pax_global_header00006660000000000000000000000064147626205160014523gustar00rootroot0000000000000052 comment=d2a4910bbefcb3ddecf2868a955ef27ec71286fc fio-3.39/000077500000000000000000000000001476262051600122365ustar00rootroot00000000000000fio-3.39/.github/000077500000000000000000000000001476262051600135765ustar00rootroot00000000000000fio-3.39/.github/ISSUE_TEMPLATE.md000066400000000000000000000003501476262051600163010ustar00rootroot00000000000000**Please acknowledge you have done the following before creating a ticket** - [ ] I have read the GitHub issues section of [REPORTING-BUGS](../blob/master/REPORTING-BUGS). fio-3.39/.github/ISSUE_TEMPLATE/000077500000000000000000000000001476262051600157615ustar00rootroot00000000000000fio-3.39/.github/ISSUE_TEMPLATE/bug-report.md000066400000000000000000000010761476262051600203750ustar00rootroot00000000000000--- name: Report a bug about: For bugs that are reproducible with the latest fio releases --- **Please acknowledge the following before creating a ticket** - [ ] I have read the GitHub issues section of [REPORTING-BUGS](../blob/master/REPORTING-BUGS). **Description of the bug:** **Environment**: **fio version**: **Reproduction steps** fio-3.39/.github/ISSUE_TEMPLATE/config.yml000066400000000000000000000004011476262051600177440ustar00rootroot00000000000000blank_issues_enabled: true contact_links: - name: General questions (e.g. "How do I...", "Why is...") that are related to fio url: http://vger.kernel.org/vger-lists.html#fio about: Please send questions to the fio mailing list (plain-text emails ONLY) fio-3.39/.github/ISSUE_TEMPLATE/enhancement.md000066400000000000000000000004741476262051600205750ustar00rootroot00000000000000--- name: Feature enhancement request about: Suggest a new fio feature labels: enhancement --- **Description of the new feature** fio-3.39/.github/PULL_REQUEST_TEMPLATE.md000066400000000000000000000011261476262051600173770ustar00rootroot00000000000000Please confirm that your commit message(s) follow these guidelines: 1. First line is a commit title, a descriptive one-liner for the change 2. Empty second line 3. Commit message body that explains why the change is useful. Break lines that aren't something like a URL at 72-74 chars. 4. Empty line 5. Signed-off-by: Real Name Reminders: 1. If you modify struct thread_options, also make corresponding changes in cconv.c and bump FIO_SERVER_VER in server.h 2. If you change the ioengine interface (hooks, flags, etc), remember to bump FIO_IOOPS_VERSION in ioengines.h. fio-3.39/.github/SUPPORT.md000066400000000000000000000027251476262051600153020ustar00rootroot00000000000000# Getting support for fio ## General questions Please use the fio mailing list for asking general fio questions (e.g. "How do I do X?", "Why does Y happen?"). See the Mailing list section of the [README][readme] for details). ## Reporting bugs As mentioned in [REPORTING-BUGS][reportingbugs], fio bugs and enhancements can be reported to the fio mailing list or fio's GitHub issues tracker. When reporting bugs please include ALL of the following: - Description of the issue - fio version number tested. If your fio isn't among the recent releases (see the [fio releases page][releases]) please build a new one from source (see the Source and Building sections of the [README][readme] for how to do this) and reproduce the issue with the fresh build before filing an issue. - Reproduction steps and minimal job file/command line parameters. When requesting an enhancement only the description is needed. ### GitHub issues specific information [Formatting terminal output with markdown][quotingcode] will help people who are reading your report. However, if the output is large (e.g. over 15 lines long) please consider including it as a text attachment. Avoid attaching pictures of screenshots as these are not searchable/selectable. [readme]: ../README [reportingbugs]: ../REPORTING-BUGS [releases]: ../../../releases [quotingcode]: https://docs.github.com/en/free-pro-team@latest/github/writing-on-github/basic-writing-and-formatting-syntax#quoting-code fio-3.39/.github/actions/000077500000000000000000000000001476262051600152365ustar00rootroot00000000000000fio-3.39/.github/actions/build-qemu/000077500000000000000000000000001476262051600173025ustar00rootroot00000000000000fio-3.39/.github/actions/build-qemu/action.yml000066400000000000000000000016701476262051600213060ustar00rootroot00000000000000name: 'Build and Install QEMU on Ubuntu' desription: 'Build QEMU and Install on Ubuntu' inputs: version: # What QEMU version to build/install description: 'QEMU version to build and install' required: false default: '9.1.0' runs: using: "composite" steps: - name: Install QEMU build dependencies run: sudo apt update && sudo apt-get -qq install libglib2.0-dev libfdt-dev libpixman-1-dev ninja-build flex bison libsdl2-dev libaio-dev python3-tomli libslirp-dev shell: bash - name: Build and install QEMU run: | wget -nv https://download.qemu.org/qemu-$INPUT_VER.tar.xz tar xJf qemu-$INPUT_VER.tar.xz rm qemu-$INPUT_VER.tar.xz cd qemu-$INPUT_VER ./configure --enable-kvm --target-list=x86_64-softmmu make -j $(nproc) sudo make install cd .. rm -rf qemu-$INPUT_VER shell: bash env: INPUT_VER: ${{ inputs.version }} fio-3.39/.github/actions/create-guest-image/000077500000000000000000000000001476262051600207065ustar00rootroot00000000000000fio-3.39/.github/actions/create-guest-image/action.yml000066400000000000000000000032271476262051600227120ustar00rootroot00000000000000name: 'Create guest image' description: 'Create VM guest image on Ubuntu runner' inputs: distro: description: 'Linux distribution to use for guest image' required: false default: 'debian-12' extra_pkgs: description: 'Extra packages to install for guest image' required: false default: runs: using: "composite" steps: - name: Install libguestfs run: sudo apt update && sudo apt-get -qq install libguestfs-tools shell: bash - name: Setup steps for virt-builder run: | sudo chmod a+r /boot/vmlinuz* sudo chmod 0666 /dev/kvm ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa shell: bash - name: Create Debian image run: | virt-builder ${{ inputs.distro }} \ --quiet \ --hostname fio-tester \ --ssh-inject root \ --run-command "ssh-keygen -A" \ --run-command "sed -i 's/ens2/enp0s2/g' /etc/network/interfaces" \ --append-line '/etc/environment:PYTHONUNBUFFERED=1' \ --append-line '/etc/environment:GITHUB_SERVER_URL=${{ github.server_url }}' \ --append-line '/etc/environment:GITHUB_REPOSITORY=${{ github.repository }}' \ --append-line '/etc/environment:GITHUB_REF=${{ github.ref }}' \ --append-line '/etc/environment:GITHUB_SHA=${{ github.sha }}' \ --append-line '/etc/environment:GITHUB_JOB=${{ github.job }}' \ --append-line '/etc/environment:EXTRA_PKGS=${{ inputs.extra_pkgs }}' \ --append-line '/etc/environment:CI_TARGET_BUILD=${{ env.CI_TARGET_BUILD }}' \ --append-line '/etc/environment:CI_TARGET_OS=${{ env.CI_TARGET_OS }}' shell: bash fio-3.39/.github/actions/start-vm/000077500000000000000000000000001476262051600170135ustar00rootroot00000000000000fio-3.39/.github/actions/start-vm/action.yml000066400000000000000000000030641476262051600210160ustar00rootroot00000000000000name: 'Start QEMU VM' description: 'Start QEMU virtual machine' inputs: qemu: # QEMU binary to use required: false default: "qemu-system-x86_64" image: # VM image file required: true ssh_fwd_port: # forward this host port to the guest's SSH port required: false default: 2022 options: # Custom QEMU invocation options no \n at the end! required: false ram: # how much RAM to allocate to VM required: false default: "12G" host_key: # If true add guest host key to known_hosts required: false default: "false" runs: using: "composite" steps: - name: install wait-for-it shell: bash run: sudo apt update && sudo apt-get -qq install wait-for-it - name: Start VM in background shell: bash run: | ${{ inputs.qemu }} \ -cpu host \ -drive file=${{ inputs.image }},format=raw,if=virtio \ -enable-kvm \ -smp $(nproc) \ -nographic \ -m ${{ inputs.ram }} \ -display none \ -machine q35,accel=kvm \ -nic user,model=virtio-net-pci,hostfwd=tcp::${{ inputs.ssh_fwd_port }}-:22 \ ${{ inputs.options }} \ & - name: Wait for VM to boot shell: bash run: | wait-for-it localhost:${{ inputs.ssh_fwd_port }} -t 15 sleep 3 - name: Add guest host key to known_hosts shell: bash run: | if echo ${{ inputs.host_key }} | grep -c "true" then ssh root@localhost -p ${{ inputs.ssh_fwd_port }} -o StrictHostKeyChecking=no echo fi fio-3.39/.github/workflows/000077500000000000000000000000001476262051600156335ustar00rootroot00000000000000fio-3.39/.github/workflows/ci.yml000066400000000000000000000124711476262051600167560ustar00rootroot00000000000000name: CI on: push: pull_request: workflow_dispatch: schedule: - cron: "35 5 * * *" # 5:35 UTC which is 0:35 ET jobs: build-containers: runs-on: ubuntu-latest strategy: fail-fast: false matrix: container: - {os: 'debian', dh: 'debian', ver: 'bookworm', target_arch: 'x86_64'} - {os: 'fedora', dh: 'fedora', ver: '40', target_arch: 'x86_64'} - {os: 'alma', dh: 'almalinux', ver: '9', target_arch: 'x86_64'} - {os: 'oracle', dh: 'oraclelinux', ver: '9', target_arch: 'x86_64'} - {os: 'rocky', dh: 'rockylinux', ver: '9', target_arch: 'x86_64'} - {os: 'ubuntu', dh: 'ubuntu', ver: 'noble', target_arch: 'i686'} - {os: 'ubuntu', dh: 'ubuntu', ver: 'noble', target_arch: 'x86_64'} container: image: ${{ matrix.container.dh }}:${{ matrix.container.ver }} env: CI_TARGET_BUILD: Linux CI_TARGET_ARCH: ${{ matrix.container.target_arch }} CI_TARGET_OS: ${{ matrix.container.os }} CI_TARGET_OS_VER: ${{ matrix.container.ver }} steps: - name: Checkout repo uses: actions/checkout@v4 - name: Install dependencies run: ./ci/actions-install.sh - name: Build run: ./ci/actions-build.sh - name: Smoke test run: ./ci/actions-smoke-test.sh - name: Full test run: ./ci/actions-full-test.sh build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: build: - linux-gcc - linux-clang - macos - linux-i686-gcc - android - windows-cygwin-64 - windows-cygwin-32 - windows-msys2-64 include: - build: linux-gcc os: ubuntu-22.04 cc: gcc - build: linux-clang os: ubuntu-22.04 cc: clang - build: macos os: macos-13 - build: linux-i686-gcc os: ubuntu-22.04 arch: i686 - build: android os: ubuntu-22.04 arch: aarch64-linux-android32 - build: android-recovery os: ubuntu-22.04 arch: aarch64-linux-android32 - build: windows-cygwin-64 os: windows-latest arch: x86_64 installer_arch: x64 shell: bash - build: windows-cygwin-32 os: windows-latest arch: i686 installer_arch: x86 shell: bash - build: windows-msys2-64 os: windows-latest cc: clang arch: x86_64 installer_arch: x64 shell: msys2 env: CI_TARGET_BUILD: ${{ matrix.build }} CI_TARGET_ARCH: ${{ matrix.arch }} CC: ${{ matrix.cc }} steps: - name: git config line endings (Windows) if: ${{ contains( matrix.build, 'windows' ) }} run: git config --global core.autocrlf input - name: Checkout repo uses: actions/checkout@v4 - name: Install Cygwin toolchain (Windows) if: ${{ startsWith(matrix.build, 'windows-cygwin') }} uses: cygwin/cygwin-install-action@master with: packages: > mingw64-${{matrix.arch}}-binutils mingw64-${{matrix.arch}}-CUnit mingw64-${{matrix.arch}}-curl mingw64-${{matrix.arch}}-dlfcn mingw64-${{matrix.arch}}-gcc-core mingw64-${{matrix.arch}}-headers mingw64-${{matrix.arch}}-runtime mingw64-${{matrix.arch}}-zlib - name: Install msys2 toolchain (Windows) if: ${{ startsWith(matrix.build, 'windows-msys2') }} uses: msys2/setup-msys2@v2 with: install: > git base-devel mingw-w64-${{matrix.arch}}-clang mingw-w64-${{matrix.arch}}-cunit mingw-w64-${{matrix.arch}}-toolchain mingw-w64-${{matrix.arch}}-lld mingw-w64-${{matrix.arch}}-python-scipy mingw-w64-${{matrix.arch}}-python-six mingw-w64-${{matrix.arch}}-python-statsmodels mingw-w64-${{matrix.arch}}-python-sphinx - name: install bash 4 (macOS) if: ${{ contains( matrix.build, 'macOS' ) }} run: HOMEBREW_NO_AUTO_UPDATE=1 brew install bash - name: Install dependencies run: ${{matrix.shell}} ./ci/actions-install.sh if: ${{ !contains( matrix.build, 'msys2' ) }} - name: Build run: ${{matrix.shell}} ./ci/actions-build.sh - name: Build installer (Windows) if: ${{ contains( matrix.build, 'windows' ) }} shell: cmd run: | cd os\windows dobuild.cmd ${{ matrix.installer_arch }} cd ..\.. - name: Upload installer as artifact (Windows) if: ${{ contains( matrix.build, 'windows' ) }} uses: actions/upload-artifact@v4 with: name: ${{ matrix.build }}-installer path: os\windows\*.msi - name: Upload installer as release for tagged builds (Windows) uses: softprops/action-gh-release@v1 if: ${{ startsWith(github.ref, 'refs/tags/') && startsWith(matrix.build, 'windows-cygwin') }} with: files: os/windows/*.msi - name: Remove dependency files to resolve Makefile Cygwin sed issue (Windows) if: ${{ startsWith(matrix.build, 'windows-cygwin') }} run: rm *.d */*.d */*/*.d shell: bash - name: Smoke test run: ${{matrix.shell}} ./ci/actions-smoke-test.sh - name: Full test run: ${{matrix.shell}} ./ci/actions-full-test.sh fio-3.39/.github/workflows/cifuzz.yml000066400000000000000000000012321476262051600176660ustar00rootroot00000000000000name: CIFuzz on: [pull_request, workflow_dispatch] jobs: Fuzzing: runs-on: ubuntu-latest steps: - name: Build Fuzzers id: build uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master with: oss-fuzz-project-name: 'fio' dry-run: false - name: Run Fuzzers uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: oss-fuzz-project-name: 'fio' fuzz-seconds: 600 dry-run: false - name: Upload Crash uses: actions/upload-artifact@v4 if: failure() && steps.build.outcome == 'success' with: name: artifacts path: ./out/artifacts fio-3.39/.github/workflows/qemu.yml000066400000000000000000000101741476262051600173300ustar00rootroot00000000000000name: QEMU on: workflow_dispatch: schedule: - cron: "50 3 * * *" # daily at 4:50 UTC (00:50 EST) jobs: qemu-guest: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: include: - config: basic io_uring_cmd tests device: >- -device nvme,id=nvme0,serial=deadbeef -drive id=nvm-0,file=nvme0.img,format=raw,if=none,discard=unmap,media=disk -device nvme-ns,id=nvm-0,drive=nvm-0,bus=nvme0,nsid=1 test_cmd: "python3 t/run-fio-tests.py --nvmecdev /dev/ng0n1 --run-only 1014 1015" extra_pkgs: "nvme-cli" - config: 16-bit Guard PI tests (long) device: >- -device nvme,id=nvme0,serial=deadbeef -drive id=nvm-0,file=nvme0.img,format=raw,if=none,discard=unmap,media=disk -device nvme-ns,id=nvm-0,drive=nvm-0,bus=nvme0,nsid=1 test_cmd: "python3 t/nvmept_pi.py --fio ./fio --dut /dev/ng0n1" extra_pkgs: "nvme-cli" - config: 4K+16 w/64-bit Guard PI device: >- # 4K+16 w/64-bit Guard PI -device nvme,id=nvme1,serial=deadbeee -drive id=nvm-1,file=nvme0.img,format=raw,if=none,discard=unmap,media=disk -device nvme-ns,id=nvm-1,drive=nvm-1,bus=nvme1,nsid=1,pif=2,ms=16,mset=1,pi=1,pil=0,logical_block_size=4096,physical_block_size=4096 test_cmd: "python3 t/nvmept_pi.py --fio ./fio --dut /dev/ng0n1 --lbaf 6" extra_pkgs: "nvme-cli" - config: 4K+64 w/64-bit Guard PI device: >- -device nvme,id=nvme2,serial=deadeeef -drive id=nvm-2,file=nvme0.img,format=raw,if=none,discard=unmap,media=disk -device nvme-ns,id=nvm-2,drive=nvm-2,bus=nvme2,nsid=1,pif=2,ms=64,mset=1,pi=1,pil=0,logical_block_size=4096,physical_block_size=4096 test_cmd: "python3 t/nvmept_pi.py --fio ./fio --dut /dev/ng0n1 --lbaf 7" extra_pkgs: "nvme-cli" - config: FDP device: >- -device nvme-subsys,id=nvme-subsys0,fdp=on,fdp.runs=128K,fdp.nrg=8,fdp.nruh=64 -device nvme,id=nvme0,serial=deadbeef,subsys=nvme-subsys0 -drive id=nvm-1,file=nvme0.img,format=raw,if=none,discard=unmap,media=disk -device nvme-ns,id=nvm-1,drive=nvm-1,bus=nvme0,nsid=1,logical_block_size=4096,physical_block_size=4096,fdp.ruhs=0-63 test_cmd: "nvme fdp status /dev/ng0n1 && python3 t/nvmept_fdp.py --fio ./fio --dut /dev/ng0n1" extra_pkgs: "nvme-cli" - config: ZBD device: test_cmd: "./t/zbd/run-tests-against-nullb" extra_pkgs: sg3-utils env: DISTRO: debian-12 SSHCMD: ssh root@localhost -p 2022 SCPCMD: scp -P 2022 CI_TARGET_BUILD: linux CI_TARGET_OS: debian steps: - name: Check out repository uses: actions/checkout@v4 - name: Create tarball containing repository run: | git archive --format=tar.gz -o fio-src.tar.gz --prefix=fio/ HEAD git log -1 - name: Create guest VM image uses: ./.github/actions/create-guest-image with: distro: ${{ env.DISTRO }} extra_pkgs: ${{ matrix.extra_pkgs }} - name: Build and install QEMU uses: ./.github/actions/build-qemu - name: Create backing file for NVMe device run: truncate -s 1G nvme0.img - name: Start VM uses: ./.github/actions/start-vm with: image: ${{ env.DISTRO }}.img host_key: true options: ${{ matrix.device }} - name: Transfer fio source to guest run: | $SCPCMD fio-src.tar.gz root@localhost:/root/ $SSHCMD "tar xzf fio-src.tar.gz" - name: Install dependencies on guest run: $SSHCMD "cd fio && ./ci/actions-install.sh" - name: Build fio on guest run: $SSHCMD "cd fio && ./ci/actions-build.sh" - name: Show nvme device configuration if: ${{ contains( matrix.extra_pkgs, 'nvme-cli' ) }} run: | $SSHCMD "nvme id-ns /dev/ng0n1 -H" $SSHCMD "nvme nvm-id-ns /dev/ng0n1 -v" - name: Run test run: $SSHCMD "cd fio && ${{ matrix.test_cmd }}" fio-3.39/.gitignore000066400000000000000000000006231476262051600142270ustar00rootroot00000000000000*.d *.o *.so *.exe /.depend /FIO-VERSION-FILE /config-host.h /config-host.mak /config.log /cscope.out /fio /gfio /t/axmap /t/fio-btrace2fio /t/fio-dedupe /t/fio-genzipf /t/fio-verify-state /t/gen-rand /t/ieee754 t/io_uring /t/lfsr-test t/memlock t/read-to-pipe-async /t/stest /unittests/unittest y.tab.* lex.yy.c *.un~ doc/output /tags /TAGS /t/zbd/test-zbd-support.log.* /t/fuzz/fuzz_parseini tsc-rate fio-3.39/.readthedocs.yaml000066400000000000000000000006121476262051600154640ustar00rootroot00000000000000# .readthedocs.yaml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # Required version: 2 build: os: ubuntu-22.04 tools: python: "3" # Build documentation in the docs/ directory with Sphinx sphinx: configuration: doc/conf.py # Optionally build your docs in additional formats such as PDF formats: - epub - pdf fio-3.39/CITATION.cff000066400000000000000000000003701476262051600141300ustar00rootroot00000000000000cff-version: 1.2.0 preferred-citation: type: software authors: - family-names: "Axboe" given-names: "Jens" email: axboe@kernel.dk title: "Flexible I/O Tester" year: 2022 url: "https://github.com/axboe/fio" licence: GNU GPL v2.0 fio-3.39/COPYING000066400000000000000000000432541476262051600133010ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. fio-3.39/DEDUPE-TODO000066400000000000000000000014501476262051600136720ustar00rootroot00000000000000- Shifted dedup-able data. Allow for dedup buffer generation to shift contents by random number of sectors (fill the gaps with uncompressible data). Some storage subsystems modernized the deduplication detection algorithms to look for shifted data as well. For example, some databases push a timestamp on the prefix of written blocks, which makes the underlying data dedup-able in different alignment. FIO should be able to simulate such workload. - Generation of similar data (but not exact). A rising trend in enterprise storage systems. Generation of "similar" data means random uncompressible buffers that differ by few(configurable number of) bits from each other. The storage subsystem usually identifies the similar buffers using locality-sensitive hashing or other methods. fio-3.39/FIO-VERSION-GEN000077500000000000000000000013231476262051600143320ustar00rootroot00000000000000#!/bin/sh GVF=FIO-VERSION-FILE DEF_VER=fio-3.39 LF=' ' # First see if there is a version file (included in release tarballs), # then try git-describe, then default. if test -f version then VN=`cat version` || VN="$DEF_VER" elif test -d .git -o -f .git && VN=`git describe --match "fio-[0-9]*" --abbrev=4 HEAD 2>/dev/null` && case "$VN" in *$LF*) (exit 1) ;; fio-[0-9]*) git update-index -q --refresh test -z "`git diff-index --name-only HEAD --`" || VN="$VN-dirty" ;; esac then VN=$VN else VN="$DEF_VER" fi VN=`expr "$VN" : v*'\(.*\)'` if test -r $GVF then VC=`sed -e 's/^FIO_VERSION = //' <$GVF` else VC=unset fi test "$VN" = "$VC" || { echo >&2 "FIO_VERSION = $VN" echo "FIO_VERSION = $VN" >$GVF } fio-3.39/GFIO-TODO000066400000000000000000000036071476262051600134560ustar00rootroot00000000000000In no particular order: - Ability to save job files. Probably in an extended gfio format, so we can include options/settings outside of a fio job file. - End view improvements: - Cleanup the layout - Add ability to save the results - Add ability to load end-results as well - Add ability to request graphs of whatever graphing options the fio job included. - Add ability to graph completion latencies, percentiles, etc. - Add ability to edit job options: - We need an options view after sending a job, that allows us to visually see what was parsed, make changes, resubmit. - Job options are already converted across the network and are available in gfio_client->o for view/edit. We'll need a FIO_NET_CMD_UPDATE_OPTIONS command to send them back, and backend support for updating an existing set of options. - Add support for printing end results, graphs, etc. - Improve the auto-start backend functionality, it's quite buggy. - Ensure that it works on OSX and Windows. We'll need a bit of porting work there. - Persistent store of prefences set. This will need a per-OS bit as well, using gfonf on Linux, registry on Windows, ?? on OSX. - Ensure that local errors go to our log, instead of being displayed on the console. - Ensure that the whole connect/send/start button logic is sane. Right now it works when you perform the right sequence, but if you connect and disconnect, things can get confused. We'll need to improve how we store and send job files. Right now they are in ge->job_files[] and are always emptied on send. Keep them around? - Commit rate display is not enabled. - Group status reporting is not enabled. - Split gfio.c a bit. Add gfio/ sub directory, and split it into files based on functionality. It's already ~3000 lines long. - Attempt to ensure that we work with gtk 2.10 and newer. Right now the required version is ~2.18 (not quite known). fio-3.39/HOWTO.rst000066400000000000000000006402411476262051600136770ustar00rootroot00000000000000How fio works ------------- The first step in getting fio to simulate a desired I/O workload, is writing a job file describing that specific setup. A job file may contain any number of threads and/or files -- the typical contents of the job file is a *global* section defining shared parameters, and one or more job sections describing the jobs involved. When run, fio parses this file and sets everything up as described. If we break down a job from top to bottom, it contains the following basic parameters: `I/O type`_ Defines the I/O pattern issued to the file(s). We may only be reading sequentially from this file(s), or we may be writing randomly. Or even mixing reads and writes, sequentially or randomly. Should we be doing buffered I/O, or direct/raw I/O? `Block size`_ In how large chunks are we issuing I/O? This may be a single value, or it may describe a range of block sizes. `I/O size`_ How much data are we going to be reading/writing. `I/O engine`_ How do we issue I/O? We could be memory mapping the file, we could be using regular read/write, we could be using splice, async I/O, or even SG (SCSI generic sg). `I/O depth`_ If the I/O engine is async, how large a queuing depth do we want to maintain? `Target file/device`_ How many files are we spreading the workload over. `Threads, processes and job synchronization`_ How many threads or processes should we spread this workload over. The above are the basic parameters defined for a workload, in addition there's a multitude of parameters that modify other aspects of how this job behaves. Command line options -------------------- .. option:: --debug=type Enable verbose tracing `type` of various fio actions. May be ``all`` for all types or individual types separated by a comma (e.g. ``--debug=file,mem`` will enable file and memory debugging). Currently, additional logging is available for: *process* Dump info related to processes. *file* Dump info related to file actions. *io* Dump info related to I/O queuing. *mem* Dump info related to memory allocations. *blktrace* Dump info related to blktrace setup. *verify* Dump info related to I/O verification. *all* Enable all debug options. *random* Dump info related to random offset generation. *parse* Dump info related to option matching and parsing. *diskutil* Dump info related to disk utilization updates. *job:x* Dump info only related to job number x. *mutex* Dump info only related to mutex up/down ops. *profile* Dump info related to profile extensions. *time* Dump info related to internal time keeping. *net* Dump info related to networking connections. *rate* Dump info related to I/O rate switching. *compress* Dump info related to log compress/decompress. *steadystate* Dump info related to steadystate detection. *helperthread* Dump info related to the helper thread. *zbd* Dump info related to support for zoned block devices. *?* or *help* Show available debug options. .. option:: --parse-only Parse options only, don't start any I/O. .. option:: --merge-blktrace-only Merge blktraces only, don't start any I/O. .. option:: --output=filename Write output to file `filename`. .. option:: --output-format=format Set the reporting `format` to `normal`, `terse`, `json`, or `json+`. Multiple formats can be selected, separated by a comma. `terse` is a CSV based format. `json+` is like `json`, except it adds a full dump of the latency buckets. .. option:: --bandwidth-log Generate aggregate bandwidth logs. .. option:: --minimal Print statistics in a terse, semicolon-delimited format. .. option:: --append-terse Print statistics in selected mode AND terse, semicolon-delimited format. **Deprecated**, use :option:`--output-format` instead to select multiple formats. .. option:: --terse-version=version Set terse `version` output format (default 3, or 2 or 4 or 5). .. option:: --version Print version information and exit. .. option:: --help Print a summary of the command line options and exit. .. option:: --cpuclock-test Perform test and validation of internal CPU clock. .. option:: --crctest=[test] Test the speed of the built-in checksumming functions. If no argument is given, all of them are tested. Alternatively, a comma separated list can be passed, in which case the given ones are tested. .. option:: --cmdhelp=command Print help information for `command`. May be ``all`` for all commands. .. option:: --enghelp=[ioengine[,command]] List all commands defined by `ioengine`, or print help for `command` defined by `ioengine`. If no `ioengine` is given, list all available ioengines. .. option:: --showcmd Convert given job files to a set of command-line options. .. option:: --readonly Turn on safety read-only checks, preventing writes and trims. The ``--readonly`` option is an extra safety guard to prevent users from accidentally starting a write or trim workload when that is not desired. Fio will only modify the device under test if `rw=write/randwrite/rw/randrw/trim/randtrim/trimwrite` is given. This safety net can be used as an extra precaution. .. option:: --eta=when Specifies when real-time ETA estimate should be printed. `when` may be `always`, `never` or `auto`. `auto` is the default, it prints ETA when requested if the output is a TTY. `always` disregards the output type, and prints ETA when requested. `never` never prints ETA. .. option:: --eta-interval=time By default, fio requests client ETA status roughly every second. With this option, the interval is configurable. Fio imposes a minimum allowed time to avoid flooding the console, less than 250 msec is not supported. .. option:: --eta-newline=time Force a new line for every `time` period passed. When the unit is omitted, the value is interpreted in seconds. .. option:: --status-interval=time Force a full status dump of cumulative (from job start) values at `time` intervals. This option does *not* provide per-period measurements. So values such as bandwidth are running averages. When the time unit is omitted, `time` is interpreted in seconds. Note that using this option with ``--output-format=json`` will yield output that technically isn't valid json, since the output will be collated sets of valid json. It will need to be split into valid sets of json after the run. .. option:: --section=name Only run specified section `name` in job file. Multiple sections can be specified. The ``--section`` option allows one to combine related jobs into one file. E.g. one job file could define light, moderate, and heavy sections. Tell fio to run only the "heavy" section by giving ``--section=heavy`` command line option. One can also specify the "write" operations in one section and "verify" operation in another section. The ``--section`` option only applies to job sections. The reserved *global* section is always parsed and used. .. option:: --alloc-size=kb Allocate additional internal smalloc pools of size `kb` in KiB. The ``--alloc-size`` option increases shared memory set aside for use by fio. If running large jobs with randommap enabled, fio can run out of memory. Smalloc is an internal allocator for shared structures from a fixed size memory pool and can grow to 16 pools. The pool size defaults to 16MiB. NOTE: While running :file:`.fio_smalloc.*` backing store files are visible in :file:`/tmp`. .. option:: --warnings-fatal All fio parser warnings are fatal, causing fio to exit with an error. .. option:: --max-jobs=nr Set the maximum number of threads/processes to support to `nr`. NOTE: On Linux, it may be necessary to increase the shared-memory limit (:file:`/proc/sys/kernel/shmmax`) if fio runs into errors while creating jobs. .. option:: --server=args Start a backend server, with `args` specifying what to listen to. See `Client/Server`_ section. .. option:: --daemonize=pidfile Background a fio server, writing the pid to the given `pidfile` file. .. option:: --client=hostname Instead of running the jobs locally, send and run them on the given `hostname` or set of `hostname`\s. See `Client/Server`_ section. .. option:: --remote-config=file Tell fio server to load this local `file`. .. option:: --idle-prof=option Report CPU idleness. `option` is one of the following: **calibrate** Run unit work calibration only and exit. **system** Show aggregate system idleness and unit work. **percpu** As **system** but also show per CPU idleness. .. option:: --inflate-log=log Inflate and output compressed `log`. .. option:: --trigger-file=file Execute trigger command when `file` exists. .. option:: --trigger-timeout=time Execute trigger at this `time`. .. option:: --trigger=command Set this `command` as local trigger. .. option:: --trigger-remote=command Set this `command` as remote trigger. .. option:: --aux-path=path Use the directory specified by `path` for generated state files instead of the current working directory. Any parameters following the options will be assumed to be job files, unless they match a job file parameter. Multiple job files can be listed and each job file will be regarded as a separate group. Fio will :option:`stonewall` execution between each group. Job file format --------------- As previously described, fio accepts one or more job files describing what it is supposed to do. The job file format is the classic ini file, where the names enclosed in [] brackets define the job name. You are free to use any ASCII name you want, except *global* which has special meaning. Following the job name is a sequence of zero or more parameters, one per line, that define the behavior of the job. If the first character in a line is a ';' or a '#', the entire line is discarded as a comment. A *global* section sets defaults for the jobs described in that file. A job may override a *global* section parameter, and a job file may even have several *global* sections if so desired. A job is only affected by a *global* section residing above it. The :option:`--cmdhelp` option also lists all options. If used with a `command` argument, :option:`--cmdhelp` will detail the given `command`. See the `examples/` directory for inspiration on how to write job files. Note the copyright and license requirements currently apply to `examples/` files. So let's look at a really simple job file that defines two processes, each randomly reading from a 128MiB file: .. code-block:: ini ; -- start job file -- [global] rw=randread size=128m [job1] [job2] ; -- end job file -- As you can see, the job file sections themselves are empty as all the described parameters are shared. As no :option:`filename` option is given, fio makes up a `filename` for each of the jobs as it sees fit. On the command line, this job would look as follows:: $ fio --name=global --rw=randread --size=128m --name=job1 --name=job2 Let's look at an example that has a number of processes writing randomly to files: .. code-block:: ini ; -- start job file -- [random-writers] ioengine=libaio iodepth=4 rw=randwrite bs=32k direct=0 size=64m numjobs=4 ; -- end job file -- Here we have no *global* section, as we only have one job defined anyway. We want to use async I/O here, with a depth of 4 for each file. We also increased the buffer size used to 32KiB and define numjobs to 4 to fork 4 identical jobs. The result is 4 processes each randomly writing to their own 64MiB file. Instead of using the above job file, you could have given the parameters on the command line. For this case, you would specify:: $ fio --name=random-writers --ioengine=libaio --iodepth=4 --rw=randwrite --bs=32k --direct=0 --size=64m --numjobs=4 When fio is utilized as a basis of any reasonably large test suite, it might be desirable to share a set of standardized settings across multiple job files. Instead of copy/pasting such settings, any section may pull in an external :file:`filename.fio` file with *include filename* directive, as in the following example:: ; -- start job file including.fio -- [global] filename=/tmp/test filesize=1m include glob-include.fio [test] rw=randread bs=4k time_based=1 runtime=10 include test-include.fio ; -- end job file including.fio -- .. code-block:: ini ; -- start job file glob-include.fio -- thread=1 group_reporting=1 ; -- end job file glob-include.fio -- .. code-block:: ini ; -- start job file test-include.fio -- ioengine=libaio iodepth=4 ; -- end job file test-include.fio -- Settings pulled into a section apply to that section only (except *global* section). Include directives may be nested in that any included file may contain further include directive(s). Include files may not contain [] sections. Environment variables ~~~~~~~~~~~~~~~~~~~~~ Fio also supports environment variable expansion in job files. Any sub-string of the form ``${VARNAME}`` as part of an option value (in other words, on the right of the '='), will be expanded to the value of the environment variable called `VARNAME`. If no such environment variable is defined, or `VARNAME` is the empty string, the empty string will be substituted. As an example, let's look at a sample fio invocation and job file:: $ SIZE=64m NUMJOBS=4 fio jobfile.fio .. code-block:: ini ; -- start job file -- [random-writers] rw=randwrite size=${SIZE} numjobs=${NUMJOBS} ; -- end job file -- This will expand to the following equivalent job file at runtime: .. code-block:: ini ; -- start job file -- [random-writers] rw=randwrite size=64m numjobs=4 ; -- end job file -- Fio ships with a few example job files, you can also look there for inspiration. Reserved keywords ~~~~~~~~~~~~~~~~~ Additionally, fio has a set of reserved keywords that will be replaced internally with the appropriate value. Those keywords are: **$pagesize** The architecture page size of the running system. **$mb_memory** Megabytes of total memory in the system. **$ncpus** Number of online available CPUs. These can be used on the command line or in the job file, and will be automatically substituted with the current system values when the job is run. Simple math is also supported on these keywords, so you can perform actions like:: size=8*$mb_memory and get that properly expanded to 8 times the size of memory in the machine. Job file parameters ------------------- This section describes in details each parameter associated with a job. Some parameters take an option of a given type, such as an integer or a string. Anywhere a numeric value is required, an arithmetic expression may be used, provided it is surrounded by parentheses. Supported operators are: - addition (+) - subtraction (-) - multiplication (*) - division (/) - modulus (%) - exponentiation (^) For time values in expressions, units are microseconds by default. This is different than for time values not in expressions (not enclosed in parentheses). The following types are used: Parameter types ~~~~~~~~~~~~~~~ **str** String: A sequence of alphanumeric characters. **time** Integer with possible time suffix. Without a unit value is interpreted as seconds unless otherwise specified. Accepts a suffix of 'd' for days, 'h' for hours, 'm' for minutes, 's' for seconds, 'ms' (or 'msec') for milliseconds and 'us' (or 'usec') for microseconds. For example, use 10m for 10 minutes. .. _int: **int** Integer. A whole number value, which may contain an integer prefix and an integer suffix: [*integer prefix*] **number** [*integer suffix*] The optional *integer prefix* specifies the number's base. The default is decimal. *0x* specifies hexadecimal. The optional *integer suffix* specifies the number's units, and includes an optional unit prefix and an optional unit. For quantities of data, the default unit is bytes. For quantities of time, the default unit is seconds unless otherwise specified. With :option:`kb_base`\=1000, fio follows international standards for unit prefixes. To specify power-of-10 decimal values defined in the International System of Units (SI): * *K* -- means kilo (K) or 1000 * *M* -- means mega (M) or 1000**2 * *G* -- means giga (G) or 1000**3 * *T* -- means tera (T) or 1000**4 * *P* -- means peta (P) or 1000**5 To specify power-of-2 binary values defined in IEC 80000-13: * *Ki* -- means kibi (Ki) or 1024 * *Mi* -- means mebi (Mi) or 1024**2 * *Gi* -- means gibi (Gi) or 1024**3 * *Ti* -- means tebi (Ti) or 1024**4 * *Pi* -- means pebi (Pi) or 1024**5 For Zone Block Device Mode: * *z* -- means Zone With :option:`kb_base`\=1024 (the default), the unit prefixes are opposite from those specified in the SI and IEC 80000-13 standards to provide compatibility with old scripts. For example, 4k means 4096. For quantities of data, an optional unit of 'B' may be included (e.g., 'kB' is the same as 'k'). The *integer suffix* is not case sensitive (e.g., m/mi mean mebi/mega, not milli). 'b' and 'B' both mean byte, not bit. Examples with :option:`kb_base`\=1000: * *4 KiB*: 4096, 4096b, 4096B, 4ki, 4kib, 4kiB, 4Ki, 4KiB * *1 MiB*: 1048576, 1mi, 1024ki * *1 MB*: 1000000, 1m, 1000k * *1 TiB*: 1099511627776, 1ti, 1024gi, 1048576mi * *1 TB*: 1000000000, 1t, 1000m, 1000000k Examples with :option:`kb_base`\=1024 (default): * *4 KiB*: 4096, 4096b, 4096B, 4k, 4kb, 4kB, 4K, 4KB * *1 MiB*: 1048576, 1m, 1024k * *1 MB*: 1000000, 1mi, 1000ki * *1 TiB*: 1099511627776, 1t, 1024g, 1048576m * *1 TB*: 1000000000, 1ti, 1000mi, 1000000ki To specify times (units are not case sensitive): * *D* -- means days * *H* -- means hours * *M* -- means minutes * *s* -- or sec means seconds (default) * *ms* -- or *msec* means milliseconds * *us* -- or *usec* means microseconds If the option accepts an upper and lower range, use a colon ':' or minus '-' to separate such values. See :ref:`irange `. If the lower value specified happens to be larger than the upper value the two values are swapped. .. _bool: **bool** Boolean. Usually parsed as an integer, however only defined for true and false (1 and 0). .. _irange: **irange** Integer range with suffix. Allows value range to be given, such as 1024-4096. A colon may also be used as the separator, e.g. 1k:4k. If the option allows two sets of ranges, they can be specified with a ',' or '/' delimiter: 1k-4k/8k-32k. Also see :ref:`int `. **float_list** A list of floating point numbers, separated by a ':' character. With the above in mind, here follows the complete list of fio job parameters. Units ~~~~~ .. option:: kb_base=int Select the interpretation of unit prefixes in input parameters. **1000** Inputs comply with IEC 80000-13 and the International System of Units (SI). Use: - power-of-2 values with IEC prefixes (e.g., KiB) - power-of-10 values with SI prefixes (e.g., kB) **1024** Compatibility mode (default). To avoid breaking old scripts: - power-of-2 values with SI prefixes - power-of-10 values with IEC prefixes See :option:`bs` for more details on input parameters. Outputs always use correct prefixes. Most outputs include both side-by-side, like:: bw=2383.3kB/s (2327.4KiB/s) If only one value is reported, then kb_base selects the one to use: **1000** -- SI prefixes **1024** -- IEC prefixes .. option:: unit_base=int Base unit for reporting. Allowed values are: **0** Use auto-detection (default). **8** Byte based. **1** Bit based. Job description ~~~~~~~~~~~~~~~ .. option:: name=str ASCII name of the job. This may be used to override the name printed by fio for this job. Otherwise the job name is used. On the command line this parameter has the special purpose of also signaling the start of a new job. .. option:: description=str Text description of the job. Doesn't do anything except dump this text description when this job is run. It's not parsed. .. option:: loops=int Run the specified number of iterations of this job. Used to repeat the same workload a given number of times. Defaults to 1. .. option:: numjobs=int Create the specified number of clones of this job. Each clone of job is spawned as an independent thread or process. May be used to setup a larger number of threads/processes doing the same thing. Each thread is reported separately; to see statistics for all clones as a whole, use :option:`group_reporting` in conjunction with :option:`new_group`. See :option:`--max-jobs`. Default: 1. Time related parameters ~~~~~~~~~~~~~~~~~~~~~~~ .. option:: runtime=time Limit runtime. The test will run until it completes the configured I/O workload or until it has run for this specified amount of time, whichever occurs first. It can be quite hard to determine for how long a specified job will run, so this parameter is handy to cap the total runtime to a given time. When the unit is omitted, the value is interpreted in seconds. .. option:: time_based If set, fio will run for the duration of the :option:`runtime` specified even if the file(s) are completely read or written. It will simply loop over the same workload as many times as the :option:`runtime` allows. .. option:: startdelay=irange(time) Delay the start of job for the specified amount of time. Can be a single value or a range. When given as a range, each thread will choose a value randomly from within the range. Value is in seconds if a unit is omitted. .. option:: ramp_time=time If set, fio will run the specified workload for this amount of time before logging any performance numbers. Useful for letting performance settle before logging results, thus minimizing the runtime required for stable results. Note that the ``ramp_time`` is considered lead in time for a job, thus it will increase the total runtime if a special timeout or :option:`runtime` is specified. When the unit is omitted, the value is given in seconds. .. option:: clocksource=str Use the given clocksource as the base of timing. The supported options are: **gettimeofday** :manpage:`gettimeofday(2)` **clock_gettime** :manpage:`clock_gettime(2)` **cpu** Internal CPU clock source cpu is the preferred clocksource if it is reliable, as it is very fast (and fio is heavy on time calls). Fio will automatically use this clocksource if it's supported and considered reliable on the system it is running on, unless another clocksource is specifically set. For x86/x86-64 CPUs, this means supporting TSC Invariant. .. option:: gtod_reduce=bool Enable all of the :manpage:`gettimeofday(2)` reducing options (:option:`disable_clat`, :option:`disable_slat`, :option:`disable_bw_measurement`) plus reduce precision of the timeout somewhat to really shrink the :manpage:`gettimeofday(2)` call count. With this option enabled, we only do about 0.4% of the :manpage:`gettimeofday(2)` calls we would have done if all time keeping was enabled. .. option:: gtod_cpu=int Sometimes it's cheaper to dedicate a single thread of execution to just getting the current time. Fio (and databases, for instance) are very intensive on :manpage:`gettimeofday(2)` calls. With this option, you can set one CPU aside for doing nothing but logging current time to a shared memory location. Then the other threads/processes that run I/O workloads need only copy that segment, instead of entering the kernel with a :manpage:`gettimeofday(2)` call. The CPU set aside for doing these time calls will be excluded from other uses. Fio will manually clear it from the CPU mask of other jobs. .. option:: job_start_clock_id=int The clock_id passed to the call to `clock_gettime` used to record job_start in the `json` output format. Default is 0, or CLOCK_REALTIME. Target file/device ~~~~~~~~~~~~~~~~~~ .. option:: directory=str Prefix filenames with this directory. Used to place files in a different location than :file:`./`. You can specify a number of directories by separating the names with a ':' character. These directories will be assigned equally distributed to job clones created by :option:`numjobs` as long as they are using generated filenames. If specific `filename(s)` are set fio will use the first listed directory, and thereby matching the `filename` semantic (which generates a file for each clone if not specified, but lets all clones use the same file if set). See the :option:`filename` option for information on how to escape "``:``" characters within the directory path itself. Note: To control the directory fio will use for internal state files use :option:`--aux-path`. .. option:: filename=str Fio normally makes up a `filename` based on the job name, thread number, and file number (see :option:`filename_format`). If you want to share files between threads in a job or several jobs with fixed file paths, specify a `filename` for each of them to override the default. If the ioengine is file based, you can specify a number of files by separating the names with a ':' colon. So if you wanted a job to open :file:`/dev/sda` and :file:`/dev/sdb` as the two working files, you would use ``filename=/dev/sda:/dev/sdb``. This also means that whenever this option is specified, :option:`nrfiles` is ignored. The size of regular files specified by this option will be :option:`size` divided by number of files unless an explicit size is specified by :option:`filesize`. Each colon in the wanted path must be escaped with a ``\`` character. For instance, if the path is :file:`/dev/dsk/foo@3,0:c` then you would use ``filename=/dev/dsk/foo@3,0\:c`` and if the path is :file:`F:\\filename` then you would use ``filename=F\:\filename``. On Windows, disk devices are accessed as :file:`\\\\.\\PhysicalDrive0` for the first device, :file:`\\\\.\\PhysicalDrive1` for the second etc. Note: Windows and FreeBSD (refer to geom(4)) prevent write access to areas of the disk containing in-use data (e.g. filesystems). For HTTP and S3 access, specify a valid URL path or S3 key, respectively. A filename for path-style S3 includes a bucket name (:file:`/bucket/k/e.y`) while a virtual-hosted-style S3 filename :file:`/k/e.y` does not because its bucket name is specified in :option:`http_host`. The filename "`-`" is a reserved name, meaning *stdin* or *stdout*. Which of the two depends on the read/write direction set. .. option:: filename_format=str If sharing multiple files between jobs, it is usually necessary to have fio generate the exact names that you want. By default, fio will name a file based on the default file format specification of :file:`jobname.jobnumber.filenumber`. With this option, that can be customized. Fio will recognize and replace the following keywords in this string: **$jobname** The name of the worker thread or process. **$clientuid** IP of the fio process when using client/server mode. **$jobnum** The incremental number of the worker thread or process. **$filenum** The incremental number of the file for that worker thread or process. To have dependent jobs share a set of files, this option can be set to have fio generate filenames that are shared between the two. For instance, if :file:`testfiles.$filenum` is specified, file number 4 for any job will be named :file:`testfiles.4`. The default of :file:`$jobname.$jobnum.$filenum` will be used if no other format specifier is given. If you specify a path then the directories will be created up to the main directory for the file. So for example if you specify ``filename_format=a/b/c/$jobnum`` then the directories a/b/c will be created before the file setup part of the job. If you specify :option:`directory` then the path will be relative that directory, otherwise it is treated as the absolute path. .. option:: unique_filename=bool To avoid collisions between networked clients, fio defaults to prefixing any generated filenames (with a directory specified) with the source of the client connecting. To disable this behavior, set this option to 0. .. option:: opendir=str Recursively open any files below directory `str`. This accepts only a single directory and unlike related options, colons appearing in the path must not be escaped. .. option:: lockfile=str Fio defaults to not locking any files before it does I/O to them. If a file or file descriptor is shared, fio can serialize I/O to that file to make the end result consistent. This is usual for emulating real workloads that share files. The lock modes are: **none** No locking. The default. **exclusive** Only one thread or process may do I/O at a time, excluding all others. **readwrite** Read-write locking on the file. Many readers may access the file at the same time, but writes get exclusive access. .. option:: nrfiles=int Number of files to use for this job. Defaults to 1. The size of files will be :option:`size` divided by this unless explicit size is specified by :option:`filesize`. Files are created for each thread separately, and each file will have a file number within its name by default, as explained in :option:`filename` section. .. option:: openfiles=int Number of files to keep open at the same time. Defaults to the same as :option:`nrfiles`, can be set smaller to limit the number simultaneous opens. .. option:: file_service_type=str Defines how fio decides which file from a job to service next. The following types are defined: **random** Choose a file at random. **roundrobin** Round robin over opened files. This is the default. **sequential** Finish one file before moving on to the next. Multiple files can still be open depending on :option:`openfiles`. **zipf** Use a *Zipf* distribution to decide what file to access. **pareto** Use a *Pareto* distribution to decide what file to access. **normal** Use a *Gaussian* (normal) distribution to decide what file to access. **gauss** Alias for normal. For *random*, *roundrobin*, and *sequential*, a postfix can be appended to tell fio how many I/Os to issue before switching to a new file. For example, specifying ``file_service_type=random:8`` would cause fio to issue 8 I/Os before selecting a new file at random. For the non-uniform distributions, a floating point postfix can be given to influence how the distribution is skewed. See :option:`random_distribution` for a description of how that would work. .. option:: ioscheduler=str Attempt to switch the device hosting the file to the specified I/O scheduler before running. .. option:: create_serialize=bool If true, serialize the file creation for the jobs. This may be handy to avoid interleaving of data files, which may greatly depend on the filesystem used and even the number of processors in the system. Default: true. .. option:: create_fsync=bool :manpage:`fsync(2)` the data file after creation. This is the default. .. option:: create_on_open=bool If true, don't pre-create files but allow the job's open() to create a file when it's time to do I/O. Default: false -- pre-create all necessary files when the job starts. .. option:: create_only=bool If true, fio will only run the setup phase of the job. If files need to be laid out or updated on disk, only that will be done -- the actual job contents are not executed. Default: false. .. option:: allow_file_create=bool If true, fio is permitted to create files as part of its workload. If this option is false, then fio will error out if the files it needs to use don't already exist. Default: true. .. option:: allow_mounted_write=bool If this isn't set, fio will abort jobs that are destructive (e.g. that write) to what appears to be a mounted device or partition. This should help catch creating inadvertently destructive tests, not realizing that the test will destroy data on the mounted file system. Note that some platforms don't allow writing against a mounted device regardless of this option. Default: false. .. option:: pre_read=bool If this is given, files will be pre-read into memory before starting the given I/O operation. This will also clear the :option:`invalidate` flag, since it is pointless to pre-read and then drop the cache. This will only work for I/O engines that are seek-able, since they allow you to read the same data multiple times. Thus it will not work on non-seekable I/O engines (e.g. network, splice). Default: false. .. option:: unlink=bool Unlink (delete) the job files when done. Not the default, as repeated runs of that job would then waste time recreating the file set again and again. Default: false. .. option:: unlink_each_loop=bool Unlink (delete) job files after each iteration or loop. Default: false. .. option:: zonemode=str Accepted values are: **none** The :option:`zonerange`, :option:`zonesize`, :option:`zonecapacity` and :option:`zoneskip` parameters are ignored. **strided** I/O happens in a single zone until :option:`zonesize` bytes have been transferred. After that number of bytes has been transferred processing of the next zone starts. :option:`zonecapacity` is ignored. **zbd** Zoned block device mode. I/O happens sequentially in each zone, even if random I/O has been selected. Random I/O happens across all zones instead of being restricted to a single zone. The :option:`zoneskip` parameter is ignored. :option:`zonerange` and :option:`zonesize` must be identical. Trim is handled using a zone reset operation. Trim only considers non-empty sequential write required and sequential write preferred zones. .. option:: zonerange=int Size of a single zone. See also :option:`zonesize` and :option:`zoneskip`. .. option:: zonesize=int For :option:`zonemode` =strided, this is the number of bytes to transfer before skipping :option:`zoneskip` bytes. If this parameter is smaller than :option:`zonerange` then only a fraction of each zone with :option:`zonerange` bytes will be accessed. If this parameter is larger than :option:`zonerange` then each zone will be accessed multiple times before skipping to the next zone. For :option:`zonemode` =zbd, this is the size of a single zone. The :option:`zonerange` parameter is ignored in this mode. .. option:: zonecapacity=int For :option:`zonemode` =zbd, this defines the capacity of a single zone, which is the accessible area starting from the zone start address. This parameter only applies when using :option:`zonemode` =zbd in combination with regular block devices. If not specified it defaults to the zone size. If the target device is a zoned block device, the zone capacity is obtained from the device information and this option is ignored. .. option:: zoneskip=int For :option:`zonemode` =strided, the number of bytes to skip after :option:`zonesize` bytes of data have been transferred. This parameter must be zero for :option:`zonemode` =zbd. .. option:: read_beyond_wp=bool This parameter applies to :option:`zonemode` =zbd only. Zoned block devices are block devices that consist of multiple zones. Each zone has a type, e.g. conventional or sequential. A conventional zone can be written at any offset that is a multiple of the block size. Sequential zones must be written sequentially. The position at which a write must occur is called the write pointer. A zoned block device can be either drive managed, host managed or host aware. For host managed devices the host must ensure that writes happen sequentially. Fio recognizes host managed devices and serializes writes to sequential zones for these devices. If a read occurs in a sequential zone beyond the write pointer then the zoned block device will complete the read without reading any data from the storage medium. Since such reads lead to unrealistically high bandwidth and IOPS numbers fio only reads beyond the write pointer if explicitly told to do so. Default: false. .. option:: max_open_zones=int When a zone of a zoned block device is partially written (i.e. not all sectors of the zone have been written), the zone is in one of three conditions: 'implicit open', 'explicit open' or 'closed'. Zoned block devices may have a limit called 'max_open_zones' (same name as the parameter) on the total number of zones that can simultaneously be in the 'implicit open' or 'explicit open' conditions. Zoned block devices may have another limit called 'max_active_zones', on the total number of zones that can simultaneously be in the three conditions. The :option:`max_open_zones` parameter limits the number of zones to which write commands are issued by all fio jobs, that is, limits the number of zones that will be in the conditions. When the device has the max_open_zones limit and does not have the max_active_zones limit, the :option:`max_open_zones` parameter limits the number of zones in the two open conditions up to the limit. In this case, fio includes zones in the two open conditions to the write target zones at fio start. When the device has both the max_open_zones and the max_active_zones limits, the :option:`max_open_zones` parameter limits the number of zones in the three conditions up to the limit. In this case, fio includes zones in the three conditions to the write target zones at fio start. This parameter is relevant only if the :option:`zonemode` =zbd is used. The default value is always equal to the max_open_zones limit of the target zoned block device and a value higher than this limit cannot be specified by users unless the option :option:`ignore_zone_limits` is specified. When :option:`ignore_zone_limits` is specified or the target device does not have the max_open_zones limit, :option:`max_open_zones` can specify 0 to disable any limit on the number of zones that can be simultaneously written to by all jobs. .. option:: job_max_open_zones=int In the same manner as :option:`max_open_zones`, limit the number of open zones per fio job, that is, the number of zones that a single job can simultaneously write to. A value of zero indicates no limit. Default: zero. .. option:: ignore_zone_limits=bool If this option is used, fio will ignore the maximum number of open zones limit of the zoned block device in use, thus allowing the option :option:`max_open_zones` value to be larger than the device reported limit. Default: false. .. option:: zone_reset_threshold=float A number between zero and one that indicates the ratio of written bytes in the zones with write pointers in the IO range to the size of the IO range. When current ratio is above this ratio, zones are reset periodically as :option:`zone_reset_frequency` specifies. If there are multiple jobs when using this option, the IO range for all write jobs has to be the same. .. option:: zone_reset_frequency=float A number between zero and one that indicates how often a zone reset should be issued if the zone reset threshold has been exceeded. A zone reset is submitted after each (1 / zone_reset_frequency) write requests. This and the previous parameter can be used to simulate garbage collection activity. I/O type ~~~~~~~~ .. option:: direct=bool If value is true, use non-buffered I/O. This is usually O_DIRECT. Note that OpenBSD and ZFS on Solaris don't support direct I/O. On Windows the synchronous ioengines don't support direct I/O. Default: false. .. option:: buffered=bool If value is true, use buffered I/O. This is the opposite of the :option:`direct` option. Defaults to true. .. option:: readwrite=str, rw=str Type of I/O pattern. Accepted values are: **read** Sequential reads. **write** Sequential writes. **trim** Sequential trims (Linux block devices and SCSI character devices only). **randread** Random reads. **randwrite** Random writes. **randtrim** Random trims (Linux block devices and SCSI character devices only). **rw,readwrite** Sequential mixed reads and writes. **randrw** Random mixed reads and writes. **trimwrite** Sequential trim+write sequences. Blocks will be trimmed first, then the same blocks will be written to. So if ``io_size=64K`` is specified, Fio will trim a total of 64K bytes and also write 64K bytes on the same trimmed blocks. This behaviour will be consistent with ``number_ios`` or other Fio options limiting the total bytes or number of I/O's. **randtrimwrite** Like trimwrite, but uses random offsets rather than sequential writes. Fio defaults to read if the option is not specified. For the mixed I/O types, the default is to split them 50/50. For certain types of I/O the result may still be skewed a bit, since the speed may be different. It is possible to specify the number of I/Os to do before getting a new offset by appending ``:`` to the end of the string given. For a random read, it would look like ``rw=randread:8`` for passing in an offset modifier with a value of 8. If the suffix is used with a sequential I/O pattern, then the ** value specified will be **added** to the generated offset for each I/O turning sequential I/O into sequential I/O with holes. For instance, using ``rw=write:4k`` will skip 4k for every write. Also see the :option:`rw_sequencer` option. If this is used with :option:`verify` then :option:`verify_header_seed` will be disabled, unless its explicitly enabled. .. option:: rw_sequencer=str If an offset modifier is given by appending a number to the ``rw=`` line, then this option controls how that number modifies the I/O offset being generated. Accepted values are: **sequential** Generate sequential offset. **identical** Generate the same offset. ``sequential`` is only useful for random I/O, where fio would normally generate a new random offset for every I/O. If you append e.g. 8 to randread, i.e. ``rw=randread:8`` you would get a new random offset for every 8 I/Os. The result would be a sequence of 8 sequential offsets with a random starting point. However this behavior may change if a sequential I/O reaches end of the file. As sequential I/O is already sequential, setting ``sequential`` for that would not result in any difference. ``identical`` behaves in a similar fashion, except it sends the same offset 8 number of times before generating a new offset. Example #1:: rw=randread:8 rw_sequencer=sequential bs=4k The generated sequence of offsets will look like this: 4k, 8k, 12k, 16k, 20k, 24k, 28k, 32k, 92k, 96k, 100k, 104k, 108k, 112k, 116k, 120k, 48k, 52k ... Example #2:: rw=randread:8 rw_sequencer=identical bs=4k The generated sequence of offsets will look like this: 4k, 4k, 4k, 4k, 4k, 4k, 4k, 4k, 92k, 92k, 92k, 92k, 92k, 92k, 92k, 92k, 48k, 48k, 48k ... .. option:: unified_rw_reporting=str Fio normally reports statistics on a per data direction basis, meaning that reads, writes, and trims are accounted and reported separately. This option determines whether fio reports the results normally, summed together, or as both options. Accepted values are: **none** Normal statistics reporting. **mixed** Statistics are summed per data direction and reported together. **both** Statistics are reported normally, followed by the mixed statistics. **0** Backward-compatible alias for **none**. **1** Backward-compatible alias for **mixed**. **2** Alias for **both**. .. option:: randrepeat=bool Seed all random number generators in a predictable way so the pattern is repeatable across runs. Default: true. .. option:: allrandrepeat=bool Alias for :option:`randrepeat`. Default: true. .. option:: randseed=int Seed the random number generators based on this seed value, to be able to control what sequence of output is being generated. If not set, the random sequence depends on the :option:`randrepeat` setting. .. option:: fallocate=str Whether pre-allocation is performed when laying down files. Accepted values are: **none** Do not pre-allocate space. **native** Use a platform's native pre-allocation call but fall back to **none** behavior if it fails/is not implemented. **posix** Pre-allocate via :manpage:`posix_fallocate(3)`. **keep** Pre-allocate via :manpage:`fallocate(2)` with FALLOC_FL_KEEP_SIZE set. **truncate** Extend file to final size via :manpage:`ftruncate(2)` instead of allocating. **0** Backward-compatible alias for **none**. **1** Backward-compatible alias for **posix**. May not be available on all supported platforms. **keep** is only available on Linux. If using ZFS on Solaris this cannot be set to **posix** because ZFS doesn't support pre-allocation. Default: **native** if any pre-allocation methods except **truncate** are available, **none** if not. Note that using **truncate** on Windows will interact surprisingly with non-sequential write patterns. When writing to a file that has been extended by setting the end-of-file information, Windows will backfill the unwritten portion of the file up to that offset with zeroes before issuing the new write. This means that a single small write to the end of an extended file will stall until the entire file has been filled with zeroes. .. option:: fadvise_hint=str Use :manpage:`posix_fadvise(2)` or :manpage:`posix_fadvise(2)` to advise the kernel on what I/O patterns are likely to be issued. Accepted values are: **0** Backwards-compatible hint for "no hint". **1** Backwards compatible hint for "advise with fio workload type". This uses **FADV_RANDOM** for a random workload, and **FADV_SEQUENTIAL** for a sequential workload. **sequential** Advise using **FADV_SEQUENTIAL**. **random** Advise using **FADV_RANDOM**. **noreuse** Advise using **FADV_NOREUSE**. This may be a no-op on older Linux kernels. Since Linux 6.3, it provides a hint to the LRU algorithm. See the :manpage:`posix_fadvise(2)` man page. .. option:: write_hint=str Use :manpage:`fcntl(2)` to advise the kernel what life time to expect from a write. Only supported on Linux, as of version 4.13. Accepted values are: **none** No particular life time associated with this file. **short** Data written to this file has a short life time. **medium** Data written to this file has a medium life time. **long** Data written to this file has a long life time. **extreme** Data written to this file has a very long life time. The values are all relative to each other, and no absolute meaning should be associated with them. .. option:: offset=int Start I/O at the provided offset in the file, given as either a fixed size in bytes, zones or a percentage. If a percentage is given, the generated offset will be aligned to the minimum ``blocksize`` or to the value of ``offset_align`` if provided. Data before the given offset will not be touched. This effectively caps the file size at `real_size - offset`. Can be combined with :option:`size` to constrain the start and end range of the I/O workload. A percentage can be specified by a number between 1 and 100 followed by '%', for example, ``offset=20%`` to specify 20%. In ZBD mode, value can be set as number of zones using 'z'. .. option:: offset_align=int If set to non-zero value, the byte offset generated by a percentage ``offset`` is aligned upwards to this value. Defaults to 0 meaning that a percentage offset is aligned to the minimum block size. .. option:: offset_increment=int If this is provided, then the real offset becomes `offset + offset_increment * thread_number`, where the thread number is a counter that starts at 0 and is incremented for each sub-job (i.e. when :option:`numjobs` option is specified). This option is useful if there are several jobs which are intended to operate on a file in parallel disjoint segments, with even spacing between the starting points. Percentages can be used for this option. If a percentage is given, the generated offset will be aligned to the minimum ``blocksize`` or to the value of ``offset_align`` if provided. In ZBD mode, value can also be set as number of zones using 'z'. .. option:: number_ios=int Fio will normally perform I/Os until it has exhausted the size of the region set by :option:`size`, or if it exhaust the allocated time (or hits an error condition). With this setting, the range/size can be set independently of the number of I/Os to perform. When fio reaches this number, it will exit normally and report status. Note that this does not extend the amount of I/O that will be done, it will only stop fio if this condition is met before other end-of-job criteria. .. option:: fsync=int If writing to a file, issue an :manpage:`fsync(2)` (or its equivalent) of the dirty data for every number of blocks given. For example, if you give 32 as a parameter, fio will sync the file after every 32 writes issued. If fio is using non-buffered I/O, we may not sync the file. The exception is the sg I/O engine, which synchronizes the disk cache anyway. Defaults to 0, which means fio does not periodically issue and wait for a sync to complete. Also see :option:`end_fsync` and :option:`fsync_on_close`. .. option:: fdatasync=int Like :option:`fsync` but uses :manpage:`fdatasync(2)` to only sync data and not metadata blocks. In Windows, DragonFlyBSD or OSX there is no :manpage:`fdatasync(2)` so this falls back to using :manpage:`fsync(2)`. Defaults to 0, which means fio does not periodically issue and wait for a data-only sync to complete. .. option:: write_barrier=int Make every `N-th` write a barrier write. .. option:: sync_file_range=str:int Use :manpage:`sync_file_range(2)` for every `int` number of write operations. Fio will track range of writes that have happened since the last :manpage:`sync_file_range(2)` call. `str` can currently be one or more of: **wait_before** SYNC_FILE_RANGE_WAIT_BEFORE **write** SYNC_FILE_RANGE_WRITE **wait_after** SYNC_FILE_RANGE_WAIT_AFTER So if you do ``sync_file_range=wait_before,write:8``, fio would use ``SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE`` for every 8 writes. Also see the :manpage:`sync_file_range(2)` man page. This option is Linux specific. .. option:: overwrite=bool If true, writes to a file will always overwrite existing data. If the file doesn't already exist, it will be created before the write phase begins. If the file exists and is large enough for the specified write phase, nothing will be done. Default: false. .. option:: end_fsync=bool If true, :manpage:`fsync(2)` file contents when a write stage has completed. Default: false. .. option:: fsync_on_close=bool If true, fio will :manpage:`fsync(2)` a dirty file on close. This differs from :option:`end_fsync` in that it will happen on every file close, not just at the end of the job. Default: false. .. option:: rwmixread=int Percentage of a mixed workload that should be reads. Default: 50. .. option:: rwmixwrite=int Percentage of a mixed workload that should be writes. If both :option:`rwmixread` and :option:`rwmixwrite` is given and the values do not add up to 100%, the latter of the two will be used to override the first. This may interfere with a given rate setting, if fio is asked to limit reads or writes to a certain rate. If that is the case, then the distribution may be skewed. Default: 50. .. option:: random_distribution=str:float[:float][,str:float][,str:float] By default, fio will use a completely uniform random distribution when asked to perform random I/O. Sometimes it is useful to skew the distribution in specific ways, ensuring that some parts of the data is more hot than others. fio includes the following distribution models: **random** Uniform random distribution **zipf** Zipf distribution **pareto** Pareto distribution **normal** Normal (Gaussian) distribution **zoned** Zoned random distribution **zoned_abs** Zone absolute random distribution When using a **zipf** or **pareto** distribution, an input value is also needed to define the access pattern. For **zipf**, this is the `Zipf theta`. For **pareto**, it's the `Pareto power`. Fio includes a test program, :command:`fio-genzipf`, that can be used visualize what the given input values will yield in terms of hit rates. If you wanted to use **zipf** with a `theta` of 1.2, you would use ``random_distribution=zipf:1.2`` as the option. If a non-uniform model is used, fio will disable use of the random map. For the **normal** distribution, a normal (Gaussian) deviation is supplied as a value between 0 and 100. The second, optional float is allowed for **pareto**, **zipf** and **normal** distributions. It allows one to set base of distribution in non-default place, giving more control over most probable outcome. This value is in range [0-1] which maps linearly to range of possible random values. Defaults are: random for **pareto** and **zipf**, and 0.5 for **normal**. If you wanted to use **zipf** with a `theta` of 1.2 centered on 1/4 of allowed value range, you would use ``random_distribution=zipf:1.2:0.25``. For a **zoned** distribution, fio supports specifying percentages of I/O access that should fall within what range of the file or device. For example, given a criteria of: * 60% of accesses should be to the first 10% * 30% of accesses should be to the next 20% * 8% of accesses should be to the next 30% * 2% of accesses should be to the next 40% we can define that through zoning of the random accesses. For the above example, the user would do:: random_distribution=zoned:60/10:30/20:8/30:2/40 A **zoned_abs** distribution works exactly like the **zoned**, except that it takes absolute sizes. For example, let's say you wanted to define access according to the following criteria: * 60% of accesses should be to the first 20G * 30% of accesses should be to the next 100G * 10% of accesses should be to the next 500G we can define an absolute zoning distribution with: random_distribution=zoned_abs=60/20G:30/100G:10/500g For both **zoned** and **zoned_abs**, fio supports defining up to 256 separate zones. Similarly to how :option:`bssplit` works for setting ranges and percentages of block sizes. Like :option:`bssplit`, it's possible to specify separate zones for reads, writes, and trims. If just one set is given, it'll apply to all of them. This goes for both **zoned** **zoned_abs** distributions. .. option:: percentage_random=int[,int][,int] For a random workload, set how big a percentage should be random. This defaults to 100%, in which case the workload is fully random. It can be set from anywhere from 0 to 100. Setting it to 0 would make the workload fully sequential. Any setting in between will result in a random mix of sequential and random I/O, at the given percentages. Comma-separated values may be specified for reads, writes, and trims as described in :option:`blocksize`. .. option:: norandommap Normally fio will cover every block of the file when doing random I/O. If this option is given, fio will just get a new random offset without looking at past I/O history. This means that some blocks may not be read or written, and that some blocks may be read/written more than once. If this option is used with :option:`verify` then :option:`verify_header_seed` will be disabled. If this option is used with :option:`verify` and multiple blocksizes (via :option:`bsrange`), only intact blocks are verified, i.e., partially-overwritten blocks are ignored. With an async I/O engine and an I/O depth > 1, header write sequence number verification will be disabled. See :option:`verify_write_sequence`. .. option:: softrandommap=bool See :option:`norandommap`. If fio runs with the random block map enabled and it fails to allocate the map, if this option is set it will continue without a random block map. As coverage will not be as complete as with random maps, this option is disabled by default. .. option:: random_generator=str Fio supports the following engines for generating I/O offsets for random I/O: **tausworthe** Strong 2^88 cycle random number generator. **lfsr** Linear feedback shift register generator. **tausworthe64** Strong 64-bit 2^258 cycle random number generator. **tausworthe** is a strong random number generator, but it requires tracking on the side if we want to ensure that blocks are only read or written once. **lfsr** guarantees that we never generate the same offset twice, and it's also less computationally expensive. It's not a true random generator, however, though for I/O purposes it's typically good enough. **lfsr** only works with single block sizes, not with workloads that use multiple block sizes. If used with such a workload, fio may read or write some blocks multiple times. The default value is **tausworthe**, unless the required space exceeds 2^32 blocks. If it does, then **tausworthe64** is selected automatically. Block size ~~~~~~~~~~ .. option:: blocksize=int[,int][,int], bs=int[,int][,int] The block size in bytes used for I/O units. Default: 4096. A single value applies to reads, writes, and trims. Comma-separated values may be specified for reads, writes, and trims. A value not terminated in a comma applies to subsequent types. Examples: **bs=256k** means 256k for reads, writes and trims. **bs=8k,32k** means 8k for reads, 32k for writes and trims. **bs=8k,32k,** means 8k for reads, 32k for writes, and default for trims. **bs=,8k** means default for reads, 8k for writes and trims. **bs=,8k,** means default for reads, 8k for writes, and default for trims. .. option:: blocksize_range=irange[,irange][,irange], bsrange=irange[,irange][,irange] A range of block sizes in bytes for I/O units. The issued I/O unit will always be a multiple of the minimum size, unless :option:`blocksize_unaligned` is set. Comma-separated ranges may be specified for reads, writes, and trims as described in :option:`blocksize`. Example: ``bsrange=1k-4k,2k-8k`` also the ':' delimiter ``bsrange=1k:4k,2k:8k``. .. option:: bssplit=str[,str][,str] Sometimes you want even finer grained control of the block sizes issued, not just an even split between them. This option allows you to weight various block sizes, so that you are able to define a specific amount of block sizes issued. The format for this option is:: bssplit=blocksize/percentage:blocksize/percentage for as many block sizes as needed. So if you want to define a workload that has 50% 64k blocks, 10% 4k blocks, and 40% 32k blocks, you would write:: bssplit=4k/10:64k/50:32k/40 Ordering does not matter. If the percentage is left blank, fio will fill in the remaining values evenly. So a bssplit option like this one:: bssplit=4k/50:1k/:32k/ would have 50% 4k ios, and 25% 1k and 32k ios. The percentages always add up to 100, if bssplit is given a range that adds up to more, it will error out. Comma-separated values may be specified for reads, writes, and trims as described in :option:`blocksize`. If you want a workload that has 50% 2k reads and 50% 4k reads, while having 90% 4k writes and 10% 8k writes, you would specify:: bssplit=2k/50:4k/50,4k/90:8k/10 Fio supports defining up to 64 different weights for each data direction. .. option:: blocksize_unaligned, bs_unaligned If set, fio will issue I/O units with any size within :option:`blocksize_range`, not just multiples of the minimum size. This typically won't work with direct I/O, as that normally requires sector alignment. .. option:: bs_is_seq_rand=bool If this option is set, fio will use the normal read,write blocksize settings as sequential,random blocksize settings instead. Any random read or write will use the WRITE blocksize settings, and any sequential read or write will use the READ blocksize settings. .. option:: blockalign=int[,int][,int], ba=int[,int][,int] Boundary to which fio will align random I/O units. Default: :option:`blocksize`. Minimum alignment is typically 512b for using direct I/O, though it usually depends on the hardware block size. This option is mutually exclusive with using a random map for files, so it will turn off that option. Comma-separated values may be specified for reads, writes, and trims as described in :option:`blocksize`. Buffers and memory ~~~~~~~~~~~~~~~~~~ .. option:: zero_buffers Initialize buffers with all zeros. Default: fill buffers with random data. .. option:: refill_buffers If this option is given, fio will refill the I/O buffers on every submit. Only makes sense if :option:`zero_buffers` isn't specified, naturally. Defaults to being unset i.e., the buffer is only filled at init time and the data in it is reused when possible but if any of :option:`verify`, :option:`buffer_compress_percentage` or :option:`dedupe_percentage` are enabled then `refill_buffers` is also automatically enabled. .. option:: scramble_buffers=bool If :option:`refill_buffers` is too costly and the target is using data deduplication, then setting this option will slightly modify the I/O buffer contents to defeat normal de-dupe attempts. This is not enough to defeat more clever block compression attempts, but it will stop naive dedupe of blocks. Default: true. .. option:: buffer_compress_percentage=int If this is set, then fio will attempt to provide I/O buffer content (on WRITEs) that compresses to the specified level. Fio does this by providing a mix of random data followed by fixed pattern data. The fixed pattern is either zeros, or the pattern specified by :option:`buffer_pattern`. If the `buffer_pattern` option is used, it might skew the compression ratio slightly. Setting `buffer_compress_percentage` to a value other than 100 will also enable :option:`refill_buffers` in order to reduce the likelihood that adjacent blocks are so similar that they over compress when seen together. See :option:`buffer_compress_chunk` for how to set a finer or coarser granularity for the random/fixed data region. Defaults to unset i.e., buffer data will not adhere to any compression level. .. option:: buffer_compress_chunk=int This setting allows fio to manage how big the random/fixed data region is when using :option:`buffer_compress_percentage`. When `buffer_compress_chunk` is set to some non-zero value smaller than the block size, fio can repeat the random/fixed region throughout the I/O buffer at the specified interval (which particularly useful when bigger block sizes are used for a job). When set to 0, fio will use a chunk size that matches the block size resulting in a single random/fixed region within the I/O buffer. Defaults to 512. When the unit is omitted, the value is interpreted in bytes. .. option:: buffer_pattern=str If set, fio will fill the I/O buffers with this pattern or with the contents of a file. If not set, the contents of I/O buffers are defined by the other options related to buffer contents. The setting can be any pattern of bytes, and can be prefixed with 0x for hex values. It may also be a string, where the string must then be wrapped with ``""``. Or it may also be a filename, where the filename must be wrapped with ``''`` in which case the file is opened and read. Note that not all the file contents will be read if that would cause the buffers to overflow. So, for example:: buffer_pattern='filename' or:: buffer_pattern="abcd" or:: buffer_pattern=-12 or:: buffer_pattern=0xdeadface Also you can combine everything together in any order:: buffer_pattern=0xdeadface"abcd"-12'filename' .. option:: dedupe_percentage=int If set, fio will generate this percentage of identical buffers when writing. These buffers will be naturally dedupable. The contents of the buffers depend on what other buffer compression settings have been set. It's possible to have the individual buffers either fully compressible, or not at all -- this option only controls the distribution of unique buffers. Setting this option will also enable :option:`refill_buffers` to prevent every buffer being identical. .. option:: dedupe_mode=str If ``dedupe_percentage=`` is given, then this option controls how fio generates the dedupe buffers. **repeat** Generate dedupe buffers by repeating previous writes **working_set** Generate dedupe buffers from working set ``repeat`` is the default option for fio. Dedupe buffers are generated by repeating previous unique write. ``working_set`` is a more realistic workload. With ``working_set``, ``dedupe_working_set_percentage=`` should be provided. Given that, fio will use the initial unique write buffers as its working set. Upon deciding to dedupe, fio will randomly choose a buffer from the working set. Note that by using ``working_set`` the dedupe percentage will converge to the desired over time while ``repeat`` maintains the desired percentage throughout the job. .. option:: dedupe_working_set_percentage=int If ``dedupe_mode=`` is set to ``working_set``, then this controls the percentage of size of the file or device used as the buffers fio will choose to generate the dedupe buffers from Note that size needs to be explicitly provided and only 1 file per job is supported .. option:: dedupe_global=bool This controls whether the deduplication buffers will be shared amongst all jobs that have this option set. The buffers are spread evenly between participating jobs. .. option:: invalidate=bool Invalidate the buffer/page cache parts of the files to be used prior to starting I/O if the platform and file type support it. Defaults to true. This will be ignored if :option:`pre_read` is also specified for the same job. .. option:: sync=str Whether, and what type, of synchronous I/O to use for writes. The allowed values are: **none** Do not use synchronous IO, the default. **0** Same as **none**. **sync** Use synchronous file IO. For the majority of I/O engines, this means using O_SYNC. **1** Same as **sync**. **dsync** Use synchronous data IO. For the majority of I/O engines, this means using O_DSYNC. .. option:: iomem=str, mem=str Fio can use various types of memory as the I/O unit buffer. The allowed values are: **malloc** Use memory from :manpage:`malloc(3)` as the buffers. Default memory type. **shm** Use shared memory as the buffers. Allocated through :manpage:`shmget(2)`. **shmhuge** Same as shm, but use huge pages as backing. **mmap** Use :manpage:`mmap(2)` to allocate buffers. May either be anonymous memory, or can be file backed if a filename is given after the option. The format is `mem=mmap:/path/to/file`. **mmaphuge** Use a memory mapped huge file as the buffer backing. Append filename after mmaphuge, ala `mem=mmaphuge:/hugetlbfs/file`. **mmapshared** Same as mmap, but use a MMAP_SHARED mapping. **cudamalloc** Use GPU memory as the buffers for GPUDirect RDMA benchmark. The :option:`ioengine` must be `rdma`. The area allocated is a function of the maximum allowed bs size for the job, multiplied by the I/O depth given. Note that for **shmhuge** and **mmaphuge** to work, the system must have free huge pages allocated. This can normally be checked and set by reading/writing :file:`/proc/sys/vm/nr_hugepages` on a Linux system. Fio assumes a huge page is 2 or 4MiB in size depending on the platform. So to calculate the number of huge pages you need for a given job file, add up the I/O depth of all jobs (normally one unless :option:`iodepth` is used) and multiply by the maximum bs set. Then divide that number by the huge page size. You can see the size of the huge pages in :file:`/proc/meminfo`. If no huge pages are allocated by having a non-zero number in `nr_hugepages`, using **mmaphuge** or **shmhuge** will fail. Also see :option:`hugepage-size`. **mmaphuge** also needs to have hugetlbfs mounted and the file location should point there. So if it's mounted in :file:`/huge`, you would use `mem=mmaphuge:/huge/somefile`. .. option:: iomem_align=int, mem_align=int This indicates the memory alignment of the I/O memory buffers. Note that the given alignment is applied to the first I/O unit buffer, if using :option:`iodepth` the alignment of the following buffers are given by the :option:`bs` used. In other words, if using a :option:`bs` that is a multiple of the page sized in the system, all buffers will be aligned to this value. If using a :option:`bs` that is not page aligned, the alignment of subsequent I/O memory buffers is the sum of the :option:`iomem_align` and :option:`bs` used. .. option:: hugepage-size=int Defines the size of a huge page. Must at least be equal to the system setting, see :file:`/proc/meminfo` and :file:`/sys/kernel/mm/hugepages/`. Defaults to 2 or 4MiB depending on the platform. Should probably always be a multiple of megabytes, so using ``hugepage-size=Xm`` is the preferred way to set this to avoid setting a non-pow-2 bad value. .. option:: lockmem=int Pin the specified amount of memory with :manpage:`mlock(2)`. Can be used to simulate a smaller amount of memory. The amount specified is per worker. I/O size ~~~~~~~~ .. option:: size=int The total size of file I/O for each thread of this job. Fio will run until this many bytes has been transferred, unless runtime is altered by other means such as (1) :option:`runtime`, (2) :option:`io_size` (3) :option:`number_ios`, (4) gaps/holes while doing I/O's such as ``rw=read:16K``, or (5) sequential I/O reaching end of the file which is possible when :option:`percentage_random` is less than 100. Fio will divide this size between the available files determined by options such as :option:`nrfiles`, :option:`filename`, unless :option:`filesize` is specified by the job. If the result of division happens to be 0, the size is set to the physical size of the given files or devices if they exist. If this option is not specified, fio will use the full size of the given files or devices. If the files do not exist, size must be given. It is also possible to give size as a percentage between 1 and 100. If ``size=20%`` is given, fio will use 20% of the full size of the given files or devices. In ZBD mode, value can also be set as number of zones using 'z'. Can be combined with :option:`offset` to constrain the start and end range that I/O will be done within. .. option:: io_size=int, io_limit=int Normally fio operates within the region set by :option:`size`, which means that the :option:`size` option sets both the region and size of I/O to be performed. Sometimes that is not what you want. With this option, it is possible to define just the amount of I/O that fio should do. For instance, if :option:`size` is set to 20GiB and :option:`io_size` is set to 5GiB, fio will perform I/O within the first 20GiB but exit when 5GiB have been done. The opposite is also possible -- if :option:`size` is set to 20GiB, and :option:`io_size` is set to 40GiB, then fio will do 40GiB of I/O within the 0..20GiB region. .. option:: filesize=irange(int) Individual file sizes. May be a range, in which case fio will select sizes for files at random within the given range. If not given, each created file is the same size. This option overrides :option:`size` in terms of file size, i.e. if :option:`filesize` is specified then :option:`size` becomes merely the default for :option:`io_size` and has no effect at all if :option:`io_size` is set explicitly. .. option:: file_append=bool Perform I/O after the end of the file. Normally fio will operate within the size of a file. If this option is set, then fio will append to the file instead. This has identical behavior to setting :option:`offset` to the size of a file. This option is ignored on non-regular files. .. option:: fill_device=bool, fill_fs=bool Sets size to something really large and waits for ENOSPC (no space left on device) or EDQUOT (disk quota exceeded) as the terminating condition. Only makes sense with sequential write. For a read workload, the mount point will be filled first then I/O started on the result. This option doesn't make sense if operating on a raw device node, since the size of that is already known by the file system. Additionally, writing beyond end-of-device will not return ENOSPC there. I/O engine ~~~~~~~~~~ .. option:: ioengine=str fio supports 2 kinds of performance measurement: I/O and file/directory operation. I/O engines define how the job issues I/O to the file. The following types are defined: **sync** Basic :manpage:`read(2)` or :manpage:`write(2)` I/O. :manpage:`lseek(2)` is used to position the I/O location. See :option:`fsync` and :option:`fdatasync` for syncing write I/Os. **psync** Basic :manpage:`pread(2)` or :manpage:`pwrite(2)` I/O. Default on all supported operating systems except for Windows. **vsync** Basic :manpage:`readv(2)` or :manpage:`writev(2)` I/O. Will emulate queuing by coalescing adjacent I/Os into a single submission. **pvsync** Basic :manpage:`preadv(2)` or :manpage:`pwritev(2)` I/O. **pvsync2** Basic :manpage:`preadv2(2)` or :manpage:`pwritev2(2)` I/O. **io_uring** Fast Linux native asynchronous I/O. Supports async IO for both direct and buffered IO. This engine defines engine specific options. **io_uring_cmd** Fast Linux native asynchronous I/O for pass through commands. This engine defines engine specific options. **libaio** Linux native asynchronous I/O. Note that Linux may only support queued behavior with non-buffered I/O (set ``direct=1`` or ``buffered=0``). This engine defines engine specific options. **posixaio** POSIX asynchronous I/O using :manpage:`aio_read(3)` and :manpage:`aio_write(3)`. **solarisaio** Solaris native asynchronous I/O. **windowsaio** Windows native asynchronous I/O. Default on Windows. **mmap** File is memory mapped with :manpage:`mmap(2)` and data copied to/from using :manpage:`memcpy(3)`. **splice** :manpage:`splice(2)` is used to transfer the data and :manpage:`vmsplice(2)` to transfer data from user space to the kernel. **sg** SCSI generic sg v3 I/O. May either be synchronous using the SG_IO ioctl, or if the target is an sg character device we use :manpage:`read(2)` and :manpage:`write(2)` for asynchronous I/O. Requires :option:`filename` option to specify either block or character devices. This engine supports trim operations. The sg engine includes engine specific options. **libzbc** Read, write, trim and ZBC/ZAC operations to a zoned block device using libzbc library. The target can be either an SG character device or a block device file. **null** Doesn't transfer any data, just pretends to. This is mainly used to exercise fio itself and for debugging/testing purposes. **net** Transfer over the network to given ``host:port``. Depending on the :option:`protocol` used, the :option:`hostname`, :option:`port`, :option:`listen` and :option:`filename` options are used to specify what sort of connection to make, while the :option:`protocol` option determines which protocol will be used. This engine defines engine specific options. **netsplice** Like **net**, but uses :manpage:`splice(2)` and :manpage:`vmsplice(2)` to map data and send/receive. This engine defines engine specific options. **cpuio** Doesn't transfer any data, but burns CPU cycles according to the :option:`cpuload`, :option:`cpuchunks` and :option:`cpumode` options. Setting :option:`cpuload`\=85 will cause that job to do nothing but burn 85% of the CPU. In case of SMP machines, use :option:`numjobs`\= to get desired CPU usage, as the cpuload only loads a single CPU at the desired rate. A job never finishes unless there is at least one non-cpuio job. Setting :option:`cpumode`\=qsort replace the default noop instructions loop by a qsort algorithm to consume more energy. **rdma** The RDMA I/O engine supports both RDMA memory semantics (RDMA_WRITE/RDMA_READ) and channel semantics (Send/Recv) for the InfiniBand, RoCE and iWARP protocols. This engine defines engine specific options. **falloc** I/O engine that does regular fallocate to simulate data transfer as fio ioengine. DDIR_READ does fallocate(,mode = FALLOC_FL_KEEP_SIZE,). DDIR_WRITE does fallocate(,mode = 0). DDIR_TRIM does fallocate(,mode = FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE). **ftruncate** I/O engine that sends :manpage:`ftruncate(2)` operations in response to write (DDIR_WRITE) events. Each ftruncate issued sets the file's size to the current block offset. :option:`blocksize` is ignored. **e4defrag** I/O engine that does regular EXT4_IOC_MOVE_EXT ioctls to simulate defragment activity in request to DDIR_WRITE event. **rados** I/O engine supporting direct access to Ceph Reliable Autonomic Distributed Object Store (RADOS) via librados. This ioengine defines engine specific options. **rbd** I/O engine supporting direct access to Ceph Rados Block Devices (RBD) via librbd without the need to use the kernel rbd driver. This ioengine defines engine specific options. **http** I/O engine supporting GET/PUT requests over HTTP(S) with libcurl to a WebDAV or S3 endpoint. This ioengine defines engine specific options. This engine only supports direct IO of iodepth=1; you need to scale this via numjobs. blocksize defines the size of the objects to be created. TRIM is translated to object deletion. **gfapi** Using GlusterFS libgfapi sync interface to direct access to GlusterFS volumes without having to go through FUSE. This ioengine defines engine specific options. **gfapi_async** Using GlusterFS libgfapi async interface to direct access to GlusterFS volumes without having to go through FUSE. This ioengine defines engine specific options. **libhdfs** Read and write through Hadoop (HDFS). The :option:`filename` option is used to specify host,port of the hdfs name-node to connect. This engine interprets offsets a little differently. In HDFS, files once created cannot be modified so random writes are not possible. To imitate this the libhdfs engine expects a bunch of small files to be created over HDFS and will randomly pick a file from them based on the offset generated by fio backend (see the example job file to create such files, use ``rw=write`` option). Please note, it may be necessary to set environment variables to work with HDFS/libhdfs properly. Each job uses its own connection to HDFS. **mtd** Read, write and erase an MTD character device (e.g., :file:`/dev/mtd0`). Discards are treated as erases. Depending on the underlying device type, the I/O may have to go in a certain pattern, e.g., on NAND, writing sequentially to erase blocks and discarding before overwriting. The `trimwrite` mode works well for this constraint. **dev-dax** Read and write using device DAX to a persistent memory device (e.g., /dev/dax0.0) through the PMDK libpmem library. **external** Prefix to specify loading an external I/O engine object file. Append the engine filename, e.g. ``ioengine=external:/tmp/foo.o`` to load ioengine :file:`foo.o` in :file:`/tmp`. The path can be either absolute or relative. See :file:`engines/skeleton_external.c` for details of writing an external I/O engine. **libpmem** Read and write using mmap I/O to a file on a filesystem mounted with DAX on a persistent memory device through the PMDK libpmem library. **ime_psync** Synchronous read and write using DDN's Infinite Memory Engine (IME). This engine is very basic and issues calls to IME whenever an IO is queued. **ime_psyncv** Synchronous read and write using DDN's Infinite Memory Engine (IME). This engine uses iovecs and will try to stack as much IOs as possible (if the IOs are "contiguous" and the IO depth is not exceeded) before issuing a call to IME. **ime_aio** Asynchronous read and write using DDN's Infinite Memory Engine (IME). This engine will try to stack as much IOs as possible by creating requests for IME. FIO will then decide when to commit these requests. **libiscsi** Read and write iscsi lun with libiscsi. **nbd** Read and write a Network Block Device (NBD). **libcufile** I/O engine supporting libcufile synchronous access to nvidia-fs and a GPUDirect Storage-supported filesystem. This engine performs I/O without transferring buffers between user-space and the kernel, unless :option:`verify` is set or :option:`cuda_io` is `posix`. :option:`iomem` must not be `cudamalloc`. This ioengine defines engine specific options. **dfs** I/O engine supporting asynchronous read and write operations to the DAOS File System (DFS) via libdfs. **nfs** I/O engine supporting asynchronous read and write operations to NFS filesystems from userspace via libnfs. This is useful for achieving higher concurrency and thus throughput than is possible via kernel NFS. **exec** Execute 3rd party tools. Could be used to perform monitoring during jobs runtime. **xnvme** I/O engine using the xNVMe C API, for NVMe devices. The xnvme engine provides flexibility to access GNU/Linux Kernel NVMe driver via libaio, IOCTLs, io_uring, the SPDK NVMe driver, or your own custom NVMe driver. The xnvme engine includes engine specific options. (See https://xnvme.io). **libblkio** Use the libblkio library (https://gitlab.com/libblkio/libblkio). The specific *driver* to use must be set using :option:`libblkio_driver`. If :option:`mem`/:option:`iomem` is not specified, memory allocation is delegated to libblkio (and so is guaranteed to work with the selected *driver*). One libblkio instance is used per process, so all jobs setting option :option:`thread` will share a single instance (with one queue per thread) and must specify compatible options. Note that some drivers don't allow several instances to access the same device or file simultaneously, but allow it for threads. File/directory operation engines define how the job operates file or directory. The following types are defined: **filecreate** Simply create the files and do no I/O to them. You still need to set `filesize` so that all the accounting still occurs, but no actual I/O will be done other than creating the file. Example job file: filecreate-ioengine.fio. **filestat** Simply do stat() and do no I/O to the file. You need to set 'filesize' and 'nrfiles', so that files will be created. This engine is to measure file lookup and meta data access. Example job file: filestat-ioengine.fio. **filedelete** Simply delete the files by unlink() and do no I/O to them. You need to set 'filesize' and 'nrfiles', so that the files will be created. This engine is to measure file delete. Example job file: filedelete-ioengine.fio. **dircreate** Simply create the directories and do no I/O to them. You still need to set `filesize` so that all the accounting still occurs, but no actual I/O will be done other than creating the directories. Example job file: dircreate-ioengine.fio. **dirstat** Simply do stat() and do no I/O to the directories. You need to set 'filesize' and 'nrfiles', so that directories will be created. This engine is to measure directory lookup and meta data access. Example job file: dirstat-ioengine.fio. **dirdelete** Simply delete the directories by rmdir() and do no I/O to them. You need to set 'filesize' and 'nrfiles', so that the directories will be created. This engine is to measure directory delete. Example job file: dirdelete-ioengine.fio. For file and directory operation engines, there is no I/O throughput, then the statistics data in report have different meanings. The meaningful output indexes are: 'iops' and 'clat'. 'bw' is meaningless. Refer to section: "Interpreting the output" for more details. I/O engine specific parameters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In addition, there are some parameters which are only valid when a specific :option:`ioengine` is in use. These are used identically to normal parameters, with the caveat that when used on the command line, they must come after the :option:`ioengine` that defines them is selected. .. option:: cmdprio_percentage=int[,int] : [io_uring] [libaio] Set the percentage of I/O that will be issued with the highest priority. Default: 0. A single value applies to reads and writes. Comma-separated values may be specified for reads and writes. For this option to be effective, NCQ priority must be supported and enabled, and the :option:`direct` option must be set. fio must also be run as the root user. Unlike slat/clat/lat stats, which can be tracked and reported independently, per priority stats only track and report a single type of latency. By default, completion latency (clat) will be reported, if :option:`lat_percentiles` is set, total latency (lat) will be reported. .. option:: cmdprio_class=int[,int] : [io_uring] [libaio] Set the I/O priority class to use for I/Os that must be issued with a priority when :option:`cmdprio_percentage` or :option:`cmdprio_bssplit` is set. If not specified when :option:`cmdprio_percentage` or :option:`cmdprio_bssplit` is set, this defaults to the highest priority class. A single value applies to reads and writes. Comma-separated values may be specified for reads and writes. See :manpage:`ionice(1)`. See also the :option:`prioclass` option. .. option:: cmdprio_hint=int[,int] : [io_uring] [libaio] Set the I/O priority hint to use for I/Os that must be issued with a priority when :option:`cmdprio_percentage` or :option:`cmdprio_bssplit` is set. If not specified when :option:`cmdprio_percentage` or :option:`cmdprio_bssplit` is set, this defaults to 0 (no hint). A single value applies to reads and writes. Comma-separated values may be specified for reads and writes. See also the :option:`priohint` option. .. option:: cmdprio=int[,int] : [io_uring] [libaio] Set the I/O priority value to use for I/Os that must be issued with a priority when :option:`cmdprio_percentage` or :option:`cmdprio_bssplit` is set. If not specified when :option:`cmdprio_percentage` or :option:`cmdprio_bssplit` is set, this defaults to 0. Linux limits us to a positive value between 0 and 7, with 0 being the highest. A single value applies to reads and writes. Comma-separated values may be specified for reads and writes. See :manpage:`ionice(1)`. Refer to an appropriate manpage for other operating systems since meaning of priority may differ. See also the :option:`prio` option. .. option:: cmdprio_bssplit=str[,str] : [io_uring] [libaio] To get a finer control over I/O priority, this option allows specifying the percentage of IOs that must have a priority set depending on the block size of the IO. This option is useful only when used together with the :option:`bssplit` option, that is, multiple different block sizes are used for reads and writes. The first accepted format for this option is the same as the format of the :option:`bssplit` option: cmdprio_bssplit=blocksize/percentage:blocksize/percentage In this case, each entry will use the priority class, priority hint and priority level defined by the options :option:`cmdprio_class`, :option:`cmdprio` and :option:`cmdprio_hint` respectively. The second accepted format for this option is: cmdprio_bssplit=blocksize/percentage/class/level:blocksize/percentage/class/level In this case, the priority class and priority level is defined inside each entry. In comparison with the first accepted format, the second accepted format does not restrict all entries to have the same priority class and priority level. The third accepted format for this option is: cmdprio_bssplit=blocksize/percentage/class/level/hint:... This is an extension of the second accepted format that allows one to also specify a priority hint. For all formats, only the read and write data directions are supported, values for trim IOs are ignored. This option is mutually exclusive with the :option:`cmdprio_percentage` option. .. option:: fixedbufs : [io_uring] [io_uring_cmd] If fio is asked to do direct IO, then Linux will map pages for each IO call, and release them when IO is done. If this option is set, the pages are pre-mapped before IO is started. This eliminates the need to map and release for each IO. This is more efficient, and reduces the IO latency as well. .. option:: nonvectored=int : [io_uring] [io_uring_cmd] With this option, fio will use non-vectored read/write commands, where address must contain the address directly. Default is -1. .. option:: force_async=int : [io_uring] [io_uring_cmd] Normal operation for io_uring is to try and issue an sqe as non-blocking first, and if that fails, execute it in an async manner. With this option set to N, then every N request fio will ask sqe to be issued in an async manner. Default is 0. .. option:: registerfiles : [io_uring] [io_uring_cmd] With this option, fio registers the set of files being used with the kernel. This avoids the overhead of managing file counts in the kernel, making the submission and completion part more lightweight. Required for the below :option:`sqthread_poll` option. .. option:: sqthread_poll : [io_uring] [io_uring_cmd] [xnvme] Normally fio will submit IO by issuing a system call to notify the kernel of available items in the SQ ring. If this option is set, the act of submitting IO will be done by a polling thread in the kernel. This frees up cycles for fio, at the cost of using more CPU in the system. As submission is just the time it takes to fill in the sqe entries and any syscall required to wake up the idle kernel thread, fio will not report submission latencies. .. option:: sqthread_poll_cpu=int : [io_uring] [io_uring_cmd] When :option:`sqthread_poll` is set, this option provides a way to define which CPU should be used for the polling thread. .. option:: cmd_type=str : [io_uring_cmd] Specifies the type of uring passthrough command to be used. Supported value is nvme. Default is nvme. .. option:: hipri [io_uring] [io_uring_cmd] [xnvme] If this option is set, fio will attempt to use polled IO completions. Normal IO completions generate interrupts to signal the completion of IO, polled completions do not. Hence they are require active reaping by the application. The benefits are more efficient IO for high IOPS scenarios, and lower latencies for low queue depth IO. [libblkio] Use poll queues. This is incompatible with :option:`libblkio_wait_mode=eventfd ` and :option:`libblkio_force_enable_completion_eventfd`. [pvsync2] Set RWF_HIPRI on I/O, indicating to the kernel that it's of higher priority than normal. [sg] If this option is set, fio will attempt to use polled IO completions. This will have a similar effect as (io_uring)hipri. Only SCSI READ and WRITE commands will have the SGV4_FLAG_HIPRI set (not UNMAP (trim) nor VERIFY). Older versions of the Linux sg driver that do not support hipri will simply ignore this flag and do normal IO. The Linux SCSI Low Level Driver (LLD) that "owns" the device also needs to support hipri (also known as iopoll and mq_poll). The MegaRAID driver is an example of a SCSI LLD. Default: clear (0) which does normal (interrupted based) IO. .. option:: userspace_reap : [libaio] Normally, with the libaio engine in use, fio will use the :manpage:`io_getevents(2)` system call to reap newly returned events. With this flag turned on, the AIO ring will be read directly from user-space to reap events. The reaping mode is only enabled when polling for a minimum of 0 events (e.g. when :option:`iodepth_batch_complete` `=0`). .. option:: hipri_percentage : [pvsync2] When hipri is set this determines the probability of a pvsync2 I/O being high priority. The default is 100%. .. option:: nowait=bool : [pvsync2] [libaio] [io_uring] [io_uring_cmd] By default if a request cannot be executed immediately (e.g. resource starvation, waiting on locks) it is queued and the initiating process will be blocked until the required resource becomes free. This option sets the RWF_NOWAIT flag (supported from the 4.14 Linux kernel) and the call will return instantly with EAGAIN or a partial result rather than waiting. It is useful to also use ignore_error=EAGAIN when using this option. Note: glibc 2.27, 2.28 have a bug in syscall wrappers preadv2, pwritev2. They return EOPNOTSUP instead of EAGAIN. For cached I/O, using this option usually means a request operates only with cached data. Currently the RWF_NOWAIT flag does not supported for cached write. For direct I/O, requests will only succeed if cache invalidation isn't required, file blocks are fully allocated and the disk request could be issued immediately. .. option:: atomic=bool : [pvsync2] [libaio] [io_uring] This option means that writes are issued with torn-write protection, meaning that for a power fail or kernel crash, all or none of the data from the write will be stored, but never a mix of old and new data. Torn-write protection is also known as atomic writes. This option sets the RWF_ATOMIC flag (supported from the 6.11 Linux kernel) on a per-IO basis. Writes with RWF_ATOMIC set will be rejected by the kernel when the file does not support torn-write protection. To learn a file's torn-write limits, issue statx with STATX_WRITE_ATOMIC. .. option:: libaio_vectored=bool : [libaio] Submit vectored read and write requests. .. option:: fdp=bool : [io_uring_cmd] [xnvme] Enable Flexible Data Placement mode for write commands. .. option:: dataplacement=str : [io_uring_cmd] [xnvme] Specifies the data placement directive type to use for write commands. The following types are supported: **none** Do not use a data placement directive. This is the default. **fdp** Use Flexible Data Placement directives for write commands. This is equivalent to specifying :option:`fdp` =1. **streams** Use Streams directives for write commands. .. option:: plid_select=str, fdp_pli_select=str : [io_uring_cmd] [xnvme] Defines how fio decides which placement ID to use next. The following types are defined: **random** Choose a placement ID at random (uniform). **roundrobin** Round robin over available placement IDs. This is the default. **scheme** Choose a placement ID (index) based on the scheme file defined by the option :option:`dp_scheme`. The available placement ID (indices) are defined by the option :option:`fdp_pli` or :option:`plids` except for the case of **scheme**. .. option:: plids=str, fdp_pli=str : [io_uring_cmd] [xnvme] Select which Placement ID Indices (FDP) or Placement IDs (streams) this job is allowed to use for writes. This option accepts a comma-separated list of values or ranges (e.g., 1,2-4,5,6-8). For FDP by default, the job will cycle through all available Placement IDs, so use this option to be selective. The values specified here are array indices for the list of placement IDs returned by the nvme-cli command ``nvme fdp status``. If you want fio to use FDP placement identifiers only at indices 0, 2 and 5, set ``plids=0,2,5``. For streams this should be a list of Stream IDs. .. option:: dp_scheme=str : [io_uring_cmd] [xnvme] Defines which placement ID (index) to be selected based on offset(LBA) range. The file should contains one or more scheme entries in the following format: 0, 10737418240, 0 10737418240, 21474836480, 1 21474836480, 32212254720, 2 ... Each line, a scheme entry, contains start offset, end offset, and placement ID (index) separated by comma(,). If the write offset is within the range of a certain scheme entry(start offset ≤ offset < end offset), the corresponding placement ID (index) will be selected. If the write offset belongs to multiple scheme entries, the first matched scheme entry will be applied. If the offset is not within any range of scheme entry, dspec field will be set to 0, default RUH. (Caution: In case of multiple devices in a job, all devices of the job will be affected by the scheme. If this option is specified, the option :option:`plids` or :option:`fdp_pli` will be ignored.) .. option:: md_per_io_size=int : [io_uring_cmd] [xnvme] Size in bytes for separate metadata buffer per IO. For io_uring_cmd these buffers are allocated using malloc regardless of what is set for :option:`iomem`. Default: 0. .. option:: pi_act=int : [io_uring_cmd] [xnvme] Action to take when nvme namespace is formatted with protection information. If this is set to 1 and namespace is formatted with metadata size equal to protection information size, fio won't use separate metadata buffer or extended logical block. If this is set to 1 and namespace is formatted with metadata size greater than protection information size, fio will not generate or verify the protection information portion of metadata for write or read case respectively. If this is set to 0, fio generates protection information for write case and verifies for read case. Default: 1. For 16 bit CRC generation fio will use isa-l if available otherwise it will use the default slower generator. (see: https://github.com/intel/isa-l) .. option:: pi_chk=str[,str][,str] : [io_uring_cmd] [xnvme] Controls the protection information check. This can take one or more of these values. Default: none. **GUARD** Enables protection information checking of guard field. **REFTAG** Enables protection information checking of logical block reference tag field. **APPTAG** Enables protection information checking of application tag field. .. option:: apptag=int : [io_uring_cmd] [xnvme] Specifies logical block application tag value, if namespace is formatted to use end to end protection information. Default: 0x1234. .. option:: apptag_mask=int : [io_uring_cmd] [xnvme] Specifies logical block application tag mask value, if namespace is formatted to use end to end protection information. Default: 0xffff. .. option:: num_range=int : [io_uring_cmd] For trim command this will be the number of ranges to trim per I/O request. The number of logical blocks per range is determined by the :option:`bs` option which should be a multiple of logical block size. This cannot be used with read or write. Note that setting this option > 1, :option:`log_offset` will not be able to log all the offsets. Default: 1. .. option:: cpuload=int : [cpuio] Attempt to use the specified percentage of CPU cycles. This is a mandatory option when using cpuio I/O engine. .. option:: cpuchunks=int : [cpuio] Split the load into cycles of the given time. In microseconds. .. option:: cpumode=str : [cpuio] Specify how to stress the CPU. It can take these two values: **noop** This is the default where the CPU executes noop instructions. **qsort** Replace the default noop instructions loop with a qsort algorithm to consume more energy. .. option:: exit_on_io_done=bool : [cpuio] Detect when I/O threads are done, then exit. .. option:: namenode=str : [libhdfs] The hostname or IP address of a HDFS cluster namenode to contact. .. option:: port=int [libhdfs] The listening port of the HFDS cluster namenode. [netsplice], [net] The TCP or UDP port to bind to or connect to. If this is used with :option:`numjobs` to spawn multiple instances of the same job type, then this will be the starting port number since fio will use a range of ports. [rdma] The port to use for RDMA-CM communication. This should be the same value on the client and the server side. .. option:: hostname=str : [netsplice] [net] [rdma] The hostname or IP address to use for TCP, UDP or RDMA-CM based I/O. If the job is a TCP listener or UDP reader, the hostname is not used and must be omitted unless it is a valid UDP multicast address. .. option:: interface=str : [netsplice] [net] The IP address of the network interface used to send or receive UDP multicast. .. option:: ttl=int : [netsplice] [net] Time-to-live value for outgoing UDP multicast packets. Default: 1. .. option:: nodelay=bool : [netsplice] [net] Set TCP_NODELAY on TCP connections. .. option:: protocol=str, proto=str : [netsplice] [net] The network protocol to use. Accepted values are: **tcp** Transmission control protocol. **tcpv6** Transmission control protocol V6. **udp** User datagram protocol. **udpv6** User datagram protocol V6. **unix** UNIX domain socket. **vsock** VSOCK protocol. When the protocol is TCP, UDP or VSOCK, the port must also be given, as well as the hostname if the job is a TCP or VSOCK listener or UDP reader. For unix sockets, the normal :option:`filename` option should be used and the port is invalid. When the protocol is VSOCK, the :option:`hostname` is the CID of the remote VM. .. option:: listen : [netsplice] [net] For TCP network connections, tell fio to listen for incoming connections rather than initiating an outgoing connection. The :option:`hostname` must be omitted if this option is used. .. option:: pingpong : [netsplice] [net] Normally a network writer will just continue writing data, and a network reader will just consume packages. If ``pingpong=1`` is set, a writer will send its normal payload to the reader, then wait for the reader to send the same payload back. This allows fio to measure network latencies. The submission and completion latencies then measure local time spent sending or receiving, and the completion latency measures how long it took for the other end to receive and send back. For UDP multicast traffic ``pingpong=1`` should only be set for a single reader when multiple readers are listening to the same address. .. option:: window_size : [netsplice] [net] Set the desired socket buffer size for the connection. .. option:: mss : [netsplice] [net] Set the TCP maximum segment size (TCP_MAXSEG). .. option:: donorname=str : [e4defrag] File will be used as a block donor (swap extents between files). .. option:: inplace=int : [e4defrag] Configure donor file blocks allocation strategy: **0** Default. Preallocate donor's file on init. **1** Allocate space immediately inside defragment event, and free right after event. .. option:: clustername=str : [rbd,rados] Specifies the name of the Ceph cluster. .. option:: rbdname=str : [rbd] Specifies the name of the RBD. .. option:: clientname=str : [rbd,rados] Specifies the username (without the 'client.' prefix) used to access the Ceph cluster. If the *clustername* is specified, the *clientname* shall be the full *type.id* string. If no type. prefix is given, fio will add 'client.' by default. .. option:: conf=str : [rados] Specifies the configuration path of ceph cluster, so conf file does not have to be /etc/ceph/ceph.conf. .. option:: busy_poll=bool : [rbd,rados] Poll store instead of waiting for completion. Usually this provides better throughput at cost of higher(up to 100%) CPU utilization. .. option:: touch_objects=bool : [rados] During initialization, touch (create if do not exist) all objects (files). Touching all objects affects ceph caches and likely impacts test results. Enabled by default. .. option:: pool=str : [rbd,rados] Specifies the name of the Ceph pool containing RBD or RADOS data. [dfs] Specify the label or UUID of the DAOS pool to connect to. .. option:: cont=str : [dfs] Specify the label or UUID of the DAOS container to open. .. option:: chunk_size=int [dfs] Specify a different chunk size (in bytes) for the dfs file. Use DAOS container's chunk size by default. [libhdfs] The size of the chunk to use for each file. .. option:: object_class=str : [dfs] Specify a different object class for the dfs file. Use DAOS container's object class by default. .. option:: skip_bad=bool : [mtd] Skip operations against known bad blocks. .. option:: hdfsdirectory : [libhdfs] libhdfs will create chunk in this HDFS directory. .. option:: verb=str : [rdma] The RDMA verb to use on this side of the RDMA ioengine connection. Valid values are write, read, send and recv. These correspond to the equivalent RDMA verbs (e.g. write = rdma_write etc.). Note that this only needs to be specified on the client side of the connection. See the examples folder. .. option:: bindname=str : [rdma] The name to use to bind the local RDMA-CM connection to a local RDMA device. This could be a hostname or an IPv4 or IPv6 address. On the server side this will be passed into the rdma_bind_addr() function and on the client site it will be used in the rdma_resolve_add() function. This can be useful when multiple paths exist between the client and the server or in certain loopback configurations. .. option:: stat_type=str : [filestat] Specify stat system call type to measure lookup/getattr performance. Default is **stat** for :manpage:`stat(2)`. .. option:: readfua=bool : [sg] [io_uring_cmd] With readfua option set to 1, read operations include the force unit access (fua) flag. Default is 0. .. option:: writefua=bool : [sg] [io_uring_cmd] With writefua option set to 1, write operations include the force unit access (fua) flag. Default is 0. .. option:: write_mode=str : [io_uring_cmd] Specifies the type of write operation. Defaults to 'write'. **write** Use Write commands for write operations **uncor** Use Write Uncorrectable commands for write operations **zeroes** Use Write Zeroes commands for write operations **verify** Use Verify commands for write operations .. option:: verify_mode=str : [io_uring_cmd] Specifies the type of command to be used in the verification phase. Defaults to 'read'. **read** Use Read commands for data verification **compare** Use Compare commands for data verification. This option is only valid with specific pattern(s), which means it *must* be given with `verify=pattern` and `verify_pattern=`. .. option:: sg_write_mode=str : [sg] Specify the type of write commands to issue. This option can take ten values: **write** This is the default where write opcodes are issued as usual. **write_and_verify** Issue WRITE AND VERIFY commands. The BYTCHK bit is set to 0. This directs the device to carry out a medium verification with no data comparison. The writefua option is ignored with this selection. **verify** This option is deprecated. Use write_and_verify instead. **write_same** Issue WRITE SAME commands. This transfers a single block to the device and writes this same block of data to a contiguous sequence of LBAs beginning at the specified offset. fio's block size parameter specifies the amount of data written with each command. However, the amount of data actually transferred to the device is equal to the device's block (sector) size. For a device with 512 byte sectors, blocksize=8k will write 16 sectors with each command. fio will still generate 8k of data for each command but only the first 512 bytes will be used and transferred to the device. The writefua option is ignored with this selection. **same** This option is deprecated. Use write_same instead. **write_same_ndob** Issue WRITE SAME(16) commands as above but with the No Data Output Buffer (NDOB) bit set. No data will be transferred to the device with this bit set. Data written will be a pre-determined pattern such as all zeroes. **write_stream** Issue WRITE STREAM(16) commands. Use the **stream_id** option to specify the stream identifier. **verify_bytchk_00** Issue VERIFY commands with BYTCHK set to 00. This directs the device to carry out a medium verification with no data comparison. **verify_bytchk_01** Issue VERIFY commands with BYTCHK set to 01. This directs the device to compare the data on the device with the data transferred to the device. **verify_bytchk_11** Issue VERIFY commands with BYTCHK set to 11. This transfers a single block to the device and compares the contents of this block with the data on the device beginning at the specified offset. fio's block size parameter specifies the total amount of data compared with this command. However, only one block (sector) worth of data is transferred to the device. This is similar to the WRITE SAME command except that data is compared instead of written. .. option:: stream_id=int : [sg] Set the stream identifier for WRITE STREAM commands. If this is set to 0 (which is not a valid stream identifier) fio will open a stream and then close it when done. Default is 0. .. option:: http_host=str : [http] Hostname to connect to. HTTP port 80 is used automatically when the value of the https parameter is *off*, and HTTPS port 443 if it is *on*. A virtual-hosted-style S3 hostname starts with a bucket name, while a path-style S3 hostname does not. See https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html for detailed examples. Default is **localhost** (path-style S3 hostname) .. option:: http_user=str : [http] Username for HTTP authentication. .. option:: http_pass=str : [http] Password for HTTP authentication. .. option:: https=str : [http] Enable HTTPS instead of http. *on* enables HTTPS; *insecure* will enable HTTPS, but disable SSL peer verification (use with caution!). Default is **off** .. option:: http_mode=str : [http] Which HTTP access mode to use: *webdav*, *swift*, or *s3*. Default is **webdav** .. option:: http_s3_region=str : [http] The S3 region/zone string. Default is **us-east-1** .. option:: http_s3_key=str : [http] The S3 secret key. .. option:: http_s3_keyid=str : [http] The S3 key/access id. .. option:: http_s3_sse_customer_key=str : [http] The encryption customer key in SSE server side. .. option:: http_s3_sse_customer_algorithm=str : [http] The encryption customer algorithm in SSE server side. Default is **AES256** .. option:: http_s3_storage_class=str : [http] Which storage class to access. User-customizable settings. Default is **STANDARD** .. option:: http_swift_auth_token=str : [http] The Swift auth token. See the example configuration file on how to retrieve this. .. option:: http_verbose=int : [http] Enable verbose requests from libcurl. Useful for debugging. 1 turns on verbose logging from libcurl, 2 additionally enables HTTP IO tracing. Default is **0** .. option:: uri=str : [nbd] Specify the NBD URI of the server to test. The string is a standard NBD URI (see https://github.com/NetworkBlockDevice/nbd/tree/master/doc). Example URIs: nbd://localhost:10809 nbd+unix:///?socket=/tmp/socket nbds://tlshost/exportname .. option:: gpu_dev_ids=str : [libcufile] Specify the GPU IDs to use with CUDA. This is a colon-separated list of int. GPUs are assigned to workers roundrobin. Default is 0. .. option:: cuda_io=str : [libcufile] Specify the type of I/O to use with CUDA. Default is **cufile**. **cufile** Use libcufile and nvidia-fs. This option performs I/O directly between a GPUDirect Storage filesystem and GPU buffers, avoiding use of a bounce buffer. If :option:`verify` is set, cudaMemcpy is used to copy verificaton data between RAM and GPU. Verification data is copied from RAM to GPU before a write and from GPU to RAM after a read. :option:`direct` must be 1. **posix** Use POSIX to perform I/O with a RAM buffer, and use cudaMemcpy to transfer data between RAM and the GPUs. Data is copied from GPU to RAM before a write and copied from RAM to GPU after a read. :option:`verify` does not affect use of cudaMemcpy. .. option:: nfs_url=str : [nfs] URL in libnfs format, eg nfs:///path[?arg=val[&arg=val]*] Refer to the libnfs README for more details. .. option:: program=str : [exec] Specify the program to execute. .. option:: arguments=str : [exec] Specify arguments to pass to program. Some special variables can be expanded to pass fio's job details to the program. **%r** Replaced by the duration of the job in seconds. **%n** Replaced by the name of the job. .. option:: grace_time=int : [exec] Specify the time between the SIGTERM and SIGKILL signals. Default is 1 second. .. option:: std_redirect=bool : [exec] If set, stdout and stderr streams are redirected to files named from the job name. Default is true. .. option:: xnvme_async=str : [xnvme] Select the xnvme async command interface. This can take these values. **emu** This is default and use to emulate asynchronous I/O by using a single thread to create a queue pair on top of a synchronous I/O interface using the NVMe driver IOCTL. **thrpool** Emulate an asynchronous I/O interface with a pool of userspace threads on top of a synchronous I/O interface using the NVMe driver IOCTL. By default four threads are used. **io_uring** Linux native asynchronous I/O interface which supports both direct and buffered I/O. **io_uring_cmd** Fast Linux native asynchronous I/O interface for NVMe pass through commands. This only works with NVMe character device (/dev/ngXnY). **libaio** Use Linux aio for Asynchronous I/O. **posix** Use the posix asynchronous I/O interface to perform one or more I/O operations asynchronously. **vfio** Use the user-space VFIO-based backend, implemented using libvfn instead of SPDK. **nil** Do not transfer any data; just pretend to. This is mainly used for introspective performance evaluation. .. option:: xnvme_sync=str : [xnvme] Select the xnvme synchronous command interface. This can take these values. **nvme** This is default and uses Linux NVMe Driver ioctl() for synchronous I/O. **psync** This supports regular as well as vectored pread() and pwrite() commands. **block** This is the same as psync except that it also supports zone management commands using Linux block layer IOCTLs. .. option:: xnvme_admin=str : [xnvme] Select the xnvme admin command interface. This can take these values. **nvme** This is default and uses linux NVMe Driver ioctl() for admin commands. **block** Use Linux Block Layer ioctl() and sysfs for admin commands. .. option:: xnvme_dev_nsid=int : [xnvme] xnvme namespace identifier for userspace NVMe driver, SPDK or vfio. .. option:: xnvme_dev_subnqn=str : [xnvme] Sets the subsystem NQN for fabrics. This is for xNVMe to utilize a fabrics target with multiple systems. .. option:: xnvme_mem=str : [xnvme] Select the xnvme memory backend. This can take these values. **posix** This is the default posix memory backend for linux NVMe driver. **hugepage** Use hugepages, instead of existing posix memory backend. The memory backend uses hugetlbfs. This require users to allocate hugepages, mount hugetlbfs and set an environment variable for XNVME_HUGETLB_PATH. **spdk** Uses SPDK's memory allocator. **vfio** Uses libvfn's memory allocator. This also specifies the use of libvfn backend instead of SPDK. .. option:: xnvme_iovec=int : [xnvme] If this option is set. xnvme will use vectored read/write commands. .. option:: libblkio_driver=str : [libblkio] The libblkio *driver* to use. Different drivers access devices through different underlying interfaces. Available drivers depend on the libblkio version in use and are listed at https://libblkio.gitlab.io/libblkio/blkio.html#drivers .. option:: libblkio_path=str : [libblkio] Sets the value of the driver-specific "path" property before connecting the libblkio instance, which identifies the target device or file on which to perform I/O. Its exact semantics are driver-dependent and not all drivers may support it; see https://libblkio.gitlab.io/libblkio/blkio.html#drivers .. option:: libblkio_pre_connect_props=str : [libblkio] A colon-separated list of additional libblkio properties to be set after creating but before connecting the libblkio instance. Each property must have the format ``=``. Colons can be escaped as ``\:``. These are set after the engine sets any other properties, so those can be overridden. Available properties depend on the libblkio version in use and are listed at https://libblkio.gitlab.io/libblkio/blkio.html#properties .. option:: libblkio_num_entries=int : [libblkio] Sets the value of the driver-specific "num-entries" property before starting the libblkio instance. Its exact semantics are driver-dependent and not all drivers may support it; see https://libblkio.gitlab.io/libblkio/blkio.html#drivers .. option:: libblkio_queue_size=int : [libblkio] Sets the value of the driver-specific "queue-size" property before starting the libblkio instance. Its exact semantics are driver-dependent and not all drivers may support it; see https://libblkio.gitlab.io/libblkio/blkio.html#drivers .. option:: libblkio_pre_start_props=str : [libblkio] A colon-separated list of additional libblkio properties to be set after connecting but before starting the libblkio instance. Each property must have the format ``=``. Colons can be escaped as ``\:``. These are set after the engine sets any other properties, so those can be overridden. Available properties depend on the libblkio version in use and are listed at https://libblkio.gitlab.io/libblkio/blkio.html#properties .. option:: libblkio_vectored : [libblkio] Submit vectored read and write requests. .. option:: libblkio_write_zeroes_on_trim : [libblkio] Submit trims as "write zeroes" requests instead of discard requests. .. option:: libblkio_wait_mode=str : [libblkio] How to wait for completions: **block** (default) Use a blocking call to ``blkioq_do_io()``. **eventfd** Use a blocking call to ``read()`` on the completion eventfd. **loop** Use a busy loop with a non-blocking call to ``blkioq_do_io()``. .. option:: libblkio_force_enable_completion_eventfd : [libblkio] Enable the queue's completion eventfd even when unused. This may impact performance. The default is to enable it only if :option:`libblkio_wait_mode=eventfd `. .. option:: no_completion_thread : [windowsaio] Avoid using a separate thread for completion polling. I/O depth ~~~~~~~~~ .. option:: iodepth=int Number of I/O units to keep in flight against the file. Note that increasing *iodepth* beyond 1 will not affect synchronous ioengines (except for small degrees when :option:`verify_async` is in use). Even async engines may impose OS restrictions causing the desired depth not to be achieved. This may happen on Linux when using libaio and not setting :option:`direct`\=1, since buffered I/O is not async on that OS. Keep an eye on the I/O depth distribution in the fio output to verify that the achieved depth is as expected. Default: 1. .. option:: iodepth_batch_submit=int, iodepth_batch=int This defines how many pieces of I/O to submit at once. It defaults to 1 which means that we submit each I/O as soon as it is available, but can be raised to submit bigger batches of I/O at the time. If it is set to 0 the :option:`iodepth` value will be used. .. option:: iodepth_batch_complete_min=int, iodepth_batch_complete=int This defines how many pieces of I/O to retrieve at once. It defaults to 1 which means that we'll ask for a minimum of 1 I/O in the retrieval process from the kernel. The I/O retrieval will go on until we hit the limit set by :option:`iodepth_low`. If this variable is set to 0, then fio will always check for completed events before queuing more I/O. This helps reduce I/O latency, at the cost of more retrieval system calls. .. option:: iodepth_batch_complete_max=int This defines maximum pieces of I/O to retrieve at once. This variable should be used along with :option:`iodepth_batch_complete_min`\=int variable, specifying the range of min and max amount of I/O which should be retrieved. By default it is equal to the :option:`iodepth_batch_complete_min` value. Example #1:: iodepth_batch_complete_min=1 iodepth_batch_complete_max= which means that we will retrieve at least 1 I/O and up to the whole submitted queue depth. If none of I/O has been completed yet, we will wait. Example #2:: iodepth_batch_complete_min=0 iodepth_batch_complete_max= which means that we can retrieve up to the whole submitted queue depth, but if none of I/O has been completed yet, we will NOT wait and immediately exit the system call. In this example we simply do polling. .. option:: iodepth_low=int The low water mark indicating when to start filling the queue again. Defaults to the same as :option:`iodepth`, meaning that fio will attempt to keep the queue full at all times. If :option:`iodepth` is set to e.g. 16 and *iodepth_low* is set to 4, then after fio has filled the queue of 16 requests, it will let the depth drain down to 4 before starting to fill it again. .. option:: serialize_overlap=bool Serialize in-flight I/Os that might otherwise cause or suffer from data races. When two or more I/Os are submitted simultaneously, there is no guarantee that the I/Os will be processed or completed in the submitted order. Further, if two or more of those I/Os are writes, any overlapping region between them can become indeterminate/undefined on certain storage. These issues can cause verification to fail erratically when at least one of the racing I/Os is changing data and the overlapping region has a non-zero size. Setting ``serialize_overlap`` tells fio to avoid provoking this behavior by explicitly serializing in-flight I/Os that have a non-zero overlap. Note that setting this option can reduce both performance and the :option:`iodepth` achieved. This option only applies to I/Os issued for a single job except when it is enabled along with :option:`io_submit_mode`\=offload. In offload mode, fio will check for overlap among all I/Os submitted by offload jobs with :option:`serialize_overlap` enabled. Default: false. .. option:: io_submit_mode=str This option controls how fio submits the I/O to the I/O engine. The default is `inline`, which means that the fio job threads submit and reap I/O directly. If set to `offload`, the job threads will offload I/O submission to a dedicated pool of I/O threads. This requires some coordination and thus has a bit of extra overhead, especially for lower queue depth I/O where it can increase latencies. The benefit is that fio can manage submission rates independently of the device completion rates. This avoids skewed latency reporting if I/O gets backed up on the device side (the coordinated omission problem). Note that this option cannot reliably be used with async IO engines. I/O rate ~~~~~~~~ .. option:: thinkcycles=int Stall the job for the specified number of cycles after an I/O has completed before issuing the next. May be used to simulate processing being done by an application. This is not taken into account for the time to be waited on for :option:`thinktime`. Might not have any effect on some platforms, this can be checked by trying a setting a high enough amount of thinkcycles. .. option:: thinktime=time Stall the job for the specified period of time after an I/O has completed before issuing the next. May be used to simulate processing being done by an application. When the unit is omitted, the value is interpreted in microseconds. See :option:`thinktime_blocks`, :option:`thinktime_iotime` and :option:`thinktime_spin`. .. option:: thinktime_spin=time Only valid if :option:`thinktime` is set - pretend to spend CPU time doing something with the data received, before falling back to sleeping for the rest of the period specified by :option:`thinktime`. When the unit is omitted, the value is interpreted in microseconds. .. option:: thinktime_blocks=int Only valid if :option:`thinktime` is set - control how many blocks to issue, before waiting :option:`thinktime` usecs. If not set, defaults to 1 which will make fio wait :option:`thinktime` usecs after every block. This effectively makes any queue depth setting redundant, since no more than 1 I/O will be queued before we have to complete it and do our :option:`thinktime`. In other words, this setting effectively caps the queue depth if the latter is larger. .. option:: thinktime_blocks_type=str Only valid if :option:`thinktime` is set - control how :option:`thinktime_blocks` triggers. The default is `complete`, which triggers thinktime when fio completes :option:`thinktime_blocks` blocks. If this is set to `issue`, then the trigger happens at the issue side. .. option:: thinktime_iotime=time Only valid if :option:`thinktime` is set - control :option:`thinktime` interval by time. The :option:`thinktime` stall is repeated after IOs are executed for :option:`thinktime_iotime`. For example, ``--thinktime_iotime=9s --thinktime=1s`` repeat 10-second cycle with IOs for 9 seconds and stall for 1 second. When the unit is omitted, :option:`thinktime_iotime` is interpreted as a number of seconds. If this option is used together with :option:`thinktime_blocks`, the :option:`thinktime` stall is repeated after :option:`thinktime_iotime` or after :option:`thinktime_blocks` IOs, whichever happens first. .. option:: rate=int[,int][,int] Cap the bandwidth used by this job. The number is in bytes/sec, the normal suffix rules apply. Comma-separated values may be specified for reads, writes, and trims as described in :option:`blocksize`. For example, using `rate=1m,500k` would limit reads to 1MiB/sec and writes to 500KiB/sec. Capping only reads or writes can be done with `rate=,500k` or `rate=500k,` where the former will only limit writes (to 500KiB/sec) and the latter will only limit reads. .. option:: rate_min=int[,int][,int] Tell fio to do whatever it can to maintain at least this bandwidth. Failing to meet this requirement will cause the job to exit. Comma-separated values may be specified for reads, writes, and trims as described in :option:`blocksize`. .. option:: rate_iops=int[,int][,int] Cap the bandwidth to this number of IOPS. Basically the same as :option:`rate`, just specified independently of bandwidth. If the job is given a block size range instead of a fixed value, the smallest block size is used as the metric. Comma-separated values may be specified for reads, writes, and trims as described in :option:`blocksize`. .. option:: rate_iops_min=int[,int][,int] If fio doesn't meet this rate of I/O, it will cause the job to exit. Comma-separated values may be specified for reads, writes, and trims as described in :option:`blocksize`. .. option:: rate_process=str This option controls how fio manages rated I/O submissions. The default is `linear`, which submits I/O in a linear fashion with fixed delays between I/Os that gets adjusted based on I/O completion rates. If this is set to `poisson`, fio will submit I/O based on a more real world random request flow, known as the Poisson process (https://en.wikipedia.org/wiki/Poisson_point_process). The lambda will be 10^6 / IOPS for the given workload. .. option:: rate_ignore_thinktime=bool By default, fio will attempt to catch up to the specified rate setting, if any kind of thinktime setting was used. If this option is set, then fio will ignore the thinktime and continue doing IO at the specified rate, instead of entering a catch-up mode after thinktime is done. .. option:: rate_cycle=int Average bandwidth for :option:`rate_min` and :option:`rate_iops_min` over this number of milliseconds. Defaults to 1000. I/O latency ~~~~~~~~~~~ .. option:: latency_target=time If set, fio will attempt to find the max performance point that the given workload will run at while maintaining a latency below this target. When the unit is omitted, the value is interpreted in microseconds. See :option:`latency_window` and :option:`latency_percentile`. .. option:: latency_window=time Used with :option:`latency_target` to specify the sample window that the job is run at varying queue depths to test the performance. When the unit is omitted, the value is interpreted in microseconds. .. option:: latency_percentile=float The percentage of I/Os that must fall within the criteria specified by :option:`latency_target` and :option:`latency_window`. If not set, this defaults to 100.0, meaning that all I/Os must be equal or below to the value set by :option:`latency_target`. .. option:: latency_run=bool Used with :option:`latency_target`. If false (default), fio will find the highest queue depth that meets :option:`latency_target` and exit. If true, fio will continue running and try to meet :option:`latency_target` by adjusting queue depth. .. option:: max_latency=time[,time][,time] If set, fio will exit the job with an ETIMEDOUT error if it exceeds this maximum latency. When the unit is omitted, the value is interpreted in microseconds. Comma-separated values may be specified for reads, writes, and trims as described in :option:`blocksize`. I/O replay ~~~~~~~~~~ .. option:: write_iolog=str Write the issued I/O patterns to the specified file. See :option:`read_iolog`. Specify a separate file for each job, otherwise the iologs will be interspersed and the file may be corrupt. This file will be opened in append mode. .. option:: read_iolog=str Open an iolog with the specified filename and replay the I/O patterns it contains. This can be used to store a workload and replay it sometime later. The iolog given may also be a blktrace binary file, which allows fio to replay a workload captured by :command:`blktrace`. See :manpage:`blktrace(8)` for how to capture such logging data. For blktrace replay, the file needs to be turned into a blkparse binary data file first (``blkparse -o /dev/null -d file_for_fio.bin``). You can specify a number of files by separating the names with a ':' character. See the :option:`filename` option for information on how to escape ':' characters within the file names. These files will be sequentially assigned to job clones created by :option:`numjobs`. '-' is a reserved name, meaning read from stdin, notably if :option:`filename` is set to '-' which means stdin as well, then this flag can't be set to '-'. .. option:: read_iolog_chunked=bool Determines how iolog is read. If false(default) entire :option:`read_iolog` will be read at once. If selected true, input from iolog will be read gradually. Useful when iolog is very large, or it is generated. .. option:: merge_blktrace_file=str When specified, rather than replaying the logs passed to :option:`read_iolog`, the logs go through a merge phase which aggregates them into a single blktrace. The resulting file is then passed on as the :option:`read_iolog` parameter. The intention here is to make the order of events consistent. This limits the influence of the scheduler compared to replaying multiple blktraces via concurrent jobs. .. option:: merge_blktrace_scalars=float_list This is a percentage based option that is index paired with the list of files passed to :option:`read_iolog`. When merging is performed, scale the time of each event by the corresponding amount. For example, ``--merge_blktrace_scalars="50:100"`` runs the first trace in halftime and the second trace in realtime. This knob is separately tunable from :option:`replay_time_scale` which scales the trace during runtime and does not change the output of the merge unlike this option. .. option:: merge_blktrace_iters=float_list This is a whole number option that is index paired with the list of files passed to :option:`read_iolog`. When merging is performed, run each trace for the specified number of iterations. For example, ``--merge_blktrace_iters="2:1"`` runs the first trace for two iterations and the second trace for one iteration. .. option:: replay_no_stall=bool When replaying I/O with :option:`read_iolog` the default behavior is to attempt to respect the timestamps within the log and replay them with the appropriate delay between IOPS. By setting this variable fio will not respect the timestamps and attempt to replay them as fast as possible while still respecting ordering. The result is the same I/O pattern to a given device, but different timings. .. option:: replay_time_scale=int When replaying I/O with :option:`read_iolog`, fio will honor the original timing in the trace. With this option, it's possible to scale the time. It's a percentage option, if set to 50 it means run at 50% the original IO rate in the trace. If set to 200, run at twice the original IO rate. Defaults to 100. .. option:: replay_redirect=str While replaying I/O patterns using :option:`read_iolog` the default behavior is to replay the IOPS onto the major/minor device that each IOP was recorded from. This is sometimes undesirable because on a different machine those major/minor numbers can map to a different device. Changing hardware on the same system can also result in a different major/minor mapping. ``replay_redirect`` causes all I/Os to be replayed onto the single specified device regardless of the device it was recorded from. i.e. :option:`replay_redirect`\= :file:`/dev/sdc` would cause all I/O in the blktrace or iolog to be replayed onto :file:`/dev/sdc`. This means multiple devices will be replayed onto a single device, if the trace contains multiple devices. If you want multiple devices to be replayed concurrently to multiple redirected devices you must blkparse your trace into separate traces and replay them with independent fio invocations. Unfortunately this also breaks the strict time ordering between multiple device accesses. .. option:: replay_align=int Force alignment of the byte offsets in a trace to this value. The value must be a power of 2. .. option:: replay_scale=int Scale byte offsets down by this factor when replaying traces. Should most likely use :option:`replay_align` as well. .. option:: replay_skip=str Sometimes it's useful to skip certain IO types in a replay trace. This could be, for instance, eliminating the writes in the trace. Or not replaying the trims/discards, if you are redirecting to a device that doesn't support them. This option takes a comma separated list of read, write, trim, sync. Threads, processes and job synchronization ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. option:: thread Fio defaults to creating jobs by using fork, however if this option is given, fio will create jobs by using POSIX Threads' function :manpage:`pthread_create(3)` to create threads instead. .. option:: wait_for=str If set, the current job won't be started until all workers of the specified waitee job are done. ``wait_for`` operates on the job name basis, so there are a few limitations. First, the waitee must be defined prior to the waiter job (meaning no forward references). Second, if a job is being referenced as a waitee, it must have a unique name (no duplicate waitees). .. option:: nice=int Run the job with the given nice value. See man :manpage:`nice(2)`. On Windows, values less than -15 set the process class to "High"; -1 through -15 set "Above Normal"; 1 through 15 "Below Normal"; and above 15 "Idle" priority class. .. option:: prio=int Set the I/O priority value of this job. Linux limits us to a positive value between 0 and 7, with 0 being the highest. See man :manpage:`ionice(1)`. Refer to an appropriate manpage for other operating systems since meaning of priority may differ. For per-command priority setting, see I/O engine specific :option:`cmdprio_percentage` and :option:`cmdprio` options. .. option:: prioclass=int Set the I/O priority class. See man :manpage:`ionice(1)`. For per-command priority setting, see I/O engine specific :option:`cmdprio_percentage` and :option:`cmdprio_class` options. .. option:: priohint=int Set the I/O priority hint. This is only applicable to platforms that support I/O priority classes and to devices with features controlled through priority hints, e.g. block devices supporting command duration limits, or CDL. CDL is a way to indicate the desired maximum latency of I/Os so that the device can optimize its internal command scheduling according to the latency limits indicated by the user. For per-I/O priority hint setting, see the I/O engine specific :option:`cmdprio_hint` option. .. option:: cpus_allowed=str Controls the same options as :option:`cpumask`, but accepts a textual specification of the permitted CPUs instead and CPUs are indexed from 0. So to use CPUs 0 and 5 you would specify ``cpus_allowed=0,5``. This option also allows a range of CPUs to be specified -- say you wanted a binding to CPUs 0, 5, and 8 to 15, you would set ``cpus_allowed=0,5,8-15``. On Windows, when ``cpus_allowed`` is unset only CPUs from fio's current processor group will be used and affinity settings are inherited from the system. An fio build configured to target Windows 7 makes options that set CPUs processor group aware and values will set both the processor group and a CPU from within that group. For example, on a system where processor group 0 has 40 CPUs and processor group 1 has 32 CPUs, ``cpus_allowed`` values between 0 and 39 will bind CPUs from processor group 0 and ``cpus_allowed`` values between 40 and 71 will bind CPUs from processor group 1. When using ``cpus_allowed_policy=shared`` all CPUs specified by a single ``cpus_allowed`` option must be from the same processor group. For Windows fio builds not built for Windows 7, CPUs will only be selected from (and be relative to) whatever processor group fio happens to be running in and CPUs from other processor groups cannot be used. .. option:: cpus_allowed_policy=str Set the policy of how fio distributes the CPUs specified by :option:`cpus_allowed` or :option:`cpumask`. Two policies are supported: **shared** All jobs will share the CPU set specified. **split** Each job will get a unique CPU from the CPU set. **shared** is the default behavior, if the option isn't specified. If **split** is specified, then fio will assign one cpu per job. If not enough CPUs are given for the jobs listed, then fio will roundrobin the CPUs in the set. .. option:: cpumask=int Set the CPU affinity of this job. The parameter given is a bit mask of allowed CPUs the job may run on. So if you want the allowed CPUs to be 1 and 5, you would pass the decimal value of (1 << 1 | 1 << 5), or 34. See man :manpage:`sched_setaffinity(2)`. This may not work on all supported operating systems or kernel versions. This option doesn't work well for a higher CPU count than what you can store in an integer mask, so it can only control cpus 1-32. For boxes with larger CPU counts, use :option:`cpus_allowed`. .. option:: numa_cpu_nodes=str Set this job running on specified NUMA nodes' CPUs. The arguments allow comma delimited list of cpu numbers, A-B ranges, or `all`. Note, to enable NUMA options support, fio must be built on a system with libnuma-dev(el) installed. .. option:: numa_mem_policy=str Set this job's memory policy and corresponding NUMA nodes. Format of the arguments:: [:] ``mode`` is one of the following memory policies: ``default``, ``prefer``, ``bind``, ``interleave`` or ``local``. For ``default`` and ``local`` memory policies, no node needs to be specified. For ``prefer``, only one node is allowed. For ``bind`` and ``interleave`` the ``nodelist`` may be as follows: a comma delimited list of numbers, A-B ranges, or `all`. .. option:: cgroup=str Add job to this control group. If it doesn't exist, it will be created. The system must have a mounted cgroup blkio mount point for this to work. If your system doesn't have it mounted, you can do so with:: # mount -t cgroup -o blkio none /cgroup .. option:: cgroup_weight=int Set the weight of the cgroup to this value. See the documentation that comes with the kernel, allowed values are in the range of 100..1000. .. option:: cgroup_nodelete=bool Normally fio will delete the cgroups it has created after the job completion. To override this behavior and to leave cgroups around after the job completion, set ``cgroup_nodelete=1``. This can be useful if one wants to inspect various cgroup files after job completion. Default: false. .. option:: flow_id=int The ID of the flow. If not specified, it defaults to being a global flow. See :option:`flow`. .. option:: flow=int Weight in token-based flow control. If this value is used, then fio regulates the activity between two or more jobs sharing the same flow_id. Fio attempts to keep each job activity proportional to other jobs' activities in the same flow_id group, with respect to requested weight per job. That is, if one job has `flow=3', another job has `flow=2' and another with `flow=1`, then there will be a roughly 3:2:1 ratio in how much one runs vs the others. .. option:: flow_sleep=int The period of time, in microseconds, to wait after the flow counter has exceeded its proportion before retrying operations. .. option:: stonewall, wait_for_previous Wait for preceding jobs in the job file to exit, before starting this one. Can be used to insert serialization points in the job file. A stone wall also implies starting a new reporting group, see :option:`group_reporting`. .. option:: exitall By default, fio will continue running all other jobs when one job finishes. Sometimes this is not the desired action. Setting ``exitall`` will instead make fio terminate all jobs in the same group, as soon as one job of that group finishes. .. option:: exit_what=str By default, fio will continue running all other jobs when one job finishes. Sometimes this is not the desired action. Setting ``exitall`` will instead make fio terminate all jobs in the same group. The option ``exit_what`` allows one to control which jobs get terminated when ``exitall`` is enabled. The default is ``group`` and does not change the behaviour of ``exitall``. The setting ``all`` terminates all jobs. The setting ``stonewall`` terminates all currently running jobs across all groups and continues execution with the next stonewalled group. .. option:: exec_prerun=str Before running this job, issue the command specified through :manpage:`system(3)`. Output is redirected in a file called :file:`jobname.prerun.txt`. .. option:: exec_postrun=str After the job completes, issue the command specified though :manpage:`system(3)`. Output is redirected in a file called :file:`jobname.postrun.txt`. .. option:: uid=int Instead of running as the invoking user, set the user ID to this value before the thread/process does any work. .. option:: gid=int Set group ID, see :option:`uid`. Verification ~~~~~~~~~~~~ .. option:: verify_only Do not perform specified workload, only verify data still matches previous invocation of this workload. This option allows one to check data multiple times at a later date without overwriting it. This option makes sense only for workloads that write data, and does not support workloads with the :option:`time_based` option set. :option:`verify_write_sequence` and :option:`verify_header_seed` will be disabled in this mode, unless they are explicitly enabled. .. option:: do_verify=bool Run the verify phase after a write phase. Only valid if :option:`verify` is set. Default: true. .. option:: verify=str If writing to a file, fio can verify the file contents after each iteration of the job. Each verification method also implies verification of special header, which is written to the beginning of each block. This header also includes meta information, like offset of the block, block number, timestamp when block was written, initial seed value used to generate the buffer contents etc. :option:`verify` can be combined with :option:`verify_pattern` option. The allowed values are: **md5** Use an md5 sum of the data area and store it in the header of each block. **crc64** Use an experimental crc64 sum of the data area and store it in the header of each block. **crc32c** Use a crc32c sum of the data area and store it in the header of each block. This will automatically use hardware acceleration (e.g. SSE4.2 on an x86 or CRC crypto extensions on ARM64) but will fall back to software crc32c if none is found. Generally the fastest checksum fio supports when hardware accelerated. **crc32c-intel** Synonym for crc32c. **crc32** Use a crc32 sum of the data area and store it in the header of each block. **crc16** Use a crc16 sum of the data area and store it in the header of each block. **crc7** Use a crc7 sum of the data area and store it in the header of each block. **xxhash** Use xxhash as the checksum function. Generally the fastest software checksum that fio supports. **sha512** Use sha512 as the checksum function. **sha256** Use sha256 as the checksum function. **sha1** Use optimized sha1 as the checksum function. **sha3-224** Use optimized sha3-224 as the checksum function. **sha3-256** Use optimized sha3-256 as the checksum function. **sha3-384** Use optimized sha3-384 as the checksum function. **sha3-512** Use optimized sha3-512 as the checksum function. **meta** This option is deprecated, since now meta information is included in generic verification header and meta verification happens by default. For detailed information see the description of the :option:`verify` setting. This option is kept because of compatibility's sake with old configurations. Do not use it. **pattern** Verify a strict pattern. Normally fio includes a header with some basic information and checksumming, but if this option is set, only the specific pattern set with :option:`verify_pattern` is verified. **null** Only pretend to verify. Useful for testing internals with :option:`ioengine`\=null, not for much else. This option can be used for repeated burn-in tests of a system to make sure that the written data is also correctly read back. If the data direction given is a read or random read, fio will assume that it should verify a previously written file. In this scenario fio will not verify the block number written in the header. The header seed won't be verified, unless its explicitly requested by setting :option:`verify_header_seed`. Note in this scenario the header seed check will only work if the read invocation exactly matches the original write invocation. If the data direction includes any form of write, the verify will be of the newly written data. To avoid false verification errors, do not use the norandommap option when verifying data with async I/O engines and I/O depths > 1. Or use the norandommap and the lfsr random generator together to avoid writing to the same offset with multiple outstanding I/Os. .. option:: verify_offset=int Swap the verification header with data somewhere else in the block before writing. It is swapped back before verifying. This should be within the range of :option:`verify_interval`. .. option:: verify_interval=int Write the verification header at a finer granularity than the :option:`blocksize`. It will be written for chunks the size of ``verify_interval``. :option:`blocksize` should divide this evenly. .. option:: verify_pattern=str If set, fio will fill the I/O buffers with this pattern. Fio defaults to filling with totally random bytes, but sometimes it's interesting to fill with a known pattern for I/O verification purposes. Depending on the width of the pattern, fio will fill 1/2/3/4 bytes of the buffer at the time (it can be either a decimal or a hex number). The ``verify_pattern`` if larger than a 32-bit quantity has to be a hex number that starts with either "0x" or "0X". Use with :option:`verify`. Also, ``verify_pattern`` supports %o format, which means that for each block offset will be written and then verified back, e.g.:: verify_pattern=%o Or use combination of everything:: verify_pattern=0xff%o"abcd"-12 .. option:: verify_fatal=bool Normally fio will keep checking the entire contents before quitting on a block verification failure. If this option is set, fio will exit the job on the first observed failure. Default: false. .. option:: verify_dump=bool If set, dump the contents of both the original data block and the data block we read off disk to files. This allows later analysis to inspect just what kind of data corruption occurred. Off by default. .. option:: verify_async=int Fio will normally verify I/O inline from the submitting thread. This option takes an integer describing how many async offload threads to create for I/O verification instead, causing fio to offload the duty of verifying I/O contents to one or more separate threads. If using this offload option, even sync I/O engines can benefit from using an :option:`iodepth` setting higher than 1, as it allows them to have I/O in flight while verifies are running. Defaults to 0 async threads, i.e. verification is not asynchronous. .. option:: verify_async_cpus=str Tell fio to set the given CPU affinity on the async I/O verification threads. See :option:`cpus_allowed` for the format used. .. option:: verify_backlog=int Fio will normally verify the written contents of a job that utilizes verify once that job has completed. In other words, everything is written then everything is read back and verified. You may want to verify continually instead for a variety of reasons. Fio stores the meta data associated with an I/O block in memory, so for large verify workloads, quite a bit of memory would be used up holding this meta data. If this option is enabled, fio will write only N blocks before verifying these blocks. .. option:: verify_backlog_batch=int Control how many blocks fio will verify if :option:`verify_backlog` is set. If not set, will default to the value of :option:`verify_backlog` (meaning the entire queue is read back and verified). If ``verify_backlog_batch`` is less than :option:`verify_backlog` then not all blocks will be verified, if ``verify_backlog_batch`` is larger than :option:`verify_backlog`, some blocks will be verified more than once. .. option:: verify_state_save=bool When a job exits during the write phase of a verify workload, save its current state. This allows fio to replay up until that point, if the verify state is loaded for the verify read phase. The format of the filename is, roughly:: ---verify.state. is "local" for a local run, "sock" for a client/server socket connection, and "ip" (192.168.0.1, for instance) for a networked client/server connection. Defaults to true. .. option:: verify_state_load=bool If a verify termination trigger was used, fio stores the current write state of each thread. This can be used at verification time so that fio knows how far it should verify. Without this information, fio will run a full verification pass, according to the settings in the job file used. Default false. .. option:: experimental_verify=bool Enable experimental verification. Standard verify records I/O metadata for later use during the verification phase. Experimental verify instead resets the file after the write phase and then replays I/Os for the verification phase. .. option:: verify_write_sequence=bool Verify the header write sequence number. In a scenario with multiple jobs, verification of the write sequence number may fail. Disabling this option will mean that write sequence number checking is skipped. Doing that can be useful for testing atomic writes, as it means that checksum verification can still be attempted. For when :option:`atomic` is enabled, checksum verification is expected to succeed (while write sequence checking can still fail). Defaults to true. .. option:: verify_header_seed=bool Verify the header seed value which was used to generate the buffer contents. In certain scenarios with read / verify only workloads, when :option:`norandommap` is enabled, with offset modifiers (refer :option:`readwrite` and :option:`rw_sequencer`) etc verification of header seed may fail. Disabling this option will mean that header seed checking is skipped. Defaults to true. .. option:: trim_percentage=int Number of verify blocks to discard/trim. .. option:: trim_verify_zero=bool Verify that trim/discarded blocks are returned as zeros. .. option:: trim_backlog=int Trim after this number of blocks are written. .. option:: trim_backlog_batch=int Trim this number of I/O blocks. Steady state ~~~~~~~~~~~~ .. option:: steadystate=str:float, ss=str:float Define the criterion and limit for assessing steady state performance. The first parameter designates the criterion whereas the second parameter sets the threshold. When the criterion falls below the threshold for the specified duration, the job will stop. For example, `iops_slope:0.1%` will direct fio to terminate the job when the least squares regression slope falls below 0.1% of the mean IOPS. If :option:`group_reporting` is enabled this will apply to all jobs in the group. Below is the list of available steady state assessment criteria. All assessments are carried out using only data from the rolling collection window. Threshold limits can be expressed as a fixed value or as a percentage of the mean in the collection window. When using this feature, most jobs should include the :option:`time_based` and :option:`runtime` options or the :option:`loops` option so that fio does not stop running after it has covered the full size of the specified file(s) or device(s). **iops** Collect IOPS data. Stop the job if all individual IOPS measurements are within the specified limit of the mean IOPS (e.g., ``iops:2`` means that all individual IOPS values must be within 2 of the mean, whereas ``iops:0.2%`` means that all individual IOPS values must be within 0.2% of the mean IOPS to terminate the job). **iops_slope** Collect IOPS data and calculate the least squares regression slope. Stop the job if the slope falls below the specified limit. **bw** Collect bandwidth data. Stop the job if all individual bandwidth measurements are within the specified limit of the mean bandwidth. **bw_slope** Collect bandwidth data and calculate the least squares regression slope. Stop the job if the slope falls below the specified limit. .. option:: steadystate_duration=time, ss_dur=time A rolling window of this duration will be used to judge whether steady state has been reached. Data will be collected every :option:`ss_interval`. The default is 0 which disables steady state detection. When the unit is omitted, the value is interpreted in seconds. .. option:: steadystate_ramp_time=time, ss_ramp=time Allow the job to run for the specified duration before beginning data collection for checking the steady state job termination criterion. The default is 0. When the unit is omitted, the value is interpreted in seconds. .. option:: steadystate_check_interval=time, ss_interval=time The values during the rolling window will be collected with a period of this value. If :option:`ss_interval` is 30s and :option:`ss_dur` is 300s, 10 measurements will be taken. Default is 1s but that might not converge, especially for slower devices, so set this accordingly. When the unit is omitted, the value is interpreted in seconds. Measurements and reporting ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. option:: per_job_logs=bool If set to true, fio generates bw/clat/iops logs with per job unique filenames. If set to false, jobs with identical names will share a log filename. Note that when this option is set to false log files will be opened in append mode and if log files already exist the previous contents will not be overwritten. Default: true. .. option:: group_reporting It may sometimes be interesting to display statistics for groups of jobs as a whole instead of for each individual job. This is especially true if :option:`numjobs` is used; looking at individual thread/process output quickly becomes unwieldy. To see the final report per-group instead of per-job, use :option:`group_reporting`. Jobs in a file will be part of the same reporting group, unless if separated by a :option:`stonewall`, or by using :option:`new_group`. NOTE: When :option:`group_reporting` is used along with `json` output, there are certain per-job properties which can be different between jobs but do not have a natural group-level equivalent. Examples include `kb_base`, `unit_base`, `sig_figs`, `thread_number`, `pid`, and `job_start`. For these properties, the values for the first job are recorded for the group. Also, options like :option:`percentile_list` and :option:`unified_rw_reporting` should be consistent among the jobs in a reporting group. Having options like these vary across the jobs in a reporting group is an unsupported configuration. .. option:: new_group Start a new reporting group. See: :option:`group_reporting`. If not given, all jobs in a file will be part of the same reporting group, unless separated by a :option:`stonewall`. .. option:: stats=bool By default, fio collects and shows final output results for all jobs that run. If this option is set to 0, then fio will ignore it in the final stat output. .. option:: write_bw_log=str If given, write a bandwidth log for this job. Can be used to store data of the bandwidth of the jobs in their lifetime. If no str argument is given, the default filename of :file:`jobname_type.x.log` is used. Even when the argument is given, fio will still append the type of log. So if one specifies:: write_bw_log=foo The actual log name will be :file:`foo_bw.x.log` where `x` is the index of the job (`1..N`, where `N` is the number of jobs). If :option:`per_job_logs` is false, then the filename will not include the `.x` job index. The included :command:`fio_generate_plots` script uses :command:`gnuplot` to turn these text files into nice graphs. See `Log File Formats`_ for how data is structured within the file. .. option:: write_lat_log=str Same as :option:`write_bw_log`, except this option creates I/O submission (e.g., :file:`name_slat.x.log`), completion (e.g., :file:`name_clat.x.log`), and total (e.g., :file:`name_lat.x.log`) latency files instead. See :option:`write_bw_log` for details about the filename format and `Log File Formats`_ for how data is structured within the files. .. option:: write_hist_log=str Same as :option:`write_bw_log` but writes an I/O completion latency histogram file (e.g., :file:`name_hist.x.log`) instead. Note that this file will be empty unless :option:`log_hist_msec` has also been set. See :option:`write_bw_log` for details about the filename format and `Log File Formats`_ for how data is structured within the file. .. option:: write_iops_log=str Same as :option:`write_bw_log`, but writes an IOPS file (e.g. :file:`name_iops.x.log`) instead. Because fio defaults to individual I/O logging, the value entry in the IOPS log will be 1 unless windowed logging (see :option:`log_avg_msec`) has been enabled. See :option:`write_bw_log` for details about the filename format and `Log File Formats`_ for how data is structured within the file. .. option:: log_entries=int By default, fio will log an entry in the iops, latency, or bw log for every I/O that completes. The initial number of I/O log entries is 1024. When the log entries are all used, new log entries are dynamically allocated. This dynamic log entry allocation may negatively impact time-related statistics such as I/O tail latencies (e.g. 99.9th percentile completion latency). This option allows specifying a larger initial number of log entries to avoid run-time allocations of new log entries, resulting in more precise time-related I/O statistics. Also see :option:`log_avg_msec`. Defaults to 1024. .. option:: log_avg_msec=int By default, fio will log an entry in the iops, latency, or bw log for every I/O that completes. When writing to the disk log, that can quickly grow to a very large size. Setting this option directs fio to instead record an average over the specified duration for each log entry, reducing the resolution of the log. When the job completes, fio will flush any accumulated latency log data, so the final log interval may not match the value specified by this option and there may even be duplicate timestamps. See :option:`log_window_value` as well. Defaults to 0, logging entries for each I/O. Also see `Log File Formats`_. .. option:: log_hist_msec=int Same as :option:`log_avg_msec`, but logs entries for completion latency histograms. Computing latency percentiles from averages of intervals using :option:`log_avg_msec` is inaccurate. Setting this option makes fio log histogram entries over the specified period of time, reducing log sizes for high IOPS devices while retaining percentile accuracy. See :option:`log_hist_coarseness` and :option:`write_hist_log` as well. Defaults to 0, meaning histogram logging is disabled. .. option:: log_hist_coarseness=int Integer ranging from 0 to 6, defining the coarseness of the resolution of the histogram logs enabled with :option:`log_hist_msec`. For each increment in coarseness, fio outputs half as many bins. Defaults to 0, for which histogram logs contain 1216 latency bins. See :option:`write_hist_log` and `Log File Formats`_. .. option:: log_window_value=str, log_max_value=str If :option:`log_avg_msec` is set, fio by default logs the average over that window. This option determines whether fio logs the average, maximum or both the values over the window. This only affects the latency logging, as both average and maximum values for iops or bw log will be same. Accepted values are: **avg** Log average value over the window. The default. **max** Log maximum value in the window. **both** Log both average and maximum value over the window. **0** Backward-compatible alias for **avg**. **1** Backward-compatible alias for **max**. .. option:: log_offset=bool If this is set, the iolog options will include the byte offset for the I/O entry as well as the other data values. Defaults to 0 meaning that offsets are not present in logs. Also see `Log File Formats`_. .. option:: log_prio=bool If this is set, the *Command priority* field in `Log File Formats`_ shows the priority value and the IO priority class of the command. Otherwise, the field shows if the command has the highest RT priority class or not. Also see `Log File Formats`_. .. option:: log_issue_time=bool If this is set, the iolog options will include the command issue time for the I/O entry as well as the other data values. Defaults to 0 meaning that command issue times are not present in logs. Also see `Log File Formats`_. This option shall be set together with :option:`write_lat_log` and :option:`log_offset`. .. option:: log_compression=int If this is set, fio will compress the I/O logs as it goes, to keep the memory footprint lower. When a log reaches the specified size, that chunk is removed and compressed in the background. Given that I/O logs are fairly highly compressible, this yields a nice memory savings for longer runs. The downside is that the compression will consume some background CPU cycles, so it may impact the run. This, however, is also true if the logging ends up consuming most of the system memory. So pick your poison. The I/O logs are saved normally at the end of a run, by decompressing the chunks and storing them in the specified log file. This feature depends on the availability of zlib. .. option:: log_compression_cpus=str Define the set of CPUs that are allowed to handle online log compression for the I/O jobs. This can provide better isolation between performance sensitive jobs, and background compression work. See :option:`cpus_allowed` for the format used. .. option:: log_store_compressed=bool If set, fio will store the log files in a compressed format. They can be decompressed with fio, using the :option:`--inflate-log` command line parameter. The files will be stored with a :file:`.fz` suffix. .. option:: log_unix_epoch=bool Backwards compatible alias for log_alternate_epoch. .. option:: log_alternate_epoch=bool If set, fio will log timestamps based on the epoch used by the clock specified in the log_alternate_epoch_clock_id option, to the log files produced by enabling write_type_log for each log type, instead of the default zero-based timestamps. .. option:: log_alternate_epoch_clock_id=int Specifies the clock_id to be used by clock_gettime to obtain the alternate epoch if log_alternate_epoch is true. Otherwise has no effect. Default value is 0, or CLOCK_REALTIME. .. option:: block_error_percentiles=bool If set, record errors in trim block-sized units from writes and trims and output a histogram of how many trims it took to get to errors, and what kind of error was encountered. .. option:: bwavgtime=int Average the calculated bandwidth over the given time. Value is specified in milliseconds. If the job also does bandwidth logging through :option:`write_bw_log`, then the minimum of this option and :option:`log_avg_msec` will be used. Default: 500ms. .. option:: iopsavgtime=int Average the calculated IOPS over the given time. Value is specified in milliseconds. If the job also does IOPS logging through :option:`write_iops_log`, then the minimum of this option and :option:`log_avg_msec` will be used. Default: 500ms. .. option:: disk_util=bool Generate disk utilization statistics, if the platform supports it. Default: true. .. option:: disable_lat=bool Disable measurements of total latency numbers. Useful only for cutting back the number of calls to :manpage:`gettimeofday(2)`, as that does impact performance at really high IOPS rates. Note that to really get rid of a large amount of these calls, this option must be used with :option:`disable_slat` and :option:`disable_bw_measurement` as well. .. option:: disable_clat=bool Disable measurements of completion latency numbers. See :option:`disable_lat`. .. option:: disable_slat=bool Disable measurements of submission latency numbers. See :option:`disable_lat`. .. option:: disable_bw_measurement=bool, disable_bw=bool Disable measurements of throughput/bandwidth numbers. See :option:`disable_lat`. .. option:: slat_percentiles=bool Report submission latency percentiles. Submission latency is not recorded for synchronous ioengines. .. option:: clat_percentiles=bool Report completion latency percentiles. .. option:: lat_percentiles=bool Report total latency percentiles. Total latency is the sum of submission latency and completion latency. .. option:: percentile_list=float_list Overwrite the default list of percentiles for latencies and the block error histogram. Each number is a floating point number in the range (0,100], and the maximum length of the list is 20. Use ``:`` to separate the numbers. For example, ``--percentile_list=99.5:99.9`` will cause fio to report the latency durations below which 99.5% and 99.9% of the observed latencies fell, respectively. .. option:: significant_figures=int If using :option:`--output-format` of `normal`, set the significant figures to this value. Higher values will yield more precise IOPS and throughput units, while lower values will round. Requires a minimum value of 1 and a maximum value of 10. Defaults to 4. Error handling ~~~~~~~~~~~~~~ .. option:: exitall_on_error When one job finishes in error, terminate the rest. The default is to wait for each job to finish. .. option:: continue_on_error=str Normally fio will exit the job on the first observed failure. If this option is set, fio will continue the job when there is a 'non-fatal error' (EIO or EILSEQ) until the runtime is exceeded or the I/O size specified is completed. If this option is used, there are two more stats that are appended, the total error count and the first error. The error field given in the stats is the first error that was hit during the run. Note: a write error from the device may go unnoticed by fio when using buffered IO, as the write() (or similar) system call merely dirties the kernel pages, unless :option:`sync` or :option:`direct` is used. Device IO errors occur when the dirty data is actually written out to disk. If fully sync writes aren't desirable, :option:`fsync` or :option:`fdatasync` can be used as well. This is specific to writes, as reads are always synchronous. The allowed values are: **none** Exit on any I/O or verify errors. **read** Continue on read errors, exit on all others. **write** Continue on write errors, exit on all others. **io** Continue on any I/O error, exit on all others. **verify** Continue on verify errors, exit on all others. **all** Continue on all errors. **0** Backward-compatible alias for 'none'. **1** Backward-compatible alias for 'all'. .. option:: ignore_error=str Sometimes you want to ignore some errors during test in that case you can specify error list for each error type, instead of only being able to ignore the default 'non-fatal error' using :option:`continue_on_error`. ``ignore_error=READ_ERR_LIST,WRITE_ERR_LIST,VERIFY_ERR_LIST`` errors for given error type is separated with ':'. Error may be symbol ('ENOSPC', 'ENOMEM') or integer. Example:: ignore_error=EAGAIN,ENOSPC:122 This option will ignore EAGAIN from READ, and ENOSPC and 122(EDQUOT) from WRITE. This option works by overriding :option:`continue_on_error` with the list of errors for each error type if any. .. option:: error_dump=bool If set dump every error even if it is non fatal, true by default. If disabled only fatal error will be dumped. Running predefined workloads ---------------------------- Fio includes predefined profiles that mimic the I/O workloads generated by other tools. .. option:: profile=str The predefined workload to run. Current profiles are: **tiobench** Threaded I/O bench (tiotest/tiobench) like workload. **act** Aerospike Certification Tool (ACT) like workload. To view a profile's additional options use :option:`--cmdhelp` after specifying the profile. For example:: $ fio --profile=act --cmdhelp Act profile options ~~~~~~~~~~~~~~~~~~~ .. option:: device-names=str :noindex: Devices to use. .. option:: load=int :noindex: ACT load multiplier. Default: 1. .. option:: test-duration=time :noindex: How long the entire test takes to run. When the unit is omitted, the value is given in seconds. Default: 24h. .. option:: threads-per-queue=int :noindex: Number of read I/O threads per device. Default: 8. .. option:: read-req-num-512-blocks=int :noindex: Number of 512B blocks to read at the time. Default: 3. .. option:: large-block-op-kbytes=int :noindex: Size of large block ops in KiB (writes). Default: 131072. .. option:: prep :noindex: Set to run ACT prep phase. Tiobench profile options ~~~~~~~~~~~~~~~~~~~~~~~~ .. option:: size=str :noindex: Size in MiB. .. option:: block=int :noindex: Block size in bytes. Default: 4096. .. option:: numruns=int :noindex: Number of runs. .. option:: dir=str :noindex: Test directory. .. option:: threads=int :noindex: Number of threads. Interpreting the output ----------------------- .. Example output was based on the following: TZ=UTC fio --iodepth=8 --ioengine=null --size=100M --time_based \ --rate=1256k --bs=14K --name=quick --runtime=1s --name=mixed \ --runtime=2m --rw=rw Fio spits out a lot of output. While running, fio will display the status of the jobs created. An example of that would be:: Jobs: 1 (f=1): [_(1),M(1)][24.8%][r=20.5MiB/s,w=23.5MiB/s][r=82,w=94 IOPS][eta 01m:31s] The characters inside the first set of square brackets denote the current status of each thread. The first character is the first job defined in the job file, and so forth. The possible values (in typical life cycle order) are: +------+-----+-----------------------------------------------------------+ | Idle | Run | | +======+=====+===========================================================+ | P | | Thread setup, but not started. | +------+-----+-----------------------------------------------------------+ | C | | Thread created. | +------+-----+-----------------------------------------------------------+ | I | | Thread initialized, waiting or generating necessary data. | +------+-----+-----------------------------------------------------------+ | | p | Thread running pre-reading file(s). | +------+-----+-----------------------------------------------------------+ | | / | Thread is in ramp period. | +------+-----+-----------------------------------------------------------+ | | R | Running, doing sequential reads. | +------+-----+-----------------------------------------------------------+ | | r | Running, doing random reads. | +------+-----+-----------------------------------------------------------+ | | W | Running, doing sequential writes. | +------+-----+-----------------------------------------------------------+ | | w | Running, doing random writes. | +------+-----+-----------------------------------------------------------+ | | M | Running, doing mixed sequential reads/writes. | +------+-----+-----------------------------------------------------------+ | | m | Running, doing mixed random reads/writes. | +------+-----+-----------------------------------------------------------+ | | D | Running, doing sequential trims. | +------+-----+-----------------------------------------------------------+ | | d | Running, doing random trims. | +------+-----+-----------------------------------------------------------+ | | F | Running, currently waiting for :manpage:`fsync(2)`. | +------+-----+-----------------------------------------------------------+ | | V | Running, doing verification of written data. | +------+-----+-----------------------------------------------------------+ | f | | Thread finishing. | +------+-----+-----------------------------------------------------------+ | E | | Thread exited, not reaped by main thread yet. | +------+-----+-----------------------------------------------------------+ | _ | | Thread reaped. | +------+-----+-----------------------------------------------------------+ | X | | Thread reaped, exited with an error. | +------+-----+-----------------------------------------------------------+ | K | | Thread reaped, exited due to signal. | +------+-----+-----------------------------------------------------------+ .. Example output was based on the following: TZ=UTC fio --iodepth=8 --ioengine=null --size=100M --runtime=58m \ --time_based --rate=2512k --bs=256K --numjobs=10 \ --name=readers --rw=read --name=writers --rw=write Fio will condense the thread string as not to take up more space on the command line than needed. For instance, if you have 10 readers and 10 writers running, the output would look like this:: Jobs: 20 (f=20): [R(10),W(10)][4.0%][r=20.5MiB/s,w=23.5MiB/s][r=82,w=94 IOPS][eta 57m:36s] Note that the status string is displayed in order, so it's possible to tell which of the jobs are currently doing what. In the example above this means that jobs 1--10 are readers and 11--20 are writers. The other values are fairly self explanatory -- number of threads currently running and doing I/O, the number of currently open files (f=), the estimated completion percentage, the rate of I/O since last check (read speed listed first, then write speed and optionally trim speed) in terms of bandwidth and IOPS, and time to completion for the current running group. It's impossible to estimate runtime of the following groups (if any). .. Example output was based on the following: TZ=UTC fio --iodepth=16 --ioengine=posixaio --filename=/tmp/fiofile \ --direct=1 --size=100M --time_based --runtime=50s --rate_iops=89 \ --bs=7K --name=Client1 --rw=write When fio is done (or interrupted by :kbd:`Ctrl-C`), it will show the data for each thread, group of threads, and disks in that order. For each overall thread (or group) the output looks like:: Client1: (groupid=0, jobs=1): err= 0: pid=16109: Sat Jun 24 12:07:54 2017 write: IOPS=88, BW=623KiB/s (638kB/s)(30.4MiB/50032msec) slat (nsec): min=500, max=145500, avg=8318.00, stdev=4781.50 clat (usec): min=170, max=78367, avg=4019.02, stdev=8293.31 lat (usec): min=174, max=78375, avg=4027.34, stdev=8291.79 clat percentiles (usec): | 1.00th=[ 302], 5.00th=[ 326], 10.00th=[ 343], 20.00th=[ 363], | 30.00th=[ 392], 40.00th=[ 404], 50.00th=[ 416], 60.00th=[ 445], | 70.00th=[ 816], 80.00th=[ 6718], 90.00th=[12911], 95.00th=[21627], | 99.00th=[43779], 99.50th=[51643], 99.90th=[68682], 99.95th=[72877], | 99.99th=[78119] bw ( KiB/s): min= 532, max= 686, per=0.10%, avg=622.87, stdev=24.82, samples= 100 iops : min= 76, max= 98, avg=88.98, stdev= 3.54, samples= 100 lat (usec) : 250=0.04%, 500=64.11%, 750=4.81%, 1000=2.79% lat (msec) : 2=4.16%, 4=1.84%, 10=4.90%, 20=11.33%, 50=5.37% lat (msec) : 100=0.65% cpu : usr=0.27%, sys=0.18%, ctx=12072, majf=0, minf=21 IO depths : 1=85.0%, 2=13.1%, 4=1.8%, 8=0.1%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwt: total=0,4450,0, short=0,0,0, dropped=0,0,0 latency : target=0, window=0, percentile=100.00%, depth=8 The job name (or first job's name when using :option:`group_reporting`) is printed, along with the group id, count of jobs being aggregated, last error id seen (which is 0 when there are no errors), pid/tid of that thread and the time the job/group completed. Below are the I/O statistics for each data direction performed (showing writes in the example above). In the order listed, they denote: **read/write/trim** The string before the colon shows the I/O direction the statistics are for. **IOPS** is the average I/Os performed per second. **BW** is the average bandwidth rate shown as: value in power of 2 format (value in power of 10 format). The last two values show: (**total I/O performed** in power of 2 format / **runtime** of that thread). **slat** Submission latency (**min** being the minimum, **max** being the maximum, **avg** being the average, **stdev** being the standard deviation). This is the time from when fio initialized the I/O to submission. For synchronous ioengines this includes the time up until just before the ioengine's queue function is called. For asynchronous ioengines this includes the time up through the completion of the ioengine's queue function (and commit function if it is defined). For sync I/O this row is not displayed as the slat is negligible. This value can be in nanoseconds, microseconds or milliseconds --- fio will choose the most appropriate base and print that (in the example above nanoseconds was the best scale). Note: in :option:`--minimal` mode latencies are always expressed in microseconds. **clat** Completion latency. Same names as slat, this denotes the time from submission to completion of the I/O pieces. For sync I/O, this represents the time from when the I/O was submitted to the operating system to when it was completed. For asynchronous ioengines this is the time from when the ioengine's queue (and commit if available) functions were completed to when the I/O's completion was reaped by fio. For file and directory operation engines, **clat** denotes the time to complete one file or directory operation. **filecreate engine**:the time cost to create a new file **filestat engine**: the time cost to look up an existing file **filedelete engine**:the time cost to delete a file **dircreate engine**: the time cost to create a new directory **dirstat engine**: the time cost to look up an existing directory **dirdelete engine**: the time cost to delete a directory **lat** Total latency. Same names as slat and clat, this denotes the time from when fio created the I/O unit to completion of the I/O operation. It is the sum of submission and completion latency. **bw** Bandwidth statistics based on measurements from discrete intervals. Fio continuously monitors bytes transferred and I/O operations completed. By default fio calculates bandwidth in each half-second interval (see :option:`bwavgtime`) and reports descriptive statistics for the measurements here. Same names as the xlat stats, but also includes the number of samples taken (**samples**) and an approximate percentage of total aggregate bandwidth this thread received in its group (**per**). This last value is only really useful if the threads in this group are on the same disk, since they are then competing for disk access. For file and directory operation engines, **bw** is meaningless. **iops** IOPS statistics based on measurements from discrete intervals. For details see the description for bw above. See :option:`iopsavgtime` to control the duration of the intervals. Same values reported here as for bw except for percentage. For file and directory operation engines, **iops** is the most fundamental index to denote the performance. It means how many files or directories can be operated per second. **filecreate engine**:number of files can be created per second **filestat engine**: number of files can be looked up per second **filedelete engine**:number of files can be deleted per second **dircreate engine**: number of directories can be created per second **dirstat engine**: number of directories can be looked up per second **dirdelete engine**: number of directories can be deleted per second **lat (nsec/usec/msec)** The distribution of I/O completion latencies. This is the time from when I/O leaves fio and when it gets completed. Unlike the separate read/write/trim sections above, the data here and in the remaining sections apply to all I/Os for the reporting group. 250=0.04% means that 0.04% of the I/Os completed in under 250us. 500=64.11% means that 64.11% of the I/Os required 250 to 499us for completion. **cpu** CPU usage. User and system time, along with the number of context switches this thread went through, usage of system and user time, and finally the number of major and minor page faults. The CPU utilization numbers are averages for the jobs in that reporting group, while the context and fault counters are summed. **IO depths** The distribution of I/O depths over the job lifetime. The numbers are divided into powers of 2 and each entry covers depths from that value up to those that are lower than the next entry -- e.g., 16= covers depths from 16 to 31. Note that the range covered by a depth distribution entry can be different to the range covered by the equivalent submit/complete distribution entry. **IO submit** How many pieces of I/O were submitting in a single submit call. Each entry denotes that amount and below, until the previous entry -- e.g., 16=100% means that we submitted anywhere between 9 to 16 I/Os per submit call. Note that the range covered by a submit distribution entry can be different to the range covered by the equivalent depth distribution entry. **IO complete** Like the above submit number, but for completions instead. **IO issued rwt** The number of read/write/trim requests issued, and how many of them were short or dropped. **IO latency** These values are for :option:`latency_target` and related options. When these options are engaged, this section describes the I/O depth required to meet the specified latency target. .. Example output was based on the following: TZ=UTC fio --ioengine=null --iodepth=2 --size=100M --numjobs=2 \ --rate_process=poisson --io_limit=32M --name=read --bs=128k \ --rate=11M --name=write --rw=write --bs=2k --rate=700k After each client has been listed, the group statistics are printed. They will look like this:: Run status group 0 (all jobs): READ: bw=20.9MiB/s (21.9MB/s), 10.4MiB/s-10.8MiB/s (10.9MB/s-11.3MB/s), io=64.0MiB (67.1MB), run=2973-3069msec WRITE: bw=1231KiB/s (1261kB/s), 616KiB/s-621KiB/s (630kB/s-636kB/s), io=64.0MiB (67.1MB), run=52747-53223msec For each data direction it prints: **bw** Aggregate bandwidth of threads in this group followed by the minimum and maximum bandwidth of all the threads in this group. Values outside of brackets are power-of-2 format and those within are the equivalent value in a power-of-10 format. **io** Aggregate I/O performed of all threads in this group. The format is the same as bw. **run** The smallest and longest runtimes of the threads in this group. And finally, the disk statistics are printed. This is Linux specific. They will look like this:: Disk stats (read/write): sda: ios=16398/16511, sectors=32321/65472, merge=30/162, ticks=6853/819634, in_queue=826487, util=100.00% Each value is printed for both reads and writes, with reads first. The numbers denote: **ios** Number of I/Os performed by all groups. **sectors** Amount of data transferred in units of 512 bytes for all groups. **merge** Number of merges performed by the I/O scheduler. **ticks** Number of ticks we kept the disk busy. **in_queue** Total time spent in the disk queue. **util** The disk utilization. A value of 100% means we kept the disk busy constantly, 50% would be a disk idling half of the time. It is also possible to get fio to dump the current output while it is running, without terminating the job. To do that, send fio the **USR1** signal. You can also get regularly timed dumps by using the :option:`--status-interval` parameter, or by creating a file in :file:`/tmp` named :file:`fio-dump-status`. If fio sees this file, it will unlink it and dump the current output status. Terse output ------------ For scripted usage where you typically want to generate tables or graphs of the results, fio can output the results in a semicolon separated format. The format is one long line of values, such as:: 2;card0;0;0;7139336;121836;60004;1;10109;27.932460;116.933948;220;126861;3495.446807;1085.368601;226;126864;3523.635629;1089.012448;24063;99944;50.275485%;59818.274627;5540.657370;7155060;122104;60004;1;8338;29.086342;117.839068;388;128077;5032.488518;1234.785715;391;128085;5061.839412;1236.909129;23436;100928;50.287926%;59964.832030;5644.844189;14.595833%;19.394167%;123706;0;7313;0.1%;0.1%;0.1%;0.1%;0.1%;0.1%;100.0%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.01%;0.02%;0.05%;0.16%;6.04%;40.40%;52.68%;0.64%;0.01%;0.00%;0.01%;0.00%;0.00%;0.00%;0.00%;0.00% A description of this job goes here. The job description (if provided) follows on a second line for terse v2. It appears on the same line for other terse versions. To enable terse output, use the :option:`--minimal` or :option:`--output-format`\=terse command line options. The first value is the version of the terse output format. If the output has to be changed for some reason, this number will be incremented by 1 to signify that change. Split up, the format is as follows (comments in brackets denote when a field was introduced or whether it's specific to some terse version): :: terse version, fio version [v3], jobname, groupid, error READ status:: Total IO (KiB), bandwidth (KiB/sec), IOPS, runtime (msec) Submission latency: min, max, mean, stdev (usec) Completion latency: min, max, mean, stdev (usec) Completion latency percentiles: 20 fields (see below) Total latency: min, max, mean, stdev (usec) Bw (KiB/s): min, max, aggregate percentage of total, mean, stdev, number of samples [v5] IOPS [v5]: min, max, mean, stdev, number of samples WRITE status: :: Total IO (KiB), bandwidth (KiB/sec), IOPS, runtime (msec) Submission latency: min, max, mean, stdev (usec) Completion latency: min, max, mean, stdev (usec) Completion latency percentiles: 20 fields (see below) Total latency: min, max, mean, stdev (usec) Bw (KiB/s): min, max, aggregate percentage of total, mean, stdev, number of samples [v5] IOPS [v5]: min, max, mean, stdev, number of samples TRIM status [all but version 3]: Fields are similar to READ/WRITE status. CPU usage:: user, system, context switches, major faults, minor faults I/O depths:: <=1, 2, 4, 8, 16, 32, >=64 I/O latencies microseconds:: <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000 I/O latencies milliseconds:: <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, >=2000 Disk utilization [v3]:: disk name, read ios, write ios, read merges, write merges, read ticks, write ticks, time spent in queue, disk utilization percentage Additional Info (dependent on continue_on_error, default off):: total # errors, first error code Additional Info (dependent on description being set):: Text description Completion latency percentiles can be a grouping of up to 20 sets, so for the terse output fio writes all of them. Each field will look like this:: 1.00%=6112 which is the Xth percentile, and the `usec` latency associated with it. For `Disk utilization`, all disks used by fio are shown. So for each disk there will be a disk utilization section. Below is a single line containing short names for each of the fields in the minimal output v3, separated by semicolons:: terse_version_3;fio_version;jobname;groupid;error;read_kb;read_bandwidth_kb;read_iops;read_runtime_ms;read_slat_min_us;read_slat_max_us;read_slat_mean_us;read_slat_dev_us;read_clat_min_us;read_clat_max_us;read_clat_mean_us;read_clat_dev_us;read_clat_pct01;read_clat_pct02;read_clat_pct03;read_clat_pct04;read_clat_pct05;read_clat_pct06;read_clat_pct07;read_clat_pct08;read_clat_pct09;read_clat_pct10;read_clat_pct11;read_clat_pct12;read_clat_pct13;read_clat_pct14;read_clat_pct15;read_clat_pct16;read_clat_pct17;read_clat_pct18;read_clat_pct19;read_clat_pct20;read_tlat_min_us;read_lat_max_us;read_lat_mean_us;read_lat_dev_us;read_bw_min_kb;read_bw_max_kb;read_bw_agg_pct;read_bw_mean_kb;read_bw_dev_kb;write_kb;write_bandwidth_kb;write_iops;write_runtime_ms;write_slat_min_us;write_slat_max_us;write_slat_mean_us;write_slat_dev_us;write_clat_min_us;write_clat_max_us;write_clat_mean_us;write_clat_dev_us;write_clat_pct01;write_clat_pct02;write_clat_pct03;write_clat_pct04;write_clat_pct05;write_clat_pct06;write_clat_pct07;write_clat_pct08;write_clat_pct09;write_clat_pct10;write_clat_pct11;write_clat_pct12;write_clat_pct13;write_clat_pct14;write_clat_pct15;write_clat_pct16;write_clat_pct17;write_clat_pct18;write_clat_pct19;write_clat_pct20;write_tlat_min_us;write_lat_max_us;write_lat_mean_us;write_lat_dev_us;write_bw_min_kb;write_bw_max_kb;write_bw_agg_pct;write_bw_mean_kb;write_bw_dev_kb;cpu_user;cpu_sys;cpu_csw;cpu_mjf;cpu_minf;iodepth_1;iodepth_2;iodepth_4;iodepth_8;iodepth_16;iodepth_32;iodepth_64;lat_2us;lat_4us;lat_10us;lat_20us;lat_50us;lat_100us;lat_250us;lat_500us;lat_750us;lat_1000us;lat_2ms;lat_4ms;lat_10ms;lat_20ms;lat_50ms;lat_100ms;lat_250ms;lat_500ms;lat_750ms;lat_1000ms;lat_2000ms;lat_over_2000ms;disk_name;disk_read_iops;disk_write_iops;disk_read_merges;disk_write_merges;disk_read_ticks;write_ticks;disk_queue_time;disk_util In client/server mode terse output differs from what appears when jobs are run locally. Disk utilization data is omitted from the standard terse output and for v3 and later appears on its own separate line at the end of each terse reporting cycle. JSON output ------------ The `json` output format is intended to be both human readable and convenient for automated parsing. For the most part its sections mirror those of the `normal` output. The `runtime` value is reported in msec and the `bw` value is reported in 1024 bytes per second units. JSON+ output ------------ The `json+` output format is identical to the `json` output format except that it adds a full dump of the completion latency bins. Each `bins` object contains a set of (key, value) pairs where keys are latency durations and values count how many I/Os had completion latencies of the corresponding duration. For example, consider: "bins" : { "87552" : 1, "89600" : 1, "94720" : 1, "96768" : 1, "97792" : 1, "99840" : 1, "100864" : 2, "103936" : 6, "104960" : 534, "105984" : 5995, "107008" : 7529, ... } This data indicates that one I/O required 87,552ns to complete, two I/Os required 100,864ns to complete, and 7529 I/Os required 107,008ns to complete. Also included with fio is a Python script `fio_jsonplus_clat2csv` that takes json+ output and generates CSV-formatted latency data suitable for plotting. The latency durations actually represent the midpoints of latency intervals. For details refer to :file:`stat.h`. Trace file format ----------------- There are two trace file format that you can encounter. The older (v1) format is unsupported since version 1.20-rc3 (March 2008). It will still be described below in case that you get an old trace and want to understand it. In any case the trace is a simple text file with a single action per line. Trace file format v1 ~~~~~~~~~~~~~~~~~~~~ Each line represents a single I/O action in the following format:: rw, offset, length where `rw=0/1` for read/write, and the `offset` and `length` entries being in bytes. This format is not supported in fio versions >= 1.20-rc3. Trace file format v2 ~~~~~~~~~~~~~~~~~~~~ The second version of the trace file format was added in fio version 1.17. It allows one to access more than one file per trace and has a bigger set of possible file actions. The first line of the trace file has to be:: fio version 2 iolog Following this can be lines in two different formats, which are described below. The file management format:: filename action The `filename` is given as an absolute path. The `action` can be one of these: **add** Add the given `filename` to the trace. **open** Open the file with the given `filename`. The `filename` has to have been added with the **add** action before. **close** Close the file with the given `filename`. The file has to have been opened before. The file I/O action format:: filename action offset length The `filename` is given as an absolute path, and has to have been added and opened before it can be used with this format. The `offset` and `length` are given in bytes. The `action` can be one of these: **wait** Wait for `offset` microseconds. Everything below 100 is discarded. The time is relative to the previous `wait` statement. Note that action `wait` is not allowed as of version 3, as the same behavior can be achieved using timestamps. **read** Read `length` bytes beginning from `offset`. **write** Write `length` bytes beginning from `offset`. **sync** :manpage:`fsync(2)` the file. **datasync** :manpage:`fdatasync(2)` the file. **trim** Trim the given file from the given `offset` for `length` bytes. Trace file format v3 ~~~~~~~~~~~~~~~~~~~~ The third version of the trace file format was added in fio version 3.31. It forces each action to have a timestamp associated with it. The first line of the trace file has to be:: fio version 3 iolog Following this can be lines in two different formats, which are described below. The file management format:: timestamp filename action The file I/O action format:: timestamp filename action offset length The `timestamp` is relative to the beginning of the run (ie starts at 0). The `filename`, `action`, `offset` and `length` are identical to version 2, except that version 3 does not allow the `wait` action. I/O Replay - Merging Traces --------------------------- Colocation is a common practice used to get the most out of a machine. Knowing which workloads play nicely with each other and which ones don't is a much harder task. While fio can replay workloads concurrently via multiple jobs, it leaves some variability up to the scheduler making results harder to reproduce. Merging is a way to make the order of events consistent. Merging is integrated into I/O replay and done when a :option:`merge_blktrace_file` is specified. The list of files passed to :option:`read_iolog` go through the merge process and output a single file stored to the specified file. The output file is passed on as if it were the only file passed to :option:`read_iolog`. An example would look like:: $ fio --read_iolog=":" --merge_blktrace_file="" Creating only the merged file can be done by passing the command line argument :option:`--merge-blktrace-only`. Scaling traces can be done to see the relative impact of any particular trace being slowed down or sped up. :option:`merge_blktrace_scalars` takes in a colon separated list of percentage scalars. It is index paired with the files passed to :option:`read_iolog`. With scaling, it may be desirable to match the running time of all traces. This can be done with :option:`merge_blktrace_iters`. It is index paired with :option:`read_iolog` just like :option:`merge_blktrace_scalars`. In an example, given two traces, A and B, each 60s long. If we want to see the impact of trace A issuing IOs twice as fast and repeat trace A over the runtime of trace B, the following can be done:: $ fio --read_iolog=":"" --merge_blktrace_file"" --merge_blktrace_scalars="50:100" --merge_blktrace_iters="2:1" This runs trace A at 2x the speed twice for approximately the same runtime as a single run of trace B. CPU idleness profiling ---------------------- In some cases, we want to understand CPU overhead in a test. For example, we test patches for the specific goodness of whether they reduce CPU usage. Fio implements a balloon approach to create a thread per CPU that runs at idle priority, meaning that it only runs when nobody else needs the cpu. By measuring the amount of work completed by the thread, idleness of each CPU can be derived accordingly. An unit work is defined as touching a full page of unsigned characters. Mean and standard deviation of time to complete an unit work is reported in "unit work" section. Options can be chosen to report detailed percpu idleness or overall system idleness by aggregating percpu stats. Verification and triggers ------------------------- Fio is usually run in one of two ways, when data verification is done. The first is a normal write job of some sort with verify enabled. When the write phase has completed, fio switches to reads and verifies everything it wrote. The second model is running just the write phase, and then later on running the same job (but with reads instead of writes) to repeat the same I/O patterns and verify the contents. Both of these methods depend on the write phase being completed, as fio otherwise has no idea how much data was written. With verification triggers, fio supports dumping the current write state to local files. Then a subsequent read verify workload can load this state and know exactly where to stop. This is useful for testing cases where power is cut to a server in a managed fashion, for instance. A verification trigger consists of two things: 1) Storing the write state of each job. 2) Executing a trigger command. The write state is relatively small, on the order of hundreds of bytes to single kilobytes. It contains information on the number of completions done, the last X completions, etc. A trigger is invoked either through creation ('touch') of a specified file in the system, or through a timeout setting. If fio is run with :option:`--trigger-file`\= :file:`/tmp/trigger-file`, then it will continually check for the existence of :file:`/tmp/trigger-file`. When it sees this file, it will fire off the trigger (thus saving state, and executing the trigger command). For client/server runs, there's both a local and remote trigger. If fio is running as a server backend, it will send the job states back to the client for safe storage, then execute the remote trigger, if specified. If a local trigger is specified, the server will still send back the write state, but the client will then execute the trigger. Verification trigger example ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Let's say we want to run a powercut test on the remote Linux machine 'server'. Our write workload is in :file:`write-test.fio`. We want to cut power to 'server' at some point during the run, and we'll run this test from the safety or our local machine, 'localbox'. On the server, we'll start the fio backend normally:: server# fio --server and on the client, we'll fire off the workload:: localbox$ fio --client=server --trigger-file=/tmp/my-trigger --trigger-remote="bash -c \"echo b > /proc/sysrq-triger\"" We set :file:`/tmp/my-trigger` as the trigger file, and we tell fio to execute:: echo b > /proc/sysrq-trigger on the server once it has received the trigger and sent us the write state. This will work, but it's not **really** cutting power to the server, it's merely abruptly rebooting it. If we have a remote way of cutting power to the server through IPMI or similar, we could do that through a local trigger command instead. Let's assume we have a script that does IPMI reboot of a given hostname, ipmi-reboot. On localbox, we could then have run fio with a local trigger instead:: localbox$ fio --client=server --trigger-file=/tmp/my-trigger --trigger="ipmi-reboot server" For this case, fio would wait for the server to send us the write state, then execute ``ipmi-reboot server`` when that happened. Loading verify state ~~~~~~~~~~~~~~~~~~~~ To load stored write state, a read verification job file must contain the :option:`verify_state_load` option. If that is set, fio will load the previously stored state. For a local fio run this is done by loading the files directly, and on a client/server run, the server backend will ask the client to send the files over and load them from there. Log File Formats ---------------- Fio supports a variety of log file formats, for logging latencies, bandwidth, and IOPS. The logs share a common format, which looks like this: *time* (`msec`), *value*, *data direction*, *block size* (`bytes`), *offset* (`bytes`), *command priority*, *issue time* (`nsec`) *Time* for the log entry is always in milliseconds. The *value* logged depends on the type of log, it will be one of the following: **Latency log** Value is latency in nsecs **Bandwidth log** Value is in KiB/sec **IOPS log** Value is IOPS *Data direction* is one of the following: **0** I/O is a READ **1** I/O is a WRITE **2** I/O is a TRIM The entry's *block size* is always in bytes. The *offset* is the position in bytes from the start of the file for that particular I/O. The logging of the offset can be toggled with :option:`log_offset`. If :option:`log_prio` is not set, the entry's *Command priority* is 1 for an IO executed with the highest RT priority class (:option:`prioclass` =1 or :option:`cmdprio_class` =1) and 0 otherwise. This is controlled by the :option:`prioclass` option and the ioengine specific :option:`cmdprio_percentage` :option:`cmdprio_class` options. If :option:`log_prio` is set, the entry's *Command priority* is the priority set for the IO, as a 16-bits hexadecimal number with the lowest 13 bits indicating the priority value (:option:`prio` and :option:`cmdprio` options) and the highest 3 bits indicating the IO priority class (:option:`prioclass` and :option:`cmdprio_class` options). The entry's *issue time* is the command issue time in nanoseconds. The logging of the issue time can be toggled with :option:`log_issue_time`. This field has valid values in completion latency log file (clat), or submit latency log file (slat). The field has value 0 in other logs files. Fio defaults to logging every individual I/O but when windowed logging is set through :option:`log_avg_msec`, either the average (by default), the maximum (:option:`log_window_value` is set to max) *value* seen over the specified period of time, or both the average *value* and maximum *value1* (:option:`log_window_value` is set to both) is recorded. The log file format when both the values are reported takes this form: *time* (`msec`), *value*, *value1*, *data direction*, *block size* (`bytes`), *offset* (`bytes`), *command priority*, *issue time* (`nsec`) Each *data direction* seen within the window period will aggregate its values in a separate row. Further, when using windowed logging the *block size*, *offset* and *issue time* entries will always contain 0. Client/Server ------------- Normally fio is invoked as a stand-alone application on the machine where the I/O workload should be generated. However, the backend and frontend of fio can be run separately i.e., the fio server can generate an I/O workload on the "Device Under Test" while being controlled by a client on another machine. Start the server on the machine which has access to the storage DUT:: $ fio --server=args where `args` defines what fio listens to. The arguments are of the form ``type,hostname`` or ``IP,port``. *type* is either ``ip`` (or ip4) for TCP/IP v4, ``ip6`` for TCP/IP v6, or ``sock`` for a local unix domain socket. *hostname* is either a hostname or IP address, and *port* is the port to listen to (only valid for TCP/IP, not a local socket). Some examples: 1) ``fio --server`` Start a fio server, listening on all interfaces on the default port (8765). 2) ``fio --server=ip:hostname,4444`` Start a fio server, listening on IP belonging to hostname and on port 4444. 3) ``fio --server=ip6:::1,4444`` Start a fio server, listening on IPv6 localhost ::1 and on port 4444. 4) ``fio --server=,4444`` Start a fio server, listening on all interfaces on port 4444. 5) ``fio --server=1.2.3.4`` Start a fio server, listening on IP 1.2.3.4 on the default port. 6) ``fio --server=sock:/tmp/fio.sock`` Start a fio server, listening on the local socket :file:`/tmp/fio.sock`. Once a server is running, a "client" can connect to the fio server with:: fio --client= where `local-args` are arguments for the client where it is running, `server` is the connect string, and `remote-args` and `job file(s)` are sent to the server. The `server` string follows the same format as it does on the server side, to allow IP/hostname/socket and port strings. Note that all job options must be defined in job files when running fio as a client. Any job options specified in `remote-args` will be ignored. Fio can connect to multiple servers this way:: fio --client= --client= If the job file is located on the fio server, then you can tell the server to load a local file as well. This is done by using :option:`--remote-config` :: fio --client=server --remote-config /path/to/file.fio Then fio will open this local (to the server) job file instead of being passed one from the client. If you have many servers (example: 100 VMs/containers), you can input a pathname of a file containing host IPs/names as the parameter value for the :option:`--client` option. For example, here is an example :file:`host.list` file containing 2 hostnames:: host1.your.dns.domain host2.your.dns.domain The fio command would then be:: fio --client=host.list In this mode, you cannot input server-specific parameters or job files -- all servers receive the same job file. In order to let ``fio --client`` runs use a shared filesystem from multiple hosts, ``fio --client`` now prepends the IP address of the server to the filename. For example, if fio is using the directory :file:`/mnt/nfs/fio` and is writing filename :file:`fileio.tmp`, with a :option:`--client` `hostfile` containing two hostnames ``h1`` and ``h2`` with IP addresses 192.168.10.120 and 192.168.10.121, then fio will create two files:: /mnt/nfs/fio/192.168.10.120.fileio.tmp /mnt/nfs/fio/192.168.10.121.fileio.tmp This behavior can be disabled by the :option:`unique_filename` option. Terse output in client/server mode will differ slightly from what is produced when fio is run in stand-alone mode. See the terse output section for details. Also, if one fio invocation runs workloads on multiple servers, fio will provide at the end an aggregate summary report for all workloads. This aggregate summary report assumes that options affecting reporting like :option:`unified_rw_reporting` and :option:`percentile_list` are identical across all the jobs summarized. Having different values for these options is an unsupported configuration. fio-3.39/MORAL-LICENSE000066400000000000000000000016201476262051600141120ustar00rootroot00000000000000As specified by the COPYING file, fio is free software published under version 2 of the GPL license. That covers the copying part of the license. When using fio, you are encouraged to uphold the following moral obligations: - If you publish results that are done using fio, it should be clearly stated that fio was used. The specific version should also be listed. - If you develop features or bug fixes for fio, they should be sent upstream for inclusion into the main repository. This isn't specific to fio, that is a general rule for any open source project. It's just the Right Thing to do. Plus it means that you don't have to maintain the feature or change internally. In the long run, this is saving you a lot of time. I would consider the above to fall under "common courtesy", but since people tend to have differing opinions of that, it doesn't hurt to spell out my expectations clearly. fio-3.39/Makefile000066400000000000000000000501151476262051600137000ustar00rootroot00000000000000ifeq ($(SRCDIR),) SRCDIR := . endif VPATH := $(SRCDIR) all: fio config-host.mak: configure @if [ ! -e "$@" ]; then \ echo "Running configure ..."; \ ./configure; \ else \ echo "$@ is out-of-date, running configure"; \ sed -n "/.*Configured with/s/[^:]*: //p" "$@" | sh; \ fi ifneq ($(MAKECMDGOALS),clean) include config-host.mak endif DEBUGFLAGS = -DFIO_INC_DEBUG CPPFLAGS+= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL $(DEBUGFLAGS) OPTFLAGS= -g -ffast-math FIO_CFLAGS= -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement $(OPTFLAGS) $(EXTFLAGS) $(BUILD_CFLAGS) -I. -I$(SRCDIR) LIBS += -lm $(EXTLIBS) PROGS = fio SCRIPTS = $(addprefix $(SRCDIR)/,tools/fio_generate_plots tools/plot/fio2gnuplot tools/genfio tools/fiologparser.py tools/hist/fiologparser_hist.py tools/hist/fio-histo-log-pctiles.py tools/fio_jsonplus_clat2csv) ifndef CONFIG_FIO_NO_OPT FIO_CFLAGS += -O3 endif ifdef CONFIG_BUILD_NATIVE FIO_CFLAGS += -march=native endif ifdef CONFIG_PDB LINK_PDBFILE ?= -Wl,-pdb,$(dir $@)/$(basename $(@F)).pdb FIO_CFLAGS += -gcodeview LDFLAGS += -fuse-ld=lld $(LINK_PDBFILE) endif # If clang, do not use builtin stpcpy as it breaks the build ifeq ($(CC),clang) FIO_CFLAGS += -fno-builtin-stpcpy endif ifdef CONFIG_GFIO PROGS += gfio endif SOURCE := $(sort $(patsubst $(SRCDIR)/%,%,$(wildcard $(SRCDIR)/crc/*.c)) \ $(patsubst $(SRCDIR)/%,%,$(wildcard $(SRCDIR)/lib/*.c))) \ gettime.c ioengines.c init.c stat.c log.c time.c filesetup.c \ eta.c verify.c memory.c io_u.c parse.c fio_sem.c rwlock.c \ pshared.c options.c \ smalloc.c filehash.c profile.c debug.c engines/cpu.c \ engines/mmap.c engines/sync.c engines/null.c engines/net.c \ engines/ftruncate.c engines/fileoperations.c \ engines/exec.c \ server.c client.c iolog.c backend.c libfio.c flow.c cconv.c \ gettime-thread.c helpers.c json.c idletime.c td_error.c \ profiles/tiobench.c profiles/act.c io_u_queue.c filelock.c \ workqueue.c rate-submit.c optgroup.c helper_thread.c \ steadystate.c zone-dist.c zbd.c dedupe.c dataplacement.c ifdef CONFIG_LIBHDFS HDFSFLAGS= -I $(JAVA_HOME)/include -I $(JAVA_HOME)/include/linux -I $(FIO_LIBHDFS_INCLUDE) HDFSLIB= -Wl,-rpath $(JAVA_HOME)/lib/$(FIO_HDFS_CPU)/server -L$(JAVA_HOME)/lib/$(FIO_HDFS_CPU)/server $(FIO_LIBHDFS_LIB)/libhdfs.a -ljvm FIO_CFLAGS += $(HDFSFLAGS) SOURCE += engines/libhdfs.c endif ifdef CONFIG_LIBISCSI libiscsi_SRCS = engines/libiscsi.c libiscsi_LIBS = $(LIBISCSI_LIBS) libiscsi_CFLAGS = $(LIBISCSI_CFLAGS) ENGINES += libiscsi endif ifdef CONFIG_LIBNBD nbd_SRCS = engines/nbd.c nbd_LIBS = $(LIBNBD_LIBS) nbd_CFLAGS = $(LIBNBD_CFLAGS) ENGINES += nbd endif ifdef CONFIG_LIBNFS CFLAGS += $(LIBNFS_CFLAGS) LIBS += $(LIBNFS_LIBS) SOURCE += engines/nfs.c endif ifdef CONFIG_64BIT CPPFLAGS += -DBITS_PER_LONG=64 else ifdef CONFIG_32BIT CPPFLAGS += -DBITS_PER_LONG=32 endif ifdef CONFIG_LIBAIO libaio_SRCS = engines/libaio.c cmdprio_SRCS = engines/cmdprio.c LIBS += -laio libaio_LIBS = -laio ENGINES += libaio endif ifdef CONFIG_RDMA rdma_SRCS = engines/rdma.c rdma_LIBS = -libverbs -lrdmacm ENGINES += rdma endif ifdef CONFIG_POSIXAIO SOURCE += engines/posixaio.c endif ifdef CONFIG_LINUX_FALLOCATE SOURCE += engines/falloc.c endif ifdef CONFIG_LINUX_EXT4_MOVE_EXTENT SOURCE += engines/e4defrag.c endif ifdef CONFIG_LIBCUFILE SOURCE += engines/libcufile.c endif ifdef CONFIG_LINUX_SPLICE SOURCE += engines/splice.c endif ifdef CONFIG_SOLARISAIO SOURCE += engines/solarisaio.c endif ifdef CONFIG_WINDOWSAIO SOURCE += engines/windowsaio.c endif ifdef CONFIG_RADOS rados_SRCS = engines/rados.c rados_LIBS = -lrados ENGINES += rados endif ifdef CONFIG_RBD rbd_SRCS = engines/rbd.c rbd_LIBS = -lrbd -lrados ENGINES += rbd endif ifdef CONFIG_HTTP http_SRCS = engines/http.c http_LIBS = -lcurl -lssl -lcrypto ENGINES += http endif ifdef CONFIG_DFS dfs_SRCS = engines/dfs.c dfs_LIBS = -luuid -ldaos -ldfs ENGINES += dfs endif SOURCE += oslib/asprintf.c ifndef CONFIG_STRSEP SOURCE += oslib/strsep.c endif ifndef CONFIG_STRCASESTR SOURCE += oslib/strcasestr.c endif ifndef CONFIG_STRLCAT SOURCE += oslib/strlcat.c endif ifndef CONFIG_HAVE_STRNDUP SOURCE += oslib/strndup.c endif ifndef CONFIG_GETOPT_LONG_ONLY SOURCE += oslib/getopt_long.c endif ifndef CONFIG_INET_ATON SOURCE += oslib/inet_aton.c endif ifndef CONFIG_HAVE_STATX SOURCE += oslib/statx.c endif ifdef CONFIG_GFAPI SOURCE += engines/glusterfs.c SOURCE += engines/glusterfs_sync.c SOURCE += engines/glusterfs_async.c LIBS += -lgfapi -lglusterfs ifdef CONFIG_GF_FADVISE FIO_CFLAGS += "-DGFAPI_USE_FADVISE" endif endif ifdef CONFIG_MTD SOURCE += engines/mtd.c SOURCE += oslib/libmtd.c SOURCE += oslib/libmtd_legacy.c endif ifdef CONFIG_LINUX_DEVDAX dev-dax_SRCS = engines/dev-dax.c dev-dax_LIBS = -lpmem ENGINES += dev-dax endif ifdef CONFIG_LIBPMEM libpmem_SRCS = engines/libpmem.c libpmem_LIBS = -lpmem ENGINES += libpmem endif ifdef CONFIG_IME SOURCE += engines/ime.c endif ifdef CONFIG_LIBZBC libzbc_SRCS = engines/libzbc.c libzbc_LIBS = -lzbc ENGINES += libzbc endif ifdef CONFIG_LIBXNVME xnvme_SRCS = engines/xnvme.c xnvme_LIBS = $(LIBXNVME_LIBS) xnvme_CFLAGS = $(LIBXNVME_CFLAGS) ENGINES += xnvme endif ifdef CONFIG_LIBBLKIO libblkio_SRCS = engines/libblkio.c libblkio_LIBS = $(LIBBLKIO_LIBS) libblkio_CFLAGS = $(LIBBLKIO_CFLAGS) ENGINES += libblkio endif ifeq ($(CONFIG_TARGET_OS), Linux) SOURCE += diskutil.c fifo.c blktrace.c cgroup.c trim.c engines/sg.c \ oslib/linux-dev-lookup.c engines/io_uring.c engines/nvme.c cmdprio_SRCS = engines/cmdprio.c ifdef CONFIG_HAS_BLKZONED SOURCE += oslib/linux-blkzoned.c endif LIBS += -lpthread -ldl LDFLAGS += -rdynamic endif ifeq ($(CONFIG_TARGET_OS), Android) SOURCE += diskutil.c fifo.c blktrace.c cgroup.c trim.c profiles/tiobench.c \ oslib/linux-dev-lookup.c engines/io_uring.c engines/nvme.c \ engines/sg.c cmdprio_SRCS = engines/cmdprio.c ifdef CONFIG_HAS_BLKZONED SOURCE += oslib/linux-blkzoned.c endif LIBS += -ldl -llog LDFLAGS += -rdynamic endif ifeq ($(CONFIG_TARGET_OS), SunOS) LIBS += -lpthread -ldl CPPFLAGS += -D__EXTENSIONS__ endif ifeq ($(CONFIG_TARGET_OS), FreeBSD) SOURCE += trim.c LIBS += -lpthread -lrt LDFLAGS += -rdynamic endif ifeq ($(CONFIG_TARGET_OS), OpenBSD) LIBS += -lpthread LDFLAGS += -rdynamic endif ifeq ($(CONFIG_TARGET_OS), NetBSD) LIBS += -lpthread -lrt LDFLAGS += -rdynamic endif ifeq ($(CONFIG_TARGET_OS), DragonFly) SOURCE += trim.c LIBS += -lpthread -lrt LDFLAGS += -rdynamic endif ifeq ($(CONFIG_TARGET_OS), AIX) LIBS += -lpthread -ldl -lrt CPPFLAGS += -D_LARGE_FILES -D__ppc__ LDFLAGS += -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 endif ifeq ($(CONFIG_TARGET_OS), HP-UX) LIBS += -lpthread -ldl -lrt FIO_CFLAGS += -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE_EXTENDED endif ifeq ($(CONFIG_TARGET_OS), Darwin) LIBS += -lpthread -ldl endif ifneq (,$(findstring CYGWIN,$(CONFIG_TARGET_OS))) SOURCE += os/windows/cpu-affinity.c os/windows/posix.c os/windows/dlls.c WINDOWS_OBJS = os/windows/cpu-affinity.o os/windows/posix.o os/windows/dlls.o lib/hweight.o LIBS += -lpthread -lpsapi -lws2_32 -lssp FIO_CFLAGS += -DPSAPI_VERSION=1 -Ios/windows/posix/include -Wno-format endif ifdef cmdprio_SRCS SOURCE += $(cmdprio_SRCS) endif ifdef CONFIG_DYNAMIC_ENGINES DYNAMIC_ENGS := $(ENGINES) define engine_template = $(1)_OBJS := $$($(1)_SRCS:.c=.o) $$($(1)_OBJS): CFLAGS := -fPIC $$($(1)_CFLAGS) $(CFLAGS) engines/fio-$(1).so: $$($(1)_OBJS) $$(QUIET_LINK)$(CC) $(LDFLAGS) -shared -rdynamic -fPIC -Wl,-soname,fio-$(1).so.1 -o $$@ $$< $$($(1)_LIBS) ENGS_OBJS += engines/fio-$(1).so endef else # !CONFIG_DYNAMIC_ENGINES define engine_template = SOURCE += $$($(1)_SRCS) LIBS += $$($(1)_LIBS) override CFLAGS += $$($(1)_CFLAGS) endef endif FIO-VERSION-FILE: FORCE @$(SHELL) $(SRCDIR)/FIO-VERSION-GEN -include FIO-VERSION-FILE override CFLAGS := -DFIO_VERSION='"$(FIO_VERSION)"' $(FIO_CFLAGS) $(CFLAGS) $(foreach eng,$(ENGINES),$(eval $(call engine_template,$(eng)))) OBJS := $(SOURCE:.c=.o) FIO_OBJS = $(OBJS) fio.o GFIO_OBJS = $(OBJS) gfio.o graph.o tickmarks.o ghelpers.o goptions.o gerror.o \ gclient.o gcompat.o cairo_text_helpers.o printing.o ifdef CONFIG_ARITHMETIC FIO_OBJS += lex.yy.o y.tab.o GFIO_OBJS += lex.yy.o y.tab.o endif -include $(OBJS:.o=.d) T_SMALLOC_OBJS = t/stest.o T_SMALLOC_OBJS += gettime.o fio_sem.o pshared.o smalloc.o t/log.o t/debug.o \ t/arch.o T_SMALLOC_PROGS = t/stest T_IEEE_OBJS = t/ieee754.o T_IEEE_OBJS += lib/ieee754.o T_IEEE_PROGS = t/ieee754 T_ZIPF_OBS = t/genzipf.o T_ZIPF_OBJS += t/log.o lib/ieee754.o lib/rand.o lib/pattern.o lib/zipf.o \ lib/strntol.o lib/gauss.o t/genzipf.o oslib/strcasestr.o \ oslib/strndup.o T_ZIPF_PROGS = t/fio-genzipf T_AXMAP_OBJS = t/axmap.o T_AXMAP_OBJS += lib/lfsr.o lib/axmap.o T_AXMAP_PROGS = t/axmap T_LFSR_TEST_OBJS = t/lfsr-test.o T_LFSR_TEST_OBJS += lib/lfsr.o gettime.o fio_sem.o pshared.o \ t/log.o t/debug.o t/arch.o T_LFSR_TEST_PROGS = t/lfsr-test T_GEN_RAND_OBJS = t/gen-rand.o T_GEN_RAND_OBJS += t/log.o t/debug.o lib/rand.o lib/pattern.o lib/strntol.o \ oslib/strcasestr.o oslib/strndup.o T_GEN_RAND_PROGS = t/gen-rand ifeq ($(CONFIG_TARGET_OS), Linux) T_BTRACE_FIO_OBJS = t/btrace2fio.o T_BTRACE_FIO_OBJS += fifo.o lib/flist_sort.o t/log.o oslib/linux-dev-lookup.o T_BTRACE_FIO_PROGS = t/fio-btrace2fio endif T_DEDUPE_OBJS = t/dedupe.o T_DEDUPE_OBJS += lib/rbtree.o t/log.o fio_sem.o pshared.o smalloc.o gettime.o \ crc/md5.o lib/memalign.o lib/bloom.o t/debug.o crc/xxhash.o \ t/arch.o crc/murmur3.o crc/crc32c.o crc/crc32c-intel.o \ crc/crc32c-arm64.o crc/fnv.o T_DEDUPE_PROGS = t/fio-dedupe T_VS_OBJS = t/verify-state.o t/log.o crc/crc32c.o crc/crc32c-intel.o crc/crc32c-arm64.o t/debug.o T_VS_PROGS = t/fio-verify-state T_PIPE_ASYNC_OBJS = t/read-to-pipe-async.o t/log.o T_PIPE_ASYNC_PROGS = t/read-to-pipe-async T_IOU_RING_OBJS = t/io_uring.o lib/rand.o lib/pattern.o lib/strntol.o T_IOU_RING_PROGS = t/io_uring T_MEMLOCK_OBJS = t/memlock.o T_MEMLOCK_PROGS = t/memlock T_TT_OBJS = t/time-test.o T_TT_PROGS = t/time-test ifneq (,$(findstring -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION,$(CFLAGS))) T_FUZZ_OBJS = t/fuzz/fuzz_parseini.o T_FUZZ_OBJS += $(OBJS) ifdef CONFIG_ARITHMETIC T_FUZZ_OBJS += lex.yy.o y.tab.o endif # For proper fio code teardown CFLAGS needs to include -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION # in case there is no fuzz driver defined by environment variable LIB_FUZZING_ENGINE, use a simple one # For instance, with compiler clang, address sanitizer and libFuzzer as a fuzzing engine, you should define # export CFLAGS="-fsanitize=address,fuzzer-no-link -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" # export LIB_FUZZING_ENGINE="-fsanitize=address" # export CC=clang # before running configure && make # You can adapt this with different compilers, sanitizers, and fuzzing engines ifndef LIB_FUZZING_ENGINE T_FUZZ_OBJS += t/fuzz/onefile.o endif T_FUZZ_PROGS = t/fuzz/fuzz_parseini else # CFLAGS includes -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION T_FUZZ_OBJS = T_FUZZ_PROGS = endif T_OBJS = $(T_SMALLOC_OBJS) T_OBJS += $(T_IEEE_OBJS) T_OBJS += $(T_ZIPF_OBJS) T_OBJS += $(T_AXMAP_OBJS) T_OBJS += $(T_LFSR_TEST_OBJS) T_OBJS += $(T_GEN_RAND_OBJS) T_OBJS += $(T_BTRACE_FIO_OBJS) T_OBJS += $(T_DEDUPE_OBJS) T_OBJS += $(T_VS_OBJS) T_OBJS += $(T_PIPE_ASYNC_OBJS) T_OBJS += $(T_MEMLOCK_OBJS) T_OBJS += $(T_TT_OBJS) T_OBJS += $(T_IOU_RING_OBJS) T_OBJS += $(T_FUZZ_OBJS) ifneq (,$(findstring CYGWIN,$(CONFIG_TARGET_OS))) T_DEDUPE_OBJS += $(WINDOWS_OBJS) T_SMALLOC_OBJS += $(WINDOWS_OBJS) T_LFSR_TEST_OBJS += $(WINDOWS_OBJS) endif T_TEST_PROGS = $(T_SMALLOC_PROGS) T_TEST_PROGS += $(T_IEEE_PROGS) T_PROGS += $(T_ZIPF_PROGS) T_TEST_PROGS += $(T_AXMAP_PROGS) T_TEST_PROGS += $(T_LFSR_TEST_PROGS) T_TEST_PROGS += $(T_GEN_RAND_PROGS) T_PROGS += $(T_BTRACE_FIO_PROGS) ifdef CONFIG_ZLIB T_PROGS += $(T_DEDUPE_PROGS) endif T_PROGS += $(T_VS_PROGS) T_TEST_PROGS += $(T_MEMLOCK_PROGS) ifdef CONFIG_PREAD T_TEST_PROGS += $(T_PIPE_ASYNC_PROGS) endif ifneq (,$(findstring Linux,$(CONFIG_TARGET_OS))) T_TEST_PROGS += $(T_IOU_RING_PROGS) endif T_TEST_PROGS += $(T_FUZZ_PROGS) PROGS += $(T_PROGS) ifdef CONFIG_HAVE_CUNIT UT_OBJS = unittests/unittest.o UT_OBJS += unittests/lib/memalign.o UT_OBJS += unittests/lib/num2str.o UT_OBJS += unittests/lib/strntol.o UT_OBJS += unittests/oslib/strlcat.o UT_OBJS += unittests/oslib/strndup.o UT_OBJS += unittests/oslib/strcasestr.o UT_OBJS += unittests/oslib/strsep.o UT_TARGET_OBJS = lib/memalign.o UT_TARGET_OBJS += lib/num2str.o UT_TARGET_OBJS += lib/strntol.o UT_TARGET_OBJS += oslib/strlcat.o UT_TARGET_OBJS += oslib/strndup.o UT_TARGET_OBJS += oslib/strcasestr.o UT_TARGET_OBJS += oslib/strsep.o UT_PROGS = unittests/unittest else UT_OBJS = UT_TARGET_OBJS = UT_PROGS = endif ifneq ($(findstring $(MAKEFLAGS),s),s) ifndef V QUIET_CC = @echo ' ' CC $@; QUIET_LINK = @echo ' ' LINK $@; QUIET_DEP = @echo ' ' DEP $@; QUIET_YACC = @echo ' ' YACC $@; QUIET_LEX = @echo ' ' LEX $@; endif endif ifeq ($(CONFIG_TARGET_OS), SunOS) INSTALL = ginstall else INSTALL = install endif prefix = $(INSTALL_PREFIX) bindir = $(prefix)/bin libdir = $(prefix)/lib/fio ifeq ($(CONFIG_TARGET_OS), Darwin) mandir = /usr/share/man sharedir = /usr/share/fio else mandir = $(prefix)/man sharedir = $(prefix)/share/fio endif all: $(PROGS) $(T_TEST_PROGS) $(UT_PROGS) $(SCRIPTS) $(ENGS_OBJS) FORCE .PHONY: all install clean test .PHONY: FORCE cscope %.o : %.c @mkdir -p $(dir $@) $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $< @$(CC) -MM $(CFLAGS) $(CPPFLAGS) $(SRCDIR)/$*.c > $*.d @mv -f $*.d $*.d.tmp @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d @if type -p fmt >/dev/null 2>&1; then \ sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -w 1 | \ sed -e 's/^ *//' -e 's/$$/:/' >> $*.d; \ else \ sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | \ tr -cs "[:graph:]" "\n" | \ sed -e 's/^ *//' -e '/^$$/ d' -e 's/$$/:/' >> $*.d; \ fi @rm -f $*.d.tmp ifdef CONFIG_ARITHMETIC lex.yy.c: exp/expression-parser.l ifdef CONFIG_LEX_USE_O $(QUIET_LEX)$(LEX) -o $@ $< else $(QUIET_LEX)$(LEX) $< endif ifneq (,$(findstring -Wimplicit-fallthrough,$(CFLAGS))) LEX_YY_CFLAGS := -Wno-implicit-fallthrough endif ifdef CONFIG_HAVE_NO_STRINGOP YTAB_YY_CFLAGS := -Wno-stringop-truncation endif lex.yy.o: lex.yy.c y.tab.h $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LEX_YY_CFLAGS) -c $< y.tab.o: y.tab.c y.tab.h $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(YTAB_YY_CFLAGS) -c $< y.tab.c: exp/expression-parser.y $(QUIET_YACC)$(YACC) -o $@ -l -d -b y $< y.tab.h: y.tab.c lexer.h: lex.yy.c exp/test-expression-parser.o: exp/test-expression-parser.c $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $< exp/test-expression-parser: exp/test-expression-parser.o $(QUIET_LINK)$(CC) $(LDFLAGS) $< y.tab.o lex.yy.o -o $@ $(LIBS) parse.o: lex.yy.o y.tab.o endif init.o: init.c FIO-VERSION-FILE gcompat.o: gcompat.c gcompat.h $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c $< goptions.o: goptions.c goptions.h $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c $< ghelpers.o: ghelpers.c ghelpers.h $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c $< gerror.o: gerror.c gerror.h $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c $< gclient.o: gclient.c gclient.h $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c $< gfio.o: gfio.c ghelpers.c $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c $< graph.o: graph.c graph.h $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c $< cairo_text_helpers.o: cairo_text_helpers.c cairo_text_helpers.h $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c $< printing.o: printing.c printing.h $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c $< t/io_uring.o: os/linux/io_uring.h t/io_uring: $(T_IOU_RING_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_IOU_RING_OBJS) $(LIBS) t/read-to-pipe-async: $(T_PIPE_ASYNC_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_PIPE_ASYNC_OBJS) $(LIBS) t/memlock: $(T_MEMLOCK_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_MEMLOCK_OBJS) $(LIBS) t/stest: $(T_SMALLOC_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_SMALLOC_OBJS) $(LIBS) t/ieee754: $(T_IEEE_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_IEEE_OBJS) $(LIBS) fio: $(FIO_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(FIO_OBJS) $(LIBS) $(HDFSLIB) t/fuzz/fuzz_parseini: $(T_FUZZ_OBJS) ifndef LIB_FUZZING_ENGINE $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_FUZZ_OBJS) $(LIBS) $(HDFSLIB) else $(QUIET_LINK)$(CXX) $(LDFLAGS) -o $@ $(T_FUZZ_OBJS) $(LIB_FUZZING_ENGINE) $(LIBS) $(HDFSLIB) endif gfio: $(GFIO_OBJS) $(QUIET_LINK)$(CC) $(filter-out -static, $(LDFLAGS)) -o gfio $(GFIO_OBJS) $(LIBS) $(GFIO_LIBS) $(GTK_LDFLAGS) $(HDFSLIB) t/fio-genzipf: $(T_ZIPF_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_ZIPF_OBJS) $(LIBS) t/axmap: $(T_AXMAP_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_AXMAP_OBJS) $(LIBS) t/lfsr-test: $(T_LFSR_TEST_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_LFSR_TEST_OBJS) $(LIBS) t/gen-rand: $(T_GEN_RAND_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_GEN_RAND_OBJS) $(LIBS) ifeq ($(CONFIG_TARGET_OS), Linux) t/fio-btrace2fio: $(T_BTRACE_FIO_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_BTRACE_FIO_OBJS) $(LIBS) endif ifdef CONFIG_ZLIB t/fio-dedupe: $(T_DEDUPE_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_DEDUPE_OBJS) $(LIBS) endif t/fio-verify-state: $(T_VS_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_VS_OBJS) $(LIBS) t/time-test: $(T_TT_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(T_TT_OBJS) $(LIBS) ifdef CONFIG_HAVE_CUNIT unittests/unittest: $(UT_OBJS) $(UT_TARGET_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $(UT_OBJS) $(UT_TARGET_OBJS) -lcunit $(LIBS) endif clean: FORCE @rm -f .depend $(FIO_OBJS) $(GFIO_OBJS) $(OBJS) $(T_OBJS) $(UT_OBJS) $(PROGS) $(T_PROGS) $(T_TEST_PROGS) core.* core gfio unittests/unittest FIO-VERSION-FILE *.[do] lib/*.d oslib/*.[do] crc/*.d engines/*.[do] engines/*.so profiles/*.[do] t/*.[do] t/*/*.[do] unittests/*.[do] unittests/*/*.[do] config-host.mak config-host.h y.tab.[ch] lex.yy.c exp/*.[do] lexer.h @rm -f t/fio-btrace2fio t/io_uring t/read-to-pipe-async @rm -rf doc/output distclean: clean FORCE @rm -f cscope.out fio.pdf fio_generate_plots.pdf fio2gnuplot.pdf fiologparser_hist.pdf cscope: @cscope -b -R tools/plot/fio2gnuplot.1: @cat tools/plot/fio2gnuplot.manpage | txt2man -t fio2gnuplot > tools/plot/fio2gnuplot.1 doc: tools/plot/fio2gnuplot.1 @man -t ./fio.1 | ps2pdf - fio.pdf @man -t tools/fio_generate_plots.1 | ps2pdf - fio_generate_plots.pdf @man -t tools/plot/fio2gnuplot.1 | ps2pdf - fio2gnuplot.pdf @man -t tools/hist/fiologparser_hist.py.1 | ps2pdf - fiologparser_hist.pdf test: fio ./fio --minimal --thread --exitall_on_error --runtime=1s --name=nulltest --ioengine=null --rw=randrw --iodepth=2 --norandommap --random_generator=tausworthe64 --size=16T --name=verifyfstest --filename=fiotestfile.tmp --unlink=1 --rw=write --verify=crc32c --verify_state_save=0 --size=16K fulltest: sudo modprobe null_blk && \ if [ ! -e /usr/include/libzbc/zbc.h ]; then \ git clone https://github.com/westerndigitalcorporation/libzbc && \ (cd libzbc && \ ./autogen.sh && \ ./configure --prefix=/usr && \ make -j && \ sudo make install) \ fi && \ sudo t/zbd/run-tests-against-nullb -s 1 && \ if [ -e /sys/module/null_blk/parameters/zoned ]; then \ sudo t/zbd/run-tests-against-nullb -s 2; \ sudo t/zbd/run-tests-against-nullb -s 4; \ fi install: $(PROGS) $(SCRIPTS) $(ENGS_OBJS) tools/plot/fio2gnuplot.1 FORCE $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) $(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir) ifdef CONFIG_DYNAMIC_ENGINES $(INSTALL) -m 755 -d $(DESTDIR)$(libdir) $(INSTALL) -m 755 $(SRCDIR)/engines/*.so $(DESTDIR)$(libdir) endif $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1 $(INSTALL) -m 644 $(SRCDIR)/fio.1 $(DESTDIR)$(mandir)/man1 $(INSTALL) -m 644 $(SRCDIR)/tools/fio_generate_plots.1 $(DESTDIR)$(mandir)/man1 $(INSTALL) -m 644 $(SRCDIR)/tools/plot/fio2gnuplot.1 $(DESTDIR)$(mandir)/man1 $(INSTALL) -m 644 $(SRCDIR)/tools/hist/fiologparser_hist.py.1 $(DESTDIR)$(mandir)/man1 $(INSTALL) -m 755 -d $(DESTDIR)$(sharedir) $(INSTALL) -m 644 $(SRCDIR)/tools/plot/*gpm $(DESTDIR)$(sharedir)/ .PHONY: test fulltest fio-3.39/README.rst000066400000000000000000000253101476262051600137260ustar00rootroot00000000000000Overview and history -------------------- Fio was originally written to save me the hassle of writing special test case programs when I wanted to test a specific workload, either for performance reasons or to find/reproduce a bug. The process of writing such a test app can be tiresome, especially if you have to do it often. Hence I needed a tool that would be able to simulate a given I/O workload without resorting to writing a tailored test case again and again. A test work load is difficult to define, though. There can be any number of processes or threads involved, and they can each be using their own way of generating I/O. You could have someone dirtying large amounts of memory in a memory mapped file, or maybe several threads issuing reads using asynchronous I/O. fio needed to be flexible enough to simulate both of these cases, and many more. Fio spawns a number of threads or processes doing a particular type of I/O action as specified by the user. fio takes a number of global parameters, each inherited by the thread unless otherwise parameters given to them overriding that setting is given. The typical use of fio is to write a job file matching the I/O load one wants to simulate. Source ------ Fio resides in a git repo, the canonical place is: https://git.kernel.dk/cgit/fio/ Snapshots are frequently generated and :file:`fio-git-*.tar.gz` include the git meta data as well. Other tarballs are archives of official fio releases. Snapshots can download from: https://brick.kernel.dk/snaps/ There are also two official mirrors. Both of these are automatically synced with the main repository, when changes are pushed. If the main repo is down for some reason, either one of these is safe to use as a backup: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git https://github.com/axboe/fio.git Mailing list ------------ The fio project mailing list is meant for anything related to fio including general discussion, bug reporting, questions, and development. For bug reporting, see REPORTING-BUGS. An automated mail detailing recent commits is automatically sent to the list at most daily. The list address is fio@vger.kernel.org, subscribe by sending an email to fio+subscribe@vger.kernel.org or visit https://subspace.kernel.org/vger.kernel.org.html. Archives can be found here: https://www.spinics.net/lists/fio/ or here: https://lore.kernel.org/fio/ and archives for the old list can be found here: http://maillist.kernel.dk/fio-devel/ Author ------ Fio was written by Jens Axboe to enable flexible testing of the Linux I/O subsystem and schedulers. He got tired of writing specific test applications to simulate a given workload, and found that the existing I/O benchmark/test tools out there weren't flexible enough to do what he wanted. Jens Axboe 20060905 Maintainers ----------- Fio is maintained by Jens Axboe - however, for reporting bugs please use the fio reflector or the GitHub page rather than email any of them directly. By using the public resources, others will be able to learn from the responses too. Chances are also good that other members will be able to help with your inquiry as well. Binary packages --------------- Debian: Starting with Debian "Squeeze", fio packages are part of the official Debian repository. https://packages.debian.org/search?keywords=fio . Ubuntu: Starting with Ubuntu 10.04 LTS (aka "Lucid Lynx"), fio packages are part of the Ubuntu "universe" repository. https://packages.ubuntu.com/search?keywords=fio . Red Hat, Fedora, CentOS & Co: Starting with Fedora 9/Extra Packages for Enterprise Linux 4, fio packages are part of the Fedora/EPEL repositories. https://packages.fedoraproject.org/pkgs/fio/ . Mandriva: Mandriva has integrated fio into their package repository, so installing on that distro should be as easy as typing ``urpmi fio``. Arch Linux: An Arch Linux package is provided under the Community sub-repository: https://www.archlinux.org/packages/?sort=&q=fio Solaris: Packages for Solaris are available from OpenCSW. Install their pkgutil tool (http://www.opencsw.org/get-it/pkgutil/) and then install fio via ``pkgutil -i fio``. Windows: Beginning with fio 3.31 Windows installers for tagged releases are available on GitHub at https://github.com/axboe/fio/releases. The latest installers for Windows can also be obtained as GitHub Actions artifacts by selecting a build from https://github.com/axboe/fio/actions. These require logging in to a GitHub account. BSDs: Packages for BSDs may be available from their binary package repositories. Look for a package "fio" using their binary package managers. Building -------- Just type:: $ ./configure $ make $ make install Note that GNU make is required. On BSDs it's available from devel/gmake within ports directory; on Solaris it's in the SUNWgmake package. On platforms where GNU make isn't the default, type ``gmake`` instead of ``make``. Configure will print the enabled options. Note that on Linux based platforms, the libaio development packages must be installed to use the libaio engine. Depending on the distro, it is usually called libaio-devel or libaio-dev. For gfio, gtk 2.18 (or newer), associated glib threads, and cairo are required to be installed. gfio isn't built automatically and can be enabled with a ``--enable-gfio`` option to configure. To build fio with a cross-compiler:: $ make clean $ make CROSS_COMPILE=/path/to/toolchain/prefix Configure will attempt to determine the target platform automatically. It's possible to build fio for ESX as well, use the ``--esx`` switch to configure. Windows ~~~~~~~ The minimum versions of Windows for building/running fio are Windows 7/Windows Server 2008 R2. On Windows, Cygwin (https://www.cygwin.com/) is required in order to build fio. To create an MSI installer package install WiX from https://wixtoolset.org and run :file:`dobuild.cmd` from the :file:`os/windows` directory. How to compile fio on 64-bit Windows: 1. Install Cygwin (https://www.cygwin.com/). Install **make** and all packages starting with **mingw64-x86_64**. Ensure **mingw64-x86_64-zlib** are installed if you wish to enable fio's log compression functionality. 2. Open the Cygwin Terminal. 3. Go to the fio directory (source files). 4. Run ``make clean && make -j``. To build fio for 32-bit Windows, ensure the -i686 versions of the previously mentioned -x86_64 packages are installed and run ``./configure --build-32bit-win`` before ``make``. It's recommended that once built or installed, fio be run in a Command Prompt or other 'native' console such as console2, since there are known to be display and signal issues when running it under a Cygwin shell (see https://github.com/mintty/mintty/issues/56 and https://github.com/mintty/mintty/wiki/Tips#inputoutput-interaction-with-alien-programs for details). Documentation ~~~~~~~~~~~~~ Fio uses Sphinx_ to generate documentation from the reStructuredText_ files. To build HTML formatted documentation run ``make -C doc html`` and direct your browser to :file:`./doc/output/html/index.html`. To build manual page run ``make -C doc man`` and then ``man doc/output/man/fio.1``. To see what other output formats are supported run ``make -C doc help``. .. _reStructuredText: https://www.sphinx-doc.org/rest.html .. _Sphinx: https://www.sphinx-doc.org Platforms --------- Fio works on (at least) Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD, Windows, FreeBSD, and DragonFly. Some features and/or options may only be available on some of the platforms, typically because those features only apply to that platform (like the solarisaio engine, or the splice engine on Linux). Some features are not available on FreeBSD/Solaris even if they could be implemented, I'd be happy to take patches for that. An example of that is disk utility statistics and (I think) huge page support, support for that does exist in FreeBSD/Solaris. Fio uses pthread mutexes for signaling and locking and some platforms do not support process shared pthread mutexes. As a result, on such platforms only threads are supported. This could be fixed with sysv ipc locking or other locking alternatives. Other \*BSD platforms are untested, but fio should work there almost out of the box. Since I don't do test runs or even compiles on those platforms, your mileage may vary. Sending me patches for other platforms is greatly appreciated. There's a lot of value in having the same test/benchmark tool available on all platforms. Note that POSIX aio is not enabled by default on AIX. Messages like these:: Symbol resolution failed for /usr/lib/libc.a(posix_aio.o) because: Symbol _posix_kaio_rdwr (number 2) is not exported from dependent module /unix. indicate one needs to enable POSIX aio. Run the following commands as root:: # lsdev -C -l posix_aio0 posix_aio0 Defined Posix Asynchronous I/O # cfgmgr -l posix_aio0 # lsdev -C -l posix_aio0 posix_aio0 Available Posix Asynchronous I/O POSIX aio should work now. To make the change permanent:: # chdev -l posix_aio0 -P -a autoconfig='available' posix_aio0 changed Running fio ----------- Running fio is normally the easiest part - you just give it the job file (or job files) as parameters:: $ fio [options] [jobfile] ... and it will start doing what the *jobfile* tells it to do. You can give more than one job file on the command line, fio will serialize the running of those files. Internally that is the same as using the :option:`stonewall` parameter described in the parameter section. If the job file contains only one job, you may as well just give the parameters on the command line. The command line parameters are identical to the job parameters, with a few extra that control global parameters. For example, for the job file parameter :option:`iodepth=2 `, the mirror command line option would be :option:`--iodepth 2 ` or :option:`--iodepth=2 `. You can also use the command line for giving more than one job entry. For each :option:`--name ` option that fio sees, it will start a new job with that name. Command line entries following a :option:`--name ` entry will apply to that job, until there are no more entries or a new :option:`--name ` entry is seen. This is similar to the job file options, where each option applies to the current job until a new [] job entry is seen. fio does not need to run as root, except if the files or devices specified in the job section requires that. Some other options may also be restricted, such as memory locking, I/O scheduler switching, and decreasing the nice value. If *jobfile* is specified as ``-``, the job file will be read from standard input. fio-3.39/REPORTING-BUGS000066400000000000000000000031461476262051600142740ustar00rootroot00000000000000Reporting a bug --------------- ...via the mailing list ======================= If you notice anything that seems like a fio bug or want to ask fio related questions, please send a plain-text only email to the list (fio@vger.kernel.org, see README) about it. If you are not running the newest release of fio please upgrade first. When reporting a bug, you'll need to include: 1) A description of what you think the bug is 2) Environment (e.g. Linux distro version, kernel version). This is mostly needed if it's a build bug. 3) The output from fio --version . 4) How to reproduce. Please include a full list of the parameters passed to fio and the job file used (if any). A bug report can't have too much information. Any time information that is left out and has to be asked for will add to the turn-around time of getting to the bottom of the issue, and an eventual fix. That's it! ...via GitHub issues ==================== Please create an issue in the GitHub issue tracker (https://github.com/axboe/fio/issues ) but observe the following: a) If you are asking a question on how to do something ("How do I/Why is?") please send it to the mailing list and not GitHub issues. The fio project uses GitHub issues for reproducible bugs/enhancement requests. b) Please reproduce your bug using the latest fio listed on https://github.com/axboe/fio/releases (see the Source and Building sections of the README for how to build fio from source). c) Include all of the information requested in the mailing list section above (description, environment, version, reproduction steps and all job parameters). Thanks! fio-3.39/SERVER-TODO000066400000000000000000000002021476262051600137240ustar00rootroot00000000000000- Collate ETA output from multiple connections into 1 - If group_reporting is set, collate final output from multiple connections fio-3.39/STEADYSTATE-TODO000066400000000000000000000015721476262051600145230ustar00rootroot00000000000000Known issues/TODO (for steady-state) - Replace the test script with a better one - Add test cases for the new check_interval option - Parse debug=steadystate output to check calculations - Instead of calculating `intervals` every time, calculate it once and stash it somewhere - Add the time unit to the ss_dur and check_interval variable names to reduce possible confusion - Better documentation for output - Report read, write, trim IOPS/BW separately - Semantics for the ring buffer ss->head are confusing. ss->head points to the beginning of the buffer up through the point where the buffer is filled for the first time. afterwards, when a new element is added, ss->head is advanced to point to the second element in the buffer. if steady state is attained upon adding a new element, ss->head is not advanced so it actually does point to the head of the buffer. fio-3.39/arch/000077500000000000000000000000001476262051600131535ustar00rootroot00000000000000fio-3.39/arch/arch-aarch64.h000066400000000000000000000070251476262051600154730ustar00rootroot00000000000000#ifndef ARCH_AARCH64_H #define ARCH_AARCH64_H #include #include #include #include #define FIO_ARCH (arch_aarch64) #define nop do { __asm__ __volatile__ ("yield"); } while (0) #define read_barrier() do { __sync_synchronize(); } while (0) #define write_barrier() do { __sync_synchronize(); } while (0) static inline int arch_ffz(unsigned long bitmask) { unsigned long count, reversed_bits; if (~bitmask == 0) /* ffz() in lib/ffz.h does this. */ return 63; __asm__ __volatile__ ("rbit %1, %2\n" "clz %0, %1\n" : "=r"(count), "=&r"(reversed_bits) : "r"(~bitmask)); return count; } #define ARCH_HAVE_FFZ #define isb() asm volatile("isb" : : : "memory") static inline unsigned long long get_cpu_clock(void) { unsigned long val; isb(); asm volatile("mrs %0, cntvct_el0" : "=r" (val)); return val; } #define ARCH_HAVE_CPU_CLOCK #define ARCH_HAVE_INIT extern bool tsc_reliable; static inline int arch_init(char *envp[]) { tsc_reliable = true; return 0; } #define __do_syscallN(...) ({ \ __asm__ volatile ( \ "svc 0" \ : "=r"(x0) \ : __VA_ARGS__ \ : "memory", "cc"); \ (long) x0; \ }) #define __do_syscall0(__n) ({ \ register long x8 __asm__("x8") = __n; \ register long x0 __asm__("x0"); \ \ __do_syscallN("r" (x8)); \ }) #define __do_syscall1(__n, __a) ({ \ register long x8 __asm__("x8") = __n; \ register __typeof__(__a) x0 __asm__("x0") = __a; \ \ __do_syscallN("r" (x8), "0" (x0)); \ }) #define __do_syscall2(__n, __a, __b) ({ \ register long x8 __asm__("x8") = __n; \ register __typeof__(__a) x0 __asm__("x0") = __a; \ register __typeof__(__b) x1 __asm__("x1") = __b; \ \ __do_syscallN("r" (x8), "0" (x0), "r" (x1)); \ }) #define __do_syscall3(__n, __a, __b, __c) ({ \ register long x8 __asm__("x8") = __n; \ register __typeof__(__a) x0 __asm__("x0") = __a; \ register __typeof__(__b) x1 __asm__("x1") = __b; \ register __typeof__(__c) x2 __asm__("x2") = __c; \ \ __do_syscallN("r" (x8), "0" (x0), "r" (x1), "r" (x2)); \ }) #define __do_syscall4(__n, __a, __b, __c, __d) ({ \ register long x8 __asm__("x8") = __n; \ register __typeof__(__a) x0 __asm__("x0") = __a; \ register __typeof__(__b) x1 __asm__("x1") = __b; \ register __typeof__(__c) x2 __asm__("x2") = __c; \ register __typeof__(__d) x3 __asm__("x3") = __d; \ \ __do_syscallN("r" (x8), "0" (x0), "r" (x1), "r" (x2), "r" (x3));\ }) #define __do_syscall5(__n, __a, __b, __c, __d, __e) ({ \ register long x8 __asm__("x8") = __n; \ register __typeof__(__a) x0 __asm__("x0") = __a; \ register __typeof__(__b) x1 __asm__("x1") = __b; \ register __typeof__(__c) x2 __asm__("x2") = __c; \ register __typeof__(__d) x3 __asm__("x3") = __d; \ register __typeof__(__e) x4 __asm__("x4") = __e; \ \ __do_syscallN("r" (x8), "0" (x0), "r" (x1), "r" (x2), "r" (x3), \ "r"(x4)); \ }) #define __do_syscall6(__n, __a, __b, __c, __d, __e, __f) ({ \ register long x8 __asm__("x8") = __n; \ register __typeof__(__a) x0 __asm__("x0") = __a; \ register __typeof__(__b) x1 __asm__("x1") = __b; \ register __typeof__(__c) x2 __asm__("x2") = __c; \ register __typeof__(__d) x3 __asm__("x3") = __d; \ register __typeof__(__e) x4 __asm__("x4") = __e; \ register __typeof__(__f) x5 __asm__("x5") = __f; \ \ __do_syscallN("r" (x8), "0" (x0), "r" (x1), "r" (x2), "r" (x3), \ "r" (x4), "r"(x5)); \ }) #define FIO_ARCH_HAS_SYSCALL #endif fio-3.39/arch/arch-alpha.h000066400000000000000000000003631476262051600153260ustar00rootroot00000000000000#ifndef ARCH_ALPHA_H #define ARCH_ALPHA_H #define FIO_ARCH (arch_alpha) #define nop do { } while (0) #define read_barrier() __asm__ __volatile__("mb": : :"memory") #define write_barrier() __asm__ __volatile__("wmb": : :"memory") #endif fio-3.39/arch/arch-arm.h000066400000000000000000000016431476262051600150220ustar00rootroot00000000000000#ifndef ARCH_ARM_H #define ARCH_ARM_H #define FIO_ARCH (arch_arm) #if defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__) \ || defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5E__)\ || defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) \ || defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) \ || defined(__ARM_ARCH_6KZ__) || defined(__ARM_ARCH_6K__) #define nop __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t") #define read_barrier() __asm__ __volatile__ ("" : : : "memory") #define write_barrier() __asm__ __volatile__ ("" : : : "memory") #elif defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7VE__) || defined(__ARM_ARCH_8A__) #define nop __asm__ __volatile__ ("nop") #define read_barrier() __sync_synchronize() #define write_barrier() __sync_synchronize() #else #error "unsupported ARM architecture" #endif #endif fio-3.39/arch/arch-generic.h000066400000000000000000000003641476262051600156560ustar00rootroot00000000000000#ifndef ARCH_GENERIC_H #define ARCH_GENERIC_H #define FIO_ARCH (arch_generic) #define nop do { } while (0) #define read_barrier() __asm__ __volatile__("": : :"memory") #define write_barrier() __asm__ __volatile__("": : :"memory") #endif fio-3.39/arch/arch-hppa.h000066400000000000000000000003561476262051600151730ustar00rootroot00000000000000#ifndef ARCH_HPPA_H #define ARCH_HPPA_H #define FIO_ARCH (arch_hppa) #define nop do { } while (0) #define read_barrier() __asm__ __volatile__ ("" : : : "memory") #define write_barrier() __asm__ __volatile__ ("" : : : "memory") #endif fio-3.39/arch/arch-ia64.h000066400000000000000000000015511476262051600150040ustar00rootroot00000000000000#ifndef ARCH_IA64_H #define ARCH_IA64_H #define FIO_ARCH (arch_ia64) #define nop asm volatile ("hint @pause" ::: "memory"); #define read_barrier() asm volatile ("mf" ::: "memory") #define write_barrier() asm volatile ("mf" ::: "memory") #define ia64_popcnt(x) \ ({ \ unsigned long ia64_intri_res; \ asm ("popcnt %0=%1" : "=r" (ia64_intri_res) : "r" (x)); \ ia64_intri_res; \ }) static inline unsigned long arch_ffz(unsigned long bitmask) { return ia64_popcnt(bitmask & (~bitmask - 1)); } static inline unsigned long long get_cpu_clock(void) { unsigned long long ret; __asm__ __volatile__("mov %0=ar.itc" : "=r" (ret) : : "memory"); return ret; } #define ARCH_HAVE_INIT extern bool tsc_reliable; static inline int arch_init(char *envp[]) { tsc_reliable = true; return 0; } #define ARCH_HAVE_FFZ #define ARCH_HAVE_CPU_CLOCK #endif fio-3.39/arch/arch-loongarch64.h000066400000000000000000000004471476262051600163720ustar00rootroot00000000000000#ifndef ARCH_LOONGARCH64_H #define ARCH_LOONGARCH64_H #define FIO_ARCH (arch_loongarch64) #define read_barrier() __asm__ __volatile__("dbar 0": : :"memory") #define write_barrier() __asm__ __volatile__("dbar 0": : :"memory") #define nop __asm__ __volatile__("dbar 0": : :"memory") #endif fio-3.39/arch/arch-mips.h000066400000000000000000000004041476262051600152050ustar00rootroot00000000000000#ifndef ARCH_MIPS64_H #define ARCH_MIPS64_H #define FIO_ARCH (arch_mips) #define read_barrier() __asm__ __volatile__("": : :"memory") #define write_barrier() __asm__ __volatile__("": : :"memory") #define nop __asm__ __volatile__("": : :"memory") #endif fio-3.39/arch/arch-ppc.h000066400000000000000000000051571476262051600150310ustar00rootroot00000000000000#ifndef ARCH_PPC_H #define ARCH_PPC_H #include #include #include #include #define FIO_ARCH (arch_ppc) #define nop do { } while (0) #ifdef __powerpc64__ #define read_barrier() __asm__ __volatile__ ("lwsync" : : : "memory") #else #define read_barrier() __asm__ __volatile__ ("sync" : : : "memory") #endif #define write_barrier() __asm__ __volatile__ ("sync" : : : "memory") #ifdef __powerpc64__ #define PPC_CNTLZL "cntlzd" #else #define PPC_CNTLZL "cntlzw" #endif static inline int __ilog2(unsigned long bitmask) { int lz; asm (PPC_CNTLZL " %0,%1" : "=r" (lz) : "r" (bitmask)); return BITS_PER_LONG - 1 - lz; } static inline int arch_ffz(unsigned long bitmask) { if ((bitmask = ~bitmask) == 0) return BITS_PER_LONG; return __ilog2(bitmask & -bitmask); } static inline unsigned int mfspr(unsigned int reg) { unsigned int val; asm volatile("mfspr %0,%1": "=r" (val) : "K" (reg)); return val; } #define SPRN_TBRL 0x10C /* Time Base Register Lower */ #define SPRN_TBRU 0x10D /* Time Base Register Upper */ #define SPRN_ATBL 0x20E /* Alternate Time Base Lower */ #define SPRN_ATBU 0x20F /* Alternate Time Base Upper */ #ifdef __powerpc64__ static inline unsigned long long get_cpu_clock(void) { unsigned long long rval; asm volatile( "90: mfspr %0, %1;\n" " cmpwi %0,0;\n" " beq- 90b;\n" : "=r" (rval) : "i" (SPRN_TBRL) : "cr0"); return rval; } #else static inline unsigned long long get_cpu_clock(void) { unsigned int tbl, tbu0, tbu1; unsigned long long ret; do { if (arch_flags & ARCH_FLAG_1) { tbu0 = mfspr(SPRN_ATBU); tbl = mfspr(SPRN_ATBL); tbu1 = mfspr(SPRN_ATBU); } else { tbu0 = mfspr(SPRN_TBRU); tbl = mfspr(SPRN_TBRL); tbu1 = mfspr(SPRN_TBRU); } } while (tbu0 != tbu1); ret = (((unsigned long long)tbu0) << 32) | tbl; return ret; } #endif #if 0 static void atb_child(void) { arch_flags |= ARCH_FLAG_1; get_cpu_clock(); _exit(0); } static void atb_clocktest(void) { pid_t pid; pid = fork(); if (!pid) atb_child(); else if (pid != -1) { int status; pid = wait(&status); if (pid == -1 || !WIFEXITED(status)) arch_flags &= ~ARCH_FLAG_1; else arch_flags |= ARCH_FLAG_1; } } #endif #define ARCH_HAVE_INIT extern bool tsc_reliable; static inline int arch_init(char *envp[]) { #if 0 tsc_reliable = true; atb_clocktest(); #endif return 0; } #define ARCH_HAVE_FFZ /* * We don't have it on all platforms, lets comment this out until we * can handle it more intelligently. * * #define ARCH_HAVE_CPU_CLOCK */ /* * Let's have it defined for ppc64 */ #ifdef __powerpc64__ #define ARCH_HAVE_CPU_CLOCK #endif #endif fio-3.39/arch/arch-riscv64.h000066400000000000000000000064531476262051600155470ustar00rootroot00000000000000#ifndef ARCH_RISCV64_H #define ARCH_RISCV64_H #include #include #include #include #define FIO_ARCH (arch_riscv64) #define nop __asm__ __volatile__ ("nop") #define read_barrier() __asm__ __volatile__("fence r, r": : :"memory") #define write_barrier() __asm__ __volatile__("fence w, w": : :"memory") static inline unsigned long long get_cpu_clock(void) { unsigned long val; asm volatile("rdtime %0" : "=r"(val)); return val; } #define ARCH_HAVE_CPU_CLOCK #define ARCH_HAVE_INIT extern bool tsc_reliable; static inline int arch_init(char *envp[]) { tsc_reliable = true; return 0; } #define __do_syscallM(...) ({ \ __asm__ volatile ( \ "ecall" \ : "=r"(a0) \ : __VA_ARGS__ \ : "memory", "a1"); \ (long) a0; \ }) #define __do_syscallN(...) ({ \ __asm__ volatile ( \ "ecall" \ : "=r"(a0) \ : __VA_ARGS__ \ : "memory"); \ (long) a0; \ }) #define __do_syscall0(__n) ({ \ register long a7 __asm__("a7") = __n; \ register long a0 __asm__("a0"); \ \ __do_syscallM("r" (a7)); \ }) #define __do_syscall1(__n, __a) ({ \ register long a7 __asm__("a7") = __n; \ register __typeof__(__a) a0 __asm__("a0") = __a; \ \ __do_syscallM("r" (a7), "0" (a0)); \ }) #define __do_syscall2(__n, __a, __b) ({ \ register long a7 __asm__("a7") = __n; \ register __typeof__(__a) a0 __asm__("a0") = __a; \ register __typeof__(__b) a1 __asm__("a1") = __b; \ \ __do_syscallN("r" (a7), "0" (a0), "r" (a1)); \ }) #define __do_syscall3(__n, __a, __b, __c) ({ \ register long a7 __asm__("a7") = __n; \ register __typeof__(__a) a0 __asm__("a0") = __a; \ register __typeof__(__b) a1 __asm__("a1") = __b; \ register __typeof__(__c) a2 __asm__("a2") = __c; \ \ __do_syscallN("r" (a7), "0" (a0), "r" (a1), "r" (a2)); \ }) #define __do_syscall4(__n, __a, __b, __c, __d) ({ \ register long a7 __asm__("a7") = __n; \ register __typeof__(__a) a0 __asm__("a0") = __a; \ register __typeof__(__b) a1 __asm__("a1") = __b; \ register __typeof__(__c) a2 __asm__("a2") = __c; \ register __typeof__(__d) a3 __asm__("a3") = __d; \ \ __do_syscallN("r" (a7), "0" (a0), "r" (a1), "r" (a2), "r" (a3));\ }) #define __do_syscall5(__n, __a, __b, __c, __d, __e) ({ \ register long a7 __asm__("a7") = __n; \ register __typeof__(__a) a0 __asm__("a0") = __a; \ register __typeof__(__b) a1 __asm__("a1") = __b; \ register __typeof__(__c) a2 __asm__("a2") = __c; \ register __typeof__(__d) a3 __asm__("a3") = __d; \ register __typeof__(__e) a4 __asm__("a4") = __e; \ \ __do_syscallN("r" (a7), "0" (a0), "r" (a1), "r" (a2), "r" (a3), \ "r"(a4)); \ }) #define __do_syscall6(__n, __a, __b, __c, __d, __e, __f) ({ \ register long a7 __asm__("a7") = __n; \ register __typeof__(__a) a0 __asm__("a0") = __a; \ register __typeof__(__b) a1 __asm__("a1") = __b; \ register __typeof__(__c) a2 __asm__("a2") = __c; \ register __typeof__(__d) a3 __asm__("a3") = __d; \ register __typeof__(__e) a4 __asm__("a4") = __e; \ register __typeof__(__f) a5 __asm__("a5") = __f; \ \ __do_syscallN("r" (a7), "0" (a0), "r" (a1), "r" (a2), "r" (a3), \ "r" (a4), "r"(a5)); \ }) #define FIO_ARCH_HAS_SYSCALL #endif fio-3.39/arch/arch-s390.h000066400000000000000000000015441476262051600147410ustar00rootroot00000000000000#ifndef ARCH_S390_H #define ARCH_S390_H #define FIO_ARCH (arch_s390) #define nop asm volatile("nop" : : : "memory") #define read_barrier() asm volatile("bcr 15,0" : : : "memory") #define write_barrier() asm volatile("bcr 15,0" : : : "memory") static inline unsigned long long get_cpu_clock(void) { unsigned long long clk; #ifdef CONFIG_S390_Z196_FACILITIES /* * Fio needs monotonic (never lower), but not strict monotonic (never * the same) so store clock fast is enough. */ __asm__ __volatile__("stckf %0" : "=Q" (clk) : : "cc"); #else __asm__ __volatile__("stck %0" : "=Q" (clk) : : "cc"); #endif return clk>>12; } #define ARCH_CPU_CLOCK_CYCLES_PER_USEC 1 #define ARCH_HAVE_CPU_CLOCK #undef ARCH_CPU_CLOCK_WRAPS #define ARCH_HAVE_INIT extern bool tsc_reliable; static inline int arch_init(char *envp[]) { tsc_reliable = true; return 0; } #endif fio-3.39/arch/arch-sh.h000066400000000000000000000015411476262051600146520ustar00rootroot00000000000000/* Renesas SH (32bit) only */ #ifndef ARCH_SH_H #define ARCH_SH_H #define FIO_ARCH (arch_sh) #define nop __asm__ __volatile__ ("nop": : :"memory") #define mb() \ do { \ if (arch_flags & ARCH_FLAG_1) \ __asm__ __volatile__ ("synco": : :"memory"); \ else \ __asm__ __volatile__ (" " : : : "memory"); \ } while (0) #define read_barrier() mb() #define write_barrier() mb() #include #include extern unsigned long arch_flags; #define CPU_HAS_LLSC 0x0040 static inline int arch_init(char *envp[]) { Elf32_auxv_t *auxv; while (*envp++ != NULL) ; for (auxv = (Elf32_auxv_t *) envp; auxv->a_type != AT_NULL; auxv++) { if (auxv->a_type == AT_HWCAP) { if (auxv->a_un.a_val & CPU_HAS_LLSC) { arch_flags |= ARCH_FLAG_1; break; } } } return 0; } #define ARCH_HAVE_INIT #endif fio-3.39/arch/arch-sparc.h000066400000000000000000000003611476262051600153470ustar00rootroot00000000000000#ifndef ARCH_SPARC_H #define ARCH_SPARC_H #define FIO_ARCH (arch_sparc) #define nop do { } while (0) #define read_barrier() __asm__ __volatile__ ("" : : : "memory") #define write_barrier() __asm__ __volatile__ ("" : : : "memory") #endif fio-3.39/arch/arch-sparc64.h000066400000000000000000000006031476262051600155200ustar00rootroot00000000000000#ifndef ARCH_SPARC64_H #define ARCH_SPARC64_H #define FIO_ARCH (arch_sparc64) #define nop do { } while (0) #define membar_safe(type) \ do { __asm__ __volatile__("ba,pt %%xcc, 1f\n\t" \ " membar " type "\n" \ "1:\n" \ : : : "memory"); \ } while (0) #define read_barrier() membar_safe("#LoadLoad") #define write_barrier() membar_safe("#StoreStore") #endif fio-3.39/arch/arch-x86-common.h000066400000000000000000000026471476262051600161630ustar00rootroot00000000000000#ifndef FIO_ARCH_X86_COMMON #define FIO_ARCH_X86_COMMON #include static inline void cpuid(unsigned int op, unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { *eax = op; *ecx = 0; do_cpuid(eax, ebx, ecx, edx); } #define ARCH_HAVE_INIT extern bool tsc_reliable; extern int arch_random; static inline void arch_init_intel(void) { unsigned int eax, ebx, ecx = 0, edx; /* * Check for TSC */ eax = 1; do_cpuid(&eax, &ebx, &ecx, &edx); if (!(edx & (1U << 4))) return; /* * Check for constant rate and synced (across cores) TSC */ eax = 0x80000007; do_cpuid(&eax, &ebx, &ecx, &edx); tsc_reliable = (edx & (1U << 8)) != 0; /* * Check for FDRAND */ eax = 0x1; do_cpuid(&eax, &ebx, &ecx, &edx); arch_random = (ecx & (1U << 30)) != 0; } static inline void arch_init_amd(void) { unsigned int eax, ebx, ecx, edx; cpuid(0x80000000, &eax, &ebx, &ecx, &edx); if (eax < 0x80000007) return; cpuid(0x80000007, &eax, &ebx, &ecx, &edx); tsc_reliable = (edx & (1U << 8)) != 0; } static inline void arch_init(char *envp[]) { unsigned int level; char str[13]; arch_random = tsc_reliable = 0; cpuid(0, &level, (unsigned int *) &str[0], (unsigned int *) &str[8], (unsigned int *) &str[4]); str[12] = '\0'; if (!strcmp(str, "GenuineIntel")) arch_init_intel(); else if (!strcmp(str, "AuthenticAMD") || !strcmp(str, "HygonGenuine")) arch_init_amd(); } #endif fio-3.39/arch/arch-x86.h000066400000000000000000000016451476262051600146720ustar00rootroot00000000000000#ifndef ARCH_X86_H #define ARCH_X86_H static inline void do_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { asm volatile("xchgl %%ebx, %1\ncpuid\nxchgl %%ebx, %1" : "=a" (*eax), "=r" (*ebx), "=c" (*ecx), "=d" (*edx) : "0" (*eax) : "memory"); } #include "arch-x86-common.h" /* IWYU pragma: export */ #define FIO_ARCH (arch_x86) #define FIO_HUGE_PAGE 4194304 #define nop __asm__ __volatile__("rep;nop": : :"memory") #define read_barrier() __asm__ __volatile__("": : :"memory") #define write_barrier() __asm__ __volatile__("": : :"memory") static inline unsigned long arch_ffz(unsigned long bitmask) { __asm__("bsfl %1,%0" :"=r" (bitmask) :"r" (~bitmask)); return bitmask; } static inline unsigned long long get_cpu_clock(void) { unsigned long long ret; __asm__ __volatile__("rdtsc" : "=A" (ret)); return ret; } #define ARCH_HAVE_FFZ #define ARCH_HAVE_CPU_CLOCK #endif fio-3.39/arch/arch-x86_64.h000066400000000000000000000103621476262051600151770ustar00rootroot00000000000000#ifndef ARCH_X86_64_H #define ARCH_X86_64_H static inline void do_cpuid(unsigned int *eax, unsigned int *ebx, unsigned int *ecx, unsigned int *edx) { asm volatile("cpuid" : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx) : "0" (*eax), "2" (*ecx) : "memory"); } #include "arch-x86-common.h" /* IWYU pragma: export */ #define FIO_ARCH (arch_x86_64) #define FIO_HUGE_PAGE 2097152 #define nop __asm__ __volatile__("rep;nop": : :"memory") #define read_barrier() __asm__ __volatile__("":::"memory") #define write_barrier() __asm__ __volatile__("":::"memory") static inline unsigned long arch_ffz(unsigned long bitmask) { __asm__("bsf %1,%0" :"=r" (bitmask) :"r" (~bitmask)); return bitmask; } static inline void tsc_barrier(void) { __asm__ __volatile__("mfence":::"memory"); } static inline unsigned long long get_cpu_clock(void) { unsigned int lo, hi; __asm__ __volatile__("rdtsc" : "=a" (lo), "=d" (hi)); return ((unsigned long long) hi << 32ULL) | lo; } #define ARCH_HAVE_FFZ #define ARCH_HAVE_SSE4_2 #define ARCH_HAVE_CPU_CLOCK #define RDRAND_LONG ".byte 0x48,0x0f,0xc7,0xf0" #define RDSEED_LONG ".byte 0x48,0x0f,0xc7,0xf8" #define RDRAND_RETRY 100 static inline int arch_rand_long(unsigned long *val) { int ok; asm volatile("1: " RDRAND_LONG "\n\t" "jc 2f\n\t" "decl %0\n\t" "jnz 1b\n\t" "2:" : "=r" (ok), "=a" (*val) : "0" (RDRAND_RETRY)); return ok; } static inline int arch_rand_seed(unsigned long *seed) { unsigned char ok; asm volatile(RDSEED_LONG "\n\t" "setc %0" : "=qm" (ok), "=a" (*seed)); return 0; } #define __do_syscall0(NUM) ({ \ intptr_t rax; \ \ __asm__ volatile( \ "syscall" \ : "=a"(rax) /* %rax */ \ : "a"(NUM) /* %rax */ \ : "rcx", "r11", "memory" \ ); \ rax; \ }) #define __do_syscall1(NUM, ARG1) ({ \ intptr_t rax; \ \ __asm__ volatile( \ "syscall" \ : "=a"(rax) /* %rax */ \ : "a"((NUM)), /* %rax */ \ "D"((ARG1)) /* %rdi */ \ : "rcx", "r11", "memory" \ ); \ rax; \ }) #define __do_syscall2(NUM, ARG1, ARG2) ({ \ intptr_t rax; \ \ __asm__ volatile( \ "syscall" \ : "=a"(rax) /* %rax */ \ : "a"((NUM)), /* %rax */ \ "D"((ARG1)), /* %rdi */ \ "S"((ARG2)) /* %rsi */ \ : "rcx", "r11", "memory" \ ); \ rax; \ }) #define __do_syscall3(NUM, ARG1, ARG2, ARG3) ({ \ intptr_t rax; \ \ __asm__ volatile( \ "syscall" \ : "=a"(rax) /* %rax */ \ : "a"((NUM)), /* %rax */ \ "D"((ARG1)), /* %rdi */ \ "S"((ARG2)), /* %rsi */ \ "d"((ARG3)) /* %rdx */ \ : "rcx", "r11", "memory" \ ); \ rax; \ }) #define __do_syscall4(NUM, ARG1, ARG2, ARG3, ARG4) ({ \ intptr_t rax; \ register __typeof__(ARG4) __r10 __asm__("r10") = (ARG4); \ \ __asm__ volatile( \ "syscall" \ : "=a"(rax) /* %rax */ \ : "a"((NUM)), /* %rax */ \ "D"((ARG1)), /* %rdi */ \ "S"((ARG2)), /* %rsi */ \ "d"((ARG3)), /* %rdx */ \ "r"(__r10) /* %r10 */ \ : "rcx", "r11", "memory" \ ); \ rax; \ }) #define __do_syscall5(NUM, ARG1, ARG2, ARG3, ARG4, ARG5) ({ \ intptr_t rax; \ register __typeof__(ARG4) __r10 __asm__("r10") = (ARG4); \ register __typeof__(ARG5) __r8 __asm__("r8") = (ARG5); \ \ __asm__ volatile( \ "syscall" \ : "=a"(rax) /* %rax */ \ : "a"((NUM)), /* %rax */ \ "D"((ARG1)), /* %rdi */ \ "S"((ARG2)), /* %rsi */ \ "d"((ARG3)), /* %rdx */ \ "r"(__r10), /* %r10 */ \ "r"(__r8) /* %r8 */ \ : "rcx", "r11", "memory" \ ); \ rax; \ }) #define __do_syscall6(NUM, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) ({ \ intptr_t rax; \ register __typeof__(ARG4) __r10 __asm__("r10") = (ARG4); \ register __typeof__(ARG5) __r8 __asm__("r8") = (ARG5); \ register __typeof__(ARG6) __r9 __asm__("r9") = (ARG6); \ \ __asm__ volatile( \ "syscall" \ : "=a"(rax) /* %rax */ \ : "a"((NUM)), /* %rax */ \ "D"((ARG1)), /* %rdi */ \ "S"((ARG2)), /* %rsi */ \ "d"((ARG3)), /* %rdx */ \ "r"(__r10), /* %r10 */ \ "r"(__r8), /* %r8 */ \ "r"(__r9) /* %r9 */ \ : "rcx", "r11", "memory" \ ); \ rax; \ }) #define FIO_ARCH_HAS_SYSCALL #endif fio-3.39/arch/arch.h000066400000000000000000000065621476262051600142520ustar00rootroot00000000000000#ifndef ARCH_H #define ARCH_H #ifdef __cplusplus #include #else #include #endif #include "../lib/types.h" enum { arch_x86_64 = 1, arch_x86, arch_ppc, arch_ia64, arch_s390, arch_alpha, arch_sparc, arch_sparc64, arch_arm, arch_sh, arch_hppa, arch_mips, arch_aarch64, arch_loongarch64, arch_riscv64, arch_generic, arch_nr, }; enum { ARCH_FLAG_1 = 1 << 0, ARCH_FLAG_2 = 1 << 1, ARCH_FLAG_3 = 1 << 2, ARCH_FLAG_4 = 1 << 3, }; extern unsigned long arch_flags; #define ARCH_CPU_CLOCK_WRAPS #ifdef __cplusplus #define atomic_add(p, v) \ std::atomic_fetch_add(p, (v)) #define atomic_sub(p, v) \ std::atomic_fetch_sub(p, (v)) #define atomic_load_relaxed(p) \ std::atomic_load_explicit(p, \ std::memory_order_relaxed) #define atomic_load_acquire(p) \ std::atomic_load_explicit(p, \ std::memory_order_acquire) #define atomic_store_release(p, v) \ std::atomic_store_explicit(p, (v), \ std::memory_order_release) #else #define atomic_add(p, v) \ atomic_fetch_add((_Atomic typeof(*(p)) *)(p), v) #define atomic_sub(p, v) \ atomic_fetch_sub((_Atomic typeof(*(p)) *)(p), v) #define atomic_load_relaxed(p) \ atomic_load_explicit((_Atomic typeof(*(p)) *)(p), \ memory_order_relaxed) #define atomic_load_acquire(p) \ atomic_load_explicit((_Atomic typeof(*(p)) *)(p), \ memory_order_acquire) #define atomic_store_release(p, v) \ atomic_store_explicit((_Atomic typeof(*(p)) *)(p), (v), \ memory_order_release) #endif /* IWYU pragma: begin_exports */ #if defined(__i386__) #include "arch-x86.h" #elif defined(__x86_64__) #include "arch-x86_64.h" #elif defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) #include "arch-ppc.h" #elif defined(__ia64__) #include "arch-ia64.h" #elif defined(__alpha__) #include "arch-alpha.h" #elif defined(__s390x__) || defined(__s390__) #include "arch-s390.h" #elif defined(__sparc__) #include "arch-sparc.h" #elif defined(__sparc64__) #include "arch-sparc64.h" #elif defined(__arm__) #include "arch-arm.h" #elif defined(__mips__) || defined(__mips64__) #include "arch-mips.h" #elif defined(__sh__) #include "arch-sh.h" #elif defined(__hppa__) #include "arch-hppa.h" #elif defined(__aarch64__) #include "arch-aarch64.h" #elif defined(__loongarch64) #include "arch-loongarch64.h" #elif defined(__riscv) && __riscv_xlen == 64 #include "arch-riscv64.h" #else #warning "Unknown architecture, attempting to use generic model." #include "arch-generic.h" #endif #if !defined(__x86_64__) && defined(CONFIG_SYNC_SYNC) static inline void tsc_barrier(void) { __sync_synchronize(); } #endif #include "../lib/ffz.h" /* IWYU pragma: end_exports */ #ifndef ARCH_HAVE_INIT static inline int arch_init(char *envp[]) { return 0; } #endif #ifdef __alpha__ /* * alpha is the only exception, all other architectures * have common numbers for new system calls. */ # ifndef __NR_io_uring_setup # define __NR_io_uring_setup 535 # endif # ifndef __NR_io_uring_enter # define __NR_io_uring_enter 536 # endif # ifndef __NR_io_uring_register # define __NR_io_uring_register 537 # endif #else /* !__alpha__ */ # ifndef __NR_io_uring_setup # define __NR_io_uring_setup 425 # endif # ifndef __NR_io_uring_enter # define __NR_io_uring_enter 426 # endif # ifndef __NR_io_uring_register # define __NR_io_uring_register 427 # endif #endif #define ARCH_HAVE_IOURING #endif fio-3.39/backend.c000066400000000000000000001701441476262051600140000ustar00rootroot00000000000000/* * fio - the flexible io tester * * Copyright (C) 2005 Jens Axboe * Copyright (C) 2006-2012 Jens Axboe * * The license below covers all files distributed with fio unless otherwise * noted in the file itself. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include #include #include #include #include #include #include #include #include #include "fio.h" #include "smalloc.h" #include "verify.h" #include "diskutil.h" #include "cgroup.h" #include "profile.h" #include "lib/rand.h" #include "lib/memalign.h" #include "server.h" #include "lib/getrusage.h" #include "idletime.h" #include "err.h" #include "workqueue.h" #include "lib/mountcheck.h" #include "rate-submit.h" #include "helper_thread.h" #include "pshared.h" #include "zone-dist.h" #include "fio_time.h" static struct fio_sem *startup_sem; static struct flist_head *cgroup_list; static struct cgroup_mnt *cgroup_mnt; static int exit_value; static volatile bool fio_abort; static unsigned int nr_process = 0; static unsigned int nr_thread = 0; struct io_log *agg_io_log[DDIR_RWDIR_CNT]; int groupid = 0; unsigned int thread_number = 0; unsigned int nr_segments = 0; unsigned int cur_segment = 0; unsigned int stat_number = 0; int temp_stall_ts; unsigned long done_secs = 0; #ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP pthread_mutex_t overlap_check = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP; #else pthread_mutex_t overlap_check = PTHREAD_MUTEX_INITIALIZER; #endif #define JOB_START_TIMEOUT (5 * 1000) static void sig_int(int sig) { if (nr_segments) { if (is_backend) fio_server_got_signal(sig); else { log_info("\nfio: terminating on signal %d\n", sig); log_info_flush(); exit_value = 128; } fio_terminate_threads(TERMINATE_ALL, TERMINATE_ALL); } } #ifdef WIN32 static void sig_break(int sig) { sig_int(sig); /** * Windows terminates all job processes on SIGBREAK after the handler * returns, so give them time to wrap-up and give stats */ for_each_td(td) { while (td->runstate < TD_EXITED) sleep(1); } end_for_each(); } #endif void sig_show_status(int sig) { show_running_run_stats(); } static void set_sig_handlers(void) { struct sigaction act; memset(&act, 0, sizeof(act)); act.sa_handler = sig_int; act.sa_flags = SA_RESTART; sigaction(SIGINT, &act, NULL); memset(&act, 0, sizeof(act)); act.sa_handler = sig_int; act.sa_flags = SA_RESTART; sigaction(SIGTERM, &act, NULL); /* Windows uses SIGBREAK as a quit signal from other applications */ #ifdef WIN32 memset(&act, 0, sizeof(act)); act.sa_handler = sig_break; act.sa_flags = SA_RESTART; sigaction(SIGBREAK, &act, NULL); #endif memset(&act, 0, sizeof(act)); act.sa_handler = sig_show_status; act.sa_flags = SA_RESTART; sigaction(SIGUSR1, &act, NULL); if (is_backend) { memset(&act, 0, sizeof(act)); act.sa_handler = sig_int; act.sa_flags = SA_RESTART; sigaction(SIGPIPE, &act, NULL); } } /* * Check if we are above the minimum rate given. */ static bool __check_min_rate(struct thread_data *td, struct timespec *now, enum fio_ddir ddir) { unsigned long long current_rate_check_bytes = td->this_io_bytes[ddir]; unsigned long current_rate_check_blocks = td->this_io_blocks[ddir]; unsigned long long option_rate_bytes_min = td->o.ratemin[ddir]; unsigned int option_rate_iops_min = td->o.rate_iops_min[ddir]; assert(ddir_rw(ddir)); if (!td->o.ratemin[ddir] && !td->o.rate_iops_min[ddir]) return false; /* * allow a 2 second settle period in the beginning */ if (mtime_since(&td->start, now) < 2000) return false; /* * if last_rate_check_blocks or last_rate_check_bytes is set, * we can compute a rate per ratecycle */ if (td->last_rate_check_bytes[ddir] || td->last_rate_check_blocks[ddir]) { unsigned long spent = mtime_since(&td->last_rate_check_time[ddir], now); if (spent < td->o.ratecycle || spent==0) return false; if (td->o.ratemin[ddir]) { /* * check bandwidth specified rate */ unsigned long long current_rate_bytes = ((current_rate_check_bytes - td->last_rate_check_bytes[ddir]) * 1000) / spent; if (current_rate_bytes < option_rate_bytes_min) { log_err("%s: rate_min=%lluB/s not met, got %lluB/s\n", td->o.name, option_rate_bytes_min, current_rate_bytes); return true; } } else { /* * checks iops specified rate */ unsigned long long current_rate_iops = ((current_rate_check_blocks - td->last_rate_check_blocks[ddir]) * 1000) / spent; if (current_rate_iops < option_rate_iops_min) { log_err("%s: rate_iops_min=%u not met, got %llu IOPS\n", td->o.name, option_rate_iops_min, current_rate_iops); return true; } } } td->last_rate_check_bytes[ddir] = current_rate_check_bytes; td->last_rate_check_blocks[ddir] = current_rate_check_blocks; memcpy(&td->last_rate_check_time[ddir], now, sizeof(*now)); return false; } static bool check_min_rate(struct thread_data *td, struct timespec *now) { bool ret = false; for_each_rw_ddir(ddir) { if (td->bytes_done[ddir]) ret |= __check_min_rate(td, now, ddir); } return ret; } /* * When job exits, we can cancel the in-flight IO if we are using async * io. Attempt to do so. */ static void cleanup_pending_aio(struct thread_data *td) { int r; /* * get immediately available events, if any */ r = io_u_queued_complete(td, 0); /* * now cancel remaining active events */ if (td->io_ops->cancel) { struct io_u *io_u; int i; io_u_qiter(&td->io_u_all, io_u, i) { if (io_u->flags & IO_U_F_FLIGHT) { r = td->io_ops->cancel(td, io_u); if (!r) put_io_u(td, io_u); } } } if (td->cur_depth) r = io_u_queued_complete(td, td->cur_depth); } /* * Helper to handle the final sync of a file. Works just like the normal * io path, just does everything sync. */ static bool fio_io_sync(struct thread_data *td, struct fio_file *f) { struct io_u *io_u = __get_io_u(td); enum fio_q_status ret; if (!io_u) return true; io_u->ddir = DDIR_SYNC; io_u->file = f; io_u_set(td, io_u, IO_U_F_NO_FILE_PUT); if (td_io_prep(td, io_u)) { put_io_u(td, io_u); return true; } requeue: ret = td_io_queue(td, io_u); switch (ret) { case FIO_Q_QUEUED: td_io_commit(td); if (io_u_queued_complete(td, 1) < 0) return true; break; case FIO_Q_COMPLETED: if (io_u->error) { td_verror(td, io_u->error, "td_io_queue"); return true; } if (io_u_sync_complete(td, io_u) < 0) return true; break; case FIO_Q_BUSY: td_io_commit(td); goto requeue; } return false; } static int fio_file_fsync(struct thread_data *td, struct fio_file *f) { int ret, ret2; if (fio_file_open(f)) return fio_io_sync(td, f); if (td_io_open_file(td, f)) return 1; ret = fio_io_sync(td, f); ret2 = 0; if (fio_file_open(f)) ret2 = td_io_close_file(td, f); return (ret || ret2); } static inline void __update_ts_cache(struct thread_data *td) { fio_gettime(&td->ts_cache, NULL); } static inline void update_ts_cache(struct thread_data *td) { if ((++td->ts_cache_nr & td->ts_cache_mask) == td->ts_cache_mask) __update_ts_cache(td); } static inline bool runtime_exceeded(struct thread_data *td, struct timespec *t) { if (in_ramp_time(td)) return false; if (!td->o.timeout) return false; if (utime_since(&td->epoch, t) >= td->o.timeout) return true; return false; } /* * We need to update the runtime consistently in ms, but keep a running * tally of the current elapsed time in microseconds for sub millisecond * updates. */ static inline void update_runtime(struct thread_data *td, unsigned long long *elapsed_us, const enum fio_ddir ddir) { if (ddir == DDIR_WRITE && td_write(td) && td->o.verify_only) return; td->ts.runtime[ddir] -= (elapsed_us[ddir] + 999) / 1000; elapsed_us[ddir] += utime_since_now(&td->start); td->ts.runtime[ddir] += (elapsed_us[ddir] + 999) / 1000; } static bool break_on_this_error(struct thread_data *td, enum fio_ddir ddir, int *retptr) { int ret = *retptr; if (ret < 0 || td->error) { int err = td->error; enum error_type_bit eb; if (ret < 0) err = -ret; eb = td_error_type(ddir, err); if (!(td->o.continue_on_error & (1 << eb))) return true; if (td_non_fatal_error(td, eb, err)) { /* * Continue with the I/Os in case of * a non fatal error. */ update_error_count(td, err); td_clear_error(td); *retptr = 0; return false; } else if (td->o.fill_device && (err == ENOSPC || err == EDQUOT)) { /* * We expect to hit this error if * fill_device option is set. */ td_clear_error(td); fio_mark_td_terminate(td); return true; } else { /* * Stop the I/O in case of a fatal * error. */ update_error_count(td, err); return true; } } return false; } static void check_update_rusage(struct thread_data *td) { if (td->update_rusage) { td->update_rusage = 0; update_rusage_stat(td); fio_sem_up(td->rusage_sem); } } static int wait_for_completions(struct thread_data *td, struct timespec *time) { const int full = queue_full(td); int min_evts = 0; int ret; if (td->flags & TD_F_REGROW_LOGS) return io_u_quiesce(td); /* * if the queue is full, we MUST reap at least 1 event */ min_evts = min(td->o.iodepth_batch_complete_min, td->cur_depth); if ((full && !min_evts) || !td->o.iodepth_batch_complete_min) min_evts = 1; if (time && should_check_rate(td)) fio_gettime(time, NULL); do { ret = io_u_queued_complete(td, min_evts); if (ret < 0) break; } while (full && (td->cur_depth > td->o.iodepth_low)); return ret; } int io_queue_event(struct thread_data *td, struct io_u *io_u, int *ret, enum fio_ddir ddir, uint64_t *bytes_issued, int from_verify, struct timespec *comp_time) { switch (*ret) { case FIO_Q_COMPLETED: if (io_u->error) { *ret = -io_u->error; clear_io_u(td, io_u); } else if (io_u->resid) { long long bytes = io_u->xfer_buflen - io_u->resid; struct fio_file *f = io_u->file; if (bytes_issued) *bytes_issued += bytes; if (!from_verify) trim_io_piece(io_u); /* * zero read, fail */ if (!bytes) { if (!from_verify) unlog_io_piece(td, io_u); td_verror(td, EIO, "full resid"); clear_io_u(td, io_u); break; } io_u->xfer_buflen = io_u->resid; io_u->xfer_buf += bytes; io_u->offset += bytes; if (ddir_rw(io_u->ddir)) td->ts.short_io_u[io_u->ddir]++; if (io_u->offset == f->real_file_size) goto sync_done; requeue_io_u(td, &io_u); } else { sync_done: if (comp_time && should_check_rate(td)) fio_gettime(comp_time, NULL); *ret = io_u_sync_complete(td, io_u); if (*ret < 0) break; } if (td->flags & TD_F_REGROW_LOGS) regrow_logs(td); /* * when doing I/O (not when verifying), * check for any errors that are to be ignored */ if (!from_verify) break; return 0; case FIO_Q_QUEUED: /* * if the engine doesn't have a commit hook, * the io_u is really queued. if it does have such * a hook, it has to call io_u_queued() itself. */ if (td->io_ops->commit == NULL) io_u_queued(td, io_u); if (bytes_issued) *bytes_issued += io_u->xfer_buflen; break; case FIO_Q_BUSY: if (!from_verify) unlog_io_piece(td, io_u); requeue_io_u(td, &io_u); td_io_commit(td); break; default: assert(*ret < 0); td_verror(td, -(*ret), "td_io_queue"); break; } if (break_on_this_error(td, ddir, ret)) return 1; return 0; } static inline bool io_in_polling(struct thread_data *td) { return !td->o.iodepth_batch_complete_min && !td->o.iodepth_batch_complete_max; } /* * Unlinks files from thread data fio_file structure */ static int unlink_all_files(struct thread_data *td) { struct fio_file *f; unsigned int i; int ret = 0; for_each_file(td, f, i) { if (f->filetype != FIO_TYPE_FILE) continue; ret = td_io_unlink_file(td, f); if (ret) break; } if (ret) td_verror(td, ret, "unlink_all_files"); return ret; } /* * Check if io_u will overlap an in-flight IO in the queue */ bool in_flight_overlap(struct io_u_queue *q, struct io_u *io_u) { bool overlap; struct io_u *check_io_u; unsigned long long x1, x2, y1, y2; int i; x1 = io_u->offset; x2 = io_u->offset + io_u->buflen; overlap = false; io_u_qiter(q, check_io_u, i) { if (check_io_u->flags & IO_U_F_FLIGHT) { y1 = check_io_u->offset; y2 = check_io_u->offset + check_io_u->buflen; if (x1 < y2 && y1 < x2) { overlap = true; dprint(FD_IO, "in-flight overlap: %llu/%llu, %llu/%llu\n", x1, io_u->buflen, y1, check_io_u->buflen); break; } } } return overlap; } static enum fio_q_status io_u_submit(struct thread_data *td, struct io_u *io_u) { /* * Check for overlap if the user asked us to, and we have * at least one IO in flight besides this one. */ if (td->o.serialize_overlap && td->cur_depth > 1 && in_flight_overlap(&td->io_u_all, io_u)) return FIO_Q_BUSY; return td_io_queue(td, io_u); } /* * The main verify engine. Runs over the writes we previously submitted, * reads the blocks back in, and checks the crc/md5 of the data. */ static void do_verify(struct thread_data *td, uint64_t verify_bytes) { struct fio_file *f; struct io_u *io_u; int ret, min_events; unsigned int i; dprint(FD_VERIFY, "starting loop\n"); /* * sync io first and invalidate cache, to make sure we really * read from disk. */ for_each_file(td, f, i) { if (!fio_file_open(f)) continue; if (fio_io_sync(td, f)) break; if (file_invalidate_cache(td, f)) break; } check_update_rusage(td); if (td->error) return; td_set_runstate(td, TD_VERIFYING); io_u = NULL; while (!td->terminate) { enum fio_ddir ddir; int full; update_ts_cache(td); check_update_rusage(td); if (runtime_exceeded(td, &td->ts_cache)) { __update_ts_cache(td); if (runtime_exceeded(td, &td->ts_cache)) { fio_mark_td_terminate(td); break; } } if (flow_threshold_exceeded(td)) continue; if (!td->o.experimental_verify) { io_u = __get_io_u(td); if (!io_u) break; if (get_next_verify(td, io_u)) { put_io_u(td, io_u); break; } if (td_io_prep(td, io_u)) { put_io_u(td, io_u); break; } } else { if (td->bytes_verified + td->o.rw_min_bs > verify_bytes) break; while ((io_u = get_io_u(td)) != NULL) { if (IS_ERR_OR_NULL(io_u)) { io_u = NULL; ret = FIO_Q_BUSY; goto reap; } /* * We are only interested in the places where * we wrote or trimmed IOs. Turn those into * reads for verification purposes. */ if (io_u->ddir == DDIR_READ) { /* * Pretend we issued it for rwmix * accounting */ td->io_issues[DDIR_READ]++; put_io_u(td, io_u); continue; } else if (io_u->ddir == DDIR_TRIM) { io_u->ddir = DDIR_READ; io_u_set(td, io_u, IO_U_F_TRIMMED); break; } else if (io_u->ddir == DDIR_WRITE) { io_u->ddir = DDIR_READ; io_u->numberio = td->verify_read_issues; td->verify_read_issues++; populate_verify_io_u(td, io_u); break; } else { put_io_u(td, io_u); continue; } } if (!io_u) break; } if (verify_state_should_stop(td, io_u)) { put_io_u(td, io_u); break; } if (td->o.verify_async) io_u->end_io = verify_io_u_async; else io_u->end_io = verify_io_u; ddir = io_u->ddir; if (!td->o.disable_slat) fio_gettime(&io_u->start_time, NULL); ret = io_u_submit(td, io_u); if (io_queue_event(td, io_u, &ret, ddir, NULL, 1, NULL)) break; /* * if we can queue more, do so. but check if there are * completed io_u's first. Note that we can get BUSY even * without IO queued, if the system is resource starved. */ reap: full = queue_full(td) || (ret == FIO_Q_BUSY && td->cur_depth); if (full || io_in_polling(td)) ret = wait_for_completions(td, NULL); if (ret < 0) break; } check_update_rusage(td); if (!td->error) { min_events = td->cur_depth; if (min_events) ret = io_u_queued_complete(td, min_events); } else cleanup_pending_aio(td); td_set_runstate(td, TD_RUNNING); dprint(FD_VERIFY, "exiting loop\n"); } static bool exceeds_number_ios(struct thread_data *td) { unsigned long long number_ios; if (!td->o.number_ios) return false; number_ios = ddir_rw_sum(td->io_blocks); number_ios += td->io_u_queued + td->io_u_in_flight; return number_ios >= (td->o.number_ios * td->loops); } static bool io_bytes_exceeded(struct thread_data *td, uint64_t *this_bytes) { unsigned long long bytes, limit; if (td_rw(td)) bytes = this_bytes[DDIR_READ] + this_bytes[DDIR_WRITE]; else if (td_write(td)) bytes = this_bytes[DDIR_WRITE]; else if (td_read(td)) bytes = this_bytes[DDIR_READ]; else bytes = this_bytes[DDIR_TRIM]; if (td->o.io_size) limit = td->o.io_size; else limit = td->o.size; limit *= td->loops; return bytes >= limit || exceeds_number_ios(td); } static bool io_issue_bytes_exceeded(struct thread_data *td) { return io_bytes_exceeded(td, td->io_issue_bytes); } static bool io_complete_bytes_exceeded(struct thread_data *td) { return io_bytes_exceeded(td, td->this_io_bytes); } /* * used to calculate the next io time for rate control * */ static long long usec_for_io(struct thread_data *td, enum fio_ddir ddir) { uint64_t bps = td->rate_bps[ddir]; assert(!(td->flags & TD_F_CHILD)); if (td->o.rate_process == RATE_PROCESS_POISSON) { uint64_t val, iops; iops = bps / td->o.min_bs[ddir]; val = (int64_t) (1000000 / iops) * -logf(__rand_0_1(&td->poisson_state[ddir])); if (val) { dprint(FD_RATE, "poisson rate iops=%llu, ddir=%d\n", (unsigned long long) 1000000 / val, ddir); } td->last_usec[ddir] += val; return td->last_usec[ddir]; } else if (bps) { uint64_t bytes = td->rate_io_issue_bytes[ddir]; uint64_t secs = bytes / bps; uint64_t remainder = bytes % bps; return remainder * 1000000 / bps + secs * 1000000; } return 0; } static void init_thinktime(struct thread_data *td) { if (td->o.thinktime_blocks_type == THINKTIME_BLOCKS_TYPE_COMPLETE) td->thinktime_blocks_counter = td->io_blocks; else td->thinktime_blocks_counter = td->io_issues; td->last_thinktime = td->epoch; td->last_thinktime_blocks = 0; } static void handle_thinktime(struct thread_data *td, enum fio_ddir ddir, struct timespec *time) { unsigned long long b; unsigned long long runtime_left; uint64_t total; int left; struct timespec now; bool stall = false; if (td->o.thinktime_iotime) { fio_gettime(&now, NULL); if (utime_since(&td->last_thinktime, &now) >= td->o.thinktime_iotime) { stall = true; } else if (!fio_option_is_set(&td->o, thinktime_blocks)) { /* * When thinktime_iotime is set and thinktime_blocks is * not set, skip the thinktime_blocks check, since * thinktime_blocks default value 1 does not work * together with thinktime_iotime. */ return; } } b = ddir_rw_sum(td->thinktime_blocks_counter); if (b >= td->last_thinktime_blocks + td->o.thinktime_blocks) stall = true; if (!stall) return; io_u_quiesce(td); left = td->o.thinktime_spin; if (td->o.timeout) { runtime_left = td->o.timeout - utime_since_now(&td->epoch); if (runtime_left < (unsigned long long)left) left = runtime_left; } total = 0; if (left) total = usec_spin(left); /* * usec_spin() might run for slightly longer than intended in a VM * where the vCPU could get descheduled or the hypervisor could steal * CPU time. Ensure "left" doesn't become negative. */ if (total < td->o.thinktime) left = td->o.thinktime - total; else left = 0; if (td->o.timeout) { runtime_left = td->o.timeout - utime_since_now(&td->epoch); if (runtime_left < (unsigned long long)left) left = runtime_left; } if (left) total += usec_sleep(td, left); /* * If we're ignoring thinktime for the rate, add the number of bytes * we would have done while sleeping, minus one block to ensure we * start issuing immediately after the sleep. */ if (total && td->rate_bps[ddir] && td->o.rate_ign_think) { uint64_t missed = (td->rate_bps[ddir] * total) / 1000000ULL; uint64_t bs = td->o.min_bs[ddir]; uint64_t usperop = bs * 1000000ULL / td->rate_bps[ddir]; uint64_t over; if (usperop <= total) over = bs; else over = (usperop - total) / usperop * -bs; td->rate_io_issue_bytes[ddir] += (missed - over); /* adjust for rate_process=poisson */ td->last_usec[ddir] += total; } if (time && should_check_rate(td)) fio_gettime(time, NULL); td->last_thinktime_blocks = b; if (td->o.thinktime_iotime) { fio_gettime(&now, NULL); td->last_thinktime = now; } } /* * Main IO worker function. It retrieves io_u's to process and queues * and reaps them, checking for rate and errors along the way. * * Returns number of bytes written and trimmed. */ static void do_io(struct thread_data *td, uint64_t *bytes_done) { unsigned int i; int ret = 0; uint64_t total_bytes, bytes_issued = 0; for (i = 0; i < DDIR_RWDIR_CNT; i++) bytes_done[i] = td->bytes_done[i]; if (in_ramp_time(td)) td_set_runstate(td, TD_RAMP); else td_set_runstate(td, TD_RUNNING); lat_target_init(td); total_bytes = td->o.size; /* * Allow random overwrite workloads to write up to io_size * before starting verification phase as 'size' doesn't apply. */ if (td_write(td) && td_random(td) && td->o.norandommap) total_bytes = max(total_bytes, (uint64_t) td->o.io_size); /* * Don't break too early if io_size > size. The exception is when * verify is enabled. */ if (td_rw(td) && !td_random(td) && td->o.verify == VERIFY_NONE) total_bytes = max(total_bytes, (uint64_t)td->o.io_size); /* * If verify_backlog is enabled, we'll run the verify in this * handler as well. For that case, we may need up to twice the * amount of bytes. */ if (td->o.verify != VERIFY_NONE && (td_write(td) && td->o.verify_backlog)) total_bytes += td->o.size; /* In trimwrite mode, each byte is trimmed and then written, so * allow total_bytes or number of ios to be twice as big */ if (td_trimwrite(td)) { total_bytes += td->total_io_size; td->o.number_ios *= 2; } while ((td->o.read_iolog_file && !flist_empty(&td->io_log_list)) || (!flist_empty(&td->trim_list)) || !io_issue_bytes_exceeded(td) || td->o.time_based) { struct timespec comp_time; struct io_u *io_u; int full; enum fio_ddir ddir; check_update_rusage(td); if (td->terminate || td->done) break; update_ts_cache(td); if (runtime_exceeded(td, &td->ts_cache)) { __update_ts_cache(td); if (runtime_exceeded(td, &td->ts_cache)) { fio_mark_td_terminate(td); break; } } if (flow_threshold_exceeded(td)) continue; /* * Break if we exceeded the bytes. The exception is time * based runs, but we still need to break out of the loop * for those to run verification, if enabled. * Jobs read from iolog do not use this stop condition. */ if (bytes_issued >= total_bytes && !td->o.read_iolog_file && (!td->o.time_based || (td->o.time_based && td->o.verify != VERIFY_NONE))) break; io_u = get_io_u(td); if (IS_ERR_OR_NULL(io_u)) { int err = PTR_ERR(io_u); io_u = NULL; ddir = DDIR_INVAL; if (err == -EBUSY) { ret = FIO_Q_BUSY; goto reap; } if (td->o.latency_target) goto reap; break; } if (io_u->ddir == DDIR_WRITE && td->flags & TD_F_DO_VERIFY) { if (!(io_u->flags & IO_U_F_PATTERN_DONE)) { io_u_set(td, io_u, IO_U_F_PATTERN_DONE); io_u->numberio = td->io_issues[io_u->ddir]; populate_verify_io_u(td, io_u); } } ddir = io_u->ddir; /* * Add verification end_io handler if: * - Asked to verify (!td_rw(td)) * - Or the io_u is from our verify list (mixed write/ver) */ if (td->o.verify != VERIFY_NONE && io_u->ddir == DDIR_READ && ((io_u->flags & IO_U_F_VER_LIST) || !td_rw(td))) { /* * For read only workloads generate the seed. This way * we can still verify header seed at any later * invocation. */ if (!td_write(td) && !td->o.verify_pattern_bytes) { io_u->rand_seed = __rand(&td->verify_state); if (sizeof(int) != sizeof(long *)) io_u->rand_seed *= __rand(&td->verify_state); } if (verify_state_should_stop(td, io_u)) { put_io_u(td, io_u); break; } if (td->o.verify_async) io_u->end_io = verify_io_u_async; else io_u->end_io = verify_io_u; td_set_runstate(td, TD_VERIFYING); } else if (in_ramp_time(td)) td_set_runstate(td, TD_RAMP); else td_set_runstate(td, TD_RUNNING); /* * Always log IO before it's issued, so we know the specific * order of it. The logged unit will track when the IO has * completed. */ if (td_write(td) && io_u->ddir == DDIR_WRITE && td->o.do_verify && td->o.verify != VERIFY_NONE && !td->o.experimental_verify) log_io_piece(td, io_u); if (td->o.io_submit_mode == IO_MODE_OFFLOAD) { const unsigned long long blen = io_u->xfer_buflen; const enum fio_ddir __ddir = acct_ddir(io_u); if (td->error) break; workqueue_enqueue(&td->io_wq, &io_u->work); ret = FIO_Q_QUEUED; if (ddir_rw(__ddir)) { td->io_issues[__ddir]++; td->io_issue_bytes[__ddir] += blen; td->rate_io_issue_bytes[__ddir] += blen; } if (should_check_rate(td)) { td->rate_next_io_time[__ddir] = usec_for_io(td, __ddir); fio_gettime(&comp_time, NULL); } } else { ret = io_u_submit(td, io_u); if (should_check_rate(td)) td->rate_next_io_time[ddir] = usec_for_io(td, ddir); if (io_queue_event(td, io_u, &ret, ddir, &bytes_issued, 0, &comp_time)) break; /* * See if we need to complete some commands. Note that * we can get BUSY even without IO queued, if the * system is resource starved. */ reap: full = queue_full(td) || (ret == FIO_Q_BUSY && td->cur_depth); if (full || io_in_polling(td)) ret = wait_for_completions(td, &comp_time); } if (ret < 0) break; if (ddir_rw(ddir) && td->o.thinkcycles) cycles_spin(td->o.thinkcycles); if (ddir_rw(ddir) && td->o.thinktime) handle_thinktime(td, ddir, &comp_time); if (!ddir_rw_sum(td->bytes_done) && !td_ioengine_flagged(td, FIO_NOIO)) continue; if (!in_ramp_time(td) && should_check_rate(td)) { if (check_min_rate(td, &comp_time)) { if (exitall_on_terminate || td->o.exitall_error) fio_terminate_threads(td->groupid, td->o.exit_what); td_verror(td, EIO, "check_min_rate"); break; } } if (!in_ramp_time(td) && td->o.latency_target) lat_target_check(td); } check_update_rusage(td); if (td->trim_entries) log_err("fio: %lu trim entries leaked?\n", td->trim_entries); if (td->o.fill_device && (td->error == ENOSPC || td->error == EDQUOT)) { td->error = 0; fio_mark_td_terminate(td); } if (!td->error) { struct fio_file *f; if (td->o.io_submit_mode == IO_MODE_OFFLOAD) { workqueue_flush(&td->io_wq); i = 0; } else i = td->cur_depth; if (i) { ret = io_u_queued_complete(td, i); if (td->o.fill_device && (td->error == ENOSPC || td->error == EDQUOT)) td->error = 0; } if (should_fsync(td) && (td->o.end_fsync || td->o.fsync_on_close)) { td_set_runstate(td, TD_FSYNCING); for_each_file(td, f, i) { if (!fio_file_fsync(td, f)) continue; log_err("fio: end_fsync failed for file %s\n", f->file_name); } } } else { if (td->o.io_submit_mode == IO_MODE_OFFLOAD) workqueue_flush(&td->io_wq); cleanup_pending_aio(td); } /* * stop job if we failed doing any IO */ if (!ddir_rw_sum(td->this_io_bytes)) td->done = 1; for (i = 0; i < DDIR_RWDIR_CNT; i++) bytes_done[i] = td->bytes_done[i] - bytes_done[i]; } static void free_file_completion_logging(struct thread_data *td) { struct fio_file *f; unsigned int i; for_each_file(td, f, i) { if (!f->last_write_comp) break; sfree(f->last_write_comp); } } static int init_file_completion_logging(struct thread_data *td, unsigned int depth) { struct fio_file *f; unsigned int i; if (td->o.verify == VERIFY_NONE || !td->o.verify_state_save) return 0; /* * Async IO completion order may be different from issue order. Double * the number of write completions to cover the case the writes issued * earlier complete slowly and fall in the last write log entries. */ td->last_write_comp_depth = depth; if (!td_ioengine_flagged(td, FIO_SYNCIO)) td->last_write_comp_depth += depth; for_each_file(td, f, i) { f->last_write_comp = scalloc(td->last_write_comp_depth, sizeof(uint64_t)); if (!f->last_write_comp) goto cleanup; } return 0; cleanup: free_file_completion_logging(td); log_err("fio: failed to alloc write comp data\n"); return 1; } static void cleanup_io_u(struct thread_data *td) { struct io_u *io_u; while ((io_u = io_u_qpop(&td->io_u_freelist)) != NULL) { if (td->io_ops->io_u_free) td->io_ops->io_u_free(td, io_u); fio_memfree(io_u, sizeof(*io_u), td_offload_overlap(td)); } free_io_mem(td); io_u_rexit(&td->io_u_requeues); io_u_qexit(&td->io_u_freelist, false); io_u_qexit(&td->io_u_all, td_offload_overlap(td)); free_file_completion_logging(td); } static int init_io_u(struct thread_data *td) { struct io_u *io_u; int cl_align, i, max_units; int err; max_units = td->o.iodepth; err = 0; err += !io_u_rinit(&td->io_u_requeues, td->o.iodepth); err += !io_u_qinit(&td->io_u_freelist, td->o.iodepth, false); err += !io_u_qinit(&td->io_u_all, td->o.iodepth, td_offload_overlap(td)); if (err) { log_err("fio: failed setting up IO queues\n"); return 1; } cl_align = os_cache_line_size(); for (i = 0; i < max_units; i++) { void *ptr; if (td->terminate) return 1; ptr = fio_memalign(cl_align, sizeof(*io_u), td_offload_overlap(td)); if (!ptr) { log_err("fio: unable to allocate aligned memory\n"); return 1; } io_u = ptr; memset(io_u, 0, sizeof(*io_u)); INIT_FLIST_HEAD(&io_u->verify_list); dprint(FD_MEM, "io_u alloc %p, index %u\n", io_u, i); io_u->index = i; io_u->flags = IO_U_F_FREE; io_u_qpush(&td->io_u_freelist, io_u); /* * io_u never leaves this stack, used for iteration of all * io_u buffers. */ io_u_qpush(&td->io_u_all, io_u); if (td->io_ops->io_u_init) { int ret = td->io_ops->io_u_init(td, io_u); if (ret) { log_err("fio: failed to init engine data: %d\n", ret); return 1; } } } if (init_io_u_buffers(td)) return 1; if (init_file_completion_logging(td, max_units)) return 1; return 0; } int init_io_u_buffers(struct thread_data *td) { struct io_u *io_u; unsigned long long max_bs, min_write, trim_bs = 0; int i, max_units; int data_xfer = 1; char *p; max_units = td->o.iodepth; max_bs = td_max_bs(td); min_write = td->o.min_bs[DDIR_WRITE]; td->orig_buffer_size = (unsigned long long) max_bs * (unsigned long long) max_units; if (td_trim(td) && td->o.num_range > 1) { trim_bs = td->o.num_range * sizeof(struct trim_range); td->orig_buffer_size = trim_bs * (unsigned long long) max_units; } /* * For reads, writes, and multi-range trim operations we need a * data buffer */ if (td_ioengine_flagged(td, FIO_NOIO) || !(td_read(td) || td_write(td) || (td_trim(td) && td->o.num_range > 1))) data_xfer = 0; /* * if we may later need to do address alignment, then add any * possible adjustment here so that we don't cause a buffer * overflow later. this adjustment may be too much if we get * lucky and the allocator gives us an aligned address. */ if (td->o.odirect || td->o.mem_align || td_ioengine_flagged(td, FIO_RAWIO)) td->orig_buffer_size += page_mask + td->o.mem_align; if (td->o.mem_type == MEM_SHMHUGE || td->o.mem_type == MEM_MMAPHUGE) { unsigned long long bs; bs = td->orig_buffer_size + td->o.hugepage_size - 1; td->orig_buffer_size = bs & ~(td->o.hugepage_size - 1); } if (td->orig_buffer_size != (size_t) td->orig_buffer_size) { log_err("fio: IO memory too large. Reduce max_bs or iodepth\n"); return 1; } if (data_xfer && allocate_io_mem(td)) return 1; if (td->o.odirect || td->o.mem_align || td_ioengine_flagged(td, FIO_RAWIO)) p = PTR_ALIGN(td->orig_buffer, page_mask) + td->o.mem_align; else p = td->orig_buffer; for (i = 0; i < max_units; i++) { io_u = td->io_u_all.io_us[i]; dprint(FD_MEM, "io_u alloc %p, index %u\n", io_u, i); if (data_xfer) { io_u->buf = p; dprint(FD_MEM, "io_u %p, mem %p\n", io_u, io_u->buf); if (td_write(td)) io_u_fill_buffer(td, io_u, min_write, max_bs); if (td_write(td) && td->o.verify_pattern_bytes) { /* * Fill the buffer with the pattern if we are * going to be doing writes. */ fill_verify_pattern(td, io_u->buf, max_bs, io_u, 0, 0); } } if (td_trim(td) && td->o.num_range > 1) p += trim_bs; else p += max_bs; } return 0; } #ifdef FIO_HAVE_IOSCHED_SWITCH /* * These functions are Linux specific. * FIO_HAVE_IOSCHED_SWITCH enabled currently means it's Linux. */ static int set_ioscheduler(struct thread_data *td, struct fio_file *file) { char tmp[256], tmp2[128], *p; FILE *f; int ret; assert(file->du && file->du->sysfs_root); sprintf(tmp, "%s/queue/scheduler", file->du->sysfs_root); f = fopen(tmp, "r+"); if (!f) { if (errno == ENOENT) { log_err("fio: os or kernel doesn't support IO scheduler" " switching\n"); return 0; } td_verror(td, errno, "fopen iosched"); return 1; } /* * Set io scheduler. */ ret = fwrite(td->o.ioscheduler, strlen(td->o.ioscheduler), 1, f); if (ferror(f) || ret != 1) { td_verror(td, errno, "fwrite"); fclose(f); return 1; } rewind(f); /* * Read back and check that the selected scheduler is now the default. */ ret = fread(tmp, 1, sizeof(tmp) - 1, f); if (ferror(f) || ret < 0) { td_verror(td, errno, "fread"); fclose(f); return 1; } tmp[ret] = '\0'; /* * either a list of io schedulers or "none\n" is expected. Strip the * trailing newline. */ p = tmp; strsep(&p, "\n"); /* * Write to "none" entry doesn't fail, so check the result here. */ if (!strcmp(tmp, "none")) { log_err("fio: io scheduler is not tunable\n"); fclose(f); return 0; } sprintf(tmp2, "[%s]", td->o.ioscheduler); if (!strstr(tmp, tmp2)) { log_err("fio: unable to set io scheduler to %s\n", td->o.ioscheduler); td_verror(td, EINVAL, "iosched_switch"); fclose(f); return 1; } fclose(f); return 0; } static int switch_ioscheduler(struct thread_data *td) { struct fio_file *f; unsigned int i; int ret = 0; if (td_ioengine_flagged(td, FIO_DISKLESSIO)) return 0; assert(td->files && td->files[0]); for_each_file(td, f, i) { /* Only consider regular files and block device files */ switch (f->filetype) { case FIO_TYPE_FILE: case FIO_TYPE_BLOCK: /* * Make sure that the device hosting the file could * be determined. */ if (!f->du) continue; break; case FIO_TYPE_CHAR: case FIO_TYPE_PIPE: default: continue; } ret = set_ioscheduler(td, f); if (ret) return ret; } return 0; } #else static int switch_ioscheduler(struct thread_data *td) { return 0; } #endif /* FIO_HAVE_IOSCHED_SWITCH */ static bool keep_running(struct thread_data *td) { unsigned long long limit; if (td->done) return false; if (td->terminate) return false; if (td->o.time_based) return true; if (td->o.loops) { td->o.loops--; return true; } if (exceeds_number_ios(td)) return false; if (td->o.io_size) limit = td->o.io_size; else limit = td->o.size; if (limit != -1ULL && ddir_rw_sum(td->io_bytes) < limit) { uint64_t diff; /* * If the difference is less than the maximum IO size, we * are done. */ diff = limit - ddir_rw_sum(td->io_bytes); if (diff < td_max_bs(td)) return false; if (fio_files_done(td) && !td->o.io_size) return false; return true; } return false; } static int exec_string(struct thread_options *o, const char *string, const char *mode) { int ret; char *str; if (asprintf(&str, "%s > %s.%s.txt 2>&1", string, o->name, mode) < 0) return -1; log_info("%s : Saving output of %s in %s.%s.txt\n", o->name, mode, o->name, mode); ret = system(str); if (ret == -1) log_err("fio: exec of cmd <%s> failed\n", str); free(str); return ret; } /* * Dry run to compute correct state of numberio for verification. */ static uint64_t do_dry_run(struct thread_data *td) { td_set_runstate(td, TD_RUNNING); while ((td->o.read_iolog_file && !flist_empty(&td->io_log_list)) || (!flist_empty(&td->trim_list)) || !io_complete_bytes_exceeded(td)) { struct io_u *io_u; int ret; if (td->terminate || td->done) break; io_u = get_io_u(td); if (IS_ERR_OR_NULL(io_u)) break; io_u_set(td, io_u, IO_U_F_FLIGHT); io_u->error = 0; io_u->resid = 0; if (ddir_rw(acct_ddir(io_u))) td->io_issues[acct_ddir(io_u)]++; if (ddir_rw(io_u->ddir)) { io_u_mark_depth(td, 1); td->ts.total_io_u[io_u->ddir]++; } if (td_write(td) && io_u->ddir == DDIR_WRITE && td->o.do_verify && td->o.verify != VERIFY_NONE && !td->o.experimental_verify) log_io_piece(td, io_u); ret = io_u_sync_complete(td, io_u); (void) ret; } return td->bytes_done[DDIR_WRITE] + td->bytes_done[DDIR_TRIM]; } struct fork_data { struct thread_data *td; struct sk_out *sk_out; }; /* * Entry point for the thread based jobs. The process based jobs end up * here as well, after a little setup. */ static void *thread_main(void *data) { struct fork_data *fd = data; unsigned long long elapsed_us[DDIR_RWDIR_CNT] = { 0, }; struct thread_data *td = fd->td; struct thread_options *o = &td->o; struct sk_out *sk_out = fd->sk_out; uint64_t bytes_done[DDIR_RWDIR_CNT]; int deadlock_loop_cnt; bool clear_state; int ret; sk_out_assign(sk_out); free(fd); if (!o->use_thread) { setsid(); td->pid = getpid(); } else td->pid = gettid(); fio_local_clock_init(); dprint(FD_PROCESS, "jobs pid=%d started\n", (int) td->pid); if (is_backend) fio_server_send_start(td); INIT_FLIST_HEAD(&td->io_log_list); INIT_FLIST_HEAD(&td->io_hist_list); INIT_FLIST_HEAD(&td->verify_list); INIT_FLIST_HEAD(&td->trim_list); td->io_hist_tree = RB_ROOT; ret = mutex_cond_init_pshared(&td->io_u_lock, &td->free_cond); if (ret) { td_verror(td, ret, "mutex_cond_init_pshared"); goto err; } ret = cond_init_pshared(&td->verify_cond); if (ret) { td_verror(td, ret, "mutex_cond_pshared"); goto err; } td_set_runstate(td, TD_INITIALIZED); dprint(FD_MUTEX, "up startup_sem\n"); fio_sem_up(startup_sem); dprint(FD_MUTEX, "wait on td->sem\n"); fio_sem_down(td->sem); dprint(FD_MUTEX, "done waiting on td->sem\n"); /* * A new gid requires privilege, so we need to do this before setting * the uid. */ if (o->gid != -1U && setgid(o->gid)) { td_verror(td, errno, "setgid"); goto err; } if (o->uid != -1U && setuid(o->uid)) { td_verror(td, errno, "setuid"); goto err; } td_zone_gen_index(td); /* * Do this early, we don't want the compress threads to be limited * to the same CPUs as the IO workers. So do this before we set * any potential CPU affinity */ if (iolog_compress_init(td, sk_out)) goto err; /* * If we have a gettimeofday() thread, make sure we exclude that * thread from this job */ if (o->gtod_cpu) fio_cpu_clear(&o->cpumask, o->gtod_cpu); /* * Set affinity first, in case it has an impact on the memory * allocations. */ if (fio_option_is_set(o, cpumask)) { if (o->cpus_allowed_policy == FIO_CPUS_SPLIT) { ret = fio_cpus_split(&o->cpumask, td->thread_number - 1); if (!ret) { log_err("fio: no CPUs set\n"); log_err("fio: Try increasing number of available CPUs\n"); td_verror(td, EINVAL, "cpus_split"); goto err; } } ret = fio_setaffinity(td->pid, o->cpumask); if (ret == -1) { td_verror(td, errno, "cpu_set_affinity"); goto err; } } #ifdef CONFIG_LIBNUMA /* numa node setup */ if (fio_option_is_set(o, numa_cpunodes) || fio_option_is_set(o, numa_memnodes)) { struct bitmask *mask; if (numa_available() < 0) { td_verror(td, errno, "Does not support NUMA API\n"); goto err; } if (fio_option_is_set(o, numa_cpunodes)) { mask = numa_parse_nodestring(o->numa_cpunodes); ret = numa_run_on_node_mask(mask); numa_free_nodemask(mask); if (ret == -1) { td_verror(td, errno, \ "numa_run_on_node_mask failed\n"); goto err; } } if (fio_option_is_set(o, numa_memnodes)) { mask = NULL; if (o->numa_memnodes) mask = numa_parse_nodestring(o->numa_memnodes); switch (o->numa_mem_mode) { case MPOL_INTERLEAVE: numa_set_interleave_mask(mask); break; case MPOL_BIND: numa_set_membind(mask); break; case MPOL_LOCAL: numa_set_localalloc(); break; case MPOL_PREFERRED: numa_set_preferred(o->numa_mem_prefer_node); break; case MPOL_DEFAULT: default: break; } if (mask) numa_free_nodemask(mask); } } #endif if (fio_pin_memory(td)) goto err; /* * May alter parameters that init_io_u() will use, so we need to * do this first. */ if (!init_iolog(td)) goto err; /* ioprio_set() has to be done before td_io_init() */ if (fio_option_is_set(o, ioprio) || fio_option_is_set(o, ioprio_class) || fio_option_is_set(o, ioprio_hint)) { ret = ioprio_set(IOPRIO_WHO_PROCESS, 0, o->ioprio_class, o->ioprio, o->ioprio_hint); if (ret == -1) { td_verror(td, errno, "ioprio_set"); goto err; } td->ioprio = ioprio_value(o->ioprio_class, o->ioprio, o->ioprio_hint); td->ts.ioprio = td->ioprio; } if (td_io_init(td)) goto err; if (td_ioengine_flagged(td, FIO_SYNCIO) && td->o.iodepth > 1 && td->o.io_submit_mode != IO_MODE_OFFLOAD) { log_info("note: both iodepth >= 1 and synchronous I/O engine " "are selected, queue depth will be capped at 1\n"); } if (init_io_u(td)) goto err; if (td->io_ops->post_init && td->io_ops->post_init(td)) goto err; if (o->verify_async && verify_async_init(td)) goto err; if (o->cgroup && cgroup_setup(td, cgroup_list, &cgroup_mnt)) goto err; errno = 0; if (nice(o->nice) == -1 && errno != 0) { td_verror(td, errno, "nice"); goto err; } if (o->ioscheduler && switch_ioscheduler(td)) goto err; if (!o->create_serialize && setup_files(td)) goto err; if (!init_random_map(td)) goto err; if (o->exec_prerun && exec_string(o, o->exec_prerun, "prerun")) goto err; if (o->pre_read && !pre_read_files(td)) goto err; fio_verify_init(td); if (rate_submit_init(td, sk_out)) goto err; set_epoch_time(td, o->log_alternate_epoch_clock_id, o->job_start_clock_id); fio_getrusage(&td->ru_start); memcpy(&td->bw_sample_time, &td->epoch, sizeof(td->epoch)); memcpy(&td->iops_sample_time, &td->epoch, sizeof(td->epoch)); memcpy(&td->ss.prev_time, &td->epoch, sizeof(td->epoch)); init_thinktime(td); if (o->ratemin[DDIR_READ] || o->ratemin[DDIR_WRITE] || o->ratemin[DDIR_TRIM]) { memcpy(&td->last_rate_check_time[DDIR_READ], &td->bw_sample_time, sizeof(td->bw_sample_time)); memcpy(&td->last_rate_check_time[DDIR_WRITE], &td->bw_sample_time, sizeof(td->bw_sample_time)); memcpy(&td->last_rate_check_time[DDIR_TRIM], &td->bw_sample_time, sizeof(td->bw_sample_time)); } memset(bytes_done, 0, sizeof(bytes_done)); clear_state = false; while (keep_running(td)) { uint64_t verify_bytes; fio_gettime(&td->start, NULL); memcpy(&td->ts_cache, &td->start, sizeof(td->start)); if (clear_state) { clear_io_state(td, 0); if (o->unlink_each_loop && unlink_all_files(td)) break; } prune_io_piece_log(td); if (td->o.verify_only && td_write(td)) verify_bytes = do_dry_run(td); else { if (!td->o.rand_repeatable) /* save verify rand state to replay hdr seeds later at verify */ frand_copy(&td->verify_state_last_do_io, &td->verify_state); do_io(td, bytes_done); if (!td->o.rand_repeatable) frand_copy(&td->verify_state, &td->verify_state_last_do_io); if (!ddir_rw_sum(bytes_done)) { fio_mark_td_terminate(td); verify_bytes = 0; } else { verify_bytes = bytes_done[DDIR_WRITE] + bytes_done[DDIR_TRIM]; } } /* * If we took too long to shut down, the main thread could * already consider us reaped/exited. If that happens, break * out and clean up. */ if (td->runstate >= TD_EXITED) break; clear_state = true; /* * Make sure we've successfully updated the rusage stats * before waiting on the stat mutex. Otherwise we could have * the stat thread holding stat mutex and waiting for * the rusage_sem, which would never get upped because * this thread is waiting for the stat mutex. */ deadlock_loop_cnt = 0; do { check_update_rusage(td); if (!fio_sem_down_trylock(stat_sem)) break; usleep(1000); if (deadlock_loop_cnt++ > 5000) { log_err("fio seems to be stuck grabbing stat_sem, forcibly exiting\n"); td->error = EDEADLK; goto err; } } while (1); if (td->io_bytes[DDIR_READ] && (td_read(td) || ((td->flags & TD_F_VER_BACKLOG) && td_write(td)))) update_runtime(td, elapsed_us, DDIR_READ); if (td_write(td) && td->io_bytes[DDIR_WRITE]) update_runtime(td, elapsed_us, DDIR_WRITE); if (td_trim(td) && td->io_bytes[DDIR_TRIM]) update_runtime(td, elapsed_us, DDIR_TRIM); fio_gettime(&td->start, NULL); fio_sem_up(stat_sem); if (td->error || td->terminate) break; if (!o->do_verify || o->verify == VERIFY_NONE || td_ioengine_flagged(td, FIO_UNIDIR)) continue; clear_io_state(td, 0); fio_gettime(&td->start, NULL); do_verify(td, verify_bytes); /* * See comment further up for why this is done here. */ check_update_rusage(td); fio_sem_down(stat_sem); update_runtime(td, elapsed_us, DDIR_READ); fio_gettime(&td->start, NULL); fio_sem_up(stat_sem); if (td->error || td->terminate) break; } /* * Acquire this lock if we were doing overlap checking in * offload mode so that we don't clean up this job while * another thread is checking its io_u's for overlap */ if (td_offload_overlap(td)) { int res; res = pthread_mutex_lock(&overlap_check); if (res) { td->error = errno; goto err; } } td_set_runstate(td, TD_FINISHING); if (td_offload_overlap(td)) { int res; res = pthread_mutex_unlock(&overlap_check); if (res) { td->error = errno; goto err; } } update_rusage_stat(td); td->ts.total_run_time = mtime_since_now(&td->epoch); for_each_rw_ddir(ddir) { td->ts.io_bytes[ddir] = td->io_bytes[ddir]; } if (td->o.verify_state_save && !(td->flags & TD_F_VSTATE_SAVED) && (td->o.verify != VERIFY_NONE && td_write(td))) verify_save_state(td->thread_number); fio_unpin_memory(td); td_writeout_logs(td, true); iolog_compress_exit(td); rate_submit_exit(td); if (o->exec_postrun) exec_string(o, o->exec_postrun, "postrun"); if (exitall_on_terminate || (o->exitall_error && td->error)) fio_terminate_threads(td->groupid, td->o.exit_what); err: if (td->error) log_info("fio: pid=%d, err=%d/%s\n", (int) td->pid, td->error, td->verror); if (o->verify_async) verify_async_exit(td); close_and_free_files(td); cleanup_io_u(td); close_ioengine(td); cgroup_shutdown(td, cgroup_mnt); verify_free_state(td); td_zone_free_index(td); if (fio_option_is_set(o, cpumask)) { ret = fio_cpuset_exit(&o->cpumask); if (ret) td_verror(td, ret, "fio_cpuset_exit"); } /* * do this very late, it will log file closing as well */ if (o->write_iolog_file) write_iolog_close(td); if (td->io_log_rfile) fclose(td->io_log_rfile); td_set_runstate(td, TD_EXITED); /* * Do this last after setting our runstate to exited, so we * know that the stat thread is signaled. */ check_update_rusage(td); sk_out_drop(); return (void *) (uintptr_t) td->error; } /* * Run over the job map and reap the threads that have exited, if any. */ static void reap_threads(unsigned int *nr_running, uint64_t *t_rate, uint64_t *m_rate) { unsigned int cputhreads, realthreads, pending; int ret; /* * reap exited threads (TD_EXITED -> TD_REAPED) */ realthreads = pending = cputhreads = 0; for_each_td(td) { int flags = 0, status; if (!strcmp(td->o.ioengine, "cpuio")) cputhreads++; else realthreads++; if (!td->pid) { pending++; continue; } if (td->runstate == TD_REAPED) continue; if (td->o.use_thread) { if (td->runstate == TD_EXITED) { td_set_runstate(td, TD_REAPED); goto reaped; } continue; } flags = WNOHANG; if (td->runstate == TD_EXITED) flags = 0; /* * check if someone quit or got killed in an unusual way */ ret = waitpid(td->pid, &status, flags); if (ret < 0) { if (errno == ECHILD) { log_err("fio: pid=%d disappeared %d\n", (int) td->pid, td->runstate); td->sig = ECHILD; td_set_runstate(td, TD_REAPED); goto reaped; } perror("waitpid"); } else if (ret == td->pid) { if (WIFSIGNALED(status)) { int sig = WTERMSIG(status); if (sig != SIGTERM && sig != SIGUSR2) log_err("fio: pid=%d, got signal=%d\n", (int) td->pid, sig); td->sig = sig; td_set_runstate(td, TD_REAPED); goto reaped; } if (WIFEXITED(status)) { if (WEXITSTATUS(status) && !td->error) td->error = WEXITSTATUS(status); td_set_runstate(td, TD_REAPED); goto reaped; } } /* * If the job is stuck, do a forceful timeout of it and * move on. */ if (td->terminate && td->runstate < TD_FSYNCING && time_since_now(&td->terminate_time) >= FIO_REAP_TIMEOUT) { log_err("fio: job '%s' (state=%d) hasn't exited in " "%lu seconds, it appears to be stuck. Doing " "forceful exit of this job.\n", td->o.name, td->runstate, (unsigned long) time_since_now(&td->terminate_time)); td_set_runstate(td, TD_REAPED); goto reaped; } /* * thread is not dead, continue */ pending++; continue; reaped: (*nr_running)--; (*m_rate) -= ddir_rw_sum(td->o.ratemin); (*t_rate) -= ddir_rw_sum(td->o.rate); if (!td->pid) pending--; if (td->error) exit_value++; done_secs += mtime_since_now(&td->epoch) / 1000; profile_td_exit(td); flow_exit_job(td); } end_for_each(); if (*nr_running == cputhreads && !pending && realthreads) fio_terminate_threads(TERMINATE_ALL, TERMINATE_ALL); } static bool __check_trigger_file(void) { struct stat sb; if (!trigger_file) return false; if (stat(trigger_file, &sb)) return false; if (unlink(trigger_file) < 0) log_err("fio: failed to unlink %s: %s\n", trigger_file, strerror(errno)); return true; } static bool trigger_timedout(void) { if (trigger_timeout) if (time_since_genesis() >= trigger_timeout) { trigger_timeout = 0; return true; } return false; } void exec_trigger(const char *cmd) { int ret; if (!cmd || cmd[0] == '\0') return; ret = system(cmd); if (ret == -1) log_err("fio: failed executing %s trigger\n", cmd); } void check_trigger_file(void) { if (__check_trigger_file() || trigger_timedout()) { if (nr_clients) fio_clients_send_trigger(trigger_remote_cmd); else { verify_save_state(IO_LIST_ALL); fio_terminate_threads(TERMINATE_ALL, TERMINATE_ALL); exec_trigger(trigger_cmd); } } } static int fio_verify_load_state(struct thread_data *td) { int ret; if (!td->o.verify_state) return 0; if (is_backend) { void *data; ret = fio_server_get_verify_state(td->o.name, td->thread_number - 1, &data); if (!ret) verify_assign_state(td, data); } else { char prefix[PATH_MAX]; if (aux_path) sprintf(prefix, "%s%clocal", aux_path, FIO_OS_PATH_SEPARATOR); else strcpy(prefix, "local"); ret = verify_load_state(td, prefix); } return ret; } static void do_usleep(unsigned int usecs) { check_for_running_stats(); check_trigger_file(); usleep(usecs); } static bool check_mount_writes(struct thread_data *td) { struct fio_file *f; unsigned int i; if (!td_write(td) || td->o.allow_mounted_write) return false; /* * If FIO_HAVE_CHARDEV_SIZE is defined, it's likely that chrdevs * are mkfs'd and mounted. */ for_each_file(td, f, i) { #ifdef FIO_HAVE_CHARDEV_SIZE if (f->filetype != FIO_TYPE_BLOCK && f->filetype != FIO_TYPE_CHAR) #else if (f->filetype != FIO_TYPE_BLOCK) #endif continue; if (device_is_mounted(f->file_name)) goto mounted; } return false; mounted: log_err("fio: %s appears mounted, and 'allow_mounted_write' isn't set. Aborting.\n", f->file_name); return true; } static bool waitee_running(struct thread_data *me) { const char *waitee = me->o.wait_for; const char *self = me->o.name; if (!waitee) return false; for_each_td(td) { if (!strcmp(td->o.name, self) || strcmp(td->o.name, waitee)) continue; if (td->runstate < TD_EXITED) { dprint(FD_PROCESS, "%s fenced by %s(%s)\n", self, td->o.name, runstate_to_name(td->runstate)); return true; } } end_for_each(); dprint(FD_PROCESS, "%s: %s completed, can run\n", self, waitee); return false; } /* * Main function for kicking off and reaping jobs, as needed. */ static void run_threads(struct sk_out *sk_out) { struct thread_data *td; unsigned int i, todo, nr_running, nr_started; uint64_t m_rate, t_rate; uint64_t spent; if (fio_gtod_offload && fio_start_gtod_thread()) return; fio_idle_prof_init(); set_sig_handlers(); nr_thread = nr_process = 0; for_each_td(td) { if (check_mount_writes(td)) return; if (td->o.use_thread) nr_thread++; else nr_process++; } end_for_each(); if (output_format & FIO_OUTPUT_NORMAL) { struct buf_output out; buf_output_init(&out); __log_buf(&out, "Starting "); if (nr_thread) __log_buf(&out, "%d thread%s", nr_thread, nr_thread > 1 ? "s" : ""); if (nr_process) { if (nr_thread) __log_buf(&out, " and "); __log_buf(&out, "%d process%s", nr_process, nr_process > 1 ? "es" : ""); } __log_buf(&out, "\n"); log_info_buf(out.buf, out.buflen); buf_output_free(&out); } todo = thread_number; nr_running = 0; nr_started = 0; m_rate = t_rate = 0; for_each_td(td) { print_status_init(td->thread_number - 1); if (!td->o.create_serialize) continue; if (fio_verify_load_state(td)) goto reap; /* * do file setup here so it happens sequentially, * we don't want X number of threads getting their * client data interspersed on disk */ if (setup_files(td)) { reap: exit_value++; if (td->error) log_err("fio: pid=%d, err=%d/%s\n", (int) td->pid, td->error, td->verror); td_set_runstate(td, TD_REAPED); todo--; } else { struct fio_file *f; unsigned int j; /* * for sharing to work, each job must always open * its own files. so close them, if we opened them * for creation */ for_each_file(td, f, j) { if (fio_file_open(f)) td_io_close_file(td, f); } } } end_for_each(); /* start idle threads before io threads start to run */ fio_idle_prof_start(); set_genesis_time(); while (todo) { struct thread_data *map[REAL_MAX_JOBS]; struct timespec this_start; int this_jobs = 0, left; struct fork_data *fd; /* * create threads (TD_NOT_CREATED -> TD_CREATED) */ for_each_td(td) { if (td->runstate != TD_NOT_CREATED) continue; /* * never got a chance to start, killed by other * thread for some reason */ if (td->terminate) { todo--; continue; } if (td->o.start_delay) { spent = utime_since_genesis(); if (td->o.start_delay > spent) continue; } if (td->o.stonewall && (nr_started || nr_running)) { dprint(FD_PROCESS, "%s: stonewall wait\n", td->o.name); break; } if (waitee_running(td)) { dprint(FD_PROCESS, "%s: waiting for %s\n", td->o.name, td->o.wait_for); continue; } init_disk_util(td); td->rusage_sem = fio_sem_init(FIO_SEM_LOCKED); td->update_rusage = 0; /* * Set state to created. Thread will transition * to TD_INITIALIZED when it's done setting up. */ td_set_runstate(td, TD_CREATED); map[this_jobs++] = td; nr_started++; fd = calloc(1, sizeof(*fd)); fd->td = td; fd->sk_out = sk_out; if (td->o.use_thread) { int ret; dprint(FD_PROCESS, "will pthread_create\n"); ret = pthread_create(&td->thread, NULL, thread_main, fd); if (ret) { log_err("pthread_create: %s\n", strerror(ret)); free(fd); nr_started--; break; } fd = NULL; ret = pthread_detach(td->thread); if (ret) log_err("pthread_detach: %s", strerror(ret)); } else { pid_t pid; void *eo; dprint(FD_PROCESS, "will fork\n"); eo = td->eo; read_barrier(); pid = fork(); if (!pid) { int ret; ret = (int)(uintptr_t)thread_main(fd); _exit(ret); } else if (__td_index == fio_debug_jobno) *fio_debug_jobp = pid; free(eo); free(fd); fd = NULL; } dprint(FD_MUTEX, "wait on startup_sem\n"); if (fio_sem_down_timeout(startup_sem, 10000)) { log_err("fio: job startup hung? exiting.\n"); fio_terminate_threads(TERMINATE_ALL, TERMINATE_ALL); fio_abort = true; nr_started--; free(fd); break; } dprint(FD_MUTEX, "done waiting on startup_sem\n"); } end_for_each(); /* * Wait for the started threads to transition to * TD_INITIALIZED. */ fio_gettime(&this_start, NULL); left = this_jobs; while (left && !fio_abort) { if (mtime_since_now(&this_start) > JOB_START_TIMEOUT) break; do_usleep(100000); for (i = 0; i < this_jobs; i++) { td = map[i]; if (!td) continue; if (td->runstate == TD_INITIALIZED) { map[i] = NULL; left--; } else if (td->runstate >= TD_EXITED) { map[i] = NULL; left--; todo--; nr_running++; /* work-around... */ } } } if (left) { log_err("fio: %d job%s failed to start\n", left, left > 1 ? "s" : ""); for (i = 0; i < this_jobs; i++) { td = map[i]; if (!td) continue; kill(td->pid, SIGTERM); } break; } /* * start created threads (TD_INITIALIZED -> TD_RUNNING). */ for_each_td(td) { if (td->runstate != TD_INITIALIZED) continue; if (in_ramp_time(td)) td_set_runstate(td, TD_RAMP); else td_set_runstate(td, TD_RUNNING); nr_running++; nr_started--; m_rate += ddir_rw_sum(td->o.ratemin); t_rate += ddir_rw_sum(td->o.rate); todo--; fio_sem_up(td->sem); } end_for_each(); reap_threads(&nr_running, &t_rate, &m_rate); if (todo) do_usleep(100000); } while (nr_running) { reap_threads(&nr_running, &t_rate, &m_rate); do_usleep(10000); } fio_idle_prof_stop(); update_io_ticks(); } static void free_disk_util(void) { disk_util_prune_entries(); helper_thread_destroy(); } int fio_backend(struct sk_out *sk_out) { int i; if (exec_profile) { if (load_profile(exec_profile)) return 1; free(exec_profile); exec_profile = NULL; } if (!thread_number) return 0; if (write_bw_log) { struct log_params p = { .log_type = IO_LOG_TYPE_BW, }; setup_log(&agg_io_log[DDIR_READ], &p, "agg-read_bw.log"); setup_log(&agg_io_log[DDIR_WRITE], &p, "agg-write_bw.log"); setup_log(&agg_io_log[DDIR_TRIM], &p, "agg-trim_bw.log"); } if (init_global_dedupe_working_set_seeds()) { log_err("fio: failed to initialize global dedupe working set\n"); return 1; } startup_sem = fio_sem_init(FIO_SEM_LOCKED); if (!sk_out) is_local_backend = true; if (startup_sem == NULL) return 1; set_genesis_time(); stat_init(); if (helper_thread_create(startup_sem, sk_out)) log_err("fio: failed to create helper thread\n"); cgroup_list = smalloc(sizeof(*cgroup_list)); if (cgroup_list) INIT_FLIST_HEAD(cgroup_list); run_threads(sk_out); helper_thread_exit(); if (!fio_abort) { __show_run_stats(); if (write_bw_log) { for (i = 0; i < DDIR_RWDIR_CNT; i++) { struct io_log *log = agg_io_log[i]; flush_log(log, false); free_log(log); } } } for_each_td(td) { struct thread_stat *ts = &td->ts; free_clat_prio_stats(ts); steadystate_free(td); fio_options_free(td); fio_dump_options_free(td); if (td->rusage_sem) { fio_sem_remove(td->rusage_sem); td->rusage_sem = NULL; } fio_sem_remove(td->sem); td->sem = NULL; } end_for_each(); free_disk_util(); if (cgroup_list) { cgroup_kill(cgroup_list); sfree(cgroup_list); } fio_sem_remove(startup_sem); stat_exit(); return exit_value; } fio-3.39/blktrace.c000066400000000000000000000437201476262051600141770ustar00rootroot00000000000000/* * blktrace support code for fio */ #include #include #include #include #include #include "flist.h" #include "fio.h" #include "iolog.h" #include "blktrace.h" #include "blktrace_api.h" #include "oslib/linux-dev-lookup.h" struct file_cache { unsigned int maj; unsigned int min; unsigned int fileno; }; /* * Just discard the pdu by seeking past it. */ static int discard_pdu(FILE* f, struct blk_io_trace *t) { if (t->pdu_len == 0) return 0; dprint(FD_BLKTRACE, "discard pdu len %u\n", t->pdu_len); if (fseek(f, t->pdu_len, SEEK_CUR) < 0) return -errno; return t->pdu_len; } /* * Check if this is a blktrace binary data file. We read a single trace * into memory and check for the magic signature. */ bool is_blktrace(const char *filename, int *need_swap) { struct blk_io_trace t; int fd, ret; fd = open(filename, O_RDONLY); if (fd < 0) return false; ret = read(fd, &t, sizeof(t)); close(fd); if (ret < 0) { perror("read blktrace"); return false; } else if (ret != sizeof(t)) { log_err("fio: short read on blktrace file\n"); return false; } if ((t.magic & 0xffffff00) == BLK_IO_TRACE_MAGIC) { *need_swap = 0; return true; } /* * Maybe it needs to be endian swapped... */ t.magic = fio_swap32(t.magic); if ((t.magic & 0xffffff00) == BLK_IO_TRACE_MAGIC) { *need_swap = 1; return true; } return false; } #define FMINORBITS 20 #define FMINORMASK ((1U << FMINORBITS) - 1) #define FMAJOR(dev) ((unsigned int) ((dev) >> FMINORBITS)) #define FMINOR(dev) ((unsigned int) ((dev) & FMINORMASK)) static void trace_add_open_close_event(struct thread_data *td, int fileno, enum file_log_act action) { struct io_piece *ipo; ipo = calloc(1, sizeof(*ipo)); init_ipo(ipo); ipo->ddir = DDIR_INVAL; ipo->fileno = fileno; ipo->file_action = action; flist_add_tail(&ipo->list, &td->io_log_list); } static int trace_add_file(struct thread_data *td, __u32 device, struct file_cache *cache) { unsigned int maj = FMAJOR(device); unsigned int min = FMINOR(device); struct fio_file *f; char dev[256]; unsigned int i; if (cache->maj == maj && cache->min == min) return cache->fileno; cache->maj = maj; cache->min = min; /* * check for this file in our list */ for_each_file(td, f, i) if (f->major == maj && f->minor == min) { cache->fileno = f->fileno; return cache->fileno; } strcpy(dev, "/dev"); if (blktrace_lookup_device(td->o.replay_redirect, dev, maj, min)) { int fileno; if (td->o.replay_redirect) dprint(FD_BLKTRACE, "device lookup: %d/%d\n overridden" " with: %s\n", maj, min, td->o.replay_redirect); else dprint(FD_BLKTRACE, "device lookup: %d/%d\n", maj, min); dprint(FD_BLKTRACE, "add devices %s\n", dev); fileno = add_file_exclusive(td, dev); td->o.open_files++; td->files[fileno]->major = maj; td->files[fileno]->minor = min; trace_add_open_close_event(td, fileno, FIO_LOG_OPEN_FILE); cache->fileno = fileno; } return cache->fileno; } static void t_bytes_align(struct thread_options *o, struct blk_io_trace *t) { if (!o->replay_align) return; t->bytes = (t->bytes + o->replay_align - 1) & ~(o->replay_align - 1); } /* * Store blk_io_trace data in an ipo for later retrieval. */ static void store_ipo(struct thread_data *td, unsigned long long offset, unsigned int bytes, int rw, unsigned long long ttime, int fileno) { struct io_piece *ipo; ipo = calloc(1, sizeof(*ipo)); init_ipo(ipo); ipo->offset = offset * 512; if (td->o.replay_scale) ipo->offset = ipo->offset / td->o.replay_scale; ipo_bytes_align(td->o.replay_align, ipo); ipo->len = bytes; ipo->delay = ttime / 1000; if (rw) ipo->ddir = DDIR_WRITE; else ipo->ddir = DDIR_READ; ipo->fileno = fileno; dprint(FD_BLKTRACE, "store ddir=%d, off=%llu, len=%lu, delay=%lu\n", ipo->ddir, ipo->offset, ipo->len, ipo->delay); queue_io_piece(td, ipo); } static bool handle_trace_notify(struct blk_io_trace *t) { switch (t->action) { case BLK_TN_PROCESS: dprint(FD_BLKTRACE, "got process notify: %x, %d\n", t->action, t->pid); break; case BLK_TN_TIMESTAMP: dprint(FD_BLKTRACE, "got timestamp notify: %x, %d\n", t->action, t->pid); break; case BLK_TN_MESSAGE: break; default: dprint(FD_BLKTRACE, "unknown trace act %x\n", t->action); break; } return false; } static bool handle_trace_discard(struct thread_data *td, struct blk_io_trace *t, unsigned long long ttime, unsigned long *ios, unsigned long long *bs, struct file_cache *cache) { struct io_piece *ipo; int fileno; if (td->o.replay_skip & (1u << DDIR_TRIM)) return false; ipo = calloc(1, sizeof(*ipo)); init_ipo(ipo); fileno = trace_add_file(td, t->device, cache); ios[DDIR_TRIM]++; if (t->bytes > bs[DDIR_TRIM]) bs[DDIR_TRIM] = t->bytes; td->o.size += t->bytes; INIT_FLIST_HEAD(&ipo->list); ipo->offset = t->sector * 512; if (td->o.replay_scale) ipo->offset = ipo->offset / td->o.replay_scale; ipo_bytes_align(td->o.replay_align, ipo); ipo->len = t->bytes; ipo->delay = ttime / 1000; ipo->ddir = DDIR_TRIM; ipo->fileno = fileno; dprint(FD_BLKTRACE, "store discard, off=%llu, len=%lu, delay=%lu\n", ipo->offset, ipo->len, ipo->delay); queue_io_piece(td, ipo); return true; } static void dump_trace(struct blk_io_trace *t) { log_err("blktrace: ignoring zero byte trace: action=%x\n", t->action); } static bool handle_trace_fs(struct thread_data *td, struct blk_io_trace *t, unsigned long long ttime, unsigned long *ios, unsigned long long *bs, struct file_cache *cache) { int rw; int fileno; fileno = trace_add_file(td, t->device, cache); rw = (t->action & BLK_TC_ACT(BLK_TC_WRITE)) != 0; if (rw) { if (td->o.replay_skip & (1u << DDIR_WRITE)) return false; } else { if (td->o.replay_skip & (1u << DDIR_READ)) return false; } if (!t->bytes) { if (!fio_did_warn(FIO_WARN_BTRACE_ZERO)) dump_trace(t); return false; } if (t->bytes > bs[rw]) bs[rw] = t->bytes; ios[rw]++; td->o.size += t->bytes; store_ipo(td, t->sector, t->bytes, rw, ttime, fileno); return true; } static bool handle_trace_flush(struct thread_data *td, struct blk_io_trace *t, unsigned long long ttime, unsigned long *ios, struct file_cache *cache) { struct io_piece *ipo; int fileno; if (td->o.replay_skip & (1u << DDIR_SYNC)) return false; ipo = calloc(1, sizeof(*ipo)); init_ipo(ipo); fileno = trace_add_file(td, t->device, cache); ipo->delay = ttime / 1000; ipo->ddir = DDIR_SYNC; ipo->fileno = fileno; ios[DDIR_SYNC]++; dprint(FD_BLKTRACE, "store flush delay=%lu\n", ipo->delay); if (!(td->flags & TD_F_SYNCS)) td->flags |= TD_F_SYNCS; queue_io_piece(td, ipo); return true; } /* * We only care for queue traces, most of the others are side effects * due to internal workings of the block layer. */ static bool queue_trace(struct thread_data *td, struct blk_io_trace *t, unsigned long *ios, unsigned long long *bs, struct file_cache *cache) { unsigned long long *last_ttime = &td->io_log_last_ttime; unsigned long long delay = 0; if ((t->action & 0xffff) != __BLK_TA_QUEUE) return false; if (!(t->action & BLK_TC_ACT(BLK_TC_NOTIFY))) { delay = delay_since_ttime(td, t->time); *last_ttime = t->time; } t_bytes_align(&td->o, t); if (t->action & BLK_TC_ACT(BLK_TC_NOTIFY)) return handle_trace_notify(t); else if (t->action & BLK_TC_ACT(BLK_TC_DISCARD)) return handle_trace_discard(td, t, delay, ios, bs, cache); else if (t->action & BLK_TC_ACT(BLK_TC_FLUSH)) return handle_trace_flush(td, t, delay, ios, cache); else return handle_trace_fs(td, t, delay, ios, bs, cache); } static void byteswap_trace(struct blk_io_trace *t) { t->magic = fio_swap32(t->magic); t->sequence = fio_swap32(t->sequence); t->time = fio_swap64(t->time); t->sector = fio_swap64(t->sector); t->bytes = fio_swap32(t->bytes); t->action = fio_swap32(t->action); t->pid = fio_swap32(t->pid); t->device = fio_swap32(t->device); t->cpu = fio_swap32(t->cpu); t->error = fio_swap16(t->error); t->pdu_len = fio_swap16(t->pdu_len); } static bool t_is_write(struct blk_io_trace *t) { return (t->action & BLK_TC_ACT(BLK_TC_WRITE | BLK_TC_DISCARD)) != 0; } static enum fio_ddir t_get_ddir(struct blk_io_trace *t) { if (t->action & BLK_TC_ACT(BLK_TC_READ)) return DDIR_READ; else if (t->action & BLK_TC_ACT(BLK_TC_WRITE)) return DDIR_WRITE; else if (t->action & BLK_TC_ACT(BLK_TC_DISCARD)) return DDIR_TRIM; return DDIR_INVAL; } static void depth_inc(struct blk_io_trace *t, int *depth) { enum fio_ddir ddir; ddir = t_get_ddir(t); if (ddir != DDIR_INVAL) depth[ddir]++; } static void depth_dec(struct blk_io_trace *t, int *depth) { enum fio_ddir ddir; ddir = t_get_ddir(t); if (ddir != DDIR_INVAL) depth[ddir]--; } static void depth_end(struct blk_io_trace *t, int *this_depth, int *depth) { enum fio_ddir ddir = DDIR_INVAL; ddir = t_get_ddir(t); if (ddir != DDIR_INVAL) { depth[ddir] = max(depth[ddir], this_depth[ddir]); this_depth[ddir] = 0; } } /* * Load a blktrace file by reading all the blk_io_trace entries, and storing * them as io_pieces like the fio text version would do. */ bool init_blktrace_read(struct thread_data *td, const char *filename, int need_swap) { int old_state; td->io_log_rfile = fopen(filename, "rb"); if (!td->io_log_rfile) { td_verror(td, errno, "open blktrace file"); goto err; } td->io_log_blktrace_swap = need_swap; td->io_log_last_ttime = 0; td->o.size = 0; free_release_files(td); old_state = td_bump_runstate(td, TD_SETTING_UP); if (!read_blktrace(td)) { goto err; } td_restore_runstate(td, old_state); if (!td->files_index) { log_err("fio: did not find replay device(s)\n"); return false; } return true; err: if (td->io_log_rfile) { fclose(td->io_log_rfile); td->io_log_rfile = NULL; } return false; } bool read_blktrace(struct thread_data* td) { struct blk_io_trace t; struct file_cache cache = { .maj = ~0U, .min = ~0U, }; unsigned long ios[DDIR_RWDIR_SYNC_CNT] = { }; unsigned long long rw_bs[DDIR_RWDIR_CNT] = { }; unsigned long skipped_writes; FILE *f = td->io_log_rfile; int i, max_depth; struct fio_file *fiof; int this_depth[DDIR_RWDIR_CNT] = { }; int depth[DDIR_RWDIR_CNT] = { }; int64_t items_to_fetch = 0; if (td->o.read_iolog_chunked) { items_to_fetch = iolog_items_to_fetch(td); if (!items_to_fetch) return true; } skipped_writes = 0; do { int ret = fread(&t, 1, sizeof(t), f); if (ferror(f)) { td_verror(td, errno, "read blktrace file"); goto err; } else if (feof(f)) { break; } else if (ret < (int) sizeof(t)) { log_err("fio: iolog short read\n"); break; } if (td->io_log_blktrace_swap) byteswap_trace(&t); if ((t.magic & 0xffffff00) != BLK_IO_TRACE_MAGIC) { log_err("fio: bad magic in blktrace data: %x\n", t.magic); goto err; } if ((t.magic & 0xff) != BLK_IO_TRACE_VERSION) { log_err("fio: bad blktrace version %d\n", t.magic & 0xff); goto err; } ret = discard_pdu(f, &t); if (ret < 0) { td_verror(td, -ret, "blktrace lseek"); goto err; } if ((t.action & BLK_TC_ACT(BLK_TC_NOTIFY)) == 0) { if ((t.action & 0xffff) == __BLK_TA_QUEUE) depth_inc(&t, this_depth); else if (((t.action & 0xffff) == __BLK_TA_BACKMERGE) || ((t.action & 0xffff) == __BLK_TA_FRONTMERGE)) depth_dec(&t, this_depth); else if ((t.action & 0xffff) == __BLK_TA_COMPLETE) depth_end(&t, this_depth, depth); if (t_is_write(&t) && read_only) { skipped_writes++; continue; } } if (!queue_trace(td, &t, ios, rw_bs, &cache)) continue; if (td->o.read_iolog_chunked) { td->io_log_current++; items_to_fetch--; if (items_to_fetch == 0) break; } } while (1); if (td->o.read_iolog_chunked) { td->io_log_highmark = td->io_log_current; td->io_log_checkmark = (td->io_log_highmark + 1) / 2; fio_gettime(&td->io_log_highmark_time, NULL); } if (skipped_writes) log_err("fio: %s skips replay of %lu writes due to read-only\n", td->o.name, skipped_writes); if (td->o.read_iolog_chunked) { if (td->io_log_current == 0) { return false; } td->o.td_ddir = TD_DDIR_RW; if ((rw_bs[DDIR_READ] > td->o.max_bs[DDIR_READ] || rw_bs[DDIR_WRITE] > td->o.max_bs[DDIR_WRITE] || rw_bs[DDIR_TRIM] > td->o.max_bs[DDIR_TRIM]) && td->orig_buffer) { td->o.max_bs[DDIR_READ] = max(td->o.max_bs[DDIR_READ], rw_bs[DDIR_READ]); td->o.max_bs[DDIR_WRITE] = max(td->o.max_bs[DDIR_WRITE], rw_bs[DDIR_WRITE]); td->o.max_bs[DDIR_TRIM] = max(td->o.max_bs[DDIR_TRIM], rw_bs[DDIR_TRIM]); io_u_quiesce(td); free_io_mem(td); if (init_io_u_buffers(td)) return false; } return true; } for_each_file(td, fiof, i) trace_add_open_close_event(td, fiof->fileno, FIO_LOG_CLOSE_FILE); fclose(td->io_log_rfile); td->io_log_rfile = NULL; /* * For stacked devices, we don't always get a COMPLETE event so * the depth grows to insane values. Limit it to something sane(r). */ max_depth = 0; for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (depth[i] > 1024) depth[i] = 1024; else if (!depth[i] && ios[i]) depth[i] = 1; max_depth = max(depth[i], max_depth); } if (!ios[DDIR_READ] && !ios[DDIR_WRITE] && !ios[DDIR_TRIM] && !ios[DDIR_SYNC]) { log_err("fio: found no ios in blktrace data\n"); return false; } td->o.td_ddir = 0; if (ios[DDIR_READ]) { td->o.td_ddir |= TD_DDIR_READ; td->o.max_bs[DDIR_READ] = rw_bs[DDIR_READ]; } if (ios[DDIR_WRITE]) { td->o.td_ddir |= TD_DDIR_WRITE; td->o.max_bs[DDIR_WRITE] = rw_bs[DDIR_WRITE]; } if (ios[DDIR_TRIM]) { td->o.td_ddir |= TD_DDIR_TRIM; td->o.max_bs[DDIR_TRIM] = rw_bs[DDIR_TRIM]; } /* * If depth wasn't manually set, use probed depth */ if (!fio_option_is_set(&td->o, iodepth)) td->o.iodepth = td->o.iodepth_low = max_depth; return true; err: fclose(f); return false; } static int init_merge_param_list(fio_fp64_t *vals, struct blktrace_cursor *bcs, int nr_logs, int def, size_t off) { int i = 0, len = 0; while (len < FIO_IO_U_LIST_MAX_LEN && vals[len].u.f != 0.0) len++; if (len && len != nr_logs) return len; for (i = 0; i < nr_logs; i++) { int *val = (int *)((char *)&bcs[i] + off); *val = def; if (len) *val = (int)vals[i].u.f; } return 0; } static int find_earliest_io(struct blktrace_cursor *bcs, int nr_logs) { __u64 time = ~(__u64)0; int idx = 0, i; for (i = 0; i < nr_logs; i++) { if (bcs[i].t.time < time) { time = bcs[i].t.time; idx = i; } } return idx; } static void merge_finish_file(struct blktrace_cursor *bcs, int i, int *nr_logs) { bcs[i].iter++; if (bcs[i].iter < bcs[i].nr_iter) { fseek(bcs[i].f, 0, SEEK_SET); return; } *nr_logs -= 1; /* close file */ fclose(bcs[i].f); /* keep active files contiguous */ memmove(&bcs[i], &bcs[*nr_logs], sizeof(bcs[i])); } static int read_trace(struct thread_data *td, struct blktrace_cursor *bc) { int ret = 0; struct blk_io_trace *t = &bc->t; read_skip: /* read an io trace */ ret = fread(&t, 1, sizeof(t), bc->f); if (ferror(bc->f)) { td_verror(td, errno, "read blktrace file"); return ret; } else if (feof(bc->f)) { if (!bc->length) bc->length = bc->t.time; return ret; } else if (ret < (int) sizeof(*t)) { log_err("fio: iolog short read\n"); return -1; } if (bc->swap) byteswap_trace(t); /* skip over actions that fio does not care about */ if ((t->action & 0xffff) != __BLK_TA_QUEUE || t_get_ddir(t) == DDIR_INVAL) { ret = discard_pdu(bc->f, t); if (ret < 0) { td_verror(td, -ret, "blktrace lseek"); return ret; } goto read_skip; } t->time = (t->time + bc->iter * bc->length) * bc->scalar / 100; return ret; } static int write_trace(FILE *fp, struct blk_io_trace *t) { /* pdu is not used so just write out only the io trace */ t->pdu_len = 0; return fwrite((void *)t, sizeof(*t), 1, fp); } int merge_blktrace_iologs(struct thread_data *td) { int nr_logs = get_max_str_idx(td->o.read_iolog_file); struct blktrace_cursor *bcs = malloc(sizeof(struct blktrace_cursor) * nr_logs); struct blktrace_cursor *bc; FILE *merge_fp; char *str, *ptr, *name, *merge_buf; int i, ret; ret = init_merge_param_list(td->o.merge_blktrace_scalars, bcs, nr_logs, 100, offsetof(struct blktrace_cursor, scalar)); if (ret) { log_err("fio: merge_blktrace_scalars(%d) != nr_logs(%d)\n", ret, nr_logs); goto err_param; } ret = init_merge_param_list(td->o.merge_blktrace_iters, bcs, nr_logs, 1, offsetof(struct blktrace_cursor, nr_iter)); if (ret) { log_err("fio: merge_blktrace_iters(%d) != nr_logs(%d)\n", ret, nr_logs); goto err_param; } /* setup output file */ merge_fp = fopen(td->o.merge_blktrace_file, "w"); merge_buf = malloc(128 * 1024); if (!merge_buf) goto err_out_file; ret = setvbuf(merge_fp, merge_buf, _IOFBF, 128 * 1024); if (ret) goto err_merge_buf; /* setup input files */ str = ptr = strdup(td->o.read_iolog_file); nr_logs = 0; for (i = 0; (name = get_next_str(&ptr)) != NULL; i++) { bcs[i].f = fopen(name, "rb"); if (!bcs[i].f) { log_err("fio: could not open file: %s\n", name); ret = -errno; free(str); goto err_file; } nr_logs++; if (!is_blktrace(name, &bcs[i].swap)) { log_err("fio: file is not a blktrace: %s\n", name); free(str); goto err_file; } ret = read_trace(td, &bcs[i]); if (ret < 0) { free(str); goto err_file; } else if (!ret) { merge_finish_file(bcs, i, &nr_logs); i--; } } free(str); /* merge files */ while (nr_logs) { i = find_earliest_io(bcs, nr_logs); bc = &bcs[i]; /* skip over the pdu */ ret = discard_pdu(bc->f, &bc->t); if (ret < 0) { td_verror(td, -ret, "blktrace lseek"); goto err_file; } ret = write_trace(merge_fp, &bc->t); ret = read_trace(td, bc); if (ret < 0) goto err_file; else if (!ret) merge_finish_file(bcs, i, &nr_logs); } /* set iolog file to read from the newly merged file */ td->o.read_iolog_file = td->o.merge_blktrace_file; ret = 0; err_file: /* cleanup */ for (i = 0; i < nr_logs; i++) { fclose(bcs[i].f); } err_merge_buf: free(merge_buf); err_out_file: fflush(merge_fp); fclose(merge_fp); err_param: free(bcs); return ret; } fio-3.39/blktrace.h000066400000000000000000000020431476262051600141750ustar00rootroot00000000000000#ifndef FIO_BLKTRACE_H #define FIO_BLKTRACE_H #ifdef FIO_HAVE_BLKTRACE #include #include "blktrace_api.h" struct blktrace_cursor { struct fifo *fifo; // fifo queue for reading FILE *f; // blktrace file __u64 length; // length of trace struct blk_io_trace t; // current io trace int swap; // bitwise reverse required int scalar; // scale percentage int iter; // current iteration int nr_iter; // number of iterations to run }; bool is_blktrace(const char *, int *); bool init_blktrace_read(struct thread_data *, const char *, int); bool read_blktrace(struct thread_data* td); int merge_blktrace_iologs(struct thread_data *td); #else static inline bool is_blktrace(const char *fname, int *need_swap) { return false; } static inline bool init_blktrace_read(struct thread_data *td, const char *fname, int need_swap) { return false; } static inline bool read_blktrace(struct thread_data* td) { return false; } static inline int merge_blktrace_iologs(struct thread_data *td) { return false; } #endif #endif fio-3.39/blktrace_api.h000066400000000000000000000101521476262051600150260ustar00rootroot00000000000000#ifndef BLKTRACEAPI_H #define BLKTRACEAPI_H #include /* * Trace categories */ enum { BLK_TC_READ = 1 << 0, /* reads */ BLK_TC_WRITE = 1 << 1, /* writes */ BLK_TC_FLUSH = 1 << 2, /* flush */ BLK_TC_SYNC = 1 << 3, /* sync */ BLK_TC_QUEUE = 1 << 4, /* queueing/merging */ BLK_TC_REQUEUE = 1 << 5, /* requeueing */ BLK_TC_ISSUE = 1 << 6, /* issue */ BLK_TC_COMPLETE = 1 << 7, /* completions */ BLK_TC_FS = 1 << 8, /* fs requests */ BLK_TC_PC = 1 << 9, /* pc requests */ BLK_TC_NOTIFY = 1 << 10, /* special message */ BLK_TC_AHEAD = 1 << 11, /* readahead */ BLK_TC_META = 1 << 12, /* metadata */ BLK_TC_DISCARD = 1 << 13, /* discard requests */ BLK_TC_DRV_DATA = 1 << 14, /* binary per-driver data */ BLK_TC_END = 1 << 15, /* only 16-bits, reminder */ }; #define BLK_TC_SHIFT (16) #define BLK_TC_ACT(act) ((act) << BLK_TC_SHIFT) /* * Basic trace actions */ enum { __BLK_TA_QUEUE = 1, /* queued */ __BLK_TA_BACKMERGE, /* back merged to existing rq */ __BLK_TA_FRONTMERGE, /* front merge to existing rq */ __BLK_TA_GETRQ, /* allocated new request */ __BLK_TA_SLEEPRQ, /* sleeping on rq allocation */ __BLK_TA_REQUEUE, /* request requeued */ __BLK_TA_ISSUE, /* sent to driver */ __BLK_TA_COMPLETE, /* completed by driver */ __BLK_TA_PLUG, /* queue was plugged */ __BLK_TA_UNPLUG_IO, /* queue was unplugged by io */ __BLK_TA_UNPLUG_TIMER, /* queue was unplugged by timer */ __BLK_TA_INSERT, /* insert request */ __BLK_TA_SPLIT, /* bio was split */ __BLK_TA_BOUNCE, /* bio was bounced */ __BLK_TA_REMAP, /* bio was remapped */ __BLK_TA_ABORT, /* request aborted */ __BLK_TA_DRV_DATA, /* driver-specific binary data */ }; /* * Notify events. */ enum blktrace_notify { __BLK_TN_PROCESS = 0, /* establish pid/name mapping */ __BLK_TN_TIMESTAMP, /* include system clock */ __BLK_TN_MESSAGE, /* Character string message */ }; /* * Trace actions in full. Additionally, read or write is masked */ #define BLK_TA_QUEUE (__BLK_TA_QUEUE | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_BACKMERGE (__BLK_TA_BACKMERGE | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_FRONTMERGE (__BLK_TA_FRONTMERGE | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_GETRQ (__BLK_TA_GETRQ | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_SLEEPRQ (__BLK_TA_SLEEPRQ | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_REQUEUE (__BLK_TA_REQUEUE | BLK_TC_ACT(BLK_TC_REQUEUE)) #define BLK_TA_ISSUE (__BLK_TA_ISSUE | BLK_TC_ACT(BLK_TC_ISSUE)) #define BLK_TA_COMPLETE (__BLK_TA_COMPLETE| BLK_TC_ACT(BLK_TC_COMPLETE)) #define BLK_TA_PLUG (__BLK_TA_PLUG | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_UNPLUG_IO (__BLK_TA_UNPLUG_IO | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_UNPLUG_TIMER (__BLK_TA_UNPLUG_TIMER | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_INSERT (__BLK_TA_INSERT | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_SPLIT (__BLK_TA_SPLIT) #define BLK_TA_BOUNCE (__BLK_TA_BOUNCE) #define BLK_TA_REMAP (__BLK_TA_REMAP | BLK_TC_ACT(BLK_TC_QUEUE)) #define BLK_TA_DRV_DATA (__BLK_TA_DRV_DATA | BLK_TC_ACT(BLK_TC_DRV_DATA)) #define BLK_TN_PROCESS (__BLK_TN_PROCESS | BLK_TC_ACT(BLK_TC_NOTIFY)) #define BLK_TN_TIMESTAMP (__BLK_TN_TIMESTAMP | BLK_TC_ACT(BLK_TC_NOTIFY)) #define BLK_TN_MESSAGE (__BLK_TN_MESSAGE | BLK_TC_ACT(BLK_TC_NOTIFY)) #define BLK_IO_TRACE_MAGIC 0x65617400 #define BLK_IO_TRACE_VERSION 0x07 /* * The trace itself */ struct blk_io_trace { __u32 magic; /* MAGIC << 8 | version */ __u32 sequence; /* event number */ __u64 time; /* in nanoseconds */ __u64 sector; /* disk offset */ __u32 bytes; /* transfer length */ __u32 action; /* what happened */ __u32 pid; /* who did it */ __u32 device; /* device identifier (dev_t) */ __u32 cpu; /* on what cpu did it happen */ __u16 error; /* completion error */ __u16 pdu_len; /* length of data after this trace */ }; /* * The remap event */ struct blk_io_trace_remap { __u32 device; __u32 device_from; __u64 sector; }; /* * User setup structure passed with BLKSTARTTRACE */ struct blk_user_trace_setup { char name[32]; /* output */ __u16 act_mask; /* input */ __u32 buf_size; /* input */ __u32 buf_nr; /* input */ __u64 start_lba; __u64 end_lba; __u32 pid; }; #endif fio-3.39/cairo_text_helpers.c000066400000000000000000000042241476262051600162670ustar00rootroot00000000000000#include "cairo_text_helpers.h" #include #include #include static void draw_aligned_text(cairo_t *cr, const char *font, double x, double y, double fontsize, const char *text, int alignment) { #define CENTERED 0 #define LEFT_JUSTIFIED 1 #define RIGHT_JUSTIFIED 2 double factor, direction; cairo_text_extents_t extents; switch (alignment) { case CENTERED: direction = -1.0; factor = 0.5; break; case RIGHT_JUSTIFIED: direction = -1.0; factor = 1.0; break; case LEFT_JUSTIFIED: default: direction = 1.0; factor = 0.0; break; } cairo_select_font_face(cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size(cr, fontsize); cairo_text_extents(cr, text, &extents); x = x + direction * (factor * extents.width + extents.x_bearing); y = y - (extents.height / 2 + extents.y_bearing); cairo_move_to(cr, x, y); cairo_show_text(cr, text); } void draw_centered_text(cairo_t *cr, const char *font, double x, double y, double fontsize, const char *text) { draw_aligned_text(cr, font, x, y, fontsize, text, CENTERED); } void draw_right_justified_text(cairo_t *cr, const char *font, double x, double y, double fontsize, const char *text) { draw_aligned_text(cr, font, x, y, fontsize, text, RIGHT_JUSTIFIED); } void draw_left_justified_text(cairo_t *cr, const char *font, double x, double y, double fontsize, const char *text) { draw_aligned_text(cr, font, x, y, fontsize, text, LEFT_JUSTIFIED); } void draw_vertical_centered_text(cairo_t *cr, const char *font, double x, double y, double fontsize, const char *text) { double sx, sy; cairo_text_extents_t extents; cairo_select_font_face(cr, font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size(cr, fontsize); cairo_text_extents(cr, text, &extents); sx = x; sy = y; y = y + (extents.width / 2.0 + extents.x_bearing); x = x - (extents.height / 2.0 + extents.y_bearing); cairo_move_to(cr, x, y); cairo_save(cr); cairo_translate(cr, -sx, -sy); cairo_rotate(cr, -90.0 * M_PI / 180.0); cairo_translate(cr, sx, sy); cairo_show_text(cr, text); cairo_restore(cr); } fio-3.39/cairo_text_helpers.h000066400000000000000000000011171476262051600162720ustar00rootroot00000000000000#ifndef CAIRO_TEXT_HELPERS_H #define CAIRO_TEXT_HELPERS_H #include void draw_centered_text(cairo_t *cr, const char *font, double x, double y, double fontsize, const char *text); void draw_right_justified_text(cairo_t *cr, const char *font, double x, double y, double fontsize, const char *text); void draw_left_justified_text(cairo_t *cr, const char *font, double x, double y, double fontsize, const char *text); void draw_vertical_centered_text(cairo_t *cr, const char *font, double x, double y, double fontsize, const char *text); #endif fio-3.39/cconv.c000066400000000000000000000743651476262051600135310ustar00rootroot00000000000000#include #include "log.h" #include "thread_options.h" static void string_to_cpu(char **dst, const uint8_t *src) { const char *__src = (const char *) src; if (strlen(__src)) *dst = strdup(__src); } static void __string_to_net(uint8_t *dst, const char *src, size_t dst_size) { if (src) snprintf((char *) dst, dst_size, "%s", src); else dst[0] = '\0'; } #define string_to_net(dst, src) __string_to_net((dst), (src), sizeof(dst)) static void free_thread_options_to_cpu(struct thread_options *o) { int i; free(o->description); free(o->name); free(o->wait_for); free(o->directory); free(o->filename); free(o->filename_format); free(o->opendir); free(o->ioengine); free(o->mmapfile); free(o->read_iolog_file); free(o->write_iolog_file); free(o->merge_blktrace_file); free(o->bw_log_file); free(o->lat_log_file); free(o->iops_log_file); free(o->hist_log_file); free(o->replay_redirect); free(o->exec_prerun); free(o->exec_postrun); free(o->ioscheduler); free(o->profile); free(o->cgroup); free(o->verify_pattern); free(o->buffer_pattern); for (i = 0; i < DDIR_RWDIR_CNT; i++) { free(o->bssplit[i]); free(o->zone_split[i]); } } size_t thread_options_pack_size(struct thread_options *o) { return sizeof(struct thread_options_pack) + o->verify_pattern_bytes + o->buffer_pattern_bytes; } int convert_thread_options_to_cpu(struct thread_options *o, struct thread_options_pack *top, size_t top_sz) { int i, j; for (i = 0; i < NR_OPTS_SZ; i++) o->set_options[i] = le64_to_cpu(top->set_options[i]); string_to_cpu(&o->description, top->description); string_to_cpu(&o->name, top->name); string_to_cpu(&o->wait_for, top->wait_for); string_to_cpu(&o->directory, top->directory); string_to_cpu(&o->filename, top->filename); string_to_cpu(&o->filename_format, top->filename_format); string_to_cpu(&o->opendir, top->opendir); string_to_cpu(&o->ioengine, top->ioengine); string_to_cpu(&o->mmapfile, top->mmapfile); string_to_cpu(&o->read_iolog_file, top->read_iolog_file); string_to_cpu(&o->write_iolog_file, top->write_iolog_file); string_to_cpu(&o->merge_blktrace_file, top->merge_blktrace_file); string_to_cpu(&o->bw_log_file, top->bw_log_file); string_to_cpu(&o->lat_log_file, top->lat_log_file); string_to_cpu(&o->iops_log_file, top->iops_log_file); string_to_cpu(&o->hist_log_file, top->hist_log_file); string_to_cpu(&o->replay_redirect, top->replay_redirect); string_to_cpu(&o->exec_prerun, top->exec_prerun); string_to_cpu(&o->exec_postrun, top->exec_postrun); string_to_cpu(&o->ioscheduler, top->ioscheduler); string_to_cpu(&o->profile, top->profile); string_to_cpu(&o->cgroup, top->cgroup); string_to_cpu(&o->dp_scheme_file, top->dp_scheme_file); o->allow_create = le32_to_cpu(top->allow_create); o->allow_mounted_write = le32_to_cpu(top->allow_mounted_write); o->td_ddir = le32_to_cpu(top->td_ddir); o->rw_seq = le32_to_cpu(top->rw_seq); o->kb_base = le32_to_cpu(top->kb_base); o->unit_base = le32_to_cpu(top->unit_base); o->ddir_seq_nr = le32_to_cpu(top->ddir_seq_nr); o->ddir_seq_add = le64_to_cpu(top->ddir_seq_add); o->iodepth = le32_to_cpu(top->iodepth); o->iodepth_low = le32_to_cpu(top->iodepth_low); o->iodepth_batch = le32_to_cpu(top->iodepth_batch); o->iodepth_batch_complete_min = le32_to_cpu(top->iodepth_batch_complete_min); o->iodepth_batch_complete_max = le32_to_cpu(top->iodepth_batch_complete_max); o->serialize_overlap = le32_to_cpu(top->serialize_overlap); o->size = le64_to_cpu(top->size); o->io_size = le64_to_cpu(top->io_size); o->num_range = le32_to_cpu(top->num_range); o->size_percent = le32_to_cpu(top->size_percent); o->io_size_percent = le32_to_cpu(top->io_size_percent); o->fill_device = le32_to_cpu(top->fill_device); o->file_append = le32_to_cpu(top->file_append); o->file_size_low = le64_to_cpu(top->file_size_low); o->file_size_high = le64_to_cpu(top->file_size_high); o->start_offset = le64_to_cpu(top->start_offset); o->start_offset_align = le64_to_cpu(top->start_offset_align); o->start_offset_percent = le32_to_cpu(top->start_offset_percent); for (i = 0; i < DDIR_RWDIR_CNT; i++) { o->bs[i] = le64_to_cpu(top->bs[i]); o->ba[i] = le64_to_cpu(top->ba[i]); o->min_bs[i] = le64_to_cpu(top->min_bs[i]); o->max_bs[i] = le64_to_cpu(top->max_bs[i]); o->bssplit_nr[i] = le32_to_cpu(top->bssplit_nr[i]); if (o->bssplit_nr[i]) { o->bssplit[i] = malloc(o->bssplit_nr[i] * sizeof(struct bssplit)); for (j = 0; j < o->bssplit_nr[i]; j++) { o->bssplit[i][j].bs = le64_to_cpu(top->bssplit[i][j].bs); o->bssplit[i][j].perc = le32_to_cpu(top->bssplit[i][j].perc); } } o->zone_split_nr[i] = le32_to_cpu(top->zone_split_nr[i]); if (o->zone_split_nr[i]) { o->zone_split[i] = malloc(o->zone_split_nr[i] * sizeof(struct zone_split)); for (j = 0; j < o->zone_split_nr[i]; j++) { o->zone_split[i][j].access_perc = top->zone_split[i][j].access_perc; o->zone_split[i][j].size_perc = top->zone_split[i][j].size_perc; } } o->rwmix[i] = le32_to_cpu(top->rwmix[i]); o->rate[i] = le64_to_cpu(top->rate[i]); o->ratemin[i] = le64_to_cpu(top->ratemin[i]); o->rate_iops[i] = le32_to_cpu(top->rate_iops[i]); o->rate_iops_min[i] = le32_to_cpu(top->rate_iops_min[i]); o->perc_rand[i] = le32_to_cpu(top->perc_rand[i]); o->max_latency[i] = le64_to_cpu(top->max_latency[i]); } o->ratecycle = le32_to_cpu(top->ratecycle); o->io_submit_mode = le32_to_cpu(top->io_submit_mode); o->unique_filename = le32_to_cpu(top->unique_filename); o->nr_files = le32_to_cpu(top->nr_files); o->open_files = le32_to_cpu(top->open_files); o->file_lock_mode = le32_to_cpu(top->file_lock_mode); o->odirect = le32_to_cpu(top->odirect); o->oatomic = le32_to_cpu(top->oatomic); o->invalidate_cache = le32_to_cpu(top->invalidate_cache); o->create_serialize = le32_to_cpu(top->create_serialize); o->create_fsync = le32_to_cpu(top->create_fsync); o->create_on_open = le32_to_cpu(top->create_on_open); o->create_only = le32_to_cpu(top->create_only); o->end_fsync = le32_to_cpu(top->end_fsync); o->pre_read = le32_to_cpu(top->pre_read); o->sync_io = le32_to_cpu(top->sync_io); o->write_hint = le32_to_cpu(top->write_hint); o->verify = le32_to_cpu(top->verify); o->do_verify = le32_to_cpu(top->do_verify); o->experimental_verify = le32_to_cpu(top->experimental_verify); o->verify_state = le32_to_cpu(top->verify_state); o->verify_interval = le32_to_cpu(top->verify_interval); o->verify_offset = le32_to_cpu(top->verify_offset); o->verify_write_sequence = le32_to_cpu(top->verify_write_sequence); o->verify_header_seed = le32_to_cpu(top->verify_header_seed); o->verify_pattern_bytes = le32_to_cpu(top->verify_pattern_bytes); o->buffer_pattern_bytes = le32_to_cpu(top->buffer_pattern_bytes); if (o->verify_pattern_bytes >= MAX_PATTERN_SIZE || o->buffer_pattern_bytes >= MAX_PATTERN_SIZE || thread_options_pack_size(o) > top_sz) return -EINVAL; o->verify_pattern = realloc(o->verify_pattern, o->verify_pattern_bytes); o->buffer_pattern = realloc(o->buffer_pattern, o->buffer_pattern_bytes); memcpy(o->verify_pattern, top->patterns, o->verify_pattern_bytes); memcpy(o->buffer_pattern, &top->patterns[o->verify_pattern_bytes], o->buffer_pattern_bytes); o->verify_fatal = le32_to_cpu(top->verify_fatal); o->verify_dump = le32_to_cpu(top->verify_dump); o->verify_async = le32_to_cpu(top->verify_async); o->verify_batch = le32_to_cpu(top->verify_batch); o->use_thread = le32_to_cpu(top->use_thread); o->unlink = le32_to_cpu(top->unlink); o->unlink_each_loop = le32_to_cpu(top->unlink_each_loop); o->do_disk_util = le32_to_cpu(top->do_disk_util); o->override_sync = le32_to_cpu(top->override_sync); o->rand_repeatable = le32_to_cpu(top->rand_repeatable); o->rand_seed = le64_to_cpu(top->rand_seed); o->log_entries = le32_to_cpu(top->log_entries); o->log_avg_msec = le32_to_cpu(top->log_avg_msec); o->log_hist_msec = le32_to_cpu(top->log_hist_msec); o->log_hist_coarseness = le32_to_cpu(top->log_hist_coarseness); o->log_max = le32_to_cpu(top->log_max); o->log_offset = le32_to_cpu(top->log_offset); o->log_prio = le32_to_cpu(top->log_prio); o->log_issue_time = le32_to_cpu(top->log_issue_time); o->log_gz = le32_to_cpu(top->log_gz); o->log_gz_store = le32_to_cpu(top->log_gz_store); o->log_alternate_epoch = le32_to_cpu(top->log_alternate_epoch); o->log_alternate_epoch_clock_id = le32_to_cpu(top->log_alternate_epoch_clock_id); o->job_start_clock_id = le32_to_cpu(top->job_start_clock_id); o->norandommap = le32_to_cpu(top->norandommap); o->softrandommap = le32_to_cpu(top->softrandommap); o->bs_unaligned = le32_to_cpu(top->bs_unaligned); o->fsync_on_close = le32_to_cpu(top->fsync_on_close); o->bs_is_seq_rand = le32_to_cpu(top->bs_is_seq_rand); o->random_distribution = le32_to_cpu(top->random_distribution); o->exitall_error = le32_to_cpu(top->exitall_error); o->zipf_theta.u.f = fio_uint64_to_double(le64_to_cpu(top->zipf_theta.u.i)); o->pareto_h.u.f = fio_uint64_to_double(le64_to_cpu(top->pareto_h.u.i)); o->gauss_dev.u.f = fio_uint64_to_double(le64_to_cpu(top->gauss_dev.u.i)); o->random_center.u.f = fio_uint64_to_double(le64_to_cpu(top->random_center.u.i)); o->random_generator = le32_to_cpu(top->random_generator); o->hugepage_size = le32_to_cpu(top->hugepage_size); o->rw_min_bs = le64_to_cpu(top->rw_min_bs); o->thinkcycles = le32_to_cpu(top->thinkcycles); o->thinktime = le32_to_cpu(top->thinktime); o->thinktime_spin = le32_to_cpu(top->thinktime_spin); o->thinktime_blocks = le32_to_cpu(top->thinktime_blocks); o->thinktime_blocks_type = le32_to_cpu(top->thinktime_blocks_type); o->thinktime_iotime = le32_to_cpu(top->thinktime_iotime); o->fsync_blocks = le32_to_cpu(top->fsync_blocks); o->fdatasync_blocks = le32_to_cpu(top->fdatasync_blocks); o->barrier_blocks = le32_to_cpu(top->barrier_blocks); o->verify_backlog = le64_to_cpu(top->verify_backlog); o->start_delay = le64_to_cpu(top->start_delay); o->start_delay_high = le64_to_cpu(top->start_delay_high); o->timeout = le64_to_cpu(top->timeout); o->ramp_time = le64_to_cpu(top->ramp_time); o->ss_dur = le64_to_cpu(top->ss_dur); o->ss_ramp_time = le64_to_cpu(top->ss_ramp_time); o->ss_state = le32_to_cpu(top->ss_state); o->ss_limit.u.f = fio_uint64_to_double(le64_to_cpu(top->ss_limit.u.i)); o->ss_check_interval = le64_to_cpu(top->ss_check_interval); o->zone_range = le64_to_cpu(top->zone_range); o->zone_size = le64_to_cpu(top->zone_size); o->zone_capacity = le64_to_cpu(top->zone_capacity); o->zone_skip = le64_to_cpu(top->zone_skip); o->zone_mode = le32_to_cpu(top->zone_mode); o->max_open_zones = __le32_to_cpu(top->max_open_zones); o->ignore_zone_limits = le32_to_cpu(top->ignore_zone_limits); o->lockmem = le64_to_cpu(top->lockmem); o->offset_increment_percent = le32_to_cpu(top->offset_increment_percent); o->offset_increment = le64_to_cpu(top->offset_increment); o->number_ios = le64_to_cpu(top->number_ios); o->overwrite = le32_to_cpu(top->overwrite); o->bw_avg_time = le32_to_cpu(top->bw_avg_time); o->iops_avg_time = le32_to_cpu(top->iops_avg_time); o->loops = le32_to_cpu(top->loops); o->mem_type = le32_to_cpu(top->mem_type); o->mem_align = le32_to_cpu(top->mem_align); o->exit_what = le32_to_cpu(top->exit_what); o->stonewall = le32_to_cpu(top->stonewall); o->new_group = le32_to_cpu(top->new_group); o->numjobs = le32_to_cpu(top->numjobs); o->cpus_allowed_policy = le32_to_cpu(top->cpus_allowed_policy); o->gpu_dev_id = le32_to_cpu(top->gpu_dev_id); o->iolog = le32_to_cpu(top->iolog); o->rwmixcycle = le32_to_cpu(top->rwmixcycle); o->nice = le32_to_cpu(top->nice); o->ioprio = le32_to_cpu(top->ioprio); o->ioprio_class = le32_to_cpu(top->ioprio_class); o->ioprio_hint = le32_to_cpu(top->ioprio_hint); o->file_service_type = le32_to_cpu(top->file_service_type); o->group_reporting = le32_to_cpu(top->group_reporting); o->stats = le32_to_cpu(top->stats); o->fadvise_hint = le32_to_cpu(top->fadvise_hint); o->fallocate_mode = le32_to_cpu(top->fallocate_mode); o->zero_buffers = le32_to_cpu(top->zero_buffers); o->refill_buffers = le32_to_cpu(top->refill_buffers); o->scramble_buffers = le32_to_cpu(top->scramble_buffers); o->time_based = le32_to_cpu(top->time_based); o->disable_lat = le32_to_cpu(top->disable_lat); o->disable_clat = le32_to_cpu(top->disable_clat); o->disable_slat = le32_to_cpu(top->disable_slat); o->disable_bw = le32_to_cpu(top->disable_bw); o->unified_rw_rep = le32_to_cpu(top->unified_rw_rep); o->gtod_reduce = le32_to_cpu(top->gtod_reduce); o->gtod_cpu = le32_to_cpu(top->gtod_cpu); o->clocksource = le32_to_cpu(top->clocksource); o->no_stall = le32_to_cpu(top->no_stall); o->trim_percentage = le32_to_cpu(top->trim_percentage); o->trim_batch = le32_to_cpu(top->trim_batch); o->trim_zero = le32_to_cpu(top->trim_zero); o->clat_percentiles = le32_to_cpu(top->clat_percentiles); o->lat_percentiles = le32_to_cpu(top->lat_percentiles); o->slat_percentiles = le32_to_cpu(top->slat_percentiles); o->percentile_precision = le32_to_cpu(top->percentile_precision); o->sig_figs = le32_to_cpu(top->sig_figs); o->continue_on_error = le32_to_cpu(top->continue_on_error); o->cgroup_weight = le32_to_cpu(top->cgroup_weight); o->cgroup_nodelete = le32_to_cpu(top->cgroup_nodelete); o->uid = le32_to_cpu(top->uid); o->gid = le32_to_cpu(top->gid); o->flow_id = __le32_to_cpu(top->flow_id); o->flow = le32_to_cpu(top->flow); o->flow_sleep = le32_to_cpu(top->flow_sleep); o->sync_file_range = le32_to_cpu(top->sync_file_range); o->latency_target = le64_to_cpu(top->latency_target); o->latency_window = le64_to_cpu(top->latency_window); o->latency_percentile.u.f = fio_uint64_to_double(le64_to_cpu(top->latency_percentile.u.i)); o->latency_run = le32_to_cpu(top->latency_run); o->compress_percentage = le32_to_cpu(top->compress_percentage); o->compress_chunk = le32_to_cpu(top->compress_chunk); o->dedupe_percentage = le32_to_cpu(top->dedupe_percentage); o->dedupe_mode = le32_to_cpu(top->dedupe_mode); o->dedupe_working_set_percentage = le32_to_cpu(top->dedupe_working_set_percentage); o->dedupe_global = le32_to_cpu(top->dedupe_global); o->block_error_hist = le32_to_cpu(top->block_error_hist); o->replay_align = le32_to_cpu(top->replay_align); o->replay_scale = le32_to_cpu(top->replay_scale); o->replay_time_scale = le32_to_cpu(top->replay_time_scale); o->replay_skip = le32_to_cpu(top->replay_skip); o->per_job_logs = le32_to_cpu(top->per_job_logs); o->write_bw_log = le32_to_cpu(top->write_bw_log); o->write_lat_log = le32_to_cpu(top->write_lat_log); o->write_iops_log = le32_to_cpu(top->write_iops_log); o->write_hist_log = le32_to_cpu(top->write_hist_log); o->trim_backlog = le64_to_cpu(top->trim_backlog); o->rate_process = le32_to_cpu(top->rate_process); o->rate_ign_think = le32_to_cpu(top->rate_ign_think); for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) o->percentile_list[i].u.f = fio_uint64_to_double(le64_to_cpu(top->percentile_list[i].u.i)); for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) o->merge_blktrace_scalars[i].u.f = fio_uint64_to_double(le64_to_cpu(top->merge_blktrace_scalars[i].u.i)); for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) o->merge_blktrace_iters[i].u.f = fio_uint64_to_double(le64_to_cpu(top->merge_blktrace_iters[i].u.i)); o->fdp = le32_to_cpu(top->fdp); o->dp_type = le32_to_cpu(top->dp_type); o->dp_id_select = le32_to_cpu(top->dp_id_select); o->dp_nr_ids = le32_to_cpu(top->dp_nr_ids); for (i = 0; i < o->dp_nr_ids; i++) o->dp_ids[i] = le16_to_cpu(top->dp_ids[i]); #if 0 uint8_t cpumask[FIO_TOP_STR_MAX]; uint8_t verify_cpumask[FIO_TOP_STR_MAX]; uint8_t log_gz_cpumask[FIO_TOP_STR_MAX]; #endif return 0; } void convert_thread_options_to_net(struct thread_options_pack *top, struct thread_options *o) { int i, j; for (i = 0; i < NR_OPTS_SZ; i++) top->set_options[i] = cpu_to_le64(o->set_options[i]); string_to_net(top->description, o->description); string_to_net(top->name, o->name); string_to_net(top->wait_for, o->wait_for); string_to_net(top->directory, o->directory); string_to_net(top->filename, o->filename); string_to_net(top->filename_format, o->filename_format); string_to_net(top->opendir, o->opendir); string_to_net(top->ioengine, o->ioengine); string_to_net(top->mmapfile, o->mmapfile); string_to_net(top->read_iolog_file, o->read_iolog_file); string_to_net(top->write_iolog_file, o->write_iolog_file); string_to_net(top->merge_blktrace_file, o->merge_blktrace_file); string_to_net(top->bw_log_file, o->bw_log_file); string_to_net(top->lat_log_file, o->lat_log_file); string_to_net(top->iops_log_file, o->iops_log_file); string_to_net(top->hist_log_file, o->hist_log_file); string_to_net(top->replay_redirect, o->replay_redirect); string_to_net(top->exec_prerun, o->exec_prerun); string_to_net(top->exec_postrun, o->exec_postrun); string_to_net(top->ioscheduler, o->ioscheduler); string_to_net(top->profile, o->profile); string_to_net(top->cgroup, o->cgroup); string_to_net(top->dp_scheme_file, o->dp_scheme_file); top->allow_create = cpu_to_le32(o->allow_create); top->allow_mounted_write = cpu_to_le32(o->allow_mounted_write); top->td_ddir = cpu_to_le32(o->td_ddir); top->rw_seq = cpu_to_le32(o->rw_seq); top->kb_base = cpu_to_le32(o->kb_base); top->unit_base = cpu_to_le32(o->unit_base); top->ddir_seq_nr = cpu_to_le32(o->ddir_seq_nr); top->iodepth = cpu_to_le32(o->iodepth); top->iodepth_low = cpu_to_le32(o->iodepth_low); top->iodepth_batch = cpu_to_le32(o->iodepth_batch); top->iodepth_batch_complete_min = cpu_to_le32(o->iodepth_batch_complete_min); top->iodepth_batch_complete_max = cpu_to_le32(o->iodepth_batch_complete_max); top->serialize_overlap = cpu_to_le32(o->serialize_overlap); top->size_percent = cpu_to_le32(o->size_percent); top->io_size_percent = cpu_to_le32(o->io_size_percent); top->fill_device = cpu_to_le32(o->fill_device); top->file_append = cpu_to_le32(o->file_append); top->ratecycle = cpu_to_le32(o->ratecycle); top->io_submit_mode = cpu_to_le32(o->io_submit_mode); top->nr_files = cpu_to_le32(o->nr_files); top->unique_filename = cpu_to_le32(o->unique_filename); top->open_files = cpu_to_le32(o->open_files); top->file_lock_mode = cpu_to_le32(o->file_lock_mode); top->odirect = cpu_to_le32(o->odirect); top->oatomic = cpu_to_le32(o->oatomic); top->invalidate_cache = cpu_to_le32(o->invalidate_cache); top->create_serialize = cpu_to_le32(o->create_serialize); top->create_fsync = cpu_to_le32(o->create_fsync); top->create_on_open = cpu_to_le32(o->create_on_open); top->create_only = cpu_to_le32(o->create_only); top->end_fsync = cpu_to_le32(o->end_fsync); top->pre_read = cpu_to_le32(o->pre_read); top->sync_io = cpu_to_le32(o->sync_io); top->write_hint = cpu_to_le32(o->write_hint); top->verify = cpu_to_le32(o->verify); top->do_verify = cpu_to_le32(o->do_verify); top->experimental_verify = cpu_to_le32(o->experimental_verify); top->verify_state = cpu_to_le32(o->verify_state); top->verify_interval = cpu_to_le32(o->verify_interval); top->verify_offset = cpu_to_le32(o->verify_offset); top->verify_write_sequence = cpu_to_le32(o->verify_write_sequence); top->verify_header_seed = cpu_to_le32(o->verify_header_seed); top->verify_pattern_bytes = cpu_to_le32(o->verify_pattern_bytes); top->verify_fatal = cpu_to_le32(o->verify_fatal); top->verify_dump = cpu_to_le32(o->verify_dump); top->verify_async = cpu_to_le32(o->verify_async); top->verify_batch = cpu_to_le32(o->verify_batch); top->use_thread = cpu_to_le32(o->use_thread); top->unlink = cpu_to_le32(o->unlink); top->unlink_each_loop = cpu_to_le32(o->unlink_each_loop); top->do_disk_util = cpu_to_le32(o->do_disk_util); top->override_sync = cpu_to_le32(o->override_sync); top->rand_repeatable = cpu_to_le32(o->rand_repeatable); top->rand_seed = __cpu_to_le64(o->rand_seed); top->log_entries = cpu_to_le32(o->log_entries); top->log_avg_msec = cpu_to_le32(o->log_avg_msec); top->log_max = cpu_to_le32(o->log_max); top->log_offset = cpu_to_le32(o->log_offset); top->log_prio = cpu_to_le32(o->log_prio); top->log_issue_time = cpu_to_le32(o->log_issue_time); top->log_gz = cpu_to_le32(o->log_gz); top->log_gz_store = cpu_to_le32(o->log_gz_store); top->log_alternate_epoch = cpu_to_le32(o->log_alternate_epoch); top->log_alternate_epoch_clock_id = cpu_to_le32(o->log_alternate_epoch_clock_id); top->job_start_clock_id = cpu_to_le32(o->job_start_clock_id); top->norandommap = cpu_to_le32(o->norandommap); top->softrandommap = cpu_to_le32(o->softrandommap); top->bs_unaligned = cpu_to_le32(o->bs_unaligned); top->fsync_on_close = cpu_to_le32(o->fsync_on_close); top->bs_is_seq_rand = cpu_to_le32(o->bs_is_seq_rand); top->random_distribution = cpu_to_le32(o->random_distribution); top->exitall_error = cpu_to_le32(o->exitall_error); top->zipf_theta.u.i = __cpu_to_le64(fio_double_to_uint64(o->zipf_theta.u.f)); top->pareto_h.u.i = __cpu_to_le64(fio_double_to_uint64(o->pareto_h.u.f)); top->gauss_dev.u.i = __cpu_to_le64(fio_double_to_uint64(o->gauss_dev.u.f)); top->random_center.u.i = __cpu_to_le64(fio_double_to_uint64(o->random_center.u.f)); top->random_generator = cpu_to_le32(o->random_generator); top->hugepage_size = cpu_to_le32(o->hugepage_size); top->rw_min_bs = __cpu_to_le64(o->rw_min_bs); top->thinkcycles = cpu_to_le32(o->thinkcycles); top->thinktime = cpu_to_le32(o->thinktime); top->thinktime_spin = cpu_to_le32(o->thinktime_spin); top->thinktime_blocks = cpu_to_le32(o->thinktime_blocks); top->thinktime_blocks_type = __cpu_to_le32(o->thinktime_blocks_type); top->thinktime_iotime = __cpu_to_le32(o->thinktime_iotime); top->fsync_blocks = cpu_to_le32(o->fsync_blocks); top->fdatasync_blocks = cpu_to_le32(o->fdatasync_blocks); top->barrier_blocks = cpu_to_le32(o->barrier_blocks); top->overwrite = cpu_to_le32(o->overwrite); top->bw_avg_time = cpu_to_le32(o->bw_avg_time); top->iops_avg_time = cpu_to_le32(o->iops_avg_time); top->loops = cpu_to_le32(o->loops); top->mem_type = cpu_to_le32(o->mem_type); top->mem_align = cpu_to_le32(o->mem_align); top->exit_what = cpu_to_le32(o->exit_what); top->stonewall = cpu_to_le32(o->stonewall); top->new_group = cpu_to_le32(o->new_group); top->numjobs = cpu_to_le32(o->numjobs); top->cpus_allowed_policy = cpu_to_le32(o->cpus_allowed_policy); top->gpu_dev_id = cpu_to_le32(o->gpu_dev_id); top->iolog = cpu_to_le32(o->iolog); top->rwmixcycle = cpu_to_le32(o->rwmixcycle); top->nice = cpu_to_le32(o->nice); top->ioprio = cpu_to_le32(o->ioprio); top->ioprio_class = cpu_to_le32(o->ioprio_class); top->ioprio_hint = cpu_to_le32(o->ioprio_hint); top->file_service_type = cpu_to_le32(o->file_service_type); top->group_reporting = cpu_to_le32(o->group_reporting); top->stats = cpu_to_le32(o->stats); top->fadvise_hint = cpu_to_le32(o->fadvise_hint); top->fallocate_mode = cpu_to_le32(o->fallocate_mode); top->zero_buffers = cpu_to_le32(o->zero_buffers); top->refill_buffers = cpu_to_le32(o->refill_buffers); top->scramble_buffers = cpu_to_le32(o->scramble_buffers); top->buffer_pattern_bytes = cpu_to_le32(o->buffer_pattern_bytes); top->time_based = cpu_to_le32(o->time_based); top->disable_lat = cpu_to_le32(o->disable_lat); top->disable_clat = cpu_to_le32(o->disable_clat); top->disable_slat = cpu_to_le32(o->disable_slat); top->disable_bw = cpu_to_le32(o->disable_bw); top->unified_rw_rep = cpu_to_le32(o->unified_rw_rep); top->gtod_reduce = cpu_to_le32(o->gtod_reduce); top->gtod_cpu = cpu_to_le32(o->gtod_cpu); top->clocksource = cpu_to_le32(o->clocksource); top->no_stall = cpu_to_le32(o->no_stall); top->trim_percentage = cpu_to_le32(o->trim_percentage); top->trim_batch = cpu_to_le32(o->trim_batch); top->trim_zero = cpu_to_le32(o->trim_zero); top->clat_percentiles = cpu_to_le32(o->clat_percentiles); top->lat_percentiles = cpu_to_le32(o->lat_percentiles); top->slat_percentiles = cpu_to_le32(o->slat_percentiles); top->percentile_precision = cpu_to_le32(o->percentile_precision); top->sig_figs = cpu_to_le32(o->sig_figs); top->continue_on_error = cpu_to_le32(o->continue_on_error); top->cgroup_weight = cpu_to_le32(o->cgroup_weight); top->cgroup_nodelete = cpu_to_le32(o->cgroup_nodelete); top->uid = cpu_to_le32(o->uid); top->gid = cpu_to_le32(o->gid); top->flow_id = __cpu_to_le32(o->flow_id); top->flow = cpu_to_le32(o->flow); top->flow_sleep = cpu_to_le32(o->flow_sleep); top->sync_file_range = cpu_to_le32(o->sync_file_range); top->latency_target = __cpu_to_le64(o->latency_target); top->latency_window = __cpu_to_le64(o->latency_window); top->latency_percentile.u.i = __cpu_to_le64(fio_double_to_uint64(o->latency_percentile.u.f)); top->latency_run = __cpu_to_le32(o->latency_run); top->compress_percentage = cpu_to_le32(o->compress_percentage); top->compress_chunk = cpu_to_le32(o->compress_chunk); top->dedupe_percentage = cpu_to_le32(o->dedupe_percentage); top->dedupe_mode = cpu_to_le32(o->dedupe_mode); top->dedupe_working_set_percentage = cpu_to_le32(o->dedupe_working_set_percentage); top->dedupe_global = cpu_to_le32(o->dedupe_global); top->block_error_hist = cpu_to_le32(o->block_error_hist); top->replay_align = cpu_to_le32(o->replay_align); top->replay_scale = cpu_to_le32(o->replay_scale); top->replay_time_scale = cpu_to_le32(o->replay_time_scale); top->replay_skip = cpu_to_le32(o->replay_skip); top->per_job_logs = cpu_to_le32(o->per_job_logs); top->write_bw_log = cpu_to_le32(o->write_bw_log); top->write_lat_log = cpu_to_le32(o->write_lat_log); top->write_iops_log = cpu_to_le32(o->write_iops_log); top->write_hist_log = cpu_to_le32(o->write_hist_log); for (i = 0; i < DDIR_RWDIR_CNT; i++) { top->bs[i] = __cpu_to_le64(o->bs[i]); top->ba[i] = __cpu_to_le64(o->ba[i]); top->min_bs[i] = __cpu_to_le64(o->min_bs[i]); top->max_bs[i] = __cpu_to_le64(o->max_bs[i]); top->bssplit_nr[i] = cpu_to_le32(o->bssplit_nr[i]); if (o->bssplit_nr[i]) { unsigned int bssplit_nr = o->bssplit_nr[i]; if (bssplit_nr > BSSPLIT_MAX) { log_err("fio: BSSPLIT_MAX is too small\n"); bssplit_nr = BSSPLIT_MAX; } for (j = 0; j < bssplit_nr; j++) { top->bssplit[i][j].bs = cpu_to_le64(o->bssplit[i][j].bs); top->bssplit[i][j].perc = cpu_to_le32(o->bssplit[i][j].perc); } } top->zone_split_nr[i] = cpu_to_le32(o->zone_split_nr[i]); if (o->zone_split_nr[i]) { unsigned int zone_split_nr = o->zone_split_nr[i]; if (zone_split_nr > ZONESPLIT_MAX) { log_err("fio: ZONESPLIT_MAX is too small\n"); zone_split_nr = ZONESPLIT_MAX; } for (j = 0; j < zone_split_nr; j++) { top->zone_split[i][j].access_perc = o->zone_split[i][j].access_perc; top->zone_split[i][j].size_perc = o->zone_split[i][j].size_perc; } } top->rwmix[i] = cpu_to_le32(o->rwmix[i]); top->rate[i] = cpu_to_le64(o->rate[i]); top->ratemin[i] = cpu_to_le64(o->ratemin[i]); top->rate_iops[i] = cpu_to_le32(o->rate_iops[i]); top->rate_iops_min[i] = cpu_to_le32(o->rate_iops_min[i]); top->perc_rand[i] = cpu_to_le32(o->perc_rand[i]); top->max_latency[i] = __cpu_to_le64(o->max_latency[i]); } memcpy(top->patterns, o->verify_pattern, o->verify_pattern_bytes); memcpy(&top->patterns[o->verify_pattern_bytes], o->buffer_pattern, o->buffer_pattern_bytes); top->size = __cpu_to_le64(o->size); top->io_size = __cpu_to_le64(o->io_size); top->num_range = __cpu_to_le32(o->num_range); top->verify_backlog = __cpu_to_le64(o->verify_backlog); top->start_delay = __cpu_to_le64(o->start_delay); top->start_delay_high = __cpu_to_le64(o->start_delay_high); top->timeout = __cpu_to_le64(o->timeout); top->ramp_time = __cpu_to_le64(o->ramp_time); top->ss_dur = __cpu_to_le64(top->ss_dur); top->ss_ramp_time = __cpu_to_le64(top->ss_ramp_time); top->ss_state = cpu_to_le32(top->ss_state); top->ss_limit.u.i = __cpu_to_le64(fio_double_to_uint64(o->ss_limit.u.f)); top->ss_check_interval = __cpu_to_le64(top->ss_check_interval); top->zone_range = __cpu_to_le64(o->zone_range); top->zone_size = __cpu_to_le64(o->zone_size); top->zone_capacity = __cpu_to_le64(o->zone_capacity); top->zone_skip = __cpu_to_le64(o->zone_skip); top->zone_mode = __cpu_to_le32(o->zone_mode); top->max_open_zones = __cpu_to_le32(o->max_open_zones); top->ignore_zone_limits = cpu_to_le32(o->ignore_zone_limits); top->lockmem = __cpu_to_le64(o->lockmem); top->ddir_seq_add = __cpu_to_le64(o->ddir_seq_add); top->file_size_low = __cpu_to_le64(o->file_size_low); top->file_size_high = __cpu_to_le64(o->file_size_high); top->start_offset = __cpu_to_le64(o->start_offset); top->start_offset_align = __cpu_to_le64(o->start_offset_align); top->start_offset_percent = __cpu_to_le32(o->start_offset_percent); top->trim_backlog = __cpu_to_le64(o->trim_backlog); top->offset_increment_percent = __cpu_to_le32(o->offset_increment_percent); top->offset_increment = __cpu_to_le64(o->offset_increment); top->number_ios = __cpu_to_le64(o->number_ios); top->rate_process = cpu_to_le32(o->rate_process); top->rate_ign_think = cpu_to_le32(o->rate_ign_think); for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) top->percentile_list[i].u.i = __cpu_to_le64(fio_double_to_uint64(o->percentile_list[i].u.f)); for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) top->merge_blktrace_scalars[i].u.i = __cpu_to_le64(fio_double_to_uint64(o->merge_blktrace_scalars[i].u.f)); for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) top->merge_blktrace_iters[i].u.i = __cpu_to_le64(fio_double_to_uint64(o->merge_blktrace_iters[i].u.f)); top->fdp = cpu_to_le32(o->fdp); top->dp_type = cpu_to_le32(o->dp_type); top->dp_id_select = cpu_to_le32(o->dp_id_select); top->dp_nr_ids = cpu_to_le32(o->dp_nr_ids); for (i = 0; i < o->dp_nr_ids; i++) top->dp_ids[i] = cpu_to_le16(o->dp_ids[i]); #if 0 uint8_t cpumask[FIO_TOP_STR_MAX]; uint8_t verify_cpumask[FIO_TOP_STR_MAX]; uint8_t log_gz_cpumask[FIO_TOP_STR_MAX]; #endif } /* * Basic conversion test. We'd really need to fill in more of the options * to have a thorough test. Even better, we should auto-generate the * converter functions... */ int fio_test_cconv(struct thread_options *__o) { struct thread_options o1 = *__o, o2; struct thread_options_pack *top1, *top2; size_t top_sz; int ret; o1.verify_pattern_bytes = 61; o1.verify_pattern = malloc(o1.verify_pattern_bytes); memset(o1.verify_pattern, 'V', o1.verify_pattern_bytes); o1.buffer_pattern_bytes = 15; o1.buffer_pattern = malloc(o1.buffer_pattern_bytes); memset(o1.buffer_pattern, 'B', o1.buffer_pattern_bytes); top_sz = thread_options_pack_size(&o1); top1 = calloc(1, top_sz); top2 = calloc(1, top_sz); convert_thread_options_to_net(top1, &o1); memset(&o2, 0, sizeof(o2)); ret = convert_thread_options_to_cpu(&o2, top1, top_sz); if (ret) goto out; convert_thread_options_to_net(top2, &o2); ret = memcmp(top1, top2, top_sz); out: free_thread_options_to_cpu(&o2); free(top2); free(top1); free(o1.buffer_pattern); free(o1.verify_pattern); return ret; } fio-3.39/cgroup.c000066400000000000000000000106371476262051600137100ustar00rootroot00000000000000/* * Code related to setting up a blkio cgroup */ #include #include #include #include #include "fio.h" #include "flist.h" #include "cgroup.h" #include "smalloc.h" static struct fio_sem *lock; struct cgroup_member { struct flist_head list; char *root; unsigned int cgroup_nodelete; }; static struct cgroup_mnt *find_cgroup_mnt(struct thread_data *td) { struct cgroup_mnt *cgroup_mnt = NULL; struct mntent *mnt, dummy; char buf[256] = {0}; FILE *f; bool cgroup2 = false; f = setmntent("/proc/mounts", "r"); if (!f) { td_verror(td, errno, "setmntent /proc/mounts"); return NULL; } while ((mnt = getmntent_r(f, &dummy, buf, sizeof(buf))) != NULL) { if (!strcmp(mnt->mnt_type, "cgroup") && strstr(mnt->mnt_opts, "blkio")) break; if (!strcmp(mnt->mnt_type, "cgroup2")) { cgroup2 = true; break; } } if (mnt) { cgroup_mnt = smalloc(sizeof(*cgroup_mnt)); if (cgroup_mnt) { cgroup_mnt->path = smalloc_strdup(mnt->mnt_dir); if (!cgroup_mnt->path) { sfree(cgroup_mnt); log_err("fio: could not allocate memory\n"); } else { cgroup_mnt->cgroup2 = cgroup2; } } } else { log_err("fio: cgroup blkio does not appear to be mounted\n"); } endmntent(f); return cgroup_mnt; } static void add_cgroup(struct thread_data *td, const char *name, struct flist_head *clist) { struct cgroup_member *cm; if (!lock) return; cm = smalloc(sizeof(*cm)); if (!cm) { err: log_err("fio: failed to allocate cgroup member\n"); return; } INIT_FLIST_HEAD(&cm->list); cm->root = smalloc_strdup(name); if (!cm->root) { sfree(cm); goto err; } if (td->o.cgroup_nodelete) cm->cgroup_nodelete = 1; fio_sem_down(lock); flist_add_tail(&cm->list, clist); fio_sem_up(lock); } void cgroup_kill(struct flist_head *clist) { struct flist_head *n, *tmp; struct cgroup_member *cm; if (!lock) return; fio_sem_down(lock); flist_for_each_safe(n, tmp, clist) { cm = flist_entry(n, struct cgroup_member, list); if (!cm->cgroup_nodelete) rmdir(cm->root); flist_del(&cm->list); sfree(cm->root); sfree(cm); } fio_sem_up(lock); } static char *get_cgroup_root(struct thread_data *td, struct cgroup_mnt *mnt) { char *str = malloc(64); if (td->o.cgroup) sprintf(str, "%s/%s", mnt->path, td->o.cgroup); else sprintf(str, "%s/%s", mnt->path, td->o.name); return str; } static int write_int_to_file(struct thread_data *td, const char *path, const char *filename, unsigned int val, const char *onerr) { char tmp[256]; FILE *f; sprintf(tmp, "%s/%s", path, filename); f = fopen(tmp, "w"); if (!f) { td_verror(td, errno, onerr); return 1; } fprintf(f, "%u", val); fclose(f); return 0; } static int cgroup_write_pid(struct thread_data *td, char *path, bool cgroup2) { unsigned int val = td->pid; if (cgroup2) return write_int_to_file(td, path, "cgroup.procs", val, "cgroup write pid"); return write_int_to_file(td, path, "tasks", val, "cgroup write pid"); } /* * Move pid to root class */ static int cgroup_del_pid(struct thread_data *td, struct cgroup_mnt *mnt) { return cgroup_write_pid(td, mnt->path, mnt->cgroup2); } int cgroup_setup(struct thread_data *td, struct flist_head *clist, struct cgroup_mnt **mnt) { char *root; if (!clist) return 1; if (!*mnt) { *mnt = find_cgroup_mnt(td); if (!*mnt) return 1; } /* * Create container, if it doesn't exist */ root = get_cgroup_root(td, *mnt); if (mkdir(root, 0755) < 0) { int __e = errno; if (__e != EEXIST) { td_verror(td, __e, "cgroup mkdir"); log_err("fio: path %s\n", root); goto err; } } else add_cgroup(td, root, clist); if (td->o.cgroup_weight) { if ((*mnt)->cgroup2) { log_err("fio: cgroup weit doesn't work with cgroup2\n"); goto err; } if (write_int_to_file(td, root, "blkio.weight", td->o.cgroup_weight, "cgroup open weight")) goto err; } if (!cgroup_write_pid(td, root, (*mnt)->cgroup2)) { free(root); return 0; } err: free(root); return 1; } void cgroup_shutdown(struct thread_data *td, struct cgroup_mnt *mnt) { if (mnt == NULL) return; if (!td->o.cgroup_weight && !td->o.cgroup) goto out; cgroup_del_pid(td, mnt); out: if (mnt->path) sfree(mnt->path); sfree(mnt); } static void fio_init cgroup_init(void) { lock = fio_sem_init(FIO_SEM_UNLOCKED); if (!lock) log_err("fio: failed to allocate cgroup lock\n"); } static void fio_exit cgroup_exit(void) { fio_sem_remove(lock); } fio-3.39/cgroup.h000066400000000000000000000012421476262051600137050ustar00rootroot00000000000000#ifndef FIO_CGROUP_H #define FIO_CGROUP_H #ifdef FIO_HAVE_CGROUPS struct cgroup_mnt { char *path; bool cgroup2; }; int cgroup_setup(struct thread_data *, struct flist_head *, struct cgroup_mnt **); void cgroup_shutdown(struct thread_data *, struct cgroup_mnt *); void cgroup_kill(struct flist_head *list); #else struct cgroup_mnt; static inline int cgroup_setup(struct thread_data *td, struct flist_head *list, struct cgroup_mnt **mnt) { td_verror(td, EINVAL, "cgroup_setup"); return 1; } static inline void cgroup_shutdown(struct thread_data *td, struct cgroup_mnt *mnt) { } static inline void cgroup_kill(struct flist_head *list) { } #endif #endif fio-3.39/ci/000077500000000000000000000000001476262051600126315ustar00rootroot00000000000000fio-3.39/ci/actions-build.sh000077500000000000000000000044441476262051600157330ustar00rootroot00000000000000#!/usr/bin/env bash # This script expects to be invoked from the base fio directory. set -eu SCRIPT_DIR=$(dirname "$0") # shellcheck disable=SC1091 . "${SCRIPT_DIR}/common.sh" main() { local extra_cflags="-Werror" local configure_flags=() set_ci_target_os case "${CI_TARGET_BUILD}/${CI_TARGET_OS}" in android*/*) export UNAME=Android if [ -z "${CI_TARGET_ARCH}" ]; then echo "Error: CI_TARGET_ARCH has not been set" return 1 fi NDK=$PWD/android-ndk-r24/toolchains/llvm/prebuilt/linux-x86_64/bin export PATH="${NDK}:${PATH}" if [ "${CI_TARGET_BUILD}" = "android" ]; then export LIBS="-landroid" fi CC=${NDK}/${CI_TARGET_ARCH}-clang if [ ! -e "${CC}" ]; then echo "Error: could not find ${CC}" return 1 fi ;; */linux | */ubuntu) case "${CI_TARGET_ARCH}" in "x86_64") configure_flags+=( "--enable-cuda" ) ;; esac ;;& */linux | */ubuntu | */debian | */fedora | */alma | */oracle | */rocky) case "${CI_TARGET_ARCH}" in "i686") extra_cflags="${extra_cflags} -m32" export LDFLAGS="-m32" ;; "x86_64") configure_flags+=( "--enable-libiscsi" "--enable-libnbd" ) ;; esac ;; */windows) configure_flags+=("--disable-native") case "${CI_TARGET_ARCH}" in "i686") configure_flags+=("--build-32bit-win") ;; "x86_64") ;; esac if [ "${CI_TARGET_BUILD}" = "windows-msys2-64" ]; then configure_flags+=("--disable-tls") fi ;; esac configure_flags+=(--extra-cflags="${extra_cflags}") ./configure "${configure_flags[@]}" make -j "$(nproc 2>/dev/null || sysctl -n hw.logicalcpu)" # macOS does not have nproc, so we have to use sysctl to obtain the number of # logical CPUs. } main fio-3.39/ci/actions-full-test.sh000077500000000000000000000021031476262051600165410ustar00rootroot00000000000000#!/bin/bash # This script expects to be invoked from the base fio directory. set -eu main() { case "${CI_TARGET_BUILD}" in android*) return 0;; esac echo "Running long running tests..." export PYTHONUNBUFFERED="TRUE" skip=( 6 1007 1008 ) args=( --debug ) if [ "${GITHUB_JOB}" == "build-containers" ]; then # io_uring is disabled in containers # so skip the io_uring test skip+=( 18 ) # cmd priority does not work in containers # so skip the related latency test cases args+=( -p "1010:--skip 15 16 17 18 19 20 21 22" ) fi # If we are running a nightly test just run the verify tests. # Otherwise skip the verify test script because it takes so long. if [ "${GITHUB_EVENT_NAME}" == "schedule" ]; then args+=( --run-only 1017 ) else skip+=( 1017 ) fi echo python3 t/run-fio-tests.py --skip "${skip[@]}" "${args[@]}" python3 t/run-fio-tests.py --skip "${skip[@]}" "${args[@]}" make -C doc html } main fio-3.39/ci/actions-install.sh000077500000000000000000000116051476262051600162770ustar00rootroot00000000000000#!/usr/bin/env bash # This script expects to be invoked from the base fio directory. set -eu SCRIPT_DIR=$(dirname "$0") # shellcheck disable=SC1091 . "${SCRIPT_DIR}/common.sh" _sudo() { if type -P sudo >/dev/null; then sudo "$@" else "$@" fi } install_ubuntu() { local pkgs cat < /dev/null # Skip fsync force-unsafe-io # Don't install documentation path-exclude=/usr/share/man/* path-exclude=/usr/share/locale/*/LC_MESSAGES/*.mo path-exclude=/usr/share/doc/* DPKGCFG # Packages available on i686 and x86_64 pkgs=( libaio-dev libcunit1-dev libcurl4-openssl-dev libfl-dev libnuma-dev libnfs-dev valgrind ) case "${CI_TARGET_ARCH}" in "i686") _sudo dpkg --add-architecture i386 pkgs=("${pkgs[@]/%/:i386}") pkgs+=( gcc-multilib pkg-config:i386 zlib1g-dev:i386 libc6:i386 libgcc-s1:i386 ) ;; "x86_64") pkgs+=( libglusterfs-dev libgoogle-perftools-dev libisal-dev libiscsi-dev libnbd-dev libpmem-dev librbd-dev libtcmalloc-minimal4 libibverbs-dev librdmacm-dev pkg-config ) if apt list --installed | grep -c "libunwind-14-dev"; then echo "Removing libunwind-14-dev because of conflicts with libunwind-dev" _sudo apt remove -y libunwind-14-dev fi if [ "${CI_TARGET_OS}" == "linux" ] || [ "${CI_TARGET_OS}" == "ubuntu" ]; then # Only for Ubuntu pkgs+=( nvidia-cuda-dev ) fi ;; esac # Architecture-independent packages and packages for which we don't # care about the architecture. pkgs+=( python3-scipy python3-sphinx python3-statsmodels sudo ${EXTRA_PKGS:-} ) if [ "${GITHUB_JOB}" == "build-containers" ] || [ "${GITHUB_JOB}" == "qemu-guest" ]; then pkgs+=( bison build-essential flex procps zlib1g-dev ) fi echo "Updating APT..." _sudo apt-get -qq update echo "Installing packages... ${pkgs[@]}" _sudo apt-get install -o APT::Immediate-Configure=false --no-install-recommends -qq -y "${pkgs[@]}" } # Fedora and related distributions install_fedora() { pkgs=( bison-devel git flex-devel gperftools isa-l-devel kernel-devel libaio-devel libibverbs-devel libiscsi-devel libnbd-devel libnfs-devel libpmem-devel libpmem2-devel librbd-devel numactl-devel protobuf-c-devel python3-scipy python3-sphinx sudo valgrind-devel ${EXTRA_PKGS:-} ) case "${CI_TARGET_OS}" in "fedora") pkgs+=( cunit-devel libgfapi-devel python3-statsmodels ) ;; "rocky" | "alma" | "oracle") pkgs+=( CUnit-devel python-pip ) ;;& "rocky" | "alma") pkgs+=( glusterfs-api-devel ) ;; esac dnf install -y "${pkgs[@]}" } install_rhel_clone() { dnf install -y epel-release install_fedora # I could not find a python3-statsmodels package in the repos pip3 install statsmodels } install_oracle() { dnf config-manager --set-enabled ol9_codeready_builder install_rhel_clone } install_alma() { dnf install -y 'dnf-command(config-manager)' dnf config-manager --set-enabled crb dnf install -y almalinux-release-devel install_rhel_clone } install_rocky() { dnf install -y 'dnf-command(config-manager)' dnf config-manager --set-enabled crb dnf config-manager --set-enabled devel install_rhel_clone } install_debian() { install_ubuntu } install_linux() { install_ubuntu } install_macos() { # Assumes homebrew and python3 are already installed #echo "Updating homebrew..." #brew update >/dev/null 2>&1 echo "Installing packages..." HOMEBREW_NO_AUTO_UPDATE=1 brew install cunit libnfs pip3 install scipy six statsmodels sphinx } install_windows() { pip3 install scipy six statsmodels sphinx } main() { case "${CI_TARGET_BUILD}" in android*) echo "Installing Android NDK..." wget --quiet https://dl.google.com/android/repository/android-ndk-r24-linux.zip unzip -q android-ndk-r24-linux.zip return 0 ;; esac set_ci_target_os install_function="install_${CI_TARGET_OS}" ${install_function} echo "Python3 path: $(type -p python3 2>&1)" echo "Python3 version: $(python3 -V 2>&1)" } main fio-3.39/ci/actions-smoke-test.sh000077500000000000000000000003351476262051600167220ustar00rootroot00000000000000#!/bin/bash # This script expects to be invoked from the base fio directory. set -eu main() { case "${CI_TARGET_BUILD}" in android*) return 0;; esac echo "Running smoke tests..." make test } main fio-3.39/ci/common.sh000066400000000000000000000015621476262051600144610ustar00rootroot00000000000000# shellcheck shell=bash function set_ci_target_os { # Function that exports CI_TARGET_OS to the current OS if it is not already # set. # Don't override CI_TARGET_OS if already set CI_TARGET_OS=${CI_TARGET_OS:-} if [[ -z ${CI_TARGET_OS} ]]; then # Detect operating system case "${OSTYPE}" in linux*) CI_TARGET_OS="linux" ;; darwin*) CI_TARGET_OS="macos" ;; cygwin|msys*) CI_TARGET_OS="windows" ;; bsd*) CI_TARGET_OS="bsd" ;; *) CI_TARGET_OS="" esac fi # Don't override CI_TARGET_ARCH if already set CI_TARGET_ARCH=${CI_TARGET_ARCH:-} if [[ -z ${CI_TARGET_ARCH} ]]; then CI_TARGET_ARCH="$(uname -m)" fi } fio-3.39/client.c000066400000000000000000001533261476262051600136720ustar00rootroot00000000000000#include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef CONFIG_ZLIB #include #endif #include "fio.h" #include "client.h" #include "server.h" #include "flist.h" #include "hash.h" #include "verify-state.h" static void handle_du(struct fio_client *client, struct fio_net_cmd *cmd); static void handle_ts(struct fio_client *client, struct fio_net_cmd *cmd); static void handle_gs(struct fio_client *client, struct fio_net_cmd *cmd); static void handle_probe(struct fio_client *client, struct fio_net_cmd *cmd); static void handle_text(struct fio_client *client, struct fio_net_cmd *cmd); static void handle_stop(struct fio_client *client); static void handle_start(struct fio_client *client, struct fio_net_cmd *cmd); static void convert_text(struct fio_net_cmd *cmd); static void client_display_thread_status(struct jobs_eta *je); struct client_ops const fio_client_ops = { .text = handle_text, .disk_util = handle_du, .thread_status = handle_ts, .group_stats = handle_gs, .stop = handle_stop, .start = handle_start, .eta = client_display_thread_status, .probe = handle_probe, .eta_msec = FIO_CLIENT_DEF_ETA_MSEC, .client_type = FIO_CLIENT_TYPE_CLI, }; static struct timespec eta_ts; static FLIST_HEAD(client_list); static FLIST_HEAD(eta_list); static FLIST_HEAD(arg_list); struct thread_stat client_ts; struct group_run_stats client_gs; int sum_stat_clients; static int sum_stat_nr; static struct buf_output allclients; static struct json_object *root = NULL; static struct json_object *global_opt_object = NULL; static struct json_array *global_opt_array = NULL; static struct json_array *clients_array = NULL; static struct json_array *du_array = NULL; static int error_clients; #define FIO_CLIENT_HASH_BITS 7 #define FIO_CLIENT_HASH_SZ (1 << FIO_CLIENT_HASH_BITS) #define FIO_CLIENT_HASH_MASK (FIO_CLIENT_HASH_SZ - 1) static struct flist_head client_hash[FIO_CLIENT_HASH_SZ]; static struct cmd_iolog_pdu *convert_iolog(struct fio_net_cmd *, bool *); static void fio_client_add_hash(struct fio_client *client) { int bucket = hash_long(client->fd, FIO_CLIENT_HASH_BITS); bucket &= FIO_CLIENT_HASH_MASK; flist_add(&client->hash_list, &client_hash[bucket]); } static void fio_client_remove_hash(struct fio_client *client) { if (!flist_empty(&client->hash_list)) flist_del_init(&client->hash_list); } static void fio_init fio_client_hash_init(void) { int i; for (i = 0; i < FIO_CLIENT_HASH_SZ; i++) INIT_FLIST_HEAD(&client_hash[i]); } static int read_data(int fd, void *data, size_t size) { ssize_t ret; while (size) { ret = read(fd, data, size); if (ret < 0) { if (errno == EAGAIN || errno == EINTR) continue; break; } else if (!ret) break; else { data += ret; size -= ret; } } if (size) return EAGAIN; return 0; } static int read_ini_data(int fd, void *data, size_t size) { char *p = data; int ret = 0; FILE *fp; int dupfd; dupfd = dup(fd); if (dupfd < 0) return errno; fp = fdopen(dupfd, "r"); if (!fp) { ret = errno; close(dupfd); goto out; } while (1) { ssize_t len; char buf[OPT_LEN_MAX+1], *sub; if (!fgets(buf, sizeof(buf), fp)) { if (ferror(fp)) { if (errno == EAGAIN || errno == EINTR) continue; ret = errno; } break; } sub = fio_option_dup_subs(buf); len = strlen(sub); if (len + 1 > size) { log_err("fio: no space left to read data\n"); free(sub); ret = ENOSPC; break; } memcpy(p, sub, len); free(sub); p += len; *p = '\0'; size -= len; } fclose(fp); out: return ret; } static void fio_client_json_init(void) { char time_buf[32]; time_t time_p; if (!(output_format & FIO_OUTPUT_JSON)) return; time(&time_p); os_ctime_r((const time_t *) &time_p, time_buf, sizeof(time_buf)); time_buf[strlen(time_buf) - 1] = '\0'; root = json_create_object(); json_object_add_value_string(root, "fio version", fio_version_string); json_object_add_value_int(root, "timestamp", time_p); json_object_add_value_string(root, "time", time_buf); if (nr_clients == 1) { global_opt_object = json_create_object(); json_object_add_value_object(root, "global options", global_opt_object); } else { global_opt_array = json_create_array(); json_object_add_value_array(root, "global options", global_opt_array); } clients_array = json_create_array(); json_object_add_value_array(root, "client_stats", clients_array); du_array = json_create_array(); json_object_add_value_array(root, "disk_util", du_array); } static void fio_client_json_fini(void) { struct buf_output out; if (!root) return; buf_output_init(&out); __log_buf(&out, "\n"); json_print_object(root, &out); __log_buf(&out, "\n"); log_info_buf(out.buf, out.buflen); buf_output_free(&out); json_free_object(root); root = NULL; global_opt_object = NULL; global_opt_array = NULL; clients_array = NULL; du_array = NULL; } static struct fio_client *find_client_by_fd(int fd) { int bucket = hash_long(fd, FIO_CLIENT_HASH_BITS) & FIO_CLIENT_HASH_MASK; struct fio_client *client; struct flist_head *entry; flist_for_each(entry, &client_hash[bucket]) { client = flist_entry(entry, struct fio_client, hash_list); if (client->fd == fd) { client->refs++; return client; } } return NULL; } void fio_put_client(struct fio_client *client) { if (--client->refs) return; log_info_buf(client->buf.buf, client->buf.buflen); buf_output_free(&client->buf); free(client->hostname); if (client->argv) free(client->argv); if (client->name) free(client->name); while (client->nr_files) { struct client_file *cf = &client->files[--client->nr_files]; free(cf->file); } if (client->files) free(client->files); if (client->opt_lists) free(client->opt_lists); if (!client->did_stat) sum_stat_clients--; if (client->error) error_clients++; free(client); } static int fio_client_dec_jobs_eta(struct client_eta *eta, client_eta_op eta_fn) { if (!--eta->pending) { eta_fn(&eta->eta); free(eta); return 0; } return 1; } static void fio_drain_client_text(struct fio_client *client) { do { struct fio_net_cmd *cmd = NULL; if (fio_server_poll_fd(client->fd, POLLIN, 0)) cmd = fio_net_recv_cmd(client->fd, false); if (!cmd) break; if (cmd->opcode == FIO_NET_CMD_TEXT) { convert_text(cmd); client->ops->text(client, cmd); } free(cmd); } while (1); } static void remove_client(struct fio_client *client) { assert(client->refs); dprint(FD_NET, "client: removed <%s>\n", client->hostname); fio_drain_client_text(client); if (!flist_empty(&client->list)) flist_del_init(&client->list); fio_client_remove_hash(client); if (!flist_empty(&client->eta_list)) { flist_del_init(&client->eta_list); fio_client_dec_jobs_eta(client->eta_in_flight, client->ops->eta); } close(client->fd); client->fd = -1; if (client->ops->removed) client->ops->removed(client); nr_clients--; fio_put_client(client); } struct fio_client *fio_get_client(struct fio_client *client) { client->refs++; return client; } static void __fio_client_add_cmd_option(struct fio_client *client, const char *opt) { int index; index = client->argc++; client->argv = realloc(client->argv, sizeof(char *) * client->argc); client->argv[index] = strdup(opt); dprint(FD_NET, "client: add cmd %d: %s\n", index, opt); } void fio_client_add_cmd_option(void *cookie, const char *opt) { struct fio_client *client = cookie; struct flist_head *entry; if (!client || !opt) return; __fio_client_add_cmd_option(client, opt); /* * Duplicate arguments to shared client group */ flist_for_each(entry, &arg_list) { client = flist_entry(entry, struct fio_client, arg_list); __fio_client_add_cmd_option(client, opt); } } static struct fio_client *get_new_client(void) { struct fio_client *client; client = calloc(1, sizeof(*client)); INIT_FLIST_HEAD(&client->list); INIT_FLIST_HEAD(&client->hash_list); INIT_FLIST_HEAD(&client->arg_list); INIT_FLIST_HEAD(&client->eta_list); INIT_FLIST_HEAD(&client->cmd_list); buf_output_init(&client->buf); return client; } struct fio_client *fio_client_add_explicit(struct client_ops *ops, const char *hostname, int type, int port) { struct fio_client *client; client = get_new_client(); if (type == Fio_client_socket) client->is_sock = true; else { int ipv6; ipv6 = type == Fio_client_ipv6; if (fio_server_parse_host(hostname, ipv6, &client->addr.sin_addr, &client->addr6.sin6_addr)) goto err; client->port = port; } client->fd = -1; client->ops = ops; client->refs = 1; client->type = ops->client_type; client->hostname = strdup(hostname); __fio_client_add_cmd_option(client, "fio"); flist_add(&client->list, &client_list); nr_clients++; dprint(FD_NET, "client: added <%s>\n", client->hostname); return client; err: free(client); return NULL; } int fio_client_add_ini_file(void *cookie, const char *ini_file, bool remote) { struct fio_client *client = cookie; struct client_file *cf; size_t new_size; void *new_files; if (!client) return 1; dprint(FD_NET, "client <%s>: add ini %s\n", client->hostname, ini_file); new_size = (client->nr_files + 1) * sizeof(struct client_file); new_files = realloc(client->files, new_size); if (!new_files) return 1; client->files = new_files; cf = &client->files[client->nr_files]; cf->file = strdup(ini_file); cf->remote = remote; client->nr_files++; return 0; } int fio_client_add(struct client_ops const *ops, const char *hostname, void **cookie) { struct fio_client *existing = *cookie; struct fio_client *client; if (existing) { /* * We always add our "exec" name as the option, hence 1 * means empty. */ if (existing->argc == 1) flist_add_tail(&existing->arg_list, &arg_list); else { while (!flist_empty(&arg_list)) flist_del_init(arg_list.next); } } client = get_new_client(); if (fio_server_parse_string(hostname, &client->hostname, &client->is_sock, &client->port, &client->addr.sin_addr, &client->addr6.sin6_addr, &client->ipv6)) { fio_put_client(client); return -1; } client->fd = -1; client->ops = ops; client->refs = 1; client->type = ops->client_type; __fio_client_add_cmd_option(client, "fio"); flist_add(&client->list, &client_list); nr_clients++; dprint(FD_NET, "client: added <%s>\n", client->hostname); *cookie = client; return 0; } static const char *server_name(struct fio_client *client, char *buf, size_t bufsize) { const char *from; if (client->ipv6) from = inet_ntop(AF_INET6, (struct sockaddr *) &client->addr6.sin6_addr, buf, bufsize); else if (client->is_sock) from = "sock"; else from = inet_ntop(AF_INET, (struct sockaddr *) &client->addr.sin_addr, buf, bufsize); return from; } static void probe_client(struct fio_client *client) { struct cmd_client_probe_pdu pdu; const char *sname; uint64_t tag; char buf[64]; dprint(FD_NET, "client: send probe\n"); #ifdef CONFIG_ZLIB pdu.flags = __le64_to_cpu(FIO_PROBE_FLAG_ZLIB); #else pdu.flags = 0; #endif sname = server_name(client, buf, sizeof(buf)); memset(pdu.server, 0, sizeof(pdu.server)); snprintf((char *) pdu.server, sizeof(pdu.server), "%s", sname); fio_net_send_cmd(client->fd, FIO_NET_CMD_PROBE, &pdu, sizeof(pdu), &tag, &client->cmd_list); } static int fio_client_connect_ip(struct fio_client *client) { struct sockaddr *addr; socklen_t socklen; int fd, domain; if (client->ipv6) { client->addr6.sin6_family = AF_INET6; client->addr6.sin6_port = htons(client->port); domain = AF_INET6; addr = (struct sockaddr *) &client->addr6; socklen = sizeof(client->addr6); } else { client->addr.sin_family = AF_INET; client->addr.sin_port = htons(client->port); domain = AF_INET; addr = (struct sockaddr *) &client->addr; socklen = sizeof(client->addr); } fd = socket(domain, SOCK_STREAM, 0); if (fd < 0) { int ret = -errno; log_err("fio: socket: %s\n", strerror(errno)); return ret; } if (connect(fd, addr, socklen) < 0) { int ret = -errno; log_err("fio: connect: %s\n", strerror(errno)); log_err("fio: failed to connect to %s:%u\n", client->hostname, client->port); close(fd); return ret; } return fd; } static int fio_client_connect_sock(struct fio_client *client) { struct sockaddr_un *addr = &client->addr_un; socklen_t len; int fd; memset(addr, 0, sizeof(*addr)); addr->sun_family = AF_UNIX; snprintf(addr->sun_path, sizeof(addr->sun_path), "%s", client->hostname); fd = socket(AF_UNIX, SOCK_STREAM, 0); if (fd < 0) { int ret = -errno; log_err("fio: socket: %s\n", strerror(errno)); return ret; } len = sizeof(addr->sun_family) + strlen(addr->sun_path) + 1; if (connect(fd, (struct sockaddr *) addr, len) < 0) { int ret = -errno; log_err("fio: connect; %s\n", strerror(errno)); close(fd); return ret; } return fd; } int fio_client_connect(struct fio_client *client) { int fd; dprint(FD_NET, "client: connect to host %s\n", client->hostname); if (client->is_sock) fd = fio_client_connect_sock(client); else fd = fio_client_connect_ip(client); dprint(FD_NET, "client: %s connected %d\n", client->hostname, fd); if (fd < 0) return fd; client->fd = fd; fio_client_add_hash(client); client->state = Client_connected; probe_client(client); return 0; } int fio_client_terminate(struct fio_client *client) { return fio_net_send_quit(client->fd); } static void fio_clients_terminate(void) { struct flist_head *entry; struct fio_client *client; dprint(FD_NET, "client: terminate clients\n"); flist_for_each(entry, &client_list) { client = flist_entry(entry, struct fio_client, list); fio_client_terminate(client); } } static void sig_int(int sig) { dprint(FD_NET, "client: got signal %d\n", sig); fio_clients_terminate(); } static void client_signal_handler(void) { struct sigaction act; memset(&act, 0, sizeof(act)); act.sa_handler = sig_int; act.sa_flags = SA_RESTART; sigaction(SIGINT, &act, NULL); memset(&act, 0, sizeof(act)); act.sa_handler = sig_int; act.sa_flags = SA_RESTART; sigaction(SIGTERM, &act, NULL); /* Windows uses SIGBREAK as a quit signal from other applications */ #ifdef WIN32 memset(&act, 0, sizeof(act)); act.sa_handler = sig_int; act.sa_flags = SA_RESTART; sigaction(SIGBREAK, &act, NULL); #endif memset(&act, 0, sizeof(act)); act.sa_handler = sig_show_status; act.sa_flags = SA_RESTART; sigaction(SIGUSR1, &act, NULL); } static int send_client_cmd_line(struct fio_client *client) { struct cmd_single_line_pdu *cslp; struct cmd_line_pdu *clp; unsigned long offset; unsigned int *lens; void *pdu; size_t mem; int i, ret; dprint(FD_NET, "client: send cmdline %d\n", client->argc); lens = malloc(client->argc * sizeof(unsigned int)); /* * Find out how much mem we need */ for (i = 0, mem = 0; i < client->argc; i++) { lens[i] = strlen(client->argv[i]) + 1; mem += lens[i]; } /* * We need one cmd_line_pdu, and argc number of cmd_single_line_pdu */ mem += sizeof(*clp) + (client->argc * sizeof(*cslp)); pdu = malloc(mem); clp = pdu; offset = sizeof(*clp); for (i = 0; i < client->argc; i++) { uint16_t arg_len = lens[i]; cslp = pdu + offset; strcpy((char *) cslp->text, client->argv[i]); cslp->len = cpu_to_le16(arg_len); offset += sizeof(*cslp) + arg_len; } free(lens); clp->lines = cpu_to_le16(client->argc); clp->client_type = __cpu_to_le16(client->type); ret = fio_net_send_cmd(client->fd, FIO_NET_CMD_JOBLINE, pdu, mem, NULL, NULL); free(pdu); return ret; } int fio_clients_connect(void) { struct fio_client *client; struct flist_head *entry, *tmp; int ret; #ifdef WIN32 WSADATA wsd; WSAStartup(MAKEWORD(2, 2), &wsd); #endif dprint(FD_NET, "client: connect all\n"); client_signal_handler(); flist_for_each_safe(entry, tmp, &client_list) { client = flist_entry(entry, struct fio_client, list); ret = fio_client_connect(client); if (ret) { remove_client(client); continue; } if (client->argc > 1) send_client_cmd_line(client); } return !nr_clients; } int fio_start_client(struct fio_client *client) { dprint(FD_NET, "client: start %s\n", client->hostname); return fio_net_send_simple_cmd(client->fd, FIO_NET_CMD_RUN, 0, NULL); } int fio_start_all_clients(void) { struct fio_client *client; struct flist_head *entry, *tmp; int ret; dprint(FD_NET, "client: start all\n"); fio_client_json_init(); flist_for_each_safe(entry, tmp, &client_list) { client = flist_entry(entry, struct fio_client, list); ret = fio_start_client(client); if (ret) { remove_client(client); continue; } } return flist_empty(&client_list); } static int __fio_client_send_remote_ini(struct fio_client *client, const char *filename) { struct cmd_load_file_pdu *pdu; size_t p_size; int ret; dprint(FD_NET, "send remote ini %s to %s\n", filename, client->hostname); p_size = sizeof(*pdu) + strlen(filename) + 1; pdu = calloc(1, p_size); pdu->name_len = strlen(filename); strcpy((char *) pdu->file, filename); pdu->client_type = cpu_to_le16((uint16_t) client->type); client->sent_job = true; ret = fio_net_send_cmd(client->fd, FIO_NET_CMD_LOAD_FILE, pdu, p_size,NULL, NULL); free(pdu); return ret; } /* * Send file contents to server backend. We could use sendfile(), but to remain * more portable lets just read/write the darn thing. */ static int __fio_client_send_local_ini(struct fio_client *client, const char *filename) { struct cmd_job_pdu *pdu; size_t p_size; struct stat sb; char *p; void *buf; off_t len; int fd, ret; dprint(FD_NET, "send ini %s to %s\n", filename, client->hostname); fd = open(filename, O_RDONLY); if (fd < 0) { ret = -errno; log_err("fio: job file <%s> open: %s\n", filename, strerror(errno)); return ret; } if (fstat(fd, &sb) < 0) { ret = -errno; log_err("fio: job file stat: %s\n", strerror(errno)); close(fd); return ret; } /* * Add extra space for variable expansion, but doesn't guarantee. */ sb.st_size += OPT_LEN_MAX; p_size = sb.st_size + sizeof(*pdu); pdu = malloc(p_size); buf = pdu->buf; len = sb.st_size; p = buf; if (read_ini_data(fd, p, len)) { log_err("fio: failed reading job file %s\n", filename); close(fd); free(pdu); return 1; } pdu->buf_len = __cpu_to_le32(sb.st_size); pdu->client_type = cpu_to_le32(client->type); client->sent_job = true; ret = fio_net_send_cmd(client->fd, FIO_NET_CMD_JOB, pdu, p_size, NULL, NULL); free(pdu); close(fd); return ret; } int fio_client_send_ini(struct fio_client *client, const char *filename, bool remote) { int ret; if (!remote) ret = __fio_client_send_local_ini(client, filename); else ret = __fio_client_send_remote_ini(client, filename); if (!ret) client->sent_job = true; return ret; } static int fio_client_send_cf(struct fio_client *client, struct client_file *cf) { return fio_client_send_ini(client, cf->file, cf->remote); } int fio_clients_send_ini(const char *filename) { struct fio_client *client; struct flist_head *entry, *tmp; flist_for_each_safe(entry, tmp, &client_list) { bool failed = false; client = flist_entry(entry, struct fio_client, list); if (client->nr_files) { int i; for (i = 0; i < client->nr_files; i++) { struct client_file *cf; cf = &client->files[i]; if (fio_client_send_cf(client, cf)) { failed = true; remove_client(client); break; } } } if (client->sent_job || failed) continue; if (!filename || fio_client_send_ini(client, filename, 0)) remove_client(client); } return !nr_clients; } int fio_client_update_options(struct fio_client *client, struct thread_options *o, uint64_t *tag) { size_t cmd_sz = offsetof(struct cmd_add_job_pdu, top) + thread_options_pack_size(o); struct cmd_add_job_pdu *pdu; int ret; pdu = malloc(cmd_sz); pdu->thread_number = cpu_to_le32(client->thread_number); pdu->groupid = cpu_to_le32(client->groupid); convert_thread_options_to_net(&pdu->top, o); ret = fio_net_send_cmd(client->fd, FIO_NET_CMD_UPDATE_JOB, pdu, cmd_sz, tag, &client->cmd_list); free(pdu); return ret; } static void convert_io_stat(struct io_stat *dst, struct io_stat *src) { dst->max_val = le64_to_cpu(src->max_val); dst->min_val = le64_to_cpu(src->min_val); dst->samples = le64_to_cpu(src->samples); /* * Floats arrive as IEEE 754 encoded uint64_t, convert back to double */ dst->mean.u.f = fio_uint64_to_double(le64_to_cpu(dst->mean.u.i)); dst->S.u.f = fio_uint64_to_double(le64_to_cpu(dst->S.u.i)); } static void convert_ts(struct thread_stat *dst, struct thread_stat *src) { int i, j, k; dst->error = le32_to_cpu(src->error); dst->thread_number = le32_to_cpu(src->thread_number); dst->groupid = le32_to_cpu(src->groupid); dst->job_start = le64_to_cpu(src->job_start); dst->pid = le32_to_cpu(src->pid); dst->members = le32_to_cpu(src->members); dst->unified_rw_rep = le32_to_cpu(src->unified_rw_rep); dst->ioprio = le32_to_cpu(src->ioprio); dst->disable_prio_stat = le32_to_cpu(src->disable_prio_stat); for (i = 0; i < DDIR_RWDIR_CNT; i++) { convert_io_stat(&dst->clat_stat[i], &src->clat_stat[i]); convert_io_stat(&dst->slat_stat[i], &src->slat_stat[i]); convert_io_stat(&dst->lat_stat[i], &src->lat_stat[i]); convert_io_stat(&dst->bw_stat[i], &src->bw_stat[i]); convert_io_stat(&dst->iops_stat[i], &src->iops_stat[i]); } convert_io_stat(&dst->sync_stat, &src->sync_stat); dst->usr_time = le64_to_cpu(src->usr_time); dst->sys_time = le64_to_cpu(src->sys_time); dst->ctx = le64_to_cpu(src->ctx); dst->minf = le64_to_cpu(src->minf); dst->majf = le64_to_cpu(src->majf); dst->clat_percentiles = le32_to_cpu(src->clat_percentiles); dst->lat_percentiles = le32_to_cpu(src->lat_percentiles); dst->slat_percentiles = le32_to_cpu(src->slat_percentiles); dst->percentile_precision = le64_to_cpu(src->percentile_precision); for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) { fio_fp64_t *fps = &src->percentile_list[i]; fio_fp64_t *fpd = &dst->percentile_list[i]; fpd->u.f = fio_uint64_to_double(le64_to_cpu(fps->u.i)); } for (i = 0; i < FIO_IO_U_MAP_NR; i++) { dst->io_u_map[i] = le64_to_cpu(src->io_u_map[i]); dst->io_u_submit[i] = le64_to_cpu(src->io_u_submit[i]); dst->io_u_complete[i] = le64_to_cpu(src->io_u_complete[i]); } for (i = 0; i < FIO_IO_U_LAT_N_NR; i++) dst->io_u_lat_n[i] = le64_to_cpu(src->io_u_lat_n[i]); for (i = 0; i < FIO_IO_U_LAT_U_NR; i++) dst->io_u_lat_u[i] = le64_to_cpu(src->io_u_lat_u[i]); for (i = 0; i < FIO_IO_U_LAT_M_NR; i++) dst->io_u_lat_m[i] = le64_to_cpu(src->io_u_lat_m[i]); for (i = 0; i < FIO_LAT_CNT; i++) for (j = 0; j < DDIR_RWDIR_CNT; j++) for (k = 0; k < FIO_IO_U_PLAT_NR; k++) dst->io_u_plat[i][j][k] = le64_to_cpu(src->io_u_plat[i][j][k]); for (j = 0; j < FIO_IO_U_PLAT_NR; j++) dst->io_u_sync_plat[j] = le64_to_cpu(src->io_u_sync_plat[j]); for (i = 0; i < DDIR_RWDIR_SYNC_CNT; i++) dst->total_io_u[i] = le64_to_cpu(src->total_io_u[i]); for (i = 0; i < DDIR_RWDIR_CNT; i++) { dst->short_io_u[i] = le64_to_cpu(src->short_io_u[i]); dst->drop_io_u[i] = le64_to_cpu(src->drop_io_u[i]); } dst->total_submit = le64_to_cpu(src->total_submit); dst->total_complete = le64_to_cpu(src->total_complete); dst->nr_zone_resets = le64_to_cpu(src->nr_zone_resets); for (i = 0; i < DDIR_RWDIR_CNT; i++) { dst->io_bytes[i] = le64_to_cpu(src->io_bytes[i]); dst->runtime[i] = le64_to_cpu(src->runtime[i]); } dst->total_run_time = le64_to_cpu(src->total_run_time); dst->continue_on_error = le16_to_cpu(src->continue_on_error); dst->total_err_count = le64_to_cpu(src->total_err_count); dst->first_error = le32_to_cpu(src->first_error); dst->kb_base = le32_to_cpu(src->kb_base); dst->unit_base = le32_to_cpu(src->unit_base); dst->sig_figs = le32_to_cpu(src->sig_figs); dst->latency_depth = le32_to_cpu(src->latency_depth); dst->latency_target = le64_to_cpu(src->latency_target); dst->latency_window = le64_to_cpu(src->latency_window); dst->latency_percentile.u.f = fio_uint64_to_double(le64_to_cpu(src->latency_percentile.u.i)); dst->nr_block_infos = le64_to_cpu(src->nr_block_infos); for (i = 0; i < dst->nr_block_infos; i++) dst->block_infos[i] = le32_to_cpu(src->block_infos[i]); dst->ss_dur = le64_to_cpu(src->ss_dur); dst->ss_state = le32_to_cpu(src->ss_state); dst->ss_head = le32_to_cpu(src->ss_head); dst->ss_limit.u.f = fio_uint64_to_double(le64_to_cpu(src->ss_limit.u.i)); dst->ss_slope.u.f = fio_uint64_to_double(le64_to_cpu(src->ss_slope.u.i)); dst->ss_deviation.u.f = fio_uint64_to_double(le64_to_cpu(src->ss_deviation.u.i)); dst->ss_criterion.u.f = fio_uint64_to_double(le64_to_cpu(src->ss_criterion.u.i)); for (i = 0; i < DDIR_RWDIR_CNT; i++) { dst->nr_clat_prio[i] = le32_to_cpu(src->nr_clat_prio[i]); for (j = 0; j < dst->nr_clat_prio[i]; j++) { for (k = 0; k < FIO_IO_U_PLAT_NR; k++) dst->clat_prio[i][j].io_u_plat[k] = le64_to_cpu(src->clat_prio[i][j].io_u_plat[k]); convert_io_stat(&dst->clat_prio[i][j].clat_stat, &src->clat_prio[i][j].clat_stat); dst->clat_prio[i][j].ioprio = le32_to_cpu(dst->clat_prio[i][j].ioprio); } } if (dst->ss_state & FIO_SS_DATA) { for (i = 0; i < dst->ss_dur; i++ ) { dst->ss_iops_data[i] = le64_to_cpu(src->ss_iops_data[i]); dst->ss_bw_data[i] = le64_to_cpu(src->ss_bw_data[i]); } } dst->cachehit = le64_to_cpu(src->cachehit); dst->cachemiss = le64_to_cpu(src->cachemiss); } static void convert_gs(struct group_run_stats *dst, struct group_run_stats *src) { int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { dst->max_run[i] = le64_to_cpu(src->max_run[i]); dst->min_run[i] = le64_to_cpu(src->min_run[i]); dst->max_bw[i] = le64_to_cpu(src->max_bw[i]); dst->min_bw[i] = le64_to_cpu(src->min_bw[i]); dst->iobytes[i] = le64_to_cpu(src->iobytes[i]); dst->agg[i] = le64_to_cpu(src->agg[i]); } dst->kb_base = le32_to_cpu(src->kb_base); dst->unit_base = le32_to_cpu(src->unit_base); dst->sig_figs = le32_to_cpu(src->sig_figs); dst->groupid = le32_to_cpu(src->groupid); dst->unified_rw_rep = le32_to_cpu(src->unified_rw_rep); } static void json_object_add_client_info(struct json_object *obj, struct fio_client *client) { const char *hostname = client->hostname ? client->hostname : ""; json_object_add_value_string(obj, "hostname", hostname); json_object_add_value_int(obj, "port", client->port); } static void handle_ts(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_ts_pdu *p = (struct cmd_ts_pdu *) cmd->payload; struct flist_head *opt_list = NULL; struct json_object *tsobj; if (client->opt_lists && p->ts.thread_number <= client->jobs) opt_list = &client->opt_lists[p->ts.thread_number - 1]; tsobj = show_thread_status(&p->ts, &p->rs, opt_list, &client->buf); if (tsobj) { json_object_add_client_info(tsobj, client); json_array_add_value_object(clients_array, tsobj); if (!client->did_stat && client->global_opts) json_array_add_value_object(global_opt_array, client->global_opts); } client->did_stat = true; if (sum_stat_clients <= 1) return; sum_thread_stats(&client_ts, &p->ts); sum_group_stats(&client_gs, &p->rs); if (!client_ts.members) { /* Arbitrarily use the percentile toggles and percentile list * from the first thread_stat that comes our way */ client_ts.slat_percentiles = p->ts.slat_percentiles; client_ts.clat_percentiles = p->ts.clat_percentiles; client_ts.lat_percentiles = p->ts.lat_percentiles; for (int i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) client_ts.percentile_list[i] = p->ts.percentile_list[i]; } client_ts.members++; client_ts.thread_number = p->ts.thread_number; client_ts.groupid = p->ts.groupid; client_ts.unified_rw_rep = p->ts.unified_rw_rep; client_ts.sig_figs = p->ts.sig_figs; if (++sum_stat_nr == sum_stat_clients) { strcpy(client_ts.name, "All clients"); tsobj = show_thread_status(&client_ts, &client_gs, NULL, &allclients); if (tsobj) { json_object_add_client_info(tsobj, client); json_array_add_value_object(clients_array, tsobj); } } } static void handle_gs(struct fio_client *client, struct fio_net_cmd *cmd) { struct group_run_stats *gs = (struct group_run_stats *) cmd->payload; if (output_format & FIO_OUTPUT_NORMAL) show_group_stats(gs, &client->buf); } static void handle_job_opt(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_job_option *pdu = (struct cmd_job_option *) cmd->payload; pdu->global = le16_to_cpu(pdu->global); pdu->truncated = le16_to_cpu(pdu->truncated); pdu->groupid = le32_to_cpu(pdu->groupid); if (pdu->global) { struct json_object *global_opts; if (!global_opt_object && !global_opt_array) return; /* * If we have only one server connection, add it to the single * global option dictionary. When we have connections to * multiple servers, add the global option to the * server-specific dictionary. */ if (global_opt_object) { global_opts = global_opt_object; } else { if (!client->global_opts) { client->global_opts = json_create_object(); json_object_add_client_info(client->global_opts, client); } global_opts = client->global_opts; } json_object_add_value_string(global_opts, (const char *)pdu->name, (const char *)pdu->value); return; } else if (client->opt_lists) { struct flist_head *opt_list = &client->opt_lists[pdu->groupid]; struct print_option *p; p = malloc(sizeof(*p)); p->name = strdup((const char *)pdu->name); p->value = pdu->value[0] ? strdup((const char *)pdu->value) : NULL; flist_add_tail(&p->list, opt_list); } } static void handle_text(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_text_pdu *pdu = (struct cmd_text_pdu *) cmd->payload; const char *buf = (const char *) pdu->buf; const char *name; int fio_unused ret; struct buf_output out; buf_output_init(&out); name = client->name ? client->name : client->hostname; if (!client->skip_newline && !(output_format & FIO_OUTPUT_TERSE)) __log_buf(&out, "<%s> ", name); __log_buf(&out, "%s", buf); log_info_buf(out.buf, out.buflen); buf_output_free(&out); client->skip_newline = strchr(buf, '\n') == NULL; } static void convert_agg(struct disk_util_agg *agg) { int i; for (i = 0; i < 2; i++) { agg->ios[i] = le64_to_cpu(agg->ios[i]); agg->merges[i] = le64_to_cpu(agg->merges[i]); agg->sectors[i] = le64_to_cpu(agg->sectors[i]); agg->ticks[i] = le64_to_cpu(agg->ticks[i]); } agg->io_ticks = le64_to_cpu(agg->io_ticks); agg->time_in_queue = le64_to_cpu(agg->time_in_queue); agg->slavecount = le32_to_cpu(agg->slavecount); agg->max_util.u.f = fio_uint64_to_double(le64_to_cpu(agg->max_util.u.i)); } static void convert_dus(struct disk_util_stat *dus) { int i; for (i = 0; i < 2; i++) { dus->s.ios[i] = le64_to_cpu(dus->s.ios[i]); dus->s.merges[i] = le64_to_cpu(dus->s.merges[i]); dus->s.sectors[i] = le64_to_cpu(dus->s.sectors[i]); dus->s.ticks[i] = le64_to_cpu(dus->s.ticks[i]); } dus->s.io_ticks = le64_to_cpu(dus->s.io_ticks); dus->s.time_in_queue = le64_to_cpu(dus->s.time_in_queue); dus->s.msec = le64_to_cpu(dus->s.msec); } static void handle_du(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_du_pdu *du = (struct cmd_du_pdu *) cmd->payload; if (!client->disk_stats_shown) client->disk_stats_shown = true; if (output_format & FIO_OUTPUT_JSON) { struct json_object *duobj; json_array_add_disk_util(&du->dus, &du->agg, du_array); duobj = json_array_last_value_object(du_array); json_object_add_client_info(duobj, client); } if (output_format & FIO_OUTPUT_NORMAL) { __log_buf(&client->buf, "\nDisk stats (read/write):\n"); print_disk_util(&du->dus, &du->agg, 0, &client->buf); } if (output_format & FIO_OUTPUT_TERSE && terse_version >= 3) { print_disk_util(&du->dus, &du->agg, 1, &client->buf); __log_buf(&client->buf, "\n"); } } static void convert_jobs_eta(struct jobs_eta *je) { int i; je->nr_running = le32_to_cpu(je->nr_running); je->nr_ramp = le32_to_cpu(je->nr_ramp); je->nr_pending = le32_to_cpu(je->nr_pending); je->nr_setting_up = le32_to_cpu(je->nr_setting_up); je->files_open = le32_to_cpu(je->files_open); for (i = 0; i < DDIR_RWDIR_CNT; i++) { je->m_rate[i] = le64_to_cpu(je->m_rate[i]); je->t_rate[i] = le64_to_cpu(je->t_rate[i]); je->m_iops[i] = le32_to_cpu(je->m_iops[i]); je->t_iops[i] = le32_to_cpu(je->t_iops[i]); je->rate[i] = le64_to_cpu(je->rate[i]); je->iops[i] = le32_to_cpu(je->iops[i]); } je->elapsed_sec = le64_to_cpu(je->elapsed_sec); je->eta_sec = le64_to_cpu(je->eta_sec); je->nr_threads = le32_to_cpu(je->nr_threads); je->is_pow2 = le32_to_cpu(je->is_pow2); je->unit_base = le32_to_cpu(je->unit_base); je->sig_figs = le32_to_cpu(je->sig_figs); } void fio_client_sum_jobs_eta(struct jobs_eta *dst, struct jobs_eta *je) { int i; dst->nr_running += je->nr_running; dst->nr_ramp += je->nr_ramp; dst->nr_pending += je->nr_pending; dst->nr_setting_up += je->nr_setting_up; dst->files_open += je->files_open; for (i = 0; i < DDIR_RWDIR_CNT; i++) { dst->m_rate[i] += je->m_rate[i]; dst->t_rate[i] += je->t_rate[i]; dst->m_iops[i] += je->m_iops[i]; dst->t_iops[i] += je->t_iops[i]; dst->rate[i] += je->rate[i]; dst->iops[i] += je->iops[i]; } dst->elapsed_sec += je->elapsed_sec; if (je->eta_sec > dst->eta_sec) dst->eta_sec = je->eta_sec; dst->nr_threads += je->nr_threads; /* * This wont be correct for multiple strings, but at least it * works for the basic cases. */ strcpy((char *) dst->run_str, (char *) je->run_str); } static bool remove_reply_cmd(struct fio_client *client, struct fio_net_cmd *cmd) { struct fio_net_cmd_reply *reply = NULL; struct flist_head *entry; flist_for_each(entry, &client->cmd_list) { reply = flist_entry(entry, struct fio_net_cmd_reply, list); if (cmd->tag == (uintptr_t) reply) break; reply = NULL; } if (!reply) { log_err("fio: client: unable to find matching tag (%llx)\n", (unsigned long long) cmd->tag); return false; } flist_del(&reply->list); cmd->tag = reply->saved_tag; free(reply); return true; } int fio_client_wait_for_reply(struct fio_client *client, uint64_t tag) { do { struct fio_net_cmd_reply *reply = NULL; struct flist_head *entry; flist_for_each(entry, &client->cmd_list) { reply = flist_entry(entry, struct fio_net_cmd_reply, list); if (tag == (uintptr_t) reply) break; reply = NULL; } if (!reply) break; usleep(1000); } while (1); return 0; } static void handle_eta(struct fio_client *client, struct fio_net_cmd *cmd) { struct jobs_eta *je = (struct jobs_eta *) cmd->payload; struct client_eta *eta = (struct client_eta *) (uintptr_t) cmd->tag; dprint(FD_NET, "client: got eta tag %p, %d\n", eta, eta->pending); assert(client->eta_in_flight == eta); client->eta_in_flight = NULL; flist_del_init(&client->eta_list); client->eta_timeouts = 0; if (client->ops->jobs_eta) client->ops->jobs_eta(client, je); fio_client_sum_jobs_eta(&eta->eta, je); fio_client_dec_jobs_eta(eta, client->ops->eta); } static void client_flush_hist_samples(FILE *f, int hist_coarseness, void *samples, uint64_t sample_size) { struct io_sample *s, *s_tmp; bool log_offset, log_issue_time; uint64_t i, j, nr_samples; struct io_u_plat_entry *entry; uint64_t *io_u_plat; int stride = 1 << hist_coarseness; if (!sample_size) return; s = __get_sample(samples, 0, 0, 0); log_offset = (s->__ddir & LOG_OFFSET_SAMPLE_BIT) != 0; log_issue_time = (s->__ddir & LOG_ISSUE_TIME_SAMPLE_BIT) != 0; nr_samples = sample_size / __log_entry_sz(log_offset, log_issue_time); for (i = 0; i < nr_samples; i++) { s_tmp = __get_sample(samples, log_offset, log_issue_time, i); s = (struct io_sample *)((char *)s_tmp + i * sizeof(struct io_u_plat_entry)); entry = s->data.plat_entry; io_u_plat = entry->io_u_plat; fprintf(f, "%lu, %u, %llu, ", (unsigned long) s->time, io_sample_ddir(s), (unsigned long long) s->bs); for (j = 0; j < FIO_IO_U_PLAT_NR - stride; j += stride) { fprintf(f, "%llu, ", (unsigned long long)hist_sum(j, stride, io_u_plat, NULL)); } fprintf(f, "%llu\n", (unsigned long long) hist_sum(FIO_IO_U_PLAT_NR - stride, stride, io_u_plat, NULL)); } } static int fio_client_handle_iolog(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_iolog_pdu *pdu = NULL; bool store_direct; char *log_pathname = NULL; int ret = 0; pdu = convert_iolog(cmd, &store_direct); if (!pdu) { log_err("fio: failed converting IO log\n"); ret = 1; goto out; } /* allocate buffer big enough for next sprintf() call */ log_pathname = malloc(10 + strlen((char *)pdu->name) + strlen(client->hostname)); if (!log_pathname) { log_err("fio: memory allocation of unique pathname failed\n"); ret = -1; goto out; } /* generate a unique pathname for the log file using hostname */ sprintf(log_pathname, "%s.%s", pdu->name, client->hostname); if (store_direct) { ssize_t wrote; size_t sz; int fd, flags; if (pdu->per_job_logs) flags = O_WRONLY | O_CREAT | O_TRUNC; else flags = O_WRONLY | O_CREAT | O_APPEND; fd = open((const char *) log_pathname, flags, 0644); if (fd < 0) { log_err("fio: open log %s: %s\n", log_pathname, strerror(errno)); ret = 1; goto out; } sz = cmd->pdu_len - sizeof(*pdu); wrote = write(fd, pdu->samples, sz); close(fd); if (wrote != sz) { log_err("fio: short write on compressed log\n"); ret = 1; goto out; } ret = 0; } else { FILE *f; const char *mode; if (pdu->per_job_logs) mode = "w"; else mode = "a"; f = fopen((const char *) log_pathname, mode); if (!f) { log_err("fio: fopen log %s : %s\n", log_pathname, strerror(errno)); ret = 1; goto out; } if (pdu->log_type == IO_LOG_TYPE_HIST) { client_flush_hist_samples(f, pdu->log_hist_coarseness, pdu->samples, pdu->nr_samples * sizeof(struct io_sample)); } else { flush_samples(f, pdu->samples, pdu->nr_samples * sizeof(struct io_sample)); } fclose(f); ret = 0; } out: if (pdu && pdu != (void *) cmd->payload) free(pdu); if (log_pathname) free(log_pathname); return ret; } static void handle_probe(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_probe_reply_pdu *probe = (struct cmd_probe_reply_pdu *) cmd->payload; const char *os, *arch; char bit[16]; os = fio_get_os_string(probe->os); if (!os) os = "unknown"; arch = fio_get_arch_string(probe->arch); if (!arch) os = "unknown"; sprintf(bit, "%d-bit", probe->bpp * 8); probe->flags = le64_to_cpu(probe->flags); if (output_format & FIO_OUTPUT_NORMAL) { log_info("hostname=%s, be=%u, %s, os=%s, arch=%s, fio=%s, flags=%lx\n", probe->hostname, probe->bigendian, bit, os, arch, probe->fio_version, (unsigned long) probe->flags); } if (!client->name) client->name = strdup((char *) probe->hostname); } static void handle_start(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_start_pdu *pdu = (struct cmd_start_pdu *) cmd->payload; client->state = Client_started; client->jobs = le32_to_cpu(pdu->jobs); client->nr_stat = le32_to_cpu(pdu->stat_outputs); if (client->jobs) { int i; if (client->opt_lists) free(client->opt_lists); client->opt_lists = malloc(client->jobs * sizeof(struct flist_head)); for (i = 0; i < client->jobs; i++) INIT_FLIST_HEAD(&client->opt_lists[i]); } sum_stat_clients += client->nr_stat; } static void handle_stop(struct fio_client *client) { if (client->error) log_info("client <%s>: exited with error %d\n", client->hostname, client->error); } static void convert_stop(struct fio_net_cmd *cmd) { struct cmd_end_pdu *pdu = (struct cmd_end_pdu *) cmd->payload; pdu->error = le32_to_cpu(pdu->error); } static void convert_text(struct fio_net_cmd *cmd) { struct cmd_text_pdu *pdu = (struct cmd_text_pdu *) cmd->payload; pdu->level = le32_to_cpu(pdu->level); pdu->buf_len = le32_to_cpu(pdu->buf_len); pdu->log_sec = le64_to_cpu(pdu->log_sec); pdu->log_usec = le64_to_cpu(pdu->log_usec); } static struct cmd_iolog_pdu *convert_iolog_gz(struct fio_net_cmd *cmd, struct cmd_iolog_pdu *pdu) { #ifdef CONFIG_ZLIB struct cmd_iolog_pdu *ret; z_stream stream; uint64_t nr_samples; size_t total; char *p; size_t log_entry_size; stream.zalloc = Z_NULL; stream.zfree = Z_NULL; stream.opaque = Z_NULL; stream.avail_in = 0; stream.next_in = Z_NULL; if (inflateInit(&stream) != Z_OK) return NULL; /* * Get header first, it's not compressed */ nr_samples = le64_to_cpu(pdu->nr_samples); log_entry_size = __log_entry_sz(le32_to_cpu(pdu->log_offset), le32_to_cpu(pdu->log_issue_time)); if (pdu->log_type == IO_LOG_TYPE_HIST) total = nr_samples * (log_entry_size + sizeof(struct io_u_plat_entry)); else total = nr_samples * log_entry_size; ret = malloc(total + sizeof(*pdu)); ret->nr_samples = nr_samples; memcpy(ret, pdu, sizeof(*pdu)); p = (char *) ret + sizeof(*pdu); stream.avail_in = cmd->pdu_len - sizeof(*pdu); stream.next_in = (void *)((char *) pdu + sizeof(*pdu)); while (stream.avail_in) { unsigned int this_chunk = 65536; unsigned int this_len; int err; if (this_chunk > total) this_chunk = total; stream.avail_out = this_chunk; stream.next_out = (void *)p; err = inflate(&stream, Z_NO_FLUSH); /* may be Z_OK, or Z_STREAM_END */ if (err < 0) { /* * Z_STREAM_ERROR and Z_BUF_ERROR can safely be * ignored */ if (err == Z_STREAM_ERROR || err == Z_BUF_ERROR) break; log_err("fio: inflate error %d\n", err); free(ret); ret = NULL; goto err; } this_len = this_chunk - stream.avail_out; p += this_len; total -= this_len; } err: inflateEnd(&stream); return ret; #else return NULL; #endif } /* * This has been compressed on the server side, since it can be big. * Uncompress here. */ static struct cmd_iolog_pdu *convert_iolog(struct fio_net_cmd *cmd, bool *store_direct) { struct cmd_iolog_pdu *pdu = (struct cmd_iolog_pdu *) cmd->payload; struct cmd_iolog_pdu *ret; uint64_t i; int compressed; void *samples; *store_direct = false; /* * Convert if compressed and we support it. If it's not * compressed, we need not do anything. */ compressed = le32_to_cpu(pdu->compressed); if (compressed == XMIT_COMPRESSED) { #ifndef CONFIG_ZLIB log_err("fio: server sent compressed data by mistake\n"); return NULL; #endif ret = convert_iolog_gz(cmd, pdu); if (!ret) { log_err("fio: failed decompressing log\n"); return NULL; } } else if (compressed == STORE_COMPRESSED) { *store_direct = true; ret = pdu; } else ret = pdu; ret->nr_samples = le64_to_cpu(ret->nr_samples); ret->thread_number = le32_to_cpu(ret->thread_number); ret->log_type = le32_to_cpu(ret->log_type); ret->compressed = le32_to_cpu(ret->compressed); ret->log_offset = le32_to_cpu(ret->log_offset); ret->log_prio = le32_to_cpu(ret->log_prio); ret->log_issue_time = le32_to_cpu(ret->log_issue_time); ret->log_hist_coarseness = le32_to_cpu(ret->log_hist_coarseness); ret->per_job_logs = le32_to_cpu(ret->per_job_logs); if (*store_direct) return ret; samples = &ret->samples[0]; for (i = 0; i < ret->nr_samples; i++) { struct io_sample *s; s = __get_sample(samples, ret->log_offset, ret->log_issue_time, i); if (ret->log_type == IO_LOG_TYPE_HIST) s = (struct io_sample *)((char *)s + sizeof(struct io_u_plat_entry) * i); s->time = le64_to_cpu(s->time); if (ret->log_type != IO_LOG_TYPE_HIST) { s->data.val.val0 = le64_to_cpu(s->data.val.val0); s->data.val.val1 = le64_to_cpu(s->data.val.val1); } s->__ddir = __le32_to_cpu(s->__ddir); s->bs = le64_to_cpu(s->bs); s->priority = le16_to_cpu(s->priority); if (ret->log_offset) s->aux[IOS_AUX_OFFSET_INDEX] = le64_to_cpu(s->aux[IOS_AUX_OFFSET_INDEX]); if (ret->log_issue_time) s->aux[IOS_AUX_ISSUE_TIME_INDEX] = le64_to_cpu(s->aux[IOS_AUX_ISSUE_TIME_INDEX]); if (ret->log_type == IO_LOG_TYPE_HIST) { s->data.plat_entry = (struct io_u_plat_entry *)(((char *)s) + sizeof(*s)); s->data.plat_entry->list.next = NULL; s->data.plat_entry->list.prev = NULL; } } return ret; } static void sendfile_reply(int fd, struct cmd_sendfile_reply *rep, size_t size, uint64_t tag) { rep->error = cpu_to_le32(rep->error); fio_net_send_cmd(fd, FIO_NET_CMD_SENDFILE, rep, size, &tag, NULL); } static int fio_send_file(struct fio_client *client, struct cmd_sendfile *pdu, uint64_t tag) { struct cmd_sendfile_reply *rep; struct stat sb; size_t size; int fd; size = sizeof(*rep); rep = malloc(size); if (stat((char *)pdu->path, &sb) < 0) { fail: rep->error = errno; sendfile_reply(client->fd, rep, size, tag); free(rep); return 1; } size += sb.st_size; rep = realloc(rep, size); rep->size = cpu_to_le32((uint32_t) sb.st_size); fd = open((char *)pdu->path, O_RDONLY); if (fd == -1 ) goto fail; rep->error = read_data(fd, &rep->data, sb.st_size); sendfile_reply(client->fd, rep, size, tag); free(rep); close(fd); return 0; } int fio_handle_client(struct fio_client *client) { struct client_ops const *ops = client->ops; struct fio_net_cmd *cmd; dprint(FD_NET, "client: handle %s\n", client->hostname); cmd = fio_net_recv_cmd(client->fd, true); if (!cmd) return 0; dprint(FD_NET, "client: got cmd op %s from %s (pdu=%u)\n", fio_server_op(cmd->opcode), client->hostname, cmd->pdu_len); client->last_cmd = cmd->opcode; switch (cmd->opcode) { case FIO_NET_CMD_QUIT: if (ops->quit) ops->quit(client, cmd); remove_client(client); break; case FIO_NET_CMD_TEXT: convert_text(cmd); ops->text(client, cmd); break; case FIO_NET_CMD_DU: { struct cmd_du_pdu *du = (struct cmd_du_pdu *) cmd->payload; convert_dus(&du->dus); convert_agg(&du->agg); ops->disk_util(client, cmd); break; } case FIO_NET_CMD_TS: { struct cmd_ts_pdu *p = (struct cmd_ts_pdu *) cmd->payload; uint64_t offset; int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (le32_to_cpu(p->ts.nr_clat_prio[i])) { offset = le64_to_cpu(p->ts.clat_prio_offset[i]); p->ts.clat_prio[i] = (struct clat_prio_stat *)((char *)p + offset); } } dprint(FD_NET, "client: ts->ss_state = %u\n", (unsigned int) le32_to_cpu(p->ts.ss_state)); if (le32_to_cpu(p->ts.ss_state) & FIO_SS_DATA) { dprint(FD_NET, "client: received steadystate ring buffers\n"); offset = le64_to_cpu(p->ts.ss_iops_data_offset); p->ts.ss_iops_data = (uint64_t *)((char *)p + offset); offset = le64_to_cpu(p->ts.ss_bw_data_offset); p->ts.ss_bw_data = (uint64_t *)((char *)p + offset); } convert_ts(&p->ts, &p->ts); convert_gs(&p->rs, &p->rs); ops->thread_status(client, cmd); break; } case FIO_NET_CMD_GS: { struct group_run_stats *gs = (struct group_run_stats *) cmd->payload; convert_gs(gs, gs); ops->group_stats(client, cmd); break; } case FIO_NET_CMD_ETA: { struct jobs_eta *je = (struct jobs_eta *) cmd->payload; if (!remove_reply_cmd(client, cmd)) break; convert_jobs_eta(je); handle_eta(client, cmd); break; } case FIO_NET_CMD_PROBE: remove_reply_cmd(client, cmd); ops->probe(client, cmd); break; case FIO_NET_CMD_SERVER_START: client->state = Client_running; if (ops->job_start) ops->job_start(client, cmd); break; case FIO_NET_CMD_START: { struct cmd_start_pdu *pdu = (struct cmd_start_pdu *) cmd->payload; pdu->jobs = le32_to_cpu(pdu->jobs); ops->start(client, cmd); break; } case FIO_NET_CMD_STOP: { struct cmd_end_pdu *pdu = (struct cmd_end_pdu *) cmd->payload; convert_stop(cmd); client->state = Client_stopped; client->error = le32_to_cpu(pdu->error); client->signal = le32_to_cpu(pdu->signal); ops->stop(client); break; } case FIO_NET_CMD_ADD_JOB: { struct cmd_add_job_pdu *pdu = (struct cmd_add_job_pdu *) cmd->payload; client->thread_number = le32_to_cpu(pdu->thread_number); client->groupid = le32_to_cpu(pdu->groupid); if (ops->add_job) ops->add_job(client, cmd); break; } case FIO_NET_CMD_IOLOG: fio_client_handle_iolog(client, cmd); break; case FIO_NET_CMD_UPDATE_JOB: ops->update_job(client, cmd); remove_reply_cmd(client, cmd); break; case FIO_NET_CMD_VTRIGGER: { struct all_io_list *pdu = (struct all_io_list *) cmd->payload; char buf[128]; int off = 0; if (aux_path) { strcpy(buf, aux_path); off = strlen(buf); } __verify_save_state(pdu, server_name(client, &buf[off], sizeof(buf) - off)); exec_trigger(trigger_cmd); break; } case FIO_NET_CMD_SENDFILE: { struct cmd_sendfile *pdu = (struct cmd_sendfile *) cmd->payload; fio_send_file(client, pdu, cmd->tag); break; } case FIO_NET_CMD_JOB_OPT: { handle_job_opt(client, cmd); break; } default: log_err("fio: unknown client op: %s\n", fio_server_op(cmd->opcode)); break; } free(cmd); return 1; } int fio_clients_send_trigger(const char *cmd) { struct flist_head *entry; struct fio_client *client; size_t slen; dprint(FD_NET, "client: send vtrigger: %s\n", cmd); if (!cmd) slen = 0; else slen = strlen(cmd); flist_for_each(entry, &client_list) { struct cmd_vtrigger_pdu *pdu; client = flist_entry(entry, struct fio_client, list); pdu = malloc(sizeof(*pdu) + slen); pdu->len = cpu_to_le16((uint16_t) slen); if (slen) memcpy(pdu->cmd, cmd, slen); fio_net_send_cmd(client->fd, FIO_NET_CMD_VTRIGGER, pdu, sizeof(*pdu) + slen, NULL, NULL); free(pdu); } return 0; } static void request_client_etas(struct client_ops const *ops) { struct fio_client *client; struct flist_head *entry; struct client_eta *eta; int skipped = 0; if (eta_print == FIO_ETA_NEVER) return; dprint(FD_NET, "client: request eta (%d)\n", nr_clients); eta = calloc(1, sizeof(*eta) + __THREAD_RUNSTR_SZ(REAL_MAX_JOBS)); eta->pending = nr_clients; flist_for_each(entry, &client_list) { client = flist_entry(entry, struct fio_client, list); if (!flist_empty(&client->eta_list)) { skipped++; continue; } if (client->state != Client_running) continue; assert(!client->eta_in_flight); flist_add_tail(&client->eta_list, &eta_list); client->eta_in_flight = eta; fio_net_send_simple_cmd(client->fd, FIO_NET_CMD_SEND_ETA, (uintptr_t) eta, &client->cmd_list); } while (skipped--) { if (!fio_client_dec_jobs_eta(eta, ops->eta)) break; } dprint(FD_NET, "client: requested eta tag %p\n", eta); } /* * A single SEND_ETA timeout isn't fatal. Attempt to recover. */ static int handle_cmd_timeout(struct fio_client *client, struct fio_net_cmd_reply *reply) { uint16_t reply_opcode = reply->opcode; flist_del(&reply->list); free(reply); if (reply_opcode != FIO_NET_CMD_SEND_ETA) return 1; log_info("client <%s>: timeout on SEND_ETA\n", client->hostname); flist_del_init(&client->eta_list); if (client->eta_in_flight) { fio_client_dec_jobs_eta(client->eta_in_flight, client->ops->eta); client->eta_in_flight = NULL; } /* * If we fail 5 in a row, give up... */ if (client->eta_timeouts++ > 5) return 1; return 0; } static int client_check_cmd_timeout(struct fio_client *client, struct timespec *now) { struct fio_net_cmd_reply *reply; struct flist_head *entry, *tmp; int ret = 0; flist_for_each_safe(entry, tmp, &client->cmd_list) { unsigned int op; reply = flist_entry(entry, struct fio_net_cmd_reply, list); if (mtime_since(&reply->ts, now) < FIO_NET_CLIENT_TIMEOUT) continue; op = reply->opcode; if (!handle_cmd_timeout(client, reply)) continue; log_err("fio: client %s, timeout on cmd %s\n", client->hostname, fio_server_op(op)); ret = 1; } return flist_empty(&client->cmd_list) && ret; } static int fio_check_clients_timed_out(void) { struct fio_client *client; struct flist_head *entry, *tmp; struct timespec ts; int ret = 0; fio_gettime(&ts, NULL); flist_for_each_safe(entry, tmp, &client_list) { client = flist_entry(entry, struct fio_client, list); if (flist_empty(&client->cmd_list)) continue; if (!client_check_cmd_timeout(client, &ts)) continue; if (client->ops->timed_out) client->ops->timed_out(client); else log_err("fio: client %s timed out\n", client->hostname); if (client->last_cmd != FIO_NET_CMD_VTRIGGER) client->error = ETIMEDOUT; else log_info("fio: ignoring timeout due to vtrigger\n"); remove_client(client); ret = 1; } return ret; } int fio_handle_clients(struct client_ops const *ops) { struct pollfd *pfds; int i, ret = 0, retval = 0; fio_gettime(&eta_ts, NULL); pfds = malloc(nr_clients * sizeof(struct pollfd)); init_thread_stat(&client_ts); init_group_run_stat(&client_gs); while (!exit_backend && nr_clients) { struct flist_head *entry, *tmp; struct fio_client *client; i = 0; flist_for_each_safe(entry, tmp, &client_list) { client = flist_entry(entry, struct fio_client, list); if (!client->sent_job && !client->ops->stay_connected && flist_empty(&client->cmd_list)) { remove_client(client); continue; } pfds[i].fd = client->fd; pfds[i].events = POLLIN; i++; } if (!nr_clients) break; assert(i == nr_clients); do { struct timespec ts; int timeout; fio_gettime(&ts, NULL); if (eta_time_within_slack(mtime_since(&eta_ts, &ts))) { request_client_etas(ops); memcpy(&eta_ts, &ts, sizeof(ts)); if (fio_check_clients_timed_out()) break; } check_trigger_file(); timeout = min(100u, ops->eta_msec); ret = poll(pfds, nr_clients, timeout); if (ret < 0) { if (errno == EINTR) continue; log_err("fio: poll clients: %s\n", strerror(errno)); break; } else if (!ret) continue; } while (ret <= 0); for (i = 0; i < nr_clients; i++) { if (!(pfds[i].revents & POLLIN)) continue; client = find_client_by_fd(pfds[i].fd); if (!client) { log_err("fio: unknown client fd %ld\n", (long) pfds[i].fd); continue; } if (!fio_handle_client(client)) { log_info("client: host=%s disconnected\n", client->hostname); remove_client(client); retval = 1; } else if (client->error) retval = 1; fio_put_client(client); } } log_info_buf(allclients.buf, allclients.buflen); buf_output_free(&allclients); fio_client_json_fini(); free_clat_prio_stats(&client_ts); free(pfds); return retval || error_clients; } static void client_display_thread_status(struct jobs_eta *je) { if (!(output_format & FIO_OUTPUT_JSON)) display_thread_status(je); } fio-3.39/client.h000066400000000000000000000070721476262051600136730ustar00rootroot00000000000000#ifndef CLIENT_H #define CLIENT_H #include #include #include #include "lib/types.h" #include "stat.h" struct fio_net_cmd; enum { Client_created = 0, Client_connected = 1, Client_started = 2, Client_running = 3, Client_stopped = 4, Client_exited = 5, }; struct client_file { char *file; bool remote; }; struct fio_client { struct flist_head list; struct flist_head hash_list; struct flist_head arg_list; union { struct sockaddr_in addr; struct sockaddr_in6 addr6; struct sockaddr_un addr_un; }; char *hostname; int port; int fd; unsigned int refs; unsigned int last_cmd; char *name; struct flist_head *opt_lists; struct json_object *global_opts; int state; bool skip_newline; bool is_sock; bool disk_stats_shown; unsigned int jobs; unsigned int nr_stat; int error; int signal; int ipv6; bool sent_job; bool did_stat; uint32_t type; uint32_t thread_number; uint32_t groupid; struct flist_head eta_list; struct client_eta *eta_in_flight; unsigned int eta_timeouts; struct flist_head cmd_list; uint16_t argc; char **argv; struct client_ops const *ops; void *client_data; struct client_file *files; unsigned int nr_files; struct buf_output buf; }; typedef void (client_cmd_op)(struct fio_client *, struct fio_net_cmd *); typedef void (client_op)(struct fio_client *); typedef void (client_eta_op)(struct jobs_eta *je); typedef void (client_timed_out_op)(struct fio_client *); typedef void (client_jobs_eta_op)(struct fio_client *client, struct jobs_eta *je); extern struct client_ops const fio_client_ops; struct client_ops { client_cmd_op *text; client_cmd_op *disk_util; client_cmd_op *thread_status; client_cmd_op *group_stats; client_jobs_eta_op *jobs_eta; client_eta_op *eta; client_cmd_op *probe; client_cmd_op *quit; client_cmd_op *add_job; client_cmd_op *update_job; client_timed_out_op *timed_out; client_op *stop; client_cmd_op *start; client_cmd_op *job_start; client_timed_out_op *removed; unsigned int eta_msec; int stay_connected; uint32_t client_type; }; struct client_eta { unsigned int pending; struct jobs_eta eta; }; extern int fio_handle_client(struct fio_client *); extern void fio_client_sum_jobs_eta(struct jobs_eta *dst, struct jobs_eta *je); enum { Fio_client_ipv4 = 1, Fio_client_ipv6, Fio_client_socket, }; extern int fio_client_connect(struct fio_client *); extern int fio_clients_connect(void); extern int fio_start_client(struct fio_client *); extern int fio_start_all_clients(void); extern int fio_clients_send_ini(const char *); extern int fio_client_send_ini(struct fio_client *, const char *, bool); extern int fio_handle_clients(struct client_ops const*); extern int fio_client_add(struct client_ops const*, const char *, void **); extern struct fio_client *fio_client_add_explicit(struct client_ops *, const char *, int, int); extern void fio_client_add_cmd_option(void *, const char *); extern int fio_client_add_ini_file(void *, const char *, bool); extern int fio_client_terminate(struct fio_client *); extern struct fio_client *fio_get_client(struct fio_client *); extern void fio_put_client(struct fio_client *); extern int fio_client_update_options(struct fio_client *, struct thread_options *, uint64_t *); extern int fio_client_wait_for_reply(struct fio_client *, uint64_t); extern int fio_clients_send_trigger(const char *); #define FIO_CLIENT_DEF_ETA_MSEC 900 enum { FIO_CLIENT_TYPE_CLI = 1, FIO_CLIENT_TYPE_GUI = 2, }; extern int sum_stat_clients; extern struct thread_stat client_ts; extern struct group_run_stats client_gs; #endif fio-3.39/compiler/000077500000000000000000000000001476262051600140505ustar00rootroot00000000000000fio-3.39/compiler/compiler.h000066400000000000000000000041701476262051600160350ustar00rootroot00000000000000#ifndef FIO_COMPILER_H #define FIO_COMPILER_H #define __must_check __attribute__((warn_unused_result)) #define __compiletime_warning(message) __attribute__((warning(message))) #define __compiletime_error(message) __attribute__((error(message))) /* * Mark unused variables passed to ops functions as unused, to silence gcc */ #define fio_unused __attribute__((__unused__)) #define fio_init __attribute__((constructor)) #define fio_exit __attribute__((destructor)) #define fio_unlikely(x) __builtin_expect(!!(x), 0) /* * Check at compile time that something is of a particular type. * Always evaluates to 1 so you may use it easily in comparisons. */ #define typecheck(type,x) \ ({ type __dummy; \ __typeof__(x) __dummy2; \ (void)(&__dummy == &__dummy2); \ 1; \ }) #if defined(CONFIG_STATIC_ASSERT) #define compiletime_assert(condition, msg) _Static_assert(condition, msg) #elif !defined(CONFIG_DISABLE_OPTIMIZATIONS) #ifndef __compiletime_error #define __compiletime_error(message) #endif #ifndef __compiletime_error_fallback #define __compiletime_error_fallback(condition) do { } while (0) #endif #define __compiletime_assert(condition, msg, prefix, suffix) \ do { \ int __cond = !(condition); \ extern void prefix ## suffix(void) __compiletime_error(msg); \ if (__cond) \ prefix ## suffix(); \ __compiletime_error_fallback(__cond); \ } while (0) #define _compiletime_assert(condition, msg, prefix, suffix) \ __compiletime_assert(condition, msg, prefix, suffix) #define compiletime_assert(condition, msg) \ _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) #else #define compiletime_assert(condition, msg) do { } while (0) #endif #ifdef FIO_INTERNAL #define FIO_ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0]))) #define FIO_FIELD_SIZE(s, f) (sizeof(((__typeof__(s))0)->f)) #endif #ifndef __has_attribute #define __has_attribute(x) __GCC4_has_attribute_##x #define __GCC4_has_attribute___fallthrough__ 0 #endif #if __has_attribute(__fallthrough__) #define fio_fallthrough __attribute__((__fallthrough__)) #else #define fio_fallthrough do {} while (0) /* fallthrough */ #endif #endif fio-3.39/configure000077500000000000000000002317731476262051600141620ustar00rootroot00000000000000#!/bin/sh # # Fio configure script. Heavily influenced by the manual qemu configure # script. Sad this is easier than autoconf and enemies. # # set temporary file name if test ! -z "$TMPDIR" ; then TMPDIR1="${TMPDIR}" elif test ! -z "$TEMPDIR" ; then TMPDIR1="${TEMPDIR}" else TMPDIR1="/tmp" fi TMPC="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}.c" TMPC2="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}-2.c" TMPO="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}.o" TMPE="${TMPDIR1}/fio-conf-${RANDOM}-$$-${RANDOM}.exe" # NB: do not call "exit" in the trap handler; this is buggy with some shells; # see <1285349658-3122-1-git-send-email-loic.minier@linaro.org> trap "rm -f $TMPC $TMPC2 $TMPO $TMPE" EXIT INT QUIT TERM rm -rf config.log config_host_mak="config-host.mak" config_host_h="config-host.h" rm -rf $config_host_mak rm -rf $config_host_h fatal() { echo $@ echo "Configure failed, check config.log and/or the above output" rm -rf $config_host_mak rm -rf $config_host_h exit 1 } # Print result for each configuration test print_config() { printf "%-30s%s\n" "$1" "$2" } # Default CFLAGS CFLAGS="-D_GNU_SOURCE -include config-host.h $CFLAGS" CONFIGURE_CFLAGS="-Werror-implicit-function-declaration" BUILD_CFLAGS="" # Print a helpful header at the top of config.log echo "# FIO configure log $(date)" >> config.log printf "# Configured with:" >> config.log printf " '%s'" "$0" "$@" >> config.log echo >> config.log echo "#" >> config.log # Print configure header at the top of $config_host_h echo "/*" > $config_host_h echo " * Automatically generated by configure - do not modify" >> $config_host_h printf " * Configured with:" >> $config_host_h printf " * '%s'" "$0" "$@" >> $config_host_h echo "" >> $config_host_h echo " */" >> $config_host_h do_cc() { # Run the compiler, capturing its output to the log. echo $cc "$@" >> config.log $cc "$@" >> config.log 2>&1 || return $? # Test passed. If this is an --enable-werror build, rerun # the test with -Werror and bail out if it fails. This # makes warning-generating-errors in configure test code # obvious to developers. if test "$werror" != "yes"; then return 0 fi # Don't bother rerunning the compile if we were already using -Werror case "$*" in *-Werror*) return 0 ;; esac echo $cc -Werror "$@" >> config.log $cc -Werror "$@" >> config.log 2>&1 && return $? echo "ERROR: configure test passed without -Werror but failed with -Werror." echo "This is probably a bug in the configure script. The failing command" echo "will be at the bottom of config.log." fatal "You can run configure with --disable-werror to bypass this check." } compile_object() { do_cc $CFLAGS $CONFIGURE_CFLAGS -c -o $TMPO $TMPC } compile_prog() { local_cflags="$1" local_ldflags="$2 $LIBS" echo "Compiling test case $3" >> config.log do_cc $CFLAGS $CONFIGURE_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags } feature_not_found() { feature=$1 packages=$2 echo "ERROR" echo "ERROR: User requested feature $feature" if test ! -z "$packages" ; then echo "ERROR: That feature needs $packages installed" fi echo "ERROR: configure was not able to find it" fatal "ERROR" } has() { type "$1" >/dev/null 2>&1 } num() { echo "$1" | grep -E -q "^[0-9]+$" } check_define() { cat > $TMPC < $TMPC <> $config_host_mak echo "#define $1" >> $config_host_h } check_min_lib_version() { _feature=$3 if pkg-config --atleast-version="$2" "$1" > /dev/null 2>&1; then return 0 fi : "${_feature:=${1}}" if pkg-config --version > /dev/null 2>&1; then if test "$(eval echo \"\$$_feature\")" = "yes" ; then feature_not_found "$_feature" "$1 >= $2" fi else print_config "$1" "missing pkg-config, can't check $_feature version" fi return 1 } targetos="" cpu="" # default options show_help="no" exit_val=0 gfio_check="no" libhdfs="no" devdax="no" pmem="no" cuda="no" libcufile="no" disable_lex="" disable_pmem="no" disable_native="no" march_set="no" libiscsi="no" libnbd="no" libnfs="" xnvme="" isal="" libblkio="" libzbc="" dfs="" seed_buckets="" dynamic_engines="no" prefix=/usr/local # parse options for opt do optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'` case "$opt" in --prefix=*) prefix="$optarg" ;; --cpu=*) cpu="$optarg" ;; # esx is cross compiled and cannot be detect through simple uname calls --esx) esx="yes" ;; --cc=*) CC="$optarg" ;; --extra-cflags=*) CFLAGS="$CFLAGS $optarg" ;; --build-32bit-win) build_32bit_win="yes" ;; --target-win-ver=*) target_win_ver="$optarg" ;; --enable-pdb) pdb="yes" ;; --build-static) build_static="yes" ;; --enable-gfio) gfio_check="yes" ;; --disable-numa) disable_numa="yes" ;; --disable-rdma) disable_rdma="yes" ;; --disable-rados) disable_rados="yes" ;; --disable-rbd) disable_rbd="yes" ;; --disable-http) disable_http="yes" ;; --disable-gfapi) disable_gfapi="yes" ;; --enable-libhdfs) libhdfs="yes" ;; --disable-lex) disable_lex="yes" ;; --enable-lex) disable_lex="no" ;; --disable-shm) no_shm="yes" ;; --disable-optimizations) disable_opt="yes" ;; --disable-pmem) disable_pmem="yes" ;; --enable-cuda) cuda="yes" ;; --enable-libcufile) libcufile="yes" ;; --disable-native) disable_native="yes" ;; --with-ime=*) ime_path="$optarg" ;; --enable-libiscsi) libiscsi="yes" ;; --enable-libnbd) libnbd="yes" ;; --disable-libzbc) libzbc="no" ;; --disable-xnvme) xnvme="no" ;; --disable-isal) isal="no" ;; --disable-libblkio) libblkio="no" ;; --disable-tcmalloc) disable_tcmalloc="yes" ;; --disable-libnfs) libnfs="no" ;; --enable-libnfs) libnfs="yes" ;; --dynamic-libengines) dynamic_engines="yes" ;; --disable-dfs) dfs="no" ;; --enable-asan) asan="yes" ;; --seed-buckets=*) seed_buckets="$optarg" ;; --disable-tls) tls_check="no" ;; --help) show_help="yes" ;; *) echo "Bad option $opt" show_help="yes" exit_val=1 esac done if test "$show_help" = "yes" ; then echo "--prefix= Use this directory as installation prefix" echo "--cpu= Specify target CPU if auto-detect fails" echo "--cc= Specify compiler to use" echo "--extra-cflags= Specify extra CFLAGS to pass to compiler" echo "--build-32bit-win Enable 32-bit build on Windows" echo "--target-win-ver= Minimum version of Windows to target (only accepts 7)" echo "--enable-pdb Enable Windows PDB symbols generation (needs clang/lld)" echo "--build-static Build a static fio" echo "--esx Configure build options for esx" echo "--enable-gfio Enable building of gtk gfio" echo "--disable-numa Disable libnuma even if found" echo "--disable-rdma Disable RDMA support even if found" echo "--disable-rados Disable Rados support even if found" echo "--disable-rbd Disable Rados Block Device even if found" echo "--disable-http Disable HTTP support even if found" echo "--disable-gfapi Disable gfapi" echo "--enable-libhdfs Enable hdfs support" echo "--enable-libnfs Enable nfs support" echo "--disable-libnfs Disable nfs support" echo "--disable-lex Disable use of lex/yacc for math" echo "--disable-pmem Disable pmem based engines even if found" echo "--enable-lex Enable use of lex/yacc for math" echo "--disable-shm Disable SHM support" echo "--disable-optimizations Don't enable compiler optimizations" echo "--enable-cuda Enable GPUDirect RDMA support" echo "--enable-libcufile Enable GPUDirect Storage cuFile support" echo "--disable-native Don't build for native host" echo "--with-ime= Install path for DDN's Infinite Memory Engine" echo "--enable-libiscsi Enable iscsi support" echo "--enable-libnbd Enable libnbd (NBD engine) support" echo "--disable-xnvme Disable xnvme support even if found" echo "--disable-isal Disable isal support even if found" echo "--disable-libblkio Disable libblkio support even if found" echo "--disable-libzbc Disable libzbc even if found" echo "--disable-tcmalloc Disable tcmalloc support" echo "--dynamic-libengines Lib-based ioengines as dynamic libraries" echo "--disable-dfs Disable DAOS File System support even if found" echo "--enable-asan Enable address sanitizer" echo "--seed-buckets= Number of seed buckets for the refill-buffer" echo "--disable-tls Disable __thread local storage" exit $exit_val fi cross_prefix=${cross_prefix-${CROSS_COMPILE}} # Preferred compiler (can be overridden later after we know the platform): # ${CC} (if set) # ${cross_prefix}gcc (if cross-prefix specified) # gcc if available # clang if available if test -z "${CC}${cross_prefix}"; then if has gcc; then cc=gcc elif has clang; then cc=clang fi else cc="${CC-${cross_prefix}gcc}" fi if check_define __ANDROID__ ; then targetos="Android" elif check_define __linux__ ; then targetos="Linux" elif check_define __OpenBSD__ ; then targetos='OpenBSD' elif check_define __NetBSD__ ; then targetos='NetBSD' elif check_define __sun__ ; then targetos='SunOS' CFLAGS="$CFLAGS -D_REENTRANT" elif check_define _WIN32 ; then targetos='CYGWIN' elif check_define __QNX__ ; then targetos='QNX' else targetos=`uname -s` fi echo "# Automatically generated by configure - do not modify" > $config_host_mak printf "# Configured with:" >> $config_host_mak printf " '%s'" "$0" "$@" >> $config_host_mak echo >> $config_host_mak echo "CONFIG_TARGET_OS=$targetos" >> $config_host_mak if test "$no_shm" = "yes" ; then output_sym "CONFIG_NO_SHM" fi if test "$disable_opt" = "yes" ; then output_sym "CONFIG_FIO_NO_OPT" fi # Some host OSes need non-standard checks for which CPU to use. # Note that these checks are broken for cross-compilation: if you're # cross-compiling to one of these OSes then you'll need to specify # the correct CPU with the --cpu option. case $targetos in AIX|OpenBSD|NetBSD) # Unless explicitly enabled, turn off lex. # OpenBSD will hit syntax error when enabled. if test -z "$disable_lex" ; then disable_lex="yes" else force_no_lex_o="yes" fi ;; FreeBSD) CFLAGS="$CFLAGS -I/usr/local/include" LDFLAGS="$LDFLAGS -L/usr/local/lib" ;; Darwin) # on Leopard most of the system is 32-bit, so we have to ask the kernel if # we can run 64-bit userspace code. # If the user didn't specify a CPU explicitly and the kernel says this is # 64 bit hw, then assume x86_64. Otherwise fall through to the usual # detection code. if test -z "$cpu" && test "$(sysctl -n hw.optional.x86_64)" = "1"; then cpu="x86_64" fi # Avoid configure feature detection of features provided by weak symbols cat > $TMPC < $TMPC </dev/null || cross_compile="yes" else fatal "compile test failed" fi ########################################## # check endianness if test "$bigendian" != "yes" ; then bigendian="no" fi if test "$cross_compile" = "no" ; then cat > $TMPC < int main(void) { volatile uint32_t i=0x01234567; return (*((uint8_t*)(&i))) == 0x67; } EOF if compile_prog "" "" "endian"; then $TMPE && bigendian="yes" fi else # If we're cross compiling, try our best to work it out and rely on the # run-time check to fail if we get it wrong. cat > $TMPC < int main(void) { #if __BYTE_ORDER != __BIG_ENDIAN # error "Unknown endianness" #endif } EOF compile_prog "" "" "endian" && bigendian="yes" check_define "__ARMEB__" && bigendian="yes" check_define "__MIPSEB__" && bigendian="yes" fi print_config "Operating system" "$targetos" print_config "CPU" "$cpu" print_config "Big endian" "$bigendian" if test ! -z "$target_win_ver"; then print_config "Target Windows version" "$target_win_ver" fi print_config "Compiler" "$cc" print_config "Cross compile" "$cross_compile" echo ########################################## # See if we need to build a static build if test "$build_static" = "yes" ; then CFLAGS="$CFLAGS -ffunction-sections -fdata-sections" LDFLAGS="$LDFLAGS -static -Wl,--gc-sections" else build_static="no" fi print_config "Static build" "$build_static" ########################################## # check for C11 atomics support cat > $TMPC < int main(void) { _Atomic unsigned v; atomic_load(&v); return 0; } EOF if ! compile_prog "" "" "C11 atomics"; then echo echo "Your compiler doesn't support C11 atomics. gcc 4.9/clang 3.6 are the" echo "minimum versions with it - perhaps your compiler is too old?" fatal "C11 atomics support not found" fi ########################################## # check for wordsize wordsize="0" cat > $TMPC < #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) int main(void) { BUILD_BUG_ON(sizeof(long)*CHAR_BIT != WORDSIZE); return 0; } EOF if compile_prog "-DWORDSIZE=32" "" "wordsize"; then wordsize="32" elif compile_prog "-DWORDSIZE=64" "" "wordsize"; then wordsize="64" else fatal "Unknown wordsize" fi print_config "Wordsize" "$wordsize" ########################################## # zlib probe if test "$zlib" != "yes" ; then zlib="no" fi cat > $TMPC < int main(void) { z_stream stream; if (inflateInit(&stream) != Z_OK) return 1; return 0; } EOF if compile_prog "" "-lz" "zlib" ; then zlib=yes LIBS="-lz $LIBS" fi print_config "zlib" "$zlib" ########################################## # fcntl(F_FULLFSYNC) support if test "$fcntl_sync" != "yes" ; then fcntl_sync="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { return fcntl(0, F_FULLFSYNC); } EOF if compile_prog "" "" "fcntl(F_FULLFSYNC)" ; then fcntl_sync="yes" fi print_config "fcntl(F_FULLFSYNC)" "$fcntl_sync" ########################################## # linux-aio probe if test "$libaio" != "yes" ; then libaio="no" fi if test "$esx" != "yes" ; then cat > $TMPC < #include int main(void) { io_setup(0, NULL); return 0; } EOF if compile_prog "" "-laio" "libaio" ; then libaio=yes else if test "$libaio" = "yes" ; then feature_not_found "linux AIO" "libaio-dev or libaio-devel" fi libaio=no fi cat > $TMPC < #include int main(void) { io_prep_preadv2(NULL, 0, NULL, 0, 0, 0); io_prep_pwritev2(NULL, 0, NULL, 0, 0, 0); return 0; } EOF if compile_prog "" "" "libaio rw flags" ; then libaio_rw_flags=yes else libaio_rw_flags=no fi fi print_config "Linux AIO support" "$libaio" print_config "Linux AIO support rw flags" "$libaio_rw_flags" ########################################## # posix aio probe if test "$posix_aio" != "yes" ; then posix_aio="no" fi if test "$posix_aio_lrt" != "yes" ; then posix_aio_lrt="no" fi cat > $TMPC < int main(void) { struct aiocb cb; aio_read(&cb); return 0; } EOF if compile_prog "" "" "posixaio" ; then posix_aio="yes" elif compile_prog "" "-lrt" "posixaio -lrt"; then posix_aio="yes" posix_aio_lrt="yes" LIBS="-lrt $LIBS" fi print_config "POSIX AIO support" "$posix_aio" print_config "POSIX AIO support needs -lrt" "$posix_aio_lrt" ########################################## # posix aio fsync probe if test "$posix_aio_fsync" != "yes" ; then posix_aio_fsync="no" fi if test "$posix_aio" = "yes" ; then cat > $TMPC < #include int main(void) { struct aiocb cb; return aio_fsync(O_SYNC, &cb); return 0; } EOF if compile_prog "" "$LIBS" "posix_aio_fsync" ; then posix_aio_fsync=yes fi fi print_config "POSIX AIO fsync" "$posix_aio_fsync" ########################################## # POSIX pshared attribute probe if test "$posix_pshared" != "yes" ; then posix_pshared="no" fi cat > $TMPC < int main(void) { #if defined(_POSIX_THREAD_PROCESS_SHARED) && ((_POSIX_THREAD_PROCESS_SHARED + 0) > 0) # if defined(__CYGWIN__) # error "_POSIX_THREAD_PROCESS_SHARED is buggy on Cygwin" # elif defined(__APPLE__) # include # include # if TARGET_OS_MAC && MAC_OS_X_VERSION_MIN_REQUIRED < 1070 # error "_POSIX_THREAD_PROCESS_SHARED is buggy/unsupported prior to OSX 10.7" # endif # endif #else # error "_POSIX_THREAD_PROCESS_SHARED is unsupported" #endif return 0; } EOF if compile_prog "" "$LIBS" "posix_pshared" ; then posix_pshared=yes fi print_config "POSIX pshared support" "$posix_pshared" ########################################## # POSIX pthread_condattr_setclock() probe if test "$pthread_condattr_setclock" != "no" ; then cat > $TMPC < int main(void) { pthread_condattr_t condattr; pthread_condattr_setclock(&condattr, CLOCK_MONOTONIC); return 0; } EOF if compile_prog "" "$LIBS" "pthread_condattr_setclock" ; then pthread_condattr_setclock=yes elif compile_prog "" "$LIBS -lpthread" "pthread_condattr_setclock" ; then pthread_condattr_setclock=yes LIBS="$LIBS -lpthread" fi fi print_config "pthread_condattr_setclock()" "$pthread_condattr_setclock" ########################################## # pthread_sigmask() probe if test "$pthread_sigmask" != "yes" ; then pthread_sigmask="no" fi cat > $TMPC < /* NULL */ #include /* pthread_sigmask() */ int main(void) { sigset_t sigmask; return pthread_sigmask(0, NULL, &sigmask); } EOF if compile_prog "" "$LIBS" "pthread_sigmask" ; then pthread_sigmask=yes elif compile_prog "" "$LIBS -lpthread" "pthread_sigmask" ; then pthread_sigmask=yes LIBS="$LIBS -lpthread" fi print_config "pthread_sigmask()" "$pthread_sigmask" ########################################## # pthread_getaffinity_np() probe if test "$pthread_getaffinity" != "yes" ; then pthread_getaffinity="no" fi cat > $TMPC < /* NULL */ #include /* pthread_sigmask() */ #include int main(void) { cpu_set_t set; return pthread_getaffinity_np(pthread_self(), sizeof(set), &set); } EOF if compile_prog "" "$LIBS" "pthread_getaffinity" ; then pthread_getaffinity="yes" elif compile_prog "" "$LIBS -lpthread" "pthread_getaffinity" ; then pthread_getaffinity="yes" LIBS="$LIBS -lpthread" fi print_config "pthread_getaffinity_np()" "$pthread_getaffinity" ########################################## # solaris aio probe if test "$solaris_aio" != "yes" ; then solaris_aio="no" fi cat > $TMPC < #include #include int main(void) { aio_result_t res; return aioread(0, NULL, 0, 0, SEEK_SET, &res); return 0; } EOF if compile_prog "" "-laio" "solarisaio" ; then solaris_aio=yes LIBS="-laio $LIBS" fi print_config "Solaris AIO support" "$solaris_aio" ########################################## # __sync_fetch_and_add test if test "$sfaa" != "yes" ; then sfaa="no" fi cat > $TMPC << EOF #include static int sfaa(uint64_t *ptr) { return __sync_fetch_and_add(ptr, 0); } int main(int argc, char **argv) { uint64_t val = 42; sfaa(&val); return val; } EOF if compile_prog "" "" "__sync_fetch_and_add()" ; then sfaa="yes" fi print_config "__sync_fetch_and_add" "$sfaa" ########################################## # __sync_synchronize() test if test "$sync_sync" != "yes" ; then sync_sync="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { __sync_synchronize(); return 0; } EOF if compile_prog "" "" "__sync_synchronize()" ; then sync_sync="yes" fi print_config "__sync_synchronize" "$sync_sync" ########################################## # __sync_val_compare_and_swap() test if test "$cmp_swap" != "yes" ; then cmp_swap="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { int x = 0; return __sync_val_compare_and_swap(&x, 1, 2); } EOF if compile_prog "" "" "__sync_val_compare_and_swap()" ; then cmp_swap="yes" fi print_config "__sync_val_compare_and_swap" "$cmp_swap" ########################################## # libverbs probe if test "$libverbs" != "yes" ; then libverbs="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { struct ibv_pd *pd = ibv_alloc_pd(NULL); return pd != NULL; } EOF if test "$disable_rdma" != "yes" && compile_prog "" "-libverbs -lnl-3 -lnl-route-3" "libverbs" ; then libverbs="yes" LIBS="-libverbs -lnl-3 -lnl-route-3 $LIBS" fi print_config "libverbs" "$libverbs" ########################################## # rdmacm probe if test "$rdmacm" != "yes" ; then rdmacm="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { rdma_destroy_qp(NULL); return 0; } EOF if test "$disable_rdma" != "yes" && compile_prog "" "-lrdmacm -lnl-3 -lnl-route-3" "rdma"; then rdmacm="yes" LIBS="-libverbs -lnl-3 -lnl-route-3 $LIBS" fi print_config "rdmacm" "$rdmacm" ########################################## # asprintf() and vasprintf() probes if test "$have_asprintf" != "yes" ; then have_asprintf="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { char *buf; return asprintf(&buf, "%s", "str") == 0; } EOF if compile_prog "" "" "have_asprintf"; then have_asprintf="yes" fi print_config "asprintf()" "$have_asprintf" if test "$have_vasprintf" != "yes" ; then have_vasprintf="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { va_list ap; char *buf; return vasprintf(&buf, "%s", ap) == 0; } EOF if compile_prog "" "" "have_vasprintf"; then have_vasprintf="yes" fi print_config "vasprintf()" "$have_vasprintf" ########################################## # Linux fallocate probe if test "$linux_fallocate" != "yes" ; then linux_fallocate="no" fi cat > $TMPC << EOF #include #include #include int main(int argc, char **argv) { int r = fallocate(0, FALLOC_FL_KEEP_SIZE, 0, 1024); return r; } EOF if compile_prog "" "" "linux_fallocate"; then linux_fallocate="yes" fi print_config "Linux fallocate" "$linux_fallocate" ########################################## # POSIX fadvise probe if test "$posix_fadvise" != "yes" ; then posix_fadvise="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { int r = posix_fadvise(0, 0, 0, POSIX_FADV_NORMAL); return r; } EOF if compile_prog "" "" "posix_fadvise"; then posix_fadvise="yes" fi print_config "POSIX fadvise" "$posix_fadvise" ########################################## # POSIX fallocate probe if test "$posix_fallocate" != "yes" ; then posix_fallocate="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { int r = posix_fallocate(0, 0, 1024); return r; } EOF if compile_prog "" "" "posix_fallocate"; then posix_fallocate="yes" fi print_config "POSIX fallocate" "$posix_fallocate" ########################################## # sched_set/getaffinity 2 or 3 argument test if test "$linux_2arg_affinity" != "yes" ; then linux_2arg_affinity="no" fi if test "$linux_3arg_affinity" != "yes" ; then linux_3arg_affinity="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { cpu_set_t mask = { }; return sched_setaffinity(0, sizeof(mask), &mask); } EOF if compile_prog "" "" "sched_setaffinity(,,)"; then linux_3arg_affinity="yes" else cat > $TMPC << EOF #include int main(int argc, char **argv) { cpu_set_t mask = { }; return sched_setaffinity(0, &mask); } EOF if compile_prog "" "" "sched_setaffinity(,)"; then linux_2arg_affinity="yes" fi fi print_config "sched_setaffinity(3 arg)" "$linux_3arg_affinity" print_config "sched_setaffinity(2 arg)" "$linux_2arg_affinity" ########################################## # clock_gettime probe if test "$clock_gettime" != "yes" ; then clock_gettime="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct timespec ts; return clock_gettime(0, &ts); } EOF if compile_prog "" "" "clock_gettime"; then clock_gettime="yes" elif compile_prog "" "-lrt" "clock_gettime"; then clock_gettime="yes" LIBS="-lrt $LIBS" fi print_config "clock_gettime" "$clock_gettime" ########################################## # CLOCK_MONOTONIC probe if test "$clock_monotonic" != "yes" ; then clock_monotonic="no" fi if test "$clock_gettime" = "yes" ; then cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct timespec ts; return clock_gettime(CLOCK_MONOTONIC, &ts); } EOF if compile_prog "" "$LIBS" "clock monotonic"; then clock_monotonic="yes" fi fi print_config "CLOCK_MONOTONIC" "$clock_monotonic" ########################################## # clockid_t probe if test "$clockid_t" != "yes" ; then clockid_t="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { volatile clockid_t cid; memset((void*)&cid, 0, sizeof(cid)); return 0; } EOF if compile_prog "" "$LIBS" "clockid_t"; then clockid_t="yes" fi print_config "clockid_t" "$clockid_t" ########################################## # gettimeofday() probe if test "$gettimeofday" != "yes" ; then gettimeofday="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct timeval tv; return gettimeofday(&tv, NULL); } EOF if compile_prog "" "" "gettimeofday"; then gettimeofday="yes" fi print_config "gettimeofday" "$gettimeofday" ########################################## # fdatasync() probe if test "$fdatasync" != "yes" ; then fdatasync="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { return fdatasync(0); } EOF if compile_prog "" "" "fdatasync"; then fdatasync="yes" fi print_config "fdatasync" "$fdatasync" ########################################## # pipe() probe if test "$pipe" != "yes" ; then pipe="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { int fd[2]; return pipe(fd); } EOF if compile_prog "" "" "pipe"; then pipe="yes" fi print_config "pipe()" "$pipe" ########################################## # pipe2() probe if test "$pipe2" != "yes" ; then pipe2="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { int fd[2]; return pipe2(fd, 0); } EOF if compile_prog "" "" "pipe2"; then pipe2="yes" fi print_config "pipe2()" "$pipe2" ########################################## # pread() probe if test "$pread" != "yes" ; then pread="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { return pread(0, NULL, 0, 0); } EOF if compile_prog "" "" "pread"; then pread="yes" fi print_config "pread()" "$pread" ########################################## # sync_file_range() probe if test "$sync_file_range" != "yes" ; then sync_file_range="no" fi cat > $TMPC << EOF #include #include #include #include int main(int argc, char **argv) { unsigned int flags = SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE | SYNC_FILE_RANGE_WAIT_AFTER; return sync_file_range(0, 0, 0, flags); } EOF if compile_prog "" "" "sync_file_range"; then sync_file_range="yes" fi print_config "sync_file_range" "$sync_file_range" ########################################## # ASharedMemory_create() probe if test "$ASharedMemory_create" != "yes" ; then ASharedMemory_create="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { return ASharedMemory_create("", 0); } EOF if compile_prog "" "" "ASharedMemory_create"; then ASharedMemory_create="yes" fi print_config "ASharedMemory_create" "$ASharedMemory_create" ########################################## # ext4 move extent probe if test "$ext4_me" != "yes" ; then ext4_me="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct move_extent me; return ioctl(0, EXT4_IOC_MOVE_EXT, &me); } EOF if compile_prog "" "" "ext4 move extent" ; then ext4_me="yes" elif test $targetos = "Linux" ; then # On Linux, just default to it on and let it error at runtime if we really # don't have it. None of my updated systems have it defined, but it does # work. Takes a while to bubble back. ext4_me="yes" fi print_config "EXT4 move extent" "$ext4_me" ########################################## # splice probe if test "$linux_splice" != "yes" ; then linux_splice="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { return splice(0, NULL, 0, NULL, 0, SPLICE_F_NONBLOCK); } EOF if compile_prog "" "" "linux splice"; then linux_splice="yes" fi print_config "Linux splice(2)" "$linux_splice" ########################################## # libnuma probe if test "$libnuma" != "yes" ; then libnuma="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { return numa_available(); } EOF if test "$disable_numa" != "yes" && compile_prog "" "-lnuma" "libnuma"; then libnuma="yes" LIBS="-lnuma $LIBS" fi print_config "libnuma" "$libnuma" ########################################## # libnuma 2.x version API, initialize with "no" only if $libnuma is set to "yes" if test "$libnuma" = "yes" ; then libnuma_v2="no" cat > $TMPC << EOF #include int main(int argc, char **argv) { struct bitmask *mask = numa_parse_nodestring(NULL); return mask->size == 0; } EOF if compile_prog "" "" "libnuma api"; then libnuma_v2="yes" fi print_config "libnuma v2" "$libnuma_v2" fi ########################################## # strsep() probe if test "$strsep" != "yes" ; then strsep="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { static char *string = "This is a string"; strsep(&string, "needle"); return 0; } EOF if compile_prog "" "" "strsep"; then strsep="yes" fi print_config "strsep" "$strsep" ########################################## # strcasestr() probe if test "$strcasestr" != "yes" ; then strcasestr="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { return strcasestr(argv[0], argv[1]) != NULL; } EOF if compile_prog "" "" "strcasestr"; then strcasestr="yes" fi print_config "strcasestr" "$strcasestr" ########################################## # strlcat() probe if test "$strlcat" != "yes" ; then strlcat="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { static char dst[64]; static char *string = "This is a string"; memset(dst, 0, sizeof(dst)); strlcat(dst, string, sizeof(dst)); return 0; } EOF if compile_prog "" "" "strlcat"; then strlcat="yes" fi print_config "strlcat" "$strlcat" ########################################## # getopt_long_only() probe if test "$getopt_long_only" != "yes" ; then getopt_long_only="no" fi cat > $TMPC << EOF #include #include #include int main(int argc, char **argv) { int c = getopt_long_only(argc, argv, "", NULL, NULL); return c; } EOF if compile_prog "" "" "getopt_long_only"; then getopt_long_only="yes" fi print_config "getopt_long_only()" "$getopt_long_only" ########################################## # inet_aton() probe if test "$inet_aton" != "yes" ; then inet_aton="no" fi cat > $TMPC << EOF #ifdef _WIN32 #include #else #include #include #endif #include int main(int argc, char **argv) { struct in_addr in; return inet_aton(NULL, &in); } EOF if compile_prog "" "" "inet_aton"; then inet_aton="yes" fi print_config "inet_aton" "$inet_aton" ########################################## # socklen_t probe if test "$socklen_t" != "yes" ; then socklen_t="no" fi cat > $TMPC << EOF #ifdef _WIN32 #include #include #else #include #endif int main(int argc, char **argv) { socklen_t len = 0; return len; } EOF if compile_prog "" "" "socklen_t"; then socklen_t="yes" fi print_config "socklen_t" "$socklen_t" ########################################## # Whether or not __thread is supported for TLS if test "$tls_thread" != "yes" ; then tls_thread="no" fi if test "$tls_check" != "no"; then cat > $TMPC << EOF #include static __thread int ret; int main(int argc, char **argv) { return ret; } EOF if compile_prog "" "" "__thread"; then tls_thread="yes" fi fi print_config "__thread" "$tls_thread" ########################################## # Check if we have required gtk/glib support for gfio if test "$gfio" != "yes" ; then gfio="no" fi if test "$gfio_check" = "yes" ; then cat > $TMPC << EOF #include #include #include int main(void) { gdk_threads_enter(); gdk_threads_leave(); return GTK_CHECK_VERSION(2, 18, 0) ? 0 : 1; /* 0 on success */ } EOF GTK_CFLAGS=$(pkg-config --cflags gtk+-2.0 gthread-2.0) ORG_LDFLAGS=$LDFLAGS LDFLAGS=$(echo $LDFLAGS | sed s/"-static"//g) if test "$?" != "0" ; then echo "configure: gtk and gthread not found" exit 1 fi GTK_LIBS=$(pkg-config --libs gtk+-2.0 gthread-2.0) if test "$?" != "0" ; then echo "configure: gtk and gthread not found" exit 1 fi gfio="yes" if check_min_lib_version gtk+-2.0 2.18.0 "gfio"; then if compile_prog "$GTK_CFLAGS" "$GTK_LIBS" "gfio" ; then GFIO_LIBS="$LIBS $GTK_LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS" else echo "Please install gtk and gdk libraries" gfio="no" fi else gfio="no" fi LDFLAGS=$ORG_LDFLAGS fi if test "$gfio_check" = "yes" ; then print_config "gtk 2.18 or higher" "$gfio" fi ########################################## # Check whether we have getrusage(RUSAGE_THREAD) if test "$rusage_thread" != "yes" ; then rusage_thread="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct rusage ru; getrusage(RUSAGE_THREAD, &ru); return 0; } EOF if compile_prog "" "" "RUSAGE_THREAD"; then rusage_thread="yes" fi print_config "RUSAGE_THREAD" "$rusage_thread" ########################################## # Check whether we have SCHED_IDLE if test "$sched_idle" != "yes" ; then sched_idle="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { struct sched_param p = { }; return sched_setscheduler(0, SCHED_IDLE, &p); } EOF if compile_prog "" "" "SCHED_IDLE"; then sched_idle="yes" fi print_config "SCHED_IDLE" "$sched_idle" ########################################## # Check whether we have TCP_NODELAY if test "$tcp_nodelay" != "yes" ; then tcp_nodelay="no" fi cat > $TMPC << EOF #ifdef _WIN32 #include #else #include #include #include #include #endif int main(int argc, char **argv) { return getsockopt(0, 0, TCP_NODELAY, NULL, NULL); } EOF if compile_prog "" "" "TCP_NODELAY"; then tcp_nodelay="yes" elif compile_prog "" "-lws2_32" "TCP_NODELAY"; then tcp_nodelay="yes" LIBS="$LIBS -lws2_32" fi print_config "TCP_NODELAY" "$tcp_nodelay" ########################################## # Check whether we have vsock if test "$vsock" != "yes" ; then vsock="no" fi cat > $TMPC << EOF #include #include #include int main(int argc, char **argv) { return socket(AF_VSOCK, SOCK_STREAM, 0); } EOF if compile_prog "" "" "vsock"; then vsock="yes" fi print_config "vsock" "$vsock" ########################################## # Check whether we have SO_SNDBUF if test "$window_size" != "yes" ; then window_size="no" fi cat > $TMPC << EOF #ifdef _WIN32 #include #else #include #include #include #include #endif int main(int argc, char **argv) { setsockopt(0, SOL_SOCKET, SO_SNDBUF, NULL, 0); setsockopt(0, SOL_SOCKET, SO_RCVBUF, NULL, 0); } EOF if compile_prog "" "" "SO_SNDBUF"; then window_size="yes" elif compile_prog "" "-lws2_32" "SO_SNDBUF"; then window_size="yes" LIBS="$LIBS -lws2_32" fi print_config "Net engine window_size" "$window_size" ########################################## # Check whether we have TCP_MAXSEG if test "$mss" != "yes" ; then mss="no" fi cat > $TMPC << EOF #ifdef _WIN32 #include #else #include #include #include #include #include #include #endif int main(int argc, char **argv) { return setsockopt(0, IPPROTO_TCP, TCP_MAXSEG, NULL, 0); } EOF if compile_prog "" "" "TCP_MAXSEG"; then mss="yes" elif compile_prog "" "-lws2_32" "TCP_MAXSEG"; then mss="yes" LIBS="$LIBS -lws2_32" fi print_config "TCP_MAXSEG" "$mss" ########################################## # Check whether we have RLIMIT_MEMLOCK if test "$rlimit_memlock" != "yes" ; then rlimit_memlock="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct rlimit rl; return getrlimit(RLIMIT_MEMLOCK, &rl); } EOF if compile_prog "" "" "RLIMIT_MEMLOCK"; then rlimit_memlock="yes" fi print_config "RLIMIT_MEMLOCK" "$rlimit_memlock" ########################################## # Check whether we have pwritev/preadv if test "$pwritev" != "yes" ; then pwritev="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct iovec iov[1] = { }; return pwritev(0, iov, 1, 0) + preadv(0, iov, 1, 0); } EOF if compile_prog "" "" "pwritev"; then pwritev="yes" fi print_config "pwritev/preadv" "$pwritev" ########################################## # Check whether we have pwritev2/preadv2 if test "$pwritev2" != "yes" ; then pwritev2="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct iovec iov[1] = { }; return pwritev2(0, iov, 1, 0, 0) + preadv2(0, iov, 1, 0, 0); } EOF if compile_prog "" "" "pwritev2"; then pwritev2="yes" fi print_config "pwritev2/preadv2" "$pwritev2" ########################################## # Check whether we have the required functions for ipv6 if test "$ipv6" != "yes" ; then ipv6="no" fi cat > $TMPC << EOF #ifdef _WIN32 #include #include #else #include #include #include #include #endif #include int main(int argc, char **argv) { struct addrinfo hints = { }; struct in6_addr addr = in6addr_any; int ret; ret = getaddrinfo(NULL, NULL, &hints, NULL); freeaddrinfo(NULL); printf("%s %d\n", gai_strerror(ret), addr.s6_addr[0]); return 0; } EOF if compile_prog "" "" "ipv6"; then ipv6="yes" fi print_config "IPv6 helpers" "$ipv6" ########################################## # check for http if test "$http" != "yes" ; then http="no" fi # check for openssl >= 1.1.0, which uses an opaque HMAC_CTX pointer cat > $TMPC << EOF #include #include int main(int argc, char **argv) { CURL *curl; HMAC_CTX *ctx; curl = curl_easy_init(); curl_easy_cleanup(curl); ctx = HMAC_CTX_new(); HMAC_CTX_reset(ctx); HMAC_CTX_free(ctx); return 0; } EOF # openssl < 1.1.0 uses the HMAC_CTX type directly cat > $TMPC2 << EOF #include #include int main(int argc, char **argv) { CURL *curl; HMAC_CTX ctx; curl = curl_easy_init(); curl_easy_cleanup(curl); HMAC_CTX_init(&ctx); HMAC_CTX_cleanup(&ctx); return 0; } EOF if test "$disable_http" != "yes"; then HTTP_LIBS="-lcurl -lssl -lcrypto" if compile_prog "" "$HTTP_LIBS" "curl-new-ssl"; then output_sym "CONFIG_HAVE_OPAQUE_HMAC_CTX" http="yes" elif mv $TMPC2 $TMPC && compile_prog "" "$HTTP_LIBS" "curl-old-ssl"; then http="yes" fi fi print_config "http engine" "$http" ########################################## # check for rados if test "$rados" != "yes" ; then rados="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { rados_t cluster; rados_ioctx_t io_ctx; const char cluster_name[] = "ceph"; const char user_name[] = "client.admin"; const char pool[] = "rados"; /* The rados_create2 signature required was only introduced in ceph 0.65 */ rados_create2(&cluster, cluster_name, user_name, 0); rados_ioctx_create(cluster, pool, &io_ctx); return 0; } EOF if test "$disable_rados" != "yes" && compile_prog "" "-lrados" "rados"; then rados="yes" fi print_config "Rados engine" "$rados" ########################################## # check for rbd if test "$rbd" != "yes" ; then rbd="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { rados_t cluster; rados_ioctx_t io_ctx; const char cluster_name[] = "ceph"; const char user_name[] = "client.admin"; const char pool[] = "rbd"; int major, minor, extra; rbd_version(&major, &minor, &extra); /* The rados_create2 signature required was only introduced in ceph 0.65 */ rados_create2(&cluster, cluster_name, user_name, 0); rados_ioctx_create(cluster, pool, &io_ctx); return 0; } EOF if test "$disable_rbd" != "yes" && compile_prog "" "-lrbd -lrados" "rbd"; then rbd="yes" fi print_config "Rados Block Device engine" "$rbd" ########################################## # check for rbd_poll if test "$rbd_poll" != "yes" ; then rbd_poll="no" fi if test "$rbd" = "yes"; then cat > $TMPC << EOF #include #include int main(int argc, char **argv) { rbd_image_t image; rbd_completion_t comp; int fd = eventfd(0, EFD_NONBLOCK); rbd_set_image_notification(image, fd, EVENT_TYPE_EVENTFD); rbd_poll_io_events(image, comp, 1); return 0; } EOF if compile_prog "" "-lrbd -lrados" "rbd"; then rbd_poll="yes" fi print_config "rbd_poll" "$rbd_poll" fi ########################################## # check for rbd_invalidate_cache() if test "$rbd_inval" != "yes" ; then rbd_inval="no" fi if test "$rbd" = "yes"; then cat > $TMPC << EOF #include int main(int argc, char **argv) { rbd_image_t image; return rbd_invalidate_cache(image); } EOF if compile_prog "" "-lrbd -lrados" "rbd"; then rbd_inval="yes" fi print_config "rbd_invalidate_cache" "$rbd_inval" fi ########################################## # Check whether we have setvbuf if test "$setvbuf" != "yes" ; then setvbuf="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { FILE *f = NULL; char buf[80]; setvbuf(f, buf, _IOFBF, sizeof(buf)); return 0; } EOF if compile_prog "" "" "setvbuf"; then setvbuf="yes" fi print_config "setvbuf" "$setvbuf" ########################################## # check for gfapi if test "$gfapi" != "yes" ; then gfapi="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { glfs_t *g = glfs_new("foo"); return 0; } EOF if test "$disable_gfapi" != "yes" && compile_prog "" "-lgfapi -lglusterfs" "gfapi"; then gfapi="yes" fi print_config "Gluster API engine" "$gfapi" ########################################## # check for gfapi fadvise support, initialize with "no" only if $gfapi is set to "yes" if test "$gfapi" = "yes" ; then gf_fadvise="no" cat > $TMPC << EOF #include int main(int argc, char **argv) { struct glfs_fd *fd; int ret = glfs_fadvise(fd, 0, 0, 1); return 0; } EOF if compile_prog "" "-lgfapi -lglusterfs" "gfapi"; then gf_fadvise="yes" fi print_config "Gluster API use fadvise" "$gf_fadvise" fi ########################################## # check for newer gfapi if test "$gfapi" = "yes" ; then gf_new="no" cat > $TMPC << EOF #include int main(int argc, char **argv) { return glfs_fsync(NULL, NULL, NULL) && glfs_ftruncate(NULL, 0, NULL, NULL); } EOF if compile_prog "" "-lgfapi -lglusterfs" "gf new api"; then gf_new="yes" fi print_config "Gluster new API" "$gf_new" fi ########################################## # check for gfapi trim support if test "$gf_trim" != "yes" ; then gf_trim="no" fi if test "$gfapi" = "yes" ; then cat > $TMPC << EOF #include int main(int argc, char **argv) { return glfs_discard_async(NULL, 0, 0); } EOF if compile_prog "" "-lgfapi -lglusterfs" "gf trim"; then gf_trim="yes" fi print_config "Gluster API trim support" "$gf_trim" fi ########################################## # Check if we support stckf on s390 if test "$s390_z196_facilities" != "yes" ; then s390_z196_facilities="no" fi cat > $TMPC << EOF #define STFLE_BITS_Z196 45 /* various z196 facilities ... */ int main(int argc, char **argv) { /* We want just 1 double word to be returned. */ register unsigned long reg0 asm("0") = 0; unsigned long stfle_bits; asm volatile(".machine push" "\n\t" ".machine \"z9-109\"" "\n\t" "stfle %0" "\n\t" ".machine pop" "\n" : "=QS" (stfle_bits), "+d" (reg0) : : "cc"); if ((stfle_bits & (1UL << (63 - STFLE_BITS_Z196))) != 0) return 0; else return -1; } EOF if compile_prog "" "" "s390_z196_facilities"; then $TMPE if [ $? -eq 0 ]; then s390_z196_facilities="yes" fi fi print_config "s390_z196_facilities" "$s390_z196_facilities" ########################################## # Check if we have required environment variables configured for libhdfs if test "$libhdfs" = "yes" ; then hdfs_conf_error=0 if test "$JAVA_HOME" = "" ; then echo "configure: JAVA_HOME should be defined to jdk/jvm path" hdfs_conf_error=1 fi if test "$FIO_LIBHDFS_INCLUDE" = "" ; then echo "configure: FIO_LIBHDFS_INCLUDE should be defined to libhdfs include path" hdfs_conf_error=1 fi if test "$FIO_LIBHDFS_LIB" = "" ; then echo "configure: FIO_LIBHDFS_LIB should be defined to libhdfs library path" hdfs_conf_error=1 fi if test "$hdfs_conf_error" = "1" ; then feature_not_found "libhdfs" "" fi FIO_HDFS_CPU=$cpu if test "$FIO_HDFS_CPU" = "x86_64" ; then FIO_HDFS_CPU="amd64" fi fi print_config "HDFS engine" "$libhdfs" ########################################## # Check whether we have MTD if test "$mtd" != "yes" ; then mtd="no" fi cat > $TMPC << EOF #include #include #include int main(int argc, char **argv) { struct mtd_write_req ops; struct mtd_info_user info; memset(&ops, 0, sizeof(ops)); info.type = MTD_MLCNANDFLASH; return ioctl(0, MEMGETINFO, &info); } EOF if compile_prog "" "" "mtd"; then mtd="yes" fi print_config "MTD" "$mtd" ########################################## # Check whether we have libpmem if test "$libpmem" != "yes" ; then libpmem="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { return pmem_is_pmem(NULL, 0); } EOF if compile_prog "" "-lpmem" "libpmem"; then libpmem="yes" fi print_config "libpmem" "$libpmem" ########################################## # Check whether libpmem's version >= 1.5 if test "$libpmem1_5" != "yes" ; then libpmem1_5="no" fi if test "$libpmem" = "yes"; then cat > $TMPC << EOF #include #include int main(int argc, char **argv) { pmem_memcpy(NULL, NULL, 0, 0); return 0; } EOF if compile_prog "" "-lpmem" "libpmem1_5"; then libpmem1_5="yes" fi fi print_config "libpmem1_5" "$libpmem1_5" ########################################## # Check whether we have libpmem2 if test "$libpmem2" != "yes" ; then libpmem2="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { struct pmem2_config *cfg; pmem2_config_new(&cfg); pmem2_config_delete(&cfg); return 0; } EOF if compile_prog "" "-lpmem2" "libpmem2"; then libpmem2="yes" fi print_config "libpmem2" "$libpmem2" # Choose libpmem-based ioengines if test "$libpmem" = "yes" && test "$disable_pmem" = "no"; then devdax="yes" if test "$libpmem1_5" = "yes"; then pmem="yes" fi fi ########################################## # Report whether dev-dax engine is enabled print_config "PMDK dev-dax engine" "$devdax" ########################################## # Report whether libpmem engine is enabled print_config "PMDK libpmem engine" "$pmem" ########################################## # Check whether we support DDN's IME if test "$libime" != "yes" ; then libime="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { int rc; ime_native_init(); rc = ime_native_finalize(); return 0; } EOF if compile_prog "-I${ime_path}/include" "-L${ime_path}/lib -lim_client" "libime"; then libime="yes" CFLAGS="-I${ime_path}/include $CFLAGS" LDFLAGS="-Wl,-rpath ${ime_path}/lib -L${ime_path}/lib $LDFLAGS" LIBS="-lim_client $LIBS" fi print_config "DDN's Infinite Memory Engine" "$libime" ########################################## # Check if we have libiscsi if test "$libiscsi" != "no" ; then if check_min_lib_version libiscsi 1.9.0; then libiscsi="yes" libiscsi_cflags=$(pkg-config --cflags libiscsi) libiscsi_libs=$(pkg-config --libs libiscsi) else libiscsi="no" fi fi print_config "iscsi engine" "$libiscsi" ########################################## # Check if we have libnbd (for NBD support) if test "$libnbd" != "no" ; then if check_min_lib_version libnbd 0.9.8; then libnbd="yes" libnbd_cflags=$(pkg-config --cflags libnbd) libnbd_libs=$(pkg-config --libs libnbd) else libnbd="no" fi fi print_config "NBD engine" "$libnbd" ########################################## # check for dfs (DAOS File System) if test "$dfs" != "no" ; then cat > $TMPC << EOF #include #include #include int main(int argc, char **argv) { daos_handle_t poh; daos_handle_t coh; dfs_t *dfs; (void) dfs_mount(poh, coh, O_RDWR, &dfs); return 0; } EOF if compile_prog "" "-luuid -ldfs -ldaos" "dfs"; then dfs="yes" else dfs="no" fi fi print_config "DAOS File System (dfs) Engine" "$dfs" ########################################## # Check if we have libnfs (for userspace nfs support). if test "$libnfs" != "no" ; then if $(pkg-config libnfs > /dev/null 2>&1); then libnfs="yes" libnfs_cflags=$(pkg-config --cflags libnfs) libnfs_libs=$(pkg-config --libs libnfs) else if test "$libnfs" = "yes" ; then feature_not_found "libnfs" "libnfs" fi libnfs="no" fi fi print_config "NFS engine" "$libnfs" ########################################## # Check if we have lex/yacc available yacc="no" yacc_is_bison="no" lex="no" arith="no" if test "$disable_lex" = "no" || test -z "$disable_lex" ; then if test "$targetos" != "SunOS" ; then if has lex; then lex="yes" fi if has bison; then yacc="yes" yacc_is_bison="yes" elif has yacc; then yacc="yes" fi if test "$yacc" = "yes" && test "$lex" = "yes" ; then arith="yes" fi if test "$arith" = "yes" ; then cat > $TMPC << EOF extern int yywrap(void); int main(int argc, char **argv) { yywrap(); return 0; } EOF if compile_prog "" "-lfl" "flex"; then LIBS="-lfl $LIBS" elif compile_prog "" "-ll" "lex"; then LIBS="-ll $LIBS" else arith="no" fi fi fi fi # Check if lex fails using -o if test "$arith" = "yes" ; then if test "$force_no_lex_o" = "yes" ; then lex_use_o="no" else if lex -o lex.yy.c exp/expression-parser.l 2> /dev/null; then lex_use_o="yes" else lex_use_o="no" fi fi fi print_config "lex/yacc for arithmetic" "$arith" ########################################## # Check whether we have setmntent/getmntent if test "$getmntent" != "yes" ; then getmntent="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { FILE *mtab = setmntent(NULL, "r"); struct mntent *mnt = getmntent(mtab); endmntent(mtab); return mnt != NULL; } EOF if compile_prog "" "" "getmntent"; then getmntent="yes" fi print_config "getmntent" "$getmntent" ########################################## # Check whether we have getmntinfo # These are originally added for BSDs, but may also work # on other operating systems with getmntinfo(3). # getmntinfo(3) for FreeBSD/DragonFlyBSD/OpenBSD. # Note that NetBSD needs -Werror to catch warning as error. if test "$getmntinfo" != "yes" ; then getmntinfo="no" fi cat > $TMPC << EOF #include #include #include int main(int argc, char **argv) { struct statfs *st; return getmntinfo(&st, MNT_NOWAIT); } EOF if compile_prog "-Werror" "" "getmntinfo"; then getmntinfo="yes" fi print_config "getmntinfo" "$getmntinfo" # getmntinfo(3) for NetBSD. if test "$getmntinfo_statvfs" != "yes" ; then getmntinfo_statvfs="no" fi cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct statvfs *st; return getmntinfo(&st, MNT_NOWAIT); } EOF # Skip the test if the one with statfs arg is detected. if test "$getmntinfo" != "yes" && compile_prog "-Werror" "" "getmntinfo_statvfs"; then getmntinfo_statvfs="yes" print_config "getmntinfo_statvfs" "$getmntinfo_statvfs" fi ########################################## # Check whether we have _Static_assert if test "$static_assert" != "yes" ; then static_assert="no" fi cat > $TMPC << EOF #include #include #include struct foo { int a, b; }; int main(int argc, char **argv) { _Static_assert(offsetof(struct foo, a) == 0 , "Check"); return 0 ; } EOF if compile_prog "" "" "static_assert"; then static_assert="yes" fi print_config "Static Assert" "$static_assert" ########################################## # Check whether we have bool / stdbool.h if test "$have_bool" != "yes" ; then have_bool="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { bool var = true; return var != false; } EOF if compile_prog "" "" "bool"; then have_bool="yes" fi print_config "bool" "$have_bool" ########################################## # Check whether we have strndup() strndup="no" cat > $TMPC << EOF #include #include int main(int argc, char **argv) { char *res = strndup("test string", 8); free(res); return 0; } EOF if compile_prog "" "" "strndup"; then strndup="yes" fi print_config "strndup" "$strndup" ########################################## # probe # Note: presence of implies that is # also available but not the other way around. if test "$valgrind_dev" != "yes" ; then valgrind_dev="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { return 0; } EOF if compile_prog "" "" "valgrind_dev"; then valgrind_dev="yes" fi print_config "Valgrind headers" "$valgrind_dev" if test "$targetos" = "Linux" || test "$targetos" = "Android"; then ########################################## # probe if test "$linux_blkzoned" != "yes" ; then linux_blkzoned="no" fi cat > $TMPC << EOF #include int main(int argc, char **argv) { return 0; } EOF if compile_prog "" "" "linux_blkzoned"; then linux_blkzoned="yes" fi print_config "Zoned block device support" "$linux_blkzoned" ########################################## # Check BLK_ZONE_REP_CAPACITY cat > $TMPC << EOF #include int main(void) { return BLK_ZONE_REP_CAPACITY; } EOF if compile_prog "" "" "blkzoned report capacity"; then output_sym "CONFIG_HAVE_REP_CAPACITY" rep_capacity="yes" else rep_capacity="no" fi print_config "Zoned block device capacity" "$rep_capacity" fi ########################################## # libzbc probe cat > $TMPC << EOF #include int main(int argc, char **argv) { struct zbc_device *dev = NULL; return zbc_open("foo=bar", O_RDONLY, &dev); } EOF if test "$libzbc" != "no" ; then if [ -e /usr/include/libzbc/libzbc ]; then # SUSE Linux. CFLAGS="$CFLAGS -I/usr/include/libzbc" fi if compile_prog "" "-lzbc" "libzbc"; then libzbc="yes" if ! check_min_lib_version libzbc 5; then libzbc="no" fi else if test "$libzbc" = "yes" ; then feature_not_found "libzbc" "libzbc or libzbc/zbc.h" fi libzbc="no" fi fi print_config "libzbc engine" "$libzbc" if test "$targetos" = "Linux" || test "$targetos" = "Android"; then ########################################## # Check NVME_URING_CMD support cat > $TMPC << EOF #include int main(void) { return sizeof(struct nvme_uring_cmd); } EOF if compile_prog "" "" "nvme uring cmd"; then output_sym "CONFIG_NVME_URING_CMD" nvme_uring_cmd="yes" else nvme_uring_cmd="no" fi print_config "NVMe uring command support" "$nvme_uring_cmd" fi ########################################## # Check if we have xnvme if test "$xnvme" != "no" ; then if check_min_lib_version xnvme 0.7.4; then xnvme="yes" xnvme_cflags=$(pkg-config --cflags xnvme) xnvme_libs=$(pkg-config --libs xnvme) else xnvme="no" fi fi print_config "xnvme engine" "$xnvme" if test "$targetos" = "Linux" ; then ########################################## # Check ISA-L support cat > $TMPC << EOF #include #include int main(void) { return crc16_t10dif(0, NULL, 4096); } EOF if test "$isal" != "no" ; then if compile_prog "" "-lisal" "ISAL"; then isal="yes" LIBS="-lisal $LIBS" else isal="no" fi fi print_config "isal" "$isal" fi ########################################## # Check if we have libblkio if test "$libblkio" != "no" ; then if check_min_lib_version blkio 1.0.0; then libblkio="yes" libblkio_cflags=$(pkg-config --cflags blkio) libblkio_libs=$(pkg-config --libs blkio) else if test "$libblkio" = "yes" ; then feature_not_found "libblkio" "libblkio-dev or libblkio-devel" fi libblkio="no" fi fi print_config "libblkio engine" "$libblkio" ########################################## # check march=armv8-a+crc+crypto march_armv8_a_crc_crypto="no" if test "$cpu" = "arm64" ; then cat > $TMPC < #include #include #endif int main(void) { /* Can we also do a runtime probe? */ #if __linux__ return getauxval(AT_HWCAP); #elif defined(__APPLE__) return 0; #else # error "Don't know how to do runtime probe for ARM CRC32c" #endif } EOF if compile_prog "-march=armv8-a+crc+crypto" "" "ARM CRC32c"; then march_armv8_a_crc_crypto="yes" CFLAGS="$CFLAGS -march=armv8-a+crc+crypto" march_set="yes" fi fi print_config "march_armv8_a_crc_crypto" "$march_armv8_a_crc_crypto" ########################################## # cuda probe if test "$cuda" != "no" ; then cat > $TMPC << EOF #include int main(int argc, char **argv) { return cuInit(0); } EOF if compile_prog "" "-lcuda" "cuda"; then cuda="yes" LIBS="-lcuda $LIBS" else if test "$cuda" = "yes" ; then feature_not_found "cuda" "" fi cuda="no" fi fi print_config "cuda" "$cuda" ########################################## # libcufile probe if test "$libcufile" != "no" ; then cat > $TMPC << EOF #include int main(int argc, char* argv[]) { cuFileDriverOpen(); return 0; } EOF if compile_prog "" "-lcuda -lcudart -lcufile -ldl" "libcufile"; then libcufile="yes" LIBS="-lcuda -lcudart -lcufile -ldl $LIBS" else if test "$libcufile" = "yes" ; then feature_not_found "libcufile" "" fi libcufile="no" fi fi print_config "libcufile" "$libcufile" ########################################## # check for cc -march=native build_native="no" cat > $TMPC << EOF int main(int argc, char **argv) { return 0; } EOF if test "$disable_native" = "no" && test "$disable_opt" != "yes" && \ compile_prog "-march=native" "" "march=native"; then build_native="yes" fi print_config "Build march=native" "$build_native" ########################################## # check for -lcunit if test "$cunit" != "yes" ; then cunit="no" fi cat > $TMPC << EOF #include #include int main(void) { if (CU_initialize_registry() != CUE_SUCCESS) return CU_get_error(); CU_basic_set_mode(CU_BRM_VERBOSE); CU_basic_run_tests(); CU_cleanup_registry(); return CU_get_error(); } EOF if compile_prog "" "-lcunit" "CUnit"; then cunit="yes" fi print_config "CUnit" "$cunit" ########################################## # check for __kernel_rwf_t __kernel_rwf_t="no" cat > $TMPC << EOF #include int main(int argc, char **argv) { __kernel_rwf_t x; x = 0; return x; } EOF if compile_prog "" "" "__kernel_rwf_t"; then __kernel_rwf_t="yes" fi print_config "__kernel_rwf_t" "$__kernel_rwf_t" ########################################## # check if gcc has -Wimplicit-fallthrough=2 fallthrough="no" cat > $TMPC << EOF int main(int argc, char **argv) { return 0; } EOF if compile_prog "-Wimplicit-fallthrough=2" "" "-Wimplicit-fallthrough=2"; then fallthrough="yes" fi print_config "-Wimplicit-fallthrough=2" "$fallthrough" ########################################## # check if the compiler has -Wno-stringop-concatenation no_stringop="no" cat > $TMPC << EOF #include int main(int argc, char **argv) { return printf("%s\n", argv[0]); } EOF if compile_prog "-Wno-stringop-truncation -Werror" "" "no_stringop"; then no_stringop="yes" fi print_config "-Wno-stringop-truncation" "$no_stringop" ########################################## # check for MADV_HUGEPAGE support if test "$thp" != "yes" ; then thp="no" fi if test "$esx" != "yes" ; then cat > $TMPC < int main(void) { return madvise(0, 0x1000, MADV_HUGEPAGE); } EOF if compile_prog "" "" "thp" ; then thp=yes else if test "$thp" = "yes" ; then feature_not_found "Transparent Huge Page" "" fi thp=no fi fi print_config "MADV_HUGEPAGE" "$thp" ########################################## # check for gettid() gettid="no" cat > $TMPC << EOF #include int main(int argc, char **argv) { return gettid(); } EOF if compile_prog "" "" "gettid"; then gettid="yes" fi print_config "gettid" "$gettid" ########################################## # check for statx(2) support by libc statx="no" cat > $TMPC << EOF #include #include int main(int argc, char **argv) { struct statx st; return statx(-1, *argv, 0, 0, &st); } EOF if compile_prog "" "" "statx"; then statx="yes" fi print_config "statx(2)/libc" "$statx" ########################################## # check for statx(2) support by kernel statx_syscall="no" cat > $TMPC << EOF #include #include #include #include static int _statx(int dfd, const char *pathname, int flags, unsigned int mask, struct statx *buffer) { return syscall(__NR_statx, dfd, pathname, flags, mask, buffer); } int main(int argc, char **argv) { struct statx st; return _statx(-1, *argv, 0, 0, &st); } EOF if compile_prog "" "" "statx_syscall"; then statx_syscall="yes" fi print_config "statx(2)/syscall" "$statx_syscall" ########################################## # check for Windows PDB generation support if test "pdb" != "no" ; then cat > $TMPC < $TMPC << EOF #include #include int main(int argc, char **argv) { return timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK); } EOF if compile_prog "" "" "timerfd_create"; then timerfd_create="yes" fi fi print_config "timerfd_create" "$timerfd_create" ############################################################################# if test "$wordsize" = "64" ; then output_sym "CONFIG_64BIT" elif test "$wordsize" = "32" ; then output_sym "CONFIG_32BIT" else fatal "Unknown wordsize!" fi if test "$bigendian" = "yes" ; then output_sym "CONFIG_BIG_ENDIAN" else output_sym "CONFIG_LITTLE_ENDIAN" fi if test "$zlib" = "yes" ; then output_sym "CONFIG_ZLIB" fi if test "$libaio" = "yes" ; then output_sym "CONFIG_LIBAIO" if test "$libaio_rw_flags" = "yes" ; then output_sym "CONFIG_LIBAIO_RW_FLAGS" fi fi if test "$posix_aio" = "yes" ; then output_sym "CONFIG_POSIXAIO" fi if test "$posix_aio_fsync" = "yes" ; then output_sym "CONFIG_POSIXAIO_FSYNC" fi if test "$posix_pshared" = "yes" ; then output_sym "CONFIG_PSHARED" fi if test "$pthread_condattr_setclock" = "yes" ; then output_sym "CONFIG_PTHREAD_CONDATTR_SETCLOCK" fi if test "$pthread_sigmask" = "yes" ; then output_sym "CONFIG_PTHREAD_SIGMASK" fi if test "$pthread_getaffinity" = "yes" ; then output_sym "CONFIG_PTHREAD_GETAFFINITY" fi if test "$have_asprintf" = "yes" ; then output_sym "CONFIG_HAVE_ASPRINTF" fi if test "$have_vasprintf" = "yes" ; then output_sym "CONFIG_HAVE_VASPRINTF" fi if test "$linux_fallocate" = "yes" ; then output_sym "CONFIG_LINUX_FALLOCATE" fi if test "$posix_fallocate" = "yes" ; then output_sym "CONFIG_POSIX_FALLOCATE" fi if test "$fdatasync" = "yes" ; then output_sym "CONFIG_FDATASYNC" fi if test "$pipe" = "yes" ; then output_sym "CONFIG_PIPE" fi if test "$pipe2" = "yes" ; then output_sym "CONFIG_PIPE2" fi if test "$pread" = "yes" ; then output_sym "CONFIG_PREAD" fi if test "$sync_file_range" = "yes" ; then output_sym "CONFIG_SYNC_FILE_RANGE" fi if test "$ASharedMemory_create" = "yes" ; then output_sym "CONFIG_ASHAREDMEMORY_CREATE" fi if test "$sfaa" = "yes" ; then output_sym "CONFIG_SFAA" fi if test "$sync_sync" = "yes" ; then output_sym "CONFIG_SYNC_SYNC" fi if test "$cmp_swap" = "yes" ; then output_sym "CONFIG_CMP_SWAP" fi if test "$libverbs" = "yes" -a "$rdmacm" = "yes" ; then output_sym "CONFIG_RDMA" fi if test "$clock_gettime" = "yes" ; then output_sym "CONFIG_CLOCK_GETTIME" fi if test "$clock_monotonic" = "yes" ; then output_sym "CONFIG_CLOCK_MONOTONIC" fi if test "$clockid_t" = "yes"; then output_sym "CONFIG_CLOCKID_T" fi if test "$gettimeofday" = "yes" ; then output_sym "CONFIG_GETTIMEOFDAY" fi if test "$posix_fadvise" = "yes" ; then output_sym "CONFIG_POSIX_FADVISE" fi if test "$linux_3arg_affinity" = "yes" ; then output_sym "CONFIG_3ARG_AFFINITY" elif test "$linux_2arg_affinity" = "yes" ; then output_sym "CONFIG_2ARG_AFFINITY" fi if test "$strsep" = "yes" ; then output_sym "CONFIG_STRSEP" fi if test "$strcasestr" = "yes" ; then output_sym "CONFIG_STRCASESTR" fi if test "$strlcat" = "yes" ; then output_sym "CONFIG_STRLCAT" fi if test "$getopt_long_only" = "yes" ; then output_sym "CONFIG_GETOPT_LONG_ONLY" fi if test "$inet_aton" = "yes" ; then output_sym "CONFIG_INET_ATON" fi if test "$socklen_t" = "yes" ; then output_sym "CONFIG_SOCKLEN_T" fi if test "$ext4_me" = "yes" ; then output_sym "CONFIG_LINUX_EXT4_MOVE_EXTENT" fi if test "$linux_splice" = "yes" ; then output_sym "CONFIG_LINUX_SPLICE" fi if test "$libnuma_v2" = "yes" ; then output_sym "CONFIG_LIBNUMA" fi if test "$solaris_aio" = "yes" ; then output_sym "CONFIG_SOLARISAIO" fi if test "$tls_thread" = "yes" ; then output_sym "CONFIG_TLS_THREAD" fi if test "$rusage_thread" = "yes" ; then output_sym "CONFIG_RUSAGE_THREAD" fi if test "$gfio" = "yes" ; then output_sym "CONFIG_GFIO" fi if test "$esx" = "yes" ; then output_sym "CONFIG_ESX" output_sym "CONFIG_NO_SHM" fi if test "$sched_idle" = "yes" ; then output_sym "CONFIG_SCHED_IDLE" fi if test "$tcp_nodelay" = "yes" ; then output_sym "CONFIG_TCP_NODELAY" fi if test "$window_size" = "yes" ; then output_sym "CONFIG_NET_WINDOWSIZE" fi if test "$mss" = "yes" ; then output_sym "CONFIG_NET_MSS" fi if test "$rlimit_memlock" = "yes" ; then output_sym "CONFIG_RLIMIT_MEMLOCK" fi if test "$pwritev" = "yes" ; then output_sym "CONFIG_PWRITEV" fi if test "$pwritev2" = "yes" ; then output_sym "CONFIG_PWRITEV2" fi if test "$ipv6" = "yes" ; then output_sym "CONFIG_IPV6" fi if test "$vsock" = "yes"; then output_sym "CONFIG_VSOCK" fi if test "$http" = "yes" ; then output_sym "CONFIG_HTTP" fi if test "$rados" = "yes" ; then output_sym "CONFIG_RADOS" fi if test "$rbd" = "yes" ; then output_sym "CONFIG_RBD" fi if test "$rbd_poll" = "yes" ; then output_sym "CONFIG_RBD_POLL" fi if test "$rbd_inval" = "yes" ; then output_sym "CONFIG_RBD_INVAL" fi if test "$setvbuf" = "yes" ; then output_sym "CONFIG_SETVBUF" fi if test "$s390_z196_facilities" = "yes" ; then output_sym "CONFIG_S390_Z196_FACILITIES" CFLAGS="$CFLAGS -march=z9-109" march_set="yes" fi if test "$gfapi" = "yes" ; then output_sym "CONFIG_GFAPI" fi if test "$gf_fadvise" = "yes" ; then output_sym "CONFIG_GF_FADVISE" fi if test "$gf_trim" = "yes" ; then output_sym "CONFIG_GF_TRIM" fi if test "$gf_new" = "yes" ; then output_sym "CONFIG_GF_NEW_API" fi if test "$libhdfs" = "yes" ; then output_sym "CONFIG_LIBHDFS" echo "FIO_HDFS_CPU=$FIO_HDFS_CPU" >> $config_host_mak echo "JAVA_HOME=$JAVA_HOME" >> $config_host_mak echo "FIO_LIBHDFS_INCLUDE=$FIO_LIBHDFS_INCLUDE" >> $config_host_mak echo "FIO_LIBHDFS_LIB=$FIO_LIBHDFS_LIB" >> $config_host_mak fi if test "$mtd" = "yes" ; then output_sym "CONFIG_MTD" fi if test "$devdax" = "yes" ; then output_sym "CONFIG_LINUX_DEVDAX" fi if test "$pmem" = "yes" ; then output_sym "CONFIG_LIBPMEM" fi if test "$libpmem2" = "yes" ; then output_sym "CONFIG_LIBPMEM2_INSTALLED" fi if test "$libime" = "yes" ; then output_sym "CONFIG_IME" fi if test "$arith" = "yes" ; then output_sym "CONFIG_ARITHMETIC" if test "$yacc_is_bison" = "yes" ; then echo "YACC=bison -y" >> $config_host_mak else echo "YACC=yacc" >> $config_host_mak fi if test "$lex_use_o" = "yes" ; then echo "CONFIG_LEX_USE_O=y" >> $config_host_mak fi fi if test "$getmntent" = "yes" ; then output_sym "CONFIG_GETMNTENT" fi if test "$getmntinfo" = "yes" ; then output_sym "CONFIG_GETMNTINFO" fi if test "$getmntinfo_statvfs" = "yes" ; then output_sym "CONFIG_GETMNTINFO_STATVFS" fi if test "$static_assert" = "yes" ; then output_sym "CONFIG_STATIC_ASSERT" fi if test "$have_bool" = "yes" ; then output_sym "CONFIG_HAVE_BOOL" fi if test "$strndup" = "yes" ; then output_sym "CONFIG_HAVE_STRNDUP" fi if test "$disable_opt" = "yes" ; then output_sym "CONFIG_DISABLE_OPTIMIZATIONS" fi if test "$valgrind_dev" = "yes"; then output_sym "CONFIG_VALGRIND_DEV" fi if test "$linux_blkzoned" = "yes" ; then output_sym "CONFIG_HAS_BLKZONED" fi if test "$libzbc" = "yes" ; then output_sym "CONFIG_LIBZBC" fi if test "$zlib" = "no" ; then echo "Consider installing zlib1g-dev (zlib-devel) as some fio features depend on it." if test "$build_static" = "yes"; then echo "Note that some distros have separate packages for static libraries." fi fi if test "$march_armv8_a_crc_crypto" = "yes" ; then output_sym "ARCH_HAVE_CRC_CRYPTO" fi if test "$cuda" = "yes" ; then output_sym "CONFIG_CUDA" fi if test "$libcufile" = "yes" ; then output_sym "CONFIG_LIBCUFILE" fi if test "$dfs" = "yes" ; then output_sym "CONFIG_DFS" fi if test "$march_set" = "no" && test "$build_native" = "yes" ; then output_sym "CONFIG_BUILD_NATIVE" fi if test "$cunit" = "yes" ; then output_sym "CONFIG_HAVE_CUNIT" fi if test "$__kernel_rwf_t" = "yes"; then output_sym "CONFIG_HAVE_KERNEL_RWF_T" fi if test "$gettid" = "yes"; then output_sym "CONFIG_HAVE_GETTID" fi if test "$statx" = "yes"; then output_sym "CONFIG_HAVE_STATX" fi if test "$statx_syscall" = "yes"; then output_sym "CONFIG_HAVE_STATX_SYSCALL" fi if test "$timerfd_create" = "yes"; then output_sym "CONFIG_HAVE_TIMERFD_CREATE" fi if test "$fallthrough" = "yes"; then CFLAGS="$CFLAGS -Wimplicit-fallthrough" fi if test "$no_stringop" = "yes"; then output_sym "CONFIG_HAVE_NO_STRINGOP" fi if test "$thp" = "yes" ; then output_sym "CONFIG_HAVE_THP" fi if test "$libiscsi" = "yes" ; then output_sym "CONFIG_LIBISCSI" echo "CONFIG_LIBISCSI=m" >> $config_host_mak echo "LIBISCSI_CFLAGS=$libiscsi_cflags" >> $config_host_mak echo "LIBISCSI_LIBS=$libiscsi_libs" >> $config_host_mak fi if test "$libnbd" = "yes" ; then output_sym "CONFIG_LIBNBD" echo "CONFIG_LIBNBD=m" >> $config_host_mak echo "LIBNBD_CFLAGS=$libnbd_cflags" >> $config_host_mak echo "LIBNBD_LIBS=$libnbd_libs" >> $config_host_mak fi if test "$libnfs" = "yes" ; then output_sym "CONFIG_LIBNFS" echo "LIBNFS_CFLAGS=$libnfs_cflags" >> $config_host_mak echo "LIBNFS_LIBS=$libnfs_libs" >> $config_host_mak fi if test "$xnvme" = "yes" ; then output_sym "CONFIG_LIBXNVME" echo "LIBXNVME_CFLAGS=$xnvme_cflags" >> $config_host_mak echo "LIBXNVME_LIBS=$xnvme_libs" >> $config_host_mak fi if test "$isal" = "yes" ; then output_sym "CONFIG_LIBISAL" fi if test "$libblkio" = "yes" ; then output_sym "CONFIG_LIBBLKIO" echo "LIBBLKIO_CFLAGS=$libblkio_cflags" >> $config_host_mak echo "LIBBLKIO_LIBS=$libblkio_libs" >> $config_host_mak fi if test "$dynamic_engines" = "yes" ; then output_sym "CONFIG_DYNAMIC_ENGINES" fi if test "$pdb" = yes; then output_sym "CONFIG_PDB" fi if test "$fcntl_sync" = "yes" ; then output_sym "CONFIG_FCNTL_SYNC" fi if test "$asan" = "yes"; then CFLAGS="$CFLAGS -fsanitize=address" LDFLAGS="$LDFLAGS -fsanitize=address" fi print_config "Lib-based ioengines dynamic" "$dynamic_engines" cat > $TMPC << EOF int main(int argc, char **argv) { return 0; } EOF if test "$disable_tcmalloc" != "yes"; then if compile_prog "" "-ltcmalloc" "tcmalloc"; then tcmalloc="yes" LIBS="-ltcmalloc $LIBS" elif compile_prog "" "-l:libtcmalloc_minimal.so.4" "tcmalloc_minimal4"; then tcmalloc="yes" LIBS="-l:libtcmalloc_minimal.so.4 $LIBS" else tcmalloc="no" fi fi print_config "TCMalloc support" "$tcmalloc" if ! num "$seed_buckets"; then seed_buckets=4 elif test "$seed_buckets" -lt 2; then seed_buckets=2 elif test "$seed_buckets" -gt 16; then seed_buckets=16 fi echo "#define CONFIG_SEED_BUCKETS $seed_buckets" >> $config_host_h print_config "seed_buckets" "$seed_buckets" echo "LIBS+=$LIBS" >> $config_host_mak echo "GFIO_LIBS+=$GFIO_LIBS" >> $config_host_mak echo "CFLAGS+=$CFLAGS" >> $config_host_mak echo "LDFLAGS+=$LDFLAGS" >> $config_host_mak echo "CC=$cc" >> $config_host_mak echo "BUILD_CFLAGS=$BUILD_CFLAGS $CFLAGS" >> $config_host_mak echo "INSTALL_PREFIX=$prefix" >> $config_host_mak if [ `dirname $0` != "." -a ! -e Makefile ]; then cat > Makefile < * * This source code is licensed under the GNU General Public License, * Version 2. See the file COPYING for more details. */ #ifndef __CRC16_H #define __CRC16_H extern unsigned short const crc16_table[256]; extern unsigned short fio_crc16(const void *buffer, unsigned int len); static inline unsigned short crc16_byte(unsigned short crc, const unsigned char data) { return (crc >> 8) ^ crc16_table[(crc ^ data) & 0xff]; } #endif /* __CRC16_H */ fio-3.39/crc/crc32.c000066400000000000000000000102661476262051600140720ustar00rootroot00000000000000/* crc32 -- calculate and POSIX.2 checksum Copyright (C) 92, 1995-1999 Free Software Foundation, Inc. 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 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "crc32.h" static const uint32_t crctab[256] = { 0x0, 0x04C11DB7, 0x09823B6E, 0x0D4326D9, 0x130476DC, 0x17C56B6B, 0x1A864DB2, 0x1E475005, 0x2608EDB8, 0x22C9F00F, 0x2F8AD6D6, 0x2B4BCB61, 0x350C9B64, 0x31CD86D3, 0x3C8EA00A, 0x384FBDBD, 0x4C11DB70, 0x48D0C6C7, 0x4593E01E, 0x4152FDA9, 0x5F15ADAC, 0x5BD4B01B, 0x569796C2, 0x52568B75, 0x6A1936C8, 0x6ED82B7F, 0x639B0DA6, 0x675A1011, 0x791D4014, 0x7DDC5DA3, 0x709F7B7A, 0x745E66CD, 0x9823B6E0, 0x9CE2AB57, 0x91A18D8E, 0x95609039, 0x8B27C03C, 0x8FE6DD8B, 0x82A5FB52, 0x8664E6E5, 0xBE2B5B58, 0xBAEA46EF, 0xB7A96036, 0xB3687D81, 0xAD2F2D84, 0xA9EE3033, 0xA4AD16EA, 0xA06C0B5D, 0xD4326D90, 0xD0F37027, 0xDDB056FE, 0xD9714B49, 0xC7361B4C, 0xC3F706FB, 0xCEB42022, 0xCA753D95, 0xF23A8028, 0xF6FB9D9F, 0xFBB8BB46, 0xFF79A6F1, 0xE13EF6F4, 0xE5FFEB43, 0xE8BCCD9A, 0xEC7DD02D, 0x34867077, 0x30476DC0, 0x3D044B19, 0x39C556AE, 0x278206AB, 0x23431B1C, 0x2E003DC5, 0x2AC12072, 0x128E9DCF, 0x164F8078, 0x1B0CA6A1, 0x1FCDBB16, 0x018AEB13, 0x054BF6A4, 0x0808D07D, 0x0CC9CDCA, 0x7897AB07, 0x7C56B6B0, 0x71159069, 0x75D48DDE, 0x6B93DDDB, 0x6F52C06C, 0x6211E6B5, 0x66D0FB02, 0x5E9F46BF, 0x5A5E5B08, 0x571D7DD1, 0x53DC6066, 0x4D9B3063, 0x495A2DD4, 0x44190B0D, 0x40D816BA, 0xACA5C697, 0xA864DB20, 0xA527FDF9, 0xA1E6E04E, 0xBFA1B04B, 0xBB60ADFC, 0xB6238B25, 0xB2E29692, 0x8AAD2B2F, 0x8E6C3698, 0x832F1041, 0x87EE0DF6, 0x99A95DF3, 0x9D684044, 0x902B669D, 0x94EA7B2A, 0xE0B41DE7, 0xE4750050, 0xE9362689, 0xEDF73B3E, 0xF3B06B3B, 0xF771768C, 0xFA325055, 0xFEF34DE2, 0xC6BCF05F, 0xC27DEDE8, 0xCF3ECB31, 0xCBFFD686, 0xD5B88683, 0xD1799B34, 0xDC3ABDED, 0xD8FBA05A, 0x690CE0EE, 0x6DCDFD59, 0x608EDB80, 0x644FC637, 0x7A089632, 0x7EC98B85, 0x738AAD5C, 0x774BB0EB, 0x4F040D56, 0x4BC510E1, 0x46863638, 0x42472B8F, 0x5C007B8A, 0x58C1663D, 0x558240E4, 0x51435D53, 0x251D3B9E, 0x21DC2629, 0x2C9F00F0, 0x285E1D47, 0x36194D42, 0x32D850F5, 0x3F9B762C, 0x3B5A6B9B, 0x0315D626, 0x07D4CB91, 0x0A97ED48, 0x0E56F0FF, 0x1011A0FA, 0x14D0BD4D, 0x19939B94, 0x1D528623, 0xF12F560E, 0xF5EE4BB9, 0xF8AD6D60, 0xFC6C70D7, 0xE22B20D2, 0xE6EA3D65, 0xEBA91BBC, 0xEF68060B, 0xD727BBB6, 0xD3E6A601, 0xDEA580D8, 0xDA649D6F, 0xC423CD6A, 0xC0E2D0DD, 0xCDA1F604, 0xC960EBB3, 0xBD3E8D7E, 0xB9FF90C9, 0xB4BCB610, 0xB07DABA7, 0xAE3AFBA2, 0xAAFBE615, 0xA7B8C0CC, 0xA379DD7B, 0x9B3660C6, 0x9FF77D71, 0x92B45BA8, 0x9675461F, 0x8832161A, 0x8CF30BAD, 0x81B02D74, 0x857130C3, 0x5D8A9099, 0x594B8D2E, 0x5408ABF7, 0x50C9B640, 0x4E8EE645, 0x4A4FFBF2, 0x470CDD2B, 0x43CDC09C, 0x7B827D21, 0x7F436096, 0x7200464F, 0x76C15BF8, 0x68860BFD, 0x6C47164A, 0x61043093, 0x65C52D24, 0x119B4BE9, 0x155A565E, 0x18197087, 0x1CD86D30, 0x029F3D35, 0x065E2082, 0x0B1D065B, 0x0FDC1BEC, 0x3793A651, 0x3352BBE6, 0x3E119D3F, 0x3AD08088, 0x2497D08D, 0x2056CD3A, 0x2D15EBE3, 0x29D4F654, 0xC5A92679, 0xC1683BCE, 0xCC2B1D17, 0xC8EA00A0, 0xD6AD50A5, 0xD26C4D12, 0xDF2F6BCB, 0xDBEE767C, 0xE3A1CBC1, 0xE760D676, 0xEA23F0AF, 0xEEE2ED18, 0xF0A5BD1D, 0xF464A0AA, 0xF9278673, 0xFDE69BC4, 0x89B8FD09, 0x8D79E0BE, 0x803AC667, 0x84FBDBD0, 0x9ABC8BD5, 0x9E7D9662, 0x933EB0BB, 0x97FFAD0C, 0xAFB010B1, 0xAB710D06, 0xA6322BDF, 0xA2F33668, 0xBCB4666D, 0xB8757BDA, 0xB5365D03, 0xB1F740B4 }; uint32_t fio_crc32(const void *buffer, unsigned long length) { const unsigned char *cp = (const unsigned char *) buffer; uint32_t crc = 0; while (length--) crc = (crc << 8) ^ crctab[((crc >> 24) ^ *(cp++)) & 0xFF]; return crc; } fio-3.39/crc/crc32.h000066400000000000000000000016511476262051600140750ustar00rootroot00000000000000/* crc32 -- calculate and POSIX.2 checksum Copyright (C) 92, 1995-1999 Free Software Foundation, Inc. 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 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef CRC32_H #define CRC32_H #include extern uint32_t fio_crc32(const void * const, unsigned long); #endif fio-3.39/crc/crc32c-arm64.c000066400000000000000000000050731476262051600151640ustar00rootroot00000000000000#include "crc32c.h" #include "../os/os.h" bool crc32c_arm64_available = false; #ifdef ARCH_HAVE_CRC_CRYPTO #define CRC32C3X8(ITR) \ crc1 = __crc32cd(crc1, *((const uint64_t *)data + 42*1 + (ITR)));\ crc2 = __crc32cd(crc2, *((const uint64_t *)data + 42*2 + (ITR)));\ crc0 = __crc32cd(crc0, *((const uint64_t *)data + 42*0 + (ITR))); #define CRC32C7X3X8(ITR) do {\ CRC32C3X8((ITR)*7+0) \ CRC32C3X8((ITR)*7+1) \ CRC32C3X8((ITR)*7+2) \ CRC32C3X8((ITR)*7+3) \ CRC32C3X8((ITR)*7+4) \ CRC32C3X8((ITR)*7+5) \ CRC32C3X8((ITR)*7+6) \ } while(0) #include #include static bool crc32c_probed; /* * Function to calculate reflected crc with PMULL Instruction * crc done "by 3" for fixed input block size of 1024 bytes */ uint32_t crc32c_arm64(unsigned char const *data, unsigned long length) { signed long len = length; uint32_t crc = ~0; uint32_t crc0, crc1, crc2; /* Load two consts: K1 and K2 */ const poly64_t k1 = 0xe417f38a, k2 = 0x8f158014; uint64_t t0, t1; while ((len -= 1024) >= 0) { /* Do first 8 bytes here for better pipelining */ crc0 = __crc32cd(crc, *(const uint64_t *)data); crc1 = 0; crc2 = 0; data += sizeof(uint64_t); /* Process block inline Process crc0 last to avoid dependency with above */ CRC32C7X3X8(0); CRC32C7X3X8(1); CRC32C7X3X8(2); CRC32C7X3X8(3); CRC32C7X3X8(4); CRC32C7X3X8(5); data += 42*3*sizeof(uint64_t); /* Merge crc0 and crc1 into crc2 crc1 multiply by K2 crc0 multiply by K1 */ t1 = (uint64_t)vmull_p64(crc1, k2); t0 = (uint64_t)vmull_p64(crc0, k1); crc = __crc32cd(crc2, *(const uint64_t *)data); crc1 = __crc32cd(0, t1); crc ^= crc1; crc0 = __crc32cd(0, t0); crc ^= crc0; data += sizeof(uint64_t); } if (!(len += 1024)) return crc; while ((len -= sizeof(uint64_t)) >= 0) { crc = __crc32cd(crc, *(const uint64_t *)data); data += sizeof(uint64_t); } /* The following is more efficient than the straight loop */ if (len & sizeof(uint32_t)) { crc = __crc32cw(crc, *(const uint32_t *)data); data += sizeof(uint32_t); } if (len & sizeof(uint16_t)) { crc = __crc32ch(crc, *(const uint16_t *)data); data += sizeof(uint16_t); } if (len & sizeof(uint8_t)) { crc = __crc32cb(crc, *(const uint8_t *)data); } return crc; } void crc32c_arm64_probe(void) { if (!crc32c_probed) { crc32c_arm64_available = os_cpu_has(CPU_ARM64_CRC32C); crc32c_probed = true; } } #endif /* ARCH_HAVE_CRC_CRYPTO */ fio-3.39/crc/crc32c-intel.c000066400000000000000000000035021476262051600153410ustar00rootroot00000000000000#include "crc32c.h" /* * Based on a posting to lkml by Austin Zhang * * Using hardware provided CRC32 instruction to accelerate the CRC32 disposal. * CRC32C polynomial:0x1EDC6F41(BE)/0x82F63B78(LE) * CRC32 is a new instruction in Intel SSE4.2, the reference can be found at: * http://www.intel.com/products/processor/manuals/ * Intel(R) 64 and IA-32 Architectures Software Developer's Manual * Volume 2A: Instruction Set Reference, A-M */ bool crc32c_intel_available = false; #ifdef ARCH_HAVE_SSE4_2 #if BITS_PER_LONG == 64 #define REX_PRE "0x48, " #define SCALE_F 8 #else #define REX_PRE #define SCALE_F 4 #endif static bool crc32c_probed; static uint32_t crc32c_intel_le_hw_byte(uint32_t crc, unsigned char const *data, unsigned long length) { while (length--) { __asm__ __volatile__( ".byte 0xf2, 0xf, 0x38, 0xf0, 0xf1" :"=S"(crc) :"0"(crc), "c"(*data) ); data++; } return crc; } /* * Steps through buffer one byte at at time, calculates reflected * crc using table. */ uint32_t crc32c_intel(unsigned char const *data, unsigned long length) { unsigned int iquotient = length / SCALE_F; unsigned int iremainder = length % SCALE_F; #if BITS_PER_LONG == 64 uint64_t *ptmp = (uint64_t *) data; #else uint32_t *ptmp = (uint32_t *) data; #endif uint32_t crc = ~0; while (iquotient--) { __asm__ __volatile__( ".byte 0xf2, " REX_PRE "0xf, 0x38, 0xf1, 0xf1;" :"=S"(crc) :"0"(crc), "c"(*ptmp) ); ptmp++; } if (iremainder) crc = crc32c_intel_le_hw_byte(crc, (unsigned char *)ptmp, iremainder); return crc; } void crc32c_intel_probe(void) { if (!crc32c_probed) { unsigned int eax, ebx, ecx = 0, edx; eax = 1; do_cpuid(&eax, &ebx, &ecx, &edx); crc32c_intel_available = (ecx & (1 << 20)) != 0; crc32c_probed = true; } } #endif /* ARCH_HAVE_SSE4_2 */ fio-3.39/crc/crc32c.c000066400000000000000000000117471476262051600142420ustar00rootroot00000000000000/* * CRC32C *@Article{castagnoli-crc, * author = { Guy Castagnoli and Stefan Braeuer and Martin Herrman}, * title = {{Optimization of Cyclic Redundancy-Check Codes with 24 * and 32 Parity Bits}}, * journal = IEEE Transactions on Communication, * year = {1993}, * volume = {41}, * number = {6}, * pages = {}, * month = {June}, *} * Used by the iSCSI driver, possibly others, and derived from the * the iscsi-crc.c module of the linux-iscsi driver at * http://linux-iscsi.sourceforge.net. * * Following the example of lib/crc32, this function is intended to be * flexible and useful for all users. Modules that currently have their * own crc32c, but hopefully may be able to use this one are: * net/sctp (please add all your doco to here if you change to * use this one!) * * * Copyright (c) 2004 Cisco Systems, Inc. * * 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. * */ #include "crc32c.h" /* * This is the CRC-32C table * Generated with: * width = 32 bits * poly = 0x1EDC6F41 * reflect input bytes = true * reflect output bytes = true */ static const uint32_t crc32c_table[256] = { 0x00000000L, 0xF26B8303L, 0xE13B70F7L, 0x1350F3F4L, 0xC79A971FL, 0x35F1141CL, 0x26A1E7E8L, 0xD4CA64EBL, 0x8AD958CFL, 0x78B2DBCCL, 0x6BE22838L, 0x9989AB3BL, 0x4D43CFD0L, 0xBF284CD3L, 0xAC78BF27L, 0x5E133C24L, 0x105EC76FL, 0xE235446CL, 0xF165B798L, 0x030E349BL, 0xD7C45070L, 0x25AFD373L, 0x36FF2087L, 0xC494A384L, 0x9A879FA0L, 0x68EC1CA3L, 0x7BBCEF57L, 0x89D76C54L, 0x5D1D08BFL, 0xAF768BBCL, 0xBC267848L, 0x4E4DFB4BL, 0x20BD8EDEL, 0xD2D60DDDL, 0xC186FE29L, 0x33ED7D2AL, 0xE72719C1L, 0x154C9AC2L, 0x061C6936L, 0xF477EA35L, 0xAA64D611L, 0x580F5512L, 0x4B5FA6E6L, 0xB93425E5L, 0x6DFE410EL, 0x9F95C20DL, 0x8CC531F9L, 0x7EAEB2FAL, 0x30E349B1L, 0xC288CAB2L, 0xD1D83946L, 0x23B3BA45L, 0xF779DEAEL, 0x05125DADL, 0x1642AE59L, 0xE4292D5AL, 0xBA3A117EL, 0x4851927DL, 0x5B016189L, 0xA96AE28AL, 0x7DA08661L, 0x8FCB0562L, 0x9C9BF696L, 0x6EF07595L, 0x417B1DBCL, 0xB3109EBFL, 0xA0406D4BL, 0x522BEE48L, 0x86E18AA3L, 0x748A09A0L, 0x67DAFA54L, 0x95B17957L, 0xCBA24573L, 0x39C9C670L, 0x2A993584L, 0xD8F2B687L, 0x0C38D26CL, 0xFE53516FL, 0xED03A29BL, 0x1F682198L, 0x5125DAD3L, 0xA34E59D0L, 0xB01EAA24L, 0x42752927L, 0x96BF4DCCL, 0x64D4CECFL, 0x77843D3BL, 0x85EFBE38L, 0xDBFC821CL, 0x2997011FL, 0x3AC7F2EBL, 0xC8AC71E8L, 0x1C661503L, 0xEE0D9600L, 0xFD5D65F4L, 0x0F36E6F7L, 0x61C69362L, 0x93AD1061L, 0x80FDE395L, 0x72966096L, 0xA65C047DL, 0x5437877EL, 0x4767748AL, 0xB50CF789L, 0xEB1FCBADL, 0x197448AEL, 0x0A24BB5AL, 0xF84F3859L, 0x2C855CB2L, 0xDEEEDFB1L, 0xCDBE2C45L, 0x3FD5AF46L, 0x7198540DL, 0x83F3D70EL, 0x90A324FAL, 0x62C8A7F9L, 0xB602C312L, 0x44694011L, 0x5739B3E5L, 0xA55230E6L, 0xFB410CC2L, 0x092A8FC1L, 0x1A7A7C35L, 0xE811FF36L, 0x3CDB9BDDL, 0xCEB018DEL, 0xDDE0EB2AL, 0x2F8B6829L, 0x82F63B78L, 0x709DB87BL, 0x63CD4B8FL, 0x91A6C88CL, 0x456CAC67L, 0xB7072F64L, 0xA457DC90L, 0x563C5F93L, 0x082F63B7L, 0xFA44E0B4L, 0xE9141340L, 0x1B7F9043L, 0xCFB5F4A8L, 0x3DDE77ABL, 0x2E8E845FL, 0xDCE5075CL, 0x92A8FC17L, 0x60C37F14L, 0x73938CE0L, 0x81F80FE3L, 0x55326B08L, 0xA759E80BL, 0xB4091BFFL, 0x466298FCL, 0x1871A4D8L, 0xEA1A27DBL, 0xF94AD42FL, 0x0B21572CL, 0xDFEB33C7L, 0x2D80B0C4L, 0x3ED04330L, 0xCCBBC033L, 0xA24BB5A6L, 0x502036A5L, 0x4370C551L, 0xB11B4652L, 0x65D122B9L, 0x97BAA1BAL, 0x84EA524EL, 0x7681D14DL, 0x2892ED69L, 0xDAF96E6AL, 0xC9A99D9EL, 0x3BC21E9DL, 0xEF087A76L, 0x1D63F975L, 0x0E330A81L, 0xFC588982L, 0xB21572C9L, 0x407EF1CAL, 0x532E023EL, 0xA145813DL, 0x758FE5D6L, 0x87E466D5L, 0x94B49521L, 0x66DF1622L, 0x38CC2A06L, 0xCAA7A905L, 0xD9F75AF1L, 0x2B9CD9F2L, 0xFF56BD19L, 0x0D3D3E1AL, 0x1E6DCDEEL, 0xEC064EEDL, 0xC38D26C4L, 0x31E6A5C7L, 0x22B65633L, 0xD0DDD530L, 0x0417B1DBL, 0xF67C32D8L, 0xE52CC12CL, 0x1747422FL, 0x49547E0BL, 0xBB3FFD08L, 0xA86F0EFCL, 0x5A048DFFL, 0x8ECEE914L, 0x7CA56A17L, 0x6FF599E3L, 0x9D9E1AE0L, 0xD3D3E1ABL, 0x21B862A8L, 0x32E8915CL, 0xC083125FL, 0x144976B4L, 0xE622F5B7L, 0xF5720643L, 0x07198540L, 0x590AB964L, 0xAB613A67L, 0xB831C993L, 0x4A5A4A90L, 0x9E902E7BL, 0x6CFBAD78L, 0x7FAB5E8CL, 0x8DC0DD8FL, 0xE330A81AL, 0x115B2B19L, 0x020BD8EDL, 0xF0605BEEL, 0x24AA3F05L, 0xD6C1BC06L, 0xC5914FF2L, 0x37FACCF1L, 0x69E9F0D5L, 0x9B8273D6L, 0x88D28022L, 0x7AB90321L, 0xAE7367CAL, 0x5C18E4C9L, 0x4F48173DL, 0xBD23943EL, 0xF36E6F75L, 0x0105EC76L, 0x12551F82L, 0xE03E9C81L, 0x34F4F86AL, 0xC69F7B69L, 0xD5CF889DL, 0x27A40B9EL, 0x79B737BAL, 0x8BDCB4B9L, 0x988C474DL, 0x6AE7C44EL, 0xBE2DA0A5L, 0x4C4623A6L, 0x5F16D052L, 0xAD7D5351L }; /* * Steps through buffer one byte at at time, calculates reflected * crc using table. */ uint32_t crc32c_sw(unsigned char const *data, unsigned long length) { uint32_t crc = ~0; while (length--) crc = crc32c_table[(crc ^ *data++) & 0xFFL] ^ (crc >> 8); return crc; } fio-3.39/crc/crc32c.h000066400000000000000000000034171476262051600142420ustar00rootroot00000000000000/* crc32c -- calculate and POSIX.2 checksum Copyright (C) 92, 1995-1999 Free Software Foundation, Inc. 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 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef CRC32C_H #define CRC32C_H #include #include "../arch/arch.h" #include "../lib/types.h" extern uint32_t crc32c_sw(unsigned char const *, unsigned long); extern bool crc32c_arm64_available; extern bool crc32c_intel_available; #ifdef ARCH_HAVE_CRC_CRYPTO extern uint32_t crc32c_arm64(unsigned char const *, unsigned long); extern void crc32c_arm64_probe(void); #else #define crc32c_arm64 crc32c_sw static inline void crc32c_arm64_probe(void) { } #endif /* ARCH_HAVE_CRC_CRYPTO */ #ifdef ARCH_HAVE_SSE4_2 extern uint32_t crc32c_intel(unsigned char const *, unsigned long); extern void crc32c_intel_probe(void); #else #define crc32c_intel crc32c_sw static inline void crc32c_intel_probe(void) { } #endif /* ARCH_HAVE_SSE4_2 */ static inline uint32_t fio_crc32c(unsigned char const *buf, unsigned long len) { if (crc32c_arm64_available) return crc32c_arm64(buf, len); if (crc32c_intel_available) return crc32c_intel(buf, len); return crc32c_sw(buf, len); } #endif fio-3.39/crc/crc64.c000066400000000000000000000162571476262051600141050ustar00rootroot00000000000000// SPDX-License-Identifier: GPL-2.0 /* * crc64nvme[256] table is from the generator polynomial specified by NVMe * 64b CRC and is defined as, * * x^64 + x^63 + x^61 + x^59 + x^58 + x^56 + x^55 + x^52 + x^49 + x^48 + x^47 + * x^46 + x^44 + x^41 + x^37 + x^36 + x^34 + x^32 + x^31 + x^28 + x^26 + x^23 + * x^22 + x^19 + x^16 + x^13 + x^12 + x^10 + x^9 + x^6 + x^4 + x^3 + 1 * */ #include "crc64.h" #include "crc64table.h" /* * poly 0x95AC9329AC4BC9B5ULL and init 0xFFFFFFFFFFFFFFFFULL */ static const unsigned long long crctab64[256] = { 0x0000000000000000ULL, 0x7ad870c830358979ULL, 0xf5b0e190606b12f2ULL, 0x8f689158505e9b8bULL, 0xc038e5739841b68fULL, 0xbae095bba8743ff6ULL, 0x358804e3f82aa47dULL, 0x4f50742bc81f2d04ULL, 0xab28ecb46814fe75ULL, 0xd1f09c7c5821770cULL, 0x5e980d24087fec87ULL, 0x24407dec384a65feULL, 0x6b1009c7f05548faULL, 0x11c8790fc060c183ULL, 0x9ea0e857903e5a08ULL, 0xe478989fa00bd371ULL, 0x7d08ff3b88be6f81ULL, 0x07d08ff3b88be6f8ULL, 0x88b81eabe8d57d73ULL, 0xf2606e63d8e0f40aULL, 0xbd301a4810ffd90eULL, 0xc7e86a8020ca5077ULL, 0x4880fbd87094cbfcULL, 0x32588b1040a14285ULL, 0xd620138fe0aa91f4ULL, 0xacf86347d09f188dULL, 0x2390f21f80c18306ULL, 0x594882d7b0f40a7fULL, 0x1618f6fc78eb277bULL, 0x6cc0863448deae02ULL, 0xe3a8176c18803589ULL, 0x997067a428b5bcf0ULL, 0xfa11fe77117cdf02ULL, 0x80c98ebf2149567bULL, 0x0fa11fe77117cdf0ULL, 0x75796f2f41224489ULL, 0x3a291b04893d698dULL, 0x40f16bccb908e0f4ULL, 0xcf99fa94e9567b7fULL, 0xb5418a5cd963f206ULL, 0x513912c379682177ULL, 0x2be1620b495da80eULL, 0xa489f35319033385ULL, 0xde51839b2936bafcULL, 0x9101f7b0e12997f8ULL, 0xebd98778d11c1e81ULL, 0x64b116208142850aULL, 0x1e6966e8b1770c73ULL, 0x8719014c99c2b083ULL, 0xfdc17184a9f739faULL, 0x72a9e0dcf9a9a271ULL, 0x08719014c99c2b08ULL, 0x4721e43f0183060cULL, 0x3df994f731b68f75ULL, 0xb29105af61e814feULL, 0xc849756751dd9d87ULL, 0x2c31edf8f1d64ef6ULL, 0x56e99d30c1e3c78fULL, 0xd9810c6891bd5c04ULL, 0xa3597ca0a188d57dULL, 0xec09088b6997f879ULL, 0x96d1784359a27100ULL, 0x19b9e91b09fcea8bULL, 0x636199d339c963f2ULL, 0xdf7adabd7a6e2d6fULL, 0xa5a2aa754a5ba416ULL, 0x2aca3b2d1a053f9dULL, 0x50124be52a30b6e4ULL, 0x1f423fcee22f9be0ULL, 0x659a4f06d21a1299ULL, 0xeaf2de5e82448912ULL, 0x902aae96b271006bULL, 0x74523609127ad31aULL, 0x0e8a46c1224f5a63ULL, 0x81e2d7997211c1e8ULL, 0xfb3aa75142244891ULL, 0xb46ad37a8a3b6595ULL, 0xceb2a3b2ba0eececULL, 0x41da32eaea507767ULL, 0x3b024222da65fe1eULL, 0xa2722586f2d042eeULL, 0xd8aa554ec2e5cb97ULL, 0x57c2c41692bb501cULL, 0x2d1ab4dea28ed965ULL, 0x624ac0f56a91f461ULL, 0x1892b03d5aa47d18ULL, 0x97fa21650afae693ULL, 0xed2251ad3acf6feaULL, 0x095ac9329ac4bc9bULL, 0x7382b9faaaf135e2ULL, 0xfcea28a2faafae69ULL, 0x8632586aca9a2710ULL, 0xc9622c4102850a14ULL, 0xb3ba5c8932b0836dULL, 0x3cd2cdd162ee18e6ULL, 0x460abd1952db919fULL, 0x256b24ca6b12f26dULL, 0x5fb354025b277b14ULL, 0xd0dbc55a0b79e09fULL, 0xaa03b5923b4c69e6ULL, 0xe553c1b9f35344e2ULL, 0x9f8bb171c366cd9bULL, 0x10e3202993385610ULL, 0x6a3b50e1a30ddf69ULL, 0x8e43c87e03060c18ULL, 0xf49bb8b633338561ULL, 0x7bf329ee636d1eeaULL, 0x012b592653589793ULL, 0x4e7b2d0d9b47ba97ULL, 0x34a35dc5ab7233eeULL, 0xbbcbcc9dfb2ca865ULL, 0xc113bc55cb19211cULL, 0x5863dbf1e3ac9decULL, 0x22bbab39d3991495ULL, 0xadd33a6183c78f1eULL, 0xd70b4aa9b3f20667ULL, 0x985b3e827bed2b63ULL, 0xe2834e4a4bd8a21aULL, 0x6debdf121b863991ULL, 0x1733afda2bb3b0e8ULL, 0xf34b37458bb86399ULL, 0x8993478dbb8deae0ULL, 0x06fbd6d5ebd3716bULL, 0x7c23a61ddbe6f812ULL, 0x3373d23613f9d516ULL, 0x49aba2fe23cc5c6fULL, 0xc6c333a67392c7e4ULL, 0xbc1b436e43a74e9dULL, 0x95ac9329ac4bc9b5ULL, 0xef74e3e19c7e40ccULL, 0x601c72b9cc20db47ULL, 0x1ac40271fc15523eULL, 0x5594765a340a7f3aULL, 0x2f4c0692043ff643ULL, 0xa02497ca54616dc8ULL, 0xdafce7026454e4b1ULL, 0x3e847f9dc45f37c0ULL, 0x445c0f55f46abeb9ULL, 0xcb349e0da4342532ULL, 0xb1eceec59401ac4bULL, 0xfebc9aee5c1e814fULL, 0x8464ea266c2b0836ULL, 0x0b0c7b7e3c7593bdULL, 0x71d40bb60c401ac4ULL, 0xe8a46c1224f5a634ULL, 0x927c1cda14c02f4dULL, 0x1d148d82449eb4c6ULL, 0x67ccfd4a74ab3dbfULL, 0x289c8961bcb410bbULL, 0x5244f9a98c8199c2ULL, 0xdd2c68f1dcdf0249ULL, 0xa7f41839ecea8b30ULL, 0x438c80a64ce15841ULL, 0x3954f06e7cd4d138ULL, 0xb63c61362c8a4ab3ULL, 0xcce411fe1cbfc3caULL, 0x83b465d5d4a0eeceULL, 0xf96c151de49567b7ULL, 0x76048445b4cbfc3cULL, 0x0cdcf48d84fe7545ULL, 0x6fbd6d5ebd3716b7ULL, 0x15651d968d029fceULL, 0x9a0d8ccedd5c0445ULL, 0xe0d5fc06ed698d3cULL, 0xaf85882d2576a038ULL, 0xd55df8e515432941ULL, 0x5a3569bd451db2caULL, 0x20ed197575283bb3ULL, 0xc49581ead523e8c2ULL, 0xbe4df122e51661bbULL, 0x3125607ab548fa30ULL, 0x4bfd10b2857d7349ULL, 0x04ad64994d625e4dULL, 0x7e7514517d57d734ULL, 0xf11d85092d094cbfULL, 0x8bc5f5c11d3cc5c6ULL, 0x12b5926535897936ULL, 0x686de2ad05bcf04fULL, 0xe70573f555e26bc4ULL, 0x9ddd033d65d7e2bdULL, 0xd28d7716adc8cfb9ULL, 0xa85507de9dfd46c0ULL, 0x273d9686cda3dd4bULL, 0x5de5e64efd965432ULL, 0xb99d7ed15d9d8743ULL, 0xc3450e196da80e3aULL, 0x4c2d9f413df695b1ULL, 0x36f5ef890dc31cc8ULL, 0x79a59ba2c5dc31ccULL, 0x037deb6af5e9b8b5ULL, 0x8c157a32a5b7233eULL, 0xf6cd0afa9582aa47ULL, 0x4ad64994d625e4daULL, 0x300e395ce6106da3ULL, 0xbf66a804b64ef628ULL, 0xc5bed8cc867b7f51ULL, 0x8aeeace74e645255ULL, 0xf036dc2f7e51db2cULL, 0x7f5e4d772e0f40a7ULL, 0x05863dbf1e3ac9deULL, 0xe1fea520be311aafULL, 0x9b26d5e88e0493d6ULL, 0x144e44b0de5a085dULL, 0x6e963478ee6f8124ULL, 0x21c640532670ac20ULL, 0x5b1e309b16452559ULL, 0xd476a1c3461bbed2ULL, 0xaeaed10b762e37abULL, 0x37deb6af5e9b8b5bULL, 0x4d06c6676eae0222ULL, 0xc26e573f3ef099a9ULL, 0xb8b627f70ec510d0ULL, 0xf7e653dcc6da3dd4ULL, 0x8d3e2314f6efb4adULL, 0x0256b24ca6b12f26ULL, 0x788ec2849684a65fULL, 0x9cf65a1b368f752eULL, 0xe62e2ad306bafc57ULL, 0x6946bb8b56e467dcULL, 0x139ecb4366d1eea5ULL, 0x5ccebf68aecec3a1ULL, 0x2616cfa09efb4ad8ULL, 0xa97e5ef8cea5d153ULL, 0xd3a62e30fe90582aULL, 0xb0c7b7e3c7593bd8ULL, 0xca1fc72bf76cb2a1ULL, 0x45775673a732292aULL, 0x3faf26bb9707a053ULL, 0x70ff52905f188d57ULL, 0x0a2722586f2d042eULL, 0x854fb3003f739fa5ULL, 0xff97c3c80f4616dcULL, 0x1bef5b57af4dc5adULL, 0x61372b9f9f784cd4ULL, 0xee5fbac7cf26d75fULL, 0x9487ca0fff135e26ULL, 0xdbd7be24370c7322ULL, 0xa10fceec0739fa5bULL, 0x2e675fb4576761d0ULL, 0x54bf2f7c6752e8a9ULL, 0xcdcf48d84fe75459ULL, 0xb71738107fd2dd20ULL, 0x387fa9482f8c46abULL, 0x42a7d9801fb9cfd2ULL, 0x0df7adabd7a6e2d6ULL, 0x772fdd63e7936bafULL, 0xf8474c3bb7cdf024ULL, 0x829f3cf387f8795dULL, 0x66e7a46c27f3aa2cULL, 0x1c3fd4a417c62355ULL, 0x935745fc4798b8deULL, 0xe98f353477ad31a7ULL, 0xa6df411fbfb21ca3ULL, 0xdc0731d78f8795daULL, 0x536fa08fdfd90e51ULL, 0x29b7d047efec8728ULL }; unsigned long long fio_crc64(const unsigned char *buffer, unsigned long length) { unsigned long long crc = 0; while (length--) crc = crctab64[(crc ^ *(buffer++)) & 0xff] ^ (crc >> 8); return crc; } /** * fio_crc64_nvme - Calculate bitwise NVMe CRC64 * @crc: seed value for computation. 0 for a new CRC calculation, or the * previous crc64 value if computing incrementally. * @p: pointer to buffer over which CRC64 is run * @len: length of buffer @p */ unsigned long long fio_crc64_nvme(unsigned long long crc, const void *p, unsigned int len) { const unsigned char *_p = p; unsigned int i; crc = ~crc; for (i = 0; i < len; i++) crc = (crc >> 8) ^ crc64nvmetable[(crc & 0xff) ^ *_p++]; return ~crc; } fio-3.39/crc/crc64.h000066400000000000000000000003201476262051600140720ustar00rootroot00000000000000#ifndef CRC64_H #define CRC64_H unsigned long long fio_crc64(const unsigned char *, unsigned long); unsigned long long fio_crc64_nvme(unsigned long long crc, const void *p, unsigned int len); #endif fio-3.39/crc/crc64table.h000066400000000000000000000140731476262051600151140ustar00rootroot00000000000000static const unsigned long long crc64nvmetable[256] = { 0x0000000000000000ULL, 0x7f6ef0c830358979ULL, 0xfedde190606b12f2ULL, 0x81b31158505e9b8bULL, 0xc962e5739841b68fULL, 0xb60c15bba8743ff6ULL, 0x37bf04e3f82aa47dULL, 0x48d1f42bc81f2d04ULL, 0xa61cecb46814fe75ULL, 0xd9721c7c5821770cULL, 0x58c10d24087fec87ULL, 0x27affdec384a65feULL, 0x6f7e09c7f05548faULL, 0x1010f90fc060c183ULL, 0x91a3e857903e5a08ULL, 0xeecd189fa00bd371ULL, 0x78e0ff3b88be6f81ULL, 0x078e0ff3b88be6f8ULL, 0x863d1eabe8d57d73ULL, 0xf953ee63d8e0f40aULL, 0xb1821a4810ffd90eULL, 0xceecea8020ca5077ULL, 0x4f5ffbd87094cbfcULL, 0x30310b1040a14285ULL, 0xdefc138fe0aa91f4ULL, 0xa192e347d09f188dULL, 0x2021f21f80c18306ULL, 0x5f4f02d7b0f40a7fULL, 0x179ef6fc78eb277bULL, 0x68f0063448deae02ULL, 0xe943176c18803589ULL, 0x962de7a428b5bcf0ULL, 0xf1c1fe77117cdf02ULL, 0x8eaf0ebf2149567bULL, 0x0f1c1fe77117cdf0ULL, 0x7072ef2f41224489ULL, 0x38a31b04893d698dULL, 0x47cdebccb908e0f4ULL, 0xc67efa94e9567b7fULL, 0xb9100a5cd963f206ULL, 0x57dd12c379682177ULL, 0x28b3e20b495da80eULL, 0xa900f35319033385ULL, 0xd66e039b2936bafcULL, 0x9ebff7b0e12997f8ULL, 0xe1d10778d11c1e81ULL, 0x606216208142850aULL, 0x1f0ce6e8b1770c73ULL, 0x8921014c99c2b083ULL, 0xf64ff184a9f739faULL, 0x77fce0dcf9a9a271ULL, 0x08921014c99c2b08ULL, 0x4043e43f0183060cULL, 0x3f2d14f731b68f75ULL, 0xbe9e05af61e814feULL, 0xc1f0f56751dd9d87ULL, 0x2f3dedf8f1d64ef6ULL, 0x50531d30c1e3c78fULL, 0xd1e00c6891bd5c04ULL, 0xae8efca0a188d57dULL, 0xe65f088b6997f879ULL, 0x9931f84359a27100ULL, 0x1882e91b09fcea8bULL, 0x67ec19d339c963f2ULL, 0xd75adabd7a6e2d6fULL, 0xa8342a754a5ba416ULL, 0x29873b2d1a053f9dULL, 0x56e9cbe52a30b6e4ULL, 0x1e383fcee22f9be0ULL, 0x6156cf06d21a1299ULL, 0xe0e5de5e82448912ULL, 0x9f8b2e96b271006bULL, 0x71463609127ad31aULL, 0x0e28c6c1224f5a63ULL, 0x8f9bd7997211c1e8ULL, 0xf0f5275142244891ULL, 0xb824d37a8a3b6595ULL, 0xc74a23b2ba0eececULL, 0x46f932eaea507767ULL, 0x3997c222da65fe1eULL, 0xafba2586f2d042eeULL, 0xd0d4d54ec2e5cb97ULL, 0x5167c41692bb501cULL, 0x2e0934dea28ed965ULL, 0x66d8c0f56a91f461ULL, 0x19b6303d5aa47d18ULL, 0x980521650afae693ULL, 0xe76bd1ad3acf6feaULL, 0x09a6c9329ac4bc9bULL, 0x76c839faaaf135e2ULL, 0xf77b28a2faafae69ULL, 0x8815d86aca9a2710ULL, 0xc0c42c4102850a14ULL, 0xbfaadc8932b0836dULL, 0x3e19cdd162ee18e6ULL, 0x41773d1952db919fULL, 0x269b24ca6b12f26dULL, 0x59f5d4025b277b14ULL, 0xd846c55a0b79e09fULL, 0xa72835923b4c69e6ULL, 0xeff9c1b9f35344e2ULL, 0x90973171c366cd9bULL, 0x1124202993385610ULL, 0x6e4ad0e1a30ddf69ULL, 0x8087c87e03060c18ULL, 0xffe938b633338561ULL, 0x7e5a29ee636d1eeaULL, 0x0134d92653589793ULL, 0x49e52d0d9b47ba97ULL, 0x368bddc5ab7233eeULL, 0xb738cc9dfb2ca865ULL, 0xc8563c55cb19211cULL, 0x5e7bdbf1e3ac9decULL, 0x21152b39d3991495ULL, 0xa0a63a6183c78f1eULL, 0xdfc8caa9b3f20667ULL, 0x97193e827bed2b63ULL, 0xe877ce4a4bd8a21aULL, 0x69c4df121b863991ULL, 0x16aa2fda2bb3b0e8ULL, 0xf86737458bb86399ULL, 0x8709c78dbb8deae0ULL, 0x06bad6d5ebd3716bULL, 0x79d4261ddbe6f812ULL, 0x3105d23613f9d516ULL, 0x4e6b22fe23cc5c6fULL, 0xcfd833a67392c7e4ULL, 0xb0b6c36e43a74e9dULL, 0x9a6c9329ac4bc9b5ULL, 0xe50263e19c7e40ccULL, 0x64b172b9cc20db47ULL, 0x1bdf8271fc15523eULL, 0x530e765a340a7f3aULL, 0x2c608692043ff643ULL, 0xadd397ca54616dc8ULL, 0xd2bd67026454e4b1ULL, 0x3c707f9dc45f37c0ULL, 0x431e8f55f46abeb9ULL, 0xc2ad9e0da4342532ULL, 0xbdc36ec59401ac4bULL, 0xf5129aee5c1e814fULL, 0x8a7c6a266c2b0836ULL, 0x0bcf7b7e3c7593bdULL, 0x74a18bb60c401ac4ULL, 0xe28c6c1224f5a634ULL, 0x9de29cda14c02f4dULL, 0x1c518d82449eb4c6ULL, 0x633f7d4a74ab3dbfULL, 0x2bee8961bcb410bbULL, 0x548079a98c8199c2ULL, 0xd53368f1dcdf0249ULL, 0xaa5d9839ecea8b30ULL, 0x449080a64ce15841ULL, 0x3bfe706e7cd4d138ULL, 0xba4d61362c8a4ab3ULL, 0xc52391fe1cbfc3caULL, 0x8df265d5d4a0eeceULL, 0xf29c951de49567b7ULL, 0x732f8445b4cbfc3cULL, 0x0c41748d84fe7545ULL, 0x6bad6d5ebd3716b7ULL, 0x14c39d968d029fceULL, 0x95708ccedd5c0445ULL, 0xea1e7c06ed698d3cULL, 0xa2cf882d2576a038ULL, 0xdda178e515432941ULL, 0x5c1269bd451db2caULL, 0x237c997575283bb3ULL, 0xcdb181ead523e8c2ULL, 0xb2df7122e51661bbULL, 0x336c607ab548fa30ULL, 0x4c0290b2857d7349ULL, 0x04d364994d625e4dULL, 0x7bbd94517d57d734ULL, 0xfa0e85092d094cbfULL, 0x856075c11d3cc5c6ULL, 0x134d926535897936ULL, 0x6c2362ad05bcf04fULL, 0xed9073f555e26bc4ULL, 0x92fe833d65d7e2bdULL, 0xda2f7716adc8cfb9ULL, 0xa54187de9dfd46c0ULL, 0x24f29686cda3dd4bULL, 0x5b9c664efd965432ULL, 0xb5517ed15d9d8743ULL, 0xca3f8e196da80e3aULL, 0x4b8c9f413df695b1ULL, 0x34e26f890dc31cc8ULL, 0x7c339ba2c5dc31ccULL, 0x035d6b6af5e9b8b5ULL, 0x82ee7a32a5b7233eULL, 0xfd808afa9582aa47ULL, 0x4d364994d625e4daULL, 0x3258b95ce6106da3ULL, 0xb3eba804b64ef628ULL, 0xcc8558cc867b7f51ULL, 0x8454ace74e645255ULL, 0xfb3a5c2f7e51db2cULL, 0x7a894d772e0f40a7ULL, 0x05e7bdbf1e3ac9deULL, 0xeb2aa520be311aafULL, 0x944455e88e0493d6ULL, 0x15f744b0de5a085dULL, 0x6a99b478ee6f8124ULL, 0x224840532670ac20ULL, 0x5d26b09b16452559ULL, 0xdc95a1c3461bbed2ULL, 0xa3fb510b762e37abULL, 0x35d6b6af5e9b8b5bULL, 0x4ab846676eae0222ULL, 0xcb0b573f3ef099a9ULL, 0xb465a7f70ec510d0ULL, 0xfcb453dcc6da3dd4ULL, 0x83daa314f6efb4adULL, 0x0269b24ca6b12f26ULL, 0x7d0742849684a65fULL, 0x93ca5a1b368f752eULL, 0xeca4aad306bafc57ULL, 0x6d17bb8b56e467dcULL, 0x12794b4366d1eea5ULL, 0x5aa8bf68aecec3a1ULL, 0x25c64fa09efb4ad8ULL, 0xa4755ef8cea5d153ULL, 0xdb1bae30fe90582aULL, 0xbcf7b7e3c7593bd8ULL, 0xc399472bf76cb2a1ULL, 0x422a5673a732292aULL, 0x3d44a6bb9707a053ULL, 0x759552905f188d57ULL, 0x0afba2586f2d042eULL, 0x8b48b3003f739fa5ULL, 0xf42643c80f4616dcULL, 0x1aeb5b57af4dc5adULL, 0x6585ab9f9f784cd4ULL, 0xe436bac7cf26d75fULL, 0x9b584a0fff135e26ULL, 0xd389be24370c7322ULL, 0xace74eec0739fa5bULL, 0x2d545fb4576761d0ULL, 0x523aaf7c6752e8a9ULL, 0xc41748d84fe75459ULL, 0xbb79b8107fd2dd20ULL, 0x3acaa9482f8c46abULL, 0x45a459801fb9cfd2ULL, 0x0d75adabd7a6e2d6ULL, 0x721b5d63e7936bafULL, 0xf3a84c3bb7cdf024ULL, 0x8cc6bcf387f8795dULL, 0x620ba46c27f3aa2cULL, 0x1d6554a417c62355ULL, 0x9cd645fc4798b8deULL, 0xe3b8b53477ad31a7ULL, 0xab69411fbfb21ca3ULL, 0xd407b1d78f8795daULL, 0x55b4a08fdfd90e51ULL, 0x2ada5047efec8728ULL, }; fio-3.39/crc/crc7.c000066400000000000000000000037171476262051600140170ustar00rootroot00000000000000/* * crc7.c * * This source code is licensed under the GNU General Public License, * Version 2. See the file COPYING for more details. */ #include "crc7.h" /* Table for CRC-7 (polynomial x^7 + x^3 + 1) */ const unsigned char crc7_syndrome_table[256] = { 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, 0x6c, 0x65, 0x7e, 0x77, 0x19, 0x10, 0x0b, 0x02, 0x3d, 0x34, 0x2f, 0x26, 0x51, 0x58, 0x43, 0x4a, 0x75, 0x7c, 0x67, 0x6e, 0x32, 0x3b, 0x20, 0x29, 0x16, 0x1f, 0x04, 0x0d, 0x7a, 0x73, 0x68, 0x61, 0x5e, 0x57, 0x4c, 0x45, 0x2b, 0x22, 0x39, 0x30, 0x0f, 0x06, 0x1d, 0x14, 0x63, 0x6a, 0x71, 0x78, 0x47, 0x4e, 0x55, 0x5c, 0x64, 0x6d, 0x76, 0x7f, 0x40, 0x49, 0x52, 0x5b, 0x2c, 0x25, 0x3e, 0x37, 0x08, 0x01, 0x1a, 0x13, 0x7d, 0x74, 0x6f, 0x66, 0x59, 0x50, 0x4b, 0x42, 0x35, 0x3c, 0x27, 0x2e, 0x11, 0x18, 0x03, 0x0a, 0x56, 0x5f, 0x44, 0x4d, 0x72, 0x7b, 0x60, 0x69, 0x1e, 0x17, 0x0c, 0x05, 0x3a, 0x33, 0x28, 0x21, 0x4f, 0x46, 0x5d, 0x54, 0x6b, 0x62, 0x79, 0x70, 0x07, 0x0e, 0x15, 0x1c, 0x23, 0x2a, 0x31, 0x38, 0x41, 0x48, 0x53, 0x5a, 0x65, 0x6c, 0x77, 0x7e, 0x09, 0x00, 0x1b, 0x12, 0x2d, 0x24, 0x3f, 0x36, 0x58, 0x51, 0x4a, 0x43, 0x7c, 0x75, 0x6e, 0x67, 0x10, 0x19, 0x02, 0x0b, 0x34, 0x3d, 0x26, 0x2f, 0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c, 0x3b, 0x32, 0x29, 0x20, 0x1f, 0x16, 0x0d, 0x04, 0x6a, 0x63, 0x78, 0x71, 0x4e, 0x47, 0x5c, 0x55, 0x22, 0x2b, 0x30, 0x39, 0x06, 0x0f, 0x14, 0x1d, 0x25, 0x2c, 0x37, 0x3e, 0x01, 0x08, 0x13, 0x1a, 0x6d, 0x64, 0x7f, 0x76, 0x49, 0x40, 0x5b, 0x52, 0x3c, 0x35, 0x2e, 0x27, 0x18, 0x11, 0x0a, 0x03, 0x74, 0x7d, 0x66, 0x6f, 0x50, 0x59, 0x42, 0x4b, 0x17, 0x1e, 0x05, 0x0c, 0x33, 0x3a, 0x21, 0x28, 0x5f, 0x56, 0x4d, 0x44, 0x7b, 0x72, 0x69, 0x60, 0x0e, 0x07, 0x1c, 0x15, 0x2a, 0x23, 0x38, 0x31, 0x46, 0x4f, 0x54, 0x5d, 0x62, 0x6b, 0x70, 0x79 }; unsigned char fio_crc7(const unsigned char *buffer, unsigned int len) { unsigned char crc = 0; while (len--) crc = crc7_byte(crc, *buffer++); return crc; } fio-3.39/crc/crc7.h000066400000000000000000000004551476262051600140200ustar00rootroot00000000000000#ifndef CRC7_H #define CRC7_H extern const unsigned char crc7_syndrome_table[256]; static inline unsigned char crc7_byte(unsigned char crc, unsigned char data) { return crc7_syndrome_table[(crc << 1) ^ data]; } extern unsigned char fio_crc7(const unsigned char *buffer, unsigned int len); #endif fio-3.39/crc/crct10dif_common.c000066400000000000000000000073711476262051600163100ustar00rootroot00000000000000/* * Cryptographic API. * * T10 Data Integrity Field CRC16 Crypto Transform * * Copyright (c) 2007 Oracle Corporation. All rights reserved. * Written by Martin K. Petersen * Copyright (C) 2013 Intel Corporation * Author: Tim Chen * * 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. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * */ #ifdef CONFIG_LIBISAL #include extern unsigned short fio_crc_t10dif(unsigned short crc, const unsigned char *buffer, unsigned int len) { return crc16_t10dif(crc, buffer, len); } #else #include "crc-t10dif.h" /* Table generated using the following polynomium: * x^16 + x^15 + x^11 + x^9 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1 * gt: 0x8bb7 */ static const unsigned short t10_dif_crc_table[256] = { 0x0000, 0x8BB7, 0x9CD9, 0x176E, 0xB205, 0x39B2, 0x2EDC, 0xA56B, 0xEFBD, 0x640A, 0x7364, 0xF8D3, 0x5DB8, 0xD60F, 0xC161, 0x4AD6, 0x54CD, 0xDF7A, 0xC814, 0x43A3, 0xE6C8, 0x6D7F, 0x7A11, 0xF1A6, 0xBB70, 0x30C7, 0x27A9, 0xAC1E, 0x0975, 0x82C2, 0x95AC, 0x1E1B, 0xA99A, 0x222D, 0x3543, 0xBEF4, 0x1B9F, 0x9028, 0x8746, 0x0CF1, 0x4627, 0xCD90, 0xDAFE, 0x5149, 0xF422, 0x7F95, 0x68FB, 0xE34C, 0xFD57, 0x76E0, 0x618E, 0xEA39, 0x4F52, 0xC4E5, 0xD38B, 0x583C, 0x12EA, 0x995D, 0x8E33, 0x0584, 0xA0EF, 0x2B58, 0x3C36, 0xB781, 0xD883, 0x5334, 0x445A, 0xCFED, 0x6A86, 0xE131, 0xF65F, 0x7DE8, 0x373E, 0xBC89, 0xABE7, 0x2050, 0x853B, 0x0E8C, 0x19E2, 0x9255, 0x8C4E, 0x07F9, 0x1097, 0x9B20, 0x3E4B, 0xB5FC, 0xA292, 0x2925, 0x63F3, 0xE844, 0xFF2A, 0x749D, 0xD1F6, 0x5A41, 0x4D2F, 0xC698, 0x7119, 0xFAAE, 0xEDC0, 0x6677, 0xC31C, 0x48AB, 0x5FC5, 0xD472, 0x9EA4, 0x1513, 0x027D, 0x89CA, 0x2CA1, 0xA716, 0xB078, 0x3BCF, 0x25D4, 0xAE63, 0xB90D, 0x32BA, 0x97D1, 0x1C66, 0x0B08, 0x80BF, 0xCA69, 0x41DE, 0x56B0, 0xDD07, 0x786C, 0xF3DB, 0xE4B5, 0x6F02, 0x3AB1, 0xB106, 0xA668, 0x2DDF, 0x88B4, 0x0303, 0x146D, 0x9FDA, 0xD50C, 0x5EBB, 0x49D5, 0xC262, 0x6709, 0xECBE, 0xFBD0, 0x7067, 0x6E7C, 0xE5CB, 0xF2A5, 0x7912, 0xDC79, 0x57CE, 0x40A0, 0xCB17, 0x81C1, 0x0A76, 0x1D18, 0x96AF, 0x33C4, 0xB873, 0xAF1D, 0x24AA, 0x932B, 0x189C, 0x0FF2, 0x8445, 0x212E, 0xAA99, 0xBDF7, 0x3640, 0x7C96, 0xF721, 0xE04F, 0x6BF8, 0xCE93, 0x4524, 0x524A, 0xD9FD, 0xC7E6, 0x4C51, 0x5B3F, 0xD088, 0x75E3, 0xFE54, 0xE93A, 0x628D, 0x285B, 0xA3EC, 0xB482, 0x3F35, 0x9A5E, 0x11E9, 0x0687, 0x8D30, 0xE232, 0x6985, 0x7EEB, 0xF55C, 0x5037, 0xDB80, 0xCCEE, 0x4759, 0x0D8F, 0x8638, 0x9156, 0x1AE1, 0xBF8A, 0x343D, 0x2353, 0xA8E4, 0xB6FF, 0x3D48, 0x2A26, 0xA191, 0x04FA, 0x8F4D, 0x9823, 0x1394, 0x5942, 0xD2F5, 0xC59B, 0x4E2C, 0xEB47, 0x60F0, 0x779E, 0xFC29, 0x4BA8, 0xC01F, 0xD771, 0x5CC6, 0xF9AD, 0x721A, 0x6574, 0xEEC3, 0xA415, 0x2FA2, 0x38CC, 0xB37B, 0x1610, 0x9DA7, 0x8AC9, 0x017E, 0x1F65, 0x94D2, 0x83BC, 0x080B, 0xAD60, 0x26D7, 0x31B9, 0xBA0E, 0xF0D8, 0x7B6F, 0x6C01, 0xE7B6, 0x42DD, 0xC96A, 0xDE04, 0x55B3 }; extern unsigned short fio_crc_t10dif(unsigned short crc, const unsigned char *buffer, unsigned int len) { unsigned int i; for (i = 0 ; i < len ; i++) crc = (crc << 8) ^ t10_dif_crc_table[((crc >> 8) ^ buffer[i]) & 0xff]; return crc; } #endif fio-3.39/crc/fnv.c000066400000000000000000000011471476262051600137450ustar00rootroot00000000000000#include "fnv.h" #define FNV_PRIME 0x100000001b3ULL /* * 64-bit fnv, but don't require 64-bit multiples of data. Use bytes * for the last unaligned chunk. */ uint64_t fnv(const void *buf, uint32_t len, uint64_t hval) { const uint64_t *ptr = buf; while (len) { hval *= FNV_PRIME; if (len >= sizeof(uint64_t)) { hval ^= (uint64_t) *ptr++; len -= sizeof(uint64_t); continue; } else { const uint8_t *ptr8 = (const uint8_t *) ptr; uint64_t val = 0; int i; for (i = 0; i < len; i++) { val <<= 8; val |= (uint8_t) *ptr8++; } hval ^= val; break; } } return hval; } fio-3.39/crc/fnv.h000066400000000000000000000001641476262051600137500ustar00rootroot00000000000000#ifndef FIO_FNV_H #define FIO_FNV_H #include uint64_t fnv(const void *, uint32_t, uint64_t); #endif fio-3.39/crc/md5.c000066400000000000000000000114211476262051600136350ustar00rootroot00000000000000/* * Shamelessly lifted from the 2.6 kernel (crypto/md5.c) */ #include #include "md5.h" static void md5_transform(uint32_t *hash, uint32_t const *in) { uint32_t a, b, c, d; a = hash[0]; b = hash[1]; c = hash[2]; d = hash[3]; MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); hash[0] += a; hash[1] += b; hash[2] += c; hash[3] += d; } void fio_md5_init(struct fio_md5_ctx *mctx) { mctx->hash[0] = 0x67452301; mctx->hash[1] = 0xefcdab89; mctx->hash[2] = 0x98badcfe; mctx->hash[3] = 0x10325476; } void fio_md5_update(struct fio_md5_ctx *mctx, const uint8_t *data, unsigned int len) { const uint32_t avail = sizeof(mctx->block) - (mctx->byte_count & 0x3f); mctx->byte_count += len; if (avail > len) { memcpy((char *)mctx->block + (sizeof(mctx->block) - avail), data, len); return; } memcpy((char *)mctx->block + (sizeof(mctx->block) - avail), data, avail); md5_transform(mctx->hash, mctx->block); data += avail; len -= avail; while (len >= sizeof(mctx->block)) { memcpy(mctx->block, data, sizeof(mctx->block)); md5_transform(mctx->hash, mctx->block); data += sizeof(mctx->block); len -= sizeof(mctx->block); } memcpy(mctx->block, data, len); } void fio_md5_final(struct fio_md5_ctx *mctx) { const unsigned int offset = mctx->byte_count & 0x3f; char *p = (char *)mctx->block + offset; int padding = 56 - (offset + 1); *p++ = 0x80; if (padding < 0) { memset(p, 0x00, padding + sizeof (uint64_t)); md5_transform(mctx->hash, mctx->block); p = (char *)mctx->block; padding = 56; } memset(p, 0, padding); mctx->block[14] = mctx->byte_count << 3; mctx->block[15] = mctx->byte_count >> 29; md5_transform(mctx->hash, mctx->block); } fio-3.39/crc/md5.h000066400000000000000000000012511476262051600136420ustar00rootroot00000000000000#ifndef MD5_H #define MD5_H #include #define MD5_DIGEST_SIZE 16 #define MD5_HMAC_BLOCK_SIZE 64 #define MD5_BLOCK_WORDS 16 #define MD5_HASH_WORDS 4 #define F1(x, y, z) (z ^ (x & (y ^ z))) #define F2(x, y, z) F1(z, x, y) #define F3(x, y, z) (x ^ y ^ z) #define F4(x, y, z) (y ^ (x | ~z)) #define MD5STEP(f, w, x, y, z, in, s) \ (w += f(x, y, z) + in, w = (w<>(32-s)) + x) struct fio_md5_ctx { uint32_t *hash; uint32_t block[MD5_BLOCK_WORDS]; uint64_t byte_count; }; extern void fio_md5_update(struct fio_md5_ctx *, const uint8_t *, unsigned int); extern void fio_md5_final(struct fio_md5_ctx *); extern void fio_md5_init(struct fio_md5_ctx *); #endif fio-3.39/crc/murmur3.c000066400000000000000000000026441476262051600145710ustar00rootroot00000000000000#include "murmur3.h" #include "../compiler/compiler.h" static inline uint32_t rotl32(uint32_t x, int8_t r) { return (x << r) | (x >> (32 - r)); } //----------------------------------------------------------------------------- // Finalization mix - force all bits of a hash block to avalanche static inline uint32_t fmix32(uint32_t h) { h ^= h >> 16; h *= 0x85ebca6b; h ^= h >> 13; h *= 0xc2b2ae35; h ^= h >> 16; return h; } static uint32_t murmur3_tail(const uint8_t *data, const int nblocks, uint32_t len, const uint32_t c1, const uint32_t c2, uint32_t h1) { const uint8_t *tail = (const uint8_t *)(data + nblocks * 4); uint32_t k1 = 0; switch (len & 3) { case 3: k1 ^= tail[2] << 16; fio_fallthrough; case 2: k1 ^= tail[1] << 8; fio_fallthrough; case 1: k1 ^= tail[0]; k1 *= c1; k1 = rotl32(k1, 15); k1 *= c2; h1 ^= k1; }; return fmix32(h1 ^ len); } uint32_t murmurhash3(const void *key, uint32_t len, uint32_t seed) { const uint8_t *data = (const uint8_t *)key; const int nblocks = len / 4; uint32_t h1 = seed; const uint32_t c1 = 0xcc9e2d51; const uint32_t c2 = 0x1b873593; const uint32_t *blocks = (const uint32_t *)(data + nblocks * 4); int i; for (i = -nblocks; i; i++) { uint32_t k1 = blocks[i]; k1 *= c1; k1 = rotl32(k1, 15); k1 *= c2; h1 ^= k1; h1 = rotl32(h1, 13); h1 = h1 * 5 + 0xe6546b64; } return murmur3_tail(data, nblocks, len, c1, c2, h1); } fio-3.39/crc/murmur3.h000066400000000000000000000002201476262051600145620ustar00rootroot00000000000000#ifndef FIO_MURMUR3_H #define FIO_MURMUR3_H #include uint32_t murmurhash3(const void *key, uint32_t len, uint32_t seed); #endif fio-3.39/crc/sha1.c000066400000000000000000000132341476262051600140100ustar00rootroot00000000000000/* * Based on the Mozilla SHA1 (see mozilla-sha1/sha1.c), * optimized to do word accesses rather than byte accesses, * and to avoid unnecessary copies into the context array. */ #include #include #include "sha1.h" /* Hash one 64-byte block of data */ static void blk_SHA1Block(struct fio_sha1_ctx *ctx, const unsigned int *data); void fio_sha1_init(struct fio_sha1_ctx *ctx) { ctx->size = 0; /* Initialize H with the magic constants (see FIPS180 for constants) */ ctx->H[0] = 0x67452301; ctx->H[1] = 0xefcdab89; ctx->H[2] = 0x98badcfe; ctx->H[3] = 0x10325476; ctx->H[4] = 0xc3d2e1f0; } void fio_sha1_update(struct fio_sha1_ctx *ctx, const void *data, unsigned long len) { int lenW = ctx->size & 63; ctx->size += len; /* Read the data into W and process blocks as they get full */ if (lenW) { int left = 64 - lenW; if (len < left) left = len; memcpy(lenW + (char *)ctx->W, data, left); lenW = (lenW + left) & 63; len -= left; data += left; if (lenW) return; blk_SHA1Block(ctx, ctx->W); } while (len >= 64) { blk_SHA1Block(ctx, data); data += 64; len -= 64; } if (len) memcpy(ctx->W, data, len); } void fio_sha1_final(struct fio_sha1_ctx *ctx) { static const unsigned char pad[64] = { 0x80 }; unsigned int padlen[2]; int i; /* Pad with a binary 1 (ie 0x80), then zeroes, then length */ padlen[0] = htonl(ctx->size >> 29); padlen[1] = htonl(ctx->size << 3); i = ctx->size & 63; fio_sha1_update(ctx, pad, 1+ (63 & (55 - i))); fio_sha1_update(ctx, padlen, 8); } #if defined(__i386__) || defined(__x86_64__) #define SHA_ASM(op, x, n) ({ unsigned int __res; __asm__(op " %1,%0":"=r" (__res):"i" (n), "0" (x)); __res; }) #define SHA_ROL(x,n) SHA_ASM("rol", x, n) #define SHA_ROR(x,n) SHA_ASM("ror", x, n) #else #define SHA_ROT(X,l,r) (((X) << (l)) | ((X) >> (r))) #define SHA_ROL(X,n) SHA_ROT(X,n,32-(n)) #define SHA_ROR(X,n) SHA_ROT(X,32-(n),n) #endif /* This "rolls" over the 512-bit array */ #define W(x) (array[(x)&15]) #define setW(x, val) (*(volatile unsigned int *)&W(x) = (val)) /* * Where do we get the source from? The first 16 iterations get it from * the input data, the next mix it from the 512-bit array. */ #define SHA_SRC(t) htonl(data[t]) #define SHA_MIX(t) SHA_ROL(W(t+13) ^ W(t+8) ^ W(t+2) ^ W(t), 1) #define SHA_ROUND(t, input, fn, constant, A, B, C, D, E) do { \ unsigned int TEMP = input(t); setW(t, TEMP); \ E += TEMP + SHA_ROL(A,5) + (fn) + (constant); \ B = SHA_ROR(B, 2); } while (0) #define T_0_15(t, A, B, C, D, E) SHA_ROUND(t, SHA_SRC, (((C^D)&B)^D) , 0x5a827999, A, B, C, D, E ) #define T_16_19(t, A, B, C, D, E) SHA_ROUND(t, SHA_MIX, (((C^D)&B)^D) , 0x5a827999, A, B, C, D, E ) #define T_20_39(t, A, B, C, D, E) SHA_ROUND(t, SHA_MIX, (B^C^D) , 0x6ed9eba1, A, B, C, D, E ) #define T_40_59(t, A, B, C, D, E) SHA_ROUND(t, SHA_MIX, ((B&C)+(D&(B^C))) , 0x8f1bbcdc, A, B, C, D, E ) #define T_60_79(t, A, B, C, D, E) SHA_ROUND(t, SHA_MIX, (B^C^D) , 0xca62c1d6, A, B, C, D, E ) static void blk_SHA1Block(struct fio_sha1_ctx *ctx, const unsigned int *data) { unsigned int A,B,C,D,E; unsigned int array[16]; A = ctx->H[0]; B = ctx->H[1]; C = ctx->H[2]; D = ctx->H[3]; E = ctx->H[4]; /* Round 1 - iterations 0-16 take their input from 'data' */ T_0_15( 0, A, B, C, D, E); T_0_15( 1, E, A, B, C, D); T_0_15( 2, D, E, A, B, C); T_0_15( 3, C, D, E, A, B); T_0_15( 4, B, C, D, E, A); T_0_15( 5, A, B, C, D, E); T_0_15( 6, E, A, B, C, D); T_0_15( 7, D, E, A, B, C); T_0_15( 8, C, D, E, A, B); T_0_15( 9, B, C, D, E, A); T_0_15(10, A, B, C, D, E); T_0_15(11, E, A, B, C, D); T_0_15(12, D, E, A, B, C); T_0_15(13, C, D, E, A, B); T_0_15(14, B, C, D, E, A); T_0_15(15, A, B, C, D, E); /* Round 1 - tail. Input from 512-bit mixing array */ T_16_19(16, E, A, B, C, D); T_16_19(17, D, E, A, B, C); T_16_19(18, C, D, E, A, B); T_16_19(19, B, C, D, E, A); /* Round 2 */ T_20_39(20, A, B, C, D, E); T_20_39(21, E, A, B, C, D); T_20_39(22, D, E, A, B, C); T_20_39(23, C, D, E, A, B); T_20_39(24, B, C, D, E, A); T_20_39(25, A, B, C, D, E); T_20_39(26, E, A, B, C, D); T_20_39(27, D, E, A, B, C); T_20_39(28, C, D, E, A, B); T_20_39(29, B, C, D, E, A); T_20_39(30, A, B, C, D, E); T_20_39(31, E, A, B, C, D); T_20_39(32, D, E, A, B, C); T_20_39(33, C, D, E, A, B); T_20_39(34, B, C, D, E, A); T_20_39(35, A, B, C, D, E); T_20_39(36, E, A, B, C, D); T_20_39(37, D, E, A, B, C); T_20_39(38, C, D, E, A, B); T_20_39(39, B, C, D, E, A); /* Round 3 */ T_40_59(40, A, B, C, D, E); T_40_59(41, E, A, B, C, D); T_40_59(42, D, E, A, B, C); T_40_59(43, C, D, E, A, B); T_40_59(44, B, C, D, E, A); T_40_59(45, A, B, C, D, E); T_40_59(46, E, A, B, C, D); T_40_59(47, D, E, A, B, C); T_40_59(48, C, D, E, A, B); T_40_59(49, B, C, D, E, A); T_40_59(50, A, B, C, D, E); T_40_59(51, E, A, B, C, D); T_40_59(52, D, E, A, B, C); T_40_59(53, C, D, E, A, B); T_40_59(54, B, C, D, E, A); T_40_59(55, A, B, C, D, E); T_40_59(56, E, A, B, C, D); T_40_59(57, D, E, A, B, C); T_40_59(58, C, D, E, A, B); T_40_59(59, B, C, D, E, A); /* Round 4 */ T_60_79(60, A, B, C, D, E); T_60_79(61, E, A, B, C, D); T_60_79(62, D, E, A, B, C); T_60_79(63, C, D, E, A, B); T_60_79(64, B, C, D, E, A); T_60_79(65, A, B, C, D, E); T_60_79(66, E, A, B, C, D); T_60_79(67, D, E, A, B, C); T_60_79(68, C, D, E, A, B); T_60_79(69, B, C, D, E, A); T_60_79(70, A, B, C, D, E); T_60_79(71, E, A, B, C, D); T_60_79(72, D, E, A, B, C); T_60_79(73, C, D, E, A, B); T_60_79(74, B, C, D, E, A); T_60_79(75, A, B, C, D, E); T_60_79(76, E, A, B, C, D); T_60_79(77, D, E, A, B, C); T_60_79(78, C, D, E, A, B); T_60_79(79, B, C, D, E, A); ctx->H[0] += A; ctx->H[1] += B; ctx->H[2] += C; ctx->H[3] += D; ctx->H[4] += E; } fio-3.39/crc/sha1.h000066400000000000000000000007731476262051600140210ustar00rootroot00000000000000#ifndef FIO_SHA1 #define FIO_SHA1 #include /* * Based on the Mozilla SHA1 (see mozilla-sha1/sha1.h), * optimized to do word accesses rather than byte accesses, * and to avoid unnecessary copies into the context array. */ struct fio_sha1_ctx { uint32_t *H; unsigned int W[16]; unsigned long long size; }; void fio_sha1_init(struct fio_sha1_ctx *); void fio_sha1_update(struct fio_sha1_ctx *, const void *dataIn, unsigned long len); void fio_sha1_final(struct fio_sha1_ctx *); #endif fio-3.39/crc/sha256.c000066400000000000000000000236071476262051600141710ustar00rootroot00000000000000/* * Cryptographic API. * * SHA-256, as specified in * http://csrc.nist.gov/cryptval/shs/sha256-384-512.pdf * * SHA-256 code by Jean-Luc Cooke . * * Copyright (c) Jean-Luc Cooke * Copyright (c) Andrew McDonald * Copyright (c) 2002 James Morris * * 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. * */ #include #include "../lib/bswap.h" #include "sha256.h" #define SHA256_DIGEST_SIZE 32 #define SHA256_HMAC_BLOCK_SIZE 64 static inline uint32_t Ch(uint32_t x, uint32_t y, uint32_t z) { return z ^ (x & (y ^ z)); } static inline uint32_t Maj(uint32_t x, uint32_t y, uint32_t z) { return (x & y) | (z & (x | y)); } #define e0(x) (ror32(x, 2) ^ ror32(x,13) ^ ror32(x,22)) #define e1(x) (ror32(x, 6) ^ ror32(x,11) ^ ror32(x,25)) #define s0(x) (ror32(x, 7) ^ ror32(x,18) ^ (x >> 3)) #define s1(x) (ror32(x,17) ^ ror32(x,19) ^ (x >> 10)) #define H0 0x6a09e667 #define H1 0xbb67ae85 #define H2 0x3c6ef372 #define H3 0xa54ff53a #define H4 0x510e527f #define H5 0x9b05688c #define H6 0x1f83d9ab #define H7 0x5be0cd19 static inline uint32_t ror32(uint32_t word, unsigned int shift) { return (word >> shift) | (word << (32 - shift)); } static inline void LOAD_OP(int I, uint32_t *W, const uint8_t *input) { W[I] = __be32_to_cpu(((uint32_t *)(input))[I]); } static inline void BLEND_OP(int I, uint32_t *W) { W[I] = s1(W[I-2]) + W[I-7] + s0(W[I-15]) + W[I-16]; } static void sha256_transform(uint32_t *state, const uint8_t *input) { uint32_t a, b, c, d, e, f, g, h, t1, t2; uint32_t W[64]; int i; /* load the input */ for (i = 0; i < 16; i++) LOAD_OP(i, W, input); /* now blend */ for (i = 16; i < 64; i++) BLEND_OP(i, W); /* load the state into our registers */ a=state[0]; b=state[1]; c=state[2]; d=state[3]; e=state[4]; f=state[5]; g=state[6]; h=state[7]; /* now iterate */ t1 = h + e1(e) + Ch(e,f,g) + 0x428a2f98 + W[ 0]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; t1 = g + e1(d) + Ch(d,e,f) + 0x71374491 + W[ 1]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; t1 = f + e1(c) + Ch(c,d,e) + 0xb5c0fbcf + W[ 2]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; t1 = e + e1(b) + Ch(b,c,d) + 0xe9b5dba5 + W[ 3]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; t1 = d + e1(a) + Ch(a,b,c) + 0x3956c25b + W[ 4]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; t1 = c + e1(h) + Ch(h,a,b) + 0x59f111f1 + W[ 5]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; t1 = b + e1(g) + Ch(g,h,a) + 0x923f82a4 + W[ 6]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; t1 = a + e1(f) + Ch(f,g,h) + 0xab1c5ed5 + W[ 7]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; t1 = h + e1(e) + Ch(e,f,g) + 0xd807aa98 + W[ 8]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; t1 = g + e1(d) + Ch(d,e,f) + 0x12835b01 + W[ 9]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; t1 = f + e1(c) + Ch(c,d,e) + 0x243185be + W[10]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; t1 = e + e1(b) + Ch(b,c,d) + 0x550c7dc3 + W[11]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; t1 = d + e1(a) + Ch(a,b,c) + 0x72be5d74 + W[12]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; t1 = c + e1(h) + Ch(h,a,b) + 0x80deb1fe + W[13]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; t1 = b + e1(g) + Ch(g,h,a) + 0x9bdc06a7 + W[14]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; t1 = a + e1(f) + Ch(f,g,h) + 0xc19bf174 + W[15]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; t1 = h + e1(e) + Ch(e,f,g) + 0xe49b69c1 + W[16]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; t1 = g + e1(d) + Ch(d,e,f) + 0xefbe4786 + W[17]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; t1 = f + e1(c) + Ch(c,d,e) + 0x0fc19dc6 + W[18]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; t1 = e + e1(b) + Ch(b,c,d) + 0x240ca1cc + W[19]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; t1 = d + e1(a) + Ch(a,b,c) + 0x2de92c6f + W[20]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; t1 = c + e1(h) + Ch(h,a,b) + 0x4a7484aa + W[21]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; t1 = b + e1(g) + Ch(g,h,a) + 0x5cb0a9dc + W[22]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; t1 = a + e1(f) + Ch(f,g,h) + 0x76f988da + W[23]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; t1 = h + e1(e) + Ch(e,f,g) + 0x983e5152 + W[24]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; t1 = g + e1(d) + Ch(d,e,f) + 0xa831c66d + W[25]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; t1 = f + e1(c) + Ch(c,d,e) + 0xb00327c8 + W[26]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; t1 = e + e1(b) + Ch(b,c,d) + 0xbf597fc7 + W[27]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; t1 = d + e1(a) + Ch(a,b,c) + 0xc6e00bf3 + W[28]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; t1 = c + e1(h) + Ch(h,a,b) + 0xd5a79147 + W[29]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; t1 = b + e1(g) + Ch(g,h,a) + 0x06ca6351 + W[30]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; t1 = a + e1(f) + Ch(f,g,h) + 0x14292967 + W[31]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; t1 = h + e1(e) + Ch(e,f,g) + 0x27b70a85 + W[32]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; t1 = g + e1(d) + Ch(d,e,f) + 0x2e1b2138 + W[33]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; t1 = f + e1(c) + Ch(c,d,e) + 0x4d2c6dfc + W[34]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; t1 = e + e1(b) + Ch(b,c,d) + 0x53380d13 + W[35]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; t1 = d + e1(a) + Ch(a,b,c) + 0x650a7354 + W[36]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; t1 = c + e1(h) + Ch(h,a,b) + 0x766a0abb + W[37]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; t1 = b + e1(g) + Ch(g,h,a) + 0x81c2c92e + W[38]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; t1 = a + e1(f) + Ch(f,g,h) + 0x92722c85 + W[39]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; t1 = h + e1(e) + Ch(e,f,g) + 0xa2bfe8a1 + W[40]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; t1 = g + e1(d) + Ch(d,e,f) + 0xa81a664b + W[41]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; t1 = f + e1(c) + Ch(c,d,e) + 0xc24b8b70 + W[42]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; t1 = e + e1(b) + Ch(b,c,d) + 0xc76c51a3 + W[43]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; t1 = d + e1(a) + Ch(a,b,c) + 0xd192e819 + W[44]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; t1 = c + e1(h) + Ch(h,a,b) + 0xd6990624 + W[45]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; t1 = b + e1(g) + Ch(g,h,a) + 0xf40e3585 + W[46]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; t1 = a + e1(f) + Ch(f,g,h) + 0x106aa070 + W[47]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; t1 = h + e1(e) + Ch(e,f,g) + 0x19a4c116 + W[48]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; t1 = g + e1(d) + Ch(d,e,f) + 0x1e376c08 + W[49]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; t1 = f + e1(c) + Ch(c,d,e) + 0x2748774c + W[50]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; t1 = e + e1(b) + Ch(b,c,d) + 0x34b0bcb5 + W[51]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; t1 = d + e1(a) + Ch(a,b,c) + 0x391c0cb3 + W[52]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; t1 = c + e1(h) + Ch(h,a,b) + 0x4ed8aa4a + W[53]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; t1 = b + e1(g) + Ch(g,h,a) + 0x5b9cca4f + W[54]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; t1 = a + e1(f) + Ch(f,g,h) + 0x682e6ff3 + W[55]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; t1 = h + e1(e) + Ch(e,f,g) + 0x748f82ee + W[56]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; t1 = g + e1(d) + Ch(d,e,f) + 0x78a5636f + W[57]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; t1 = f + e1(c) + Ch(c,d,e) + 0x84c87814 + W[58]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; t1 = e + e1(b) + Ch(b,c,d) + 0x8cc70208 + W[59]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; t1 = d + e1(a) + Ch(a,b,c) + 0x90befffa + W[60]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; t1 = c + e1(h) + Ch(h,a,b) + 0xa4506ceb + W[61]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; t1 = b + e1(g) + Ch(g,h,a) + 0xbef9a3f7 + W[62]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; t1 = a + e1(f) + Ch(f,g,h) + 0xc67178f2 + W[63]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; state[0] += a; state[1] += b; state[2] += c; state[3] += d; state[4] += e; state[5] += f; state[6] += g; state[7] += h; /* clear any sensitive info... */ a = b = c = d = e = f = g = h = t1 = t2 = 0; memset(W, 0, 64 * sizeof(uint32_t)); } void fio_sha256_init(struct fio_sha256_ctx *sctx) { sctx->state[0] = H0; sctx->state[1] = H1; sctx->state[2] = H2; sctx->state[3] = H3; sctx->state[4] = H4; sctx->state[5] = H5; sctx->state[6] = H6; sctx->state[7] = H7; sctx->count = 0; } void fio_sha256_update(struct fio_sha256_ctx *sctx, const uint8_t *data, unsigned int len) { unsigned int partial, done; const uint8_t *src; partial = sctx->count & 0x3f; sctx->count += len; done = 0; src = data; if ((partial + len) > 63) { if (partial) { done = -partial; memcpy(sctx->buf + partial, data, done + 64); src = sctx->buf; } do { sha256_transform(sctx->state, src); done += 64; src = data + done; } while (done + 63 < len); partial = 0; } memcpy(sctx->buf + partial, src, len - done); } void fio_sha256_final(struct fio_sha256_ctx *sctx) { uint64_t bits; unsigned int index, pad_len; int i; static const uint8_t padding[64] = { 0x80, }; /* Save number of bits */ bits = (uint64_t) sctx->count << 3; /* Pad out to 56 mod 64. */ index = sctx->count & 0x3f; pad_len = (index < 56) ? (56 - index) : ((64+56) - index); fio_sha256_update(sctx, padding, pad_len); /* Append length (before padding) */ fio_sha256_update(sctx, (const uint8_t *)&bits, sizeof(bits)); /* Store state in digest */ for (i = 0; i < 8; i++) sctx->buf[i] = sctx->state[i]; } fio-3.39/crc/sha256.h000066400000000000000000000006321476262051600141670ustar00rootroot00000000000000#ifndef FIO_SHA256_H #define FIO_SHA256_H #include #define SHA256_DIGEST_SIZE 32 #define SHA256_BLOCK_SIZE 64 struct fio_sha256_ctx { uint32_t count; uint32_t state[SHA256_DIGEST_SIZE / 4]; uint8_t *buf; }; void fio_sha256_init(struct fio_sha256_ctx *); void fio_sha256_update(struct fio_sha256_ctx *, const uint8_t *, unsigned int); void fio_sha256_final(struct fio_sha256_ctx *); #endif fio-3.39/crc/sha3.c000066400000000000000000000077751476262051600140270ustar00rootroot00000000000000/* * Cryptographic API. * * SHA-3, as specified in * http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf * * SHA-3 code by Jeff Garzik * * 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. * */ #include #include "../os/os.h" #include "sha3.h" #define KECCAK_ROUNDS 24 #define ROTL64(x, y) (((x) << (y)) | ((x) >> (64 - (y)))) static const uint64_t keccakf_rndc[24] = { 0x0000000000000001ULL, 0x0000000000008082ULL, 0x800000000000808aULL, 0x8000000080008000ULL, 0x000000000000808bULL, 0x0000000080000001ULL, 0x8000000080008081ULL, 0x8000000000008009ULL, 0x000000000000008aULL, 0x0000000000000088ULL, 0x0000000080008009ULL, 0x000000008000000aULL, 0x000000008000808bULL, 0x800000000000008bULL, 0x8000000000008089ULL, 0x8000000000008003ULL, 0x8000000000008002ULL, 0x8000000000000080ULL, 0x000000000000800aULL, 0x800000008000000aULL, 0x8000000080008081ULL, 0x8000000000008080ULL, 0x0000000080000001ULL, 0x8000000080008008ULL }; static const int keccakf_rotc[24] = { 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 2, 14, 27, 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44 }; static const int keccakf_piln[24] = { 10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, 19, 13, 12, 2, 20, 14, 22, 9, 6, 1 }; /* update the state with given number of rounds */ static void keccakf(uint64_t st[25]) { int i, j, round; uint64_t t, bc[5]; for (round = 0; round < KECCAK_ROUNDS; round++) { /* Theta */ for (i = 0; i < 5; i++) bc[i] = st[i] ^ st[i + 5] ^ st[i + 10] ^ st[i + 15] ^ st[i + 20]; for (i = 0; i < 5; i++) { t = bc[(i + 4) % 5] ^ ROTL64(bc[(i + 1) % 5], 1); for (j = 0; j < 25; j += 5) st[j + i] ^= t; } /* Rho Pi */ t = st[1]; for (i = 0; i < 24; i++) { j = keccakf_piln[i]; bc[0] = st[j]; st[j] = ROTL64(t, keccakf_rotc[i]); t = bc[0]; } /* Chi */ for (j = 0; j < 25; j += 5) { for (i = 0; i < 5; i++) bc[i] = st[j + i]; for (i = 0; i < 5; i++) st[j + i] ^= (~bc[(i + 1) % 5]) & bc[(i + 2) % 5]; } /* Iota */ st[0] ^= keccakf_rndc[round]; } } static void fio_sha3_init(struct fio_sha3_ctx *sctx, unsigned int digest_sz) { memset(sctx->st, 0, sizeof(sctx->st)); sctx->md_len = digest_sz; sctx->rsiz = 200 - 2 * digest_sz; sctx->rsizw = sctx->rsiz / 8; sctx->partial = 0; memset(sctx->buf, 0, sizeof(sctx->buf)); } void fio_sha3_224_init(struct fio_sha3_ctx *sctx) { fio_sha3_init(sctx, SHA3_224_DIGEST_SIZE); } void fio_sha3_256_init(struct fio_sha3_ctx *sctx) { fio_sha3_init(sctx, SHA3_256_DIGEST_SIZE); } void fio_sha3_384_init(struct fio_sha3_ctx *sctx) { fio_sha3_init(sctx, SHA3_384_DIGEST_SIZE); } void fio_sha3_512_init(struct fio_sha3_ctx *sctx) { fio_sha3_init(sctx, SHA3_512_DIGEST_SIZE); } int fio_sha3_update(struct fio_sha3_ctx *sctx, const uint8_t *data, unsigned int len) { unsigned int done; const uint8_t *src; done = 0; src = data; if ((sctx->partial + len) > (sctx->rsiz - 1)) { if (sctx->partial) { done = -sctx->partial; memcpy(sctx->buf + sctx->partial, data, done + sctx->rsiz); src = sctx->buf; } do { unsigned int i; for (i = 0; i < sctx->rsizw; i++) sctx->st[i] ^= ((uint64_t *) src)[i]; keccakf(sctx->st); done += sctx->rsiz; src = data + done; } while (done + (sctx->rsiz - 1) < len); sctx->partial = 0; } memcpy(sctx->buf + sctx->partial, src, len - done); sctx->partial += (len - done); return 0; } void fio_sha3_final(struct fio_sha3_ctx *sctx) { unsigned int i, inlen = sctx->partial; sctx->buf[inlen++] = 0x06; memset(sctx->buf + inlen, 0, sctx->rsiz - inlen); sctx->buf[sctx->rsiz - 1] |= 0x80; for (i = 0; i < sctx->rsizw; i++) sctx->st[i] ^= ((uint64_t *) sctx->buf)[i]; keccakf(sctx->st); for (i = 0; i < sctx->rsizw; i++) sctx->st[i] = cpu_to_le64(sctx->st[i]); memcpy(sctx->sha, sctx->st, sctx->md_len); } fio-3.39/crc/sha3.h000066400000000000000000000020471476262051600140170ustar00rootroot00000000000000/* * Common values for SHA-3 algorithms */ #ifndef __CRYPTO_SHA3_H__ #define __CRYPTO_SHA3_H__ #include #define SHA3_224_DIGEST_SIZE (224 / 8) #define SHA3_224_BLOCK_SIZE (200 - 2 * SHA3_224_DIGEST_SIZE) #define SHA3_256_DIGEST_SIZE (256 / 8) #define SHA3_256_BLOCK_SIZE (200 - 2 * SHA3_256_DIGEST_SIZE) #define SHA3_384_DIGEST_SIZE (384 / 8) #define SHA3_384_BLOCK_SIZE (200 - 2 * SHA3_384_DIGEST_SIZE) #define SHA3_512_DIGEST_SIZE (512 / 8) #define SHA3_512_BLOCK_SIZE (200 - 2 * SHA3_512_DIGEST_SIZE) struct fio_sha3_ctx { uint64_t st[25]; unsigned int md_len; unsigned int rsiz; unsigned int rsizw; unsigned int partial; uint8_t buf[SHA3_224_BLOCK_SIZE]; uint8_t *sha; }; void fio_sha3_224_init(struct fio_sha3_ctx *sctx); void fio_sha3_256_init(struct fio_sha3_ctx *sctx); void fio_sha3_384_init(struct fio_sha3_ctx *sctx); void fio_sha3_512_init(struct fio_sha3_ctx *sctx); int fio_sha3_update(struct fio_sha3_ctx *sctx, const uint8_t *data, unsigned int len); void fio_sha3_final(struct fio_sha3_ctx *sctx); #endif fio-3.39/crc/sha512.c000066400000000000000000000202341476262051600141550ustar00rootroot00000000000000/* SHA-512 code by Jean-Luc Cooke * * Copyright (c) Jean-Luc Cooke * Copyright (c) Andrew McDonald * Copyright (c) 2003 Kyle McMartin * * 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. * */ #include #include "../lib/bswap.h" #include "sha512.h" #define SHA384_DIGEST_SIZE 48 #define SHA512_DIGEST_SIZE 64 #define SHA384_HMAC_BLOCK_SIZE 128 #define SHA512_HMAC_BLOCK_SIZE 128 static inline uint64_t Ch(uint64_t x, uint64_t y, uint64_t z) { return z ^ (x & (y ^ z)); } static inline uint64_t Maj(uint64_t x, uint64_t y, uint64_t z) { return (x & y) | (z & (x | y)); } static inline uint64_t RORuint64_t(uint64_t x, uint64_t y) { return (x >> y) | (x << (64 - y)); } static const uint64_t sha512_K[80] = { 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, 0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL, 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL, 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, 0xd807aa98a3030242ULL, 0x12835b0145706fbeULL, 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL, 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, 0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL, 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL, 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL, 0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL, 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL, 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, 0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL, 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL, 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, 0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL, 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL, 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, 0x81c2c92e47edaee6ULL, 0x92722c851482353bULL, 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL, 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, 0xd192e819d6ef5218ULL, 0xd69906245565a910ULL, 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL, 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, 0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL, 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL, 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL, 0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL, 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL, 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, 0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL, 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL, 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, 0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL, 0x113f9804bef90daeULL, 0x1b710b35131c471bULL, 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, 0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL, 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL, 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL, }; #define e0(x) (RORuint64_t(x,28) ^ RORuint64_t(x,34) ^ RORuint64_t(x,39)) #define e1(x) (RORuint64_t(x,14) ^ RORuint64_t(x,18) ^ RORuint64_t(x,41)) #define s0(x) (RORuint64_t(x, 1) ^ RORuint64_t(x, 8) ^ (x >> 7)) #define s1(x) (RORuint64_t(x,19) ^ RORuint64_t(x,61) ^ (x >> 6)) /* H* initial state for SHA-512 */ #define H0 0x6a09e667f3bcc908ULL #define H1 0xbb67ae8584caa73bULL #define H2 0x3c6ef372fe94f82bULL #define H3 0xa54ff53a5f1d36f1ULL #define H4 0x510e527fade682d1ULL #define H5 0x9b05688c2b3e6c1fULL #define H6 0x1f83d9abfb41bd6bULL #define H7 0x5be0cd19137e2179ULL /* H'* initial state for SHA-384 */ #define HP0 0xcbbb9d5dc1059ed8ULL #define HP1 0x629a292a367cd507ULL #define HP2 0x9159015a3070dd17ULL #define HP3 0x152fecd8f70e5939ULL #define HP4 0x67332667ffc00b31ULL #define HP5 0x8eb44a8768581511ULL #define HP6 0xdb0c2e0d64f98fa7ULL #define HP7 0x47b5481dbefa4fa4ULL static inline void LOAD_OP(int I, uint64_t *W, const uint8_t *input) { W[I] = __be64_to_cpu( ((uint64_t *)(input))[I] ); } static inline void BLEND_OP(int I, uint64_t *W) { W[I] = s1(W[I-2]) + W[I-7] + s0(W[I-15]) + W[I-16]; } static void sha512_transform(uint64_t *state, uint64_t *W, const uint8_t *input) { uint64_t a, b, c, d, e, f, g, h, t1, t2; int i; /* load the input */ for (i = 0; i < 16; i++) LOAD_OP(i, W, input); for (i = 16; i < 80; i++) BLEND_OP(i, W); /* load the state into our registers */ a=state[0]; b=state[1]; c=state[2]; d=state[3]; e=state[4]; f=state[5]; g=state[6]; h=state[7]; /* now iterate */ for (i=0; i<80; i+=8) { t1 = h + e1(e) + Ch(e,f,g) + sha512_K[i ] + W[i ]; t2 = e0(a) + Maj(a,b,c); d+=t1; h=t1+t2; t1 = g + e1(d) + Ch(d,e,f) + sha512_K[i+1] + W[i+1]; t2 = e0(h) + Maj(h,a,b); c+=t1; g=t1+t2; t1 = f + e1(c) + Ch(c,d,e) + sha512_K[i+2] + W[i+2]; t2 = e0(g) + Maj(g,h,a); b+=t1; f=t1+t2; t1 = e + e1(b) + Ch(b,c,d) + sha512_K[i+3] + W[i+3]; t2 = e0(f) + Maj(f,g,h); a+=t1; e=t1+t2; t1 = d + e1(a) + Ch(a,b,c) + sha512_K[i+4] + W[i+4]; t2 = e0(e) + Maj(e,f,g); h+=t1; d=t1+t2; t1 = c + e1(h) + Ch(h,a,b) + sha512_K[i+5] + W[i+5]; t2 = e0(d) + Maj(d,e,f); g+=t1; c=t1+t2; t1 = b + e1(g) + Ch(g,h,a) + sha512_K[i+6] + W[i+6]; t2 = e0(c) + Maj(c,d,e); f+=t1; b=t1+t2; t1 = a + e1(f) + Ch(f,g,h) + sha512_K[i+7] + W[i+7]; t2 = e0(b) + Maj(b,c,d); e+=t1; a=t1+t2; } state[0] += a; state[1] += b; state[2] += c; state[3] += d; state[4] += e; state[5] += f; state[6] += g; state[7] += h; /* erase our data */ a = b = c = d = e = f = g = h = t1 = t2 = 0; } void fio_sha512_init(struct fio_sha512_ctx *sctx) { sctx->state[0] = H0; sctx->state[1] = H1; sctx->state[2] = H2; sctx->state[3] = H3; sctx->state[4] = H4; sctx->state[5] = H5; sctx->state[6] = H6; sctx->state[7] = H7; sctx->count[0] = sctx->count[1] = sctx->count[2] = sctx->count[3] = 0; } void fio_sha512_update(struct fio_sha512_ctx *sctx, const uint8_t *data, unsigned int len) { unsigned int i, idx, part_len; /* Compute number of bytes mod 128 */ idx = (unsigned int)((sctx->count[0] >> 3) & 0x7F); /* Update number of bits */ if ((sctx->count[0] += (len << 3)) < (len << 3)) { if ((sctx->count[1] += 1) < 1) if ((sctx->count[2] += 1) < 1) sctx->count[3]++; sctx->count[1] += (len >> 29); } part_len = 128 - idx; /* Transform as many times as possible. */ if (len >= part_len) { memcpy(&sctx->buf[idx], data, part_len); sha512_transform(sctx->state, sctx->W, sctx->buf); for (i = part_len; i + 127 < len; i+=128) sha512_transform(sctx->state, sctx->W, &data[i]); idx = 0; } else { i = 0; } /* Buffer remaining input */ memcpy(&sctx->buf[idx], &data[i], len - i); /* erase our data */ memset(sctx->W, 0, sizeof(sctx->W)); } void fio_sha512_final(struct fio_sha512_ctx *sctx) { uint8_t *hash = sctx->buf; static uint8_t padding[128] = { 0x80, }; unsigned int index, pad_len; uint8_t bits[128]; uint64_t t2; uint32_t t; int i, j; index = pad_len = t = i = j = 0; t2 = 0; /* Save number of bits */ t = sctx->count[0]; bits[15] = t; t>>=8; bits[14] = t; t>>=8; bits[13] = t; t>>=8; bits[12] = t; t = sctx->count[1]; bits[11] = t; t>>=8; bits[10] = t; t>>=8; bits[9 ] = t; t>>=8; bits[8 ] = t; t = sctx->count[2]; bits[7 ] = t; t>>=8; bits[6 ] = t; t>>=8; bits[5 ] = t; t>>=8; bits[4 ] = t; t = sctx->count[3]; bits[3 ] = t; t>>=8; bits[2 ] = t; t>>=8; bits[1 ] = t; t>>=8; bits[0 ] = t; /* Pad out to 112 mod 128. */ index = (sctx->count[0] >> 3) & 0x7f; pad_len = (index < 112) ? (112 - index) : ((128+112) - index); fio_sha512_update(sctx, padding, pad_len); /* Append length (before padding) */ fio_sha512_update(sctx, bits, 16); /* Store state in digest */ for (i = j = 0; i < 8; i++, j += 8) { t2 = sctx->state[i]; hash[j+7] = (char)t2 & 0xff; t2>>=8; hash[j+6] = (char)t2 & 0xff; t2>>=8; hash[j+5] = (char)t2 & 0xff; t2>>=8; hash[j+4] = (char)t2 & 0xff; t2>>=8; hash[j+3] = (char)t2 & 0xff; t2>>=8; hash[j+2] = (char)t2 & 0xff; t2>>=8; hash[j+1] = (char)t2 & 0xff; t2>>=8; hash[j ] = (char)t2 & 0xff; } } fio-3.39/crc/sha512.h000066400000000000000000000005411476262051600141610ustar00rootroot00000000000000#ifndef FIO_SHA512_H #define FIO_SHA512_H #include struct fio_sha512_ctx { uint64_t state[8]; uint32_t count[4]; uint8_t *buf; uint64_t W[80]; }; void fio_sha512_init(struct fio_sha512_ctx *); void fio_sha512_update(struct fio_sha512_ctx *, const uint8_t *, unsigned int); void fio_sha512_final(struct fio_sha512_ctx *sctx); #endif fio-3.39/crc/test.c000066400000000000000000000167121476262051600141370ustar00rootroot00000000000000#include #include #include #include #include "../gettime.h" #include "../fio_time.h" #include "../lib/rand.h" #include "../os/os.h" #include "../crc/md5.h" #include "../crc/crc64.h" #include "../crc/crc32.h" #include "../crc/crc32c.h" #include "../crc/crc16.h" #include "../crc/crc7.h" #include "../crc/sha1.h" #include "../crc/sha256.h" #include "../crc/sha512.h" #include "../crc/sha3.h" #include "../crc/xxhash.h" #include "../crc/murmur3.h" #include "../crc/fnv.h" #include "../hash.h" #include "test.h" #define CHUNK 131072U #define NR_CHUNKS 2048U struct test_type { const char *name; unsigned int mask; void (*fn)(struct test_type *, void *, size_t); uint32_t output; }; enum { T_MD5 = 1U << 0, T_CRC64 = 1U << 1, T_CRC32 = 1U << 2, T_CRC32C = 1U << 3, T_CRC16 = 1U << 4, T_CRC7 = 1U << 5, T_SHA1 = 1U << 6, T_SHA256 = 1U << 7, T_SHA512 = 1U << 8, T_XXHASH = 1U << 9, T_MURMUR3 = 1U << 10, T_JHASH = 1U << 11, T_FNV = 1U << 12, T_SHA3_224 = 1U << 13, T_SHA3_256 = 1U << 14, T_SHA3_384 = 1U << 15, T_SHA3_512 = 1U << 16, }; static void t_md5(struct test_type *t, void *buf, size_t size) { uint32_t digest[4]; struct fio_md5_ctx ctx = { .hash = digest }; int i; fio_md5_init(&ctx); for (i = 0; i < NR_CHUNKS; i++) { fio_md5_update(&ctx, buf, size); fio_md5_final(&ctx); } } static void t_crc64(struct test_type *t, void *buf, size_t size) { int i; for (i = 0; i < NR_CHUNKS; i++) t->output += fio_crc64(buf, size); } static void t_crc32(struct test_type *t, void *buf, size_t size) { int i; for (i = 0; i < NR_CHUNKS; i++) t->output += fio_crc32(buf, size); } static void t_crc32c(struct test_type *t, void *buf, size_t size) { int i; for (i = 0; i < NR_CHUNKS; i++) t->output += fio_crc32c(buf, size); } static void t_crc16(struct test_type *t, void *buf, size_t size) { int i; for (i = 0; i < NR_CHUNKS; i++) t->output += fio_crc16(buf, size); } static void t_crc7(struct test_type *t, void *buf, size_t size) { int i; for (i = 0; i < NR_CHUNKS; i++) t->output += fio_crc7(buf, size); } static void t_sha1(struct test_type *t, void *buf, size_t size) { uint32_t sha[5]; struct fio_sha1_ctx ctx = { .H = sha }; int i; fio_sha1_init(&ctx); for (i = 0; i < NR_CHUNKS; i++) { fio_sha1_update(&ctx, buf, size); fio_sha1_final(&ctx); } } static void t_sha256(struct test_type *t, void *buf, size_t size) { uint8_t sha[64]; struct fio_sha256_ctx ctx = { .buf = sha }; int i; fio_sha256_init(&ctx); for (i = 0; i < NR_CHUNKS; i++) { fio_sha256_update(&ctx, buf, size); fio_sha256_final(&ctx); } } static void t_sha512(struct test_type *t, void *buf, size_t size) { uint8_t sha[128]; struct fio_sha512_ctx ctx = { .buf = sha }; int i; fio_sha512_init(&ctx); for (i = 0; i < NR_CHUNKS; i++) fio_sha512_update(&ctx, buf, size); } static void t_sha3_224(struct test_type *t, void *buf, size_t size) { uint8_t sha[SHA3_224_DIGEST_SIZE]; struct fio_sha3_ctx ctx = { .sha = sha }; int i; fio_sha3_224_init(&ctx); for (i = 0; i < NR_CHUNKS; i++) { fio_sha3_update(&ctx, buf, size); fio_sha3_final(&ctx); } } static void t_sha3_256(struct test_type *t, void *buf, size_t size) { uint8_t sha[SHA3_256_DIGEST_SIZE]; struct fio_sha3_ctx ctx = { .sha = sha }; int i; fio_sha3_256_init(&ctx); for (i = 0; i < NR_CHUNKS; i++) { fio_sha3_update(&ctx, buf, size); fio_sha3_final(&ctx); } } static void t_sha3_384(struct test_type *t, void *buf, size_t size) { uint8_t sha[SHA3_384_DIGEST_SIZE]; struct fio_sha3_ctx ctx = { .sha = sha }; int i; fio_sha3_384_init(&ctx); for (i = 0; i < NR_CHUNKS; i++) { fio_sha3_update(&ctx, buf, size); fio_sha3_final(&ctx); } } static void t_sha3_512(struct test_type *t, void *buf, size_t size) { uint8_t sha[SHA3_512_DIGEST_SIZE]; struct fio_sha3_ctx ctx = { .sha = sha }; int i; fio_sha3_512_init(&ctx); for (i = 0; i < NR_CHUNKS; i++) { fio_sha3_update(&ctx, buf, size); fio_sha3_final(&ctx); } } static void t_murmur3(struct test_type *t, void *buf, size_t size) { int i; for (i = 0; i < NR_CHUNKS; i++) t->output += murmurhash3(buf, size, 0x8989); } static void t_jhash(struct test_type *t, void *buf, size_t size) { int i; for (i = 0; i < NR_CHUNKS; i++) t->output += jhash(buf, size, 0x8989); } static void t_fnv(struct test_type *t, void *buf, size_t size) { int i; for (i = 0; i < NR_CHUNKS; i++) t->output += fnv(buf, size, 0x8989); } static void t_xxhash(struct test_type *t, void *buf, size_t size) { void *state; int i; state = XXH32_init(0x8989); for (i = 0; i < NR_CHUNKS; i++) XXH32_update(state, buf, size); t->output = XXH32_digest(state); } static struct test_type t[] = { { .name = "md5", .mask = T_MD5, .fn = t_md5, }, { .name = "crc64", .mask = T_CRC64, .fn = t_crc64, }, { .name = "crc32", .mask = T_CRC32, .fn = t_crc32, }, { .name = "crc32c", .mask = T_CRC32C, .fn = t_crc32c, }, { .name = "crc16", .mask = T_CRC16, .fn = t_crc16, }, { .name = "crc7", .mask = T_CRC7, .fn = t_crc7, }, { .name = "sha1", .mask = T_SHA1, .fn = t_sha1, }, { .name = "sha256", .mask = T_SHA256, .fn = t_sha256, }, { .name = "sha512", .mask = T_SHA512, .fn = t_sha512, }, { .name = "xxhash", .mask = T_XXHASH, .fn = t_xxhash, }, { .name = "murmur3", .mask = T_MURMUR3, .fn = t_murmur3, }, { .name = "jhash", .mask = T_JHASH, .fn = t_jhash, }, { .name = "fnv", .mask = T_FNV, .fn = t_fnv, }, { .name = "sha3-224", .mask = T_SHA3_224, .fn = t_sha3_224, }, { .name = "sha3-256", .mask = T_SHA3_256, .fn = t_sha3_256, }, { .name = "sha3-384", .mask = T_SHA3_384, .fn = t_sha3_384, }, { .name = "sha3-512", .mask = T_SHA3_512, .fn = t_sha3_512, }, { .name = NULL, }, }; static unsigned int get_test_mask(const char *type) { char *ostr, *str = strdup(type); unsigned int mask; char *name; int i; ostr = str; mask = 0; while ((name = strsep(&str, ",")) != NULL) { for (i = 0; t[i].name; i++) { if (!strcmp(t[i].name, name)) { mask |= t[i].mask; break; } } } free(ostr); return mask; } static int list_types(void) { int i; for (i = 0; t[i].name; i++) printf("%s\n", t[i].name); return 1; } int fio_crctest(const char *type) { unsigned int test_mask = 0; uint64_t mb = CHUNK * NR_CHUNKS; struct frand_state state; int i, first = 1; void *buf; crc32c_arm64_probe(); crc32c_intel_probe(); if (!type) test_mask = ~0U; else if (!strcmp(type, "help") || !strcmp(type, "list")) return list_types(); else test_mask = get_test_mask(type); if (!test_mask) { fprintf(stderr, "fio: unknown hash `%s`. Available:\n", type); return list_types(); } buf = malloc(CHUNK); init_rand_seed(&state, 0x8989, 0); fill_random_buf(&state, buf, CHUNK); for (i = 0; t[i].name; i++) { struct timespec ts; double mb_sec; uint64_t usec; char pre[3]; if (!(t[i].mask & test_mask)) continue; /* * For first run, make sure CPUs are spun up and that * we've touched the data. */ if (first) { usec_spin(100000); t[i].fn(&t[i], buf, CHUNK); } fio_gettime(&ts, NULL); t[i].fn(&t[i], buf, CHUNK); usec = utime_since_now(&ts); if (usec) { mb_sec = (double) mb / (double) usec; mb_sec /= (1.024 * 1.024); if (strlen(t[i].name) >= 7) sprintf(pre, "\t"); else sprintf(pre, "\t\t"); printf("%s:%s%8.2f MiB/sec\n", t[i].name, pre, mb_sec); } else printf("%s:inf MiB/sec\n", t[i].name); first = 0; } free(buf); return 0; } fio-3.39/crc/test.h000066400000000000000000000001321476262051600141310ustar00rootroot00000000000000#ifndef FIO_CRC_TEST_H #define FIO_CRC_TEST_H int fio_crctest(const char *type); #endif fio-3.39/crc/xxhash.c000066400000000000000000000333441476262051600144630ustar00rootroot00000000000000/* xxHash - Fast Hash algorithm Copyright (C) 2012-2014, Yann Collet. BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. You can contact the author at : - xxHash source repository : http://code.google.com/p/xxhash/ */ //************************************** // Tuning parameters //************************************** // Unaligned memory access is automatically enabled for "common" CPU, such as x86. // For others CPU, the compiler will be more cautious, and insert extra code to ensure aligned access is respected. // If you know your target CPU supports unaligned memory access, you want to force this option manually to improve performance. // You can also enable this parameter if you know your input data will always be aligned (boundaries of 4, for uint32_t). #if defined(__ARM_FEATURE_UNALIGNED) || defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64) # define XXH_USE_UNALIGNED_ACCESS 1 #endif // XXH_ACCEPT_NULL_INPUT_POINTER : // If the input pointer is a null pointer, xxHash default behavior is to trigger a memory access error, since it is a bad pointer. // When this option is enabled, xxHash output for null input pointers will be the same as a null-length input. // This option has a very small performance cost (only measurable on small inputs). // By default, this option is disabled. To enable it, uncomment below define : //#define XXH_ACCEPT_NULL_INPUT_POINTER 1 // XXH_FORCE_NATIVE_FORMAT : // By default, xxHash library provides endian-independent Hash values, based on little-endian convention. // Results are therefore identical for little-endian and big-endian CPU. // This comes at a performance cost for big-endian CPU, since some swapping is required to emulate little-endian format. // Should endian-independence be of no importance for your application, you may set the #define below to 1. // It will improve speed for Big-endian CPU. // This option has no impact on Little_Endian CPU. #define XXH_FORCE_NATIVE_FORMAT 0 //************************************** // Includes & Memory related functions //************************************** #include "xxhash.h" #include #include #if defined(__GNUC__) && !defined(XXH_USE_UNALIGNED_ACCESS) # define _PACKED __attribute__ ((packed)) #else # define _PACKED #endif #if !defined(XXH_USE_UNALIGNED_ACCESS) && !defined(__GNUC__) # ifdef __IBMC__ # pragma pack(1) # else # pragma pack(push, 1) # endif #endif typedef struct _uint32_t_S { uint32_t v; } _PACKED uint32_t_S; #if !defined(XXH_USE_UNALIGNED_ACCESS) && !defined(__GNUC__) # pragma pack(pop) #endif #define A32(x) (((uint32_t_S *)(x))->v) //*************************************** // Compiler-specific Functions and Macros //*************************************** #define GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) // Note : although _rotl exists for minGW (GCC under windows), performance seems poor #if defined(_MSC_VER) # define XXH_rotl32(x,r) _rotl(x,r) #else # define XXH_rotl32(x,r) ((x << r) | (x >> (32 - r))) #endif #if defined(_MSC_VER) // Visual Studio # define XXH_swap32 _byteswap_ulong #elif GCC_VERSION >= 403 # define XXH_swap32 __builtin_bswap32 #else static inline uint32_t XXH_swap32 (uint32_t x) { return ((x << 24) & 0xff000000 ) | ((x << 8) & 0x00ff0000 ) | ((x >> 8) & 0x0000ff00 ) | ((x >> 24) & 0x000000ff ); } #endif //************************************** // Constants //************************************** #define PRIME32_1 2654435761U #define PRIME32_2 2246822519U #define PRIME32_3 3266489917U #define PRIME32_4 668265263U #define PRIME32_5 374761393U //************************************** // Architecture Macros //************************************** typedef enum { XXH_bigEndian=0, XXH_littleEndian=1 } XXH_endianess; #ifndef XXH_CPU_LITTLE_ENDIAN // It is possible to define XXH_CPU_LITTLE_ENDIAN externally, for example using a compiler switch static const int one = 1; # define XXH_CPU_LITTLE_ENDIAN (*(char*)(&one)) #endif //************************************** // Macros //************************************** #define XXH_STATIC_ASSERT(c) { enum { XXH_static_assert = 1/(!!(c)) }; } // use only *after* variable declarations //**************************** // Memory reads //**************************** typedef enum { XXH_aligned, XXH_unaligned } XXH_alignment; static uint32_t XXH_readLE32_align(const uint32_t* ptr, XXH_endianess endian, XXH_alignment align) { if (align==XXH_unaligned) return endian==XXH_littleEndian ? A32(ptr) : XXH_swap32(A32(ptr)); else return endian==XXH_littleEndian ? *ptr : XXH_swap32(*ptr); } static uint32_t XXH_readLE32(const uint32_t* ptr, XXH_endianess endian) { return XXH_readLE32_align(ptr, endian, XXH_unaligned); } //**************************** // Simple Hash Functions //**************************** static uint32_t XXH32_endian_align(const void* input, int len, uint32_t seed, XXH_endianess endian, XXH_alignment align) { const uint8_t *p = (const uint8_t *)input; const uint8_t * const bEnd = p + len; uint32_t h32; #ifdef XXH_ACCEPT_NULL_INPUT_POINTER if (p==NULL) { len=0; p=(const uint8_t *)(size_t)16; } #endif if (len>=16) { const uint8_t * const limit = bEnd - 16; uint32_t v1 = seed + PRIME32_1 + PRIME32_2; uint32_t v2 = seed + PRIME32_2; uint32_t v3 = seed + 0; uint32_t v4 = seed - PRIME32_1; do { v1 += XXH_readLE32_align((const uint32_t*)p, endian, align) * PRIME32_2; v1 = XXH_rotl32(v1, 13); v1 *= PRIME32_1; p+=4; v2 += XXH_readLE32_align((const uint32_t*)p, endian, align) * PRIME32_2; v2 = XXH_rotl32(v2, 13); v2 *= PRIME32_1; p+=4; v3 += XXH_readLE32_align((const uint32_t*)p, endian, align) * PRIME32_2; v3 = XXH_rotl32(v3, 13); v3 *= PRIME32_1; p+=4; v4 += XXH_readLE32_align((const uint32_t*)p, endian, align) * PRIME32_2; v4 = XXH_rotl32(v4, 13); v4 *= PRIME32_1; p+=4; } while (p<=limit); h32 = XXH_rotl32(v1, 1) + XXH_rotl32(v2, 7) + XXH_rotl32(v3, 12) + XXH_rotl32(v4, 18); } else { h32 = seed + PRIME32_5; } h32 += (uint32_t) len; while (p<=bEnd-4) { h32 += XXH_readLE32_align((const uint32_t*)p, endian, align) * PRIME32_3; h32 = XXH_rotl32(h32, 17) * PRIME32_4 ; p+=4; } while (p> 15; h32 *= PRIME32_2; h32 ^= h32 >> 13; h32 *= PRIME32_3; h32 ^= h32 >> 16; return h32; } uint32_t XXH32(const void* input, uint32_t len, uint32_t seed) { #if 0 // Simple version, good for code maintenance, but unfortunately slow for small inputs void* state = XXH32_init(seed); XXH32_update(state, input, len); return XXH32_digest(state); #else XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN; # if !defined(XXH_USE_UNALIGNED_ACCESS) if ((((size_t)input) & 3)) // Input is aligned, let's leverage the speed advantage { if ((endian_detected==XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH32_endian_align(input, len, seed, XXH_littleEndian, XXH_aligned); else return XXH32_endian_align(input, len, seed, XXH_bigEndian, XXH_aligned); } # endif if ((endian_detected==XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH32_endian_align(input, len, seed, XXH_littleEndian, XXH_unaligned); else return XXH32_endian_align(input, len, seed, XXH_bigEndian, XXH_unaligned); #endif } //**************************** // Advanced Hash Functions //**************************** int XXH32_sizeofState(void) { XXH_STATIC_ASSERT(XXH32_SIZEOFSTATE >= sizeof(struct XXH_state32_t)); // A compilation error here means XXH32_SIZEOFSTATE is not large enough return sizeof(struct XXH_state32_t); } XXH_errorcode XXH32_resetState(void* state_in, uint32_t seed) { struct XXH_state32_t * state = (struct XXH_state32_t *) state_in; state->seed = seed; state->v1 = seed + PRIME32_1 + PRIME32_2; state->v2 = seed + PRIME32_2; state->v3 = seed + 0; state->v4 = seed - PRIME32_1; state->total_len = 0; state->memsize = 0; return XXH_OK; } void* XXH32_init (uint32_t seed) { void *state = malloc (sizeof(struct XXH_state32_t)); XXH32_resetState(state, seed); return state; } static XXH_errorcode XXH32_update_endian (void* state_in, const void* input, int len, XXH_endianess endian) { struct XXH_state32_t * state = (struct XXH_state32_t *) state_in; const uint8_t *p = (const uint8_t *)input; const uint8_t * const bEnd = p + len; #ifdef XXH_ACCEPT_NULL_INPUT_POINTER if (input==NULL) return XXH_ERROR; #endif state->total_len += len; if (state->memsize + len < 16) // fill in tmp buffer { memcpy(state->memory + state->memsize, input, len); state->memsize += len; return XXH_OK; } if (state->memsize) // some data left from previous update { memcpy(state->memory + state->memsize, input, 16-state->memsize); { const uint32_t* p32 = (const uint32_t*)state->memory; state->v1 += XXH_readLE32(p32, endian) * PRIME32_2; state->v1 = XXH_rotl32(state->v1, 13); state->v1 *= PRIME32_1; p32++; state->v2 += XXH_readLE32(p32, endian) * PRIME32_2; state->v2 = XXH_rotl32(state->v2, 13); state->v2 *= PRIME32_1; p32++; state->v3 += XXH_readLE32(p32, endian) * PRIME32_2; state->v3 = XXH_rotl32(state->v3, 13); state->v3 *= PRIME32_1; p32++; state->v4 += XXH_readLE32(p32, endian) * PRIME32_2; state->v4 = XXH_rotl32(state->v4, 13); state->v4 *= PRIME32_1; p32++; } p += 16-state->memsize; state->memsize = 0; } if (p <= bEnd-16) { const uint8_t * const limit = bEnd - 16; uint32_t v1 = state->v1; uint32_t v2 = state->v2; uint32_t v3 = state->v3; uint32_t v4 = state->v4; do { v1 += XXH_readLE32((const uint32_t*)p, endian) * PRIME32_2; v1 = XXH_rotl32(v1, 13); v1 *= PRIME32_1; p+=4; v2 += XXH_readLE32((const uint32_t*)p, endian) * PRIME32_2; v2 = XXH_rotl32(v2, 13); v2 *= PRIME32_1; p+=4; v3 += XXH_readLE32((const uint32_t*)p, endian) * PRIME32_2; v3 = XXH_rotl32(v3, 13); v3 *= PRIME32_1; p+=4; v4 += XXH_readLE32((const uint32_t*)p, endian) * PRIME32_2; v4 = XXH_rotl32(v4, 13); v4 *= PRIME32_1; p+=4; } while (p<=limit); state->v1 = v1; state->v2 = v2; state->v3 = v3; state->v4 = v4; } if (p < bEnd) { memcpy(state->memory, p, bEnd-p); state->memsize = (int)(bEnd-p); } return XXH_OK; } XXH_errorcode XXH32_update (void* state_in, const void* input, int len) { XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN; if ((endian_detected==XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH32_update_endian(state_in, input, len, XXH_littleEndian); else return XXH32_update_endian(state_in, input, len, XXH_bigEndian); } static uint32_t XXH32_intermediateDigest_endian (void* state_in, XXH_endianess endian) { struct XXH_state32_t * state = (struct XXH_state32_t *) state_in; const uint8_t *p = (const uint8_t *)state->memory; uint8_t * bEnd = (uint8_t *)state->memory + state->memsize; uint32_t h32; if (state->total_len >= 16) { h32 = XXH_rotl32(state->v1, 1) + XXH_rotl32(state->v2, 7) + XXH_rotl32(state->v3, 12) + XXH_rotl32(state->v4, 18); } else { h32 = state->seed + PRIME32_5; } h32 += (uint32_t) state->total_len; while (p<=bEnd-4) { h32 += XXH_readLE32((const uint32_t*)p, endian) * PRIME32_3; h32 = XXH_rotl32(h32, 17) * PRIME32_4; p+=4; } while (p> 15; h32 *= PRIME32_2; h32 ^= h32 >> 13; h32 *= PRIME32_3; h32 ^= h32 >> 16; return h32; } uint32_t XXH32_intermediateDigest (void* state_in) { XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN; if ((endian_detected==XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH32_intermediateDigest_endian(state_in, XXH_littleEndian); else return XXH32_intermediateDigest_endian(state_in, XXH_bigEndian); } uint32_t XXH32_digest (void* state_in) { uint32_t h32 = XXH32_intermediateDigest(state_in); free(state_in); return h32; } fio-3.39/crc/xxhash.h000066400000000000000000000145371476262051600144730ustar00rootroot00000000000000/* xxHash - Fast Hash algorithm Header File Copyright (C) 2012-2014, Yann Collet. BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. You can contact the author at : - xxHash source repository : http://code.google.com/p/xxhash/ */ /* Notice extracted from xxHash homepage : xxHash is an extremely fast Hash algorithm, running at RAM speed limits. It also successfully passes all tests from the SMHasher suite. Comparison (single thread, Windows Seven 32 bits, using SMHasher on a Core 2 Duo @3GHz) Name Speed Q.Score Author xxHash 5.4 GB/s 10 CrapWow 3.2 GB/s 2 Andrew MumurHash 3a 2.7 GB/s 10 Austin Appleby SpookyHash 2.0 GB/s 10 Bob Jenkins SBox 1.4 GB/s 9 Bret Mulvey Lookup3 1.2 GB/s 9 Bob Jenkins SuperFastHash 1.2 GB/s 1 Paul Hsieh CityHash64 1.05 GB/s 10 Pike & Alakuijala FNV 0.55 GB/s 5 Fowler, Noll, Vo CRC32 0.43 GB/s 9 MD5-32 0.33 GB/s 10 Ronald L. Rivest SHA1-32 0.28 GB/s 10 Q.Score is a measure of quality of the hash function. It depends on successfully passing SMHasher test set. 10 is a perfect score. */ #pragma once #if defined (__cplusplus) extern "C" { #endif #include struct XXH_state32_t { uint64_t total_len; uint32_t seed; uint32_t v1; uint32_t v2; uint32_t v3; uint32_t v4; int memsize; char memory[16]; }; //**************************** // Type //**************************** typedef enum { XXH_OK=0, XXH_ERROR } XXH_errorcode; //**************************** // Simple Hash Functions //**************************** uint32_t XXH32 (const void* input, uint32_t len, uint32_t seed); /* XXH32() : Calculate the 32-bits hash of sequence of length "len" stored at memory address "input". The memory between input & input+len must be valid (allocated and read-accessible). "seed" can be used to alter the result predictably. This function successfully passes all SMHasher tests. Speed on Core 2 Duo @ 3 GHz (single thread, SMHasher benchmark) : 5.4 GB/s Note that "len" is type "int", which means it is limited to 2^31-1. If your data is larger, use the advanced functions below. */ //**************************** // Advanced Hash Functions //**************************** void* XXH32_init (uint32_t seed); XXH_errorcode XXH32_update (void* state, const void* input, int len); uint32_t XXH32_digest (void* state); /* These functions calculate the xxhash of an input provided in several small packets, as opposed to an input provided as a single block. It must be started with : void* XXH32_init() The function returns a pointer which holds the state of calculation. This pointer must be provided as "void* state" parameter for XXH32_update(). XXH32_update() can be called as many times as necessary. The user must provide a valid (allocated) input. The function returns an error code, with 0 meaning OK, and any other value meaning there is an error. Note that "len" is type "int", which means it is limited to 2^31-1. If your data is larger, it is recommended to chunk your data into blocks of size for example 2^30 (1GB) to avoid any "int" overflow issue. Finally, you can end the calculation anytime, by using XXH32_digest(). This function returns the final 32-bits hash. You must provide the same "void* state" parameter created by XXH32_init(). Memory will be freed by XXH32_digest(). */ int XXH32_sizeofState(void); XXH_errorcode XXH32_resetState(void* state, uint32_t seed); #define XXH32_SIZEOFSTATE 48 typedef struct { long long ll[(XXH32_SIZEOFSTATE+(sizeof(long long)-1))/sizeof(long long)]; } XXH32_stateSpace_t; /* These functions allow user application to make its own allocation for state. XXH32_sizeofState() is used to know how much space must be allocated for the xxHash 32-bits state. Note that the state must be aligned to access 'long long' fields. Memory must be allocated and referenced by a pointer. This pointer must then be provided as 'state' into XXH32_resetState(), which initializes the state. For static allocation purposes (such as allocation on stack, or freestanding systems without malloc()), use the structure XXH32_stateSpace_t, which will ensure that memory space is large enough and correctly aligned to access 'long long' fields. */ uint32_t XXH32_intermediateDigest (void* state); /* This function does the same as XXH32_digest(), generating a 32-bit hash, but preserve memory context. This way, it becomes possible to generate intermediate hashes, and then continue feeding data with XXH32_update(). To free memory context, use XXH32_digest(), or free(). */ //**************************** // Deprecated function names //**************************** // The following translations are provided to ease code transition // You are encouraged to no longer this function names #define XXH32_feed XXH32_update #define XXH32_result XXH32_digest #define XXH32_getIntermediateResult XXH32_intermediateDigest #if defined (__cplusplus) } #endif fio-3.39/dataplacement.c000066400000000000000000000135061476262051600152110ustar00rootroot00000000000000/* * Note: This is similar to a very basic setup * of ZBD devices * * Specify fdp=1 (With char devices /dev/ng0n1) */ #include #include #include #include #include "fio.h" #include "file.h" #include "pshared.h" #include "dataplacement.h" static int fdp_ruh_info(struct thread_data *td, struct fio_file *f, struct fio_ruhs_info *ruhs) { int ret = -EINVAL; if (!td->io_ops) { log_err("fio: no ops set in fdp init?!\n"); return ret; } if (td->io_ops->fdp_fetch_ruhs) { ret = td->io_ops->fdp_fetch_ruhs(td, f, ruhs); if (ret < 0) { td_verror(td, errno, "fdp fetch ruhs failed"); log_err("%s: fdp fetch ruhs failed (%d)\n", f->file_name, errno); } } else { log_err("%s: engine (%s) lacks fetch ruhs\n", f->file_name, td->io_ops->name); } return ret; } static int init_ruh_info(struct thread_data *td, struct fio_file *f) { struct fio_ruhs_info *ruhs, *tmp; uint32_t nr_ruhs; int i, ret; /* set up the data structure used for FDP to work with the supplied stream IDs */ if (td->o.dp_type == FIO_DP_STREAMS) { if (!td->o.dp_nr_ids) { log_err("fio: stream IDs must be provided for dataplacement=streams\n"); return -EINVAL; } ruhs = scalloc(1, sizeof(*ruhs) + td->o.dp_nr_ids * sizeof(*ruhs->plis)); if (!ruhs) return -ENOMEM; ruhs->nr_ruhs = td->o.dp_nr_ids; for (int i = 0; i < ruhs->nr_ruhs; i++) ruhs->plis[i] = td->o.dp_ids[i]; f->ruhs_info = ruhs; return 0; } /* * Since we don't know the actual number of ruhs. Only fetch the header. * We will reallocate this buffer and then fetch all the ruhs again. */ ruhs = calloc(1, sizeof(*ruhs)); ret = fdp_ruh_info(td, f, ruhs); if (ret) { log_err("fio: ruh info failed for %s (%d)\n", f->file_name, -ret); goto out; } nr_ruhs = ruhs->nr_ruhs; ruhs = realloc(ruhs, sizeof(*ruhs) + nr_ruhs * sizeof(*ruhs->plis)); if (!ruhs) { log_err("fio: ruhs buffer realloc failed for %s\n", f->file_name); ret = -ENOMEM; goto out; } ruhs->nr_ruhs = nr_ruhs; ret = fdp_ruh_info(td, f, ruhs); if (ret) { log_err("fio: ruh info failed for %s (%d)\n", f->file_name, -ret); goto out; } if (td->o.dp_nr_ids == 0) { if (ruhs->nr_ruhs > FIO_MAX_DP_IDS) ruhs->nr_ruhs = FIO_MAX_DP_IDS; } else { for (i = 0; i < td->o.dp_nr_ids; i++) { if (td->o.dp_ids[i] >= ruhs->nr_ruhs) { log_err("fio: for %s PID index %d must be smaller than %d\n", f->file_name, td->o.dp_ids[i], ruhs->nr_ruhs); ret = -EINVAL; goto out; } } ruhs->nr_ruhs = td->o.dp_nr_ids; } tmp = scalloc(1, sizeof(*tmp) + ruhs->nr_ruhs * sizeof(*tmp->plis)); if (!tmp) { ret = -ENOMEM; goto out; } if (td->o.dp_nr_ids == 0) { for (i = 0; i < ruhs->nr_ruhs; i++) tmp->plis[i] = ruhs->plis[i]; tmp->nr_ruhs = ruhs->nr_ruhs; f->ruhs_info = tmp; free(ruhs); return 0; } tmp->nr_ruhs = td->o.dp_nr_ids; for (i = 0; i < td->o.dp_nr_ids; i++) tmp->plis[i] = ruhs->plis[td->o.dp_ids[i]]; f->ruhs_info = tmp; out: free(ruhs); return ret; } static int init_ruh_scheme(struct thread_data *td, struct fio_file *f) { struct fio_ruhs_scheme *ruh_scheme; FILE *scheme_fp; unsigned long long start, end; uint16_t pli; int ret = 0; if (td->o.dp_id_select != FIO_DP_SCHEME) return 0; /* Get the scheme from the file */ scheme_fp = fopen(td->o.dp_scheme_file, "r"); if (!scheme_fp) { log_err("fio: ruh scheme failed to open scheme file %s\n", td->o.dp_scheme_file); ret = -errno; goto out; } ruh_scheme = scalloc(1, sizeof(*ruh_scheme)); if (!ruh_scheme) { ret = -ENOMEM; goto out_with_close_fp; } for (int i = 0; i < DP_MAX_SCHEME_ENTRIES && fscanf(scheme_fp, "%llu,%llu,%hu\n", &start, &end, &pli) == 3; i++) { ruh_scheme->scheme_entries[i].start_offset = start; ruh_scheme->scheme_entries[i].end_offset = end; ruh_scheme->scheme_entries[i].pli = pli; ruh_scheme->nr_schemes++; } if (fscanf(scheme_fp, "%llu,%llu,%hu\n", &start, &end, &pli) == 3) log_info("fio: too many scheme entries in %s. Only the first %d scheme entries are applied\n", td->o.dp_scheme_file, DP_MAX_SCHEME_ENTRIES); f->ruhs_scheme = ruh_scheme; out_with_close_fp: fclose(scheme_fp); out: return ret; } int dp_init(struct thread_data *td) { struct fio_file *f; int i, ret = 0; for_each_file(td, f, i) { ret = init_ruh_info(td, f); if (ret) break; ret = init_ruh_scheme(td, f); if (ret) break; } return ret; } void fdp_free_ruhs_info(struct fio_file *f) { if (!f->ruhs_info) return; sfree(f->ruhs_info); f->ruhs_info = NULL; if (!f->ruhs_scheme) return; sfree(f->ruhs_scheme); f->ruhs_scheme = NULL; } void dp_fill_dspec_data(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_ruhs_info *ruhs = f->ruhs_info; int dspec; if (!ruhs || io_u->ddir != DDIR_WRITE) { io_u->dtype = 0; io_u->dspec = 0; return; } if (td->o.dp_id_select == FIO_DP_RR) { if (ruhs->pli_loc >= ruhs->nr_ruhs) ruhs->pli_loc = 0; dspec = ruhs->plis[ruhs->pli_loc++]; } else if (td->o.dp_id_select == FIO_DP_SCHEME) { struct fio_ruhs_scheme *ruhs_scheme = f->ruhs_scheme; unsigned long long offset = io_u->offset; int i; for (i = 0; i < ruhs_scheme->nr_schemes; i++) { if (offset >= ruhs_scheme->scheme_entries[i].start_offset && offset < ruhs_scheme->scheme_entries[i].end_offset) { dspec = ruhs_scheme->scheme_entries[i].pli; break; } } /* * If the write offset is not affected by any scheme entry, * 0(default RUH) will be assigned to dspec */ if (i == ruhs_scheme->nr_schemes) dspec = 0; } else { ruhs->pli_loc = rand_between(&td->fdp_state, 0, ruhs->nr_ruhs - 1); dspec = ruhs->plis[ruhs->pli_loc]; } io_u->dtype = td->o.dp_type == FIO_DP_FDP ? FDP_DIR_DTYPE : STREAMS_DIR_DTYPE; io_u->dspec = dspec; dprint(FD_IO, "dtype set to 0x%x, dspec set to 0x%x\n", io_u->dtype, io_u->dspec); } fio-3.39/dataplacement.h000066400000000000000000000016701476262051600152150ustar00rootroot00000000000000#ifndef FIO_DATAPLACEMENT_H #define FIO_DATAPLACEMENT_H #include "io_u.h" #define STREAMS_DIR_DTYPE 1 #define FDP_DIR_DTYPE 2 #define FIO_MAX_DP_IDS 128 #define DP_MAX_SCHEME_ENTRIES 32 /* * How fio chooses what placement identifier to use next. Choice of * uniformly random, or roundrobin. */ enum { FIO_DP_RANDOM = 0x1, FIO_DP_RR = 0x2, FIO_DP_SCHEME = 0x3, }; enum { FIO_DP_NONE = 0x0, FIO_DP_FDP = 0x1, FIO_DP_STREAMS = 0x2, }; struct fio_ruhs_info { uint32_t nr_ruhs; uint32_t pli_loc; uint16_t plis[]; }; struct fio_ruhs_scheme_entry { unsigned long long start_offset; unsigned long long end_offset; uint16_t pli; }; struct fio_ruhs_scheme { uint16_t nr_schemes; struct fio_ruhs_scheme_entry scheme_entries[DP_MAX_SCHEME_ENTRIES]; }; int dp_init(struct thread_data *td); void fdp_free_ruhs_info(struct fio_file *f); void dp_fill_dspec_data(struct thread_data *td, struct io_u *io_u); #endif /* FIO_DATAPLACEMENT_H */ fio-3.39/debug.c000066400000000000000000000004211476262051600134650ustar00rootroot00000000000000#include #include #include "debug.h" #include "log.h" #ifdef FIO_INC_DEBUG void __dprint(int type, const char *str, ...) { va_list args; assert(type < FD_DEBUG_MAX); va_start(args, str); log_prevalist(type, str, args); va_end(args); } #endif fio-3.39/debug.h000066400000000000000000000023151476262051600134760ustar00rootroot00000000000000#ifndef FIO_DEBUG_H #define FIO_DEBUG_H #include "lib/types.h" enum { FD_PROCESS = 0, FD_FILE, FD_IO, FD_MEM, FD_BLKTRACE, FD_VERIFY, FD_RANDOM, FD_PARSE, FD_DISKUTIL, FD_JOB, FD_MUTEX, FD_PROFILE, FD_TIME, FD_NET, FD_RATE, FD_COMPRESS, FD_STEADYSTATE, FD_HELPERTHREAD, FD_ZBD, FD_DEBUG_MAX, }; extern unsigned int fio_debug_jobno, *fio_debug_jobp, *fio_warned; static inline bool fio_did_warn(unsigned int mask) { if (*fio_warned & mask) return true; *fio_warned |= mask; return false; } enum { FIO_WARN_ROOT_FLUSH = 1, FIO_WARN_VERIFY_BUF = 2, FIO_WARN_ZONED_BUG = 4, FIO_WARN_IOLOG_DROP = 8, FIO_WARN_FADVISE = 16, FIO_WARN_BTRACE_ZERO = 32, }; #ifdef FIO_INC_DEBUG struct debug_level { const char *name; const char *help; unsigned long shift; unsigned int jobno; }; extern const struct debug_level debug_levels[]; extern unsigned long fio_debug; void __dprint(int type, const char *str, ...) __attribute__((format (printf, 2, 3))); #define dprint(type, str, args...) \ do { \ if (((1 << type) & fio_debug) == 0) \ break; \ __dprint((type), (str), ##args); \ } while (0) \ #else static inline void dprint(int type, const char *str, ...) { } #endif #endif fio-3.39/dedupe.c000066400000000000000000000044231476262051600136530ustar00rootroot00000000000000#include "fio.h" /** * initializes the global dedup workset. * this needs to be called after all jobs' seeds * have been initialized */ int init_global_dedupe_working_set_seeds(void) { for_each_td(td) { if (!td->o.dedupe_global) continue; if (init_dedupe_working_set_seeds(td, 1)) return 1; } end_for_each(); return 0; } int init_dedupe_working_set_seeds(struct thread_data *td, bool global_dedup) { int tindex; struct thread_data *td_seed; unsigned long long i, j, num_seed_advancements, pages_per_seed; struct frand_state dedupe_working_set_state = {0}; if (!td->o.dedupe_percentage || !(td->o.dedupe_mode == DEDUPE_MODE_WORKING_SET)) return 0; tindex = td->thread_number - 1; num_seed_advancements = td->o.min_bs[DDIR_WRITE] / min_not_zero(td->o.min_bs[DDIR_WRITE], (unsigned long long) td->o.compress_chunk); /* * The dedupe working set keeps seeds of unique data (generated by buf_state). * Dedupe-ed pages will be generated using those seeds. */ td->num_unique_pages = (td->o.size * (unsigned long long)td->o.dedupe_working_set_percentage / 100) / td->o.min_bs[DDIR_WRITE]; td->dedupe_working_set_states = malloc(sizeof(struct frand_state) * td->num_unique_pages); if (!td->dedupe_working_set_states) { log_err("fio: could not allocate dedupe working set\n"); return 1; } frand_copy(&dedupe_working_set_state, &td->buf_state); frand_copy(&td->dedupe_working_set_states[0], &dedupe_working_set_state); pages_per_seed = max(td->num_unique_pages / thread_number, 1ull); for (i = 1; i < td->num_unique_pages; i++) { /* * When compression is used the seed is advanced multiple times to * generate the buffer. We want to regenerate the same buffer when * deduping against this page */ for (j = 0; j < num_seed_advancements; j++) __get_next_seed(&dedupe_working_set_state); /* * When global dedup is used, we rotate the seeds to allow * generating same buffers across different jobs. Deduplication buffers * are spread evenly across jobs participating in global dedupe */ if (global_dedup && i % pages_per_seed == 0) { td_seed = tnumber_to_td(++tindex % thread_number); frand_copy(&dedupe_working_set_state, &td_seed->buf_state); } frand_copy(&td->dedupe_working_set_states[i], &dedupe_working_set_state); } return 0; } fio-3.39/dedupe.h000066400000000000000000000002521476262051600136540ustar00rootroot00000000000000#ifndef DEDUPE_H #define DEDUPE_H int init_dedupe_working_set_seeds(struct thread_data *td, bool global_dedupe); int init_global_dedupe_working_set_seeds(void); #endif fio-3.39/diskutil.c000066400000000000000000000275641476262051600142500ustar00rootroot00000000000000#include #include #include #include #include #include #include #include #ifdef CONFIG_VALGRIND_DEV #include #else #define DRD_IGNORE_VAR(x) do { } while (0) #endif #include "fio.h" #include "smalloc.h" #include "diskutil.h" #include "helper_thread.h" static int last_majdev, last_mindev; static struct disk_util *last_du; static struct fio_sem *disk_util_sem; static struct disk_util *__init_per_file_disk_util(struct thread_data *td, int majdev, int mindev, char *path); static void disk_util_free(struct disk_util *du) { if (du == last_du) last_du = NULL; while (!flist_empty(&du->slaves)) { struct disk_util *slave; slave = flist_first_entry(&du->slaves, struct disk_util, slavelist); flist_del(&slave->slavelist); slave->users--; } fio_sem_remove(du->lock); free(du->sysfs_root); sfree(du); } static int get_io_ticks(struct disk_util *du, struct disk_util_stat *dus) { char line[256]; FILE *f; char *p; int ret; dprint(FD_DISKUTIL, "open stat file: %s\n", du->path); f = fopen(du->path, "r"); if (!f) return 1; p = fgets(line, sizeof(line), f); if (!p) { fclose(f); return 1; } dprint(FD_DISKUTIL, "%s: %s", du->path, p); ret = sscanf(p, "%"SCNu64" %"SCNu64" %"SCNu64" %"SCNu64" " "%"SCNu64" %"SCNu64" %"SCNu64" %"SCNu64" " "%*u %"SCNu64" %"SCNu64"\n", &dus->s.ios[0], &dus->s.merges[0], &dus->s.sectors[0], &dus->s.ticks[0], &dus->s.ios[1], &dus->s.merges[1], &dus->s.sectors[1], &dus->s.ticks[1], &dus->s.io_ticks, &dus->s.time_in_queue); fclose(f); dprint(FD_DISKUTIL, "%s: stat read ok? %d\n", du->path, ret == 10); return ret != 10; } static uint64_t safe_32bit_diff(uint64_t nval, uint64_t oval) { /* Linux kernel prints some of the stat fields as 32-bit integers. It is * possible that the value overflows, but since fio uses unsigned 64-bit * arithmetic in update_io_tick_disk(), it instead results in a huge * bogus value being added to the respective accumulating field. Just * in case Linux starts reporting these metrics as 64-bit values in the * future, check that overflow actually happens around the 32-bit * unsigned boundary; assume overflow only happens once between * successive polls. */ if (oval <= nval || oval >= (1ull << 32)) return nval - oval; else return (1ull << 32) + nval - oval; } static void update_io_tick_disk(struct disk_util *du) { struct disk_util_stat __dus, *dus, *ldus; struct timespec t; if (!du->users) return; if (get_io_ticks(du, &__dus)) return; dus = &du->dus; ldus = &du->last_dus; dus->s.sectors[0] += (__dus.s.sectors[0] - ldus->s.sectors[0]); dus->s.sectors[1] += (__dus.s.sectors[1] - ldus->s.sectors[1]); dus->s.ios[0] += (__dus.s.ios[0] - ldus->s.ios[0]); dus->s.ios[1] += (__dus.s.ios[1] - ldus->s.ios[1]); dus->s.merges[0] += (__dus.s.merges[0] - ldus->s.merges[0]); dus->s.merges[1] += (__dus.s.merges[1] - ldus->s.merges[1]); dus->s.ticks[0] += safe_32bit_diff(__dus.s.ticks[0], ldus->s.ticks[0]); dus->s.ticks[1] += safe_32bit_diff(__dus.s.ticks[1], ldus->s.ticks[1]); dus->s.io_ticks += safe_32bit_diff(__dus.s.io_ticks, ldus->s.io_ticks); dus->s.time_in_queue += safe_32bit_diff(__dus.s.time_in_queue, ldus->s.time_in_queue); fio_gettime(&t, NULL); dus->s.msec += mtime_since(&du->time, &t); du->time = t; ldus->s = __dus.s; } int update_io_ticks(void) { struct flist_head *entry; struct disk_util *du; int ret = 0; dprint(FD_DISKUTIL, "update io ticks\n"); fio_sem_down(disk_util_sem); if (!helper_should_exit()) { flist_for_each(entry, &disk_list) { du = flist_entry(entry, struct disk_util, list); update_io_tick_disk(du); } } else ret = 1; fio_sem_up(disk_util_sem); return ret; } static struct disk_util *disk_util_exists(int major, int minor) { struct flist_head *entry; struct disk_util *du; fio_sem_down(disk_util_sem); flist_for_each(entry, &disk_list) { du = flist_entry(entry, struct disk_util, list); if (major == du->major && minor == du->minor) { fio_sem_up(disk_util_sem); return du; } } fio_sem_up(disk_util_sem); return NULL; } static int get_device_numbers(char *file_name, int *maj, int *min) { struct stat st; int majdev, mindev; char tempname[PATH_MAX], *p; if (!lstat(file_name, &st)) { if (S_ISBLK(st.st_mode)) { majdev = major(st.st_rdev); mindev = minor(st.st_rdev); } else if (S_ISCHR(st.st_mode) || S_ISFIFO(st.st_mode)) { return -1; } else { majdev = major(st.st_dev); mindev = minor(st.st_dev); } } else { /* * must be a file, open "." in that path */ snprintf(tempname, FIO_ARRAY_SIZE(tempname), "%s", file_name); p = dirname(tempname); if (stat(p, &st)) { perror("disk util stat"); return -1; } majdev = major(st.st_dev); mindev = minor(st.st_dev); } *min = mindev; *maj = majdev; return 0; } static int read_block_dev_entry(char *path, int *maj, int *min) { char line[256], *p; FILE *f; f = fopen(path, "r"); if (!f) { perror("open path"); return 1; } p = fgets(line, sizeof(line), f); fclose(f); if (!p) return 1; if (sscanf(p, "%u:%u", maj, min) != 2) return 1; return 0; } static void find_add_disk_slaves(struct thread_data *td, char *path, struct disk_util *masterdu) { DIR *dirhandle = NULL; struct dirent *dirent = NULL; char slavesdir[PATH_MAX], temppath[PATH_MAX], slavepath[PATH_MAX]; struct disk_util *slavedu = NULL; int majdev, mindev; ssize_t linklen; sprintf(slavesdir, "%s/%s", path, "slaves"); dirhandle = opendir(slavesdir); if (!dirhandle) return; while ((dirent = readdir(dirhandle)) != NULL) { if (!strcmp(dirent->d_name, ".") || !strcmp(dirent->d_name, "..")) continue; nowarn_snprintf(temppath, sizeof(temppath), "%s/%s", slavesdir, dirent->d_name); /* Can we always assume that the slaves device entries * are links to the real directories for the slave * devices? */ linklen = readlink(temppath, slavepath, PATH_MAX - 1); if (linklen < 0) { perror("readlink() for slave device."); closedir(dirhandle); return; } slavepath[linklen] = '\0'; nowarn_snprintf(temppath, sizeof(temppath), "%s/%s/dev", slavesdir, slavepath); if (access(temppath, F_OK) != 0) nowarn_snprintf(temppath, sizeof(temppath), "%s/%s/device/dev", slavesdir, slavepath); if (read_block_dev_entry(temppath, &majdev, &mindev)) { perror("Error getting slave device numbers"); closedir(dirhandle); return; } /* * See if this maj,min already exists */ slavedu = disk_util_exists(majdev, mindev); if (slavedu) continue; nowarn_snprintf(temppath, sizeof(temppath), "%s/%s", slavesdir, slavepath); __init_per_file_disk_util(td, majdev, mindev, temppath); slavedu = disk_util_exists(majdev, mindev); /* Should probably use an assert here. slavedu should * always be present at this point. */ if (slavedu) { slavedu->users++; flist_add_tail(&slavedu->slavelist, &masterdu->slaves); } } closedir(dirhandle); } static struct disk_util *disk_util_add(struct thread_data *td, int majdev, int mindev, char *path) { struct disk_util *du, *__du; struct flist_head *entry; int l; dprint(FD_DISKUTIL, "add maj/min %d/%d: %s\n", majdev, mindev, path); du = smalloc(sizeof(*du)); if (!du) return NULL; DRD_IGNORE_VAR(du->users); memset(du, 0, sizeof(*du)); INIT_FLIST_HEAD(&du->list); l = snprintf(du->path, sizeof(du->path), "%s/stat", path); if (l < 0 || l >= sizeof(du->path)) { log_err("constructed path \"%.100s[...]/stat\" larger than buffer (%zu bytes)\n", path, sizeof(du->path) - 1); sfree(du); return NULL; } snprintf((char *) du->dus.name, FIO_ARRAY_SIZE(du->dus.name), "%s", basename(path)); du->sysfs_root = strdup(path); du->major = majdev; du->minor = mindev; INIT_FLIST_HEAD(&du->slavelist); INIT_FLIST_HEAD(&du->slaves); du->lock = fio_sem_init(FIO_SEM_UNLOCKED); du->users = 0; fio_sem_down(disk_util_sem); flist_for_each(entry, &disk_list) { __du = flist_entry(entry, struct disk_util, list); dprint(FD_DISKUTIL, "found %s in list\n", __du->dus.name); if (!strcmp((char *) du->dus.name, (char *) __du->dus.name)) { disk_util_free(du); fio_sem_up(disk_util_sem); return __du; } } dprint(FD_DISKUTIL, "add %s to list\n", du->dus.name); fio_gettime(&du->time, NULL); get_io_ticks(du, &du->last_dus); flist_add_tail(&du->list, &disk_list); fio_sem_up(disk_util_sem); find_add_disk_slaves(td, path, du); return du; } static int check_dev_match(int majdev, int mindev, char *path) { int major, minor; if (read_block_dev_entry(path, &major, &minor)) return 1; if (majdev == major && mindev == minor) return 0; return 1; } static int find_block_dir(int majdev, int mindev, char *path, int link_ok) { struct dirent *dir; struct stat st; int found = 0; DIR *D; D = opendir(path); if (!D) return 0; while ((dir = readdir(D)) != NULL) { char full_path[257]; if (!strcmp(dir->d_name, ".") || !strcmp(dir->d_name, "..")) continue; sprintf(full_path, "%s/%s", path, dir->d_name); if (!strcmp(dir->d_name, "dev")) { if (!check_dev_match(majdev, mindev, full_path)) { found = 1; break; } } if (link_ok) { if (stat(full_path, &st) == -1) { perror("stat"); break; } } else { if (lstat(full_path, &st) == -1) { perror("stat"); break; } } if (!S_ISDIR(st.st_mode) || S_ISLNK(st.st_mode)) continue; found = find_block_dir(majdev, mindev, full_path, 0); if (found) { strcpy(path, full_path); break; } } closedir(D); return found; } static struct disk_util *__init_per_file_disk_util(struct thread_data *td, int majdev, int mindev, char *path) { struct stat st; char tmp[PATH_MAX]; char *p; /* * If there's a ../queue/ directory there, we are inside a partition. * Check if that is the case and jump back. For loop/md/dm etc we * are already in the right spot. */ sprintf(tmp, "%s/../queue", path); if (!stat(tmp, &st)) { p = dirname(path); sprintf(tmp, "%s/queue", p); if (stat(tmp, &st)) { log_err("unknown sysfs layout\n"); return NULL; } snprintf(tmp, FIO_ARRAY_SIZE(tmp), "%s", p); sprintf(path, "%s", tmp); } return disk_util_add(td, majdev, mindev, path); } static struct disk_util *init_per_file_disk_util(struct thread_data *td, char *filename) { char foo[PATH_MAX]; struct disk_util *du; int mindev, majdev; if (get_device_numbers(filename, &majdev, &mindev)) return NULL; dprint(FD_DISKUTIL, "%s belongs to maj/min %d/%d\n", filename, majdev, mindev); du = disk_util_exists(majdev, mindev); if (du) return du; /* * for an fs without a device, we will repeatedly stat through * sysfs which can take oodles of time for thousands of files. so * cache the last lookup and compare with that before going through * everything again. */ if (mindev == last_mindev && majdev == last_majdev) return last_du; last_mindev = mindev; last_majdev = majdev; sprintf(foo, "/sys/block"); if (!find_block_dir(majdev, mindev, foo, 1)) return NULL; return __init_per_file_disk_util(td, majdev, mindev, foo); } static struct disk_util *__init_disk_util(struct thread_data *td, struct fio_file *f) { return init_per_file_disk_util(td, f->file_name); } void init_disk_util(struct thread_data *td) { struct fio_file *f; unsigned int i; if (!td->o.do_disk_util || td_ioengine_flagged(td, FIO_DISKLESSIO | FIO_NODISKUTIL)) return; for_each_file(td, f, i) f->du = __init_disk_util(td, f); } void disk_util_prune_entries(void) { fio_sem_down(disk_util_sem); while (!flist_empty(&disk_list)) { struct disk_util *du; du = flist_first_entry(&disk_list, struct disk_util, list); flist_del(&du->list); disk_util_free(du); } last_majdev = last_mindev = -1; fio_sem_up(disk_util_sem); fio_sem_remove(disk_util_sem); } void setup_disk_util(void) { disk_util_sem = fio_sem_init(FIO_SEM_UNLOCKED); } fio-3.39/diskutil.h000066400000000000000000000057031476262051600142440ustar00rootroot00000000000000#ifndef FIO_DISKUTIL_H #define FIO_DISKUTIL_H #define FIO_DU_NAME_SZ 64 #include #include #include "helper_thread.h" #include "fio_sem.h" #include "flist.h" #include "lib/ieee754.h" /** * @ios: Number of I/O operations that have been completed successfully. * @merges: Number of I/O operations that have been merged. * @sectors: I/O size in 512-byte units. * @ticks: Time spent on I/O in milliseconds. * @io_ticks: CPU time spent on I/O in milliseconds. * @time_in_queue: Weighted time spent doing I/O in milliseconds. * * For the array members, index 0 refers to reads and index 1 refers to writes. */ struct disk_util_stats { uint64_t ios[2]; uint64_t merges[2]; uint64_t sectors[2]; uint64_t ticks[2]; uint64_t io_ticks; uint64_t time_in_queue; uint64_t msec; }; /* * Disk utilization as read from /sys/block//stat */ struct disk_util_stat { uint8_t name[FIO_DU_NAME_SZ]; struct disk_util_stats s; }; struct disk_util_agg { uint64_t ios[2]; uint64_t merges[2]; uint64_t sectors[2]; uint64_t ticks[2]; uint64_t io_ticks; uint64_t time_in_queue; uint32_t slavecount; uint32_t pad; fio_fp64_t max_util; }; /* * Per-device disk util management */ struct disk_util { struct flist_head list; /* If this disk is a slave, hook it into the master's * list using this head. */ struct flist_head slavelist; char *sysfs_root; char path[PATH_MAX]; int major, minor; struct disk_util_stat dus; struct disk_util_stat last_dus; struct disk_util_agg agg; /* For software raids, this entry maintains pointers to the * entries for the slave devices. The disk_util entries for * the slaves devices should primarily be maintained through * the disk_list list, i.e. for memory allocation and * de-allocation, etc. Whereas this list should be used only * for aggregating a software RAID's disk util figures. */ struct flist_head slaves; struct timespec time; struct fio_sem *lock; unsigned long users; }; static inline void disk_util_mod(struct disk_util *du, int val) { if (du) { struct flist_head *n; fio_sem_down(du->lock); du->users += val; flist_for_each(n, &du->slavelist) { struct disk_util *slave; slave = flist_entry(n, struct disk_util, slavelist); slave->users += val; } fio_sem_up(du->lock); } } static inline void disk_util_inc(struct disk_util *du) { disk_util_mod(du, 1); } static inline void disk_util_dec(struct disk_util *du) { disk_util_mod(du, -1); } #define DISK_UTIL_MSEC (250) extern struct flist_head disk_list; /* * disk util stuff */ #ifdef FIO_HAVE_DISK_UTIL extern void init_disk_util(struct thread_data *); extern int update_io_ticks(void); extern void setup_disk_util(void); extern void disk_util_prune_entries(void); #else /* keep this as a function to avoid a warning in handle_du() */ #define disk_util_prune_entries() #define init_disk_util(td) #define setup_disk_util() static inline int update_io_ticks(void) { return helper_should_exit(); } #endif #endif fio-3.39/doc/000077500000000000000000000000001476262051600130035ustar00rootroot00000000000000fio-3.39/doc/Makefile000066400000000000000000000166721476262051600144570ustar00rootroot00000000000000# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = -W --keep-going SPHINXBUILD = sphinx-build PAPER = BUILDDIR = output # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . .PHONY: help help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " dirhtml to make HTML files named index.html in directories" @echo " singlehtml to make a single large HTML file" @echo " pickle to make pickle files" @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" @echo " applehelp to make an Apple Help Book" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " epub3 to make an epub3" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" @echo " text to make text files" @echo " man to make manual pages" @echo " texinfo to make Texinfo files" @echo " info to make Texinfo files and run them through makeinfo" @echo " gettext to make PO message catalogs" @echo " changes to make an overview of all changed/added/deprecated items" @echo " xml to make Docutils-native XML files" @echo " pseudoxml to make pseudoxml-XML files for display purposes" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" @echo " coverage to run coverage check of the documentation (if enabled)" @echo " dummy to check syntax errors of document sources" .PHONY: clean clean: rm -rf $(BUILDDIR)/* .PHONY: html html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." .PHONY: dirhtml dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." .PHONY: singlehtml singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." .PHONY: pickle pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." .PHONY: json json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." .PHONY: htmlhelp htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." .PHONY: qthelp qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/fio.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/fio.qhc" .PHONY: applehelp applehelp: $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp @echo @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." @echo "N.B. You won't be able to view it unless you put it in" \ "~/Library/Documentation/Help or install it in your application" \ "bundle." .PHONY: devhelp devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" @echo "# mkdir -p $$HOME/.local/share/devhelp/fio" @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/fio" @echo "# devhelp" .PHONY: epub epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." .PHONY: epub3 epub3: $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 @echo @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." .PHONY: latex latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." .PHONY: latexpdf latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." .PHONY: latexpdfja latexpdfja: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through platex and dvipdfmx..." $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." .PHONY: text text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." .PHONY: man man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." .PHONY: texinfo texinfo: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." @echo "Run \`make' in that directory to run these through makeinfo" \ "(use \`make info' here to do that automatically)." .PHONY: info info: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo "Running Texinfo files through makeinfo..." make -C $(BUILDDIR)/texinfo info @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." .PHONY: gettext gettext: $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale @echo @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." .PHONY: changes changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." .PHONY: linkcheck linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." .PHONY: doctest doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." .PHONY: coverage coverage: $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage @echo "Testing of coverage in the sources finished, look at the " \ "results in $(BUILDDIR)/coverage/python.txt." .PHONY: xml xml: $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml @echo @echo "Build finished. The XML files are in $(BUILDDIR)/xml." .PHONY: pseudoxml pseudoxml: $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml @echo @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." .PHONY: dummy dummy: $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy @echo @echo "Build finished. Dummy builder generates no files." fio-3.39/doc/conf.py000066400000000000000000000236111476262051600143050ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # fio documentation build configuration file, created by # sphinx-quickstart on Mon Nov 14 13:56:30 2016. # # This file is execfile()d with the current directory set to its # containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- General configuration ------------------------------------------------ from __future__ import absolute_import from __future__ import print_function # If your documentation needs a minimal Sphinx version, state it here. # # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] source_suffix = '.rst' # The encoding of source files. # # source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. project = 'fio' copyright = '2017, Jens Axboe ' author = 'Jens Axboe ' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. # version = '1' # The full version, including alpha/beta/rc tags. # release = '1' def fio_version(): from os.path import exists, dirname, join wsroot = dirname(dirname(__file__)) version_file = join(wsroot, "FIO-VERSION-FILE") if not exists(version_file): version_gen = join(wsroot, "FIO-VERSION-GEN") from subprocess import call rc = call(version_gen, shell=True, cwd=wsroot) if rc: print("Couldn't generate version file. rc=%r" % rc) return "Unknown", "Unknown" vsl = open(version_file).read().strip().split('-') version = vsl[1] release = '-'.join(vsl[1:]) return version, release version, release = fio_version() # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # # today = '' # # Else, today_fmt is used as the format for a strftime call. # # today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This patterns also effect to html_static_path and html_extra_path exclude_patterns = ['output', 'Thumbs.db', '.DS_Store', 'fio_examples.rst'] # The reST default role (used for this markup: `text`) to use for all # documents. # # default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. # # add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). # # add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. # # show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. # keep_warnings = False # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = 'alabaster' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # # html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] # The name for this set of Sphinx documents. # " v documentation" by default. # # html_title = 'fio v1' # A shorter title for the navigation bar. Default is the same as html_title. # # html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. # # html_logo = None # The name of an image file (relative to this directory) to use as a favicon of # the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. # # html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". # html_static_path = ['_static'] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. # # html_extra_path = [] # If not None, a 'Last updated on:' timestamp is inserted at every page # bottom, using the given strftime format. # The empty string is equivalent to '%b %d, %Y'. # # html_last_updated_fmt = None # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. # # html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. # # html_additional_pages = {} # If false, no module index is generated. # # html_domain_indices = True # If false, no index is generated. # # html_use_index = True # If true, the index is split into individual pages for each letter. # # html_split_index = False # If true, links to the reST sources are added to the pages. # # html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. # # html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. # # html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. # # html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). # html_file_suffix = None # Language to be used for generating the HTML full-text search index. # Sphinx supports the following languages: # 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja' # 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr', 'zh' # # html_search_language = 'en' # A dictionary with options for the search language support, empty by default. # 'ja' uses this config value. # 'zh' user can custom change `jieba` dictionary path. # # html_search_options = {'type': 'default'} # The name of a javascript file (relative to the configuration directory) that # implements a search results scorer. If empty, the default will be used. # # html_search_scorer = 'scorer.js' # Output file base name for HTML help builder. htmlhelp_basename = 'fiodoc' # -- Options for LaTeX output --------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # # 'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). # # 'pointsize': '10pt', # Additional stuff for the LaTeX preamble. # # 'preamble': '', # Latex figure (float) alignment # # 'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ (master_doc, 'fio.tex', 'fio Documentation', 'a', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. # # latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. # # latex_use_parts = False # If true, show page references after internal links. # # latex_show_pagerefs = False # If true, show URL addresses after external links. # # latex_show_urls = False # Documents to append as an appendix to all manuals. # # latex_appendices = [] # It false, will not define \strong, \code, itleref, \crossref ... but only # \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added # packages. # # latex_keep_old_macro_names = True # If false, no module index is generated. # # latex_domain_indices = True # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ('fio_doc', 'fio', 'flexible I/O tester', [author], 1) ] # If true, show URL addresses after external links. # # man_show_urls = False # -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ (master_doc, 'fio', 'fio Documentation', author, 'fio', 'One line description of project.', 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. # # texinfo_appendices = [] # If false, no module index is generated. # # texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. # # texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. # # texinfo_no_detailmenu = False fio-3.39/doc/fio-histo-log-pctiles.pdf000066400000000000000000005453241476262051600176340ustar00rootroot00000000000000%PDF-1.5 %¿÷¢þ 30 0 obj << /Linearized 1 /L 182996 /H [ 950 206 ] /O 34 /E 40944 /N 7 /T 182547 >> endobj 31 0 obj << /Type /XRef /Length 59 /Filter /FlateDecode /DecodeParms << /Columns 4 /Predictor 12 >> /W [ 1 2 1 ] /Index [ 30 50 ] /Info 41 0 R /Root 32 0 R /Size 80 /Prev 182548 /ID [<5c85088319c4ad48346bdbca68602cfc><5c85088319c4ad48346bdbca68602cfc>] >> stream xœcbdàg`b`8 $˜ç‚XŽ@‚ñˆÐü±@"c`š $$¦ƒXê LŒ Å ŒC–†Aµ endstream endobj 32 0 obj << /Dests 79 0 R /Pages 42 0 R /Type /Catalog >> endobj 33 0 obj << /Filter /FlateDecode /S 95 /Length 127 >> stream xœc```b``ÞÆÀÌÀÀµA€ Àl d``Y Ó0á4g®òÛ,U˜f²Ï,Ÿ ìZ‘dÞ¹ú˜rŬ=IæÝ@zO’Ix÷1T•@íâ Lš·4;ó‚ŒfTgàgà3¹m³ƒíÑ; Ý!›¿1kç0sV`t``»y$ä endstream endobj 34 0 obj << /Annots [ 50 0 R 51 0 R 52 0 R 53 0 R 54 0 R 55 0 R 56 0 R 57 0 R 58 0 R 59 0 R ] /Contents 35 0 R /MediaBox [ 0 0 612 792 ] /Parent 42 0 R /Resources << /ExtGState << /G0 43 0 R >> /Font << /F0 44 0 R /F1 47 0 R >> /ProcSets [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Type /Page >> endobj 35 0 obj << /Filter /FlateDecode /Length 3604 >> stream xœí]ÛnäÆ}×Wð9€é¾_€À€´^í³ ù€Ä»@ðæÿô\8ljx4uš=­"/°^‘b_««OWªÖƒ*~Ò寘ÍðÏ?ïþºÛ= Úì|ÿãîþSžŽÑïwúùU=ìþüþe8üãû·»Ÿ¿¨áÛ÷%$­|Øñõ…'Ѫùz÷[ùS×®Gã·7ÀOÕå°”ƒ:<)?g­Ÿì ÓüȪòãüHíë*UþQªxxºûù±ü’ƒÏå¿4<}½Óó8ªáéÏ]I?éRúÓ¿†¿+eã/ÃÓ¿ïÒ˜½ FïÚxáŽ/´/¿ÓüâÓþ…-C´Ëöô‡ý‹8Z“´™KRvÿÜ*ê}œKŠ  oPÝ  ŸPIjÿB›Ñ¨£ªŠ‚Ÿhô"‚~ðÄ•ƒÂŽûcÕ)©à¼`–œïÕ¦E·³^ •ëÆ¢Î¡P Ρê¹3v}"ªç‹ ‚rëÃ\å”™ßXP÷#( v[(´U¨ß ‘]ôϱÀ1\“ࣂ\àÉÃU#±AÃ}˜ 5úäLÊAÐ&Ô z`q °¤TÀ)ºãTk'íÍeñƒ«K«ª¨€>«Û„ª(¡mª®wzÍ‘«nøü$!èÑ$S¡„cg¥%ì!†]UŒ²îj’ÉÛ¶™ãó½@•C\ЀJÂ#Ù1$‚ƒûv@T&XeT?_l«‹ ´sAZSÂm’sr6Õ2N.²gŒE˜Ó–2ö‹Ìoù8ž<å:ŒÖÚaL»£Åâgê„‘ý±póPo–ÑIr’€Â PØI¨}>hÅSÏÈ1צüdtœN^GaÇd­ ±ÚÑÑëØhù k9xºã•<¬A…‰ŽE|?ðÄӭ•ßC¦•2عºjZô»RŠ| $†”"Ö–4îaÏ&°Iè\„:wfé:´A¶,æT¯Æýi\šT\„Bô!ü¸G%¡­›% Ø¢¢ø‹u;'ÒÈëU F[^8D‹aE´Ó.5 gÓ.u‚7ݽ±ÌC çJa$v|{ñÞev"V£àÕ~ÏI]0£?€Y³)…øÊ•¯³ù:hŸ…:x(þ žCÐÆqhåòàOûëiF[´ÕîC6~óã¡Þ“û˜mvð%¦Œœ§PŠ¥€J›D؆ÆBýcð«m˜kEŲą̂ÓsÍ“Ý$*~Blöðucôå„Uþ_ ¦°¼zbÍ¥¸¤+Á42Ïh^=1ðä![æ§,üà|°§Ú"чu§¡mCâ¯BÚpÍU+6=Ä•ËÆbëåÞ`z°)OºÂÃmJtFòÙÑeÏ´BâÀ§Žj<œ€ç1šxeÆéF(»ÿØÂMC€ßåi&øË¢P&?_+~ÌÆèàòóqÓ¬–8:åsPgË¥ô&™¢|~>ÿiL1D›_ð,ÂÞè˜Jõî8wªa$}Y®í»écãÀË“˜Ð6€=¿šºmZ<‡ cJ¤Fn뀊Ž|ñ n èõ„DÈS ù˜¥%O‰GÀ|/´Yïµ=j ]t“ÒZB«‘-ÖN‚çh¤/Ùâe²ðc#ÞjЬ/bËñ$0ÇM"•< X4Lü*sx¡ñFƒáÉÁà‰AuŸk’>Èdì1Ø*À?£ kpœHv'–ëEK«H(E§: pt»')ä4*»+¸M-ˆ+Ø5±mþøTL;Uû9íßÀtK ),ˆõêHÌ6›î â].¨ ndînŒ=ÒnÓÀ®²‡Ñ;O¶³Ì›|ßW)°qÓ¼> 4 þ |¤KâýtC$rïÂ-#=–$ˆi¨½äîúŒo6NïldÚÚIúôn˜ƒÇ¬ž&k‹re ƒ‹çÚ¤8ѹ¢¨ˆ—©ìDK{9V±X\8ë‹Ý†Ê>&mkxÕ‚Í´û׸´àUR–Ò~µ~>=Þ\Ô`ÜêxT·¬l‹£ŸÖ¶Fg´Å˧„v/ɹÐ͇Á{OØpŸ‰E ‰²pyñ2À£O|ÉíwÃû펊M4¶#Î6—sSo0•yŠ+P±Ødv¯÷ëÌh¡jÌ$qúþã~¤ä†[Ñ€j\ÔèGG+ ï$ìvïC3 ò$ömG qIâ*ãPF‰¨˜q3Jai—4+V–áf±A³†)–©ƒ' Òx†øÕ£)i†²2Ð|’^&—ë'(X.—é/Ÿš4ùÂÇ ®Z’"Yäõg-ЬÙÅŽ1ì/ƒŠ[ØÚQÀÖ¦³Ca4ô líŽùèþÑf >M=öÆñ¶:Ѧá#ܸt.JtݸÒnŸhr4A‰®¿[ÏIÏÔ”B÷ù†çö#=ÙŽÉZ³‰lÌ:üBרLÔ¼Û y^€ý“¥ï4x9ûefº¶¿Ë7M—êŽ4Ŷ¦è²¸…OüóÈnBw¾Ì,Ðí~¼CÂ’`”U¿\<æk¸œ¯¾G/õ:ªpbXÞ®ZE–·y×/àê„,Xt@ˆâtÞšÑ-Å {— 5ÃçB@¸‹å°cG[?ºÝ`Ç¡ß$½Gd$YtÖ£~),Øá¾¡ñÈüÊéP>fϸ)ÓÓ5˜]êéºUKE½xsISË£îãè]Ø%>Š[¨ÍéĽYÜ[³8Š‹4ÿ¹"éá¾-«NÇÄ]õh¼›®zL[Ø_ ûs­…ßÅé»ãÛ¨QÛ" gA{Z©¨\å,=ò‡Ë"Á©p¾Áì.F÷ÁÙê½^àZŽÓ¹ò×b`a“+*Úä¬=cVQµ ¾àꆫ?n~tʸ¤Ï2¬ÕÐŒ·Í•o޼¯CË‚;Û²-3éÌŠ{þâhC£æ…!“M™Ïgv—µj`ÿ_h, wôìØ—§s~òPÌ«´A5䲇?ÿ¸¬q;Ìýþexöäû7¢3U°ˆK“Ùõé‹Ï|È1ÓÀñì·=÷‹ýi¸þ §¡æc®.ÄtO¢ª/턦h­¯JvÓ±œ;†²RŠ|¦½¼Ö?K¥uµì·££É°{~no}×d.$²ßì=™RÙ³^1G€ìõÒ–ëõˆøƒ^öimrØI˜S˜YJŸ?Q¾þšj#J\n/—ÃÓ‹;&d‚wÑ=ѵ8‰™Òj[Ðä ½J2õEÂ"hH{ÏQs©ËïŒË£É{ÛP¥n´»ˆ’ȰP²cpûmƒ·zF¡ñ©%ù«ìè*öôÀïÏl²ý+%ô¦Z8nåôx‹—5SÖíPT‰¾ÿqWÊ7»snŒSÓ£òÞ¸<è2<õ/ÅT³§G¥rS$D]ÿ–Õ~ÐaQºµ±ü–Y<òy0ÞVÚ¬†è§¦ŒÛnì´‰Ó£ßÊŸÿ×î×endstream endobj 36 0 obj << /Filter /FlateDecode /Length1 47992 /Length 26725 >> stream xœì¼y|SÕö7¼ö>ûdž›4išfhš ¥-”B¡a(È<E*ežD(D)2—ÑT&A%”Á‚(¨\ñª  *(*╶ɳöIŠÀõ÷ûÝçyŸ÷ýãýÓïY{Ö^kíµÏI ÔPd ;hüˆÝ—X¾ˆ[ÐÌ…þt Lã’ ȶÁ,»ã-‘îçu±|oÄD¢ÂK댄èÉãXv¯‹mŒçíH´ú+\0Nì©Áþ–‹G`8b5†×³o`“,Æb|Ö;Èrx¬³\¶V`ú‹˜?ÓV#í‡ñu€õ2ba¥|$pŠaz]lgAl¾©ÂÛИ•F¾Â¹b›s°nHÛ":b™8¤­sɘGŽDÖc>R˜‰ýÏåéˆ61ú¶3óó±^ ÆgbØŽã!Õ#<ˆ:täR3@šŽóï7âŒäs¾='lLÿŽè;Þ ìóM„—æF.#UÞ1¶{1ó´²  éD"¢;=cY' ȯ•âe8P29ŸÎ#š³¡ÐãÇÙSÜ «xÑYBi¤†½k…Ðó¦Ê–ã<†"¿"nB:ý êË|0å« ¶?±Û¼"ÉÃPè…ý7@šÅ.K24±ûºVË'ÎŒÏÀuí}UsÁú=íp]Êóñ`ÿéœç|ÝIŸp.–½„ep`ºUÎË$¯Ãëc[¾˜®ÿ‹Âz,³ùz)CXøj!ÉY ˜÷¶“€!’ —ëcM¯#ê`߀ý ’¼¢ÌpÙ”äeC<‚<ıI2Ãji=£:³.ÖïÇ#Ûcbðð6¹¾p™Å±ì¬m›ë—™Z*É÷.÷ä>O.S·)êûÚñ1H:ˆ²UK¹Þᘹ>,§½aÒU(Ç3¹ÌòñÕRÎ.kOP'b4fH:‚TðÆd}f-­åÅm:6`›Å²ÁhSÖÂl"< < ƒÙuh#Ô…b¦á|°lˆþ=‡ ײ+ÆWÞCWpÈO’Ñâ!œçVäçIx yZÂNÒdv’ˆâÖÈ÷"£âVú¤þ7z/È¡h§wæýï¦ÿŸ€ž·¢ÍÜùA<‰à|žá:!ÿ‘d ܵÓ+eˆ4E€¬PŒ!•òÞ`áކǂÐT B;„ëcA;º€é½Å¯à °泓‘Ó¤ ÊèI˜#·À ºmöEOÁLÞ>ÒñwÈÑ]2w¯,ÕÒZy½—r›“)RêßG1\Šá&âw”£—I´nŸ¥ým4bNT^#·nËçQ؈tA­|Þ#§cî‘Oͽry/•ö´ïµzŠã˜_;n¹ã6’Û9ngjËßKï¨_N· s;|úÇô:9†8Ưcºv×»o$"kyU¶;²I0E6É21üBŒ¼Šó~ìöžÚ/Ží§uk÷Òh:¨k÷Q1 ÆÆìÙÉÞü ÏIûhi|JÙ˜.Vả ”Æ»6¦ƒÈO÷VŒ<_ q Â\ÔGLG à<‘ÖÀÆ÷¾' ËÏ|/Z3…³è/ðºY`”ö‹|è‹c?*¥ážÊ)OûÂzÙÉz£­=CùZñyðñðµWL­Â‚vâ$4d›±ŒTXn­Äƒ ¼*ɯ;ý"ä…|ÈQf»`ÞÞ:©NL1~lx!ÕG_„Ëç¶)³@ÉŸøÖˆ½¡/êÐ:y¬“õF³À&lc#ÖëÍÇ‚õìÒ~½ Dýš‡¶iÚ俤JØŠóy í:B(Cm›X†<#ͽ ‹Úع\„-àç2"[†v˜ûË œ @6aÚ"í$ö»Óf¡þf îÎÇú®˜Ýì{>¦óºùÜ—á>×yâde’Ò¸Ÿ‚ý ßÃ:¡ÌC9n©X†|˜ õq¿ ({NDÃ(¤ø“1,ŒBJ3D)ñxBJÏ‚OèArË÷Ð}lŒb} Sh ÌõÙ?QWÿ„= dÇàV yœÅA!„óß¾%O?Ýx:ýã+ ?ËÃúóà6J…({ŸŠ ǵÆzâb”“¬ÿ+¶ùú }P·æ`øÏÈ6^Nêcw¤/{êKõî€4ÖZÜ3fÚùÖ×ÇËÃwÇz{œµcü›ñIóäíb=^†½xfˆœCø¢4Ü.‚­ˆµô ´:ò ̋Ж\F¼Ãvx@¢;ÝqoD¦!°Fð:b†ë!} ±#Gß­œEÌÆ¶ßFº‹Ÿ 8h+hÌ)¦­F¬@|P›w'x_—~'ÄD¸;¾Ê8ÈH ǽå‘ϱ¿Æ¬9ò²¸”C6úË'ãú¥bºÛ¼'Žýd²=0úÏÿr2$F¼s޵ë4þ?À¹;¨›ÓØÞðÿh|ÿ'ÀõŽ(’øû3Xb2¤#§ i¤}„IðÆëc¼°–ŸO¿6Á³Rúíõ‹¦£¬à‘šß›~oüÞuýŸâtl¼µrp[žY,Ë#î+ŽÂ,Ù?0ïÿg¯þèiÂ*iL ÉØ=qYWÜ34Çj—ê,ä¸?ºŒàe¥úZXÄ!é.‚î†Q·ó¡ýFÜÁׯœ¯Ø§”_»>µërïúàø‚ì#DÜ+>‚ ¤=‘¶¬¥·å;f/î’ùîQy¿ç¶äò=eþÒ‰¿tãßkþ¾Íÿ?uçââ½ÿ·ûâV†Û·çÐÉG?ò$ú'ÂL€´%ÕéˆWÐõBú9¦áÐb؈i#¾Põ;†'`úÉ("”%ÂÚ˜_™€i{cu±özFëW½p %êÖŽhýª-ˆÑþñ†¿Dú6ÒXþ¬7 é;ÑüšŸŒ8€ñ1þ0¢†—"µ ­‡ˆC˜°þrîüÛ9ôÿ:ýûóÇJÑg‚ãtñg^H§Ý{†øiízþôÞ³FíúÿOôŽg÷Ð(ðÌô5ú}¡;Ï>ÿݧ–âz†ïë©AŸRÃýhîËrÿYòcT:¿I~,ö `®¥Üwæþ+÷¹ÿŠtÒy2QOo~ÎçãiK‘à”=0†!U?`ÊÆü, MàI2,!Ïu$DΑ-¤GèQú¥@AP ^áI¡\X(¬>bÖ• `Ù³ìyö{™íbo°Óì{qŸø®øƒxC¦‘%Ê\²¦²²1²±²Ù“²9²² ²Í²²e'e:g;ÿtëÝ·Óìö»¸3ÜYî¦îOQV¿‡a>Œ†Q0Æ¢ô>ka”Àx˜¥0 &¢L? Wà1”î)ð8â''ÈÇäŸäò)ù =„TR‡Ô%ip .““p .Ài8gá<|_’kä:ù÷ª_Éoä¹Iþ ÿ"’[$@ªH5©!aR÷1 „R*PFE*£rª Jª"õ©šj¨–ꨞ¨‘šh5“ÔBãI:É Vj£ ÔN©ƒ&Q'uQ7]H=4™4$™ÔK²h õQ?M¥uh]šFt/D#½&Ìf ³…¹Â|a‘°DxVX&¬^Âs£°YØ*lv;…=Â>áMámáÂQá8êê?…“ÂiáKá+á²ð½pU¸&üB¡¿Òßè ú;½Iÿ ÿ¢Ò[´ŠV *A-hpw!8© l#{…½Ê6±Íl Ûʶ±í¸«ì`!¶“Uàμ›ía{Ùë¸ÏìcûqŸ>ÀÞdo±ƒì{›½ÃÞe‡Ù?Ø{ì{ŸeÇØìCvœ}ÄN°Ù?Ù'ìSö;ÉN±Ïq—:Íΰ³ìû’gØEöûš}Ã.±Ëì[ö»Â¾g?°ÙOì*û™]c×Ù/ìWö»Á~'ßKì&ûƒý‹ýÉn±*Ø ´œdÃØ ïâéhì†Ãð¼ sÑuzÝ„îBo¡ÐWè'ôzÁïä;zˆ= `%\EÍÜÏ|XBZ’ÉäiÜ/ž%B%™F®’ŸY ›Àf°R¡Pè/<( ŠØ,6‰=Êf³Él›Âæ²yl>+g ØBö{Ž-b‹ÙÜ‘Ÿ–ö䨋èÓ¬FÏf[Éž`kØZ¶wê—…FBcá7Ÿeµ/РŽÇì`¦ÀD™\¡T©5ZÞ`4Å™-ñV[‚=Ñ‘ät¹=ÉÞŸ?µNÝ´@½ú Ò3ffe7jœÓ$·i³¼æ-òƒ-[µnSжÝí;tìÔ¹K×nÝ{ôìÕ»Oß~…ýPôÐÀâA0xÈÐaÃGŒ5zÌÃc7¾dBéÄI“}lÊÔǧ=ñäô²OÍœ5{ÎÜyóË,\´xÉÒ§Ÿyö¹eËŸ_±rÕ /¾´zÍÚuë_Þ°ñ•W7mÞ²Uضýµ¡»vïÙûzå¾ýox󭃇Þ~çÝÃÿxïÈûG}ðáñN| ÿüäÓÏNžúü‹ÓgΞûòü…û¾ã}ßñ¾ïxßw¼ï;Þ÷ïûŽ÷}Çû¾ãæ;[¶ æ·hž×¬in“œFÙY™ 3ÒÔ¯H«['ÕïKñ&{Ü.g’#Ñž`³Æ[Ìq&£A¯ÓjÔ*¥B.™@ Ô+ð¶-v‡üÅ!æ÷>ð@}÷„Aw$‡Ü˜Ôöî2!w±TÌ}wÉ –~OÉ`´dðvIbpçA^ýzî¯;t¼×]Iúwï‡áEm¼…îÐU)ÜY /•ÂZ {×Z۽߹~/,Ä6°.õµ-.o‹]/D&vìéÆÞèìÂ~!2»tó™ðYEç7Ì[ÀSŠG»CJo+ïÈòÑŸ4öòô˜â©°Ûƒû"Á^à.ïÕÏë å'z µqì4Cy)»‚î„»sê×Ûi0F»S§4Ú;ÃnçI!©8uìq›³„ÈÛ"äâÆ‘ôó✚ðÛ°&P>¤ ÃO!ÁZ¡¡¸"£BÊÖÅ冦<׉>ôËGÛ^ì½úÓÝ)ƒb)2ŸáwàA.'·E óká@ ”–ÆEDÞ×ÇØBŠ7ª_or%õzÇÜH}Ð y;¨°i:²ßãá ¼ 2ƒ1*ëÞ/wÃàÄ ¦ C´˜çªÍ±ôæ9eµ9·«{Q’wK§>KHá¿ý§7ÄÇŒl"ñÿMö°h~ÇžÞŽÝû÷s”ÇxÛ±×]±h~“Ûy±P(®u?!‘ÆB4QrQ(Ü.Ì#ý4!æÃ?™$ÔC+å ”J)…¸Û† ÅDï…*ç?¬T¹ÎkIä¯j±a†šîŽ7»+~×ð4å˜ùiÇ^ýËËUw塨E;l#(ñЫŸÇÝ:½Q3}øW9Ô„£01D–µæPþ¢I±è]cáBüpé¬_¯-ºòò¶^wÛòâòA•‘²Á^·Á[¾¾Cß)_P\+8•‘ý Cm"¯F’¦õ[zA/Xá"‚À…÷tDWÄ@ÄÄ„L*ÇSÆ!¦#"®K9AÁZñLV°É‰ìýp¦(’¢»úFiçîQÚ¦}´XÓh±†ÙÑä­¢4µ^”š|™eœª´™‡ZÆ£ëþ1‚Âx¼zô„€ Ö !¨ ‹¥Ó®暃t‚n©+rH ZcfKÐk`ý™^æÐ«»tÆÌ5-;Яaâ B _ãõý ¦Ó‹¨z¼ç#Ö "N ®!dô"^ð:OÏc©/!‘ˆXƒ8ˆ¸†Ó/ñn ç¸>IwÎGPzïz§uïzzCgèÚ§9¹™û¤@ =pùbkb,`ŠÏ¬¤ŸTüY×UI¿Ùå¸Ö¶Ì ŸAA±³Ï°ñÏÀè†(FŒGÈ0t C§  ±±BȰÎ)¬s ëC|ˆ8ˆ ¢BA?®Àn*é‰ +WËxú=Vdêqú¾D?¤ïIôú‰EêDzŒ¾WátAK5æÖ1 5 MÇ|‘¾½+Å䊴4ÒƒÈÞÓùˆ®ˆˆ%=H“+†ºLØÈpLX²¾—è+°^ÁÑ® ¿5ʘ›ßüM›cokÜkü4è_¾£üæ_ü †øÍ?k!†øÍ?u†øÍÿðd ñ›èh ñ›¿ÿ@ ñ›¿k/ á­’®~=%Õ•Óu q·ÔÓG‘K"—E.= Œ>Ê/ø“ñ±½P‘–†[ ÔMs•í'eHYR¶ž” #eO’²¤,”=DʤÌAÊœ¤,HÊÞ Me$¸û®hnÐFÊŽ‘²í¤¬””ùI™”¥27É VROEû,‰HdWK®WH›·ÈÔã=ÈQеÕþ ÞO "R,ˆ…ÜÉÑ NN“w¥åGã šfŽkù}+¾‹Ëð.\@0\ wQŒÞÅFÞÅôxÏG DB\CD2,Œ_"ÝõxOGä#"¦#®!dÒp®!(Œ‹ q‡4°ôØ »ò}¯d¼<ÔL28 ÃÂÑ;IWgÄIs žŸòMF…Ok{ÿÐþë-([*ébº’p!–Æè’Š?“\•dE…ÿ WK yœ ¥Žä‚Ÿø6R)Þ N³ÁA·"ͬpôÁjú =×~¢ãµöºþt\r}﨤¼âxÃõ¹»’‘ ×ILÙº×õ™c¾ëhz¥Sø+ ’ýn©è>G×öcRј±ªÂõ$'{]O8Ú¹Æ8¤ŒaÑŒ‡J1Ô»zøû»ÀöÚ8»‚¥Øæ^W¾ã!W^´T#^g¯+‡ˆÓp°uR§^§Ô`ïœJ22XO¾\ÞOÞUÞXž)¯'÷È]ò$y¢Ü¬0) B£P) ™‚)¨æÊÈÅ`€?6Ë œðï `RØ@ù?+æv((t€PœÐ‘vìÙŠt »C7{z+‰ 7PÑÛŠ„L¡c¯V¡&Ž•òHPN cHÞíÁ~; Y\ˆ©!:¯’àîWI"LŒÑh-¬RZËŽÛ¬ƒ¦JÜ »ø*$0?Ø"ß!®p¹Âó9¥?`áÊ6Áv2 ¶ÃAx‡\þdoìîñ´a<sqë)ó¡^"¦?G"»!Öá>¶ŽcÙ¾ð$ì‡xb‹|Óa¶ð)Öš ZH†–Ð ÆÁ"Ò)2 À6r <ãIY¤_dqä™ÈØû„÷#5 ; Áëxägñ‹È9¨5–ÁJ¸@žQî öR†%_‚ °J(b$2"r GàGq :Ãqrˆ°õað±‘iBklååH(rK9 FÂ*ØO‘vÔ#ˆtއxìã1lu%TÀ^¼*áM8C4âõȆÈuH€zÐç³>"‡„pÍŒp>g4r©.äbÎ8x ŽÀÇÄKÞ¦ãD˜)Å©‘ÏÀ ¡7ŽöU¬ù-ùƒ>‰×tá=Ö6Ò tÈ—§9·áð±“tÒ•ô¡ué8ºZ˜ ì±!^Caò{¶~¥f/ÕÐÂËl+«’%…/Ft¸"~x^‚·‰gê&¥ä)rŠ|C[ÓôúµðÛÌ>‘ÂY?cal…?ˆ‰4!ÝɃd$™Fæ’§ÉJrœ|L®Ð–´C¯ #…áMÖ ¯ž¬”Íçˆ dWÂý‡Ãÿ ÿÉŒÌî(3pôË`5Îlœ€Óx]€¯‰HÔD‡êÛ›<Ž×“dY/=ƒÞ½|L¾&ßãô;©¢¸±RMäOYñòÒ èP>G_¤'ðú˜þDÿ¬B² yB¡0G5WXŠ×á+fg'Xùœ).׈›Ä­â;ü}šü)ÜÒ?¬~¹&­æ|ÂóÂËÃáÝ‘¯À‚kˆ›¡òpôƒðë½%n|J4È;;I#-H'äÌ@2š”Ç“³È*²Qûkärésr Ǭ¥iÌ h#ÚŠvÅë!:Œ– ïõ ÝMOÑ[‚\P zÁ"¤ í„"a˜0Q˜",B‡—Â×ÂM¡¯S1Kf~`íØ@6‰­fß±ïÄââe™J6V6GV)û˜ònòîò"ùù^ùgŠbþöÀëw¾ê …B°Ó,–€'–PžÂP¡3EI¥›È<úÙMSÄÇdÍh3Ò®ãÑþ9ú]CoÒfBgÒ‘ô„Ñü—ªü#33þËï<ö.\epnaËÉ4äIzM¦ "ýnšüCÈ`á8#\ r¶Î2±’«ôU¡JÁ›¬…Ø<‹ðšPBž€=´@U¥XˆrÜ…lA»Ð‹d’ ôz» åßÀLC¿€«¨Çóày2”€ÅE¦Áwð jE]ñYšÌBŽÒQ¬œÆ‘Ý@Ùfþ{f’BÑ ³H‘°Jvž†Ip‚©à¼° G‚¾&tf×Åd$jÀ0J"3`ŠØ}BF€@ú€]Dë6MÈd¤ÓѪ @›¶µ{?Ú–BgL±¡ätB¹èb^+ÐN0” Q¨ã}ÑŠ}»e½h%Œu­û ÜúG^•‘ðHä¨ö`nd¶¸ .ÃØDf‡‡ñxr<ºÝIlKOˆm#õi9=M{Òåw¯/rÛGlð^¯A[h!¾åìsè ù‘…‘“(ÝuЮ„ÁèŸ^ÂYþŒ=< ‚¬pº3ÒVó½Ý#¯F\D##CW8å" ’b<ü¢Ç’‰!ç—FÁ"-tA”#n¡aÄ3Џ—Í@Ñ @ù®üÇÓuuôØ–þý¿`hr7Œ+𘳠îÿÿ–ˆõQÄc~ü%ëx€LOx2 ûs‰HØ~žÁ]دnj˜÷¼ÝƒÏ¢H©‡Ø¸…5 õîã>îã>îã>îã>îã>îã>îã”H/\Dþ­~9´ÚMÉ%™¼’® ÆÈ.  ’³K2ñІ $+I° 7ójòºnäu®Éƒ| ªñÖ0Ãcô}x#À Ú-ªò/Ù»Ù!þ®¿¿°‹¤Šû±;Т@ÄŸ)3Üd)¡d´¬äUÞnÑUÈ¿JŒ¦Ü܆qB£,‹0¯Áñ ¬iúý÷ðÏØÊ´pwZ,~ hT¥ê Lr…ÁPI²vÁiÐ(_£{ƒàa›ñ¥…RÃ57¯nbëyù8PRDüÔ˜Ó8'K&ÇËb ä²:÷?0cJjso€ÂÝÝÏgjª>.,_þÆ›aWØ}Oÿš:´Ž*U&%j@øô°FxH¯sé¨n›éïûó‚1;ÕWV¼5Þb 53H ܲÆ9{wë›™ÛX8~¼d¿s ±ß–¤’ަcQêÆÓñíL:c—^ vq<H`ãq¦\*2| é¯âÜKpy,-i]R¹gý~¼ÍÅÑ à Ú(l^tˆ;€­ÅüµLåÍ"IÊ£ƒÚüøqé›0‘ïh.®¬=÷9_aÎ¥•‘óA·9÷yPa°C Âd fþcK‚åT WPÞ6cçl×Tl9Ïpãª!*csÅ¢' ‡¹¬’EÈæ¥á~ âO·Ìü—š½#ß1£xå8 öì–¹ ŽÊÈõ êV¿¹ñB¹Ìdsé<õ<ýQ¨”«m´ ®“¥CBëÄ^q,z$Ž‘Q‰{Ø2&¡8q }T6Y=U?W¶B¾ÜpÔv†ž’RŸÕÛíN&šZ­µTôx³3””%U.uK¡2r(¨ÃT7qhKGHl  Æ•8³8»HQ Aþ!ˆ8ƒ©qVf|¼ •GæMNõÇâ³2 ~o²\Ö{̧k'WLl5úÓuŸMyzßæiÓ6o~rZ‡"ú)a¤ù¶»Â‘3ápøÝí+^'/…Ÿ¿vŒ$£5‡¯ÅdPòF¥A·Ô³Ç°ét ]©`ÛQ‚L¤‚R$JŽ©¤±›øŒ€pû`׈A­>[¬R†HÜbP¤b‚z?É#³!*E%€4·¨Í犕ËgE×(“É¡¤fѪÝ-?íõü×éÙã-¦¹^kwl _®·Çç„ï‚›‰ÍdoˆeoÈ(Ž:äí5…š^º1š¡º©¦©qóML—í—¯Û5Õ¯ÇÑDƒÃdpdoE®ƒXT¹´;U…LvÌa7;v…ÃŽ2§°;­ÓPI7ìêj$ÆJbÛ£ušEpVÒ7‚zB5ªRë§8¾žä :Ü` M‚ãž|:Ž£Ó)£ûi ¸È’ÑEé¼àB*mùWkŠ.kÊ\]ƒ€6ª¯P»ÊM ˆMðY<þäHãÆ²qy%EƵG•Fã-“3yuµú^^umÓÊÇŸz‘ì‹û×??½ùÀ«ï¬àܾ½eÞCO¾<|̳/–Ç8ýÃö~[l˜7¨!r²Oä[œ À§Á:¢6^[ £eƾÆÉ‰Bø‡ £ÍCã'i§˜çhËÍó7jU¢[à_nSó439ñj5„3(ˆ½AøW´¤ÑnÆÂlûéH #ƒ)§CdκZSé@÷87u—ÉKý’ø ø ~ê_ZßVIšT$|JöóÿŽ’£þKêU’gvÖêØFÜ(Š*E ò/7Ígd”(EÈ9$R‚Æ™k„Ä2yÎí`-÷8ûäüÞdŸÝ®ec¦ïXÿDV'³I]Z9gô¨…æÝž^{ìØ˜áCŸZ¾rêí™i[97ôÔ´uæÕô±'†<5k–{Ï‘C¾ØÀùæâCáß¿ÅÛQ: ¸Ï«@ 7‚Mý4#5«4›5G5b'¡“ö9&˜P¶@#ä¢J-ÈA£Ñj Ì,LÐÕhq—zƒ¾ tPÖUürj4pLÅ*éð×EQLre«*INP+&{³åežFò¥zÊ5N«5g5P7è]%Y(qî§"ä^ pEï[ƒ¤oèºÜÌ3ææJžÆÜ†‚§×ë‘wÒ׎´hM¹ÚÊÈgAuV®\?W`IIyüë@…ÈY,4k‚ê\MY·\MП«Iv ­Ÿ+}a¨ F$˘eñ#¡ËkfÑ—ž}ï½ÝáFdàFaou‡áu¨ËjÆ Ðp;ì_A]þ!˜ÔÑ>%©h!‹Ã„júºž‘O¹l¢ò½ÌéÐÆ¦–˜åÐ&É¡€Í`£¶¥nÓÒôdJq“ Ýž¿“G×Ýòø—DòMå0ÿ*Jd‘Û凉Š™ ’VK MJŠîL”Æ8Å# D‚Å,GKîïý¦eåÃOíÞ¾°ïÂ:›ÓÓ5¯wõô!¢˜¸èÆû5¤ÌP¾àðúU]óãé/Û“„oþóÈÓù®Ö¹iA}N‚4¨¦ŽI mäAK›„6îþ¦^î1ÂPùPÅhÓP÷DÅ$ÇlÅÇ)ÅgñF9*ôîT·×íášm¬ã j»i)ŠR"ùt ç*±Rt&ŠÉN³÷Û&è¾îñ•$Þ¡ïg0¨ai=g–“äUùÖÖqÖéVf­¤)»±Ýìj-§bª+©lzÑÕZ¶p•E÷IڽПB~˜¸}ó&ƒÑÃõ•˜ïàšPµËV¯ý˜>-{¦-ŒØ]óèdz¾ _ziþ•í_Öät]Üe†õOÝÂzêFgtÎhñó¹!Åá?>)¿ú$éH¦‘Íooz§úË¢-…•«WìØÁ÷”A¨µñ⫨³ãƒºÃZÂð*˜5’›û J˜R£-ʧÝU2ðµë¥Ê¡+HR!É827Ø]LJÐ,*Éë|ãjÃM¾Ûqï„Ûþ\cnÔÐsi@/J‚Lîml2å ö, _íØX¿Oxê·ùìÖö…˦pUåÙíäräE~V鉫œ€«l/dÀ…`N£xR7¾}|{ÿ·šï3Deyž ÓØDE‰z‚f’vªu”“…lŽb†z–fŽv‘õCã{q¦d\î ‡ÛΉÛÎI}·ŸË€³®[Nh Ö6 L§L¬ã4i¥•DYIG R}ЀG½AOõ•äé½™¶Òú§˜_‘Rj¹íÕX‚jYÚð¶WƒÖ›³å/3nÊ-J¿³F1qˆŠÄ„t3ýþFٱݮÖ\¦Ä™ï†;EƒŒÿð·ý0fìÜEá›§O‡o>=xΘ‘³ç1¯iû¥=glÚþÔôW…ĺ+F¯=saíðçëÖ;<ï@9´ämÒk䬙‡ÌUé¼´ë+eOmÙó$# Þ f7µwŠzŒïë.<?Ö>Â;Õþ„s¡}sUüfûûñߺoºãšÇ¯Žß/4­;TFS¹ùò"om·Ì]ÇÙU7Û*ê”H>íU³ÝÜB¹ö“\P£–ï±Nõ¸îíæªg¼ÍZcÐHKGîÝ ¯ÞiŒjU ЏÏ.Ùž´Qv*W.¤€¼Åw"ýDâ EbíøíñÓõ|¢[cÒø±{«‰ü½%WŸúËúmgè'>V±yÚëHOÃÔG:Mÿb¼ÆÖg Q|qV…¿ÁÓÚwá]¯²_Ø{øÅ…\Ã(ìC5›ÃüÒY»IÐÍDÉ•T–Ç„<"cxVH‡| Ü‡\§ˆfJ¸¶ G/ FôLÌĈ}xl ¯~&u¬)“Im· ¦Š2ÂäJð Ä'P¹1™x =A)=(‚]I}ûKžhô8ƒ=ñÓRžÔW.*'CO#¾“yXÓê&ÂûÂC›j^àÿh4R â/q‡¤2 ##•ņyÂRÃQñ=Ù!ÃuƒZ!’>´›a¤:døMó›ö7’i˜–éµJ)2†.”B&—k0¬iäxrË5fL ‚àf3–P:EQá” ²J:>¨…æû ÿ)ú~¢FqUM7 “ =º±ì–2Â* ª»iÉ/h„¥¢áqƒ^~BN§ËËäTþ¬þÔçQæ& ðφ“¶'Pdlùyö«ù—òøò*?@áÆ5·-óJ9[æÖ>£I‡ŽmŸZ>KÆ>äoÝ¿i¯e ÃÛÅý…û†=ôJVê²;‹ =ŒñÃ;·W·j­\ÓdLÛSò=ixä;q2ž‰“ 2X<„ŽNBíÈÔñ01© f%-…UâVa£vŸ°[{Dû1\Jú-ɨ3%“’„4YcšÃíj§ícîké“0R“ô¸ii•°R·Ê±‰l ›Œ'uq`»Ál°3~Ø®¨“K¸eI­“kÐa‰qNèdJƒ_ßünBˆÝeõ»D‘à2 º»uæ[[QçÚmÝ(±,(â‡U2XeÌ›œ‚Ü1¥de2«ÜÏí µ˜MܰÝï4¿{ùjøóvÖïœ#õšÌzçÙÍß û휗¿¦´áµª·É#Ÿ\&½w^ü þÚgÖ‡¯=ýFøûò¨ó«Qû£Œè‘?³‚~·‹´VDÞhpêAŽÊîJ2ÄÖÝù׺G´Å½aFë)ÁÆB¢\!Sˆ ¦`²›ÝFej•F¥U 2K¼9>.^% V1éðfS8<$^eô@ €sMÃÏ " ‰5ÞŠr3Eñy2c6ôi<«ÉŸ[û?Y8±´ËÔ§Ïï$¹OolXÐùù‡»l(î·$u>qøÕpxó Ìí|ÿÊ·¤9¹¬G]à߯WÃA‹Lt*r9ŒOT¥tªA!çkæ0˜²å½„n•[KUv-SÆf­iö`t¡øQ[Zª—÷ |à ¼ÅÃz–R½ZTŸf‰û·‡ó·…µÛùHÐô±Ù8%t ¦I#Y"'·ƒyOwjJíêÛ½«š ¸§÷KQˆïK÷ö¼Iø²ú2 Õtã½6Ý^3[Ø€«œ,Í~$?— pÆY²™àTªÖª>VQ•H©ZËæ–ËeEeZ¢¥êhל),‹pk‰]Úbíx-kVh •àqHƒ¢›yÒy.ˆ$ $€G£áÅû†wè­wÞ©‘‰ûk^¡ýoµ¥»j:cã‘3pT<·‡Ïœò绚4—ž{ìÊÊŽÒúQZ§n”z}QšäŒR›=úœ$]kÈv‹KÅ"Ú}Ü–ÀZKÇG7¸×A4¹1q)v·ž*”„Ï`e¸–LÈ«)ªýµ?Üq–f¾Ãí*Ž5'ò0H²¥ƒ†at„l"$›§g”))zö ‡9õJ¥_¥RøÕEî8⎠Æu‹+ŽcqÄM{¥¯ŠJnò}µüj~ìÑ'×áÆ°3ÉO÷7Û!?¤ýè:ï¾ýÔÛÇÉZÛ¦i­KŸ~­N¨<6ú<— ´ëb¾šdv°¡œ“«P6MU5’5VµSõæŸ òɪÓÂi•PG\ÈÊÅ-ì…¨b¤;Ũ’»¦J“'[pó¬]š\OÝ…qEŒ2N“$zh—)ž§Ÿ6OÀž|¾æ eBBs<](UJ…Js‹*3©•  n½2• DÊ•« P TMÏÝMƒú ‘¬Câ!ñ¢ÈÄ ž¦Î7nª!¹ ¯¤s‚jµ;¦r›¤=°’«Ü‹1äòò¸˜ååq ìóÝ•?íAj“Nßr…!O‘‡»© wÓDÜM÷‹|ѤP2¦µ? •É8“z ¹Œ#91åçüÞx ÆçÊøDÕ¦\E²9—͹|â{|´äÞñsžBþ³ R2¡JPh¸ Á?¹qù;ô "¯YIŸŠ@ÍÍë(ñuéç5¯U¯ ßþf±ÕciÒŒ¬ †PÔBnîsÐWƒ:9bJ/»ÃÐ~[µ5Q¡ôX°—OP0ÛŽñ0#º${òÃN“škB#TX÷~ä \ • ‚BÉ(UÊLpËdb‘[MÜênêbõxu™ZT+ÐÐHª®Áš1‹U€¤ß%7n+¸‰0Ѓa sŸàž çènE°m.ŠÒ¡½msÁÌh03WŽlæ;âÞ fFƒ<Õ}(­öæÊufDߨ‡Á¤h0 ƒü×ÎÛ|­ ôƒ¬BdáÆ…_<"ÐýGªÃâþªlú­¶¬¬ª ÷µ!¸ë)~:H„éÁb»ž˜ fs¢51‘13«­êD¶ÙºW÷žN°Zm‰Ô4vëj Úû‰ý”} ½ãú[ÚúØû&.°®¤†§ ˜œj¥ÅïFsm/K"Iz?çU‚ãÎM¼ˆïâw>jÆ-<ΞLÆ74iÏ1àYŒÙ7qBæ‘Æ¶[w‡÷<Þ¿é}’ôùY’8åû§? N‘±ä¥wÂÏ]¯Ýó>éÿVøð ’Mwõ³áËÝÁY ®¿lÐ7Øh˜qŒ™v4t4?hxÐÌÔ§^§«-º·˜ü »ÛNðÏnÓÆä,áNG®¤èfç«·÷–¨)ynV':Ôã1bøö~Lë>Óùág  Ï#X]Ô©á¬ð|q¿Î4lïØ7Â55Û²pú€™-Ž´_d±ø3®‰êSð™þ5~š`˱Pµƒ¹˜7Ñav™½²4±¾5ào&æY›ú;‰¬íýEboo?ÿ8ñqaª¸PX(.ƒUÂØ*œ„“ñ—á²õ²Íî&6Y‘øŒm¹ÿ¤ŸùâÓüÙñ¹þö¶öŽW·£¿¢Ÿ±·¥¿£RW_wßäQâpËÿãþÅŽÅþ³¶sþpLÆcŠôò úî@¼ý²+ö‰>§U)‚ú\½¡©ÑÔ”[R"=àÕ¡³'äÑÌ™º #×€Û†!Ù…¸m· ï8ö cçPÔ¯¤GÒÃÏ:Z~øÃ©Ç>í\§w§Èwz?Ò·¾§ãWdÝìå]ž9œ!îïúþ”O%ùRºL —†³6QËk& Y9SÚ”Þ5 ˆ|Ç~Ä3N„ƒ/†°Ra"c¾ÔFB®£µÐ^Þ)©ÀÕ&¥mjO¡P> ©oùqº:Z MR}õÙÞ6¾‚ôþî>ÞÞ¾‡Õ£µctÃÍÃlSÔSµSõO&¥”úæåêùÚrý"Ãì”™¾g´ËõË-N_ŠN«=xZHTÈeL 2âKIÆ4tjë/As5ꈛt#Ådbx]æ&4?ë#d‰:ܘ«Ø»2j‘¹èj.}kÞFç×~=¢÷ói\8‰•‡Eíöí·~ãR ŸÌ5˜, ¶© ~c]“ß– ¹¦Æ¶öÐÎØÞÔÎÖúû™úÚ ++ôT`¢HerôýUjF©ÕéõsœÉÄÿ¿® íaÞ.lnN5&#§Áþôл£è2˜ ›¨P8-6³Åb3i”J§Å„A“Q£×» F³Á`4)5 ›EÔ  ¢E# 6ƒ]e…‚¢ÛL&£v«Õnh©$ÝÁ ¼[AI÷½n~`NH¨$ vƴٞйÆn«©±'ÔØº kóím6Ä.®ÐüIK-Ð_é,ù+ü9Ì¿Ôѹ:ÃáÃxË;\ºó†þ¤ýI#ú“&•­2r“?•éòabšädÿ÷H}ˆ£Ã”]š l"ùŠ<$+x’¸,â%ü!!«Ã¹bo¢"Ö>éêuÔÿöÝð#o„?H•[Íá£âþêüç—ý˜"œ¯±‡úmÁná5toŠº‡µ«z™¯÷‚ð(j“d¬IÐÅ„¡Q¹I T.{‰>I¤¶)^Y»ÃßÈ“$éö™=I¯1˲€,:}:9lS¾ÐŸ»èÓ.ñ4B﬑‡ì—ž>M…G-“¥.ÃvÓ aZ* ’Ø´˜sýl?­‹„**YÚ‰aA+óä™ 7Û&ìœð0=GFÉH&xÈA2lÀÍ7o\2ššç¦Û ü[ éWñœÀ_”qѧf×ö‘AO“!{þÀ®=Õhoœ_ä«ð(Tžñ0hG/<ŸCXë–w<Îl˜! ¢¹Øæð¨§žâžV‡Èæ`- ä¤àb¥V™– µ§ÕÕ¦¥åj›¦µO+Ò¥ÖŽJ+Î(×Ω»*þûf­å•„-uö&¼Qçp‰:ŸX¾¬£hO\V—-P/-;—åÖkϨ×GQ®˜¬™«9ªùSûgÀ˜“­#Ìž’mÍô˜m뎫Kë:Òuùº%º5ºˆN\£Û¡»¦t:‡`­¤[‚ñ¶ef‡C©ªL‡ ®;È0|ž”Jú`Ð䯉Ýþ ÿ¿èo˜ËÝ}—Ó›‘{(—®Í%¹VŸ-9=å ì„Œºdù2*kØ„?çËJ7‹®â:_¾Ìð¥ÚWƘ[‚T2µßå!%x(òI'Yn{s¤«Qvjô%] *ãx‹Åoõú™\G£Ïɱ7tßèÚ•>ÐhÌ™$«`Þô)I!Û#ÏŸ·¥›AiM>à°>¹–„ÈuÂ\$Ÿt%Ip¶Ë‰½›×ÙPsƒï€%1·2_zÈ*q³¡ÄƒêlÄ-½ux“SÜñþz©SÿÕÝvÞQ ÿúæ14»÷Ó“·mœ4yžS_ÒuɱÒðµð©—Èòƒ½ÿàã÷Ž£Æv‹\®¢ÔÛáx°RC\ŽÖq­­=ãzZ‹ãŠ­/ЄUÚ † vB› MG £ÅIšñÚ2í+š=ʽª=M¼fŽæ*è’êÇé§ë=áÂÚ>Cz2S ãa)¬…‹p°z½7N“C-·9˜Ú¡'ú]r"Ž"Epánƒ{A{‡%儜¸äùr*o˜˜}X²m%ü•̈́ؿÏÛ‡ Žùê„W'Ä^¥sÓ è:]ªuˆ5úZ4[úÐmÿ€3KÈÛ™tíµ3á?&|?û9׎„éýçmÙ0kôb2Ûúú ’DTÛ±c]☇ßýôÔ;O¡dµE.]ˆ=k?ܪ¢LëÓfkÛhÅFæF޾´—ª‡¹§c*S1;¹>OÆ}™p9î²ùšõDŽ˒Å»\;»Žv.ƒò4EÛ ¾)m¤íH ´mÍí}U}´#´—eßÅß"7tbtjƒ%K-7Š– ¶eðõ>ƒác#1ƒÆbc™‘'šRÊOÈ/È#rÆy×U.ÈœÙÝb‚Õ™?f‘¾ë–w‰³,ã/ÑâJíiÄ•µ:Ê0þÐãΗ‡M†ž~rÒèÏf/OßUãÞ6iòÆM?¶nÎê…U/¯!By÷–Tw«-5}xìí÷Î|xyֵщ’eAžuÃB{ Eb‘²·z˜0F§¦VÀ@ 4ÕtZ¼e¾i—745MhèhiêloéènÐÃ1È4Ö>Èñ˜ì1ËMzÓf€x¢×Z­Ýâ‹ãÇÇ ñýRÃZ5X¢C%.xJ²,…ËÔr¨LMËi‰Öîâº|þlNƒIÜ2ºˆ+>Ë"¦¤eßÁ²˜.:×\Â3nA%éÈ_{Q˜WS’{×==“’ µÂ=ú›åé©ñHoêeÂCûëý¼ïûð5b>w’èHõUÅì! kÎÐîš&}æOÛLúX_ÞM\h 4¤Nø|øOƒ{Çþ‘dÙœÖ#_á»unOe¸«ZaWÐiV}BzBFB0a| šµ›µ »¶Ž6”p(%ðÙÕ±»²“ZA£w¨ˆ…ÌqLj™˜#qAfõ1è3Dz&´«a“léÙÊáÊ^Š}½lK8@öƒn•´ãa =Õ<é½ßÕ"î¦æIßËÊå_Fk=%h6eJ¹L[Št`”éI€ÒfÌ ¬ ÜSÈj”Ã=uÔC®†þ½—Š5kâì3'wØ$³G›'„U KÆd·íkzIÕ¶xðÂêá(C­ÂÝ…P†ø;åëÁbµZ4×SûÌÔf™2)!©žÚo®çÍU76wP·5÷‘÷STßRýnÑ5ðÖKmám‘Ú)ui½µõä=ëæ×k«në)¨ÛËÓ«î(ùϺÅõÊêI½âùÙ{-Õh—Y*éÎÝuqrÉ‚ÜèæsûU‡àcàÒõD°¥èpèUÉ*Þ’åËRùl¶­Ä` Z‹­eVf¨'>Hv¥ÔŸÐ_ÐGôÌ¥Ï×wE«˜¨7ÑÃ2ÐERÈü°SÂ7ù·b.ÅÞE_Š~õ·­˜•¿(‘öÎÔèKh®™ÖFµO’ï|·?|‡:³õÄ'æÙtdrèìõÿÕÚ—€Gq\ Wu÷ô5=3=‡æÐÙè @HÈÖ`.cŒ„`Èö0IsH3# lãøÀŽ›Í²Éolk'\â²ã˜øÚÄǯqÛŸcü'¶6l–eãIûªºg4’ìî~]]õªÞQ¯Þ«ªî‰½ýÝüxèƒÝ?þb×ã·lyò7ozruîue3ºÖ4ì»7¸ãûwnýó†?¾µéivÊÛÇ_xã¥W_éoCˆ%ë(.´ÿr“ÍR9žú2n&»€}ÖÂÑ]m¥_½G´+vkÂÈ–o\fY)“üu³êÇ%|\ÂR«›h”§~Vý>÷Y7ÓçÞíÞçwsnÆUf,:@æ³dG«œ=…8Ôš³h™×ØîHç$«Îé»:›õ1xüTݬ¼U(³òJ¶ˆ hˆLÞŽª:õ% }Ëš½ÄN¹ÂçØ·Üz|ð‡KF6.ûF3 ƒØÑ¹ç»£72lÛÜþÀ-£ÏŽÝ]¬™®Sèg›´]Ú-퓎KIg%IERŸ´UzØH:%Kr‘c•À1¬Ä³·bÄ›xNæ…2¢Ÿ±ÞÇçNqüqî,Ç NãNÀǵŠi ÍtY³±‰ÝØÐÑ™è§ ÷@Å=###ÜoßzëBW~á}²–þèØu¸‰¶Ñvù—‚ïošÃÕ™î6™<¢É$pÙœ[Ì ëR8»É,v™y!ßnÛýâ/E±”Éòv3.2·˜Û̬Ùçtý`Ò¢´BÏ£¹U%W?jYJ§´Æ”–fÕÕmSE}!Ð*ª¶rQ•ó°dò.²Õ¹.ë{ÉzÙ§u÷ÈXoñ¬¢†Y#usZÌ}þöÛ_nÞe]¼ƒ[wa÷ËK»ˆuþ³¤ëoøs~¿Fbm–7çÙ•ìÌ8xÍI—.ÎtTÔKp«ÃD&ÑÿÂsœ‰ã¤EÀ~ª¼Zbä÷ÙOxáq—ðåB™ØÈÏ–Z,m–®ƒ_-tH·pæ]Ò«ü¿p?çOóŸ ÿÉ)æ8dÙIJC–@$n –-Ó>XŽ+ÓCd<'b/ùíÑlF2G>ßh*áâ/Ѩÿ’»†sbÊÀïC‡´¾ùËÇ“uOðN‚ô§gAŒ`†gO#YáÒ+ d)D ˆÍ,=ëý²T]Ð(‰Ídqã@Yã8y@£—ý“Œí†d%÷#ã‹iüøñ“è4þ7¹üê€JWFàBïzÙo6æ¸:°±²âøÃ¢Ë µ¹\Íô¥Îð’¿۟§gÇÔY¥Ë&u¢aÿãçcð ¿{ä6|„÷ Žv1E7‘õw€4Pí¾ÿ2Á Ô0[_ü«Ÿ©_§MׯÅúâ ¿ ¬’ÍTdzØô‘‰kƒÓY[dê3m5›8ò{ «‚‰œ\Fø8¸¡L–Õá2}²ªJï•Ôø&(%„‚;FŒB°Œ|9ŒD%èÕcHÿ¥®Ù–ñ4wZúØó©fz×t^c<¢V"yó4‰eK óùœ|3tAÌ—äúTùD&¿í”A_´–m§›¥;y˶çá<€ü>ÄÔ•”á™)BD[Xä+-;Š7œè¨#Œž& gç:Géü„tѬEW%»GŸ†6Ì¥âr–»{vXrÒæ’n!'›Oé䙇î£6“ÎÙÖó‘o|¨èÖ×þß?,Yweß߬îºöö&®üÛ­7®_ýìÞãÌ÷"76}{ÏèCÌM›–}監ïãȯ[nô†ßiby'ó¤zTý„ýó,{ÞÉs¤ÏN«x§zÂ{Ê;îå4Ñeu¹0 `Þm‘-VÅZj¦£ŠÃs«— ’Œ*Þ³^¦Ï»Û»Ï{ÜËyY¦.Çm ,ŽKOzP9׬Gº0¬è³ÄÄeÆ7o—dQd–WËí¼5Ûd‡Á0²q:ÕéœYFˆ›Å°m|xÓ#ËTydÊÆ«“Opåí]зtÆ-£IæîXtîŽ7FÉ^ŒùàWO,ȇ~âït²OYÄ_-®â;Ä>,Šõj“£É=Ó»@]âXâ^à]gZ'-W;îåÞ¨)*u©QGÔÝåÂ9o²¬eW˜VÈk•2…äˆ"{ò9Á*ç*¥»œ¥eõÓŒUÐÀµþQ4H÷ç`k)òC¢h šžK_ý}ŠþªÎó¯Tè€t©ÝÔ.­7­—8èãNºß»O³}‘ù{î}åìÞüÛû>;sìÀ¶»¼kÛƉ+ûxôÍß~ b˯¿ñö+¯¿Uo s“€/ðòÞò_Q§ªW¨KT®EÛ§1EÚd¥¤`FÎŒ‚« ú´íšØäiÊ»ÆsM^‡¸VYçY—·Aܨ„Õ¨gcÞqíׇÞsß)<í:]xJ×Ü%\•Z•3“kRrרkÔOÍ¿-SÍv+D$Xçݬ#«¯ô„ŒUÙ/ß$o•99…uL£ ¡Ë†ëE®ãËÅëú:Pcv¸îLw2wŽ‹î¬°³Y¬Ú¶§iGï='6 |´y̓5öÇ7=ýD*¹,lzþë×]wÿøÎÇÆ.ÜwmÓèvÏ›/¿þîë¯ýøuõX˜=üRQ>ú±§™©b¦xç0K˜a…oÉiñ-ñm/Ü]hªwÖçµÎwÎσ`>/è æÝT¸µð$ÿ®ã×üçÊ^u2S¬Tå423•ÅÌBe fÞS>ð~âþÜ÷ë¼?36ÌY\¹wZy„SÈê±Ö!uÚ°jóÛn²mµq¶”ý2QgAáE~®îäžk¾”?¨Û }–áÙ^rVOyhåóc¿¿së+ýŽNzfSòñ½ƒ…qN+®ÁÂî±;àOóؼùæKÿtòçÿD¼‰»À]z¸cGwøçÔ:±Êᮞ›ÇµsÝ\Šã%»(‰’Åi—,ˆ±™ª’¥Êí"‹5'v2Åö¿è¥:½œñRO«çd§!ª1ý¢R¶ÍJ–ÎQg‚lwÒå¯Ç=ØŠ»½2ܲö†+¯ºjÎ ®B®ü‘þ«›ž¨XÔrSbô$iËøgì~hÿ4üž3Wì*n’®‘æ—®*o‘î,}Üùtõ‹¬Eòäz=Ó–TÿÜcÊcV2Œ:ËÞuâ:i¼Î¼NYgÙ n6ÈÌ” –‘ò‘ Y1)<«tÜaî*ïªL•¤J·–~Kþ®²£ò¡êoOÛ#?¥îÁžÖ\Ú퉋‘{6—éËÝ»/w<—Ë…ø6cÈ[‰št"ANjõeÂÖ3iï¢y”N±µ47¯/€JårªÕb³µ8²| NÉCÑ®OS¦ÜôĘ„«(§”gbóÛ²åÝkSÍ#f{ìºë˜3òÝ‘«£m3“̎уߘ¾èºöïa!XÄäÝ*ö3à…Œo82Bôb{£Lz³ÅÞ({U/’stü‹ƒpÅÆrüÒ/NªG•p‚»ÏüxÛÈ '¸{ߨ²¦ip²)“Q¥T.7¢™òÕh‘¼ ¯b:ÄÕR7îfÂbXÚ„†ð3,n’†ämxs7{¯pøué{h§ôMùô¨ü<:"ì—†^‘ßGïÊ¿CŸÈÐ9¹ZF&Ù‹Ür%*—ä6‘Éïp×›üà(Êd•I²K’dÄ2OÑÕIˆÃ¬/5ò‚,±›j¬‹~¿bvF:Šóù!,`Lù%ñãbóÿB7ëåúF;G;s½gNw[ç3Á—F^kˆ`ÍɆ°‰}të@zåÏ QÎÇ"?>]Vä­úݱ±W>zgO|Å s‰Þ1ùé ÓˆƒÙïWm.<…›,3ר×Ú°³v¢ŸRѤz5¿@ný?(*­çxEròy’ÏaâÇ›%³Ut¨Èɺ„|1Ï\Î[™0E¬²Ö£™B“8Ç:Ÿ]Äû…¥âó<Û"û5޵¶åŽB—ØãæoRâ1þYÛaÇð¤J³½UZ*¬•¶ G­k6jp ‰w‹;Ù‡”'ð“Ì“æÇ•Cè0ÿ¬õ§¿'}Æ}fûãÿ')ßÁÒådÁ$ɲhVYµÛ¡-9hBíèøb·l³j/ÙQìG•I€PY°ÊŠRf±º,«h·ÙªdÑÅɳ!EÄ`ÁÁ‰6»bµÈv™cE!;x‰X6²ÃIvW-˜lNÝja-Gñ~Yk“q\¾Mfä£ÌJ¿ÔfÇqûmvÆNî̪ ßDãAÿÄ!|Þy¾› ¾¥ç:;½`öá?Q€Nïå×— °ÓócyY°ªÍä 09–ì+j_=bÑùÑø)„á°ŽŸAÓlšãèø©Ìë;KöÕ·CH.ŽŸØ/7P aRû’}utC?µ_ÐôT‡ñÙ˜râ°M#¸Å£ã'ÓÆh6ó¬^Sy¦œ‡–³Ÿ:(kœFÞ›íH¿Æh?yØÑˆªtcÔ~g#. 0™3 JNuÜé¡kÛl‹—Œ=÷ìS-\ÝSÇžyÅá½c#Ï=5ù ôÿpÚþÝùú›L÷…÷™-‡þüùe°GÿÚ¯â¡#6¶ûôm˜‡}klÏý½¸ËúÛqÓqþ¸ðºM²ùݹ¬Sʱäª3q“ùvü€Y¬u\ÏuæÕÖ‡ðNy§ùsTù©ù5ëêûì»ÒÛ–ÔOe‡ƒçYA”$Ìó’‰ca´²Ñµ`›Í¢šÁf33«¨2ocl²ú*zUbÔ2$¹’XÆòª[ÊÖ¥(¬,AøÎðª´ÉmìXl¹U)–m^ºÕ/ƒ!9âç—ñ[é 'óüV½•)nBÛ·¼l¼ÂLm ˜õSõܺ½sBÅè[÷†u¯=6ÚlÛDª8ú.D›2³<#VoA£™n«,hTŠ=,äþÀ¤F•Nßç4ââI’??³‘µƒÆ¬dBìS‡Xª2ÃV`¾sl×ÇÕäW—üÅØ7ñ}¾ß4ö9S‰Ç¾\4íªº cÊè?ãk:Æ:‰õš4vû¯ ¿\¼í -ÛH+öä7VºVÙöʬßâ†j•ÓêUrÉá¶xæ ¥Â2K™e™iÝe7W:*W»;ÎŽœ°#ì ç óƒ–aûÍ®›sî²|Ý~¿ã~ç½®ò“æ©ÏÙŸu}!ÿÆõ–QõK×x~!˜E{–ßçr:˲ nl Œ2³ì2›e§Ã¡(fžÍ÷ÙP¾šÏÔæ¿ÏäeZÙœ~‡ßu”Yá7·8üæFÇ Æq_u؆‹Ñ‚<™±O«¤Fñûâ/°@´÷ˆšSÏ€’ÈÖÌ pÅ™&IfDY.à  &ï€1²M…—d©²ÊÌQlAÂÄ“ýÕH(¶ì¶bdõ[o²nµžµš¬)$ߊñ^„ÛP“©4›ššDºèÄÄ+ NOÓÕ-u”~äSðN?¥ £† Z_®Ò÷—÷w"c‹ù¡É¸\$ñŒÎ‘0 î^2¿~ïd>>r2o o9™„œÌ^a¯“yXxØÉ<(<èdnnu2Ä .&"F\Ìq‹QDÅŸœ¢àQlfÄÚ¾´²_2V ƒ•f j&ï_/ó×:ãÂmƒ+`çlW³Õ¢4ƒ+á÷äÖ[°0[lf0jfÙÌø¼äÃBúVRu”,ÉÑOPPµUgTú~‚j¼g ÿ‘¾Ã%úûûq¿ñw✲ÔÙàáyaRŒ]?Ѧ¬­n¨gñߥ!îå·¿wó²É =k¯Ÿ€€S‹ØÏ™VÓÏ(§>ð·RNϺ,bsJ8ådN'œÌqḓÙ'ìs2 :™Â'ó5ákN¦Oès2!1äbÚÅvƒS6ÅÌ"×ÓNÂÅ,³³°ø´@¦a` ƒš1¶ÚšàW…Ås%(a—e€aØf,«@d·Þ¯ñ¦f2óÕLYšrš¾CpFÿ Núz1³2|êï¾éëE.AÿâN]|ýOŠªÖVÏšÉþ2 p͹nò"÷í±Zös|åUÊ_þŽð‰Àì^˜?ˆø[â#"“¿&2+Å„"Á…”`l’Q†:JžOùÞpF ªF³?„Òb'rÏ&aËåZKÚxÝË•°Bòÿ¬·³g1c'ÇÆ<Éþ)q2fŽ$ßIè¿ °|ÝLù7fü¶6Á(ã+ ˜AVÓ¯ ˜E7˜Ž0—•Ç„¼¦5`YùBÐË|µ‹¨\ØbÀúºeËÜ‹´f›Ñzk+¨ÛºÝ€-üÖ€­hõ<ýuOòï6Ûr†`ÍöoÌ Á1×€YTë˜aÀ\VR‹ ˜‡üÐzG¯‹ÈéT XB Ü¥,3ÛÛlFÓÝaV àÿŽ[Ø5Ž× ØŠjÜä‹L˜c¡mŠû…M«3…y’îÉ£°@Ó+(,R¸Â’!#Öe¤ÃºŒtX—‘sYyté°.#Öe¤ÃºŒtX—‘ë2Òa]F:¬ËH‡ué°.#ËYôš)-‹(¬d¥[)í×SX%´xz(ìØá °++ÁcÀî¬t-»Ây´.gAVž¢,¸”æÿ6…§Pø1 O¥ð~‹Yí³êR²Ò•4-+Ð0êC!Ô(W =Ç ÔKá¥à$ÄàH¹44î“sÒÃ4‡)(_Ð|šøÿÄT›i™†ÚáI„þN½ž' i‹áª×75Âß44Õ€fÐÔ¹P"×åP¦Ú¢¥–¾$ 4ç.Ú†< ¡h¦% ¨Wƒ\£&=8¤A Rž`Œ¡jZ y 5 \HÑKF)FBA/´>J1†áIŠæî¥u®§Œ’” -›¢Ïc ¹’6ÅiÂ-}7iQ¶*Ik#OHþ.zÕÛ?@kÓh Ù­ Sü)x£÷Cw¯Q{Èȧ¸ôºÓéŠ;ep$w:g¾š/8C”+a¸ê¸ƒFÊå4‘Õ„–Ä©\”£Zž´”hGÔ(•®!H˵† JÉ3›\膜›ž:Á×°ÁݸAI˜æ wRMRÐÖ]^'Ò='™¡…<‹R|8PÏF£µƒÿAªÓš¡÷ižuѺ{hª^~ž„ ’<½®#q8÷À³AƒÛ:†‰¾ ²ÒµC£< ô‡©Ô"4Oígº6ÆhI’líg4Kƒç› ÉDikˆnêrK=9’iG”ÞMhoê+ö&ùú‚Fë)†Ê鮋t3„ú!=ÍÙúËli »©nkT6QÞ&©Þ¥¨4z2R'm×û;éKÕ™Þ”4´lÂéO£T"t3-¯·šà Ò§š¦×ÞE¹ÕG{Ép†Štݤü} œHu>¤s1E˧[œÆÞGu(Jmhºm5—ØÕ¦‹¤Fì]Õ"Ý&´Ê¨/mk‰­œ g âÜ¥T Úô~49 ×RÐ뉻R=Oý>J±oÌÈøkóu¹ô–0dØ· ;¥c] ㆖Ñò*§õ-…sÔÝM57Í1¢›IÊí^[ j…|+`ôXÇ< ˆÀmJÊ/„óµ4}¤´Ã™ôEÀÅ𷔦®U¦Ç ªµÉËè´–I×[¬K®ÏíD_¸”?ú˜$¨vôÒÜizÒ–?­OëéÓaÈ?©3˜±¡:ïhÙ Û2z±PöZ·aÃ6' ÛÑC±„2¶—ð¶Ã¨X‘AÃf¯ÏŒzz©¿Â™´n e¬`ÈèÙ¡LßIP;•2ìF·¡÷—ãWº·Ž…²°LX‹Këë2ô‹èòzjõV¯7$30_NB”ª‹9¥[þKµâÒšÓ6”XËõhPkÄàvÒ°U©îªû±,{>|‰,B†7“ÝsôQ"@[ÔG9KÆ­0ío[æš¡‹±,š®—ôþ.ÊépÖh•Èò¸ª3¹Yz;á#üuN‘ÖE)þ´^Å/Â7Då¿‘J3Ûš¤íðDÎ8äÕíÌå8Áß›¡GoW¶vG Ë­ó_ïU}†~LXø‹uè¯Q4¡‹)í—J.í㑱-dx‚:5º_¤R}E‰¯ð{3¡/N-—aW©6„²½¸¿-ý4>½O† _ãâ9ïR9êÜšðŒƒç¥ý8-±ÀWxÝý?jí—/­áb¿ââ… o9#deæBêTDÆÆÙ¨5Àx¨Áy:ÜM…x£ŽiˆÄœ+Ñ#ç4ú+©õð§Ã ¨Rjš ± 9ö^ê“ôA}µð7DÿjèØ~qRË÷—Æ ͧ½s(£ú(6¬-iÓrj¡õ1´Õð³â†Oú§>’&è“0•@;œ'Æ ¢U$²"~Âÿ¬Ýµ4ꪅsŠZ"«Z:öÜHµD÷'j29ÿok¢>€ž7ôRKúYíWô1ƒ{Åp_¨; iOi+zCÚÒx,ž‚$m^<ÑORáxLë‹k´ùTàodª%È´öxd€¤$µÅ1(7½±qÚT8Í¨ÑæF"ÚòpOo*©-%C‰ÁP×¼x,Š$‰a-€BîÖºBÉpO¬Z››"ZrÂð0O„´Þh N¦´`o ¦ @2&µTo ¦Á³a-Þ­…¡–¾D¨+ %“ñDR ĺ´àöjaU8¦¥b!m(œê…â!Hw‘ÒŽ (€Æ¤ÓRC¡X*‚ÜAÃ5eI|0”y©D(ŠÂ#R 8$&IeÉx74“6¡{ ¶ªÆ¡’p¬k ™¢¤&SÑP6'ˆp’¤–P"ŽÑ‰øF@€ö ¢mYW8Ð'χzÃ@ao(Ò‰k=áÁÍ@¥Ð"À-ÞÅÂAÈèë cÁT¢³;L˜¥…61ÑPdXÚ’ äÁ G({S†Þ$ú‚Pb}HH†ºtn†úHc‚„ÿZwHŒ@T*ŽõÒ!{*YMÄ”–Q=‚Ûh 'ps8¨C©`µÎ4(ÞNöEä R:Jöú i¥ š˜ ' b’½/Æ)¶š´®6é¤-õ D‰¦UPŽh팚Ù3´Ê¥á`"Nd4™æZº‚^žÔV$@öÑ@b#¡ø¯i>ÐÒJ}£:YW¶kË)­\[±Tkë E’¡¡^ÈVÓÚ¶bñÂÅóæ®XÜÖªµ-Ô®]­Ö†ã¤dh(´n ÖEµtŠê5èD´²z¡ÑÞ­Šõ@uâëI׃’©‹C¸5DT0Âé$BÁèF7ð~¢]DìñžÍBÕ"SÄ ¿~ ¨¡™qè…YU$Óåϰ"S˜h¨6ˆ ÖƒV’ UÙ¥k´•1ªçÃi*€&C8Ð%Z²/ w‡ƒ—R®cTCIÙ@WW˜È4'A W5INPÞR‹ð•FEÂÑ0!*¡ù†â‰I]±©ÓÄøèÌÀúH8ÙKê\:»£ ÜÐ~Uß°¦+¼Á¡‹+¢üXÜ=A±xý¡$­le0”ˆ$ŒvÓÌÉÞø@¤ tu0ÒMÜ%ä“| ÉX® ³˜¡šEq05!cBXÀhu÷åÑÒ&g ¶Â@õRM$ÃÊö¹ÚT­rv}Ãd­aúì©Óê§M“¤•K qÚôéõõpn¨kÐfÍlœÙh‘{S©¾¦ÚÚ¡¡¡šhZðÁx4»O„´ù‰ÀátAh`Z_=´lV |5餉p0ÐÚ´o$aÄš=ã/à®íME#µÑT, ÕF“7ˆ¨!‰ÿÍC¡¤†þvrWkð‘æg(NÃ`â€Ä¨£ ! ¶À`¾î?§®@úy;u‰KDœ–.ö;ì~öyö8Ž±Ï²Ïdá PÇ }ÿ1ꍮÐEØ(>®›Î-áqWÀ¹rhˆØe¸#½x~„EÔÅ#“0 êžý«¯œqendstream endobj 37 0 obj << /Filter /FlateDecode /Length 333 >> stream xœ]’ÏŽƒ Æï<Çî¡”Ö61&Õ¶‰‡ý“u÷,Œ]“ Úƒo¿ÀØ6Y%¿a¾!*«c¥»‰Fv5L´í´²07+^àÚiÂcª:9-þ²o ‰\r=ô•n’e”FŸnuœìLW5\à…DïVíô•®¾ËÚq}3æzÐe$Ï©‚ÖôÚ˜·¦…´u¥Üz7Ík—óÜñ5 q`Žjä `4Ûè+Œ¹‘ÓììFN@«ë)f]ZùÓØ°;q»‹YNpò”%‡@›é„TÚò@é)P±u3¾÷Ä÷ÂÓ¦DK­Ý½òS(ÏŽ¨«°s ¾K”%öaƒ1AìP$ÊJR ¢:®DŒМw¢h'øÀÛ(Ú)(Ùߦïú£Uòf­ëRx¡=¾1†Çë1ƒñYþûQ`ªaendstream endobj 38 0 obj << /Filter /FlateDecode /Length1 16780 /Length 6207 >> stream xœíZ t\Õyþß½3’,Œlœ ,ƒ®< )¸>ByôʇdUÓfˆÖ»ä&æ"ä Öoƒ¶™ÚXUóh˜ó§Àÿ4MÑž£j@9ϧ(/§¨¢&¶.ÓÔÄ‹hº«냔Ï-Zç×Rjá—SÿîgÓyü ÜŸ¡ɯdn£jötÝF°©Ú}µ°s`ºäÝ Ùå3`ÿ :Ÿσ€$|Ý}!ü}|vÑEÊç—áC;¹Ýû¡ï·€hUÎQu¯Î­§êüùT“‡ç|ÀJ:WÒÓ³ˆ¦¹¸m•÷¼Pfm’¶üë´ øy’'[~¨Š&uJJö):OÒ\oØkŽ>ÅŸûˆs«:öc²!}fÝ…õw©ºg¤g «/wc$¬Tç\µûŸFƒìi °³ v–Nwäí–à¤Ë$¸£ òj1K°åºÖw•Ò+gˆÆùìø˜ñ)Ëþd¼Öä}ƒŠó“ÈÍÈÙXúQÎÝÜÇ>Ö¹;Š6êÜ} çîÀ'Þlµ}^âvÝØÍés9¹=pЮ÷{x_<ŠsóȯñÚ¸Á¾§Ï„ôÞŸÞçíýÜK83S³]%Ôàz;•r½Mwº·PàN‰»®Ãóû™M¦ïðGi©¢Ï ;sæ*^µ®ädä¶@n¾ƒçç§bÜó\G^ö=úä×@ßjÜ@ÿi~öm ©'±®pغFÒÓëŠ?¡äW@Nàù*àÓa3÷ÉÌfx#paWdËé{ˆq%/£/ã¾Fû1­ÊÕé ×ïh Þ Ûr;ÇõäÕZiƒèWÀ—Ðõì0ú¡€*”½i'bZ-õ˘X!Ý}&`!l­ƒ/›Fÿ€çìaÚàŽÀþ ÍÇÚ-ÈùSn¢ÿ4žJ‘º]Q:§„“›køû©ÛJ½ ]¸‚½©tß’3ŸâT‚ï»f㱬£ªU W›—²É©ßRàÑÒ5œÖ¨µ,pê(û⧆ã g5f×5 ¨ç;¨e÷ÇÏd×ò$pU6Èš:=3oÕöº^Ó°Wž{çš¼ÄÖO/ñ£ôËœÕtð"fï^í1 ñ­ôà}üF¸ûÍØ"º‘7Ðî÷âùn×S´ ëºî Ç¢€€g/¾x@òKYèý±›ir¶ú#¹‡éy~€,© ÷\wÑk8’¸¯æ§iŸÁýÇà½=wY’ž[œJftÁ´9²ÏeO²O“_k8чº/ÉÑi•«V²V:ˆßG~÷c€(5åÔÐc9?à 1kŸ ãßާjpι\sЗ`?uötœËU’&š9¿ê¦á·-0m: ‡2?õ4Æ$ÏèüÕGÿ_>ŸÐS{×vü>t“ ÏÓ^zRÚ¹Z³¦kÛµÚö#ö2;ÈŸ˜´y’áá§È3׳ijÂSëið¬÷lõ´y|ž°çó¢P‰ibº8[̳Å"Q%jE\Ü/.›9sêÌ3gý4…ßò°±—¾I/ÂÂf­®†…:6Mò{4Û3Ù3Õ3ß³Ìs§Þ³Æ³ÅÓêi÷tz¶‹X8]‹B( +&´@Ø¥݆¶P$œz.UxìŸ}{ðÜÁEƒ•ƒƒ ñKcpÎàìÁÒÁŸ›zô߈~3õ7 í´üæÌWã¸æ¼úâ«¡WÞyå–W–ºíàèˆvíl蜸\ âêÀDì¶iì2um·¯š¿Ý%˜¨Œü ^ÌÏd|:/á3øYül^Ê/ã3¹—ŸÃgñÙ|ŸËçñù|/ç y¯ä‹ø¹|1_—òe¬‹˜É.gW° ëf!fv%‹²‹³ëa½l;ÛÁúØ_°«ØÕl'û<ëççñÏðå|¯b×°kÙuì ìzvû"ÛÅndì&v3»…ÝʾÄv³/³=ì/Ùmìvv»“Ýž¾ʾÆÏç+ùüBv7ü¯go²Ãì-ö6ûoö{ö{—ý ²#ì({½Ïޱãlˆ%Ù0;ÁRœ¸ÆçÜÅÝ<‡çò<>‰×ò|^À=¼Oæ§ñ">…ÝÇeßb»Ÿ}—ý5oà먓º(@&]NWPzp¢4³ ±Ÿìö û{ˆ=Ìö²o²{Ø#ìoØ>¢êªMM7¬_·vMcÃÅõuµ5«WU_tá+ϯZ±ü3ç-«¬XX>wö¬s¼3K‹§M):­° R^nŽÛÅ™FåuÞúvaÍn·\³½ å³WAÏ"´[¤úÑ<–hWlb4g58;ÇpVÛœÕN­H¬¤• ËEWXÏÖzÅ~mÛ¦Và·ÔzÛ„õ–Â×+Ü5[=⡬ ¢®8P+,­]ÔYõ=ºöZèÛW_ã­1ò–Ó¾ü À¬¹ÞÈ>mî…šBØÜºª}Œò ¥Y‹ÏªÓýVÓ¦ÖºÚ’²²6E£¥ËÊ©±r•.aJŸé&±¯üÀÀÍû‹¨£}Çïõë—¶Z\‡Ð¯ø¢5e5Ï[kÍëûm1B6¬romµÀ ek7g h–{V‘W !8ï}ëðhŠîPrf!‰Ê3iÂz'ø_Y™ôå¦ýÕÔ«S«ý,¨£äQª®\Ðf±v¹r ½ò©-r¥?½’o÷–ÉRÕµ;ÿzÅV‡XXŽì«³ðëÂâ³Û;|y×om­·–V«ºHµîÄZ·oQ%øõvaÊ4ljµ*½kšwµÍ‚50›[•ˆ#fM«±¨ÝçHY•uµÒ/Q7Ð^k;(uy7µ~Ÿ–¤í[*J¾»„–R›ôÃút Š2»n Õßi•¶—øÑŸ¢µ¤ÌªnCúÚ¼­F›¬’·ÈšwæÊ”E%…ØÆp§™eä¹³òD++ám²Z ˆz\¼«Wb¡åR²¢«WŠV­„Òl°âpHl”<ðY5 r‰KÑš†’²¶2ûó.•8>¹gYyYºŠ@ÈødÛ9©k6·thž¨3j³¥Ôí8èh›ØO&sá†Dž,gCz‰ÏÂ䂯 F‘d‹…EM¢ÕkxÛ¼è¡ê¦V›ÌµªïÚfïÚMÛZUµ.iõd¯/Ϭ9Xú+ò¼k›$×Y"1Ðhš¯c¶|êR›Z}j` Þ+êÚôý©þ¯(òì[»v R×.lEÂ÷§¿©Äª¿¹Í*jhUR¿·Ñ?àmn]‰4Èô:6É5­ô4—(-t—æºÊJ¯ œQzõUe¥f ¬tïNmïUÚÞ€–ãž]êvÍ.ÌN/嬬´’i‘pY©§hX«,ЦдÒÞž²Ò3Š—”Vn×*§k•gj•=Ze±&Ɇ¿¬T#0û埰…­~ôŒ)Ú.aÍÜ4àÝnUoÞ¾/_ìÂî´eû>¦­¶øŒ²2Íšº–Ö¶¬¶N×po^m±šVZk­Ü¼ÖšÔtIë>M»µ­dí~mw6»Â®ýµX®]ûnSk¶]Òº_;S.^_ò}Ò4²Ö¶_K›Õt–å_ÛÜjõŸÕf-–Èî³Ú([°`AL~Ô°À&,°?Ä_çïâ·ëa¼'í¥§é~º °]Q®MY \?tï<1@cýäÇ {ˆ/=ñ*5i‡>Ù àŸêãnp7Áë—ð¶w}^G ¥åFú×ÜWq%þKþæ‰ù]ŸÇýôuºŸ½ìˆ¯>§àœ‚Sp NÁ)8§àœ‚Sð˜üÿn¼Ÿ¿Nœrizu›OrQ®F.,]ôìEÏj•ÏýúÙs-™R6eVÙ”²~NÃýŒNàçm²¸_ýÍh†¶5ó˜ÅD™ÿ—‹'gÀW88§™Tíà®,7R‡ƒçdÑóèSvðI´¿0m<Ÿî¤}^@¥Zƒƒ{¨Vërðœӵ‡|2-Ê}RþÕÈ5 OþÜ·\£Éy›œowpNµy!weñ¸izÞ£ž“EÏ£ùy?uðI´-糖çk“š¼€.ÌßéàÚ•ÿ„ƒzfÔ:ødj?ãòÄâE‹–‹õ¦/Ž…;ã¢&„£zÜ ‡*Ī`PDÍ®@<&¢F̈öþŠ‹õD\ï67]‰ ]…ã;"†hìÖ»ÌP—X(ápl5¢1(Ë*V,ÒDZ7†|›õ®@"¤ÇbM80ÅÜÉQkF _<W.6v_¡GEsÀù´v3&ôØ1BŠ»3Šãñ”‡ü¦OÄ|Q3_Øb]‰ Ñ—2zÌ𠸳%dúÂ~£\ø ©›¡˜h‰& ¥+œˆÍ! øE@‡a„„߈™]!K+‰˜!° ‹-ÊtE TUVöööVt;1švˆ¾pwå‡,7EÃþ„/kFŠMŸ«”~ÔÚ£Íp¯noØØÒXßX³ª¥qã±±^¬k¬©ÛÐ\'V]¼¹®n}݆‘Ÿß@ŒR{§î3d¼2‘h8bDã;D¸SLX¨‰"˰:vˆá„”õ…{Œ(N ívbãF´;&Õè"?C2 ]QÃè6ѱ€ÞƒvÈŒB2>ÊÙ_½zÔ† eQáWîÑp÷xÏd1Ã]†bí…Ĉ¼ßŒÅ£fG"p72¤OÒAå•Ï0bÅZ‘NPF‘l"Ñ£zGP4fÄ'Ü ±˜JŒŠñªÔ˜¡x*bÃgv¢çÆeEtEõP\†#eu¿ß”“¥§Çª\’ívRŒq.hv›2HQ,!‘ˆÈ‡N>Ì]6Oô†£WÄâjZU_*máÞˆ$:‚&† †!iצ[ß!êÙ!³;’ÆÑ–ež;G‚ÕC;Ä• #&­È®@‚£!'¤hzܱ@8ôc«è1Þ‘zŒÊ‡äCÙ Dà·Ë*ù2AÃ-5¾øø†êŽ÷«—®_l`ha3n•›ª|9yrPcrÞòóë¡*-l7µDLï22•‰ Lè1c&º‘ö8ÌÅm…Ozw°R+ý’’Ÿ¿Îì3B}†Œ‰P6Œ•؈÷á)†Œ ¸ÓĨ…D³ ‰Np`ÏE÷ÖèˆafŒoµIú &bÂ?'+™*¢7:[ø£a9ÿþ9‰¸‰¾±ʰ×F•>EiF å¢ÇH˜ÀúäB,Œƒk¨bì“9«Gu¹wÈú¥«ç3ï lQŸŽXÃØOnv›! þô¼›ºØ¡–°O!‘öR".·‹gˆ !–~™a ¯0‚2©À>—p›Bö›}H‹é¤%OèASÈMAîlfC™^èRZ pNjs¬Éîêq:°#Ó£¶Íød'½õª‰”CÅp|ôgÍpPÅש2Øý‘r–žÌ0žŒ,­½Ž‰ìû•¯q5·jšì(:œj…œ(;³28’+ŸÊÐH&?ÌÇŠq4Þ#33…=¸ÊD‡7ÁÌ„ÆTlÇ¢Ü[‚ÊÏXVÇŒÔЮïHטê9ìxSz} v:û܇÷ŠP]áéê¤íê°áW±O}ÜiUžáÎÞFjðÁ™ ªÄÌTÒŽdDKH=E2+2*;sqFÍSý";é Õ#gëÈ~9â›Ü]BjΪF¦s2ÙÛ6³çFVFö•]1{^#N§¥ûl7~PÌé~jT¹_YY©ýJunÄ2±¤÷ »ƒ£êìÉ®R”ƾ?¤uÇÔž*Ïx?Ùor'6àÑDóqòþHë³§Ýpjà5­i}ã+mgkä„ô)¾C¤+¨ÉýÄÓýA;¡ÌúÅêÙPtæÆ¶ÐÕ7UàLŸyé5–9ߤžzÇ«±–³wêô) {JWûÛø™‰¨)×éÕ3¦³W$œÐ@_ ‡nGåáÇ9Ó»a¯2ÃY9ÆÿŠ ŒqÖúÔZŸz'ñ;êj8SiǸAu~Ÿ³sz$àxÜ©$ýŽL³ê>¡Þæ:1g/“VEsÎãÏkS&ßµÇÔdÏ9IŒŸEÝ™‘ s¶øÕ˜>ÿ¥¦„’¶÷›ìÊ%wò©«ž•S#9‚ŽD¹ê4Ó¡õe$bjæãÍÎZÔ™Î?gfuåyú½#=cgOžVPѬú””ß™ð°ó~ò_ŠßT¾Æ²ÖGÎwSÉíÈ’ò;ÝåS;áˆTBíSå£&ÏP¹JW!ªÎ›XæìNj÷ø¬3›Æ˜=ãO—KÃÙuŒL•ýjJín1ÇtK\u‹®tŠÌ›BúÍTëf¦?ÇçBwòaªhíŒÎI8k‡ÒUÎqfݶЇoøOž›?þ·Žmi¬~]½ImÿžÁgendstream endobj 39 0 obj << /Filter /FlateDecode /Length 223 >> stream xœ]AjÄ0 E÷>…–3‹ÁIÖ!ÐN)dÑiiÚ8¶’Ù(Î"·¯ì†)T`ƒüÿßÒ×þ©'Ÿ@¿q°&˜<9Æ5llFœ=©ºçm:ºrÛÅD¥ö5áÒÓTÛèwQ×Ä;œ\ñ¬ô+;dO3œ>¯ƒôÃã7.H *Õuàp’I/&ÞÌ‚  véè>íaþ{DhJ_ÿ¦±ÁáE64£j+©Úg©N!¹úA“ý2\ܵ¸›ªz,îã=sù÷Pvc–> stream xœÕY[oÛF~ß_1À¾$ÎýRlgÓzët‹8mvW0”DËl(Q¡èÔþ÷ûêBÒRZÅJà†Ijxæ\f¾sÉ3ŠiÉŒfRf “:0c™²‘‡A»Ç(&UÌD&µÌ &ƒÌJ¦DÔ ¯”×Li‰»aÊ(É,±ÓŠYÇ”3 ÷LyL¶©€AˆRÑyæÓÂGæ$ÓJHæ š‘¸k¦Ö̦}°ÌYfø;‡{p S!F1ͽÀo¨AOª (á¡2LÌCU'q7PA‚¬„òÌcªÂ|U´Æ¼F2R)xû·o¿eÉOU9¹g{vù>O“Ÿ^¾b3Ÿ³/š×gåí¼fž%?ä“%B,ñ&›«n®¶¹ÆÕ¸onjõþŠ%oÓl¹ayúš%?–Õ,-X2NÁj3ž.³W%¤%'Už¯ß²äe¶góI:¯éÉ7vÃùóq9ÉçS–œO²y×÷ƒïYry;ª‘$XàVþ<ÏA˜a¥›™kAŸ|vþòò~Yg³óùuɈè_Õ$«Hܳ¸ç,y“Móe]ݳg'“r”='ù‹E‘Í@i/^4œÞ–ß¿|.ZMaÙ;¼o´ «|Q—á³Qqk& ©¬zš'ï°ÿ;úSÞói,¤2 ¥ži­¹>ÈîSˆ\:!]ojû¾ë1®Ð︴ HP‚ZÒÃÍc0ð¹+°£EwÎñæbPG€VA4)fHÏö5 F˜ 6-QËÞ Ñ¡nµèRû-uKÙŽµtû¥ æÁx8ây1´•/þ\äJEö¹Æ3[E<ÙCZ¶CµjíØ÷¶µwûDœÚ_a»7W —ÐH³vóš‰ûĉîR]±(YtÍ(~{[à ŠSmvgº†öOPèHz]m<ê„ܶfQX®¼FNÎÒÅ÷Y>½A,‘–(&7î]³’`5UÉ«".™Yáüô´¼ƒŒ¢·z°V†{á ™BÞ˜(…ö½Q½™ø*/à1zíO4òc:Ë:~^§E>>™O‹Œñ®þ ‚ «èøZÇ?wâÅwémÎò½*<:PÅ?T[ÁO¨âg*‚Ù„(ø›¢œÕAˆs‚;cu[„©¸ý:¤qø¬é$ÁÜYGE€^šÇ>4ÂChl—ôhœ4[pÉ’Ÿßœo(OÆu^ÎWCÏnêz±ü&I¦y}s;âãr–,Ò*-Ь\/·u^,“ë¼LFE9¢‡Á 6®åt°£"[&uY‚ˆÆ‰oÀa™Uÿ£¾¸ÞlçiI8hŸþÈxZ·7Ù¸¦ìàG•›þÓ8Îv7/òùû­öóyÙp‡)–›|Ãoªñí½‰¾žMÆ}Q(RœQ$M Ç©Ø1ôãHyᮎta³ê}_ê!§W¨Ñôx¤´tô|ôÑŽKov­kb‘%ÓäÑ’~E-6º¿þmTÒ»l ”Ñ“I6~´¸Ùx³“y•«ìB€ ‹”±AŠEø?RÖäÆ~H£©Âxôa×4«a’ˆó¨eíñ–Ùߦéý‡Ê_›ªØ•†ºDI²ÊŽµË˜åw‹ñXïJR‚ìò±YD­Ž7¬H~MÝûë(š4¤j@oE<ûÛÔrVΗe‘.÷%5·­ë?7©)óÇI­•ü4Y íÙçe5…¼ñ Pîä6¨ç¼EÑÒÍmˆG2hÔ–êÇzÔ1F©M~³ýüÅèD4ôh9•cTÖINÌ©ŒÜí?J?ÌpíúîMqH Tú¢ý2)n‘;K$¤IZ§¼¬¦ÉA™ Í­‹äš !uÞ¡ó©w—àÀôÛd Ù*¡É[ÙmžÏNÐ<'g´…ÿl®ï‡×;Õìõ‰¼²# Øû!ðØvišQù¯Ò#ýX°ü°bþê§_©`Ò»Q™µUË,ÅnVɲNk~ó÷ ©FŒi:rg=úDð-óƒL¾2%á]Iȃ+‰VþAûËÔ(†½ÜNø½ôhnïPØ­ý¤ />å;NÇP®ç@Vz.ßÝÃY)¨½6 …b¥vljä'r»‡]g ¸Z»“Th¹Ö~ÿ{þôà`¸ù:•üû?ÿ¥\FÛªàjçDiû¡kKëE‡¶w4\Ûz%6t½£áæ³Ø>ÂîÙÈpý1m]ï˜mGIã¨X“öN’êhcלî‘ÂŽ–ëè°&í ×ßþ*Šõÿ?Êþendstream endobj 1 0 obj << /Annots [ 63 0 R 64 0 R ] /Contents 2 0 R /MediaBox [ 0 0 612 792 ] /Parent 42 0 R /Resources << /ExtGState << /G0 43 0 R >> /Font << /F0 44 0 R /F1 47 0 R /F2 60 0 R >> /ProcSets [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Type /Page >> endobj 2 0 obj << /Filter /FlateDecode /Length 2394 >> stream xœíÛjG†ï÷)ö:àqŸ»BÀ’-_'òIl8çý!³;Öª[ÞÏS5ݲ}a diF}®ã_U½öh–¯vù–gwüãÃáßÃéI²îüàã_‡ß:þ³¾?¼|kŽïÿ[:±&¦c±iýaéè=4ç'Ù¯ã½;üº|ÕÓ°“‹£f/3±ÑÎɬÏ&ëýññÛÒÕ“'KŸ7÷‡—wKã0¥8/ÿÊñþÝÁ>n¢9Þ8ÌiùŦt¼ÿóø³1Æÿr¼ÿûðæ^Óº<´¶æÜ:L¥˜b9ýQÝm˜L¶sŽùò"Üž_øe×’ ³¿¼ˆZÄt~‘'ïŠuQ0ÄÚS™l´ÖäÇI…/¢W·°ÔB?8v ·Ê ‰N;ôª°Tá\žæÙY߇±L&åãäO¤ZΤ[ÿ.%ÜëƒàÑÑ.!…êI²}f¦“˜íU:k„P áüõªž×T†5/D\TOuålë&gJζC2§Xh²w•,H!=å)ùùœ&7ûˆüFÉNè®ÚÂdÂöÞ¾Z÷ÖL±çë$Xoí-mœjÝQeî8±©µ&¸#0px7@Eâf(ŠYPkÈ 3¢‘ÕÒ§Ô(Šæ@‰‡¾,÷qus  xÍÚ™Òn‹´i£‹fmOj+ ·UK2¤OÊ8A›~Cc½ã®­º5.Ôb'KÄt«ÒÝÉØÅMt±Ñà»ô¿ëÐÿä²x'&F`@¯¾ÐாŽâKÂ2Ý©ž-ïK;μ^H¥2v86(öÖéº)ÏÅÆ¤´7›±ë­Ú*™z²>\?ŒÏå‚”G½ SH%džUw1zøÁè ‡IŒ‹¶Å<ÊÖCn2VküŒq.ÜŽ®Ô5Yâh³<ÃäI&‰= £ö3H€"Œ…ËÆp;Z#lƒ½ÅŠsÂC%M TÃ6Z¦:„&8?…|iÄï.áÝ‘r„ÈÝW×4T†/#Ý,ÐÈaaª6(ÙrÑë*½,§6~Vç q{ÇE¾ô*Im÷CØ4«ùÛ j9‹¸Ää­GÀà®M‰a°˜EÅF~>Œ¬7DÞy-qdz­ouu.ñó­Õ*<|á× œ§œãòÜmSvÕÈÿçRÃ.sºÞW Ô kãñi‰p‡O©E÷´á› îEB+Zܤ™zûžßÕBEãrõyêSEǘ€1—åõšNé÷–SÄ’¦<§Rz:9kîÐQ“±#—q\ ÐëHý«“‰ph°"õ¡l”ZÓgG!!ÃefÇ!ƒ+¥ÚÙÒaJˆ vuÉÄÀ ±.T^¨œõJxTÈü›i‡©UIþ§¤|EDjF–`="WKÉXš£îhÚK×ÞžÕvØ ãÆè&›íYmïîdUÛ]Xp¸@On¥ÝÏó=܃?{*¢­«S¸ùñìœ6•ºX_ûÝç¡ÜS­æ°îg‹¶eìÈXà,zN­>¨”5œêMIwMd_[ÇiUŸvÖOÅ{WcÊ^Ï î% ¬.T§~´ÊO]ñN¯5Ô"/s1´±çqÅGhœŒ+JPZ-ú¨Äüi"º’Ì”*Ò«ö ¸„aã~•qòof`íÀ¡Â>JÐ iËt•©–Ëü¦Vd&tEøÂ%"3°* #|;à²/ØT!‰ð5lm 꿲aP^Ÿ­©®Dé«‘UI1T ÍN%ö˜n²üvAiÇq8ê2õEPê›4ÐS[£Š"ô*G–±c§ º—$¡I*—Ô çópbm]+ÒSß0{ÜÝÊèŸZÀéó¸iÏ~É Ö'¡ *V‰Ù-ä9åÏù-¡+¿%tÅØâêCÀkÇýÚ¸ÎW¹-@?†2’Sõw˜Pj×ôÄ–Ñk²ä†Å"yÑNEg%âõÆÓÚQuÙë¸$üa*¢‰“[ –÷ì·UÉjÑüvGXa*)D]ˆö°‘KУ†È8!UTÁ(aÑ>5Ü0×¾)l3ÐåA¾VãÀÖ{n¼2¾ ­BÒ§U7„FÕ, ƒU}‰\›Q@3ª´œÕÇ3>ƒAÆi½y+vÅ…£Û oú|'­ÑÊ Dê‚æ‘u6ã®^Lº ˜]iÈÆ´.–ÛÕIy0##ÔäÇc¦çជêyœ¯Þòâüi—¦jB¸:tÛâZD-<µ3q§C{ï~0ÓÂPÞ}é,·‹“®vÒSŒ%&Æ]΂þ…èr¶>ó¨39½†G}–À°¢qܾç°úî¼äÔ1ÞjÉOná…$N ë/oèÅ•ý©i%.²Þîòߊ±²N¶®ˆYp´¶äe˜rú\¥Ó'%-,`½9=rNŸÙô?¨ÒCÐendstream endobj 3 0 obj << /Contents 4 0 R /MediaBox [ 0 0 612 792 ] /Parent 42 0 R /Resources << /ExtGState << /G0 43 0 R /G1 65 0 R >> /Font << /F0 44 0 R /F1 66 0 R /F2 69 0 R /F3 60 0 R >> /ProcSets [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Type /Page >> endobj 4 0 obj << /Filter /FlateDecode /Length 4811 >> stream xœí]Ûn$·}×WÌs·›wH{{v Ø8@6ÿ„šžÑš>š:$Õ3Z+ ØÎp›×"yªêTQíæüç'•ÿ’Þýó»ÿÞ=ýâ•Þÿðý×»üe÷ŸüëÜþï.ÿþI¹hŸþºÚ=ýùû·Ýòß¿ûùÛ¼ûý¹­r%Qùšªé7ôã¼ÿ%˜¥Áßî~ÉÊ~¨I»a]qÏ]ÑsÜÿ˜ü|êÉüTÃò¹†‡Ç»Ÿ¿æ¿ê'ïw¿Ý©Ó|Í»Ç?î’ßý¤uþþñ_»¿Î³Û=þûN¥ÜáY§Ýñw—ßíµMÆJœ_JÌdtTÚ>ù´/pSÒZy[ÔuëR¨d6û’0ÙÙåѪSe–¯Ì¾47ï ´žtž¤xúÝ”mè9œªúZTeSsìò‚¯7âø¤l¥}UY(ÆhmS)û¤œ–8_hX×Ò±/EÓf)œ•ó¦’ÐÃåï'eÌîô,õ/~9‰¿Ò“w)ÿ/â=ÔY ò¯MÞ‰_çmsØË„šÉ)oTÞÚ/¦-L³‰q6ê¥È®|±lLÿr_ºj:H™š'gupNRr™•ÊܾÀNYƽ)v’û´Þ­ù+ lû°Ãô•ŠÊØË¸Oà ¸Π8ïù9ì.Ôöa¯4qÏ®x¹N!ÿbÝúÈuò`u\ïoÕHÙߺu0%Õ¬kŸã(Gîçb"ø¶QŠUÝl¼ž]mÁÆQQ0»•\UÓþy}Ë‘×MP—¼Ѻ@³UÁã/*€3òðö3$6§7æN?é¼´UgO5@…ÚØ@±(Àó­:\0‚Y„ ¡ãþB1)Ž’ŒXŠ68zi%‡n-V O°mxÕIðPU>@á'ìð°D£ ˆwææ½2%RØ”Ëý|š¢ý6ag«/-0@œÂYt¾"Ø…Á.BQ¸mˆàÐM 8‚v¸ º· Ø-?…ä>çÑ4ß4DÓåv.ÎûOàx«Ô¡!bèˆ:…#® ž åLUg„ÆA0 a…؆ÉÕ¨ÆÇë áËt›J™¦ïtÁA‚†›®¼鯭cÛhÀšèrÄã#nÞ³P—F%†ÉÏÉÄ L6AÑ×¶‚ˆK __g€Èî…Öê ',NX`ŽçO0s²*®K–ÈBÛ(‘ŒÐÂ+»·eÆCH@†çK.úb .²Ú%Ý`þÌÏ+òTÕgjû•õ踰zN»˜<”ÎÿO»ù /«d«Ïեϭ-??ÊÇŠŽ©ö‡5z Ú1Ö½:Oµ @= ÖuXÖ<¬Ÿ¿©§ ½{ü¾ Q_br“Éò£«ÎêTá!jèXáÅ)_¯ž3˜ÒïT NV“jé&Y¥¼:ÎÝüÊœ n ¯XÐ4ž’@Û Ë[¡ól9=ÿ¬7z÷òK]uwiÂÕ@ä ‡2Bs·°Y¡Ô{uy6o@ajðf±º€Hݨ÷_ÙDL¤º‘ïˆt1(j n§ß3UÕ8J©*õáêÐóa…_؈„Â_Wµ-…¿ê-m¸€âs‰Ú(WJÕdÒ¼÷FžjÝHŸŸ.³3íÒ㢦 "ç(Á£H»k@Ãt×x“°a²Vg\UNL€]­p€Uˆ›ÃGŽBoÙܪNÿÚÛ­°Â ýkB„„,àKá# Z‡‡æhæ†ÿ :…ýe¨m~5àä6`}¨€ˆ é"Ô‰× ŠÛ0ðÌRvœ”ó{«ÍÙáI^’&u]’晲zÄg·N‡ÙÄÅ)ø¬«šê¹v@ô½Ã_HÈfÞÀ# ét* >Ø ÝkM VB{!‹~‚öáqÁUÂêèÕ ÀèÑm†LªG­o¸ŸY+7<öñ©Èß©ñìÊz0* ž0œ¯1E|±ìaØBã<;)— sç4Îý×FôuÖβÿõ0°ä¢õîÌ,±RðÌ À|A_ðߣ‚TÍ‚äæóÚ«TMÆÌÁP ¼ë>³oê_Û4E'²È[ý‹ÕqY]%Â3’ˆo5:è¤ –ášg'¢ÍÕ,4Ó )dO&¬ý@ ~.í‡+oņ¡"4*¡§ ßÍô0¶P½02€ (@V%3in{aíêØ>›òñB»,(–ÎLŽCn¾©må¢,•“@â)“qü†sÄ.™Ûd³ ÝU|èˆÒ(UUÑØLåJª.ÔÅZ¨ ´*ò"â2ɧ»0·òØè0E·P Ï(§O¤Ëx‰O¸¹™G!CV `?ÿ™²Nö†à4( t@ l†â—º-΀’‰*ãm@Œ *Šª.3C6 Zøü=<ç¼…k%2y'7!GóYèÜ'´×»¼aR:Ph Å²WH‚²±v:¼q:º^|—ÆËÁgA^ Ì»XËÃ䊨ÑÈî!ñ Võ¥ÓERXžÕ0'íR56–jG 3ËtžŽ×èù×ê&þð«½Ê–B|L9l‚Ž~á1=­i`²ôahÒ—uX8-‚r6ÐðJÉ8Ío6ù5q¼;ŠÎ5Ñ<ÞÇÓ«Ú ŸzŸþÁÌÀ̪¼d"º!œ‘*¯›GoÅu$ÍAùç|qg¸‘3g„c`ÿÍk«Â§&DömYhS¼?ã8tüJñÏlŒ£`ñV2™}IYfÞ(àz¸ßè²—AÛÊ| âf ÄØÞwUë:\¨-œÌ9„ 3C<š]Èñ~,² ú3ÎVÆ›iV ~΋OôEÓqª¢¦—í¸§ëòRo{3.†ˆvoã,á7¼3ÅÞ¸q¹_¸Y'Ú_“^[¬Þxû{šƒÅ7>ÒéG›ªaãUR‰Êz¢¤«¤ÆKÂ7! "H ³Ù%qÛt04Æ>` Öp †rߦ¨º*U_1Ö¼7A/mfÅ»@dÃêËÿÑrÆqõ”xh ×¼3š6æŽtÈÔí-VŠ&UBïŒ 3åf<㘳û.0¡åæ8¹#o$õ<¥æ´&Ù2ô%‰CÙ:zb‹Œ: 6^š'{2õmìÈã†Ñð oîë9Nde\¾TÙ &ˆæ>0$PÈ7 ƒ!ð”ð¡Âô]ÄÛ£G†þ¥Ã8žÇ]èCW¦® ='ó®‹žôƼQÚ¦ßuL+ P¬ú’î÷_`;ZYÚÒóçÃ~ÿõ=¼.{4_Ž‘ØUò¨€,Öëæ#ìG&Jz„èþ’Ïx…9V · 2ëóŒ“rf7™,ØÓÜòÞuõËñ½k;Øc ‡#t{Ɉ~x@ˆ\¿@Y=£‡q¯T…ºÛP"¢Ãq|B õOª±WR¾¹žÃdŒÛçÊ~^;sÈÈ*%âëB§; Éæ×ÚM6Ú=õ¨¹’EýÅE½QDmü‰dð¸v]2èAOdâB³øÀ¹Ââ3ðÜùŸçµëŸâ8eâ“ì;ŸðyíºÄ'GÃMÊdHõü=Ȫ~9‚,ŒËسfØzøq5Ø.·H³¸Å{¥ù´<Ë[Ò$ʼnÒȼ7þ/%×|üGÄ\­”S5Þg ´tŠíM‚¹éÆ!I£z®oß­_hM~½&饙OÓÉäý‘ªûäE”ò¥Ks½’{ˆnR™»*È»×Ôª9¦à] ¯­Ú% *H|†¤ % ¶ÄÒOËŠ‚•:§©M×|á˜ŽŠ”¤„“½Ù 9Ì0§Ä€cðh?Oݸĉ]Æ7C—ì1â³¼^#,6}‹öaÝÚD¾_ÖÆÈØC˜J‰u˜Ç‰ß„º™aFÏñYæl™?úžQ G—‹YT ¥¦d j=‰cçɃîÅÎ W˜ˆ–fö”Ìq›<Ú óž±Ü¤Î× DÙ«Dm‹è3²£+‘O}>R1¥ËÂ&hb? d½VÝKÅÇý(cRjr’üC§¢Œl5¶§Ãótq>·ÉUƒ#¶`‹ãL\•Ík<ür@r;BÏ:ÿ|^]ó#ˆ¥<ßÄ1®IO.d`QAÓ&`›üÊÄ\Á³=ÐQgC”ëÇaï/~9Ì’í~‹¦üò¾>+x]ø¢*K¼¤¯ôåcìóz4›Í˜K‡¿nÇ‘Ò%gôfá¯H¾Òìá¾àìÞ›~œ2ÑŽ7ðq€[†KCÆÑó+!ë¹êzŒËþÙ‚ñÖÐ9äÍë¼@çtN…—Cç¤ÌÊ0ß)©%l“á°˜“N5Cúr/¦âÞiQI‘PY%3¹j®d‘+3¯-¢ž&{$®˜§žLG?§))ŸòÄ—Õ³éèA-0ôvp¤÷£?þ6l|#ÃÒéƒO$ ÝKÐf@«Ô]¯Þu¦=Æ%Ë÷(â´ÔO Q²IY¯ªG¬‹Xd‘f)ô×ð™þéØwz)ÄjÙ–‚#ú |0¤Ü5$bi.ÕÝ·y‰¢†íì6ä¿„>™qAÍ é:QŒ¹äĽ'ƒæƒšéԻ㞩¢íPx]?“ëÚ`k}e\ì©ÉºÅQµx z9­À?? ÈÆˆ²ûÉX*˜èF?ô‡‘i´¥‚$"X `æMý¯êmz«D¡2%ïÙˆ]p`A¢˜ n{` ±&KÕÂ5½Éu*{9»ÁÏ5ïñIlh:<öf„£äº¶|Ú{Š39ÉrȽ•Ã` ×î3ZBÈ}âÕ@z›7äçyŒCæsèâSÏþ8æY_[LOËÓ´¸æ<§Ñ/ùÏÿ7¾Œendstream endobj 5 0 obj << /Annots [ 75 0 R ] /Contents 6 0 R /MediaBox [ 0 0 612 792 ] /Parent 42 0 R /Resources << /ExtGState << /G0 43 0 R >> /Font << /F0 44 0 R /F1 69 0 R /F2 60 0 R /F3 72 0 R /F4 66 0 R >> /ProcSets [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Type /Page >> endobj 6 0 obj << /Filter /FlateDecode /Length 4988 >> stream xœí][Ý6~Ÿ_áçq­«%`±@&Íô¹‹ýÝ&À-Ðôÿ+_ᤣoLÊ:—¤Ó “©lYEQ)ŠÝþ¼áÇèe÷ÛO=M%VȹàëïO¿þÐýJûÑÌï.ÿ¾“j´Ó뢛þüççnùåë—§º/‡¯(a]ç„íÄ`ìô¥Ï¨p˜KFµ4øùé—ð'¦CôÒ4#ÅœI‘VÏ…ÞK™1¾Szµ…ïÄú¢’®SFÐæ\ØK«ºíGh4+ ­?zúñ%Ts½µÝ§ÏObãõÐ}úãÉÛîRƒê>ý·û×0ÈçwŸþ÷$T¯G鵕Ó[óýa~¢{¡µ“b{`ìüÀ÷F!ÍV>Îå¦njÀmäÒÆÐ«ÑŒbŒÚxž3?±}hÙŽãVCÃÃòÄôFnØ Ð¥ ü–ƒƒÎë ~ ³kiâã§Ý±”fèµÓ¡n<¤kCý^¨ 瓼¤%‘¼ÈÞþsXh‚Hæ-0j9^j«¥ãc?ªÁkÇóú pà JäL¼|°¢z#¬aRkxô`‘jÙ;!œP:RN†K®¨†]¥=—Ä‘“°AØåhLô)ª˜u>K¡­D.ºÃŽÅm2wUjaÿ Kð¢oé—HJ¤³E²‚ÀÛò˜ §Ëm$ÆíÁþlm| Œ‡´¾(%É—â¶Ó# *nCz«Ë’˜tãbéUï]6‘IÒÄ{Ä)’ÄŸÂB‚ÈÅ\‡\æ¾2›ê:îˆär‹-pb_‚pב4`C3 ¬€…Š84N¸ 4ùýC-&Öå5p´#XÑH4U(’ÚisBbmNˆt â Š;v½š ›!QüÿT@Tn„­ò° ¡BpçK2‹ÍÕxAbÀ¢Düͨö|J<³FÛZÝ+¯¥B£Ý —‚Ã;'F ‹]Œ,v!…[o'Ó5aS Ž&â\‡›0?R¤ù ¸‘ÛA ¥) JJ.|ãOQL’ý~*Y8hæ@.Ó±ÖúWñ"„ÁE@Ù&Vq\÷ÍX2!`Ek^!‚¼ÔÆZöªo¨¥½‰üRl¸Š2>1CàºüžÍt Œ šmžË܆Æ@Cl_aef,tÛÍYˆ§2Ðdu¦lr$È‘6ûc³æ -$ØuèÚ^7Üo4²˜X8û !§ðÈ*ô äÂÉ¥jdž¦"ÞQŒ½…s ð­‚Í£ßÅJíÜߨAh‡]P|77R˜˜^ˆó‘Ÿï•‡]?4CI(˜o ßç4J›²%‚>¤„`M!éd¯Õb½ž'RÕ4 ?ëkk‘m›ú^(ïr‡—¶ï÷0¿*6Éø[ÈÂÅ"âCPÜÉìnç¯M'}>3×l³ð|1qá# µ¨ãÎR:N›·Ø;¸'L#…<Î&[@¡Q€·Yà§`ø&™6@‰[‰¡™lu Ìß LðÏþAïºÔ„ÖñäDhÇ„cÎÑfæðÍlL ›EÔ¾pek|vðïN@;=fIôBV%· ëqíB¯tBÅöøów… QèS¸ñxàšT4ÜÅ'—bé“Úþ/ÃdúйÑoë]2oIMÈa­¡¼kÀÅ!£Q¨ âÿ1L4 Æ]Züm^„oHþÉ™‹ƒnc´ñÝfk«N“Kã®×ZXá ag¤ƒDߟÿ”d«Ð–ÓŠƒ.ß®­’L§†ÁLj ÈÈ($ê´sGÁô-ežß8à™¨éJ;‚Ž7‡SœÁ«àfèæRûYE}I\t±½||ðø¬UÉæ& WR„~r,¡’†áåì  •Ú­çâl>Ìo€¡°)px¢»Æ)§;ÒøpO”¢a½ÚZN:+ü8ky2€ñZnLy1Oý¤Ð)Èeûð †@mcÇ*Fv\çÍ:©º¾€B¯<ž4ìø|ìù‡ò‰ç{ Ù^~@ä{¡h¡>j.¶ý(Ü‚€Ï¶ ;qeèA;gS|pS®`ï)šÎ&BË> Y Ûnðè!Âø<öÃø ùth[•÷ ½Éü]ÇûúbÞ ÔkîÚÐ6´ °ˆ²…¡eÈÃ2Ó ÎJPzKH#½­Ä ã!ziñíÀ7µ‹p×ó’˜ïŽNöõKdXét¿‚Ê3,¬•Þ•¸’l«RÇPň"nîÃHH~BÅîþ ÍIÌõ·„ïë6F*ƒæV“+±ì‚ü|ylï0ŒÀÎè&Ìq’ƒö †^†²cÖøÞ^þHhàó½PlWó ´ö¾üºƒéäë5âH–0£NÉn‘í÷íÈË?{µäo²Q`ű öÚ‡œL×9ÿx4œ°ÍùÇP»Æz™èƒfçÁçkÏ?¾ŸlŠåÝé½éù]q¶5öÎCêQõj˜|$ ¿­ÎC‚†(>‘ô<Ò zphµ…•ˆÖcµ’ä+¥ø aöÑïótJ»# ÈË >pAÎ1ÿŽðMdáЖ!MHm¦fÉ‘-Ãt׿eˆíÛ/É=«–êeXšUIñ`¦ö¸ÚñÛ\*Á> ÁN†É'ÂkþIŒxŸúZq‡‘Š0›S»›<øFÍuòÄ5Í䘄»°“Çóv´ÌlK9LÓ,fïJ‡iZÆ0ò3ì<È• 4'vdÒr %²›^<5ÙWMð*Ã&Ø ý®@ô§µ^é£=t*W°=€¤cÄ€V¸Ù Ït³OÇ.Q¬{î›g.Xƒt»Ö¼¡ç2½7+<ÖG²]k D¿A׫@WêȈQlÃk+Ó‘ŠÑõ~½ù¯ú#‹Œ¸#i§ìpâB…Ÿ¿Ù- ¿„*q¶LòÏç7Ü/€™¢Øéø¼"m¤3ŽïgT†A”3žÉ—`ØT|ÑR²À¾Ù#åÀô#zÿáõƒü]MþÁšv±Yü |–Šo;°7Ñ߬©7kªÚ6²ÞÎUͽº¤Ù$~lŽäà‡‘°ãT+’TàH\öÆHË[…` 7ׯuc¹MOeqå[„<< ÓvÎàºá*(-Æ’8ܲ€¶ÛXã[R0óÂblàÈÑåŠ8–wí(&g¹TlXð¯)€ÀŠ¿,·;y“œ:”ƒ´|o7³1Ú€«ß5‡j»lúín‹c_XÌOUÊ?r†¯6goÍñç Üß¼ Hƒ¾ev†—ľZ¡óõ;À»¥ŸÂM¼ ÎNiË—†½¸!ú±,1Ï•ÀÏ*ðªN¹øñÓ S†ò÷î»Â¡+P{¥Âß{ƒ´ýøüXŠZ´B“â½ù7]ñ³ ô´A…B£·â²Õ[àðv+V¥lá=-ßñÉ¿¨›0Jkƒí4äÚb{Á¯´÷À…»ùÞCṲ̈øÇ+MÙŠ‹Óïpw‹¬WüüpÚ ©ðÇ‘I€9/’ÂŽÃù°ã@™ðuº\l¹€«ú 6GX{yV³ëzgL×ûq9/”–|ý2UV6üêUg‡îëïOŸŸz/¦—døk—ZIA¨$œ_j˜s®¦†õSbpçB-ôRhíVæ†Ë‡¹7¡±å—ÐÈüšsÓk¾QU/.Ëæ÷:µ™Ðˬh&d*²cMËŠ²Š—ŸŸ{šQ6—e”mï]’±ÍÌœ‹—ã²ùkY"ä\äׯ»¨dúTZ‚hÈúm«ó2sÉ~sÙoSäu^dÊdd½6€ÕyY™Œ¼ë°:/„¤ì7%fg%€†¬ß°:/“—ì——ý–E^çE²LFÖk X—•ÉÈ».«ó2@HÊ~YbvVhHû=zÀê¬l~/eZ4÷{**ð:+Ê*^~~îuF@FÖõ¹¨Äê¬ ’°*¹dvZ‚hÈúm«ó2{É~{Ùo[äu^dËdd½¶€ÕyY™Œ¼ë°:/„¤ì·%fg%€†¬ß °:/S—ìW—ýVE^çEªLFÖkX—•ÉÈ»®«ó2@HÊ~UbvVhHû½¤«³²ù½ÎÆìO‹6vÉë¬(«xùùãX•2¶¢FX•!BÎEg${Áì´Ñp.ú%üùëi”}° ÂìéMgÃ;jzøëÝŸáÙôdB©Ë¿ïdäî·?Hçóüyè¾ü½{½£=Ì~uН^ïC¸€®‚”®Jc¡ôÔ¦tQÀÓUq@J׬îïUòÃþλgBˆ³Ÿaû8˜¤êþÞ&LãiŠª‡pa:OT=„Ïæ:×éyo~.“3|hŠ¢cãx¹GgVa¦ï81yºƒ Ý~ðSüäçL‡¹Õ}äysóô²²½¸Ê–>édŸ—G²3û3ôR"ŠHÂ=Ùy†or ;½DËÆå„ ¥†É;ØT‘ÒKÐX…¯µÜ Oe¤ÈF ¯+2аsÀ¼~Üô·H…Á¿-úo±¹AÞ2ÒB™>€ñfÈ!òMe¼eséŒãÙóq2‰€ÛF° ÀK§šÞOD‰q¿Ä&8]d‹'J¢Pñ 4ªÁÏqØ0]¢\Xâz­…qž’ÿƒ­Òaú¼ †Ú-Lìü‘8= ;ãó¦ëÝ锘/ø0×^i²3ßæÆw;(4ð à‚H =À Žµ Þ3 ³óÃü¡mx÷HËùùèà:˜WŠx+4%)íV’cÙãˆ7ŸÀëX ô§f‹ÏOç…{€¡¬„|½_݂ٛAºŽ…ö)xD䟚řV]Ñ^†ñ©j‡Ó*2,7¼œÞ.ßî*˜¢Äv7œ´ÌÒÈ„Íü„åü‹Œùó.µž ¢ßJ2öb\ä6ëš§¼ÐWrü¼W‚c®·ZîEp†ûºìèÝIÙÀÉë\Ñ›¹í »ÞpÌlO‰zF¢ÍCyøiWœ4ôÞ~ß¾Xü%öU ·H‡\‘Ü6ŽVΊ[ö€[1 Jƒ¸%Fh¼wÞ2/á¾)¢QÇG| mfÜœq¡ÍõLþ†+˜¨ÄøÀÿ5ª§ö ²ñ•ù~¬Þvìz5Å ¸9~ þÿ¯_íªS*`ÍQtQº²ÿ1ƒc\endstream endobj 7 0 obj << /Filter /FlateDecode /Length1 16780 /Length 6207 >> stream xœíZ t\Õyþß½3’,Œlœ ,ƒ®< )¸>ByôʇdUÓfˆÖ»ä&æ"ä Öoƒ¶™ÚXUóh˜ó§Àÿ4MÑž£j@9ϧ(/§¨¢&¶.ÓÔÄ‹hº«냔Ï-Zç×Rjá—SÿîgÓyü ÜŸ¡ɯdn£jötÝF°©Ú}µ°s`ºäÝ Ùå3`ÿ :Ÿσ€$|Ý}!ü}|vÑEÊç—áC;¹Ýû¡ï·€hUÎQu¯Î­§êüùT“‡ç|ÀJ:WÒÓ³ˆ¦¹¸m•÷¼Pfm’¶üë´ øy’'[~¨Š&uJJö):OÒ\oØkŽ>ÅŸûˆs«:öc²!}fÝ…õw©ºg¤g «/wc$¬Tç\µûŸFƒìi °³ v–Nwäí–à¤Ë$¸£ òj1K°åºÖw•Ò+gˆÆùìø˜ñ)Ëþd¼Öä}ƒŠó“ÈÍÈÙXúQÎÝÜÇ>Ö¹;Š6êÜ} çîÀ'Þlµ}^âvÝØÍés9¹=pЮ÷{x_<ŠsóȯñÚ¸Á¾§Ï„ôÞŸÞçíýÜK83S³]%Ôàz;•r½Mwº·PàN‰»®Ãóû™M¦ïðGi©¢Ï ;sæ*^µ®ädä¶@n¾ƒçç§bÜó\G^ö=úä×@ßjÜ@ÿi~öm ©'±®pغFÒÓëŠ?¡äW@Nàù*àÓa3÷ÉÌfx#paWdËé{ˆq%/£/ã¾Fû1­ÊÕé ×ïh Þ Ûr;ÇõäÕZiƒèWÀ—Ðõì0ú¡€*”½i'bZ-õ˘X!Ý}&`!l­ƒ/›Fÿ€çìaÚàŽÀþ ÍÇÚ-ÈùSn¢ÿ4žJ‘º]Q:§„“›køû©ÛJ½ ]¸‚½©tß’3ŸâT‚ï»f㱬£ªU W›—²É©ßRàÑÒ5œÖ¨µ,pê(û⧆ã g5f×5 ¨ç;¨e÷ÇÏd×ò$pU6Èš:=3oÕöº^Ó°Wž{çš¼ÄÖO/ñ£ôËœÕtð"fï^í1 ñ­ôà}üF¸ûÍØ"º‘7Ðî÷âùn×S´ ëºî Ç¢€€g/¾x@òKYèý±›ir¶ú#¹‡éy~€,© ÷\wÑk8’¸¯æ§iŸÁýÇà½=wY’ž[œJftÁ´9²ÏeO²O“_k8чº/ÉÑi•«V²V:ˆßG~÷c€(5åÔÐc9?à 1kŸ ãßާjpι\sЗ`?uötœËU’&š9¿ê¦á·-0m: ‡2?õ4Æ$ÏèüÕGÿ_>ŸÐS{×vü>t“ ÏÓ^zRÚ¹Z³¦kÛµÚö#ö2;ÈŸ˜´y’áá§È3׳ijÂSëið¬÷lõ´y|ž°çó¢P‰ibº8[̳Å"Q%jE\Ü/.›9sêÌ3gý4…ßò°±—¾I/ÂÂf­®†…:6Mò{4Û3Ù3Õ3ß³Ìs§Þ³Æ³ÅÓêi÷tz¶‹X8]‹B( +&´@Ø¥݆¶P$œz.UxìŸ}{ðÜÁEƒ•ƒƒ ñKcpÎàìÁÒÁŸ›zô߈~3õ7 í´üæÌWã¸æ¼úâ«¡WÞyå–W–ºíàèˆvíl蜸\ âêÀDì¶iì2um·¯š¿Ý%˜¨Œü ^ÌÏd|:/á3øYül^Ê/ã3¹—ŸÃgñÙ|ŸËçñù|/ç y¯ä‹ø¹|1_—òe¬‹˜É.gW° ëf!fv%‹²‹³ëa½l;ÛÁúØ_°«ØÕl'û<ëççñÏðå|¯b×°kÙuì ìzvû"ÛÅndì&v3»…ÝʾÄv³/³=ì/Ùmìvv»“Ýž¾ʾÆÏç+ùüBv7ü¯go²Ãì-ö6ûoö{ö{—ý ²#ì({½Ïޱãlˆ%Ù0;ÁRœ¸ÆçÜÅÝ<‡çò<>‰×ò|^À=¼Oæ§ñ">…ÝÇeßb»Ÿ}—ý5oà먓º(@&]NWPzp¢4³ ±Ÿìö û{ˆ=Ìö²o²{Ø#ìoØ>¢êªMM7¬_·vMcÃÅõuµ5«WU_tá+ϯZ±ü3ç-«¬XX>wö¬s¼3K‹§M):­° R^nŽÛÅ™FåuÞúvaÍn·\³½ å³WAÏ"´[¤úÑ<–hWlb4g58;ÇpVÛœÕN­H¬¤• ËEWXÏÖzÅ~mÛ¦Và·ÔzÛ„õ–Â×+Ü5[=⡬ ¢®8P+,­]ÔYõ=ºöZèÛW_ã­1ò–Ó¾ü À¬¹ÞÈ>mî…šBØÜºª}Œò ¥Y‹ÏªÓýVÓ¦ÖºÚ’²²6E£¥ËÊ©±r•.aJŸé&±¯üÀÀÍû‹¨£}Çïõë—¶Z\‡Ð¯ø¢5e5Ï[kÍëûm1B6¬romµÀ ek7g h–{V‘W !8ï}ëðhŠîPrf!‰Ê3iÂz'ø_Y™ôå¦ýÕÔ«S«ý,¨£äQª®\Ðf±v¹r ½ò©-r¥?½’o÷–ÉRÕµ;ÿzÅV‡XXŽì«³ðëÂâ³Û;|y×om­·–V«ºHµîÄZ·oQ%øõvaÊ4ljµ*½kšwµÍ‚50›[•ˆ#fM«±¨ÝçHY•uµÒ/Q7Ð^k;(uy7µ~Ÿ–¤í[*J¾»„–R›ôÃút Š2»n Õßi•¶—øÑŸ¢µ¤ÌªnCúÚ¼­F›¬’·ÈšwæÊ”E%…ØÆp§™eä¹³òD++ám²Z ˆz\¼«Wb¡åR²¢«WŠV­„Òl°âpHl”<ðY5 r‰KÑš†’²¶2ûó.•8>¹gYyYºŠ@ÈødÛ9©k6·thž¨3j³¥Ôí8èh›ØO&sá†Dž,gCz‰ÏÂ䂯 F‘d‹…EM¢ÕkxÛ¼è¡ê¦V›ÌµªïÚfïÚMÛZUµ.iõd¯/Ϭ9Xú+ò¼k›$×Y"1Ðhš¯c¶|êR›Z}j` Þ+êÚôý©þ¯(òì[»v R×.lEÂ÷§¿©Äª¿¹Í*jhUR¿·Ñ?àmn]‰4Èô:6É5­ô4—(-t—æºÊJ¯ œQzõUe¥f ¬tïNmïUÚÞ€–ãž]êvÍ.ÌN/嬬´’i‘pY©§hX«,ЦдÒÞž²Ò3Š—”Vn×*§k•gj•=Ze±&Ɇ¿¬T#0û埰…­~ôŒ)Ú.aÍÜ4àÝnUoÞ¾/_ìÂî´eû>¦­¶øŒ²2Íšº–Ö¶¬¶N×po^m±šVZk­Ü¼ÖšÔtIë>M»µ­dí~mw6»Â®ýµX®]ûnSk¶]Òº_;S.^_ò}Ò4²Ö¶_K›Õt–å_ÛÜjõŸÕf-–Èî³Ú([°`AL~Ô°À&,°?Ä_çïâ·ëa¼'í¥§é~º °]Q®MY \?tï<1@cýäÇ {ˆ/=ñ*5i‡>Ù àŸêãnp7Áë—ð¶w}^G ¥åFú×ÜWq%þKþæ‰ù]ŸÇýôuºŸ½ìˆ¯>§àœ‚Sp NÁ)8§àœ‚Sð˜üÿn¼Ÿ¿Nœrizu›OrQ®F.,]ôìEÏj•ÏýúÙs-™R6eVÙ”²~NÃýŒNàçm²¸_ýÍh†¶5ó˜ÅD™ÿ—‹'gÀW88§™Tíà®,7R‡ƒçdÑóèSvðI´¿0m<Ÿî¤}^@¥Zƒƒ{¨Vërðœӵ‡|2-Ê}RþÕÈ5 OþÜ·\£Éy›œowpNµy!weñ¸izÞ£ž“EÏ£ùy?uðI´-糖çk“š¼€.ÌßéàÚ•ÿ„ƒzfÔ:ødj?ãòÄâE‹–‹õ¦/Ž…;ã¢&„£zÜ ‡*Ī`PDÍ®@<&¢F̈öþŠ‹õD\ï67]‰ ]…ã;"†hìÖ»ÌP—X(ápl5¢1(Ë*V,ÒDZ7†|›õ®@"¤ÇbM80ÅÜÉQkF _<W.6v_¡GEsÀù´v3&ôØ1BŠ»3Šãñ”‡ü¦OÄ|Q3_Øb]‰ Ñ—2zÌ𠸳%dúÂ~£\ø ©›¡˜h‰& ¥+œˆÍ! øE@‡a„„߈™]!K+‰˜!° ‹-ÊtE TUVöööVt;1švˆ¾pwå‡,7EÃþ„/kFŠMŸ«”~ÔÚ£Íp¯noØØÒXßX³ª¥qã±±^¬k¬©ÛÐ\'V]¼¹®n}݆‘Ÿß@ŒR{§î3d¼2‘h8bDã;D¸SLX¨‰"˰:vˆá„”õ…{Œ(N ívbãF´;&Õè"?C2 ]QÃè6ѱ€ÞƒvÈŒB2>ÊÙ_½zÔ† eQáWîÑp÷xÏd1Ã]†bí…Ĉ¼ßŒÅ£fG"p72¤OÒAå•Ï0bÅZ‘NPF‘l"Ñ£zGP4fÄ'Ü ±˜JŒŠñªÔ˜¡x*bÃgv¢çÆeEtEõP\†#eu¿ß”“¥§Çª\’ívRŒq.hv›2HQ,!‘ˆÈ‡N>Ì]6Oô†£WÄâjZU_*máÞˆ$:‚&† †!iצ[ß!êÙ!³;’ÆÑ–ež;G‚ÕC;Ä• #&­È®@‚£!'¤hzܱ@8ôc«è1Þ‘zŒÊ‡äCÙ Dà·Ë*ù2AÃ-5¾øø†êŽ÷«—®_l`ha3n•›ª|9yrPcrÞòóë¡*-l7µDLï22•‰ Lè1c&º‘ö8ÌÅm…Ozw°R+ý’’Ÿ¿Îì3B}†Œ‰P6Œ•؈÷á)†Œ ¸ÓĨ…D³ ‰Np`ÏE÷ÖèˆafŒoµIú &bÂ?'+™*¢7:[ø£a9ÿþ9‰¸‰¾±ʰ×F•>EiF å¢ÇH˜ÀúäB,Œƒk¨bì“9«Gu¹wÈú¥«ç3ï lQŸŽXÃØOnv›! þô¼›ºØ¡–°O!‘öR".·‹gˆ !–~™a ¯0‚2©À>—p›Bö›}H‹é¤%OèASÈMAîlfC™^èRZ pNjs¬Éîêq:°#Ó£¶Íød'½õª‰”CÅp|ôgÍpPÅש2Øý‘r–žÌ0žŒ,­½Ž‰ìû•¯q5·jšì(:œj…œ(;³28’+ŸÊÐH&?ÌÇŠq4Þ#33…=¸ÊD‡7ÁÌ„ÆTlÇ¢Ü[‚ÊÏXVÇŒÔЮïHטê9ìxSz} v:û܇÷ŠP]áéê¤íê°áW±O}ÜiUžáÎÞFjðÁ™ ªÄÌTÒŽdDKH=E2+2*;sqFÍSý";é Õ#gëÈ~9â›Ü]BjΪF¦s2ÙÛ6³çFVFö•]1{^#N§¥ûl7~PÌé~jT¹_YY©ýJunÄ2±¤÷ »ƒ£êìÉ®R”ƾ?¤uÇÔž*Ïx?Ùor'6àÑDóqòþHë³§Ýpjà5­i}ã+mgkä„ô)¾C¤+¨ÉýÄÓýA;¡ÌúÅêÙPtæÆ¶ÐÕ7UàLŸyé5–9ߤžzÇ«±–³wêô) {JWûÛø™‰¨)×éÕ3¦³W$œÐ@_ ‡nGåáÇ9Ó»a¯2ÃY9ÆÿŠ ŒqÖúÔZŸz'ñ;êj8SiǸAu~Ÿ³sz$àxÜ©$ýŽL³ê>¡Þæ:1g/“VEsÎãÏkS&ßµÇÔdÏ9IŒŸEÝ™‘ s¶øÕ˜>ÿ¥¦„’¶÷›ìÊ%wò©«ž•S#9‚ŽD¹ê4Ó¡õe$bjæãÍÎZÔ™Î?gfuåyú½#=cgOžVPѬú””ß™ð°ó~ò_ŠßT¾Æ²ÖGÎwSÉíÈ’ò;ÝåS;áˆTBíSå£&ÏP¹JW!ªÎ›XæìNj÷ø¬3›Æ˜=ãO—KÃÙuŒL•ýjJín1ÇtK\u‹®tŠÌ›BúÍTëf¦?ÇçBwòaªhíŒÎI8k‡ÒUÎqfݶЇoøOž›?þ·Žmi¬~]½ImÿžÁgendstream endobj 8 0 obj << /Filter /FlateDecode /Length 223 >> stream xœ]AjÄ0 E÷>…–3‹ÁIÖ!ÐN)dÑiiÚ8¶’Ù(Î"·¯ì†)T`ƒüÿßÒ×þ©'Ÿ@¿q°&˜<9Æ5llFœ=©ºçm:ºrÛÅD¥ö5áÒÓTÛèwQ×Ä;œ\ñ¬ô+;dO3œ>¯ƒôÃã7.H *Õuàp’I/&ÞÌ‚  véè>íaþ{DhJ_ÿ¦±ÁáE64£j+©Úg©N!¹úA“ý2\ܵ¸›ªz,îã=sù÷Pvc–> /Font << /F0 44 0 R /F1 69 0 R /F2 76 0 R /F3 60 0 R >> /ProcSets [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /X0 10 0 R /X1 12 0 R >> >> /Type /Page >> endobj 10 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /FlateDecode /Height 261 /SMask 11 0 R /Subtype /Image /Type /XObject /Width 452 /Length 11224 >> stream xœí{Œ\Wç¢$~uì$Žqœ‡Ý±ã÷³mÇÝ~¦ývÛö+vÇ™$ÈÉLðd1aò<cH ,;ZÐ"4ìŒÄ2Œ ˆ¡ »0³Œ)»0b†Ú?f%&äÁJ½ŸªŸs¸¾õpUu¹Ï9Uߣ¯ZÕ·nÝ:ç÷øœß¹÷VÕOLÿÖ™ë;PïÝ}Ó™¡iι×>>î¿}hZðþÑ‚Û&,›5Þ%Û–­Z»péÊU}Ppc޲¾ÿ¡®á—]QŸsÃ/†öD©}ò¾)gîžÜ2Aô¹³~ò‘kоè<}äÐÔ?ÞWdé¯Ï_¼3¡´ª{üŠÙ ³tùš^(úê/~ƒ‚3˜Î»áO‡öD©}æ)_|dJxƒ„8íd–>wh ¼'KWÍ:›o=½ÄÒ"KχöD©R±´%–‹¥í¡j,ÎhTšX¼A$–‹¥í¡zX:*PKƒw#ˆÄÒa±´=ÔK/'TÅÒàÝ"±tX,m5ÇÒË@T±4x7‚H,KÛC5®=ÕƒÓÖAU, Þ K‡ÅÒöPíëøõãtÄPKƒw#ˆÄÒa±´=tÉ{¢Åi³PK+>µ¾Ûýóó­ÇO ¹¿:~àÃu°”~\ÑÊwüÍ î©]nó\·s¡ûOÇÂ[`¸XŠ[ëDòâì`þ-Þ·)¨빿´9œ6HÔËÇÒ¿y<¨…ëP –Ò^ûh‹ßî G‹‡#—d)ý¼ùÚV¾#iHAôWtS&äS2ˆÚž¥L^­u"íÝïº(µy <ÒuÞ«ß4Në†êebé§ö‡¶pjŽ¥Ô«?yÒýîå‹6Rtýϧ‹+¾„í{»'ºY“Û„¥ öçÏæ7þŸsÅí9˘°üÁ1Ep#t2KqÓ«OTpâ/Ï·W³mΔ¢Þxé÷o‘K݈qz)¨Öf)†ýÛ3U‘ó y”ubÎÂd*-=µxPqŸË¤FY E×Î*ÖT‹g¸ëƹ¿8qaûK‡Ü¸+Ýüiŧõ±5^ø~÷¯ç‹Ï¦ÎÒïŸ.blâY†lN'5FÀ2ezY{b1v n„Žeé}´«¸ù}ùÌ §³ðÑÎ…ÅÀf ~äÙòX¥ö¼Šxöo‘ K]‹pZ…¨ÕXJvlW4Úª[Ý5cÜ+‡‹Y£y"RæÏ.üøûó/b¦c#/¹êŠ ~$Ýì)›Ñ,ûp/áàìÞÿ~«;ÒS|;ò‘w/4ÊR" YÝÅB•n[ÊÃFÆN(–³Ô+u–’n Ð/ÏßÓWÌ8ìl)Ižºš§2Ø Gk?òÖKYe_8Z|L0“wÃçŠÞ´Âé?/¿"K¿ûXÑÅ~¥Kïz­uT«±Ôf.ãÆ_,ÎSfa²Àv€¤•ÍeØÓ6‚Ë‘¬…áçÛ/<æ 7Ñx3ÓÑpåp©¦ÕXe´P ±”Ë)b\ÔWŒ7 ÿ÷mjg–~ûT1 ý**Ò˜M˜v½‹.®6Lü‹Ý†–V>0ÊêL–Úùjÿ¯?ý‚׈g¿L¯ÆÒáR¦ÛJ?8Kïùûp ½ªÕX Í@Ç£ŠéãÏð€‚“-<þõÅg‡KÅ 5ç§öW^ãsWZàDÉêJ˜ÂM Øvæ_—a—÷×åVC,Íur¸F†‰²ðdK³´|£9‹%†Õ9µ‡iK"'w*KqÍÚY¿ÿŠºR`³gÖkìSƒ¥ÿzþÂJ?8Kgü&4EßÑù3×W;_JÑHÅÅ–RÄßö9aPeãßž)n±{]æó²ø×îùñÆò4g`³Y™Kr®.e Ÿ*’ÄomÌR«KýÜêëÒ=‹/:ùC”“… ¯Å\ÁÇîÕ™,¥žñeÌp¦.]uëïO¼0Ù±O –Z0,IÄR¯Š,eÞ±Ë@$‹Œfå(0!#XìÛRÝ|ÁÎÃ¥åÛ‘ž ×ru©¿€ËÑ 0žŠŸ¥ä>]òb#+Ó / ØùRäÏ>1ð¸mXJᑵ#eìl´³18ÑŸ/eÚeÁBl°Zº²Sm¼–¨ás& «N`iΉd"ÙŠ/XH—ò‘yÐR—±j =ÙøÄöâñk³áPçÄÒßë±ÏN,ï!¬À°v5À «BéÍÃ¥µ9eÉ2+Ò^9\„­aº²ƒ-ëð‡e{ü,͵á(Ô‰CâÙÉÞáBç¿¢¾h Ô6,Í5K€IAŽ©[¨dü‰â̹Wä†i€-7iXuKsÍ‚“:ìÃMsöc)ä/n¥ a‰p*Øò¼Èæ&kRŽ#–Ö®Kí.»Á³WÈ RÆ—šv™¿Øý“¶ ¦XåU4»ñÒn"bv°KÞ‘³´†¼lMõóg/Tì&H’]íF«~†ÔÊTÿ/>ÍÞ̆£ý c1«íYzI'ú,6'úÛMIˆÿÇm†cbéÇž¹®Æý¥,0xîþR*Ö¹=Yà£ìÜakSA1¨%ŸÇg¦`fùʃÅÑQ̧­ý<þŽgF’kØÒã’÷$Ç giN¥Vê0-R—âÐH.ÖVÿká)ZTƒŸ{"SÈ2etêÆË­V}· K!ÖþÄÞÖyÕ¨1«µ,%éÎ^¸ÇøHO…OÓÄ)±4çD;G7Zñj®4ŠWç]ϯSÔZC,µƒþnÒÔ¥ï‰r-bi¢KÛAþv^«꛾'*x7‚H,KÛC£üÒêM, Þ K‡ÅÒöÐè|·IM, Þ K‡ÅÒöÐåþνº›X¼A$–‹¥í¡Ëô]Ð7±4x7‚H,KÛC­ý’4±4x7‚H,KÛC­úí¼7±4x7‚H,KÛC#üMçÖ5±4x7‚H,KÛCÕX:ZõM, Þ K‡ÅÒöPC,½œM, Þ K‡ÅÒöP,½üM, Þ K‡ÅÒöP£Ÿ!½lM, Þ ‚¥ÞWüÒÕÿûâ•Á;J°tù,±4qÁÒO…öD©½òÐôNfé_üÑM¿ù³ÞÔ{wϸ¯&ð'ºrö†àý ¢…·Œ¿ýÆñ¡S°ù–eipc޲~òìøáÏ»¢>ã†?Ú¥ö}³?vô–à– ¢ÿøÈÌu[vX(všºï˜·ne7pæ¡Í»÷ÞŸ êêêšzý„Ð)Ø|˲´Ó´hÅê/>:õB]ôRhO”Ú®M‹éUpËqØÉ,=wH;™¥&ˆ¥I j-\¾*´.jôG,í@‰¥¯Š¥)K,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F¥gé’%K€ûï=ÞÉ,½nÒ¤Ð)Ø|ëp–¾÷À¡_¿òJQ/EñüÞµë:™¥ýÃø›ÿÞÚ¶nÝÀ†Àg>ðøÙ“ïÞŸ š9uêÍÓ¦…NÁæ[–¥Á9Êúã£Ç Ÿû\QŸùÌ/>Å—îÝ?°÷ž»ƒ[&ˆÚwèûùèt˜Î:rbÏ ðÃ"xgBiyw÷ü[n ‚Í·,Kƒ3”^;þÅÁÒgî?þÙG n ú/g>ÔÉ,=sè0¼'K—Íž:›obi¡ÄRÚÅHÅÒ”XZKÛBbi KX*–&.±4‰¥N,K—XƒÄR'–Š¥‰K,Ab©ëx–Μ:uB©]3qâÄI“®½á†ÐÙ@K biK]³ôøÆM7\}W¦]7eʲս¡3²&–ÄÒ8$–ºféÝ[óyëß=´fCèŒl ‰¥±4Õ`éé]»¼><8øÃgŸmâø/;ö'ž¨sçŸ>ÿ|gÏ=úƒ§ŸnáØaéûïøpý¾ðâ% 9±Fœüêå—ïëëk¡ ‰°4ë… |ýôé&Fú¥'P½fyá…_¾ôRµg¿üè£õªÕ`)–ÙµtéÁ5kPßܹï~×»ËFgw78­gÏï=ùdט1ÕžýÓ‡n®YÝ;¸`ð€×ö}ƒïß:°¯Úþô|ì•WšМiÓ&O˜ÐN±ä>ZWñÏ;bêjÏ>¼i“kiKwï?2pðh±“-[ÓWƒ¥dnÖ‰·Lž<{Ê”)VQ¸ÏÕíD&}Þ¨âS€”œr­^ ]’¥K^_ÝûúÖõÿ¶³ÿßînZ=¿Ý¸ðÍ7\ËA5Xʳ=³f™¶-^L:×I†¬ìåuîãÚký¿$ÞynÿþFß·þ4ĹX¬|;9Ûy÷Ö¦az,Ýw¤ü[hæ-\R›¥Y'R«0eþÁ2TC,å+æ;Õ²[o\úV®:±PK¿±zéo×ô¿>4BA:–fQ@iʤÖèHbiE—‘Ŭ² H ÅR€6ÔÓÃo>þx68Yu^è$ Ô¢ïfδõ¸g)%å%øì³Vè^yÅ–ðþñÙ³c™ÇÙnðB¬ÇFžº,íëßQmÿKÞ§êàCfrñÛ™p1K¡´BgÆa\ŒŽ -kÉÏ?Nqk–ùêÉ“sJ_*‚OŸ*”jo¬Çk9Z®'¼~ç…­MÃYZáÛb)QŠÁmq‡U³çLØÍœH°mœ7ÏⓘljY–ò*h§bX'Õ<Å4gqnN$UËȲ€|íÔ)7ê,]ôÆêEoµàë›ZÈRÌ8Æ oyŸõÙÌâ±Õä¦.dXŠýñ‚‘á&K:*^s ö7¿s¼p"Pb^ãïh²ïÛù ˆÇxí”i®€dhÖ%þWìC¸>°a (¼ÃR À ¬àY,쳨9ª>ªV—fC}ôYJ^ø“<ý 2[æ Hß7ro2.„7mh–†ø#|ëÌ™Bi6ÁõZYãT«K}´6 +_{Z¿yöÜyYÝtëmÓfÜtõر­ÀáˆZs,Í:óâ#‚°PV@r|s"•Û-> cèYJò2éÛlø'žÀ‰Ì‰<Æ­ ÚW«KM—Œó&tI–.|sU ,%5Ì LapqÙæSxâ8Ë ÃLc)´„!ÐÉ^BÑBnâ,\vdíZ[~Ør2Kí|)ÓÝó+£j,%ê¬f+”æf(:|rëVÂÏOI¼œYÛŸ°²뉱 ,õ§Ú0îc²°KiYú³sç‚¿@0-ØHåÉ¡üS¹—³è ÁË·ç4–Û¶chsN‡÷ç¹´yÛîî;æ•k̸qãÆo GÖšc©w"¹Œ)‡ÌYjÅ¿?+NƒÇÍò$/YàH==ëųVP‰¥;é2çKy`œªœ¥ û—³”€*¼–L!ýõ;K:ÜTx‡<ît1±4Û8É,LW«±´âµ!:ÌvØ›@•»€7 ÅÒ%=w>wäÞŠû—¯ñYJØÂ¤"K¿~útÅ!°‘Ù„àñË Œ–³€½ÑåcéÞÝw$‰ºººÆ"K¯¾zì¤k¯¿nòÔ©ÓoÊjÝæí#\ã#j?s•³•_5ËƤ€B–T¹n›ï"déío-Š¥Ù5þ7œ-vRÅUb)˯MXâP¶ù4±¤Ë5ó‘‹•¥TY6ö\0™Ö%páï1` EKñI‡)º˜5{–§l©Ë|­Î¬¡üÀmgíɘãpôÙãÇ}àM›8±ðÎüâc¸\ ±t`ðÀHÐa¹c)_À²NÄæøÈüûÔЫE 9[.áD‚–ÐõYÏJ“ň?_ÊÎ,LìåÄ0“£e1Û—Ýz«-¾xÇìuÉœ‚°tòÛÓÀ)Õ)‹ý¦uëÛs§ÿî––°#êÔW–”"ÊלL[<¶³bŒyÍ_{b‰ç3‡zê’YìiNq™nåe–fÄó·×ÂLâÎ0 _—ÒÆN¤¿žõ,õ—œ %a=8CØÓË\ÃFee¹‚°4gòÅ.8Ò[ÆN—@CFÖ7ÆÂˆlhX,wÞ†¿~±{°FÃ2vX»ÈËa+Î)ÃÒ⊾u,Í×X®ñ—xÃø¸•<6'Z%@`³/ãšìu|ª²•œÅG`–=!'!lÑAx³ƒ¿HS–Fri¶1 ±Ró>"/Œ'°ÅX oq ¹€y12h-\|O¹ƒƒðIÇÑxÌk9Ž?,Na{µ{2G“¥DŽWî>¥BéÂ¥ 6ÙF—Uã¶…6³Jüñ….QG4RÑùgmg"­Ú§KèCý·X·„¥v3ŒWî.}:ú£¦ç¾o¼Ê†æ·X=ãÇèÃ<ËŒÃÜ‘%'øÅ†YÊÆ:oq,×ÈYÚÕuMTl®µ¥u^¹è2g™Á³fñ‰sm‹Y>ëD ø«Ü‰ÔQÕ>×Ûvb5%qiÖ åÀbpà‘ì‚Î`^ÿ¡KÌî-oéif·d´#d OÊÙåØÄ'àj¨]?ß–¶“¶oÙi'³zÏ©3ù{¸|7tÍÄë»®™ØbbVo-di'(‰ûKÛ^bi‡°´¢*Þ_ºkèžH×mÞ¾bͺ®‰×µ˜˜Õ›XÚ’¸'ªí%–Š¥9–Æð¹§I×MKë—XƒÚ•¥{V­:ÐÛ—Ó£>’‹ƒì{;s{foncEËÒ ×Lúƒ+®èªÔÊÏK¬XÓgõsÖƒÇ7mnÞQÓ%Y:û­béåV»²´¢*ß«¿rõs¥Õ:PѲôÞýî«®¾zÌØ±.nëïjø^ýNÐ%YzË[·OúÝõÝoÏ¡ÄÒKk|†´í-K«µ&>CÚ º$K'½}Ýoß<óíÛf¿5¯iMÿÝÌëÿß±´šÄR±4ÇÒÛZLÀÖ5±´¢’ø.è¶—XÚÉ,ÝÝÛ׳¦oU߯5ë6¯ïß:#«6±´¢ÄÒ$–®ß²3xÇjyw÷Êå==½J?œ´qußFp:#«¶í{ö‹¥åKcPG±tç¦þÜo”lÞ¾gÃÖV~Ž,9ÁÒe³g‡NÁzÛÖ]woìß™û’ùK–‰¥bipuKs:sèÈ}ƒû7më Ë•K7ôïܼmÏæ{ýoçݹ¡_¿C*–Æ gi‡ÿ¦s!5––7ý¦sA,Cb©KÅÒÄ%–Æ ±Ô‰¥biâKcXêÄR±4q‰¥1¨ÃYzl{ñ^Ê¿|æ¹à %X:禛B§`óM,-ÄÄÒ?ºçH'³tÝ–ü‡_:DÝwÌÛ¼f-ðÌ#ï-¿k±CÔÕÕ5½ô ,K;M‹V¬þÊéÇýÊ+ÿòòË‘°ôî­;èUpËqØÉ,=wž«òišÑ(ÿøHË[‡³táòU¡=pQ£?biJ,}U,MYbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*u8K,\D¾çX'³tÒĉ¡S°ùÖá,½wמzá…_|úÓß}òÉЮ(¶U«{;™¥÷<ò÷¯þcª·gÕŽ¾õÀùS8ýЉàý ¢©“'ß4ujèl¾eYܘ£¬÷ýó‹/¢ï>õÔÏ>ñ‰Ð®(¶#;¶oÚÜ2At`×`'çÞC»÷ß?û'Á;JË»»çÝ|sèl¾é;÷ ¥ïÜûù¹s¡]Ql|ôX'ç^'³Tß­ï‚nÅóý¥ú.èàÝ"±´ –¶…ÄÒ$–:±T,M\bi KX*–&.±4‰¥N,K—Xƒ:œ¥ëJ÷—>³o_ð΄,Ù.¿÷ܘ¡$–Æ Îdé6\³fîÌ›} ðïé]»‚wlÔÆîuÍØ± ΂ÅÁÒ¯‘¶dÅêÞM[×÷ïìßu·ióŽ=b©Xƒ:“¥û6l,ÿØ` Þ±QÐàŽÜÀ×mÙ±¤gMè,¬«-^±zéÊ5ý»‡²ÚïCb©X\5Xúâ±c^_:qâµ^hâø_=yò‡Ï>[çοzùåŠÛôÑZ7xÐ’Q×ÉRzž5Ÿ?öXµÖ¯­ßzÕÞâ›?Îq>ÿàƒ??~$c¯ÈÒ¾þ¡³°®¶hÅêò(nÙ=Tƒ¥ßy≬1cFÃ}-qâ×OŸæ8úðÿ|饑‡ñï»—K³^À?}þù&FŠQýûWtÄÏÎ#è±ÑB/Ô`)–Yvë­wvw£É& ú©èÅkés={ÂÉÙS¦TtÁØ+¯Ü»bºòŠ+>{üøÈG]'KykÞÑ,Ð3kÝàoY€%뜘z¶-^\¾ýÈڵ؟öÍ;iܸ‘Ä@Ò,­øÕµYzz×.ïÄÅ3gâÄóæ5:'â>W·)<ذ¡|;êúY:ãÚký¿Ì¤¼;}hôíêOC‹å6BÎw¿ë]?>{Öþ¥Ÿy[§:¥Y'bF²øË6¶mˆ¥¼cy,}íÔ)RØcý ¶ðœÒ%Yºà•óßX¾îõ#T¤#`iL7LmŽ´!–Vt€=Ñßo¿uæLýn½¤êd)¢@¡”ÚÙ|ÿðà 7E#¥,“u”…g)ÿòr£"k¥‡7mb’š?cÆÙC‡ìYóŽìŸ-þÙó©¡!¿ªå­]+najŽ¥ïÓ{Š!øí”V+Rµ’Js¦MC<°úÇ[’å …åž~ºP:À«8>C&Ñ ¥¢”™;Øž}Sö4+™žÛ¿ŸxhzìÎRD…ÏÏœHôúí8œHÔܺ“æî,K‰a"ÙœÈþ»–.åøÔº¶ö4'ò9'~ïÉ'³$áøDÂÈ#ùBš\’¥oö,z«_ßÔB–>ø°_‡f³>›Yä†ÅžÙ îYа°åY†q.ðv*†g]ie«~y‰ÇÙÊ>Íö)Wm–r”‹t†ü%eÚŒ)Ógd{uÇ¢eM°Ô;‘à¤"älvÎ~…RÑÈl…ù[ö™ÍY†Mþ¥Ôä 8‘Õ is"¨áD’€1J·D—déÂ7WÅÀRâ“BHXüÏeÊ6ŸY™{òèÀ¿±â kµÊ}}}$ÇþXÞf1þu%‚Õ81‹g‰V»®ÍRúÏ­X‚ ÕXêk¶B‰ö³€J¢××Õ„«/5 o[¶W\ãgl-\àýwmœ9ݽ·)ƒ×ØH dAjIçg.çæj®ßIÆ&ÎöÔPýk|Š(‰H¨ÆR:fÓzV˜…‘òBYнllO+}1¨ÁRŒF9ý›¨ÆË˰†4kÖíþPÌ_°Ô–fYj§_*Z 0joŒÆ¼à@\1U•6+‰¢,¯ÿèÀà%Nж|Mß¿¥ü@o_¡lOê1‹YéR‘¥×ä,i,e;NôþiÖ‰¸Ø|Wƒ¥øâÇæîŠ©¦K²tî[Kb`ivH1¦•F®Kù[^ºcXs„Õ…wêO_õ!÷ÎúÂUg)å.ñµMKT?K-œèyzÌòÆR[àû턜]±²ÂÞ!6„Š-+ö¬ÆR¢Ž5•ms§ˆ[ÈÒÂ;A¡ zŒþ¯ôÝæ>MH[»ó_=yÒ’ÚžeÂePY X!T¥?xúi,€©ÊÁ¤YÚ׿ãr°4»…Ù³š®”ƒ”Ù8„~¸Æ‚'2§ÏŸ1Ã*"ܳNôk–Š,ʼnv3F +Ò 9r)–v¿µ`ÆÛ·¬zcÃÕB–f·ðÀß#äS€¢åƒ~g’‹à·» ØÙ“Ю¡ðlÖ¶lwUXúð¦M8¢¡{«êQý,e\TžÆ÷Î"ˆÑ1#Kƒ¿ä²3ÏúkOv&(òL¶=írU¡úŸhg‡¦çñ²”ÎSŠXo”U’Þ›v÷)Pµë…ÒBÞ.™%yš‰lBñ':Øh'“+²”±óÂûúúÍA±´PÆR² ÛÚÜ.XØvC(NÄÚ„®] ,”N¿Ø¬gNÌÜ”ûä‘©¡u„,]¿rµ½)=gPÙK~à”þ3e0j†éOc2"¶#?ðlŸÙÓj‚¬$N°Xö(®gÿìÙ‡er©gìbi¡Òçž²¶ÅGÄ!ô#¼³ÆŸŸ~ý•u">²lj¼Êœè„ö±š¬/ tΉMÜ©^MIÜ_š;‘Ÿ­ˆ¼±*ñ–ÁSìÌv¿%û¹'û8¤9…W‘‰YòJ'UrnÂGå»'ª|×’¸'ªíÕö,­(}OTVÅ{õW®žpq3fÌUW]Õb>6Ò®ºjìØ±ãÇŸíÕœ‹½W¿$–Æ ±T,mïÏv‚’¸¿´í%–Š¥biêJâþÒ¶—X*–Š¥©+‰ûKÛ^b©X K×oÙÙbê]ž6Ér±´\I|tÛ«3Y:°æÎÁÛöùß¹àߊßßÛ~Ú¹©ŸÁzmÙu÷æí{6lÝ: ëjw,Zzûܹß(Ù¶gŸX*–Wg²ÔtæÐ‘{÷÷ïºûãÿî}Á;JË»»{ïìÛ´m tÖÕºçÎïY»qíÆ­þ·ó˜ôÛybi êp–ž9tصâË¥Ó,]6{vèl¾é7 biKX*–&.±4‰¥N,K—XƒÄR'–Š¥‰K,Ab©KÅÒÄ%–Æ ±Ô‰¥biâKcP‡³ô» €oäcÁ;J°tîÌÀ?“7’&–J,ýߟüdhWÛ™#G;™¥{ÿÇ?üKjÉ’%[zû€³'ßÿ½ïO]?iÒŒn‚Í·,Kƒs”µ}Ó«H‡ŸzêçÎ…vE±ܾ«¯w]pËÑ–»¶ðwÓU÷óæÎ_@ ¸w÷¾ÃÁûD]]]ׄþªÒ‘´,K;M‹V¬Þ²á.*R@:\úÝÆàmYÏšEeòí‡ÌÒÙsçöMÂÁûD°t„ ¡S°ùÖá,]¸|Uh\Ô*~ùL‡H,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiT K¿÷ÓúÆ_ÿÝ·ôÁGÑœÄÒWÅÒ”%–F¥‘°ô=§Î`½å«{ƒ¢9‰¥¯Š¥)K,Jb©KÅÒ4%–F%­ñX*–¦)±4*éÚ“KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥Qi$,}擯,_Ý{øG‚¢9‰¥¯Š¥)K,JºŽïÄR±4M‰¥Qi$,=ÿ…¯€ “|&ø(š“XúªXš²ÄÒ¨¤ó¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F¥‘°ôýwÿá«ù•oþ ø(š“XúªXš²ÄÒ¨¤ëøN,KÓ”X•ÄR'–Š¥iJ,Jún'–Š¥iJ,JºöäÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*‰¥N,KÓ”X•ÄR'–Š¥iJ,Jb©KÅÒ4%–F%±Ô‰¥bišK£’XêÄR±4M‰¥QI,ub©Xš¦ÄÒ¨$–:±T,MSbiTKX*–¦)±4*u8Kg͹ƒØ²kH,M´-í¹³“Yº`YOh\ÔîX´¬“YºpÙJpÚºíö;Œ¥›·ïYÓwWðþÑø®®ñ)³tÑòU·Ï[ÜŒA4ñòKW†öÀEm΂ŷ̞Ü2A´|uïÿÊ©¹endstream endobj 11 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceGray /Filter /FlateDecode /Height 261 /Subtype /Image /Type /XObject /Width 452 /Length 1680 >> stream xœíÝ1ˆeÆñ-RXX¦°°¸ÂÂÂÂÂÂ"Å…`ca#X´°´La‘BÄJL!²ˆ…à‰A#„p ‰=1Fb‚G„%$—KŒ’ÄqÝÉÝíÍÌ›Ûçžù’o6ÿ{7“÷îw—ì»;™ýmÔz_ôz½?Û?í;=³cƒAÛ3]è÷÷jCœn{„ÑhõŸ¢õ~ÚþY‹/]ÃA‚¡ŠbAbØþ# Í0Â0C·MÃ}Oa¸S¹îY>sàQ ïZî†cÄâæÑ—Â0.{Ãÿ‹b½¿ˆaTþ†%bQ\|ã1 ë€ábQœ|5Øý1ÌÝp ±¸±üü +uÂp ±(./Õ× ó7܆XµuÃV«ë†]0¬"n_70ÌÐð¹ýµ^þ®öY›ë†.Íú‰åºa— ËuÃnŽþÑþº)†§_ÛËïa— /¾õD³4|ñ`½“µÏºñá3å3ofh¸Pÿƒj¿š+ûÞø†0¬^Ÿ~º Ã.n#¼üîÓÛ?Ša §o~¡ve†ùnމ†!0ÌÞpƒ°\$0¬ÔÃ’ps‘À°R '„S‹†•v6\:Ðë­<Û{rå‘ûc¸T]$0¬´³áWz½þ¾ÞãÁÿ'Km¸T[$0¬”ûߥ‹õEÃJ¹Î†6„¡[†×Ú?çÏi ?ÏÐp}%x ¶ÖþWü\œHc¸œ¡áª<ÄjûC 0tÂP à ­0ÔÂ0C+ µ0 ÂÐ C- ƒ0´ÂP à ­0ÔÂ0hpµýsžNcx8Cõýw½ª¡síq‘×Í´!x Æ0tÃPà Ý0Â0C7 …†ËãÞÆ°V‡ '­cX C·ù4¼}&7ÃÑú¤$ͧa1ÌͰ<ö¯$M_oì †Óåm¼(ÑÇp: ëuÍðïeob¸Y× 7Ò^.ÁPèê‘# κ­Ù ß;RV“âKÝnxlµ±C4¼Íf˜üG©˜ÛÝâ„áVºMÎÑ~xú KÃ9zL“0m?Ä0Ç0¬—f?\®¾ãQki†/—•ÇÞH2Ѽ>¨Ïµ}u¢±.á aˆaC2¼>÷†µ:dh\×VžÃÙ»}>7Ãk“§K®'j^ ¹¾à ƒ0tÃPà Ý0Â0hÄ}1œò¸/†Nja„¡†Zah…¡†AZa¨…a†Vja„¡†Z ®´ÎoÓ~š¡á`qq–7žêlûC¬ñÚ“Ù‚6¯b؆n a„¡†Baè6Ÿ†£~¿ßþY‹ßîüÂ0ó†»Ö+ï9r3ÉT*íÞ°|‚ëv’©0T°9 ݦ ã>Q›åo8G÷6I†ÍuÉð껑 ;ÆGå¿LŽÿ7ÉTî¦~oæ|Ǫa¸›ò5<>h¬‹÷‰J\¾†÷g" Ý0ÜMù²ÎZ¾†<¦Ù©á»‘êÍÜáòˆ““ãÙïìøÍa膡Rþ†ì‡;•¿á aˆaCIî_šæm[oßµá÷“k1n%j^ ¹® à ƒ0tÃPà Ý0Â0C7 …0 ]jÿœß¤1ü$Có {´!~jˆ ÜÛÄ){›`è„¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah…¡†AZa¨…a†Vja„¡†Zah•‡á¹aë}6õRû§}ß5ü±ý™ŽÊCœjˆ¯ÿÝj’Ñendstream endobj 12 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /FlateDecode /Height 288 /SMask 13 0 R /Subtype /Image /Type /XObject /Width 453 /Length 12519 >> stream xœímp×™çOˆa!À£ÈâE–eÈBD„/2XÆ`GÆ8à`‚‚#38^mFLÀ&³®W²oÅ“T%;Þuy¼;Î:Y×TÖÎÄ›qÊI¼;ÞubíVåC>äC>°õ‡Vwß«ûÒºçôíÿS¿Rõí{nëöés~÷9ýzí²ºv%~¼0F`üåƒeƒ;ç¾68'n¼0PýïOÌ ®”(Ħ®ë6nYÝÒúØ®»Wf.ù¯'okÒÏ5l"Î=èÚÕën‰!ñCeóh™ñï–{оÿʹíyaÆæí»·íÚ÷οüáýäyã•i€+¶è4Î=ˆ:õZBlÃk§çä¶ç…piÜuzÙô6p"Î=ˆ:ec¨Óh“T§×\LvĹQ§l umRÖédK5Î=ˆ:ec¨Óh“¦N'Ï«qîAÔ)ƒ@F›‰ö&1j¸^s¢NÙê4Úd­Ó°¤çD²1Ôi´IáÈ~ŠFÍÒ«qîAÔ)ƒ@F›ÔN”J˨™I5Î=(P§ïœQŸ[þ¿ûhX-+3¿Öštê5ÖÿíyõHËX…¬¬TÃ=êOWB[rfä½NÎVß=Zuí]¥¶×›ƒ…c¦±-˜òy§é5]¯N’NaŸ™«ÞH¤Óÿü„Sí¡þ¯ŸSGè‹Í†t5Ö‡E{ÆZ–Y]ªžé6\y¯SÄ¿=Zuá·q©ïæ,|2’TIç4þÌŒš¢T'I§¨Û7ßdNÿpQ½~|Œ?^º9™ÕON©ÿxll&’.÷[êá¶"µµ.ábncP tŠõýÑɱÕÿ¿ÆÍ‡*1‚ù¿÷²\*S^>¿Ï|Þ[¢õbó!·DþãžÿÏgÇf" À¶ólÙkNïÆ&+.+píF#ŠNUFЫIzz zÐ÷nV5jÏ­ Ì——œSß9Ì„ŽŸH§×KÈß°N7æRWõ *¥û°"fÊxÉ$T‰ Ó¨^ô-­Sl8Ó*Eݰ½ÁÊ4–ãß|“ÔƒR×)f¢ã{Ú§Fq·Rü(ÄG§èD½÷ìÚ ×746ßÖßœ‰—:…xõ¨Ç8ñÔ©¿ME’ØvHê™{&Ñ)!?n&uÚdޥ¿{¸4QBΉD)BW)jOÌ ½ˆ<‘¥@Œ¨L¤©(ìÉNñA85²À}¬ÊÝãìÔ)r0„ÞŒ1,?.ÈÏõÁ/ýRÇG§ØúØâz¦ìA¶ƒ-¸¡æf18Ö¯Sô>Ojd–xê½õ[ǽDl÷‘ÁŽÚ t*C~$Ô)øïʼn²S½òT7òïÓ#t¢t"$âU ‘©â­k.[~©c\碤Z®SNéõ Až0*,Š6dudŸ*~DÉ#uÏcbSº«3±­aK4 lzL£?Êé ¨lGÔ >‚ðè£x)^÷f©è©‘góÉ ¤ ØjÈB‘ !5óKÆ•Ȧ°á”š@§×œ!?‚:þKçmþoˆŸ-T/zT)§úÈ™-¨ùÛ‹Ç^ÊN3¼‹b¨[ÌÇïÔòòëû¡Pô/dqÒw0°ðYßY«S9ß ]a 9*‡UÀªéó|~xtL­2ÞOét’®ȘÀH~¿ÙúøUE@ª‰ß=ðÇo1^¢ :)~a=§•BžžE™<üFcÈo&Ú|bTl>´aôV)Œ>‹;”ÁÆÅvtïº0Ç“ë¢Gø‹å›tš¨Ál¨jÈ=B6 ²;T¿Ä[(€-™ þ%SýþÀØA2U°}¬_¶ˆëa¦Þ:˜Ðe&»e‘)~tdò5g§²SÝ&-'0B9 »>âšs6Èw›_ßää½NS?…Ñ{ó%z® Ç 'Àþ]Ϭt{ÐÖºq‡³#J(:E¢…díMvÅ»wkXN`„¢Säárr~‘vB§žÓø-„:Õ`†ÔHòχ›ožóf5‡Ì‹ôš³!ÒêA°FâˆêF—°nòúñë'“<¿/à’(k Œ°.‘ƒQÑå°£ý.½FŽƒý/uŒm¾gº£àÒœóN÷˜´¨Ž´zÔñ{ˆ·Â0ï(å8߇:0¹½ÈÔoQqîAÔ)ƒ@F›œÜ%‰EuĹQ§l um&ù}ZTGœ{uÊÆ P§ÑfrnºEuĹQ§l umøpÓÄY§?~’aÔi´á£÷Lƒô‹ˆœr.ÿºG½x°ˆÁ um’ê4Õçôó¯\]›÷|µoîW÷”°1¸¡N£MbæÆ¢:â܃b«ÓgúÊØÜP§Ñ&NjĹQ§l umRÐin"Î=ˆ:ec¨Óh“þ³¢&)â܃¨S6:6Ô©iâ¬ÓÛç6†ó-ˆmcø›c9îz!u lˆ8÷ /õß‹æ7ºÖÝÑÛZØþ¬»æ­wÿ†¹ç±]wŸº¿6Ç]/ÄÐ:ýÅû?3^™¹äéí·j£ÚqîAë6mA ŒKî¬]qϲÀÆÐÒ¼òîUkŒÃܳº¥µsã}9îz!†Öiܘ9sæÃŸ»nT"Î=(¶:]\œ‰Õ­\ÛÆÐ¸¶5Ç]/Ĉ³Ng̘aºúoFœ{uÊÆ P§…:µê”ACFêÔ¨S6 uQ¨SK NÙ4ÔiD¡N-:ecÐP§…:µê”ACFêÔ¨S6 uQ¨SK NÙ4ÔiD¡N-:ecÐP§…:µê”ACFêÔ¨S6 uQ¨SK NÙ4ÔiD¡N-:ecÐP§…:µê”ACFêÔ¨S6 uQ¨SK NýÑÚÒÛÆÐÕ±%Ç]/Ä N- ê4n$Ñé὇{výúï7žÜßrŽ»^ˆAZÔiÜH¢Óg>|ùÑ££/¼7þvðËßüÂñw½ƒ:µ$¨Ó¸‘D§piluúÊéÁw½ƒ:µ$¨Ó¸AR§yuj Ô©?¨ÓˆujIP§qƒ:¥NóêÔ¨SP§ êÔ’ NãuJæ Ô©%P§þˆƒNnܸ«µÍͽ»¨ÓˆBZuê8ètg‡w£ïض“:(Ô©%P§þH¢Óû–,Ñt54¼xäH*Ãgß8s&•’_¹òê©S‰Þ}shèÈúõÔ©êÔ’ NãFf:Å»Ç::ž;p@e…WNWeXÈ÷žx"•’¶´ìmj |ë­³g+fφ™©SÔ©%AÆŒuê6á¡ÖÖ¶ÚZL|téÒOŸ}VÏïüù/^Ô/‘‹"ÉDÿBð©FFd˜Ïê—H€ž£îë›YT$I2uªƒ:µ$¨Ó¸ŠNá:$˜ÀL¼¥çÃrH_Å–õ••‹JK—WT”—”È_/ùíâ²2±å‰ÎÎi……øà¬âbXsžÙ½sÀŽU«<_㩞Œôñ/¨SwP§–u72Ö)Ä(i!&Àû.$Ñ)rW=Zhoû)G§n—â%²MŒß%)…~/<ˆi|6Ñ`L†NÝ{ãÚVMíÝ w,­ÉeOÌ&¨SK‚:ë~;ÙÕ Gd’ø›D§·L™¢%a°/ã}”l¬®.,(:; ð,D@:º¹¾>,öwïìÙÒíáþûx*¤cëŽÍ›¶ =xÈe7Ì2¨SK‚:¡ öpò$æ`D¨SØRÞõ/:Ej 'Ë8³¼¤Ä}Ú€²E§H;³©¨Üu¬ƒ:µ$¨Ó¸!:íÞÓßÙÓ·yÇžö®BˆÍ_¼ÿuúæÐæ¼qæŒG§Ë+*$;VX¨Ë¿}²²d­HPeo*äÙ^W§?þÚà –L¦Ô©%AÆ Ñé¶Ýû»÷ö·oëu³dim>³{· É¿}ô芪*˜ó%•ÓPa9L‹N!öÚÚFF0ÌǾ«¡ÁídŒñññ¯\?¡Ö—ĺÈT‡ûúFoœ9à?²OujIP§qãºNwí÷wÀ¹ó+é´böl Fëû››µëžîíE.ж$‡ûE­^¼‹ÊúÍõõRŸ•ªx·¾²RÌyùàAÌŸYT„’Ç::d™¯?>«¸ÿ(ðËà_øúS§Æ›Vî¡N-!ö: è€ItE¨Ó¼‡:µê4ïuÚÕºÞd`à¸g­û8Ä#û…:µê4ïuHŠçÖÔÕ/ª^jºw¦Ô©%AÆ ètÑ‹×mè¤N^]Ìêô“^ððøž¾Øêô‰þ‡ù“Ÿå=û{ûvlëÑ,^¼Ú{ñÔÉÒš»šïYá¹èwôw uš<¨S#ñIPûJÿã]~²y÷7¿÷ëôG_õžgž—ìmjʦÅÂ?ÆW!D¨Ó|ÂBÆúåï¨Sêt”:Í/ÌêÔxc6uJ Ôi>A:¥N…í«×xv?´©ƒ:(Ô©¨Sê4 ÔiD¡NgîXµJº›‡GŽzêdï#þblï5¾ “ uQ¨S#ÄY§ûö÷ïÞ·óþ‡âyÞi ÔiD¡N@j ÓÁ¾}±½**ê4¢P§F N5Ô©ê4¢P§FH]§o=+÷.Ntv¾}î\ºÿîý ’ÜýØÃÇW®$º±ç¨sßû‘þþ«‚:õCF;uúÒÀ€Èþææá¾>÷ã}S yª'Õ !œ$ÿ_@Ç©ëTn//E‚K[jj¦¦kÔŸ>ûl’ÚöÐÕÐ ·\öóæÐP錩›9¨S?Ðé7¿pÜT¯Ì>¨S#‘¨9A³gë«-+/—›¥§Õ&ñÙÔŸ/9³¨Èÿ,!áòÁƒ·L™â~”Fö¤«S÷TÅéîî ÿ2LýD¹$:õ<˜~Ôõ¸:ømB-a»L†NÛ·ìÔéáž]¿þûÇ'÷÷ŸÜßoªWfÔ©‘HÑ„0 ë'Q&f‡Túâæƒ‘ÏxV=š :êmlD>X¥S¹o¼ç™|I$Òõ••³Š‹ñµÛëêukâ' Égcuµ¤â¨"äºø ÖQžèUʦñ;³­¶Ùiò§&e¬ÓÖM[W6®õÜá³´tnlï‡ÓÕ±ÅT¯Ì>¨S#‘–Ne¸ùú¹“nÕÀpByI "ôBðñÅeeòHJLÃ0(ƒÂpŽ,>‘ïãq&ŽOAªÚT¦tªw}À„X)‘a""™—•E±UU¨ѩǥ#ýýøÈ»ÃÃò_ dB¢ìT˜$®hl^Õ´îÞûÖé;|Ö5Ü»üžU±Õ)jÀT¯Ì>¨S#‘D§²N@¯?ÑÙ)oêºÀxü•ãÇGÜ f€ E§n—Ž:;7××K‹!3Ì#óUPvê7•qâ·i§d’:Å꣼ÞŒ•B ˆN÷77£Œ~«¥¦Õ‚·ˆ÷éÞ^S: lq¾ù-uE"¡S¤‘P¢è.P§ðl ?¥@([âƒú±h˜ ë~ûèQˆ˜Gž¬ìÖ©{ÎS==¨œD:õ—½±ïÕˆ½"(3»Ÿa÷ÌîÝÔ© P§ÅZzv{bˆÚÛØ˜H§˜ãï㘉wÛjkËKJ>ÑVÁK·Cd—¬ŠŽN‘šÊHÕ¢ç+gg~”+;}mpðêáò☉„\'¨ø¬ûÌŒô¥–¨SãP§%*:…K!FL`´«uúò±cêFvê  ˜ÌÄ_1tòo é’˜–¿²[§zHþƒ“'—WT ðÒìi……rLm¤ì@°|ÉE¥¥rèÿã+W0¢howŠÂǵ¶b¹¨ÞwŠD‹’}¨yõS§¦ N#е:Åà];zDg—ÃÙPú;´0Š—…ÀŠÆB5˜†faZ;Yö¦B>£ÎÃÍõõr΄’’’©ñšµM§:ð…±Ö¢P¬~bP3ûc&~5ô‘}`> ¸ì:ùªœ÷…?ØÒ‚/+/ÇbõÞi¤¬(ŒZ2®ÓÕkÖÆV§mmí“Þý&-¨ÓÌ⥠Š2úxº‹axŽtKˆ1)^Î*.†+w酜߷3Ýfp§¸P„ ù!"h%—•a âØQ'ƒÅ¢°Ût:!X£À‹˜ä Ô„G ¤ç†ä5„KîßÚݹ~Ó/ÞùUÜØÓÕóèžû3êRVušY”)U T±3}‡RóÒüxf^…$«t#g¤ûç*%=× ­M÷JŒá5ûš$:ýJÿØ^uñÑÇ2î•Æƒ:Í8ê”ú7Îßjçå¥V¤üYãíÖÔ©&‰NáÒØê”×ìG‘ltZâü=§Ô5‡Ÿ+uÀqiKÊK0ÞnMAj¨S?ÔiDÉF§ •ªTêoè¼®Ô¥R?$i¼Ýš‚:ÕP§~¨Óˆ2¡NË”jPjR}¬uÆøtéôR;•Ú¤ÔzGª÷MTíÆÛ­)¨S uê‡:(êt¾Rs•jO@—Ë¥às®·š•jš¨Ú·[SP§êÔuQ&Ôi…3¨¿–>MÔib¨S uê:}hÃÆ ]fAP§‰ba:]3Qµo·¦ N5Ôé¨sqŠû™ -wÝ%50uêÔôef>¨ÓD±:¨S u ö¬m ì›EE™]c8¨ÓD1/ Þ;QµoƦ N5™éTžÔ \>x0•ë¿’äF /ûèÒ¥«‡ËwÐ÷-Ï€D:5xx6A&йJÝî;ÕªÔã.sþ è+s·R+'ªvã}ÙÔ©&3âÝå÷-Y01­°ðµÁÁtÿµòÝ0<Ã}}û››=3?Y\VÖX]-·˜Àt*Wä’7:ýäÒ¥Ožþë'NR§1Ûc£ëü¨gÎàøÓMw;FÕeÖ9gIÕMTùÆû²)¨SMÆ:u›ps}}WCCºÿZ¥¬ÓÀ¿À±ËÊËåÂdü…Nå.=7:ýÝsÏ~ã£W¯þhøk}÷ûñá7ÿéRÙd œa{«cKA.#}Ç¥Ó‡dµÇUf«RŽW“‡ñ¾l êTŠN¬_/:}ãÌ÷­1ÿåcÇFÝ ´·ËÍsv¬Z%#w½i¯«“=?8y 'Ò]$½r‡œç(1èg:¯ž:%71 ¦òHÄ@òF§¿}î9`¼Qå5•MVé°m<›Æï&mó±ÿº‰*ßx%˜‚:Õd¬Óc€'+fÏ–Á¾çnÛúVØ(#{ÿÂ…¶ÚZ¹+G§p©ÜÑqÔ¹_¦ñè.•ùÂÃÕ ÉZ¹í¡<Ù!é´bá¢Å5µš…wTWT.¼í¶Y©.AN¨Ó…™ŠZ;Qå¯SP§èôxïîÀæ‘ú¾S¤rïëD:…%Mun](Ó(y¨µUß)@ÑrknïŠx“ßå–Fîªïjžœ‡6¶÷nðÒßÝã×é’;ï^rg­ä×sJçfbºœujðD©OžÞx=!P§—?ñ?øZÜèß¼u÷†MÍ#õÁþH?¬ˆ42P§ÈHUÐÓ0SžúUæèçbë]It 3O+,t?&&9g6;æÎ¯,-K÷F˜¹ êÔ¬N?¹rÅÃwŸœz¿Ë^§sç-H[s¹ ê4¹N˳Ðé„'Jýîòe_;|$¶Ï³ˆ­N×Ô6uúÑ¥K¶´ ÉÄÄÛçÎá-üÇ"eÊ3³¤üÓ½½õ••î… •#Y#–£Ÿcø/š•'?ºùÁÉ“î'ÃR§Š:MáŽR·Ý¸¿Q©GÆ;óOŽ3›‚X¦Ô=éoŽ8?m-Î:mlþÜŠÕÍ÷4Þ‡ ,»«þñ]»“èÔå%%z×(Ì)É’“BE§o=‹2x«½®¹¨~|­Èú…eÈm¢þ.+/_^Q!YëHÿ-S¦àãîï€Ey¾F*»OóF§›ìóÝÛ©Ó$•6S©%JÝåœ5G©/×é×2w9ãz7+—.MQ§qCtº¡³{õÚVlz7sæÎK¤SýXFÁó.òÆ—>¼xÑýÐ+䮯?ŽÑ½žƒêK™ÜÜ‚{‘¦B¹î‡Ý¼68è¹RàÝáaÏ×Hå4þt:¿23†‰6ušJíÍw´ùÎx–‡½¨Ó¸!:Ý´m§ÿ:x#ÿ®Ùß¶v]wÏŸ줿fzöö·oëõ0oÁ"Ktšh“Q§©Ô^…R³œG™üá†KåÌŸê6¢Nã†è4ð*ï¼Ôi ‰Î;Å€º½k§¦©µ}åš–òŠ…¡ö¹ #Ñ&K¤ÓŠÙ³õg1ÝÛØ˜Áô™oûíÒ¥gvïNô.†3‹ŠBÜ‚éê´äÆÄTç„Ò)µc¶u7¨ÓÑh^•N÷65}ï‰'ÀËÇŽ­¨ªrŸâ›"©ëÅðßzãÌ™E¥¥*ÔóÞÓÕ©DsS‰OßxziˆAÆ êt46:uªûöÑ£…2 ÁêÝÎÈß:{öº£.]zñÈ‘á¾>}…[§˜)§p€7‡†Pìêáòü=ÖÑQ:c†ÿ¼ ”™VXˆw•:Õñ)‡)ao#ê4nP§£ñÓéÇW®jmm«­•—ÊuÚÊÈ)¾ï_¸ çf@}å%%rÆšÖé‘õëñ®ì.8ÝÝ=«¸x ½}ǪUP( !Ëüg CÂrÜPÙ¤ÓI ê4n@§÷µnì꽟:õ`Iß,¯X¸rMKSk»{/.H´É’ètfQþˆÓH)“èÂÔg¦½zêÔ²òr$«¢S·K!Æ[¦LÑ‹Ò7ÃI2ؽqÝuš¯ÄG§{‘ÄFØ„¾é³Æ|OɶޮÎm½žƒàïOi×Y´H¤ÓéÓ§›î‘ †œ·`‘ÿƒ„›¬{—g“ïÛ7êÛw*™¤œÖ«‚tZ_Yy~ß>OEA§©r.g“9Ð&̬ï%ÞÛØ(ǘ¨SEšþ9 Ë ïìØbÜ~¡³½±±gK·fó¦-hEÅÅÅvèd³Éz7´úöb¼ºSétQi©ÿ¨tŠQ<Æõªœ3Œ2å%%î§3È¡NujúkäêtBþvðËôôV/»óÖiជ˜IÌ·`2túáÅ‹ò_>xУS}{„Íõõúº`˜syEÅ»ÃÃ2؇Š1ö—wå4úrŒ×å&Þ1Ôé'/¼àáG‹­N_zòKÆo*žvµ¶Q§êô•Óƒ¦z¥'BÔ)d¨Høsä@¼œ4õÆ™3r;Ñé+ÇËíeÞ:{vs3ÊŒºE½zêTaA\¹†EÁ½o ýàäIä´rÐJnc›è¬ª|ÕéèÕ«þáÜ3Æ»üdóOŒúu“û¢³P§ÉÉK"™t?üútw·ì8u®êíjhÀøÚD¶9Òß/ó1ÝRS#ó¥ðS==ú¤)d¡r_D¼õ`K ¤Z_Y‰9ri0²_üè7ðb|$É l3ÀÆ’8ß>š:«t:{NY(:ÍolЩñJ0EœuºcÕ*÷èW¯l”ûÌ?r|ÐS'MŸÛ¸öÞ&ÏëÚÔa|&«tZ2kέ·ûŸ h“­hXáÝd©Ó\„ñJ0Eœuêa°oÿÖu­í[wÄù¼SVétêÔieåóçWŽ{jH´Éx S[Êx%˜‚:ÕÈ£÷b~U”èô[_}úÌñ1åÓŸ¦N­D›Œ:5µE}·gvïv;ä¾%K2è¿XÈŽU«R,|õða}†æ½ó籄™EE «¡!ƒg1$"uʃãå><@©©o§“"i]RxÃóá¾>lˆ×?ºt ^VXVmˆN»}LŸáŠ¢iÓ-YFZ›lßÚµÔ©©-’è»ìêZ^Q¡²¿¹BKå1‘ž…À )Æ—ñ? Ý\_ÍL¤¾´ IW§î9ÕÕr+ í3gô|üâ¸oi%^>xPßR/ë‚eÊÓfÂ¥H)!9d#VÝ‹ª:}i`¬û(L(d£Óóûöa½FâGGfBqÊIb߯þÊ|dõÔë}§HÈQ²Oõ©hd±²;4P§²ÏUçÉ{³‡:Í'~|ñ"ujªò}7¿NÛjkeŸ!´)wÛun¸- –•—ëÂû››ñ–^$íÀ×C&PŠû`deäð“ Ò)\Šòz?dˆ¤«S-¬ \*?(È«o™2êÃ’F½ÓÅ¿94„—ÈϑͺìïmjZQU…Ú@¶Ã·x¿X¬<µŸEUëÝ#–‰ì×ý3ä>© ¨Ó|Òéÿ¹xñÑõäŸ üâ_Ň÷Þû›u*»ò(_:¸¼…iX’”…@‰ÈNtvBP+Ä‚ ­SdnzÇ <´ žA†E@Â’n)GYn£âSXÌãvHº'ke¯SX k! ŸÄ/…û %È•€/ g´¢8|süâÈQ{ÙçüÞùóúç «aÊo ŒŠß)T–¬ý‰™( ³ÌÑ_CпJÔ)uª.…Qyðá,ŸQìÔ©ìàR- q†¨P" €­-¢ä¢ÒRøA­ò<îÑ9„ðþ… çS==õ••òÄ}.:fbQîÓãÝÓ„uî:/2¥N“]J^ÎìÔiÞCj¨S?ÔiDÉR§s\Ós•JwAÆû²)¨S uê‡:(Ùg§µJ]Qj±R³—ÍJ-Où³Æû²)¨S uê‡:(ÙèT>vV©k?WjRw)µ.å%ï˦ N5Ô©ê4¢d£Ó g€ÿö ‚וêQjCÊK0Þ—MAj¨S?ÔiD™P§·+U£ÔÝJ­ñq¯3®ÿ£K§+õ€RmJ5:ïÞ3Qµï˦ N5Ô©ê4¢L¨ÓrçxSS¶º\zÍæë·£&ã}ÙÔ©†:õCF” u:_©…ã™"MNŽš<Œ÷eSP§êÔOÔuÚ»çØêô¶™3“ÔÌÂ,tºf¢j7Þ—MAj¨S?Q×éð±=pç”it"%¬sÎ’ªKcŹQ§l ‚Í:Í~£ìYÛ¢SD,ðÕS§&O§*èï‹JK‘šÊ´<üý£K—r£SHS—Œ?Ýôš³À¶Q¨S6MLtŠa¸~àûS==ð¤Ìw?ǃñöººŠÙ³—•—_>xЭS|üÁ––2}º»{qYJ"í|ÿÂÌܱj¾0TÏÎ,A;ËG)ŸKÎsFý#Jýá†K­Ô”ô·7Ù+¢P§l šüÖiÓµÚH?<ÙV[+û6÷65ìêrg­˜ø`d¤tÆ º“úgΈNñ©®††Æêê/^DÉcp)Þ…Š¡SÌÇÌw‡‡±èZÊ‚Âðm(.MK§³]›•úoJír^~ʲQ¨S6M~ëTöÂx3‹Š DÉ uŠts-«Á[Ð)>‹BƒÚ“X†í2‘;’^9Ƥ‚ûš§{{ñÁ·ÎžÍ½N%Š•ªr&>­T¡RËìÛX…:ecÐØ¬Óêeµa ö!Ãå°'Ò)æøw“B§xƒz¤£²ÏS²POÀ½It*; ú†èÒ t*1þ-J(õ™l7Ž7â܃¨S6ÁfVVUOŸ>}îüJÛwyÖ¢ïC»ZÛܬª½«zaÕ¡¶6í ÒE˜n¾68¨"{”a»€±üÛçÎA§ËÊË!Rüho-£|à)O*H§(ßV[‹ÃÃ!º4cN^ĹQ§l ‚Í:-..ž}ûœ9¥esç-Ð,]^—Êiüžl¢C’)J<ÔÚÚ^W§‹)G§ðgaAHù$ÒÑ‘þ~}(êÕS§ð®œP_Y‰%hc°/ŸÂrüùçþæf”O²C•::Ô)ƒÆfFŠ™Â“  fãƒ-55ŒŒˆ§“˜ÓÕРnÜ é+Jö66.¯¨À[ªûD)¨X†üoyI æ£äÌ¢"è.*-Å|9%@@~‹…c™ò5„°ÒTêÔ²Ñéë?ýÕøñÿxó½ÿm|-2€:õ“¯:E:ú½'žàOÏéIï?õða¹TÊ}ÁÒK÷%T(yŽÞ¶c¾,R}i`æ„0õgájp÷eŽ‡ÜŸwš›ˆsÊX§+׬EÕ=r|ÐøZduê'_uš÷P§–@²1h"§SÞ>š:µŠltúWßúæË‡ñ¾ñµÈêÔOätºhñÒUw´oëÕÀ¥÷÷õ÷uÛÄCQl BätZ±èŽ•M-M­Û»v‚¯=öãf£NU¼{uÊÆ DN§ž0®5êT"Î=ˆ:ec¨ÓˆBZB6:ÝwèÑ•kÖþù_>o|-2€:õCFêÔxdŸACFêÔ²Ñé±Ó¾m×¾‘¿þŽñµÈêÔuQ¨SKà¾S6 uQ¨SK NÙ4ÔiD¡N-:ecÐP§…:µ^ÅÆ ¡N# uj <²ÏÆ ¡N# uj Ô)ƒ&ê:ýèòeãf£NU¼{÷²1Q×é÷†Îþó_ýÕo_úVÜhX¼x邦«ÿfĹQ§l BÔuúåÏ?¶m×>ãÕ˜{fΜY^ZjºúoFœ{uÊÆ D]§pilu:cÆ ÓÕ3â܃¨S6:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô)ƒ†:(Ô©%P§l ê4¢P§–@²1h¨ÓˆBZuÊÆ ¡N# uj Ô©?ª–ÞÛÆP[¿"Ç]/ÄXÛÖ[™®þ›çDzb~eÕg>sëÌøEQqqõ²;sÜõBŒMÓ§O7]‹bÊ”)S§N5]ý7#Î=ˆ:õDAÁÔ¢¢iÓ¦ψS@DÅÓ§ß:mZŽ»^ˆQ\Œ5˜nº"sÈKáÒO}êS¦«ÿfĹQ§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJP§ ƒJÄV§ÕËî4]÷ #¯¢nŽ0jܸcéÔ)ƒÁ7þ?DÁ•endstream endobj 13 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceGray /Filter /FlateDecode /Height 288 /Subtype /Image /Type /XObject /Width 453 /Length 2066 >> stream xœíÝ¿ogÀq :0t蘡C†L*µBêÂhUXª. ó0D‚…Áª„”ª¡ˆ·‚6mƒÚPYñKŽPPƒÚBI%@j߉?vüäyÏyß÷¾ßétî“ _b¿þ´âº¥WÍ-¹®V2v£¾àx¤k•t#äpU¦W]W^wÑù¹—¬ˆÎ'jVÑÃU™v~JAìˆR ÚkCܵÄ-ó±4ZyÄ-òq×äêÍ#{Aì•÷ˆ¥=s««+#»@ìšÿˆ¥×ZûFß±K –†éîê¡Ý J…€XYÉü56bgA –¯›=ÜqÓbˆ¥£mG›o:@ ±y£ÑÞÆ›Ã@Ln4Úk¿éÑGÄ3åÎ>y°ù«Ön:@ô±Öï¦7 ˜Þt€8b³Ù‡ÎÑžqaì?‰A#6ó¹*ÓÎOY8Äêhg³_• ‚è)¢pŸ8¶éKÖA q£a» ˆ¡ ¶n1ÄuÃNAÃ@|e( ‚bjØMÄ[†=ó¹*÷œŸr²Èˆc[æsUþs~ÊÛ;Š8=Ú”.•WwñÈV‚ öƒ8²¿T*¿^z³,v>Ñj;bW›‚¸–÷ÿ‚¸u JhD] J-¹ÿ;óÜÚ¸·œŸ{Á?Ä_Ë[?!ÝPWÅý÷ÅÌÚ¸º×-ôSÝ?Ä í9\¨ D)­¨ D)­¨ D)­¨ D)­¨ D)­¨ D)­¨ D)­¨ D)­ÅŽXw~î?@ʱ/”QˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR!¾¨'‚Ø^`ˆYÊwɃ¨Ä8—­N‚2bºQÄÀ³g§Ç@l/0Dî¥@´æ¢ûeÁU«éÆoOŸ;lÄô£ï:¡î~¾< Ñýƒ§h Dm Jh Dm Jh-NÄÛÜ'‚Ø+¥@´¢6¥@´;"ïÙñNòW¿S¬ž2bˆ (¢5µ(¢5µ(•+âuçç¾ â—¸¿±ÙwyùÞ™·@ ñà|óÈã™Ü< Dk"âñäÐ¥BA¼Ù:òbD)ÏOÕ³–[GVšã vä9bµãh ÄŽ@” ñYeûk.€¨(OÄm¼ ÄíT`Äsɳšù'­ýO“í³ y˜öÁJkÿì <­Xˆû§1ÐL²ÿˆ]3!ç<Ðøb«ä½µ/“ÍÅI…¼Fä‰MÕf’Ž‚¸^ý_ç§¼š+bV5DÄJÒç#„¹¶[ ˆi¡,RTÄ©ZíjòƒÖ¸VKûÄîù‰ØìÝäßé>D(ˆ¿$ß…cþ f ñb²óÒÞðÓ\èk¤)ï4²€xãFsßâ¸<ˆiÛ»OÌâîòO—çg‡Aì•ïˆÍ†Ž}ÛkC@Ü"Aqàø¼ÑH7–_:?·öšMdOf³žìø@¡ æÙ‹úIÕëü=˜ó@Ô¦}µ[A;?ež…8Ôp>Bä ôù…˜× Z‹ñÉLúJ¡Õ+îÏ­EœL_ðj ß+¢Ë‚eíð}bž¢µØÝÄß åŠèÏêÙ@ öˆ ö D©|§&Zð1Ä~óxE)û D{¢ˆÖ@Ô¢ˆÖ@Ô¢T±_ËADm¬<,¢5µƒ8~8–壋‹¸ïÒýùSq,]\ă·šG/‚( âgÏ[‡~Q*ÄkÉ¡÷A”òñólÍŒZò*ïgÍ ˆyŽã²` ‚(ä!âi•yˆxDež#~“¬qz?Yðt%پhí|Çc¼—\Ó+ƒxð´!žn-¬î|"ñ‡dÿ‡ vÉ‚8ã|š¤vÄôc†’7_¿L?o(ü*âN=±yèü”s ®·±œäþ½b¹®w b+ƒ¢Ð¶¥ ¨_p>MR;â¹z}þQkçòìƒÏvŽâvÝÑÞ¦[Œw’?`üÁòÑFLÿG½ÁòÑF¼ýgsßÃ/:ˆÖ6!î.Ï]ÿçÊ0ˆÝó±ÙЉï;ˆÖ:>N§ªI¸O±Ÿ<¿Ù±Ÿ@”шÚ@”шÚ,ˆ—Ö?[Áe j â…R öD)­¨ D)­¨ D)­¨ D)­¨ D)­¨ D)­ ¯ñ±g"úðq´ QˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR ZQˆR¹"~5ẓVÄ)ç#׎ÃUÉ‘ˆbA FˆbA FˆbA FˆbA FˆbA FˆbA FˆbA·]wf§ÿIÅëâTÙendstream endobj 14 0 obj << /Filter /FlateDecode /Length 2531 >> stream xœí]Ûn7}×Wìs3¼_€¢@ìÄyna }O›Ò¢éÿÝÕÊ^ÒÚ#ñpiÉiv 1oÃáÌ™áp¬9~ݨñ[Hzøøe÷×núÄ+½ÿàëo»Ÿ¿þ?Áíwþyc”Ó¯«aúúéÃ0ÿçëçÝ›røü÷Ø‹ÕÚQùAIç§ž>¡åþ“`æ?í~¿òy(¡]·©¸§©=œ¼\f"§æÿŒ=Ü>ìÞÜËA+aÌðði§~ÉááË.ùáÆo‡‡_‡ï¥Ô·? ¿ï”Vj›¼™~kO±w{ŠÁDkL|"8?7‘Â{+½v %ì)N$í¼5i!蹉Ñ+Ÿl6Ê[DqnO B3:kba9S‚ãÔÒ21iÐÄÐŒñêÑ6¢iÁÑË•ŒR³Pî³á½µë󒦊‘ªŠ_NU,åD_3'ß?œ•@cÆñ’±Ä“ÆöBí–o£p?ûd‘r¥…wiü±¨'sÁ„ƒ@#“UË–ÚÛAš¥9âÃ1á0Y#œòFò©Åû=Á ££ÒGÂqÜ“»[oG8ðy… ÙÉ®0CæÙj•ŠÊ,byÐ /¹ H8œ•ãIá]zùeô”)‹ºr5Û¤£_eUHq½EA(¨}â·hõ¤“·ë«âúþ- Žä-lXaü:O€ÓÍ7°ì 1 ¿ðƒ.?&l¢ZÙQï)ZÈGcí¬.SòU²^p$¡ud³òF®Ù‚‡xVxô€˜…Íbß‹æ-Ê*Ô’,ípºPéå »r¸·Èf.:7½:«îw2ñ¤Ð……¨ë þâи°e˜W%Ž^9TßP ÑiâM^ C`èhu÷µÐ†Ñ-ëV츛å0x8%g´)´!ÔŸñp? ªƒŠÂMN_­ð^Ì­:ùòÁX é „æÛ[ {B«Èw·Ô­ùît@òe»»nvÿ<Æ/Ôk!8®„Á|6ziþlÆðB;¨6jlveW´©UìÂiãŒ!­Ac#Bqú ¥µ%bœÔú4Hk0vp}ütkv¼´¤ÝTŠÀ æ)J–¬sÎWœ 0@`‡w7Ys,#¦ñ Çø Ž×Ás½c1±ó(Ÿ #tÜY^»u3xp²PÚNŸ¿Z0ê“.Œ€¦À¤MˆV‡ÿ<†‚1I´á6Ò¡tĪ Äí»÷/øø0í%aG ®‚Æ8b–‹§—ë ¯‹;â1è0îj dÞ ×ó³ÃÜ[ o²áÊë""¹âÉõK¹t:v‹]1êB‘X¸t}J#„:’ˆv4(ª†½¼ìÒvžÞB˜Ö-H‹%”özbï/jên"Œõ°ÿ}Òøýã—ÇÔ¸7¿ÈáÝŸ w5©E‡qêùì–#ž§âGý1,‡÷PÜ+Ÿ=ݳ§¬Ê‰¨ËìÁÓ%ï’/‘ØSå)ü˯fNdä÷/ è;û^ãfÖù¸›Ü̉'<„0åÛBzøö§[†Éus¦ú;÷¦M1m6i1nH( œ,!néoÍ-Øä\ ¹`ÎJE¡ódþ"¨.)OÛ#É;Åæ èd¸oDSö¶?ÅéóÀÍïûxÖIG^p¨È"õÁƒç¿ÐcùöÀœ&>úM|6Nº‚]Ѱc¾Z`„JûU†pkV„ÇÈóhHƇ{ ô¬ ”\Ü‘)¼¢†.Cîéj´òÿó÷›ÐàëÏv.Ó&9pc§Çjû°Ø¢ IõnUIÎI¯ÍÌ6b¢µ´vÎ 7N¦c•ÅÖ¬qSÀ˘4ýÐÊO?ŠÛc\ìæ@Ü7óN? ±©×bsJ=2½áß¿ãÍ"˜,ÌFª.ò_ùòv¶hä@ü<Ìz¡ç–V®{MüÓ¦ò‰ô`„âŒÆ>}ïZ—&ïÿ!t`5øÜʪTÞºg‡—ÈÇÀ`ƒŒž7äoàÐè5¨¯šcмåÕÁ¸˜D2zº¯Í,鳑iëÄ$#¹h}×¹G‹dFH~‘¥·ï2‚9®_°BxO1ÎY'Fj0§w¹­wÒïµgC* Ÿ=£¨ðõ<5W=Ue´—B6X7+Qú9-Õ)ÑÑ;žœ¸&²Œ¿ã”Žk,®J¥¨1:ó›é·|ÜÉ[0¸ƒƒÓ<þI"ÄÐaš/BA_Þ_5~‡[TÅï¶’j\¸²^T»µ ]3ãµ<¡Î¯@;Ÿ0ŒL”ô†Ï'ùç1|¾)öŽ‘suæ Îʬødƒ~O‰ð a¿ „Î1ûÜ-³è|ÜeóÍùޝ1õ<Ý(¬U.¦ ˆ¯!÷øª•#àvÐ*,øÀ—¿Ùd…ʱ¡çqa+´1óù\$È|~¥áÛ&tlÝY}B'Mâø#]U‚X6„w1†5;x¼kØ1@*º,çQxÃ3CxÑ€à9Þ)Ä+þ¦þ¢¥ ª‚¾EÖ 8W* þ1Q¿xì©!ð »´™èX ù¹ ó/Rˆ­cÅ®~]é ZþÒ†ÇèçX¬J§ Ãúð*Ƙ±5בu'¦[eŠW” SåùcY£ç»íÑ@Ý{ÄVç+ð/MyŸ !vãIôm…53ú~ÂÏMèÛë5†Uåo@,Ý˯ZЙÏbàS(0Ȇ6ggÃÒ¥.` ï4ä¼\e®­À˜]ÇêÓýXˆž9Ie-kX²Æ1*܈º„~7xÞ6Ôƒ žhŒKøI=ïI®X+¸á¶™½ ­{Qåò5éúw׬žÖ1Îmæ!öqnïäº$À·L¯¦l/Ð|nÃÆ#^àæ—¬Ùóˆ÷{ËÝø†ë¡~UMÙVAD—æ„’'ØÝÚC:‹®ú=ºæ_HÁà˜Î¤EI.ñ lS4¦jqh'@6ŸOŽ¢1|ÆÑ¦T’禮.©š/_Æ×·†Ù$•÷Sì¬6Æzz l˜ò\=þ~æÃ‹K>´þ%‚9.ýâ§|0íÖ Åkbò×9Unqyø¢tý2þO~ÜÚ…Yåß4¡ßÇ7œT3¢c2}Ò¨ðÞaKµ‚ÞE¿šfž-S“¾}¢á:Ô“°¦8åö1‰`)ØO˜·|õùÏC”Oendstream endobj 15 0 obj << /Filter /FlateDecode /Length1 26604 /Length 12172 >> stream xœí}y|TE¶ð©ªÛKöÎBVHߤÓ²“ÂI ‹`Ø7$N§“4$é¸0`@E}.¸‚¨€Ðl—ÁmFÇqDEeÜ’þNÕ½ÝIgæ½ïý¾?¾iέsO:uêlUÕ°dY-ÍŸGÏ{À0áoÖE.yÔ o¤½ ™TÛ\××y­ !ßG×5´×îþcbÀ|÷«­·Yj×Ü#£ÄƒÃê‘¢†øy„¤úF×âÀíp‚|®Áaµ€<í4@v4¾Ÿo´,nÖ.Óë±ßAn²4Úž;0à:À€Öæ[ó#ëm$OÐÞ\wúþ™¿=¾á¹y!ù?êcp(þljyõeÞî»f÷ñ ŸtÕéŸÒç?ä'‚ŸºÑÝ“ HûËôOAè ×;ÈyØA|ÀlÐàhdœn0ÎË€jUQt„œôÏ$@rÂ<»nÑÌ‚ÇÉ*"Ñ­ð,Ýê¹— €3ÒvèDÞ!H›‡í":Âó òß-9I&¶‹š*îD؆ð Âz„äoåc¹ 8‰¤7‚C3Ëógœ¯Bs Ü€øés¨ÔŽ@=ŽÀ,>V(Fú (kšv+ÌFz ö¿€´rl_Ä÷*Ä×á8â¯#Þ­»ƒÊ~ñr‚v Þ«Ù+Èëô,£[I ÊœPŒs8±m@˜||C9kÈûK†ó ~'Ô Œo¹ÍÐ&|ü$nK|_ø¨Ç <]ˆ ºÐ8H·{fàú7+ëF8ùš}kBýU.EÇù½ç\Úzt» V\X Åö!„B„Ñô(4JПÃuš/`:=Æ4Úi6®ñ¬T7éÁó,ê¹C³ÇỜP&=ì< Ǿ%ÚûáïH:á'xŠž»´fxãëz”¿a;Ê\$b¡fàø !ç ˆEüq>w²×NÜ6˜%›uwÀÍh÷‹òœðµ=kõ ~Ñ~j¬¯ð¶¶Í½â¨OÌ]KÞÖ¯—¶¼æ«1%Z5÷–^¡1IøÞÀë³Ø°F ñêiòÅç›Píxo|öSÏ‘^ñyåF_——¶boÁúîÍSžÞõóúÈk¯‘¼ÎÑd—ÿÒ¶g<ÉÁáYÎeéfyž—¾«f?ÒĘ›<ߪö˜ÕÛ"†¹-P¦vŽØ³_Ö¼}V8¦«„ëuÕ8ïBøJ…4>×èÿ l]ž·Ä~½÷·t¨a?`l5ˆXœ¯¹Ùóë£wfG0ïnõ|¬¹ Û:¾vÑbÝÇüç ŒíN<ŸñóĽ¸Ç'ÁÚÍЮ}Ú¥_ ]ó9ò…ö=æ‘„x©ç´Z·K˜é?cÍÅøVÎ2ÊyF7Îó±vƒ˜¯DèÀÏ)NXÊÎÁõôy(ÀZ2U¿ceŽØ§×`ü}Šðð*B ã Ø÷>Æè|ßÀ äÄï§9ðÝ*E"-„ï¹ÒÍ`—fA6‚u$ÏïÃäWx˜…€Gz –:áÏäWÜ'ÃáGæ†él/\ôwÁ|ÅôÈ—Äú6\ §¥y°œí‚ ìO¸†Z¬õ8Ns'|§I‚t´ûÃì¢ç@>‡oØ,øFû;x˜ÏÇù¢üjÒ8HãzÐÕ —èLË`1»V¢¾_"¾¾¾¨«OÏÕð¥Ðñ ú =¸\Çy¤‡áVÏq³ÒvOíÕFþp¼W+ó}º™ï ÚeXó>ÂÚWg–0¼7A7ÞmºðfÐõ<ò•c{i£Ç{‘ï9Ý~H[„ílƒj‘Ž<žÃH+–â0W”:u#Òæc'ÒßÂï\žtl\<‹¬@W¶w#Ü„pB)(í…O}ó3¾ç ¾áW„ï6 ¬Á1'°? ¡ ß#Ôóؾì\ó¿Þ^y?ûO[^·¸žØÇ<<}éžô·^þ›öÒ½Ëëÿ×ö:ƒ^Ò*vð®£×^ú/÷Lo‹"²zÖæÑX£òy]浑×cQÔVœ”ºø ßC°]…uð<¯Å¼b-~ëáÍØ¶bËÏ ¯ Ï"¯^üR¬Båê«»ˆoˆùQt'A¹\ó[ô2²œÜEî!79N<´‚¡oÒOaŒù1[Æ:ØZö8{G ”&Ks¤yÒ½ÒÒ£Ò&iô‚ôékÍ~Íï5ßhÎǯŒÿU‘ûÉñr¢œ,gÈYrŽ`>h>l~Ûü®ù/æ/“ó“ “Ç&W%[“k“œÖœ£ç†\ ä Ã.ä_}aÌ…â “==þÍlØHv’£äŸh×Ñ3ðYà6´Àl“D¤`iª4WZ'Ý/=$=!í:¥¥Ó·æÍ{šsñ+â7Êr¸%Ëh´@¶˜žpCÂ:ŸBÑ1‰ñªªk„äß°ÀŸÖ™7š·ú,ðZàc´ÀHŸlÉóO“säœt R. G ^(ºPÊ-àùœO≠sÉTò{ÏqR…Õ'í’ híÅønç1ÔÚÒ=¸{V,ƒ'Øãïî‹Ý'»?¸øÉÅãß»øöç•;®|'sr%Â}ŸÝpò¶“¿~öôÉ6|Ê{rBÇÉ¥Ÿµ~:ÿÓö“>;tòÎOŸþôþ÷ŸxâV·[øØO£N,<1ß²NžÈ9‘t¼ôxÉñüã#Ž;žs<ëøàã‰ÇãŽG'Ǿ;öí±ÓǾ8ö7>êØëÇ^>öÒ1œåØkÇž<¶óXɱ±ÇÆK:–x,áX|ì!ÃK˜Ç/é¶èÕ=¢{X÷n½îA¦|ÇÔ }~èú¼wÒ¾ï›Òà7~X,Â[ì†V`'úôüáo üæè?p`ï¨ooý6çe#Ÿ`›}øÆßäê¸26Ám°’^„ûáKøÜ kàQx6ƒ:Ð<·Â½pþwÀ°^…ãð=<[áðœ‡'`;¼¯Ã³P VX‡µç-°ÁxÞ·áp¾‚ZxÞ…÷`ÔÁwp7ü >€?B=| ßÂí0ì°¡š`#8`!4C 8¡\°Úà4,†%ÐŽ;îR¸ ž‡Ça9,Úz3|g`?¹Ÿ<@(aD"¸Ƀd=yˆ< ]ÐM´DGðrB!’ÇÈÌñljñ'$$d ÙKö‘çÈ󤓑`²Ÿ !Ä@BIœ„ÏH8‰ /ƒ¤‰$kÉ‹ä%ò29D^!¯’( ;ÁMbH,ù=9LâH2€Ä“×Èëð+üþŸ#‘IIÄ;ÑäMòy›ükÑ;ÄD’ˆ™$“wÉ{ä}òù#ù É 2˜¤À)ø‚|Á§ðø+ƒðgø„|©þw¬å?óä'ò3ùÏ–ÿ$©ä¹HºH7IÃ:”PJ•¨†j©Žê©õ'é4O´A4˜†P ¥a4œF ÚF’L’E£h4¡±4Žö§h<5R™®¥ 4‘ !ÙÔ„7º$j¦Ét DÓšJWÓÛÙfö$ÎF°‘lËgװѬ€²1l,+bŬ„•²kÙ86ž]ÇÊØ6‘Mb“Ù6•McÓÙ 6“Íb׳rVÁf³ØVÉæ²y¬ŠYX5³²fcµ¬ŽÕ3;›Ï°ÖÈš˜ƒ5³…¬…9™‹µ²E¬-fíl »‘ÝÄ–bE_ÎV°›Ù-ìV¬í+ÙïØ*¶šÝN>'§p·[ƒÕþ¬÷wÁ.¼åw\ØÏÁïɰöÂa¸^Uô =KÏÑïè÷ôô<ý‘þDÿN€ÉWô ƒƒ°Îb®< ÷¸‹Œ!‹ÈݸÇÜKÚ “ÜDΒiY?¦£?Ó_è¯ôŸô‹Æý&€Å0Ë‚Xëϰxfd2 dƒXKÄÝ(‰™Y Ë`™,‹ aÙ,•¥±tÊrX.ʆ±<ÜÛµ ~ß-Ž$ãù·å’F«Óûù‡BÃÂ#úEFEÇÄÆõo”MIæäƒ§¤¦¥gdf ÉÎÉ:,oøˆ‘£ò¯]P8flQqIéµãÆ_W6aâ¤ÉS¦N›>cæ¬ëË+fß0§rî¼* T[klµuõöù ›Í [œ®ÖEm‹Û—ÜxÓÒeËWÜ|Ë­·­üݪշw¬Y{Çw­»ûž{ÿë¾ûxpýC?òèc6>þĦÍOnyêég¶nc۟ݱӽk÷ž½ûž{¾sÿ¾øÒˇ^yõ÷‡_{ýÈo¾õö޾óî{ðþüÓ‡ýùã¿üõØñON|zõ”sõ”sõ”sõ”ÓC¾zʹzʹzÊùÿç”SXXX0úšüQ#G Ïš›“=$+3#=-5eð Éæ$Sb‚lŒÐ?.6&:*²_DxX¨!$8(0ÀßO¯Ój$F ¤•˜J«dwr•[J6—ÎßM$XzªÜ2’Jûò¸å*Á&÷å,DÎÚK8 ÎB'1ÈùŸž&—˜d÷Ñb“ÜIfO-GüŽbS…ì>+ð‰—’ÅK¾$$à¹$º¾Xv“*¹Ä]º¨¾£¤ªåí ð/2ÙüÓÓ`—¢ˆ¹£LÍ»HÔh"U2r}jåŽ5—¸cLÅ\73—XjÜS¦–—Ç%$T¤§¹I‘ÕTíÓXwHª`"1[[äÖ‰id;_¬‘w¥êXÛi€êªÔÀSeN¹›Y*ø¡©8o±;jÉ©èžWVT¾ªwoë(‰¶Ëüµ£c•ìÞ8µ¼woVT  KÍ¥U¥8õZnÅèLT„«Ï—¢,Êf*ᔪù²ÛÏ4ÖTß1¿ Ûá†ií »cc ÷{NBl‰Ü1£Ü”à.ˆ3UXŠûŽií{b 嘾=éi» ¡Š5w‡¨H`PoÄæë˜`çXÙ4Ÿ9 ×È4ÃÀ-[eԤ܄ ζáÐaŽløSAp”»Ý`wûUuFr:ïÖ˜ñpÔñ#–Ö*ÓÙ3})•¢5~Žòàðö{qwjª;%…Ç…®‰:ŽïCÓÓuÒa¦fƒŒ š¦”ã°Š‘™hó„îÕ5…P/îSË•wªãvCafj…›VñžCÞž~3yÏ oox• Ãw¯8…ôsë“}B ‘á%õ#Ý$ò_tÛ”þ²é¦²©³Ëå’Ž*Õ¶e3ú¼)ýÃ}}*æ/*gqTÅh½‰s|Ìü¥<Ð-™ñVDrM§N¡((D.uªÆ)Ï ÿ„„ÿpP§ç%šžaªšî‘©}ßGõyï£^`C…¥dZ6cvG‡Ÿ¾R¬;¥&¹´£ªÃÒéYQm’ ¦ŽýôIúdGsI•×£žkâÜ¥k+põdd:À˜0XN·ÀN„—¾G Ÿ“æ!0(¤[vß•S؉Í<Ñì™45{o'LÌï…ã”Ö?HiýF*mVçÛ¼§d1ß¼'{¤òž2DyO2g/c ›Ñçß‹g>3 –#H8ùæ=ý(Ãü"ø°M{bã²C^¦›cŽÛ$TÜTèÝa“µ“uôû1yä[”¶A<—‹ç<ñ,ÏLñ Q{¿á³‹çËâ¹S<3ų@<'‹§C<?nigÉü|‹ŸoÈ7…aFÀH XÖ¤0ñÌäGvçïî$…y¹Æ ¹È˜#_kLÃÖˆpcÊ8c:BBJ±1çü𦮇¨(̰P}a'Ùþ|÷ª ®UAà×I v§L0Žñ##á€Ä§†ð‚´;¥ÅøŽ–Å+Þòè¶ÝÆ édÖnã?z²Ûø«±“’Âpã/ÆSÆŸ/4^g|3e›q?r=´ÛØiì”kcJ'ÝVb\cœ†Ê2.66›dÑÕ€Ma€ÑŠƒf§Ì6–c©ÀY&Éb–k(æ9c v§tòœ±Ðx»1'] ÍæCŸ31¶3Œbº4eºÁŠnƒxóœq N–(f)1Î ò òË[w\·îiݺ-ºuËtëÆèÖÒ­¦[7T·.K·.S·.U·Î¬[7@¡ÓôÁú@½¿^¯×ê%=Õƒ>¢Ós²0•ßþ#´Þh%þ”n üÉ¿AsQ¢§p¸ÃY-›>–”¹Y¡¬Zvÿ4ÝÔIü15¦±ÄVe3ÆF»‡§–uê<ÓÜy©enÝ”ÊwrgRÝtu'å$†“VÆñ}n?z5fåq¼õ¬¼£¢"D„QZ|…G•úLíù‰NíóS6¥}?z¹|Îx_§ãë:þºŽ¿Fpß_6½Ü½u@…;›#žeî{§ËsÊ÷ãI{Iñ~<òcSQ¾Ÿ¥‘%Ó8¥WT”¡k†ýηƒ7ȧÿ 8è?|QøL‚ÃNá‹”Á$øL‘r¾xò,çKá òE„xÁu²ß®¦’â]&“WÖÁs@‘åÎ,F#²$ ¦ŠQ° ,¥=,é*K†%CÌÄHQá ’½'2æcôÑüüTF´Æs“ÓÈd#ÉC*R¨ NÔÛ‚.'h@Œ€-+%C4€ç+„Ó¼í¶{¾ã}ÝÏß(ÿaŸ ÊÏAxÖâe ~vHxoÇ»ü¼¯|xS¿›ìÅ{õ¼Ù?/i3ÌÆ{tÞ·Y„yÞûüRZÃûûQ˜w{î"á1P„wòýì ögÏw¤”4aˆƒb˜ϱïàc"Ñk4ѧ'4à¯ÃQ:õ…~ãaÌAžB]_ƒcd¦Èó)$@!LÇ™ÛáNØo‘»¨¶ÒÍì ÍLÏCœ%é!JÁŽ\Nhƒ‡pßãÝ=oÕ_°hé‘îºõðï=B.ŒhÅÕ†·ñ6üüBf’Z¼Î`Í’FªóDzö¢Î «Úu0fBÜËÑbÂ.º‰­í>Üý3V>†ŸtÔ:Fâúg£­ŽÂ_ñ–ƒ÷ðd™Nìd#¹€7æôfº™þŒ÷¸AøÆ6±}ìö)û»4NZ,}© ð ò”yê=‹=C›aL@™s`.XpUmp3Ü «Ñ[àçQØ€÷Åç 0Ãáx«ÿ ~€ŸI0É&£H>©% d1 }äyò.ù€VR }‚Å;álœ{3fC±4ErJtC÷ðîµÝ»ºßñ{v{ŽxÎxºÐšF´¹-šå`ÙWÂÝxK}¶ño'ðsŽÁqø-燉 Q$‰ &éxóF¦©d6©#.ÒNn!w’ud=y„¸ÉÔæ%òù+á_1þ€–A3ÓB4‘¦ÑtšA'Ñ:ºŠ®£Ûé>z?ïÑ?Ñé1úޙŻk~Y2Ç®Ãû½CÜÕ—±mhÏ·ÙIIBÿ…Hƒ¤4é6éIi§ô®ô­ô«&@s§æ^̓š/4_hAkÐ^£¢­×Þ§íÔþEÇtSuµºeºåº[tÏá¶gÒo‡Ý˜»p¥½~èxþH^‚d ‹ ÛÈú¹Ÿ³hXÀ&ïkÊàvšOÝd"dÿÀü"èÇž!çá<SÖ& ‘ã¡Ü`j6Q“'¾04,â ñŽx.†vËX»eö–ªÛ¦–=»ªâöéaÁ®R”m«4<öôÜÒæ™ÍÝ¿,›œ=7—|bð N;bBõ¼­üïeœhãH´q¬-ôÁìuqh¥hþ×:3 ¡¹#üׄÒ9qvÃM~í†õz6"2b°_)§åzmHRðô’”U°Žÿ)Ì ‹1JP.“,BɹàHY—Ü?¤‚ Á4¸lÀð2nÆŸ*' ž5œWLx6lDfå)C×)nªÊÊT¨$QªµÂ’r²#ûé’¹­T£°„}Å6>ûçBžÜöÆnâœÛ¸ñ†Ååå“[üròÍdÊÎW6ÚZ:º¿ºeõêßa$ÍÇUŽÁUÆ@"Ú ¸:?\QÆG$_kyph®ŸvPâšè51Rt̵±Tûb^‹aÉ,- -vU¬œâb…‘Ðd U„1)ˆHdº›º.lc “dc . -ÖIï)Œ‹õɦrHa”œ !†æOC¤ÑIÉ£s¤*öè:å3Ϯʅ§xñz3•›¦eaejj*ÚFBÛøŒ¡KÐ*–! VÜRlŠ;¹ûû½V÷8û^ú<øâÒíÖʽÝItY½Àõ2±‡Ýz¦ñ½•;ȵÎüaÒ4cÌ}.!Kú®¾{#FE€vÚ+…Œ/¼¦4”¤úùçnH{ÁôrÚ»Qoš¾¢ÚõQëM;"w$îL{!J[( Šñ +0@¸!œ†w’…AƆørÙFƒ‘9ÅÔRN ™P“a–˜Y©Ä€Ž4FÂg¡í3Só‰Ð•ØL쇂öÆ:'5xƒ%Ì€e@³*Âó±è¾(bºà|,q$µ’ÇteNxŽŽçzd”xò„7…«þÒöÅ‹Nì3Û6TZWö›ºÇºreÔ]ûî ›?õéJSþû cr'>3?Ñ.%ï\8Ë>·Æº¬eÈ®ô¥YæÜüê Ovuѣ㹅Õ;ŸèöG_NÂØgèË4øa_@JF}§ç£=Ø2ø1ˆÜôHÂ#‰l[sÀ}R€ŒÙ cïl8W1"+ÙšèÍ[‚¤RÖ°:€¥&%$š†Jr`€>ÇV"QI‘ÓÂ!‰Á±ÆpÆ88`€\h Iã©àGÊe ™¨V'(4¤óº|N/ƒÙ`¦æs‘*WëéG‰V‹Ë¥Z$ ƸŸŸÞߟa   ~~þÁ!!ú`?-‘Bô:cTëþ~´þÖ´K¡_ðb½Uw€&‚–ì!ÌJ¹©‰Øg–úä]0¶‹ÛãÇÊSçÏ¢50U•'Ï[ü(OŒ–U†à¥‡õ‡Wô‡ƒó•±Ãˆ#¢3ðôÅÔ]XÄÿ‚]ïùiwÒÐNÏOÏÇöÏÕûG ¼Ð¯_T®Î?,*7Où;× !9V$‡ÓÀä„‘wº~cvö ’ýI÷XøÆüÄÔîÃ4޼8ßBVw}ÕõKj»—Š¿W˜'-å_“z‹œ‰ßŸðçÏ#p šïÀû¯N4‡T\‚hmšŠk ZsQŵÐ_[¬â:8¬­Rq=$ëÜ*îA«¸¿ôª˜™ãP\­âP|XŃ´{uI* sBR|ÿfyÈï|ÿ-)ÁìýA6l©Š3V«â†=¢âÄoSq-‡=­â:¨{NÅõ>WÅý $²EÅý©Å Qñù¼ŠBNäib³Ã£U<2¢âø¿Ò•ê5SÅ%ˆ/p ;TœÓ­×rûGÝ®âhó¨¥× úã*Îé÷ \/诨8§ï¸Ÿê_Wü«àŠ\ñ¯‚+þUpÅ¿ ®øWÁÿ*¸â_Wü«àŠ\ñ¯‚+þUpÅ¿ ®ø—ãþ½låßËVHP×€tY]{ ÿ¯ƒEýEÅ%èuTàÁH×Gý¨âŽýZà.?ÚOŹü.‡ ºIÅ‘%ðˆ^6èeó~‚ÿçüC)è׫8§— <†Ë‰^¨â('Ú&ð8Á»Šs~Å×zÍ; ×¼F!g“Šs9Íd˜Ž= â_q(ä< â÷˜ø>ë°o‘jmEBO.[„¯”è… ­êúíÂk ‚§Yä™Mb¤²’ÞÑm÷E–Œý‹UÏ4 mxl*~sª™ÜàÓ£Q¼õD¯ë’zã¼d}VuŽj!¡UXº¦OlÚ`!Ò½–å±mõ­°VĶ,b`±°­SÄKx£Îçu®»’ï<—Ò|ÙäT£¬§)½Â#X"Æ+Zs¹VÑÛiÊì5ÂZÍ"KÚ}«ðÎÍÇ·‰~‹°D‹:Ï!ÅŠ.1Þ«±Wz³ˆ¡FQC½ºe\VWGöñ¯wu"þ-B³ñbm ÂÚü·Ò”Ù½•—WÎáø”aÊå<-";”¬ÜGroI=ôô>ô‰˜ =};Dn´¨µ¢Qh´ÀÿÓ}BñeZ=mjMì©mŠÔ™¸‡È0EŒ—!YÌ7Ÿ“qîZí^+óxv Õ«Ò2`òÍÀ••"áŠ8>©||)>'z R¦ã“ç͵hùüLÔþfˆHw^!d]ÑXñv³=ùs¹}”}Ò6hU/¸½ëñîÞ¬½íÈßê›Óê«»ŠíZÅØžziS3ŠWµž¯Ô»ZÏj½©Rl¾zÍm[¡ÎÆ+Ï"µÎWûvJeN׿°Œ7Û|•Ó¦V›/ßZDms©µ¦VÍ•+ÙË[!¸Ål½¤ôT˜Ëç«Qã‹Çrµ¨ÚŠÖÕªgšTÉWòÐ@±ª¾–Rv‹Ë£âò™½u—WX‹8YpÖÕÚNµ¾ýÖÜ"ö›zíí—ù¦ž€zg޲³X„FͲ|¯³‹|û÷>—ÕXlêUw½óò쯖¶÷ÚáZzÒÒ|Ü-½â¶ç\ñ¯-ŵkò½qåè#¯Møðfïjâ­Ý=œäUêL«°8—_ï[¢WïènT«½b%«šÕøèÙúÆÐ¿ZQO|Œk¿ÜsÞs!ßmêéQYrµ ¯6]⃖KìÝ#™¯Ï!v‹µ®.ç¶6è}òû÷Þ÷ÊSrÒ¦žOúîâ^y—ûQ±VÏiÚ*d^žÇ^Y.±uíKÛ+_>Cß³H_lê Û…û¨WßeÆ 5ø:r!wMŸCð-ï(¹YÀïå3¡LåÌÂÞ!Ø“«âyƒÀG ƒ¡xŸáÀ¥×‹sL3Η‰Ÿ6ñÉç¾o•ï·ö Ž‹ìlóÅ…² ÚÕjËuš&*´²‡NRÏfõÔÏóSÙI[D]x`:>{ö Uü6ÆOÿ=½3?ÿ7ü™øt‰ Á}•)öžy"J”óD†ów†6qPxmÿ+³xû2/‰GŸìíͶZ‹Õ&?#Ϩ·ÉM’ä"GK³£Åâ²;šäæk†\lqYþ S&&Ow4´rŠS߄ㆌ‘•Žì yLCƒ<Í^WïrÊÓlN[Ë"[M‘£ÉekäBZÚe§!Ý^+רœöº¦4yL‹ÝÒ [‘ËbÇÎFG‹M®om´4Ù.ÙZoi±X]8Àé²[²«ÞÒ$c_»ì¨•í8Ks‹­Æfµ9ާliª‘-(¿ÕZ/ÛUQö&ÙÕÚd“Ûì®znCª£†æxƒçÀñTÆKsµÙš\vr[imiÏ…I‹l-\ž«Åfq5b`mÅ%:ùdNG-ª)T¨mmh@TèŠÓ7:p{SM«Ó%–êtµ7Øz[‚;ÇÉg±µ4Ú›G‹cе þÖVœ¨IhVc·Ô9x[½WXokhF‹8ä:û"›`^¶È h¹Ñ†¶k²[‘ÝÒÜlC36Ym8‰bn;7–l[Œ‹i´5´Ë¸6':¹Ëh´7óºÔ¸qªóYqDµMnuÚjkÚ¶re[­Üþr­—ŒqQ.—½©Ž/½Å†~w9Ó¸›œh2GøÚh©³,±7¡h›Ëš¦ ‡×ØÍ –v>Ýdks6[šQ5d©A]v'ÌÙ›[!-ë#•¥M³Õµ6XZäñ.KƒÝ:rçÁ›1<[4ÑnmqpW V˜&§+øÄâíiyF FE£¥e·Å¿Ê \e†§ #QD²Îœ.O±¸ädyÆDyrmm†PÙÖà´µÕ#[ƤÉ3Æ—Ž/3cüäIòäRyÂø¢’IÓKä1×N+)™X2iFÿŒzt’×Üa\0.íáþñéƒ9é¨k±4×·‹yxZp V·ËíŽV>ÒÊcµkmªq‰Ñ‚¡&"£ÅŽqŽì–º›Çu†\Ãê-TŽjž”8ÒÕGnÀ6œ6 ÷[‹ÍꨩE¯ôèÅÂQg,"`|ãÐј Õ­.j:0?{-h Ó«¦…ϾÁô¤ ëIMOÁô­ÕeÚêêñ1_˜EÕºöÊb…ʾjQá<×HÎ0sú9]4<7o°œ7dxzVnV–ŸßÌ2$f ’›‹Ï¼œ<9oØÐCGù×»\Í#33ÛÚÚ2½Ž·:{ç„M.n±´q[` ¢R(iš£3tV3–þ4ž¤-v«Ý"O·ˆÜpâ^6<û7dgÖ»2]üÿ“’Ùèœgáu"ƒÿÃm¶¤Úþýþ–©ÚQp÷ùr¤H³âàkéÓ³@ô,³¿Ñ£ŒéM/ëEwˆãskï~¶‘½À¶³=l?Ûõ_Ð(׃Þ}Åd*¶®KtvôšçÊ«á—ò+éÖ.Žï—Îþ™zÜé#MЕФBiŒ4\ʾ‚¬+X†dùV² Ïˆ)à qIiºDã&q¹±Ã7ëÝS‚²–ˆc½þhóîendstream endobj 16 0 obj << /Filter /FlateDecode /Length 269 >> stream xœ]‘ËjÄ †÷>ÅYNƒ¹L2³é …,z¡iÀèI*4*Æ,òö5š¦PAáãüÿ¹IoͽQÒ}³š·è —JXœôl9B‡ƒT$Í@Hî6 /™!Ô›Ûer86ª×¤ªè»NÎ.p¸ ÝᡯV •j€Ãç­õÜÎÆ|ãˆÊABêö>Ó33/lD Ávl„K·½çOñ±„,p»áZàdGËÔ€¤Jü©¡zò§&¨Ä¿x]]Ï¿˜ êÜ«“$Kê•N§@e©Œ”GºD*I¤{¤Ç@çK¨¹eOkí­1aqŽê|SÇøÚìºÔ}|¶Ö/!l>L¿Î-îŸc´Y]ëýœÎŠ6endstream endobj 17 0 obj << /Contents 20 0 R /MediaBox [ 0 0 612 792 ] /Parent 42 0 R /Resources << /ExtGState << /G0 43 0 R >> /Font << /F0 44 0 R /F1 69 0 R /F2 60 0 R >> /ProcSets [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << /X0 18 0 R >> >> /Type /Page >> endobj 18 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter /FlateDecode /Height 472 /SMask 19 0 R /Subtype /Image /Type /XObject /Width 624 /Length 25564 >> stream xœí½}°Õ½÷Ûò¶‘€¨AƒÁ$(&(å^|»x=ø‚/D¨\ˆQ4zÁàA "5’`ˆ1‰ÙžGSúÈS¦L4šM<&jDQQL¼†¼ˆ>UyªÎ­ÊçÞšûa~Ù¿»èžéÝ{fv÷Ììï§~55Ó³zõêµVÿ¾k­î^+Š„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!D+1xïaƒ‡ 4X&«d]VxJd-l2+<%²V·;¨Hýúõ+Z<+0tؾƒ:ö–ɪU·ð4ÈÚÀúõë_xdíaýû÷§:-ž8`Ì„Îþo™¬š Þ{XáiµíÕ¯_áiµ‡!¦ÒSY+šôTÖ“žÊeÒSY‹šôTÖ“žÊeÒSY‹šôTÖ“žÊeÒSY‹šôTÖ“žÊeÒSY‹šôTÖ“žÊeÒSY‹šôTÖ“žÊeÒSY‹šôTÖ“žÊeÒSY‹šôTÖ“žÊeÒSY‹šôTÖ“žÊeÒSY‹šôTÖ“žÊe­¥§ÿç½?®~Öé€/‹oþVá¹Z³mzòƒkïx¤W±öû/4¸ð3­ßªéé¼Ëo®VI¨_ O|=¶zÓÏ6ü·m½ó7¶üîij.2lY4áð)KW¿ð“ÍÁªéiŠ·¡ŽÝý÷ùB˜ÂÓ_³}ýñwnºûG½ó÷þ¿Î¾èº#$‹&N>¶¥s©GÖZzÊõn.ûÜ gG][µñ§@UíK‹ÚQÓO²†A/bj•¼ð3­ßªééíßùw¯ûŒØÿSS>ï?‘!ªG¯æpõš?tÒ´±Aäë:_Ãr Öo)ü|{Ûªéièm¨EÔ%ÿI£éKE"£ OÍvà'£aÐ1Syï=”öWÜ™ –÷ï?ÏSøùæ`­¥§¡Y7¤ð l¬yô ½çíÉ1z¦\Dí‘oYÆ{©E­®žI‹zGO×l~˜éüúDäè/œ^øùö¶e掠ß(Ψ—ô”¶ÇyWÜâ?iÇ?ÛØÚLOÙkùš‡ù²pÙº9ç]3{Þb„`¸Ú“ÇžxßÙBóÉw¹jÕwØË¶ŸxÖe<½«ÚáhqEåá ê®&vD3¶sh™Ö¾ÎÈ>qÅß°í4ØHÛ)s¯°´¡ ß}þ”ùlá(vîü$¤ÇL´áA‰mÂáSتK®½ãÁOä2t‰¡ñ-Æ6ð4«MOÉ+¯Zäç¥×þ m+ý ¯¹ƒ¬³"#W¯¿ó1 öÝgÿ'a¥–cÌèÎ|iŠcT$ŠØŠ8ÃÊüõÇßá§•Ñ÷þ¿ñ¬’P¼OJŠ-–6j m;[pPyµêÇF¾“T‹|Ü¡Ÿ¦ŽQíýrHÖsÒO- ·O™1+¼ {ÛjÓÓ°) ˆB·Ò'0ÿ5ý$+»\üϾuÌ®Sª{Y™ÆŒT«oTNª(® vÄXqcÔ«æü¶ûâ¯p}$Œ¿Hmû²eȰæUbÞ†ïáAñv]PñnX¿Åë+Þzà¼"qùpN¼ð‚ÎÁÚLO£®û§Ö›yÚ‚u¯Qµ¬æP¯îþáÛ¶#­ñβÛá/ê$ÛÍ—VlsEP½‰‡ºA]"fO^´ç[oòÙI—²šlß¹úpžt4¨¢vPþÅRóÙ¥3ÑW%Ú𠜎 §àÃùŽÃ\µñ§·çßùâ²›¬äåë.™o­hµéixúüKQâ¯ÈpÚÌ¢§á¬W£Èr5æmb·Â“¢yÞ·t«§ºL]%0­}{F¢Ûa®ìz».¼ Э·é,ûO¼Ÿ‹x{[ëiXÃSô¿GàÐnÿο‡qÒ²Šöì¡Ø­ŠXT{VQ"Á=Ò"åªÁ[š“ž6ÐzCOÝYy®Zxº±JëV$sÕ|fgªžÚ Þ†tN<ë²jõª6=õíÙõôú;£CÁEÑGÄ´3/=µ/„ŒU$¿rÍ6ü·mÑž¢i·ø;SõtÕÆŸ6¼ ’J_5j¨žÆ®‹Š±¥Ø¢ëïe¯¾0äÛÇõÉ r­—,w»÷ê?ù^­A„VEñHt½c#É=ÒÓ£¦ŸD$,¼¢#éi^zj÷Á×°è¾ù躛…[b‡Nšê©EÈF:³ Ž=R§žzõ«MOíq‚9ç]Ó†yÝòÑS+îpT–†:k˜ÑŒ¡B—2{Þb‹Üz¸ácr„´Ñû 篽㑨>==ú §×¬§øO\_øf«=;Ó¶´>®§x0´Òª´gn“Cý1ò@»qo÷ñÃ:‰êYMæ*ˆÊïzw–ïzL8|Šm§æS?£lzêÊuÄA-1¤tJOCËGO)Á?qþÊúkø|…ß‹w³`”²•¸Û¡íÖªyHj‚½7Müæ9ý&ûºÎ×PCú†É"îLè©ÿE ñ[ÀÖ ¨YO©iÖ3å¬ÝúÂm¯|ô´³ü -®Ã.Uê‰ð‡÷ÌlÀÖržZÁ…ï‘S@^p´ê½¸Çúi¯“TQ{,ÜžIÑÓð¦<‰á VÉImµ‡ 2öO‰™ÝíÔì á”Ç–ÚÉú¸žR>Ü5êDu ÇuÝFuµ:fÓzòð“ìÎOvG@mô¸³üHáñ½ìbo7ðÓœjŠžÚ5•ÇFÜÁ-_ª JOS¬~=í,û4Ü E`WT{GÀ‚aÔ%Jœúà‡¶;e”#•‡šà²9¬sÁŽö,hÅwà lïIÙ )4ÔªÆv¬f=­8¯TXQÛÕrÓSJ–RÃXqS*N>cÁìM>©H¹ äZq³ñÐIÓì@ö̶©˜y‚Ù+3)zJ‹`ìØY~û˜ºÍá¨BÄ€ô×£§v-Ø]xΗÓé ³ÎVÖS :ùV;[¬àø7|ã{8“‰3£ÿ©8Ò•Ÿ`öÆM˜<{â†õ[hsr—6{\³Ž-5ÖÒÀg˜6TôŸ|·Ñ¡Î®ñg{9‚Ø$ËU¾Ð@¢ôùL %NÌñb~Ì*•{x jÛ¯¿ó1öµ4X%ŒUѰ[0/å°úÌÎ(VʱZ»ÌØÂ.1‹=KЖ–EOÉœØeV˜ØR¯ì_J<öªoÌ(JjÅJ<1±¶Wrl4Õ‹Û«;1Ÿ”2VÖaMà(æm¬J³#®Æj¯ûÏŠ×EÅØbÆŽÔj’šîŽÚÌZWO ´Œwáe½jM>~¯Nu%k 5ù|ø1=•5³IOk0éi3˜ôTÖ“žÊeÒÓ¬Û1UYÖäzZqLUÖ„ÖäzL–5³IOe-jM®§²V±&×SY ™ôTÖ¢&=•5Ĥ§²F™ôTÖ¢&=•5Ĥ§²FYËééµwç’c[îþáÛg_t!/¼æŽØü-ÕêÕwŸýŸ”»œ¹`yK¬’l+µ‘à9ç]»WC½úÆ–ß‘ki!f ÄcÕÖÑëÖRô”8-r»TɶP%0¾„9Få¡ ’¬ŽM!H%!çùkÑõ÷ÆfoXºúûDE5k‰WØ(îó®¸ÅÎ1ö v\G¶@¼¥§æHZNO¹Š‡ Á§Õ@{Ÿòâ¼÷ÐpI—f6ÜW´ç û”我Ú Ú|òÝ’sœyÚ[È)\çó§Ìg 5™„I΃×@3­šf.ˆ==òè°Øä¨6WFè¸ð Ô™£¦ŸDµ{ðãý´»»jõ ú©)Ÿ§r²åè/œÎ_½ÝŒ©ÓnX¿eà ÁSfÌ&7l꟱¤†zõõÇß¡fNœ|,±‘]#øDá’J Áž·¯¹¥—¢§6ƒÍémEo3”ZŽù<½Ëêµ‚Ô o¶!Ädà±'žCf’]ᓺl!$Rk §ÖÜÈÇ(hÒÏ9’Vóý™ÌØu„µâuD3Àfªgh´õÔÿ"lýJûi³Æ‡Íf\z\Œ¶¶o¨§l<ð‡Y=¤²Qom¹.¾ûâÑå×ÿ£®édmNàpM.bèÕÄÇfG)ÖÒõÔ'¨é,»Ó…hO=ÅËùz£Ô%òÙ¦WM©W¶þ©MÐÑYÖj«Í6‰Ñ6 gÆusšµÖ+£ÏJMMf{=ùZ=o'¥ë©+ -¯æBiÓHÚZTÿ¸øŸ‘Wë—™RøôzáŠT!*µglGï²Qñè&4ó¨?ÆSˆzzδÓuTç»-­§6KjX ©“ÉmF#œ*×>Õ€ŠÁ.Ôg| M#/îβ'a#aвð*— ¹4b£4\ Ì.´3+NC3úx!¦ØÊ açšÃ™ß3GއL8| Çê,/>ˆìúv»À+6óÈ(RΡÉ0‘ä [ØÎYÇŸé’àLø‹Ty¤Eõ À­Ù$á®§6?yØ)@,l¿”z…6…+ÎÛ:ÎɹÔ8F–’íìb^—O¾³Å³ßKõÃg˜Ï^¯8>Ã1jvÁÙ.T’äì¯1£é¢úOŸ‡°¶zE † ͯSŽB>“N;_ö%Ù¤–êD&{‹—ËŠØ8N‡|‡OÉX«±±l¡PìJd—p Å|ô4¶ü·¯>[OÖs§hlûpfxÎÈ–FEqØÝ·“Q ¯a5 â‘cš}É.›Ô(¬WžcvÁƆOm|žíüUæ'>á]Úª•6¬H¾òi›]G}YOù>ò€O„ÿR޶ú|¬Ú¡Mþlc,È‘ðÀüµèú{­ÂP1¨'Ô ò™¦”•—-—ÀîÔ[¦Ü¶%K ÄÉ_ÝJªÏbzÊ–hOyµªÈ¡Í†®†ëÑæ¾æÓ—-6‹EbFM#a¤œDÚüÃVo©ilg Ûm!ß—:ÉyQÙ—÷œÕS›$06i¸Â».Φ£O©WdEØ#K.¡e†ï"$ 'ªŠMÞËeëƒù¾æÙŽBq9“Ï&«­ m$–Â¥hø ÇÖøi÷;H-û&gæO7›’½³KX{T¯l!àØÂ…ÑžÓóßo^u¶¢´-\h3][0`œ»õïü VýÈgþ²©n-»lX•Ý9w»«-Ò#˨§1³‰) %.c— ¢®ëmæm[H7Œ0ÖVñ¶)|Ù#[ÈI~Ú‚¹Dn‡Ä˜_Š9">m]rÒ†ÅÌ×uv­H d‹Ý`ʾþ 'HyÙ¢çmvõe=%cÁ*^VV½½ÂÛdÑž±¾¤ Õ•2ò½ˆÜ\á©î4¬)eÕ•í6*ÛYnð«cY, ´/Y|>v"Œ kÚ5žè»PmÝCÎnÕÆŸ†>?*w»üôq6´8eÆìjË~å©§&¦˜+{”ª§á¾î¾8—ìzê—mµu‚(ëˆáÄÂÑNd‚þ ç¤zѤ!{+\·F©Ñ• ¼ü¹£6»Žú²ž&Ï=v#£sÏK8VÜÉK†«Þ–ŒÊ 0oç¶öhh4‡ª9“Œ%Æ{Ãæ™5ã¹`“—d8.>“ÙYe¼OEý¡òGåµ™¨{Dk˜J;/[E%ª"ší¤§Ö ïS¦4ÚÓë• µU‹³b¥ê¬îìž>²ÂMwP¦5¡ÑÆK®–Ñl5|´ †ze=‚ðò”ñÞŠçÛ¹çňgæ@ø|¶øø!™ï+йÙÐhŠh榧k6¿`CÙá;Øcö@þ<)[~Û13%^MOýg5=åG8èÈ›ï¢-y–±±ÌDUë_´‘†wTî8·ÙuÔ—õÔž¸ É ò„72:—p²Š†EfdZƒHG±»êÔT‰™=§Ö*Uöy}£=µr»–6úÚÙum†·e¹–mƒÏp€:Y±Ýì¼ÈE×ß‹ûbG|`ôBKöOq Ö´h'=¥Ú„㊖ŸŸÒ™Z¯ì>`˜3Qyô2v¬Œ~À‹†ì5ÁÙ¹Š)ٮơ¥¯,iëVSè±g]j«W1á¨ÖÎϨ§vîö€½ŠÅ¹,óÝbýSª¨-.–ÎfoŠQ¥íþ©§ b1´“žv–ý³?dHùRšÖfN©W—^û/hŠ©QFᣰÉJåéIúŽHƆM{"ÅJ<|¬Ž:f7 í~¥?Âm•!||4iöÜN²•U[½â,ü¦¡ÕÒŠ>‹žš ûQüýK‰?6c¯ŸPR]÷O}ð“¬C/ìÂÌAOI³ Ÿ&À5§ä.‚Je î,·ÆÝEpeù£°6éåÂùòWòeÞŒz{“ ÜÀ§{•ήç'Éa{“Å»VùÓŸý@þüU)K°_ítõe=í,dÙc~d ”|¸·3³ž’Ÿöæ5Esæ‚åDkõÍÞa§.Ñæá(”á­^qù³‹M–‚ÌŽ’e\.JÜs±ÇÌì =ÎÅLävç‹ôЦ EßTf»Ý$Möv–»ºö ÿÚ›ãVsì.<Ί#²;×—Ë®å*?íù^Ÿè Íô” ʺöˆ#y뾺Z½"ìgr&Ì̘elWS(vŠèeZǪbøzg×L ¤Šb¥èÝ&yÊÖ4²š5Åk¨W¦)^K©±߳Ȣ§&Çv2“ü÷ÇÈí x?ZÕ\ŸO›@xk'x{ =yÚRŽr…9içEµ!9l£î«­qBAÛ£§¡º¡õ×8®¾ä“™õÔ‚QUøÂ±|Ö{†Ÿ4{ŽùH¾=ßKV[å'c½§_ñ,<î.(öuwÑN×Q×S«Kö6y•l:vv½êElªø¿h¢_ì4)JZÞ'¢eóxp *@Ø´WVÙ…šé Hœ6â‘b6éJ,öªiˆ½wCb¨´c¯òÝ^ëãߔɑìýS{ +|A•£Ø;¹±·ùìì@ªœg]Kë©Í’œ ήYò!6pZ­^•Á^*©8º«TU8VæEO´æ‰-öj0Åd•Úº›òξ³iÆ’a5?i^ 5Ô+üª]#$¯ÚÃÕηsÏ‹Ñß?ÅÂjæÕÏÞGœüMðXÂrÐS{].fÞ<£òP‚–Œä¤Ž6öEµ Š);â4¯¾IZÌYq¸ØMðpÚUKmì]rÇÜ®ñäK¾–0ï*gµW„,ª¤{ìl£ëHzÚ„Fú€O;YKëi{*ÓäÖõªåÿþi»×xö›Víg}POÃù{›Óh,µßZÒ­>o­ë³/º®âàLÛ[nó÷~¦ù ³ô'ÜÚÕúæü½ÉõedùجÖ__FÖ~–çú2²6¶¾¹¾ŒLf¦õOe 1­*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”IOe-jÒSYCLz*k”!¦{íÕ¯hñ¬€ }KÛگܺõ™šÓwpáùS§EÑ^…§¡QöÝ{6^%*ÚOþõ¿ž9½míám²eZx½ªh\…gNF]Úk¯½ŠÏ ž3uÚÕ—\¹kë{½Ñ¤öþKÛÇ_x.Õl4Í OIývã5_úhێ«DEÛõú{kV¬,<‹zÏÚ©"e1J“2-¼^U¶m;¸ Ï¢š­\‘šQLÛ€_ÛÑäzŠIb7»Þx·™õt×ë;ŠÎ!Ñ0(ÍfÖS®…¢sH4#ÒS‘é©È é©hE¤§"#ÒS‘ÒSÑŠHOEF¤§"7¤§¢‘žŠŒHOEnHOE+"=‘žŠÜžŠVDz*2"=¹!=­ˆôTdDz*rCz*Zé©ÈˆôTä†ôT´"Ýêé ?µlÑ’KÏ»ð›wløókïä\u¥§ÍC·zúè¦ï~ñ‚…‹/¾ü‰ï<œs=‘ž¶Ýêéƒ6â”®¾ôŠŸýðÉœ+›ôTT#]OßüЀþýO›u2NrÄ>ÃÿaÎY9W]éió®§«–¯ ª\<ïüùgÎåË]«ÖäYO¤§mFºžâކBãíìÙs¨loüv®~Iz*ª®§‡úI<¤}§Hø'¿÷HžUWzÚ<¤èé[Ͻ„[»{õ×ì'bÚÑѱ㗯åVO¤§mFŠžš#ztÓwíç²EKF: ס3驨BŠž¾¸åiüøù–©“?séyæWo¥§ÍDŠžš€î|ùmûÉäuóº{s«'ÒÓ6#EO¿üO׌;ÎþúÉçŸë-驨BŠžâ ö2Ì=wæôùÕ[éi3‘¢§_¼`ᤉG„[ðxtr«'ÒÓ6#EOO?yöÉ3g…[¿ö¦Õùù%驨BŠžÞ·fÂ-tNÖa&=mRô4ÙÐúÜ”©lÌ­žHOÛŒ=¥¦ÅªNiÅUËòóKÒSQ…é)ÝéiŸ¥Gz:ãèéÒSQ3ÒSÑŠ¤èé7ïØ@¿)fn?™_½•ž6)zzéyNü™˜‹»úÒ+r«'ÒÓ6#EOO›uòé'Ï· èßÿ¶Væç—¤§¢ )zúÌ¿>A€Ê· ¦óÏœ›_½•ž6)zŠ7±Ïpÿùç×ÞéèèÈó•éi›‘¢§´ÓŽúÔ‘þó­ç^"|®¯ÌHOERô¯8zÔ>òú3¿ÄIæùÐæGÒÓf"EOíK…áÁ é2üæÇÿ–[=‘ž¶)zúøæ‡ðâ–§íçêën:dÈû/mËÏ/IOEÒß?½oÍ:ã—ÿéú‡<ásS¦æcÙ¢%¹6Ë&=mÒõ”†Öm7¬ÄÑa8ºœÛ]ÒÓ6#]OqD7-ý2Né䙳¾ydžœ’ôTTCóዌh>|‘š_´"ÒS‘é©È é©hE¤§"#ÒS‘ÒSÑŠHOEF¤§"7¤§¢‘žŠŒHOEnHOE+"=‘žŠÜžŠVDz*2"=¹!=­ˆôTdDz*rCz*Zé©ÈˆôTä†ôT´"ÒS‘é©È é©hE¤§"#ÒS‘ÒSÑŠHOEF¤§"7¤§¢‘žŠŒHOEnHOE+"=‘žŠÜžŠVDz*2"=¹!=­ˆôTdDz*rCz*Zé©ÈˆôTä†ôT´"ÒS‘é©È é©hE>ÜÚìzúýJzÚìzcGSëéVéiû@i6·žª²‰  §¾±[R›Óþüê;üZzÚ”õôw…W‰ŠöñÖw¥§í¥Y.Óâ«VÒv_ÒSQ‰¿¼þînIÅ^kRûÓ«¿-:“Änvm{ïÃ×ßkª²»/³uÇG[5×>|Tn íj¾Ê¶»þ¿þ×BÑ9$„B!„B!„B!„B!„B!„B!„B!„B!„¢W4hð Ž 6`à þ:!„¢52dØ A{w ®`E'M!„h†Ûgøˆ[ÿðŸI+:iB!D˰ÏðáÒS!„¢N¤§B!DýHO…Bˆú‘ž !„õ#=B!B8xðà½÷Þ{ÈСÙmß‘#SôtРŽìQ ±ï~ûí?f̸¢sB!„¨ƒ:ԡÆõÔ9üSõt·0÷0ªƒÀc‹Î !„¢vèKv Þ»¢2æf£F9`ôAEç„BQ;ƒ:7ƒžîÀEç„BQ;ÒS!„¢~¤§B!DýHO…Bˆúi=ó‰ñEç„BQ;»õ´cðØq÷ÔN=ãœŠâø™iÇô4ª‰Gù‰ñ‡B!Dí Ô±ï~ûïÀè)àøCK™ÏaÔè{Õ„C>䓟<âÈ¢sB!„ÈÍ7(„BÔôT!„¨é©BQ?ÒS!„¢~¤§Bˆ¾Féƒo•þX¶?Éd ³ë–œž¢§7^ý¿žÂ6³¢‰¢¬§ï dígTù›ã¦VxÚÚÏŠv$Bé©LÖV´#BHOe²v°¢‰Bz*“µƒíH„ÒS™¬¬hG"„žÊdí`E;!„ôT&k+Ú‘!¤§2Y;XÑŽD!=•ÉÚÁŠv$Bé©LÖV´#BHOe²v°¢‰BzZ»ýí÷—,œõñ›¿xb/;ÿ o¿€ù¤„ƒrÄÂ3$‹½ÿ«; OC[ZÑŽD!=­ÑþëƒMóÏœF†ñ£‡–Ði[¹üŒqíwê G擘ïÝsÙî¢,:Oºµ¥—ŸÔ*ºßrV°BHOk²íÏßzÜ´Ãw ŒöÔÓ‰‡ŒF2ìûŽ× ­(léi==ñóGHO{É ö#BéiM†Pž3gê#›®Œ=}ó¹¯òó¥'oô`Ç;±¢|°‘ÀtoÌ=fç«kK]¶ÈÍ’…³øËC~üæ†Ûnœ{Ö©SøëŠ ÿâ»íB€ûï¼(ª¤§¬¿ÄŒž2šË–ÿ|÷넟sÒdâd/zÙø'/#Iüµñö ¶³’½ž}ôZ¾;h?©&I\·zÊÙ¡•Ö÷,•%>*wωŸ/>ÐmhYG8ï%a(©}§¯Mï;lŠÈzjE9!„#=­ÙêÑSúƒöâ'ÊBlfh+[\§P¢/®AžèֱݴlpÇÀ{n=ß#¬6Þ‹x…ý>äìøc'ú0:•$’øÙý'/ó×/9­[=¥ŠŽ‡±!Ö6JŒ3½]â rõ”} ÔÒBð“•ÕlE9!„#=­Ù*Ž÷†Ò2Þë E÷ŸtÑ©ÐèT¢¤È=õ„,Òƒ‹ºôÔ¿„)IÈn°úO¢6´#v ¤ÓvEí®¦§$Õ;b,6SyOÊé½²/GDXmßPOéÆrhv! çÈÙ…7se=µb܇"@zZ³ÅôÔžGÚúÌJ@gÐÇuc®ÏÊú§á^Þ¡»íƹ =Sš¿l½+ê’QDjý-ó}—jÏ÷Æô”ïóÏœ°cYÌá£Èô‘«é©§aêäñ±³ó”û—íÏߊ˜z䡞ÆÎ‹Þ1½ZÂ<°þ’ÂË´u­÷!„žÖl1=-íù¾ Û è÷Ȧ++º>W(»JoÎÿE¤è–£µ6¨kZ†,"gÞ¡;ëÔ)Q=E b¿J€º8ž3gªm§‹í÷OÿºýnbÞxûö²èi@sI¹ßÞµ»±œ¯} Ÿ¶í¥@OÃ¥ò˜6Q…-YO­("„p¤§5[RO}>‡Õ×}Èøý‘Šc˜Ñž=>{¾M¤›¶`î1®Âö>Ž=÷Ë'‡è˜´qÐ1£‡Óÿµ·iRžï õ¡D ë•Ëϰ§‰ˆÁú’t“ía"´‰}G6Ú˜-MÒ€…Ï÷ršœ,±9ŒØì|O=áH~"¸œJM0¿âÂ㉊Æ?I߯_raì‰b“f»M\xá¶œêE„»‘žÖlˆÎ?öT*ý2Tƒ¾2Qm¾AöŠM»GŸÎæâ3|ƒõ±Í‹ÙˆÝsëùhÐë/±ç{Kå{”ˆq v±—PbFàð6k©,©Dåq†)Üþü­–Ž 1»p¶p8’M„>:ÆίÈߎ@{¡˜ˆ¬MÒˆòÚl:)ïçÒÒ¨ø—,ÝŠv$B马‚Å:¶yM—¶ðh9+Ú‘!¤§² V žþè¡¥a]–ÑŠv$B马‚=°þ{“TÖ*V´#BHOe²v°¢‰Bz*“µƒíH„ÒS™¬¬hG"„è£zúþ¯î°)gý½•ÿú`Ó/žXñȦ+w¼¸&˜-lO>$“²K3ÛÎW×úd áÆÇ6/&C’ïø¼òÔÍ÷- —Š3#äO^¶åÁ«›d©µ­Ï¬´2í›óêíH„}TOW_wö€ý|¾ÙíÏßjS¸O<žµ;’Ä^Ö²YøšßÓ ELIj¨§6°Mû@  Ó?;Ás …µù é¥"¬>;âKŽÙlHÛwøfè&gî;V¤B”‘ž"—t¾|~žRyž[ÓSzdák˜÷ßy}1DÝA\|ùÎÒž3½‡fÃ6­ÏlOäüŒ ÿâ‰l¤£>%alº’¿’£Êhœí’e½³-^Mâ‘K:›aRcsé?°þÿI… ³úK©&Áݶ“ÄœœÍží&máù’ä?½\ê:fcl}·R¹#Ìvr –-ÄCÁÙ.>©£ôTQ ÒÓ•Ëϰ™)Zèçé^¿ä4ÿiKfo}f¥Mù. C0WôrÈÝ7a“ôÒÃ3z¸Û$ÈÁœ“&µ"”Ú—"E¤l¸•~%»û¤‚ˆQñ×ñÇNäDˆ0LvEC’lÑÕ˜ô›8úâ2çÌ™j'bË‚ûô†ØÆÛ/àˆá7’wÅ…ÇÇŽhê¶ôò“ü|Éj;ÇqíÇéXÇŸÙ<ÀüÅvÌoj“«#ro÷Qe°…¾3»ot–­w,=BˆôÔº]þÙ–ìt ҇ó⺻N΄ocž½ÜÄCF[ßʺ~>Lj+„–ºÍ—}AÑ×R¹k†šøª+È=?MjéAs8ÓPbCUéxf<÷dWš„q¦D‚®¡SmR›¬'K_8Ì=3N*™‹!<_~’rK3 [ÑfíÍóˆÍÂ9ß-Œ-àNŒDÚ0ùãʲÑî_KO…"=E\ðÛt£Ì¥›j˜lñ%ÔM×Ó¨Òª(lô!Ó/®ñ˜KÁ@«õvñXÓn_†[|AUTφ+••×G_»µ˜ž’*Ÿ> ½N’jk¾”ªë©­ÓÓŠóZ Þóu9Žíb½]ò9r/•©A‹ý'¥CÚfk½Y_ÛŒs¯Öè;–³ßB$‘žâØñçám;ÔÊ$¥ã“½j‹–&½œßXŒyûðÆ%»“~’ª/]yŠÅLÂ’åeD`{2¹‹é邹Çp¾~ ¹·DVÓSB&õ4¦}Ýžo)ÐSvþ™ÓììH SÓ\‘<}[š'ª"šÒS!DHOéŽÙ¸«›+ÎôÏNðzKå'—È1:tÖÓ (Bý±Ø˜—ógbÓõÙòàÕô:í¥ô4L<ž½B³NܾÇؠ¨Yµ…á*ZLOca$€È‰3¶úÚ›çYÙf —v%a9Ëùƺ´œè}ÓT0i¦×L˜ØéÛÃ]Ñž¢é}^é©¢@¤§ö¶‹µ¢#&(¥²ÔÒcò½V.?Ã;¡|  ç>¹z¹nõ”ÐIô],=¶ÐpÕ¶ñg”(ìrØÐŽŒçÓS~ÚíZ3çi>þ؉áSFtBéHú‰ØÓD¶ Ê›|5£žÒÑwSm´5ì8£¤çÌ™ÊAmà7œ®ŸÜ³»·ÒS!DHOñÏt¯&MCUE2èý™ŠÑEÑèyñ½À£\¶×ú[æÛ§ü…Ìñ½â,IQ=ÝúÌJô±&€j Ö¤ ¡ãŒ¨½òÔÍü…Ðøî6*‹¦'C0ëc²‘ŠÝˆŒYLO9…¨üä-‡à@Ž£Û£>üEÂPp»g>D.Y޽ùÜWíA¦°»š~¾f®§ÄOÌ÷-"< *Sm"g;‚Nžp²ÅË…ÔZ泋ínÏ!KO…"=-•{XôqìæôÏNŸíA¡ððl=ë[êòêüE€j>œ£xÇmç«kùé£Äl÷4 &v¤®–w–Ñ8:–0:ka]è[Â蛜™è‡7v“ƙƺÒ•½ÑîNûÞ"!²áÑí¦'áù‹WlK¤œo©Ü÷÷^9kOV“xtÖ_5¥©`P€µ+l;'{Ûs=aÕZ,}ÊòwBˆÒÓ63Ô­I&ÔÍߤ§Bˆé³zJ‡(œ¿=ŒÞ´=™Ümë3+íA)é©¢ú¬žÚédžpe­k'~þ+Sé©¢ú¦žÊdmfE;!„ôT&k+Ú‘!¤§2Y;XÑŽD!=•ÉÚÁŠv$Bˆzõô+KçÄ^<ùÞ=—ÙËŒS'÷¹ÐKå7—,œµïð!ƒ;ž3gjúœ…XÅIݛĒ«‹6ÖþëƒMœ»¿È™nåõKN5rØ€ýÂ×BKå7Vì…Y Úߊ5£2تm“&Ž g³­Ú2²…'N½ØX{öÑkÉF2mØÐŽùgN«í™ó¢‰¢.=ýùc×áQC=ýÉÃËØ²ñö ¶?+RË÷7Ÿûªýuñ¹3ÐY\‡MÂ3ý³’3êkhV8‹]óêUZ¼¦Qö·ßo´é3êé?fôpÊÚ¦-òeÔ(PÓ– ã“úÚdG«¯;›ŠaWûTK¡‘ÿ½Ýr¨ÍÈ™^zaÙfÇ"KÉLòä¸i‡q MÈlV°BÔ¡§Ý~7>þ3ô3øÒp*Z__lç«k£`é.›$ÖW.“¥[l¦¾Æ>Ü ‘eF=E@}UVò`ÓÚäÈn¸@*•$œ4¸ù­÷ô”&G¸½-µ.ãžÑŠt"Bˆ25ë)BI§&œhÈV$ }òm7ε¥[ìEûØšháÒ-f6C²;î ý¢òTrxûûï¼Èf–£éîý :¿øÿ¨CQ™ô'Ÿ´Fu¨ø¨’ž>9_.ý²äÃ?¦îxÍ#¹×õ]蘚»s¶ ä ö¬©à&Wø"†ä#11=õéß9PT©Ë`^×#Óˆt=ů\~âë!ú¡‚xW%ÌÌЧë)êé!‹¼Åbãíée×SâAé&2š†Î °ƒ&Ÿ&"Ί+€'d/UÒSß%YµÌh' ÿikå¤ë)¥I‚ÃC["=oýñ*:êZå6ïM×Óp?._ð®Ú)„fé¯6’ny8 !D*=ÕS{ÔŸ3ÉÒ?ED’zJ!¼¡V1†j+|ášì9a~¢’Þí¢‡h‹P»Ù¢0§IéiØ›‹*=«ƒZ…¢IÎDú§›n#½u Äý|˜æìzÔeÂO¡!zÊ­ f?éÇQ¶Z\ROÑtÒ»{ž÷‚oA7K]CgÞã³Øäãõ”þ¿m{D¡FfÞ #´¦vÿ.°E‹“ÏçôTO飅ƒ6¼ìÒæO¿”‚·tilD{:UúÔ=ÒSô±nkÞä©§–˜P =hÕØãgfSÔ5|J³ÁÇ4J•^[.Õ¤§Gø©„Œ~bø1‚eG´ôûk\•§=µ2­YO¹H*—CÓøçà+„éÔ9ŸCl ?Ikßž¦Øþü­ôüfÄÚ`ÚÚ›çU|è"£žÒ!Âoû©“Ç—Ê]'ù~ Òn¿šòâZq¼¦ìÈîõ멽9è'¸dá,O<‘ûºÞö®å’©¡7ì©¡nÄ‚Ñ*(u‰”%†¶퇨wô”Æ?+–eçÏfSÊè‘ ÿò—½}l2AÚüf" Ú]v›› q ‹YOõÔ‚YKÉúþ,¬$¨'G´" yQùž¾Å`£¬v:ézJZý¡‚E]ã0l¡ŸÕ¡§äLT~f€nÉž{·–»B¤ÐX=ÅXÕ†ÔÌ=ÆïFÑEe;ªŠöáuýiŸ˜¯Ž2è)½35þŸDH´®Pö,.ÒiGñgð«ì‚SevÄ&]VOõÔœ3GáX$Ã&ÿ±Äs8ÚÈQÆ]û`#Á,Ø‹zë§(Òf/wذ¶i¨ÅŒE½£§–ùw¡ì85NÙfõá<3i]!¤ØÈm¶‡j@žÛ­+¸ŠSôTOM8¢Mƒ@zÂLCO½¼J³dÒÄ1V”ŸìeÃ)zjóQDåák{„ÀÊøIpT‡žÚ3É12>Zï¹!DFêÔS¼„=醷yöÑkqÉ ppet%¬)^16|,Ç:b¦J¡ÿ¡wãOÆrþâ([¼:¦Œ8RÁ¼Û¥âÌlzn$hÑÆ4‹ŠA2¨ ¤–Óñs±¢ñij—U‰X}‹”òõ"ðJNj-˜%ÕÓŸ,‚j§ÀƤé}!Z͇ß(Ëøq«§CÏ®†‰ïT…XÑŽD!=m˜µ™3§'UÛÄì*‚B¬hG"„ž6ÌÒÇ$e*‚^µ¢‰Bz*“µƒíH„ÒS™¬¬hG"„žÊdí`E;!DTúƒô´í¯Ûïþø­nÖ4‘µ¼ýñþ¢‰"*íüVéÏ\›dmc;~¹fݪùgŸò™ ãFRÄGfüô)‡¼ÿòí…'LÖk&=¢xÊÛò%¹ó›²²·ÝõË'®Û¼î¢UËϸê’Y‹ûÖëÎb¯ÿçƒož~Yc­W½„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„h?vmÝñw{½göÎ ¯>ûÈÿøöº¯ßzÝÍ_úâUaœï¿´­§±U³·î(*gDÃù°çÕ,'ëº ŠÎ!!D ƒ3ùèõ÷v5¯Éŵeñ*¼FU¶TÙ„õ±ëmÛñÑï5¡IOÛ ÓÓÂëUeÛ¶ƒk¡èB´0»ÞxWz*ò¡éõôÝ¢sHÑÂHOEnHO…mŒôTä†ôT´:þ [CjÝö{9ËAóãç3xË¿'¬·s@¤ =¹!=­NÃëðo~üonúî]«Ö,[´äæœõ¹)SG: <"ÿÊa¶ ÒS‘ÒSÑêäS‡w¾üö‹[ž6ýÙŸ”Ãl¤§"7¤§¢Õiæ:,‡Y8ÒS‘Í실§" Í\‡å0 Gz*r£™}‘ôTd¡™ë°fáHOEn4³/’žŠ,4s–Ã,œnõô×O>·jùŠW-Û¼îÞ?¿öN2À“ß{ä¾5ëbÆFU£[_ôðÆoSÓnZúå*ow$=žŠÒõôÁ ôïòÌY æž;bŸá§Ÿ<;†¿’Ñ~ñ‚…ª"Fº/Z¶hÉÐ!CþaÎYÔ7jÚš«;’žŠ HOE )zºã—¯¡¡ôìç3ÿúáßüPz™^zÞ…ãÇŽûíó¯¨zˆ)¾ˆi¼jwõ¥Wzð„Šã!½eÒS‘é©H!EOï[³ŽþÂΗßö-ˆéëÏü2¥@éSçßyXÕC$IñE4ÛÆ8ÆþúÉçß»YMz*2 =)¤èé/X8븙o=÷Òªå+.žw>òšÞ_@yéSÌ?s®ª‡¨HŠ/:{öœ“gÎ ·~íM«ósGÒS‘é©H!EOO?yöŒ£§Ók8mÖÉÿ0笎Žä5ERo»aå€þýéY¨zˆŠ¤ø¢™Óg,˜{n¸eüØq~¯!“žŠ ¤ëéû/m£÷AˇùÐ=÷§»ié—-XŸÃ,œ=ÅÅ`óº{íçßy˜Ÿß¼cCµÒ<üÐO6°sªêÑ~HOE«“R‡ékÐ9ôà ô,ìá:D³b°©“?C°µ7­N &‡ÙФè)m§‘ûîn¡\<ïüŠŸüÞ#Qãz´%)¾è´Y'ÇžïèèÀ/IOES‘R‡ézÀèè¨R‡ÃçOÌè’ èßßDAL‘T9Ìö EOi;u@¸åsS¦VÓÓ/ÿÓ51ñUõ1R|Ñâ‹/?êSGúÏß>ÿ áSF̤§¢Rê0®s÷ê¯~Ç/_Kvת5{ÿ¥mr˜m@ŠžÆºœTš[÷­YW1ðŒ£§Ÿ={ŽôT¤â‹ßüP´íq2T¶†8é©h ŸGúñ;üÐOÆna$ ïzèÁº &‡Ù*¤Ïç`C¾«¯» ÿFõ aÏ#Ù½ÔP[Gì3œ.ªôT¤î‹fNŸo¡¦­Z¾¢7•¤§¢dÑÓñcÇÏ™¾ÔÚØÇd &‡ÙB¤ë)êyÛ +g7sêäÏ\}é>vñâ–§iS…¯Æ~ªzˆ$Ý>IûÜ”©Ô7T5W1•žŠldÑÓß>ÿÊ[Ͻtñ¼ói¦ÌœiÁðœéÁä0[͇/r£™ßÝ“žŠ,d¯ÃtFFì3¼Û™Ww¾ü6Á_|¹f =¹!=­NJ~pÃÆØ^ãÇŽK>ÀI°Ø½Œ±޹ô¼ å0Ûé©È é©huRêðÚ›VèßÿÅ-OÛÏð…}:¡¿ùñ¿Ùóu·Ý°²££ƒŸa0Í_³¥‘žŠÜžŠV'¥#š3Žž>zÔË-ùâ ‡röì9É8-}Ò0˜f{ =¹!=­NzF+ïZµfÁÜs/=ï°ËIotÅUËü9Þ0X_²–Ã,é©È é©huš¹ËaŽôTäF3û"é©ÈB3×a9Ì‘žŠÜhf_$=Yhæ:,‡Y8ÒS‘Í실§" Í\‡å0 Gz*r£™}‘ôTd¡™ë°fáHOEn4³/’žŠ,4s–Ã,é©ÈföEÒS‘…f®Ãr˜…#=¹Ñ̾Hz*²ÐÌuX³p¤§"7šÙIOEš¹ËaŽôTäF3û"é©ÈB3×a9Ì‘žŠÜhf_$=Yhæ:,‡Y8ÒS‘Í실§" Í\‡å0 Gz*r£™}‘ôTd¡™ë°fá4»žnUõh(ͦõEÒS‘é©Ha·žš¤6¡IOÛ J“2-¾^U´7Þ•žŠn‘žŠv½þή²'i>Û±»êJOÛˆrÿtÇî’-¾vU²×ß):‡D³#=B!êGz*„BÔôT!„¨Ÿf~¦Np !„h>ܺãí¿ûøf4ö¡ôT!D+ðákôßÛý˜zó #yEçB!„B!DoÒ¯_ÿ 4¨cphƒ÷Æï½wÑéB!Z€½úõ‹ú÷7õŒÙÞC†ì=thÑ B!Z€½úõ§‡ºõÿ™´¡Ã† ‘ž !„è'=B!êFz*„BÔôT!„¨é©BQ?ÒS!„"Æ~#÷>bİáÃÑÁŒ¶÷¡)zj’šÝÒ±÷Þý,:'„BˆÚuÀ#÷e:˜Ý3¶¢žŽØw¿žF…õ4¨_ÿEç„BQ;£F]Es³ÝÈÒS!„­ bÚzÚ¯Ñ9!„BÔŽôT!„¨é©BQ?ÒS!„¢~¤§B!DýŒØod3èé^{õ+:'„BˆÚ¶Ïð½úõ³bvuà˜ŠÊxà˜±=Êz¦{íµWÑ9!„BÔbj–]þ”2?’Íž”Ýè™JL…BôA4¯BQ?ÒS!„¢~¤§B!DýHO…BˆúI×Ó}†(:B!D `z:vÜÁIuÀèûî[t…Bˆ1>b¿‘ûÓ1}âÀ1c÷5ºè !Dߢô§o•þ¸i·íü¦L&kQ+Ú‘!¢ÒÎo•þÜ%©2™¬%íþ¢‰"*ýá[¥¾µ»—*“ÉZÔ¤§B4»ÅTz*“µ¸íH„ÒS™¬¬hG"„žÊdí`E;!„ôT&k+Ú‘!¤§2Y;XÑŽD!=•ÉÚÁŠv$Bé©LÖV´#BHOe²v°¢‰Bz*“µƒíH„ÒÓºì/[ïúùc×…ö×íw×íc›o}f¥ÿü¯6~¦uZœB“[ÑŽD!=­ËÖß2?–ŸHjýÑ2~ÿÕ×Í—ÿ|÷ë æÓ8‹2š§žpäû¿º£ð”´·â=„!ÒÓzìâsgÌ9i2báö·ßo¬?Ú—ž¼ÑˆÏ¨A]”‘xNAzÚÛV´#BHOë²£&½íƹ)þºýn…n¦ýÜùêZ~úàçŽר¸®…y`ý%ß»ç2Ùô”/lº’2ºçÖó·?«íBw0ô‹«‰,{ylìnÇ"|_{ó¼=´46ôú‹'V°}˃W³ÝÇ«9\8àLbHRxRÛO^ÆfÛÉÇ6/¶v[H<§Àv“TÆ¿ô¾ÙÒ±q™YÑŽD!=­ÝŒ¨,v¨Ã’…³¹ä]BäcÀ€~÷-²Ÿcצ?Ä—®<Åœáü3§Y‰ ²6Þ‹t7í0¶L<ñ*•ï«î8ý³¼ïð! æ“<¢uié5óÉ¡‰„Ã9lâ!£ ?fôpvw}§M„lç@$&êê _vþøéq’’dßÑ_=iâ‹`ÌQH*qxÜAûqhD™-DKüä[ØÎ¾„!=ÄãíYVŒûBHOk¶Wžº™ DDP–³N‚xìÄäxï©'‰<Ùw„fØÐGzgìbúE<&sÖeóû§áx/bľ+—ŸaQ¡Dèj;œíÂAI » ¸(úëUä Yç;}Ò(L&‘QwzJœ"ÿZl¿¹íÖ$XzùIœ‚…çDØ~ÿ•öïåÄ‘`Û—OÂÛiÊê·}ˆžÖlè)Êâ=,ޤÀm¼ýD¤TÝE@ÑÄŽŸlº-6qaG‚ù.õyâ»w-±+.<Îv!rûIw’Ÿáàíú[æ#Ķ»+ %/êNOŸ}ôZ¼ùÜWý¯Ûnœkg‡Ð#÷œEìVi¨§œ9€ªª[Úp+̃!ºž6ÐŽ›vÕØÆ¯®ÊІš ?yxÙàŽtô.>w†÷[ €Tù.õ”-ÉâóaX·Ø#Lß»ç²Êå^m& á¾QwzšBO/¹ä'=bv1éõ”Æ]cNßR~ý’Óèá^jíaõ»!DHOk6´ ì÷•Ê 5ç¤ÉÉvôœ9SQ”AA=éœnyðjw†áóEÕô”~eø,1†XÇŽÓS{¢‰®tlGþ"=aj»¨;=í¼oQTîŸ&c3³G’èù"¬ æSªô|/:ˉÓO§?k]uYýV BÒÓší+Kç þ*_üÞhÌÐ#„54µBªøi½Tw†ÝêéZÏ2a_ºò¿êÓSÅ}`ý%`ãíX·”¤’`@¶±\×Óp(˜Ž§ééöço‚Ád‹õ´Üu¦J/µ´§ž®¿e¾Ýl5#ñdBáåØVœ Büéi͆F Gg:…Þß/žXqÜ´ÃÆ´_Åw@èÆ’Õ¶»¥è?é†Î°¢žþeë]ü…6¿=ÀƒH!¬èš ÿ†Ò橊ņ8rh$•¿ì¦ I%ÁtQIÿO^ÆA}G×E+ùiÍXF[ÇŒNG¥Fší~h©¬•ˆ£…æú%§•ÊïÒÒI&ZÂ’}‰yÒÄ1ÄfÑÒÆà …—iëZQDáHOë1”Èzš(Ò2k²ë]3”ù@tü_~†CÇ æãâÂ^h™õQ@¾Œ9 Uš:y¼¿†‹ !F|â¨|g3ìA£k$Œôs{QÔô”]PC4‘ó¢3ûØæÅ6x[*?âË_&¾ÄæÏ_± 2mGA¦ ãÏñ"è„·®4áš46*?M;Á{ÇœŽžõ­Ç õ"BˆÝHOefÅÎÅDû!ùh´,»íH„ÒSÙß­@=¥K7YÏúÖcE;!„ôTöwÛùêÚCÆï>ï$k!+Ú‘!¤§2Y;XÑŽD!=•ÉÚÁŠv$Bé©LÖV´#BHOe²v°¢‰¢驽2í9÷Ýöço6´#6Þ’…³ØHÈIÇ„o‰î|uí©'•×A›æ´pjú-^=î ý¢òk•ëo™_øÉ¦[xŽ$ø+KçøºoÙz—­•Ã_'~þˆpâú_<±‚ ‰ÊS„»”Ê3TO2ÇŠ2ŸëØgHn{+Àw!ö¤Oéé—®<ét!xó¹¯Úü¡žixöÑkÙ¸ôò“P[N…½¦Nü±ùùÒ“7†sûl}f%ÁðáìòÀúKøžœ¶¨©Ì–.ýÉÃËHpç}‹Lí¯éŸÀirF() 6)¢­‡ ïxq ‡pfÅûï¼hpÇÀÇ6/&6âá;aŠ=Á¿n¿›Ä7í0é©"7ú”ž†3ððÏo«]‡zJ04mµÙùPBúüó¶š ÇÅçÎÀu{ ¨0Ѧ¤äã77„ïZ"UaW×7V|u«6 S,ÚjfKœ‡3úÚL¥®¥p¼ƒIË!êz#uåò3ÐVoŠÐ÷Åæh“„³ò’ä@Jbç¶pÜHIÅ™ÙÈî£e—X6Ò¿–ž !r£Ïê)*@×,¹ú R諘á½Ñ\[™ôú%§ÙïnþW(Á¥®uº“r@ Hó9s¦ZÎÓID°èFådŸÙÞ‡U£òð):nÛ f#±hY8›ýek_ÒWE¼8ëPymjÁR×ç¶x©k†|›ºmò)K]k©ó—Í0ŽñÛQ“Æ&KמӷtÚÂÄÏqù¹ïð!¾ÔG·¡c`?š.6Ø•ç9ôl)•çV²Áv˜æ4?5é©"Oú¬žZŸ(©§8jÜûO ]À'[¯'¶„Y!1„s¹[œ±¥Ü,¶…ÏP&¥çÉ`#ý;б ‰±׳N‚¼"d¤œ½Ps;(ý²aC;iýÓ9'MFn’=¾j† ¢_6?p©<¿.G4é·”TÌ=›L ´~z¨àÄÀiVÌÿpX8*K?»#”¤A´hMÐI?çEcÃV”#lê~ë„’6‡·ewÖÞ<0$ƒ£¸îKO…yÒgõÔ,©§tš- oŒN!4¦§8ó¤ž.Y8«”ÐS[Ô,9q¾=측V®b¶ªšíb}UDÄÎV–±¡×°S†ÒYlœ”½ZTÙ×éæÔ袿ž!¶ã¦Æv„Õo’ÆrϺ¥Nf ­MS1ÿ]Ýì|=Ó|[ŒÍõ`´øbw¥Ã.?Rk¹G¹„«¸’E¾lœôT‘'ÒÓ({êÆ;eütèiÿ49q_,†0=áܹÖwCËl•SsëÏÎ?s‘˜¡wQYƒKXF£¯‡"ÓrðLJì±?L…”ûÖŠýSB&õ”ÞeTEO+žo)ÐSZv^¶¤ý_k'Øâã~îm»gí+×$Mz*„ÈéiÈíyë“Ξ¼TvéáÛ’g¯ÆÄÞ‘‰=¹ä–QOK廓hz•×>CÖMqØÈ.¡øœ9SkÐSäž2‡ïá}S³³Nb½?Î=|ÊÈúàDö¬ÍìÉ¥ôü¯¦§¥²¤>ûèµ¶yT¾…j+¾‘ɱs·;È‹ÕLz*„Èéièéc›G{ö¶Pt³Töùƒ;Ú­ÌÒž#´(Nø¬ŽÝyL& ‹ž"åô]Ðm˜—CÛmʰÏËwýÒ•§„J}üæŽb÷«ûÚ‚­~:fþ`’§†¤ò Ÿa¦¿L×ÕúαæáýM¢jù_MO‘é°§o]]ZÄO‚ÃÔÒh±ÝIU˜ùl$ÍRz*„Èéi(Bf­æMôÅn’Ú_(N©Ü‡¢Wèý .H-’W*¢²KÅÈ,zŠ•ï¾õ™•Qù¶)²N“Z[ †4xÿy%ö8Ú”|”Sc_ú›üÅqÝJ]·/ýž)ÇE4MàLÐMÁIä‰cü)h{ÝÆú¹t-Ù¥â”YôÔž(öÛÄöh1žl¡ƒlNbøiéÜxûžùœÚ©'é™,=Bä‰ô4Ú³CŠgF‘$gNoËßj´y ˆ‡tÊÂÞ"šKà£&Å·ãÒ“ï“–2÷¢ŒD2î ý¦NOœþÌ}7$•°$χjmFþ%NRnâbq†Ý=3ëƒW¨ åMž8:ŠÉÑÃ÷€ì©ZÎÑÒàGçdíÙ-{ÆšéùŸ2Þ‹hò£p:¤Ä_Þ!ó95²ÝŽ‚š›¶òI‘0¶ ¼,=BäI×S›!öv qõlº29jJÿÇNÿ+©˜èU{µ¢±ox³2œ²€ Ï$$=5ë]̆y“Gaºu˜'ŒÀ(`RO vKÃþ©GÅ rôä-`‚‘-öÈqì/’Ä_)3#¥œ¯%)< à\bO)ŒC'³¥TI`;™&Lz*„È“>®§mlˆ‚Rm2¥¾`ÒS!Džô)=Ýwø>“Ý®vµô‰’ÚØî¹õ|›>Bz*„Ⱦ£§/=yãÏ»‹=Ô*k?£WneÝwZE;!DÒS™¬­hG"„žÊdí`E;!„ôT&k+Ú‘!jÔÓ¯®]¹üŒsæL½âÂã;ï[þõæs_]zùIüE€ØûlºrÁÜc°Ø.Mbkož® ÚT–Ã3T_Y:'œo?Ý~ôÐÒËÎÿÂü3§‘iá«CûýÆ{n=ŸíKβ×`ÝÞÿÕ×/9ŠÁgµÓiæ"è½EÒ¹LìjâÂI.K”ÑŠv$BˆZôÔf šþÙ «¯;0¸c Í T*ÏÕcÙñ—͵îÎÖ&ÂýÒ•§à·ùNÐ$†ÐW›‹ X{öÑkcK¯6ÜÁ¨ÒäÍ&v ¯¿CÆïoSìÚ_sNšlÔÓЊ‚•bSêÌ©'IÅ8nÚa|¯¸NÓ-À^*òÁ®&ŠÀÖ·ÍÞª ­hG"„¨EOq•¥»P[úÄZï¸S|¦mGIq6)œM£çîz˃Wã7úò«‘=2ò-6M}í¯Ûï¶ù…¢ÌzJsÈgD´†m‚A[ŠÔ©¥Éäãsˆ©“ÇûŒFhSsêf5£ÐKE@Nr™x³“ElÙ…ŒV¬BD5ééú[懃r¾Ü'>Á§{5óIÔMsÃÁ}‡±õAB#ªËÎÿ:ËŽ'~þ[Vû•§n¦ÃËO¤ÙE×më”ѤÇnÜ8ÛÏ:uJLH¡íÂ!*N TÀÂW{í‚ÃÑã¶dТðÄã³à–Êí—¿ý~ãÆÛ/ yìuΜ©>Õ-gA‹„¿8´µ7ØNÐV+ã;¾SiIµ¾å@lºÒ–¥oHv‘ Z8d`µ‰›ø÷¨Icù7ʬ§¶ä·}§€ØÑðcKð˜ÔÚqÃ¥TMD*ʓ冹A}¨Öúb;ǵ0Ñs#6t–iæ»UÂûƒvЭϬ¤4­úÙ|Vä*+’–f¬ˆ–É[GàÙG¯¥¸éÎÛ*Ö"ÒL0ÿI̵u„ õ"BˆÝÔÿ<>‹?1ÿÎjË_¶ØY²yïëA‡f³éÒùµ±DöÅñ“ï6­+JT*‹)G$Nü?®Œíá\ô(8]Fæ~wJ0\.»àëˆ9éÜ|:K F+}üÑ&ßZ¥gÇ_œ‘Û"eQל´±©zÃÓÇÍ’6 )A梮éßù‰èXÇ O0÷Žìò‘ð=¶Zw8ÿ°­ j#‡³))?Ùh“ä'‹½³VJ”YOí@¶XßÉÓkWx0¢µ8mññp’|;‹ä¤…^–ä€Õá«„FÌüÅ^„·î°çFlr¤°DøBlÔ% ŽâðJK$T "¡4í Ö< “ÙÅŠ€Èc•9,‚±íòœÌ§–ò<±Zdš’±Ô*­¯‡Þ#Ë×m!*P§žÚJv349·¼;¼Yl«â\pƒ‰f©kemïKâšlE„8\; —k’d‹fºðÙ:¤è&N 7…8ºŸ§».1K’%Ã{7¶êJìéšRWkÁç¤%¨;=Åÿsè°?‚ûµY-¯|-o[iÅ:wáxoºžrš&šœ#ió±wë~&O!æ3ê)gA#Çê¥O̶Sı2%R›ý¾TîñŪJ¬ì4ýö«…OŽ*PC¦ŽU˜t=¥ @xoŒò¾³ÔKÇõG§B M×Sþ2ѤbDåyûÃÚX­—m£òBï,wk½é$„™¨GOñ<öô‘9Fé©»Mº™¶öhÌ%š£ã;¾:ìfâä­«â•ÕÙV4 ;Î-¦§þÊ}ý’Ó¢ÞÑS[“4Ù…´»þL,Á8Sä´çÄþÓü\·rÞÿxðší?¿µð”ËcÒS!š€ÒÎÝ[Y Ù_ÿã_~õä¬_X­LO8îðoÜqÁû¿ºÀ?þÁÒjÅêëÎZ¿êÜoÝyÑï¿òg?¼ö·/ÜÊAÿß› ?wY5«Ã!„B!„B!„B!„B!„B!„B!„B!„B!„B!„B!„BˆÿŸ]ÛÞÛõÆŽ²½Û¤öÖ[Eg’BÑ ¾þÞGÛ~÷ѶMjo¿½óÕÿ(:“„BˆnøpëŽ][ßûè&µ÷_Úþ‡—¥§B!š_kv=ÅŠÎ$!„¢¤§B!DýHO…Bˆú‘žŠtÈÿ¿W’×`ÿýÛYúð×7gŠT½öÞ®_¿ÓÛ™ ræCе«Ê}øÚ»Û~úï?úޣ߸mýW¯½q٢ŗŸÑ?ž=ïŸ}z 1OšxÄõ‹ÿ—ŸüY­uxÇG[wìzMUNT@z*Òùã¯wÁÇoü®QvÃÕ_Zzé•)öØ·¾—=¶^~w×oäÜÚ·îøpkì¦k®Å¶Wð}ÜØO|ó¶õõTà¶¾³ëõwóÌ Ñ*HOE:zyû_^Ù^xM¨j87éiÛ±‹>àë5V‰µ7­£sÀèGOŸæÜ/ÿÓ5w¯þÚã›úõ“ÏÕUå¶í~[¿ ŒMôT¤ƒ˜6»žjð­íØõzízúè¦ïºnþùµw_大¢ ÒS‘ŽôTäO=zÚë&=UžŠt¤§"¤§¢éVOóã»{õ×îZµæ…ÇŸÊìÅ-O7°êJO Gz*òGz*Z‘t=}pÃÆŽŽŽ©“?sòÌYú÷_qÕ²jÁø—`³Ž›IøÛnXÙ¨ª+=-é©Èé©hERôôý—¶Øgø²EKìç7ïØ@øä£q±`÷­Y‡¶Ò]mHÕ•žŽôTäôT´")zúú3¿üâ ù´ŸH$á7¯»7Œí{ë¹—Â`oüvCª®ô´p¤§"¤§¢Éþ<ÒMK¿ÜÑÑáòZÍV\µlè!.¯ušô´p¤§"¤§¢É¢§«–¯8ôà ú÷ÿæ²{pÃÆFU]éiáHOEþHOE+’EOßüÐ}kÖ~òìû ÿñ«ìÑMß%جãfì™}¢!UWzZ8ÒS‘?õtçËo7êQ˜ôTT!ûxïŸ_{gêäÏÌœ>£Û`G}êHTµ!UWzZ8ézZq—¤‹ËLz*ŒŒzzéyXz*š„=}ë¹—b#· æž;~ì¸Ú‚IO[”t=}â;»=¾ù!Ê}ÆÑÓ““¼Å‚=p -®ÆÌ'=mG²èéÿm¥§¢IHÑSüp€öÓ:ž§Í:¹b­ö^‚MšxÄé'Ï–ž¶ÙÇ{W\µlä¾ûuûÄÚÕ—^A°F=±&=mKºÕÓß>ÿ µèìÙs"é©hÒÇ{gNŸqèÁºç~´•ª;tÈ×Mz"8ƺÆ?ô“ Á%ØÏ~ø¤ô´=Ȩ§/<þÔ€þýï^ýµ,ÁÒl“žŠnõ?sñ¼óï[³.’žŠ¦!]OßiÛ/Xˆ¤¢žTàð)#¤vÕòö}Ç/_»ô¼ =X£ÄTzÚ dÔÓÓOž}Ô§Žì6ØÉ3ge Ö“ž¶#ézºö¦Õ¸¼“ôT4š_¤“EOéu²Û÷¤hhì¡{îod%‘ž¶#)zúâ–§ýEé©h*¤§",zºøâËG: Û狾xÁ±Žið’”ÒÓv¤šžÚÝ¥pvÓHz*šé©H'‹žŽ;Ií¶4Ó,ÁzfÒÓv¤šž>ñ‡ù—ŠD•ÃFî»?ùÒÀ58º7驨‚ôT¤Ó­žþúÉç¢ 36¿¸åi‚=ºé» ®$ÒÓv¤šž¾õÜKôIÝ.žw>ùÒÀg6º7驨‚ôT¤Ó­ž>¸a#Á~ûü+±í«–¯°'ÀÍ6¯»—`;~ùZƒ+‰ô´É8ŸƒÆ{ES!=ét«§èfGGGrûÌé3Âi=V\µlÄ>Ã_I¤§íˆôT´"ÒS‘Žæïù£ùðE+"=éHOEþHOE+"=éHOEþHOE+"=éHOEþHOE+"=éHOEþHOE+"=éHOEþHOE+"=éHOEþHOE+"=éHOEþHOE+"=éHOEþHOE+"=éHOEþHOE+"=éHOEþHOE+"=éHOEþHOE+òáÖf×Ó?¼üEgRŸFz*òGz*Z‘©´Û~G iR{ûí¯JO‹Dz*òGz*Z‘]ÛÞÛõÆŽ²½Û¤öÖ[EgRŸFz*òGz*„h?¤§"¤§BˆöCz*òGz*„h?¤§"¤§BˆöCz*òGz*„h?¤§"¤§}“ÿOŒ… endstream endobj 19 0 obj << /BitsPerComponent 8 /ColorSpace /DeviceGray /Filter /FlateDecode /Height 472 /Subtype /Image /Type /XObject /Width 624 /Length 5074 >> stream xœíÝ1Lc[~ð[¸      p1Š(((¦@ … Š)NAA" ¡ˆ‚‚‚Š((,e¤)H¡˜Hw ^D´(El4‰îf½Zgã Y¿¿÷üÞ;¹¶†™Çñ¹Øçã;|¿‚±ãÿ¿oÁ>xÞD‘ˆˆˆˆˆˆˆˆˆˆˆˆˆ„c¢rca´2F‚7Çq­™¾1E[B#!š\ùø•¤Ç[®O÷} Þd­±?y÷ݾl£…ÒÂÉÉ|aõÕáóô=å¸2s÷ËöryÈ㤄Ââ© ·×»}kÿ<­\½Þ:ižl½®EÓ“åýæÂÝ[wêõÝ¢ßi%{×ÕÑ÷Wîô­> 5΢蹉.ŽÒ÷îÔ Ýph鬵éwV¡5U*•ÆÚŠ;µÚ}}‹Ó ÉVçʨÝI?{ÕNµ?8’^ìýX+u¯DÏvOæ¡“‰ˆˆˆˆˆˆˆˆÈÓõo5FïÐ<\+ÔþÞ½o–ÒOè.€lU}£À ê‘VP߈°‚úF$€Ô7"¬ ¾ `õH+¨oDXA}#À ê‘VP߈°‚úF$€Ô7"¬ ¾ `õH+¨oDXA}#À ê‘VP߈°‚úF$€Ô7"¬ ¾ `õH+¨oDXA}#À ê‘VP߈°‚úF$€Ô7"¬ ¾ `õH+¨oDXA}#À ê‘VP߈°‚úF$€Ô7"¬ ¾ `õH+¨oDXA}#À ê‘VP߈°‚úF$€Ô7"¬ ¾ `õH+¨oDXA}#À ê‘VP߈°‚úF$€Ô7"¬ ¾ `õH+¨oDXA}#À yúV«>Ð[î~÷Ð;ýþ¡_ õûÜßöánßëÇ w}ë¾Î7½Ï¯Üûö`•ÿ¿(æü™Ø}î=óg$îëÄè™ó¨¸ï©¾ @⾎úæSì>·ú†WqßS}€Ä}õͧØ}nõ ¯â¾§ú6‰û:ê›O±ûÜê^Å}Oõm÷uÔ7Ÿb÷¹Õ7¼ŠûžêÛ$îë¨o>Åîs«ox÷=Õ·HÜ×Qß|ŠÝçVßð*î{ªo¸¯£¾ù»Ï­¾áUÜ÷Tß q_G}ó)vŸ[}ë¸ï©¾ @⾎úæSì>·ú†WqßS}€Ä}õͧØ}nõ ¯â¾§ú6‰û:ê›O±ûÜê^Å}Oõm÷uÔ7Ÿb÷¹Õ7¼ŠûžêÛ$îë¨o>Åîs«ox÷=Õ·HÜ×Qß|ŠÝçVßð*î{ªo¸¯£¾ù»Ï­¾áUÜ÷Tß q_G}ó)vŸ[}ë¸ï©¾ @⾎úæSì>·ú†WqßS}€Ä}õͧØ}nõ ¯â¾§ú6‰û:ê›O±ûÜê^Å}Oõm÷uÔ7Ÿb÷¹Õ7¼åŠ»QôÐmîsï¢gþŒ]÷u6Ð3‹ˆˆˆˆˆˆˆˆˆˆˆˆÈ£÷ËZ×zy® ^"áPßÄ'õM|RßÄ'õM|RßÄ'õMç_êŸz{Ó··Ÿ~àŸÐ³ ¿Zï¡©‰žUø©oâ“ú&>©oâ“ú&>©oâÓÿôÞ·wèY%D:ïŸÔ7ñI}ŸÔ7ñI}ŸÔ7ñI}ã`z?É’û $cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ÌLåÑúÛ_üê­ýíoÑs|:@釢©\¥ß<ª‡ÿh«³èa$h+‡IÚµ7SL¯-]ÛÝz$ ÔÔÚq-íÚëý¥±÷ï*žÛËgÈ™$H…é“kk[—{ #`»ÕX %A*m6¬mžïÌ ßóá™ÄÜó~gÃs;gMkñVi(ësFŽlµäq& ÓÈÂÞEËÚëWÓ_xN°Ühmëiƒä7¶´™>5¨¯MõòéÏ.ìyqÀ#I n×V&z¾Ma×6^ p& ÓÇÇk.f«öå'O'¦ö*û3í …«±h²\ÙíÏ„{Ž×\ŒÛdúî;æZ'[/mû°¤ô&šmmœÕr}a Næñš“ÕfkóÎӆˣôM¹ž¾Ù)Gç'Q4TÛ~è Bï Çk.&/m<~{­ó³Ô´_£q1Í· ^î?ð„[/Çk.†öìõâGï9¾JŸì6;EZkÍôãN„RïÇk.æëöàηÉe›ÖÏœ¶/.Z[Ñ!ÝÓäx¼æô¥_Ù«Û/ºf×Ò·/×Û—‡‹ó5½ íéÉs¼æd­Õê,*”[+í?ë“7Yµ:yRò¯¹˜º²§ciÝŽsí«ÓÕô‡÷ÎóôÒ¼äÝÊ£òÀã5Ãû¶>•¶×¾¶Õþ)Z}™¾9¬éÜSПã5 ×¶Òjü¯ýC’ŒŸ-µßÑ:Ú:mÎù¹wÁ¹{¼¶ž~g{¾àåõ¸ã±ýý_·l믶ÆN;Ÿ*¿ÜÕ+ÃöþxíW¶s¼VlFÏ—-/Ç…ÖÖþxÙ—s=yô>¯ýé_´ºså$:HÆ¢ÉæŠ— þÜþ”>^Üór_‚ôññÚåõn·oÇ+ÑIÿ<ór 6ôŸ?¦34­³íçÇk{£¥Nß b÷3k>Ùì|{³ßÖt檬ãµnßJoÚo'‡^N%&׎ßuþ£ '>îM<ûÜñZ·o;åÎçm½lCýCúÜxÕ×ÝÉÀ¶?Ôê‹Çkݾ]¼$Un>ô…G.¦ÖÇ¿üYò¨Ïo‡÷ôêµNßÚ¯ *L¶ 9krv˜8;Ä}ræ¾Î!zæAyñµµk½¿z­Ó·ö«‚†š›é¥õÖ@~Ë»ÿ÷²’AÌÑ'‰û:1zæÁ9´?Xû¯½¿z­Ó·—é›rc±¸Ô(d,õ-̾ÍüW{·^½6Ýεóª ÂNÃÖ7óüT} ±o…í:çZ?ü=ɧԷû–>Q°ö»oÛÛ=¶¿\§¾Ñö-Ç®øèbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7ŸbÆ¡³åÈ@}ó)f:[Ž Ô7Ÿöbgùd9t_‡ößz¥ì›ÐRßÄ'õM|RßÄ'õM|ZÛræåߤ¹Ç?׺NЃȓP½yÎ]G"O‚ú&>©oâ“ú&>©oâ“ú&>©o2@ÿ^ÿįoúöõ§¨£g~­Þ_SEÏ*üÔ7ñI}ŸÔ7ñI}ŸÔ7ñI}Ÿ~WýD|Ó®_úêWèY%@úý‚ø¤¾‰Oê›ø¤¾‰Oê›ø¤¾‰Oµ›¾ýz‘^ÍTäAÐ’1½ÿöRAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ƒÎ‹:@2;t€d :/vèÉt^ìÐ’1è¼Ø¡$cÐy±CHÆ ób‡ŒAçÅ ™Åä1úÍÛï¬ýî÷é¥wö§ï¿y÷‡ÿþ-z¤,èå¡ Ç-[/Ou®Ìí\5ÛßGZW'{«sðp˜Éݺm,Ý}ßøìÊîñëNíì›WåµyÕNúadåÂÚ«ñû?ªÚI?Í6mã`æKŸ6>»¼stÙèÖît}arèK7ùDq»jmlz¯ÎØÌ‡ÚUU;q0lâ´4ÛÅ7íÖîúCí¦†û=„eæ a›‡³ú£Ó/¶/ºµ«l,ªvrŸñ+k/VFúóÕT;ùŒ¡ÅW-[Ûì÷×Mk·ùò¼~S»—›KÏûÔg!6U®ÛÖñB!ïžkL÷»#Ï—nkW?WힲѵKk_¯¥§[Åö{Fš#ÑYûWD‡}¾«níjj7=Úç{Ç­0Ô´×ûÏ;WJu[lÿ¹x ÛcÌÜ`îtxjqãà¬[»ë‹ÃíªÝÓ0±Sµöt鿏¬Ü:íöí`3š±ƒ¯€j÷¶oR^>·6Ùüð+«‹R©Û·êt´Z.Mûù%ÕðÔÂúþiõ¦vG;Ë3c^î÷‘ÙˆÝüUü¥oÿYª4m³RúøƒÝ¾MÖÓoqõfÕ^MxlhòCí—O¯v•/ù+¢‡þ¢ÿgíf4¾•X{¶ü³±nßÖ_FÑÉy1zvuåÀníÞ|¨]éž× L¼ð?Ø …Ø·‘Ãö”_Z[ݹï{W·o§ææê¢}îo¶&æ×ʯºµk¾>Þ]™½[»U{1šlPìÛLÒ™òëæÑüýÍ:}n¾ÿAöÌ–|–!£véÕ¿Éx­«àúVØnÝŒù'YŸÒéÛÜeÚ¹d-½ºÔç…âÎKÑÜV[Ï7,LÌ­î\µºµ;Ù«þ˜^øþ/ƒzJh}+žßŽ9Ÿõ9¾•wÒK¯’ñèÙ›£¾N0~Ýù;-…F1:©¶Ÿ^9…gj×ö6¤‡qœ}+neù»ã[å?2u{ëNßÞ”ÒKcç­¤õª¿¿b?M:}+¥ÏBêk=ßjíç«t…Úö÷¸êÁ}«š/ÕLJ³o¥Sˆg¨˜>®+uÛM–ú|²þz¥Ó·r4j¿øÚá[‰ûBîß8JŽäŠè¡Ø·AšjL™Nß.æ¢y{P»>êí|-q_H}óæÑömèõzÔéÛXs8Z·åÙÉUO÷÷…Ô7omßöΠݾ™ÓôQfûôì¹]î冉ûBê›7µo“¶²µulÓç&‡ëïßWëé@$q_H}óæ±ömª}þqe㹨>EË«Qû\dý‹7‹Ô·Ï)¢‡~´}ëhÿ<®¦öë#Q´ÚzÖË÷…Ô7o}ß¶Ò cÕdçÐöv—¸/¤¾yó¨ûö,½§µRûÒÈje¯Ç߸'î ©oÞ<ê¾å’¸/¤¾y£¾YõÍ#õͪo©oV}óH}³ê›Gê›Uß©oê›Oê¨oÿ Àÿ¸endstream endobj 20 0 obj << /Filter /FlateDecode /Length 2881 >> stream xœí]ÛnÜ6}߯Ðs(¼ˆ¤|Ísí{Û(Mÿ¨öb/éÝãCÍʧ1¢ÅËΜÙÎL?ïìôWÊ®ûíËêŸÕúI´nóàë«_~èþšžö)l~wûï;Ÿ£YÿºíÖ??tÛÿ|ý¼zÿÁtŸÿj n4ÝhcgMˆëš>¡‡Û'Éoü´úyú)ûa{ÔºžºâSÜ<\¿¿yÖ[ï»ý_SUÏžLu^?¬Þߛκ>†<ý»‡O+»£é¾¬rìÞ?Ne¿w?ši¤?u®bïÝhݺӻçióÜ÷ÁFo§ž< æ õfªÄx»#l †ÞÙ!zcUÝl \?Z;Z?ìß° á Owõ VÕ0³)°¦ƒK!ÙXÞ°–_ànX™4HñM:’\& £e2ÜûÃät¼Wv,&쨲S.Çáx§\ÌG%’¦ŸÓmã6ÊÍÍñWm„íVË“rÉÙ!á–Ý #ªÊ’¢ 7à9ªhUkªj*+Ç¢Úýn,Û-èš½!±Ó LJ;%Ð÷õÊq¨‰+V¶x­A=)ÙLõžA2¤÷+ZSxx…ÌS‹‚Àö©a% ¨*Ô8œØÉukîA§øÞâ]ÆK$£¸7à˜£Ò….Ïjo¸áø+ TÄôî_dèhgn_¸{!Þdr?ø —¸w×iÔ<˜pP0@L‹ªÂ(A())âP7Ë=½8ÜÄmH¼Zº%¸ò`[ » W{³«öºèÖ%8¯Íê=£tÞB@Mëq¬šŠ}SCæao¡!:¸GUÜŒ!;ù"ÙÎ…¢è4‚ÓaѲj8`¯DŠºšsÜ:Üpji`„n¢(GX¹j,rÚÓËr UÑ*ãÕÄœ†QÀK¼Ñ×%ˆ_&¸üvïÔJplî½ݘðU1HÜ÷&M(¥ÓMPܹv€§h~M$ÛÀ þŒþ]`tMÍQáˆ#¡ÕT`Kª_€†jz±UÑ£ÒæœJ"cêeweØ/h°ÿÀ÷‹“aU¼YóuÑ0-+Úk‚Û†FfØ)ÔöxõŠX¿:"‚l@Ø6Ôߨ…›¢WΫÀÒ°8r×óhàCª\¨8t›¦â<~¬@nDöù’Á¸„Fdšàî­P6¾µÛA‰uÒyÖ RgÔ0•ÇÂHÃÏ3Ô&UÉ%@„¶ËCDˆªy—ünG‘b®yHÅ£BMÞûh&-)Üßðf­Rpwð·½âë‡Þm`6À-Xê…˜$7E á=µÒ•!ùSˆûζ$Å(!™~ܹå÷P…:!¥~œWÅ+M¢jz;¹az=ûÃ×·Dá4 ¶³>­YÂC;†55xO^?ÜT¹+Ù¼0lùÎ;Žðû_Mwûw#óXÂÞµ#×tÎvNKÆ?¢„äMl¡œÕ,iÿCÃW‚†Õ1SŠÊÓ àù‘IKäûTô¢‹¹ˆ:“ ù¸qt”ͳMÕãئdÆÅà~I룖íܽŽj ôÒ}¢syƘ}¤Ç^Ñ7=»öL²C?A%“«Ó×Ô€Í5Uâ 9Lh®ÔÀ©(Èñ`vŽ8TUW·¨*/i¼jãÜ£ª®@AÕ+(’ªUµ‰tž£§*ûÒ4Ÿ‚hÇëà)´còíùK&´£¶K¿¸ìž üv.­íót«°©ˆ*®ò†¯Z'|rÞÅødT>˜T»é$~^»¿L 'ø3#OªqÃ6®ÁÂF} àUbhªD.ñˆÌ³ÛBª– 2ãªîAU¸ ‰Ëîtj4×ÚÊš€q¬Z ´Û ißm…ܵ.T®ô½àaÏä§Ñ¾(Ω! "QØÍzà±ÚÅTù ²3vsGGãÆ{h—p$dt¬t]ž\€ànƒÉ™&®Ò'}„¶ÌӬ̅4Œi@Ùt.†%†,bgŸ:YJöÔk‚Zé¾òtÓöÐy{­ÂÇРݰJ5ÙÅ»$³Áø?7úŽî)¨¼²s~Ç(sÞö')ÓnðEÒ!À@hƤi»°»¼E›'ÃF~T.à£$õn3üõ€wI „" ˆµË“«Eæ<È•¥dã!:FÉ´…"qŒÝù‘Ó™\ùSêDÜ3QÀçBÐŒt§Á¾bVÅÈÂ2 +輨4ÑÝø\Ñ QïUú†)µ!ÄY÷%^‘©)ÑS>W&š Ñ… €6Á×ð”ÑBh<”$=Sd‰Á0 /:Ë×"öWš×úª×5Û¶bM·¨&hDVî¢äTBÌ'In&ÌzÆò×[r‚Ñà§Ëh=ФšÑ'ß!o­aF–ÊhÒa³ùºíöŸmr¶÷VeŸÌn;+6ôƒqCŽq$CŸ&EæýScš—wè³ qCÿLÊÓ™;FóP´r…JÂ#ãÀNóÎ?Ÿýc¯ìVLêÓÔµ|°±;†ëÚA\®Š ¿QJ,™’1û|ýÁ©vë¥g7»=b—RýX´á `!ÎïÃFà(Z¢¼ðV ƒÁV0:˜§Á­ÇÕLÜ43‘B¥ÂÍ~è5}VêHYL=öýB-$èÃðrÓ@-aH¹xÆÙBÅõüç 㢾†ô¿¯šÜÆ?ð¹6y–—bäÇÉéX¢üÇÀ.^cœÍ ÌŠÞþy)Yê‚—S²È¯O‰¿ Úr½²1[×"‡[×dõ|ÉûîèÀo:tŠVÍþ§™q«ÄW2Œ¼D¢*M¸-Jæ;5OU¿Íä¦U-´_ñªšOvO‡èCt¥˜Ò^/©™!ĸqY?\é„«—¹ KŠÅŠŸqRüNÕÔO|›W¾”ð^Üy[S⨹ôFÞ¬BÅa:1<hãœpôuN“7Ž®ˆÚùD@“Ó~éü¶p½I>½=¦&§ãªÀÚç h„ÛQ1D…Š—&L6˜ÔYK"ŽŽŒ2Y†É,“øhl0ç 9ShrCoiËkCF*:ë•f^&öóQ< p‰ÄZz¡š¡N´@/â~¦æ}v€NÁïX:a Tq7)&¶àÉ´pgÑÚÏËq–Û›sï1û8'¸Þ{lÞEY€Z‚å_“`ɧℽb9¢ Ñðd§·6„g^­$8 BTa  u¯cᘈU#¡zߤï$  KϺò‚rc#Å|tFHŒ³yNge¢¿ ÞÑΆ8ð_ÒjHϹÄÁ.ñâ¸tä~M›“ÜZeÙDó 4¸§f%^«œ…´Ñœ÷bDô8º>ÙÍ÷Í ì¹G®ë/‚ýàÎ5Àendstream endobj 21 0 obj << /Contents 22 0 R /MediaBox [ 0 0 612 792 ] /Parent 42 0 R /Resources << /ExtGState << /G0 43 0 R >> /Font << /F0 44 0 R /F1 69 0 R /F2 60 0 R /F3 47 0 R >> /ProcSets [ /PDF /Text /ImageB /ImageC /ImageI ] >> /Type /Page >> endobj 22 0 obj << /Filter /FlateDecode /Length 3071 >> stream xœíÛn#¹†ïýº0\ž@@öØ{½<@²³@€ ÍûiI-©©îoÄjѲgvÆÀÌ i²È:ñ¯b5ÛlôðóÉ ¥b7ÿüýá¿»'ÑØýƒ?~}øÇ_6ÿžªö¿{ø÷“Oaÿëf³ûùûÏ›Ãþøíá§Ÿõæ·ÿ £Dçâ&›¸1:ÄÝH_è¡Þ?Iî@ðËÃ/ÃÏtFÙÐm*á4ïìþa‰ú<½áðŸa„ÇׇŸ^ôÆåÜæõ˃9óKo^(qó)ú7¯ÿÚüUkçþ¶yý÷ƒñÊÚ‹M»ßÚ·ø|h1*G‹w§–ö-Im‡|7¼P’׎ˆðZ< Æôq°€3ãÁ~Å1›Ó2Ç¢÷çV.—Še• •ÂøZÈëCKR)Æ`ˆ#W¸Ë#òž4,° ‰÷¼F¿m²0Ӳȑ_ϯW€Nù˜)LýÀȤ¡¿2C¿ó_ƒo¹xrv2ƪÊð'£§ :=ÍA¡Ê0F)[/””v9¿vnØBq²Nüá…æ £¨ç4FŽ.§¡˜8Mwô>s8ÔŠél/*g³™;^ m"±‚ë3²*“ó—Ú:˜Qð6…‰}ã|MÒšAƒõdåÈŠ™h& fª¢“Úý2ªGµBëãòB¢^f|~.w‚=SÉf™¿6O†ÚÒ´ ÑÈÔ`¨©:T<©”wÚ§;zÕ™ò2Û-‘À…Pä:ëhe6–EAÕ Ï—¹[¤<Á¥ã:ï,Z²^ZŽØY¯Pè¤í<]PQ9®OªìÌ©Éò†mx²E½LRƒ4úKüˆDÌ”BT:ë=9ƒmªAìªA¼9]€⦛Œž4”h.¥9oØ~¦¡¡Á=KiŒžhF¯ãY$ƒÁúU´Cðó\C{ËcȽ˜Ø-e®pèA…¬ÈZùàŒ[âEû N•¦¯äÁ­½Æ*Dà¸'E]Œ±L—(MŠIàAþG2âu:®ö”ª¡§™Ó2zÆ\â˜D¾™"œmÙ•Wà=sïT5Û§åÙ$6B7'“²S¹âÜÚ+‚§©ùÕ âð Yˆbb Lç½ ÷ZÆŠ¡ ¶  É1.«§|ÇDÝÇ5w‰9>|dŠù€æ¹ÑîœCƒ¯b™K‘séîah+|±xá4OÊIEÎÚ¨%ö@¢kËiô¹ÍX7 bÅå ­®ÂºCRM è¡Oƒ­×¨]/"»“ZšqæÅÐnjҌǚh´Dio¶¾ Á 'èC™c†ì µq$ñIEÓ¶]Cƒ-44¥ ë\è#ÑhɽµaZ›ÀëÛ2ÒHN—IÔË#™²4ÀàÍ™Á.:ÞŽH­å|¨ DÑ@GÕâXë“Úí8rìžê’ÄÿÀ鯅õ=œø„å$Òø˜ íHnj™•Kª6bó©"ðE¶s4ÿ Ø,?9A—Ô­Tg=}•\_€ÆŠ€ M|Ú1¤f “6*é1}‚Ä«uˆKâjJŠkÐï¯@‰D·ÐÐ3Á) 1¾{.æ-Òࡨ]¸rtÖ„?Q¿+pÆ„lÓ‘²ø<¤ÆÁýŽñ#q˜í4Ñ^qª)Ñ^5¸ãvpbôË1ÊkÄ{“ÀìQ¿xaʼn„˜¸~l÷æQ"ÛXO`‰¾[»Ês×I„G“IêˆiO¨t¦-W1=žíbÁÂÂu {ˆxKÈR„ 5éHw­¦ÏJ3¥ó}D^¸8¶Y¡ äoØ9°¨sy5Œ§ê†&ÌŠcc lKê¿-è¸rŸñã‰67ÈsÐýrÍ+p[>†Þem|ËìG»¬ì¤>÷(™Çzò -P~xܯÚä.1`·š„¦j¶·*mê—üïXR~«¿ 2”FÉÞÛ_TÙÿѦ £e¶W7å­É¹Ýk {ÔéC 5Ì“ÊOÁñ }â•ó:Ä7. k’Ó¾+½Uà÷~ýŽœ\[Á÷ŸÿF÷Þrdxk•V‚Ürö{AFœ–Ç< iO¿ºàŽGòWpX«Äœ»Š!ÃG¼4ÂYUvõÿÕ.½4bq×3dj ëªÛ$*tÍ„{"…†²Ô i(á¥;æw×~EW+ –ùÞëæï\®\Õæ4™s}<Ô„$ªúa¹²ˆ¦¼/Wži Ð[_›ÒÄ’^¢°Þaª‹G°ÀhÛU  ºã}ov¸ÇÝqqøŠ[LnÉ·µ½Øvз›. k<‡C\Ôô5&–—¼ùÁõŠÉö»¡Büò ¯J8;ž¿ËÙå 2yŠS^´+ŽJVä®ù2ÂP·{D+ÎûÅDX2ƒ7oÞXƒ;­±éY*'gØ£cP{Ó5“Û¿rêgY°àÜ)ï{z0ñZÔw€‰Þ¬ëm¼ßuùØý¨9»`*N3J‰ 4l 4x¢±µDÃAÃgjÀþ‚¦Ê 4¸ÏRŽf…¼ò8]š®õø ™X"íV‹ôÕY¯ÊþžòJkW)} wTú¼%&?½£5°„icVV[çOWGN¾J^åtí#Íš‚,’ ‡"ΰáyj õBâ[ô,¤wŽÔ ‰³#ÄbbGMÝbƒ—)dvúcj¦ÀÕLm ™ôéEtÔ ²zTHÞ¸Hé¹êMWNü»·8Þ5ÑÉo³)ʈ@‚zä,Òpç² øÞL&z.4“Á¾†îötã"B±¦â:åÀñÜuvT/=/0¼=fã•qÔmêÁòóê.aÉc°£¡VÄ?2üæ}9á·³!¯óþø2ïŠÈKlï&¤,èЙ8îq¤©h?‘†¥rAËÇ4¬Ž1Ö–Ô§Ðt‘íߘ¯ùsÉ|Z/ LE+¯¶Î)ÆõHŽÑa1¾GWM²•ïÒ¼r$.`Vl”òébVLÎËwÖò+Bž~]Ì/1ûE³O/B dU¨lUhêvŸáOéXÂ;ô`Ô,Ä­8Üa¶ÿ0õ7DrS¯V>-õ SѺùìæ <˜UõÀÏY¹ù; ™†jª—¬†jª—¬h4ÕKbçB½äÂt Ñ0b¬ŒÓE&"Û G¶Ë^Ì^NšÎ®{È+§"¾?mõ;¹`ÿG¼ËáõA#´Öbœ@^™×aðG飊‹2r8e¸ƒŸ4EÙ í¤‚nüXºWÙúâB¹œ}R^‡çïŒ/tëU²Ê)&Wæßª_èbþø]pUJKƒ]¾ôˆÜ±Î*göžõÌ£3»û~°;ç[¾¿RôI†W1¯I5XÞª¡‡ð峫&Ï)í?'sžÐüÍ¿b”±öÊ šÍ ÐKÝÈÊcôü¹…s÷J'SÒ´þ‘zŒV½@ãzŒ¬›Ó8Uk 2ˆ>ÌÞ_›Óõ5†/LŠfË´‰D„wWDguÞ} Ö'?ú§UÇ} å?-¯G¿²+ ËÞî2hW99ª.G5LW’¯m =n1󑪖dw¨&;!=n”³ç¨Ïµ‰ö°†¢R Ãs»H¡^õHO--Îï©ýú"jÒUŒ›ÜŒmZ`ç³jÐéäµ½*"CÚaÜ2 ãáyé¦Ç-ùõ‰¹äžHr-"­F RݪÖlËÍ·QÐ`@ÂV[³ð†íN•L°W—€G´\ÿt“Ì¥œÁœÜy7ü3Øš:\7sï™_†Ÿÿý¯(Éendstream endobj 23 0 obj << /Filter /FlateDecode /Length1 23452 /Length 13508 >> stream xœÝ¼ \ÇÚ/üT÷ì3À »H# ë# 2¬¢¨ì ŠÊ6î1Ñ£Á5f1fÑxŒIŒÑ—à’¨ Ñl&1ÑxrÎI"ǘåM4ÇxŒÊpŸêšÆ%yß÷ÞïÞï{ïïø÷ÿßÕÕUO=õTuuOÐÂà!®vVukoþ狸+ˆQµsÛ…¿ç¼7 l3€Ü³¾uÆ,²ÁýcÔÃÔ¾3šÔ«ø_–AæOìÕuß¿k<‡%B$5`‚vWŽ˃! ³Úç'¿iI ÚZj«ÁSeEíàfUÏou›Eã1?Ì/4Wϲ/ïÿó€â ª­³í­ƒë"ð¸;ÚäW ÔvøÎ~o…Ü2Ý#õWP«h<Iù½åïÇöŸvVÊîQ|„»*àØt+¿Üw™L“Õ÷Ÿî¿)»Ç•~ë#S¾„jC‚=XÀ ó„Ïi9²z(G°Ì”5ðTÂ,xN@&´ÀØÏÁó ¥ÀvLˆ9džxFËíöŸÆ³ÿó-åÖg9lÆýY0õ4Ô;`Ö¸&£®DPKöA:ªL…\ [ï(-Ï®û];îØ£å¬¿Ë†ÿðCöÀOpl$ˉŠì ]Ä’§0­Ïú Rˆ@*` ú¤ôÂòþ›„#«I4‘‘ "À8ö­F«7ðaŽÍXâQÂtpú­£=ÉÐ _A”à ´l+ª.X„>˜‡m9W‰§kktý”bíëq»“˜ï4-—‹ñN{X2.9 ì*7¸úI¤BŒÂˆ²AÆTdCÆÕhȃ10òaŒ‡ P…PÅP‚^/ƒ?ÁFì¥íhý£°ãq7¼¯Á6œo:¡ž†/Ðú.xÎÀ§p ŽÃBø3¼Œ‘¹Þ…ý°>„p<=ƒ1^0¡ŸÌ0ã9†BDbÿGãhŠÅþ³@޵°Â0ìéDŒ”áw#0î“ ãgÆLŽŽ)ESa:TáØ®ZŒ;Ôãj€FŒ³™Ð„1ø4ý0Ú c¦æbÜ®Å8ZöÑuÓ§M­œ2¹¢¼¬´¤¸¨°`ÂøqùcÇäÎÍÉÎḚ̂¥JK9"exrR¢%6&zhXèsH°ŸÑ ÷pÓjÔ*¥B.ã9Ñ9æÜ*ÁVå…™óòbè¾¹ªoK¨r˜”{g‡P%fîÌiÜõwå´±œ¶œD/¤BjL´c'²ÍB7™\TŽzu¶¹Bp\õxQËÂÄ7Ü1™ð !ǯ![p*!Ç‘;·¡#§*ËëÔj²ÌYvML4tj´(µ¨CÍ­dè(" nhΈNTn´ZšS]ç(,*ÏÉ4™*Ä4ÈËr(²J±,¡‘Ú «„Îè#v롦*JWg®«®,wðÕxRŸÓѱÂaˆrD˜³ ¿õÃ&ÛÑæìG” Ë/¨€8ä¡z³Ðñ+ ñæ‹îL©v¥(Bõ¿•´‰nÂã’´ -Äö™LÔ–UÝ6¨ÁÇ’¢r¶/@M`Ø,Q®Š9"ñ.£G–HGN¯2›hWåT¹~ç6ø9–Ô1Ñè}ñ7ñ¸ààêjj(WÛ;ÌÙÙÌo¥å[6 [µ«­9qÌ_]…h¤n(*wXÌ­£9“eÀöAcI¹xŠë4‡1ËUµ®³–œlj—ÓQ•Í ¤e™‹Ê÷ƒµÿlç0!p7kÔ‡OvJXNGy]½#¸*°ã³^(49lè¾ s¹½‚ö’Yïˆ8‹Õ™Äų°mwå–2Ó–+CUB9ÈWÐÞÂ!7æÌT< Çîwif¦ å$¤lX‹+Uw”ƒ;|hV=ÄÓS³òM&öùOL tÙ$u¨n+K 6±zþCÓXnjP„cϾÍÀ; •» t•öÇvrÔ®Šñ íÎ<éŠ#Ó8,FL¢½è'8 P(7ÛÍfŒ![a9mõµØ¿ù%æü¢Éåbo»¢¤ôŽ=v|øÀ1—rpY€¹QRŸŠû£Åýݼ»‘ *s~I-Ùì*>ØbEؘêUÃ=‡á¸Ìũ͜[mÆ+lnGuwÿ’šŽN›­£5§ªa-Ã<¦®Ã\Rž(šV\¾8p!­ÊòI~ifL4N<™f²²¨ÓFV–L.߯ÇÅåÊÒò.ŽpYU™CðXù~gv1•£©4‘ît‡–TŒ;*1à~Àñ¨LL÷k» ˆi*)@m7ÇÒôR‡i2–fÓè{ȯý‹smŽPGû澊†Žª :²Àû‰ƒ˜Gƒ3ê$œBçИí™­9“¦§Óôt–® éJŒ âCÐ9tBê¨2ã$…ÑT„Å!O‹ºûûKËM'/V˜0Î*“Ëê(œøå¡c1ßhŠ*LíXR[M퀲rz®2tLmƬT fãPc jW ˜#W<‡Æ"žT‹}ƒ(ž¿wK*Q´ÒòÆ 1–õÈ3ÀngeÊÃhE–ŠOs‚80qhBWPR£mPRÎRq+«`NRêÐòZ3ª­ÐÛ2¨-Á8g©&¥Øq>”…ÙEh]6‹ÕºiêX,©ÖÆÒñ(UVT0㎮ X·Þ¡E‹Âns¥ëôCmÁßh*Íz”SÔ Åæù8­P£Å’”xØá:¦g~v¾SÌÃ¥“Ut‚кÊèa©JÚrú-íîÙ¼ÀtÛ'&ÚL¯ 40!p?6TtÜà˜­º;ÕMLîèP¹ýñ Ì_*·¦‰B^2pÁ&püµ+tsœ$ˆ$À%H¿$œ’è“Ä I\—Äo’¸&‰Kâª$~•ÄIüK¿Hâ²$.IâgIü$‰‹’¸ ‰Jâ’øQ?Hâ{I|'‰ó’øVç$ñwIôJâ¬$¾‘Ä×’øJ“Ä_%ñI|)‰?KâŒ$¾ÄiIœ’Äç’øL'%ñ©$>‘ÄÇ’8!‰$ñ¡$>Äû’xOÇ%qLïJ¢GïHâmI•ÄI–Ä[’xS‡$qP$±_Ý’xCû$±W{$±[]’蔄C»$ñº$vHâ5Il—Ä«’xE/Kb›$^’ÄVIl‘Ä‹’Ø,‰M’x^ÏIâYIl”Ä3’Ø ‰§%ñ”$ž”Ä’X/‰Ç%±Nk%±FIbµ$:$ñˆ$VJb…$–ÄrI<$‰e’X*‰$q¿$Kâ>I,’ÄIÌ—Ä9ßÛ5È”ÛÍñ]ƒC‚qÕÀˆt E‘H?#'£>F7Ýè…tÑoŒ®1ú7£«Œ~et¥+Ђô/F¿0ºÌ裟ýÄè"£ ŒþÉèŒ~dô£ï}Çè<£ocô÷®€áH½ŒÎ2ú†Ñ׌¾bô7FeôF_2ú3£3Œ¾`tšÑ)FŸwùDúŒÑIFŸ2ú„ÑÇŒN0úˆÑ‡Œ>`ô>£÷gtŒÑ»Œz½ÃèmFGat˜Ñ[ŒÞdtˆÑAFígÔÝå—ô£}Œö2ÚÃh7£.FŒŒv1ÚÉèuF;½Æh;£W½ÂèeFÛ½Äh+£?1ÚÂèEF›mbô£ç=ÇèYF=Ãh£§=ÅèIFO0ZÏèqFë­e´†ÑcŒV3z”Ñ*F]¾£‘a´’Ñ F3ZÎè!FË=Èh)£%Œ`t?£ÅŒîc´ˆÑBF Íg4Ñ\Fsµ3jc4›Ñ½ŒZµ0jf4‹Q£™ŒîaÔ鬄 FõŒìŒêÕ2ªaTͨŠÑtFÓMeTÉh £ÉŒ*•wù”!Mb4‘Q£RF%ŒŠ1*dTÀh£ñŒÆ1Êg4–ÑFyŒF3Êe”Ã(›Q£LFŒlŒÒb”Æ(•ÑHF#¥0Þå]ƒ”Ì(‰Q"£aŒ¬]Þ…H ŒâYb# £XF1]FœÒI4£¨.¯P¤HF]žtNÊ(œQ£PFC™…021º ‰HÁŒ3 êÒg# bÈ(€‘?#?F¾Œ|y322òbäÉÈÀHÏȃ‘;#7Fº.|$-# #5##%##9##žLj0[?2…ч¸‰¸¸Žø q ñoÄUįˆ+ˆ!~A\F\BüŒø qqñOÄ??"~@|øqñ-ââïˆ^ÄYÄ7ˆ¯_!þ†ø+â/ˆ/FœA|8í^| ñ9â3ÄIħˆO#N >B|ˆøñ>â=ÄqÄ1Ä»ˆÄ;ˆ·G¶ Gp{ñâMÄ!ÄAÄÄ~D7â Ä>Ä^ÄÄnD¢Ó­&ØØ…؉x±ñš[aðväW¯ ^FlC¼„ØŠøb âEÄfÄ&Ä ˆçÏ!žEts+mmn¦àº–àgO#žB<‰x±ñ8bb-b â1mGðjÄ£}i XÀµú/ñç,~é~~|°¯Å7Ý—ßä»Ë—³ùç¶—?5ž5Ê–x‘ÍzÒÝd·>:.ÙfÖ‡ä¶zÃdû&÷]îü.÷ÃîÜa÷OÜ¿qçmî£2sù7‰øu7²J£ò»•ýÅùUáYé-¡[[Ñd‡b¥Ê&O)ï$䱊NÂe•: ô©¬¸¿|õjÊÌw•”wñ›7eVä;–Pm³‰ºŸjÀ,QmísÚæDEµµµ‘¨¶9ímmíõÿ‡üwðÿÎ]ßæ’Ø!íØ(ÚÛçDµ# BÑæú´Ó½vq—fn‹êú¼>£Ÿãñæ‚C@éG8}ˆˆëˆß×ÿF\EüЏ‚øâÄeÄ%ÄψŸÿDüñ#âÄ÷ˆïçß"Î!þŽèEœE|ƒøñâoˆ¿"þ‚øñgÄĈӈSˆÏŸ!N">E|‚øqñâCĈ÷ï!Ž#Ž!ÞEô ÞA¼8Š8‚8Œx ñ&ââ âb?¢ñbb/bb7¢ щp v!^Gì@¼†ØŽxñ âeÄ6ÄKˆ­ˆ-ˆ››Ï#žC<‹Øˆx±ñ4â)Ä“ˆ'ë#Ö!Ö"Ö C¬Ft A¬D¬@àM0YŽx·Àd)âÄýˆÅˆû2èvbb>bo7I;¢ 1Ñ‚hFÌB4!f"îA4"3õ;¢Q‹¨AT#ªÓÓS•ˆ)ˆ D9bb"¢ QŠ(F! ˆ ˆñˆ±ˆ1ˆ\D&"aC¤#Ò#)ˆáˆdD"1 aE$ âq "êþ{Fîÿ©OÅ·ÿ{ú(›ødçÝïFC=´A<Ûà4Q+ö›øNÔN8 À%¢ AdÜü¶ÒÿüGHßÖêÿÉù@ÿþù/ÎóÎJ…o¿B~¦ßÈ_`ÇäËAç¬ï¿ê|Àùe„ìge?(êû#ú/q6PI%È'¦]“×Ë—Ë_‘ŸÄvEˆ-|á¿0á>ãÑÓÅwWîA4A+2}³Ç4âÞ½âÛ+sa,„E°šaòýð ,ƒ‡a%î·a ;ú,ÅÔð¬‚Ga5<k0åAôç ̹ʕòò1/-c9–BÏè¸íœu°{d<áYX+¾/³ž€'1õéôçày1çéÏý§ù_ßwz¶ÀVìñW`;ö3K»•òì€]Љé[Ä”pzÁ 7à&ü —1N4Ä“`´¤‘ñ8kØ¡AôR%z­Ùõ¦O›hǰ[HÛ¶XôÁ¢Ï¨˜•Ká!—VŠ>¸åÇEû7 Ô®õØj?³ýObkßï[G¾4püÚ¿e Ï«ØZtÁnØûà lùNl{îíEý2¶þU—G^Ç#ô Ë»WÌýÊmÇvýîh7p½Mvõ~Tt{`à ³×>Û;*¾iö®øö}Wë4œAõ|'á3ñݳ3ð%ü¾ßÀ÷Ø_aŸœ‡ïàø'\ÀôŸá\†«ØG7±¯nâÈ¥ýƒ=åc8{+åÿÌHþÿäóÔòw­Ï©˜Åpü¯çÓ8lUÿ%Œ¾JxÌY…É:EœB+¿.ÿ´òDÐȹû¯’Ïß‚Za”y÷_…IP3Pìµ;×} ïÚr—è»´.-qáÏ· 7º°@1±™Z¨†˜øáÿ.¨hêØVít¶U÷-€;¶Íý&€Çsz´_ÿ)€a(â €g+€— ±ÀXŠøÀ»À'áðEøb>ÙÿÐÊ€íÀ¨ xô=Œ@¼26!ЯØƒ0ö‚âïý¸òÿ ƒ±Oƒ‡#0v,Ç4Ž!dÈm¸ö?sá]Xë§w@c2w¼~ó „`ˆ‡Êý`&ÏtÅx¸ÑïžôzU€ò-\6rà… MÞd[mzç¶A¯êÿL€âi>ÃCè&A{†Êž"YÞ÷ußǸ¹è™b¹H,_õ~Ñ«¿|Ìbé}÷To|1˜ "ŒîœYi·&$‹åÌæDkÂ`Ž$øxÓôX.qØ(Næ~s,_Þ'ãf ™3òduŠÙk#ÇÍ´™#Ÿ±Ç;»CãÝ|OÏ`_wwß`yàõóòÀ²š/p?Ä”e„¿psYLž5°ÎZ4£ïŸÖPW>OOÁÏ]œ°@ƒí®Äv+QÕÙ<5¼L-“«8¢& (jª›¸Ûq<¯ªV¬á6qø‘)r¹Œ B6Öj1ˆ¿éVlîTÏ”áV‹þbñ·X­~'¯èé!.Ž3™yo&V/ž—U¾=¥ïlå~Òu¥ò«¯Hóœ<ðæ‹ÜÁ¾jO߂篡m Õévï•àI¶îuSh4 è&[m†`E¤›oh¨Âïœ2#ìœ-º˜.z>…è¿8Õ‹n÷LAÿ¿‹Ž§Ž5L‚Á¨PæyÑëkÂ(ÎK’Iüµ1+Ïqn'sÉ^ûìÄéy‘?ø¥ÖOèîJ«YØ–·ïÐ3O‘ÓÖÕ “:ß¾gC¨&n\é:Ú:Ø9# ©¨ïJBaò`ç¨Ù@ ²ÿNƒ`än÷Aƒ}è—+ò *ß=îÄÝ@+j2á ñÂ,þĽ“ËÆèùâ"bêE4¿Wÿ:-TaÀ€Ñ`Mðñõ 3‡¸sÞFO´6™?÷üç?gŠ7üùá)ÏåÞ0¹òɆá/Ý8:>ƒä“ìçUÁ®ðˆœeo.p:áfÚï³°ë‚з:ð¡ûñ¢òî½q3RjT¾^çÔÆïU̕ԌSS{E÷ÉD÷ä9Ad«¢g±óRDHÌÁa÷lnzf9y‹{nÚŽ'L´ ‹ÞuîZudnâMoôÇ ìÓX¯"÷ðj%§è&¯ØÜ”îïr¹’œWe(±NÖ{Xíåwõ=)X/Öém2˜ &~gßiνï—}\¯l™³üɾX}Ë?³ÿ'þŠ<ã${·Ñ>ñŽÚ T¤Ç¦6EzŸõò ÑMüöпè&{Ã2Ýþ1(›¶zÚર÷Ôåcž´FÉǃ9ÉS¢ÉàÎKƒ’vÿÓ˜S¶´ŒŒ«ßÔâ¡wþJFL™>-úá3OMþÓùŽòMcd#ãƮx«mþ[åʔټ¾¯Îk°QSúÒÕ-/öwN íß~¡mÑÂнD­•©Ð1ÛlZ­B{^%‡s\šš€¿Ärùtþ«ê•DêD¢‰|éüœww~NbnþBbdËŸzê¦×† XîXî—X®œ¾Û%#/ÛÔ@\†ì<û›|;Öd2Xѹ_öé÷r#qY,Ú4Ͻ„çºAÊ¢’k´tøáZCÄCá–ÁkxJ™¡È"€e%¤§[SR[î³ø¥K¯¥7Á’B‡;á ØsVâe0XùK?8—5o;Of.ÛÆ[ˆ¢o–sŽù›ÎÓÜ!ÒFã2ïž,Ø^CQ¬q0 JÍPÿ=2Í?ȳ‚Ò"Æ$§P°~ñLJ¢¨’Ææm'³”¬~³ñþƒ‹R‹WB¾/m¿y¢I¥ &„ ¿pbé‚0î)G?¼\4eÇ¿ŸÝIPT¾võå¶ÃãŠVll?üò´MšÜÁbé˜yg·‡Ê¨¤CÆMåg<¯P¨¼zÕª»"øT¯kâ1Ó “¦šÔû{Vné"­Õ]+ ÷¿ôľm/¼Æ¯*|þ¾ñÎ(y`TÕ†9÷?Ü÷]Ö½Çk ÖíC ߦæü øû¨çžÝš`55¨ õQöþ‚¿fð9m†& û˜Ú"Z“baó!5ˆÆx ö¸UœŽcùËè…G郱í²øþ;>±‰éá¥]dÚì­ñCF7f':aÙ¼WÖ¦ÛG‡“-qé¡z:&?0>mVE†Þkz§hlp¥”Ð8jÁ±yû4r;ÃpªëÁÞA»5ƒ’Âï?bÓ|òÂ#¿ñ’›25ÝÄgÖýr×TˆÆö}E½Ùƒã³ÇåMìòðDj$^=lXæØô¨ÀÎWðçÇ­<Ü6lÆôÒüƒó&.oYµhÉ¢ª‘Ãçî_b_0Þ4~cÞ3k]‰¤fê£ScU:½zÇ !0q\|bþÈøai%­ã³´RhÝU›}|ë'&ŽK6ªŒÎí±Oôâµ3¨8:^ÕržÈÎ+2x1p¬»|Lœ¾Ìt‘é‹÷8ódËn,–-Û@}3 }sËð¥ÑíÞà&F»Ÿo†6Ãóï,ÚÓÅ©©÷V˱÷ÄðNBÅ_O›ûZËÂí3㻂2Ç=¶¢‹oÚµ(Ë6g«o¹¹i|û„¡[Ÿä§Óñµë;Ê;A äïñöV“`úuº›)¼›|`óPÇé>"„¡È»›p6µÑð[@aôUY1›,iЫ<›.{zSðúŠq.Â$«5qíeâ(žöˆ·¿5ñ‚*+~uêÄ…¡½ûtöœ²—ÊME“k¦?zù¨ÐÂ]›÷vG¾ÿ¶`kUǤ}{®h< ïŒ`‚a:- U vün›BTnr¿ëúbm‘¦$øWy¡Šâd"õ}|œ—ËtŸÙÉ̃8gå.ÝÛ75f×sŠ1Ûk'.›Ý5³&s}QTƒõ±M¤wÉñGFëÜȶë‹Þº§>oY÷¢}»ç¶“ÏŒôæöí´ïÆ+]ÚvëtÞè¡}»ƒ½#dè>›·wdð‰52"“E9PèvZ§¼ª/f³EÇ]ÆËe¯¤W}&£Ø§ÉÞR¼²iC™äêsþÇõ¥ïØ]^œ/ŒÞ]µôÀ¼”´9Û›·´¤ìå…¬ºÌ”iÙ‘r.*4ÁgãKJ‡zÑ?wùÑ…÷¼¹¦4sÁëÅY-…1Ñ…­YÌ~çíuâ_Ý¥wÊq9Ýe t×juJðÑy»Ë¯j=T*ƒÆëpW ¥š"œ7ÐxºI±â¢?¦ÿâcÜéW¯èOoo×J(Ñ”¨7%øYà#µÿ$ÝμNç›$‹li¸ÿÆyÙ¹ «Žu}ÉÜûë¶‘u~Î6¶žžæ¬”Ñ—#aTÁêCàN:ЭãIçñ æãGâÊ¨Óæ6iHü¤ˆøI“â#x“ïAòdC*ùÐfªÖ{9sór‹?T ÉæUIKrU¹ªê¤‘§FT~˜T˜~rÐDñêœN›€—œ©” )ú‹+½%g1O_<`ÁxK„Zß«§›ë®' ƒÚW>˜¿u””ËK[n&obtÍýaá¡î¼—ëbŸè»|Û à”†u“Ò›¯€1©D•ÿÀ눖,|­9!{t@˜Ÿ.-Ò+È[›2c]yhviêãŸx¨äÞœÁu3œ×MQ~šDaDAܰ¢ä ‰ùiæ©I–VZƒ‚Ã8 b›6*kþ”¤ðœé)cš­º!Qq¾Mq¾ÑÖ‘a4§FõØMÃèŒÁñ馴rµOdTW8<Øœ:!’ò‘@\kmÆ:ŽãÐ,Z:ƒé0y—̓èüõZù ïB÷mI—ó[ó—ÉlƦ+3Ãè¤ëãÍß9©Èœ–9Áºs§"¢  8ú©­ÜÒö6/Kaj_½|¹sÆ ñY‘žotcŒÒµçIŒQ5ÎL‡Àƒôá2C†‘à®Æû@5Þ)ÉÔW•ExYjÓqRÍ3¯|vô×QÓÅn=A;[Ï.Qt©,.J½\+ iœ‘«Î3äKuó¯dlZPB¨·whB‹ùʵ7_Z·NÞañAƒ¼½ÃŇy£}Ëœ•|ÚçMW÷‡ í ÄûðÎ7@cŒ4D*pñ£Þ«ñøM1ÑG4Q & ^¿‚d"Qh汯˜‰W¨%æÅK¨)‘Üe+Ÿ—Úú§ú±«S‚Gç2ûA§‘³Þmò…›ajè·Mà©^û(_¸–¼$Ù-µûvÎáØ·ÈÜ·$v«Õ y‹| ;ï¢Ée›žÈ´êN£äeò™«§qx¤»zúݳ8 ôŠ j±Ÿ‰•ÈÂvFïÜIÞùÎÁô}'_~ó9ò¡3^ºŸ8‰uâ}Ö~±/ ®¾Ôˆ} §ùq ÞÖy·wÝí]%»ºæ†nÝ:§“±-:œCb ¯3Ⱦ‚àF(Å„âµc—Í×Í-Ö¢¸Yèu5¤0(4 °  ÈMŠ[œ ØÔ@R,—S°U§èÄd¸Þšo—V_Êtk0ðMJ_ƒ1$Ü"lRzø<…ð8Óæåª€øa#‡•úÅ&Ú"ßäNZRÍî~I}‹¸·’³ÃÜÃ&çö-â/N)Œ÷½§…ŽcçW}¡·Æ¶ÅÇçCÇœ/hé˜Óùúqà[¤-ÒßPÒ(¢×=ỉ=É6Ãmƒoó³ÊèbhÏnÚY>IHË·“¿°eXN¤áî¾{¹¥sïeƒO¼.Tâ}ŽëvÝçàb/ƒñªKïs~ó(4_“ߺù¾}å']°î¾ËÑdÞ×uoÓkóÒ%îŠ7+kBËhSĸ¦lÊÄ9çU¸š=²xÎQä¥Gšºjª%­~ÅX\ùR¦k)g=í2B( ßí¦T´s5a ®¼Unaº€>}¡®@]fþœ™˜Î&{¼é£wâݳ´¤¢øGkª$þzþC{ã¦Çï|V›Ë‚;ÖTq÷XWoæT¿÷P¦F笔?üʌ߭¨Óµ ÚzTôa®]TºvÑ 2²µ‹ÙM=ÄÿºG±¦L](œX»°yவK2šìZº°Eªkí’2ïÀRkÝð»Ôõ”?8)ªËß:~.^†ÚSÖo$½Mo¯Ÿ¨7„_o ‹Î|÷P÷ÂÒ‡§&Ðå‹—ßÛ_ïãXQ‰ö%tržI§øD¢Ó¦W{9ƒJ^Eºr)Àè%ÿΣžóQš“¤{“¼âõòç^T8ø’BóèüÒ8aÿ̪Ž?4Ï?ybZß"6F÷ášé Ö›%û!šìÞ8$pˆ{pïnƒ&É|€ ¡·\žþyC¯¢•B!úNnÓlÒîÒrZ÷kJiéyë΋>FÃYBzDçN±#éõ6üÖeÙûÖsßÁ<pȨâ©5–ú׊ËwN\<ß+¡qJv[i\ø´ÍóG®P¼>)£"ÙÏ;¥¾¸bá8ñL,͈ìîiÜìh´æN³EÖMLqÓ?kô2š-Ñ~)¹å¬­é¸¦~ï-}!±SïFg R©òõPù)õÿÖiÜ à†¯ñïZZOˆ3Þ©\}ˆk*qA–(>ßIŸ2¹Óï¼?ãÍÎï‰?N°Î´¶Ö¸Ù£Ü=Ü^ëätcŒóðãN®i¦‡žÎ#èïãüð˜N芾ނe,Å2è“£ÁÝd¥Íè毓{ º“Z-|æß&YžR²ô;ÕÞ‰s·ôÍŽ q@X½é]ºQ‰‹C£ÕÊ/{ôOò”œ¨¨1•ÃŒC§¬k;ò‡ÏO7ÒY¿·›”ÇO´Ê/~ܰ‹¥+¦[íýñJ°wŸsûy:Ï£mï2Ûö„ɇPO<µrA{R§£¶•¡mM·Ûv¬çrž>(ò¢«SqmHíÁ+²xËCíD‹“ÃÐT³ù¼hZ%5m*š6ùñƱ©ß~ú|ªü•½ÝßXæÜÂL#“¯ ö½yþ¼8wnåùw0F 0zè <^z'Út8ÇËt:O/‡»VÎ-§ðÀ^‡7â].(¤io¬VêÊ„„St„+C½Ì^òðÐÐd9oåC}åüÑlç÷¾k|œ½éÄê<‘CýÖø“À\çG|Þ¼Îídâ9Ooœó&™èÜ~xÑÑ.pÖËêWqìxìå9þW1F™¬þÆF<\¿V|RŽkpwñ»X`l§_ý#q­»z·Qç{¢óCÉ ›Á/Äè†?ò¨Ÿ•¹§.Ü»°qÇÂÌ´ûPvÈù¾3±%‰Ù-"û¶ãÐðˆµ[é.·ú©wVluî|êòKÎ=!Y‚Ó>¬<ÝœùàÑUÁ£‚È3ÖÒ´ÌeGÑ+°çå&œÁSv+ˆo‘ß²iq… Õ).ÊåDÖMíVÕ¨ùnÐIêØwK4†X·ôö|uŒ~+„Ã;„~5tþ懤ÐyÜF6o$C¶ð¶?ñ×ôO"׋ßÅ€)ôÞöÐ^ƒ¿Aî&çl:bÒ»ýK¦c-'t“ÀN`õÐEå1º:áZQb=dÏžÜ(p"I’.*J¥‰¿tóO¤¸¤a„1 ibjÉÊ”ª±G—LZÓ2´hQéEnÑs¤°x~m¹5nRfØØ‘m¦ «y¬"É+‹¾gqŠk³3h_LÞ÷WÛÜ, ¾–!¾‹ï^=½ÎdP''ø7$ïò%¾¾‘É¡—‡˜.EÖª®¨u—h?³ocÅgrô±7]¿}ÑkxˆÕ{ë~çÖ×SÂOÂÙ·Îgr=µzÂ}I£:òjV•›´ ïɧGVç„.¹/óÑÂñãÇ™^¸'©­ÎZ[OVO|úÞ ê9­Îœ9mdRaRàšàeIUt^nʘÒùù­bTqùõxO…kšxy ö»dÛÔ:…R«kÕ8É>fóvãy+ÜÜÔ¿È´xÅÇ%b }".Â<éóF^_zhÿ'¸[t’Ÿ6Ü!Ä$‹ÿ¦«osýg‹3…'&ç7Äô _}s·¿o4{æ¹Ç}›Ò„w ¶Î€húWäOOèmïMRôÅ€ðcAAIþr¯Ëž5ñÇFÀ¯¤Û ËÝcIæšË”w?§—n!cþ«3š¶µŽH­{òƒåK³£}”J–þRU퓵 û‚FMÏ ›Ÿ=hÈè†ì”é9áä…É/ÌÉÊYó—'ëmë¨MÞ0¼~mEDḧk«S«³BÝýÏ¥¯7D‡æÍ íªC—ýˆ± VHÝ­PøýK=wKh7Æ•—Ï0Ë÷Èc:ƒA!¬U^VÔI3s kTï©é94§¹"$9ùÎÑäö¯±ü•{œWwÎZ°ôÐâLlËÖªÚ§j2çm««~i~¶3iøôœ¡AiU™¡ùÙay3¸3‡;K7 ³¯›J›Ò°¦tÊ s²mk¾%CBG7d¥Ue q÷£íjŒÆñQ i2O‡kàÐN-é&¯Ût ™Lç¦Rjú8"‹õD_ qV8!>ƒv=|¦ßË<óv8ç‘GvGÈigÙ°<éœ)ÆÀrÉ÷òþâû4¸ŠQòr"¿¦ä¯ÑEÏtQwÇu¹÷æV¾’‚{x½Ó@¿+9Ù‰ÿJV rðÙròÓ^ì]Bïâzè¹8æ¼’ ''›¸Í}UMœ‰?×Ò÷Iß'Íä({gÎWþ¤ž]D»´ wiª@—–ãO”K+0=Î¥ÝÈ\°¹´;Ä’}ô¿ ÊÔ@ÿ2â[—Æ£\žKsà> yHà&º4ÖÅ­ti9Ds\ëâz\Z 7¹S.­ÿÔ¥µ0‘¿äÒ:ˆ”庴wAÖêÒîP©¬,(-êì³çÚë„ú–æö²æ¶V{mc}£½îîCñ±qqq˜ãJŒ¡‰¥ mâQ¡¡ºM¨±Û›…¦ÆZ{sžÔÞ"Œni™ÑdÆ4ׯ ÕÍufno° s«›æT×àÖÙ-­öÙí „–za|KsKû‚VÌ=«zFcó z‚¥e¶ÐØÞ&´Íimmj´Ïn‹*ZæÌæ´Ùé)í´öyöfêÚ–¹öÙXõœf4R¬ªÝ>{VÍ»€žç²§Ä>{.ZÙ&TϘm·Ï²7·‹å ³ªh„€E4¶µÏn¬™ÓnÆB[Ðm3–Ý-Ìj©k¬G‹gc6LAKìÍh¯]¬ÐåX¡°É^‡ð¬öêÚö[«Çóª›÷α·µ7¶4·a)3ªg×ÑO–äâ m#„†ööÖ˼yóbiym±µ-³,ØRÑémx´±¹¾ÅÒ„…5Yìsšªoå†WñJ›€ñÃQ‡F¨…ÙÐmˆzhÇ´,T³¡UÜVcJ#ªfˆÅ#¸VlB.Æ´ЀÇÚÄ=;²sÏÅmæ¤)3`æ­ÆÔß×1ÂUK³˜Bsµ‰iÌ®Äß›(–Þæ²DÀ<±‚[2±–FÌU‡:’~wîÝûæ§[;r;¶–,à™ZÝ(¾çm÷h©í¢èÿ~œ%¶f&¦µ œóÇGëÿ—SkîðK¯ÿÊàV$Îke½-µŠEê,1?+wÁ@}wú§Ä5B™/Y,Í˦±kk¾e¯ ¶˜ú„yBpYÁFíÅÌEkvYÚŠ¹%Ýì²»]L™…)ôÌz—g»J›ëò’]Í.ÿÚoká±A­+[Sí:«Öu¤ZŒÀ?ê¹ú±Ú,Ö~/ZmÛÐ蚤qOGoÝ@OrõIî@TcóÆË­È¿5NXŸÆü‡£â?;—Ú@Ó-b[gˆqKÿ£4›Oÿ¨lø>@¸endstream endobj 24 0 obj << /Filter /FlateDecode /Length 376 >> stream xœ]’Mnƒ0…÷œÂËvacH‚!H$ýQÓ€àIŠÔdÈ"·¯™G©H }ž™7ãÇ„EUV¶Eøîºæ@£8µÖ8º«kHéÜÚ@E´Í8›KÝ¡/>܆‘.•=uÁf#Døá£Ãènâ)7Ý‘žƒðÍr­=‹§¯âàùpíûº… ²L:y¥—º­/$B.[TÆÇÛñ¶ð5ŒÏ[O"bV˜¦é }ݫ홂ôO&6{ÿdYó/®R”OÍwí8]ût)#™1Lq Úƒ ¦õ™3­™tJÛrPɔα=S®˜’-(!3Ç,«9ƒæXôËKÔA³€¦^‚P§q‡wˆ Y¢ƒ†f M½c«fOV=… \Á op+‰«Æh­0ˆB—n(tQ0,‰øPÃè™Kh¦˜5—y͇Û-Ó1-çY1Ýô‡§M¼¯OsuÎo¯+¯Ì´,­¥ûF÷]?UMï/ ÇÊendstream endobj 25 0 obj << /Filter /FlateDecode /Length1 39056 /Length 19369 >> stream xœì½ xTÅÒ0\ݧÏl™I&“m²Î™$3Y!! „%’ $QŒ@XMÐHBH’D¯€+.¸€¨(qÄ…!A ›Æ}¿àU¼(¨Qñ**W®"¢$3uÏ™Ðë}ï÷~ÿó?Ïÿ¡NUwWuWWUWwŸ `HY=¿ªiÎöñw„¹½za«òσ÷¼ >»iÎüG¤†¤ÔÈΙ·xvÂÕGÇÌ8 ×ÕVÕ¼uGÀ0ìq°:¬°¼üÒ'ëæ·^5Ù¥ ÃBÛç5VWÁCºÅS±üØüª«šŒÁÈK¬È¯4Tͯ}»Þsà@ìĦæÚ¦Gïì0Ï®;}ïûÛÈm3ƒò~ÖEê€ÿ<òe^,ÇÏ^бï·ßzûÌEºYÈ«G ‚ŸÚÑž 0Ö ¿ýæ™d.Rëûäd^ƒÏ!ªA fÈ€ÍxWªQEè¶@—ô64±° kc¡\~f¯árl›‹0VŠ…öLCþ6,· ¾›Žðö!ÿt„G²Æ#8.C¸T…)(ó&Âìc&ïGà/áJí»pŽkªî‘§Ãl»W3fñzëVì#éû°þA͸éuØ^ÎyæòÓáblOGúnyº×«½ ´XH÷a}8Ž×±Çoa-ÞcH§bßã°}9âiˆ§ªúZý%—sås\Ái´Ï¬¿a2Â*„ËÐ>\>ålX¾ éÔK؈Èâ‘'^năpü±ê¼AÌçÑ?'Ô_èôÇÀmZ0P'>¯£ï"ì Û¹pÛYÐ…R¶ðŸ³ a}Æ ]<|^òWÞ_8`dÄyíFY Ñw ê™/o‡uXÎBÈЄ­‡Féú`;\­Y c=Ð!'ÁA¿‡(rÑ~eØÿ¥µØçË"j¸ÞïÛØW…}U"\‰c¿é·· –/B¿–!o/_1h×êÑëš¹~8~·9úý2Ýóòöà8%pL›œ»Ï¯Ð†ò °/"ÆñùÁ‡°ýJ´é3/ ¼Èuðƒˆ3D_[@¢[¼?!AˆBxáNo•íœÇ7 ¿AÄ+Æ M<6ä×E¬Náºûæ ÖÂ*uÍÌGùË"’5OÁå*$#/·Ï,³|½øûæ±ÅãÚELÏåqO¾åóä15ß#wÃ$®ƒcËùºÃ~s,… î—Àj³<Þü˜Û…Ç_|M¨¸tÀ\ÓÕ5’Žòq"Ö1ýØo‹~¼îÇ>§kîÄ8ý&°a‚ôL#¾ ç·ëp>ìæ°4˜¨ë†ôåD”½ï¼Žƒö¹Ǻƒ=‰¶8 » ñì‘å'½Ge oÊOÒ%‚þ>H·¯cÛþÛúÿ ÊOÂl¤¿•x½8Ÿ»øšÐ~G2?Æú„e©º4²N7—ti§Yƒ{B#sÁHÙ¹¬òY¸ÐN¬Ÿ¦¹PäÝÕØÿëä;¸ ýu³6 ¤£˜q,ú!î¼ÄãÄÑY1wn,ù±?^ÏÅß„õˆo÷Çç9qšzN|jÏËs1ß[x~{ ®SÔã6ÿüy~ä9ŽçHžçøÞçç?_ƒ¹ãï"¿ 3Ôu‚‰}ìQóÈn©Ë{×è7š÷½»µùÞÝÒ[ÞÝšû¼µs½oh¶{×ã¼Sú÷Ôn_.ãëÉ¿—r;ñ}Ñ¿ÊN˜­æ³û/Ž/öÑé"€f1®¿+aöûßWù:”ÖãºC{b׳Í0}«Q÷ i«¯žM <'²…Hc=ætÞ ­í“ÙO°¥ ½ñ¬ÑÂBÍK\Æû®¨ûÒׯëäp/Æ][ÉÛ ŒûŠÏƒõ¾Å}k>J· ÔÆðp?û çÜs|]àD6ÖOç¾O¹¼ûùzÑvƒUëÂñ‘‡ë Î8®ôê{7Ü‚¹¤@÷<ªQø¹†Œ½8„!>å¥Knõ¨3û0±c׊úZxƒn‘(Æ7o“=kï(6ÍÆó÷p=Í€åÒŒ»c¸gH(‡e–ÉÒ1(‘N‰ýg¹l€\ÁŽûø7PÊÊQ¾jXÔH^¤­k0QNî‚r5ž³®À~T ÃPF¥šUHgxŸâ|bŒSÞpl1d ¹ tõ×ù‘:¯AÛ^‡ñÀõEz ¾\×~=UÿH?1OÞ/Ê žCü¤îÅ{ƒ×áÞIô6x¡~ŒçðnXBÖâae=“¯Ö«ð4\$ð6„IPÌ–[J[!„ø[„ëö ü“ …›°ïwò{ú<æ.ÄØþ8Â^„OýmõGõýÎ*ËY°”MÇ3a:üžÿ!ÈaWaÎD{"H ¡”ƒ&µ:h¤_`=ÏIç”ñ¾s/k„¸ÿ¤Ï²2… }à8G¿?‡ÿàð¬pŒëkߟÿ·:þ·€þ]Š0GØ¿‹úí¯=ÙWŒ¿õp µ\)ìù®{ÕOX‹¨?Ç+äÉà:·éë9øËçúõ?•±ß­Á~ÐfáY}Šüç–q?¸™ƒ†ÇXº(_ËÁ_î÷ßÁTÈA;#cç”5fhã@›°¼xœÏçÐ_žŠçª©¾øä€¶­ç€6X7‡Ú8 ïصŒÛÇä²à÷?ÎÏõ׋½‚|GðÌ<¢ÎÅýñ­æ‹³b~’/ÞûË<—|uÏ™5qfmàZùw}þÿ pí¼…ð:Âkÿoų Ïfž'ÞÇó†Ϫâóm¸  ï€Ó/ôÎÄ<„·êÞ§±nÒNÄÿB°b]=bÜNc”õb4z>@x¡EÃUê¹2ËE>Ù¾jŸ<—û O;§‡ùäO/Gxé¿"`”~ñ=ˆF~7Ê•#^‚u×#ÎÁr)B1–ßÃòhŠôH„£¨g/cz3Pþ!„…ü<ò÷Ðÿ»øßÜ?þ§Ø÷*Ä™õ=÷ñ?Æ~þ|î]Ãïÿÿ„ýw‰ßaÕxæ{‹Ã€»ÏŸÞqüýù« '~`+¼}x¦ÔŠs4žeÅ™›ŸU,ÎÛÄy’¨ïægg~~ågg~~E¼ñMò>Ô§.á÷|®†¾¤BŒX ŸŒ%¤ eÀôÃø;Xþ†ã>¶”ÜAî"79L¼´œ¾NߤŸHD’$½” -‘VJ·JKeF6‘]Îf²»Ù½ìAö(ëd»ÙG쨼S~YþV>¡1j¢56ÍHÍdÍ\Í|ÍÍÍÍšušÇ4Oh¶jÞÑÐüwSܯJ¦Ä)ñŠS¬d*ÙÊH%O­*ÊRå1e“ò”]¶‡ØÃíñv§}°}ªý ûûæx¯‰зćÅGÅÛâSâÓâ/ННM  æ»Ôat˜¡«#Æ‘èHwä8òóË7:nqÜê¸Ûñ°ã)G‡c—cãÇÛŽ}Žÿpæ9]Î1ÎJgµs¶sî7ò7ÖoF§Ç‡œ¦§•ÓÃNç}ºàtá鉧ËO_{zÕé5§½½³úòû~ôôz{½^þ†Ú…åÚÉVò.ù -÷Zî ý–»-w»ô(#,MbW°Õl-»Ÿ=ža]ì ûFvË»åýòqÕrvKSù‡–;·,®]1*!J„¢ åRÑrYÊÕrW¢åEËm9ËrSì—ÙW÷[.-§Z®2¾FXNù7–+í·ÜjG»cK¿åÞBËDËì·\­óÊoˆ°9ÎN´\êéáh9×é±§‹OO?}õé•§o?ÝÛ{Eßh´Ü2n9/¿O­ñ†Ò·è^)Ã{˜¾ƒ+"#ò.²ˆÌ%ͽíX®ç1ëIó¤zR<ÉHþ®†…0êàÝûIïáÞý½o÷öôþ­wç콯w]ïS½ãçîÞ¥½7ö^ß[ß› ðeÀ‡}oõ{nBXóùe=7öüúùæžEXza5ÂÊžk?oûìÊÏ÷ìú2½çöÏ6¶öÓµŸ>òé*€O7rÙÏ">]ð)føO3?u}šýiâáâÃE‡ó8<ìpöáÌÃ)‡ãG=LýóÐw‡¾9ôÕ¡/¸Ô¡×½pèùC8Ê¡W=~hë¡¢CcJ<È~(.ª;ê·¨ÏÍÏãIïyíFíƒÚõÚ´÷kïÓ®Ó¾©}Zû°vî_G5£åÛdªùÚ%ÃÎþž‚þÃg•ãIý‘jàO~¤ Ò²Ór;î-l›Ì*ÏØŠ÷@Àû›€÷ÃJ9°ÉjiŸéqޤ“%÷Ó‰Êiø·-—œU”àQ¸n’®€µð¸n‡Uð <áa%šõ¸ŽÃ¿0Kß ·ÀKp~€‡` ü? xž‚7à5xfA5¬†x jáuxþ oÃ;ð.| ³á=Øûá˜ÿ„;áø¼±z¾ƒp%ÔÃ\˜ÑÛíÐ   š¡Ú cz|Wat/†kàZŒóçàaX K`\ßÂ÷°“¬%÷J$ˆ §¡—¬#÷‘ûÉТ!Z¢/YO$‘ ˜‹&zb ÄH!ÂIø……¿Ã'ärœü ÷ªÉOä9I~!§È¯ä7’FN“^ÒG<$÷1 „R*QFeª¡Zª£zj ƒh5R ¤AÔLƒ©…†ÐP2˜†Ñp’A2iµÒHE£i ¥qÔFz+µÓx2„dÑ’M©ƒ:iM¦)4•¦Ñ[è Ù,Ӥ뤤›¤åÒ é6éénitŸô îœKOHOJOK[¥mÒ³ÒNi¯ô¢ôªô¦ô.®Õ÷¤ÒGÒ'ÒçÒWÒQé˜ôƒô/ú/ú#ý‰ž ?Ó“ôzŠþJ£§i¯d$#î.'õ{œmd›ØföÛždO±§qWÙÊÜlëÀy;{–í`Ïá>³“íÂ}zÛËžg/°nö"{‰½Ì^a¯²×Øëì ö&{‹½ÍÞaﲿ²}l?{ý½Ï>`؇ìï¸K}Ä>f‡Øaö û”}ÆzØçì ö%;¾bÿ`_³oØQö-ûŽ}ÏŽ±²Øqö/ö#û‰`?“/Év’ýÂN±_Ùoì4lƒº’äÀ³°^ÆÛQ'l‡Wàzx‘¿·’&J“¥Ri’4Mš.]*•IS¤©ð3ùšvó÷,pÕù8ÜEòáR@’;q¿¸›,‚.òrŒü“-`Íì:Ö"•K3¤Ë¤Ë¥ v#kc‹ØMl!»™-fËÙ-l[ÉV±[ÙUìv»Ý;òbO~€­Ç3ÍCx²YÇîcײ ¬=Œ;õ£ÒPi˜ô“Ä¿•Öø¿(&x"zNÚÁF‰É­No0šƒÌÁ–аðkdTtLlœM±Ç'$:œIÉ)©iéƒgdÉÊÎ:,wøˆ‘£ò.ï*3¶°¨øÂ‹Æ]\rÉø K'Mž2uÚôKËÊg\vyÅ3+«`VuMíì9uõWÎ7¿¡±iAsKkÛÂEW-¾úš¿\»dé²ë®¿áÆ›n^~ËŠ•«n½íö;Vßy×Ý÷¬Y{ïºûî`ýƒmhø‘G{|ã¦ÍOlyRzêég¶º·utnvÇs];wíÞ³÷ùº_|éåW^}íõ7Þ|ëíwÞýë¾ýðÞßÞÿàÀ‡?øÑLJòégçÏŽçÏŽçÏŽçÏŽçÏŽçÏŽçÏŽçÏŽçÏŽÿ³³£ËåÊ}AÞ¨‘#†çÍÉÎ’™1xPzZjJr’Ó‘˜oWlq±1ÑQ‘Öˆð°ÐK°9(Ðd 0èuZÌ$J ½(¡¸Rq;+ÝÌ™pÑEƒx9¡ +ªTTº¬*>›Ç­T 6ålNrÎ>‡Óåãtõs³’yƒÒ•¢Åýna‚ÒEfL*Cú¶Â„rÅ}LÐã½ZÐ&¤ívPЬu…Š›T*Eîâ…u+‹* ±»m†± ck ƒÒa›!ɤÜ MÛHÄh"Q4r •rG%¹# ¹nÉQTUã.TVTm·—Jw“±Õ ³Ü0Æ”&X`¬Æ­ëÖŠa”z>X¥lKï^yk—fU¦kjª./sKUå|Œà4·Ðqõë™"vn[¶|`k´´²ÈZ¯ðâÊ•Ëw÷¤²­vþ,/Ç>P–:Š+Wãз¢K¦(8½©¼ÌMnÂ!>>+ßüjŠxM啊[Ÿ0&¡n啕蚨•n˜¼ØÞåÚéí¨"eåÔ²»;?:¡¼ª0f[(¬œ¼¸3Ò¥DžÝ2(}›9ØgØmA*a4 $jûÛ%Ø9U2¹ß²„k”0­T+¨IYÎi8Ô‡•ÕÑ Ê J¹kÐ#õnýØÊ•摼žË»eWþŒ©½2áØ÷g×T©5‡ùgà$“þPÃv?íNKs§¦òÑŽEŸ¢Ž£Eyè ô…]tXB“YA„æƒR´mUùÈ 4¿ÝμªË³°à^6©ÌWV`Vt¸2ÒÊÝ´’·tû[¦ñ–eþ–~ñÊŒäíâÒæÖ9ûÿ™ÃCŠêFºIøŸ4×úÚK¦$”LšQ¦­¬Tm[2õ¬’¯}x›J¹CÆ–IÑT¥h´$Z1(/ïgæ…2£›9ðFu[ D)v›+/ò=Ë vû¿•éÒêuys)Έ©ZºG¦]uVù,íŒ+%Ô—9iÉÔ+WÎj+Æ´req‚R¼²reU—w٬Ŝ°r'ÝD7­l*ªô;´Ë»kU´»øÖrœD9öJ÷C!`óvKë:Í¡Y®.é¾Î ,WYZ¥ÜÒxèF Ð(Ý K(²—t ’µ“†À,3ò¯a‚íø$¢ìBàü«:CÂy÷7t ¹k:2s|D§ÙšUZ*]Dª• lxak€8ÄÕˆcÏ´Ièéê 2g-Ãñò‘=_ ƒl.À“vâB) ¢[[G oœ¶ŽäÔ¬ƒ4V² – É9ˆu’¶#˦ì–\¨©Kº¥SÀõ»¥Ã–µZE®eÈa Ú+ Ïdj§Þ”µºÀˆ›b;E®ìbƒxº¤†ìÇ+’b ÛæJ±†¸XŠë³uï–îlwñ^p¼ÑºlŽ:MYÝzi4¶ºñÔßÀG[ÝéžN)2(u)RKù/ÑK+‘Z‰nZ‰®Y‰®Y‰Z¬ ž³W`Ë äÉ®†&i¬FØ€4Ã.Ã:Ђ;‘˜œµSŠ”¬h ón´ÁÚ¨N} ×ÌÚa lÖNc`Vþ^©&"PT¾µ3šո[JSIï´Fs¦½Máó †sì•b¤8a‰Xaw Ë‚$¼xîçÖ¡ïÓÜ¿t–9~[Åïªø¯>ìí¦û;qWýÇ=1ô+ìl&ý6 Eénú2d¢ÀÇ´‹kA?¢;!ñA,× Þ‰8ñ®û¶.ÚÕ‰u ÃÎ'K_îHËP ›C%"¢UžUà /Ñ!»ø;âDÄ/ÒnˆGüb+ânÚŠ×}–…Qˆ·«øº‡Ç4}Žî€áˆ;;¹ î-G[;4=Ó¾Ri†m}†> QÈút‡3 k7w:mA»±?B§­±6K>LÊÈ dj‡ƒƒ…>Ò‘Ë;YݱG±í¤«éj—5×åp rm”2™ƒ27JŠC¤ä*•3½d4.Xº Ÿ¹ PŒÂjº¢ƒåº úpN|^–á³]P•ølàÓÜßz\Pùô&˜ˆ@±%K–!\ ŸW#\ƒð„kEM+BÂ"LM(Ñ„M(Ñ$$šP¢ %šP¢IH4‰ÑÛ¸D%JT¢D%JT ‰J”¨D‰J”¨\ßJ”¨¥(QŠ¥(Q*$JQ¢%JQ¢TH”¢D)J” J¸PÂ….!áB J¸PÂ%$\(áB —ÈD‰L”ÈD‰L!‘‰™(‘‰™B"%2Q"SH((¡ „‚ŠPPBA %!¡ „‚Š0£„%Ì(af”0£„%ÌBÂ,üÓ†À%zP¢%zP¢GHô DJô DèA‰”è¡‹¶Iû ^E‘ý(²Eö ‘ý(²Eö£È~!²Eö£È~uê­ÂÃf ÂR„e\¶e»Q¶e»…l·¯6.ëF 7J¸QÂ-$Ü(áF 7J¸…„%Ü(áí(ÑŽí(Ñ.$ÚQ¢%ÚQ¢]H´‹ÀmCàÿ}Pþ×®¡×‘2n®tIx)|/ð8(ðµ°Mà¿ÀF¯ë¾r^N±?[Á¦#¶Ü ‚pLf"4"l@ØŠð‚VPû>CðÒ¡®x¤¨Ý Ýª}A+oÕöhif¢fƒf«æ¼UÓ£¡JA45‰<Š©îÏ¥øü7|æ *Ÿæà¸9˜g‡â'‡æ¸‚)?¤’}©ä…T²5•Ü‘J ôôBÂD¦S ïZ6Ræ2:GÛ"ä:“Fcfº}Ç÷¶ç0[ÙãC)®4Äß#lC؈p=B.B ‚MÔ¥"™+^írB‚AáC@8íf Ö¹vRÙØùª ô|œ¤d”ÛÝ‘”‰¨«#i"¢ç:’fÙ ôd$ñcy=÷$â­¶#Øü´=ÕaÛhs‡-QEGÒ`D—u$½k+0‘i`c\tªŠ§à¼9žÜa›Žl“:l)ˆÒ:’œœ;r`k )ƒ#ˆªT¢o¤„Û(Dñ¶œ[IÜñDƒ„z2ÇR'*ôÃNRƈ+ÀvÌv·í{ÿ ‹áñ‘ÒÅíst‘é.ƒmÏ ‡¹ÀÖQ`àü¸?lS±›ãgm+l`_ıÃvŸm°íöA]:¬¾ õ^!†è°]÷‚']!¶e¶L[ë #¶ÛŶ*Ûd[…ë;l—Ûöp5¡œ”Ñ'wØJ±Ãq8 G‡íBG—P±Ø¶Øæ²%ÙF({¸}a¸¯ßÜA{¸ Ë7z:Ú7ÕÑÅc|Zn v¥jkWk/ÓŽÑŽÒ&hãµqÚXm¨Î¢3ëuFA§ÓitLGu  íòö¸Òø—F¡3GÆŸLÐfÊŸüû%¼\P¢£p1¸C¤Z2e )qwWCÉ,Å}rJB1à±[NCÜ–(™:Æ=<­¤KëìÎM+qkK/+ÛFÈíåX릷t˜ZÖE¼¼ê¦h~¿ÝFà¦Û¢w!‘7ÝV^Öð…ùÖ|ËèàÅ…ð¨TŸig~¬ÉX÷Ú’)eî-±åî,NxcËKÜ×ñÛïNDME…;i Gåe;Y *šÌëYSa9²lÍÈI!›n (œ óÉΆ>òñ9Qùì!ŸÁNÁç4˜#œoÛA¥¨p›¢ÀAÁsÐx0bP¶p›Ó)¸RƹHY‚"KÙlÈ2È&XžëDG6"sgœaq¨,CûY†Š±$r†Çæã Möó„&#OÚÿò§vLéÒ¶äeþB¡2¡¨¡Ò½jaÕ½l–¢l[Ò¦¾ipVΪ®ã¸ªÖÝ–P[è^’P¨lòò4¿Ì›‡$nƒ—‹¦–m{ÙU[Ø1Ä5¤(¡ª°¼3?¯¬à¬±VôU–÷åñÎÊøXùÐ\À›óùX|¬>V¾+_ŒUTÏã¾´l›Æ”ãVàN`À®Œ¶— 77æ½s”ݺ$z²ð:oLã6!ð¦Aƒ x®3ÞÈß©MÖ%£ìÑ»ÈfµÉŒÕÁ cÀoZàL%î¡“JÜö)3Êx¨¸]Uì³þ#š­PT_ˆ°Ü*?9¡åZÿè§­­­…?ÚÒZJÜ©SJÜÃðþ½M«Å¡* ˱n°¿N’DÝ6½¾¨ËÛi¨iåÃq*¤¡]¼uii»¦]KùU¡µ3*6«q/îàKðGudˆû2]Ôïà÷—ÖÎŒ¡>Œ÷SŽ;¢ìY8Bg.ŠrìðaWð $V;VZÛîhÔž«ÁÚ±Ò¶‘o¥%hMkñÉÖr46ªÅÇ{¸#&V ÜΉ´´ò´"ìõ{c¿Ñû Û¢öÚ"ºoõ;ÄWß>f_cZ›_¨MmBIyÄØ1̉(ðñƒ§Þ{„·qL¿Å4ëõ§ž‚¿“d¢@'ù "à‰$C`†Þ/x.Û }°/ëSa-±à…,¦Á8Â' n%xzÂp<â}Ž\ïÝ‚íwÀkp 5ø·Á\˜€üÓ ŽJ_A¹÷~ÐÁrÀ ÛdUð!~~Fî†{àyòï)5®Çþò  ¼/z{!ne«åƒúgáNØM4Þjo=âa%Mó~èý œPÂS¨SéfæÂM°ŽDJ¯!µ1Ò i¬üŽ4¦C,‚•°Þ"R*”{¯ñ~!ɨS=%CÉxú83zG{?†Ë`'¼óåŸnvÛ$_æÉ÷>è} ¯ÖÏÙC^”³äÛû®ó>ì}Œ¨Ï´ÈgÜ/›ð/ø‘.õ.…‹` Žü*‰% q¢Å?¤‘t ]"½ƒq¶¨ml7zd솽h›CÐ_‘PM.&³ÈäGj¤5tŸô€´]ú€öÚ;h£VxvˆoéöûÏ$¥äJÒHî%’ê¦ßÓ_˜ŽÝÀN³>ÙééñœöNðþŒê(¸®†¥hÛGÅ÷…ð#ü'‰™ 'uâ·%zÈ÷TOãéDÚD×âÕøii‚t§ô"ÊÆ°¹ì]ö±|³¼J[¥õônôÜíyÚóž÷9ï{;Ø¿ŠÑ¢×aT</ÀûØûGð |ÁãûEf+p”r ¹‡ñt-ÄQi3Úézz7½GßÇ_cÐé'ô;ú³$KñÒ0iô°ä–º¤ýÒ?˜™9Ù`6„Md3˜=“%_(O‘7ËOÊ/ÉÇ5yšM“æíõÚuïô¥ö}êOÇíéÄØÕa$]–xÁ¸ßŽ>x -úWÔ¸N ¢ˆ$¡Þ#H1)!ãÉ¥ärRK®'ËÉ]dy€BÑ“qä8 p«+þü;u2ÃQÏCÌÄþ‚ù© Ö¢GŸ‚ÏÈð‘½ßcv“0Ua–¹ãý&àY¯×ÙR\‘˜AæiöÁvþ»SÚ\Íhv5‡_ᨼ #j fÒ¯=õì!ö¥7×;W®2ØŒë®.ÄóFÉ^,óÒå¸Ò ˜K²pU— ¨k1ëÝéu{×{oð.ö6ÂÛ(ûI'¿‘v\](‘oàçøˆ¬ÂuxáŸÏóßýxj ¾%Vâ Y¸ŽÉ åÕòy»ü¼ü®fZûFx#ú ŒfΠÞƒoá¢CßDB:ä ¾ÃQ÷2˜GË¥½0–DA®ÙdÌãcÔ™´`/×£õÖãzÞ‹kã8æ‰Ëáy8H(‰ÀUãø:ì§í<¹7¢o XSƒY;¾Ãy’áxÛNö´³V7êtþÖö ½Ò1/’éØ×/p)Ôàà”ÿ-$ïÌT PzíHÌ0†Ä“ÇP®Wh ÄÂùKB!Ý3Á;œÖK{qñb};î^ÑpY€Zá<ú ŒL„¡žÉ¨ƒïgÞ'1Ζý<¨ @zËì¯>=ÿhgÿ÷û@3€áz<_â\ŒÏîòùjÇøÀ2 á€Ðéa8çðL€ˆtXñr·Â˜xL/†3÷€R|ÎÃy8çá<œ‡ópÎÃy8çá<œ‡ópÎÃyPòßÚ–ñhaÌvJ<mÍw…€Ì<´ÌC R§‘=TÚCœ 'nbkšùd^_Þó‰¼ñ}y´¹C2íÁö`>0èU¤î^ÿ W ëæ¿Ã1×3‰ÖÉ]ÉA›$ªÓЛÁ¢ÛKâù?MO ÷¸ úŸŒ(,“QÖE×v?>—Xq¬ïÄ1ó1ÈÏ7ç™q,RAœt¨9dXn6¥a¡–ˆpZûâ}íÕÓoì^1ç‚¡ žI_“;¡={=ïy.ýçcžÍÌæšŒEM\B“q.kM2Ì¡s ÷ÒMts V¯3þ±˜¹N€3:m×ý$?`äÚX®˵9ÖwäleBFKCs¨”n ÕR©hJáȘÙ+^¸wÓ˜’§<“:ž?õYÛ?É$ãSïýà9á9Í5¹O‘H´¢+Œu ÈD F²9 ­ihæŠñ}?þØÌl´ïÝü CÏ×\útœSîFÓMwéçÒkè*þ×µºHJçL™È]ôŠçtz™€Q»IP ´Âe’Ù˜ÂÜŒ±HÃ.²‰´ƒo¼ñÜ«èÎü¼ÇF É„ »=X£:,17[rz¾¾ÿ½B3°„ÕEÞÄ7oæd0#jK\3ŸµîˆÚý{ݺߺ?r”nlôؘ±±Ó#`k¬[ØÆ&JdMnÔEl¬uläØ(]¢5121J w²éìëúèõ1ëc·Äl‰ÕY ֫ĉ]{cìêØcu±ü[õðаœXj6ÅšÑH”ÛÉ…Æã_¼[Âs ‹>ÜI‰1ˆÿU‚͘a¤FÖ7†Èúƒáád"ªe :h^D#ãÞIÌ{ü‰cÌ'äåçþìK[p:­bA^°e ÎN«àßÈC¬·»#xס#H W yÓ™GȺ`ÄÁ#|_¢—óP(™T¶¢½=ƒëí>|x9YPQQA‚íÃ,¹Ãr‡ Íq&Äk´Ža‰ÙYáa¡­†i´ÌØ›dnÿþù´‘µåeu:Ï7‘D÷ÚG§.Ÿí9ya8‘=§ï!úCÛò/vEí•×Ä|óÖ·ÏTwÎ*8Qêä ¬=a¼éaTL#ôÆHcšqŠq®ñ £æ˜‰hX8s°dÓE¦ËL›LÏ™^3é ÕQcÒʆ“ŒF“©‹<㊒X¨$1‰™I2Qf­ËÔmÚ…Ý$t˜8¶ïÆPºHÙvù1t겘µ´/h%mTP>]J) ÜE.!‰;²ñxŒ3dù˜<ú*òÙ2b´\œÆ®5¿ÄÍXi˜K†’ìàì°„`Lè’¾Íô/ßïØá9îÙJ’NJö^ñ‹ç#G~ö  .õ~ÍRÑ;]£® hÓ-×ݹIÞ¤{"pKÈÎÀÁ{Cºƒ÷…˜ÂäaÁ…æ«ÃŸ¥3ïÕî†}(ΈÖj1G+Ñ4š;8#'zcÉfϰS;#ûF—~¿Þ«—ô]dbçVBH±»âm,Sg`ÃdrÅœh$Æ(‡õ %2Ñg"ÌÆ;ዲ˜ÑÒä#p#p TðYC‘":†ega.„x6Æ ÏÎRC‡yަŽ-¿Æ\¿Þ}Úsjß§ž/Hê?7ê{xɤ uMS'5±)qSKÛûþâ9ñÁçžã¤œ¬ w“šÝ½GW¬¹zÕ7-Åe³³ÿ,y„àZJ‡ƒ®üE©¤.ðªÔ°“ŒéíazMrºÝn±…M £™a[ÃhXXhB¼Ã¢SBhtR“f™†jJ’“¶â„ù2Ôä`ž¼ÕeÏì\:¸rpÓàeƒWn¬Sg¦ƒCãPB2ChH]Õ9hÈòéÃX±àd7QÅ1±«p‘Q±@,Á0ﲎØa| Fq´l[_uåÈä· °Ä0¥ÄÄÈ àºCƒ†Ø³â(_eá|­áb“í¸°³r‡qc&9¤`»Zp&¬¥?óäò3o^]ñð‹=_yL$ù¥§S/¹´äâô÷¶K{Ú˜)®ÅoÉ»b/¿o朧Ғö,­Ù»À¤£ì5ÏÓ²þÒ §é從«ôÆŠ c.OÅ,é=æ™Ë®õÚÑâQ.#Ù 4JÆä~AŽXæ@ÏíÒP{X[í™»c_Ïã¼ß°Ál4Fr™àªÓFébäØð¨‹£/Šç8dþ,X?,²8òRçìÈ9ΛwEÞµ“ïëQoD5SX¸&2¬Q9ö.Úú,ÓM†tØ&06 ŒéÈár…Ä qêRôɦr›qƒ‘ڌċQã Ä 51‡äTbz¾=—UvŠ}fù,‚LŒ˜Ñ!EDf×øeA3ÆÇ‚cÌ'Ó|¥#<¡ÃPÀ­«Ñ‰Š´#6iÇ*°ˆq!šóòø6½ÃaI†k ƒA °c$i4 ñΡ9Ã05çúáqÆWœÈפ֛ö·}{ºJ¤h‡çÛ³Vºè±ŠÇöNà®W/)m,™J®ömbnYá%EÙæúÅàûï)_ñœ§ëÖ›.‰ÉÔwÜ2ã¶’‡3©h”ço–,kRÞ¨éYÎÜÄZîëåèë{pA <¸,ÞS®!#r£/Œ¦–éšé†éáÓ­å1¿h5CÙ(Ó¨¡ÑE¬ÄTR}ö>½ÁHð ÅMÖ†rK‡!®‹jŠ#qæ*9ƒøïjI,Ãñ"có}Ö\7þX_Þ?&˜œÏ—\þ1ü `A©[æ ˜­™m˜>ÛZ#W”c>æž—0#¡Å’ÂBB#Î$¥å$òúŽ—<ž¾—msYrÆ-®¸áÆ9µ7Ë»úŽßãùÚó+fí/+_OSŸØ´áÉ?ÈOÓpîùç‘ð¹kRYP¹¥<¼.¨ÞR~­uqä½ô^ãkæ×¬7h=ª9ª;r4ì”&dxÈð°‹-‡[ËõFíHKnx®UZ$/ Z.ß´"r³eSøNËŽp} ˆ¿èŽŸµ„æf›xMd\ŽÀAÁ9¦]„á©«Õe ²‚ ù {5Fá.‚çXlR"´„×;d˜8a²O $QÑZ{hdTYÁ™ô^1þXÚ‰ci˜àOTÁxì;‘–†˜¥`ì©™]„Õ°\™GšÛÙÏwÕë¯]:·tv M;ñîQÏw$üØK_ÑﳦL½sËÞõ—5f<ÿqܦˆc›©h»*5nV»YÊ5å†r‹/ZÖahœÒë›â–ÅÑ‘RŽqdXNäÅR¡ñâ°ÂÈûôúP.h >Ð…Æ¿OZž‡æ´æ´4Ü‹³ù9ff ÂC\Irå1’=œ@_ZMýX‡Ýêùî¦zúþ1bÑô¹¤ë«ÆÌH’®š~y^!“3îøÙ;?ÁXHó¼îÙ{íª‹È¼«—ŽÛ"bß3‰UŠý1ƒd¹*Å.¥£©iÈͦeC˜Bh‚”I²i¶ä"céX©<¨<´Ü1=e:ªz*øTHð(Svø¨äìôSaxIraúqc_„ávÜŒ¦€T£))0<"lÉά‰ÜÿÏ ÿ 7 u}89Õçþ‡Éñ…>,Zlj3e¾ÜlAIñ0ÓZ#5©)Î(+_rúÈȨ¨;†!¸»\ÈN´["3û×Þ uõ™™ûŽøSu߉fß½ãH"Äh­ÎìOã ÄÚ ª­wÌI™VŸ¡á™üÐãí¢ÿÄÍsó°h'èÑZùÁ†|—¾TO—éÝúnƵ‘ƒr´’Y Ñ$égk¶^0¼¡Ûð±Á0Eª”¨IkÕk.Õ-ÔÈ;ôŸ±c¬—ý¬‘'h'èfk®e·ò(C¾_s¿ö~ÁÆ,š4–&§jRµ©º S +‘ xðÐô:ƒlÐK 3 M Ó$ƒ!€uÑù®(9C7¦%ÚZ p’e@l¨p¤1ÿõÄç‰× +Æ C6À'7FÉr^²tâ­E®Óf<$ñ}Ø þѯ ‘d™áYCnò¼çùùyWïI²Ðó—¾+È'+«yÖèNÙŸÒ“))¥ØðBÊg)šWTLN>–—‰FYkgÚ¨Øp¾@ Z~¢uÅ1­988):&Æ™dÀ@ 2;-Á®C+ƒI#†M-vEE;cc°®1†TƬÛîp:“øÚ$¶}>Ç®a¨w²&¹ ò“r’\#/ÈÉHÚ—ôY’”dKZ–$A’’”™äMbI‘É_æù½ê/éûÖÞIÌàxí9¹ "ÍÿÊ&Ï,><- ¸ 5§ñ/I ±‡ñ#o„8øF„‡¡‰s’øÂÖÒé'—iU÷ìµ™Å\ÞöHr¬çëØ¤I£ê{¾ŽËVP7Èó5sÞùÄÔiӦμ¼p]_9ùÐ་V­õPZüÀŒôâïëëEŸÝ‰+§}\VmHDÈ ]Žu1‚Þ2ê ƒŽše 7ql°6Ф1àáƒg8¸”Äœ­xcâïi¬â…O|bÎjk»•6Y[éVb58ܾ&“Qlµ(Òn$Ç1sGF¨1…öR-…(NŠŠ¾3ËÀn±œ|°0^Y¹çëÄI#Ƶ¦aZW½_qÿD{ªvxés®ß>¶îÆkø.4O$÷ãLMx~½×uÑ7äkÝ/!¿„±×é72µDÊ‘zZnž2=¼Üz/]§Y§»×Ø¥?@ɇõŒ_Ë_k¾1™7éÞ¦ïh^Ö½f”Ût+47ê¤`…ÜD¡L:BUÝM£ípÖÓwl÷Ãü¹^_ož§°z+#<Ñ“Š N Ä«„D§c@VŸ¼²oý¿HŽçÍïïòü²’(kÖ¬ihXKão%š•ž×ø—çå½›Ú¼¹}ýæÍ|¾«<óؽ8_3ž8ïw rQµäH#L#Br¢ ¥q¦q!…Ñ¿Fëù­Å=©ý5Z‡ëgà %< Àè¿¡§9Ífqô 8÷Ž2þX:Ò|äw·ñ²„ïnü–2àäÉoüa<ÒA½¦ðÃç™Y¯"šìg®ÜI¨§wgÙÑÅá·ÏžuýÍÕsnA×–Öx>õôyNz>*žÖwTÚÙù䃛Ù€¹@ÊsßìJ¾W&ú@2Ež-·ÉR†¥,°.°É ú £ÍHï0z4ß8ÑH]t‘+E«Åø–¨Æ z³>Sߤgú¨¥– :Ó²Ô²Õ²ßÂ,fpIÌŸÒe¤¯t‘Áù;I ø/jýá|²"rü°úNàÝ#²|¦X%îˆ)üohñwYÃËÅû[Ÿ%"´"ȃI;è±s +Ë/½ð‚Q“3˜óÞ¹…C\°Åó/œc&Ƴç˜J\i‚5 º¤ˆàˆ„u–u¡÷&­IÕkC‹C©e·igàëö¯N™NÆkRLÓLµ¦5÷Z6Åï4j \‰…Î9ñ5Îå–å¡7ÇߨÏuiŠ.6M *¶‰×Æ'&9sCíCã‡& MÔj r°Þn5%ããã´‰ñ®ôãU¡‹Ã¦´¥ÞvcêýakR·ÇoO0-#wDÜj½/õ‰Twº&¾Ëû6?wÙUŒåžÎ¸D^îé´%úÊ‘Q¢ìŠFb®‰ ‹/Ž_gº'þ•øâ5öx£‰±(POvÍÏxƒò‰zåxGÇ®XÜ-€d)%¬’,#ljÄŒ¥J¼qÎpä$ÄÕŒÌdÇeÅÉá.ì:<;Â…ýF¸°Ó×ÐÜœþî%ÂåHÁöa¯9XÄ´(æ» (Rå¢QÅ!Ú{¸ËžåØÂÉgá$<[g/uÜá —56ÇÅß±¸"ps)M'™é$#¤ÇÙ3ÍÄœ÷UuY|Û¯Þ„ÛoÚU]<²zqS/TÔD)^¿ñ톿¥Ä]æD…ÿ€É‹'ÒÔ­ˆ_ "F¨÷ˆ4ß‹•øSá{[žè}Ó¥°ä%ã=ðýÓc¨q';Œ#Ð7ßn êß^+ÇÜâÇÑ¡¸-%a€ Í;•ì»,„áÝ‘ñŒ¿§É$Q–†êù¹ŽÐ°qž§.[òñWìù%xfYc¦ã$/–—øá£>’‘6yZrL†\2zú}+÷ܾjÈè1¶ð„¸°˜Ù—Ü|×ßÜÀÿoèòƒ˜¿ßu¥(€CJÐÈÀ‹˃´‘a`•Âà ÂJ",4”X%½Ö 5Z¹£ƒ ¢=Â!U"êŽ"ºëÀ«;¿êAÿ oÖÆ}†!ðŽ2W4r¸’­’3Â2-,?tCèÖP©2tYèêÐý¡ÇCe5‡*¡™¡,42êªvÿÆ_âÎÅ5= ×ôNõv/ÏÏ¿k;Q‘g>ÉÓÀ1ñý²Á-?8;H}{N‚C…M#¸ÑœhÒà„¡ÙCÁôê˜¤‹­³þrÉÕ#ô×]G¢˜³Ç3õú´˜èS³' YCöõ¼ÿ˜gÚç6ÌS˜÷òõ®ˆKƒç¯•%½&R“Gó‚KhIð×TħÌÂÁjÐkBBaaÀ“Y`¸ØÑÉ÷Ovt½®+בã:¢;{+¸û¶ƒsvò ßË'NÒî›ö°aœ”&ŒÜ[?wË%$Ò69ÿ¢æT¹aÚ¬+¶¬¥íkOí¨‰mGH7öqžF<³Tâ<È2תd팮Óî$‡Éíq“¬ÓF1«&Y“ Ãu‘ròÒ¦58Išv©-&kלҜÒêÌ©M5ä°‘†±l‚áe¦»Ä0••jØ|ÃUäZÃ=l­v—á;lè5˜$¦Åƒ~8SXª!›åŠ™>ŒEF&æ6±çØ›†“L¯íòï´Xsðrs°3,‚ãW˜18‡0ƒ–Hz„W“ž)ƒr¼á¤+(<1GrR}(¥zY 6 œtE`s€äPY#˸;éôúÀ‹êüM¶žß2tµML=&É$ñjšÀ«-Ç}/6|_RÖ_ÁXÁjå×ÔÈñ抓‚‚ ŸðÁ¿ÚI[¶üÚW–¶ª”ÿÆÁ¿jÄLP±`A3ál¼‡„„ðÛˆ$ÉRÏäÒ=¯‘‹=ëÈ Ï¦ƒÓ*y“D¾ï=2Îó÷^ g›ŒÞ !9Û-É2 áS´ƒrtᦠ-høCÇ:ÊcÍ52¯Ì¨1SѰÊ$‰àA%¤³gÙê²™2“A Ë « “އñ‚(ޙñË—ÅFH.kdÎRnx’äÒSQ¢„ò’…ŒW̰n-<Õ„¾¢®ì´ñ}‘øÄ?Ö¾ Eµ…ÿ@«47ŸÀ»ý±ŠŒ|q˜'¸ ÕïÆÐŠ;½ú÷}+JÜfL #11t03ìò¢W¼Ç·If2œß(Ò°ìýƈ·ÖsH$>,Ö|™‡8îÀ²¯¯òaom ”Ÿ”$^N’4Ï)’àY1Ö1öÒ¥¥“&DŽ:ëŠHæì ¤?öÒ³.ˆ>lj)÷ý=§™ìjðýO+ñä4žzÈh•¦ “?ÿÿÈRÆÿ?IA3•ÿ¦Ò2XåoTZVU¥µðŠ&S¥uàÔ.Si=¬4mVi{IŒÌ阘¥ÒF˜xJ›4Û5'T:.ü üÿ”ùÒ éàÿ±å ŸUš³øÿ_l Ò-ÃTšÁ’¯Ò2-«´éY*­…Y–•ÖAHH¸Jë¡(ÿúhŸ}´Ï¿>Úç_íó¯öù×Gûüë£}þõÑ>ÿúhŸ}´Ï¿>Úç_íó¯öù—Óa«kTšÛªQÐücKÄ•f±BÐFa“N•æ6Ù$è@þ·E¼§Ò b"^´YôÓ©Ò¼ˆ°ù1•æ6ÿ\СB¯Js}~tÖ‡Z#Ušbõù7œó[G¨4ò[ :RðOQiΡ £y X[TcÀ:GбBŸ‰*ÍõñùÚ&øW¨4ç¿VЉ<¬TcÀz· S¹}¬Ï©4ÚÇú¤ ‰~ÞViÞÏ œÖ °¿n€ýuæ¥0/ã~ã~ã¿ý~™ ‹¡ ja6TA5bž@˜ u‚ЀЪr)0KÍHógÖ× kæ¡ü`¤ E}Õÿ²§Œ~͘‚-óÄ¿UíãiÁºqˆ}ã øÉ„A*•%j PbâÉ(3uhR“±¿„fXˆÏ¡C¶ÕÂü~Mšq\¹ªÔ‘|üõh!%¸<ï±ÒÅ(¼¥JŒT­öÅÿŸä|Ñ#ŸAj?_ôX-­‚»NŒÅ­ÞªŽÐ"fX-d[E{ƒè…c®S£Ð¡^K“è›kT-´j£ñÎ_#°Oÿ61š"F¨U½è¿ÛDy‘è»N½Våm}ùÆö×Ï}·ª©Æ’Ï2çòµbŸµÂ*õˆ}}W«5mÂÒÜWg¢¤Qø¥YXtžçšò蘯JùG¨ò ÕQëÕ™ò6Ÿ5ÏXa6ròÞ|µgìZ¯Z·QI½ào¥3^m;Oh÷Ç1á_9-ýsámóEgúhÆqæªÚV©ö¯1­¨qï·Y{ލõÉ/–zÕ‡œgúÞ#øœƒm Ukûz8³–«„¯|Ñ¡V«ó¯^›'xšÄ:óEcƒôÍd`t×÷G–‚íW©ž™/´á±éó[‹º’çõë1_”ÎDoë9ù¦åœùU«cÌ=´ Kל›µ°ëý–å±]Ý?ÃÙ"¶W Û¶ˆ¸kÞ˜Óïu®»o½óµ”Þ¿šZÔ(;“|­ó…Gªàj!ïÓš÷[-ZÏDšoôa­&±J÷ÏÂ?6—_$Ú«„%šÕ1øòY±UÈû5ö÷Þ$bh¾È¡~Ýÿ.¯Ž<ËkcDæ¬ÁÚéêHþ,˳äp|*Œ}pë7‹•à[A)zÔßËxŒí3õψXoV×þ|?sûýüš÷}¾™£fÃZ5ÇÉU¾^§áž @©WÀ)Æω8öl½~«ñøl¯S{ o*î ÅcqFœžˆµ\¾Ÿ—ˆú"¬™‚O¾.Ä£?ãEíT0‰ß4ˆYÖ«kñÜ}Ô_ïÓØç½&Õ¿gÖÃïíãÛ÷ÑÍ"Bê·>þìï©Y¢u1ò·õYÝŸG}¶k²gò_­ºBx–:“³}¹¢^ÍÏ-jþ˜#z©íϿܶåêh<“,Tóö¬þÏ7fëŸXÆe‹ú3a­ººkû×O³ÈU­jÆþÙË¿â¹Åjôr&cü~¼5¾x,ÏYاõ,Õ3 jÏä¡$1«³-åËþ¿ŠßìÏ£WÔXlGýãòÕ_#,]?`ÇjpêJïçn·gÎ n)®Ý|Ñ¿?®Ïêo‘ðÿ\áÍÙÄŸ‹Ïp6"¯/Ï´ ‹óþëúçãÓk`tÏW³·Ïþ¾UÕ¤ÆÇ™,v ýÙŒÎÄÇ81÷ß{ÎÎãû[­zôÍÆw¶¬^m8ÇÍçØûLÏ|~âôS£æÕ…â¶žäþ³÷ýýùÖd­zÞ8{Wö÷÷{?ú¬uæt\-úüý:ö{¬ê[Ïþ¯´=cåßpöÙâljÕs+î•þø.S€µƒ€ï’Ã!rqgTð9KƒðΑƒ üž= JTÎLl‚-9* Ùü—FCñ~Â÷^'Î%M8^~‰Ï`±¿Ÿ½â«Eæûwû§ Åê\Ô¾]°^Ͷ\§É"CûöÐ êY«Q=ÅóõéÛI›EK½ðÀ|žÙ7xTñÛ?1üwzg~þ?eà³Udî« ±÷ÌQâ;O îçü¿;Â"qðñÖþ_Åß–qN<ö÷=uqSíìªêZå ej]­2¾±¡±«”±ÍMÍU­õ JÓ¼êÁJaUkÕ`Êà)Sçµñše\Ê 1"s>²+óæ)“ëçÔµ¶(“k[j›ÖÖŒmlh­Ï;i^¬´T¡Ö×ÏVjj[êç4¤+ÍõUó”jäªªÇÆù͵J]Ûüª†ú–V¥º®ª¹ªºZZë«[”ÖºªÛ+³•z¥©¹¶¦¶º¶¥¥±¹E©j¨Qª°ÿ¶ê:¥^íª¾Aimk¨UÕ·Ö¡x-Ö6ÖpiNÏ«Â1P¾ •ñ×µ.ªmh­¯Eîj$ÚšV„IÖ6WáôZ›k«Zçc¨nÃ)¶ðÁZg£šB…Ùmóæ!)tÅáç7â õ 5m-­bª-­‹çÕ´wN ¥¶y~}ƒàhnœ‹ÝV¡þÕm8PƒÐ¬¦¾jN#o_TW3¬«×„iTæÔ/¬ ÂËUÊ<4‡2¿m×P_ìUMMµhƆêZÄgîzn,¥ö*œÌüÚy‹œ[ :yïc~ý‚Ig$oÍC|æWŽtÂÛÆºä¥½nªÉZ_[ß[?[?ðü¶×šÞ±ö¿ªcáÑÂ}ÅÛ½õQ‘D.‚Þ³Æoh¯ ¯}dºä5¿—ì‰;òÎ^A¼q4|4¹ ½ƒÀ»ã{½çÞ©×÷žzO¼¡7p4?ìåÞÍ.ä®´ºª›¹6š·¿Zw±Õr£fìåéJ¶<Áendstream endobj 26 0 obj << /Filter /FlateDecode /Length 320 >> stream xœ]’Ënƒ0E÷þ /ÓEÄ#¼"!¤$M$}¨´öZ*Æ2΂¿¯™¡‰TK€ÎøÎÌÅãàT?×Z9¼ÛQ4àx¯´´07+€wpUšE1—J¸•ð-†Ö°À'7óä`¨u?²²ä<øð»“³3ßäØÁ Þ¬«ô•o¾NçæfÌ  YUq ½¯ôÒš×v`Ú¶–~_¹yësŠÏÙ‘#r#F “iØV_•¡_//~U ´ü·_PV׋ïÖ¢zçÕa‡ÕBQDt&Ê‘v Ñž(CŠS¤$FòŸ…Ò Ñ)ˉND{ô³vÎþ|q³ÖOÇ#X_i¸ß3š%ky~W¤Sendstream endobj 27 0 obj << /Filter /FlateDecode /Length1 16860 /Length 6267 >> stream xœíZ t\Õyþß½3’,ŒlL–AW¼Ë’ñBla@¶,¯²%;’á=ÍÅŸû,b ÞIt¼_;–îú”`צns5§n#Ôm8~#î×IÐÞK ZKt¢OÒ=}°×gëuí†nÄÏïþðËè"—¥rYíö€¶9¬=þ6kúkÚ¥Hþžµ˜Ì¦á¹{èˆvËñLjÞ+·!y5ìxG€¿Ž»°ÿäôAÌX½ìÁlœ½“*ᔚË^OΞ=‘tW§JÜ©¹îªÔ÷ôIvwj!oNÍäKSùîR3Ý·¤òµ'R_äsS»ØSÉ]Ç“/ò骜ũ*ÄûtcÞáñ z,ù ØY…çû‰ÞýÑûéúä]´=y 5&;°ö· ß ¹^à ì¸þ't ¾>Ž/ ïî ²~i8úþH¼}$¼wþH\˜ Ú9ɉZm²L[Ÿœ«Ýü:Ÿr‚k$¿Är’Gi÷`—VŸœ;ïjW$[Q—Ö<´œ•®íIž®õ#žÝƒ :>¸#£çÜ䔤gíÐì\[òÑÃVm`µCµ_$ñé'*™šÏ¾:t¯öx²€]68[;1T =w¼‹½54Ƚ©NÞ›ž3Õ³Ã3¨æ/37Jë9ɺ~0…>ü9à?Î9·É3øñTT‚Ämš¢“Í#iX•ýì Bnoj§‚gR{´§¾†Ùߊ,¶ûMöα-À‹l½’6øäæEà¿6u#;žÚ‰çÓx(µKòØ~&¢fßÁ};”ä.— qÐîuà˜Í#icÁÕ™¾Ô] vÖþÝ•ú«“û—´}+†ÌöÔ5Žo÷ÁÏ»pß;®oìXÅ7™¿“øw=|»ÞÉßáßÉ寧óîÔì·ÅØãå¾ žÁçÿ ]˜™äËé»ûúÔ‰lÈi¡+$\NEùÏP‘ûέUб3 é3ëN¬¿CÕ…8#=ýY}¹³ a¹:çªÝÿ4dOK€%°³¤pª#Ïh·×].Á W‹Y‚-×µ6¸«”^9C4ÆgÇÇŒOYö'âµ&ïTœŸDn†ÏÆÒrîæ>ú±ÎÝ´çî 8wû?ñž`ƒ¬í³·ëÆnJŸËÉeèCv½ßÅûâ1œ›G_Âkãzûž>Ò{zŸ·÷sw.áÌLÍr•Ð*×[©”ë-ºÃ½™ZwHÜõy<°ŸÙDú„+ú4º#g¶âUëJî@Fn3äæ:x~Îq*Æ=OÁçÉ˾Gß|àè[‰»è?ÍÁ¯Ñ¾-!õÖ[×Hzz]ñ'”ü2È <_|*læá>Q’ o.ìŠl)}1.çeôeÜWK`?¦¹:éú-mÆ;akn;⸎¼Z ­—ý ø"ºŽA?P…²÷íDL+¥~+¤û Ï̇­µðEcSèð¼=DëÝØ ¹X»9?è&úIã©ÔQ©Ûõ E¡s*@8¹¹†¿—J±-ÔÚu€mì ¥û朹w |—Ú5 ˆ…dU­²¹Ú¸ŒMLý–®á8°Z­eSGÙ×859{¨!»®i@=ßF-ø? x*»–'«²AÖÔ险|‹¶×õª†½ò„Ü;Wçu#¶>z£_欤€ç1{÷hRˆo¡Wïá7ÂMØoþÀÐ |õã~žïr¤XÀu;= x<xð-Àý’_ÊBïÝL“³ý+ÐÎ=BÏòdI]¸?纓^ŹÄ}%?Mû4î?ïm¹SÈ’ôÜâT2£ þØ Í’}.{’}ŠüÚª½¨û¢V¸ i9k¡Cø}äw? ˆRcN =šósÞ³öéÑ0öýáxªçœË5 ýw)öSgOǹ\%iò§™ó«n ~ÛÓ¦r(óSOcLòŒüÈ_}ôåó =u±×pmÃïC7 úí¥ç(¥§5iº¶]Û©ía?b/²Cüñ ›&îñxŠ<³=‹<Ë<µžUžuž-žVÏö|NŠ"1ELçˆéb¦X ªD­ˆ‹ûÄCeÓ§Ož~ÖŒŸ¦ð[6öÒ7éyXؤµÁÂÕ°ðCÇÂÆ ~æq{&z&{æz–x.ôÔ{V{6{ZöoD¿žüëùvZ~}Ö+q\s^yþ•ÐËo¿|óË‹ßzètD›vtN\¡qu`¼vÛ4v¹º¶ÙWÍßî ŒWF~&/æg±>•—ðiül~/å‚—ñéÜËÏå3øL>‹Ïæsø\>—óù¼‚Wòü<¾/â‹ùÖÉÌdW°m,ȺXˆ…Y„]É¢,Æâ,ÁºYÛÎv°^öì*v5ÛÉ>ÇúøùüÓ|)_Æ«Ø5ìZöyöv»ž}‘íb7°~v#»‰ÝÌna_b»Ù—Ùö—ìVv»ÝÁîd_a_e_ãðåüB~» þ׳7Øö&{‹ýû={›½ÃþÀØQvŒ½ËÞcï³ãl%Ù;ÁRœ¸ÆçÜÅÝ<‡çò<>×ò|^À=¼Oä§ñ">‰ÝËaßb»}—ý5_Å×RuR€Lº‚¶Qºq¢4±f ±Ÿì~öû{=Äö²o²»ÙÃìoØ>¢êªÖ¯[»fuêKêëjkV®¨¾ø¢ —_Pµlé§Ï_RY1¿|öÌçz§—O™TtZaAþ„¼Ü·‹3Êë¼õmšÙf¹fzW­š/Ÿ½:z¡Í Õä±D›b#9«ÁÙ1Š³Úæ¬ÎpjEb9-Ÿ_.ê¼ÂzºÖ+ök[7¶¿¹ÖÛ*¬7¾Ná®™ê¡eeuÅZaim¢Îªïô×µÕBß¾‚üo‘?¿œöå-fÍöFöi³/ÒÂf×Uíc”W(ÍZ|Fî·7¶ÔÕ–”•µ*Õ(]VN•«t SúL7Š}åúoÚ_Dímó<~¯_¿¬Åâ:„úy]ÿ­Ió¬9ÞZkNïoвa•{kë¬y^([³)c@³Ü3м¢ÿ(Áyï›GFRt‡’3£è(IT†˜IÖÓ8Á7xˆøÊʤ/7vú:ÝÇ^tÄWž‚Sp NÁ)8§àœ‚Sp NÁÿØó¿˜üÿn¼¿Fœriju›OpQ®F.,]üôÅOk•O½ôôy M*›4£lRY§¡>F'ðó6YÜǤœE”㣗”†òVOÊß–—³ÍŶÑ7Û–ç¢0]|ðàÐÁƒZ囇ð…²%‹Î(sÀúv•ü÷’úúLÓ¶dþ ³(óÿûrñdã ø2ç4ªÜ•Åã¦Bjwðœ,z—l|ÍÇ/Vϧ;hŸƒP©¶ÊÁ=T«u:xaÎéÚƒ>‘ä>!ÿ 嚀'î[®ÑļM΀·98§Ú¼ƒ»²xÜ45ïÏÉ¢çÑܼŸ:øÚšwÌÁóµŠ ^@åïtpíÊÜÁ =3 j|"µyÅýbá‚KÅ:Ó ÇÂqQŽFÂQ=n†CbE0(¢fg Q#fD» Å%z"®w™›ŒÎDP® ‡ÂñC4téf¨S̃p8¶Ñ”‰%ËècØB¾ŠMzg Òã±: ˜bv³ä¨5£†/ŽÎ)º¶éQÑ0B~#­ÝŒ =$6DŒâî‡â¸DE<å!¿é1_ÔŒÄç7ÁDg¢B4Ä¥L»3üîl™¾°ß(>Hêf(&š£ Cé 'âA3dH~Ð!d!á7bfgÂÒJ"f,èbsƒ2]ˆÇ#U••===]NŒ¦b…/ÜUù!ËѰ?á‹ÇšbÓgÄ*¥µ¶ÁhS ÜãƒÛë747Ô7Ô¬hnذ^l¨kjêÖ7Õ‰—lª«[W·¾Yäç7£ÔÞ¡û ¯LG$ŽÑøîã@j¢È2¬öbG8!e}án#Š€H»Ø¸íŠI5ºÂÏÌBgÔ0º ¤@´B, w#í2£ŒpGöW5„aBYTøU…ƒ;DG4Ü5Ö3YÌp§¡X{ 1,ï7cñ¨ÙžˆÃÜ ‡ é“tPyå3ŒØx±V¤”Q$›HtëÁ„Þ”ññ7‡‚F,¦£"D¼*5f(†ŠXÄð™è¹1YQ=—áHYÝï7ådéé±*—d»T£œ š]¦ FKH$"ò¡Ã„³—Ì=áè¶X\M«êK¥-Ü‘D{ÐÄ0Á0$íÚté;C]#;dv‡Ó8Ò²ÌSCÇp°zh‡¸2aĤÙHp4ä„Mï’;'‚~lݦÑ3\ù|(»üvY%_&h¸¥ÒÛ2@Ýñ¾c|õÒõK 2l† Ð¥rS•/'OjLÎ[~~=T¥…í¦–#ˆéF¦2‘ ©ÝfÌDW Ò£]‡¹¸­püIï VJb¥£¿BRòóך½F¨·Ýðƒ1êĆ‚±ëñ^<Å‘w˜µh2a#Ñì¹èþÏí1ÌŒññ­6J¿#ÁDLøgeå#SEô¦@g 4,çß?+7Ñ7vCöÚˆÒÇ£(MÂb¡\t X¯\ˆ%‚q`p UŒ}2gõ¨.÷Y¿tõ|æ!Í#êÓ±‹`ûÉ-Ñ.3ÄŸžwS;Ôö)$Ò^JÄÂåvñ ’!DÃÒ/3ŒáFP&Ø'ðÎa³@È~³i1´Äã =h ¹)ÈÍŒÇM™ÏŒ:ü0ƒHPÚ“°j(=De¤@ooøãzó¡§„Òüz,²î'÷ø.¶ŽLòQo=1@ÅA«¥ˆºê ˜ÀBT•ÄW€nª¿ÎÇ!%Ÿ Ü Ü»qõƒóÈ%°ªS87Ú‰ç ž£°(µ…±º6 È7€K‡ z'žçFj£tlQÖbŽg‚–Àæ2D¤í ¸ûÀ¿IQÐRQ°¶Zå! ,Φ挎ZPd”>ðɬ̡rP7@ó6å &HÐäÇu´ï¦Ê’®<Ý 4†²tw(ã&uÅ•.ÛS¿ª€ŸÊz«ó!m  •‘ ÅÏØi‡¥˜ªƒp²³W©%¬¼“žû›ºÊŠ”j†öV‡ý «‚ŠÃÈD µ”iÉP±¥7¦z"äXNÇ’P¾GBWÞ4dE]¡º(›UT‰oúV s#ëhލb…Š  üœt£ê|?¼ô©^nrºXfKFT™ÉG툣ªÞaØò9Ù^Ê6#²z@ æDâ@•¯Çu­¢×Ò„«œ¤KÐuø®SÔfÐòñmVÝS]`[ÊašnwGDùQÞH^¡æW|Œ ®¨éLrºZíJßÕi»2gÝÊš]á„ÓíÙWÏ]ŠßöFV<èä3”é…N¥Å§át VÇšì®n§Û3=jÛŒ@vÒûWšHI1T\ÇGÖ U|*ƒ])géÉ ãÉÈÒÚãØϾ_ùWsÛ®¦ÉŽ¢Ý©Vȉ²#+ƒÃ¹ò© gòÃ|¬ÓAc=23SØ«ÜAtxÌLhLÅöq,ʽ%¨üŒeuÌp íúw©žÃŽ1¥×j‡³Ï}x¯EÑž®NÚ®~UûdÐÇœVåîìÝi¸œ¹ ÚIÌL%íH†µ„ÔS$³"£²ó0gÔÕ/²“¶©¾>[‡÷ËaßäîRsžP52“Ɏض™=7²2²¯ìŠÙóq:-Ýÿ£»ñƒbN÷SƒÊÍØÊÊ HíWªs#–‰%½WØUgOv•¢4úý!­;¦öTyÆûÉ~«;±Æ›“÷GZŸ=í†SÿˆiMë;[Ã'¤Oéüð"]A}TîÇŸîÚ eÖ/Qφêô 37¶…®¬¾©gúÌKŸ¨±Ìù&õÔ;^¶œ½S§OÙSºÚ߯ÎLDM¹îHw«ž1½"áì„úJ8t;ºø?ΙÞ{•ÎÊQþWdxdŒk±Ö«ÖzÕ;‰ßјPWÙJ;Æõªó{µ˜Ó#Çã%éwdšT÷ õ6×áèˆ9{™Œø3*â˜sΖX3ùލý;¦&{ÖIúcì,êÎŒ³Å¯ÎÀôù/5%”´½ßdïPƹ“O}\õ¬œÉt$ÊU× ™­7#S3whvÖ¢Îtþ93«+ÏÓïéù={ò´úƒÊˆîdÕ§¤ü΄‡÷“ß)~SùËZ>ßM%·#KÊït—Oí„ÃR µO•˜2'á¬JW8Ë™uÛB/¾á?ynþøß:¶¥Ñúuõ&µý¿Z;ç:endstream endobj 28 0 obj << /Filter /FlateDecode /Length 233 >> stream xœ]ÁjÃ0 †ï~ ÛCqâÂN!°urè6–í[I ‹mç·Ÿì–&°áGÿ'~Ižº×λòƒ‚é1Áè¼%\ÂJaÀÉyQ+°Î¤»*¿™u’á~[΃hùÉÝ%Ñ»gÜ ùNÉù vß§žu¿Æøƒ3ú•h[°8ò¤‹ŽozF;t–û.mfþ_[DPE×·4&X\¢6HÚO(šŠ«…æÌÕ ôö__ݨa4WMÅ]³[UÕKËêx<¥ž {wå)yÛGD³qºr’+rW‹!f*¿_Í"rendstream endobj 29 0 obj << /Type /XRef /Length 116 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Size 30 /ID [<5c85088319c4ad48346bdbca68602cfc><5c85088319c4ad48346bdbca68602cfc>] >> stream xœcb&F†ù˜ÿƒH®E`öo), fóH‘# RrXD LŠIF‰ 6‡5ˆ4\"9÷‚ÍÑ‘OÁ*CÁ$#ˆL Ò%R bótÅ?Ù ÒTD2‘>L`vˆ”¸ f23ü endstream endobj startxref 216 %%EOF fio-3.39/doc/fio_doc.rst000066400000000000000000000012351476262051600151400ustar00rootroot00000000000000fio - Flexible I/O tester rev. |version| ======================================== .. include:: ../README.rst .. include:: ../HOWTO.rst .. only:: not man Examples ======== .. include:: fio_examples.rst TODO ==== GFIO TODO --------- .. include:: ../GFIO-TODO Server TODO ----------- .. include:: ../SERVER-TODO Steady State TODO ----------------- .. include:: ../STEADYSTATE-TODO Moral License ============= .. include:: ../MORAL-LICENSE License ======= .. literalinclude:: ../COPYING fio-3.39/doc/fio_examples.rst000066400000000000000000000030071476262051600162100ustar00rootroot00000000000000Some job file examples. Poisson request flow -------------------- .. only:: builder_html :download:`Download poisson-rate-submission.fio <../examples/poisson-rate-submission.fio>` .. literalinclude:: ../examples/poisson-rate-submission.fio :language: ini Latency profile --------------- .. only:: builder_html :download:`Download latency-profile.fio <../examples/latency-profile.fio>` .. literalinclude:: ../examples/latency-profile.fio :language: ini Read 4 files with aio at different depths ----------------------------------------- .. only:: builder_html :download:`Download aio-read.fio <../examples/aio-read.fio>` .. literalinclude:: ../examples/aio-read.fio :language: ini Read backwards in a file ------------------------ .. only:: builder_html :download:`Download backwards-read.fio <../examples/backwards-read.fio>` .. literalinclude:: ../examples/backwards-read.fio :language: ini Basic verification ------------------ .. only:: builder_html :download:`Download basic-verify.fio <../examples/basic-verify.fio>` .. literalinclude:: ../examples/basic-verify.fio :language: ini Fixed rate submission --------------------- .. only:: builder_html :download:`Download fixed-rate-submission.fio <../examples/fixed-rate-submission.fio>` .. literalinclude:: ../examples/fixed-rate-submission.fio :language: ini Butterfly seek pattern ----------------------- .. only:: builder_html :download:`Download butterfly.fio <../examples/butterfly.fio>` .. literalinclude:: ../examples/butterfly.fio :language: ini fio-3.39/doc/index.rst000066400000000000000000000007411476262051600146460ustar00rootroot00000000000000.. FIO documentation master file, created by sphinx-quickstart on Thu Mar 20 16:24:25 2015. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to FIO's documentation! =============================== **Version:** |release| Contents: .. toctree:: :maxdepth: 3 :numbered: fio - Flexible I/O tester |version| Indices and tables ================== * :ref:`genindex` * :ref:`search` fio-3.39/doc/make.bat000066400000000000000000000170561476262051600144210ustar00rootroot00000000000000@ECHO OFF REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set BUILDDIR=_build set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . set I18NSPHINXOPTS=%SPHINXOPTS% . if NOT "%PAPER%" == "" ( set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% ) if "%1" == "" goto help if "%1" == "help" ( :help echo.Please use `make ^` where ^ is one of echo. html to make standalone HTML files echo. dirhtml to make HTML files named index.html in directories echo. singlehtml to make a single large HTML file echo. pickle to make pickle files echo. json to make JSON files echo. htmlhelp to make HTML files and a HTML help project echo. qthelp to make HTML files and a qthelp project echo. devhelp to make HTML files and a Devhelp project echo. epub to make an epub echo. epub3 to make an epub3 echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter echo. text to make text files echo. man to make manual pages echo. texinfo to make Texinfo files echo. gettext to make PO message catalogs echo. changes to make an overview over all changed/added/deprecated items echo. xml to make Docutils-native XML files echo. pseudoxml to make pseudoxml-XML files for display purposes echo. linkcheck to check all external links for integrity echo. doctest to run all doctests embedded in the documentation if enabled echo. coverage to run coverage check of the documentation if enabled echo. dummy to check syntax errors of document sources goto end ) if "%1" == "clean" ( for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i del /q /s %BUILDDIR%\* goto end ) REM Check if sphinx-build is available and fallback to Python version if any %SPHINXBUILD% 1>NUL 2>NUL if errorlevel 9009 goto sphinx_python goto sphinx_ok :sphinx_python set SPHINXBUILD=python -m sphinx.__init__ %SPHINXBUILD% 2> nul if errorlevel 9009 ( echo. echo.The 'sphinx-build' command was not found. Make sure you have Sphinx echo.installed, then set the SPHINXBUILD environment variable to point echo.to the full path of the 'sphinx-build' executable. Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from echo.http://sphinx-doc.org/ exit /b 1 ) :sphinx_ok if "%1" == "html" ( %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/html. goto end ) if "%1" == "dirhtml" ( %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. goto end ) if "%1" == "singlehtml" ( %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml if errorlevel 1 exit /b 1 echo. echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. goto end ) if "%1" == "pickle" ( %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the pickle files. goto end ) if "%1" == "json" ( %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can process the JSON files. goto end ) if "%1" == "htmlhelp" ( %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run HTML Help Workshop with the ^ .hhp project file in %BUILDDIR%/htmlhelp. goto end ) if "%1" == "qthelp" ( %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp if errorlevel 1 exit /b 1 echo. echo.Build finished; now you can run "qcollectiongenerator" with the ^ .qhcp project file in %BUILDDIR%/qthelp, like this: echo.^> qcollectiongenerator %BUILDDIR%\qthelp\fio.qhcp echo.To view the help file: echo.^> assistant -collectionFile %BUILDDIR%\qthelp\fio.ghc goto end ) if "%1" == "devhelp" ( %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp if errorlevel 1 exit /b 1 echo. echo.Build finished. goto end ) if "%1" == "epub" ( %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub if errorlevel 1 exit /b 1 echo. echo.Build finished. The epub file is in %BUILDDIR%/epub. goto end ) if "%1" == "epub3" ( %SPHINXBUILD% -b epub3 %ALLSPHINXOPTS% %BUILDDIR%/epub3 if errorlevel 1 exit /b 1 echo. echo.Build finished. The epub3 file is in %BUILDDIR%/epub3. goto end ) if "%1" == "latex" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex if errorlevel 1 exit /b 1 echo. echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. goto end ) if "%1" == "latexpdf" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf cd %~dp0 echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end ) if "%1" == "latexpdfja" ( %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex cd %BUILDDIR%/latex make all-pdf-ja cd %~dp0 echo. echo.Build finished; the PDF files are in %BUILDDIR%/latex. goto end ) if "%1" == "text" ( %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text if errorlevel 1 exit /b 1 echo. echo.Build finished. The text files are in %BUILDDIR%/text. goto end ) if "%1" == "man" ( %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man if errorlevel 1 exit /b 1 echo. echo.Build finished. The manual pages are in %BUILDDIR%/man. goto end ) if "%1" == "texinfo" ( %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo if errorlevel 1 exit /b 1 echo. echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. goto end ) if "%1" == "gettext" ( %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale if errorlevel 1 exit /b 1 echo. echo.Build finished. The message catalogs are in %BUILDDIR%/locale. goto end ) if "%1" == "changes" ( %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes if errorlevel 1 exit /b 1 echo. echo.The overview file is in %BUILDDIR%/changes. goto end ) if "%1" == "linkcheck" ( %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck if errorlevel 1 exit /b 1 echo. echo.Link check complete; look for any errors in the above output ^ or in %BUILDDIR%/linkcheck/output.txt. goto end ) if "%1" == "doctest" ( %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest if errorlevel 1 exit /b 1 echo. echo.Testing of doctests in the sources finished, look at the ^ results in %BUILDDIR%/doctest/output.txt. goto end ) if "%1" == "coverage" ( %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage if errorlevel 1 exit /b 1 echo. echo.Testing of coverage in the sources finished, look at the ^ results in %BUILDDIR%/coverage/python.txt. goto end ) if "%1" == "xml" ( %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml if errorlevel 1 exit /b 1 echo. echo.Build finished. The XML files are in %BUILDDIR%/xml. goto end ) if "%1" == "pseudoxml" ( %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml if errorlevel 1 exit /b 1 echo. echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. goto end ) if "%1" == "dummy" ( %SPHINXBUILD% -b dummy %ALLSPHINXOPTS% %BUILDDIR%/dummy if errorlevel 1 exit /b 1 echo. echo.Build finished. Dummy builder generates no files. goto end ) :end fio-3.39/engines/000077500000000000000000000000001476262051600136665ustar00rootroot00000000000000fio-3.39/engines/cmdprio.c000066400000000000000000000331311476262051600154700ustar00rootroot00000000000000/* * IO priority handling helper functions common to the libaio and io_uring * engines. */ #include "cmdprio.h" /* * Temporary array used during parsing. Will be freed after the corresponding * struct bsprio_desc has been generated and saved in cmdprio->bsprio_desc. */ struct cmdprio_parse_result { struct split_prio *entries; int nr_entries; }; /* * Temporary array used during init. Will be freed after the corresponding * struct clat_prio_stat array has been saved in td->ts.clat_prio and the * matching clat_prio_indexes have been saved in each struct cmdprio_prio. */ struct cmdprio_values { unsigned int *prios; int nr_prios; }; static int find_clat_prio_index(unsigned int *all_prios, int nr_prios, int32_t prio) { int i; for (i = 0; i < nr_prios; i++) { if (all_prios[i] == prio) return i; } return -1; } /** * assign_clat_prio_index - In order to avoid stat.c the need to loop through * all possible priorities each time add_clat_sample() / add_lat_sample() is * called, save which index to use in each cmdprio_prio. This will later be * propagated to the io_u, if the specific io_u was determined to use a cmdprio * priority value. */ static void assign_clat_prio_index(struct cmdprio_prio *prio, struct cmdprio_values *values) { int clat_prio_index = find_clat_prio_index(values->prios, values->nr_prios, prio->prio); if (clat_prio_index == -1) { clat_prio_index = values->nr_prios; values->prios[clat_prio_index] = prio->prio; values->nr_prios++; } prio->clat_prio_index = clat_prio_index; } /** * init_cmdprio_values - Allocate a temporary array that can hold all unique * priorities (per ddir), so that we can assign_clat_prio_index() for each * cmdprio_prio during setup. This temporary array is freed after setup. */ static int init_cmdprio_values(struct cmdprio_values *values, int max_unique_prios, struct thread_stat *ts) { values->prios = calloc(max_unique_prios + 1, sizeof(*values->prios)); if (!values->prios) return 1; /* td->ioprio/ts->ioprio is always stored at index 0. */ values->prios[0] = ts->ioprio; values->nr_prios++; return 0; } /** * init_ts_clat_prio - Allocates and fills a clat_prio_stat array which holds * all unique priorities (per ddir). */ static int init_ts_clat_prio(struct thread_stat *ts, enum fio_ddir ddir, struct cmdprio_values *values) { int i; if (alloc_clat_prio_stat_ddir(ts, ddir, values->nr_prios)) return 1; for (i = 0; i < values->nr_prios; i++) ts->clat_prio[ddir][i].ioprio = values->prios[i]; return 0; } static int fio_cmdprio_fill_bsprio(struct cmdprio_bsprio *bsprio, struct split_prio *entries, struct cmdprio_values *values, int implicit_cmdprio, int start, int end) { struct cmdprio_prio *prio; int i = end - start + 1; bsprio->prios = calloc(i, sizeof(*bsprio->prios)); if (!bsprio->prios) return 1; bsprio->bs = entries[start].bs; bsprio->nr_prios = 0; for (i = start; i <= end; i++) { prio = &bsprio->prios[bsprio->nr_prios]; prio->perc = entries[i].perc; if (entries[i].prio == -1) prio->prio = implicit_cmdprio; else prio->prio = entries[i].prio; assign_clat_prio_index(prio, values); bsprio->tot_perc += entries[i].perc; if (bsprio->tot_perc > 100) { log_err("fio: cmdprio_bssplit total percentage " "for bs: %"PRIu64" exceeds 100\n", bsprio->bs); free(bsprio->prios); return 1; } bsprio->nr_prios++; } return 0; } static int fio_cmdprio_generate_bsprio_desc(struct cmdprio_bsprio_desc *bsprio_desc, struct cmdprio_parse_result *parse_res, struct cmdprio_values *values, int implicit_cmdprio) { struct split_prio *entries = parse_res->entries; int nr_entries = parse_res->nr_entries; struct cmdprio_bsprio *bsprio; int i, start, count = 0; /* * The parsed result is sorted by blocksize, so count only the number * of different blocksizes, to know how many cmdprio_bsprio we need. */ for (i = 0; i < nr_entries; i++) { while (i + 1 < nr_entries && entries[i].bs == entries[i + 1].bs) i++; count++; } /* * This allocation is not freed on error. Instead, the calling function * is responsible for calling fio_cmdprio_cleanup() on error. */ bsprio_desc->bsprios = calloc(count, sizeof(*bsprio_desc->bsprios)); if (!bsprio_desc->bsprios) return 1; start = 0; bsprio_desc->nr_bsprios = 0; for (i = 0; i < nr_entries; i++) { while (i + 1 < nr_entries && entries[i].bs == entries[i + 1].bs) i++; bsprio = &bsprio_desc->bsprios[bsprio_desc->nr_bsprios]; /* * All parsed entries with the same blocksize get saved in the * same cmdprio_bsprio, to expedite the search in the hot path. */ if (fio_cmdprio_fill_bsprio(bsprio, entries, values, implicit_cmdprio, start, i)) return 1; start = i + 1; bsprio_desc->nr_bsprios++; } return 0; } static int fio_cmdprio_bssplit_ddir(struct thread_options *to, void *cb_arg, enum fio_ddir ddir, char *str, bool data) { struct cmdprio_parse_result *parse_res_arr = cb_arg; struct cmdprio_parse_result *parse_res = &parse_res_arr[ddir]; if (ddir == DDIR_TRIM) return 0; if (split_parse_prio_ddir(to, &parse_res->entries, &parse_res->nr_entries, str)) return 1; return 0; } static int fio_cmdprio_bssplit_parse(struct thread_data *td, const char *input, struct cmdprio_parse_result *parse_res) { char *str, *p; int ret = 0; p = str = strdup(input); strip_blank_front(&str); strip_blank_end(str); ret = str_split_parse(td, str, fio_cmdprio_bssplit_ddir, parse_res, false); free(p); return ret; } /** * fio_cmdprio_percentage - Returns the percentage of I/Os that should * use a cmdprio priority value (rather than the default context priority). * * For CMDPRIO_MODE_BSSPLIT, if the percentage is non-zero, we will also * return the matching bsprio, to avoid the same linear search elsewhere. * For CMDPRIO_MODE_PERC, we will never return a bsprio. */ static int fio_cmdprio_percentage(struct cmdprio *cmdprio, struct io_u *io_u, struct cmdprio_bsprio **bsprio) { struct cmdprio_bsprio *bsprio_entry; enum fio_ddir ddir = io_u->ddir; int i; switch (cmdprio->mode) { case CMDPRIO_MODE_PERC: *bsprio = NULL; return cmdprio->perc_entry[ddir].perc; case CMDPRIO_MODE_BSSPLIT: for (i = 0; i < cmdprio->bsprio_desc[ddir].nr_bsprios; i++) { bsprio_entry = &cmdprio->bsprio_desc[ddir].bsprios[i]; if (bsprio_entry->bs == io_u->buflen) { *bsprio = bsprio_entry; return bsprio_entry->tot_perc; } } break; default: /* * An I/O engine should never call this function if cmdprio * is not is use. */ assert(0); } /* * This is totally fine, the given blocksize simply does not * have any (non-zero) cmdprio_bssplit entries defined. */ *bsprio = NULL; return 0; } /** * fio_cmdprio_set_ioprio - Set an io_u ioprio according to cmdprio options * * Generates a random percentage value to determine if an io_u ioprio needs * to be set. If the random percentage value is within the user specified * percentage of I/Os that should use a cmdprio priority value (rather than * the default priority), then this function updates the io_u with an ioprio * value as defined by the cmdprio/cmdprio_hint/cmdprio_class or * cmdprio_bssplit options. * * Return true if the io_u ioprio was changed and false otherwise. */ bool fio_cmdprio_set_ioprio(struct thread_data *td, struct cmdprio *cmdprio, struct io_u *io_u) { struct cmdprio_bsprio *bsprio; unsigned int p, rand; uint32_t perc = 0; int i; p = fio_cmdprio_percentage(cmdprio, io_u, &bsprio); if (!p) return false; rand = rand_between(&td->prio_state, 0, 99); if (rand >= p) return false; switch (cmdprio->mode) { case CMDPRIO_MODE_PERC: io_u->ioprio = cmdprio->perc_entry[io_u->ddir].prio; io_u->clat_prio_index = cmdprio->perc_entry[io_u->ddir].clat_prio_index; return true; case CMDPRIO_MODE_BSSPLIT: assert(bsprio); for (i = 0; i < bsprio->nr_prios; i++) { struct cmdprio_prio *prio = &bsprio->prios[i]; perc += prio->perc; if (rand < perc) { io_u->ioprio = prio->prio; io_u->clat_prio_index = prio->clat_prio_index; return true; } } break; default: assert(0); } /* When rand < p (total perc), we should always find a cmdprio_prio. */ assert(0); return false; } static int fio_cmdprio_gen_perc(struct thread_data *td, struct cmdprio *cmdprio) { struct cmdprio_options *options = cmdprio->options; struct cmdprio_prio *prio; struct cmdprio_values values[CMDPRIO_RWDIR_CNT] = {}; struct thread_stat *ts = &td->ts; enum fio_ddir ddir; int ret; for (ddir = 0; ddir < CMDPRIO_RWDIR_CNT; ddir++) { /* * Do not allocate a clat_prio array nor set the cmdprio struct * if zero percent of the I/Os (for the ddir) should use a * cmdprio priority value, or when the ddir is not enabled. */ if (!options->percentage[ddir] || (ddir == DDIR_READ && !td_read(td)) || (ddir == DDIR_WRITE && !td_write(td))) continue; ret = init_cmdprio_values(&values[ddir], 1, ts); if (ret) goto err; prio = &cmdprio->perc_entry[ddir]; prio->perc = options->percentage[ddir]; prio->prio = ioprio_value(options->class[ddir], options->level[ddir], options->hint[ddir]); assign_clat_prio_index(prio, &values[ddir]); ret = init_ts_clat_prio(ts, ddir, &values[ddir]); if (ret) goto err; free(values[ddir].prios); values[ddir].prios = NULL; values[ddir].nr_prios = 0; } return 0; err: for (ddir = 0; ddir < CMDPRIO_RWDIR_CNT; ddir++) free(values[ddir].prios); free_clat_prio_stats(ts); return ret; } static int fio_cmdprio_parse_and_gen_bssplit(struct thread_data *td, struct cmdprio *cmdprio) { struct cmdprio_options *options = cmdprio->options; struct cmdprio_parse_result parse_res[CMDPRIO_RWDIR_CNT] = {}; struct cmdprio_values values[CMDPRIO_RWDIR_CNT] = {}; struct thread_stat *ts = &td->ts; int ret, implicit_cmdprio; enum fio_ddir ddir; ret = fio_cmdprio_bssplit_parse(td, options->bssplit_str, &parse_res[0]); if (ret) goto err; for (ddir = 0; ddir < CMDPRIO_RWDIR_CNT; ddir++) { /* * Do not allocate a clat_prio array nor set the cmdprio structs * if there are no non-zero entries (for the ddir), or when the * ddir is not enabled. */ if (!parse_res[ddir].nr_entries || (ddir == DDIR_READ && !td_read(td)) || (ddir == DDIR_WRITE && !td_write(td))) { free(parse_res[ddir].entries); parse_res[ddir].entries = NULL; parse_res[ddir].nr_entries = 0; continue; } ret = init_cmdprio_values(&values[ddir], parse_res[ddir].nr_entries, ts); if (ret) goto err; implicit_cmdprio = ioprio_value(options->class[ddir], options->level[ddir], options->hint[ddir]); ret = fio_cmdprio_generate_bsprio_desc(&cmdprio->bsprio_desc[ddir], &parse_res[ddir], &values[ddir], implicit_cmdprio); if (ret) goto err; free(parse_res[ddir].entries); parse_res[ddir].entries = NULL; parse_res[ddir].nr_entries = 0; ret = init_ts_clat_prio(ts, ddir, &values[ddir]); if (ret) goto err; free(values[ddir].prios); values[ddir].prios = NULL; values[ddir].nr_prios = 0; } return 0; err: for (ddir = 0; ddir < CMDPRIO_RWDIR_CNT; ddir++) { free(parse_res[ddir].entries); free(values[ddir].prios); } free_clat_prio_stats(ts); fio_cmdprio_cleanup(cmdprio); return ret; } static int fio_cmdprio_parse_and_gen(struct thread_data *td, struct cmdprio *cmdprio) { struct cmdprio_options *options = cmdprio->options; int i, ret; /* * If cmdprio_percentage/cmdprio_bssplit is set and cmdprio_class * is not set, default to RT priority class. */ for (i = 0; i < CMDPRIO_RWDIR_CNT; i++) { /* * A cmdprio value is only used when fio_cmdprio_percentage() * returns non-zero, so it is safe to set a class even for a * DDIR that will never use it. */ if (!options->class[i]) options->class[i] = IOPRIO_CLASS_RT; } switch (cmdprio->mode) { case CMDPRIO_MODE_BSSPLIT: ret = fio_cmdprio_parse_and_gen_bssplit(td, cmdprio); break; case CMDPRIO_MODE_PERC: ret = fio_cmdprio_gen_perc(td, cmdprio); break; default: assert(0); return 1; } return ret; } void fio_cmdprio_cleanup(struct cmdprio *cmdprio) { enum fio_ddir ddir; int i; for (ddir = 0; ddir < CMDPRIO_RWDIR_CNT; ddir++) { for (i = 0; i < cmdprio->bsprio_desc[ddir].nr_bsprios; i++) free(cmdprio->bsprio_desc[ddir].bsprios[i].prios); free(cmdprio->bsprio_desc[ddir].bsprios); cmdprio->bsprio_desc[ddir].bsprios = NULL; cmdprio->bsprio_desc[ddir].nr_bsprios = 0; } /* * options points to a cmdprio_options struct that is part of td->eo. * td->eo itself will be freed by free_ioengine(). */ cmdprio->options = NULL; } int fio_cmdprio_init(struct thread_data *td, struct cmdprio *cmdprio, struct cmdprio_options *options) { struct thread_options *to = &td->o; bool has_cmdprio_percentage = false; bool has_cmdprio_bssplit = false; int i; cmdprio->options = options; if (options->bssplit_str && strlen(options->bssplit_str)) has_cmdprio_bssplit = true; for (i = 0; i < CMDPRIO_RWDIR_CNT; i++) { if (options->percentage[i]) has_cmdprio_percentage = true; } /* * Check for option conflicts */ if (has_cmdprio_percentage && has_cmdprio_bssplit) { log_err("%s: cmdprio_percentage and cmdprio_bssplit options " "are mutually exclusive\n", to->name); return 1; } if (has_cmdprio_bssplit) cmdprio->mode = CMDPRIO_MODE_BSSPLIT; else if (has_cmdprio_percentage) cmdprio->mode = CMDPRIO_MODE_PERC; else cmdprio->mode = CMDPRIO_MODE_NONE; /* Nothing left to do if cmdprio is not used */ if (cmdprio->mode == CMDPRIO_MODE_NONE) return 0; return fio_cmdprio_parse_and_gen(td, cmdprio); } fio-3.39/engines/cmdprio.h000066400000000000000000000114461476262051600155020ustar00rootroot00000000000000/* * IO priority handling declarations and helper functions common to the * libaio and io_uring engines. */ #ifndef FIO_CMDPRIO_H #define FIO_CMDPRIO_H #include "../fio.h" #include "../optgroup.h" /* read and writes only, no trim */ #define CMDPRIO_RWDIR_CNT 2 enum { CMDPRIO_MODE_NONE, CMDPRIO_MODE_PERC, CMDPRIO_MODE_BSSPLIT, }; struct cmdprio_prio { int32_t prio; uint32_t perc; uint16_t clat_prio_index; }; struct cmdprio_bsprio { uint64_t bs; uint32_t tot_perc; unsigned int nr_prios; struct cmdprio_prio *prios; }; struct cmdprio_bsprio_desc { struct cmdprio_bsprio *bsprios; unsigned int nr_bsprios; }; struct cmdprio_options { unsigned int percentage[CMDPRIO_RWDIR_CNT]; unsigned int class[CMDPRIO_RWDIR_CNT]; unsigned int level[CMDPRIO_RWDIR_CNT]; unsigned int hint[CMDPRIO_RWDIR_CNT]; char *bssplit_str; }; #ifdef FIO_HAVE_IOPRIO_CLASS #define CMDPRIO_OPTIONS(opt_struct, opt_group) \ { \ .name = "cmdprio_percentage", \ .lname = "high priority percentage", \ .type = FIO_OPT_INT, \ .off1 = offsetof(opt_struct, \ cmdprio_options.percentage[DDIR_READ]), \ .off2 = offsetof(opt_struct, \ cmdprio_options.percentage[DDIR_WRITE]), \ .minval = 0, \ .maxval = 100, \ .help = "Send high priority I/O this percentage of the time", \ .category = FIO_OPT_C_ENGINE, \ .group = opt_group, \ }, \ { \ .name = "cmdprio_class", \ .lname = "Asynchronous I/O priority class", \ .type = FIO_OPT_INT, \ .off1 = offsetof(opt_struct, \ cmdprio_options.class[DDIR_READ]), \ .off2 = offsetof(opt_struct, \ cmdprio_options.class[DDIR_WRITE]), \ .help = "Set asynchronous IO priority class", \ .minval = IOPRIO_MIN_PRIO_CLASS + 1, \ .maxval = IOPRIO_MAX_PRIO_CLASS, \ .interval = 1, \ .category = FIO_OPT_C_ENGINE, \ .group = opt_group, \ }, \ { \ .name = "cmdprio_hint", \ .lname = "Asynchronous I/O priority hint", \ .type = FIO_OPT_INT, \ .off1 = offsetof(opt_struct, \ cmdprio_options.hint[DDIR_READ]), \ .off2 = offsetof(opt_struct, \ cmdprio_options.hint[DDIR_WRITE]), \ .help = "Set asynchronous IO priority hint", \ .minval = IOPRIO_MIN_PRIO_HINT, \ .maxval = IOPRIO_MAX_PRIO_HINT, \ .interval = 1, \ .category = FIO_OPT_C_ENGINE, \ .group = opt_group, \ }, \ { \ .name = "cmdprio", \ .lname = "Asynchronous I/O priority level", \ .type = FIO_OPT_INT, \ .off1 = offsetof(opt_struct, \ cmdprio_options.level[DDIR_READ]), \ .off2 = offsetof(opt_struct, \ cmdprio_options.level[DDIR_WRITE]), \ .help = "Set asynchronous IO priority level", \ .minval = IOPRIO_MIN_PRIO, \ .maxval = IOPRIO_MAX_PRIO, \ .interval = 1, \ .category = FIO_OPT_C_ENGINE, \ .group = opt_group, \ }, \ { \ .name = "cmdprio_bssplit", \ .lname = "Priority percentage block size split", \ .type = FIO_OPT_STR_STORE, \ .off1 = offsetof(opt_struct, cmdprio_options.bssplit_str), \ .help = "Set priority percentages for different block sizes", \ .category = FIO_OPT_C_ENGINE, \ .group = opt_group, \ } #else #define CMDPRIO_OPTIONS(opt_struct, opt_group) \ { \ .name = "cmdprio_percentage", \ .lname = "high priority percentage", \ .type = FIO_OPT_UNSUPPORTED, \ .help = "Platform does not support I/O priority classes", \ }, \ { \ .name = "cmdprio_class", \ .lname = "Asynchronous I/O priority class", \ .type = FIO_OPT_UNSUPPORTED, \ .help = "Platform does not support I/O priority classes", \ }, \ { \ .name = "cmdprio_hint", \ .lname = "Asynchronous I/O priority hint", \ .type = FIO_OPT_UNSUPPORTED, \ .help = "Platform does not support I/O priority classes", \ }, \ { \ .name = "cmdprio", \ .lname = "Asynchronous I/O priority level", \ .type = FIO_OPT_UNSUPPORTED, \ .help = "Platform does not support I/O priority classes", \ }, \ { \ .name = "cmdprio_bssplit", \ .lname = "Priority percentage block size split", \ .type = FIO_OPT_UNSUPPORTED, \ .help = "Platform does not support I/O priority classes", \ } #endif struct cmdprio { struct cmdprio_options *options; struct cmdprio_prio perc_entry[CMDPRIO_RWDIR_CNT]; struct cmdprio_bsprio_desc bsprio_desc[CMDPRIO_RWDIR_CNT]; unsigned int mode; }; bool fio_cmdprio_set_ioprio(struct thread_data *td, struct cmdprio *cmdprio, struct io_u *io_u); void fio_cmdprio_cleanup(struct cmdprio *cmdprio); int fio_cmdprio_init(struct thread_data *td, struct cmdprio *cmdprio, struct cmdprio_options *options); #endif fio-3.39/engines/cpu.c000066400000000000000000000167101476262051600146260ustar00rootroot00000000000000/* * CPU engine * * Doesn't transfer any data, merely burns CPU cycles according to * the settings. * */ #include "../fio.h" #include "../optgroup.h" // number of 32 bit integers to sort size_t qsort_size = (256 * (1ULL << 10)); // 256KB struct mwc { uint32_t w; uint32_t z; }; enum stress_mode { FIO_CPU_NOOP = 0, FIO_CPU_QSORT = 1, }; struct cpu_options { void *pad; unsigned int cpuload; unsigned int cpucycle; enum stress_mode cpumode; unsigned int exit_io_done; int32_t *qsort_data; }; static struct fio_option options[] = { { .name = "cpuload", .lname = "CPU load", .type = FIO_OPT_INT, .off1 = offsetof(struct cpu_options, cpuload), .help = "Use this percentage of CPU", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = "cpumode", .lname = "cpumode", .type = FIO_OPT_STR, .help = "Stress mode", .off1 = offsetof(struct cpu_options, cpumode), .def = "noop", .posval = { { .ival = "noop", .oval = FIO_CPU_NOOP, .help = "NOOP instructions", }, { .ival = "qsort", .oval = FIO_CPU_QSORT, .help = "QSORT computation", }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = "cpuchunks", .lname = "CPU chunk", .type = FIO_OPT_INT, .off1 = offsetof(struct cpu_options, cpucycle), .help = "Length of the CPU burn cycles (usecs)", .def = "50000", .parent = "cpuload", .hide = 1, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = "exit_on_io_done", .lname = "Exit when IO threads are done", .type = FIO_OPT_BOOL, .off1 = offsetof(struct cpu_options, exit_io_done), .help = "Exit when IO threads finish", .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = NULL, }, }; /* * mwc32() * Multiply-with-carry random numbers * fast pseudo random number generator, see * http://www.cse.yorku.ca/~oz/marsaglia-rng.html */ uint32_t mwc32(struct mwc *mwc) { mwc->z = 36969 * (mwc->z & 65535) + (mwc->z >> 16); mwc->w = 18000 * (mwc->w & 65535) + (mwc->w >> 16); return (mwc->z << 16) + mwc->w; } /* * stress_qsort_cmp_1() * qsort comparison - sort on int32 values */ static int stress_qsort_cmp_1(const void *p1, const void *p2) { const int32_t *i1 = (const int32_t *)p1; const int32_t *i2 = (const int32_t *)p2; if (*i1 > *i2) return 1; else if (*i1 < *i2) return -1; else return 0; } /* * stress_qsort_cmp_2() * qsort comparison - reverse sort on int32 values */ static int stress_qsort_cmp_2(const void *p1, const void *p2) { return stress_qsort_cmp_1(p2, p1); } /* * stress_qsort_cmp_3() * qsort comparison - sort on int8 values */ static int stress_qsort_cmp_3(const void *p1, const void *p2) { const int8_t *i1 = (const int8_t *)p1; const int8_t *i2 = (const int8_t *)p2; /* Force re-ordering on 8 bit value */ return *i1 - *i2; } static int do_qsort(struct thread_data *td) { struct thread_options *o = &td->o; struct cpu_options *co = td->eo; struct timespec start, now; fio_get_mono_time(&start); /* Sort "random" data */ qsort(co->qsort_data, qsort_size, sizeof(*(co->qsort_data)), stress_qsort_cmp_1); /* Reverse sort */ qsort(co->qsort_data, qsort_size, sizeof(*(co->qsort_data)), stress_qsort_cmp_2); /* And re-order by byte compare */ qsort((uint8_t *)co->qsort_data, qsort_size * 4, sizeof(uint8_t), stress_qsort_cmp_3); /* Reverse sort this again */ qsort(co->qsort_data, qsort_size, sizeof(*(co->qsort_data)), stress_qsort_cmp_2); fio_get_mono_time(&now); /* Adjusting cpucycle automatically to be as close as possible to the * expected cpuload The time to execute do_qsort() may change over time * as per : - the job concurrency - the cpu clock adjusted by the power * management After every do_qsort() call, the next thinktime is * adjusted regarding the last run performance */ co->cpucycle = utime_since(&start, &now); o->thinktime = ((unsigned long long) co->cpucycle * (100 - co->cpuload)) / co->cpuload; return 0; } static enum fio_q_status fio_cpuio_queue(struct thread_data *td, struct io_u fio_unused *io_u) { struct cpu_options *co = td->eo; if (co->exit_io_done && !fio_running_or_pending_io_threads()) { td->done = 1; return FIO_Q_BUSY; } switch (co->cpumode) { case FIO_CPU_NOOP: usec_spin(co->cpucycle); break; case FIO_CPU_QSORT: do_qsort(td); break; } return FIO_Q_COMPLETED; } static int noop_init(struct thread_data *td) { struct cpu_options *co = td->eo; log_info("%s (noop): ioengine=%s, cpuload=%u, cpucycle=%u\n", td->o.name, td->io_ops->name, co->cpuload, co->cpucycle); return 0; } static int qsort_cleanup(struct thread_data *td) { struct cpu_options *co = td->eo; if (co->qsort_data) { free(co->qsort_data); co->qsort_data = NULL; } return 0; } static int qsort_init(struct thread_data *td) { /* Setting up a default entropy */ struct mwc mwc = { 521288629UL, 362436069UL }; struct cpu_options *co = td->eo; int32_t *ptr; int i; co->qsort_data = calloc(qsort_size, sizeof(*co->qsort_data)); if (co->qsort_data == NULL) { td_verror(td, ENOMEM, "qsort_init"); return 1; } /* This is expensive, init the memory once */ for (ptr = co->qsort_data, i = 0; i < qsort_size; i++) *ptr++ = mwc32(&mwc); log_info("%s (qsort): ioengine=%s, cpuload=%u, cpucycle=%u\n", td->o.name, td->io_ops->name, co->cpuload, co->cpucycle); return 0; } static int fio_cpuio_init(struct thread_data *td) { struct thread_options *o = &td->o; struct cpu_options *co = td->eo; int td_previous_state; char *msg; if (!co->cpuload) { td_vmsg(td, EINVAL, "cpu thread needs rate (cpuload=)","cpuio"); return 1; } if (co->cpuload > 100) co->cpuload = 100; /* Saving the current thread state */ td_previous_state = td->runstate; /* Reporting that we are preparing the engine * This is useful as the qsort() calibration takes time * This prevents the job from starting before init is completed */ td_set_runstate(td, TD_SETTING_UP); /* * set thinktime_sleep and thinktime_spin appropriately */ o->thinktime_blocks = 1; o->thinktime_blocks_type = THINKTIME_BLOCKS_TYPE_COMPLETE; o->thinktime_spin = 0; o->thinktime = ((unsigned long long) co->cpucycle * (100 - co->cpuload)) / co->cpuload; o->nr_files = o->open_files = 1; switch (co->cpumode) { case FIO_CPU_NOOP: noop_init(td); break; case FIO_CPU_QSORT: qsort_init(td); break; default: if (asprintf(&msg, "bad cpu engine mode: %d", co->cpumode) < 0) msg = NULL; td_vmsg(td, EINVAL, msg ? : "(?)", __func__); free(msg); return 1; } /* Let's restore the previous state. */ td_set_runstate(td, td_previous_state); return 0; } static void fio_cpuio_cleanup(struct thread_data *td) { struct cpu_options *co = td->eo; switch (co->cpumode) { case FIO_CPU_NOOP: break; case FIO_CPU_QSORT: qsort_cleanup(td); break; } } static int fio_cpuio_open(struct thread_data fio_unused *td, struct fio_file fio_unused *f) { return 0; } static struct ioengine_ops ioengine = { .name = "cpuio", .version = FIO_IOOPS_VERSION, .queue = fio_cpuio_queue, .init = fio_cpuio_init, .cleanup = fio_cpuio_cleanup, .open_file = fio_cpuio_open, .flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_NOIO, .options = options, .option_struct_size = sizeof(struct cpu_options), }; static void fio_init fio_cpuio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_cpuio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/dev-dax.c000066400000000000000000000174361476262051600153750ustar00rootroot00000000000000/* * device DAX engine * * IO engine that reads/writes from files by doing memcpy to/from * a memory mapped region of DAX enabled device. * * Copyright (C) 2016 Intel Corp * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License, * version 2 as published by the Free Software Foundation.. * * 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. * */ /* * device dax engine * IO engine that access a DAX device directly for read and write data * * To use: * ioengine=dev-dax * * Other relevant settings: * iodepth=1 * direct=0 REQUIRED * filename=/dev/daxN.N * bs=2m * * direct should be left to 0. Using dev-dax implies that memory access * is direct. However, dev-dax does not support O_DIRECT flag by design * since it is not necessary. * * bs should adhere to the device dax alignment at minimally. * * libpmem.so * By default, the dev-dax engine will let the system find the libpmem.so * that it uses. You can use an alternative libpmem by setting the * FIO_PMEM_LIB environment variable to the full path to the desired * libpmem.so. */ #include #include #include #include #include #include #include #include #include #include #include "../fio.h" #include "../verify.h" /* * Limits us to 1GiB of mapped files in total to model after * mmap engine behavior */ #define MMAP_TOTAL_SZ (1 * 1024 * 1024 * 1024UL) struct fio_devdax_data { void *devdax_ptr; size_t devdax_sz; off_t devdax_off; }; static int fio_devdax_file(struct thread_data *td, struct fio_file *f, size_t length, off_t off) { struct fio_devdax_data *fdd = FILE_ENG_DATA(f); int flags = 0; if (td_rw(td)) flags = PROT_READ | PROT_WRITE; else if (td_write(td)) { flags = PROT_WRITE; if (td->o.verify != VERIFY_NONE) flags |= PROT_READ; } else flags = PROT_READ; fdd->devdax_ptr = mmap(NULL, length, flags, MAP_SHARED, f->fd, off); if (fdd->devdax_ptr == MAP_FAILED) { fdd->devdax_ptr = NULL; td_verror(td, errno, "mmap"); } if (td->error && fdd->devdax_ptr) munmap(fdd->devdax_ptr, length); return td->error; } /* * Just mmap an appropriate portion, we cannot mmap the full extent */ static int fio_devdax_prep_limited(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_devdax_data *fdd = FILE_ENG_DATA(f); if (io_u->buflen > f->real_file_size) { log_err("dev-dax: bs too big for dev-dax engine\n"); return EIO; } fdd->devdax_sz = min(MMAP_TOTAL_SZ, f->real_file_size); if (fdd->devdax_sz > f->io_size) fdd->devdax_sz = f->io_size; fdd->devdax_off = io_u->offset; return fio_devdax_file(td, f, fdd->devdax_sz, fdd->devdax_off); } /* * Attempt to mmap the entire file */ static int fio_devdax_prep_full(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_devdax_data *fdd = FILE_ENG_DATA(f); int ret; if (fio_file_partial_mmap(f)) return EINVAL; if (io_u->offset != (size_t) io_u->offset || f->io_size != (size_t) f->io_size) { fio_file_set_partial_mmap(f); return EINVAL; } fdd->devdax_sz = f->io_size; fdd->devdax_off = 0; ret = fio_devdax_file(td, f, fdd->devdax_sz, fdd->devdax_off); if (ret) fio_file_set_partial_mmap(f); return ret; } static int fio_devdax_prep(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_devdax_data *fdd = FILE_ENG_DATA(f); int ret; /* * It fits within existing mapping, use it */ if (io_u->offset >= fdd->devdax_off && io_u->offset + io_u->buflen <= fdd->devdax_off + fdd->devdax_sz) goto done; /* * unmap any existing mapping */ if (fdd->devdax_ptr) { if (munmap(fdd->devdax_ptr, fdd->devdax_sz) < 0) return errno; fdd->devdax_ptr = NULL; } if (fio_devdax_prep_full(td, io_u)) { td_clear_error(td); ret = fio_devdax_prep_limited(td, io_u); if (ret) return ret; } done: io_u->mmap_data = fdd->devdax_ptr + io_u->offset - fdd->devdax_off - f->file_offset; return 0; } static enum fio_q_status fio_devdax_queue(struct thread_data *td, struct io_u *io_u) { fio_ro_check(td, io_u); io_u->error = 0; switch (io_u->ddir) { case DDIR_READ: memcpy(io_u->xfer_buf, io_u->mmap_data, io_u->xfer_buflen); break; case DDIR_WRITE: pmem_memcpy_persist(io_u->mmap_data, io_u->xfer_buf, io_u->xfer_buflen); break; case DDIR_SYNC: case DDIR_DATASYNC: case DDIR_SYNC_FILE_RANGE: break; default: io_u->error = EINVAL; break; } return FIO_Q_COMPLETED; } static int fio_devdax_init(struct thread_data *td) { struct thread_options *o = &td->o; if ((o->rw_min_bs & page_mask) && (o->fsync_blocks || o->fdatasync_blocks)) { log_err("dev-dax: mmap options dictate a minimum block size of %llu bytes\n", (unsigned long long) page_size); return 1; } return 0; } static int fio_devdax_open_file(struct thread_data *td, struct fio_file *f) { struct fio_devdax_data *fdd; int ret; ret = generic_open_file(td, f); if (ret) return ret; fdd = calloc(1, sizeof(*fdd)); if (!fdd) { int fio_unused __ret; __ret = generic_close_file(td, f); return 1; } FILE_SET_ENG_DATA(f, fdd); return 0; } static int fio_devdax_close_file(struct thread_data *td, struct fio_file *f) { struct fio_devdax_data *fdd = FILE_ENG_DATA(f); FILE_SET_ENG_DATA(f, NULL); free(fdd); fio_file_clear_partial_mmap(f); return generic_close_file(td, f); } static int fio_devdax_get_file_size(struct thread_data *td, struct fio_file *f) { char spath[PATH_MAX]; char npath[PATH_MAX]; char *rpath, *basename; FILE *sfile; uint64_t size; struct stat st; int rc; if (fio_file_size_known(f)) return 0; if (f->filetype != FIO_TYPE_CHAR) return -EINVAL; rc = stat(f->file_name, &st); if (rc < 0) { log_err("%s: failed to stat file %s (%s)\n", td->o.name, f->file_name, strerror(errno)); return -errno; } snprintf(spath, PATH_MAX, "/sys/dev/char/%d:%d/subsystem", major(st.st_rdev), minor(st.st_rdev)); rpath = realpath(spath, npath); if (!rpath) { log_err("%s: realpath on %s failed (%s)\n", td->o.name, spath, strerror(errno)); return -errno; } /* check if DAX device */ basename = strrchr(rpath, '/'); if (!basename || strcmp("dax", basename+1)) { log_err("%s: %s not a DAX device!\n", td->o.name, f->file_name); } snprintf(spath, PATH_MAX, "/sys/dev/char/%d:%d/size", major(st.st_rdev), minor(st.st_rdev)); sfile = fopen(spath, "r"); if (!sfile) { log_err("%s: fopen on %s failed (%s)\n", td->o.name, spath, strerror(errno)); return 1; } rc = fscanf(sfile, "%lu", &size); if (rc < 0) { log_err("%s: fscanf on %s failed (%s)\n", td->o.name, spath, strerror(errno)); fclose(sfile); return 1; } f->real_file_size = size; fclose(sfile); if (f->file_offset > f->real_file_size) { log_err("%s: offset extends end (%llu > %llu)\n", td->o.name, (unsigned long long) f->file_offset, (unsigned long long) f->real_file_size); return 1; } fio_file_set_size_known(f); return 0; } FIO_STATIC struct ioengine_ops ioengine = { .name = "dev-dax", .version = FIO_IOOPS_VERSION, .init = fio_devdax_init, .prep = fio_devdax_prep, .queue = fio_devdax_queue, .open_file = fio_devdax_open_file, .close_file = fio_devdax_close_file, .get_file_size = fio_devdax_get_file_size, .flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_NOEXTEND | FIO_NODISKUTIL, }; static void fio_init fio_devdax_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_devdax_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/dfs.c000066400000000000000000000323561476262051600146170ustar00rootroot00000000000000/** * FIO engine for DAOS File System (dfs). * * (C) Copyright 2020-2021 Intel Corporation. */ #include #include #include #include static bool daos_initialized; static int num_threads; static pthread_mutex_t daos_mutex = PTHREAD_MUTEX_INITIALIZER; daos_handle_t poh; /* pool handle */ daos_handle_t coh; /* container handle */ daos_oclass_id_t cid = OC_UNKNOWN; /* object class */ dfs_t *daosfs; /* dfs mount reference */ struct daos_iou { struct io_u *io_u; daos_event_t ev; d_sg_list_t sgl; d_iov_t iov; daos_size_t size; bool complete; }; struct daos_data { daos_handle_t eqh; dfs_obj_t *obj; struct io_u **io_us; int queued; int num_ios; }; struct daos_fio_options { void *pad; char *pool; /* Pool UUID */ char *cont; /* Container UUID */ daos_size_t chsz; /* Chunk size */ char *oclass; /* object class */ #if !defined(DAOS_API_VERSION_MAJOR) || DAOS_API_VERSION_MAJOR < 1 char *svcl; /* service replica list, deprecated */ #endif }; static struct fio_option options[] = { { .name = "pool", .lname = "pool uuid or label", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct daos_fio_options, pool), .help = "DAOS pool uuid or label", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_DFS, }, { .name = "cont", .lname = "container uuid or label", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct daos_fio_options, cont), .help = "DAOS container uuid or label", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_DFS, }, { .name = "chunk_size", .lname = "DFS chunk size", .type = FIO_OPT_ULL, .off1 = offsetof(struct daos_fio_options, chsz), .help = "DFS chunk size in bytes", .def = "0", /* use container default */ .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_DFS, }, { .name = "object_class", .lname = "object class", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct daos_fio_options, oclass), .help = "DAOS object class", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_DFS, }, #if !defined(DAOS_API_VERSION_MAJOR) || DAOS_API_VERSION_MAJOR < 1 { .name = "svcl", .lname = "List of service ranks", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct daos_fio_options, svcl), .help = "List of pool replicated service ranks", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_DFS, }, #endif { .name = NULL, }, }; static int daos_fio_global_init(struct thread_data *td) { struct daos_fio_options *eo = td->eo; daos_pool_info_t pool_info; daos_cont_info_t co_info; int rc = 0; #if !defined(DAOS_API_VERSION_MAJOR) || DAOS_API_VERSION_MAJOR < 1 if (!eo->pool || !eo->cont || !eo->svcl) { #else if (!eo->pool || !eo->cont) { #endif log_err("Missing required DAOS options\n"); return EINVAL; } rc = daos_init(); if (rc != -DER_ALREADY && rc) { log_err("Failed to initialize daos %d\n", rc); td_verror(td, rc, "daos_init"); return rc; } #if !defined(DAOS_API_VERSION_MAJOR) || \ (DAOS_API_VERSION_MAJOR == 1 && DAOS_API_VERSION_MINOR < 3) uuid_t pool_uuid, co_uuid; rc = uuid_parse(eo->pool, pool_uuid); if (rc) { log_err("Failed to parse 'Pool uuid': %s\n", eo->pool); td_verror(td, EINVAL, "uuid_parse(eo->pool)"); return EINVAL; } rc = uuid_parse(eo->cont, co_uuid); if (rc) { log_err("Failed to parse 'Cont uuid': %s\n", eo->cont); td_verror(td, EINVAL, "uuid_parse(eo->cont)"); return EINVAL; } #endif /* Connect to the DAOS pool */ #if !defined(DAOS_API_VERSION_MAJOR) || DAOS_API_VERSION_MAJOR < 1 d_rank_list_t *svcl = NULL; svcl = daos_rank_list_parse(eo->svcl, ":"); if (svcl == NULL) { log_err("Failed to parse svcl\n"); td_verror(td, EINVAL, "daos_rank_list_parse"); return EINVAL; } rc = daos_pool_connect(pool_uuid, NULL, svcl, DAOS_PC_RW, &poh, &pool_info, NULL); d_rank_list_free(svcl); #elif (DAOS_API_VERSION_MAJOR == 1 && DAOS_API_VERSION_MINOR < 3) rc = daos_pool_connect(pool_uuid, NULL, DAOS_PC_RW, &poh, &pool_info, NULL); #else rc = daos_pool_connect(eo->pool, NULL, DAOS_PC_RW, &poh, &pool_info, NULL); #endif if (rc) { log_err("Failed to connect to pool %d\n", rc); td_verror(td, rc, "daos_pool_connect"); return rc; } /* Open the DAOS container */ #if !defined(DAOS_API_VERSION_MAJOR) || \ (DAOS_API_VERSION_MAJOR == 1 && DAOS_API_VERSION_MINOR < 3) rc = daos_cont_open(poh, co_uuid, DAOS_COO_RW, &coh, &co_info, NULL); #else rc = daos_cont_open(poh, eo->cont, DAOS_COO_RW, &coh, &co_info, NULL); #endif if (rc) { log_err("Failed to open container: %d\n", rc); td_verror(td, rc, "daos_cont_open"); (void)daos_pool_disconnect(poh, NULL); return rc; } /* Mount encapsulated filesystem */ rc = dfs_mount(poh, coh, O_RDWR, &daosfs); if (rc) { log_err("Failed to mount DFS namespace: %d\n", rc); td_verror(td, rc, "dfs_mount"); (void)daos_pool_disconnect(poh, NULL); (void)daos_cont_close(coh, NULL); return rc; } /* Retrieve object class to use, if specified */ if (eo->oclass) cid = daos_oclass_name2id(eo->oclass); return 0; } static int daos_fio_global_cleanup() { int rc; int ret = 0; rc = dfs_umount(daosfs); if (rc) { log_err("failed to umount dfs: %d\n", rc); ret = rc; } rc = daos_cont_close(coh, NULL); if (rc) { log_err("failed to close container: %d\n", rc); if (ret == 0) ret = rc; } rc = daos_pool_disconnect(poh, NULL); if (rc) { log_err("failed to disconnect pool: %d\n", rc); if (ret == 0) ret = rc; } rc = daos_fini(); if (rc) { log_err("failed to finalize daos: %d\n", rc); if (ret == 0) ret = rc; } return ret; } static int daos_fio_setup(struct thread_data *td) { return 0; } static int daos_fio_init(struct thread_data *td) { struct daos_data *dd; int rc = 0; pthread_mutex_lock(&daos_mutex); dd = malloc(sizeof(*dd)); if (dd == NULL) { log_err("Failed to allocate DAOS-private data\n"); rc = ENOMEM; goto out; } dd->queued = 0; dd->num_ios = td->o.iodepth; dd->io_us = calloc(dd->num_ios, sizeof(struct io_u *)); if (dd->io_us == NULL) { log_err("Failed to allocate IO queue\n"); rc = ENOMEM; goto out; } /* initialize DAOS stack if not already up */ if (!daos_initialized) { rc = daos_fio_global_init(td); if (rc) goto out; daos_initialized = true; } rc = daos_eq_create(&dd->eqh); if (rc) { log_err("Failed to create event queue: %d\n", rc); td_verror(td, rc, "daos_eq_create"); goto out; } td->io_ops_data = dd; num_threads++; out: if (rc) { if (dd) { free(dd->io_us); free(dd); } if (num_threads == 0 && daos_initialized) { /* don't clobber error return value */ (void)daos_fio_global_cleanup(); daos_initialized = false; } } pthread_mutex_unlock(&daos_mutex); return rc; } static void daos_fio_cleanup(struct thread_data *td) { struct daos_data *dd = td->io_ops_data; int rc; if (dd == NULL) return; rc = daos_eq_destroy(dd->eqh, DAOS_EQ_DESTROY_FORCE); if (rc < 0) { log_err("failed to destroy event queue: %d\n", rc); td_verror(td, rc, "daos_eq_destroy"); } free(dd->io_us); free(dd); pthread_mutex_lock(&daos_mutex); num_threads--; if (daos_initialized && num_threads == 0) { int ret; ret = daos_fio_global_cleanup(); if (ret < 0 && rc == 0) { log_err("failed to clean up: %d\n", ret); td_verror(td, ret, "daos_fio_global_cleanup"); } daos_initialized = false; } pthread_mutex_unlock(&daos_mutex); } static int daos_fio_get_file_size(struct thread_data *td, struct fio_file *f) { char *file_name = f->file_name; struct stat stbuf = {0}; int rc; dprint(FD_FILE, "dfs stat %s\n", f->file_name); if (!daos_initialized) return 0; rc = dfs_stat(daosfs, NULL, file_name, &stbuf); if (rc) { log_err("Failed to stat %s: %d\n", f->file_name, rc); td_verror(td, rc, "dfs_stat"); return rc; } f->real_file_size = stbuf.st_size; return 0; } static int daos_fio_close(struct thread_data *td, struct fio_file *f) { struct daos_data *dd = td->io_ops_data; int rc; dprint(FD_FILE, "dfs release %s\n", f->file_name); rc = dfs_release(dd->obj); if (rc) { log_err("Failed to release %s: %d\n", f->file_name, rc); td_verror(td, rc, "dfs_release"); return rc; } return 0; } static int daos_fio_open(struct thread_data *td, struct fio_file *f) { struct daos_data *dd = td->io_ops_data; struct daos_fio_options *eo = td->eo; int flags = 0; int rc; dprint(FD_FILE, "dfs open %s (%s/%d/%d)\n", f->file_name, td_write(td) & !read_only ? "rw" : "r", td->o.create_on_open, td->o.allow_create); if (td->o.create_on_open && td->o.allow_create) flags |= O_CREAT; if (td_write(td)) { if (!read_only) flags |= O_RDWR; if (td->o.allow_create) flags |= O_CREAT; } else if (td_read(td)) { flags |= O_RDONLY; } rc = dfs_open(daosfs, NULL, f->file_name, S_IFREG | S_IRUSR | S_IWUSR, flags, cid, eo->chsz, NULL, &dd->obj); if (rc) { log_err("Failed to open %s: %d\n", f->file_name, rc); td_verror(td, rc, "dfs_open"); return rc; } return 0; } static int daos_fio_unlink(struct thread_data *td, struct fio_file *f) { int rc; dprint(FD_FILE, "dfs remove %s\n", f->file_name); rc = dfs_remove(daosfs, NULL, f->file_name, false, NULL); if (rc) { log_err("Failed to remove %s: %d\n", f->file_name, rc); td_verror(td, rc, "dfs_remove"); return rc; } return 0; } static int daos_fio_invalidate(struct thread_data *td, struct fio_file *f) { dprint(FD_FILE, "dfs invalidate %s\n", f->file_name); return 0; } static void daos_fio_io_u_free(struct thread_data *td, struct io_u *io_u) { struct daos_iou *io = io_u->engine_data; if (io) { io_u->engine_data = NULL; free(io); } } static int daos_fio_io_u_init(struct thread_data *td, struct io_u *io_u) { struct daos_iou *io; io = malloc(sizeof(struct daos_iou)); if (!io) { td_verror(td, ENOMEM, "malloc"); return ENOMEM; } io->io_u = io_u; io_u->engine_data = io; return 0; } static struct io_u * daos_fio_event(struct thread_data *td, int event) { struct daos_data *dd = td->io_ops_data; return dd->io_us[event]; } static int daos_fio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct daos_data *dd = td->io_ops_data; daos_event_t *evp[max]; unsigned int events = 0; int i; int rc; while (events < min) { rc = daos_eq_poll(dd->eqh, 0, DAOS_EQ_NOWAIT, max, evp); if (rc < 0) { log_err("Event poll failed: %d\n", rc); td_verror(td, rc, "daos_eq_poll"); return events; } for (i = 0; i < rc; i++) { struct daos_iou *io; struct io_u *io_u; io = container_of(evp[i], struct daos_iou, ev); if (io->complete) log_err("Completion on already completed I/O\n"); io_u = io->io_u; if (io->ev.ev_error) io_u->error = io->ev.ev_error; else io_u->resid = 0; dd->io_us[events] = io_u; dd->queued--; daos_event_fini(&io->ev); io->complete = true; events++; } } dprint(FD_IO, "dfs eq_pool returning %d (%u/%u)\n", events, min, max); return events; } static enum fio_q_status daos_fio_queue(struct thread_data *td, struct io_u *io_u) { struct daos_data *dd = td->io_ops_data; struct daos_iou *io = io_u->engine_data; daos_off_t offset = io_u->offset; int rc; if (dd->queued == td->o.iodepth) return FIO_Q_BUSY; io->sgl.sg_nr = 1; io->sgl.sg_nr_out = 0; d_iov_set(&io->iov, io_u->xfer_buf, io_u->xfer_buflen); io->sgl.sg_iovs = &io->iov; io->size = io_u->xfer_buflen; io->complete = false; rc = daos_event_init(&io->ev, dd->eqh, NULL); if (rc) { log_err("Event init failed: %d\n", rc); io_u->error = rc; return FIO_Q_COMPLETED; } switch (io_u->ddir) { case DDIR_WRITE: rc = dfs_write(daosfs, dd->obj, &io->sgl, offset, &io->ev); if (rc) { log_err("dfs_write failed: %d\n", rc); io_u->error = rc; return FIO_Q_COMPLETED; } break; case DDIR_READ: rc = dfs_read(daosfs, dd->obj, &io->sgl, offset, &io->size, &io->ev); if (rc) { log_err("dfs_read failed: %d\n", rc); io_u->error = rc; return FIO_Q_COMPLETED; } break; case DDIR_SYNC: io_u->error = 0; return FIO_Q_COMPLETED; default: dprint(FD_IO, "Invalid IO type: %d\n", io_u->ddir); io_u->error = -DER_INVAL; return FIO_Q_COMPLETED; } dd->queued++; return FIO_Q_QUEUED; } static int daos_fio_prep(struct thread_data fio_unused *td, struct io_u *io_u) { return 0; } /* ioengine_ops for get_ioengine() */ FIO_STATIC struct ioengine_ops ioengine = { .name = "dfs", .version = FIO_IOOPS_VERSION, .flags = FIO_DISKLESSIO | FIO_NODISKUTIL, .setup = daos_fio_setup, .init = daos_fio_init, .prep = daos_fio_prep, .cleanup = daos_fio_cleanup, .open_file = daos_fio_open, .invalidate = daos_fio_invalidate, .get_file_size = daos_fio_get_file_size, .close_file = daos_fio_close, .unlink_file = daos_fio_unlink, .queue = daos_fio_queue, .getevents = daos_fio_getevents, .event = daos_fio_event, .io_u_init = daos_fio_io_u_init, .io_u_free = daos_fio_io_u_free, .option_struct_size = sizeof(struct daos_fio_options), .options = options, }; static void fio_init fio_dfs_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_dfs_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/e4defrag.c000066400000000000000000000113401476262051600155120ustar00rootroot00000000000000/* * ioe_e4defrag: ioengine for git://git.kernel.dk/fio.git * * IO engine that does regular EXT4_IOC_MOVE_EXT ioctls to simulate * defragment activity * */ #include #include #include #include #include #include #include "../fio.h" #include "../optgroup.h" #ifndef EXT4_IOC_MOVE_EXT #define EXT4_IOC_MOVE_EXT _IOWR('f', 15, struct move_extent) struct move_extent { __u32 reserved; /* should be zero */ __u32 donor_fd; /* donor file descriptor */ __u64 orig_start; /* logical start offset in block for orig */ __u64 donor_start; /* logical start offset in block for donor */ __u64 len; /* block length to be moved */ __u64 moved_len; /* moved block length */ }; #endif struct e4defrag_data { int donor_fd; int bsz; }; struct e4defrag_options { void *pad; unsigned int inplace; char * donor_name; }; static struct fio_option options[] = { { .name = "donorname", .lname = "Donor Name", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct e4defrag_options, donor_name), .help = "File used as a block donor", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_E4DEFRAG, }, { .name = "inplace", .lname = "In Place", .type = FIO_OPT_INT, .off1 = offsetof(struct e4defrag_options, inplace), .minval = 0, .maxval = 1, .help = "Alloc and free space inside defrag event", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_E4DEFRAG, }, { .name = NULL, }, }; static int fio_e4defrag_init(struct thread_data *td) { int r, len = 0; struct e4defrag_options *o = td->eo; struct e4defrag_data *ed; struct stat stub; char donor_name[PATH_MAX]; if (!o->donor_name || !strlen(o->donor_name)) { log_err("'donorname' options required\n"); return 1; } ed = calloc(1, sizeof(*ed)); if (!ed) { td_verror(td, ENOMEM, "io_queue_init"); return 1; } if (td->o.directory) len = sprintf(donor_name, "%s/", td->o.directory); sprintf(donor_name + len, "%s", o->donor_name); ed->donor_fd = open(donor_name, O_CREAT|O_WRONLY, 0644); if (ed->donor_fd < 0) { td_verror(td, errno, "io_queue_init"); log_err("Can't open donor file %s err:%d\n", donor_name, ed->donor_fd); free(ed); return 1; } if (!o->inplace) { long long __len = td->o.file_size_high - td->o.start_offset; r = fallocate(ed->donor_fd, 0, td->o.start_offset, __len); if (r) goto err; } r = fstat(ed->donor_fd, &stub); if (r) goto err; ed->bsz = stub.st_blksize; td->io_ops_data = ed; return 0; err: td_verror(td, errno, "io_queue_init"); close(ed->donor_fd); free(ed); return 1; } static void fio_e4defrag_cleanup(struct thread_data *td) { struct e4defrag_data *ed = td->io_ops_data; if (ed) { if (ed->donor_fd >= 0) close(ed->donor_fd); free(ed); } } static enum fio_q_status fio_e4defrag_queue(struct thread_data *td, struct io_u *io_u) { int ret; unsigned long long len; struct move_extent me; struct fio_file *f = io_u->file; struct e4defrag_data *ed = td->io_ops_data; struct e4defrag_options *o = td->eo; fio_ro_check(td, io_u); /* Theoretically defragmentation should not change data, but it * changes data layout. So this function handle only DDIR_WRITE * in order to satisfy strict read only access pattern */ if (io_u->ddir != DDIR_WRITE) { io_u->error = EINVAL; return FIO_Q_COMPLETED; } if (o->inplace) { ret = fallocate(ed->donor_fd, 0, io_u->offset, io_u->xfer_buflen); if (ret) goto out; } memset(&me, 0, sizeof(me)); me.donor_fd = ed->donor_fd; me.orig_start = io_u->offset / ed->bsz; me.donor_start = me.orig_start; len = (io_u->offset + io_u->xfer_buflen + ed->bsz -1); me.len = len / ed->bsz - me.orig_start; ret = ioctl(f->fd, EXT4_IOC_MOVE_EXT, &me); len = me.moved_len * ed->bsz; if (len > io_u->xfer_buflen) len = io_u->xfer_buflen; if (len != io_u->xfer_buflen) { if (len) { io_u->resid = io_u->xfer_buflen - len; io_u->error = 0; } else { /* access beyond i_size */ io_u->error = EINVAL; } } if (ret) io_u->error = errno; if (o->inplace) ret = ftruncate(ed->donor_fd, 0); out: if (ret && !io_u->error) io_u->error = errno; return FIO_Q_COMPLETED; } static struct ioengine_ops ioengine = { .name = "e4defrag", .version = FIO_IOOPS_VERSION, .init = fio_e4defrag_init, .queue = fio_e4defrag_queue, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO, .cleanup = fio_e4defrag_cleanup, .options = options, .option_struct_size = sizeof(struct e4defrag_options), }; static void fio_init fio_syncio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_syncio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/exec.c000066400000000000000000000221021476262051600147530ustar00rootroot00000000000000/* * Exec engine * * Doesn't transfer any data, merely run 3rd party tools * */ #include "../fio.h" #include "../optgroup.h" #include struct exec_options { void *pad; char *program; char *arguments; int grace_time; unsigned int std_redirect; pid_t pid; }; static struct fio_option options[] = { { .name = "program", .lname = "Program", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct exec_options, program), .help = "Program to execute", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = "arguments", .lname = "Arguments", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct exec_options, arguments), .help = "Arguments to pass", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = "grace_time", .lname = "Grace time", .type = FIO_OPT_INT, .minval = 0, .def = "1", .off1 = offsetof(struct exec_options, grace_time), .help = "Grace time before sending a SIGKILL", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = "std_redirect", .lname = "Std redirect", .type = FIO_OPT_BOOL, .def = "1", .off1 = offsetof(struct exec_options, std_redirect), .help = "Redirect stdout & stderr to files", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = NULL, }, }; char *str_replace(char *orig, const char *rep, const char *with) { /* * Replace a substring by another. * * Returns the new string if occurrences were found * Returns orig if no occurrence is found */ char *result, *insert, *tmp; int len_rep, len_with, len_front, count; /* sanity checks and initialization */ if (!orig || !rep) return orig; len_rep = strlen(rep); if (len_rep == 0) return orig; if (!with) with = ""; len_with = strlen(with); insert = orig; for (count = 0; (tmp = strstr(insert, rep)); ++count) { insert = tmp + len_rep; } tmp = result = malloc(strlen(orig) + (len_with - len_rep) * count + 1); if (!result) return orig; while (count--) { insert = strstr(orig, rep); len_front = insert - orig; tmp = strncpy(tmp, orig, len_front) + len_front; tmp = strcpy(tmp, with) + len_with; orig += len_front + len_rep; } strcpy(tmp, orig); return result; } char *expand_variables(struct thread_options *o, char *arguments) { char str[16]; char *expanded_runtime, *expanded_name; snprintf(str, sizeof(str), "%lld", o->timeout / 1000000); /* %r is replaced by the runtime in seconds */ expanded_runtime = str_replace(arguments, "%r", str); /* %n is replaced by the name of the running job */ expanded_name = str_replace(expanded_runtime, "%n", o->name); free(expanded_runtime); return expanded_name; } static int exec_background(struct thread_options *o, struct exec_options *eo) { char *outfilename = NULL, *errfilename = NULL; int outfd = 0, errfd = 0; pid_t pid; char *expanded_arguments = NULL; /* For the arguments splitting */ char **arguments_array = NULL; char *p; char *exec_cmd = NULL; size_t arguments_nb_items = 0, q; if (asprintf(&outfilename, "%s.stdout", o->name) < 0) return -1; if (asprintf(&errfilename, "%s.stderr", o->name) < 0) { free(outfilename); return -1; } /* If we have variables in the arguments, let's expand them */ expanded_arguments = expand_variables(o, eo->arguments); if (eo->std_redirect) { log_info("%s : Saving output of %s %s : stdout=%s stderr=%s\n", o->name, eo->program, expanded_arguments, outfilename, errfilename); /* Creating the stderr & stdout output files */ outfd = open(outfilename, O_CREAT | O_WRONLY | O_TRUNC, 0644); if (outfd < 0) { log_err("fio: cannot open output file %s : %s\n", outfilename, strerror(errno)); free(outfilename); free(errfilename); free(expanded_arguments); return -1; } errfd = open(errfilename, O_CREAT | O_WRONLY | O_TRUNC, 0644); if (errfd < 0) { log_err("fio: cannot open output file %s : %s\n", errfilename, strerror(errno)); free(outfilename); free(errfilename); free(expanded_arguments); close(outfd); return -1; } } else { log_info("%s : Running %s %s\n", o->name, eo->program, expanded_arguments); } pid = fork(); /* We are on the control thread (parent side of the fork */ if (pid > 0) { eo->pid = pid; if (eo->std_redirect) { /* The output file is for the client side of the fork */ close(outfd); close(errfd); free(outfilename); free(errfilename); } free(expanded_arguments); return 0; } /* If the fork failed */ if (pid < 0) { log_err("fio: forking failed %s \n", strerror(errno)); if (eo->std_redirect) { close(outfd); close(errfd); free(outfilename); free(errfilename); } free(expanded_arguments); return -1; } /* We are in the worker (child side of the fork) */ if (pid == 0) { if (eo->std_redirect) { /* replace stdout by the output file we create */ dup2(outfd, 1); /* replace stderr by the output file we create */ dup2(errfd, 2); close(outfd); close(errfd); free(outfilename); free(errfilename); } /* * Let's split the command line into a null terminated array to * be passed to the exec'd program. * But don't asprintf expanded_arguments if NULL as it would be * converted to a '(null)' argument, while we want no arguments * at all. */ if (expanded_arguments != NULL) { if (asprintf(&exec_cmd, "%s %s", eo->program, expanded_arguments) < 0) { free(expanded_arguments); return -1; } } else { if (asprintf(&exec_cmd, "%s", eo->program) < 0) return -1; } /* * Let's build an argv array to based on the program name and * arguments */ p = exec_cmd; for (;;) { p += strspn(p, " "); if (!(q = strcspn(p, " "))) break; if (q) { arguments_array = realloc(arguments_array, (arguments_nb_items + 1) * sizeof(char *)); arguments_array[arguments_nb_items] = malloc(q + 1); strncpy(arguments_array[arguments_nb_items], p, q); arguments_array[arguments_nb_items][q] = 0; arguments_nb_items++; p += q; } } /* Adding a null-terminated item to close the list */ arguments_array = realloc(arguments_array, (arguments_nb_items + 1) * sizeof(char *)); arguments_array[arguments_nb_items] = NULL; /* * Replace the fio program from the child fork by the target * program */ execvp(arguments_array[0], arguments_array); } /* We never reach this place */ /* Let's free the malloc'ed structures to make static checkers happy */ if (expanded_arguments) free(expanded_arguments); if (arguments_array) free(arguments_array); return 0; } static enum fio_q_status fio_exec_queue(struct thread_data *td, struct io_u fio_unused * io_u) { struct thread_options *o = &td->o; struct exec_options *eo = td->eo; /* Let's execute the program the first time we get queued */ if (eo->pid == -1) { exec_background(o, eo); } else { /* * The program is running in background, let's check on a * regular basis * if the time is over and if we need to stop the tool */ usleep(o->thinktime); if (utime_since_now(&td->start) > o->timeout) { /* Let's stop the child */ kill(eo->pid, SIGTERM); /* * Let's give grace_time (1 sec by default) to the 3rd * party tool to stop */ sleep(eo->grace_time); } } return FIO_Q_COMPLETED; } static int fio_exec_init(struct thread_data *td) { struct thread_options *o = &td->o; struct exec_options *eo = td->eo; int td_previous_state; eo->pid = -1; if (!eo->program) { td_vmsg(td, EINVAL, "no program is defined, it is mandatory to define one", "exec"); return 1; } log_info("%s : program=%s, arguments=%s\n", td->o.name, eo->program, eo->arguments); /* Saving the current thread state */ td_previous_state = td->runstate; /* * Reporting that we are preparing the engine * This is useful as the qsort() calibration takes time * This prevents the job from starting before init is completed */ td_set_runstate(td, TD_SETTING_UP); /* * set thinktime_sleep and thinktime_spin appropriately */ o->thinktime_blocks = 1; o->thinktime_blocks_type = THINKTIME_BLOCKS_TYPE_COMPLETE; o->thinktime_spin = 0; /* 50ms pause when waiting for the program to complete */ o->thinktime = 50000; o->nr_files = o->open_files = 1; /* Let's restore the previous state. */ td_set_runstate(td, td_previous_state); return 0; } static void fio_exec_cleanup(struct thread_data *td) { struct exec_options *eo = td->eo; /* Send a sigkill to ensure the job is well terminated */ if (eo->pid > 0) kill(eo->pid, SIGKILL); } static int fio_exec_open(struct thread_data fio_unused * td, struct fio_file fio_unused * f) { return 0; } static struct ioengine_ops ioengine = { .name = "exec", .version = FIO_IOOPS_VERSION, .queue = fio_exec_queue, .init = fio_exec_init, .cleanup = fio_exec_cleanup, .open_file = fio_exec_open, .flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_NOIO, .options = options, .option_struct_size = sizeof(struct exec_options), }; static void fio_init fio_exec_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_exec_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/falloc.c000066400000000000000000000047541476262051600153040ustar00rootroot00000000000000/* * falloc: ioengine for git://git.kernel.dk/fio.git * * IO engine that does regular fallocate to simulate data transfer * as fio ioengine. * DDIR_READ does fallocate(,mode = FALLOC_FL_KEEP_SIZE,) * DDIR_WRITE does fallocate(,mode = 0) : fallocate with size extension * DDIR_TRIM does fallocate(,mode = FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE) * */ #include #include #include #include "../fio.h" #include "../filehash.h" /* * generic_open_file is not appropriate because does not allow to perform * TRIM in to file */ static int open_file(struct thread_data *td, struct fio_file *f) { int from_hash = 0; dprint(FD_FILE, "fd open %s\n", f->file_name); if (f->filetype != FIO_TYPE_FILE && f->filetype != FIO_TYPE_BLOCK) { log_err("fio: only files and blockdev are supported fallocate \n"); return 1; } if (!strcmp(f->file_name, "-")) { log_err("fio: can't read/write to stdin/out\n"); return 1; } open_again: from_hash = file_lookup_open(f, O_CREAT|O_RDWR); if (f->fd == -1) { char buf[FIO_VERROR_SIZE]; int e = errno; snprintf(buf, sizeof(buf), "open(%s)", f->file_name); td_verror(td, e, buf); } if (!from_hash && f->fd != -1) { if (add_file_hash(f)) { int fio_unused ret; /* * OK to ignore, we haven't done anything with it */ ret = generic_close_file(td, f); goto open_again; } } return 0; } #ifndef FALLOC_FL_KEEP_SIZE #define FALLOC_FL_KEEP_SIZE 0x01 /* default is extend size */ #endif #ifndef FALLOC_FL_PUNCH_HOLE #define FALLOC_FL_PUNCH_HOLE 0x02 /* de-allocates range */ #endif static enum fio_q_status fio_fallocate_queue(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; int ret; int flags = 0; fio_ro_check(td, io_u); if (io_u->ddir == DDIR_READ) flags = FALLOC_FL_KEEP_SIZE; else if (io_u->ddir == DDIR_WRITE) flags = 0; else if (io_u->ddir == DDIR_TRIM) flags = FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE; ret = fallocate(f->fd, flags, io_u->offset, io_u->xfer_buflen); if (ret) io_u->error = errno; return FIO_Q_COMPLETED; } static struct ioengine_ops ioengine = { .name = "falloc", .version = FIO_IOOPS_VERSION, .queue = fio_fallocate_queue, .open_file = open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO }; static void fio_init fio_syncio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_syncio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/fileoperations.c000066400000000000000000000225221476262051600170600ustar00rootroot00000000000000/* * file/directory operations engine * * IO engine that doesn't do any IO, just operates files/directories * and tracks the latency of the operation. */ #include #include #include #include #include #include #include #include "../fio.h" #include "../optgroup.h" #include "../oslib/statx.h" enum fio_engine { UNKNOWN_OP_ENGINE = 0, FILE_OP_ENGINE = 1, DIR_OP_ENGINE = 2, }; struct fc_data { enum fio_ddir stat_ddir; enum fio_engine op_engine; }; struct filestat_options { void *pad; unsigned int stat_type; }; enum { FIO_FILESTAT_STAT = 1, FIO_FILESTAT_LSTAT = 2, FIO_FILESTAT_STATX = 3, }; static struct fio_option options[] = { { .name = "stat_type", .lname = "stat_type", .type = FIO_OPT_STR, .off1 = offsetof(struct filestat_options, stat_type), .help = "Specify stat system call type to measure lookup/getattr performance", .def = "stat", .posval = { { .ival = "stat", .oval = FIO_FILESTAT_STAT, .help = "Use stat(2)", }, { .ival = "lstat", .oval = FIO_FILESTAT_LSTAT, .help = "Use lstat(2)", }, { .ival = "statx", .oval = FIO_FILESTAT_STATX, .help = "Use statx(2) if exists", }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_FILESTAT, }, { .name = NULL, }, }; static int setup_dirs(struct thread_data *td) { int ret = 0; int i; struct fio_file *f; for_each_file(td, f, i) { dprint(FD_FILE, "setup directory %s\n", f->file_name); ret = fio_mkdir(f->file_name, 0700); if ((ret && errno != EEXIST)) { log_err("create directory %s failed with %d\n", f->file_name, errno); break; } ret = 0; } return ret; } static int open_file(struct thread_data *td, struct fio_file *f) { struct timespec start; int do_lat = !td->o.disable_lat; struct fc_data *fcd = td->io_ops_data; dprint(FD_FILE, "fd open %s\n", f->file_name); if (f->filetype != FIO_TYPE_FILE) { log_err("fio: only files are supported\n"); return 1; } if (!strcmp(f->file_name, "-")) { log_err("fio: can't read/write to stdin/out\n"); return 1; } if (do_lat) fio_gettime(&start, NULL); if (fcd->op_engine == FILE_OP_ENGINE) f->fd = open(f->file_name, O_CREAT|O_RDWR, 0600); else if (fcd->op_engine == DIR_OP_ENGINE) f->fd = fio_mkdir(f->file_name, S_IFDIR); else { log_err("fio: unknown file/directory operation engine\n"); return 1; } if (f->fd == -1) { char buf[FIO_VERROR_SIZE]; int e = errno; snprintf(buf, sizeof(buf), "open(%s)", f->file_name); td_verror(td, e, buf); return 1; } if (do_lat) { struct fc_data *data = td->io_ops_data; uint64_t nsec; nsec = ntime_since_now(&start); add_clat_sample(td, data->stat_ddir, nsec, 0, NULL); } return 0; } static int stat_file(struct thread_data *td, struct fio_file *f) { struct filestat_options *o = td->eo; struct timespec start; int do_lat = !td->o.disable_lat; struct stat statbuf; #ifndef WIN32 struct statx statxbuf; char *abspath; #endif int ret; dprint(FD_FILE, "fd stat %s\n", f->file_name); if (f->filetype != FIO_TYPE_FILE) { log_err("fio: only files are supported\n"); return 1; } if (!strcmp(f->file_name, "-")) { log_err("fio: can't read/write to stdin/out\n"); return 1; } if (do_lat) fio_gettime(&start, NULL); switch (o->stat_type) { case FIO_FILESTAT_STAT: ret = stat(f->file_name, &statbuf); break; case FIO_FILESTAT_LSTAT: ret = lstat(f->file_name, &statbuf); break; case FIO_FILESTAT_STATX: #ifndef WIN32 abspath = realpath(f->file_name, NULL); if (abspath) { ret = statx(-1, abspath, 0, STATX_ALL, &statxbuf); free(abspath); } else ret = -1; #else ret = -1; #endif break; default: ret = -1; break; } if (ret == -1) { char buf[FIO_VERROR_SIZE]; int e = errno; snprintf(buf, sizeof(buf), "stat(%s) type=%u", f->file_name, o->stat_type); td_verror(td, e, buf); return 1; } if (do_lat) { struct fc_data *data = td->io_ops_data; uint64_t nsec; nsec = ntime_since_now(&start); add_clat_sample(td, data->stat_ddir, nsec, 0, NULL); } return 0; } static int delete_file(struct thread_data *td, struct fio_file *f) { struct timespec start; int do_lat = !td->o.disable_lat; struct fc_data *fcd = td->io_ops_data; int ret; dprint(FD_FILE, "fd delete %s\n", f->file_name); if (f->filetype != FIO_TYPE_FILE) { log_err("fio: only files are supported\n"); return 1; } if (!strcmp(f->file_name, "-")) { log_err("fio: can't read/write to stdin/out\n"); return 1; } if (do_lat) fio_gettime(&start, NULL); if (fcd->op_engine == FILE_OP_ENGINE) ret = unlink(f->file_name); else if (fcd->op_engine == DIR_OP_ENGINE) ret = rmdir(f->file_name); else { log_err("fio: unknown file/directory operation engine\n"); return 1; } if (ret == -1) { char buf[FIO_VERROR_SIZE]; int e = errno; snprintf(buf, sizeof(buf), "delete(%s)", f->file_name); td_verror(td, e, buf); return 1; } if (do_lat) { struct fc_data *data = td->io_ops_data; uint64_t nsec; nsec = ntime_since_now(&start); add_clat_sample(td, data->stat_ddir, nsec, 0, NULL); } return 0; } static int invalidate_do_nothing(struct thread_data *td, struct fio_file *f) { /* do nothing because file not opened */ return 0; } static enum fio_q_status queue_io(struct thread_data *td, struct io_u *io_u) { return FIO_Q_COMPLETED; } /* * Ensure that we at least have a block size worth of IO to do for each * file. If the job file has td->o.size < nr_files * block_size, then * fio won't do anything. */ static int get_file_size(struct thread_data *td, struct fio_file *f) { f->real_file_size = td_min_bs(td); return 0; } static int init(struct thread_data *td) { struct fc_data *data; data = calloc(1, sizeof(*data)); if (td_read(td)) data->stat_ddir = DDIR_READ; else if (td_write(td)) data->stat_ddir = DDIR_WRITE; data->op_engine = UNKNOWN_OP_ENGINE; if (!strncmp(td->o.ioengine, "file", 4)) { data->op_engine = FILE_OP_ENGINE; dprint(FD_FILE, "Operate engine type: file\n"); } if (!strncmp(td->o.ioengine, "dir", 3)) { data->op_engine = DIR_OP_ENGINE; dprint(FD_FILE, "Operate engine type: directory\n"); } td->io_ops_data = data; return 0; } static void cleanup(struct thread_data *td) { struct fc_data *data = td->io_ops_data; free(data); } static int remove_dir(struct thread_data *td, struct fio_file *f) { dprint(FD_FILE, "remove directory %s\n", f->file_name); return rmdir(f->file_name); } static struct ioengine_ops ioengine_filecreate = { .name = "filecreate", .version = FIO_IOOPS_VERSION, .init = init, .cleanup = cleanup, .queue = queue_io, .get_file_size = get_file_size, .open_file = open_file, .close_file = generic_close_file, .flags = FIO_DISKLESSIO | FIO_SYNCIO | FIO_FAKEIO | FIO_NOSTATS | FIO_NOFILEHASH, }; static struct ioengine_ops ioengine_filestat = { .name = "filestat", .version = FIO_IOOPS_VERSION, .init = init, .cleanup = cleanup, .queue = queue_io, .invalidate = invalidate_do_nothing, .get_file_size = generic_get_file_size, .open_file = stat_file, .flags = FIO_SYNCIO | FIO_FAKEIO | FIO_NOSTATS | FIO_NOFILEHASH, .options = options, .option_struct_size = sizeof(struct filestat_options), }; static struct ioengine_ops ioengine_filedelete = { .name = "filedelete", .version = FIO_IOOPS_VERSION, .init = init, .invalidate = invalidate_do_nothing, .cleanup = cleanup, .queue = queue_io, .get_file_size = generic_get_file_size, .open_file = delete_file, .flags = FIO_SYNCIO | FIO_FAKEIO | FIO_NOSTATS | FIO_NOFILEHASH, }; static struct ioengine_ops ioengine_dircreate = { .name = "dircreate", .version = FIO_IOOPS_VERSION, .init = init, .cleanup = cleanup, .queue = queue_io, .get_file_size = get_file_size, .open_file = open_file, .close_file = generic_close_file, .unlink_file = remove_dir, .flags = FIO_DISKLESSIO | FIO_SYNCIO | FIO_FAKEIO | FIO_NOSTATS | FIO_NOFILEHASH, }; static struct ioengine_ops ioengine_dirstat = { .name = "dirstat", .version = FIO_IOOPS_VERSION, .setup = setup_dirs, .init = init, .cleanup = cleanup, .queue = queue_io, .invalidate = invalidate_do_nothing, .get_file_size = generic_get_file_size, .open_file = stat_file, .unlink_file = remove_dir, .flags = FIO_DISKLESSIO | FIO_SYNCIO | FIO_FAKEIO | FIO_NOSTATS | FIO_NOFILEHASH, .options = options, .option_struct_size = sizeof(struct filestat_options), }; static struct ioengine_ops ioengine_dirdelete = { .name = "dirdelete", .version = FIO_IOOPS_VERSION, .setup = setup_dirs, .init = init, .invalidate = invalidate_do_nothing, .cleanup = cleanup, .queue = queue_io, .get_file_size = get_file_size, .open_file = delete_file, .unlink_file = remove_dir, .flags = FIO_DISKLESSIO | FIO_SYNCIO | FIO_FAKEIO | FIO_NOSTATS | FIO_NOFILEHASH, }; static void fio_init fio_fileoperations_register(void) { register_ioengine(&ioengine_filecreate); register_ioengine(&ioengine_filestat); register_ioengine(&ioengine_filedelete); register_ioengine(&ioengine_dircreate); register_ioengine(&ioengine_dirstat); register_ioengine(&ioengine_dirdelete); } static void fio_exit fio_fileoperations_unregister(void) { unregister_ioengine(&ioengine_filecreate); unregister_ioengine(&ioengine_filestat); unregister_ioengine(&ioengine_filedelete); unregister_ioengine(&ioengine_dircreate); unregister_ioengine(&ioengine_dirstat); unregister_ioengine(&ioengine_dirdelete); } fio-3.39/engines/ftruncate.c000066400000000000000000000020271476262051600160260ustar00rootroot00000000000000/* * ftruncate: ioengine for git://git.kernel.dk/fio.git * * IO engine that does regular truncates to simulate data transfer * as fio ioengine. * DDIR_WRITE does ftruncate * */ #include #include #include "../fio.h" static enum fio_q_status fio_ftruncate_queue(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; int ret; fio_ro_check(td, io_u); if (io_u->ddir != DDIR_WRITE) { io_u->error = EINVAL; return FIO_Q_COMPLETED; } ret = ftruncate(f->fd, io_u->offset); if (ret) io_u->error = errno; return FIO_Q_COMPLETED; } static struct ioengine_ops ioengine = { .name = "ftruncate", .version = FIO_IOOPS_VERSION, .queue = fio_ftruncate_queue, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO | FIO_FAKEIO }; static void fio_init fio_syncio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_syncio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/gfapi.h000066400000000000000000000012311476262051600151220ustar00rootroot00000000000000#include #include "../fio.h" struct gf_options { void *pad; char *gf_vol; char *gf_brick; int gf_single_instance; }; struct gf_data { glfs_t *fs; glfs_fd_t *fd; struct io_u **aio_events; }; extern struct fio_option gfapi_options[]; extern int fio_gf_setup(struct thread_data *td); extern void fio_gf_cleanup(struct thread_data *td); extern int fio_gf_get_file_size(struct thread_data *td, struct fio_file *f); extern int fio_gf_open_file(struct thread_data *td, struct fio_file *f); extern int fio_gf_close_file(struct thread_data *td, struct fio_file *f); extern int fio_gf_unlink_file(struct thread_data *td, struct fio_file *f); fio-3.39/engines/glusterfs.c000066400000000000000000000207351476262051600160570ustar00rootroot00000000000000/* * glusterfs engine * * common Glusterfs's gfapi interface * */ #include "gfapi.h" #include "../optgroup.h" struct fio_option gfapi_options[] = { { .name = "volume", .lname = "Glusterfs volume", .type = FIO_OPT_STR_STORE, .help = "Name of the Glusterfs volume", .off1 = offsetof(struct gf_options, gf_vol), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_GFAPI, }, { .name = "brick", .lname = "Glusterfs brick name", .type = FIO_OPT_STR_STORE, .help = "Name of the Glusterfs brick to connect", .off1 = offsetof(struct gf_options, gf_brick), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_GFAPI, }, { .name = "single-instance", .lname = "Single glusterfs instance", .type = FIO_OPT_BOOL, .help = "Only one glusterfs instance", .off1 = offsetof(struct gf_options, gf_single_instance), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_GFAPI, }, { .name = NULL, }, }; struct glfs_info { struct flist_head list; char *volume; char *brick; glfs_t *fs; int refcount; }; static pthread_mutex_t glfs_lock = PTHREAD_MUTEX_INITIALIZER; static FLIST_HEAD(glfs_list_head); static glfs_t *fio_gf_new_fs(char *volume, char *brick) { int r = 0; glfs_t *fs; struct stat sb = { 0, }; fs = glfs_new(volume); if (!fs) { log_err("glfs_new failed.\n"); goto out; } glfs_set_logging(fs, "/tmp/fio_gfapi.log", 7); /* default to tcp */ r = glfs_set_volfile_server(fs, "tcp", brick, 0); if (r) { log_err("glfs_set_volfile_server failed.\n"); goto out; } r = glfs_init(fs); if (r) { log_err("glfs_init failed. Is glusterd running on brick?\n"); goto out; } sleep(2); r = glfs_lstat(fs, ".", &sb); if (r) { log_err("glfs_lstat failed.\n"); goto out; } out: if (r) { glfs_fini(fs); fs = NULL; } return fs; } static glfs_t *fio_gf_get_glfs(struct gf_options *opt, char *volume, char *brick) { struct glfs_info *glfs = NULL; struct glfs_info *tmp; struct flist_head *entry; if (!opt->gf_single_instance) return fio_gf_new_fs(volume, brick); pthread_mutex_lock (&glfs_lock); flist_for_each(entry, &glfs_list_head) { tmp = flist_entry(entry, struct glfs_info, list); if (!strcmp(volume, tmp->volume) && !strcmp(brick, tmp->brick)) { glfs = tmp; break; } } if (glfs) { glfs->refcount++; } else { glfs = malloc(sizeof(*glfs)); if (!glfs) goto out; INIT_FLIST_HEAD(&glfs->list); glfs->refcount = 0; glfs->volume = strdup(volume); glfs->brick = strdup(brick); glfs->fs = fio_gf_new_fs(volume, brick); if (!glfs->fs) { free(glfs); glfs = NULL; goto out; } flist_add_tail(&glfs->list, &glfs_list_head); glfs->refcount = 1; } out: pthread_mutex_unlock (&glfs_lock); if (glfs) return glfs->fs; return NULL; } static void fio_gf_put_glfs(struct gf_options *opt, glfs_t *fs) { struct glfs_info *glfs = NULL; struct glfs_info *tmp; struct flist_head *entry; if (!opt->gf_single_instance) { glfs_fini(fs); return; } pthread_mutex_lock (&glfs_lock); flist_for_each(entry, &glfs_list_head) { tmp = flist_entry(entry, struct glfs_info, list); if (tmp->fs == fs) { glfs = tmp; break; } } if (!glfs) { log_err("glfs not found to fini.\n"); } else { glfs->refcount--; if (glfs->refcount == 0) { glfs_fini(glfs->fs); free(glfs->volume); free(glfs->brick); flist_del(&glfs->list); } } pthread_mutex_unlock (&glfs_lock); } int fio_gf_setup(struct thread_data *td) { struct gf_data *g = NULL; struct gf_options *opt = td->eo; dprint(FD_IO, "fio setup\n"); if (td->io_ops_data) return 0; g = malloc(sizeof(struct gf_data)); if (!g) { log_err("malloc failed.\n"); return -ENOMEM; } g->fd = NULL; g->aio_events = NULL; g->fs = fio_gf_get_glfs(opt, opt->gf_vol, opt->gf_brick); if (!g->fs) goto cleanup; dprint(FD_FILE, "fio setup %p\n", g->fs); td->io_ops_data = g; return 0; cleanup: free(g); td->io_ops_data = NULL; return -EIO; } void fio_gf_cleanup(struct thread_data *td) { struct gf_data *g = td->io_ops_data; if (g) { if (g->aio_events) free(g->aio_events); if (g->fd) glfs_close(g->fd); if (g->fs) fio_gf_put_glfs(td->eo, g->fs); free(g); td->io_ops_data = NULL; } } int fio_gf_get_file_size(struct thread_data *td, struct fio_file *f) { struct stat buf; int ret; struct gf_data *g = td->io_ops_data; dprint(FD_FILE, "get file size %s\n", f->file_name); if (!g || !g->fs) { return 0; } if (fio_file_size_known(f)) return 0; ret = glfs_lstat(g->fs, f->file_name, &buf); if (ret < 0) { log_err("glfs_lstat failed.\n"); return ret; } f->real_file_size = buf.st_size; fio_file_set_size_known(f); return 0; } int fio_gf_open_file(struct thread_data *td, struct fio_file *f) { int flags = 0; int ret = 0; struct gf_data *g = td->io_ops_data; struct stat sb = { 0, }; if (td_write(td)) { if (!read_only) flags = O_RDWR; } else if (td_read(td)) { if (!read_only) flags = O_RDWR; else flags = O_RDONLY; } if (td->o.odirect) flags |= OS_O_DIRECT; flags |= td->o.sync_io; dprint(FD_FILE, "fio file %s open mode %s td rw %s\n", f->file_name, flags & O_RDONLY ? "ro" : "rw", td_read(td) ? "read" : "write"); g->fd = glfs_creat(g->fs, f->file_name, flags, 0644); if (!g->fd) { ret = errno; log_err("glfs_creat failed.\n"); return ret; } /* file for read doesn't exist or shorter than required, create/extend it */ if (td_read(td)) { if (glfs_lstat(g->fs, f->file_name, &sb) || sb.st_size < f->real_file_size) { dprint(FD_FILE, "fio extend file %s from %jd to %" PRIu64 "\n", f->file_name, (intmax_t) sb.st_size, f->real_file_size); #if defined(CONFIG_GF_NEW_API) ret = glfs_ftruncate(g->fd, f->real_file_size, NULL, NULL); #else ret = glfs_ftruncate(g->fd, f->real_file_size); #endif if (ret) { log_err("failed fio extend file %s to %" PRIu64 "\n", f->file_name, f->real_file_size); } else { unsigned long long left; unsigned int bs; char *b; int r; /* fill the file, copied from extend_file */ b = malloc(td->o.max_bs[DDIR_WRITE]); left = f->real_file_size; while (left && !td->terminate) { bs = td->o.max_bs[DDIR_WRITE]; if (bs > left) bs = left; fill_io_buffer(td, b, bs, bs); r = glfs_write(g->fd, b, bs, 0); dprint(FD_IO, "fio write %d of %" PRIu64 " file %s\n", r, f->real_file_size, f->file_name); if (r > 0) { left -= r; continue; } else { if (r < 0) { int __e = errno; if (__e == ENOSPC) { if (td->o. fill_device) break; log_info ("fio: ENOSPC on laying out " "file, stopping\n"); break; } td_verror(td, errno, "write"); } else td_verror(td, EIO, "write"); break; } } if (b) free(b); glfs_lseek(g->fd, 0, SEEK_SET); if (td->terminate && td->o.unlink) { dprint(FD_FILE, "terminate unlink %s\n", f->file_name); glfs_unlink(g->fs, f->file_name); } else if (td->o.create_fsync) { #if defined(CONFIG_GF_NEW_API) if (glfs_fsync(g->fd, NULL, NULL) < 0) { #else if (glfs_fsync(g->fd) < 0) { #endif dprint(FD_FILE, "failed to sync, close %s\n", f->file_name); td_verror(td, errno, "fsync"); glfs_close(g->fd); g->fd = NULL; return 1; } } } } } #if defined(GFAPI_USE_FADVISE) { int r = 0; if (td_random(td)) { r = glfs_fadvise(g->fd, 0, f->real_file_size, POSIX_FADV_RANDOM); } else { r = glfs_fadvise(g->fd, 0, f->real_file_size, POSIX_FADV_SEQUENTIAL); } if (r) { dprint(FD_FILE, "fio %p fadvise %s status %d\n", g->fs, f->file_name, r); } } #endif dprint(FD_FILE, "fio %p created %s\n", g->fs, f->file_name); f->fd = -1; f->shadow_fd = -1; td->o.open_files ++; return ret; } int fio_gf_close_file(struct thread_data *td, struct fio_file *f) { int ret = 0; struct gf_data *g = td->io_ops_data; dprint(FD_FILE, "fd close %s\n", f->file_name); if (g) { if (g->fd && glfs_close(g->fd) < 0) ret = errno; g->fd = NULL; } return ret; } int fio_gf_unlink_file(struct thread_data *td, struct fio_file *f) { int ret = 0; struct gf_data *g = td->io_ops_data; dprint(FD_FILE, "fd unlink %s\n", f->file_name); if (g) { if (g->fd && glfs_close(g->fd) < 0) ret = errno; glfs_unlink(g->fs, f->file_name); if (g->fs) glfs_fini(g->fs); g->fd = NULL; free(g); } td->io_ops_data = NULL; return ret; } fio-3.39/engines/glusterfs_async.c000066400000000000000000000102071476262051600172450ustar00rootroot00000000000000/* * glusterfs engine * * IO engine using Glusterfs's gfapi async interface * */ #include "gfapi.h" #define NOT_YET 1 struct fio_gf_iou { struct io_u *io_u; int io_complete; }; static struct io_u *fio_gf_event(struct thread_data *td, int event) { struct gf_data *gf_data = td->io_ops_data; dprint(FD_IO, "%s\n", __FUNCTION__); return gf_data->aio_events[event]; } static int fio_gf_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct gf_data *g = td->io_ops_data; unsigned int events = 0; struct io_u *io_u; int i; dprint(FD_IO, "%s\n", __FUNCTION__); do { io_u_qiter(&td->io_u_all, io_u, i) { struct fio_gf_iou *io; if (!(io_u->flags & IO_U_F_FLIGHT)) continue; io = io_u->engine_data; if (io->io_complete) { io->io_complete = 0; g->aio_events[events] = io_u; events++; if (events >= max) break; } } if (events < min) usleep(100); else break; } while (1); return events; } static void fio_gf_io_u_free(struct thread_data *td, struct io_u *io_u) { struct fio_gf_iou *io = io_u->engine_data; if (io) { if (io->io_complete) log_err("incomplete IO found.\n"); io_u->engine_data = NULL; free(io); } } static int fio_gf_io_u_init(struct thread_data *td, struct io_u *io_u) { struct fio_gf_iou *io; dprint(FD_FILE, "%s\n", __FUNCTION__); io = malloc(sizeof(struct fio_gf_iou)); if (!io) { td_verror(td, errno, "malloc"); return 1; } io->io_complete = 0; io->io_u = io_u; io_u->engine_data = io; return 0; } #if defined(CONFIG_GF_NEW_API) static void gf_async_cb(glfs_fd_t * fd, ssize_t ret, struct glfs_stat *prestat, struct glfs_stat *poststat, void *data) #else static void gf_async_cb(glfs_fd_t * fd, ssize_t ret, void *data) #endif { struct io_u *io_u = data; struct fio_gf_iou *iou = io_u->engine_data; dprint(FD_IO, "%s ret %zd\n", __FUNCTION__, ret); iou->io_complete = 1; } static enum fio_q_status fio_gf_async_queue(struct thread_data fio_unused * td, struct io_u *io_u) { struct gf_data *g = td->io_ops_data; int r; dprint(FD_IO, "%s op %s\n", __FUNCTION__, io_ddir_name(io_u->ddir)); fio_ro_check(td, io_u); if (io_u->ddir == DDIR_READ) r = glfs_pread_async(g->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset, 0, gf_async_cb, io_u); else if (io_u->ddir == DDIR_WRITE) r = glfs_pwrite_async(g->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset, 0, gf_async_cb, io_u); #if defined(CONFIG_GF_TRIM) else if (io_u->ddir == DDIR_TRIM) r = glfs_discard_async(g->fd, io_u->offset, io_u->xfer_buflen, gf_async_cb, io_u); #endif else if (io_u->ddir == DDIR_DATASYNC) r = glfs_fdatasync_async(g->fd, gf_async_cb, io_u); else if (io_u->ddir == DDIR_SYNC) r = glfs_fsync_async(g->fd, gf_async_cb, io_u); else r = EINVAL; if (r) { log_err("glfs queue failed.\n"); io_u->error = r; goto failed; } return FIO_Q_QUEUED; failed: io_u->error = r; td_verror(td, io_u->error, "xfer"); return FIO_Q_COMPLETED; } static int fio_gf_async_setup(struct thread_data *td) { struct gf_data *g; int r; #if defined(NOT_YET) log_err("the async interface is still very experimental...\n"); #endif r = fio_gf_setup(td); if (r) return r; td->o.use_thread = 1; g = td->io_ops_data; g->aio_events = calloc(td->o.iodepth, sizeof(struct io_u *)); if (!g->aio_events) { r = -ENOMEM; fio_gf_cleanup(td); return r; } return r; } static struct ioengine_ops ioengine = { .name = "gfapi_async", .version = FIO_IOOPS_VERSION, .init = fio_gf_async_setup, .cleanup = fio_gf_cleanup, .queue = fio_gf_async_queue, .open_file = fio_gf_open_file, .close_file = fio_gf_close_file, .unlink_file = fio_gf_unlink_file, .get_file_size = fio_gf_get_file_size, .getevents = fio_gf_getevents, .event = fio_gf_event, .io_u_init = fio_gf_io_u_init, .io_u_free = fio_gf_io_u_free, .options = gfapi_options, .option_struct_size = sizeof(struct gf_options), .flags = FIO_DISKLESSIO, }; static void fio_init fio_gf_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_gf_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/glusterfs_sync.c000066400000000000000000000046101476262051600171050ustar00rootroot00000000000000/* * glusterfs engine * * IO engine using Glusterfs's gfapi sync interface * */ #include "gfapi.h" #define LAST_POS(f) ((f)->engine_pos) static int fio_gf_prep(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct gf_data *g = td->io_ops_data; dprint(FD_FILE, "fio prep\n"); if (!ddir_rw(io_u->ddir)) return 0; if (LAST_POS(f) != -1ULL && LAST_POS(f) == io_u->offset) return 0; if (glfs_lseek(g->fd, io_u->offset, SEEK_SET) < 0) { td_verror(td, errno, "lseek"); return 1; } return 0; } static enum fio_q_status fio_gf_queue(struct thread_data *td, struct io_u *io_u) { struct gf_data *g = td->io_ops_data; int ret = 0; dprint(FD_FILE, "fio queue len %llu\n", io_u->xfer_buflen); fio_ro_check(td, io_u); if (io_u->ddir == DDIR_READ) ret = glfs_read(g->fd, io_u->xfer_buf, io_u->xfer_buflen, 0); else if (io_u->ddir == DDIR_WRITE) ret = glfs_write(g->fd, io_u->xfer_buf, io_u->xfer_buflen, 0); else if (io_u->ddir == DDIR_SYNC) #if defined(CONFIG_GF_NEW_API) ret = glfs_fsync(g->fd, NULL, NULL); #else ret = glfs_fsync(g->fd); #endif else if (io_u->ddir == DDIR_DATASYNC) #if defined(CONFIG_GF_NEW_API) ret = glfs_fdatasync(g->fd, NULL, NULL); #else ret = glfs_fdatasync(g->fd); #endif else { log_err("unsupported operation.\n"); io_u->error = EINVAL; return FIO_Q_COMPLETED; } dprint(FD_FILE, "fio len %llu ret %d\n", io_u->xfer_buflen, ret); if (io_u->file && ret >= 0 && ddir_rw(io_u->ddir)) LAST_POS(io_u->file) = io_u->offset + ret; if (ret != (int)io_u->xfer_buflen) { if (ret >= 0) { io_u->resid = io_u->xfer_buflen - ret; io_u->error = 0; return FIO_Q_COMPLETED; } else io_u->error = errno; } if (io_u->error) { log_err("IO failed.\n"); td_verror(td, io_u->error, "xfer"); } return FIO_Q_COMPLETED; } static struct ioengine_ops ioengine = { .name = "gfapi", .version = FIO_IOOPS_VERSION, .init = fio_gf_setup, .cleanup = fio_gf_cleanup, .prep = fio_gf_prep, .queue = fio_gf_queue, .open_file = fio_gf_open_file, .close_file = fio_gf_close_file, .unlink_file = fio_gf_unlink_file, .get_file_size = fio_gf_get_file_size, .options = gfapi_options, .option_struct_size = sizeof(struct gf_options), .flags = FIO_SYNCIO | FIO_DISKLESSIO, }; static void fio_init fio_gf_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_gf_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/http.c000066400000000000000000000532471476262051600150240ustar00rootroot00000000000000/* * HTTP GET/PUT IO engine * * IO engine to perform HTTP(S) GET/PUT requests via libcurl-easy. * * Copyright (C) 2018 SUSE LLC * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License, * version 2 as published by the Free Software Foundation.. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the Free * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include #include #include #include #include #include #include "fio.h" #include "../optgroup.h" /* * Silence OpenSSL 3.0 deprecated function warnings */ #pragma GCC diagnostic ignored "-Wdeprecated-declarations" enum { FIO_HTTP_WEBDAV = 0, FIO_HTTP_S3 = 1, FIO_HTTP_SWIFT = 2, FIO_HTTPS_OFF = 0, FIO_HTTPS_ON = 1, FIO_HTTPS_INSECURE = 2, }; struct http_data { CURL *curl; }; struct http_options { void *pad; unsigned int https; char *host; char *user; char *pass; char *s3_key; char *s3_keyid; char *s3_region; char *s3_sse_customer_key; char *s3_sse_customer_algorithm; char *s3_storage_class; char *swift_auth_token; int verbose; unsigned int mode; }; struct http_curl_stream { char *buf; size_t pos; size_t max; }; static struct fio_option options[] = { { .name = "https", .lname = "https", .type = FIO_OPT_STR, .help = "Enable https", .off1 = offsetof(struct http_options, https), .def = "off", .posval = { { .ival = "off", .oval = FIO_HTTPS_OFF, .help = "No HTTPS", }, { .ival = "on", .oval = FIO_HTTPS_ON, .help = "Enable HTTPS", }, { .ival = "insecure", .oval = FIO_HTTPS_INSECURE, .help = "Enable HTTPS, disable peer verification", }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_host", .lname = "http_host", .type = FIO_OPT_STR_STORE, .help = "Hostname (S3 bucket)", .off1 = offsetof(struct http_options, host), .def = "localhost", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_user", .lname = "http_user", .type = FIO_OPT_STR_STORE, .help = "HTTP user name", .off1 = offsetof(struct http_options, user), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_pass", .lname = "http_pass", .type = FIO_OPT_STR_STORE, .help = "HTTP password", .off1 = offsetof(struct http_options, pass), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_s3_key", .lname = "S3 secret key", .type = FIO_OPT_STR_STORE, .help = "S3 secret key", .off1 = offsetof(struct http_options, s3_key), .def = "", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_s3_keyid", .lname = "S3 key id", .type = FIO_OPT_STR_STORE, .help = "S3 key id", .off1 = offsetof(struct http_options, s3_keyid), .def = "", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_swift_auth_token", .lname = "Swift auth token", .type = FIO_OPT_STR_STORE, .help = "OpenStack Swift auth token", .off1 = offsetof(struct http_options, swift_auth_token), .def = "", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_s3_region", .lname = "S3 region", .type = FIO_OPT_STR_STORE, .help = "S3 region", .off1 = offsetof(struct http_options, s3_region), .def = "us-east-1", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_s3_sse_customer_key", .lname = "SSE Customer Key", .type = FIO_OPT_STR_STORE, .help = "S3 SSE Customer Key", .off1 = offsetof(struct http_options, s3_sse_customer_key), .def = "", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_s3_sse_customer_algorithm", .lname = "SSE Customer Algorithm", .type = FIO_OPT_STR_STORE, .help = "S3 SSE Customer Algorithm", .off1 = offsetof(struct http_options, s3_sse_customer_algorithm), .def = "AES256", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_s3_storage_class", .lname = "S3 Storage class", .type = FIO_OPT_STR_STORE, .help = "S3 Storage Class", .off1 = offsetof(struct http_options, s3_storage_class), .def = "STANDARD", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_mode", .lname = "Request mode to use", .type = FIO_OPT_STR, .help = "Whether to use WebDAV, Swift, or S3", .off1 = offsetof(struct http_options, mode), .def = "webdav", .posval = { { .ival = "webdav", .oval = FIO_HTTP_WEBDAV, .help = "WebDAV server", }, { .ival = "s3", .oval = FIO_HTTP_S3, .help = "S3 storage backend", }, { .ival = "swift", .oval = FIO_HTTP_SWIFT, .help = "OpenStack Swift storage", }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = "http_verbose", .lname = "HTTP verbosity level", .type = FIO_OPT_INT, .help = "increase http engine verbosity", .off1 = offsetof(struct http_options, verbose), .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HTTP, }, { .name = NULL, }, }; static char *_aws_uriencode(const char *uri) { size_t bufsize = 1024; char *r = malloc(bufsize); char c; int i, n; const char *hex = "0123456789ABCDEF"; if (!r) { log_err("malloc failed\n"); return NULL; } n = 0; for (i = 0; (c = uri[i]); i++) { if (n > bufsize-5) { log_err("encoding the URL failed\n"); free(r); return NULL; } if ( (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c == '_' || c == '-' || c == '~' || c == '.' || c == '/') r[n++] = c; else { r[n++] = '%'; r[n++] = hex[(c >> 4 ) & 0xF]; r[n++] = hex[c & 0xF]; } } r[n++] = 0; return r; } static char *_conv_hex(const unsigned char *p, size_t len) { char *r; int i,n; const char *hex = "0123456789abcdef"; r = malloc(len * 2 + 1); n = 0; for (i = 0; i < len; i++) { r[n++] = hex[(p[i] >> 4 ) & 0xF]; r[n++] = hex[p[i] & 0xF]; } r[n] = 0; return r; } static char *_gen_hex_sha256(const char *p, size_t len) { unsigned char hash[SHA256_DIGEST_LENGTH]; SHA256((unsigned char*)p, len, hash); return _conv_hex(hash, SHA256_DIGEST_LENGTH); } static char *_gen_hex_md5(const char *p, size_t len) { unsigned char hash[MD5_DIGEST_LENGTH]; MD5((unsigned char*)p, len, hash); return _conv_hex(hash, MD5_DIGEST_LENGTH); } static char *_conv_base64_encode(const unsigned char *p, size_t len) { char *r, *ret; int i; static const char sEncodingTable[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/' }; size_t out_len = 4 * ((len + 2) / 3); ret = r = malloc(out_len + 1); for (i = 0; i < len - 2; i += 3) { *r++ = sEncodingTable[(p[i] >> 2) & 0x3F]; *r++ = sEncodingTable[((p[i] & 0x3) << 4) | ((int) (p[i + 1] & 0xF0) >> 4)]; *r++ = sEncodingTable[((p[i + 1] & 0xF) << 2) | ((int) (p[i + 2] & 0xC0) >> 6)]; *r++ = sEncodingTable[p[i + 2] & 0x3F]; } if (i < len) { *r++ = sEncodingTable[(p[i] >> 2) & 0x3F]; if (i == (len - 1)) { *r++ = sEncodingTable[((p[i] & 0x3) << 4)]; *r++ = '='; } else { *r++ = sEncodingTable[((p[i] & 0x3) << 4) | ((int) (p[i + 1] & 0xF0) >> 4)]; *r++ = sEncodingTable[((p[i + 1] & 0xF) << 2)]; } *r++ = '='; } ret[out_len]=0; return ret; } static char *_gen_base64_md5(const unsigned char *p, size_t len) { unsigned char hash[MD5_DIGEST_LENGTH]; MD5((unsigned char*)p, len, hash); return _conv_base64_encode(hash, MD5_DIGEST_LENGTH); } static void _hmac(unsigned char *md, void *key, int key_len, char *data) { #ifndef CONFIG_HAVE_OPAQUE_HMAC_CTX HMAC_CTX _ctx; #endif HMAC_CTX *ctx; unsigned int hmac_len; #ifdef CONFIG_HAVE_OPAQUE_HMAC_CTX ctx = HMAC_CTX_new(); #else ctx = &_ctx; /* work-around crash in certain versions of libssl */ HMAC_CTX_init(ctx); #endif HMAC_Init_ex(ctx, key, key_len, EVP_sha256(), NULL); HMAC_Update(ctx, (unsigned char*)data, strlen(data)); HMAC_Final(ctx, md, &hmac_len); #ifdef CONFIG_HAVE_OPAQUE_HMAC_CTX HMAC_CTX_free(ctx); #else HMAC_CTX_cleanup(ctx); #endif } static int _curl_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { const char *text; (void)handle; /* prevent compiler warning */ (void)userp; switch (type) { case CURLINFO_TEXT: fprintf(stderr, "== Info: %s", data); fio_fallthrough; default: case CURLINFO_SSL_DATA_OUT: case CURLINFO_SSL_DATA_IN: return 0; case CURLINFO_HEADER_OUT: text = "=> Send header"; break; case CURLINFO_DATA_OUT: text = "=> Send data"; break; case CURLINFO_HEADER_IN: text = "<= Recv header"; break; case CURLINFO_DATA_IN: text = "<= Recv data"; break; } log_info("%s: %s", text, data); return 0; } /* https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html * https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html#signing-request-intro */ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct http_options *o, int op, const char *uri, char *buf, size_t len) { char date_short[16]; char date_iso[32]; char method[8]; char dkey[128]; char creq[4096]; char sts[512]; char s[512]; char *uri_encoded = NULL; char *dsha = NULL; char *csha = NULL; char *signature = NULL; const char *service = "s3"; const char *aws = "aws4_request"; unsigned char md[SHA256_DIGEST_LENGTH]; unsigned char sse_key[33] = {0}; char *sse_key_base64 = NULL; char *sse_key_md5_base64 = NULL; time_t t = time(NULL); struct tm *gtm = gmtime(&t); strftime (date_short, sizeof(date_short), "%Y%m%d", gtm); strftime (date_iso, sizeof(date_iso), "%Y%m%dT%H%M%SZ", gtm); uri_encoded = _aws_uriencode(uri); if (o->s3_sse_customer_key != NULL) strncpy((char*)sse_key, o->s3_sse_customer_key, sizeof(sse_key) - 1); if (op == DDIR_WRITE) { dsha = _gen_hex_sha256(buf, len); sprintf(method, "PUT"); } else { /* DDIR_READ && DDIR_TRIM supply an empty body */ if (op == DDIR_READ) sprintf(method, "GET"); else sprintf(method, "DELETE"); dsha = _gen_hex_sha256("", 0); } /* Create the canonical request first */ if (sse_key[0] != '\0') { sse_key_base64 = _conv_base64_encode(sse_key, sizeof(sse_key) - 1); sse_key_md5_base64 = _gen_base64_md5(sse_key, sizeof(sse_key) - 1); snprintf(creq, sizeof(creq), "%s\n" "%s\n" "\n" "host:%s\n" "x-amz-content-sha256:%s\n" "x-amz-date:%s\n" "x-amz-server-side-encryption-customer-algorithm:%s\n" "x-amz-server-side-encryption-customer-key:%s\n" "x-amz-server-side-encryption-customer-key-md5:%s\n" "x-amz-storage-class:%s\n" "\n" "host;x-amz-content-sha256;x-amz-date;" "x-amz-server-side-encryption-customer-algorithm;" "x-amz-server-side-encryption-customer-key;" "x-amz-server-side-encryption-customer-key-md5;" "x-amz-storage-class\n" "%s" , method , uri_encoded, o->host, dsha, date_iso , o->s3_sse_customer_algorithm, sse_key_base64 , sse_key_md5_base64, o->s3_storage_class, dsha); } else { snprintf(creq, sizeof(creq), "%s\n" "%s\n" "\n" "host:%s\n" "x-amz-content-sha256:%s\n" "x-amz-date:%s\n" "x-amz-storage-class:%s\n" "\n" "host;x-amz-content-sha256;x-amz-date;x-amz-storage-class\n" "%s" , method , uri_encoded, o->host, dsha, date_iso, o->s3_storage_class, dsha); } csha = _gen_hex_sha256(creq, strlen(creq)); snprintf(sts, sizeof(sts), "AWS4-HMAC-SHA256\n%s\n%s/%s/%s/%s\n%s", date_iso, date_short, o->s3_region, service, aws, csha); snprintf((char *)dkey, sizeof(dkey), "AWS4%s", o->s3_key); _hmac(md, dkey, strlen(dkey), date_short); _hmac(md, md, SHA256_DIGEST_LENGTH, o->s3_region); _hmac(md, md, SHA256_DIGEST_LENGTH, (char*) service); _hmac(md, md, SHA256_DIGEST_LENGTH, (char*) aws); _hmac(md, md, SHA256_DIGEST_LENGTH, sts); signature = _conv_hex(md, SHA256_DIGEST_LENGTH); /* Suppress automatic Accept: header */ slist = curl_slist_append(slist, "Accept:"); snprintf(s, sizeof(s), "x-amz-content-sha256: %s", dsha); slist = curl_slist_append(slist, s); snprintf(s, sizeof(s), "x-amz-date: %s", date_iso); slist = curl_slist_append(slist, s); if (sse_key[0] != '\0') { snprintf(s, sizeof(s), "x-amz-server-side-encryption-customer-algorithm: %s", o->s3_sse_customer_algorithm); slist = curl_slist_append(slist, s); snprintf(s, sizeof(s), "x-amz-server-side-encryption-customer-key: %s", sse_key_base64); slist = curl_slist_append(slist, s); snprintf(s, sizeof(s), "x-amz-server-side-encryption-customer-key-md5: %s", sse_key_md5_base64); slist = curl_slist_append(slist, s); } snprintf(s, sizeof(s), "x-amz-storage-class: %s", o->s3_storage_class); slist = curl_slist_append(slist, s); if (sse_key[0] != '\0') { snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request," "SignedHeaders=host;x-amz-content-sha256;" "x-amz-date;x-amz-server-side-encryption-customer-algorithm;" "x-amz-server-side-encryption-customer-key;" "x-amz-server-side-encryption-customer-key-md5;" "x-amz-storage-class," "Signature=%s", o->s3_keyid, date_short, o->s3_region, signature); } else { snprintf(s, sizeof(s), "Authorization: AWS4-HMAC-SHA256 Credential=%s/%s/%s/s3/aws4_request," "SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-storage-class,Signature=%s", o->s3_keyid, date_short, o->s3_region, signature); } slist = curl_slist_append(slist, s); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist); free(uri_encoded); free(csha); free(dsha); free(signature); if (sse_key_base64 != NULL) { free(sse_key_base64); free(sse_key_md5_base64); } } static void _add_swift_header(CURL *curl, struct curl_slist *slist, struct http_options *o, int op, const char *uri, char *buf, size_t len) { char *dsha = NULL; char s[512]; if (op == DDIR_WRITE) { dsha = _gen_hex_md5(buf, len); } /* Suppress automatic Accept: header */ slist = curl_slist_append(slist, "Accept:"); snprintf(s, sizeof(s), "etag: %s", dsha); slist = curl_slist_append(slist, s); snprintf(s, sizeof(s), "x-auth-token: %s", o->swift_auth_token); slist = curl_slist_append(slist, s); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist); free(dsha); } static void fio_http_cleanup(struct thread_data *td) { struct http_data *http = td->io_ops_data; if (http) { curl_easy_cleanup(http->curl); free(http); } } static size_t _http_read(void *ptr, size_t size, size_t nmemb, void *stream) { struct http_curl_stream *state = stream; size_t len = size * nmemb; /* We're retrieving; nothing is supposed to be read locally */ if (!stream) return 0; if (len+state->pos > state->max) len = state->max - state->pos; memcpy(ptr, &state->buf[state->pos], len); state->pos += len; return len; } static size_t _http_write(void *ptr, size_t size, size_t nmemb, void *stream) { struct http_curl_stream *state = stream; /* We're just discarding the returned body after a PUT */ if (!stream) return nmemb; if (size != 1) return CURLE_WRITE_ERROR; if (nmemb + state->pos > state->max) return CURLE_WRITE_ERROR; memcpy(&state->buf[state->pos], ptr, nmemb); state->pos += nmemb; return nmemb; } static int _http_seek(void *stream, curl_off_t offset, int origin) { struct http_curl_stream *state = stream; if (offset < state->max && origin == SEEK_SET) { state->pos = offset; return CURL_SEEKFUNC_OK; } else return CURL_SEEKFUNC_FAIL; } static enum fio_q_status fio_http_queue(struct thread_data *td, struct io_u *io_u) { struct http_data *http = td->io_ops_data; struct http_options *o = td->eo; struct http_curl_stream _curl_stream; struct curl_slist *slist = NULL; char object[512]; char url[1024]; long status; CURLcode res; fio_ro_check(td, io_u); memset(&_curl_stream, 0, sizeof(_curl_stream)); snprintf(object, sizeof(object), "%s_%llu_%llu", td->files[0]->file_name, io_u->offset, io_u->xfer_buflen); if (o->https == FIO_HTTPS_OFF) snprintf(url, sizeof(url), "http://%s%s", o->host, object); else snprintf(url, sizeof(url), "https://%s%s", o->host, object); curl_easy_setopt(http->curl, CURLOPT_URL, url); _curl_stream.buf = io_u->xfer_buf; _curl_stream.max = io_u->xfer_buflen; curl_easy_setopt(http->curl, CURLOPT_SEEKDATA, &_curl_stream); curl_easy_setopt(http->curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)io_u->xfer_buflen); if (o->mode == FIO_HTTP_S3) _add_aws_auth_header(http->curl, slist, o, io_u->ddir, object, io_u->xfer_buf, io_u->xfer_buflen); else if (o->mode == FIO_HTTP_SWIFT) _add_swift_header(http->curl, slist, o, io_u->ddir, object, io_u->xfer_buf, io_u->xfer_buflen); if (io_u->ddir == DDIR_WRITE) { curl_easy_setopt(http->curl, CURLOPT_READDATA, &_curl_stream); curl_easy_setopt(http->curl, CURLOPT_WRITEDATA, NULL); curl_easy_setopt(http->curl, CURLOPT_UPLOAD, 1L); res = curl_easy_perform(http->curl); if (res == CURLE_OK) { curl_easy_getinfo(http->curl, CURLINFO_RESPONSE_CODE, &status); if (status == 100 || (status >= 200 && status <= 204)) goto out; log_err("DDIR_WRITE failed with HTTP status code %ld\n", status); } goto err; } else if (io_u->ddir == DDIR_READ) { curl_easy_setopt(http->curl, CURLOPT_READDATA, NULL); curl_easy_setopt(http->curl, CURLOPT_WRITEDATA, &_curl_stream); curl_easy_setopt(http->curl, CURLOPT_HTTPGET, 1L); res = curl_easy_perform(http->curl); if (res == CURLE_OK) { curl_easy_getinfo(http->curl, CURLINFO_RESPONSE_CODE, &status); if (status == 200) goto out; else if (status == 404) { /* Object doesn't exist. Pretend we read * zeroes */ memset(io_u->xfer_buf, 0, io_u->xfer_buflen); goto out; } log_err("DDIR_READ failed with HTTP status code %ld\n", status); } goto err; } else if (io_u->ddir == DDIR_TRIM) { curl_easy_setopt(http->curl, CURLOPT_HTTPGET, 1L); curl_easy_setopt(http->curl, CURLOPT_CUSTOMREQUEST, "DELETE"); curl_easy_setopt(http->curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)0); curl_easy_setopt(http->curl, CURLOPT_READDATA, NULL); curl_easy_setopt(http->curl, CURLOPT_WRITEDATA, NULL); res = curl_easy_perform(http->curl); if (res == CURLE_OK) { curl_easy_getinfo(http->curl, CURLINFO_RESPONSE_CODE, &status); if (status == 200 || status == 202 || status == 204 || status == 404) goto out; log_err("DDIR_TRIM failed with HTTP status code %ld\n", status); } goto err; } log_err("WARNING: Only DDIR_READ/DDIR_WRITE/DDIR_TRIM are supported!\n"); err: io_u->error = EIO; td_verror(td, io_u->error, "transfer"); out: curl_slist_free_all(slist); return FIO_Q_COMPLETED; } static struct io_u *fio_http_event(struct thread_data *td, int event) { /* sync IO engine - never any outstanding events */ return NULL; } int fio_http_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { /* sync IO engine - never any outstanding events */ return 0; } static int fio_http_setup(struct thread_data *td) { struct http_data *http = NULL; struct http_options *o = td->eo; /* allocate engine specific structure to deal with libhttp. */ http = calloc(1, sizeof(*http)); if (!http) { log_err("calloc failed.\n"); goto cleanup; } http->curl = curl_easy_init(); if (o->verbose) curl_easy_setopt(http->curl, CURLOPT_VERBOSE, 1L); if (o->verbose > 1) curl_easy_setopt(http->curl, CURLOPT_DEBUGFUNCTION, &_curl_trace); curl_easy_setopt(http->curl, CURLOPT_NOPROGRESS, 1L); curl_easy_setopt(http->curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(http->curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS); if (o->https == FIO_HTTPS_INSECURE) { curl_easy_setopt(http->curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(http->curl, CURLOPT_SSL_VERIFYHOST, 0L); } curl_easy_setopt(http->curl, CURLOPT_READFUNCTION, _http_read); curl_easy_setopt(http->curl, CURLOPT_WRITEFUNCTION, _http_write); curl_easy_setopt(http->curl, CURLOPT_SEEKFUNCTION, &_http_seek); if (o->user && o->pass) { curl_easy_setopt(http->curl, CURLOPT_USERNAME, o->user); curl_easy_setopt(http->curl, CURLOPT_PASSWORD, o->pass); curl_easy_setopt(http->curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); } td->io_ops_data = http; /* Force single process mode. */ td->o.use_thread = 1; return 0; cleanup: fio_http_cleanup(td); return 1; } static int fio_http_open(struct thread_data *td, struct fio_file *f) { return 0; } static int fio_http_invalidate(struct thread_data *td, struct fio_file *f) { return 0; } FIO_STATIC struct ioengine_ops ioengine = { .name = "http", .version = FIO_IOOPS_VERSION, .flags = FIO_DISKLESSIO | FIO_SYNCIO, .setup = fio_http_setup, .queue = fio_http_queue, .getevents = fio_http_getevents, .event = fio_http_event, .cleanup = fio_http_cleanup, .open_file = fio_http_open, .invalidate = fio_http_invalidate, .options = options, .option_struct_size = sizeof(struct http_options), }; static void fio_init fio_http_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_http_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/ime.c000066400000000000000000000604421476262051600146120ustar00rootroot00000000000000/* * FIO engines for DDN's Infinite Memory Engine. * This file defines 3 engines: ime_psync, ime_psyncv, and ime_aio * * Copyright (C) 2018 DataDirect Networks. All rights reserved. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License, * version 2 as published by the Free Software Foundation.. * * 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. */ /* * Some details about the new engines are given below: * * * ime_psync: * Most basic engine that issues calls to ime_native whenever an IO is queued. * * ime_psyncv: * This engine tries to queue the IOs (by creating iovecs) if asked by FIO (via * iodepth_batch). It refuses to queue when the iovecs can't be appended, and * waits for FIO to issue a commit. After a call to commit and get_events, new * IOs can be queued. * * ime_aio: * This engine tries to queue the IOs (by creating iovecs) if asked by FIO (via * iodepth_batch). When the iovecs can't be appended to the current request, a * new request for IME is created. These requests will be issued to IME when * commit is called. Contrary to ime_psyncv, there can be several requests at * once. We don't need to wait for a request to terminate before creating a new * one. */ #include #include #include #include #include #include "../fio.h" /************************************************************** * Types and constants definitions * **************************************************************/ /* define constants for async IOs */ #define FIO_IME_IN_PROGRESS -1 #define FIO_IME_REQ_ERROR -2 /* This flag is used when some jobs were created using threads. In that case, IME can't be finalized in the engine-specific cleanup function, because other threads might still use IME. Instead, IME is finalized in the destructor (see fio_ime_unregister), only when the flag fio_ime_is_initialized is true (which means at least one thread has initialized IME). */ static bool fio_ime_is_initialized = false; struct imesio_req { int fd; /* File descriptor */ enum fio_ddir ddir; /* Type of IO (read or write) */ off_t offset; /* File offset */ }; struct imeaio_req { struct ime_aiocb iocb; /* IME aio request */ ssize_t status; /* Status of the IME request */ enum fio_ddir ddir; /* Type of IO (read or write) */ pthread_cond_t cond_endio; /* Condition var to notify FIO */ pthread_mutex_t status_mutex; /* Mutex for cond_endio */ }; /* This structure will be used for 2 engines: ime_psyncv and ime_aio */ struct ime_data { union { struct imeaio_req *aioreqs; /* array of aio requests */ struct imesio_req *sioreq; /* pointer to the only syncio request */ }; struct iovec *iovecs; /* array of queued iovecs */ struct io_u **io_us; /* array of queued io_u pointers */ struct io_u **event_io_us; /* array of the events retrieved after get_events*/ unsigned int queued; /* iovecs/io_us in the queue */ unsigned int events; /* number of committed iovecs/io_us */ /* variables used to implement a "ring" queue */ unsigned int depth; /* max entries in the queue */ unsigned int head; /* index used to append */ unsigned int tail; /* index used to pop */ unsigned int cur_commit; /* index of the first uncommitted req */ /* offset used by the last iovec (used to check if the iovecs can be appended)*/ unsigned long long last_offset; /* The variables below are used for aio only */ struct imeaio_req *last_req; /* last request awaiting committing */ }; /************************************************************** * Private functions for queueing/unqueueing * **************************************************************/ static void fio_ime_queue_incr (struct ime_data *ime_d) { ime_d->head = (ime_d->head + 1) % ime_d->depth; ime_d->queued++; } static void fio_ime_queue_red (struct ime_data *ime_d) { ime_d->tail = (ime_d->tail + 1) % ime_d->depth; ime_d->queued--; ime_d->events--; } static void fio_ime_queue_commit (struct ime_data *ime_d, int iovcnt) { ime_d->cur_commit = (ime_d->cur_commit + iovcnt) % ime_d->depth; ime_d->events += iovcnt; } static void fio_ime_queue_reset (struct ime_data *ime_d) { ime_d->head = 0; ime_d->tail = 0; ime_d->cur_commit = 0; ime_d->queued = 0; ime_d->events = 0; } /************************************************************** * General IME functions * (needed for both sync and async IOs) **************************************************************/ static char *fio_set_ime_filename(char* filename) { static __thread char ime_filename[PATH_MAX]; int ret; ret = snprintf(ime_filename, PATH_MAX, "%s%s", DEFAULT_IME_FILE_PREFIX, filename); if (ret < PATH_MAX) return ime_filename; return NULL; } static int fio_ime_get_file_size(struct thread_data *td, struct fio_file *f) { struct stat buf; int ret; char *ime_filename; dprint(FD_FILE, "get file size %s\n", f->file_name); ime_filename = fio_set_ime_filename(f->file_name); if (ime_filename == NULL) return 1; ret = ime_native_stat(ime_filename, &buf); if (ret == -1) { td_verror(td, errno, "fstat"); return 1; } f->real_file_size = buf.st_size; return 0; } /* This functions mimics the generic_file_open function, but issues IME native calls instead of POSIX calls. */ static int fio_ime_open_file(struct thread_data *td, struct fio_file *f) { int flags = 0; int ret; uint64_t desired_fs; char *ime_filename; dprint(FD_FILE, "fd open %s\n", f->file_name); if (td_trim(td)) { td_verror(td, EINVAL, "IME does not support TRIM operation"); return 1; } if (td->o.odirect) flags |= O_DIRECT; flags |= td->o.sync_io; if (td->o.create_on_open && td->o.allow_create) flags |= O_CREAT; if (td_write(td)) { if (!read_only) flags |= O_RDWR; if (td->o.allow_create) flags |= O_CREAT; } else if (td_read(td)) { flags |= O_RDONLY; } else { /* We should never go here. */ td_verror(td, EINVAL, "Unsopported open mode"); return 1; } ime_filename = fio_set_ime_filename(f->file_name); if (ime_filename == NULL) return 1; f->fd = ime_native_open(ime_filename, flags, 0600); if (f->fd == -1) { char buf[FIO_VERROR_SIZE]; int __e = errno; snprintf(buf, sizeof(buf), "open(%s)", f->file_name); td_verror(td, __e, buf); return 1; } /* Now we need to make sure the real file size is sufficient for FIO to do its things. This is normally done before the file open function is called, but because FIO would use POSIX calls, we need to do it ourselves */ ret = fio_ime_get_file_size(td, f); if (ret < 0) { ime_native_close(f->fd); td_verror(td, errno, "ime_get_file_size"); return 1; } desired_fs = f->io_size + f->file_offset; if (td_write(td)) { dprint(FD_FILE, "Laying out file %s%s\n", DEFAULT_IME_FILE_PREFIX, f->file_name); if (!td->o.create_on_open && f->real_file_size < desired_fs && ime_native_ftruncate(f->fd, desired_fs) < 0) { ime_native_close(f->fd); td_verror(td, errno, "ime_native_ftruncate"); return 1; } if (f->real_file_size < desired_fs) f->real_file_size = desired_fs; } else if (td_read(td) && f->real_file_size < desired_fs) { ime_native_close(f->fd); log_err("error: can't read %lu bytes from file with " "%lu bytes\n", desired_fs, f->real_file_size); return 1; } return 0; } static int fio_ime_close_file(struct thread_data fio_unused *td, struct fio_file *f) { int ret = 0; dprint(FD_FILE, "fd close %s\n", f->file_name); if (ime_native_close(f->fd) < 0) ret = errno; f->fd = -1; return ret; } static int fio_ime_unlink_file(struct thread_data *td, struct fio_file *f) { char *ime_filename = fio_set_ime_filename(f->file_name); int ret; if (ime_filename == NULL) return 1; ret = unlink(ime_filename); return ret < 0 ? errno : 0; } static struct io_u *fio_ime_event(struct thread_data *td, int event) { struct ime_data *ime_d = td->io_ops_data; return ime_d->event_io_us[event]; } /* Setup file used to replace get_file_sizes when settin up the file. Instead we will set real_file_sie to 0 for each file. This way we can avoid calling ime_native_init before the forks are created. */ static int fio_ime_setup(struct thread_data *td) { struct fio_file *f; unsigned int i; for_each_file(td, f, i) { dprint(FD_FILE, "setup: set file size to 0 for %p/%d/%s\n", f, i, f->file_name); f->real_file_size = 0; } return 0; } static int fio_ime_engine_init(struct thread_data *td) { struct fio_file *f; unsigned int i; dprint(FD_IO, "ime engine init\n"); if (fio_ime_is_initialized && !td->o.use_thread) { log_err("Warning: something might go wrong. Not all threads/forks were" " created before the FIO jobs were initialized.\n"); } ime_native_init(); fio_ime_is_initialized = true; /* We have to temporarily set real_file_size so that FIO can initialize properly. It will be corrected on file open. */ for_each_file(td, f, i) f->real_file_size = f->io_size + f->file_offset; return 0; } static void fio_ime_engine_finalize(struct thread_data *td) { /* Only finalize IME when using forks */ if (!td->o.use_thread) { if (ime_native_finalize() < 0) log_err("error in ime_native_finalize\n"); fio_ime_is_initialized = false; } } /************************************************************** * Private functions for blocking IOs * (without iovecs) **************************************************************/ /* Notice: this function comes from the sync engine */ /* It is used by the commit function to return a proper code and fill some attributes in the io_u used for the IO. */ static int fio_ime_psync_end(struct thread_data *td, struct io_u *io_u, ssize_t ret) { if (ret != (ssize_t) io_u->xfer_buflen) { if (ret >= 0) { io_u->resid = io_u->xfer_buflen - ret; io_u->error = 0; return FIO_Q_COMPLETED; } else io_u->error = errno; } if (io_u->error) { io_u_log_error(td, io_u); td_verror(td, io_u->error, "xfer"); } return FIO_Q_COMPLETED; } static enum fio_q_status fio_ime_psync_queue(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; ssize_t ret; fio_ro_check(td, io_u); if (io_u->ddir == DDIR_READ) ret = ime_native_pread(f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); else if (io_u->ddir == DDIR_WRITE) ret = ime_native_pwrite(f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); else if (io_u->ddir == DDIR_SYNC) ret = ime_native_fsync(f->fd); else { ret = io_u->xfer_buflen; io_u->error = EINVAL; } return fio_ime_psync_end(td, io_u, ret); } /************************************************************** * Private functions for blocking IOs * (with iovecs) **************************************************************/ static bool fio_ime_psyncv_can_queue(struct ime_data *ime_d, struct io_u *io_u) { /* We can only queue if: - There are no queued iovecs - Or if there is at least one: - There must be no event waiting for retrieval - The offsets must be contiguous - The ddir and fd must be the same */ return (ime_d->queued == 0 || ( ime_d->events == 0 && ime_d->last_offset == io_u->offset && ime_d->sioreq->ddir == io_u->ddir && ime_d->sioreq->fd == io_u->file->fd)); } /* Before using this function, we should have already ensured that the queue is not full */ static void fio_ime_psyncv_enqueue(struct ime_data *ime_d, struct io_u *io_u) { struct imesio_req *ioreq = ime_d->sioreq; struct iovec *iov = &ime_d->iovecs[ime_d->head]; iov->iov_base = io_u->xfer_buf; iov->iov_len = io_u->xfer_buflen; if (ime_d->queued == 0) { ioreq->offset = io_u->offset; ioreq->ddir = io_u->ddir; ioreq->fd = io_u->file->fd; } ime_d->io_us[ime_d->head] = io_u; ime_d->last_offset = io_u->offset + io_u->xfer_buflen; fio_ime_queue_incr(ime_d); } /* Tries to queue an IO. It will fail if the IO can't be appended to the current request or if the current request has been committed but not yet retrieved by get_events. */ static enum fio_q_status fio_ime_psyncv_queue(struct thread_data *td, struct io_u *io_u) { struct ime_data *ime_d = td->io_ops_data; fio_ro_check(td, io_u); if (ime_d->queued == ime_d->depth) return FIO_Q_BUSY; if (io_u->ddir == DDIR_READ || io_u->ddir == DDIR_WRITE) { if (!fio_ime_psyncv_can_queue(ime_d, io_u)) return FIO_Q_BUSY; dprint(FD_IO, "queue: ddir=%d at %u commit=%u queued=%u events=%u\n", io_u->ddir, ime_d->head, ime_d->cur_commit, ime_d->queued, ime_d->events); fio_ime_psyncv_enqueue(ime_d, io_u); return FIO_Q_QUEUED; } else if (io_u->ddir == DDIR_SYNC) { if (ime_native_fsync(io_u->file->fd) < 0) { io_u->error = errno; td_verror(td, io_u->error, "fsync"); } return FIO_Q_COMPLETED; } else { io_u->error = EINVAL; td_verror(td, io_u->error, "wrong ddir"); return FIO_Q_COMPLETED; } } /* Notice: this function comes from the sync engine */ /* It is used by the commit function to return a proper code and fill some attributes in the io_us appended to the current request. */ static int fio_ime_psyncv_end(struct thread_data *td, ssize_t bytes) { struct ime_data *ime_d = td->io_ops_data; struct io_u *io_u; unsigned int i; int err = errno; for (i = 0; i < ime_d->queued; i++) { io_u = ime_d->io_us[i]; if (bytes == -1) io_u->error = err; else { unsigned int this_io; this_io = bytes; if (this_io > io_u->xfer_buflen) this_io = io_u->xfer_buflen; io_u->resid = io_u->xfer_buflen - this_io; io_u->error = 0; bytes -= this_io; } } if (bytes == -1) { td_verror(td, err, "xfer psyncv"); return -err; } return 0; } /* Commits the current request by calling ime_native (with one or several iovecs). After this commit, the corresponding events (one per iovec) can be retrieved by get_events. */ static int fio_ime_psyncv_commit(struct thread_data *td) { struct ime_data *ime_d = td->io_ops_data; struct imesio_req *ioreq; int ret = 0; /* Exit if there are no (new) events to commit or if the previous committed event haven't been retrieved */ if (!ime_d->queued || ime_d->events) return 0; ioreq = ime_d->sioreq; ime_d->events = ime_d->queued; if (ioreq->ddir == DDIR_READ) ret = ime_native_preadv(ioreq->fd, ime_d->iovecs, ime_d->queued, ioreq->offset); else ret = ime_native_pwritev(ioreq->fd, ime_d->iovecs, ime_d->queued, ioreq->offset); dprint(FD_IO, "committed %d iovecs\n", ime_d->queued); return fio_ime_psyncv_end(td, ret); } static int fio_ime_psyncv_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct ime_data *ime_d = td->io_ops_data; struct io_u *io_u; int events = 0; unsigned int count; if (ime_d->events) { for (count = 0; count < ime_d->events; count++) { io_u = ime_d->io_us[count]; ime_d->event_io_us[events] = io_u; events++; } fio_ime_queue_reset(ime_d); } dprint(FD_IO, "getevents(%u,%u) ret=%d queued=%u events=%u\n", min, max, events, ime_d->queued, ime_d->events); return events; } static int fio_ime_psyncv_init(struct thread_data *td) { struct ime_data *ime_d; if (fio_ime_engine_init(td) < 0) return 1; ime_d = calloc(1, sizeof(*ime_d)); ime_d->sioreq = malloc(sizeof(struct imesio_req)); ime_d->iovecs = malloc(td->o.iodepth * sizeof(struct iovec)); ime_d->io_us = malloc(2 * td->o.iodepth * sizeof(struct io_u *)); ime_d->event_io_us = ime_d->io_us + td->o.iodepth; ime_d->depth = td->o.iodepth; td->io_ops_data = ime_d; return 0; } static void fio_ime_psyncv_clean(struct thread_data *td) { struct ime_data *ime_d = td->io_ops_data; if (ime_d) { free(ime_d->sioreq); free(ime_d->iovecs); free(ime_d->io_us); free(ime_d); td->io_ops_data = NULL; } fio_ime_engine_finalize(td); } /************************************************************** * Private functions for non-blocking IOs * **************************************************************/ void fio_ime_aio_complete_cb (struct ime_aiocb *aiocb, int err, ssize_t bytes) { struct imeaio_req *ioreq = (struct imeaio_req *) aiocb->user_context; pthread_mutex_lock(&ioreq->status_mutex); ioreq->status = err == 0 ? bytes : FIO_IME_REQ_ERROR; pthread_mutex_unlock(&ioreq->status_mutex); pthread_cond_signal(&ioreq->cond_endio); } static bool fio_ime_aio_can_queue (struct ime_data *ime_d, struct io_u *io_u) { /* So far we can queue in any case. */ return true; } static bool fio_ime_aio_can_append (struct ime_data *ime_d, struct io_u *io_u) { /* We can only append if: - The iovecs will be contiguous in the array - There is already a queued iovec - The offsets are contiguous - The ddir and fs are the same */ return (ime_d->head != 0 && ime_d->queued - ime_d->events > 0 && ime_d->last_offset == io_u->offset && ime_d->last_req->ddir == io_u->ddir && ime_d->last_req->iocb.fd == io_u->file->fd); } /* Before using this function, we should have already ensured that the queue is not full */ static void fio_ime_aio_enqueue(struct ime_data *ime_d, struct io_u *io_u) { struct imeaio_req *ioreq = &ime_d->aioreqs[ime_d->head]; struct ime_aiocb *iocb = &ioreq->iocb; struct iovec *iov = &ime_d->iovecs[ime_d->head]; iov->iov_base = io_u->xfer_buf; iov->iov_len = io_u->xfer_buflen; if (fio_ime_aio_can_append(ime_d, io_u)) ime_d->last_req->iocb.iovcnt++; else { ioreq->status = FIO_IME_IN_PROGRESS; ioreq->ddir = io_u->ddir; ime_d->last_req = ioreq; iocb->complete_cb = &fio_ime_aio_complete_cb; iocb->fd = io_u->file->fd; iocb->file_offset = io_u->offset; iocb->iov = iov; iocb->iovcnt = 1; iocb->flags = 0; iocb->user_context = (intptr_t) ioreq; } ime_d->io_us[ime_d->head] = io_u; ime_d->last_offset = io_u->offset + io_u->xfer_buflen; fio_ime_queue_incr(ime_d); } /* Tries to queue an IO. It will create a new request if the IO can't be appended to the current request. It will fail if the queue can't contain any more io_u/iovec. In this case, commit and then get_events need to be called. */ static enum fio_q_status fio_ime_aio_queue(struct thread_data *td, struct io_u *io_u) { struct ime_data *ime_d = td->io_ops_data; fio_ro_check(td, io_u); dprint(FD_IO, "queue: ddir=%d at %u commit=%u queued=%u events=%u\n", io_u->ddir, ime_d->head, ime_d->cur_commit, ime_d->queued, ime_d->events); if (ime_d->queued == ime_d->depth) return FIO_Q_BUSY; if (io_u->ddir == DDIR_READ || io_u->ddir == DDIR_WRITE) { if (!fio_ime_aio_can_queue(ime_d, io_u)) return FIO_Q_BUSY; fio_ime_aio_enqueue(ime_d, io_u); return FIO_Q_QUEUED; } else if (io_u->ddir == DDIR_SYNC) { if (ime_native_fsync(io_u->file->fd) < 0) { io_u->error = errno; td_verror(td, io_u->error, "fsync"); } return FIO_Q_COMPLETED; } else { io_u->error = EINVAL; td_verror(td, io_u->error, "wrong ddir"); return FIO_Q_COMPLETED; } } static int fio_ime_aio_commit(struct thread_data *td) { struct ime_data *ime_d = td->io_ops_data; struct imeaio_req *ioreq; int ret = 0; /* Loop while there are events to commit */ while (ime_d->queued - ime_d->events) { ioreq = &ime_d->aioreqs[ime_d->cur_commit]; if (ioreq->ddir == DDIR_READ) ret = ime_native_aio_read(&ioreq->iocb); else ret = ime_native_aio_write(&ioreq->iocb); fio_ime_queue_commit(ime_d, ioreq->iocb.iovcnt); /* fio needs a negative error code */ if (ret < 0) { ioreq->status = FIO_IME_REQ_ERROR; return -errno; } io_u_mark_submit(td, ioreq->iocb.iovcnt); dprint(FD_IO, "committed %d iovecs commit=%u queued=%u events=%u\n", ioreq->iocb.iovcnt, ime_d->cur_commit, ime_d->queued, ime_d->events); } return 0; } static int fio_ime_aio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct ime_data *ime_d = td->io_ops_data; struct imeaio_req *ioreq; struct io_u *io_u; int events = 0; unsigned int count; ssize_t bytes; while (ime_d->events) { ioreq = &ime_d->aioreqs[ime_d->tail]; /* Break if we already got events, and if we will exceed max if we append the next events */ if (events && events + ioreq->iocb.iovcnt > max) break; if (ioreq->status != FIO_IME_IN_PROGRESS) { bytes = ioreq->status; for (count = 0; count < ioreq->iocb.iovcnt; count++) { io_u = ime_d->io_us[ime_d->tail]; ime_d->event_io_us[events] = io_u; events++; fio_ime_queue_red(ime_d); if (ioreq->status == FIO_IME_REQ_ERROR) io_u->error = EIO; else { io_u->resid = bytes > io_u->xfer_buflen ? 0 : io_u->xfer_buflen - bytes; io_u->error = 0; bytes -= io_u->xfer_buflen - io_u->resid; } } } else { pthread_mutex_lock(&ioreq->status_mutex); while (ioreq->status == FIO_IME_IN_PROGRESS) pthread_cond_wait(&ioreq->cond_endio, &ioreq->status_mutex); pthread_mutex_unlock(&ioreq->status_mutex); } } dprint(FD_IO, "getevents(%u,%u) ret=%d queued=%u events=%u\n", min, max, events, ime_d->queued, ime_d->events); return events; } static int fio_ime_aio_init(struct thread_data *td) { struct ime_data *ime_d; struct imeaio_req *ioreq; unsigned int i; if (fio_ime_engine_init(td) < 0) return 1; ime_d = calloc(1, sizeof(*ime_d)); ime_d->aioreqs = malloc(td->o.iodepth * sizeof(struct imeaio_req)); ime_d->iovecs = malloc(td->o.iodepth * sizeof(struct iovec)); ime_d->io_us = malloc(2 * td->o.iodepth * sizeof(struct io_u *)); ime_d->event_io_us = ime_d->io_us + td->o.iodepth; ime_d->depth = td->o.iodepth; for (i = 0; i < ime_d->depth; i++) { ioreq = &ime_d->aioreqs[i]; pthread_cond_init(&ioreq->cond_endio, NULL); pthread_mutex_init(&ioreq->status_mutex, NULL); } td->io_ops_data = ime_d; return 0; } static void fio_ime_aio_clean(struct thread_data *td) { struct ime_data *ime_d = td->io_ops_data; struct imeaio_req *ioreq; unsigned int i; if (ime_d) { for (i = 0; i < ime_d->depth; i++) { ioreq = &ime_d->aioreqs[i]; pthread_cond_destroy(&ioreq->cond_endio); pthread_mutex_destroy(&ioreq->status_mutex); } free(ime_d->aioreqs); free(ime_d->iovecs); free(ime_d->io_us); free(ime_d); td->io_ops_data = NULL; } fio_ime_engine_finalize(td); } /************************************************************** * IO engines definitions * **************************************************************/ /* The FIO_DISKLESSIO flag used for these engines is necessary to prevent FIO from using POSIX calls. See fio_ime_open_file for more details. */ static struct ioengine_ops ioengine_prw = { .name = "ime_psync", .version = FIO_IOOPS_VERSION, .setup = fio_ime_setup, .init = fio_ime_engine_init, .cleanup = fio_ime_engine_finalize, .queue = fio_ime_psync_queue, .open_file = fio_ime_open_file, .close_file = fio_ime_close_file, .get_file_size = fio_ime_get_file_size, .unlink_file = fio_ime_unlink_file, .flags = FIO_SYNCIO | FIO_DISKLESSIO, }; static struct ioengine_ops ioengine_pvrw = { .name = "ime_psyncv", .version = FIO_IOOPS_VERSION, .setup = fio_ime_setup, .init = fio_ime_psyncv_init, .cleanup = fio_ime_psyncv_clean, .queue = fio_ime_psyncv_queue, .commit = fio_ime_psyncv_commit, .getevents = fio_ime_psyncv_getevents, .event = fio_ime_event, .open_file = fio_ime_open_file, .close_file = fio_ime_close_file, .get_file_size = fio_ime_get_file_size, .unlink_file = fio_ime_unlink_file, .flags = FIO_SYNCIO | FIO_DISKLESSIO, }; static struct ioengine_ops ioengine_aio = { .name = "ime_aio", .version = FIO_IOOPS_VERSION, .setup = fio_ime_setup, .init = fio_ime_aio_init, .cleanup = fio_ime_aio_clean, .queue = fio_ime_aio_queue, .commit = fio_ime_aio_commit, .getevents = fio_ime_aio_getevents, .event = fio_ime_event, .open_file = fio_ime_open_file, .close_file = fio_ime_close_file, .get_file_size = fio_ime_get_file_size, .unlink_file = fio_ime_unlink_file, .flags = FIO_DISKLESSIO, }; static void fio_init fio_ime_register(void) { register_ioengine(&ioengine_prw); register_ioengine(&ioengine_pvrw); register_ioengine(&ioengine_aio); } static void fio_exit fio_ime_unregister(void) { unregister_ioengine(&ioengine_prw); unregister_ioengine(&ioengine_pvrw); unregister_ioengine(&ioengine_aio); if (fio_ime_is_initialized && ime_native_finalize() < 0) log_err("Warning: IME did not finalize properly\n"); } fio-3.39/engines/io_uring.c000066400000000000000000001252671476262051600156620ustar00rootroot00000000000000/* * io_uring engine * * IO engine using the new native Linux aio io_uring interface. See: * * http://git.kernel.dk/cgit/linux-block/log/?h=io_uring * */ #include #include #include #include #include #include "../fio.h" #include "../lib/pow2.h" #include "../optgroup.h" #include "../lib/memalign.h" #include "../lib/fls.h" #include "../lib/roundup.h" #include "../verify.h" #ifdef ARCH_HAVE_IOURING #include "../lib/types.h" #include "../os/linux/io_uring.h" #include "cmdprio.h" #include "zbd.h" #include "nvme.h" #include enum uring_cmd_type { FIO_URING_CMD_NVME = 1, }; enum uring_cmd_write_mode { FIO_URING_CMD_WMODE_WRITE = 1, FIO_URING_CMD_WMODE_UNCOR, FIO_URING_CMD_WMODE_ZEROES, FIO_URING_CMD_WMODE_VERIFY, }; enum uring_cmd_verify_mode { FIO_URING_CMD_VMODE_READ = 1, FIO_URING_CMD_VMODE_COMPARE, }; struct io_sq_ring { unsigned *head; unsigned *tail; unsigned *ring_mask; unsigned *ring_entries; unsigned *flags; unsigned *array; }; struct io_cq_ring { unsigned *head; unsigned *tail; unsigned *ring_mask; unsigned *ring_entries; struct io_uring_cqe *cqes; }; struct ioring_mmap { void *ptr; size_t len; }; struct ioring_data { int ring_fd; struct io_u **io_u_index; char *md_buf; int *fds; struct io_sq_ring sq_ring; struct io_uring_sqe *sqes; struct iovec *iovecs; unsigned sq_ring_mask; struct io_cq_ring cq_ring; unsigned cq_ring_mask; int async_trim_fail; int queued; int cq_ring_off; unsigned iodepth; int prepped; struct ioring_mmap mmap[3]; struct cmdprio cmdprio; struct nvme_dsm *dsm; uint32_t cdw12_flags[DDIR_RWDIR_CNT]; uint8_t write_opcode; }; struct ioring_options { struct thread_data *td; unsigned int hipri; unsigned int readfua; unsigned int writefua; unsigned int deac; unsigned int write_mode; unsigned int verify_mode; struct cmdprio_options cmdprio_options; unsigned int fixedbufs; unsigned int registerfiles; unsigned int sqpoll_thread; unsigned int sqpoll_set; unsigned int sqpoll_cpu; unsigned int nonvectored; unsigned int uncached; unsigned int nowait; unsigned int force_async; unsigned int md_per_io_size; unsigned int pi_act; unsigned int apptag; unsigned int apptag_mask; unsigned int prchk; char *pi_chk; enum uring_cmd_type cmd_type; }; static const int ddir_to_op[2][2] = { { IORING_OP_READV, IORING_OP_READ }, { IORING_OP_WRITEV, IORING_OP_WRITE } }; static const int fixed_ddir_to_op[2] = { IORING_OP_READ_FIXED, IORING_OP_WRITE_FIXED }; static int fio_ioring_sqpoll_cb(void *data, unsigned long long *val) { struct ioring_options *o = data; o->sqpoll_cpu = *val; o->sqpoll_set = 1; return 0; } static struct fio_option options[] = { { .name = "hipri", .lname = "High Priority", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct ioring_options, hipri), .help = "Use polled IO completions", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "readfua", .lname = "Read fua flag support", .type = FIO_OPT_BOOL, .off1 = offsetof(struct ioring_options, readfua), .help = "Set FUA flag (force unit access) for all Read operations", .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "writefua", .lname = "Write fua flag support", .type = FIO_OPT_BOOL, .off1 = offsetof(struct ioring_options, writefua), .help = "Set FUA flag (force unit access) for all Write operations", .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "write_mode", .lname = "Additional Write commands support (Write Uncorrectable, Write Zeores)", .type = FIO_OPT_STR, .off1 = offsetof(struct ioring_options, write_mode), .help = "Issue Write Uncorrectable or Zeroes command instaed of Write command", .def = "write", .posval = { { .ival = "write", .oval = FIO_URING_CMD_WMODE_WRITE, .help = "Issue Write commands for write operations" }, { .ival = "uncor", .oval = FIO_URING_CMD_WMODE_UNCOR, .help = "Issue Write Uncorrectable commands for write operations" }, { .ival = "zeroes", .oval = FIO_URING_CMD_WMODE_ZEROES, .help = "Issue Write Zeroes commands for write operations" }, { .ival = "verify", .oval = FIO_URING_CMD_WMODE_VERIFY, .help = "Issue Verify commands for write operations" }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "verify_mode", .lname = "Do verify based on the configured command (e.g., Read or Compare command)", .type = FIO_OPT_STR, .off1 = offsetof(struct ioring_options, verify_mode), .help = "Issue Read or Compare command in the verification phase", .def = "read", .posval = { { .ival = "read", .oval = FIO_URING_CMD_VMODE_READ, .help = "Issue Read commands in the verification phase" }, { .ival = "compare", .oval = FIO_URING_CMD_VMODE_COMPARE, .help = "Issue Compare commands in the verification phase" }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "fixedbufs", .lname = "Fixed (pre-mapped) IO buffers", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct ioring_options, fixedbufs), .help = "Pre map IO buffers", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "registerfiles", .lname = "Register file set", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct ioring_options, registerfiles), .help = "Pre-open/register files", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "sqthread_poll", .lname = "Kernel SQ thread polling", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct ioring_options, sqpoll_thread), .help = "Offload submission/completion to kernel thread", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "sqthread_poll_cpu", .lname = "SQ Thread Poll CPU", .type = FIO_OPT_INT, .cb = fio_ioring_sqpoll_cb, .help = "What CPU to run SQ thread polling on", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "nonvectored", .lname = "Non-vectored", .type = FIO_OPT_INT, .off1 = offsetof(struct ioring_options, nonvectored), .def = "-1", .help = "Use non-vectored read/write commands", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "uncached", .lname = "Uncached", .type = FIO_OPT_INT, .off1 = offsetof(struct ioring_options, uncached), .help = "Use RWF_DONTCACHE for buffered read/writes", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "nowait", .lname = "RWF_NOWAIT", .type = FIO_OPT_BOOL, .off1 = offsetof(struct ioring_options, nowait), .help = "Use RWF_NOWAIT for reads/writes", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "force_async", .lname = "Force async", .type = FIO_OPT_INT, .off1 = offsetof(struct ioring_options, force_async), .help = "Set IOSQE_ASYNC every N requests", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "cmd_type", .lname = "Uring cmd type", .type = FIO_OPT_STR, .off1 = offsetof(struct ioring_options, cmd_type), .help = "Specify uring-cmd type", .def = "nvme", .posval = { { .ival = "nvme", .oval = FIO_URING_CMD_NVME, .help = "Issue nvme-uring-cmd", }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, CMDPRIO_OPTIONS(struct ioring_options, FIO_OPT_G_IOURING), { .name = "md_per_io_size", .lname = "Separate Metadata Buffer Size per I/O", .type = FIO_OPT_INT, .off1 = offsetof(struct ioring_options, md_per_io_size), .def = "0", .help = "Size of separate metadata buffer per I/O (Default: 0)", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "pi_act", .lname = "Protection Information Action", .type = FIO_OPT_BOOL, .off1 = offsetof(struct ioring_options, pi_act), .def = "1", .help = "Protection Information Action bit (pi_act=1 or pi_act=0)", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "pi_chk", .lname = "Protection Information Check", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct ioring_options, pi_chk), .def = NULL, .help = "Control of Protection Information Checking (pi_chk=GUARD,REFTAG,APPTAG)", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "apptag", .lname = "Application Tag used in Protection Information", .type = FIO_OPT_INT, .off1 = offsetof(struct ioring_options, apptag), .def = "0x1234", .help = "Application Tag used in Protection Information field (Default: 0x1234)", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "apptag_mask", .lname = "Application Tag Mask", .type = FIO_OPT_INT, .off1 = offsetof(struct ioring_options, apptag_mask), .def = "0xffff", .help = "Application Tag Mask used with Application Tag (Default: 0xffff)", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = "deac", .lname = "Deallocate bit for write zeroes command", .type = FIO_OPT_BOOL, .off1 = offsetof(struct ioring_options, deac), .help = "Set DEAC (deallocate) flag for write zeroes command", .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_IOURING, }, { .name = NULL, }, }; static int io_uring_enter(struct ioring_data *ld, unsigned int to_submit, unsigned int min_complete, unsigned int flags) { #ifdef FIO_ARCH_HAS_SYSCALL return __do_syscall6(__NR_io_uring_enter, ld->ring_fd, to_submit, min_complete, flags, NULL, 0); #else return syscall(__NR_io_uring_enter, ld->ring_fd, to_submit, min_complete, flags, NULL, 0); #endif } #ifndef BLOCK_URING_CMD_DISCARD #define BLOCK_URING_CMD_DISCARD _IO(0x12, 0) #endif static int fio_ioring_prep(struct thread_data *td, struct io_u *io_u) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; struct fio_file *f = io_u->file; struct io_uring_sqe *sqe; sqe = &ld->sqes[io_u->index]; if (o->registerfiles) { sqe->fd = f->engine_pos; sqe->flags = IOSQE_FIXED_FILE; } else { sqe->fd = f->fd; sqe->flags = 0; } if (io_u->ddir == DDIR_READ || io_u->ddir == DDIR_WRITE) { if (o->fixedbufs) { sqe->opcode = fixed_ddir_to_op[io_u->ddir]; sqe->addr = (unsigned long) io_u->xfer_buf; sqe->len = io_u->xfer_buflen; sqe->buf_index = io_u->index; } else { struct iovec *iov = &ld->iovecs[io_u->index]; /* * Update based on actual io_u, requeue could have * adjusted these */ iov->iov_base = io_u->xfer_buf; iov->iov_len = io_u->xfer_buflen; sqe->opcode = ddir_to_op[io_u->ddir][!!o->nonvectored]; if (o->nonvectored) { sqe->addr = (unsigned long) iov->iov_base; sqe->len = iov->iov_len; } else { sqe->addr = (unsigned long) iov; sqe->len = 1; } } sqe->rw_flags = 0; if (!td->o.odirect && o->uncached) sqe->rw_flags |= RWF_DONTCACHE; if (o->nowait) sqe->rw_flags |= RWF_NOWAIT; if (td->o.oatomic && io_u->ddir == DDIR_WRITE) sqe->rw_flags |= RWF_ATOMIC; /* * Since io_uring can have a submission context (sqthread_poll) * that is different from the process context, we cannot rely on * the IO priority set by ioprio_set() (options prio, prioclass, * and priohint) to be inherited. * td->ioprio will have the value of the "default prio", so set * this unconditionally. This value might get overridden by * fio_ioring_cmdprio_prep() if the option cmdprio_percentage or * cmdprio_bssplit is used. */ sqe->ioprio = td->ioprio; sqe->off = io_u->offset; } else if (ddir_sync(io_u->ddir)) { sqe->ioprio = 0; if (io_u->ddir == DDIR_SYNC_FILE_RANGE) { sqe->off = f->first_write; sqe->len = f->last_write - f->first_write; sqe->sync_range_flags = td->o.sync_file_range; sqe->opcode = IORING_OP_SYNC_FILE_RANGE; } else { sqe->off = 0; sqe->addr = 0; sqe->len = 0; if (io_u->ddir == DDIR_DATASYNC) sqe->fsync_flags |= IORING_FSYNC_DATASYNC; sqe->opcode = IORING_OP_FSYNC; } } else if (io_u->ddir == DDIR_TRIM) { sqe->opcode = IORING_OP_URING_CMD; sqe->addr = io_u->offset; sqe->addr3 = io_u->xfer_buflen; sqe->rw_flags = 0; sqe->len = sqe->off = 0; sqe->ioprio = 0; sqe->cmd_op = BLOCK_URING_CMD_DISCARD; sqe->__pad1 = 0; sqe->file_index = 0; } if (o->force_async && ++ld->prepped == o->force_async) { ld->prepped = 0; sqe->flags |= IOSQE_ASYNC; } sqe->user_data = (unsigned long) io_u; return 0; } static int fio_ioring_cmd_prep(struct thread_data *td, struct io_u *io_u) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; struct fio_file *f = io_u->file; struct nvme_uring_cmd *cmd; struct io_uring_sqe *sqe; struct nvme_dsm *dsm; void *ptr = ld->dsm; unsigned int dsm_size; uint8_t read_opcode = nvme_cmd_read; /* only supports nvme_uring_cmd */ if (o->cmd_type != FIO_URING_CMD_NVME) return -EINVAL; if (io_u->ddir == DDIR_TRIM && td->io_ops->flags & FIO_ASYNCIO_SYNC_TRIM) return 0; sqe = &ld->sqes[(io_u->index) << 1]; if (o->registerfiles) { sqe->fd = f->engine_pos; sqe->flags = IOSQE_FIXED_FILE; } else { sqe->fd = f->fd; } sqe->rw_flags = 0; if (!td->o.odirect && o->uncached) sqe->rw_flags |= RWF_DONTCACHE; if (o->nowait) sqe->rw_flags |= RWF_NOWAIT; sqe->opcode = IORING_OP_URING_CMD; sqe->user_data = (unsigned long) io_u; if (o->nonvectored) sqe->cmd_op = NVME_URING_CMD_IO; else sqe->cmd_op = NVME_URING_CMD_IO_VEC; if (o->force_async && ++ld->prepped == o->force_async) { ld->prepped = 0; sqe->flags |= IOSQE_ASYNC; } if (o->fixedbufs) { sqe->uring_cmd_flags = IORING_URING_CMD_FIXED; sqe->buf_index = io_u->index; } cmd = (struct nvme_uring_cmd *)sqe->cmd; dsm_size = sizeof(*ld->dsm) + td->o.num_range * sizeof(struct nvme_dsm_range); ptr += io_u->index * dsm_size; dsm = (struct nvme_dsm *)ptr; /* * If READ command belongs to the verification phase and the * verify_mode=compare, convert READ to COMPARE command. */ if (io_u->flags & IO_U_F_VER_LIST && io_u->ddir == DDIR_READ && o->verify_mode == FIO_URING_CMD_VMODE_COMPARE) { populate_verify_io_u(td, io_u); read_opcode = nvme_cmd_compare; io_u_set(td, io_u, IO_U_F_VER_IN_DEV); } return fio_nvme_uring_cmd_prep(cmd, io_u, o->nonvectored ? NULL : &ld->iovecs[io_u->index], dsm, read_opcode, ld->write_opcode, ld->cdw12_flags[io_u->ddir]); } static struct io_u *fio_ioring_event(struct thread_data *td, int event) { struct ioring_data *ld = td->io_ops_data; struct io_uring_cqe *cqe; struct io_u *io_u; unsigned index; index = (event + ld->cq_ring_off) & ld->cq_ring_mask; cqe = &ld->cq_ring.cqes[index]; io_u = (struct io_u *) (uintptr_t) cqe->user_data; /* trim returns 0 on success */ if (cqe->res == io_u->xfer_buflen || (io_u->ddir == DDIR_TRIM && !cqe->res)) { io_u->error = 0; return io_u; } if (cqe->res != io_u->xfer_buflen) { if (io_u->ddir == DDIR_TRIM) { ld->async_trim_fail = 1; cqe->res = 0; } if (cqe->res > io_u->xfer_buflen) io_u->error = -cqe->res; else io_u->resid = io_u->xfer_buflen - cqe->res; } return io_u; } static struct io_u *fio_ioring_cmd_event(struct thread_data *td, int event) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; struct io_uring_cqe *cqe; struct io_u *io_u; struct nvme_data *data; unsigned index; int ret; index = (event + ld->cq_ring_off) & ld->cq_ring_mask; if (o->cmd_type == FIO_URING_CMD_NVME) index <<= 1; cqe = &ld->cq_ring.cqes[index]; io_u = (struct io_u *) (uintptr_t) cqe->user_data; io_u->error = cqe->res; if (io_u->error != 0) goto ret; if (o->cmd_type == FIO_URING_CMD_NVME) { data = FILE_ENG_DATA(io_u->file); if (data->pi_type && (io_u->ddir == DDIR_READ) && !o->pi_act) { ret = fio_nvme_pi_verify(data, io_u); if (ret) io_u->error = ret; } } ret: /* * If IO_U_F_DEVICE_ERROR is not set, io_u->error will be parsed as an * errno, otherwise device-specific error value (status value in CQE). */ if ((int)io_u->error > 0) io_u_set(td, io_u, IO_U_F_DEVICE_ERROR); else io_u_clear(td, io_u, IO_U_F_DEVICE_ERROR); io_u->error = abs((int)io_u->error); return io_u; } static char *fio_ioring_cmd_errdetails(struct thread_data *td, struct io_u *io_u) { struct ioring_options *o = td->eo; unsigned int sct = (io_u->error >> 8) & 0x7; unsigned int sc = io_u->error & 0xff; #define MAXERRDETAIL 1024 #define MAXMSGCHUNK 128 char *msg, msgchunk[MAXMSGCHUNK]; if (!(io_u->flags & IO_U_F_DEVICE_ERROR)) return NULL; msg = calloc(1, MAXERRDETAIL); strcpy(msg, "io_uring_cmd: "); snprintf(msgchunk, MAXMSGCHUNK, "%s: ", io_u->file->file_name); strlcat(msg, msgchunk, MAXERRDETAIL); if (o->cmd_type == FIO_URING_CMD_NVME) { strlcat(msg, "cq entry status (", MAXERRDETAIL); snprintf(msgchunk, MAXMSGCHUNK, "sct=0x%02x; ", sct); strlcat(msg, msgchunk, MAXERRDETAIL); snprintf(msgchunk, MAXMSGCHUNK, "sc=0x%02x)", sc); strlcat(msg, msgchunk, MAXERRDETAIL); } else { /* Print status code in generic */ snprintf(msgchunk, MAXMSGCHUNK, "status=0x%x", io_u->error); strlcat(msg, msgchunk, MAXERRDETAIL); } return msg; } static int fio_ioring_cqring_reap(struct thread_data *td, unsigned int events, unsigned int max) { struct ioring_data *ld = td->io_ops_data; struct io_cq_ring *ring = &ld->cq_ring; unsigned head, reaped = 0; head = *ring->head; do { if (head == atomic_load_acquire(ring->tail)) break; reaped++; head++; } while (reaped + events < max); if (reaped) atomic_store_release(ring->head, head); return reaped; } static int fio_ioring_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct ioring_data *ld = td->io_ops_data; unsigned actual_min = td->o.iodepth_batch_complete_min == 0 ? 0 : min; struct ioring_options *o = td->eo; struct io_cq_ring *ring = &ld->cq_ring; unsigned events = 0; int r; ld->cq_ring_off = *ring->head; do { r = fio_ioring_cqring_reap(td, events, max); if (r) { events += r; max -= r; if (actual_min != 0) actual_min -= r; continue; } if (!o->sqpoll_thread) { r = io_uring_enter(ld, 0, actual_min, IORING_ENTER_GETEVENTS); if (r < 0) { if (errno == EAGAIN || errno == EINTR) continue; r = -errno; td_verror(td, errno, "io_uring_enter"); break; } } } while (events < min); return r < 0 ? r : events; } static inline void fio_ioring_cmd_nvme_pi(struct thread_data *td, struct io_u *io_u) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; struct nvme_uring_cmd *cmd; struct io_uring_sqe *sqe; struct nvme_cmd_ext_io_opts ext_opts = {0}; struct nvme_data *data = FILE_ENG_DATA(io_u->file); if (io_u->ddir == DDIR_TRIM) return; sqe = &ld->sqes[(io_u->index) << 1]; cmd = (struct nvme_uring_cmd *)sqe->cmd; if (data->pi_type) { if (o->pi_act) ext_opts.io_flags |= NVME_IO_PRINFO_PRACT; ext_opts.io_flags |= o->prchk; ext_opts.apptag = o->apptag; ext_opts.apptag_mask = o->apptag_mask; } fio_nvme_pi_fill(cmd, io_u, &ext_opts); } static inline void fio_ioring_cmdprio_prep(struct thread_data *td, struct io_u *io_u) { struct ioring_data *ld = td->io_ops_data; struct cmdprio *cmdprio = &ld->cmdprio; if (fio_cmdprio_set_ioprio(td, cmdprio, io_u)) ld->sqes[io_u->index].ioprio = io_u->ioprio; } static enum fio_q_status fio_ioring_queue(struct thread_data *td, struct io_u *io_u) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; struct io_sq_ring *ring = &ld->sq_ring; unsigned tail, next_tail; fio_ro_check(td, io_u); /* should not hit... */ if (ld->queued == td->o.iodepth) return FIO_Q_BUSY; /* if async trim has been tried and failed, punt to sync */ if (io_u->ddir == DDIR_TRIM && ld->async_trim_fail) { if (ld->queued) return FIO_Q_BUSY; do_io_u_trim(td, io_u); io_u_mark_submit(td, 1); io_u_mark_complete(td, 1); return FIO_Q_COMPLETED; } tail = *ring->tail; next_tail = tail + 1; if (next_tail == atomic_load_relaxed(ring->head)) return FIO_Q_BUSY; if (ld->cmdprio.mode != CMDPRIO_MODE_NONE) fio_ioring_cmdprio_prep(td, io_u); if (!strcmp(td->io_ops->name, "io_uring_cmd") && o->cmd_type == FIO_URING_CMD_NVME) fio_ioring_cmd_nvme_pi(td, io_u); ring->array[tail & ld->sq_ring_mask] = io_u->index; atomic_store_release(ring->tail, next_tail); ld->queued++; return FIO_Q_QUEUED; } static void fio_ioring_queued(struct thread_data *td, int start, int nr) { struct ioring_data *ld = td->io_ops_data; struct timespec now; if (!fio_fill_issue_time(td)) return; fio_gettime(&now, NULL); while (nr--) { struct io_sq_ring *ring = &ld->sq_ring; int index = ring->array[start & ld->sq_ring_mask]; struct io_u *io_u = ld->io_u_index[index]; memcpy(&io_u->issue_time, &now, sizeof(now)); io_u_queued(td, io_u); start++; } /* * only used for iolog */ if (td->o.read_iolog_file) memcpy(&td->last_issue, &now, sizeof(now)); } static int fio_ioring_commit(struct thread_data *td) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; int ret; if (!ld->queued) return 0; /* * Kernel side does submission. just need to check if the ring is * flagged as needing a kick, if so, call io_uring_enter(). This * only happens if we've been idle too long. */ if (o->sqpoll_thread) { struct io_sq_ring *ring = &ld->sq_ring; unsigned start = *ld->sq_ring.tail - ld->queued; unsigned flags; flags = atomic_load_relaxed(ring->flags); if (flags & IORING_SQ_NEED_WAKEUP) io_uring_enter(ld, ld->queued, 0, IORING_ENTER_SQ_WAKEUP); fio_ioring_queued(td, start, ld->queued); io_u_mark_submit(td, ld->queued); ld->queued = 0; return 0; } do { unsigned start = *ld->sq_ring.head; long nr = ld->queued; ret = io_uring_enter(ld, nr, 0, IORING_ENTER_GETEVENTS); if (ret > 0) { fio_ioring_queued(td, start, ret); io_u_mark_submit(td, ret); ld->queued -= ret; ret = 0; } else if (!ret) { io_u_mark_submit(td, ret); continue; } else { if (errno == EAGAIN || errno == EINTR) { ret = fio_ioring_cqring_reap(td, 0, ld->queued); if (ret) continue; /* Shouldn't happen */ usleep(1); continue; } ret = -errno; td_verror(td, errno, "io_uring_enter submit"); break; } } while (ld->queued); return ret; } static void fio_ioring_unmap(struct ioring_data *ld) { int i; for (i = 0; i < FIO_ARRAY_SIZE(ld->mmap); i++) munmap(ld->mmap[i].ptr, ld->mmap[i].len); close(ld->ring_fd); } static void fio_ioring_cleanup(struct thread_data *td) { struct ioring_data *ld = td->io_ops_data; if (ld) { if (!(td->flags & TD_F_CHILD)) fio_ioring_unmap(ld); fio_cmdprio_cleanup(&ld->cmdprio); free(ld->io_u_index); free(ld->md_buf); free(ld->iovecs); free(ld->fds); free(ld->dsm); free(ld); } } static int fio_ioring_mmap(struct ioring_data *ld, struct io_uring_params *p) { struct io_sq_ring *sring = &ld->sq_ring; struct io_cq_ring *cring = &ld->cq_ring; void *ptr; ld->mmap[0].len = p->sq_off.array + p->sq_entries * sizeof(__u32); ptr = mmap(0, ld->mmap[0].len, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, ld->ring_fd, IORING_OFF_SQ_RING); ld->mmap[0].ptr = ptr; sring->head = ptr + p->sq_off.head; sring->tail = ptr + p->sq_off.tail; sring->ring_mask = ptr + p->sq_off.ring_mask; sring->ring_entries = ptr + p->sq_off.ring_entries; sring->flags = ptr + p->sq_off.flags; sring->array = ptr + p->sq_off.array; ld->sq_ring_mask = *sring->ring_mask; if (p->flags & IORING_SETUP_SQE128) ld->mmap[1].len = 2 * p->sq_entries * sizeof(struct io_uring_sqe); else ld->mmap[1].len = p->sq_entries * sizeof(struct io_uring_sqe); ld->sqes = mmap(0, ld->mmap[1].len, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, ld->ring_fd, IORING_OFF_SQES); ld->mmap[1].ptr = ld->sqes; if (p->flags & IORING_SETUP_CQE32) { ld->mmap[2].len = p->cq_off.cqes + 2 * p->cq_entries * sizeof(struct io_uring_cqe); } else { ld->mmap[2].len = p->cq_off.cqes + p->cq_entries * sizeof(struct io_uring_cqe); } ptr = mmap(0, ld->mmap[2].len, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, ld->ring_fd, IORING_OFF_CQ_RING); ld->mmap[2].ptr = ptr; cring->head = ptr + p->cq_off.head; cring->tail = ptr + p->cq_off.tail; cring->ring_mask = ptr + p->cq_off.ring_mask; cring->ring_entries = ptr + p->cq_off.ring_entries; cring->cqes = ptr + p->cq_off.cqes; ld->cq_ring_mask = *cring->ring_mask; return 0; } static void fio_ioring_probe(struct thread_data *td) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; struct io_uring_probe *p; int ret; /* already set by user, don't touch */ if (o->nonvectored != -1) return; /* default to off, as that's always safe */ o->nonvectored = 0; p = calloc(1, sizeof(*p) + 256 * sizeof(struct io_uring_probe_op)); if (!p) return; ret = syscall(__NR_io_uring_register, ld->ring_fd, IORING_REGISTER_PROBE, p, 256); if (ret < 0) goto out; if (IORING_OP_WRITE > p->ops_len) goto out; if ((p->ops[IORING_OP_READ].flags & IO_URING_OP_SUPPORTED) && (p->ops[IORING_OP_WRITE].flags & IO_URING_OP_SUPPORTED)) o->nonvectored = 1; out: free(p); } static int fio_ioring_queue_init(struct thread_data *td) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; int depth = ld->iodepth; struct io_uring_params p; int ret; memset(&p, 0, sizeof(p)); if (o->hipri) p.flags |= IORING_SETUP_IOPOLL; if (o->sqpoll_thread) { p.flags |= IORING_SETUP_SQPOLL; if (o->sqpoll_set) { p.flags |= IORING_SETUP_SQ_AFF; p.sq_thread_cpu = o->sqpoll_cpu; } /* * Submission latency for sqpoll_thread is just the time it * takes to fill in the SQ ring entries, and any syscall if * IORING_SQ_NEED_WAKEUP is set, we don't need to log that time * separately. */ td->o.disable_slat = 1; } /* * Clamp CQ ring size at our SQ ring size, we don't need more entries * than that. */ p.flags |= IORING_SETUP_CQSIZE; p.cq_entries = depth; /* * Setup COOP_TASKRUN as we don't need to get IPI interrupted for * completing IO operations. */ p.flags |= IORING_SETUP_COOP_TASKRUN; /* * io_uring is always a single issuer, and we can defer task_work * runs until we reap events. */ p.flags |= IORING_SETUP_SINGLE_ISSUER | IORING_SETUP_DEFER_TASKRUN; retry: ret = syscall(__NR_io_uring_setup, depth, &p); if (ret < 0) { if (errno == EINVAL && p.flags & IORING_SETUP_DEFER_TASKRUN) { p.flags &= ~IORING_SETUP_DEFER_TASKRUN; p.flags &= ~IORING_SETUP_SINGLE_ISSUER; goto retry; } if (errno == EINVAL && p.flags & IORING_SETUP_COOP_TASKRUN) { p.flags &= ~IORING_SETUP_COOP_TASKRUN; goto retry; } if (errno == EINVAL && p.flags & IORING_SETUP_CQSIZE) { p.flags &= ~IORING_SETUP_CQSIZE; goto retry; } return ret; } ld->ring_fd = ret; fio_ioring_probe(td); if (o->fixedbufs) { ret = syscall(__NR_io_uring_register, ld->ring_fd, IORING_REGISTER_BUFFERS, ld->iovecs, depth); if (ret < 0) return ret; } return fio_ioring_mmap(ld, &p); } static int fio_ioring_cmd_queue_init(struct thread_data *td) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; int depth = ld->iodepth; struct io_uring_params p; int ret; memset(&p, 0, sizeof(p)); if (o->hipri) p.flags |= IORING_SETUP_IOPOLL; if (o->sqpoll_thread) { p.flags |= IORING_SETUP_SQPOLL; if (o->sqpoll_set) { p.flags |= IORING_SETUP_SQ_AFF; p.sq_thread_cpu = o->sqpoll_cpu; } /* * Submission latency for sqpoll_thread is just the time it * takes to fill in the SQ ring entries, and any syscall if * IORING_SQ_NEED_WAKEUP is set, we don't need to log that time * separately. */ td->o.disable_slat = 1; } if (o->cmd_type == FIO_URING_CMD_NVME) { p.flags |= IORING_SETUP_SQE128; p.flags |= IORING_SETUP_CQE32; } /* * Clamp CQ ring size at our SQ ring size, we don't need more entries * than that. */ p.flags |= IORING_SETUP_CQSIZE; p.cq_entries = depth; /* * Setup COOP_TASKRUN as we don't need to get IPI interrupted for * completing IO operations. */ p.flags |= IORING_SETUP_COOP_TASKRUN; /* * io_uring is always a single issuer, and we can defer task_work * runs until we reap events. */ p.flags |= IORING_SETUP_SINGLE_ISSUER | IORING_SETUP_DEFER_TASKRUN; retry: ret = syscall(__NR_io_uring_setup, depth, &p); if (ret < 0) { if (errno == EINVAL && p.flags & IORING_SETUP_DEFER_TASKRUN) { p.flags &= ~IORING_SETUP_DEFER_TASKRUN; p.flags &= ~IORING_SETUP_SINGLE_ISSUER; goto retry; } if (errno == EINVAL && p.flags & IORING_SETUP_COOP_TASKRUN) { p.flags &= ~IORING_SETUP_COOP_TASKRUN; goto retry; } if (errno == EINVAL && p.flags & IORING_SETUP_CQSIZE) { p.flags &= ~IORING_SETUP_CQSIZE; goto retry; } return ret; } ld->ring_fd = ret; fio_ioring_probe(td); if (o->fixedbufs) { ret = syscall(__NR_io_uring_register, ld->ring_fd, IORING_REGISTER_BUFFERS, ld->iovecs, depth); if (ret < 0) return ret; } return fio_ioring_mmap(ld, &p); } static int fio_ioring_register_files(struct thread_data *td) { struct ioring_data *ld = td->io_ops_data; struct fio_file *f; unsigned int i; int ret; ld->fds = calloc(td->o.nr_files, sizeof(int)); for_each_file(td, f, i) { ret = generic_open_file(td, f); if (ret) goto err; ld->fds[i] = f->fd; f->engine_pos = i; } ret = syscall(__NR_io_uring_register, ld->ring_fd, IORING_REGISTER_FILES, ld->fds, td->o.nr_files); if (ret) { err: free(ld->fds); ld->fds = NULL; } /* * Pretend the file is closed again, and really close it if we hit * an error. */ for_each_file(td, f, i) { if (ret) { int fio_unused ret2; ret2 = generic_close_file(td, f); } else f->fd = -1; } return ret; } static int fio_ioring_post_init(struct thread_data *td) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; struct io_u *io_u; int err, i; for (i = 0; i < td->o.iodepth; i++) { struct iovec *iov = &ld->iovecs[i]; io_u = ld->io_u_index[i]; iov->iov_base = io_u->buf; iov->iov_len = td_max_bs(td); } err = fio_ioring_queue_init(td); if (err) { int init_err = errno; if (init_err == ENOSYS) log_err("fio: your kernel doesn't support io_uring\n"); td_verror(td, init_err, "io_queue_init"); return 1; } for (i = 0; i < ld->iodepth; i++) { struct io_uring_sqe *sqe; sqe = &ld->sqes[i]; memset(sqe, 0, sizeof(*sqe)); } if (o->registerfiles) { err = fio_ioring_register_files(td); if (err) { td_verror(td, errno, "ioring_register_files"); return 1; } } return 0; } static int fio_ioring_cmd_post_init(struct thread_data *td) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; struct io_u *io_u; int err, i; for (i = 0; i < td->o.iodepth; i++) { struct iovec *iov = &ld->iovecs[i]; io_u = ld->io_u_index[i]; iov->iov_base = io_u->buf; iov->iov_len = td_max_bs(td); } err = fio_ioring_cmd_queue_init(td); if (err) { int init_err = errno; td_verror(td, init_err, "io_queue_init"); return 1; } for (i = 0; i < ld->iodepth; i++) { struct io_uring_sqe *sqe; if (o->cmd_type == FIO_URING_CMD_NVME) { sqe = &ld->sqes[i << 1]; memset(sqe, 0, 2 * sizeof(*sqe)); } else { sqe = &ld->sqes[i]; memset(sqe, 0, sizeof(*sqe)); } } if (o->registerfiles) { err = fio_ioring_register_files(td); if (err) { td_verror(td, errno, "ioring_register_files"); return 1; } } return 0; } static void parse_prchk_flags(struct ioring_options *o) { if (!o->pi_chk) return; if (strstr(o->pi_chk, "GUARD") != NULL) o->prchk = NVME_IO_PRINFO_PRCHK_GUARD; if (strstr(o->pi_chk, "REFTAG") != NULL) o->prchk |= NVME_IO_PRINFO_PRCHK_REF; if (strstr(o->pi_chk, "APPTAG") != NULL) o->prchk |= NVME_IO_PRINFO_PRCHK_APP; } static int fio_ioring_init(struct thread_data *td) { struct ioring_options *o = td->eo; struct ioring_data *ld; struct nvme_dsm *dsm; void *ptr; unsigned int dsm_size; unsigned long long md_size; int ret, i; /* sqthread submission requires registered files */ if (o->sqpoll_thread) o->registerfiles = 1; if (o->registerfiles && td->o.nr_files != td->o.open_files) { log_err("fio: io_uring registered files require nr_files to " "be identical to open_files\n"); return 1; } ld = calloc(1, sizeof(*ld)); /* * The internal io_uring queue depth must be a power-of-2, as that's * how the ring interface works. So round that up, in case the user * set iodepth isn't a power-of-2. Leave the fio depth the same, as * not to be driving too much of an iodepth, if we did round up. */ ld->iodepth = roundup_pow2(td->o.iodepth); /* io_u index */ ld->io_u_index = calloc(td->o.iodepth, sizeof(struct io_u *)); /* * metadata buffer for nvme command. * We are only supporting iomem=malloc / mem=malloc as of now. */ if (!strcmp(td->io_ops->name, "io_uring_cmd") && (o->cmd_type == FIO_URING_CMD_NVME) && o->md_per_io_size) { md_size = (unsigned long long) o->md_per_io_size * (unsigned long long) td->o.iodepth; md_size += page_mask + td->o.mem_align; if (td->o.mem_align && td->o.mem_align > page_size) md_size += td->o.mem_align - page_size; ld->md_buf = malloc(md_size); if (!ld->md_buf) { free(ld); return 1; } } parse_prchk_flags(o); ld->iovecs = calloc(ld->iodepth, sizeof(struct iovec)); td->io_ops_data = ld; ret = fio_cmdprio_init(td, &ld->cmdprio, &o->cmdprio_options); if (ret) { td_verror(td, EINVAL, "fio_ioring_init"); return 1; } /* * For io_uring_cmd, trims are async operations unless we are operating * in zbd mode where trim means zone reset. */ if (!strcmp(td->io_ops->name, "io_uring_cmd") && td_trim(td) && td->o.zone_mode == ZONE_MODE_ZBD) { td->io_ops->flags |= FIO_ASYNCIO_SYNC_TRIM; } else { dsm_size = sizeof(*ld->dsm) + td->o.num_range * sizeof(struct nvme_dsm_range); ld->dsm = calloc(td->o.iodepth, dsm_size); ptr = ld->dsm; for (i = 0; i < td->o.iodepth; i++) { dsm = (struct nvme_dsm *)ptr; dsm->nr_ranges = td->o.num_range; ptr += dsm_size; } } if (!strcmp(td->io_ops->name, "io_uring_cmd")) { if (td_write(td)) { switch (o->write_mode) { case FIO_URING_CMD_WMODE_UNCOR: ld->write_opcode = nvme_cmd_write_uncor; break; case FIO_URING_CMD_WMODE_ZEROES: ld->write_opcode = nvme_cmd_write_zeroes; if (o->deac) ld->cdw12_flags[DDIR_WRITE] = 1 << 25; break; case FIO_URING_CMD_WMODE_VERIFY: ld->write_opcode = nvme_cmd_verify; break; default: ld->write_opcode = nvme_cmd_write; break; } } if (o->readfua) ld->cdw12_flags[DDIR_READ] = 1 << 30; if (o->writefua) ld->cdw12_flags[DDIR_WRITE] = 1 << 30; } return 0; } static int fio_ioring_io_u_init(struct thread_data *td, struct io_u *io_u) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; struct nvme_pi_data *pi_data; char *p; ld->io_u_index[io_u->index] = io_u; if (!strcmp(td->io_ops->name, "io_uring_cmd")) { p = PTR_ALIGN(ld->md_buf, page_mask) + td->o.mem_align; p += o->md_per_io_size * io_u->index; io_u->mmap_data = p; if (!o->pi_act) { pi_data = calloc(1, sizeof(*pi_data)); pi_data->io_flags |= o->prchk; pi_data->apptag_mask = o->apptag_mask; pi_data->apptag = o->apptag; io_u->engine_data = pi_data; } } return 0; } static void fio_ioring_io_u_free(struct thread_data *td, struct io_u *io_u) { struct ioring_options *o = td->eo; struct nvme_pi *pi; if (!strcmp(td->io_ops->name, "io_uring_cmd") && (o->cmd_type == FIO_URING_CMD_NVME)) { pi = io_u->engine_data; free(pi); io_u->engine_data = NULL; } } static int fio_ioring_open_file(struct thread_data *td, struct fio_file *f) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; if (!ld || !o->registerfiles) return generic_open_file(td, f); f->fd = ld->fds[f->engine_pos]; return 0; } static int fio_ioring_cmd_open_file(struct thread_data *td, struct fio_file *f) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; if (o->cmd_type == FIO_URING_CMD_NVME) { struct nvme_data *data = NULL; unsigned int lba_size = 0; __u64 nlba = 0; int ret; /* Store the namespace-id and lba size. */ data = FILE_ENG_DATA(f); if (data == NULL) { data = calloc(1, sizeof(struct nvme_data)); ret = fio_nvme_get_info(f, &nlba, o->pi_act, data); if (ret) { free(data); return ret; } FILE_SET_ENG_DATA(f, data); } lba_size = data->lba_ext ? data->lba_ext : data->lba_size; for_each_rw_ddir(ddir) { if (td->o.min_bs[ddir] % lba_size || td->o.max_bs[ddir] % lba_size) { if (data->lba_ext) { log_err("%s: block size must be a multiple of %u " "(LBA data size + Metadata size)\n", f->file_name, lba_size); if (td->o.min_bs[ddir] == td->o.max_bs[ddir] && !(td->o.min_bs[ddir] % data->lba_size)) { /* fixed block size is actually a multiple of LBA data size */ unsigned long long suggestion = lba_size * (td->o.min_bs[ddir] / data->lba_size); log_err("Did you mean to use a block size of %llu?\n", suggestion); } } else { log_err("%s: block size must be a multiple of LBA data size\n", f->file_name); } td_verror(td, EINVAL, "fio_ioring_cmd_open_file"); return 1; } if (data->ms && !data->lba_ext && ddir != DDIR_TRIM && (o->md_per_io_size < ((td->o.max_bs[ddir] / data->lba_size) * data->ms))) { log_err("%s: md_per_io_size should be at least %llu bytes\n", f->file_name, ((td->o.max_bs[ddir] / data->lba_size) * data->ms)); td_verror(td, EINVAL, "fio_ioring_cmd_open_file"); return 1; } } /* * For extended logical block sizes we cannot use verify when * end to end data protection checks are enabled, as the PI * section of data buffer conflicts with verify. */ if (data->ms && data->pi_type && data->lba_ext && td->o.verify != VERIFY_NONE) { log_err("%s: for extended LBA, verify cannot be used when E2E data protection is enabled\n", f->file_name); td_verror(td, EINVAL, "fio_ioring_cmd_open_file"); return 1; } if (o->write_mode != FIO_URING_CMD_WMODE_WRITE && !td_write(td)) { log_err("%s: 'readwrite=|rw=' has no write\n", f->file_name); td_verror(td, EINVAL, "fio_ioring_cmd_open_file"); return 1; } } if (!ld || !o->registerfiles) return generic_open_file(td, f); f->fd = ld->fds[f->engine_pos]; return 0; } static int fio_ioring_close_file(struct thread_data *td, struct fio_file *f) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; if (!ld || !o->registerfiles) return generic_close_file(td, f); f->fd = -1; return 0; } static int fio_ioring_cmd_close_file(struct thread_data *td, struct fio_file *f) { struct ioring_data *ld = td->io_ops_data; struct ioring_options *o = td->eo; if (o->cmd_type == FIO_URING_CMD_NVME) { struct nvme_data *data = FILE_ENG_DATA(f); FILE_SET_ENG_DATA(f, NULL); free(data); } if (!ld || !o->registerfiles) return generic_close_file(td, f); f->fd = -1; return 0; } static int fio_ioring_cmd_get_file_size(struct thread_data *td, struct fio_file *f) { struct ioring_options *o = td->eo; if (fio_file_size_known(f)) return 0; if (o->cmd_type == FIO_URING_CMD_NVME) { struct nvme_data *data = NULL; __u64 nlba = 0; int ret; data = calloc(1, sizeof(struct nvme_data)); ret = fio_nvme_get_info(f, &nlba, o->pi_act, data); if (ret) { free(data); return ret; } f->real_file_size = data->lba_size * nlba; fio_file_set_size_known(f); FILE_SET_ENG_DATA(f, data); return 0; } return generic_get_file_size(td, f); } static int fio_ioring_cmd_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model) { return fio_nvme_get_zoned_model(td, f, model); } static int fio_ioring_cmd_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zbdz, unsigned int nr_zones) { return fio_nvme_report_zones(td, f, offset, zbdz, nr_zones); } static int fio_ioring_cmd_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { return fio_nvme_reset_wp(td, f, offset, length); } static int fio_ioring_cmd_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones) { return fio_nvme_get_max_open_zones(td, f, max_open_zones); } static int fio_ioring_cmd_fetch_ruhs(struct thread_data *td, struct fio_file *f, struct fio_ruhs_info *fruhs_info) { struct nvme_fdp_ruh_status *ruhs; int bytes, nr_ruhs, ret, i; nr_ruhs = fruhs_info->nr_ruhs; bytes = sizeof(*ruhs) + fruhs_info->nr_ruhs * sizeof(struct nvme_fdp_ruh_status_desc); ruhs = calloc(1, bytes); if (!ruhs) return -ENOMEM; ret = fio_nvme_iomgmt_ruhs(td, f, ruhs, bytes); if (ret) goto free; fruhs_info->nr_ruhs = le16_to_cpu(ruhs->nruhsd); for (i = 0; i < nr_ruhs; i++) fruhs_info->plis[i] = le16_to_cpu(ruhs->ruhss[i].pid); free: free(ruhs); return ret; } static struct ioengine_ops ioengine_uring = { .name = "io_uring", .version = FIO_IOOPS_VERSION, .flags = FIO_NO_OFFLOAD | FIO_ASYNCIO_SETS_ISSUE_TIME | FIO_ATOMICWRITES, .init = fio_ioring_init, .post_init = fio_ioring_post_init, .io_u_init = fio_ioring_io_u_init, .prep = fio_ioring_prep, .queue = fio_ioring_queue, .commit = fio_ioring_commit, .getevents = fio_ioring_getevents, .event = fio_ioring_event, .cleanup = fio_ioring_cleanup, .open_file = fio_ioring_open_file, .close_file = fio_ioring_close_file, .get_file_size = generic_get_file_size, .options = options, .option_struct_size = sizeof(struct ioring_options), }; static struct ioengine_ops ioengine_uring_cmd = { .name = "io_uring_cmd", .version = FIO_IOOPS_VERSION, .flags = FIO_NO_OFFLOAD | FIO_MEMALIGN | FIO_RAWIO | FIO_ASYNCIO_SETS_ISSUE_TIME | FIO_MULTI_RANGE_TRIM, .init = fio_ioring_init, .post_init = fio_ioring_cmd_post_init, .io_u_init = fio_ioring_io_u_init, .io_u_free = fio_ioring_io_u_free, .prep = fio_ioring_cmd_prep, .queue = fio_ioring_queue, .commit = fio_ioring_commit, .getevents = fio_ioring_getevents, .event = fio_ioring_cmd_event, .errdetails = fio_ioring_cmd_errdetails, .cleanup = fio_ioring_cleanup, .open_file = fio_ioring_cmd_open_file, .close_file = fio_ioring_cmd_close_file, .get_file_size = fio_ioring_cmd_get_file_size, .get_zoned_model = fio_ioring_cmd_get_zoned_model, .report_zones = fio_ioring_cmd_report_zones, .reset_wp = fio_ioring_cmd_reset_wp, .get_max_open_zones = fio_ioring_cmd_get_max_open_zones, .options = options, .option_struct_size = sizeof(struct ioring_options), .fdp_fetch_ruhs = fio_ioring_cmd_fetch_ruhs, }; static void fio_init fio_ioring_register(void) { register_ioengine(&ioengine_uring); register_ioengine(&ioengine_uring_cmd); } static void fio_exit fio_ioring_unregister(void) { unregister_ioengine(&ioengine_uring); unregister_ioengine(&ioengine_uring_cmd); } #endif fio-3.39/engines/libaio.c000066400000000000000000000271371476262051600153030ustar00rootroot00000000000000/* * libaio engine * * IO engine using the Linux native aio interface. * */ #include #include #include #include #include #include #include "../fio.h" #include "../lib/pow2.h" #include "../optgroup.h" #include "../lib/memalign.h" #include "cmdprio.h" /* Should be defined in newest aio_abi.h */ #ifndef IOCB_FLAG_IOPRIO #define IOCB_FLAG_IOPRIO (1 << 1) #endif /* Hack for libaio < 0.3.111 */ #ifndef CONFIG_LIBAIO_RW_FLAGS #define aio_rw_flags __pad2 #endif static int fio_libaio_commit(struct thread_data *td); static int fio_libaio_init(struct thread_data *td); struct libaio_data { io_context_t aio_ctx; struct io_event *aio_events; struct iocb **iocbs; struct io_u **io_us; struct io_u **io_u_index; struct iovec *iovecs; /* for vectored requests */ /* * Basic ring buffer. 'head' is incremented in _queue(), and * 'tail' is incremented in _commit(). We keep 'queued' so * that we know if the ring is full or empty, when * 'head' == 'tail'. 'entries' is the ring size, and * 'is_pow2' is just an optimization to use AND instead of * modulus to get the remainder on ring increment. */ int is_pow2; unsigned int entries; unsigned int queued; unsigned int head; unsigned int tail; struct cmdprio cmdprio; }; struct libaio_options { struct thread_data *td; unsigned int userspace_reap; struct cmdprio_options cmdprio_options; unsigned int nowait; unsigned int vectored; }; static struct fio_option options[] = { { .name = "userspace_reap", .lname = "Libaio userspace reaping", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct libaio_options, userspace_reap), .help = "Use alternative user-space reap implementation", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBAIO, }, { .name = "nowait", .lname = "RWF_NOWAIT", .type = FIO_OPT_BOOL, .off1 = offsetof(struct libaio_options, nowait), .help = "Set RWF_NOWAIT for reads/writes", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBAIO, }, { .name = "libaio_vectored", .lname = "Use libaio preadv,pwritev", .type = FIO_OPT_BOOL, .off1 = offsetof(struct libaio_options, vectored), .help = "Use libaio {preadv,pwritev} instead of libaio {pread,pwrite}", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBAIO, }, CMDPRIO_OPTIONS(struct libaio_options, FIO_OPT_G_LIBAIO), { .name = NULL, }, }; static inline void ring_inc(struct libaio_data *ld, unsigned int *val, unsigned int add) { if (ld->is_pow2) *val = (*val + add) & (ld->entries - 1); else *val = (*val + add) % ld->entries; } static int fio_libaio_prep(struct thread_data *td, struct io_u *io_u) { struct libaio_options *o = td->eo; struct fio_file *f = io_u->file; struct iocb *iocb = &io_u->iocb; struct libaio_data *ld = td->io_ops_data; if (io_u->ddir == DDIR_READ) { if (o->vectored) { struct iovec *iov = &ld->iovecs[io_u->index]; iov->iov_base = io_u->xfer_buf; iov->iov_len = (size_t)io_u->xfer_buflen; io_prep_preadv(iocb, f->fd, iov, 1, io_u->offset); } else { io_prep_pread(iocb, f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); } if (o->nowait) iocb->aio_rw_flags |= RWF_NOWAIT; } else if (io_u->ddir == DDIR_WRITE) { if (o->vectored) { struct iovec *iov = &ld->iovecs[io_u->index]; iov->iov_base = io_u->xfer_buf; iov->iov_len = (size_t)io_u->xfer_buflen; io_prep_pwritev(iocb, f->fd, iov, 1, io_u->offset); } else { io_prep_pwrite(iocb, f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); } if (o->nowait) iocb->aio_rw_flags |= RWF_NOWAIT; #ifdef FIO_HAVE_RWF_ATOMIC if (td->o.oatomic) iocb->aio_rw_flags |= RWF_ATOMIC; #endif } else if (ddir_sync(io_u->ddir)) io_prep_fsync(iocb, f->fd); return 0; } static inline void fio_libaio_cmdprio_prep(struct thread_data *td, struct io_u *io_u) { struct libaio_data *ld = td->io_ops_data; struct cmdprio *cmdprio = &ld->cmdprio; if (fio_cmdprio_set_ioprio(td, cmdprio, io_u)) { io_u->iocb.aio_reqprio = io_u->ioprio; io_u->iocb.u.c.flags |= IOCB_FLAG_IOPRIO; } } static struct io_u *fio_libaio_event(struct thread_data *td, int event) { struct libaio_data *ld = td->io_ops_data; struct io_event *ev; struct io_u *io_u; ev = ld->aio_events + event; io_u = container_of(ev->obj, struct io_u, iocb); if (ev->res != io_u->xfer_buflen) { if (ev->res > io_u->xfer_buflen) io_u->error = -ev->res; else io_u->resid = io_u->xfer_buflen - ev->res; } else io_u->error = 0; return io_u; } struct aio_ring { unsigned id; /** kernel internal index number */ unsigned nr; /** number of io_events */ unsigned head; unsigned tail; unsigned magic; unsigned compat_features; unsigned incompat_features; unsigned header_length; /** size of aio_ring */ struct io_event events[0]; }; #define AIO_RING_MAGIC 0xa10a10a1 static int user_io_getevents(io_context_t aio_ctx, unsigned int max, struct io_event *events) { long i = 0; unsigned head; struct aio_ring *ring = (struct aio_ring*) aio_ctx; while (i < max) { head = ring->head; if (head == ring->tail) { /* There are no more completions */ break; } else { /* There is another completion to reap */ events[i] = ring->events[head]; atomic_store_release(&ring->head, (head + 1) % ring->nr); i++; } } return i; } static int fio_libaio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct libaio_data *ld = td->io_ops_data; struct libaio_options *o = td->eo; unsigned actual_min = td->o.iodepth_batch_complete_min == 0 ? 0 : min; struct timespec __lt, *lt = NULL; int r, events = 0; if (t) { __lt = *t; lt = &__lt; } do { if (o->userspace_reap == 1 && actual_min == 0 && ((struct aio_ring *)(ld->aio_ctx))->magic == AIO_RING_MAGIC) { r = user_io_getevents(ld->aio_ctx, max - events, ld->aio_events + events); } else { r = io_getevents(ld->aio_ctx, actual_min, max - events, ld->aio_events + events, lt); } if (r > 0) { events += r; actual_min -= min((unsigned int)events, actual_min); } else if ((min && r == 0) || r == -EAGAIN) { fio_libaio_commit(td); if (actual_min) usleep(10); } else if (r != -EINTR) break; } while (events < min); return r < 0 ? r : events; } static enum fio_q_status fio_libaio_queue(struct thread_data *td, struct io_u *io_u) { struct libaio_data *ld = td->io_ops_data; fio_ro_check(td, io_u); if (ld->queued == td->o.iodepth) return FIO_Q_BUSY; /* * fsync is tricky, since it can fail and we need to do it * serialized with other io. the reason is that linux doesn't * support aio fsync yet. So return busy for the case where we * have pending io, to let fio complete those first. */ if (ddir_sync(io_u->ddir)) { if (ld->queued) return FIO_Q_BUSY; do_io_u_sync(td, io_u); return FIO_Q_COMPLETED; } if (io_u->ddir == DDIR_TRIM) { if (ld->queued) return FIO_Q_BUSY; do_io_u_trim(td, io_u); io_u_mark_submit(td, 1); io_u_mark_complete(td, 1); return FIO_Q_COMPLETED; } if (ld->cmdprio.mode != CMDPRIO_MODE_NONE) fio_libaio_cmdprio_prep(td, io_u); ld->iocbs[ld->head] = &io_u->iocb; ld->io_us[ld->head] = io_u; ring_inc(ld, &ld->head, 1); ld->queued++; return FIO_Q_QUEUED; } static void fio_libaio_queued(struct thread_data *td, struct io_u **io_us, unsigned int nr) { struct timespec now; unsigned int i; if (!fio_fill_issue_time(td)) return; fio_gettime(&now, NULL); for (i = 0; i < nr; i++) { struct io_u *io_u = io_us[i]; memcpy(&io_u->issue_time, &now, sizeof(now)); io_u_queued(td, io_u); } /* * only used for iolog */ if (td->o.read_iolog_file) memcpy(&td->last_issue, &now, sizeof(now)); } static int fio_libaio_commit(struct thread_data *td) { struct libaio_data *ld = td->io_ops_data; struct iocb **iocbs; struct io_u **io_us; struct timespec ts; int ret, wait_start = 0; if (!ld->queued) return 0; do { long nr = ld->queued; nr = min((unsigned int) nr, ld->entries - ld->tail); io_us = ld->io_us + ld->tail; iocbs = ld->iocbs + ld->tail; ret = io_submit(ld->aio_ctx, nr, iocbs); if (ret > 0) { fio_libaio_queued(td, io_us, ret); io_u_mark_submit(td, ret); ld->queued -= ret; ring_inc(ld, &ld->tail, ret); ret = 0; wait_start = 0; } else if (ret == -EINTR || !ret) { if (!ret) io_u_mark_submit(td, ret); wait_start = 0; continue; } else if (ret == -EAGAIN) { /* * If we get EAGAIN, we should break out without * error and let the upper layer reap some * events for us. If we have no queued IO, we * must loop here. If we loop for more than 30s, * just error out, something must be buggy in the * IO path. */ if (ld->queued) { ret = 0; break; } if (!wait_start) { fio_gettime(&ts, NULL); wait_start = 1; } else if (mtime_since_now(&ts) > 30000) { log_err("fio: aio appears to be stalled, giving up\n"); break; } usleep(1); continue; } else if (ret == -ENOMEM) { /* * If we get -ENOMEM, reap events if we can. If * we cannot, treat it as a fatal event since there's * nothing we can do about it. */ if (ld->queued) ret = 0; break; } else break; } while (ld->queued); return ret; } static int fio_libaio_cancel(struct thread_data *td, struct io_u *io_u) { struct libaio_data *ld = td->io_ops_data; return io_cancel(ld->aio_ctx, &io_u->iocb, ld->aio_events); } static void fio_libaio_cleanup(struct thread_data *td) { struct libaio_data *ld = td->io_ops_data; if (ld) { /* * Work-around to avoid huge RCU stalls at exit time. If we * don't do this here, then it'll be torn down by exit_aio(). * But for that case we can parallellize the freeing, thus * speeding it up a lot. */ if (!(td->flags & TD_F_CHILD)) io_destroy(ld->aio_ctx); fio_cmdprio_cleanup(&ld->cmdprio); free(ld->iovecs); free(ld->aio_events); free(ld->iocbs); free(ld->io_us); free(ld); } } static int fio_libaio_post_init(struct thread_data *td) { struct libaio_data *ld = td->io_ops_data; int err; err = io_queue_init(td->o.iodepth, &ld->aio_ctx); if (err) { td_verror(td, -err, "io_queue_init"); return 1; } return 0; } static int fio_libaio_init(struct thread_data *td) { struct libaio_data *ld; struct libaio_options *o = td->eo; int ret; ld = calloc(1, sizeof(*ld)); ld->entries = td->o.iodepth; ld->is_pow2 = is_power_of_2(ld->entries); ld->aio_events = calloc(ld->entries, sizeof(struct io_event)); ld->iocbs = calloc(ld->entries, sizeof(struct iocb *)); ld->io_us = calloc(ld->entries, sizeof(struct io_u *)); ld->iovecs = calloc(ld->entries, sizeof(ld->iovecs[0])); td->io_ops_data = ld; ret = fio_cmdprio_init(td, &ld->cmdprio, &o->cmdprio_options); if (ret) { td_verror(td, EINVAL, "fio_libaio_init"); return 1; } return 0; } FIO_STATIC struct ioengine_ops ioengine = { .name = "libaio", .version = FIO_IOOPS_VERSION, .flags = FIO_ASYNCIO_SYNC_TRIM | FIO_ASYNCIO_SETS_ISSUE_TIME | FIO_ATOMICWRITES, .init = fio_libaio_init, .post_init = fio_libaio_post_init, .prep = fio_libaio_prep, .queue = fio_libaio_queue, .commit = fio_libaio_commit, .cancel = fio_libaio_cancel, .getevents = fio_libaio_getevents, .event = fio_libaio_event, .cleanup = fio_libaio_cleanup, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .options = options, .option_struct_size = sizeof(struct libaio_options), }; static void fio_init fio_libaio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_libaio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/libblkio.c000066400000000000000000000544501476262051600156310ustar00rootroot00000000000000/* * libblkio engine * * IO engine using libblkio to access various block I/O interfaces: * https://gitlab.com/libblkio/libblkio */ #include #include #include #include #include #include #include #include #include "../fio.h" #include "../optgroup.h" #include "../options.h" #include "../parse.h" /* per-process state */ static struct { pthread_mutex_t mutex; int initted_threads; int initted_hipri_threads; struct blkio *b; } proc_state = { PTHREAD_MUTEX_INITIALIZER, 0, 0, NULL }; static void fio_blkio_proc_lock(void) { int ret; ret = pthread_mutex_lock(&proc_state.mutex); assert(ret == 0); } static void fio_blkio_proc_unlock(void) { int ret; ret = pthread_mutex_unlock(&proc_state.mutex); assert(ret == 0); } /* per-thread state */ struct fio_blkio_data { struct blkioq *q; int completion_fd; /* may be -1 if not FIO_BLKIO_WAIT_MODE_EVENTFD */ bool has_mem_region; /* whether mem_region is valid */ struct blkio_mem_region mem_region; /* only if allocated by libblkio */ struct iovec *iovecs; /* for vectored requests */ struct blkio_completion *completions; }; enum fio_blkio_wait_mode { FIO_BLKIO_WAIT_MODE_BLOCK, FIO_BLKIO_WAIT_MODE_EVENTFD, FIO_BLKIO_WAIT_MODE_LOOP, }; struct fio_blkio_options { void *pad; /* option fields must not have offset 0 */ char *driver; char *path; char *pre_connect_props; int num_entries; int queue_size; char *pre_start_props; unsigned int hipri; unsigned int vectored; unsigned int write_zeroes_on_trim; enum fio_blkio_wait_mode wait_mode; unsigned int force_enable_completion_eventfd; }; static struct fio_option options[] = { { .name = "libblkio_driver", .lname = "libblkio driver name", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct fio_blkio_options, driver), .help = "Name of the driver to be used by libblkio", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "libblkio_path", .lname = "libblkio \"path\" property", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct fio_blkio_options, path), .help = "Value to set the \"path\" property to", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "libblkio_pre_connect_props", .lname = "Additional properties to be set before blkio_connect()", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct fio_blkio_options, pre_connect_props), .help = "", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "libblkio_num_entries", .lname = "libblkio \"num-entries\" property", .type = FIO_OPT_INT, .off1 = offsetof(struct fio_blkio_options, num_entries), .help = "Value to set the \"num-entries\" property to", .minval = 1, .interval = 1, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "libblkio_queue_size", .lname = "libblkio \"queue-size\" property", .type = FIO_OPT_INT, .off1 = offsetof(struct fio_blkio_options, queue_size), .help = "Value to set the \"queue-size\" property to", .minval = 1, .interval = 1, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "libblkio_pre_start_props", .lname = "Additional properties to be set before blkio_start()", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct fio_blkio_options, pre_start_props), .help = "", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "hipri", .lname = "Use poll queues", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct fio_blkio_options, hipri), .help = "Use poll queues", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "libblkio_vectored", .lname = "Use blkioq_{readv,writev}()", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct fio_blkio_options, vectored), .help = "Use blkioq_{readv,writev}() instead of blkioq_{read,write}()", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "libblkio_write_zeroes_on_trim", .lname = "Use blkioq_write_zeroes() for TRIM", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct fio_blkio_options, write_zeroes_on_trim), .help = "Use blkioq_write_zeroes() for TRIM instead of blkioq_discard()", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "libblkio_wait_mode", .lname = "How to wait for completions", .type = FIO_OPT_STR, .off1 = offsetof(struct fio_blkio_options, wait_mode), .help = "How to wait for completions", .def = "block", .posval = { { .ival = "block", .oval = FIO_BLKIO_WAIT_MODE_BLOCK, .help = "Blocking blkioq_do_io()", }, { .ival = "eventfd", .oval = FIO_BLKIO_WAIT_MODE_EVENTFD, .help = "Blocking read() on the completion eventfd", }, { .ival = "loop", .oval = FIO_BLKIO_WAIT_MODE_LOOP, .help = "Busy loop with non-blocking blkioq_do_io()", }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = "libblkio_force_enable_completion_eventfd", .lname = "Force enable the completion eventfd, even if unused", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct fio_blkio_options, force_enable_completion_eventfd), .help = "This can impact performance", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBBLKIO, }, { .name = NULL, }, }; static int fio_blkio_set_props_from_str(struct blkio *b, const char *opt_name, const char *str) { int ret = 0; char *new_str, *name, *value; if (!str) return 0; /* iteration can mutate string, so copy it */ new_str = strdup(str); if (!new_str) { log_err("fio: strdup() failed\n"); return 1; } /* iterate over property name-value pairs */ while ((name = get_next_str(&new_str))) { /* split into property name and value */ value = strchr(name, '='); if (!value) { log_err("fio: missing '=' in option %s\n", opt_name); ret = 1; break; } *value = '\0'; ++value; /* strip whitespace from property name */ strip_blank_front(&name); strip_blank_end(name); if (name[0] == '\0') { log_err("fio: empty property name in option %s\n", opt_name); ret = 1; break; } /* strip whitespace from property value */ strip_blank_front(&value); strip_blank_end(value); /* set property */ if (blkio_set_str(b, name, value) != 0) { log_err("fio: error setting property '%s' to '%s': %s\n", name, value, blkio_get_error_msg()); ret = 1; break; } } free(new_str); return ret; } /* * Log the failure of a libblkio function. * * `(void)func` is to ensure `func` exists and prevent typos */ #define fio_blkio_log_err(func) \ ({ \ (void)func; \ log_err("fio: %s() failed: %s\n", #func, \ blkio_get_error_msg()); \ }) static bool possibly_null_strs_equal(const char *a, const char *b) { return (!a && !b) || (a && b && strcmp(a, b) == 0); } /* * Returns the total number of subjobs using the 'libblkio' ioengine and setting * the 'thread' option in the entire workload that have the given value for the * 'hipri' option. */ static int total_threaded_subjobs(bool hipri) { int count = 0; for_each_td(td) { const struct fio_blkio_options *options = td->eo; if (strcmp(td->o.ioengine, "libblkio") == 0 && td->o.use_thread && (bool)options->hipri == hipri) ++count; } end_for_each(); return count; } static struct { bool set_up; bool direct; struct fio_blkio_options opts; } first_threaded_subjob = { 0 }; static void fio_blkio_log_opt_compat_err(const char *option_name) { log_err("fio: jobs using engine libblkio and sharing a process must agree on the %s option\n", option_name); } /* * If td represents a subjob with option 'thread', check if its options are * compatible with those of other threaded subjobs that were already set up. */ static int fio_blkio_check_opt_compat(struct thread_data *td) { const struct fio_blkio_options *options = td->eo, *prev_options; if (!td->o.use_thread) return 0; /* subjob doesn't use 'thread' */ if (!first_threaded_subjob.set_up) { /* first subjob using 'thread', store options for later */ first_threaded_subjob.set_up = true; first_threaded_subjob.direct = td->o.odirect; first_threaded_subjob.opts = *options; return 0; } /* not first subjob using 'thread', check option compatibility */ prev_options = &first_threaded_subjob.opts; if (td->o.odirect != first_threaded_subjob.direct) { fio_blkio_log_opt_compat_err("direct/buffered"); return 1; } if (strcmp(options->driver, prev_options->driver) != 0) { fio_blkio_log_opt_compat_err("libblkio_driver"); return 1; } if (!possibly_null_strs_equal(options->path, prev_options->path)) { fio_blkio_log_opt_compat_err("libblkio_path"); return 1; } if (!possibly_null_strs_equal(options->pre_connect_props, prev_options->pre_connect_props)) { fio_blkio_log_opt_compat_err("libblkio_pre_connect_props"); return 1; } if (options->num_entries != prev_options->num_entries) { fio_blkio_log_opt_compat_err("libblkio_num_entries"); return 1; } if (options->queue_size != prev_options->queue_size) { fio_blkio_log_opt_compat_err("libblkio_queue_size"); return 1; } if (!possibly_null_strs_equal(options->pre_start_props, prev_options->pre_start_props)) { fio_blkio_log_opt_compat_err("libblkio_pre_start_props"); return 1; } return 0; } static int fio_blkio_create_and_connect(struct thread_data *td, struct blkio **out_blkio) { const struct fio_blkio_options *options = td->eo; struct blkio *b; int ret; if (!options->driver) { log_err("fio: engine libblkio requires option libblkio_driver to be set\n"); return 1; } if (blkio_create(options->driver, &b) != 0) { fio_blkio_log_err(blkio_create); return 1; } /* don't fail if driver doesn't have a "direct" property */ ret = blkio_set_bool(b, "direct", td->o.odirect); if (ret != 0 && ret != -ENOENT) { fio_blkio_log_err(blkio_set_bool); goto err_blkio_destroy; } if (blkio_set_bool(b, "read-only", read_only) != 0) { fio_blkio_log_err(blkio_set_bool); goto err_blkio_destroy; } if (options->path) { if (blkio_set_str(b, "path", options->path) != 0) { fio_blkio_log_err(blkio_set_str); goto err_blkio_destroy; } } if (fio_blkio_set_props_from_str(b, "libblkio_pre_connect_props", options->pre_connect_props) != 0) goto err_blkio_destroy; if (blkio_connect(b) != 0) { fio_blkio_log_err(blkio_connect); goto err_blkio_destroy; } if (options->num_entries != 0) { if (blkio_set_int(b, "num-entries", options->num_entries) != 0) { fio_blkio_log_err(blkio_set_int); goto err_blkio_destroy; } } if (options->queue_size != 0) { if (blkio_set_int(b, "queue-size", options->queue_size) != 0) { fio_blkio_log_err(blkio_set_int); goto err_blkio_destroy; } } if (fio_blkio_set_props_from_str(b, "libblkio_pre_start_props", options->pre_start_props) != 0) goto err_blkio_destroy; *out_blkio = b; return 0; err_blkio_destroy: blkio_destroy(&b); return 1; } static bool incompatible_threaded_subjob_options = false; /* * This callback determines the device/file size, so it creates and connects a * blkio instance. But it is invoked from the main thread in the original fio * process, not from the processes in which jobs will actually run. It thus * subsequently destroys the blkio, which is recreated in the init() callback. */ static int fio_blkio_setup(struct thread_data *td) { const struct fio_blkio_options *options = td->eo; struct blkio *b; int ret = 0; uint64_t capacity; assert(td->files_index == 1); if (fio_blkio_check_opt_compat(td) != 0) { incompatible_threaded_subjob_options = true; return 1; } if (options->hipri && options->wait_mode == FIO_BLKIO_WAIT_MODE_EVENTFD) { log_err("fio: option hipri is incompatible with option libblkio_wait_mode=eventfd\n"); return 1; } if (options->hipri && options->force_enable_completion_eventfd) { log_err("fio: option hipri is incompatible with option libblkio_force_enable_completion_eventfd\n"); return 1; } if (fio_blkio_create_and_connect(td, &b) != 0) return 1; if (blkio_get_uint64(b, "capacity", &capacity) != 0) { fio_blkio_log_err(blkio_get_uint64); ret = 1; goto out_blkio_destroy; } td->files[0]->real_file_size = capacity; fio_file_set_size_known(td->files[0]); out_blkio_destroy: blkio_destroy(&b); return ret; } static int fio_blkio_init(struct thread_data *td) { const struct fio_blkio_options *options = td->eo; struct fio_blkio_data *data; int flags; if (td->o.use_thread && incompatible_threaded_subjob_options) { /* * Different subjobs using option 'thread' specified * incompatible options. We don't know which configuration * should win, so we just fail all such subjobs. */ return 1; } /* * Request enqueueing is fast, and it's not possible to know exactly * when a request is submitted, so never report submission latencies. */ td->o.disable_slat = 1; data = calloc(1, sizeof(*data)); if (!data) { log_err("fio: calloc() failed\n"); return 1; } data->iovecs = calloc(td->o.iodepth, sizeof(data->iovecs[0])); data->completions = calloc(td->o.iodepth, sizeof(data->completions[0])); if (!data->iovecs || !data->completions) { log_err("fio: calloc() failed\n"); goto err_free; } fio_blkio_proc_lock(); if (proc_state.initted_threads == 0) { /* initialize per-process blkio */ int num_queues, num_poll_queues; if (td->o.use_thread) { num_queues = total_threaded_subjobs(false); num_poll_queues = total_threaded_subjobs(true); } else { num_queues = options->hipri ? 0 : 1; num_poll_queues = options->hipri ? 1 : 0; } if (fio_blkio_create_and_connect(td, &proc_state.b) != 0) goto err_unlock; if (blkio_set_int(proc_state.b, "num-queues", num_queues) != 0) { fio_blkio_log_err(blkio_set_int); goto err_blkio_destroy; } if (blkio_set_int(proc_state.b, "num-poll-queues", num_poll_queues) != 0) { fio_blkio_log_err(blkio_set_int); goto err_blkio_destroy; } if (blkio_start(proc_state.b) != 0) { fio_blkio_log_err(blkio_start); goto err_blkio_destroy; } } if (options->hipri) { int i = proc_state.initted_hipri_threads; data->q = blkio_get_poll_queue(proc_state.b, i); } else { int i = proc_state.initted_threads - proc_state.initted_hipri_threads; data->q = blkio_get_queue(proc_state.b, i); } if (options->wait_mode == FIO_BLKIO_WAIT_MODE_EVENTFD || options->force_enable_completion_eventfd) { /* enable completion fd and make it blocking */ blkioq_set_completion_fd_enabled(data->q, true); data->completion_fd = blkioq_get_completion_fd(data->q); flags = fcntl(data->completion_fd, F_GETFL); if (flags < 0) { log_err("fio: fcntl(F_GETFL) failed: %s\n", strerror(errno)); goto err_blkio_destroy; } if (fcntl(data->completion_fd, F_SETFL, flags & ~O_NONBLOCK) != 0) { log_err("fio: fcntl(F_SETFL) failed: %s\n", strerror(errno)); goto err_blkio_destroy; } } else { data->completion_fd = -1; } ++proc_state.initted_threads; if (options->hipri) ++proc_state.initted_hipri_threads; /* Set data last so cleanup() does nothing if init() fails. */ td->io_ops_data = data; fio_blkio_proc_unlock(); return 0; err_blkio_destroy: if (proc_state.initted_threads == 0) blkio_destroy(&proc_state.b); err_unlock: if (proc_state.initted_threads == 0) proc_state.b = NULL; fio_blkio_proc_unlock(); err_free: free(data->completions); free(data->iovecs); free(data); return 1; } static int fio_blkio_post_init(struct thread_data *td) { struct fio_blkio_data *data = td->io_ops_data; if (!data->has_mem_region) { /* * Memory was allocated by the fio core and not iomem_alloc(), * so we need to register it as a memory region here. * * `td->orig_buffer_size` is computed like `len` below, but then * fio can add some padding to it to make sure it is * sufficiently aligned to the page size and the mem_align * option. However, this can make it become unaligned to the * "mem-region-alignment" property in ways that the user can't * control, so we essentially recompute `td->orig_buffer_size` * here but without adding that padding. */ unsigned long long max_block_size; struct blkio_mem_region region; max_block_size = max(td->o.max_bs[DDIR_READ], max(td->o.max_bs[DDIR_WRITE], td->o.max_bs[DDIR_TRIM])); region = (struct blkio_mem_region) { .addr = td->orig_buffer, .len = (size_t)max_block_size * (size_t)td->o.iodepth, .fd = -1, }; if (blkio_map_mem_region(proc_state.b, ®ion) != 0) { fio_blkio_log_err(blkio_map_mem_region); return 1; } } return 0; } static void fio_blkio_cleanup(struct thread_data *td) { struct fio_blkio_data *data = td->io_ops_data; /* * Subjobs from different jobs can be terminated at different times, so * this callback may be invoked for one subjob while another is still * doing I/O. Those subjobs may share the process, so we must wait until * the last subjob in the process wants to clean up to actually destroy * the blkio. */ if (data) { free(data->completions); free(data->iovecs); free(data); fio_blkio_proc_lock(); if (--proc_state.initted_threads == 0) { blkio_destroy(&proc_state.b); proc_state.b = NULL; } fio_blkio_proc_unlock(); } } #define align_up(x, y) ((((x) + (y) - 1) / (y)) * (y)) static int fio_blkio_iomem_alloc(struct thread_data *td, size_t size) { struct fio_blkio_data *data = td->io_ops_data; int ret; uint64_t mem_region_alignment; if (blkio_get_uint64(proc_state.b, "mem-region-alignment", &mem_region_alignment) != 0) { fio_blkio_log_err(blkio_get_uint64); return 1; } /* round up size to satisfy mem-region-alignment */ size = align_up(size, (size_t)mem_region_alignment); fio_blkio_proc_lock(); if (blkio_alloc_mem_region(proc_state.b, &data->mem_region, size) != 0) { fio_blkio_log_err(blkio_alloc_mem_region); ret = 1; goto out; } if (blkio_map_mem_region(proc_state.b, &data->mem_region) != 0) { fio_blkio_log_err(blkio_map_mem_region); ret = 1; goto out_free; } td->orig_buffer = data->mem_region.addr; data->has_mem_region = true; ret = 0; goto out; out_free: blkio_free_mem_region(proc_state.b, &data->mem_region); out: fio_blkio_proc_unlock(); return ret; } static void fio_blkio_iomem_free(struct thread_data *td) { struct fio_blkio_data *data = td->io_ops_data; if (data && data->has_mem_region) { fio_blkio_proc_lock(); blkio_unmap_mem_region(proc_state.b, &data->mem_region); blkio_free_mem_region(proc_state.b, &data->mem_region); fio_blkio_proc_unlock(); data->has_mem_region = false; } } static int fio_blkio_open_file(struct thread_data *td, struct fio_file *f) { return 0; } static enum fio_q_status fio_blkio_queue(struct thread_data *td, struct io_u *io_u) { const struct fio_blkio_options *options = td->eo; struct fio_blkio_data *data = td->io_ops_data; fio_ro_check(td, io_u); switch (io_u->ddir) { case DDIR_READ: if (options->vectored) { struct iovec *iov = &data->iovecs[io_u->index]; iov->iov_base = io_u->xfer_buf; iov->iov_len = (size_t)io_u->xfer_buflen; blkioq_readv(data->q, io_u->offset, iov, 1, io_u, 0); } else { blkioq_read(data->q, io_u->offset, io_u->xfer_buf, (size_t)io_u->xfer_buflen, io_u, 0); } break; case DDIR_WRITE: if (options->vectored) { struct iovec *iov = &data->iovecs[io_u->index]; iov->iov_base = io_u->xfer_buf; iov->iov_len = (size_t)io_u->xfer_buflen; blkioq_writev(data->q, io_u->offset, iov, 1, io_u, 0); } else { blkioq_write(data->q, io_u->offset, io_u->xfer_buf, (size_t)io_u->xfer_buflen, io_u, 0); } break; case DDIR_TRIM: if (options->write_zeroes_on_trim) { blkioq_write_zeroes(data->q, io_u->offset, io_u->xfer_buflen, io_u, 0); } else { blkioq_discard(data->q, io_u->offset, io_u->xfer_buflen, io_u, 0); } break; case DDIR_SYNC: case DDIR_DATASYNC: blkioq_flush(data->q, io_u, 0); break; default: io_u->error = ENOTSUP; io_u_log_error(td, io_u); return FIO_Q_COMPLETED; } return FIO_Q_QUEUED; } static int fio_blkio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { const struct fio_blkio_options *options = td->eo; struct fio_blkio_data *data = td->io_ops_data; int ret, n; uint64_t event; switch (options->wait_mode) { case FIO_BLKIO_WAIT_MODE_BLOCK: n = blkioq_do_io(data->q, data->completions, (int)min, (int)max, NULL); if (n < 0) { fio_blkio_log_err(blkioq_do_io); return -1; } return n; case FIO_BLKIO_WAIT_MODE_EVENTFD: n = blkioq_do_io(data->q, data->completions, 0, (int)max, NULL); if (n < 0) { fio_blkio_log_err(blkioq_do_io); return -1; } while (n < (int)min) { ret = read(data->completion_fd, &event, sizeof(event)); if (ret != sizeof(event)) { log_err("fio: read() on the completion fd returned %d\n", ret); return -1; } ret = blkioq_do_io(data->q, data->completions + n, 0, (int)max - n, NULL); if (ret < 0) { fio_blkio_log_err(blkioq_do_io); return -1; } n += ret; } return n; case FIO_BLKIO_WAIT_MODE_LOOP: for (n = 0; n < (int)min; ) { ret = blkioq_do_io(data->q, data->completions + n, 0, (int)max - n, NULL); if (ret < 0) { fio_blkio_log_err(blkioq_do_io); return -1; } n += ret; } return n; default: return -1; } } static struct io_u *fio_blkio_event(struct thread_data *td, int event) { struct fio_blkio_data *data = td->io_ops_data; struct blkio_completion *completion = &data->completions[event]; struct io_u *io_u = completion->user_data; io_u->error = -completion->ret; return io_u; } FIO_STATIC struct ioengine_ops ioengine = { .name = "libblkio", .version = FIO_IOOPS_VERSION, .flags = FIO_DISKLESSIO | FIO_NOEXTEND | FIO_NO_OFFLOAD | FIO_SKIPPABLE_IOMEM_ALLOC, .setup = fio_blkio_setup, .init = fio_blkio_init, .post_init = fio_blkio_post_init, .cleanup = fio_blkio_cleanup, .iomem_alloc = fio_blkio_iomem_alloc, .iomem_free = fio_blkio_iomem_free, .open_file = fio_blkio_open_file, .queue = fio_blkio_queue, .getevents = fio_blkio_getevents, .event = fio_blkio_event, .options = options, .option_struct_size = sizeof(struct fio_blkio_options), }; static void fio_init fio_blkio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_blkio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/libcufile.c000066400000000000000000000366521476262051600160040ustar00rootroot00000000000000/* * Copyright (c)2020 System Fabric Works, Inc. All Rights Reserved. * mailto:info@systemfabricworks.com * * License: GPLv2, see COPYING. * * libcufile engine * * fio I/O engine using the NVIDIA cuFile API. * */ #include #include #include #include #include #include #include #include #include #include #include "../fio.h" #include "../lib/pow2.h" #include "../optgroup.h" #include "../lib/memalign.h" #define ALIGNED_4KB(v) (((v) & 0x0fff) == 0) #define LOGGED_BUFLEN_NOT_ALIGNED 0x01 #define LOGGED_GPU_OFFSET_NOT_ALIGNED 0x02 #define GPU_ID_SEP ":" enum { IO_CUFILE = 1, IO_POSIX = 2 }; struct libcufile_options { struct thread_data *td; char *gpu_ids; /* colon-separated list of GPU ids, one per job */ void *cu_mem_ptr; /* GPU memory */ void *junk_buf; /* buffer to simulate cudaMemcpy with posix I/O write */ int my_gpu_id; /* GPU id to use for this job */ unsigned int cuda_io; /* Type of I/O to use with CUDA */ size_t total_mem; /* size for cu_mem_ptr and junk_buf */ int logged; /* bitmask of log messages that have been output, prevent flood */ }; struct fio_libcufile_data { CUfileDescr_t cf_descr; CUfileHandle_t cf_handle; }; static struct fio_option options[] = { { .name = "gpu_dev_ids", .lname = "libcufile engine gpu dev ids", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct libcufile_options, gpu_ids), .help = "GPU IDs, one per subjob, separated by " GPU_ID_SEP, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBCUFILE, }, { .name = "cuda_io", .lname = "libcufile cuda io", .type = FIO_OPT_STR, .off1 = offsetof(struct libcufile_options, cuda_io), .help = "Type of I/O to use with CUDA", .def = "cufile", .posval = { { .ival = "cufile", .oval = IO_CUFILE, .help = "libcufile nvidia-fs" }, { .ival = "posix", .oval = IO_POSIX, .help = "POSIX I/O" } }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_LIBCUFILE, }, { .name = NULL, }, }; static int running = 0; static int cufile_initialized = 0; static pthread_mutex_t running_lock = PTHREAD_MUTEX_INITIALIZER; #define check_cudaruntimecall(fn, rc) \ do { \ cudaError_t res = fn; \ if (res != cudaSuccess) { \ const char *str = cudaGetErrorName(res); \ log_err("cuda runtime api call failed %s:%d : err=%d:%s\n", \ #fn, __LINE__, res, str); \ rc = -1; \ } else \ rc = 0; \ } while(0) static const char *fio_libcufile_get_cuda_error(CUfileError_t st) { if (IS_CUFILE_ERR(st.err)) return cufileop_status_error(st.err); return "unknown"; } /* * Assign GPU to subjob roundrobin, similar to how multiple * entries in 'directory' are handled by fio. */ static int fio_libcufile_find_gpu_id(struct thread_data *td) { struct libcufile_options *o = td->eo; int gpu_id = 0; if (o->gpu_ids != NULL) { char *gpu_ids, *pos, *cur; int i, id_count, gpu_idx; for (id_count = 0, cur = o->gpu_ids; cur != NULL; id_count++) { cur = strchr(cur, GPU_ID_SEP[0]); if (cur != NULL) cur++; } gpu_idx = td->subjob_number % id_count; pos = gpu_ids = strdup(o->gpu_ids); if (gpu_ids == NULL) { log_err("strdup(gpu_ids): err=%d\n", errno); return -1; } i = 0; while (pos != NULL && i <= gpu_idx) { i++; cur = strsep(&pos, GPU_ID_SEP); } if (cur) gpu_id = atoi(cur); free(gpu_ids); } return gpu_id; } static int fio_libcufile_init(struct thread_data *td) { struct libcufile_options *o = td->eo; CUfileError_t status; int initialized; int rc; pthread_mutex_lock(&running_lock); if (running == 0) { assert(cufile_initialized == 0); if (o->cuda_io == IO_CUFILE) { /* only open the driver if this is the first worker thread */ status = cuFileDriverOpen(); if (status.err != CU_FILE_SUCCESS) log_err("cuFileDriverOpen: err=%d:%s\n", status.err, fio_libcufile_get_cuda_error(status)); else cufile_initialized = 1; } } running++; initialized = cufile_initialized; pthread_mutex_unlock(&running_lock); if (o->cuda_io == IO_CUFILE && !initialized) return 1; o->my_gpu_id = fio_libcufile_find_gpu_id(td); if (o->my_gpu_id < 0) return 1; dprint(FD_MEM, "Subjob %d uses GPU %d\n", td->subjob_number, o->my_gpu_id); check_cudaruntimecall(cudaSetDevice(o->my_gpu_id), rc); if (rc != 0) return 1; return 0; } static inline int fio_libcufile_pre_write(struct thread_data *td, struct libcufile_options *o, struct io_u *io_u, size_t gpu_offset) { int rc = 0; if (o->cuda_io == IO_CUFILE) { if (td->o.verify) { /* Data is being verified, copy the io_u buffer to GPU memory. This isn't done in the non-verify case because the data would already be in GPU memory in a normal cuFile application. */ check_cudaruntimecall(cudaMemcpy(((char*) o->cu_mem_ptr) + gpu_offset, io_u->xfer_buf, io_u->xfer_buflen, cudaMemcpyHostToDevice), rc); if (rc != 0) { log_err("DDIR_WRITE cudaMemcpy H2D failed\n"); io_u->error = EIO; } } } else if (o->cuda_io == IO_POSIX) { /* POSIX I/O is being used, the data has to be copied out of the GPU into a CPU buffer. GPU memory doesn't contain the actual data to write, copy the data to the junk buffer. The purpose of this is to add the overhead of cudaMemcpy() that would be present in a POSIX I/O CUDA application. */ check_cudaruntimecall(cudaMemcpy(o->junk_buf + gpu_offset, ((char*) o->cu_mem_ptr) + gpu_offset, io_u->xfer_buflen, cudaMemcpyDeviceToHost), rc); if (rc != 0) { log_err("DDIR_WRITE cudaMemcpy D2H failed\n"); io_u->error = EIO; } } else { log_err("Illegal CUDA IO type: %d\n", o->cuda_io); assert(0); rc = EINVAL; } return rc; } static inline int fio_libcufile_post_read(struct thread_data *td, struct libcufile_options *o, struct io_u *io_u, size_t gpu_offset) { int rc = 0; if (o->cuda_io == IO_CUFILE) { if (td->o.verify) { /* Copy GPU memory to CPU buffer for verify */ check_cudaruntimecall(cudaMemcpy(io_u->xfer_buf, ((char*) o->cu_mem_ptr) + gpu_offset, io_u->xfer_buflen, cudaMemcpyDeviceToHost), rc); if (rc != 0) { log_err("DDIR_READ cudaMemcpy D2H failed\n"); io_u->error = EIO; } } } else if (o->cuda_io == IO_POSIX) { /* POSIX I/O read, copy the CPU buffer to GPU memory */ check_cudaruntimecall(cudaMemcpy(((char*) o->cu_mem_ptr) + gpu_offset, io_u->xfer_buf, io_u->xfer_buflen, cudaMemcpyHostToDevice), rc); if (rc != 0) { log_err("DDIR_READ cudaMemcpy H2D failed\n"); io_u->error = EIO; } } else { log_err("Illegal CUDA IO type: %d\n", o->cuda_io); assert(0); rc = EINVAL; } return rc; } static enum fio_q_status fio_libcufile_queue(struct thread_data *td, struct io_u *io_u) { struct libcufile_options *o = td->eo; struct fio_libcufile_data *fcd = FILE_ENG_DATA(io_u->file); unsigned long long io_offset; ssize_t sz; ssize_t remaining; size_t xfered; size_t gpu_offset; int rc; if (o->cuda_io == IO_CUFILE && fcd == NULL) { io_u->error = EINVAL; td_verror(td, EINVAL, "xfer"); return FIO_Q_COMPLETED; } fio_ro_check(td, io_u); switch(io_u->ddir) { case DDIR_SYNC: rc = fsync(io_u->file->fd); if (rc != 0) { io_u->error = errno; log_err("fsync: err=%d\n", errno); } break; case DDIR_DATASYNC: rc = fdatasync(io_u->file->fd); if (rc != 0) { io_u->error = errno; log_err("fdatasync: err=%d\n", errno); } break; case DDIR_READ: case DDIR_WRITE: /* There may be a better way to calculate gpu_offset. The intent is that gpu_offset equals the the difference between io_u->xfer_buf and the page-aligned base address for io_u buffers. */ gpu_offset = io_u->index * io_u->xfer_buflen; io_offset = io_u->offset; remaining = io_u->xfer_buflen; xfered = 0; sz = 0; assert(gpu_offset + io_u->xfer_buflen <= o->total_mem); if (o->cuda_io == IO_CUFILE) { if (!(ALIGNED_4KB(io_u->xfer_buflen) || (o->logged & LOGGED_BUFLEN_NOT_ALIGNED))) { log_err("buflen not 4KB-aligned: %llu\n", io_u->xfer_buflen); o->logged |= LOGGED_BUFLEN_NOT_ALIGNED; } if (!(ALIGNED_4KB(gpu_offset) || (o->logged & LOGGED_GPU_OFFSET_NOT_ALIGNED))) { log_err("gpu_offset not 4KB-aligned: %lu\n", gpu_offset); o->logged |= LOGGED_GPU_OFFSET_NOT_ALIGNED; } } if (io_u->ddir == DDIR_WRITE) rc = fio_libcufile_pre_write(td, o, io_u, gpu_offset); if (io_u->error != 0) break; while (remaining > 0) { assert(gpu_offset + xfered <= o->total_mem); if (io_u->ddir == DDIR_READ) { if (o->cuda_io == IO_CUFILE) { sz = cuFileRead(fcd->cf_handle, o->cu_mem_ptr, remaining, io_offset + xfered, gpu_offset + xfered); if (sz == -1) { io_u->error = errno; log_err("cuFileRead: err=%d\n", errno); } else if (sz < 0) { io_u->error = EIO; log_err("cuFileRead: err=%ld:%s\n", sz, cufileop_status_error(-sz)); } } else if (o->cuda_io == IO_POSIX) { sz = pread(io_u->file->fd, ((char*) io_u->xfer_buf) + xfered, remaining, io_offset + xfered); if (sz < 0) { io_u->error = errno; log_err("pread: err=%d\n", errno); } } else { log_err("Illegal CUDA IO type: %d\n", o->cuda_io); io_u->error = -1; assert(0); } } else if (io_u->ddir == DDIR_WRITE) { if (o->cuda_io == IO_CUFILE) { sz = cuFileWrite(fcd->cf_handle, o->cu_mem_ptr, remaining, io_offset + xfered, gpu_offset + xfered); if (sz == -1) { io_u->error = errno; log_err("cuFileWrite: err=%d\n", errno); } else if (sz < 0) { io_u->error = EIO; log_err("cuFileWrite: err=%ld:%s\n", sz, cufileop_status_error(-sz)); } } else if (o->cuda_io == IO_POSIX) { sz = pwrite(io_u->file->fd, ((char*) io_u->xfer_buf) + xfered, remaining, io_offset + xfered); if (sz < 0) { io_u->error = errno; log_err("pwrite: err=%d\n", errno); } } else { log_err("Illegal CUDA IO type: %d\n", o->cuda_io); io_u->error = -1; assert(0); } } else { log_err("not DDIR_READ or DDIR_WRITE: %d\n", io_u->ddir); io_u->error = -1; assert(0); break; } if (io_u->error != 0) break; remaining -= sz; xfered += sz; if (remaining != 0) log_info("Incomplete %s: %ld bytes remaining\n", io_u->ddir == DDIR_READ? "read" : "write", remaining); } if (io_u->error != 0) break; if (io_u->ddir == DDIR_READ) rc = fio_libcufile_post_read(td, o, io_u, gpu_offset); break; default: io_u->error = EINVAL; break; } if (io_u->error != 0) { log_err("IO failed\n"); td_verror(td, io_u->error, "xfer"); } return FIO_Q_COMPLETED; } static int fio_libcufile_open_file(struct thread_data *td, struct fio_file *f) { struct libcufile_options *o = td->eo; struct fio_libcufile_data *fcd = NULL; int rc; CUfileError_t status; rc = generic_open_file(td, f); if (rc) return rc; if (o->cuda_io == IO_CUFILE) { fcd = calloc(1, sizeof(*fcd)); if (fcd == NULL) { rc = ENOMEM; goto exit_err; } fcd->cf_descr.handle.fd = f->fd; fcd->cf_descr.type = CU_FILE_HANDLE_TYPE_OPAQUE_FD; status = cuFileHandleRegister(&fcd->cf_handle, &fcd->cf_descr); if (status.err != CU_FILE_SUCCESS) { log_err("cufile register: err=%d:%s\n", status.err, fio_libcufile_get_cuda_error(status)); rc = EINVAL; goto exit_err; } } FILE_SET_ENG_DATA(f, fcd); return 0; exit_err: if (fcd) { free(fcd); fcd = NULL; } if (f) { int rc2 = generic_close_file(td, f); if (rc2) log_err("generic_close_file: err=%d\n", rc2); } return rc; } static int fio_libcufile_close_file(struct thread_data *td, struct fio_file *f) { struct fio_libcufile_data *fcd = FILE_ENG_DATA(f); int rc; if (fcd != NULL) { cuFileHandleDeregister(fcd->cf_handle); FILE_SET_ENG_DATA(f, NULL); free(fcd); } rc = generic_close_file(td, f); return rc; } static int fio_libcufile_iomem_alloc(struct thread_data *td, size_t total_mem) { struct libcufile_options *o = td->eo; int rc; CUfileError_t status; o->total_mem = total_mem; o->logged = 0; o->cu_mem_ptr = NULL; o->junk_buf = NULL; td->orig_buffer = calloc(1, total_mem); if (!td->orig_buffer) { log_err("orig_buffer calloc failed: err=%d\n", errno); goto exit_error; } if (o->cuda_io == IO_POSIX) { o->junk_buf = calloc(1, total_mem); if (o->junk_buf == NULL) { log_err("junk_buf calloc failed: err=%d\n", errno); goto exit_error; } } dprint(FD_MEM, "Alloc %zu for GPU %d\n", total_mem, o->my_gpu_id); check_cudaruntimecall(cudaMalloc(&o->cu_mem_ptr, total_mem), rc); if (rc != 0) goto exit_error; check_cudaruntimecall(cudaMemset(o->cu_mem_ptr, 0xab, total_mem), rc); if (rc != 0) goto exit_error; if (o->cuda_io == IO_CUFILE) { status = cuFileBufRegister(o->cu_mem_ptr, total_mem, 0); if (status.err != CU_FILE_SUCCESS) { log_err("cuFileBufRegister: err=%d:%s\n", status.err, fio_libcufile_get_cuda_error(status)); goto exit_error; } } return 0; exit_error: if (td->orig_buffer) { free(td->orig_buffer); td->orig_buffer = NULL; } if (o->junk_buf) { free(o->junk_buf); o->junk_buf = NULL; } if (o->cu_mem_ptr) { cudaFree(o->cu_mem_ptr); o->cu_mem_ptr = NULL; } return 1; } static void fio_libcufile_iomem_free(struct thread_data *td) { struct libcufile_options *o = td->eo; if (o->junk_buf) { free(o->junk_buf); o->junk_buf = NULL; } if (o->cu_mem_ptr) { if (o->cuda_io == IO_CUFILE) cuFileBufDeregister(o->cu_mem_ptr); cudaFree(o->cu_mem_ptr); o->cu_mem_ptr = NULL; } if (td->orig_buffer) { free(td->orig_buffer); td->orig_buffer = NULL; } } static void fio_libcufile_cleanup(struct thread_data *td) { struct libcufile_options *o = td->eo; pthread_mutex_lock(&running_lock); running--; assert(running >= 0); if (running == 0) { /* only close the driver if initialized and this is the last worker thread */ if (o->cuda_io == IO_CUFILE && cufile_initialized) cuFileDriverClose(); cufile_initialized = 0; } pthread_mutex_unlock(&running_lock); } FIO_STATIC struct ioengine_ops ioengine = { .name = "libcufile", .version = FIO_IOOPS_VERSION, .init = fio_libcufile_init, .queue = fio_libcufile_queue, .get_file_size = generic_get_file_size, .open_file = fio_libcufile_open_file, .close_file = fio_libcufile_close_file, .iomem_alloc = fio_libcufile_iomem_alloc, .iomem_free = fio_libcufile_iomem_free, .cleanup = fio_libcufile_cleanup, .flags = FIO_SYNCIO, .options = options, .option_struct_size = sizeof(struct libcufile_options) }; void fio_init fio_libcufile_register(void) { register_ioengine(&ioengine); } void fio_exit fio_libcufile_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/libhdfs.c000066400000000000000000000245071476262051600154550ustar00rootroot00000000000000/* * libhdfs engine * * this engine helps perform read/write operations on hdfs cluster using * libhdfs. hdfs does not support modification of data once file is created. * * so to mimic that create many files of small size (e.g 256k), and this * engine select a file based on the offset generated by fio. * * thus, random reads and writes can also be achieved with this logic. * */ #include #include #include "../fio.h" #include "../optgroup.h" #define CHUNCK_NAME_LENGTH_MAX 80 #define CHUNCK_CREATION_BUFFER_SIZE 65536 struct hdfsio_data { hdfsFS fs; hdfsFile fp; uint64_t curr_file_id; }; struct hdfsio_options { void *pad; /* needed because offset can't be 0 for an option defined used offsetof */ char *host; char *directory; unsigned int port; unsigned int chunck_size; unsigned int single_instance; unsigned int use_direct; }; static struct fio_option options[] = { { .name = "namenode", .lname = "hfds namenode", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct hdfsio_options, host), .def = "localhost", .help = "Namenode of the HDFS cluster", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HDFS, }, { .name = "hostname", .lname = "hfds namenode", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct hdfsio_options, host), .def = "localhost", .help = "Namenode of the HDFS cluster", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HDFS, }, { .name = "port", .lname = "hdfs namenode port", .type = FIO_OPT_INT, .off1 = offsetof(struct hdfsio_options, port), .def = "9000", .minval = 1, .maxval = 65535, .help = "Port used by the HDFS cluster namenode", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HDFS, }, { .name = "hdfsdirectory", .lname = "hfds directory", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct hdfsio_options, directory), .def = "/", .help = "The HDFS directory where fio will create chunks", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HDFS, }, { .name = "chunk_size", .alias = "chunck_size", .lname = "Chunk size", .type = FIO_OPT_INT, .off1 = offsetof(struct hdfsio_options, chunck_size), .def = "1048576", .help = "Size of individual chunk", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HDFS, }, { .name = "single_instance", .lname = "Single Instance", .type = FIO_OPT_BOOL, .off1 = offsetof(struct hdfsio_options, single_instance), .def = "1", .help = "Use a single instance", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HDFS, }, { .name = "hdfs_use_direct", .lname = "HDFS Use Direct", .type = FIO_OPT_BOOL, .off1 = offsetof(struct hdfsio_options, use_direct), .def = "0", .help = "Use readDirect instead of hdfsRead", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_HDFS, }, { .name = NULL, }, }; static int get_chunck_name(char *dest, char *file_name, uint64_t chunk_id) { return snprintf(dest, CHUNCK_NAME_LENGTH_MAX, "%s_%lu", file_name, chunk_id); } static int fio_hdfsio_prep(struct thread_data *td, struct io_u *io_u) { struct hdfsio_options *options = td->eo; struct hdfsio_data *hd = td->io_ops_data; unsigned long f_id; char fname[CHUNCK_NAME_LENGTH_MAX]; int open_flags; /* find out file id based on the offset generated by fio */ f_id = floor(io_u->offset / options-> chunck_size); if (f_id == hd->curr_file_id) { /* file is already open */ return 0; } if (hd->curr_file_id != -1) { if ( hdfsCloseFile(hd->fs, hd->fp) == -1) { log_err("hdfs: unable to close file: %s\n", strerror(errno)); return errno; } hd->curr_file_id = -1; } if (io_u->ddir == DDIR_READ || io_u->ddir == DDIR_SYNC) { open_flags = O_RDONLY; } else if (io_u->ddir == DDIR_WRITE) { open_flags = O_WRONLY; } else { log_err("hdfs: Invalid I/O Operation\n"); return 0; } get_chunck_name(fname, io_u->file->file_name, f_id); hd->fp = hdfsOpenFile(hd->fs, fname, open_flags, 0, 0, options->chunck_size); if(hd->fp == NULL) { log_err("hdfs: unable to open file: %s: %d\n", fname, strerror(errno)); return errno; } hd->curr_file_id = f_id; return 0; } static enum fio_q_status fio_hdfsio_queue(struct thread_data *td, struct io_u *io_u) { struct hdfsio_data *hd = td->io_ops_data; struct hdfsio_options *options = td->eo; int ret; unsigned long offset; offset = io_u->offset % options->chunck_size; if( (io_u->ddir == DDIR_READ || io_u->ddir == DDIR_WRITE) && hdfsTell(hd->fs, hd->fp) != offset && hdfsSeek(hd->fs, hd->fp, offset) != 0 ) { log_err("hdfs: seek failed: %s, are you doing random write smaller than chunk size ?\n", strerror(errno)); io_u->error = errno; return FIO_Q_COMPLETED; }; // do the IO if (io_u->ddir == DDIR_READ) { if (options->use_direct) { ret = readDirect(hd->fs, hd->fp, io_u->xfer_buf, io_u->xfer_buflen); } else { ret = hdfsRead(hd->fs, hd->fp, io_u->xfer_buf, io_u->xfer_buflen); } } else if (io_u->ddir == DDIR_WRITE) { ret = hdfsWrite(hd->fs, hd->fp, io_u->xfer_buf, io_u->xfer_buflen); } else if (io_u->ddir == DDIR_SYNC) { ret = hdfsFlush(hd->fs, hd->fp); } else { log_err("hdfs: Invalid I/O Operation: %d\n", io_u->ddir); ret = EINVAL; } // Check if the IO went fine, or is incomplete if (ret != (int)io_u->xfer_buflen) { if (ret >= 0) { io_u->resid = io_u->xfer_buflen - ret; io_u->error = 0; return FIO_Q_COMPLETED; } else { io_u->error = errno; } } if (io_u->error) td_verror(td, io_u->error, "xfer"); return FIO_Q_COMPLETED; } int fio_hdfsio_open_file(struct thread_data *td, struct fio_file *f) { if (td->o.odirect) { td->error = EINVAL; return 0; } return 0; } int fio_hdfsio_close_file(struct thread_data *td, struct fio_file *f) { struct hdfsio_data *hd = td->io_ops_data; if (hd->curr_file_id != -1) { if ( hdfsCloseFile(hd->fs, hd->fp) == -1) { log_err("hdfs: unable to close file: %s\n", strerror(errno)); return errno; } hd->curr_file_id = -1; } return 0; } static int fio_hdfsio_io_u_init(struct thread_data *td, struct io_u *io_u) { struct hdfsio_options *options = td->eo; struct hdfsio_data *hd = td->io_ops_data; struct fio_file *f; uint64_t j,k; int i, failure = 0; uint8_t buffer[CHUNCK_CREATION_BUFFER_SIZE]; uint64_t bytes_left; char fname[CHUNCK_NAME_LENGTH_MAX]; hdfsFile fp; hdfsFileInfo *fi; tOffset fi_size; for_each_file(td, f, i) { k = 0; for(j=0; j < f->real_file_size; j += options->chunck_size) { get_chunck_name(fname, f->file_name, k++); fi = hdfsGetPathInfo(hd->fs, fname); fi_size = fi ? fi->mSize : 0; // fill exist and is big enough, nothing to do if( fi && fi_size >= options->chunck_size) { continue; } fp = hdfsOpenFile(hd->fs, fname, O_WRONLY, 0, 0, options->chunck_size); if(fp == NULL) { failure = errno; log_err("hdfs: unable to prepare file chunk %s: %s\n", fname, strerror(errno)); break; } bytes_left = options->chunck_size; memset(buffer, 0, CHUNCK_CREATION_BUFFER_SIZE); while( bytes_left > CHUNCK_CREATION_BUFFER_SIZE) { if( hdfsWrite(hd->fs, fp, buffer, CHUNCK_CREATION_BUFFER_SIZE) != CHUNCK_CREATION_BUFFER_SIZE) { failure = errno; log_err("hdfs: unable to prepare file chunk %s: %s\n", fname, strerror(errno)); break; }; bytes_left -= CHUNCK_CREATION_BUFFER_SIZE; } if(bytes_left > 0) { if( hdfsWrite(hd->fs, fp, buffer, bytes_left) != bytes_left) { failure = errno; break; }; } if( hdfsCloseFile(hd->fs, fp) != 0) { failure = errno; log_err("hdfs: unable to prepare file chunk %s: %s\n", fname, strerror(errno)); break; } } if(failure) { break; } } if( !failure ) { fio_file_set_size_known(f); } return failure; } static int fio_hdfsio_setup(struct thread_data *td) { struct hdfsio_data *hd; struct fio_file *f; int i; uint64_t file_size, total_file_size; if (!td->io_ops_data) { hd = calloc(1, sizeof(*hd)); hd->curr_file_id = -1; td->io_ops_data = hd; } total_file_size = 0; file_size = 0; for_each_file(td, f, i) { if(!td->o.file_size_low) { file_size = floor(td->o.size / td->o.nr_files); total_file_size += file_size; } else if (td->o.file_size_low == td->o.file_size_high) file_size = td->o.file_size_low; else { file_size = get_rand_file_size(td); } f->real_file_size = file_size; } /* If the size doesn't divide nicely with the chunk size, * make the last files bigger. * Used only if filesize was not explicitly given */ if (!td->o.file_size_low && total_file_size < td->o.size) { f->real_file_size += (td->o.size - total_file_size); } return 0; } static int fio_hdfsio_init(struct thread_data *td) { struct hdfsio_data *hd = td->io_ops_data; struct hdfsio_options *options = td->eo; int failure; struct hdfsBuilder *bld; if (options->host == NULL || options->port == 0) { log_err("hdfs: server not defined\n"); return EINVAL; } bld = hdfsNewBuilder(); if (!bld) { failure = errno; log_err("hdfs: unable to allocate connect builder\n"); return failure; } hdfsBuilderSetNameNode(bld, options->host); hdfsBuilderSetNameNodePort(bld, options->port); if(! options->single_instance) { hdfsBuilderSetForceNewInstance(bld); } hd->fs = hdfsBuilderConnect(bld); /* hdfsSetWorkingDirectory succeed on non-existent directory */ if (hdfsExists(hd->fs, options->directory) < 0 || hdfsSetWorkingDirectory(hd->fs, options->directory) < 0) { failure = errno; log_err("hdfs: invalid working directory %s: %s\n", options->directory, strerror(errno)); return failure; } return 0; } static void fio_hdfsio_io_u_free(struct thread_data *td, struct io_u *io_u) { struct hdfsio_data *hd = td->io_ops_data; if (hd->fs && hdfsDisconnect(hd->fs) < 0) { log_err("hdfs: disconnect failed: %d\n", errno); } } FIO_STATIC struct ioengine_ops ioengine = { .name = "libhdfs", .version = FIO_IOOPS_VERSION, .flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_NODISKUTIL, .setup = fio_hdfsio_setup, .init = fio_hdfsio_init, .prep = fio_hdfsio_prep, .queue = fio_hdfsio_queue, .open_file = fio_hdfsio_open_file, .close_file = fio_hdfsio_close_file, .io_u_init = fio_hdfsio_io_u_init, .io_u_free = fio_hdfsio_io_u_free, .option_struct_size = sizeof(struct hdfsio_options), .options = options, }; static void fio_init fio_hdfsio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_hdfsio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/libiscsi.c000066400000000000000000000235441476262051600156430ustar00rootroot00000000000000/* * libiscsi engine * * this engine read/write iscsi lun with libiscsi. */ #include "../fio.h" #include "../optgroup.h" #include #include #include #include struct iscsi_lun; struct iscsi_info; struct iscsi_task { struct scsi_task *scsi_task; struct iscsi_lun *iscsi_lun; struct io_u *io_u; }; struct iscsi_lun { struct iscsi_info *iscsi_info; struct iscsi_context *iscsi; struct iscsi_url *url; int block_size; uint64_t num_blocks; }; struct iscsi_info { struct iscsi_lun **luns; int nr_luns; struct pollfd *pfds; struct iscsi_task **complete_events; int nr_events; }; struct iscsi_options { void *pad; char *initiator; }; static struct fio_option options[] = { { .name = "initiator", .lname = "initiator", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct iscsi_options, initiator), .def = "iqn.2019-04.org.fio:fio", .help = "initiator name", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_ISCSI, }, { .name = NULL, }, }; static int fio_iscsi_setup_lun(struct iscsi_info *iscsi_info, char *initiator, struct fio_file *f, int i) { struct iscsi_lun *iscsi_lun = NULL; struct scsi_task *task = NULL; struct scsi_readcapacity16 *rc16 = NULL; int ret = 0; iscsi_lun = calloc(1, sizeof(struct iscsi_lun)); iscsi_lun->iscsi_info = iscsi_info; iscsi_lun->url = iscsi_parse_full_url(NULL, f->file_name); if (iscsi_lun->url == NULL) { log_err("iscsi: failed to parse url: %s\n", f->file_name); ret = EINVAL; goto out; } iscsi_lun->iscsi = iscsi_create_context(initiator); if (iscsi_lun->iscsi == NULL) { log_err("iscsi: failed to create iscsi context.\n"); ret = 1; goto out; } if (iscsi_set_targetname(iscsi_lun->iscsi, iscsi_lun->url->target)) { log_err("iscsi: failed to set target name.\n"); ret = EINVAL; goto out; } if (iscsi_set_session_type(iscsi_lun->iscsi, ISCSI_SESSION_NORMAL) != 0) { log_err("iscsi: failed to set session type.\n"); ret = EINVAL; goto out; } if (iscsi_set_header_digest(iscsi_lun->iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C) != 0) { log_err("iscsi: failed to set header digest.\n"); ret = EINVAL; goto out; } if (iscsi_full_connect_sync(iscsi_lun->iscsi, iscsi_lun->url->portal, iscsi_lun->url->lun)) { log_err("iscsi: failed to connect to LUN : %s\n", iscsi_get_error(iscsi_lun->iscsi)); ret = EINVAL; goto out; } task = iscsi_readcapacity16_sync(iscsi_lun->iscsi, iscsi_lun->url->lun); if (task == NULL || task->status != SCSI_STATUS_GOOD) { log_err("iscsi: failed to send readcapacity command: %s\n", iscsi_get_error(iscsi_lun->iscsi)); ret = EINVAL; goto out; } rc16 = scsi_datain_unmarshall(task); if (rc16 == NULL) { log_err("iscsi: failed to unmarshal readcapacity16 data.\n"); ret = EINVAL; goto out; } iscsi_lun->block_size = rc16->block_length; iscsi_lun->num_blocks = rc16->returned_lba + 1; scsi_free_scsi_task(task); task = NULL; f->real_file_size = iscsi_lun->num_blocks * iscsi_lun->block_size; f->engine_data = iscsi_lun; iscsi_info->luns[i] = iscsi_lun; iscsi_info->pfds[i].fd = iscsi_get_fd(iscsi_lun->iscsi); out: if (task) { scsi_free_scsi_task(task); } if (ret && iscsi_lun) { if (iscsi_lun->iscsi != NULL) { if (iscsi_is_logged_in(iscsi_lun->iscsi)) { iscsi_logout_sync(iscsi_lun->iscsi); } iscsi_destroy_context(iscsi_lun->iscsi); } free(iscsi_lun); } return ret; } static int fio_iscsi_setup(struct thread_data *td) { struct iscsi_options *options = td->eo; struct iscsi_info *iscsi_info = NULL; int ret = 0; struct fio_file *f; int i; iscsi_info = malloc(sizeof(struct iscsi_info)); iscsi_info->nr_luns = td->o.nr_files; iscsi_info->luns = calloc(iscsi_info->nr_luns, sizeof(struct iscsi_lun*)); iscsi_info->pfds = calloc(iscsi_info->nr_luns, sizeof(struct pollfd)); iscsi_info->nr_events = 0; iscsi_info->complete_events = calloc(td->o.iodepth, sizeof(struct iscsi_task*)); td->io_ops_data = iscsi_info; for_each_file(td, f, i) { ret = fio_iscsi_setup_lun(iscsi_info, options->initiator, f, i); if (ret < 0) break; } return ret; } static int fio_iscsi_init(struct thread_data *td) { return 0; } static void fio_iscsi_cleanup_lun(struct iscsi_lun *iscsi_lun) { if (iscsi_lun->iscsi != NULL) { if (iscsi_is_logged_in(iscsi_lun->iscsi)) { iscsi_logout_sync(iscsi_lun->iscsi); } iscsi_destroy_context(iscsi_lun->iscsi); } free(iscsi_lun); } static void fio_iscsi_cleanup(struct thread_data *td) { struct iscsi_info *iscsi_info = td->io_ops_data; for (int i = 0; i < iscsi_info->nr_luns; i++) { if (iscsi_info->luns[i]) { fio_iscsi_cleanup_lun(iscsi_info->luns[i]); iscsi_info->luns[i] = NULL; } } free(iscsi_info->luns); free(iscsi_info->pfds); free(iscsi_info->complete_events); free(iscsi_info); } static int fio_iscsi_prep(struct thread_data *td, struct io_u *io_u) { return 0; } static int fio_iscsi_open_file(struct thread_data *td, struct fio_file *f) { return 0; } static int fio_iscsi_close_file(struct thread_data *td, struct fio_file *f) { return 0; } static void iscsi_cb(struct iscsi_context *iscsi, int status, void *command_data, void *private_data) { struct iscsi_task *iscsi_task = (struct iscsi_task*)private_data; struct iscsi_lun *iscsi_lun = iscsi_task->iscsi_lun; struct iscsi_info *iscsi_info = iscsi_lun->iscsi_info; struct io_u *io_u = iscsi_task->io_u; if (status == SCSI_STATUS_GOOD) { io_u->error = 0; } else { log_err("iscsi: request failed with error %s.\n", iscsi_get_error(iscsi_lun->iscsi)); io_u->error = 1; io_u->resid = io_u->xfer_buflen; } iscsi_info->complete_events[iscsi_info->nr_events] = iscsi_task; iscsi_info->nr_events++; } static enum fio_q_status fio_iscsi_queue(struct thread_data *td, struct io_u *io_u) { struct iscsi_lun *iscsi_lun = io_u->file->engine_data; struct scsi_task *scsi_task = NULL; struct iscsi_task *iscsi_task = malloc(sizeof(struct iscsi_task)); int ret = -1; if (io_u->ddir == DDIR_READ || io_u->ddir == DDIR_WRITE) { if (io_u->offset % iscsi_lun->block_size != 0) { log_err("iscsi: offset is not align to block size.\n"); ret = -1; goto out; } if (io_u->xfer_buflen % iscsi_lun->block_size != 0) { log_err("iscsi: buflen is not align to block size.\n"); ret = -1; goto out; } } if (io_u->ddir == DDIR_READ) { scsi_task = scsi_cdb_read16(io_u->offset / iscsi_lun->block_size, io_u->xfer_buflen, iscsi_lun->block_size, 0, 0, 0, 0, 0); ret = scsi_task_add_data_in_buffer(scsi_task, io_u->xfer_buflen, io_u->xfer_buf); if (ret < 0) { log_err("iscsi: failed to add data in buffer.\n"); goto out; } } else if (io_u->ddir == DDIR_WRITE) { scsi_task = scsi_cdb_write16(io_u->offset / iscsi_lun->block_size, io_u->xfer_buflen, iscsi_lun->block_size, 0, 0, 0, 0, 0); ret = scsi_task_add_data_out_buffer(scsi_task, io_u->xfer_buflen, io_u->xfer_buf); if (ret < 0) { log_err("iscsi: failed to add data out buffer.\n"); goto out; } } else if (ddir_sync(io_u->ddir)) { scsi_task = scsi_cdb_synchronizecache16( 0, iscsi_lun->num_blocks * iscsi_lun->block_size, 0, 0); } else { log_err("iscsi: invalid I/O operation: %d\n", io_u->ddir); ret = EINVAL; goto out; } iscsi_task->scsi_task = scsi_task; iscsi_task->iscsi_lun = iscsi_lun; iscsi_task->io_u = io_u; ret = iscsi_scsi_command_async(iscsi_lun->iscsi, iscsi_lun->url->lun, scsi_task, iscsi_cb, NULL, iscsi_task); if (ret < 0) { log_err("iscsi: failed to send scsi command.\n"); goto out; } return FIO_Q_QUEUED; out: if (iscsi_task) { free(iscsi_task); } if (scsi_task) { scsi_free_scsi_task(scsi_task); } if (ret) { io_u->error = ret; } return FIO_Q_COMPLETED; } static int fio_iscsi_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct iscsi_info *iscsi_info = td->io_ops_data; int ret = 0; iscsi_info->nr_events = 0; while (iscsi_info->nr_events < min) { for (int i = 0; i < iscsi_info->nr_luns; i++) { int events = iscsi_which_events(iscsi_info->luns[i]->iscsi); iscsi_info->pfds[i].events = events; } ret = poll(iscsi_info->pfds, iscsi_info->nr_luns, -1); if (ret < 0) { if (errno == EINTR || errno == EAGAIN) { continue; } log_err("iscsi: failed to poll events: %s.\n", strerror(errno)); break; } for (int i = 0; i < iscsi_info->nr_luns; i++) { ret = iscsi_service(iscsi_info->luns[i]->iscsi, iscsi_info->pfds[i].revents); assert(ret >= 0); } } return ret < 0 ? ret : iscsi_info->nr_events; } static struct io_u *fio_iscsi_event(struct thread_data *td, int event) { struct iscsi_info *iscsi_info = (struct iscsi_info*)td->io_ops_data; struct iscsi_task *iscsi_task = iscsi_info->complete_events[event]; struct io_u *io_u = iscsi_task->io_u; iscsi_info->complete_events[event] = NULL; scsi_free_scsi_task(iscsi_task->scsi_task); free(iscsi_task); return io_u; } FIO_STATIC struct ioengine_ops ioengine = { .name = "libiscsi", .version = FIO_IOOPS_VERSION, .flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_NODISKUTIL, .setup = fio_iscsi_setup, .init = fio_iscsi_init, .prep = fio_iscsi_prep, .queue = fio_iscsi_queue, .getevents = fio_iscsi_getevents, .event = fio_iscsi_event, .cleanup = fio_iscsi_cleanup, .open_file = fio_iscsi_open_file, .close_file = fio_iscsi_close_file, .option_struct_size = sizeof(struct iscsi_options), .options = options, }; static void fio_init fio_iscsi_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_iscsi_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/libpmem.c000066400000000000000000000146311476262051600154640ustar00rootroot00000000000000/* * libpmem: IO engine that uses PMDK libpmem to read and write data * * Copyright (C) 2017 Nippon Telegraph and Telephone Corporation. * Copyright 2018-2021, Intel Corporation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License, * version 2 as published by the Free Software Foundation.. * * 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. * */ /* * libpmem engine * * IO engine that uses libpmem (part of PMDK collection) to write data * and libc's memcpy to read. It requires PMDK >= 1.5. * * To use: * ioengine=libpmem * * Other relevant settings: * iodepth=1 * direct=1 * sync=1 * directory=/mnt/pmem0/ * bs=4k * * sync=1 means that pmem_drain() is executed for each write operation. * Otherwise is not and should be called on demand. * * direct=1 means PMEM_F_MEM_NONTEMPORAL flag is set in pmem_memcpy(). * * The pmem device must have a DAX-capable filesystem and be mounted * with DAX enabled. Directory must point to a mount point of DAX FS. * * Example: * mkfs.xfs /dev/pmem0 * mkdir /mnt/pmem0 * mount -o dax /dev/pmem0 /mnt/pmem0 * * See examples/libpmem.fio for complete usage example. */ #include #include #include #include #include #include "../fio.h" #include "../verify.h" struct fio_libpmem_data { void *libpmem_ptr; size_t libpmem_sz; off_t libpmem_off; }; static int fio_libpmem_init(struct thread_data *td) { struct thread_options *o = &td->o; dprint(FD_IO, "o->rw_min_bs %llu\n o->fsync_blocks %u\n o->fdatasync_blocks %u\n", o->rw_min_bs, o->fsync_blocks, o->fdatasync_blocks); dprint(FD_IO, "DEBUG fio_libpmem_init\n"); if ((o->rw_min_bs & page_mask) && (o->fsync_blocks || o->fdatasync_blocks)) { log_err("libpmem: mmap options dictate a minimum block size of " "%llu bytes\n", (unsigned long long) page_size); return 1; } return 0; } /* * This is the pmem_map_file execution function, a helper to * fio_libpmem_open_file function. */ static int fio_libpmem_file(struct thread_data *td, struct fio_file *f, size_t length, off_t off) { struct fio_libpmem_data *fdd = FILE_ENG_DATA(f); mode_t mode = S_IWUSR | S_IRUSR; size_t mapped_len; int is_pmem; dprint(FD_IO, "DEBUG fio_libpmem_file\n"); dprint(FD_IO, "f->file_name = %s td->o.verify = %d \n", f->file_name, td->o.verify); dprint(FD_IO, "length = %ld f->fd = %d off = %ld file mode = %d \n", length, f->fd, off, mode); /* unmap any existing mapping */ if (fdd->libpmem_ptr) { dprint(FD_IO,"pmem_unmap \n"); if (pmem_unmap(fdd->libpmem_ptr, fdd->libpmem_sz) < 0) return errno; fdd->libpmem_ptr = NULL; } if((fdd->libpmem_ptr = pmem_map_file(f->file_name, length, PMEM_FILE_CREATE, mode, &mapped_len, &is_pmem)) == NULL) { td_verror(td, errno, pmem_errormsg()); goto err; } if (!is_pmem) { td_verror(td, errno, "file_name does not point to persistent memory"); } err: if (td->error && fdd->libpmem_ptr) pmem_unmap(fdd->libpmem_ptr, length); return td->error; } static int fio_libpmem_open_file(struct thread_data *td, struct fio_file *f) { struct fio_libpmem_data *fdd; dprint(FD_IO, "DEBUG fio_libpmem_open_file\n"); dprint(FD_IO, "f->io_size=%ld\n", f->io_size); dprint(FD_IO, "td->o.size=%lld\n", td->o.size); dprint(FD_IO, "td->o.iodepth=%d\n", td->o.iodepth); dprint(FD_IO, "td->o.iodepth_batch=%d\n", td->o.iodepth_batch); if (fio_file_open(f)) td_io_close_file(td, f); fdd = calloc(1, sizeof(*fdd)); if (!fdd) { return 1; } FILE_SET_ENG_DATA(f, fdd); fdd->libpmem_sz = f->io_size; fdd->libpmem_off = 0; return fio_libpmem_file(td, f, fdd->libpmem_sz, fdd->libpmem_off); } static int fio_libpmem_prep(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_libpmem_data *fdd = FILE_ENG_DATA(f); dprint(FD_IO, "DEBUG fio_libpmem_prep\n"); dprint(FD_IO, "io_u->offset %llu : fdd->libpmem_off %ld : " "io_u->buflen %llu : fdd->libpmem_sz %ld\n", io_u->offset, fdd->libpmem_off, io_u->buflen, fdd->libpmem_sz); if (io_u->buflen > f->real_file_size) { log_err("libpmem: bs bigger than the file size\n"); return EIO; } io_u->mmap_data = fdd->libpmem_ptr + io_u->offset - fdd->libpmem_off - f->file_offset; return 0; } static enum fio_q_status fio_libpmem_queue(struct thread_data *td, struct io_u *io_u) { unsigned flags = 0; fio_ro_check(td, io_u); io_u->error = 0; dprint(FD_IO, "DEBUG fio_libpmem_queue\n"); dprint(FD_IO, "td->o.odirect %d td->o.sync_io %d\n", td->o.odirect, td->o.sync_io); /* map both O_SYNC / DSYNC to not use NODRAIN */ flags = td->o.sync_io ? 0 : PMEM_F_MEM_NODRAIN; flags |= td->o.odirect ? PMEM_F_MEM_NONTEMPORAL : PMEM_F_MEM_TEMPORAL; switch (io_u->ddir) { case DDIR_READ: memcpy(io_u->xfer_buf, io_u->mmap_data, io_u->xfer_buflen); break; case DDIR_WRITE: dprint(FD_IO, "DEBUG mmap_data=%p, xfer_buf=%p\n", io_u->mmap_data, io_u->xfer_buf); pmem_memcpy(io_u->mmap_data, io_u->xfer_buf, io_u->xfer_buflen, flags); break; case DDIR_SYNC: case DDIR_DATASYNC: case DDIR_SYNC_FILE_RANGE: pmem_drain(); break; default: io_u->error = EINVAL; break; } return FIO_Q_COMPLETED; } static int fio_libpmem_close_file(struct thread_data *td, struct fio_file *f) { struct fio_libpmem_data *fdd = FILE_ENG_DATA(f); int ret = 0; dprint(FD_IO, "DEBUG fio_libpmem_close_file\n"); if (fdd->libpmem_ptr) ret = pmem_unmap(fdd->libpmem_ptr, fdd->libpmem_sz); if (fio_file_open(f)) ret &= generic_close_file(td, f); FILE_SET_ENG_DATA(f, NULL); free(fdd); return ret; } FIO_STATIC struct ioengine_ops ioengine = { .name = "libpmem", .version = FIO_IOOPS_VERSION, .init = fio_libpmem_init, .prep = fio_libpmem_prep, .queue = fio_libpmem_queue, .open_file = fio_libpmem_open_file, .close_file = fio_libpmem_close_file, .get_file_size = generic_get_file_size, .prepopulate_file = generic_prepopulate_file, .flags = FIO_SYNCIO | FIO_RAWIO | FIO_DISKLESSIO | FIO_NOEXTEND | FIO_NODISKUTIL | FIO_BARRIER | FIO_MEMALIGN, }; static void fio_init fio_libpmem_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_libpmem_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/libzbc.c000066400000000000000000000241571476262051600153100ustar00rootroot00000000000000/* * Copyright (C) 2019 Western Digital Corporation or its affiliates. * * This file is released under the GPL. * * libzbc engine * IO engine using libzbc library to talk to SMR disks. */ #include #include #include #include #include "fio.h" #include "err.h" #include "zbd_types.h" #include "zbd.h" struct libzbc_data { struct zbc_device *zdev; enum zbc_dev_model model; uint64_t nr_sectors; uint32_t max_open_seq_req; }; static int libzbc_get_dev_info(struct libzbc_data *ld, struct fio_file *f) { struct zbc_device_info *zinfo; zinfo = calloc(1, sizeof(*zinfo)); if (!zinfo) return -ENOMEM; zbc_get_device_info(ld->zdev, zinfo); ld->model = zinfo->zbd_model; ld->nr_sectors = zinfo->zbd_sectors; ld->max_open_seq_req = zinfo->zbd_max_nr_open_seq_req; dprint(FD_ZBD, "%s: vendor_id:%s, type: %s, model: %s\n", f->file_name, zinfo->zbd_vendor_id, zbc_device_type_str(zinfo->zbd_type), zbc_device_model_str(zinfo->zbd_model)); free(zinfo); return 0; } static int libzbc_open_dev(struct thread_data *td, struct fio_file *f, struct libzbc_data **p_ld) { struct libzbc_data *ld = td->io_ops_data; int ret, flags = OS_O_DIRECT; if (ld) { /* Already open */ assert(ld->zdev); goto out; } if (f->filetype != FIO_TYPE_BLOCK && f->filetype != FIO_TYPE_CHAR) { td_verror(td, EINVAL, "wrong file type"); log_err("ioengine libzbc only works on block or character devices\n"); return -EINVAL; } if (td_write(td) || td_trim(td)) { if (!read_only) flags |= O_RDWR; } else if (td_read(td)) { flags |= O_RDONLY; } ld = calloc(1, sizeof(*ld)); if (!ld) return -ENOMEM; ret = zbc_open(f->file_name, flags | ZBC_O_DRV_SCSI | ZBC_O_DRV_ATA, &ld->zdev); if (ret) { log_err("%s: zbc_open() failed, err=%d\n", f->file_name, ret); goto err; } ret = libzbc_get_dev_info(ld, f); if (ret) goto err_close; td->io_ops_data = ld; out: if (p_ld) *p_ld = ld; return 0; err_close: zbc_close(ld->zdev); err: free(ld); return ret; } static int libzbc_close_dev(struct thread_data *td) { struct libzbc_data *ld = td->io_ops_data; int ret = 0; td->io_ops_data = NULL; if (ld) { if (ld->zdev) ret = zbc_close(ld->zdev); free(ld); } return ret; } static int libzbc_open_file(struct thread_data *td, struct fio_file *f) { return libzbc_open_dev(td, f, NULL); } static int libzbc_close_file(struct thread_data *td, struct fio_file *f) { int ret; ret = libzbc_close_dev(td); if (ret) log_err("%s: close device failed err %d\n", f->file_name, ret); return ret; } static void libzbc_cleanup(struct thread_data *td) { libzbc_close_dev(td); } static int libzbc_invalidate(struct thread_data *td, struct fio_file *f) { /* Passthrough IO do not cache data. Nothing to do */ return 0; } static int libzbc_get_file_size(struct thread_data *td, struct fio_file *f) { struct libzbc_data *ld; int ret; if (fio_file_size_known(f)) return 0; ret = libzbc_open_dev(td, f, &ld); if (ret) return ret; f->real_file_size = ld->nr_sectors << 9; fio_file_set_size_known(f); return 0; } static int libzbc_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model) { struct libzbc_data *ld; int ret; if (f->filetype != FIO_TYPE_BLOCK && f->filetype != FIO_TYPE_CHAR) return -EINVAL; ret = libzbc_open_dev(td, f, &ld); if (ret) return ret; switch (ld->model) { case ZBC_DM_HOST_AWARE: *model = ZBD_HOST_AWARE; break; case ZBC_DM_HOST_MANAGED: *model = ZBD_HOST_MANAGED; break; default: *model = ZBD_NONE; break; } return 0; } static int libzbc_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zbdz, unsigned int nr_zones) { struct libzbc_data *ld; uint64_t sector = offset >> 9; struct zbc_zone *zones; unsigned int i; int ret; ret = libzbc_open_dev(td, f, &ld); if (ret) return ret; if (sector >= ld->nr_sectors) return 0; zones = calloc(nr_zones, sizeof(struct zbc_zone)); if (!zones) { ret = -ENOMEM; goto out; } ret = zbc_report_zones(ld->zdev, sector, ZBC_RO_ALL, zones, &nr_zones); if (ret < 0) { log_err("%s: zbc_report_zones failed, err=%d\n", f->file_name, ret); goto out; } for (i = 0; i < nr_zones; i++, zbdz++) { zbdz->start = zones[i].zbz_start << 9; zbdz->len = zones[i].zbz_length << 9; zbdz->wp = zones[i].zbz_write_pointer << 9; /* * ZBC/ZAC do not define zone capacity, so use the zone size as * the zone capacity. */ zbdz->capacity = zbdz->len; switch (zones[i].zbz_type) { case ZBC_ZT_CONVENTIONAL: zbdz->type = ZBD_ZONE_TYPE_CNV; break; case ZBC_ZT_SEQUENTIAL_REQ: zbdz->type = ZBD_ZONE_TYPE_SWR; break; case ZBC_ZT_SEQUENTIAL_PREF: zbdz->type = ZBD_ZONE_TYPE_SWP; break; default: td_verror(td, errno, "invalid zone type"); log_err("%s: invalid type for zone at sector %llu.\n", f->file_name, (unsigned long long)zbdz->start); ret = -EIO; goto out; } switch (zones[i].zbz_condition) { case ZBC_ZC_NOT_WP: zbdz->cond = ZBD_ZONE_COND_NOT_WP; break; case ZBC_ZC_EMPTY: zbdz->cond = ZBD_ZONE_COND_EMPTY; break; case ZBC_ZC_IMP_OPEN: zbdz->cond = ZBD_ZONE_COND_IMP_OPEN; break; case ZBC_ZC_EXP_OPEN: zbdz->cond = ZBD_ZONE_COND_EXP_OPEN; break; case ZBC_ZC_CLOSED: zbdz->cond = ZBD_ZONE_COND_CLOSED; break; case ZBC_ZC_FULL: zbdz->cond = ZBD_ZONE_COND_FULL; break; case ZBC_ZC_RDONLY: case ZBC_ZC_OFFLINE: default: /* Treat all these conditions as offline (don't use!) */ zbdz->cond = ZBD_ZONE_COND_OFFLINE; zbdz->wp = zbdz->start; } } ret = nr_zones; out: free(zones); return ret; } static int libzbc_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { struct libzbc_data *ld = td->io_ops_data; uint64_t sector = offset >> 9; uint64_t end_sector = (offset + length) >> 9; unsigned int nr_zones; struct zbc_errno err; int i, ret; assert(ld); assert(ld->zdev); nr_zones = (length + td->o.zone_size - 1) / td->o.zone_size; if (!sector && end_sector >= ld->nr_sectors) { /* Reset all zones */ ret = zbc_reset_zone(ld->zdev, 0, ZBC_OP_ALL_ZONES); if (ret) goto err; return 0; } for (i = 0; i < nr_zones; i++, sector += td->o.zone_size >> 9) { ret = zbc_reset_zone(ld->zdev, sector, 0); if (ret) goto err; } return 0; err: zbc_errno(ld->zdev, &err); td_verror(td, errno, "zbc_reset_zone failed"); if (err.sk) log_err("%s: reset wp failed %s:%s\n", f->file_name, zbc_sk_str(err.sk), zbc_asc_ascq_str(err.asc_ascq)); return -ret; } static int libzbc_finish_zone(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { struct libzbc_data *ld = td->io_ops_data; uint64_t sector = offset >> 9; unsigned int nr_zones; struct zbc_errno err; int i, ret; assert(ld); assert(ld->zdev); nr_zones = (length + td->o.zone_size - 1) / td->o.zone_size; assert(nr_zones > 0); for (i = 0; i < nr_zones; i++, sector += td->o.zone_size >> 9) { ret = zbc_finish_zone(ld->zdev, sector, 0); if (ret) goto err; } return 0; err: zbc_errno(ld->zdev, &err); td_verror(td, errno, "zbc_finish_zone failed"); if (err.sk) log_err("%s: finish zone failed %s:%s\n", f->file_name, zbc_sk_str(err.sk), zbc_asc_ascq_str(err.asc_ascq)); return -ret; } static int libzbc_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones) { struct libzbc_data *ld; int ret; ret = libzbc_open_dev(td, f, &ld); if (ret) return ret; if (ld->max_open_seq_req == ZBC_NO_LIMIT) *max_open_zones = 0; else *max_open_zones = ld->max_open_seq_req; return 0; } ssize_t libzbc_rw(struct thread_data *td, struct io_u *io_u) { struct libzbc_data *ld = td->io_ops_data; struct fio_file *f = io_u->file; uint64_t sector = io_u->offset >> 9; size_t count = io_u->xfer_buflen >> 9; struct zbc_errno err; ssize_t ret; if (io_u->ddir == DDIR_WRITE) ret = zbc_pwrite(ld->zdev, io_u->xfer_buf, count, sector); else ret = zbc_pread(ld->zdev, io_u->xfer_buf, count, sector); if (ret == count) return ret; if (ret > 0) { log_err("Short %s, len=%zu, ret=%zd\n", io_u->ddir == DDIR_READ ? "read" : "write", count << 9, ret << 9); return -EIO; } /* I/O error */ zbc_errno(ld->zdev, &err); td_verror(td, errno, "libzbc i/o failed"); if (err.sk) { log_err("%s: op %u offset %llu+%llu failed (%s:%s), err %zd\n", f->file_name, io_u->ddir, io_u->offset, io_u->xfer_buflen, zbc_sk_str(err.sk), zbc_asc_ascq_str(err.asc_ascq), ret); } else { log_err("%s: op %u offset %llu+%llu failed, err %zd\n", f->file_name, io_u->ddir, io_u->offset, io_u->xfer_buflen, ret); } return -EIO; } static enum fio_q_status libzbc_queue(struct thread_data *td, struct io_u *io_u) { struct libzbc_data *ld = td->io_ops_data; struct fio_file *f = io_u->file; ssize_t ret = 0; fio_ro_check(td, io_u); dprint(FD_ZBD, "%p:%s: libzbc queue %llu\n", td, f->file_name, io_u->offset); if (io_u->ddir == DDIR_READ || io_u->ddir == DDIR_WRITE) { ret = libzbc_rw(td, io_u); } else if (ddir_sync(io_u->ddir)) { ret = zbc_flush(ld->zdev); if (ret) log_err("zbc_flush error %zd\n", ret); } else if (io_u->ddir == DDIR_TRIM) { ret = zbd_do_io_u_trim(td, io_u); if (!ret) ret = EINVAL; } else { log_err("Unsupported operation %u\n", io_u->ddir); ret = -EINVAL; } if (ret < 0) io_u->error = -ret; return FIO_Q_COMPLETED; } FIO_STATIC struct ioengine_ops ioengine = { .name = "libzbc", .version = FIO_IOOPS_VERSION, .open_file = libzbc_open_file, .close_file = libzbc_close_file, .cleanup = libzbc_cleanup, .invalidate = libzbc_invalidate, .get_file_size = libzbc_get_file_size, .get_zoned_model = libzbc_get_zoned_model, .report_zones = libzbc_report_zones, .reset_wp = libzbc_reset_wp, .get_max_open_zones = libzbc_get_max_open_zones, .finish_zone = libzbc_finish_zone, .queue = libzbc_queue, .flags = FIO_SYNCIO | FIO_NOEXTEND | FIO_RAWIO, }; static void fio_init fio_libzbc_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_libzbc_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/mmap.c000066400000000000000000000162261476262051600147730ustar00rootroot00000000000000/* * mmap engine * * IO engine that reads/writes from files by doing memcpy to/from * a memory mapped region of the file. * */ #include #include #include #include #include "../fio.h" #include "../optgroup.h" #include "../verify.h" /* * Limits us to 1GiB of mapped files in total */ #define MMAP_TOTAL_SZ (1 * 1024 * 1024 * 1024UL) static unsigned long mmap_map_size; struct fio_mmap_data { void *mmap_ptr; size_t mmap_sz; off_t mmap_off; }; #ifdef CONFIG_HAVE_THP struct mmap_options { void *pad; unsigned int thp; }; static struct fio_option options[] = { { .name = "thp", .lname = "Transparent Huge Pages", .type = FIO_OPT_INT, .off1 = offsetof(struct mmap_options, thp), .help = "Memory Advise Huge Page", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_MMAP, }, { .name = NULL, }, }; #endif static bool fio_madvise_file(struct thread_data *td, struct fio_file *f, size_t length) { struct fio_mmap_data *fmd = FILE_ENG_DATA(f); #ifdef CONFIG_HAVE_THP struct mmap_options *o = td->eo; /* Ignore errors on this optional advisory */ if (o->thp) madvise(fmd->mmap_ptr, length, MADV_HUGEPAGE); #endif if (!td->o.fadvise_hint) return true; if (!td_random(td)) { if (posix_madvise(fmd->mmap_ptr, length, POSIX_MADV_SEQUENTIAL) < 0) { td_verror(td, errno, "madvise"); return false; } } else { if (posix_madvise(fmd->mmap_ptr, length, POSIX_MADV_RANDOM) < 0) { td_verror(td, errno, "madvise"); return false; } } return true; } #ifdef CONFIG_HAVE_THP static int fio_mmap_get_shared(struct thread_data *td) { struct mmap_options *o = td->eo; if (o->thp) return MAP_PRIVATE; return MAP_SHARED; } #else static int fio_mmap_get_shared(struct thread_data *td) { return MAP_SHARED; } #endif static int fio_mmap_file(struct thread_data *td, struct fio_file *f, size_t length, off_t off) { struct fio_mmap_data *fmd = FILE_ENG_DATA(f); int flags = 0, shared = fio_mmap_get_shared(td); if (td_rw(td) && !td->o.verify_only) flags = PROT_READ | PROT_WRITE; else if (td_write(td) && !td->o.verify_only) { flags = PROT_WRITE; if (td->o.verify != VERIFY_NONE) flags |= PROT_READ; } else flags = PROT_READ; fmd->mmap_ptr = mmap(NULL, length, flags, shared, f->fd, off); if (fmd->mmap_ptr == MAP_FAILED) { fmd->mmap_ptr = NULL; td_verror(td, errno, "mmap"); goto err; } if (!fio_madvise_file(td, f, length)) goto err; if (posix_madvise(fmd->mmap_ptr, length, POSIX_MADV_DONTNEED) < 0) { td_verror(td, errno, "madvise"); goto err; } #ifdef FIO_MADV_FREE if (f->filetype == FIO_TYPE_BLOCK) (void) posix_madvise(fmd->mmap_ptr, fmd->mmap_sz, FIO_MADV_FREE); #endif err: if (td->error && fmd->mmap_ptr) munmap(fmd->mmap_ptr, length); return td->error; } /* * Just mmap an appropriate portion, we cannot mmap the full extent */ static int fio_mmapio_prep_limited(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_mmap_data *fmd = FILE_ENG_DATA(f); if (io_u->buflen > mmap_map_size) { log_err("fio: bs too big for mmap engine\n"); return EIO; } fmd->mmap_sz = mmap_map_size; if (fmd->mmap_sz > f->io_size) fmd->mmap_sz = f->io_size; fmd->mmap_off = io_u->offset; return fio_mmap_file(td, f, fmd->mmap_sz, fmd->mmap_off); } /* * Attempt to mmap the entire file */ static int fio_mmapio_prep_full(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_mmap_data *fmd = FILE_ENG_DATA(f); int ret; if (fio_file_partial_mmap(f)) return EINVAL; if (io_u->offset != (size_t) io_u->offset || f->io_size != (size_t) f->io_size) { fio_file_set_partial_mmap(f); return EINVAL; } fmd->mmap_sz = f->io_size; fmd->mmap_off = 0; ret = fio_mmap_file(td, f, fmd->mmap_sz, fmd->mmap_off); if (ret) fio_file_set_partial_mmap(f); return ret; } static int fio_mmapio_prep(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_mmap_data *fmd = FILE_ENG_DATA(f); int ret; /* * It fits within existing mapping, use it */ if (io_u->offset >= fmd->mmap_off && io_u->offset + io_u->buflen <= fmd->mmap_off + fmd->mmap_sz) goto done; /* * unmap any existing mapping */ if (fmd->mmap_ptr) { if (munmap(fmd->mmap_ptr, fmd->mmap_sz) < 0) return errno; fmd->mmap_ptr = NULL; } if (fio_mmapio_prep_full(td, io_u)) { td_clear_error(td); ret = fio_mmapio_prep_limited(td, io_u); if (ret) return ret; } done: io_u->mmap_data = fmd->mmap_ptr + io_u->offset - fmd->mmap_off - f->file_offset; return 0; } static enum fio_q_status fio_mmapio_queue(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_mmap_data *fmd = FILE_ENG_DATA(f); fio_ro_check(td, io_u); if (io_u->ddir == DDIR_READ) memcpy(io_u->xfer_buf, io_u->mmap_data, io_u->xfer_buflen); else if (io_u->ddir == DDIR_WRITE) memcpy(io_u->mmap_data, io_u->xfer_buf, io_u->xfer_buflen); else if (ddir_sync(io_u->ddir)) { if (msync(fmd->mmap_ptr, fmd->mmap_sz, MS_SYNC)) { io_u->error = errno; td_verror(td, io_u->error, "msync"); } } else if (io_u->ddir == DDIR_TRIM) { int ret = do_io_u_trim(td, io_u); if (!ret) td_verror(td, io_u->error, "trim"); } /* * not really direct, but should drop the pages from the cache */ if (td->o.odirect && ddir_rw(io_u->ddir)) { if (msync(io_u->mmap_data, io_u->xfer_buflen, MS_SYNC) < 0) { io_u->error = errno; td_verror(td, io_u->error, "msync"); } if (posix_madvise(io_u->mmap_data, io_u->xfer_buflen, POSIX_MADV_DONTNEED) < 0) { io_u->error = errno; td_verror(td, io_u->error, "madvise"); } } return FIO_Q_COMPLETED; } static int fio_mmapio_init(struct thread_data *td) { struct thread_options *o = &td->o; if ((o->rw_min_bs & page_mask) && (o->odirect || o->fsync_blocks || o->fdatasync_blocks)) { log_err("fio: mmap options dictate a minimum block size of " "%llu bytes\n", (unsigned long long) page_size); return 1; } mmap_map_size = MMAP_TOTAL_SZ / o->nr_files; return 0; } static int fio_mmapio_open_file(struct thread_data *td, struct fio_file *f) { struct fio_mmap_data *fmd; int ret; ret = generic_open_file(td, f); if (ret) return ret; fmd = calloc(1, sizeof(*fmd)); if (!fmd) { int fio_unused __ret; __ret = generic_close_file(td, f); return 1; } FILE_SET_ENG_DATA(f, fmd); return 0; } static int fio_mmapio_close_file(struct thread_data *td, struct fio_file *f) { struct fio_mmap_data *fmd = FILE_ENG_DATA(f); FILE_SET_ENG_DATA(f, NULL); free(fmd); fio_file_clear_partial_mmap(f); return generic_close_file(td, f); } static struct ioengine_ops ioengine = { .name = "mmap", .version = FIO_IOOPS_VERSION, .init = fio_mmapio_init, .prep = fio_mmapio_prep, .queue = fio_mmapio_queue, .open_file = fio_mmapio_open_file, .close_file = fio_mmapio_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO | FIO_NOEXTEND, #ifdef CONFIG_HAVE_THP .options = options, .option_struct_size = sizeof(struct mmap_options), #endif }; static void fio_init fio_mmapio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_mmapio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/mtd.c000066400000000000000000000123451476262051600146230ustar00rootroot00000000000000/* * MTD engine * * IO engine that reads/writes from MTD character devices. * */ #include #include #include #include #include #include "../fio.h" #include "../optgroup.h" #include "../oslib/libmtd.h" static libmtd_t desc; struct fio_mtd_data { struct mtd_dev_info info; }; struct fio_mtd_options { void *pad; /* avoid off1 == 0 */ unsigned int skip_bad; }; static struct fio_option options[] = { { .name = "skip_bad", .lname = "Skip operations against bad blocks", .type = FIO_OPT_BOOL, .off1 = offsetof(struct fio_mtd_options, skip_bad), .help = "Skip operations against known bad blocks.", .hide = 1, .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_MTD, }, { .name = NULL, }, }; static int fio_mtd_maybe_mark_bad(struct thread_data *td, struct fio_mtd_data *fmd, struct io_u *io_u, int eb) { int ret; if (errno == EIO) { ret = mtd_mark_bad(&fmd->info, io_u->file->fd, eb); if (ret != 0) { io_u->error = errno; td_verror(td, errno, "mtd_mark_bad"); return -1; } } return 0; } static int fio_mtd_is_bad(struct thread_data *td, struct fio_mtd_data *fmd, struct io_u *io_u, int eb) { int ret = mtd_is_bad(&fmd->info, io_u->file->fd, eb); if (ret == -1) { io_u->error = errno; td_verror(td, errno, "mtd_is_bad"); } else if (ret == 1) io_u->error = EIO; /* Silent failure--don't flood stderr */ return ret; } static enum fio_q_status fio_mtd_queue(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_mtd_data *fmd = FILE_ENG_DATA(f); struct fio_mtd_options *o = td->eo; int local_offs = 0; int ret; fio_ro_check(td, io_u); /* * Errors tend to pertain to particular erase blocks, so divide up * I/O to erase block size. * If an error is encountered, log it and keep going onto the next * block because the error probably just pertains to that block. * TODO(dehrenberg): Divide up reads and writes into page-sized * operations to get more fine-grained information about errors. */ while (local_offs < io_u->buflen) { int eb = (io_u->offset + local_offs) / fmd->info.eb_size; int eb_offs = (io_u->offset + local_offs) % fmd->info.eb_size; /* The length is the smaller of the length remaining in the * buffer and the distance to the end of the erase block */ int len = min((int)io_u->buflen - local_offs, (int)fmd->info.eb_size - eb_offs); char *buf = ((char *)io_u->buf) + local_offs; if (o->skip_bad) { ret = fio_mtd_is_bad(td, fmd, io_u, eb); if (ret == -1) break; else if (ret == 1) goto next; } if (io_u->ddir == DDIR_READ) { ret = mtd_read(&fmd->info, f->fd, eb, eb_offs, buf, len); if (ret != 0) { io_u->error = errno; td_verror(td, errno, "mtd_read"); if (fio_mtd_maybe_mark_bad(td, fmd, io_u, eb)) break; } } else if (io_u->ddir == DDIR_WRITE) { ret = mtd_write(desc, &fmd->info, f->fd, eb, eb_offs, buf, len, NULL, 0, 0); if (ret != 0) { io_u->error = errno; td_verror(td, errno, "mtd_write"); if (fio_mtd_maybe_mark_bad(td, fmd, io_u, eb)) break; } } else if (io_u->ddir == DDIR_TRIM) { if (eb_offs != 0 || len != fmd->info.eb_size) { io_u->error = EINVAL; td_verror(td, EINVAL, "trim on MTD must be erase block-aligned"); } ret = mtd_erase(desc, &fmd->info, f->fd, eb); if (ret != 0) { io_u->error = errno; td_verror(td, errno, "mtd_erase"); if (fio_mtd_maybe_mark_bad(td, fmd, io_u, eb)) break; } } else { io_u->error = ENOTSUP; td_verror(td, io_u->error, "operation not supported on mtd"); } next: local_offs += len; } return FIO_Q_COMPLETED; } static int fio_mtd_open_file(struct thread_data *td, struct fio_file *f) { struct fio_mtd_data *fmd; int ret; ret = generic_open_file(td, f); if (ret) return ret; fmd = calloc(1, sizeof(*fmd)); if (!fmd) goto err_close; ret = mtd_get_dev_info(desc, f->file_name, &fmd->info); if (ret != 0) { td_verror(td, errno, "mtd_get_dev_info"); goto err_free; } FILE_SET_ENG_DATA(f, fmd); return 0; err_free: free(fmd); err_close: { int fio_unused __ret; __ret = generic_close_file(td, f); return 1; } } static int fio_mtd_close_file(struct thread_data *td, struct fio_file *f) { struct fio_mtd_data *fmd = FILE_ENG_DATA(f); FILE_SET_ENG_DATA(f, NULL); free(fmd); return generic_close_file(td, f); } static int fio_mtd_get_file_size(struct thread_data *td, struct fio_file *f) { struct mtd_dev_info info; int ret = mtd_get_dev_info(desc, f->file_name, &info); if (ret != 0) { td_verror(td, errno, "mtd_get_dev_info"); return errno; } f->real_file_size = info.size; return 0; } static struct ioengine_ops ioengine = { .name = "mtd", .version = FIO_IOOPS_VERSION, .queue = fio_mtd_queue, .open_file = fio_mtd_open_file, .close_file = fio_mtd_close_file, .get_file_size = fio_mtd_get_file_size, .flags = FIO_SYNCIO | FIO_NOEXTEND, .options = options, .option_struct_size = sizeof(struct fio_mtd_options), }; static void fio_init fio_mtd_register(void) { desc = libmtd_open(); register_ioengine(&ioengine); } static void fio_exit fio_mtd_unregister(void) { unregister_ioengine(&ioengine); libmtd_close(desc); desc = NULL; } fio-3.39/engines/nbd.c000066400000000000000000000172451476262051600146060ustar00rootroot00000000000000/* * NBD engine * * IO engine that talks to an NBD server. * * Copyright (C) 2019 Red Hat Inc. * Written by Richard W.M. Jones * */ #include #include #include #include #include #include "../fio.h" #include "../optgroup.h" /* Actually this differs across servers, but for nbdkit ... */ #define NBD_MAX_REQUEST_SIZE (64 * 1024 * 1024) /* Storage for the NBD handle. */ struct nbd_data { struct nbd_handle *nbd; int debug; /* The list of completed io_u structs. */ struct io_u **completed; size_t nr_completed; }; /* Options. */ struct nbd_options { void *padding; char *uri; }; static struct fio_option options[] = { { .name = "uri", .lname = "NBD URI", .help = "Name of NBD URI", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NBD, .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct nbd_options, uri), }, { .name = NULL, }, }; /* Allocates nbd_data. */ static int nbd_setup(struct thread_data *td) { struct nbd_data *nbd_data; struct nbd_options *o = td->eo; struct fio_file *f; int r; int64_t size; nbd_data = calloc(1, sizeof(*nbd_data)); if (!nbd_data) { td_verror(td, errno, "calloc"); return 1; } td->io_ops_data = nbd_data; /* Pretend to deal with files. See engines/rbd.c */ if (!td->files_index) { add_file(td, "nbd", 0, 0); td->o.nr_files = td->o.nr_files ? : 1; td->o.open_files++; } f = td->files[0]; nbd_data->nbd = nbd_create(); if (!nbd_data->nbd) { log_err("fio: nbd_create: %s\n", nbd_get_error()); return 1; } /* Get the debug flag which can be set through LIBNBD_DEBUG=1. */ nbd_data->debug = nbd_get_debug(nbd_data->nbd); /* Connect synchronously here so we can check for the size and * in future other properties of the server. */ if (!o->uri) { log_err("fio: nbd: uri parameter was not specified\n"); return 1; } r = nbd_connect_uri(nbd_data->nbd, o->uri); if (r == -1) { log_err("fio: nbd_connect_uri: %s\n", nbd_get_error()); return 1; } size = nbd_get_size(nbd_data->nbd); if (size == -1) { log_err("fio: nbd_get_size: %s\n", nbd_get_error()); return 1; } f->real_file_size = size; nbd_close (nbd_data->nbd); nbd_data->nbd = NULL; return 0; } /* Closes socket and frees nbd_data -- the opposite of nbd_setup. */ static void nbd_cleanup(struct thread_data *td) { struct nbd_data *nbd_data = td->io_ops_data; if (nbd_data) { if (nbd_data->nbd) nbd_close(nbd_data->nbd); free(nbd_data); } } /* Connect to the server from each thread. */ static int nbd_init(struct thread_data *td) { struct nbd_options *o = td->eo; struct nbd_data *nbd_data = td->io_ops_data; int r; if (!o->uri) { log_err("fio: nbd: uri parameter was not specified\n"); return 1; } nbd_data->nbd = nbd_create(); if (!nbd_data->nbd) { log_err("fio: nbd_create: %s\n", nbd_get_error()); return 1; } /* This is actually a synchronous connect and handshake. */ r = nbd_connect_uri(nbd_data->nbd, o->uri); if (r == -1) { log_err("fio: nbd_connect_uri: %s\n", nbd_get_error()); return 1; } log_info("fio: connected to NBD server\n"); return 0; } /* A command in flight has been completed. */ static int cmd_completed (void *vp, int *error) { struct io_u *io_u; struct nbd_data *nbd_data; struct io_u **completed; io_u = vp; nbd_data = io_u->engine_data; if (nbd_data->debug) log_info("fio: nbd: command completed\n"); if (*error != 0) io_u->error = *error; else io_u->error = 0; /* Add this completion to the list so it can be picked up * later by ->event. */ completed = realloc(nbd_data->completed, sizeof(struct io_u *) * (nbd_data->nr_completed+1)); if (completed == NULL) { io_u->error = errno; return 0; } nbd_data->completed = completed; nbd_data->completed[nbd_data->nr_completed] = io_u; nbd_data->nr_completed++; return 0; } /* Begin read or write request. */ static enum fio_q_status nbd_queue(struct thread_data *td, struct io_u *io_u) { struct nbd_data *nbd_data = td->io_ops_data; nbd_completion_callback completion = { .callback = cmd_completed, .user_data = io_u }; int r; fio_ro_check(td, io_u); io_u->engine_data = nbd_data; if (io_u->ddir == DDIR_WRITE || io_u->ddir == DDIR_READ) assert(io_u->xfer_buflen <= NBD_MAX_REQUEST_SIZE); switch (io_u->ddir) { case DDIR_READ: r = nbd_aio_pread(nbd_data->nbd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset, completion, 0); break; case DDIR_WRITE: r = nbd_aio_pwrite(nbd_data->nbd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset, completion, 0); break; case DDIR_TRIM: r = nbd_aio_trim(nbd_data->nbd, io_u->xfer_buflen, io_u->offset, completion, 0); break; case DDIR_SYNC: /* XXX We could probably also handle * DDIR_SYNC_FILE_RANGE with a bit of effort. */ r = nbd_aio_flush(nbd_data->nbd, completion, 0); break; default: io_u->error = EINVAL; return FIO_Q_COMPLETED; } if (r == -1) { /* errno is optional information on libnbd error path; * if it's 0, set it to a default value */ io_u->error = nbd_get_errno(); if (io_u->error == 0) io_u->error = EIO; return FIO_Q_COMPLETED; } if (nbd_data->debug) log_info("fio: nbd: command issued\n"); io_u->error = 0; return FIO_Q_QUEUED; } static unsigned retire_commands(struct nbd_handle *nbd) { int64_t cookie; unsigned r = 0; while ((cookie = nbd_aio_peek_command_completed(nbd)) > 0) { /* Ignore the return value. cmd_completed has already * checked for an error and set io_u->error. We only * have to call this to retire the command. */ nbd_aio_command_completed(nbd, cookie); r++; } if (nbd_get_debug(nbd)) log_info("fio: nbd: %u commands retired\n", r); return r; } static int nbd_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct nbd_data *nbd_data = td->io_ops_data; int r; unsigned events = 0; int timeout; /* XXX This handling of timeout is wrong because it will wait * for up to loop iterations * timeout. */ timeout = !t ? -1 : t->tv_sec * 1000 + t->tv_nsec / 1000000; while (events < min) { r = nbd_poll(nbd_data->nbd, timeout); if (r == -1) { /* error in poll */ log_err("fio: nbd_poll: %s\n", nbd_get_error()); return -1; } else { /* poll made progress */ events += retire_commands(nbd_data->nbd); } } return events; } static struct io_u *nbd_event(struct thread_data *td, int event) { struct nbd_data *nbd_data = td->io_ops_data; if (nbd_data->nr_completed == 0) return NULL; /* XXX We ignore the event number and assume fio calls us * exactly once for [0..nr_events-1]. */ nbd_data->nr_completed--; return nbd_data->completed[nbd_data->nr_completed]; } static int nbd_io_u_init(struct thread_data *td, struct io_u *io_u) { io_u->engine_data = NULL; return 0; } static void nbd_io_u_free(struct thread_data *td, struct io_u *io_u) { /* Nothing needs to be done. */ } static int nbd_open_file(struct thread_data *td, struct fio_file *f) { return 0; } static int nbd_invalidate(struct thread_data *td, struct fio_file *f) { return 0; } FIO_STATIC struct ioengine_ops ioengine = { .name = "nbd", .version = FIO_IOOPS_VERSION, .options = options, .option_struct_size = sizeof(struct nbd_options), .flags = FIO_DISKLESSIO | FIO_NOEXTEND, .setup = nbd_setup, .init = nbd_init, .cleanup = nbd_cleanup, .queue = nbd_queue, .getevents = nbd_getevents, .event = nbd_event, .io_u_init = nbd_io_u_init, .io_u_free = nbd_io_u_free, .open_file = nbd_open_file, .invalidate = nbd_invalidate, }; static void fio_init fio_nbd_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_nbd_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/net.c000066400000000000000000001022721476262051600146240ustar00rootroot00000000000000/* * net engine * * IO engine that reads/writes to/from sockets. * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef CONFIG_VSOCK #include #else struct sockaddr_vm { }; #ifndef AF_VSOCK #define AF_VSOCK -1 #endif #endif #include "../fio.h" #include "../verify.h" #include "../optgroup.h" struct netio_data { int listenfd; int use_splice; int seq_off; int pipes[2]; struct sockaddr_in addr; struct sockaddr_in6 addr6; struct sockaddr_un addr_un; struct sockaddr_vm addr_vm; uint64_t udp_send_seq; uint64_t udp_recv_seq; }; struct netio_options { struct thread_data *td; unsigned int port; unsigned int proto; unsigned int listen; unsigned int pingpong; unsigned int nodelay; unsigned int ttl; unsigned int window_size; unsigned int mss; char *intfc; }; struct udp_close_msg { uint32_t magic; uint32_t cmd; }; struct udp_seq { uint64_t magic; uint64_t seq; uint64_t bs; }; enum { FIO_LINK_CLOSE = 0x89, FIO_LINK_OPEN_CLOSE_MAGIC = 0x6c696e6b, FIO_LINK_OPEN = 0x98, FIO_UDP_SEQ_MAGIC = 0x657375716e556563ULL, FIO_TYPE_TCP = 1, FIO_TYPE_UDP = 2, FIO_TYPE_UNIX = 3, FIO_TYPE_TCP_V6 = 4, FIO_TYPE_UDP_V6 = 5, FIO_TYPE_VSOCK_STREAM = 6, }; static int str_hostname_cb(void *data, const char *input); static struct fio_option options[] = { { .name = "hostname", .lname = "net engine hostname", .type = FIO_OPT_STR_STORE, .cb = str_hostname_cb, .help = "Hostname for net IO engine", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, { .name = "port", .lname = "net engine port", .type = FIO_OPT_INT, .off1 = offsetof(struct netio_options, port), .minval = 1, .maxval = 65535, .help = "Port to use for TCP or UDP net connections", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, { .name = "protocol", .lname = "net engine protocol", .alias = "proto", .type = FIO_OPT_STR, .off1 = offsetof(struct netio_options, proto), .help = "Network protocol to use", .def = "tcp", .posval = { { .ival = "tcp", .oval = FIO_TYPE_TCP, .help = "Transmission Control Protocol", }, #ifdef CONFIG_IPV6 { .ival = "tcpv6", .oval = FIO_TYPE_TCP_V6, .help = "Transmission Control Protocol V6", }, #endif { .ival = "udp", .oval = FIO_TYPE_UDP, .help = "User Datagram Protocol", }, #ifdef CONFIG_IPV6 { .ival = "udpv6", .oval = FIO_TYPE_UDP_V6, .help = "User Datagram Protocol V6", }, #endif { .ival = "unix", .oval = FIO_TYPE_UNIX, .help = "UNIX domain socket", }, { .ival = "vsock", .oval = FIO_TYPE_VSOCK_STREAM, .help = "Virtual socket", }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, #ifdef CONFIG_TCP_NODELAY { .name = "nodelay", .lname = "No Delay", .type = FIO_OPT_BOOL, .off1 = offsetof(struct netio_options, nodelay), .help = "Use TCP_NODELAY on TCP connections", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, #endif { .name = "listen", .lname = "net engine listen", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct netio_options, listen), .help = "Listen for incoming TCP connections", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, { .name = "pingpong", .lname = "Ping Pong", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct netio_options, pingpong), .help = "Ping-pong IO requests", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, { .name = "interface", .lname = "net engine interface", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct netio_options, intfc), .help = "Network interface to use", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, { .name = "ttl", .lname = "net engine multicast ttl", .type = FIO_OPT_INT, .off1 = offsetof(struct netio_options, ttl), .def = "1", .minval = 0, .help = "Time-to-live value for outgoing UDP multicast packets", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, #ifdef CONFIG_NET_WINDOWSIZE { .name = "window_size", .lname = "Window Size", .type = FIO_OPT_INT, .off1 = offsetof(struct netio_options, window_size), .minval = 0, .help = "Set socket buffer window size", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, #endif #ifdef CONFIG_NET_MSS { .name = "mss", .lname = "Maximum segment size", .type = FIO_OPT_INT, .off1 = offsetof(struct netio_options, mss), .minval = 0, .help = "Set TCP maximum segment size", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_NETIO, }, #endif { .name = NULL, }, }; static inline int is_udp(struct netio_options *o) { return o->proto == FIO_TYPE_UDP || o->proto == FIO_TYPE_UDP_V6; } static inline int is_tcp(struct netio_options *o) { return o->proto == FIO_TYPE_TCP || o->proto == FIO_TYPE_TCP_V6; } static inline int is_ipv6(struct netio_options *o) { return o->proto == FIO_TYPE_UDP_V6 || o->proto == FIO_TYPE_TCP_V6; } static inline int is_vsock(struct netio_options *o) { return o->proto == FIO_TYPE_VSOCK_STREAM; } static int set_window_size(struct thread_data *td, int fd) { #ifdef CONFIG_NET_WINDOWSIZE struct netio_options *o = td->eo; unsigned int wss; int snd, rcv, ret; if (!o->window_size) return 0; rcv = o->listen || o->pingpong; snd = !o->listen || o->pingpong; wss = o->window_size; ret = 0; if (rcv) { ret = setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (void *) &wss, sizeof(wss)); if (ret < 0) td_verror(td, errno, "rcvbuf window size"); } if (snd && !ret) { ret = setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (void *) &wss, sizeof(wss)); if (ret < 0) td_verror(td, errno, "sndbuf window size"); } return ret; #else td_verror(td, -EINVAL, "setsockopt window size"); return -1; #endif } static int set_mss(struct thread_data *td, int fd) { #ifdef CONFIG_NET_MSS struct netio_options *o = td->eo; unsigned int mss; int ret; if (!o->mss || !is_tcp(o)) return 0; mss = o->mss; ret = setsockopt(fd, IPPROTO_TCP, TCP_MAXSEG, (void *) &mss, sizeof(mss)); if (ret < 0) td_verror(td, errno, "setsockopt TCP_MAXSEG"); return ret; #else td_verror(td, -EINVAL, "setsockopt TCP_MAXSEG"); return -1; #endif } /* * Return -1 for error and 'nr events' for a positive number * of events */ static int poll_wait(struct thread_data *td, int fd, short events) { struct pollfd pfd; int ret; while (!td->terminate) { pfd.fd = fd; pfd.events = events; ret = poll(&pfd, 1, -1); if (ret < 0) { if (errno == EINTR) break; td_verror(td, errno, "poll"); return -1; } else if (!ret) continue; break; } if (pfd.revents & events) return 1; return -1; } static int fio_netio_is_multicast(const char *mcaddr) { in_addr_t addr = inet_network(mcaddr); if (addr == -1) return 0; if (inet_network("224.0.0.0") <= addr && inet_network("239.255.255.255") >= addr) return 1; return 0; } static int fio_netio_prep(struct thread_data *td, struct io_u *io_u) { struct netio_options *o = td->eo; /* * Make sure we don't see spurious reads to a receiver, and vice versa */ if (is_tcp(o)) return 0; if ((o->listen && io_u->ddir == DDIR_WRITE) || (!o->listen && io_u->ddir == DDIR_READ)) { td_verror(td, EINVAL, "bad direction"); return 1; } return 0; } #ifdef CONFIG_LINUX_SPLICE static int splice_io_u(int fdin, int fdout, unsigned int len) { int bytes = 0; while (len) { int ret = splice(fdin, NULL, fdout, NULL, len, 0); if (ret < 0) { if (!bytes) bytes = ret; break; } else if (!ret) break; bytes += ret; len -= ret; } return bytes; } /* * Receive bytes from a socket and fill them into the internal pipe */ static int splice_in(struct thread_data *td, struct io_u *io_u) { struct netio_data *nd = td->io_ops_data; return splice_io_u(io_u->file->fd, nd->pipes[1], io_u->xfer_buflen); } /* * Transmit 'len' bytes from the internal pipe */ static int splice_out(struct thread_data *td, struct io_u *io_u, unsigned int len) { struct netio_data *nd = td->io_ops_data; return splice_io_u(nd->pipes[0], io_u->file->fd, len); } static int vmsplice_io_u(struct io_u *io_u, int fd, unsigned int len) { struct iovec iov = { .iov_base = io_u->xfer_buf, .iov_len = len, }; int bytes = 0; while (iov.iov_len) { int ret = vmsplice(fd, &iov, 1, SPLICE_F_MOVE); if (ret < 0) { if (!bytes) bytes = ret; break; } else if (!ret) break; iov.iov_len -= ret; iov.iov_base += ret; bytes += ret; } return bytes; } /* * vmsplice() pipe to io_u buffer */ static int vmsplice_io_u_out(struct thread_data *td, struct io_u *io_u, unsigned int len) { struct netio_data *nd = td->io_ops_data; return vmsplice_io_u(io_u, nd->pipes[0], len); } /* * vmsplice() io_u to pipe */ static int vmsplice_io_u_in(struct thread_data *td, struct io_u *io_u) { struct netio_data *nd = td->io_ops_data; return vmsplice_io_u(io_u, nd->pipes[1], io_u->xfer_buflen); } /* * splice receive - transfer socket data into a pipe using splice, then map * that pipe data into the io_u using vmsplice. */ static int fio_netio_splice_in(struct thread_data *td, struct io_u *io_u) { int ret; ret = splice_in(td, io_u); if (ret > 0) return vmsplice_io_u_out(td, io_u, ret); return ret; } /* * splice transmit - map data from the io_u into a pipe by using vmsplice, * then transfer that pipe to a socket using splice. */ static int fio_netio_splice_out(struct thread_data *td, struct io_u *io_u) { int ret; ret = vmsplice_io_u_in(td, io_u); if (ret > 0) return splice_out(td, io_u, ret); return ret; } #else static int fio_netio_splice_in(struct thread_data *td, struct io_u *io_u) { errno = EOPNOTSUPP; return -1; } static int fio_netio_splice_out(struct thread_data *td, struct io_u *io_u) { errno = EOPNOTSUPP; return -1; } #endif static void store_udp_seq(struct netio_data *nd, struct io_u *io_u) { struct udp_seq *us; if (io_u->xfer_buflen < sizeof(*us)) return; us = io_u->xfer_buf + io_u->xfer_buflen - sizeof(*us); us->magic = cpu_to_le64((uint64_t) FIO_UDP_SEQ_MAGIC); us->bs = cpu_to_le64((uint64_t) io_u->xfer_buflen); us->seq = cpu_to_le64(nd->udp_send_seq++); } static void verify_udp_seq(struct thread_data *td, struct netio_data *nd, struct io_u *io_u) { struct udp_seq *us; uint64_t seq; if (io_u->xfer_buflen < sizeof(*us)) return; if (nd->seq_off) return; us = io_u->xfer_buf + io_u->xfer_buflen - sizeof(*us); if (le64_to_cpu(us->magic) != FIO_UDP_SEQ_MAGIC) return; if (le64_to_cpu(us->bs) != io_u->xfer_buflen) { nd->seq_off = 1; return; } seq = le64_to_cpu(us->seq); if (seq != nd->udp_recv_seq) td->ts.drop_io_u[io_u->ddir] += seq - nd->udp_recv_seq; nd->udp_recv_seq = seq + 1; } static int fio_netio_send(struct thread_data *td, struct io_u *io_u) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; int ret, flags = 0; do { if (is_udp(o)) { const struct sockaddr *to; socklen_t len; if (is_ipv6(o)) { to = (struct sockaddr *) &nd->addr6; len = sizeof(nd->addr6); } else { to = (struct sockaddr *) &nd->addr; len = sizeof(nd->addr); } if (td->o.verify == VERIFY_NONE) store_udp_seq(nd, io_u); ret = sendto(io_u->file->fd, io_u->xfer_buf, io_u->xfer_buflen, flags, to, len); } else { /* * if we are going to write more, set MSG_MORE */ #ifdef MSG_MORE if ((td->this_io_bytes[DDIR_WRITE] + io_u->xfer_buflen < td->o.size) && !o->pingpong) flags |= MSG_MORE; #endif ret = send(io_u->file->fd, io_u->xfer_buf, io_u->xfer_buflen, flags); } if (ret > 0) break; ret = poll_wait(td, io_u->file->fd, POLLOUT); if (ret <= 0) break; } while (1); return ret; } static int is_close_msg(struct io_u *io_u, int len) { struct udp_close_msg *msg; if (len != sizeof(struct udp_close_msg)) return 0; msg = io_u->xfer_buf; if (le32_to_cpu(msg->magic) != FIO_LINK_OPEN_CLOSE_MAGIC) return 0; if (le32_to_cpu(msg->cmd) != FIO_LINK_CLOSE) return 0; return 1; } static int fio_netio_recv(struct thread_data *td, struct io_u *io_u) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; int ret, flags = 0; do { if (is_udp(o)) { struct sockaddr *from; socklen_t l, *len = &l; if (o->listen) { if (!is_ipv6(o)) { from = (struct sockaddr *) &nd->addr; *len = sizeof(nd->addr); } else { from = (struct sockaddr *) &nd->addr6; *len = sizeof(nd->addr6); } } else { from = NULL; len = NULL; } ret = recvfrom(io_u->file->fd, io_u->xfer_buf, io_u->xfer_buflen, flags, from, len); if (is_close_msg(io_u, ret)) { td->done = 1; return 0; } } else { ret = recv(io_u->file->fd, io_u->xfer_buf, io_u->xfer_buflen, flags); if (is_close_msg(io_u, ret)) { td->done = 1; return 0; } } if (ret > 0) break; else if (!ret && (flags & MSG_WAITALL)) break; ret = poll_wait(td, io_u->file->fd, POLLIN); if (ret <= 0) break; flags |= MSG_WAITALL; } while (1); if (is_udp(o) && td->o.verify == VERIFY_NONE) verify_udp_seq(td, nd, io_u); return ret; } static enum fio_q_status __fio_netio_queue(struct thread_data *td, struct io_u *io_u, enum fio_ddir ddir) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; int ret; if (ddir == DDIR_WRITE) { if (!nd->use_splice || is_udp(o) || o->proto == FIO_TYPE_UNIX) ret = fio_netio_send(td, io_u); else ret = fio_netio_splice_out(td, io_u); } else if (ddir == DDIR_READ) { if (!nd->use_splice || is_udp(o) || o->proto == FIO_TYPE_UNIX) ret = fio_netio_recv(td, io_u); else ret = fio_netio_splice_in(td, io_u); } else ret = 0; /* must be a SYNC */ if (ret != (int) io_u->xfer_buflen) { if (ret > 0) { io_u->resid = io_u->xfer_buflen - ret; io_u->error = 0; return FIO_Q_COMPLETED; } else if (!ret) return FIO_Q_BUSY; else { int err = errno; if (ddir == DDIR_WRITE && err == EMSGSIZE) return FIO_Q_BUSY; io_u->error = err; } } if (io_u->error) td_verror(td, io_u->error, "xfer"); return FIO_Q_COMPLETED; } static enum fio_q_status fio_netio_queue(struct thread_data *td, struct io_u *io_u) { struct netio_options *o = td->eo; int ret; fio_ro_check(td, io_u); ret = __fio_netio_queue(td, io_u, io_u->ddir); if (!o->pingpong || ret != FIO_Q_COMPLETED) return ret; /* * For ping-pong mode, receive or send reply as needed */ if (td_read(td) && io_u->ddir == DDIR_READ) ret = __fio_netio_queue(td, io_u, DDIR_WRITE); else if (td_write(td) && io_u->ddir == DDIR_WRITE) ret = __fio_netio_queue(td, io_u, DDIR_READ); return ret; } static int fio_netio_connect(struct thread_data *td, struct fio_file *f) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; int type, domain; if (o->proto == FIO_TYPE_TCP) { domain = AF_INET; type = SOCK_STREAM; } else if (o->proto == FIO_TYPE_TCP_V6) { domain = AF_INET6; type = SOCK_STREAM; } else if (o->proto == FIO_TYPE_UDP) { domain = AF_INET; type = SOCK_DGRAM; } else if (o->proto == FIO_TYPE_UDP_V6) { domain = AF_INET6; type = SOCK_DGRAM; } else if (o->proto == FIO_TYPE_UNIX) { domain = AF_UNIX; type = SOCK_STREAM; } else if (is_vsock(o)) { domain = AF_VSOCK; type = SOCK_STREAM; } else { log_err("fio: bad network type %d\n", o->proto); f->fd = -1; return 1; } f->fd = socket(domain, type, 0); if (f->fd < 0) { td_verror(td, errno, "socket"); return 1; } #ifdef CONFIG_TCP_NODELAY if (o->nodelay && is_tcp(o)) { int optval = 1; if (setsockopt(f->fd, IPPROTO_TCP, TCP_NODELAY, (void *) &optval, sizeof(int)) < 0) { log_err("fio: cannot set TCP_NODELAY option on socket (%s), disable with 'nodelay=0'\n", strerror(errno)); return 1; } } #endif if (set_window_size(td, f->fd)) { close(f->fd); return 1; } if (set_mss(td, f->fd)) { close(f->fd); return 1; } if (is_udp(o)) { if (!fio_netio_is_multicast(td->o.filename)) return 0; if (is_ipv6(o)) { log_err("fio: multicast not supported on IPv6\n"); close(f->fd); return 1; } if (o->intfc) { struct in_addr interface_addr; if (inet_aton(o->intfc, &interface_addr) == 0) { log_err("fio: interface not valid interface IP\n"); close(f->fd); return 1; } if (setsockopt(f->fd, IPPROTO_IP, IP_MULTICAST_IF, (const char*)&interface_addr, sizeof(interface_addr)) < 0) { td_verror(td, errno, "setsockopt IP_MULTICAST_IF"); close(f->fd); return 1; } } if (setsockopt(f->fd, IPPROTO_IP, IP_MULTICAST_TTL, (const char*)&o->ttl, sizeof(o->ttl)) < 0) { td_verror(td, errno, "setsockopt IP_MULTICAST_TTL"); close(f->fd); return 1; } return 0; } else if (o->proto == FIO_TYPE_TCP) { socklen_t len = sizeof(nd->addr); if (connect(f->fd, (struct sockaddr *) &nd->addr, len) < 0) { td_verror(td, errno, "connect"); close(f->fd); return 1; } } else if (o->proto == FIO_TYPE_TCP_V6) { socklen_t len = sizeof(nd->addr6); if (connect(f->fd, (struct sockaddr *) &nd->addr6, len) < 0) { td_verror(td, errno, "connect"); close(f->fd); return 1; } } else if (is_vsock(o)) { socklen_t len = sizeof(nd->addr_vm); if (connect(f->fd, (struct sockaddr *) &nd->addr_vm, len) < 0) { td_verror(td, errno, "connect"); close(f->fd); return 1; } } else { struct sockaddr_un *addr = &nd->addr_un; socklen_t len; len = sizeof(addr->sun_family) + strlen(addr->sun_path) + 1; if (connect(f->fd, (struct sockaddr *) addr, len) < 0) { td_verror(td, errno, "connect"); close(f->fd); return 1; } } return 0; } static int fio_netio_accept(struct thread_data *td, struct fio_file *f) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; socklen_t socklen; int state; if (is_udp(o)) { f->fd = nd->listenfd; return 0; } state = td->runstate; td_set_runstate(td, TD_SETTING_UP); log_info("fio: waiting for connection\n"); if (poll_wait(td, nd->listenfd, POLLIN) < 0) goto err; if (o->proto == FIO_TYPE_TCP) { socklen = sizeof(nd->addr); f->fd = accept(nd->listenfd, (struct sockaddr *) &nd->addr, &socklen); } else if (is_vsock(o)) { socklen = sizeof(nd->addr_vm); f->fd = accept(nd->listenfd, (struct sockaddr *) &nd->addr_vm, &socklen); } else { socklen = sizeof(nd->addr6); f->fd = accept(nd->listenfd, (struct sockaddr *) &nd->addr6, &socklen); } if (f->fd < 0) { td_verror(td, errno, "accept"); goto err; } #ifdef CONFIG_TCP_NODELAY if (o->nodelay && is_tcp(o)) { int optval = 1; if (setsockopt(f->fd, IPPROTO_TCP, TCP_NODELAY, (void *) &optval, sizeof(int)) < 0) { log_err("fio: cannot set TCP_NODELAY option on socket (%s), disable with 'nodelay=0'\n", strerror(errno)); return 1; } } #endif reset_all_stats(td); td_set_runstate(td, state); return 0; err: td_set_runstate(td, state); return 1; } static void fio_netio_send_close(struct thread_data *td, struct fio_file *f) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; struct udp_close_msg msg; struct sockaddr *to; socklen_t len; int ret; if (is_ipv6(o)) { to = (struct sockaddr *) &nd->addr6; len = sizeof(nd->addr6); } else if (is_vsock(o)) { to = NULL; len = 0; } else { to = (struct sockaddr *) &nd->addr; len = sizeof(nd->addr); } msg.magic = cpu_to_le32((uint32_t) FIO_LINK_OPEN_CLOSE_MAGIC); msg.cmd = cpu_to_le32((uint32_t) FIO_LINK_CLOSE); ret = sendto(f->fd, (void *) &msg, sizeof(msg), MSG_WAITALL, to, len); if (ret < 0) td_verror(td, errno, "sendto udp link close"); } static int fio_netio_close_file(struct thread_data *td, struct fio_file *f) { /* * Notify the receiver that we are closing down the link */ fio_netio_send_close(td, f); return generic_close_file(td, f); } static int fio_netio_udp_recv_open(struct thread_data *td, struct fio_file *f) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; struct udp_close_msg msg; struct sockaddr *to; socklen_t len; int ret; if (is_ipv6(o)) { len = sizeof(nd->addr6); to = (struct sockaddr *) &nd->addr6; } else { len = sizeof(nd->addr); to = (struct sockaddr *) &nd->addr; } ret = recvfrom(f->fd, (void *) &msg, sizeof(msg), MSG_WAITALL, to, &len); if (ret < 0) { td_verror(td, errno, "recvfrom udp link open"); return ret; } if (ntohl(msg.magic) != FIO_LINK_OPEN_CLOSE_MAGIC || ntohl(msg.cmd) != FIO_LINK_OPEN) { log_err("fio: bad udp open magic %x/%x\n", (unsigned int) ntohl(msg.magic), (unsigned int) ntohl(msg.cmd)); return -1; } fio_gettime(&td->start, NULL); return 0; } static int fio_netio_send_open(struct thread_data *td, struct fio_file *f) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; struct udp_close_msg msg; struct sockaddr *to; socklen_t len; int ret; if (is_ipv6(o)) { len = sizeof(nd->addr6); to = (struct sockaddr *) &nd->addr6; } else if (is_vsock(o)) { len = sizeof(nd->addr_vm); to = (struct sockaddr *) &nd->addr_vm; } else { len = sizeof(nd->addr); to = (struct sockaddr *) &nd->addr; } msg.magic = htonl(FIO_LINK_OPEN_CLOSE_MAGIC); msg.cmd = htonl(FIO_LINK_OPEN); ret = sendto(f->fd, (void *) &msg, sizeof(msg), MSG_WAITALL, to, len); if (ret < 0) { td_verror(td, errno, "sendto udp link open"); return ret; } return 0; } static int fio_netio_open_file(struct thread_data *td, struct fio_file *f) { int ret; struct netio_options *o = td->eo; if (o->listen) ret = fio_netio_accept(td, f); else ret = fio_netio_connect(td, f); if (ret) { f->fd = -1; return ret; } if (is_udp(o)) { if (td_write(td)) ret = fio_netio_send_open(td, f); else { int state; state = td->runstate; td_set_runstate(td, TD_SETTING_UP); ret = fio_netio_udp_recv_open(td, f); td_set_runstate(td, state); } } if (ret) fio_netio_close_file(td, f); return ret; } static int fio_fill_addr(struct thread_data *td, const char *host, int af, void *dst, struct addrinfo **res) { struct netio_options *o = td->eo; struct addrinfo hints; int ret; if (inet_pton(af, host, dst)) return 0; memset(&hints, 0, sizeof(hints)); if (is_tcp(o) || is_vsock(o)) hints.ai_socktype = SOCK_STREAM; else hints.ai_socktype = SOCK_DGRAM; if (is_ipv6(o)) hints.ai_family = AF_INET6; #ifdef CONFIG_VSOCK else if (is_vsock(o)) hints.ai_family = AF_VSOCK; #endif else hints.ai_family = AF_INET; ret = getaddrinfo(host, NULL, &hints, res); if (ret) { int e = EINVAL; char str[128]; if (ret == EAI_SYSTEM) e = errno; snprintf(str, sizeof(str), "getaddrinfo: %s", gai_strerror(ret)); td_verror(td, e, str); return 1; } return 0; } static int fio_netio_setup_connect_inet(struct thread_data *td, const char *host, unsigned short port) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; struct addrinfo *res = NULL; void *dst, *src; int af, len; if (!host) { log_err("fio: connect with no host to connect to.\n"); if (td_read(td)) log_err("fio: did you forget to set 'listen'?\n"); td_verror(td, EINVAL, "no hostname= set"); return 1; } nd->addr.sin_family = AF_INET; nd->addr.sin_port = htons(port); nd->addr6.sin6_family = AF_INET6; nd->addr6.sin6_port = htons(port); if (is_ipv6(o)) { af = AF_INET6; dst = &nd->addr6.sin6_addr; } else { af = AF_INET; dst = &nd->addr.sin_addr; } if (fio_fill_addr(td, host, af, dst, &res)) return 1; if (!res) return 0; if (is_ipv6(o)) { len = sizeof(nd->addr6.sin6_addr); src = &((struct sockaddr_in6 *) res->ai_addr)->sin6_addr; } else { len = sizeof(nd->addr.sin_addr); src = &((struct sockaddr_in *) res->ai_addr)->sin_addr; } memcpy(dst, src, len); freeaddrinfo(res); return 0; } static int fio_netio_setup_connect_unix(struct thread_data *td, const char *path) { struct netio_data *nd = td->io_ops_data; struct sockaddr_un *soun = &nd->addr_un; soun->sun_family = AF_UNIX; snprintf(soun->sun_path, sizeof(soun->sun_path), "%s", path); return 0; } static int fio_netio_setup_connect_vsock(struct thread_data *td, const char *host, unsigned short port) { #ifdef CONFIG_VSOCK struct netio_data *nd = td->io_ops_data; struct sockaddr_vm *addr = &nd->addr_vm; int cid; if (!host) { log_err("fio: connect with no host to connect to.\n"); if (td_read(td)) log_err("fio: did you forget to set 'listen'?\n"); td_verror(td, EINVAL, "no hostname= set"); return 1; } addr->svm_family = AF_VSOCK; addr->svm_port = port; if (host) { cid = atoi(host); if (cid < 0 || cid > UINT32_MAX) { log_err("fio: invalid CID %d\n", cid); return 1; } addr->svm_cid = cid; } return 0; #else td_verror(td, -EINVAL, "vsock not supported"); return 1; #endif } static int fio_netio_setup_connect(struct thread_data *td) { struct netio_options *o = td->eo; if (is_udp(o) || is_tcp(o)) return fio_netio_setup_connect_inet(td, td->o.filename,o->port); else if (is_vsock(o)) return fio_netio_setup_connect_vsock(td, td->o.filename, o->port); else return fio_netio_setup_connect_unix(td, td->o.filename); } static int fio_netio_setup_listen_unix(struct thread_data *td, const char *path) { struct netio_data *nd = td->io_ops_data; struct sockaddr_un *addr = &nd->addr_un; mode_t mode; int len, fd; fd = socket(AF_UNIX, SOCK_STREAM, 0); if (fd < 0) { log_err("fio: socket: %s\n", strerror(errno)); return -1; } mode = umask(000); addr->sun_family = AF_UNIX; snprintf(addr->sun_path, sizeof(addr->sun_path), "%s", path); unlink(path); len = sizeof(addr->sun_family) + strlen(path) + 1; if (bind(fd, (struct sockaddr *) addr, len) < 0) { log_err("fio: bind: %s\n", strerror(errno)); close(fd); return -1; } umask(mode); nd->listenfd = fd; return 0; } static int fio_netio_setup_listen_inet(struct thread_data *td, short port) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; struct ip_mreq mr; struct sockaddr_in sin; struct sockaddr *saddr; int fd, opt, type, domain; socklen_t len; memset(&sin, 0, sizeof(sin)); if (o->proto == FIO_TYPE_TCP) { type = SOCK_STREAM; domain = AF_INET; } else if (o->proto == FIO_TYPE_TCP_V6) { type = SOCK_STREAM; domain = AF_INET6; } else if (o->proto == FIO_TYPE_UDP) { type = SOCK_DGRAM; domain = AF_INET; } else if (o->proto == FIO_TYPE_UDP_V6) { type = SOCK_DGRAM; domain = AF_INET6; } else { log_err("fio: unknown proto %d\n", o->proto); return 1; } fd = socket(domain, type, 0); if (fd < 0) { td_verror(td, errno, "socket"); return 1; } opt = 1; if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *) &opt, sizeof(opt)) < 0) { td_verror(td, errno, "setsockopt"); close(fd); return 1; } #ifdef SO_REUSEPORT if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, (void *) &opt, sizeof(opt)) < 0) { td_verror(td, errno, "setsockopt"); close(fd); return 1; } #endif if (set_window_size(td, fd)) { close(fd); return 1; } if (set_mss(td, fd)) { close(fd); return 1; } if (td->o.filename) { if (!is_udp(o) || !fio_netio_is_multicast(td->o.filename)) { log_err("fio: hostname not valid for non-multicast inbound network IO\n"); close(fd); return 1; } if (is_ipv6(o)) { log_err("fio: IPv6 not supported for multicast network IO\n"); close(fd); return 1; } inet_aton(td->o.filename, &sin.sin_addr); mr.imr_multiaddr = sin.sin_addr; if (o->intfc) { if (inet_aton(o->intfc, &mr.imr_interface) == 0) { log_err("fio: interface not valid interface IP\n"); close(fd); return 1; } } else { mr.imr_interface.s_addr = htonl(INADDR_ANY); } if (setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const char*)&mr, sizeof(mr)) < 0) { td_verror(td, errno, "setsockopt IP_ADD_MEMBERSHIP"); close(fd); return 1; } } if (!is_ipv6(o)) { saddr = (struct sockaddr *) &nd->addr; len = sizeof(nd->addr); nd->addr.sin_family = AF_INET; nd->addr.sin_addr.s_addr = sin.sin_addr.s_addr ? sin.sin_addr.s_addr : htonl(INADDR_ANY); nd->addr.sin_port = htons(port); } else { saddr = (struct sockaddr *) &nd->addr6; len = sizeof(nd->addr6); nd->addr6.sin6_family = AF_INET6; nd->addr6.sin6_addr = in6addr_any; nd->addr6.sin6_port = htons(port); } if (bind(fd, saddr, len) < 0) { close(fd); td_verror(td, errno, "bind"); return 1; } nd->listenfd = fd; return 0; } static int fio_netio_setup_listen_vsock(struct thread_data *td, short port, int type) { #ifdef CONFIG_VSOCK struct netio_data *nd = td->io_ops_data; struct sockaddr_vm *addr = &nd->addr_vm; int fd, opt; socklen_t len; fd = socket(AF_VSOCK, type, 0); if (fd < 0) { td_verror(td, errno, "socket"); return 1; } opt = 1; if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void *) &opt, sizeof(opt)) < 0) { td_verror(td, errno, "setsockopt"); close(fd); return 1; } len = sizeof(*addr); nd->addr_vm.svm_family = AF_VSOCK; nd->addr_vm.svm_cid = VMADDR_CID_ANY; nd->addr_vm.svm_port = port; if (bind(fd, (struct sockaddr *) addr, len) < 0) { td_verror(td, errno, "bind"); close(fd); return 1; } nd->listenfd = fd; return 0; #else td_verror(td, -EINVAL, "vsock not supported"); return -1; #endif } static int fio_netio_setup_listen(struct thread_data *td) { struct netio_data *nd = td->io_ops_data; struct netio_options *o = td->eo; int ret; if (is_udp(o) || is_tcp(o)) ret = fio_netio_setup_listen_inet(td, o->port); else if (is_vsock(o)) ret = fio_netio_setup_listen_vsock(td, o->port, SOCK_STREAM); else ret = fio_netio_setup_listen_unix(td, td->o.filename); if (ret) return ret; if (is_udp(o)) return 0; if (listen(nd->listenfd, 10) < 0) { td_verror(td, errno, "listen"); nd->listenfd = -1; return 1; } return 0; } static int fio_netio_init(struct thread_data *td) { struct netio_options *o = td->eo; int ret; #ifdef WIN32 WSADATA wsd; WSAStartup(MAKEWORD(2,2), &wsd); #endif if (td_random(td)) { log_err("fio: network IO can't be random\n"); return 1; } if (o->proto == FIO_TYPE_UNIX && o->port) { log_err("fio: network IO port not valid with unix socket\n"); return 1; } else if (is_vsock(o) && !o->port) { log_err("fio: network IO requires port for vsock\n"); return 1; } else if (o->proto != FIO_TYPE_UNIX && !o->port) { log_err("fio: network IO requires port for tcp or udp\n"); return 1; } o->port += td->subjob_number; if (!is_tcp(o) && !is_vsock(o)) { if (o->listen) { log_err("fio: listen only valid for TCP proto IO\n"); return 1; } if (td_rw(td)) { log_err("fio: datagram network connections must be" " read OR write\n"); return 1; } if (o->proto == FIO_TYPE_UNIX && !td->o.filename) { log_err("fio: UNIX sockets need host/filename\n"); return 1; } o->listen = td_read(td); } if (o->listen) ret = fio_netio_setup_listen(td); else ret = fio_netio_setup_connect(td); return ret; } static void fio_netio_cleanup(struct thread_data *td) { struct netio_data *nd = td->io_ops_data; if (nd) { if (nd->listenfd != -1) close(nd->listenfd); if (nd->pipes[0] != -1) close(nd->pipes[0]); if (nd->pipes[1] != -1) close(nd->pipes[1]); free(nd); } } static int fio_netio_setup(struct thread_data *td) { struct netio_data *nd; if (!td->files_index) { add_file(td, td->o.filename ?: "net", 0, 0); td->o.nr_files = td->o.nr_files ?: 1; td->o.open_files++; } if (!td->io_ops_data) { nd = calloc(1, sizeof(*nd)); nd->listenfd = -1; nd->pipes[0] = nd->pipes[1] = -1; td->io_ops_data = nd; } return 0; } static void fio_netio_terminate(struct thread_data *td) { kill(td->pid, SIGTERM); } #ifdef CONFIG_LINUX_SPLICE static int fio_netio_setup_splice(struct thread_data *td) { struct netio_data *nd; fio_netio_setup(td); nd = td->io_ops_data; if (nd) { if (pipe(nd->pipes) < 0) return 1; nd->use_splice = 1; return 0; } return 1; } static struct ioengine_ops ioengine_splice = { .name = "netsplice", .version = FIO_IOOPS_VERSION, .prep = fio_netio_prep, .queue = fio_netio_queue, .setup = fio_netio_setup_splice, .init = fio_netio_init, .cleanup = fio_netio_cleanup, .open_file = fio_netio_open_file, .close_file = fio_netio_close_file, .terminate = fio_netio_terminate, .options = options, .option_struct_size = sizeof(struct netio_options), .flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_UNIDIR | FIO_PIPEIO, }; #endif static struct ioengine_ops ioengine_rw = { .name = "net", .version = FIO_IOOPS_VERSION, .prep = fio_netio_prep, .queue = fio_netio_queue, .setup = fio_netio_setup, .init = fio_netio_init, .cleanup = fio_netio_cleanup, .open_file = fio_netio_open_file, .close_file = fio_netio_close_file, .terminate = fio_netio_terminate, .options = options, .option_struct_size = sizeof(struct netio_options), .flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_UNIDIR | FIO_PIPEIO | FIO_BIT_BASED, }; static int str_hostname_cb(void *data, const char *input) { struct netio_options *o = data; if (o->td->o.filename) free(o->td->o.filename); o->td->o.filename = strdup(input); return 0; } static void fio_init fio_netio_register(void) { register_ioengine(&ioengine_rw); #ifdef CONFIG_LINUX_SPLICE register_ioengine(&ioengine_splice); #endif } static void fio_exit fio_netio_unregister(void) { unregister_ioengine(&ioengine_rw); #ifdef CONFIG_LINUX_SPLICE unregister_ioengine(&ioengine_splice); #endif } fio-3.39/engines/nfs.c000066400000000000000000000212571476262051600146270ustar00rootroot00000000000000#include #include #include #include #include #include "../fio.h" #include "../optgroup.h" enum nfs_op_type { NFS_READ_WRITE = 0, NFS_STAT_MKDIR_RMDIR, NFS_STAT_TOUCH_RM, }; struct fio_libnfs_options { struct nfs_context *context; char *nfs_url; /* nfs_callback needs this info, but doesn't have fio td structure to * pull it from */ unsigned int queue_depth; /* the following implement a circular queue of outstanding IOs */ /* IOs issued to libnfs, that have not returned yet */ int outstanding_events; /* event last returned via fio_libnfs_event */ int prev_requested_event_index; int next_buffered_event; /* round robin-pointer within events[] */ int buffered_event_count; /* IOs completed by libnfs, waiting for FIO */ int free_event_buffer_index; /* next free buffer */ struct io_u**events; }; struct nfs_data { struct nfsfh *nfsfh; struct fio_libnfs_options *options; }; static struct fio_option options[] = { { .name = "nfs_url", .lname = "nfs_url", .type = FIO_OPT_STR_STORE, .help = "URL in libnfs format, eg nfs:///path[?arg=val[&arg=val]*]", .off1 = offsetof(struct fio_libnfs_options, nfs_url), .category = FIO_OPT_C_ENGINE, .group = __FIO_OPT_G_NFS, }, { .name = NULL, }, }; static struct io_u *fio_libnfs_event(struct thread_data *td, int event) { struct fio_libnfs_options *o = td->eo; struct io_u *io_u = o->events[o->next_buffered_event]; assert(o->events[o->next_buffered_event]); o->events[o->next_buffered_event] = NULL; o->next_buffered_event = (o->next_buffered_event + 1) % td->o.iodepth; /* validate our state machine */ assert(o->buffered_event_count); o->buffered_event_count--; assert(io_u); /* assert that fio_libnfs_event is being called in sequential fashion */ assert(event == 0 || o->prev_requested_event_index + 1 == event); if (o->buffered_event_count == 0) o->prev_requested_event_index = -1; else o->prev_requested_event_index = event; return io_u; } /* * fio core logic seems to stop calling this event-loop if we ever return with * 0 events */ #define SHOULD_WAIT(td, o, flush) \ ((o)->outstanding_events == (td)->o.iodepth || \ (flush && (o)->outstanding_events)) static int nfs_event_loop(struct thread_data *td, bool flush) { struct fio_libnfs_options *o = td->eo; struct pollfd pfds[1]; /* nfs:0 */ /* we already have stuff queued for fio, no need to waste cpu on poll() */ if (o->buffered_event_count) return o->buffered_event_count; do { int timeout = SHOULD_WAIT(td, o, flush) ? -1 : 0; int ret = 0; pfds[0].fd = nfs_get_fd(o->context); pfds[0].events = nfs_which_events(o->context); ret = poll(&pfds[0], 1, timeout); if (ret < 0) { if (errno == EINTR || errno == EAGAIN) continue; log_err("nfs: failed to poll events: %s\n", strerror(errno)); break; } ret = nfs_service(o->context, pfds[0].revents); if (ret < 0) { log_err("nfs: socket is in an unrecoverable error state.\n"); break; } } while (SHOULD_WAIT(td, o, flush)); return o->buffered_event_count; } static int fio_libnfs_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { return nfs_event_loop(td, false); } static void nfs_callback(int res, struct nfs_context *nfs, void *data, void *private_data) { struct io_u *io_u = private_data; struct nfs_data *nfs_data = io_u->file->engine_data; struct fio_libnfs_options *o = nfs_data->options; if (res < 0) { log_err("Failed NFS operation(code:%d): %s\n", res, nfs_get_error(o->context)); io_u->error = -res; /* res is used for read math below, don't want to pass negative * there */ res = 0; } else if (io_u->ddir == DDIR_READ) { memcpy(io_u->buf, data, res); if (res == 0) log_err("Got NFS EOF, this is probably not expected\n"); } /* fio uses resid to track remaining data */ io_u->resid = io_u->xfer_buflen - res; assert(!o->events[o->free_event_buffer_index]); o->events[o->free_event_buffer_index] = io_u; o->free_event_buffer_index = (o->free_event_buffer_index + 1) % o->queue_depth; o->outstanding_events--; o->buffered_event_count++; } static int queue_write(struct fio_libnfs_options *o, struct io_u *io_u) { struct nfs_data *nfs_data = io_u->engine_data; #ifdef LIBNFS_API_V2 return nfs_pwrite_async(o->context, nfs_data->nfsfh, io_u->buf, io_u->buflen, io_u->offset, nfs_callback, io_u); #else return nfs_pwrite_async(o->context, nfs_data->nfsfh, io_u->offset, io_u->buflen, io_u->buf, nfs_callback, io_u); #endif } static int queue_read(struct fio_libnfs_options *o, struct io_u *io_u) { struct nfs_data *nfs_data = io_u->engine_data; #ifdef LIBNFS_API_V2 return nfs_pread_async(o->context, nfs_data->nfsfh, io_u->buf, io_u->buflen, io_u->offset, nfs_callback, io_u); #else return nfs_pread_async(o->context, nfs_data->nfsfh, io_u->offset, io_u->buflen, nfs_callback, io_u); #endif } static enum fio_q_status fio_libnfs_queue(struct thread_data *td, struct io_u *io_u) { struct nfs_data *nfs_data = io_u->file->engine_data; struct fio_libnfs_options *o = nfs_data->options; struct nfs_context *nfs = o->context; enum fio_q_status ret = FIO_Q_QUEUED; int err; io_u->engine_data = nfs_data; switch (io_u->ddir) { case DDIR_WRITE: err = queue_write(o, io_u); break; case DDIR_READ: err = queue_read(o, io_u); break; case DDIR_TRIM: log_err("nfs: trim is not supported"); err = -1; break; default: log_err("nfs: unhandled io %d\n", io_u->ddir); err = -1; } if (err) { log_err("nfs: Failed to queue nfs op: %s\n", nfs_get_error(nfs)); td->error = 1; return FIO_Q_COMPLETED; } o->outstanding_events++; return ret; } /* * Do a mount if one has not been done before */ static int do_mount(struct thread_data *td, const char *url) { size_t event_size = sizeof(struct io_u **) * td->o.iodepth; struct fio_libnfs_options *options = td->eo; struct nfs_url *nfs_url = NULL; int ret = 0; int path_len = 0; char *mnt_dir = NULL; if (options->context) return 0; options->context = nfs_init_context(); if (!options->context) { log_err("nfs: failed to init nfs context\n"); return -1; } options->events = calloc(1, event_size); options->prev_requested_event_index = -1; options->queue_depth = td->o.iodepth; nfs_url = nfs_parse_url_full(options->context, url); path_len = strlen(nfs_url->path); mnt_dir = malloc(path_len + strlen(nfs_url->file) + 1); strcpy(mnt_dir, nfs_url->path); strcpy(mnt_dir + strlen(nfs_url->path), nfs_url->file); ret = nfs_mount(options->context, nfs_url->server, mnt_dir); free(mnt_dir); nfs_destroy_url(nfs_url); return ret; } static int fio_libnfs_setup(struct thread_data *td) { /* Using threads with libnfs causes fio to hang on exit, lower * performance */ td->o.use_thread = 0; return 0; } static void fio_libnfs_cleanup(struct thread_data *td) { struct fio_libnfs_options *o = td->eo; nfs_umount(o->context); nfs_destroy_context(o->context); free(o->events); } static int fio_libnfs_open(struct thread_data *td, struct fio_file *f) { struct fio_libnfs_options *options = td->eo; struct nfs_data *nfs_data = NULL; int flags = 0; int ret; if (!options->nfs_url) { log_err("nfs: nfs_url is a required parameter\n"); return -1; } ret = do_mount(td, options->nfs_url); if (ret) { log_err("nfs: Failed to mount %s with code %d: %s\n", options->nfs_url, ret, nfs_get_error(options->context)); return ret; } nfs_data = calloc(1, sizeof(struct nfs_data)); nfs_data->options = options; if (td_write(td)) flags |= O_CREAT | O_RDWR; else flags |= O_RDWR; ret = nfs_open(options->context, f->file_name, flags, &nfs_data->nfsfh); if (ret) log_err("Failed to open %s: %s\n", f->file_name, nfs_get_error(options->context)); f->engine_data = nfs_data; return ret; } static int fio_libnfs_close(struct thread_data *td, struct fio_file *f) { struct nfs_data *nfs_data = f->engine_data; struct fio_libnfs_options *o = nfs_data->options; int ret = 0; if (nfs_data->nfsfh) ret = nfs_close(o->context, nfs_data->nfsfh); free(nfs_data); f->engine_data = NULL; return ret; } static struct ioengine_ops ioengine = { .name = "nfs", .version = FIO_IOOPS_VERSION, .setup = fio_libnfs_setup, .queue = fio_libnfs_queue, .getevents = fio_libnfs_getevents, .event = fio_libnfs_event, .cleanup = fio_libnfs_cleanup, .open_file = fio_libnfs_open, .close_file = fio_libnfs_close, .flags = FIO_DISKLESSIO | FIO_NOEXTEND | FIO_NODISKUTIL, .options = options, .option_struct_size = sizeof(struct fio_libnfs_options), }; static void fio_init fio_nfs_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_nfs_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/null.c000066400000000000000000000140541476262051600150100ustar00rootroot00000000000000/* * null engine * * IO engine that doesn't do any real IO transfers, it just pretends to. * The main purpose is to test fio itself. * * It also can act as external C++ engine - compiled with: * * g++ -O2 -g -shared -rdynamic -fPIC -o cpp_null null.c \ * -include ../config-host.h -DFIO_EXTERNAL_ENGINE * * to test it execute: * * LD_LIBRARY_PATH=./engines ./fio examples/cpp_null.fio * */ #include #include #include "../fio.h" struct null_data { struct io_u **io_us; int queued; int events; }; static struct io_u *null_event(struct null_data *nd, int event) { return nd->io_us[event]; } static int null_getevents(struct null_data *nd, unsigned int min_events, unsigned int fio_unused max, const struct timespec fio_unused *t) { int ret = 0; if (min_events) { ret = nd->events; nd->events = 0; } return ret; } static void null_queued(struct thread_data *td, struct null_data *nd) { struct timespec now; if (!fio_fill_issue_time(td)) return; fio_gettime(&now, NULL); for (int i = 0; i < nd->queued; i++) { struct io_u *io_u = nd->io_us[i]; memcpy(&io_u->issue_time, &now, sizeof(now)); io_u_queued(td, io_u); } } static int null_commit(struct thread_data *td, struct null_data *nd) { if (!nd->events) { null_queued(td, nd); #ifndef FIO_EXTERNAL_ENGINE io_u_mark_submit(td, nd->queued); #endif nd->events = nd->queued; nd->queued = 0; } return 0; } static enum fio_q_status null_queue(struct thread_data *td, struct null_data *nd, struct io_u *io_u) { fio_ro_check(td, io_u); if (td->io_ops->flags & FIO_SYNCIO) return FIO_Q_COMPLETED; if (nd->events) return FIO_Q_BUSY; nd->io_us[nd->queued++] = io_u; return FIO_Q_QUEUED; } static int null_open(struct null_data fio_unused *nd, struct fio_file fio_unused *f) { return 0; } static void null_cleanup(struct null_data *nd) { if (nd) { free(nd->io_us); free(nd); } } static struct null_data *null_init(struct thread_data *td) { struct null_data *nd; nd = malloc(sizeof(*nd)); memset(nd, 0, sizeof(*nd)); if (td->o.iodepth != 1) { nd->io_us = calloc(td->o.iodepth, sizeof(struct io_u *)); td->io_ops->flags |= FIO_ASYNCIO_SETS_ISSUE_TIME; } else td->io_ops->flags |= FIO_SYNCIO; td_set_ioengine_flags(td); return nd; } #ifndef __cplusplus static struct io_u *fio_null_event(struct thread_data *td, int event) { return null_event(td->io_ops_data, event); } static int fio_null_getevents(struct thread_data *td, unsigned int min_events, unsigned int max, const struct timespec *t) { struct null_data *nd = td->io_ops_data; return null_getevents(nd, min_events, max, t); } static int fio_null_commit(struct thread_data *td) { return null_commit(td, td->io_ops_data); } static enum fio_q_status fio_null_queue(struct thread_data *td, struct io_u *io_u) { return null_queue(td, td->io_ops_data, io_u); } static int fio_null_open(struct thread_data *td, struct fio_file *f) { return null_open(td->io_ops_data, f); } static void fio_null_cleanup(struct thread_data *td) { null_cleanup(td->io_ops_data); } static int fio_null_init(struct thread_data *td) { td->io_ops_data = null_init(td); assert(td->io_ops_data); return 0; } static struct ioengine_ops ioengine = { .name = "null", .version = FIO_IOOPS_VERSION, .queue = fio_null_queue, .commit = fio_null_commit, .getevents = fio_null_getevents, .event = fio_null_event, .init = fio_null_init, .cleanup = fio_null_cleanup, .open_file = fio_null_open, .flags = FIO_DISKLESSIO | FIO_FAKEIO, }; static void fio_init fio_null_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_null_unregister(void) { unregister_ioengine(&ioengine); } #else #ifdef FIO_EXTERNAL_ENGINE struct NullData { NullData(struct thread_data *td) { impl_ = null_init(td); assert(impl_); } ~NullData() { null_cleanup(impl_); } static NullData *get(struct thread_data *td) { return reinterpret_cast(td->io_ops_data); } io_u *fio_null_event(struct thread_data *, int event) { return null_event(impl_, event); } int fio_null_getevents(struct thread_data *, unsigned int min_events, unsigned int max, const struct timespec *t) { return null_getevents(impl_, min_events, max, t); } int fio_null_commit(struct thread_data *td) { return null_commit(td, impl_); } fio_q_status fio_null_queue(struct thread_data *td, struct io_u *io_u) { return null_queue(td, impl_, io_u); } int fio_null_open(struct thread_data *, struct fio_file *f) { return null_open(impl_, f); } private: struct null_data *impl_; }; extern "C" { static struct io_u *fio_null_event(struct thread_data *td, int event) { return NullData::get(td)->fio_null_event(td, event); } static int fio_null_getevents(struct thread_data *td, unsigned int min_events, unsigned int max, const struct timespec *t) { return NullData::get(td)->fio_null_getevents(td, min_events, max, t); } static int fio_null_commit(struct thread_data *td) { return NullData::get(td)->fio_null_commit(td); } static fio_q_status fio_null_queue(struct thread_data *td, struct io_u *io_u) { return NullData::get(td)->fio_null_queue(td, io_u); } static int fio_null_open(struct thread_data *td, struct fio_file *f) { return NullData::get(td)->fio_null_open(td, f); } static int fio_null_init(struct thread_data *td) { td->io_ops_data = new NullData(td); return 0; } static void fio_null_cleanup(struct thread_data *td) { delete NullData::get(td); } static struct ioengine_ops ioengine; void get_ioengine(struct ioengine_ops **ioengine_ptr) { *ioengine_ptr = &ioengine; ioengine.name = "cpp_null"; ioengine.version = FIO_IOOPS_VERSION; ioengine.queue = fio_null_queue; ioengine.commit = fio_null_commit; ioengine.getevents = fio_null_getevents; ioengine.event = fio_null_event; ioengine.init = fio_null_init; ioengine.cleanup = fio_null_cleanup; ioengine.open_file = fio_null_open; ioengine.flags = FIO_DISKLESSIO | FIO_FAKEIO; } } #endif /* FIO_EXTERNAL_ENGINE */ #endif /* __cplusplus */ fio-3.39/engines/nvme.c000066400000000000000000000571061476262051600150100ustar00rootroot00000000000000// SPDX-License-Identifier: GPL-2.0 /* * nvme structure declarations and helper functions for the * io_uring_cmd engine. */ #include "nvme.h" #include "../crc/crc-t10dif.h" #include "../crc/crc64.h" static inline __u64 get_slba(struct nvme_data *data, __u64 offset) { if (data->lba_ext) return offset / data->lba_ext; return offset >> data->lba_shift; } static inline __u32 get_nlb(struct nvme_data *data, __u64 len) { if (data->lba_ext) return len / data->lba_ext - 1; return (len >> data->lba_shift) - 1; } static void fio_nvme_generate_pi_16b_guard(struct nvme_data *data, struct io_u *io_u, struct nvme_cmd_ext_io_opts *opts) { struct nvme_pi_data *pi_data = io_u->engine_data; struct nvme_16b_guard_pif *pi; unsigned char *buf = io_u->xfer_buf; unsigned char *md_buf = io_u->mmap_data; __u64 slba = get_slba(data, io_u->offset); __u32 nlb = get_nlb(data, io_u->xfer_buflen) + 1; __u32 lba_num = 0; __u16 guard = 0; if (data->pi_loc) { if (data->lba_ext) pi_data->interval = data->lba_ext - data->ms; else pi_data->interval = 0; } else { if (data->lba_ext) pi_data->interval = data->lba_ext - sizeof(struct nvme_16b_guard_pif); else pi_data->interval = data->ms - sizeof(struct nvme_16b_guard_pif); } if (io_u->ddir != DDIR_WRITE) return; while (lba_num < nlb) { if (data->lba_ext) pi = (struct nvme_16b_guard_pif *)(buf + pi_data->interval); else pi = (struct nvme_16b_guard_pif *)(md_buf + pi_data->interval); if (opts->io_flags & NVME_IO_PRINFO_PRCHK_GUARD) { if (data->lba_ext) { guard = fio_crc_t10dif(0, buf, pi_data->interval); } else { guard = fio_crc_t10dif(0, buf, data->lba_size); guard = fio_crc_t10dif(guard, md_buf, pi_data->interval); } pi->guard = cpu_to_be16(guard); } if (opts->io_flags & NVME_IO_PRINFO_PRCHK_APP) pi->apptag = cpu_to_be16(pi_data->apptag); if (opts->io_flags & NVME_IO_PRINFO_PRCHK_REF) { switch (data->pi_type) { case NVME_NS_DPS_PI_TYPE1: case NVME_NS_DPS_PI_TYPE2: pi->srtag = cpu_to_be32((__u32)slba + lba_num); break; case NVME_NS_DPS_PI_TYPE3: break; } } if (data->lba_ext) { buf += data->lba_ext; } else { buf += data->lba_size; md_buf += data->ms; } lba_num++; } } static int fio_nvme_verify_pi_16b_guard(struct nvme_data *data, struct io_u *io_u) { struct nvme_pi_data *pi_data = io_u->engine_data; struct nvme_16b_guard_pif *pi; struct fio_file *f = io_u->file; unsigned char *buf = io_u->xfer_buf; unsigned char *md_buf = io_u->mmap_data; __u64 slba = get_slba(data, io_u->offset); __u32 nlb = get_nlb(data, io_u->xfer_buflen) + 1; __u32 lba_num = 0; __u16 unmask_app, unmask_app_exp, guard = 0; while (lba_num < nlb) { if (data->lba_ext) pi = (struct nvme_16b_guard_pif *)(buf + pi_data->interval); else pi = (struct nvme_16b_guard_pif *)(md_buf + pi_data->interval); if (data->pi_type == NVME_NS_DPS_PI_TYPE3) { if (pi->apptag == NVME_PI_APP_DISABLE && pi->srtag == NVME_PI_REF_DISABLE) goto next; } else if (data->pi_type == NVME_NS_DPS_PI_TYPE1 || data->pi_type == NVME_NS_DPS_PI_TYPE2) { if (pi->apptag == NVME_PI_APP_DISABLE) goto next; } if (pi_data->io_flags & NVME_IO_PRINFO_PRCHK_GUARD) { if (data->lba_ext) { guard = fio_crc_t10dif(0, buf, pi_data->interval); } else { guard = fio_crc_t10dif(0, buf, data->lba_size); guard = fio_crc_t10dif(guard, md_buf, pi_data->interval); } if (be16_to_cpu(pi->guard) != guard) { log_err("%s: Guard compare error: LBA: %llu Expected=%x, Actual=%x\n", f->file_name, (unsigned long long)slba, guard, be16_to_cpu(pi->guard)); return -EIO; } } if (pi_data->io_flags & NVME_IO_PRINFO_PRCHK_APP) { unmask_app = be16_to_cpu(pi->apptag) & pi_data->apptag_mask; unmask_app_exp = pi_data->apptag & pi_data->apptag_mask; if (unmask_app != unmask_app_exp) { log_err("%s: APPTAG compare error: LBA: %llu Expected=%x, Actual=%x\n", f->file_name, (unsigned long long)slba, unmask_app_exp, unmask_app); return -EIO; } } if (pi_data->io_flags & NVME_IO_PRINFO_PRCHK_REF) { switch (data->pi_type) { case NVME_NS_DPS_PI_TYPE1: case NVME_NS_DPS_PI_TYPE2: if (be32_to_cpu(pi->srtag) != ((__u32)slba + lba_num)) { log_err("%s: REFTAG compare error: LBA: %llu Expected=%x, Actual=%x\n", f->file_name, (unsigned long long)slba, (__u32)slba + lba_num, be32_to_cpu(pi->srtag)); return -EIO; } break; case NVME_NS_DPS_PI_TYPE3: break; } } next: if (data->lba_ext) { buf += data->lba_ext; } else { buf += data->lba_size; md_buf += data->ms; } lba_num++; } return 0; } static void fio_nvme_generate_pi_64b_guard(struct nvme_data *data, struct io_u *io_u, struct nvme_cmd_ext_io_opts *opts) { struct nvme_pi_data *pi_data = io_u->engine_data; struct nvme_64b_guard_pif *pi; unsigned char *buf = io_u->xfer_buf; unsigned char *md_buf = io_u->mmap_data; uint64_t guard = 0; __u64 slba = get_slba(data, io_u->offset); __u32 nlb = get_nlb(data, io_u->xfer_buflen) + 1; __u32 lba_num = 0; if (data->pi_loc) { if (data->lba_ext) pi_data->interval = data->lba_ext - data->ms; else pi_data->interval = 0; } else { if (data->lba_ext) pi_data->interval = data->lba_ext - sizeof(struct nvme_64b_guard_pif); else pi_data->interval = data->ms - sizeof(struct nvme_64b_guard_pif); } if (io_u->ddir != DDIR_WRITE) return; while (lba_num < nlb) { if (data->lba_ext) pi = (struct nvme_64b_guard_pif *)(buf + pi_data->interval); else pi = (struct nvme_64b_guard_pif *)(md_buf + pi_data->interval); if (opts->io_flags & NVME_IO_PRINFO_PRCHK_GUARD) { if (data->lba_ext) { guard = fio_crc64_nvme(0, buf, pi_data->interval); } else { guard = fio_crc64_nvme(0, buf, data->lba_size); guard = fio_crc64_nvme(guard, md_buf, pi_data->interval); } pi->guard = cpu_to_be64(guard); } if (opts->io_flags & NVME_IO_PRINFO_PRCHK_APP) pi->apptag = cpu_to_be16(pi_data->apptag); if (opts->io_flags & NVME_IO_PRINFO_PRCHK_REF) { switch (data->pi_type) { case NVME_NS_DPS_PI_TYPE1: case NVME_NS_DPS_PI_TYPE2: put_unaligned_be48(slba + lba_num, pi->srtag); break; case NVME_NS_DPS_PI_TYPE3: break; } } if (data->lba_ext) { buf += data->lba_ext; } else { buf += data->lba_size; md_buf += data->ms; } lba_num++; } } static int fio_nvme_verify_pi_64b_guard(struct nvme_data *data, struct io_u *io_u) { struct nvme_pi_data *pi_data = io_u->engine_data; struct nvme_64b_guard_pif *pi; struct fio_file *f = io_u->file; unsigned char *buf = io_u->xfer_buf; unsigned char *md_buf = io_u->mmap_data; __u64 slba = get_slba(data, io_u->offset); __u64 ref, ref_exp, guard = 0; __u32 nlb = get_nlb(data, io_u->xfer_buflen) + 1; __u32 lba_num = 0; __u16 unmask_app, unmask_app_exp; while (lba_num < nlb) { if (data->lba_ext) pi = (struct nvme_64b_guard_pif *)(buf + pi_data->interval); else pi = (struct nvme_64b_guard_pif *)(md_buf + pi_data->interval); if (data->pi_type == NVME_NS_DPS_PI_TYPE3) { if (pi->apptag == NVME_PI_APP_DISABLE && fio_nvme_pi_ref_escape(pi->srtag)) goto next; } else if (data->pi_type == NVME_NS_DPS_PI_TYPE1 || data->pi_type == NVME_NS_DPS_PI_TYPE2) { if (pi->apptag == NVME_PI_APP_DISABLE) goto next; } if (pi_data->io_flags & NVME_IO_PRINFO_PRCHK_GUARD) { if (data->lba_ext) { guard = fio_crc64_nvme(0, buf, pi_data->interval); } else { guard = fio_crc64_nvme(0, buf, data->lba_size); guard = fio_crc64_nvme(guard, md_buf, pi_data->interval); } if (be64_to_cpu((uint64_t)pi->guard) != guard) { log_err("%s: Guard compare error: LBA: %llu Expected=%llx, Actual=%llx\n", f->file_name, (unsigned long long)slba, guard, be64_to_cpu((uint64_t)pi->guard)); return -EIO; } } if (pi_data->io_flags & NVME_IO_PRINFO_PRCHK_APP) { unmask_app = be16_to_cpu(pi->apptag) & pi_data->apptag_mask; unmask_app_exp = pi_data->apptag & pi_data->apptag_mask; if (unmask_app != unmask_app_exp) { log_err("%s: APPTAG compare error: LBA: %llu Expected=%x, Actual=%x\n", f->file_name, (unsigned long long)slba, unmask_app_exp, unmask_app); return -EIO; } } if (pi_data->io_flags & NVME_IO_PRINFO_PRCHK_REF) { switch (data->pi_type) { case NVME_NS_DPS_PI_TYPE1: case NVME_NS_DPS_PI_TYPE2: ref = get_unaligned_be48(pi->srtag); ref_exp = (slba + lba_num) & ((1ULL << 48) - 1); if (ref != ref_exp) { log_err("%s: REFTAG compare error: LBA: %llu Expected=%llx, Actual=%llx\n", f->file_name, (unsigned long long)slba, ref_exp, ref); return -EIO; } break; case NVME_NS_DPS_PI_TYPE3: break; } } next: if (data->lba_ext) { buf += data->lba_ext; } else { buf += data->lba_size; md_buf += data->ms; } lba_num++; } return 0; } void fio_nvme_uring_cmd_trim_prep(struct nvme_uring_cmd *cmd, struct io_u *io_u, struct nvme_dsm *dsm) { struct nvme_data *data = FILE_ENG_DATA(io_u->file); struct trim_range *range; uint8_t *buf_point; int i; cmd->opcode = nvme_cmd_dsm; cmd->nsid = data->nsid; cmd->cdw11 = NVME_ATTRIBUTE_DEALLOCATE; cmd->addr = (__u64) (uintptr_t) (&dsm->range[0]); if (dsm->nr_ranges == 1) { dsm->range[0].slba = get_slba(data, io_u->offset); /* nlb is a 1-based value for deallocate */ dsm->range[0].nlb = get_nlb(data, io_u->xfer_buflen) + 1; cmd->cdw10 = 0; cmd->data_len = sizeof(struct nvme_dsm_range); } else { buf_point = io_u->xfer_buf; for (i = 0; i < io_u->number_trim; i++) { range = (struct trim_range *)buf_point; dsm->range[i].slba = get_slba(data, range->start); /* nlb is a 1-based value for deallocate */ dsm->range[i].nlb = get_nlb(data, range->len) + 1; buf_point += sizeof(struct trim_range); } cmd->cdw10 = io_u->number_trim - 1; cmd->data_len = io_u->number_trim * sizeof(struct nvme_dsm_range); } } int fio_nvme_uring_cmd_prep(struct nvme_uring_cmd *cmd, struct io_u *io_u, struct iovec *iov, struct nvme_dsm *dsm, uint8_t read_opcode, uint8_t write_opcode, unsigned int cdw12_flags) { struct nvme_data *data = FILE_ENG_DATA(io_u->file); __u64 slba; __u32 nlb; memset(cmd, 0, sizeof(struct nvme_uring_cmd)); switch (io_u->ddir) { case DDIR_READ: cmd->opcode = read_opcode; break; case DDIR_WRITE: cmd->opcode = write_opcode; break; case DDIR_TRIM: fio_nvme_uring_cmd_trim_prep(cmd, io_u, dsm); return 0; case DDIR_SYNC: case DDIR_DATASYNC: cmd->opcode = nvme_cmd_flush; cmd->nsid = data->nsid; return 0; default: return -ENOTSUP; } slba = get_slba(data, io_u->offset); nlb = get_nlb(data, io_u->xfer_buflen); /* cdw10 and cdw11 represent starting lba */ cmd->cdw10 = slba & 0xffffffff; cmd->cdw11 = slba >> 32; /* cdw12 represent number of lba's for read/write */ cmd->cdw12 = nlb | (io_u->dtype << 20) | cdw12_flags; cmd->cdw13 = io_u->dspec << 16; if (iov) { iov->iov_base = io_u->xfer_buf; iov->iov_len = io_u->xfer_buflen; cmd->addr = (__u64)(uintptr_t)iov; cmd->data_len = 1; } else { /* no buffer for write zeroes */ if (cmd->opcode != nvme_cmd_write_zeroes) cmd->addr = (__u64)(uintptr_t)io_u->xfer_buf; else cmd->addr = (__u64)(uintptr_t)NULL; cmd->data_len = io_u->xfer_buflen; } if (data->lba_shift && data->ms) { cmd->metadata = (__u64)(uintptr_t)io_u->mmap_data; cmd->metadata_len = (nlb + 1) * data->ms; } cmd->nsid = data->nsid; return 0; } void fio_nvme_pi_fill(struct nvme_uring_cmd *cmd, struct io_u *io_u, struct nvme_cmd_ext_io_opts *opts) { struct nvme_data *data = FILE_ENG_DATA(io_u->file); __u64 slba; slba = get_slba(data, io_u->offset); cmd->cdw12 |= opts->io_flags; if (data->pi_type && !(opts->io_flags & NVME_IO_PRINFO_PRACT)) { if (data->guard_type == NVME_NVM_NS_16B_GUARD) fio_nvme_generate_pi_16b_guard(data, io_u, opts); else if (data->guard_type == NVME_NVM_NS_64B_GUARD) fio_nvme_generate_pi_64b_guard(data, io_u, opts); } switch (data->pi_type) { case NVME_NS_DPS_PI_TYPE1: case NVME_NS_DPS_PI_TYPE2: switch (data->guard_type) { case NVME_NVM_NS_16B_GUARD: if (opts->io_flags & NVME_IO_PRINFO_PRCHK_REF) cmd->cdw14 = (__u32)slba; break; case NVME_NVM_NS_64B_GUARD: if (opts->io_flags & NVME_IO_PRINFO_PRCHK_REF) { cmd->cdw14 = (__u32)slba; cmd->cdw3 = ((slba >> 32) & 0xffff); } break; default: break; } if (opts->io_flags & NVME_IO_PRINFO_PRCHK_APP) cmd->cdw15 = (opts->apptag_mask << 16 | opts->apptag); break; case NVME_NS_DPS_PI_TYPE3: if (opts->io_flags & NVME_IO_PRINFO_PRCHK_APP) cmd->cdw15 = (opts->apptag_mask << 16 | opts->apptag); break; case NVME_NS_DPS_PI_NONE: break; } } int fio_nvme_pi_verify(struct nvme_data *data, struct io_u *io_u) { int ret = 0; switch (data->guard_type) { case NVME_NVM_NS_16B_GUARD: ret = fio_nvme_verify_pi_16b_guard(data, io_u); break; case NVME_NVM_NS_64B_GUARD: ret = fio_nvme_verify_pi_64b_guard(data, io_u); break; default: break; } return ret; } static int nvme_identify(int fd, __u32 nsid, enum nvme_identify_cns cns, enum nvme_csi csi, void *data) { struct nvme_passthru_cmd cmd = { .opcode = nvme_admin_identify, .nsid = nsid, .addr = (__u64)(uintptr_t)data, .data_len = NVME_IDENTIFY_DATA_SIZE, .cdw10 = cns, .cdw11 = csi << NVME_IDENTIFY_CSI_SHIFT, .timeout_ms = NVME_DEFAULT_IOCTL_TIMEOUT, }; return ioctl(fd, NVME_IOCTL_ADMIN_CMD, &cmd); } int fio_nvme_get_info(struct fio_file *f, __u64 *nlba, __u32 pi_act, struct nvme_data *data) { struct nvme_id_ns ns; struct nvme_id_ctrl ctrl; struct nvme_nvm_id_ns nvm_ns; int namespace_id; int fd, err; __u32 format_idx, elbaf; if (f->filetype != FIO_TYPE_CHAR) { log_err("ioengine io_uring_cmd only works with nvme ns " "generic char devices (/dev/ngXnY)\n"); return 1; } fd = open(f->file_name, O_RDONLY); if (fd < 0) return -errno; namespace_id = ioctl(fd, NVME_IOCTL_ID); if (namespace_id < 0) { err = -errno; log_err("%s: failed to fetch namespace-id\n", f->file_name); goto out; } err = nvme_identify(fd, 0, NVME_IDENTIFY_CNS_CTRL, NVME_CSI_NVM, &ctrl); if (err) { log_err("%s: failed to fetch identify ctrl\n", f->file_name); goto out; } /* * Identify namespace to get namespace-id, namespace size in LBA's * and LBA data size. */ err = nvme_identify(fd, namespace_id, NVME_IDENTIFY_CNS_NS, NVME_CSI_NVM, &ns); if (err) { log_err("%s: failed to fetch identify namespace\n", f->file_name); goto out; } data->nsid = namespace_id; /* * 16 or 64 as maximum number of supported LBA formats. * From flbas bit 0-3 indicates lsb and bit 5-6 indicates msb * of the format index used to format the namespace. */ if (ns.nlbaf < 16) format_idx = ns.flbas & 0xf; else format_idx = (ns.flbas & 0xf) + (((ns.flbas >> 5) & 0x3) << 4); data->lba_size = 1 << ns.lbaf[format_idx].ds; data->ms = le16_to_cpu(ns.lbaf[format_idx].ms); /* Check for end to end data protection support */ if (data->ms && (ns.dps & NVME_NS_DPS_PI_MASK)) data->pi_type = (ns.dps & NVME_NS_DPS_PI_MASK); if (!data->pi_type) goto check_elba; if (ctrl.ctratt & NVME_CTRL_CTRATT_ELBAS) { err = nvme_identify(fd, namespace_id, NVME_IDENTIFY_CNS_CSI_NS, NVME_CSI_NVM, &nvm_ns); if (err) { log_err("%s: failed to fetch identify nvm namespace\n", f->file_name); goto out; } elbaf = le32_to_cpu(nvm_ns.elbaf[format_idx]); /* Currently we don't support storage tags */ if (elbaf & NVME_ID_NS_NVM_STS_MASK) { log_err("%s: Storage tag not supported\n", f->file_name); err = -ENOTSUP; goto out; } data->guard_type = (elbaf >> NVME_ID_NS_NVM_GUARD_SHIFT) & NVME_ID_NS_NVM_GUARD_MASK; /* No 32 bit guard, as storage tag is mandatory for it */ switch (data->guard_type) { case NVME_NVM_NS_16B_GUARD: data->pi_size = sizeof(struct nvme_16b_guard_pif); break; case NVME_NVM_NS_64B_GUARD: data->pi_size = sizeof(struct nvme_64b_guard_pif); break; default: break; } } else { data->guard_type = NVME_NVM_NS_16B_GUARD; data->pi_size = sizeof(struct nvme_16b_guard_pif); } /* * when PRACT bit is set to 1, and metadata size is equal to protection * information size, controller inserts and removes PI for write and * read commands respectively. */ if (pi_act && data->ms == data->pi_size) data->ms = 0; data->pi_loc = (ns.dps & NVME_NS_DPS_PI_FIRST); check_elba: /* * Bit 4 for flbas indicates if metadata is transferred at the end of * logical block creating an extended LBA. */ if (data->ms && ((ns.flbas >> 4) & 0x1)) data->lba_ext = data->lba_size + data->ms; else data->lba_shift = ilog2(data->lba_size); *nlba = ns.nsze; out: close(fd); return err; } int fio_nvme_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model) { struct nvme_data *data = FILE_ENG_DATA(f); struct nvme_id_ns ns; struct nvme_passthru_cmd cmd; int fd, ret = 0; if (f->filetype != FIO_TYPE_CHAR) return -EINVAL; /* File is not yet opened */ fd = open(f->file_name, O_RDONLY | O_LARGEFILE); if (fd < 0) return -errno; /* Using nvme_id_ns for data as sizes are same */ ret = nvme_identify(fd, data->nsid, NVME_IDENTIFY_CNS_CSI_CTRL, NVME_CSI_ZNS, &ns); if (ret) { *model = ZBD_NONE; goto out; } memset(&cmd, 0, sizeof(struct nvme_passthru_cmd)); /* Using nvme_id_ns for data as sizes are same */ ret = nvme_identify(fd, data->nsid, NVME_IDENTIFY_CNS_CSI_NS, NVME_CSI_ZNS, &ns); if (ret) { *model = ZBD_NONE; goto out; } *model = ZBD_HOST_MANAGED; out: close(fd); return 0; } static int nvme_report_zones(int fd, __u32 nsid, __u64 slba, __u32 zras_feat, __u32 data_len, void *data) { struct nvme_passthru_cmd cmd = { .opcode = nvme_zns_cmd_mgmt_recv, .nsid = nsid, .addr = (__u64)(uintptr_t)data, .data_len = data_len, .cdw10 = slba & 0xffffffff, .cdw11 = slba >> 32, .cdw12 = (data_len >> 2) - 1, .cdw13 = NVME_ZNS_ZRA_REPORT_ZONES | zras_feat, .timeout_ms = NVME_DEFAULT_IOCTL_TIMEOUT, }; return ioctl(fd, NVME_IOCTL_IO_CMD, &cmd); } int fio_nvme_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zbdz, unsigned int nr_zones) { struct nvme_data *data = FILE_ENG_DATA(f); struct nvme_zone_report *zr; struct nvme_zns_id_ns zns_ns; struct nvme_id_ns ns; unsigned int i = 0, j, zones_fetched = 0; unsigned int max_zones, zones_chunks = 1024; int fd, ret = 0; __u32 zr_len; __u64 zlen; /* File is not yet opened */ fd = open(f->file_name, O_RDONLY | O_LARGEFILE); if (fd < 0) return -errno; zones_fetched = 0; zr_len = sizeof(*zr) + (zones_chunks * sizeof(struct nvme_zns_desc)); zr = calloc(1, zr_len); if (!zr) { close(fd); return -ENOMEM; } ret = nvme_identify(fd, data->nsid, NVME_IDENTIFY_CNS_NS, NVME_CSI_NVM, &ns); if (ret) { log_err("%s: nvme_identify_ns failed, err=%d\n", f->file_name, ret); goto out; } ret = nvme_identify(fd, data->nsid, NVME_IDENTIFY_CNS_CSI_NS, NVME_CSI_ZNS, &zns_ns); if (ret) { log_err("%s: nvme_zns_identify_ns failed, err=%d\n", f->file_name, ret); goto out; } zlen = zns_ns.lbafe[ns.flbas & 0x0f].zsze << data->lba_shift; max_zones = (f->real_file_size - offset) / zlen; if (max_zones < nr_zones) nr_zones = max_zones; if (nr_zones < zones_chunks) zones_chunks = nr_zones; while (zones_fetched < nr_zones) { if (zones_fetched + zones_chunks >= nr_zones) { zones_chunks = nr_zones - zones_fetched; zr_len = sizeof(*zr) + (zones_chunks * sizeof(struct nvme_zns_desc)); } ret = nvme_report_zones(fd, data->nsid, offset >> data->lba_shift, NVME_ZNS_ZRAS_FEAT_ERZ, zr_len, (void *)zr); if (ret) { log_err("%s: nvme_zns_report_zones failed, err=%d\n", f->file_name, ret); goto out; } /* Transform the zone-report */ for (j = 0; j < zr->nr_zones; j++, i++) { struct nvme_zns_desc *desc = (struct nvme_zns_desc *)&(zr->entries[j]); zbdz[i].start = desc->zslba << data->lba_shift; zbdz[i].len = zlen; zbdz[i].wp = desc->wp << data->lba_shift; zbdz[i].capacity = desc->zcap << data->lba_shift; /* Zone Type is stored in first 4 bits. */ switch (desc->zt & 0x0f) { case NVME_ZONE_TYPE_SEQWRITE_REQ: zbdz[i].type = ZBD_ZONE_TYPE_SWR; break; default: log_err("%s: invalid type for zone at offset %llu.\n", f->file_name, (unsigned long long) desc->zslba); ret = -EIO; goto out; } /* Zone State is stored in last 4 bits. */ switch (desc->zs >> 4) { case NVME_ZNS_ZS_EMPTY: zbdz[i].cond = ZBD_ZONE_COND_EMPTY; break; case NVME_ZNS_ZS_IMPL_OPEN: zbdz[i].cond = ZBD_ZONE_COND_IMP_OPEN; break; case NVME_ZNS_ZS_EXPL_OPEN: zbdz[i].cond = ZBD_ZONE_COND_EXP_OPEN; break; case NVME_ZNS_ZS_CLOSED: zbdz[i].cond = ZBD_ZONE_COND_CLOSED; break; case NVME_ZNS_ZS_FULL: zbdz[i].cond = ZBD_ZONE_COND_FULL; break; case NVME_ZNS_ZS_READ_ONLY: case NVME_ZNS_ZS_OFFLINE: default: /* Treat all these conditions as offline (don't use!) */ zbdz[i].cond = ZBD_ZONE_COND_OFFLINE; zbdz[i].wp = zbdz[i].start; } } zones_fetched += zr->nr_zones; offset += zr->nr_zones * zlen; } ret = zones_fetched; out: free(zr); close(fd); return ret; } int fio_nvme_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { struct nvme_data *data = FILE_ENG_DATA(f); unsigned int nr_zones; unsigned long long zslba; int i, fd, ret = 0; /* If the file is not yet opened, open it for this function. */ fd = f->fd; if (fd < 0) { fd = open(f->file_name, O_RDWR | O_LARGEFILE); if (fd < 0) return -errno; } zslba = offset >> data->lba_shift; nr_zones = (length + td->o.zone_size - 1) / td->o.zone_size; for (i = 0; i < nr_zones; i++, zslba += (td->o.zone_size >> data->lba_shift)) { struct nvme_passthru_cmd cmd = { .opcode = nvme_zns_cmd_mgmt_send, .nsid = data->nsid, .cdw10 = zslba & 0xffffffff, .cdw11 = zslba >> 32, .cdw13 = NVME_ZNS_ZSA_RESET, .addr = (__u64)(uintptr_t)NULL, .data_len = 0, .timeout_ms = NVME_DEFAULT_IOCTL_TIMEOUT, }; ret = ioctl(fd, NVME_IOCTL_IO_CMD, &cmd); } if (f->fd < 0) close(fd); return -ret; } int fio_nvme_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones) { struct nvme_data *data = FILE_ENG_DATA(f); struct nvme_zns_id_ns zns_ns; int fd, ret = 0; fd = open(f->file_name, O_RDONLY | O_LARGEFILE); if (fd < 0) return -errno; ret = nvme_identify(fd, data->nsid, NVME_IDENTIFY_CNS_CSI_NS, NVME_CSI_ZNS, &zns_ns); if (ret) { log_err("%s: nvme_zns_identify_ns failed, err=%d\n", f->file_name, ret); goto out; } *max_open_zones = zns_ns.mor + 1; out: close(fd); return ret; } static inline int nvme_fdp_reclaim_unit_handle_status(int fd, __u32 nsid, __u32 data_len, void *data) { struct nvme_passthru_cmd cmd = { .opcode = nvme_cmd_io_mgmt_recv, .nsid = nsid, .addr = (__u64)(uintptr_t)data, .data_len = data_len, .cdw10 = 1, .cdw11 = (data_len >> 2) - 1, }; return ioctl(fd, NVME_IOCTL_IO_CMD, &cmd); } int fio_nvme_iomgmt_ruhs(struct thread_data *td, struct fio_file *f, struct nvme_fdp_ruh_status *ruhs, __u32 bytes) { struct nvme_data *data = FILE_ENG_DATA(f); int fd, ret; fd = open(f->file_name, O_RDONLY | O_LARGEFILE); if (fd < 0) return -errno; ret = nvme_fdp_reclaim_unit_handle_status(fd, data->nsid, bytes, ruhs); if (ret) { log_err("%s: nvme_fdp_reclaim_unit_handle_status failed, err=%d\n", f->file_name, ret); errno = ENOTSUP; } else errno = 0; ret = -errno; close(fd); return ret; } fio-3.39/engines/nvme.h000066400000000000000000000213351476262051600150100ustar00rootroot00000000000000// SPDX-License-Identifier: GPL-2.0 /* * nvme structure declarations and helper functions for the * io_uring_cmd engine. */ #ifndef FIO_NVME_H #define FIO_NVME_H #include #include "../fio.h" /* * If the uapi headers installed on the system lacks nvme uring command * support, use the local version to prevent compilation issues. */ #ifndef CONFIG_NVME_URING_CMD struct nvme_uring_cmd { __u8 opcode; __u8 flags; __u16 rsvd1; __u32 nsid; __u32 cdw2; __u32 cdw3; __u64 metadata; __u64 addr; __u32 metadata_len; __u32 data_len; __u32 cdw10; __u32 cdw11; __u32 cdw12; __u32 cdw13; __u32 cdw14; __u32 cdw15; __u32 timeout_ms; __u32 rsvd2; }; #define NVME_URING_CMD_IO _IOWR('N', 0x80, struct nvme_uring_cmd) #define NVME_URING_CMD_IO_VEC _IOWR('N', 0x81, struct nvme_uring_cmd) #endif /* CONFIG_NVME_URING_CMD */ #define NVME_DEFAULT_IOCTL_TIMEOUT 0 #define NVME_IDENTIFY_DATA_SIZE 4096 #define NVME_IDENTIFY_CSI_SHIFT 24 #define NVME_NQN_LENGTH 256 #define NVME_PI_APP_DISABLE 0xFFFF #define NVME_PI_REF_DISABLE 0xFFFFFFFF #define NVME_ZNS_ZRA_REPORT_ZONES 0 #define NVME_ZNS_ZRAS_FEAT_ERZ (1 << 16) #define NVME_ZNS_ZSA_RESET 0x4 #define NVME_ZONE_TYPE_SEQWRITE_REQ 0x2 #define NVME_ATTRIBUTE_DEALLOCATE (1 << 2) enum nvme_identify_cns { NVME_IDENTIFY_CNS_NS = 0x00, NVME_IDENTIFY_CNS_CTRL = 0x01, NVME_IDENTIFY_CNS_CSI_NS = 0x05, NVME_IDENTIFY_CNS_CSI_CTRL = 0x06, }; enum nvme_csi { NVME_CSI_NVM = 0, NVME_CSI_KV = 1, NVME_CSI_ZNS = 2, }; enum nvme_admin_opcode { nvme_admin_identify = 0x06, }; enum nvme_io_opcode { nvme_cmd_flush = 0x00, nvme_cmd_write = 0x01, nvme_cmd_read = 0x02, nvme_cmd_write_uncor = 0x04, nvme_cmd_compare = 0x05, nvme_cmd_write_zeroes = 0x08, nvme_cmd_dsm = 0x09, nvme_cmd_verify = 0x0c, nvme_cmd_io_mgmt_recv = 0x12, nvme_zns_cmd_mgmt_send = 0x79, nvme_zns_cmd_mgmt_recv = 0x7a, }; enum nvme_zns_zs { NVME_ZNS_ZS_EMPTY = 0x1, NVME_ZNS_ZS_IMPL_OPEN = 0x2, NVME_ZNS_ZS_EXPL_OPEN = 0x3, NVME_ZNS_ZS_CLOSED = 0x4, NVME_ZNS_ZS_READ_ONLY = 0xd, NVME_ZNS_ZS_FULL = 0xe, NVME_ZNS_ZS_OFFLINE = 0xf, }; enum nvme_id_ctrl_ctratt { NVME_CTRL_CTRATT_ELBAS = 1 << 15, }; enum { NVME_ID_NS_NVM_STS_MASK = 0x7f, NVME_ID_NS_NVM_GUARD_SHIFT = 7, NVME_ID_NS_NVM_GUARD_MASK = 0x3, }; enum { NVME_NVM_NS_16B_GUARD = 0, NVME_NVM_NS_32B_GUARD = 1, NVME_NVM_NS_64B_GUARD = 2, }; struct nvme_data { __u32 nsid; __u32 lba_shift; __u32 lba_size; __u32 lba_ext; __u16 ms; __u16 pi_size; __u8 pi_type; __u8 guard_type; __u8 pi_loc; }; enum nvme_id_ns_dps { NVME_NS_DPS_PI_NONE = 0, NVME_NS_DPS_PI_TYPE1 = 1, NVME_NS_DPS_PI_TYPE2 = 2, NVME_NS_DPS_PI_TYPE3 = 3, NVME_NS_DPS_PI_MASK = 7 << 0, NVME_NS_DPS_PI_FIRST = 1 << 3, }; enum nvme_io_control_flags { NVME_IO_PRINFO_PRCHK_REF = 1U << 26, NVME_IO_PRINFO_PRCHK_APP = 1U << 27, NVME_IO_PRINFO_PRCHK_GUARD = 1U << 28, NVME_IO_PRINFO_PRACT = 1U << 29, }; struct nvme_pi_data { __u32 interval; __u32 io_flags; __u16 apptag; __u16 apptag_mask; }; struct nvme_lbaf { __le16 ms; __u8 ds; __u8 rp; }; /* 16 bit guard protection Information format */ struct nvme_16b_guard_pif { __be16 guard; __be16 apptag; __be32 srtag; }; /* 64 bit guard protection Information format */ struct nvme_64b_guard_pif { __be64 guard; __be16 apptag; __u8 srtag[6]; }; struct nvme_id_ns { __le64 nsze; __le64 ncap; __le64 nuse; __u8 nsfeat; __u8 nlbaf; __u8 flbas; __u8 mc; __u8 dpc; __u8 dps; __u8 nmic; __u8 rescap; __u8 fpi; __u8 dlfeat; __le16 nawun; __le16 nawupf; __le16 nacwu; __le16 nabsn; __le16 nabo; __le16 nabspf; __le16 noiob; __u8 nvmcap[16]; __le16 npwg; __le16 npwa; __le16 npdg; __le16 npda; __le16 nows; __le16 mssrl; __le32 mcl; __u8 msrc; __u8 rsvd81[11]; __le32 anagrpid; __u8 rsvd96[3]; __u8 nsattr; __le16 nvmsetid; __le16 endgid; __u8 nguid[16]; __u8 eui64[8]; struct nvme_lbaf lbaf[64]; __u8 vs[3712]; }; struct nvme_id_psd { __le16 mp; __u8 rsvd2; __u8 flags; __le32 enlat; __le32 exlat; __u8 rrt; __u8 rrl; __u8 rwt; __u8 rwl; __le16 idlp; __u8 ips; __u8 rsvd19; __le16 actp; __u8 apws; __u8 rsvd23[9]; }; struct nvme_id_ctrl { __le16 vid; __le16 ssvid; char sn[20]; char mn[40]; char fr[8]; __u8 rab; __u8 ieee[3]; __u8 cmic; __u8 mdts; __le16 cntlid; __le32 ver; __le32 rtd3r; __le32 rtd3e; __le32 oaes; __le32 ctratt; __le16 rrls; __u8 rsvd102[9]; __u8 cntrltype; __u8 fguid[16]; __le16 crdt1; __le16 crdt2; __le16 crdt3; __u8 rsvd134[119]; __u8 nvmsr; __u8 vwci; __u8 mec; __le16 oacs; __u8 acl; __u8 aerl; __u8 frmw; __u8 lpa; __u8 elpe; __u8 npss; __u8 avscc; __u8 apsta; __le16 wctemp; __le16 cctemp; __le16 mtfa; __le32 hmpre; __le32 hmmin; __u8 tnvmcap[16]; __u8 unvmcap[16]; __le32 rpmbs; __le16 edstt; __u8 dsto; __u8 fwug; __le16 kas; __le16 hctma; __le16 mntmt; __le16 mxtmt; __le32 sanicap; __le32 hmminds; __le16 hmmaxd; __le16 nsetidmax; __le16 endgidmax; __u8 anatt; __u8 anacap; __le32 anagrpmax; __le32 nanagrpid; __le32 pels; __le16 domainid; __u8 rsvd358[10]; __u8 megcap[16]; __u8 rsvd384[128]; __u8 sqes; __u8 cqes; __le16 maxcmd; __le32 nn; __le16 oncs; __le16 fuses; __u8 fna; __u8 vwc; __le16 awun; __le16 awupf; __u8 icsvscc; __u8 nwpc; __le16 acwu; __le16 ocfs; __le32 sgls; __le32 mnan; __u8 maxdna[16]; __le32 maxcna; __u8 rsvd564[204]; char subnqn[NVME_NQN_LENGTH]; __u8 rsvd1024[768]; /* Fabrics Only */ __le32 ioccsz; __le32 iorcsz; __le16 icdoff; __u8 fcatt; __u8 msdbd; __le16 ofcs; __u8 dctype; __u8 rsvd1807[241]; struct nvme_id_psd psd[32]; __u8 vs[1024]; }; struct nvme_nvm_id_ns { __le64 lbstm; __u8 pic; __u8 rsvd9[3]; __le32 elbaf[64]; __u8 rsvd268[3828]; }; static inline int ilog2(uint32_t i) { int log = -1; while (i) { i >>= 1; log++; } return log; } struct nvme_zns_lbafe { __le64 zsze; __u8 zdes; __u8 rsvd9[7]; }; struct nvme_zns_id_ns { __le16 zoc; __le16 ozcs; __le32 mar; __le32 mor; __le32 rrl; __le32 frl; __le32 rrl1; __le32 rrl2; __le32 rrl3; __le32 frl1; __le32 frl2; __le32 frl3; __le32 numzrwa; __le16 zrwafg; __le16 zrwasz; __u8 zrwacap; __u8 rsvd53[2763]; struct nvme_zns_lbafe lbafe[64]; __u8 vs[256]; }; struct nvme_zns_desc { __u8 zt; __u8 zs; __u8 za; __u8 zai; __u8 rsvd4[4]; __le64 zcap; __le64 zslba; __le64 wp; __u8 rsvd32[32]; }; struct nvme_zone_report { __le64 nr_zones; __u8 rsvd8[56]; struct nvme_zns_desc entries[]; }; struct nvme_fdp_ruh_status_desc { __u16 pid; __u16 ruhid; __u32 earutr; __u64 ruamw; __u8 rsvd16[16]; }; struct nvme_fdp_ruh_status { __u8 rsvd0[14]; __le16 nruhsd; struct nvme_fdp_ruh_status_desc ruhss[]; }; struct nvme_dsm_range { __le32 cattr; __le32 nlb; __le64 slba; }; struct nvme_dsm { __u32 nr_ranges; struct nvme_dsm_range range[]; }; struct nvme_cmd_ext_io_opts { __u32 io_flags; __u16 apptag; __u16 apptag_mask; }; int fio_nvme_iomgmt_ruhs(struct thread_data *td, struct fio_file *f, struct nvme_fdp_ruh_status *ruhs, __u32 bytes); int fio_nvme_get_info(struct fio_file *f, __u64 *nlba, __u32 pi_act, struct nvme_data *data); int fio_nvme_uring_cmd_prep(struct nvme_uring_cmd *cmd, struct io_u *io_u, struct iovec *iov, struct nvme_dsm *dsm, uint8_t read_opcode, uint8_t write_opcode, unsigned int cdw12_flags); void fio_nvme_pi_fill(struct nvme_uring_cmd *cmd, struct io_u *io_u, struct nvme_cmd_ext_io_opts *opts); int fio_nvme_pi_verify(struct nvme_data *data, struct io_u *io_u); int fio_nvme_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model); int fio_nvme_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zbdz, unsigned int nr_zones); int fio_nvme_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length); int fio_nvme_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones); static inline void put_unaligned_be48(__u64 val, __u8 *p) { *p++ = val >> 40; *p++ = val >> 32; *p++ = val >> 24; *p++ = val >> 16; *p++ = val >> 8; *p++ = val; } static inline __u64 get_unaligned_be48(__u8 *p) { return (__u64)p[0] << 40 | (__u64)p[1] << 32 | (__u64)p[2] << 24 | p[3] << 16 | p[4] << 8 | p[5]; } static inline bool fio_nvme_pi_ref_escape(__u8 *reftag) { __u8 ref_esc[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; return memcmp(reftag, ref_esc, sizeof(ref_esc)) == 0; } #endif fio-3.39/engines/posixaio.c000066400000000000000000000113351476262051600156700ustar00rootroot00000000000000/* * posixaio engine * * IO engine that uses the posix defined aio interface. * */ #include #include #include #include #include #include "../fio.h" struct posixaio_data { struct io_u **aio_events; unsigned int queued; }; static unsigned long long ts_utime_since_now(const struct timespec *start) { struct timespec now; if (fio_get_mono_time(&now) < 0) return 0; return utime_since(start, &now); } static int fio_posixaio_cancel(struct thread_data fio_unused *td, struct io_u *io_u) { struct fio_file *f = io_u->file; int r = aio_cancel(f->fd, &io_u->aiocb); if (r == AIO_ALLDONE || r == AIO_CANCELED) return 0; return 1; } static int fio_posixaio_prep(struct thread_data fio_unused *td, struct io_u *io_u) { os_aiocb_t *aiocb = &io_u->aiocb; struct fio_file *f = io_u->file; aiocb->aio_fildes = f->fd; aiocb->aio_buf = io_u->xfer_buf; aiocb->aio_nbytes = io_u->xfer_buflen; aiocb->aio_offset = io_u->offset; aiocb->aio_sigevent.sigev_notify = SIGEV_NONE; io_u->seen = 0; return 0; } #define SUSPEND_ENTRIES 8 static int fio_posixaio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct posixaio_data *pd = td->io_ops_data; os_aiocb_t *suspend_list[SUSPEND_ENTRIES]; struct timespec start; int have_timeout = 0; int suspend_entries; struct io_u *io_u; unsigned int r; int i; if (t && fio_get_mono_time(&start) == 0) have_timeout = 1; else memset(&start, 0, sizeof(start)); r = 0; restart: memset(suspend_list, 0, sizeof(suspend_list)); suspend_entries = 0; io_u_qiter(&td->io_u_all, io_u, i) { int err; if (io_u->seen || !(io_u->flags & IO_U_F_FLIGHT)) continue; err = aio_error(&io_u->aiocb); if (err == EINPROGRESS) { if (suspend_entries < SUSPEND_ENTRIES) { suspend_list[suspend_entries] = &io_u->aiocb; suspend_entries++; } continue; } io_u->seen = 1; pd->queued--; pd->aio_events[r++] = io_u; if (err == ECANCELED) io_u->resid = io_u->xfer_buflen; else if (!err) { ssize_t retval = aio_return(&io_u->aiocb); io_u->resid = io_u->xfer_buflen - retval; } else io_u->error = err; } if (r >= min) return r; if (have_timeout) { unsigned long long usec; usec = (t->tv_sec * 1000000) + (t->tv_nsec / 1000); if (ts_utime_since_now(&start) > usec) return r; } /* * must have some in-flight, wait for at least one */ aio_suspend((const os_aiocb_t * const *)suspend_list, suspend_entries, t); goto restart; } static struct io_u *fio_posixaio_event(struct thread_data *td, int event) { struct posixaio_data *pd = td->io_ops_data; return pd->aio_events[event]; } static enum fio_q_status fio_posixaio_queue(struct thread_data *td, struct io_u *io_u) { struct posixaio_data *pd = td->io_ops_data; os_aiocb_t *aiocb = &io_u->aiocb; int ret; fio_ro_check(td, io_u); if (io_u->ddir == DDIR_READ) ret = aio_read(aiocb); else if (io_u->ddir == DDIR_WRITE) ret = aio_write(aiocb); else if (io_u->ddir == DDIR_TRIM) { if (pd->queued) return FIO_Q_BUSY; do_io_u_trim(td, io_u); return FIO_Q_COMPLETED; } else { #ifdef CONFIG_POSIXAIO_FSYNC ret = aio_fsync(O_SYNC, aiocb); #else if (pd->queued) return FIO_Q_BUSY; do_io_u_sync(td, io_u); return FIO_Q_COMPLETED; #endif } if (ret) { int aio_err = errno; /* * At least OSX has a very low limit on the number of pending * IOs, so if it returns EAGAIN, we are out of resources * to queue more. Just return FIO_Q_BUSY to naturally * drop off at this depth. */ if (aio_err == EAGAIN) return FIO_Q_BUSY; io_u->error = aio_err; td_verror(td, io_u->error, "xfer"); return FIO_Q_COMPLETED; } pd->queued++; return FIO_Q_QUEUED; } static void fio_posixaio_cleanup(struct thread_data *td) { struct posixaio_data *pd = td->io_ops_data; if (pd) { free(pd->aio_events); free(pd); } } static int fio_posixaio_init(struct thread_data *td) { struct posixaio_data *pd; pd = calloc(1, sizeof(*pd)); pd->aio_events = calloc(td->o.iodepth, sizeof(struct io_u *)); td->io_ops_data = pd; return 0; } static struct ioengine_ops ioengine = { .name = "posixaio", .version = FIO_IOOPS_VERSION, .flags = FIO_ASYNCIO_SYNC_TRIM, .init = fio_posixaio_init, .prep = fio_posixaio_prep, .queue = fio_posixaio_queue, .cancel = fio_posixaio_cancel, .getevents = fio_posixaio_getevents, .event = fio_posixaio_event, .cleanup = fio_posixaio_cleanup, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, }; static void fio_init fio_posixaio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_posixaio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/rados.c000066400000000000000000000277611476262051600151570ustar00rootroot00000000000000/* * Ceph Rados engine * * IO engine using Ceph's RADOS interface to test low-level performance of * Ceph OSDs. * */ #include #include #include "fio.h" #include "../optgroup.h" struct rados_data { rados_t cluster; rados_ioctx_t io_ctx; struct io_u **aio_events; bool connected; pthread_mutex_t completed_lock; pthread_cond_t completed_more_io; struct flist_head completed_operations; uint64_t ops_scheduled; uint64_t ops_completed; }; struct fio_rados_iou { struct flist_head list; struct thread_data *td; struct io_u *io_u; rados_completion_t completion; rados_write_op_t write_op; }; /* fio configuration options read from the job file */ struct rados_options { void *pad; char *cluster_name; char *pool_name; char *client_name; char *conf; int busy_poll; int touch_objects; }; static struct fio_option options[] = { { .name = "clustername", .lname = "ceph cluster name", .type = FIO_OPT_STR_STORE, .help = "Cluster name for ceph", .off1 = offsetof(struct rados_options, cluster_name), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = "pool", .lname = "pool name to use", .type = FIO_OPT_STR_STORE, .help = "Ceph pool name to benchmark against", .off1 = offsetof(struct rados_options, pool_name), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = "clientname", .lname = "rados engine clientname", .type = FIO_OPT_STR_STORE, .help = "Name of the ceph client to access RADOS engine", .off1 = offsetof(struct rados_options, client_name), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = "conf", .lname = "ceph configuration file path", .type = FIO_OPT_STR_STORE, .help = "Path of the ceph configuration file", .off1 = offsetof(struct rados_options, conf), .def = "/etc/ceph/ceph.conf", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = "busy_poll", .lname = "busy poll mode", .type = FIO_OPT_BOOL, .help = "Busy poll for completions instead of sleeping", .off1 = offsetof(struct rados_options, busy_poll), .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = "touch_objects", .lname = "touch objects on start", .type = FIO_OPT_BOOL, .help = "Touch (create) objects on start", .off1 = offsetof(struct rados_options, touch_objects), .def = "1", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = NULL, }, }; static int _fio_setup_rados_data(struct thread_data *td, struct rados_data **rados_data_ptr) { struct rados_data *rados; if (td->io_ops_data) return 0; rados = calloc(1, sizeof(struct rados_data)); if (!rados) goto failed; rados->connected = false; rados->aio_events = calloc(td->o.iodepth, sizeof(struct io_u *)); if (!rados->aio_events) goto failed; pthread_mutex_init(&rados->completed_lock, NULL); pthread_cond_init(&rados->completed_more_io, NULL); INIT_FLIST_HEAD(&rados->completed_operations); rados->ops_scheduled = 0; rados->ops_completed = 0; *rados_data_ptr = rados; return 0; failed: if (rados) { if (rados->aio_events) free(rados->aio_events); free(rados); } return 1; } static void _fio_rados_rm_objects(struct thread_data *td, struct rados_data *rados) { size_t i; for (i = 0; i < td->o.nr_files; i++) { struct fio_file *f = td->files[i]; rados_remove(rados->io_ctx, f->file_name); } } static int _fio_rados_connect(struct thread_data *td) { struct rados_data *rados = td->io_ops_data; struct rados_options *o = td->eo; int r; const uint64_t file_size = td->o.size / (td->o.nr_files ? td->o.nr_files : 1u); struct fio_file *f; uint32_t i; if (o->cluster_name) { char *client_name = NULL; /* * If we specify cluster name, the rados_create2 * will not assume 'client.'. name is considered * as a full type.id namestr */ if (o->client_name) { if (!index(o->client_name, '.')) { client_name = calloc(1, strlen("client.") + strlen(o->client_name) + 1); strcat(client_name, "client."); strcat(client_name, o->client_name); } else { client_name = o->client_name; } } r = rados_create2(&rados->cluster, o->cluster_name, client_name, 0); if (client_name && !index(o->client_name, '.')) free(client_name); } else r = rados_create(&rados->cluster, o->client_name); if (o->pool_name == NULL) { log_err("rados pool name must be provided.\n"); goto failed_early; } if (r < 0) { log_err("rados_create failed.\n"); goto failed_early; } r = rados_conf_read_file(rados->cluster, o->conf); if (r < 0) { log_err("rados_conf_read_file failed.\n"); goto failed_early; } r = rados_connect(rados->cluster); if (r < 0) { log_err("rados_connect failed.\n"); goto failed_early; } r = rados_ioctx_create(rados->cluster, o->pool_name, &rados->io_ctx); if (r < 0) { log_err("rados_ioctx_create failed.\n"); goto failed_shutdown; } for (i = 0; i < td->o.nr_files; i++) { f = td->files[i]; f->real_file_size = file_size; if (o->touch_objects) { r = rados_write(rados->io_ctx, f->file_name, "", 0, 0); if (r < 0) { goto failed_obj_create; } } } return 0; failed_obj_create: _fio_rados_rm_objects(td, rados); rados_ioctx_destroy(rados->io_ctx); rados->io_ctx = NULL; failed_shutdown: rados_shutdown(rados->cluster); rados->cluster = NULL; failed_early: return 1; } static void _fio_rados_disconnect(struct rados_data *rados) { if (!rados) return; if (rados->io_ctx) { rados_ioctx_destroy(rados->io_ctx); rados->io_ctx = NULL; } if (rados->cluster) { rados_shutdown(rados->cluster); rados->cluster = NULL; } } static void fio_rados_cleanup(struct thread_data *td) { struct rados_data *rados = td->io_ops_data; if (rados) { pthread_mutex_lock(&rados->completed_lock); while (rados->ops_scheduled != rados->ops_completed) pthread_cond_wait(&rados->completed_more_io, &rados->completed_lock); pthread_mutex_unlock(&rados->completed_lock); _fio_rados_rm_objects(td, rados); _fio_rados_disconnect(rados); free(rados->aio_events); free(rados); } } static void complete_callback(rados_completion_t cb, void *arg) { struct fio_rados_iou *fri = (struct fio_rados_iou *)arg; struct rados_data *rados = fri->td->io_ops_data; assert(fri->completion); assert(rados_aio_is_complete(fri->completion)); pthread_mutex_lock(&rados->completed_lock); flist_add_tail(&fri->list, &rados->completed_operations); rados->ops_completed++; pthread_mutex_unlock(&rados->completed_lock); pthread_cond_signal(&rados->completed_more_io); } static enum fio_q_status fio_rados_queue(struct thread_data *td, struct io_u *io_u) { struct rados_data *rados = td->io_ops_data; struct fio_rados_iou *fri = io_u->engine_data; char *object = io_u->file->file_name; int r = -1; fio_ro_check(td, io_u); if (io_u->ddir == DDIR_WRITE) { r = rados_aio_create_completion(fri, complete_callback, NULL, &fri->completion); if (r < 0) { log_err("rados_aio_create_completion failed.\n"); goto failed; } r = rados_aio_write(rados->io_ctx, object, fri->completion, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); if (r < 0) { log_err("rados_write failed.\n"); goto failed_comp; } rados->ops_scheduled++; return FIO_Q_QUEUED; } else if (io_u->ddir == DDIR_READ) { r = rados_aio_create_completion(fri, complete_callback, NULL, &fri->completion); if (r < 0) { log_err("rados_aio_create_completion failed.\n"); goto failed; } r = rados_aio_read(rados->io_ctx, object, fri->completion, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); if (r < 0) { log_err("rados_aio_read failed.\n"); goto failed_comp; } rados->ops_scheduled++; return FIO_Q_QUEUED; } else if (io_u->ddir == DDIR_TRIM) { r = rados_aio_create_completion(fri, complete_callback, NULL , &fri->completion); if (r < 0) { log_err("rados_aio_create_completion failed.\n"); goto failed; } fri->write_op = rados_create_write_op(); if (fri->write_op == NULL) { log_err("rados_create_write_op failed.\n"); goto failed_comp; } rados_write_op_zero(fri->write_op, io_u->offset, io_u->xfer_buflen); r = rados_aio_write_op_operate(fri->write_op, rados->io_ctx, fri->completion, object, NULL, 0); if (r < 0) { log_err("rados_aio_write_op_operate failed.\n"); goto failed_write_op; } rados->ops_scheduled++; return FIO_Q_QUEUED; } log_err("WARNING: Only DDIR_READ, DDIR_WRITE and DDIR_TRIM are supported!"); failed_write_op: rados_release_write_op(fri->write_op); failed_comp: rados_aio_release(fri->completion); failed: io_u->error = -r; td_verror(td, io_u->error, "xfer"); return FIO_Q_COMPLETED; } static struct io_u *fio_rados_event(struct thread_data *td, int event) { struct rados_data *rados = td->io_ops_data; return rados->aio_events[event]; } int fio_rados_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct rados_data *rados = td->io_ops_data; unsigned int events = 0; struct fio_rados_iou *fri; pthread_mutex_lock(&rados->completed_lock); while (events < min) { while (flist_empty(&rados->completed_operations)) { pthread_cond_wait(&rados->completed_more_io, &rados->completed_lock); } assert(!flist_empty(&rados->completed_operations)); fri = flist_first_entry(&rados->completed_operations, struct fio_rados_iou, list); assert(fri->completion); assert(rados_aio_is_complete(fri->completion)); if (fri->write_op != NULL) { rados_release_write_op(fri->write_op); fri->write_op = NULL; } rados_aio_release(fri->completion); fri->completion = NULL; rados->aio_events[events] = fri->io_u; events ++; flist_del(&fri->list); if (events >= max) break; } pthread_mutex_unlock(&rados->completed_lock); return events; } static int fio_rados_setup(struct thread_data *td) { struct rados_data *rados = NULL; int r; /* allocate engine specific structure to deal with librados. */ r = _fio_setup_rados_data(td, &rados); if (r) { log_err("fio_setup_rados_data failed.\n"); goto cleanup; } td->io_ops_data = rados; /* Force single process mode. */ td->o.use_thread = 1; /* connect in the main thread to determine to determine * the size of the given RADOS block device. And disconnect * later on. */ r = _fio_rados_connect(td); if (r) { log_err("fio_rados_connect failed.\n"); goto cleanup; } rados->connected = true; return 0; cleanup: fio_rados_cleanup(td); return r; } /* open/invalidate are noops. we set the FIO_DISKLESSIO flag in ioengine_ops to prevent fio from creating the files */ static int fio_rados_open(struct thread_data *td, struct fio_file *f) { return 0; } static int fio_rados_invalidate(struct thread_data *td, struct fio_file *f) { return 0; } static void fio_rados_io_u_free(struct thread_data *td, struct io_u *io_u) { struct fio_rados_iou *fri = io_u->engine_data; if (fri) { io_u->engine_data = NULL; fri->td = NULL; if (fri->completion) rados_aio_release(fri->completion); if (fri->write_op) rados_release_write_op(fri->write_op); free(fri); } } static int fio_rados_io_u_init(struct thread_data *td, struct io_u *io_u) { struct fio_rados_iou *fri; fri = calloc(1, sizeof(*fri)); fri->io_u = io_u; fri->td = td; INIT_FLIST_HEAD(&fri->list); io_u->engine_data = fri; return 0; } /* ioengine_ops for get_ioengine() */ FIO_STATIC struct ioengine_ops ioengine = { .name = "rados", .version = FIO_IOOPS_VERSION, .flags = FIO_DISKLESSIO, .setup = fio_rados_setup, .queue = fio_rados_queue, .getevents = fio_rados_getevents, .event = fio_rados_event, .cleanup = fio_rados_cleanup, .open_file = fio_rados_open, .invalidate = fio_rados_invalidate, .options = options, .io_u_init = fio_rados_io_u_init, .io_u_free = fio_rados_io_u_free, .option_struct_size = sizeof(struct rados_options), }; static void fio_init fio_rados_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_rados_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/rbd.c000066400000000000000000000351021476262051600146020ustar00rootroot00000000000000/* * rbd engine * * IO engine using Ceph's librbd to test RADOS Block Devices. * */ #include #include "../fio.h" #include "../optgroup.h" #ifdef CONFIG_RBD_POLL /* add for poll */ #include #include #endif struct fio_rbd_iou { struct io_u *io_u; rbd_completion_t completion; int io_seen; int io_complete; }; struct rbd_data { rados_t cluster; rados_ioctx_t io_ctx; rbd_image_t image; struct io_u **aio_events; struct io_u **sort_events; int fd; /* add for poll */ bool connected; }; struct rbd_options { void *pad; char *cluster_name; char *rbd_name; char *pool_name; char *client_name; int busy_poll; }; static struct fio_option options[] = { { .name = "clustername", .lname = "ceph cluster name", .type = FIO_OPT_STR_STORE, .help = "Cluster name for ceph", .off1 = offsetof(struct rbd_options, cluster_name), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = "rbdname", .lname = "rbd engine rbdname", .type = FIO_OPT_STR_STORE, .help = "RBD name for RBD engine", .off1 = offsetof(struct rbd_options, rbd_name), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = "pool", .lname = "rbd engine pool", .type = FIO_OPT_STR_STORE, .help = "Name of the pool hosting the RBD for the RBD engine", .off1 = offsetof(struct rbd_options, pool_name), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = "clientname", .lname = "rbd engine clientname", .type = FIO_OPT_STR_STORE, .help = "Name of the ceph client to access the RBD for the RBD engine", .off1 = offsetof(struct rbd_options, client_name), .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = "busy_poll", .lname = "Busy poll", .type = FIO_OPT_BOOL, .help = "Busy poll for completions instead of sleeping", .off1 = offsetof(struct rbd_options, busy_poll), .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RBD, }, { .name = NULL, }, }; static int _fio_setup_rbd_data(struct thread_data *td, struct rbd_data **rbd_data_ptr) { struct rbd_data *rbd; if (td->io_ops_data) return 0; rbd = calloc(1, sizeof(struct rbd_data)); if (!rbd) goto failed; rbd->connected = false; /* add for poll, init fd: -1 */ rbd->fd = -1; rbd->aio_events = calloc(td->o.iodepth, sizeof(struct io_u *)); if (!rbd->aio_events) goto failed; rbd->sort_events = calloc(td->o.iodepth, sizeof(struct io_u *)); if (!rbd->sort_events) goto failed; *rbd_data_ptr = rbd; return 0; failed: if (rbd) { if (rbd->aio_events) free(rbd->aio_events); if (rbd->sort_events) free(rbd->sort_events); free(rbd); } return 1; } #ifdef CONFIG_RBD_POLL static bool _fio_rbd_setup_poll(struct rbd_data *rbd) { int r; /* add for rbd poll */ rbd->fd = eventfd(0, EFD_SEMAPHORE); if (rbd->fd < 0) { log_err("eventfd failed.\n"); return false; } r = rbd_set_image_notification(rbd->image, rbd->fd, EVENT_TYPE_EVENTFD); if (r < 0) { log_err("rbd_set_image_notification failed.\n"); close(rbd->fd); rbd->fd = -1; return false; } return true; } #else static bool _fio_rbd_setup_poll(struct rbd_data *rbd) { return true; } #endif static int _fio_rbd_connect(struct thread_data *td) { struct rbd_data *rbd = td->io_ops_data; struct rbd_options *o = td->eo; int r; if (o->cluster_name) { char *client_name = NULL; /* * If we specify cluster name, the rados_create2 * will not assume 'client.'. name is considered * as a full type.id namestr */ if (o->client_name) { if (!index(o->client_name, '.')) { client_name = calloc(1, strlen("client.") + strlen(o->client_name) + 1); strcat(client_name, "client."); strcat(client_name, o->client_name); } else { client_name = o->client_name; } } r = rados_create2(&rbd->cluster, o->cluster_name, client_name, 0); if (client_name && !index(o->client_name, '.')) free(client_name); } else r = rados_create(&rbd->cluster, o->client_name); if (r < 0) { log_err("rados_create failed.\n"); goto failed_early; } if (o->pool_name == NULL) { log_err("rbd pool name must be provided.\n"); goto failed_early; } if (!o->rbd_name) { log_err("rbdname must be provided.\n"); goto failed_early; } r = rados_conf_read_file(rbd->cluster, NULL); if (r < 0) { log_err("rados_conf_read_file failed.\n"); goto failed_early; } r = rados_connect(rbd->cluster); if (r < 0) { log_err("rados_connect failed.\n"); goto failed_shutdown; } r = rados_ioctx_create(rbd->cluster, o->pool_name, &rbd->io_ctx); if (r < 0) { log_err("rados_ioctx_create failed.\n"); goto failed_shutdown; } if (td->o.odirect) { r = rados_conf_set(rbd->cluster, "rbd_cache", "false"); if (r < 0) { log_info("failed to disable RBD in-memory cache\n"); } } r = rbd_open(rbd->io_ctx, o->rbd_name, &rbd->image, NULL /*snap */ ); if (r < 0) { log_err("rbd_open failed.\n"); goto failed_open; } if (!td->o.odirect) { /* * ensure cache enables writeback/around mode unless explicitly * configured for writethrough mode */ r = rbd_flush(rbd->image); if (r < 0) { log_info("rbd: failed to issue initial flush\n"); } } if (!_fio_rbd_setup_poll(rbd)) goto failed_poll; return 0; failed_poll: rbd_close(rbd->image); rbd->image = NULL; failed_open: rados_ioctx_destroy(rbd->io_ctx); rbd->io_ctx = NULL; failed_shutdown: rados_shutdown(rbd->cluster); rbd->cluster = NULL; failed_early: return 1; } static void _fio_rbd_disconnect(struct rbd_data *rbd) { if (!rbd) return; /* close eventfd */ if (rbd->fd != -1) { close(rbd->fd); rbd->fd = -1; } /* shutdown everything */ if (rbd->image) { rbd_close(rbd->image); rbd->image = NULL; } if (rbd->io_ctx) { rados_ioctx_destroy(rbd->io_ctx); rbd->io_ctx = NULL; } if (rbd->cluster) { rados_shutdown(rbd->cluster); rbd->cluster = NULL; } } static void _fio_rbd_finish_aiocb(rbd_completion_t comp, void *data) { struct fio_rbd_iou *fri = data; struct io_u *io_u = fri->io_u; ssize_t ret; /* * Looks like return value is 0 for success, or < 0 for * a specific error. So we have to assume that it can't do * partial completions. */ ret = rbd_aio_get_return_value(fri->completion); if (ret < 0) { io_u->error = -ret; io_u->resid = io_u->xfer_buflen; } else io_u->error = 0; fri->io_complete = 1; } static struct io_u *fio_rbd_event(struct thread_data *td, int event) { struct rbd_data *rbd = td->io_ops_data; return rbd->aio_events[event]; } static inline int fri_check_complete(struct rbd_data *rbd, struct io_u *io_u, unsigned int *events) { struct fio_rbd_iou *fri = io_u->engine_data; if (fri->io_complete) { fri->io_seen = 1; rbd->aio_events[*events] = io_u; (*events)++; rbd_aio_release(fri->completion); return 1; } return 0; } #ifndef CONFIG_RBD_POLL static inline int rbd_io_u_seen(struct io_u *io_u) { struct fio_rbd_iou *fri = io_u->engine_data; return fri->io_seen; } #endif static void rbd_io_u_wait_complete(struct io_u *io_u) { struct fio_rbd_iou *fri = io_u->engine_data; rbd_aio_wait_for_complete(fri->completion); } static int rbd_io_u_cmp(const void *p1, const void *p2) { const struct io_u **a = (const struct io_u **) p1; const struct io_u **b = (const struct io_u **) p2; uint64_t at, bt; at = utime_since_now(&(*a)->start_time); bt = utime_since_now(&(*b)->start_time); if (at < bt) return -1; else if (at == bt) return 0; else return 1; } static int rbd_iter_events(struct thread_data *td, unsigned int *events, unsigned int min_evts, int wait) { struct rbd_data *rbd = td->io_ops_data; unsigned int this_events = 0; struct io_u *io_u; int i, sidx = 0; #ifdef CONFIG_RBD_POLL int ret = 0; int event_num = 0; struct fio_rbd_iou *fri = NULL; rbd_completion_t comps[min_evts]; uint64_t counter; bool completed; struct pollfd pfd; pfd.fd = rbd->fd; pfd.events = POLLIN; ret = poll(&pfd, 1, wait ? -1 : 0); if (ret <= 0) return 0; if (!(pfd.revents & POLLIN)) return 0; event_num = rbd_poll_io_events(rbd->image, comps, min_evts); for (i = 0; i < event_num; i++) { fri = rbd_aio_get_arg(comps[i]); io_u = fri->io_u; /* best effort to decrement the semaphore */ ret = read(rbd->fd, &counter, sizeof(counter)); if (ret <= 0) log_err("rbd_iter_events failed to decrement semaphore.\n"); completed = fri_check_complete(rbd, io_u, events); assert(completed); this_events++; } #else io_u_qiter(&td->io_u_all, io_u, i) { if (!(io_u->flags & IO_U_F_FLIGHT)) continue; if (rbd_io_u_seen(io_u)) continue; if (fri_check_complete(rbd, io_u, events)) this_events++; else if (wait) rbd->sort_events[sidx++] = io_u; } #endif if (!wait || !sidx) return this_events; /* * Sort events, oldest issue first, then wait on as many as we * need in order of age. If we have enough events, stop waiting, * and just check if any of the older ones are done. */ if (sidx > 1) qsort(rbd->sort_events, sidx, sizeof(struct io_u *), rbd_io_u_cmp); for (i = 0; i < sidx; i++) { io_u = rbd->sort_events[i]; if (fri_check_complete(rbd, io_u, events)) { this_events++; continue; } /* * Stop waiting when we have enough, but continue checking * all pending IOs if they are complete. */ if (*events >= min_evts) continue; rbd_io_u_wait_complete(io_u); if (fri_check_complete(rbd, io_u, events)) this_events++; } return this_events; } static int fio_rbd_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { unsigned int this_events, events = 0; struct rbd_options *o = td->eo; int wait = 0; do { this_events = rbd_iter_events(td, &events, min, wait); if (events >= min) break; if (this_events) continue; if (!o->busy_poll) wait = 1; else nop; } while (1); return events; } static enum fio_q_status fio_rbd_queue(struct thread_data *td, struct io_u *io_u) { struct rbd_data *rbd = td->io_ops_data; struct fio_rbd_iou *fri = io_u->engine_data; int r = -1; fio_ro_check(td, io_u); fri->io_seen = 0; fri->io_complete = 0; r = rbd_aio_create_completion(fri, _fio_rbd_finish_aiocb, &fri->completion); if (r < 0) { log_err("rbd_aio_create_completion failed.\n"); goto failed; } if (io_u->ddir == DDIR_WRITE) { r = rbd_aio_write(rbd->image, io_u->offset, io_u->xfer_buflen, io_u->xfer_buf, fri->completion); if (r < 0) { log_err("rbd_aio_write failed.\n"); goto failed_comp; } } else if (io_u->ddir == DDIR_READ) { r = rbd_aio_read(rbd->image, io_u->offset, io_u->xfer_buflen, io_u->xfer_buf, fri->completion); if (r < 0) { log_err("rbd_aio_read failed.\n"); goto failed_comp; } } else if (io_u->ddir == DDIR_TRIM) { r = rbd_aio_discard(rbd->image, io_u->offset, io_u->xfer_buflen, fri->completion); if (r < 0) { log_err("rbd_aio_discard failed.\n"); goto failed_comp; } } else if (io_u->ddir == DDIR_SYNC) { r = rbd_aio_flush(rbd->image, fri->completion); if (r < 0) { log_err("rbd_flush failed.\n"); goto failed_comp; } } else { dprint(FD_IO, "%s: Warning: unhandled ddir: %d\n", __func__, io_u->ddir); r = -EINVAL; goto failed_comp; } return FIO_Q_QUEUED; failed_comp: rbd_aio_release(fri->completion); failed: io_u->error = -r; td_verror(td, io_u->error, "xfer"); return FIO_Q_COMPLETED; } static int fio_rbd_init(struct thread_data *td) { int r; struct rbd_data *rbd = td->io_ops_data; if (rbd->connected) return 0; r = _fio_rbd_connect(td); if (r) { log_err("fio_rbd_connect failed, return code: %d .\n", r); goto failed; } return 0; failed: return 1; } static void fio_rbd_cleanup(struct thread_data *td) { struct rbd_data *rbd = td->io_ops_data; if (rbd) { _fio_rbd_disconnect(rbd); free(rbd->aio_events); free(rbd->sort_events); free(rbd); } } static int fio_rbd_setup(struct thread_data *td) { rbd_image_info_t info; struct fio_file *f; struct rbd_data *rbd = NULL; int r; /* allocate engine specific structure to deal with librbd. */ r = _fio_setup_rbd_data(td, &rbd); if (r) { log_err("fio_setup_rbd_data failed.\n"); goto cleanup; } td->io_ops_data = rbd; /* librbd does not allow us to run first in the main thread and later * in a fork child. It needs to be the same process context all the * time. */ td->o.use_thread = 1; /* connect in the main thread to determine to determine * the size of the given RADOS block device. And disconnect * later on. */ r = _fio_rbd_connect(td); if (r) { log_err("fio_rbd_connect failed.\n"); goto cleanup; } rbd->connected = true; /* get size of the RADOS block device */ r = rbd_stat(rbd->image, &info, sizeof(info)); if (r < 0) { log_err("rbd_status failed.\n"); goto cleanup; } else if (info.size == 0) { log_err("image size should be larger than zero.\n"); r = -EINVAL; goto cleanup; } dprint(FD_IO, "rbd-engine: image size: %" PRIu64 "\n", info.size); /* taken from "net" engine. Pretend we deal with files, * even if we do not have any ideas about files. * The size of the RBD is set instead of an artificial file. */ if (!td->files_index) { add_file(td, td->o.filename ? : "rbd", 0, 0); td->o.nr_files = td->o.nr_files ? : 1; td->o.open_files++; } f = td->files[0]; f->real_file_size = info.size; return 0; cleanup: fio_rbd_cleanup(td); return r; } static int fio_rbd_open(struct thread_data *td, struct fio_file *f) { return 0; } static int fio_rbd_invalidate(struct thread_data *td, struct fio_file *f) { #if defined(CONFIG_RBD_INVAL) struct rbd_data *rbd = td->io_ops_data; return rbd_invalidate_cache(rbd->image); #else return 0; #endif } static void fio_rbd_io_u_free(struct thread_data *td, struct io_u *io_u) { struct fio_rbd_iou *fri = io_u->engine_data; if (fri) { io_u->engine_data = NULL; free(fri); } } static int fio_rbd_io_u_init(struct thread_data *td, struct io_u *io_u) { struct fio_rbd_iou *fri; fri = calloc(1, sizeof(*fri)); fri->io_u = io_u; io_u->engine_data = fri; return 0; } FIO_STATIC struct ioengine_ops ioengine = { .name = "rbd", .version = FIO_IOOPS_VERSION, .setup = fio_rbd_setup, .init = fio_rbd_init, .queue = fio_rbd_queue, .getevents = fio_rbd_getevents, .event = fio_rbd_event, .cleanup = fio_rbd_cleanup, .open_file = fio_rbd_open, .invalidate = fio_rbd_invalidate, .options = options, .io_u_init = fio_rbd_io_u_init, .io_u_free = fio_rbd_io_u_free, .option_struct_size = sizeof(struct rbd_options), }; static void fio_init fio_rbd_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_rbd_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/rdma.c000066400000000000000000001012601476262051600147550ustar00rootroot00000000000000/* * RDMA I/O engine * * RDMA I/O engine based on the IB verbs and RDMA/CM user space libraries. * Supports both RDMA memory semantics and channel semantics * for the InfiniBand, RoCE and iWARP protocols. * * You will need the Linux RDMA software installed, either * from your Linux distributor or directly from openfabrics.org: * * http://www.openfabrics.org/downloads/OFED/ * * Exchanging steps of RDMA ioengine control messages: * 1. client side sends test mode (RDMA_WRITE/RDMA_READ/SEND) * to server side. * 2. server side parses test mode, and sends back confirmation * to client side. In RDMA WRITE/READ test, this confirmation * includes memory information, such as rkey, address. * 3. client side initiates test loop. * 4. In RDMA WRITE/READ test, client side sends a completion * notification to server side. Server side updates its * td->done as true. * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "../fio.h" #include "../hash.h" #include "../optgroup.h" #include #define FIO_RDMA_MAX_IO_DEPTH 512 enum rdma_io_mode { FIO_RDMA_UNKNOWN = 0, FIO_RDMA_MEM_WRITE, FIO_RDMA_MEM_READ, FIO_RDMA_CHA_SEND, FIO_RDMA_CHA_RECV }; struct rdmaio_options { struct thread_data *td; unsigned int port; enum rdma_io_mode verb; char *bindname; }; static int str_hostname_cb(void *data, const char *input) { struct rdmaio_options *o = data; if (o->td->o.filename) free(o->td->o.filename); o->td->o.filename = strdup(input); return 0; } static struct fio_option options[] = { { .name = "hostname", .lname = "rdma engine hostname", .type = FIO_OPT_STR_STORE, .cb = str_hostname_cb, .help = "Hostname for RDMA IO engine", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RDMA, }, { .name = "bindname", .lname = "rdma engine bindname", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct rdmaio_options, bindname), .help = "Bind for RDMA IO engine", .def = "", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RDMA, }, { .name = "port", .lname = "rdma engine port", .type = FIO_OPT_INT, .off1 = offsetof(struct rdmaio_options, port), .minval = 1, .maxval = 65535, .help = "Port to use for RDMA connections", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RDMA, }, { .name = "verb", .lname = "RDMA engine verb", .alias = "proto", .type = FIO_OPT_STR, .off1 = offsetof(struct rdmaio_options, verb), .help = "RDMA engine verb", .def = "write", .posval = { { .ival = "write", .oval = FIO_RDMA_MEM_WRITE, .help = "Memory Write", }, { .ival = "read", .oval = FIO_RDMA_MEM_READ, .help = "Memory Read", }, { .ival = "send", .oval = FIO_RDMA_CHA_SEND, .help = "Posted Send", }, { .ival = "recv", .oval = FIO_RDMA_CHA_RECV, .help = "Posted Receive", }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_RDMA, }, { .name = NULL, }, }; struct remote_u { uint64_t buf; uint32_t rkey; uint32_t size; }; struct rdma_info_blk { uint32_t mode; /* channel semantic or memory semantic */ uint32_t nr; /* client: io depth server: number of records for memory semantic */ uint32_t max_bs; /* maximum block size */ struct remote_u rmt_us[FIO_RDMA_MAX_IO_DEPTH]; }; struct rdma_io_u_data { uint64_t wr_id; struct ibv_send_wr sq_wr; struct ibv_recv_wr rq_wr; struct ibv_sge rdma_sgl; }; struct rdmaio_data { int is_client; enum rdma_io_mode rdma_protocol; char host[64]; struct sockaddr_in addr; struct ibv_recv_wr rq_wr; struct ibv_sge recv_sgl; struct rdma_info_blk recv_buf; struct ibv_mr *recv_mr; struct ibv_send_wr sq_wr; struct ibv_sge send_sgl; struct rdma_info_blk send_buf; struct ibv_mr *send_mr; struct ibv_comp_channel *channel; struct ibv_cq *cq; struct ibv_pd *pd; struct ibv_qp *qp; pthread_t cmthread; struct rdma_event_channel *cm_channel; struct rdma_cm_id *cm_id; struct rdma_cm_id *child_cm_id; int cq_event_num; struct remote_u *rmt_us; int rmt_nr; struct io_u **io_us_queued; int io_u_queued_nr; struct io_u **io_us_flight; int io_u_flight_nr; struct io_u **io_us_completed; int io_u_completed_nr; struct frand_state rand_state; }; static int client_recv(struct thread_data *td, struct ibv_wc *wc) { struct rdmaio_data *rd = td->io_ops_data; unsigned int max_bs; if (wc->byte_len != sizeof(rd->recv_buf)) { log_err("Received bogus data, size %d\n", wc->byte_len); return 1; } max_bs = max(td->o.max_bs[DDIR_READ], td->o.max_bs[DDIR_WRITE]); if (max_bs > ntohl(rd->recv_buf.max_bs)) { log_err("fio: Server's block size (%d) must be greater than or " "equal to the client's block size (%d)!\n", ntohl(rd->recv_buf.max_bs), max_bs); return 1; } /* store mr info for MEMORY semantic */ if ((rd->rdma_protocol == FIO_RDMA_MEM_WRITE) || (rd->rdma_protocol == FIO_RDMA_MEM_READ)) { /* struct flist_head *entry; */ int i = 0; rd->rmt_nr = ntohl(rd->recv_buf.nr); for (i = 0; i < rd->rmt_nr; i++) { rd->rmt_us[i].buf = __be64_to_cpu( rd->recv_buf.rmt_us[i].buf); rd->rmt_us[i].rkey = ntohl(rd->recv_buf.rmt_us[i].rkey); rd->rmt_us[i].size = ntohl(rd->recv_buf.rmt_us[i].size); dprint(FD_IO, "fio: Received rkey %x addr %" PRIx64 " len %d from peer\n", rd->rmt_us[i].rkey, rd->rmt_us[i].buf, rd->rmt_us[i].size); } } return 0; } static int server_recv(struct thread_data *td, struct ibv_wc *wc) { struct rdmaio_data *rd = td->io_ops_data; unsigned int max_bs; if (wc->wr_id == FIO_RDMA_MAX_IO_DEPTH) { rd->rdma_protocol = ntohl(rd->recv_buf.mode); /* CHANNEL semantic, do nothing */ if (rd->rdma_protocol == FIO_RDMA_CHA_SEND) rd->rdma_protocol = FIO_RDMA_CHA_RECV; max_bs = max(td->o.max_bs[DDIR_READ], td->o.max_bs[DDIR_WRITE]); if (max_bs < ntohl(rd->recv_buf.max_bs)) { log_err("fio: Server's block size (%d) must be greater than or " "equal to the client's block size (%d)!\n", ntohl(rd->recv_buf.max_bs), max_bs); return 1; } } return 0; } static int cq_event_handler(struct thread_data *td, enum ibv_wc_opcode opcode) { struct rdmaio_data *rd = td->io_ops_data; struct ibv_wc wc; struct rdma_io_u_data *r_io_u_d; int ret; int compevnum = 0; int i; while ((ret = ibv_poll_cq(rd->cq, 1, &wc)) == 1) { compevnum++; if (wc.status) { log_err("fio: cq completion status %d(%s)\n", wc.status, ibv_wc_status_str(wc.status)); return -1; } switch (wc.opcode) { case IBV_WC_RECV: if (rd->is_client == 1) ret = client_recv(td, &wc); else ret = server_recv(td, &wc); if (ret) return -1; if (wc.wr_id == FIO_RDMA_MAX_IO_DEPTH) break; for (i = 0; i < rd->io_u_flight_nr; i++) { r_io_u_d = rd->io_us_flight[i]->engine_data; if (wc.wr_id == r_io_u_d->rq_wr.wr_id) { rd->io_us_flight[i]->resid = rd->io_us_flight[i]->buflen - wc.byte_len; rd->io_us_flight[i]->error = 0; rd->io_us_completed[rd-> io_u_completed_nr] = rd->io_us_flight[i]; rd->io_u_completed_nr++; break; } } if (i == rd->io_u_flight_nr) log_err("fio: recv wr %" PRId64 " not found\n", wc.wr_id); else { /* put the last one into middle of the list */ rd->io_us_flight[i] = rd->io_us_flight[rd->io_u_flight_nr - 1]; rd->io_u_flight_nr--; } break; case IBV_WC_SEND: case IBV_WC_RDMA_WRITE: case IBV_WC_RDMA_READ: if (wc.wr_id == FIO_RDMA_MAX_IO_DEPTH) break; for (i = 0; i < rd->io_u_flight_nr; i++) { r_io_u_d = rd->io_us_flight[i]->engine_data; if (wc.wr_id == r_io_u_d->sq_wr.wr_id) { rd->io_us_completed[rd-> io_u_completed_nr] = rd->io_us_flight[i]; rd->io_u_completed_nr++; break; } } if (i == rd->io_u_flight_nr) log_err("fio: send wr %" PRId64 " not found\n", wc.wr_id); else { /* put the last one into middle of the list */ rd->io_us_flight[i] = rd->io_us_flight[rd->io_u_flight_nr - 1]; rd->io_u_flight_nr--; } break; default: log_info("fio: unknown completion event %d\n", wc.opcode); return -1; } rd->cq_event_num++; } if (ret) { log_err("fio: poll error %d\n", ret); return 1; } return compevnum; } /* * Return -1 for error and 'nr events' for a positive number * of events */ static int rdma_poll_wait(struct thread_data *td, enum ibv_wc_opcode opcode) { struct rdmaio_data *rd = td->io_ops_data; struct ibv_cq *ev_cq; void *ev_ctx; int ret; if (rd->cq_event_num > 0) { /* previous left */ rd->cq_event_num--; return 0; } again: if (ibv_get_cq_event(rd->channel, &ev_cq, &ev_ctx) != 0) { log_err("fio: Failed to get cq event!\n"); return -1; } if (ev_cq != rd->cq) { log_err("fio: Unknown CQ!\n"); return -1; } if (ibv_req_notify_cq(rd->cq, 0) != 0) { log_err("fio: Failed to set notify!\n"); return -1; } ret = cq_event_handler(td, opcode); if (ret == 0) goto again; ibv_ack_cq_events(rd->cq, ret); rd->cq_event_num--; return ret; } static int fio_rdmaio_setup_qp(struct thread_data *td) { struct rdmaio_data *rd = td->io_ops_data; struct ibv_qp_init_attr init_attr; int qp_depth = td->o.iodepth * 2; /* 2 times of io depth */ if (rd->is_client == 0) rd->pd = ibv_alloc_pd(rd->child_cm_id->verbs); else rd->pd = ibv_alloc_pd(rd->cm_id->verbs); if (rd->pd == NULL) { log_err("fio: ibv_alloc_pd fail: %m\n"); return 1; } if (rd->is_client == 0) rd->channel = ibv_create_comp_channel(rd->child_cm_id->verbs); else rd->channel = ibv_create_comp_channel(rd->cm_id->verbs); if (rd->channel == NULL) { log_err("fio: ibv_create_comp_channel fail: %m\n"); goto err1; } if (qp_depth < 16) qp_depth = 16; if (rd->is_client == 0) rd->cq = ibv_create_cq(rd->child_cm_id->verbs, qp_depth, rd, rd->channel, 0); else rd->cq = ibv_create_cq(rd->cm_id->verbs, qp_depth, rd, rd->channel, 0); if (rd->cq == NULL) { log_err("fio: ibv_create_cq failed: %m\n"); goto err2; } if (ibv_req_notify_cq(rd->cq, 0) != 0) { log_err("fio: ibv_req_notify_cq failed: %m\n"); goto err3; } /* create queue pair */ memset(&init_attr, 0, sizeof(init_attr)); init_attr.cap.max_send_wr = qp_depth; init_attr.cap.max_recv_wr = qp_depth; init_attr.cap.max_recv_sge = 1; init_attr.cap.max_send_sge = 1; init_attr.qp_type = IBV_QPT_RC; init_attr.send_cq = rd->cq; init_attr.recv_cq = rd->cq; if (rd->is_client == 0) { if (rdma_create_qp(rd->child_cm_id, rd->pd, &init_attr) != 0) { log_err("fio: rdma_create_qp failed: %m\n"); goto err3; } rd->qp = rd->child_cm_id->qp; } else { if (rdma_create_qp(rd->cm_id, rd->pd, &init_attr) != 0) { log_err("fio: rdma_create_qp failed: %m\n"); goto err3; } rd->qp = rd->cm_id->qp; } return 0; err3: ibv_destroy_cq(rd->cq); err2: ibv_destroy_comp_channel(rd->channel); err1: ibv_dealloc_pd(rd->pd); return 1; } static int fio_rdmaio_setup_control_msg_buffers(struct thread_data *td) { struct rdmaio_data *rd = td->io_ops_data; rd->recv_mr = ibv_reg_mr(rd->pd, &rd->recv_buf, sizeof(rd->recv_buf), IBV_ACCESS_LOCAL_WRITE); if (rd->recv_mr == NULL) { log_err("fio: recv_buf reg_mr failed: %m\n"); return 1; } rd->send_mr = ibv_reg_mr(rd->pd, &rd->send_buf, sizeof(rd->send_buf), 0); if (rd->send_mr == NULL) { log_err("fio: send_buf reg_mr failed: %m\n"); ibv_dereg_mr(rd->recv_mr); return 1; } /* setup work request */ /* recv wq */ rd->recv_sgl.addr = (uint64_t) (unsigned long)&rd->recv_buf; rd->recv_sgl.length = sizeof(rd->recv_buf); rd->recv_sgl.lkey = rd->recv_mr->lkey; rd->rq_wr.sg_list = &rd->recv_sgl; rd->rq_wr.num_sge = 1; rd->rq_wr.wr_id = FIO_RDMA_MAX_IO_DEPTH; /* send wq */ rd->send_sgl.addr = (uint64_t) (unsigned long)&rd->send_buf; rd->send_sgl.length = sizeof(rd->send_buf); rd->send_sgl.lkey = rd->send_mr->lkey; rd->sq_wr.opcode = IBV_WR_SEND; rd->sq_wr.send_flags = IBV_SEND_SIGNALED; rd->sq_wr.sg_list = &rd->send_sgl; rd->sq_wr.num_sge = 1; rd->sq_wr.wr_id = FIO_RDMA_MAX_IO_DEPTH; return 0; } static int get_next_channel_event(struct thread_data *td, struct rdma_event_channel *channel, enum rdma_cm_event_type wait_event) { struct rdmaio_data *rd = td->io_ops_data; struct rdma_cm_event *event; int ret; ret = rdma_get_cm_event(channel, &event); if (ret) { log_err("fio: rdma_get_cm_event: %d\n", ret); return 1; } if (event->event != wait_event) { log_err("fio: event is %s instead of %s\n", rdma_event_str(event->event), rdma_event_str(wait_event)); return 1; } switch (event->event) { case RDMA_CM_EVENT_CONNECT_REQUEST: rd->child_cm_id = event->id; break; default: break; } rdma_ack_cm_event(event); return 0; } static int fio_rdmaio_prep(struct thread_data *td, struct io_u *io_u) { struct rdmaio_data *rd = td->io_ops_data; struct rdma_io_u_data *r_io_u_d; r_io_u_d = io_u->engine_data; switch (rd->rdma_protocol) { case FIO_RDMA_MEM_WRITE: case FIO_RDMA_MEM_READ: r_io_u_d->rdma_sgl.addr = (uint64_t) (unsigned long)io_u->buf; r_io_u_d->rdma_sgl.lkey = io_u->mr->lkey; r_io_u_d->sq_wr.wr_id = r_io_u_d->wr_id; r_io_u_d->sq_wr.send_flags = IBV_SEND_SIGNALED; r_io_u_d->sq_wr.sg_list = &r_io_u_d->rdma_sgl; r_io_u_d->sq_wr.num_sge = 1; break; case FIO_RDMA_CHA_SEND: r_io_u_d->rdma_sgl.addr = (uint64_t) (unsigned long)io_u->buf; r_io_u_d->rdma_sgl.lkey = io_u->mr->lkey; r_io_u_d->rdma_sgl.length = io_u->buflen; r_io_u_d->sq_wr.wr_id = r_io_u_d->wr_id; r_io_u_d->sq_wr.opcode = IBV_WR_SEND; r_io_u_d->sq_wr.send_flags = IBV_SEND_SIGNALED; r_io_u_d->sq_wr.sg_list = &r_io_u_d->rdma_sgl; r_io_u_d->sq_wr.num_sge = 1; break; case FIO_RDMA_CHA_RECV: r_io_u_d->rdma_sgl.addr = (uint64_t) (unsigned long)io_u->buf; r_io_u_d->rdma_sgl.lkey = io_u->mr->lkey; r_io_u_d->rdma_sgl.length = io_u->buflen; r_io_u_d->rq_wr.wr_id = r_io_u_d->wr_id; r_io_u_d->rq_wr.sg_list = &r_io_u_d->rdma_sgl; r_io_u_d->rq_wr.num_sge = 1; break; default: log_err("fio: unknown rdma protocol - %d\n", rd->rdma_protocol); break; } return 0; } static struct io_u *fio_rdmaio_event(struct thread_data *td, int event) { struct rdmaio_data *rd = td->io_ops_data; struct io_u *io_u; int i; io_u = rd->io_us_completed[0]; for (i = 0; i < rd->io_u_completed_nr - 1; i++) rd->io_us_completed[i] = rd->io_us_completed[i + 1]; rd->io_u_completed_nr--; dprint_io_u(io_u, "fio_rdmaio_event"); return io_u; } static int fio_rdmaio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct rdmaio_data *rd = td->io_ops_data; enum ibv_wc_opcode comp_opcode; struct ibv_cq *ev_cq; void *ev_ctx; int ret, r = 0; comp_opcode = IBV_WC_RDMA_WRITE; switch (rd->rdma_protocol) { case FIO_RDMA_MEM_WRITE: comp_opcode = IBV_WC_RDMA_WRITE; break; case FIO_RDMA_MEM_READ: comp_opcode = IBV_WC_RDMA_READ; break; case FIO_RDMA_CHA_SEND: comp_opcode = IBV_WC_SEND; break; case FIO_RDMA_CHA_RECV: comp_opcode = IBV_WC_RECV; break; default: log_err("fio: unknown rdma protocol - %d\n", rd->rdma_protocol); break; } if (rd->cq_event_num > 0) { /* previous left */ rd->cq_event_num--; return 0; } again: if (ibv_get_cq_event(rd->channel, &ev_cq, &ev_ctx) != 0) { log_err("fio: Failed to get cq event!\n"); return -1; } if (ev_cq != rd->cq) { log_err("fio: Unknown CQ!\n"); return -1; } if (ibv_req_notify_cq(rd->cq, 0) != 0) { log_err("fio: Failed to set notify!\n"); return -1; } ret = cq_event_handler(td, comp_opcode); if (ret < 1) goto again; ibv_ack_cq_events(rd->cq, ret); r += ret; if (r < min) goto again; rd->cq_event_num -= r; return r; } static int fio_rdmaio_send(struct thread_data *td, struct io_u **io_us, unsigned int nr) { struct rdmaio_data *rd = td->io_ops_data; struct ibv_send_wr *bad_wr; #if 0 enum ibv_wc_opcode comp_opcode; comp_opcode = IBV_WC_RDMA_WRITE; #endif int i; long index; struct rdma_io_u_data *r_io_u_d; r_io_u_d = NULL; for (i = 0; i < nr; i++) { /* RDMA_WRITE or RDMA_READ */ switch (rd->rdma_protocol) { case FIO_RDMA_MEM_WRITE: /* compose work request */ r_io_u_d = io_us[i]->engine_data; index = __rand(&rd->rand_state) % rd->rmt_nr; r_io_u_d->sq_wr.opcode = IBV_WR_RDMA_WRITE; r_io_u_d->sq_wr.wr.rdma.rkey = rd->rmt_us[index].rkey; r_io_u_d->sq_wr.wr.rdma.remote_addr = \ rd->rmt_us[index].buf; r_io_u_d->sq_wr.sg_list->length = io_us[i]->buflen; break; case FIO_RDMA_MEM_READ: /* compose work request */ r_io_u_d = io_us[i]->engine_data; index = __rand(&rd->rand_state) % rd->rmt_nr; r_io_u_d->sq_wr.opcode = IBV_WR_RDMA_READ; r_io_u_d->sq_wr.wr.rdma.rkey = rd->rmt_us[index].rkey; r_io_u_d->sq_wr.wr.rdma.remote_addr = \ rd->rmt_us[index].buf; r_io_u_d->sq_wr.sg_list->length = io_us[i]->buflen; break; case FIO_RDMA_CHA_SEND: r_io_u_d = io_us[i]->engine_data; r_io_u_d->sq_wr.opcode = IBV_WR_SEND; r_io_u_d->sq_wr.send_flags = IBV_SEND_SIGNALED; break; default: log_err("fio: unknown rdma protocol - %d\n", rd->rdma_protocol); break; } if (ibv_post_send(rd->qp, &r_io_u_d->sq_wr, &bad_wr) != 0) { log_err("fio: ibv_post_send fail: %m\n"); return -1; } dprint_io_u(io_us[i], "fio_rdmaio_send"); } /* wait for completion rdma_poll_wait(td, comp_opcode); */ return i; } static int fio_rdmaio_recv(struct thread_data *td, struct io_u **io_us, unsigned int nr) { struct rdmaio_data *rd = td->io_ops_data; struct ibv_recv_wr *bad_wr; struct rdma_io_u_data *r_io_u_d; int i; i = 0; if (rd->rdma_protocol == FIO_RDMA_CHA_RECV) { /* post io_u into recv queue */ for (i = 0; i < nr; i++) { r_io_u_d = io_us[i]->engine_data; if (ibv_post_recv(rd->qp, &r_io_u_d->rq_wr, &bad_wr) != 0) { log_err("fio: ibv_post_recv fail: %m\n"); return 1; } } } else if ((rd->rdma_protocol == FIO_RDMA_MEM_READ) || (rd->rdma_protocol == FIO_RDMA_MEM_WRITE)) { /* re-post the rq_wr */ if (ibv_post_recv(rd->qp, &rd->rq_wr, &bad_wr) != 0) { log_err("fio: ibv_post_recv fail: %m\n"); return 1; } rdma_poll_wait(td, IBV_WC_RECV); dprint(FD_IO, "fio: recv FINISH message\n"); td->done = 1; return 0; } return i; } static enum fio_q_status fio_rdmaio_queue(struct thread_data *td, struct io_u *io_u) { struct rdmaio_data *rd = td->io_ops_data; fio_ro_check(td, io_u); if (rd->io_u_queued_nr == (int)td->o.iodepth) return FIO_Q_BUSY; rd->io_us_queued[rd->io_u_queued_nr] = io_u; rd->io_u_queued_nr++; dprint_io_u(io_u, "fio_rdmaio_queue"); return FIO_Q_QUEUED; } static void fio_rdmaio_queued(struct thread_data *td, struct io_u **io_us, unsigned int nr) { struct rdmaio_data *rd = td->io_ops_data; struct timespec now; unsigned int i; if (!fio_fill_issue_time(td)) return; fio_gettime(&now, NULL); for (i = 0; i < nr; i++) { struct io_u *io_u = io_us[i]; /* queued -> flight */ rd->io_us_flight[rd->io_u_flight_nr] = io_u; rd->io_u_flight_nr++; memcpy(&io_u->issue_time, &now, sizeof(now)); io_u_queued(td, io_u); } /* * only used for iolog */ if (td->o.read_iolog_file) memcpy(&td->last_issue, &now, sizeof(now)); } static int fio_rdmaio_commit(struct thread_data *td) { struct rdmaio_data *rd = td->io_ops_data; struct io_u **io_us; int ret; if (!rd->io_us_queued) return 0; io_us = rd->io_us_queued; do { /* RDMA_WRITE or RDMA_READ */ if (rd->is_client) ret = fio_rdmaio_send(td, io_us, rd->io_u_queued_nr); else if (!rd->is_client) ret = fio_rdmaio_recv(td, io_us, rd->io_u_queued_nr); if (ret > 0) { fio_rdmaio_queued(td, io_us, ret); io_u_mark_submit(td, ret); rd->io_u_queued_nr -= ret; io_us += ret; ret = 0; } else break; } while (rd->io_u_queued_nr); return ret; } static int fio_rdmaio_connect(struct thread_data *td, struct fio_file *f) { struct rdmaio_data *rd = td->io_ops_data; struct rdma_conn_param conn_param; struct ibv_send_wr *bad_wr; memset(&conn_param, 0, sizeof(conn_param)); conn_param.responder_resources = 1; conn_param.initiator_depth = 1; conn_param.retry_count = 10; if (rdma_connect(rd->cm_id, &conn_param) != 0) { log_err("fio: rdma_connect fail: %m\n"); return 1; } if (get_next_channel_event (td, rd->cm_channel, RDMA_CM_EVENT_ESTABLISHED) != 0) { log_err("fio: wait for RDMA_CM_EVENT_ESTABLISHED\n"); return 1; } /* send task request */ rd->send_buf.mode = htonl(rd->rdma_protocol); rd->send_buf.nr = htonl(td->o.iodepth); if (ibv_post_send(rd->qp, &rd->sq_wr, &bad_wr) != 0) { log_err("fio: ibv_post_send fail: %m\n"); return 1; } if (rdma_poll_wait(td, IBV_WC_SEND) < 0) return 1; /* wait for remote MR info from server side */ if (rdma_poll_wait(td, IBV_WC_RECV) < 0) return 1; /* In SEND/RECV test, it's a good practice to setup the iodepth of * of the RECV side deeper than that of the SEND side to * avoid RNR (receiver not ready) error. The * SEND side may send so many unsolicited message before * RECV side commits sufficient recv buffers into recv queue. * This may lead to RNR error. Here, SEND side pauses for a while * during which RECV side commits sufficient recv buffers. */ usleep(500000); return 0; } static int fio_rdmaio_accept(struct thread_data *td, struct fio_file *f) { struct rdmaio_data *rd = td->io_ops_data; struct rdma_conn_param conn_param; struct ibv_send_wr *bad_wr; int ret = 0; /* rdma_accept() - then wait for accept success */ memset(&conn_param, 0, sizeof(conn_param)); conn_param.responder_resources = 1; conn_param.initiator_depth = 1; if (rdma_accept(rd->child_cm_id, &conn_param) != 0) { log_err("fio: rdma_accept: %m\n"); return 1; } if (get_next_channel_event (td, rd->cm_channel, RDMA_CM_EVENT_ESTABLISHED) != 0) { log_err("fio: wait for RDMA_CM_EVENT_ESTABLISHED\n"); return 1; } /* wait for request */ ret = rdma_poll_wait(td, IBV_WC_RECV) < 0; if (ibv_post_send(rd->qp, &rd->sq_wr, &bad_wr) != 0) { log_err("fio: ibv_post_send fail: %m\n"); return 1; } if (rdma_poll_wait(td, IBV_WC_SEND) < 0) return 1; return ret; } static int fio_rdmaio_open_file(struct thread_data *td, struct fio_file *f) { if (td_read(td)) return fio_rdmaio_accept(td, f); else return fio_rdmaio_connect(td, f); } static int fio_rdmaio_close_file(struct thread_data *td, struct fio_file *f) { struct rdmaio_data *rd = td->io_ops_data; struct ibv_send_wr *bad_wr; /* unregister rdma buffer */ /* * Client sends notification to the server side */ /* refer to: http://linux.die.net/man/7/rdma_cm */ if ((rd->is_client == 1) && ((rd->rdma_protocol == FIO_RDMA_MEM_WRITE) || (rd->rdma_protocol == FIO_RDMA_MEM_READ))) { if (ibv_post_send(rd->qp, &rd->sq_wr, &bad_wr) != 0) { log_err("fio: ibv_post_send fail: %m\n"); return 1; } dprint(FD_IO, "fio: close information sent success\n"); rdma_poll_wait(td, IBV_WC_SEND); } if (rd->is_client == 1) rdma_disconnect(rd->cm_id); else { rdma_disconnect(rd->child_cm_id); #if 0 rdma_disconnect(rd->cm_id); #endif } #if 0 if (get_next_channel_event(td, rd->cm_channel, RDMA_CM_EVENT_DISCONNECTED) != 0) { log_err("fio: wait for RDMA_CM_EVENT_DISCONNECTED\n"); return 1; } #endif ibv_destroy_cq(rd->cq); ibv_destroy_qp(rd->qp); if (rd->is_client == 1) rdma_destroy_id(rd->cm_id); else { rdma_destroy_id(rd->child_cm_id); rdma_destroy_id(rd->cm_id); } ibv_destroy_comp_channel(rd->channel); ibv_dealloc_pd(rd->pd); return 0; } static int aton(struct thread_data *td, const char *host, struct sockaddr_in *addr) { if (inet_aton(host, &addr->sin_addr) != 1) { struct hostent *hent; hent = gethostbyname(host); if (!hent) { td_verror(td, errno, "gethostbyname"); return 1; } memcpy(&addr->sin_addr, hent->h_addr, 4); } return 0; } static int fio_rdmaio_setup_connect(struct thread_data *td, const char *host, unsigned short port) { struct rdmaio_data *rd = td->io_ops_data; struct rdmaio_options *o = td->eo; struct sockaddr_storage addrb; struct ibv_recv_wr *bad_wr; int err; rd->addr.sin_family = AF_INET; rd->addr.sin_port = htons(port); err = aton(td, host, &rd->addr); if (err) return err; /* resolve route */ if (o->bindname && strlen(o->bindname)) { addrb.ss_family = AF_INET; err = aton(td, o->bindname, (struct sockaddr_in *)&addrb); if (err) return err; err = rdma_resolve_addr(rd->cm_id, (struct sockaddr *)&addrb, (struct sockaddr *)&rd->addr, 2000); } else { err = rdma_resolve_addr(rd->cm_id, NULL, (struct sockaddr *)&rd->addr, 2000); } if (err != 0) { log_err("fio: rdma_resolve_addr: %d\n", err); return 1; } err = get_next_channel_event(td, rd->cm_channel, RDMA_CM_EVENT_ADDR_RESOLVED); if (err != 0) { log_err("fio: get_next_channel_event: %d\n", err); return 1; } /* resolve route */ err = rdma_resolve_route(rd->cm_id, 2000); if (err != 0) { log_err("fio: rdma_resolve_route: %d\n", err); return 1; } err = get_next_channel_event(td, rd->cm_channel, RDMA_CM_EVENT_ROUTE_RESOLVED); if (err != 0) { log_err("fio: get_next_channel_event: %d\n", err); return 1; } /* create qp and buffer */ if (fio_rdmaio_setup_qp(td) != 0) return 1; if (fio_rdmaio_setup_control_msg_buffers(td) != 0) return 1; /* post recv buf */ err = ibv_post_recv(rd->qp, &rd->rq_wr, &bad_wr); if (err != 0) { log_err("fio: ibv_post_recv fail: %d\n", err); return 1; } return 0; } static int fio_rdmaio_setup_listen(struct thread_data *td, short port) { struct rdmaio_data *rd = td->io_ops_data; struct rdmaio_options *o = td->eo; struct ibv_recv_wr *bad_wr; int state = td->runstate; td_set_runstate(td, TD_SETTING_UP); rd->addr.sin_family = AF_INET; rd->addr.sin_port = htons(port); if (!o->bindname || !strlen(o->bindname)) rd->addr.sin_addr.s_addr = htonl(INADDR_ANY); else rd->addr.sin_addr.s_addr = htonl(*o->bindname); /* rdma_listen */ if (rdma_bind_addr(rd->cm_id, (struct sockaddr *)&rd->addr) != 0) { log_err("fio: rdma_bind_addr fail: %m\n"); return 1; } if (rdma_listen(rd->cm_id, 3) != 0) { log_err("fio: rdma_listen fail: %m\n"); return 1; } log_info("fio: waiting for connection\n"); /* wait for CONNECT_REQUEST */ if (get_next_channel_event (td, rd->cm_channel, RDMA_CM_EVENT_CONNECT_REQUEST) != 0) { log_err("fio: wait for RDMA_CM_EVENT_CONNECT_REQUEST\n"); return 1; } if (fio_rdmaio_setup_qp(td) != 0) return 1; if (fio_rdmaio_setup_control_msg_buffers(td) != 0) return 1; /* post recv buf */ if (ibv_post_recv(rd->qp, &rd->rq_wr, &bad_wr) != 0) { log_err("fio: ibv_post_recv fail: %m\n"); return 1; } td_set_runstate(td, state); return 0; } static int check_set_rlimits(struct thread_data *td) { #ifdef CONFIG_RLIMIT_MEMLOCK struct rlimit rl; /* check RLIMIT_MEMLOCK */ if (getrlimit(RLIMIT_MEMLOCK, &rl) != 0) { log_err("fio: getrlimit fail: %d(%s)\n", errno, strerror(errno)); return 1; } /* soft limit */ if ((rl.rlim_cur != RLIM_INFINITY) && (rl.rlim_cur < td->orig_buffer_size)) { log_err("fio: soft RLIMIT_MEMLOCK is: %" PRId64 "\n", rl.rlim_cur); log_err("fio: total block size is: %zd\n", td->orig_buffer_size); /* try to set larger RLIMIT_MEMLOCK */ rl.rlim_cur = rl.rlim_max; if (setrlimit(RLIMIT_MEMLOCK, &rl) != 0) { log_err("fio: setrlimit fail: %d(%s)\n", errno, strerror(errno)); log_err("fio: you may try enlarge MEMLOCK by root\n"); log_err("# ulimit -l unlimited\n"); return 1; } } #endif return 0; } static int compat_options(struct thread_data *td) { // The original RDMA engine had an ugly / separator // on the filename for it's options. This function // retains backwards compatibility with it. Note we do not // support setting the bindname option is this legacy mode. struct rdmaio_options *o = td->eo; char *modep, *portp; char *filename = td->o.filename; if (!filename) return 0; portp = strchr(filename, '/'); if (portp == NULL) return 0; *portp = '\0'; portp++; o->port = strtol(portp, NULL, 10); if (!o->port || o->port > 65535) goto bad_host; modep = strchr(portp, '/'); if (modep != NULL) { *modep = '\0'; modep++; } if (modep) { if (!strncmp("rdma_write", modep, strlen(modep)) || !strncmp("RDMA_WRITE", modep, strlen(modep))) o->verb = FIO_RDMA_MEM_WRITE; else if (!strncmp("rdma_read", modep, strlen(modep)) || !strncmp("RDMA_READ", modep, strlen(modep))) o->verb = FIO_RDMA_MEM_READ; else if (!strncmp("send", modep, strlen(modep)) || !strncmp("SEND", modep, strlen(modep))) o->verb = FIO_RDMA_CHA_SEND; else goto bad_host; } else o->verb = FIO_RDMA_MEM_WRITE; return 0; bad_host: log_err("fio: bad rdma host/port/protocol: %s\n", td->o.filename); return 1; } static int fio_rdmaio_init(struct thread_data *td) { struct rdmaio_data *rd = td->io_ops_data; struct rdmaio_options *o = td->eo; int ret; if (td_rw(td)) { log_err("fio: rdma connections must be read OR write\n"); return 1; } if (td_random(td)) { log_err("fio: RDMA network IO can't be random\n"); return 1; } if (compat_options(td)) return 1; if (!o->port) { log_err("fio: no port has been specified which is required " "for the rdma engine\n"); return 1; } if (check_set_rlimits(td)) return 1; rd->rdma_protocol = o->verb; rd->cq_event_num = 0; rd->cm_channel = rdma_create_event_channel(); if (!rd->cm_channel) { log_err("fio: rdma_create_event_channel fail: %m\n"); return 1; } ret = rdma_create_id(rd->cm_channel, &rd->cm_id, rd, RDMA_PS_TCP); if (ret) { log_err("fio: rdma_create_id fail: %m\n"); return 1; } if ((rd->rdma_protocol == FIO_RDMA_MEM_WRITE) || (rd->rdma_protocol == FIO_RDMA_MEM_READ)) { rd->rmt_us = calloc(FIO_RDMA_MAX_IO_DEPTH, sizeof(struct remote_u)); rd->rmt_nr = 0; } rd->io_us_queued = calloc(td->o.iodepth, sizeof(struct io_u *)); rd->io_u_queued_nr = 0; rd->io_us_flight = calloc(td->o.iodepth, sizeof(struct io_u *)); rd->io_u_flight_nr = 0; rd->io_us_completed = calloc(td->o.iodepth, sizeof(struct io_u *)); rd->io_u_completed_nr = 0; if (td_read(td)) { /* READ as the server */ rd->is_client = 0; td->flags |= TD_F_NO_PROGRESS; /* server rd->rdma_buf_len will be setup after got request */ ret = fio_rdmaio_setup_listen(td, o->port); } else { /* WRITE as the client */ rd->is_client = 1; ret = fio_rdmaio_setup_connect(td, td->o.filename, o->port); } return ret; } static int fio_rdmaio_post_init(struct thread_data *td) { unsigned int max_bs; int i; struct rdmaio_data *rd = td->io_ops_data; max_bs = max(td->o.max_bs[DDIR_READ], td->o.max_bs[DDIR_WRITE]); rd->send_buf.max_bs = htonl(max_bs); /* register each io_u in the free list */ for (i = 0; i < td->io_u_freelist.nr; i++) { struct io_u *io_u = td->io_u_freelist.io_us[i]; io_u->engine_data = calloc(1, sizeof(struct rdma_io_u_data)); ((struct rdma_io_u_data *)io_u->engine_data)->wr_id = i; io_u->mr = ibv_reg_mr(rd->pd, io_u->buf, max_bs, IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_READ | IBV_ACCESS_REMOTE_WRITE); if (io_u->mr == NULL) { log_err("fio: ibv_reg_mr io_u failed: %m\n"); return 1; } rd->send_buf.rmt_us[i].buf = cpu_to_be64((uint64_t) (unsigned long)io_u->buf); rd->send_buf.rmt_us[i].rkey = htonl(io_u->mr->rkey); rd->send_buf.rmt_us[i].size = htonl(max_bs); #if 0 log_info("fio: Send rkey %x addr %" PRIx64 " len %d to client\n", io_u->mr->rkey, io_u->buf, max_bs); */ #endif } rd->send_buf.nr = htonl(i); return 0; } static void fio_rdmaio_cleanup(struct thread_data *td) { struct rdmaio_data *rd = td->io_ops_data; if (rd) free(rd); } static int fio_rdmaio_setup(struct thread_data *td) { struct rdmaio_data *rd; if (!td->files_index) { add_file(td, td->o.filename ?: "rdma", 0, 0); td->o.nr_files = td->o.nr_files ?: 1; td->o.open_files++; } if (!td->io_ops_data) { rd = calloc(1, sizeof(*rd)); init_rand_seed(&rd->rand_state, (unsigned int) GOLDEN_RATIO_64, 0); td->io_ops_data = rd; } return 0; } FIO_STATIC struct ioengine_ops ioengine = { .name = "rdma", .version = FIO_IOOPS_VERSION, .setup = fio_rdmaio_setup, .init = fio_rdmaio_init, .post_init = fio_rdmaio_post_init, .prep = fio_rdmaio_prep, .queue = fio_rdmaio_queue, .commit = fio_rdmaio_commit, .getevents = fio_rdmaio_getevents, .event = fio_rdmaio_event, .cleanup = fio_rdmaio_cleanup, .open_file = fio_rdmaio_open_file, .close_file = fio_rdmaio_close_file, .flags = FIO_DISKLESSIO | FIO_UNIDIR | FIO_PIPEIO | FIO_ASYNCIO_SETS_ISSUE_TIME, .options = options, .option_struct_size = sizeof(struct rdmaio_options), }; static void fio_init fio_rdmaio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_rdmaio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/sg.c000066400000000000000000001072201476262051600144450ustar00rootroot00000000000000/* * sg engine * * IO engine that uses the Linux SG v3 interface to talk to SCSI devices * * This ioengine can operate in two modes: * sync with block devices (/dev/sdX) or * with character devices (/dev/sgY) with direct=1 or sync=1 * async with character devices with direct=0 and sync=0 * * What value does queue() return for the different cases? * queue() return value * In sync mode: * /dev/sdX RWT FIO_Q_COMPLETED * /dev/sgY RWT FIO_Q_COMPLETED * with direct=1 or sync=1 * * In async mode: * /dev/sgY RWT FIO_Q_QUEUED * direct=0 and sync=0 * * Because FIO_SYNCIO is set for this ioengine td_io_queue() will fill in * issue_time *before* each IO is sent to queue() * * Where are the IO counting functions called for the different cases? * * In sync mode: * /dev/sdX (commit==NULL) * RWT * io_u_mark_depth() called in td_io_queue() * io_u_mark_submit/complete() called in td_io_queue() * issue_time set in td_io_queue() * * /dev/sgY with direct=1 or sync=1 (commit does nothing) * RWT * io_u_mark_depth() called in td_io_queue() * io_u_mark_submit/complete() called in queue() * issue_time set in td_io_queue() * * In async mode: * /dev/sgY with direct=0 and sync=0 * RW: read and write operations are submitted in queue() * io_u_mark_depth() called in td_io_commit() * io_u_mark_submit() called in queue() * issue_time set in td_io_queue() * T: trim operations are queued in queue() and submitted in commit() * io_u_mark_depth() called in td_io_commit() * io_u_mark_submit() called in commit() * issue_time set in commit() * */ #include #include #include #include #include #include "../fio.h" #include "../optgroup.h" #ifdef FIO_HAVE_SGIO #ifndef SGV4_FLAG_HIPRI #define SGV4_FLAG_HIPRI 0x800 #endif enum { FIO_SG_WRITE = 1, FIO_SG_WRITE_VERIFY, FIO_SG_WRITE_SAME, FIO_SG_WRITE_SAME_NDOB, FIO_SG_WRITE_STREAM, FIO_SG_VERIFY_BYTCHK_00, FIO_SG_VERIFY_BYTCHK_01, FIO_SG_VERIFY_BYTCHK_11, }; struct sg_options { void *pad; unsigned int hipri; unsigned int readfua; unsigned int writefua; unsigned int write_mode; uint16_t stream_id; }; static struct fio_option options[] = { { .name = "hipri", .lname = "High Priority", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct sg_options, hipri), .help = "Use polled IO completions", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_SG, }, { .name = "readfua", .lname = "sg engine read fua flag support", .type = FIO_OPT_BOOL, .off1 = offsetof(struct sg_options, readfua), .help = "Set FUA flag (force unit access) for all Read operations", .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_SG, }, { .name = "writefua", .lname = "sg engine write fua flag support", .type = FIO_OPT_BOOL, .off1 = offsetof(struct sg_options, writefua), .help = "Set FUA flag (force unit access) for all Write operations", .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_SG, }, { .name = "sg_write_mode", .lname = "specify sg write mode", .type = FIO_OPT_STR, .off1 = offsetof(struct sg_options, write_mode), .help = "Specify SCSI WRITE mode", .def = "write", .posval = { { .ival = "write", .oval = FIO_SG_WRITE, .help = "Issue standard SCSI WRITE commands", }, { .ival = "write_and_verify", .oval = FIO_SG_WRITE_VERIFY, .help = "Issue SCSI WRITE AND VERIFY commands", }, { .ival = "verify", .oval = FIO_SG_WRITE_VERIFY, .help = "Issue SCSI WRITE AND VERIFY commands. This " "option is deprecated. Use write_and_verify instead.", }, { .ival = "write_same", .oval = FIO_SG_WRITE_SAME, .help = "Issue SCSI WRITE SAME commands", }, { .ival = "same", .oval = FIO_SG_WRITE_SAME, .help = "Issue SCSI WRITE SAME commands. This " "option is deprecated. Use write_same instead.", }, { .ival = "write_same_ndob", .oval = FIO_SG_WRITE_SAME_NDOB, .help = "Issue SCSI WRITE SAME(16) commands with NDOB flag set", }, { .ival = "verify_bytchk_00", .oval = FIO_SG_VERIFY_BYTCHK_00, .help = "Issue SCSI VERIFY commands with BYTCHK set to 00", }, { .ival = "verify_bytchk_01", .oval = FIO_SG_VERIFY_BYTCHK_01, .help = "Issue SCSI VERIFY commands with BYTCHK set to 01", }, { .ival = "verify_bytchk_11", .oval = FIO_SG_VERIFY_BYTCHK_11, .help = "Issue SCSI VERIFY commands with BYTCHK set to 11", }, { .ival = "write_stream", .oval = FIO_SG_WRITE_STREAM, .help = "Issue SCSI WRITE STREAM(16) commands", }, }, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_SG, }, { .name = "stream_id", .lname = "stream id for WRITE STREAM(16) commands", .type = FIO_OPT_INT, .off1 = offsetof(struct sg_options, stream_id), .help = "Stream ID for WRITE STREAM(16) commands", .def = "0", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_SG, }, { .name = NULL, }, }; #define MAX_10B_LBA 0xFFFFFFFFULL #define SCSI_TIMEOUT_MS 30000 // 30 second timeout; currently no method to override #define MAX_SB 64 // sense block maximum return size /* #define FIO_SGIO_DEBUG */ struct sgio_cmd { unsigned char cdb[16]; // enhanced from 10 to support 16 byte commands unsigned char sb[MAX_SB]; // add sense block to commands int nr; }; struct sgio_trim { uint8_t *unmap_param; unsigned int unmap_range_count; struct io_u **trim_io_us; }; struct sgio_data { struct sgio_cmd *cmds; struct io_u **events; struct pollfd *pfds; int *fd_flags; void *sgbuf; unsigned int bs; int type_checked; struct sgio_trim **trim_queues; int current_queue; #ifdef FIO_SGIO_DEBUG unsigned int *trim_queue_map; #endif }; static inline uint16_t sgio_get_be16(uint8_t *buf) { return be16_to_cpu(*((uint16_t *) buf)); } static inline uint32_t sgio_get_be32(uint8_t *buf) { return be32_to_cpu(*((uint32_t *) buf)); } static inline uint64_t sgio_get_be64(uint8_t *buf) { return be64_to_cpu(*((uint64_t *) buf)); } static inline void sgio_set_be16(uint16_t val, uint8_t *buf) { uint16_t t = cpu_to_be16(val); memcpy(buf, &t, sizeof(uint16_t)); } static inline void sgio_set_be32(uint32_t val, uint8_t *buf) { uint32_t t = cpu_to_be32(val); memcpy(buf, &t, sizeof(uint32_t)); } static inline void sgio_set_be64(uint64_t val, uint8_t *buf) { uint64_t t = cpu_to_be64(val); memcpy(buf, &t, sizeof(uint64_t)); } static inline bool sgio_unbuffered(struct thread_data *td) { return (td->o.odirect || td->o.sync_io); } static void sgio_hdr_init(struct sgio_data *sd, struct sg_io_hdr *hdr, struct io_u *io_u, int fs) { struct sgio_cmd *sc = &sd->cmds[io_u->index]; memset(hdr, 0, sizeof(*hdr)); memset(sc->cdb, 0, sizeof(sc->cdb)); hdr->interface_id = 'S'; hdr->cmdp = sc->cdb; hdr->cmd_len = sizeof(sc->cdb); hdr->sbp = sc->sb; hdr->mx_sb_len = sizeof(sc->sb); hdr->pack_id = io_u->index; hdr->usr_ptr = io_u; hdr->timeout = SCSI_TIMEOUT_MS; if (fs) { hdr->dxferp = io_u->xfer_buf; hdr->dxfer_len = io_u->xfer_buflen; } } static int pollin_events(struct pollfd *pfds, int fds) { int i; for (i = 0; i < fds; i++) if (pfds[i].revents & POLLIN) return 1; return 0; } static int sg_fd_read(int fd, void *data, size_t size) { int err = 0; while (size) { ssize_t ret; ret = read(fd, data, size); if (ret < 0) { if (errno == EAGAIN || errno == EINTR) continue; err = errno; break; } else if (!ret) break; else { data += ret; size -= ret; } } if (err) return err; if (size) return EAGAIN; return 0; } static int fio_sgio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec fio_unused *t) { struct sgio_data *sd = td->io_ops_data; int left = max, eventNum, ret, r = 0, trims = 0; void *buf = sd->sgbuf; unsigned int i, j, events; struct fio_file *f; struct io_u *io_u; /* * Fill in the file descriptors */ for_each_file(td, f, i) { /* * don't block for min events == 0 */ if (!min) sd->fd_flags[i] = fio_set_fd_nonblocking(f->fd, "sg"); else sd->fd_flags[i] = -1; sd->pfds[i].fd = f->fd; sd->pfds[i].events = POLLIN; } /* ** There are two counters here: ** - number of SCSI commands completed ** - number of io_us completed ** ** These are the same with reads and writes, but ** could differ with trim/unmap commands because ** a single unmap can include multiple io_us */ while (left > 0) { char *p; dprint(FD_IO, "sgio_getevents: sd %p: min=%d, max=%d, left=%d\n", sd, min, max, left); do { if (!min) break; ret = poll(sd->pfds, td->o.nr_files, -1); if (ret < 0) { if (!r) r = -errno; td_verror(td, errno, "poll"); break; } else if (!ret) continue; if (pollin_events(sd->pfds, td->o.nr_files)) break; } while (1); if (r < 0) break; re_read: p = buf; events = 0; for_each_file(td, f, i) { for (eventNum = 0; eventNum < left; eventNum++) { ret = sg_fd_read(f->fd, p, sizeof(struct sg_io_hdr)); dprint(FD_IO, "sgio_getevents: sg_fd_read ret: %d\n", ret); if (ret) { r = -ret; td_verror(td, r, "sg_read"); break; } io_u = ((struct sg_io_hdr *)p)->usr_ptr; if (io_u->ddir == DDIR_TRIM) { events += sd->trim_queues[io_u->index]->unmap_range_count; eventNum += sd->trim_queues[io_u->index]->unmap_range_count - 1; } else events++; p += sizeof(struct sg_io_hdr); dprint(FD_IO, "sgio_getevents: events: %d, eventNum: %d, left: %d\n", events, eventNum, left); } } if (r < 0 && !events) break; if (!events) { usleep(1000); goto re_read; } left -= events; r += events; for (i = 0; i < events; i++) { struct sg_io_hdr *hdr = (struct sg_io_hdr *) buf + i; sd->events[i + trims] = hdr->usr_ptr; io_u = (struct io_u *)(hdr->usr_ptr); if (hdr->info & SG_INFO_CHECK) { /* record if an io error occurred, ignore resid */ memcpy(&io_u->hdr, hdr, sizeof(struct sg_io_hdr)); sd->events[i + trims]->error = EIO; } if (io_u->ddir == DDIR_TRIM) { struct sgio_trim *st = sd->trim_queues[io_u->index]; #ifdef FIO_SGIO_DEBUG assert(st->trim_io_us[0] == io_u); assert(sd->trim_queue_map[io_u->index] == io_u->index); dprint(FD_IO, "sgio_getevents: reaping %d io_us from trim queue %d\n", st->unmap_range_count, io_u->index); dprint(FD_IO, "sgio_getevents: reaped io_u %d and stored in events[%d]\n", io_u->index, i+trims); #endif for (j = 1; j < st->unmap_range_count; j++) { ++trims; sd->events[i + trims] = st->trim_io_us[j]; #ifdef FIO_SGIO_DEBUG dprint(FD_IO, "sgio_getevents: reaped io_u %d and stored in events[%d]\n", st->trim_io_us[j]->index, i+trims); assert(sd->trim_queue_map[st->trim_io_us[j]->index] == io_u->index); #endif if (hdr->info & SG_INFO_CHECK) { /* record if an io error occurred, ignore resid */ memcpy(&st->trim_io_us[j]->hdr, hdr, sizeof(struct sg_io_hdr)); sd->events[i + trims]->error = EIO; } } events -= st->unmap_range_count - 1; st->unmap_range_count = 0; } } } if (!min) { for_each_file(td, f, i) { if (sd->fd_flags[i] == -1) continue; if (fcntl(f->fd, F_SETFL, sd->fd_flags[i]) < 0) log_err("fio: sg failed to restore fcntl flags: %s\n", strerror(errno)); } } return r; } static enum fio_q_status fio_sgio_ioctl_doio(struct thread_data *td, struct fio_file *f, struct io_u *io_u) { struct sgio_data *sd = td->io_ops_data; struct sg_io_hdr *hdr = &io_u->hdr; int ret; sd->events[0] = io_u; ret = ioctl(f->fd, SG_IO, hdr); if (ret < 0) return ret; /* record if an io error occurred */ if (hdr->info & SG_INFO_CHECK) io_u->error = EIO; return FIO_Q_COMPLETED; } static enum fio_q_status fio_sgio_rw_doio(struct thread_data *td, struct fio_file *f, struct io_u *io_u, int do_sync) { struct sg_io_hdr *hdr = &io_u->hdr; int ret; ret = write(f->fd, hdr, sizeof(*hdr)); if (ret < 0) return ret; if (do_sync) { /* * We can't just read back the first command that completes * and assume it's the one we need, it could be any command * that is inflight. */ do { struct io_u *__io_u; ret = read(f->fd, hdr, sizeof(*hdr)); if (ret < 0) return ret; __io_u = hdr->usr_ptr; /* record if an io error occurred */ if (hdr->info & SG_INFO_CHECK) __io_u->error = EIO; if (__io_u == io_u) break; if (io_u_sync_complete(td, __io_u)) break; } while (1); return FIO_Q_COMPLETED; } return FIO_Q_QUEUED; } static enum fio_q_status fio_sgio_doio(struct thread_data *td, struct io_u *io_u, int do_sync) { struct fio_file *f = io_u->file; enum fio_q_status ret; if (f->filetype == FIO_TYPE_BLOCK) { ret = fio_sgio_ioctl_doio(td, f, io_u); if (io_u->error) td_verror(td, io_u->error, __func__); } else { ret = fio_sgio_rw_doio(td, f, io_u, do_sync); if (io_u->error && do_sync) td_verror(td, io_u->error, __func__); } return ret; } static void fio_sgio_rw_lba(struct sg_io_hdr *hdr, unsigned long long lba, unsigned long long nr_blocks, bool override16) { if (lba < MAX_10B_LBA && !override16) { sgio_set_be32((uint32_t) lba, &hdr->cmdp[2]); sgio_set_be16((uint16_t) nr_blocks, &hdr->cmdp[7]); } else { sgio_set_be64(lba, &hdr->cmdp[2]); sgio_set_be32((uint32_t) nr_blocks, &hdr->cmdp[10]); } return; } static int fio_sgio_prep(struct thread_data *td, struct io_u *io_u) { struct sg_io_hdr *hdr = &io_u->hdr; struct sg_options *o = td->eo; struct sgio_data *sd = td->io_ops_data; unsigned long long nr_blocks, lba; int offset; if (io_u->xfer_buflen & (sd->bs - 1)) { log_err("read/write not sector aligned\n"); return EINVAL; } nr_blocks = io_u->xfer_buflen / sd->bs; lba = io_u->offset / sd->bs; if (io_u->ddir == DDIR_READ) { sgio_hdr_init(sd, hdr, io_u, 1); hdr->dxfer_direction = SG_DXFER_FROM_DEV; if (lba < MAX_10B_LBA) hdr->cmdp[0] = 0x28; // read(10) else hdr->cmdp[0] = 0x88; // read(16) if (o->hipri) hdr->flags |= SGV4_FLAG_HIPRI; if (o->readfua) hdr->cmdp[1] |= 0x08; fio_sgio_rw_lba(hdr, lba, nr_blocks, false); } else if (io_u->ddir == DDIR_WRITE) { sgio_hdr_init(sd, hdr, io_u, 1); hdr->dxfer_direction = SG_DXFER_TO_DEV; switch(o->write_mode) { case FIO_SG_WRITE: if (lba < MAX_10B_LBA) hdr->cmdp[0] = 0x2a; // write(10) else hdr->cmdp[0] = 0x8a; // write(16) if (o->hipri) hdr->flags |= SGV4_FLAG_HIPRI; if (o->writefua) hdr->cmdp[1] |= 0x08; break; case FIO_SG_WRITE_VERIFY: if (lba < MAX_10B_LBA) hdr->cmdp[0] = 0x2e; // write and verify(10) else hdr->cmdp[0] = 0x8e; // write and verify(16) break; // BYTCHK is disabled by virtue of the memset in sgio_hdr_init case FIO_SG_WRITE_SAME: hdr->dxfer_len = sd->bs; if (lba < MAX_10B_LBA) hdr->cmdp[0] = 0x41; // write same(10) else hdr->cmdp[0] = 0x93; // write same(16) break; case FIO_SG_WRITE_SAME_NDOB: hdr->cmdp[0] = 0x93; // write same(16) hdr->cmdp[1] |= 0x1; // no data output buffer hdr->dxfer_len = 0; break; case FIO_SG_WRITE_STREAM: hdr->cmdp[0] = 0x9a; // write stream (16) if (o->writefua) hdr->cmdp[1] |= 0x08; sgio_set_be64(lba, &hdr->cmdp[2]); sgio_set_be16((uint16_t) io_u->file->engine_pos, &hdr->cmdp[10]); sgio_set_be16((uint16_t) nr_blocks, &hdr->cmdp[12]); break; case FIO_SG_VERIFY_BYTCHK_00: if (lba < MAX_10B_LBA) hdr->cmdp[0] = 0x2f; // VERIFY(10) else hdr->cmdp[0] = 0x8f; // VERIFY(16) hdr->dxfer_len = 0; break; case FIO_SG_VERIFY_BYTCHK_01: if (lba < MAX_10B_LBA) hdr->cmdp[0] = 0x2f; // VERIFY(10) else hdr->cmdp[0] = 0x8f; // VERIFY(16) hdr->cmdp[1] |= 0x02; // BYTCHK = 01b break; case FIO_SG_VERIFY_BYTCHK_11: if (lba < MAX_10B_LBA) hdr->cmdp[0] = 0x2f; // VERIFY(10) else hdr->cmdp[0] = 0x8f; // VERIFY(16) hdr->cmdp[1] |= 0x06; // BYTCHK = 11b hdr->dxfer_len = sd->bs; break; }; if (o->write_mode != FIO_SG_WRITE_STREAM) fio_sgio_rw_lba(hdr, lba, nr_blocks, o->write_mode == FIO_SG_WRITE_SAME_NDOB); } else if (io_u->ddir == DDIR_TRIM) { struct sgio_trim *st; if (sd->current_queue == -1) { sgio_hdr_init(sd, hdr, io_u, 0); hdr->cmd_len = 10; hdr->dxfer_direction = SG_DXFER_TO_DEV; hdr->cmdp[0] = 0x42; // unmap sd->current_queue = io_u->index; st = sd->trim_queues[sd->current_queue]; hdr->dxferp = st->unmap_param; #ifdef FIO_SGIO_DEBUG assert(sd->trim_queues[io_u->index]->unmap_range_count == 0); dprint(FD_IO, "sg: creating new queue based on io_u %d\n", io_u->index); #endif } else st = sd->trim_queues[sd->current_queue]; dprint(FD_IO, "sg: adding io_u %d to trim queue %d\n", io_u->index, sd->current_queue); st->trim_io_us[st->unmap_range_count] = io_u; #ifdef FIO_SGIO_DEBUG sd->trim_queue_map[io_u->index] = sd->current_queue; #endif offset = 8 + 16 * st->unmap_range_count; sgio_set_be64(lba, &st->unmap_param[offset]); sgio_set_be32((uint32_t) nr_blocks, &st->unmap_param[offset + 8]); st->unmap_range_count++; } else if (ddir_sync(io_u->ddir)) { sgio_hdr_init(sd, hdr, io_u, 0); hdr->dxfer_direction = SG_DXFER_NONE; if (lba < MAX_10B_LBA) hdr->cmdp[0] = 0x35; // synccache(10) else hdr->cmdp[0] = 0x91; // synccache(16) } else assert(0); return 0; } static void fio_sgio_unmap_setup(struct sg_io_hdr *hdr, struct sgio_trim *st) { uint16_t cnt = st->unmap_range_count * 16; hdr->dxfer_len = cnt + 8; sgio_set_be16(cnt + 8, &hdr->cmdp[7]); sgio_set_be16(cnt + 6, st->unmap_param); sgio_set_be16(cnt, &st->unmap_param[2]); return; } static enum fio_q_status fio_sgio_queue(struct thread_data *td, struct io_u *io_u) { struct sg_io_hdr *hdr = &io_u->hdr; struct sgio_data *sd = td->io_ops_data; int ret, do_sync = 0; fio_ro_check(td, io_u); if (sgio_unbuffered(td) || ddir_sync(io_u->ddir)) do_sync = 1; if (io_u->ddir == DDIR_TRIM) { if (do_sync || io_u->file->filetype == FIO_TYPE_BLOCK) { struct sgio_trim *st = sd->trim_queues[sd->current_queue]; /* finish cdb setup for unmap because we are ** doing unmap commands synchronously */ #ifdef FIO_SGIO_DEBUG assert(st->unmap_range_count == 1); assert(io_u == st->trim_io_us[0]); #endif hdr = &io_u->hdr; fio_sgio_unmap_setup(hdr, st); st->unmap_range_count = 0; sd->current_queue = -1; } else /* queue up trim ranges and submit in commit() */ return FIO_Q_QUEUED; } ret = fio_sgio_doio(td, io_u, do_sync); if (ret < 0) io_u->error = errno; else if (hdr->status) { io_u->resid = hdr->resid; io_u->error = EIO; } else if (td->io_ops->commit != NULL) { if (do_sync && !ddir_sync(io_u->ddir)) { io_u_mark_submit(td, 1); io_u_mark_complete(td, 1); } else if (io_u->ddir == DDIR_READ || io_u->ddir == DDIR_WRITE) { io_u_mark_submit(td, 1); io_u_queued(td, io_u); } } if (io_u->error) { td_verror(td, io_u->error, "xfer"); return FIO_Q_COMPLETED; } return ret; } static int fio_sgio_commit(struct thread_data *td) { struct sgio_data *sd = td->io_ops_data; struct sgio_trim *st; struct io_u *io_u; struct sg_io_hdr *hdr; struct timespec now; unsigned int i; int ret; if (sd->current_queue == -1) return 0; st = sd->trim_queues[sd->current_queue]; io_u = st->trim_io_us[0]; hdr = &io_u->hdr; fio_sgio_unmap_setup(hdr, st); sd->current_queue = -1; ret = fio_sgio_rw_doio(td, io_u->file, io_u, 0); if (ret < 0 || hdr->status) { int error; if (ret < 0) error = errno; else { error = EIO; ret = -EIO; } for (i = 0; i < st->unmap_range_count; i++) { st->trim_io_us[i]->error = error; clear_io_u(td, st->trim_io_us[i]); if (hdr->status) st->trim_io_us[i]->resid = hdr->resid; } td_verror(td, error, "xfer"); return ret; } if (fio_fill_issue_time(td)) { fio_gettime(&now, NULL); for (i = 0; i < st->unmap_range_count; i++) { memcpy(&st->trim_io_us[i]->issue_time, &now, sizeof(now)); io_u_queued(td, io_u); } } io_u_mark_submit(td, st->unmap_range_count); return 0; } static struct io_u *fio_sgio_event(struct thread_data *td, int event) { struct sgio_data *sd = td->io_ops_data; return sd->events[event]; } static int fio_sgio_read_capacity(struct thread_data *td, unsigned int *bs, unsigned long long *max_lba) { /* * need to do read capacity operation w/o benefit of sd or * io_u structures, which are not initialized until later. */ struct sg_io_hdr hdr; unsigned long long hlba; unsigned int blksz = 0; unsigned char cmd[16]; unsigned char sb[64]; unsigned char buf[32]; // read capacity return int ret; int fd = -1; struct fio_file *f = td->files[0]; /* open file independent of rest of application */ fd = open(f->file_name, O_RDONLY); if (fd < 0) return -errno; memset(&hdr, 0, sizeof(hdr)); memset(cmd, 0, sizeof(cmd)); memset(sb, 0, sizeof(sb)); memset(buf, 0, sizeof(buf)); /* First let's try a 10 byte read capacity. */ hdr.interface_id = 'S'; hdr.cmdp = cmd; hdr.cmd_len = 10; hdr.sbp = sb; hdr.mx_sb_len = sizeof(sb); hdr.timeout = SCSI_TIMEOUT_MS; hdr.cmdp[0] = 0x25; // Read Capacity(10) hdr.dxfer_direction = SG_DXFER_FROM_DEV; hdr.dxferp = buf; hdr.dxfer_len = sizeof(buf); ret = ioctl(fd, SG_IO, &hdr); if (ret < 0) { close(fd); return ret; } if (hdr.info & SG_INFO_CHECK) { /* RCAP(10) might be unsupported by device. Force RCAP(16) */ hlba = MAX_10B_LBA; } else { blksz = sgio_get_be32(&buf[4]); hlba = sgio_get_be32(buf); } /* * If max lba masked by MAX_10B_LBA equals MAX_10B_LBA, * then need to retry with 16 byte Read Capacity command. */ if (hlba == MAX_10B_LBA) { hdr.cmd_len = 16; hdr.cmdp[0] = 0x9e; // service action hdr.cmdp[1] = 0x10; // Read Capacity(16) sgio_set_be32(sizeof(buf), &hdr.cmdp[10]); hdr.dxfer_direction = SG_DXFER_FROM_DEV; hdr.dxferp = buf; hdr.dxfer_len = sizeof(buf); ret = ioctl(fd, SG_IO, &hdr); if (ret < 0) { close(fd); return ret; } /* record if an io error occurred */ if (hdr.info & SG_INFO_CHECK) td_verror(td, EIO, "fio_sgio_read_capacity"); blksz = sgio_get_be32(&buf[8]); hlba = sgio_get_be64(buf); } if (blksz) { *bs = blksz; *max_lba = hlba; ret = 0; } else { ret = EIO; } close(fd); return ret; } static void fio_sgio_cleanup(struct thread_data *td) { struct sgio_data *sd = td->io_ops_data; int i; if (sd) { free(sd->events); free(sd->cmds); free(sd->fd_flags); free(sd->pfds); free(sd->sgbuf); #ifdef FIO_SGIO_DEBUG free(sd->trim_queue_map); #endif for (i = 0; i < td->o.iodepth; i++) { free(sd->trim_queues[i]->unmap_param); free(sd->trim_queues[i]->trim_io_us); free(sd->trim_queues[i]); } free(sd->trim_queues); free(sd); } } static int fio_sgio_init(struct thread_data *td) { struct sgio_data *sd; struct sgio_trim *st; struct sg_io_hdr *h3p; int i; sd = calloc(1, sizeof(*sd)); sd->cmds = calloc(td->o.iodepth, sizeof(struct sgio_cmd)); sd->sgbuf = calloc(td->o.iodepth, sizeof(struct sg_io_hdr)); sd->events = calloc(td->o.iodepth, sizeof(struct io_u *)); sd->pfds = calloc(td->o.nr_files, sizeof(struct pollfd)); sd->fd_flags = calloc(td->o.nr_files, sizeof(int)); sd->type_checked = 0; sd->trim_queues = calloc(td->o.iodepth, sizeof(struct sgio_trim *)); sd->current_queue = -1; #ifdef FIO_SGIO_DEBUG sd->trim_queue_map = calloc(td->o.iodepth, sizeof(int)); #endif for (i = 0, h3p = sd->sgbuf; i < td->o.iodepth; i++, ++h3p) { sd->trim_queues[i] = calloc(1, sizeof(struct sgio_trim)); st = sd->trim_queues[i]; st->unmap_param = calloc(td->o.iodepth + 1, sizeof(char[16])); st->unmap_range_count = 0; st->trim_io_us = calloc(td->o.iodepth, sizeof(struct io_u *)); h3p->interface_id = 'S'; } td->io_ops_data = sd; /* * we want to do it, regardless of whether odirect is set or not */ td->o.override_sync = 1; return 0; } static int fio_sgio_type_check(struct thread_data *td, struct fio_file *f) { struct sgio_data *sd = td->io_ops_data; unsigned int bs = 0; unsigned long long max_lba = 0; if (f->filetype == FIO_TYPE_BLOCK) { if (ioctl(f->fd, BLKSSZGET, &bs) < 0) { td_verror(td, errno, "ioctl"); return 1; } } else if (f->filetype == FIO_TYPE_CHAR) { int version, ret; if (ioctl(f->fd, SG_GET_VERSION_NUM, &version) < 0) { td_verror(td, errno, "ioctl"); return 1; } ret = fio_sgio_read_capacity(td, &bs, &max_lba); if (ret) { td_verror(td, td->error, "fio_sgio_read_capacity"); log_err("ioengine sg unable to read capacity successfully\n"); return 1; } } else { td_verror(td, EINVAL, "wrong file type"); log_err("ioengine sg only works on block or character devices\n"); return 1; } sd->bs = bs; // Determine size of commands needed based on max_lba if (max_lba >= MAX_10B_LBA) { dprint(FD_IO, "sgio_type_check: using 16 byte read/write " "commands for lba above 0x%016llx/0x%016llx\n", MAX_10B_LBA, max_lba); } if (f->filetype == FIO_TYPE_BLOCK) { td->io_ops->getevents = NULL; td->io_ops->event = NULL; td->io_ops->commit = NULL; /* ** Setting these functions to null may cause problems ** with filename=/dev/sda:/dev/sg0 since we are only ** considering a single file */ } sd->type_checked = 1; return 0; } static int fio_sgio_stream_control(struct fio_file *f, bool open_stream, uint16_t *stream_id) { struct sg_io_hdr hdr; unsigned char cmd[16]; unsigned char sb[64]; unsigned char buf[8]; int ret; memset(&hdr, 0, sizeof(hdr)); memset(cmd, 0, sizeof(cmd)); memset(sb, 0, sizeof(sb)); memset(buf, 0, sizeof(buf)); hdr.interface_id = 'S'; hdr.cmdp = cmd; hdr.cmd_len = 16; hdr.sbp = sb; hdr.mx_sb_len = sizeof(sb); hdr.timeout = SCSI_TIMEOUT_MS; hdr.cmdp[0] = 0x9e; hdr.dxfer_direction = SG_DXFER_FROM_DEV; hdr.dxferp = buf; hdr.dxfer_len = sizeof(buf); sgio_set_be32(sizeof(buf), &hdr.cmdp[10]); if (open_stream) hdr.cmdp[1] = 0x34; else { hdr.cmdp[1] = 0x54; sgio_set_be16(*stream_id, &hdr.cmdp[4]); } ret = ioctl(f->fd, SG_IO, &hdr); if (ret < 0) return ret; if (hdr.info & SG_INFO_CHECK) return 1; if (open_stream) { *stream_id = sgio_get_be16(&buf[4]); dprint(FD_FILE, "sgio_stream_control: opened stream %u\n", (unsigned int) *stream_id); assert(*stream_id != 0); } else dprint(FD_FILE, "sgio_stream_control: closed stream %u\n", (unsigned int) *stream_id); return 0; } static int fio_sgio_open(struct thread_data *td, struct fio_file *f) { struct sgio_data *sd = td->io_ops_data; struct sg_options *o = td->eo; int ret; ret = generic_open_file(td, f); if (ret) return ret; if (sd && !sd->type_checked && fio_sgio_type_check(td, f)) { ret = generic_close_file(td, f); return ret; } if (o->write_mode == FIO_SG_WRITE_STREAM) { if (o->stream_id) f->engine_pos = o->stream_id; else { ret = fio_sgio_stream_control(f, true, (uint16_t *) &f->engine_pos); if (ret) return ret; } } return 0; } int fio_sgio_close(struct thread_data *td, struct fio_file *f) { struct sg_options *o = td->eo; int ret; if (!o->stream_id && o->write_mode == FIO_SG_WRITE_STREAM) { ret = fio_sgio_stream_control(f, false, (uint16_t *) &f->engine_pos); if (ret) return ret; } return generic_close_file(td, f); } /* * Build an error string with details about the driver, host or scsi * error contained in the sg header Caller will use as necessary. */ static char *fio_sgio_errdetails(struct thread_data *td, struct io_u *io_u) { struct sg_io_hdr *hdr = &io_u->hdr; #define MAXERRDETAIL 1024 #define MAXMSGCHUNK 128 char *msg, msgchunk[MAXMSGCHUNK]; int i; msg = calloc(1, MAXERRDETAIL); strcpy(msg, ""); /* * can't seem to find sg_err.h, so I'll just echo the define values * so others can search on internet to find clearer clues of meaning. */ if (hdr->info & SG_INFO_CHECK) { if (hdr->host_status) { snprintf(msgchunk, MAXMSGCHUNK, "SG Host Status: 0x%02x; ", hdr->host_status); strlcat(msg, msgchunk, MAXERRDETAIL); switch (hdr->host_status) { case 0x01: strlcat(msg, "SG_ERR_DID_NO_CONNECT", MAXERRDETAIL); break; case 0x02: strlcat(msg, "SG_ERR_DID_BUS_BUSY", MAXERRDETAIL); break; case 0x03: strlcat(msg, "SG_ERR_DID_TIME_OUT", MAXERRDETAIL); break; case 0x04: strlcat(msg, "SG_ERR_DID_BAD_TARGET", MAXERRDETAIL); break; case 0x05: strlcat(msg, "SG_ERR_DID_ABORT", MAXERRDETAIL); break; case 0x06: strlcat(msg, "SG_ERR_DID_PARITY", MAXERRDETAIL); break; case 0x07: strlcat(msg, "SG_ERR_DID_ERROR (internal error)", MAXERRDETAIL); break; case 0x08: strlcat(msg, "SG_ERR_DID_RESET", MAXERRDETAIL); break; case 0x09: strlcat(msg, "SG_ERR_DID_BAD_INTR (unexpected)", MAXERRDETAIL); break; case 0x0a: strlcat(msg, "SG_ERR_DID_PASSTHROUGH", MAXERRDETAIL); break; case 0x0b: strlcat(msg, "SG_ERR_DID_SOFT_ERROR (driver retry?)", MAXERRDETAIL); break; case 0x0c: strlcat(msg, "SG_ERR_DID_IMM_RETRY", MAXERRDETAIL); break; case 0x0d: strlcat(msg, "SG_ERR_DID_REQUEUE", MAXERRDETAIL); break; case 0x0e: strlcat(msg, "SG_ERR_DID_TRANSPORT_DISRUPTED", MAXERRDETAIL); break; case 0x0f: strlcat(msg, "SG_ERR_DID_TRANSPORT_FAILFAST", MAXERRDETAIL); break; case 0x10: strlcat(msg, "SG_ERR_DID_TARGET_FAILURE", MAXERRDETAIL); break; case 0x11: strlcat(msg, "SG_ERR_DID_NEXUS_FAILURE", MAXERRDETAIL); break; case 0x12: strlcat(msg, "SG_ERR_DID_ALLOC_FAILURE", MAXERRDETAIL); break; case 0x13: strlcat(msg, "SG_ERR_DID_MEDIUM_ERROR", MAXERRDETAIL); break; default: strlcat(msg, "Unknown", MAXERRDETAIL); break; } strlcat(msg, ". ", MAXERRDETAIL); } if (hdr->driver_status) { snprintf(msgchunk, MAXMSGCHUNK, "SG Driver Status: 0x%02x; ", hdr->driver_status); strlcat(msg, msgchunk, MAXERRDETAIL); switch (hdr->driver_status & 0x0F) { case 0x01: strlcat(msg, "SG_ERR_DRIVER_BUSY", MAXERRDETAIL); break; case 0x02: strlcat(msg, "SG_ERR_DRIVER_SOFT", MAXERRDETAIL); break; case 0x03: strlcat(msg, "SG_ERR_DRIVER_MEDIA", MAXERRDETAIL); break; case 0x04: strlcat(msg, "SG_ERR_DRIVER_ERROR", MAXERRDETAIL); break; case 0x05: strlcat(msg, "SG_ERR_DRIVER_INVALID", MAXERRDETAIL); break; case 0x06: strlcat(msg, "SG_ERR_DRIVER_TIMEOUT", MAXERRDETAIL); break; case 0x07: strlcat(msg, "SG_ERR_DRIVER_HARD", MAXERRDETAIL); break; case 0x08: strlcat(msg, "SG_ERR_DRIVER_SENSE", MAXERRDETAIL); break; default: strlcat(msg, "Unknown", MAXERRDETAIL); break; } strlcat(msg, "; ", MAXERRDETAIL); switch (hdr->driver_status & 0xF0) { case 0x10: strlcat(msg, "SG_ERR_SUGGEST_RETRY", MAXERRDETAIL); break; case 0x20: strlcat(msg, "SG_ERR_SUGGEST_ABORT", MAXERRDETAIL); break; case 0x30: strlcat(msg, "SG_ERR_SUGGEST_REMAP", MAXERRDETAIL); break; case 0x40: strlcat(msg, "SG_ERR_SUGGEST_DIE", MAXERRDETAIL); break; case 0x80: strlcat(msg, "SG_ERR_SUGGEST_SENSE", MAXERRDETAIL); break; } strlcat(msg, ". ", MAXERRDETAIL); } if (hdr->status) { snprintf(msgchunk, MAXMSGCHUNK, "SG SCSI Status: 0x%02x; ", hdr->status); strlcat(msg, msgchunk, MAXERRDETAIL); // SCSI 3 status codes switch (hdr->status) { case 0x02: strlcat(msg, "CHECK_CONDITION", MAXERRDETAIL); break; case 0x04: strlcat(msg, "CONDITION_MET", MAXERRDETAIL); break; case 0x08: strlcat(msg, "BUSY", MAXERRDETAIL); break; case 0x10: strlcat(msg, "INTERMEDIATE", MAXERRDETAIL); break; case 0x14: strlcat(msg, "INTERMEDIATE_CONDITION_MET", MAXERRDETAIL); break; case 0x18: strlcat(msg, "RESERVATION_CONFLICT", MAXERRDETAIL); break; case 0x22: strlcat(msg, "COMMAND_TERMINATED", MAXERRDETAIL); break; case 0x28: strlcat(msg, "TASK_SET_FULL", MAXERRDETAIL); break; case 0x30: strlcat(msg, "ACA_ACTIVE", MAXERRDETAIL); break; case 0x40: strlcat(msg, "TASK_ABORTED", MAXERRDETAIL); break; default: strlcat(msg, "Unknown", MAXERRDETAIL); break; } strlcat(msg, ". ", MAXERRDETAIL); } if (hdr->sb_len_wr) { const uint8_t *const sbp = hdr->sbp; snprintf(msgchunk, MAXMSGCHUNK, "Sense Data (%d bytes):", hdr->sb_len_wr); strlcat(msg, msgchunk, MAXERRDETAIL); for (i = 0; i < hdr->sb_len_wr; i++) { snprintf(msgchunk, MAXMSGCHUNK, " %02x", sbp[i]); strlcat(msg, msgchunk, MAXERRDETAIL); } strlcat(msg, ". ", MAXERRDETAIL); } if (hdr->resid != 0) { snprintf(msgchunk, MAXMSGCHUNK, "SG Driver: %d bytes out of %d not transferred. ", hdr->resid, hdr->dxfer_len); strlcat(msg, msgchunk, MAXERRDETAIL); } if (hdr->cmdp) { strlcat(msg, "cdb:", MAXERRDETAIL); for (i = 0; i < hdr->cmd_len; i++) { snprintf(msgchunk, MAXMSGCHUNK, " %02x", hdr->cmdp[i]); strlcat(msg, msgchunk, MAXERRDETAIL); } strlcat(msg, ". ", MAXERRDETAIL); if (io_u->ddir == DDIR_TRIM) { unsigned char *param_list = hdr->dxferp; strlcat(msg, "dxferp:", MAXERRDETAIL); for (i = 0; i < hdr->dxfer_len; i++) { snprintf(msgchunk, MAXMSGCHUNK, " %02x", param_list[i]); strlcat(msg, msgchunk, MAXERRDETAIL); } strlcat(msg, ". ", MAXERRDETAIL); } } } if (!(hdr->info & SG_INFO_CHECK) && !strlen(msg)) snprintf(msg, MAXERRDETAIL, "%s", "SG Driver did not report a Host, Driver or Device check"); return msg; } /* * get max file size from read capacity. */ static int fio_sgio_get_file_size(struct thread_data *td, struct fio_file *f) { /* * get_file_size is being called even before sgio_init is * called, so none of the sg_io structures are * initialized in the thread_data yet. So we need to do the * ReadCapacity without any of those helpers. One of the effects * is that ReadCapacity may get called 4 times on each open: * readcap(10) followed by readcap(16) if needed - just to get * the file size after the init occurs - it will be called * again when "type_check" is called during structure * initialization I'm not sure how to prevent this little * inefficiency. */ unsigned int bs = 0; unsigned long long max_lba = 0; int ret; if (fio_file_size_known(f)) return 0; if (f->filetype != FIO_TYPE_BLOCK && f->filetype != FIO_TYPE_CHAR) { td_verror(td, EINVAL, "wrong file type"); log_err("ioengine sg only works on block or character devices\n"); return 1; } ret = fio_sgio_read_capacity(td, &bs, &max_lba); if (ret ) { td_verror(td, td->error, "fio_sgio_read_capacity"); log_err("ioengine sg unable to successfully execute read capacity to get block size and maximum lba\n"); return 1; } f->real_file_size = (max_lba + 1) * bs; fio_file_set_size_known(f); return 0; } static struct ioengine_ops ioengine = { .name = "sg", .version = FIO_IOOPS_VERSION, .init = fio_sgio_init, .prep = fio_sgio_prep, .queue = fio_sgio_queue, .commit = fio_sgio_commit, .getevents = fio_sgio_getevents, .errdetails = fio_sgio_errdetails, .event = fio_sgio_event, .cleanup = fio_sgio_cleanup, .open_file = fio_sgio_open, .close_file = fio_sgio_close, .get_file_size = fio_sgio_get_file_size, .flags = FIO_SYNCIO | FIO_RAWIO | FIO_RO_NEEDS_RW_OPEN, .options = options, .option_struct_size = sizeof(struct sg_options) }; #else /* FIO_HAVE_SGIO */ /* * When we have a proper configure system in place, we simply wont build * and install this io engine. For now install a crippled version that * just complains and fails to load. */ static int fio_sgio_init(struct thread_data fio_unused *td) { log_err("fio: ioengine sg not available\n"); return 1; } static struct ioengine_ops ioengine = { .name = "sg", .version = FIO_IOOPS_VERSION, .init = fio_sgio_init, }; #endif static void fio_init fio_sgio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_sgio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/skeleton_external.c000066400000000000000000000152411476262051600175630ustar00rootroot00000000000000/* * Skeleton for a sample external io engine * * Should be compiled with: * * gcc -Wall -O2 -g -D_GNU_SOURCE -include ../config-host.h -shared -rdynamic -fPIC -o skeleton_external.o skeleton_external.c * (also requires -D_GNU_SOURCE -DCONFIG_STRSEP on Linux) * */ #include #include #include #include #include #include "../fio.h" #include "../optgroup.h" /* * The core of the module is identical to the ones included with fio, * read those. You cannot use register_ioengine() and unregister_ioengine() * for external modules, they should be gotten through dlsym() */ /* * The io engine can define its own options within the io engine source. * The option member must not be at offset 0, due to the way fio parses * the given option. Just add a padding pointer unless the io engine has * something usable. */ struct fio_skeleton_options { void *pad; /* avoid ->off1 of fio_option becomes 0 */ unsigned int dummy; }; static struct fio_option options[] = { { .name = "dummy", .lname = "ldummy", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct fio_skeleton_options, dummy), .help = "Set dummy", .category = FIO_OPT_C_ENGINE, /* always use this */ .group = FIO_OPT_G_INVALID, /* this can be different */ }, { .name = NULL, }, }; /* * The ->event() hook is called to match an event number with an io_u. * After the core has called ->getevents() and it has returned eg 3, * the ->event() hook must return the 3 events that have completed for * subsequent calls to ->event() with [0-2]. Required. */ static struct io_u *fio_skeleton_event(struct thread_data *td, int event) { return NULL; } /* * The ->getevents() hook is used to reap completion events from an async * io engine. It returns the number of completed events since the last call, * which may then be retrieved by calling the ->event() hook with the event * numbers. Required. */ static int fio_skeleton_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { return 0; } /* * The ->cancel() hook attempts to cancel the io_u. Only relevant for * async io engines, and need not be supported. */ static int fio_skeleton_cancel(struct thread_data *td, struct io_u *io_u) { return 0; } /* * The ->queue() hook is responsible for initiating io on the io_u * being passed in. If the io engine is a synchronous one, io may complete * before ->queue() returns. Required. * * The io engine must transfer in the direction noted by io_u->ddir * to the buffer pointed to by io_u->xfer_buf for as many bytes as * io_u->xfer_buflen. Residual data count may be set in io_u->resid * for a short read/write. */ static enum fio_q_status fio_skeleton_queue(struct thread_data *td, struct io_u *io_u) { /* * Double sanity check to catch errant write on a readonly setup */ fio_ro_check(td, io_u); /* * Could return FIO_Q_QUEUED for a queued request, * FIO_Q_COMPLETED for a completed request, and FIO_Q_BUSY * if we could queue no more at this point (you'd have to * define ->commit() to handle that. */ return FIO_Q_COMPLETED; } /* * The ->prep() function is called for each io_u prior to being submitted * with ->queue(). This hook allows the io engine to perform any * preparatory actions on the io_u, before being submitted. Not required. */ static int fio_skeleton_prep(struct thread_data *td, struct io_u *io_u) { return 0; } /* * The init function is called once per thread/process, and should set up * any structures that this io engine requires to keep track of io. Not * required. */ static int fio_skeleton_init(struct thread_data *td) { return 0; } /* * This is paired with the ->init() function and is called when a thread is * done doing io. Should tear down anything setup by the ->init() function. * Not required. */ static void fio_skeleton_cleanup(struct thread_data *td) { } /* * Hook for opening the given file. Unless the engine has special * needs, it usually just provides generic_open_file() as the handler. */ static int fio_skeleton_open(struct thread_data *td, struct fio_file *f) { return generic_open_file(td, f); } /* * Hook for closing a file. See fio_skeleton_open(). */ static int fio_skeleton_close(struct thread_data *td, struct fio_file *f) { return generic_close_file(td, f); } /* * Hook for getting the zoned model of a zoned block device for zonemode=zbd. * The zoned model can be one of (see zbd_types.h): * - ZBD_NONE: regular block device (zone emulation will be used) * - ZBD_HOST_AWARE: host aware zoned block device * - ZBD_HOST_MANAGED: host managed zoned block device */ static int fio_skeleton_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model) { *model = ZBD_NONE; return 0; } /* * Hook called for getting zone information of a ZBD_HOST_AWARE or * ZBD_HOST_MANAGED zoned block device. Up to @nr_zones zone information * structures can be reported using the array zones for zones starting from * @offset. The number of zones reported must be returned or a negative error * code in case of error. */ static int fio_skeleton_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zones, unsigned int nr_zones) { return 0; } /* * Hook called for resetting the write pointer position of zones of a * ZBD_HOST_AWARE or ZBD_HOST_MANAGED zoned block device. The write pointer * position of all zones in the range @offset..@offset + @length must be reset. */ static int fio_skeleton_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { return 0; } /* * Hook called for getting the maximum number of open zones for a * ZBD_HOST_MANAGED zoned block device. * A @max_open_zones value set to zero means no limit. */ static int fio_skeleton_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones) { return 0; } /* * Note that the structure is exported, so that fio can get it via * dlsym(..., "ioengine"); for (and only for) external engines. */ struct ioengine_ops ioengine = { .name = "engine_name", .version = FIO_IOOPS_VERSION, .init = fio_skeleton_init, .prep = fio_skeleton_prep, .queue = fio_skeleton_queue, .cancel = fio_skeleton_cancel, .getevents = fio_skeleton_getevents, .event = fio_skeleton_event, .cleanup = fio_skeleton_cleanup, .open_file = fio_skeleton_open, .close_file = fio_skeleton_close, .get_zoned_model = fio_skeleton_get_zoned_model, .report_zones = fio_skeleton_report_zones, .reset_wp = fio_skeleton_reset_wp, .get_max_open_zones = fio_skeleton_get_max_open_zones, .options = options, .option_struct_size = sizeof(struct fio_skeleton_options), }; fio-3.39/engines/solarisaio.c000066400000000000000000000113421476262051600162000ustar00rootroot00000000000000/* * Native Solaris async IO engine * */ #include #include #include #include #include #include "../fio.h" #include struct solarisaio_data { struct io_u **aio_events; unsigned int aio_pending; unsigned int nr; unsigned int max_depth; }; static int fio_solarisaio_cancel(struct thread_data fio_unused *td, struct io_u *io_u) { return aiocancel(&io_u->resultp); } static int fio_solarisaio_prep(struct thread_data fio_unused *td, struct io_u *io_u) { struct solarisaio_data *sd = td->io_ops_data; io_u->resultp.aio_return = AIO_INPROGRESS; io_u->engine_data = sd; return 0; } static void wait_for_event(struct timeval *tv) { struct solarisaio_data *sd; struct io_u *io_u; aio_result_t *res; res = aiowait(tv); if (res == (aio_result_t *) -1) { int err = errno; if (err != EINVAL) { log_err("fio: solarisaio got %d in aiowait\n", err); exit(err); } return; } else if (!res) return; io_u = container_of(res, struct io_u, resultp); sd = io_u->engine_data; if (io_u->resultp.aio_return >= 0) { io_u->resid = io_u->xfer_buflen - io_u->resultp.aio_return; io_u->error = 0; } else io_u->error = io_u->resultp.aio_errno; /* * For SIGIO, we need a write barrier between the two, so that * the ->aio_pending store is seen after the ->aio_events store */ sd->aio_events[sd->aio_pending] = io_u; write_barrier(); sd->aio_pending++; sd->nr--; } static int fio_solarisaio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct solarisaio_data *sd = td->io_ops_data; struct timeval tv; int ret; if (!min || !t) { tv.tv_sec = 0; tv.tv_usec = 0; } else { tv.tv_sec = t->tv_sec; tv.tv_usec = t->tv_nsec / 1000; } while (sd->aio_pending < min) wait_for_event(&tv); /* * should be OK without locking, as int operations should be atomic */ ret = sd->aio_pending; sd->aio_pending -= ret; return ret; } static struct io_u *fio_solarisaio_event(struct thread_data *td, int event) { struct solarisaio_data *sd = td->io_ops_data; return sd->aio_events[event]; } static enum fio_q_status fio_solarisaio_queue(struct thread_data fio_unused *td, struct io_u *io_u) { struct solarisaio_data *sd = td->io_ops_data; struct fio_file *f = io_u->file; off_t off; int ret; fio_ro_check(td, io_u); if (io_u->ddir == DDIR_SYNC) { if (sd->nr) return FIO_Q_BUSY; if (fsync(f->fd) < 0) io_u->error = errno; return FIO_Q_COMPLETED; } if (io_u->ddir == DDIR_DATASYNC) { if (sd->nr) return FIO_Q_BUSY; if (fdatasync(f->fd) < 0) io_u->error = errno; return FIO_Q_COMPLETED; } if (sd->nr == sd->max_depth) return FIO_Q_BUSY; off = io_u->offset; if (io_u->ddir == DDIR_READ) ret = aioread(f->fd, io_u->xfer_buf, io_u->xfer_buflen, off, SEEK_SET, &io_u->resultp); else ret = aiowrite(f->fd, io_u->xfer_buf, io_u->xfer_buflen, off, SEEK_SET, &io_u->resultp); if (ret) { io_u->error = errno; td_verror(td, io_u->error, "xfer"); return FIO_Q_COMPLETED; } sd->nr++; return FIO_Q_QUEUED; } static void fio_solarisaio_cleanup(struct thread_data *td) { struct solarisaio_data *sd = td->io_ops_data; if (sd) { free(sd->aio_events); free(sd); } } /* * Set USE_SIGNAL_COMPLETIONS to use SIGIO as completion events. */ #ifdef USE_SIGNAL_COMPLETIONS static void fio_solarisaio_sigio(int sig) { wait_for_event(NULL); } static void fio_solarisaio_init_sigio(void) { struct sigaction act; memset(&act, 0, sizeof(act)); act.sa_handler = fio_solarisaio_sigio; act.sa_flags = SA_RESTART; sigaction(SIGIO, &act, NULL); } #endif static int fio_solarisaio_init(struct thread_data *td) { unsigned int max_depth; struct solarisaio_data *sd; sd = calloc(1, sizeof(*sd)); max_depth = td->o.iodepth; if (max_depth > MAXASYNCHIO) { max_depth = MAXASYNCHIO; log_info("fio: lower depth to %d due to OS constraints\n", max_depth); } sd->aio_events = calloc(max_depth, sizeof(struct io_u *)); sd->max_depth = max_depth; #ifdef USE_SIGNAL_COMPLETIONS fio_solarisaio_init_sigio(); #endif td->io_ops_data = sd; return 0; } static struct ioengine_ops ioengine = { .name = "solarisaio", .version = FIO_IOOPS_VERSION, .init = fio_solarisaio_init, .prep = fio_solarisaio_prep, .queue = fio_solarisaio_queue, .cancel = fio_solarisaio_cancel, .getevents = fio_solarisaio_getevents, .event = fio_solarisaio_event, .cleanup = fio_solarisaio_cleanup, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, }; static void fio_init fio_solarisaio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_solarisaio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/splice.c000066400000000000000000000142461476262051600153200ustar00rootroot00000000000000/* * splice engine * * IO engine that transfers data by doing splices to/from pipes and * the files. * */ #include #include #include #include #include #include #include "../fio.h" struct spliceio_data { int pipe[2]; int vmsplice_to_user; int vmsplice_to_user_map; }; /* * vmsplice didn't use to support splicing to user space, this is the old * variant of getting that job done. Doesn't make a lot of sense, but it * uses splices to move data from the source into a pipe. */ static int fio_splice_read_old(struct thread_data *td, struct io_u *io_u) { struct spliceio_data *sd = td->io_ops_data; struct fio_file *f = io_u->file; int ret, ret2, buflen; off_t offset; char *p; offset = io_u->offset; buflen = io_u->xfer_buflen; p = io_u->xfer_buf; while (buflen) { int this_len = buflen; if (this_len > SPLICE_DEF_SIZE) this_len = SPLICE_DEF_SIZE; ret = splice(f->fd, &offset, sd->pipe[1], NULL, this_len, SPLICE_F_MORE); if (ret < 0) { if (errno == ENODATA || errno == EAGAIN) continue; return -errno; } buflen -= ret; while (ret) { ret2 = read(sd->pipe[0], p, ret); if (ret2 < 0) return -errno; ret -= ret2; p += ret2; } } return io_u->xfer_buflen; } /* * We can now vmsplice into userspace, so do the transfer by splicing into * a pipe and vmsplicing that into userspace. */ static int fio_splice_read(struct thread_data *td, struct io_u *io_u) { struct spliceio_data *sd = td->io_ops_data; struct fio_file *f = io_u->file; struct iovec iov; int ret , buflen, mmap_len; off_t offset; void *map; char *p; ret = 0; offset = io_u->offset; mmap_len = buflen = io_u->xfer_buflen; if (sd->vmsplice_to_user_map) { map = mmap(io_u->xfer_buf, buflen, PROT_READ, MAP_PRIVATE|OS_MAP_ANON, 0, 0); if (map == MAP_FAILED) { td_verror(td, errno, "mmap io_u"); return -1; } p = map; } else { map = NULL; p = io_u->xfer_buf; } while (buflen) { int this_len = buflen; int flags = 0; if (this_len > SPLICE_DEF_SIZE) { this_len = SPLICE_DEF_SIZE; flags = SPLICE_F_MORE; } ret = splice(f->fd, &offset, sd->pipe[1], NULL, this_len,flags); if (ret < 0) { if (errno == ENODATA || errno == EAGAIN) continue; td_verror(td, errno, "splice-from-fd"); break; } buflen -= ret; iov.iov_base = p; iov.iov_len = ret; while (iov.iov_len) { ret = vmsplice(sd->pipe[0], &iov, 1, SPLICE_F_MOVE); if (ret < 0) { if (errno == EFAULT && sd->vmsplice_to_user_map) { sd->vmsplice_to_user_map = 0; munmap(map, mmap_len); map = NULL; p = io_u->xfer_buf; iov.iov_base = p; continue; } if (errno == EBADF) { ret = -EBADF; break; } td_verror(td, errno, "vmsplice"); break; } else if (!ret) { td_verror(td, ENODATA, "vmsplice"); ret = -1; break; } iov.iov_len -= ret; iov.iov_base += ret; p += ret; } if (ret < 0) break; } if (sd->vmsplice_to_user_map && munmap(map, mmap_len) < 0) { td_verror(td, errno, "munnap io_u"); return -1; } if (ret < 0) return ret; return io_u->xfer_buflen; } /* * For splice writing, we can vmsplice our data buffer directly into a * pipe and then splice that to a file. */ static int fio_splice_write(struct thread_data *td, struct io_u *io_u) { struct spliceio_data *sd = td->io_ops_data; struct iovec iov = { .iov_base = io_u->xfer_buf, .iov_len = io_u->xfer_buflen, }; struct pollfd pfd = { .fd = sd->pipe[1], .events = POLLOUT, }; struct fio_file *f = io_u->file; off_t off = io_u->offset; int ret, ret2; while (iov.iov_len) { if (poll(&pfd, 1, -1) < 0) return errno; ret = vmsplice(sd->pipe[1], &iov, 1, SPLICE_F_NONBLOCK); if (ret < 0) return -errno; iov.iov_len -= ret; iov.iov_base += ret; while (ret) { ret2 = splice(sd->pipe[0], NULL, f->fd, &off, ret, 0); if (ret2 < 0) return -errno; ret -= ret2; } } return io_u->xfer_buflen; } static enum fio_q_status fio_spliceio_queue(struct thread_data *td, struct io_u *io_u) { struct spliceio_data *sd = td->io_ops_data; int ret = 0; fio_ro_check(td, io_u); if (io_u->ddir == DDIR_READ) { if (sd->vmsplice_to_user) { ret = fio_splice_read(td, io_u); /* * This kernel doesn't support vmsplice to user * space. Reset the vmsplice_to_user flag, so that * we retry below and don't hit this path again. */ if (ret == -EBADF) sd->vmsplice_to_user = 0; } if (!sd->vmsplice_to_user) ret = fio_splice_read_old(td, io_u); } else if (io_u->ddir == DDIR_WRITE) ret = fio_splice_write(td, io_u); else if (io_u->ddir == DDIR_TRIM) ret = do_io_u_trim(td, io_u); else ret = do_io_u_sync(td, io_u); if (ret != (int) io_u->xfer_buflen) { if (ret >= 0) { io_u->resid = io_u->xfer_buflen - ret; io_u->error = 0; return FIO_Q_COMPLETED; } else io_u->error = errno; } if (io_u->error) { td_verror(td, io_u->error, "xfer"); if (io_u->error == EINVAL) log_err("fio: looks like splice doesn't work on this" " file system\n"); } return FIO_Q_COMPLETED; } static void fio_spliceio_cleanup(struct thread_data *td) { struct spliceio_data *sd = td->io_ops_data; if (sd) { close(sd->pipe[0]); close(sd->pipe[1]); free(sd); } } static int fio_spliceio_init(struct thread_data *td) { struct spliceio_data *sd = malloc(sizeof(*sd)); if (pipe(sd->pipe) < 0) { td_verror(td, errno, "pipe"); free(sd); return 1; } /* * Assume this work, we'll reset this if it doesn't */ sd->vmsplice_to_user = 1; /* * Works with "real" vmsplice to user, eg mapping pages directly. * Reset if we fail. */ sd->vmsplice_to_user_map = 1; td->io_ops_data = sd; return 0; } static struct ioengine_ops ioengine = { .name = "splice", .version = FIO_IOOPS_VERSION, .init = fio_spliceio_init, .queue = fio_spliceio_queue, .cleanup = fio_spliceio_cleanup, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO | FIO_PIPEIO, }; static void fio_init fio_spliceio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_spliceio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/sync.c000066400000000000000000000271441476262051600150160ustar00rootroot00000000000000/* * sync/psync engine * * IO engine that does regular read(2)/write(2) with lseek(2) to transfer * data and IO engine that does regular pread(2)/pwrite(2) to transfer data. * */ #include #include #include #include #include #include "../fio.h" #include "../optgroup.h" #include "../lib/rand.h" /* * Sync engine uses engine_data to store last offset */ #define LAST_POS(f) ((f)->engine_pos) struct syncio_data { struct iovec *iovecs; struct io_u **io_us; unsigned int queued; unsigned int events; unsigned long queued_bytes; unsigned long long last_offset; struct fio_file *last_file; enum fio_ddir last_ddir; struct frand_state rand_state; }; #ifdef FIO_HAVE_PWRITEV2 struct psyncv2_options { void *pad; unsigned int hipri; unsigned int hipri_percentage; unsigned int uncached; unsigned int nowait; }; static struct fio_option options[] = { { .name = "hipri", .lname = "RWF_HIPRI", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct psyncv2_options, hipri), .help = "Set RWF_HIPRI for pwritev2/preadv2", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = "hipri_percentage", .lname = "RWF_HIPRI_PERCENTAGE", .type = FIO_OPT_INT, .off1 = offsetof(struct psyncv2_options, hipri_percentage), .minval = 0, .maxval = 100, .def = "100", .help = "Probabilistically set RWF_HIPRI for pwritev2/preadv2", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = "uncached", .lname = "Uncached", .type = FIO_OPT_INT, .off1 = offsetof(struct psyncv2_options, uncached), .help = "Use RWF_DONTCACHE for buffered read/writes", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = "nowait", .lname = "RWF_NOWAIT", .type = FIO_OPT_BOOL, .off1 = offsetof(struct psyncv2_options, nowait), .help = "Set RWF_NOWAIT for pwritev2/preadv2", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, }, { .name = NULL, }, }; #endif static int fio_syncio_prep(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; if (!ddir_rw(io_u->ddir)) return 0; if (LAST_POS(f) != -1ULL && LAST_POS(f) == io_u->offset) return 0; if (lseek(f->fd, io_u->offset, SEEK_SET) == -1) { td_verror(td, errno, "lseek"); return 1; } return 0; } static int fio_io_end(struct thread_data *td, struct io_u *io_u, int ret) { if (io_u->file && ret >= 0 && ddir_rw(io_u->ddir)) LAST_POS(io_u->file) = io_u->offset + ret; if (ret != (int) io_u->xfer_buflen) { if (ret >= 0) { io_u->resid = io_u->xfer_buflen - ret; io_u->error = 0; return FIO_Q_COMPLETED; } else io_u->error = errno; } if (io_u->error) { io_u_log_error(td, io_u); td_verror(td, io_u->error, "xfer"); } return FIO_Q_COMPLETED; } #ifdef CONFIG_PWRITEV static enum fio_q_status fio_pvsyncio_queue(struct thread_data *td, struct io_u *io_u) { struct syncio_data *sd = td->io_ops_data; struct iovec *iov = &sd->iovecs[0]; struct fio_file *f = io_u->file; int ret; fio_ro_check(td, io_u); iov->iov_base = io_u->xfer_buf; iov->iov_len = io_u->xfer_buflen; if (io_u->ddir == DDIR_READ) ret = preadv(f->fd, iov, 1, io_u->offset); else if (io_u->ddir == DDIR_WRITE) ret = pwritev(f->fd, iov, 1, io_u->offset); else if (io_u->ddir == DDIR_TRIM) { do_io_u_trim(td, io_u); return FIO_Q_COMPLETED; } else ret = do_io_u_sync(td, io_u); return fio_io_end(td, io_u, ret); } #endif #ifdef FIO_HAVE_PWRITEV2 static enum fio_q_status fio_pvsyncio2_queue(struct thread_data *td, struct io_u *io_u) { struct syncio_data *sd = td->io_ops_data; struct psyncv2_options *o = td->eo; struct iovec *iov = &sd->iovecs[0]; struct fio_file *f = io_u->file; int ret, flags = 0; fio_ro_check(td, io_u); if (o->hipri && (rand_between(&sd->rand_state, 1, 100) <= o->hipri_percentage)) flags |= RWF_HIPRI; if (!td->o.odirect && o->uncached) flags |= RWF_DONTCACHE; if (o->nowait) flags |= RWF_NOWAIT; iov->iov_base = io_u->xfer_buf; iov->iov_len = io_u->xfer_buflen; if (io_u->ddir == DDIR_READ) ret = preadv2(f->fd, iov, 1, io_u->offset, flags); else if (io_u->ddir == DDIR_WRITE) { if (td->o.oatomic) flags |= RWF_ATOMIC; ret = pwritev2(f->fd, iov, 1, io_u->offset, flags); } else if (io_u->ddir == DDIR_TRIM) { do_io_u_trim(td, io_u); return FIO_Q_COMPLETED; } else ret = do_io_u_sync(td, io_u); return fio_io_end(td, io_u, ret); } #endif static enum fio_q_status fio_psyncio_queue(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; int ret; fio_ro_check(td, io_u); if (io_u->ddir == DDIR_READ) ret = pread(f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); else if (io_u->ddir == DDIR_WRITE) ret = pwrite(f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); else if (io_u->ddir == DDIR_TRIM) { do_io_u_trim(td, io_u); return FIO_Q_COMPLETED; } else ret = do_io_u_sync(td, io_u); return fio_io_end(td, io_u, ret); } static enum fio_q_status fio_syncio_queue(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; int ret; fio_ro_check(td, io_u); if (io_u->ddir == DDIR_READ) ret = read(f->fd, io_u->xfer_buf, io_u->xfer_buflen); else if (io_u->ddir == DDIR_WRITE) ret = write(f->fd, io_u->xfer_buf, io_u->xfer_buflen); else if (io_u->ddir == DDIR_TRIM) { do_io_u_trim(td, io_u); return FIO_Q_COMPLETED; } else ret = do_io_u_sync(td, io_u); return fio_io_end(td, io_u, ret); } static int fio_vsyncio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec fio_unused *t) { struct syncio_data *sd = td->io_ops_data; int ret; if (min) { ret = sd->events; sd->events = 0; } else ret = 0; dprint(FD_IO, "vsyncio_getevents: min=%d,max=%d: %d\n", min, max, ret); return ret; } static struct io_u *fio_vsyncio_event(struct thread_data *td, int event) { struct syncio_data *sd = td->io_ops_data; return sd->io_us[event]; } static int fio_vsyncio_append(struct thread_data *td, struct io_u *io_u) { struct syncio_data *sd = td->io_ops_data; if (ddir_sync(io_u->ddir)) return 0; if (io_u->offset == sd->last_offset && io_u->file == sd->last_file && io_u->ddir == sd->last_ddir) return 1; return 0; } static void fio_vsyncio_set_iov(struct syncio_data *sd, struct io_u *io_u, int idx) { sd->io_us[idx] = io_u; sd->iovecs[idx].iov_base = io_u->xfer_buf; sd->iovecs[idx].iov_len = io_u->xfer_buflen; sd->last_offset = io_u->offset + io_u->xfer_buflen; sd->last_file = io_u->file; sd->last_ddir = io_u->ddir; sd->queued_bytes += io_u->xfer_buflen; sd->queued++; } static enum fio_q_status fio_vsyncio_queue(struct thread_data *td, struct io_u *io_u) { struct syncio_data *sd = td->io_ops_data; fio_ro_check(td, io_u); if (!fio_vsyncio_append(td, io_u)) { dprint(FD_IO, "vsyncio_queue: no append (%d)\n", sd->queued); /* * If we can't append and have stuff queued, tell fio to * commit those first and then retry this io */ if (sd->queued) return FIO_Q_BUSY; if (ddir_sync(io_u->ddir)) { int ret = do_io_u_sync(td, io_u); return fio_io_end(td, io_u, ret); } sd->queued = 0; sd->queued_bytes = 0; fio_vsyncio_set_iov(sd, io_u, 0); } else { if (sd->queued == td->o.iodepth) { dprint(FD_IO, "vsyncio_queue: max depth %d\n", sd->queued); return FIO_Q_BUSY; } dprint(FD_IO, "vsyncio_queue: append\n"); fio_vsyncio_set_iov(sd, io_u, sd->queued); } dprint(FD_IO, "vsyncio_queue: depth now %d\n", sd->queued); return FIO_Q_QUEUED; } /* * Check that we transferred all bytes, or saw an error, etc */ static int fio_vsyncio_end(struct thread_data *td, ssize_t bytes) { struct syncio_data *sd = td->io_ops_data; struct io_u *io_u; unsigned int i; int err; /* * transferred everything, perfect */ if (bytes == sd->queued_bytes) return 0; err = errno; for (i = 0; i < sd->queued; i++) { io_u = sd->io_us[i]; if (bytes == -1) { io_u->error = err; } else { unsigned int this_io; this_io = bytes; if (this_io > io_u->xfer_buflen) this_io = io_u->xfer_buflen; io_u->resid = io_u->xfer_buflen - this_io; io_u->error = 0; bytes -= this_io; } } if (bytes == -1) { td_verror(td, err, "xfer vsync"); return -err; } return 0; } static int fio_vsyncio_commit(struct thread_data *td) { struct syncio_data *sd = td->io_ops_data; struct fio_file *f; ssize_t ret; if (!sd->queued) return 0; io_u_mark_submit(td, sd->queued); f = sd->last_file; if (lseek(f->fd, sd->io_us[0]->offset, SEEK_SET) == -1) { int err = -errno; td_verror(td, errno, "lseek"); return err; } if (sd->last_ddir == DDIR_READ) ret = readv(f->fd, sd->iovecs, sd->queued); else ret = writev(f->fd, sd->iovecs, sd->queued); dprint(FD_IO, "vsyncio_commit: %d\n", (int) ret); sd->events = sd->queued; sd->queued = 0; return fio_vsyncio_end(td, ret); } static int fio_vsyncio_init(struct thread_data *td) { struct syncio_data *sd; sd = calloc(1, sizeof(*sd)); sd->last_offset = -1ULL; sd->iovecs = malloc(td->o.iodepth * sizeof(struct iovec)); sd->io_us = malloc(td->o.iodepth * sizeof(struct io_u *)); init_rand(&sd->rand_state, 0); td->io_ops_data = sd; return 0; } static void fio_vsyncio_cleanup(struct thread_data *td) { struct syncio_data *sd = td->io_ops_data; if (sd) { free(sd->iovecs); free(sd->io_us); free(sd); } } static struct ioengine_ops ioengine_rw = { .name = "sync", .version = FIO_IOOPS_VERSION, .prep = fio_syncio_prep, .queue = fio_syncio_queue, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO, }; static struct ioengine_ops ioengine_prw = { .name = "psync", .version = FIO_IOOPS_VERSION, .queue = fio_psyncio_queue, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO, }; static struct ioengine_ops ioengine_vrw = { .name = "vsync", .version = FIO_IOOPS_VERSION, .init = fio_vsyncio_init, .cleanup = fio_vsyncio_cleanup, .queue = fio_vsyncio_queue, .commit = fio_vsyncio_commit, .event = fio_vsyncio_event, .getevents = fio_vsyncio_getevents, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO, }; #ifdef CONFIG_PWRITEV static struct ioengine_ops ioengine_pvrw = { .name = "pvsync", .version = FIO_IOOPS_VERSION, .init = fio_vsyncio_init, .cleanup = fio_vsyncio_cleanup, .queue = fio_pvsyncio_queue, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO, }; #endif #ifdef FIO_HAVE_PWRITEV2 static struct ioengine_ops ioengine_pvrw2 = { .name = "pvsync2", .version = FIO_IOOPS_VERSION, .init = fio_vsyncio_init, .cleanup = fio_vsyncio_cleanup, .queue = fio_pvsyncio2_queue, .open_file = generic_open_file, .close_file = generic_close_file, .get_file_size = generic_get_file_size, .flags = FIO_SYNCIO | FIO_ATOMICWRITES, .options = options, .option_struct_size = sizeof(struct psyncv2_options), }; #endif static void fio_init fio_syncio_register(void) { register_ioengine(&ioengine_rw); register_ioengine(&ioengine_prw); register_ioengine(&ioengine_vrw); #ifdef CONFIG_PWRITEV register_ioengine(&ioengine_pvrw); #endif #ifdef FIO_HAVE_PWRITEV2 register_ioengine(&ioengine_pvrw2); #endif } static void fio_exit fio_syncio_unregister(void) { unregister_ioengine(&ioengine_rw); unregister_ioengine(&ioengine_prw); unregister_ioengine(&ioengine_vrw); #ifdef CONFIG_PWRITEV unregister_ioengine(&ioengine_pvrw); #endif #ifdef FIO_HAVE_PWRITEV2 unregister_ioengine(&ioengine_pvrw2); #endif } fio-3.39/engines/windowsaio.c000066400000000000000000000330331476262051600162170ustar00rootroot00000000000000/* * windowsaio engine * * IO engine using Windows IO Completion Ports. */ #include #include #include #include #include #include "../fio.h" #include "../optgroup.h" typedef BOOL (WINAPI *CANCELIOEX)(HANDLE hFile, LPOVERLAPPED lpOverlapped); int geterrno_from_win_error (DWORD code, int deferrno); struct fio_overlapped { OVERLAPPED o; struct io_u *io_u; BOOL io_complete; }; struct windowsaio_data { struct io_u **aio_events; HANDLE iocp; HANDLE iothread; HANDLE iocomplete_event; BOOL iothread_running; }; struct thread_ctx { HANDLE iocp; struct windowsaio_data *wd; }; struct windowsaio_options { struct thread_data *td; unsigned int no_completion_thread; }; static struct fio_option options[] = { { .name = "no_completion_thread", .lname = "No completion polling thread", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct windowsaio_options, no_completion_thread), .help = "Use to avoid separate completion polling thread", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_WINDOWSAIO, }, { .name = NULL, }, }; static DWORD WINAPI IoCompletionRoutine(LPVOID lpParameter); static int fio_windowsaio_init(struct thread_data *td) { struct windowsaio_data *wd; int rc = 0; wd = calloc(1, sizeof(struct windowsaio_data)); if (wd == NULL) { log_err("windowsaio: failed to allocate memory for engine data\n"); rc = 1; } if (!rc) { wd->aio_events = malloc(td->o.iodepth * sizeof(struct io_u*)); if (wd->aio_events == NULL) { log_err("windowsaio: failed to allocate memory for aio events list\n"); rc = 1; } } if (!rc) { /* Create an auto-reset event */ wd->iocomplete_event = CreateEvent(NULL, FALSE, FALSE, NULL); if (wd->iocomplete_event == NULL) { log_err("windowsaio: failed to create io complete event handle\n"); rc = 1; } } if (rc) { if (wd != NULL) { if (wd->aio_events != NULL) free(wd->aio_events); free(wd); } } td->io_ops_data = wd; if (!rc) { struct thread_ctx *ctx; struct windowsaio_data *wd; HANDLE hFile; struct windowsaio_options *o = td->eo; hFile = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0); if (hFile == INVALID_HANDLE_VALUE) { log_err("windowsaio: failed to create io completion port\n"); rc = 1; } wd = td->io_ops_data; wd->iothread_running = TRUE; wd->iocp = hFile; if (o->no_completion_thread == 0) { if (!rc) ctx = malloc(sizeof(struct thread_ctx)); if (!rc && ctx == NULL) { log_err("windowsaio: failed to allocate memory for thread context structure\n"); CloseHandle(hFile); rc = 1; } if (!rc) { DWORD threadid; ctx->iocp = hFile; ctx->wd = wd; wd->iothread = CreateThread(NULL, 0, IoCompletionRoutine, ctx, 0, &threadid); if (!wd->iothread) log_err("windowsaio: failed to create io completion thread\n"); else if (fio_option_is_set(&td->o, cpumask)) fio_setaffinity(threadid, td->o.cpumask); } if (rc || wd->iothread == NULL) rc = 1; } } return rc; } static void fio_windowsaio_cleanup(struct thread_data *td) { struct windowsaio_data *wd; wd = td->io_ops_data; if (wd != NULL) { wd->iothread_running = FALSE; WaitForSingleObject(wd->iothread, INFINITE); CloseHandle(wd->iothread); CloseHandle(wd->iocomplete_event); free(wd->aio_events); free(wd); td->io_ops_data = NULL; } } static int windowsaio_invalidate_cache(struct fio_file *f) { DWORD error; DWORD isharemode = (FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE); HANDLE ihFile; int rc = 0; /* * Encourage Windows to drop cached parts of a file by temporarily * opening it for non-buffered access. Note: this will only work when * the following is the only thing with the file open on the whole * system. */ dprint(FD_IO, "windowaio: attempt invalidate cache for %s\n", f->file_name); ihFile = CreateFile(f->file_name, 0, isharemode, NULL, OPEN_EXISTING, FILE_FLAG_NO_BUFFERING, NULL); if (ihFile != INVALID_HANDLE_VALUE) { if (!CloseHandle(ihFile)) { error = GetLastError(); log_info("windowsaio: invalidation fd close %s failed: error %lu\n", f->file_name, error); rc = 1; } } else { error = GetLastError(); if (error != ERROR_FILE_NOT_FOUND) { log_info("windowsaio: cache invalidation of %s failed: error %lu\n", f->file_name, error); rc = 1; } } return rc; } static int fio_windowsaio_open_file(struct thread_data *td, struct fio_file *f) { int rc = 0; DWORD flags = FILE_FLAG_POSIX_SEMANTICS | FILE_FLAG_OVERLAPPED; DWORD sharemode = FILE_SHARE_READ | FILE_SHARE_WRITE; DWORD openmode = OPEN_ALWAYS; DWORD access; dprint(FD_FILE, "fd open %s\n", f->file_name); if (f->filetype == FIO_TYPE_PIPE) { log_err("windowsaio: pipes are not supported\n"); return 1; } if (!strcmp(f->file_name, "-")) { log_err("windowsaio: can't read/write to stdin/out\n"); return 1; } if (td->o.odirect) flags |= FILE_FLAG_NO_BUFFERING; if (td->o.sync_io) flags |= FILE_FLAG_WRITE_THROUGH; /* * Inform Windows whether we're going to be doing sequential or * random IO so it can tune the Cache Manager */ switch (td->o.fadvise_hint) { case F_ADV_TYPE: if (td_random(td)) flags |= FILE_FLAG_RANDOM_ACCESS; else flags |= FILE_FLAG_SEQUENTIAL_SCAN; break; case F_ADV_RANDOM: flags |= FILE_FLAG_RANDOM_ACCESS; break; case F_ADV_SEQUENTIAL: flags |= FILE_FLAG_SEQUENTIAL_SCAN; break; case F_ADV_NONE: break; default: log_err("fio: unknown fadvise type %d\n", td->o.fadvise_hint); } if ((!td_write(td) && !(td->flags & TD_F_SYNCS)) || read_only) access = GENERIC_READ; else access = (GENERIC_READ | GENERIC_WRITE); if (td->o.create_on_open) openmode = OPEN_ALWAYS; else openmode = OPEN_EXISTING; /* If we're going to use direct I/O, Windows will try and invalidate * its cache at that point so there's no need to do it here */ if (td->o.invalidate_cache && !td->o.odirect) windowsaio_invalidate_cache(f); f->hFile = CreateFile(f->file_name, access, sharemode, NULL, openmode, flags, NULL); if (f->hFile == INVALID_HANDLE_VALUE) { log_err("windowsaio: failed to open file \"%s\"\n", f->file_name); rc = 1; } /* Only set up the completion port and thread if we're not just * querying the device size */ if (!rc && td->io_ops_data != NULL) { struct windowsaio_data *wd; wd = td->io_ops_data; if (CreateIoCompletionPort(f->hFile, wd->iocp, 0, 0) == NULL) { log_err("windowsaio: failed to create io completion port\n"); rc = 1; } } return rc; } static int fio_windowsaio_close_file(struct thread_data fio_unused *td, struct fio_file *f) { int rc = 0; dprint(FD_FILE, "fd close %s\n", f->file_name); if (f->hFile != INVALID_HANDLE_VALUE) { if (!CloseHandle(f->hFile)) { log_info("windowsaio: failed to close file handle for \"%s\"\n", f->file_name); rc = 1; } } f->hFile = INVALID_HANDLE_VALUE; return rc; } static BOOL timeout_expired(DWORD start_count, DWORD end_count) { BOOL expired = FALSE; DWORD current_time; current_time = GetTickCount(); if ((end_count > start_count) && current_time >= end_count) expired = TRUE; else if (current_time < start_count && current_time > end_count) expired = TRUE; return expired; } static struct io_u* fio_windowsaio_event(struct thread_data *td, int event) { struct windowsaio_data *wd = td->io_ops_data; return wd->aio_events[event]; } /* dequeue completion entrees directly (no separate completion thread) */ static int fio_windowsaio_getevents_nothread(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct windowsaio_data *wd = td->io_ops_data; unsigned int dequeued = 0; struct io_u *io_u; DWORD start_count = 0; DWORD end_count = 0; DWORD mswait = 250; struct fio_overlapped *fov; if (t != NULL) { mswait = (t->tv_sec * 1000) + (t->tv_nsec / 1000000); start_count = GetTickCount(); end_count = start_count + (t->tv_sec * 1000) + (t->tv_nsec / 1000000); } do { BOOL ret; OVERLAPPED *ovl; ULONG entries = min(16, max-dequeued); OVERLAPPED_ENTRY oe[16]; ret = GetQueuedCompletionStatusEx(wd->iocp, oe, 16, &entries, mswait, 0); if (ret && entries) { int entry_num; for (entry_num=0; entry_numio_u; if (ovl->Internal == ERROR_SUCCESS) { io_u->resid = io_u->xfer_buflen - ovl->InternalHigh; io_u->error = 0; } else { io_u->resid = io_u->xfer_buflen; io_u->error = win_to_posix_error(GetLastError()); } fov->io_complete = FALSE; wd->aio_events[dequeued] = io_u; dequeued++; } } if (dequeued >= min || (t != NULL && timeout_expired(start_count, end_count))) break; } while (1); return dequeued; } /* dequeue completion entrees creates by separate IoCompletionRoutine thread */ static int fio_windowaio_getevents_thread(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct windowsaio_data *wd = td->io_ops_data; unsigned int dequeued = 0; struct io_u *io_u; int i; struct fio_overlapped *fov; DWORD start_count = 0; DWORD end_count = 0; DWORD status; DWORD mswait = 250; if (t != NULL) { mswait = (t->tv_sec * 1000) + (t->tv_nsec / 1000000); start_count = GetTickCount(); end_count = start_count + (t->tv_sec * 1000) + (t->tv_nsec / 1000000); } do { io_u_qiter(&td->io_u_all, io_u, i) { if (!(io_u->flags & IO_U_F_FLIGHT)) continue; fov = (struct fio_overlapped*)io_u->engine_data; if (fov->io_complete) { fov->io_complete = FALSE; wd->aio_events[dequeued] = io_u; dequeued++; } } if (dequeued >= min) break; if (dequeued < min) { status = WaitForSingleObject(wd->iocomplete_event, mswait); if (status != WAIT_OBJECT_0 && dequeued >= min) break; } if (dequeued >= min || (t != NULL && timeout_expired(start_count, end_count))) break; } while (1); return dequeued; } static int fio_windowsaio_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct windowsaio_options *o = td->eo; if (o->no_completion_thread) return fio_windowsaio_getevents_nothread(td, min, max, t); return fio_windowaio_getevents_thread(td, min, max, t); } static enum fio_q_status fio_windowsaio_queue(struct thread_data *td, struct io_u *io_u) { struct fio_overlapped *o = io_u->engine_data; LPOVERLAPPED lpOvl = &o->o; BOOL success = FALSE; int rc = FIO_Q_COMPLETED; fio_ro_check(td, io_u); lpOvl->Internal = 0; lpOvl->InternalHigh = 0; lpOvl->Offset = io_u->offset & 0xFFFFFFFF; lpOvl->OffsetHigh = io_u->offset >> 32; switch (io_u->ddir) { case DDIR_WRITE: success = WriteFile(io_u->file->hFile, io_u->xfer_buf, io_u->xfer_buflen, NULL, lpOvl); break; case DDIR_READ: success = ReadFile(io_u->file->hFile, io_u->xfer_buf, io_u->xfer_buflen, NULL, lpOvl); break; case DDIR_SYNC: case DDIR_DATASYNC: case DDIR_SYNC_FILE_RANGE: success = FlushFileBuffers(io_u->file->hFile); if (!success) { log_err("windowsaio: failed to flush file buffers\n"); io_u->error = win_to_posix_error(GetLastError()); } return FIO_Q_COMPLETED; case DDIR_TRIM: log_err("windowsaio: manual TRIM isn't supported on Windows\n"); io_u->error = 1; io_u->resid = io_u->xfer_buflen; return FIO_Q_COMPLETED; default: assert(0); break; } if (success || GetLastError() == ERROR_IO_PENDING) rc = FIO_Q_QUEUED; else { io_u->error = win_to_posix_error(GetLastError()); io_u->resid = io_u->xfer_buflen; } return rc; } /* Runs as a thread and waits for queued IO to complete */ static DWORD WINAPI IoCompletionRoutine(LPVOID lpParameter) { OVERLAPPED *ovl; struct fio_overlapped *fov; struct io_u *io_u; struct windowsaio_data *wd; struct thread_ctx *ctx; ULONG_PTR ulKey = 0; DWORD bytes; ctx = (struct thread_ctx*)lpParameter; wd = ctx->wd; do { BOOL ret; ret = GetQueuedCompletionStatus(ctx->iocp, &bytes, &ulKey, &ovl, 250); if (!ret && ovl == NULL) continue; fov = CONTAINING_RECORD(ovl, struct fio_overlapped, o); io_u = fov->io_u; if (ovl->Internal == ERROR_SUCCESS) { io_u->resid = io_u->xfer_buflen - ovl->InternalHigh; io_u->error = 0; } else { io_u->resid = io_u->xfer_buflen; io_u->error = win_to_posix_error(GetLastError()); } fov->io_complete = TRUE; SetEvent(wd->iocomplete_event); } while (ctx->wd->iothread_running); CloseHandle(ctx->iocp); free(ctx); return 0; } static void fio_windowsaio_io_u_free(struct thread_data *td, struct io_u *io_u) { struct fio_overlapped *o = io_u->engine_data; if (o) { io_u->engine_data = NULL; free(o); } } static int fio_windowsaio_io_u_init(struct thread_data *td, struct io_u *io_u) { struct fio_overlapped *o; o = malloc(sizeof(*o)); o->io_complete = FALSE; o->io_u = io_u; o->o.hEvent = NULL; io_u->engine_data = o; return 0; } static struct ioengine_ops ioengine = { .name = "windowsaio", .version = FIO_IOOPS_VERSION, .init = fio_windowsaio_init, .queue = fio_windowsaio_queue, .getevents = fio_windowsaio_getevents, .event = fio_windowsaio_event, .cleanup = fio_windowsaio_cleanup, .open_file = fio_windowsaio_open_file, .close_file = fio_windowsaio_close_file, .get_file_size = generic_get_file_size, .io_u_init = fio_windowsaio_io_u_init, .io_u_free = fio_windowsaio_io_u_free, .options = options, .option_struct_size = sizeof(struct windowsaio_options), }; static void fio_init fio_windowsaio_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_windowsaio_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/engines/xnvme.c000066400000000000000000001062001476262051600151660ustar00rootroot00000000000000/* * fio xNVMe IO Engine * * IO engine using the xNVMe C API. * * See: http://xnvme.io/ * * SPDX-License-Identifier: Apache-2.0 */ #include #include #include #include "fio.h" #include "verify.h" #include "zbd_types.h" #include "dataplacement.h" #include "optgroup.h" static pthread_mutex_t g_serialize = PTHREAD_MUTEX_INITIALIZER; struct xnvme_fioe_fwrap { /* fio file representation */ struct fio_file *fio_file; /* xNVMe device handle */ struct xnvme_dev *dev; /* xNVMe device geometry */ const struct xnvme_geo *geo; struct xnvme_queue *queue; uint32_t ssw; uint32_t lba_nbytes; uint32_t md_nbytes; uint32_t lba_pow2; uint8_t _pad[16]; }; XNVME_STATIC_ASSERT(sizeof(struct xnvme_fioe_fwrap) == 64, "Incorrect size") struct xnvme_fioe_data { /* I/O completion queue */ struct io_u **iocq; /* # of iocq entries; incremented via getevents()/cb_pool() */ uint64_t completed; /* * # of errors; incremented when observed on completion via * getevents()/cb_pool() */ uint64_t ecount; /* Controller which device/file to select */ int32_t prev; int32_t cur; /* Number of devices/files for which open() has been called */ int64_t nopen; /* Number of devices/files allocated in files[] */ uint64_t nallocated; struct iovec *iovec; struct iovec *md_iovec; struct xnvme_fioe_fwrap files[]; }; XNVME_STATIC_ASSERT(sizeof(struct xnvme_fioe_data) == 64, "Incorrect size") struct xnvme_fioe_request { /* Context for NVMe PI */ struct xnvme_pi_ctx pi_ctx; /* Separate metadata buffer pointer */ void *md_buf; }; struct xnvme_fioe_options { void *padding; unsigned int hipri; unsigned int sqpoll_thread; unsigned int xnvme_dev_nsid; unsigned int xnvme_iovec; unsigned int md_per_io_size; unsigned int pi_act; unsigned int apptag; unsigned int apptag_mask; unsigned int prchk; char *xnvme_be; char *xnvme_mem; char *xnvme_async; char *xnvme_sync; char *xnvme_admin; char *xnvme_dev_subnqn; }; static int str_pi_chk_cb(void *data, const char *str) { struct xnvme_fioe_options *o = data; if (strstr(str, "GUARD") != NULL) o->prchk = XNVME_PI_FLAGS_GUARD_CHECK; if (strstr(str, "REFTAG") != NULL) o->prchk |= XNVME_PI_FLAGS_REFTAG_CHECK; if (strstr(str, "APPTAG") != NULL) o->prchk |= XNVME_PI_FLAGS_APPTAG_CHECK; return 0; } static struct fio_option options[] = { { .name = "hipri", .lname = "High Priority", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct xnvme_fioe_options, hipri), .help = "Use polled IO completions", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "sqthread_poll", .lname = "Kernel SQ thread polling", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct xnvme_fioe_options, sqpoll_thread), .help = "Offload submission/completion to kernel thread", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "xnvme_be", .lname = "xNVMe Backend", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct xnvme_fioe_options, xnvme_be), .help = "Select xNVMe backend [spdk,linux,fbsd]", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "xnvme_mem", .lname = "xNVMe Memory Backend", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct xnvme_fioe_options, xnvme_mem), .help = "Select xNVMe memory backend", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "xnvme_async", .lname = "xNVMe Asynchronous command-interface", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct xnvme_fioe_options, xnvme_async), .help = "Select xNVMe async. interface: " "[emu,thrpool,io_uring,io_uring_cmd,libaio,posix,vfio,nil]", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "xnvme_sync", .lname = "xNVMe Synchronous. command-interface", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct xnvme_fioe_options, xnvme_sync), .help = "Select xNVMe sync. interface: [nvme,psync,block]", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "xnvme_admin", .lname = "xNVMe Admin command-interface", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct xnvme_fioe_options, xnvme_admin), .help = "Select xNVMe admin. cmd-interface: [nvme,block]", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "xnvme_dev_nsid", .lname = "xNVMe Namespace-Identifier, for user-space NVMe driver", .type = FIO_OPT_INT, .off1 = offsetof(struct xnvme_fioe_options, xnvme_dev_nsid), .help = "xNVMe Namespace-Identifier, for user-space NVMe driver", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "xnvme_dev_subnqn", .lname = "Subsystem nqn for Fabrics", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct xnvme_fioe_options, xnvme_dev_subnqn), .help = "Subsystem NQN for Fabrics", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "xnvme_iovec", .lname = "Vectored IOs", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct xnvme_fioe_options, xnvme_iovec), .help = "Send vectored IOs", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "md_per_io_size", .lname = "Separate Metadata Buffer Size per I/O", .type = FIO_OPT_INT, .off1 = offsetof(struct xnvme_fioe_options, md_per_io_size), .def = "0", .help = "Size of separate metadata buffer per I/O (Default: 0)", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "pi_act", .lname = "Protection Information Action", .type = FIO_OPT_BOOL, .off1 = offsetof(struct xnvme_fioe_options, pi_act), .def = "1", .help = "Protection Information Action bit (pi_act=1 or pi_act=0)", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "pi_chk", .lname = "Protection Information Check", .type = FIO_OPT_STR_STORE, .def = NULL, .help = "Control of Protection Information Checking (pi_chk=GUARD,REFTAG,APPTAG)", .cb = str_pi_chk_cb, .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "apptag", .lname = "Application Tag used in Protection Information", .type = FIO_OPT_INT, .off1 = offsetof(struct xnvme_fioe_options, apptag), .def = "0x1234", .help = "Application Tag used in Protection Information field (Default: 0x1234)", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = "apptag_mask", .lname = "Application Tag Mask", .type = FIO_OPT_INT, .off1 = offsetof(struct xnvme_fioe_options, apptag_mask), .def = "0xffff", .help = "Application Tag Mask used with Application Tag (Default: 0xffff)", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_XNVME, }, { .name = NULL, }, }; static void cb_pool(struct xnvme_cmd_ctx *ctx, void *cb_arg) { struct io_u *io_u = cb_arg; struct xnvme_fioe_data *xd = io_u->mmap_data; struct xnvme_fioe_request *fio_req = io_u->engine_data; struct xnvme_fioe_fwrap *fwrap = &xd->files[io_u->file->fileno]; bool pi_act = (fio_req->pi_ctx.pi_flags >> 3); int err; if (xnvme_cmd_ctx_cpl_status(ctx)) { xnvme_cmd_ctx_pr(ctx, XNVME_PR_DEF); xd->ecount += 1; io_u->error = EIO; } if (!io_u->error && fwrap->geo->pi_type && (io_u->ddir == DDIR_READ) && !pi_act) { err = xnvme_pi_verify(&fio_req->pi_ctx, io_u->xfer_buf, fio_req->md_buf, io_u->xfer_buflen / fwrap->lba_nbytes); if (err) { xd->ecount += 1; io_u->error = EIO; } } xd->iocq[xd->completed++] = io_u; xnvme_queue_put_cmd_ctx(ctx->async.queue, ctx); } static struct xnvme_opts xnvme_opts_from_fioe(struct thread_data *td) { struct xnvme_fioe_options *o = td->eo; struct xnvme_opts opts = xnvme_opts_default(); opts.nsid = o->xnvme_dev_nsid; opts.subnqn = o->xnvme_dev_subnqn; opts.be = o->xnvme_be; opts.mem = o->xnvme_mem; opts.async = o->xnvme_async; opts.sync = o->xnvme_sync; opts.admin = o->xnvme_admin; opts.poll_io = o->hipri; opts.poll_sq = o->sqpoll_thread; opts.direct = td->o.odirect; return opts; } static void _dev_close(struct thread_data *td, struct xnvme_fioe_fwrap *fwrap) { if (fwrap->dev) xnvme_queue_term(fwrap->queue); xnvme_dev_close(fwrap->dev); memset(fwrap, 0, sizeof(*fwrap)); } static void xnvme_fioe_cleanup(struct thread_data *td) { struct xnvme_fioe_data *xd = NULL; int err; if (!td->io_ops_data) return; xd = td->io_ops_data; err = pthread_mutex_lock(&g_serialize); if (err) log_err("ioeng->cleanup(): pthread_mutex_lock(), err(%d)\n", err); /* NOTE: not returning here */ for (uint64_t i = 0; i < xd->nallocated; ++i) _dev_close(td, &xd->files[i]); if (!err) { err = pthread_mutex_unlock(&g_serialize); if (err) log_err("ioeng->cleanup(): pthread_mutex_unlock(), err(%d)\n", err); } free(xd->iocq); free(xd->iovec); free(xd->md_iovec); free(xd); td->io_ops_data = NULL; } static int _verify_options(struct thread_data *td, struct fio_file *f, struct xnvme_fioe_fwrap *fwrap) { struct xnvme_fioe_options *o = td->eo; unsigned int correct_md_size; for_each_rw_ddir(ddir) { if (td->o.min_bs[ddir] % fwrap->lba_nbytes || td->o.max_bs[ddir] % fwrap->lba_nbytes) { if (!fwrap->lba_pow2) { log_err("ioeng->_verify_options(%s): block size must be a multiple of %u " "(LBA data size + Metadata size)\n", f->file_name, fwrap->lba_nbytes); } else { log_err("ioeng->_verify_options(%s): block size must be a multiple of LBA data size\n", f->file_name); } return 1; } if (ddir == DDIR_TRIM) continue; correct_md_size = (td->o.max_bs[ddir] / fwrap->lba_nbytes) * fwrap->md_nbytes; if (fwrap->md_nbytes && fwrap->lba_pow2 && (o->md_per_io_size < correct_md_size)) { log_err("ioeng->_verify_options(%s): md_per_io_size should be at least %u bytes\n", f->file_name, correct_md_size); return 1; } } /* * For extended logical block sizes we cannot use verify when * end to end data protection checks are enabled, as the PI * section of data buffer conflicts with verify. */ if (fwrap->md_nbytes && fwrap->geo->pi_type && !fwrap->lba_pow2 && td->o.verify != VERIFY_NONE) { log_err("ioeng->_verify_options(%s): for extended LBA, verify cannot be used when E2E data protection is enabled\n", f->file_name); return 1; } return 0; } /** * Helper function setting up device handles as addressed by the naming * convention of the given `fio_file` filename. * * Checks thread-options for explicit control of asynchronous implementation via * the ``--xnvme_async={thrpool,emu,posix,io_uring,libaio,nil}``. */ static int _dev_open(struct thread_data *td, struct fio_file *f) { struct xnvme_opts opts = xnvme_opts_from_fioe(td); struct xnvme_fioe_options *o = td->eo; struct xnvme_fioe_data *xd = td->io_ops_data; struct xnvme_fioe_fwrap *fwrap; int flags = 0; int err; if (f->fileno > (int)xd->nallocated) { log_err("ioeng->_dev_open(%s): invalid assumption\n", f->file_name); return 1; } fwrap = &xd->files[f->fileno]; err = pthread_mutex_lock(&g_serialize); if (err) { log_err("ioeng->_dev_open(%s): pthread_mutex_lock(), err(%d)\n", f->file_name, err); return -err; } fwrap->dev = xnvme_dev_open(f->file_name, &opts); if (!fwrap->dev) { log_err("ioeng->_dev_open(%s): xnvme_dev_open(), err(%d)\n", f->file_name, errno); goto failure; } fwrap->geo = xnvme_dev_get_geo(fwrap->dev); if (xnvme_queue_init(fwrap->dev, td->o.iodepth, flags, &(fwrap->queue))) { log_err("ioeng->_dev_open(%s): xnvme_queue_init(), err(?)\n", f->file_name); goto failure; } xnvme_queue_set_cb(fwrap->queue, cb_pool, NULL); fwrap->ssw = xnvme_dev_get_ssw(fwrap->dev); fwrap->lba_nbytes = fwrap->geo->lba_nbytes; fwrap->md_nbytes = fwrap->geo->nbytes_oob; if (fwrap->geo->lba_extended) fwrap->lba_pow2 = 0; else fwrap->lba_pow2 = 1; /* * When PI action is set and PI size is equal to metadata size, the * controller inserts/removes PI. So update the LBA data and metadata * sizes accordingly. */ if (o->pi_act && fwrap->geo->pi_type && fwrap->geo->nbytes_oob == xnvme_pi_size(fwrap->geo->pi_format)) { if (fwrap->geo->lba_extended) { fwrap->lba_nbytes -= fwrap->geo->nbytes_oob; fwrap->lba_pow2 = 1; } fwrap->md_nbytes = 0; } if (_verify_options(td, f, fwrap)) { td_verror(td, EINVAL, "_dev_open"); goto failure; } fwrap->fio_file = f; fwrap->fio_file->filetype = FIO_TYPE_BLOCK; fwrap->fio_file->real_file_size = fwrap->geo->tbytes; fio_file_set_size_known(fwrap->fio_file); err = pthread_mutex_unlock(&g_serialize); if (err) log_err("ioeng->_dev_open(%s): pthread_mutex_unlock(), err(%d)\n", f->file_name, err); return 0; failure: xnvme_queue_term(fwrap->queue); xnvme_dev_close(fwrap->dev); err = pthread_mutex_unlock(&g_serialize); if (err) log_err("ioeng->_dev_open(%s): pthread_mutex_unlock(), err(%d)\n", f->file_name, err); return 1; } static int xnvme_fioe_init(struct thread_data *td) { struct xnvme_fioe_data *xd = NULL; struct xnvme_fioe_options *o = td->eo; struct fio_file *f; unsigned int i; if (!td->o.use_thread) { log_err("ioeng->init(): --thread=1 is required\n"); return 1; } /* Allocate xd and iocq */ xd = calloc(1, sizeof(*xd) + sizeof(*xd->files) * td->o.nr_files); if (!xd) { log_err("ioeng->init(): !calloc(), err(%d)\n", errno); return 1; } xd->iocq = calloc(td->o.iodepth, sizeof(struct io_u *)); if (!xd->iocq) { free(xd); log_err("ioeng->init(): !calloc(xd->iocq), err(%d)\n", errno); return 1; } if (o->xnvme_iovec) { xd->iovec = calloc(td->o.iodepth, sizeof(*xd->iovec)); if (!xd->iovec) { free(xd->iocq); free(xd); log_err("ioeng->init(): !calloc(xd->iovec), err(%d)\n", errno); return 1; } } if (o->xnvme_iovec && o->md_per_io_size) { xd->md_iovec = calloc(td->o.iodepth, sizeof(*xd->md_iovec)); if (!xd->md_iovec) { free(xd->iocq); free(xd->iovec); free(xd); log_err("ioeng->init(): !calloc(xd->md_iovec), err(%d)\n", errno); return 1; } } xd->prev = -1; td->io_ops_data = xd; for_each_file(td, f, i) { if (_dev_open(td, f)) { /* * Note: We are not freeing xd, iocq, iovec and md_iovec. * This will be done as part of cleanup routine. */ log_err("ioeng->init(): failed; _dev_open(%s)\n", f->file_name); return 1; } ++(xd->nallocated); } if (xd->nallocated != td->o.nr_files) { log_err("ioeng->init(): failed; nallocated != td->o.nr_files\n"); return 1; } return 0; } /* NOTE: using the first device for buffer-allocators) */ static int xnvme_fioe_iomem_alloc(struct thread_data *td, size_t total_mem) { struct xnvme_fioe_data *xd = td->io_ops_data; struct xnvme_fioe_fwrap *fwrap = &xd->files[0]; if (!fwrap->dev) { log_err("ioeng->iomem_alloc(): failed; no dev-handle\n"); return 1; } td->orig_buffer = xnvme_buf_alloc(fwrap->dev, total_mem); return td->orig_buffer == NULL; } /* NOTE: using the first device for buffer-allocators) */ static void xnvme_fioe_iomem_free(struct thread_data *td) { struct xnvme_fioe_data *xd = NULL; struct xnvme_fioe_fwrap *fwrap = NULL; if (!td->io_ops_data) return; xd = td->io_ops_data; fwrap = &xd->files[0]; if (!fwrap->dev) { log_err("ioeng->iomem_free(): failed no dev-handle\n"); return; } xnvme_buf_free(fwrap->dev, td->orig_buffer); } static int xnvme_fioe_io_u_init(struct thread_data *td, struct io_u *io_u) { struct xnvme_fioe_request *fio_req; struct xnvme_fioe_options *o = td->eo; struct xnvme_fioe_data *xd = td->io_ops_data; struct xnvme_fioe_fwrap *fwrap = &xd->files[0]; if (!fwrap->dev) { log_err("ioeng->io_u_init(): failed; no dev-handle\n"); return 1; } io_u->mmap_data = td->io_ops_data; io_u->engine_data = NULL; fio_req = calloc(1, sizeof(*fio_req)); if (!fio_req) { log_err("ioeng->io_u_init(): !calloc(fio_req), err(%d)\n", errno); return 1; } if (o->md_per_io_size) { fio_req->md_buf = xnvme_buf_alloc(fwrap->dev, o->md_per_io_size); if (!fio_req->md_buf) { free(fio_req); return 1; } } io_u->engine_data = fio_req; return 0; } static void xnvme_fioe_io_u_free(struct thread_data *td, struct io_u *io_u) { struct xnvme_fioe_data *xd = NULL; struct xnvme_fioe_fwrap *fwrap = NULL; struct xnvme_fioe_request *fio_req = NULL; if (!td->io_ops_data) return; xd = td->io_ops_data; fwrap = &xd->files[0]; if (!fwrap->dev) { log_err("ioeng->io_u_free(): failed no dev-handle\n"); return; } fio_req = io_u->engine_data; if (fio_req->md_buf) xnvme_buf_free(fwrap->dev, fio_req->md_buf); free(fio_req); io_u->mmap_data = NULL; } static struct io_u *xnvme_fioe_event(struct thread_data *td, int event) { struct xnvme_fioe_data *xd = td->io_ops_data; assert(event >= 0); assert((unsigned)event < xd->completed); return xd->iocq[event]; } static int xnvme_fioe_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { struct xnvme_fioe_data *xd = td->io_ops_data; struct xnvme_fioe_fwrap *fwrap = NULL; int nfiles = xd->nallocated; int err = 0; if (xd->prev != -1 && ++xd->prev < nfiles) { fwrap = &xd->files[xd->prev]; xd->cur = xd->prev; } xd->completed = 0; for (;;) { if (fwrap == NULL || xd->cur == nfiles) { fwrap = &xd->files[0]; xd->cur = 0; } while (fwrap != NULL && xd->cur < nfiles && err >= 0) { err = xnvme_queue_poke(fwrap->queue, max - xd->completed); if (err < 0) { switch (err) { case -EBUSY: case -EAGAIN: usleep(1); break; default: log_err("ioeng->getevents(): unhandled IO error\n"); assert(false); return 0; } } if (xd->completed >= min) { xd->prev = xd->cur; return xd->completed; } xd->cur++; fwrap = &xd->files[xd->cur]; if (err < 0) { switch (err) { case -EBUSY: case -EAGAIN: usleep(1); break; } } } } xd->cur = 0; return xd->completed; } static enum fio_q_status xnvme_fioe_queue(struct thread_data *td, struct io_u *io_u) { struct xnvme_fioe_data *xd = td->io_ops_data; struct xnvme_fioe_options *o = td->eo; struct xnvme_fioe_fwrap *fwrap; struct xnvme_cmd_ctx *ctx; struct xnvme_fioe_request *fio_req = io_u->engine_data; uint32_t nsid; uint64_t slba; uint16_t nlb; int err; bool vectored_io = ((struct xnvme_fioe_options *)td->eo)->xnvme_iovec; uint32_t dir = io_u->dtype; fio_ro_check(td, io_u); fwrap = &xd->files[io_u->file->fileno]; nsid = xnvme_dev_get_nsid(fwrap->dev); if (fwrap->lba_pow2) { slba = io_u->offset >> fwrap->ssw; nlb = (io_u->xfer_buflen >> fwrap->ssw) - 1; } else { slba = io_u->offset / fwrap->lba_nbytes; nlb = (io_u->xfer_buflen / fwrap->lba_nbytes) - 1; } ctx = xnvme_queue_get_cmd_ctx(fwrap->queue); ctx->async.cb_arg = io_u; ctx->cmd.common.nsid = nsid; ctx->cmd.nvm.slba = slba; ctx->cmd.nvm.nlb = nlb; if (dir) { ctx->cmd.nvm.dtype = io_u->dtype; ctx->cmd.nvm.cdw13.dspec = io_u->dspec; } switch (io_u->ddir) { case DDIR_READ: ctx->cmd.common.opcode = XNVME_SPEC_NVM_OPC_READ; break; case DDIR_WRITE: ctx->cmd.common.opcode = XNVME_SPEC_NVM_OPC_WRITE; break; default: log_err("ioeng->queue(): ENOSYS: %u\n", io_u->ddir); xnvme_queue_put_cmd_ctx(ctx->async.queue, ctx); io_u->error = ENOSYS; assert(false); return FIO_Q_COMPLETED; } if (fwrap->geo->pi_type && !o->pi_act) { err = xnvme_pi_ctx_init(&fio_req->pi_ctx, fwrap->lba_nbytes, fwrap->geo->nbytes_oob, fwrap->geo->lba_extended, fwrap->geo->pi_loc, fwrap->geo->pi_type, (o->pi_act << 3 | o->prchk), slba, o->apptag_mask, o->apptag, fwrap->geo->pi_format); if (err) { log_err("ioeng->queue(): err: '%d'\n", err); xnvme_queue_put_cmd_ctx(ctx->async.queue, ctx); io_u->error = abs(err); return FIO_Q_COMPLETED; } if (io_u->ddir == DDIR_WRITE) xnvme_pi_generate(&fio_req->pi_ctx, io_u->xfer_buf, fio_req->md_buf, nlb + 1); } if (fwrap->geo->pi_type) ctx->cmd.nvm.prinfo = (o->pi_act << 3 | o->prchk); switch (fwrap->geo->pi_type) { case XNVME_PI_TYPE1: case XNVME_PI_TYPE2: switch (fwrap->geo->pi_format) { case XNVME_SPEC_NVM_NS_16B_GUARD: if (o->prchk & XNVME_PI_FLAGS_REFTAG_CHECK) ctx->cmd.nvm.ilbrt = (uint32_t)slba; break; case XNVME_SPEC_NVM_NS_64B_GUARD: if (o->prchk & XNVME_PI_FLAGS_REFTAG_CHECK) { ctx->cmd.nvm.ilbrt = (uint32_t)slba; ctx->cmd.common.cdw03 = ((slba >> 32) & 0xffff); } break; default: break; } if (o->prchk & XNVME_PI_FLAGS_APPTAG_CHECK) { ctx->cmd.nvm.lbat = o->apptag; ctx->cmd.nvm.lbatm = o->apptag_mask; } break; case XNVME_PI_TYPE3: if (o->prchk & XNVME_PI_FLAGS_APPTAG_CHECK) { ctx->cmd.nvm.lbat = o->apptag; ctx->cmd.nvm.lbatm = o->apptag_mask; } break; case XNVME_PI_DISABLE: break; } if (vectored_io) { xd->iovec[io_u->index].iov_base = io_u->xfer_buf; xd->iovec[io_u->index].iov_len = io_u->xfer_buflen; if (fwrap->md_nbytes && fwrap->lba_pow2) { xd->md_iovec[io_u->index].iov_base = fio_req->md_buf; xd->md_iovec[io_u->index].iov_len = fwrap->md_nbytes * (nlb + 1); err = xnvme_cmd_passv(ctx, &xd->iovec[io_u->index], 1, io_u->xfer_buflen, &xd->md_iovec[io_u->index], 1, fwrap->md_nbytes * (nlb + 1)); } else { err = xnvme_cmd_passv(ctx, &xd->iovec[io_u->index], 1, io_u->xfer_buflen, NULL, 0, 0); } } else { if (fwrap->md_nbytes && fwrap->lba_pow2) err = xnvme_cmd_pass(ctx, io_u->xfer_buf, io_u->xfer_buflen, fio_req->md_buf, fwrap->md_nbytes * (nlb + 1)); else err = xnvme_cmd_pass(ctx, io_u->xfer_buf, io_u->xfer_buflen, NULL, 0); } switch (err) { case 0: return FIO_Q_QUEUED; case -EBUSY: case -EAGAIN: xnvme_queue_put_cmd_ctx(ctx->async.queue, ctx); return FIO_Q_BUSY; default: log_err("ioeng->queue(): err: '%d'\n", err); xnvme_queue_put_cmd_ctx(ctx->async.queue, ctx); io_u->error = abs(err); assert(false); return FIO_Q_COMPLETED; } } static int xnvme_fioe_close(struct thread_data *td, struct fio_file *f) { struct xnvme_fioe_data *xd = td->io_ops_data; dprint(FD_FILE, "xnvme close %s -- nopen: %ld\n", f->file_name, xd->nopen); --(xd->nopen); return 0; } static int xnvme_fioe_open(struct thread_data *td, struct fio_file *f) { struct xnvme_fioe_data *xd = td->io_ops_data; dprint(FD_FILE, "xnvme open %s -- nopen: %ld\n", f->file_name, xd->nopen); if (f->fileno > (int)xd->nallocated) { log_err("ioeng->open(): f->fileno > xd->nallocated; invalid assumption\n"); return 1; } if (xd->files[f->fileno].fio_file != f) { log_err("ioeng->open(): fio_file != f; invalid assumption\n"); return 1; } ++(xd->nopen); return 0; } static int xnvme_fioe_invalidate(struct thread_data *td, struct fio_file *f) { /* Consider only doing this with be:spdk */ return 0; } static int xnvme_fioe_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones) { struct xnvme_opts opts = xnvme_opts_from_fioe(td); struct xnvme_dev *dev; const struct xnvme_spec_znd_idfy_ns *zns; int err = 0, err_lock; if (f->filetype != FIO_TYPE_FILE && f->filetype != FIO_TYPE_BLOCK && f->filetype != FIO_TYPE_CHAR) { log_info("ioeng->get_max_open_zoned(): ignoring filetype: %d\n", f->filetype); return 0; } err_lock = pthread_mutex_lock(&g_serialize); if (err_lock) { log_err("ioeng->get_max_open_zones(): pthread_mutex_lock(), err(%d)\n", err_lock); return -err_lock; } dev = xnvme_dev_open(f->file_name, &opts); if (!dev) { log_err("ioeng->get_max_open_zones(): xnvme_dev_open(), err(%d)\n", err_lock); err = -errno; goto exit; } if (xnvme_dev_get_geo(dev)->type != XNVME_GEO_ZONED) { errno = EINVAL; err = -errno; goto exit; } zns = (void *)xnvme_dev_get_ns_css(dev); if (!zns) { log_err("ioeng->get_max_open_zones(): xnvme_dev_get_ns_css(), err(%d)\n", errno); err = -errno; goto exit; } /* * intentional overflow as the value is zero-based and NVMe * defines 0xFFFFFFFF as unlimited thus overflowing to 0 which * is how fio indicates unlimited and otherwise just converting * to one-based. */ *max_open_zones = zns->mor + 1; exit: xnvme_dev_close(dev); err_lock = pthread_mutex_unlock(&g_serialize); if (err_lock) log_err("ioeng->get_max_open_zones(): pthread_mutex_unlock(), err(%d)\n", err_lock); return err; } /** * Currently, this function is called before of I/O engine initialization, so, * we cannot consult the file-wrapping done when 'fioe' initializes. * Instead we just open based on the given filename. * * TODO: unify the different setup methods, consider keeping the handle around, * and consider how to support the --be option in this usecase */ static int xnvme_fioe_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model) { struct xnvme_opts opts = xnvme_opts_from_fioe(td); struct xnvme_dev *dev; int err = 0, err_lock; if (f->filetype != FIO_TYPE_FILE && f->filetype != FIO_TYPE_BLOCK && f->filetype != FIO_TYPE_CHAR) { log_info("ioeng->get_zoned_model(): ignoring filetype: %d\n", f->filetype); return -EINVAL; } err = pthread_mutex_lock(&g_serialize); if (err) { log_err("ioeng->get_zoned_model(): pthread_mutex_lock(), err(%d)\n", err); return -err; } dev = xnvme_dev_open(f->file_name, &opts); if (!dev) { log_err("ioeng->get_zoned_model(): xnvme_dev_open(%s) failed, errno: %d\n", f->file_name, errno); err = -errno; goto exit; } switch (xnvme_dev_get_geo(dev)->type) { case XNVME_GEO_UNKNOWN: dprint(FD_ZBD, "%s: got 'unknown', assigning ZBD_NONE\n", f->file_name); *model = ZBD_NONE; break; case XNVME_GEO_CONVENTIONAL: dprint(FD_ZBD, "%s: got 'conventional', assigning ZBD_NONE\n", f->file_name); *model = ZBD_NONE; break; case XNVME_GEO_ZONED: dprint(FD_ZBD, "%s: got 'zoned', assigning ZBD_HOST_MANAGED\n", f->file_name); *model = ZBD_HOST_MANAGED; break; default: dprint(FD_ZBD, "%s: hit-default, assigning ZBD_NONE\n", f->file_name); *model = ZBD_NONE; errno = EINVAL; err = -errno; break; } exit: xnvme_dev_close(dev); err_lock = pthread_mutex_unlock(&g_serialize); if (err_lock) log_err("ioeng->get_zoned_model(): pthread_mutex_unlock(), err(%d)\n", err_lock); return err; } /** * Fills the given ``zbdz`` with at most ``nr_zones`` zone-descriptors. * * The implementation converts the NVMe Zoned Command Set log-pages for Zone * descriptors into the Linux Kernel Zoned Block Report format. * * NOTE: This function is called before I/O engine initialization, that is, * before ``_dev_open`` has been called and file-wrapping is setup. Thus is has * to do the ``_dev_open`` itself, and shut it down again once it is done * retrieving the log-pages and converting them to the report format. * * TODO: unify the different setup methods, consider keeping the handle around, * and consider how to support the --async option in this usecase */ static int xnvme_fioe_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zbdz, unsigned int nr_zones) { struct xnvme_opts opts = xnvme_opts_from_fioe(td); const struct xnvme_spec_znd_idfy_lbafe *lbafe = NULL; struct xnvme_dev *dev = NULL; const struct xnvme_geo *geo = NULL; struct xnvme_znd_report *rprt = NULL; uint32_t ssw; uint64_t slba; unsigned int limit = 0; int err = 0, err_lock; dprint(FD_ZBD, "%s: report_zones() offset: %zu, nr_zones: %u\n", f->file_name, offset, nr_zones); err = pthread_mutex_lock(&g_serialize); if (err) { log_err("ioeng->report_zones(%s): pthread_mutex_lock(), err(%d)\n", f->file_name, err); return -err; } dev = xnvme_dev_open(f->file_name, &opts); if (!dev) { log_err("ioeng->report_zones(%s): xnvme_dev_open(), err(%d)\n", f->file_name, errno); goto exit; } geo = xnvme_dev_get_geo(dev); ssw = xnvme_dev_get_ssw(dev); lbafe = xnvme_znd_dev_get_lbafe(dev); limit = nr_zones > geo->nzone ? geo->nzone : nr_zones; dprint(FD_ZBD, "%s: limit: %u\n", f->file_name, limit); slba = ((offset >> ssw) / geo->nsect) * geo->nsect; rprt = xnvme_znd_report_from_dev(dev, slba, limit, 0); if (!rprt) { log_err("ioeng->report_zones(%s): xnvme_znd_report_from_dev(), err(%d)\n", f->file_name, errno); err = -errno; goto exit; } if (rprt->nentries != limit) { log_err("ioeng->report_zones(%s): nentries != nr_zones\n", f->file_name); err = 1; goto exit; } if (offset > geo->tbytes) { log_err("ioeng->report_zones(%s): out-of-bounds\n", f->file_name); goto exit; } /* Transform the zone-report */ for (uint32_t idx = 0; idx < rprt->nentries; ++idx) { struct xnvme_spec_znd_descr *descr = XNVME_ZND_REPORT_DESCR(rprt, idx); zbdz[idx].start = descr->zslba << ssw; zbdz[idx].len = lbafe->zsze << ssw; zbdz[idx].capacity = descr->zcap << ssw; zbdz[idx].wp = descr->wp << ssw; switch (descr->zt) { case XNVME_SPEC_ZND_TYPE_SEQWR: zbdz[idx].type = ZBD_ZONE_TYPE_SWR; break; default: log_err("ioeng->report_zones(%s): invalid type for zone at offset(%zu)\n", f->file_name, zbdz[idx].start); err = -EIO; goto exit; } switch (descr->zs) { case XNVME_SPEC_ZND_STATE_EMPTY: zbdz[idx].cond = ZBD_ZONE_COND_EMPTY; break; case XNVME_SPEC_ZND_STATE_IOPEN: zbdz[idx].cond = ZBD_ZONE_COND_IMP_OPEN; break; case XNVME_SPEC_ZND_STATE_EOPEN: zbdz[idx].cond = ZBD_ZONE_COND_EXP_OPEN; break; case XNVME_SPEC_ZND_STATE_CLOSED: zbdz[idx].cond = ZBD_ZONE_COND_CLOSED; break; case XNVME_SPEC_ZND_STATE_FULL: zbdz[idx].cond = ZBD_ZONE_COND_FULL; break; case XNVME_SPEC_ZND_STATE_RONLY: case XNVME_SPEC_ZND_STATE_OFFLINE: default: zbdz[idx].cond = ZBD_ZONE_COND_OFFLINE; break; } } exit: xnvme_buf_virt_free(rprt); xnvme_dev_close(dev); err_lock = pthread_mutex_unlock(&g_serialize); if (err_lock) log_err("ioeng->report_zones(): pthread_mutex_unlock(), err: %d\n", err_lock); dprint(FD_ZBD, "err: %d, nr_zones: %d\n", err, (int)nr_zones); return err ? err : (int)limit; } /** * NOTE: This function may get called before I/O engine initialization, that is, * before ``_dev_open`` has been called and file-wrapping is setup. In such * case it has to do ``_dev_open`` itself, and shut it down again once it is * done resetting write pointer of zones. */ static int xnvme_fioe_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { struct xnvme_opts opts = xnvme_opts_from_fioe(td); struct xnvme_fioe_data *xd = NULL; struct xnvme_fioe_fwrap *fwrap = NULL; struct xnvme_dev *dev = NULL; const struct xnvme_geo *geo = NULL; uint64_t first, last; uint32_t ssw; uint32_t nsid; int err = 0, err_lock; if (td->io_ops_data) { xd = td->io_ops_data; fwrap = &xd->files[f->fileno]; assert(fwrap->dev); assert(fwrap->geo); dev = fwrap->dev; geo = fwrap->geo; ssw = fwrap->ssw; } else { err = pthread_mutex_lock(&g_serialize); if (err) { log_err("ioeng->reset_wp(): pthread_mutex_lock(), err(%d)\n", err); return -err; } dev = xnvme_dev_open(f->file_name, &opts); if (!dev) { log_err("ioeng->reset_wp(): xnvme_dev_open(%s) failed, errno(%d)\n", f->file_name, errno); goto exit; } geo = xnvme_dev_get_geo(dev); ssw = xnvme_dev_get_ssw(dev); } nsid = xnvme_dev_get_nsid(dev); first = ((offset >> ssw) / geo->nsect) * geo->nsect; last = (((offset + length) >> ssw) / geo->nsect) * geo->nsect; dprint(FD_ZBD, "first: 0x%lx, last: 0x%lx\n", first, last); for (uint64_t zslba = first; zslba < last; zslba += geo->nsect) { struct xnvme_cmd_ctx ctx = xnvme_cmd_ctx_from_dev(dev); if (zslba >= (geo->nsect * geo->nzone)) { log_err("ioeng->reset_wp(): out-of-bounds\n"); err = 0; break; } err = xnvme_znd_mgmt_send(&ctx, nsid, zslba, false, XNVME_SPEC_ZND_CMD_MGMT_SEND_RESET, 0x0, NULL); if (err || xnvme_cmd_ctx_cpl_status(&ctx)) { err = err ? err : -EIO; log_err("ioeng->reset_wp(): err(%d), sc(%d)", err, ctx.cpl.status.sc); goto exit; } } exit: if (!td->io_ops_data) { xnvme_dev_close(dev); err_lock = pthread_mutex_unlock(&g_serialize); if (err_lock) log_err("ioeng->reset_wp(): pthread_mutex_unlock(), err(%d)\n", err_lock); } return err; } static int xnvme_fioe_fetch_ruhs(struct thread_data *td, struct fio_file *f, struct fio_ruhs_info *fruhs_info) { struct xnvme_opts opts = xnvme_opts_from_fioe(td); struct xnvme_dev *dev; struct xnvme_spec_ruhs *ruhs; struct xnvme_cmd_ctx ctx; uint32_t ruhs_nbytes, nr_ruhs; uint32_t nsid; int err = 0, err_lock; if (f->filetype != FIO_TYPE_CHAR && f->filetype != FIO_TYPE_FILE) { log_err("ioeng->fdp_ruhs(): ignoring filetype: %d\n", f->filetype); return -EINVAL; } err = pthread_mutex_lock(&g_serialize); if (err) { log_err("ioeng->fdp_ruhs(): pthread_mutex_lock(), err(%d)\n", err); return -err; } dev = xnvme_dev_open(f->file_name, &opts); if (!dev) { log_err("ioeng->fdp_ruhs(): xnvme_dev_open(%s) failed, errno: %d\n", f->file_name, errno); err = -errno; goto exit; } nr_ruhs = fruhs_info->nr_ruhs; ruhs_nbytes = sizeof(*ruhs) + (fruhs_info->nr_ruhs * sizeof(struct xnvme_spec_ruhs_desc)); ruhs = xnvme_buf_alloc(dev, ruhs_nbytes); if (!ruhs) { err = -errno; goto exit; } memset(ruhs, 0, ruhs_nbytes); ctx = xnvme_cmd_ctx_from_dev(dev); nsid = xnvme_dev_get_nsid(dev); err = xnvme_nvm_mgmt_recv(&ctx, nsid, XNVME_SPEC_IO_MGMT_RECV_RUHS, 0, ruhs, ruhs_nbytes); if (err || xnvme_cmd_ctx_cpl_status(&ctx)) { err = err ? err : -EIO; log_err("ioeng->fdp_ruhs(): err(%d), sc(%d)", err, ctx.cpl.status.sc); goto free_buffer; } fruhs_info->nr_ruhs = ruhs->nruhsd; for (uint32_t idx = 0; idx < nr_ruhs; ++idx) { fruhs_info->plis[idx] = le16_to_cpu(ruhs->desc[idx].pi); } free_buffer: xnvme_buf_free(dev, ruhs); exit: xnvme_dev_close(dev); err_lock = pthread_mutex_unlock(&g_serialize); if (err_lock) log_err("ioeng->fdp_ruhs(): pthread_mutex_unlock(), err(%d)\n", err_lock); return err; } static int xnvme_fioe_get_file_size(struct thread_data *td, struct fio_file *f) { struct xnvme_opts opts = xnvme_opts_from_fioe(td); struct xnvme_dev *dev; int ret = 0, err; if (fio_file_size_known(f)) return 0; ret = pthread_mutex_lock(&g_serialize); if (ret) { log_err("ioeng->reset_wp(): pthread_mutex_lock(), err(%d)\n", ret); return -ret; } dev = xnvme_dev_open(f->file_name, &opts); if (!dev) { log_err("%s: failed retrieving device handle, errno: %d\n", f->file_name, errno); ret = -errno; goto exit; } f->real_file_size = xnvme_dev_get_geo(dev)->tbytes; fio_file_set_size_known(f); if (td->o.zone_mode == ZONE_MODE_ZBD) f->filetype = FIO_TYPE_BLOCK; exit: xnvme_dev_close(dev); err = pthread_mutex_unlock(&g_serialize); if (err) log_err("ioeng->reset_wp(): pthread_mutex_unlock(), err(%d)\n", err); return ret; } FIO_STATIC struct ioengine_ops ioengine = { .name = "xnvme", .version = FIO_IOOPS_VERSION, .options = options, .option_struct_size = sizeof(struct xnvme_fioe_options), .flags = FIO_DISKLESSIO | FIO_NODISKUTIL | FIO_NOEXTEND | FIO_MEMALIGN | FIO_RAWIO, .cleanup = xnvme_fioe_cleanup, .init = xnvme_fioe_init, .iomem_free = xnvme_fioe_iomem_free, .iomem_alloc = xnvme_fioe_iomem_alloc, .io_u_free = xnvme_fioe_io_u_free, .io_u_init = xnvme_fioe_io_u_init, .event = xnvme_fioe_event, .getevents = xnvme_fioe_getevents, .queue = xnvme_fioe_queue, .close_file = xnvme_fioe_close, .open_file = xnvme_fioe_open, .get_file_size = xnvme_fioe_get_file_size, .invalidate = xnvme_fioe_invalidate, .get_max_open_zones = xnvme_fioe_get_max_open_zones, .get_zoned_model = xnvme_fioe_get_zoned_model, .report_zones = xnvme_fioe_report_zones, .reset_wp = xnvme_fioe_reset_wp, .fdp_fetch_ruhs = xnvme_fioe_fetch_ruhs, }; static void fio_init fio_xnvme_register(void) { register_ioengine(&ioengine); } static void fio_exit fio_xnvme_unregister(void) { unregister_ioengine(&ioengine); } fio-3.39/err.h000066400000000000000000000015341476262051600132020ustar00rootroot00000000000000#ifndef FIO_ERR_H #define FIO_ERR_H /* * Kernel pointers have redundant information, so we can use a * scheme where we can return either an error code or a dentry * pointer with the same return value. * * This should be a per-architecture thing, to allow different * error and pointer decisions. */ #define MAX_ERRNO 4095 #define IS_ERR_VALUE(x) ((x) >= (uintptr_t)-MAX_ERRNO) static inline void *ERR_PTR(uintptr_t error) { return (void *) error; } static inline uintptr_t PTR_ERR(const void *ptr) { return (uintptr_t) ptr; } static inline uintptr_t IS_ERR(const void *ptr) { return IS_ERR_VALUE((uintptr_t)ptr); } static inline uintptr_t IS_ERR_OR_NULL(const void *ptr) { return !ptr || IS_ERR_VALUE((uintptr_t)ptr); } static inline int PTR_ERR_OR_ZERO(const void *ptr) { if (IS_ERR(ptr)) return PTR_ERR(ptr); else return 0; } #endif fio-3.39/eta.c000066400000000000000000000420541476262051600131600ustar00rootroot00000000000000/* * Status and ETA code */ #include #include #include #ifdef CONFIG_VALGRIND_DEV #include #else #define DRD_IGNORE_VAR(x) do { } while (0) #endif #include "fio.h" #include "lib/pow2.h" static char __run_str[REAL_MAX_JOBS + 1]; static char run_str[__THREAD_RUNSTR_SZ(REAL_MAX_JOBS) + 1]; static void update_condensed_str(char *rstr, char *run_str_condensed) { if (*rstr) { while (*rstr) { int nr = 1; *run_str_condensed++ = *rstr++; while (*(rstr - 1) == *rstr) { rstr++; nr++; } run_str_condensed += sprintf(run_str_condensed, "(%u),", nr); } run_str_condensed--; } *run_str_condensed = '\0'; } /* * Sets the status of the 'td' in the printed status map. */ static void check_str_update(struct thread_data *td) { char c = __run_str[td->thread_number - 1]; switch (td->runstate) { case TD_REAPED: if (td->error) c = 'X'; else if (td->sig) c = 'K'; else c = '_'; break; case TD_EXITED: c = 'E'; break; case TD_RAMP: c = '/'; break; case TD_RUNNING: if (td_rw(td)) { if (td_random(td)) { if (td->o.rwmix[DDIR_READ] == 100) c = 'r'; else if (td->o.rwmix[DDIR_WRITE] == 100) c = 'w'; else c = 'm'; } else { if (td->o.rwmix[DDIR_READ] == 100) c = 'R'; else if (td->o.rwmix[DDIR_WRITE] == 100) c = 'W'; else c = 'M'; } } else if (td_read(td)) { if (td_random(td)) c = 'r'; else c = 'R'; } else if (td_write(td)) { if (td_random(td)) c = 'w'; else c = 'W'; } else { if (td_random(td)) c = 'd'; else c = 'D'; } break; case TD_PRE_READING: c = 'p'; break; case TD_VERIFYING: c = 'V'; break; case TD_FSYNCING: c = 'F'; break; case TD_FINISHING: c = 'f'; break; case TD_CREATED: c = 'C'; break; case TD_INITIALIZED: case TD_SETTING_UP: c = 'I'; break; case TD_NOT_CREATED: c = 'P'; break; default: log_err("state %d\n", td->runstate); } __run_str[td->thread_number - 1] = c; update_condensed_str(__run_str, run_str); } /* * Convert seconds to a printable string. */ void eta_to_str(char *str, unsigned long eta_sec) { unsigned int d, h, m, s; int disp_hour = 0; if (eta_sec == -1) { sprintf(str, "--"); return; } s = eta_sec % 60; eta_sec /= 60; m = eta_sec % 60; eta_sec /= 60; h = eta_sec % 24; eta_sec /= 24; d = eta_sec; if (d) { disp_hour = 1; str += sprintf(str, "%02ud:", d); } if (h || disp_hour) str += sprintf(str, "%02uh:", h); str += sprintf(str, "%02um:", m); sprintf(str, "%02us", s); } /* * Best effort calculation of the estimated pending runtime of a job. */ static unsigned long thread_eta(struct thread_data *td) { unsigned long long bytes_total, bytes_done; unsigned long eta_sec = 0; unsigned long elapsed; uint64_t timeout; elapsed = (mtime_since_now(&td->epoch) + 999) / 1000; timeout = td->o.timeout / 1000000UL; bytes_total = td->total_io_size; if (td->flags & TD_F_NO_PROGRESS) return -1; if (td->o.fill_device && td->o.size == -1ULL) { if (!td->fill_device_size || td->fill_device_size == -1ULL) return 0; bytes_total = td->fill_device_size; } /* * If io_size is set, bytes_total is an exact value that does not need * adjustment. */ if (td->o.zone_size && td->o.zone_skip && bytes_total && !fio_option_is_set(&td->o, io_size)) { unsigned int nr_zones; uint64_t zone_bytes; /* * Calculate the upper bound of the number of zones that will * be processed, including skipped bytes between zones. If this * is larger than total_io_size (e.g. when --io_size or --size * specify a small value), use the lower bound to avoid * adjustments to a negative value that would result in a very * large bytes_total and an incorrect eta. */ zone_bytes = td->o.zone_size + td->o.zone_skip; nr_zones = (bytes_total + zone_bytes - 1) / zone_bytes; if (bytes_total < nr_zones * td->o.zone_skip) nr_zones = bytes_total / zone_bytes; bytes_total -= nr_zones * td->o.zone_skip; } /* * if writing and verifying afterwards, bytes_total will be twice the * size. In a mixed workload, verify phase will be the size of the * first stage writes. */ if (td->o.do_verify && td->o.verify && td_write(td)) { if (td_rw(td)) { unsigned int perc = 50; if (td->o.rwmix[DDIR_WRITE]) perc = td->o.rwmix[DDIR_WRITE]; bytes_total += (bytes_total * perc) / 100; } else { bytes_total <<= 1; } } if (td->runstate == TD_RUNNING || td->runstate == TD_VERIFYING) { double perc, perc_t; bytes_done = ddir_rw_sum(td->io_bytes); if (bytes_total) { perc = (double) bytes_done / (double) bytes_total; if (perc > 1.0) perc = 1.0; } else { perc = 0.0; } if (td->o.time_based) { if (timeout) { perc_t = (double) elapsed / (double) timeout; if (perc_t < perc) perc = perc_t; } else { /* * Will never hit, we can't have time_based * without a timeout set. */ perc = 0.0; } } if (perc == 0.0) { eta_sec = timeout; } else { eta_sec = (unsigned long) (elapsed * (1.0 / perc)) - elapsed; } if (td->o.timeout && eta_sec > (timeout + done_secs - elapsed)) eta_sec = timeout + done_secs - elapsed; } else if (td->runstate == TD_NOT_CREATED || td->runstate == TD_CREATED || td->runstate == TD_INITIALIZED || td->runstate == TD_SETTING_UP || td->runstate == TD_RAMP || td->runstate == TD_PRE_READING) { int64_t t_eta = 0, r_eta = 0; unsigned long long rate_bytes; /* * We can only guess - assume it'll run the full timeout * if given, otherwise assume it'll run at the specified rate. */ if (td->o.timeout) { uint64_t __timeout = td->o.timeout; uint64_t start_delay = td->o.start_delay; uint64_t ramp_time = td->o.ramp_time; t_eta = __timeout + start_delay; if (!td->ramp_time_over) { t_eta += ramp_time; } t_eta /= 1000000ULL; if ((td->runstate == TD_RAMP) && in_ramp_time(td)) { unsigned long ramp_left; ramp_left = mtime_since_now(&td->epoch); ramp_left = (ramp_left + 999) / 1000; if (ramp_left <= t_eta) t_eta -= ramp_left; } } rate_bytes = 0; if (td_read(td)) rate_bytes = td->o.rate[DDIR_READ]; if (td_write(td)) rate_bytes += td->o.rate[DDIR_WRITE]; if (td_trim(td)) rate_bytes += td->o.rate[DDIR_TRIM]; if (rate_bytes) { r_eta = bytes_total / rate_bytes; r_eta += (td->o.start_delay / 1000000ULL); } if (r_eta && t_eta) eta_sec = min(r_eta, t_eta); else if (r_eta) eta_sec = r_eta; else if (t_eta) eta_sec = t_eta; else eta_sec = 0; } else { /* * thread is already done or waiting for fsync */ eta_sec = 0; } return eta_sec; } static void calc_rate(int unified_rw_rep, unsigned long mtime, unsigned long long *io_bytes, unsigned long long *prev_io_bytes, uint64_t *rate) { int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { unsigned long long diff, this_rate; diff = io_bytes[i] - prev_io_bytes[i]; if (mtime) this_rate = ((1000 * diff) / mtime) / 1024; /* KiB/s */ else this_rate = 0; if (unified_rw_rep == UNIFIED_MIXED) { rate[i] = 0; rate[0] += this_rate; } else rate[i] = this_rate; prev_io_bytes[i] = io_bytes[i]; } } static void calc_iops(int unified_rw_rep, unsigned long mtime, unsigned long long *io_iops, unsigned long long *prev_io_iops, unsigned int *iops) { int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { unsigned long long diff, this_iops; diff = io_iops[i] - prev_io_iops[i]; if (mtime) this_iops = (diff * 1000) / mtime; else this_iops = 0; if (unified_rw_rep == UNIFIED_MIXED) { iops[i] = 0; iops[0] += this_iops; } else iops[i] = this_iops; prev_io_iops[i] = io_iops[i]; } } /* * Allow a little slack - if we're within 95% of the time, allow ETA. */ bool eta_time_within_slack(unsigned int time) { return time > ((eta_interval_msec * 95) / 100); } /* * These are the conditions under which we might be able to skip the eta * calculation. */ static bool skip_eta() { if (!(output_format & FIO_OUTPUT_NORMAL) && f_out == stdout) return true; if (temp_stall_ts || eta_print == FIO_ETA_NEVER) return true; if (!isatty(STDOUT_FILENO) && eta_print != FIO_ETA_ALWAYS) return true; return false; } /* * Print status of the jobs we know about. This includes rate estimates, * ETA, thread state, etc. */ static bool calc_thread_status(struct jobs_eta *je, int force) { int unified_rw_rep; bool any_td_in_ramp; uint64_t rate_time, disp_time, bw_avg_time, *eta_secs; unsigned long long io_bytes[DDIR_RWDIR_CNT] = {}; unsigned long long io_iops[DDIR_RWDIR_CNT] = {}; struct timespec now; static unsigned long long rate_io_bytes[DDIR_RWDIR_CNT]; static unsigned long long disp_io_bytes[DDIR_RWDIR_CNT]; static unsigned long long disp_io_iops[DDIR_RWDIR_CNT]; static struct timespec rate_prev_time, disp_prev_time; bool ret = true; if (!force && skip_eta()) { if (write_bw_log) ret = false; else return false; } if (!ddir_rw_sum(rate_io_bytes)) fill_start_time(&rate_prev_time); if (!ddir_rw_sum(disp_io_bytes)) fill_start_time(&disp_prev_time); eta_secs = calloc(thread_number, sizeof(uint64_t)); je->elapsed_sec = (mtime_since_genesis() + 999) / 1000; bw_avg_time = ULONG_MAX; unified_rw_rep = 0; for_each_td(td) { unified_rw_rep += td->o.unified_rw_rep; if (is_power_of_2(td->o.kb_base)) je->is_pow2 = 1; je->unit_base = td->o.unit_base; je->sig_figs = td->o.sig_figs; if (td->o.bw_avg_time < bw_avg_time) bw_avg_time = td->o.bw_avg_time; if (td->runstate == TD_RUNNING || td->runstate == TD_VERIFYING || td->runstate == TD_FSYNCING || td->runstate == TD_PRE_READING || td->runstate == TD_FINISHING) { je->nr_running++; if (td_read(td)) { je->t_rate[0] += td->o.rate[DDIR_READ]; je->t_iops[0] += td->o.rate_iops[DDIR_READ]; je->m_rate[0] += td->o.ratemin[DDIR_READ]; je->m_iops[0] += td->o.rate_iops_min[DDIR_READ]; } if (td_write(td)) { je->t_rate[1] += td->o.rate[DDIR_WRITE]; je->t_iops[1] += td->o.rate_iops[DDIR_WRITE]; je->m_rate[1] += td->o.ratemin[DDIR_WRITE]; je->m_iops[1] += td->o.rate_iops_min[DDIR_WRITE]; } if (td_trim(td)) { je->t_rate[2] += td->o.rate[DDIR_TRIM]; je->t_iops[2] += td->o.rate_iops[DDIR_TRIM]; je->m_rate[2] += td->o.ratemin[DDIR_TRIM]; je->m_iops[2] += td->o.rate_iops_min[DDIR_TRIM]; } je->files_open += td->nr_open_files; } else if (td->runstate == TD_RAMP) { je->nr_running++; je->nr_ramp++; } else if (td->runstate == TD_SETTING_UP) je->nr_setting_up++; else if (td->runstate < TD_RUNNING) je->nr_pending++; if (je->elapsed_sec >= 3) eta_secs[__td_index] = thread_eta(td); else eta_secs[__td_index] = INT_MAX; check_str_update(td); if (td->runstate > TD_SETTING_UP) { int ddir; for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { if (unified_rw_rep) { io_bytes[0] += td->io_bytes[ddir]; io_iops[0] += td->io_blocks[ddir]; } else { io_bytes[ddir] += td->io_bytes[ddir]; io_iops[ddir] += td->io_blocks[ddir]; } } } } end_for_each(); if (exitall_on_terminate) { je->eta_sec = INT_MAX; for_each_td_index() { if (eta_secs[__td_index] < je->eta_sec) je->eta_sec = eta_secs[__td_index]; } end_for_each(); } else { unsigned long eta_stone = 0; je->eta_sec = 0; for_each_td(td) { if ((td->runstate == TD_NOT_CREATED) && td->o.stonewall) eta_stone += eta_secs[__td_index]; else { if (eta_secs[__td_index] > je->eta_sec) je->eta_sec = eta_secs[__td_index]; } } end_for_each(); je->eta_sec += eta_stone; } free(eta_secs); fio_gettime(&now, NULL); rate_time = mtime_since(&rate_prev_time, &now); any_td_in_ramp = false; for_each_td(td) { any_td_in_ramp |= in_ramp_time(td); } end_for_each(); if (write_bw_log && rate_time > bw_avg_time && !any_td_in_ramp) { calc_rate(unified_rw_rep, rate_time, io_bytes, rate_io_bytes, je->rate); memcpy(&rate_prev_time, &now, sizeof(now)); regrow_agg_logs(); for_each_rw_ddir(ddir) { add_agg_sample(sample_val(je->rate[ddir]), ddir, 0); } } disp_time = mtime_since(&disp_prev_time, &now); if (!force && !eta_time_within_slack(disp_time)) return false; calc_rate(unified_rw_rep, disp_time, io_bytes, disp_io_bytes, je->rate); calc_iops(unified_rw_rep, disp_time, io_iops, disp_io_iops, je->iops); memcpy(&disp_prev_time, &now, sizeof(now)); if (!force && !je->nr_running && !je->nr_pending) return false; je->nr_threads = thread_number; update_condensed_str(__run_str, run_str); memcpy(je->run_str, run_str, strlen(run_str)); return ret; } static int gen_eta_str(struct jobs_eta *je, char *p, size_t left, char **rate_str, char **iops_str) { static const char c[DDIR_RWDIR_CNT] = {'r', 'w', 't'}; bool has[DDIR_RWDIR_CNT]; bool has_any = false; const char *sep; int l = 0; for_each_rw_ddir(ddir) { has[ddir] = (je->rate[ddir] || je->iops[ddir]); has_any |= has[ddir]; } if (!has_any) return 0; l += snprintf(p + l, left - l, "["); sep = ""; for_each_rw_ddir(ddir) { if (has[ddir]) { l += snprintf(p + l, left - l, "%s%c=%s", sep, c[ddir], rate_str[ddir]); sep = ","; } } l += snprintf(p + l, left - l, "]["); sep = ""; for_each_rw_ddir(ddir) { if (has[ddir]) { l += snprintf(p + l, left - l, "%s%c=%s", sep, c[ddir], iops_str[ddir]); sep = ","; } } l += snprintf(p + l, left - l, " IOPS]"); return l; } void display_thread_status(struct jobs_eta *je) { static struct timespec disp_eta_new_line; static int eta_new_line_init, eta_new_line_pending; static int linelen_last; static int eta_good; char output[__THREAD_RUNSTR_SZ(REAL_MAX_JOBS) + 512], *p = output; char eta_str[128]; double perc = 0.0; if (je->eta_sec != INT_MAX && je->elapsed_sec) { perc = (double) je->elapsed_sec / (double) (je->elapsed_sec + je->eta_sec); eta_to_str(eta_str, je->eta_sec); } if (eta_new_line_pending) { eta_new_line_pending = 0; linelen_last = 0; p += sprintf(p, "\n"); } p += sprintf(p, "Jobs: %d (f=%d)", je->nr_running, je->files_open); /* rate limits, if any */ if (je->m_rate[0] || je->m_rate[1] || je->m_rate[2] || je->t_rate[0] || je->t_rate[1] || je->t_rate[2]) { char *tr, *mr; mr = num2str(je->m_rate[0] + je->m_rate[1] + je->m_rate[2], je->sig_figs, 1, je->is_pow2, N2S_BYTEPERSEC); tr = num2str(je->t_rate[0] + je->t_rate[1] + je->t_rate[2], je->sig_figs, 1, je->is_pow2, N2S_BYTEPERSEC); p += sprintf(p, ", %s-%s", mr, tr); free(tr); free(mr); } else if (je->m_iops[0] || je->m_iops[1] || je->m_iops[2] || je->t_iops[0] || je->t_iops[1] || je->t_iops[2]) { p += sprintf(p, ", %d-%d IOPS", je->m_iops[0] + je->m_iops[1] + je->m_iops[2], je->t_iops[0] + je->t_iops[1] + je->t_iops[2]); } /* current run string, % done, bandwidth, iops, eta */ if (je->eta_sec != INT_MAX && je->nr_running) { char perc_str[32]; char *iops_str[DDIR_RWDIR_CNT]; char *rate_str[DDIR_RWDIR_CNT]; size_t left; int l; int ddir; int linelen; if ((!je->eta_sec && !eta_good) || je->nr_ramp == je->nr_running || je->eta_sec == -1) strcpy(perc_str, "-.-%"); else { double mult = 100.0; if (je->nr_setting_up && je->nr_running) mult *= (1.0 - (double) je->nr_setting_up / (double) je->nr_running); eta_good = 1; perc *= mult; sprintf(perc_str, "%3.1f%%", perc); } for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { rate_str[ddir] = num2str(je->rate[ddir], 4, 1024, je->is_pow2, je->unit_base); iops_str[ddir] = num2str(je->iops[ddir], 4, 1, 0, N2S_NONE); } left = sizeof(output) - (p - output) - 1; l = snprintf(p, left, ": [%s][%s]", je->run_str, perc_str); l += gen_eta_str(je, p + l, left - l, rate_str, iops_str); l += snprintf(p + l, left - l, "[eta %s]", eta_str); /* If truncation occurred adjust l so p is on the null */ if (l >= left) l = left - 1; p += l; linelen = p - output; if (l >= 0 && linelen < linelen_last) p += sprintf(p, "%*s", linelen_last - linelen, ""); linelen_last = linelen; for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { free(rate_str[ddir]); free(iops_str[ddir]); } } sprintf(p, "\r"); printf("%s", output); if (!eta_new_line_init) { fio_gettime(&disp_eta_new_line, NULL); eta_new_line_init = 1; } else if (eta_new_line && mtime_since_now(&disp_eta_new_line) > eta_new_line) { fio_gettime(&disp_eta_new_line, NULL); eta_new_line_pending = 1; } fflush(stdout); } struct jobs_eta *get_jobs_eta(bool force, size_t *size) { struct jobs_eta *je; if (!thread_number) return NULL; *size = sizeof(*je) + THREAD_RUNSTR_SZ + 8; je = calloc(1, *size); if (!je) return NULL; if (!calc_thread_status(je, force)) { free(je); return NULL; } *size = sizeof(*je) + strlen((char *) je->run_str) + 1; return je; } void print_thread_status(void) { struct jobs_eta *je; size_t size; je = get_jobs_eta(false, &size); if (je) { display_thread_status(je); free(je); } } void print_status_init(int thr_number) { struct jobs_eta_packed jep; compiletime_assert(sizeof(struct jobs_eta) == sizeof(jep), "jobs_eta"); DRD_IGNORE_VAR(__run_str); __run_str[thr_number] = 'P'; update_condensed_str(__run_str, run_str); } fio-3.39/examples/000077500000000000000000000000001476262051600140545ustar00rootroot00000000000000fio-3.39/examples/1mbs_clients.fio000066400000000000000000000015571476262051600171460ustar00rootroot00000000000000; Keep adding 1024kb/s reading clients at 4 seconds [global] size=32m rw=read directory=tmp rate=1250 ratemin=1024 [file1] startdelay=0 [file2] startdelay=4 [file3] startdelay=8 [file4] startdelay=12 [file5] startdelay=16 [file6] startdelay=20 [file7] startdelay=24 [file8] startdelay=28 [file9] startdelay=32 [file10] startdelay=36 [file11] startdelay=40 [file12] startdelay=44 [file13] startdelay=48 [file14] startdelay=52 [file15] startdelay=56 [file16] startdelay=60 [file17] startdelay=64 [file18] startdelay=68 [file19] startdelay=72 [file20] startdelay=76 [file21] startdelay=80 [file22] startdelay=84 [file23] startdelay=88 [file24] startdelay=92 [file25] startdelay=96 [file26] startdelay=100 [file27] startdelay=104 [file28] startdelay=108 [file29] startdelay=112 [file30] startdelay=116 [file31] startdelay=120 [file32] startdelay=124 fio-3.39/examples/1mbs_clients.png000066400000000000000000003547701476262051600171650ustar00rootroot00000000000000‰PNG  IHDR-V}‚[bKGDÿÿÿ ½§“ IDATxœìÝy|Tõ½øÿODAÀŽê½uo´‚´ÅxUnÕj]ŠK}ØÖ~Q°j¥Ån­×± ¸!bÀ )**{…@”d óûc¾/?2†sæùüë3gΜó>‘À¼f’± ‘Hò[a® ÷ s=¹W˜ëȽÂ\@îæzr¯0×{…¹€Ü+Ìõä^a® ÷êæzv Ÿ~úé‹/¾8qâÄ7†;ì°x +G=zôÀCMš45jTVŽ™ù »ÂT5ðÎ;ï<õÔS ,ذaCá׿þõèÑ£/^B¸ôÒK/ºè¢\@„ÕÍõäÞÉ'ŸüöÛoo½eóæÍÙ:xyyùĉCÍ›7ÏÖ13Ÿ¡¶§Z±bŹ瞛\<øàƒÎü˜/½ôÒ™gž™H$R[ºuë6yòäùóç‡N;í´ÌO@>«›ëȽ%K–rÈ!guÖûï¿ÿæ›oæzœ8ظqãĉ“ë5kÖdå˜wÜqG"‘!œp }ûö­W¯Þ~ûí÷È#dåàP7×{o½õVëÖ­C½{÷Îõ,;É™gžyÐA…ŠŠŠr=KºfÏž\\|ñÅ]ºtI®Ÿyæ™õëׇ:tè³Éˆ…º¹€Ükݺõî3räÈAƒ…š4i2jÔ¨_|qèС6l8í´Ó®¼òÊ¢¢¢/¾øâøôÓO[·n}Ægœ}öÙß{œ²²²'žx¢¢¢bÿý÷¿âŠ+;ì°Ô]|ðÁðáÃgÏž]UUµ×^{uìØñôÓO?æ˜cÒ¼ŠE‹ 6lÚ´iË—/oÙ²åþçþ÷ÿwqqñ÷îüÁ 80u9©íÿú׿ž}öÙ?üpÕªUMš4ùÿøÞ½{·jÕ*µÃèÑ£·~à¤I“† RQQ±ï¾û^vÙeGqDáºë®ûç?ÿ™zÈUW]Õ¸qãBçÎo¹å–\éÀG½jÕªÔÍ¡C‡~kŸK/½ô¢‹.JÝœ3gΰaÃ>þøãÕ«W—””zè¡={ö<äCÒüb‡êæz¢añâÅ'N !4oÞüöÛoïÛ·orûèѣǎÛ·oß®]»®\¹2¹ññÇ¿õÖ[o»í¶odàÀ7Þxcr=vìØG}ôé§ŸîÙ³gaðàÁW_}õ·öÿãÿø_ÿõ_O=õÔŽ7`À€?þñ›6mJmyúé§û÷ïÿõ×_ïþååå©ËIm¼ýöÛûõëW]]ÚòüóÏß~ûíO<ñÄyç÷Ý>üðÃ×\sÍ–-[’w=òÈ#¯¾úêi§öá‡Nš4)uéÓ§'mÚ´©Ù•Ι3'yÒ¤Ù³gÏž=û[ûœvÚi©õ-·Üòç?ÿ95XaäÈ‘úÓŸúôé3pàÀ‚‚‚ï= y®0×1«V­zê©§ž}öÙAƒ„^~ùåSO=õä“O5jÔ\Üí®»îZµjÕÖ\½zõ=÷Ü3dÈáÇ{ì±!„Í›7ÿò—¿üòË/CýúõKîÖ¿ÿ±cÇ:´_¿~Gyä²eË~p¤Ç{ìæ›oÞ´iSá'?ùÉÿþïÿ¾øâ‹·Ýv[qqqú×õðÃ÷íÛ·ººº^½z·ÞzëË/¿üÇ?þ±°°°ªªªW¯^Ó¦MûÖþ«W¯¾í¶Ûüì³Ï¶k×.y9·ÜrKá¾ûî{þùçS{>ôÐCeeeeeeÉ{kp¥7ÜpCYYYQQQòæÍ7ß\öo{íµ×·v~àî¼óÎ-[¶\wÝu£Gþýï_XX˜H$î»ï¾»ï¾;ý¯ y¥n® bª««üñO<1„0dÈO>ù$„ШQ£üãõêÕ;âˆ#† BظqãìÙ³ü㧸yóæ¿ÿýï]ºt !œzê©mÛ¶]·nݺuëþþ÷¿÷íÛ·ªª*„PTTtá…î»ï¾É‡ôíÛ÷«¯¾Úþ<‰D¢ÿþÉõ 'œPVVVPPB8묳n¼ñÆ4/*‘HÜqÇÉõþð‡[o½5„ðóŸÿü‹/¾xòÉ'7mÚt÷Ýw?÷Üs[?dóæÍûÛߺuëBX³fÍW\B˜1cF"‘8òÈ#÷ÜsÏÔžGuԱǛºYƒ+íØ±cÇŽ “7:è ÒÒÒäºAƒߺ»îº+¹îÕ«×½÷ÞB8ãŒ3Ö¬YóÐC… pÓM7Õ©S'ͯ ù£0×1uëÖ=þøã“ë=öØ#¹8î¸ãêÕ«BhÙ²ejÏeË–mýÀÂÂÂSO=5¹nÖ¬Ù‘G™\O›6-„йsç¦M›öÛo¿½÷Þ»´´ôšk®9rd³fͶ?Ï—_~¹xñâäºwïÞ©»Š‹‹Ó¼¨/¾ø"u^x¡ôßÞ~ûíäÆwß}÷[©S§N×®]“ëÔU¯_¿~ݺuÛ?W¯4Í Y²dIr}úé§§¶wéÒ%¹X¹råìÙ³3?ñS7×1Mš4),,L®S‹-Z$ÕÕÕ©=‰ÄÖlРAݺÿïó.JJJ’‹õëׇþçþ§¤¤ä…^¨ªª*/////Ÿ8qâC=ô“ŸüdܸqEEEÛš§ªª*µnÚ´iÍ.jݺu©õÇüÝV¬Xñ­-M›6M]ÎÖ×õ­«þ®_i:¶¾ÔWø[ë­÷€”Â\@¾¨ªªZºtiêæüùó“‹6mÚ„š7oþä“O®Zµê³Ï>{饗ú÷ï¿Ûn»…&Nœ8a„í¶M›6uëÖM®§OŸ^³ÙÚ´iS§NäºÿþeßñÚk¯ÕìÈßõƒWZYYYúoÿüç?k|!sçÎMmŸ7o^rQPP°Ï>ûdåBˆ™Â\@éß¿"‘!<óÌ3óæÍKnüÅ/~B¸õÖ['NœX§NN:ý⿸ùæ›Û´i“ÜaÉ’%Û9fIIÉÏþóäúþûïŸ0aBr½aÆ¿üå/iVRRò³Ÿý,¹~ùå—9äÒëØ±ãŒ3V¬X±CWÚ°aÃÔzéÒ¥[ßõƒWºyóæ‰ÿ¶£ç-))éÚµkrýðÃ'¸|ùòAƒ%7þä'?iÙ²å€ÿüó8à ƒš;wîš5kB»ï¾ûàÁƒ3?±T˜ëȽéÓ§Oœ8qâĉÉ-kÖ¬Inyï½÷²u–¢¢¢W_}µ}ûöŸ~úi"‘(((8ï¼óÆŒSXXB¸óÎ;ñ‹_lÞ¼yÖ¬Yï½÷Þ×_B8úè£_yå•}öÙgûGn׮ݴiÓ~õ«_•””„æÏŸ?}úôâââÛo¿=ýñ:tè0mÚ´K/½´Q£F6løðçM›öõ×_·oßþºë®;çœsvôz~øá–-[†*++ß}÷ÝÔ—7“+MÇ~ûí7uêÔ^½zÕ¯_¿ªªjêÔ©kÖ¬)**:ï¼ó¦NÚ©S§ÌO@,$‰\Ï@ŽMŸ>}õêÕß{W½zõŽ?þøÂâÅ‹çÎB(**:á„’÷~ôÑG+W® !´nÝúÀ !TWW¿ýöÛÉ{;ì°æÍ›———Ï™3gëþë_ÿª¨¨Øwß}[µjõ­ÓmÚ´éË/¿\²dIýúõÛ·oߢE‹ºêêêyóæ-_¾¼eË–:t¨S§Nrûwgøî–­2gΜ+V4iÒdï½÷Þ}÷Ý·¾÷{¸|ùò3f$×'tRê¼›7ož5kÖŠ+¶lÙBèÔ©Sê’·s¥›7o~çw’ëÃ?¼Y³fÉõ[o½•<ÎA´çž{&7Nžà¼óÎ>|xmŒÔª=zäzv]…¹€Ü«›ë€ˆ©¨¨¨¬¬Ìõü€âââV­Z¥¿aí@Tæzr¯n®àÜvÛmÉűÇÛµkלΒëÖ­0`@rÝ»wïöíÛçt „êæz~@¿~ý’‹>}útíÚ5·ÃdźuëRUZZÚ¾}ûœŽ„Ba® ÷ s=¹W7×53gΜ4iREEEýúõ>øàSN9¥~ýúßÚgÕªUcÆŒY¼xqûöíÏ<óÌ€’wõîÝ»}ûöimÙ²e>ø`r}ÕUW5oÞüÕW_ýì³ÏZ·n}Ê)§´iÓfû'v5us=YðùçŸ_zé¥eee[olݺõc=Ö­[·Ô–ñãÇ÷ìÙsùòåÉ›:txê©§úõë—¼YZZÚ¾}û4¶lÙ²ÔO:é¤ßÿþ÷S¦LIÞlÔ¨ÑÓO?}öÙg§Nzþùç¯X±bë“fíÊ€,)Ìõdꫯ¾:ùä“ËÊÊB;v¼á†zöìYXX¸dÉ’³Ï>{üøñÉÝ.\xÎ9ç,_¾<„жmÛßüæ7‡rÈùçŸ_³£mí’K.iРAŸ>}öÚk¯BUUÕ•W^ùÍ7ߤNºbÅŠB»víúôésøá‡÷¤@ÎÕÍõdêÏþó¢E‹Bxà´iÓ6lB8äCúöí[]]}à 7|ôÑG!„Aƒ­]»6„ШQ£É“'·nÝ:„põÕW<¸GÛÚÑGýâ‹/\pÁÇw\¡¢¢bΜ9‡~xê¤%%%S¦LÙc=B×]wÝ AƒjýëBlÜX0wn½åËëTUæzvQ‰Æ·´m»¹M›M¹ž†\XµªpîÜzkÖÔٸџ¾_½z‰Æ«8`cÓ¦[r= 9H„E‹Š¾ü²îš5u‰\OîªQ£--ZTï¿ÿÆzõü)ÉGºƒ¤;Ðü Ý‘çtéÐyNwðƒtºƒ}‘çô[ÓyNG¢Ð ¤è…<§Øš^Èsz½€^ E/ä9½ÀÖôBžÓ ¤èô)z!Ï鶦òœ^ E/ HÑ yN/°5½çô)z½@Š^Èsz­é…<§HÑ èRôBžÓ lM/ä9½@Š^@/¢òœ^`kz!ÏéRôz½êæz2õÚk¯%»ï¾û€’ë… &üqyyù^{í5qâÄä–Ÿýìg­[·N®ùË_<¸GÛú!¿úÕ¯ Bp@jã¢E‹?üð­OºÇ{$×—\rÉ Aƒ2»h¢mõê‘#K^½ÑÔ©»UW{¶AZš4ÙrÒIëÎ<³ò'?©ªS'×ÓPûæÎ­7|xIYY£Ï?/Êõ,DF‡›N=µê¼óÖpÀÆ\ÏB­«®&43¦øí·®^íÕLÒR§Nâ裿éÒ¥êœsÖ6iâeŽøÓÔ€îÈ7ºƒÐyEwPº#ßèj@wäÝÁv苼¢/Ø‘otÛ¡ò^`;ôB^Ñ l‡^È7zíÐ ùF/°z!¯è¶C/ä½Àvè…|£Ø½WôÛ¡ò^`;ôB¾Ñ l‡^È+zíÐ ùF/°z!ßè¶C/ä½Àvè…|£Ø½oôÛ¡òŠ^`;ôB¾Ñ l‡^È7zíÐ yE/°z!ßè¶C/ä½Àvè…+H$éïÝ£GÂðáÃkm¾­ àÿ>EëÓ§Ï}÷Ý÷ÝZ¶lùõ×_oçS¦L9æ˜c:tè°`Á‚µ×^{ÿý÷'ïZ¼xq›6m’ë²²²ÒÒÒ46kÖ¬N:%·|øá‡GqDaíÚµ7Nn3fL·nÝÒ<éö¿dK¶¾+***++köØõë † Ù}Ȧ……‰Î«N>yÝ!‡lØsÏêFÄ'ßoË–°zu… ‹¦Oßmüø†“'7ØgŸMøÃòŸþ´*×£Q[.,ºóÎæãÇ7j×nÓé§W{ìúܸûîÕõêíÀ3òÊÆ+WÖ™=»Þûï7;¶ÑÂ…E?ýiÕþ°¼]»M¹Ú2~|£;ïlþÅE?þñúŸþtÝ~ôM»v›š4©.ôfÛPUU¸tiO?­ÿÖ[ Çk´eKÁå—¯ºüò• øÇ%žt;Jwä!ÝÁŽÒyHw°£tG¾Ñì(Ý‘‡tÛ¢/ò¾`[tD¾Ñl‹^ÈCzmÑ yH/°-z!ßè¶E/ä!½À¶è…<¤Ø½oôÛ¢ò^`[ôBÒ l‹^È7zmÑ yH/°-z!é¶E/ä½À¶è…<¤Ø½‡ôÛ¢ò^`[ôBÒ l‹^ÈCzmÑ ùF/°-z!é¶E/ä!½À¶è…|£Ø½‡ôÛ¢¢¨¸¸¸U«Véï_HìÀ·z=BÇßṨ©‚‚‚ä¢OŸ>÷Ýwßww8øàƒgΜB8ñÄúÓŸ~w‡Ë.»¬M›6G}ô´iÓB={ö6lXò®©S§sÌ1ÉuYYYiiišG›5kV§N’[f̘q衇†*++KJJ’njӭ[·ÔIÏ?ÿüçž{.y×ôéÓ:ꨭOº£_j&[ß¿•••5xàë¯7úÓŸZ¬YSxõÕ+{õZ#<¨… ‹ j6fLñ '¬ë×o™g$1³aCÁ4{üñ&íÛoºùæå'Ÿ¼îßÿBº‰ðÖ[ ï¾»ù‚E¿üåêk¯]Q¿¾¬•… ‹n½µÅ»ï6<ãŒÊ>}Vø‡€¨ª*:´ñCíÞ¸ñ–?þqY—.^ñŒÝAætG¼é2§;bOw9Ý{ºƒÌéŽxÓ¤O_Äž¾ }:"ötéÓ ñ¦HŸ^ˆ=½@úôBìéÒ§âM/>½{zôé…ØÓ ¤O/Ä›^ }z!öôéÓ ±§HŸ^ˆ7½@úôBìéÒ§bO/>½ozôé…ØÓ ¤O/Äž^ }z!ÞôéÓ ±§HŸ^ˆ=½@úôB¼éÒ§bO/>½{zôé…xÓ ¤O/DEqqq«V­Òß¿ ‘Øÿ=zô! >|‡ç¢¦ þýsŸ>}î»ï¾ïîpýõ×'·|ðÁ“'O...NÝU^^þÉ'ŸtéÒ%„pã780„дiÓùóç7kÖ,„põÕW<8¹sYYYiiišG›5kV§N’Ûg̘q衇†*++KJJ’njӭ[·ÔÑ7n×ãË—×¹òÊ=çϯwýõ+zõZS§Ž'šÔ\uuÁСキÙ~ûm|䑥͛ûw'&Þ{¯Áµ×î¹×^›n½uÙ1Ç|“ëqˆ¶eËêüõ¯ÍŸ¾äŠ+VÞxã /‡Åƒî »tG,é²HwÄ•î ‹tG,é²KwÄ’î ôE\é j@GÄ’Ž fôB,éj@/Ä•^ ôB,éjF/Ä’^ ôB\éj@/Ä’^ fôB,éj@/Ä•^ ôB,éjF/Ä’^ ôB\éj@/Ä’^ fôB,éj@/Ä•^ ôB,éjF/Ä’^ ôB\éj@/Ä’^ fôB,éj@/Ä•^ ôB,éjF/Ä’^ ô®¯¸¸¸U«Véï_HìÀ7=BÇßṨ©‚? ÿñܵk×­ïjÑ¢Å5×\SQQqÔQG•——‡öÞ{ï3Î8£I“&‹/ž3gΔ)SºtéòÚk¯…¾øâ‹C=tíÚµ!„:œuÖYóæÍ›6mZò!„²²²ÒÒÒ46kÖ¬N:%8cÆŒC=4„PYYYRR’Ü8fN2Ä´ IDAT̘nݺ-X°à°Ã«¬¬ !´k×îœsÎùüóϧL™ò­“Öæ×ÿ'[ß¿Éÿ¦iú曂ßþ¶Õøñ ï¸ãësÏ]›áÙ!iÆ‚ßý®å«¯6ê×oYÏžkr=™š;·Þå—·®S'ñØcKöÛoS®Ç!&æÏ/úÕ¯ZWW ²ä€6æz2õÜso½µÅÏ~Võç?U¿¾×/ÈŽ^(¹å–=~úÓuýkÅn»ùsmºƒÚ ;bFwPtGÌèjƒîˆÝAmÐ1£;È„¾ˆ}A&tDœè2¡bF/ ½3zLè…8Ñ dB/ÄŒ^ z!fô™Ð q¢È„^ˆ½@&ôBÌè2¡âD/ ½3zLè…˜Ñ dB/ĉ^ z!fô™Ð 1£È„^ˆ½@&ôBÌè2¡bF/ ½'zLè…˜Ñ dB/ÄŒ^ z!Nô™Ð 1£È„^Ø•·jÕ*ýý ‰x†×£GÂðáÃwx.jª  `[wxà³fÍ !üë_ÿºüòËß|óÍoíжmÛ믿þúë¯OÞ|ã7zöì¹bÅŠäÍ:<öØc;wNÞ|÷Ýw?þø46kÖ¬N:%·Ï˜1ãÐC !TVV–””$7Ž3¦[·n!„×_ý‚ .X¹reê¤O>ùäI'”¼YVVVZZº£_j&[ß¿•••iî¼eKøÍoö|ÿý?¼ä?þã› O [K$Â4{àݬ8ãŒtÿL² Z²¤n÷îmöÙgÓ#,mÚ´:×ã+«VÕ¹òÊ=¿ø¢èùçµn½9×ãPscÆßpC«k¯]yíµ+¶ýìjbÊ”Ý~ýëÖÇ»þþû—æzjJwP{tGlèjîˆ ÝAíÑñ ;¨=º#6t™Ó±¡/ÈœŽˆAæôBlè2§bC/9½zÌé…ØÐ dN/Ć^ sz!ô™Ó ±¡Èœ^ˆ ½@æôB<è2§bC/9½zÌé…xÐ dN/Ć^ sz!6ô™Ó ñ Èœ^ˆ ½@æôBlè2§âA/9½zÌé…ØÐ dN/ă^ sz!6ô™Ó »¬âââV­Z¥¿A"‘Hï=z„†¾ÃsQS·ÝvÛ¶îjÑ¢Å5×\“º9gΜI“&•——ׯ_ï½÷îØ±ã~ô£o=dÕªU£G^¼xqûöíÏ:ë¬þ󟧜rJò® ´k×.Í£-[¶ìÁL®¯ºêª–-[†6nÜxçw&7öêÕ«cÇŽÉõÊ•+ÇŒ“:iaÀ€É»z÷îݾ}ûÿªPÙúþ­¨¨¨¬L÷‰à_ÿÚìþ§éO,9öØõž¾×w6æ™&O?]þ£©ÜHZ¿¾à ÷®ª*>|qãÆ[r=1TUUxþù{&ž{®¼aCÆ"iÆŒú½zíÝ«×êßÿ~y®g!ž>ø`·‹/ÞëÒKWÝxãŠ\ÏB éj›îˆ:ÝAmÓ1 ;¨mº#tµMwDî [ôE è ²EGÄ€Ž [ôBÔé²E/Ä€^ [ôB è²E/D^ [ôB è²E/Ä€^ [ôBÔé²E/Ä€^ [ôB è²E/D^ [ôB è²E/Ä€^ [ôBÔé²E/Ä€^ [ôB è²E/D^ [ôB è²E/Ä€^ [ôBÔé²E/Ä€^ [ôB è²E/D^ [ô®©¸¸¸U«Véï_H$Òß»G!„áÇïð\ì&MštÈ!‡4nÜ8ysãÆgœqÆë¯¿BèÔ©ÓgŸ}–Óé¨uÙúþ­¨¨¨¬¬Lgϱc]sÍžwßýÕ¹ç®Íð¤°-[¶„+¯Üóãw{íµ/›6­Îõ8ì°ë¯oõÞ{ ž~Q›6›s= ±µhQÝîÝÛüú{ï­Èõ,ì°U«êtíÚöðÿyä‘¥……¹ž†øzá…’›onùàƒKO?½*׳°Ãt;îˆ:ÝÁN ;"Mw°sèŽHÓìº#êtY¤/"M_]:"ÒtY¤¢N/Ez!ÒôÙ¥"M/Ez!êôY¤"M/]z!ÒôY¤¢N/Ez!ÒôÙ¥"M/Ez!êôY¤"M/]z!ÒôY¤¢N/Ez!ÒôÙ¥"M/Ez!êôY¤"M/]z!ÒôY¤¢N/Ez!ÒôÙ¥"M/Ez!êôY¤vAÅÅÅ­ZµJ¡G}ôÑ6mÚœ}öÙ¿ýío¯¸âŠƒ>øõ×_!Ô©Sç¾ûîËõtÄÍúõwÜÑ¢{÷µ „ZUXüª°0Ü{ï…6yrƒ1cŠï¾û+eB­jÓfóÝw5fLñäÉ r= ;ìÞ{wOýUµçÜs×vï¾öŽ;Z¬__ëYØ1ºƒCwDšî`çБ¦;Ø9tGtévÝiºƒìÒ‘¦/È.]:‚ìÒ ‘¦È.½izìÒ Ñ¥È.½izìÒ ‘¦È.½]zìÒ ‘¦È.½izìÒ Ñ¥È.½izìÒ ‘¦È.½]zìÒ ‘¦È.½izìÒ Ñ¥È.½izìÒ ‘¦È.½]zìÒ ‘¦È.½izìÒ Ñ¥È.½izìÒ 1 òȉ'žXTT4jÔ¨{î¹ç±Ç›?~aÿý÷ùå—»té’ë鈛ÇÛ}õêÂnXžëAˆ¿ââ-¿ýíòaÚ̜Y/׳°ª«Ãí··8õÔªÒÒu¹ž…ø+-]wê©ën»­Euµ—5£dîÜzÆ5¾é¦åÅÅ[r= ñwÓMË×®-2ÄË£;ØitGDév&ÝQºƒIwD”î`§Ñ¥;¨ ú"¢ôµAGD”Ž ëôBDéjƒ^ˆ(½@mÐ ¥È:½QzÚ "J/PôBDé²N/D”^ 6è…ˆÒ Ô½Qz¬Ó ¥¨ z!¢ôµA/D”^ ëôBDéjƒ^ˆ(½@mÐ ¥È:½QzÚ "J/PôBDé²N/D”^ 6è…ˆÒ Ô½Qz¬Ó ¥¨ z!ê ‰Dú{÷èÑ#„0|øðZ›‡ÚõÍ7ß”••Í›7¯²²²yóæ?úÑŽ9昂ß½y![ß¿•••ÛßgõêÂOlÿ›ß¬¸üòUžn×W]]ý裎9rÑ¢E›6m !üîw¿:tè_|B¸þú믾úêÂСCûöíBhÚ´é|°C§˜6mÚ¨Q£¦M›¶xñâuëÖ5nÜxß}÷=å”S.ºè¢† &÷Ù¸qã»ï¾ûÆoL›6-9I³fÍŽ:ê¨Þ½{sÌ1Y¾æ]O"Î;¯M‹›}ti®g!]£F•Ü|ó¯½öeûö›r=K­[¹rå_þò— &,_¾¼ºº:„ððÃÿú׿NÞ;lذä÷iŸ>}^~ùåB×®]|ðÁô¿iÓ¦²²²1cÆÌž=»¼¼|Ë–-Í›7?è ƒºuëvæ™gnýýÌ™3Ç7nܸ™3g&·\uÕU7ÜpC¶®tW¶`AQ×®mï¾ûë³ÎZ›ëYH×Wì¹lYÝ#åÃÓÕ×^{mÈ!sæÌY¿~}á”SNiÑ¢Eò™ÛñÇÿä“O†æÏŸúé§'÷å•W:vì˜þñ.\8jÔ¨·ÞzkÑ¢E+W®lذa›6mŽ=öØK.¹¤M›6[ï¹zõêÇ{ì7ÞX¼xqQQÑþûïß½{÷=zÔ©S'kW»«2¤éý÷7{çMšx_-tG»#ý Ø²eˈ#FŽ9kÖ¬o¾ù¦eË–ÇüUW]Õ¶mÛl^ð.IwD‘îÈbw¬Zµª¬¬lüøñŸ|òÉW_}UPPкuëN8áòË/ÿÖÓ‰¹sçþýïŸ2eÊÒ¥K7nÜØ°aÃvíÚzꩽ{÷nܸqÖ.x—¤;¢Hwd«;‰ÄÇûìÔ«=ôн÷Þ»­ƒ4hÐ`ÆŒ™\ã®OwDŽîÈIw$½óÎ;Æ ›6mÚÊ•+[´hqÀôèÑ£K—.ñ~BwDQì»ci>øà‚ .øÞ#œuÖY÷ÜsO/p—¥/¢(ö}±+4Å·\yå•o¼ñFr}î¹ç0 ÃkÜ5éˆÈ‰}Gì:íÎTʼn^ˆ"½°sz!ý·0bC/D‘^;¥*++'Nœ8nܸ &¤~Ü}öìÙ1~QQ/DŽ^Ø™ï5ÌŸ?ÿ‘G™4iÒòåËKJJŽ<òÈK.¹ä„NÈÚÕîJôBé… {!¤ýËk×®ýÛßþöÆo,\¸0‘H´mÛöôÓO¿ì²ËŠ‹‹3¼Æ]“^ˆ"½2û]‰4C ººzذa¯¼òÊܹsW¯^]§N-ZvØa½zõŠë3½9z!óßÅ^²dÉøñãÇ7yòäÍ›7‡Ž>úèçž{në}.¾øâ÷Þ{o[G8å”S† ²ã·KÓ Q¤vZ/„ª««ŸþùÑ£GÏš5kýúõ­[·>âˆ#.¼ð£Ž:*“kÜ5é…(Ò a§ôÂvž!Œ?¾]»v;~e»:½9zaçôÂÖ*++þóŸ———'oÞ}÷ÝÝ»w¯éõíºôBé…Ó é”Slè…(Ò ¡ö{¡f¿æuz!rôÂNë…ÍŠ¨Ó Q¤væû 'N|ê©§>úè£ÊÊÊ=öØãøã¿òÊ+Û·oŸÁõíºôBž¾k'Ðb’^ˆ¢Ø÷Â÷ªÕ×} b’^ˆ"½j¡’òóƒSôBäè…Úè…<ü°ÄïÒ Q¤B-üLÂÖòäÿK/D‘^9úÿÏÆž^ˆ½ÛÿßSŒé…(Ò !w¿óoza—R\\ܪU«ô÷¯[{£° Úm·Ý~ö³Ÿåz âoäÈ’ÂÂD¯^kr=ÈÎðøã8°öŽ¿páÂóÏ?ë-+V¬X±bÅ|ðÒK/1¢~ýú!„'Ÿ|òÏþóÖ»}õÕW¯½öÚØ±cÿÏÿù?_|qíM¸+((—^ºêúë[-]ZwÏ=7çzÒ2thãΫò¤Lnºé¦ &ÔÞñGŽù‡?üaë-K–,Y²dIYYÙ”)Sþô§?%7.]ºôŒ3Ψ½1vqíÛoêܹêÙg‹–¨Xº´î„ "ÞáøðÃó›ßlÙR‹/¸÷êÕ«¢¢"usíÚµ3gΜ9sæˆ#FŒ±ß~û%·ùå—^xaêcY¾ùæ›éÓ§OŸ>ý7Þxøá‡‹ŠŠjoÂ]A¯^k|p÷_,¹ä’Õ¹ž…´èŽ,J3(6mÚtÅW¼õÖ[©Ý/^<|øð—^ziÈ!Ç{líM¸+ÐQ¤;²{ü²²²­·,X°`Á‚#GŽ|òÉ'<òÈäÆ>øàâ‹/Þ¸qcj·µk×~òÉ'Ÿ|òÉèÑ£GŽYRRR{CæœîˆÝ‘EŸ|òÉ·>ÕqÕªUï¿ÿþûï¿ÿæ›oÞÿýqýP§¥;"GwdQúodTWWßzë­Ã† KmI¾àùÖ[o=öØc§žzjí ™sº#Šbß»Hkä!}9±ï‹]°)FŒ‘úå®xÓ‘ûŽØEÚ!Í©Š½Ez!óã§Ó y˜z!rôB†Òï…;î¸#ùÛbùC/DŽ^ÈPúï5”••]}õÕ©Ÿ^X±bÅ›o¾ùæ›o¦>l"fôBé… ¥ùËååå½zõZ´hQjËܹsçÎûÒK/=óÌ3;ô[¸Q¡"G/d.Íøõ¯ýæ›o¦nVWW——————;¶_¿~^xaíM˜+z!rôBæ.¼ðÂäÇ̱5½Ez!Céÿ2õÊ•+/»ì²>ú(µ%ùèQ£>þøãø}¦¤^ˆ½¹<|ã Mz!rôBæv´úõë—úÈ…Ó Q¤2”f/¤ùQNq¢"G/d.^ÈÏ_Ö ‘£2—f/äÛÛz!ŠôB†ÒaàÀƒNÝ,//1bÄK/½ôÈ#œx≵6`Îè…ȉ}/|¯Ú~ÎçÀ˜¢"'ö½ð½jû9CžÐb’^ˆ¢Ø÷Âwí„× z!‚ôB-ÉçNLÑ ‘£¨%z!ŠôB­ÊŸKü.½9z¡6äá‡%~/½9z¡–ŽŸo–ø]z!ŠôBmð;A/D\a®bèõ×uî\Õ¨Q^¼Á?räÈä¢{÷î3gΜ7oÞe—]–Åãžx≃ž0aÂgŸ}6vìØÒÒÒä]3gÎ|çw¶ÞóüóÏ3fÌŒ3†º÷Þ{‡‰Ä]wݵtéÒ,Ž´kêܹj·Ý¶Œß(׃–¯¿®3}únçœS™ëAv†U«V¥^¡¸óÎ;çÌ™3oÞ¼Ã;,‹§¨_¿~÷î݇úþûïϘ1cذaûì³Oò®üãkÖüß—„ :uêtíµ×Ž5*ùWD¾9ûìÊiÓv[¶¬N®!-o¼Ñ¨Aƒ-§V•ëAv†Q£F%_¹8à€¦N:oÞ¼!C†d÷;vìß¿ÿرc?ýôÓ÷Þ{ïÊ+¯Ln_»vm꤉Äu×]—üX–®]»N:uܸqÉ¿O&L˜°õ¯]ÅU£F[:w®;ÖÓ‰ÈÐÙ=E:Añè£&«iÓ¦Ï=÷܇~xÕUW…Ö¯_ß§OŸÕ«ãÿÆ¡îˆÝ‘Ýî!4jÔè†n˜8qâ‡~8`À€¢¢¢ºuë~÷»ß¥öyüñÇ“¿ Õ²eË1cÆ|òÉ'÷ÜsOò® ¼òÊ+Ùi¤;¢Ewdý,?þñŸxâ‰3f¼þúëÇw\r㫯¾úÚk¯%×W_}õ¼ÿ¿©S§6hÐ yo>ü¤…îˆÝ‘ÝS¤ùFÆ Aƒ’¯W4nÜøÎ;ï|ï½÷¦Núì³ÏöìÙóÿcïÎc8ÿŽr‚¸q&î›:J)u×QwQTQZ­oJë(Úª4UG£uÕM!î«®FC(EP¡B‰$Ä„Hö÷ÇÔü¶rØ$³ÉÎäýúkvwvóLf­yïÎ>qvvÖvH6ˆîÐÃw‡í´†ªgÏžÏN¨Ña<ô…¾¾/l¤)T_~ù¥æ°Mt„î¾#l¤,?¥ÊHè}¡4aa/¤++Œ^ÐzA–ôB¾|ù:tè0cÆŒO>ùDóØ&zAwè…̳¤®_¿þá‡*g/Œ;öôéÓ‹/VŽf̘¬íl½ /ôBæYøåˆ±cÇFDDˆHÍš5ûí·C‡)pâÒ¥KcÇŽÕp<6…^Ðz!ó, ³gÏîÝ»WY2dHHHÈï¿ÿþ /(×üøãÚÉFÐ ºC/d^‰%úõë·dÉ’×^{-µu–-[öÌY‹/Vo­U«–¶C²ô‚¾Ð ™ga/$%%½ÿþû!!!"âíí½xñâcÇŽ8p`Μ9M›65äß²zAoè…ÌKïAAAÏ*”)SFÛ!ÙzAwè…̳¤T;wîT‡dxô‚¾Ð ™ga/X8•“ÁÐ úB/džå½`ù׌^Ðz!ó,ì…te…1Ð úB/dž…½ Nɘ;wîeË–>}úÃ?‘G1âöíÛÉvÐ úbø^H‘µ˜€QA/èŽá{!¹,8f`¢E½ /†ï…Yû=F&TTÑ úB/Xé=Æ>q¢‚^ÐzÁJs¤(rÔd‰ÉÑ úB/XoŽÉa“%¦ˆ^Ðz!{ÿþ¬±Ñ ºC/ØÂìFE/è ½íç0½ _ŽÙ=Fóø±Ý±c¹{÷¾žÝÉ"W®\QêÕ«§Tˆ¨“£e^©R¥–,Y¢^ôöö2dˆ<ÊŽˆ.\xÙ²e/¾ø¢r±AƒãÆ>|¸ˆ$$$õèÑC«!Ù&''S£FqÁÁ.}ûæ”@uíða{{S£F³{ YA}•‘FÙÛÛ‹ˆ»»{XX˜V?¢sçÎ;wV/Ö«W¯K—.~~~"’””d2™”ë‹/¾yóf­~¨5nüÐÞÞtø°K‡9+ŒuêÐ!—_Œsr2e÷@²‚2ɲˆT«V­@Êò”)S¦L™¢Õ0Ÿ™±X±b#GŽüé§ŸED}•8pà€2w›ˆ|öÙg (P À°aÃÆ§<ÂСCÕS*ªiÓ‡cÇ‹·svÎÏ=]£;DÓî°0(”ºvíªLýÁ,_¾üþýû·nÝò÷÷×üTN[Cwè Ý¡mwT¯^ýóÏ?W¿ªÝ­[·S§N-_¾\DÂÂÂ"""J–,)">T‡Q¥Jéܹó¤I“”©Ô[ ŒîкCÃîpttœ0aÂÀ•‹^^^3gÎlÔ¨‘òæÞ½{_}õÕïèïï§,}úäÍ›7oÞ¼¯¾úêŸþùÌ­C/è½ ‰+V( ›6m²ü^Ë–-SrçÎÝ·o_ Çc;è}¡2ÏÂ/Soß¾ý?þ‘¼yó._¾¼X±b"’?þÖ­[·nÝZ«ÁØzA_è…ÌË™Xˆ^ÐzA–÷ÂÍ›7•Ù$[¶l¹gÏ Ç`›è}¡2ÏÂ^°p*'ƒ¡ô…^È#N¨¨ ô…^°F/0q¢Š^ÐzÁJ½½ /ô‚õz!N–˜½ /ôB6þýÙœ€^Ðz9Ø­Š^Ðzï­LÖ,"¯½öšBpq1yy%œ;çÜ¡Cv8{Öùµ×îg÷(¬nË–-#FŒP/nذAý÷«jܸ±:¯bŠŽ9²|ùòãÇß¼yÓÙÙ¹|ùò¯½öZß¾}SȽÄÄÄ7n¬X±"11QDrçÎݽ{wå¦}ûö) ÊÜm"R»vme!66öÈ‘#/¿ürF¶S?ªWòÄî§*UŒ4«wt‡¹Ìw‡…A©,xxx( ÅŠSþzÄo¿ý–¾‹EwèÝa.óÝñÁ}ú«¯¾j¾ò¸qãüýýÕ‹ùóç=zt¯^½²n¸zàîþäÆ ü<(B IDAT€õ!:Ú KL›6mΜ9êÅ„„„íÛ·/^¼ØüPáÚµkÏ|ŒÑ¢E‹?þØËËK¹xöìYe¡xñâê:æó¸;wîå—_¶ÆVØw÷'"rã†#~Ø>ºÃBéês)EÞ¼y•/Z\½zU¹&11ñÆÊòùóç5¿ ¢;t„î°PººÃœúBáìì\ªT)eùõ×_·³³›7oÞ¥K—:u꤮ܸqãÑ£G««Ý¡#t‡…,ïs÷îÝ»}û¶²¬vÇ3öíÛ¡,<ØÎÎNÓÛ(ºCGè iÛêü/ 7n\ppptttÁ‚7n<|øð²eËZel Ý¡#tG´m ÕŽ;¶mÛöèÑ£B… ÕªU«_¿~Æ>{›¾Ðú" Ú6Åùóç§OŸ."ݺukÖ¬Yù~¡#tD´mEN©Ò;zAGè…4X©Ò»šÞÑ :B/¤ÁzŸAäô‚ŽÐ iаÕ³˜ÜÝÝÕ[Õ“!“’’Ο?_³fMm7ÁÐ :B/¤!ýœ«««º|íÚµjÕª‰ÙÙbè“é¡Ò±^H‘³³óÊ•+¿ùæ›;vüôÓO?ýô“r}¡B…úöíkÈ¿C£ t„^HC†{ÁË—/OJJ’§1dv¬6Œ^Ðz! ö‚˜¬øøñã!C†œ>}:&&ÆÓÓ³m۶Æ 3 ƒ¡t„^Hƒ†½`®[·n·nÝrvv.[¶ì+¯¼2xð`£þ©{¡t…^Hƒæ½°zõê½{÷ŠÈ„ ̧Y06zAGè…4hÛ Š8•½ #ôB¬Ô ŠrÚ½ #ôB¬úùBÎA/è½ {áï¿ÿV—ÍOPTgn4_Á`è¡ÒÅÂc&`TÑ :B/¤—…Ç L´¨¢t„^H¯ ¼Ç˜3'TTÑ :B/¤‹…½Àĉ*zAGè…ôJï{Œ9m²Ääè¡ÒËÂ^È™“%¦ˆ^Ðz!]¬ý÷g‡^Ðz!½¬=§¢ñÐ :B/¤—UÏa6$zA§ì³{Œ&.Î^D\\’²{ V÷å—_†……9;;+}}}Þ*]ºôsï>uêTåˆbÅŠýüóϧNZ¶lY¾|ùDdñâÅ;vìHã¾III+W®Ü½{wj+$&&þðÃÊr¹rå7nlùvéWžÄÅÙå„W ùõ×_×®]«^üí·ß”W‰   çÞ7))iøðáÊ;õë×ß¹sçÉ“'?ûì3IHH5j”ù4¬ÉÝ»woΜ9gÏžÍôFJžyAÐ^R£mSÌœ9Syyùâ‹/ (`õÑÛ :BGèˆÔhÞŠtRe 臩Ѽ2°š1ð‚ #¼ ¤ÆzŸAä(ô‚ŽÐ ©±R/<#'œ ÉáŽpxšŒõBjìíí'Ožìää¤Ì›7ïäÉ“µ® ãð@G8>ÞÇÇg÷îÝ"âââ2oÞ¼jÕªYg#X×ßÿ­.·hÑ"ù )¾P*T¨}ûöIII#FŒ‘ëׯµjÕÊzãÔŠ7nܸñ™[ãââ._¾\¡Bó+Ë—/?uêÔ¿þú+,,LD("êç qqqæ¢.óA) ;莴ƒÂÝÝ}Ó¦M?üðÃÞ½{¯]»æææV«V-ggçíÛ·‹HÑ¢E­¸1¬#Ý5`À€þùGDJ—.½téÒüùó«·.X°@Yxûí·ëÔ©#"Ý»w߸qãÁƒ–.]êëë«ùV°ª tÇܹs¿ûî;eù£>zã7R|äeË–) ¹sçîׯŸ–ƒ…4ïóC‹Q£F¹¹¹¹¹¹½ýöÛ£G‘ÐÐЫW¯zxxXc[hHóÖxfF˜úõëÏš5«mÛ¶ÊÅ_ýU9Ÿ€ Ò¶)6lØ ":thݺµ À 4os–œRÀvhÞ é] €í°ÞgôEÛ^puuuppHLLó?CÅÉ€.dì;ihÒ¤I@@ÀìÙ³>|ÿþýbÅŠ5kÖìĉÊÔ0Ê®`›2Ð iظqã7DÄÍÍíã?vpppss3fLïÞ½Edûöí‘‘‘žžžÚ €f2ö]l -_¾\Y¨U«Výúõ3ü8²†¶½'Oõ „%J(߯|ñÅÛ·o¿víZÙ³gÏ'Ÿ|’ÙA°m{AD¦L™¢.çÍ›×ÇÇ',,lÛ¶m"²ÿþ¸¸8—L€ö´í…ˆˆˆ£GŠÈرcù ;š¾`Ž©œ}ѼTœ¶è‹U?_ /Úö‚›››ºœâl¹sçÎ÷Ð/˘€0<˘h0¼ ¼ÇÈ„Š€!YÞ Lœžå½Àd‰€áYØ L–žõþþ,ݱޜŠtÇzç0¶Æ1]k:t(""ÂÎÎÎJ£`U%K–Ìî!ÀRê[É+V¬H‘"ÊükW¯^5¿éÁƒC‡=|ø°ˆäË—oþüùLÀX/æoS>óB GIí…ÂÞÞ¾råÊaaabö*Q¹reå("::Z]Ó|¹R¥JV+€ìðÌ«„%AQ¨P¡Ï>ûì³Ï>S¯ñññQ”/c0˜g^(.\¸0`À€k×®‰H… –.]Z¬X1õÖ{÷îݹsGY.Uª”z½:GüåË—­>bYo¾ùFùº¦Ýøñ㕹¡“‹]¿~½²Ü½{wóLz»£B… ‡R–ÝÝÝ•…âÅ‹«+Ü¿Ÿït®ÖH‘··w®\¹?~,"·nݲÞPX[ºšÂd2‰ÈÖ­[·nÝúÌãôéÓçË/¿´òXE>³xF§TЗŒõB²€íËØgŒ']½àààP¡Bå«àʱB=ÒÞÞž/…ú•Æw(RS¥J•Y³f™_óâ‹/* œôèZº^.]º¤,xxx888(Ëæ_¶½|ù²z¢#}ÉÀá"88øüùóÊòàÁƒµ€l“®{{{oooen)óÕåû÷ïk;<Y)ÃGªªU«nÛ¶MDcbb\\\´€¬–®WåìDyæ;ÔŠ±cÇŽ;væÌ™;vÔl|²&‡ê2'(º–±N[Œ'ó‡ #]/+VT—Sœ­‘©ƒ1‰`F ‡S^˜h€$‹&Tr,õÕ€‰¤ñ#“%9ò‚Àd‰2ö÷gRæç``œµÃpL×Ú*TpqqéСƒ•F1sæÌ:uê4kÖ,»-mݺÕ|~.d/OOÏÏòþýûK”(aù}•œE‹ÕrXlIÅŠ¯_¿."={öœ2eŠåwLJJ:w¬¾J¼òÊ+K—.‘k×®EGG+'K?~\¹5oÞ¼ÏýûRlMºº#cAqùòåÝ»w+ËݺuÓbÔ²TººãäÉ“ƒ Љ‰‘Úµk/\¸°@æ+äÉ“ÇÁÁ!11QD®\¹¢^©,äË—OÃÁÈ–wGbbâ„ Ö®]+"¾¾¾]ºtImåµk×*G)öööÌúèšæÝѼyóåË—+Ë×®]S¾ø­ÎÿâààÀº]ж5RtáÂåË]"ÂY›€-³RSÐ,øÌ"µSªØkôBƲ@¶£(¬ñYƒr*uHHˆz¥z2ä‹/¾ÈŸ®lVf¾Ca¡ 6(o äÉ“§mÛ¶š?>­dø»)RÏ]¼zõjbb¢ƒƒƒˆDDD$_€­ÉÌw±Ó¶lÙ2e¡dÉ’º y/4oÞüï¿ÿ–TþX]éÒ¥3ùø¬GÛ^HÑ™3g”GGÇ‚ ZãGÈ<ëõÝÉ‚Ï˜Ê Ð Í{Ó–¢¨´í77·:uê(§#ž8q¢gÏž"b2™Nœ8¡¬Ð¢E‹Ì<>€,–™c&` ÆÂc&Zr‚ô¾ÇÈ„Š€QYÞ Lœ^fÞcd²DÀ`²àfº`¿? @§²`vzA/ çpL×Ú… .\¸ðŒ3¬4؈™3g6kÖŒm0æ“s!Û999õèÑC™,iÊ”)®®® 4°··¿zõjhhèŽ;4h0`À=zt±bÅZµjUºtéøà“O>©T©R\\\TTÔŸþ¹}ûöqãÆÕ¬YSDºtéÒ¥K—† –*U*11ñСC_~ù¥ò  x饗²s3XSŸ>}‚‚‚D$  bÅŠ:uÊ—/_ttô?ÿü³{÷¸ï¾ûND/^Ú©S'ooï"EŠDFFΙ3çüùóʃ¨‡7®Q£Æ©S§D䫯¾úꫯnݺ5wî\åÖ·Þz‹ùßݱ¼;, Š›7oŽ5jÀ€5jÔptt}úóÏ?WnrppPßä`ƒ´mŠ¡j5”…èèèõë×Ï›7ï™ìììþ÷¿ÿÕ¯__¹èïï¯Lê*"-[¶4_ù­·Þúä“O´ßÖdoo?kÖ¬7ß|3**êøñãÉgFHJJRBCCOŸ>ü\\\¦OŸ®žâ˜˜X©R¥gÖ™={öìÙ³E¤C‡ßÿ½ÆÛÀÊÚ¶mûî»ïÎ;711ñ믿þúë¯ÍomÚ´©²ððáÀ€€€€€äЬY3å+U"boo?sæÌ¾}û^»vmûöíêÌïÊC½ÿþûVÛVdawX&“)((HyÛÔ\£Fx·Ð)Ë»cÖ¬YÊ'£"òûï¿«/ Š9sæ´nÝZD>ýôÓÞ½{ß¹sçÚµkÏ]9ÒœzÚäÎ;½½½5ß šÐ¶Š/>mÚ´áÇ'$$øúúúúúªëøøøð·©[fy/XøåˆÇûûûûûû?³æàÁƒßzë-+lÍXØ bYÔ©S§_¿~ÊdÓ .4ÿØÑÑÑqòäÉÖÚ™fa/ˆH¯^½þüóOó[ÿüóOåoW)RäСCêõ?ÿüsbb¢ˆäË—ïõ×_·âèhGó^ððð˜6mšOBBÂ3Ç;vìÓ§7@æhÛ ‰‰‰)~eRYsâĉZ€–¬Ñ ôHó^°p*'6HÛ^àk€®iÞ d Sš÷B‹-”ãG½ùæ›êš¹råš>}záÂ…­¸1¬ÀÂc&` Ïòc&Z Ïò÷… £³°˜80<Ë{ÉÃKW/06mÿþ,ýÒ|NEú¥í9ÌÖ-ŽÙ=È¡\\\–,Y²yóæ 6œ9s&&&&_¾|îîîU«VmÓ¦M“&M”Õ¦M›¶eË–Ý»w‡‡‡ß¸qÃÉÉ©D‰/¼ðB¯^½jÕª•½›ÀÚÊ–-»mÛ¶+VìÞ½ûÂ… >,\¸°‡‡G½zõÚ´i£¾lÞ¼yÓ¦MŒŒŒŒ‰‰É›7oÙ²e7nܯ_?ww÷ìÝÖ6jÔ¨fÍš­\¹òøñãׯ_wrrrww/[¶l«V­ÔyÞ TªT©mÛ¶………]»vÍd2)R¤zõê:ujÛ¶­úheʔٲe˼yóöìÙéèèX¡B…®]»öîÝ›Ù]²°;,T´hÑåË—ÿüóϧOŸŽŽŽvuu­V­Z—.]^{í5{{{+mk³°;,äíí½mÛ¶… þþûïáááñññ®®®+Vlß¾}Ÿ>}y;Ð%Kº#]–-[¦,ÔªU«^½zš@6ж;D¤\¹ræoP888”+W®}ûö pqq±Æ&°m[cΜ9¿þúëž={ÂÃ㣣EÄÝݽ~ýúo¾ùf•*U¬³4£ySÐ)mÛSª]Ó¶è½@¡ùg -[¶Ü¼yóœ9s:tëÖ-WW×Úµk¿õÖ[x(YLÛ^hÛ¶íÔ©S×­[wñâÅ;wî.\¸^½zýúõã\@´í…Ï?ÿ¼Q£Fk×®=}úôíÛ·ÜÝÝ4h0pàÀäÌ€MѼ?~¼fÍe¹OŸ>yòäÑzȬEóÏZ·n½qãÆyóæß¾};Ož½@¥ùç £Fzá…–/_~òäÉØØØ"EŠ4nÜøÝwßõòò²ÆøX•…Ç LÀä30Ñ"Xþ#*Æfù{ŒLœž…½Àd‰@NÀ9 üýY*æT ¢CØ™L&Ë×îÙ³§ˆøûû[m<° vvv#FŒ˜1cFvZÒêßotttlll+lÛæêãS<,ìB&^<÷täÿ+."³fEg÷@ãðÜÓ‘òå½ýü¢Û·O먰ž{zÁ±² Ï=áØم瞎pì‡ìÂsO/8öCvá¹§#ûÁÚxŽéÇx°6žczÁ±¬ç˜Žp,kã9¦#ËÁÚxŽéÇr°6žc:±¬ç˜Žp,kã9¦ËÁÚxŽéÇr°6žc:±¬ç˜^p,kã9¦#ËÁÚxŽéÇr°6žczÁ±¬ç˜Žp,kã9¦#ËÁÚxŽéÇr°6žc:±¬ç˜Žp,kã9¦ËÁÚxŽéÇr°6žc:±¬ç˜^p,kã9¦#ËÁÚxŽÙWW×âÅ‹[¾¾½õ†Ð ûì ûÙg÷ôdõêÕÍ›7?qâ„…ëÏŸ?¿yóæaaaV²ÂêÕÒ¼¹X¼ëeþ|iÞ\ØõÐû쀞\¹r%000&&ÆÂõ/^¼kÕQ!+\¹"bñ®—‹%0PØõÐÇ쀞ôêÕ«^½zµk×Îî Ëõê%õê »Æå˜ÝГR¥J•*U*»GìPª”°ëù%C1 IDAT`höÙ=€ô™?~óæÍÃÂÂBCC‡Þ®]»ìÛ·Ï|¯¿þºyóæwïÞM~ellì3sâĉwß}÷ÕW_õññ¹té’rëúõëßxãvíÚ}úé§æ³zõêæÍ›Ÿ8qB½&11ñçŸîß¿›6mz÷î=þüG%öñãÇßyçvíÚ 4(((Èü&“É´mÛ¶¡C‡vèСwïÞ_|ñETTT¦~G¶ïÆ i×Nzô¸¸ÿ¿òÊiÝZúõ“'OR¾×üùÒ¼¹„…Ih¨ .íÚÉ€òß]/_-Í›Ëwý¿W>Ýõÿÿ8'NÈ»ïÊ«¯Š<Ýõ²~½¼ñ†´k'Ÿ~úŸÇY½Zš7³]/‰‰òóÏÒ¿¿´i#½{Ëüù’Ò®—ãÇåw¤];4Hþ»ëÅd’mÛdèPéÐAz÷–/¾ÃïzØ0Çì@ú\¼x100pË–-&Lxøð¡råòåËW¯^ݳgOåbhhh```BB‚ù•+Ÿ>²h‘Œ%[¶Hx¸ˆH®\’v=l’}v # *d~ÑÙÙYDÓ¸KŠ·,XÐü¢““S¾|ùͯ‘„„„ä÷}ôèQò‘¨×(·*ÜÜÜ’¯§\üþûï·mÛ–˜˜èëë[£FråÊ}÷Ýw&“)m1''qp)]Zòæµè.ÏüÂEDÒÜõ)ßúß]/NN’/Ÿ˜ízqrIi׋²s“íú¯1Ûõòß]ÿï Ow½|ÿ½lÛ&‰‰âë+5jH¹ròÝw’Cv½¦î=ºçä÷Û…ßÔkæÏYwj]ö€Í ½êäv3L¹x=öº_ßáðÃÙ;*6e×ß»ü‚üâþ=T;yÌ/È/ânDöŽ €í ;<Ýà¹èi£;<Ý@E_PÐTô½@A/PÑ Tô½@E/PÑ ô½@E/PÐ Tô½@A/PÑ Tô½@E/PÑ ô½è…}v@{nnn"rãÆ ó+OŸ>­íOñðð‘?ÿü3))Éüú#GŽˆH‰%ÔkŽ;f¾ÂÑ£GEÄÓÓS½æå—_ž1cÆï¿ÿ~ûöí‰'Ž=zÖ¬YÚŽÖÅÇKrïžtë&¿þ*_}¥Ácº¹‰ˆüw׋ֻ^<}ZÛŸR´hѺuëž={öã?NHH“Éäçç·k×.ww÷Zµj©k~õÕWGU–/_¾ìãã#"mÚ´‘sçÎM:õÆÊ­¥K—‘ÀÀ@mGk‹FŒ#GdútY³Fš5“Ï?—Ý»3û˜ÞÞ""3gJR’ˆÈ“'òÙg¢õ®—¢E¥n]9{V>þXDDL&ñó“]»ÄÝ]Ìv½|õ•<Ýõrù²øøˆˆ´i#"rîœL*Ow½88HéÒ""9a×[ß{ßë^³»UÄÐû¼6ȰâùŠû4ñiXº¡õ~„rdÿÇ•?¬÷#¬Í›dFÝ’u}šøxð´ÞøãÊzÿ„À›dÝa lat‡% ° @fЖ0À&™AwX›dÝa l` úÂØÀt„% ° ÀsÑ –0À&– ,a€M,A/X›<½` l` zÁØÀô‚% ° ÀsÑ –0À&– ,a€M,A/X›<½` l` zÁØÀô‚% ° ÀsÑ –0À&– ,a€M,A/X›<½` l` zÁØÀô‚% ° ÀsÑ –0À&– ,a€M,A/X›<½` lôÈ1» ½>}úL˜0aþüù[¶l)Y²ä… bcckÕª¢íúöÛoÛ´i3uêÔ… z{{‡‡‡GGG+×;:þÿ/¶dÉ’ 6¬P¡B®\¹Îž=_»ví^½z‰È;wÆŒóñÇ—,YÒÓÓóöíÛçΑ† ­øri~þYæÌ‘^½døp‘U«¤n]yã 9vLJ–ÌøÃöé#&Èüù²e‹”,).Hl¬Ôª%Zïzùö[iÓF¦N•… ÅÛ[ÂÃ%:úßëÍv½”,) J… ’+—œ=+ññR»¶ôê%"r玌#,%KЧ§Ü¾-çΉˆ~×g‰a†e÷Ø´b®Å|šød÷(Ø´ºžuëzÖÍîQ°it€´Ñž‹îð\t€´ÑTô@A/PÑ Tô½@E/PÑ ô½@E/PÐ Tô½@A/PÑ Tô½@E/PÑ ô½@E/PÐ €ÍrÌîhÏÝÝ}á…Æ ‹ŠŠŠŠŠ*^¼x@@ÀÊ•+CBB´ýA-[¶Ü¼yó|vûöm)Q¢„¯¯o¿~ýÌWûþûïg̘±~ýzõ^+V¬pvv‘Ê•+3féÒ¥áááááá"R¤H‘÷Þ{ï£>Òv¨¶å¯¿äw¤reY°àßkÜÝeõjiÑB^]ÅÉ)ƒìî. ʰa%QQR¼¸ÈÊ•¢õ®—–-eófùà “Û·EDJ”__ùï®—ï¿—3äé®—–-eÅ qv©\YÆŒ‘¥K%<\ÂÃEDŠ‘÷Þcïz<ˆ°çüž¨{QîùÜ[Wl|…9Ásйë^£»ˆ$š<ð£Wa¯ŽU:^¸uáृwâî k4ÌÉÁIDN_;}<òxl|lq×âͼ›ÎSø™‡ =yìþãû¥ –n\¦±›‹[Ô½¨µ'×&™’Âï„ûù)«u«Ñ­d’Ê;xéàß7þNLJô.âݤl“\޹”uRÉÀz]\Ú­t—ê]Ìn’)inð\7·7꼡õïORÛüêC£C…²·³oîݼLÁ2"b2™\:z=ÔÕÙµm¥¶…òJ¾]¡×C]>”dJªWª^-Zš°Üµû×ö…í»÷ø^…"šy5{æÖë±×WXÕ°tÆ¥ŠÈå;—7þµñe¯—kyÔ:~ø¯è¿ò:çí]»·ˆ$šƒ/Ÿ»qîIÒ“r…Ê5ój¦þ£V$&%þqå³×Ï&™’¼ y5õjêhïxäÊ‘u§Ö‰HðåàĤDeM5‡î?¾¿ÿâþ+1Wr9æªî^½~©ú꣥8’z%ëm;»­Q™FækŠÈÕ{WýOú×.Qûe¯—5þõ‰¤¶ êkzÔC‡m×®]ùòå“_Y®\9õš>}útíÚõÔ©SŽŽŽÕªUsvv.W®ÜÛo¿íêêšÆãÌ›7ïÑ£Gæ×(P`ß¾}Å‹W.ÆÅʼnˆ³³³ºBûöíÛ·o]¨P¡Ê•+ÛÙÙ=3°:uêDFF†‡‡{zz–.]Z]ÁÍÍÍ××÷›o¾¹råJTTT‘"EÊ”)ãää”Éß’­sr’-[¤bEyº;DDš6•£GåΉ•‚S¸×СҮüw—ý{¥Ù®—>}¤kW9uJ¥Z5qv–råäí·ÿÿg¥ø8óæÉw½( ûöÉÓ]/qq""f»^Ú·—öí%,L¢£¥P!©\YÌvý¿?¥N ÈH OO1Ûõâæ&¾¾òÍ7råŠDEI‘"R¦Œ~×káÔÕSC× ½{C¹XÔµèWí¾zfÙg×p¯¡DÈ“Ä'~A~­*´:ãüTVÜ`ðÝGwGn©”¹ÂÅÉebë‰=jöP.Þˆ½ñÑ–”bWäuÎëÛÁ·HÞ"Ê{ÄÝõ¾aé†% ” »6,`Ø?·ÿQïRܵø¬®³êzÖMc$Á—ƒçš×Ü»¹›‹›zÇÀ Ó÷OùòÈÔ~ëO¯¿s%íßUÿútIá_SÔ½¨7¡hÞ¢ÊÃn†ýpàåúÉ{&ßåû—ʾôÎÚwþ¸ò‡rå´ýÓV÷[­¼]¢n×ÙëgçÏUJçj¿íø­ƒCÚƒ¬Áÿ¤ÿÄãã•‹µKÔîTµ“ù Ñ÷£ý‚ü|šø¨qâäçìà<ó÷™Aÿ‰HµâÕz×îòÁÆ"îF¨wôÈï1§ÛœêîÕ•‹'¢N|¸éÃð˜pu…’J.îµø+¬=¹VD]>tèò!å&%NvœÛ1nÛ¸ûï«w©ãYçÇ®?s-–ÚH:Vé¸àð‚ß.ü0 À|+–þ¹tÁá«ú­Jí÷0+h–ILiü¢ò8åy»áÛ)Þ”Ú&(#Ìå˜K¡ˆL œöKß_­tíþ5åÊjÅ«­é¿Fi9u»¦NS_xíÇ·ÿæ o¦1BÀJ’LIŸíülÕ‰ÿÿçÓ·NßgÖ9qÌ/ÈOù/^D^:8ïмŠE+~³÷åeaPýAMÊ5ññÿzï×±cÕ;Ö/Uv·ÙêÁþ'ý'ï™lþ¯¾^Éz+û®\z½òKù·&" J5PŽ^¾ üî§Ã?©ï ØÙÙõ¬Ùó‹¶_8Ú;¦6’WÊ¿âä—7ö•±æ[1yïäK·/¥ö/]y_2íßUÅ¢ÛUj—âM©mBòŠH]ϺK{/ݶgÌ–1êësߺ}'µ™¤,+÷ªP¤Â7û¾‰¼©\YÐ¥àœîsꕬ—ö k ;tºCAw©¡;tºCAwi ;t@_(è @舧è@è…§è€^PÐ €Ð OÑ €Ð OÑ ½  ¡ž¢¡ž¢zAA/B/^^^^^^–\™;wîúõë««T©R¥J•´ïò /å»$Ûõâä$f»^ŽI¶ë¥|yIi×ÿç§xzJ*»^ìì¤tiÉ9»>ÓÄ?xgÝ;7bo”+T®I¹&‰I‰Çm÷Ü;<¾ûüî¦åšV)^%·cn{;û!k‡œºzªd’M½šÈ]àòË»Ïï¿}|ù"åk—¨ý$éÉ ÿA¡Ñ¡yó¶(ßÂ#¿GäÝÈ—œ‰>Ó»voŸ&>³ÌòÌïÙ­F7åñ= xÆ%Ä öy7²Dþͼ›9Ù;¸tà­ Cü‡l{»rØ‘|$NNê ¾~øÚ“kÍ~>þ³³ƒsŸÚ}RÛ¢õ§×›RŠ:Téb„”È_"ÅMPG¸7lo« ­¼ {ý}ãïß.üöÙÎÏ”jpæú™5{¸¹¸ýtöúÙiÓfw›­>æ±Èc»ÏïnæÕ¬BÑ Wï]ÝynçÆ¿6–-XöMþ÷ܽhëäÕ“Ÿìø$1)±~©ú5=jÞ~x{ç¹jù§aÑ‘EãvªÚ©´[i÷|î‘w#®xïѽZ%jÕò¨åìè|úÚéC— Y;d×]®¹\ÃcÂßZýVìãXÏžË6.»À…[~¿ø{Ô½¨¥ô¨Ùcíɵ/–y±A©ê½:bãˆ'IOjxÔ¨W²^l|ìî¿w<þþú÷×ô[cgg—âH\s¹v¯Ù}ùŸËO]=UㆲÎã'מ\[µxÕ4Þûûáàꛤ)*’·Hjq’Ú&ü;Â?=zò¨{îó<ðÏÐë¡u7ÊÙÁ¹o¾ö[C·þýת«ÔðÌo¸sµÎE]‹þuí¯àËÁ_îþ²RÑJJ"YiÉÑ%«N¬r°wh]¡u)·Rn]XybeŠÿi>㳟9Ù;½^ëu÷|îu<ëì>¿{Üöqv¯”Å»°wü“ø—¹rdô–Ñ z.‘íg·+*5=jÖp¯á`ïpúÚé£GMbêZ½k’)éÐåC=jö(‘¿„<ý¿xűsƒçÚÙÙµ(ß»°wÄ݈]ïZ²¦PžB£šJm$Ê4ªT´’ÿIÿMG(o ˆÈ©«§N]=5°þÀêÓÛ§‰Ïk‹_{îãâ6 ÜäUØK¹8qçÄ{îMj3©oݾæþÕî¯6ÙôF7æÏ}Û¹ZçoÚ£¼"‰HÄÝ;üvvvkO®mT¦ÑûßWï¾àð‚'IOÖ8¾ÅxåŸÏ˜æcº-ív<òø¡ðCÊ4Jq$"òæ o®8¶âçã?ãñrÍÖЭ1q1ã[ŒOc‹†7nS+¤ö¾§ˆÔ/U?ÅMP˜Ä´ãíù=D$±ybûí^:ظlã=8;8‹Hÿú·ý©íÞ°½æq—·qàFïÂÞÊÅEGMÞ3yá ‰d½…‡ÚÛÙ/íµôÅ2/*×ì<·óýõÏ>Õ“sÏçþKß_ò:çU.¶[ÐÎÅÉå—¾¿Tw¯®\c2™†o¾óÜÎ ·.xöž8MD&µÔ·Îÿ¿’8j/ö]«wº¥|B`þúÜà¹"òc×ÛTl£\r5¤×ò^KŽ,y¿ñûÊ1Fò‘ˆÈ›õÞœ°}¶³ÛºVïª\³âØ {;û7_x3µÍQ ÒÞäŠE+¦vSj› ð.콤÷å5aPƒA­æµòñ¿ñû#_©¬Ð tƒqÛÆí Ûgþ!G1×b«ú®rÍå*"‰¦DŸ >;Ïí\wjÝàƒÓ' -ºCEw©¡;TtºCAw©¡;TtºCEwô…‚¾èÐ *z ô@/¨è€^PÑ ½  zAE/ô‚Š^è½Ð *z Tô@/(è€^PÑ ½ ¢z–ØHÿ IDATAA/ô‚Š^è½Ð z Tô@/¨è€^PÐ ½ ¢€ÿcï¾ãªªÿŽ.—-{*CP\ˆ[ÉD¹rï••³Ì‘äL-+-Ó²¾eÃRË=¸Ñ\¨)J‰“œ¨*Š#p *ÜßG?¿^®W.÷òzþÅ=÷pÎûÜs9œ×ÅÇCzA¢`Š,=€i8uêÔéÓ§½½½/^,é¢D8uJœ>-¼½ÅâÅ‚SolS !F„÷vVvÃÆ¿¹âÍ‚¿±œ[9íûþ=É{„öVö³ÿž­Ñh„F#4N¶NGR!þ>÷·büKãe!JY—ÒŽðܳ]<(„x§Ñ;òÓK ˱MÇnJØt å@~“!Ôê×ê¼6ãÏ1I1Ë7B,?´q²qJÍH½÷ðžvŸœO;/_CòœDѨ\£ ÷ å‡– ¸ôàRK ËWj½Rðî¾ý>;'»€p hÐÝä‡îè Ot‡Dwù¡;$ºÈÝ!Ñ(áè ‰¾è‰Žè‰^@ G/Hô@/Hô@/HôJ8zA¢zA¢zA¢PÂÑ ½Ð ½Ð ½€Ž^è€^è€^è”pô‚D/ô‚D/ô‚D/ „£$z $z $z%½ Ñ ½ Ñ ½ Ñ 0EyÜ@ñTǯÎÊ#+¿ÛýÝÜîs­ÔVBˆÌ™³bgv; Ê6ˆŒÌÖd¿Ýðm •…\~íöµÔ[©Bˆ "ÿ‰üâÏ/júÔ”÷ñwîß9Ÿv>Ø+Xa­¶NËLûÏl¾uVü³â»ÝßÕñ­cge'„ÈÖdµó+!D]¿ºO©_½~¿þõ—ÿü•ü—“OËŠ- ^¿Kµ.õü꼎›½[Ï>yÏ"ùfòª#«ºVïª<ŒOßzj«“­SEÏŠ†Ú £:~uÖ[÷ÞF„P–\H»ð{üï…ÝNX@Øoñ¿¸t 餽üäÕ“Ž6ŽBˆ ~‹ÿmÊÖ)ÓÚL³´xtC•’ž¢V©Ë8•±QÛ!rý”Õõ«»öØÚ¯w}=±ÙDeIZfÚÜ¿ç .*•ªo½¾mþhý‰õë¯oÜNûã˜<½ö¶Fh XÁÞʾ€gó<„g±îøº/ rR.Ø¿àúÝëÍ*43Ôöù:ûz;xÇ&Çî=¿·~ÙúÊÂÍ ›¤)ÔvÊ8• t ¼vûZëÊ­+yV’Ë5ÍîäÝÕJWS[¨]ÿIýç×ÿö®Õ[®p å@ß:*•Jù)K¿—.Ÿòqò)íXú@Êmg¶5¯Ð\Yx$õÈÆ“m-m«•®öÔ‘ZUnu,ªAÙçÓÎOk3­àõ}œ|"Â# ^GûОôä!<£¹{ç6¯Ø\ùÐ'[“=3f¦ÐíV 0,ºC¢;€üÐÝä‰îÐÞÝä‰îè ?t‡Dw „£/´wG_ „£#$: $z%½ ½;z%½ Ñ ½ Ñ (áèíÝÑ (áè‰^è‰^@ G/hïŽ^@ G/Hô@/HôJ8zA{wôJ8zA¢zA¢PÂÑ Ú»£PÂÑ ½Ð ½€Ž^ÐÞ½€Ž^è€^è”pô‚öîè”pô‚D/ô‚D/ÀY{ÐUûàößÄ|“Óv^Ûðrá9šœ?ÿÌ|YØí´«Únáþ…¿þ5&)&,0ÌÝÞ=ã^FòÍä¸óqƒ^T£L¶Ámçî{òêÉ—f¿Ô¬B³ÒŽ¥/¥_Ú¼»Oí>J„º¿r|LÔ •E×ê];Tí0+vÖþ”ý­nݤ|+µÕžä=gþ=ãlëܧvŸ§ŽTÑ£bX`Ø¢ý‹2dŽi¼ÚB]ðú]ªu)ìQçòä!x–òÔ{knönïnxwÉ •<+]ʸ´9as¶&{@½jÕS0¸þõúo8±á›ÝßÄž‹­Q¦Æ»76'l¶µ²-ìv†† Ý”°iLÔ˜ûÔ,SÓÑÖñÚík§þ=u$õÈüžó}}ßjðÖúëWYw>®A@g;ç³×Ïî:»k^ÏyeœÊ(?Y‘ÿD>Ìy¨|–1è…ANl˜7oÊþ:¾ungÝÞvfÛ»7jùÔz±ì‹O©kµ®_þùå{ß»÷ð^¿zýžº¾Ì3ýäyϲA;+»N :½\ùeOÏãWŽÇ&ǪTªA/ z–múTдmÓúþÚ·eÅ–þ.þ‰×w$îp³w»q÷F¡¶3þ¥ñÃV븠cƒ€AîA6–6)é)ñ—âSÒSŽ=¦¶Pn2:bMĤM“"ÿ‰¬^ººÚB}$õÈÁ‹Æ'¨…:À5@1mÛ´ýöÛYÙù:ûv«ÞmHƒ!“·L²rÈKA/¹]L¿¸åÔ–‡9¾8Pù”³`ýêõÛxrãû›Þw±séÒ±à•uù#GÁò<„gÙàÕÛW[ÍmÕ¬b3kµulrìéO»Ú¹>ã6=ÐÝä‡îè ?t‡‚îòCwHtºC¢;úBA_t„DGô‚D/ô‚‚^è‰^è‰^è½Ð ½Ð ½Ð z $z $z ô@/Hô@/Hô@/(è€^è€^è€^PÐ ½ Ñ ½ Ñ ½  zA¢zA¢`Š,=誔u©9Ýæ ^98éFRÒ$!„G)im¦ Y9¤PÛQ«Ôózοaüö3Û#ã#åroïej!,-,ç÷œ?ríȸ q뎭Sžu°q¨ê]Uùz@½ãÿ¿öØZåaý²õýœýæõ˜7tÕФIË-W–{9x}×ù;//]¦ê_¯lr¬•]Ïš= u8úyòž%BêøÖ ršó÷œgw*K:…tÖp˜ ©F™S[OýhóGû.ìÛwaŸ¢¦OÍŽU;~ýI¡¶ãçì·ä•%c¢Æ½|ôèå£ry°W°¯³¯¢¬KÙù=玒žùO¤ü.'!„‹K×ê]Wü³bÉ%ÊSáU½«Îì4sâã/ÅÇ_ŠW–×ö­=«Ë,•JõÔ‘ì¬ìzÔè1ßüÚ¾µ•‹Õs•ç!<ˆŒIŠ‘—K Ë÷š¿W¿lýg(¼þõúŸ½~ö×ÿnJؤ,éS»Ï½‡÷VYU¨í´¬Ôò«_MÙ:%&)&&)FYh¡²hR¾‰¥ÚRѶJÛ´—Ó>Ûþ™öO}¨¨J¨„Ë7®àQáÌ¿g~Úû“âÿºUïöZ×.ߺüÓÞŸ¶ŸÙ¾ýÌv!„J¥êQ£Ç¨Æ£t©ž_½ïcWŽõ«×ÏֲПËVž‡ð,œÜjòôíÓ9ô‹òÐÕÎõÇn?ºØ¹`V 0è¢;`®èC¡;`ÆèC¡;`®è¢;`®èC¡;`è C¡/`êè¢#`êèC¡`èC¡`êè¢`êèC¡`èC¡`êè¢`êèC¡`èC¡`êè¢`êèC¡`èC¡`êè¢`êèC¡`èC¡`êè¢`êèC¡`èC¡`êè¢`êèC¡`èC¡`êè¢`êèC¡`–Æ ¡z™êу£·Þv)ã’·£w‹Š-4MDx„öïéaaÃä}¿¥Ú2"<¢¼{ù\ÛqµsÛ}nâõÄý)ûoܽáfïèXϯžÚB­¬àåàµüÕåGRºt(óAfY—²aaζÎʳ]«w )²÷üÞôÌtÐ(w*<*lzsÓž¤=§®ÊÖd—w+߸|cK›‚'‘”Âé\­³ÜËsõä!ä9a9·r¹^^!DÓ ¦nön¹æ×t\Ûà¶qçãr49uýêÖò©UGä©Gáá;wÜʺUÁ£BÓ ¦§®Š¨à^AYÁÛÑ;"¼\¸Zõè22½ÍôŽU;¿rüò[ZWn¶+iWJZе¥uõÒÕCýCå³ùM"…”Bô«×ï™^ =yyNب\£RÖ¥ÜK¹k/|­îkY³´—ØXÚ,yeILRLÂÕ{kû¦AMýœýž÷!y²PYLm=õ•Ú¯ì=¿W£Ñ(¿¶¶žÚêçì'ÿ0PǯNDx„ò+^fciãaï‘kSªvhY©elrlÒ¤MŽŸ³_-ŸZeœÊÈúÔîÓ>¸}LRÌ…´ Ž6ŽÕÊT«Y¦¦ò”¥Íê~«ÿLüóÜÍs÷³ïË}m2¶w­Þ±É±ÿÞù×ÙÖùÅ€ƒÜƒäó›Dªê]õäÕ“¯Õyí™_§§Ëóòœ°w­Þ÷2´—ØZÚF„GTö¬¬½°œ[¹ÍonŽ>­Üé5¯ÐÜÉÖ©xÝa(tÌÝa(tÌÝa(tÌÝa(tÌÝa(tL}a(ôÌa(t̽`(ôL½`(ô̽`(ô̽`(ôL½`(ô̽`(ô̽`(ôL½`(ô̽`(ô̽`(ôL½`(ô̽`(ô̽`(ôL½`(ô̽`(ô̽`(ôL½`(ô̽`(ô̽`(ôL½`(ô̽`(ô̽`(ôŠžJ£Ñè¾v=„‘‘‘Ïm *•jäÈ‘_ýµ±!êç÷Ê•+·oß.`…?þpˆˆð>s&ñwTÒLÞ2yéÁ¥ë¬SjÄTd=Ì ù2¤Eų»Í6ö,¼÷LɈÞBˆï¾»bìALI¶&»óÂΗ3.ÿ5â/K KcS»ÎîøûÀ÷›¿? t€±gá½gJ*TúöÛ+mÛt×\.e\j5·UÃÀ†sºÏ1ö,…óÅŸ_Ìù{NÔÀ¨`¯à§¯ýœñÞ3Üûé‡îxv¼÷L÷~z ; ‚÷ž áÞOt‡AðÞ3Üûé‡îxv¼÷L÷~z ; …÷˜ áOôE¡ð3ÜË野Ðï1½œè…Bá=fB¸—Ó½P(¼ÇL÷rú¡tÇ{Ì„p/§z¡Px™îåô@/ ï1SÁ½œ~èÝñ3!ÜËé^(Þc&„{9=Ð …Â{ÌTp/§zAw¼ÇL÷rz  …÷˜ á^NôB¡ð3ÜËé‡^Ðï1½œè…Bá=fB¸—Ó½P(¼ÇL÷rú¡tÇ{Ì„p/§z¡Px™îåô@/ ï1SÁ½œ~èÝñ3!ÜËé^(Þc&„{9=Ð …Â{ÌTp/§zAw¼ÇL÷rz  …÷X1áàààíí­ûú…{gŸ:uêôéÓþþþ…œ ¦gîܹ+V¬0ö0¤ëׯW¬XÑØS ·”ô”UGV%ÝHŠ:UÓ§¦i€¢±÷üÞØäØ½ç÷ž¸rbð‹ƒM«L•GVž½~vÉ ÷ÞëS§±ÇPìОŠîðTt€‚ÑžŠî Ñt‰^ Ñ ô‰^ Ñ ô‰^ Ñ ô‰^ Ñ ô‰^ Ñ ô‰^ Ñ ô‰^ Ñ ô‰^@ÉÁ›yÓh4Æ(.¦_üv÷·Bkµõ{ÍÞ3ö8Š£½ç÷Ί%„ðqò\°±ÇP­ügeÜ…8!D³ Íš”obìq;t€§¢;<Ý `t€§¢;Hô@¢Hô½@¢Hô½@¢Hô½@¢Hô½@¢Hô½@¢Hô½@¢Hô½@¢PrXjíJ•*UªT)22ò9MƒbB¥R½õÖ[_ýµ±!õèÑÃØ# ¾Î¾áŽ6ŽÍ*4 p 0ö8…f©¶Œ(ï^ÞØƒæ¬~ÙúáÞŽÞm«´u´q4ö8…àQÛ·¶±ÌY·ÝÂÂ܃ZUjeìYôfciãaïaìA³Ewx*ºÀSÑ Fwx*º€D_PÐ$z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z%‡¥±€ÍÏÙ/"<ÂØSèO­R›ôü€I¨_¶~ý²õ=…þ”81ö€™ëV½›±Gx& 6 lhì)sFwx*ºÀSÑ Fwx*º€D_PÐ$z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z%‡…±Ÿ…±À€¢Ö­[—••eì1_gÏÎþ¼öÂâ0˜ˆ=;%jJò¿ÉFœaש]“×M>ã¿ç· ˜1•J:sæÌM›6Õ¬YsôèÑ={öŒ7ö\Š;;»®]»®[·nΜ9—/_îСÇ~xóæMcÏ ñõõ9räÎ;‡þ믿¶hÑâ—_~ÉÉÉ1ö\Š ºÀSÑžŠîP0º€6??¿‰'îܹ³k×®Ÿ}öY»víbcc=#P©Tõë×ÿùçŸW¯^íèèØ§OŸˆˆˆ+W®{.F`gg׳gÏ-[¶|öÙg±±±-[¶œ3gÎÇ=# (è½@¢(è½@¢(è½@¢(è½@¢(è½@¢(è½@¢(è½@¢L……±0¾°°°>ú(00Ј3ìÚµkÊ”)çÏŸ×^X3aÂ>êðQ G gØuz×”¨)çoü÷üƒÁ€’ \¹r_|ñÅêÕ«­¬¬zôèñé§Ÿfff{(ňJ¥jÖ¬ÙêÕ«§M›ýòË/¯_¿ÞØC(^J•*5xðàèèè:L™2¥wïÞ‰‰‰Æ @ñBw(Ýà©èA„L= IDATOEwÜÜÜÆ¿yóæråÊõë×ïý÷ß¿}û¶±‡`Õ«W_¸páœ9sŽ?Þ¦M›ÈÈHFcì¡Z­îÒ¥ËæÍ›üý÷ßwíÚõĉÆ €qÐ $z€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ ÅŸ¥±0¾°°°°°0cO‘‡b;˜i *Ž/c± Eàêí«ÛÏlßyvgzfzÇŽ½kõεÂí¬Û[Nm9|épJzŠ¥MˆwH·êÝÊ8•Ñ^çË_L9˜ë4>B{IvNöª#«b’bneÝ p èU«W°Wðó8¨b.$$dùòå+V¬˜6mÚöíÛ¿ýöÛcäÔµSÛÏlÿûüß÷ÞÿÒøš>5s­š‘º1aãÉ«'¯Þ¾êjçZϯ^—ê]ì­ìµ×øûÀ{îåúÆAõ5¯Ð\{IZfÚòCËã/Åk„&¤tHŸZ}<<ŸÇAgݺu{ùå—?ÿüóQ£FmÞ¼yúôéÆž ÈW¶&û@Êm§·»r,''gQïEVj«\ë»rlë©­I7’Ò綾q,óR…—ZVl©R©ä g¯Ÿ´iÒ“ÿ²Ã—>N>ÚK¯'þzø×Äë‰öVö/¼Ø³fOkµõó8®âÌÅÅeÒ¤IÝ»wŸ0aBÇŽ'L˜ðúë¯{(  tGÑ£;`rèŽ"FwÀäÐEî€É¡;ŠÝ“Cwúè£={öÌš5‹ Š3úâ¹jÖ¬YXXØ×_=iÒ¤;v̘1ƒPœÑÏ­­íðáÃÛµk7qâÄ®]»Nœ8±oß¾Æ (½ðüÐ 0-ôÂsE/À´Ð Ͻ“C/ÀsçÎEGG_¹rÅÍÍ­iÓ¦UªTyr¿NNNk×®=wîœOÇŽ]\\”/^¼}ûv!Äüùó£££…ýû÷Ïs0]vôÔWÉàž?¸3a§FhUlºæÐšÃ¿Ûú]{k­ó{7mËñ-Iÿ&Y©­êÔk\IëÔœˆÞ}z÷&C\K¹FÅG¹zÆÛÉ»S­Nn¥ž8¿:lÄÅÞeÑ §.ŸªP·UH«ØÄØ-ǶôoØ?Ð=P®œ‘™}":ñZ¢½µ}²u=íü^?}"úJÆ·RnM+7­RZëe¼_';§µ‡×ž»~ÎÇŧcÍŽ.öÏï_‹·ŸÜ.„˜¿{~ôñh!D G`ÿ°þy¦ËŽžú*!O¯ÿòz°Wð{Íß3ö âÓmŸ.Ü¿P£Ñ(kûÖεBü¥ø>Ëûd=Ì’K¶žÚ:çï9_wüºEÅraµ„¸ q¹¾7×ýDÖì¿ «Å$Åürè—ÏÛ}Þ¹ZgCŽiéÞ½{ãÆÇŒÓ³gÏ>ø wïÜù‡’,áZ”-SzÖìY~@:-ètìÊ1ù0ý^z®í_4uÛTy%BDš»wîâÞ‹\äÂ}öe>ÈÌõ½í«¶×~x>í|諒¯Þ¾ª<Ü~fû’K–÷Y^ɳ’AŽÅ´888|òÉ'­[·;vlçοÿþ{í{-`ÍÑ5¿ÇÿþQ«*{V6î$—2.u˜ßAûâ£ÉɵÎðÕÃ7'lÖ^ùOdx¹ðÙÝfÛZÚ*KîÜ¿óäí„"×¥cë©­ï¬}ç~ö}åᦄM+¬\úÊÒRÖ¥žýXLN•*UV®\9kÖ¬©S§îß¿úôéÚU Ђî ;P ºCyHwÐ(Ý¡<¤;è€îtÝÑÊÃ’Ó­[·~á…FÕ³gÏ?þ¸[·nÆžÅ}¡<,!}akk;qâÄ-Z¼óÎ;]ºt™={vPP±‡B1BGˆ’ÔË–-›={ö§Ÿ~zèСÏ>ûÌÆÆÆØC¡¸ ”‡ô èz^€zAÐ €‚^ èh¡”‡ô è!½!èz^€zAyH/‚^BÐ €‚^ èh¡”‡ô è!½!èz^€zAyH/‚^BÐ €‚^ èh¡”‡ô è!½!èz^€zAyH/‚^BÐ €‚^ è…âÁòyï ''gÈ!?ýô“\2|øðÛ·o/Z´èí·ß–ÿ}×üùóG•‘‘!WkԨѪU«<<<„ÑÑÑŸþy:uÆòäIeww÷mÛ¶Õ¬YS~‹.©V­Ú»ï¾›””$„=zt«V­bcc§L™Ò´iÓÀÀ@å»æÍ›7f̘ôôÿ¿„‡‡ïܹÓÂÂ"Ïc|ï½÷f̘‘­¿»çú}TF¦Ö©©ØhÕ°UBˆèãÑŸoú¼N@ñ+ÆŸ¼üxr÷m£·Õô×:¿:l¤šoµwW¼›ôo’btËÑ­BZÅž‰5¥iå¦îÊwÍÛ=oÌïcÒ3µÎo…ðïî´Pås~W¿7cӌ쭗=|Яþ`¥¶’û ñ ·bܹëϯƒÇêá«Ã+„ !ÿµxÇÉBˆ{ŸßJMú‡õr0]vôÔW ù‰»§R©Œ=…B\½}Õ³”çKA/ÙYÙ-Ü¿ðÉnß¿m¥¶jܾF™¾Î¾7îÞXvhYü¥ø±ëÇîºËÉÖI{厫-Ôò¡»½»ö³ßíù.îB\iÇÒ#ÂG”q,ógâŸK.yoã{/”}ÁÇÉçù_qçååµpáÂo¿ýöƒ>HNN?~|1ycÀèneÝŠ»×°\Cc"„Wï\­èQ±yÅæ'¯žü3ñÏ'W¸~÷zÇ2mª´©èQÑÓÁóìõ³?ïýùbúÅ LøåÕ_´×¬äY飖i/)çVNûáØ¨±Wo_­ëWw@èµJ½üÐò˜¤˜‘ëF®¸>¿ßŒf¯aÆk×®}çwzõê5kÖ,å† B\̸w!îVÖ-c"2dÞ¾;Ô?´y…æK.¹˜~ñÉu®ß¹^­tµ[ºÚ[Ù¼xpá¾…»“vÏþköÈF#µ×ìÒ©gÍžÚK´ïnfÞ·aÜýìûݪwkS¥ÍÍÌ›?Äþp$õÈŒ?gLi5å9`1§V«#""êÖ­;jÔ¨W_}õ§Ÿ~R’tÝñÝüÐt‡Dw ?tÝ¡ ;PºƒîPÐÈÝQ»ÃÍÍmþüù_ýõ„ .]º4bÄcO„₾(}ºfÍš#FôêÕkΜ9uëÖ5öD(.舒ÖÆ «Y³æ;ï¼Ó¿ÿÙ³g;;;{( ô½@/@¢èz½@/Ð PÐ ô½‰^ èHô½@/@A/Ð ô$z^  Ñ ô½½@/Ð èz^€D/Ð ôô½@/@¢èz½@/Ð PÐ ô½‰^ èHô½@/@A/Ð ô$z^  Ñ ô½½@/Ð ÅåóÞÁÌ™3úé'µZݹsçòåË'$$üðÞžžÚë¬]»vРA–––íÚµ ÎÊÊÚºukLLL¿~ý6lØ W{ë­·,--ìàà°iÓ¦ãÇ¿ýöÛ111…ÚȰaì­­ßxã __ß <9pddäo¼!„ U«Õؽ{wNNŽ…E?¢³fÍš>}ºJ¥jß¾}ppprròš5k~þùgéÓ§ËÕ†nmm=xð`[[ÛèèèãÇwéÒåäÉ“îîî}ûöÍÉÉÙ±cǀʖ-+„ Ô{G¿J73zæO1?©-Ôku.ïY>árÂþàéðßó{xí Eƒ,-,ÛÕh\&8ëAÖÖã[cNÇô›ßoC„Öù]ò–¥…åàÆƒl6ÛtüÒñ·—¿3>¦P¶l˜µÚúFoøºø6Êëüî|cÑBˆÐÀÐÐÀPµ…úÀ¹»ÏìÎÑääy žµcÖô?¦«Tªö5Ú— N¾ž¼æÐšŸc~öpð˜ÞUëü.n­¶Üx°­•mô‰èã—Žw™Õåä''ÝÜû6蛣ÉÙqrÇ€†ʺ•Bzê½£‚_%˜„÷›¿ïYÊS¥RmJØ”g„Ôò©µwÄ^K¹¤CÕvN¸–°?e³ Í´W®P_­R?± !„x˜ópù¡åj õ¢Þ‹‚܃„Ë7V©T‹ö/Z~hùØ&c yT&E­V5ª|ùò&Lø÷ßg̘‘çå0¢µý×z9x !&o™œç BŒj4J~¶Ò¤|“–•Z¾üÓËû.ì»sÿN)ëRrMGÇúeëç·£øKñ/,ëRvQïE¶–¶Bˆf›u]ØõØ•c{’÷4*×È€eZ¼¼¼/^|Ø«W¯U«V-\¸p̘1}ûö=þüŽ;žß`:î¨àWÉàþ·å*‹èÑÑM+7U–¬=¼¶ó¬ÿžßÕïÙ[ÛïzwWÝ­S3»ûªƒ«N^>Y¥ôãóë´uôV;+;!Äô‡ÓkL©±'qOFf†““îñsõÛ9n§£mþçwõûBˆY¯ÎÖTëüžÙßmÜg?B¬º²KíÇ/{ÒÞFŸ7ú&ú›Ií&•²y|~Ëļ£Œú0ça¯9½V\µ0vá˜Vcú6è{þÆù'w ^!ÿó«ÛŽ ~•ÌÞƒìý~íWÏ¿^DxÄo‡ûëÜ_73oÎë9ÏÖÒ6;'ûϳîNÚ}þæyµ…º’g¥nÕ»•s+'„H¸–0eË”ìœì£—öYÖGÙÔ-?ö B¤ßK_ñÏŠCݾÛÛÁûåÊ/çºË78冣Úw +µUX`XµÐè¾£øKñ÷2•k¤ˆ¢½þ‹ö/ÚuvW ‰têÔÉÝÝý­·Þ²²²š6mš¼Éƒ©‹¿ÿùŽÏûÖëêºôàÒc—y9xMm=Uq÷ÁݨãQ‡/N½•ê`íPÛ·v÷Ý•×]3/nž"2>rOÒeSË_]®|‘t#iå‘•§®z˜ó°œ[¹îÕ»{?×£xê…ÂÕÎ5×?g¿ònåO\=‘£ÉÑ}G{’÷!zÖì©”‰B­R¿V絉'î:»«$ÄI¬¬¬¾üòK—Q£FY[[7oÞÜØÁ`~=üëºc릷~ïá½_ÿšt#©eÅ–¯ÖyUqùÖå5G×$\K¸™yÓ³”gÃÀ†B:(7ŠÓ¶MÛrj‹bÊ–)Ž6ŽBˆªÞU'µ˜¤ló¯smJØt!í‚¥…eõÒÕ_©ýŠG)çw¶–¶òÇ6?ÚáP4 j*„(ÔUB<¾Pô­ÛW.)íXúåÊ/¯9ºfï…½Í+”耀€ÈÈȾ}ûöíÛwùòå^^O¹zÃTÐt‡ÑæŠî ; …î0ctG¡öEw€î0WtÝa@t‡¹¢;è=ôêÕËÑÑqÔ¨Q¥J•9räÓ¿&‚¾(Ô¾è !„­­íwß}7nܸ!C†,Z´¨víÚÆž†AGÐz¨P¡Âo¿ýöÊ+¯ 4hñâÅò_™ÂÔÑ ô‚èsE/j_ô‚ Ì½@/è^0Wô½ zÁ\Ñ …Ú½ èóE/Ð z Ì½@/è^0WôB¡öE/zÁ|Ñ ô‚èsE/Ð z Ì½P¨}Ñ ‚^0_ô½ zÁ\Ñ ô‚èsE/j_ô‚ Ì½@/è^0Wô½ zÁ\Ñ …Ú½ èóE/Ð z Ì½@/è^0WôB¡öE/zÁ|Ñ ô‚èsE/Ð z ŠËçºõsçÎ]ºt©U«VM›6• ;uêºoß>åajjêñãǃ‚‚6nܸqãFF£Ñh„Bˆýû÷W©REYsüøñvvvÊ×ÖÖÖ-Z´HHHHMMurrÒ}#ãÆsttÌoà”””Ó§O‡††6L{yxxxžëŸ?>%%¥aÆ]ºt‘ ëׯߣGåË—5>ÞúñÕÛW…U½« !Ò2ÓšüØäÎý;rÍM ›æÅÍûýõßýœý.f\ƒ úý÷ße‹Á¤Ñt‡aÑf‰î ; ˆî0WtG®åtdz ;ÌÝAwÝa–èºC?mÛ¶½{÷îĉ}}}{ôèaìq`ôE®åô….Ôjõ_|1lذ7ß|sÍš5~~~Æž@GÐúñññY¼xqïÞ½GŽ9gÎåŸÔÂÔÑ ô‚~è³D/äZN/è‚^0Kô½ zÁ,Ñ ô‚~è³D/äZN/è‚^0Kô½ zÁ,Ñ ô‚~è³D/äZN/è‚^0Kô½ zÁ,Ñ ô‚~è³D/äZN/è‚^0Kô½ zÁ,Ñ ô‚~è³D/äZN/è‚^0Kô½ zÁ,Ñ ô‚~è³D/äZN/è‚^0Kô½ zÁ,Ñ ô‚~è³D/äZN/è‚^0Kô½ zÁ,Ñ ô‚~è…bÂò¹nýæÍ›BˆÀÀÀ\Ë÷íÛ§|}íÚ5!Dbbâ|ðäÒÓÓå×þþþÚO988!zùè‚ý >ØüÁ‹/ú9çý WÜ…¸‚ãÄ£”‡aW1yËä¬ì¬ Í&äZ~!íÂ…´ Ê×QÇ£æü=g~ÏùAîAÊ’GŠRÿ¹Px9x !Ò2Ó >¤)R©TüñÕ«W‡¾zõjooocOƒ™3³Iù&mƒÛ–v,­|Š—‘•áïìßµz×òî嬮ܾòlj?vžÝ¹öØÚnÕ»M|iâ⃋#ã#?lùaeÏÊBåò2÷﹫®öwñµö«AîA÷³ïïNÞýÛáßF­µéMÚ-ä'¤xò7ø3ºu{ÊÖ)žžƒ_œë©¿Ïý-¿þ=þ÷ ætŸ#?ÈHËLs¶u¶´øO9*ãq¡Pxxx,X° K—.ãÆûî»ïT*•±'‚aÐÚèŽgDw˜+ºC¢;žÝaÆè‰îxFt‡¹¢;´Ñψî0Wt‡Dwè®{÷îçΛß~ûíÈ‘#= †^èÝÑ æŠ^èÑ æŠ^ÐF/èˆ^0Wô‚D/èŽ^0Wô‚D/èˆ^0Wô‚6zAGô‚¹¢$zAwô‚¹¢$zAGô‚¹¢´Ñ :¢Ì½ Ñ º£Ì½ Ñ :¢Ì½ ^н`®è‰^н`®è‰^н`®èmô‚ŽèsE/Hô‚îèsE/Hô‚ŽèsE/h£tD/˜+zA¢tG/˜+zA¢tD/˜+zA½ #zÁ\Ñ ½ ;z¡8°|ú*ÏÀÕÕU‘œœœk¹öeªU«öèÑãÉ-„††ê¾#]6biYÐ!»»» !tÙ©ÜïÙ³gs-OLLB¸¹¹É%III 4Ð~(¿Ý°;*J®ö®Bˆäëɹ–'ÿ›œkª>U{ÔÍëÔêv~uÞˆ¥ºÀóëà.„H¸¬óù-å*„8{퉗ýZ¢­”Öùý7©APí‡rlÃîBÐ,é½$Ø;X{á²>Ëöžß»óìÎÍ ›ïgß×h46–6Ó/^¾u¹´céúeë«T*g;çúeëËoYzpéõ»×Ç6;¤Á¹°m•¶M~h²êèªü"dâK3²2 žÐÇÉçŽ/·íg¶´ù£—+¿¬=§ÂʪKµ./”}ÁËÁ+5#uÍÑ5ûSöZ7*äÍ!D¶&[¡V©smPYò0硇4iݺu;~üøÄ‰kÔ¨áïïoìq`^^«ú­Ò.mW{׃6n9½eçÙ×ï\ý@a­¶Þa¿Â×Ù·ªwU!„Ÿ³Ÿö…b~ÜüMÎüžóëøÖQ–¼Tá¥Z¾µüW|`ú IDAT6 êxÔÐCóÜû’W–h4šƳR[=ó!þÇ—;¿\{lí¤“^ðA{¹›½[ëÊ­«—©noeŸx=qù¡åÒ. [5ì7þP..ÿ¹P(•—B ‹¯¾úª[·n£G^²d‰…EŸYõ¨Øâû.ßk/iR¾I-ŸZkŽ®‰:•q/#;'ûAÎ!Äþ û»Uïì¬|$QÕ»j=¿zÊ·h4šùûæ{:x®é¿ÆÙÖYYørå—mgÿ5ûð¥Ãòê¡Mù„´àñÜíÝŸý¥Ì™CW ½”qiQïE®vÿ¹G-ï^¾sHçÊ^•ï?¼ÿOê?¿þõ¯s}²õ“ém§++dk²sý…C¡,ávBòõõýî»ïúöí»téÒ×_ÝØãÀ0èÝa(t‡Y¢;t‡AÐæŠîPÐAw˜%ºCAw Ýa–èÝQX£F:zôèèÑ££¢¢ììJпL5oô…‚¾(;;»ü±S§NÿûßÿÞÿ}cà#tDaÕªUëÃ?üðÃÃÃÃëÕ«gìq`ô‚‚^(,zÁ,Ñ z¡Pè³D/(腢̽   ‹^0Kô‚‚^(zÁ,Ñ z¡°è³D/(腢̽   …^0Kô‚‚^(,zÁ,Ñ z¡°è³D/(è…B¡Ì½   ‹^0Kô‚‚^(,zÁ,Ñ z¡Pè³D/(腢̽   ‹^0Kô‚‚^(zÁ,Ñ z¡°è³D/(腢̽   …^0Kô‚‚^(,zÁ,Ñ z¡°è£Ë}·jX>>>ÑÑÑ»víjܸ±²pýúõûöí“ëøûûW¬X155µ{÷îÕªU“Ë5Í–-[êÖ­«ËŽ ²!„ŸŸ_ÅŠ÷íÛ7wîÜÁƒËå{öì S©T¹Ö/[¶¬ŸŸßž={Ö­[×±ã£[–ýû÷¯X±ÂÎήNÿOšÏ?ÿ¼C‡ŽŽŽBˆ‡~øá‡Bˆ† *ÏÚÚÚ !nܸ‘ß`ºï¨(¸ø¸øDÞujWãJÏï?ë÷%k_7ÿŠ^SÓR»×í^Í÷¿§æø–ºº_ClDáçêWÑ«â¾ä}swÍÜXëüžÙ”×ùu+ëçê·çÌžuñë:Ö|ü²'ï_q`…•]²ZçwÓçjvp´uB<ÌyøáÚ… +<>¿–¶Bˆwò?¿:ïBˆ*žUrH¶&{ÔºQ1I1O®|+ëViÇÒynçð¥ÃBˆ­§¶Æž‹Un#4B£|‘x=1¿½çÚõó¶þÄú±Qc›UhöM§o,TÿùoP¿hÿE)ëRòaïZ½G®¹þÄúÕGWG„G!ì­ì…wîßɵMe‰½µýsŸÞtL˜0aïÞ½cÇŽ]¾|¹Z;Û`ŠZWn­]&Bˆk·¯½²ì•”ô”\kÞʺUÀvâSãÕ*õ̘™B(âaöCQà…"W!}zݺu^^^W¯^U©TÊ:3fÌèÚµk:uš5kV¥J[[Ûää丸¸¤¤¤ÌÌLÿŸƒlD1uêÔ^½z½õÖ[óæÍ U«Õû÷ï}ðà¥e/ׄ Þ~ûíÎ;·oß¾J•*çÎ[½zõƒÆ_ªÔÿÿT§¦¦·oßÞÆÆfÛ¶mÇŽóððèß¿¿òl… „cƌٽ{·½½}`` |ª°;*b£ZŒ·b\óÿ5ï\»s9r§¯ž^wx—£×Õ[WUâñùí>£ë]ë|R§Y•fUJW±µ²M¾ž——ôoR晲© f!¦v™ÚkN¯·–¼5o÷¼ÐÀPµ…zòþØÄØsXªò:¿m&¼½üíγ:·¯Ñ¾Jé*箟[}hõƒìã[/e£u~ÓSƒ?n_³½¥Í¶ÛŽ]:æáàÑ?¬¿òl¯ Bˆ1¿Ù}z·½µ} G |ª°;‚âɨˆ:“àðZ×\ì­ìU*Õâ‹7'lV¢"OwïßBħÆ?ù”µ¥u~ß5mÛ´£—<á—¾ôqò)x],;¸lÊÖ)­*µšÙi¦¥Eî÷ç“÷ Ýkt_bý¹›ç”‡Ê É7“µ×Éz˜u)ã’·ƒ·ZÅöÿ¬¬¬f̘ѥK—5kÖtëÖÍØãÀÊ8•ɵäÛ=ߦ¤§4hÐ1¤£·ƒ·µÚZ¥RMøcBÁqr÷þÝlMvlrì“OÝ{ûcPéõ_^ÏÎÉ.`³.v.?tý¡À#ÐI¶&{ü†ñkŽ®y¿ùûB<¹B® …£c«J­fÿ5ûÜÍsJœø:û !’o&W+]M®–t#I>)88xèСÿûßÿÚ¶mëééiìq`OÞQ|¸ùìì¬5z4hàfïf¥¶ºsÿÎàƒ ؈ó7îÞÈûBñÄßK צl™Rðx ŒQð:ºø÷ο~pîæ¹ù=ç‡ú‡æzÖÖ2÷GrÁÞÁ!¥C]Ñ^íûï¿;vìœ9s”‡«W¯vwwW¶nݺjÕªÇÿâ‹/„Mš4éß¿¿~;*b£ZŽ:qùÄüÝóWx|~›KMO]}hu)›Çç·vçeo,ñˈÍÇ6oþ?öî;®©sñãø ì-²A– "XEѪ( Ž"-¢¨÷j¯^½ŽÚºªµŽŠÅº÷FQë.U±.T "×Á)K¦Œhd%¿?Ny~¹Œ&9|߯ûGòä9'OœœÏIïË5o GnD· òM~¥±BÈ8çqEž[™™Zóþvþ\ŽÓÀûëömæÛÌ-¡[®Æ^½[óc0ã'ïÿ}'î\rnɾ;5ﯺÞÅo/vP¯y»yv5îú2ûå–Ð-„A¶ƒ¦ºNý¸'B‡Ã©5„ÄÎ/wÚëÛÓÁÀ»ÿ3IHj sî²vøZ=›Z;¬{ÆOÅçÇGfDŠ_!¿’/~BSìŠØx7p”ý¨_½~mb0ä”åBT¸*Ì]'#'BÈä;Õ‚jy¹öp/õ^• ÊÉØIò²L×®]Çÿ믿Ž9REEEÖËé‹ÍŽÕVÑ>æwŒðßW¾Ïçå+sÿ¹ÀÇ!Bê9PTTWìóÙGÿˆ(]U݆ž+2#R|œè©é}ÄK¨åCÕ‡—„'…¯¶Ú¿—·Ê)­ç@q;éöhûÑtNxR8!ÄÑÈQòE²ÌܹsÏŸ?¿cÇŽuëÖÉz- µÎ(Šùů‹_»wvß8r#¬um¢îÂPÃÃá89-¼¬îSXèZÔûÔeåežNˆ~£ðÑ2K2§O)|_xÔïhO“žMÙD ä–åÑ…±SB~ÂíäÛ㺣Ón½ºEq4Äâp¹ÜÕ«WOœ8ñÁƒýû÷—õr@R莆 ;$î`=tÝ! tË ;ê…eÐ AwHÝÁz躣)|||Nœ8°gÏY¯¤}Q/ôE­X±bäÈ‘W¯^3fŒ¬×’BG4Ñ3fÌØ»wï¸qãè¼ l‚^` š½À2è…z¡š½À&è…† š½Àzèz¡)Ð ,ƒ^¨z¡‰Ð l‚^hz¡)Ð ¬‡^` š½À2è…z¡š½À&è…† š½Àzèz¡)Ð ,ƒ^¨z¡‰Ð l‚^hz¡)Ð ¬‡^` š½À2è…z¡š½À&è…† š½Àzèz¡)Ð ,ƒ^¨z¡‰Ð l‚^hz¡)Ð ¬‡^` š½À2è…z¡š½À&è…† š½Àzèz¡)Ð 2Ôà­´ÈËË:tè›o¾¹sç!dÀ€}úô±³³ÓÓÓSVV¦Ó&L˜àíí}ëÖ­„„@`aaÑ·o_333æQwwweeeCCCÑ=3ƒúúú’ì„âêêºfÍ :2wî\??¿ÐÐÐÔÔT--­ž={º¸¸ˆy7nœ3gNXXXnn®®®®››[—.]jͱµµ}ùòå•+WÒÓÓMLL¼¼¼´µµé£ÊÊÊQQQ!!!IIIåååÌbê.Lü5ñ§$]òrò‡¦úfð7wïBØ ècÙÇn¥žº=ÜB&ô™àÝÃûVÜ­„7 ¡À¢ƒE_«¾fº5oMWwe®²¡æÿ®¼«»2WY_S_’B\m\×|±ÆBÏ‚ŽÌ4ׯ·_è‹ÐÔ‚T-­žzºXŠ}¿Ú8gМ°—a¹¥¹ºjºn]ܺÖy l_®{yåé•ôÂt¯î^Úª"ï/W9jETÈC’ò’ʫʙÅÔ]˜ø'jâO©}ÒVÑ&„<É|ÂDH• jwÄîèÌhÑ9jJj™%™¡€ž—xØy‹>vùÅå€/̵͙ÁjaõÍÄ›bÎ*¾wû¾´¼TüzŒ5%y9B¡pCø†#QGÆ8ŒùeÔ/õÈËÜ—O³Ÿ~ÙíKz†‘ñËí_!.æÿü>iõ4éù$ëɯw]2h ‡ÃÉåån ßDñêê%É Ùjþüù/^<{öì”)Sd½>-e­””„¼{{BÈ[þÛïÿüþCÕúi¥ÊU%„¼.~-ºÕpÛáÛïo¿žp}ñ ÅZÊZÌ`YyÙÅçMz®NÔŠœZ¸ò\ _¯œ7ë÷YÑ™Ñk‡¯ÔsR½sþŒÿSYAÙÍÚ¹vS%¨ ~|õåUy9yºx77®ÊqŒ´9Ôf(!$*#êTÌ)®<×ÓÎSÂE²’’Ò‚ V¬X1oÞ<###Y/¤LMQMž#ŸZ”Zò¡„ù{UðjÍ5¢sTÿ9Pô6ëÍŒh«h÷1ëZ”êãèCÿº3K2ƒŸ÷2íUïsÙu´ š$~=T%½R–Täìϯäó;Öݨ{½sErµp¥—q‹ùÅ›ÿÚœ]šm©k©¯þÏæ¨.£ÎÅžÛvo›‹¹K'N„ÄåÅÙèÙ0GTÕ§OŸAƒíرÿ(5+¡;ºCÐì†î@wHÝÁnè‚ît»¡;ºCÐì†î@w4œœÜÂ… gÏž˜˜hkk+ë倔¡/ú¢9¬­­½¼¼öìÙãååU÷?ý‡¶AÐÍ1sæÌ“'O-X°@ÖkéC/ š½Ànè‚^hô»¡z¡9Ð ì†^@/4zÝÐ ½ÐèvC/ôBs Ø ½€^h:ô»¡z¡9Ð ì†^ è…æ@/°z½ÐtèvC/ôBs Ø ½@Ð Í^`7ôz¡éÐ ì†^ è…æ@/°z š½ÀnèôBÓ¡Ø ½@Ð Í^`7ôA/4zÝÐ è…¦C/°z š½Ànè‚^hô»¡Ð M‡^!…Vxލ¨¨Þ½{÷êõÏ)þÎ;¿üòËZÓTTTF=zôèº{pwwwwwoÊ`swBquuuuu­5¨­­=~üø†_Sm3gÎ?G]]}âĉ =ªªªêëëÛèÂÄÑ¥á÷WQÕ×ùßßú&扚þSj‡[ Þõ`ךkEÒQÕI+J+-/u0px‘û‚ÎéjÐõQú£Á{›h™pgÕ°U}Ìúøv÷={nÈÞ!fÚfzjz¥J3K2Ë«Êçô3Ê~T½Ï%yÌßNº}àñBH¿ˆrå啘¬BÈp»áS§BBCDáp8٥ٓOOÝÖßÙŸ9](xW°:tõº›ëL´L´•µsÊròxy„ž&=GvIç/²|bÐÄ}ö]~qÙ@Ý >?¾¼ªÜÙÔ¹=ŸsˆÑ±cǯ¾úêøñã“'O–“““õr@Ê†Ú ÊˆstŒ]G;BHjQª WÅDËä]Å;f‚eK®Ê…gž¿y®­¬M95éÔL—™7_Ý<sêlìY ] %|^~NYNµ úð¸Ã =W³>®vwÄîû©÷ !ioÓ!›ooÞûp/!dáÀ…ÌηÞÝ•¥®¤"ºíÆ‘™«/Þ¼Ø÷hŸ WÅLÛLQ^ñuñëÒ¥„9.sŒ4ÿù•µ”µ X°ùöæ9¿Ïé¬×YAN!>?^(~ãú¡†¡„¯‚•¼½½·mÛvòäÉ¥K—Êz- e\yî@ë·“nØ5À¶£mYyYZQšƒ¡ƒèBÈÊë+ƒž)+(w5èºÒ}åšakÆŸ¿òúÊáÍuÌå³J³ ÞBæ÷Ÿ¯ WOpi(iЋ†í_ÿUô¾ˆ’Y’I™zf*‡p!ûÆîÓPÒ „,¸¼ —g¬i¼9|³è†jJjÆ`nÿ÷çÆðÚ*Ú¦Z¦åU寋_—W•Ëqä~ò?Àr€›Ûí¤Û<ºt-z_”Y’)Ç‘[1t…„/­æÌ™3qâÄØØØîÝëÿn Ú.tºC*Ðì†î@wHºƒÅÐèiAw°ºÝ!èvCw ;šÅÍÍÍÚÚúøñãëׯ—õZ@ÊÐè‹æš5kÖ¨Q£"""ú÷ï/ëµ€”¡#ÐÍ¢ªªêçç4wî\EEEY/¤ ½€^hô‹¡Ð Í…^`1ôz¡YÐ ì†^@/4 zÅÐ è…æB/°z½Ð,èvC/ š½ÀbèôBs¡X ½€^hô»¡Ð Í‚^`1ôz¡¹Ð ,†^@/4 zÝÐ è…fA/°z½Ð\èC/ š½ÀnèôB³ X ½€^h.ô‹¡Ð Í‚^`7ôz¡YÐ ,†^@/4zÅÐ è…fA/°z½Ð,èY©çœ[ê† âèèØ£G.—ýàÁBÈÂ… [á©¡ âhêØÃ¬Wžý é!d¡;Þ_h=Ý»¯¶fÓíM¯‹_¿.~­­¢½yäæ„üÑY:xéÜós³K³³K³ !Ì'ôÏž?wÖë|ðñÁŒâŒŒâ BWž;²ËÈÑ]G·ÜjóßåGfDÒ»9¥99¥9„ÛŽ¶ÌHyU9!D(FeDÕÚv˜í0憃¡Ãç)—ž_J›žNÒ !jŠjcÆþgàäåäéüž&=÷úì]º:»4ûMÙ9Žœ‡ÇÏž?s8œ–{mš¿¿ÿ©S§}ìí탃ƒñR³ºƒ ;¤ÝÁbè‚ît»¡;ºCÐ,†î è)Aw°ºƒ ;šƒÃáLš4iË–-+V¬PQQ‘õr@ÊÐ}Ѷ¶¶ÎÎÎgΜÁÿyƒ}ÐÑL'NÜ·o_xx¸§g»þÿ±°z š½Ànè‚^hô‹¡z¡™Ð ,†^ è…æ@/°z š½Àbè‚^h&ô‹¡z¡9Ð ì†^ è…æ@/°z š ½Àbè‚^hô»¡z¡9Ð ,†^ è…fB/°z š½Ànè‚^hô‹¡z¡™Ð ,†^ è…æ@/°z š½Àbè‚^h&ô‹¡z¡9Ð ì†^ è…æ@/°z š ½Àbè‚^hô‚¬p„BaÓgûúúBÎ;׬ç:thxx8½«¤¤ð¯ý«Y;i»–/_¾yóæ˜˜˜Ï>ûLÖki*‡³páÂÀÀÀ¦Lºuhx¼Èû« àð¯!íæý=¿|óõÍ1«c>3ûÔßßûû­+77—Ç㉙ðçŸê $%%KøDu „‚¨Œ(z¾.Š_ÉO-J厞 WžûºøuNiŽ“‘“ ÷Ÿ•jauRARé‡RP`¯o¯©¬ÉŒ …Âôâô¢÷Eºªº&š&-z=‚’ÇËK-J­;n a`¡cA)xW\XÿO¯“N'C Cz·ZP]šÿ._CIꃕ$& k=kÑÍÙGòß½œœœ>|¸ÑE2%%eåÊ•>>>>>>ýt’àóù7nÜøûï¿333•••»uë6vìX}}}Ñ9999×®]‹ÏËËÓÑÑqvvþòË/UU?‰ßëíÛsGŽwÖñq2Š3²K³ký±P9¥9¹¼\cMc}uýjAutf´®ªng½ÎtBáûÂ×o_WTWh*kÚëÿÿ·¬¼,ýmº@(0Õ2eþT[TLVLEuEÝñ^¦½ä!±9±Ì…ŒZäåäMEGÊÊË^¿®ª®2Ó6³òb~qzqº²‚²MÑ‹žì#ùïÞÁƒwïÞýøñc.·‘Ë   U«VÕúo5yyy!!!qqqÌAÀÅÅÅÛÛ[YYYt΋/nÞ¼™ššZRRbddäææ6lذOá¢6ºC}šŸŸoll<|øðOäÈØ:ÂÂÂîß¿?wî\CÃzŽ’Ÿ&‡³pá¦|63¢Ó¢Ÿf<Í/Ë7Ö6î0ÜH«=½¿qa÷_ÝŸ;h®¡Ö§þþ~ôßo-¹¹¹<ž¸l¹O*¿{û÷ï?pàÀãÇåä9ûttttttÿüó_~ù%11±K—.âg>|X]]½uVUWiiéðáÃ]\\ÌÍÍù|þíÛ·/^¼0hÐ få<ËåŽ=ÚÉÉÉÄĤ¨¨((((66vÉ’%wïÞÕÔÔ”ÕÊXàóÏ?¿víZ£Ó¬¬¬‚‚‚LLLZaIu}øðËåŽ?ÞÉÉÉÈÈ(??ÿܹsÑÑÑ‹/¾wïsý¥°°ÐÈÈhĈ;wîØ±cJJÊÁƒ³²²–/_~úôi™,€LMM---###ýG©Gåèèhooß: «¥¤¤ÄÄÄÄÓÓÓÎÎN[[;%%娱c)))ëׯ߹s'3§°°°[·nîîªOž<9zôèýû÷÷îÝ»páB™,€ÐÐ(tˆ‡î€F¡;€êׯ߅ †¾`=}}}›èèèFÿÏèÖëß¿ÿO?ýçèè(~&z€õÐ À@/…^ ½ ôPè Ð À@/…^ ½ ôPè Ð À@/…^ ½ ôPè Ð À@/…^ ½Ðúd½€Oˆ††Æ“'OýÇáz÷îÝ:Kª×¥K—´µµéÝ‘#Gr¹Ü³gÏFDD0+ÿì³Ï?~¬¤¤Dç|ñÅÞÞÞ M¹bôèÑc÷îÝEEEºººb¦©©©¹¸¸´Úªj122ºwïžŠŠ 3f̨Q£’““!Ó¦M[´h‡Ãa& 4hذaQQQïÞ½SSS“ÍÒX¡gÏžOž!rrröööqqq„¼¼¼sçÎ%&&òx|¨»·€€cccævjjêùó竪ª,--ÇŽkooÿq‹TTT¬5¢  `ii™œœL:::µæ˜ššZYYÅÅÅ f$66vóæÍþþþ½zõ:vìX||¼––Ö„ œ !/^¼8}útVV–©©éŒ3,,,>nµìãèèxóæMBˆP(¼sçÎÍ›7sssÕÔÔlllÆO/y„„„­ZµÊÞÞž9hÔÝ•¶¶öîÝ»é݇^¿~=##CAAÁÑÑq„ zzz·HMMÍZ#FFFjjjòòòtDô›ÆàÁƒ !ô(A ¾råÊÆß¿êÔ©¬¬, ‹éÓ§›ššBnܸqíÚµââb''§™3gjhh|ÜjXÝîhºÝÐ(tº@>ž Ð Ðî¡Ð z½À@/ (ôz€B/ èô…^@/Pèô½€^ Ð è ½€^` Ð z½@¡Ð ôz€B/ (ôz€^@/Pèô…^@/0Ð è ½Ðú½ ÐBûh£:uꔑ‘‘˜˜8nÜ8Gǃ‚‚Æ·aÃænTT=ÿHHHˆŒŒ¬»«¯¿þš¹3{öì·oß҇Ο?ïëë»qãFæî† ž?.~a¢g6µäææž9sFAAaРAböðìÙ3%%¥^½z1wAdd¤ººúÌ™3tèPÝmÚ'滸¸¸óçÏkjjÎ;×ÖÖ¶¼¼<11ñÌ™3u?Ó !VVVAAA¢#wîܹxñâÞ½{™»û÷ï¿xñ¢™™Ù¤I“¬­­+**îß¿æÌ™E‹]¿~]NN®¬¬¬ÑÓ‰ºWnݺuèСÊÊÊÌÌÌüüü¡C‡®X±¢¡Íy<ÞÚµk;vì8{öìZzzz>\NNîÔ©S<˜7o^RRÒ¼yózôèQTT´cÇŽ˜˜˜Û·o»¹¹‰_$@;î@w4 ÝîÝîhºÝ@™˜˜dee¡/ÐÌŸg||<:`jjúøñcôz€ Ð 5Ð è ½€^ Ð èz½@¡Ð z½À@/ (ôz€B/ èô…^@/Pèô½€^ Ð è ½€^` Ð z½@¡Ð ôz€B/ (ôB+÷‚BKì íÒÒÒ*--UPP „ÐSy??¿†ÎEìììèíªªªyóæ¹¹¹Ñ —.]*,,\²dÉܹsé´‘#G4èÂ… Lœ|ÿý÷ íœ266®5òäÉ“‚‚ævß¾}-,,Ú6<<|Íš5¢k`(((œ9s†ù·3 Äçó·oß.''ÌüÜÜÜ^¾|ùìÙ³ªª*f455ËÊÊlmmW¯^MǧNÚÐUŒÞ½{ÓÛoÞ¼ùá‡6lØàááÁŒ0Isøðáž={2#nnnŸ}öÙ´iÓ®^½:oÞŸ^øPRR0`@ݰ¡._¾¼råÊ>}úÔzÈÚÚ:88˜Ù¿››[BBBddä×_ýã?2úõëׯ_¿§OŸŠY@»Âœ?¼ÿ^(z{{Ó¯ <<<æÌ™#z ƒRSSsqq¡w#""®^½züøqKKKBˆP(<|øpÇŽ/]º¤¥¥E÷¦¥¥µwïÞ§OŸöìÙÓÎήÖ×'uuèСÖHnn.=P¸¸¸¨¨¨Ô»-ŸÏŸ7o^vvö±cÇtttj=:vìØŸ~ú‰¹ýùçŸ÷íÛ÷Ù³g;wîôôôdõõõ§OŸþôéS|ùÀ@w ;…î@wˆ‡î@w4 Ýî Ðè sªÏçóÑèôz€B/ èô…^@/Pèô½€^ Ð è ½€^` Ð z½@¡Ð ôz€B/ (ôz€^@/Pèô…^@/0Ð è ½€^ Ð èz½@¡Ð z¡•{¡y‡˜ÂÂÂÌÌÌE‹µÐjàÓ†7šebccMMMe½ €6@EEåýû÷&L¸xñâìÙ³½½½»uëfgg§¤¤¤©©)~ÛêêêÿûßzzzôƒœÂ|Šß¼y3""‚9á …Ìäädf޽½ýG,u÷îÝÅÅű±±§N ?sæL·nÝjMûã?–,Y2dÈß~ûMNN®Ö£ŽŽŽL™0ºtéBñððí{{ûØØØÜÜ\“X'û¨ªª¾ÿ~öìÙ‹/^´hÑ!Cìíí­¬¬äää444Äo›ŸŸ?eÊ”o¾ùæ‹/¾ ƒ±±±òòòÛ¶m#"‡ˆªª*"r ¨Û266 ª®®.((¸sçΑ#GÂÂÂBBBTUUE§ …Âõë×;vlùòåS§N­»ŸáÇ‹‘½½}ddä¨Q£èˆ¦¦¦±±ñ›7oš»B¶b¾? …S¦L9{ö,—ËuqqéÒ¥‹±±±¢¢b£›GEE-[¶ìÀ;wfF233‹ŠŠtuuçÏŸODEEE„äääž={jhhˆ~}ÒDîîîÖÖÖYYY/^ܰaCLLÌŽ;jM+++›5kÖ‹/:D/¯ˆ=&¨ªªš››'''6Œ2ç8PPè‚îh ºÝ ºÝÐ(tAwÔ@_ /èt¥¢¢ÂçóÑ è‚^@/Ô@/ (ôA/Ô@/ èô…^ è€èô½€^ Ð ½P½€^` Ð z j Ð ôz€B/ô@ ôz€^@/Pè‚^¨^@/0Ð è ½@Ð 5Ð ­Ü OñêÕ«ÌÌLæ§ ìöüùóçÏŸËz e|>_ÖKh¸\nee¥¥¥eXXØ•+W""">œ=`À€eË–ÙØØ4´¡@ X¼x±²²òÏ?ÿÌápèøû÷ï !±±±u7¡—?6lØÐèQ7 ÀØØXt„^zðôôtqq™9sæþýû·oß.:'((híڵÇß¶m›hoPZZZ¢w™9õ2çO@ár¹UUU£FêÚµëüqáÂ…„„„òòòÑ£G/^¼XÌ…Œ¢¢"ÿ©S§úøøˆŽ¿ÿ¾ºº:""¢î&>|`nLž<¹ººZ̪´µµwïÞ-:¢¢¢B¯„zyyéëë8pàâÅ‹“&M¢sª««¿ûî»K—.­X±bÚ´iõî¹Ö+jè@Áî€Ât~UUÕªU«<==oܸ±ÿþøøxmmí¯¿þzÆŒ¢§ µÄÆÆ.Z´h÷îÝ¢×.ß½{G)**s HHHX»v­ø…õë×ùú„Ò×××××gnûúúúùù]»v-99ÙÚÚšÎ)((˜6mZzzúáÇ{÷î]ïžëÔÔÔäååéý™ˆ_!@ûîhh ÝAÐb¡;ÐBw44ˆ´CÌ}Qk}ísÎ\YY‰Ž #èh·Ð â€íz !èô€ôBCƒ8 @;„^ èBz½ ½ÐРСz€‚^@/ˆ@/44ˆ´Cè‚^ „ Ð "Ð â€íz !èô€ôBCƒ8 @;„^ èBz½ ½ÐРСz€‚^@/ˆ@/44ˆ´CèÒº½PÏAJŒ¾}ûBÎ;×2‹O‡ÃY¸pa`` ¬Òäëë+ë%´ <OCCƒ¢¥¥5yòäÉ“'BòòòæÎëïïûöm%%¥º[ …ÂåË—WWWoݺUNNNô!###BÈÚµkë† ­…øøøÈÈHñ ãóùbe®Pdgg‹îÚµ+00pÔ¨Q¿þú«èÕÇëС!ÄÒÒ’^F|þüùäÉ“óóók•URR2eÊ??¿ &ÔzÈÈȨ¢¢bß¾}uÿTuuu™‘‘‘â£EOOOü²­¬¬!999täÇ ,_½zµ¿¿¿øÍ éx<!D]]Ò»woæ ƒêêêK—.}÷Ýw\.wÊ”)õnøâÅ‹o¿ývûöíNNN¢ã†††ÇÉÉiÙ²eu·²°° „”••5z:ѱcG1ÊËËwêÔ)&&&;;›~ù‘™™9eʔ£GÒ £ 9t4 Ýâ¡; Qè x<ž¹¹9A_´{è x<s4@/zè Ð @¡€^ ½zè Ð @¡€^ ½zè Ð @¡€^ ½zè Ð @¡Z™‚¬ði)++ÓÐÐ8zôh—.]úöíË êè訫«çå奥¥ÙÙÙÕÚD(®Zµª¤¤d×®]uO8<<<Ž;vùò倀æ,‡R]]}óæMzþñý÷ß—––Š_˜±±1sãùóç/^¼3fŒ²²23’ŸŸ¿~ýzBí¡P¸aÆ#GŽŒ3æ—_~A™HWYY™¦¦æ/¿üâããC¯p¹Ü†.4”••M:õ‹/¾¨÷Šçðá÷oß~ýúõÅ‹kiiÑM.^¼èììÌÜ=qâ„P(³*.—KoÿñÇäp8ÌH\\ܾ}ûH͵ BÇ›5kVttôÚµk'MšÔô—*++#„”––8pÀÇLJ¹ú //Ï|šGFFÖ{(HHH˜3gί¿þZ÷;mmí>}úDGG§¦¦úøøÐ¿÷ÌÌÌààà^½zBììì‚‚‚Ä/¬C‡ôö>ÿüó.]º0wAXXXhh(©¹ÆAIJJò÷÷çóùÇŽëÞ½{³Ð0t4 Ýâ¡; Qè ˜úÐ@¡€B/½z(ô0Ð @¡€B/½z(ô0Ð @¡€B/½z(ô0Ð @¡€B/½z(ôB+Sõ>-¥¥¥êêêwîÜY¿~½ššš¹¹¹¢¢bJJJYY™ŽŽ­ QëׯîÑ£‡¿¿¿èøŒ3†Ú§O__ßsçÎ 2ÄÌÌLOO¯´´433³¼¼|Μ9£F"„ØÛÛ7}…yyy+V¬X³f‰‰‰®®nIIIZZš@ PSS›5k3'44ôÈ‘#';;{òäÉ¢›ûûû{zz6ûç"ÊÊÊÔÕÕwìØ±ÿ~]]]33³ŠŠŠW¯^UUU 4¨î|>Ÿ?}úôW¯^©¨¨üõ×_¢Ïœ9óæÍ›§N:{ö¬………††F~~~NNNuuõáÇ™™}úôiú Ÿ={vèÐ!333•üüüììlBˆÝÈ‘#™9[·nŠŠRWW Ý|ãÆ:ujÎþóå‡@ ؼyó–-[ JJJRRR!õ~‹’’âïï///¿mÛ6ÑqmmíÝ»wBÖ¬Y3~üø•+Wnܸ‘9?ÉÊÊ*(( „ÌŸ?_AAACCÃÅÅ¥é‹ Ù¼y³ŽŽŽ©©©@ ÈÊÊ*..&„Œ?ÞÄÄ„™³`Á‚¼¼Ÿ¢ªªzúôé-[¶\¸p!))‰yH[[ÛÛÛÛÁÁá#éåå•–˜˜ÈŒ¨©©yyy-^¼XII‰ùðá!„ÇãÕ]Õû÷ï?âIAŠ>>¸éö¦ ‰A.æÍ¸–Ý^侸õêVxRøó7Ï !/–¼PRPª;í÷ÿþ~üïãÉ…É*\•¾æ}—^ÚIçÿ»7—÷GÜ7o¦¥–|(1Ò0r³qûÆõ›ªê}ÒŠêŠQ‡F¥¥v3ìviê¥zi-*%%E^^ÞÅÅeöìÙ.\ÈÎÎf.èèè|ýõ×3f̨»É;w !yyy¢ãzzzÌ [[ÛóçÏoذáîÝ»ôüÄÂÂbܸq\.÷#9wîÜ£GFGG¿}û–144ô÷÷Ÿ9s&à Ÿ, IDAT(èú) xF.tºƒBw@½ÐèQ診ÝA¡; !èt…î€z¡;ÚJwTUUeee™˜˜ / å /ÚJ_¤§§ËËË÷éÓ-ÑV:"--ÍÔÔt„ èh!èôz(ôz½z½€^z½€^ ½€^@/…^@/ €^@/ €B/ Ð @¡Ð è` Ð è Ð èôPèôzèôz(ôz½z½€^z½€^ ½€^@/…^@/ €^@/ €B/ Ð @¡Ð è` Ð è…†(Èz­Áî;s—ã~Çe½Ö³*tUH\ˆø99¥9>Ç}òxÿö«‚Wko®M.LþqøÌȣצž™Jç—W•?Lø0ýá·®ß.¸¨î‹Þmº½I…«Â¯äKåUÈD||¼——×Àøþýûôôt¡Phdd¤££#:íðáÃêêêÌíTWW×Ý•¥¥%sCNNnúôéÓ¦MKOO/**ÒÕÕ511ù¸ë„==½•+WþðÃÙÙÙ¹¹¹ªªªµª©ÿþAAAõnÞ©Ó?W¸\nPPP­×Õ³gÏ   ÑÁ©S§Ž1ÂÀÀàãÜ&DgFûô[4pÑ·®ßÊz-­Çç¸OÁ»ñsî¥Þ›ynfµàŸß𨌨ig§m³}D—ÌÈž‡{vGì¦óóxyÆÿy#ñÆþ±ûëMˆ´ˆK/.µéERRRee¥¿¿QQQFF†ªªª‰‰‰ªêÿ·–••UPP‰‰ !¤S§N ýI37ÔÕÕ×®]»råÊääd>Ÿohhh`` ''÷q‹tppرcGEEEFFFII‰–––………¼¼¼èœY³fy{{×»9=P899Ñ»ŒI“& 2ÄÌÌLtpóæÍõ ÙdWÄ®À»Á_;›:Ëz-­$¹0yÌ‘1Nûõî¯ô8P^U~=áúÃô‡¿ûÿn©ûÏçàüKóÿÎü›Î]üúXô±kñ×~÷ÿÝXÓ¸îw=Øõ¦ì4^Ì$$$XYYuèÐaÙ²eK—.ÍÉÉÉËËÓÑÑ111QPøÿ 5j”£££½½=!dĈ]»ÖsYGô„ÁÊÊêàÁƒeeeéééÀÔÔTWW÷£ééééééÉãñ^¿~]QQѱcGæ%*00¹ÀQ‹èñÄÏÏoàÀµëׯg.•RAAAô»¶BwÔ ÝQ/tºCÖki=莃î@w ;jAwÔ…î@wÈz!­ÝñÑÐèY¯¥õ ;ÄKIIaú¢K—.è }ÁJè‹F%&&š››wìØA¡#Ø ѨÄÄDOOOô‚è z­Ð â¡Ð è…ZÐ èÑô[¡…^@/Èz-­½ z½€^¨½€^A/°z¡Qèô‚¬×ÒzÐ â¡Ð è…ZÐ èÑô[¡…^@/Èz-­½ z½€^¨½€^A/°z¡Qèô‚¬×ÒzÐ â¡Ð è…ZÐ èÑô[¡…^@/Èz-­½ z½€^¨½€^A/°z¡Qèô‚¬×ÒzÐ â¡Ð è…ZÐ èÑô[¡…^@/Èz-­½ z¡õ{A¡ñ)ÐÏ?“õ!DKYk´ýè!6CøUü×VÔ;góíÍy¼ûLÖ h ç§œgnÜzu«Þ Òd•dõ6ëýÃИ‘o]¿}™û24!ôfâÍ1c!súÎÝÄ^ß~ÏW{ìQœQÌ/ÖVÑ}tǃ¼rÞC~˜66;¶ÖÞ„BáŠë+\Ì]|}ÚÄ—õªªªúûï¿ÿõ¯Éz!­ÝñqÐЮ ;>ºÚtÇÇAw@»‚îø8èhWÐâEEEÙÛÛ+**Êz!-}!ž@ øûï¿§M›&ë…´t„xOž<©®®vtt”õBZzA<ô´èñРЮ ÄC/@»‚^½ízA<ô´+èñРЮ ÄC/@û^½í zA<ô´+èñÐ Ð~ ÄC/@»‚^½í zA<ô´èñРЮ ÄC/@»‚^½ízA<ô´+èñРЮ ÄC/@û^½í zA<ô´+èñÐ ­ONê{TWW¬¼¾rÂgz›õn¡·Ž›7o:99Èz!ð‘î¦ÜµÙds$êHdFä„  N[¼z3EeDýçê†ìb¿Å¾÷o½gÿ>ûïÌ¿™‡vEìò;éG ¼HÌCB¡ð\ì9ß¾N[F}òÉI¡PXëé¥?bŽ v Øûp/óèñ¿Û?¬ë–®Ã ¿.òYÎ3›M6Ûïo¯µ“§ÙO'MtÜêèü›óÒ?–ó‹[þÖˆ¨Œ(B!sWÌB…«b¬e,Ï‘W᪈Ž'ä'||põ°ÕµŠ¥m©®®¾uëÖ°aÃd½øx[þÚb³É&./.øiðÈC#í·Øo ßH©¬®¼úòêÔ3S]wºvù¥ËÀÝ¿¿ö}Ni³•°àÝ@BˆßI?æ(A?îßU¼Ûvo›Ç‡‡î¿vÿúô×÷Sï×}º 'Aà wpuhTxR8!„_Éÿ)ì'×®]·tõ;é'zzpðñAÑ3º“ Ï.Œ88¢ë–®wÜ~»èˆ¬0G¯®^tDIAiD—B¡PÌÂJ׊Ô9 „œ~zúeîËõžë[f±­äñãÇ%%%8P´]èéBwÔ ÝÑÖ¡;¤ ÝQºƒÐÒ…î¨ ÝÑÖ¡;¤ ÝQ/tG[‡î®öÜB¡ðÖ­[C‡•õBàã¡/¤«=÷ELLLAA»»»¬ !]í¼#ÂÂÂlmmÍÌÌd½øHèéB/ Ú4ô‚t¡Ð mzAºÐ è…6 ½ ]èôB›†^.ôz¡íB/Hz½Ð¦¡¤ ½€^hÓÐ Ò…^@/´]èéB/ Ú4ô‚t¡Ð mzAºÐ è…¶ ½ ]èôB›†^.ôz¡MC/Hz½Ðv¡¤ ½€^hÓÐ Ò…^@/´ièéB/ Ú.ô‚t¡Ð mzAºÐ è…6 ½ ]èôBÛ…^.ôz¡MC/Hz½ÐÊd½¨‡‚‚ÂàÁƒÃÂÂd½h [6 'ë…´U%JÆ—ËËeî BÈìßg§¦Ð91Y11Y1y¼¼¹ýæŠÙÕé˜Ó«o¬¦'™%™‡"E¤Eœ|–~ –|(ñ ò£8Î?;_Ì/ÿÙøyæU ª !üJþ®ˆ]ºªºSœ§4ôD¥JÇŸŸQœÁÜH‹˜<ùæì›:*: mâì‘!þG:+”é“þ6bÛÑVtP[EÛ@Ý £$C ÈqäênUQ]ž®¯®_+6~»÷[euå²ÁË>z=Ÿ@>yòdY/$õ$ëɦðMÕÂjBs Ÿ—?!hð–ÿ6<)üNò“OŠ)g¡P¸ä%—_\¦#ñyñ?Þø1.7îç?ÓÁ§ÙOéÓñ+ùw””òßåï´Ÿ™R˜òïËÿ¶Ðµ°×·o蹞½y¶å¯-ÕÌN.>¿˜Y’yzÒi1/Óî;æ@Ô=5½Gó‰™Ð¨z]ô»BÒ‹ÓÚ*¥0%!/a˜í0%%:( V\[1Ðjà(ûQ’,IæžyHL„DfDö1ëóÛ˜ß:ëuÎåå®]‘qùÅå©ÎS[òGÕ^¢¥¬Uk\[EûMÙ~%_MQ­îV?…ýôºøõ^Ÿ½ŠòŠt0.7îpäáÝ>»Õ•Ô[tÍ--<<¼°°päÈ‘²^HêZü5ßî¾³]f›k›ËËÉB8ÎËþ½ü»tÕSÓ+ùPù:rYȲ½÷ö6ëý­ë·.æ.~'ý \ô­ë·t?—_\¾üâ²]G»en˺uWRPzþæùº°ugbÏŒuÛä3-$.dZïiS§êªêÞI¹³ðòÂí÷· „‚#7µ*Ç‘ÛópÏ¡ÈC‡#o½¥¡5_yqeb‰3úÌ0Ð0xñæÅ¢+‹¢2¢ârãì ì™VP[ö¡¬ÞMø•üEWi(i|?ä{Ññ 'A¯ ^…Î m±Å¶’ààà®]»ZZZÊz! ©ë ×úÃ(ûQê̈¢¼¢owß±Žc­;X«)ªåòr/=¿´íÞ¶s±çf÷}Üïø®ˆ]wƒ¿v6u¦ûÙt{Ó«‚Wvsûεѳ)¯*¿ŸvMèšu7× ·N/kÞH¼±ÞsýpÛár¹ƒ‘÷>Ü;óÜLmí£ãö0éñ–ÿö‡k?D¤E\}yu¬Ó؆Ö|åÅ•ÕÃV{Úyª)ª…½ [öDzŸXЇÃiÑŸ•x¼rž¶Šv­5üs (¯ÿ@‘\˜¼éö¦îFÝ'ö˜(:¾îæ: ] Ùž IŽÏç_½zuæÌ™²^H Ý!-莺ЬîtG]èÖ@wH º£tk ;¤ÝQºƒ5ÐÒÒž»ãÂ… æææ]ºt‘õB@Rè ii·}QUUuåÊ•1cÆ4>>mèiiÏ™™™éáá!ë…€¤Ð Ò‚^@/°zAZÐ ²^H ½ -èô  ¤½€^`ô‚´ d½zAZÐ è@/H z½ÀèiA/Èz! )ô‚´ Ð ,€^ôzÐ Ò‚^õB@RèiA/ X½ -èô  ¤½ ë…€¤Ð Ò‚^@/°zAZÐ è@/H zAÖ I¡¤½€^`ô‚´ Ð ,€^ô‚¬’B/H z½ÀèiA/ Z™‚¬Ð<ª\Õ}>ûtUuE×_»çáž½÷æ”æTTWÐñ¬’,smóz÷séù¥*AÕzÏõ#ºŒ`Flôl¶ym‹ÎŒ¾™x“Fˆ®ªîŸ=ª\UBˆ“‘ÓŒ>3ÖÞ\ÛË´ýÐm?úò‹Ë·“nó+ùôBF-:*:ûÇîgNÐ-t,V¹¯qpD|^¼˜—)ÚK-D(6kœp'àtÌéï‡|ïÞÙ „‚×W ·>Ôf¨ôWÙº80dÈ Y/$õ™ñg<7ˆ^qÓSÓ[2hɾGûV^_Yø®°ZXÍŒ'ä'ˆÙÏïÏ~——“?2þˆ¾º>3ÒÛ¬wàž=Ã^…Ñ8h5pÅÐÌmO;O÷ÎîÌÅS_'_fpÙàegcÏ&&‰y®–Öy¬cn÷2í5»ïìoüŸ/&N–‰[¼TÔ{@s”àWò真“R”rxÜaS-S:žËËÝzwë2·e††-²ÐÖòæÍ›Í›7Ëz! Ó{OŸÞ{ºèÈpÛáÕ‚êm÷¶ÅåÅ•~(̸˜EEuÅÕW;ëuÞ齓9æ¨pUFÛ.ùP²&tMTFÔ@«ÌÌùýçû}æÇÜþÏÀÿœ=[ô¾èø„ã„5Eµ¥ƒ–~™ö¥øÅüþóý{ù3·Ç8Œ¹™xózÂõœ²cMãzç3—b›òÓ:1Š´·iSÏLÕUÑÝã³GAîÿƒ4<)üfâÍKS/1•Ú®³gÏ–——ûùùÉz! )t‡´ ;êBw°ºCZе ;ØÝÑ¢Ðè@wH º£.tk ;¤¥ÝvGIIÉùóç/^,ÛÿV¤}Ñ¢ÚC_„„„äççOš4IÖ I¡#¤¥=wÄÁƒ{÷îíàà ë…€¤Ð Ò‚^@/°z¡Eý{wU¹?pü™vÙA@Å׫™ i™e™—7´,s)­l1ófYvµ®{ˆK¦• š[Ýòª)1.i‰;¸ (â. " 03¿?Ž=ñCœÁq`dæóþ‹yæpæ{F9žÏ_Ð ¨FèK¡è@/X ½@/Øz¡RÑ ¨FèK¡è@/X ½@/Øz¡RÑ ¨FèK¡è@/X ½@/Øz¡RÑ ¨FèK¡è@/X ½@/Øz¡RÑ ¨FèK¡è@/X ½@/Øz¡RÑ ¨FèK¡è@/X ½@/Øz¡RÑ ¨FèK¡è@/X ½@/T1Ó›Ü%ww÷víÚmݺU®,Y²$>>þàÁƒ:®I“&ƒ9r¤Z­–$%%M:uÇŽyyyÁÁÁÏ=÷Ü„ <==…EEE®®®ÑÑÑsçÎ3f̆ nܸѱcÇiÓ¦µjÕJîA¯×O›6íË/¿Êªàáì!„È-Ê-³ž[”«QkʕޠŸø¿‰ËR–½÷ð{CRú©oÿüöä•“ z/¨ì+[JJÊŸþ™`íA`ëu.sM¹'{ÏÀå‹uÅe¶,*¹ãYBqìâ1^%„r‚0ˆ¿.ÍÏä‘›•='xÖB´i/W4jM Gà¥ë—Œ¼Öƒu,ýP9Q\¿yÝȧTrOy7ò„.e6Î-Êš84íBÚW}¿jÚ¾ôSýï£Æ5h= ’ç­t_}õ•¿¿Ïž=­=, s½ÎeVþ¾pÊ–)·oy£äÆv’u5«¨¤èøåãMþÓD?QÔùûD¡V©kyÔ*,.T¾Ã¡P®1ŒŸ(:ÔéPúaŸ:â>8Q¸;»çå †Ò'Þ[' ç²'ŠÔ󩃿ìáì±lÀ2yßGQP\ðáÿ>öà0#wdª…’’’Å‹÷îÝÛÛÛÛÚ³à^Ñ–Bw”AwغÃRèŽ2è[BwX ÝQÝaKèK¡;Ê ;l Ýa)vÛ ½{÷¶ö °úÂRì³/ âE‹žxâ‰ÚµËÿŸ3¨FèK±ÛŽÈÈÈØºu«ü©ZTkô‚¥Ð Ö@/X ½`íYp¯èK¡¬=,€^°zÁÚƒÀèK¡¬= î½`)ô‚µÐ –B/X{X½`)ô‚µgÁ½¢,…^°ö °zÁRèk  ,…^°ö,¸Wô‚¥Ð Ö@/X ½`íA`ô‚¥Ð Öž÷Š^°zÁÚƒÀèK¡¬=,€^°zÁÚ³à^Ñ –B/X{X½`)ô‚µÐ –B/X{Ü+zÁRèk  ,…^°ö vÇ¡²_àwÞ™:uª|˜’’’’’²cÇŽåË—++óçÏ1b„òu.„ÈÌÌœ6mÚæÍ›·mÛæævëþ«W¯FFFž8qBy¸yóænݺ¥¥¥ùûû++¯½öÚüùó•Oœ8ñÎ;ïìÙ³Çäl&w[‘Ùîöx…999QQQÙÙÙÊÃ_~ùE«ÕjµÚV­Z™œù®^ÈäÞ»wÞIš:uw©1.¤¤üºcÇ™åËŸRVæÏß7bÄÆ¿ÞB‘™™;mÚ›7ŸÚ¶-ÆÍÍñ¯9oDF.?q"÷¯9Ouëö}ZÚËþþ·®^{mÓüùû”OœÈ}ç¤={ΛœÍän+2Ûݯ"'§(**!;ûÖõå/¿dhµ§µÚ­ZÕ49ó]½É´UÞ®eÃߪ«Îæ}¬Ñc£"GÕõ©ëêàªR©>ØðABбßò¥7è…:½îö§nênÊœoߠ̢r ¤ì°\..ÿo{¡ºÓ–Ò ïmÏÜn|› Ãud’‘ IDAT64ðk`rWwR×§®âèÅ£¥¯^=Ÿ¾®w]µJ-Kô%ïüøÎúÃëÇw?¸ýà2ûIÜ—˜[”ûà–Y¾r¸â›þßÜ~é>¤Óé>þøã:´oßÞôÖ¸ïÝ~¢˜·c^±®xtäè§#žttÒ8©TªÇ¾|,§ ÇÈ~Œœ(JwN¹ç„²‹B¥×ßñ,Qîö⯺“ÆŸ7.w6É¿†ÿÎQ;l`’éã㓞žþÑG%&&Κ5kܸqÊ~’’’ºtéòÝwß5oÞ<;;{Ĉ›7o^¶lÙ믿.„صk×üùó===gÍšÕ«W¯’’’Õ«W3ÆäxÆw[ÁÙîêx•Í’““|ðÁ~ø¡yóæYYYÿú׿V­Z›œœi0ºvíºiÓ&³ßØŠà½Û³çüÔ©»]]>ÿ¼KïÞœœ4?ÿœ1zôæ„„´~ýšDG‡Ÿ8‘;jÔfoo—©S»<ùd}—ôô«}´=1ñȬY{ÆëðלY]º„~÷]¯æÍý²³óGŒØ¸yó©eËR_½­b×®³óçïóôtš5ë‘^½””V¯>6fÌ“ãßmg»«ãU6KN>ýàƒµ~ø!ºysÿ¬¬kÿú—vÕª£±±›’“c"#ƒ †·¦uíºiS_³ßØŠ ]9uå”â­.oÉ+ò›º›;Oþ¿UBU¢+)½¢l|^"W™6ÁmÔ[Ò·äåyºx*‹ë¯3 ¥/, ‹ G®™œ‘üa÷_øÇ ·ïÇH}U#Ë–-KKK[¿~½µAeɺšå_Ãtäh¹rêê©ÌœLù—_ ï2×ú ü:h{ìvgªœöþÑ>´ýüó×ZÛ¿õß÷I×Z+„x ÎråÔÕSƒ]-ºúuÿ¯KgŒÂ Œ%Vua0>úè£ÆÇÄÄX{TмyyEy=›öŒn-Ëø­ô6·Ÿ(B¼Bœ4N-jµ¸ßnÁW¥ê<°ïì¾u‡×½y«2n”Üø%í•JUúŠbËñ-£ÖŒ õ]³Ä¿†™ØÆ‰";;{Μ9±±±ÁÁÁÖž•‚î0ÝQÝaóèóÐÝaóè³ÑÝaóèóÐ¥Ñ6î0}vÇ”)SjÔ¨ñꫯZ{T úÂlvØùùùŸ}öYLLL³fͬ= *aû숤¤¤Í›7/Y²D£¹~‚D/˜‡^€í¡ÌF/ÀöР桬= *½`z¶‡^0½ÛC/˜‡^°ö,¨ô‚yèØzÁlôl½`zÁÚ³ RÐ æ¡`{è³Ñ °=ô‚yèkÏ‚JA/˜‡^€í¡ÌF/ÀöР桬= *½`z¶‡^0½ÛC/˜‡^°ö,¨ô‚yèØzÁlôl½`zÁÚ³ RÐ æ¡PÅ*u‰Bˆ &ÄÆÆ*+T«Õ X±bEttôÒ¥K‹‹‹çÏŸß§OeƒfÍš%$$$''¯]»vܸqÊ¢¿¿ÿºuë<==… 6œ5kVDDľ}û”gW­Z%„˜žñÝVp¶»:^eÑÝÝ}íÚµBˆ&Mš$$$´lÙR«Õž?>00Ð"olEðÞ%&BL˜Ð16¶Í_c4U«Uü¸bEZttøÒ¥‡‹‹õóçwïÓ§±²A³f~ O%'Ÿ^»öø¸qþšÓuݺg<=„ úÌšõHDÄ×ûö]Pž]µê˜bòä‡^z)BYyõÕV99EãÇ'Ïøn+8Û]¯²èîî¸ví3nBˆ&M|žjÙòk­6ûüù‚À@7‹¼±9@»RÛ³¶âËß¿|#ê oWïcÍHž‘‘“QzoWïc—Žºz*Ä+D¹y¦Å3óv̳nÌÛ]ÞŽ ‹ô¯áŸ[”›y%ó§ÔŸÝ_íh哾íÿme¿„‡³GÆ=~LýqÔšQ?þqGÐÖô­Ó’¦ !úµî§lsíÆµ¡‰C÷dïùø±cÚ”ÿ{Xús™•I›&}ýÇ× z/x$ü‘J=KÉÌÌœ>}úСCÃÃí= *KmÏÚÇ/_òç’§#žBüyúÏO7Z:¡½\¼„»³v_-¼êíê­,öiÕçŸþôÝ QGµ®ÝÚÃÙãBþ…£®<°r`›êu²Ê±HGÞ=RÙ/ѹ^çÚžµwgíþ÷æè4ÂAíðíŸßn8²ÁÇÕ§{£îÊ6G/}qÅ‹7Jn|Óï›Vµ[ݾWŸãï/³Økq¯Ôó©ûßÚïæX¡­nÙ²e»víZµj·0l•·‹·«£ë¶ÌmÚ m»Ðv׊®m<¶ñ³-Ÿ•ÞF9Q$g$·¬ÕÒÕÑUáêèúT³§~8ðÛëÞ|±Ý‹õ}ë;;8ŸÎ=½÷ÌÞ„”„å—;iœ¬sP©TòSÚ¶mëéé)Ö¯__qíÚ5åazzºâñÇ/ý*?þøøñãg|·œí®ŽWѺu뀀ùÐÑѱ[·niiiÇ 4>ó]½ñ¼wÇ_B<õTƒÿ?F}!ÄñãW…‡]BÄÄüó£Á Ä­÷P!J¿…mÛzzþõë{ !®]»©9:ª»u«›––süø•ÀÀ æ*øBÆЮôjÖkÎö9+÷¯\¹¥²âîìÞ½Q÷G7Êm¬óà©?>2ïÖ5ñ²Ë:ÔéðIO>ØðÁ¸ŸÇ•Ùá+¾R5“Wªï÷}ÿþÏïˇówΟ¿s¾âù¶ÏôØGÊâØ‡Çþžõû¶ÌmÝæw“[>ßöùÖµ[+ÿzü×?Oÿ)„ø`Ãlø ôþÇw?¸ýàJ>ˆªPPPðÚk¯………ÅÆÆZ{T¢˜61I'’&nœ8qãDe¥Y`³F5]È¿ <¬çS/Ð=pÇÉífµSVŽ¿wüÙˆgwÚµêÀªá+‡—Ùa¿VýªløÊóÖú·ÖZ+¾üýËÊqÏÄõhÜCá¨qœÔcÒ°•Ãí^´h÷"åY•J5ññ‰2*ï^|1ÿ¢â¹oŸ+³ÿõ/¯oд²¢ ìÙ³çÓO?ˆˆ°ö,¨,*•ªëþ‹w/~iÅKrñ™ˆgV\-v¨ÓA¥RÍÛ1oÞŽyBˆBX>pùønãSϧ®?¼~ýáõeöyëⲚë×ù|þyù°ùÔæÊ»_ß­|»"Ü?üÕŽ¯Æo÷§wßýé]åY/¯ Ý'ÈÏšž4]gÐ¥]Hk?«}é{8{¤¼™RéÇP%¦M›–’’²bÅ GGGkÏ‚ÊBw”‹î¨ ºÃNÐå¢;*ˆî°tÇÐDwغ£\tGÑv‚î(ÝQÆÙ³gnjӳgÏÇ{ÌÚ³ ²ÐwB_”±fÍšï¿ÿþ‹/¾ðöö¶ö,¨,tD¹èˆ2 Ã;ï¼S\\lò§jQ­Ñ å¢Ê ì½p'ôBô‚= ÊE/”A/Ø z¡\ôBô‚= î„^(ƒ^°ôB¹è…2è;A/”‹^(ƒ^°ôÂÐ eÐ ö€^(½P½`'è…rÑ eÐ ö€^¸z¡ zÁÐ å¢Ê ì½P.z¡ zÁÐ wB/”A/Øz¡\ôBô‚ ÊE/”A/ØzáNè…2è{@/”‹^(ƒ^°ôB¹è…2è{@/Ü ½P½`è…rÑ eÐ v‚^(½P½`uê*x •Ju§§ôz½B§Óét:½^¯×ëe ܼySnæêêzûË4C™W©HQßmg»‘ã5în?Ñäöyßî‘)ôzƒB§3èt½ÞPê-7oêKÍépûËŒiÖŸ¯±ÝVp¶Û™ûÇkÆŸ¯‰ *ò¾Ù‰Zžµ–Æ,}°îƒîÎîž.ž‡?œøBbï:¥·ßm|Æ=¼]½KÿAômÕ7ñ…ħš>àà vpx ô‰MÑqD•„uÔò¬µjЪèæÑ¾n¾N§pÿð Ý'”¾%aK ÃÞ½{Ë,êõú±cÇ^ºtiΜ9ÎÎÎV UãцNï5½I@—÷€˜61Kb–8iœäµfγsÚ…´suüû_O•JõYÏÏf?=»s½Î^.^ŽÇPïÐîºÏ}vnç°ÎÖ8+x¨þCË,ëT¯S §®Ž®íCÛ/î»øÉ&OZ{®JqñâÅÓ§O—Y<þ|llìC=4räH«L…*óN×wb;džz‡:iœêùÔ{§ë;vÿ°ô üL~br¸¸£æïß:ìåâµrÐʱŠpstsut ÷ïתߪA«œìå_–1™üÄä¦Mœ½]½{4î±êÅUa¾aÖž«RìÝ»÷öùé§Ÿ¾üòËO>ù¤yóæV™ Uƒî0ÝAwغÃltÝa?è³Ñt‡ ;ÌFwÐöƒî0›Mv‡Á`¸½/nÞ¼ëçç÷ïÿÛ*S¡ÊÐf³É¾¸téRaaa™ÅÔÔÔ>ø`È!=zô°ÊT¨t„Ùlµ#n¿<BÌ›7/))é‹/¾ð÷÷¯ú‘Peè³Ñ °=ô‚ÙèØzÁlôl½`6z¶‡^0½C/˜^€í¡ÌF/ÀöÐ f£`cè³Ñ °=ô‚ÙèØzÁlôl ½`6z¶‡^0½ÛC/˜^€¡ÌF/ÀöÐ f£`{è³Ñ °1ô‚ÙèØzÁlôl½`6z6†^0½ÛC/˜^@URÝþû´ŒèÓ§"11ÑÈ6îîîíÚµÛºu«bܸqS¦Lùì³ÏÞ}÷]¹ÁŠ+ú÷ï³|ùò>ø`Ò¤I7n|ôÑGËÝ[QQ‘««kttôš5kÊ,>÷Üs+W®BŒ;öóÏ?1âïë†É“'¿ÿþû#GŽŒ‹‹»}°ŠìÖäl·3y¼ÊK¸»»§§§(·lÙ2--íܹsB''§N:)£š÷ÆVäP©To¼ñÆŒ3nÊÝ}V»vA[·öBŒ—PjŒ´þýŒ‰i²|ùS| 4içÆ}}´n¹/TTTâê:3::|Íš§Ë,>÷\£•+ÿ)„;ö·Ï?ßÿ舭å6“'ÿþþûÉ#G¶‰‹ëvû`Ù­ÉÙngòx•—pwwLOà¦lP\¬oÙòë´´œsç^ tB89MïÔ)XÕ¼7¶"x»Š|ýVÄùóçóóólðßÿºxüxú=¾p·ŒüÝ3 'N\¿~}rr²›Û­/O½^?~üøµk×.^¼¸C‡U;¬½5*PñÅç­=쎑¿{999ýúõkÙ²å´iÓäâ… ¨Ñh=<<ªnPÞ`öìóO>i쪨 FþîiµÚáÇÇÅÅ=òÈ#rqóæÍ±±±Ï?ÿüøñã«pLаº£¡;`-tG5BwÀZèŽê‚ÐÕÝÊfüïØÇ¼oß¾U«VÉ•âââØØØ]»v­Zµª~ýúU4%„ô*Ÿ‘¿cW®\0`@Ÿ>}^~ùe¹˜‘‘1pàÀúõëóÍ7¦ 'µwt*›ñ¿cÛ¶m{íµ×~úé§¹˜˜˜8~üøýë_ƒ ªª1!½€ÊG/T#ô*½P]Ð ¨lôB5B/ ²Ñ Õ½€ÊF/Tô*½PÐ ¨lôB5B/ ²Ñ Õ½€ÊF/T#ô*½PÐ ¨lôBuA/ ²Ñ Õ½€ÊF/T#ô*½P]Ð ¨lôB5B/ ²Ñ Õ½€ÊF/Tô*½PÐ ¨lôB5B/ ²Ñ Õ½€ÊF/T#ô*½pŸpww ¬øöêÊEѧO!ÄĉãããÏŸ?åÊ•„„„ØØX!Dß¾}…ƒ rpp8pà¢E‹²²²nÞ¼yþüy­V;jԨɓ'WðUž}öY!ĸqã–,Y’““sñâÅ Lš4é‡7c6“Ç«ÈÏÏŽŽÞµkWAAAZZÚ€ÒÒÒ"##埜¯¯ï¡C‡ÒÓÓõzý½¼PeëÓ§‘bâÄññ{ÏŸ/¸r¥(!!-6v³¢oß&BˆAƒš;8¨üiÑ¢YY×nÞÔ?_ Õfµyòäß+ø*Ï>ÛP1n\ò’%‡srŠ.^,X°`ÿ¤I;ïqx3f3y¼ŠüüâèèÕ»v-((NKË0àÇ´´œÈÈàÀÀ[¿Ê××åСKééWõzý¼€Š›2eʲeË®]»¶dÉeEþf¸øøx~3€«W¯>ÿüó'Ož\¿~}FF†²xáÂ…çŸ^­V/Y²„ßH à÷ß>|xqqñôéÓ †[WòÊo¤îÝ»÷ûï¿oÝñÜèÆÑL¢;˜Dw>ÿüó%K–ìÛ·ï·ß~SVt:ÝÛo¿½}ûö ð“X€ýÈËË{þùç?_XX¨,fgg¿ôÒK5kÖœ3gÿs°»wï6lXAAÁ_|!øá‡ñãÇÇÆÆò?7»B/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/PÐ $z€D/ÜÏÔ•º÷¶mÛ¾õÖ[#GŽ òõõ0`À¥K—ú÷ïÿôÓO !6l8wîÜË—/2¤N:ÎÎÎAAAQQQqqq¹¹¹|•: :477wРA~~~¯¼òJ¯^½„ŽŽŽfoÆl&WuêÔ©:Ô¨Q£iÓ¦+W®tww‹‹“<üð×.] ×h4*•jëÖ­æ½PekÛ6ð­·Ú¹)((Þ×7nÀ€/]*ìß¿ÉÓO‡ !6ô™;·ûåË…C†l¨Sg¾³óŒ  ø¨¨„¸¸”ÜÜ|•j Ú"7÷Æ Aÿõó‹ ˆå•ÿõêÕ@áèhþ_`3f3y¼Š¨¨S§®uè°¬FYM›.Z¹ò¨»»c\Ü£rƒ‡®séRaxøBfšJ5uëÖ,ó^@MŸ>}Ñ¢EƒA¯×Ï›7ïúõëׯ_íµ×Ö®];gΜ®]»Z{@V–ŸŸÿâ‹/ž8qB¯×«Õjåªìðáý{÷V©TK—.­Y³¦µg`e)))C† )))1 iii[¶lB,Y²äµ×^ëÝ»÷ǬR©¬=#+£;Gw0‰î`Ý@š={ö—_~i04ÍþóƒÁpíÚµáÇoÙ²å믿nß¾½µPE ‡ ’žž®œ–/_.„8pà@Ÿ>}üüü–.]êååeíT‘}ûö ýú58°YÅ_eþüÇÂÃ}¾ürVÖµ÷W_mÝ®]àŠi>>.÷2¼³™<^!„¯¯ËâÅýß|sKRR–^oèÜ9xÊ”‡Zµúû—YΘñpI‰þ×_O]¹Rt‡?Þ ½€Šˆ‹‹‹— âââ’’’.^¼¸xñâ:Xq6÷ƒÂ—_~ùÈ‘#%%%Bˆ’’’õë×·hÑbÚ´isæÌñõõµöŒ¬ìðáÃ/½ôRqq±^¯B¨Õê©S§nÚ´)11qøðáo¿ý6¿‘ÝÀ8º€It“èÒâÅ‹gÏž­|¬ÓéRSSW®\¹páÂk×®-Y²¤ôŸ°m………ƒ>pà€rÃA§ÓÍ™3ÇÛÛûÃ?|àfÍšåááaíT‘ÔÔÔ_|QÞXÐh4qqqŽŽŽ«W¯~ûí·‡ fíTz€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ $z€‚^ Ñ $záþç`ñ=æçç—Y4hРAƒŒ|JûöíÊ}ÊÅÅÅ`0˜\T«ÕcÇŽ;v¬\=z´"""¢ÜÁ*¸[ã³Ý‰ÉãB4hÐ`ݺuwz6(((11±Ìâ]½±?À»•Ÿÿúmc44¨¹‘Oiß>(!á©rŸrqq0Þ6¹¨V«ÆŽ}`ìØäÊèÑ¿ !""üˬ‚»5>Û˜<^!DƒÞëÖ=s§gƒ‚j$&þ³Ìâ]½±?@ÀÎ-^¼xæÌ™¥Wt:ݲeË4h°fÍšàà`k à>¡üFêýû÷+74jµ:111::ú£>rp°üÕ2€ê%55uÀ€EEE:NYÑëõG5 ñññÝ»w·îxîtãè&ÑL¢;Hß~ûí§Ÿ~ZzE£ÑL:µvíÚß~ûm`` µPÅŠ‹‹GŒ±wïÞÒ7®_¿þŸÿü'&&æ½÷ÞÓh4V@U:qâÄ /¼PXX(o,¯[·ÎÃÃcÞ¼y?ü°uÇP•è z€D/è z€D/è z€D/è z€D/è z€D/è z€D/è z€D/è…jAmí,cáÂ…S¦LIMM-,,LOOŸ0aB||¼‡‡Çc=fíÑ` ˜2å÷ÔÔË……%ééW'LØŸâááôØcõ¬=€û×í"Š7nôèÑƒß @¹¡™’’Rú†¦¢¤¤äرc/¿ü2¿‘@zzz™ µZ­V«}ôQk àþAw0Žî`ÝÀ$º€´råÊ?þ¸Ì¢N§»|ùòˆ#øI,À~”””Œ1bÇŽen8ètº¢¢¢7Þxƒÿ¹ØÌÌÌþýûççç—¹± Ñh¢¢¢øŸ€]¡(è½@¢(è½@¢(è½@¢(è½@¢(è½@¯™4H IDAT¢(è½@¢(è½@¢ª µµ°Œ«W¯Ž7®Y³fnnnáááŸ|ò‰N§›>}º»»»µGƒ\½Z4n\r³f‹ÝÜf†‡/üä“:aúô‡ÝÝ­=€ûTbbâí" N7oÞ¼ëׯWñHî+ÅÅů¾úêí74jµzΜ9U?€ûJfffLLÌí7:…z½þÈ‘#[¶l±Ê`îtãè&ÑL¢;HkÖ¬7n\¹O©ÕêY³f †* €Uètº7ß|399ùöŽB.]º´ê§`gΜ0`@^^Þíw KJJ~þùç'NXe0U^  Hô‰^  Hô‰^  Hô‰^  Hô‰^  Hô‰^  Hô‰^  Hô‰^¨FÔÖÀ2† 6~üø-ZÔ¨QÃÓÓ³K—.ëÖ­:t¨µç‚e Örüø[´ð¯QÃÑÓÓ©K—Ðuëž:´…µçpŸúá‡Þÿ}#p·°g:î7ÞÐjµåÞÐB”””¬_¿ž»€=;yòd¿~ýʽѩP«ÕÓ¦Mãî`ÏèÆÑL¢;˜Dw6lØðî»ïÞéÂ@¯×=ztË–-U<€ª§×ëß~ûíÿýïwºá ÓéæÎ{ýúõ* @Õ;wî\ß¾}srrŒÜXˆ‹‹«â©X½@A/è½@A/è½@A/è½@A/è½@A/è½@A/è½@A/è½P½¨­=€exyyMš4iÿþýùùù¹¹¹[·níÕ«—µ‡*‡‹‹‹Á`X³fµ©f¼¼œ'MŠÜ¿ÿ¥üü×ssGoÝÚ¯W¯Öª..ÃÛkÖݨQ#ë À ýþý¯œ9óKéE•JU\\¬$ļ%KœBCCkÕª¥Ñh¬=€û˾}ûjÔhкõâ>ð ö÷÷·öDî;[·n"vøpŸ§Ÿö uuuµöDî/t“è&ÑŒ£;H.\8s&¡^½ƒû)?wÌOaöiëÖ­B\~òÉwºu â§0{¦×ë“’ õþûO)gƒkÏÀ è½@A/è½@A/è½@A/è½@A/è½@A/è½@A/è½@A/è…êËÁÚîB^QÞ×|ݲVË® ºZ{–û‹§§çã¿ùÓO;¦[{ÀÊR/¤n<ºñÉ&O†û‡[{–ûKëÖ­ë×\ѪÕykÏXÙÆ£S/¤ë0ÌÕ‘_ºüÿôíÛ÷ý÷DDœoÔ(ßÚ³ÖDwÜ ÝHtÇЀDwÜ Ý(èŽ;¡;‰îhÑb®"&†¾€½£/ºví*Ä=Î?ù$»FG¨Õê'žxûçŸ_~™^€½£è@¢è@A/Ð €D/Ð €D/Ð €‚^ ‰^ ‰^ ½@/½@/½@/ z^$z^$z^ô½Hô½Hô½(èzèzèzPÐ ô Ñ ôBõ¥¶ö€»w#o¶vöÖô­ÖÀýëðùóµ³_>níAÜ¿6Û8[;»¨¤ÈÚƒ¸OÑL¢;˜Dw0Žî`Ý@¢/(è½@¢(è½@¢(è½@¢(è½@¢(è½@¢(è½@¢(è½@¢(è½€êKmíÖçpW[ïܹóôéÓ*•ª’¦ÁýcæÌ™3gδö°°k€û”Ã]mݰaCWWמ={VÒ4¸OÌœ9Sˆ7„èhíA`Y36tµö ÷DgÐÍÙ6§¾_ý§š>•~9}{æö+…WFt±tÏRgçm(›ëŠçî˜+„Úa¨›£›²øý¾ïs‹r‡uV•ƒ9j…ÏLÉNÉ¿™èØ¥A?7¿ÒŸ›S³+kש+§4üu¬×Q£Ò”ÞàúÍë›m>“w&È#¨{£î•1?`KN^9¹öÐÚ‡ê?ÔªV«ßOý~èü¡N5žhòÄ7|Óºvë‡ê?¤l–‘“±þðzWŸþñ‚²R¢/‰ßßпáMž¨²Áú·î/„Ðt;2w¹x¤D_æÖ¥~gçÒŸ›‘“±ÿìþ³ygÝÝ[×nQfçç®Ûr|KÞ¼†þ »ÔïRó¶d[æ¶?OÿÓ:ÆÓÅsKú–̜̈ _7ßMÇ6õlÚ³_e3m†vOöžˆ ˆGÂQV”/ä® º¶¬Õ²Ê‹ ‹Bäåi3µYW³5Ž-‚Z´m_æsS²SŽ\¸:ëj–ñWá/ø¸úÜÕ`¹E¹o®{sÇÉrKWG׻ػeoåá'›>IHI¸©»)7¨çSïË>_†ù†)œ=0|Õð‹ù•‡5ÝkNê1Éøœ€;yåälíl'ÓÌä™Ú ­¢y`ó¾­ú~ûç·ÉÉ2NÖZ·-N£ÖD7ötñB¤d§ÌÖÎ~·ë»wÚóÚ/ Â`ä¥Ý݆vzWƒõoÝß™}¯¯}ýtîi¹e-ÏZsŸ«HAqÁð•ÃwžÜYzWÕhÎ3s\]•‡‰û?Üð¡<“´®ÝºW³^ÆÞ#ÀîmÏÜ>çüF5MùuŠòÕ÷rû—Ÿ‰xf¶vöMÝÍ·»¼­l6gûœÝY»›6—ßäXwhÝlíì;Ý8“wfåþ•Æ_ºQÍF=÷¸«Á"Ã"÷%~úë§ù7òå–íCÛÇ?¯\™:èÍuož¸|B>«V©GtñæCo*õý„ ¾ÛûÜ``›ÆçìÝAw&Ñt`ÝAwÆÑt`ÝAw}A_ :‚Ž$z^$z^ô½Hô½Hô½(èzèzèzPÐ ô Ñ ô Ñ ô  è@¢è@¢è@A/Ð €D/Ð €D/Ð €‚^ ‰^ ‰^ ½@/½@/ Zs°öpwR²S6ÛÕ4°©‹ƒ‹£Æ1²^䯣wžÜ©$‡6Cëæèæêèšœ‘¬¬ìÎÚ]TRy§}®>¸z{ævã¯Û³iÏ;EH¹ƒ©Uêa+‡8{ Ä+$ª~”—‹×É+'7ÛôþÏï‡û‡·®ÝZ‘œ‘àÐ&¸M°Wð’©RwžÜùîOï&¾(„¸~óú+«^¹˜1Ì7,2,R§×%H÷ßqf¼i€½Y´{QÁÍ‚^ÍzÕñ®ä¤V©;Õí´áè†k7®y8{!’O$‡z‡f]ÍÚ~r»rÃ19#YaäD·=N§×yQÿþFâ¤ÜÁ²s³?8¯(¯UíV­jµrrp:xîàΓ;‡­¶qØFwg÷ë7®ï<¹3"(¢i@Sÿþy7òvÚõÛ‰ßælŸ£Ü‡Ývÿ¿~ù—N¯kÚ¾e­–99ŽlwC1aÃGµcßV}ƒ<‚Ú·iÐÄ¿†¿6C«|q]¿y=%;%Ô;ôð…ÃW ¯(×ÚL­—‹W‹Z-ÊÝᙼ3ÊmP#z6íiä›å¶éئq?Ó¨4‡?ÜÀ¯ÁÍ’›Û2·íÎÚýÎï,ì³P‘‘“qòÊÉÎõ:×÷«_éƅü ÉÉs¶ÏiÚ^9§}ýÇ×ßíýN£ÖtoØ=Ô;4ýrúò½Ë_ÕtÝTÝaƛغÌ7 °+t‡o`oè3Þ4ÀVÑf¼i€M¢#ÌxÓ[E/˜ñ¦¶Š^0ãMl½`Æ›Ø*zÁŒ7 °Uô‚o`“è3Þ4ÀVÑ f¼i€­¢ÌxÓ›D/˜ñ¦¶Š^0ãMl½`Æ›Ø$zÁŒ7 °Uô‚o`«è3Þ4À&Ñ f¼i€­¢ÌxÓ[E/˜ñ¦6‰^0ãMl½`Æ›Ø*zÁŒ7 °Iô‚o`«è3Þ4à~à`íàî\.¸<­×´èæÑrE¹˜Ðfh•äHÎH~°îƒÎÚ ­²ò‘kŽg"žiÒÎøëúºùÞÕ`?§ý|àì^ÍzM}jªF­Qœ=ÐûÛÞ‹w/ž=K1ñ±‰õýêï<¹ólÞY'Ó¡\º~)%;E¹™òcêò/D…E-è½ÀQã(„(,.|!á…œ‚ã“(,.\7x]}¿úr%2,ò¿iÿÝž¹ýñÆçå<ðÝ®ï.ÚµH›¡UâD›¡õuómÐôNûŒík#/êæèv·ƒ}¸áü¢¼‰MØv Üæë?¾ž´iÒºÃë´àîìžøB¢‡³ÇŸÙ^¾~ÙQãØ£IÓ¿Ÿþõø¯Jœ|ýÇ×:½ntäèÑ‘£•O9úŸ‹ÿirAA j8Õ+ëu^wxò¯ðÎS;Kô%owyûõµ¯k3´½šõÊ¿‘¿7{o÷FÝÕ*u¹;¬íY[~%ÞI£šîv° {¸:º& LˆŠPV CìšØ G6¤_Noà× "(bÓðMç®K½šW”âòXÃÇ–¥,Û||³rñóÕï_©Uêoú}ó`Ý•=l8²aäê‘&'ìÝAw&Ñ&'@w˜œ°stݘDw˜œ°ô…ÉI;AGЀD/˜œ°ô‚ÉI;A/Ð €D/˜œ°ô‚ÉI;A/Ð €D/˜œ°ô‚ÉI;A/Ð €D/˜œ°ô‚ÉI;A/Ð €D/˜œ°ô‚ÉI;A/Ð €D/˜œ°ô‚ÉI;A/Ð €D/˜œ°ô‚ÉI;A/Ð €D/˜œ¸?9X{¸;a¾a¥ DQ×§n¨w¨6S+„¸Rx%õBjï–½ÝÜ×Z{&ïLmÏÚÚ m€{@Cÿ†wÚç3ÏX|°m™Û„nŽnóvÎ3 BƒÁ`OÏg(Ûì=³wðŠÁ%ú’2»º|ý²«ÏžÓ{„£"G)"„putÙiä°•Ãî}ZÀ¶E7.]&BÞ­ÈÔ>Þøñí'·ëôºÈ°È£*7)r‹rž;سiO•Ju§}ŽŠeñÁ¶ŸÜ®Qir rælŸc0”sÅõâëBˆgˆ6B­Rµë«_ŽüRf?—®_R>Øsz«£ëÈÎ߬ õí׺ßÂßÞû´€mÖaXéïp!"Ã"×Z»-sÛSMŸÒfh}\}žlòä¶þg[æ¶^Ízí<µSgй§Y‘orÜí`ò/¿t¼Žw¤II'’ä‰B%TBˆƒç6ðk Qi^YõÊÑ‹GËìG9QdçfŸÏ?)¿Ã!„x¼ñã-jµ$ÊEwЀItݘDwЀqtݘDwЀD_Ѐ‚Ž #‰^ ‰^ ½@/½@/½@/ z^$z^$z^ô½Hô½Hô½(èzèzèzPÐ ô Ñ ô Ñ ô  è@¢è@¢è@A/Ð €D/Ð ¨¦¬=Üz¾õn_Œ ‹LHIÈÎÍÞ“½Ç`0D…E)w´Ún »¥]L{ºùÓFö¹úàꬫYÆ_÷…¼àãêSñÁr r„+ö­¸Óö;O4ÍIãôhÃGëúÔusrS UrFrJvŠÞ Bäå !B¼BJV¨w¨ñ9!êùÔ+³RÛ³v}¿úÉ'’…ʉÆ5G†E®:°êä•“‡ÏÖôëu6²Ï/´_„ÁÈnŽnC; ½«Ár rtÝ,í¬Û·¼vãšb¿ùÅ×Í7*,*È#ÈÉÁI%Tßíýî¦î¦²YnQnGF¥)ý¹œ(€Š¸ýD¡œ’O$+ßäˆ ‹T©T‘a‘[Ó·*ëâ¯;å:“wfåþ•Æ_´QÍF=÷¨ø`ÊåÄ©«§fü6ãö-•Å»?½{ôâÑ~ Ú…´óuóuÔ8ÞÔÝœ·ãÖ=мyâ¶Ë e…orÆÑÆç èN@Ðt`Ýa|N‚îàD”B_Ѐ‚Ž0>'`Wèãcv…^ ½`|NÀ®Ð ÆÇì ½@/ zÁøœ€]¡ŒØz^ô‚ñ9»B/°+ô½(èãsv…^0>`WèzPÐ Æçì ½`| À®Ð ô  ŒÏ ØzÁø€]¡è@A/Ÿ°+ô‚ñ1€û–ƒµ€»Sæß`EçzR´™Ú=§÷{‡ù† !Õl”œ‘ììàl0ŒÜ’B¬>¸z{ævã¯Û³iOãRf0/W/!ÄÀ6ýjø•ÙÒÅÁE±%}‹"G‘O¥^Hý{.^BˆÓ¹§Üä¢ÉX „ШË?Q,ùsIæ•LåÞ¥B¹ƒ©ÍÔ:wH½w)„ˆÛ§ÓëŒlà_Ãßdœ”ÌÓÅó¦îæ°Ãnß2Ü?\±5}«‹ƒËÏCös»u&1 ßüñJ¥Rz¹x»vNgЕ>q¢*ÂAS6…ÜÕl¤ÍÐfçfgäd¼ÚñU!DdXäw{¿;~é¸6S[Ç»Îíß-Îä™­müE{6íiò›¥S.Âýßlòäí[¶jqýæõÝY»[Õjõý ïåy õ|ê¼ó”==…§sO—ùÜÛW”AwŸ€ ;8Q@wÝa|N‚îàD”B_°t„ñ9»B/°+ô‚ñ1ûA/Ÿ°+ô‚ñ1»B/°ô‚ñ9»B/°+ô‚ñ1ûA/Ÿ°+ô‚ñ1»B/°ô‚ñ9»B/°+ô‚ñ1ûA/Ÿ°+ô‚ñ1»B/°ô‚ñ9»B/°+ô‚ñ1ûA/Ÿ°+ô‚ñ1€ûVÙ+{»²bÅŠ¹sçΜ9³uëÖÙ~Á‚Ë—/_¸paxxxeÏà®tªÛI£Ö$ŸHNÉNéÚ «²Ø¹^çÕW;iœ” Œ|ú3Ï´ igü%|Ý|ïj¤Žu:&îKÔt±cÕ*µ\¿˜ñìµ³BåÚÂÝÙ]>µóäÎ_ý*¶ i»êÀª/´_,è½ÀQã(„(,.œ³}Î]@Š ‹Zòç’¥.={zL½1BWŸ¦M“O$§^Hmà× È#ÈȧÇvŠ5ƒ‘ ÜÝîv¤Nu;­Ø·¢®OÝèæÑ¥×Ó.¤y8{!T*•ƒÆÁYã,Ÿš»cnnQ®·«·ò°mHÛu‡ÖÅo‹9JYɺšõý¾ïïvŠÈz‘‹v/Z¼{±"*,JüuñÝÞïN^99 Í#Ÿ[Û³öèÈÑÆ÷ߨf£»š§–g­z>õ.æ_ìѸGéÏ5 ÚLmDPÄ Ý •Jåâè"ïPÜÔÝœž<]nìè¸=sûï§~ïP§ƒ²¸áȆgÜÕ$t“è&ÑŒ£;˜Dwè :€D/è z€D/è z€D/è z€D/è z€D/è z€D/è z€D/è z€D/÷?k`MYYYIIIW¯^­àö'NœHJJÊÏϯԩ˜ÁÓÅ3"0bóñÍźâ¨úQÊbTXÔâÝ‹ÿ›öß&Mjº×4òéÏDZÓ±nGeå:8iœnênv®×¹êçѨ4_õýjìOc=þkâ¾D¹èزVK!ÄãïÕ¬×úÃë÷ßz¶O«>N‹v/RÖpª1ÿ¹ùÃW ÏÈÉÈÈÉBø×ðÿ÷ÿ~uÕ«U~4€-¨áT£Mp›ÝY»›6óuóU#Ã"çïœ/„°Ê‰"Ä+dIÌ’·Ö¿uðÜÁƒçÊõ¦Mƒ½‚…£#Gï8¹ãØ¥c‹w/B8¨>éñÉò”å§sO+[¶¬ÕrRInøpwÖîÝY»…­j·úg³~²é“ª?ÀÈ‹‡ÒßÏ×Öy°êGêÞ¨ûô^Ó'nœ˜œ‘œœ‘¬,ªUê.õ»8h„ŸôødøÊá{²÷ìÉÞ#„ðsó›=ëù„çå^j÷Ò‰Ë'¾ÛûÝ/G~QV´PTRôêüh[@w0Žî`ÝÀ$º€qt‰¾ Ñô‰^ Ñ ô‰^ Ñ ô¥Ôy IDAT‰^ Ñ ô‰^ Ñ ô‰^ Ñ ô‰^ Ñ ô‰^ Ñ ôpÿs°öÖjí)T”ƒÆatäèú~õË}6ºy´Z¥öqõñrñRV\\&tŸp!ÿBÆ=¬2˜«Ï‚Þ Ò/§ÿqúœ‚_7ßz>õÚ…´Ó¨5Ê3þ9c@›ÏT©TÿþG‹Z-´Zwgw¿~Ê-jµØ4|Óæc›Ïä ô|´á£ƒatäh%cÜ®®OÝÑ‘£Û·)÷Ù‘FîÉÞ!WÚ…´9Zñ`Ýʽwy§Áš6ûïÿîÉÞsðÜÁÂâ  Æ57 lª<ëíê½þåõ¿ÿ53'ÓÓÅó¡úÕö¬­7èóŠòäú´ìY/rKú–k7®…û‡wmÐõèÅ££#G‡û…WêÕW§zœœýÝüoªÜ‹yáéâi•Áz5ëÕ½Q÷í™Û3r2ô}ˆWHëÚ­kyÖRžmÜvãðIéI箫íYû‘ðGœœGGŽ÷¿uP«Ô“zLŠióû©ß Ã?BþѺvëG7†x…¸ü{÷ŵ÷ü,ËÒ;ÒA:ˆ(`ïAÅ‚½—h¬71æ&z“h5šÄû‰IŒ1Æ *6{½R¤H¯ÒÛÂÒv÷y1¹s÷.cØ™Yð÷ýäœ=3{v³Œó›sþ³š:¬¾"€v ¹¹ UÈÈ­Bî@îP¹¹ UÈÈ4ä ä rr yy€†¼€¼@A^@^ !/ /Ð(È È 4ääòòyy€†¼€¼@C^@^  / /ÐhÈ È ääòò yy€‚¼€¼@C^@^ !/ /PhÈ È Ð® är9óÞ3fÌ „„„„°6N?~ü÷ßߺu«ŸŸÕ"•J;våÊ•‚‚33³áÇϟ?_Gç¯SÿU«VmÞ¼9**J.—ïܹ333ÓÖÖvñâŃæïE°B rœ™|TkÆôé*øû-((‹ÅJ:\ºd°|¹UJJjŸàuá³×Ž,[fEùõ×¾o|öÚ77×mÛ ÆŽUvÖÀ|öÚ œû_ðÙkGpî|Ág¯Á¹ðŸ½öç~À|öÚœûÛðkGpŽlÃg¬½À¹° Ÿ±vçrÀ6|ÆÚœËÛðk/p.lÃg¬Á¹° Ÿ±vçrÀ6|ÆÚ œËÛðkGp.lÃg¬Á¹° Ÿ±öçrÀ6|ÆÚœËÛðkGp.lÃg¬½À¹° Ÿ±vçrÀ6|ÆÚœËÛðk/p.lÃg¬Á¹° Ÿ±vçrÀ6|ÆÚ œËÛðkGp.lÃg¬Á¹° Ÿ±öçrÀ6|ÆÚœËÛðSVVVÌûk²7õ—}çÎòòrê×êêêÀÀÀû÷ïÓŽ?¾}ûö?ÿüÓÒÒ’n¼|ùò7ß|S__Oýºÿþ_ýõ£>âr䪥Á÷ÔÈš5kîß¿oaa±eË–‹/þöÛoÎÎα±±K—.Uìöõ×_=úÈ‘#¡¡¡K–,Ÿ|òIRR_Ãh;M¾ .÷íÛ§££sÿþ}ªqÖ¬Y]ºt9sæLAA••Õ8~üøÐÐPêç)S¦ØØØ¬_¿þÀ›6mâgèm¦Á÷ÔEZZšX,6l˜‡‡Ýhnn>}út¹\þìÙ3ºqñâÅŠR¿*vhw4ø€º¨­­%„˜™™5i§Z¨G)&&&Í;H$Ö‡À ¾ .lll!OŸ>•ÉdŠíááá„[[[º%22R±CDD!ÄÎÎŽ‹Q°Cƒï¨ ‹ž={&&&®Zµª¡¡"—Ë·mÛvýúukkk___ºç† """¨Ÿ333—/_N5j/ÃP M¾ F¾ÿþûQ£FýðÃ{÷îuuuÍÊÊ*(( Ú55ÿûFÙÛÛ÷ë×ÏÝÝ][[;11±¾¾ÞÏÏoÖ¬Yü  ­4ø€ 8þ¼››[iiixxxAA­­í¡C‡æÍ›§Øí—_~™4iRRRÒ³gÏêëë._¾¬¥¥Å×°ÚN“ïðI"‘B´´´è–±cÇŽ;6%%¥  ÀÌ̬K—.€~tÉ’%=zô ÍÍÍÍÊʲ³³ëܹ3CP)M¾À§ððpBˆµµu“v77777·æý]\\\\\¨ŸíìììììØ!74ù?~úé§;w¾xñÂÙÙÙÙÙ™ïá@;V$.ú×Ùòµ°÷B†›,>±ØÅÌe툵lŽK Å…7SnÞI»S!©˜è=q¶ßì&ÄuâkÉ×¢ó¢s*r´5µ½­¼§uŸfcdóªFåFýpûBÈgC?ëa׃ÝѨ“»iww>Úùñ[÷uèˤZIÚÚ+k§ùL›Ö}Ûck£ä¢ä›)7g=®o¬ÿbؾ¶¾M:äWæ_NºœX˜X(.4Õ5ímß{J÷)z"½&ÝÊ%åG¢ŽÄäÅȉÜÛÚ{Žß  ®^€ZØùhçÝ´»»¦ï2Ô6dÒÿbÂÅàÈàu#×yYz±=¶¶Ê¥OsžÞxq#¾ ^&“Í E£åQæ£+‰Wr*rÌõÍ9 ï5^¨!dÿE¨…79w0éóºÙ Cz“sa–)2Ë2Cž…d”fHåÒÎ&§vŸêiáÉÉ+Porî „¤–¤‹>–Z’ª'ÒëïØ¦ïL-¡Ö«ö¹öÊÚ´’4s— Ø;€zyÃs‡T& ½—~¯ª®ÊÑÔq–߬æG?&}:¶œ;žæ<=.«oŽœ^k~!82øbÂEBȾYût4u8&€é¨yò(óÑõäëÙÙú"}·NnszÌ1Ó3kÒçµæ#:¶™2Ë2W_ZÝâC¾¶¾_ ûB±¥\R™Y'­ó´ðœí7ÛÞØž“a¨™®$]9q°Å‡fûÍžè=‘ú™a=À›£ç ÞI¦xCtȼ@cžPs @:h^ µºÖµÕŠ:d^ ŽZÍÛ·LØbkdÛ¤5Ô”Žš¶ÜÙ™Ù¤q€ã€eƒ—Ñ¿¢V ‰Ž(JÖ¡&@Q‡Ì M0©kFí3@GÍ Š”Ì Æ@QGÍ ’ɵäkOsžæTäèhêt³î6Ýgº¥eóž¨w uÔ¼P(.¼˜p1¡0Z|دs¿ÉÝ&7¹z€zgE5/0œ;@½3€¢Žš^·6õΤãæ†YõÎ´Žš³û¬Ô;(è¨y¨îûãÞ5/Ô2¼¦œh¨e`¨çÔ2ƒjiò=~$''¿xñÂÊÊêàÁƒXÐaÌ;:ÏËÒkMÀ.÷V'­ Ëó°ð`¾çðìðÚ†Ú¶ŽußÞøö@Ĺ\NýÚ<{ÄäÅÌ92§®±Žn¹ž|}×ã]?Oüy„ûˆæ;l”5®¹¼&¥$E.——IÊØ9€IEI믭Ÿé;sr·É\î­¨º(,;¬´¦”áž«ë«Ã²Ãú;öoóÙ5iÿ¤ø‚xú׊ڊ&‚"‚6ÜØ@I!矟ßýd÷ÁÙM鯬ò¬Ù‡gŠ ©_o¦Ü<ôôБ9G^ëÐ  *gâΜˆ9ñõ¨¯Uræ{K+M Ëk”52Üs~e~XvXeme›ÇÈ¢¼Ê¼ û&(drÙßèCi”5~vá³óÏÏÓ-¡±¡×“¯oŸ²]Õ£hr‡ µš;˜ôyÝlÀ6äÕj5wf™âàÓƒßþù­T.¥[ö‡ï_6h™âÝâ8ƒÜ¡B 3Åõäëÿ:û¯zi=õ땤+§bO~û°¾–~óÎgãÏ9.—ËkjX6@«;TˆIî¨k¬[t|QXvõë½ô{G£Žn·YñŒIÎ w¨ÖÖ{[·?øï•ÆkÉ×==tô£VVŠÝö‡ïß|k3}6u%éÊÎG;ÃÿÎéXšA¾P¡ziý’“Kî§ß§[ÎÆŸ=nÇÔš-±ûðô‡W“®*nò,d°óàÓvâîÀ;äŠÌ\rrI¹¤œn Ž ê:ô÷©¿‹„"æ}x¼ Z¯5¿Užµéæ¦:i\.oñB%ÇTH&—­8¿Bqñ!dÏ“=Û&oówñ§[^k>€KÈ ªRÓPCÏ4Ñݦ»â¯O²ž|xúC:2ÜJ¹µçñž3‹Î¨ÿ- cC^P!ê¦Å‡Þí÷.õÃz ^ /¨V«õ 3/T‹y@Í5¨ä•ku­j«Am!/¨uÔjÞ.i(þŠjP[È *”T”Ôü€ xïHÔJƒ:C^`‰’µF¨‰µ…¼À&uͨ}uƒ¼À%s¨qµ…¼ Bâ‚Q»GU×WÓ-×’¯í~²{Ç”*öD½3¨'亚tuùÙåRÙ¯ œ~~_ø¾ƒ³ZZS-¨wu†¼ * çPï j yA…^·6õΠnTˆa@½3¨-äbrŸU‚zgPWÈ ª¥ªïàò‚ ¡–Ú;ä6 –Ú#äÕB-3¨œ&ßàǧŸ~úá‡zzzjiiñ=P™°ì0@ ž{kw Å…úÃ\‡éŠtDhÞA\/ Eã½ÆûØøØÛ•Ö”GÇäŬ¼°òîwtŒšôßõxW¸`Œç˜K‰—¸x-©ª« Ë䯛M؆ܡZ­æ SäWæSw}šÖ}Z€{€PCx?ýþáÈÃÛlå9J%«[^ r‡ 1Ée’²Ï.~V/­ŸÖ}Ú˜.cÊ$e;îˆÍýþö÷ëG­oÒ¹\R¾ñÆÆY¾³ŽEãä´ ¹C…˜äŽ_ü–fmh½lð2C›Û©·EZsyMßÎ}ml™÷à r‡ =Èx°ýÁv‘P´ ÷‚¾}ÅuâÏN<Î|üù…σfÑÝ.$\øöÆ·B á ŸÃ܆ikjGdGà„Ôò… m°ý~úýNú–ô_âjîš[‘ûÇ“?n¦ÜÜýx÷?þ“êSR]ÒͺÛ÷NfNz"½ÈÜÈáî§ßßùhçÇC>æwüÈ*´êÒªrIyoûÞo÷xÛD×$¡ a÷“Ý·So‹>6¯×<æ}x¼ B¯;¿°îʺ.–]$ ’¤¢$^ Ðò‚ ]J¼tþùy]‘î»ýÞõ±ö©i¨9ùìä½ô{_\üâÁG„!yÍùŽ!/¨Š£©cðœà&?Þù127rºÏtº%«<ëÝw% ’ANƒ¦t›ÒI¿SJIÊᧇoRÀ äÓeLW«®Š-2¹lé©¥zZzþ®Ý †a=/T«Õz&™€/È *ôZY5× nT‹ÉZ#ÔVƒÚB^P¹IÞ“fúÎTli²ö5Ô ¶TîàìƒBÿ^0×3§F­4¨3ä–¼j­j¢A!/°I]3jŸA !/°AÉÜjœAm!/¨PmC­H(šå;ËÇÖÇÆÐ¦¨º($&$"'bÅ…÷þyOSã¯/@½3¨-䪨­°3² ìèiái¢k’V’”V’¶áÏ Û§l§ú ÞÔò‚ª0œ;@½3¨-äzÝÚÔ;ƒºA^P!&YõΠÎTˆÉ}VQï j yAµTõýq¼@^P!Ô2C{‡¼ÀÔ2C{„¼ Z¨e•Óä{üðððà{jíË€/-ô-Á•¤+-NZøÙú=YöD[S›n™ÐuÂä““Š’"r"†» WìœQ–±ãᎯG~\”ÌöÈ€3gžµ4°$„|sí›;,ê³è“!ŸÐtü]üGzŒ½gtxvxu}µ¾–>!$&/&27²³Iç ÙA:š:„áîç˜_ÿ ãÁç!½`±]Øò0ccBÈ©ØS»ORQÒѨ£º"Ýy!nܨÆÑž£ßØÙ#€Ž¤ÕÜÁ¤ÏkehwZÍL2EDN„T.é1ró¸ÍÔVn Ò†cÑÇžd=ÁŸÚ5&™"$&D\'žè=‘> p0r÷ȘÏü?3Ð6PìüÝ­ï ´ –^Ž{=t­fŠFY㑨#B aÐì WsWBÈ[.o ‚ ˆ #QGVú¯dØÚ©ÐØPBȪa«ô^@µŒó7ýÐô ¼¬¼!²Æoo|KùnìwSºM¡ºù»ø/é¿„§Q+BcCÁþ™û©¿}BH€{ÀÈ]#÷‡ï¿ÿûÔ è›ú›âÝ燻 ÷´ðüäÜ'·SoãæPF¡¸0­$ÍÒÀ2hv5ûàïâogl÷ɹOg=¦nüĤt¯5¿p:îtXvعEç>=ÿ)ƒv=Î|LYá¿baï…TK gà¸}ãRŠSRŠS¨ÂkÍG@;¥'Òë×¹ŸbK¹¤<¾ Þ×Ö×½“;Ýøý­ï% ’¾36ÙDµ v<¯×¼úÆzN‡ l²6´¶6´Vl¹z»º¾znϹô`˜ÔS@À¤ÞI¦€€y@Í5@ÇÆd­j«Þ(vÆvM®+*B 5À¥Ÿc¿WÝHµÒo%kP ð¦aR׌Úg€7’¹Ô8¼!lŒlîýóž®H—n™ä=iÜÞq©%©IEIÞVÞõÎoŒ@ÏÀ>3zúÿî/ýÝõÎo&s¨wxC¼Vmê:6&YõÎo&ßï€zg€7„J¾?:Ô2@¨eÔ24ùÀk(†< I.J׉íMì; á>B $%­¿¶^*“ƽŒ›<‡ê¼nä:/K/©Lz;íöýôûYeYB ¡‡…Ç´îӜ͜©> Ò†Çôvè½|ðòãÑÇe>*“”­¾jÓM-î“s"æDne®‘Í,ßYô;5gEmÅÉg'£r£Äõb+«Ñž£•+¡¤AòAèŽ&ŽëG¯WÜDÒ Yzj©['·u#Ö©â}muR‰æW!EBÑ@§IEIr"oòÐÚ+kýlýføÌ –M°*±01464»"[.—;š:NôžH-Ü?wfoØ^BHHLȃôTç#sBjjÎ??_•o eÐîÇtŸéÔ·¨Bbòb6ßÚ<¿÷ü>}GŽoi`ÙÛ¾÷«öF¹’tåJâ•ʺJ÷Nîôw§5‘^š~*öTrQr£¬ÑÙÌyz÷éô—*5§d„ÏòŸ}wó»IÝ&Íò¥¸ 5ì©Ý§N÷™þ÷ßM¥Z=P˜êš6i±7¶w1sI(LÉeT˃Œ„™¾3©„C „ïô|gõåÕwÓî"äärù´;ד¯ˆ ôµôÝÌÝfùÍ¢>Ïol¼–|²þÚzCmCBHW«®kG¬%„¼¬zy&îLRQR™¤ÌBßbÓ  Þè[‹>v.þܦ±›jkEK/Mé>2³,óU{«m¬=uôqæc9‘÷qèóNÏwZê£ÌGW’®d—gkjhv·îþv·[<ñ (áñ˜ãgãή¾ÊÇÆGqjØkG¬íjÕUïl3:š:ôŸv[úPßF¹ ÷ú.Nê]`rEr“>¯•MT¹CqØüæ&™‚*óv4uTÜÐÉÔ‰¢«©KX€ÜAS‡ÜA(æ÷šO·XZö}&îÌ“ì'ntû“¬'§bOš}¨Õ}´rErGL^Lemåç!Ô ( {/ Šº›v—º “>*‡Ü¡8lörGvy6!Dñà&Ôú»øÇæÇÞI»C½–»iw‹ÄE~¶~ô¡(¸D Ü@¾ ±š/e/«^ÚÙ(Ĭ ¬¼­½Ã³Ãc_ÆúÙúB«Á)C]‡BèÙOV!GPØÎÔåD+C+ÅûCýu9ñ?7”dÒ€UÈ ŠÃf//0Ÿ_(“”m¼±ñƒ¸wrgc$¯‚¼@c{>⯂ÉB ¡ƒ‰CJqŠžHja>Àä óMœ‰?S×X7­û4º¥²¶òzòuMÕÃV+ö „È À äÅa³º®©‰ã1Ç !Š&õìA^ ±˜Ô;0ÉìA^ °^+  æø‚¼ 8löò“µF¨­~!/ÐØÎ L †ø…¼@á~~¡9ÔJï‡Íöü‚òµF¨‰~!/Ð¸É LêšQû |A^ p–”Ì Æx‡¼ 8löò‚–P‹ÿ§ESCÓÙÌ9µ$U¤!¢ZPï üB^ ±ŒtŒš´ØÙèké 5þ{˜@½3ð yÂv^`2w€zgàò‚â°ÙË ÌkPï |A^ ±˜dÔ;¿(êpŸUÔ;þßÀäš:Ü €_È uXÀ;äÅa³—PË lÐä{L%%Ï<;¹æòú\hl芷V4gTnÔ’“KÊ$etË©ØS3|gl³©Å×¥d„º"]S]Ó#ÑGõ]D­¢œ{~îAƃ ]'¼ê½ÚxccÜ˸W=JÙ2a‹­‘­ò>¯+6?V[S»—]/ÅÆ˜¨Ü¨‹ÿ¸(TûtͅƆ~qé ¹ü¿•ü{Ãöþ8áÇIÞ“r+s !9999t‡rI¹ÿïþÕõÕtË•¤+{Ãöž˜wÂÞØžRQ[–æcëóïëÿ.BºZuµ1²iqo„/.~q*öõóÝ´»§bOÍö›ÝdœG¢Ž¬¿¶^*—ÒÝGþ6ðÛƒ„òz[ygWdÿöà·éݧ+®Kz‘ñݸï^õ^Í;:O*“¾êQBˆ‰®ÉŽ©;”tøªêª2Ë2}l|èz‰”’Bˆ¯­¯b7ê×Ô’TÕ>;eõåÕ'ŸTlùýÑïWß»ê`âX”HýESà´»iwß;ùžâŸÌé¸Ó!ÏB‚fijhB²Ë³Ã²Ã.'^Þv[½´žâÞÉ=©(©Å½UÕUÍ žC7ÞL¹y)ñ’âL!D&—}qñ‹Óq§é–›)7ƒžÍ¢.¸4¡|„}ìû¬½²6("èÇ ?Ò¤2鎇;4],»´øFQy[|ˆ6ÀqÀ²ÁË”÷i»¨Ü(BÈ(Q3†< ’ IDAT©¨­p2ušî3Ç{KAdžÜA÷QÛÜÁD‹Ù@U;è>ê;˜dо}uŒÏÇŸŸÓcNg“΄qÁ‰g't4uÞr}«-Ïð*È5É/Š_5„ݬ»)6úÚøž‰;“RœBcÔKë×^Y;½ûôþŽý©³2ö wÐ}Ô!w´x:á`â`¢k’V’Ƽ€j!wÐ}ØÎ:"BHIM‰ƒ‰ÝX\]Lþó·Oþs‰r´ç茲Œýáû3Ë2­ ¬FzŒá>BÉó¨ ò…í|!554Ë%åR¹”®r!ÿ9 ¼(zágë×↱ù±„ANƒ”?5@Û!GÐ}ØÎ†Ú†ýû‡g‡ßL¹I½Qµµ{žì!„Œtɼ{è>lçæó ßÞøÖ\ßüƒ(y.6 /P8˜å1jøþ §A}úhB³Ãe<ò²ò¢¤„ñ|è>ÜÏ;„Ä„èhê(>ã³ügR¹tˆãBÈ/÷‰É‹Ñ×Òïß¹ÿ4ŸiøZàò݇ãuME⢛/nö°ë¡øÅ3Í5¯§`ò…ƒ¼À¤ÞI¦` ò݇í¼À<  æø‚¼@÷a;/0Yk„Újàò…³z‡ÈÜÈåg–WÕUÙÙ sà !РE 5ðyîÃÙüÂw7¿K)NÑéz[{Oí6ÕÆÈFyÔJgè>ÜÌ/(_k„šhàò…›¼À¤®µÏÀäº7yAùÜjœ_È tîﳑñ ã³™³k§¿–$¡Þø…¼@áþ~J2¹ìÐÓCUuU3|g(é†zgà ò݇—û&5™;@½3ð yîÃ}^xUmê/È ^î¿Ú<  Þx„¼@÷Q‡û¬¢Þø…¼@÷Q‡ïqhõÎÀ%äŠšÜ €GÈ tuXÀ/äºÛyµÌÀM¾ÀÔ±ècâ:ñPס“»M6Ñ1ɩȹŸ~¿ª®Šâiá<'xÞÑy^–^kÖPý½,½!â:ñ$ïI}úØÛ×6Ö&$ˆ8°þúz*„Pî¦Ý5Ð6Xé¿ÒËÊKGSçU{Ë«ÌûêêW2¹lj÷©Ã݆KeÒˉ—ºû“â Åu⥧––×–Oî6y¨ëPcã¬ò¬áBbBt0Ñ{bó×¥|„ z/8ÿü|pdð—_Ò›G›é™) !‰E‰t|zIƒDy‡×u<æxDNħo}j¢kB7–Ö”n¾½yùàåŠ! €={ÃöBæ÷š?Ði ¦†fFYƹøsÔE„ÉÞ“ µ ÿ}ýß3|gLöžLoÒ m Eÿèû®V]ÍõÌ+ë*Ÿd>9}tÛýmßûžîv ü€³™óòÁË;›t6Ò12Õ5mqo—/Š=¥+Ò]Üg±¯­oiMéÁ§ÿxò‡â #s#¿¹öž–Þœs|m|µ„Zq/ãöGì_wu]ÇþÍ/ü)¡PC8·ÇÜ-w¶ÜN»M¯(©)¹œxy¨ëPª¤¹EaÙaÊÃI'ýN­¾á¯ë›kßÔIëV _E·”Õ”B,ô-»YXBÊ%å*@¹¤üTì)#£¥ý—zXxÔ5Ö%%9Ný³¸zØêƒ‘CbB¾ù•§…'!ÄHLjRYWé`ì0µûTs-ƒqÁ¥„KwÒîœ?;­û4zç[ïmõwñë5ÖÚÐÚÆÈ¦º®ºÅ½m¹³%¡0ÁÆÈfI¿%&i¥i»íJ(øŸ‰ÝwŸŽ;í`â0·Ç\Ws×ziýýŒûÇ£rî“+ï^Q¼ÉEù]Ì]; ¾œxùË€/Íǫ̂Mn¥ÞÊ«Ì[°¦ùÞ(ôE^%, ,”wP‰—U/ !Osžn¼¹‘ºüt—Ü=yø›QßÌé1‡ƒÀ›¹ƒÞD=s-fBî 6Q“ÜÁ$Sé휶sÅù#wô°ôAJqŠ‘ŽÑ¯“µ2°jãšCîP·ÜQ.)7Ö1¦Ö¨5Ù­âŇßü&®¯¾ºOÀr½‰:䎿N'šm, ,“‹’% ]‘.“>m@sÈÔ&䎶=f<üîæw;¦î Ncg>¦ Ó§ Ô%ʺƺIû'Ñ‹ÉNÅžšä=iËø-XÐ ¬B¾à,_?[¿ˆœˆ nø2àKM M¹\¾ûÉîôÒtBHymË—â:ñúëë- ,–ô_¢ü©Ú9‚Þ„ƒñÓ„Ÿ–Y¶ääGSG]“ôÒôúÆúOÞúd´çè×êÀäjòÃù…‡ÏÅŸ;öÎ1‘P¤do*‡¼Àå|D‡>ߌúæ‡Û? úm«¹ku}ujIª—¥×öÉÛé+ ç#Ø€¼@oÂñ¼Ct^tRQÒ$ïIŠ7y¡.'ÚÙÌ84ƒ.ø¼œxùHÔ‘à9ÁXÎlC^ 6á~]Ó©ØSR¹t†²Í“–ê)X‚¼Àe^`RïÀ$S°yÞ„í¼À0  æx„¼@mÂA^`²ÖµÕÀ#äîëg>¦>sb€ã€]Ówé‰ô¨ÔPèM8›_ؾŸúáZòµvþ0þ‡@ÏÀWuF­4p yÚ„›ù…Vס&x„¼Àq^`R׌Úgà ò½ y¡Õ¹Ô8¿¨M8[”W™·òüJ9‘Š 3Ë2Ý;¹ÿ:ùW¡à¯ïÀ@½3ðyûù…)7ö>ÙÛ kÈ©È)¸|9üËWuF½3p yÞ„ûû&µ8w€zgàòµ /÷em±6õÎÀäï¿Úb@½3ðyÞDzgàòµ‰š|Cs¨wÎ /¨Ûý‘x„¼@o¢ë‘ø…¼@mÂA^@-3°A³õ.êš-Û2~ }A|¶ßlêœÃPÛ°_ç~ÀX׸_ç~Š[Ï ~’õäNÚ«IWë¥õr¹\[S;·"÷eÕKkCkªœÈÍ>äeåEoÕâÞŽD©—Ö/곈Îã¼Æ}~ñóÐØPºÏ™ø3%5%+ýW.°”nÛe¬ÿÿиÐCˆòúÙúùÚúžŠ=õé[ŸRe‘¹‘Ï ž8ðCmMíW½W«‡­®¬«Tþ~ÚÙ*ïðZn¦Üüúê×£=G+¾pBȆl mÞí÷® Ÿ @ M MN_üŠnYØ{!uµÂÎØ®«UWBˆ½±½âŸ¶©žéå\¾öâÚ´;%Õ% ÒBˆ–P+";BqÏ––¡ B«}ZÜ[HL!d뤭tN˜è=qÜÞqÔ—$Qö…í“Éeûfîëiדjæ6ÌÏÎoÑñE矟ÿ`ÀM^T«#œí7{ûƒí‡ž¢ŸôD̉iÃÂÞ •¼W‡Þ>DÝåUT¾\iË-gãÏ®±¶¯C_ºQ*—B„BÅžÔ¯Ô+P-ê«Ë&{O¦×åŒöýþ€÷er!ÄËÊ‹º@ÐÕªkoûÞôVþ.þ~¶~gâΜ~¾²¶R*“6È!ÙŠ“#ÜGlŸ²]ñéšïM*—žŽ=­¯¥rþIê.C]‡u:nß8z+¹\¾/|Ÿ…Å™…gŒuŒéqëï|´3:/š>z0áÂ> ï¥ß;s‚þ—úpäa]‘®’{.S—e•¿ŸæzæÊ;¨D½´^¨!üáöºNå1J@7Rn„Ɔ®¿¾~€ãg3gÆoäuÎL¼*›¨rÕ¢&¹ƒa¦p0qðwõ?}œ^\2Èi“™SŸ EÈê–;¤ri“J òŸ³¾FY#õkJqÊî'»žø3µ: €mÈj•;þ:›´S-Ô‚IÕBî Z8Èïô|çhôшœÿßý]Í]Åu⌲ ?[¿è¼hú¯»^ZOÙõx—‡…Ç;=ß1Ñ1‰Î‹Þ¾ïlüÙþûÏðmå›íÚù‚Ë|±lð²EÇzzèüó󎦎ù•ù…âÂ&E’É¡äUæÍ2Õ5UþÔm‡ÁeŽ0Ö1öwñO)NÉ,ËÌ,Ë$„ô²ïågë÷º}X‚¼@µp3OÑêüB]cݺ«ëæöœÛüœ€mÈ ÏGx[y÷´ëy/ýÞ³üg„]‘®¿«¿b “ù– /ð5ïp<æ8!DñøIþs9ñLÜ#m£µ#Ö:›9g•eíy²'©(ià [Æoa¸s€¿yjáx]“\.y¢+Òç5NI·ë)X‚¼Àe^`XïÐj¦` ògya@Í5ðyjá /0Yk„ÚjàòÇó .æ.“½'{ZzÖ7Ö?Ëv,úØ£ÌGÿwýÿ6ÝDu@ 5ðyËù‘†hJ·)};÷µ4°Ì¯Ì?w&"'â“sŸx¿çí`âм?j¥cÈ T yáZ#ÔD_¸Ì LêšQû øµ^ZÿÙÐÏÚòDò—yáNÚ%!K, ,V_íÖÉMÒ ¹›vw×ã]·Rn^xšzÛ[`ò/óÕõÕŸ_´7¶à8@±Z«PßXhá!sªq˜Û°Ñ{F_I¼²iÌ&•ßn@ò/ëšžd=É,ËœÒmÊ«* ”ÔS°y˼À¤ÞI¦` ògyI@Í5ð y³¼Àd­j«GÈ \æw ÷Ëÿ¸Lß-nL—1»NœvpÚ¹çç¾õ uˆ@ 5ðyËù…Æÿ ø¯ül¿ÙŸýøBÂ…Óq§—^Þ¤3j¥{È œå&kP «¡ë„Ÿ'þL7Žõ;ä·!?Ýý‰ºñ“>ìA^à,/´:¿P]_ýÇ“?, ,Þ=ñ.½UFi!dññÅCo¢¿Ú € È œå…_îý"•KÎ>Hßç%Ð3P_KøþóÏÏOë>0˜`ò/ó矟¯i¨y·û»MŽºÔŸ¼“™}Ä „ØÛ{Zx>ËV\]Ìð¤ àïA^àe]Óñ˜ã„W}™„òz ö /p–˜Ô;0É,A^à,/0ɨ¹~!/p–˜¬5Bm5ð y³¼ £©Ó¤ÅËÊËÛÚ;*7êeÕKGSG‚jàò—ó Íï9Ýgú…„ T(P„Ziàò7yáZ#ÔD¿¸É LêšQû üB^à,/0™;@3ð yãõHº"]ú;®&zO´4°ÜódÏéØÓÔá Þø…¼Àñý”, ,éó>3fϾœx9µ$ÕÕÜ•îƒzgàò÷õ JæPï üB^à8/(©M@½3ðyã¼ <  Þx„¼ V÷YE½3ð yA­¾Ç‚zgà ò‚ZÝ €GÈ jµIùÎ؆¼ÀY^@-3°ÕnÐ2??kkF§eÐ^DGGó=0Ö1ž×kÞ¼^ó!…âÂ¥§–Î?6ÿÖÒ[-ÕÅhAþ¶OÙîeéE7þ|÷gò¿Z¾¨Ñlo–ú–„ø‚xÅÐû2V±uú²~ÔúæÑ¨Åc&#ÔÔМÓcÎÖ{[£ó¢g>®—Ö/ì³°…+H,J ËSÞGÒ QÞ‰ßþöóÝŸÇyûiâOÍ !jjªë«›$¹(™RQ[Ñö4çlæL_q‹{7ïè¼"qu’- Bš(òbLtM‚fi4¨–š†š"q‘ލé½Ešhqo––é%éå’rÅ@Òü@Q/­ß5mWó¥?fzfÍŸˆÉ=,<88{êSÿO==d¢kÒêZðì0åᤓ~'å{`¢¶±vù™å7Sn~5ò«/§úØøBn¥Üï5žn¼™r“Òݦ{ÛТ>}¨Õ9R™ôLü™/.~!Šô^@ZúÓ.—”g•gp±iì&º±Åë ÍÏ(šïÍÊЊ_¯ØM*“*¶XZ ŸÏ‡~ÞüYœÌœš´0á4Ÿi?ÝýéÐÓC†Æ†q¢¸ò ¹ªºªVO'W2±Çׯ÷aÆÃ’êÅÆ"q!DO¤ÇÁà „Ü¡n¹ƒ åÙ@å;Ô'w0ÉTµ¶b '!ÄÅÌ…ügÚ€ Èê“;|l}’Š’n¥Þšé;“n¼ñâ!¤»uwBHMC !$©(©É†5 5aÙaÔÍ¡T¹C}ru:q'õŽT&¥Ïî¥ßk”5úØú0ï rÈçkCkê¨XÓPs*ö!d¨ëPê!__BH“K”ÅÕŤ¥;S°ù‚Ë|!èkq/ã"s#MtM|m}é99 Ž-(©)90û@O»ž­î@…#¸É-^N4×37Ñ5ɭȕʥBIåh#änòB«ó õÒúFYc~e~~e~“m#r"!ä•õ¶*ƒ¼ÀM^È*Ï EŽfŽŠM&[`ò÷óÇcŽ ‚©Ý§6iïjÕUK¨U&)“Éeô¹\.§®(êiaÑ#°yãù…rIùÕ¤«M:÷±oá>ò­ÖS° y›¼À¤ÞI¦`ò7yI@Í5ðy›¼Àd­j«wÈ |Õ;È䲂ªBˆ®H—jA 5ð yǺ†üª|¢p4  Vx„¼ÀA^`¸Ö5ÑÀ;äò“ºfÔ>ï¸É LæPã ¼C^àñ>KT .#Ô;ƒ@^àk~A¨!t4uŒÊʫ̣/ Þx„¼Àåü‚ò¹Ô;ï8Ë ÊkPï êy³¼Ðj@½3ð yA}zgàò‚ú|A½3ð yA}îÀ/äõYÀ;änòj™ -ü‹¨„‡‡‡‡‡GHHK£5!/^Ðh4Ê¿¿õ=µz˜b¢kÒסoDvDziú´îÓè?ÆœŠœcÑÇzÙ÷jò, G¨'Ò›î3ý@Äí¶WÔV,ì½Pùà=-<ƒç+ïc®g®¼ƒJLôž¸óñÎvtHá3Ê2~{ø!¤¯C_oäµÊL0É&ª…Ü¡V¹ƒI¦ ŽE;îøyâÏÔ!Q\'Þzo+!ÄÞØ¾h¹CÝrǸ.ãBbB¶ÞÛÚ¯s?GSGBÈž'{ Ü:¹Q½¾}› £º¾zÉÉ%ÎfÎ7j¶qÍ!w¨Uî°1²éi×327ò§»?­ô_) ÄßÝüŽ2±ëDæ}T ¹ƒËܱûñîY~³¨—P\]üÙ…Ï Å…ƒœu³îFuà4ÀÒÀòú‹ë×’¯òE½Ìõ××\¢ö!_p™/^V½¼z{†ï êcBaÂG§?"„,î³XK¨EõI)N™l¾¤A4;¨Õ3ÕBŽà,GØÛBNÄœÓe u>&•ID(ZZS‡&}؃¼ÀY^hu~ÁPÛ°ùÈêK«³Ê³öÎÜ«£©£A4” -¸Ì vFvññ[ïný×QU©99"BL¨>­ÎG°yûy‡„‚„ØüØN›¯:Ðé¸\N¼¼åΖþ+„¡T&Ýþp{^ež§…'}jÀäî×5‰‘Ž7 IDAT?S/­Ÿæ3­ù 2˜ÔS°y˼À¤ÞI¦` ògyI@Í5ð y³¼Àd­j«GÈ \æ…½a{: ¤ïhY.)ß|{s^ež³™³¥%ÕˆjàògyáyÁóè¼è)ݦÐç!3~ë{BH¿Îý¨ÔJ¿¸É ס&x„¼ÀY^`R׌ÚgàògyÉÜjœ_È œÍ/\H¸`¨mø–ó[ô2¤„‚„]w…¯·G½3ðyËù…=Oö qB¯"Ée¾øójÒUòŸ¯¬#¨w^!/p–˜Ì Þø…¼ÀY^hµ6õÎÀ/ä.ó“,€zgàò‚ZÝgõÎÀ/äµúÔ;ÔíþH¾ëøÐØPBÈJÿ•­¾í“ˆ·Rníy²‡R*)%„œ{~.*7Š2ÊsuMäjòÕýáûA^eÞ¼£ó·ß{>ujâcãÓd·×“¯B<,<èblÕ:~`÷ãÝfzf&õõ/Š_4Êý]ü©GÍuEº¡±¡q/ãLtL!Gæ p ÏŸt`u9#½4]W¤kglW]_­ü¹ZÜÛ»ýÞ ýóÅŸ·t1w)­)Í«ÌëjÕõyÁszÃwû½{ýÅõ#QGNÄœp2s2Ô6,åWåKeÒ}3÷5"†#î6ÜÁÄaç£B á;=ßiõ½j{¹Âއ;î§ß'„d”eB6ßÚ¼óÑNBÈÇo}LíüÇ»?†g‡h\L¸x1á¢â¶›Æn¢V?ë/¼|ó­ÍïŸ|ß½“»¦†fbQ¢\.ÿçÀZZ·q„ÍUÖUn¾µù‡Û?XZ[ZUÔV¤•¤Bè |ÞVÞ„µWÖGëhêtµêºvÄÚ·\ߺ•rkðoƒ=,<ªêª2J3¼­½™<]‹{[á¿â½“ïý|÷çƒíŒí²Ê³ªêª<-<“Š’è ¿ùõ¬Ã³Ö^Y»éæ¦Î¦µ4´r+s‹«‹ !Ë-£& h"¡ˆáç÷š´óÑNs—!ÎC”ÞPÛ°íÿ^tú£ÒšRBHNE!dáñ…" „ìš¾‹®©nµ{'÷¹=æŽ<<ö±®\DZ’Ú(kìi×s¤ÇÈ6Ž 9äµÊLú0É&ª…Ü¡V¹ƒI¦˜í7ûHÔ‘{é÷ý6ÈÅÌE¨!L-I•4H„áüÞóÛ8B€æ;Ô-w v<ÌmØ­”[£÷ŒîjÕµ´¦4§"GC ñeÀ—ÔÌôÌš £²¶’¢¯¥Ë˜ÀäuË«†¯šìA^à,/´:¿ ©¡Ùü D_[ŸÒÇ¡UúÀä.ó¢>‹V^Xùû£ßFu4u”4HRKR¥2©•ÕÏ1TŸVç#؃¼Àå¼åxÌqBÈôîÓ[|t¥ÿÊûé÷w?Þ}òÙI‡ÜŠÜâêb@ðÙÐÏTòìJ /p9¿@9sBC 1µÛÔæ1©§` ò—yI½“LÀä.óB«Y5×À/äÎò“µF¨­!/p™.%\Úts“‰®‰½±}]c]VyV]c†@cÍð5tÔP8Ë ÅÕÅ_]ýêß×ÿmglg¢c’_•_(.$„ô´ë9¶ËXªj¥_È Üä†kP ú™…E^e^xvxXvXem¥¯­ï×#¿Öéf•gÅäÅ‚Íc7÷wìÏäéšïM¨!Ü3}Ï0·a²Æä¢äÔ’ÔŽ¿‰òmà·kÖXXf—gGåF¥–¤Êä²±]ÆŽï:¾ù³0!5U`i`9¦ Šª‹Â²Ã²ÃRŠS!ù•ùÔ¯¥T‡ºÆ:Bˆ\.§ÞÅÿò+ó9asRé_?PB!‘ÉlìyÕðU¥5¥1y1 … IÞ“~ÿõ¨Ž¦Îšák´5µ“‹’©+!dQßE³|gɉ<¡0!¡0ÁÖØvßÌ}¦º¦­>W‹{³2°:øöA÷Nî5 5q/ã Å…‹ú,š×ó ê‰ôŽÎ9:·ç\‘P”Rœ••S‘c¨m¸°÷Â/J2¡†@c~¯ù„‘î#mŒlþÖû÷zRKR©NÝg!©(‰ú•ZïH©m¨%„ˆëÄMŽaÙa5 5ô~Þë÷ÞJÿ•úZú/Š_$&h µ?ðÁÇC>fcÌR©@(dcÇ zB¡œÓ 3—%ý—˜é™åUæEåF¥•¤™êš.¼ì}ÿAuèmß{Z÷i²Ægùϲè+ 7ôqè#iÄ䍕¤ v¼mÒ6&O×âÞ†ºýqü&º&%5%ÏòŸÉä²ïÇ}ßäÏßÃÂãÔüSC]‡J$  1ù1ÅÕÅN¦NŸý\$5"†#t0qæ:Œ2¿×|€•ãpQ¹QÔ_½¤AB¡Oe¯ÕgÝÈuï÷_KS+¹(9©(IN䓼'í¹WC âH+• ÁEû€Üñ†ä&}8Î&ÈírÇ’;ƒLábîrðíƒÝ¬»Õ5Ö%&ĽŒ“4HÜ:¹í¹—^ì¢BÈírÇ›“;¶NÜ:¹Ûd9‘?Ë–S‘ca`±uÒÖV×~±¹£AîxsrGO»ž;§í´5²}Yõ2&?¦AÚ0ÚsôÎi;cLú¨ rG;‚ÜÑ1rÇÒKuŒ“‹’ã âåry g`ȼ[#[Å>cºŒùqÂ99±ù±ÕõÕ=íz{”í[ÈíòEȶF¶s{Ìm”5ÆæÇ¦•¤éké¿×ï½ÝÓw+ŸP y•yM.EFdG°:6äˆv9¢ä‘Ptð탣y¡A^èyRÛX{îù9CmÃQž£ZìàhêxèíC^–^Ô9[qu±½±ýŽ);†ºeu`È íòBÈ ”¨Ü¨ä¢äN[|F†õl@^hG:@^ êf •C^hG:F^à+ 0¼ÐŽ /tŒ¼Àd­—µÕŠÚä…Þð~/û^å’ò¸—q/Š_Ô5Öu³î¶ÖþanûqVC­y¡A^èyÁÛÚ{AïúZú™e™1ù1…âB}-ý½쟵_¨ñ×?Ì<ÞÇ y¡A^èy¡U<®YB^hG:@^PgÈ íòBÈ qYã¬y¡A^èya¢÷Ä1]ÆPǽ˜ü˜¼Ê<}-ý·{¼<'X[S›î†zghòBÈ K,ímß»LR›__.)·6´þ|èçÿøtÔ;C«:@^`2w€zg`y¡äk˜@^hG:@^`˜Pï Ê!/t€¼@˜ÝgõÎÐ*ä…ˆê¾?Ž È íòBÈ |Õ23¼ÐŽ /tŒ¼ ÎÚä…Ž‘øªefy¡Èå¯qŸ1c!$$$„µñ€ZÛ¶m;v,ßUúè£ Úþ÷[PP ‹•txøPwþ|ÛˆˆtYŸ«E5 5™e™r¹ÜÆÈ¦ù¿ÍR¹4¥8¥²¶R&—yYzéB$ ’ôÒt¸ur EYåYù•ù>6>º"]™\žnªkêaáÑü¹ZÜ!¤@\W‘gehekd[×Xmehådꤸ­\.Ï,Ï,­)5Ó3³3²S¼žn màeéE·(!ÝçyÁó‰û'~<äã}ÔÖ7‘Bqazizóvú•W§–¤¶¸­£©ã«–Ag–e¾¬zéiái¢k¢ºÁþ%8ØèçŸÍ""2T¾gP¹uë,23Eæ±´ÿÒšÒìòl=-=;c;=‘^“GkjR‹S%¹\Þ¯s?ª±\RžY–i¤cälæL‰{W×X×˾õPRQÒ«>Ø-î’Z’*®;š8šèš‰‹ÒJÓÜ;¹›é™)nÛ mH-I•4H¬ ­­ ­èÛ‘T×WǽŒ³3¶³7¶§;+!m_ø¾76{´CŸ¿û潆ԒÔâêâæíô+M+I+ª.jqÛî6Ý›ü¯©ýÿöî=>ªúNüÿÉ$†‹TnQP‘¥Pñ†>Xm­Z).ßV­µhúhµlQkµÛRé~j­ku»nÝ­rñ^­ÕjEÐ/ò/m]•›ÜˆáN’ßóøæ;¿ —Ir&Ãçäùü‹œùœsÞ2“yMr`ÏŽ6~T[[Û»¢wÿµ¸|ãG}ôîÛoßûTT¬¼ñÆÏF®ÊÅÁëêêV¾z]õºNí:uëÐ-ýÿ0KÙ¸mãòMËwÕì*/-¯ÿ–½ºjõÚêµG•Õ¥¬KMmÍ• ;ÒùØŠc£(Z±yŪªU ¿°÷s´=µ{þ¶þouuu}*ú”—¦P§t?%c˜Ïw~¾lÓ²ÚºÚ?‡¬®Z½|óòô×'ûŸ°Þ˜YcÞ\ñæ¼qór÷@K·øÓÅ»jv5Üž~O³Y“²}÷ö6~TSWsLçc-94oÞ\4p`åþçªÓOßž‹ã#Ý‘’øîÈfMÓÚ¤ÉtG@tGJ⻣^6M±¾zý§UŸ¦žÞsw ·îˆîHi Ý‘²yûæe›—•—ö9¬Oý?¹W5u5 W,lß¶}ÿ#úÇ<®îŠîHi Ý‘RWW—z}Õ½C÷Šö{=Z6kšOwDw¤„ÞQÕÔÖ,Ý´tÛ®m½:õJñÓpYêÒ­C·®e][`0}}‘z_Dÿ÷†Â¨°wEï¶Em3n}{õÛ© º2 ì>0wS鈀舔Ð;"¥zgõÒMKwîÙÙ©]§ÊΕ{ý?f²Y/½½’€^ˆùó…wW¿»m÷¶ÝîÿMÈæÓ Ñ ) è…ººº[V¬¯^ߦ¨M¯N½:”vØë²ì ½½’€^H½’)/)?¡ë û_¹bóŠõ[×w,íxtç£[à_¦Ð Ñ ) è…Ô+™îºwëЭ᭺ž"^z! z!%½eq½C–M#½½’€^HɾrzÍu:½½’€^ˆ²û]£–¹¶:^ˆ^HI@/|¾óóå›—ï©ÙÓ£cŒ§»t-p u:½½’€^¨©­YUµjýÖõ‡–zÌaÇüÿ~’ØÂ×J§Ó Ñ )Éè…zûù]£–¹&:^ˆ^HI@/ÔËæºæœ^ûœN/D/¤$ Òíçg-ss:½½’€^ØU³kÅæ[vléPÚ¡²seÆõ\ïÌ~è…”ôBõÎêå›—ïªÙuxûÃþŽ¢ë9 ½t/4êg®wf?ôBJндk\ïLCz!%è^hT ¸Þ™}Ñ )A÷BÔ˜g5r½3û¦R‚î…(îÿ?.^z! z!%è^Hiùk™³¡¢RBï… -v-s6ôB@ôBJè½Òò×2gC/$ÊÊʺvmÄo ÔÕÕe¿zäÈ‘QÍœ9³Ñs”‚‚‚éÓ§_xá…ù„87®¬¬¬ùßµk×VWWïgÁŠmÎ=·ç¬YŸ°—ŸÑ45µ5W?zõÿYþæÞ0·e~Ï8D?ùIÅ¢E¥³g¯Ì÷ Øý÷wüÏÿìðÚkËò=H¢lغá+~¥¼´üOcþ”ïY^gœÑëê«·|ûÛ›ó=vÙeÝÜ~ë­ó=H¢¼±ìoüþ£¾8êÎ/Ý™ïYR‹•~íkÝ^yeY÷î{ò=  ;rAwdCwDwä‚îȆîˆîÈÝq@º# º#tG6tG@tG.èŽtú" ú"ôE=‘ :"^ˆ^ȽN/D/ä‚^¨§¢rA/¤Ó Ñ ¹ Òé…€è…\Ð õôB@ôB.è…tz! z!ôB:½½ z¡ž^ˆ^ȽN/D/ä‚^H§¢rA/ÔÓ Ñ ¹ Òé…€è…\Ð éôB@ôB.è…zz! z!ôB:½½ z!^ˆ^ȽPO/D/ä‚^H§¢rA/¤Ó Ñ ¹ êé…€è…\Ð éôB@ôB.è…tzá QVVÖµk#¾=çn uêÞ}w‡µ‹—ŠX¼¿îý;þtÇŠ-+VW­þrß/+ýxë­’NØ™ï)ÈJÿþ;׬)^³¦øˆ#¼µƒÙïΞùöÌ¿oø{ÕŽªïžõÝ|sðZ³¦xíÚâ~ý½sÏž»Ï9gk¾![º#Fº#º#Dº#Fº#º#8º#^º#º#8º#Fº#º#Dº#Fº#¾޾ˆ—¾H§#‚£#b¤#Òé…é…é…tz!8z!^z!^Ž^ˆ‘^H§B¤b¤Òé…àè…xé…tz!8z!Fz!^‘^ˆ‘^H§‚£â¥Òé…àè…é…tz!Dz!Fz!^Ž^ˆ—^H§‚£b¤Òé…é…é…tz!8z!^z!^Ž^ˆ‘^H§B¤b¤Òé…àè…xé…tz!8z!Fz!^‘^ˆ‘^H§‚£â¥Òé…àè…é…tz!Dz!Fz!^Zk†!C†Lž<¹²²2߃@¢E·Ü²ñé§ËÞ|³]¾g¡U˜>½sAAtýõ›ò=pâ‰;/¹äóŸþô°; ò= É·kWÁÏ~ØW¿úù‰'îÌ÷,4ÂØ±›Š‹£3¼­IKX´¨ôé§Ën½ucQQ¾G!kºƒ¦;B¤;hIº#Pºƒ–¤;B¤;haº#Dºƒ\ÐÒ䂎‘Ž GôBˆô¹ ¥È½"½@Žè…érA/J/ z!DzÑ !Ò ä‚^”^ ôBˆô9¢B¤È½(½@.è…érD/„H/ z!Pz\Ð !Ò äˆ^‘^ ôB ô¹ B¤È½"½@.è…@érA/„H/#z!Dz\Ð ¡+šùä“Onß¾½wïÞûŸç€w<ýÈ………³fÍzöÙg?þøã^½z•––îkÔ)S¦|ùË_>öØcx§Èþð‡¶mÛîçñ›¥­[·îÚµë€ËŽ9f÷âÅ¥Ï=×~Ĉϋ‹›yNØŸ÷Þ+¹õÖÃô£'´#ß³Ð8'´óþû;îÙSpúéÛó= 7}zçyóÚÝÿÚöíkó= жm]yyíÝww:ï¼m]ºÔä{’lç΂±cèÛw×÷¿ÿY¾g¡qt-Fw„KwÐbtG t-Fw„KwÐbtG¸t±ÓÒÄNG„KG;½.½@ìôB ô±Ó áÒ ÄN/„K/;½(½@ìôB¸ô±Ó áÒ ÄN/J/;½.½@ìôB¸ô±Ó Ò ÄN/„K/;½.½@ìôB ô±Ó áÒ ÄN/„K/;½(½@ìôB¸ô±Ó áÒ ÄN/J/;½.½@ìôB¸ô±Ó ›¶mÛ–••e¿¾0Æs?ôÐC½zõ5jÔĉoºé¦sÎ9çì³ÏÞ°aCE‡~øÚµkÇ?cÆŒúõ7ÜpÃ~ô£Î;ï÷”|°gÏž#FŒøçþçqãÆ 2䬳Ϊ­­¢hΜ9S¦LÙ¶m[ú<©;v숢èá‡~ùå—£(ú÷ÿ÷)S¦L™2å·¿ýmEóçÏŸ2eÊÒ¥Kë÷ºå–[z÷î}íµ×Þzë­ßùÎwúõë÷ío{÷îÝ©[_|ñÅ)S¦,X°`À€#G޼ù曯¹æšãŽ;îí·ßÞÏg¦¶¶v̘1§œrÊ7ÞxÓM7 øàƒ(ŠÚ¶m;sæÌòòò‘#G¾ð ãÇ?ñÄï»ï¾,w¿õÖ[£(º÷Þ{,Xpï½÷NŸ>}Þ¼ysçÎ-**Êf¼+¯¼ò¼ó΋¢èšk®™ùäã?¾nݺ†+»wïþþûï?ðÀ“'O¾à‚ ²œ'Gyä’%Kî¿ÿþ{î¹çí·ß>|ø† ~ûÛß6ê ÐXC†lŸ2eÃŒþå_«©É÷4$˺uÅ£Gõé§Å<°º¼¼6ßãÐt·ÞºáÔS·_yåQùË!ùž…¤ùË_¹òÊ£N=uû­·nÈ÷,4]yyí¬þôÓâÑ£Z·®8ßã(55Ñ¿üËa3ftš2eÃ!Ûó=M§;ÈÝ‘ºƒÜÑÉ ;ÈÝ‘ºƒÜщ¡;h>}‘ ú‚æÓ‰¡#h>½zæÓ É h>½zæÓ ‰¡h>½ zæÓ ‰¡h>½zæÓ É h>½zæÓ ‰¡h>½ zæÓ ‰¡h>½zæÓ É h>½zæÓ ‰¡h>½ zæÓ ‰¡h>½zæÓ É h>½zæÓ ‰¡h>½…±eõêÕK–,9òÈ#Ÿ{î¹;ï¼óŽ;î¸ýöÛï¸ãŽÂÂÂ(Š.\˜ZÖ³gÏÿú¯ÿZµjÕ\PRR2{öìvíÚe³ûÊ•+?üðÃAƒ;6ý¼gžyfAAA,w!Š¢åË—¯\¹òŒ3θì²Ëê7žzê©#GŽÜ¾}û¢E‹ê7þð‡?LMEQÛ¶m‡ VWW·zõê½vÙ²e«V­6lØÐ¡Cë7~õ«_4hPÃÅ&L8ôÐC;O6~øÃ–——§þ\\\|ûí·GQ4oÞ¼Fš`Ô¨ªý×µ<Òá;ß9¢º:žçxï½’áûmÛV8kÖ§={îÎ÷84KQQtß}k.¸`ë˜1GþÇt¨«Ë÷@$B]]ôÿÑa̘#/¸`ë}÷­)*Ê÷@4OÏž»gÍútÛ¶Âáû½÷^I¾Ç!!ª« ¿ó#y¤Ã¿þëÚQ£ªò=Í¥;ÈÝ‘$ºƒ\Ð £;ÈÝ‘0ºƒ\ÐI¢;h}‘0ú‚æÐ £#h½$zæÐ £h½0zæÐ I¢h½0zæÐ £h½$zæÐ £h½0zæÐ I¢h½0zæÐ £h½$zæÐ £h½0zæÐ I¢h½0zæÐ £h½$zæÐ £h½0zæÐ I¢h½0ñ¼ X¿~}E}ôÑm·ÝvÛm·ýøÇ?ž4iÒ¤I“fÍšEÑ–-[êWžuÖY½zõŠ¢èÒK/íÓ§O–»oܸ1Š¢ã?>–i÷eÓ¦MQsÌ1Û{÷îEÑgŸ}V¿¥Gé ÊÊÊ¢(Ú½{ïßS‡­¬¬ÌØÞpKEÇ{læÉÆÑGÝðÃÔ) ×.¾¸úw¿[õÎ;¥çŸßsΜC½ò 9¶l)¼ãŽŠáûõé³{æÌ•Ê$Ú´©›:uÝ÷¿¿ñ'?©=ú¨÷ß÷&Íòþû%£Gõ“ŸT|ÿû§N]צoþøãŒí}ôQE;wnÔÑ2»téÒŒí ·DQT\üÿþF²™'û;þÉ'Ÿœ~úééÖŸZÀI'íxþùåÿûw¾ùæ.<Òá[ßÚüÿ¸Õweýú¢Ù³Ëz¨CAAtçFŒ¨*ôW²\ýæ3ÏÜ~ûí—^ÚýÒK?ÿú×·|á ;ó=y÷Ý’ßý®ÃOúÅ/î˜3geÿþ¾„¥¼¼ö¡‡VÍž]>mZç§Ÿ.»æš-#FT~xM¾ç"$»wüéOí|°ã_ÿZrÅ[¾ÿýÏ:v¬Í÷PÄIwÐ|º#ñtͧ;’MwÐ|º#ñtͧ;Ow=}‘lú‚ìéˆÄÓdO/$ž^ {z!ÙôÙÓ ‰§Èž^H<½@öôB²é²§O/=½xzìé…dÓ dO/$ž^ {z!ñôÙÓ É¦Èž^H<½@öôBâé²§’M/=½xzìé…ÄÓ dO/$›^ {z!ñôÙÓ ‰§Èž^H6½@öôBâé²§O/=½Tuux0räÈ(ŠfΜÙð¦ãŽ;nÆ ¯¾újÿþýë7ÖÕÕ½ð Æ +**Š¢è3fÌ7¿ùÍ»îºëä“O®ªªZ´hÑÑGÍîÇw܇~xÿý÷3¦~Á¼yó† RPPpçwÞvÛm¿üå/o¸á†ÔMúÓŸ¾ô¥/ÕÖÖnÚ´©cÇŽQM›6m„ O>ùä%—\R„ÔÆ—_~yèСQõèÑcåÊ•ék.\xÆg­_¿¾}ûö'Nœ:uêâÅ‹ PÔÆwß}7}øtݺu[³fÍË/¿|öÙg§¶<óÌ3_|qEëׯ¯¨¨¨?HÆ‘8O6wh{÷Ý_~¹}iiíé§oï×oç‘GÖ”•iNö®¦&Ú²¥héÒâÅ‹Kßy§´¼¼vÔ¨ªë¯ßt衾f«®.zê©CýëŽ~ض{÷=§¶ýøãwuêTSRâm önÇŽ‚M›Šþþ÷¶o¼ÑnåÊâãŽÛuÝu›/¹äó‚‚|OFÎ|þyá¯ÝéÑGË«ª OúÃ?|ê©§***Ö­[·aÆÃ;l_G>à<ÙÜñÔ‘?üð¶mÛ^tÑE%%%/½ôÒ{ï½WQQñÁ¤ÎžùeQP0}úô /¼0û¯ ~ãÆ+++Ûëã·QÖ®][]]Ý̃¬YSüÒKí_½Ý´Ý°¡¨ºº°™$© £òòÚ=vÿÃ?ì<ûìm眳Í+ÔÖãí·Kþüçöo½Uúá‡m·l)ܹÓ+Pö®¤¤®C‡ÚcÝ5`ÀŽóÎÛúÅ/îÌ÷D´; ^}õ¹sùë_KV¬(þü󢚚|ÏÄÁª}ûÚŠŠšNØuúéÛ‡ ÛÚµëž|OD ÑdIw´fºƒ,éŽVKw=ÝÑj鲤;Z3ÝA}Ñjé Ò­–Ž ƒ^hÍôôB«¥hH/´Zz z¡5Ó dÐ ­–^ !½Ðjé2è…ÖL/A/´Zz†ôB«¥È Z3½@½ÐjéÒ ­–^ ƒ^hÍôôB«¥hH/´Zz z¡5Ó dÐ ­–^ !½Ðjé2è…ÖL/A/´Zz†ôB«¥È Z3½@½¢²²²®]»f¿¾ ®®Ïò#GŽŒ¢hæÌ™{½õ¿ÿû¿Ç¿qãÆú-………\pÁSO=U]]}òÉ'öÙg .ìÓ§OêÖ_ýêW7Üp÷¿ýíû·ÛÿîÅÅÅQýú׿ž0aBuuuý‚³Î:ë•W^),,Œ¢è{ßûÞ=÷ÜSÓm·ÝöñÇ?òÈ#›6mêØ±cE;vì8å”S–,Y’ZpÎ9ç¼òÊ+Ó¦M›0aÂË/¿õÔSëo½û¸âйsçŸwÞy_üâç̙ӧOŸÒÒÒÔ‚ÒÒÒ7ß|óÙgŸýŸÿùŸ;wVVVFQ4dÈI“&¥þœòÓŸþôºë®{ñÅ×®]Û¹sçsÏ=·oß¾õ·6¬´´ôˆ#ŽH¿ã©]ºtÙ×g¦¨¨èÁ;vì_þò—(ŠÎ<óÌÁƒüñõãíõÈœ'›;žrÜqÇ-Y²ä©§žZ¶lY·nÝ.¹ä’Ž;îk` µ)¨««Ë~õÈ‘#£(š9sfÎæI¬7ß|sРAõþò—¿?~üe—]6gΜ\ŸzâĉS§N]¼xñ€²Ü¥  `úôé^xaN£…7®¬¬¬ùßµk×VWWÇ2¹SVVÖµk×ì×çnÒwÞy_øÂN:é¤6mÚ,\¸pÞ¼yQ}ï{ßË÷\QEÅù µûìüNRœïZ‹—^ziáÂ…o½õÖúõë:ê¨óÏ?ÿÈ#l™S6¬´´ôˆ#Žh™Ó!*Î÷­ÈÀØòç6lذaÃZþ¼@@ ó=ùW˜ïÈ¿Â|@þç{ 0%%%ù€+))iÔúâÍ$UÇŽó=ñ+nì+W®|ì±Çr1 •Å‹ç{b¶fÍš>}úä{ RuuuÙ¯9rä¬Y³r7 S—_~ùÌ™3ó=£‚ººº|Ï@žæ{ò¯0ß…ù€ü+Ì÷ä_a¾ ÿ ó=ùW˜ïÈ¿Â|@þæ{ò¯0ß…ù€üûÿ¿ß%£N¥IEND®B`‚fio-3.39/examples/aio-read.fio000066400000000000000000000003151476262051600162330ustar00rootroot00000000000000; Read 4 files with aio at different depths [global] ioengine=libaio buffered=0 rw=randread bs=128k size=512m directory=/data1 [file1] iodepth=4 [file2] iodepth=32 [file3] iodepth=8 [file4] iodepth=16 fio-3.39/examples/aio-read.png000066400000000000000000002260231476262051600162500ustar00rootroot00000000000000‰PNG  IHDR` 1” bKGDÿÿÿ ½§“ IDATxœìÝwXS×ÿðwØ{ ¨ˆXÅ:U¡*¶¿ºª[­Õº÷j]P­Uk­Ö:ëžµuô‹³h ŠÖ‰bÄ=@Ad#{ç÷GÊ•@À€Dx¿žÇÇäææœÏ ‡ËÍùÜ{ŽH,‹ADDDDDDDDDDDDDDoLMÙÕLÀ)°DDDDDDDDDDDDDD Â,‘‚0KDDDDDDDDDDDDD¤ LÀ)°DDDDDDDDDDDDDD Â,‘‚0KDDDDDDDDDDDDD¤ Ê€ˆˆˆˆˆˆªOTTFŒ!<ß½{7š4i¢Äˆ”ïåË—0`€ð|íÚµhÛ¶­\ï}úô)¶nÝŠ;wî 33b±]ºt™™Nž< hß¾=~þùçj‰ˆˆˆˆˆˆT°DDDDDDµXVVΟ?/<ÏÌÌTb4ª!??_ê3IMM•ë}111pvv.³¿¬­­…254øU›ˆˆˆˆˆ¨.ã·B"""""""9üòË/BòÕÊÊ ›7o†©©)ÌÍͱnÝ:%GGDDDDDDª‚ X"""""¢ZÌÖÖÿüóð¼®O?ü&>|(<îÑ£(<Ÿ3g†055­ñ؈ˆˆˆˆˆHu0KDDDDDô–ÈËËCïÞ½¥¶ijjÂÄÄ­ZµÂgŸ}GGG©×ñÝwß ÏK¯›””„ýû÷#((ñññÐÖÖ†½½=úôéƒ^½zA$ÉŸ¬õf³³³±yóf<|øýû÷ÇÔ©SH¦ý=pà®\¹‚¸¸8hkk£E‹:t(Ú´ióÆí.váÂüú믈‰‰&Mš„† ÊÝ&8{ö,–,Y‚[·nImsww—¹¿¬5`ù9‘j‰Åb±²ƒ """""¢×ËÉÉ®®n¹¯khh`Æ ˜8q¢°íÁƒprržß¾}-[¶9r£FBZZšÌòzôèC‡É}GgéºÖ®] ///dggf̘µk×âĉ1bRRRd–3wî\¬X±Bx^•vÀ?þ///©mZZZØ´iÆŽ+lûçŸÊM¦ÀÁƒ1tèÐr_/­gÏžž+ús&""""""ÕÆ,Ñ[¢¨¨.\ž‹Åb¤¦¦â¯¿þÂŽ;H’‘ááá°µµP~688;wF~~>à£>ÂØ±c‹… "99ðÁÀÏÏO®øJ×¥­­‘#G¢OŸ>022‚ 233ѱcGäå冎!C† && .Dbb"`Æ ÂݲUiw`` ºvíŠâ¯¼ýû÷ǨQ£¥K— í^Ÿ€Ç½{÷0wî\üûï¿Âç2þ|aŸŸ~ú ýõélu|ÎDDDDDD¤Ú81Ñ[BMMMf¢pàÀ ÂíÛ·QPP___L™2¥Â²~úé'!)ظqc?~’¯ˆ–––ðôôøûû#88ÎÎΘ;w.®]»V¦,Ô«W¯ÌöÑ£GcÓ¦MRÛ† &$_ßÿ}üöÛoÂkÚÚÚ=z4`Ù²e˜2e D"Q•Ú½yóf!ùÚ¸qc9rêêê$ÉÚiÓ¦Uøù”dii KKK˜™™ Û¬­­¥búý÷ße¾·*Ÿ3½Ý˜€%"""""z‹ÄÄÄààÁƒ E||>ðøñc©×ž}„ǧOŸF`` ÉtÉ?þøc¹ñ]¿~çÏŸÇùóçñäɹÛUžª|ÎDDDDDDôvc–ˆˆˆˆˆè-ááá!<þ駟жm[´nÝŸ|ò 5jT©²¦NŠ÷Þ{€$èîmÛÂÖÖûöíˆD"lÚ´ ÆÆÆ kÃÔ©SáææHJJ‚³³3œœœÐ¹sg4jÔ&&&:t(„÷T¥Ý“'O†½½½Ð>777´k×¶¶¶HOOWX{^GYŸ3)°DDDDDDo‰µk×ÂÓÓ"‘b±¡¡¡ÈË˃ŸŸ¬­­+U–ŽŽàíí sss 44ÏŸ?‡H$B—.]pæÌ 6L¡mÐÖÖÆ©S§°dÉ4hÐðàÁ!::†††>|8æÌ™óFí644ÄÙ³gáîîBûÜÝÝñûï¿+´MQÖçLDDDDDDÊ#‹ÅbeADDDDDDDDDDDDDTðX""""""""""""""a–ˆˆˆˆˆˆˆˆˆˆˆˆˆHA˜€%"""""""""""""R&`‰ˆˆˆˆˆˆˆˆˆˆˆˆˆ„ X""""""""""""""a–ˆˆˆˆˆˆˆˆˆˆˆˆˆHA˜€%"""""""""""""R&`‰ˆˆˆˆˆˆˆˆˆˆˆˆˆ„ X""""""""""""""a–ˆˆˆˆˆˆˆˆˆˆˆˆˆHA˜€%"""""""""""""R&`‰ˆˆˆˆˆˆˆˆˆˆˆˆˆ„ X""""""""""""""a–ˆˆˆˆˆˆˆˆˆˆˆˆˆHA˜€%"""""""""""""R&`‰ˆˆˆˆˆˆˆˆˆˆˆˆˆ„ X""""""""""""""a–ˆˆˆˆˆˆˆˆˆˆˆˆˆHA˜€%"""""""""""""R&`‰ˆˆˆˆˆˆˆˆˆˆˆˆˆ„ X""""""""""""""ÑPvDDTV\\222”Qc``++«*¿ŸwÀ)°DDDDDDDDDDDDDD Â,‘‚0KDDDDDDDDDDDDD¤ LÀ)°DDDDDDDDDDDDDD Â,‘‚0KDDDDDDDDDDDDD¤ LÀ)ˆÆ›¼ÙÓÓ‡RT,DDo•O>ù>>>Ê£JÄb :ZÏži -Mb±²#"R}ý"XXÂÁ!ZZüe Ú#/O„ǵ”¤ŽÌL^wIu—H$†‘Q5*€M>D"eGD¤8©©jxüX iiêÈËc禺KKK #£B4mš“"e‡C¤0¿!z…ã7ô¶y£,tîܳfÍRD,DDo5kÖ(;„J+,ÎÓ‡¯¯.^ÔÃË—Œ'*I]]Œöísлw&L‡±1nèíóò¥Ž5Ä©Sú¸qC……Œ'*ÉØ¸ݺe¡ÿ ¸¹eB]]ÙUÞãÇZðñ1Ä?ÿèãéSMe‡C¤rš4ÉG™øä“t4mš§ìpˆ*ã7Dãø ½-DbqÕ¯›ñôô€·ö0"¢ªªîã_\\222VÞ™3úøásDEi¢S§lôì™…vírиq>Œ ¡ÆsyªÃ23Õðâ…:îÞÕÆ… z8}ZEE"Œ—ŠqãR «Ë«*Iõeg‹°}»)¶o7šš™èÞ= ï¾› këBèëó )Õ]EEÀ˗ꈌÔDHˆΜÑCP.lmóá턞=3•"‘\"#5ñÃæ8sFçãƒ2ѹs6š5˃©i!ï¡:-/O„”u<|¨…«Wuáï¯ÈHMôì™ oï$4nœ¯ì‰äÂñ¢òqü†j𬬬ªü~&`‰ˆªàmIÀFFjbÑ" \¾¬‡~ý20cF2¿x½Ff¦öï7ÂÆ¦02*‚‰èÝ›ƒó¤ºNÒÇ÷ß[ -M S¦¤`ذ4&\‰^#2RëÖ™Á××ï½—…Å‹yŽD*+7W„ ̰k—1ììò1o^ºwÏâtÚD‹ ô°b…9""41zôKL›– mmΓjâø Qåqü†ªÛ›&`yÍ Q-¨‹Aƒl”¤Žb°zuOމ䠯_„qãRW×lL™bU«Ì¸Ö©±XµÊ S¦XÃÕ5Q7.•ÉW"94nœÕ«ãpà@ ’’Ô1h u•QIIê>¼öï7‚—W|}£áæÆä+ÑëˆD€›[|}£áå•„ýû0|x$%qîyR=¿!ªŽßªc–ˆ¨úã#Œ]Ý»gáС¸¸ä(;$¢·Ž…E!~ü1+VÄcçNL›fœŽv’jÈÉaÚ4kìÜi‚+âñãñ°°(TvXDo—:ƒîݳ0zt}üñ‡‘²C"<~¬…Áƒmœ¬Ÿh|ñÅK¨«sD‘¨2ÔÕÅøâ‹—ðñ‰Fr²:¶ÁãÇZÊ‹HÀñ¢7ÇñRULÀÕ2¾¾X° &ONÅêÕqœb‰è ”޽{ŸãêU]Ìžm…"Þ\HJVTÌžm…«Wu±wïs ”®ìˆÞjÚÚb¬^‡É“S±`A=øú(;$"ÄÆj`äȰ¶.ÀáÃ1°·çPDoÂÞ>‡ÇÀÚº#G6@l¬†²C"âø ‘‚qü†T °$7‘H$ü›9s¦²ÃQ‰‰‰RŸÍ¹sç”Õa·okÃÛÛ£G§búôdNMF¤ :ä`Ë–Xœ=«‡5kÌ”Õq«W›! @¿üò:ð y"E‰€éÓ“1jT*æÏ·DHˆŽ²C¢:,;[„)S¬ahXˆmÛbabˆÁĤ;wÆÂÔ´ãÇ[#+‹Ã¢¤<¿!ª¿!UÂ3 "¢Z"5UãÆÕG—.Y˜7/IÙáÕ:..9øþûlÙb }e‡Cu”¿¿>¶n5Å?$ sçle‡CTëÌŸŸ„÷ÞˤIÖHMå:¤ÞÞ–ˆ‰ÑÀα02â­DФ¯_„­[c¯o¾©§ìp¨Žâø Qõâø © &`‰ˆj‰5kL¡¦¬^5݉ªÅ Aé<8Ë–Y ;›—(SÍÊÎaÙ2 œÎi‡‰ªIÉs©5kL•ÕAAAºðõ5ÀŠñ°±)Pv8Dµ’MV¬ˆ‡¯¯‚‚t•ÕA¿!ª~¿!UÀC<Q-ðø±4œ9I00àUòDÕiΜ$¤§«aûvÌSÍÚ¶Í/_ªá«¯x•ÃÖ­[‘•ÅÄLu80-[æbíZ®E5çÄ C„…iÂÛ›ÚT·””x{{ÃÕÕÍš5Žá§OŸ–:·¾~ýºðž3fÛ§NúFõ§¦¦âèÑ£˜:u*ÜÝÝÑ¢E ¼ûî»èÕ«-Z„èèè7m"ÉÁÛ;OŸjâÄ e‡BuÇoj޲Ço222pòäIÌœ9mÛ¶•*»°ßéjÇoHÙ4”Õ^ß|ó ~øá©myyy BPP|||àïï===€X,†§§'Ž?.ìÿðáCLš4 ¡¡¡ «§´íÛ·cýúõÂó'Ož`ݺuˆŽŽÆ¡C‡Þ(6¢šðâ…ÎÓÇÚµqñÂÝjuóæMLŸ>EEªq•ê¡C‡ ì0ê¤aÃÒðË/¦8vÌ#G¾Tv8T=j551† KSv(µÞ®]»°zõj¥Õ‰!C†”ÙžœœŒääd\¿~'NœÀ¡C‡ ­­­„ë‘3&³fYáÅ X[s*Xª~û÷ÁÃ#vve/V&Åš3gN™ »kºþþù§ÌöˆˆDDDàèѣػw/Ú¶m«„èê;»|xxdâÀ# ÀdU?ŽßÔU¿Y¶l|||”V?Ipü†”‰iªG’¢êêêØ±cÒÒÒpÿþ}á Ä¥K—¤îÔ:pà€T‚óûï¿GJJ ®_¿ŽS§N)¬žÒöï߀€¤¤¤`öìÙÂöÇ#&&Ffl+W®DJJ BBBpöìÙJ}6DŠ ]Ý"ôê•©ìPj½ãÇ 'ïM›6Å7†íÛ·×x,ÑÑÑXºti×KúúEððÈ„¿¿¾²C¡:âÔ)}xxdB__5.©ÍŽ=*<¾úê+œ?7oÞÄÊ•+¡©© ÈÊÊÂüùók,–ºìã3¬ƒÄDue‡BuÇojŽ*Œß¢OŸ>X³f ,XPcõ’4Žß21KÕ¢äÔ¼C‡Ř1c`hhˆæÍ›K% vïÞÜÜ\À¾}û„ííÚµÃ7ß|´o߾̮oROiÞÞÞèÙ³'LLL0}út©×?~\&6Ì™3&&&hÛ¶m¹±Õ”«Wuѹs645ÅÊ¥Ö+9Ø»ï¾ cccáùò到°0ìÝ»·Zã(**Âܹs‘™™‰úõë£E‹ÕZÉÖ­[‚ƒu—ÇK—©zåæŠ¬ƒîÝ9ílMxöì™ðØÅÅE €³gÏ Çú)S¦TKý5ž={лwoØØØ@KK ööö7nœÔ~ª2Cm¦©)F—.Ù¸rEWÙ¡P¤ 551ºtá±¾º•<Î@—.] ¦&³¶¶Žóaaa ™V^––-[⯿þÂäɓѰaC`РAøì³Ï„}ÂÂÂ8q puÍ‚ššAA<ÖSõãøMÍQ…ñooo¬[·ýúõƒ¡¡aµÕC¯ÇñRNALÕâÎ;Âãßÿ¿ÿþ»Ìý²²²†wß}Wj^ýÒ_rÊûÒS•zJëÔ©“ð¸äc@2W?©Øœ¥öi×®Ì:‰jʃZèߟÓ%U§'N`æÌ™RÛŽ;†cÇŽÉÜßÕÕUî“øÿý¿ýöBBB˜˜---888 ÿþøüóÏ¡¡QöOõ®]»píÚ5’Ù¶nÝZÉ‘"´l™‡‚ÂÃ5áä”§ìp¨ ×BAï¾Ë~V.\ˆHmóòò‚———ÌýgÍš%W¶¨¨ÇDZcÇpïÞ=¤¥¥ÁÐЭ[·ÆðáÃÑ£G ߟ——‡¨¨(ìØ±CØfgg‡®]»ÊÑ*zS-ZäÂ×—fTý<ÐÂ;ïäCW—ƒòÕ©wïÞxòä‰Ô¶÷ß¿Üý<(W6##¿ýöNŸ>'Ož ''õêÕC§N0nÜ84kÖLjÿ3fÈ,§yóæeʥꥫ+Æ;ïäãáC-ôé£ìh¨¶ãøMõSµñR ¿!eáQ”NÖŠâ«O«»022ªÖz‰ª[\œ:ê×çºdo£Ÿþ›7o–Ú–ŸŸÐÐP„††âï¿ÿÆîÝ»¡«ûêjìÇ k4nnnLÀ*Iñz€ <§j/™Çú·ONN&L˜€Ë—/KmOMMÅ… páÂŒ5 ß|óM™÷?~_ýµÔ6555Œ=“'O–úÛ@Õ§~ýBáw¨:%$hð8ÿ–ŠŒŒÄˆ#„%ŒŠÅÆÆâØ±c8yò$V¯^ÿû¿ÿ{mYOŸ>kii¡Q£F —ʲ¶.@B‡H©úqüæíU•ñR¿!ea¶‰ªEÉ;MÇŒ±X\î¿â;PK^éyóæM©ò®_¿®°zªÂÑÑQx,õZHHH•Ë%R„œ5èéñJùêÔ·o_„……¡[·n¶AƒIMOæééY©2O:%œ¼«««cùòå …¿¿?œœœHŽ}+V¬ÞSPP€¯¾ú yyy¨W¯žÌ{ª9zz’é?33y:EÕ+;[ÒÇtu9åluZºt) ¥¥%l[±b…Ô±ÞÖÖ¶ReþôÓOBòÕÒÒûöíÃíÛ·±wï^a²Ý»wÃÏÏO®òŠŠŠ°ÿ~T*ª:=½"deñ8OÕ/;[Äã| 8uê:$µíܹsÂq¾²ëkaêÔ©BòµC‡ð÷÷Ç­[·ðí·ß ÐÏž=±±±–õâÅ `Àèës½ºš §W„ÌLNKIÕã7ÕOUÆoHµpü†”…=ŽªÅĉ…Ç{öìÁÚµk‡œœ„‡‡ãï¿ÿÆÄ‰1bÄa¿aÆ ƒ‚‚°víZ¼|ù7nÜ€···Âꩊ’±]¿~?ýô^¾|‰›7o–QM‹¿+¾uöïß/<îÛ·/<==¡¯¯{{{Ìš5KxíðáÃÈË“\·víZÜ¿°dÉ’2Ó¦SÍ*þ½óû3U³â>ÆcýÛ%??>>>ÂóY³f¡S§NÐÕÕ…««+† "¼¶oß¾2ï0`Š uëÖ$KkÌ›7÷îÝ«þFD"ç©fðœþí*œŸ’ wìíí¡§§‡#F eË–€ÜÜ\>|¸Ür’““1nÜ8aæ.{{ûr§À'Å㱞j õo§ªŒßjáø ) °T%ëÖ­ƒH$*ó¯ø.ÖAƒaþüù€ÂÂBÌš5 ÖÖÖÐÕÕ…ƒƒ>úè#lݺñññB™Ÿ}ö  <Ÿ5kLLLàââ©úEÿ5«ROU 6 }ûöžÏ;&&&h×®Ýk×í""’¥äÚÒLJƒƒƒðoüøñÂkÙÙÙˆŒŒaÍ’>}ú”9.‘j‰‰‰AVV–ðÜËËKêX¿sçNáµ”[޾¾>:tè€-[¶çÀb±G­¾à‰ˆH.%Ïé GRÇú;ww¬þü9>ýôS!‘kkk‹_ýUj¹$""RžªŒßLÀR5Z¾|9.\¸€¡C‡ÂÎÎÚÚÚ044DóæÍÑ¿ìØ±¿ýö›°¿H$‚–,Y‚&Mš@KK ŽŽŽØ´i¦N*UvÉ»¾*[OUˆD">|ß}÷]™Ø–.]úFe½Nñ¾ø¿KõNž<)uÂíÚ5aß#GŽÀÁÁ .TJ¬DDTy%µå±´´„………ðüuSY‘j‘u¬Ç!C„µ_›6mŠƒÂÚÚº¦Ã#""缞ˆê®0OrWáýnݺI͹ÿ:šššX¸pa™ÄÁºuë„ÇÚÚÚRk²V¶žæÍ›—Ûƒr_ÓÒÒ¢E‹°hÑ¢2¯Uå³!¢ºÍÑÑQ¸;ßÓÓË—/WrDDD¤H 6„žžž0óóÏ?KÍöRY HLLž—LÆ‘r4mÚTêù… РA¹Þ{ëÖ-Œ=©©©€¶mÛbçÎ\f„ˆHÅpü†ˆªŠ XR)óæÍƒ®®.>þøc888 ==ÿý·TÒsäÈ‘ÐÓÓSb”DDonèС¸téÉ]«ŽŽŽèׯ ‡§OŸ" ÙÙÙXµjàòåË2Ë6l˜pì Aƒ°råÊši•KSSŸ|ò öîÝ @2k‹:vì555ÄÆÆâþýûðóóCÇŽ1räHÀœ9s`ii‰^½zÁÖÖzzzxðà–-[&uÑ_Ÿ>}”Ò.""z¥mÛ¶prr¦ž1c,X€fÍš!;;ÏŸ?Ç7ð]Ý8à IDAT÷ßÃËËKXÏûÊ•+˜0a‚p‘N·nݰiÓ&èêê*­-DD$[UÆoˆˆ&`IÅÄÅÅá×_ÅâÅ‹e¾îææ†Ÿþ¹†£""R¼>ø'NÄ–-[PXXˆeË–aÙ²eeö«Ì,DD¤ZæÌ™ƒ°°0"11&L¹_«V­„Çqqq8zô(¶nÝ*s_‘H„iÓ¦¡C‡Õ3ÉOMM 6lÀˆ#ðüùs„„„`ðàÁ2÷-**oذAjšÊ‹/Jý-(¶yófxxx(>p""’[UÇoV¯^M›6É,³Y³fÂcØÛÛ+6h"R LÀ’JYµjZ´hÇ#,, 077G»víðÙgŸáóÏ?‡š—.&¢ÚaöìÙpssÃþýû‚øøxhjjÂÚÚvvvèÕ«zöì©ì0‰ˆ¨Štuu±gÏøúúâØ±c¸wïRSSahhkkk´hѽ{÷F×®]…÷üüóÏ8qâ…„„hjj¢Aƒhß¾=>ýôS´iÓF‰­""¢’ìììð×_á÷ßG@@ÂÃÑ••sssÔ¯_...èÝ»7ÝDDo1ŽßQUˆÄo°x¥§§'ÀÇÇGa½ ªûø‡ŒŒ ¹öup°Çúõqøè#ùö'"ÅáïÕ„¿þ2ÀôéV Wv(Duÿ¨¦L›fذ!NÉ‘Õ=üý£šÂïDÊÃß?ª XYYUùý¼•ˆˆˆˆˆˆˆˆˆˆˆˆˆHA˜€%"""""""""""""R&`‰ˆˆˆˆˆˆˆˆˆˆˆˆˆ„ X""""""""""""""a–ˆˆˆˆˆˆˆˆˆˆˆˆˆHA˜€%"""""""""""""R&`‰ˆˆˆˆˆˆˆˆˆˆˆˆˆDãMÞüèÑ#<~ü5RTYÛ°~ý}$&æÖH D¤ú6mz€Ã‡£”†BÔ¦¶È"«}¥·aýúûÕ–€­íŸ1QmT›¾×¦¶ÈÂñ¢ÚçÖ€%"¢ºÉÊJÓ§;¡S' e‡òÆjS[äUÓm®‹Ÿ1QmàìlŽéÓа¡®²Cycµ©-òªé6×ÅϘ¨6˜<¹9,-µ•†BÔ¦¶È«¦Û\?c¢·]mú>^›Ú"/Žß½Ý˜€%"¢J³´ÔÁôéÍ•†BÔ¦¶È«¦Û\?c¢ÚÀÙÙ ÎÎfÊC!jS[äUÓm®‹Ÿ1Qm0i’£²CP˜ÚÔyÕt›ëâgLô¶«MßÇkS[äÅñ¢·°*&00§N—_~ ;;»J¿? —.]Âĉamm­ø‰S§€/¿ªÐG\ºLœ°¾µâãspð`:u²(sU\zz>.\ˆÃ³g™ÐÖÖ@Ë–ÆèÐAö•s……b\¹’€‡ÓPPP„&M àæfmmuaŸÈÈL?þ Ý»[¡m[S%âÖ­hk«¡{w+ØÙÈ,;66ÿüóééùhÚÔnnÖxô( §OÇâ£ÂÁÁ°Ü¶TµNyÚ£ *úù@Q‘ ¸w/úúšps³‚žÌ²ž>ÍÀ­[)ˆÍ†Ú¶5CË–&r×W™þBD5+88—.ÅcРF°±Ñ—z-&& HLÌ…±±&:u²€½½¡ÌrÒÒòqéR<ž=Ë„¦¦Zµ2E‡æRû\¾7’1t¨Œµpöì DD¤ÃÂB½zÕ‡‰‰–̲ïÞMŵkI‹Åpq1GëÖ¦8}:÷ï¿Ä¸qÐÕÕ(·-U­Sžö¨‚Š~~]€€€ˆ‰É„••.zö¬##M™e…„$ãáÃ4¤¤ä¡^=mtéR Jÿ]PT!¢šµyó#XZjcðàÆRÛ %烥¡°°ööFèÚµ^¹çµwî¤"$$°²Ò››Ì͵¥ÊÛ¸ñ!ÞyÇ}ûÚ <<—.Å#/¯íÚ™ÁÅEöq43³gÎÄâùólX[ëÂã> ÅØ³'­[›ÀÝýÕwÊÒm©jò´GU”÷ó+vÿþK\½š€¢"ÀÅÅmÚ˜ÊÜ/99×®%"**jpt4B—.õ ®.’«¾Êö"ª9¿áøM1ŽßÕ<&`UL`` /^ ww÷*'`W¬X?þ˜ XªÀâÅ€»{Õ°+VÌì[¬xMˆÒÓ’øùÅÀË+ééùRû·kg†;ÁÒRGØšŒ3þEtt–Ô¾õëëbóæÎÂI`ñÚººêزå!b…}ÕÕEX¾ÜƒÙJ•ñ¿ÿEâ»ïn"/¯H*†¾}m°~ý}8: 'ð²ÚR•:åmOE6lx±øµ»ôôÔ1vlSùv.¥¼ŸäæaäÈ˸r%Aئ¡!‚·w+Œa/lËÊ*ÄøñWpõjJëÞÝ 7vŠè/DTóŠ×ôìÔÉB*¡¶jÕ]lßþ……¯X"àéÙK–´ƒ†Æ«ÁZŸ,[vRewè`M›:ÁÔT’ä LÀÖ­ðî»&X¹òÂÃÓ…}ML´ðÛo]áäd,l+*cá›øã©r‡YY8r$ _|ñtuËoKeë¬L{Êóüy’í³ƒžž.\ˆCXX:/ÅÁƒÝ…ýöì ÇD@]]hÔHOž¤cß¾'03«ÜJòÖY•ö”öü¹d@C^}úØT9[‘E‹B¡©)i³¶¶:._ŽÐOŸöîþ}ú4‘‘xï=K¼óŽôõ5Ÿƒ‹ã±qãCtè`®]-Ë­§2ý…ˆTCvvÆŒ DLL4Ѓ››45Õpùr<ÂÃÓ1nÜüýwOXZê °PŒqã®àöíØØè£[7Kk!22±ðöƒƒÚ¶}u×åÍ›É8{öÜܬѴ©!âârð×_Ñøßÿ"Ñ·o#¸ºÖ ¹óuÂIòµItíj‰ÂB1.\ˆƒ—Wp¥Ú$oUi,GF!0°ì wyúôiXåly‚ƒ“ 77+4mj„ØØløûÇàøñg°³3À´i¯¦—¼x1––ºh×Î ê!7·H¸svîÜðñq+·žÊô"R¿áø Çoˆj°*ÆÕÕ®®®Êƒ¨|®®’D¥ìØñbŒåoïV‰×ܹïbР’Œ«WÐ¥K=lÛöiiùX¼¸ >ÿü©röì Ç÷ßߟ>ðaM„íùùEøûïžRS©ÌŸŒC‡"ñï¿IèÑCrõûîÝa(,cÆ '©…éÓ›cÀ€s•j“¼uV¥=²LÚ¼RWPV‡ììB?þ¾ÔÔ»v…á‡ncçÎ0áÞÀ@>>n04ÔÄIHJÊ…¦¦:>ü°¢£3qöì‹ Oà+Ó_ˆHußI³qc'ôîý*1š‚O?=={Â0eJ3èêªcÕª»ÐÕÕÀݤ®"‹©SƒàïÿááéRÇ[[}üúë{ÐÑ‘ãæÌy}úœÅIÈÈ(Bvìx 55öîí*uev@@,&N¼Z©6É[gUÚSZƒº˜>ÝIîØ*ÕyYZêààÁîBÛ Å˜>ýüýŸãðá(ŒãhÙÒ½ñâEî߉´´|ØØè£wïúØ·ï)Μ‰­0[™þBDªÁ×711Ypv6ï¿v~? Ę9ó_øùÅ`ÿþ§˜9Ó §N=ÇíÛ)è×Ï«V¹HÝUyûv >ùäþÕTÃ!!É$çÇÅÉWÂyþرWän“¼uV¥=² hûÚ}ª›A™)7Û´1…‡G}øù=ÇãÇihÞ\2ÍþÍ›)5ê2 dg’’rËMÀV¦¿‘êàø ÇoJâø Qõ©S Ø+VÀÙÙóæÍÄ×ÌÍÍqæÌ´iÓFØväÈìÛ·S§N•™€Ý·ofΜ)•€]±bZµj…Ù³g#""BØßÕÕ§OŸÆŸþ‰/¿ü¹¹¯j“&M¦M›„çå­ëíí•+W¢°°PØ&‰0fÌlÚ´ šššR1>~üü1"##…m8zô(ºví*lÛ¶mfΜ‰ììl©÷·nݧN‚••U…Ÿ+¨WO’püî;É7³iÓ^½6e °k°ukÅÉWàÕÚ¨ÎÎÀ¼y@‰> ssàÌ DÅ‘#À¾}’¤¯¬ì¾}ÀÌ™Ò Ø+€V­$Éà}®®ÀéÓ’¤ì—_%ú(&M’$˜‹•·¬·7°r%P¢B$ÆŒ‘¼¿TÅãÇ’u`KôQXXG%ú(¶m“´£TEëÖ’D0û¨ÊHKˇ¥¥ŽÔ v1[[ÉZp/_JÖŠHNÎCa¡ëÖ•? céu%ê××-³OñU„% ^¾ÌƒµµŽÔëÅJ¯÷:òÖY•öÈRSkˆT¤Q£²Ÿ‘šš êI 8mÞü~~103ÓF·n–°¶Ö…––D",»†Ti•é/D¤Š'5Ò“ùzÉßÝädɹDTT&Ö¬¹Wn™òëõõ%çPÅÇÝ´4É{J°kØP¯R Xyê¬j{J«É5`+"ëX_üy¾|™'l›;÷=Jƒ½½!\\Ìaf¦MMuäåþ—œ(¿ŽÊô"RÅÇ[[ƒ2¯5j¤‘HM•쓜,ù¿ôzÜ©Ì9= 9¦—Vçô@åÚ#KM®[žòþFÿ‹ÿ–^½š€Ÿ¾ --5ôêeÆõ¡§§‘H„‹ã’Œ¢¢òö•é/D¤:8~ÃñŽßÕŒ:“€-6aÂhhh`üøñ000€ŸŸîÝ»‡©S§ââÅ‹o\þäÉ“¡¯¯É“'C]]>>> Ä´iÓ°oß>´oß;wFbb"8€-[¶`üøñhÛ¶m¹enܸË—/‡H$Bß¾}áä䄈ˆ;v ;v쀅…–/_.õž)S¦@KK ãÇ‡ŽŽpïÞ= 8<€¹¹92331cÆ äääàÿþïÿвeKäääàÎ;8w•×ÚµÀÀ×_KîíÜرC’|9?^þ²&L$kÇ ??àÞ=I¢U}“'úú’ÿÕÕIRuÚ4IÒ¶}{Iü‰‰ÀÀ–-’X*è£Ø¸X¾\’píÛpr’$x“|’×Kš2ÐÒ’”­£#Iß» (I>››™™ÀŒ’;‰ÿïÿ€–-%ïÜΓÜ}Ì>ª2ŒŒ4›œœÂ2'eQQ™ccÍÿöÕ@^^Æ+ÿÔÁ¡ü;ˆ*bl¬…/rPX(.sY¥2_GQíQ…5Dž=+û‰Å’uRŒŒ^ ;÷::êøûïž07×–Ú÷×_Ã_{ƒzeú ©†âßÉò•KþîKކøè#›rËlÕJÆÌ¯ad$‰#:Zv11òzËKQíQ•5`Ÿ=ËD»vÒ³«žÅmÍÌ,À¿ÿ&¢MSüïnRSïß)L/\žÊô"RÅÇ€¨¨Œ2P<{– ±Â:ÑÅû~þy˜›Ë^ãSGGMævy㈉É*³~huÓ+ª=ª°ly#‹Ïõ‹ÿ–þóÏ À/¿tDÒw ß¿ŸúÚz*Ó_ˆHupü†ã7Åûrü†¨zÕ¹¬½½=NŸ> ]]ÉU1Ë—/GëÖ­qùòe¤¥¥ÁÈèÍÖYrrr‚¿¿?´µ%³¯¾ú ŽŽŽØµk,X€¥K— ûvïÞcÇŽÅÉ“'+LÀþøã€Ã‡càÀÂö   tëÖ ë֭  ¯ÿꪗúõëãâÅ‹B{ ðé§ŸâÈ‘#سg¾þúkddd ''cÇŽÅöíÛ¥ê¼s笭­ß賨S´´$‰LggÀÓعS’ÐlÝؼ¹reÙÛKîFý¯bùrI9—/ii’éƒß„““d:ßÿú(¾ú pt”$‹,JôQtïŒ œŠÃ‡% ÔbAA’©‚×­“”]¢¢~}IB¹¸=À§ŸJîÞݳG’ÌÎÈ$\ÇŽJõQܹ°ª”öíÍqüø3¬Ys^^­„í©©yض푰¸ºZâ?"и±> hT¦¬^Âаj'oíÚ™Â×7[·>’šÆæùó,øøDVðΪST{Ta ‘?ÿŒÆèÑRÓØìÞ†¤¤\©A‘H ´µ¥ãؼù!^¾Ì{í@Keú ©† ô`m­‹7’pæÌ ôìùêïðíÛ)øûïè訣eKSèêªÃÎÎ ¹øðÃeÖ2‹K—âѲ¥i¥ãhØP––: LÀ¿ÿ&¡C‡WÇŠ³gc+u÷«¼ê××UH{Te ØmÛ£gÏú¾……b¬]+I {E"D"@GG]j@,/¯«W—p±Êô"RÎÎæ8t(6<€³³tu_'Š÷‹]ºXÀÇ'……bLÚ jjÒ#¸ 9ˆ-5“‘œÚµ3ÃáÑظñ!¶lé IÙ¹¹…¯½¤ªÕUX6""GŽD•Z6§OÇÂÈHM›Jþ¾/=e` ý]åêÕœ=ûâµõT¦¿‘êàø ÇoŽßÕ„:—€7ož|---ôêÕ >Dllì'`gÏž-$_ÀÎÎöööxôèæÏŸ/µo¯^½@jšàÒ¢¢¢÷Þ{O*ù :u‚§§'öïßàà`tëÖMª%Û¢¡¡%K–àÈ‘#¸|ù2¾þúkXYYá½÷ÞùsçpâÄ tïÞ]xOË–-«þ!ÔU¶¶Àþý’;5?ø06–$$uËNQ¡yó¤ß£¥ôê<|(YŸõM°³g¿J¾’i„ííG$kÆ–ô_E}QQ@t4ðÞ{ÒÉWèÔI’Þ¿–$c‹Í›'Ý `ÉIöòeIÖÊJRî¹sÀ‰’„pñ{ØGUΘ1Mqòd4vî ÃõëÉpv6EFFΜyää\´mkŠÎ%ëALšä?¿çøúëëØ½; mÚ˜ÂÐP ¹xô( ·o§`×.W™SŽ½Î—_:àäɬ^}—.Å£ukS¤¤äÁß?¦ÄɦœgÉrRT{Ta ]]u ð>ø êÕÓÁ½{© LøoFqa¿víÌpûv úõ;ƒ^½$wgݸ‘„»wSåºÊ½2ý…ˆTÇĉ޸î»PLœxï¿o {{Éš¬§N=GA£G; kÀ͛ד'_EÿþgÑ¥K=ØÛB[[ÑÑY MFttîÞíuõÊHŒí€¼ƒáÃ/Âã>5ÒGDDΜyssm$%å*|©xE´GUÖ€ÏAïÞ§Ñ£G}hi©!00§ÁÔT ƒKëõôÔáèh„  D r..HOÏÇ… qÈÍ-|M •é/D¤úõkˆàúõ$|øá¸¹YASS —/Ç#,,ÆÆZ6L².^Ÿ>6س'FàâÅx¸ºZÂÜ\ iiùˆˆÈÀµk‰3¦)Z·®ü…ýúÙ`ݺû8wî>úè ºvµDaa.\ˆCV–ä¤èã¼¢Ú£ kÀš™icîÜ8y2ŽŽFxþ<þþ1(,cÔ(ášâÙ&L¸Š?lSSm<~œ†óçã`f¦õÚu+Ó_ˆHupü†ã7¿!ªu.Û¨QÙ+[ $kUäç¿ù\å66e§$Ó×ׇ©©©ÔªÅÛ +«üiÒRR$Wð¿óÎ;2_···$''KmoÒ¤ì nñ¶â2ÀÏÏ«W¯ÆÂ… q÷î]ØØØÀÍÍ “&MBÇŽË‹ÊÑ­и1ðô©d}S‡×¿§4}ÿõQ( BF…¾>`j*}‡jñv¨ ¢¸?•ÓGñ_E©> }TØV¢ÂÏX½X¸¸{W¿››dmZöQ•Ò¢…1Ö®í/¯`„†ôÕϼ];3lÜØI$±±ÑÇo¿uÅ×__Ç;©¸sGzz+''ã*¼@›6¦X¼¸ –,¹…k×qíZ" m[S¼ÿ~}¬YszzŠýóWí©i£G;àâÅ8?þLئ¡!‚·w+têôêJþéÓ›ãÊÉ€ýîÝaÂ~K—¶ÃþýOÊö¬Xeú ©ŽáÃßÁ‹9ؾýΞ}!Ü#žž1kV a_úX½º/ÅÅ‹ñ¸x1^xMMM77+hhTmjÊQ£žŸøù=¶þy$$äâÔ©ç OìUãÜ„õ IDATg{jÚwßµÁòå·qàÀSa›©©6oî,5³ti;ŒÁÁÉ–§Í͵±n] ~éµõT¦¿‘jÐÕÕÀή˜4é*ž>ÍÀþý¯Ž––:ذ¡£0%°ºº;wºbÞ¼8{ö||"¤Ê²²Ò©Rò¬Å½eKgŒOž¤ãÉ“t@½z:ðön…¯¿¾®ðsúêlOMsv6ƒ½½!¶n}„óçã„í4’ºË샠_?øúFKÝmæéiCC ìÚVa=•é/D¤:8~ÃñŽßÕŒ:—€•—žžä@›‘‘ é©c¢¢¢j,SSÉÉý“'Od¾03“^ÃééÓ§èÒ¥K™m%Ë$Éço¿ýß~û-rssqûömlÛ¶ ;wƉ'ðÑG)¬-uÂäɒ䫽=°w/0x0Я_õÔõ_EF†dÕ’j°¢¸?•ÓGñ_E©>ЧOR}ÿõQ”è£00¾ýVò/7¸}ضM²Ní‰û¨RXYI¦P,yB~Ø®®õpáB¢£³ ¥¥†V­L¥¦‡,Ö¢…1þú«'‚ƒ“pçN*²³ am­‹fÍŒàäd,ì׸±¦OwB»veË(~­uké5÷†m77+üóÏ dd iSC¸¹YãÛooL%YQ[ªR§¼í©i²ÚWQ›;w®‡ñã›ââÅx<|øzzpw·†ô-øúöÀÙ³±ˆˆÈ€‘‘ºw·Dƒz(*#--¯Âú€Êõ"ªyÎÎæ˜>Ý JÏæ1{v |öYc&"11ÆÆšèܹžÔÔWÅúõ³‡G}ÆãéÓL‰ac£‡¶mͤŽÅ®®õ ­­ ‹²Ó0¿Vr½"uu–/o‡Ï?o" Ô´oo†6mÌàáq¦¦ZRSlÉjËÿ³wßaQ_Ç¿ô"(E@Å‚ Š"Ɖ½ vbŒFÅMQó3–XñM4j4Ö5EÔX{ïHTTD ‚,€H‘"RöýcãÆ•"R\0çóNŸŽáÖ­$²²ØÛ›ÒºµuŽå ÍÍõYµª·o?&00ŽGžba¡ ®®–ª'-uu•ç {{“1<Ûöbν·Þ2çðáŽ>|Ÿû÷Ó¨TÉÊ9r Çy÷Åc)Ìkôx4!·Ï*¿cöô¬J×®¶Ä‘­ IK6Ì9ìëëFÿþö\»–€––ò÷©‹‹9§NÅ`b¢§ö»°¨ýEñúÉøŒßÈøš£¥Ptµòœz÷î €ŸŸ_±TR¼½½ñññáÒ¥K9ò­>ÛvõêUÕÒ»³fÍbêÔ©,[¶Œ‘#GªêQQQ¸¹¹©Å†ƒƒ}ûöeóæÍ…}Ë_+---ÆŽ‹¯¯¯æ‚X½† ƒ¡CaÞØ¤$åÒ»¹=íù"ooðñK—ræ[}¶íêÕ—Þ5KùTè²eð\åàAèܲ³•O’þÓGómßÕîÜú(‚• ÿôQæÏ‡‰áèQø§R­šrâ;á¹>J` r aˆU>Qû,Ž àÔ)ø§ªå€?_¹ñýûÊv_裄…)'¹ûö õÑ’>ÿEGG“œœ\ ºµj9°dI4]»¬þÁµk 8;›©ÝwíZ}úÇÄD³g»htðD¼9äû'^‡?þ0aôhBCok:”RåÊ•øO"ýúk3fѱc¾ÿþ E&Þ$òý¯Ë¨Q6,]ý’šÿ¡¡±µ5V[Ñ >þ)}ûž ,ì1{ö¸ã䤹rñæïŸx]äïÇœdüF¼.òý…abb‚M¡÷—'`óàééÉ´iÓ3f 'Ož¤Fܸqƒ={ö`mm̓^[,ÞÞÞ|þùçôèÑOOOœœœˆˆˆ`ÇŽddd0yòäËß¿Ÿºuëâé鉇&88˜Š+2dÈ@™{¶Y³f¸¸¸Ð¨Q#lmmyôè»wï(RÇúϹxF†·Þ‚åË•9\ýü”Kðœ9£žwµ8xz*Ÿ 3NžT.}|ã†ò©Pkkx}ooøüså²Ëžžàä¤Ì»c‡rÙäÉ“s.o|ÿ>Ô­«¬o`‡+—®Xþé£DD(Ÿ’uqFÀÖV¹”ñ?}é£"‹‡öW׊XXèžÌÑ£ÈÊR0x°½\¼ !Ä`àÀ“Ô©Szõ* §§ÍÕ« üùg \¢X!DÙvìØ~øáÍ›[Qµj9¢£Ó8v,šÄħ4kf%“¯Bññ!Ä›L&`óаaCFÍâŋٲe‹ª|êÔ©„……±aÆ×ËÈ‘#‰ŠŠbÞ¼yìÞ½[5Aª¥¥ÅÇÌ7ß|“cŸeË–1aÂV®\©*«X±";vìÀÒR¹4@•*Uxûí· àêÕ«jû·nÝšiÓ¦•àQ½A”“¬àﯜ|e~R__åÓ©£F)—Í-N *'}/†çú(S§*Ÿ}}”‘#•OªÎ›§œ}6AªÌú¹ôQ–-ƒ à¹>JÅŠÊIÛú(Uª(ßÇ€åÓ¿ÏkÝZ9-D.\\Ì8vì)jå½zÕ`Ĉ:yì%„¢,yë- ΞåÒ¥séëk3eŠ‹,…%„oGÇò¤§gñÇwÕÊ]\ÌY°ÀUCQ !„(N2~#„x“ýg&`=<<044¤R¥Jyn³¶¶V+_´h^^^œÊwßÁðápèòX-, ];åÓ°¹KëÖpý:ìÚ¥|ÒÕÖV¹|ñs}”êÕáüye½À@¸wO9Iëêšse!ž3zt]zö¬ÁŸÆqÿ~*¦¦ú¼ý¶%ŽŽå5šBˆbòë¯-¹z5ž$=JÇÚÚ–-­±¶6|ùÎB!J½6ml8}º gÏÆ™‚ŽŽ6õêUàí·+ª-U)„¢ì’ñ!Ä›ì?“¶¬6l«W¯æÚµk8;;k:œ2£Tä€ý¯6L™ïöÚ5ø÷QÉ+„ùþ‰×CrP ¡9òý¯‹ä Bsäû'^ùûQÍ‘ïŸ( Éû†Ø³g;wîdݺuT¨PÚµkk:$!ÔíÙ;wºuP¡HB!„B!„B!„ÈA&`K‰={öðã?¢­­Í·ß~‹žžž¦CBÝž=ðã ­ ß~ ÒG…B!„B!„B!r ØRÂÓÓgggZ¶lI£F4Ž9yz*—nÙ¤ !„B!„B!„BäJ&`K OOOM‡ Dþ¤ !„B!„B!„B¼”¶¦B!„B!„B!„Bˆ7…LÀ !„B!„B!„B!D1‘ X!„B!„B!„B!„(&’V!Ä+ º„ÏQ»¦sΚ§ÈnÅÞâHèÎý}ާ™O™Ün2oUy+׺÷“î³÷æ^nÄÜ &9s#s\«ºò¾ËûëçºOD|~Wü¸óèYŠ,ª›U§§KOêXÕQ«÷¦½¯Bˆ²móåÍì ÞÅw]¿£†y M‡S$YŠ,þŒú“Ã&8:˜ììlÖz­EOG/×úÁÑÁ¼uðGá$>I¤²ieÚÕjGÇhiiåºÏÙˆ³¼uÈÄHÊé•£VÅZôoÔ c µzoÒû*„(Û2²2øpó‡¸Vse\ëqš§Èb’c8z„ãaÇILK¤»sw¼zåZ79=™·pùÞe¢£0Ð5ÀÙÆ™^.½¨\¾r®û$=IbóåÍÜŒ½Iâ“DlËÛÒÆ¡ îµÜÕê½iï«¢l{ÓÆdüFQ–ȬBˆW–ø$‘€È:Ôî éPŠì½_Þ#8:X­,ñIb®u×®eÖáY( µòÝ×w³êü*Öy­Ë1˜¾îÏuÌ>4›,E–Zù/~aT‹QŒj9Jíuß”÷UQöE&D@jFª¦C)’{I÷x÷çwsœÛ³Ù¹Ö¹c$ûoîÏQîwÅ–5[òC¯0Ô5Tkgüîñì¾¾;Ç>«Ï¯fI%´±o£*{SÞW!DÙ—­È& 2€ò†å5J‘Í><›5kÔ®ÓÙ6ʵnн úoìOzfºZùÁ[Yyn%¾Ý}ñpôPÛvñîE†ù#!-A­|Ã¥ ´uhËŠž+T7õ¼Iï«¢ì{“ÆdüFQÖi6..ލ¨(¾øâ‹âŠGˆB;tèôEñÚQµjUM‡!ŠALJ ŽiïØž178vûXžuãRã¨lZ™.N]p¬èˆ•‰aqaüxþGî&ÞÅûo6 ؤª?é¾êâ½—K/Ú;¶GG[‡Sá§Xq=KN/¡cŽ9î¤BQ|Ò2ÒH~šŒ[57Ú×jϯånâÝ<ëÇ¥ÄQ¿R}<=°³°ÃXϘ‹w/²æÂN…Ÿâ‡³?0¶ÕXUý?nüÁîë»1Ò3â“w>¡A¥¤f¤âÅŸ“á'™üûdN~-×q¸BñŸ“ƒU9+Ú9´ÃHψ5kò¬›ü4==<ëzÒ rl+Øò(õ.m è^öLàÄg'Ô&P½ÿð&!-ת®ôkÔ3#3B¢CXu~ÇncóåÍ j2è5©BüwÉø¢¬)Òì_ýETT‹-*®x„(´k×®qíÚ5M‡!þCÒÒÒ4‚(;‡ìÄÚÄ€é¦ç[w¨ÛP¾hõ…Úò“mìÛСv:­îÄ…È ¤‚•`jðïÓ1oW{› †Ø¼›þúSݬ:ÑÉÑl½²C]CZ;´Î·í»‰wæ?Œ¨Ä(u_$ï¥Î† ÓæÆÕŒ1GGGþ÷¿ÿÑ¥K¹{^¼1Žß>ÎâS‹ÉÈÊP•ù_ñçë_«=í3eïü¯øçØÅÙìÿt?Õ̪åû:7co2ãÀŒÇÕ¬F3µëûœž¬¶ÿ†‹èóV¾íòíK_ëÛÃßríAÁW®šÿî|ª”¯RàúEuõþU t hbÛDUfj`JÓM¹y#¡GTOÆ>É|Âêó«èà˜ÀôÌt&ý>‰?nüÁ¨£dòµ”ÑÕ-OË–g¨QcK–,aùòå|øá‡|øá‡T¨PAÓá Q,düFIÆoþËdüF¼~2+„¢ÐÖ®¥¦EMƶ‹U9+‚£ƒY}~5{oìÅßÞŸÞ ”O ÿðƒ› ¦¹]stµu¹‡]Á»Hz’T × ˆ (ðü븞~`:éYéx»{«•—7,Ͻ~`üîñtXÙÚÖµÑB‹Ð‡¡”7,ÏÒK±1±É³Ý ûA ÷޾Ž>[nÁÉZzKmœ=˜8±)ýõ+W®dܸq,Y²„)S¦Ð¶m[M(D‘-:¹ˆÖö­y·Þ»èp"ì[‚¶0ëÐ,ZصÀÞÒž„´¶]ÝFyÃòŒh:‚ÚVµIÏLçVì-¶m!-ãåËö?NL@d@ã²2±*Êa½’äôdfœ•‰ÚSÛæVÍé§3ïØå‹Ö_ЩN§<Û}˜òáþù{ßî¾xÖõ,éC…P®\m¾þúk&L˜ÀúõëY½z5kÖ¬aøðá :}}}M‡(D‘Èø’Œßü—ÉøxýdV!D¡Y™X±ýÃíª¥ZÚÕj‡kUWnÈ–Ë[TðºÚºÔ®X›i¦©í?ÄuHk~í÷kŽ;0ó¢§£÷ GQ4óÏggðN¾òøŠ·«½c{5³j´qhÖË[‰Q•·°k…]žíþò;“~Ÿ„“µ?ôüáµN4ˆÂqttdþüù|öÙgøøøðÉ'ŸàááÁôéÓ©TIrŒˆ²Ë½–»Ú]ékwÄÚÄš%§–°ýÚv&´™€®¶. …‚Î=Ô&(;ÕéÄðfÃs,Û››:VuØÐCãÊk©àâ––‘ÆgÛ?ã^Ò=Öz­Íu93ggÛ6ædøI®Ü¿(—1kãÐ&ÏA¥lE6ßùŽŸ~¢wƒÞ|ÓùtµåϳÒLKK wwwÚµkÇþýûñññ¡K—.Œ1‚áÇ£«+ŸŸ(›(X絎z6õTe]œºÐaU~ùo:ƒ±ž±ê5ßs¾Ú¥WC¯ÊOi7…¤ô‚Õ^ÛÓ¯GBðõþ¯éT§#šÈ±½‚aÚØ·!ôa(ñDÄGФj“|Ÿpº{“Oý>%=3 ý7ÈÓPe@¹rå>|8dÕªU,]º”­[·2cÆ Z¶l©éð„(4¿‘ññ/¿¯‹ü…(„¢Ðº:uÍ‘ï¨i¦T­P•›±7UeÚcüîñ|±ë Ük¹S׺.ö–öhki«-ù’ŸÜ.Ž5I¡P0ëð,֮Ż7C\‡ä¨M÷_º“ú4•OÞù„FU¡£­ÃÕWYsa ‡C³mð6,ÕsÉm»º›±7éT»óßÿJ¹ …æ988°jÕ*N:ÅŒ3èÒ¥ “'O¦oß¾’_D”I4ø ײ%§–p#æ&&|èú![ƒ¶¢§£Ç;ÕßÁÉÚ‰*å« ¯S°'FL Ly§ú;Å{Q=Ņ~ŸÌO}~¢±mãuއg˜ß0¬L¬˜â>…Zk‘–‘Ɖ°¬<·’£¡GÙ1dGŽ÷ÁûoB¢C˜Ün2Ÿ¾óéë:$Q ´´´èܹ3îîîüòË/,]º”}ûöáããC½zõ^Þ€¥L]ëºj“¯ ÌçáèÿB†Ò rú5êÇŽk;æ?Œõ{P¿R}êXÕÁ@×€ò†å öZ6uKâŠdOÈ&잀{-w¿·m-õe³Ù Ù2„ ‘èV·kwÄÔÀ”ˆøÖ®eÈ–!Ì÷œŸcYΛ±7éók*—¯Ì¦›°­`û:KQ¹råøâ‹/èÛ·/ß~û-C‡åƒ>`Ê”)”/_°þ.Di"ã72~#r’ñQÒdV!D¡å5Ðbfdƽ¤{ªŸ»ÕíF=›zì¹¾‡íW·s3ö&é™éxÖód|ëñ°)M9D²YLþ}2¿]û/ÛÉP·¡¹Ö[sa R1«ó,¼z©ÊÝk¹ãlã̈m#Xyn%s»ÍUÛÏ@×P.W–‘•!ðeTË–-Ù³gK–,á믿æèÑ£Ì;WòH‰2'·sô³'Ÿžd>Q•Mõ˜Jç:9pë«Î­âFì Ì ÍØx ¿ýñKÿ€-m9`¦aôo£9z„i¦1¸Éà<ëF&Dä¸CÀÞB9Hÿlù²çyÖõäÃ&2é÷IôßП_úþòÚó¢ˆâa``ÀĉiÓ¦ cÇŽå½÷Þã‡~ÀÉIòÁˆ²#øA0®U]Õʮ޿ #’[57ÕDeVv¿ÿÆäß'£§£Ç‡®æû:¥)lTbnþ¸Ô8Öx­ÉõÉ×gþNø==jXÔȱ-¿sýÌN3ñ»âÇÚÀµ$>Iħ›:Z:Åw⵩V­k×®eÅŠ,\¸«W¯2oÞ<ŒŒŒ^¾³¥À­Ø[ddeäXRu®7ý÷\_Á°ƒš bP“AÄ$Ç0bÛoÌÑGUÑy)M9`—ŸYŽï _ºÕíÆÂî ó<çwMoil‰™‘wï’¥ÈRkÃÞž¥=–2dËúmèǽ¤‘­LÚ•Uîîî¼õÖ[Œ?žþýû3uêTú÷ï¯é°„(0¿‘ñ‘?¿%A&`KÈüùó™8q"G-ó œß¤cù¯˜¿>ý'rtÂQÚÖi«épŠäM:–7ÑÁ¿²íê6ÕS=ii|¹÷KR3RéV¯›ªÞÜcséåÒKíBÖÆÄ=½À”†"ÉéÉ|êÿ)QÌè8ƒä[ÿÙÝúߟùß'Æ’Ó“YtrU+TÍußîÎÝ)oXžÏw|Nßõ}Yëµ6Ϻ¢ô{ûí·Ù½{7£FÂËË‹eË–I)Qf,?³œÆ¶q©ìÀÝÄ»Ì<8€V5[ÆáÐÃôré……±:Ú:ªó`@dÀK'`KKØÐ‡¡ Þ<˜´Œ4Öz­å­Êoå[ß¶¼-ÁÑÁ,:±ˆ1­Æ¨žžŠJŒbMà@™OêEZZZ|ÝákÌÌYrj IO’XÚcéK'/D餭­ÍÈ‘#iÒ¤ £FbÀ€¬ZµŠŠeN”~SòÍ¡oøÊã+ôuôQ(¬ \C@dÕͪSݬ:k×àdåDÓMUûš™cb`BÌýîÄß¡ŽU|_«4ä€U(|{ä[~¹ð ï9¿ÇSÿ›¨ IDATÜnsó½æÙÒÁ[ƒ¶ÒÅ©‹êoš¬ì,Ö®!&9†J¦•rm£ŽU¶ ÜÂàMƒ¼y0+z® eM¹,«,--ùùçŸY¶l_ý5‘‘‘Lš4IV=e‚ŒßÈø(¿ÅI&`³fÍbêÔ©œ™…ÇbmjMø£p’Ó“1Ö3æ³fŸ©ê­¹°†UçVaalA5³j<Í|Ê_ÿ"3;“6öm ôZ%•Cäû3ßs*üwâïàsÔ‡ÎþÀØÖcU¯½àÄ.D^ÀÄÀ„ßC~ç÷ßs´÷]×ï¨a®| Ê«¡/mädøIZ,o½…=:Ú:ÜŽ»MZF:Z: vÍû̶mY㵆Oý>¥Ï¯}XëµÇŠŽÅyøâ5²´´díÚµx{{óÉ'ŸàëëK—.]4–/UÉ´½ÖõÂÎÂ}}nÇÝ&#+ƒºÖuéVW9X“”ž„ÏQæ›G%ÓJØ˜Úø$‘°¸0€—NbBÉæ€ý|Çç9Ú*gPŽÕ¬Vý<Ôm(öL`ÅÙlº¼‰æ5HËHãvÜm²²³°1±¡K¼¿ë£[ŽÆÌÈŒo}Ã-CXýÁjL LŠíØÅëÕ´iSüüüøøãéÓ§6l råÊšKˆ|9X:àÅŸ=!{°3·ãþãûÄ&Ç0¡íU½ã·3ëÐ,Êé—£ºYuôuõ ‹ ãqúcÌÌUµù)©°GC²ú¼òÜü(My¾ßu}—î^ cŽªœûoíç— ¿ ¥¥Å½¤{ Ú4(G{ƒ]Ó¹Ng@y³‘ƒ¥·ãnÓùÇÎØ[Øc¢oBdb¤êwËGo”glÕͪ³uÐV†nʧþŸ²àÝtuêZlÇ.^/mmmFM5ðöö&66ttd QºÉøŒßˆ‚“ñQ\d¶„L˜0 &¼¼bð&ËÅ„N˜ÐéÍøÌÞ¤cy½_ÿ}Ük¹³êÜ*¢“£°3·cžç<µowo6_ÞÌ­Ø[ªA }}Þs~/Û©‘ØŸ¹w;Ç]œ7coªþý,^€'Ê\‡ÉéÉyÞù™š‘ªú·½¥=ëú­cæÁ™\{p˜Õ¶ZkñUû¯^:)áZÕ•ý72tëPúmèÇO}~*ÐD†(ôôô˜?>æææ|ñÅhkkÓ©S'M‡%D¾¦zLå— ¿pàÖUYs»æ,ð\ ºcÝÞžaM‡±ýêvî%ÝSå‘272g`eXMºt÷’ê÷Ô3"/¨þ™©ú÷³sýóÇñ¼gµÏô¨ßƒŒ¬ ŸZ̃ÇHHK”O¸¶ªÙŠf¼tBup“ÁT0¬À¤=“迱?kú®Q=I,Ê;;;üüü4hdãÆØØØ¼|G!4¤¦EM&¶È”?¦påþ@y®›â>Em¢p¨ÛP²Ùœ‰8£v]ûNõwø¿öÿ‡‘žæ–ÝŽM‰Íq}~?é>÷“îPÛª¶ªüYN[…B¡ö»àyjwPý[OGuýÖ1ãÀ ‡ævÜmÕ6KcKF4‘gNÁg¬M¬Ù8`#Ÿø}ÂØcIz’¤–cP”=ï½÷–––Œ1mmmæÌ™ƒ¶¶¶¦Ã"O2~““ŒßˆüÈø(ZŠ‚®‹Þ½{àççWl Í(ëOÀjii1vìX|}}5Š(„²ølIŸÿ¢££INN.PÝZµX²$š®] V¿8$¤%p3ö&5ÌkPÉ´IO’ޱ¾1µ,kå¹Ó£ÔGD&Db¬oŒm[ŒõŒ_[Ìy¹w›‡)óÜîXÑQ5FlJl¾í¹TvÉõ¸b“c¹›t…BAåò•©dZ)Gß×çÅ$Ç(ßc=cÕ2 Bó ûýS(Ìœ9“M›6±fÍš6múòÄÖ˜0z´ ¡¡·_^¹E&Dr/éžê¼ͽÄ{ؘÚä¹$¤B¡àþãûÄ$Ç`ndŽm[Õ’¼štéî%žf=Ís{“ªMTqÝR ØäFG['GN\P{db$±É±Êœ°æ5¨`X!G½ß×ç…> %.5ŽJ¦•Twã Í*Ê÷/..Ž’ŸŸåË—/Å›bÔ(å$ýÒ¥Ñ/©Y|²Ù\ˆ¼€¹‘9µ­j“‘•Á_ÿ"[‘Mm«Úèëèçº_jF*ñªëZs#ó×s^ž]+çÅÆÔ;s;@¹äò󓨹Éíz”ùwâïž™Ž¹‘9vvhk©Oº½ø¾>/-#+÷¯ ¥¥E“ªM$÷w)Q”ïßÉ“'1b^^^L:µ¸Co¿)¿E!ã7¢0LLLŠt3m©˜€½~ý:ÞÞÞ?~…BA«V­X°`sæÌaíÚµÄÆÆªåÎyüø1óæÍÃßߟððpôôôpuueÊ”)tèðï]ŠÞÞÞøøøpéÒ%‚‚‚˜7o¡¡¡ØØØðÑG1uêÔw§¦í€€–.]Ê­[·5jóçÏÏ3ojrr2 ,`Û¶mܾ}ccc7nÌĉñððxé{ÉÌ™3Ù·oÑÑÑXXXàîîδiÓÔB?ßéÓ§Y²d T©R…>úoootu•ƒL>|8ÇkµiÓ†cÇŽåy,…‰¥ ŸÃ«*Êìõ{×ñÞîÍñ[ÿô?ÇV,è³€9{ç°öÌZb}c©hò\ÿ{ò˜yûçáÿ§?áÃÑÓÑÃÕΕ)]¦Ð¡Þs}d›7>û|¸4íA‘AÌÛ?ИPlÊÛðQ˘ê95Çj…i; <€¥G–r+ú£ÜG1¿÷ü<ó¦&§'³àÀ¶ý¹Û±·1Ö7¦qÆLì4ºè"™¹g&û®í#:)‹r¸;¹3íÝi8Uzî3.¾Ó¡§Yrx qT1«ÂG-?»‹·jÓc¡‡CréµÛplâ±<¥0±ôs(ˆÿú¬B©(ß?…BÁرc9}ú4~~~Ô¬Y³"oMMÀ !Šþý‹ŽŽ¦gÏž8::òÓO?É•"Oš˜€B(õû÷Ç0f̦OŸÎ€ùç™ÿm2~#„æÈø(Œ¢NÀjüvô7nмysUeüñçÏŸ§I“&9êÇÇÇÓªU+‚ƒƒUeOž<áèÑ£;vŒ_ý5ÇÅÎÒ¥KùùçŸU?ÿý÷ßLŸ>ììlf̘Q¤¶çÎ˦M›T?gggçy¬qqq´jÕŠ—0HMMåÀ8p€ŒŒ Õ¤hnÂÃÃiÚ´)111ª²èèh6mÚÄž={8rä®®êwãûøø°yófµ6¦NÊÍ›7ùõ×_ó|­—)L,ý^§nÐ|NsÓžëWÿà|øyšÔÈ¥ÿ¥ÆÓʧÁ÷žë#O8zã(Çnã×eÀ;/ô¿#KùùÔsÇýèo¦ïšN¶"›Ýg©í¹ûæ²)à¹þ§È§ÿ%ÇÑjn+Bî?×ÿž¦r ø‚±2#ß'T†ÓôÛ¦Ä<~î3OŠfSÀ&ö\ÙÑñGpµ{¡ÿíõaó…ÍjmLým*7Üä׋Ðÿ KA?!„x]´´´ðññaÀ€|öÙgüöÛoj:,!„ÅÈÆÆ†•+WÒ¯_?,XÀ¤I“4’BˆbÖµkW˜9s&õêÕ£Q£FšI!D1’ñQXON0~üxéÖ­W¯^%%%…‹/Ò A8£þ„ ¦gÏž\¸päädâââØ´ifffŒ5Š””µ}6nÜÈ’%K¸wïIII¬_¿]]]–-[Æó¦ímÛ¶±`Á¢¢¢P(,\¸0Ïc;v,!!!¸¸¸°gÏbbbˆ‹‹ãÀ´oß>Ï%ž3f 111´nÝšÀÀ@RRRTñ>~ü˜O?ý4Ç>Ïâ»wï=bãÆXXX°~ýzÕS¯‡â›o¾”K§(  ÇŽ+ÖX ú9¼Nã·Ž'1-‘n ºquúUR–§pqêETmÀà\úŸß‚ïÓ³qO.|yäeÉÄ-ŠcÓ°M˜™1jã(RÒ_èç7²¤ßîÍ¿GÒÒ$Ö²]m]–y¡ÿ¢ím·± Ï¢æE¡X­`aŸ|úß–±„ÜÁÅÖ…=£ö³0†¸Eqøâíë¶G‹—ô¿ÍcˆyCëÚ­ ü*”å)ÏPÆûøÉc>]—Kÿû'¾{óïñhñ#6~º‹r¬?·^õÔë¡q‡ø¦Ç?ýoòI«(V+86ñX±ÆRÐÏA!^'CCC–/_ÎÇ™3gަÃBQêׯÏÔ©SùñÇ9{ö¬¦ÃBQFŽIëÖ­7n\W³BQvÈø( NÀ&''³ÿ~ªW¯Ž¿¿?õë×ÇØØ˜F±cǵe‡ÒÓÓÙ´iÎÎÎøûûãêêJ¹rå°°°ÀËË‹Y³fÏÉ“'Õö›6m£F¢råʘšš2`ÀzôèÁ£GˆŒŒ,RÛ_|ñãÆÃÖÖ6ßcMKKÃÏÏ !„ЄJ•*1cÆ 6lØÀ™3g4ŽBˆЧO:tèÀäÉ“IKKÓt8B!Š™––ß~û-)))Ì;WÓá!„(2~#^•F'`ïܹCVV­[·ÎñÈv… r$4 #--ëׯ£§§‡®®.:::hkk£­­ÍÈ‘#åÒ¶Ï{>oé3ööö€2çkQÚ~>/l~ÂÃÃIOO§uëÖ…Z3úÎ;dffÒªU+Ê—/¯¶MWW—N:ª¶íYùó:wîœkÝ’Ž¥ ŸÃëtçá²²³h]»5†z/ô?£ 4µ¡ÿņ‘–‘Æõû×Ñ¡‡îp]t†é =LíaÚŒÜðOyôBÿ{.oé3öVÿ÷“ÇEjûù¼°ù '=3Öµ[cS¾ý/î™Ù™´rlEy£>sm]:9ÿó™Ç¼Ðÿœséõ;çZ·¤c)Èç „šÒ­[7Ú·oÏŒ3ÈÌÌÔt8B!JÀÌ™3INNæûï¿×t(B!J€••_~ù%›7o&((HÓá!„(2~#^…Æ— ò\z÷ÅeAŸåWU(dee‘••Evv¶jÉÜgž>}ª¶Ÿ‘‘Qž¯ùl¿Â¶miiY c|ñu «¨û?ßÆëŽ¥ Ÿƒ&äÙÿx¡ÿ)žë#ÙYdeg‘­È¥d¾Ðÿôs9n^è…lÛÒäûßK–~éþÅÑÿÐPÿ+Àç „šôÕW_q÷îÝ"åhBQzYZZ2fÌ~úé'¢¢¢4ŽBˆн{wš4iÂìÙ³5ŠBˆ"ã7¢ 4:kgg‡ŽŽ'NœàÉ“'jÛ’’’P+«Y³&´hÑB51•ÛŸþù+ÇR’m?ßþ‰'ˆ‰‰yåýíììÐÕÕåäÉ“$%%©mËÊÊRåË­U«–Ú¶ýû÷çhkïÞ½888¨Ê´µ•]¡ wm6–ÒÆ®¢:Ú:œ¸u‚'/ô¿´$Â_èkb k@‹Z-TyJsûïs÷Bô¿l ¦•²ý æq!úŸ¥ºÚºœüë$Ii/|æÙY¸þÏgnýBÿ Î¥ÿ]û§ÿY=×ÿ´þéYè…ŒE!J»ªU«2hÐ V­Z•ãºH!Ä›aàÀTªT‰+Vh:!„%@KK ooo.^¼È©S§4ŽBˆ ã7¢ 4:kbbBÇŽ‰ˆˆ oß¾“ššJPP½zõ"66V­¾±±1^^^œ>}šþýûsîÜ9xòä 7nÜ`Íš54kÖŒôôôWŽ¥$ÛåÓŸ½{÷&..ŽŽ;²wï^>|H||<¤C‡deeå¹¹råèÒ¥ ÑÑÑôèу‹/’ššJHHýúõãÚµk4lØÚµk«í·hÑ".\ȃˆgÓ¦MŒ3€>ø@UÏÂÂPNئ¦¦æ{,…¥´110¡c½ŽDÄEÐwe_‚ï“ú4• È z­èEìãúŸ¾1^o{q:ô4ýW÷ç\Ø9Rx’ñ„n°æÌš}׌ôÌBô¿lÀHψޮ½‰KŽ££oGö^ÛËÃä‡Ä§ÆsðúA:,ì@Vv>ýÏ ]\ºMï{pñ>M%ä~ýV÷ãÚÝk4¬ÖÚ6/ô¿C‹Xxp!ŸϦ€MŒÙüOÿkò\ÿ+÷Oÿ ÞOêÓ—ô¿BÆ"„eÁG}ÄãÇñóóÓt(B!J€ŽŽ#FŒ`ûöí={ödüøñŒ?^­|À€´oß^õs›6mÐÒÒbΜ9Ì™3GUvìØ±b‹¥4ZÐg§oŸfWÐ.v=×ÿL,i_·=‡C£§ó\ÿëëKPd›6±) ˜û_ ¶ý¬ý€ð‚"ƒèº8—þÇKú_ßEœ;ÏÑGiòÍ Ÿ¹ «çÒÿ÷düÖñŒßúBÿ{gíë>×ÿjÿÓÿöÎaÎÞ9ª²c[,BQXYYѳgOÖ¯_Ï Aƒ4ŽBˆðþûï³hÑ"6oÞÌØ±c5ŽBˆ0|øp Ä7prrÒt8B!Š™Œßˆ‚Ðxغuërúôi<==155ÅÔÔ”.]ºpêÔ)233ÑÕÕÅÔÔTUßÜÜœ³gÏ2wî\š4i‚‰‰ ÆÆÆÔ«WO?ý”óçÏchhX¨XJ²m€Š+À—_~‰““X[[Ó¹sg:„®nþóáöööòñÇckk‹®®.ÖÖÖxyyqáÂ\]]sìãííÍâÅ‹qttD__Ÿš5kòÍ7ß°f͵zuëÖå§Ÿ~¢^½zèëë¿ôX KiT·r]NO>gOL M154¥Ký.œš|ŠÌ¬Ltµu15|®ÿ›svÊYæ~0—&5š`b`‚±¾1õªÔãÓVŸrþÿÎc¨WÈþW‚mT4©HÀ—|ÙíKœ*9a k€µ©5ëwæÐ¸Cèj¿¤ÿYÙøU ·ü[3[tµu±6µÆËÍ‹ _]ÀÕ.—þ×Å›Å^‹q´vD_WŸškòMoXóѵzu+×å§¢^•zèë ÿ"!„(+z÷îÍíÛ·¹xñ¢¦CBQôôôèÑ£þþþù®‚$„¢ìjÚ´)Õ«WgÛ¶mšE!D ‘ññ2ZŠ">>\ºt‰† j:œ§¥¥Åرcñõõ-–ö¢â£¨óU¬¸2]úß«òÞæÏ>.M»DÃjofÿ+Éó@tt4ÉÉɪ[«–K–DÓµkÁê !ŠOI}ÿ<==iܸ13gÎ,ÖvEÙôÇ&ŒmChèmM‡"ÄNI}ÿnß¾M§Nøõ×_iÖ¬Y±¶-ʦQ£lXº4ZÑñßSRß¿åË—³nÝ:Μ9ƒŽŽN±¶-Ê&¿BsdüF†‰‰ 666…Þ_ãOÀ‚r™ÜKBB‡ÂÓÓ“ÔÔTµ<¥B”„žß÷ä@ðbÇ’šÀ¡Cx.õ$õiªZžR!„âu騱#GŽ)ÒÒóB!J/jÕª•gÊ!„e_ÇŽ‰‹‹ãêÕ«šE!D ‘ñ‘ç€8pà;vìÈQîääĸqã4‘ø/9pý;.åÒÿ*91®£ô?!rs"ìmýˆ/ÛÉP·¡%ò©©Ì?6ŸÃ¡‡yðøYÙY\c=cößÜÏò3Ë NZFÞí¼ùäOJ$ŽÂÚvu“ŸÌ²÷—ѹNgÆÈÒSK ºDvv6ΕœÙ|$-k¶Ôh\"omÚ´aÉ’%ܺu‹:uêx¿‹/rêÔ)zöìIÕªUK0¢‰‰‰aóæÍyn4hæææ9ÊŸ::š%K–ä¹½[·njðñññLž<™3gÎðäÉUùðáÃs½€_¾|9¿üò j庺ºŒ5Š‘#GÃQˆâ0ú·ÑGç(÷»â‡ï‰âI-ñ_°ðÄB¾?ó½êçôÌtöÝÜÇÙˆ³øö§¦EM F'òÒ²eK~úé'>|øJƒ ßÿ=...¥~v÷îÝ=z4×mݺuË1»uëV~üñGÂÂÂTeÇÏuöÎ;Lš4)×|[NNN,[¶ ;;»¢€(GB0ó`Î%ù2²2ølûgD%Fi ª²ç~Ò}z­ëELrŒªì¯‡1ãà nÇÝÖøä°È[‹-8wîcÆŒ)ð>Ï®•G]ê'`¿ÿþ{ÒÒÒrÝV±bŰ3fÌà÷ßçÑ£Gª²† æ:{äÈfÏžMDDDŽm;wfÞ¼yñDqñ›â!ã7e“ŒßÈøM~JÅlûöíiß¾½¦Ãx£Ì™3‡9sæh:Œ2¡}Ýö´¯+ý¯8Íé5‡9½¤ÿ‰¢9~SSÕÀ±¶–rÕüÓwN“¥Èb\ëq|òÎ'èëèk8ÒÒ+#+ƒ¯ö}EVv¹}ÄgÍ?CGK‡_/þŠï _¦íŸF‡6ëk:Tñmmmœ¹víÚ+í׸qcF­­m EV¼ÜÜÜrÍ}haa¡öó£G8r䆆†´k׎˗/Ÿg»'Nœ %%…fÍšagg‡±±1þù'—/_Æ××IsQ ?k:L‘ ´´´¸vímÛ¶-ð~ÿûßÿ°¶¶.¹ÀŠÙçŸ޶¶zö£Úµkç¨wúôi°³³ÃÖÖ–Ó§OçÙæÝ»w¹xñ"U«V¥AƒØÚÚòèÑ#öíÛÇ7øøãÙ¿?ºº¥bÈã?íøíã,鱄޵;¢«­üLnÆÞ$*1 ÷ZîÌóœGà š ³Ôó9êCLr Ííš3³ÓL*›VæØícLú}ë/®§Gý4¬Rð',Åëãââž={ÈÎÎÎq.Ì‹M™˜|}¦råÊôîÝ;GynO¿îÝ»—„„6lHzz:!!!y¶{ùòe"""¨_¿>ŽŽŽXYYÆ‘#GØ·oFFFÌ›7¯XEŽŒßŒß”]2~#ã7ù‘¿F„B”J±É±Ø[Úã`©¾´Ð³»¾Û:´•‹÷—8}ç4wïâVÍÿkÿªò‘ÍGr=ú:ûoîçà­ƒ¼çüž£y©_¿>Ç¥}7nLãÆK(¢âçææÆèÑ£_ZÏÒÒ’•+WÒ¼ysŒ.©ý IDATŒŒèÒ¥K¾ðŸþ9...˜™™©•/X°€+V°mÛ¶2}ÿ¦xv>w­æª6ùúl›‰ ïT/š´íê6²Ù o6œž.=0Ò3bá» iw·'ÃOòàñ*™VÒp¤âEfffØÚÚ¾òìgŸ}VrA•€Q£Få¹ÜØóúöí˘1c°··gß¾}ùNÀÖ¬Y“­[·æø7vìXÞÿ}""" ¤iÓ¦EŽ_MlJ,îµÜU“¯ ¼ÖhV£™L¾¾ÄãôÇ컹–õXFyÃòtªÓ‰èähfœÉÖ ­2[JÕ¯_ŸÔÔTÂÃà ¼l®µµu®‘K‹*Uª8ÞéÓ§ãææ†¥¥%Ó§OÏwÖÃÃ>ø€êÕ««•ŸgÛVô\A‡Ú˜uhk×t/ˆZsjåúºÝé®úw¨w( …ÿ+þl½²•›17ÉRdQÓ¢&^ ½Ðh€*7Òó9Pœ+9ã{—àÁØ[ÚóÛß Ü@Ò“$žXÈþ[ûIz’„cEGF·,,_ˆ¼ëú{Îï±ÿæ~þ øRÊÞÞžµk×¢P(ÐÒÒ"!!'NM¹råpttÌ‘çîÅ"/ËÕallÌ'Ÿ¨çßIJJâÔ©SDFF¢§§‡‹‹ nnn%vœafföJ«¥´jÕ*×ò¡C‡²bÅŠKÛœ>}š?ÿü“~ýúabbÂáǹ{÷.vvvxxx¨&bbb8rä 4hЀæÍ›þ Ê˜õ׳6p-wïbmbMï·z3¢Ùµ'SÇïÏÎà¹æC}¶íâØ‹”7,Ï»¿¼KH´rÀmÕ¹U¬:·*××}ö;àíjo³qÀFRž¦°úüjöÞØKTbºÚº¸TvaDÓj¹‘žÏat/ˆu®#üQ8ƒ› fŠû”·ÊåÓæËùÈó( ܪ¹1ÅýÕòv–”€¿è^¯»Z¹®]œº°6p-Ðݹ{n» sppP[Z100[·n‘œœLÕªUqssÃÊÊJmŸsÀæ—krÏÁwíÚ5.]ºDrr2666´iÓKKËÔgÛ†¸á+¯8xë Ÿmÿ÷fúóëçúº³ÏföáÙ€rÕƒg7ÞDðãù¹x÷"ÉéÉT2­D§:Õb”*UÐó9l§zLÅç¨g"Ζ Ê=Xv²Ùüð3›/oænÒ]*™V¢£þ¥b¹ÇKw/‘™I;‡vªÉ×gº×ëÎ7‡¾Qý.¥Ï³I׈ˆÈÈÈàäÉ“üý÷ß( jÔ¨AóæÍ144Tí“[Øür­BÎ|YYYœ={–›7o’™™IÍš5iÓ¦ %t¤“WþïÜ4hÐ ×òV­ZaooOhh()))ª ؈ˆvîÜIëÖ­iРgΜ!$$333:w©)iii:tˆ»wïRµjU:uꄞž^Ñ® ñ¿%CÆoþ%ã7êdV!D¡]¼{‘9Gç¨òS<É|ÂÖ ­üõ';†ìx­K£( &ì™ÀÎàjå7bn0ýÀtB¢C˜ÝevÎøÌQå#ÉVd¿R;é™é Ø8€˜ïÚ½öà÷ §«S×WŠ¿ÎÜ:jy>òS±\EÎ:÷ÒzñÊÝÚV9—ùs²vRÖIÈ™OG”UªT!==øøx8À¬Y³Ôòg€2ÏÝš5kT¹_Ì!ò²\ÖÖÖjð~~~Ìž=›äädµznnn|ÿý÷ªA{÷îáïï_àc©]»v®ƒ-ÑÑÑlذÇS¹reZ´hñJy_ÕǨW¯žZù™3gX¹r%µk×fΜ9DEý›®qãÆ¬]»–Ç3iÒ$ž>}ªÚ6`Àf̘Qbñ–+Ï®dOÈÕÏQ‰Qøžð%,.Œï.x­±$>IÄk½=üKU–N:ç"þŸ½óŽŠòøðˆRE)" (T¬XckÔÄ[4vMŒ1͘¢1ÑX~±EE½Å Šˆ ŠX)*¢ÙÝï¾]]—²4Q3Ï9ž#óÎÞ÷Þywggï¹÷A A,ë·LÅ)ñç…?9vã˜âo©LZ*9Ñ©Ñ|°ý2s2}ÏDŸáÚÝk8Ö+< P—’.1bǵû÷uè˪«Jìÿ(-š4T¹¦˜ëÓÅ\ÿºbnnNll,=büøñ„„„(]×ÕÕåóÏ?gܸqж—kÀWk æzyöáÇ̙3‡óçÏ+õÑÓÓcáÂ…J»Ë:Dbb¢Ú¶¼ìü—ãëëËíÛ·ÑÓÓ£Y³f´lÙRÉùTѤ¦¦ààðµö¦’‘“ÁðíÃyõ@Ñv6æ,—/±wÔ^¥ ì«`÷ÕÝ|÷ïwÈd2E[RF›/n&0.}£÷¡§ý¼îcFNöSÒ_*•–JβûênE¿ÄG‰,õ]Jø}Õ:åÅ1fÏãÕîï=É[åÄØË·¦7Ö3ÆLߌČD¤2©"í§àõ¡FsïÞ=®_¿Î”)SHIIQêcjjʪU«ÁÖÂjÀWk ÿþŠ9øúõëÌš5KiM ›TÖ­[‡£ãóõËÿþ÷?¥ÏHI¶¼ìü‡‚€æ‘#G¸{÷.&&&¸¹¹Uê¼)‘Hxôèõë×WúÞ‰gõêÕèêê²råJ×–/_ÎîÝ»yöìãÇçþýûŠkÍš5cß¾}Uœ®l„ÿFøo•‡ðßTýôÓJI¹&“ÉX¶lÚÚÚLž<¹Ð> .DOO‘#G¢¥¥…§§'W®\á‡~àÈ‘#8::âââBzz:ÇŽc×®]Œ1BÉÉÿ6âåÅWï~E?‡~èVÓålÌY\Ä‘ð# qBû†¥ßIzlÜ1"’#èïÑŸÉm'3¯Ë<¥ëC¶ !&-†«s®*µÿâû ·Þ¢W“^Li;…F¦ÈÍÏ% .€…Þ ùáäô´ï©ä˜—ëßס/fúf,ð\ ¶œ%§—™“I×F]™×yVÆVĤÅðó©Ÿ ˆ  ªÉÊÍÂXϸЀ–b®Ïsý늹¹9lݺ•ÌÌÌèÖ­FFFܹs‡‹/rùòe¥ìËôïß¿Ð:{À‚ 6H$&MšDhh(–––tìØ###âãã9uê_}õ5ÂÅ¥ é¡C‡ T?Ô·oßB°S¦LQúÛÁÁ•+WVŠsþÚµkœä§Ÿ~*ôº‡‡999 2Efƒ… r÷î]tttëý'NΞ={;vl…ëú:!ü7Â#¨<„ÿ¦by›ü7"+‚2ãlîÌ/ïý¢púºY¹±~ÈzzüÙ¯(¯2-àËÊÐhij±eøêê×U´»Y¹±¢ÿ zoêÍ©[§”ð.æ.,î½XÉi]9^‘^hhh°fЛ6 †Q õZDlzl©v¿G}Uó ¥¸ÌêîrTòY©©©äææ2lØ0/^¬ÔçæÍ›*©)_¤°úQ÷îÝcäÈ‘üþûïôìÙSѾlÙ2ôôôؽ{·Ò®x™LÆôéÓñöö&::;;»RÕy‚‚”/£¥¥EÛ¶m±··'//ÐÐPBBBX½z55kÖd„ jËW‡_ý•Ó§OóÃ?ª¤ˆÛºu«"ÙøñãéÞ½;û÷ïgÚ´iÌ™ó|Nkݺ5 ,À××÷­ÀŽsÇx·ñŠ¿û¿Ó©LÊgÇ>Ã+Ê«Lز'ÉãXø1›6æ(æn=m=ú9ô##'ƒ…Þ N ¦“m'ÅëÆ»WÒ¿4rZYµÂ?ÖsCsþø‡"xÐ̬뇬§Û†n<ÊVN‰T­,[)R®½*Ä\ÿúc``@VViiiüý÷ߘ™™)®çåå^ü ¼÷ßWM/ýÇP·n]6mÚ„ž^Á†„ÿý—ÐÐPú÷ïϲe˔겆††2tèP¶lÙªU'¯ D«V­Ô¶¥°T½–––´lÙ333îÝ»ÇéÓ§‰ˆˆ`̘1x{{+Abb"Ÿ~ú)ÖÖÖüðÃ…öIKKcÓ¦MtîÜYÑöÕW_±oß>.]º„···büŸ={FÏž=ñõõU¤“{[©¡]ƒ C7(êqÛÕ¶c倕ôÝÜ—KI—xøä!¦5+ï„Ë;L¾4ŸŸzÿ¤”þ·‘i#V¾¿’KI—8yó¤R¶†v 6 Ù ”B³4r¼£¼˜×eCœ†(úŽj1ŠŒœ Vœ]¡¶þø«LvGIs¹˜ë_^œëmll8räššÏO+§¥¥)¾ŠâåúßÏž=cÊ”) 6Œ ž—EøóÏ?ÉÌÌdÑ¢EŒ9Ré5[·nå§Ÿ~âèÑ£|ôÑG@Aí½Òœ€} qrrBOO˜˜üýýñòò"//?ÿ,¼ÌDYñññá·ß~£_¿~ŒQxf™L†——õë× 6 ½÷Þ{Ò¾}{6mÚ¤Xï=š^½zqúôé·>+ü7Â#¨<„ÿFøoŠB`@Pfܺ«8£¬Œ­°©eClZì+ÕåVÊ-$R ×ÔÉdÈ)þp7ó®Òk:4ì ¢iäÄ?ŠÇLßL±x‘N6Jµ€¯ t €9*×2s RiT7x¥: ÔG^JGG‡–-[ÄéÓ§iݺµÂa]ÔB´(’““;v,3fÌ oß¾Jí·oߦAƒøùùáççWðÞÿÿ÷¼üsV¦ü˘››ããュ¥¥RûßÿÍüùóY¿~=ãÆSrL•™LÆâŋٲe óçÏW8› câĉŠÅ;¬­­‰U9Á%¯rçÎrëøºÓÑFµ&‹<Àù*SÛ&>J$'?‡Û©·iú[A.uçú²ÊIz”„D*ÁÍÊMéä€auC\-\ñ½]tê×W¾®>™9™…ˆs½®˜ë_WtuuÉÎΦgÏžìÚµ † †­­-èèèàêêZ² Ø´i§NbûöíJ'Î;8Ðׯ_¯x¯Ëç{CCCBCCý T.Ûf̘£££Ò\ž‘‘Á˜1cçàÁƒæìŽŽŽfôèÑÔ¬Y“;v(œ`/Ó¬Y3¥à+@‡Ø·oC† Q ~kkkÓºukMdd$M›6-×=äxzz2gκuëÆ²eËŠì7hÐ Eð mÚ´!::Ze½occƒ¹¹ùbM/ü7Â#¨<„ÿFøoŠ¢\Ø .””ôVï¼9¬\¹’•+WVµ‚ÿ/ñŠFîÜʤ*×ròsTÚÊ‚\vqu8žI”S6ëWˆœŠ 2jˆX›¤Þ»™r“-”®E&Gô1VMÏ'x=× ÊÉÉaË–-lÞ¼™+VpëÖ-êÕ«G›6møè£TE‘––Ƙ1c˜0a‚ŠS]¾ã>!!+Šv2>~\ò¨¼5Dj×®]h¿ÁƒãááAdd$wïÞ-÷<+‘Høúë¯9pà_}õãÇ/¶ÿ‹Ž9zzz*NÉ‘Ÿx¹®Ëù¼þâïùÿ+k®—Ë•ÉdŠÚO…ñòmRC9%jY唗ʪkmlÍõ{׉Kæ–Ò5Å\o"æúוêÕ«“››‹»»;»wïfÛ¶m >œÜÜ\éÑ£~ø¡ÊTÛ·oçðáÃ…!åsýÞ½{Õ’UÞ°Í›7WécddÄ´iÓ˜:uj‰'{Õ%$$„ñãÇS«V-vìØQl ´^½z*mò±-îZquÿ Èçwy}Q¹sûE^åš>O’§ôwY×ô/Ë©*£ì‹kú—y”ýˆY°6¶õ__cªW¯NNN³gϦAƒ>|˜Ÿ~ú‰5jàêêÊ€xï=õjPJ$æÌ™CÍš5ùé§ŸT|²iiiH$E6ƒÂ¯é¡ü5` û-âààÀ AƒØ¶mááá€Ý·oß|ó ={ödåÊ•T«V´K»,s}fff¹u|[þ›’þÁËÿðßE¹°7FOOO)/T+W®¤Y³fôèÑ£ªUüG8qâ„ÀqÌî8[éG_â£DbÓb•œ½µkÖV\{™óñç+D»Úv„?'pz`¹Nú”F޵±5!÷C¸õð–Ê.ʳ±gˬCEáf密 8~„.ÊNÿ#áGhÝ uU¨&PƒÜÜ\ ÀaS£F f̘ÁŒ3ÈËË#**Š={ö0tèP6nÜH—.]Š•õèÑ#ÆŒÃÈ‘#>|¸Êu#£‚š25*Öù#¯1XQ5D*“¼¼K—.-ô{ÁÐм¼<&MšT¤œF)þ_5`+› 6ðÛo¿ñÞ{ï±bÅ ¥úõþá¿TÂS>ÞfÿM¹°µkצvíÚÅFÚ‚WÁÊ•+éÑ£‡x/ ^IIIU­ÂkÁõ»×YเOÛ}J]ýº„?çû¿'_šOï&Ï¿¬å‹Û­—¶âb¹3Ÿ<ä¯KqòæÉ Ñåç¸tâcöŒaF‡¸˜»` k@rV27Snr ô#]G–X«°4rz7íÍõ{×™vh‹z.ÂÙÜ™´§il¼°±Ôék*£†H‡†074'81˜Å>‹ù´ý§TÓ¬Æ_—ÿÂ;Ê=zØ‹+¯+YYYäçç¢8I¤££ƒ““ÆÆÆìÝ»—C‡»€üø1ü1dôèÑ…ö©_¿> 6$%%…Þ½{«¤Æ‘Éd(j‹”·†È… hÑ¢…Rº(Ha…±±q¡»ÕåéÓ§|òÉ'ZÿJP:¶o¡Ž~ú;ôG§šgcÎòã© ëû,fqŸÅXY“Ãog~ãAÖƒrë¡§­G¿wúñwèßÌ9:‡±­Æb[ËÝjº$e$qíî5v_ÝÍ®‘»ÐÑÒ©95´kÐѦ#g¢Ï0ýðtæuž‡•±1i1ü|êgµë¿BåÕ€â4„Í7³áü¬Œ¬èÓ´éÙéüìó3²ÐѦ#õ ËþyT.YYYèëës᜜œ)ƒëÖ­K¿~ý8sæ ‡&66;»¢OÉ:tˆÍ›7³cÇŽ"ÓX¶k׎ýû÷#‘H˜>}ºŠã>%%…{÷î)þ.O Ø;wî““£¢sFFkÖ¬(wý%ooofÏž­­-ýõW‘AeAÉ<}ö”É&óm÷o±¯cÏÝÌ»¬8»‚èÔhZY¶R^õ´õ074Ç?ÖŸý!ûéÓ¤¹’\NÞ<Ér¿å¢Ë §A¬?¿ž¹GçòyçÏq·qÇ´¦)9Ä¥Çq"âfúfJ5`Ë+§W“^l¸°ßÎüFõjÕy·Ñ»Hd<#=Y¸¶TúWF X]z7éÍñˆãÌ8<ƒzý@=ƒzœ‰>£÷á.ªZÁëCVV666øúúÒ©S'´´´ÐÔÔÄÖÖ–† ²}ûv|€wÞyG-ÙE±téR6nÜÈûï¿Ïo¿ý&‚¯å@øo„ÿFPyÿðß…¨+‚2Ó»Io…â@ˆr* »ÚvLn7Yñ·•±½šôÂ;Ê›‘»ž‘jih1Ðq ‡Ã—[—ÁŽƒ¹˜p‘ƒ¡ùäÀ'…öî\²c¢4rÆ´ÃÑð£D$G0z÷󅑆†}úr"âD,©8´µ´ù©÷OL:0 `<‚=×444XÔk5´k#AP•ÈðYYYL™2…&MšðÎ;ï`ffFFF>>>@ÁNô¢xòä ãÆ###ƒ§OŸªìz|1Øüùó™:u*ï¿ÿ>íÚµÃÎÎ]]]’’’¸~ý:III„‡‡£¥¥Uî"¿ýöIII¸¹¹aaaAnn.!!!„„„0iÒ$犇‡‡bLRSSX³f"ýؤI“if¦NÊ… hÒ¤ ©©©*vëèè¨ÔM¯&½ ‚ª>‹•Ú4 äéÿNVœ]Áå¤ËôÚØKÑn¦o†»;±åÖåëw¿&âAÇnãØc…öQljX9 º-àrÒe|oû*Õ{5Ö3®0»ÊC#ÓFLi7…µkùâÄ|qâ Å5£êF|×ã»*ÔNPOž>>“ŒœŒ*_Àt²íÄÎv²:`5×ï^G*“âXÏ‘ií§ánã^Õê ŠA^¯ÃÊÊ ggg®_¿®pVÈqss+ÖiràÀ…3£°”3/¦ëÑ£¿ÿþ;‹-ÂßßE?MMM:wî\l­¥Òàî‡^^^Jí:::Lž<™É“U«›7oæÁåS”k×>?•2zôhÅ>!!€¨¨(•1000x£ð¯š)í¦Ð¢Û/oçNæÌôÍøÀù•ÓGºÕtÙ:b+‹}s)éZšZ´·nÏ7Ý¿©°“QFÕ80æ]þ‹'ˆIA† # ZZ´d˜ó0¥4Á!Ç®¶Æ`©ïR‚‚Éd´´lÉ×ï~ÍŸAVˆ]åen§¹XYñ×忈I‹AO[¶ Úòy—ÏihÒ°ªÕÃãÇÑ××§]»v\»vÓ§O+]¯Y³&ß|óM±§;¿ûî;$ û÷ü255ÅÉÉ ---6oÞÌüùó9}ú´J33³Bë¶– š4iÂåË—¹|ù²Ò5~ÿýw •ÚÃÃÃU¾«^|ý¨Q£Ø»wï*RfîØ±£P DVMŒª±gÔ~:õ/"•JiiÙ’/º~C]åàÉè£yš÷”Ý×vóàñ¬Œ­ç6Ž ;TH`˜ó0šÖmŠÇE.&^$íiµjÔ¢¡ICú:ôe@3ÕS}啳¨ç"¬­Ùsmâ»n„Ëú½óz`ëÖçà˜ƒ,÷[ެ?Y¹Y40iÀG®1ªÅ¨ªVOPò¹¾[·nœ#,,Œ°°0¥~ŠàkyiÞ¼9FFFøùù©\ëÕ«¿üò‹Jû¿ÿþË‘#G”Ú^üÛÞÞ^€•¯é333ùã? Õ¡G"«&Â#ü7‚ÊCøo”þ›çhÈÔÍ3Q|ð@‘?ô‚W…††³gÏ)ˆ¯ŒÊžÿ3gšqûvt¥ÞG ¨RÙŸ¿É“'£§§ÇÊ•+ÉÎÎ&((ˆØØX  ½X§NTR>®[·Žºuë*N®_¿ž¼¼¼"ï!?û"ÑÑÑ\ºt‰´´4jÕªEÆ iÕªU…§v çÆ<|øœœœpvv.²¯üt@a¼x622’ÿý·Ø{¿xV"‘°fÍlmméׯŸR¿ØØXŽ;FçÎUt;sæ !!!Œ3¦ØSÈÁŒfüïåOÙ.JGe~þrssiÞ¼9«V­¢wïÞ¤¤¤péÒ%©Q£666´k×N)-|rr2{öì¡M›6´iÓ†””vïÞ]ì}ä'`åÈd2®\¹BXXÙÙÙÔ«W&Mš”;ýûËH$.^¼Htt4?¦N:¸¹¹amm]hÿOÀÆ‹'`}||/öþ/®ßããã9räH¡¸råJ¡uÐwîÜInn.ãÇ/ÑÞò"ü7AÕ!ü7eç¿ì¿Ñ××ÇÌ̬T¯y€¼ˆ¬àU#°*÷ó·|ùrN:¥²C^ðßC`‚ª£²?ï¾û.,W HÁÛÀ UGe~þ"""èß¿?ÞÞÞÅÖòü7þ êþAY(oV³ä.@ ‚WMtt´b÷·@ Þ>rssIJJs½@ ¼Åܺu‹jժѠAƒªVE •„ðߊâ•`ûôéÃìÙ³_å-+·É–²ð&Úß§ÏAfÏ>]rÇ7€·É–²ð_·_ ü7¸qã7®j5@PIDEE!‘H°··¯jU@PIDDD`ccƒ¶¶vU«"‚JBøoEQ1•xÕÄßߟìììWyËJãm²¥(Þ}÷]\\\X¾|¹Êµ7Ñ~ÿ$²³ó«Z ám²¥(Þ}w..uY¾¼‹Êµÿ‚ýà¿Mll,III´oß¾ªUA%áïïOݺu±µµ­jU@PIСC‡ªVC •„ðߊã•`===100x•·¬4Þ&[ŠÂÏÏ B¯½‰ö{zÁÀ@§ªÕ¨Þ&[ŠÂÏ/‘"Þ~ÿ ûÁ›³gÏ¢¯¯‹‹KU«"‚JÂßߟÎ;ù›K o6)))DFFòùçŸWµ*@ ¨$„ÿFP¯4Û±cÇWy»Jåm²¥,¼‰öwìhYÕ*To“-eá¿n¿@ xû9{ö,îîîT«öJ—j@ xEdddpõêUÆŒSÕª ’ðóóCWW—6mÚTµ*@ ¨$„ÿFP¯ô]ѧOš4iÂÊ•+•Úoß¾ÍæÍ› C"‘дiSÆŽ‹³³³ŠŒôôt<<<8þ<™™™XXX0dÈúõë§è“——GÏž=qwwgÑ¢ElÚ´ ooorssi×®3gÎÄÐÐPEvPP›7o&>>KKK&MšDÆ 1bƒ bÖ¬YEÚRÖ{ªcOI¨3~/ê÷í·ß²~ýz|}}‘H$¸»»3mÚ4ôõõ eÆŒH$._¾L—.]rV®\‰‹‹K¹žeYǪ¼ôés&MLX¹²ÛK:?bóæPÂÂ"‘HiÚ´cÇ:âì\GEFzzaœ?—ÌÌ\,, 2¤1ýúÙ½`Ÿ„ž=àînÁ¢EØ´)oï8rs%´kgÎÌ™-04T=½tÍ›C‰ÏÄÒÒ€I“šÓ°¡!#FgРÆÌšÕ¢H[ÊzOuì) uÆïEý¾ý¶ë×_Ç×7‰D†»»Ó¦¹¢¯_P%4ô!3fø ‘ȸ|ù]ºìUÈY¹²+..uËõ,Ë:V@ðªHNN& €eË–Uµ*@ ¨$Ž=ŠŽŽ:uªjU@PIüý÷ßtêÔ‰êÕ«Wµ*@ ¨„ÿFPU^vÿþýŒ5м¼]Ñ~þüyÞÿ}>|¨$cëÖ­Œ?žÍ›7 •JñóóÃÐÐrüøqEßþù‡C‡qþüyttžY<<<˜8q"2™LѶmÛ6–,Y‚ŸŸŽŽŽÅÚR–{ªkOq¨;~rý èÝ»7gΜQô?~ü8[·nÅßßSSS222ðóóàÑ£GŠÿËÿ.Ìþ²èRš±ª «º£FýC^žäcYµê «VucútWEûùówyÿýC<|¨l÷Ö­aŒïÄæÍ½þß>~~‰ê0pàaŽ~Á¾ºÅùó¡££¥h÷ðeâDo^xû±m[K–tÂÏ/GGÓbm)Ë=Õµ§8Ô?¹~:ôî}€3gýfëÖ0üý?ÄÔTŒŒ\üü ®?zôüÿò¿ ³¿,º”f¬àU²gÏŒŒŒèÕ«äyX o&»wïfÀ€ŠM°@ x»ˆŽŽ&88˜-[¶Tµ*@ ¨$„ÿFPšUyó;wî0vìXòòò2d»wïæàÁƒŠ@è¬Y³¸zõ*™™™ 8ÔÔTFÍîÝ»ñòòbÍš5ØÛÛãááÁ®]»”ä{yy̯¿þʉ'øóÏ?±¶¶æÊ•+ìÛ·OÑ/!!©S§"“É;v,`Ïž= :”¯¿þºT6©{ϲØSžñ“ãííMHHK—.åøñã¬[·[[["##™3gNNNøúú¢©©I‹-ðõõUü+*—yYtQw¬*‹;w²;Ö“¼< C†Ø³{w?ÀĉNÿ¯ói®^M 33“ššÍèÑï°{w?¼¼†²fMwìíMððe×®ˆ—ì‹%8ø¿þÚ™'óçŸ=±¶6äÊ•ìÛ¥è—ÉÔ©§É`ìØf8ð>{öôcèÐ&|ýµ©lR÷že±§<ã'ÇÛ;––.íÄñãƒY·®¶¶FDF¦1gŽ/NN¦øúGSSƒ-Ìðõ®øçâR·ÂtQw¬àU"‘HØ»w/Æ «ðH@ x= âæÍ›|øá‡U­Š@ *‰íÛ·ceeEûöí«Z@ TÂ#P‡*ML½cDz³³UN{<+++.\ÈÆY»v-Û·o'99™Å‹³`Á%9Æ ÃÆÆ†­[·òÑG)Ú«U«ÆÙ³g±··W´5jÔˆnݺȨQ£Ø¹s'¹¹¹Ì;—åË—+ú>œ &àáá¡¶MêÞ³,ö”güäH¥RN:…«ëó“C‡¥iÓ¦ìÝ»—uëÖaddD—.]ÐÐÐÀÄÄD)qEê¢îXU;vÜ ;;_å´çàÁ±²2dáÂslÜÂÚµÝÙ¾=œää§,^Ü‘ ”kw Ö›?Ùº5Œ>rxÁ>MΞý{{“ì3¦[·}ÞeÔ¨wع3‚Ü\ sç¶bùò.Š¾Ã‡7eÂo<AAA9rEª`™L¦ødd¤’ŒV­Z)÷Z¶l @jjª¢-4´ À5nÜ8=>þøãR`Õ½gYìy™ÒŒŸ¥à+€©©)ï¿ÿ>[¶l!""77·í¬]Ô«Êâúõäÿׯ¹ÊµÉ“Y¸ðœ¢OPÐ=޹O¼"U°LÆ Ï+MIF«Võ”‚{-[Ö 5õyÚßÐÐÆSNs ðñÇÍJ€U÷že±çeJ3~r\\ê*_LMõxÿ};¶l #""7·z%™Y!º¨;V@ðªxúô)+V¬à£>ÂÒÒ²ªÕA%àççG@@»wï®jU@PIüþûïÔ®]»ØC@ xsþºTi6''€Zµj©\311ACCCÑ'++ x¸, ]]]¥¿ “+?.‘<¯)¯ejll\¨¥AÝ{–Åž—)ÍøÉ)ÌÆe¼\×U]Ê¢‹ºcUYääHþ_=•k&&ºhh<ï“•õ x¸, ]]åS­ZÕUúèèì|”Hž{•×256V}Þ&&ª2ŠCÝ{–Åž—)ÍøÉ)ÌÆõ~¹®«º”EuÇJPz"’#8yó$ï5}F¦HÎJfϵ=´iІ6 Ú” Að*¸“q‡ƒ¡•žSaö<«©LÊõ»× J"O’Ç€f°6±®jµ*„?ÿü“œœf̘QÕª%ròæI"’#˜ÔfzÚß¿Wî\! 6€ÁNƒ±4?B_.&^äBü¥çT…=Ϫ$'?‡À¸@Âï‡#CÆ´ÓÐÒЪjµÊD"aéÒ¥ôêÕ«L›^‚WIfN&[/m¥yýæt±ë¢h_w~uõë2ÄiHÕ)'P •IY¸ÇzŽJÏéeŠzžUIlZ,~1~dædÒÒ²%v¨j•*„ˆˆ:ÄòåËKôë Uðß¼ÿÍë‡ðßÔ¥J°æææÓ¨‘ò¤péÒ%d2™¢•UAÒµk×âàPxZTmmíréqõêU• W®\)“Ì’¨{J3~rÂÂÂÈËËSÉK~éÒ%,,,mŠÓ%Q]ªss}‚ƒïÓ¨‘r`úÒ¥ÈdÏûXY°vmwj*O[»lieä÷¸z5KK¥kW®<(“Ì’¨{J3~rÂÂ’—'AGGK¥?€…Åóþï?5Œ)£.‚ÊãÆƒ¬X}{Å‚ïÁã¬XÍL÷™U¶€¿›y—!hgÝ7+áô³Ø~…=ÏÒPQãžžÎüó Œ $'ÿùæÍÉm'£UíÍÀnܸ‘¸¸8¥²,ÁëJfn&«V3ªÅ(¥€ÝÚÀµ8ÕsªÒìÿþ‡¥±%ƒU™¯ ×ï^g¥ÿJ~ïÿ{±ýŠzž¥¡¢Æ}ßõ}lº¸‰˜ÔEÛ䶓ߊl~~>ß|ó NNNôíÛ·ªÕJDøoÞ „ÿæõBøo¥¡J ôêUP«ñË/¿T¤ˆgÚ´iôîÝ(¨% µF­¬¬èÒ¥‹âŸ»»;©©©$%%•I=zðÅ_­h¿qãß~ûm™d–DEØSšñ“óàÁfÍšEnn.PnvÅŠøùùagg‡¢¯¾¾>qqqH¥Òí)‹.UM¯^ øò˳„†>T´ÇÇg2mÚ)z÷.è3xpc  Ö¨••]ºX)þ¹»[ššMRÒã2éÑ£GÁ=¾øÂèèGŠö7RùöÛse’YaOiÆO΃O™5ë4¹¹§Qe2X±â2~~‰ØÙcg÷‹/Vêëêꊯ¯/666X[[£©©ÉÊ•+qqq©]ªš~ýìèÚµ¾¾ ¸ºn£qctt´ˆŒL#/OB³f¦Œï@çÎVŒG(mÂÖÖ3³š¤§ç—INN>óç·føð¦¥Ö£;Ú´©OPÐ=M%ä^Ó;L¯jUJÅ÷=¿ÇÍÊÚ5jóý¿ßñ ¢ªUª~ùå’’’8vìX…¯7‚WI ‹´°hQÕjþÿXžIžÑݾ{U«¢6µkÔfÃÐ ´·nž¶}6õ!=;½ªÕ*7Ož¾·}ÉÌͤ±ic:Û¾óº°"ñéñ ?B'ÛN8×w&(!ˆðáÔÔ©É—‚ùO"“p>îþ<B€…‘…RªÌ;wŒäᓇU7¢Mƒ6ØÕVv”§w¾4Ÿ{!|ÐüêÖWÑQžŽ·¯C_¹¯Ÿ[>U7¢¥eK¥vuŸ§œ«w®•Ezv:ujÖ¡u;¥SÎêŽ{IrŒõŒy·‘òwÓ›‚··7]»vU)õ’ŸŸÏôéÓyòä ¿þú«8%x-y’÷Ÿ[>ÜͼK=ƒzô°ïQdß—kÀJdÖœ[ƒmm[ú9ô#:5šÀ¸@Ò³Óù´Ý§hk”V »ÆÕ;WÉÊËÂLߌÎv©]£ðr8"¸rç sÓÀ¤í­Ûc¬g¬H(•IIHO`uÀjÅk^üî‘È$Ær3å&©;S;ܺ+ý†(Nïq­Æ±åÒ7` ã@ý¤2)ëϯÇXϘ\?*ý€WIIÜzx‹¯ÞýJ©½4Ï ²\L¼HBzÕ´ªaojO»†íµ·Õ÷’äÈiß°}E˜ÿÊ‘H$üûï¿ôéÓGåZLL Ó§O§gÏžeöM •ðßÿðß”Œðß*šW‘ðôôT dàááÁªU«ˆŠŠB"‘иqcjÕª¥òzMMMæÎËœ9s¸}û6)))Ô©Skkk¥º:::øúúbjjª"C~­N:JíuêÔÁÓÓ“¤¤$±°° Aƒüþ{AÆkKYî©®=ÅQšñ“3`ÀúôéCxx8R©GGGtuU¿ Û´iCbb"¤§§#•J§_Ëó,Ë2V§ç•@¦½YµªQQiH$276¡V­ê*¯×ÔÔ`îÜV̙ӊ۷ÓIIɦN=¬­ •jšêèháë;SSÕ€³üZ:Ê×êÔ©§ç’’“˜ø }40ä÷ß jó6n¬œ~íe[ÊrOuí)ŽÒŒŸœѧ áá©H¥2MÑÕU½_›6õILœLDDéé9H¥2Åé×ò<˲Œ• pö‡ìg¡÷Bò$yŠ6sú¿Ó_¥oa5DâÓãY°-Vú¯$ 6€ffÍá2‚ëw¯3ëÈ,’2”Ó±×7¬ÏºÁë”x×î^cîѹ$}ö”O|¢4Žr:ÙvbÍ 5èië•8îêÊy“IOOgìØ±sèÐ!%Ç»‹-bΜ9ôëׯ µ G*“ò÷w칦ý3Y¹YJ²Ü¬ÜX;x­R Úý!ûYì³XežneÙŠ]#wq(ìb>‘Ï=­­Z+Ëü–±1h£’CACCƒšÀ½~ šfµõîÚ¨+«V“ý,›ù]竌ÃâÓ‹‰K‹+q^–;´ÕÅ¾Ž½ÚŽ ©LÊ™è3t¶ë¬p|—öy†?gÎÑ9J5ú454ù´Ý§Ìé4 ÄqWWΛÌÙ³g™9s&óæÍcâÄçÏ]&“ñÕW_qåÊvíÚEݺª™\‚ª&ô^(Ÿü„”¬E[ý:üÔû§—§- IDATBû¿\6_’Ïê€ÕtoÜ[)·X¸FÑwBë däd0çèÅF 9zÚz,챡͇*ÚR²RøìøgŠrjêÔdiߥ˜Ö4Uÿ’2’”òïžÛoóéߟ›«$ÃLߌÿ úŸ"SCIzŸ?φ èb×c=c%Y~Ñ~ü~öwµæ¯Ca‡H|”Xb?9£[ŽV;ýºÏ-¥Tó¥}ž?žú‘ÝWw+ýhhÒlĦ–"%%=îêÈyÓùî»ï8xð J©ä“““?~< 4à·ß~«:‚bþá¿þ›’þAeðJ°;v,òš­ZµRKކ†7V ŠÊÑÔÔ¤K—.¥ºæíí‘‘mÛ¶Uì`ðññáÇDSS“îÝ•Sw½lKYî©®=êPšñƒ‚@§««k‰ýªU«†““jêÖò<ËòŒUyèØ±è):´jUO-9Ñ—ƒ¢r455èÒŪT×¼½ã02Ò¥mÛúXZ¶}|øñÇóhjjн»rò—m)Ë=ÕµGJ3~Pètu-ÙU­š&NNªúò<ËòŒ•à9!÷BøÆë$R nVn4¯ßœ´§ixGy+9/ÔÁ#؃§yOéÿN7 žA=îdÜaܾqdædâlîŒs}gtªév?Œ ñ˜t`''D_WŸ„G |¼÷c²r³°0² }ÃöU7":5ÿîfÞ¥µUk†6Ê´µnKk«ÖJ:D$G0ûÈlò¥ù8Õw¢•e+²ò²8uóWï\eÚ¡iìµOiñU˜Þúºú i>„í—·z/§úÏçÏÜü\„à³wheYò|ýGàJ‚â0­iªö>O’G@l(ÚJû<Ÿä>áBüë9âP×Óš¦dæfr1á"gcβ&p Ÿwþ¼ÄqWWΛJNN&Làþýûܹs‡£G2`@Á¸ûûû3sæLFŒÁÔ©S«XS p¶^ÚÊžk{ÐÒÔ¢GãX[Í®k»J]›ó;ïïÐÖÔf˜ó0êÔÃÕ•S·N±ÀsZZtmÔ»Úväåçq.îÁ‰ÁÌ;>Ml j-øgÍë7Ç©žZšZ„ÝãRÒ%dÈä8©LÊ…ø m>sCsÅ)ËWv°þüz444èÖ¨vµíHÊHâä͓컾Z5j©Ì9…éÝκMê4aÈ~fwœ­´«?ô^(¡÷Bç6ŽÚ5Š“ÚêÐס¯ÚØ+w®ž®ä”/íóŒM‹%>=ž ;`[Û–š:5IÎJÆ?ÖŸ5kp³rÃÝÆ½ÄqWWΛJDDS§NE*•²jÕ*L­ZµJ¥üøã;vL‘ùH xÝx’÷„É'“’•‚M-ÜmÜ‘H%øÅø)æ\u¹zç*§n¢£MG̨^­:ššL:0‰Ð{¡XYÒѶ#FÕˆOçÔ­S|åùLábîB¾4ŸñûÇñ ‚š:5éÖ¨õ ës'ãçâÎqãÁ F¸Œ`¦ûLþwîXZ0Øi°âþFd?ËfÂþ Üɸƒ¹¡9í:£­©Í¹¸sD§F3iÿ$<'z*óEé­­¥ÍØVc™~h:B¨¬³w^Ý‰Ž–º|X⸠;¤P.޾}ÕÀÞöÁ¶¶- Me{žþ±þÔÕ¯‹«…+Fäæç‘Á…ø |qâ öÞ¹¡y±ã®®œ7™õë׳o_ÁïÁŸþ™7ððáCƇ®®.›7o~í2¿  ü7Eé-ü7Âó"Â#¨,DNÎÿ'44”yóæQ·n]6lÈÝ»wIJ*ص3mÚ4,,,J ”ÐÐæÍó£nÝ4lhÄÝ»Y$%ìâš6Í ý*ÖP Pf륭H¤fºÏTJE2Ó}&ïoy¿T²²ŸestÜQlkÛ*Úz/$3'“E=1²…òÉœ­—¶òÓ©Ÿ8zã(¹~ÄúóëÉÊÍb@³üòÞ/Š4gP°C[KC‹ú†õÑÐÐà@ÈÚY·cZûiJ27m"_šÏ8·q|Õí+ÅBý‹._0xÛ`®Þ¹Ê…„ ´³nW¬ÞcZŽaÇ•켺“_êÿ¢h?q‚GÙøª›rа¢˜Þ~z©vPªËùøó<}öT)ÅciŸ§¾®>ûGïÇ@×€Ëw.“ú$m-mz7íMRP§oŸæóΟãfåV츫+çMD&“ñå—_ŽD"ACCƒÅ‹Ó³gOþý÷_¾üòKúõëÇwß}WÕª E²9h3ššl¾¶ÖmíÞQÞL;4­˜WªRÏ »GNME[ïM½ÑÓÖc÷ÈÝJ»âe2ÓOÇ;Ê›èÔhìjÛ±Üo9‹z-R9±y)éšh2Èqw3ï*/;KÖŸ_ÀšAkèißSÑ~ýÞu†oÎÖà­Lk?MiçvazŒi5†¯=¿æŸÈä8HѾãÊ454ÓrL‰c"wh«‹}{µûž¾}- -¥Td¥}žŽõ9õÉ)î?¾ODr™9™XYÒ³qOv^݉ÏmE¶¸qWWΛȃ?~<ùùùÈd2ž={Æï¿ÿÎÂ… ™?>žžž¬X±w÷7Ó>ÁÛÏñˆã$g%ÓѦ#ýS±ŽÎ~–ÍèÝ£I{š¦¶¬Ô§©,ᅵÍž;‰=#= ½Jÿwú³¬ß2´4Ÿg> ½Êп†²%x «¬âDÄ "DÐØ´1;>Ú¡”žøIÞ%(æÍ5kh`Ò@eÝw}w2îТÛFlSÌçùÒ|f™W”»®îbvÇÙÅê УqÌ ÍÙuuZOPü>HÊHâlÌY9¢V¢3Éä8H-ç½udBAJþ‹ çö¼®tYžç¢ž‹°­mË…ø Ü˼‡Ž–­­ZóðÉC®Þ¹Jzvz‰ã®®œÒnÞz]8qâË—/G&“!“Éðõõ% +++Ƈ¦¦&ýõÆÆÆ% ªá¿þá¿)á¿T&"ûÿôîݛÇsîÜ9’““¨^½:S§NeéÒ¥U¬àm§wo¾Í¹swHN~ @õêÕ˜:Õ…¥K«®Î€@PW’® §­Ç´Ê 2+c+†» gSÐ&µe h6@eˆ–†iOÓX¸Fñcàɳ'@ÓׂÔ(ššüÐë¥Å; HY—“.£¥¡Åg?SÚ%i¢g”vSøÚók.']VZÀ¦7€M-:Ùtâøã|ÙõKEʲWwR»Fmú½£^ª’î3ÔêWZNß>ž¶ž’-¥}žššl¾¸¯(¯BïñðÉCµt©(9¯#K–,áŸþA*• úG1kÖ,|}}™8q"_|ñ…¨(xm¹“q‡Yp·qW ÖôjÒ §úNó°šLj3I)ˆ™œ•Ì퇷i`Ü¿?übü”æz >a÷è©S“¸ô8š×o^hº\uÛw3ïrÿñ}ZZ¶T ¾8×wæ=‡÷8~”°ûaJ5 ^Ö[΀føíÌo츼C€}”ýˆ'èÖ¨VÆ%gÔ(m¶4øÜò¡uƒÖèdV)ËóÔÒÐbòÁÉÜL¹Yè=Ô£+JÎëFVVcÇŽ%==üü|  Þë¾}ûˆŠŠâÖ­[lÞ¼™öíßÌZ‡‚ÿW’®ëÎ×ÑzÚzLk?I&©-˦–Jó\Ü9 ÀÙ¼þÂzÅ/“É!ðº¡bî‘§4œßu¾JmØš:5q¨ëP²=w ì™Õq–ÒfšjšÕø¼ËçxEyq9ér‰zhij1ªÅ(~=ó+þ±þŠú»®îB*“2¶ÕØõ”6éT$gcÏ’/ÍWÊtP–çyíî5ÆíG¾4¿Ðû¤>IU+pZQr^7‚ƒƒùì³Ï”Ú455ùúë¯ÉÉÉÁ‚7R»váõŒ‚×á¿þá¿)á¿T&"ûÿ8::@ZZ111hiiÑ´iÓ·&}HquWU££)’––CLÌ#´´4iÚ´zzoÇG´¸º«‚7“Œœ þ½û‹âZ8þ]zo"ˆ€"ED{ïÆØ£&†cŒ)šr£7¹½)FMÑob‰‰%j4±{‰½!¢‚QPTzA@¤/ûûƒ×A}?ÏsŸfΜyg69;ûž9ç42o¤^WîNUI:ß©lʬ;eäf T)™8¿ÂãÊÖúÈÌÏÄÎÌ®ÜyUedcgn‡‘žöúÅM¬š¥×|¯¸Ë¼Öá5ŽÆeSØ&Þìô&á× ½ÊÄ1ЭÚßµµ†È¡¨Ctwé®1efu?Ï_NüžK{°1±¡g³ž42o„ž ¬?·^kí§ŠÔT=õÍúõëY±b…Öv¥RI@@'NdÒ¤Úét¢¦dd'Bœ,ªÕ{w›Y6 '!3~¬ð¸[·¸™{àÖËÊ+mÃ+úŽªn[o¤gÄ‹­_dÉÉ%D¤FàmïÍÆóÉ/Îg\‡qUŠ©¶Ö€MÈL :=š—Ú¼¤Þv?ŸçÔ]S¹œv·ntpꀉ úºú* Y|⟎”{©©zê“ââbÞ}÷]âââÔ¯etttHOOgíÚµ´lÙ²Ž"¢jÊÚ¼òÚ†j?ÓÛ¸hm+kë7„n¸çñ™ù™å&È«ªìzÊÚô;9[:£P(ÈÌËÔØ^^Üe^ló" /ä3Ð˵…ÊBüCýéèÜ‘–öUûï»¶Ö€=xå VÆVê5m¡úŸçÉø“üïèÿ0Ð5 ¿GšZ7ÅÄÀ ŽÅãlòYJT%÷Œ¥¦ê©o¢££?~<%%%ßU%%%¤¤¤ÐµkW~ùåLLª>šMˆº ùÉßHþ¦b’¿µíñèÝ©A666ØØTmÊ—GIm®­*jŽ66U_KõQ!k«>~,,¹vëJ•R롯: @c*²2F* ß¹â·îÝmݰ2²"9;™Û…·ïû!ÞÂЂ”ìò‹óµâ2€Òk¾WÜez6ë‰[7Öž]Ëßà3 §£W¥u¢ÊÔÆ"R/’¢5⪺Ÿç‘è#é±û­Ý#T*«N¯ªò[5UO}røðá{NKÿ¢âþYZ¥S•§¢íÑÓÕüÙQÖ¦ºÛº3¤Å ói䃵Ii":6#¶ZçÔ8Ÿqéù*úŽª¨­¿;î;i7†_OýÊgþ`ö Ù¬=»–æ ›k0­Hm­{ðÊAžòøgª²ê~ž· o’Bk‡Öü9öO©ÕÓ9ßKMÕSŸ¨T*>þøc‚ƒƒQ*µ¿§‹‹‹IHHàÚµkÒ+ê½²6/)+Ic]T¸gúrÁemï+m_¡iù#Ëž½­ŒJGŤǔÛZeד™ •„NÌJD¥R©G7U÷õð¡žÚ881˜›y7«<újg زu]{»öÖøMRÝÏópôa~zö'‘´PºÆbUÕT=õIFFo¼ñùùùêQw*))!<<¼Üï!êÉßHþFò7å“üx¤V!DµµsjÇöˆíü|üg©V3ù3ôÏ®¿[ÓnlÝ@Së¦åN y=R=­bצ]ÙºYûg1{ðlôtþùj»s CÝÒ7ï~ë ½S{¶ElãÇ€ù¸ßÇêí™y™,=¹T]¦ª c;ŒeÆÞ켸“v2Ôk¨V"¤2µ±†ÈÁ+Q(ôu뫱½ºŸ§B¡@OWO}OËürâ²ò³4[•Ý÷êÔó(çý÷߯t4Wqq1Û¶mcìØ±´nÝú!F'Dõ8Z:bofOP\§NѹIgõ¾½—öVkôky,p±v!-'Ažƒ´Ö7U©TÆÒªQ+tutq±vá|ÊyÖŸ[¯1²J§!kçØ…B¡nOî~ë½±Ec™7â錄9uPc¥°”0vGîÆHÏHc-Úª\ÃÏìˆØA×&]IÈL`öàÙU>¾¶Ö€=uw[wŒê~ž ……B‘¾‘Fb§PYÈÇ~Ð:gE÷½ºõ< .\ÈÖ­[+mëutt˜5k={öD__¿ÂrBÔµvNíØ¶‰… µÖ ]´èëïÚ¤+þ¡þ(UJÞïþ>: ýi9i¤ÜJ)-Û´+þçýùþÈ÷´nÜZ£²l زiˆ t Ê}¶lçØŽç7²0p!íÛ©§!Vª”üp´´Í©Î3=”ŽŒZn=ëέãDÜ [4æi§«||m¬{&ù ™y™ô÷诱½ºŸgY²ÜÌÐLcûÉø“ºrH«|E÷½ºõÔwùùù¼ù曤¦¦jÍrp§Û·oóË/¿0uêÔ‡Õ'ù›ÊIþFò7‘ü¨ Ò+„¢ÚÆuÇ®‹»˜8Ÿ ø ||ÉÈÍ`諒ékOS]ïv{—=—ö0yÇdV†¬¤µCkÌÌIËIãòË„¥„±â…8Z:òv×·Ùyq'›Ã6œLצ]±4¶$&=†€˜–¿° œ­œÑQèàÞŸâ’buRgRI¼ÙéMv]ÜÅòàåœN:M;Çvääp0ê ¹´i܆.Mª6¢©Ìs­žc|²ûò‹ó«õ¦<ÔÎ"‡¢áÛÈ[SÍéè«ûy¶mÜ–°”0žYùŒ:ñówÒßD\‹Ðzè®ì¾W§(í$¸”v €ó)çØ±sWÏ0¤Åõ›µ[RRãÆ£¸¸øžÓiêééñÅ_°qãÆGò-Qñäx³ó›Ì>8›±ëÇò´ÇÓ8[9ÍáèÃØ˜Ø¨§–¼_ÓúNã½-ï1|åpº6íŠ[7 õ IÊJ"ôj(IYIDL‰@WG—ÿôþ“¶Nâ³=ŸáÞŸF>èêè–Æ™ä3\šv ]tijÝ€Ùgs:ñ4ÆúÆ8Z:2Êgït}‡™ûfòΦwèëÖ·n$g%³ïò>ŠKŠy£ËkVÅk^cwän>Ýó)VÆV ÷^åckc ØìülBBÊ}«¾:Ÿ§‰¾ Ím›s*á/üþœ;p«à1hÕ]Ù}¯N=+BVS@zn:‹‚©tã;¯öçTS6mÚÄ‚÷µ\6=åš5k7n\í&Ä}æ5ŒùÇæs,öC–¡G³”¨J8}„¼¢¼®hË¡üvú7ÖŸ[ϱØctséF“dçgw3Žà„`Þìô&¾¾ ñÂÒSK‰¼IßÅ}éçÞF渚u•À¸@F·­î€u±qáBê&~Ö|Îç9žiù ‹‚q:é4ƒ~Do×Þèëês<î8Q7¢°4²dtÛÑÕº[º¹tcÕéUäå1­ï´JGRÝ­6Ö€=u==z6멱½ºŸgÛÆmx{ãÛ ò„µ‰5Wn\áhôQlLl´Öó«è¾W·žˆÔõl Wn\àtÒiõ¬¾¾ôqëóà7ê>(•JÞÿ}.^¼Xiç+”&æW¬XÁË/¿Œ³³Ìø%ê/ÉßÜ›äoJIþF›äoă’X!„ÕæëàËWƒ¾bÆÞ„$†’@ëÆ­Þr8_øòêw²tâ÷—gòŽÉ„_ 'üZ¸Æ~/;/-Ò5>V¼°‚ÿìøIYIøŸ÷ר§±Ec¬Œ­xÎç96žßÈïÿ®.3©Ç$ZÚ·dÞˆy|ü×Ç„^ %ôj¨z[Ƕ,zvQµ´ŒõñóõcEÈ Ú:¶Å×Á·Ú÷¡&]ϹNøµp>ìù¡Ö¾ê~ž“zLâDü ®Ü¸ÂÊ•èéèñå /Y{v­ÆT–•Ý÷êÔ°ïò>¶ElÓØvçßÍ6¯“øÜÜLÆŽKNNÎ=§!ÓÕÕE¥RÊ_ýÅСCR”BT߸ãˆIaý¹õì¹´G½}tÛÑäç³9lóÕÿtó§ùᙘµÇbq,ö˜zŸŽB‡Þ®½ÕSi1„Ì™|sè­vº£sG”¶Ñ½\{ánëNÔ(–Z@'çNŒòŘvc¸vëËN-ãPÔ!E•ŽÊQ(øùúña/íöñ^:8uÀÛÞ›ˆÔ^ëðZ¹kQ=L±(UJ­) ¡úŸç—ƒ¾dÂÆ œI>Ùä340iÀüó³nŒFÙÊî{uêX~j9©9©Û~úYýϯ¶µN:`?Î'Ÿ|R¥²úúú³`ÁFމ•Õ£5"@<9L LY2j 6M 6#V=Õ»­©-³ÏæMï¿”èôhN'\¬]èàÔAc4©™k_YKXJg¯ž%¯(&VMèæÒMc=¿ç|žÃ»‘7§N‘•—… •ºÍq·ugÏø==Îå´Ë(UJ\m\éåÚ C½¦M¼WÜw*ëüÙj¤Öº‚[ÜÍ8bÒcx¥í+åî¯îçùãðÝv4á×ÂQ(´wlƒ±˜ši¬Ý[Ù}¯N=Þ¼+¢®:>bc°gÏZ­¶^W·ôßQ¥R‰B¡ aÆøøøàíí­në…¨ï$#ùÉ߀äoD]P¨î5κ~~~øûûߣ¤µK¡PðÁðã?Öu(â QÛí_jj*99'ïäîîÆ‚© RµòâáPª”Œüm$ײ¯qbâ µMꄸ”v‰£ï­Ó8'*• Ï€ ( u²ÆÊÊŠ–-[ÒªU+Z´hA‹-pssS'o„¨®¿þ2cÒ${¢¢¢ë:q—«ÙW°tÝ]º³äù%u‹R¥¤ÓüN<åñß ý®Ncyœ¬[w‹éÓ×Ôm½ŽŽ7ÖJÀ7jÔ¨®Ã°‰íX¸0õ%ÅÃ6sßLþ8óÛ_ß®1·.,^ΜCs8òîœ,ê4–ljŸ_gϾ¨Ôm½¡¡!nnn´nÝZýLïé鉙™Ù=ë¢"’¿©Ÿ$óø“ü¸_fffØÛÛß÷ñÔš\¾|™+W®ÈZ¢^Xºt)7n¬ë0Ä"==ºCÔC§NÄ©„S\L½È„.êüáJ§É|Î繺ã±Rº`$:½@ÿþîê¼M]‡&„¨e›Â6“î‹»È/Îgt»ê­)X2ó2y­Ãk¾)/ªïöíÛ¬^ý>àÉk¯ T'e<<<02ªÛ馅µ+)+‰Ía›‰ÍˆeÇ…´nܺÎ;_,ø¸ßÇÒùZƒÎœ9Õ+_cg7˜^p¥E‹xyyáì쌎ŽN]‡'„¨E’¿yrHþFÔ•ºoQ„¨!¹¹¾äæÊñ°œ¬ëD=u*á‹‚ÐØ¢1:O¨ãˆJMèR?âxœüë_ÿbáÂŒ#o0 ñ¤Ùt~Á‰ÁôsïGo×ÞuQ麪•Mé(ªÏÐЉ71i’=Ó§Ët!ž$ÉYÉêuJ t ø¤_ÕÖ€®mCZ ©ë;¾¾¾ôìy€>èB ®ÃµDÚy!ž\Ž–ŽLê1 sCsú¹÷«t;ñh“¶^ˆ'—äožÒÖ‹º"ÿæ !„5¨s“ÎtnÒ¹®ÃBQ‹FùŒªë„BÔ"'K'™U@!s’¿BÔ6YÌ@!„B!„B!„B!jˆtÀ !„B!„B!„B!D ‘X!„B!„B!„B!„¨!Ò+„B!„B!„B!„5D:`kXPP3gÎ$..?pà3gÎäÚµk5˜B!„B!„B!„¢ÖIl bÖ¬YÔ;kÖ,é€B!„B!„B!„â$°5¬[·n̘1—ºE!„B!„B!„BñéÕu›nݺѭ[·ºC!jULz ŸíùŒQ¾£å3ªFëˆ `ñ‰Å|Ðë:9wªÑº«+ôj(ßþ–±Æ2ÈsPÆR™Ëi—9uˆ“ '),.dZßi´nܺÒc¢Ó£Ù¾…+iWÐ×Õ§­c[^lý"f†f)j!D}·ëâ.ÖœYÃô§§ãeçU£u/>±˜€˜–<¿sC󭻺֟[ÏöˆíÌ2‡¦ÖMë4–Êœˆ?ÁþËûIÌJÄTßw[wF·‰M]‡&„x„½ñç¸Ú¸òYÿÏj´Þ´œ4þ½íß ðÀ¸ãj´îê*RñÚú×èàÜÿôúOÆR‘U AqAÄ3žJpµqed«‘å~çä°ïò>Î]=GRV†z†xÛ{3ÊgupBˆúJò7õך3kØuq+^\‘žQG$„¨iÒ[‚‚Ø·oãÆÓÏHMMÅÆÆ†>}úТE‹ ëÊÍÍeÛ¶mÄÇÇÓ¸qc†Ž••U-_BÜÛíÂÛ'Ó¥i—¯;ívÁ‰ÁdäfÔxÝå¹”v‰YûfñBëÙj¤Æ¾¬ü,‚ƒyºùÓ%–û1bå"R#4¶eågUzÌÊ•|{ø[ŠKŠÕÛö\ÚÃâ‹ ùwH­Ä)„xô¤d§œLv~vדCpb°F;T›¶†oåÏÐ?™1`ž =5ö%f&œLnQîC‰¥ºJT%LÞ1™vhí[vj F. ·kï:ˆLñ8I !¿(¿Æë-PœLó†Ík¼îмºîU¼ì¼øä©O4¶—¨JN ÆÂÈâ¡ÅR]#É…Ô Ûs˜•!+™Ü{2owy[½=ôj(£×ަ ¸@£üþËûYrr ?ÿ‘þýJÜBˆúOò7õSBfsÍ¡@Y€J¥¢DUR×! !jtÀÖ°²5`ûôé£ÑûÉ'ŸðÝwß¡T*ÕÛ o¾ù&?ÿü3úúúõ\¹r…‘#G¯ÞfkkË–-[èÑ£G­_‡BTƵ+kF¯ÁÑÒ±®Cy`· nœL÷fÝë:”ûrýöuŸ}ö¦¦¦ê};v ‹Ò7‹‹‹yñÅÙ¼y3¿ýö“'O~¸!„w¨l ‘àÄ`v^ØIbf"ºø8øðR›—°5µÕªgÏ¥=ì‰ÜCvA6¶¼ÖáµJÏ›˦°M\N»LqI1Ílšñ¼ÏóxÙÿ3:ëÎu?Ú9¶cõß«¹˜zú{ôgxËáê7ã·†oeyðrüCý9{\]ÏÚWÖjœ;3/“Õ¯æ|Êy õ éëÖ—Q>£êü-û²Îתˆ -'6Ûht¾–©ëu…õKEkÀ*K”켸“€˜ÒsÓ±4²¤kÓ®<ÛêY­dp~q>ëήãdüIT¨èèÜ‘1íÆTzÞñ'Øsi‰™‰èéèáÓȇ—Û¾¬ñ=r纭· o³öìZ’³’±7·çyßçéàÔA]vöÁÙ컼€Yûf©Ûº–ö-µÖ<ŒNæ÷¿'þf<¶¦¶ŒòU+ÓµU‡±¾1M­4×§ÕÕÑÅÙÊ™¨Q˜è›ÔEhBˆÇ@EkÀÆßŒÇÿ¼?—Ó.£,QâÚÀ•çZ=§ñÜ]&ôj(†þIrv2¼ØúÅrŸýËdåg±ñüFÎ&Ÿ%§0{3{zÔè0¼sÝÖ÷»¿ÏÚ³k9’U íÚójûWÕm_Ù””Ê%á×½f´ºžéOOÇÕÆUý·²DÉŸ¡r,ö…ÊBÚ:¶åµö¯Õù(à»;_ËxØz ¯óϬi¦¦å–Õ×Õ§›K7.¥]B…ªæƒB<’$Sò77ón2ûàlÞíú®ºB<¾¤¶–%$$””D÷îÝ5:_:wŸk×®åÌ™3ôìÙS½oÚ´iêÎW===¾øâ 6oÞÌñãÇ¥VQ§*ZCdöÁÙ¬Y¡±í`ÔAV†¬d™ß2Ú9¶SoŸ¶k›Â6©ÿˆ `SØ&^jóR¹ç\{vmibE¥Ô8æ3ðõ ¯yÞ÷yàŸu?||øbÿ\Ϲ®.¿;r7®`Áˆ( ’³“¹xý"IYI$e%•{îôÜtFþ6RcÿÞK{ ¿ÎÌ3+»Uj¯®{e‰òÞ)MÀüüÜÏU*[g“Ï0Ðs q7ãX²’ø›ñØ›Ùótó§e­(!„†òÖ€Í+Êãõ ¯s:é´FÙ]wñûß¿³úåÕ40)©åVÁ-F¯­ngEâ¯È¿´:¡t¾i»¦±%|‹ÆöCQ‡Xõ÷*V½´ o{oàŸu[wGîf~à|Š”EêòÏodÆÓ3xµý«D¦EªÛï;c¹ÛÉø“üðyEyêm[#¶²`Ä·\ùÍ⟀ªêÚ´+{L¼g¹Í°2d%«þ^EGçŽêN‚ÄNÄÀËÞ 'K§*ŸW!îTÞ°»#wóŸÿÑh[ÆeÕéULï?]ݾBi›ûÉîO4Ö®Û¶™É½ÊÏYœM>Ë„¸™wScû¦°MøµöcÎàÒÙÁÊÖm534ãõ ¯s*ᔺ졨ClÛÌú1ë±6¶VOI ¥Sù–ýsÙßeJT%¼»ù]ERo;}„}—ö±qìFôu5—†*Ï샳 ¿~Ïreæ>3—Æ«\þN©9©lÝ€žŽ½Ýª¶ÖwXJ†z†´wl_çB<~$S¿ò7_üš¦ x·ë»U>Fñè’ØZvófé WW×r÷»¹¹‘¡¹Xy³fÍ´Ê–m+«S!ê“}—÷±"dz:z¼Öá5:5éÄ­ü[l ÛÈÉø“¼¿å}¿sC=CþŠü‹Ma›0Ö7æŽoкqk2r3Xý÷j~=õ«VÝg’Ï0sßLL LÝv4­Zc k@øµpVž^Éô½ÓéÒ´‹FzÕéU4³iÆ=? ¡iC"R#Xvj»#w³Ñu#~¾~Œô‰¹¡9_ìÿ¿Ö¥—ç×S¿âaëÁìÁ³±7·'âZ?ýÌš³k˜ÐeB•’*Á‰ÁU~€¯lÄÀƒ¸vëÅŒX9‚Û…·Õû6…mb„÷æ›[/Þ BÔOsÎåtÒilLlx»ËÛ¸5p#9;™e'—q)íÓ÷LW' æËÅëq°p`Bç 8[9“Ã’K¸˜ªÝºôäR¶„oÁÙÊ™WÚ¾‚[7 •…ƲáÜ>Üþ!{ÞÚƒŽBG}̼cóèåÚ‹gZ>ƒ¡ž!1lÝÀW¾¢»Kw\¸òqßY}f5þ¡þ|þôçê©zï^ï»#ßÑϽƒ<aj`Ê+ø3ôO¾?ò}•:`ï쨊†f «T®£sGf˜É÷G¾§û¢î¸5pãvám¢Ó£ñ²óâ§‘?I»-„¨1©9©|´ó#Š”E òÄ ƒÐ×ÑçhÌQüÏûóå/iïÔž–ö-¹š}•Ï÷~N‰ª„ç|ž£Ÿ{?”%JvGîæ‡€´êÎ)ÈáMÉÈV#éãÖK#K2ø-ä7üCýéÚ¤+ý‡« ˆ ÀÌÐŒ©}¦âaëAÊ­–ZFtz4_øŠÿ=ó?<z²fô^]÷*^v^|òÔ'êãïœÁ! &+c+¦õ†‡­©9©üô3©üù#¼GÜóþD¦EV«­¿ó¥žªxoó{dæe’•ŸEÔ(,Œ,˜7bM¬šÜóØ ¡8tšÿôúO…#j…$s/µ•¿ Š b{ÄvÖY_¥—~„>逭eÖÖÖÄÄÄ”»?::í±±±tíÚUkÛu !D}²þÜz tmÑ‘­þyá=‚±ëÇr"þ£2¤ÅüCý˜7bO¹?¥.;Ü{8C—%6#V£îÁ+(Q•°â…oaöuïKÇ6¼¾áuv\Ø¡ñaC³†l~m³zêÆ¾î}éàÔ1ëÆ°áÜü|ýp´t¤¥}Kœ,*\ÅÅÆ…c7ª§ÖìíÚ›¢’".äÜÕsUz€ÿýåßQ©ª6Xm=ˆ* Xrr Í6gL»1XYqîê9V„¬`[Ä6º4é‚_k¿Z9¿âѦT)ñõÇPÏ c6ÐÌæŸ‡¶ÊÓKŸfÿ•ýܸ}kk¶„mÁÔÀ”c7bof@·>ôqíÃÐC5êV©T¬YAC³†l·K#Kõ¾ž±4²dñ‰Åœ»zNã{ Ÿ{?7Î4€™ °9|3SzOÑ!ÚÒ¾¥ÆôÄwé=’9CæhÔ—Gpb0é¹éꑽ)먪{Õw'o{oÚ9¶ãXì1ΧœJ§&îíÖ»Ö^ÚB<™¶†o%¿8_c4*”¶ÅæÌœÏ†Ð Ì0‹íÛ)TòzÇ×ùô©OÕe‡z eꮩlÛ¬YwÄVÒsÓ™Ò{ ït}GcßCèýso6‡oÖè€U¡bõK«ÕÏìƒ[ æé¥O³ëâ.¾ô%æ†ætnÒ…B¥±¥Ö3}Aqz:z¬{eÆ÷WS«¦ŒY7†3ÉgªÔûqßÉ.Ⱦg¹2Õýz&ù 7nßPÿÝ¥i\¬]îyÜ¡¨CÌØ;ƒžµî­BÜMò7•«üMAqÓ÷Nç•v¯hÜ!ÄãM:`kY“&Mprrâøñãlß¾áÃÿù!qúôi6n܈±±1íÚi6¼ß~û-Ï<ó ææ¥kTóùçŸн{÷‡wBQE‘×#1Ö7ÖJ\( ^jó'âOp1õ"CZ áRÚ%¬Œ­4Þ t Þr8óçklM EW¡Ë¼có€ÒD}ÙºFÅÊb tݾ; i1Dýð^¦ì-ËKi—ªumƒ<i­kتQ+næVmV‚NΪuÎÚP¶N–½™=kG¯U_S_÷¾x4ôàƒm°ãâé€B”+áf¹E¹ôví­‘¼†Ò©··ÌÚ³k‰¼‰£¥#¹E¹ ò¤î|-ãÚÀ•öNí9R½-)+‰ŒÜ lLl˜¸µtZÞ;ÛúŒÜÒÙb¢oDk$,ʦ/»Óó¾Ï³ p‘×#«u}w&üËx7ò&81˜Ì¼Ì{v˜–uÔ´£1G™à?†f ù¸ßǸۺ“W”G@LKN.ápÔa¶ŒÛ‚®AŸ[ñä)k;_j­=­äËm_f~à|õ,eÏÔ~¾ÚÏŽ~¾~Z°ç®ž`ÿåýÅ©“Û*Tê¾û™ÞËÎK£óÀÚØšþýÙx~#Q7¢ðuð­Òµù8øh}U÷™¾¼5pkÒÏÏýLaq!™ù™„^ eíÙµŠ:Ć1Ô±ÞmçÅLÙ1…~îý˜?b¾ÆLBQÉßT®6ò7 /¤PYÈG}>ªñº…õ—tÀ>ÿýïyÿý÷9r$Æ £E‹ÄÇdzeËŠŠŠ˜6m¦¦¦Ǥ¤¤àååŰaÃ044äàÁƒDDD`kk˸qãêæB„¢ÅXZ”; bÙH¦²·Ïó‹ó±2*Z¬ò¦ËÊ-ÌE©RTáùï^»êî©%ï¬ÿjöÕ ë)Ï#±Êè딾åxçzW•©kÀ:Y•ŽëÞ¬»Ö’²S‰™‰5~^!Ä㡬 ¯hZò¶²PY¨n“Í ÍË-{÷w@ٔ蹕·õÅ÷nëË⻻코w]ešUi¿kk ØùÇæ£T)YýÒj\ü³¬IÙTÉ+CV²ãÂFùŒªò¹…¢"•µõ–F–( gz(¿-.ïù9·0(MÎWÄ@Oóe’Šžéïþ}Qå>ÓëV¶×€½ó%£Ažƒèܤ3où¿ÅÒ“KY0rVù5gÖ0kÿ,4À¼óÐÓ‘4ŸâÞ$S¹šÎßÜ.¼Í¯§~¥¡YCÞúó-}qq¼±á t:üþòïèêèVéÜBˆúOžÌ‚ýë_$%%ñý÷ß³cÇvìØ”¾Uôæ›oòå—_jóÓO?1eÊ–,Y¢ÞfkkË–-[hРêÓ• !ÄÃbgfGTz©9©Z£Â®…`on¯.›Kf^¦Ö{YÙ;9X8P¨,dɨ%>ˆÚ˜hNåq-B«ÌíÂÛĤÇ`gf§Þ¦ ôGU§—¹_õa ØÖ­H¿®µ¯lª3SS­}B¨ÛÎðkᔨJ´FØ”µßvfvêö>"U»-V–(µ¶72o„B¡À×Á—©}¦Vƒ‹‹Æß×"´¦Kùÿïœ;¾‹F[_[kÀ&d& ¯«OS›¦Zû\mJ;dãoÆWù¼BQ™²¶þ|ÊyšZk¶;a×ÂP©Tÿ<Ó›––H ‘y#­²ws°p`Ö€Y¸Ûº—{þ»;/§]¦HY¤5Å£º­7¿ãw‡ªöŸék{ Ø»¹5p(·bQÐ"~ ø‘¡^Cùaøè*$a/„¨ÉßT®¦ó7…ÊBŠKŠIÉN!%;¥Ü2§“N—þƒvŸ¸â&°5¬¸¸t*]]Í/˜9sæðöÛosàÀRSS±±±¡oß¾´hÑB£\ÿþý122¢W¯^\¸píÛ·££#ÇÇʪü7Ž„¢®õlÖ“+7®0uçT昇µqézÕ!‰!,9¹D]¦ìÿ£nDñß¿þËÜas134`wän¶ElÓª{@ó,\ÀžK{˜Ü{²Æ· n±%|‹V~ÿ•ýl Û¤”W”ǧ»?%·(—¡-ÿY{°lZÞ„Ì„šºåªkÀvu銙û¯ìgßå} h>(½‡³ö—ŽÚªS% !ê'¼í½‰Hàû#ß3¹÷dôtôP©T¬þ{5±44kˆ—½º ]¼ì¼¸zEA‹x·ë»è(t(.)æ»Ãßi¶·2¶¢“s'N'ž&6#–Q>£4Ú¤¬$ÖŸ[O{§öÇ- ZD;Çvø8øœ•Ìû¿þùÎ01ø§­ïèܱVîOm­ëháHDjóæñïžÿVwN$e%ñÛéßp¶r®v¼BQž^®½øãÌ|ä{š7lŽgCO ´}±w†º @Oמ¬9»†o}ƒ[7õZ¥‘×#ùáèZuôȪӫر¹ÏÌ¥‰Uõ>¥JÉþËûµÞ7nßàË_òYÿÏ0Ð5@¥RñÛéßN ¦‰U:L MIÊJ*÷%¡šRkÀ†_ '"5‚Þ#0Ò3RoOËIã«_htX«T*fšÍÊ•ŒðÁwC¿“ÎW!DµHþ¦r5¿174¯ðwÂÇ}LBfË_XŽ‘ž:È4òBÓÔIàɽ'3~ãx~ ø‘Õ§WãhéHBf· náÙÐSk=§OÏàÅ?^ä³=Ÿ1çКX7Á@Ç€äìduý»OÔÕȼ£VÂÅÆ]¢Ó£)RáeçÅP¯’5ÞöÞ|¶ç3ÖœYƒ‘ž-í[òYÿÏjìÞÔÖ°¯w|);§ðˉ_XwnM­›’W”Gtz4Ê%öfö ö\ãçB<™úºõ¥KÓ.œŒ?Éð•Ãq±vA_W_ݾzØz¨×ßîëÖ—¶Žm9›|–AËáÚÀe‰’¸›qx6ô$5'U£îNÎðk퇨?ý÷ÃÙÊ[S[²ó³IÊJ¢ ¸€·»¼­Ñ~»5pcãù켸kRn¥–“À”>S4êoiß’“ñ'éóK-Q `úÓÓÕ³Ô„ÚXözÎu>Ýý)3öÎÀÑÒ²ò³ˆËˆ£DU‚©)ã;W—ß{y/+CV¢P(¸š}•W×½ªUçØcä9¨ÆcB<$S¹šÎßèéèUø;ÁÔ°t²ŽÎÕÌBˆÇ‡¼RQCvîÜÉøñãYµj–––4oÞ¼®CBˆ‡ª¡YCÖ½²ŽNÎÈ/ÎçBê20Ò3â®ïðÕ ¯ÔeíÍìYýòjSµÞ0ŸÞ:ý=ú“CäõHŠ”EtséÆŠVh”íàÔQ>£(.)æ|Êy‚ƒµ’EõÕÈV#™3xÌ‘™—IèÕP.§]¦DUBÏf=Y7fz$‚B<(…BÁ’QKJ;YU¥Ïš‘×#Q–(Ð|ŒþC=JSWG—eÏ/£¯{_ŠKйœv™èôhº5íÆœ!sÊ­ÿëA_óÉSŸ`gfGbf"g“ÏM‰ª„!-†0¬å0òÍlš±`ätºœO9OZNæ†æÌ<›!-†h”ý¨ÏG44kÈÕì«„$†œLv~ÕG«Ö__Æu‡™¡ñ7ã9›|–˜ô(èãÖÿWýÕSÃ?ë2ªT*õuÞý¿Š¦¸BüB<, ÕLšîç瀿¿ô¨zçwX²d :::,\¸÷Þ{¯®Cz¢”.¿x¡®CO ?ž¾öÚ¿ÔÔTrrrªTÖÝÝ R2¤jåkÂíÂÛ„_ ÇÑÒ'K'­ýi9i$e%a g€{w õ +¬+:=šœÂšZ5ÅÊØŠ´œ4b2bð°õÐZ HYDtz4yEy42o„½¹½Æc1¼ñç|úÔ§¼Þñu²ó³‰ÍˆÅÄÀ÷îÿß^hË-Ê%úF4yÅy¨T*:7éLf^&—Ò.ÑÔº©VÇdÙ>­5S¦èôhõȰòTt•%Jõ½w´t¬Ókx”ÕÅâÉó×_fLšdOTTôC=oJv ™ xÙyaad¡µ?þf<7nßÀÊØ W× Û×â’b.¥]B¥Rán뎑ž‘ºíjïÔ^k½?(ž,þf<%ªœ,´Ú±ï|Ï’“KØñƼì¼HÍIåjÖUìÍí+î1=7„› * ±0²ÀË΋ÄÌD®f_ÅÇÁGë­ó²}¾¾ëWå¶Õ•JEbV"i9i¥kÂZ7Õ˜ÒMÔŽºúïO-ìZT¸ÿnF´nÜúžåLôMÔk–±2¶ªð:+Û÷0¹5pÓº‡U¡«£«•€Bˆ;9X8à`áPáþ¦ÖMijÝôžõèéè©§.s¯¶ËÜМVZU9V{3û*%S˜4ÐZ{ÕÙʹÂ5T+Û÷°) ­õ…âAU¶.¶©©ÖóqEîn‡ õ +}VV(¸X»”Û9[}]}ZÚ·¼g9]…®zÝÚ;U‹ŽB§^<ÓCi,N–NåvÜÉÖÔ[SÛ‡•âQ'ù›ú“¿)OU¿g…&逭!Æ »w!!„B!„B!„B!ÄcMÖ€B!„B!„B!„Bˆ"#`…Bfffu†B!„B!„B!êYV!„B!„B!„B!jˆtÀ !„B!„B!„B!D ‘X!„¢Ú¶ ÷oÜÙsiO]‡R¡G!F!„¨Ï¦îšŠû7îÜÌ»YסTèQˆQ!ꫤ¬$Ü¿qgæ¾™uJ………¢>{r#BŒB<ޤV!„B!„B!„B!jˆtÀ !„B!„B!„B!D ‘X!„B!„B!„B!„¨!zuÀãhîܹ|ôÑG>|˜>}úÔu8BQãbxãÏ7øô©OñnäÍ?q-×®üöâotZЉáÞÙ;l®ú˜Ía›™ºk* LprâI ©9©tÿ©;/·}™/~Y¯®e븭„$†°îÜ:Î%Ÿ#åV ff´ulËÛ]Þ¦½SûrëjëØ–ïGص0 õ éëÖ—OŸú+c+ógçgóCÀì½¼—ìül¾?ò=KN.aÇ;½Êê¿W›ËØöciçØŽmùsÏÁ¯µŸú˜i»¦±)lƒ[ fáÈ…êíÛ"¶1yÇdæ˜Ç0¯aõêZ>î÷1EÊ"ö\Úæ°M\N»LFnvfvtoÖIÝ'á`áPn]S/²ìÔ2âoÆckjËó¾Ïó~÷÷ÑQh¾çÍw‡¿ãTâ)T*;òq¿ï+ÖÛ…·Yvj»#w“”•„žŽ>>¼Óåz4ë¡®§:×TÝ…‡‚â¼çzÓߣ?ÓûOçÛÃßDf^&ç'ŸÇoµÙÙ{ï˜ú˜ä¬dzÿÒ€=oíÁÝÖ]½ï©%O¡«£Ë¾ñûêݵ˜è›w3Ž5gÖp<î8 7ÐÕÑ¥yÃæ¼Üæežóy®Üº¾ø³ÎæXì1 •…´ulËÇ}?ÆËÞKãü%ªV¯`ý¹õ$g'Óȼ£ÛŽfp‹Á÷kpb0¿žú•3ÉgÈ)È¡‘y#zdb÷‰˜š©ëªê5U7F!ÄãCò7’¿‘üuG:`ïÓW_}ÅôéÓ9vì=zô¸÷Bñ:“|†o}ƒR¥JÔ[[ÑÒ¾%±¨T*õCc`\ : ÒsÓ‰L‹ÄË®4iq,¦4¡ÓÝ¥û=Ïçù'Êe•b³5µåäÄ“t-i9i¼¼æe²7ónr(êG£òÇè?èèÜQcص0¾?ò=…ÊBòŠòؾ…¤¬$Ö½²N]® ¸€WÖ¾ÂÅëÕÛ¯…óö¦·ÒbHµbU©TLÙ9…mÛ4ÊF^dæ¾™\L½È׃¿®ö5ÝoŒBˆÇÇÒ“KÙqa‡úïU Ý\º¡«£Ë±Øc°±¥mý‰ø”¨JÔ‘±( º5íVé¹N'æ¥?^ªrlC½†2Äüº€½—÷òáö5Ê^;Ѝ?G£²ëÍ]Xì_ý÷jüCý5Ê/\€ ÿîñoõöèôhü~÷#;?[½íHôÎ]=G«F­ªkV~/ýñWn\Qo/ €“ñ'9•pŠ¹Ãæ2Â{Dµ¯é~cB<²ò³xá÷HÍIUo+))¡G³,^Ntz4n Ü€Ògz…Çb©;`“²’ˆ¿Ï«í_½çùÆ®KP\P•ãÛ;~¯úü÷{-6N &=F£üÙ䳜M>Ëõœë¼Óõ}ÙùÙ¼øÇ‹$f&ª·ÅñêúWÙ?a¿Æ÷ÂŒ}3XwöŸçüÄÌD¾=ü-×"ª뺳ëø|ßç¨T*õö¤¬$–/'(.ˆ?_ýc}ãj_ÓýÄ(„x|HþFò7Bˆ‡O:`kÁ”)S˜2eJ]‡!„µnwänüZû1¡óšX5AWG€Íz°øÄb"¯Gâeï…J¥âxìq†{gç…‹9¦~€/KÖwmÚµ./¥ÂkQ(ôhÖƒ±íÇÒÒ¾%¶¦¶dågœÌÔ]SY|b±ÖüöˆíŒn;š7;½‰½¹=×"øpû‡„$†p1õ¢úùÕ¯æâõ‹¸6peæÓ3iãØ†ŒÜ –\Æš³kªëÖð­l‹Ø†gCO¦öJk‡Öê~-œ/|Á†Ð <ïûIÀšshÙùÙôuïËG½?ÂÙÊ™˜Œ¾>ð5±ÕŠõãÝsåÆzä.ïànëNAqqÌØ;ƒ/öÁ€æ0Ö7®Ö5ÝoŒBˆÇCHbmÛ²è¹E´°k‘ž=›õdyðrŽÅSw€‹)ýgsCscy½ãëêí€ÆHüºPѵ¸7pg|çñtpꀓ¥ùÅùD^ä󽟳øäbÆw®BW]>81˜NΘ?b>¶¤æ¤òùÞÏ Š b[Ä6ÆuÀù”ó¬;»3C3¦÷ŸÎSîOQ\RÌžK{˜shNµbMÌLdÖþYXZðß¾ÿ¥[,-I¸™ÀüÀùìŽÜͪӫÔ«U½¦ûQñøüäo„ŸtÀ !„¸om·aö ÙS£ôp)}€Œ ÄËÞ‹‹×/’ž›ÎÀæIÎJ&0. ]& R©ŠÂÇÁK#Ë{žïÒÔKµu)^‹­©-SzOaÉÉ%|¶ç3Òo§«ß\¸”¦Sf=øbàê¿Û;µgB— ÌÜ7³ôíÑÿ€ß¹…BÁ¢gáa뀉¥ ³Î"öfl…#Ê‹ucØFtutYùâJìÌìÔÛ;:wäÇg~dЯƒ8påmÛVëšî7F!ÄããŽoðFÇ7´¶÷hÖƒ³Ég ¿ޝƒ¯:!óïÿf[ø6ãiݸ5—Ò.q=ç:#[¼ç¹:8u ê¿Qµq@Å×2 ù”%Jæ›ÇÅëÉÎÏV¿Iå·õ»Odlû±ê¿Gx`ÿåýì¹´‡”[)4¶hLnQ.ÇbÑØ¢1?ü C=C¼í½Y1Êg”zû˜vcÈÊÏâÇ€«ëÖð­—óÕ ¯4¦v·ugÞðyœN:ÍþËûÕ°U½¦ûQñøüäo$#Äçsï"îÖ­[|þùç´lÙccc,,,èׯû÷ïW—IKKÃÙÙ[[[4Ž@OO=zP\\\å:Ëäää0kÖ,|}}155¥aÆ 8¨ËŒ3…BÁ7´Ž/Û—™Yšxèß¿?Ó§O gÏž(  …z½×¹sç¢P(8räˆF=‰‰‰Œ?ggg hÔ¨£G&22R£Üÿû_ çÎcÕªU´jÕ ###š6mʬY³ÔÓçTÅ… >|8–––XXX0tèP"##7nœÖõÞyÞ¥K—âãメ¡¡z4oUã¯Î½¼û¼‹-ÂÓÓ###\]]ùꫯԟ¹¢þéîÒ]ëJXõ9[ú&|`liB¦kÓ®ôhÖƒÓ‰§É/ÎçÂõ däfTiúšÚVѵœI>ƒßï~ìŽÜÍõœëºùÅùZÇtiÒEk›³•3· o«·ÅgÆcof¯~0¾S¯f½ªë•´+(K”ôü¹'žßyÒüÛæx|ëÇ· úuP:õdu¯é~cÿ×ÞEuå{ÿ6tÓ, 4‹ "*ˆÜ‘7n Q‚â2Ž¢ Ñy©l¾§×Ò”ÏÆLFA YŒeâ$qAD£& jtÄ5 .DPZÕè¦ß­( Í÷Se•Üî{îïtÉéëïwÏ9D†£µ1Úo@Ã,§ÇÇú¡½‡¢·eoøºøjfN¦æ¦>µ®ÔZ _û "v; eÕeM •@Ãr^OÙ¯y‘¡ŸMCâ¾q¬—•É ªWá¿\þKSØldejgŸ6ÇšW–…RìâlxþÓ³ÙX¿.q€Gc}[ûÔ‘‰È0 vÜbÁÒTh ß¾¾8wçêTuÈÌÏDYuü\ýàçê‡êºj\”]„ª^…´Ûiðvön²?©>´Ö—rE9‚¿ Æw¿ÃíÒÛÍ • ¨kz_?¤÷fýi¼§—×È5Çn—ÞÐ0cøIO»_n)ÖÆ%æ—\¢çÇú6½€"yòækݧöÆHD†ƒùæoˆ¨ëuú ØÒÒRøûûãêÕG{J( œuª:íëõ\6æ6-oL´§ä¤à‘ïà|ÞyÍŒM¿~Ø|zsÃìÊ[Éš$þ³tö°-õEU¯Âi_@"– rR$F÷ [s[„(’aôg-/±f*2mvL—cý“±6ŽójµºYâåquªºv÷‰ˆz¦ÖÄqjn*Òeé¸t÷LŒM0²ßH˜M¾rS`*2E…¢Bó`γtæ°­õ%!3ùù˜ä1 ~èoÓfB3¬M\ÛdoÔF/_ܨqœ×…öÞÓ7ZÛÓ'"깘¿aþ†ˆº^§Ï€]±b®^½Šàà`\¸pr¹ÅÅň…T*EDD*+ž&5j¢¢¢pþüy,]ºJ¥sçÎEQQbccѧO­Û\²d ²²²0lØ0>|………(..FRRZ|ZæYŽ?Žõë×’““¡V«¡V«›Íx}Ü{gÂÂBŒ7éé騬¬ÔôááÇxûí·›³gÏÄÄÄàÞ½{¨¨¨À®]»  ñÙgŸµé `ùòå(//Ç´iÓ™™‰ÊÊJ\ºt ÇGRRR«ç%$$ ** 2™ jµ›7onWüÚj¼î½{÷PRR‚={öÀÖÖ»ví‰':Ü>u-?W?ÔªjqúÖi¤ç¥köƒæ4 R3)’o%#%7f"³n=»&¯,ööXì·ý¤ý Š!p§ìrKr;ÔviÈ 4Oº?îtÎi­Úh7f"3\^zÙ«³[üó٬ϴî“.c$"Ãb,0ƨ~£pùîeüçÖP]W­ëýÝü¡¬Wâô­Ó¸wA³ŒewTQS EÆ»Ç_†üÐìè8×WÚÆFƸw¡Ù,Ú E.ß½Üö¶¬ûÂÄØ#úŽhuœÏ^y#æiÕ']ÆHD†Çß­!Ñž’“‚”œÍL©Æï€ä[ÉÝfÿ×§¹SÚ°ÒÚòñËáåàs‘9jUµ8{»íIÿ–ô·éàÑŠkÏ==|;÷ÛVÇùô÷Òh×']ÆHD†‡ù›gcþ†ˆÚ£S§~ÖÔÔ 66C† A||¼¦Øiaa¹s碤¤ .Drr2‚‚¦×GDD -- _|ñ®\¹‚Ó§Oãÿø&L˜ u›ãÇG\\lmmqìØ18::jb D```gv_£²²GŽƒƒ:+++ÀàÁƒ±oß>x{{ã×_Å7àáá¡9ïƒ>@DD„æçððp8pñññÈËËC¿~ýš]«‘\.Gbb"úõë‡øøx˜š6<¹éããƒýû÷ÃÝݽÅ%‚`éÒ¥X¶lY‡ã×Ö’%Kš\7,, *• óæÍC||<ÚÝ6u½Æ§"£“£Q«ªÕ$oŒFÕo~Éþ÷*îa¬ëXMRøY:s‘Öô±êƒìâl켸S³áEÙEüýÄß›-稭 Ï däg`áþ…ˆœ‰û¼ˆ’ªl?»]ë½9B^ AúO阿w>"ÆFÀ»7,Å–(”âFÑ ÄgÆ#Ü'cŒÑªOºŒ‘ˆ ¿›?Žß<ŽÍ§7ÃÂÄ/õ} àÙËvævˆI‰B©hó¬¨ÎÞ¶%RS)ÌDfHÍMEJN |]|ñPñÇnÃÆ“;Ô¶¹Èþ®þ8õÇ),:°+ǯ„‹Ô·JnáïÇÿ®ÕÞªf"3L<?dþ€¥—⯾…›­ÄB1då2üzïWÄ^ŽÅžð=ZõI—1‘áiÏÝ<†;¥w°tÜRÍk~®~ˆ<‰U ,Å–î4¼Mmvæ°­écÕð@ÿösÛ±Ä ¤fRÜ,º‰-É[S’Ó¡¶'¿0ÛÎnÃ?Oý¦BS¸@¥Váȵ#øâÌZµ5kØ,|™ö%–\†ãWÀÏÕöö(W”#·4?eýG‰#Œ^ UŸt#æožù"jN-ÀÞºu ÕÕÕøý÷ß!‰@3[´ñïšíùº}ûvœ9s§OŸÆÔ©S±jÕªvµ™““ƒššL™2¥Iñµ«åææB©TÂßß_S¼l$ 1yòd\½zÙÙÙM ˜{Ê>ÎÍÍ @øϺ¦J¥Â¸qã4Å×FÖÖÖ5j>Üâ¹O¦Û¿¶&OžÜìXca>;»kqDÔqîöîp”8âFÑ X›ZcXïaš×üÝüqôúQÝcOÀ§ ó Ãný‘Ç"yìÑòïƒã— å…O9ûéæ˜ƒW"«0 óbçiŽ L󚆟²~js[ÁCƒqþÎy$d&àøwZ|Oè‹¡´ë“.c$"ÃÓ8†ß(º÷ Œ4Œc]ÇâàÕƒMÞ× Ìõž‹_ø7þ{ß7ymÖÐYØe‡Úâû¸(»ˆ“Ù'q2û¤æ¸ÔL ?W?Í^¹m±&` ² ²pè÷C8ôû¡ߣV«µî“.c$"ÃòäxþøÒ“~®~P«ÕÈ~@@ë+Ìgúóà?ãó3Ÿ#þ·xÄÿ¯9.Kèˆc7޵»íáNÃæ†ØË±XõÓª&¯M÷šŽÃY-ç^Z2ÀfÖ­ÇÚĵxÿÈû-¾çÝQïЮOºŒ‘ˆ ó7ÏÆü µG§.A\_ÿØ>E*T*êëë›L ¶¶¶Éy.\€L&ܼy³I±±=m¶e™a##£&í?®ººú™ç·…¶Ë›™™µÚF[× oíšO;ßÎÎN«¶ž¤ËϲñšíY*š¨§‹Õ¨­íž¿#ËÖŒî?F‚G_9Ï„jë¬(}yeÐ+ØüçÍðtð„©Ð„ù„agØN˜›t¨m±PŒÝ¯íF¸O8ì-ì!Š1Øq0¶oÅ8·qZµ%°qÚFÄÌŒÁØcamj ‘±.RzbkðVŒu«uŸt£¡Q(~ïLM;¾/ ÑӈŠÿƺãX?ÀfúZ÷ðh™ÊF㻹<<»<6m¬|y%]© LŒM0ÀfV¾¼ë×u¸ív??Ý'ÂÂÄB3ãtoø^8H´jËÚÔñóã±jÂ* í=æ"s˜‰ÌànïŽÐC‘0?A³Ô³6}ÒeŒ†F¡pœ§.Ñ­ïéϽ¼4ÇÿèÎË€“•v…í¨þ£ K`ej… î7/ý¤­¯.ÖV‘“"±zÂj °‘±}­ûbÅøXñò ­ÛzõÅW7/Ó½¦k–w8àO.Bä¤HüÏèÿiWŸt£¡©©1âXO]¢[õÌß<ó7Ï7æoH_êì&ˆ‹‹kñõªª*ØÚÚÂ××))m{j:??>>>Xµj–.]Šàà`$$$hÝfuu5lll ‘Hðûï¿ÃÁ¡õäÁŠ+…³gÏbäÈ‘Múàáá»w´RiÃÆÙü1Ö¬Yƒ“'O6›©ú¯ý +W®Ô¼VYY ©T ;;;ܸq£É,R•Jooo\¹rׯ_‡‡‡V¯^7âòåËðöönÒvãk™™™:th«ý‘ËåJ¥èÛ·/®]»ÖdlEEÜÝÝQTT„¢¢"ØÛÛ7iûÉëj¿¶ŸeãuW®\‰M›65éÇ®]»0oÞ<,X°[·nmµ¿111˜:uj«ï!Ò¥E‹A"‘´:þuTAAäry›Þ;fL¼ýv9ÞxƒKu¥û÷…ðóëï¿¿‹—^Rè;2`/š"4Ô©©·áè¨Ôw8D=ÊŽR|ýµ5RSoë;2p}dŒ 1ââîê;¢gÎgøøÔ`Íš–·ê"Òæoˆôƒùj/‰DÒ¡Õu;u¬¹¹9æÎ‹ÔÔT¼öÚk8{ö,ÊÊÊ P(píÚ5|óÍ7=z4jjjJ¥¡¡¡xðàöîÝ‹%K–`Ñ¢Eøá‡¥u›fff Aqq1&Mš„#GŽàÁƒ(--űcÇ•J2d`ùòå¸víª««qùòeãîÝæÿ²µµ$&&¢ªªê©Ÿƒ……¦L™‚‚‚Ìœ9—.]BUU²²²†+W®ÀÛÛ»CË÷>I"‘`Ò¤I¸}û6BCCqõêUTUU!##³gÏFQQQ›ÛÒ6~m?ËFÑÑÑØ¼y3îß¿ÒÒRÄÆÆâ½÷ÞÌ™3§Ÿ‘asw¯Ã{’ˆ´×ø{çæVûŒwuÌÀu€ë×9Öuµ7Làî^§ï0¨8°7oš ýÈQ{¨Õ@v¶ ïé©K0C¤Ìß¾tê°°eËddd 66±±±-¾§qîêÕ«‘œœŒ7büøñ€Í›7#==«W¯ÆÈ‘#áçç§U›[¶lÁùóç‘‘‘ÑâìÈÆ÷………aíÚµHMM…—×£%uœ1iÒ$$%%59oüøñذa6lØ 9vêÔ©ã‰ŽŽÆ¹sçpòäIŒ1¢Ék‰Û·ooñ¼ŽˆŠŠBjj*<ˆƒjŽÛÙÙ! 'NœÐì£û,ÚįígÙ(88Ë—/ÇòåË›G@@@›â$ê‰||øñGK}‡AÔ㘇¹¿ \IDAT¤¥™ÁÕµRió%÷‰tI*UÁÕµgÏšaܸ§?øGDºuö¬þò—‡Ï~#Qy{+ —!3SŒáÃkôQ‘™)†\nΈ¢ÎÇü ‘~0CúÒ©3`ÀÆÆiiiØ´iFŒ‰Dsss <o¿ý6Î;SSSìß¿QQQ˜1cV®\©9_$!..666 EAAA›Û{{{œ?kÖ¬§§'Äb1„ãÇC(l¨A›šš"11“'O†¹¹9¬¬¬0kÖ,œ9s½zõjÖ////|ýõ×ùä 4&&&puuÅúõëñÍ7ßtô£ 2h'VA&"3S¬ïPˆzŒúz 1Ñ'Vê;ê!&L¨ÄÑ£œEÔ…~ûM ™Lȱžº„§g-úôQ"1Q¢ïPˆz”£G%pvVÂÓ“³¢¨ó1CÔõ˜¿!}êÔ=`©{’Édxá…0pà@üöÛoúç©{Þ¶÷€¥®Öö€€)S\0|x 6n,ì”xˆ¨©S§ÌñÖ[N8r$ƒ1YCïæML™â‚¯¾ÊÇË/s,QWXµÊ™™büüsž¾C¡"&Æ»w[áÔ©Û03ã7D­ºZ€ñãûãõ×˱xq©¾Ã¡‚ù¢®Åü uD·Þ–ô/88III(**BYYŽ?ŽéÓ§£ªªŠûª Êpà€%²²ø%QgS©Ø´É'VòæºÌ Aµ˜8±›6ÙA¥è;"ƒ—•%Æ–x÷Ý2}‡B=Hxx9jkضÍFß¡õÛ¶Ù ®N€ðð }‡B=ó7D]‡ùÒ7` \RR&Ož ØØØ 00ðôôIJeËôéÈŒñÒK |ø¡=—§$êd»w[!'G„÷ß/Öw(ÔÃüßÿãömöì±Òw(Doýz; ®ÀŒÜÿ•ºŽ ¥Ø¾] ™L¤ïpˆ Ú½{B|ýµ‹—ÂÎN¥ïp¨aþ†¨ë0CúƬûñÇ1mÚ48;;ÃÄÄ ÀâÅ‹‘’’‰„{Ë X³æ._6ÅwßYë;"ƒõÇ"DGÛâÍ7ËáêZ§ïp¨‡éׯo¼QŽ-[lñÇLÌu–o¿µFzºÖ­{'œS›?¿}û*ñþû½ Tò QgP*XµÊ}ú(1o^¹¾Ã¡†ù¢®Áü u,À¸€€>|2™ 555ÈÉÉÁ'Ÿ|;;;}‡¦±aèÕêvïÿJD †­Á²e%øøc{üò‹¹¾Ã!28eeFx÷]'ôï_‡… KôõP%8°o¾é„’c}‡Cdp’“ÍññÇvX¶¬C‡Öè;ê„B5>ûì>23ÅX»¶—¾Ã!2Hû›=22ÄˆŽ¾¡S©ë1CÔ¹˜¿¡î‚X""²`A)fÎ|ˆeË‘‘ÁýDˆtE.7‚NP*øê«|˜™1QCú!«ñå—÷ð¿ÿÛr9oç‰t%#CŒˆGÌœ)Ç‚Üû•ôgРZlÞ\ˆ„K|þ9÷ƒ%Ò¥Ï?·ÁÞ½VˆŽ.„—÷$ýaþ†¨s0CÝ 36DD棊àë«Àë¯;ãèQ.5NÔQ2™¯¾êŒ;wDؾ=Ÿ{D‘ÞÙÙ©°}{>îÜáÕW!“ õÑsïèQ ^ݾ¾ |ôQ‘¾Ã!Âĉ•X·®11¶X³†Ëu”R)Àš5½c‹uëŠ0qb¥¾C"bþ†Hǘ¿¡î†X""#©±m[>BB*áˆèh[ÔÔ0aCÔ§N™cöì¾06V#!A†Aƒø”x€ÈÈ"ìØa  $%Yè;,¢çFn®ï¼ã„·Þr˜1ÕØ·ïœœ”ú‹¨ ''%öí»‡1cªñÖ[Nxç'äæŠôÑs#)ÉAA.رÑ‘Eøàƒ0æÖÊÔÍLœX‰}ûPˆ  ~ˆŽ¶Eu5“óDmQ]ÝðMPP? ±oß]Î|¥n‡ù¢Žaþ†º3>>IDdÀ^{­¯¼R…m±paoxyÕ 4ô!*Ñ»7oFˆW]-À™3æØ¿_‚ãÇ-0p`vヌ‘#«õQ«ÌÍë±eKæÎ­Àßþf  ¼òJ%fÍ’c̘*îwCô„û÷…8qÂûöY"+KŒ3bÕª88𾈺//¯ZüôS¾ûΟ~jƒ={¬0gÎCÉ1lX ¬Çi¨Õ@f¦GJo‰º:–-+Áüùå y_DÝó7DmÇü =/jµºÝw!!!€¸¸8DÔ111˜:uª¾C¡bÑ¢EH$6þ@.—ë´ÍÌL1¾ýÖ‰‰¨®6‚““ýû×A*­‡@ÀÿˆRÏ%—áþ}!rrD¨¯ॗ +Çôé•06æï=?T*– 6Ö —.™ÂÈH 7·:8:*!‘Ôë;<"½©¯ ¼Ü¹¹"Ü¿/„™Y=‚‚*1~9† «ÑwxDZ).6ÆîÝVˆ·Â½{BH$õ4¨66*ˆÅ¼o¡ž«¦F€’cdg›@.7‚³³³gW <¼‚{Òs‡ù¢–1C]M"‘ÀÑѱÝçw¸ßî‹=ÏæÌ™ó\`ÕÔžnŠ«WÅÉD(/7B=óòÔƒI$jØÙ)áåU‹‘#«aoÏ =ÿ<0ƹsfÈÊ2Aq±r9§GQÏedXYÕÃÅ¥C†ÔÀ×WÁB„¬,üú«)²³MP^nÄ}©G‹Õ°¶®‡»{-||ðôäÞôücþ†¨)æo¨«éµ›––†¼¼¼v_œHWÒÒÒàáá;;;}‡B=ˆ‹‹ FÝ)mwf–ˆˆˆˆˆˆˆˆˆˆˆZ§×,u`‰ˆˆˆˆˆˆˆˆˆˆô££X#ÆBDDDDDDDDDDDDDÔ£±KDDDDDDDDDDDDD¤#,Àé °DDDDDDDDDDDDDD:Â,‘ްKDDDDDDDDDDDDD¤#,Àé °DDDDDDDDDDDDDD:"P«Õj}ADDM) (•J}‡ADDDDDDDDDDÔã…B˜šš¶û|`‰ˆˆˆˆˆˆˆˆˆˆˆˆˆt„Ké °DDDDDDDDDDDDDD:Â,‘ްKDDDDDDDDDDDDD¤#,Àé °DDDDDDDDDDDDDD:Â,‘ްKDDDDDDDDDDDDD¤#,Àé °DDDDDDDDDDDDDD:Â,‘ްKDDDDDDDDDDDDD¤#,Àéˆ@œ¾ƒ """""""""""""2ÿ1·6Z’à(IEND®B`‚fio-3.39/examples/atomic-verify.fio000066400000000000000000000024171476262051600173350ustar00rootroot00000000000000# Data verification with atomic writes # # Some background on atomic writes: # # The main selling point of atomic writes is that it is guaranteed writes # to storage will not be torn for a power failure or kernel crash. # Another aspect of atomic writes is that they handle racing writes and # reads, such that a read racing with a write will see all the data from # the write or none. Well, SCSI and NVMe guarantee this if using # RWF_ATOMIC, but it is not formally stated as a feature of RWF_ATOMIC. # # Fio verify mode can be used to prove that atomic writes can make "safe" # racing reads and writes. This done by having many jobs in a xsum verify # mode. In this way, xsums should be correct, although a job may be # reading a data block written by another job; however # verify_write_sequence must be disabled, as it cannot be helped that data # blocks will be out of sequence between with many jobs. # # Atomic write limits: # For a block device, the max block size for atomic=1 is in # /sys/block/sdXXX/queue/atomic_write_unit_max_bytes # or this value can also be read with a statx syscall on the bdev file. [write-and-verify] rw=randwrite bs=4k direct=1 ioengine=libaio iodepth=16 verify=crc64 atomic=1 verify_write_sequence=0 numjobs=10 # Use /dev/XXX or filename filename=/dev/XXX fio-3.39/examples/backwards-read.fio000066400000000000000000000002111476262051600174170ustar00rootroot00000000000000# Demonstrates how to read backwards in a file. [backwards-read] bs=4k # seek -8k back for every IO rw=read:-8k filename=128m size=128m fio-3.39/examples/backwards-read.png000066400000000000000000000745741476262051600174550ustar00rootroot00000000000000‰PNG  IHDRðüž™bKGDÿÿÿ ½§“ IDATxœìÝy\MÛÛðçtšçyž% )‘"ÕMd(¢ÌS2uÍÕÅu /×%®)SÈœ‹%Š’f*cšTšK¥$‘4œ÷uíßVɉÒpŸï>û¬³Î^ÏÞ«œ§½Ö^›Áb±!„B¨'ãèêB!„~&4!„êñ0¡A!„P‡ B!„zDFF’í÷ïß÷²æ~P}}=mUUU×ó#Ø?¢¢"zAAAYYYòqNNü¡ŸßBè;yyy‘lFFFæÈ‘#bbbû÷ïïê¸ú/„!„¾SFFÙ°°°°··'Ûnnn3gÎ11±.‹ ¡ÿLhú~™™™^^^RRRNNN¶¶¶¤üÓ§OÖÖÖT5...QQQ==='''MMÍf;©©©¹råJlllqq1_ÿþý,X ¬¬üµFÿþûo²íêêzâĉ?ÀÁƒõôôàÒ¥KGŽ€Y³f-X°rrræÍ›ÁÁÁL&“ðšÍà©­­=räHFFÆ„ \]] **êÌ™3EEEªªªK–,QPPhmaaá¹sçžbÄ+++..®6Nì7›®ªªºxñb|||ii)ŽŽÎ´iÓôõõ©=´« Ø9fîÞ½»uëÖgÏžQ/ÍÍÍ›Õi6‡¦¢¢Â××÷Áƒeee<<<}úô±µµµ²²b0ßl!ôm,„ÛÒÒÒ¨ßÇ Ò›\]]IµÚÚÚVÝ8999BßaHHˆ´´t³j\\\?nÖ\rr2‹Åº|ù2• üùçŸ,Ë‚¼ôôô$ûœ4i)±´´$%G%%ƒf?}:)---¥j655‘{€éÍ-_¾œƒƒƒ¤)AAATåG‘ BBBõõõOž<^^^QQQˆŒŒljj’’’jûë¹Õðè­/Y²„^™Ì•††RxðàÁfyõÕ~îÜ9úÇ©ƒussù¥²²²¶›ž6mZËSíããC eee›ššØ?F6äkFMªÍ™3‡*$Ã|ô„ÆÉɉj¥¾¾ž^¹r…jåáÇm´‚bΡAè;ýòË/Ô¶¥¥åƒ€J/ŠŠŠþù矧OŸ–••ÕÕÕ±X¬¼¼<òVnn.Ùˆ'¶¶¶ô'ƒÁÏÏ߬¹€€€@hhèðáéòJKK—••½{÷îáÇdŸÃ† ¹víZDD„¨¨hyy9ù¬‰‰ ûáÑMž<™þ’:Lsssrшœ„fŸ²¶¶¾yó&Ìš5kùòå}ûöÕÒÒ2552e ©ðìÙ3êi¢®®®í¦©“–MM[©®®&¯^½ÊÎÎÖÐÐ`óÙ<tÿþ}jÏÔ½Üô)>÷ïß700èØFú¯Á„¡ï$$$Ôr›LÝ µ··ÿÚ4ªœZZ†\MaÇû÷ïè ƒÁ°²²òõõ€ˆˆò}?jÔ(*¡!5ÍÍÍÉ` ›áÑÉÈÈ´Z‡>E†~BˆåË—¿yóÆÛÛ»¤¤äÍ›7 gϞݸqcbb¢’’;‡Ü¬é>üüüüüü–õ+++ícdó@~3}ÏMMMô ¡ï†>@è;eeeµÜVTT€uëÖ‘oJmmí³gφ‡‡GDD´¼¹FUU•l<~üø›Í-^¼˜l¬^½z÷îÝô·¨¿õ⢢À‚L¾ÿ>Yµ–^ÍðÚ@²³³©Bú ! ÆæÍ›‹‹‹srr¼¼¼È!—––’yÊ»víŠø5:ö5ÔI›4iRDk´´´Ø?F6œÍÍÍÍÍͽ½½Ûް%²‘™™I¾|ù’d3ô ¡ïוã]õ4ô¹FFFÕÕÕ¤úËû×_e±XԵ꾛ÈÈHj*ë²eËH!u÷5ìÙ³‡šüáçç—––Æj1)˜žÇüõ×_TTÅÅŤÌoåççÿôé}ê AöÉ~x-ï±¢P3‘™Lfll,‹Åúøñ#5¡>O=9qâÄ¥K—jkk©Κ5‹T˜7o›ç¹YÓÔIxôèUþîÝ»‹/R·z±yŒl‹Å¢î ÷ðð es§§'ÕJLL ‹Åjhh˜1c)©ªªjãl „Ø Bí@ÿ¢511300 îT’””,..f±Xóçϧ2 }}}===))©>}ú4û6­««£nº###rR«w9±X¬mÛ¶Q%Û·o§ëß¿?UnmmM ©©* ¤¤DUf3¼6²Šêêjª>'''™ÇCMСòòÕÎÅÅ¥ªª:lØ0ê#pùòe6Ïs³¦?~ü8räHê]---cccEEE2†ºcˆÍcdó@X?–ÐÔÖÖR£„œœœúúúòòòTx.\hãT „Ø„CN}§888<}ú”Ìc500¸wïžœœìÛ·oÊ”) ƒÅb=}úôÓ§O!!!²²²ÍöÀÍÍòçŸ’Ë ¥¥¥‰‰‰555...:::­6ºaÆßÿÚþ¿ÿû?²MŸa:jÔ¨fÍ*°^„„„¨¥äž>}jnn~þüùfÕ.\8wî\AAÁÜÜÜøøx2¬£¤¤tøðaz²Õ.<<<·oßÞºu+É ÒÓÓ|صkÙž;w®ªªj—†ƒB¨7À„¦»Û²e ÙX±bE¯Ih¨ƒ277Ç„!„ÐÃ!'„Bõx˜Ð „B¨ÇÃ!§Þ#--->>¾´´”‡‡GGGgÔ¨Q<<<ÍêTUU©ªªN˜0¾6¥í½½~ýÚËË‹l/]ºTBBâÖ­[©©©rrr£FRTTl»Q„B¨caBÓäää,X° ""‚^(''çíí=nÜ8ª$<<ÜÑѱ¢¢‚¼TSS;wî\Ëé,ììíõë×ÔÍÌÌÖ­[—˜˜H^ œ?ÞÎÎŽjtêÔ©•••ôF;ìÈB!À!§^ ¬¬lĈ$ÿÐÔÔ\½zµ££#GII‰]xx8©–——gooO²%%¥åË—ëêêN:õûöF7gÎ>>¾+VÈËËÀû÷ï/^üñãGªQ’ͨ¨¨¬X±bÀ€-E!„~^¡éñþúë¯ÂÂBèׯߣGøùù@WW÷?þhll\½zõÓ§O`ÿþýïÞ½ÈÉÉÀ²eË>ü{£>¾¸¸˜‡‡GAAASSsРAôúVVVÙÙÙdÑÞ‰'&$$Pï*((°¿7III*0j’/777U¨©©I6¬­­³³³©•‚'NœH?(|2%B¡Á`µy  ™)S¦À•+W:-Ô‰âããuuu………ÉËOŸ>?þöíÛ ­­ššÚ¥Ñ¡N‡¿¿¡^ ¯Ðü‡;vÌßßßÂÂBCCãÝ»wáááÙÙÙÀd2÷íÛ×ÕÑ!„BßšÿSSÓ   ë×¯Ó 544¼¼¼Ú5Õ!„ên0¡ùqvvž9sfDDDVVVMM„„Ä Aƒ [®ƒBõ,˜Ðü·ðòòŽ3¦«£@!„:>m!„B=&4!„êñ0¡A!„P‡shBíóñãdž††®Ž!ÔËqrròòò¶£~ç…‚ê•Þ¾}[SSÓÕQ „z9AAÁv%48ä„B¡„Bõxírºÿ~aa!®Ã†P¥¨¨ØÕ! „P§h_BÓ·o_>>>[[ÛNŠuûöí4hÐÈ‘#»:Ô‘‚ƒƒ1¡AõVíKh$$$$$$öîÝÛIÑ nbß¾}#GŽÄŽîe »:„ê,8‡!„B=&4!„êñ0¡A!„P‡ B!„z<\)!ÔêêII¼ÏŸórUWs45uu@¨'dIH4hk26®•”lìêpP×À+4ípéÒ%ssó'Ož°YßÛÛÛÜÜ<++«S£B?Ã¥K`nlw=x{ƒ¹9`×·æÙ3žµk¥ UçÌ‘?^$'‡«±—¶B?¤´”!°f´‰‰ª££ÂõëBøCõ„WhÚ¡   22²ªªŠÍú/_¾ŒŒŒÄ§Þô lw=¼| ‘‘€]ÿ¥²2Î;Å…ttê~û­ÂÒòƒ¬,>äu˜ÚZF|<@€ ‡‡”··è¼66®íê Ðσ M;8::8°«A?£#výðõþë/ ‰ÆC‡^Y[¿ïêpP/ÄÇDz°xoañ>7—ëÏ?%gÌ?¾fûör~~ÑüOÀ„¦””””””º: Ô””»þ{56Âöí’çΉ,[öfÉ’7<<¬®ŽõrªªõÞÞ%÷îñ{xH;:Ê{{¿’“Ãk½_›CCÍJIKKsuuµ±±™3gNDD½ÎöíÛÍÍÍß¾}Û²ý¡öóäɓŋ3fùòå¹¹¹äÝ€€€éÓ§ÛØØlܸ‘¾Ÿ–sh/\¸0kÖ,kkk'''ooï?¶ ûñãÇ‹-²±±™?~LL ý-‹uóæM[[[''§­[·ÿÐ9êþÊËÁÆ –v5¸ ~ùf΄†¯ü¿CÍJIKWW°±9sàË®‡íÛÁܾìú ©Ñj?OžÀâÅ0f ,_Ÿ»`út°±¿ØOË94páÌšÖÖàäÞÞÐZ×ÃãǰhØØÀüùðe׋7o‚‹ ØÚ‚“lÝ ½±ëëë‹É]¹"|ð`éÊ••˜Í ŸÆÜüÃÕ«…ŒÉ“33¹»:ÔézØ2+åÆ6løðá)Y’ýøûûoܸñÓ§Orùò夤$OOÏj¡¡¡áááqqqäe³94ïß¿·±±¡'(—.]òòò “––¦ oݺµyófÒ œ:uêàÁƒ®®®äå‚ N:EõÏ?ÿLMMUWWÿÁsÕ}IIÁäÉàâÂÂàãðéL™Á½{Àù•ŸI2+åÆ Ø°>w=œ;—.Á箇´4ˆŒ„/»þßB*O"ûñ÷‡tJH\¾ IIàé Ÿ»BC!<>w}ó94ï߃Í Ê¥Kàåaa@ëz¸u 6o†Ï]§NÁÁƒð¹ëaÁø²ëáÏ?!5zW×ÿþ»TRïùóEúúu] úÏQTl¸|¹ÈÙYnáB¹«W %$ð¨Þ¬‡]¡!<<5øË®ÿ·5zÿ~¸yaçNÐÓ55ؽzK× =zÄ»yók^ãGÝÃôéÕjjõ;vHtu ¨³ôÈ„¦m$(//§>þ¼c[‘““€‡6JLLyyyªäÑ£Gô III   @•Œ1bïÞ½ÑÑÑ•••›6mrss;xð`ÇFÛ}úP] “&ÁíÛ°m[ì“$_v=tt׃œÀÇ͇‡h]_v=$%кFŒ€½{!:*+aÓ&psƒÞÒõGŠÚÙ½ÓÖîÈ©3¾¾¾†††¸ÛnÒÜ Ñø¬«cù!w L&Ëݽâî]¼ã©·ê… MŸ>}`ß¾}$Õhhhøã?:<¡‘’’200HOOÿí·ßÈ%‹uàÀ;wîÈÊÊ’±*bÛ¶m$‰€¼¼¼åË—€µµ5dddxzzR¹“ÉTVV€ÈÈÈŽ¶;Z¹áï¿áòe96o†°°ÝgŸ>ûöý›j44Àt|B#%ž¿ýöï% €;w@Vh]Û¶Á箇¼>ðö%%06YYص :¡ëa×.ààOO•…!C@NîßÍ»v}1n¥¨ÆÆ ¥úú © ÉÉ0pà¿ÓwÞ¼ww•01--°´è]÷.¿¢b}ÿþxgê^ °±y÷.{ܨ§é‘w9µMVVöäÉ“K–,).....–‘‘ñ÷÷÷õõ}úôiÇ6dii´bÅŠ¬¬¬ÊÊJ——ß¹sçÌ™3éÕöïß¿wïÞ€€êSçÏŸ'ó~´´´ÜÝÝÏœ9“ŸŸOfKJJ.]ºtÍš5j÷’’‹–ÖÿîW’•…K—À¦N…ÈÈç¯|YY8y–,âb(.ð÷__èè®KK ‚+ + *+äåaçNø²ëaÿ~Ø»>w=XZÂùóÿÎûÑÒww8sòóÿ,) K—B¯èúÇy‡mm™ÁUUUöúõkUUUsss^^^Rž——wýúuª77·„„ùs¢Õý$''§¤¤TUUIHHèééiiiµÑh\\uÁU__Ÿü¯ÂÍÍM-ÖpóæMò¼Õh?~üøàÁƒ—/_ÖÖÖJKK«©©éëës~m©'¶›njjzüøqZZZuuµÐ€šýÅØ®.`ç@:ÐСµÞÞ¢UU¢¢½çŽBDô°„ÆÅÅÅÆÆ¦ÙØ*)TSS£J¦M›fooŸœœÌÉÉ©««ËÍÍ­¦¦æìì,((ØÆ~Ž;Öl_‘ˆˆêl2“—ä"ÄØ±cÇŽ›••UZZ*..®¥¥Å Í$­ 4Èßß¿¨¨(??_AA *dš¿þú«   ¸¸XRRREE…뻿Î{ ..¸q45ásw˜™AR¼y55Ígì..`c͆ÕI!­ëaÚ4°·‡ädàä]]àæ55pvþ_[­îçØ±æëüŠˆ@DÄÿnÀ&3yi]cÇÂØ±•¥¥ .ZZ@ŸþJZ4üý¡¨òóAAh]ÿï 4ýP\ ’’ ¢òý™\7“•ÅenÞ¹·j?xð`éÒ¥ÔBÞ Ç'ß—yyyÔÚ˜tÆÆÆû÷ï—””¤J7nܘõåCÑÍÌÌš­uI Y¹r%YŸsÅŠ\¸p!Ú3fŒŠŠ xzz€˜˜Ø¬Y³¿D– IDATàÒ¥K¾¾¾@ÿd3¼äädRMTTT[[ÛÕÕõýû÷Я_¿>}ú?~|÷îÝԽǟ8qb³&&&.[¶Œü­E^²dÉÂ… [=@všŽ‹‹ûý÷ßÉ`==½={öP˲ßìHÇÒÔü/_rtzÎ~²–Ш««·\B·ÕB^^^###ꥶ¶¶¶¶vÛ¸aÃ’͘˜˜ 0 ªª*777)))..®í„¦¦|øP[[Kå4ÔcODEE?~ü¸jÕªwïÞ€‚‚‚•••ˆˆHcc#5ºAп5‹ŠŠÚnŽŸŸ_AA!33377wÆŒ.\ Çd2ÉML—/_...f2™FFF©©©$¡¡.B˜™™›áÑqp|±¸†ˆˆµýúõkj»eö ­­}÷îÝgÏž¥¤¤¤¤¤ÄÇÇ7669rÄÚÚZOOoÙ²e͆œÚnš¾´úĉÉ$h:r•…Ícdÿ@b&4¡ž' €<Ó-##ƒ2dHII ù*€Ý»w“;¢££›}\\\\WW—Œ:>}ÚÞÞžzúôi³›¹¹¹Ïž=;}úôœœœœœœéÓ§_¸pºùÑÌÌŒ$4.\!!¡¡C‡’vɘ???yä›áµAPPP[[›äINNNdêI```³š÷îÝ3668pàÀIÉØ±c_¼xYYY$¡a¿] šæààh6K&##ƒL¯aóÙ?„Ø„ B¨‡áååÝ»wï£GoܸAF.äääìíí¹¹¹ùùù?|ø7n´´´,//'÷'6³aÆ9sæÔ××ýòË/VVV‚‚‚ Ô8EJJêüùóNNN¹¹¹Ó¦M»páyþ 5–D}6l 8zdÛСCÉê/JJJl†×†eË–¹ººÀǧNjhh˜@ ÷P¶nÝúúõkCCCEEE‘/^l¾û©6l˜;wnCCC@@À‹/† Â`0JJJÒÒÒrss×®]«««Ëþ1²y ±©®ŒêÝxyy½¼¼"""Ο?OæÍÈËË?~œŸŸŸ““s×®]d4*++ëØ±cÑÑÑûöík¹“!C†œ>}š,¬ðæÍ›+W®œ:u*..Žd$-ÉÈÈœ?ž¬•—ŸŸ?}úôââbPUUUTT¤ª‘k3œœœôe ¨¤‡ýðÚ`cc³víZ2¾óôéÓ“'O ¯]»¶Y5+++..®¨¨(__ß#GŽËHÜÜÜnnnzzzíj‘~t>>>d°)%%åÔ©S>>>·nÝÊÍÍÕÖÖîß¿»Ž‘ÍAˆMx…!Ô3èéé‘a^^^2s…¬¬¬¬laaA­lccchhUVV&''giiÉÏÏOÐ/N‡††ÒW Ö××ïׯ_ËæH‰‚‚Âùóç¯]»F^Þ¿ŸÜlåáá‘™™I ©'Y.\¸ 3Áçg·µ+¼–­Ó-^¼ØÖÖ–,°«««;|øðìììfc@ëׯwwwôèQ^^^yy977·¢¢âСCE›=¾ÍóÜò]“°°°§OŸ¦¤¤¼}ûVHHHFFFGG‡žÕ±ßìBlbPóÌÙAVº¼råJ§Åƒºƒ±råʽ{÷vu ¨#uÔïoiiiË›qè44ú8P:vl[uê*øóÙS R“ÕØÑ¾+4d9%%¥vF…zooo??¿®Žu¤ŠŠŠ¾}ûvu!Ô)p j]».Ý!„B]«}Wh455555qÈ©×c0‹-Â!§^† 9!„P¯„WhB!ÔãaBƒB¡„Bõx˜Ð „B¨ÇÄ!„B=&4·yóæÜÜÜ®¤¹nXÏ—·9psnEnWÒ\· !„z"Lh ..nË–-]›7DEEmÞ¼9??Ÿ^Øëâ²â¶mÉ}Û…1D½ˆÚ¸9¿òËþí!„P¯ ˜˜˜lÚ´IUUµ cˆŠŠÚ²eK³„¦;Ö ˜h˜l¿IURµ cˆÊŒÚ´¥YBÓC¡^N &&&&&&]E+ºm`=‹I“>Ýñ4vÛÀº­§ÅOwFìœm8Û¦ŸMWÇòU]N G^ÎîØ#"G¨§ûI Í£G"##Y,–™™™‘‘ѵkמ>>aaa ªª:wîÜVc§¡ož¥÷(ÿQdF$ Xf}ÍŒT®=¾ö¤à‰»;?7­?TÝN½ó:‡‹Ée¨b8B“Ö5ia1™1‹G. z”U–%#,3qàDqýËÆNDùEƒ“ƒ_¼z1Xe°µ®u\vÜí”Ûs‡ÏU•P¥*W×V‡¥…e—gósó( ëó­þ­È K +­.7ïg®%K;íŸÛæ¾þäz^Ež¼¨üý ¢üŸû7þìÝô»àã–ª’ªsMæ¶; }ó,õVo?¾M(HøEó—®ä«ò«òwÜÝQ×XÇb±šXMTy÷¡^ Ó𦦦ŋ?~œ*Y¶lYMMÍ™3g\]]©„ÆÇÇgÕªUÕÕÕT5333III Û¹s§‡‡Gzz:© !!®¯¯O}„ôïßßÝÝ=''V¯^Mš-[¶˜››SyÃÉ“'׬Yóöí[j?¦¦¦‘‘‘­Ð­_¿~×®]ä%ƒÁX°`Ááǹ¸¸¨vuuuÝÜÜòòòHIIÉ€€SSS8{ölDDœ:uм;räH’Ð4 Œ†¾y–:V«iñ¹ÅÇ£iý;jYM]Í™¸3®®TBãã³êòªêZZ×ô5ó_ê/)( a©a;Cv¨xøy¤¿ú¹ Døêp}%Zÿ²±“þ ýÝýÜs^çÀê_V[ëZ“©*æýÌ©¼ádÌÉ5—×¼­¥õ¯†i¤{$ã+ý°~WÈ®Æ&Úi7]pxÆa.&Õ®®¼®›Ÿ[^Åçþ” X`ªa gãÏF¤GÀ©ØÏý«9r®ÉÜ–±ÓÐ7ÏêBC6jIkÕÖ×f”gtu,ýçtzB³oß¾ãÇ3™L;;;uuõŒŒŒÃ‡KIIÑë\¿~}Á‚œœœ¶¶¶ÚÚÚuuuwîÜ‰ŽŽž3gNpp0UmÑ¢Eœœœ...‚‚‚!!!©©©®®®ÑÑÑíÚÉÒ¥K¹¹¹Z½îråÊggg022222b2™>Œ‰‰ijjj5¡9tèÐŽ; Ƹqã´µµsss¯]»vâÄ IIÉ;vPÕ–-[ÆÍÍíââÂËË–ššjooŸžž.!!1{ö즦¦ˆˆˆyóæ)++@«ófØl¨í³Ôáö…í;}œÉÁ´h§.¥žñ*ãð½ÃR‚_öï“ë Î,àäà´`«-§]W_w'õNtfôŸ9ÁËiý{n'§ËAÁ”ÔâTW_×hèvídé…¥ÜLng3gQ…V¯»\Iºâ|ÆŒTŒT˜̇yc²bšXM­&4‡"í¸¹ƒÁ`Œ0N[N;·"÷Úãk'¢OH Jî˜Dë_ßeÜLn—.¼\¼aia©Å©ö‡ìÓÿ/]BPbö°ÙM¬¦ˆôˆyÃç)‹+@«ófØl¨í³„ºPÀ󀄂„Ày«ƒVwu,¨myQQúõ3ìÓ§OWG‚:R§'4{öìáàà 377'%ׯ_·³³£×Y¿~=??TTÔàÁƒI ‹Årppð÷÷OOO§FUúôésçÎ>>>رcÇ€bcc«««………Ù߉¢¢bdd¤Ð×Þ°a:théÒ¥TaLL “Élµþ_ýW¯^µ··'%<033Û¿ÿï¿ÿ. @ åä䢣£I¨ ŽŽŽþþþ§OŸ^³fÍìÙ³óóó#""æÏŸO®ÙüHCmŸ¥·çöGØê0ó~æ¤äú“ëv‡¾ì߀õüÜüQîQƒUh]sÔÁÿ‘ú«tjT¥TŸ;«ïðqñÀކ¶ ˆÍŽ­®­æf'ŠbŠ‘n‘B¼_ï߀ phÆ¡¥æ´þÍŠa2¾Ò¿·þ€«K®Úú|Ús˜í4Û¶ÿwÛßx>÷¯ˆ\´{4 µ¡©Áñ˜£ÿ#ÿÓq§×X¯™=lv~e~DzÄ|ÓùäšÍ4ÔöYú(«);ûðlZi?7¿U_« : õnzYº²ÁÛ‹¥"¦2Aw‚®Œng‡ô¦öÍŸá.¶¤¯d_vê¿ÿô~óíÍ¥5¥«G¬(?°³ÃC_JÞéçW-''gjjjbb2bÄ‘®Ž ý¨ÎMhòòòŠ‹‹­­­©l&Nœhdd”˜˜H^–””¤¦¦öéÓçÖ­[·nÝb±X, È夤$*ñðð ßÓÀÍÍmee•‘‘QRR",,ÌþNÜÜÜÚÈf 333ŒŒèÙ |-ÏÈÏÏ/,,>|8•d€±±ñ”)S|}}=zdffFO¥œœœ[·nõ÷÷]³f ;g²] }í,±ÓP»äUäW[ëZSÙ L8ÑHÕ(1÷sÿ¾-I-Ní#ÕçÖó[·žÓº†ÁI¹IT.âaãA¾§€›“ÛJÛ*ãUFÉÛa>aöwâ6Ú­l¦ðMafY¦‘ª=›€¯åù•ù…o ‡k §’ 0V3žb8Å÷ï£üGf}?Ÿv*¥àäàÜ:q«ÿ#ÿجØ5Öìõo{úÚYb§¡^àÕ»Wv§íÊjÊÈË[é·Â2ÃL<@rÿd›äǃ8™prÏø=u'~m‡³.΢†ùZ%Ê'zxÒá¶£Ú¾]B@bɰ%ìBÑÛ"?—·…û&ìÃl¦+ŒÞ±#MU51666..ÎÝÝÁ`˜ššŽ3f̘1¼¼¼]úN›Ð¼yóZ@QUU¥šòòrÈÎÎÞ¸qcË=Ð'²())Ñ߀úúúví¤oß¶þ~ª¨¨€~ýúµQ‡Ž ººz³rr%³²²’*QSS£W /ÉÇ;¶¡6ÎR‡{óá Ðç´ª’ªTBSþ®²Ë³7^k­khY”Ä¿ŒœGêëÛµ“¾ÒmöoMô“e»ß¿u©§]ªT¾§õ¯ä—ý+©ŸÏOÇ6ÔÆYú8“tFM\m¥ÙJ)©”Ò”ãŽßJ¿å§î7eÀ8™pfžm¢jÂÉÁ™û&70%°úcu;L(Hh;¡‘l;¤¸Ü¸À”ÀfþCf;µíiÉÓE~‹¸™Ü—f^Ò’Öúf}Ô88˜ýû÷ïß¿ÿ¢E‹Þ½{wûö퀀íÛ·ÛÚÚΙ3§å¶¨ûëÜ„FLL Z. G/!uttt¦L™ÒrFFFì7ÄÎN89Û:d ÈÈ`wBi÷åË—Íʳ³³€~{QNN}Ê™•L>Þ± ýLbübÐr­[úbq¤ŽŽ¼Î”Á­u*{ýËöN8™mö¯ d¼b»Äàey‹Ó^ž ôÛ‹r^çЧìYÉ$ìŽmI JùÏñ'—©FiŒ2T4œyqæ¥'—HBÃÉÁ©)©ùÇ/PõçÎ}W÷®ž›vŽ~E§¥¶Ó”º†º¡gÌ0P0øfðÁiÁîÁîZÒZG'm6Õ u!!¡É“'Ož<¹¤¤$00ÐÏÏïâÅ‹cÆŒYºt)ûÜ¢î syyù°°°¨¨(êê7nP—g@II©oß¾%%%ýû÷§ÊY,ÖíÛ·© 1m뀢¢bß¾}½½½]\\¨òØØXú8=¡¬¬¬¨¨8aÂR˜””äççÇÇÇg`ð¿ÿàvîÜ9~üx2ÚÕÐÐðÇÀðáÃÉ»ä"'ýBËw7ô3©H¨È‹Ê‡¥†E½ˆ¢î ¾ñìuy”Ä•úJ÷-©*qìÐ_áË®I½MMˆi[‡ìÅûJ÷MÌMôŽòvAë߬X“>­õ¯¸²¢˜blVlàÓÀ úŸO{n’ßC?>.>eZÿ†ì¯?žŒv545üqý®ñ¹9yáË -ßÝ«5–t€¡*CE©»Š\†º¬ Z³*p•…†…¶´¶º„:ƒCˆç«£0DiÈÄs0öà§ÆOnæn߬y5ùjFyÆhÍÑ»Ç練¨A݇œœÜ¢E‹.\xëÖ­#GŽŒ7ÎÒÒÒÍÍ ç÷>)xÕªUnnn–––vvvjjj™™™ÒÒÒeeeÔ÷Ç®]»&Mšd```aa¡¥¥ÅËË››››““S[[ûµÙ¸ÍtÈN`Û¶mŽŽŽ‹-:yò$¹Ë))))..®¾¾¾Õ«;¿ýö›«««Ý¸qã´´´òòòêëë=<<¨‰ºPRR¢­­=nÜ8žððð””IIɹsç’w544`Íš5111üüüdšïkè'[eµÊÍÏÍr¥Ý ;5IµÌ²ÌÀ'ÒBÒeïÊð¹vM:2Éàÿ ,´,´dµx¹xs+rrr^çÔ®er°×¿±Øf¿Íñ˜ã¢s‹NÆœ$w9%å&ÅeÇÕ«çd´Ö¿c~sõuµ;d7nÀ8-Y­¼Š¼€Çõõ6ÔD](y[¢½Q{œþ8Nžð´ð”âIAɹ&sɻҰæòš˜Ì~n~²Í÷5„„y›Ïå-®.&Û¶Ú¶:2:7Roø'ûg”gÔ5ÔÓ·fÄš–Ÿ¢üÈš÷ŸÞŸxpBJPÊù²3U˜[™ ó/Íç`pœ›vŽúáäáä€×ï_×7ÖcBÓmqppØÚÚŽ;öîÝ»û÷ï·µµ?þŠ+xxxº:4ô ?#¡IKKóñññóó#%K—.-))  ¾†íìì.\¸ð믿††††††’BŽ1cÆ´=BD×!;€©S§VVVº¹¹%$$$$$B33³¯-B³lÙ²ÂÂBOOÏ      ø¼<ÌÿýßÿÑ«yyy­]»öرcä%Y‡†Œp€ŽŽNjjª§§'|^‡æûúÉVý²*íUšOŒßÃÏýk¾´ämIÀãêkØnÝç ¿^ü54%44ås×08ÆôÓö]‡ì¦N­|_évÅ-!'!!çsÿö5ûÚ"4ËF-+|Sèêô4(èéçÓnºàÿì¾ìßé^k¯¬=ù¹%–.°éo£#¯“Zœêê Ÿ×¡ù¾†PÊ«úË÷ŸÞ¿¬x)-(M•¨‰«ýjú+Ù~þêù¬‹³ÊkÊÛ˜Õû#sh>5~jhj(©.)©.iöVRaíªß8íqsÏqvŸ~aú)ÇSßœšƒºƒÁ°´´477¿xñâž={îÝ»·wï^êæ:=¡a2™'Ož\ºtidd$˜šš2¤_¿~’’’ôÉäÓ¦M³³³ ÏÈÈhjjRUU:t(5¿ÕÊÊŠ——WVV–¾gR(--ý#;Ö™´xñb''§ÐÐМœccã6ŽqÇŽ‹-¢ð5j}_BSS3555000//OAA¾R0ðòò&&&geeÕÕÕ‘`ZÖvClž¥ŽÅä`žœsr©ùÒÈ‘`ªa:DmH¿ßûI JòrÑúwÈ4»Aváiá¯2šXMªªCÕ‡Ró[­t¬x¹xe…¿Œ\ÇŠ—‹WZXúGv­=2iñÈÅNFN¡)¡9¯sDøD T ŒÕÚìßI;\–úï¾£´FÑð%4e4S·¦> Ì«ÈSS ¯ ¼\¼‰ƒŸg•eÕ5Ô‘`ZÖvClž¥^ïNæ«ÉW'ëM€ÚúÚ ·6|¨ÿ`«cKÞÝuo×d½É}$þ#”ábr%$´±Ã™C#Ä#taú…f…ën®Ë¯Ê?9õ$/'/Ç—ÏË› ;A˜WØ5ÀÕñ¼ã§3Š"Šm´‹º“Éœ9s¦¹¹¹›››ƒƒÃîÝ»GÝÕA¡¯b´ý›Ü ™r{åÊ•vµ‘˜˜HŸ–ëååõ믿ÚÛÛûûû·k?=Ôo¿ý¶sçÎÇØcîÏd0+W®Ü»w/;•séÓr½îzýzñWûAöþKÿý{õ·!;ÿñx Rwïßïûým©´´´¦¦¦ }(;¶­:ß!êeÔüËóudtRKSee¤…¤s*sjêjø¹øo,¸¡,ª :ž:Ÿ?‰ó‹+‰*}jø”ù:³¡©a¤úÈ“SOvl0mj|ZiÚ³5Ïø¹øé‘o°Ü0Ïh$&-¼²‹ïŒÓ6×­Aè;~>·nÝêëë»eË–éÓ§w^lˆNPPPFF†ýú?ãYNzzzƒ âââJJJŠ€•+Wþ„¦ÑO`±ÛBOQoÒ .&WR^RlV,¬´ÂþE¾¿½…†…÷}ïÒšRPSõçI²øÍâ·žüó¢üEå‡JàfrOÔ¸ÁrCWFÜ‚¡¢¡ïtßy—çM»0íäÔ“úrøäŠîŽÉdnÙ²EFFfÓ¦M<<<“'OîêˆP+~FB3dÈ»wïÆÇÇ“—<<<»wï¦?6õhCÔ†ÜM¿Ÿý¹9yvOÙMl$Bb€Ü€ Ó/¨ˆ©È ÉÎ7šŸS™ÃÏͯ!¡A¿=möàٳϮüPYPUÀÏͯ ¢@]&ùiþ´ùóCýæÿæR‘S%Ú2Úós*sšI¡îléÒ¥µµµ¿ÿþ»ªª*›7Ï_¸paãÆÚÚÚ^«>|HîDijj:sæ yö]JJÊ;wrrrÞ¾}+''7jÔ¨_~ù¥å]ŸñññwîÜ)((ÐÐИ>}zW­ò5?#¡ OJJzòäIyy¹¼¼¼µµµœœÜOh·›øÚÜ^#|MxRnÒ“‚'åïÊåEå­u­åDþKýû•¹;¨Ã‰ò‰+ÿ;ÛI˜WX_þ«6ÄùÅÅù»ì¿Z=9½f%ôÈ)Ò‚Òô¹Ì¨GXµjÕ‹/Ö¬YsëÖ-jMö6”””$$$Йü3?ž¾ÄUo IDAT´lSSS³:Ë–-£n£!®\¹bjjzôèQjžkSSÓš5kÈÍ(”ãÇ8p`äÈ‘û÷ø þœ¶º+++++«®Ž¢sªªþWûWÛÊJ»—÷/BˆàààØ¾}»ÍÁƒÝÝÝ¿YßÖÖVOO¯«.ÏÔÖÖÖÔÔYZZž;w®¨¨¨eŠŠŠþýû[YY©ªªòóó?zôèôéÓ111G¥f†Ü¼y3((ˆÏÙÙyÀ€>|ðóó‹ŽŽöððˆeU”Îö“„B¨””\¶lÙßÿíììüÍ199¹.‘PPPHHH Ïݼzõj«u:D- ýúõ[µjÕ½{÷¨„æþýû°fÍj=[[Û¬¬¬¬¬¬îs7;&4!„P;899:tÈßßßÙÙ™ÅbEFFÞ¹s§´´”L.qtt¤VÊ Ï¡yùòåï¿ÿÞro¢¢¢‡ÿo¤øøø‚‚NNN==½iÓ¦IJ~ç’E¼¼¼ß|Ö&=›!ÈäéƒSdpMEå“À˜L¦’’RVV?ÿ¿sÔþùçŸÀÀÀ;v|øðÁ××·¨¨HUUuþüùŠŠŠpûöí[·nUUU 0ÀÙÙ¹GDÿLhB¡vàããûå—_nݺåìì¼nÝ:jÙXâÈ‘#¡¡¡d 4úš÷ïßS‹µÒQVhjjòðð Þº{÷î™3gΜ9£«« [¶li;¶aÆýúë¯?rtÉÉÉ@{2X[[Ÿ:uêÌ™3FFFälj‰‰ñññÚÚÚ$_€‚‚‚„„„ÐÐн{÷’Ç!GEEݼyóÚµkÇ?sæ ©÷ã‹G´ „B¨}ÌÌÌüýý_½zuõêUaaáÅ‹kjjÖÕÕ½xñâÒ¥Kµµµ-?¢®®~áÂË0FFF=z”¼ôööPRRš1cFŸ>}>}úséÒ¥U«V…„„ppp¼{÷®Õ”ˆNJê‡zZSS³eË)))úÓ ŒŒ6oÞìéé9|øð>}ú¼ÿ>;;[[[ÛËË«ÙÍP{÷îµ±±±¶¶æààðõõ]²dIVVÖ’%K TYYyðàÁÇGDDŒ5êGâl&4!„Pûèèè466æçç³X,;;;êëôèÑ‹-jy3Ћ‹ :{ö¬šš°X,))©k×®‘Y/do"""G}òä‰A¿~ýš¥D-µBb_mmí’%KŠ‹‹Ïœ9#&&FKWW×ÀÀ ::úÙ³gÀÇÇ7räÈ–caÔÓxÌÌ̆šœœìååeccC ¥¥¥çÏŸÿäÉ“®Oh*** W­ZÕáq î&,, ;º—yúô)u}!ô#È…?Ι3çòåË\\\ÆÆÆZZZòòòÜÜÜßüxbb¢»»ûñãÇûöýw©èÂÂÂÊÊJqqq2`Äb±È:þ•••m`` $$Ôösx~Ä»wï.\˜’’ròäIú[‘‘‘...RRRëÖ­ÓÐШ­­ŠŠ:vìXDDD@@ýxmmm©m~~~eeåììì_~ù…*$ëyõêUgBûšÌÌÌÂÂÂ}ûöuF(¨[yþüùóçÏ»: ÔÁZ½Žj/ò-^WW·qãF›Û·o{{{§§§‹ŠŠÎœ9sÁ‚-¦£<}útÕªU‡¦ßÎýþý{¨¬¬Œ‹‹kù‘?BgΡyýúõ¼yóòòò|||è*"öïßߨØxöìYuuuRbcc# pêÔ©   úºÉÔµ%‚““S@@€~_7YÖ¯¡¡¡½²£} ÍСC¡#žƒº¹v=Ë õäYN¡÷æÍ ·m‘$ ±±ñÚµk\\\sæÌiõƒ)))Ë–-;pàÀ€èå²²² cÀ€­.oCžRÜIsh çÌ™SQQqúôéf×fˆüü|...ú]N@’›¼¼¼ö6×yp B!Ô>dФ¶¶öøñã“'O&™ “É”——€„„„VšŒŒŒE‹ýý÷ß-óQQÑ!C†$%%åääLž<™z@Aaaá?ÿüCž´Ðsh²²²fÏž][[{æÌ}ýÖWßVPPHIIÙ·oߊ+899IT§OŸr3W7 B!Ô>III¢¢¢üüü;wîôôô”•••‘‘yûöíË—/ ÕÌàåË—³gÏf2™Í¦mPëÐlÚ´ÉÑÑñ÷ßß±c‡²²277wQQÑëׯà×_åääüŽ94®®®dNaa!Ì;—Œ…;vŒ,³|ùò²²2yyù;wÒ?( püøq²=oÞ¼µk×9räâÅ‹***µµµÙÙÙ222cÆŒiW< „PQ[_»'rOè‹ÐWï^±X¬gkžŠ=tìþ± ùAÚÒÚ\’lÆ~¹éòå¦Ë»:ØnªèmÑݬ»áYáòÔ7ÖûLõ¡þÅ£dkëko¿¸œœQžQVS&Æ'f¨h¸xØbzµ&VÓµç×|ûæ¾Émb5)‹*; ppèÄÉñŸøZ‰ŠŠ6l˜†††‹‹‹¿¿qqqqq1ˆ‰‰‘94-?YQQeeeôrê^!MMÍ«W¯þùçŸQQQiii¤PUUuêÔ©-Ÿ(ɦÇ—––R/É5‹…ÌΡâ§Ð×¾³³³«¯¯ß¿ÿ«W¯ªªª€Á`˜™™mÙ²…,KÓMü'~òB½Ã˜§“Nwu=Û䳓_¿ÝF…#ñGÇýoáÚ²š²›é7o¿¸ííàMO}ÖÞX˜H½|þêùóWÏïfÝ=9ådóa{‡—/_ÆÅÅ9rDXXØÝÝÝÍÍ­¤¤¤¬¬LLLLAA Êôg93FGG§åÞèÉŠººú‰'Þ½{———×ÔÔ¤¨¨øƒO´öòòúôéSËr*_Ù»w/Éišiö„¦)S¦888”——“ù4Íæÿ:991¢Ù<›mÛ¶ÕÕÕ5k÷Â… ß½öqÛ0¡AõÙB—ñ»OKwV^^¾nݺѣGSKߢî¯ÐtGœœœæææaaa]ꜜ{Ì͕¦vu ½‹ÅZ{cíõ”ëTIzYúæÛ›ÓJÓ¶ÙN&¿Jö¼çù©ñÀÿ·wçq5¥ÿÀŸÓmï¶ÝöUûbk…܈¢˜(£¤ñ›†h1ÉÎXf|'FÈV-È–eLŤ[¨”E{‘DûÆíÞûûã˜ãNq»¥Ü–ÏûåÎsÎyÎç9Z>÷9ÏyÔNo¿üørUcÕùÅçñ½µ-µ®g]‰ƒëÛëoÝL-N=óý3µS=xù`ÏÍ= ¯$05Pˆ_¨¶µöøÝãø%oKÖįѠh๗±u¡ÿ»>ƒÉàÐdY1Ù»>w¹º;\+y[Røºp¦ÞL!~!¼d’ú$]YÝK/+ÛèÚða|´2ZDV„²„ò ìçöö¶ ííí†u_§ºµµuùòåBBB»wïæI`€³þOhZZZú½Î~1hãÒ ‰¿¥e ¯Cø´A—†züm›Í¶m6ÛLšhQ´ˆ‡&¡}ÿì ½ú¹³âóããóãõåô7Lß`¤d$Ä/ôøÕã_’‰Î‹vïd¢òaxAB~Â÷&ß/3_¦ ®ÿ*ß/Á/«2ëiÍSCC„†aTMªÛ7n£FËŠÉ6v4fVdnHÜðÇ?ؚħ‰KÍ–.™°„"JI-Iý)þ§Ã´ÃL3`N€µŽ5Ær'$<3<"3bŸý>îcã¹vz»_‚Ÿ¸øæ›‰B)Ê5*àfÀ¦¿61YÖ-š©7s«õV¢×ÛÛÂsUUUžžžóæÍc/¯««óððxýúuLLŒ””ÔçN<=4€aëÒ£K$>R¤K$ñÄLÍìà܃vavÉÏ“‰¤ªIýÅöüëoT¿ñ˜ä±óïµxB#+&»nںл¡Û®o{Ûúïl@Ö²_kªÖÔ­Ö[ñ¯íôíltm®^ßb½Åyü‡ š7Xm¸˜w±èmQ¯bë¢pCá'ËH;½}eìÊ’º’ˆ…ª’ÿY,¿&?¿&ŸÈfB¯ ò^æu9¬··…·ÒÓÓ½½½›››ãããÙšââb‹uîÜ9XmÐêÿ1Md2ÙÊÊŠ½$**jòäÉââ⢢¢¦¦¦GŽé²ijjêܹseee555×­[×ÔÔ„ïêèèÀ0ÌÑѱººÚÕÕ•B¡ˆ‰‰ÙØØäåå±×Àd2÷íÛ§§§'$$¤­­XZZŠa˜··÷'ã²Zα}‡ö×---?¾”””¸¸øìÙ³‰ëÒh4 à FJJ ö/|ÜL¯n,÷ ì-2ù•ÕÞŒˆŠz2yòYqñC¢¢A¦¦§Éa2Y줦VÎ{YVö˜ àMÍëÖýÓÔôþß8;1,ÐÑñJuu««ëŸÊQ1±C66óòjÙk`2Yûöeéé… ÔÖ>˜UZÚˆaÞÞG5²Æeµœcûí%®[ZÚ8þ)©#ââ‡fÏŽ%®K£½À°@ƒ•’Raø¿þ©ìíå¾#ÜóÚç &Ã2ØRÿw}½½zº{uu÷êÚ…Ù!„^6}œuc’ú$ö³Ô¤ÔB­ï[ñÍœ9ÎQÎ× ®½nyMd3¡ŽÎÿ¼ìj®fξ©,¡Œ2SýØ…Câ#)ˆ+¯Ls5v4º]pË}‘¾0œ½/ !”÷2oEÌŠzGøÂðœŸròÖæq=#* º&~MjI*û‘½½-Y3ñ©ƒËغøjch^·¼^½´²¡2baD—l!ó0†ÉbcšÖ4¼dÒ¨I{¿ÝëxÒñƒ D!êýmá‰wïÞmÙ²%!!øOG]»vÍØØø—_~ÉÉÉñòòòòòê25 lö­³œœœÀÀ@‘#GŽTWW¿}ûöÌ™3 åüùóñññ¡’’))©ðððêêꎎŽüü|ggç:tˆ¨'55UMM-33³µµõÙ³gÖÖÖoß¾%–´ÈÌÌ •ˆŒŒ|óæÍ«W¯BBB®\¹Òcxœ«å2¶^µ—––¦¦¦vïÞ½–––§OŸ.X° ¥¥ïL¢R©,‹D"Y[[³þÕ¥c†û qnà—ËÉ© Ìá?rĺºzÕÛ·ÞgÎ|K¡Ÿ?__„*)iôñI‘’·­®^ÕÑá—Ÿ¿ÔÙYÿÁƒ×‡}Ì8SS+ÕÔ$23ÿ¯µuͳgˬ­Õß¾m?{öÃD™™™Õ¡¡y‚‘‘voÞx½zµ:$dæ•+=wPs®–ËØzÕ^\ZZ•ššø½{‹[ZÖ<}ê¾`^K ÝÛ;!D¥ª°XëH$ÌÚZÅZ‡ÿ³²ê:y—âÜ@€Ò–ÑÉõË-ÚTÔåßÑùG¹¬¤²¡RVLÖ—ê«.¥.Ä/„aXECEY]Ù`ˆm€T4T,ŒZø¢éÅÉE'»g3¡†ö†î…xŠöÉ]ƒYuuõ‚ Ù³&“†Ï{éÒ%___Èf¿Mhðu¹·oßîíí­¨¨H¡P/^|ôèQ„Ptt4BèÌ™3t:=44ÔÝÝ]QQQHHhôèÑçÏŸWTTdÿÃ,++›`ff&**ª««‹çÄÓ“ØØX„P@@À’%Kddd<==·mÛÖcxœ«å2¶^µG&“ãããÍÍÍÅÄÄ ÎŸ?o``@£ÑØ'¨þÂËM¿\LÌ3„Ðö퓽½MÅ(áÅ‹ µAEG „ΜyB§3CCgº»ST"-sþ¼½¢¢ûfYY‘„„ùffŠ¢¢ººÒ‡Í@åå}˜<6ö9B( `ê’%cedDD==¶m›Ücxœ«å2¶^µG& ÄÇÏ77W00 œ?oo`@¡Ñ^ÔÔ´õ×å¦!äläÜNow»àv³èf][AÑøâVÑ-¯Ë^e\V¢,¡ü¶ímÔý¨æwÍÍïšÿ)þgÙÅeìcG¾fl… »'@ìÿ¾¼{æYí3—3.MïšN¹œ2UùÄÚË¡1ŠcB»’v¥–¤6¿kn£·Ý)¿³1q#B¨Ë ƒÜ½{÷ìíí‹ŠŠˆ¥p,«¼¼|óæÍ111ãÆãUx Wö‘SQQBÈÞÞž½ßÄwåçç#„\]]]]]ñìï“@ÿöLâLMM%$$ˆM|Õòææf|³¸¸!dkkË~[[Û­[·rsµ\ÆÖ«öâŒååå‰MüIPQQ‘‚‚ç˜{u!Î ürEEõ!{ûÿÌrfo¯…**j@åç¿A¹ºþéêú'þáçß[ˆØo¡©©‚„„ [œR¡ææcYŠ‹B¶¶ìW±µÕغ5sxœ«å2¶^µgl,//ÿñ‰¤€Ÿµõ¨‚‚º¢¢z…O?©ìÛ…87 „¾û]fEfì£XK]v¹q;嫉kjIꮤ]»’vá%£FëÉé½nù¢Ü±_bëÿ«þì_tÇ¿8:ÿ¨¾B(2+²¶¥!´àô‚.çóý|oòýż‹• •Ë.þgÑ"9²œÇ¤®Í´.\¸°}ûv„Ð'xñóówvv¶9_c¢Cßø·ƒÁ`0L&“Éd~ìËOˆˆügL^!{÷`÷«tÙûIœ«å2¶îúüÐÛ{<ž›ûöå8Dbe0X ‹Éd±ÝBôþýÇß ""ÿI¬ñ »„Ù§ÿ_NÕr[w}þýÖûÿßàæ¾p†íývïaÇÃS4¦H K Ô¤ÔfêÍ ù.dŠæ.+±Ñµ90÷€¼0¿°ÄÖc{q---™™™mmmßÿ}AA•J%ž7Q(”üüüâââÏ}tàòBÍÙY!´k×àà55mõõçÏà¯R/\h€rsÃÏÏ·xqbDÄ£ÊÊæ÷ï55m4Ú Ÿ”€€{\^å»ïtB›7§EE=©«ë¨­m;~üáîÝ_:P ±õØ^\K ÝÁárffu[½  îûïÿ,(¨£RUˆçMŠp~þ›ââ†.ï·÷öB€Þº}û6Bjjž3œ^#üùçŸè/ÛCcjjêïï¿ÿ~ü7¢|Ñ¢EŽŽŽ!]]ÝOOÏeË–u9wãÆ\^eâĉ˗/ sss# ]\\¢££Ù—eï­>ÄÖc{q–––ÅÅÅì+Ž’Éd|H/núôé.\ úZnݺÕåE'./4ÐLMüý'ìߟíå•ìåõq¡†E‹ uBººÒ!!3==ÿ^¶ìF—s7n4GÜ™8QiùòqaaÜÜþ" ]\ ¢£ úž‘÷!¶Û‹³´T-.n˜8ñãÛdd²>¤7}ºú… ::aøæ­[.]^tâòB€^a0‚‚‚ÅxyÕ››·ssŠ´´ô@GúË€ÏC8~üøàààÇ3 }}}wwwöùî–/_nddtàÀÛ·o×ÖÖÊÉÉéê꺸¸,^¼˜û«„††êèèœ8q¢²²RUUÕÓÓs„ ÑÑÑ_ø½Ø‡Øzl/BˆB¡DFFúùù¥¦¦2™Ì)S¦ìÙ³‡}šƒvvvÞ¼y³¾¾þs¢Ü\è+ ´?^.8øÁãÇo –¾¾´»û8o._>ÎÈHîÀìÛ·«jkÛääDuu¥]\ô/îÅ«¡¡³tt¤OœxXYÙ¬ªJöô4ž0A!:º@Zºëb+½Ò‡Øzl/BˆBŽŒ\äçw+5µ’ÉdM™¢²gÏTöIhœÞÙɼy³¢¾¾ãs}ÞÜ\Ð+$iÒ¤Iiëë×L™2(“ýëÕQüIþÎð çëë{äÈ‘ØØXüÔ ÑÑÑ!""âààÀÍ49<„aØO?ýtðàA^òY¾¾7ɉuÀH ""A:W®|½~2îõ×ÏoMM ç•Ått´®™3þ`€Á¾?‡ 2™Ì囿¸a²–SXXØ›7o444^¾|yêÔ©àà`qqñY³fñ:4нyÓæà £¡!ùòeË©SùÁÁ¹â₳fið:4ƒÂ0Ih6oÞ¼yóÏ8p€L&ó*$Ð:6oNÛ¼ù?Ï80Lîû)ÃÉ0IhV¬XÑÐÐPRRB"‘LLLüýýçÎËë¸@ÿX±b|Cû„„¢’’F 31Qð÷Ÿ0w.¼K àƒa’ÐHJJîÞ½ûË_ÕhÂÂÂý>¯ÝH ))´{7u÷n*¯é°0?‹µŽ×QÀHô5f PÐ`ȃ„CÞ0C#ÁÓ×O“ž%Í1˜£#Ûë9£,FFYFY]ƒÅP—RŸ¢1Eˆ_ˆØ[^_Ÿ?Ukª±²1‡J´ ¡€!ãI͓ôÃzrz½MhîWÝ߸¡¼þ㪮JJÿ³ûßT­©øfy}ùaÚaq!qHhÀ s-ïZVÆ®lhoФhN՚ʇñe”eÖz]öJY™"O–çu€ôƒÞ%4wïÞ­ªªÂ0l€¢ƒGPPPPP¯£ýLUU•×!¸[q·¡½aœÒ¸˜bøùøB,kéÅ¥´RZjIªóxg^@?è]B£««+""òí·ßP4` Bè'„&ó:пêêŠð:†¾#y)Ý«¸—_“/&(6Û`ö©ìSÆÊÆÄ£“ÒºÒ«O®J‹HÿðÍxI'³38#XWVw¶Áì¯Ø"ãE!‹q§ìNama'³S“¢9Mkû°<Ú‡Õ«›ªÉBdce㱊c»TþªùÕ­¢[Mïšteu§iMë~õ˜¼˜êæjWcW9²\÷½¸wïB£,ðl!„aØ:¢5¢ IDAT4­i´RÚ{Æ{M»ôðÒ˦—Ó´¦)q8 €Á w ŒŒŒŒŒÌ`^³ô‹   „&#´×€þ##Ãë¾>ÈC$”D+¥!„Æ(ŒYh´ðôýÓi¥iDBŸ4ý(‰ä0ÆABX!”û"÷0íð« Ÿ«ùí qšñRT@tùÄå½ l‘ñ¢¼—ykâ×T5VG*I(…|‚g-mô6KwËï²W5Ukê±ùÇD>ä1cvÜØAäÆÊÆsGwýÒ£K÷«îÏÔ›É!¡1R6"a¤ŒòŒNf'ÑC“Z’Š2U1ýä)t}ëõ­qâVNZ9^iügo ƒŒ¡ %YmïÛæŽž«.¥®(®È‡ñYŒ²¸ñìFó»fq!q„PZIšš”ZeCeFy†¾B(­4 !DÕüìLÓG3Ž2˜ •“åÐ|2°/–^\ÚÔÑd¤ld¤d$È/øøÕã»åwW\Z‘´"‰,Dn}×z·üîXű†ò†²b²Mïš2+2o—Ü>–qlÝ´u¡‡Õ·]߯`2ÌÔÌÆ+¯k«»QxãXƱ.×uç4EcЬ¨,‡ØT%U7ÍØôÛÍßf‡Íž¦5 ðch,¼ å »ßÐÞ°*nUî‹Ü=sö8wâÜp HhCI;½=ai‚–ŒQBÕ¤þUðWFY†­¾mSGÓãšÇ¬6DdFÐJixBC+¥QD)ŸüËó¶ð¦·í¸±£©£i׬]‹MÇœÌ>¹;yw“„ïM¾' ‘c~ˆ¿ÿâþÛÖ·$;»ª{U7‹nâ ÍÉì“ &×êëKõÅO÷¥ú΋œ×åºÎF\€q›àÖNoJ :™}/Yf¾lµÅêîG–¼-YqiEcGãi×ÓæjæÜTÀ` `(qãÀžÍ »^he4[}ÛŒò “AÕ¤>«}†?ýiìh|üêñ·†ßrx›Á‡êÓïe”g0R][ݱŒc, _Ä­•ÞŠzTý™ >Œ/<3üzáõ.õ¼i}ƒ‘S•#" â5ŋإ&¥æbìv/ìs1´ÓÛOÜ;Al ó {Lò@utv,^šU™e¤ld¢l‡ñ=zõ(<3üNù(×(IaIâ”ìªì£éG)¢”Kn—4¤5¾à~ðµABJºÿ•U–PÖ’ÑJ+ICÑJiòdy}9}ª&5öQly}ù“š'LsŠÆu~ášOV×VÇ`1Ñu?²ù]3B(äNÈõÂëQŠ¥¦¥¢¸¢ ¿ †° .#f;ÅI‰ý\5)51ttv¦&6¥D¤ð„æÌý3Y•Yîfî[¬·{OÜ;±÷ÖÞ;!›¦o" 3+2;í íGIâÜ^HhC ‰Ô½pŠÆ”¨ûQeõe´RÞaCÕ¤bF+£å¿ÊGР~CÓ%0 a‰÷Œ÷+&®è~$>'Þ?Åÿó _[~MFôÃPm‹u*ûÑ“$),ùªùƒÅ`Ïi**9Ä Ì/L<ŸÂ7ñ/òªóBvvìÛêÛî½µ7ïe{á*‹UeuegsϾc¼ûŸÝÿ>y·œFtBdlÌÕ̘Ç?wî\XX˜ŽN¯' KM˨ûQgj¬Z«±!$-"m(o˜V’öôõSmmEqE§÷Ëš.,FYDçE’å0ƽ¼àu>xÃ0~¿éã[Ü!wB;¥D¤ðMSUÓ„ü„àô`â‰XeCåż‹.*" žÐð+Þ(¼ÁþNÓµ‚k! ! ö#1„ýbû‹¤°$Ì!‡C‚$ÁÞ´žÑ MeeejjjCC—Ç—””¤¦¦¶´´ hT€Þš¨>‘ŸÿlîY ÈÎKMˈ¬:ƒþã„9ŸÞ/chºXe±êzáuÿ«þ‘Y‘FJFâÂâµ-µÏÞ<{Tý(ba„ФЉ²É£êGs#çÚèÚ „îWÝÏ•Od3¡%–$>M~õølîÙ?îüû(öQõ#CyCI„/ÕWWV·²¡22+22+òIÍ“_í~U•ü8•óx¥ñ»ív ’³*³Â3Ã/?¾¬+§ëeáÕåB—]:L;ü¦í ‡`,4,¶Zo$ æ½Ì‹ÌŠ Ï ÏªÌ"a$ªO÷‰mpîfî{æìɬÌü¿óÿWß^ÿÅ÷c°`±âÅ·(ø Ftšššš§v€>e¶µõÿ_ŒQÒ£|©¾&*&ŸÜëeá•ó"‡}¦Ý ªðç/“FMê÷`¸ l´Âè¿–ý•ó"çñ«ÇíôvEqE}9}C…oK‰H]u¿z³èfY]™„°ÄT­©ÊÊL³©£‰¨Áy¼3Uƒz«øVó»fY+m«gµÏ|©¾:2Ÿzs3 Bh©ÙRDZŽéeéU U!% ¥É£&³¯âÔ½ Æ-P +ä¼ÈÉ(ËøÖp˜LßÚʇ"“™¼ô? ™KÎÎΡ˜˜˜‹ç«ê>††Á`\¸páúõë555 eÆŒnnnÂÂúx7mÚ´wïÞÜÜ\‹õÇ”——+++»»»S©œÆE†! 3;ÎNNýðó[SSÃùÁëÌ™êóæ5ûø Ÿõ`Ø(.´µU»zµÒÐÓš`0 “É Ü?¢{hºŒ¡immµ³³£ÑhÄÑÑÑGMNN–—ÿø9æÚµk;wî|ÿþÃCddä‘#G¼½½¿fä fúúïóó…z>€¯îñcA~~–¶6×€þ7¢ÇÐt±eË&''˜˜˜xìØ1MMÍGyzz²¶cÇ[[ÛsçÎÅÅÅyxx`æççWXXÈ«°l&Mj¿sG„N‡q `й}[ÔÔ´CP°&ÀP1¢{hØuvvFDD Óh4===¼ÐÅÅÅÀÀàÊ•+555DÇ—½½}\\þõüùó•””víÚuòäÉ€€Þ„À ccÓú믲IIbsæÀ+`imåKN[»¶Ž×€=4”””´´´LŸ>ÈfB222NNN,ëáÇD¡»»;û‰ø&ûŒpŠŠVV­ááR½¡À€;wN‚ÉÄ›yÐ|ÐÑÑ¢P(]Êñ|/NJJªûííí"CǺuu ^¾,Îë@øàÍRp°ôŠ ’’ðŠÓð ÍJJJ¡û÷ï3™ÿù^ÏÊÊB)++%999ìdgg#„TTT¾F” ººï-j ”ii_2`P ”g®X/ß [ð»æ999SSÓ‚‚‚M›6Ñét„‹Å:|øpRR’¢¢¢‘‘qäîÝ»ñ$!T^^îë닚5kOÂ`Ðòó«g2ÑÚµòLø< x-.N<6V|ëÖ7""ðtØ‚„æ£ßÿoß¾}ŠŠŠæææJJJkÖ¬ÁËùù?ŽžVUU8q¢‘‘‘žžÞ£GŒ]\\x8ƒ‘”ãĉê;wD÷î•áu,`DËÎÞ¶MÎÓ³ÞÖ¶•×±€ ÍGÖÖÖW¯^ÕÑÑ©««ËÊʪ©©QVVŽŠŠúá‡Ø;t胃CaaáÇß¿omm}íÚ5AAX¿ €®Æ{÷Ûo¯#"¤¦ÀaÀYYžžJ3f´ùùÁËMÃ܈~mÉËž‹Ì™3gΜ9EEEøLÁÛšvvv&&&qqq/^¼¨¨¨PQQQWWçAè sç¶´µñíØ![Z*°gÏk!!ÈkÀ×'¾u«œµu[`` |~îFtBƒøUTTìR®£££££Óýx------ük 7\\šÔÔè>>ŠNN*;v¼™0¡£çsø2oÞebcÅW®¬÷÷¯ƒÕ(G‚š²8p@OOïêÕ«šššššš¼€a΢=.®JF†áꪲv­BY™¯#ÃVk+߉R66ê"ÇŽ½Z·²™‘b„öÐ<{öìùóç §OŸÆà›€7jýäÉê”±ß~“™9SÝÜ¼ÝÆ¦ÍĤcÔ(º¤$€/ÑÒÂ÷ê~¾àíÛ¢ÉÉbL&¶bEÊõðNÓˆ2Bšµk×zyyéëëÃ`^¾&këV+«ÖÔT±„òÑ£ÒÈ€~C"±&LèX»¶ÎѱfÏFhBþ¾àk"‘ÐŒ­3f´²XèÅ Š þ¦&> :JA߉‰1ee::ïaÕÉ‘l„&4žÃ0¤ªJWU¥ó:Àpý½ò ¡À †}‹ššÚE“ùó:пÞ>{¦Ëë`@À[NàÓŒµº/ †´ð:(½Khôôôôôôbbb(0H`æîî>gÎ^ú“··7™Læu0 ` †wg˜L¦§§ç‰'ˆ//¯–––S§N1ã5;vÆ ¥¥¥¡µk×Κ5‹s<=6œ¨y̘1ëׯ///Ç‘••½|ù2•Jýüÿ'0dô[B¿lÙ2~~þo¿ýÖÐÐðÝ»wIIIiii?þøcbb"B(((èþýûþþþfff“&M ‹ˆˆøñÇ=<<¸9=&&fùòå!333333‰tÿþ}Æd2ùøz äææÆd2oݺµtéRuuu„Ð'ÇÍ;v, Ã0{{{CCò²²+W®„……ÉÊʇ­\¹’ŸŸßÃÃL&_¿~ýÉ“'ÞÞÞiiiŸ»zPPЉ'H$’£££––Vaaapp°œœ\÷#W¯^-((¸|ùr•É“'s7¼¼¼=<<„……“““Ÿ>¾ääd+++¼$>>ÞÑѱû‘ªªª©©©âââø&žÃõ7”””ÒÒÒð;;;]\\âââNž<éïïÏ}%ÀàÔ? Muuõ“'O´µµ¯]»víÚ5‹Åb±BxßIvv6>ìC]]ýܹs³g϶µµ•””ŒÅs‚O'“ÉÏŸ?733cÏfBýûĤ¢¢¢ªªjÊ”)Dö€š8q¢³³ó¹sçrrr,--ñÂ7â‘#„mll «««?™Ð”——¿|ùrÖ¬YD6ƒrpp033ËÊÊêrðúõë‰l†ûx¸±qãF"<~~þ_~ù%...==Ã@ÿ$4µµµ¡âââŸþ¹û^öQ/–––£F*--uttÔÑÑáòô·oß"„ôõõû%ÚÏ©¯¯Giiiu)×ÖÖFÕÕÕ%jjjìÉd„NçPm÷'\Ý]]Ý>Äà MMÍî›ø%€¡®iii„ÐèÑ£»ï533#¾^½zuii©¶¶öéÓ§,X0wî\nNÇÇy~.|HlKK 1‚!ÔeÊ.[QRRÒ¥¼¸¸!ÄÍ{Lªí>wß'góÃÇGs÷ /--%^ Ã7‰KC]ÿ$4jjjºººÕÕÕNNNcÇŽ%ÊY,ÖßÿM ‹9qâÄÉ“'—.]ºoß>SSS77·œœMMÍO'‘HºººYYYÇÇãÒÓÓ-,,0 ÃÇù&&&zyyá»’’’ÒÓÓÙƒÄ_ùáб¡®®®ªªšžžž0oÞ<¼0;;ûÒ¥K"""¦¦¦}»9£FRVVNNN¾}û6ñ"úŸþÙ½{¦ñpÓpÜÞ½{ç΋?Ïêììܾ};BhÊ”)}k0¨ôÛ àßÿý»ï¾3551c†°°pYYYfffiii{{;‰DÊÉÉñõõ522:v예ˆHLLŒ¥¥¥““SFF†P§ïÞ½ÛÅÅeåÊ•áááø[NÙÙÙt:ŸŸßÞÞ~ûöíkÖ¬IKK5jTAAÁŸþ)//ÿêÕ+"Bü —¿¿?FÅç¡éÒŠM›6y{{;::ÚÛÛ”——_¾|™N§oܸ±W#p»ðóó[¿~½µµµ£££¦¦æóçÏäåå_¿~a‡{Œ‡›†ãª«« ííí…„„RRRòóóeee»ß`(ê·„ÆÑÑñìÙ³>>>7nܸqã^ÈÇÇ7{öl~~þ††'''!!!¼w!dnn~ðàA///ŸãÇs>!´pẺºõë×gfffffâXZZâ‡}}}:ïúùçŸKJJΞ=KDhgg7zôè'OžìÛ·ý;M—VxyyUUUíÛ·ïêÕ«W¯^EÿÎûò믿~ÉÍñóó{úôiDDÄ¥K—ð’Õ«WWWW_¾|™sžÔc<Ü4wôèÑuëÖ…††â›ø<4ðÎ6€á¡?'ÖsuuuttLII),,d2™“&MÂÇÏæææº¹¹YYYBø+Kµµµ555 NÇyzz.Z´èÆ¥¥¥’’’¦¦¦'N$ö-Z´(--ŸŸÆŒFFFqqq:::ø“&„°°pVVVbbbQQÑ»wïðQºÝ×r X¹r%13ïôéÓÙgæµ±±VTTdo8^(//ÿ¹;C"‘ÂÃÃW¯^ššŠ¢R©æææúúú²²²DxŸ¬¹Çx¸i8NOOïÉ“' ååå***0S0€áÃ_æ>h7&&fÀâ¶²²²ØG=zÔÇÇgþüùqqq}éM›6íÝ»777×ØØ˜ËS0 ;|øðœ9s40ð•y{{“Édøù K#}qʯfÆŒãÆ311ÈÎÎÆÇíþôÓO¼Ž  ¡ùJÌÍÍoÞ¼yçÎ|SHH(00°ûê›èHh¾’”””ìììÔÖÖ*++Ïš5KIIéë\ús£s€aš¯g„ &Løú×µ±±±±±ùú×¾šž×©ä ¡À †—3çžóÎ=ê˹ç…ÍfB!„JHÐ „Bó1B!Ô`>F!„ó1B!$x˜B!ÁÃ|ŒB æc„BHð0#„B‚‡ù!„sæ ôèÑ#** ¸ÿ~²eOOÏãÇ€ŠŠŠ››çW8vìØÃ‡ ÉoݺÅõ5¹ÖãââîܹQTT$##Ó£GéÓ§wïÞ½¡£„PÇÄF¨#"Ò ())=z”óϼ°°ð;wˆjOŸ>­÷ï…’’R@@ÙÚ©S§ê­6kÖ¬ºÝ‘{999Õ.+++7vPPdVVY>a¢|éÒ¥DÉîÝ»‰¬ÌIJJÊÍÍ­Þƒ@¤sÂýû÷¹ž9sf½_ðâŋƨ¨(N'[5jQþçŸr}…¥K—ÖÛ§={öõÿúë/!!î=(ÊÚµkY,OƒP‡€ùuLd¾VWW?þ¼››[ÿþý‰BIIÉÔÔT6›ŸŸï[ëÅ‹7nܰ¶¶&êtíÚ•Ì4(ܽ{·Ï­[·víÚefffccÃÕ™ÿûï?2»XYY]½zõÁƒ;wîÔÑÑi<ò>}ú{>|˜(ÉÍÍ%ózXX›Í>}ú4™&wìØñøñãþù‡Èj"""?~䊊J¥ÊÈÈìÙ³ÇÛÛÛ××777—+àÏŸ?ûúú’yqçÎÄ1)--8p Q¸ÿ~¢Ùœœaáï§Ö>þÌll¬¯¯/ðæÍ›É#¬®®Î•]\\8ðÇ·nÝJ†qàÀæÿ @¨½Á|Œ:&2߀Q˜ŸŸ/))IîÚµ«ÞóóóÉ£¢¢ˆB)))"Õ%$$pV&§Œ\éÅbihh%ƒ âœç•””#FŒ°âààà@”Ÿ?žØ±{÷îD yâzÀ€\ïܹ“lyΜ9Dá´iÓêWW×z焞œpsN²ÉÓÑÚÚÚL&“ÍfŸ8q‚(|99¹©S§6¯Mç!Ç…k›³BæcÔÁ•••egg«©©?Ï£MMÍ‚‚‚Ý»w?Ž;vÁ‚ ¶¶¶\())]»víÒ¥K_¿~MLL Ý¿ee¥ŸŸßëׯëÞ¤©©),,Ì`0 ,,¬ÞG\={öŒs..!!An/[¶ŒÈÇäLæÏŸ/..N4N¥R™L&ìÞ½ÛÒÒ’«åº—Gý¢E‹íܹ³¸¸ØÇLJ¼±xÖ¬Y¥¥¥cÇŽ%ª:t¨oß¾¼7ËùE¾~ýJ–“·]Q(”Î;óík ÔÆ ú„9B-‚sétùòåÄ î7ÈÂ{÷ž}b³Ùß¾}#Kž>}JÖçeý˜Íf3†(ÑÕÕÍÌÌd³ÙyyyäNÖÖÖ¼+„:|Ÿêàdeeß¼y£££Ó£GòžWKKˉ'êêê’bÒ¤Iýû÷×ÕÕ}ðàAÝFnÞ¼imm---mdd4hÐ MMMb'!!A^ÍÅÅÅ…¸êª´´tèС½{÷VTTܺu+/aKÅ@Ì¡ÿøãCCCÎÆ‰+¡µ´´zõêÕ§O¦¡¡áèèÃÓ¡iŠ5kÖpÞ^eaaajjúëÍþûï¿ÄµëIII†††æææzzzÑÑÑ   @^FŽÐïó1êàDDDž>}ª££Íf³)Ê”)S¼¼¼„„„(Ч§'ñLªªªÀÀ@##£û÷ï×mdÿþýcÆŒa0111ïß¿ÏÍÍ€>}ú>žx>—®®n݇x4$::šHü0xð`ΫÒ8‹‹+((““ÓÐÐPPPhü 4þ‘ŸŸñ×'¼|ù’x„´´tff&ñ{ƒÁxûö-Q¡gÏžŠŠŠÄ¶¿¿?1³ïÖ­¹xH>/S[[›³ñªªªØØØââb™®]»+åýV0#„x²cÇâò·+V4ôÀ2„P³a>F5¦  ÀÎή   22¤¥¥cbbÈ’ „øïwB5¦ººš<¯©©yåÊLƵœ#„B‚‡×W#„B‚‡ù!„<ÌÇ!„àa>F!„ó1B!$x˜B!ÁÃ|ŒB æc„BHð0#„B‚‡ù!„<ÌÇ!„àa>F!„ó1B!$x˜B!ÁÃ|ŒB æc„BHð0#„B‚',èBí N/--tµúúú¼WÆù1B!$x˜B!ÁÃ|ŒB æc„BHð0#„B‚‡ù!„<ÌÇ!„àa>F!„ó1B!$xø|.„`°Ùž.’–&\\Le³ BRR,ee¦Aµ¨¨þDb>Fµ*&^¿–òò’~óF²¨OÑ¡6‡Je÷éS9rdÙ¤I%rr¬Vë—ÂÆßKBMñ+ϯ~ùRjÿ~¥ÔT‘~ý*†/ïÕ«R[»FNŽ)„yµeeBÙÙÔèh1ÉçÏ¥X,ÊâÅ…‹“hf¢lÒó«1#„š¦yù8%EdÇåwï$Ç+]³¦@[»¦%bCˆ_ÊÊ„nÝ’=uJAV–õÏ?y#G–5£|ŸB¨myÿ^ÂÎN3?ŸzûvƱctLƨ퓒b-^\øâEêÀ+Wª9¢ØÒ³WÌÇ¡–åê*»`A§!CÊÝÝ3ÌÍ+BM ¬ÌFµ”ÈH±¿þ¢-XPèèX@iÁyB-΢òìÙ¬W¯$Wl¡.0#„ZDa!uñâN”oÞœ/èXâsóʽ{sÏžUðñ‘j‰ö1#„ZÄñã BBpìXÞË„: ;»’É“KöíS®¨àÿ ü‹‚⿯_Eïܑݸ1_Zºõ§€P+ظ1¿¤Dèüy¾·Œù!ÄGŽ(öèQ=qb‰ ù%·nÝ200000077t,|àíímPKб4pxkjjŽ=:lذnݺŸ^¾|Y€AÖ¥¤Ä\±âÛùóò|ºæc„Ÿeg ¿~-µhQaÇ»†+77—LiŸ>}t8³³ó™3gRSS † ciƒC±ûÁþ6Û´çW;vìÇü!Ôj ð矶t//^HIH°þø£9Ï3B¿¹ÇóçÏß¼y³°p[|É‚”kĈ2©¹s‹øØlÓ¾ê‡ú÷ïÏÇB­#  µ:’èß¿BD¤Ýßmìààààà è(:¬zoVV±Ñ§OŸ¶™Œ ––å›7Óª«)||T“¿mÿþýÝÜÜøÕ=B¨ÕL:µu:Љ?^+ÇÑÑÑ&L‘ÐÐP ˜={6qVïܹsÆ #6:}ûö½uëÖ­[·¶oßòòòïß¿wqqyðàANNΩS§rssÉBBB‚‚‚Èî¦L™BlL˜0áèÑ£Àb±<==£Ó©: `ñÏØØXQQjjj>~üÕÕÕaaaħäérÑÍÒÒ’«GGdzgÏfgg³šþ¦ÊÊÊùóçoܸñÝ»wß¾}c2™………þþþK–,Ù·o_S[«©©ÉÎÎöööž5kVCS 7:t(==½¢¢"..nÇŽ7nÜ >úöíÛ”)SÜÜÜòóó+++CCCçÎëïïÏK×3fÌ R©G–ß»wؘ>}:•JmÆ÷mÞá;w.OPPP||è+W®GŽIOO))©óçχ‡‡Ÿ}z3¾ïOïÑ£Gããã‰Ô 'Ož$ކµµõ¨Q£ˆÂ›7o _¾|;;;^¾IJ² ¬ŒŸ9ó1BˆÏØlÔ•ÕdŠ%²/ñÿîÝ»@LLLQQѧOŸ***@^^ž(çtèÐ!sssQQѦö[SSCÎb×­[ׯ_? ‰’S72‘p¨÷T6•JUUUutt$~,,,üüùsÝj{÷îÕÓÓSQQ!W"ÒÓÓ™L&“É$¯Š²··:t¨””Ôˆ#È줆‚™9s&±áééÉd2ÀÃÃ(1bFãýûrjöá]¸p!±qÿþ}bøÈß-þøãâ¤H+#þ„ó÷Omwµ!„šŠ<Y^^NLg'Ož\TT”žžCT4hÐO111i^¿åååÄöÖ­[·nÝÊUì·!5557nÜxöìYBBBqq1×Ý>¹¹¹\õEEEŒŒˆmbV L&³ªªª¤¤„|A5çïÆÆÆ<~KKKMMÍôôô¼¼6ÇÉJ III" =z”¸Ì»^õžyÎÊÊòõõ%¶W¯^=oÞ<99¹ÂÂÂæ=LYYYZZš˜"GGG7®¡®ë †0mÚ´ÿý·¦¦æåË—dr%¯ßæýûòˈ#ˆ)û—/_ÈëŦM›Æ÷ßEçÇ¡…L´QQQЯ_? …B<5!99¹ººôõõÕÔԚѸ´´49É !ÖV@DD„\=pàÀË—/KJJÊÊÊâãã½¼¼V®\yõêÕFšå¼ÑVJJJ\\<==ýï¿ÿnF„@¥Rmmm‰íÛ·oûúú–——¿xñÂÝÝ÷Fmll ¦¦†¸0[LLŒ¼rê¿o3P©Ô¹sçÛÄÅóT*µîŠx»†ù!Ô¡ôíÛ—óŠ!"«ªªêèè…Í›€¸¸xŸ>}ˆm''§®]»wÍnܸqàÀ——·téÒ^½z™ššÚØØ¬[·ÎÇLJ¸ ©!***dHìÞ½»µµµ¼¼|ó‚€ 6hjj@YYÙâÅ‹{öì¹råJr¢Ì#®‡uŒ3†3¤_ù¾Í3uêT)©ÿ¿èÐÚÚšF£ñ½ÂóÕDaaáíÛ·?|ø@§ÓÅÄÄŒíííMMM¹ª½yóæÊ•+:::Ë—/×ÑÑ!O49;;“§ÄÚZjjêœ9sˆíË—/S©T—ÏŸ?wêÔiܸq'NäìÔßßÿêÕ«d§-u·°° nÅÚ|Ll$''ÛuywäÈ‘}ûöqž²–¸r劗—ñ|ŒÂÂB555ccã‘#Gþ´G—“'Oúøøää䨩©Í˜1cþüù®®®Í RQQñîݻǎ#Î6¯_¿¾°°ðîÝ»¼7baaahhHœü‡:éù¿o3HKKO›6|½DGº’‹@a7åzmâªz|>Wk"WGÖ¬Yãìì\oGÍ™3çÛ·o\å›6m"ž_CprrÚ²e ù£¨¨èéÓ§-ZDüèëëkmmÍck111äµ.\ذaçJðŽ;vîÜIlgÍšõðáÃ3gÎ(++À¡C‡È«²ß¿OæÅÑ£G{xxìᨒ Ík“££ãªU«îß¿?|øp¢äÀDz~ÿþý_ýEŽ?þþýûNNN›6mâ÷1@u|………äOȇvu$x¾ºÝsrr".Q:tèõë׉B111âY¸ûöí[¹r%…B9sæ q.DSSÓÓÓSDD„„„¸žjËckœ»,_¾|Ïž=`llܵkW¨®®ŽíׯÙ©¶¶¶‡‡ñ÷GXXxõêÕ-yHBJnn.ç}Vººº³gÏ`<-óq»GÞO™@žû-..&6²³³ BCC‰’aÆÉȧÐ5µ5Î]ÆŒClp^[‘——d§ÖÖÖä/³ä4!„šDAAaÀ€[·n%^ÒÁ`>n÷È[SSSSSSëV(((òrGòQ>\ÛMj“ŠŠ ±ÁyÏ1-&;•––n¤S„j„ŠŠ ç›$:*ÌÇ힎ŽNNNØÙÙÕ{¸[·n ¥¥•””Äÿ ä•“MmGšššDw dáïð÷ !„š ¯çj÷ȸûùùÉÉÉ‘¢477ÏÎÎ ‘••€±cÇÕž={ •••û÷ïo^k<"Oe?þüýû÷PUUuðàÁæ[„ê 0·îîîÖ?"î^µjñr´üüüÞ½{õïß_KKK^^ÞÞÞþÅ‹Äî+V¬èÒ¥ 0ŒAƒõêÕ«sçÎuïÙç±5­X±‚¸ÜŸÉdZYY–”àMõ!ÔÆa>n7222ü~bbbÏž=Û½{·ºº:ÄÄĦ§§ËÈÈÌš5kãÆÄîRRR/_¾$Þ§VSS>tèÐS§N‘íKJJòÞddd^½zE\Æ`0ÂÃí­­ÉW¦#„"áúq[G>e¾."ƒ€¨¨è¶mÛ¶mÛ–’’’™™)&&¦¡¡A£Ñ¸nLÒÔÔ|ùòejjjFF†¶¶¶ºº:ù<[ …¢§§Ç{k;w&ÓÕÕ%6$$$ÈBòÅjDMÎNkjjÈjæ%!ô‹0·uMz|•¶¶¶¶¶vCŸ^¾|YWW×ÚÚºsçÎG>°þ?þ úÁck’’’u£R© EÛ¹sg¢SÁgr!„ÌÇ¿??¿ ÈËËëëë—””$&&/U¥Ñhœ'®Bµ>\?þ,Z´hôèÑÅÅÅ?~Œ‹‹c0222 ,øôéñ w„Ú²œœJ—˜ÀÀ}â~pý¯tšóñodðàÁOž<)..Žˆˆxÿþ}lllaaáÅ‹;uê$èÐú9:½ÂÅåKü·¾ÍÆ…+N®SRJ]\¾„…åó± Ô$x¾ú·#%%E^l…P;¢ª*áèhÔ¯÷…×fk\K„ÝNEù!Ô>Ðh⎎Mx<\«i³5®%Ân§‡¢À|Œjrr*ïÜIî×O™súURRãïOOK+îÑC΂{fÆd²?|È-f0XººÒVVªbbß_m’’Ræé™6dˆª™™B``^DÄ711¡!CTut¤¹ÉʪðõÍ.)©14”±²R‹‹+~þ<ËÖVÃÀ@¦n`¼7ÛHl­ Þã ,ûýûÜÏŸ ¥¤D¬¬T55%¹vLJ*ˆø–•U!--lf¦Ø£‡|ãmþtŒó1B¨} Ö&9O‡z{glÝVRRCÖéÕKñÔ©~4š8ñcxxÁš5Áééåd…N$ΜéO¤bÅTB‚zölì‹YD*•rà@o;»Îä.wï¦ìÜù©ºšEv1v¬¦‹Ë—.]d‰|ÌÍ6[½Nœˆa³;D’’ÔE‹x½6³îñ€ª*Öܹï>|È%~¦üõ—Éœ9úÄååÌ%K>är¶3dˆê©S}%$„ëmó§c„H˜BíÒ—/Ek×3lssÅÒRæ‹™aa+WÞ½kE¡@FFùüùï‹‹kLMMMDE…¢¢ r/þðüùiéïÿú]º_Zʘ0AKUU":ºðÝ»œ;>ÑIFF""¾mÛÆd²-,”{ö”ÿö­ÚÇ'óôéØŸ†×x³<ÆÆåäÉ&³±„¬¬,Æ{>n(ìòrÆ„ Z**âÑÑ…>äîÙѵ«‘_ËÊjr{ô72’SV+.fåùûÓOŠÝ°¡{ÝÖ~:Fˆæc„P»táÂWƒ=¾Á_™ÿ²oÚÔÝÎÎ7,¬ wÀ•sç⊋kví29SÜëÊ•„½{#>Lspøþ\¹šÖÓ§Ãɳ²[¶„º»§ç¦—/Ç3™ì5kŒV¯þ¾,êèØm„×? ¯ñfyŒËªUÝ~:?þi`«¨`zzÕ×ÿþRÔK—â÷ï¼x1žÈÇÒÒ"nnV22"?æççW‰ˆPmlÔÓÓË^½Ê®7ÿtŒ~1Úó1B¨]úø1ŸJ¥¬_oLN³D—-ëú÷ßa?æ òþ},Ôòà IDAT.•J)(¨>u*–Í&^É ee ˆŒüð=çÙÙuæ\"µ¶VswO¡Ó¿¿j%,웄„ðŠ]É ššRÓ¦iŸ?Ïý®R.7Ëcl\Èß ZÎøñšd2€yóôÿû/îãÇï7A ÁÅ‹ñÞÞ\{ååUÕÛÚOLjÿ_ =kZ>ÎÏÏOOO_·n] EƒÚˆ¸¸¸N:ÉÈÈü¼*j?ÂÃÃ555ß×Ðhâââ?Ì;w–€¢¢((¨f2Ùÿþû¥î¾œË™:Ip~DL1ŒïóТ¢j55q*•ëQðR? ¯ñfyŒ ×륥õÃW¢hhHFF~HÈ™3qÞÞŠŠb––455 QQ! …rçN¹¸Îå§c„85-ýú5==ÝÙÙ¹…¢Aµ¨ºoØl¿deE²²**+™œÿܧ¦–€œœÈÊ WW³/®'?×añBNN4;»’Éds¦äôô²_ ½¹±µÂúqZÚ_͆ŒŒrYYQâÇׯ³ÅÅ©OŸWR#+\½šÐÐJðOÇqjZ>îß¿?¸¹¹µL0¨­ P(k×®=~ü¸ Aü4uêTA‡ÀO}ú(yz¦?þyëÖïÏ·),¬>w.Žø¤¹º&kkKM˜ Å¹cLLqQ/zõRðòJÿï¿8ò”uff¹›[Ê/ß¼ØZaýøáÃô ÈSÖ—/ÇççW öý~ EX˜ÂySÖ™3±EEÕòò¢õ¶öÓ1Bœpý!Ô.-\høøqúÅ‹ñ!!½{+”–2^¾Ì.(¨23Sèß_–/ïâí¹~}ÈåËñ¦¦ 22"¹¹UqqÅ‘‘ß.]¨¡Á}[m½æÍ3xü8ãØ±Ïoßæôì©ðí[µOFmBj476ªy±µÂú±„uÂßQ£ÔUTÄ?.|ÿ>—B… ˆO{õRŒŒü6nÜË?þP€ó££ JÆÀÃ!N˜Bí’±±œ³sß­[CÃà Âà ˆBâÞVâô©¦¦Ôõëƒ×¯‰Š*ŒŠ*$w42’ã1€©©Â®]¦»wGå候™ÂСŽÿ,)Ùü?ù[KX°Ààͺ§gñ#qÿ1y3±£c·r¿~-¾|9žøtÏž^·n%rÞEÍé§c„8a>FµuŸlc£>p Š¿?==½\TTÈÄDÁÂ⇳ ÆÆrOž  ÍŠ*¬¨`ª©Ití*kd$G|ª­-íèhÔ«×»…={þÿ¡ööºVVª¾¾Ù¥¥ âù\Û·Ž+¶¸ã±ÙÆck \qÖvÿþ*K–¾y“[$))lm­Æy•¸¼¼¨—×°W¯²’“KeeE‡ ¡©«K²XìââêzÛÆ‘(ìÆ—#~D¬?áúq‡‡ëÇ¿þþÒéôÒÒÒF*軸Ðmm«ÓŽDEvï.OÎ碢 §Mó“–ùða4×u×è·ÂËŸs}}}ÞÄù1B5æß¿$&–˜›++*Š&%•úúf3™ì9sô0#þÂ|ŒB11‘ý:;%åÿ7Mž¬½lY×FvA¨„@{räÈ …òúõkëoÙ²…B¡|úô©%ƒB­âÈ P€ç¡‡-[€BúÁÑÑÈ×wÔÑ£æ6ïÚeöôép'§ÞÂÂ89F|†óc„ú MMɺ¯Dˆ¿p~Ü6l`³ÙÖÖÖ‚µº €Íz„P‹Á|ŒB ^;ËÇäŠìÕ«W{ôè!..®­­½k×.ëÿO3Ÿ5k…BÉËËãÜ‘(,,,äjçÌ™3ݺu“èÙ³§——”••­Y³F]]]\\ÜÒÒ2<<œl¤îúqZZÚâÅ‹µ´´DEEÕÔÔbbbê†}êÔ©®]»Š‹‹ëééíÝ»—Á`åååmÚ´©K—.RRRjjjÆ »wï^“nBkrsAK ”•!5õÿ…þþ , ƒÇÁù¹"{õ*ôèââ ­ »vÇÐìY@¡ÀCÿ½°vèÿßΙ3ЭHH@ÏžàåPVkÖ€º:ˆ‹ƒ¥%p }=ëÇii°x1hi¨(¨©ƒÔ7ôpêtí ââ §{÷þðíòò`Ó&èÒ¤¤@M † ƒ{÷ c=B¨aírýøÄ‰—.]"¶SSSwîÜÉb±víÚÕÔvŽ9róæMb;22ÒÎÎÎßßãÆïÞ½# ß¾}kkk› ..^w÷¤¤¤þýûçää?ÒéôÛ·o?zôèÕ«Wæææd5''§;wî»lÛ¶-66öúõëD‰­­mpp0±]^^N§Ó}}}###{ôèÑÔ¯Ón¨¨€› S§Â›7 * YY0}:(+ÃÝ» ÜèŸÉ' vè!5vî š>ôpäÔ=DF‚øûÃÆP;ôðö-ØÚBBÔ7ô”ýûCíзoãGðêp =89AíÐCRlÛ±±P;ô`k µCåå@§ƒ¯/DFBz„PÃÚÙü˜pëÖ-—ÌÌÌâââ7n Ÿ|xffæíÛ·ëÝ}Íš5999C† )++‹ŽŽ¶³³+))Y¼x1gµ{÷î=z433³  àÖ­[ŠŠŠ7nÜxùò%dff–••åççûùùM™2EH¨]ŽKôïGBP¬[ ̘¹¹pû6¨«ÿdÇ[·ÀÅ23¡¸nÜaa8y²9sÊû÷á¿ÿ 'òóaëV`0`Ì ÓáÙ3(.†ÄD>23¡¡‡5k '† (+ƒèh°³ƒ’øqèáÞ=8z23¡ nÝEE¸q^¾ÈÌ„à`02‚À@(+ƒü|ðóƒ)S Ã=B¨ír~¼}ûöÕ«WÛ3gÎ|ðà»»{ZZZçΛÔÎŽ;–,YBlïÝ»÷Â… ¹¹¹/^¼èÝ»7ÈÈÈÅÅÅuéÒ…¨¹víÚ?ÿü“ض··g2™³gÏvww>|¸’’’„„D¿~ýúöí ’’’C† 2dHsJ»³z5|ø§OCTøûÃ0tèÏ÷Ú¾j‡f΄ÀÝÒÒ ‰C;v@íÐÃÞ½páäæÂ‹л7€Œ <PßÐCY<} 4xy¬,€±1¸º‚™|úqqP;ô°v-Ô=ØÛ“ ³gƒ»; JJ !ýúAß¾’’0dü&CªO»üeœë g===())ij;œ™OHHHKKKJJŠHÆmmm Óéu÷MNNf0–––D2& 5 âããÉB¢„dccCV»pႇ‡‡¹¹ù† ®]»–’ò«ïqkOΟmmð÷[[ؼ™§]¸®pÖÓhúÐÿù„„@K ¤¤€cèA[ ¾¡‡äd`0ÀÒ8†„…hŽ¡‡‡llþ_AL .\07‡ àÚ5ø­†!TG»ÌÇœ?R( ÏW'{9¯ð‚^Ãε*L¡Pê–Ômªn…&!v!wtppHOOß¶m›„„ÄÝ»wÇŽ[\\ÜÔfÛ¥à`HOøú•לúãÐqÉóÕÄÉ^®ñªoè¹W…)”zJê6U·B“»;:8@z:lÛp÷.ÃØ±ð› }³„g†;ÜtðŽõt ¹zÓᦃÃM‡JF%YØ."G×.óqãh4$%%‘%åååüíEGGGXXøÍ›7œ¹“Éd>{ö ÈBΟ>} ?>d\FFf„ {öìyôèQ@@ÀãÇ÷îÝËßhÛ¢¬,˜1TTàøqøúæÏçC›4ÇÐCy9ð{èAG„…áÍ›r'“ Ïžp =ü8ôðô)çóåed`Âس=‚€xü~‡¡o®¢Ê¢ ´ ¬â,AÒ ÔÂÔ¯§¥±Øÿÿe®íGŽÚ‚˜»wïëׯ‰‰©¨¨ ³³³ËÈÈào/RRR£G¦Óé'N -//ÿò勽½}TT”™™¹x ÎÎÎÇŽËÎÎþöíÛí۷׬YS¦L€ààà1cÆxxx$%%UWWgggß¿ùm›Ã`Àôé—wîÀÚµ°jxxÀÑ£¿Úl÷îë×CL TT@XØÙ¿‡¤¤`ôh ÓaâD …òrøòìí!* ÌÌ€cèÁÙŽƒìløö n߆5k¦L†1cÀÃ’’ º²³áþ}€?ôÚ6ïmÝhݺ(wùyU„êh—×s5ÎÞÞ~Û¶mïÞ½322"J444FŽIÌ\ùÈÙÙ900Ð××·OŸ>d¡´´ôùóç9«ÙÙÙ­_¿~ýúõdÉÌ™3‡L&óÉ“'Ož<á¬O¡Pøj›³e ¼yNN`epì„„À–-Я ÜüfííaÛ6x÷j‡44`äHà÷Ѓ³3‚¯/p =HKÃCvv°~=p =Ìœ Ç0™ðä ü8ô@¡@‡úŽë~Ôý ´ ‡óþéõçÏk#TGœ‹‹‹ûøøŒ5JRRRVVvÒ¤Iïß¿WQQáWûäÒ¯žž^HHÈÂ… 544„……i4ÚŒ3‚ƒƒ9o>€-[¶üûᅥ††¢¢¢ººº{öì¹rå ñQß¾}ŸV–Rn<¤÷ÉïF?¼3ëŽUä§ñ‡g…/u_*JuåÚÖí§õÑïó1O–-[ößÿ€¥¥¥ªªª ÃA­hÙ2øï?KKÀ¡oT¤U<æzHˆHÀPƒ¡æšæ³nÏrýäJäca!á.Ê]¶ØNÖŸg>¯¤ª±»é®Û_oü4aãY¶ŠQµÍgÛÌÞ3{kôn¤áñ—Ç›oêFëvÖ4ÿVRP‡€ù˜WŠŠŠC† 9s挠A­NQ† ú¶Á¶›-‘Œ ýµûkÊiÆæÆ?.é¿d½×úu× 3fD3ÒSÒ¢ɈÉ4Ò`_­¾¿ωw'ª™Õ­7þ´æ½È{±¹±£ºŒ:2p}ÏEG¿7ÌÇ<9{öìÙ³g„³g‡¾-‘—å*‘—Ï,Î$¶Ç1V5~ôù‘G¤Glnl£j¬ñØõCÖ×Ý‹ô+ëÇeÕe/¨H«,º»ˆ,L.H€® „(B×í¯S…¨D¹˜°ä•åÕ0k0£º0#„Ú“èì®—.«.KÌO¤IÓÈ]EÝÕƒ¿?ä<*;jöíÙ¹¥¹\õ+ëÇÕÌj‹‘UœU÷Y!é!qk4vnŸ¹›or¸épyúåŸ.K£ß æc„P{òüëó{‘÷&›L€ŠšŠ¿Ÿþ]^S>Æx ñé¡×‡&›LÖWú~Q«ª´ªU$(-¨‘eýXFLæ¦ÃM®Â­O¶¦¦^œvQ\X\èÇ{JÇw/+.»êþªé7¦_qUSN³‘~Ñïó1B¨=1¢m~¼ù˜ß1š -© ©´ªTRDrù€åħW‚¯œ 8§(©¨%¯Uͨþš÷•ÁbXéY5Ò௬ ÷ëÌ} œ”˜XhY÷;q²Ö·¾2ãÊb·ÅÓ®O»:ã*÷+£ßA|B¨›ÔcÒªA«¾U|‹ÌŠ,­*ÕQй:ãjgùï/ÜÜ2lK•.åá™á_r¾Q„&tŸpxìaÁÆÌÅ\Óü–Ã-›eÓ><+\Ðá ¶çÇ¡ö¡g§ž7nj+h«É¨-°XT$)*i dÀùšµ9}æÌé3§ ¼ ­0MRTRCN£ÞIj‹Úo³¿¼¦\Œ*V7r²ÄHÕèáü‡IIB8)Bµ0#„Úy yòä°¬¸¬©ºiC5%%[+.n&L¸J8#'Ѥiœ—¡!Ô´|žžÞŒ—þ¢vÇÙÙÙÙÙYÐQ >ÓÔÄ ˆj£š– %$$ÆŒÓBÑ 6ÂÙÙ¹{÷î#FŒt ˆŸ?~Œù¡6«iùXIIIII _3Ðá9;;1ºƒIOOt¡á¥!„àa>F!„ó1B!$x˜B!ÁÃ|ŒB æcpuuµ¶¶þôé“ áÖfk_\ƒ]­[Jks‡±Í†ÌÇ––æççWXX(À®_¿nmmÉYØëÒ Òüâü Ë:¾®[¶ŽÌøq|Û@`¡¶Ÿ— Ó§O777733` )))~~~EEEœ…m!°`ºÅtss3-ŽoAŠ_œ_QÅãÛCµ8?---kkkyyyA­ÍÖ¾h)jYwµ–—ls‡±Í־܋¼gpÐÀ;Ö›ø12+Òà Ë[ÁFÅ/E×?^Ÿç:Ïè°‘ÁAÿDAG„ZPkÌ+**Μ9ãççÇf³---W®\éâââíííéé)''GV{õê•»»{RR’ˆˆˆ¹¹ùÒ¥KUUU‰Î;wëÖ­ .ÔÔÔœ:u*>>^UUuÞ¼yC‡åê‹—F***Î;7qâÄåË—»ººž9sÆÙÙ™s&êççwïÞ½„„IIÉÞ½{/]ºTQ±ÁÇÓ3™Ì;wîx{{ÓétEEÅaÆ͙3G\\œ«ß’’’³gϦ¤¤¨««/X°`ðàÁD…õë×{xxÀêÕ«‰bffæìì\70;úéQ⯊šŠ3¯ÏøÅú±mih¹rèJ——.ÞQÞž«<å$8Æ7æ•ûG÷¤¼$ªˆ¹¶ùR«¥ª²µCãîVà­ s/Ô0kNùžŠÏ‰W•U7pÞÐnuÆ—‡F*j*ÎùŸ‹£ÇM4›¸Üz¹k°ë™×gœg8sÎDýâüî}¼—› )*Ù»sï¥VK¥_óNðï(oz1]QJqX·asÌ©=ìµý–T–œõ;›’Ÿ¢.¯¾`ð‚Áµã{w½G¨¬¾µš8 fZfÎ3œëÆcG?=J¨E…¤‡Ì¸1cÝu+®lé¾&_›œW–×Ò½ 6¢ÅóqQQ‘••Uxø÷w|zyy¹¹¹éëëûùùÕÔÔ…,kþüù×®]#÷òòòrqqyöìYïÞ½ 11ÑÏÏïÑ£Gÿýwyy9Qçúõë®®®S§NmR#îîî;wª€îÝ»CeZ&“9oÞ¼7ní¸»»Xà\@ªo|«ÊlœmÞÆsö`ד¯N¾Xÿ‚&C#ûu qÛéµ³šQ;¾ï.Ÿ°?±jØ*OOÎO®K·¸ã±£Æ2éd¿%^ÐQð†¬†MW›á†Ã½c¼]Ã]jY-ž·nÝ®¥¥µiÓ&==½ØØX'''®ÄsèСk×®ééé-_¾ÜÈȨªªêÙ³gçÏŸwppøüù³Ð÷“ê›7o;vì”)S¤¥¥>|xáÂ…­[·’™†ÇF¶oß>zôèiÓ¦ihhhiiÕ xïÞ½7nÜ””\±bEß¾}©TêÇÏž=Ëf³ëý‚ýõ×Û·oUTT6oÞldd”œœ|äÈ‘ÈÈÈeË–³^ÂŽ;lllìííÅÅŽ½½ÏŸ?¿nݺ#FtíÚõèÑ£...—.]rqq111€zÏQóØQãG‰ï¶zl O ×RÔÚ4j“žŠ^lv¬“·Wâ9ä}èÚ‡kz*zË­–u2ªbT=ûüì¼ÿy‡óŸw¢ÔŽï½Íc{ŽÒgŠ´˜ôÃð‡Þ\Øê±•Ì4<6²Ýsû裧YLÓ×ÐR¬o|ï½pCRTrÅÐ}uúR…¨S>žõ;ˆÆ÷þ_oãߪȨl¶ÙlÔÉ(9?ùˆÏ‘ÈŒÈe×—y¬à߇;lzØØ÷µ÷Žò>ÿæü:×u#ŒGtUëztêQ—W.—Þ^r±w1Ñ0€zÏQóØQãG u0÷æÞ#6^~})ØHP+hÙ|Ì`0®]»&##óáà °µµ;v,‘ul6ûرcjjj!!! D¡‚‚ÂÁƒHΞ=ûÂ… Äö¸qã¾~ýêçç—““C£Ñxod„ nnn Ìb±\\\DDD^¿~maaA¶³yófaázŽƒÁ¸té’¸¸øÛ·o»téBNŸ>½[·n< ÓéäÙò±cÇ’YsÒ¤I:uÚµkו+W8`jjª«« ½zõ"Ob7»£FŽRCߺÙ,Ƶ×dÄe>lý !¯¶&¶cMÇšìøq|ŸS“S ù'DA²vhzÛ)H*|z0 1` ~íøöŸ}anmä¦ã¾Ò¿úÅùå”äÐdh¼72Ál‚Û²†Ç—Íryé"By½ñµ…ŽÙÎf›ÍÂBõ/‹qéí%qñ·›ßvQ­=ìæÓ»mëöàÓz1<[>¶çX2kNê5©“\§]^»®¼¿rÀ–©®².ôêÜ‹<‰ÝìŽ9J }뎤¸²ø˜ÿ1Ÿ8ŸâÊbCeCÇÁŽ\"³"']ä8Ø‘øÈ?ÑÁÝÿ»»Z÷ãþÇ£³£õ”ôÌ{Àf³Ý#ÜïFÜ͉e²™ºŠº3ÌfÌì5“|™,›Íöˆòppɉa²˜úÊú3ÌfLé9å쇳ÇýÀqÿãÄt¤9 –Ílj‰‰eee“'O&’1ÁÐÐpРA¯^½"~LJJÊÍÍUQQ!æpl6›˜‰æææ@LL ™J8ïÝ»·ŸŸ_~~>F㽑9sæ4pAAÁˆ#ÈdL••m¨~iiéèÑ£É JJJS¦L9{ölDDùÊ pî¸`Á‚]»vEDD4Ló:jä(ñØïs˪Ê&÷žL$c‚!ÍpÁ W1µã›—”[’«"£2õlíÐrKr &+†L¥ý~Œ\»·_œ_~i>M†Æ{#s4:¾¹‰e#ŒGɘ +ÑÀøæ&–V•Žî1šÌ‘ $­4¥Ï”³~g#Ò#F׎ïàÇwð‚]^»"Òy_ž;jä(ñØWûUŨšykæ—œ/ÄQÙQKï-µífûÓC3B¾:Èd3€Åf±Ùì 6xF{’brbv>Ûù…þeßè}Àf³×>\ûøËc²BdVddV¤¦\ÓÞVÙõPW&‹ÙHe)å€ÕMju`-›+** ¾³¯äJKK 77÷åËzNÈë ÀuE•¨¨(0™Ì&5Òøû_‰€•••©Ã©²²²n`d ñ)ë ˆîøÛQ#G‰ï*ª+ ¾³¯äJ«J ·$÷å—ú†¦šc|¼¢J”* Ä?g¼7¢©ÐèøÖT€²4Ïã[SY70²„ø”Àuˆ Dwüí¨‘£Ôá]ûxíKÎ=%½#vši˜”œ83ìæOw|ótªéÔ%ý–t–ïL¢>ˆzàíÙU¥ë¦¡›L;™Š ‹EeGí~±Û5ÜuJÏ)½4z¹Gº?þòX^B~ýõÖúÖòòñyñ·?Ý¡Š¬¸²_ç~­v=ú­´l>VWW€°°0ÎB‹E^Þ ÅÂÂÂÉÉ©n †††¼tÄ{#äù¨FÚ ª©©ùi¿:u€?²X,r‰‚ƒƒ¡öëBCC9ÏE‡„„ÝqFÕÐu“:jMêòê–úãø²Yáéã+¯A¡P,t,œ&×74ª¼/Ïüd|å5(JPRP ³F„ÊÃøÊu€)Yl¹D ÁÉÁPûõ ¡)¡œç¢C’Cˆî¾G?ì¿g¨ IDAT_ž;úyÇxS(”S“N*€¤œä®Q»’¾%½O~ßøŽfêfûmö“6Ü#Ý©BÔËÓ/Ó¤¿ŸT°Ð²8>î¸Í›__ôÒèåéÿNøwÎ ¢‚I'“N&õ6ÞˆØM±MÝýÎZöþcSSÓÐÐаX,`0ÿýw|üÿ—[”””¬¬¬BCCãââh]K[[ÛÇLJdz¬|i----ZTPP@–––îÛ·ˆ¿îìÝ»wLLÌ–-[ˆËÅÙl¶‹‹ËóçÏÕÔÔLMMÉš{÷î%r0¤¤¤8::ÀÈ‘#‰iiiHHHh(0Þ;jM*2*¦Z¦¡©¡ž`±YÀ`1þ¾ÿw|ÇøJ+Yu± M £Ç ÔhÝÕšøO[IÛ'ڇdz¬|i¥- -r]]TPV;¾U¥ûï#â¯û{wåÞârq6›íòÒåùççjrj¦Zãûx/‘ƒ %?Åñ¶#Œ4®_qiHÈmx|yîèw–R˜¢*­J$cÒÝ!?ÝqÎ Î_Ô¾æ~e²˜–§-»êÚÅ©‹¡“¡¡“¡ÍÈ,΀„ü9q92#Ô:Züúê={öŒ?þ¯¿þrvvÖÖÖNJJúö훉‰Idd$yûЉ'¼téÒ 6èé鉋‹'''Óétرc/óT~5ÎÎ΃¾víÚÝ»wõõõ©TjLLLuuõæÍ›9'¦¤C‡9òðáÃ/^Ô××OMM%:=tèç%`šššýúõ344#433›>}:ñi¯^½`éÒ¥§OŸ–””$î?n^G­lÏ„=ãOŽÿëþ_Î/œµ•´“ò’¾•3Ñ0‰Ìˆ$o:ab°Óà¥×—npÛ §¢'.,žœŸL/¦ÀŽq;x™§ò«pžî<Øiðµ×î†ÜÕWѧ Qc²cªÕ›Go朘’M94òøÈÃ>‡/¾½¨¯¢ŸZJtzhò!ÎKÀ44ûíïg¨j(&,F4h¦e6Ý¢v|µzÀÒëKOûž–•$î?n^G¨ä%~XM ~÷ª÷$?y“_àú1j’>׸qã®^½ª¨¨˜““Ìb±nܸAœ§%&…УGÀÀ@[[Û²²²ðððÀÀ@:nhhèääD,ò‚/@¯^½Þ¼y3hРÊÊÊèè興qqñþù§Þ›`øðá^^^ÁÁÁt:]]]ýúõë³gÏæ¬öï¿ÿN˜0!666""¢ººzøðáOŸ>%³´´œ7o^MMMpp°ŸŸ_½ïà±£V6ÎtÜÕW¥sJr‚“ƒYlÖE744@Z¬v|5zþhkb[VUž˜H/¦Ò &;‰ ó<¾ühzuîõfó›Aƒ*k*£3£#Ò#ÄEÄÿó•ÒÀø ÷Zíe@3((+N¦ÓÕåÕ¯/¼>{Àã;ãß fb³c#Ò#ªÕÆ?]ó” ÌÒÐrÞÀy5Ìšàä`¿8¿zß!ÁcG¿3mymz)ýkÞWÎBÿ¤&?²J_I_BD"l]Xü–x®ÿNN:IT(ª,jè48ñ{Ûo²fZ¥‘5­ºˆ«—¹_¨!ÕÕÕQQQ`llÌb±ôôô$$$’’’¸ªÅÇdzX,²<11155ÕÜÜœLád¡………””T³€´´´„„333®K®ètzRR’œœœ/Óëøøxâ±Yݺuã<9¶eË''§°°033³ŒŒŒÔÔT Î;×m!'''!!¡ªªJ^^ÞÌ̬¡Àê¨IG©q eíÚµÇç±~5£:*3 Œ;³Ø,½­z"IëŒoEQ|N<‹ÍÒQÒQ‘ášÜÄÔ‚Tss2…“…:RbRÍnÒ Òr̴̸.¹¢Ó“ò’ä$ä h¼L¯ãsâ‰ÇfuSûq|ïmqòv Ûf¦e–Q˜‘šŸª¡ ÑY±¾ñ-ÉIÈI¨bTÉKÊ›i™5XC5é(Õ«Ù¹Ðétâ ʆ軸Ðmm«Ó çÏ;ù:é)éí¹ËTÝ”óz®““NÚtµ†ïwšo1Ÿlç^ä½Í7›t2Y=hµ™º™Œ˜LNiN\nœ{¤ûÌ^3ê t‹pÛúd«¢¤âz«õVzVrâr ù ·ÃnOè1¡¯Vß„ü„QçG Ðpbâ ®™wËÙùlçЗ¦]¢÷óóó¨uðòç\__Ÿ÷[ã<ØñãÇ-ZD<$«¸¸xåÊ•t:}éÒ¥ukÊÉÉõéÓ§n¹žžžžž/…Mm´´´ê}0ˆªª*yS// ¯£¡¡ÁyëƹÔÝP` uÔ¤£ÄGÇŸ_d¹ˆxHVqEñÊ[+éÅô¥Võ¯„\íú†FEOO¥Näõ6µÐRÔª÷Á ª²ªäM½¼0 Ð~6¾òœ·~q¡ÉÐ8—º ¬¡Žšt”:¤9}æ<Œ~ø%çËìÛßÏP(”1Fc8oLâ…]» Ô {‘÷–¸/áúhºét˜l2Ù/ÁÏ;Öûï§s~jkd : :ªÒªR>˜ÿkN”·ÜýÇë½ÖsÞ—µàî÷ÛêÈß?PGÒùxÛ¶m[¶l!f™_¿~-//—––Þ¼ys+tZÁ6Ïm[<¶³Ì¯ô¯åÕåÒbÒ›mp|Ÿ‰ ‹Ýt¸yÔï¨OœOIU‰¾’¾ã`Ǣʢ¦æc …â4ÆÉJßÊõ“kTvTyM¹šŒZ7Z7»vƒt€EèÄÄw#»ÅæÆR…¨úJú3Ìfô×îT!ê)»S_Œ¦Gó~KB?ÕùxÆ ÎÎΟ?&~ìÙ³ç¹sçˆ'R¡`ÃÈ Î/œ?gÖŽ¯fÏssÎO¤Bˆ¿dÅewÚµkÔ.ÎÂÉ&“Ém®çWÑÒÐäÕ¶›m#Ï¡P(ÓM§ÓåºÌÔÍî̺ӴЛå踣GÇm…ŽP[ÐùxçÎÿüóOrrrnn®ººº¶¶v+tÚv,Y²ÄÆÆæ§§²Û¯ãwþ3öŸä¼äÜ’\uyum¥ßl|‡,±éaóÓSÙ!Ô¸VºBXX˜—åÕ©VpNXH˜—åÕé·ZÁEµœ¿ß !„B?…ù!„<ÌÇ!„àa>F!„ó1B!$xM»¾:..îëׯõ>4 u0çÎswwtˆŸòóóy|)B¨õáüÕ¯I6G!ô‹š6?îÒ¥K—.]~ýyô¨£P(K—.åý}¨] Þ'j›p~ŒB æc„BHð0#„Úà´`“£& ˆÿÊkÊ¿>lpÐàK΢BdV¤ÁA—·.‚³í;ûá¬ÁAz)½ÞOïEÞ38hàëÝrýÆçÅ6u~T£Š³Â®ç» \¾LüÈßjmæc„P»áòÖ¥¢¦Â¶›íªA«;Љ Ôè8ØQYRYСµ3/¾¾è®Ú]Uº ¯ço¿Ê«­JÈOàüåé}òû¡7,´,æšÏ%Jø[­Ã|Œj7ò ” \&º¬µ\ë8ØQ„*2Hgã`GiA‡Öžä—çGdE 7.Ø~— XfD3ºt!*; JªJ6?Ù,!,qxìa!Êÿs«µeü¿ÓþýûÕÕÕçÍ›Ç÷–Q› ŒGm$þýûÕÕ¥æÍë!Ø0êj³ñ¨½ÇßÒüý?e~*¬(¤¥îéh{3ûFR2“Íüü!67–Ábè*êZéY‰ý¯½û‹êX>Ë.°ô¥wX¢Å,JD°€Œ5¨)Jl7cT¼ñ‹‰„„H,`ìbAPézïEšô»ûýq¸Çueiúþžû܇™óžôõÌÌ™CâǾ*®/¾›~wžúÍ{ÚÔÙ¤)¥9_}~¿­ 5·6÷aÖCSª©±’1kýÊæJÿd¼C¶ã Äÿ[úö~öûì¿»ùîÃþû¶é­»µ»’˜k?£[m"“|lll<îi£¯ X_ÇŽ£R©6l`-œ ñÿòKœ±±ÜL6°¾Ž‹¥RE7lÐc-œDñ‹¨‚¨‹IBU-U}óñ"­EåãäŠäïï~_ÖX†—ȋʟYyK¨ÅõÅ^Ñ^¼>±>a¹aX"ñ„͉•ÓWbÛºÛ¶n‹+Žcívžú<ïÞ¼x'ü$~ÏçžÑ…ÑX…ß"»¾îz7½{‹ÿ–ÊæJ¬POVϽ?žq9ÇÖ¯?£ÿd"N{ò ºÌqáP!‘!+,«'ÛûpäÑ‘.zöÑPÁp™î2¶&B•’ö‰õ‰-޽¾î:k“믯{Çxû:út\„ŽŒÎ×&_{Çx»¸DFÏSŸ·Öpm߀G·Ú„5úùøàÁƒ £ÞíÈMØÀú:v옅…[>ž ñ<8WAAh¼£èÇ„ ¬¯cÇb,,”Ùòñ$Š\ÌSŸ'Jõ‰õ_c¸/QôâeÙËZ•7–oößÜÔÑd `` oÀGâK«L‹+ŽÛ¸õÉÖ'ÂüÂX5ßDß–Î;=;YÙôÊôE/Ž<>²HkvƒÛÚÙW7MnšŽŒŽ”TSgSBIBTA”wŒ÷¾ùûðcù&øvôt¬š¾J\PüEá‹ÌêÌ#T4VðùÖ­#òd>H¯J¿ñæ6ÉellþŠù‹Î s¸PRBRœóq½+º0Únšö1åmÊ¡ÐCt}–ò,}yýº¶ºGÙ¼c¼¹¿ŒÊBÍ…!Y!…u…jjX“q+õ–‚¨MÖïqq;Ìv<Îy]-J=a{b °G·ÚÄ4&ùxÔû60.Møœ3Þ!ôoÂÆ¥ÉÿX›§>ožú<¿D?99Wš+^ÞÙÓÉ!Ÿ;ÛÔÑäfå¶nÆ:¼ðbÒE÷0÷{÷œœ±’nz÷C—‡øÀæ)‰¥‰ 4 „„ù…Öˆð‹¼,ù®õ/‘×ZÛº,¾,"/‚533Ô%T^T!D· Ûž·)Š1¥šžw8ÏGäC­Ÿ¹~ñ¹ÅyX>æ266;Lw zÌá[„Plql[w›¥†%~D:ƒîJsůª+Íu¹ßò!]FGǬ€”€,~À¾*ˆªl®t¥¹âs·lÇÅñy§HNÉ­ÍUUp]ÞèV›˜>ÆüqOOOxxxZZN×ÖÖ¶²²"“Él­^¾|ÛÔÔ¤¨¨hcc###ƒ·uww×ÖÖ^»vmVVÖãÇ;;;MLLh4[ÍÍÍÁÁÁÅÅÅJJJöööt:ÝÓÓsöìÙ¶¶¶}ã¾[± „Ãù²÷Í›7Ïž=£Óé4mΜ޿‹KJJ|}} FAAÁÑ£G±ÂM›6Q©Ô!]Ø!àôæìéa„‡—¤¥ÕÒé mmI++U2™ý÷êåËªØØŠ¦¦.EEa5A¼­»{œ¶¶ÄÚµÚYYuuvÒMLh4E¶š›»‚ƒó‹‹›””Dìí5èt¦§çËÙ³ålmÕûÆ}·b‡óe=î›7ÕÏž•ÒéLMqÎy¬BII“¯oƒÁ,(h¤ØØì¤íæµøŸˆ¼^Uì㫲W¼ß™}‡WP¦(¯1\s>þ<^2h¨fT3%1¥Ûi·÷ÎßK$B)<žUÓW t\܃̡١ââYÕYgãÎ~còM¿anµ‰iÌç322V¬X‘““ƒWPTTô÷÷755Å>VUU9;;GDDàÿúë¯Í›7#„zzzÜÜÜìì슋‹üñG|Se—sçÎáM’’’–-[VYÙ;I#//ÿÏ?ÿ¸¹¹}÷Ýw¬ùŒËn9ÇÖ/Îç‹7%%åĉ÷c)_~ù¥ŸŸ‰D*))qssCb? „,,,°|Ìý…åò‡mš3#ãÝŠwrrêYÂö÷_njÚ;´^UÕæì|?"¢¯ (Èû×_–›7÷&N7·;;â⦌Â÷Ìvq™~îÜb¼IRRå²e·++[±òòBÿücåæóÝwF,ùø}`\vË9¶~q>_ü¸))5'NÄãu¾üR×ÏÏšDâ))ivs‹A6b? „,,”©T±!]X.OÔµÕÑ™ô?¢ÿèûUsg3þ3žG1Ø-f£ûx&öLhv¨„ „¹š¹œˆ‰€7ÞÜÀ'\1r"r¬±©å¾…MMCŠÍÈç#ò"̨føvcG£œˆ–DqÊ”^4h¨aµþjÏçžOóž.Ô\X×VžnJ5U{ÿD¶ãbjZjŽ<>"%$u{ãí 76üý§•–ÕÉ)lGÝjÖèçcVmmm¶¶¶ÅÅÅ***666|||aaa™™™K—.MOO———§ÓéK—.MJJ¢R©‹/ÏÏÏ¿{÷®‹‹‹ŽŽÎܹs±~ââ₃ƒmllôôôÊËËΟ?¿víZKKK„Pss³]ee¥–––••UOOÏ£G\\YÑ0h·\Æ6¤óŪÅÄÄܽ{;niiiPPЕ+W455>¬¢¢räȶõ\T*uxâ|‚#×ÖÖmk{«¸¸IEEÔÆFVœ™ùnéÒ ôôÍòòBt:séÒ ¤¤J*Ulñbª¸89?¿áîÝ<—G::’sçâqVçÛØ¨ëéI–—·dŸ?Ÿºv­Ž¥¥ B¨¹¹ËÎîNee«––¸•µ§‡ñèQ‘‹Ë£AÃãÜ-—± é|±j11wïæÙبééI•–6å\¹’¡©)~ø°‰ŠŠÈ‘#¦ÇŽÅP©bøü1•*:¼q>A€%‹vÑ»¶ÎÙÚ÷+ ) .;y–ÿŒL"?ty()(‰•0™Ì“þ%?¶ÎgTe¼mzË:à/F«l®¤3é¬)¹´¡t¨¡:8üùâOÿdÿ…š o§Ýîaô88r8.æ`èÁ†ö†Vÿ#/*ïaëátÕiÿƒýþëýÙžPÝjÖØæãk×®›šš>~üXHH!ÔÝÝíäätëÖ­3gÎ;v,((())ÉÉÉéòåËDbïoCRR’‰‰‰§§ç7°’êêêÛ·oÛÙõ.X¼xñÆCBB°¼rýúõŠŠ kkë»wïòññ!„ÚÚÚ-ZT]]Í9<ÎÝrÛΫVSSsñâÅ{Q§Ñh§OŸ>xð ŠŠÊÑ£GÝÝÝÕÕÕññêaˆó ŽÜµkYÅÅM¦¦ ; ñ"„º»NN÷oÝÊ9sæÍ±cfAA9II•NNÚ—//!{ÿòJJª41¹æéùòÆ¥ÿ‹³íöm{;;ÿÅIݸñaHH–W®_Ϫ¨h±¶V»{מˆjkë^´( ººsxœ»å2¶!/V­¦¦íâE›{Óm|ü[íúéÓIÎQQ=zÔÔÝ=V]]ìèQÓa_XnN „LUMo&ßTWµÓû`QVu¶V‹D$ñßߨ‰=ÓØÑH |üØF8žN ¾˜ò^2Ciƽô{¿ø /m(õOöj¨²Â²æjæ‘‘Õ-Õ)ââ‹4q8.BÈ?ÙÿiÞÓUÓWa“Ê3•f®Ÿ¹þߤ/&]Ü2kËU›ÈÆ6ÇÄÄ „ÜÜܰœâåå=qâÄ­[·^¼x C Ÿ8qSÅ&'(JRRÞ‘‘žTBØtEEö166!tøða,#„úé§%K–ps·\Æ6¤óÅhjjâÉ!4gÎ{{ûÀÀÀŒŒ }}}Î1é@œOpäbbÊBnnfXÎ@ñòòœ8a~ëV΋å¡°°b„°0߉ñÿ»†ˆÉdR(üII•,qÊâI!„ AWT´`cc+B‡›`É!$(ÈûÓOs—, âçn¹ŒmHç‹ÑÔÇ“1BhÎy{{ÀÀœŒŒwúú\m[Áå8Ÿ @}cúMhvèÞà½~‰~ò"d‘š–šœÚœÔ·©¾Ž¾¬£©)¥¾M]æ·l¡æB„Ð˲—é•é#LÆÃŽm„óÇùúrú¬ 6ozùàè?bŠcðõÕdÞ–øpª£ã³üg?‡þœW›·yÖfÖ'­û·¼±üxøqyQùC á…ûæï‹È‹ø=òwK KUqÕQ¯6Ám>®¯¯G©««³ª««„ºº:„PMM BhÐMeå&3„……BÝÝݬGaÔí;Æ;Ôn¹ŒÕ ç‹QSSckˆ•`ÍGñ@œOpäêë;BêêüŤ®N!P]]B¨¦¦!tî\ ç~”•?¸î½#d= •*ÆZ‡íã0ºå26Vƒž/FM=6¬k>Šâ|‚!¤$¦tÙéòÞà½i•iضM.“1BÈ•æ[›[›‹mƒLâ!ý×ú¿×^_c}w¼b’ê–ê´Ê´Ýæ»Y õåõÝ­Ý<:’Xš˜Xšˆ2P0X®»ü¿aÿj¨–š–ÒÂÒáyá!ÖÁê¾Çe2™?<ø¡­»íÌÊ3¬ƒ¼'lN¬¿±þ@ÈkÎ×B£Xm„ó ÁØæcqqq„PAAkæ(((`2™x…o¿ýVZšý¾APpe®lG)**ÂçM±# }X± z¾˜ÂÂB¶†X ÖœûØ=ÐX'#„ ÔÕßg ‚‚&IHñ ß~k(-Í~ŹýÝÃ:)*jÄçM±#‹}8± z¾˜ÂBöذ¬9÷± z ÏÐö¹Û%?ø 7¥šò“øñý«eEd]i®sTÞ?<¦+«òUÈ«òWi•iíÝír"rS¥§êÈê`ßªŠ«ºÒ\?XÍŒêË÷VQ(Á[‚#ò"ŠêŠDÉ¢óÔç)ˆ*0˜ |eV¿˜«™ ñ I I²~9óKÖpŽmÔEäE0™Lì!.Vú4*íiþÓæÎf ) ‹)959®4W É÷£/Ü„J$YˬÎáÑ”ÒäpܲƲ9*sVM_eJeŸµ™«:÷„Í‰Š¦Šò¦r&“9ŠÕ&þF]c›MMMýüüÜÜÜLMM±ÖÓÓsèÐ!„™™BÈÒÒÒ××·§§çðáÃ<<ï§Ü+++KKKê–‰‰ÉÅ‹ÝÝÝïܹÃËË‹êèè`]½<<ÈmÐóÅäææþû↓óÇwîÜ¡P(ºººX ™Lf½ÍöÆš©©¢Ÿ_š›[Œ©©‚  /B¨§‡qèP4BÈÌL!di©âë›ÚÓÃ8|Ø„‡çý?N++[KK\AÊÆÄDáâÅ4w÷¸;wìyyyB=¬«—‡g± z¾˜ÜÜúÿMg?¾s'Bá×Õíý«™L&±Þæû@Ÿ¡¯M¾f+1£š™QßÿÎËËô]4D f*Íœ©4³o‡X*´ÄC²Ò²b-aÝø©ßNhj4|+ Ü:£ul%buyŠbŠÚ2Ú}¿’•g}âYGFGG†ýŸÜ„ºHkÑ"­El…}«LQî{Åp«õWã?nµ nló±³³³»»{tt´®®.¾ 8##C\\ü›o¾A9::zzzž={öÑ£G–––²²²õõõ¹¹¹QQQ{öì™5k7Gqrr:räHHHÈôéÓ­¬¬ètzhhhKK Bh$ÈmÐóÅHKKoÚ´éæÍ›Ó¦M+)) êééÙ½{7‰ÔûŸCCCãõë×ëׯWSSãááÁž?ÆÆš³³¶»{ltt¹®®¾ 8#ã¸8ù›o BŽŽS==_ž=›òèQ‘¥¥ª¬¬`}}Gnn}TTÙž=ƳfÉ z„““ö‘#/BB ¦O¿heE¥Ó¡¡…--Ý¡‘Œ? #¶AÏ#--¸iÓÛ7³¦M“*)i ÊééaìÞmL"õþ«NCƒòúuõúõ!jjb<<ìùãa€!1V2Æ7ýŽ;éŒm> Á“õññÁ üýý±±e‰²eË–àà`_ß÷Ûœ***Ξ=›Ë£ˆˆˆÜ¹sgùòåÙÙÙÙÙÙ!99¹ß~ûmýúõør§aFlƒž/ÆÔÔT[[ûäÉ“>ÄJÖ­[ǺýÖîÝ»7oÞ|åÊì#öüñ04ÖyCBVaÉúø$ÿ/ aÿeØØ2‰Ä²jË–Ðàà|_ßT¼¡¢¢ðìÙÜÆ)"ÂwçŽýòå·³³ë²³ëBrrB¿ýf±~}¾Üi†Û ç‹15UÐÖ–8y2ááÃÞ‰‰uëtX·ßÚ½Ûxóæ‡W®d`±ç‡q †dÛÜmŸÕq'1ß¿ZWW7===,, ÛFjêÔ©ÖÖÖ¬ûsIIIÝ»w/++ëùóç555ÒÒÒšššæææØ#F$éÈ‘#ÚÚ °`…øè.BhΜ9¹¹¹÷îÝ+%˜§F IDAT--URR²³³»ÿ>úpAk`\vË9¶~ z¾GGÇÈÈHƒaffÆö4óÆg̘ñìÙ³úúzƒ%ã!]X.OpضYÖÕ•LOßVœ–VK§3§N•°¶¦²îÏ%%%pïÞŠ¬¬ºçÏËjjÚ¥¥45ÅÍÍ•°GŒH$ž#GLµµ?˜Ä ñÑ]„М9ò¹¹.÷îå•–6+)‰ØÙiÜ¿Ÿ>\ÐÄ—ÝrŽ­_ƒž/ÆÃcž£ãÔÈÈ2ƒif¦Èö4óÆz3fÈ>{VR_ßÉ`0±ç‡ta¹AôqttôxÚÙiܹc?Þ±ôc´þüVUUaóAÑИâåUek O^O7¿çS¦ aw°±¯þhBBB<<<,--©TjEEŃêëë,X0¡’1¶KK*U¬¢¢åÁƒ‚úúŽ T&T2€‘øDò±žž^GG‡¿ÿû=eŒñùW0ÙééIutôøûgã%ÆÆrW® ²ß L"ŸH>¶±±)++‹ˆˆ((( ‰FFFóçÏŸ€O÷;­ ec£VVöuDDIAA‘Ècd$3¾òÄûÏÛÿ´.pãÉÇ! …²råD_RO"‘8ìJ 8 PøW®Ô¼Þ¸"‘x8ìJ LŽ·^Ÿ6ÈÇÀøƒ| Œ?Èǀɡà]óUç[©·FÒITA”óUç„Ò„ÑŠj ÉÉÎWC³CÇú@ýÊ©Éñ‰õÙts“óUçäŠäªå¿Ë?yj{àö·w\H¸ÐÒ Œ§Og=àÓÖÚÕšPš0WuîàUVÓZ“PšPׯé}-C•]“íöØÍÑÀÑ~Úû}`;Jú¾\á#°ó³K¯Jg¤ßj~‰~'Ÿžìaô`C³C}b}¿Oü!‚þ -¿{÷®¬¬l÷î݃W“\XXü‡þÄ$''+)MôWÎq .©~Õùê½x$š;›JÌÔ>Þ«Õ8«n­Ö”ҴԴ̪Îz–ÿ¬ß:÷3ï?Nä!:è;|¡ñ?‰?©4鯛7Rð¡åãÜÜܲ²2OOÏ1ŠLiiiiiiƒ×“J{{ûx‡0|B|B¬/6¹»é®Œ° Bèèã£ýVèaô?Žò°õX1mV8_}>¼øa| -c¯=˜€ûWƒÑE º‰ãxF—ÃÜõ޳‚w‡B­Ò_µjú*¼0¡4á~ÆýÒ†R>"ßtùék ×J I±¶ Í Í mêlÒ”ÒÜh¼±ßž ë o¥ÞÊ©Ééaô¨I¨­ž¾ZG¶÷í¿ÉÉ'ŸžÜ`¼a†âŒK//eVe ò .Ô\¸\w9¶ãд;. „’^¾ÀZ][w A½áÒËK)oSøIü_LùbÕôUc½U–Œ9ˆ*ˆªi©1T0Ä“1F„_d &à#€ùcÀäÐwþø—ð_|ß¿ 5޽Ç›ž.?ýØ“cÕ-ÕX‡YÃrüì¼BySyfu&B¨¬±¬¬±Œ­ówmïì/Úãå²¥U¦µ:Êá4×__OgÐ9T Pþ^ù7‡ ƒz]þ!´xêâ¢ú"¿D¿âúbYaÙEZ‹j.I·`„ &¥Ç9}}I<¤Æg«ÌnîhL Œ+ŽÛq{ÇÓ¯Ÿò“øC²Bn¥ÞàØ2k‹‚A][Ý¥——ÎÇŸgíäUù«£ ò :9ÈðùÒ*Óü’ü~~ôó\Õ¹Jb½Óíÿ&ý«&¡¶Ë|—´tzUú¹øs³ª:è;ØëÙ‹ð‹{rÌÁÀÁ^ý½^çãÏkJiþb󋬈lzeúß1_}}uÛÜm ¢ h ¥ œó1ÛÀ0T6W"„:{:íüìZ»Z±Â[©·ìôìN-=5wþL@>LJØâ#[|U³žÝ†b‹cÃóÂmµm’Bžvž––X…åzË—\XRXWˆwâ›àË`2|}ñ[ê/4¾0T4Ü|sspFð7&ß`…ÒÂÒAƒx° ÆJÆ_^ÿòæ››úŠbŠº²º!%1¥¾ÓÛT jà†@~?Bh¾úünF÷ŸÑ¾©xÃ!_vºÌù5¸¼D^î¯R¿ºè]¡âþÑ’ÖúrÆ—2åMÅßDß»éwçªÌu0paÿ`x &¥¬ê,^;=;¼„@ ¬5\[›Y•i«m›]“M àÉ!ÄGä[®»üè?ð’ä·ÉDÑó¹'BˆÉd2!ÔCïAå¿ËÇ«ÙjÛbɃÝ:g×¼áØ@¬§ZcÉ3MnB¨¾­žC“Ùʳív„yB²Â²×œ¯aá}¡ñ…¦´æ®»»‚3ƒ!ÈÇ€I©³§S”_”mpUŒ,†}…êèé )l­(”´uµÑ™ô˜¢˜¾ýwtwà?‹’EûöSÑT1hX<8^^„ƒÉàÐä#Ì+Q”Bfjf¬ÿVÀþáRÚP:’žÁH@>LJ2Â2yïòªZªd…eñÂÔÊT„¬ˆ,V¡ð]aC{kÆ*àäEå»è]ÿ¬ú‡ÈCdë_Bðý{3Ó+ÓY¿jíj-xW€/c& Bˆó 3÷>Âü±¼Bè]ë;ÖÂÚÖZ„ŸÐ;ÃöYçãS§Nýç?ÿyúô©……7õ8pòäÉׯ_Žqh€A˜«™çÖæþpÿO;Oqq„Pbiâ?qÿ`_aÿŸW›w äÀ©¥§„ù…B³ÞM¿ËÚ‰•–•W´WhvèÞù{ñ{ÙæÎæÛi·•ŒñjOrŸÜJ½…=gÕÞÝþÓßںۖè.Á¾Å†KJFå¼>Âü± ÕDFXæIî“Ç9­´¬BÍÍnOÜÐG-ù¬ó1`òÚ:g뽌{/Š^˜{›«Kª·t¶”6–2™L-i-„Ë— Ô °Ü0Ó¿LÕ%ÕëÚê*š*teu3ª2ðN\æ¸<É}ríõ5ÿdªU„_¤¦¥æmó[:ƒîëøþI*ýöÿù»ŒˆLa]aKg‹ ¯ ¾ÚKMRM€W (5(­2 !g}þx¨FžÿŽù;º0!TT_„:ùô¤O¬Bh×¼]XçDñç…?ï¼³óÛ o•Ä”ÄÅ Þ´vµŠ ˆÃ– ãè³~ŸÄ¾}û˜L&—7Ç€ EZXúúºë³•gwôtdTe”4”Iä¯M¾v·vÇ*È Ë^rº¤)¥ÙÖÝ–V™VÝR½yÖæõ3Ö³v"È+xÝùúºëx‰¼yµy¯Ë_—5–‰ð‹l2Þ¤'§‡W[1mųõíõ©oS[:[¨âÔ×þ«BQÁ¾%“Èä'ñçÔä$”&|„—Up–ÿ. {`:»&ûȺk·¶ÍoË~“–.k,K}›ÚÚÕ:CqÆõu×åDäÆ/ðÏÜ&‡¾ûW«I¨][w­¦¥¦¬±ŒÄ§!©Áº@ !¤'«÷Ðåaþ»ü–®UŠ*E€RÓRsÕùª¦”&^G˜_ØÍÊíå¡üwùíÝír"r²"²<ö{•]æ»¶ÌÚRXW(È'¨!©Á¶ŽÌÉÈÉnš]~m~{O;6Ú¬/¯Õùªª¸*k5¬*A¥KÒ¿oM¿u4ègs=Ö³FÙéÙ-ÕYŠ]E1EÖix0.>ë|Üwþ¸´´ôرc¡¡¡UUU ,8|ø°¶¶6[Cooo//¯ââb…-[¶8p€Dú¬¯$Á@ûWK KK Ksh8ErÊ •y‰¼Ú2ìÒÙˆ’E  úVWpºütü#E€Ò7Ú~ GÝÉ)¬§Ì‘‡ˆíƒ‰²È{………sçέ®îݯªªêúõë÷ï߈ˆ06~¿²ãäÉ“7nÜÀ›üüóÏÙÙÙ—/_‡ˆ|*>ëùc6ßÿ}uuõ¼yó’’’Z[[ÓÓÓW®\ÙÜܼuëVÖj·nÝúí·ß***êêê®]»&!!qåÊ•ðððñ À'î{µ¶¶>|øPFF&88XTT!¤««{óæMCCÃ7oÞääähiõŽêìÚµkÏž=ØÏNNNt:}ýúõ–––ö˜œú`,Àýq¯¢¢¢žžsss,cH$ÒâÅ‹Byyyx!V‚³¶¶f«ød`3¾°ê|?0Œ›`Mà(Fòq/*•J"‘ž?ÞÔÔ„ÒéôÇ#„444ðÂG±6|øð!BhÊ®V3ý‚|ÜKHHÈÆÆ¦ªªÊÞÞþÕ«Wmmm™™™NNNiii†††øä1BÈÓÓó÷߯¬¬¬¯¯¿~ýú÷ßZ½zõøÅ`Òƒõ\ïyzzÆÇÇ?}útæÌ™x¡°°ð¹sçX«­\¹rïÞ½{÷îÅKÖ­[‹¹ŒÜ¿ŸúUWWOJJúꫯI$’ŒŒÌÚµkY>F8pà?þÐÔÔäããSSSûïÿ{ñâÅqˆÀ'ä³¾?ƦŠÉd2^¢¬¬|þüùê{xxxxx „ ]]]?B„>Ÿïýqyyypp0BˆJ¥Žw,>wŸi>þú믕””Þ¼ycnn.+ »¨&“[©·4<4B³CG±ÏÔ·©^Ñ^£Ø'’Ï4#„$$$ìííýýýÇ;˜p’Ê’4<4¼c¼Ç;ÏÈg:ìããããã3ÞQÀD1]~zÞØgp<}¾÷ÇÀÄù09DDixhø%ú%”&8]uÒÿMßþ¢}C{ƒÖI­}÷÷áÕ‚Rƒ4<4æxÍa2™XIUK•†‡ÆÏ~þ˜a_%–&î Þ³Àgί:³þ˜µ-pÛ˲—}¾©xã|ÕyúoÓÿ0þÏýÿ4´7°ößÔÑtôñQ“¿LôNéÙ_´È‹`ýv¨W` hYç½c¼×^Y‹:uZÃCûÖ“É Hp¸ì ÿ›¾Þ)½¥¾K¯¼º‚ŒÄg:^ ˜¤^•¿òˆð 3é!“A èÊêFF3™Ll/è¢hÏ»¶wY5Y:2:¡çÏBfT³úœúSé :‡ƒJ IÅíŒR`¡š–§«Nx…úöúˆ¼ˆÈüÈ+ÎWf)ÏÂËS+S}ök½ !ÔÞÝ~;ívYcÙõu×±o;{:×][—Y‰}L«LÛ~k»­¶-Þ|xW o´Ü`2™ûîï»›~/ɪÎ:úøhfUæq›ã\vù0™<Ìzè`à°mÎ6Š ‘‡ˆ¢©Ñ|b}²ª³tdu˜Læ‹ÂËõ–ßϸÿ¼à9–¢ £y<&ª&90@S£m˜¹AWVWJHª±£1¡$á‡?øÄú°æã{é÷œœ¿šý•¬ˆlzeúî{»K3«2uduB—^^ʬÎT—T?ºè¨¡¢a][ݹ¸sW__e=ô0®@ßhY}gúÝ•9k¯¬Ý=o÷w¦ßáåwÓïÞM¿;Uzê_ü` oÀOâO«L;vìfòÍÕú«Æàº~F &CÃ_¬a}£Jó‰õ‰.ŠÖ‘ÕɬÎ|×ön±ÖâòÆòè¢èms·1™Ì˜â˜éòÓÅÈbõ™ýCöX&%$µoþ¾âþ9zè]ë;ìf!”]óÁáhj´c‹a?ÏTš¹mî¶£fÕdaù84+”@ x¯ðÖ”ÒD Š º-v+¬/Œ)ŠÉè-7S‰o–ùx„ &3ª[™©4S€Wàyáó­s¶FF DU“œÚïÞ=ùïòëÚêÖ®ýø½*µîÚºnz7[ÍŽžÖsUæ²~T¦(#„Z»Z±Å Ų²X2ÆÍS›Çš‡qúFËÜš\:ƒnþ·9BˆÉd2û!TÑT1ÔÞ›¡å㸸¸²²2x×ïça BkÆ;0Êââ”Æ;„‘¢PØJx‰¼³•gÇÇvôtDE) ó Ó¨´ÓQ§KÓ+ÓBæjæú•ùã¾ùÄútÓ»]i®öÓìe…eùˆ|ÁêœU][k5~?ëG" ÿ%9. ã ô–ØLs¿×ªï?;ÀP -kjj ,Y²dŒ¢„§§çæÍ›Œ`ôé“âëë+..>ÞQŒ š-² 2ª *©4é[ÓoBÓå§S(Ï žgTgð ŒËPjiC©””+íý^÷% %EuE¢dQî;Q¥¨¦T¦äÖæ²Þ"GF±Uõ+ÀCàA}RïÉ)éUé1;bDøE†ÔàÆÐò±¤¤¤¤¤äéÓ§Ç(0AxzzÙÚÚ^L!!!ÂÂÂãŘÀnþ<Ÿ{vÑ»ÌÕÍB<ž¹*s#ò"*š*ÌÔÌH<œþ®•ùã¾DòÞå]~yÙ~š=BèeÙËãáǹ_ÌŒ±Ö¶N~›üÝíïÜ¬Ü  °õ\¬ƒÕ˜^¾°ÉæÄÒĆöüfÚÁÀ!éAÒ†vší4T0á©n©Î©É L \g´Î”j:¤C60 ˜ô4¤4d…esjrÄÈbÓå¦c…æêæØÏžtSNFN‘‘nOÜÜž¸a%º²ºZÒZÕ-ÕÜw²aæ†{é÷2«3×__•„%:Kd>`­6êW€*N•–-Ž5þ£÷…³yòVN[™P’p+õÖ¶Àmlõ×ÀôÖHÁ~ €OM†2Q5ÁZB4*í‡l¡æÂß—ý®-£M&‘e„eœŒœ.;]æ#ò ©~ÿUç«ëŒÖI Iñ“øueuϬ<3O}^ßš£{ˆ¾yó¦……Å›7oÆ;ŸµÏ(_¾|ÙÂÂ"55•µ°´´422²¡¡a VÀGð=ïT\\ÙØØÈZ¸fÍcccCCÃñŠ @ŸU>î—²²²²²òxGàs7ÊãÕß~û­ÍòåË;VUU…•×ÔÔX[[¯^½º½½¯\ZZºhÑ¢/¿ü²§§‡ss\dd¤««ë’%KNœ8QW×» ìñãÇ-,,Øî}±BìÁŒ½{÷^¸p!´sçN ‹]»v¡þæétúÕ«Wׯ_oeeµvíÚ³gÏvt¼ßüýìÙ³yyy™™™;vì°¶¶Þ¸qãÓ§O½2ííí¿ÿþ»ÝòåËýõ×¶¶6Ö˜ñžSSSwîܹxñâ3gÎ Ï 'ÎÚóëׯ·oßnmm½eË–èèèAcðÑŒÚý1ƒÁؼyó¥K—ð’àà`//¯ÇϘ1CZZzÕªUÛ¶mõõõEuuu988¼zõêÙ³g$‰ss„Nß´iÓ•+Wð uuuD"133322²»ûƒ ͱB,Ù'''!„Ø–n±Í·¶¶Z[[³æª›7oþõ×_aaa222¡‚‚‚ÈÈÈû÷ïÿôÓOmmmXË—/ß¼y{8»_óçÏONNÆO- `Ê”)¬1c==z´³³!¤§§7h<ƒž8Þs@@ÀÑ£G»ºº°B??¿?ÿüsÇŽÅ àcµ|üÿ÷—.]RWWÿæ›ottt:;;?~|îÜ9gg猌 ž­[·ÆÆÆúùù™ššº¸¸ìÞ½;>>ÞÓÓÓÔÔ”›æîîîW®\üöÛogÏžM$_¾|éããÃå~&¿ýö›———¯¯¯——×ôéÓBJ?¯79xð`tt´´´ôþýûuttŠŠŠN:•ššúõ×_áÕöïß¿téÒÕ«W ß»wïüùó?þø#‡|üã?&''+++ÿðÃêêêÙÙÙ'OžìwQ÷áÇmll•••¹Œ‡Gޱ¶¶vrr"“É¡¡¡çÎÛ½{÷¢E‹¦N:¤~Œ…ÑÉÇL&ó÷ß—““KJJÂ_ ³råJqqq¸¸8,éz{{¿~ýzçÎ………ÿý·££ã÷ßÏMó¹sçzyyñòò>{ölÖ¬Yx…ýû÷“H\‚ššBÈÈȈFë븞ž___2™­¥¥…®Y³F[[ûÎ;UUU²²²XáúõëÏŸ?ý¼lÙ²ÜÜÜÈÈÈêêjìžµo·—.]‰UTTDÙÚÚ.]ºûg;;;|û$îãáÆÒ¥Kñ¾bÅ yyy77·‹/ž8q‚ûNŒ‘Ñ™?.,,¬©©¡Óé .´´´\°`Á‚ îß¿ÊÊʪ ’Éä_~ùE[[›Ðå¦yAAA]]……žŒ1¢¢CxmÙ  ZZZ¾øâ <ù!„$%%W¯^Íd2SRRðBgggֆ؈ú»wïê¶µµÕÊÊ KÆMMM3³~¶{ݰaÃ0âáÆ–-[ú~j'ÆÈèÜcK‡jjjÂÃÃû~‹Ï³"„xyy‰D"BHEEEHHˆËæØ*0))©!EE§szÁx_Ø:) ¶r¬„u[>>>‡Ã‚ï;<Þï›h•”Þ¿.žûxØô [X'¬Ë댣ÑÉÇŠŠŠaÖ¬Y'Ožìû­¦fïk´»ººV¯^ÝÔÔ´råÊ   ww÷Ÿþ™›æ!!!¡»»›——·o,ÙÔÔÔ°æì´´4Ö:!Äa¾Y^^!ôòåKƒÁÃó~ä 11!¤  Àá p€5|ýú5k!ƒÁÀ—wõ ’ûx¸9qÌ«W¯Xê“’’B¬·ì|¶Rߦ®øw…+ÍՕ投$¿MÞxccKgïC ){SyÇ/ÀÑÑÐÞ°óÎθ’8Ö¿õåõ½WxË‹Êc#ò"އ/®/fmh=Õú×¥¿²¾è Œ…ѯ–””œ?þ«W¯rrrLMM-þGUUõÑ£Gø¬ê®]»ÿýwÿùóç=z4,,Œ›ææææùùù...ø3N---Çg0èïÐðôôÄ>öôô>|˜--aobÏÏÏè,¤¥¥g̘‘••uàÀlÅ2“Éôòòzò䉜œœÁð.Ž´´´Á«W¯Nœ8‡÷ÓO?ååå ÚpÐx¸9qŒ»»;–ƒBÅÅÅ®®®!++«áŸYYWšë•9x‰×s¯–Î[mÛf;\i®¼<ýÜL:±Å±ªÕåzË·ÏݾrúJ~‘”·)ß}ƒ×ySñ¦¸¾xšÜ´ÓVl›»m¡æBOhvèáG‡Ç1òÏĨ½o1--F£566Šˆˆ¨««“É䢢"ìâööv2™|õêÕ/¿ürÍš57nÜ@UVVΘ1£§§çÕ«WJJJƒ6ýú5Fkkk#“ÉS¦L!‰YYY]]]ÝÝÝ$©²²R]]½½½]AAAII)??¿¥¥E[[;99¹¾¾»‰ŒŠŠš?>Ÿ   ¡¡¡§§ç©S§þóŸÿ<}úÔÂÂ!neeÅ`0$$$¦L™RRR‚ÅpéÒ¥õë×#„8pòäÉׯ_³né…¦¦¦N›6­ßë¼|ùr„ŒŒŒªªjaaa}}½®®njjj]]6pÝoσÆÃ͉c=%''kjjòóóc—ÎÐÐ0>>lgÿµ€÷-~Šà}‹Ü›÷÷ÁP—Ðñd45u4Ô*¼ÿ¦º¥z¹ßòÚÖÚÇ[«Kª#„RÞ¦P(*¼ÎóÂç_ùEä!&ïIêË›?m÷}‹Ó¦M‹·µµmmmMNNޝªªÒÔÔ|ø°ßd À”[›ëí•T–ÄV^Ù\éíY‰—ЙôèÂè þ‰ûçqÎãΞNü«âúb¯h¯7o˜Lf\qÜ…„ 7ÞÜ@U·T{E{Å—Ä#„¢ ¢¼¢½j[k›;š½¢½¼¢½ÎÆõŠöJ,Md;ôÛ¦·^Ñ^QQcuÎØé0è±Å±~‰~.<Í{ÚÃèá|.šˆ’EY“1BHFXf†â „P[wï*}y}ÖdŒ2W3W—Tï¦w·vµr¶Q»?Æ566æåå1 *•*--æääTTThii±ÍÂb·qøâ¦~›³ªªª*,,ÓÐÐ`›KîèèHMM%‘Hzzz|||™™™Uö95 õIDATUU4õ™¨êêêüüüÎÎN …bhhXZZšŸŸohhȶÜ)//¯ªªJBBB[[›uN·   ¤¤ÄØØ˜5b…³fÍÂW¨õ««« IÖÕÕe0êêê………z4nNœõλ¼¼¼¤¤DQQQEE¥ïQppüIšÔ÷Ç í ¦™(\_wµütÔiïo_GßyêóBÉÉßßý¾¬± ¯ /*få™irÓBQQ[ü·ì›¿/®$.º0!¤'«wwó]Öùc÷0÷‹IY±LwYxn¸†”FÐÆú÷xêq>þü/o+÷óŸÑ2§¿`y]æ¸p¨ð¦âÍž{{JJð%1%¿5~jj ‡&}ûohoXraI{Oû‹ï^ 4=LgÐͼÍx‰¼Ï¿}ÎM`Nç3ê÷Ç£¿µ˜˜ØÌ™3Ù µ´´XÚÁõ”í·9+YYÙž»%“ɬDéèèèèè°Õ‘‘‘a}Jx ý«544444ú–««««««sSÈæôéÓ...Ø“QMMMß}÷]UUÕöíÛ¹ìd x0Üœ8FQQÖpɈ"@Y¨¹0$+¤°®ÿKŸÁdÜJ½¥ ª@S£!„ÊË7ûonêh2P007à#ñ¥U¦ÅÇm ÜúdëaþÞéú&ú¶uµ-Ó]¦BQ‘‘c;Ð<õy¢dQŸXqñ5†kBÓä¦Q(—_^N}›:]¾wۀΞÎÀ”@]YÝ’1B诘¿è NOyH IqÈÇ% %›nnjélQS4¥šŠ‘Åòßå?/x^ÑT_¶sá¦I}{ýå——LFuKuXnXsgóéå§9¬ÕòKô«m­u·vR``>÷÷I|4?ÿüó°{úÜÜܶ¶6aaáýû÷w\LŽŽ!Y!)?Xü€•DDU6WºÒ\y<¡³qg›:šÜ¬ÜÖÍX‡·º˜tÑ=Ìý^Æ=g£ÞmÚ»Ûïm¾‡M—ö5O}Þ<õy~‰~r"rørk5 µ+¯®\}}ÕCÞ+yù ¡½áà‚ƒÞaºcÐûcßúÄú´t¶ØéÙyØzð{ÇËˈ"^‡í\><8h“º¶:¯h/ìg~ÿ¡…‡k-(†ð¼ð_#]ª³t­áÚ!†òñG²oß>OOÏŒŒ 죾¾þÙ³g±-ÃÜ0£š)‰)ÝN»½wþ^ì¯þ€”Ϫ髰 1Å1D±®­Î;Æ›Édb“q­Ý­¡Ô·©È¨·;=»’ñ@Ô$Ôæ©Í»ŸqÿÀ(„ÐÕ×W%%—ê.åÐj'mçO’E\qçØâcxÎC)‰)±Öa;nšHJ¸Ò\é zmkíóÂçG‰.Œþ{Åß}'Âf=Ü}o÷§–j`` $G=tèPQQQMM‚‚‚ªªêG;ô¶mÛ¬­­9 w0)„Õú«=Ÿ{>Í{ºPsa][]xn¸)ÕTQ¬w ¦®­ŽÎ¤ÿýGß¶ÍÍøÏTqê0޾ÑxcdAä­Ô[_Íþ*­2-¹"y'm'çõÆ#œ?nèh–âã´*…í\¸i". Žß÷Óôïn÷$çIhv¨¶ k5ÿdÿC¡‡¬´¬<íŒ2AAF[ÛXåd"xÌêXfu¦¿ˆ¦”&Û·º²º!_…¼*•V™ÖÞÝ.'"7UzªŽlïãøªâª®4W#E#¶V}÷¯Þ>w»„ û«ÕBzrz!nnŽGÅL¥™áÛÃc‹c³«³‰šø’ø˜¢˜ø’øÌªÌms·A2ii|$sÊ”îQìsh¿U&&&£xl0a)))‰‹‹s~טth4ÚÇù#Tcb÷îzíÙ#Ã廯MPÈ­["?ýT+ 0úK¯ Æ…B?wîml¬àÉ“’ã £ )‰|èô×_×/^Ü:ýC>Œ•éÓ;ù¥Ú×—âå%Or€I-1‘üõ×ò ´íÞ]7F‡€õÕ€1´lYK[Ï‘#R……¼Õüü–Áä$òÓOÒ––m§NUñŒÙm,ÜÆÖš5M¾¾o£¢W¯VLJ"w8 Am-ñÀ™ýûe¾úªáÏ?+Éä1ü%äcÀ˜35m *“”¤;9)îÙ#[TÄ;xÆUk+Ϲs”… Ubb¼½+÷í«ë‡éa.ÀÐ º?ááB¿ü"YRÂ;{vûÂ…mFFªªÝbbô±€{--<••¤ôt¾¨(Á°0!ƒ°ukÃÖ­õÃ^M=¤ý¹ †f$ù!D§£ÈH¡{÷„Ÿ?ll„< &"‘ilÜaeÕjoß<ÂM? ÆÐó1ŽÉDåå¼%%¤¦&&ó“ØWLrBB ))º†F×h½(ö¯LRRêVRÍ7Ö0yÁ`0þ ãò10þ ãò10þ ãò10þ ãò10þ`¿L`üÁý10þ ãò10þ ãò10þ ãò10þ ãò10þ ãò10þ ãò10þ ãïÿ®Gh›âÇÏXIEND®B`‚fio-3.39/examples/butterfly.fio000066400000000000000000000005271476262051600165770ustar00rootroot00000000000000# Perform a butterfly/funnel seek pattern. This won't always alternate ends on # every I/O but it will get close. [global] filename=/tmp/testfile bs=4k direct=1 [forward] rw=read flow=2 # Uncomment the size= and offset= lines to prevent each direction going past # the middle of the file #size=50% [backward] rw=read:-8k flow=2 #offset=50% fio-3.39/examples/butterfly.png000066400000000000000000001051011476262051600166000ustar00rootroot00000000000000‰PNG  IHDRϪD‹bKGDÿÿÿ ½§“ IDATxœìÝ{\Ž÷ÿÀñ×]:JH©$Ê!%†ÔŒ…01çsØÌñ‹/¯9m6›ü¶vÀ0̰9lDNs®µœ%9R$‡(s åPÝ¿?n÷µîºÓA'¼Ÿ‡Çîûº>÷u½¯ûþôÙý¾?‡K¥V«Õ!„B!„";ÅB!„BQÒIò,„B!„Bä@’g!„B!„"’< !„B!„9äY!„B!„È$ÏB!„B!D$yB!„B!r ɳB!„B‘Iž…B!„Bˆ”*î„BˆŒ._¾Ì| <_ºt)ÎÎÎÅQñ:wî‹/æÌ™3¤¤¤ V«³”iذ!ß}÷]Ÿ;66–… rêÔ)>|ˆZ­¦qãÆXYY±eË–B=·BQÒHò,„¢DINN&,,LyþðáÃB;×|ÀåË—:t(}ûöÍW™ÂrîÜ96lHrròsË•*Uðÿ;¿víܽ{Wg»……vvvÊgTçB!J"ù?žBˆ×Vxx8QQQ´mÛ6ße ˼yó”ÄÙÙÙ™Y³faii ÀÌ™3Ùºuk¡{îܹJâlkkËO?ýDùòå©P¡³gÏ.´ó !„%•$ÏB!D £~üxÞÿ}Ê—/_¨q!„%…$ÏB!J¼èèhæÎKTT666ôîÝ›öíÛ+û9ÂØ±c•ç7n¤lÙ²€føñ{ï½§ì[¼x1{÷îeÙ²eÊpl€E‹±}ûvlllhß¾}Že•}wïÞå÷ßçÀ$$$`bbBíÚµéÓ§õêÕÓ¹}óºSRRøé§ŸˆŠŠÂÐД”Ž?®”Ù´igÏžU®AŸþïÿþ€2eʰaà •ýqqqôïß_y¾bÅ *W®¬sŒ¿þú‹©S§râÄ m>>>zÏ©oÎó­[·Xµj‡"11ªW¯NûöíyçwP©Tz%„B”d’< !„(ÑöìÙÄ xðà²mÅŠøûûóã?pçÎyÒ©©©Êã””}<àÒ¥K:Û@³8Vll,¸»»çXFëÏ?ÿäƒ>àÎ;:å7oÞÌôéÓ™0aÓ§OW¶gž×½iÓ&>ùäRRR(]ºt–¹ÞñññÄÇÇ+× O“&M8uê·nÝRâêܹ³²ÿ÷ßWÎëáá‘%qHLLÌrÝ $$$è=gæ9ÏAAA 8¤¤¤,egÏžMË–-Y»v­ôX !„xéÈ­ª„B”hãÇg„ lܸQ§·vîܹ¬[·Nïk žÿ¿·Š£££²í?ÿù¡¡¡„††˜«2ǧ{÷îJâüþûï³iÓ&~úé'¬­­˜1csçÎÍ6ž‰'Ò¯_?6nÜHhh(Û¶m#44¥L—.]”sרQCïqÌÌÌ6l˜ò|þüù:ûW­Z¥s-ú´lÙ’ÐÐP¼¼¼”mmÚ´QÎJ»víô¾622’Þ½{+‰s»ví bÞ¼yXYYš^ì>}údû^!„%•ô< !„(ÑFÅäÉ“èÔ©QQQ:tÐ,¨Õ½{÷,¯ÉiX°““NNN˜››+ÛªU«–ehrnÊLŸ>'OžÐ¢E –/_®ì311aРA|õÕWŒ9Rolƒ Ê’è‚î|b‡l‡NgäïïÏ·ß~Ë“'Oصk111Ô¨QƒÓ§OsòäIÌÍͳ]5¼bÅŠT¬XQIvìììtÎÝ|ë™3gòôéSªV­ÊÆ•žéŠ+Ò³gOvìØAdd¤ÎB!DI'=ÏB!J´Ö­[ëwî\¡ÆçääDbb"ݺuãÃ?̶¬««k¡Æ¢Õ A|||øû}û6cÆŒáâÅ‹¸»»Ó¸qc† ¢¼Ÿ}ûöeèС/tÞªU«*ïEtt´Î¾‹/’žž®SV!„x™HϳBˆíûï¿çþýû€&^³f²O{»*'''×””Ä7ß|“í±3Îg¾qãF¾ÊôêÕKyFÙ²eu†n{zzrãÆ """ e¨tv2ö>/\¸Pyœ±×9""Bé%×&×/"ã{±cÇöíÛ@ZZʾ²eËfÆ-„B”t’< !„(ÑŒŒŒ¨Zµ* 6¤~ýúJ"mmmÍ'Ÿ|@•*Utz§Œ‡‡G–¿2kذ¡òøÇÄËË fΜ™ë2þþþ4oÞÐÜߨÃÃ777Þzë-)W®}úôQú¢Ò±cGjÖ¬©³ÍÄÄ„~ýúÚ9ýýýyûí·MÂìããCýúõ©R¥ +W®4‹¹ÍŸ?_¹·Bñ²äY!D‰6gÎzôèÁñãÇ•ùËüý÷ߨÛÛš„lùòåJ––ÆÉ“'yï½÷øé§Ÿ²=öçŸN½zõHOOWzb£¢¢r]ÆÄÄ„;w2uêT*UªhzÈ:ÄÕ«W)S¦ ï¿ÿ>ãÇ/àwæùT*£GÖÙÖ½{wU´ š©©)ÁÁÁLš4‰ *ššÊñãljG¥RѸqcBBB²]é[!„(ÉTꌫª!„Å,99™ððpå¹——¥K—ææÍ›\¸pkkëlïs¬V«¹zõ*ñññT¯^kkkRRR”[[xzzbaa¡óº .pýúuRSSÍŠÕµjÕÊs€¸¸8âãã111ÁÁÁŠ+f¹=UvטÙñãÇ•ûG;88èô$GEEqýúu@sK+m‚ŸÑDZ¶¶æÑ£G„††êÜr*""‚šÞûjÕª)ûNœ8¡,pfgg§3_;7çV«ÕDGGóÏ?ÿ`llLµjÕ 5qB! Y $ÏB!Ä+*44”–-[š…ÂNž<™ã=°…B¡W ¬¶-„B¼b>øàΟ?¯s«¬¯¾úJg!„âHò,„B¼bÂÃÕ9Ù¥K—fêÔ©tîܹ˜£B!^n2l[!„B!„x¾@Ym[!„B!„È$ÏB!„B!D$yB!„B!r ɳB!„B‘Iž…B!„BˆHò,„B!„Bä@’g!„B!„"’< !„B!„9äY!„B!„È$ÏB!„B!D$yB!„B!r ɳB!„B‘Iž…B!„Bˆ”z‘8p€+W®T,BñRqtt¤qãÆÅ†B!„(/”<ÿý÷¬]»¶ bBˆ—J= ,î0„B!Dx¡ääË£âõÔ³gÏâA!„B!™ó,„B!„Bäà…{ž…B¼„„`ÀœœœŠ/ !„B!D“äYäZ@@€òxôèÑ’ùä>¬l+]º4+V¬ K—.:±õêÕ‹Û·og‰M!„Bñj“aÛ¢P$&&Ò¬Y3%¡uqqá£>ÂÏÏ®_¿N—.] Q^G×®]•ÄÙÑÑ‘Q£FáîîN¯^½ ì<™õïß333FM¥J•xøð!ÇçÑ£G:±içªU«2zôhÞxãlcB!„B¼:¤çYŠo¾ù†«W¯P«V-"##177ÀÝÝÏ?ÿœ´´4>úè#Ž?ÀìÙ³¹ÿ> éù=tèöööŒ9’ùóçÈy2kذ!6l@¥RÑ»wo7n @BBçÏŸç7ÞЉ­L™2>|þ÷¿ÿ1{öìÓ„(bOž¨ˆŽ6æÖ-C>”ßR…xU¨Tj,-ÓqtL¥r姨TÅÑ‹“öJˆWÓËÖ^Iò, ÅöíÛ•ÇåË—×™¯§<>qâñññTªT‰°°0eû»ï¾«$΃ Ò›<çç<™ :Õ³¿Ôš5kêì»zõ*o¼ñF–Ø´‰3hz®%y/‹{÷ X¿¾ ;w–æÈSÒÒJøÿ¥„/¤lÙtš6M¦S§4oþCÃâŽ(÷¤½âõò2´W’<‹BñÏ?ÿ(<ÈÁƒ³-«Mj3Î%Θ8ØÙÙØy2˸0˜±±±Î¾ôôtØlmmuÊT¬X1Ûs QR¤¤¨øùçòüüs9 Ô´nýÞ½qwŒ]¥K§wˆBˆ’ž÷îgÄÑ£¦„„˜3l˜UªãÆÝÂÚ:­¸ÃBƒªUŸòý÷ ôí{€kºu«Ì?Þ I“”â öJñ¯’Ü^Iò,òåàÁƒL™2%ËvkkküýýùøãY³f ñññœ9sWWW:vìHÙ²e¹víçÏŸçðáÃøúúâëë ÀèÑ£ùù矹ÿ>wïÞÅÓÓ“Î;£$®™åç<ù1zôh/^̃HJJÂËË‹®]»«s‹+!JŠGTŒgKHˆ9Ó§'Ò­ÛýâIQxz>bíÚk|üqE ²' àüü’Š5&i¯„ú”ÄöJ’g‘/‡âСCY¶×ªU lmmÙ³gÿùÏøë¯¿¸ví ,Ð)ëèèH›6m”çUªT!((???nß¾Mll,³fÍÂÙÙ™_ý•Ö­[+eµs“ósžüprrbݺuôîÝ›;wî§Ä¶zõjš6múBÇ¢ ¥§Ã¸q¶gg+>ûÌsót:v|P,±H{%„xž’Ô^$Ï"¾øâ‹ËX[[+«U«FHHçÏŸçÀÄÇÇcbb‚ƒƒ...4hÐ Ëëßyç.\¸À¦M›¸víNNNtîÜ™ððprù>µµµÎµd\ðËØØXgŸ‹‹‹òØ××— .°yófØ2¿7NNN9¾OB¦ï¿·"8ØœeË®ËQ!„^*Œu›T|üqE*WN¥Aƒ¢o/¤½B䤤´W*µZ­Îï‹{öì @```$^oÀÝÝKKKeÛ“'OèØ±#;wîÀÍÍ3gÎWˆB…ßþ%$$ðàAÞYݱ£4þþv2ôQ‘+éé0|¸'N˜²}ûÊ•+ºyÆÒ^ !ò¢ Ú+[[Û,ë#åA Üe^”( .¤råÊtéÒ…qãÆ1lØ0j×®­$Ά††Ìš5«˜£¢dJIQñÕWÖtï~_¾ˆ !rÅÀ¾ÿ>øá‡òEv^i¯„yU\í•N ÅrV!²áíí‘‘7nä»ï¾cÑ¢E\¸p€5j°eË–ZøKˆWÙ¢Eå¹wÏ€>ºUÜ¡!^"éŒw‹?þ(ËÙ³ÆErNi¯„ùQíUF’<‹eÈ!\»v­[·2gξþúk.\Hxx8çÏŸá…¿„xUÝ»gÀâÅåð÷¿CÅŠr{—ÂpáÂjÔ¨¡ü;þ|q‡T"c* wîÜѹN} VŠÓµë}êÔy̬YV…~.i¯J–ÄÄDÆŽKãÆqqqQþδ·ÿš2eŠòþôíÛ·¸Ãyme{•™,&JSSSÞ}÷ÝâCˆ—Êúõe00PÓ·oñÞÂAñrR©`ð໌cË¥°³K-´sI{U²Œ1‚cÇŽwBäZQ¶W™IϳB¼vî,MëÖ)]:½¸CB¼¤Z·~ˆ©i:!!¥ õ<Ò^•ñññ:‰ó¼y󈎎&&&77·bŒLˆç+ªö*3Iž…â%÷ø±ŠÈHSš5K.îP„/1##5§pà€Y¡CÚ«’åúõë:Ïß|óMT*U1E#DîE{¥$ÏBñ’»pÁ˜ÔTîîOŠ;”×ÎæÍ›éСµkׯÛÛ›o¾ù†ää“‚ÇëÌÕ­Q£µjÕÂËË‹÷ߟÀÀ@²»cäñãÇ?~<-[¶¤N:xzzÒ§O6oÞLZZÎóDgΜ©œ³víÚlÛ¶† *ÛöíÛ§”;w®²}Ú´i:1h·»»»óèÑ£|]“¾¹Ùk×®¥]»v¸ººòå—_ššÊܹsiÑ¢µkׯ××—U«Våé3/¦víÇDEÞ"<Ò^•o¿ý6~~~:Û¼¼¼¨Q£žžžÊ¶{÷î1gÎ:wîL½zõpuu¥I“& 6ŒÐÐÐ,Ç=z´ò·îïïObb"ÿûßÿðôô¤FÌš5KÙŸñüOŸ>¥N:J›rÿþ¿«°2çY!^r‰‰†ØÛݜ˗/ç÷ßWžß¸qƒÅ‹Áï¿ÿŽ‘‘‘Þ×¥¥¥qçÎ<ÈÁƒ gæÌ™:eæÌ™Ã?þ¨“„>zôˆÃ‡søðaìííu¾Üf¤V«ùòË/ùõ×_(S¦ .äÍ7ßdË–-lß¾€ƒòöÛo+µ2>>pà€òØËË SSS?~œ¯kÊhéÒ¥Yî‘®V«ñ÷÷'88XÙvñâE>ÿüsÎ;—í±DÁ²·OSڔ íÕËåâÅ‹ôëׄ„퉉‰„„„Bß¾}™:uªÞ×ß½{—^½zqõêUe›··7sçÎ4?Ð¥¤¤`ffƱcÇxôè iS>LË–-•Ç_Ÿ””bcc‰eãÆ¬Y³WW×\ÇpäÈú÷ï¯Ä°cÇ"##©W¯^¶çE¯°Û+}¤çY!^r))š¦ÜÌLæ¥~ÿýwŽ;Æ7ß|ƒ¡¡æàÇŽcÙ²e˜˜˜£ü‹ŽŽæÈ‘#|÷ÝwJr½~ýzNž<©788˜9sæ(‰sëÖ­Ù¶m'OždóæÍ <8ÛÄ<==Ï>ûLIœmllXµjo¾ù& û¥S›$?yò„£G*ÛÏž=«ô¾dL¤µ¯ÍÏ5e¶mÛ6~øáŽ;FLL Ÿ}ö›7oÖIœ'NœHdd$›7oÖIâEá27O'9¹ð¾J{UrìÛ·?þøCgÛálj‰‰!""‚ôôtF¥$ÎÕ«WgÓ¦M=z”/¾øByͪU« Ò{ŽƒR«V-víÚÅùó牉‰ÁÓÓ“Š+šÑ&GŽÈòw®}~üøqeDO™2e”vüøñ:mÑÙ³gÙ±cÍš5 99™ï¾û.Ûë×[™2eøä“O”ÄY{›Ô#GŽðþûïë´Q¢øv{¥$ÏBñ’ÓvNÊ4µ¢õßÿþ///,,,èÑ£-[¶TömÚ´IïkT*eË–¥sçÎÔ®][Ù¾ÿ~åñŠ+”ÇU«VeΜ9Ô¬Y333ÜÜÜøä“O²íýøâ‹/X½z5NNNê,úÓ´iSåñ‰'HNNæèÑ£<~ü˜råÊáàà@zz:ááá<}úTùR Ù÷öäæš2ûïÿKÇŽ±°°P¶e|ÏêÖ­Ëþó,--qsscìØ±ÙK,•êß6¥0H{õò8vì˜Î¨O>ù„ÚµkS¦Lúõë§Ó&dNµʗ/ϬY³pvvÆÀàß´CßyÚÿº»»ë<ϘT7nÜXù¡23###ªW¯NÿþýuŽÝÔ}±®®®¸¹¹±}ûvþúë/e_ÇŽt†\›ššRºti’’’X±bE¶Iæ{ï½§ …Œ‹‹côèÑ|ôÑGTªT‰Ë—/óÇÐ¥K½óž=<}èÞ½{ž¯oBmû£ïo>cyooo%®´´4üüü¨]»6Ý»wÇÃÃ#ϱhðõ×_cbbhær·oßV¬XÁ;3ïc‹Wƒ$ÏB!D>ôë×~øWWWŒ±µµeРAüöÛoJâ:lØ0pqqÁÔÔkkkz÷îÍŠ+”/gúŒ3†Õ«WÓ¥K*W®Œ±±1åÊ•ãÍ7ßä‡~È’üfæííͼyó”^âÐÐPþûßÿ* tÆÐM˜3'Ï™¿àæ÷šr¢R©˜7o£F¢råÊáììL@@cÆŒÉ÷q…ùW½zu¶nÝʇ~HíÚµ177ÇÐÐkkkZ¶lÉDÅV‡ IDAT¢E‹ø¿ÿû¿|ÛÓÓSgÁ.kkkªW¯@ÅŠu†Pê$ÔåÊ•cÕªU¼ûî»X[[cjjJݺuY°`Á O'õòòâ?þÀÛÛsss,,,ðõõ%00;;»:¶xù©ÔÙ­ßž ={ö 00°À"?T*ÿûßÿdض(2…Ýþ%$$ðàÁƒ\•ݺՂQ£l‰‰¹P(±!^…ÝžH{%„((ùiOlmmun“˜GÒó,„B!„Bä@’g!„B!„"’<—0«W¯ÆÇÇG¹Q|^-Z´bbb 82!žY½|| Ÿu”E‹4¯—:*„B!^"’<—0W®\!,,Œ»wïæëõ/^$,,,×s%…ȳ+W , òYG¹xQóz©£B!„â%òB÷yÏÏÏOOOêׯ_Ü¡¡ŸŸxz‚ÔQ!„Bñ‘乄qttÄÑѱ¸Ã"{ŽŽšB!„B¼F^›aÛçŸ={Ú¶mKÿþý ÍRþ«¯¾ÂÇLJ{÷îe»/ãÐèŒÇ?vìÇçÝwßeÔ¨Q\ºtI)·~ýzúöíKÛ¶m™¤¦>ÿ8çŸ= þþšãöïzê(_}¥)¯§Ž*û2ÎxücÇ`øpx÷]5 2ÔQÖ¯‡¾}5çž<9ëñ³›óœ–+WB¿~àë ½{kÎùœ:ÊÑ£0l˜æ\ƒž:ŠZ [·ÂСо½æ¸S§‚ÔQ!„BQ„^›žgí\à?ÿü“O?ý”äädeßòåËY½zµrßV€³gÏÆÓ§O³K»/5C2¤=~PP“'OæÉ“'lß¾5kÖÁÌ™3™3gŽòš;vÂþýû•múæ}:uëÖÅÙÙ™o¿ýµZm\"FF`h¨y\¥ ”.÷cèû¬ŸÕQrYGŸ[NOÅÈÊ”É:/ûYÕ;¯ZK[÷²©£ÊöÌ ‡é©£JÙŒ ¯Íž­Y0,-M3t»n]Ípðo¿Õ$墨¤©Ó˜³wžý³¸C)p7îß`ÎÞ9ÌÙ;‡ØÛ±:û^åëâUõ*ÿÝJ{%DÑyí†mç–6ù¼yó&ÖÖÖ:ûN:UdqØÛÛpäÈÒÓÓ10Ðý½ãðáÃTªTIg{dd$ÞÞÞ:Û"""pppÐÙÞ¬Y3š5kh~X¾|9ÄØØ˜Q£FÜżêž<Ñô²&%i†Á—_jæmòyó&dª£aåYåÈÍ0êLu”gu”Lu”ÈHÈTGyVGÉTGiÖLó4IôòåšáçÆÆšžiQ,RÓR™³wïÔ|‡nŠ;œõÅŽ/‰  Ž]œ­œ•}¯òu ñªz•ÿn¥½¢è¼v=ϹU½zufÍš¥ÌýMMMåóÏ?/ÒäÙÆÆÎ;ÇǬôR«ÕjæÌ™Ã®]»°³³S†€k}ùå—J² §$¾¾¾DEE1sæLnÞ¼©”344¤J•*„……êµ½rþ÷?M¢øý÷šÅ¸š7׬&\8ç{VG™5ëß¹¿©©ðùçE›<ÛØh†•Ÿ;üo/µZ­Y¹{×.°³ûw¸Ö—_þ›,ÄÅý›?«£DEi\ËPG14Ôôêƒf¸l{Ôvþ¾ø7 +7,îP„⹤½¢hIòœ>}ú`ffÆ¢E‹ptt¤Q£FØÙÙ1cÆŒ,‰ja›1cÌœ9;;;Þ|óMìííýl!ª3fd^¹re5j„««+õêÕÃÅÅ…“'OR¿~}e^ö;w˜0avvvT­Z•&MšàêêJ«V­hÔ¨Q‘^çKmåJøé'Í|bM‚÷Çš²úö}þœáüêÓG3çwÑ"pt„F4IêŒYÕÂ6c†¦ÇyæLM o¾©é‘Ö.–6cFÖ!á•+kbvuÕÄëâ¢Y™»~ýçeß¹£Y(ÌÎN³òw“&šòÏê(RGE»ÿø>SwM¥ÃþÔµ«[Üá!D¶¤½¢èIòœ ;;;~ùåÊ–-K||<ááá”*UŠ   êÔ©S¤±´jÕŠÍ›7S£F nß¾ÍáÇIHH R¥J,_¾œ~ýúeyÍìÙ³éܹ3QQQœ8q‚'OžÐªU+¶mÛ¦Ìñvuue„ ØØØpùòe8@TTÖÖÖ|þùçŒ;¶H¯ó¥uú4 ¦Iê2®’mg§¹Ïñ;šU·Ÿ7o8?ìì4 ’•- ññ®IPƒ‚ ˆë(­ZÁæÍP£ܾ­éOHÐ Õ^¾\³Zvf³gCçΚÞå'4ÃÞ[µÒÜÿY;ÇÛÕU“<ÛØh ;p@SÞÚZÓÃ.u´D9›x–¥‡—òKø/¿~<ÛrW#Xut‹.bë¹­Ü|p3Û²Emæß3164fL³1ùzý¸ÌÙ;‡­ç¶pdBˆ‚$í•´WBäÇk3çyèС´mÛ–5jd»ÏÙÙYg{Ÿ>}èÚµ+'Ož¤T©R¸»»cllŒ³³3C† ÁÂÂ"WÇ_¸pa–½Ê–-Khh¨Î-¦´‹yi\­víÚÑ®];bbbHHHÀÊÊ WWWT*•ÞkiРAAA\»vË—/ãàà  ÇÖÒÞßù›o¾áÊ•+ÄÇÇcmmMÕªU•ÅÌD.iVvqѬ\QÓ¦š¡ÉwîhV¤Ö·X—ÖСšû;ë©CʾLu”>}4·x:yR“8»»kOggÍý¡3Æó¼ã/\˜uA/Ð$æ¡¡º·˜Ò.æ•©ŽÒ®æ_LŒ&q¶²Ò$¿™ê¨GƒšDÿÚ5Mbìàðïpl-íý¿ù®\ÑüH`m­é…–:Z¢|ö- ,ÐÙÖÙ½33:ÌÀP¥YDïnÊ]­ĉëº+¯›”2a\óq ô˜ãyÖŸZÏ•»WrW¿†ý(oöœ¿» "¯EòDZ?XÒk fFy_É}åÑ•LÝ5•ÆUçêZ„ÅCÚ+i¯„ȯ×&y®V­ÕªUËó>SSS¼¼¼t¶¹¹¹áææ–ëc4l¨Š‘‘>>>:Û´ €ÙÙÙé}M5ô&èÙÅáààe°ÌT*UªTÉ’\‹\rqÉz‹¦Œr;„ºZ5Í¿¼î35…Lu77Í¿Ü#›:Š‘dª£Ê`ÙÔQjÔП g‡ƒCÖÂ2S©4‰µÔÑ)òZ$ÁÑÁ4¯Öœš65¹žtQ;Øxz#NåøÐûC–E,ãÄõØZØÒ²fKÊš–åÚ½k„_çÈÕ#¹þ2ºÿÒþ\ÇÖÞ­}®¾Œ¦¦§òé¶OéR§ ÞÎÞ9–Ï(-=¯ÿúš_#~¥oƒ¾|áû…ò\Q²H{%í•/âµIžKºï¿ÿž ³³s–^p!ŠÝ÷ß­éÙ–:*ž¹|›ígЭn7eÛñëÇéõ[/–F,eÄÛ#0Tr;ù6A‚°µøw4Ó´'œ¾q:WçêZ§+ž•=s›•y6·PËdÁÜN¾Í¤–“r}l€‡O2zãhv_Üͧ­>•!J8i¯¤½âEHò\Bœ?žèèhlmmùí·ß² Ç¢Ø?¯Iœmmá·ß²Ç¯-§òN:_DêÙ×£µKk¶Gm'úf4®]ñuñeÕÑU, _B¯z½¨fU •J…±¡1 äê\]ët-ðø/ݹÄüýó™ÑaåÌôÜ<7Þ¤×ò^\¹{…ÝвFËMQ°¤½’öJˆ!És ñÑG1räHjÕª•e¾³%ÂGÁÈ‘P«VÖùÎâµV¹\e½ÛË9ô8 ogo~ïw~ø¿~Ò^I{%ċ乄pyÞœY!J©£"Wïê¿›öK£¥‰¥²ÍËÑ /GÍýĉ„_ gZÈ4¶ŸÛÎïÿêù7(Œ9„Wï^åÞ£{:_D3Ú|f3 +7Ôù2êYÙ“6µÚðñ–yoÕ{,õ[šëa—Bˆâ!í•´WB¼Iž…B¼Kw.t2(ËÂ]çwaijIM›šŒ;H]ûº”6. @E‹ŠtpëÀßþfé ÄÞŽ¥z…êÏ=WaÌ!|¿áûÜzx+Ëö° a¿~œŽµ;âlåL•rY¬ëZ§+–¦–ŒÚ0ŠÞ+{ó«ß¯Ø[Úç:>!DÑ’öJÚ+!^„$ÏB!^ˆ•¹¶L`ËÙ-¸Ø¸ŸÏލ¤©Óè9PYÉuáÁ…¹z„·ª¾EÕòU124â\â9v_Ü¡Ê0Wó÷ cá{ ÞÓ»=éQ’òeôyó[ÕhÅR¿¥ ];”^+z±ÌoYŽ_ª…ÅCÚ+i¯„x’< !„x!T¯P…v1LÙÞÙ½3#Þ¡Õ} 9º׬Z3šUk–e{æëÎÈÙÊ9Û}Bˆâ#íUVÒ^ ‘w/”K3K6ÛHÜ­8*•«D§z(gž¡þø¿Î=«{—|æYý³vb@“Ͻ–¼Æ’—ÏA¼˜Çi ¿Ž‹‹ÎöÃWóèé£bŠJ£ßïýp«èƤV“Š5€¯B¾bYÄ2Ôjµ²­CƒbŒHˆ×´W¹#í•% yNOOgøðáüüóÏ:ÛGŽɃøõ×_ñ÷÷×Iž—,Y˜1cHJJÒyMÓ¦M ÂÚÚÐ$mÓ§OÇÃÉ'rîÜ9¥l…  ¡^½z:ÇÈë±ëԩÄ ˆà£>R’瀀|||tÎ_~ù…±cÇrïÞ=ã{{{†ÁóGÒOš4‰3f––¦lS©T <˜ùóçcdd¤Ÿ»»;ãÇ'..N)ommÍúõëñöö4Éshh(K—.UÊ5oÞ\Ižõ]K^cÉËçPTÒÕé _>œŸ÷dª-Fòàñ~Ýÿ+þ-ýu’ç%{—0fÍ’R2Õ‘šM „µÅ³:r&˜éÛ§ãQÕƒ‰k'rîF†ë¶¨@ÈG!ÔsÌTÿòxì:u˜°v±ÿ<«­?Ò$ÏÏæ ûÔòÑI8Ùû c׌å^J¦úWÛ° a¨r¨ë'1cû ÒÒ3}æÞƒ™ÿÞ|Œ tâs¯äÎøµã‰»•¡þYX³~äz¼k<«~#ôܳú·/Cýsi®Iž³¹–¼Æ’—ÏAž%½–`abQ¬1„_ G¥Rk Z‰±)mC‹ê-032cYIJâIñŒ´Wº¤½¢$ϳfÍâçŸÆÐÐ.]ºP­Z5¢¢¢˜?>666YÊoܸ‘ÁƒSªT)Ú·o››?f×®]ìÙ³‡þýû³eË× 6ŒR¥J1tèP,,,ؾ};gΜÁßߟ={ö¼Ð±GŒ±±1C† ÁÁÁá¹=È 2///¼¼¼044äÈ‘#ìÝ»—ôôôç&ÏóæÍcÚ´i¨T*:t耛›—.]bÆ ,^¼kkk¦M›¦óš‘#GbllÌСC155%88˜3gÎеkWÎ;G… øàƒHOO'44”R¥J€çÎqÎO,¹ýŠÒ¬àYü¼çg éR¿ Õlªu#ŠùÏÇÆBOý;¶‘Á¿¦”A)Ú¿Ñ7{7?}Ì®3»Ø½‡þKú³eT¦ú·|¥ J1´ÙP,L,Ø~z;gâÏà¿ÊŸ=÷¼Ð±G¬±¡1CšÁ¡œÃs{#òë³úçä…—“††‰;ÂÞ˜½¤«ÓŸ›<Ï Ç´­Ï>ó7:àfïÆ¥[—Øpt‹÷,ÆÚšiÝ2Õ¿U#164fh³¡˜™|6˜3ñgè:¯+çþï,*ðAãHW§z.”o¤ŠÕ³ú÷œ9Îù‰%·Ÿƒ(\^Ž^ÅB‰òi«O±)mƒJ¥b{Ôvù2*D "í•.i¯„(Éówß}‡ÁÁÁøøø(Û7nÜH—.]²”Ÿ4iæææìÞ½›† *ÛÕj5=zô ((ˆsçÎé ®^½:»víÂÌÌ €iÓ¦ñÆo°oß>’’’°´´Ì÷±+W®LXXeÊ”ÉñZ?ýôS@“xŽ1BgßÞ½{144|îë¿ùæÖ­[G×®]•퇢iӦ̞=›Ï>ûŒÒ¥K+ûìííÙ³gr©©©øùùIJeË;v,|ð—/_&44”Aƒ)=ÒKn?‡¢ôÝÎï0PüQ0>µ|”ím¤Ë<=õoý$ÌÍÙ=a7 «fª# zĹçt†W·©Î®vafôìºS§ñFÀì»°¤”$,Í,ó}ìÊå+6>Œ2¦¹¨ëŸÕ¿÷æ1Â'Sý‹Ù‹¡*‡ú·íÙgþßutmá3=DÓéM™<›ÏÚFi“ õ¯¬={&ìQ®15=¿…~E±lÿ2ÆúŽåƒÆpùöeBÏ…2È{Ò#]бäösyw<þ8kޝáZÒ5ì-íñ«ç‡uik½e3Ï!|šö”þôÇÓÑ“QÞ£X}l5âp'å¿ôúÓR¦Ü{tµ'ÖrôÚQW‰óÕ;W‰NŒÆËÉ+Kâ 䘰^¾}™«w®òv·u’U€FÎèéÙ“U‡Vy9’¦53|æm'ê$¥¥ J1µóT‚"ƒØ³±¾ù¨/KNŸƒÈ»µ'Ö2iÛ$ÒÕéʶ “AŒm¦ÿ³Í<‡0]Nø•p,L,¸z â(ûRÓR9šp”¡k‡r'åŽÎqÖ\GÏz=™öî¿# Ž\=ƒþËíäÛÿŒ…•‘+ù¸ÅÇÔw¨Oø•p’%)µÏŸçë¯9uãÔsËdômÇo©dY)×å……OÚ+ý¤½"÷Š5y¾sGÓ¸d7<ØÉÉI'y¾yó&.\`òäÉÙ7ó|bGGÇ,e,,4sXž>}úBÇ®Y³f¶e3ºuëµjÕÊUùÌ´ïUµjÕôî¯^½:·oßÖÙîì윥¬v›ö˜EKn>‡¢t'ùYýË´•–“µ“Nò|óþ³:ró“7<§ŽdšOìh¥çºŸÍ¡zšöô…Ž]³b.ë߃gõÏ.Ÿõïá³ÏÜ&›ÏÜæÙgþ0Sý³ÖSÿžmÓ¾ÿEKn>‘7ñIñ|¾ãsÒÕét«Û–5Z’–žÆ¶sÛø~÷÷y:Öî‹»±0±`\óq¸ÙºaZÊ”´ô4†¯ÎÝGwéR§ >Õ}(kZ–Ëw/³ì= Þ´ IDATð2Ò¸Jc:¹wânÊ]†­ÆÝ”»Ô³¯GÏz=±·´çÚ½kì<¿“ûïS˦+û®Ô»ON½8çnžÓùòš“”§)yº~!Dá’ö*{Ò^ ‘{Åš<—/_€K—.éÝŸy»¶|íÚµéÙ³g¶ÇõòÊû•ü»T©Ü½…*T ***ϱeŒïâÅ‹z÷_¸p ËÊÕ±±±Yæak7Ó³¨b)iÊ›?«·.éÝéÝíÚòµ+Õ¦gÃçÔ§|Ô¿|»”a.ëŸÅ³úw#Ÿõ¯ô³Ïüf6ŸùÍgŸy¦•«cÿ‰Í2[»¸™öš‹*Qð6ÞÄ“´' ôȧ­>U¶·wkÏ„-:”ëc©Q³¼÷rÜlÿýR¸"r·’o1®ù8†7®S¾k;šÏoNЩ :¹wbý©õÜM¹‹¯‹/ó»Í×)Û·A_î?¾O“24ªÒ•JEY³²4ªÒ(×ñ}Òâ’?¿·'#éÅ¢d‘ö*{Ò^ ‘{Åš}:;vT†–§¦¦òùçŸðöÛo+åLMM¬½ÅKISµBU*•«Dð™`vŸß­s;¨?Oü©Óë šžËškrýîuz4ìA=uäÌNùʹU˜ÇÍÜèškrøÒaí^ÄÐf™ê_Ì>šTNý³ªBåò•Ù³MÇ7Ñ©^†ÏüRk¬ÅÌÈ *™êßöét¬×QZžšžÊçŸÕ¿ê_©gõïa.ê_>c/ê¦æÇ˜žodýÁ§ç=óôeÔÕÆUç‹(À±øcì:¿‹ýqû•i jþÒpá–æÇíÅ!†è=~“œ§7eâĉ: tfž¸››:tÀÄÄ„NŸ>µµ5 PÊÕ¨Q€±cDzwï^ÌÍÍ•û<T,%јwÆ0~íxZ}׊. ºàlíLtb4›Žm¢b™Š$ÞODE†ú×cÝ~ê†ÇÿyÐÒµ%®v®˜™réÖ%ÂcÉý'–”ù)ä£þâ±¾ìú%~ ý¶|¿ìýEYm;âRû/ìçé§”R=§þ½û1þ«üé2¯ Þ耫+q·âXt=OÓž2±íDº@3OÜm²êuÀ¤” !gC8k k4 ”«QñYý[3–½Ñ{176Wîó\P±ˆ‚÷(U3ÐÒ4ë|ñ²¦eót,»2vY¶%?Iàøõãپθ”±N,åÍò7¢!'2‡Pˆ—›´WÙ“öJˆÜ+ÉóÙ³gY²d k×®U¶1‚ëׯ³~ýz$¬K—.¬\¹’?üöî<¼†ëàøûf‘Å•]6B6;iìImiPT´Öö[U­¥¶R´t¥_ߟ*ŠRª–Ò Õ EµU EÐ&© EUBDˆ$M Yîï4—+‰Ü$7¹Áçõ<žGfÎÌ|ι“OæÜ™9g2{÷îeïÞ½êuôíÛWëG©ïWû:t(Ìœ9“ˆˆ""î¾âïï_îÏ'N$%%…… ²{÷nvïÞ Ü[ù¿ÿýo‰mV¬XÁŒ3X½zµzYñ<ÏÅ’ôéÓ‡æÍ›sæÌ.\ÜçYW±ÔFÓžšÆÙ+gY¾žmÜsþuŸ@jV*ßE§Ñ jDð«ÁLÞ2™½§÷²÷ô=çˆÂ€¾-ûjý(õýªsßC}‡’ñO3Cf‘ADÂ=ç_ÿrçxžØc")7RX¸w!»Oîf÷É{>s¿WøoP)çßó+˜2ƒÕï9ÿþç¹øQr€>-ûÐܹ9g.ŸaáÞÏ¿çyÖU,B÷ìë¼z:ít‰‹É?¯üY¡}•öÔƒ“…sçâiçYêvFE¿NõŠÊF%GáfSò]{ *Ôw‚´%ï ñp“|U6ÉWBhOïgCCCÖ­[Ç„ 8xð P4òt‡hÚ´)vvvêGŠ‹1‚   ÂÂÂ8wî………¸ººÒ©S'A©055Åѱä7„Åëìí5‡ÝמºtéÂ|Pb0´ñãÇ3|øpöîÝKBB–––øøøÐ±£vï²ÌŸ?ŸqãÆJZZ666ôèÑCcð{yyyqæÌvíÚERR 4à™gžÁÊÊJ£œ©©)‘‘‘ìÙ³‡ØØXnß¾­Ž½¬ºhKe>‡šbh`Ⱥ—Ö1¡ûžÿ÷üóô£ƒ[š¾Û;¥¦Æ÷FÔ.ˆ°³aœ»rŽBU!®¶®trï¤1(U@óLMq´(¥Þÿ®³·¸ïüÓÁ¾ºxvე˜+y|·ñ o?œ½§÷’p-K3K|ûÐÑMËóïÙùŒë6ŽÐ3¡¤e§aS׆Þ=4F¿——ƒg><î»HºžDë<Óæ¬Ìï;ÿŒM‰|'’=§ö{5–Ûù·Õ±—Umc©Ìç ´ãïîOpt0íÿ[\­]ˆ¹Ã'+6Oiz7íÍÆ¨ì<½“EÑȪ‘z]ª€}ç÷QPX@@“6Dm`Á¯ p²pÂÏíîòÑ—¢Iÿ'@¯@êšÔ%%+¥Ü¹Íï%ï ñp“|U6ÉWBhO¡ªè×Y÷(X+$$¤JADFF–ˆkÅŠLž<™Aƒ±c‡ö"³fÍbÁ‚DGGÓ¶m[}‡Sí S§NeÉ’%Þ621²Ä@\+ö¯`ò–É j7ˆäü«¨YÛg±àçD¿M[—GóüÓUþ+KZZ999Z•ýñG%S¦8W-±”¥ °€áÁɾ‘î¶îx#‘¦õ›r&í ÿñùs稷iµ¸­[±ù…ÍÜοM‹E-hÀçÏ}^ⳚMÈÉ¢6v±rÁ®®ٹ٤d¥p;ÿ6ã:cf÷™LÝ9•ÎþÍGêdáÄåìˤç¤3¡ËÞxò þ³å?ü–ôÎÎ4°l€…ÞæM={€5¿¯ ãV±×bq²pÂŲè˲À¦ŒòUãq‰ÇWuçÉW’¯„ЕÊäõl?•¢÷;Ï={ö¤U«V´k×ccc¢¢¢8räS§NÕstâQ×sQOZ5lE;—v•Å‘ØÏ¿9ÿ„(‹¡!k¯aæž™ˆ=Àùôóø»ù3£û ~9°ÊÇø_ŸÿÑÄ® k_Krf2É™Éó´÷ÓôoÞ_]vñ3‹q³ucC䮿\åjÎU|úÒ»iou¹™Ýg2~ûx.g_æröe üyS«Kú?é%¯LÍN%5;¯ú^úKˆGŽä«ª“|%D-xl C‡ìß¿ŸcÇîN6obb¢E‹4Fà¢:tpëÀþ˜ý‹»çü32aÑE#p !J²2³bÍà5¤å¤q9ë2õp¶pævþm‚ŸÆ¡žƒFùõC׫ç׆¢‹ÊàçƒË8Ç@aÀèö£yÙ÷e’2“ȸ™¹ ,`lh¬QÖPaÈë~¯3©ë$b¯Å’›Ÿ‹‹¥ 6æšÓ–µqjCøÄpb¯Å’›M¡ªP/wqº{t'øùà2×ßß~BˆÊ“|U5’¯„¨%ç°°0¢¢¢8qâééé8;;ˆ“““¾C{h•÷N¶¸+lzQ‰QœH>Aúßé8[9Ø"'K9ÿ*«¼w²Å£ÇA逃òî…“‰‘I©ó’¶wÑ|EÂ@a Õü¥ …WkWõ{Šb¨0¤iý¦U.Sì•öØ+å{!j’ä«Ê‘|%D-é<øúúâëë«ï0è;Œ‡†¯«/¾®rþéJ@³šÉù'„B!Ú Û'„B!„B<Ƥó,„B!„B”C:ÏB!„B!D9¤ó,„B!„B”C:ÏB!„B!D9ª4Úöõë×IIIaÚ´iºŠGˆJ •sQÔ˜“'OÒ°aC}‡!„B!jH•:Ï.\ %%…¥K—ê*!*í¯¿þ⯿þÒwâ1rëÖ-}‡ „B!jH•:Ï:u $$D'ÁQY …‚©S§²dÉ}‡"C† ÑwB!„¢É;ÏB!„B!D9¤ó,„B!„B”C:ÏB!ª$øx0ki¶°žy²?v?‡âáù‘'_F~©Q¶ÕâV<ü¼ž"Å2nfàµÀ‹OÃ?Õw(åªí±Êùÿp‘ÏëáSÛsÀ½j{¬rþWtž…BTÚ¯q¿òÁ/=ž¼‚<}‡#´t î…ªBzzö éÇMùÍH=GU:}Çú ãÉùÿp‘Ïëá¤ïPúŽUòUõ«Ò€aB!obðiЧzbdp÷ÏJì¬X}…%ʱ?v?öJ{Z8´Ðw(åªÍ±Êùÿp‘ÏëáT›sÀýjs¬rþë†ÜyBQiéÿ¤ÐÓ³§ÆbQ{Ý)¸ÃáøÃôôì‰B¡Ðw8TÛc•óÿá"Ÿ×ç¶ç€{ÕöXåü×m9¥R‰¯¯/¿þúkM¶ZÌ‘Ä#\¼qCC¼ê{1¢ížmõ¬ºÜ½û~/à=æ…Íã·¤ß040¤—g/Þê}êÖ©KxB8Ë—s5¥‰’¡­‡òºÿë( *\}ù-é7næÝ¤—g/¢R¢¾i8Gâù‘§º\ðóÁ´un«“v¹·}ß x—ÿ…ýß’~£ °__fv›YⳫh¬u´oû±ø2êKΧŸ'çv ,àïæÏ˜NcpP:<ðx£|G±!jƒúçš8ÿEåI¾’|%ùjƒúgÉWU#_;ˆ2ѽ{wBCCõŠx -¦{wBC‡ê;QͶDoáý_ÞG¥R©—¥d¥°.bGòí‹ßbfl¦^—›Í°MÃHÎLV/;šx”¿y‘}c÷amf­^>vÛXâ¯Çk/úR4Ñ—¢¹šs•ñÇk¬ËÊÍbxðpR³SÕ˶ÿ¹Ì[™ k;Œ×v¼FAa·ònñÙÑϰ1·á%ß—*]ŸÒŒüf$G>°Ì½öŽÙ‹‡­‡VeÃ.„aflFg×Îüuå/­¶ÑE»ïgØ×ÃHËIS/;ˆ¨ä(¶þgk‰ ҊƪmÛˆ=À˜mc4¶»GÜõ8®ü}…ƒVhÕ.º ‹óEÔÉW%I¾ª\¬’¯N5ÚyÎÉÉ©ÉÃU«G©.•ñ0Ö?'çu}‡ 3R]*ãq¯mð”×SÄΊeüöñ„^åôŒÓ˜™¨×Š?ÄèoG—»ŸäÌdæî›‹…‰³zÌ¢»Gw,Í,¹xã"Ë—ñSÌOlŒÚ¨qÑ‘A—,¸Œ&vMHËIãý½ïs4ñ(;Oïd”ï(uYO[OÆtƒoC_Z6$7?—˜«1¼¿÷}>ÿísÆtƒ¡ÂP]>29’®®]ùbð¸Ù¸q>ý>>,_¾œÂÂÂe<È€°³³£N:¸¹¹1cÆ ²³³ÕerssQ(‘ššÊˆ#°±±¡nݺpòäÉû-,,dáÂ…xyyabb‚‡‡‹-"!!…BÁ¤Iš¿ ÷×¥2ÇÔ¶>åѦýî/!!AƒaeeE½zõèÛ·¯F|ááá(  C¡P¨ÿ¿ã\•ϲ²mUUJå2ºwßZJÌgèÜ9˜zõ–an¾Ÿ¯X¾ü8……ªeLfÀ€ï°³ûŒ:u>ÁÍm 3füJvöÝ?p¹¹ù(‹ úžÔÔ1âllVP·î2¾åäÉôû-,T±pa$^^ë01Y‚‡Ç-Š$!! …b“&…=°.•9¦¶õ)6íwo| Y ô=VVË©Wo}ûn׈/<ü Å" T„…]D¡X¤þ÷ë¯É¥Ö¿²±T¤­Dõ¸píSwM¥éÇMñZà…×/š,hBÓ›’ž“Nêߩ۴plQâ½*+rnß}*&+7‹g¿z–¯þøŠ¤I%.Drór5÷íÐB}ÁU¬e:¸t(±½s=g®ýs­Òõ©IaŠrzÚ®ªíR¬¹Csõ…h1##:7î  ¾‹R™X+Òö/·™Î;Óo}?^ßù:k~_ñ¤c5>}Km?_„&ÉW5Kò•ä«ÚHïwžgΜɢE‹4–EGGͱcÇØ¼y³zùêÕ«yíµ×4ž³OLLdñâÅ„……qäÈÌÍïþ²dffâççG|üÝ÷GÂÂÂèÕ«111ØÙÙ©—O˜0Õ«W«ŽgæÌ™?~¼Bõ©È1+ZŸÒT¤ý222ð÷÷çÒ¥Kêe?ÿü3ááᄇ‡Ó¦M› Õ·*±T¤­ªËÌ™Y´(ò¾˜¯½ŸcÇ.³ysõòÕ«OòÚkû¸çã"11‹Å‹£ »È‘##077V¯Ë̼Ÿßfâã³ÔËÂÂ.Ò«×·ÄÄŒÆÎîî·›&„²zõÝ/ â㳘9ó Çß}ÏF9fEëSšŠ´@FF.þþ[¸téîÃÏ?'žBxøó´iS¿Bõ­J,i+Q} UE_¬¿Všû/"MLK”QPrdÓín'5;•@¯@&ûM¦±ucÌŒÌP(¼·÷=¶Do)±Í½²i³®xDÕâzT¦>¥©®w÷Çî§µSkõÝ mUµ]´uïµµ"m¯4Qòõˆ¯9Ÿ~žß/þNÌÕ¶ÚFÆÍ æΡ_³~Š»²tu¾ˆš!ùªt’¯$_Ýó£L¯SU?~œE‹affÆòåËIMMåúõëlÚ´ ¶lÙÂÎ;¢ÎìäÉ“±²²bݺu¤¦¦’››ËéÓ§2d'Nœ`Ù²eû?xð ...DDDðÏ?ÿpþüyzõêÅõë× V—‹ˆˆ`õêÕXXXðå—_ríÚ5®\¹ÂªU«øþûï+T'mY™úT¥ýŠ>|~ÿýwrrr8{ö,Ï=÷999ê»ë~~~¨T* éÕ«*•Jý¯´»Í•EÛ¶ª.ǧ±hQ$ffF,_Þ‹ÔÔ׸~}›6õÃÆÆ”-[bع³hÞ»øø,&OÃÊÊ”uëz“šú¹¹Ó8}úe† iʉWY¶Ló‹–ƒ“qq± "â?üóÏëœ?ÿ ½z5âúõ[ŸU—‹ˆHeõê“XXÔáË/ûpíÚD®\™ÀªUOñý÷›wOÛcV¦>Ui¿b‡§àâRßœœ×9{v4Ï=çENN“&½Óãçוj†† zõj„J5Cý¯{wÅ¢m[‰êU|µqøFbgÅ–ú/êõ¨Jíûâ‹Lï6föÍ076G¡Pp§à¿%ý¦³:Ü«:ëSUé9éüyåOzzö,±N‚ü‚üjáLڮ߼®±,¿0ŸcIÇÔ¤V&ÖÊ´½W}/^|âEþ×÷ì³—:0ã‡dåÞýR­:Û¦6Ÿ/¢$ÉW5Gò•ä«ÚJ¯çÞÿ}&Mš„££#666¼ð ¬XQ4rÜÖ­EfnÚ´‰¼¼¼}ûvæÏŸÏ¨Q£°µµÅÁÁñãÇóî»ïV¨NÚ³2õ©JûS*•ìܹ“:P·n]¼½½Ù²e ÞÞÞ„‡‡“–V±;U‰EÛ¶ª.!!çÿ¹3“&µÃѱ.66¦¼ðB3V¬ø7æ¢÷‘6m:C^^!«W?ÅèÑ­pt¬‹‰‰!͛۲eKë–èœÙÙ™±k× Ú·wÄÜܘ&M¬Y¶¬ç¿õ»ª.·}{Ñc0óç?ɨQ-±µ5ÃÁÁœñãÛðî»+T'mY™úT¥ýŠ)•ÆìÜ9ˆœ¨[×oo¶lé·· áá—HK»Y¡úV%mÛJT¯A­a¨0ä]or2„ÔìTò ò¸öÏ5¢R¢˜»o.Ÿû¼Rûv¶(zoÍïk¸ò÷rósù3õOÆoOBF‚.«¡¦«ú|5ü«2/NJû§Õ]œ¸ý¨T*zz”¼À³2³âµ \̼Xá»/q3ï&ã¶ãäå“ÜÊ»EÜõ8¦îœJÜõ8|úªß¬L¬iûÙ?ÎfYø2þºòßþ›Üü\N¦žäµ ää‘öwZ¹ÇÓ…ê<ÿ…îI¾*ä+ÉWS¾ÒëcÛ±±Eçýû÷/±®xYq™Ó§O0bÄFŒ¡~Ô¹øŽ(h>>àãヅ……Æ2wwwþþûoõ²¸¸8z÷î]"ŽÞ½{óÎ;ïh]'mY™úܯ"íW¬mÛ¶ØÛÛk,366V?*‹ƒƒÃƒ+©£X´m«ê{ãßøJ&ñþýÝÿ-“ ÀéÓEïÁŒñ#Fü ~Ô¹èó*úÿý—u4–¹»[ð÷ßwk‰‹+:FïÞ®%âèÝÛ•wÞ9¬u´=feês¿Š´_±¶mí±·×|ÁØØ€^½“Alì üª‚®bѶ­Dõrµvå¿}þË{{ßcöO³K-3®Ó¸Jí{@ó|vô3¶ÚƶSÛÔË•&JžòzŠ}ç÷Uj¿Rõ©ª° a8[8—:?i§FøáìôüüîÅ_ñ¼©ºÔÞ¥=I7’xî«ç4–››óÁST)ÖŽ:jÝöWþ¾BÈ©–‡//Q¦¹Cs<íîΑú ãUUm>_DI’¯jŽä+ÉWµ•Þßy†ò;‰€zÀ©‚‚ÐM}*Ò~ÅNœ8ÁÕ«W5î>çååV4šsq[Ÿ¯Ý{•‰Eß<=­س'ž-4'ûñÇøË݉ôö¶`ß¾!4ÖiEÇØ»7×^ÓüÖtß¾¤Ò6©2]Ô§"íWìĉ«\½zSãîs^^!aaEõ,n ùùÚ%ýÊÄ"tãóçJDëI÷'‰UòÑÿ?§ÿYjùÖN­Y:péebdRê>´®•S+6ØTbùìž³5¦+yо{zö,sÝœÀ9Ì œSb¹6õ©IGr+zô*u}}e}V ZQê:]¶ ½'øÅà/ª%VЮíí•öLè2 ]&<°\yÇ«Éó_Tä+ÉW¥‘|%ùª"ôúÎó!C˜;w.+W®$--7n°eËõàUC‡`äÈ‘ñ /°~ýz’““¹sçiii„‡‡3yòdæÏŸ_©8ž}öYfÏžÍ×_MFFééé|ñÅÌ›7O5-Iõ©HûËÉÉaàÀDDDpóæMbbbxþù牉‰ÁÏÏOã‘_z4 IDATmNŸ>M\\\©Ó†U5}2Ä €¹s±rå ÒÒnrãF.[¶Ä¨§†:´èKŽ‘#[`ddÀ /ìaýú?INþ›;w HK»Ixø%&Ocþüß+dzÏ6`öìÃ|ýõ22rIO¿É_œbÞ¼ê$Dõ©HûËÉÉcàÀHåæÍ}¸¸ÌR§ «j,Bpà@©#nW&}óñq`út_/ŽbâÄP&N ÕX?|¸7AAEuoÒÄšU«žbüø_x啽¥îï­·JΨŽxõÕV¬]û'#Gþ¨±nØ0o¶nÁØX·ßsé¢>i¿bþþ ‰‹Ë¤cGÍÑÔ•JcõÀ^ÅzôhÄ7ßÄàé¹V½ìÀa¥Ž¸]™X„xœÌë3y}ªçË`]{˜bBèÞÔ¦X…nèõÎ3À¢E‹Ø¸q#;v¤nݺ˜ššÒ¦M–-[Vbº¢W_}•cÇŽ1|øpœ166ÆÙÙ™nݺ±råJÞ~ûíJDZzõj>úè#<<<¨S§îîî|üñÇŒWô⻵µu•êY]Ô§"íEw“:Ä€°°°@©TÒ»wo>\bŽç%K–0xð`lll´zµ¢±Ô‹ugãÆ¾tìX4ú³©©mÚÔgÙ²žkΛ÷ê«­8vì†÷ÆÙY‰±±ÎÎJºusaåÊÞ~»S¥ãX½:>z+êÔ1ÄÝÝ’?îÆ¸q­°¶.9OdUé¢>i?(º›|èÐp ðÀ¢J¥1½{»røðˆsPýx÷Ã(773³¥ èÉ÷ß×®'*«ºó_ZZ999Z•ýñG%S¦8W-±!ÕO$_ !t¥2ùÄÁÁ¥RYÙC†ÔŠÑ¶kƒµk×ríÚ5ˆ««+—/_fãÆ¬\¹’zõê¨ïÅ#líÚ?¹ví&zâêjÉåË9lÜxš•+£©W¯®úQ!„BˆÇštžÿ•™™ÉìÙ³™=»ä¼eŸ|òIU¾¡¢\™™¹Ìž}˜Ù³KÎéüÉ'=P*uûνB!„¢b¤óü¯1cÆ™™É®]»ˆÇÐÐvíÚ1}út  ïðÄ#n̘ÖdfÞf×®Xâã³04TЮ]Ñ Xx”¿!„B!Dµ’Îó¿,--™7o^µMM¥o¦¦¦Õ6‰¼¨:KKæÍócÞ |ØvjËËF©-~²@UÀ'?à‰†O¨ËwiÜCCÇ&úR4Ý=º«×uuíÊw}GÃ:ê²Ú¨®w÷žÛËÔ]Sq·qç«_akþÅ.Ä#@ò•¢4ÒyÖ±äädtsaÑèµ±×b±4µÔ˜'ÕÂÔ‚–- ‹ #¯ wõ:7¾Œü’c~ÄÛÞ[ë»&Õñadr$SvN¡PUH{—ö.QæI÷'ië\ñ/T…ú!ùJò•¥‘Î³Ž 6 __ßJÝuBˆG™™±놬SÏ›º9z³z½ÒžåAËK¼sçïîÏÉÔ“Ò¹qgõò:Pǰw îÐÕµkÕ¡4—³/SPXÀ¦ã›J-SϤž\Œ ñ‘|%ùJˆÒHçYÇ\\\pqq)¿ B<ú7ïOs‡æjþ9ilݘ)~Sh× ÆrO;O~ó3GŽp>ý<ªÜmÜyÒýÉR§ŽØb  ¬Í¬Õï ˜™òþSïs5ç*}šö©žÊi©iý¦Lñ›òÀ2÷·ƒ¢æI¾’|%DUIçYÇÊzç¹  €o¾ù†Ÿþ™´´4lllèÙ³'#GŽÄÔÔ´Ô}EGGóù矓””„³³3£GÆÏO»A&„¢&ôoÖ¿ÔåÅ£¥1Tò¤û“<éþd¹ûw³q+s?ÃÛ×>Ðjämï·½·¾ÃB”Cò•ä+!ªJ:Ï:VÚ;Ïÿüó}úô!<<\£ìÖ­[Y±b¡¡¡ØÛk>úóÓO?1gÎîܹ£^öå—_²|ùr&MšT½•B!„B¡Á@ß<Þ~ûmÂÃé_¿>‹-bÏž=|öÙg¸¹¹ñçŸ2~üøÛ|ðÁôîݛ͛7³cÇÆŽ‹B¡`Ú´iœ;wNµB!„BˆÇ—Üy®fùùù¬_¿SSSÂÃÃñòòR¯6lÞÞÞ|ÿý÷¤¥¥áàà ^׿vìØ¡þyРA8991wî\6lØÀüùók´B!„Bñ8“;ÏÕ,>>žœœzôè¡Ñq°µµeðàÁ¨T*N:¥±nôèÑ%öU¼ìþ²B!„B!ª—tž«Ynn.66¥O\_¼¼¸\1++«2ËÞºuK—! !„B!„(‡tž«™““üñ………%ÖGFFàì쬱üøñã%ÊFEEРA]‡)„B!„â¤ó\Íêׯ111Ìš5‹¼¼<T*Ÿ~ú)ûöíÃÑÑ‘6mÚhl7oÞøy6DmÐÉþ²s³ùâ·/˜¾{:¯†¼Ê{?`ìþåò òx>øy>9ô‰NŽ+„xôé:_ Q›Ég9þ<.\ÀÁÁ¯¾úªÄãØB!„¶nÜ&"9¯ú^UÞ×ñKÇ»m,™·25–GÓÝ£;«ž]…±¡1…ªB"’#°0µ¨òq…]æ+!j;é<ëÈo¼ÁĉiÚ´© è%„¢Ö˜õã,2oeâÛЗíF`efÅÙ´³|ñûü÷+ßœø†Ÿ(9p¥B!4IçYG¼¼äÛ6!„µËÕœ«Ä_Ç^iÏÆá112 ›{7X6`Ú®iüvñ7é< !„ZγBˆJÉ+Èã¥o^Â×Å—)~SØzb+Ç’ŽqãÖ Ö ]Ç;?½Àâ‹ÕÛdçfóÚŽ×P©T,¸{¥½zÝìŸfóÏíø4èÓZWS#S²r³ØvjÑ—¢É¹“ƒƒÒÞM{ÓÓ³§Æ¾ ø5þW¹xã"††xÕ÷â¹VÏáfSr<Œ“—OòíÉo¹”} ' '†µ†]]»Rã 9Âw~ÇHß‘ôiÚ§Üz™›àPÏAÝq.æjíªQæAT*ŸýŒ£‰G jÄÐ6CËÝFˆÚDòUÍç+!EÒyBQ)ÅïÇ*M”¼¼õeŽ%S¯Ë/ȧŽQBN†0«Ç,ê+ëp4é(¿_ü€ð„pžmõ,™·2Ù~j;ý›÷/÷¸ÿöüuå/­ã\4`ÎÎUªKtZ4c·åÆ­Ûmÿs;CÚ a~ßùêeÏo~ž?RþÐ(·?v?ë#Ö³bÐ ‹×m§¶ñöOoS¨*T/Ûñç¦?9½Ô8“3“‰HŽà)¯§Ê¯8PϤw"29’ý±ûÕÇÎÍÏeÍïkxªÉƒ÷u;ÿ6oîy“c~dr×ÉÒq%ÉW5Ÿ¯„xIçY!D•Š?„ÒDÉŒn3hæÐ S#SÌŒÍèêÚ•“!IÊ:JŽ$Q_ŒK:F¡ª?W¿r“CDr„ÖñÝÊ»U¥º0~ûx2s3 jDwîXšZr1ó""7r2„Î:óL‹gȹÃÀiïÒž†– ÉÍÏålÚY6Dm`î¾¹ê‹ÑËÙ—yïûª y¶Õ³ôôìIAa?ÅüTæh×CÛ ¥«kW[7ÖºNŸ ø„ÉßOfì¶±4¶nŒ•™  Üɿô'§Ñ»iï2·½öÏ5ÆmGLz KžYBÿfåw„¨Í$_Õ\¾âQ$g!„U¢BÅ×ÿ¦™C3å]]»¢P(8œpXãbÔÏÕ¥‰’ÏþˆJ¥R—èêÖµÜãÍî1›ìÛÙZÇWÞ]œòê²éø&®ß¼ÎŒn3ßy¼Fù§½Ÿ¦ÛÊnìøk‡úb4øù`~¿ø;ã²÷Ü^îÜA¥RabdÂ¥¬K\ùû ŽõÙuzw îðrû—y§×;ê}ökÖ7÷¼ÉŽ?w”ˆ¯¡eCZ6Ôº>–¦–tsïFìµX’n$‘t# €'>A[ç¶enw.ýcBÆp;ÿ6ÁÏ?°¬ ÉW5—¯„xIçY!D•x×÷.q! `mfMsûæ„'„£R©HÊL"%+…iON£žI=¾þãkbÒchfߌ#‰Gð´óÄAéPîñJ;–®”V——O°ïü>Ž&E¥RE®Åÿ»@ª€i»¦©/®Kó÷í¿q¬çȹôs i=¤D™!­‡h}1úÖž·HÎLÖXöqÿihÙBU!£¶Ž"29’~ÍúèH=“z$ÝHbcÔFFmÅ¢þ‹Øb ÆöçÒÏ1ôë¡8Y8±å…-4°l U,BÔv’¯ô›¯„xØU©ó\<·±‹‹‹®â¢ ÆòÞ¨)×9¾‰¾ƒ¨ë9–¹ÎßÝŸÏ}NLz ¤üB¡ÀÏÍS#SŒ Œ8â;£|Giu¼êx‡°Xiu¹yç&'SO–¹]£¢) wŸÞÍá„Ã4¶nÌ|þCcëÆ˜›£P(øê¯Ø{n¯ú67? Ô9•-M-µŠàTê).\»Pj̇â™É€æXòÌ2O7{ÿÏüùäÐ'%:ÏÆ†Æ’›Í?wþÑ:!j;ÉWúÍWB<ìäγxd´m뎣cÙ…Ð¥'Nè;„ZC¡P”¹ÎÏÕÏ}ΡøCD_ŠÆ»¾7¶æ¶´kÐŽ#‰GÔ£=wu-ÿH¨ÞwK«‹“…sçâiçYêvFEN‹/XW ZA3{Í;BKiv^íëÜ{:ít‰‹à?¯ü©uÌ ú-(QG«¢/µ‹ïH{Øz”ØÎÖÜ+3+.e]¢@U€¡ÂP½ÎÝÆåA˵u#‚G°vÈZÚ5h§uLBÔV’¯ô›¯„xØU©óìåå…——!!!ºŠGˆJQ(Œ=š§Ÿ~Zß¡ˆÇĤI“P*•ú£Ö{¢á˜›ñkܯœ½z–Ú½ ^ççæÇÊ£+¢‹¹N;iµÏê|‡°4½›öfcÔFvžÞÉ¢‹hdÕH½®@UÀ¾óû((,ÀÊÌ €ã)ÇÕ£ù…ù¬<º’¨”(ýú»ûÌGû?ÂÃÖC=uTÌÕ>9¨ý<­Z—¹®øqëoO~K_ï¾êNtAa¢6p5ç*Žõ5:ÎÅšÖoÊÖÿleä–‘Œüf$«ž]…Ÿ[ù$ ñ°’|UýùJˆ‡ÜyBQmŒ éàÒƒñ4:_~®~,9´„#‰GèàÒA«ù†¡zß!,M— i3„“!ôü¼'.V.ØÕµ#;7›”¬nçßf\§qôkÖîîÝùìÈg|ðˬ‹X‡µ¹5‰‰dßΦ…C N§Vï·‡GÚ5hGô¥hú¬éƒ»­;…$ÞH¤iý¦¤å¤•ˆ¥¢ó<û»ùãaëAÜõ8ú¬íƒ»;Ê:J’³’ɸ™Àè£Ëܾ‘U#¾}ñ[^Þú2c¶añ€Å<í-_RŠG“ä+Ýæ+!Eú@!DÕ½“VP ç@ÊP|jflÆ ŸP/oåÔJ}磶ßÑü_Ÿÿñv¯·±WÚ“œ™Lô¥hâ®ÇQ¨*äiï§Õó½¶qnÃO}€™±3/ròòI  ž^PâN•¡!k¯¡‡gò ó9Ÿ~ž¸ëqtiÜ…ùOÏ/- õ<ϩ٩ZÅmlhÌW#¾"Ð+…q×ã8™z’Œ›ØšÛòN¯wݾìÎ3€½ÒžÍ/l¦¥cK¦îœÊ7'¾ÑêØâáTPp7§TÉWÕ¯¶ä+!ª[uç«Ò(TÅ#TÂ!E#îÉcÛBß Ÿ~ú©<¶-jLñcÛÕ•ÿÒÒÒÈÉÉѪìÑ£fŒéLTTVV…ÕOi U…D&GbmfW}¯2Ëeåfs5scsZ9µÒXw&í ßþ¯ú^X›YWwÈeÒ¶.Å£ðfÜÌÀÆÜ† 064.QîVÞ-2P ÀÓÎcCc.f^$5;•ÖN­KܵJËIãrÖeê9àláÌíüÛœ¸|‡zêÇ#R²R¸”u‰ÆÖ8ðQirnçx#‘Ûù·±6³ÆÕÆ…æwèj‡[y·8•z …BÁ Ÿ(õQoñð ¶`É¢¢«eÿ’¯ªîaÉWBT·Êä+‡ª¼v"m !ÄCÎÅ%€ÄÄ:´m›[cÇ5PбQÇrËYšZ–Y®¹Cs]‡U)ÚÖE¡PàjíZ±Y‰º5²j¤ñþá½”ÓÞ˜™”Oeæy.¦4QÒÒ±åË<¨̌ʹj#ñpKL¬CãÆùÕ¶ÉWU÷°ä+!ª[uç«ÒÈcÛBñkØ0KËB¢£MõŠâ!w℠͚ݮ¶ýK¾BèJuç«ÒHç¹=z”9s昘¨ïP„…üýof®ïP„±ôtCNž4åÉ'oVÛ1$_ !t¡&òUi¤ó\I‡bΜ9\¼x±Äº£G2wî\é< !jÌ€9üþ»II%ßgBmlßn…Eaµ_ŒJ¾BTUMå«ûIç¹’:ÄܹsKíøWWךLñXêÞý5ÊcÙ2}‡"„xee°~½%ÆecjZ½£×J¾BTEMæ«ûIç¹téÒ…9sæHçYQc áí·¯³{·’ÈHíæBˆbŸ~jƒBãÇߨöcI¾BTEMæ«ûÕØhÛ™™™üòË/$$$`llŒ¯¯/O>ù¤z}zz:+W®ÄÖÖ–I“&il›››ËâÅ‹144dÆŒiµÏ{eggJ\\æææøøøÐ¹sgõú;vpêÔ)Þ|óMÌÍ5ßÃ)^7kÖ,LMMùꫯؿ?ëׯ'44WWWFÅÑ£Gùå—_5jT‰tRR¡¡¡¤¥¥accC÷îÝñööÖ(Jxx8ãÇÇÚښݻw‹ƒƒÄƦbßÔ?~œƒ¢R©ð÷÷§}ûö|ÿý÷œ8qB£¾÷×ÊÊŠ={öpþüyžxâ µŽ¿"myÿq-,,عs'III8;;óÌ3Ï`eeU¡ú ñ¸êÕëüünòᇶlÛv “šý6Vñp:}Ú„M›,˜7ïõêÕÌôQ’¯„•¡|u¯é<¯_¿žiÓ¦‘­±Üßߟ;v`ggGýúõIKKcΜ9¨T*&Ož¬.7qâDÖ¯_ÏêÕ«ÕgmöYlݺuLŸ>¬¬,²~~~óU±jï<ïܹ“W^y###úõëG³f͸}û6ûöíãðáüôÒKìÙ³€¥K—òÇ0}útÚ·oO§NX»v-ëׯ祗^bìØ±ÞgHH¯¾ú*íÛ·§}ûöòÇNaa!{z}äÈ‘ràÀ^~ùe5*šïAiöÙgÌŸ?…BAÿþýiÖ¬‰‰‰|ÿý÷¬]»;;;æÏŸ¯±Í¸qã022bìØ±(•J~þùgΜ9äI“8|øp¹q.]º”5kÖ`hhHPPîîîœ;wŽ•+WR¿~ý2·›0auêÔáÕW_¥AƒtîܹRñWÔĉ©S§cÇŽÅÔÔ”ÐÐPΜ9àAƒˆ‰‰ÁÖÖ¶JûâqиqË—_aôh'ÜÜl˜2%Cß! !j©[· 7ΑºuU,_~… ^U™ä+!„¶ô¯ŠU{çùí·ßÆÜÜœC‡ñÄO¨—«T*ÌŽ;ˆ‰‰ÁÛÛ›:uê‚C† aݺuLž<™Ö­[³jÕªJ²¿ i ÆIDATíówÞŠ:¯&LЈ-<<CCà ×iäÈ‘\¼x‘0zôh­îŠ~ôÑGlß¾Aƒ©—ÿþûïøûû³lÙ2Þ}÷]êÖ­«^çááÁ¾}û03+zhþüù´nÝš#GŽ……Źxñb  ¥{÷îêå;wî$((¨Ìí6lÈÁƒ©W¯žzYñ‰¿¢œœœ8|ø°º^ùùù 6Œ;v°aæOŸ^é} ñ8éÒåsç^ãÝwë““£à­·®S‰T'„x„ßÁ¹tɈmÛ.aaQó?‚ä+!DùjK¾‚jî<§¦¦ræÌ<<<øé§Ÿøé§ŸP©T¨TEïµßñŠŠR¿7Û¨Q#6oÞLß¾}éÝ»7–––lß¾]ݬÈ>•J%.\ }ûö%:Î@= |ñâERRRèÚµ«FÇ cÇŽ 2„Í›7süøqüýýÕëÞzë-u½êÔ©C@@çÎ#55õ礤$._¾L`` FÇ`àÀ´oßžÈÈÈR·9s¦Fǹ²ñWÔ[o½¥Q'###>üðCvìØÁ‘#G¤ó,D –¹y!³fÙ“˜hÌ'Ÿ\E©Ôß!Díqú´‰úζm—hÔ(O¯ñH¾B”¥¶å«jí<§§§Ç{ï½Wf¹ûßEö÷÷§qãÆ$$$„§§g¥öyýúuš6mZé:èÂE#Á¹»»—ºÞÃÀŒ ÍÇ•\\\J”U*•äå=øÄ)>fY’»ºº–ÙynÒ¤I©ûªhüåææVæ²â„Ú0 ‡† óyí5G1cÆu ú[Þ+â1••eÀ§ŸÚ°i“;çòé§Wôzç^’¯„÷ª­ùªZ;ÏÖÖÖ4oÞœ!C†”Y®}ûö?O˜0„„<<<øê«¯xî¹ç0`@…÷YüŽì¹sçʵx`«œœÁÆ€Rçr®ˆâ˜ãããK]PáQ´µ9fbbb©ëËZ¨e»_ÚÆ_Ù¶LHHнxÙ½1!*¦]»\~þù"K–Ø0{¶=ÁÁ–¼òJ&O=õÆÆ2º­ƒôtC¶o·`ýzK ˜7ïÏ=—­·wË"ùJQÛóUµvž]\\hÒ¤ ©©© <˜–-[j¬W©TüòË/ï-¯Y³† 6ðòË/³páB|||9r$ÇÇÍÍ­Bû444¤I“&DFFòÅ_¨+väȺté‚B¡PúµgÏ&Nœ¨.³oß>Ž9R¢nÅ#Eks·µQ£F4lØ#Gްk×.žyæõº¨¨(¶mÛ†™™>>>åîK[7ÆÙÙ™ÐÐP:¤1…×?üPæ]g]Ä_Ѷ,¶`Á  ~d`ØÇ̳Ï>‹={öÄÛÛSSS‰ˆˆ !![·nahhÈñãÇ™2e mÚ´á³Ï>ÃÌÌŒüýý}útÂÃÃ177WÏó\šY³f1iÒ$‚‚‚èß¿?ÞÞÞ$%%ñÝwß‘——Ç[o½U¥Á¶J3mÚ4fΜI¯^½ ÂÍÍ .°k×.ìíí¹zõ* -Ÿ‡ªHümËb©©©4kÖŒþýûcbbBXX§OŸÆÎήÌvBhÏÛûŸ~…+WŒ «Ë±cfìÚUk× ÉÉ©%_é !ªÌÀ,, qqÉ£E‹ÛŒ›I·n7ª¹”%_ ñxxØòUµwžƒ‚‚fòäÉìÝ»—½{÷ª×зo_ŒŒŒÈÌÌdðàÁ˜˜˜¨ïdtèÐ%K–0qâD&OžÌ_|¡õ>†JFF3gÎ$""‚ˆˆuYõcmÛ¶eÊ”),[¶Œ­[·ªË¼÷Þ{ÄÇǬQ¯>}úмysΜ9ÃÂ… »ó<—fâĉ¤¤¤°páBvïÞÍîÝ»»ó$ÿ÷¿ÿ­l—iÚ´iœ={–õë׳mÛ6õò &ššÊwß}§u‡½"ñW´-‹­X±‚3f°zõjõ²âyžeš*!tÇÑ1Ÿ^Èâ…²Ê/,„z$ùJQ›T{ç`Ĉƹsç(,,ÄÕÕ•N:©ÅŠŽŽfäÈ‘tïÞ]c€0@=Rvzz:iii888hµÏbãÇgøðáìÝ»—„„,--ñññ¡cÇŽå–.]ÊðáÃ9|ø0FFFôìÙ“6mÚ°cÇ<==ÕjCÑcÛ‘‘‘ìÙ³‡ØØXnß¾­œ«K—.|ðÁ%ëš?>ãÆ#44”´´4lllèÑ£‡z¤ñb˜ššâèèX¢-‹×ÙÛÛ—Û†¬[·Ž &pðàA h„ñ:дiSììì4êô ãV$þжe1///Μ9î]»HJJ¢Aƒ<óÌ3XYY•[W!„B!„¨N UñO•P<`WHHˆÎºYb@¶+V0yòd ÄŽ;ôÙ]³fÍbÁ‚DGGÓ¶mÛJíC¡Pðé§ŸòôÓOë8:!J7iÒ$”Jeµå¿´´4rrrªeßB!„#õìE•R#wž…þôìÙ“V­ZÑ®];Œ‰ŠŠRÚ5uêT=G'„B!„é>žY677?räHÃÆ³yóæS§N±õõõë±ý¢¢¢#GŽDDD¤¦¦r8}}}kkë6mÚL™2¥÷Ð !ëxׄB¡žžÞ˜1c˜………õØxiiéwß}÷èÑ£™3g:´Ž­ùûû:thË–-DdccSÖ‰¯¯¯@ ð÷÷g>ŠÅbf¡^z7hРääd  ôìÙ3555 ;;Y@!ëx×lmmµ´´TÔøÞ½{7oÞLD¡¡¡jjuIëááUO¡ÕggçüüüŠå•öúܹs«W¯&"}}ýÀÀÀjÿôÓO“““‰( `ñâÅLa«V­F]]hžu4):uÒÔÔ,++óôô¬cÊшTÚëôôôK—.‘±±qµ-¤¥¥]½z•Y6l[>`À€„ м ëhR<==“’’RRR:vìØÐ±¼;uïujj*»lffÆ.óx¼Þ½{×5>€fYÀ+ÅÅÅüñÇ¥K—RSS———–––Â$æ_~ùå÷ß¿~ýºX,¶³³óóósww 9zôhJJŠ™™ÙðáÃÇŽ+ßø“'O~þùçèèh©TÚ¶mÛqãÆ)ì]aÞö‚ ~þù礤$@н{÷iӦѢE‹ØŸä‰èäÉ“§N ÊÊÊÒÔÔ8pàÛ&[‹D¢“'O†††&''K$’–-[zyy?^OOOùCtýúõJ£"¢‚‚‚ß~ûíêÕ«éééšššÝ»w÷ññÑÑÑQ¦‚’ݯT¥SÌ?ÿüóË—/3%yyyB¡ˆúõë·lÙ²Š-,_¾<((ˆý8jÔ( ù ]»v]¿~=û±^&@ó"™,::ÚÖÖ–ˆ¸\îW_}õ÷ßïÛ·ÏÙÙYOO/%%%..n×®]ìÿœ]ºt9|øðÎ;™Á<<oÔ¨Q ,øûï¿===™:ëׯg âóùDdll¼oß¾ßÿÝÍÍmíöíÛ2™ìÆóçÏgJ´´´úõëwâĉ•+W2»°°°xøð!§|$#FŒ˜?~```=Bœ™™™L=ruu%"CCßþùèÑ£...DdffvñâŪÌ?þXmT/_¾tpp "“~ø!88xÏž=®®®:::‰‰‰ÊTP²ûLM…VÚ먨(vn†žžÞÅ‹/^¼øàÁƒJûxÿþ}ùNž<ÉÔggü<˜­\—ƒ Ðl!ë•––2)}õÕWly\\=~üXöæÅî?ÿüÃThß¾=SÒ«W/¦äÀL‰­­-S’ŸŸohhÈnÛ¶)üí·ß²™Üõ==yò„)d/|»uëÆ”ÈGòÙgŸ1…ááá@VÙEyYY™³³3S²uëV¦þùóç™]]Ý”””*Ž2Q±ž1c»abb"‡Ã‰U¦BíºÏ¦U•}ªPsòäÉÌB—.]Μ9SikçÎ{ôè‘BkìBAAÁbbb„oÚ°aƒòQ±ä:xðà²eË.\¸ðòåK›ððpkkk"ª¶Bíºÿî)s0&2€÷²bg‘‰‰‰ü*///fp”<Ç,°KªX"•J™¬#))‰Ý÷o``PE<òo¾“Ÿ*À¦F,ö¦¦f¯^½*m½J–oMWW—-Œ‹‹ËÏÏ¿ô&æ>’Q9’™8QXX¸råÊwíÚ511Q[[›ˆª­P»î¿{ÊÌw@c€¬€ØÏDTVVV¿Ë_U———3 ìëí*%‰*nBD@¡fÅ’Šä{Ƕ&߬üEsí¢ÒÔÔ =wîÜüùó½¼¼x<žL&»qãÆ¤I“~ÿýw"ª¶‚’;R&NeΚ5ëã?NKK«Ñ†õu0šd$ 9³,ÿ[u||¼P(Œˆˆ¨Kãìür"zþü¹ÂB¥²²²Ø´„­)ÚµkW‹ú÷ïÏår«`РA­[·¾ø¦¯¾úJù¨Î;÷ùçŸ0`óæÍ={öd*0/»¨¶‚*º¯©©É,07˜CLD«W¯þá‡<¸`Á‚µ©ÌÁ¬QƒÍ²rrrš7o³¼uëÖììl"‰DË—/OJJòðð¨KãíÛ·5j³|ðàA™LFD{÷î­b±XÌL7ÏÏÏgŸ »xñâŠc½”aooÏ>ÍéÀÌ%ø¯¿þÊ”Œ=zذazzz ó:˜ç2)UzzúÞ½{>Ìêêê²£¤˜T¡Ú ªè>ó¤)"ÊËË+**ºsçNhhh‹-HnØ[MGm)s0kÔ @sÑÀ³ÙÞR©tçÎöööD¤££ãááaffÖ¯_¿„„™L¶iÓ&ùùßžžžQQQ£Fb§gXZZ.X°àÈ‘#ò×н{÷þ믿d2YQQÑ´iÓÔÕÕ‰ÈÎÎÎÍÍmêÔ©l5ww÷M›6Éäâdnn>jÔ¨:0“LôôôÖ®]+•J+düøñl/*®Ý·o³êÀÌU¸µµ5óÜ^ ‹uëÖ‰Åâ*ËgŸ}æääTmTÏž=[¸p¡•••M=Z¶lIDúúú_}õÓ~µjÝý}ûöUÑk???æ.–ƒƒƒ±±±¿¿?S¢¡¡Ááp~ùå—J›½råÊ_|Á>HÀÐаOŸ>©©©u9˜ÍG&“)Ÿ¢4yÏž={þü¹†††µµ5ó»8=zôèÅ‹òÕ:tè+?ÁÐÐÐÈÈ(!!A¾š““{åZPPÀ<%ÖÅÅE[[ûÊ•+l5 ggç]»v͘1ƒˆlllŸ?ž””¤­­Ýºukv¶zÅH´´´ºwïþ¶µ¶¶¶ìŒs"JMMe^lgnnΤXU‹ŠŠ*,,”ßQ¥Q±222ËËËMMMíííÙ¹õÊT¨]÷mmmE"Q½ÎÌÌLHHH$öööL¶ÃxöìYYY™££c¥Í¶k×.999//O¾°{÷îìø¨æ 9CÖð¾P¸ìnèpÞµfÞ}€¦ ó:@µu¼üüü6oÞÌ,§¥¥ …Bv"usÐÌ»Ðäa„¨îu€j!ëÕBÖª…¬T Y¨²P-d ZÈ:@µu€j!ëÕBÖª…¬T Y¨²P-d ZÈ:@µu€j©7tФ¤§§6tPŸÌÌÌttt: hÜp¯T Y¨²P-d ZÈ:@µu€j!ëÕBÖª…¬T ï&€÷‘LF))Ïž©ççse²†Ž Qáñdzz''‘´¡cxY¼G$ üý·Nx¸v^nÆÔ‰¸_¿¢±c œœD  4w~E€ú“žž^XXX»m/\¬Ycœœ¬Ñ­[IÿþÅ:•ÚØˆõõ%jÈ>jB$â¼|É‹ã]»Æ$%iôï_´xq¶¸v š™™éèèÔoÐÜ ë€úT»¬#)Icùr“ÿÕ6¬pîÜœZÿ]2]¾¬ýý÷Ɖ‰S§æÍž£©Yãk?dPwÈ: >Õ"ë¸r…?{¶¹……xùò,RМI$œC‡ô¶l1rpíÚ•fl,©ÑæÈ: î0pÒÑ£zS§¶ìÝ»øøñçH9T„Ë•MžœwìXJNwÌËÇy 4;È: Áüý·Î’%-fÎÌݼ9½wü FÄþùÜܼ|Ê‹ÔTݼ¸×ðîàl€›Ë6­eÅß|“Ýб4/ô§ŸR32Ô¿û®ECÇͲh[¶ª©ÑæÍx*.À»giYþý÷ÿ­ÉoèX ¹À|x×?æ9¢÷ÕWÙ::xi.@à ‹ûõ+0‘H0ÈÞdð®mÜhÔ¶­häÈ‚† "##åìÛ·¯¡#¨«Å‹³ž>Õ Â#qá]@ÖïTZšzX˜ÀÏ/3È¡qéÖ­[||¼½½½*—H$³gÏn×®ÝôéÓE"‘*vP‘­­xàÀ¢Ã‡õ:huÀ;uþ¼€Ï—PÔмG>|xæÌ™’’’ÐÐлwï6t8ÐŒŒYxë–VV·¡¦Y¼S×®ñ»w/ÑÐÀÛ9^sqqä ŽoPWWß¹sgCGÍŸ/³·ÇÅñ||:hêuÀ;•žÎmÙ²¼¡£€¦#;;{ïÞ½aaaÏž=#" 777__ß>}úÏ›7­ùÝwßÝ»w/"""??ߨØxðàÁ_}õUPPÐÁƒAÇŽ-ZdggÇnr÷îÝ;wÞ¼y³¨¨ÈÂÂb„ {_µjÕþýûÙ+W®<~üx\\‡Ãqrrúè£ÆŒCD{öìY·n[mëÖ­‰‰‰ÇOMM•H$Ÿ}öÙÞ½{Ùµ;vì2d³\PP°ÿþ .$&&–””´nÝz̘1¾¾¾õx ¡™37/ÏÌÄ!¨FXÀ;UZª¦­áUP?âãã½½½wïÞÿå—_^¾|ùèÑ£öööþþþ'Nœðõõçó_ Ù·oß´iÓBBB\\\ÒÓÓ80pàÀÔÔÔÇ/]º4'''44Ôßß_"‘0õÿý÷ßñãLJ††J¥ÒƒžþøãðððyóæÍœ9“ Ž´µ¥EEx¾¨²x§d2ÂÓ« ¾|ûí·ÙÙÙDÔ·oß)S¦Ì™3§]»v+Oš4ÉÍÍÍÀÀÀËË‹))++›5k–@ 4hS’˜˜È,¯X±¢¼¼œˆ† Ò¥K==½ùóç««Wõ“°¿¿¿™™Y«V­¦M›Æ”ìÙ³G!Q!"SSS}}ýqãÆTÑ»ÔÔT":th÷îÝuuug̘¡§§GD!!!¨öø(ƒÃ!~ ÕCÖRzzú;w˜å¶mÛʯ:qâÄ| PßÒÒ’YÐÖÖfZ¶lÉåråK˜f‰èùóç L‰ ³ LLLªÉÚÚZa©T¡P­oß¾ìrTTT¥9RFFÆ7ZSSSc{TE$ïdÐ(eee±Ë Úújj¯þäqþ»ÝV±„ˆd2½|ù’-ÑÔÔd—åó“Š´´´*n’““£P­E‹ÕF›™™Y±Yù–å+¼ÿu@£$Û¡°°°~744d—KKKÙåâââ*¶bk–••±…FFF Õx<^µÈg&ò°-+“º¼?u@£dffÖ¡Cfùþýûl¹H$jß¾ý–-[êÒx«V­˜åäädf¡¨¨HþKElͤ¤$fÃáôìÙ³˜ššvéÒE¡Y©Tš’’Â,6¬Í4dÐX­[·Ž¹“vðàÁüüüôôôE‹Lš4©Ž/_¾œ™;~æÌ™7näççoݺ•™_þ6»víJOOñâû$\???{{ûÚ°nݺ–-[2DFFîÚµ+??Ÿˆ 4yòäÚ5 Ð 82<¶êOzzzÕc]¶mK÷ö®çñ0ÐlåääüòË/aaaIII‰ÄÔÔ´gÏž3gδ°° ’_Íœ93))éŸþaK¸\îñãÇG%_mÈ!;vì ¢»wïîØ±ãæÍ›ÅÅÅÌû:Ž;Æ>“ÊÞÞ>$$$!!aðàÁLÉÊ•+;&ÿ¾Ž±cÇQÅHˆ(,,Œ™^qm×®]:DDûöícÞ×QZZª¯¯Ï¾¯ƒƒ‡ÁA=™=ÛŒˆ¶oO¯¢Ž™™™ŽŽÎ»Šš&dPŸu@s#Ÿu°‰@#‚¬Þ Œ°ÕBÖª…¬ –V­Zů""¡P8wîÜŒཥÞÐ4VK–,Y²dICGÐà^¨²P-d ZÈ:@µu€j!ëÕBÖª…÷uÑ­[9D¤££>uªc­ëT„{ÐD>»z5³¡£¨Üû›‚C‡žìÝûX¾¤bðëÔB#:&Pw¸×MAFFéÂ…Q¦¦ZW® mèX½Ï±ÉëÜÙ¨sg£sç^ää”±… ÁWZ§Ë1€ú‚¬šSS­=LMµ:J¼Ï±UKEÁ7êcµ€¬šˆ‘#­:„·zŸc«–Š‚oÔÇj Y4z ÿüóœYž5Ë…Ëå°«²³ËÂÃ3RSKø|n§NF:*l›‘Qžž‘Q¦««îînìæ¦_i›OžDDdp¹œŽÚ·Wl$66ïÚµ,±Xâì¬×«—Ù©SÏž=+&¢6m lm ±Õ¨å·…÷6Û·?”ɪª ­ÍõósªºV–ýòæÍ±XÒ±£Q×®&ò«d2ºu+;..??_dk«#škiq«m¶Úï )Ì&€&"((eÛ¶Øòr)[²o_BïÞÁ$ää”Þ½›3aÂå> ÏÎ~=!áçŸ÷é|èÐÓÜܲk×2GŒ¸8oÞ ‘HªÐæ¾}ñëÖÝOO/=sæÅèÑa»w?b+Èd´lÙaÃBÏž}ž]vüxÒ¤I¿ýödç·UÇVmËÊ„÷nT ž±zõ½M›bÒÒŠoÜÈž81|Ú´«¥¥fU||Á!çç̹žP–VºfÍý~ýBbcóªn¶Úï /Üë€FÏÁAwÎט˜Ü'O ØÂ¿ÿNY½:zÄ« ÜÕÔ8D•=aÂå3®=ڇáS§ž}ÿýýaÃ,7oîÂá:õlÁ‚¨–-ùß|ÓV¾Í¬¬²½{=‰H&#_ß Û¶=üôSG 5"úý÷'‡=7ÎvíÚNÌ~OŸ~>gÎuOmÎW¦D!6%[®:¼·ŠÙ³]U}`¥ú¯¿z1wï~´~ýƒ,YÒžˆ’“ ssEgÏ04äÑ7ß´>Ÿ{äH"s+ÆÎN7  “rŸÏõön•PP1{aUû}@£†{ÐI$²‡ó¸\Ž­­Ž|¹½½Î¿ÿfOK+ÍÏq¢£_Qff©ƒƒnÅÖªý¾&@£ƒ¬š!q8‡8oŽÝ;Ö†ˆôô4ä ÕjxWX*­òÂ_¹–•¯A¼-r&Þ'’—-»kdÄ ÍŒŒ4ÙNH$Ê™7Õn+x ë€&ˆË帺êÇÆæ%&ÚÛ¿þq=!¡€ˆÚ´1àr9..z±±y“'Û³ˆèÑ£ü­Z)5DŠËå88èÆÇ$'ÉÿHŸœ\T÷øk^ýÎë¨BNލ´TÂ>–ª¬LòâE Ÿ¯nm-JeË—ßQSãüóOö~Ⱦ}ñááok­ÚïK•]€wó: iš>Ý™ˆvîŒcïÕýû¹U7Xí÷7  ¡c€¦£¨¨H$UQaÛ6£¡C‹œœªªSS ¿ýö422ëåKåç‹u]\ôtt4H MKH(øë¯ä¸»ïÜÙM[[ˆœœôôõy»v= M/ K_¹òž®®úÖ­]55¹ii%¿ü’À¶IDVV‚mÛFFf¥¦–Qa¡ØÅE¿];×/EGŽ<ý÷ßÌøøü£G“ââòLL´ÒÒJfÍr­46ueZ®:¼z·ß¨È™3:Däí]ÕMZWE€já¿rh"|}-J¦Nu1Âêòåô´´Ò–-ùS¦8vìøÆ[ç¦Lq6ÌòòåŒÔÔ==aÃ,;u2ªºM//S//Sö#‡CÆ·½v-«¼\Ú«—™——騱—Ø¡Gok§Ú–• O&N´W(©êĉö::êS§:Þ¸‘ýÒȈçççÔ­Ûë;ãÆÙöêežž•%Ò×ט0Á.;»ìòåôª›­öû€Æ‹#«úq'5‘žž^XXXEGG‡mÛÒ½½«ªÓˆKþø#ñ“O؉DÖ½ûikkÁŸ ..eÍžmFDÛ·§WQÇÌÌLGG§Š Õ¼€Ú+*¯^ýàÁëI ü‘øò¥hüx»Œ à}ƒVµ'h¸»ôQøÐ¡–凇g|ò‰ÃØ4thïdµ§­Í=r¤w\\þƒ¹¥ýû·\º´½Â«îY@]¹¸è¹¸è5tï/ÌëÕBÖª…¬T Y¨²P-d ZÈ:@µð¾¥\½š¹}ûC"âñÔöï÷jèpê_QQù¡COoÞÌ–J©CÃ>²30à5tPÐDà^€RœõæÎu+**¿~=«¾Ú”Hd‹ßÚµëQ}5Xk™™¥#F\<~<ÉÇÇrôhë>>ž=+n踠‰¨ñ½Ž?þøCq@ƒ³²²êÑ£GCGñþ26Ö46ÖÔ×רÇ6óòDý•ܪ•¶¿¿s=6[ ‹ßNO/=~ ™™õèa2`À¹ùó¯?.lØÀ i¨qÖ1~üxUÄ nìØ±ÇŽkè(š##Ísçiks6ŒÇó/^L1ŠI9ˆH_Ÿ7|¸Õ¯¿&ܸ‘Õ¥‹IÆM@mæu=zôƒ>¨÷P 7®¡Ch¦¬¬´: K'¢Îä =<Œý5áâÅtdPw˜MM„LF¡¡içϧ¦¦kÚÛënee¥•½ys Sgß>ÏãÇ“.]ÊÐÐà…æcÇÚ”—Kx™¥­ÍíÛ×|Ä+ù6KK%‡?½v-S"¡6mô?ýÔQ~í?ÿ¤üþûS"22â­YÓùÀ„èè\‰DÚ¡ƒáÇ;0S±å÷¾w¯ç_%_¹’‘›+’ÉhÚ4§Ÿ~̬úõW/ µŠáó¹;}ð­¡aU»'OŽHdUT00àýðC··­‹Ë#"++|a«VÚDôèQ~Í( Y4åå²/¾ˆ¼x1í“Ot())?v,iëÖ˜ <úô1›;×móæ˜›7³—-»ëì¬7a‚í¹s/-º•”T”œ\Ø©“чÚœ>ý|ᨂñ¤IöL›EEå&\Ž‹ËŸ>Ý©S'£””âÏ>»"KÙvîllb¢µhÑ!|L^ IDAT­Gò?ùäßAƒ,&L°MH(رãáñãÉGŽô²°ÐvpÐe÷>{öõöí dz‰‹Ëß°áÁÊ•ÙUR©¬bG pÈÌ,ý駸={ïÙÓ£C£JzNDD³g»ÊªJ:ˆMi*•“#""]Ý7¦¬èè¨ÑË—¢ª<€2u@SðÃqçϧ~ýu›éÓ_MË2¤Õˆ_¾,34äuëfÂÜ+èÜÙhüx["êÓÇ,<{u‹£sgã‘#/òx¯®à[¶ä·lÉÔ““‹Ö­ë<`@K"êÛ×ÜÁAwÚ´«Ë—ßýùçò{ïßß|Â;" ÍÝÝmlttnb0ùòË6ìüòZöí2sfä… ƒ´´*ŸÒµkA•—K‰HíÍÄD]]ˆD"I]Z`àɹÐ;–HDcÆØ°%\.gÇŽ®C‡¶’¯Ö»·³ ¦Æ±±Ñ!¢Þ½MÙú66‚/JØÊÿüóœˆFz=æªm[[[Š{WWçôëgÎ~ìÛ×ÜÀ€wéRzAX¾Z¿~-ÙecuuÎÛ:2vì뎘˜höécšž^zùrzå¯3@ˆD¢7n—”–JˆHG§>ŸÙÍîu4&ÑÑÑýõ—B¡µµõÔ©S$žº c?úûû›››¿½:@åÊËe©©%<žš±±¦|yÅ ÁÈèõ —ËÑ×—/QcÚ‹¥¥<žš‘Ñmš›ó_¼P|‹…‘‘¦šG¡Zn®èÅ‹—×WíÕ\Á³11yc§ÚD”œ\ô¶ ë8¯ÃÒR›ˆ23Kå ³²ÊØUu„¬£ñ ºyó&q8œeË–5t8uUXX¸iÓ&fyäÈ‘È: ¸\ކ†šX,‰¤ìð§:RWWSWçˆÅR±X*?)¢ÒG%%Š………b"ÒÖ®Ùÿ±oëÓŸÿÖìÖq^‡»»É¾} å{{¿¾5ÄÌ#ïÔé­“I”‡¬£1iß¾}ûöíÓÒÒ˜¬CMM-  ¡ƒª¡PèêêÊfµÃáP·n&ÑÑ/=<ŒÙò•+£ÍÍùÓ¦9Õ®ÍNŒnÜȾ?—½ò./—=yRX±rAøÅ‹bæŽee•¥¥•˜šjÕôFÛ‘»wsäŸW{ï^.‡CÝ»·xÛ†uœ×ѧ™ïÂ…ÔyóÜØÂ Rù|î!ui€yÐ,\ØZS“»ví½œœ2¦äôéç‡?­Ë»&æÌqSSã¬[w??_LDR©lÓ¦EEåkjjr¿ÿþ3B,–®Z]^.ûâ WN%7”ìÈ}¶#{ö<ŽÍûðC;ÝZ÷¥j|>÷ÛoÛÆÆæíߟÀ”>»z5sî\7…fµƒ{дkgxð`ÏåËïôîìà [P ‹¥[¶téØÑ0>¾`Ù²;Ìx¡O>¹2z´µ»»Ñ’%wââò%Ùĉá~hëâ¢ÿ¿ÿÝÍ++“Nœ>fŒõ˜16=z´Ø²Åãÿ‹öò:ãà ›]6|¸U—.ÆW¯fNœÞ·¯9{ÅÀ@cР–ƒŸ72ÒLN.‰¤ß|ÓvâD;"RØ;‡C‡õb¶b^åÁ®êÕËtæL…Ždf–•Ï™ã6k–‹JàØ±6"‘tÓ¦˜C‡žª«sRRоü²µŸ_mnT„¬£){üøqxxxzz:Çsuuíß¿¿–––|‰Drþüùèèh©TÚ¶mÛž={nÙ²…]ëáááëë[mSAAAQQQìV_ýõÝ»w###ËÊÊìí퇮©©YÅN;v쨪þC3Ó¹³Ñß÷{ñ¢8-­ÔÐgm-àr9DdnΟ;÷õÀ¡V­´ yò%VVÚººoÖá3 >>–ƒ·zô(_,–ØÛëêêjÄÆæ1·>Z´xãÄöñ±8Ðâñãüòr©³³ŸÿêW…½Ëc^åÁ~dgËw„Ïç::êV=+£¾Lœh7v¬M||T*spÐa»Pwø£Ò4åääL:500P L:õÞ½{_~ù¥¹¹ùÈÔ‰>|xll¬ššÚäÉ“–.]zûömfí矮|S/^¼øù矙åððp{{{‰Dò믿J¥RGGÇÈÈH##£*vúîŽ 4Úìü †ŽŽz·nŠã¬”)a¨«sZ·Ög?º¹éWZˆx<µ6m  +Ý;ƒy•ÇÛZ«Ø‘w€ÇS“ï,@}Á¼Ž¦iôèÑD´bÅŠmÛ¶?¾eË–iii#FŒxøð!I$’‘#GÆÆÆÑ×_½ÿþÝ»wøá‡l þþþÌŽj›òõõ>}:»áðáÃþùç_~ùeÈ!DÏÞ?©v§Ð$!ëh‚""".]ºÄ,{xx—Ëíܹ3•””lܸ‘ˆÂ™LÖ¶mÛï¾ûÎÖÖ–YËÞÇP¦) ‹åË—W †yx®¼Š;ݰaƒü«  éáÈOVjçèÑ£|ðŠ‚w&$$D"‘ :”-¹qãF×®]‰H deeÕt4jãÆ#¢cÇŽÕ±ôôôÂÂÂ**8::lÛ–îí]UxgfÏ6#¢íÛÓ«¨cff¦££ó®"‚¦ ó:š¯¹sç±%¿þú+³0þ|¤P_0ªùêѣǟþÙ®];___ ÈÈÈÿý—ÏçóÍ7Ë–-kèè éÀ½Žæk̘1Ož<9räHçÎG}êÔ©ôôôåË—ãe¥8:žpt<Ѻu`CÇR‰={3áyyiÎ1Tª¼\¶o_ˆÛ·?Õµëé©S¯„†¦½m|ñôéWOìÜÇ–Ô¨_QQÙŽŽ'"#_?<,,mÀ€s..'ß¶IllžŸßÕN‚Ú·?õñÇ7of×®N¥ê¸÷¼<Ñ¡CO'MŠpwÿ§M›Sýû‡,X›WÅë÷¢ã5í8À{ YG³ÆápºvíúÉ'Ÿ,^¼xÁ‚Æ ÓÕÕmè ÞS¾¾–ññ£<=[Ôc›ÅÅ’þýC¦M»Z÷¦üüœâãG¹¹éW_Ue*¡ûX;%%’I“Âÿü3iÉ’öׯûœ<)ÔÖæNŸ~õñãüŠ•OœH MS(¬Ñ±½p!ÕÀ€çáaLDÉÉEÓ§_ݸ1&+«ômõïÞ}9nÜ%@=8xÀ¥KC¬¬'†GDdÔ´NEõ²÷uëîÿïw hyölÿ¨(ïuë:ÇÄäŽyñܹÔJ¬ßˆŽ×¨ãï9d F&“I¥2©´fOõh\*íc»v§Æ¿ünX·îþÇyû÷{uéb¬¥Åµ°ÐÞ°ÁƒÇ«äÏ_FFéªU÷FŽ´ªËîΟO ͸\mÙÓ¹³Q``_ òñÌR©ìÛooééi|ÿ}gSS-CCÞŠmlt-º%I•¯S©zÙ;góÉ'-Zhñùê]º˜lÙÒE"‘}ÿýýŠ ÖïDÇkÚq€÷²€#¨_¼8xï^φD…¶YYeGŽ<1ÂÚÄD“-äó¹11#œõ*/^|{èP‹^½Ìj½»„„‚§O  hÉ|\»¶³¿¿ “TêÆìÇó‡ i¥¥ÅeJ¸\ޝo«ÔÔ’ÐÐTåëTª^ö¾vmçU«:Éo忦¯¥ÅMN.ª8D­~ :^ÓŽ¼çu@“uáBªD"sw7ª¶æ±c‰ç/ZÔ®.»;>•ÇSëÝÛœùÈ^5¾ÍÕ«™DÔ®|a»v†Dtõj–òu*U/{¯¨¤DRZ*qvÖS˜Xï¯Qxï?<à šˆÜ\ÑÎÏŸOMK+52â98èŽaåãcž1cÆ5¦Î¥Kƒ¿ÿþ~XXÇíÓÇlÙ²öâ+î]»–!hôíköÝwíåGe$$lØðàÚµL‰„Ú´ÑÿòË6ò{ܳçñºu÷‰ÈÌLëÇ»oØðàîÝ©”:t0\° µ»»1;—Êî=$dÀ–-±W¯fææŠˆh͚΋ßbV=x0\S“«Ð‘ÔÔmmõަOwêÞ½óI Ö®½•U^.“†ˆD"é?Ä>ýüÅ‹bMM®»»ñøñ¶ìˆ *Ö*ÓÙŠä»Ïô‘mçæÍlGÇDÄårââF¾­/..'%’ªF ™˜h^»æý¶µä‘¾>oÍš{§O?ÏÊ*55åÐrÎW[--­díÚû;wv{Û˜Ï.Œb?^½:´E -"ºp!µGÚÚÕ\õ² ˆÈÜœ/_È||ú´@ù:µS»–OŸN!¢™3]ä UqÑñ…ðþýh 23KG޼ô|éÒöQQ>ýºukñÍ7·~:p`ËøøQÌÐ…5kîMŸîé³dIûÀÀg D­Zuoþ|·k×|æÌqý㤭[cØ6“’ŠÆ»tïÞË;ºEFzÿïwìx˜œ\ÌV`§Šæç‹W®Œ^° ud¤ÏáýòòÄ“&E\¿žEDò{_²äΤIöááƒÿüSÈåräW)täï¿S–.måûçŸB>Ÿ;yrÄ$)y(Š‹%Ë—ß1ÃùÊo…`ˆ( àί¿&,[Ö>*Ê'8x€½½ÎçŸ_ŠÊ®v­2­¨b™vø|®»»q|ü¨øøQU¤D7’©ö¶U¤D”‘QJDß~{+;»ìðáÞׯûÌŸïvìXâ¸q— ÄlµE‹n fÙ£‡²©¯¯åÔ©Ž={šÞ¼é?йpÌÎ.»sç¥ÂZ5&mí7.X™yybåëѤIÿܹó²~÷® +«lÆ|`ãíÝJ¾\°á)©Ùv a!뀦`ãÆ˜””â¥KÛ÷ë×R P71Ñœ5Ë¥woÅaÖãÆÙ´mkÀçsGŽ´rrÒ»t)ý³ÏœÜÜôµµ¹&ØYZj_º”!׿ƒü|ñÒ¥í{ö4ÕÖæº¸è­_ïž‘QRqï%%’+:vêdÄçsÛµ3Ü´ÉC,–®\­PíóÏ»u3áóÕ;t0Œ‹ihÈ«ØÓ‘%KÚ÷ë×RGGÝÎNgË–.-Zh­Xq7+«L™CQP þòË6îîÆÚÚ•såJ¦““nÏž¦ZZ\Ío¿mkg÷ú}ÃU¯­Qgßee"ÒÔT[¿ÞÝÊJ[OOcÔ(ë3\ž>-Ü»7ž©sôhbbbá·ß*;B&?_ìçwE*•íÝ멯ÿúK M“Édýû× ë¨”L&#¢ª`^±ŽT*“É^•«hï¹¹¢O?ý·[·+W¾1áá]@eNí4ÛŽ¼3È: ) yAD}ú¼‘füò‹ç§Ÿ:Ê—0c£ffZDÔ¶íë‡Zš›óÓÓ_'—/§;FŸˆLMµ*^…ŸÏ•8¦‹‹ž©©VllóC;«Cà ›VÞ‘¾}_ï”ÇSóôlQZ* O¯vs"ÒÔäÊïH!˜>}ÌoÝÊùî»Ûwî¼dF.;7°[7¦rÕkkÔÙ÷ó ±——©üÜâ~ý̉(<<ƒˆ^¼(^·îþ÷ß»óùJ ‹zò¤`̘055Î’%íæ+Ÿ;÷¢];CSS-åÃÓÕÕ ¢âârùÂ’ ééi(_‡ˆêuó¦O§NÕÏ`©ÑÞåË?ùä_''½Í›=ä;®ºX£ðj¤Ùv aÕf^ÇøñãÇ_ï¡@ò´´lèjI$’ˆ55¹Õ­ÖÑy]Ã!.—Ãç¿.QSã°x‰¤EEåšš\…1úÆÆšOŸ*4[ñRÀØX3#£4;»Lþ´Ú«“·uÄÄD‹ˆ23•º¬70ÐPøAT>˜€€:ýõWÒäÉDäáa4a‚Ý ALͪ×Ö¨³õ¥Žó:ZµÒ&"CCMùBccM"ÊÎ.%¢Ðд‚ñĉá nÙ³eK ]¸0ÈÆFÀæç—Ϙinοt)=0ðÙˆ¯Ÿ”ZRR~åJ¦Â ÿj98èQZÚ7ИvvºÊשå[–Hd_|if¦µaƒ»Â³ê :^mxKm²oooggçzÞg[·níÔ©SŸ>}:P•þù§ñf<žš®®FA¸¨¨\É9Ê´)¨•Käf"¸‚Ü\±LöÆà‡ìì2úïê¶F;­´#ÌËΘ!àÕ’Ÿ®P1‡FŽ´9Òª¼\víZæž=gÎŒ\¼¸ÝÔ©ŽÕ®­ÇÎ*?P¤êYÕòð0þå—x…qqLÀ̳t'M²Ÿ4É^~-3ßwþüÖ³f)¦\.8ÐSWWcܸ°Å‹oÛÙé´oÿê¶Ò¿ÿf––Jj4©ƒˆºw7Ù±ƒîßÏ5Êš-¼?—ˆzô0Q¾Ní(ßò’%wD"é?z²WÞýú…lÞÜ¥cGCÕ@t¼Þ;аjóçyÊ”)|ðA½‡ï³­[·öéÓgË–- ¨JJJJC‡P'ƒYüùgRXXšÏëÜiذÐîÝ[|÷]-ŸhÙ§ÙéÓÏ/_N2äÕý/_Šž>-ªX³¬LӡëÁ-qqù¥nnúµøíŸéÈÅ‹i¾¾¯:"I¯\ÉÔÒâ*ù6€âbIll;J!˜N‚Žïãà «®ÎéÙÓÔÃø]»S/¦1yEÕkë±³|¾ºXüê}gžûì3§?´U~så …æffZ—/§—•Iا„1ï8ТÊM+!¨3ó~ú©û¨Qaþþ×NžìËtüüùT++íŠï©Z×®&ŽŽºgÎ<ÿúë6Lx‰,((¥eK>;ÊN™:µ£dËÛ¶=|ô(ïàÁ^•¾Z±FjtÑñzï8@üh ¾ü²µ¥¥öêÕ÷.^L+**OK+Y¾ünffé§Ÿ:Ô¡Í6¼•+ïFDdKâã ,¸QéCQuu56mй};§¤DrïÞË… £44Ô–.m_뎬ZšZTTþôiáüù723K—.m/ÿž»*ðùÜÿýïîÝ»/ßÌÒ¥w>̉¤ÙÙe»w?’ÉHþ -\¿þþÕ«™åå2gg½Ù³]÷í‹¿r%“ˆÆ³Y»¶3 š“Svà@ÏU«¢oÝÊ‘HdíÛ.\øê {'¢øøQÌ‚ü»,ˆhÄ«M›<:Âç«wìh8}ºsµæTxŸÆúõ¢£s¤R’†ˆbcózzýzÖ‹%ššj¶¶‚>°7ΆòTõÚj;ËÆÀêví +íã“'ß}wçþý—<—>²«ºwutûvζm±wî¼,-•X[ ||ZMŸî\ñ]rK—Þ9|ø©|I¯^¦ûöy¥Ì›wƒ-üî»v:Ë­––‚””¢ßï¥0ó>44uúôkô¦5k:ð|ILLÞ¦MnÞÌ–Je:Í›çVñý'ÕÖ™0!üÑ£ü={z°ÊëeïÓ¦]½x1*sü¸°cÇ7PïP™ŽOžq÷nÎíÛÃØAPͤãõhöl3"Ú¾½ªçU˜™™éèTò, å!ë¥ ëhòš@ÖÑP˜ ñÿÚм ͪ³ÊûþûûÇŽ%EFz+L8%Õúæç‹==Ï n¹fMgŦRïÉ™ƒ¬Þ Œ°¨“óçSûô1CÊQkµ;€2­XqWGG}þüÖ* LÕpæ@³R?{h¶ÎØÐ!4nµ;€YY¥Ïž<ØSÉÇ»½‡pæ@³‚¬ã]8zôè?þHD-Z´¨ûh¬Ž¥$"jÑ‚p4 òÓOÌœé²`jsut<ñ¶Uì\y÷¨Z‹ZGönè(@YÈ:jC&“Í;WOOoÕªUÊÔ÷ôô433óóó‹WulðîÈd4w.éé‘r§yz’™ùùNƒ¦ÂÏÏÉÏÏé]þî½ûÎ@S‚yµQZZºwïÞÝ»w+YßÊÊJ(bVSSZJ{÷’Ò§YY‘PH8  ùÁ½ŽÚàóù111 4(>Ÿbb§@uuÔ’Mõ• ÉÃi „F™uDDD,Y²„Y>sæÌþýûƒƒƒ¹\n=fÏž­©©IDÜ»w/µk×nûöíDtýúõ¯¿þšˆôõõÚ9{öì¾}ûNŸ>Íãñ¼½½§N*‹·oߦ££ãëëûÑG15¯^½ºhÑ"f9$$„Çã1Ë2™ìï¿ÿ |öì™@ èÞ½ûgŸ}fb¢øÞŸ’’’;vDDDˆÅânݺ͞=ÛÈȈ]úÇ$''kiiyyy}üñÇ-ZTój°&bölºwïÕòÀôÝw´p!ݼùª$(¨’Iôß×GgÎÐþýL\.õèA³g“¦&ÑÁƒ´w/Q»v´};Ñõëôõ×DDúú¨ØÎÙ³´o>M<y{ÓÔ©$ÓöíF::äëKÿtõ*ýwPHýwLFÿMôì Ô½;}öU8 ¨¤„vì ˆ‹©[7š=›äN ¥?þ ädÒÒ"//úøcj&§4Qr^‡««k@@@yyù¥K—üýýsss§M›æææöõ×_òÉ'LÞ½{DFFÞ¾}›)qtt HMMý÷ß+¶3cÆŒââb###??¿Å‹Ož<™Ëå~þùç“&MÚ¹s'³•³³3»•T*e Åbñ¨Q£FmhhøÅ_ :t÷îÝnnnׯ_—\,>\$M›6­_¿~›7oîÔ©Srr2³vóæÍƒ 266ž={öøñã---o²WÞMÛÔ©4j]ºD/_ÒèÑDDL¥¥Ô¦ VeOEtu¥€*/§K—ÈߟrsiÚ4rs£¯¿¦ÿNêÝ›(2’þ; ÈÑ‘(5•þ; ÞhgÆ *.&22"??Z¼˜&O&.—>ÿœ44hÒ$úï4 gç×[ýwXL£FÑèÑdhH_|AC‡ÒîÝäæFož$Óðá$Ñ´iÔ¯mÞL:ѧmÞLƒ‘±1ÍžMãÇS` YZR39  ‰j”÷:LLL„B!sÁÓÓóóÏ?'"Ÿk×®9rdÏž=ÀÆÆÆÆÆ†Ëå²[ …B]]ÝìììJÛ™6m :488xݺu‡š0a 2äìÙ³{öì™5k³[±V¯^¸fÍö6Ȉ#ìííGýøñc>ŸÏfddøùù?žˆ|}}ÝÜÜ|}}gΜDD?ýô“§§çêÕ«™ÊÇ·µµ-((PÙ|ŸtêD:Qj*}ÿ=8Anntù2Ò¶m$÷%¾ÁÄ„„ÂW·<=éóωˆ||èÚ5:r„öì!€llÈÆæŒŒH($]]úï4PlgÚ4"¢¡C)8˜Ö­£C‡hÂ"¢!CèìYÚ³‡fÍ""26~½kõj ¤5k^ß1‚ìíiôhzü˜þ; (#ƒüühüx""__rs#__š9“‚‚ˆˆ~ú‰<=é¿Ó€†'[[j&§4Qò^‡¼¡C‡²Ë®®®D”””T‹v† Â,¨©©9::Ê—¨««;::VÝì/¿üBDS§NeKÌÌ̼½½Ÿ?~öìY¶ËåŽ3†ýèããcdþra IDATdtæÌ™¼¼<"²³³‹ŠŠ:tèH$"">ŸܱcÇZt§±Z³†¼½iÉZ¼˜ví¢Ã‡ßšr(; ÈÕ•ˆ¨V§ý÷¥“š9:¾Q¢®NŽŽÕ4ûË/DDr§™™‘·7=Nr§q¹$wÑ™3”—GDdgGQQtè‰DDD|>S³:  ÉiôY‡©©)»Ì<š–¹d¯)ùé<ËåÊ—TѬX,~ö왦¦¦™™™|¹µµ5%$$ÈG«®þÆý%KKK©TÊ ²:xðà„ ¦OŸÞ¢E‹Áƒ¯[·ÎÄÄÄÀÀ Ýi¬ÔÔèÐ!rr¢µkiõjR¾ïr§Á« µ: Þ˜>Áã—Kr§ñxU5+Ó³g¤©IoždmMD$w©)½y¥%I¥¯Yíááñÿ÷...ò·Jš…¼<‹ÉÐ.¤œœúi“á7ORÁi@êê¯Ò…o9?ŸˆHî4P¬@ôjS§E Ú»—²³éôiòð ÿû?rq¡æv¼—=Êß¶í¡Pܺu`=6øìêÕÌzl°R·nålÛö°{÷Ó^^gT½/U‹Ž~9fL˜£ã —“  («‰g†††YYYìÇÒÒÒÚ¿ª‡ÃéÓ§L&S˜;~ãÆ ‡# Ù’œœœ´´4öczzzJJJË–-íììˆÈ××7--MSSÓËËkõêÕ·nÝ*))Ùºuk½üþ*.¦‘#iãÆWOp7ŽÊËë¡YCC’; ¨´´–㯪ÆáPŸ>$“)οqƒ8’; ('‡äNJO§”jÙ’ì숈|})-45ÉË‹V¯¦[·¨¤„šÕið¾rvÖ›3ÇÕÚZP}U¥ed”.\µpaT=¶Y©ÎæÌqmÑ¢²34*?üçïmêTG3³F߀f¥‰g?ŽŠzõ}ÅŠ\%ç ÔК5k´´´.\˜™ùê7Ë7Þ½{wúôénnnl5uuõùóç—––‘H$š7ožX,^¶l‡Ã!¢ˆˆˆuëÖ•ÿw#“ɘaZÍÅ'ŸÐðá4z4 @›6Qh(-XPÍzxÐãÇôßi@+V(;]¤¦Ö¬!--Z¸þ; hãFº{—¦O'¹Ó€ÔÕiþ|*-%"‰hÞ<‹iÙ2âpˆˆ""hݺ×éVL ÉdÔ¬NƒæÄÔTkãF=:FÃÚZpöìˆj¦Qf111B¡0""‚ˆ ļ—C(:tˆˆüüüØI­]»ÖÕÕµgÏž®®®¶¶¶NNNyyyB¡p÷îÝÛ‰‹‹ …ׯ_—H$Lƒ÷îÝ …wîÜ))) …û÷ï¯4$ .ˆÅbww÷V­Z­X±bùòåÌóv=* ãããÍÌÌúôéãääÔ¥KssóS§N­_¿ÞßߟidÍš5ÁÁÁ=zôhݺµÏG}´~ýz•Ð÷ÁÿýuéBÇÓÅ‹ôô)ååÑ_‘†mßN^^tð`%›ÄÄPHDDƒ½z/‡PH‡ùù½~ÔÚµäêJ={’‡¹º’­-99Q^ …´{w%íÄÅ‘PHׯ“DòªÁ{÷H(¤;w¨¤„„BzËi@tá‰ÅdcCîîÔª­XAË—¿zÞîÑ£$R|<™™QŸ>ääD]º¹9:Eë×Ó§­YCÁÁdaA=zPëÖäãC}DÍä4h–FŽ´òôÄûX”åëk©§§ÑÐQ@5Ê'çZZZ°™×„Ë—3 ...÷ïßOHHÈÍÍussÓÕÕuwwg¦RX[[›˜˜(´£Pboo¯¯¯/_bkk+‰šÚë´ÍÓÓóöíÛÉÉÉ)))ÚÚÚ­[·f_ èééÉL4×ÔÔìѣǔ)Sbbb$IÛ¶mµµµÙfΜ9sæÌŒŒŒ¤¤$---[[[]]ÝÚ¢ÆÇÛ›:txµljJ<ÉöWCXZ¾Q‡yM¸|ɧ¹¸Ðýû”@¹¹äæFººäîþj*…µ5™˜(¶£PboOúúo”¼yÜi@žžtû6%'SJ ikSëÖ¯_ èéùj¢¹¦&õèAS¦PL I$Ô¶-É4s&ÍœI””DZZdkKÍç4¨³ìì²ððŒ´´##M{{wwc‡ þùç9SaÖ,—„„‚ðð N¯^fvv:Dtÿ~ndd–¶6×ËË´âªØØ¼kײÊË¥mÚôèñFzpëVNDDéè¨OêxãFVtt®D"íØÑ¨k×WOU®¸÷k×2ssEDœþýÍ/\HcWq¹…ޤ¦–ðùÜNŒ:t0$¥UzÞF&£[·²ãâòóóE¶¶:B¡¹–Öw Ä—.¥¿xQ¬©Éuw7nÛÖ@ùµmßþP&«ª‚¶6×ÏÏ©Ú>@£Ó(³===ùÉŒŠ% .—ëììÌ~tww¯z«*J>ýôÓ 60ËÙÙÙfffl^Á²¶¶®8&ÊÊÊÊÊÊŠýÈçóÂgjj*ÿ`®æÂɉœÞ¼ÔxËúšž^%uÞ¶—Kr§)eÚaK>ý”þ; (;›Į̀Âi@ÖÖ•Œ‰²²"¹Ó€ø|Å0䙚R3< êfß¾„¸¸èyx¿xQ¼eKŒ¦¦Úºu™É AA)OžêׯgÚÙéFDd¬^}oóf„„ÂØØ\kkAXXúªU÷~þ¹{çA&£åËï:ôÔÝݸcGÃßrà@‚D¢xÕ|èÐ55ÎÝ»/óòD®®ú ë×?øöî3*Фkðm†4äœA² ‚"AT0gW_1/*fÚWqÍa1¯9‹¸æ€Š`@Q‘(J%眙ðýh¿v`$Þçxö0ÕÕU·ª]ìšêªvtT9x°/uOÖ^[ËŒˆ(25•IH({ö,›¬ˆ<4¾õü'ÕÞ½åòókv°óöî+//ÒâN°±i`:%1±lñâ·ååu#F¨3™ìË—?ÿýwÔ©SvÆÆÒd†W¯r.|Ó£‡Œ¥¥|yyåÁƒ±jjôC‡¬É±ï£!„§ŸrÔÑQBBBnÞ¼9oÞ¼ÔÔÔ3fttD¨#„„ÀÍ›0o¤¦BHà_ƒÎáîÝômÛ¢&LÐÚ½»7ùÕþ²e=F~Sbc£èînôéSqrrYQQíñã¶PUÅì×ïᆠsæè=j‹õë÷ðСXjÔqéRòåË)NNÚ;vX)·n¥­Z*(øuîÀÒRÎÒRîɓ̘˜##é… ¿Žlÿý7~÷î{÷~ܰÁLOO’ª½ºšyñ¢=°ÙpäHœ‰‰tŸ>òä!®†Œ¯¹gOoÞ¿/pqy±páŸÜ?+«ŠWð>Ú ¥Kx5!„P×õS®ëè( ,X±bEŸ>}ÌÌÌwíÚÕÑ¡Ž°`¬X}ú€™8:þ5èþý7-êNÝ—ËÊ {zš[XÈsf›8ñëtN34”*+«srÒ&S¤¤„ôô$9.$À‚ßfÉÆ×TPh` à÷ßõ¨³féÑé´«W?×Ö~·eóŒzTþÅ‹»Óé |ïC6dñâîäúô‘·³S + ɯŸ¿@ÑÑ‘ôô4'‡@§ÓFROJ*£:ÅbçåÕdfV’ÕÔÄ6l0SW§ós!„â„sͰdÉ’%K–tt¨£-Yø× “a2Ù±±%4Ñ­Ûwß²¦Æ•SUõÛ:& @()}Û€ULL°¢‚A•™œ\F£ššßN!ÐÒ/.æ~Y¤¼¼çršššXRRYjj…¾þ·e9MnöJ5D[[‚3]WWâÕ«ÜK¨å"<Îm²(::JJ¢~~ÙÙÕ¥¥µDTTäåUëéIÀÖ­Ë—‡ üØÖVÑÚZÑÆFÑÙY›:÷ÑẄúeá\Bè"ðýï<‚ÞÏ,5TB'p½…’³|›ç {óݼ™jcópÇŽè””2ÎÁµvÅÜ\Öߨŋý­¬²&Mz6vl@jj?GB!N8×úéÑh„‘‘tLLÉ—/ä¶T¤;wÒ„…i#F4úe?ï2õô$ËRS+8g22*ëg.,¬©¨`ˆ‹ýZSÃÌ̬¢Ó›»®šjÈçÏ庺ß&I’’ÊÀÄ„×QÍ틽iS„€qÿþ` ‰¯‘Ÿ9“øòe.•çØ±¸™3õûô‘ïÓG~Ñ¢îoÞäMŸ´{÷ÇC‡ú6y´A¸®!„~Y8×ê ÜÜ àÈ‘8ê;ûÏŸËׯg0™†àÃŒºpüx•âç—Ñਃ àÔ©oÙÎKªªbL™¢-$Ôìß±dCŽc±¾¶äýû‚àà Å£ÈW‹äåUWU1½½c­¬ämmW¯6Ù°!b̘€!CTÅÄ£¢ŠJKkàæÍÔ´´Ê)S´”7nŒ|ú4[WW²¬¬îÉ“Luu±eËzÕñ>ÚFRRÊïÞM€òryù`ð`ÞA!„:Ž:B]„««þøñš/^ädgWëêJÎk@.‰&£Á•ÿ·ß¸ß©ò¿ÿuãüHàéiîì¬ýæM~]ÓÖV±å;wÒÒÒ˜îøë/³ˆˆ¢°°99á¹s ¬­¿›—¨_;Cœ QU¥Ïš¥ß«¿o äÝ S§êrfvrÒîß_ùåËœüüZii!‚‚š/r¨ û÷[åäT‡†ddT*)‰ ÒÛÎN‘z›!ï£mmÎ\tŽB?‚Í{?‘ú'„ÏäÉ“Û( Ô9ááá±ÿþ޵'''ðõõýÁrrrrÊËËydÐ××óöÎ5ŠWžŸËر……5¯^ìè@B¨%–.U€ƒsxäQVV–à‘¡&µd®cáÂ…+V¬hõPP'÷ï¿ÿ^¿~½££@m¥  ÀÀ¿Í•ØyÂ뮼»BÌ#¦œÖ±adgzÞñ ˆ àJï$á!„Bµ|_ÇWªªªçÏŸWSSëè@`ûöí½zõruuåLì<áu ã{ßï¼”騎 #³8sóÝÍëG¯d4ˆ3½“„÷¹sÿRØ%“;4áÐ/Cc¢³£ï|¼ó¹è³ˆ HO•žNfNrb ¿fäÄÛ‰“Í'ÿÖó72¥Yíú\ôy݃u«­6W5ç],¥¢¶ârøåÐôP›e®f>Íbš ]†ŸFå•çy½ôJ-N½àr¡Á M–œTô æALnLU]•ª”ª¹šù„ž„iÂÕØêÓäuù•;çÇ›Àg„P»ÁQÇ73fÌèèxéäáý\Ä„Å<†xttêäáuB–ê– â k¬ýRô¥SÅÀd3ÿòûKKFk킎 lϳ=—Ã/»Z¹N³œVXYx,ø˜w·ß\?MM®œ‘™‘{Ÿïe²˜ýtúQ‰ÍêÛGq"2#  š,–”WžçrÉ…&@[Òo‰Mèè룗Ã._~µ~lœ,ÆùÐó'Þž(©*a²™ æi²ä½Ï÷ >6ÌpØ(ãQÂÑÙÑÛŸn?tð¬óY}ýú¶zç4y]~ÙÎi•&ð™!ÔžÚoÔXWW׳gÏáÇ_ºt)99,--ÇGæÉÊÊzôèQff¦´´´½½½¹ù×ï«ã³ÇÚÂü 󃓂ϻžŸaûõ‘°Å—3YL}%}Ïq_å~ÅýÊ»+G§]0ðëÀnçÝV]_e¢f2ÊtÔˆž#Fôáåïõþóûõ£×3ÿSkµÖ–{[.جBÂSÃ7ŽÙø›Åo°Øqñݨ»Ô!ΰݯ¸_¾prÖÉ9ösÈ”W‰¯ìwÙç”æ¨J«Öo&™ÿøŒãnÜÈ”í¶¯¿¹^š.½m¶©ÖSG™ŽÚå·ëɧ'/V½°×·&‹9áÈ„Íw7÷Òìõ›ÅoS­§*žxyb€áªg€GxUÇg¡Ñs³÷LÎõ£Á_‚Ä>È,Éé­Ñ{BÏ œëw;ʹ.vûÈíçCÏGeE1YÌúåszŸþ~ßó}äÏ禜¢ ‘åÔ0jâòâ¦^š 4Zc‹e`Æ•œÓYõÉÐe¨Ç`ê#oµeµîÇÜ/¨,PWb0d˜á0Î{ÇjFõªû«V\©%£ÅϽcPJБ×ß*=2ñÙO⟘ª˜*I(ñYl\^Ô•©K«@|^|“aðв’ƒ?3YÌi–ßí×ÃÏuùe;§µšÐvˆj±6u0™ÌØØXAAA]Ýï¾;ÑÑÑ¡FL&óÇW¯^åü·F£UTT|øð¡wïÞT¢¦æ·_"²²²P^^ÞÜBšÜ‚–ÉdFEE rÝO˜0w~ƒï–Qùûû‡……QÃ%%%:NeÕÒÒŠ‰‰IJJêÑ£‰U-¨ï±¶ð)ë›Í6P6à¼Ýä» ßžåûþÉbÒ…è›ïn¦ÉUäâ µHãkðb²9¥9Í-D]¶éí†ÉÒ U 9ã€eC—ñŸ_THT[A;:#:6+ÖBË‚j;ç‰ÝUºÀ‡ŒM†Ô²êxôØ/‚ÁbÌ¿>ßZËÚ¹—srAò¡×‡®G]¿:ýªš”œ9½+p—›µÛƒ!å5åÃ.î}¾×w†oO•ž¼RëbãóãgûÌf8Ì¥—KRAWù\ôäõþèÿǾûÈ-tàÿ×׺^sU“Rû£ÿÀ{ØRû¥õhá$Dâq4£$(¬,œÛw® ]æiâÓÅ74y`üê¯Ó?ÏÿQ’Pâÿ #%#“16 Û$-*-.,UuU¯?¿^d÷mTßd±…•… )"É™(!,EUETŠww\^ÜúÁëìä)™ƒÅØ÷bŸ¹ªù<ëyœémÑ9ü\—4O¼sZ« mסkóQGcÿd2™ß}G„€€×?À¿ÿþ;ÈÈ|÷="Fk¬.þ áý/}«ã¬ŽÅbq%»¨Câ*ŠGµ¾ €Åf±û¯ í»¿{„À¦±›€ÉbÒ¾L#šˆœŸB¸‚iPýð~$ÿw—›ýÝåþz­ù©eÕ5Ùc]^AeÁdóÉ£GÀ ýAzòzó®ÏÛôxÓ‰I'àJøKuËW™ xd`Emù‘ÇQj]ljqêÎQ;ÉÐõ¹Êç"K—µÖ²–¥ËR)d9„€¤ˆ¤µ–u“Íé«Ù÷Gzƒ >&7æùÂçÒ¢Ò0Ôp(„o”o?í~SzM€÷éï}£|ï¹ÞãÿWеÈk™7gßäürúÕçWÕŒjêÑ|~Še°À5Ô'ÿ§®eÔ’ÙlöŰ‹…•…c{ŒåÔÁOÉœXlÖÚk+ë*/M½Ä9k£Îáçº4· üëäÓZMh»DµX›:?}ú”””ÄùÅ<¹‰F£™™™EDD,Y²DAAJŽŽ¾yóf·n|mÂÓ*…p•™˜˜hhøíÓË—/ Oš4©±ü Ý»w§ÒcbbÀ‚JÉËË+++“”üúLuuujjª˜˜˜žžU5T;zô¨………üêI; IDATM‹«kg&j&AÄçijÙl꟢”üÎÁ§™†M€&"(¹˜îEÝË+Ë£F ¼µJ!s sš->;žÅfQÿJ±Ùìwí1´vŸóÇeÇq毮«þœÿ™.D''4HÉyÉœ'’[™j˜’É8ÉΩª«Úõpׂ T¤¹Ÿéâ¿:D 0A}tÔw”¡Ë‘Ïg±äWݵÌïn«ëª@BD‚üH„ß\¿Üò\#%#~"ä¿dNëýÖÊùtiê%y1yÎÆ¶Eç×¥Mà_'ïœÖjBÛu B¨ÅÚc+rÅÎ;©”K—.ee}·5¹êcÇŽTJuuõÂ… Éçˆø¬¨U ¡¬^½¶mÛFÝ1'$$¸¹¹qî"U?ÿ–-[¨ÙŒ   €€;;»PقطoõÑÛÛ»²²ÒÍÍZv¢ªªZPP cÆ ÙÙÙ?R];S–Rvêí”^”~áÍ·GÕÿyügy y·n3?Þ‰¼C%~.øìzÖµ²¶’ÏŠZ¥ÎÒæØÏÉ(Î8óê •xåÝ•Mw6)I5ð¨1™?³8“s›©ÿS^S¾lè2j•„§†“Ûã“Å$·ØZâøuY¹N½ ¢b³bÿ¾÷·ˆPk{ø¯É‹ÉsMø¨Hª°Ø¬ÌÒLøgì?cMÆ®÷[oåm5Ûgö±àc²tY)Q)2'ï£$919®oO9Ëou3®Ì˜zi*?‹nðz.EIR T¥¾[ŠFΤ—¤ÀOwR‹Sï~ºKH>vïéK~Ì)ÿö„^5£zÚåiïÓÞGeE%æ'r–Éb³¨¯«ù,–¼aÍ«Èã,*¿"Ÿ:D’“kÖƒÿ’Iû_ìI 97åç]uÛuðq]šÛ„féäÓZMh»DµX{¬&_°`ÁÇ>gccóùó纺º¼yóíùûÉ“'ggg¯^½úÕ«W¶¶¶L&óîÝ»ZZZ'Nœ€ôôô“'OÆÆÆÀÖ­[ 4hÐ OOÏ   8vìØ€¦NÚ¬B©}¢È·[P‡,--'Nœèââ’••µnÝºØØX{{û’’’ÿþûÏÍÍmÊ”) 6“Êß¿ÿ¬¬¬7n 0àÚµkœÐjjj………Ç733‹‰‰¹ÿþèÑ£·oßNe˜={öÚµkçÌ™“­  0räHÞá5XŸ=Öš—ùÿ›q,£8ã÷3¿ß‰¸£­ ý6ùí(ÓQ\“^Î^•µ•Lm:ÚHÕ(¯,ïVø­é6ÓÉ¥ÞA‰AþŸü«ëªÓ‹Ò=ïxδ) pöÕÙô¢ôêºjÏ;žÃL†ÙéÙ5«míÙv³ÉÚÉ·[P‡Æõg©eéíâ]Y[9ïü¼Û·Usýcü/̹ %§Õ`3Éü ..¸u¯»J÷¨ô(ÿOþ‹ý=þoÎlã{÷¼ã©.«®"¥ò,îYDZ„ç8Oj)¹Š´Êp“áWÞ]òéÉ ›²b²<Âk¬:>{¬•¯t§ÄõÕ&”×”ù91¹#wl¶ùCÖ‡gIÏÎ…ž;üúðá ‡èhò(©þk.8Ëou?¸®ÃTÅô \)©.áL$&¿ vÐs¸èr‘óhPJÐÑࣶڶ¿™üœ_ÆWÕU-°\SFs⹉óÿ›kö-êN4<#¼°²ºw䳨޽τœ‰Ï‹eômû‡øüx°Pÿ¡ [þKö‰ô¹}Ãgº‚ø×òåw—/²]¤¯ ßF|\—f5¡¹:yç´VÚ®B-Ö£‚ :4wîÜÀÀ@ƒ1|øð!C†ØØØp.ªwww??¿´´4[[[Î õo÷‡ 2dÈw¿­ZPCË—/Ÿ>}ºŸŸ_zzz÷îÝW¬XallÌ£¥œù555ÝÝÝë?xóæÍëׯW®\éààÀytÍš5}ûö ëׯߤI“¨­x‡×`uüôX«““}¹êåãO#Ò"D…DgÚÎ4P6Xws]øÛå>ûûÙµ#×ÄUuWî¾~ôzêw¤5#×p•Ìõʼ–ÒØ!A‘ s.¬µŽ|Kào½~;6ý˜¢¤bc§sæ/¬(œh1ñÈ´#\µ€˜°˜Ï|Ÿ‡Ñc²bfÙͺdr‰zK éîÒ»7Ân|)øÂ9á^cÕ5Ùc¿‚âªâ¼òŸ„iÂÔÎT«î¯"7/j0ç®ëj8ôï'‡¦‡r&FdFP%+K(So3 e—e€†´Fýe'²tYr³Wïß¼]¯¹.¾±ø‚ËrØãŸà/C—é£ùõYD>‹¨;\HíÑ߃J|šð”.DÑ}ü>KL <ðòÀE—‹œ+F"2"ÊkËùo‰ÿÎ>® ÿMhNÞ9­Õ„¶ë@„P‹µÇ¨£¼¼üÔ©SüñG¯^½È&“™œœÌ¹ ¤¨¨8cÆŒú%hhhp¾¿‚T?¥…È·[4xHIIiæÌ™ ú‘ü666 HHäÔĄ׬k]ÑÑIyIã{n2œL‰J€îÊÜ—»»J÷×$ØëÛS»ÍR¸Öo´¬ùv‹««òX¶ ¿Mhœù8jCÛúG­œ0¼fõX×F#hÛžnÛ5z—ˆ H³n«ÿV‹±¤ßr¾ñ}Úûãoޝ¼–| +1?‘ÍfS7U¼’DEvîÚ5z—¨ hýòù¤-§UšÅd1ËjÊÄ<˜dƽN¬µÈÒeÝíÝw?Û}üÍñù6ó µ8Õ;È[NLn¾íü&OoL?í~ë­Ûâ¿Åó±ç¶‘ÛÀ?ÁßAÏ¡¹›Ð…èk׬y°æìû³³ûÌ€Ûo ^㸆s;ãìaÅOÉQYQî·ÝåÅä7ø}·y:ç£A-ÀOçðs]øìœcÁÇ^$¿Ø7nŸŠd{|7¨“wNk5ÏDµ§vu,[¶¬ÿþ––_ß×sòäÉüü|ΨˈΌ^u}•cwG)º°Ø¬]~»„hB³ìfuth¨Ë"߃ñ¹ð³‚¸B_­¾ƒV”PL-J­eÖ®v\=ÕâëÄ+VžþÎÁ;Z2Ze5eiÅiãMƯv\ÍÏQ’Œ¨Ì0ÃaÃO —“ã*ŸŠÁbL½4u‚é9}Ï÷‘uÌö™Ý_§?¹=èb»Å·=†Ÿ^YW9Ø`ðNhðæfã&@~}øÜûsòâò‰ù‰–ê–[†oáú¢N‡œö÷/¨,ßHßW)¯ÌÕÌW;®þ|0è Õ®™}fêËë?Š{$( èé—×M¶[Ja µ÷ŸÅ’G'™MªeÖþóüŸËá—Ó‹ÓW\9×úۛ;z¡¨ªˆs«ðŒð=Ïö@aU!“Å$ß|2Ïzž£þ·÷·6Yò¡W‡ªêªÒKÒ©¥<´zçðs]šl„f„†f„rÞFwÎi•&ð™!ÔžÞ 7pAøøøLž<™ÿSÊËËGŽ5iÒ$yyùèèèG-]ºÔË˫铻Š×¯_?~üøØ±c•••Ë—/0`çlFçG„‡‡Çþýû›Ì–6ùØd&‹9Ö|¬!ð2áelv쉙'¦Z·É2’ÎéòÛËQéQ»üv™ª›N´œ8Óv¦®bïúíTœœœÀ××÷ËÉÉÉáýB}}=oïœQ£Zó¥1Y¥Y©Å© L¶P·¨fT'æ'2YLCEÃú«í * 2J2DE4¤5¨Çèù9:öÌØÂŠÂWK^Õ2kòLgùT $uiuqaqÎ÷‘)ˆ+èÉ}(®¼¦<¥0E†.Ó>o.¯eÖ&$U×UkÊhRÏèsI)LÉ-ÏåL‘•6R2*¨,à\ÜM¶›„°ÄÇœTÊ7î~ºûÞã}ƒ‹[+–+¼ÄüD›¥'¯×àõÊ+Ïã<¥¸ª˜|'9ú¯™ãQr\^\qUqý€ÀDÙ„k›£6ê~® &0YL›ƒ6æjæ'¾í3Ñ:§UšÐ¬| ËÌÌ”••ÕÑtFmÚ9§CNïÜí3ÝÇ\ͼ-Êokø7§óÀQjíñ„ÉÔÔÔÔԴݪëlììììì~‰M„@€pèîàÐÝ¡£é0¿ÔÄúÅýéð'×&°ˆÒv“[ž{0èàîÑ»Ò!àß„~=í7ê@¡ŸTý5NfNTga¥iÕÑ!t^m×9JJÏ>ãÜ ö§ƒsúÕà¨!„š0ÚxôhãÑBßù©‡¡_P{¼›!„B!ô+ÃQB!„B¨má¨!„B!Ô¶Z²®ãܹsÁÁÁ­ êäüýý—-[ÖÑQ ¶©¡¡ÑÑQ „B¨kjɨãÁƒMÏc@‚Bu m2ê°¶¶...n‹’\gŽª×®íèÕ™cã_×hE[Ûû|oiuéö Ûíuì »b÷Ý£w;uàóôù¶ó­µ¬À\Õœ¬º¿*£$cߨ}z` `p`üGn~²ùÖì[dé%éÞ¿yÒâÂâ‹í‡¦‡¶IóB¡Ÿ®&Gu/’_ÀÝTŠ’„’ŽœNJa ?§›«šs¥<‰"@# ’¢„¢‚AtvtvY¶Š¤ÊãøÇ0Pw çY§'ŸnqB¡.¬õW“{xxA„ gúÇ]\\TTT„……ÕÕÕgÏž””Ä™!**ÊÉÉIQQQXX¸[·n‹/ÎÍÍ­_æÛ·oíííÅÄÄ444-ZTQQÁYȃlllètºŒŒÌرccccÉs/^¼X?6þKæ^cx4y̘1d½Ó§O¿pႹ¹9N—““›6mZzz:•ÇÊÊ ¶mÛFf2dHËz˜ÿf6Kqq Aì%ÿøù}»·c2Ù„YXœó?зïÅ'¢8Ÿb0X{÷†˜™¥Ó½$%ØÛ_ùï¿øúeÞ½›´víK5µ£¬¬.úûᬽ¤¤fÉ’§ªªGEDöžÚ³'dË–`òD}ý“õcã¿dá5†G“߿Ϧê ʘ>ý¾¢âa‘ý¦¦gÏœ‰&O'óÜ¿Ÿ BBû¨Ì-èaþ›Ù•Ô2k+j+DEÄ„Ä8ÓåÅåù,.Dç*°¬¦ŒÅfõÚß‹|Û ùçcÎGø\ø™Ì "(".Ü ;Õvßݳ–úlÚ4] B!Ô‰µþ¨ÃËË‹ÍfKKKs&>þÜÊÊ*99ùÁƒ………¾¾¾ïß¿·´´ '3Z[[§¦¦úûûž:uêîÝ»666………œefffzyy?>''gÙ²eGõôô¤j¹víÚ˜1c„„„Þ½{—žžîáá1kÖ,‹5|øp6›=}úôú±ñY2ïðÄ»É÷îÝ+**€§OŸÞ¹sçúõë999§Nòóó³³³#Ç3÷îÝ €õëדõûûû·¬‡ùlfsÉȈ°Ù+÷ïwäLd2Ù¿ývkåÊg³f™|ùâ–0gìX½ùóÏšõ€Ê0nÜÍ5k^Ì›g–‘± 6vŽ……Ò¤Iw¼¼B¹Êܲ%¸W/Ÿ¸9ïßϨ¬¬›0áVNN%YHM sðàk'NDmÚd—•µ0 `rFFÙ‘#<-1qnýØø,™wx âÝä>}TØì•üa nnÇ×OLœãjb¢àêê·cÇ[*ÏèѺPW·œÍ^Éf¯´·WoAóÙÌ.F˜&,.,^詬û®äÒð–(%*E#hq«ã×$rý±éf#L–‘¬aÔTÔ6:n'€à³º¸U ÔÂù—’#„úÙµÇι,ËÕÕ•Á`øúúZZZJHHØÙÙ]¾|¹¬¬lîܹd†9sæ0Œk×®™››KHH 2ÄÛÛ;%%eûöíœEåææ:tHWWWRRrùòåJJJ>$1 !!!SSS ‰Áƒoܸ‘Ï5¸éD>gE*ª*âóñª ï>œÉfr­Ó8þæxÿ#ý™l& 3Ï’žqf{zì¶§ÛÈŸéBô:fùóЇ^¸Úâ`B¡Ÿ]{Œ:¢¢¢’““MMMµ´´¨D333 °°°ÔÔÔ¨¨¨””ssónݺQ ·nÝâ,JGGG^þë#A¨««gffRµdee™ššª©©Qù üá]2Ÿáñßd*±OŸ>¢¢ß¶C>|84w$Àu<šÙZnÞLòk{ʨQ:Ô¡[·`Ü8=ê(A€££Vu5ãѣϜgYY©P?kjJ@ff9ù‘|ÜhøpmÎüýûkð$’ùÒd“)ööêÔÏÂÂ4ÍÚZf@@*4ÿÕñhf׳Òa¥ ]fË“-A)A•u•‰ù‰Ëï,çzàªy\©%£µúþêçÉÏËjÊŠ«Š¯„_9ôêÐÚAkiÌ !­±íé¶ÀÄÀŠÚŠì²ìM7åUäýnõ;Y‚‰ŠIJaJViVxFxjQª•¦Uë4!„ú µÇjòœœPRRâJWVVNKKËÎÎ&Ÿ5 %îRRR˜L&F#?r=V$,,Lí›——ŠŠŠœ$%%©syãQ2??áQšl25<‘‘áÌ@žÒ䊑WÇ£™­%'§””¾»ÛSV€ìì *ÃØ±7럛PÄùQZZ„#T`±¾Î\‘ÓŠŠßÕ"+Ëïë,x”Ìx”&›L‘‘ù.Bò”ÜÜæÍuð_fv=Z2Z¾3|w?Û½äÖ“a¨h¸´ßÒ3ïϼþüZ§¾“™Ó ýAÔÛ9LöšŒ7?£÷ŒIç'Q)¸&‘*P^LþƬG^ñ|ì™Uš%%*ÕC¹Ç±ÿë§ÝÌ (¡xkö­Ã¯o~²9»,[NL®¯f߫ӯªI}ýâcÃà ëýÖ;1L†.³qØF=ùoCÙVàvÝúH¾$dûÈí“Í'·]¥!„ÿÚcÔ¡¬¬ ÝI“÷Ê***"""0pàÀgÏžµ¸r¼AŽ=(………L&¯woñCEEš^“M¦Ròóó93§Pã‡ú㜬®·¿\wÒ䲊Š8õßÀ@gÍ×BŽ7¸yjîí{ƒZ^“M¦äçWéëg’§Pã¾/7¿ÕýjtätŽN<Ê™â¨ÿÝ’ÎAEc)œdè2ë¯[7x ë¯_?x}ƒGuåu¯L»ÒDЭdþ ÞmA!„:V{½Ç˜1z§Oðò ÍË«Ìʪز%øæÍ„3zŒ«Ó¦¯¿{wÈñã‘99•uvv¾»x±…‘‘Ÿµ¸ºšZY©œ8uüxdQQuzzÙTW3~<þ„×d“)7o&\»WRR“’R2kÖÃÌÌrOO;eå¯s––Êš•Uñøñ—žlá¿:„B¡N‚às‹§o'„ÏäÉ>+ìááqàÀêã‰'Èm”¢££·nÝXXX¨  0lذ7rÞCúôiëÖ­OŸ>-**RQQqtt\¿~½¡¡!ìܹsíÚµTÎ'Ož ::~{vbÏž=+W®??¿Í›7GDDˆŠŠ4hß¾}ººº#FŒ¸ÿ~ƒ±åççóY2ðûÉÅÅŲ²²Ó¦M›x0ììÙ踸"‚…yóÌæÍ3£ b2Ù‡‡Ÿ9[(,,`` ;ož™››9™ATtMÍ×çâúõS rqpð¡&ÄÅ…ÊËÿ€ÒÒÚõë_^¿_XX­«+íáÑ;;»ÂÓóõ»wÓ­¬TŒÏ’y‡× &›ìápà@XHÈôcÇ"ïÜI*)©14”]¶¬·««)UHyyÝ‚>L!âÿ38thHEE] z˜Ïfrqrr__ßFÉŸœœœòr^kÖõõõ¼½sFê²ëÚBèç²t©2<˜Ã#²²²„„D{E„º¦Öut*ÙÙÙªªª3gÎ}úTXX¸£Cã6fÌYYY¸téAäœ j–[·~³´Trq¹''w¨wïóeOž8uÂMœÞ¿Ï&ˆ½„€ÁI{ûvÚJ!„B¨óh÷u´aaáY³fÍš5«£iÚ½{ oŠŠøgd$wôèÐŽŽ¢i}ú¨°Ù¼Vê#„Buy]j®!„B!Ô á¨!„B!Ô¶pÔB!„j[8ê@!„Bµ­.µš!ô+c³Ùü6øDúØëØ+3YÌà/Áé%éáË ,#,(%èrøeA{µäUGÛÙùFù®{¸îÕâWJJœéñyñ~q~7>ÜÈ-Ïýôç§v«—å~Rà IDAT·¶Ž !„ÐÃQB¨‹¸sÏ'ÒgÙ€e‹í“) ãô»ÓäÏ–ê––ê–OžVv\Œ?'ñOLULëßú**¾OŸ[žÛžõòÖÖQ!„úq-u8;;;;;·z(¨“óòòòòòêè(PÒÐÐèè~HPJLè9Jt³q븈~VUuU¯?¿^d·è©!„P;hɨcÔ¨Q†††­ ê̼¼¼<l;:ÔvöÐ;:†RZS òbòÈOïÕçWÕŒê!C~‘zBµƒ–Œ:fÍš5yòäVuf^^^¶xÝ»0_ùŸöv=© é~Ìý¤‚$8üú° Àw¿ÙŒ•Œ‡òz¡dnyîË”—¹å¹’"’½Õ{+sKþ¼¸ßâä‚ä ” š­—Z/3U3ÎØlvXFX\^\iu©¶œ¶ƒžƒ¨ hƒ…$å'½Ly)Dê¯Ó_GN¢³£ß¦¾ë§ÓOKF‹ÏØs0è Ø<2ˆ ‰ÍµžË»ÿMMCÅoß.Å䯼ùò†Áb˜(›ØvkøÛ‡C­aÔsœÊcÛÍÖJÓŠÅfzuˆLÑWÐe4ªÁzËjÊž'?Ï,Éé­Ñ»§JO®›ŒŠÇuA!ÔÎp+„P—UUWåäý$á <'Þžxtàå°ËÅUÅo¾¼v¼ÇmZf-•á^Ì=ï ï3ïÎì Ø™Sžó0öáÄsÿ}ó/•!1?qÄÉî·Ü“ ’²Ë²·?Ý>èØ ˜ÜÎZÈBΆœýçù?yy×"¯89â~Ì}ï ïïç–çž}väÉ‘¯?¿nVlmÅf$Pl6{ã£cOõ‹ó˯ȿ~iá…L“ë,Þ¡^ »tèÕ!‹ÁyÊÃØ‡¡é¡Õûêó«~‡ú] ½X\]œT4Ûgö¸3ãR‹SùŠŸë‚B¨Ýàjr„ÐOOO^ÏÝÞýSΧä‚äÅv‹EEÈô¢ª¢oOð8ñÎÇ;»wí1vߨ}A)Ëï.W•R]í¸š³ØüÊüS“O›ÍszŒw÷ïV¿ Ñ„ µ8µ¸ªØožŸ,]V;®wfœÇm¿¹~ApRTUt|Òq¨²¯êw¸ß¿ súÎ9:ñ(,¶[Üïp¿C¯ÙiÛñ[c-Zj¿ô;3<#¼°²ºû¿~érøe's§#w)·¢o­º¿ŠsB‰w¨îöî„€×K/=y=+M+ \­\Ͻ?÷ï¤5e4¬wwànm9í+Ó®.°]0üÄð¬Ò,r:ˆŸ¨x_—ì%„BÍ…s¡_׿oÿ€%ý–P·¡ãLÆ)K(_ »XǬãÌédæDþ@„…ºE5£:³4“LÑ‘ÓñæIÞÚ]ˆ>ÊhTRARra2Wu{N¤ò*–Õ”9™-VJTJO^óþck]þ þ2t™>š}ÈB/À›T†ñ&ãÄ8Oi2Ôé–ÓéBôSïNQ§\‰¸bÛÍ–rÔ¯—¬¼Š<ª“Õ¤Ô6 Ù .­ÎTü_„Bíç:B¿(&‹—'@Ü‹¹GÀ·/¿i´ªºª¸¼8Î…jRjÔÏÒ¢ÒPYWI~Ô‘ÓQ’Pò‹óË.Ë.­.€¨¬(È+ÏÓ“×ã¬QUJ•ú™.D ”Ä¿m+&$VQ[Ñ‚Ø8ýøºÿ=A#ÃH.L¦4ÎáAZ2ZÅUÅü‡*C—™Øsâ¥ðK¯?¿¶Ó¶c°gCÎùß‘Æê€­#¶.¿³|ðñÁ¶Ýl­µ¬mºÙ8›;S564çº „j8ê@ýº È?œ‰“Ì&€”¨g¢ÑèÌðÍè›m”“sÐu—£Jc²¹?pBG}ø­%$¥¦¬¸‚ ¢AÜ á#Ô9Ös®D\9ùÝÝOw5e4ÍUÍ­À\ÕÜßÍ?4#ô]껀½Ï÷+žpXKF‹Ï¨ø¿.!„ÚŽ:ZÂÇÇçèÑ£ ¨¨èëëÛÑá „Z‚&@ë®Ø=&7fFïÔs8Ÿÿ8þ1õ0o,6kÓ£M„À}×û"dâ™3/S^vHl?¸®ãiÂSašðÝ_à hzòz‰ù‰©Å©Ú²ÚT¶ŒÒŒæ†ª%£5Ôp裸Gñyñ'ßž\6`zàXð±™}föÑèÓG£Ï"»Eo¾¼™~eúîÀ݇&â'ª6º.!„Z ×u°Ùlww÷ 6ð™ßÎÎÎÓÓ3===88¸MCµ©…v àèë£TJ £f㣱¹±Ô£>¼@ ³ÙlÎ š¢³£;Cl-àŸàoÛÍVLHŒJ™a98w¿õ‹óË(Éà<‹ÏPçYÏ€?nÿQˬ¤?ˆw½Çßûú¨-§ ÓMFÕv×!„PËÐ<==›uÂæÍ›œœLLLÚ&žŽQ]]íââòáÇ?ÿü“ŸüÒÒÒÚÚÚ§OŸ®¬¬\¾|y[‡×lÞ¼À  K]wô=ß=àÇ_ÅSQQQ[ËkkWoo¹‘#+ Zsûפ‚¤‹aߦ½-ª*€ÒêR}ýÛo?Š{–äWäçUäùÅù½M}[YWYǬc±Yš2š Ò¢ÒÇÞ HH,H|–ôl‹ÿIQI¯q^"‚"ÙeÙ§CNSÅ€¦Œ¦w÷ÛÔ·Y¥YP^Sn¤d$K—}ÿäöÇÛ©Å©ïÒÞ >šUš•W‘…•… â \…ˆŠœzwêmêÛ’ê  ÐàLÈ™·ioK«KYlhHkðŽ­{RPY°íé¶9}瘪šR‰¦*¦EUEW#®¾úü*1?ñZäµà/ÁJJÙåÙl6»¼¶\WN—ÏPU$U‚R‚>æ|\1`ç O¬7./î仓³?ÆäÆ<Š´#`‡ ]fûÈíòâò|E%¯Ëûº4¶0¡_ÐÇ0jT<ÂÂÂíêšð +:þéÓ'!!¡Ž!ÔrcŒÇp¥Ð…èîöîœ)S-¦rå™ÕgÖØc_$¿È*Ë’•Ûc¬…ºïbûi÷ë§ÝúèdîÔ_·ÿËä—ù•ùÒ¢Ò.½\ * ^$¿à]Èo=ãJùŸéÿš[ë H `{°Á`ÎD‚ <‡y:÷r~óåM³Î¶›mþw>ÝI+NkA¨ë¯žü|¢éÄ&ëÝ?nNyNhzhFI†’„ÒÑCìºÙ‘#4>£âçº „j7›Ík·“N |79ôêÕ+???==½£iAøà»É»4§I“àÇ×)åää”——óÈ ¯¯çí3j¯<¨CÌ¿>?¯"ïÆ¬¿H½!ÒÒ¥Êpð`<ÊÊÊíêšp®‚ƒƒ×®]Kþüøñcj‘Ífß½{÷öíÛiiiâââ666sæÌQPPà:½ªªêСCAAAuuuÖÖÖK—.•““k× „Pkè­ÑÛXÙø×©!„P{ÂÕä`hhèééÉ`0ž?Îb±Èĺºº &Lœ8QVVvÉ’%#GŽü÷ßß½{Çyn]]ݸqãjkkçÍ›7hР}ûöYXX¤¦¦vD;B臸ٸõ×éÿëÔ‹B¨=á\ÈËË;88pMblÛ¶íöíÛÛ·o§¦AƯ««;qâÄ„„:N&æææÎ;×ÙÙÆŒcll|XRRÒžÑ"„B!ԙᨣuuuiii"""ÊÊÊœéZZZ””D¥()) ~7_¤¡¡Áb±ð!+„B!„(8êh€   °°pmmmMM gzii)ˆ‹‹S)\ ¬¬Œ+B!„B¿8u4€ ˆ²Ùl®µã!!!A888P)………ÙÙÙÔÇœœœôôtUUUv‹!„B¡NG Û¾}»¨¨èŠ+òòòÈ”½{÷FFFº¹¹ÛáQPPpÙ²eÕÕÕP[[ëááQWW·qãF‚ :&n„B!„:Üêa}úôyúôéâÅ‹»uëfllœ]VV¶iÓ¦¿þú |||Ž=š˜˜¨¬¬}b2™={öë˜ÐB!„ê¬~éQÇï¿ÿ¾gÏòMÊÊÊÔ¸‚¢¥¥En]ÅISSSSS“úH§Ó{÷îÝÖÑ"„B!ô“ú¥G!!!7oÞœ7o^jjjHHÈŒ3::"„P‡ þ|0è  Ÿu>ÛÖÕ½O¿ïù>òçsSΠфںÆúòÊó¼^z¥§^p¹ÐXžèìè;ï|.ú,"(ÒS¥§“™“œ˜\{‰B¨kø¥W“/X°`ÅŠ}úô133sttܵkWGG„j!&›¹îáºcÁÇZ\‚¡¢áýÿ¨¨­x—ú®éÜ?LO^ïþ0ÙÌwiïXlV;ÔȉÁbœ9=î츛Ñ7ߥ5ÚÞ=Ïö̸2CRDršå´Aúƒn|¸ÑÿHÿ´â´ö !„P×ðKÏu,Y²ÄÕÕ5&&FEEE]]½£ÃAµ\IUÉ7Ô¥Õضp;y1yy-yiºtëFr½æÚM¶Û¦¡›¨Yº¬µ–µ,]¶-ªkÒšk * |gø:_pίÌo0Ï…Ð 'ß¼6ýš¹š9™b¥iåx̱ª®ª#E!ÔEüÒ£Ã%urbrOÜžˆ wÒíBÒB*j+::ŠoÜ¬Ý  yd¨fTï{±o¨ÁPjÈÒ>Ó}4e4yœˆB5èWu „º ¼æï!rûùÐóQYQLÓ\Í|fï™2t*O £&./nꥩ@ q­Þf±Y—Â.½LyI Y¨YÌì3S˜Æ½Ÿ§Wf0YLdè2G&á£çžÚ²Ú‰÷cîT(Š+12Ìp¾!„P à¨!ôÓ#Wfï{±/4=”Z™Í`1–Ü\˜8»Ïì!½‡ä•çsüäÛ“'N’O UÔV¸\r‰Ës³q³P·H/IŸsmN«Ž³ä:fÝ⛋Ÿ'=wíë:¢ûˆÌÒÌïŸ=eÚ% %KuKq…µÖÆçÇÏö™=Ìp˜K/—¤‚¤C¯]º~uúU5)52ë5W5)µ?úÿõïÚ7>Ú¨'¯çlûÙîèìh¯ñ^<Ú»Ô~)›Íæ‘áÇwÄÊ(É€A + çö+C—yšøtñÍÅ#F@€ø¥w"A!Ô8ê@ýô\™}äõÿÿ•WRëˇ q<æ¸èÆ¢§ žŠ Šz½ôú”óií µsúÎ!3Xª[þvö7Îy†#ÁG– X¶Øn1•güÙñž=L<¢*¥ª*¥*."žZœºsÔÎ!CÀQßQO^oÞõy›o:1é™G€‘´Ö²n0~KuK òÜ9ïÅÜÛ1j]ˆÞX{ûjömygñ‡\…“ó|ásiQij8”Â7Ê·Ÿv¿)½¦´u!„ºü¾ !Ô5ùFùÀ$³ITŠ‚¸Â@Ý9å9/’_Àý˜û0¡ç*CO•žÚ²Úœ…\ºNfNTJå:r:þ þ¥Õ¥T¢ €à ýAÔGG}GºÌó¤çe5eü„:Po õ39ÕÐÈ¡×`ýÁäƒäÜËþ¿ßB¡fiÉ\ÇÂ… W¬XÑê¡ No^÷.¬ >Þ £ch5 #«4K˜&¬ ®À™®&¥©E©u̺Üò\aš0×;ïT¤T2K39  a…øÕ«—®ŠŠJGGÚJDDDG‡ÐšhMˆ&TǪ«eÖr>1U^[t!º €  €`«®ŽYǹ ¢–QËYˆ0M˜ÉbºÛ»×_Œ¡'¯Gý\ÿå5å@.:ouí°®ÃTÅô \)©.áL$%.,þƒ…#„úµdÔqôèÑÉ“'·z(¨3#ÂÕÕuÔ¨Qj+K–,‘èè(Z AÖZÖA)A‘™‘VšVTú‡ìAØt³!ÂBÝ"$-$:;ÚBÝ‚<Ê`1’ “¹ y™òRYRYGN‡JšøÔ'ÂçèÿŽR)e5e™¥™äTäWäg—e+I(iHk)äè…üyÕýUäfP-n];¬ëj8ôï'‡¦‡r&FdF´Oí!„º\×êšV X!"(²#`Gae!™ròíɘœ˜)½¦Óîöî„ÀÎÀä ›õÏó¸Þå·Òa¥¨ èæ'›‹«ŠÉ”¤‚$ÏÇžFJF4‚FeÙ¸«šQ u̺­þ[,Æ’~K¨m9í¬Ò,&‹Y\Uü 湩ng&K—u·wÿ?öî;®©ëýøÉ ö’ àD”¡ ¸êBÅ*ÛZ±ŠÛÚemµ­mmëÞ{¶Õ¯Š£ "Ž:@QÁ…ì½w „•ä÷Çí/MC@B?ïWÿ¸9÷ÜsŸsn[òäžsoqÒžè=TIVEÖÖÛ[uÕu?ò±rc€®3¬ Ë£ÞבT’Dù༬½B††ô1éslæ±5WÖxïô¶Õ³-æóëùK<—HžF5ÄrÈo[wuÇ[=ÛÒšÒ‰N]Í]ïeÞ <ècçììlä|â½ß„ãµÓËJÇJ$TÌ4{‰Çé¸jÜQö£Fï­«®›UžU/¬ÿÜçóÀ’ ‡.\ºlô¾Ñ5 5#zŽl>8¥$å›+ßHbžÒgJ@߀Àٕل/ÿúÒÓÚså°• ±Ç¹¾ñ3!¤LP& ©‰»ûØùHêÌsŸG§ÑwÜÝq$öˆž†^JIŠ‹™Ë·£¿5â)(*èÆu@—G½¯CòQ²‚ÜÅÌå✋y¼¼‚ª¶ ÛNϮɂ‡wßí0:©8©AØ`£g£©ª™P˜À«ãB 4 ¨:ýLú…~šÏËϯÊ×RÕ2çš«2U›ÇðŽã;~ö~É%ÉÂF{û&Ͻõµó½»ènzY:—Í¥Þ¡n¬i,³™¶!DºD¡÷C¬u­¥Ï%)lR2×mîìA³SKSkj͹æM–æÈYtyÔû:^µ×TËT²â¢9&édä$ùèhäØb5êµ²Ã`1XÎFίÚËQåô1é#ý±yÌ2zѱ¸l®œçb1Xކ- €ü°® Y@;]N¸x"0£,£LPx"z/!4‡Víäbæ"½ÔZ›ͽuYÇÉ“'“’’¾ùæ:ý?÷y’’’’’’zöì>¯g…’g±·p†ÕÉ“'×­['‰š”ïÛ·ïÀH9:Ü[w¯ãU¼½½½½½•@7ÔÁYGMMMxxxrr2“ÉìׯŸ¯¯/5‘)**êÖ­[T--­+Vܺu+**Š*™1cF¯^½d· Q[[{åÊ•ÄÄD6›mkk;|øpuuõ¬¬¬ƒR¨ÙS6l JBBB óòòöîÝ›””DY¿~=Õìœ9s 7nÜHÕœ5k–]ósÑh4ggg???ª\úMMÍÐÐPçèè8nÜ8ÉÛˆ_%''çòåËeee–––ãÇ‹‹£†BWWwÞ¼yÒ-s8œË—/çåå …ÂéÓ§;99ɈJþA J–,YR\\ÉãñìííǯªÚÂ[^SGΰºzõªµµõ'Ÿ|’››ûòåËiÓ¦¹¸¸deeQ{«ªªÖ¯_ÿ믿ŠÅbªäÉ“'ûöí“¿BHTT”µµõÒ¥K322ÒÒÒ¾üòK33³Í›7S{›ÏžŠˆˆX·n]QQQ«ÁGGG¯[·.%%¥ù¹233“““?úè#{{û49äèÑ£‰‰‰±±±&L?~¼ì>|ØÎÎnÓ¦MùùùQQQîîî»wï^·n]NNN“–·mÛ6~üø§OŸfeemذáÅ‹òD%Ï „‡‡¯[·níÚµ3gÎLIIIHH êÓ§OZZZ«ÐVv¯#%%eòäÉfff>ÔÔÔ$„|þùç}ûö ˆ‰‰ñõõõõõÕÑÑùúë¯KKK !½zõzöìÙ¹sç,O T…‰'ZZZÞ»wOKK‹"‰ÆŽ{ãÆeË–­]»666699ùŸŽ1™k×®­®®¾wïUbjj*©óÍ7ß0™ÿö}íÚµ›7o¾råŠtw&NœhaaqïÞ=mmmBHQQ‘‹‹Ë˜1cž?nll,9äÚµk7nÜ î6lß¾ýöíÛžžž-ŽR|||pp°““Ó;w8!$==½OŸ>„¹s纻»K}÷î]‹Eñöövrr’•………œƒPQQ“’’rÿþ}jBBB†:uêÔGµz¯ M:ì^ǶmÛjjj–/_N% „;;»)S¦Ü¿ÿÎ;TÉêÕ«§M›öÃ?=ztÚ´i«W¯–¤ò´°}ûv>Ÿ¿téR*å „Ðéô7Θ1££z!!9õåžbhh¸`Á‚²²²={öH× ¢RBÈСC !/_¾|U³{öìill\¼x1•rB¬­­§NÚbåàà`*å Îâää$TòXºt©$õrww÷ññ‰‹‹»}ûv[Û­ÃîuÄÅÅBîß¿_XX()ÌÎÎ&„DGG{xxP%‡NNN~ÿý÷çÎ;{öì6µðøñcBˆdeÀ€ è¨^HPçrtt”.¤NýèÑ#éBsssÉ¶ŽŽ!¤ººúUÍ>{öŒboo/]hmmÝbe3³¦Ïþ—?*yXZZJtppˆŠŠzúô©——W[›¡ƒW“KO["„øøøøøøôïß_R¢¡¡áêêúìÙ³ððð‚‚cccù[,‘_ccc[¡È8W“ H £­7iA(ÊS­MQI{Õ 4y|0Õ8¦WAW´?fÿÆë !F£;‹î(;œ.éFê ‘²+³?KTv,Ð uØ +BÈèÑ£×JY¹r%F³±±‘TÛ·o_rrrdddQQÑ”)SêëëåoªÐdþÒÝ»w7mÚDmkhhB*++%{©[%Ò¨$ú†öûï¿ËèNBB‚t!õñun­PK8štAþ5ÜòD%Ï ´x^êé^T„]Ë\·¹)_¤89¶^õQÓP3bψà3ÁÊ„dUdÍ;3oÓÍM%5%ÊŽº­Ë:/^¬¡¡ñÛo¿ÕÖÖJ ×­[·wï^ÉL¡Û·oÿüóÏgΜ>|ø®]»îÝ»7þ|ù[X¼x±ººú–-[x<µW ,\¸Pòà)jæ’dåtfffDDD“8MLL!ÔŠöÝ»wGGG¿ª;Ô¹$_ß‹ŠŠvïÞ­««ûñÇ·k„!dþüùL&sÛ¶m’YX)))¡¡¡r.OTò eûöí’Û ÑÑÑׯ_0`€d.(”X,‰EÍßXÚù~»õ›‹™K臡*ÊŽº­›aeccséÒ¥ÀÀ@GGÇ1cÆp8œ;wîäääüõ×_,ëÅ‹þùç®]»¼¼¼ÒÒÒôõõkkkÍÍÍ:D£Ñ† 6{ölÙ-Blmm/^¼øÞ{ïõíÛwܸq,ëÂ… ’{!!!û÷ï $„¼|ùrúôéܹs§‹‹Ëܹs ! ²±±‰ŠŠŠ‰‰¡^¾A¥ÇñâÅŠ+$çêׯß;ï¼ÓØØxáÂUUÕ°°0jV؆ ¨…×ÇÏËË›3gÎáÇ### !ááá555«V­j>J}úô9xðà¼yó 0nÜ8>Ÿ´{÷nIé–£££?øà+++jW«QÉ9///www//¯²²²Ó§OÛÙÙ9s3¬:‡KãúüëÊŽ‚B~÷ƒSMÙQ@7בë:†ž––våÊ•—/_²X¬U«V3FzÆ‚ ¤ëÏ™3§­-øúúR¨·:thذa’½&&&/_¾¼xñbNN޵µõ/¿ürëÖ-éÕÞ„oo︸¸ÈÈH:occCÝZqww§\Ûâ¹h4Úþýûýüü$•jñ;;»5kÖÈ¥   __ßK—.•••ÙØØlÙ²eýúõ„6›-£eù£’g(ï¾ûîÌ™3ÃÃÃ+++;†·¼r@' µu‰6Fûã?¦OŸ® €º½íÛ·I}x¸uœ IDATK™2eÊÅ‹ËÊÊ$ V´eË–mÙ²%99YúEì²Ñh´­[·Ž7N¡-Z´ˆÃáœ>}ú5Û),,”ñ7BˆíÖ­…ãÆÉªÓ>M(ã—I¯&¯T츻#292Ÿ—¯ÎRïoÚžÛ/^$õ3í·Â{ÅÀ !W“®.8ûÏO-Á¿ýýÛ½Ì{‚ BÈ÷c¿_öÏíÐç+Ÿ«2Uå ¸9‡Ÿ„¢–ŸHAÑ×Ð^ÜòTÒ&<¶{”Ô”`59ÀÛfñb#Bȶm…2êIúÐ>ü +hÕöíÛ–/_N}|úôé¥K—Þ}÷ÝNK9ÞÅÕÅÇjk¿ûý`óÁÅüâM77ýôݘï¦÷›NÉ,Ï 8Àf²·OÞîÒÃ%·2wC䆗E/Y Ö‹O_Èn|®Ûܹns'šQ–ñmä·«|Wõ2ì•R’òeØ—³NÍ:2ãÈ`óÁ~ö~)_¤ÌÿßüÈäÈÕá«—z-ý韒J’¦›îgï7½ßtj—ü·It ¶šä4räÈ/¿üÒßßÿ‹/¾˜5k–›››‡‡ÇöíÛ;çìyyyk×®¥±lݺõàÁƒs^€Î·é榜ʜÕ#WûÚùrT9ÖºÖ¿MüÍ@Ã`ýÕõ%üª¯–÷µßמ֞ê*ê=õ{þ6ñ7Aƒ Mg4Ö^?Àl[…ÝǤÏ/~i6|ùm“jùØÍ­ÂîgÒ/ñ³D¶N;èºut¶íÛ·§¦¦Îœ9SWWwàÀ‘‘‘ׯ_çr¹Ø1cÖ¬Y£««Û™'èdI„[I ‹Áj5´¶±öïô¿ !·ÒnB¼m¼%tÕumtmšµ$ […íhøï{  9† … EÕEÒÕú™ô{ý€º.̰R333e-Œ155]»v­RN Йê…õUuUªLU Öž«¯¡O)®.®ÖóëùªLUuué ÚlmÒZªZMJôÔõŠª‹Jù¥†CI![…Mdj5àWØë:YtC,KSU³ª®Š_Ï—þOMU2à°, –¿ž_ÓP#x”òKÛt¢ŠÚ ±X,ýÈéÒšRBˆž†^Çüª±®º̰€îi”ý(BÈõÔ߉Q/¬¿›qW©æeíEf3Œüÿ<+JquqzYz›ÎR×X÷$ÿ‰äcbqbQu‘£‘£ôŽŽ  ëBÖÝÓÊa+{h÷ع!*%Š_ÏO/K_~ay1¿øk¿¯©iK+‡¯ä²¹ß^ýövú횆š¤â¤Ïÿú\Æ]…iªjþrë—ǹ ‚§ùO?¹ø‰ Cåë‘_+"`€® 3¬ Ë“¼=ƒb·Ñ.dhÈ ïƒóœßqwÇú«ë ª Ø*ìþ¦ýÎ8:ÄrUÓ‚kq:èôO7~Zt~‘P$t4tütø§›ÿÞ\VS&ÿ©ÕUÔ×ø­Ù¹áQî#¡HØ×¤ïñ™Ç©÷uÄåÅM;:ªæ¼É™’òE õQúUΛœ'9OúeÂ/­¬ Q)QóÎÌ“|´ÛhGù~ì÷2× ÐVÈ: Ë£ÞžÑ¼œËæ~5⫯F|õª­u­wMÙ%]RÌ/nñ±¶2ØêÙz÷Póòþ¦ý%iFÔ«<Ú°"øÚù¾*N€ŽÒž¬ãÞ½{¼ù?~¬ì@ äW}÷P\]óÄÌÂêBm5m+ß&þfÎ5§*P+ZÄVaKÞb.YIÒAtMX×o¯¡VC‡Z }Õ^¬vè(xr.(²P,d XÈ:@±u€b!ëÅBÖŠ…¬ o èn’Š“ÂÃÏ>=[T]ôâÓÊY@·co`oo`›[T]¤ìXÁ +P4d X˜a]^jiêå„ËÔöB…©%©ÑYÑ‚ Bˆ‰¦I~U>µËDÓ$ _!¤¬¦ìø£ãïö׈cD¹•v+./Žª³ÈcÖÂÏ1Ûno±ŒÔUÔçºÍmkxÁnÁl¶X,~”û(±8‘W˳ҵn;\©Öâ±i¥i·Óo3èŒþ¦ýûšômr¢„¢„èÌèFQ£³‘óË!É%É7Ro¬ñ[}?û¾oMªfèóЭ··2éÌ¡!TI>/ÿZʵY.³:9¼ A¹•¹ Ï-¬®«ÓkŒP$<ùøäú«ëL?àhèØäXuõ{™÷zôŒÏ‹_uýgÃ?›ç>ª ‹×D¬9ùøäÀû›ö?ñøÄчG…"a×"èÆu@—g«g»ÄsÉ‹Âi¥iµ µÇg'„ˆÅâ÷vNë;ÍÉÈéÝãïr ©_ñ !矧Óè¡ÏC©¯ÔÞ6Þqyq“'/ñ\òªS,ö\¬ˆðÔ˜jYY‚Šðàp¶!äsŸÏ'š¸,tYøÜp&}lIMÉé¨cÇ¿õöÖ]?Ta¨BN<>qòñÉ€~?ŒýAÒÇÏ.Ƥ3;mˆdÀ]rèV‚Q4máÐ…löÀ-¸¡ÏCEb!$µ4µ´¦t’ó¤ÔÒÔ…ÿ_Ry’ó$} }9cx£†º%Üë€nÅHÓ¨yáäÞ“·ÞÞ=Ôjè¹gç&9Oò´ö<÷ìÜùg猜bsbÕYêŽFŽÍ”xu²Ã³Öµ6ä†'†Tðjy„'ùO!ÅÕŶz¶Ò5MµL%ÛÚjÚ„š†BˆP$L+KcÐæ\sIfÁµ Vn´éˆ!÷: [¡ZóÂɽ'BÎ??/‹/<¿àßÛßÍÂÍXÓøRÂ%‘XtöéÙNû¿yxçžsßæþCÔé¥éÒ‰PÜtUÆ+×p·ÐcYõßð!€n ÷: û³àZ¸˜¹„¿ ×kœ[ÇNߎ2ÉyÒžè=7RoD$E„}&»…×Y×!ƒH,Zse F¿<ç2G•Czpèïô¿åo„AcØêÙ¦”¤dUdYéXIÊsy¹ò7òúC îuÀ[Á¿·MCÍWa_ù÷ñ—”B¾ÿº¯I_ŽR¢¢‹É‹Å¢FI᳂gmm'È%ˆ²'z¤$<1<·² YyS‡ºÆÚµk•t|>¿¾¾^F…­[uÇŽå÷ì)«N[T|p0&;¦\PNyýÀÍ­I ‹Ãóëù?ÿI]E¢«®{-ùZzyú2¯eüáÑh4¶ÎÕ¤«¡ÏC³*²îgßßuoW>/¿˜_L)«)Ó×З>–bÎ5ßz{kLVL>/ŸR]Wí`èÐǸO¹ ü÷¸ßïdÜI)Iù3þÏ{™÷ 9†Õb±¸º¾Z]EýM"P¢°0!dÜ8¾Œ:‡ÅbuVDÐ=a†tãÇËØ«­¦½~ôz¡X¨§®')üÜçóØœX?{?ÅG÷ÊðúxÙxýöwIM‰¶šöÌþ3KkJo¥Ý’}¬‡•‡‡•‡ä#F[;jí»ýßÎŒn6 ±âeíuáÅ…ìŠlyb (}ˆ £‰Å²žÊÐ&………ÕÕÕ2*ØÙÙnÝZ8nœ¬:Ði/6"„lÛV(£Ž‘‘‡Ã鬈 {ºP,d XÈ:@±u€b!ëÅBÖŠ…¬ Y(²P,d XÈ:@±˜Êà­s9áò‰G'!ºêºÛý·wé³ÀëÀ5€·îuü‡P,\¶j÷½ÝŠ;…‹™ËR¯¥Uswõ³¼!:áª)Â[uà-‡¬à?*•gŸž=ýä´táœ?笻º®£Na¢eâfᦡªÑÖÛF»ÏÒµxÕÞ|oÕ5€·fXü‡®ºîÕyWÕYêÒ…²ðëùÊ éM ã ÔâU€7²€¦Ì¹æÊÚ W àM†¬º¼_oý›Km;:¬ñ[CI-Mý:üëÕ#W;9BŽ=<ö2Œª³Ì{Ùæ[›©íÓœ}vönÆÝ A…X,v Þ³ÚudƆ µÞ·®±.±81ðD !„Ag›yŒª#‹#’"®¥\+ª.â°8®æ®ýÔUÚù‹{AUÁÙ§g‹yµ<+]«i}§99S»d‡Ñ&b±8*5*292Ÿ—ÏVa÷7í?½ßt¶Ž¤Bmcí©Ç§¢3£EööïzÿàýƒÏ žB|ì|‚Ý‚[l6èTP$”q^.›»sÊÎwI/ªþ~ì÷G}’ÿD(ö3í7{àl.›K‰Í‰ýõæ¯TýV¯šœ=•&£ý±½ÆRÿòHþíŠÏ‹ÿñú„MUÍ=Óö49üà»ÿ÷ä§ÿÍ 3˜˜=h6‹Á’12Í)è(cíڵʎº>Ÿ___/£ÂÖ­ºcÇò{ö”U§­ôÔõr*sÂÃg ˜1®×8Ž!äÀý^\`1YÃl†B¸l.F{ýàKß/{ê÷ìiÐónæÝ؜؄¢-U-_;_Ž*çô“Ó‹<õ5éKí ¤35U5/%\2çšî󹻥»›¥›™¶!¤Aذàì‚Ý÷v{XyŒë5N›­½ëÞ®3OÎŒí5VƒÕúLýSq§ ‚D}|ý`âÁ‰,&Ë¿·¿³±s\nÜQ?Xr- !2ÂhÓYE Ï-Üqw‡›…Û8ÇqGb¸ÀÍÂÍXÓ˜¯çÏ8>#ôYè(‡Q£FÑh´ï®}—ZššXœ¸ñ½{먷ü­½·‡›…›»¥û«þq5w5Ñ2iñXªw¡ÏCSËR¯§^ï©ßs¸íp –Æž˜=gŸží0ZSU“­Âî©/ïU“§§MÈh¹÷r—.{cöÒh´€¾„5¦š¾Ý¥„KieióÜç59<Ÿ—¯ÁÒf3¬NX·ùöæÌ²Ì1½Æ¼ × EaaBȸq²for8«mÉ3@¸×]ž½ýGƒ?:ùødzYú‚! !b±øÂ‹ šªš—^\Z5bƒÆ°Ô±Ì,ÏœÚgª›…!ÄÍÂúåx„݈™fB†ÛØc ¥Ž¥­ž­ôÊ&Z&&Z&t]SU“:Vbç½Q)Q˽—/º*q1s™txÒÚˆµ¯úQ_†ªº*+]«=Óö0h Bȇ1³NÍZ¹~œã8&)#Œ6ÙywgdräÊa+ç™O•Œì9Òg·OÈÙkó¯©1Õ6ÿ½ùEá‹/}¿”| v5wpp“Δ}ÞÁæƒÛÕ; U¬Š¬ã6Žì9’âcçc«g|&xMÄš}Óöé°uä¿jòô´I 2ÚïeØ‹IgÒiÿ>…ËæºY¸i°4ÊåÍw1s¡÷±ó‰Ë‹»”pé‡q?°UØrކ⮀áVÐXêX0þ2\Ð „ÄdÅè°u–Ö”ÞI¿C©Öÿ•ðפޓšèÛÓW²=¨Ç êgr9yr†BýøMq2r²ÖµŽLŽäÕòÚÚ3—SvR)ÅÃÊ£BP‘TœÔÖ¦d žò4­ï4I‰¾†þ0›a…Õ…·ÒnB.'\&„ø÷ö—Tp0p°ÖµîÀd`Ò™¾vÿ^;.›{3õfU]•t5y®šìžæTæž”üs8öp[Û—a˜í0ɶ® !$·2WþÃßðkÐ>¸×Ý„oÿo®|s5éêD牡/Bý{û{Z{î‰Þú<ÔÛÆ;*%ÊÙØÙˆcÔä(®·}§k5æóòé4ú²ÐeÒå%ü‘X”\’<°ÇÀ65ÈesŠŽ?:^PUÀ«å‰Å₪BH… ¢}¾*fƒ¥¯¡/]nªeJÉ*Ïj6U±,]u]é †ÃìŠlٿκ ]u]é[ „cMã AE/ÏÁÀáߦZ»j­öÔËÚk©×RI¹‘æþÅh÷¿=u=É65×®AÔ ç± ½FJ„¬º‰wßù6òÛsÏÎv}5éê'ÞŸèkè;9G$EgŸž•þmøõ1h ƒ% —x.¡ÑhMöÚêÙ¶µÁµk?:>ÚaôD§‰:lö2ìø£ãb"î  ƒÆPa¨4ˆê…õÒë›«ë« !l6“ÎdÒ™ ¢†aƒdM6!¤¦¡¦ÕÆ{.‹e…*Ýà«P·ª¤U×UBÚº@¿Õž²UØmŒD#4‘X$]RÛXÛ¦ä¡Ðk D˜aÝ„¶š¶¯ïÝÌ»§âNõ7íOýT<¹÷dAƒà÷¸ßæ<e?ªÝS µýÙåÏ"’"h4š›…›P,4Ò4r³p“üS]_}àþM5Í6µ/ OÅÒU×Ýá¿cl¯±î–înn:­†Ñ¦³P1‹Åâø¼xéò§Oi4š»¥;F`6@,SOC¢Ô5Ö¥—¥·Úø`óÁÒãÐü3—V©ª«ÊãåI>–ðK ª 9†=´{´¥£­÷´M­Q´ÙÚå5å’uumš7%'…^#%BÖÝÇdçÉB‘ðç?KnkLpšÀ 36ÝÜ4¢çù—ó6g¥k•ÏËŠ„‚Š¿þ¢žåºrøJ5¦Úº«ë$“ RKS×F¬íeØKzy†<tFí•‚Êøü¾kV×U_I¼"Omò‰÷'ªLÕ¢~(«)£JöÇìO(L˜Ñuf‰ç:¾ñúFji 5žM~ãWU¦êפî!46Dnh5.òXÔünR«Zíi[õ1î“Qžñ4ÿ)õqÛm zÛ®2!¤\Pt*轓ïåTæ´;rå^#€ö¡É¾!Ð&………ÕÕÕ2*88ØlÚT4a‚¬:íÖ(jtßæÞ(jŒ^-yHÑG~t3íæ±™Ç†X¡JRJR¾¹òMRIR… ÂÕÜ•Fh'ß;Ií¢Þº Ùåeí24„•µ,t™!ǰ¦¡ÆÕÜuˤ-Týøüøo¿I+K³Ò±‰EU³Í^âÑœ+iÔë)žZseMzYº­žm1¿˜_ÏÿhðG ‡.”|‡¾œpyÝÕu‚­žmYMÙ,—Y·3n?Ìyø|åóv_yL84¡Œ_¶jĪŸnü¤«®›UžU/¬_⹄zûD;®Z«=•&£}JZiÚ‚³ ²+²í ìkjæ¸Îù=î÷„„=Ntž8¨Ç éçô™Ð7 ðD`vev>/¿·qoOkÏ•ÃV¦”¤ŒÙ?†ògП.f.]îA·bÌb‰7o.”QÇÈȈÃátZHÐ-!뀎ÔjÖ1hÕŠem~Ä“œ^½‹ÅŽFŽ’’ÜÊÜ\^î ƒ$Ë”«ëªŸþçË™dй \ú™Qúú’ßÅ«ëªÓËÒ¹lnów`çóòó«òµTµÌ¹æªLÕVƒÌçågUdI>ši›Q3ˆÄbqNeN1¿X[MÛFצ°º0³<“¢ÁÒèmÜ»Õ0ä< %—WPUÀVaÛéÙ5_qÑ(jL*Nj5ÚêÙj°4Æ_\]³$¦Õ®½*븳èN½°>¹$¹QØho`/¹CÕ¾«FZë©„Œö%„"aVE¯–g§o§ÁÒxVðŒ_Ï'„˜j™ê°u¤§F;&ëßã²¹b±86'–âbæÂ 3ºÜ5‚n)(ÈÔÚºaýúbuuÀëCÖ©Õ¬Ã߿ǠA‚¯¾*í´ M*«ÂVI?lªº®zÈö!ƒÍ˜~@¡§–d =K7 ÄkÝ’‡‡åTËz\²x}X×ÊÙ¹..®é ÚàÍÑ lˆHŠ ^A}üîÚwuuÔ¸áM€k¨ €YXÈtrªSv ÐýáɹЩ¼¼jNŸÖ*)aèëËz·C7x"ðU»¦ö:µÏÔ7ó,\6wáÐ…?]ÿiçÝ:lŒò –ÆÖÉ[úÒkjyCFYF£¨1ðD dy´H)׺«k×4Øl‘«kÇ?  ̰€ŽÔê «ÚZš‡‡UppÅüùå2ª@'˜8±‡ƒCýÏ?É®†Vðú0à :•ššxÆ ÞÁƒÚ••øÿ€2EDh$$¨U*;x+à¯>t¶r&“lÛ¦«ì@Þ^õõ´Ÿ~Ò›4©ªo_,ê€Î€¬:›††hùò²cÇ´ž?oý!³ ;vè1>û¬LÙÀÛY(ÁÔ©{¶©››à«¯J” ¼]u€ÒXX4œ9“[SCŸ2Å k<J,&GŽhÏ›g2z4×®CÙÁ[Y(“…EÃéÓ9vv S¦˜}û­>§   ª¦ß}§¿|yé?©¨àumÐÙð–@èH­¾%°E"ùßÿ´6mÒ‹Éœ9•S§ò ºù›Ë:ÇÓ§ªÇkŸ?¯Ù¯_í7ß”ôîÝžçäâ-ðúu@Gj_ÖA©ª¢ïÞ­óÇZ<½oßÚj­¬´µE˜Ð&µµ´òrFR+:š“ô·¯ÿøãЉ«h´v6ˆ¬^²èH¯“uPjki·n©ÿý·ú³gªÙÙ̪*†·=àMTHÈSBF*; €¨ªŠµµE={Ö÷ï_ëëËï×ïu߈¬^²èH¯Ÿut ýõ×’%KRRR”@g@Ö¯ 7@±u€b!ëÅBÖŠ…¬ Y(²P,d XÈ:@±˜ÊºUUUe‡ÐÔÔÔ!x[3¼%˜L|c„×…‡ #q¹\e‡Ð´µµ !FFFÊ kÀ +P,d XÈ:@±u€b!ëÅBÖŠ…¬ Y(²P,d XÈ:@±u€b!ëÅBÖŠ…¬ Y(²P,d XÈ:@±u€b!ëÅ¢‰ÅbeÇð¦ËÏÏ777 …¯ªàíí}óæÍÎ   Á½€Ö™˜˜xzzÒh´WU˜9sfgÆе ëKPPÞòßMƒÐÉñt!LeÿJMMUvðJ...-Þë`0žžžȃÃá);Š·îuÈEKKËÛÛ›ÉlúƒX,ž4i’RBè*uÈkÒ¤IÍ”3™Ì‘#G*%€®Y€¼FŽ©¦¦&]Âd2ýüüÔÕÕ•@—€¬@^ªªª~~~Ò“¬„B!¦W´ Y@Lœ8±±±QòQ]]ÝËËK‰ñt È:ÚÀËËKKK‹Úf2™ãÇWQQQnHo>dmÀ`0$™Fccãĉ•@€¬ m&L˜ÐÐÐ@ÑÕÕuuuUv8]²€¶4h¡¡!!ÄßßÿUo+ix79@7T_OKNf•–2ø||Pˆ>}¦]»¶SG' ,Œ£ìXº!M¬¥%27oìÑ£FSv4Ðhb±XÙ1À?RSS_çðÊJú¹sšª …øŸ4€B=&d:!ÉÊ ›ÓÖyyÕLœX=lŸÁh;ÇÈȨãâ‚6ý€î@  íÛ§³o—NûùñgÌ(rv®36jhˆ”@w¥uéÒ¢ñã_ë—x‘ˆTV223U?V»vMýã-,V­*1‚¯ìРp¯à Ò¾{6èóxô… ËyÈ4 ›ÉÌTÙ²E÷âEއGͺu%–– mm÷:”s¾º0±˜lÚ¤»p¡ñС‚ÈȬàà ¤ÐýXZ6üúká©S¹¥¥Œ)SzܽËVvDÐfÈ:ºªÚZÚºvo IDATâÅÆpü±hãÆ"}}¡²#P AƒjÏœÉõö®™3Çä?´”´ ÖutI"Y¹Ò(:š}ôhž«k­²Ãè ªªâ_-´¶Ö]½Ú@]]4aBµ²#y!ëè’~ýU72Rýðá|¤ðV¡ÑÈ’%eÕÕ´/¾0ìÑ£qÀüì0à  ë¹rEcÏï¿/vw(;%øâ‹Rš Œ+*^ãyºÐ‰ut1í»ïô§N­š2¥JÙ±(N~ýµˆN'¿ý¦£ìX@.È:º˜½{u*+é+V”*;eâpD+W–þþ»vBKÙ±@ëut%••ôýû¹‹•â‰Umc'åСCÊŽ¨ƒuû´Èß¿ªwïºÍ›u•´Y@Wrîœ&. ä);€.ÆÍÍ-%%ÅÆÆF …ÂÅ‹÷éÓgÞ¼yõõõŠ8E«ÚA€7F>ú¨âÆ ‚}zûöm§§§7zôèO?ýôÒ¥KÇŽKMMÕÐÐèß¿ÿ—_~imm-9$>>~ÇŽ>äóù¦¦¦3gÎlrö 6>|XòñÛo¿=sæLbb"FëÙ³ç{ï½7uêTBÈþýû7nÜ(©¶yóæŒŒŒ3gÎäçç …Â>úèÀ’½Û·o3f µ]UUuøðák×®edd.—ëää4uêÔñãÇË@pñâÅÐÐÐŒŒŒ’’55533³¡C‡Î;רØXÎ^ºtIz !»víòóóKHH˜0aU²bÅ ÙÁ¼ùLL„ÔŸHx“a†@—!Ð !l6u@7‘’’2nܸ½{÷¦¤¤¬\¹òÖ­[üñ‡ÍüùóÏ;7~üø””6ûŸY‡ Žˆˆppp(,,ìïï_QQ!gÇ+ lË–-~~~„GGÇëׯ3Œ+W® å€îA]]TSƒï´o:\!€.C,&„MÙqt/¾ø¢´´”âããóþûïëèèp¹Ü%K–ôéÓ§yåY³f9::r¹\ª¤®®náÂ…£F¢JRSS322¨íõë×766BÆŒãêꪥ¥µ|ùr&SÖþùóç™™™S%û÷ïo’¨B çÏŸ¯­­Àåreô.??Ÿ2vìXwwwMMÍ hiiB"""Ž=*{p\]]?øà .—»hÑ"###BHqqñÕ«Wåï —Ë4iµ-ý,Ý#GŽxxxØÚÚÊŽ « Ñþù o2d ………qqqÔvïÞ½¥w;wnúôéMê÷èуÚPWW§6LLL †t Õ,!$77755•*±´´¤6444ôõõe„daaÑä‘Htûöí&Õ|||$Û±±±-æHEEEÿÌ™3~ø¡Œ¡èpÈ:@ JJJ$Û­?ò’Nÿçíÿï÷5/!„ˆÅbBHyy¹¤DUUU²-Ÿ4§¦¦Öüê[¾4ƒV£-..nÞ¬tËÒš›;wîÖ­[FŒqÿþý””GGGjW[;hggçééImS‹XNŸ>mdd$)èÈ:@ ¤•¯®®îØÆutt$Ûµµµ’íšYž–Ô¬««“êê6}ç1‹Åj5éÌD:IË2R—ŒŒŒû÷ïSÛ+V¬î‹D›:øþûïSaaaGýàƒh˜¬ Y(‘‘Q¿~ý¨ígÏžIÊëëëûöíûÛo¿½Nãfff’E YYYÔŸÏ—¾ÁÒœ¤fff&µA£ÑÚwOÀÐÐÐÕÕµI³"‘(''‡Ú¦ž"õâÅ‹)QQQäÿïfP$÷1*++ÛÝÁáÇSöjll\¸p!Ç›ÜXÒæÓ§å!!#FB‚ƒ{zy…oßþòèQOêÕ«?~\¶iӠɓͩ’5kâ„B±¥¥Æ’%½!½zi7‰MΖe‡×â8˜šªS'í(-,%22ÿÈ!C !B¡xÁ‚è­[µýüL!ññeŽŽÚGŽxR÷7>úÈnòäë?ýôüÛoû¿ªÙV¯€rá^4U^^út¦‘‘šôž9slÕÕ‡¥ÖÖ ËËëÏœÉÔ×W9ÓZRaÞ<{BÈ¡C©ÒMéé©R‰!ÄÀ@ÍÜ\#5µŠúX\\{åJž±1{Ò$sIýà`yñ$£eùÃS''m*å „0´ààž„£Gÿ‰ÍËËhåJgÉ”*{{­¾}u®^}åÃv[½^ ê€üp¯šJL¬ ÅÖÖšt:MR¨ªÊèÑC#)‰—–VÍãÕ …b55æ¶mÿÎ ‰Ä„ÇK¥›j²”BKK¥¤¤ŽÚNI©‹‰•‡öïIˆ©)[ú¤2Èh™Š_žð¤uøºÌÍÿ³âÂÆF“’˜È£>zzΟÏ..®„„²²úÒÒ:‘HÜâà´z½œœ´_?f€×¬šË\ IŒÿ”Óé´%K !B¡˜Á ýa+ç¢ý÷[´XLIJOÿïéZ© OxÊÒ$y z,Š5kâOJïÓGgà@]GERçU#çõP"dД££6ƒAKK«’þq½®N˜“ÃWScX[sjk… Åb4Y•_VV/çwúž=µh4’ž^-ÿûÍ8;›/_Ò!K¯^Úí¯Ã×uÈ›ûŸ×Ч§WB´!Ož”Ÿ8‘6x°þ‰^’ayñ¢"-­êU­µz½Ô ùa]4Åå²,‹Šjÿü3SRxà@JMðÃmÕÔ\.kÆ ëädÞµk’ 99ü/¾x,ÿ*}}Õ±cÍ ÒO¬:p …µ×íˆÿõÃS¨øøòÇ˨m¡PL=\+(È–¢¢B'„ˆDbÉ=Ÿº:aJÊ+S"ÇõRP/äÇX»v­²c€”——ËØ›œÌ ã,Y"«N;ܺUšS,Šù|!‡Ã44Tóô4Êɩٽ;ñÙ³ŠçÏ+÷ïO>}:30ÐúóÏûP¿¦{zæç ~ýõųgå ¼‹s¾ûîÙĉæ‹õ¢ÑHllé™3Y’6MMÕ«ªêN‹‰)®®n ‰Š ÝÄ„=t¨ÁÇeÇŽ¥%&òâãËvìHìÛW'&¦ÄÜ\còd‹cËÊâËÓ²ìðáÂ…ì+Wò>,%„”–Ö›šªÇÇ—5 >:º˜ªãåež÷àAéÇ¥¿þú"6¶tñâ^Ôã¶ Ôòók##ó¯_/ÈÈàß¼Y¸}{¢@ÐXYÙ@ilgdT·ãztcòü}d±Xîý*MÎ)ÔÐ RSe=a鯿8K–¥¤tðS˜$o£ŒaììÌýÿxª¢£‹++ttX†Íß:—–Vuï^1ר¯Ïrsû÷µt±±¥wïKªùû[Ðhâ³g³%%žž†..º„±˜Ü¾]ôâE…ª*ÃÝ]ßÊŠÓ»÷??“]»Ü[ŒM ÊÙ²Œðá…쌌çMùû[¤§W5 >5µŠªãà åãc|ãFAZZ›Ílþ–ÀçÏ+ââÊy¼¶¯¯ñ­[…iiÕ„]‘HÜîëÐ-Éó÷‘ÃáuZHв€7ˆR²%JJâeeñGŽ4‘”¼|Y9~|ÔÇÛú)Þ2rAÖÑ%`](MRoݺøêêFê£H$Þ»7™É¤M™b¡ÜÀ cáV 4ÖÖúøñQ¾¾Æt:yð 4-­ú§Ÿ6™n]²Pggnd¤ßƒ¥©©U•• sæØy{éè°”t0d Lt:ÍÍMßÍM_Ù€a](²P,d XÈ:@±u€b!ëÅBÖŠ…÷u@g8x0%22ŸÒ¯ŸÎçŸ÷Vv8MmÚôâÑ£RBˆ§§aHˆÃ[ë\»VpíZ^AA­š««Þĉæ,V ?Z‰DâÏ>{˜—'X³¦ŸƒƒUئ~……åž<™¾w¯»šóÁƒ’ÈÈü´´j:fjÊ6ÌÈÇÇXº²P( ºÝ¼‘+œ Ò{UËlö?øž?¯Ø¶í¥……ƪU}Z§MG5×ù¸ʽ{Å-Ö™1ÃjâDsòXZZž÷ðaiYY¾¾ª³³N@€%‡ÓÂ7Š6]PZöœœš'Ò’’xl6cØ0ã)S, šd¯XLÚtö¼Ô¿9²ÃCÇá-¬:ƒ±³37(趪j‡ÝbÍϬ_?}º•üß]^e„..:óæE›˜°;$¶ŽŠ¡ûØ>55 ¢srøsæØËINæ}ÿýÓÝ»“"#ýšW>t(õüùlBHUUƒ¤°Mc{útf]ÍfÜ|ú´|ölÛwßµ"„ܸQ0oÞ½AƒôðPWgHêß¿_Ò¼‘òòz-B**êùåExxnyyýСòÄÓ¦£¤)kSRªZBȬY6’ív `XXî²eúôá¾÷ž®®jRoÇŽ—;w¾zÔs„(9ã‘ÿ¨&”5€„Y³lÆŽ5“®SrêTú¨Q¦’’v `yy½±1ûÄ /UU!dØ0#[[Íyóîýúë‹;Ý^u”œ´¹V‡½¦F¸dÉ}kkÍÝ»Ýèt!ÄÖ–3sæß[·¾\¹Ò‰ªÓ¦³wì…'F?. Ï]³¦õ™2fŒ©……F“šB¡ø³Ï~ð]qqm“¯,ò»u«°¾^4r¤ !ä·ß\mmÿóÃù¨Q&‡¥ÄÆ–JÒéÄÍM¿M-Böîu··×ÊÌä+â(iJ@--GGí&ƒ³woÒôé–Læ¿Ù;päHWW=*å ¸ºêB22ªe%çm®Õa?{6³¤¤nÅ gê«-!ÄÕU¿W/í#GR-rPSc´éì~!ä ¯EomÇ¡ÃM.èµ»ý_/%ö144›âéi(]Èf3lšóìߟ,/îõ:§»z5ÏÆFÓÆF“Ò¯ŸN“uB¡˜bd¤öš-“–~ËïÀ£¤)q¿ý¶?5©F"#£ú΢™3­_³eCCµž=ÿ3yyBH“BÒA´Õa¿q£2p ®táÀº0&æŸùcòŸ½Ã/„<áµè­í8tc¸×„R[+ûÒ¥½ŽI}ñ¢’Ïo47×èÝ›+Ùµn]¿æ©¬¬×ÕUõð0˜8Ñ\E¥ ¿°äç ŽIMN橪þ'BHCƒèÒ¥œ;wŠJJêôôT½¼ŒÆŽ5•üè+c¯œ2wnOKK êì995{÷¡ž3h~J O²«yGNŸ6`€.uR­yóî­Zõ¸ù÷­ÅÇ—_»æGuªI0EEµQQ‹õ’<¨Oî¤IשmÙ{åéló`š÷ÑÁA«¾^H13Sou:¾¦¦Š‹É¤/ZÔ‹ºÄoÈBΜÉ42búŸ¹^¯9€þþîîII¼ƒS’“«~þy ôz•v\Ðæ(ÆFQó_è©ÿjþ½ûŽkêêÿ~B a°÷FDkµj]´jµµV[k[;´jû¨µV­£â¨³Vm­ÚjQë©Qq³Aö&È #¬$¿?n×4`HÈçýzþ0çž{Î÷œëSóÍ=ç^‘ü½+èBt4<ùõÙCï…}}]~~}\ÜSmÉõQ&&'NÚØ<ÛÄla¡I/p·¶Öb2ŽŽ:Ô·sBu¨°°žú˜]›œ\íè¨M¥”qã,Û ÀÛ[_òƤIV„³g $ëXY±é‡r²ÙL©*R‘ü¢lª¯¯U\U%ׯkÞÞô ¤‚ÑÖféêª;Wpÿþ¿1=<ôŽFýYöÑ ¶ç púl‘ “É µ‰ÄÔÒ¯ôtþO?¥þðÃ@9™.(¨›2媽½öºu>RßH¢¢ŠBBÌèoº´ÚÚ–Y³bœu¶lñ•ZŠÆ`ú3ÅÝ]×××03³&!áÙvØçµ,['ÎrqщŒ5’¾Ä=a !b19r$kÆ ;©‡È½àº¹é›ÎŸï|êT`rrÕ¼y·ššDíž%ã‚¶ž@yhi±ššDbñ „Ô!9{WÜ…èPxÒg½.<@_—›[Kiý`D©oöÏ–â0„Éd<[PA}»¢Á¢Ò©65ÚüJddôŸoÔYtC‘g}Ôóbnή¬¬Êϯ“§©M–’Áhj²Žñ߸1qúôÆÆêÞÞ†&ãÆYQ5eíÐ`»Ê‹ïë01Ѭ­­‘šR -BHa¡€²{w:‹¥²fM<}4;»–²zõcmmUµ;žÝbJKã¿ÿþ­¢¢úË—‹>üÐIró@Z??¿~Å é' ·´ˆ,¸me¥µqã@9_.fm­÷4/¯ŽÊ¢Ÿ×²l;‹bkûŸ'ª)})×®•”–6¼ù¦µJéªÁÊãÅ÷uxzêeeÕTWÿç6ÑÿÏ'“òÑGÎRJÚ·ïÉÕ«%S¦Ø¸¯§ IDAT¸èJ½ ¬¾¾åÐ!ÿ¤¤ªE‹î|òÉÝ}û†ÐYè•+ÅÔ#$ë‹ÅdéÒû**ŒD}Uª¨h\²äÞ/¿øÉˆ™ÏÿÏån³åvuî¬Ö”;´C‡2'L°”Ú#þ<›@##uòÿ³zÞY» íòñ1LN®NOçò¬»ôt>!Dò¶§ìÞw!ä ‡¾+¬ú:]‡õäI@ðl[vS“höì›11¼Î¶©G½Y xö%ûɓ𶒒žÎ—,§–vøøtø}Ô@22jêëŸ äéÓÆÂÂz 9_ë‘‘Q#ùQ2˜ÜÜ:jC¼ŽŽjPéºu>6øÖGDäµ{´ K­j‰!„Ïož1ãFAAÛ·J¨}²ÿ×úeÒ’¨EqRöô¨’òÊ+F„''©Õ !îîzƒI}·ðö6°²bm¾h‘Ûµk¥›6%Ó‡¢¢ŠýüŒ©÷Ó6mJÊϯûé§Wé¯>MM"ÉwiïÚ•öÇ9’§46 =ª`±èËh¹];«5åN %+«&&†'ù>rZç&påʇ±±eRM%&VB¬­Ù2âi÷‚vNh¨5!äÊ•bºD ÆÆ–yyH¾ªBvr†‡C_€¬ ¯SWg~ö™GMMóºu ԣ܅Bñ?$¥§ó;ý‹”¦&sÞ<'>¿yãÆ$‘HL©©iþá‡Ä6+WV6íÝ›Ný™Çkض-EMMeþ|çNä»ïâ©46 W­zÔÒ"þê+O9èçæÖ<˜Ùf0õõ-çÎPËñ)TŠBí‘}´ ki©Åd2 ê!V$$TQ?3+BPéðá¦þ™{ûö¿ß2¯_/=}:Ï××päÈŽ=JÒ¢E®£G[ìÝ›N½Î‚ÇkHH¨”zØÑo¿eïÙ“ÞÐ |ÿýØ3nPÿ[¸ðŽdÌÌš­[S¨_O !MM¢U«óx sç:S÷pÚl¹];‹R_/üâ‹ûß|ó¨¥åßÌR‰H;|8ËÛÛÀÍ­Çun«¾ÿ>¡¨èß\W(ïØ‘úða…··•Juú‚¶ž@yxy釆Zÿþ{ÎãÇ•„‘HüÝwñBúÉröÞ ò\yÂ#„„…Å-\סÞ_ŽCŸ‚V@fͲ×Ð`nÝš|áB¡ §  ÎÒRëÐ!?--Ö™3ùÇŽåÔ×·ddÔ̘qcùrÏÜÜÚß~Ënn%&V͘qcÍš‰‰U'NäB>¬˜1ãÆ×_÷wsÓ]¸Ð¥¹Y¸ƹs…슊ÆeËúÅÆ–ÅÇW͘qcÁúÕiÁÁ¦••M—ôôÔ22jôõÕöîB}I’êÝÝ]wåÊþÔYÔ»,èCóæ9™Ò<ø¼••VNN­ŽŽêöí¯Œc!{6mJ¾{÷)!dôh‹ôôê6ƒ±¶Öúàço¾y´qc¢‘‘FI‰@ †…¹oÕîQšŒÁÒ1ÄÄð¨©~ø°¢õ9Ö‚.;w¦eg׿åÕ}ù¥‡Bß!¸}û+«W?~ï½X++-‘H\XXj³bEYÜçŸß+*H. Ÿ6Ív«Ÿθt©ˆ×÷ßû<~\A}g]¾üáñã9Ž*ƒÁþÏW– !ÉÉÕR½H.ù˜>Ý®±QzÕ‚Íá°²²jÔÕ™_}å9gŽ#U!*ª¸uË„ß~Ë:w®°±QD¡þB¶nDíêéÜY„¼¼ÚÖ`RÖRjk[NÊýö[ïÖ‡:=ìúÛoYÁÁ—ml8+7·®±QôÖ[¶K—ö£ÕæYò\Ð6'°Ýi'„|÷7›Íš1ㆳ³NYYƒAöì"¹Q^žÞi]~!Ú rõj‰››ždI8ô)Œ6—Y€RdffÊ8zþ<',Œ›‘!«Î‹‰ÄÙÙµ|~³©©&½ÿµ¨¨>?ÿÙWWúza^^]âá¡W]Ý$¹ÈÇÍM—~‰DmmKffªªŠ³³‹Åˆ‹{Jý'ÇÁAÛÈHÏoöñù{âD«Í›}«ªšrsëÔÕUœœtèýŽR½ëè¨Ò?ÙææÖ•”èCvvúk 5ªª&}}5;;m†79ÒÒøÔC®ŒŒÔ´++›rsë44þ ÝxI‰€ÇkÔÑaYYiI=ÅEÆÑvKÇ@OuUUóóÆXVÖPTToi©%{cFWáó›³³kTT:ôãù¥<~\ÑÐðŸ]1VVlssvvv-×@zzêWU5J^Öµkã55™'NJž{÷îSQ[O×TQa ôŸi--âÂÂúòòF==U[[Žä·ù÷ß­©i–j™’—WW\,*ôòÒ§ò·ÎEÉÉ©UUU±°Þ,ÛýH©®nJMåûøÈxû['&ÒØ(,*TT4jk«ÚÙq$Ûoó,9/hë ”gÚéÁæäÔij2µ¥’:ùÿ:Å\ÙᥦV½ti¿yóž=A»/ ¼ Éóï#‡ÃárñvBeBÖЃ(7ëè~’_Ä•‹Âõ©Áʯ¾^èëû÷'Ÿ¸}ðA‡×Ô)¢eÅÅ£ ˜À¢Ó‹Éüù·RSùgÏËxégÕC®8²Ž^+¬@iÄbñÁƒ~®®:íWí––‚`{ˆNüò墤¤êýû‡ôÆ”ƒôá+€{=HŸº×Amc¸¿ÜÐPÝÁA{ùrOÉW v¹””êo¿ÞQj/ŠâzïæÁ@/Âç7÷Ò”£çÀ½Ž^÷:@9>ÿܽ;»ssÓmý¦ðnÓ̓€^)ôxr.(²P,d XÈ:@±u€b!ëÅBÖŠ…¬ o èëæý9!=&n¿¹ÏÆÐ¦JA宨]ÑÑ%5%ÆZƃ¬ÍyeŽ›‰[ëš55cö)©)9öö1_K_ª°CãÚ»ó§ØŸî}rOƒ¥!»YÚ…Ô ûîìK/K×TÕ °øbø¦Ú¦íJ(¹dÛmžfž‡§n³Žì–ó«òÿJüëÊ“+YY °еtœûÊ\#-£6[ëòÉ‘çºôÙÉyñ!È_@~¸×Ð×훼ïÁ'z` ñÅñ>?úì¹½G)!B²Ê³Æ[Ì/Þ;yïÃOî|cgRiÒ¬ßgµYù»+ߕԔHvhn¯<¹âgë'™r<¯YÊ¡{‡E,í2:nq܉Y'r+sß8ôÆó*ÓnåÞw`ÜÅÔ‹55Ï«ÓnËï{÷Ø£c‹‡-¾ùñ͘c>òÑñGÇÇ›_•ßfƒ];9ò\—>;9]29ët²è¡ÄDL¡KŠ×;n¹¾¥zŠ…a§Ã¬t­Â'…;:¨1Õ<¸+BV´YùjæÕ¨'QAŽAîŽWËK(Iá4BÎf‹øEþÙ0Òyä¯~ÀVeÛØm›¸­¼¾ü»+ßÉîèÛ¨o? ülÃëžWAΖ¿ þ*Ø1XGCGGCg‚Ç„ÅÃWÔWì¾µ»uƒ];9ò\—>;9]5„NO € Xa=”—™×ÃO*«÷ÈôÈT^jø¤pƳ_gülýî-¾'U“ßÀ_~aùÿFþ/6'¶ÓÝE=‰bF°S°œÍþÿg“°i’Ç$ºÄB×Â×Ò÷rúåòúrC¶áó::õî) –Fneîó*ÈÓrôüh©³¼-¼ !¹UÒÍvùäÈs]úìätÕ:=2à^@.§_&„´ÞJÑÚš¨5ÞÞãÝÇ¿HwQO¢˜ü>'»Ù[¹·!žfž’…žfžB‘ðNÞI­àꪖ+ë+ !.Æ.Rå]>9ò\—>;9¤‹†Ðé ÷:à™èŒèí7·?){¢ÎRtürø—ôþÑ"~QxLøÍœ›Oëžh8Ì0ƒþ^"ã¨ä¾ØavÃöÇíÏ®ÈÖ`iHµ/emÔÚ_îýBñ2ó:ùîIÉvvÅîÚ»‹2Ôvèó6ËÞ+¸7í×i²ûºÛëÛ&n{ÞѤ’$&ƒ)h,ŠX›+hØèÛLî?y¶ïl¦ SrÆ®e^»8ï¢ì¾h_ÿêø?¨?ÛÚ_žw™Rß\;÷ö'Ã>‘¿ÙÌòLƒÁÕæJr9\BHvE¶œÁtaËçSÏkªj¾7è=ÉBELŽ<×¥ÏNNW Aq}²ø×ã¢Ç - [Æo1Ö2ŽÍ]~aùÝü»³# Ù†b±øßßa«±žú³¾MauáêÈÕ¡‡B3–eBdÝ7y¿ïó£OlnlcKãŽÐFl#©ö[³rÄÊ•#Vzoõ¦KöMÞ—Pœz(tÁÐK–È‹¯¥/Õ{§ñjy cê‘©sÏ]5jU‹¨åÈý#ßG_Oç*U‚ªW¬ymükN–--äzp=¾þ½FèzÖõ&a½4_žfù |5¦“Á”,ÔRÓ"„T ª©%5%SLÕTÕüó?µÕµåŒPž–¥Üν}:éôÆ×7ZêZÒ… šy®K'† §>9]5ÅM ôeXaÿªj¨Ú4n“G3ÊyÔbÿÅÅüâŸb"„×çTæÚ:9©1Õì ì6¾¾‘>QöQšX,Þ<~³­¾mëö{ Æ–ÆQË0ûaóÏ3dr9ÜÏ?÷³õ;—rŽZBYµfå 1®cälóÉÓ'Ó›þ¦ç›Kƒ–JnKˆL´7´·7´ï\³41B Æ¿Åb‘X$‹:ÚN»-KJ,Iüø¯W†¬œè1Q²\A“#Ïuéè^PÏ™œN“gr7ÐG ë€yšzjªjÒ‡Ù#„\˺Fár¸.Æ.‡îÚ»+§2‡bÂ1¡o&È>ú¬}3Ou–z›í÷@l56!$À.@²0Ø1˜r#û!$2=òföÍÕ¯­–³Á+W&žÚ/Tê ¨P$¼–u-Ä1„ú(g³::MÂ&¡X(YXßTO¢>šé˜Å|ùA¤ü7:äl™–Yž9ûøì%Kf üσk49DŽëÒÑ!tHŸœ®‚â&ú2¬°€° $?Rk?ÊëË !Læ‰Y'ŽÜ?r!õ¶˜m:ê:sÍq纷{”¦£®ó¼ö»Ü‹ïë°Ð±¨Té³õ% µ !õ„ÓI§ËëËm$u"Õ/—ý¹ð&]x3çfAuÛ`gìÎ`Ç`G#GÉP«Uô"9›u0t¸›·´¦Ô\Çœ®SZ[J±3°“=pÙäo™WË{ïø{ þ`¦ÏL©F49DŽëÒ¡!tTŸœ®‚â&ú2dð/~#_ò#•ÐëεԴæ™?ÈüšÆšèŒè7w„þzbÖ /s¯vRè/…m¶/ùWw¼ø¾_+ߤÒ$^-O²°¼®œB½dzGè©S¨ý¾m¾DÜZÏúÈô#¹•¹“Oþð䇧Þ=¥«¡KŠzeÀ6 ®*³¯Ú¼z7ÿnbI¢ä÷ÂÄ’D¦ s°õàNZþ–ëšêÞÿãýIý&}ðêTIIMIðîàä/’åEþÉ!r\ù‡Ð =|rºjŠ›@è˰ þ•X’ØØÒH¼‘uƒhHIᥠÙ1„zaŸ¶ºöD‰_øZ(RkZd•l_Ð,h³}9Q Àš…Í„^-Ïq½£âž¨3¥ÿ†Jdz¤datF4!¤£¿.B¬ô¬Ô˜jNFN['lͯÊ_|z±Pôïò•¨'Q!N!’‹õå1Ùs²SítÒiº¤ˆ_t7ïî(çQ/ø:yZnµ|ü×Ç-¶»­_šy®KŸœ®‚â&ú2dð/a|ñ÷yUyuMu‘é‘Ûb¶™é˜-º€:ZV[¶:ru1¿¸YØœW•÷û£ßU*ôŸ²Rt5t¿øû‹œÊœ6Û—‡µž5Gó¨èQ]SÝ™¤3\×ZϺ«†/ÅÕÄõ£!]ɸ^V[Æ«åmº¶éfÎÍw}ß`> ÓÍ;/ X“³þŸõ„´²´üªüŽ.Í'„XèZ|ô奴Kûïì4 r*sŸ^l¨e(ù–î’š’€]¯í{­¦±¦k[^~ayLv̯~u\ïHÿϧGG!EžÉ‘çºÈ3Bˆß¿€]ÿÙÒ®>9]59' CÔÏ“ÐdffÊ8zþ<',Œ›‘!«N'H¾O#À>`ß}YåYšªšö_ÿÒLÇŒ"‹¯g_?ñøDRI¯–§«©ëiêùÞ ÷†Ø i÷(!„zrîD‰cÝÆn»±-³åдCÿdüC½¯ƒ²n̺©^S !ÑÑþÙPX]h£o³jÔªAVÒ‹ã»Ö_‰¾øIÙƒájâ:Ó{æ¤~“ZWµoTVy–dÉçŸÏ2ÿëK_ÿþðwºð윳×2¯mº¶‰.±Ôµ|Z÷ôîâ»’ûøÛm–þx!õÂÞ;{ÓËÒ5U5í?üœšOJ¿hÊá)l5ö©wOÑÊ¿þþ@ܩޮ|xÅFßF²DvËž›=%o[ÑÔ˜jÔ""EOŽ<×Eö„b¡ç&Ï!6CL}6/ÁätÉä¯ÐCÈóï#‡Ãár¹2*€¢!ëèA”’ut:ëØ<~³²céYÞ8ô†±–ñžÉ{”HO¤Ðɹ‘}ã½ãïm¿YêÁP½þæHBÖÑ+`…€rðjy % #œ;¼K¤/PèäÔ4Ö¬»²îU›WÇ»WDûІ¿9ÐáVÊaÂ1y²ô‰²£è¡:9ñÅñ–z–›ÇmîèVìs 7ê•ÿÁ€^dÞŸó|~ô!„œN:í¸ÞñfÎÍvOP(?[¿}“÷á…wÝ ÷:@±öMÞ§ì@Ép¯ Y(²P,d XÈ:@±u€b!ëÅBÖŠ…¬¤EgD‡Ç„;mpzïø{taCKÃ/÷~É­ÌUb`ŠówÊßþ;ý×;¾sìeÇðBÖÒ‚ƒÃüÃTÿùïCdzäÚ¨µÛb¶uC¼Z^xLø­Ü[ÝÐ!döñÙûïì_²¢{ºèƒu€\F8X²b‘ߢnè«´¦´;³Ž1®cN¾sÒëÞ=ÝôA,e½ƒ¦ªæ{ƒÞk¿^/ô–×[Êà%‡¬!D$ÅdǤðR4XCm‡:9I½žuýQÑ#Bˆ©¶éT¯©R%SúO¹•{+¹4¹¾¹ÞPËp¦÷Lê¬ô²ô¸ü¸šÆc-c;SmS©N3Ë3ïäÝá7ðÍtÌ<¸ŽFŽ„3IgîäÝ!„ÜÍ¿N±Ò³ íÚfØEü¢?ãÿ”=4gcçÑ.£;>%Ðeu©TÍûsÞã¢Ç#GZêZ~}ñë Ç ÖÕvßÚífâFet‰£‘cÔ“( –†•žÕÕÌ«"±h¦÷ÌÆ–Æeç—ýò÷§ÖzÖ×2¯}}éë%Kæ žGØ$lZ~aù™¤3Æ;9¦g¥/¿°Üë¾3tg7º² +/®|XøpÓ¸M“úM¢J–_X. é ööïl]’\š¼ÈoÑHç‘„·}ÞŽÎŒ&„¬‰\s6ùìš×ÖÌðžAÕ_qaņ689 wNUˆHŒø~ì÷SúO¡*Ü÷¾ÿÖ¯o•×—Oð˜`g`wüññAVƒÂüÃdGn®cÞnP:ì&èëÊjË.¥_2Õ6è1‘.¤oJ´‹ËáR)!ÄLÇl¦÷ÌJAåŸ iM0®öÁ«B¨¼¥RPùGü\÷MÏ7é -®YaÄ6zñ@Oƒ{}]Fy†X,¶5°e0t¡µ¾µäGLu¤wk¤ñÒ„"¡KcûÍít¡H,"„<,|HW°3´“z8o'v«c_@¯€¬!„AR¥JžKÜv1S…)ùQ…¡B-…Š„âç/)d}“‘ƒÁȮȋÅôý"~uw¢\M\™*L5¦šÔŽ‹èŒèŠú ¦ ÓÍÄ©ÂÌ.ωEôí±X¼çö?[?O3O*c‹Å„†–†½·÷N0ݘcܺ/ìëè°¯ ¯3Ò2ã2¦¤¦$")‚.<w Ó êiêM0íÉÓ'W2®Ð…ÕËÎ/khi *Lé?¥´¶ôdÂIºÂÙä³?ÞøÑPËb¬eL©j¨"„d•gm¿¹]¥Öéx@ép¯È·£¿-­-]zné•'W,õ,=öàz0U˜¹•¹á1ᣜGñjyŠ5¶4–Ô”„Ç„‡8…š±9±t‰…®…äÖð•!+Í‚§ ·î`äPQ_™9Ñc"ý*oF~#h,¿°<2=ÒÑÈ1·2÷fÎÍÍã7›ë˜BŒ9ÆÃì†M>«ÉÒ¼™ss’Ç$] ]Å ?&;æAáƒ*A!$¯2zIÈ;ßÑÓÔS\§} ƒZÃ=Aff¦Œ£çÏs¸²êtšX,ŽÉ‰I.MVcª ²ÔÏ´ßö˜íÔ :ë +ÓY]"•uP²Ê³nåÞâ7òØFƒm[ëYKUÈ,ϼ{»¦±ÆTÛ4À>À€m@jµ\J»TX]h£o3Òy¤Ô¾ó®EeR…È:z yþ}äp8\.·ÛB‚Öuô JÌ:z)d½öu€b!ëÅBÖŠ…¬ Y(²P,d XÈ:@±u€b!ëÅBÖŠÅRvÐSðjyÇO*Mªmª‰D„_+ß%K!›®mzPð€âoç¿`è%Úã]H½pôáѽ“÷jªjJ–ÿ|÷ç¨ô(Bˆ—¹×Ò ¥ÝÖ¯lŠŽ € ëJ*/uÆÑFZFsͱԵä7ò?:ž^–Nï>ÞÇÂçƒ??0Ó1Snœ½Âñ4¶4¶þêääÁõ˜õû,u–zwö+›¢£ È:€²åúA³àÐ[‡è¼b˜Ý°b~1õgc3mär©o®¿{û“aŸ´>dg`gg`Ç`0º¹_ÙYBHbI¢µžµä­ mummcm%†ÔK]ϺÞ$lá4¢ô ì&B4 8jeGñ2ˆL´7´·7´ï#ýÈ÷:úº#÷\H½Pß\ŸQž1ã·RGç™`ð¼sÍ‚“ 'oçÞ®mª5Ö2v ~Íå5† Ý,!ÄÉØiIÀ’q’J’ô4õBœBÆºŽ•l$¡8á|êù¬ò,1{˜zL0Ý„c"ÝÈþ;û“J“ô5õ§ôŸòªÍ«¼ZÞÁ»ÓËÒM´M¦ ˜æeæ%glmJ+K[}yµì¹b3d‘ÿ"„"ᵬkSúO¡KJkKß;œÂKÑ`iøÙúMóž&ÿ4Þ+¸·åÚºÚÿFýÏÅØ%±$qÝ•uTÉìA³G9jÝo³°ùoæÜ|Z÷Ôm8ÌnØ×1’Û6ä‰JÆuè(d}]€}€³±óÜ?æšj›.¶˜.¿“w'<&üÍþo>ïÄ"~ѬßgU7T/ô[h­gý¨èÑ’³K†%û韘*LºÙJAå’3KF»Œ`>àT©°ˆ°êת§{O§Ù}k÷æë›gûΞî=½¢¾âགྷGî96󘣑£dl•‚Ê/þþbŒë˜þfýÄxçØ;^ßp:éth¿ÐæöÜÞ3õÈÔÓ³O»š¸Ê[›Ã1×1—~› Ù†²+Ü+¸W%¨¢—9¥òRßþým&ƒù±ßÇ–º– ,ŽîBF¨†ùpþÉù\wÃëÌuÌ !VzV †.øèÔGk^[ãeîÕf¿ÿõñ£¢Gaþa6ú6…Õ…?Þøq핵÷ß“?*Ù× £uôu6ú66ú6,G3Øz0]^)¨”}âgg?Ë­Ì=öö1_K_BH°c°Û`mÔÚ_üú®ï»t³å;Bw8:B†Ú½žuýDü :ë¨TNí?uEÈ êcˆSHÈžW7î¼W2¶ÌòÌ¡;©åCÎÆÎ!{B¾:ÿUôühꋸ¾Í¸ŸÇL8I·#;¶6‡£­®-9üΉzeÀ6ð¶ð¦>~yîË*AUÄìˆ~¦ý¨0~¾ûóÅ´‹òOc }àx÷ñ§N©³ÔµÕµ !ººeueýLû…ö m³_^-/:#z¡ß·}Þ¦ŽzšyN<8‘®,OT²¯ @Ga_tF~UþÝü»¶ú¶ÔweÊ뮯BN%œ’¬i¡cA¥„ –†…®Eau!}t¦ÏLÉÇ.éjèö3í—'Õ…®½cÁZÏš©Ât4r¤RBuˆnVþغ\Ô“¨§jWvEvri²£‘#õåž2Îmœd}yBûÊ\BÈþ;ûé âÌ<÷yýj«këjèžK9w¿à>uÔƒëqtæQêÏòDEä¾.r½èŒÜÊ\BHUCUë­ iei’¥V%±UÙ%Âú#—ý”véVÞ­²Ú²ú¦zBHúÓôÚÆZ¡H(¹Ê@Ó€þ3ƒÁ`2˜ìg%jL5BH³¨¹eÖÁ³ IDAT£±IzÁ}ieiùUùôý* ’zâ°±–±äÞyBu6vf7ìrú弪‰\¹jGìŽão7Õ6•'*]èËu@g¸sݵյËëË}-}%üÞ³½QØ(牅’J“F»Œ^´”.ÔÕÐUJl/¾¯#êI”Ÿ­ýjp®‡¦ªfFy† Y@>yúD,~öý^ÎPýlýÜLÜN&œå<*—¶oò>ýæVæn¹¾eÛÄm::AŽAAŽACm‡~rú“ˆÄˆùCæË•‚® ôeØ×¡ÎRÿ<ðó’š’-×·ÅBªðrúåÝ·wËÿÝÝJÏJ…¡’ÂK)¯/§J²Ê³>è ±u¯–—P’ ù’>MUÍyƒçñø¯n‰E„šÆš®þйPçž+h,økÁÛ>oK>·u¿õÍõçRÎQO¦d<Í „PÛ`ä‰JA×ú2†äï[ \™™™2Žž?Ï ãfdÈªÓ Ô;1îÞ×`ixp=æ žä4ûøì’š’Œ§ö†ö\×ËÜënþÝû÷ Ù††ËC–S{‘O&œÜrmK£°ÑFߦ¼®œ²4hé×1„3IgŽ=:F7»34 Ï¿‡Ëåv[Hв€D)YGnenIͳíÝvv&“»ùw© ! CWC·JPE×q5q¥×ÛˆÅ⬊¬ê†jc-c ] zËD¿(¿*_òa¤ðRèk=k33BH“°)¯2ßÈ7Ó63Ó1K/K§Úk¦cÆRaI5RßTŸW•G—xp=ªª ª è77 Ù±)Âû'Þ¯i¬91ëDëCµµ™™ª*ªÎÆÎ,V\~õ^C#-#ùCÍ*Ïj6R9U»ýŠÄ¢’š^-OG]ÇJÏJ•©ÚѨd\k=ëÎÍ€" ëèuô JÉ:àÅÕ7×ûþèûɰO>xõƒ¾Ð/@‚¬£WÀnr€ÅVe'‘Üwúè(ì&ÅBÖŠ…¬ Y(²P,d XÈ:@±u€b!ëÅBÖŠÅRvð2øúÒ׿?ü2ÌnØÁ·*º»µQk¹÷ !ÄËÌëä»'Ý]kB±ðÈý#Ûnló4ó<<íp›u*•»bwEgD—Ô”k²4ç•9n&nÝ*@O€{@â‹ã}~ôÙs{O§[øöµo3–e0U˜]• +G¬ÌX–¡­®Ý=ÝI¹•{kÜqS/Ö4Ö<¯NVyÖØc‹ùÅ{'ï}øéÃoìL*Mšõû¬îŒ ç@ÖDLÄeÒ†„âÇõŽ[®oQv Ï|õígŸmx}Ãó*ŰÓaVºVá“ Ԙj\!+º3H€+¬€x™y=üô¡²£è5N½{Jƒ¥‘[™û¼ ‘é‘©¼ÔðIá*Œg¿ìøÙúÝ[|¯[èqp¯ c4X²+\N¿Lñµôí–pzÜëèëž·3ûÉÓ';oî¼w»JPeÀ6ð·ó_è·ÐZÏš®p5óêö˜í©e©, ?[¿å!Ë[7žÊKÝqsǼ;55&“ ‡ °aa†lCBȼ?çý“ñ!d¢ÇÄavÃöÇíÏ®ÈÖ`i:~9üKSmSÉ:»bwíŠÝEj;Tj÷öãâÇ뮬K*IÒÕÐáõüâÓ‹Z <õî)+=«¾øû ©!·so¿ÿÇû®&®‡§¶1°yXøpÙùeײ®EÌŽÐÓÔÛ7y¿ïó£OlnlcKãŽÐFl£ØÜØå–ßÍ¿1;Âm¸oò¾„â„ÐC¡ †.X°¤uð¼:ÞÁ¸ƒ›Æm2`œJ8µ:rµ¦ªæ² eϬ¯¥oƲŒ.š¹çâÕò ÆÔ#Sçž»jÔªQË‘ûG¾þ>¾8þó€^ +¬@šH,Zzni‹¨eû¤í\¶*ÛÇÂgë„­uMu_ÿŠ" ×F­e©°Â'…»»°UÙþvþoû¼-‹$Yv~Y‹°%|b¸×­Êö³õûfÄ7Õ?ÝúI²;±X¼yüf[}[Ž:g”ó¨Åþ‹‹ùÅ?Åþ$V[ÊëÊWZe¥g¥¥¦5kà,ŽÉµÌk];ÐØÒØ"jf?lÞày†lC.‡ûyàç~¶~çRÎÝʽ¥ìè”YHK+K˯Êw1v1×1§ ]M\MµM“J“ŠøE©¼T^-ÏÅØÅ„cBWl=Xª‘‚ê7®›…®]8Äf!$2=R²¦§™§:Kþ8Ì~!äZ–\Ƀ•ž•ž¦ýÑTÛ”WË“s˜ŠÃVcBì$ ƒƒ !7²o('&¥Â +ö´î)!ÄPËPªÜH˨˜_\V[ÆoäB Ø’Gõ4õ$7-P$–$:®w”j§ º@(Ò•uÔu$R»>ÊëËå •£Æ‘üÈ Éû-­uϾ ‹*A•>[_²šÏŠúŠi —BÖÒŒ´Œ!åuÒßû©D˜cÌb²H«/ÐuMuB‘ðY#l#BÈ+V¯yTvwRíPù•{B F§ѶîÙ×ákå›Tš$u×…šOjnú¬°i.Æ.VzVieiEü"º0•—ZRSâÁõ0×1w5v5ᘤ•¥I~±¾›W²WW}›Ô²T©xÏ91çÓ3ŸJ–$–$ šôÇY7!öÔGêTÍÂfB¯–ç¸Þ1»"»«Fª SúOQa¨H-$‹Îˆ&„Œp¡¤ ” YHSa¨¬»ž¥ÂZ±(©4IÐ,xXøðÓ3Ÿj©i­»ŽÂTa~3ò¡H–^–.hÜν½ãæÉû cýØõÍÂæ…-L.Mnhi(â­‰\_¿Ðo¡dwºº_üýENeN]S]dz䶘mf:f †. ŽZëYsÔ9ŠÕ5ÕI:Ãåp%ŸÞÛ3¹š¸~4ä£+WÂcÂËjËxµ¼M×6Ý̹ù®ï»Ì(;:%`H=é”(33SÆÑóç9aaÜŒ Yu:~_eݘuS½¦BÒËÒwÆî¼{»JPe eàoë¿È‘ä7þëY×ÃcÂSx)ªLÕW¬^Y´tì±Ô"«Íã7Oô˜HÉxš±3vglNluCµ1ÇøUëW ]`g`Gµ@=9w¢Çınc·ÝØ–Yž©ÁÒ°ørø—f:ftGÑÑþÙPX]h£o³jÔªAVƒvßÚ½éÚ&ºÂ¡i‡X*¬™GgÒ%Ë‚–Í<·k'Šö}ô÷âH^ùðоdÉ_‰¾øIÙƒájâ:Ó{æ¤~“@_&Ï¿‡Ëåv[Hв€D)Y‡ÑYÇæñ›• ôVÈ:z¬°ÅBÖŠ…¬”cÞŸó|~ô!„œN:í¸ÞñfÎMeGŠ‚÷u€r웼OÙ!@7Á½P,d XÈ:@±u€b!ëÅBÖŠ…¬ Y(²€¾îLÒ™®þà¸Þñ³³Ÿ);y5´4ürï—ÜÊ\eB!§üí¿Óßq½ã;ÇÞQv,=²€¾n‚Ç„_ýPÙQtLdzäÚ¨µÛb¶);2ûøìýwö¯Y¡ì@z4–²è°N#V„¬î0\Ù1®c&{N.¨.Pv =²è}4U5ßôž²£ „·¼ÞRv½²x®ÌòÌ;ywªª ØCl†XëYK‰E1Ù1)¼5¦Ú «AýLûmÙ.&bBÈ(çQ®&®ÏköLÒ™œÊBˆ‹±KcÐÕÌ«ÙÙ, ;CªÎõ¬ëŠBLµM§ôŸr+÷Vrir}s½¡–¡•®}hª×Tù–RÄ/ú3þOÙ3àlì<Úe´ì:Ð.ìë€64 ›>ÿûóÑûG_ͼZ%¨ºzaÄž«.¯Š„T…*AÕ[¿¾5÷¹ñÅñ%5%k£Ö®‰\³#vGDb„<í7¶4†Ç„ÿþè÷ɇ'_L»ø´îé©„Scö —¬¶ûÖî_üúáÉ=:V)¨¼”vé×û¿Ò‡Ž?:.À D¸×mX¹&"1bíèµÓL£J~ºõÓæk›µÕµ? üŒ²òâʇ…7Û4©ß$ªÂÿ.ýO(ÚèÛ„ù‡Én|‚Ç~Ïí=7snþ>ów_K_BˆP$üèÔGá1án&n#GØØ¼{0¹4y‘ߢ‘Î# !oû¼MêPÀ­™ë˜·*t Üëi•‚Ê?âÿàr¸’ë—æ šÃVe¼{°¡¥¡¬¶ìRú%SmÓ‰é ó^×ÑŽ¼Ì¼¨”ƒÂTaÎ<røþaÉ:\—J9!f:f3½gv"àŽ] ÷:@Z/M(ÚÚ©0žý0¡ÎR·Ô³L/KÏ*Ϫn¨‹Å¶¶ ƒ®`®c.Y_º’í í !iei’…¦:¦/°;×½õYØ×Ðmp¯¤Q;Ÿ‡Î4„!Y.&bÙ'¶&‹þÓ‚XܺYyš”3`PÜëin&nLfVy–H,¢ï4¶4Th°4ì ìjk FvE¶X,¦¿ÓçWåSiƒüò«ò%?fWdB\L\º<à6Ͼ€nƒ{ MOSoJÿ)¼ZÞ‰Ç'èÂqê›ëßôžKÃHËhŒË˜’š’ˆ¤É í(¹4ùNÞêÏB‘pß}„Y>³º<àŽ6] ÷:úº3Ig¨­©¼Ôð˜ðÐ~¡VzVߌüFÐ,øúÒ×ÑÑö†ö©¼Ô؜ؙÞ3?ö uÖ·£¿-­-]zné•'W,t-=î0œ©ÂìP×#œFl»±ÍTÇÔˆmt'ïN /%Ì?ŒÚ;~¯à^lNlcKcIMIxL¸…®Å›žoRgQ¯ò …8…xp=Ú XAb²c>¨TBò*ó¨'ÿ¾3ð=M=…ö л ë¢ÎR—Zk¤ÆTÛ<~ó‚¡ nçÞ®n¨~Íùµ5¯­‘|éž®†î±™Çbrb’K“ÕYê¡ýBm l7]Û¤¡Ú šªšá“¯e]Ëxšñ†ç’o ¤Ì2ÿyçJj7`…ÒÓÔÃb-uôu<&<ƒT@K/KÏ«Êá4b˜Ý0ª$•—J±7°ïPï,VˆcHˆcˆT¹¯¥/ýP])Ôû::°‚øÛùûÛùwg½öu@g¤?M_¹º¶±–ú(‹öÞÙËRa½áù†r€÷: 3ì ìTUTÇý<.Ø1X…¡r7ÿnVEÖÆ×7R· ª N%œzÞ¹ªLU*]‘ÜIÒ}¡@·CÖáÁõˆú0ênþÝÌòÌê†ê9¯Ì °Ð×Ô—óôÖ;Ià%†¬:I…¡2Øzð`ëÁ­YêZ"©öu€b!ëÅBÖŠ…¬ Y(²P,d Xx_Àü|÷ç¨ô(Bˆ—¹×Ò ¥Êàe€¬à?‚‚<¸³~Ÿ¥ÎRWv,/ dÿag`gg`Ç`0”ÀËû:@±u€ba…@_wäþ‘ ©!NÆN‹ýºw(™—\×Xg¥gU!¨¨k¬£ª…z†Né?…r6ùìÉ„“{'ïUcªB¾:ÿUne.!ÄÅÄå#ÿ׺ý´²´Õ—WËŽaˆÍEþ‹:Þ†×7BŠΧžÏ*ϱ‡©ÇôÓM8&­Ï]°ä@ܤ’$=M½§±®c%{)­-=|ïp /Eƒ¥ágë7Í{ZwNÀKY@_`àlì<÷¹%5%)¥)=&´x:ét|qü·£¿]½>¾8~÷›»©ú¿Üýåqñã«™WG9"„Ìðžqèþ!¡HH}ánÍ\Ç|ñ°Å²c0dv"Ma«²û›õ'„Œq£ÎRHŒ Ê#’"&÷ŸìeæõOÆ?ü>!$¾8^$y™{)%¼™>3?ö ]GWC·Ÿi¿¸ü8©s-t,¨”ƒ¢ÁҰе(¬.¤>fWd'—&;9R)eœÛ8ùcè9SÐcá^üKOC¯u!G3ÂiÄ…Ô %5%¦Ú¦§OïÝa£oóøòã‹i§zM=•p*´_¨Œf_p_‡ìð¸K·òn•Õ–Õ7ÕBÒŸ¦×6Ö EB¦ “®&µ‚‹­Ê.–P¦Ò3m3É ÆZÆ*Œ6~”Qмôu@;&yL:—r."1âëW4T5ܹîæ:æk£ÖžN:ý†ççSÏGÌŽqú îë¡YØ<õÈÔÔ²Ô9ƒæŒt©¥¦EÙr}Ëý‚ûDî—mh¨jBêšê$ [D-b"–?’œ"€—²hG€C€!Û0")¢ˆ_Dýf¯§©7Üaø•Œ+Gu6v6×1—qú îëáAფҤÑ.£—-¥ u5t;Ôˆ×CSU3£3_w{}¡ßÂfaóþ¸ýçRÎYèZTÔW, Z›_?ã· †.¨¨¯èÉSÐó1:´Š*33SÆÑóç9aaÜŒ Yuúyþ}äp8\.·ÛB‚Ö°Â  Y(²P,d XÈ:@±u€b!ëÅBÖŠ…¬ Y(²P,d X,eÐ1óþœ÷OÆ?„‰7ßÜ«{kЋà^t¥øâxŸ}öÜÞ£¸.öMÞ÷à“Šk¿;{é!ºáª)BŸºF½²èJb"¦Ð% Å Žë·\ߢĨzN=Së«е°Â º’—™×ÃO*; è\5P4Ü뎀¾Î{«wMc õçC, XBÙz}ëžÛ{n/º­§©Gp|Ji !d å@OSÏ_îýBñ2óZ¼t˵-I¥I‚f“‘“Ÿ­}èä»'‰Ä~ß]±»vÅî"„ µzxÚaª»T^ꎛ;îäÝ©i¬1á˜9… 3dvbüþñœK9—YžIqçº4ä£ûê¨ì0:äÉÓ';oî¼w»JPeÀ6ð·ó_è·ÐZÏš®p5óêö˜í©e©jLµAVƒ–-{`¬P$$„l¿y¢ÇÄÖmÞ+¸7í×i²û}Ýíõm·µyHrSõ0»aûãögWdk°4¿þ¥©¶)!dmÔZù¯šœ#•$£}cŽqlN,‘øÛõÃÕ¨=$£]FïÝ!uú7£¾Ywe]RI’®†îçË‚–iªjÊž)ЏFð‚XÈ ÐsdffÊ8zþ<',Œ›‘!«Nç,ŠXt)íÒõשo¨„á? /¨.XóÚšÞ3¨’µQkõÙúý˜úè½Õ[•©:À|ÀÒ ¥–º–¿?úýø£ãæ^ ÙØÓß_ŠB…Òß8i·so¿ÿÇû®&®k_[kc`ó°ðá²ó˘ fÄì*Õ‘ßÀ÷ùÑGòÉEßGìѱ-¶ µZQ_±ýæö“ '÷¼¹'Ø1Xvê%.?nÎñ9.&.k^[cg`—ÊK]qaEqMñÑGݹî„ó©çŸ^<Ðbàê×V[éY=*|´ùúæøâx[ÿƒo”³ßN B5æ´øùðÏØF±¹±Ë/,×TÕŒ˜A'rò_µvGÚ¦çµßzòë›ëûoîOgôéuÎ@‹Ÿ~fÀ68öèØ÷ÑßÏžN:=mÀ´áÃ>(¨. „\˼f§og©k)y–¾M»7%ž'­,­ ºÀëf¡kA±B‰LìDƒ_æFdª0Œ’yÉ ¯MieiùUù.Æ.æ:æt¡«‰«©¶iRiR¿(•—ʫ幻˜pLè ¯X¿Ò…1Èæiæ©ÎR§?³F¹–õŸoíò\µvGzäþÇõŽôÿ.¦]ìPû2XéYѧ3 ®6—WË“ÿôžú,ìëÂd0Ç»?tïPRi’³‘óÅÔ‹¿ÿ·¾MÔ“¨³Ég?òÑ©„S¡ýB¥ÎÒdulµ½¤§uO !‰%‰Žë¥TEB¦ ³C f•gˆ;›û´î© Y@—w¢©ç¡b6Ô’Þvb¤eTÌ/.«-ã7ò !lÉ£ZjZíð‚û:h:ê:’©…Uåõå’…ò\µvG:kà¬Ygµyî‹ü­ „pÔ8’UUTEb‘ü§+îÀ BÖ„2ÉcÒ¡{‡"#Y rçºs9Ü`Ç` ˆÄˆÞ3bsc×]ß¹– FëB#¶!ä«WŽÎ<úBqB©TM92…Á`l·iÕ -5-BÈü“ó£žD‘ÿï¼Í0:ÄHˈR^W.UN}Ó5泘,BHE}…TlÔ6e|-}3–e¼`x­»¦òNìÎow¤mPEE…Ò,l¦Kø üŽ6"Å]#xAXa„âiæé`èp6ùìÉø““úM"„¨1ÕÆºŽÍ,ÏÜøÏÆ@û@Ž:§ÝFÚD=€ˆúÆÉ«å9®wÌ®Èv5qµÑ·I-K¥ŸE™sbΧg>íh©¼Ôê†j[ÿá锃ÒÐÒÐnêÅÅØÅJÏ*­,­ˆ_$ÙuIM‰×Ã\ÇÜÕØÕ„c’V–&¹((.?®£Ãé´±BëÄ IDATÄ’DÉû<7²nBí;ÚN»#íhƒÆZÆ„’šºäQÑ£Ž6"žú,dð¯Ð~¡OëžÆæÆŽvM•PéÇñÇÇ[/¯’Ÿµž5Gó¨èQ]SÝ™¤3\×ZÏšÁ`¬»¾Yؼð¯…É¥É - Eü¢5‘kâ‹ãú-ìhî\w=M½ëÙׯd\4 jkþˆÿ#.ï?_%Û £C½¨0TÖ]ÏRa-ŠXD=öaáÃOÏ|ª¥¦µnì:BS…ùÍÈo„"aXDXzYz}sýÍœ›¿>øU…ÑMÿ¥ÕÕÐýâï/r*sêšê"Ó#·Ål3Ó1[0tAGÛiw¤e¬eìbì—'h<(|p*áT'Úù+ñ/Çõ޶ètäJ¿F}žœ ЃÈ~rî•+Z~hšœœ¥¦¦ÿÛó‹ œà1aÓ¸MT‰X,ÞÜÐÒ³ †^ø¾ûÖîM×6ÑgI®’¢ßº@Y7fÝT¯©„èŒè ÿl(¬.´Ñ·Y5jÕ «AT…Œ§;cwÆæÄV7TsŒ_µ~uÁÐvv²ã¤_OA94ퟭ_ /eëõ­Šñøf:f¡ýBã‹ã¯f^%„¼ÿÊû_%# ù{!„¤—¥ïŒÝy;÷v• Ê@ËÀßÖ‘ÿ"ÉæzÖõð˜ð^Š:K}ˆÍåÁ˃vØ쟲_ö¸^ýÙ±nc·ÝØ–Yž©ÁÒ°ørø—f:f¤SW­Ý‘J’Ñ>%³ïWÿ çž{îsΕrŸÜsîR>xp%‡_mh÷²³µBCõ6ˆ×8±lÉ’B ‹:ÚÁ[5Y@¢rÖAD"ëŸøFGsÙlI×®B ŽÏ·bx/†XÌ*)a?|¨­Åã‰ÇŒ©xûíwwÕW…¬Cãu´!-É:¤òó9‘‘¼øx‚­òr<Ã@-rrþ¹ÿƒ‘#35ÀˉÍ&CC±ÐÍ­ÆÃ£ZW·¥×«È:4Y@Ò*Y¼gÏž HIIÑt  d‡Õä ^È:@½u€z!ëõBÖê…¬Ô Y¨²P/d ^Zšþƒ×¦´FFF„ßY€öCK ½†Іðù|M‡Jár¹„ßY¥a†¨²P/d ^È:@½u€z!ëõBÖê…¬Ô Y¨²P/d ^È:@½u€z!ëõBÖê…¬Ô Y¨²P/d ^È:@½´4@;  ËËË¥+**ˆ¨¨¨HZÂb±Œ5@{À’H$šŽ ­ËÉɱ±±‰DU>|øÅ‹_dHífX4M øúú²Ù ÿÝd±XÓ§OÁ!´#˜aІÈÎ߀¶fÚ´iW®\ip‡Ãyå•Wð+ Ðfiiiq¹\MGÑ¡!ëhCrrr44ÊËË‹ÃáˆÅb¹r‡3dÈ¡Pˆ_a€6‹Ïç#ëÐ,̰P ŸÏ:t¨––üv‰dòäÉ  ½@Ö ¬É“'×_P®­­íçç§‘xÚ dÊ>|¸Ü$ --­Ñ£Góx>>Œ ]@ÖÐ ÞÞÞFFFÌÏÚÚÚ&LÐÖÖÖlHm²€fàp8&L`&Y …BL¯P²€æ™0a3ɪS§Nýû÷×t8í²€æéׯŸ@ ¢)S¦°ÙøK Ð4¼›àe“ŸÏ‰ŒäÅÇëh•—³4ÀËI_Ѧ¸¸·-h:€—›M††b;;¡›[‡Gµ®®DÓAK!ëxIˆD¬þáÿù§á;\6[âè(êôõÅšŽ àådmýFNÎCÃ>šàå$±ÒÓµ/_ÖËÊÒâñį¼Ráï_âî^£é¸@uÈ:^‘‘¼U«:¥¦jU±sg¶—W%‡¯…ÔÊâüù€1cr4ÀK.;[+4TïÈÃ×^³8±lÉ’B ‹º¦wƒ¶‡%‘àÒ ­HMMmî.••ìåËÍOŸæûùU.[–ߥ‹PhÖ… ú?ü`VPÀYº´`ÆŒÒæîÎçó™åX )¸×ÐŽeei½÷žen®Öž=YÆUj:u=ºbèÐÊ;L¾ùÆ<%Egùò|GÓ1As ëh¯’“uüý­EÇ?¶µÅífxÉéêJ>ú¨ÐÕµöóÏ-=ÒÞ±#[[svÚ <ï ]*(àÌ›gÕ¹³ðÈ‘'H9 ã3¦üÀ'·nqW¬0×t,Ð È:ÚŸšÖüù–D’íÛ³ù|<¥ :–Þ½k¶lÉùûoþÎÆšŽ”…¬ ýÙ²Å45UgïÞ,SS‘¦cЀ!C*—-+ظÑìÁ]MÇJAÖÐÎkÖ,æ5k×®:uª:Ñ$µv°…í]¹r…ˆ ´aÃ"8p µµu+‡Ð|o½U2eŠí½{º½{×h:PY@{ré’þ˜1,–¦ãxéHþb¸3Ärÿþ}ææ‡qãÆi.€ÿ¸»×ØÚÖ]¼¨¬£CÖÐnsÒÓµ¬Òt /¡ýû÷Ÿ9sÆÚÚz̘1šŽ¥-ª­­e~ààuÐÐö Tu÷.WÓQ@u´))ÚDäì\«é@ž# ###“““kjjƒƒC¯^½Ølveeåž={¤ÕzõêÕ«W¯Ë—/çääèéé 0 {÷îD}÷î]"rrr2dëù{yOž< /((022:t¨Ü¡SSSÏœ9#ý8jÔ(‘HUSScmm=tèP###"ÊÍÍ=tèl$>>>W®\INN®­­íׯ_tt4³)))‰Ëå6LZY,ß¾};11±´´”Çã9::8PWW©'u&$$$&&fee±X,@лwoée:(7€DÔ§O___"Ú¹s'“XYY½ñÆ bP<€R5557nÜHKK«®®633óôô”†ZPPðǤ§§3cbb‰èý÷ßWrÔÍÙ¹öÚ5ž¦£€& ëh7Š‹9D„wt@›üõ×_çååééé;¶¸¸ø·ß~+,, ?~<:uêáÇDÔ½{wCCÞ={ž={6++‹ˆÞÿý””KK˼¼¼ .‘——WPP›ýìI'[¶lÙºu«H$rttôõõ=~üxiiOoÛ½{wUU;wÎÆÆ¦sçΧN*..Ö××_·nôÞ…4’‰'îܹ³k×®¡¡¡²[ßzë-iÖ¶bÅŠÇ;88 6ìÒ¥KwîÜ166^²d‰âkýììì ¤¥¥?^__?22’YMáçç·yóf§|÷îÝ[QQÁ NŸ>}¤åGµµµ}íµ×„¡äž={ö›o¾)**òððpssÛµkWEEÅĉW¯^ÍåâûchLMEEE¸ ×Ö!ëh7jkYD¤£ƒIçÐVDFF.\¸P$±X¬C‡õèуˆD"ÑôéÓ###§M›pÿþ}æj¾¬¬ìĉÚÚÚÝ»wÿì³Ïˆh×®]?ýôÓ”)SˆÈËË+//ïúõë!!!£G&¢þùgóæÍDÄãñ>lll\]]íãã#€££c@@ÀŸþÉd€¹9àçç÷Î;ïTTT|üñÇÌc—d#9}úôï¿ÿîííMD&LÐÓÓ›;w®t«Tttôܹsëêê¸\î‘#GLLLD"ÑØ±cÓÒÒ¾üòK"RxäååÅÄÄ:tÈÃÈÄbñäÉ“ãââ.^¼¸{÷n&Ïi²ƒzzz%%%AAADTRRÂÜè ¢É“'ÿüóÏ¿üò s¿¨AÊ …‡‡ôÑGb±ØØØøÀZZZ]»výæ›oNž<©¥¥µnÝ:333ÙÑëÕ«?@Û¡£#aþDB[†¬T´cÇ‘HDD...LÊADgÉ’%ùùùr•  ­­MD–––ÒBéE°……E^^1’"¢0?¸ºº—Ëõôô n,&‘ ¢²Ùl±X, <øÕW_ÉVsuu•Ö\´hQ§NlmË–-uuuL}¦kiiiD´iÓ¦©S§ž:u*##Cv¯Ù³góù|@ðÉ'ŸˆD¢ýû÷—––2‰SAú)%;èïï¿ÿ~±XåééÉìÛ¿&å8yòdƒ1(Ùþ®]»Äb1SMKK‹ˆzõêÅlú믿/^ŒU@«@Ö*’^@Ë&DÔ¿ÿú•õôô˜˜K[†¾¾¾\!sׂˆ’““™˜+þú?×Ç\[‘¶¶6ŸÏgf%%%ÉUsrr’þÌÜWiô©M¦¦¦ÒBéϹ¹¹¹¹¹ÿý÷µk×d÷š6mŸÏ/))9zôèÆÙlö¸qãºví*í P(lV;wî}ºj,Z´(""¢®®N€H$bB"¢?þ˜Åb56ûÈÖÖ6>>žˆ?~Ì”ÄÄÄ´¤ƒï¼ó³„=((ˆÇãÉ.do,%ÛŸ;w.“uÄÆÆ¦§§3̉D«W¯ …X8­…óí·ßj:xFñ÷¸ÉÉ:çÎñÕx‘lmm]\\nÞ¼YQQñÏ?ÿ,]K ‘HºtéràÀˆˆé݉ÂÂÂþýû3÷(nݺU[[š™™¹uëV6›-m­¨¨ÈÝÝ][[{Ïž=•••D¤««{ùòå{÷îVWWëëë¯_¿~À€•••r‘äääš››Qƒ[heeÕ§OŸ[·n†„„dffnÛ¶-..ÎÈÈè›o¾Qüä\ ‹óçÏ‹Åâ;wîþù矹¹¹Ò_ð’’’îÝ»»»»+ÙA"rrr:xð`uuµD"™9sæˆ#š<;J ³³³MddduuõéÓ§333oܸñÃ?ÑÎ;õõõ6›mccÓd /†2utt˜Û€ )¸×ª=z´ŸŸ_TTTRRREE…©©éÎ;™çY1™Àĉåv±¶¶®ÿ úÿþ÷¿ú¼þúëaaaÆÆÆþþþ‰‰‰Ò%ìõÍ;×ÅÅ%**jöìÙÖÖÖÆ “]ÂQ?Y nõññ ŽŽNHH(--;vì‡~8hР&ߎ7räÈÿý7<<¼²²ÒÖÖvÁ‚÷ïßg^†¨Zuuu׬YÃÜ?Qœð¨Ðþ믿>nܸëׯ§§§ …BSSÓñãÇKç†1@“XJ.Œ€@úÌÐ=ˤ¤(ªÐ 4ˆyPïºuë^ýuM‡/š2™GZ¿° >¶¦€—fX@{•ššzæÌé‚ààࢢ¢¹sçj6*¨Y´oÌs« -CÖí•££#í Ð.`]¨²P/d ^È:@½u€z!ëõBÖê…÷u´‚õë㢣 ˆÈÇÇbÁ•ë¼”p¯(+«êƒn\º”­é@Жc“5a‚íܹN7o槦–I å‚o°Ž Ú˘Há^Pllqpp–‰‰Îðá–šŽE^[ŽM–‹‹¡•O®P.ø먠½Œ €² ‘#­NŸöspàk:´åØš¤¦àÛõ˜@Ç„¬ˆˆºw7Òtj˱5IMÁ·ë1€Y@G·Ú¹sOˆ¨[7Õ+{KË««EýõèÆü’’ZSS]ooó‰í´µÿ[ VU%:~<ãÆ¼òò:ss®ŸŸå+¯X³Ù,¹6?ù¤ûÞ½)±±ÅÆÆ:#FXg#{ôœœê}ûRããKttØžžfÎt˜7ïºH$!¢ \ÒÓËåbS¾eá5(1±tåÊ{ŠÇÊËË|Ñ"×,#+«*((59¹TW—3t¨`êT{ç¿Øîß/:{öIZZ™DBnnÆÓ§;XXp7ÛäùÐ d¯¯ÀÙÙpî܈š‘´0+«Êß?¼°°fÁ—.]ô˾ýö^PPê¾}>ÆÆ:Dôôiå¬Ya%%Â… ];wÖ»{·è“On b±cÇ ‡%m³¨¨ö“Oncݧé‰7KJúLŸîÀ%!¡ä­·Â8Ö‡ºØÚêÝ»Wôî»á·oöìi¼dIOGG;;}¹Ø”lYqx Žƒµ5oñâîŠÇÊÌL·…Ëxò¤òÃ#§MëâéÙ)""wÅŠ;çÎ=Ù³g°–‹ˆvîLÚ°!öw§Ow(,¬ýí·”ýûÓòur2Pù|h²€ŽÎÞ^ßÞ^_Kë¹/Å?ýôVZZÙÑ£Cûö5%"??+Ã÷Þ»¾lÙíÛ222*òõð0c*˜šê~ÿ}ÌiþþŽÒ6SRJ·nàèh@Dƒ›_½zæÈ‘ inðÅ·‹‹kÿþ{xÏžÆL#ü‘U`d¤=p`'"êÔIW.6%[V^ƒã``ðì jXƽ{E¡¡£¬­õˆhÄKmmöž=É¿ÿž2wn7"**ª™6­Ëò彘Ê#FXŽüã~ùÅ«±f›<_š…›ï /3³òæÍ|GGæ–áçgib¢’U\\›™YUÐ¥ Ÿ¹¦g¼úª 8ñH¶)=&1 ".—cc£ÿäI%ó1=½<.®ÄÉÉ€I9cÆX+¤‚–•OSúö5eRÆäÉvDtúôcæãÌ™]?úè¿».FF:={ß¼™ßXkMž¯Öï@3á^ÈËÈ('¢úÏxµ¶Ö+**Î̬()QqqíŒ×äê$&–È~”›’¤§ÇÉÎ3?3I‚ÜQÌÌt›%GAËLüÊ„÷ü¦V^ס€@À•ýÈ ‚4k¸ÿþûôúõü¼¼êÊÊ:"JJ*-/¯‰$ N“ç “¬@ãu€<==-"ª¨¨“+//2[ëê$Ddc£×àB±X¢`Ѷ—Ë©”ªª:f)yKèëk©^«¯ëP ¶V,û‘CDB¡xÚ´« %³g;eÅôeãÆ¸Û· k­ÉóÕ*1´þ€<77#>_+%¥¬²R¤§Ça óókž<©´°à:8ð…B±vAA‡‡™ì·ï[¶$ÔÔˆ•\áæfÌãi¥¤”UUÕñxÏþ_”˜Ø¢—v3zô0R!¼V_ס@JÊsݼ¿˜ˆúõ3#¢èèÂØØâ1c¬—,é)­`d¤­ µ&ÏWëw ™°®äéêr>ýÔ­¬L¸zu s硦Fôí·wëê$_~éÎf³tu9Ÿ}Ö#;»jãÆ8é­‰ žîÜ™¤ü…;Ç™7¯[i©ðÇcÅb •”ÔnÛ–ÀRj‚Uñ·<<µÊÈ(ÿí·TæçÜÜêÍ›ãutØóç;‘›ÍŠ/)(¨a*¤¥•EG*h­Éó¥æÞ4%‘´t2´–ÔÔT[ÏžåRRÕQóþ‡Û· ¸\Ž››ñ¼y݆·$¢£G36mŠ«­ÛÙé?|Xnh¨½tiϱcÿ{'Æñã7ÆÕÔˆííùÕD´dɳ §Ne:ôPÚæ²eîë»ïbbc‹««Eýû›Íœéðê«¶b±dÓ¦¸={R ´­­y¥¥ÂU«úÌ™áímñ믃Œ­¬L¨LËŠÃS‡õë㢢òoß.03Óut4X¶ÌýÎB¹àoß.dêŒoËãq""òŒuRRÊLLtÖ®íçãc!صkTVŠœ ëêÄ&&:u÷îyzšo+“jç àe¥ÌßG>Ÿ/^XHP²€6D#YGFFEvv•ô£ƒ_úB:±X’ž^^\\kb¢ãà`Pÿ.„DBiie%%Bss® OúµúÓ§•™™•Òj®®†,+>þ¿•Ü;ëKW?——×¥¦–éè° ËË…ýûŸ7Î&0p@ƒ±ÕÕ‰•o¹±ðÔ!1±TöiQ®®†ÅÅB¹à‹Šj™::é::ÕfdTp¹ìnÝ å–‰×ÖŠ=ª(-ZYñ¬¬xII¥EEµDdeÅ“HHåóðRBÖÑ.`]@GǼÿ¡ÁMl6KútÚ±XÔ`kk=Ù'Ã2êÏnº~=/**?  {ïÞ&LI\\ IŸ¥Û`lÊ´¬8_š‚u 15{ö$KïTäåUÿôS¬™™îotÑh\ÐÊp¯4ÆÃÃlìXÛ7Þ¸bo¯Ïf³ÒÒÊ]]öï÷iì´SÈ:@c,-yëÖõûî»>Ì›­­y––ò¯º€—²Ð06V#¼Ü°®Ô Y„œ©¶ IDAT¨²P/d ^È:@½u€z!ëõÂû:àEøê«»¦Ñ!¿ýæ­épäÍ›wýÒ¥l"š4ÉnÃCƒŠŠj·oO¸x1;;»ÚÜœëéi6{¶S÷îFõk–• ÇŽ Íή:tÈ×ÃÃŒ)lV¿¶mKܱ#ñÖ­Wóòjþú+#44;-­œÅ’ØØè*˜;·[§NºÒÊ"‘ÄÅåïúìØ1hÔ(«ÆZær9̾û÷§mÞïîn¼oŸO“ñ4k/9À%K¢ÏœyÜ`Ï?w{ÿ}gRuÙlÖåËÙ§O?¾}» ¨¨¶S'Ý=ŒÞ{Ϲ3ñ(sB£Ì°Ÿ;÷d÷î䤤Rãë+øüs7ÙWŽffV6ëè­x"˜9ŠÃCÇ¡ƒÀ½x¾û®OJʇՊmÆÄõë÷Ï®]I-oj÷n¯èèñ-o§ÕchÅ>ª&-­lܸЬ¬ª_~ñºsgü¶mbc‹gÍ k°òêÕ÷³³«ä ›5¶¡¡YÞÞæ\.Çß?ìС‡‹w6öƒœ~8n\hff¥j‘¶LDׯçñüù'eeBuì%KS¨ N¿~¦J¶Ö`ËÇŽe,XiiÉ;vlè;ã·m˜•U5}úµÐÐl{©|B•ö  ÔE‹nŽc}óæ«GŽ ÍÈ(íµË²#ÙÜ£·î‰h2> ºvüP\¼˜µeKbrr©®îsÁÑÓ§• áá¹ùù5¦¦:¾¾–3ftqw7ir«2­O¶ûL¥ílßž¸}{" lÞØ2Ó[· Þ|óªâξúªíæÍžm-æpXUU¢E‹nFDäUUÕÙÛó§NµçGÙ%:/f_¹’sþüHÅÇ’úòËè£G3˜Ÿ»v5¸pa$UVŠnÜÈûè£îíuöìOëÝwd ÅbZ¿>îÌ™ÌììjíþýMçÏwéÝÛD¶N“-7Hµ½ä´© J<¹³žÞsײ-Àš›7óW¯¾ïãc±xq%÷b4xBUšZÆb‘@ðÜ/‘@À%¢ôôòf]'Bµð”Ña;í² ›7ógÏŽpq1Ü»w°££AvvÕúõ±ï¼~ú´ßнV¬èÕ·ï?¹¹Õû÷§ýü³'Ÿ¯½aCl``Bvv•P(Ù¾} —ËY»öÁÚµ FŒx6'øìÙ'‹ßìßßìĉavvúÑÑŸ~[v}ÂîÝ^¥¥Â~ýþ‰ˆÈ«©mÝ: S'nDDî²ew¢¢òÿþ{¸™™®ôè™™•{ö$¯^Ý×ÖVïàÁ‡‡?”nj¨#F{÷vp0HH(Y¾üÎĉÿüÓ·GTß½{EÕÕ¢=ÌÍ僑Hèí·Ãõô8¿þ:ØÞžÿäIåÊ•÷¦L¹œ’2…ˆoU¦³õƒ©ßÇÝ»½îß/š2åò‚.Ÿ|Ò£þ.²<<̘£«,7·šÅ¢iÓ®ÌÛíÛo{×ÕIöïOýá‡û11EÒ\¥¸¸vùò;«VõQ~ÊÄ’%=Ÿ<©ts3þüs7éÔ£«WsjkÅÒ5rnÜÈ;y2óÇûÛÚêÉ–‹Db>_ë×_½--y‰‰¥«VÝ›6íÊÏ?{Žk#­£¸åƨ°WvvÕ´iWy<αcC ´©- àÓ§•¡¡YgÎŒ+oɾývXDD‹Eÿû_—?îÁç?wE¡Â ­?€Ê(-­ÕÑáÈ=©B__›ˆJJj•?ºšN„ á)©ÃvÚ/̰èèÄbÉ’%·E"ɶmÝÜŒ¹\N—.ü=åþêÔ¬XÑËÚZÏÐPû£zÑ™3OV®ìciÉ36Ö p%¢Ë—Ÿ=ÄF$’|ÿ}Œ–;0p€‹‹¡žÇÇÇâ­·ºŠÅ ,ý–H$6xtéÂçóµF¶^¼¸{VVÕŽÏ-v¬¨¨ûñÇþŽŽººœwÞq·<ÀÏÏ’ˆ®]Ë%¢àà¬ððÜ•+û(Ù`hhöÔ©W¦L±“»î‰$W®äHo”ÉJM-{çðO>é>kVÓË ;uÒ0À¼¸¸6:º°É–Pm/++^XؘààQÒŒ½- UW‹Ž͘5˱Éö›;€úúZ}ûšîÙ3XOóé§·ŠŠj›ÜKÁ ­?€Ê04Ô©­‰DÏå*••uÌ&%®¾Ѭðš¥ÃvÚ/̰èèòókˆ¨É{ërÓ'Øl–l s]:ª°°–ˆLMŸkÓØX§Á÷u>w…ÁDRPP#[(› 4¦±ŽtêÄÍʪÊË«–ÍF#³l0ëÈ‘¡û÷§;÷dóæxCCí¡C³gwcæn)Þڬζ––¯ë°±Ñ+.®51i`L kˆèäÉG5žžgävdŽ+pÃÃÇJ ÃÃs?®45ÕÙ¶-ÑÏÏJö{÷[· Š‹këÏÆÉÍ­~÷݈÷Þë6s¦²O^27nHkY1ÕöªOãÈøûïLvýçá6H…äñ8ƒ™ÿõ×£[· ˜£´â m’££ATTMNN•ì/xNN598<÷/GW߉P>¼æê°‡ö Y@GǼ¤¶u/|MMuèÿ¯«¤**êä¾÷bÈUc"QṊu$?¿šˆÌ͹ ìSOiésOÿ” F__kþ|çùóËÊ„/foÝš0eÊ¥#G|{÷6mr+£åe)=;¡åë:<<Ìbc‹ssŸ{«s§N\"Úºu Ü.Ì2SÙKu¿OFFùÔ©WÞÿú‰ÃŒŒž}å’ejªË<ÓSª¢¢nΜˆÉ“íÞ{Ï™)Éήòó»7IA̹¹Õ$3¤ ¶Ü$ÕöªO³(µê›o:(ùŽNÕPG‡MDÅÅ5 öRí„6iРNQQùË^Ý>xPÌá°dï¯*>ºúN„’á¡ãÐ`†@Gçâbhg§—˜X"ûÊØÂšîÝO†„d©Ö¦««‘…71±”¹‚aDE5ü´ÄŠe'‘33Oäú© iGd'S%$”dgW¹¹+s£ƒ ¦¦FÔ`0ññ%^^ç˜û9Ú“&Ù}õU/‘HÂÔQ¼µ;ËÜö ÅD”›[íäô—úóÆöl6+8ø¹/f‘ ÷ììôutØÝºnÚä™™Y¹xq”4 y:b„•ìñº:ɇFöïo¦`Ñü§ŸÞZ½:F¶$7·úæÍ|ccéë·ë·¬ ÕöªOƒ(uýz^JJÙ›ov©¿Iµœ<ùÒ‘#²{ÕÖŠoÜÈ#¢^½ÝK™ªš©SíutØ'OfJKž>­ŒŠÊ=ÚZš;µîÑ›u"” O5¶ãÐ~!ëèèØlÖÚµýµ´Ø FÆÆWW‹K?ü0²wo•_RËá°¾þº—H$ ¸™”TZU%ºq#oëÖ„¿¦72ÒùüóÛ–WTÔgmÞoeÅ[°ÀEåŽ,ZÅ<`÷ÎÂ?¾¥¯¯µfM_%a±èóÏo?zTÑ`0yyÕ+WÞËʪ ÅU<˜Îfÿ÷½â­­ÕÙÎõù|­»w‹**êNʸÍz.p³¸º}ðshhV``|^^unnõúõ±áá¹þþŽ}ú˜4½#üü,?ù¤GXXîÚµèÿäÈ­X¶,:,,÷À4'§¿¤ÿùøœ—kêÀôÒòòª«ªêîÜ)|ï½ëµµâU«úðxZµÜ$Õö"¢ìì*_ß_y%Dú¾<  TPPê¨QV²+¬d©6€ëÖ=8y2³  ¦¦F_²`AdFFÅÌ™Ì[ T>¡õP66z_|ÑóߟîÙ“\U%zø°|ñâ(33]ÙwÀ+ùÏ©¹”9Ê„GDÞÞç|}ÿmÖÑ_ŽŽC‡Â’HZáaÐ*RSSl={– HIQTGeII²ïëàŽcóᇮ|¾ÖΉë×ÇI«yÇÇ—0iÇŽ ÏÝ´é¿:ü1„¹Ô¾z5'00>>¾T[›5`€ù’%nãÆ…2ßmØà1i’ó0ÙI“ìÆ³Ý¼9.5µœËåøúZ|ñEO++É}À€Nþ9„ùYú. Æš5ý¦M³—íˆô}‹5ý¾Ù÷iøú vïNNK+ãñ´dƒ‘HèêÕœ#GÆÆçæV鸻›¼û®£——y“[‰¨ÉÎJcõ¥KÙ öñâŬuëbŸ<©´·×ÿöÛ>žžM¿„®%þúëѾ}iÉÉ¥,¹ºÍœÙuòd»úÕFIK+“-ùì³óç»|õÕ݃Ó¥…§Oû]¹’-{Zmmõóó«£¢Æ1Wº w÷SUU"ªGG‡-S\\ûÏ?ÏŸšž^VPPcb¢Û¿¿Ù¼yNÒ)mÌ[MäZ&¢~¸¿woŠ\Ë¡¡£™wl«¶=}ZùÆWôô´Nœ&»Z#Èxò¤røð ûöyd^ÿˆª àÓ§•'O>¾t)ëñãÊ‚‚í=Œ¦NµŸ8ÑNÁ^ʜаÉagœ;÷ä—_’“’Jy<ÎС‚Ï>sc~­”?º”:N„âðD"‰»û)//ó½{K ;BÇ[‘2ù|¾@Ðì»èЊu´!Ì:4Bz!¾aƒ‡¦cQ»ÕÙfyíµËææº»vyµ‘–Õš`Û•;~íZî»ï†3ßŨ#0uk gYG»€V 1¹¹Õ÷ïiÝFZV_äûÃ÷w5íêiçIDaÞ”<™3`ÎbŸÅ,ë N“ç¥#NË» d€fAÖÐÑMt›XZ]ºëÆ®¶CpRð÷!ßÇdÅlœ°‘)É-Ï=t÷§§—ý‹xÕ÷–°-¿DþòçŒ?Ý­Ü™’À°À}·¸Œ+«)[vn™ß"·bù"ïÿ.žrÊrïg\GÏ,ÎܱÍßÃ_ziKDoöyó½ïÕ¯ü]ÈwîVîC»Uùp·ß*®*Ùm¤’Í'ÇdżÝÿm梉MÀlººI,+8ÐX×±Çß>ÞCУ± Ê´ìïáÿáॻpXœw<Þ!¢s çê7غƒ£Ìyé°ƒÓZ]Py@ÖmO›÷®ç»¦9ú‰'êÄu¯8¿"[hÁ·xo|Öq)åÒ¥”Kß½ò]K’bªgÚצ¯’ÍžO½KD––ÓzOcÚ‰|IDQ™QaDdgl7¥ç”wZúôXÌ1Åu6wã2¦±­‘‘DÔͼ[r~rÄÈ*aUÓ.C»åiód«•T—,?¿üÛÑßvÒï¤øpŒÐ”ÐØìXægžÉ¬þ³˜ŸC’CFtÁf±•l66'–ˆäR2æclN¬löÒ\ªµ“CD¯vU¶Pƒ£Ìyé°ƒÓZ]Pß@G†{ðL•°êíƒoŸŠ;•W‘wâþ‰±{Æ2÷Œ×wŒÜ5òJÚ•òÚòë×Gï=ïØ<%·ÖÔÕ†¼{p꾩çÏçWä×o¿A;¯ï<|÷p«÷TéEéºZºë/¯ŸsdNZaÚ£âG_ÿûõðã2£d«­ ^ÕϦŸÜ¥b×3®ˆ> ;S%1/1³8s„Óå›Í.Íæ°8º²…Ì|˜ì²læ£D"9sìLüåcS²e9Uª [A^ö^zL-WÇà(s^Tè‚’Úøà´VÔ7€Ð‘á^<’ôf³P[$}pâƒÀ°ÀîÝG9*«)Ûtu“¿‡ÿòË™ÊçÏ/ük!ó³â­Òu±áÃÎ<È<¥G®ýúÁøvõõíêû[ÔoÒ’‰nLß;ìiçà ¸/Ö†ÖMÖQ¬¬º¬¦®&4%ôôìÓF\#" ð ÿëøùÇ燾jÌ3&¢Ð”Ðké×ÎÏ=¯|³™Å™Uª¿üÿ’½SšÊÕâzwñ~öQ‰f«ëªuµtå µÙÚDT-¬f>ÆdÇ,=»”ˆúX÷‘»1Õ–e‰%âeç–is´7OÚ,û»šG™óÒÜ.(¯NkuA}îuÀ3==¤Ï†â°9óÎ#"æÑ@uâ:‹•œŸ\%¬b*Œì6RzY¯x«To«Þ҃ʵß19}«ß[Ì¥-ýÿ\¯’ê’“±'‰¨¸ªxÅù«^YeªgªLƒB‘péÙ¥7Ý<8ó \’âÝÅ›™#¤d³\-nm]­ü!ÄB"âjs™½,{ý0î‡M7)Ÿr(Ù²”D"YzviR^Ò3þ XMƒCJœ—æv¡YÚøà´VÔ7€Ð‘á^Ö}¤_‡+Ùì+.¯œŽ;þ0\úÚ ‰Dr=㺥eoëÞ-鸒-_Hº°ãúŽƒ3ZZ1%åµåÛ·1¯ªPÓàç¥#NkuA}îuÀ3÷²îÝyr‡ùY$íŽÜMD³úÍ"¢üÊüÕ¡«™à‹Å²7±'"‘DÔäV©¸œ8æÑ·õÛW’¹¾9WQZAÚ–ð-:Z:ªu¶ISzN±7±ÿóΟyåyLIvYö‘{G|Á$·IªµÉf±7MÜäÔÉiÉ™%ñ¹ñDT)¬¼žq]îå€Êí<ÚÝÊ}ßí}ÅUÅLÉá{‡³Ë²?öýXzÏJµgX)Órô“èO}ÜϦßÉØ“aÌ{oîmn/d)98Êœeº@D¿EýÆü#T^œÖê‚’Ð,¸×ÐÑŠ=Å,®ðéâ³2x¥£™£™žYä£ÈøÜøŸæSfzfn–nS~Ÿ2ÆuŒ™žYViÖ…¤ ì0Ëo•Ùmäæk›- -;éu’k_CBnB`Xà”žSÒ Óï>½[SW“]–8¢Û7›9ß|ˆÃÓq§yZ¼ð‡á“Ý&K—·:ŽÎž7ö¼üý‰¿OÙm¤X,N6á™l›²M_G_®òþÛû‹ªŠdgçî2ØÃÖãbÊÅÛoKû5½ÏôŒâŒž–=SòSÞ?öþÔ^SkEµµ¢ÚÆ®k–ˆØ,öŽ×vÌ=:wâoÇu—[ž{6þ쇃?|Ýýuéî >Ã*,=,úI4s5ù¨èóðâ·û¿Í<ýIÉ–™ésçÏ3¯““4å{¡Úà(s^”ém ßjcdÃ<ÕàåœÖê‚’Ð,,f®´©©© ¶ž=ˤ¤(ª£‚úoñK+Hãióê¿Å/1/1.'.§,LjkänåÞÓ²§’[K«KûýÜo’Û¤u¯®»’v%%?Eî-ÒÒ¬CZÂdDT'®û7ñß'%OìMìG9R÷7¯B‘0,=,9?™Íb»Z¸zÙ{5øâgæÚQ¶Dzíø û´¹vŒx!-9›pV$¿ÜàÑkVú‘y«cR~’ž¶žƒÜk±D|,æO›'û¦æªTî@²W¥Ê´¼ãú¡HX?`›ÃL"R¦-e΋â.ä”çxoõ~×ó]éãžé¥œVé‚òuÚeþ>òù|@ðÂB‚úu´!É:^iÖ±aÂMÇÒ†ˆÄ¢[¾Ñë%×h:–6G݃³þÊú [AÿÌþ‡™ ؾà_€dífXhFquñÛýßß}¼¦i‹Ô:8WÓ®þzó×u¯®k)á_´OÈ:@½ê¯Ù{1H‡e¦gÖÂm½ÄÔ:8žvžÎü³u5µ¯nø—í²P;]-]\$AÛÁÓæµß” BÖê5êÏÍÚ IDATÑm¢¦C ÷@½u€z!ëõBÖê…¬Ô Y¨²P/¼¯äýõkHRõ¶î½døM‡ó‚ÄæÄn ÛÒÙ¸ó²Ë4 ÀËYÈî8ÜMà6ëà,]-]iaViÖªUÓzMî4\ƒ±©CqUñ†«Î'œ/ª*Üe°¦Ãx a†Ès0uØy ‹Å’-ŒÍ‰ N N~¤¤ÍøcÆÑ˜£/àXD4ù÷ɺÝ}Ó÷½˜Ãt@¸×JÙmäéÙ§L^À±*j+nfÞô°óxÇ"¢_¦þâlîœQ”ñbÐ!ëeu·è®éÔÂÙÜYÓ!¼äuQNyξ[ûâsã¹Z\ï.Þoö}SvëþÛûÏ%œ#¢næÝVŽ^)W²ØgqЭ ¸Ü¸Šš ;c»u¯®#¢*aÕñûÇodÜ(¯-7×7÷sò{Åå6ë¿YÕuÕÝÿëÆ£¥Õ¥––=­zNè>Ák¸þÊúki׈èïßʼED=-{6¶Â;1/qå…•Š»æeïµÈgQKZYPBnÂ[ßâ°8zhkdý$zñß‹e+øvõu6wž{tnM]\IvYv|Nü$·IýmûŸŒ=“CDOKŸÎ:8«¤ºd¡÷ÂÎÆï>½ûÉéO†<²ãµ6‡ˆ²J³üûV.¼ÀÑÌ1»,{ïͽ?„þðÏœ&ô˜`chóÕ¿_yÚyNë=ˆ u ‹ÜÚÐzñÅme˜é™µp| …u}qæ‹âªâ¿ßù»§eO"òsòû5ê×ó‰ç¥ìMìíMìµØZõK—<þeê/NœˆÈÃÎ#%?…ˆ>=ýiFQÆ¡·yØz0 šê™~òýèþþL…´‚´ãþÇ{[õfî8Üw»o•°ª»E÷ÚºZ"²1²Øy âÈ t š¬‡gXtté…éq9qNœ˜”ƒ1¾ûx%w·3¶cR"ÒÓÖëeÕ+³83*3ª‹I&å`¼êú*¸‚ˆ2‹3ofÞt4s”¦DdÁ·82눽‰}Ë{m îuttOJž‘••l¡¹¾¹ì Œ¹Ær%ÌÃ Š«‹gü1CnSb^¢´‚•¡•ÜÖ^V½š÷ÿ7ˆum²€ŽŽ«Í%¢ŠÚ ÙÂ:q„$ª5¨¯£OD6†6 ®¸KÄz:zDTY[©Zû²°® ]@ÖÐѹ ÜxÚ¼”‚”*aO›Ç&ç'K$*f== t * ŸÙ4ïØ<¦äÓÓŸj6Èva[Ķžë{V×UË•õïWÌ0¾{øÝy\ÅÔ!ëÆ…¤ óŽÍ3æŸð?÷Y\d@ä{ƒÞ“nÝ=uwôGÑ ¯} MõîâÍÕâÊ•÷Êw)KS8lÎ >®bêŽ €ˆ´4´ »#wëëèÿ4þ'ž6ˆÌô̾ö…¦ƒj—rËsïgß_3fM9.€2p¯ˆˆ>ìlÜ™I9 %B’CXÄòëæ×AŽ   d@DT'®Óáèh:Š—AHrHë>fzfä¸ÊÀ +€Žîûï¿õ;Ý˺ç´ÖInëºW×½îþzcû&ä&l ßù(²¬¦Ì‚o1ÜqxÀæÂWÚlo«Þ_þzMèšØìX#®ÑHç‘K‡/•ÞT)­.=sôLü™Ô‚T"ê!èñ×¾]}åbëmÕûëQ_¯]›kÂ3™Ö{ÚBï…‘"ºüSR^’9ß|fß™sÎU2¶Ýz|ëÍo*«W»¿ºyÒf*…•72n|4ä#iÉåÔË[¶$ä%pµ¸Þ]¼—X¦ü0'pâiµCoò°õîÈŸ)ùfÔ7³úϪܧ¥OÃÆçWä›òL}}gô™ánå®|TŠÏ @s!ëèèVŒ\±b䊾›úv5ízÜÿ¸´ü|âù…-T°ãŒsŽÎqµpÝ÷æ>{Sû;Oî,=»ôJÚ•¿ßùÛ˜g,m6·"÷·›¿­¿ÞTÏôÐÝC?\ü§Í[:|)Óȶˆm‡îÚ8qã`ûÁ…•…[·Ì9:g×ë»üœüdcË­ÈݽÿçI?óuø®l Ì.ËŠ„Û_ÛÎÕ⮽´ví¥µf#œF([ƒÝñ°õHYšÒÂÁ¼švµVT;²ÛHæãÙ„³‹O.îoÓÿ„ÿ ;c»èÇÑŸÿó¹D"QrG9ºÿéý!Û‡ðuø¡ï‡2 ¾½»xßþèö°ÃÎÌ9cmh]ÿ¸‰äíƒoëéèý:íW{û'%OV¯œ4EÚ;e¢R|^š 3¬@b‰xéÙ¥u¢ºÀIÝÝõ´õ¼»x=òëÇ%w\ß![³ ¢àÛÑßÚÛéëèÏöœm¦gv%õŠl…9æŒpÁÓæÙÙ¬³ÚÆÐf[ø6¹ÃT¬±ÂÚÐÚkø‘ïGDt&þÌÊWVZXóŒ|ˆèrê忯Öê‚“‚»šuíjÖ•ˆDÑ÷!ßk±µ'º˜»èiëù8ø¼Õï-±D,­ßd¨åȬ#½­{+•šÎ td˜aªpµpµ7±OÈK(«)“-Ÿ}döǧ>V²‘„Ü„’êŸ.>Ç1—¶DT]WÝbSAHrȈn#جgÿ_u5wµà[$æ%ÊÎ(‹ÊŒR!TG3ÇáŽÃ/¦^Ü{s/›ÅöuxîYRrÇÏ÷ÚêŬ7Ð5˜ä6é«‘_‰$¢ké×”ŒJMç:2d  ‹µvÜZ¡H¸ð¯…q9qÕuÕOKŸ® ^“³Ð[Ñ“¯dõô0æ_M¿šZ%¬*«);sô棛m!¶æJÌKÌ,Δ.® "›óõ¨¯EbQÀßIyIUª7¶†oe±þ»_ |¨sΕH$ë.¯›3`Žl õKDyåy+ƒWf•f EÂGÅÞ=Èf±™ÅÊD¥¦óKîi‰ A©©© ¶ž=ˤ¤(ª£é;1kÆ®™Ö{ZŸzÔŠj™›ãÛÕ÷RÊ%i 7ƒ¼»xQJ~ʶˆm#JªKÌùæƒ:Z0xƒ©í¼¾sý•õ²»h±µfþ9SZ²tøÒ¹çÆçÆoººéîÓ»¥Õ¥V†VSzN‰ÉŠažF5gÀž‰\#ñ9ñk/­•–{ûXøÃðMW7IKþ˜ñsy­ 6uر}{Äö¨ÅQrïw¿šv50,0>7^›£=ÀnÀ’áKÆíÇLgÚ0aÃ$·Iʇúú¾×Ÿ–>½úÁUm޶‚ãJ$’«éWÜ;››[žkÄ3r·t×ó]f‘º’Q)>/_ú}©Ž1P2ù|¾@ xa!A}È:ÚdÐ*^ zÍ\ß|×Ô]ä¸m²Žv3¬Z*·<÷~öý‘Î#;Èqš ϰh) ¾Eò’äŽs\€æÂ½P/d ^È:àÿػ︦®÷àOBf˜"²Dp!jU\8Š[ë¨ó«µÚAk—V;¬µýª­ZQ¿ŠµU´®:ŠXWQ«QQ¦ ”½WI~ÜþÒ0ÌÏûÕ?rÏ=÷œçÞ[$çœ{Ô Y¨²P/d ^È:@½u€z!ëõ»É \M¼ú(óÙÚNq¢îîn$߸ÿü>™ë™Ïê=KÝÝÕ«¢ºâØýc"hšÛ´ÕÉ/Ïÿ+å¯Ì’LS]Ó~Öýl mÛ2B€öc@’Ɉ©©-lgÇÍ[%¤ÆØskÏñûÇÛ¬;e¿Çþ>fï˜o®|óÛ£ß^TgW讑{F^y|¥¤²äbüű?Ž]´²-ƒh?0Öœ¼áò†¨Œ¨­“¶6¯///¯]¡»Z70"Ê.Í>vÿX›þƒl) ‡u6¬Û°ýwö·zw±èø¢ÂŠÂµ£Ö.\þ¢:;Bvì ß{d=™¿¿ƒw¶UŒí ² ÑŽ£×ŽZ;Â~„¦©GVI–_ˆŸÏ`å¬C³Æu7£çŒô¢ôUH+LÛºkÉÀ%Š”ƒˆf÷™Í×â·I€í² WðFÿ74E‡ñzï×UW8ýèt¬æU§W• Í„fo½ò–:ãh¿utv*Vf'å%…? /’é ²ÔEÔEy¯L. I ‰ÍŽåkñwìhâXoû 9 ·Ón—T–˜êšzÚyšë™3åAÑAO ž‘³©óH‡‘×’®¥ä§ðµøžvžöÆöŠ:áOÉèNÚ¿?"²ÙÔ]½}óÉÍèÌh‘@4¤ë++'û¼øùɨ“ª/ˆ“©“·³·ê:ª…§†‘£©ããÜÇ¡OB+ª+ºuÞm¸€+hI³V“Q•ÙUÒª~ÿÈ{Ÿ÷µ¤k……â.Œö½îuR™”©PXQøú/¯/9±$*#êyñóÏ/~îæ_«ÍʚʕA+'ü<áæ“›……'£NŽÜ3òÇð•+ø…ø½tÆÁã/æ–åž~xzܾqL‚Ñ(,úè÷~{ô[nYîÞ°½¯þøêí´Û-º­!¥ …§ÅûþÚ÷oþúfr~òÓ§_\úbäž‘wÒîh:4ÍÀX@gWïÊìõÁënðÞ0»Ïl¦d÷­Ý[®oÑãé}8üC"úìâg÷žÝû~â÷Sݦ2Ö\X£ÈIœ9»þÕõsûÎeJÖ^X»éÏMŽ&Ž#ìGLv\,)öó¿ùäæÑyG=¬=ˆH*“¾{ú]¿?3—1Nc&»N¶3²;þàx›þ¾ž¾uƒ˜ñÐg°Ï(‡QDä3ØgðÎÁ;oî<8û…‹¶-õ-ëm§u•HJ*k*¯$^9»ø¬߀ˆ|=}'þ<ñSï\yûŠH Rwí Æ: ¶‚Š‚Q'ÄB±ò„«ÅýëpuößÙ/©‘䔿\J¸d®g®üjŽ¥—ÖjääÓ&º&súÌQ2 je8½-z3)qئF>îÉXטI9ˆH$u5êš”›Ô¤“U‹EDóÝç3)ýÿìµ"IÑ™è3 @30ÖµÅgÇKeR;c;6ëŸ?Lð´xÖ"넜„ä¼ä"I‘\.ïjÔ•ùzÍèbØEy“i„¯Åßqs‡¢P&—ѽg÷”»«µ£›q7"ŠÏ‰oL¨ŠU" – £:CEý¶Y×a(0¬¨®°3²S.t0v ¢Ç¹[Ò2@…¬j““\Å^EjÁ"ֿʉU«„ˆ8lŽò&›Åf&8IeRÅ.&ù§w¹¼nã/Ân—¶ÎfÎÏ‹Ÿ×Èj” ™«ªœ˜tÈ: 63›“œ—,“ËÕ5•é…é|-¾‘]ie)‹ÅJÉO‘Ë劯ÑÏ‹Ÿ+çÝͺsØmŽv­uW¯æ—ç+g#i…iÊRòSˆÈÙÌ™Ùdj2©ˆ¤F²7lïœ>sL…¦Í;µ¶Y×1ÚqôŸ‰&ä$Œu«(LÊK""3u÷еÇ?€f‰¢™½ff—fÿúàWEáO·*¯.£ÿ|-¾‰®É8çq™%™ÑÊj52»Ïìǹ¯$^Q¦¥¯>¿ZR#Q®“Ã<—ˆ¤2)ó«î ˜S]S"*”Qr^òŽ›;´µ´[÷|[Ý4·i¶†¶GîÉ)ÍaJ2K2}ð«X(V^ Ðy`¬ ³cÞ×QYS™Y’éâ7Êq”«Øõ‹1_TTW|~éó«‰W»w‹ËŽ }:¯ï¼÷‡¾Ïõµ÷×Y¥Y«Î­ºòøŠµÈúÁó®bW›“Zêâ7Öilw³îŸú¬¢ºÂç´Ïˆn#ìMìóË󃂧¸N™×wžr£Goÿk»¹¾¹‰ŽIøÓðØìX_Oß1Nc˜½¦BÓ¡vCÏÆœh n>¹9Õuªß "="ôI¨"æinÓX,Ö釧3K2™§ñzÚyº[¹«éŠ…¤„D>‹,¬($¢§O™çüþ§ß§ÒæhïíSoO>0y´ãh™Lü8ØP`¸kÚ.]m]5EО!ë"¢w½£¼©ÍÑÞ2i‹Ï`Ÿ°Ô°"IÑ«N¯®u½ò[ øÇæ y“£ÍÑ^;j­›¹›ß@yM—ÃÝo鉥R™”ˆ|ûxÚy¾¨eåõëÞÎÞ‡ïNÉOákñ‡ÛŸÑk‡Å!¢Cw]ˆ»@DަŽ+'þ«?¾zÑ^Æ ÛAË=—7òŠÀ‹ ë€zdg,<¾0¿<ßg°OWîñ9ñëþXppöA‘@DDqÙqóÎç°8ï yÏÚÀúÁóoãnú]7s·U#WÙÛ«h|RIîVîo|«¤ªäBü…ùîówú$ô³‹Ÿ]ˆ»°oæ>-¶Ö°nÜL–œX’Y’›;ÅuJ?ë~g¢ÏDeDù öavUÖT6>àº,õ-W ]¡ú:ë7ýâ@mÈ: žý09/ùÄ‚}­ú‘—ƒ—³©ó['ßZsaÍÿ^û}rÂÀEnænL…Ã÷ßI»cÀ7Øe êÆM-ô,ˆèIþ“+o_1šÑ(‡Q\w_ø¾w,¸ÄÖÐÖÖÐV‹­•^”¾wÆ^"ò°ñHÌMTìjRÀuéñô Zžaµ¥¦ÝN»molÏ|ƒgx9x /?¾\XQ˜’Ÿ“ã`âÀ¤ ogï¦vÔת/“r0¦ºN%¢³1g•ëØˆl˜”ƒˆt¸:½,z5#ভ cPóD& }‹Zå–ú–i…iE’""bÆ+ŒuŒ9lN“:2Ñ5QÞdz|VüL¹Pį~T“®w’Öu´dP›Ž¶•U•Õ*/­*eöVJ+ëV¨¨®`–’7^yU¹ò&Ó €+hõ€ë= ë:Ú ²¨ÍUì*ä sË«Ëu¸eÏ-Ë}VôÌLhfgdgYc)à ó+ª+IB|N|S;JÈIËå,‹Ù|˜ñˆÜ­Ü[=àzº€6ƒuPO‹÷á°K*K¾¹üT.%¢ÊšÊu¬«‘Õ|êõ)›ÅpK.-–o¾¶Y&—Q‘¤hWè.EþÐH{Ã÷2Ÿ³K³·‡l׿h¿óÊ;­pS€Ö…±€ÎîûëßßI»CD!)!sÏ]3j›¹Û‚~ ø\þ¶Ûú ´Ù<É¢Ï×ß1uǸî㘣– YV-­Þw{ß¹Øs–ú–Å’âõ¯®¿‘|£I‰‡—ƒWAEÁðÝÃE|Qb^¢¡Àp.b" Š:vÿXyuyb^âÜÃs{ˆ{|6ú3æ(æUŠ]K.é0²Á€Õäpäás±ç˜)g2Í=<—ˆ¶MÙ&ŠÕÚ/@Ç‚¬ ³›ÔcÒP»¡ŠM‘ óaf¯™Ó{NOÉO)¬(4ÚÙ)glûÃá¾ýÊÛIùIÚlm'3§ÒÊR©L*Ô6©÷Õ#W¿óÊ;©…©<ÏÑÄQ±ÝÃÆC¬÷Ïw}¾¾â3ó*Ŧb•ê€Õdh·¡ŠGl)ð ÔÝ/@Ç‚¬ ³s6u~Ñ.6‹ý¢÷ýÝJ½u'펯§oo‹ÞLILV )?K·‘DQÝgLYê[Zê[Ö[Ÿy_GSV“.¢.]D]Ú²G€ŽÓ 9òÊóö…ï‹ÍŽe6sJs¾»ö±ŽñÌÞ35´Cë€æð°ö×}Ü̃3m mÙlvr^rw³î‡æ2Qlvì×Á_¿èX>—Ï<åVy%IÛ…mY4‡¹žù¦ ›6MØTï^3—#óŽ´qHÐna†¨²P/d ^È:@½u€z!ëõBÖê…¬Ô o €—ÄŠ3+ÎÅž«w×Ç#>~û•·Û8PÀX´TTF”ûîþaþšä…Ü­Ü5@§†±h)9Éš„ÖŽZûFÿ7”K~}ðëˆýmúk*$ dÐr½-zß[yOÓQ»•{W£®µ Þ=8ß}¾&€ 뀗ÄB…µJŸ†§¥Ou›ª‘x@Y@g·ôäÒ?ÿ$¢)®S†Ú Ýw{_J~ _‹?Ü~ø'#>1×3'¢ —7ˆ8@D½-z¯òZµõúÖè¬èŠê GÇ!]‡(vZxJÑìãÜÇ»nî {VXQh¤cäiç¹lȲ.¢./ #"=bö/³U‡:ÁeÂö)ÛjS]§êpu¨«=LÅFRR’нçÏ }}ʼn‰ªê4O±¤ØýwS¡i?«~G¯ IDATøÈDÇ$45tÍ…5® pQ ±Ž1S­ï¶¾\·eŸU#WYX½ôøýã–\`vu3ê¦È:n§Ý^||±³™óúW×ÛÙÅeÇ­½°6£$ãÈÜ#=Ä=Z=þz=/~>r÷Èsožs0qh›@#óûQ(ŠÅâ6 êÂ3¬àor¹|ˤ-] » y±NcWx®È(ÎØº[¹NYUÙæ ›ííyZ¼E‹˜”£™\¶êܪYÍŽ©;\Å®:\w+÷m“·•U•}zþÓ¶::t÷‡R€öYü­§EOžO±9´ÛP"ºž|]¹Ž­¡­H RÝN|N|Za𳩳¥¾¥¢°»Yws=óè¬èçÅÏ[5êúIj$'¢N,è·  ú€a]üMŸ§¯¼ÉL¬Ê+ÏS.h l'·,—ˆŒuk•›èšdg䔿(g# ­»®#ðQ 6G{ŒÓ˜ÆTuCÖË/ÏWÞdò Ţޯ3Ñ5!¢¼²¼ZåL6b*4­÷(kÄÕ‰MíëEÝ=4»Ïl‹ÓZ @K`†üíQ棊ê Åæ_ÉÑðnÛڎ³©³È&>'^y2U\v\fI¦«ØµÞŽÖu+õVbnâì> Œœ@›AÖ3à|üûÇO ž”U•'oÙn¡oá3ا©í°Yìã7j±µ–.g°{ïÙ½•A+uµu¿ÿ­:"¯% "`ŒÓ3¡Yô¬þÖÛ²÷´žÓ|}ø X}~õP»¡¿ÎÿÕHLjˆöÜÚã°Ñ¡¤²äAƇsÏUµáòå]¿>ø•ˆvxzáikëÅÇ÷ÙÚÇç77s· 7‚\Å®ê>‹gEÏ®&^ÅûÈÚ¼¯ Ñìû:¦¸NÙ2iK«7 Vx_G‡€±P/d ^È::»¥'—ºÿàNDg¢Ï8lt¸ù䦦#€— Þ×ÐÙý8ãGM‡/9Œu€z!ëõBÖê…¬Ô Y¨²P/d ^È:@½ð–@h)IäØýc#íGÚÚ¶¼µ è øœxÿ0ÿ)®S¶LÚÒò5bÃå ÇïfÔ­¿M" yò¬èÙ›Þ\ṂÅbi::€¶†¬Z*8!xÃå QQ['mmyk“]'KŠýÃü[Þ”]M¼:±ÇÄÿŽû/³)•K—žXºóæN+«™½fj66€¶‡VÐR£G¯µvù嚤Yè±ð½Áï)69,Î"EDt!î‚ÆbÐŒu@K ¸‚7ú¿¡é(Ú—… k•èóõ‰H‹u 3Âï?€Î.(:èIÁ"r6ué0òZÒµ”ü¾ßÓÎÓÞØž©s#ùÆýç÷‰È\Ï|f¯™·RoÅdÅ”W—ëÛØ(vÍê=K¹å¤¼¤ð§áE’"#£A¶ƒºˆºÔêš©P,)¶Ð·p»:˜8¨ˆ³²¦òVê­”ü9É{˜õØe`­éEé·žÜÊ+Ï3Ò1Òuˆ•Uã÷Öò¼øùɨ“*/9™:y;{«®£,*#Šˆ&¸Lhü!/ ̰ª¬©ô ñ;zÿ范3.Æ_Ì-Ë=ýðô¸}ãüBü”«í¹µç—È_Þ>õö±ûÇ * .Å_úåî/Š]ÇïWÔ¬’V}ôûGÞû¼¯%]+¬(¼wa´ÿèu¬“ʤÊÆíw-éZqeñõäëSL™yhfviv½ž;ï¹Ëó‡¿~È.ÍŽÏŽ_zré¬_f•T–(*ì¾µ{´ÿèëÉ×K«Jo¥ÞûãØ¥'—6ro¨¨®ˆd;hRImÙ/@;±€ÎN±zûæ“›Gçõ°ö "©LúîéwýBü\Ì\Æ8ÖmذnÃößÙ“³|Èò1Ncˆh¾ûü«IW»”Û\¼>ðQàï ³ûÌfJvßÚ½åú=žÞ‡Ã?TTøïøÿ*–Vßí{÷õ_^Ï+Ï3šÕ òÁó.b—€×˜ñ7¼9õÀÔÍ×6ýê×DTRY²íƶ… ׎ZËÔ¿qÙo˘Ϫ÷ÖËRßÒ×Ó·y׳.™\¶æÂ.‡»}Êv6 ë€Î¿ÿào½-z3)qØœ¥—ÑÁ»•눅b&å " }‹y}çÕm§ ¢àDÔ ±P¬<ájqÿÅ:\ýwöKj$Š Ó{NWTègÝoí¨µ&:&õÆ6ÔnèGÃ?RL©r2uêeÑ+8!˜Ù¬‘Õ°X¬Ç¹+ª+˜’ÑŽ£iƒê½ê&—ËWŸ_“pxîa#£¶é ½ÁXü­ÖR‡nÆÝˆ(>'^¹Ð\ß¼Ávâ³ã¥2©±òßõyZî|ÀëLÊQZYº+t—º;h‡0ÖK+LSÞLÉO!"g3禶ãbæÂas’󒙦°²¦2½0¯Å·3²“TK8lNJ^Šr¹\îæ?¤ëž=k5•u8òð›‡çVL²ŠÉŠIÎKf>ç”æ\Œ¿¸ ß///¯U#Ví¸¹Ã/Äo`— ú-P½·ÞSh•u$ü±ûÖî£óŽZè[0%¥U¥»nîR~@'±ø[LVLøÓpæ³T&ý1üG"Zà^ÿ÷rDÑÌ^3³K³}ð«¢ð§Û?•W—¿Ñÿ ¾Ÿ©Ušuêá)E…³1gøëcÝz¦!qÙ\"’ÉeŠ‘ÊšÊÄÜDE…ÜòÜo®|Ã<ÿ—ˆX,–­¡-IåÒ÷ªIä³È•A+Ý­ÜÏDŸñ ñcþûéöOêë =ÃXüm´ãèím7×77Ñ1 ›ëëéˬH}ZYS™Y’éâge`¥XμÊC±k”ã(W±ëc¾¨¨®øüÒçW¯v3î—ú$t^ßyï}Ÿ9Š©°æÂšà„`‡Ô‚Ô›Onn™´ÅRß2(:ˆYL—çâ7Ímš‹Øefï™'œx-àµWl_‘ʤ‘Ï"™ù`;BvxX{8™:¹š»N;0Í»»·±ŽqFqÆ  °À< ËXÇXÅ^5afp]Œ¿x1þ¢r¹6G[}´[,fê6´III*öž?/ôõ'&ªªÓ<Å’b÷ܧ¸NÙ4aÓõä뉹‰µÞÈdŠúu³Å.&ë`>'å%…¥†IŠ †Cì†Ôû–À°Ô°’Ês=óa݆1xR¼µ1ÍmšÈ†ˆ¢³¢ï?¿_,)¶Ð³ðrðº‘rƒ™aånåîiçIDñ9ñ1Y1Y%Y|ƒž=ÝÌÝ”ûR½·Õí¾µ»ZZ]·œÃæ`†@ëjÌïG¡P(‹Û,$¨ Y@;¢ñ¬cˤ-­Þ8€Z!ëè°®Ô Y@gäæOÿ¿Ž¢Ö“¬Z«É€xZ¼6{W7tBÈ::»É®“5¼ä0Ã Ô Y¨²P/d ^È:@½u€z!ëõÂû:þåç;?_N¸LD½-{¯¹JÓá¼ uüËHû‘®b×Gð´xšŽà%¬à_ìŒììŒìX,–¦xy`]¨²P/̰èìÝ=t!î9š:®ð\“SVYf#²É¯È/«,cªMë9mf¯™Dt6æì©‡§öÎØ«ÍÑ&¢OÏšZJDÎfÎ_Žù²nûñ9ñ_ýñ•êÙZî¹¼©ámš°‰ˆf<<w>9/YNrWs×9}æ˜ ÍêûÁ°~ºýStf´H å8j|÷ñʽd•fŒ8›Ë×âé:dvßÙmy‰^zÈ::»a݆9™:-9±$³$36+vŠë”~ÖýÎDŸ‰ÊˆúÚûëW7FeD홾ÇÉÔ‰©àή%]ë4–ˆæöp7@*“2_¸ë²Ô·\1t…êŒuŒ›í¹µgË-‹<Íé;'¿<ÄþCw›wÌÁÄAùØ‚Š‚‚>ðvöîcÙçôÃÓ¾¾E¯Íé;‡é".;nþÑùç½!ïYXG>‹\¸¢‘1´Ê%xé!ëèìl mm mµØZéEé{gìe¾¯{Øx$æ&ö²èõzŸ×ï?¿_PQ`m`MD©©ÉùÉDt&ú 󕺧EÏG™6ßÔCÜ£Þöõxz» TGxDTPQ0«×¬µ£Ö2•G9Žå?jóµÍ{gìU>61/qç´öÆöD4¸ëàÉ7~úU‘u|rÂÀEnænDäåàõóŸ/Æ_l³KðÒúø›È†ù>MD:\^½ˆhœó8ž/ðQ S8£×ŒÞ½ÿLü³XRLDQQ2¹¬·eo„7Ï}ÞûCßWÔ1น»ÝN»]ëX+}+&å "¾ßÊÀêYÑ3f3%?%&+ÆÁÄI9]&6>†ös‰Ú-ŒuÀßD|QÝB!O8Úqô…¸ ™%™æzægÙ9m§­¡íƒ?\Œ¿8«÷¬ÓOOs›¦¢Ù®ëPžX(¾éÖÓ[9¥9åUåD”›PZY*•I9lŽ¢Z­\:\Li&ó™I?,ô,”+˜êš²YõüQFM—े¬0Õuê¹ØstÀçò{ˆ{Xê[n¸¼áLô™×z¾v>î|à¢@‡·p]‡ ÕÒêY‡fÅåÄ-î¿xŒã]m]"ÚzcëÝô»Ôè—mð¹|"*«*S.¬‘ÕÈIÞøHZx‰^zÈ: Ãì‡ëF>/~ÎüÍ^$°q%ñÊ‘{GœL,õ-UÞÂu*D>‹ŒÎŠövö^5r•¢Ð€oФF\Å®® 1/±¢ºBÀ0…sËåMÈ:Zx‰^zX× à°8“zLJÌMüíÑoS\§0…SݦÊåòMnÒàÜ!‘ ›ÅŽÍŽÍ+ÏcJ’ó’#ŸE6©W°tàÒbIñæk›er•T–|wí»&5Òn/@;±€Î.(:èØýcåÕå‰y‰sÏí!îñÙèÏjÕ™ÖsÚˆý¬û)^…áåà¥Ïׯ–Vë>NSáYê[þwü7^Ý8ìÜLj¤5†:†¶"ÛŠÂùGæOt™¨ÇÓS>vͨ56çëà¯ó%5’¹‡çÎsŸ7Áe²!˪¥Õûnï;{ÎÊÀ*¿<õÈÕ¡©¡QQsÏõì“_žßž/@ûÇjÒ,P«¤¤${ÏŸúúŠUÕèlóûQ(ŠÅâ6 ê +P/d ^È:@½u€z!ëõBÖê…¬Ô Y¨²P/d ^È:@½u€zii:€¦Yzr韉Ñ×)[&méн@Kàt ë€Ö•åþƒ»˜¿úºøqÆ‘ïGª¯ý¶ì¥hƒ»¦êttÈ: 5ÉIÎP”<Ìxè°Ñaë­Œªý„Ñ>Õ½k­ 3¬ 5õ¶è}oå=MGMƒ»ꆱP/Œutv}·õ-©,a>û öù`ØD´íÆ6ÿ0ÿ°åa"ˆˆ&ퟛKDý¬ûõ4ïy âõ¶è½ÊkÕÖë[£³¢+ª+M‡t¢Øujá)RZïû¿Ðÿý/ôD4¸ëàƒ³2ÝÅeÇí¼¹3üixIe‰™Ðl¤ýHß¡¾Æ:ÆÍ8‹bIñ‰¨çbÏ%å%Qqw½;¬Û0f¯ê0šäqîã]7w…= +¬(4Ò1ò´ó\6dYQE…kI×v„ìˆË‰Óæh÷·é¿jäªñ?—ʤD´eÒ–)®Sê¶‘1û—Ùªûà2aû”íõîR^T=Ônè¾ÛûRòSøZüáöÃ?ñ‰¹ž9m¸¼¡ñw­‘gªLEû¦BÓÐ'¡¤ô×w×¾cÖx;{³Öá_ŒýâÛ+ßFgFð F;^=rµ€+P}qjQÇ=€ba"/@û‘””¤bïùóB__qb¢ª:ͳÌx8-`šâ§BXjØ›'ÞìnÖ}ëllï=»·úüj‹¸(IuT(–»ÿà®üä¢ÿ^ýï±ûǶNÞ:Øvp~yþŽ›;N=<å?ÝßËÁKuMêåvÚíÅÇ;›9¯u½‘]\vÜÚ k3J2ŽÌ=ÒC܃ˆÎÇ_qfE?«~_½ú•Èæþ³û[nl‰Êˆòìê¹ÿõýì·˜PM…¦ý¬ú}4â#“ÐÔÐ5Ö¸‚ÀEŠD®ñw­Á3­×‹Ú¯{ñË«Ë{mé¥È:‡ yÂ~Vý>þ¡‘ŽÑ±ûÇþ{õ¿K.Y=rµêï÷Ô§1¿…B¡X,n³ .̰šæ6M&—‰>ÃlF¤G°X,-¶–¢D*—ž‹;WëoÀeUe›'l¶7¶çiñy,b¾¼6’L.[}~u´ÆoŠŸ‹ØE‡«3¤ë/F‘^”¾ûÖîæÅ›Þå0JÀXX}ãý•¾Õ®›»š×Ô‹b^unU¬fÇÔ®bW®Ž»•û¶ÉÛʪÊ>=ÿ)IåÒ —7h±µü¦ú9›:ëpuw¼lð²6ûãŽ\.ß2iKWîBžp¬ÓØž+2Š3v‡þëz6æ®5x¦*´äÿ "Ê+Ë[7vÈFW[wqÿÅÆ:Æ×“®7þðö:-d@Ãí‡é> d6ÏDŸ™Ýgöû‘Ï"Ó‹Ò‰èzÒu;C;kkå£l m”x‘øœøô¢t±‹••¢pí " NnFƒŸz}êë髨ä°9ަŽ1Ù1Í ¯^ñ9ñi…iΦΖú–ŠÂîfÝÍõÌ£³¢Ÿ?ËŽË.Ív6u6š)* è2 cP­§EOžO±9´ÛP"ºžü¯oí¹k žé¡»‡6:(þ»±Ií«`#²QÎb±ÄzâìÒìÆÞþï@§…u@gRIÑYÑN&Nã.þþæï¶†¶—_>söÝAïž~xzšÛ´ZG ´š6Û^YnY.=Ê|ä°Ñ¡Ö®ô¢t©LÊasšÔ`r^òO· M Í-Ë­¨®P”7£©ab6Ö­½ìÄD×$£8#§4§¸²˜ˆŒtŒ”÷êjë6@ ×u(èóô•7™‰UyåyÊ…¹k žé‚~ ô[Pï±-ù¿‚ˆ„ÚBåM.›+“˸úî´² "šê:5 " ðQ`›þ=Ä=ÄB±—ƒ—>_?ðQàܾsCSC7Žßؼ–Y,VÝB"`3àȼ#-Š›ˆˆ + gšÉb±¾Ÿø}›þºÚºDôΩw.?¾Lÿßy½a4‰‰® å•åÕ*g¾éš Mµ8ZD”_ž_+6f™² Ö‰«[^Ý®™|£«ó<Ó¦6Èf³‰¨ZZ­()–7µ‘ÆPß=€ + "êiÑÓÞØþlÌÙSQ§¦ºM%"mŽöøîã“ò’6ÿ¹yx·áBž°ÁFêÅ<€ˆùÆ™]ší°Ñ!%?¥»Yw[CÛ¸œ8Å㳋]¼2heS»ˆËŽ+’yvõa?‚I9ˆHR#i0Œ&õâlêl#²‰Ï‰^ü\¹ëÌ’LW±«¥¾ewÓîfB³øœxåIA·Ón7õtšíQæ#åqž¿’ÿ"¢á݆7µÏ´© šêšQfI¦¢äþóûMm¤1Úÿ=è´uÀߦ¹MË-Ë M õvöfJ˜ôãøƒãu§W5^Q!Oxÿùý²ª² è ±PÜEÔ…Åbm¿±ZZ½ì·e1Y1’Éóâçëƒ×GeD-²¬©]ô÷ D7Rn\I¼RQ]QRYr"êÄí§ÿú*YoMê…Íbo¿Q‹­µƒ}šÚNƒgÚT¦º¦Î¦ÎW¯ÞN»]Q]ù,òôÃÓÍhç·G¿9ltè³­O³#×ø=è´ðä\€vDõ“s¯\Ñ}ûmó˜˜dmmµüØfg ß=|²ëäï'~Ï”Èår//I$Ä'D1ñ}Ï­=ß_ÿ^q”ò,)Å[ߎûvVïYDt5ñê¦?7=+zfkh»nìºþ6ý™ ‰¹‰»Bw…> -’™ M_éòŠÏ`;#;Õq*^OÁ˜0¤ëØìØm7¶Ý~¿XRl¡o1ÍmZTFÔµ¤kDôæ€7?õúTEï…ˆrv…î K +¬(4Ò5òìê¹Üs¹rs#ù†_ˆ_lv,O‹7ÈvЯ5#÷ŒÖmؾ™ûTŸWK( ;Þeüö¿¶'å%ñµøÃº ûdÄ'úÔ¬»Öà™*SÑ>#)/iÃå QQR¹tx·á ÿh䞑̮Ÿgý“£|xÀì-¶Ö¼#ó%«G®^2pÉo~ûø÷EQÄŠêh÷Ôçôi½/¾0}ô(YE<9Wãu´#ª³Ž»wù¯¿nuófªX\Óf!A 唿 Ú9hšÛ´ï&~§¾^ê¾¶¯mî¨ÏÏ?‹~úÉàæÍTuuhÆ”: {ûj"Š×Öt ðB¿ÇþþÖÉ·”KBSCéÿ íîÀË'!AÛÁ¡ºáz QÈ:: ‘HjgWÖ¢'“‚ºý™ôg@D@aEa±¤øòãËÿÜØÛ²÷¤“4ü÷à%&èÓGÒp=Ð(̰hGTϰ"¢o¿5¾|Y÷Ê•§-~ l»þ4\yN-‡çØe`ûì¥ZZ}6æìɨ“ÉùÉ……–ú–Þݽ— Y¦ÃÕiY°ª¼hyÔK#÷Ô'*Š÷ÚkÖ§N¥÷î]©¢fXi²€v¤Á¬ãñcíqãlöíË1¢¼mBhÏV­2{øwþ|šêjÈ:43¬:GÇ*/¯²Í›¥Ò—z° bcyzo¿]¨é@ aÈ::˜Ï>ËKMå9¢¯é@4ìë¯{õ’Lž\ÒpUÐ4dL—.Õo¼Q´m›QRWÓ±hL@€AD„àË/s_/ dÏòåùööUo¾i‘ŸÏÑt,ð×_:ß~küÁynnª‘Cû¬ ãáñä{öd±||ÌKKñS ˃¼åËÅS§–¾óVttø¾Ð!Kü1ãéSî¬YVééZš \¼(œ?ßÊÃC²aCަc&@ÖÐQ9:V:•ÎáȧO·¾v ¯€—\e%뇌–/ÏœYìïŸÁåâõ ²€Ì¢æøñçƒW,YbñÖ[Ož`}9¼œþøC×ÛÛæçŸ ¾ú*ç‹/r9XØØÑà-íHƒo |‘ðpÁúõ&IIÜѣ˦M+<¸\ À6tx™™ZW®è?®Ë›<¹dÕª|3³šf´ƒ·j²€v¤ÙYI¥¬ß=ªÉg³åݺU‹Å5B¡¬Ãh2«¨ˆýä 73SK y{—ýç?E={6ÿqUÈ:4Y@;Ò’¬C!7—.ˆÕÎËÓ*-Å3ÌÔ¢¨è^ZÚ~77?Mðrb³I__fcSíêZéá!áñZú}Y‡Æ!ëhGZ%ë€6pþüy__ßÄÄDM‚¬Cã°šÔ Y¨²P/d ^È:@½u€z!ëõBÖê…¬ÔKKÓÀ?ðÚT€ŽÂÀÀ€ð3 ÐqhiáK¯†á´#B¡PÓ!@£ðù|ÂÏ,@£a†¨²P/d ^È:@½u€z!ëõBÖê…¬Ô Y¨²P/d ^È:@½u€z!ëõBÖê…¬Ô Y¨²P/d ^È:@½´4@PPPpùòeÅfXX8qBQ¢««;~üx Dаär¹¦chï$‰™™YIIÉ‹*ÌŸ?+éJ³ IDATÿСCm@‚V ãóùÓ§O×ÖÖ~Q…¹sç¶e< Æ: ™jjj$‰¦£h;W¯^2eJ½» RRR¸\n‡ AB¡°ñ•±®šI"‘deei: €¶Ó½{w‘HTXXX«œËåNœ81??_#QhJ“²̰h‡3yòäºÕÕÕ“&MÒHH²€Æš4iRuuu­B“~ýúi$€ŽY@cõíÛ×ÒÒR¹„ËåNŸ>Åbi*$€Y@L™2Ey’Uuuõĉ5@‡€¬  ¦Nª<ɪK—....Œ C@ÖÐöööݺuc>kiiMŸ>]³ñtÈ:šæµ×^ÓÒÒ"¢ššš &h:€Y@ÓLœ8±¦¦†ˆzôèѵkWM‡Ð ëhkkë^½zÑk¯½¦éX:¼›4¬²’Áôˆ—žÎ-.fËdš jj°X«BCÿs÷®XÓ±4ŒÇ“Ȫúô‘¸¸Tµ}È:@c¢¢x\º¤[QÁ¶°¨±µ­‰d,–\Óq4ÌÂbFNÎ<ž…¦h”âböÓ§ÜS§ôJKÙ––53fÏ›Wll,m³Xr9¾äAs”––fee5ïØìl­M›Œ‚‚ôzô¨œ5«xÔ¨rsóšÖ @Ý’’’ìíí5@ÈåôèïâEáÉ“zUU¬åË þóŸ"-­f¦Mú7Y4S³³Ž#Gô7n466–~úiÞØ±e­¨VQÁò÷7Ü·OdeUóÙ͛sÕ¤¬«É¡íH¥´~½É—_š.^\tñbRä￟ñâS3³š×_·ºzUWÝ="ë€6R]Ízûm‹'ôwìÈzÿý|ƒlšdm]³ƤI¥ï¾k~ø°¾ZûÂjrh#Ÿ}fÁÿå—g½{Wj: "ÒÒ’óMŽ¥eÍW_™ZXH½¼Ô5cÐöì1 ÔÛº5 )@{óÞ{³g¿ÿ¾Yl¬¶šº@Öj÷èoëV£5kr½¼Ê5 Ôã‹/r{÷®|ÿ}óš–:ÚGÖê%—Ó7ߘôí+ùÏŠ4 ÔOKK¾ysöóçZ¨£}d ^AAz‘‘üuërYjI› uXXÔ¼ùfᎆyyœVoY¨×ž=¢©SK\\°œÚ‚ŸŸßÔ©SÞyçÖm<;;û矾téRË›ÊËËóóó=z4êºuëÚ¬kÞ~»@[[®ŽçYáV Fð?Öþî»lM…¯¯oNNΣGÔÑø‚ ’’’ˆhãÆ3fÌhISÆÆÆ¾¾¾>|òäItPTTDDÇïÝ»wS€ÎC ϘQrꔾ¯oAë¶Œ¬ÔèêUkëj77 tÀË@.—×úÐQºxúô)"ëÕ^}µÔß_§Ý½{s^Xþ"È:@îÝã¿òŠDÓQ´ŽC‡;wÎÒÒÒÛÛ»ót MÏž•B¡ìÞ=>²è0¹#Fài¹@ÕÕÕááá?®¬¬‹Åvvv½zõb³ÙåååûöíSTëÕ«W¯^½®]»–••¥££3`À"ŠŒŒ¼ÿ>988 :”õïÇS<{öìæÍ›yyyǯÕuRRÒ¹sç›cÆŒ‘J¥wîÜ©¬¬´´´>|¸egg;vL9OOÏëׯ?~ü¸ªªÊÝÝ=22’Ù•ÀçóGŒ¡¨,“ÉîÞ½_\\,ìííÈãñšt‰ ¯_¿ž‘‘¡¯¯ïáááääÄ”+_"E×u¯[Ÿ>}ê=<%%åìÙ³Ìô*"ºvíZAA-X°ÀÐЈ***ž|ØÜÜœˆd2ÙÂ… oß¾¬ 3ãñä••­üÒd F»wï–J¥Däìì̤DÄápV­Z•››[«ò€¸\.1߀Š,ÂÌÌ,''‡ˆ˜§9Ñ/¿üÂ|èÞ½»H$"">Ÿß¿ÿàààÅÃ$D4pà@6›-“ɪ««=úùçŸ+WëÞ½»¢æòåËMLLêmmÇŽ555L}f‡ÃñððHNN&¢m۶͘1#(((55Uù¨Å‹ …ÂZ'ÎÌÈêÒ¥ SRUU•ššÚ½{÷H«®˜yuèСùóç[XX°Ùì•+WfgãÙƒÐÊu€)b«œHQ¿~ýêVÖÑÑa>hiýóëIWW·V!3jAD?f>0ßøë~®‹INˆˆËå …Bf:VBBB­jŠÏ̸J½>|È|022R*>ggggggþõ×_ÊGÍš5«VÖ¡ˆJ1sŒˆ$’Æ>£Ù‡OŸ>}ÇŽDäïïïïïohhèáá1nܸ &4²k€FÂ[ -ÔZÞ¨x -³Ä¼Õ›}‘^œf¾bÅ ooo&S*((þàƒ|||Z@]ë5rss !¢çÏŸ+—_¼x1++káÂ…-iÜÑÑ1""‚ˆòóó…Ì3š^„YÆ@DÕÕÕeeeÌgÅŸšªW¯^7nÜxQb±ØÌÌlêÔ©}ûöU>ªÖ@GP 1Ñ;w>|¸xñ €Q£Fíܹ“ˆÒÓÓ<øóÏ?Ñ•+W²³³ÍÌÌÚ8Nx‰a¬ÔèwÞaÚÍ­_¿¾VÒ Š…ÑñññL:!‘Hîܹ£â›7o2ÂÃÃe2q¹Ü9sæ4/€åË—3_èH¥R&"¢•+W²X¬)S¦øþ[Ûgb±˜ùPRRBDgΜa°k×.f—µµõâÅ‹™ÏZZZ|>¿ƒ€—gݺušŽ:¤ªª*ÅŸ _ÄÏÏhܸ2GÇÖ|Å t,ÖÖÖÎÎηoß.++ûý÷ߟ>}öõ×_÷èÑã믿®ªªÚ½{wxx¸b‚Yá}üøñ˜˜¦D.—wíÚõ—_~ Uü³“ŸŸß¯_?fŒ"""¢ªªêÊ•+iii;wîd³ÙŠÖ zöìÉår÷íÛW^^ND<ïÚµk<ðóó“H$ºººßÿý€ÊËËkE’••¥¯¯ojjJDõî8p ……EŸ>}"""òóó/_¾œ––¶k×®˜˜ƒ/¿üRŬê6(—Ë îÞ½«(‘Ëåu»îÙ³g#···gÎúÒ¥KDôôéÓôôôS§N­ZµÊÁÁ!===(((88899ùÆ[·n-,,äñxŸþ¹‡‡G n;tl.‰hüø¾é)/ikfX€z;ÖËËëÎ; eeeFFF{öìažgÅd“'O®uˆ¥¥%óŠ e¯¿þzÝÆ}}}§OŸ’——'‰.\¯XÂ^×’%Kœïܹ³xñbKKË#F(/ᨉ²z÷zzz^¹r%222..®¸¸xܸqï½÷Þ+¯¼Ò˜·ÖmÇãÕ=ñuÝøÃ'L˜àèèxûömæ%'Nœ`^¿¸víÚ?þ8"""555??îܹ666 hɲ€z±š±è €ˆJKK³²²T×qp°÷óË?¾´mBx‘W^y…yPï¦M›¦OŸ®épÚµåËÅD´cGßô˜ÑÔFºP/̰€—YRRÒ¹sç B‚ƒƒ –,Y¢Ù¨:dðò[ºt©¦CèÔuÀËÌÞÞ¾ÞÖЖ°®Ô Y¨²P/d ^È:@½u€z!ëõÂû::©ï¿‰ŒÌ#"OO3çf×hÆ: CÊȨx÷ݰ?ÿÌÔt õhϱ)›4Ézɇ۷s“’J…µ‚¯·N3t”kj‚±袣 ƒƒ3 µGŽ4×t,µµçØ”9;ë[XjÖ ¾Þ:ÍÐQ® ¨ ²èF¶8{ÖËÎN¨é@êÑžckš‚ïÐ×ZYtT..šá…Úsl RSðúš@ !뀎çСä ž‘££þW_õV”K$Òß~{–[TTedÄ2Ätòd.÷ŸÅKÒS§RÃÂrJKkLMù^^毾jÉf³jµùÁ.?ý”](ie1~¼•rïYY’ƒ“bc‹´µÙýû›Ì›g·té-©TND>>Î))¥µbk|Ë*«W||ñW_=P}­ 2]¾¼{ /,##£" éñãb3|¸xÆ [çŸØ>,8þYrr‰\N®®¢9sìÌÌøª›mð~ÀKYt<Ɖœô—, ­¬”* 32*.¼™Ÿ_éããܵ«n||ɺu’ô‰´‰èùóò BŠŠª—-ëÞ¥‹Îýû|1t¨Ùîݯp8,E›U|áímÙ§ÑéÓ©¾¾·‹ŠúÌ™cÇôW4~‡Ãzï=gkk ÞxãæÝ»ùnn¢U«ÜìíõlltkÅÖÈ–U‡Wïu°´¬Xá¢úZóZxaÏž•¿÷^ø¬Y]û÷7 Íþì³{.<Û·o°–‹ˆöìIز%zÑ"û9sìòó«öïOp qÉG"*(¨œ5«ëÚµ½˜Ê£F™¼yó£½{½¨Ùï¼L0™^iiå·oçÚÛë1_a^^憆ڗ/gV¥¥•ß¹“×µ«ùNϘ0ÁŠˆNŸ~ªÜ”••“ŸÏ±²Ò}ö¬œÙLI)‰)rpÐcR†··e#ƒTÑrãÃÓ”¾}˜”ƒ1uª =›ÎlΛ×íý÷ÿu10Ðvsݾû¢Ö¼_­ Q뀗Ajj)Õ}Æ«¥¥NAAaZZYQQ5VÍûW­:ññEÊ›µ¦$éèp23eÌg&I¨Õ‹±1ïE3 jQÑ2cÂû÷®V^ס‚XÌWÞd.‚"k‹ù—.=¿u+7'GR^^CD Å¥¥5R©¼Þ‹ÓàýÂ$+€— ²xèèhQYYM­òÒÒjfoMœˆ¬¬tê]!“ÉU,ÚVàó9u{©¨¨a–’·„®®V3Âkõu*TUÉ”7™‹ pˆ¨ºZ6kÖ¸¸¢Å‹ÆŒ±`ÎeëÖ˜»wó^ÔZƒ÷«Ub€ö¿Ýáeàêj j%&–”—Kut8Lannå³gåff|;;auµLO›—Wéáa¬ü×÷;â*+e\áê*´K**j‚¿vâã[ôÒnFͯÕ×u¨˜ø¯Ó|ø°ˆÜ݉(22?:ºÐÛÛrÕ*7E®ŠÖ¼_­ QX×/óᇮ%%Õß|ÅŒæÎÜ»wóŒyöözkÖô¼w/¿Vðwïæ3u&N´8¡¡9ÿÇÞ}ÇEq­}?ËÒ–^¤‹€ôb‰€"HìŠ$ê5ö%–$æF“ߘ£‰å b7±ÄØ{¬€"©6”Þ‹”¥-ui»ûþ1¹“½ , ²Ôß÷ãì™3ç<ç,¬óìÌ™ÑÐOK«ÒԔߵk¤››.=±»v½©­åYY©55ñ55åkjš^½*wrÒž>} ŸO:ö~@·X¿^âï߯‘ž¹yË·Ùl²è nÌ:²³k ¹ôK33út|¾ 3³šÃiÐÔ”73Sm~B U::ŠFF,úkõüüÚÜÜZºšƒÁHLüg%÷ AÊôêçêê¦ôô*yy++µêêÆQ£îLjäç7ºÅØššø’·ÜZxÒœ\)|·(5§Q$øòòªÎ€ ææªåå ÙÙ5ŠŠ2––j"ËÄø995••,VJJeyy!ÄÀ€%¿_Ðõ¤‘u`]ô>ÔóZÜ$#àïNÛ"ƒ´XÁÐPIøÎ°”æW7EDÇÄ”lØ`;l˜&U’PA¡ï¥Ûbl’´,>‰‹+§~¾paœ££6½) ùðá䨨iŠŠLñÝÑîÝ{{üxjJJ%‹Å7Nïßÿ¶oñù’tËÅÅõׯgfdT3##eww½•+- P³O{û’|ÍuÙTËÈ0BB oßÎ{ö¬´¼¼aÀ;;õÕ«­FÒi­'Ou»úÑÅ¿Õåå ‡%=zTXXX§££è䤽|¹…­­ºpk=yªÛµ-7·V|„øi¾—ä›Âº~ª9œ†€€äÀÀü¢¢:UU9Ï?·4H¹MuÇ~«{œëhÙ? OKóa2Øf\\ùÈ‘=šòîM?>æùóéïÞN§ÇЉc예ˆâéÓÝ¿ÿ¶ªª±ùVOOƒ´4Ÿo¾Báp~ÿ=½ÅFþú‹Mý7¶sçÈ´4áÿÆ!ÁÁ®®:Ô⻣œ>¾~}ôäɆÑÑÓ.]rÏήþàƒÂBnóštËK–„]¸µq£mxøä°°)k×Z]¼˜5ujpnn­˜½:Ö—„£h®+§úÊ•l_ß(}}Ö•+î/^Lp.(à~ôÑ_ÁÁ…Âõ{øT·«/a]ü[‘Q5ujpA÷ر1/^LÏY´(L¸~ŸêvíEk3B|€4ßK¿M]<ÕÅÅu³f=¾s'oûöá±±ÓNrÍÉ©ññ IO¯êESÝ®½z&d]G øû_Ö|Œ¯_—[X\ß·/¡køá‡¸M›ìvï%¾š™™ŠŒ ãäÉ4.·©ùÖ€€¤Ö?Ïf×½~]îåe awùùµ»w¿yÿ}ƒÕ«­””˜ff*Œ.-­ÿñÇ×â[þê«!žžújjrjjr3goÜh[VVäH²˜½:Ü—„“&¢‹§ÚÁAã›o†*)*2‡Õܹs$Ÿ/øõ×Tº~¯˜j ûÑ•SÍã 6lˆ16Vòómn®*//co¯AüÑzþTK¾— #ÄH»þ6[Ô•S½gOB^^íÿýß0ww=eeY;;õƒG×Ô4nÛö’®ßó§ºÃ¿Õ=²€®3l˜æ‹Ó׬±êî@¤¨ÛÇxíÚxú?1LMU¦L1*-­¿p!KdSdd1›]7mšQ‹;0 OO »»r%§¡?kÖ ºÄÈHÉÑQûáÃüÒÒúÖZ~ôh⌅·Ž¡EÉήOÇú’d-êÊ©ž?ßìÆ á­&&Ê„áoˆ{þTKÞ—ˆ®œêÀÀü¤¤Š¥K-ddþ9Óëêª;~Ùó§Zò½„I!>@Úõ·Ù\OõÇù ñðЧ·*ÙÛkDE•deUS%=ª;ö[Ý£ ë€>…: - __kƒ?žÚÐÀ.?x0yíZk&³åÇ  ‚áÃ5µµ$ì."¢˜2dˆ†pá!š<ž *ªDLË"ÊËë !ÖÖjbâép_’Oš°.žj¯^•BœÐ%½bª%ìKDWNõÇ„‘+UDôü©–|/ñļAø‘üoSÒ›ê†~UU£ªªœ¼üÿÔÔÕU$„<{VJ½ìùSÝY¿ÕÝYôV©©•Ÿ~óÞ{wíìnzz>\¿>:,Œ-;â,,®[X\ÿðÃW¯ÊæÎ}boËÍí¾Ÿ_"Ÿ/ˆˆ(þàƒ‡[Nœ=ÿRøá‡!öö·Fº³aC´Èµ’«VEP-oÚ{ãFîô騚ŸK×î=:ºdÞ¼Ð!CnYX\Ÿ2%XxS‹±±¹áârïË/Ÿåä´ñŧˆG ||BDƒ!„äç×nÙò|ìØû¶¶7]]ï}õՋׯË%Ù*É`›k>ÆU«"||B!‡%S›/km÷ØØRªŽ˜7Æ´krݶVóò2`³ë._΢ Ÿ?/ËÉ©ññÔâ.µµ¼ÈÈâvHO¯b0ˆžÞÿ¬öÓÓS$„dfVKÞòÝ»oY,ÙeË,ÄÄÓY}uºÎê²²úû÷ß~õÕs77ÝíèòÞ8Õ-öõ.Þ}ªãã9L&ƒËå­_=jÔ;»›S¦Ÿ<™ÆãýsÝdÏŸj ÷j“˜7 Í{iíoSÒ›jyy%%fUU£HÒRVÖ@yûöïÿÑzþTwÖou7BÖ½Rtt‰OHnnÍÉ“.ÏŸOÿõW@°tixRRÅÖ­CÓÒ|TUåØìº³g3þ󧈈)&èûù%mÝúâÚµœC‡œÃÂ&;;ëìÚõFx¹ÛÝ»oW­Š““¹vmü_Mž;×ôßÿ~&¼>^<ýôiqPPþÁƒ££¢¦þôÓˆÐТ9sžPç7éÞsskOœHýñDZ±Ó¶n*¼©¥Ôž<éòüùŒƒ_¿æÌœù(!¡B©xõªüêÕœ}û##EƒÈâÅá œ_uyõjÆï¿-(¨¥r€6·J2Øæšñøñ1ׯ'„øúZ§¥ù¤¥ùˆ¹?’££6UGÌ¿œ$œI¬[gC9z4µ©éïwúàÁ¤?¶”•mù.¡¡E üv4TV6ÈË3EnK ¬,G©¨h°åÈÈâ›7swì>p ’˜x:¥¯rÇ{0iRP»–› 묩^¼8lôè»ë×G»»ëíÝ먢òÏ{ÝT·ØW·O5›]Ç`¹sŸ ªùð¡×ãÇ“&LÐÿé§×ŸKïÒó§Z’½ÚœêÖ"¤áD˜˜¿ÍnŸêqãôBÝt‘RRRÏ!„ÔÖ6uÊðÅi5Q IDAT¤Ë~«{8dÐûðù‚Í›Ÿñx‚€g{{ EE¦©©Ê¾}N"ô¥¥õ[·54TRS“ûôS;BÈ;o·o®¯ÏÒÐß°Á†ò÷g'ر#NVVÆÏo´µµš’ÓÍMwáÂÁ|~ K¿ÁÞ½Ž¦¦***²'nÜh[PÀ=|ø–ŽÕÔ4ýüó(ssUæÒ¥æ÷îMhm MM|'{{ %%æÈ‘Zû÷;ÖÔ4}õÕs gƒÃiسÇÑ̬…` j³²ªÝÝõ,-ÕäåeÌÌT~þùŸ5‹â·¶k°½—½½†»»^~~íõë9„ׯ˓’*æÌ1m­~``þàÁªƒ·¼xQr€Âú¿CLËoÞp>ù$zëÖ¡ÞÞÆˆ§]}µÞáó-þ9H¨³¦úÌ·W¯f\ºäž™Y=qbðaD+‘÷Щn­¯nŸêúz^S“`ìXÝU«,µµôô¿øÂÞÕU÷Î<êÖôØ©nm/ñS-&B>@„‰ùÛìö©Þ´ÉNMMnûöW¡¡E55MÉÉ•ë×GSÇ â/rë™S-~¯ž Yô>ÉÉ•¹¹µVVjÂ÷¨–——yñbºðíä•54䩟55åeeææªô ¿©s”EEŸZMJª`³ë¬­Õ¨ =)­]–:dˆ¦‚Â?ŸScÇêBž<)®cbòOïâbm­nhøÏ—"66êúú¬øxN~~7Óüo0,VËÁè鱬­ÕNŸN?t(™Z0§««˜–æCÕ¿µ]ƒíÕ¨¯ÐNæñ&­Ze)rí/ÇÕff*ׯ{8;øâ‹g£Fý¹n]”‡‡ÞÚµV„ÅN~ù­îáu@ïSRROim!Møô.!DF†!\B£¤/ ¢®ïÔÒúŸ654ä[|^‡šÚÿ|nR‘ˆ\t$œ ´¦µ  H).®k³…æ1 Ãd2.]r÷õµyð Ò¤ '§;_|K_»%~+M’Áv–.^×A1BËÅE''§æ—_â_½*Ÿ7ÏTLxNC{—C˜›« ÿä·”¢¢:Bˆ™™Šø–ÙìºeËž®^m¹`A ÿ7ßë]úê;Õ,ó½÷t*+ccÿ^ Ú[¦Z|_â]¦ÚÈH‰¢©ÙÂKYÙßø=ª%Ù«5ízƒðÒ\ó¿ÍÖtåT›˜(ïßï=5)iV`àû«W[±Ùõ„{û¿g÷ü©~—ßêYô>Ô#?;÷ÀWKKžýŸJ©©iùR"RФÍ,¨¹ÖRRRG„¾€¯²ò.“ FYYvÍ«›7=¨å%¯^•ûø<~õªL’­”w,CâS¿]¿®ƒB}…vâDêòå,–lkÕ‚‚ ´´¨»"Jî½÷BÞ¼á¾yÃa2ôÉ´[®©iZ±âé¬YÆ«Wÿ}âÂB®ÝM1ñt¸¯.Ó¹SM}ÓÉáüý+Ú+¦ºÍ¾:K‡§šº{›ý?G6Ô>õ…é S-É^-êÀ„æDþ6[ÔíS[¢¯Ï:ôﬣçOu‡«{dÐûX[«+%'WßL©¬¬ÞÖöfPPAÇÚ´±Q×ÕULN®d³ÿ9ÃÓò­èÞ¼á?®ˆºêÀÝ]¯ÅÊbо˜*)©¢°ko¯!|Ù•oÞpêëy-“˜X1fÌ=ê|Žªªœ··ñ·ßåñTñ[;q°ÔiŸÆF>!„Í®³°¸ÞÓî¶1zô77]CC¥… ÍÅT ÊŸ0Á@ø!’˜=ÛD^^ææÍ\º$?¿6&¦dâDC:ykÞrS“à“O¢FÒþüóVïÓ|¯ŽõÕ•:<Õ³f=¾t)[¸NC?2²˜2tèßÿ+÷ü©–¤¯ÎÒᩞ3ÇDF†ø?Ÿ¥Bè¯]{þTK²Ws{ƒúùˆ$›ÍuñTß¿Ÿ?qbpW¯Êž=+ýäkºZÏŸêŽýV÷(È: ÷‘‘aìÚ5JVVfݺ¨øxN]/9¹ò“O¢† Ó~P»0™ŒmÛ†òx‚ ¢SR*¹\^ddñÁƒI-~M¯®.ÿï?Ëʪ®©i ,8p ÑÀ€åëkÝá¬_Ïáry/^”}öY¬²²ìÎ#$l„Á ÿþ÷³œœšƒ).®Û¾ýUA·±‘Ÿ“Ssþ|¦ŒÌ?_ŠˆßÚYƒ4HYEEöåËòšš¦[·rõô R–|÷®qê”khè$zÙOsÔ"œö^“M12RúòK‡òOœHåryYYÕ7Æhk+Ð{n±å¯¿~Æþý÷ á«ËÜÜî‹§c}IâÝo¬DëðTïÞýææÍÜÒÒúúz^bb…¯oTvvÍ‚fô}ñ{þT·ÙéSmc£¾v­UppŸ_bqq›]·gO|x8{ÉóáÃ5¥:üNœê6÷"-Mµ$oP'Nµ$zþT þ6{ÂTgdTíÞý¦¼¼Ëå=|˜¿vmÔ¬YƒæÍ3{Çá÷´ßêŽ!tüFПUWWµ±¤ØÂÂÜϯhêT©|±’RY\YÙ¨¯¯8y²Ñ'ŸØ¨¨È9’¼gO]íôi×ÄÄŠ]»ÞÐ%W®ŒgïßÿOsçÆR‡Ú¡¡E~~‰‰‰•rrŒÑ£u6o¶Ÿ:5˜ºÈjï^GooãÊÊÆ‘#ÿôö6ž:uà ééÕŠŠÌqãt¿üÒÁÀ€Eé}ôèü1–úyÇŽ¸S§ÒéM;wŽœ;×Dx Nƒ––‚››îúõ6m—¯ZAÝ!ÄÛÛxÜ8½ãÇS32ªX,Yá`ZtéRV|<‡Í®SW—2DsÙ2ó1ctÚÜJis°t ôT?~\Øâ=*ؽ;þíÛZåï¾îä$îdïè§Ÿ^Ÿ<™&R<‘z\îë×åôÝ !_|a·fhU²`Á_Â%wïN *8t(9&fªÈi}ñÝÑîÝ{{ìXjJJ%‹Åtw×ûâ {j !‡%7oyÈ[\.4#//“àÝÚ^ëK’Qäç×ΙóDIIöÚµñôzЮœêüüÚ›7ó?.ÈË«--­WU•³³SŸ=ÛdæLÑ{Åôä©n³/Ò¦šrýzΙ3©©• ±±Q_°`ð¬Y½iªÛÜ‹´4ÕmFˆŽýmvûT76òoÞ̽|9;%¥R ØØ¨ô‘Y‹·ÌêÉSÝæ^kýz=Bˆ¿GzææâÎ;‰@ÖÔíYG· Ä÷îuìîX¤®_ ¶M|¢££pôè˜ÒrWîÕÅ0Õ]SÝe0Õ]SÝY¤‘uà +€6°Ùu¯_—{yö–»r¯.†©î2˜ê.ƒ©î2˜êç: ƒp®£»c‘º~5X Iã\G«÷ô2†›7soÞÌ=}ÚÕÕUWzÝ5¿bU½EJºx°Ð·!ëÔñã]z…¥³ó€æO ï2]îÐ8n#×ÓÂÓAßaöÐÙ†j†ôÖM·7½.|ýpÕCá]B3B—_ZN¹°ð‚ã@GáM…U…«®¬ªàVL±™Â®fßKº·fÌšOÇ~*f;‚v\|uq°Ö`'c'BHXVØÛŠ·+F¯Øè¶‘Á`Hi OŽEsì>HsPJqÊ“Œ'Sm¦îŸ¹ÿ]4dÐûÌ´ŸYYWy4òhO‹!0%pGÐŽ¸‚¸}3öQ%ìjö…—œŒÆ˜tÅ£¾—^\Êár¾™ðÍúë›o5Ó2Ûà¶á·˜ß"²#šøMÞ˜s¢yµ“Ñ'›øM„/K¯¹Ãæ oâñyO2žÌ:G¸°ª¾êë{_ëªè²«Ù"Mñ|ßk¾¥5¥wVÜÑdiBœŒ¶=Øf¬aüá[Å£´GÓí¦ÿ4å§¿;ðV]^u0ü ‘ºÕu§Ä?ÌÿXÔ±?æÿ1Ä`UâæwæÙ?9[Ç4\aÐi¼,½¾™ðÍz׎ø‹ªŠüÂü"²#º&€)6S®.¾j§g'¾Ú{&惘¤‡ÄÅ‹lª¬«¼ðò‚·½w‹;ÆæÅr¸/K/á‚~b0Ä}°{óú)qq‹G-¦ŽÔ !ó†ÏÓSÑÛºŸ/à·ÞÇ%Ÿ¸|B¿d2˜K—Bî%Ý“Æ@r9¹O–8.¡S*ÎÕΫßq @CÖÐiXr¬eNË̴̺+€ ûS†Ùf59¦ÜÇc>&„„ˆl:{ÊÃÜÃXøÅƒRƒ´”´F K§=~œöø‡I?´Xÿ~ò}Bˆ‹© ]"Ãc:¦°ªðUþ«ÖÂ[â¸d ú@á5E5Bˆ¬Œè¹ÙNȵ7ךøM“¬& WÐUÑ]ýÞ?YGÇ4\a½OÀ MM-IUUp3s3×6ÞšW‘‘QZ[ª¥¤åjêj¤n$ÉÖ[ñ·²Ê³!Ö:Ö!é!™e™Š²ŠÍÛšú2ÿ%!D_UŸºžçVü­¨œ(BHLnŒ_˜!ÄXÃØÇÁ§ÅÝó+ó¯Ä]?X+«ÉÖ“Û˜ÉÌ:' < 050¹8ÙZÇš*¬i¨9ûììÅ…ï%‹žU ¥M°œ ÃøûÛŠŠºŠoîóÝÄï(h±>u B$ £^ÆÅ g/âÅÄB¦ÙN“Æ@¢²£!–:–©%©O³žr¹¦Z¦îƒÝYr¬N@¿…sЋq¹‹Ï/¾•p«¸¦øÚëkSNL¡î)‡#{õz’ñ¤º¡:";bâñ‰«®¬’pk}S½_˜ßù—çgŸ™}?ù~IMIóö[t$âÈÅ—;}¤Nž)¿Êy•@ 8ôô]xöÙYS—ÁÚƒ[Ü%¹89—“;Áb]ò}à÷#F¶˜ P + ™ ¦ª‚ªp!u‘RaU!õR \‰»r'ñNkp¹§cO13Ãn†4’Yž© «°'dÏŠK+2Ê2r89Ûló8â“Ó®€8×½XPjÐéy§©…Ú<>oíµµ~a~¶º¶ï[½_U_µ?tÿÇ%ßLø†ª|?ùþºë먟Åo¥WЇg…Ÿ_pžº)“Hû̓7xܸÁã~‹ù.™i?ÓLËìâ«‹NÆNÜ6ˆ‹¡ša›u:×¼áóŽD¹—to£ÛÆÁÚƒ¹Üßb~;óÑ™Öê§+Ê*ºšºþý2-ø¯Ì¿î¯¼/¦‹º¦:Y‘B99BH]cõ2®0nËÝ-„á†ÃENFBøþ×÷¾–cÊð>@ŸcéÜTÕUÕ7Õ§ß^~[]Q²ÁmÃô_§¯¹º&øã` –†„1p®z1;=;úÞPLæ*çU„êÖCMü&ƒ‘Z’ÊmäR¼,½èÃzñ[ià †Ñ÷i¿`ɱ–^ÎðG&„œy~ÔÀQôEJÍ¥¹šºR×q¸œ­÷·~?é{-%-1](Ê*645ˆ6ò !ŠrŠÔË¡úCšúÓþ™û›§`ËÝ-)Å)çæŸÓÑ» „BÝwáÈ…TÊAþ{\E]ÅÍø›’ÄÀ¹èÅDÖ SWÔ$'B4Yš;&íØùh§ËA †#ÜÍÝé¼BüVšÈq°pû®‹×uPŽ\x<êø­ø[«ß[}"êÄñ9Ç[«É®f¿.|½sòNêå°|>?¥8%¥8…*¡V>\‰»ò4멊‚Êr§å„}5ýŒÒŒªú*ák“ʹå„}U}ê%ƒÁ¹/íçŸ_æ¿<¿à¼¶’¶”BÑdir¹"k6,´-!©%©ÔKIbà\ôb"—ÜBƒ0¨—s†Í‰\¹wÆ^]ÝÓ±§=x®»¾®¾©^’­‘›¢Š´ß(Ë+/µ„'à-½°ÔNÏÎ^ϾµšA©A Âð´ô¤^:;-¹ Íö©³Ê²„ ©—bú¢œ}vönÒÝÓÿ:M¥ÕõÕOEoTõî!„XëZB¨'{ÐD@þ{äç: W{[ñVøefY&ùïAdquñýäû‹F-ò´ðô´ðÜ<~³¸¿_˜Ÿó çE£‰ßJ7˜ËÉm­} Q÷±¥Ò•º¦ºc‘Ç>þ‘ŽŠNóš]¿®ƒ²Äqɯ1¿U|Ðê1=!$85x¸ápúœÃT›©" * Šf-ülòIÖ“n'ÜÏ §…!"²#ôUõ‡ÓÝÔ‡‡#Ÿ_pÞ@Í€*©n¨~ŽG§ „âeéõ8íqJqÊD«‰tazi:!ÄV×öœë€^ìUÁ«o_P?óø¼ãQÇ !‹F."„”Ô–üü#u\BƒÁ0Ñ4!„ð¼6·ÒЍ[ß6o_B:Ê:„N‡’Qšáî//+ß±ÁJ‰š¢Ú¼ÿ³kê®á†Ã[«SÛX‘!òp@IL´š8Ä`È™gg8\UrñÕŪÂÏÆ}FŸ§j~«çoŸv병F#oÆßô ó£þŒ>)¥ø8ø˜hšüñââêbª¤°ªðÒ«Kz*zôC%ˆsÐûÜŠ¿E-®p3uÛ¸Ý\Û\[I;*'*‘¸Ámuƒ)m%m{}{ŸS>“m&k+iTC;É/ÌÏÇÁ'³,óeþËú¦úªB¿0¿ –ìõìuTtÆš½p›%Ë Ï Ÿe?‹^², a™aÏß>§ŽŒsÊs¨ûü.µ˜º»š}áå…o_ärrýÂü\L]¨óÂϫȻöúZtn4!$(5¨°ªpÁÈ1¹1 ¼†Ö²Ž³ÏΖsË…×uÐ-Ë0dpxåå•3›9Õv*»š}7ñî'.Ÿ|8äCz÷æ÷°¢.u»Ÿ|Ÿz6MžùwÂÖ¹‘gÊŸ˜sâã«Ï<5ÓËÒ‹Ïç¦j²4|”å•©:’ Ä@Ö½’‚¬Â· ôSü2J3>òðSütUt¯.¾š\œœP”PTUä8Ðq™Ó2}I¶ÒXr,¿Y~O2ž¤•¤‰´OÇ ²Ëš1kDJŽÏ9þ ùÁÛŠ·tÆ"m, 1k0ÑæSíFm<š~˜h¦eÖÚã/(^–^-¦%úªú7—Ý MM)I1R3Zïº^dÝöý!;§ìdɱèµû‹F-jä56oJä±ë83-³;Ëï„e†¥–¤Ê0döÍØ7ÆdŒHwmÄ`PWœ´WuuuQQ‘ø:æ~~ES§VwMH¨²®räFzÛ{ï±·»céf<>ÏÙßyÎÐ9›=6ww,ï¤Ï @ÚÖ¯×#„øû·q¤gnn.¾‚0œëq8uœÅ£O·Þݼ«>3€ÞY€¨æk6D Ò¯h+iwË͵:]Ÿ@o„¬ -®Ù€ŽAÖ j¦ýÌî OÁæ@ºu€t!ëéBÖÒ…¬¤ YH².<¯ú‚_c~ J "„ 3¶Ùcsw‡ÓEâ‹âýÃüi úzÂ×Ý €8È: /ð0÷°×³_t~‘‚¬]XPYð}Ð÷s‡Îõ°ðèÆØ¤Ãåì Ý{?é~9·ÜÅÔ¥»Ãh®°‚¾ÀLËÌy3ƒÁ.Œ/ŠL L ì‚2J3柛9îrôE™uj–SáÌGgº¦;€w„sÐgyYzÝ^~ÛLˬ úªi¨‰Îv4v삾!Çf³Ò±Ê.ÏîšîÞ²èËlum»;©°Ò±êîÚYôVEÕEgbÏ$²e]M]ç˜'¼õì³³÷’îB,u,·OÜ.R²ÑmãéØÓ 섚úc ãÝÓvB¸Ü«¯¯FfGV7Të(ëxZxN²ž$Ãøç*ĺ¦ºë¯¯GæDVÖUê«ê;8̰¡¦¨¶çÉž¿2þ"„Üxs#67–â ïÐÚ ïäâäí·‹Ú“1ëÝÖ¿Ëäô(È: WJb'-<¿É`~âúÉ@õÏß>ßxc£p…qƒÇYéX­¼¼²¾©^¤¤°ª0±(ÑÛÞ{ÔÀQ7ãoÆÄBò+ó_TQW±ÎuÝ A/ó_~~ûó±oÆþà0S†I)¨,XrqIYm™¯‹¯¹¶yaUáÉè“?ÿôçŠ?gØÍ0R3úöÁ·NÆNs‡Í%„¨)¨µ¹¡šáƱ[ÛJÑVÒ~ÇùèQu@¯ôå/9\Î¥7ô!žž¿Æüz?ù>]ÁDÓÄDÓDVF¶yI^EÞ±ÙÇ,XBÓJÒ!›noÊ.Ͼ°ð‚ã@GªA-%­A;~þûÇ%T…ŒÒŒ«K®3F5èaî1îÐ8n#×V×¶¡©b¤nä<ÈY|äª ªmÖècp+è}2Ë2Š,XP)eºít w7Ö0¦RBˆ’œÒPƒ¡¹œÜ˜ÜSMS*å L³™F¹öú!$—“m®mN§„]ÝK‹.™hš¼ûˆú6œë€ÞçmÅ[Bˆªp¡Ž²Žð 145DJ¨›Aqê8óÏÍÙ”\œLW0P3Ù:Ô`h;âþoƒX×ý ²è}å !5 5Â…Mü&t¬AeyeBˆ‘šQ‹+.ø¾’¼!¤¶¡¶cí úè‡u@ïc¯gÏ’c¥•¦q¹,9U˜Z’*t0ë°Ó³SUP-­-uèH­§ø‡ù×óê9ÛëÙ«(¨¤–¤ ÷ØÀkX}eõÊÑ+ÝÌÜä˜r„¾€O©¬«\suÍÏÓ¨>°y_X×ýÖu@ïÃ’c­r^UYWùsÈÏÔ~U}Õ/!¿t¸AY…/Ü¿(¬*ܺ'àQ…S‰Oü\M³vÀû€˜ µµ‘Ù‘ŸŽý”. IñóO*NR”Ut5uýzÂ×’Oc`JàÚkkéj^pèž¾äªäÿÞÿ¿E£5ï7¿2ß/Ì/<+¼¤¦D‹¥5Î|Üüáó‡ ‘<*ñï t/dÐûlõÚºÕkëˆý#k ¾ºä*]~?ùþºëëÄ왹âò ]›3óΘh™¼xûbËÝ-O2žÜXzCƒ¥A7Ë®aÿýÛžé{´”´.¼¼ðÓ£ŸXr¬-[¨Fž\xyaßÌ}.&.eµeþáþ+.¯8úáQO OáØØ5ì³ÏÏþÇû?*ò*{Ÿìõ ó+¬*lä5úࢬâ®Ç»v=Þe¦m6y/ IDATÁb‚$±µ8ÇŽi[ÒÞq2C3Bx ^–^ÔË»Iw7ÞÜ8ÊhÔµ%׌5ŒŸç=ÿ÷ŸÿNãûVï¿Þôz족*ò*ÁS ¾]M]Ÿ}úlüáñwVÜ1T3lÞ¯@ X|~±’¼Ò¯s5Ñ4y[ñv{àvŸÓ>ôè$‰JüûÝ WXAÁð·ÜÝÒÄkòóö³Õ³U’Sr5uÝæµ-¯"ïpÄaᚥ5¥ßMüÎXÃXY^y¹Órm%í'éO„+¬½b‚Å–ËHÝèÇÉ?©„ˆtWZSºuÂVC5C5EµOÇ}J¹“xgû¤íúªú, n!!é!í­Ó¦ÖØÝr€¥A½là5œ}~våè.'éWOEÏZÇútìéCOe•gBtUté’DE$~_ [à +è/JjJ!o ß4_ ’W‘Çãóèç?¨È«o•“‘þZ=£4ãdôɧÙOKjJ¸\º\¸…æÈ0dTþ)¡j ˆ ½± {÷u±y±.‡¾¼ª¬¶Œ¢¥¤%\Gƒ¥!Ü»$¡j+i{Û{_zu)&7ÆÉØéÆ›Úvzv­õË”a^Ztéì³³÷’î; ¦ ænî¾Üi9µ‹$Q‰ßèÈ: ¿ 4€2Úxô þèp#.gÎÙ9 cÏô=NÆNÊòÊ„5W×¥FWÇöîë:‚Rƒ´”´F ^RGöÔQ>­¦¡†Ççµ7Ô£W\Ž»|"ê„ã@Ç“Ñ'E‹ôKQ–W^3fÍš1kªê«¥=:~Ðç”Ï¥E—†“$*)½/ÐYp…ô6º6&š&IÅIUõUÂåË/-ÿìÖg6’ÄNª¨«p3uo>ž:´%„Ô5Õõ„Ø: (5h‚åÆßŸ6:6º*ºÉÅÉÂW”ÅäÆt TsmssGéNFŸ”aÈŒ3ûŸ{I‰ô›ÈNsp µ:\UAÕÛÞû[¯oyÞ_™I•”Þè,È: ¿`0»¦îjä5®»¾.¡(¡®©.¿2ÿûÀïã âֹлó•0;=; –FhfhpZ0·‘[U_u9îrtNtOˆ­½’‹“s9¹ôâ BS†¹íým<>oà )Å)ÜFndväÁðƒ Æ?ç $u¥óJ@°;d÷ŠÑ+„[hÞ/!¤¸ºx{àö‚Ê‚F^c'çüËó2 jñ†$QIé}€Î¹û$€„ª««‹ŠŠÄ×±°0÷ó+š:µºs»¦Ÿ‰AÙ9eçÜasí~±kà5P%Læ¸Áã§=¦ëœžwÚÕÔ•’V’ð4àiÖÓŠº ÷½çëâk¦eF9qdÏ“=»ÈÊÈ.øc]²ÅcËJ畉ìÄý¡û_濬¬«4P3ðqð‰+ˆ£îFµbô M–¦H#‰E‰»ï¢K®,¾ž¾?t?]rnþ9êðZLlÒpèé¡COÅlŒy¾{hF¨_˜_";QŽ)7ÚxôfÍSON¥.gÚ;c¯·½·ä¡~xæÃüÊüе¡rL91ý ‚ÐÌÐK¯.ÅƳ«Ùê,õ!úC–9-£©K•ø÷å+ϯ¤1‡}Òúõz„ÿ6ŽôÌÍÍ%oYtP7fÐ)>8ý޲ÎÑÙGûI¿ !id¸Â  ?bW³_¾ö²òê'ý@÷Â=¬ú#]ÝÔÍ©ý§_è^8×Ò…¬¤ YH².d ]È:@ºu€t!ëéBÖÒ…g“C?õ(íÑ›Â7„Mo{oiwšú2ÿ%!D_Uî°¹Òî®EÜFî…—4X>>­Õ)«-û+ó¯ÂªBeQG™hšte„ÐWá\ôJuMu§bOe—g¿c;þáþ7ÞÜè”$q$âÈÅ—»¬;a&þùþ±÷ þñú›ë­Õ xàqÄ#85¸ª¾ê~òý‰Ç'~vë³® ú*œë€^)0%pGÐŽ¸‚¸}3öu¬O OO Ï€§!„];ðò‚“±Ó“1tá¸ÁãÆ ÷[ÌoÞ$–^\Êár¾™ðÍúë[«ãæ,êØóÿb0„*ñ ó;óìLWÅ}²蕼,½¾™ðÍxóñÝH ŠªŠüÂü|]|…³Žî5ÅfÊì!³ó*òZ«ËÉ x°Òy%rBæ Ÿ§(«Ø%@‡¬z%–k™Ó²îŽ¢×ø×°‰¯pí͵&~Ó$«IÂ…º*º«ß[-͸ ¿@Ö½˜•Ùé¥éQ9QuZJZcLÆ Ò$¼•/à‡e†%²e]L],X¶Ø~JqJtntU}•޲ޛ™›¾ª>U~+þVVy!ÄZÇÚÃÂ#$=$³,SQVÑÍÌÍ\Ûœ®•E‰Éñ ó#„k7_½ž_¯ÁÒp5u5R73ØüÊü+qWÄOˆ•ŽÕdëÉâ눕E±Ô±L-I}šõ”ÛÈ5Õ2uìÎ’c½K³¬&‡ÞJdev¯á‹?¿˜|brHz‡Ë¹—tÏë¨×w¿ãñyT—ó¯ßÿµòòʸ‚¸üÊüoï{4ò¨H›õMõŸÝúlÚ¯Ó³Â9\Ε¸+G<ŽG®àæwþåùÙgfßO¾_RSríõµ)'¦P †Dä‹?¿¸þæzIMɱÈc“ŽOŠÎ~§‰è ™å™ ² {Bö¬¸´"£,#‡“³íÁ6#1¹1Ýô8×½O‹+³¿üþÆ›;&ï˜7|Ur8âðÞ'{UT7¹o"„l½¿õÅÛ{¦ï™å0‹ªðõ½¯éœ„nävÂíï'}?Ä|ªä›{ßì~¼Ûr€åxóñ3ígVÖU<ž~~ÁyÇŽ„Ÿ·öÚZ¿0?[]Û÷­ÞŸi?ÓLËìâ«‹NÆNÜ64þuÁk_ß !¾.¾.]†<3¯ÕEÛ†j†-¶Ó¹ªêªê›êƒÓ‚o/¿­®¨NÙà¶aú¯Ó×\]üq°KCÚ@߆sДsË/Ç]ÖSѾàj¹Ór%9¥ßb~«kª+®.~ò@_U_øÑ«œW‰4råõ•Ê>þ]H-lÉp† £RBS†Iµ#áíž´•µ©”ƒ¢ÁÒ0Õ2M/Io×`¥Á`BŽ\H¥ä¿W¯UÔUÜŒ¿Ù­¡@_€sÐ$³“y|ž™¶™ ãŸDZAVa ÆÀ”â”ŒÒŒŠº @`ªeJ^Si~I5¢(«èîOò|BÈ‹·/„»Y‰1X{0!$¹8Y’PéU"–,« ±@Lý®YסÉÒä6rÍ´Ì„ -´-!©%©ïÒ2AÖ}ƒ€Äl¥S aüO9aˆ”B˜2Lá—2 ê'ŸGo¢R‘zš7Þ™y‚ÑZ×:¿2¿‰ß$\HͪpbÐ1È: /°ÕµeÊ03J3ø>}º£¾©>“§(«h¦eV]_Í`02Ë2}_™/œ?ØèÚ0e˜òLy‘uÒ•Õ– g#¹œ\á ™e™„k]kê%U“JEêšêŽEûhøG:*:Z׬ëð²ôzœö8¥8e¢ÕDº0½4b«k+íÞ Ïë‰_»´—KcÎÐ9ìjö¥W—è“Ñ'kk—9-S”U <`Šõ”ªÂñ7„+ˆ42oø¼Ô’Ôà´`º0¯"oËÝ-uMuÂ5ЍÛãBx|u“«E#Q%:Ê:„N‡’Qšáî//+ß¹ãít>>&š&¼ø£¸º˜*)¬*¼ôê’žŠžðJ€ŽÁ¹è}¨çuÔ7ÕVú…ùM°œ`¯g¿íýmÜFî·¾}”öh°öà$vÒÓ¬§ F,øtì§Ô^?Lþ¡¨ºhóÍÁ©Á5¾Êe¯gÏ”af—gû…ùM´šh£k³uÂVn#×÷šïøÁã͘—Õ–¦zÛ{/±@8/K¯ÐWÓ 4 *'*‘¸ÁmÃûVïS[uTtÆš½p›%Ë Ï Ÿe?K]Q=6/öiÖS:fƒqíõµÂªBên¼nfn#FJiÆÂ2Þ¿}Îár!9å9Ô}~ZLßœJž)bΉ¯~<óÔL/K/>Ÿ˜¨ÉÒ ð P–W–RTÐ ë€Þj͘5Â/å™ò{gìõuñÌŽ¬¨«˜d5éûIß ?%P]Qý‚ aYa E òLùo&|ã ï ®¨.¼&DŽ)÷ó´Ÿ×¼·&";¢²¾ÒLÓÌ×ÅWäQƒ„–Ëo–ß“Œ'i%i ù@ø)”ãsŽ?H~ð¶â­p6ÒY€¤fÚÏìîz%\aÒ…¬¤ YH².d ]È:@ºu€táyÐûìy²çyÞsBˆ›™›¯‹ow‡Ó+ÅÅû‡ùÒôõ„¯»;èûp®zŸv3V:¯ŒÎN/MïîX$UPY°öÚÚÇi»;Âár¾}ðíÒ KƒRƒ’Š“º;èu@ïc­cí8б»£hŸø¢øÀ”ÀÀÔÀî„Ì:5K©pæ£3Ýô#¸Â  +xYzÝ^~ÛLˬ»!Çf³Ò±Ê.Ïîî@ AÖÐElum»;B±Ò±êî ßAÖ}G]SÝõ××#s"+ê*´”´\M]gÚÍ”cÊÑŠª‹ÎÄžId'Ê3匌\°êò*ŸGñuñu3sk­eáõë“­'Ÿ{q.³,SQVÑÝÜ}öÐÙL“röÙÙ{I÷!–:–Ý6žŽ=ÀN¨©¯1Ö0vÐw 7mŸ¸]ò€E$'o¸½µ­”1&cÖ»­—pƺ²è# * –\\RV[æëâkªiš\œüÝÃïNÇž>3ïŒKƒ’ÄNZx~!“ÁüÄõ“ê_å¿ZvqÙ³¼gú›=6›k›‹i|†ÝŒ‘F#W_Y]ÕPu/ùÞ‘ ]L]žf=Ýz뽤{'朕‘7xœ•ŽÕÊË+ « ‹½í½G u3þf\Aœ¯‹/µ©¾©^ò€›3T3Ü8v£øyÐVÒnÿäH²è#6ÝÞ”QšqyÑåF#!žžÖ:Ö«¯¬þúÞׇ>8DùòΗ.çÆÒúT…s/ÎÅ䯍+ª;r߸µŽµª!$«,+øã`]]BÈ‹ rL¹Q'NÅœZé¼ÒDÓÄDÓDVF6¯"ïØìc,!ŽÆŽi%iô¦vÜœª‚j›¡ô@¸‡ô¹œÜèÜhsmsêžâiá©ÉÒ J âp9™e™ E ,¨”ƒ2Ùzr{;a4‚J9(³ìgBn'Ü®c¬aL¥„%9¥¡C;p{èÉp®úêŽLj"å†j†åÜò\NnE]!„:_AÓVÒfÊ0ÛÕÑåÂ/©ßV¾.ÔPlùú¨vÜâEVX×½²è ”ä•!5 5"åÕ ÕÔÖz^}ó ÜF.µ”\rµ µÂ/©Yr¬N¸Å½°®z)dÐØëÙ«(¨¤•¤Õ6Ö*Éý}È^RSò¶â­®Š®™–™a“!KŽ•VšÆmäÒIBrqr{;J)N ƒzùºà5!d¤ÑÈN¸Å½°®z)¬ë€¾@AVaÓ¸MUõU?ýÈð!õMõß=ü®‰ßô•çW2 –k•óªÊºÊŸC~æ ø„ŠºŠ€§tþ ¡rnù±¨cÔÏìjö°òLù5ï­éô€ÛÛ @O†sÐûìy²'&7†–6ÿÜü¯'|í ï°hÔ"E9Åý¡ûýœ5Œ³Ê²ÔÕügùO±™BíµÎu]#¯ñDô‰;‰w Õ +ë*¿Ÿô}hFh»O Ïrn¹ûaw E´Ò4M–æ±ÙÇlõl !·âo]xy¡¶±6­4mþ¹ùvzv[½¶R{Qò 7­r^åaáÑfÀRrîù¹;‰w¨KÎÞ¾™n>!d¿÷~==©ö ý²è}fØÍk6–~i¬aLý0g蜇|˜Y–Éár4YšfZfÂ… Cf“û¦ßû8½,]^FÞJתº¾šÇç©È«´«÷-[Ö¼·&›“­ÀT°`I¯Gw4vÔSýçÀ]MQþ™z”ý’¾€J|ÀR2vðXú[4uEui÷ ý²è}¬u¬[Û$ÃiíyÙ1¹1Ü6 3F•$%B„ï¥+! –Fó{Lªª¶XŸz^G{–’Aƒi êÊpù8ô¥µ¥'¢N$²©—ÅÕÅ¿„ü¢­¤=gØœî  Ïùè/:N±™2çÌM™ŒÒ ]›³ÕdiBÙ‰?þÐÚ¾ŠrŠÔ]n…W’t]è½²è/ôUõwOÛ½{Úî·ÚêÚþ±à.  ŸÀV ]È:@ºu€t!ëéBÖÒ…¬¤ YH².<% ×ûöÁ·ç_œ'„Œ5ûÛ¿~ë‡@‡s½Þ“~HÛ’Æ”aöÛ ‡CÖÒ…¬¤ YHV“Cï³#hÇ©ØS„aÃ6{nÞ÷d_|Q<·‘k9À²°ª°ª¾Šªæëâûù¸Ï !ûC÷<¹>Rƒ¥A™ñیĢDBȨ£..¼Ø¼ýؼØy¿ÏÃ4Ûi¼´7¼{+ïUÖU^Ž»|'ñNzi:!ÄNÏn혵ãk¾ï¶‰ÛvïŒ/ŒWWT÷²òÚâ±…%Ç¢{ IñóO*NR”Ut5uýzÂ×’Ç@Ib' ?•UU_¥«¢ëaî±aìm%mjwñAJ€0†@ èî Wª®®.**_ÇÂÂÜϯhêÔji0bÿ9¦ÜpÃá›=6Txþåù‹//Þ[yoýõ’„ú†ê«êS5ÇŸW‘÷ý¤ïç˜O•ìÚ¡©¤ù‰Ë'ÒL|x?=úéÂË ûfîs1q)«-ó÷¿úúêÑzZx ï«¢ 2ÊhÔ&÷MZJZ^^øéÑO+WnñØBU¸›twãÍ£ŒFmŸ´ÝXÃøyÞó£‘G£r¢\M]…o!ÕZ ‘Ù‘+.¯°ÑµÙ1i‡‰–É‹·/¶ÜÝÂd0o,½A%fm)aЭ_¯Gñ÷oãHÏÜÜ\ò6q…ôb5 5?OûÙ\Û\AVa©ãRê[|¾€3þ&U'6/–Á`ÈÊÈÒ%<ïNÒo{ïn ²bôŠ Xr,#u£'ÿh¤f ²oiMéw¿3Ö0V–W^î´\[IûIú:þA;dedýfùYëX+É)¹™¹-¹/àK_ÀßrwK¯ÉÏÛÏVÏVINÉÕÔu›×¶¼Š¼Ã‡éÅÙ®²èÕL4M¨ïæ…¹›»k)iÝxsƒzy3þæ¼áóÆ›þöy^E!äIú3M³ê»%¼¯<¿Úà¶~É”aZêX&°DªkÓû2 =U=v5›z™ÄNbW³­u¬uUtéú΃œ%Œ!¹89¯"ÏVÏÖH݈.c2†˜(Ií €`]ôj,YVóB&ƒ9ÃnÆéØÓñEñV¬î'ÝÿsÅŸ&š&A©A·n¯³öÚëk>>bš}ÇuâÃË(Í8}òiöÓ’šn#—.çñyÂÏ»P‘WÞKNFŽ>“PV[FÑRÒ® ÁÒhñqÍc(©)!„¼)|c±ËBdS^E†ø ÛAÖ}Ò,ûY§cOßxsÃÉØÉNÏNOEÏÓÂSMQíÆ›óGÌšýt×Ô]bvw蘶%Mq¸œ9gç0Œ=Ó÷8;)Ë+BÖ\]”D’6BîS‡þ´š†Ÿ'Éî”BFþcÁ ò€~WXA4Ä`ˆ¹¶ùí„ÛWã®Îr˜E‘gÊOµ™š^šþóãŸÝ»«(¨´Ùˆ4$±“*ê*ÜLÝÆ›§Žæ !uMuíjÄFÇFWE7¹8™¾æŠ“#éîº6&š&IÅIô;(Ë/-ÿìÖg’ùŽ@?„¬ú&Ÿ’š’§ÙO'[O¦J¨ôãâ«‹â/¯’*;=; –FhfhpZ0·‘[U_u9îrtNt»aÊ0·½¿Ççm¸±!¥8…ÛÈÌŽ<~Áèt ƒÁØ5uW#¯qÝõu E uMuù•ùß~W·Îu$A¾cÐáιÐAÝxçÜ#Gö<ÙC¿lñb¡‚Ê÷Ãî3ígî™þwM@àyÔ³®©.Ì7Lª+ć—ÈNܺÿeþËʺJ5Ÿ¸‚¸ôBÈŠÑ+4YšÂûžžwZVFvÁ è’-[V:¯$„„f„ú…ù%²å˜r£GoöØ<õäTê§½3öTˆŸ¢´’´€§O³žVÔUè¨è¼7è=__3-3I‚üÊó«6è‚[„€”HãιÈ: ƒºýy x^ô>È:@ºu€t!ëéBÖÒ…¬¤ YH².d ]È:@ºu€t!ëéBÖý]]SÝ©ØSÙåÙÒëâVü­_B~±Øe±éö¦ÞÞKÑïš4ô«÷@²èïSwí8v€.aW³ýÂü"²#:«‹™ö3?~ïãöîÕÞ0:ÖK/Õü]ëúÕ{ Yôw^–^ßLøf½ëzº¤¨ª¨s³ŽŽé!aôLÍß5èÉd»;€nÆ’c-sZÖÝQ@ûà]è]u@ïs$âH¯úÙÉØiŒÉBH\A\xVøÚ1k©ò?^üQRSB1P5ÐSÕ{™ÿ’¢¯ª?g蜈숄¢„ÚÆZmemcuczÓÜas !·âoEåDBbrcüÂü!ÆÆ>>tï)Å)ѹÑUõU:Ê:nfnúªúH}S}DvDfY¦€ìtíœ93 jS›a´KzizTNTE]…–’Ö“1ƒ4 oå øa™a‰ìDy¦¼“±“ƒ¾ƒ˜¿€!­&ÚèÚ4o0¿2ÿJÜñZéXM¶žÜâ¦[ñ·²Ê³!Ö:Ö!é!™e™Š²ŠnfnæÚæTÐŒPÉß5 G*LLûJrJ¹œ\"ôÛžþ,ï!Äb€ÅT›©"»Ï67<+<¾0^ƒ¥ájêj¤n$~fZÔéï@‚+¬ WºúúêÁðƒ<>. Øûd/uhH‰Í‹ I¡_‰8òûóß?¾úñ…—ʹå’üþìwzÓÅ—Ûì´¾éÿÛ»÷ &®=à' ä-B´Åú¸¶E¥‚¨Õª´NjÛ‘v´vÚéc´¶¶Õªã ½¾*Ö>F­TÕ¢U¯‚€‚(7„<ÈfïÛ»ÍE IÈ ÔïgüÃlvÏùþØßžÇªWg®ž›:7¯&¯CÙ‘Vœöì®g÷ì5¯ §nŸŠø6bûÅíMò¦ò¦òåiË_øé….u—y¥=Œ†Ò¬=±vÎws.T]èPvüvû·èÝÑë_ÏþtÊŽ%?-yãÈÅ Å÷ºî}qö‹ YR.¥d”dX6’^ÔZurnòÁý°ètùéEËÑ›Gc¿‹eR,–ñ½ÖgKèaåß?½MCi’s“OÝ:ÕëòÃE‡×žX›^’Þ¢hÙ¿{öÞÙWî^1é§´}`A뀡çͽ©£uÛr¶MöÌ<ŠîPväÖäB2Ë2'ûN&„$NJþíãMç7¹=3úS[QT_4ÎsÜ%–) ÌIDAT˜ñ×§¾>ÿûù›/lþ|öç†Ã0Ɇ¬ %_Ìùbéĥ̑—wnÍÞ:Üfø{O¿Gùäô'×ë®o‰Û2?d>sº3ë(åïâo ^oGïþD5/x^§ªswþ¼ƒ/|Ê÷)B¥£Þ:úVrnò8q1cbØ®1¦×Œii/Ê_² Ð-ðpÑß)Mx@ø$ŸI».ïºÿò› 7ßžñö¬ÀY„åÓ–Gþ;2%/凥?ÿkpÔGƒ Æ:`Hš2ŸÇ㥗¤3OÞ>ãëä{òÖI­NK©ï¬¯j­zzôÓúWy:x27—„‘£èÅI/_c»²=ífš»½û²‰Ë؃+¦¯ „ôºý5R¤8ríÓkÙ)UcFŒ™ šU‘eFQÓ®l?R|ÄÓÁSÒkS^³Úí¿º_¥U5Ë›ÏTœñÀž°|úr Æ`X¨(”I9!¾`ù´å„®ýß-»1½ÖgK‹ê‹’s“Ù•-•&•o€›½“rBF8Œðsö«j©2þòÁßG±’¼½§øNɪÈRhöÖö%IáI®)y)9’œ¨À¨ô’ô¹ãæ xý«¼Í_ƒQÞTNé([+Ûy;؃:ZG¹^wÝŒ#Ä÷ºîe”d4+š•=JBH›²­µ»UGëø<Ë<`b»‰õ ´±²ñuö­h®´Jd*MÓ®lòCñvôî3€~®ë`õZ1Êm!¤¼¹\ÿ 1½ÖgK \ÛŸ¿ BH¯…=Ž6ŽÌ‚"#q×Gƒ ²ª„,¸r÷ÊéòÓSü¦ÔÉêÂÂGºŒLÉK9Vz,*0*ýfúö„í½¯¡û[©€ÿi ŸÇg¦¸P:ª×W}Z÷ûºƒ×ŽŸì3ÙÁÆá¯išî”ÿc¸(ö.–GxúÇibÉ cÒ¶¿«¦éûã1&–>[êêú°‹¡¥´<Îï߈ñàï#‹@ÖCU챟e}–Q’Q'«‹'à \BE¡çX}ÑJ`âb^ÉLþÀÜ«´ª=ù{–M\ö„ǾÀZ`Ýk&ý•´u·™šr7ÿüŸŸ§úMý9ñgö⬱Lÿ©üÃá0ÂøZÆyŒð’V‰þø‰Z«–vHm­lÅ®b¹ZÎãñªÛªišføÛq—©Ô€~®ë`1[E±ªÛª !c=ÆšZNŸ-5µ@;k;Bˆþâþ†®S 1w}0¨`Œ†*‡è è‚Ú‚C7±[Ê.œ°P¥U}xòC³7™%„Œ°AéPuB$­’y;¬­¬‡9/¸ôNËs•çØ3¥2釧>TiU¦V!ä !:ZÇ>±VkÕú‹ †Iµ8s^[jj>N>BPîÜ¡‡L-„"i•$ç&Xù3øûÀ"ëׯè`HÒh4 …Âð9;v¸ÆÆ*‚‚4Å`+´=VzÌÏÙïÝÈw™##G¦^MUh›ã6;Xÿ5m©PZ˜VœVP[@é(…F!•IŸô|’ù*G’s¬ôû•ƒƒ‡ƒ‡½µýõºëÙ’ì¶î¶}WöEŠ#㟌'„DD4t5lËÙVÒPr«éÖñ²ãÏmœ÷ä¼Uá«ôçÜß/³4óLÅfWßÖîVoGïÑÎÞ9{¾ê|M{M¶$;åRвG)SÉ!Zv¤Ëȇ…a|-N¶Nâ©Lº+Wɽ’ÒÆÒï®|w¤øHâ¤Äžý€y²>#`Æ5鵯ýXÞ\^ÔPômÞ·D îø9û±;&qA­UïÎß3&&»*;ïϼkÒkÛr¶J “"’˜-ÂLíµ>[Ú‹ò !V|+ЦN”(¨-¨l©Üwe_ˆWHnu.Mève»×p¯ÊÖJý˽½»Ô]ß~_P[ ×È)š „"GÑñ[Ç7_ØœW“—‘4äú[§N9ðù$6¶;=WWWãËäa˜Ì#—Ë Ÿ*þôÓ–E‹,ü ¥£v^Þ9Ñ{b„8‚=x¤øˆF«y1ìïˆ ¥…—j.±}œ|žÿ<óö]oŒYA³‚=ƒ !ZöLù™:Y¿‹̘ýÛVI«äòŸ—;ÕîvîÓü§x‹})cAÈ?g?BHicéúªNÑpQT`TNu3Ã*Ì'Œi‘0Œ¯…RÕZ•ÿg¾L%sæ.ï3MÓ¹5¹ee6V6ÓGNp Ù3&fçÂ}6ÍlªÎ°ía Á ›ænÊ–dW¶TözK ½ÖgKõ(Ÿu£þFQ}‘ŽÖEŠ#ý]üw^þëINhV4ë_¾ dÇ;zó({$Bæ&i•œ¸uÂÉÖé•§^!C­à±õê«"//íW_5>môèÑÆ—‰¬ÌdLÖ3rÞ¼®¤¤öG˜¡¢¹¢¶£6:(š=r»év\jÜÊé+ßæ}îêe³Ž­ñ[¹«åŸa ú[Ï=ç­X³¦Íði&eX×;VSZj3ÐQ€!-Ÿe}&WË™:Z·§`ßjáø…°ÐGð()•|‰D8v¬…gÈc+àÐôéÊo¾qíéá …ÿð!5©Lª?»¦—…ãú:ùÎZÄ®b!_—Åçñ¯Þ½*i“lž»™éÄ…ÌÒL楷›n'ç&ëO4‚û HÀcëÒ¥a:oÚ4¥e‹EÖŠŽV|þ¹{V–ýsÏÉ:x°`Ïà³+Ï^½{µªµJ¦’½6õµ™£fº sáº^+‹ì½û8¨>€ÇSzºCX˜Êݲl±X×f2f]!dåJ¯–«´4©ÁMž`àÕÔçÌñÛ´©9!¡ïÝ€°®‘µkÛJJ¬ÓÓ‡t ЇÝÅ➸8ËÏRAÖÜ Ò,]Ú¹e‹›\Ž?6€Áë»óçíÖ¯o,? 7‚À¹Õ«Ûu:²f‡N7СÀƒH¥V|à/·ø:r²àœ³3µwoÃåËv›6¹ t,ЛBÁ_¹Räá¡Ý¸±7š Y< ãÇ«¿ü²)5Õ99Ùû ‚×_µ· öì¹ggÇÕÔìœ H|¼¼»›¿n{uµð믛ll| °ª*áŠ"Šâ8P/i¹«cðè,YÒ™šÚ“c·h‘Oa¡í@‡ðø¢(Þ?:-^ìëêJýú«4(ÈÂ/#ïYÞ÷«¯Ü;ú©ÞÍÍÂï¼Þf2ò-sîœý—_ºÕÖ §NUFGwOš¤ò÷ïqr¢øH„,M­æµ· **¬óó‡>m_[+œ5KñÑG­þþ=f—iÒ[‘u€™ú™uB(ŠdgÛgf:\¼h'“!ÛàœXÜ3k–bÑ¢®ÀÀþN©BÖBÿ³M“º:am­Ug'Ÿ¦y)XÖÖ´£#¤qv¶Ø.U&eØÃ G|}{|}Íà€Á ÓZ€[È:€[È:€[È:€[È:€[È:€[È:€[È:€[È:€[<š¦:ø'ÃXp Yp Yp Yp Yp Yp Yp Yp Yp Yp Yp Yp Yp Ypë¿Zù~õq˜IEND®B`‚fio-3.39/examples/cmdprio-percentage.fio000066400000000000000000000005201476262051600203200ustar00rootroot00000000000000; Read a block device file at queue depth 8 ; with 20 % of the IOs using the high priority RT class ; and the remaining IOs using the idle priority class [global] filename=/dev/sda direct=1 write_lat_log=prio-run.log log_prio=1 [randread] rw=randread bs=128k ioengine=libaio iodepth=8 prioclass=3 cmdprio_percentage=20 cmdprio_class=1 fio-3.39/examples/cmdprio-percentage.png000066400000000000000000001322771476262051600203460ustar00rootroot00000000000000‰PNG  IHDRàÀfý|bKGDÿÿÿ ½§“ IDATxœìÝw@×ðoÈ`†½A6²—[TÀ£âÀ]jÕÖjõ§u·E«Vk]Xë*â¬(Öà@APD¦ Ù#ì½B~=cˆ!¢ßÏ_wïÞ½û&§Ü7ïÞ½£p8@!„‰Dw€B!1†™B!„D‡™B!„D‡™B!„D‡™B!„D‡™B!„D‡™B!„D‡™B!„D‡™B!„DGëîê¡BCCùåbùáÃ‡ÒæÍ›7÷ïß þþþÒ&ê^wïÞ½|ùrfffCC|ÿý÷ Ï2ú¢`&,+44´sÛÌÍÍ%ÚTQQéÜ–?3%%%S§N%–ÿúë/KKËîçcΞ=»`Áî’É“'KIIáYF_Ì$B=NCC™ÆUTTto0ìÝ»—X7nÜš5kètº‰‰I@@@÷F…PÃL¡®3iÒ$sss ÓéÝ ê)))Ä‚ FM,ãYF_Ì$˜ÉÎξtéRtttqq±ººú€<<<äääàúõ뇂ÿîO߸qãŸþ©¯¯5jÔòåËétzffæáÇãââ´´´¾úê«É“'“Í677_¸p!  ²²ÒÁÁaÕªU­Í3Ê!$$äôéÓ&&&Ë–-³±±á[íÎ;çÏŸÏÍÍݶm[II ß;èÉÉÉ—.]zýúuyy9“É´¶¶ž9s¦••U›ß†!ÒÒÒ.^¼øêÕ«²²2…þýû/\¸PCCãc­qG>tèPÁ_¾h‡?yòdAA‘‘Ñ’%Kììì`õêÕä.ß}÷¼¼<Œ=zË–-ëׯ'·JJJª««8pöìÙîú4íÒ¥K­«íܹ“¬sýúuîMä‡Ú¼y³„ïST eõêÕÍÍÍ‚¿!Câp8Û·o§R©ôŠ+ˆB%%¥¦¦&‡3zôhg.sæÌ>$î¯ÎÓÓ“<Êüùó‰Â3f´n;ò6¿|ÑqëÖ-¢LS¤¥¥‰ÆóòòÈjááá‚þep8ÅÅÅdå7oÞ…ä9%Íáp&MšÄ}N…ûcÈÎŒõ»pÚs–S8N‰‡¬¬¬œœbyáÂ…dOpß§'Ðh4GGGbYMMXà×Zuuu~~¾¦¦&±JîEö¨ IWW—J¥™ÍÛ·o[šB¡èééÀ¿ÿþËýË[ZZZø¸²}ûöaÆñìÛz$`ë8ù?„JJJȱ´'N\´h‘’’Rmmíøñ㹫©««3 bÒÉôôt²œûKnWØUUUä˜Üßÿ}À€ÂÇ,üYFHLá{7x`2™äÕÂËË‹|„¯¾¾žœH4RRR#GŽ$–?žŸŸ999ÞÞÞöÚ¾};ñëùÂ… ä%a„ í:4“É$ûÞ=Jôϲ€³³3ÑóïäääÂeàÀ‡Äd2ÇG¬ZYY‘íôîÝ;66¶Í_Þm~ù?rœg„PVVFv)}÷ÝwS¦LqqqiÝ %%EÞ¨:qâ‹Å€ÌÌÌ¿ÿþ›çs vSSSèÚûY„?ˉ«î¦ðÞ½{GŽccc*•JTà~ ”Ü‹Ì/^L”TVV’ƒþ¢££É'5äääúöí+++KŽ´€V#.ååå­­­õôô¬¬¬ÈAÆ c³ÙœVޔ’’B^EdeeûöíKÌJJJÄÓ RZZ9èORRÒÞÞ¾OŸ>äòÙ‘·ùåwä·nÝ"[&ÇÏš˜˜gdÈ!ÎÎÎDÇ 9FDRRràÀä³*À5ò1&&FJJŠ(d2™}úô‘‘‘i}N… »´´”Ü1((ˆŒ\˜—?ËõpØ'þ¾~ttôÒ¥K‰Ì©©©/_¾”““ûõ×_;زƒƒCpp°‘‘TUUÅÇÇoذaÍš5«O§Óƒ‚‚ âââ8…Bqww¿uë–}øÆÆÆQQQsæÌ‘””¬®®ŽŠŠª¨¨ ÓéîîîQQQB¶#8$CCÃèèèÅ‹ËÊÊÖ×׿zõ*::šÅb¬^½zÊ”)m¶ßæ—ßñCð8zô(qõ­ªªzòäIhhhAA…Bñ÷÷ïׯÔ××?þÜÂÂâúõë­w·µµ½s瑎TVV&$$lܸÑÃÃØJÞêô°ùꬳŒPÏDá´5¾ ¡ž†Íf§¤¤Ó,’¿ srrˆûÐt:}È!DaLL ñƒRKKËÌÌŒØýÑ£GÄVrbD‡_UUenn®  Àb±âââˆMČǎûöÛo@EE¥¨¨ÒÒÒˆù¹çCÌÍÍMNNæ £ÍMõõõIIIL&ÓÌÌŒü=-˜!quÉÉÉ%%% ::: „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰3 „B‰ŽÖÝ „ÄOjjjw‡€ú„Œ…¯Œ}!„f!„f!„f!„f!„f!„f!„f!„f!„Îq‰êNeeoß2**¨ ”îŽ!±Ä`päåÙ¦¦ ŠŠÍÝf¡nðö-Ã×—"›žNïîXúL6ŽQíî^ijÚЕÇÅL!Ô¥22è»v©Ü¿/«¯ß8vlõ Aµff JJlƒÓÝ¡!$–(¥¥Ô¤$ƳgÒwîÈz{+ŽY½ys±¾~c×@ápð/B¨}D{ƒW}=åðaåS§ 7l(vrª¡à „:‡aa2{ö¨¼{G_´¨|åÊIIQ®òízƒf¡v!“(.¦._®™šÊX³¦dΜ *ÿò ô©°Ù”þ‘?p@ÙØ¸áر|v{[Àw"„z–·oӦ閔P}}³çÍ+Ç4¡OŠJåÌ›Wîë›]RB6M÷í[Æ'=f¡O+/¶`¶¦fÓÕ«9ÆÆ]tã!dlÜxõjަfÓ‚ÚyyŸpX$f¡O¨¶–²b…&“É>q"OQ±Ý]¬¡ŽPTd{{ç))±—.Õ¬©ùTW|Ì$BŸÐæÍê994oïÑ!0“@}*ÏŸKߺ%·gO¡®nSwǂЗKW·iÏžÂ[·äž?—þíc&ú$ØløõWÕ#ª]\jº;„¾t..5#FÔxzª²Ùÿì5f¡O" €™’Bß¼¹¸»A¢6ùOwÇÐóâG›7¥§Óä:½eÌ$BŸÄ?ÿÈ]m`€k Ô#4Ž]}ñ¢|§·Œ™B¨ó±XÔ—/¥¦L©êî@BïMž\-UTDíÜf1“@u¾çÏ¥%$8ƒã „zGÇ N§»ÄL!ÔùFFÒÒ8—¥èþùçbX@¿~ýþøã¡C‡öîÝûîÝ»aaa&\,,,†úý÷ß?þüc-477Ÿ8qÂÅÅÅÆÆfüøñ.\à~UBQQѦM›hmm=cÆŒgÏžµ+hnn¾~ýú‚ ú÷ïoffÖ¯_¿E‹=xð€»!Ã2$iiŽ‘QcRR'Oy‰ïEu>‹¦¥…O~všU«VÝ»wïc[óó󃃃ïܹ³k×®éÓ§·®óã?úûûËÉÉÉ¿üòKssó¼yó ´´ÔÝÝ=;;›Ø½`Á‚iÓ¦ O]]ݲeËž^ÔÝðê±ñà‰“g5#£ÚË+ñÕ«ÒN<úìa&'µ^^ =ð*ÕcãÁ'ÏjFF•—WÂË—ÅxôÙÃL!$N44¤W­²8Pµ»áÕcìS„-¦_­»@¡vPW—ZµÊ¼»£à£Ç&ا[L¿ $2Ì$B⤰°îÒ¥wªrÿä­¬l +Èʪ–”¤Y[+ôïÏûk˜Í愇³’’*ššš åœ5$%©Ä¦ŒŒjÿ,'' {{¥çÏ‹^¿.•””prÒ00ãi$/¯6$$¿²²ÑÔ”é쬙œ\q÷nÞøñ:&&ÌÖ ß¬€Øºßïš›9OŸ²âãËdeéÎκº2<;¦§W½~]š—W+'G³·W¶¶VÜf›ç‰/Ì$BℸÏÝyœ³iÓËÊÊF²Žƒƒò‘#ÕÕ¥ˆÕ˜˜’~ˆÌή!+hiI=:ˆ¸ø#¤¥©ÇŽ%Ý»—GT R)¿ýÖgêT=r—+W2<=_544“‡˜8Q×Ë+¡woy"“à LÈfÇÆ×áÉŽ ¯HF†ºd‰© \ZŸP_ß¼`Á“ðp±J£Q6o¶™?ߘX­©a/]þì‹»''#GHKÓø¶Ùæ9Bb 3 „KH(_½:²©‰cc£Ô¯ŸrUû޽ܗ/KV¬x~åŠ3…995O+*íì”íì” ‰7oÊž=c}óMøÝ»£åäZþž:•RUÕäæÖKCC:.®ìÉ“Â_~y5z´“I€×¯Kúé%›Íéß_ÕÖV±´´áÎÜ¿þJj3<ÁÍ ?ÿLd³¥ªª’Âg »¦¦ÉÍ­—ššT\\Yx8ë×__›™)™Auuã³g,kkE UUÉŠŠ¦ˆˆ¢°°‚#G’Ö­³jÝZ›ç‰;Ì$Bbìï¿ß65q<I“tÉ4.4>~<9*ªåÑP ðöN ÎáÙ«¨¨žokmž£Îÿ¨ka&cêêRRRü ×Ó“€òòF()i`³9‡%´Þ—û¶½––4÷&âg}SSËoÿòòMM)*õƒŽx]]Ù6Ãܬ±ñèÜq|õêõÁG“ èèÈÄÆ¶LWuôhrpp޲²ä°aêššÒ †…B¹t)D£Ís„Äf!1&/OÏË«­«cs_¨23«@Aòò´††æo¾áse%FJ CA‘Ÿ_Çfs¸“‰ììê….jl]0N"+ëƒÆá@NN¼<ƒX}ø0_JŠ4REE’¬pæLêÇF<´yޏÃL!$ÆúöUñ÷Ï:p ~Ó&¢¤¬¬áĉdb8:ª_¾üN__ÖÍ­÷މ‰åİGa88(ݺ•}üx2yƒ#7·Æ×7£ƒÁ‹[Œ“¸y3{Ñ"ò‡OJqqýˆZÄ*…B¡Ñ(ܪ=šT^Þ ¨ÈàÛZ›ç‰;Ì$BblñbÓÀÀloï”/JúôQªªjº?¿¤¤ÞÞ^iÐ 5øöÛÞÁÁ¹k×¾ðñI±³Sb2é,V}rrEllé©SŽ::¼Ó$ðµp¡I``ÎþýñÚÚ*•–6ܹ“óߥTàU] Ñbë‚qÒÒT7·±cµÕÔ¤âãËž>eQ(°x± ±ÕÁA96¶ô«¯î¥ QQÅqqeK#@ˆs„Äf!1fi©pðà€M›¢cbJbbJˆBb®¢³]WWöܹ¡k×¾xó¦ìÍ›2rG !Ó°³SÚ¶Ínûö×EE`o¯4|¸Öñ22¢ÿí”Ø>…E‹L=*ð÷Ï"V‰ù$ÈÉ!V­2g½}[áã“BlýõW‡þI㞃[›ç‰;Ì$Bâ¤õ;\]µÕ ²³k ¥þý?è3·´T¸}{dttñ›7eµµlMMi33y b«¾¾ÜªUìBÚÚ¾ŸjölCggüªª&bŽËŸ~\c*y²YÁ±} }”ÏžMMH(—‘¡¥5iR/ …·Nÿþ*çϧÅÅ•««KîØá–V¹uë«iÓô¦MÓ'Œˆ( ÈÎʪf0$ll”fÍ2TU•ìàÇo­¦†}ëVÖ«W%yyµrr4ww=Y!1±üڵ̬¬jôõe'Mêee¥(äÖOH#xÁq!1sþ|Ú¯¿¾f³9Äêƒàã“r劳RyycDD‘Ò¯¿ÆÔ²Ož\]Ý´zu$¹×íÛ9ÁÁ#ÕÔZ®[6D“à®^Íœ5Ë€û DË66ŠÛ·Ç¶´”sï^ž—×"™ êØÚ*‘u,-€ßð…]»bOJ!WïßÏ÷ñI=yrpŸ>Êùø<5ËÊœïTW7‘%ÁÁ¹ÞÞo¯\qÒÕ•€k×27lˆâpÞïâí²o_?7·^mnåkÞ¼Çd`|)*2þúk`›Ÿ‰Ì$Bâäùó¢mÛb`âD]Mzjj¥¯oFUÕû¡y>>)VVJk×Z))1 ÎKÛ¾ýuqqýĉº£FiIHPΞM}þ¼ÈÛ;eãFk¸};çêÕ iiÚ¢EÆvvJ%% gϦþý÷ÛÖG?s&Õйzµ¥ššd\\Ùäçˆ} IDATÉ“oƒ‚rüü2¦OßÙpútŠ¡!sÕ* ==YyyzëFþý7÷Ô©²`ñ€j••~~Ïž±¾ÿþyHÈIIj?>©±±™N—X¼ØÄÒRQEE²¢¢ñùsÖŋ\ÿ½/x{¿€ùóÕh4Ê»wÕ7ofUT´4%x+_E‚3 áû]ÁL!$N||R8غÕvá–Çkzx˜Ô×7“uŒ™—. £Ó%ˆ­IIE_mäéiGTIII2(hä¿ÿæ…†×766ƒ!ñâE1QF“èÝ[þçŸmÉ].4®¬lf+_çÎ åJ$€8)è3ƒ™BHœÄÆ–JJRçÍ3â.¤R)22ïÊ£Í}Ų°Pˆˆ(š0áýZ^ž®­-Ÿßr“")©BQ‘A¦À`HLšÔëСž£¯C¤„AƒÔtue’’*¹ë¸ºj H# 1±\ZšÆ}€BY³ ÂÃY e‚3 a>>‰Åª›=ûQvv5O9™ ,]jºví‹5k"GŒÐ²°P02’“ 0™ta¶ò5`,ýa&!>|øðáCbyãÆRRŸÃˆ¤Û·oGDD€ÁÂ… »;$6êë›èT*E@ž{ 4¸‡&QSÓ2WD][Qñƒ­ÐºäåùTËÍ­å.ÑÒ’ôêë›ååi”?ß®ž}Ûüø$/¯ÄììêÁƒÕ&Mꥡ!Å`HP(”£*+[FNL˜ ki©}íZFRRE}}óĉºk×Z_ à­|á8‰/fbàáÇ۶m#–W¯^ýÙdGŽgggÌ$ð´´¤ʳ²jzõjã‚-Ý woyÁû¶ëã©Yìæbf&ééUÒÒTò¹ÐÓ§SNœHVV–ìÕK¶¡ýömESÇÙYC˜­|u|œÄ_%=~\ïÞUÀž=oŽK€Õ«-pF…™Äg¥ºº:444))©¶¶VSSÓÙÙÙØ˜w‚xþüù“'O$$$FŒakkû±! m¶æçç÷æÍ°´´œ1cFFFF@@@cc£µµõÈ‘#)Þæ9è§øøèK 'G»tiØŽ±Ù™™ÕÕT*ÅÍ­ñ³[4RgÏY·.êíÛŠ7oÊh4Ї‡qïÞò›6½ä©9eŠÞˆ'N$“UÈíÝÛWOO¶]‡SS“ºxÑiË–—ED²"-M[°ÀxÍ‹6÷m×Ç÷ð0IO¯ºrå]BB91÷íëûÓO¯ÈLbãFëK—Þ%'W””Ôƒ!áæ¦»e‹0[?‘ÔÔJîn¤¤ b¡S^€‚> GpWTë(œã²‹yzz’ã$JKKùÏ1wèÐ!OOϲ²÷÷q)ʬY³Ž;&/ßòC§¾¾~Á‚—/_&ëlܸ±²²’²@í¦µY³fMM›6môèÑ+W®lll>|øðàà`ƒDV?þ|î7¶|ì ¨ s\vp¶ìÔÔTÁV®Ô€Ã‡ :rÁjjØ©©Tª„ùäBYYCRR…¾¾¬¦æû™™Õyyµ¶¶JÜ]¼~]Êfs>˜ *5µ²ªªI__VQ‘ÁbÕ¥¥U™š2••% ,¬`Ñ¢§[¶Øxx˜TT4¦§WÊÈÐLLä¹f¾G€êê¦7oÊtt¤‰ù H,V]vv ƒ!abÂ<„ŸïÊÊ22ªä円rðæMY}=»o_²BII}VVµŒ MGG¶õ3 ‚·vºÔÔÊ¢¢úÖåä‰@$äÿM¾¿B?û$>»víÚ²e P©Twww]]Ý7n¤¦¦^¼x1??ÿþýûDÁ?þH¦nnnúúúgÏžmM Ù)<<üÁƒK–,ÉÍÍõ÷÷€#GެY³†8(™FL:UWW÷üùól6ûÓ~#ès'#Cµ±áÕQQ‘Ñú zz²­» lmy÷î9§ÕÔ¤È0yÈËÓíìøLFÉ÷èðñ÷n8D›ø~|¾RTd(*¾ÖÚš÷§ˆ²²¤€‹´à­Îؘù±™¿Q…™Äç€Åbmß¾X>qâÄ¢E‹`Ë–-¦¦¦ÅÅÅ!!!7nܘ2eJQQѱcLjjÿûßÿöíÛk×®533¡5î]òòò"""úõë®®®wîÜ€G­Y³†û 7nüí·ß`Æ ¦¦¦Ÿêë@HledToÚý±­ýú©üï–]BÂÀLâsR_ßÒøöí[OOOb™Éd@PPД)SÂÃÃÉ»D~zzz£F hokÜôíÛ—H#ÀÔÔ”È$²³³€û óçÏ'´µµGuóæÍNúúLÔÔ4 x8BÀDu#Ì$>EEïÿôìÞ½»u…ÜÜ\())!K´´´ÈeMMMîÊB¶ÆMWW—\&ÆF@ss3ÏA54ÞúVWoãi7„z''””)m×ë ….8 B 3‰Ïªêû;£[¶l¡ÑxO«‰‰ (+¿¿WZXXH®æçç‹Ð7*õý8,ž!Ü-(( W |"„Bâ3‰Ï‹‹ ƒÁhhhcccr›Í µ°°GGG²Ú?ÿüC †ÈÌ̼wïž­ iðàÁt:¸ÁqöìYbœDnn.ÏAB‰)Ì$ÄÌîÝ»yfËvww·¶¶þé§Ÿ~úé'X²d‰¯¯¯Muuuffæ³gÏX,Vxx¸–––ŠŠÊòå˽¼¼`ÇŽ :::¾¾¾JJJyyydƒêêê´&dÀªªªK—.%øÜ½{wrrr¯^½®^½ª  PSSÓY_ B¡î‚™„˜Ù³gO‰¹¹¹µµõÖ­[™L&1DPPPPP±•F£5JG§åí‚¿ÿþ{~~þ•+W8ŽŸŸlذ¡¨¨ÈÛÛ¸†8Ùšþøãüüü«W¯Àµk׈ƒVUUéB!±†™„pqq°ÕÚÚšXøá‡–.]–P]]­®®®««;hÐ %¥÷KJJ^¾|ùÿûߣG¨TêÈ‘#mmmÉö¹SaZsww777KË÷O¦3FNN´µµ‰)))??¿ððð'Ož½}û61 ÃÀÀ ß B¡n†s\~YÊËËãããL–<|øpĈÄ?<³_‚ÏfŽK„pŽKÔQ¥¥¥ŽŽŽööö}ûöUVVNNN Ògggww÷î!„˜ÁLâË¢¨¨8lذG½zõŠ,¤Óé ,Ø¿¿„¾ð!„Pû`&ñeQTT KLL|ñâEVV–¤¤¤¡¡á°aøç@ÀÕ«6Dÿùç@WWí6[:eÊÃU«,V­2ï”ØPOP[Ëþ÷ßÜÀÀ줤ŠÂÂ:%%F¿~*Ë—›YZò¾—õÅ‹âÇcbJš›9VVŠ+V˜úYM͇™Ä—ÈÜÜœ)‰B]æÅ‹âY³ÂÖ¬±\±Â¬íÚ=ÞÑ£Iý•D®Öݾó'N vrz?Ÿï£G…K–-¥””)Ø!ñ™‘•¥¹¹õ:qbÐÇcß¼™tëÖˆ¡CÕ›š8¿üòþÞqccóÖ­/Ùl΢E&‘‘¢£'®YcÉáÀÏ?¿ª©ù|Þ‡Œ}!„P»-[Ö›{ÕÂBáèÑC‡ÞÉʪ)+kPTdÀ“'…995ýû«lÞlCT[±Â,>¾ìÎÜ»wsÝÜzuCÜŸf!1ÃáÀµk~~™‰‰ålv³±±ü¬YîîúT*%,¬`Ñ¢§[¶ØXX(ìÛŸ˜X¡ @ÿúkÃåËÍàìÙÔsçÒrrjtue׬±àî^®¨hÜ¿?þÎÜŠŠFSSfëþ²e33…âÊedh£Fi®[g¥¬,ÉSÇÊJñÀø¸¸2##æÃ[“¨«cŸ8‘˜“•UÍ`HØØ(-]Ú{ذ¶ï ñùù½»r%#)©œÍCC¹Y³ æÎ5"ÞŠó±8kjØÿ|çNnff””„••â7ߘ¢Þ®6T~ÿýMll™¤¤Äðáš[¶Ø×Ô#G’ˆ€â‰ ^WY|ñbú«W%yyµrr4•eËLûöU!?NyyÃþý wîäTV6g§´´g‹à𺆴4M[[ºªªQZºåUD‘‘Åàæ¦Ç]ÍÍ­×;¹E˜I „P7àp`õêÈÀÀl²$6¶46¶TWW†¼æ½zUº{÷âÎtmmÓÄKJÒX¬º'’‰ ii•?üi` ga¡õõì¹s%$”[ß¼)[¶ìÙøñºÐJtt Ùr]ûÊ•Œ¨¨’ëׇËÈPùÖinæ3aOccó‚O¢¢Š‰Õ††æðpÖ³g¬mÛìçÌ1æK‡ëÖ½ð÷Ï"ë'&–{zÆ$$”ïÜéð±8ËÊfÎ KM­$¶ÖÖÂãÇ…&%M¦R)B¶[¶wo\CC3ÑÂõë™ÙÙÕ/: ø,,VÝìÙaäjiiÃy¡¡ùçÏëß_êëÙ_ýXðÙ2<ff7Èá |©ªJ>{6^@ii•II£GkIJ¶ü{ÈȨ€Þ½å¹«™›+›>˜I „ĉŸ_F``¶¢"cíZKMEEFJJÅÅ‹étúûQ_Ù& ++K††æ¯^éå•ÐÜÌùí·>#GjJHPŽMòöN9u*eïÞ¾pölZBB¹‘ÓÓÓÎÞ^¹¤¤þäÉä Ò[=((gÚ4ýï¾3SW—zó¦ÔÓ3&)©âøñ¤5k,¹ëLŸn°t©©žž,•Êçñ¹siQQÅÚÚ2žž¶¨UV6úú¾ûóϤ;cGÖRS“j½K»Âð÷Ïò÷Ï23“_¿ÞÚÎNIR’úæMÙöí1—/¿sw×wpPæçÚµ/RS+ÍÌä×­³²³S’ ¼ySFæ^B¶yófÖœ9†‹›jhHÅÅ•­Yó"2²8!¡ÜÂBaÅ ³U[¸¤P(C‡ªÏŸodi©¨ª*U^ÞQ´~}Ô±cIýû;rŸmÛììì”KJêNJ={öƒ¹Ñ„ ­e¯Yó‚ɤoÚdMVU5€‚»&±ZYÙØQu Ì$BâäÚµL8t¨?Ùac£dc£Ä]ÇÉIcË––ÛÒ®®:£FåçlÞl3}º>Q¸~½õ•+))-¿¿ƒƒs(8rd€©©<ÈÈÈlÛfŸž^õô)‹çèvvÊ»w÷!:Ìû÷W=vlðèÑÿçrgööJ»v9èT¿};¼¼ØÛ+€œmÕ*‹ÂºK—ÞÝ¿Ÿ?k–A›_‚à0üü2¨TŠÏuõ–¤¤•ú»ºÞ»w/¼¬rÇYWÇ ÊQTdœ93TUµå.ÉСêäÊB¶9t¨úöíöÄrß¾*K—šzzÆ$&–}?|©ªJ®[guüxòÖ­¯Š‹ëÉN‚¤¤ b!88÷ó#ûó϶ii•’¤¤Ém~ÕBª­e/[ž–Vuꔣ®®,YÎwévÎ,-0“@‰“ÔÔJ™Fð5`€ ÷ª¶¶4]å*•¢¡!UTTG¬fdTkhH*’““FëLbèP5î¡W/CCfzz%w!CÔß›ÏȨVTdiiÄ­K—ÞedT ÚS¸0Þ¾­`³9ƇÄ$¶ÄÕ+7÷ý x¹ãÌήihhvvV!ÓB¶9h÷^½zÉ@uu“€Ï]2wî£ÆÆfžòºº–G22ªZŸaÃ4¸3 !ÃûDÊË–, OL,÷öväþgL&ÊË?è~¨¨h$7}DÉ$fΜ9sæÌN!Ô5tuùŒøœw© Äõ²U!…ï †Ž# öI‡Ÿ‹ï€ÆÆ÷…­ã¤|<,!Û””ü`f¢=Á?ÁKjll^µÊbòä^R •B1cî•”Ôó´ÃçQB†Ç£SÆIÖyx<Éʪ>uʱÞ)þôõe 9¹¢OŸ÷ý"‰‰åä¦Ïƒ(™Äøñã{÷îÝv=$æ<èàààììÜÝ Î(Ö™„±132²èéS–££ZÛµ…£¯/ûúuéÛ·Ü?|ÃÂø¼âèñcÖêÕï/lYY5éé•úúrí=Ü«W¥11%vvï¯.æ€M ÃØ˜Wþô©«ð¿zuue ‰ˆˆ¢ââz>Ý"´Ùš„Z]ï³²jTU%¹–É̬~÷®J^¾å@úúr¯_—¤¤Tš˜0É:Üž23«çÏ\VÖpúôPî\Ô¿¿ÊñãàïŸÉ}ÓŠ:`Àç3³°(™Ä‚ ð‘_‚ƒ:;;8p »A);;»íJ=ØÔ©z‘‘E«WG®]ké쬡 ÀHM­¼x1ÝÍ­—Èš]]ubbJW¬ˆøoL_ýɓɭom@LLɦMÑß~k¦®.WæéÓÔÄiïtÚãÇë¾zUúÃ/<=mûõS­ªjôó˸téƒ!1r¤¦0-cútý/¢çϲr¥™½½2“I/,¬KN®ðó˘;׈o&%E7NÇß?káÂ'ëÖYÙÚ*IH@llÙÉ“oOr¤R)"´Ù1Ò02²ˆœn´µ¥SR*ÎK›<¹DEïÜËÝ]4v¬VLLÉŠÏ·o··µU*)©?}:•'“-¼Ž“HN®X°àI}=ûÌ™!ÜI!·!CÔµµe"#‹wíŠýö[3rölÚ;¹JJŒÑ£;: {Ïã$BâdÚ4½ÐÐüààÜ-[^r—/úÜÃóçݼ™•P>oÞc¢„B t¹Ÿ5%¸ºj_¿žéç—A–3—-kßÜÏóæçDG—,YÎ]¾u«0n´ÆÔ©úÅW¯f,]úŒgÇ™3 >ÖæÖ­¶¯_—&$”/^ü´õVÑÚäa` §¡!Îê×/(II™2{¶ahhÁ¶m1Û¶Å…–– ½{˶Œb™?ßøæÍìÄÄò¹s% Œ§”C£Q:1¼öòñIa±ê`Ú´PžM·n ™Òé;vØóMø©S)§N¥ñoÛfÏýä°¸ÃÙ²BâDB‚røðÀ;ì핤¥©rr4;;åß~ëÃ3Ö¯]$%©. ›;×PUURR’ji©pôè ''>ƒ:ûöUñöv´³S–’¢*)1¦O׿xqX{/ tºÄÙ³CW­²02bÒé²²´AƒÔNrr2‰6àP`Ïž>^^† QWP`Ðé½zÉŒ­uôè #U•”×®¹|÷™±1“ÁPQ‘trÒ8{v(ñ «hmò R)GŽ ê×O…œ¸ FÒÚ¿¿Ÿ¹¹‚”U]]jölÃsç†2ï¯MRRÔóç‡Îžm¨¢"))Iµ¶V<~|qJAÑ‘Ü5œœ4.\æè¨&+K“–¦öï¯êã3¤#‰oDá´óy …rùòe¼»ñ% P(«W¯Æ»Ÿ™éÓ§€¯¯oGIMM\aåJ 8|˜ÏP1EÎáèáa‚at¯æfÎäÉ! å‘‘„ߊ¸ ùÓØØXø6ñîB¡m×®X++Å~ýT”•ïÞU9’_>h¦=f!ÔS$$”õÕƒm5JKø; Ÿ“ôô*rAF†JN>†ºŽ“hŸ¤¤$—Ó§O Y?""ÂÅÅÅÏÏïS…ºÊåËàâ¯^µ]“p⸸@JJÛ5B·e‹Í´iúúú² †„²²¤««¶ŸŸ‹€y3QÃ>‰ö©¬¬ uqq²~IIIhhèäÉ6'+êNYY eeÂÖOKƒÐP¨jÖBÔÃ99i/®ü¤,,Úðý÷ß³ÙìU«V}óÍ7³fͺråÊÕ«W]\\JKK÷íÛÇw÷ëׯïß¿ŸN§¯]»ÖßßÿìٳÇ/-->}z×oS///eeå“'Olß¾Édúúúž".ŸDã+W®¼qãF``àÁƒû÷ï_ZZ*Ò#V¾ù<<ÀÇþþ`Íxþöî®$Œ¿ ÀÕþùnÞ„%K€ÃM›D à§Ÿ`Ú4¸r®^…Q£  ¦L¿ÿ†Í›áæM8u ôõ!<ùï¾y3<~ jjðÇGŽ€¡!ÄÆÂòåTûå;þù®]ƒ¥KB5k )  ¸NŸEEسáêUض ÔÔÞ'I!Ôã‰_ŸÁÔÔ4<<\JJ Æ×Ðа}ûögÏžéé鵫ssóG1 ˜0aBlllhhèŠ+Èî#Fhii={Æ;—;áĉàíí=oÞ<¢ä믿5jÔƒnÞ¼IΪ©©ùüùsYYYâ(C‡1bÄßÿ½xñb ÓéÖÖÖ^äï`€~ø¡œ§sþsuä¼| +WBz:üõ̘?üÐö^óæµ$ðÕWðö-„†Baá=Âðð€cÇZ–ÇŒ--xñ|}Áݽ¥PK ƃgÏ`ÂÞ}›šàÔ)’‚Ç|5îÌ™`n7n@Ahh´Nœ×®µ,O™ZZ°mœ> ¿ýt:p80o¬_ßRaêTذš›Û÷AB¨ûˆkŸÄ´iÓˆ4‚зo_(..no;S¦L!Ò‚Ìœ9“,QTTÔÓÓûØëcbbddd¾þúk²„B¡,]º”ØDΘ1ƒH#Ç744|ýú5±º~ýúÄÄÄ9sæ\¼x1>>¾¹¹¾ŒG¥¥¥ÁϤ¤`×.07oo¡öš3çƒÕ>}ÚöëDƒœƒÜìÚÙð=ûiiPUÇ¿O#@EÜÝÃÿN.À¢EìH¬äåaÕ*8u Ö­ƒ€ :Õ$%AZºÝŸ!„º‰¸fÊÊ¼Â•ÈØl¶€]ønURRâ^¥Óé| ynºÿ§®®NII‰îÀ÷Ý EEÅÖñ“fΜùæÍ?mcÈ IDATssó3gÎŒ5JUUõ»ï¾+~ÒqG§•  §\ù– ž} rAgŸÿÖO4ÐéÀd~0DƒNÞ!âô)·z•0QÂ=î’çìÈq¦‡ÁíÛÀfÞ=`c††ðÇÐηá|Q2J3¼{½Êz~°.ÔÌi~™óòXø1¯Ç^¥|ëÄÄ]½z,üØ¥W—R‹ù¿¾„Ía?Jt.êÜ駤<¨oªçÞÚ“¿ôe×»‚Wnž—±±±~ mmíøøøœœ÷/v‹ŒŒ$6‘%<ÏbTVV&%%qWèÝ»÷Ï?ÿL,GEE92??ÿÙ%þkhww¨¨€©SáÚ5ر~ú©£mWn TUß¾yÓÑfyhiDEAs3Hpeä‘‘\'¢£aèÐ÷«/^pýƒ''pr`³áÜ9ððV­êä€?Äu”)É´×îY{l»»-0!°¤¦„Xµ×¶×WÒç®ð åÁÎû;y2 W3×½÷JÓß÷BEeG­\Ï]MK^k§ëN'#'bµÇ~è‹%®}‚/1óöö&GܺuëäÉ“~ ±cÇr8œ… ’„„……íÙ³‡ØDV»qãùàhuuõÒ¥K«ªªÆŒC”lذ!11‘¬¬££Ã`0xaýl­^ ‘‘°?\¹ÎÎàé ÷îu´Mâv¶Œ6hj‚ŸîüLBM úôÄDظ±¥Ó‚Ã//¸{45[n‹vìhÉ #£%E Î~RìÝ dÊK¥1Ðç 9ûŸ— Ä ²Ú2{m{ ¾^å¾Ê(Ͱִžb=eé ¥£LGIP$‚“‚¾ó3Y§ª¾jÙÕe¥†Ê† ú-ðèïa¦f–W‘·âúŠÂªÂ®ú(µÏçÙ'aooß§OŸ¨¨(}}}33³‚‚‚ŒŒŒ>þ¼sôã?^¸páÞ½{zzzæææiiigÑ¢EÖÖÖÜñxxxlݺUKK+99¹¢¢BNNnóæÍÄÖC‡ýþûïjjj††† qqqãÆëÜP{¢ àèQ˜9³å‘ÈK— O˜3¢£AWWôfgφ-[àÄ ]]HM…ª*°³®‘+ã÷ßaÌØ»¼½ÁØ23˜Jä÷ß?¸E¢« ‚©)HJBb"44€½}ËÒRX¿6n]]ÐÑ’’–g:ìäPѧç9Ƴ¯þ*2*žÿz&$´®0Êt”»­»žâûQáÒ-¾²8 !`ç¸ *že>+«-³Ñ²ñçK“ ‡Ãñ¸âñ8ýqhZètÛé­›E¨Û}ž} ÅÇÇÇÄĤ¼¼<""¢  `ÇŽK–,éôijj†……9;;×ÖÖ¾|ù255UZZzãÆÇç®6þüŸ~ú©¨¨èÅ‹¦¦¦ÿþû/ùö÷½{÷Z[[³X¬ˆˆˆW¯^IHH|ýõ×gΜéôh{–¸8X¶ ÌÍß?…¡© —/Ci)̘Áh‚45ÁÛ 7""€Fƒk×€+±ë4#G­[`b%%  ­ çÎÁò´8tÜÜ ) ^¿††9‚‚ZÆv˜›Ãúõ ¦™™II ª ?ÿ k×v~´ŸfNóãôÇ'ž¸ðòBv9ï¨ØFvピ§_œö‰ôyò ®‰ßŒaÊÕÌUEFE@[-[î4†3R1jd7V7T%ÄG}G" …âlä ìø8¿×~^½br;;]FHâ×'1`À€“Ö…¦¦¦d‰­­mrrr\\\uuµ¹¹¹‚‚B^^^HHÙUÀ·o¿ývâĉ††¼·×ÇLJœ¥ª¶¶þàIèÝ»÷ÇóóóÓÓÓ%%%---¹*!¢««û¿ÿý/99YVVÖÒÒ’{æÊ•+W®\Éb±ÒÓÓeeeõõõåää:ø-‰: woàþ°Ã†Á‹PZ UU¼Ã! K—‚«+|xÖZ ¹ÏÚìÙ0e ÄÆVVÀ`€¡!,YòþX|Û9~œw†J yÿ<'1L’ëìÃøñ0~<¤¤@A(+ƒ¹9p¿%Žâà×®ANdf‚Žp?¨LÌ$±{7deAn.¨ª‚¾~Ë0O$P}Sý‚K Â3‰UšmóÈÍóûÎ'Vcrc–_[Ϊz?RJUVõÛ¡zíì9üø0 t•¡Ë,ØÉ¿FØÍì²Ú2-y-%é–ívÚvT õiÆÓ¦æ&²O"4-úèð…U#»qKð–k±×– Zf«eÛ¹"$ ñË$”••[¿ù‚o!…Bá¾Å ¥¥¥EŒ’ûø.ÆÆÆdW©ÿþä21š’˜ï’›¦¦fëBž£(**0€ÏG55555µmý õîýÁó“$î­ñ™ü‘o¡”p8°° ‹6véÛ—·„Nî$ÄhÊÖ'ÚÄ„7)i}FYr£P@OÚ9ÊîT䩚†7+759µ¸ü¸ðŒð_ïýj¦fFä »Cv³ªXêƒôÑ$hïJß=NœÌJIüùôOv³ ÇTeU;=“ð‰ô)ª.Úẃ,ÑUÐÝ8bã®»Æý=ÎÙÈ™B¡<}÷4‰•´Âq……:Ÿáeµeß^ûöeÎËÝãw»Ûº·®€P¿L¢» >¼»ÃA]kÿ~8v Þ¾CCø°Ë u‹ÚÆZc•–¼ÿTä©]÷wyGx¹BIM‰¡²¡¿‡¿¥ånIM ùT_ß;~ßfŸD'ÅÞâ~Êý½¡{'ZLœe?‹»|~¿ùµµ<ýâ4Q²xÀâï¿kÝBZqÚ7~ߔוŸ}v@¯þJAèSÃLBX………ÑÑÑt:ýÀ†x-ùÒ$'ÃÛ· ¡gχӇ n1Ér™FÀÂ~ ‡ÊŽ"VÇš=qêJÌ•&#ÔåÔ@YFYY¦Õä\V]ùIæ”´ææš&#þøêîòº¦:Ë‘Y‘vÚvÚ‰ØüXïïðŒðs³Ï)H½Ÿ°îEö‹?Ÿü©,£ì7ßÏ@É +ƒGˆfÂ1bDDD„¹¹9“ÉìîXP—ûßÿ`Å 03û`ê>½?x½»EBGA'6¿eΘÕÃVë)ê݈»±ãÞ†Œƒ¶ƒ›µÛxóñìÊqWb®l Þ:¦÷˜ƒnÉ‘•„óQç#³"õ_´yäf²ðäó“{Bö ?ºqøF²0"3¢¼®|¢ÅD}Åf­@¨ëa&!,uuuõö¾Ö}6øé@Ý'«,‹{•Ãáä”çÈKÊ« w[ww[÷fNó»’w!©!ÿ»ù¿¸ü¸]~üXƒ]6Nâø³ã{îo>þ€Û*…ʳ5&/\Í]¹ ǚݲ‡ç¹Œo¿}WòîÂË õìú®;©¼M!Ôe0“@‰Ÿ›ñ7 XDÞàðyáS\S<Âd±’âdäD• JP$ŒTŒ ” ÎE»{U@&Ñ5ã$ö„ì9ùüä$«I{'ìmFS’ w’îp?©”džD eûØí R GÖוr;DÌHP×ÃL!$~¤éÒn>ncÍÆªÉ©ÅÄ?}÷”B¡,°˜Øºâú %i¥>º}z)öjd7>Ë|–]žm®n. ÁŽ“¸“t'‰•¯ó^€œ?ñjŒñæãMTMàhøÑ“ÏOÊKÉë)êyz„{ßÙö³ÕäÔ`¢ÅÄ+1W¼#¼_d¿è£ÓG‚"ñ:ïudV$L´œØú k×*É(ýöàÿìÝwXÇûð÷èåè½÷.Mé‚"%‚±`‰]£ÁÞIøF±ÆØ]@DzW:Ò‘R¥w¹ã~¬¿õ<¤¨ÌçñÉÃÎÍμ»Ý—ÙÙÙck­¹´à' }o®A…2 A~<«õWGGûeùa›ØzøCžŠÁùÁدòIÉ¿mþÕ^å¿Âãüge!e,“(k,€–®–ó±çûìû‹ò/X&a"krÀòÀɈ“é•éøí F㦩›~UÿuÀ~Wë¯æaãÙ¸Ùýe7ÝÀ—¦@1ƒ2 A~$2|2ÛL·É­3Z]W›ÇÁÂa®`.Éóy…õóóÎ×µÕ%U$•7•s°pÈñËËãO„Ž’Yʳú¼² £(ði­‘™Ê3ŸÅúWAŽÏo›[¥¿Ê~’}lIlESˆq‹ËcO `°3 +¡‹—,Ð\ BIyŸW7GmΈ‚Ðe‚üH°ë(öótùéØJÒý …lTÇôå5V*VV*V4*X*ZZ*ZÒÓ;Ÿ­Ú÷20Ôgg*gj*g:`}mÃÉ$6nÜè‚Þ 01\¹rÅÇÇg¼£@FR}}=õºò‚ ßèç|ƒ2R(Z³ÙAd8c/^\´hш‡‚|oÂúõë=<<Æ;d$98 7S#2’И‚ ‚ Ç2 AA†e‚ ‚ Ê$A>”I ‚ 2|(“¨¬¬s-ùP2Ž1DåGõ?ZÖPF]ø=† ò-P& ..~äÈssóqŒ¡¬¬ÌÕÕµO&ñ=ös0Q49òëYAÙqŒ!ê]”ë3×>™Ä÷‚ È·@ïÝ?zôèxG1€ï6°މ‚‰‰‚ÉxG1€ï6°KTQÔ¥øKÛ§m72€¢ú¢ƒ/.ÐZ°@sÁx‡62òëòà Â^—½þHú¸gÆmqíñŽA>»L¢¼¼üÅ‹ÍÍÍ666OŸ>]´h‘ºº:^‡D"………eddH$eee666죂‚‚;wîX[[EDD$&&²±±Y[[÷ƒ=FDD¤¤¤pqq­[·®²²òÊ•+æææÔ¿ý“ÉäÈÈÈ·oß’ÉdUUÕY³f133Ó8Àæææ—/_³²²êéé™™™ááý„„„¤¥¥‰D999¬BTTÔÍ›7 ,,ŒD"a…G00z:ô,†”²”ȼH PÌ”ÌôeõŸ¦>M+OÛm½›ƒ…¯ÓÔÑô*ûUñ‡bfFf=½iÊÓðBrBbÞÅl˜¾“ïYú³‚Ún;;~Nþ>ÑÓ/ùÕùSd¦ÌÒ˜W÷*ë•óTgYY¼rKgKHNHa]! ÇdéÉÆ Æ´°´¾4$'¤¦¥†Ÿ“ß\Å\UTµ¿ÜìÜ~i~¥õ¥â¼âsµçòrðbþ‹ÿ/,7 nÄÜÉYAYg磧£AÏÒ„R×^—PžÐÐÑ€m¶lO(O0’1½óêò\_¹.Ò^d?É~ôzÁØyÙeÕdá›Í]Í£Ý#‚ Ée×®]Û²eKww7¶ill¼dÉWW×I“&á™DBBÂ’%KŠ‹‹ñ½¤¤¤ž½uëVˆŠŠòòò€ðððððp¬–Iô ŒžŽ=K#®—Ò»áö†«ÑWñ’Í36·u·ÝŠ»µÅb žI܈¹±ãÑŽ–μš™’ÙãM‰‚’âþÒ}²Ìä=>{r«s± DÐ?Bµ¥>ÿFO#“$&íöÙ]ü¡þøåY³°éæ*æøûzÌu—G.͟Ϥ©¢iäîȯ½{zÿ“ý'^ž ÷’±M°Ætͧ ÌŒÌx¿â»|v•Ö—bu‰‚O6?1U4€ÿâÿ Ï ¯X/ìÓéÊÓMœûFOGƒž¥ N^@þîÒ»<£×EkwkByÂT¹©£×®¶½VIPÉRÉ2·67¢0b zD!‹L"11qÆ d2ÙÌÌÌÀÀàÇ?þßÿþG]§´´ÔÊʪ©©ÉÀÀÀÐЕ•5999<<ÜÖÖ6//››«væÌ™––''' ‰”””Í›7ÛÛÛóðð ©‘¶¶6GGGIIÉþZYYµ´´ÈÈÈXZZòóóçää¼zõª¬¬lÀL"--ÍÑѱ§§!hnnö÷÷_°`All,@Àªyxx´µµ999‰‰‰¥¤¤„……ýþûïšššæææÓ¦M[µj•——׌3¦M›Ö¿‹!uDû,ÏÏ«ÑWíuìå…äóªó.D\" Q×ñKó[sk Ó­9jbjÝ=ÝÁÙÁÑï¢WÞXùbÛ ¼ÚúÛ뙘ÖM[Gd%¾Ìz™]™½åÞ–è=ÑCjdÓÝM,Œ,kÍÖJðJ 8Òàä½öÖZЗÕ×—Õgd`L.MŽ)ˆé¥ô˜Iüþï±€cÁVËVML­¤¾äiêÓkÑ׉‚Çæëm¾·™…‘eÝ´ulÌl!9!Ù•Ùóþ—ûW®Q`…ñŠ^Joxnøª©«¤ù¥`À¹tvDû,!œ,œ†Ò†ãňñsö& ÀÑWGÇ;ÀXdd2ÙÕÕõðáÃXÉÑ£G'OžL]çĉMMM.\ظq#^xöìÙíÛ·ß»woÆ XIOOOff&~S`õêÕ^^^QQQ¿þú+ýttt¤¦¦ª¨¨|-àãÇ·´´,[¶ìúõë,,,XaII ##ã€õO:ÕÓÓ³}ûö3gÎ`—ó>ÆÇLJ‡‡[XX`ÕÚÛÛ“““ÕÔÔ°Í3gθ¸¸œ>}Ë$¼¼¼,,,<øµÀèìˆöY §_f 0„üb®bŽ•ø¥ùÙÿûŨïþ'û9X8¢vGM‘™‚•P(”…—>Nyœ[‹à+)ÿÌÎÌÇHÇ´\µb c[:[¸Ù¹éoD’O2rW$××>ðäüëôï&óMxaLA #aà¯øxàqðÝè;OwVò¦ø™»ÙÙ³çädåÄ ÅxÄ¢wGc¡’zI‹//~œòøfÜM—Y.+ŒW”5”…熯6]R|KG´ÏÒDð2ïåËÜ—-Ý-J‚J+õúŽ·õ™'‘^™îî¾Bo…¾”þ”;YÕYÂDa7k7ˆ/™÷²¼©œ‰ISTÓQ×QSº©ÒÆÒ'™Orks{)½òòZ  O3Ÿ^O¸ÞéޱűXÍ{N÷Fé`±4A¾[c‘IÄÇÇsppìß¿/‘••]»víÉ“'ñ’&&¦ºº:777 …‚½Ìºµµ’’’ðj+W®Ä/0{öl//¯ÊÊÊ!5âääD#€ððp† .àió×êÇÅÅ111ýý÷ßø¨€  àÞ½{×­[‹_àœœð4¶oßîîîK#’áuDû,¸ÒúÒʦÊY³ð4ìtìôeõK±ÍªæªìÊl!…ÀÌÀÀÌ@üÛÁ’J’ð$`õì ,L,3ÕfæUçU5Wq³sÓßÈ.«]4ÒˆŠÆŠwµïôeõ©ÓøÚ¾¬¡¬¢±bªâTüê†r†z÷ÞÜK)K1S2ÃǯåL LÚýù8åqlA¬Ë,zÎä:úÚY¢§£Ýž{|3|±Ÿ£Š¢|3|—è,¡®ÐgžDsWsBy‚–¸ÖŸÁÖ¶Õ€ºˆz/¥wÏ‹=O2Ÿà{…„ÝJ¾ukÉ-  ¬äNÊ¿‚ÿ"SÈx¯D¯G˽oyŸS›ÍÍ´£]~9~¯j@¼ì¼æ_ ÿðä{3™Dcc£¤¤$Ó}õ¹0×ÕÕ‘H¤#GŽôßzN€””õGD"zzz†ÔÈ ÓëëëÅÅŹ¸¾z)꣱±QLLŒºPAAðê«;000ÈÈÈP§8#Õí³4â;€z FVPÏ$êZë °®ðÐÓCý[ ž¬ Åÿeð¬Dè!÷ ©%aZ_q}[=¨ˆÒÊ&©5¶7€¼|Ÿr!hh§úŠ¿øŠ±MìüŒlG4ÎÒO/ 7À7×™}µþjmq톎†ÿ’ÿ»öæÚ ;ÞL¼)Ç/·Ít›4¯47÷•×Wžd>‘â•rÒuRPøHþSó0íáÿ/×¾d 0¼){ãì ¶j¶æ æ£ òËL‚¯¢¢‚D"Q'%%%}êtwwïÚµ«ÿîÔw Ú=ôÉiú())imm¥3™àãã+//ïì줾Æc³5ùù?Ϩ§ž  ¥´´”———ž.†ÔÑããà€þ«4R¯¶„ÕQWw˜âп}Y}ú;¢§&FZ_±Qòªóèéø8ù ¨®¨Oya]!P?4Qü¡˜zZ6å {d;šÈ¼Ó½ÀÓÎÓRÑ+™«1wÎõ9Å Å4÷a¢ð㕱± …²úÑj!¢ÐSç§ RüRJÂJUMU §,œ$1 /§P(¯²_á“h‘F@’ORIX)±$ñJÔ•uÓÖáå±±& &ø#œ4¿´$ŸdlA¬ºÿ\í¹XaRI’O²;3ûdéÏ3~Ü_ºÿªý+vc…ÔK:ìw¦*~újؘØàË¡…aw4‘åÕåñ²óâi°0²ÌUŸ{6æ,í­U¬ñ[BÍ  üü[Ÿn …B `Ï‘~(œ,19£*ƒ•‰uùäåÔ020r0pôk›l‰ ù‰E&ñûï¿?|øðàÁƒÁÁÁúúúسØ…ÿW{ÿþý>>>Ë–-óðð044äáᩪªÊÌÌLJJ ”‘‘¡§£iöìÙóàÁƒ[·nEFFZZZòññåææ ˜I¸¸¸UV—G.1ïb8X8°õ$†×ÑDÖEêâeë;’ÇË>øØž·þsûÇvhèhˆ+‰° è&wó°ñÐÿ?Õ× yÈOo,2 CCà .lÛ¶-22222ŒŒŒæÌ™sèÐ!NÎOÿ8ÊÊʆ††._¾<99999ßWGG‡ÆTÇ>F¤PPP trr*))ÁÇNää䤥¥¬¯««{ïÞ½µk×&$$$$$`…Ø2Ô¿àîØ±ãÕ«WwïÞÅ6±õ$ð…"øùùW®\éååuþüy¬¤&AgGcoÇ/;rªsnÄÜðIöÁJ6™oªj®z’ú¿þÙëÚß]{wëý­AYAAYAX!Áf’ í›ÔF¤X¤·¨¡½a—÷®„â„„âOgÒLÉìk‹Ilž±¹¢±âdÐÉgéÏž¥?ƒÿ_æá/û¿¨«_z~§÷ÎË‘—±Ml= ìf XO²VWÏ®Ì>tþ=‰áu4‘ …‹ë‹›:›¨³‡ŒêŒ!5"Ê%J ´Ä´v›ïîÿ©,¿,ˆq‹åÔä”7•Kñðû–"Ó¾mAó$ŸÞ­Lµ~ýz›/^´´´`k\bjRÿН««›‘‘—œœÜÞÞ.))©¥¥¥­ýi±EEÅ#GŽ}±hVh``ð-À@¯·˜:uê»wï°µ2UUUùå,.\8sæLê¥'û/ ÁÎΔ‘‘ÁÉÉ9{öì>s0¯_¿îä䔚šÚÞÞŽý Õ?0ÚÑy–F#ãõ•×7™oŠÌSES9•ƒ*‚DA6f6¼š££½®}hNh^u^/¥WV@ÖHÞŸ<8S}&3›(·(uËX¡0·ð·4½ÞbÃô Kô—e(æaç™,3ÙPŽÖ ïc󭟾>$ûÓÒ“3TgP/=‰QQÎþ3Û?Í¿´¾T‚O‚zK`cfK<øâí‹‚Ú‚nR7LÿÀhwDçYú‰™É™|(ذ÷”í)lªi`n _–ßúO IDATáeç52H*O*n(^ ¹Ÿ©PÑ\ñ íÁÉ)0SifNMÎ6¿m§mOË È@/¥÷yöse!eUaUf(k*£Ñ Í“@~zzrê/v >|¸hÑ¢!한œÞ± @ؾ}»‡‡=•K©ç<ž;¿õþÖyºóoz?ï¼µŠ5dTeÌ»5o›é¶m¦Û ª(jõ£Õ,¬Ò_…·“_—¿øÎâÖîVNNi>i–÷-ï?´€¬Y¬L¬mÝmóÿ›_T_Ä@`ä‘äaç)n(nën»µäÖTÙ©]¤.ý³ú=ÊBÊØÝ–Ñ[OâBÜ…˜â(i,©m«URÁf‰âïAúÑùw{*Nc4&qäÈ‘¼¼ïÝàe祱ê+×$ÑI_û8˜94Å4‡úÑRP >XùÞŒÝ[ÅåääúL0œ8û?ˆñóÑ“ÕÓ“Õï(ÆÇLµ™3ÕfŽw‚ ã`àgÞAAè2 AA†e‚ ‚ Ê$A>”I ‚ 2|ÃyvãÖ­[ñññ# ò Ù±cÇxGŒ¤ôôtIIÉñŽAŸÇp2‰€€€€€€ùefffffŽwÈëììïùy '“Æ{7ÑÞ»ü(°÷n ‚Œ4OAAáC™‚ ‚ Ç2 A~0ݤn÷pwó‹æ*'T+vôtdTe(W<s«Ðgùš—y/+¾){3à§¾¾ŠÇ_æ½ã~i½¨a»÷n ‚ŒˆK¯/]}su¼£ø„„q³qëIõërÆ«_d” LALÈ».V.Ÿ>rür ÐÓ,Ø[0Þqý`z)½…Óå§3'B¿ÈèA™‚ ?˜ª–*yyô¢ío”ú>µ¡£ÁBÑb‚ô‹ŒžQ™'qêÔ)1‹ï60:}?ñ‰gÍÍŽwøn£Óÿhs qS<®ØÔÙ”^™®x\Qñ¸â¡ C@ÇÄ …âîípÛAë´–Æ) Û¶wRîP(ìÓ¨¢(ÅãŠ^‰^i•iKï.Õ<­©wVo×ó]MMÔ$–'þñì‹Kj'ÕôÏê¯óY—\‘ŒŠ7òºôµÃmÍÓš¦ÿš^Š¿„}ú_ò¿\ùEý¤ú¬«³sémô„„1§ËOÇ6[ºZ޾:j|ÞX㔆ýMû°‚°þ»Ð5¡f©hÉ@`¸ñzÂõ 7NÚž¤?¶WÞT^ð¡`±öbló¿äÿrjsääþrTGB§¡£áêë«wSïé4.ÔZx2âdp~ðµ9Ø.5m5ÑÅÑÓå§ …ì78?˜™ý”í)Y&¦’†¿l?ú£¢ó{AF“@ä'ç“áÃÈÀèµØ ¿žéKé{üêa}Í:ä]~µ6•3ýÓêOìç)’SÖ­;úêhn].–Ir óòëË_¬o¯ÇF ¯.º¯iòÓXÀ~¶V±ž©4óeÞËý–û´>--ºÛ|÷£ôGõCŠ­¼Ýy–Ó/ä]à“^æ¾$ÿÎûWIP 8x8\­\‹‹ãJâð] uæ‚3‘g¼ßz㙄ï[_r/y‘ö¢¯õ+Ê- 3•gb³/ÕDÔ°³MTt~/Ȩ£yååå¿ýö›”” ‹¨¨èÒ¥Ksss©wimm=|ø°ºº:;;;77·……Epp0þéÞ½{ BZZÚ­[·&MšÄÆÆ&##ãêêÚÛÛKÝHvvöܹsyxx¸¹¹çÌ™“››ëììL >|ø0``t6K;¶Ñ>^¼ßÿýWEE…M^^ÞÍÍD"afΜyèÐ!033#ÁÜÜ|'–Άþ·óoßÎ66¾ËÅu–ƒÃsòäÿþù'¥·÷‹½‘‘å¿þúDPð_–3rrWwîŒhiùˆ}ÔÕE"NÙÛ?­ªjwt|ÎÏž“óìÌ™ÒÓë¨[èí¥œ<™¨¬|•ÕCAáê©S‰ÅÅÍ©-[B ŒÎfiÇö54Žï·¸¸yÞ¼§¼¼ÿpqµ±ñÅû‰yO œ"“)¡¡eÂ)ìODDùPO,ý8Á½«{Gî%›]0S9¡¢ì®¬ä®¤ä®d}Í*[*ñjFÒFÔ{IñJ@ûÇvl3å}ŠÃm‡ÀÜÀÚ¶Zür]¤.ê½ ¤ ¨7ŹÅ@_òó/ÇŒ Œ"\"Ú? )¶V¦   Ã'ƒm–6•ŠE° 6nšÜ4êÍACä´P²ˆ-‰}ßü(ŠÏ[!¢Ð Å_ë÷€Å^J¯Å%‹ƒ/ÞM½›]“MÝ#=QÑù½ £j,Æ$Š‹‹ŒŒjkk±Íšššû÷ï?þ<,,LOOÍÌ̲²²° ]]]ááá·oßvrrÂÛùçŸnܸý\VVvôèÑÞÞ^WWW¬$77×ÄĤ¹¹Û xóæÍ”)S v³tÆ6¤ãŸ»»?xðßåСCyyy·oß4à¡vDûGÄ®]‘§N%⛩©µ©©aññ•÷îÙb%—/§oÜŒÏ!+)i>}:)4´,6Ö‘ƒƒ+ljê65½WTôé -³´|”›»ZP+Ù´)äòåtì碢æ]»"SRjmÐfé‰m¨Ç ]ff÷ß¿oÃ6_¾,މ©ˆ‰Yª­-4hÌCêhÐDz)½0àÄ‚rþ3++õG >óñRü¥rÏ6Ómö“ìEˆ",Œ,aÖÕY  Ô{õm„@°e<›§3¶>¾qžDkwkbyâjƒÕ4ZèžPi- ÎöÍðÝfºíMÙ›²¦² Æð§=û÷«&¢¼>8¥"%¹"9±,ñ\ô9>¾³vgU„T茊ÎïUc±Æåï¿ÿ^[[;mÚ´¤¤¤ööö¬¬¬ùóç·¶¶þöÛoX…;wb…‰‰‰mmmõõõ÷ïßçååݺuk{{;Þν{÷Î;WYYÙÒÒrçÎ&&¦óçÏãÏ]\\š››çÌ™“‘‘ÑÞÞž’’¢¥¥õêÕ«AãÝ,± éx1¾¾¾§OŸ®¬¬lhh¸wï??ÿ;wBCC $$䯿þ€èèh …B¡P|^ƒÎŽhà·KI©9u*‘éŸ,«ª6Ö×o¹sg??Ûýû¹~~PTÔ¼uk(//ÛõëVUU»ºvde­rpPIK«={6o'2²\JŠ;!aY{ûïùùk,-¥ëë;ïÞý4Ù*!¡êòåtnn//ë6WWoºxñ—§O_B€v³tÆ6¤ãÅDGWHIq½yãÔÖö{NÎê ”ÛÚz¶l SS e'##ÁÒRšBÙ‰ý17—^G´vföÔ©{ úü9?ï<”7• r n3Ý&Í+ÍÊÄJ ÊšÊJJ¾‡Ø†*ª(ŠÔK¢~S†W¦¦­æÝ‡w_T+Žj¨Ó䧉r‰ú¼õé¥ô>zûj-¤Ñ/0õ¥ô7oð´óŒØÑÖݶ/`ýQÒ÷‚ ɨgíííÂÂÂÏž=›2e ‡ººúÇ544ÒÒÒòóó»»»ïß¿¯¡¡áã㣧§ÇÉÉÉÏÏ¿dÉ77·ÆÆÆèèh¼©Ã‡oݺULLŒ‹‹ËÉÉÉÞÞ¾¡¡¡¼¼ÚÚÚ‚‚‚¤¥¥}||&MšÄÁÁ¡««ûäÉAAÁA#¤Ñ,ý±Ñ¼xÍíÛ·ÿñÇbbb|||ŽŽŽgÏžŸ‘:±ôàˆðö΀Ç·lÑåäçgsrR;~&<|˜ wîd÷ôô^¾üËêÕš¢¢œ¬¬Œêê÷ïÛŠŠrR_Ùýýçéë‹rp0+)ñ=kééŸF\|}ßÀ±cÓœ' °‹ˆplØ }ð ñ áÑn–ÎØ†t¼"‘ÙÏož''³ª*ÿýû¶ªªü11ïkj:FêÄÒs€8h;töt®x°"¬ ¬¡£¡‡Üó¾ù}xAøæ'›©ï¸Ó&Î-^ßQ;ùvkwkkwkDaÄšGk°_ÓÇ>¶¼Ýyý/çÔh?¸ZÊËΫ+þy†µª5…BÙüds|i|GOGEsÅ‘ #} 'TFÆš *[*r‚ò‚ ¤ dùdiôëpÛá^꽂]¤®ÖîÖ¨¢¨¦Î¦²¦2ú£¥ï’Q¿»QRRB"‘ÌÌ̸¹¹?÷ÊÄdee•••UPP@&“;;;³³³™™™ûþP±¬¬ ß ›+€“——€ÖÖV¬2™Â"”£®cdQ¤k°«kð§;ƒê"êÊBʵmß”´HlCBî%GFZ(Z02|^brÅ”þYþ9µ9Ëï/ÇJµ9/r^ 5Tm‡ ñ½<ÔMꦞk9`¿YÕY©ïSû¶¦³˜þ¨Fé{A†dŒÞàEøÚ¿ÊØýB …B&“Édroo/~Á€?ÿƒÈÎþÅ}_¬MêQúþ½Ð3†O£YúcëƒÆñÒÞe¨;ÒSÐó6"h‚Í$“)d2¥·—ÒÛû¹ó?ÿêÀÎþE^‹5Ø'Ì>ÇKß÷K«Y:cëoèß0¾ãP¿âA*ÐsÞ&8à>Çýœý¹©²SyØx˜™¥x¥~Qþåâü‹Så¦ÒÙÈL¥™g~=£*¬ÊÆÄ&LvÔu¼íx›zá„qŒmH’ß'7w5[*YR²2±Þ]z×I×IS•‰U]Dýâü‹Ó俘ÛHg¨’<’Se§¶v·r±rY«ZÓî×w…ï²ÉËÙ˜ØøØù¦HN96ûþð =QÒ÷‚ ɨIÈÊÊ211EGG·´´à¿=“Édlƒ¢¢¢¤¤$++«žž^LLÌ·ôÂÈÈÕÕÕ…K´´´$$$|KðrrrCmÐãÅkYZ~þK Ÿ~e``üiŽoéh´)*òÀ‹EŸï%€¢"/¨ªò@p°ÃÌ™2ÃîEA‚‚Š7nÔÁ ƒƒK‡Ý f± z¼˜´´ÚÚÚ|X¢§§74´?`` H´.øtv4¥îèû[lŸ÷n øŽÙª³û,j„›&?­ýþ…s5æÎÕ˜K]òÔù)íFöYìÛg±¯OaàÚÀ>%4bq¡ïB™™ÍäÌú”s³q»Z¹ºZ}1{æ‚>Õè õæâ›tö«&¢vtÖQMÑíï£>&ÁÉÉiccSSScooŸ’’ÒÑÑ‘““ãè蘙™©£££¬¬ÌÁÁ±dÉ’ØØØ¥K—¾~ýº©©©««+77÷æÍ›ÆÆÆÝÝÝôôB$gÍšUZZºxñ⬬¬ŽŽŽôôô ÔÕ}ÓãpÈmÐãÅkzzzž9s¦ººº±±ñþýû¿ÿþ;,\øiv???ut |[þŽF›ƒƒ2¸ºÆ_¸VSÓÑØØuÿ~.ödæ¢Eª°b…ƒ“Ó‹72ÊË[?~$×ÔtÄļߺ5ôØ1z_+<¾ìÛ}ûvvCCW]]Ç•+oÝÜYÅoPÈmÐãÅ´µõØÙ=IH¨êèèÉÍmXºôynnƒ©©~kƒŸŸ-+ëCaaSŸÇe‡Ú‚ IXA˜¡´!' çécñ¨§§ç›7oÂÃéŸÉ$‰W¯~Z$ÕÃÃ#==ýþýû÷ïßï³/ýƒð§OŸŽõ÷÷÷÷÷ÇJ,--CCC±YÃ3ŒØ=^Ìüùó]\\\\\ð'''|”búôéáøñãÇÇ6û?¾AgG£mòd½Ó§“6oÙ¼9/_²DÕÞ^””ø.^üeÆWkÖõÙwÏ ¡¡ØÚµš×®e¬X€.^¬úða.3óðâaÄ6èñbÌÌ$ › ?¯ÇG$2có%13fH?x«¨x Û _Üçñ :;B! ^7Èr8?Y¿È‹yòòòIIIkÖ¬‘`bb^²dIbb"¾æ_||ü‰'¦L™B$±Ç~ûí·7oÞPÏ ¤MMM-66ÖÖÖ–‹‹‹‹‹ËÆÆ&&&†D"111qqq ;øaÄ6èñböîÝ{öìY%%%99¹¿þúëæÍ›Ô‡sýúuuuu–¯Þ𣳣1pê”ù­[6††bœœÌllLÚÚBgÏZܽ;¯°v­f|¼Ó’%ªââDffqqâôéR.Ìܿ߈F³}\¾<ëøñi ¼,,Œòò<'NL_¿^ øøèýŸd@ÈmÐã~~¶¨¨%¿þªÀÍÍB$2[YÉFG;R/&áá1cáBe~~63!èéAd|†:óŽ@ <|øpÑ¢àµC*** oß¾ïX¾°wï^ww÷ÔÔTÁk°}ûvñä«¶m ûçŸ__;ìÞÇw¢«‹ÄÎîig§øô©ýxÇ2ðööþ–F iWغUþùgð¥ÃKtþÝÄ'íÑcŒžÝóçÏõêU]]]SSSHHˆ­­mGG>óùÑ]»–qüø›œœúÎNRaaÓáñ.¤rq±Ìš%;Þ¡!‚L\?Õ¼^½zõäÉêUUÕ?þøc¼âAFVSS×¾}Ñûö}±€Ä™33ˆÄáσAA¾ÑO5&áçç7gÎ YYÙmÛ¶ÅÄĉÄñŽ ¿ý¦uà€‘¦¦ ''377ËôéRþþóÖ®Õï¸A&´ŸjLÂÒÒ’z…†ïþD2$<<¬nn¦nn¦ãÈ ØØ˜(”ã‚ Èù©Æ$Ac(“@AdøP& ‚ ÈðýTó$ùéÕ¶Õ>H{`(mh(m8ìFrjs‚óƒg«ÎVÝÕBKKý²ü¦ÉOÓ‡ÅcÈr\I\IC ™B–敞*;••‰uìÃ@~z(“@äGRÓZs.æÜ6Ómß’Id×dŸ‹9§,¤<‚™DeK¥Ï[cc})}¼°´±ô\Ì9.V®±Ï$’+’w¿Ø]Úøù-wbÜbÿ³þ_Ÿwi"È·C™‚ ?.‘oL#FIeK幘sŒ ŒÔ™Äxiën[﻾©³IŽ_nšü4C\I\^]Þæ'›Cׇ …Ç;@ä§2œLbñâÅ‹/ñPï§§§§§çxGŒ0IIÉñaø„‰ÂÛL·wß»×e¯›:›4Å4½—{310…BYõhULqLdQ¤ƒ–ÃxˆüT†“IÌž={,_ZŒOOO€íÆã2²<””ØÇ;†ápžDkwkTQTyS9+ë$ÑIýGª[«Ã Â[º[”•¦ËO°e2…_ŸW—Gê%ÉñËM—ŸŽÏ*À§;h‰iÅ•Äe×ds²rN—Ÿ.Éó)'K,OôÍð€øÒxr/+ì“ñ¼){ó¶ê-+ë4ùi²|²#p.¾®›Ô &2&Xaºüô˜â˜ä£Ú52 '“X¹råñ/äyzz ïú'ã- 0Þ!|ƒþó$^æ½Ü°¯µ»¯£+¡ûï¼ñ1|ï·ÞG‚ŽàWPq_ÕíÓlzeúï~¿W4Wà%bÜbç_œ$: þº #ËéÈÓñ¥ñX&¦ý–ûWLY å >o}àuéë×¥¯± x&Aê%mðÝòîÓ«áÙ›¯9ŸÆaþóh½^‘ƒ™c­áÚ¯}ª-®ÍH`Œ+#õ’ð1‰È¢H˜,1™F³2 hž‚ ?°œÚœí~ÛI½$M1M=I½¶m!ù!©ïS7?ÙühÙ#ð¶êíÁ—ɽd})}-1­†Ž† ¼ ãþ¥nä}óûUVµtµh‹kk‹i³0±dVg¾.}ý›ÏoÁ¿Y?­¸#ñFÇÇ; ;!¢PVuV|iü_!©©JH,ÔZèóÖÇHÆÈ@Ê O7o´u·Ùi؉p‰dUgÅ–Äyuäå_¸X¹¾v\çãÎãc䤑IHòHîµØûwØß6×l¦ËO'ŸæI˜lVVü´"ÈP LAص7×H½¤Uú«ö[ì'°Û|÷ü[óSß§¾.{m,c|3é&¹—¼Ít>B°ÍtÛ\¯¹Ô\y}¥¥«Åu–«Ód'¼ðfÒM·7ÿlÿ¥ºK±’ΞN¿U~ ŸÞ¶|#ñÆß¡_O¸n(m¨/¥O °g76›lîd¹'pm ~+doÀ^Ÿ·>‰å‰Š_;®-&[“ }fVè­èìéôŒö¼™t+Yc°f“É&Ú{!È0 LAXrE2#Ñeº –F;ßã $W$˧T¤°3³ožúùê.Å+µXgñµ7×ð’¸Ò8FcCGÿqÿR( …í=íQ•ºŸªÍUŸ‹§à¬ç|9þrrEò AΟ4O#À\ÁÜç­OMk ]¶šn¥ã迪‹ÔµêáªÄòDmqm]q]CFuÆõ„ëñ¥ñ·oó°ñ|KãÒÊ$ùµt·s ³1±QJóJ@sW3ö_Q.QF#u)^)ê͆Ž2…|6ælÿö©§_ôÙ‹À Á#‘Q1hbÜbÔ›Øp©—Dc—oœ'q'ùNbyâjýÕû-÷ã…Wß\uw¿qƒÆŒ ôC™‚ ?0nVª.Ru2QÖTØoÞ; ;êòÜÚ\êI‘þÙþ« Vã78¼’¼ê;êñ¹¬Œ¬Xï#r\ß8O ;(/ˆúIÀÜ@¥Ô™È&z&ÑÚÚinnNgý†††ÈÈH{{ûÑ Az­1Xó"çÅõ„ëII“%&·u·…„6t4èˆëI€³žó‹œgcÎÆ•ÆáÏn°1q7d£ÉÆ—y/]ÝH» IDATž¹x%zi‹is±qÕµÕåÈϨʸ±è†V™ÝÎËÎJÅJˆ(”]“WG Ö¬Á>•â•b 0x¿õ&õ’øØù ßzCòó$lÕl¥?ÂO ámÕÛÄòD°U·ý––¤¿‰žI¨¨¨„‡‡ËÊÊŽw ‚ ‡ºˆº§ç¾€}é•éø¸=¶ž6SKLËÍÚíHБÄòDìRª-®=W}î_!áHòHÞv¼íòÌ%³:3³:/WVÃÓX­¿:º8Ú/ËÛÄÖ“À—µàeç¯9ßç­ÏíäÛXÉ8®Åi"krÀòÀɈ“Ô§…‘À¸iê¦þki È7šè™ý‚Œ»þïݰV±6‘1‰*Žªhª`abÑÕì³Æ¥ƒ–ƒ©¬ixaxkw«¢ ¢¹‚y~]þ6ÓmŠŸç@¨‹¨¬ HyŸ’YÙÙÓ)Ê%ª"¤¢&òÅÒ ¬L¬·oGGçÕæq°p˜+˜S?‘ÇlŽÍUŸ›]“ÝÑÓ•ÈðÉl3ݦ+¡K] +ÔÓ©s2 Uú«ì'ÙÇ–ÄV4U€·˜±Œ1zã2&z&1à<‰ÈÈȳ²²êéé­[·NDD¤ÏŽUUUÿüóOZZ‘H´³³[ºt)þ‚ £gÀ÷np³q۪Ѵã×…5aµþ 4„)’S°Ù_Ã@`˜.?ýkëmYY¼KúT°p4ð±óÑ>-2"&z&Ñž„‹‹Ë™3gðMçÏŸ›˜|þס¢¢bÊ”)UUUئ···ŸŸßÇQ2 ‚L4 ãÀ÷åÉ“'gΜaffvqqñóóûï¿ÿfÌ˜ÑØØèààÐÕÕ…W;wî??ÿÕ«WŸ?þçŸrqqy{{߸qc#GAq1ÑÇ$ú¸rå \¿~}ùòåXɲeËfΜæïï¿·LTTôÍ›7œœœ0gÎSSS ‹k×®­Y³f¼"Gdô 8ÝA “øBzz:DzeËð°nÝ:ì#¼pÑ¢EX™1c†œœÜÛ·oÇ2TAÆ –IèˆëŒw ò=B™ÄºººøøøúLwàççÇ>ÂKxyyûìÈÏÏO]AA&”I|A\\¼²²òýû÷Ô…‰‰‰ØGxIJJ u…ÖÖÖ¼¼<ê ‚ 2A Lâ VVV ÅÙÙùÇXITT”»»;ö^íéÓ§7oÞÄ~noo_·n][[Û¬Y³Æ<^AghÆåvíÚu÷îÝiiiUUÕ–––¢¢" …²zõêI“&áÕtttV­ZuðàA11±üüü––"‘¸ÿ~-#‚ ÈO I|ATT4**júôé©©©………ììì{÷î½|ù2uµ+V:tèÇIII---JJJ¯^½RPP¯°Ad¼Lô1‰ÎÎN`aaÁK”••#""ª««±5.ÕÕÕÙØ>¿ìÇÀÀ <<\QQQRRò?þÈÏÏçääTWWGkR!‚ ÓDÏ$°Ù”¢¢¢}ÊEEEû???¾ &//¯Á(ˆ ‚ ßµ‰{w#,,lÊ”)»víb``˜1cÆx‡ƒ ]Šê‹–Þ]ê›á;Þ îû 5¿.ÿRü%ç‡ÎKï.Å_ Š #eâŽIÔÖÖ¦¤¤033{xxÈÉÉw8‚Ð¥ýc{By‚‘ŒÑx2¸ï$T;/»¬š,|³¹«yƒA~J7“°°°HHHPUUåââïXù É Èß]zW‚Gb|èm¯UT²T²Ì­Í(Œß`ŸÒÄÍ$„……………Ç; A~Zœ,œ†Ò†ãø9û …àè«£ã òsš¸™‚ ?„ò„çÙÏË›ÊYY4Å4—è,䤮”ÔÚݪ$¨´RoeÁ‡‚Kñ—¶OÛn 5ȤéôÊt÷p÷z+&KLþ/ù¿œšŽ™J3çªÏÅŸØÂëèKéßI¹“U%Lv³v+ª/:øòà­ 4ÐêˆÃÒ=(“@äÇöwèß7oà›¡¡^‰^W®N–˜Œ•ìy±ŸöUå›áë¨ã˜PžÐÐÑ0hãÍ]Í å šbšÿYÛV‹æ†¼ 9gwK&°:ZâZxuuhžÄ ¡ö·üþrr/™F„¼ì¼æ_ô@dô LAØ«üW7o010­Ô[i mÐÚÕê“áóºôõ–'[Â7„³2±äøfø²3³¯1X£%¦ÕØÙx;ùöÕ7W‡ÔË­¤[rürÛͶ q eÕd]}s507ÐGÞÇA˯s3ñ¦¿Ü6ÓmÒ¼ÒÜlÜÃuÀ®Êhg£=¤ ƒB™‚ ?°iàøìãö“ì±; »VėƇ„ÎVý(ýœµ;k¡hU˜«>×ö†ma}!ý½…¯|ÌÎÌ3gèIê-»¿ìaÚCêLB˜(Œ×^¨îuÛñ6…B¡3#3ý‚ £e‚üÀrksÙ™Ùí4ìð°DgI|i|NMÎlÕÙùuù¼ì¼x̌̿ªÿêíI/³UgS§F2F’<’yuyÔu¬U¬i¤ô„:à^ƒÎä@q7œLbãÆ...# ò]ú }×?™úü|¥ñŽaÄt“º¹Y¹û,WÏÃÆƒ}]¤.^6Þ>{aè×ÿn/;oeK%u‰·Ø7†: 4Oùþ¡1 „ùW G~\iiiãÂH& ÔÔ´ÕˆEðÂŒê áÁ*×7u6ñ²Î'¨Wj¢GVõõÛ?¶Õ õ™ˆACš'|ÿ†“I\¼xqÑ¢E# ò½!«W¯ž={àAWäµeË"‘8ÞQŒ39³wÞí~¾ÛÓΓË/¿¾Œ}¦²¦ ¼Î|”]­ ¨ÐØÑXÑ\¡.¢ž]“Í@ ÷ÅCjÂj{^ì9yF˜K¸¸¡¸­»ƒ™c£ñÆ‘ u@ß>OâBÜ…˜â(i,÷p÷Kñ—€žå4„÷ ^‚ü„ˆB÷îHt‘º²k²ËšÊؘØ6op³vÃ*ˆr‰Þ\|SA@¡£§#£*£ºµú7Ãß°éØ=æMš·eê–ÆÎÆŒªŒ¶î6Y>Ù[KnIóJl¨£¤°¾0¡]¤§§ÇÅÅ577ËËË[ZZ @CCùsç ¨×dÄ ŒŒ¬­­ËÊÊnܸÑÛÛ[TTtôèQ¬‚³³³¬¬lÿy$)44433“L&«ªªÎš5 ƒD"¹¹¹©ªª.Y²$77÷Õ«WÝÝÝÆÆÆ¦¦¦ƒžœÖÖÖgÏž•––JJJÚÛÛ“ÉdOOO-VÓÒÒR^^N#žAœºeuuõcÇŽáÕ–-[æååÅÄ4pBI Î;‡VËþÉ`«e{{{K#……ƒ¼’{ëVøçŸšoéAGçßM…!<9}ÚÞÞ¾`Á‚ÞÞ^___,(--µ²²jjj200044deeMNN·µµÍËËãææîéé±¶¶NOOçââ²µµ•’’*-- IMM]°`Á JKK9r¤ÏŒKYYÙ>Õ:::fÏž]ZZ*--mccÃÂÂ’““ckk›••%&öéu¯_¿~ö왆†Æû÷ï½½½¯]»¶dÉKKË{ommµ³³«®®VVVž5k‰D Z»vmÿšñññ~~~VVVÚÚÚììì$‰žxèççç‡Å\^^þøñã;wî())>|˜þFA„Úˆe?NJJrtt¼}û6###V˜””dllìééùàÁ˜7oÞ®]»Nž<éîîž–––““sçÎ ¬ò‰'ššš.\¸°qãçÕìÏž=»}ûö{÷îmذáÑ£GéééaaaøM“ÖÖÖA=ÂHKK=zÔÍÍM^^¿»Ñß½{÷JKKMLL^½zÅÉÉ ===ŽŽŽ¾¾¾/^üóÏ?±jµµµOž<±³³Ã6­¬¬V®\ðµLâþýû•••ÖÖÖ~~~,,,ÐÑÑñË/¿ÔÖÖö©Y[[{ûöíeË–a›×®]£'zÔÕÕݼysåÊ•Øæ›7oLMM=<<öïßÿµa A¡mÄ®!!!@$;† øS( …ÂËË›””„W;vìXBB¾}û`Ó¦MNNNÔ-011ÕÕÕ¹¹¹aû@kk+`-„‡‡À‰'ð4¸¸¸tttFê( ..\]]±Ë6033;vÌ××766¯¦««‹§€Ý¨¬¬üZ³ñññpøða,ŽÌ™Ó÷u‚ÊÊÊxA<ôPRRÂÓ044´··÷ññÉÎÎÖÒÒRS‚ ‚±L¢®®hOFFÆ%K–DFF200¸¸¸ôiD"9r¤ÿ^ÍÍÍP__***#ó€@^^žºP^^ž@ 44|~á””uì5Í===´›ís3¥ÿ½PRúb1|:㡇œœÜ€%X‚ 2 #–IðññÀ¦M›„„ú®'ÏÁÁÿœ½sçN™ŠŠŠeË–EFF233ã-twwïÚµ«ãêêê€=£‘——7àL¬—¶¶6ê²²²áHQQõÅ»¨¨ˆB¡ðóóµµ>Í–””PÏl())é_³Ï†Aã¡ÿÀ©§²R—`] ÈO/£*cÞ­yÛL·m3Ýö½µ6.ËgÕÑÑ™3gNWWW```WWWŸ8SSS—/_.''ÇÀÀ€­'A]aéÒ¥nnn111êêêø³ÙÙÙ|||ÔSA‡ÊÑÑñÈ‘#ššš³fÍ"“É/_¾Ä¨_OÜß ñÐyà $$äììüðáÃI“&•••=~ü˜D"íØ±M·D&M1Í‚½ãÅ÷‚À`&g6oÒ<-q-1.±ºöº{©÷®¼¾r*âÔ"­EDVâxˆü0FìÂÄİzõêgϞݸq/—000€³gÏ>zôhóæÍŽŽŸ²à›7oêéé­]»V[[[EEEVV644tùòåÉÉÉÉÉÉx :::ØÅž™™900péÒ¥‘‘‘÷îÝÃ>åææÖÕÕÅ~>~üx\\\~~>¶ô‚¼¼¼——— uœ;vìXµjÕ;w°Mssó>™G@@¶~Ã¥K—°BqqñG é‘Ë>¸¸¸ž>}:wîܼ¼¼¼¼<=}úôòåËñ©”¢'zLLLTUUÝÝݱ'''´¾'‚LLR¼R^‹½ðMIÉÝæ»ÓÞ§%”'6j‹ ðþtÐHþ2*((èï›]WW'$$¤¤¤dffÆÈÈøñãÇöööÿýï;wîÄëóððøùù=zô(-- ›G©««›‘‘—œœÜÞÞ.))©¥¥¥­ýùhqqñˆˆˆ¤¤¤øøøŽŽyyù™3gâ·ùUTTòòòž>}ZYY)''ggg×ÕÕuäÈ###¼…•+WNž<9""¢±±±··K#ú¼wC]]=+++$$[SREEÅÚÚ_S’‰‰éÈ‘#ªªª_œG&¦#GŽÐ¾M`hhøîÝ;ÿòòrIII;;»çÏŸÕäÍ[4:süøñE‹EFFöööN:µùÎEE­~´ú€å!hœšŽ™J3wNßÉÏÁߧކ¨†G”GVu–¼€üSç§ýg6t‘º®¼¾ò"çEyS9 ‹¦¨æ:£ufrŸ—°£P(3û¼ý¿öî<®©+íø ! a û¾ƒÈfÁ¥°.uëVÔjëÔªm-Ó±u;oµoíTß÷Ó*¶.µbÕZ¬‚¶¶"jÕ"в#û’Ⱦ…}Kòþq}3Ä$¤ D~߿ȹç>ç¹\%Oî=÷$öAý‘Xälâá±Ô{)F<·t~zLfLæÃÌšö]¦®Ÿµß†i^°y´°žH,:sÿL\v_È—H$ö†öaža+|W°l…[ŸA1Ö6~šƒ‚ºÉ5.A¾üü|{{{éˆÆÆF.—[XX˜••5ÚaJ׸üé§Ÿ”ß k\>—Ô}KªJ˜7qÞµ¢k"±HÚîlì|ñ‹Ú íÿèSxM$B<Ì=.­½4¨’èõ¿óZ† C6>FÛýòî•~+ !‰äýKï_.¸<(‡“'Ekèh˜þÕôA=é4ú÷+¿° „ì½µ÷ØÝÁO·}<çãÕ/¬V¸uHnûÜd3Ñ1I}/UN)±DÜÐÙ›ûåí/ƒ‚£—G+ÞÔÓ˜^ãŠÿüóÏgÍšåààP]]}ùòå–––™3gb-€áºòàʯ%ï¼øŽ™®Ynmî®k»  ¦ý{ðßeû,óY¶~êz;Ž]cˆK§ïÎdXé[ízy×Û)í½íç³Ïuç«=7öÌqcªk›{¹à2‡Íù øƒÎ38lNIcILf õÁ}Æuä®ya‡¹‡‰Ž‰°G˜V•¶õòÖ#)G¨JâzÑu6ƒý¿ùß^ÔÔЬh®ø9ÿgmæ£GÛäo=¥M¥sÍ¥~fi²Vù­Ú6sÛh ÏTO§§gOOϹsç¤-þþþÒ <+ŸÏçNÍV° 8²äÈœoæ$&ÈV¾V¾Ÿ…~&gFs|AäoÒŸœ'q8åp{o{¨[¨ÇŽÍ`7t6Ü(¾±?i?!„š"  $T ~BÝB/æ^ŒÍŽ•¶8;o˜¾aXAVO^ð áÞÃ{ëί“mÿhöG¦º¦„%^KK v^Ù)Ûa¾ûF¯ð[‘X–¸ûúîÝ×wS-æL'ÔwÔS/ójóî?¼?h¯W}_Ufëhhín=žvü›Ôoµ‡{†Ë®¨ * P?/ؼáñeÒ—…õ…l{¶ëì-3¶P‹I(AgœZqê›Ôo~-ø•ßÊgÒ™^–^ë§®v ¦:hÐ4.:x.ûÜù¬ó… …t º³±s„oÄ4û!–t›í:û‹…_|s÷›Šæ }-ýY®³> ùðõ³¯K;Ä­‰û1ëÇÔªTA«€Í`;;-õ^ºÄk‰2[GæÀMv†v—ó/—6• {„6ÇÓÜó¯WL\0zƒÂs +SÁaeªçÒó±2ÕÎY;׬ñàϽ±²2UJJŠ {:ºðåVPwµµµ...Ï: x~¨RIìß¿_úUàð|;qâĉ'÷µ‚JFа+‰áÞ €çf\€: v .Ù^ò¬³€ÃÊT :T :T :T :T :T :T :Tj© ¾ ŠUÒø V×x†CÄJ@-å×åGñ¢JšžÁÛù3Æ T :T :|﨓ʖʟó~v ö±ô¹[u7¯.O‡©3o⼓œôµò v ¦º•7—ÿ’ÿ‹!Ûpõ «©–ñÀ¡äC®&®ó&Î{j‰EøFHóɮɮi«ÑeéúZùN²˜ôøŽ¾V¾w«îf×d³4YÁNÁ†ƒ†¨m¯½Ur«­·ÍÕÄ5Ä)DùÚzÚx<~+ŸAgxYxØ ÚWNzÊ ã* P'•-•Q¼(&¹?i?¯œGñ4÷\î³üTÆ©¤ò$i%ñsÞÏ_ÝùŠ®A÷ ××Ò'„Üx?еuÆÖ'E>È;(!ò¾ëX›¡½nêºa%áÑÕßµ>v}jeªlç`§à¯_ùšÍ`Kwd3ØGRŽüVüÕ®Aÿ×¼-öZ,Ýå|öù¯~Ü'ê£^úZù.ôX¨Lç³Îï¹¹§£·CÚ3À6àÐâC†lCBˆÂô”Æ9T ~¢Ó£»úºz,´ãØYèYhÐ4^´ñjÑÕöÞv=–!$©,É–cËoå'W&‡º…B’Ê“!\Gî“b~•ü•H,’3¨‰Ž‰œJbÈÄ!½©•©Ð&ö!8IDAT“,&¹›¹›è˜´õ¶¥U¥Ý.»ýuò׆|(»cGoG¸g¸¹žy^mÞŠ;_ûx΄9Ôád×d”ð‘H, ° ð¶ônîj¾Zxõëä¯&ð[ño;®ì Óè/¹¼älìÜ7Ðw§âN:?}˯[¾]ö­2é)?4Œ[¨$@ýt÷w_Z{ÉÉØIÚÂuäÆ?ˆO®Hžë6·­§-·.w댭ÑiѼrUIðÊyFÚFîfîOйéÅM ¯I¨˜.K÷üêóz,½Œ‡MM :#tb¨à®àfÉMÙJ¢_ÔeÝêåöøí±Ù±éüô™.3 !ßýñH,ŠäFFr#©‘ÜȰa ý6”Í`Ç¬Š‘Þ°H$›~ÚtµðjiS©³±³Âô”Æ-T ~Â=Ãeß­Éÿ_làUðæºÍM®L‰E\GnQCu_Ø#Ì­Í]ྀF£=)æ{Ü÷F#1 šÆñ´ã … ƒz6v6ʾ\’égí7äÖw_|÷ÞÃ{²K4úÛøS/N³ŸöLã°9¿üõ—›%7+š+ôµôƒ‚­ô­Äq[O›œ©FoKoiË2ïe\î­Ò[í½í.&.3œg5Er#]Œ]ä'°Ðcᜠs’+’Ë›Ëű¯•¯t‚§Âô”Æ9õP€òJKKåwxï=sBÈÁƒuO%P–’ÿ7•‰» :T :T :T :T :T :T :T :T :T :T :T0î”5•­<³2.'ñÇ,õ=FõÍ\e¨$`ÜéìëLã§=>¤^6®<³ò§ÜŸF)¾BÃM`¸ñÕ‘ú£úf®2|«8Œ;NÆNgVž±6°¦^¶÷¶§ñÓŸU>Ï<1hÐ9‚± •Œ;:L©vSŸu ΑA%j£µ»õ ïÌrõæ”7©–»Uw$0Ñ1‰ZEµtôvlˆÛä´qúƬꬽ·ö®ñ_`ðý½ïójóÌtÍ> ý´¬©ì£„–x/Yâµä§ÜŸŽ§'„œÏ:§üä‡U?P?”7—ÇåÄ5 ˆ—z-u7wW!ó®þ®_òÉ|˜YÓ^£ËÔõ³ö[ê½Ô@Ë€"?å¥ñÓ~Íÿ•ßÊgÒ™^–^¾&:&²âÄ_-¼ÚÞÛîjâúºÿë%%GR޼üþÛ)*‘2¤¿ÿÉÖ“Oeœ*¨+ÐfjÏvæF£Ñõ‘sŽ”?F99 Š«äÖ±»Ç>Õ¸9d³¿¿ì¾Óì¦Ê8•]“ÍÒd½äüÒ¯%Òü•4ÏÎB%jƒÃæÔ´×œË:'­$®<¸’ÆO#„ln£®„§T¦Ü­ºæFöÓøiÞVÞŸ\ÿ¤¾£žâaîAþÿNö4ûi„‡m ê !¡@ È÷Ãýv_Û-’ˆ¨—·Ënïû=¡{–z/VÚ­Ý­!‡C:û:¥- … ÇÓŽŸ[}ÎÆÀFNÊûìÆgÑéÑÒ—7JnœH?qlÙ±ÉÖ“©–m—·IçÞ.»—·ÂwE?­¹«YNØÕ1«Eb‘œ6çÐâCOÚJýþ½,½¤¿BÈ•W~+þ-*<Šz3Væ)yŒrrx<~CgÃã‡O5¶tµÈî;Ùfòç7?—žš«…Wsksw½¼KΠƒŒÒÙ;PI€:á:rcîÇT·U[é[BîTÜ ° Hç§ß©¸³Üg9!„WÎ#„p¸Ò]¾KÿÎÑÈ1’iDZÓ×Òp‘ç"=–Þ'×?Yæ³l‘ç"iû½‡÷v]Û¥ÍÔ^é·ÒÇÒ‡IgæÖæžøãÄ?¯þsšý4åsîõ3èŒ7§¼éaîa¬mÜÖÛv·ònLfL/jß‚}OJ@y׊®E§Gkjh¾îÿú»)í=í±9±©•©›.nºµñK“ÿ >.'ŽÍ`¿9åMoKï–î–Ó§Ý=¦0r?M~%¡ð’!ää'ßzßTÇ4¯.ïØÝcW\‰uŠ]æ½LÚGþ9Ræåç 0¾ßÞýÖÕÄõ³yŸ™ë™çÕæJ>tæþ™õÓÖSÿ½³3v ’uÂuàÆÜá•ó–û,¯n«.o.ß0mƒ°G˜Tžô¨’¨à9:ÈÎÔ3Ó5»ðú6ƒ=d@kkêCªìùè´h±D½!„ëÈ•ÝÅRßR…ºúºDQrEòã›zú{†*êN”@(˜n?=Ì3Ì\לIgÒh´íñÛGª’èèÕgéšHMçìè%„ô ôp´8ƒö¢:È÷'çIP¿›ÀasªÛªe[ž#…ÇHÉ®É.n,–níêëR>>eȃô‹bh0!b‰X™€Êd®òÙ;PI€š r ÊäefUg¥V¥¾2éBÈ»)L:óNÅüº|º]všž2h„FtßRß²OÔwtÉQº}P#m£aÅϪÎâ°9'#NjÐ-ØÕßÕÐÑ ÅÐ’“€òÌtÍJšJê:êÌuÍ¥9µ9„s=sªCySykw+‡ýïw¬¼º<…‘GdžD^í ÔÙ×YÖTf¦k¦pGY ‘²wÁÞîþnéV[Ž­œ€T}ÓÔÙ$Û8èJɈ½³3v ’5èxwðpÊáÖîÖ Ç Bˆ–¦–¿­bYbIc‰¥KoXµÚ„ªÖ*ÙÆ—'¼Å‹J(Lø äéÄöÞö‹¹©G•g ePÖTVX_H=AÚÒݲ#~GÏ@´’2å97oýuëþðý†lCBH:?ýhêQj!„ëÀ-i,Ù™°sß‚}:LBÈõ¢ës.*Œ<"ó$®_ˉ£æìîïÞyegW×ÊÜ# ‘âmé­|@;Ž!ä|öù0Ï0êÌÍ’›?fý8¬¬F$s•ÏÎØJÔŒŸµŸ.K÷fÉM&`@5r¸û~ßG»µ¡ GcG6ƒ}!çBnm.uù‡U?¬›ºîzñõîÿp.뜃‘ƒK¯¡£¡¦½F$E/VSÖ,—YéüôðïÂÝLÝ!åÍålÛÚÀZú\è (ÿ­©o]Ê¿t§âNÐ×ANÆN½|!_"‘,óY6Át!dÝÔur/\-¼šT–älâÜÒÕ" <Ì=òëò¥—I†4"ó$ÜÍÜ·]ÞöEâfzfåÍå½Ú íaMY%J£ Yyš{æÖæ v2vjìl|(|ècé“U“5ÜPoüø†H,:½â´j™«|vÆõÈÔ NÄâá-Ý3Œà4úTÛ©„[é4:iè0ì5§µ4µþ1ó,MVQCQ?Z B›¡³2fÕäU :£¤±äþÃû¡@¥÷†ÿžžÃŠ¿vÊÚW}^•IA}AA}•Uôòhê㩜”gªk³*fŠí”žžüºüªÖ*-M­Ó7~ú)ÕÁBÏâ»W¿s6vîêïʩɩm¯}kê[Ô,EêCð¨zeÒ+›7µt·äÔätôv8:œŒ8I]PžÂc.¶wÁ^{CûöÞö¬ê¬ÆÎÆÍÁ›_õ}U…PiUòNÙX;;">ø~ÝŸESùÎŒ[¥¥ ^øç?M++§NUËï¦2PðPøÐBÏÂÞОj‘H$é‚t‰DâoëO§=úKÙÚÝZØPhoho¡g!»{g_gnm®µµì²]ý]¥¥Ý݉DöiÌ~QiSiw·…ž…¹ž¹2‡ŒßÚÝZÙR©¯¥ïhäHÉ­Ííè}Áæ… (ŸÒÐÑ  ˜šLc—!—X(m*íèë°çØsØœõ±ëo–ÜL|;qô¾ÛâvÙí¿žûëÎY;׬mëi+o.×fj»»ÈN?Ö9RæyR|ŠD")n,îèv2rÒcéÕwÔ—7—O0@ÕyCîK5:9Hç=¤óÓ%D"½~3ÆÏÎêÕVŽŽýŸ|Ò ¿›³³³ò1QIÀ°)¬$Žåœ>mÀãU>|@¡¸œ¸éöÓ©%Äñ©ŒSŸþö©“±Óµ·®Þ ²•Äèòxšg'0Ðþ7„o½Õ*¿Û°* Ì“€‘7iRom­fm­¦…ÅÀ³ÎeäU¶Tîˆßñ¤­þ¶þ›ƒ7µø … Ûã·[ë[iUµVµv·Bþô÷?“'Œ”§vvjk5ëê4=CC‹…¿Eªè页´Ð‹Š˜©©l@s„¾ ZÃÂÚib%|(Œ®?SIHee±nÞÔÉÌÔ*.f …XÀ @5,–ÄÀ@ìêÚçëÛ3sf§ÏÜ:Äw€ðñé‘?yðlaž¨•¨•¨•¨•¨•¨•¨•¨•¨k\À°éêê>ë`¬À÷n€êpwT‡JT‡JT‡JT‡JT‡JT‡JT‡JT‡JT‡JT‡JT‡JT‡JT‡JT÷Â\‘²¾{›IEND®B`‚fio-3.39/examples/cpp_null.fio000066400000000000000000000001441476262051600163660ustar00rootroot00000000000000[global] bs=4k gtod_reduce=1 [null] ioengine=cpp_null size=100g rw=randread norandommap time_based fio-3.39/examples/cpp_null.png000066400000000000000000001030521476262051600163770ustar00rootroot00000000000000‰PNG  IHDRû-<¹ bKGDÿÿÿ ½§“ IDATxœìÝwTTÇÛÀñ/½ª(]A@ÁÞÐh,Xb/ØK{ÔØKÔ4£æ5Kb‰5ŠšØPQ,b°÷T0ˆ"ŠÄìûÇÂʲ  ‚‹ð|ÎñöÞ¹sgö>ȳwgæê) B!„Bˆ‚f£¾®[ „B!„È’ì !„BQ@I²/„B!D%ɾB!„”$ûB!„BP’ì !„BQ@I²/„B!D%ɾB!„”$ûB!„BP†ºn€Bˆüéûï¿çï¿ÿ Q£FL:õµÛßD¡P°nÝ:vîÜIll,IIIL›6o¿ýVUî—_~¡råʹÙ!„(´$ÙB‘©ÐÐPBBB°±±yãö7™0asæÌÑØ~ïÞ=U}=Êi“…Bd ɾBˆ<÷ôéSæÎ«z=xð`ºu놾¾>ööö:l™Bl’ì !„Ès$''«^;ž?ξ}ûTûdBäIö……ÞéÓ§Ù²e ¡¡¡$$$àââB³fÍèܹ3úúÊu 2ŽSŸUtïÞ]dú¯K—.ª²éËuìØQѱcGòöööŠ‹/¾Õ1ÚH_o§Nü±F½¶¶¶ŠØØXÕ1~ø¡jßðáÃÕêK|‡2=OçÎ߸=+åË—Ïò=ÎìßTÇ>~üXѪU«,ËZXX(Ö®]›­÷O! ‘ ²ô¦¢Ð0`ëׯ@OOþýû³iÓ&þøã†΋/2=.00[·n±aÖ/_Žƒƒ±±±ôèÑ…B‘+ÇhcÇŽ„……±~ýzæÎ«º[~÷î]~úé§LIû¶â]ùý÷ßY´h‘Ú¶?þøƒ}ûö±oß>6lØå±}ûöe×®])R„Ÿþ™­[·Ò¥KèÝ»7‡Ê»!Ä{L†ñ! ¥ððpþøãÕ믾úŠ~øAõºGÄÇÇgz¬‘‘;wî¤xñâ”*UŠV­Zpþüy8@Æ ßúm°k×.ÕP–ãÇ«úõï¿ÿfzŒžž^¶Ïó6j×®MJJŠÚ¶>øWWW¢££3=îòåËøûû«^ÿüóÏ 8€öíÛS¥J.\¸@rr23gÎ$ o: „ï1¹³/„(”Ž9¢öº_¿~e,--3=¶fÍšª¤ I“&j ôéÓ§såmx{{«YOÿó½{÷rTg~qôèQµ×-Z´Pý¬§§ÇG}”eY!„J’ì ! ¥„„µ×VVVZ[¤Hµ×ÆÆÆ«^'&&æÊ1ÚÈ8¹×ÐðÕ¶Y ʸýùóç9:w^{úô©ÚëŒïaú×Ë !„P’d_Q(¥ !IsæÌ­ˆˆP{­–0;99åÊ1¹ÉÈÈHõsÆÄøÒ¥K¹rŽƒâãã£ú—Õœm¹¸¸¨½W{þ=ÍXV!„’$ûBˆBÉÇÇGíaNcÇŽåÚµkª×±±±,_¾<Óc/_¾¬šØ«P(ø¿ÿû?Õ>cccµá%osLnJÿáæðáê„ݺuËbæTÚ“pÓþe§Ÿ]>>>jß\L›6MõâìÙ³jãù»uëöVçBˆ‚J’}!D¡dff†ŸŸŸêŽ÷… ððð J•*T¨P'''þüóÏL­\¹2Ÿ}ö•*UÂÕÕ•eË–©ö?^µÒÎÛ“›:wî¬ú944”²eËR©R%† BõêÕóôÜ9ennβeË000 gggjÔ¨AíÚµyöì œñÅ_販B‘oI²/„(´Z·nͱcÇhݺ5†††¼|ù’óçφ§§'#FŒÈô8IHHàúõ똚šòÝwߩݱÛcrSÛ¶m™6m&&&ܾ}›çÏŸ³gÏ*T¨ççÏ)___öïßOÆ ÑÓÓãÎ;œ9s†—/_beeŸqã ÁÂÂB×MBˆ|IO‘ÓÅ…¢ILL$<<\õÝ’%KªíïÑ£‡jNçÎÙ´i)))\¼x‘ÄÄD*T¨ ±zONŽÑFhh(wîÜ”t+V¬¨ÚwõêUnܸ('°Ö¬YSíØ§OŸ޾¾>+VD__Ÿ°°0bcc°±±¡R¥J¯=OVÛïÝ»§6$¨aƪ5ý?~¬¶âÐ| z&ÀóçÏÕVGª^½:ÅŠÓèw\\W¯^åÙ³gX[[ãááñΟ „ï™’ì !„2KÜóâ!„"m”‡j !D>pöìYFýÆróæÍ£Zµjï EB! Iö…"ˆ‹‹#$$D«rB!„¶dBháuãäs㘸¸8Ξ=ûÆ:«U«–­€ !„(Ôd̾B!„ÔFYÆ@!„BˆJ’}!„B! (Iö…B!„( $ÙB!„¢€’d_!„BˆJ’}!„B! (Iö…B!„( $ÙB!„¢€’d_!„BˆJ’}!„B! (Iö…B!„( $ÙB!„¢€2|›ƒ9Â7r«-Bñ^qvv¦nݺºn†B‘¥·Jöþùg6mÚ”[mBˆ÷J—.]ظq£®›!„Bdé­’}?vBˆÂ©k×®ºn‚BñF2f_!„Bˆê­ïì !„È}±±±ÄÇÇëºB!tÌÞÞKKË/wö…B!„( $ÙB!„¢€’a..ŽíÛ·sóæM\]]iß¾=ÀÇÅk{ž{÷î±páBÕë¡C‡bmmÍ®]» ÅÑÑ‘Æãää¤uÛ„B!ò#IöEž‰ŒŒdÀ€ìÛ·OcŸ££#Ë–-£mÛ¶jÛƒƒƒéÞ½;÷ïßWmssscÍš5YŽ‹ÏîyîÝ»§VWƒ øê«¯8qâ„j›……ÿûßÿðõõUk[·nÝxðàFÛ„B!ò#Æ#òÄ;whذ¡*÷ðð`ìØ±tïÞ}}}nݺ…¯¯/ÁÁÁªc¢¢¢èر£*ÑwvvfäÈ‘T¬X‘nݺåÚy2êÓ§fffŒ5Š’%KÀ!Cxöì™ZÛÒ}FE•*U²l›B!„®É}‘'~üñG¢££(_¾<§OŸÆÜÜ€Š+òÝwß‘œœÌرc9wîóçÏçÉ“'€òÎú±cÇptt`ذa,^¼8WΓQÍš5Ùºu+zzzôèуºuëÊ'˜^¹r…*Uª¨µ­H‘"œ8q[[[FÍüùóßþMâR( :Úˆ7 yüØ…B×-âýea‘‚M2îî/06–_&‘¿H²/òÄîÝ»U?/^\m¼}TT”êçÿý—˜˜J–,IHHˆj{«V­T‰>@ÿþý3MösržŒ „žžåÊ•SÛM•*U4Ú––èƒò›IöÅû 9þùÇ‚íÛ-9pÀœGäË]!r“‚š5ŸÑ¼y;>¡X±]7IIöEÞ¸wïžêç£GrôèÑ,˦%áéǧOôrí<¥Ÿˆkll¬¶/%Eùuú¶ÙÛÛ«•±³³ËòœBäÁÁLŸnÍõëFÔ©“Èðá©^ý../)V,}Éû…ȱ„}nß6àâEöï7gîÜüô“5Ÿ}ÇgŸ=ÄÌLîö Ý‘d_ä îÞ½ @ýúõiÚ´i–eÓù%JpíÚ5@9?½Û·oçÚy2200Pýœv‡?£ôm‹UÛ—±­Bä'QQFLžláCæ´kŸß-\\^êºYB()”-›BÙ²/iß>ž„}Ö­+Ê¢EÅÙ´©ß~{æÍtÝLQHI²/òD‹- ”wÅ¿øâ ,--ÕÊÄÄÄpáÂÕuNŸ> Àž={xðà%J”ÀÏÏ/×Γ 6Tµm÷îÝܽ{W5”gõêÕ9®Wˆ¼tø°#F8P²äKþøã&µj=Óu“„(,,Røì³8:v|œ9Ö æÀàÁ7îYÜS"ÏH²/räèÑ£L™2Ec» ÇçË/¿dÆ ÄÄÄЧ§'íÚµ£X±bܼy“+W®pâÄ š7oNóæÍ5j¿ýöOžúè#UÙ´±õ99ON¸ºº²yófzôèÁÇ‰ŠŠRµmýúõ4hÐà­ê"7mßnÉ·ßÚ2bÄCFŒ;‰BèZ§NOpv~ÉçŸ;òÅö,Xp[æÉˆwF’}¡µÉ“'¿±Œêç2eÊÌ•+W8rä111˜˜˜PªT)<<<¨^½ºÆñÍš5ãêÕ«¨žRÛ¡CŽ?®V®T©R9>Z_ÒO°566VÛçáá¡ú¹yóæ\½zUí º:tÐxo2>ÙWˆwéüy¾þÚŽþýã9òÁ›B¼ÞÞÏX²ä½{—dîÜŒ'¿ŸâÝÐS(r¾ºr×®]ظqc®5HnGŽ¡bÅŠ-ZTµíÅ‹´k׎¿þú ///BCCuÕD!€¼ÿÿ/66–øøølg@Ë–ÎT©òŒ%KäΡù‘¿&N´cáÂÛ´h!“vÅ›ÙÛÛkÌĞrg_ä+K—.Åßߟ&MšàîîΓ'OæêÕ«€råœyóæé¸•BäOsçG_~þùŽ$úBäS:=áøq3~øÁ†† ŸÊ²œ"ÏI²/ò•úõë³}ûv¶mÛ¦±ÏÝÝ… ¾ÕD[! ªðpcþü³(?þxKKyùÙøñ÷iÖ¬4¿ýV\†Û‰<'ɾÈWÈ'Ÿ|¾}ûˆˆˆ >>kkkªW¯N­Zµ²\_ˆÂnΜTªô_ß'ºnŠxÇ®^½ª¶ÁÎ;ñððÈr»Ð=këd†}È‚%èÓ'Nž´+ò”$û"ß155¥U«Vºn†ïÛ· ùç æÍ‹••w„xOôêõ˜… ‹³ukúôy¤ëæˆLFu !Ä{.(È3³š5“É~B¼/,,Røè£öì±ÐuSD'ɾB¼çŽ5ãƒ12’‰~B¼O4xÊéÓ¦¼x!_ɉ¼#ɾB¼ç.]2¦B…çºn†ÈàêÕ«¸»»«þ]¹r…àà`|}}©T©7fÚ´i$$¼úFæÐ¡CjÇ<|øPµ/**Jm_XX˜.º%rQ¥J/HJÒãêU#]7E`2f_!Þs±±8:&éºâ Ö¯_ÏêÕ«U¯oܸÁªU«¸}û6 .ÌôY” `spPþÞÞ½kˆ—× ·FTrg_!ÞsÏžécn.Cxò»€€~ÿýwNŸ>ÍÀUÛwïÞMlll¦ÇH²_°™›+WáIHtLä‰.!„xÏ)È*<ï¡C‡R¯^=Š-JŸ>}Ôö]»v-Óc$Ù/ØÒ.¯B>«‹<$ɾBñT­ZUõs‘"EÔö¥·/„¹é­Æì=z”èèh¹ó „(”œœœtÝñ±´´Tý¬¯¯Ý½¶””W[ŠÏõ6 ! ¾·JöË•+‡™™mÚ´É­ö‘#óæÍ£zõê4jÔH×M…D`` $û"×™››«½~òä VVVœ;wNMB¼çÞ*Ù·¶¶ÆÚÚš¹sçæV{„È‘yóæÑ¨Q#‰EñÎDGGëº ¢ruuU{½zõjFMXXX–+ö!ÄëȘ}!„"Ÿ(^¼8mÛ¶U½^µjÕªU£gÏž´nÝZ‡-B¼¯$ÙB!ò‘éÓ§3`Àœ111ÁËË‹… òé§ŸêºiBˆ÷>ÃeÙ2åñ£B!Dž“d?Ÿ¹qã!!!ÄÅÅåèøÿþûyøŠÈ;7n@Hä0Fùï?åñ£B!Dž“ ºùL÷îÝ©U«ÕªUÓuS„È\÷îP«HŒ !„ùž$ûùŒ³³3ÎÎκn†YsvVþB!D¾Wh†ñ¤ËÆðáÃiÙ²%}úôaß¾}åøá|||xôèQ–ûÒ•I_ÿÙ³g2d­ZµbäÈ‘\»vMUnË–-ôêÕ‹–-[2iÒ$ú³³ŸœœÌÚµkùôÓOiÞ¼9=zô`Ù²e<{ö,Ë>Ÿ9s†ÁƒÓ²eKú÷ïÏÁƒ5Ê( vîÜÉ AƒhÓ¦ =zôàûï¿'&&&ËzEwïBË–Ð¥ $&ªï»q>ú>ù’’^_Oú±ìaa0|¸²Þ>} “凔å3‰QÕ¾ôCeÒ×ö, ­ZÁÈ‘.FÙ²zõRž{Ò$Íú³³Ÿœ k×§ŸBóæÐ£‡òœ¯‰QΜÁƒ•çêß2‰Q ع ‚6m”õ~ÿ=HŒ !„oThîì§eß±cß|ó OŸ>Uí[³f ëׯ§k×®ªmaaa„„„ðòåKºÒö%¥KÞÒê÷÷÷gÒ¤I¼xñ€Ý»w³aÃNž<ÉìÙ³Y°`ê˜={öÌáÇUÛ2³Ÿ@Ë–-5’õõë׳páB‚‚‚°³³SÛ·k×.¦L™¢jÀÊ•+ùå—_>|¸jÛ€X¹r¥F§OŸNhh(eÊ”ÉäÝjlm¡sge2Z´(øù)·¿x]»ÂéÓðÏ?`ø†_·´±ì;vÀ7ß@ºeÍe’.F S–Ï$FUûÒÀH«ßß_™Ä§ÅÆîݰaœ< ³gCºeφt1šé˜ý„ež1Y_¿.„  È£ìÚS¦¼jÀÊ•ðË/Ê:i PnÏhút ‰Q!„"K…æÎ~š‰'Ò²eKÖ­[G@@D¡Pdú𒜘4i;wfÆ lÞ¼™fÍšKÇŽY¾|9_ý5øùùáââ‘#G |m_ý5ÄÖÖ–9sæÈ¢E‹pssãüùó 2Dã˜É“'Ó¢E Ö­[‡¿¿?ƒ BOO1cÆpùòeî߿ϪU«°²²bæÌ™²yóf¦NŠ­­­Ú"ñŸ}ýú)“ÒåË•ÛÆŒcÇ” t½zÚ×5q¢2q^·`à@åÝí\ŠQ&MR~8Ù°6o†fÍ 6:vT¶ý믕çõó8rÞ£|ýµ2Ñ·µ…9s”å-778^ù-BF“'C‹Ê~úû+?,éé)ß·Ôåþ}Xµ ¬¬`æLe½›7ÃÔ©ÊsIŒ !„¯Uhîì§ùôÓOYž–ŒíÚµ#<<œîܹ£q‡<»úõëÇ’%KT¯›7oŽ££#'OždãÆtéÒEµÏÑÑ‘V­ZqôèQÚ´i“i}IIIøùùajjÊÁƒñððPíëÞ½;žžžlݺ•ØØXìííUûÚ¶m‹¿¿¿êuÇŽqttdêÔ©¬ZµŠ3f`dd„B¡àÓO?e„ ª²:ubâĉ¤¤¤¼Õ{Qè,Z¤–2bDFÂâÅЭŒ•½z>ýôÕ€ví <\y7ýÎÍ;äÙÕ¯¤‹Qš7GGåý•ÑÒ8:*‡ú=ªB“™¤$åSSeŸ.FéÞ<=aëVåŠt1JÛ¶Ê$?MÇŽÊóMªLðgÌ##åO?…t1J§NÊE£B!Äkº;û½zõÒØV£F @y§ûmuïÞ]íµ¥¥%eÊ”ÁØØ___µ}U«V :::Ëúþûï?âããiܸ±Z¢`mmM—.]P(üûï¿jûú÷ï¯QWÚ¶´²E‹eäÈ‘øùùñÅ_°cÇ®_¿€‰‰ fffÚtY¤13ƒM›”IïôéÊ$wÅŠìדIŒ’£äBŒ’!F±´T…16† 1JjŒòšå¿ÿ”s7VOô¬­• È£d£ªmie‹UÎ)ðóƒ/¾PqJQLL”ï¹B!²Tè’ý%Jhl366”“`µñºrÅ‹רfddD‘"E0Ì0fÛÈÈ ÓyiÒ&àfÖîôÛ3NÔµ²²Ê²lbºI¤óçÏgçÎ$''3sæL*W®Œ››sæÌA¡PdÙ.‘##00Pþ\º4XXd¿ŽÌ®ujŒ¢eŒ¾¶\&1Š‘)¢9¯ 5F3&-ö²ˆQÕöŒu3‰QUÙôçÏWNÐMNVå©\Y9­QöäÉ“”*UJm{Æ ™;w.àÁƒLž<™ñãÇóË/¿äJ /”w±?V3ùë/˜6-ïΗ–,g£¼Ã%5F9u*óa5©1J†%“%5FÉ£4lsçÂðàr¼ÿøñÊɼB'Οˆ»û,¸¤ë¦¼µ‚Ôñz™]k¹þ¢ “d? eË–`Þ¼yª$;))‰ï¾ûî&û¶¶¶Ô¨QƒK—.ñå—_ª¾P(,X°€½{÷âàà ”fÚ´iªä **Š‘#GÊy—/_föìÙjh (]º4!!!yÚ·gôhebûóÏÊɯ)W› Ê›ó¥Æ(óæ½J²“’à»ïÞm²ok«fté|ùå«o åÊ>{÷‚ƒÃ«!Ai¦M{•ÜDE)‡ì€r('êΞ­þÆÀ@ù­ (ç1°·7cäH/êÔ±ÑuSÞZAê‹Bd$É~zö쉙™Ë–-ÃÙÙ™:uêàààÀ¬Y³4ë¼6kÖ,ôõõ™={6Ô®]GGGF¥Nüœ5k–Æ!'''êÔ©ƒ§§'U«VÅÃÃóçÏS­Z5Õ¼‚‡2aÂpqq¡^½zxzzÒ´iSêÔ©óNûù^[»~ýU9~øpeBúçŸÊ ©½z½~Ì{Nõ쩳¾l™ò!Wuê(“êY³4ë¼6kèë+s¨][yÇ?mrò¬YšC„œœ”möôT¶×ÃC¹rOµj¯æ<|¨œ˜ëà \¨^=eùÔEbTgììL9Ò³@$È©/B‘Q¡[G[¬X±‚Ï?ÿœ˜˜bbb°··ÇßߟuëÖqîܹwÖ–¦M›²}ûvFEDD<”CwfΜÉ'Ÿ|¢qÌüùó™;w.[¶lQ«çÿûŸjŽ‚§§'&L`õêÕ\¿~]59×ÆÆ†¡C‡2nܸwлàâE僡<=ÕWÑqpP®3ߤ‰rUžWcàsƒƒƒrðçŸ+0£üpáï¯\ÎòÆ(M›ÂöíÊä>"B9Ô”CwfÎT>T,£ùó•CsÒÅ(M›Âÿþ÷jŽ‚§§2Ù_½Z917mr®  £:sçÎ3þüóuêØh$ÉOž¼dÿþXnÜHÀÄÄJ•Šáíy"œ¬àÈ‘»\¾ü˜¤¤ÜÜ,iÔÈU™¨¨¶m»AÆöT«VœcÇîñï¿11ѧaC{\]-3­ûÖ­Döí»Í“'/)W®9påÊcöî½EëÖ¥pw/’e_rzNmú£+ÉÉ Ž¿Ç¥KHI2e,iÐÀCC=@½ÏUªXqøð]BCã°°0¢Q#{œœÌÕêËnymd÷}¿x1ŽààÛj×3ã¾6mJQ¶¬ú>! “B“ì4ˆ–-[âîîžå>777µí={ö¤cÇŽœ?CCC*V¬ˆ±±1nnn 8KKK:2«éÒ¥™>é¶X±bìÛ·OmÉ̴ɳi yšÖ­[Óºuk"""ˆ¥D‰xzz¢§§—i_ªW¯Ž¿¿?7oÞäúõë”*UJ5<'MÚúú?þø#7nÜ &&\\\T“‡…ŒŒ”«Äxx(W¶I¯AåP•‡•+Öd696Í AÊõõ3‰!Õ¾ 1JÏžÊ%+ÏŸWÞ9¯XQ™(»¹)×çOßž×Õ¿tiæOº-VLùôÞôKf¦MžÍ£´n­ü¡\f³D e²ž!FUí¨^]ùÁäæMe_ªÔ«álƒšË IDAT9iÒÖ×ÿñGåübb”‰¾‹Kî~pٛȂaÃ_vï¾ÉW_áÉõIÝÕ«—`Ñ¢:ØÙ™ª¶;÷€Q£N­þ¼GG3~ýõ*URÎK‰ŠŠgÁ‚0ÌÌ X²ä2AA·Te ô˜1£:©ÇΆ QL™r–/^Í#©^½mÛ:±`AEUÉaf}ÉÉ9µíÏëüòË%­ç››0p`9­Êž=û±cOpýz‚Úv'' V®¬‡››¥ªÏÆÆúüôÓEŽy5|ÎÐP¯¿®LïÞeUÛ²[^Ù}ß/^|¤q=3îóò*&ɾ(Ô M²_¦L™,Ÿûº}¦¦¦x{{«móòòÂËËKë:jÖ¬™év###|||Ô¶¥M¸uppÈôww÷L?PdÕŽR¥JiLÈÍHOOÒ¥Kk|ZòðÐ\r2=m‡Ô”)“õÓ`_·ÏÔ2Ä(^^ÊÚÖ‘EŒbdbT5á6‹ÅÝ=óYµ£T)Í ¹éé)?HŒækaa=úII *W.N­Z%ˆO&((†3g0lØ16lh„žܼù”~ýóøñKªV-AÕªÅ16ÖçÂ…8޽ËgŸaïÞ°´|õgÊÏ/‚øø$:tpÆÞÞŒ‹ã8tè“'Ÿå£)RDùðß2iÒ’“x{ÛP¥Š¾`Ïž/¾œ­>i{Μô'3 ^"9Y»l߯ÆD«dÿúõúö=H||¥J™S¯žÅŠqõêˆ%&æ)nn¯n øùEðô©²Ï¶¶¦\¼Ç‘#wù¿ÿû—òå‹i|““ÝòÚÐö}B¼Y¡Iöó»Ÿþ™%K–Ž›››Æ· BèÜÏ?+Æ®üæ@bTd°|y8II úõsçë¯+«¾Ô™0¡":íãÌ™=z—ºumY¶ì ¿dêÔª|ü±ú‡ÐU«®2mÚ¿Ü W¯Wqöòe »v5Uòå—§Ù´)Š'îÓ¤‰òèÊ•$'+5Ê‹#1vìX† Fùòå5Æë ‘/Œ ÆAùòšãõ…?~‰)¦¦šwœK—V&•)Çò?xð‚ädóç‡eY_ÆqÿŽŽšOLN»»”ôêvø£G/pp0ÅÀ@óifÉíëh{Μô'3y1f?.îvv¦XXh÷'ßÙYó=Ò××£T)óÔ,oW^Ú¾ïBˆ7“d?Ÿðxݘo!ò‰QñE‹qëV"Ïž%k$üiC‹3J-kÈ‹)|öYÖÉjÆ —Ú*V̘۷Ÿ‘œ¬ÐHø££²8êíäVòb̾••17o>%!!I«„ÿÆ Í÷H¡PÎK(ZTóƒ~vËç&SSå7 š¤bbžjl¢0’d_!D®¨YÓšmÛn0wn(_}UYµ=.îË–]Q•¨WÏŽõë¯áâbA‡Îu]ºô(Ç“0«W/ÎöíÑ,]zEm(OLÌS6nŒÊQo’[ýÉ‹1ûuëÚ²~ý5¦N=Çôé5TKm«1ûéï¤DÓ¿¿»ÚМ•+#¸ÿ9Mš8jÔŸÝò¹©dIåPŸ}ûnÓ¹³‹j{lì3Ö¯¿–§çâ}!ɾBˆ\1`@9£Y±"‚“'P£Fqâ㓾̓ϩV­8|` ÀçŸ{°{w ãÆdåʪV-N‘"Fܽûœ+WsþüCüüêQªTö×jïÛ×ÀÀ›üüs(Þ¡J•â©«ñÜL·Þ}îÉ­þäŘýÁƒ=ر#ÿë?~Ÿºum(V̘ÿþ‹gÿþÛ¬XQO-Ù733 C‡}´hQ[[SBCã8|ø.zz0`€æJ[Ù-Ÿ›*U²ÂÎΔݻcèÕëÕª•àÞ½gìÙƒ¹¹¤8B€$ûB!rI… Ř7¯6_}ušsçpîÜÕ¾´uöÓ&î:9Y°fM}Æ;É… q\¸§V——W±%úU«gêÔª|ÿý¿?~ãÇïP­Zq7vdîÜÐ\Oó²?o«ti üüê1vìI¢£ظñÕ°''sÕÝñ4ýû»sà@,Û¶ÝPmK[7?³•u²[>7™š0iRF>¡v­ë×·£iSG¦N}‡"Ÿ’d_!D¶ÙÛ›iÂÀ@Ÿ2e,©_ßNc^ƒ‰‰>kÖÔçÀ;\¾üssC||²|"nvË¿NNÞ÷V­JQ©Rqþùç6OŸ&Q±¢~hGhh#GzQ¦Ì«gdv­³Še! =…BÛÑšºví ÀÆs­AB䄞ž£GfîܹºnŠ($òúÿ¿ØØXâããµ*ëî^– biÝZ»ò…Á… qT¬h¥¶è… qtë‚¥¥GŽ´ÊtµžÂlÿþXú÷?Ì7ßT¦_¿7¿Ény‘9ùýoboo¥¥å› fnã[ÝÙO[ÞÙYs2’ïÚ²eËØ´i“®›! ‰û÷ïS®Ü›WBº1~ÿý÷„Zµl(Q˜ÈÈxöí»Mr²‚Þ½ËH¢ÿݽûŒ?þ¸öÆreÊXÒ¶­Sž·GˆÂF†ñˆã-¾¤B0•+[ñÏ?·‰ŠR_²sg† )ŸÅQ"/Ü»÷œ ²~þ@šfÍ%Ù"¼U²ïáᇇ‡ ã:§§§ÇàÁƒexgÒ†ñˆüiäH/:uráÔ©ûܺõ”"EŒ©]ÛšråŠêºiùÖëÆË¿MyFŽôzc}éÇÖ !rÜÙBQ 99™çh’haåâbÁÈ‘Ú/ý©my[[ÓlÕ+„È]úºn€B!„"oH²/„B!D%ɾB!„μdݺÑ=zTšyB’}!„B‰%66‚O>ù„æÍ›³bÅ >|¨ëF‰D’ýÌÔ©Sß›yÿþýL™2…ëׯkì{ßú"àpÄa¦nŸÊµ{×tݭ쿲Ÿ)S¸þ “ø{Ïú"„9Q¾|y¦L™¢ú›ûï¿ÿÒ²eKÆÇÍ›7uÝ<ñ“d?Ô«WÉ“'ãêêªë¦heÿþýL:5Ódÿ}ë‹€zîõ˜Ün2®6®ºnŠVö‡ïgêö©™&ûï[_„âm˜™™ÑµkWvîÜÉìÙ³9wîÍ›7ç§Ÿ~"11Q×Íï!Yg?Ô«Wzõê麹¢ õ¥°¨W¶õÊŒkVúRœ‹9ÇÌ}3é]«7-Ë·ÔusrÕÚÓk À¯»¦†¦ª}¹ß"100 }ûö´jÕŠ5kÖ°páBvìØÁôéÓ©[·®®›'Þ#ù&Ù?}ú4!!!( 4h€··7[·nåìÙ³L˜0ssõ£ÄÅÅñ×_‰‘‘µjÕ¢aÆje‚‚‚8xð C† ¡xñâlß¾ˆˆìííéС%J”È´-Ù­ÛÊÊŠÀÀ@®\¹BÍš5iÞ¼9‡毿þ¢oß¾wÄ?~LPPW¯^ÅÜÜœ5jdë7**Š   bcc)Q¢>>>xzª?°$}ûŠ-ʶmÛˆŠŠ¢dÉ’´oß+++UÙßÿ¿ÿþ???‚‚‚puu¥oß¾¯íKvÛ’ëð.¾~šË!(PР\¼]½Ùzf+goœeBË ˜gˆ¿§qüú‘÷"120¢–K-zdˆ‘° †dH£!·(ÎösÛ‰¸}Q{:Të@ ‹,â/›u[™[x>+·¯PÓ¥&Í+6çðÕÃüuñ/ú~ØWkWµc'>&(,ˆ«w¯bnlNÒ5¨[6ñw?Š ° bÇR¢>å}ðtÈpÍÓµ¯¨YQ¶ÝFÔý(JZ•¤}ÕöX™§‹¿#¿ó÷¥Ôø;èGPhjüÙ¸Ò·^ß×ö%»mÉÎu¯÷èÙ#Žß8ÎGéº)¹êzÜufü=ƒçÉÏQ(¤(RÔöÔ~‹üËÈȈþýûÓ¶m[¦L™BïÞ½éÓ§'NÄÈÈH×Íï'û))) 2„ß~ûMmû°aÈgõêÕ >\-Ù÷óóc̘1<~üXí˜ àïï  L2gΜI5˜8q"—.]R•µ¶¶&88˜ªU«ªÕ‘ݺ+UªÄ„ T“hÆŽ«Jö§NŠZ‚¼bÅ ÆÇ£GÔê¯_¿>!!!èë¿~dÕ×_ͬY³HNNVmÓÓÓcÀ€,^¼Xõ‹ŸÖ¾Š+2~üx¢¢¢Tåmllزe õë×”Éþ¾}ûX¹r¥ª\£FTÉ~f}Én[²sÞ•E CÖ á·â¯ñ0âŸÇ³úðj†7®–ìûôc̆1~}™!þÖ ÆPßA aibÉî‹» eøºá˜xà­êºv(ÆÆ l0RV¥^{‡~ãÉ \®Þx»zc oÀ©¨SŒ8HŠ"åµÉþ¢}‹˜±3õšWi‹—£×î_cë™­,?°KftÊë†al`Ì †ƒ052%(,ˆÐ˜P:.êÈ¥ÿ»„µ¥5½ëö&E‘¾Kûè÷a?J—H¿×ŒÑÏI[´½¢ðÚra Ço' _c·Õus„ÈT»ví¨T©Æ £K—.,_¾œ *èºY"Óy²ÿÓO?¡¯¯OPP>>>ªíÛ¶mÃ××W£ü×_¹¹9û÷ï§fÍšªí …‚.]ºàïïÏ¥K—Ô†’”-[–½{÷bffÀŒ3¨R¥ ‡âñãÇ-Z4Çu;99B‘"EÞØ×o¾ùP&ÊC‡UÛwðàA ^{ü?þÀæÍ›éر£jû±cÇhРóçÏçÛo¿ÅÂÂBµÏÑÑ‘¨ú˜””D÷îÝñ÷÷gÕªUŒ7ŽÞ½{sýúuöíÛGÿþýUwüs»-Ú^‡wé§¿~B_OŸ ±Aø”÷Qmßvv¾‹2‰¿-_cnlÎþ û©é’!F–tÁÿ´?—n_RJRÖ¶,{ÇîÅÌ(µßI3¨2µ ‡®âqâcŠšÍqÝNÅBS-âoKjü}¼ˆ¡>â/â zoˆ¿]©×üóÍt¬žîšG£ÁÌ̚Ϸm¾ÅÂ$]üsäÀ„ª>&¥$Ñ}iwüOû³êð*Æ5Gﺽ¹þà:û.í£ýþª;þ¹Ým¯ƒÈ¾;ñwøýÔï„ņanlN³rÍh_¡=zzzjå.ݹ„ÿyn<ºB¡À¥¸ í+¶§¢}Eµü•‡‰™<Ïë~N9›rÙ>>áESþšBl|,cŽ¥ZÉjyÐJ!”ÜÜÜØ°aǧG¬X±ooo]7KäS:Mö£¢¢ˆ‰‰¡yóæj‰>@‡ðööæÄ‰ªm·nÝ"44”²e˲k×.víÚ…B¡P=q.í®øÉ“'Õò‰'ªLcccš5kÆåË—¹uëE‹ÍqÝãÇ×*ÑŽŽ&<<oooDxc‚}ýúu¢££ùðÃÕ’k€:uêеkWÖ­[ÇéÓ§iРZßÓ'ц††|ÿý÷øûûsèÐ!Æ÷ƶçf[ÞtÞ¥¨ûQÄÄÅмbsµD Cµx»zsâZºø{t‹Ð˜PÊÚ–e×…]ìº!FR¼vR-!ŸØr¢*Á064¦™W3.߾̭G·(jV4Çuo1^«D?úa4áwÂñvõÖHô7&Ø×\'úa4º¨–\Ôq«C×Z]Ywl§¯Ÿ¦A¹t×¼åDµ$ÚPßï;|ÿiEb\óÄß[´åM×Adßí'·ñ]åËø;ªm».í"(<ˆ¨~ÿóþLÜ9Qã ¡+ޝà§v?Ñ¡b‡7žëÓ?>U¶õ:VfV,î´Xë~üüÖÖ|^÷s­IsóÑMmDô£h浟'‰¾x',--Y¾|9cÆŒaÀ€¬\¹RíF¥itšì§=!.«á"®®®jÉþÝ»w¸zõ*“&Mʲތãá5ÊXZZðòåË·ª»\9íîÝ¿P®£›iïU™2e2Ý_¶lY¡/§mÑæ:¼KŸ¦Æ_†IŸi\m\Õ’ý»ORcäîU&m}MŒdï\"“~›¤ö;ùå[Õ]ÎNËø‹O?‡Æ_Bê5·ÍâšÛ¦^ó„ ñg“Iü¥nK{ÿßU[´¹"ûVŸ\[ 7F7­…-c/ò󱧯ui›Êl¢k•®€2©è]³7õ\ëa¨oȵ‡×¸Àãg_w •ã7ŽkìÛXØh݇Ã×p1€??ùS5×C[çncð¦Á³þ“õxÚy¾ù !r‰¡¡!sçÎeĈ|öÙglÚ´)˿͢ðÒi²_¼xq€,Ö”q{Zù *еk×,ëÍÉWY9­ÛÐP»·ÐÚڀ˗s6á+­}ÿý÷_¦û¯^½  ±²Mdd¤Æ<‚´ÉÄiu¾«¶ä7ÅÍSã/‹'³f|ˆSZù %+еækbÄ5ñ—ú ´Œ?ËÔø»Ãø³H½æw³¸æwS¯y†•m"ïEjÌ#H›LœÖçwÕ‘7l-mñïã¯úÖ¤±{cj9Õâ“?>aýÙõªdßPß¾ûè;µãûÖêË“çO´:ךžk4¾ÈжIûó¤çLÚ3‰k|LR5´:&M`X 'àiçÉ’NK2ç#D^344dÞ¼y|üñÇ <˜Í›7ëdX¬È¿tšì»¸¸P²dI‚‚‚Ø¿¿Úò–;vìP»«Ê;ÃåÊ•ãÖ­[téÒ…J•*©íW(üõ×_9ú+/ëåØþråÊqâÄ –-[Æ AƒÔö:tˆzõêiŒqMSºtiœœœ8tè´oß^µïäÉ“lÚ´ 333jÔPÿc5sæLÚµk§j”””Äwß)ÿØ~øá‡ªr¦¦Êu¤3ÞÏͶä7.Ö.”´*IPhû¯ìW[ÞrÇ¿;ÔîêƒòÎp9»rÜŠ»E—š]¨T*“ ýKm¼½¶ò²nPŽí/gWŽ×N°lÿ25̇¨Wö5ñW¢4NÅ8qˆ€s´¯šîš_;ɦS›032£Fé ñ·{&íª¶S 5JJIâ»m©ñçž.þR×1Ïx7>7Û"òFkÏÖjã>pù§bNj«Ù ú`ã¶cLÀš¸7ÁË΋2ÖeÐ×Ó§ˆÉ›‡¢Ôv®«møåÐ/¼H~ÁxŸñÙ:nóùÍ\¾{™-˜ÓnŽÚZüB¼k&&&üúë¯tèÐï¾ûŽyóæéºI"ÑùÝ1cÆ0~üxš6mН¯/nnn„‡‡€wîÜQK@fÍšE§N¨Q£Mš4ÁÓÓSSS®]»ÆñãljŒŒ$11ñ“]3“—uL›6îÝ»3xð`ÕdNž<ÉáÇyùòåk¿)øòË/>|8¾¾¾´mÛOOO¢¢¢Ø²e /_¾dâĉjbA9ÏÁËË‹¶mÛbbbBpp0/^ÄÆÆ†¾}ûªÊ¹»»0nÜ8<ˆ¹¹¹jýÜjK~4¦ÙÆoOÓŸšâ[Ý77Âï„p6»"vÜyr=ÒÅ_—Ytúµ5þ¯M<›àéà‰©‘)×î_ãxäq"ïE’¸8ýÄ_Ö 0­ã4º/íÎà5ƒYqp…j5ž“×Nrøêa^.}‰¡Þkâ¯Õ— _7ßE¾´­ÒOO¢îG±åÌ^&¿dbˉjbA9ÏÁk’m«¶ÅÄЄà°`.Æ\ÄÆÒ†¾õúªÊ¹Û¥Æß†q ?ˆ¹±¹jýÜj‹ÈEM3¿ƒhefEÌãÕë6^m¨`_¡;ð?ïÏå»—yžôœ¶Ú2®á¸,ëI/·Çì'¼H`ù±åØZÚ2pÃ@µ}×\ ÿúþèë鳦çµß=Cî%ÜãeòKIö…ÎÙÚÚ2sæLú÷ïO³fÍhÛ¶­®›$ò‰|‘쇅…áççǦM›Tۇʭ[·Ø²e‹ZÒèëëËÚµk1b{öìaÏž=ª}úúú´jÕJë¡5åeÝݺuãÁƒŒ?žãÇsüøqÕ¾ ¼qýaÆÍìٳپ};Û·o^­mÿÿ÷Ç,\¸/¾ø‚¥K—ª¶¥­³Ÿ6´ eË–T¨PÐÐPfÏž ¼Zg?·Ú’ùh a·Ãð;èǦSéâÏg(·ÝbË™-jI£ou_Ö\ˈ?F°çâö\L#zú´ªÔJë¡5åeÝÝjuãAÂÆoÏñÈãLå¼qýa‡ý0šÙ{f³ýÜv¶ŸKwÍëàÿ|3‰¿^ ùbã, I©ëì§ -hY©%JV 4&”Ù{Rã/uýÜj‹Èo_ÔØ–ð"ÿîÿ‡¥Úv·nŒ¨?BõúÂí |úǧܿ«ÕdÚܳÿ"ùI)IÜz|‹[oeZædôIå¾ôjëÕ–>5û0!p½Ööbe÷•Ùš' D^hРÝ»wgúôé4mÚTmQ Qxé<Ù700`ÅŠ :”@¹2MíÚµ)_¾<666ª!&izö쉯¯/ÁÁÁ\¾|™””\]]ùàƒÔ&6kÖ SSS4Λ¶ÏÎNýQnÔ P¯^=&Ož¬1ùxÈ!ôèу={öI±bŨQ£uêÔÑêýš1cƒV{jmãÆ5žZ›ÆÃÃÐÐPˆŠŠ¢T©ROÐå0ž'NHDDÏŸ?Wµ=«¾hÛ–œ\‡wÅ@߀}V0Ôg(!WRãϽ>µÝjSþÛòØXÚ`j”!þj÷Ä·º/ÁaÁ\¾}™E ®Ö®|PæµI Í*4ÃÔȇ¢™ô;uŸ]Ñ ñ— uÔs¯Çäv“5ÖªÒh=¼{°çâ"ïER̬5\jPÇMËøë4ƒÁúꩵ=k<µ6‡½¡ß‡p6€¨ûQ”*^Jã º¦F¦œøæÿq'‚çIÏUmϪ/Ú¶%'×Ahooø^6ŸßLçÊH|™È7»¾áé˧´©ÐFUnÖ?³è\¹3e­Ëª¶Ù[Úcd`ÄñÇ5êÍLnÙ/bR„µ½Öfºï«_q=î:+º­ÀÔÐ}4? ·¯Øž¢¦E¾e8Ýÿ×Õ=VãTÌI«ö ‘WÆŽK`` ¿ýö#GŽÔusD> §ÐöÎL¤Mdݸqã[5âĉ_.\Ȉ#èØ±#þþþoUaôå—_2sæLΜ9Cµj8===FÍܹs³}ì‰k'4&¾.ü{!#þAÇêñ*ñ—]_nþ’™»græ»3Ts.˜ñ—[ÿÿe%66–øøx­Êº»—eÁ‚XZ·Ö®|nØÿß~úoèOû „Ɔboi];"Dÿ<s#sv ØAi+åCÒ*Ì®À‹ä”0/³•3/’^~/œ¤”$•iÄŠn+ÞYÛµÑne;ÂbÃøwÜ¿˜½z‚vZ¿¿iú ý¼ûÊ»ÿŸmü 3#3V÷Dæè IDATX£uúEá•¿¿‹/fÅŠ8pssó7 ò5{{{Õê…9°Qçwöš4iBåÊ•©^½:FFFœ×â®Ìn;[•è|ÙäKþ<û'Wî^áÁSåDlcc:TìÀ7M¿ÑIÛsK-§Z¬ëµŽ~úÑsmOVt[AUǪºn–(Äzõêů¿þÊÆéÓ§®›#t,_$ûµk׿ï¿ÿæÈ‘#ªm&&&Ì™3Gm…!òBm·Úü}éoŽ\M†&Ìé:Gm…!Ä+U«°¶×Z\Š»àPÄþÞý‰|‰¹±9îÖî+;õ®Ù›Þ5{óàénÄÝÀÜØœRÅJ©Ý5ÏO¦·œÎÓ—O110QÛž¾ßéyÙ{Ð/€È‘™ùâ]²²²¢C‡lÚ´)ÛÉ~`` k×®eÒ¤IxyyåQ sGrr2§NR->’’’ÂêÕ«12ÊzßÕ«WùóÏ?¹zõ*æææ|ðÁtëÖ ccã\)Ÿå‹d?88˜“'OröìYîÞ½KÉ’%iÞ¼9ŽŽŽºnÚ{ëMs Ä+Áã‚9yí$goœåî“»”´*IóŠÍq,&ñ—SošS ÞVfVÔ)ýj®GQÓ¢T-ùæ»Ù%ÌKPÂ<ÿ?¡²cåL·gìwzv–v“’…Е6mÚ¨’Ô´‡]jãÖ­[?~œÇµ{Ø®ÄÄÄЮ];‡¦¤¤dyÌÞ½{5j/^¼PmÛ½{7›7oæÿûŸÆ*‚Ù-Ÿ_å‹d V­ZÔªUK×Í(0š5kF³fÍtÝŒ÷F-×ZÔr•øË-ͼšÑÌKâO!t¥víÚXYY±ÿþl%ûmÚ´¡råÊùþ®~bb"ñññx{{Ó´iSÖ¬YÃÍ›7³,ÿðáCÆÏ‹/èܹ3­ZµâáÇ,^¼˜óçÏ3kÖ,¦NšãòùY¾Iö…B!Dî000 V­Zœ:uŠ~ýúi}œ££ã{1²¢T©R?~œbÅŠ°yóæ×–߸q#ñññ´oßž™3gª¶×­[—>úˆ72~üxÕDØì–ÏÏ$ÙB!„(€jÔ¨ÁªU«å“ØCBBØ»w/±±±XXXàîîN÷îÝÕ–¿Î8fÿ¿ÿþãÛo¿ÍòVVV,^¬þœŒ#Gް{÷nnܸ¡¡!•+W¦gÏžØØäÞ³(LMM5–f´…_z÷î­¶ÝÁÁ-Z°uëVŽ;FÓ¦MsTàÙ³g¬[·ŽcÇŽ¡P(ðööæ“O>aõêÕìß¿Ÿ¥K—R¤ˆvO ÏM’ì !„B@eË–åîÝ»$&&2uêTµ‡—¦ùõ×_Ù³gêYBÇì'$$¨=4³s¤IIIaâĉlÙ²E­ÌßÿÍêÕ«Y½z5+VàòåËÙS·n]FŒñæ‚YÇÀÀ€J•*iì«Zµ*[·n%""B•¼g·ü“'OèÕ«aaaªrÿý7»ví¢téÒ?~œ¤¤¤·ÿmH²/„BQ•.]…BÁŋټy3E‹eÈ!xxxðüùs®\¹ÂúõëILL̲Ž2eʰv­æÃçBBBزe K–,Qm[¶l[¶lÁÙÙ™?þ˜²eËòâÅ <Èúõë3f »wïF__Ÿ'Ož¼öCDF¶¶¶Ùë|qqq+V CCÍÔ7­î¸¸¸—Ÿ3gaaa8::2hÐ œ‰ŒŒdéÒ¥„††¾UÛß–$ûB!„P‰Ê•¯âããQ(øúú2hÐ Õþ-Z0xðà×®`caaA:ê+P>|˜íÛ·óûï¿ãææ(‡ ùùùakkËÖ­[UcéÓÎS¬X1–,YÂÙ³g©Q£åË—ÏôCDV¬­­µ.›™äääLw@µ=ý÷ì”ONNÆßß 6mÚ„½½=>>>4nܘ֭ÿ¿½;ùÚ8þžLvID„D" ‚ÚR±´‰½„RkZmqQÛ¯®ZZ½Å­{UQ;UD[[‰]ÕUTb_²!b‰$BB$óû#7£ÓIÈL–!>¯çÉóÈùž9ßÏ9">ó³t*RìEU¤dÿÞ½{$$$0f̘âŠG½…„„ÈÏ¢(5gΜ¡jÕª†C! ”wznNN~ø!6lÀÄÄ„¦M›âåå…“““ÎûÅGDD0~üx–-[†§ç³Ó¢HNNÆÎÎN=ÝF¥R¡R©HNÎ=L/&&ooo¬­­µÞD”$ ‹O%øð!€ÆiúԿvíøûû«ý<îîî¼ùæ›gI•¶"%ûW®\!!!¹sçWúBCËKäŸ>}Ê¿þõ/üýýÙ»w/?üð‘‘‘ØÚÚòþûï3hÐ ­ƒðòsæÌÆŒÃâÅ‹µ¶æÌK€“““9räHmdff¥?gßÙÙ™¨¨(îܹ£5%(..N]GŸúy}*hñí_?å0„"%ûÍš5r·' Ÿ~ú)sæÌ1t(â5`è„â¹õë×׺îèèˆB¡ ~ýúŒ?¾ÀvÜÝÝÕ±•æœýúõëÅèÝ»·Æµýû÷P¯^=½êç=ÍÏon~NNŽÆ¢]C9ûB!„eP^²Ÿ––ƲeËèÙ³§z¿R©ÄÉÉ €ðððç&ûQQQ :”ï¾ûooï|ëØÚÚÒ¤IŽ?N\\={öÄÄÄD}=!!_~ù…7ß| Ôçì¿ûî»3wî\š6mŠ››Ë–-ãÒ¥Kxxxh|Z¡K};;;j׮ͅ øþûï2dFFFdgg3gÎâãã‹{QI²/„BQÝ¿_ýç3f0sæLqpp 55•ØØX w+ɂįÆ2`À”Je¾Ó¶ÿºÏþäÉ“éÓ§_~ù%Ó§OÇÕÕSSSnܸÁÝ»w5jÆÆÆÅ2gäÈ‘êµ |ôÑGê)IÝ×Þ××—Ö­[sàÀ:tè@:uHNN&!!###&Mš¤Ñ¶®õÇŒÃ!C˜5k+W®ÄÙÙ™ëׯ“––F­ZµˆŠŠÂÈȨHýÕ—aî*„B³Mç6áñ»£v:-/sl¥íFê VXÅGë?¢öÌÚx|ãÁ¡ØC†«Lº|ù2æææ4iÒ„!C†`ggÇÍ›79uê±±±T¨PQ£F1hРÛ8xð ÷îÝãöíÛ„‡‡k}>sss<<§Nâã?6t(¯ï¾ûŽo¿ý777LLL¸zõ*XZZ2tèPƒÅUªsö­¬¬hÕªUi޲Ĕ¥¾èãUì¿•Õ–u ÎÌ:4œÓÖ}@h\¨Ö}Ó2Ó˜²w Í6׸¯¾ÅÂãVF¬$üz8k©?»>Ý~ìä |&˜€UÔŸ]Ÿº³êÒ9¨3«O®V¤OlÎl(pÞµ}—÷i”«T*6ÛDàš@ÍiDýÙõéþSwÖŸYO¶*[£^aceÓÞ½{155¥E‹†åµñüsss¢££¹téxyy±jÕ*ƒÂ(OöEŒiÕª!!!†E¼†ŒgÓª• !!½_\Y”ºÇOóþÚ÷¹tûÙþÑçog覡tòÒíhø¬ì,>üåCN$œP—=É~ÂÑø£üyíO¦¶ŸJ¿FýÔ÷í¿¶±Ü÷ïNÞ8É7¿£NšsT9¨T*>ûõ3¶]ئQ7òv$SöNáRÒ%þÓñ?%ä&ðŸnÿ”—vj”ŸK<ǹÄsT-_•·ÝßÖ)æç©õm-²s²_XÀ¾œ=Žú³ð%nûöí´hÑ C‡òÚ=z4#FŒPŸ&\¹reƒº ¥T“ý‚Ž~•¥¾èãUìzúÿ:„bS–ú¢×½ÿ/ƒŸOüÌ¥Û—¨^±:SÛO¥S’%ÄÏ'~Ö¨;â­4umZàÝU'Wq"áN6NLi?…&.MxðøÁgƒYxx!ÿÙÿÞñ|‡JV•4î;å)4tnHò£d–ý¹Œ5§ ¿gw~vEî" ACšÁÕÖ¥‘’­ç·²íÂ6jUªÅøÖãiP¥fÆfœ¿už‡ü›õgÖÓ«~/97*ÑØ6žÛÈÎK;±µ°el‹±´ªÑ [ [¢ïF³îô:L”¹ %·]ØVè˜EÙtöìYŽ;ƪU« ÊkG©Tâææ¦Þ—ÿe Oö…BèlwÔn ‹º/ÂÓÞËò–|õÎWÄ&ÇVè¶~»ôó»Í§¡SC¬Ì¬í;šÛé·ùåô/ìÞO߆}Ù™ÿ}§v˜JÜý8Ž\=¢wŸ:5ä¿þÿUïÑ ¹ ¶ÒHÉÊ>+©lUY]îãâÜ.sð_îOÈ•97*ÑØ6ŸÛ À¼®óxÛýmuy½*õ¨WåÙÉŸºÄü#--M]'33…BA·nÝHLL$00;;;Ê•+G»ví8sæŒV»999Ìœ9“š5kbffF5˜5kqqq( FŽùܾèsÏÂöçE 3~/..ŽîÝ»ckk‹µµ5;vÔˆ/,, …BAvv6û÷ïG¡P¨¿þøã|û¯o,ºŒUQ4Ï{Õª‹4o¾këyXZÎÅÛûg,8INŽö¼Öƒ¯Ó¥ËìíajúÕª-ã³Ïþ -íÙÖ_™™OQ(fÑ­ÛVø+vv )WníÚmàÌ™;Zíæä¨˜93‚š5W`f6‡5–1kVqq©(³9RsÛßû¢Ï= ÛŸ)Ìøý5¾¸¸Tºwߊ­í¬­çѱã&øÂÂn PÌ";[Åþý×P(f©¿þøãz¾ý×7]ÆJhŠ¿ƒ•ƒ:©ý+¿jÚûU¿¨-[ [u¢ÿWm<Ú¨ëħ|ßÕŠ67ùm÷·5}€+w®“ßb?j}[‹š3jâ9ÃÏžø/÷àfÚÍ æ^ åÍËk$úùÑ%fQöœ8q‚}ûöñÉ'Ÿ:ñ’0ø“ýqãÆ1kÖ,²S§NqêÔ)Ž=ÊÚµkÕåK—.å“O>ÑX\tõêUfÏžÍþýû9|ø0–––êk)))øúúªOˆØ¿?mÛ¶%22{{{uùðáÃYºt©úûØØXƧqXDaèrO]û“]Æ 99???nܸ¡.Û½{7aaa„……=÷½Ñ5]ƪ¤ŒwY³"þómNú£Go²vmguùÒ¥gøä“}üumÛÕ«©Ìž}œýû¯qøp ––ÏöNIyŒ¯ïZbcSÕeû÷_£mÛ DFÄÞþÙ<ÊáÃCXºôÙ›œØØTÆ;ÈÉ“I:õG—{êÚŸüè2~ÉÉ™øù­ãÆgÓÀvïŽ#,,°°~4hPI§þ%]ÆJäïï‰q}€*È¿­Òdk¡½µ^Ž*÷AÅóæ®gegéu¿¼>çÝã¯2ŸfêÕæ_Û+jÌ2gÿÕ“••ŤI“ðõõåwÞ1t8â%aÐtOž<ɬY³°°°`Á‚$&&rïÞ=V¯^ëÖ­cÛ¶ÜF±±±Œ5 [[[V¬XAbb"™™™\¸p€€NŸ>ͼyó4Ú?xð ...„‡‡óðáC._¾LÛ¶m¹wïkÖ<›?ÎÒ¥K±±±aåʕܽ{—[·n±dɶnݪSŸ {O}úS”ñËŠ‹‹ ÇŽ#==K—.ѳgOÒÓÓÕŸ^øúú¢R©P*•´mÛ•J¥þ*h}b)ìX•”“'“˜5+ c,hKbâ'Ü»7’Õ«ßÅÎΜuë"Ù¶-ÈM¾GÚ­­9+Vt 1ñ23ÇpáÂÇÔâôéÛÌ›§ùÆðàÁ븸Øþ>þ—/¢m[WîÝË`Íšg øÂÃYºô 66¦¬\éÏÝ»#¸uk8K–¼ÃÖ­Ñ:õ©°÷Ô§?E¿<¡¡ ¸¸XsìXÒÓÿK—Ò³gMÒÓ³92w!¸¯¯3*Õg(• Ú¶uE¥úLýÕª•K±ÅRرùs«àÆ­·ˆ¾«ý3vU{ ‘"÷¿›ü’G· nÜϸϙ›ÚŸêý󇺀›­IéI\¹{E«î¡¸â?…µFÅX˜XpjÌ)¢'Fçûµ°ûB½b«X®"×S®k];4ßXR3S_8H—˜EÙ²`ÁnܸÁ¿ÿýoC‡"^"Möƒƒƒøê«¯9r$ŽŽŽØÙÙÑ¿.ÌýE´~}îGõ«W¯&++‹¥K—2pà@133£N:¬[·GGG­dÒÞÞžíÛ·ããュ¥%žžžêú¯SE6mÊÝówúôé|ôÑGT¬X† Æ—_~©SŸ {O}úS”ñËceeŶmÛhÒ¤ åÊ•ÃËË‹uëÖáååEXXIIº=I.J,…«’|ù17gäÈF8:–ÃÎΜþýk³pa»ÿÅ ÀêÕÉÊÊaéÒw8°ŽŽå03SR§NE֭댣c9­dÒÞÞ‚íÛ»ãã㈥¥ žž˜7¯Íÿúw[]oÓ¦ÜÄ`úô|ôÑT¬hƒƒ%Æ5àË/u›oYØ{êÓŸ¢Œ_++¶mëN“&U(WÎ//;֭댗—aa7HJz¤S‹KaÇJä¯CͨT*FlÁ±kÇÈÈÊàFê þ³ÿ?ùÎ×/o^€ˆë¤d¤h\ëT;w§šÿÛöüóéÓ¹õà /ä—Ó¿`ª4¥­G[ü½üÕ÷=”GYHHM`òžÉEžŸŸ€dde0à—üý;É’ÉÊÎâFê D`Ä–êûê[ÞtŸÿȱkÇÈ|šIBjÿÝÿ_­-7zÔëÀ§Û?eý™õÜzp‹Œ¬ Îß:Ϥ]“¿®sÌÏ5>ªÀ7 ÿ’§ú†Â÷ßϤI“ ºÍ£xùtOttn2ѹsg­kyeyu.\¸@`` ê‰óž8ƒöGÊÞÞÞØØØh”U¯^€¨ËbbbèСƒV:t`Ò¤I…îSaï©OþN—ñËÓ°aC*W®¬Qfbb¢ž:ƒƒÃó;YL±v¬JJtôýÿÅWCëZçÎÕÿW'7)¹p!÷h÷ÀÀ_ üU=õ%÷ï+÷ÏÿëòövÀÆÆT£¬zõÜi<›“{ܵâèÐÁI“´÷/Haï©OþN—ñËÓ°ae*WÖœšfbbDÛ¶nDF&}‡çO]+®X ;V"`ûÅíDÞŽ¤ÿÚþêr…BAG¯ŽìŠÜ…±Ñ³ÿbÜ+¸ã`åÀÑø£4ž×X]=1š¼?`wänNÞ8ÉààÁZ÷ú²Ý—T²Êâ5àÍl¿°K·/ñÁº4îûníwµ¶¥,ªoô üZ8›ÎmbÈÆ!ùÖéÓ ^±¹ØºÐ¡VöDíÑC¥BI·7º±õ¼æ'Ë=ëõä`ÌAvGífÒ.íÿ—òÞ4é³!ŒÝ1Vk[Ъÿ¼°ûBükù—vX/½˜˜ÜÜÜ06ÖNÝ®\¹ÂرcéÓ§}ûö5@tâefÐ'ûy^”ÔêžÙÙÙdgg“““CNNŽÆÜÐ'O4ÿƒÎooÙ¼{å7§4¿8t{ZØ{êÓŸ‚fü «¨méòz]ÿ~JJaBÎ[à™­";[ENNî×_Ã|òDsÞ­……ö/ä¼{å×½âùù+Ü=õéOAŠñǯ~þ _W׿¡ÉÜØœÕ« lHEËŠ˜›ñ†ã,í¹TýÄ:ïi>€ÒHÉ¢‹h\µ1&šÿöM”&üø3£}GS½buL”&”3-G3·fõRï±`flÆš~kèߨ?öåì136£ŽC–ôXB‹êÅxB¡`Æ»3˜ßm>o»¿Myóò˜(Mp±uášï°¤ÇÞ®ö¶Þ±Mï8€ØZØbflF#çF¬ê·Š&.M´ê)ŒXÐmÿéø:5ÄÂÄ+3+85`z§é4sk¦sÌâÕK`` [¶lѺÇ~H:uøê«¯ xÙôɾ‡Gîé‰;wî¤nݺ×~ûí7:^^^ìÛ·víÚk5jä> ܳgÖêõ}û´?J-ÅÑ]Æ/ÏéÓ§¹}û¶ÆÓý¬¬,öïÏÝí%o,ŒŒŒxúôi‰Åbhع3–ºu5ÿö[ìÿêä>éõò²`ß¾Úµ+Þ½skÔȽǞ=q|ò‰æn$ûöÅë½òGt¿<§OßæöíGO÷³²rØ¿?·Ÿyc`d¤àéÓÂeÝúÄ"ŠÎÖ–¯;|Í×¾V—å¨r˜:…B¡µ+MC§†üòþ/ù¶enlÎhßÑŒöýÂûÚ˜Û0µÃT¦v˜ªu­g½ž:öZToAôÄçO[ëäÕ©Pc雹 Ó;NgzÇéåM\šÐ»ör …‚> úêÉ|ac.m³»Ìfv—Ù†ã•qýúu¹ÿ>sçÎ¥[·n˜˜änžÃ|@ÕªUY¶l™º\ˆ¿2è“ý€€¦NÊâÅ‹IJJâþýû¬[·N½X´wïÜ_v ÀØØ˜þýûÄõë×yòä III„……1jÔ(¦OŸ^ཞ§GÜyŸþ9«V­"99™;wîðÃ?0mÚ´bè©¶âè.ã—'==®]»ΣGˆŒŒ¤_¿~DFFâëë«1…ÇÎÎŽ .“ï6¨EÅÐj0uêQ/>MRÒ#îßÏdݺHõV—½{ç¾)0 .ÆÆFôï¿“  s\¿þ€'O²IJzDXØ FÚÏôéÇôŠ£GÜ„èóÏCYµê"Éəܹóˆ~8Ë´i%3¶8ú£ËøåIOÏ¢k×-„‡'òèQ‘‘Éôë÷+‘‘Éøú:kLá±³3çÂ…»ÄÄ¤ä» jQcE÷ßýÿeÛ…mÜH½AFV—n_bôÖÑ\LºHSצùîn#„(¼[·nHjj**•Š;wî°qãF ws‘~ýúáêêÊÊ•+±²²2p´âeeÐ'ûÞÞÞŒ;–Ù³g3bÄFŒÐΈ!Œ¢q½o_/ºuËí»§g–,y‡aÃö2hО|Û›0Aûc÷ÂhÚ´ ƒ×cùòs ð›Æµ>}¼X¿>“â}_^ýÑeüòøùU%&&…¦M5w[²²2Q/¤ÍÓºµ+¿ü‰‡ÇruÙ}òÝ‘GŸXDÑÅÝ#("H«ÜÒÄ’Im ¿Ö©$\º}‰.A]^X¯g;¾ïù})D$„nîÝ»Gÿþý¹wïžúSv•JżyóÈÎÎfÚ´iøûû3}úô|§Å ‘ÇàsögÍšÅO?ýDÓ¦M)W®æææ4hЀyóæim¿8xð`Ž=Jß¾}qrrÂÄÄ'''Z¶lÉâÅ‹ùâ‹/ôŽcéÒ¥|óÍ7Ô¨QSSSªW¯Î·ß~ËСC¨P¡B‘ú™Ÿâè.ã¹Oë:D—.]°±±ÁÊÊŠ:ªµÇþœ9sèÕ«vvv…šK­k,/ƒY³ZñÓOiÚ4wwssc4¨Ä¼ymX³æ]ºƒ×ãèÑþôíë…““&&F89YѲ¥ ‹·ã‹/šéÇÒ¥íùæ›Ô¨a‹©©’êÕËóí·-:´>*˜©Ÿù)Žþè2~û´þС¾téRS¬¬LèÐÁÐÐ@­=öçÌiM¯^5±³3/Ô\|]cE7©í$zÖë‰[7L•¦ØYÚá_ËŸ6³ ›˜ IDATR»rmC‡'Ä+ëþýûrãÆ ²²ž‰ R©¸ÿ>«W¯f̘1Ì™3G}ñB UVBæMÝÈÛv±,=z4 ,`Ó¦Mêé>¯¢ÌÌL,,,èÚµ«Îg¼  Ÿ~ú)sæÌ1t(ÅjôèßY°à$›6uUO÷yef>ÅÂb.]»z°uëËõ ¾Jú÷_RRééé/®xxÔ`þü$:u*\}!ÄËãïÿ~(J!DÙñôé†Ê©S§ ½åuJJ ëÖ­càÀ/®,^k’ìÿOùòå™6mZ‰mµihæææ¥zP•ÐMùòfL›æË´i¾†¥D˜›£R}fè0„â%”EPÐ .^<ªµÍµ‘‘FFFêƒ7!÷Ôû*UªP­Z5?~lˆ€Å+F’}!„BÈÎÎpþü³< *TÀÕÕ•jÕªáââ‚««+...¸¸¸hŠ)DaH²/„BaûöíéÕë?tèPWWWªV­Š™™™¡Ceˆ$ûB!„àïïÔ E‹$Z·–­sEÉ0ø¡ZB!Ä«àÒíKÌ›OôÝhC‡"„…&ɾBQ“.æ&û÷$ÙB¼:$ÙB!„¢Œ*Òœý?ÿü“„„ EqÅ#„ÞæÎËܹs †xT­ZÕÐ!!„ÏU¤dßÓÓ Þ}÷ÝâŠG½ä&ùŸÍ ŠxmÌÁÓóõ=¹2þ~<Û.l£Eõ4tjȱkÇ8›x3c3ZTo{÷|_÷àñÅâzÊuÌŒÍxÃñ |\| l»A•»vŒ I(gZ޾ ûªëÅ%Çq6ñ,‰i‰X™YÑЩ!o8¾Q,qÞzp‹ÑH{œ†§½'-«·|îxèÚ¯úUêsäê.ݾ„­…-þµü±6³ #+ƒ+!ÜH½AUÛªt¨Ù¥I±·£ï8æÝóbÒEÊ™•£eõ–T-/o|…xY)Ù¯X±"+VdΜ9ÅzÉMö›½ ŠxmS±¢¡c0œøûñÌ›…‰ßýž+!êkJ#%Ó;N§G½¯Ùµ›Ïûœh”7rnĢlUY£mS¥)sCç@]‡ºômØ—GY²qÆÿ©W‹ê-XÔ}&zÇ|6˜É{&ó$û‰º¬¡SCºÔÉÿ4u]ûefl¦Ñ/€Ùg³®ÿ:²²³¸a ·ÜR_«ëP— lÀÌØ¬XÛÑgM•¦Ì>8›£ñGÕuŒù¢í xs@¾ã#„0,ÙzS!„Þ‚"‚HœN׺]q°và­ ¾z˜É{'óNÍwÔO™/ݾħÛ>åiÎSêU©GãªI’NÈåNÝ8ň-#Øðþi¡AAöù˜/Ú|¡N~Ç·OŸzpêÆ)þ¼ö'ÍÝžMÅËÈÊ`ûÇÛ©^±ºÆ=­Ì¬þ k3kNÜ8Á½‡÷0QšàïåO±~þ]+I-lœ?ÿ‘ìœlFûŽf´ïhuÝѾ£yoå{Zý×§_*Tì¼›*6UÈn•M§å8rõo¹¿Åò€å˜*MøàÍè°¬¿Gÿ®•ìµ}Æ1#+ƒmo£FÅê² ˆ þ»ÿ¿¬_!ɾ/!Iö…Bè­Ç=´æk·ªÑŠg7’ô I]v"áJ…’±-Çj<å®`Qa͇1i×$N$œÐHŠ»Öíª•è)ŒX¾‚ÝQ»óéîûzÇy2á$&Œx{„F][ú4ìÃòcË5ÊõéW÷7º«t¥BISצÄÜ‹ap“Áê š]5œlœ¸‘zC«OEmGŸq|¯Î{‰>ÀG?béÑ¥œH8‘o;BÃ’d_!„Þþšlæ±4±àiÎSuYÚã4*[WÆÜØ\«¾«­+©™©å-ž]rt »£vcgi‡_5?­156E‚_Nÿ¢1×^×8S3Sq´vD©PjÕw±uÑ*Ó§_yÓ‘þ*on|A×Ò2Ӵʋڎ>ã˜ß)Œp.ï̹[ç´® ! O’}!„%ÎÆÌ†Ä´D2Ÿfj%Æ×R®PÞ¼¼F¹ÒH;áø#æÌÍÙ5x-Ÿ­’V©Tütü§"m]Þ¼<·Ü"[•­•ð_O¹®U_Ÿ~½,ôÇüÆ@¥Rq#õ6f6%¯B?r¨V1[¿~=­ZµâôéÓz½þ‡~ U«VDGË Bˆ²ãͪo’­ÊfÎ!ÍÝÛR2RøáÏÔu C¡P`¬4ÆLi¦Q¾äè­§èºò®êMFV‹/Ö(¿žr g6hÕ/Î~•6}ÆqûÅíÄÜ‹Ñ([y|%÷Ý{iû)ÄëNžì³ëׯsðàARRRôz}ll,$==½˜#BÃÔd;/ídEø Ž'ÇÛÙ›ôÇéìÞOò£d:5¤™k³BµÕÈ©çÏÑeeÚy¶rçÎ_¸u[ Û"ÅùQãØyi'óÂæq$þˆÆn<æ&ÚSuг_¥MŸq´0± ëÊ®t¨ÕJV•¸˜t‘#W P(ÔdPi†/„($Iö‹YŸ>}hܸ1 64t(BñÒ¨ãP‡¹]çòùoŸsææÎÜ<£¾–·}a§ßŒöÍÑø£\¹{…•+ܽ޿öÿšµ§Ö’š wœõ«Ôgšÿ4&ï™LÄõ"®GÐÀ©ïÕy¯C¾.±~•6}Æq Ï@BãBÙva›º,oŸ}Ù‰Gˆ—“$ûÅÌÅÅíLBQ–¸Upc´ïh97*ðZý*õ5Êýkùó–Û[Š;DBJ¦Æ¦Ôs¬§uÒìóÚ°µ°eÇÀüý;W“¯bcnC‹ê-p²q"G•£±UŸ8êàëî˘9[œ +JO½z•ܦ¤¤BOçóð¨ÁüùItê$ÓÿDÉ8{ˆ2©í$>öùØÐá”)òïW¼ˆƒƒVVVú¾kùÃ7§­g[5¤~ͱkǘ:ûröÌï6_]žþ8¡›†âWÍa͇½T}™æ? €GYØqq§oœ&ñA"V¦V4rnD¯ú½(o^>ß¶š¹6ãç?s6ñ,fÆf´®Ñšžõzæ;ÍswÔnvGî&íqžöž|ØøC½cKŽcÓ¹M\¾s™§9O©fW^õzQÛ¡¶F[…í“®1 !^.’ì !„ÐYjf*á×éïTŸïû7·ÓoPÇ¡¶¶$>HdÙ Éþ®È]ê…œR'à\>w§±£ñG9víïÕ}ï…÷ý`Ýdçd*F[ [÷X\¤¾¤d¤ÐrIK>y¨ñºÝQ»Y¾‚ l jùªmyWõæ›ß¿!!5A]OÔÎß:Ï”öS4Ú™°s›ÎmR(ö›Îm¢oþ:ǺöÔZ¦îJ¶*[£½Õ'WóÿÿЫ~/û¤kŒBˆ—‹$ûB!ôöcÄT³«ÆhßѸںbcn€o5_ÖZÇÍ´›8Ù8pøêa|\|ˆ¸Á᫇éÝ 7aqa¹¯qñz§ðëá…NöíËÙK_²²³0Qš0¨É ê8Ô¡¢eEÒ§q,þëN¯c~Ø|¾}÷[¶–[ާ½'ÿíø_¬¸pë‹,fÍ©5 i6D=&¿EþƦs›°0±` Ï@85 ùQ2?Ÿø™åÇ–ëëÉ'™²w –¦–ôkÔU`ª4åü­ó¬<¾’íùÍÜšQµ|Uú¤oŒBˆ—ƒ$ûB!ôVÙª2›?ÜŒ…‰…F¹¯{n²Fï½¹™v“¸ä8†6Jjf*¡q¡Ï’ý«a¸WpW?éžU«P©T…ŠÍDiR,}©`Y]ƒv±÷Ê^ÆäÞÃ{deg`ª4åøõãZm¹Û¹³qÀFÌŒÍhY½%Y9Y,[Àé›§ÕÉ~ð™`ævK[¶ê׿W÷=Þ]ñ.qÉq…Žuä–‘ä¨rê„·³·º¼µGk:7äãõ³ãâ>iþ‰N}Ò7F!ÄËA’}!„zó¯å¯•4wkŽÒH©NêCãBð«îÇå;—Ù|~39ªn¦Ý$þ~<ýõ/Ôýš¸4)Öøÿª ¾ÜI¿Càš@)9õàñƒ|ÛÊKôó¼áø÷ÝW—E݉ÂÖÂV#‰†Ü„û½:ï1/l^¡c=“x¥BÉÜй¨T*Tä¾1zšý€˜{1:÷Iß…/‡"%ûy{Ë»¸¸W'óif‘’}¿j~Dßfâo™ÕyVf¹?S»"w±íÂ6Új_³=óÃæ³;j7c[ŽÕøtáÁãl9¿…ÆUëܧâŒQQúäɾBˆÑȹVfVüý;¦JS|\|Ô×|Ý}ùöÜÝ^ ;…JvÎ~AÚz´%âz]ìJ­Jµ€Ü½ì-L,p.וּ}¥.7Ìæs› ¹Â[ ߢzÅê$?JæfÚMê8ÔQOs*l[û®ìcí©µl8³w;w¬Í¬¹“~‡Ä‰dçdÔ;Hç>gŒBˆÒgôâ*B!^fJ¥ŠìÂÍl)UJ…’¦.MhìÒXcAé_ü·Ýß.õØtñq“éÓ *T\º}‰K·/áTÞ‰ ÞAT°¨P¤¶¬ø9ðg<í=y”õˆó·Îs;ý6û|ÌÞèÔ–¥‰%ëú­£¿wL”&DßæÔS$¤&`mfÍG?¢®c]ûTœ1 MÙÙ¹¬)•…û´J}(T…ý<42GœB¡`þüù2G”š¼i<%õû/))‰ôôôBÕmÜØþ3™~ýÒJ$–ü¤d¤u' · n8Z¼V&!5©7p´vÄ­‚›º\¥R‘J¥¢±Kc”Šü瘗†Âö%%#…øûñؘÛPÍ®çoçñÓǼYõͶ•wÍÝÎ+­öcîÅþ$7[7l-l¹“~‡ØäX<í=Õsí kVv1÷bÈÈÊÀÑÚk¹ùºôI×Eᥤ(iÜØU«nÒ¼y†¡Ã/)‡¢L –iÂÊ*‡m Š¢®^5!<Ü‚.] ·6G}I²¯§C‡1uêÔ|“ý·Þz‹É“'ãîî^ú !^;ææ*úöM#(¨<©©òk]ˆWÁüùv¸ºfѲ¥þ[· Qò¿B xë­·˜2eŠ$ûBˆR3|ø}ŒaÁÙEˆ—ÝÉ“æìØaŤI÷PÊì;QÂJm7ž””öîÝK\\&&&4nܘ-Z¨¯ß¹s‡Å‹S±bEFŽ©ñÚÌÌLfÏžR©ä³Ï>ÃØØ¸PmþUZZ!!!ÄÄÄ`ii‰··7Í›7W_ß¼y3gÏžeüøñXZZj¼6ïÚĉ177ççŸæ÷ß ((ˆÜÝÝùè£8rä{÷îå£>ÒJøããã !)) ;;;Zµj…——æŽ !!!„……1lØ0*T¨ÀŽ;ˆŽŽÆÁÁ®]»bg§Ûæ'OžäàÁƒ¨T*üüüðññaëÖ­œ>}Z£¿½¯­­-;wîäòå˼ùæ›´oß¾Ðñë2–¿¯ Û¶m#>>'''Þ{ï=lm5wŠBh+W.‡1c’ùòK{ºw@ݺ ’"+˜<Ù_ßG´i#OõEÉ+•d?((ˆ1cÆ–¦¹´ŸŸ›7oÆÞÞžJ•*‘””Ä”)SP©TŒ5J]oĈ±téRu¢_˜6ó¬X±‚±cÇ’ššªQ×××—ƒbddÄæÍ›Y³f #GŽÌ7A]³f Ÿ~ú©:Ù?pà+W®T×kÙ²¥:ÙŸ:u*­ZµÒHö¿øâ ¾ýö[²ÿrúB¡`РA,^¼“Ü-¸BBB˜1cÞÞÞL˜0ÈÈHuýŠ+²ÿ~4hðÂqÏÉÉaذa,[¶L£|Ĉ¤§§óÓO?iô7ï¾o¼ñãÇ'..€þóŸ´oß¾Ðñë2–½oݺu7nñññêúööölÙ²_ߟ°)ÄëªgÏ4~ýÕŠ¡CÙ¼ù•+ËB¼LT*˜8±27oš°pa’¡Ã¯‰Oö·mÛÆ Aƒ066æÝwߥvíÚ<~ü˜}ûöʇ~ÈÎ;˜;w.'Nœ`ìØ±øøøÐ¬Y3–/_NPP~ø!C† ѹÍàà` €>>>(•JNœ8AXX999é6›iÀ€äääpàÀ>þøc\]]ž;mgÑ¢ELŸ>…BAçΩ]»6W¯^eëÖ­,_¾{{{¦OŸ®ñš¡C‡bllÌ!C°²²b÷îÝ\¼x‘‘#GúÂ8çÎ˲eËP*•tëÖêÕ«ÅâÅ‹©T©à}‘‡Ž©©)ƒÆÙÙ™æÍ›ë¿®FŒ©©)C† ÁÜÜœ.^¼H÷î݉ŒŒ¤bÅŠEj_ˆ²ÎÈ,¸E@@U†udíÚ›XXä:,!Äÿ,X`Ç®]å JÄÍMöÖ¥£Ä“ý/¾øKKK:Ä›o>;O¥RÑ«W/6oÞLdd$^^^˜ššŒ··7¬X±‚Q£FQ¿~}–,Y¢W›“&Mr“íáÇkĆRÉr àÚµk8p€ê©ó7ß|À¦M›èÞ½»ºüرcøùù1oÞ<¾üòKÊ•+§¾V£F öíÛ‡…EîóÓ§O§~ýú>|˜´´4llž¿óÆìÙ³122"$$„V­Z©Ë·mÛF·nÝ |]ÕªU9xð ÖÖÖê²¼7LºÄ¯«*Uªªî×Ó§OéÓ§›7oæÇdìØ±z·-ÄëÂÆ&‡eËéÕË™~ýœXºô–<áÂÀ²³aÆŒŠ¬\iË´iwxë-9-W”žMö¹xñ"5jÔ`×®]ìÚµ •J…J¥P?Q?~ü¸zÞ·««+k×®¥cÇŽtèÐòå˳iÓ&u«K›VVV\¹r­D(µ©!×®]#!!·ß~[#QhÚ´)¬]»–“'Oâçç§¾6aÂu¿LMMi×®QQQ$&&>7ÙçæÍ›´oß^#ÑèÚµ+>>>DDDäûÚqãÆi$úúƯ« &hôÉØØ˜ÿûßlÞ¼™Ã‡K²/D!¹ºf±qã þñ*ôèáÌÒ¥·d¿’žnÄ?ÿY™Ã‡-ùî»$ÙjS”ºMöïܹ@LL ÿú׿ ¬÷÷¹ô~~~¸¹¹G·nÝðððЫÍ{÷îP«V-½ûPîß¿@õêÕó½^£FîñãÉÉÉå...Zu­¬¬ÈÊzþÇy÷,hj‘»»{ɾ§§g¾mé¿®ªU«V`Y^ BˆÂquÍ"88Ñ£éÑÙ÷ßOcôèdÊ——i=B”• ¶l±fÖ¬ŠääÀêÕ7iÔ(ÓÐa‰×P‰&û*T N:XÏÇÇGãûáÇG5øùçŸéÙ³']ºtѹͼ9ÞQQQ/Œ5o!izzºÆâ^ ß½ôu‘slll¾×cbbtÞe§0÷,è`¯çø•·úïm6~}Ç2..Nc‡¤¼²¿Æ „(<›‚‚n²i“ ³fÙ±c‡¦Ò³g•*e¿¸!„β²ìÛWŽ+l9ÞŒ¾}S3&[[y£- £D“}<==ILL¤W¯^¼ñÆ×U*{÷îÕ˜w¿lÙ2~üñG>þøcfΜ‰··7 àäÉ“T«VM§6•J%žžžDDDðÃ?¨øæ9|ø0o½õ …B½ÈvçÎŒ1B]gß¾}>|X«oy;Éæi¶««+U«VåðáÃlß¾÷Þ{O}íøñãlܸ ¼½½_ØVa¹¹¹áääDHH‡ÒØ’ô×_-ð©~qįëXæ™1cð‰z¯IDAT]ºtQO!zúô)_}õo¿ýv¡ãB™víâà ãÅˡēýnݺ±fÍFÅž={سgúš‘‘;vÄØØ˜””zõê…™™™úI1@“&M˜3g#FŒ`Ô¨QüðÃ…n wïÞ$''3nÜ8ÂÃà W×õóóS/èmذ!£GfÞ¼y¬_¿^]ç_ÿú±±±¬Y³F£_þþþÔ©S‡‹/2sæLàÙ>ûù1b Ìœ9“;v°cÇàÙ>õ_ýµ¾C\ 1cÆpéÒ%‚‚‚ظq£º|øðá$&&²eË–B¿ÁÐ%~]Ç2ÏÂ… ùì³ÏXºt©º,oŸ}ÙvSˆâan®¢}û‡´o/‡ù!Äë TÕ ¤[·nìß¿Ÿ¨¨(rrrpww§Y³fêE¨§NbÀ€´jÕJcA. ÞIçÎ;$%%áààP¨6ó 6Œ¾}û²gÏâââ(_¾<ÞÞÞ4mÚT£ÞܹséÛ·/¡¡¡Ó¦M4hÀæÍ›ñððPOÝÜi<ìܹ“èèh?~¬^ ûÖ[o1yòd­Å±Ó§OgèС'жnÝZëÚvíÚannŽ£££ÖXæ]«\¹ò Ç]©T²bÅ †ÎÁƒÜˆš4iB­Zµ°··×èÓóî«KüºŽežš5krñâE¶oßN||<ÎÎÎr‚®B!D(Ty{Vê!olppp±$ŠWDD„Öè… 2jÔ(ºwïÎæÍ› Ù3'NdÆŒœ:uІ êÕ†B¡`þüùtêÔ©˜£"#GŽÄÊʪÄ~ÿ%%%‘ž.[ô !ÄëÎÁÁA½£‚Kåɾ0œ6mÚP¯^=5j„‰‰ ÇW/’ýôÓO B!„(I’ì—qMš4á÷ßçèÑ£ê2333fÍš¥±CB!„({$Ù/ãöïßÏñãÇ9}ú4wîÜÁÉɉöíÛS¥JC‡¦ö¢µB!„B?’ì¿7nLãÆ FÚµkG»ví †B!D™cdè„B!„%C’}!„B!Ê(Iö…B!„(£dξB¼„ÌÌÌ ‚Bˆ—€±qÑÒuIö…â%$'G !„(ENöذaCqÄ"D‘œ:uÊÐ!ˆ×È­[·ððð0tB!Äs)T*•Jß°qãÆâŒG!^½zõ"88ØÐa!„ .R²/„B!„xiËnJѧ¨T}¬Øµ~±GjKD„#f‚$÷æáN$’p½_¯¼^¹Ï¼Î}®Ö¹òÇD£ÑhB!„Bˆüm­i^G „B!„ÆâE!„BQ Hñ"„B!„(¤xB!„BR¼!„B! )^„B!„‚/B!„BˆAŠ!„B!D Å‹B!„¢@0Ïë„B_ý5{öì eË–L›6-×Î¥ÑhXµjýõqqq$''0}út&Mš¤n·páBÜÝÝs-!„ù‡/B!ŒJpp0ŽŽŽ¹z®ñãÇ3wî\½å·oßVc¸ÿ~®Æ!„"ÿâE!D¾óäɾÿþ{õó!CèÑ£¦¦¦”,Y2#B‘—L4&¯ƒBQ0„††rëÖ-œœœ¨Y³f®œçÌ™3Ô©SGý|ñâEÜÜÜxúô)‡V×Õ«W¢E‹æJB!ò•µÒò"„ù܉'ذa¡¡¡<~ü˜òåËãííM×®]15Uæ]Ñ‹2eÊV¬XÁ_ýEbb"õë×çÓO?ÅÉÉI=î§Ÿ~ÊÙ³gèÒ¥ #GŽT×}ûí·ìÞ½€fÍš1}útÖ­[÷Â1/ÿ÷ÿÇ–-[')) GGG<==ù׿þE‰%ŒºÞ>}úpîÜ9½eÖÖÖ·74æ%'âB‘i„BäKOž<ÑôìÙSüéÖ­›ºmÆíºté¢éÒ¥‹Þö%K–Ôœ?^ݧiÓ¦ê:???­sÿë_ÿR×uêÔÉàyºvíª.ðà¦]»v™ÆZ¨P!ÍÊ•+ºîªU«fzC?û÷ïÏ•8„Bä;kdªd!„ȧÈêÕ«011aÀ€¬[·Ž?ÿü???ž={fp¿mÛ¶qãÆ Ö¬YÃÏ?ÿL©R¥ˆ‹‹£W¯^h ôNoÁÉ®~ýú±}ûv .̼yóظq#ݺuàñãÇôéÓ‡ƒ¾ôX¿ýö‹/ÖZö矲wï^öîÝËš5k^KB!òé6&„ùPxx8þù§úùóÏ?çÛo¿U?÷êÕ‹GÜׂ¿þú‹bÅŠàììL»ví8{ö,û÷ï§E‹Zû˜˜˜d;Ö‹/ ~ž7oƒ  cÇŽÔ®]›sçΑ’’¬Y³Ø¼yó ×°aCRSSµ–5nÜWWWbbb^KB!òiyBˆ|(ã€t€þýûëmcgggpßúõë«… @ëÖ­µŠ“'NäP”Š#GŽh}~ÿý÷ÕßMLLxï½÷2ÝöMŒC!Dî‘âE!ò¡Çk}¶··7zßÂ… k}¶´´ÄÒÒRýœ˜˜¨·nW²§OŸ}¾'Ož¼ðü?ën›“òKB!r/B‘¥w‘JwòäI£÷ˆˆÐú£UŒ¸¸¸J÷²tºó.\0ú|åË—×úži<·=pà^^^êOfcxr;!„‡/B‘yyyi½ŒqôèÑ\¹rEýÇÏ?ÿlpß‹/ªý5 ß|óºÎÒÒRí>•±@:tèZÀ¬ZµJoªâ—Åšq æéÓ§«…È©S§´Æ¡ôèÑCýýöíÛ«?ºã\²*»q!„(8¤xBˆ|ÈÆÆµuäܹs¸¹¹Q»vmjÔ¨‹‹ ÿûßÿ îëîîÎàÁƒ©U«®®®,]ºT]7nÜ8uö±®]»ªËCCC©T©µjÕbèСԫWÏèXmmmYºt)ffflÞ¼™²eËâááAÆ IJJ”±8cÇŽÍÚ‘ù%!„¹GŠ!„ȧڷoÏÑ£Giß¾=æææ<þœ³gÏFµjÕøôÓO îçææÆ¶mÛxüø1W¯^ÀÚÚš¯¾úJ«ÆÇLJéÓ§ceeÀÍ›7yúô);wî¤FYеsçÎìÛ·-Z`bb­[·8yò$ÏŸ?ÇÞÞž1cÆL¡B…²ùm¬8„Bä¡ ÿ…Bä+‰‰‰„‡‡óøñcÊ—/O™2e´Ö÷êÕKí*ÖµkWÖ­[Gjj*çÏŸ'11‘5jd:;Ù“'OÇÔÔ”š5kbjjJXXqqq8::R«V-@i¡¹uëNNNÔ¬YSïx DFF’””„ƒƒnnnß#sûöm­îi-Z´P·{ðàÖ¬h7ÆÚÚP&È8[½zõ(Z´h¶ãBQ`¬•âE!Þ†Š!„â ³Vþ%„B!„(¤xB!„BÒmL!ÞÆŒEB! 8ó"„B!„(dÌ‹B!„¢`âE!„BQ Hñ"„B!„(¤xB!„BR¼!„B! )^„B!„‚/B!„BˆAŠ!„B!D Å‹B!„¢@âE!„BQ ˜¿Ê·æÚµk9‹B(eË–åwÞÉë0„Bˆ·Æ+/óæÍcݺu9‹B(ݺucíÚµy†BñÖx¥âäo!ÄÛ©{÷îy‚BñÖ‘1/B!„BˆAŠ!„B!D Å‹B!„¢@âE!„BQ ¼ò€}ñö˜:uªú{ãÆiÛ¶mÞ“é6&rÅ­[·hÑ¢…ZP¸¹¹1zôhzö쉩©)7nÜ sçΩûDGGÓ¥Kµp)[¶,#FŒ fÍšôèÑ#ÇΣ«oß¾ØØØ0räHÊ”)ÀãÇ:t(IIIZ±¥.åË—gäȑԮ];ÓØ„B!DÎ’–‘+fΜILL U«VåĉØÚÚP³fM¾úê+RRR=z4§OŸ`Á‚<|øPZ>Ž=JéÒ¥>|8?þøcŽœGWýúõÙ¸q#&&&ôêÕ‹wÞy€¸¸8.]ºDíÚµµb+\¸0ÇÇÉÉ €Q£F±`Á‚WÿÒ„B!Ä Iñ"rÅŽ;Ôß‹+¦5^%::ZýýÌ™3ÄÆÆR¦L‚ƒƒÕåíÚµS €,^²s]¾¾¾˜˜˜P¥J­u111Ô®][/¶ô”–)^„B!rŸ/"Wܾ}[ýýÈ‘#9r$ÓmÓ‹ŠŒcI2.¥J•ʱóèÊ80ßÒÒRk]jj*€Vl%K–ÔÚ¦D‰™žS!„Bä)^D®ptt$>>€fÍšñî»ïfºmzaR¼xq®\¹(cY2ºyófŽG—™™™ú{z Œ®Œ±ÅÅÅi­ÓU!„Bä)^D®xÿý÷ ”V‹±cÇbgg§µMll,çÎS[>¼¼¼8qâ;wîäîÝ»/^ÿ;Ov´hÑBmÇŽÄÇÇ«]Ç~ýõ×lW!„BOŠ‘-GŽaêÔ©zËñóócâĉ¬Y³†ØØXBCC©V­:t hÑ¢\¿~K—.qüøqÚ´iC›6m9r$Ë–-ãáÇ$$$РA:uêDDD„Z8èÊÎy²cäÈ‘üüóÏ|˜ØØX¬¬¬pvvÆÍÍzõêéíïííMdd$›7oVßbß©S'Ž;¦µ³³s¶Ïãèè¨u-Ü[ZZj­sssSoÓ¦ ‘‘‘lÙ²E+6Ýï&ýå™B!„"g™h4MvwîÞ½;k׮ͱ€ÄÛíðáÃÔ¬Y“"EŠ¨Ëž={F‡صkÕ«W'444¯Bÿÿ !„y`­´¼ˆ|eÉ’%кuk*W®ÌÇ "22Pf›?~G)„B!ò‚/"_iÖ¬[¶laÓ¦Mzë*W®Ì¢E‹^ià½B!„(¸¤xùÊ Aƒø÷¿ÿÍÞ½{‰ˆˆàÑ£G888P¯^=4hé{X„B!Ä›OŠ‘ïX[[Ó®]»¼C!„Bä3¦y€B!„BCŠ!„B!D Å‹B!„¢@1/B‘%%%‘œœœ×a!„/enn޵µõë9×k9‹Bˆ,¹ÿ>=Êë0„Bˆ—²³³{mÅ‹tB!„BR¼!„B! „Wê6väÈbbbäÅBˆ·’‹‹K^‡ „B¼U^©x©R¥ 666|ðÁ9Ù2þ|êÕ«GË–-ó:ñ–ضm›/B!ÄköJÅ‹ƒƒ|ÿý÷9Ù2þ|Z¶l)¹(^›˜˜˜¼A!„xëȘ!„B!D Å‹B!„¢@âE!„BQ Hñ"„B!„(^iÀ¾Bˆ‚çéSBB¬9wΊ˜ <0%55¯£Bd…••†¢ES©\ùuë&Q½ú³¼Iˆ×BZ^ò™Õ«WãååÅ©S§²µÿÒ¥Kñòò""""‡#"ÍêÕàåÙÌQ–.Uö—}íΜ±bìØ4hàJß¾eøã¢DEY’"ïꢠyðÀ”³g­˜5ËÊÒ¢Ey~ø¡wî˜åuhBä*iyÉg®]»Fpp0 ÙÚÿòåËóèÑ£ŽLˆ4×®Ap0d3G¹|YÙ_rôµ¹uËœY³Š³ysajÔxÊĉwx÷Ý'”*•œ×¡ !^‘FçÎY±c‡+Wå—_ìùôÓ{ôésssM^‡'DŽ“â%ŸéÙ³' 4 nݺyІõì €äh°jUfÎtÀÁ!…Å‹oÒ¦Íã¼I‘ƒLLÀÝý)îîOñó»Ë’%Ř7¯8«Waþü›ÒL¼q¤ÛX>S¶lY¼¼¼°··ÏëP„0¬lY¥Û—äh¾–’_íÈ”)N pŸ;®Iá"ÄÎÆFèQwÙ±ã*%J$Ó³§3{öÊë°„ÈQoMñ’q,HXX~~~´mÛ–¾}û²wï^½í¿ýö[¼¼¼¸ÿ~¦ë2vÍÊxüS§N1tèPÚµkLj#¸r劺݆ øøãiÛ¶-“'OÖ;~fc^RRRX¹r%½{÷¦M›6ôêÕ‹¥K—’”””é5ŸdëÖ­|ùå—;wî$((ˆC‡©Ë yyüø1mÛ¶Õ+>V¯^Í¢E‹ ¤D‰Zë¶oßÎÔ©SÕ8~ùå.\ˆŸŸŸºlàÀüòË/z×øÝwßJÅŠ |›B‹“tíª<\)þþÊògÏ {w8qþïÿÀü%ÿ¹¥Ùº¾ü2ä(¿ÿ® r”°0e{9ª®ËX0¥? @)JÒscÇX³BB`ÎÈ£ìÜ AA!G ŽyyüX)@t‹Õ«aÑ" eûv˜:õŸ8~ù.T ·t*Ëu}÷„†‚䨞I“œ ±æ?®S§ÎÓ¼G‘ÌÍ5|ûm|˜mÛ¶½ð˜_|ñÀÉɉ¹sç²mÛ6/^L… 8{ö,C‡ÕÛgÊ”)¼ÿþû¬ZµŠ€€|}}111á³Ï>ãâŋܹs‡+V`ooϬY³Ø¶mëׯgÚ´i899ixâ%†þý•‡ìŸV–}ö=ªM𬠔B`Õ*ؼ RZr(G™ÆA !ÞZææfϾEl¬9¿ýV4¯Ã╼u-/Å‹×[fi©4£¦¤¤uŒmW¬X1½e.\s1ÇÕ¤Ko(îŒËuîš­,}ÛÄ ƒÊ,X@×®]Ù°a³fÍâÌ™3/^œáÇ3fÌLLäåuYbafi/+W ec–C÷:-G12G_¸Å ֗“–£ÇÕ¤KϽLrT]®;pßÐleéÛfœø`Á¥›Û† J×±3g”톇1c”®f‚Í› sâ„57Ƽ–¯äìÙ³êd'ÖÖÖøúúæþIóH\\'Ož$&&†çÏŸS¼xq<<<¨R¥JŽáÂ…h4™ÿ%ÜÎÎÎà¤@'yäÈîܹCáÂ…©S§µjÕÊ‘¸„ñÌãâ°>yó˜Lž?'¥xq’<tr”ט£¤å(ÿ­tãÒÉQÒråÄ ÐÉQÒr¥E å”Âì÷ß•îo––Jˌয়ìéÜù!Õ«¿žq.gÏžU' ±··#‹—#GŽ0kÖ,Î;g°¸hÚ´)sçÎÅÉÉé•γhÑ¢þQ¬dÉ’zÅKRR_}õ6lЋ­Aƒ|ÿý÷ê¿"÷Ø9‚ìYX;§4êHlÚ”¸¹sIyÅÉ)C†ÜãÏ?‹°reFŒ¸—×á‘-o]·1cUªT €ùóç«c?’““ùꫯ^kñâä䄇‡.\`âĉj+F£á‡~`÷îÝ”*UJí‚–núôéj±­"mÚ´àâŋ̙3‡øøxu;333Ê•+@ppp®^ÛgÔ(åA}Þ}úµÅ2{ölÚ´iÜ9sX¾|9•*UâêÕ«ÄÅÅ©ëu»¤¹¸¸Ð¨Q#ªT©‚••.\àÙ³gÔ­[W—sïÞ=ÆÏĉqqqÁÙÙ™»w荒‘5jÔèµ]c·r%ü÷¿Êx’ôi~ÿ÷?å¡þã•V—œ=çG)S*/]ªŒqqÈHeüI:ðs”Ù³•‚cÎeœO¥JÊØ”´eölý.i..ШT©¢Œ_¹pAi½ª[÷Ÿq9÷î)õ'NT¶wv†»wÿ™Lr€={lqqyN­Z2»XNkÒ¤ ß}÷.þû2e +W®àüùó>|X¯¥;;Ò‹—— dÏž=€Òeïÿû%J” %%ÂÃùvíÿýï;vì+Ç%^,±Iâ¿ûŽçrÄiÊФåˆÕùóØ>LbäHNxÿýG,YbÏ… –T«öìå;‘ÏHñ’‰R¥J±|ùr>ùäbcc‰¥dÉ’°jÕª×Z¼¼ûî»lÙ²…‘#GÁÝ»w¥«Ø¬Y³ø÷¿ÿ­·Ï‚ øþûïÙ°aƒÖqþøãuŒOµjÕ?~<¿þú+W¯^Uë;::2lØ0ÆŒó®î pþ¼ò¢ÅjÕ´g +UJyÏIëÖʬcÁÁÿŒ!É ¥J)…Â'Ÿ(/lŒUfó P¦~ÅË»ï–-ÊÌjJJW±Y³”—têZ°¾ÿ^Ë’ñ8üñÏŸjÕ”âå×_•b(}°¾£# ¦Œyœ†b{Y¾eÆ2<»´û¤ôîMJúX@{LÓîS’»;O^pŸ¿÷ èu—}г§Z¼XFDä›âÅÝý)vv©œ=ŽzõêÀõë×¹zõ*ÎÎÎjw°téïw™9s&×®]#66GGGÊ—/¯N& Œ`a¡´|¸¹)3weÔ¼¹Ò5êÞ=¥EÄÐ`ùt¾¾Êû] äºN'Gùè#eŠá³g•–š5•ÿ ”÷ÃdŒçEÇ_²D@=@Ñ¢°w¯öÇéƒéur”ö핟ˆ¥Å¥xq¥øÐ=žG½zJ¡uýºR”8;ÿÓ,]úû]fÎT^Ž«.åËçl!XÀEDXàå•·S#=z”aÆqÿþ?]לY¶l™:SâáÇùñÇpssÓ+•``S IDAT^ÒÇÐ.\X«xÉ8¶¦zõêøùù©E@ÕªU‰×ÚÆÓÓ“O>ù„Û·o«ÇwqqaÅŠ¸ºº}MåË—7¸\÷Á:ýß‚Š+räÈŽ;(ÝΖ.] À²e˘={6 ühóæÍzÇMLLdåÊ•$$$`gg‡›› 6Ä,}4'NœP×ýw+ãõÅÇÇsíÚ5Ê–-kÌåê}ׯ~ÁÁÁLž<™ØØX½c–(Q‚©S§ªÝ•³»nluêÔyi¾eæYÅŠX9‚MÚ}²:wŽ›i÷É~Ù2ÒîSŠ£# ܧŒžg’#IÕý·!™˜@åÊϸ|YÞù" ¦·¦x©X±b¦o‹Ñ:kkk<==µ–U¯^êÕ«}Œúõë\naa———Ö²ô¿J–*UÊà>•+W6X e‡³³³Þ}]&&&”+WN¯¸FrsÓŸ"8#ݱ™©X1ó·Å¿hµ5èä(Õ«+?Æ#“ÅÂtrT€ŸIŽR¹²á)³8œõèë21Q ÉQƒÌòtæ ¤¤$üüüðòò¢páÂlݺ•„„®_¿Î AƒØ±c¶¶¶Zûdg&ÃÄÄDFŒA:u¨]»6–––T¬XQkÜ^RR¾¾¾4mڔ… ³~ýzž={FLL 3fÌ`É’%¯|½ýõ—ú»™™M›6U_°`;v$>>ž={ö°råJÜÝÝ™7ožÖ6†Þ)Ï”)S´–•*UŠ™3gªÝÒ¹wïŸÖE‹jO{«û966Öèâ%#c¿ÇC‡áë뫎ûqwwÇÓÓ“Ó§Oó÷ßsëÖ-üüüøé§Ÿhݺu¶÷Ñ-«ù¦ÅÌŒ¸ (Û±#fññÚ³‡¢+W’äîNñ´û”¾Mr6ß«e—!G03#1-Gò‹âÅS¸wO†=‹‚é­)^ò»yóæñÓO?N… ôþš&Dž›7Oy¹ex¸Ò²#9šo<{f‚…EÞ½t.))‰Ï?ÿ\mIùè£ðññA£Ñˆ ´ZY½®XÆxúô)ƒfÔ¨QZË=ªËèÑ£ÕÙ¹œ™;w.€Ö$&Ùuúôi–-[¦~îׯŸÖ¬^NNN,X°€Þ½{“’’ÂŒ3ppp 99€Ñ£GOèììLݺuqvv&&&†]»v‘œœÌÍ›7ÒõéÓG/ÖAƒüÃTS]ŠêÕ«G½zõÔÏ¡¡¡ØØØh½ Y÷»Í8ôßf,c¾ÇôÉcÒé¾M÷ý7wîÜÉÖ>ºr"ßÒ=èÓ‡Tû”0hP¶þ8c»w/eú÷Ç4-G¿÷q‹£É$G„Ù#ÅK>áææ†»»»Þ?Bännàî®?P_¼õž—/_VwttÌÖx0î{,^¼¸ÖçŒû­±H ÙÙG—±ùf ÇI“Ôb#]‰Ï?Wg3–ݦM”:“´yص+7-B#‹‘ã¤xBñÊ2NË~ñâEµ¥”nT€Ö õØØXõ411Ñàì[ùÁo¿ýÆØ±cÕ–¡2sæÌL[\V­ZŦM›¥%¡nݺ€RhLœ8QkÛÓ§O«ÓÔgtòäIN:¥~Îø"âŒ]«BBB¸uë ´^íܹÓàv¹ÁÁÁAkòš7ªß“F£! @]W¾|y\\\²µ!ÆäÛËYµŠÂi÷)Åɉ¤´ûd…“Î}z‘¢¿ýFɱc1I»Ž„¹5s¦òB]!DŽ“ûB!^‰µµ5ßÿ='NœÀÎÎŽ­[·ª­¥K—¦K—.€2󢩩)©©©$&&Ò«W/6lȾ}ûôÆjä7nä믿V?»¸¸P¨P!.\¨µ]ݺuiÑ¢ Lé;}út@i-™;w.•*UÂÇLJ„„¶oßΊ+èׯ»víbÉ’%Ô¬Y777J”(ALL ;wîTê *Ä'Ÿ|¢ž¯M›6xyyñÿ÷$%%Ñ«W/Ú¶mKHH‘‘‘j¬÷É-'NdÀ€¤¤¤B÷îÝÕ™ÃÒö›ššòå—_¾Ò>›o/buö,Ži÷ âæÎåy¥J¸øø`–€Ýöí$­XÁý´û”™Â7â˜!Gž»¸ )Tˆâ:9’T·.OÒrDñj¤xBñJ¬­­Y´h‘Þ{7Ê”)ÃÒ¥KÕ±U«Veøðá,Z´FÃùóç9þ<:u¢~ýú|õÕWyu 鶈ÄÄĨïɨ_¿~´hÑ‚„„üüüÔ.qC† Qdz̙3___4 3gΤnݺԭ[—zõêQ©R%õ»ÐU½zuf̘¡7åÂ… ™4i›6mâêÕ«ê€~Pº•}ÿý÷Zï"Ë-M›6eéÒ¥ê;[Μ9Ù3gÔõéïlÉ8kXvöÉÈØ|ËŒiB¥üü0I»O C†¨Sßš3‡Ò¾¾ Ñà0s&OëÖU[d ±ÐÉ‹˜ŠÈ‘ûýúIñ"D‘âE!D–¹»»3bÄ@y˜lÔ¨AAAêÏË•+GëÖ­õfÇ9r$mÛ¶åäÉ“ý´$ Æåq$âMaggGÉ’%_ǩ־RËKú»I²;›‰9iéÒ¥¬[·.¯Ão‰;wîP¥J•¼Cdƒ¡®_º5jdðe’ÑÛv½Bˆ7›toŒWhDB¼EŒy˜1bÄó0ÿ¶]¯âÍöJÅ‹››nnnÒmLä9† "ÝÆÄk“ÞmL<ÆŒcy“äß„ë5fì“âí -/B!Þ*Æ<Ì¿IÞ„ëuwwÇÝÝ=¯ÃBäò’J!„B!D Å‹B!„¢@âE!„BQ Hñ"„B!„(¤xÉ%‡bêÔ©\¹r%¯CyeoÒµ¼-Ebêæ©\¹s%¯CyeoÒµ!„âÕHñ’K:Ä´iÓ Ìÿ¾}û˜:u*W¯^Õ[WЮEÀ¡ˆCLÛ2+·¯äu(FÙwiS7Oåê]ùWÀ®E!„¹GŠ—\Ò¤I¦L™‚««k^‡b”}ûö1mÚ4ƒÅKA»M*7aJ‡)¸:ºæu(FÙ¾i[¦,^ Úµ!„"÷È{^rI“&MhÒ¤I^‡‘#Þ¤ky[4©Ô„&•ÞŒ{ö&]Ë›äòå‡LštŠ®]Ëѵkù¼畼I×’ŸÉ÷,„È ù¦x9qâÁÁÁh4š7oާ§'7näÔ©SŒ?[[[­íصkQQQXXXРAZ´h¡µM`` `èС+VŒ-[¶AÉ’%éÔ©Å‹7KVmoo϶mÛ¸téõë×§M›6:tˆ]»vѯ_?½‹Hdd$¶¶¶xxxðÎ;ïý]EGGH\\Å‹ÇËË‹jÕªe_‘"EØ´iÑÑÑ”)S†Ž;boo¯nûÛo¿±gÏüýý ÀÕÕ•~ýú½ðZ²KVîÃëtâê ‚/£ACó*ÍñtõdãÉœºvŠñmÇck©“Oغ‹¨ÛQX˜YР|Z¸éäHX Â0´åPŠ*Æ–Ó[ˆ¸AÉ"%éT·Å e’Y<¶½­=ÛÎnãÒÍKÔ/_Ÿ65Ûp(ò»Îï¢_Ó~¸:¸jíû ñaDÆGbki‹G9Þ©”…ü»M`X qâ(^¨8^U½¨VJçžgˆ¯ˆM6ÚDôhÊØ—¡cŽØÛfȿÿ±çBZþð'04-ÿ]é×¤ß ¯%«±då>ˆ{ü8™cÇnÓ¸±S^‡òÊÞ¤kÉÏä{Bä„|øp=zį¿þŠŸŸŸVñâïïÏgŸ}ƃ´öiÞ¼98::ÊCó¬Y³ððð`„ \¸pAÝÖÁÁ   êÔ©£uŒ¬»V­ZŒ?ž¨¨(F­/Ó¦MÃËËKëùòåŒ3†û÷ïk¿Y³fcjúâž|_|ñ³gÏ&%%E]fbbÂÀùñDZ°°ÐНfÍšŒ7Žèèhu{GGG6lØ@³fÍ¥xÙ»w/¿üò‹º]Ë–-ÕâÅеd5–¬Ü‡×%U“ÊÐ߇²l¿NþµΣ§øõЯøµöÓ*^üøóÙšÏx¨“#Uš0,G»´ dÖŽYx”÷`º \¸™áºíD²:ù—Åc×r®Åøu㉺–ïVŠ—´q"^U½´ø—XΘ5c¸Ÿ¨“•›<>S“—ä߆/˜½c6)©:÷¼Ù@~ü×X˜YhÅW³LMÆ­Gô ùgçȆáhV9-ÿÿÆÞ iùw0Cþ¹µTŠ—L®%«±då>ˆ—«X±0+W6ÇÙÙ&¯CyeoÒµägò=ç/ž#1ѹ¢`Éóâeþüù,[¶ 333:wîLÅŠ¹xñ"?þø#NNúÙ´iÄÜÜœ>ø€êÕ«óôéSvïÞÍþýûéÛ·/Û¶mÓÚgÈ!˜››ãëë‹;vì 44???öïßÿJÇ6l––– 4ggç¶ ¬]»–Aƒàé鉧§'fffüý÷ß8p€ÔÔÔ/‹/fÆŒ˜˜˜àããCõêÕ¹rå 7näçŸÆÑÑ‘3fhí3|øp,--ñõõÅÚÚšÀÀ@BCCéÒ¥ .\ÀÁÁ>}úššÊÞ½{éß¿?åÊ•xá—ìÄbì}xæÎgÙþe˜™šÑ¹ng*:UäâÍ‹üø?âdg ÿNmbà¯175çƒÚP½tuž>ÊîÐÝìßO_ÿ¾l¡“¿ÁÜÔß¾ØYÙ±ãüBcCñ[åÇþ û_éØÃVÃÒÌ’AÍálïü”µ!kôkZþ¹zâéꉙ©Gÿ͈¤jR_X¼,Þ»˜¥ÝóÚ>T/]+w®°ñäF~Þÿ3ŽvŽÌøP'ÿV ÇÒÌß¾X[XHhl(]wáÂ7p°s Ï;}HÕ¤²÷Â^ú7íO¹âiù÷‚1.Ù‰ÅØû ŒS¨99æu9âMº–üL¾çüåĉñô¼A“&Mðöö¦U«VŸ»„Èoò¼xùÏþƒ©©)xyy©Ë7mÚDçÎõ¶ÿâ‹/°µµeß¾}Ô¯__]®ÑhèÖ­\¸pA«ëR¥J•ؽ{·ú×…3fP»vm<ȃ(R¤H¶íââBpp0… ~éµ~ùå—€òà?lØ0­uÀÌÌì…ûÏœ9€õë×Ó¥KuùÑ£GiÞ¼9 ,`Ò¤I*TH]Wºtiöï߯^crr2={ö$ €+V0fÌúôéÃÕ«WÙ»w/ P[dr:cïÃëôŸ]ÿÁÔÄ”ÀÑxUõR—o:µ‰Î‹ ä߆/°µ´eßø}Ô/¯“#?u#àDn^ÐêºTÉ©»GïÆÆ"íº“gP{ZmFäAâŠØÉö±]й<.˜ÂÖFä߆´üû×b†yéä_ÄÌL^’ÛÓîù'ëéR/Ã=:JóYÍY¸€IL¢U†ü+Zšýã÷«×˜œšLÏ%= 8ÀŠC+Óf }ÞéÃÕ»WÙ{a/š P[dr:cïƒ0΋Æ/;v›­[c¸ví1––¦¸»£W¯ 8:Zé'*êë×GséÒC’“S©PÁŽnÝÊS½zQu›Ó§ï2kÖyúô©DãÆŽüöÛeΜ¹‡••)­Z•¢k×ò˜˜èÇø×_×Ù¹3–‡ŸS¥Jaúö­DDÄC~úé£FU§aCÇL¯%»ç4æzòJtôc6l¸Ê… ÷IM…ŠíèÞ½<•*)ÿÿÈxÍÅùí·HÂÂîckkŽ·wi:v,«uÍ{÷ÞdÙ²p­ïRwÝèÑ5hÐÀȹœ9£qã@¼½WÄ7ß|äI“¨S§ݺu£C‡zÝõ…È/ò´x‰ŽŽ&66–6mÚh.:uÂÓÓ“ãÇ«ËnܸAhh(•*Ubûöílß¾FƒF£P[-BBB´ Œ &h5‹ZZZâííÍÅ‹¹qãEŠÉö±ÇgTáCxx8žžžz… ðÒ‚áêÕ«ÄÄÄдiS­b Q£FtïÞU«VqâÄ š7o®uí‹sss¾þúk8xð cÆŒyiì9ËËîÃë}'šØ„XÚÔl£U¸tªÛ OWOŽ_É÷oJ%§Jl?·íçtr$­Õ"äJˆV1¡íõÀÒÜïêÞ\¼y‘÷oPĦH¶=îýqF.1÷b¿ާ«§^á¼´`¸z÷*1÷bhZ¹©V±Ð¨B#º7èΪ£«8qõÍ«d¸çm'hæ¦æ|ÝékNp0â cÚd#ÿ^!–—Ýa¼ÌÆ/|÷ÝYüý#´–Ýä—_"Y¶ì<<þc´jUÓ¦&%E£.Û·/Ž?þ¸Ì·ßÖ£[7å÷þýç;vfÎúÈ•cÇns÷î³^KvÎiìõ¼HïÞ´ö{{K~ü±‘QÛþñÇe¾ùæŒÖ±÷ì_~‰`Íš–Ô©SL½fww{¾þú4·n%©Ûnß~ÀÀüðCCµ€‰ª÷]¦K_wïÞ‹¿gÈZΈœceU‚=zУG’’’8tèÛ¶mã믿æ»ï¾ÃÇLJž={R»ví¼U-yZ¼Ü»wȼ{’«««Vñ@dd$“'OÎô¸ºãIÊ–-«·ÏŸ?¥cW©R%Óm3ºsçU«V5j{]éßUÅŠ ®¯T©wïÞÕZ^¡B½mÓ—¥óuÅbÌ}xî=IË?Aàé\]µŠ—ø‡i9Éä/Èñ$e‹¸n«´ëNyþJÇ®RÂÈü{”–¥²™Óî¹S&÷Ü)íž?ÖÉ?Gù—¶,ýû]±sīٵ+ÿÌÍMèÛ· :ñðásÖ­‹æÈ‘xüü޲wo¬¬Ì8qâ.S§žÆÖÖŒ?®H:Ű´4åܹ~ù%‚É“OѸ±#..ÿ´žýüó%ªT)ÂwßyP²¤5çÏ'ðãY¹ò2¾¾U(SFùKñ_]gýúhllÌ8°2µkÛsïÞ3~ÿý2Ë–…g隌=gv®ÇcÇn]¼Û*qôèm¦M; € ^^¥(ZÔ‚Èȇ¬]Í£GÚùÿ믑T¨P˜Q£jàädÅùó ,[Îöí×Y·.šîÝsn¦°¬äŒÈ=ÖÖÖ´nÝšÖ­[3yòd6nÜÈêÕ«Y½z5uëÖå³Ï>£iÓ¦y¦@/ÅŠÈô出ËÓ·¯Q£Ý»wÏô¸žžžÙŽ%«Ç677î+tpPšÍ/^¼˜åØ2Æwùòeƒë###ôfŠÒ‡“>¹@ú1_W,ùM1Û´üËäÍíº/ELß¾F™t¯ÿ‚qÍFþeóØæfFæŸ]ZþÝÌfþJ»çñ™Üóø´{®3sWÔí(½q8é“ ¤_óëŠEä¾ÿýï 3gÖ§sçŠÅNÊÒ§ÏŽ'(è&íÛ;ãïNjªÿ¦ZYoÕªuë§ÿƒlÙrO>qS×¹ºÚ±n]KõA¶eË’<žÊÂ…8uêžZH¬Y£Ä±`'­[—R÷ïØ±,>>{ˆŒ|hô5{Îì\!¿ÿÞ qµ ƽªí—_"Ðh`Ò¤ÚôëWI+¶þý+óôiªÖöNNÖxacc¦n× ÿþ÷V¯ŽÊÑâ%+9#^{{{úõëG¿~ý á¿ÿý/}ûö¥aÆŒ=š äuˆâ-—§ÅKùòå)S¦ ìÛ·Ok:â­[·jµº€ò—û*UªpãÆ ºuëF­Zµ´Ök4víÚ¥5^ÅX¹ylPÆÆT©R…ãdztéR|}}µÖ}33æÏ@£A}hONV¦##µgÝkÛÖYï/ðµj)Åì½{OÕe—.=ÀÞÞR«påa¿CæÏ3úšŒ=gv®Çݱ#9áìÙ{XY™Ñ»·~k¥™™ ¶¶Ú××¾½³Z¸¤kÜØ [.^4¾ð3FVrF¼~ 4`ùòå„„„0oÞ}:={ödÈ!,_¾\m,$$„C‡ñüùó¶äLœ8???:wîŒÕªU#::š 6ðüùs&L˜ 5@”qBÕ«WÇÇÇ+++‚‚‚8þ<ŽŽŽôë×OÝ®råÊŒ3†`kk«¾ç%§bÉ>óþŒqëÆñîÞ¥s½ÎTp¬@ø­p6ŸÚL‰Â%¸õð&dÈ¿n³ùð¿âñ­«µ¦Z©jX[XsåÎŽE#êv‰?&bfšüËÅcLï2žKz2ä÷!,?°\m,äJ‡"ñ|ÉsÌM^í&â·Ê΋;ãSÛ‡j¥ª}'š '7ð<å9ÚNÐ Ê8¡ê“«ãSÇ+s+‚‚8{G;Gú5é§nW¹DZþ­ÃðØZÚªïyÉ©XDî{ú4•"EÌ d/ZÔRÝàÉ“RR4:Ÿéñ’’´[еÐÛÆÂB9Yj†M“’R°··4xÌô8Œeì9³s=†äƘ—§OS)ZÔ33ÜÐU¤ˆáïÈÞÞ’ØØD£Ž‘’òòkMÍØœy§Aƒ¬ZµŠ0yòdÚ·oÏ7ß|Ãû￟ס‰·P¾(^ÂÂÂð÷÷gݺuêòaÆqãÆ 6lØ õܹsgV®\ɧŸ~ÊÎ;Ù¹s§ºÎÔÔ”víÚÝ•KWn Gܽ{—qãÆqìØ1Ž;¦®kÞ¼ùKßñ2|øpbbb˜3g[¶laË–-À?ïVùæ›oôöY´hcÇŽeÉ’%ê²ô÷¼¤wehÛ¶-5jÔ 44”9sæÿ¼ç%§bÉ>{ï3Ân†áÀŸugÈ?¯aܸƒ '7h=w®×™•ƒVò韟²óüNvžÏ#&¦´«ÕÎè®\ºróØ=ôàî㻌[;ŽcQÇ8•!ÿª4é;^†·N̽æìœÃ–Ó[Ør:Ã=o6o:È¿1víX–gÈ¿´÷¼¤weh[«-5ÊÔ 46”9;Óò/í=/9‹È}%JXñ€¸¸$J–´ÖZwöl%K*“&”.móg©,YÒ8Ó‡êâųVhdŒ#ÚŘú IDAT*ê ÏôŠ˜óç²uÌ—É©ëÉ1/¥KÛvŸkמP¶ìËg2ô=~œÌåË)QâŸûZ¤ˆRØÝ¹“¤·ýÅ‹/oe‚¬åŒÈ{Íš5cëÖ­|÷Ýw >œ?üiӦɻbÄk•çÅ‹™™Ë—/gذaÊ 6¤jÕª8::ª]šÒ}ôÑGtîÜ™   .^¼Hjj*®®®4nÜXkP¸··7ÖÖÖ”*¥Ýu ãº%Jäø±š4i”)Sô&#:t(½zõbçÎDEEQ´hQ<<¼.f¦f,ﻜa^þ”–•›Ñ°BCªNªŠ£#Ö:ù×ð#:×ëLPXo^$U“Š«ƒ++6Öî]Ãk kJ1pÝiëJÑÉ¿86@“ÊM˜ÒaŠÞ»R†¶J/Ï^ì<¿“¨ÛQµ)ŠGyU02ÿ>œÁ–C ýç­ö­ªµÒ{«}:·’n„~ÊæS›‰¾s1g:Ö鈽­NþYXsüËãl;³ˆ[ø ¤º]¹rÊvÖ®¦cDz.¬3{öÜdõê+FÅ–•œùC¡B…øöÛoy÷Ýw™0a,]ºTº‘‰×&Ï‹€ãÇãéé©5ždÑ¢E\ºtIo*Þt666øøøàãã“éq½½½ñööÎòºW=6(üMš41¸ÎÞÞžž={fºï˸ººª/»4†üñK·³µµ58YÁ‹®Å˜X²{^—ãWŽãéê©5ždÑžE\Š»¤7o: |jûàSû9RÝïê™\÷ ֽ걚TjB“J™äŸ­===_!ÿ\Ô< ùgeÇÇŒÈ?K[º70/¸cbÉî}Y7xp6o¾ÆÁƒ·hÞ|+ÚñèQ2×®=F£îÝ]qsS¦¤4ÈÝ»o°jUkÖ\ÁÕÕŽÂ…-ˆÊOHIÑàïßÈúûQ ªB@ÀUvîŒeÿþ8*U*½{ψ‰yLE ½ÏKº³qΜ¹žÜó2p`¶m»ÎÙ³÷hÛ6[е$*ê!%óë¯Ú³HU¯^” N0o^(%JبÛÙÚšiM8P½zQjÖ´çܹZ´ØIÅŠ…¹};‰ëןP§N1NŸ~ùŒ‚YÉ‘¿´nÝšuëÖ1pà@>þøcV­Z%Œx-òEñÒºukÜÝÝ©W¯„„„pðàAF•Çщ7]ë¹­qwq§^ÙzX˜YÂÁˆ´üó–üÂXNNÖüùg ¾üò$ÇŽÝ&4T™ÚÛÆÆœ¾}+ñÙgÕÕmmmÍøóÏÌ™sž€€«DDü3ÜÞÞ’ÎËR³¦½Þ9ŒQª” +V4eܸ¿‰Œ|ÈÙ³÷077aðà*-jIhè}µ5&§äæõ¼*;;sþ÷¿æLŸ~–mÛb¸zõ1ð33:u*«÷Í.]ÊѺõs–.½D\œÒ%ÌÕÕŽ9sê«­-  ªŸ5˃áÃý˜Ó§ïbeeÆèÑ5pt´6ªxÉJΈü§|ùòüùçŸ|ôÑGôïߟ5kÖH2‘ëòEñÒ°aCöìÙÃáÇÕeVVVÌ;Wk2!rCà Ùsa‡#3䟹s»ÏÕšLñŠ ³resœµT*T°cÕªæÄÇ'óKKS*W.lð=vvæL›V‡IÿÏÞ‡EYµÿÃ¾ï ‚È*j ’àäš©`jf–o©™Š’Kfš¥”eþ²\³HËpMÜÒ4ACq qAqDPÙd›ßÓŒNƒÊÀÀ0òý\—×ç9ó<÷9Î+sÏÙæwBjꔕUÃÖV66ºÐÐx´n¤sg3DFúÃÑQ~ɵ¶m åÊìÔTñ¨££LMµ1q¢øÿçׯ­-õyf]Û£ ææ:øþû®X´¨ RS‹ j m[C¹Æ$¦Ooqã\‘žþúúšpu5®uQ½‡‡ ¢£píZÊʪáì,qÊÍ-Gd¤¿Ì¨‰2Þ3ÔüXYYaÆ 6l>ýôS|ÿý÷ª©NÒÒÒ0þ| >ÇWu8 võêU>|§NBEEæÌ™OOÏZëŽ7ååòkÕ`üøñèׯ_c†Ú`Í"y‰‰‰ÁéÓ§‘””„¼¼<ØÙÙ! ­ZµRuhjëYkr葘Y18}ã4’2“÷ v¦vè€V&|ÿÕ׳Öäú30ÐD·nOž"be¥ ++Ý'^œ––†Ìš‹ÿ25Õ~ⳞtmÇŽ ôèa—Gë;6lHÅáÃwàìl„Ö­-\¯­-õyf]Û£JúúBtêT·3–Œµàéùìó’ÈMí²¶Ö•YÜ(÷=CÍ‹½½=–-[†÷Þ{8p ªC >[/44o¼ñ‚‚‚d®•”” >>Ý»wWQtʈääd™²ÿªþ¸„„”•Õ¾sàÓ–L4Í"yÄÛðñà#åikIÔI×¶]ѵ-ßʵ$¤jÜÆ'Ÿ$¢uk˜›kãæÍV§"5???Œ1_~ù%úôéºí†×˜}ú`øðáÒƒÍwíÚ…õë×¶oß.Ý 6mÚTëš—Çïÿâ‹/â—_~AJJ LLL0zôhiÉÉÉØ¼y3nݺ{{{Œ?^î8 HOOÇŽ;põêUTUUÁÉÉ #FŒ@ûöÊýUÕqªÂä…ˆˆžK`c£+wø!ÕîYkyˆêbðàÁضm²²²pÿþ}ÄÇÇ£sçÎøâ‹/›› èС //ñññ(((»äÚ½{v­“ÜÏÛÛß|ó ²²²¤×<ˆ‹/JGnݺ…Ë—/²²²d굯y‘ÜßÓÓ_~ù%rrr¤×þøã¬]»%%%˜>}:ª««¥×öïßÀÊÊJZ¶iÓ&„††ÊÔ;zô(~ûí7|õÕW1b„´üwÞ‘©÷4¦¦¦X³fMê>Mnn.æÎ‹ììl˜™™ÁÇÇAAAÐ×öA¶ªÆä…ˆˆˆˆ”Â××ÚÚÚ8sæ ÌÌÄ›ClذNNN A›6m`lܰ³{Ö­[777|ýõ×°±±Arr2Ö¬YƒÈÈHLœ8vvv ‚‘‘¾øâ Œ9RnÁþÓDDD cÇŽ˜5kÌÌÌpôèQlܸ_|ñòóó1xð`ôïßøõ×_ñÏ?ÿ`ýúõøä“O‰‰‰X¸p!ôõõñÖ[oÁÓÓÚÚÚ¸xñ""""ðÙgŸ¡{÷î°··ÄÇÇ×9yQÖY:™™™ÈÌÌ”þ¼wï^„……!<<...JyFcaòBDDDDJ¡©© \½zUº¦ÂÚÚQQQJ;¦mÛ¶øý÷ߥ›ôêÕ •••Xµj’’’`gg‡Ö­[KGxìííZßáââ‚-[¶@KK ЧO\¹rñññxûí·eÖ•ôèÑ=zô@RR’´,<<555‡···´¼OŸ>ðòòÂ{g½{÷bòäÉ€7B$Õ)6IL annŽ¢S§NÐ××Gjj*6mÚ„ÌÌLL™2û÷ï‡PØ|·*oPò’ŸŸ¬¬,̘1CYñÕ[tt4ß‹ÔdÎ;'ýÖŒˆˆ±´´”™ 6pà@¥^9pà@¹ÝÌ^xá™fV_rIBûöí×^{M¦ÜØØvvv¸s玴ìܹs …X¾|9@$I““ªª*@jjª´þ×û4¶ýû÷ÃÀàÑÚ¶¾}ûâÍ7ßÄðáÑššŠÓ§O7ëÅü J^®]»†¬¬,é_‘*]¼x/^TuÔ‚tèP>Œ­[·68ÉÎY7oÞl𽀕+WâÀ˜5k–Ìh̓°sçN™ƒÙ›rÍËþýû¡««‹>}úH“»ªª*lÙ²{÷î…P(lö‡Æ3y!""""¥ÈÍÍEff&:wîüÌÑ„öíÛ£cÇŽ¸xñ"^~ùe8;;ãîÝ»¸uë<==qîܹÅâää===DEEáâÅ‹055 ÞÆ¸1M˜0‡¦M›°mÛ6´mÛFFFÈËËCvv6ª««.­ßÐ5/kÖ¬A\\àÆ€%K–à§Ÿ~™st’““===888@[[7oÞDQQàƒ>¨×4¿¦Ää…ˆˆÔÖ… ÷0lØß i•űcGæÌIÄêÕÝ0p ÊâèÔiÊÊjÿÀøÅ^xë-'¹òÓ§ó±jU Î+@M;š"8Ø~~-ëà;RŽãÇCKK ÞÞÞHHHxj]@€%K– 888wîttt0sæLXZZ68yÑÕÕżyó°hÑ"\½zµA÷R„¾¾>6oÞŒo¿ýQQQ¸~ýºôš©©)‚‚‚бcG¥=/55ñññ2eO»{|ó„Áƒ###ÑÑÑ2}ÒªU+¼ÿþûxçw”WcaòBDDÔB;–‹ N ºúÑ”•„„|¼÷Þq¬\é‹W_m­ÂèHEFF¢ÿþÐÓÓCçÎ GGÇ'Ö÷ðð@tt4®]»†²²28;;ÃÈȹ¹¹ˆŒŒ„»»»´îÓî'¹öß“îGÀÀ@¤¦¦¢¬¬L:=ËÙÙ‘‘‘hݺµÜ=j»ÿ˜1cзo_888È][²d‰Ü(“¡¡!BCC1þ|é³mmmacc 'öG}L™2o¼ñƯ»¹¹Iÿ»}ûöX½z5>|ˆ›7oâÁƒ°¶¶V«Ý3™¼=G^|Ñ[·¾üÌz••5˜?ÿ,ª«E7Γ'·ƒP(ÀÆiX¶ì>ÿ< ½zÙB_¿ùž÷@ÍKBB’’’0wî\âQ†ºìZ%d’@|6ŒµµìèßÓî÷´kúúúèÔ©“L™\ý§Ý£M›6Ò5:ÿÕ¹sçZËñÆvqqQø`I™¤F(7õ#"""µpüx.nÝ*…æÍë33mk!8¸ °Ã½{8t趪Ã$5QYY‰ Àßß/¾ø¢ªÃ¡çX“&/†††èÝ»wS>²ÑfÎ<¾}ÿBûö»áã³'žÂ™3òÛ·UbáÂsèÑãOtì¸AAGpøð³ãiŽÄí ”ÿ690P<5&>þn“ÆDêkÅŠÈÌÌÄ—_~©êPè9ÇicôDšššèÝ»7¢££U µ@ššß¡woDG?y/©ŽHLŸž€}û²dÊ/\¸‡ îÁÞ^/½ôhÊGbb¾ùæ¢4©)/¯Æ¶m8s¦;wöQêÔ¤ÊÊüïÇe’ŠŠœ<™‡S§òúház^^9F>*óú{÷*pøp6bcïà·ßüáã#ÞòõáÃjŒs —/ß—Ö½x±|p ƒ)6_¼]»]2ëLžÆÒR§N ªó½SS oß¿pûv)ÌÍuàãc‰>pG‡²‡ëed”ÜÝåäóð0‘©Cô4;wîDXX¾þúkµZ;Aê©I“—âââ¦|\£zžÚRêØþââU‚Òììô±pagøúZáÁƒJlß~«W_ÁW_]À+¯´‚••.üü¬1v¬3:t0…¥¥.î߯@|ü]|üñüôÓøøôüúk._¾gg#,\è //s<ÄÚµW™®´øª°°……âÓÍss˱o_¼…+|1`À£ÐŠ‹+&&òçFHÊ<¨l‚ˆ©9‹‹‹CQQ ª=þóÏ?1oÞ2#,:™¡S'3¹úžžæøæoü{&||,ñÓO=ðÊ+áÀÛJM^öï­\é //q,††š iÜÜrlÙr11wðæ›mai©ƒ>ꈰ°«˜?? ùùeFD®\)’þ÷· ?üà 77ñh…¾¾>BC½ž^Œ'òêã•+AÊhªœž=­0jT[têd}}M¤¦>ÀÏ?_Å·1oÞYøùYÃÀ@ü«ÿigâ5ñäÔLmÚ´ .D§NjM^6mÚ„ÐÐP¼ýöÛ˜5k– "¤–¨Y¬yÙ¸q#zôè###èëëÃÛÛ«V­BMM\ÝØØX 2–––ÐÖÖ†““>úè#éá:P^^@€   dggcôèÑ077‡ú÷ï_ë¾á555øöÛoáî¸`éÒ¥HOO‡@ ÀÔ©SŸÚ–ú<³®íy–ºôßãñ¥§§cذa055…‘‘^}õU™øâââ P]]˜˜響ÿþ»Öö×7Eúª¡ž´NbãÆKèÑ#FF+ ¯¿ÞÞ¿bÕªDÔÔÈÿöŽÍÄ!;aiù´µ¿‡“ÓZ|ôÑß(*ªx¬}U–"(h²³K0zô07_ ƒèßΓÿ€SS#·ß&ÀÝ}=tt–ÁÅe-–.M@zú}K1ujÌSÛRŸgÖµ=ÏR—þ{<¾ôôû6lLMWÁÈh^}u‡L|qq· ,Euµ117!,•þùûïÌZÛ_ßXé+’•šú&&Ú2‰ËÓøùYI }89!#C¹#¹%05Õ–&.ëÛ·Õ¿uÄÏLL,ÀÈ‘±øóÏ[ÈÍ-—›ÊU^þhûÓŒŒØØèI—ǽü²2›Poaa=з¯xTÉÀ@;›aÕªnèÞÝ ÷ïWàÔ©GkXŒŒÄ£+÷ïË®UÊÔ¡–¥ºº_}õ>ÿüsÔÔÔàܹsHMM•^/++Ü9s°`Á„„„à³Ï>Súö¿DO¢ò‘—Ù³gcéÒ¥2egÏžÅÙ³gqòäI™SPÃÂÂ0yòdéÝ€ø$Ñï¾û1118~ü8ôõõ¥× áç燴´4iYLL úõ뇔”XZZJ˧L™‚°°0éÏiii˜={6j"ÏT´=µQ¤ÿñAEþþþ¸uë–´ìÀˆ‹‹C\\<==joCbQ¤¯ËìÙ±XºTö­³gsqöìaœ¾ûî4bbnâøñÑÐ×ô‹¾°ð!üü6!-íÑüø˜˜›è×oRRÆÁÒROZ>eJ4ÂÂ%mii÷1{v,sj"ÏT´=µQ¤ÿ   þþ›qëÖ£«¤#.. qqoÁÓÓJ¡ö6$EúŠšŽ@ ~CÖöåAyy•÷©[½Ÿ~º‚ÊÊ„„´GPllt¡­-„@DËm( ,¹æå¿ kW œ:•‡¼¼ri¹££àêÕ"x{›Ë¼&%å¾Lj9JKK1}úté—•€x»ß;vàã?Æ™3g0oÞ<äçç#,, }ûöU]°Ô"©4MNLLÄÒ¥K¡§§‡U«V!;;ùùùøí·ß`nnŽÍ›7c÷îÝÄÉÄ´iÓ`jjŠõë×#;;åååHNNÆÈ‘#‘””„+VÈÜ?66ˆGII ®^½Š~ýú!??‘‘‘Òzñññ ƒ±±1"""p÷î]ܹs?þø#víÚ¥P›êúÌú´§!ý'qìØ1888àŸþAqq1._¾ŒáÇ£¸¸X:ºäçç‘H¡Pˆ~ýúA$Iÿ7-í>¦M‹©©.Ö¯€ììÉ(/Ÿää÷0rd;$%åbÅ ÙD766ƈ%%âêÕñèׯ òóËyYZ/>>aaç`l¬ˆˆ¸{7wîLÁ?¾‚]»®Cu}f}ÚÓþ“8v, FøçŸ1(.þ—/Ãðáî(.®ÄÔ©â!üüZC$úB¡ýúµHô‘ôOïÞò‡ƒÕ7–ºöÕÎÅÅ÷ïWÔyªT\\žÜT¤ÌÌR¤§?€££¡´ÌÂBçßkò ÅOž¬Û³ pï^Î+»ö÷ßwþ­c(ÁÒR!!hÓÆ::âÄåæÍܸQ,wßœœ2\»&?2~ô¨b_44%‘8}Z¼y••®´\²ÁîÝ7å^³{·x”Ó×·ñ¿D¢æ#77o¼ñŽ=*3c¢²²[·nÅœ9sðæ›oÂÎÎüñR •&/Û·o|þùç˜:u*lmmannŽ1cÆ`õêÕ€­[ÅSC~ûí7TVV",, ãÆƒ­­-tttСClÞ¼¶¶¶rŽ---±gÏøøø@__nnnÒ„àñ©I;vì,^¼ï¾û.,,,`ccƒI“&aþüù µ©®Ï¬O{Ò†††Ø½{7|}}a``lÞ¼ˆ‹‹CNNý~×'–ºöUcÙ¾ýê¿1÷ÀÔ©]`kkss]ŒÓ«W÷ÿ7æÀo¿]Bee ÂÂ^Á¸q`k+þÓ¡ƒ6o [[¹Ç––zسg||l¡¯¯773¬XÑ÷ßö=Ú®uÇŽk€Å‹_Æ»ï¾ =ØØècÒ$OÌŸßC¡6Õõ™õiOCúOÂÐP »wƒ¯o+hÁÃÛ7†‡‡9âân!'§T¡ö6$–ºöÕîõ×ÅÛëNŸž€­[oàÎ2”•UãâÅB|úéY¹-vÏ+Àܹ‰ÈÈ(AYY5NŸÎÇäɧPU%ÂÀ‘»¹‰w¹Ú°!ÿüsååÕÈÊ*Á×__¨Óɤ;}øáiüý÷WáÎ2¬^‚-[n@[[ýúÙììôŸÿ7¦áÁƒJ³>íù/EúOÂËËKîÄZ---éT­ë×¯ÃÆFñ¹Ûõ‰¥®}ÕX®_¿÷o|ò§ÒìüoB@r²øƒØèÑ`ôè?¤ß ‹ÿ¾Äÿýß¿.ookË”9;›³>íy’ºô_]5ô^м^Ñ¿ŸÆR—%ßÀVW‹P]-BMøÏãaVTÈn0¡§'ÿÝ€äYµ5O9=³>íy%¾ý”ðþ«{]Eÿ~H–††«VuÃW_u——ôô„04Ô„§§9/öF÷î²ë—^|Ñë×÷„§§9tu…03ÓÆÈ‘ŽØ¼Ù_îòâÅÞ9²-LMµ¡£#D—.æØ¸Ñ¾¾u[¥¥¥_õCHH{8;AKKšèÞÝ áá=¥g¼@ÿþ­ðý÷]ááa]]!¬­u1z´6nôƒ¶¶ì¯H!"#ý1fŒ,-uþ­4Á?vÇË/×mã‚Æ4yr;,\è K˜™iCSS;;}:`çÎ>r % Þh 2Ò={ZÁÀ@zzBøøX""â¥ZëÓógÆ ˜:u**++Ÿ˜¸âÏ+±±±ÈÍåÈ4©–JG^\]]ûöíCÇŽe®íß¿_¦Ž‡‡àСCèß¿¿Rãpq[{ðàALžLB„„x $Äã™Ï:ÔC‡Ê¯§Úµ«O­±…†z!4ÔKîÚðáÊý·AQ††šxûmg¼ý¶³B¯ëÚÕ¿þê×HQQs%Uá³Ï>Ö-[êüE™††vïÞ÷ß¿‘£#z2•޼H3 Åš5k““ƒ{÷îaóæÍÒÅão¼!>]{ìØ±ÐÔÔĘ1cŽÌÌLTTT ''qqq˜6m/^\¯8^ýuÀܹs±qãF //?ÿü3-Z¤„–ÊSF{é?‰ââb">>¥¥¥HIIÁ[o½…””øùùÉL377Grr2RSSkݶº¡±¨ÚÈ‘î€ÐГX³& 99¥¸w¯›7§H·&~ã ñŸ±c;BSScÆìCxødf>@EE5rrJw Ó¦Å`ñâêÇ믻æÎ=†/¡  yy¥øùçóX´è”Z*OíQ¤ÿ$Š‹+¸ññÙ(-­DJJÞz뤤ÀϯµÌ”1ss]$'ßEjja­;O54"¢–ª²òþùç5lÞ¼Y¡þêêjlÞ¼¹##z6•޼x{{cÖ¬Yøî»ïŒàà`™ëo¾ù&‚‚Äy¹¹¹áÇĤI“0~üøZï7gΜzÅÑ­[7L˜0ëÖ­ÃØ±ce®5 [·n…––r÷ºWF{é? ¤¦¦¢[·n2円†Ò…õ}úôÁ–-[dFLŽ9RëŽcõ‰EÕ¼½m0kVW|÷ÝiG#88Zæú›oz (HÜv773üøã+˜4é/Œ°ÖûÍ™ã[¯8ºuk… :aݺ ;v¿ÌµQ£<°ukŠÜiå ¥Œö(ÒþþöHM-D·n²»ÉjIÖKôéÓ[¶¤ÀÕu´ìÈ‘Qµî8VŸXˆˆZ¢7nàäÉI()¯qÒÔÔ„ŽŽ444 ¯¯@ ]jll ¡Pèèè@[[zzz¸{÷n“g@T•Ÿó²téRtîÜkÖ¬ÁÅ‹Q]]víÚaܸqrCN˜0žžžøþûïqôèQäååÁÊÊ nnn5jÆŒSï8ÂÂÂàêꊵk×"33ööö˜4iºv튭[·ÂÌLþ°³†RF{é?@<š3f 66555x饗ðÍ7ßÈñ²lÙ2TUUáðáøwïÞ3¿Q4–æ`éÒÞèÜÙ kÖ$áâÅ»¨®¡];3Œ× S§ÊNY™0¡<=­ðý÷§qôhòòJae¥773ŒÕcÆÔÿ„ð°°¸ºšaíÚóÈÌ|{{CLšä…®]m°uk ÌÌtŸ})£=Šô M‰ˆx3fAll&jjDxé¥Öøæ›—åÎxY¶¬ªªjpøðMÜ»WþÌu(ŠÆBDÔÙØØ G# õðÃ…Ï~Q3#5`e´dªd›ÜçQHHV­Z…;vH§—©£òòrèéé!00Pá³kÔ@ ÀôéÓ±lÙ2U‡¢T!!‡±jU"vì”N/SGååUÐÓ[ŽÀ@WìÚÕ¼Fà꫱ÿýËÉÉAqqÝNžwuuÁÊ•94H¹'ÕÑóiÚ4ññU«šïùD¤^ ëµ[m=lWùÈKs±nÝ:ܽ{hÛ¶-nß¾_~ùkÖ¬‘‘T"=ÇÖ­»€»wK芶mMpûv1~ù%kÖœ…‘‘6Úª:D""""•còò¯ÂÂBÌ;sçΕ»öý÷ßÃÐа–W)Gaa9æÎ=†¹såÏtùþû>04Tîš+""""uÄäå_ï¿ÿ> ±gϤ¥¥A(¢K—.˜5k† ¢êðè9÷þûQXø{ö\GZÚ}…té"^„>dˆüÁ‹DDDD-“—™˜˜`Ñ¢E¶5²ªéêê6éÁ¤,Zä‡E‹žÏ³tu5!}¤ê0ˆˆˆHÍ©ôœ"""""¢ºbòBDDDDDjÉ ©&/DDDJrùò}¬\™‚ëר:"¢ç“"""%¹t©+W^fòBDÔH˜¼‘ZhÐVɧNBVV²â!ª·åË—cùò媃Z{{{U‡@DDÔ¢4(yqssƒžž^{í5eÅCT/â¤e:€ª…ZŒepsÓSu*W]-B|ü]¤¤ÜGM àìlhjŠ¿ÔÊÈ(ÁîÝ™xùetîlŠ'òpéR! ´Ð«— ìíõeî—œ\ˆ˜˜;4¨5\]j½öÚk­áâbôÄû_¾|¦¦Ú8ÐFFZ€²²*DGßÁ­[%°·7À€vÐÒ’Ÿ|ðàA%ŽÍAff tt4ñ &ðñ±¬µíwî”áÈ‘;(*ª„››zõ²}f_<™‡+WŠPUU''CôêeaÝ:»<Þ^^føçŸ»8þtt4ðòË6hÛÖ°Ö×)ÒOu©«èû„ˆZ®%/°°°À²eË”Q½ˆ“—ÞPu(Ôbl‡……ªcP­¤¤{˜937o–È”ÛÛ "¢'œœ ‘‘QŒ•+/C[[ß}—Œ“'ó¤õ45˜7¯ÆŽu‘–%'ßÇÊ•—áîn\Kò"¾Ö¾½ÉcÉ‹øþ::X¾üââr¥õ¿û.›7¿ŒÊÊŒwwî”I¯uìhŠmÛ^–I¸…¹sÏâÁƒJ™çvébŽ~èkk]iÙöíX° 5Ò2//3 âPk_;W€?L@VV©Ly«VzøñÇîxáÓZ_÷¸U«RP׳†õõ…˜0Áí™õ$ý§§'ÄO?]Att¶ôšP(ÀâÅÞxýõ62¯Q¤ŸêZWÑ÷ µ\ J^ˆˆ¨eºy³ï¾‡ââ*´n­ž=­ab¢…ÔÔ8v,·o—ÂÉéÑ·öáá×QZZ…À@XYé"9¹'OæáË/Ï£];tëVû·öu~ååÕ>ÜffÚ8~<—/ßÇ‚I¸}» ÚÚ3Æ B¡öíËBrr!¶l¹ÿýOüøòåû˜>=UU"têd†®]ÍQ\\èèÛ8{¶ÁÁÿ`Û¶^€óçïaþü³¨®ÁÇÇ;›¢  ÞÂ?\‘‹íÖ­R¼÷Þ UÂÓÓžžfÐÖÖÀÅ‹…8u*ᅦ½CçÿJ^½:ÕÕuË^,-uꔼ<ÞÅÅâ¿=$'âøñ\,X„W^i%ÁR¤Ÿ©ûxù>!"õÇä…ˆˆöÓOW¤v¿ùÆ[f VVV „BÙ)YeeÕØ½»tÄPýúë X¿þzƒ?”ŠDÀýѪ•x*_uµƒÅàĉ<ôìi…uëzB[[Ó;ï8cÀ€h>|Gš¼¬[w UU"¼÷ž+æÍë$ý@ýñÇñúëGpölNÊCVذ!ÕÕ"„„x $¤½4†ö:ô°\l?ÿ|EE• õĘ1Î2×6lHÅ¢Eç±gO&ÞzËé©mœ:ÕC¡‘ETVÖàÏ?ûÉLÏúä“Düþ{òÑ·¯xJœ"ý¤H]‰Æ~Ÿ‘úcòBDD ;uê.44øâ /¹µ#öörõ‡µ—ù@ ï¾ë‚°°«8s&¿Áñ æ M\ñ”§nÝ,‘šú&¸Ipr2„>nÝz4…ëÌ™|…ÌšÕAf$ÀÌL“&µÃ§ŸžÅ™3ùèÑà ‰‰ÐÓÓDp°‡L ú5ª-Ö­»&S~âD„B *ðÃW ‰¤IHIIàÂ…{žž¼L›æñÔë ñúëmäÖ•ôîm‹ßÏ@NΣévŠô“"u%û}BDêÉ )¬°°ÖÖº00¨Û¯ù„FCC€Ö­õÿýàÞ0¶¶ò›'èé Ÿz­¨¨BúsQQ%¬­u¡«+?bѦ8öû÷+ÿýß ØÚêB(”ßi³¶vT ºZ„+.?1þÿ® ©Mc¬y‘x<ñ{üPUõ衊ô“"u%û}BDêÉ )ÌÔT·n•¢¤¤ªN Lff‰\™H$^bl¬--ÓÕ””Ș¿}»T®LYŒµ]†òòj¹Û’ LL´þý_mܹSŽêj‘\S[;5QQQƒ÷ßr2ñßÍ jÓ˜k^êJ‘~R¤®D]ß'DÔr1yQ²­[·âÇÄòåËáåå¥ðëþùglÚ´ ëÖ­ƒ««k#DHDÔp=zXaëÖ =‡¯¿ö–n -- ±±±(..VrdDDÊóÁîøã,DEÝD||>zô°„‰‰6ÒÒŠqôè¬_ßS&yÑÓ"0ð °ƒ••..]*ĉy€ñã}Qó ¦°¶ÖÅ·ñÖ[ÇàåeŽ»wËqðàmèë7Þ¯¬ñãݰo_Ö¯¿ŽÓ§ àím†ââ*ÄÄÜAAÁCxy™¡{wñÚŒwßuÁ¾}YX±â2NœÈ“ÙmLWW>ÆÉ“ÝqàÀmÌšu×áéi##-äå=ÄÕ«E¸páÂÃ{¢uë§ŸeÒ˜k^êJ‘~R¤®D]ß'DÔr1yQ²Q£F¡k×®õu!"ªüÒ‹FצÂÃ{bæÌÓÈÊ*Áöí¦ûØÛëKGP$Æsűc9ؽ;SZ&9¿ãñ¤tu…øì³Î˜>=ññwàçg~ýZ!4ô\£´§C,_sqî\Î+^“œI"éçÎͰhQ,X„„„»HHÇèéiŽ¡Cíñå—çeîmoo€ý0kÖi\¼Xˆ‹e¿ÜjßÞ䙉Ks¡H?)RW¢®ïj‘Ð?£•H-0yQ288Ô~HQcÐׯAiiÓg0/¾h˜˜€O¿¡PÎΆðó³–[ ¢££ýpìX.®\¹}}Môîm[ëÉ鯾Ú/¼`†¿ÿ¾ƒÒÒ*tìhŠ—^²Æ¥K… igçGçÇ8:"$¤=ºt‘?1ÔßßZ°°Ð‘»ööÛÎxø°Z¦là@;ôìi…£Gs•U mm têdù{é??k9rTÂÕÕ½{ÛàêÕ"„„´—[ÃÒ¡ƒ öïï‡ÄÄ|\¼Xˆ²²jØÚê¡];c´ooòôŽnDOë?ɵÎeÐT¤Ÿ© (ö>¡ú+)Ñ€­m•ªÃ ª&/Jö¤5/ÕÕÕØ²e 8€œœ˜››£oß¾;v,tuuk½×Ù³gñÓO?!##vvv7nüüüšª)D¤&¬­«‘­šÎ55ð÷·†¿¿õ3ëjhЫ— zõ²yf]}¼óŽì™(;š¢cGÙÒŽŽ ©}:•ŸŸ5üüjk̘ڷ%66ÖÂàÁöÏŒïÐõß³YÚ·7yb2"ˆ¾ÿ®óP¥§õßÓ®)ÒOŠÔ{ŸPýääh¢S§‡ªƒ¨^˜¼(Ymk^JJJ0pà@ÄÅÅÉÔݺu+V¯^èèhX[Ëþ‚ýóÏ?±páBTT<ÚÊ3""«V­ÂÔ©S·D¤VÚµ«@r²üèÑ••i -M íÚU<»2Q3ÄM`Þ¼yˆ‹‹ƒ••–.]Š}ûöá‡~€““.\¸€I“&ɽfÁ‚0`6mÚ„¨¨(Lœ83fÌÀ•+WTÐ "j®ºw/ÃÉ“z¨¬TÁâ"R+'N衦F€nÝÊž]™¨âÈK#«ªªBxx8tuuwwwéµQ£FÁÃûvíBNNll ‘<QQQÒŸ‡ †V­Z!446lÀâÅ‹›´DÔ|õï_‚/¿´Ä¡C4¨yíTø´5D|Ÿ4; áí]KËêgW&j†8òÒÈÒÒÒP\\Œ>}úÈ$.`aa#F@$áüyÙÝiÆ'w/IÙëQËfk[…Þ½K°~½iÏi*’u^^fª…š1¾OšÆZˆŽ6ÀèÑEª…¨Þ˜¼4²òòr€¹¹y­×%å’z¦¦¦O¬[VÆ¡^"’õÑG¸xQ;w>û¤v"j™¾úÊNN•<¸yÐ)‚ÉK#kÕJ|"ð™3gPSS#w=!!`gg'Sž˜˜(W÷ôéÓ€Ö­[+;L"RsnnxóÍ",]jâbþÓND²þþ[GŽècá» ›Ù-‘ø®‘YYYÁÛÛ)))øä“OPYY ‰DX¹r%:[[[xzzʼnÑ¢EÒd222hº‘Ú˜1ãjj€™3­QËw%DÔBeeibÎk RÌ…ú¤ö˜¼4ÿû¿ÿƒ††¾ýö[ØÚÚÂ××­ZµÂ‡~(½®©)»w‚½½=ºuëxzzÂÝÝ.\€——F¥ŠfQ3gjZµk³qò¤>–,áÂg"HùÁ­`m]…¯¾ÊSu8D Æä¥ ôë×{÷î…««+ €œœØÙÙaãÆxçwä^³bÅ âÊ•+8þ<***Я_?üùçŸÐÖÖVA+ˆHtêô_‹ðpS¬\iÞìðQÓ),büøV¸wOˆŸ¾}}É’úãVÉJ&YLÿßcРA4h®_¿Žœœ˜››ÃÃÃì¹ 'NÄÀÑ¥KDEEáÖ­[¸yó&Z·n6mÚ4Y;ˆH} RŒÒR ,X`‰ôt-|óM.tt˜Åµ$©©Z˜8±ª«øå—ÛhÕªJÕ!)“%“,À·µµ­õº««+\]]Ÿøzggg8;;Knݺ5è‘ÂF*‚ƒC%¦M³Åˆ­±`Á]tíZþì‘Z«®`Ó&c,[f— üôÓXXðLz~pÚ˜’|ÿý÷pwwÇÞ½{áää'''U‡DD-\ÏžeˆŠÊ‚…E5Fn™3mp㆖ªÃ"¢FPS#ÞQlÈ{,^l·Þ*Âo¿ÝfâBÏ޼(ÉÕ«WqíÚ5ØØØà×_•›FD¤ ŽŽ•ذ!11øúk ¼òJøú–¡ÿRtéRGÇJ˜˜TCƒ_e©•‡¸wOˆ«Wµqê”0ÀÍ›Zèׯ?þxŽŽ•ª‘¨Q0yQ’™3g"88íÚµã‚z"jvúõ+AïÞ%ˆ5Àž=†X½Ú ÷ï3c!z89U"  #F<€«k…ªÃ!jTL^”ÄÝÝ]Õ!=•Pôí[‚¾}K ·niáæMMi@$âhñó&1q""&bÕª;ª…¶¶ÆÆÕps«€©)w£–ƒÉ Q $öö•°·çÔ’ç•HTŽˆàÕW‹U ‘ÒpΩ&/DDDDD¤˜¼‘Z`òBDDDDDj¡A ö%g›888(+¢xÀ,UA-F>®^uSuDDD- w£ç†——3lmmUµIIIªˆˆ¨ÅiPòâîîwwwlß¾]YñÕ‹@ À¸qã0hÐ U‡B-ÄÔ©Sahh¨ê0ˆˆˆZ®y!"""""µÀä…ˆˆˆˆˆÔ×¼5C666°±±Qu¤Æ$ïGBD¤<y!"""""µÀä…ˆˆˆˆˆÔ“—FpâÄ ,\¸7nÜPu(DDDDDÏ &/õtôèQ,\¸7oÞ”»vâÄ „††2y!""""R"&/õtôèQ„††Öš¼ôìÙ ,@Û¶m›>0""""¢çwk={öDÏž=UÑs¥É’—ÂÂBüõ×_HOO‡––ºv튗_~Yz=//kÖ¬……¦N*óÚòòr|÷Ýw …øè£ ©©Y§{>®¨¨ÑÑÑHMM…¾¾>¼½½Ñ£Géõ¨¨(œ?ü1ôõõe^+¹öÉ'Ÿ@WW¿þú+> Gtt4 mÛ¶x÷ÝwqâÄ üõ×_x÷ÝwåF_222œœ˜››£wïÞðð𩸸8Lš4 fffØ»w/®_¿ÂÜÜ\ž ‘Høøø`×®]HJJ’iïãÏ555ž}ûpõêU¼øâ‹¨süŠôåŸkllŒÝ»w###vvv:t(LMMj/=Ÿš$y ÇŒ3PTT$Sîï﨨(XZZÂÊÊ 999X¸p!D"¦M›&­Œððp„……I—ºÜSbýúõ˜5kîß¿/S×Ïϱ±±ÐÐÐ@TT"##1uêÔZ?pGFFbúôéÒäåÈ‘#€ˆˆi½^½zI“—ÐÐPôîÝ[&y™7oþïÿþÕÕÕÒ2@€ñãÇcÍš5ÐÒÒ þ0¿dÉx{{cΜ9HII‘Ö·°°@LL <==ŸÙï555˜4iÖ®]+SŒââbüòË/2í•<÷…^ÀÇŒôôtÀÌ™3PçøéËÇŸÛ±cGÌž=Òú–––عs'üüüžÙ^""""z¾5zò²{÷nŒ?šššxíµ×о}{<|ø‡±cÇð¿ÿýûöí,_¾gΜÁ¬Y³àããƒîÝ»cݺuÇÿþ÷?Lœ8Qá{nß¾&LøøøÀÇÇB¡gΜA\\jjj ¡¡ØÒŸ±cÇ¢¦¦GŽÁ{g6mÚÀS׸üðÃX¼x1ŒöíÛãÆصkÖ­[KKK,^¼Xæ5|ð4551qâDâÀ¸té¦NŠcÇŽ=3ÎåË—cíÚµ … ‚³³3®\¹‚5kÖÀÊÊꉯ›2e ´µµ1a´nÝ=zô¨WüŠ †¶¶6&Nœ]]]DGGãÒ¥K6lRRR`aaÑ û‘zkôäeÞ¼yÐ××ÇÑ£Gñâ‹/JËE"FŒ¨¨(¤¤¤ÀÃÃÚÚÚØ¾};¼½½1räH¬_¿Ó¦MCçÎñã?Ö랟~ú)qò0eÊ™Øâââ  nÓØ±cqóæM9rãÆ«Ó¨À7ß|رc† &-ÿçŸàïï+V`þüù000^sqqÁ¡C‡ §§X¼x1:wîŒãÇ£¨¨ÆÆÆO}æwß} DGG£wïÞÒòÝ»w#((良³··Gll,ŒŒŒ¤e’P‘øÕªU+;vLÚ®ªª*Œ5 QQQذafÍšUï{‘úkÔä%;;—.]‚‹‹ þüóOüù矉D‰D ñ8}ú´tÝD›6m°iÓ&¼úê«0`LLL°cÇéxEîihhˆk×®ÁÇÇG.qÐdS‘nÞ¼‰¬¬,¼ôÒK2ü [·n9r$6mÚ„ÄÄDøûûK¯Í™3GÚnÐÖÖFÿþýqåÊdgg?5yÉÈÈÀíÛ· “¸@`` |||PëkgÏž-“¸Ô7~EÍ™3G¦Mšššøâ‹/…ãÇ3y!"""já5yÉËˤ¦¦â³Ï>{b½ÿ®Eï” \ IDATñ÷÷‡££#ÒÓÓWW×zÝ3??Ю]»z·AîÝ»pvv®õº‹‹    @¦ÜÁÁA®®¡¡! ²²²NÏ|ÒT¶¶mÛ>1yqss«õ^ŠÆ¯(''§'–Ib """¢–«Q“333@‡0räÈ'Öóññ‘ùyÊ”)HOO‡‹‹ ~ýõW >C† Qøž’5W®\yf¬’…åÅÅÅ2‹ýÔz–‹"$1§¥¥Õz=55ÞE¬.Ï|ÒA™O;@S²)ÂïU×øëÛ—ééé2;ÀIʈˆˆˆZ®FM^àææ†ììlŒ1/¼ð‚Ìu‘H„¿þúKfÝÊÚµk±aü÷Þ{øöÛoáíí±cÇ"11NNN ÝS(ÂÍÍ øù知 þ%Ž?Žž={B HÝïÛ·ÁÁÁÒ:‡ÂñãÇåÚ&Ù)«.£ mÚ´½½=Ž?Ž={ö`èСÒk§OŸÆï¿ÿ===x{{?ó^uåèè;;;DGGãèÑ£2[HÿñÇOuQFüŠö¥Ä’%K0dÈ锵ªª*|þù瀗^z©ÎñÑó©Ñìÿßÿý^ýux{{£oß¾ððð€®®.nܸøøx¤§§£¬¬ B¡‰‰‰ §§'~øáèééaûöíð÷÷Lj#pâÄ èèè(tÏE‹aÔ¨Qøàƒ°~ýzénc§OŸÆ‰'PYY MMM <Ÿþ9>üðC;v ŽŽŽHIIÁükkkܹsG¦]’©l³fÍB\\ôõõ¥ç¼Ôæ“O>ÁÔ©S„ÁƒÃÃÃعs'*++1gΜ-v¯ÍŒ30{ölôë×AAAprrµk×°gÏX[[#77 N÷R$~EûR";;íÛ·ÇàÁƒ¡££ƒ˜˜$''ÃÒÒò‰ýJDDDD-G£'/AAAˆŒŒÄ´iÓpðàAøúúbÙ²eÆ´iÓðóÏ?×ùžðÆo   ³gÏF||<âãã¥uýýý¥ ü½¼¼‚+V`ëÖ­Ò:Ÿ}öÒÒÒ)Ó®¢C‡¸té¾ýö[Îy©Mpp0²²²ðí·ßbï޽ػw/€Gç¤|ùå—õíâ'š1c._¾ŒððpüþûïÒò)S¦ ;;;wî¬s¤HüŠö¥ÄêÕ«ñÑG!,,LZ&9ç…Û$Q“R9zôh!&&W®\AMM Ú¶m‹îÝ»K¥Ÿ={cÇŽEïÞ½eèî–——‡œœØØØÔéž“&M›o¾‰ƒ"==&&&ðööF·nÝdê-_¾o¾ù&Ž;MMMôíÛžžžˆŠŠ‚«««tª ž6–€}ûöáúõëxøð¡tq|Ïž=±`Á¹Åò‹/Æ| sB}Ÿ>}äN¨ïß¿?tuuakk+×—’kÖÖÖÏìw¡Pˆõë×cÊ”)ˆ ÞaÍ××íÚµƒ¥¥¥L›žö\EâW´/%ÜÝÝqéÒ%ìÙ³hݺ5† SSÓg¶•ˆˆˆˆž‘dáz,˜ß¾}»Ò"åJHHÛaõêÕ˜6m† †¨¨(EöÈ'Ÿ|‚%K–àìÙ³ðòòª×=V®\‰Aƒ)9:¢ÚM:†††ü÷š­mÛ¶aÔ¨QhÀ¯y"¢æf{“Œ¼êôíÛ:uB—.] ¥¥…Ó§OKÍOŸ>]ÅÑÕ“—眯¯/>Œ“'OJËttt°téR™Ȉˆˆˆˆš;&/Ϲ˜˜œ>}IIIÈË˃ЪU+U‡&õ¬µ6DDDDD“—¡k×®èÚµ«ªÃx¢þýû£ÿþªƒˆˆˆˆš9 U@DDDDDTL^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ“"""""R Þm,++ Û¶mSF,D röìYU‡@-È;wàêêªê0ˆˆˆZ”'/§N¨Q£” QƒDDD ""BÕaP Âä…ˆˆ¨i5(yÙ¾}»²â """""z*®y!"""""µÀä…ˆˆˆˆˆÔ“"""""R L^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ“"""""R L^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ“"""""R L^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ“"""""R L^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ“"""""R L^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ“"""""R L^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ“"""""R L^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ“"""""R L^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ“"""""R L^ˆˆˆˆˆH-0y!"""""µÀä…ˆˆˆˆˆÔ‚¦ª ""¢†)++Cvv¶LYNN --M¦\(ÂÑѱÉb#"R&H$©:"""ª¿üü|ØÚÚ¢ªªê™u €4ATDDJ·ÓƈˆˆÔœ……^yåhh<ý׺@ ÀèÑ£›(*""åã´1"¢&RUU…òòrU‡AÏ©#FààÁƒO­£©©‰W^yÅÅÅM‘,]]]hjÖ?aòBDÔDÊË˥눔Í××ZZZxøða­×…B!úö틲²2”••5qtDDb666044¬÷ë9mŒˆˆè9 §§‡þýû?ñÍšš6qTDDÊÅä…ˆˆè91tèÐ'.Ú×ÕÕÅË/¿ÜÄ)“""¢çD¯^½jŽ¡©©‰AƒAWWWQ)“""¢ç„$IÑÒÒ’)¯ªªÂСCU‘ò0y!""zŽ :•••2e&&&èÞ½»Š"""R&/DDDÏ___XXXHÖÒÒB`` „B¡ £""R&/DDDÏ :T:u¬²²’Sƈè¹Áä…ˆˆè93dÈéÔ1[[[xzzª8"""å`òBDDôœéܹ3ìíí¯¿þ:Š#""RŽÚO²"""µsù²6’’tqíš6îß×@E?°¶dººoøçÏÿÓ¦Ù¨:R!CC,,ªÐ¾}ºu+ƒ¥eµªC"ª7&/DDj,?_ˆÈHcüþ»1nßÖ„¡a ÜÝ+`jZ ‘ªÃ#²³‰œœ?`dÔAÕ¡Šåäqþ¼Ö­3EMÍÿ·wßáQm‡›Fʦ’P„P¤_ºbDAD¥¨ A,ˆ"ˆQ¥ .‚ ¥kÀ@‚t¤÷Fú{È’„$H¢Ï}]ßõfÏ™3sv?<ÏÎ<3*Ú¶ÍgäÈ, ÊÁÔTþu‹/BQ«X½ÚžÅ‹ëca¡cذlú÷Ï¡eËd†Ð³çÀWèÞ=©¦"j‰¼<‡Y³u«š©Sùì3Þ~;•ÎójºiBTšJ§ÓIÈ-„wANNII·ÿ y挓'»gƸq<÷ÜU¬¬äŸr!Då]¹bÎܹ سǚÁƒsxャ­µ5Ý,ñàêêŠZ­¾Õ·o–„}!„¨Cöì±á±ÇãÆeHr¾ÿçÏSïï¿1MN•ŠbwwòѸ¸ÔtÓ#Gf±~½!!N|öYbM7G#¼!D-µv­=:ž{îîä¹DFFÒ¯_?åõöíÛiÚ´é]¹öÝ’””Ä›o¾É¡C‡(***uÞÇLJùóçÓ¶mÛÛºÎèÑ£ ½i™Ý»wãããctìË/¿dáÂ…äçç÷ôôäƒ> sçÎÊ±ØØXFŽI||¼rÌÁÁU«V`ôþ÷Þ{¯¾úŠàà`^zé¥[íVµfÍ®^ÕÿÿÑ}÷ÝG‡îzìW¯Æ~åJÌccKÓ™š’5bi3f 3­ùdySS¯¿žÆ¸qî\¸`A“&…5Ý$!¼!D-¤ÓÁ·ßÚ2lX¶ìãR’““9pàíÚµ£mÛ¶$%%±cÇ4 QQQ<ýôÓìܹww÷j¹æ3Ï<ƒ­­m©ãöööF¯¿üòKBBBP«Õ :”ôôt~üñGâââ3f 7n¤eË–Ìž=›øøx4hÀàÁƒÙ½{7ÑÑÑL›6mÛ¶¡Ré®Ïœ9ÃêÕ«ñññáù矯–>Õ5kÖ¬áÒ¥KXXXÔHðb}ð æ±±híí¹Ö§;;lÀ<2•Fƒý7߀™©Ó§ßõ¶•¥G\¼½‹øö[[Þ|3­¦›#„B‚!„¨…Ξµ >ÞŒþýsjº)ÿ: 6äý÷ß7Å bÒ¤I\»vuëÖñꫯVËõÆŽ‹››ÛMˤ¤¤ðÑG)¯?üðCúöí è™õë×SPPÀ¬Y³Ø¼y3†ýû÷0cÆ ÈÀ6l§N"11www´Z-Ó§OG£Ñ0kÖ,êÕ«W-}·@¥"sôhÒ_{ ­µ5éS¦à9t(õΜÀníZÒ_yE9_“T*èßÿ¿þj#Á‹¨U$xBˆZ("µZKË–5ÚŽ¢¢"öîÝË¥K—prr¢W¯^4hÐ@9ÃÖ­[•×ãÇÇÊÊ €ŒŒ V¯^­œ1bÎÎÎ\½z•5kÖ(ÇŸxâ lmmÙ³g—/_& €V­Z•*ãààÀþýû¹xñ"...VÜÈÓÓ“­[·âàà`t|À€¼õÖ[dggpñâE@Ȭ\¹N?úÕ«W/Zµj¥¼oÇŽ\¸pGGGFU¥öüôÓOè?k+++z÷î­œ8p ëׯ ""‚ÈÈHÔj5ÅÅú<(___£ÿHHHÀÝÝõë×ó×_1xð`ºvízKm»Qff&{÷î%11///î¿ÿ~>ÿüs¥Ì!Cðòò@§ÓqüøqNŸ>Mff&öööx{{Ó¶m[Ôju™×8wîýõiiiXXXàííMçα³³3*WÑw)''‡zõꑞž®” ¥°P? J­V3f̘rûj½w/–'O µ±!cÌýS=`šžŽÝ7ß`XP8ç(lҤܺRßxƒ"??£c: r† ¡Þ{ï **Â,*ŠÂæÍË­çn Ìã³ÏÈÈ0ÁÁA[ÓÍàE!j¥ÈH 7.4<'Õˆ¤¤$&OžÌùóç•cVVV„„„0hÐ ¢££Y´h‘r~ôèÑJð’™™it®oß¾8;;“žžnt¼eË–„„„pùòež~úi<==ÊtèÐùóçsâÄ £¶|ôÑGÊEe8:–¿ü«™Ùõÿ$ªmll(**bÙ²elÞ¼™Ÿþ;;;"""˜}ºT]fffôíÛ—Å‹+Ç®\¹ÂÔ©S•ãÇçÅ_ÄÄD¿XjEߥ²„††*ùH®®®7 ^ pyã LÓþyP©ô à2u*Ö{÷Hú /”[P*p1Й?ŠéʘbXSš6Õy—.YЮ]~¥…¸;$xBˆZ(#Ã''M¶aêÔ©øûûóÌ3ÏpàÀ"##ÉËËãµ×^£Q£F¥’ÂoÕ[o½…ƒƒƒ’rï½÷–*3eʼ½½yúé§Ù¾};ÉÉÉäåå1cÆ ºwï~ÛÓ¡:¤$ttïÞ]ù{òäÉ?~œÐÐP˜>}:ï½÷/¿ü2þ3z饗ÊÙxÿý÷^[YYñÒK/1nÜ8åXɤûGn|€©©)=zô`÷îÝÌ™3‡'NðÛo¿ТE ÜÜÜxõÕWÉÊÊbÖ¬Y8;;ÁÑ£G111¡cÇŽ´nݺ*·ˆØØX&NœHnn. ÅêÛ·/±±±—ùžÅ‹+‹¿¿?½zõ¢¸¸˜èèhŽ=ÊîÝ»•²)))Œ1‚”ý~FîîœÌÎ;ÉËËcÑ¢Eäåå1uêÔ2¯wãw©  €zõê±zõj222ã„ýòF~ Š]\Húøc<žz ´Z?ü¼.]°<|X \ e¸ÅD{›íÛ•¿‹üü(òô¼¥zîGGý÷ûêÕš_D@ ^„¢*, ‹šMÔïСƒò«ö+¯¼B¿~ýˆ§¸¸˜åË—ýbn`øE¼*š4iÂÊ•+F>"##Ê´lÙ’åË—£R©4hÆ  55•Ë—/sÏ=÷TùºL/‘$ݦM  ¼611aáÂ… <˜ääd¶oßιsçˆýgÕ¨ž={2qâÄRõÚÚÚÒ±cG|}}ÉÉÉa×®]ddd——Çûï¿••O<ñyyyÊûÌnø%ÞÜÜx¯k×®0}út%¿Å0êcooÏܹs9|ø0?üðmÚ´aĈ¼õÖ[lܸѨžgžy†·Þz«Ò÷é믿V¶nݪŒdÍ™3‡¯¿þºÔ{¢££•¿ß}÷]£<£ÂÂB%o`ÅŠJàb¨ß0EqùòåÌŸ?€•+W2jÔ(<ËxÈ/ë»úѯ’ÁKU.ÈëÒ…ôÉ“qüè#TEE¸N˜€Yr2 _%,iÑ"4%¦RV…ý×_cuäˆþ…JEÚoP£Ã­70üTPP{Ú$„lR)„¢LC† Qþ¶²²¢ÿþÊë#†®jðÔSO•zؼÑã?®¬žU2· 1ñÖ÷¡HNNfäÈ‘DEEúdþO?ýÔhÚ€““‹/VŽ‚+///æÏŸ¯´Í 88˜?ÿü“Ï>ûŒiÓ¦1wî\~ûí7<<<”2K—.Uri Sí%—ÅàÆ%mll”¶îÚµ‹ ðꫯÂîÝ»iÚ´)o¿ý6¦¦¦Ì™3‡ýû÷+Ë Aƒ”iv_}õU•>ǰ°0åï=zMÁ+ù])©dPù /0qâD>øà¾ýö[âãã¦üЗ§dbþ#Zí­%GGG3zôhe¥Q£F¬^½—r6 lß¾=üñÇʱG}´Tò?@ÇŽKsppà‘GaéÒ¥€>pJMMÅÙÙ%Ÿ§d>  Œ”\ÂÙÚÚš‡zÈèü¢E‹¸|ù2Ï<ó Í›7ç›o¾QÚÿñÇðÀpáÂöîÝ[f[Ë’••¥ü}³ïFIÁÁÁœ{»­â?AF^„B”)--­Ü×õë×JO3¬âú܌ʸq”£¢27ŽrÜŠ3gÎðØc)K@@6l¸éÞ.›7o6 \–-[Æ™–¹­ ÃH‹¡/íÛ·WŽÅÄÄ~†ýI ÚµkWnýQQQ¬X±777&Ož \™*™øo½ªìgÆûÒ¤¦¦»ñ»b V«Y·n»víbÞ¼y¼ð ôïß_ÉQ:xð ²ZXÉ‘œ²ê/¤–·ðBe¾K·Â$7ç=0ÉÎÆ¹ ÓîÐéhðÎ;×RæÌ!ã¹çª©¥BüûIð"„¢L%—@ÎËËcçÎÊkïõ7ŽR”\åiÓ¦Mw¸…·&<<œ'žxBɯèܹ3k×®-wôôÁÎ;ï¼è6ÃòÀ¼øâ‹ÊË Olˆˆ(UGFFßÿ½òÚÓÓSa4h€þ^ïÙ³G)÷ÓO?)·iÓÿrÛ9sæL ˜1c†2½Ì•ül Óäª2RÑ©S'åï~|÷Ýwe¾çèÑ£$''ãççÇСCyùå—Y²d ÇWÊ–¥îÖ­›rlïÞ½FõoÙ²EùÛÔÔ”.]ºTºÝ`œG”Ÿ_õU³œ§MÃ⟩‚ù: ù'xWÿø£~sÉJPãúÊ+Jy¹9I‹‘õøãUnÿe2mL!D™ÂÂÂxê©§hÖ¬û÷ïWVÄ255åÙ¦¸øøøàââBò? Ì/½ôäìÙ³¥F jƒK—.ñÔSO)°–––´mÛ¶Ô2Ç 4`äÈ‘€~ºÔĉ•}X&NœHpp0#GŽ$<<œ¨¨(¦Nª,§|éÒ%ÆŒƒ——­ZµÂÓÓ“ììlvíÚe4Ý®ä&˜ÎÎÎLž<™>øÐ¯®6tèPÒÒÒ”àÅ‚™3g–Û·ü‘ßÿ^½zѯ_?åxß¾}Ù°aáááLž<™ÂÂBeùkCVO=õ7n$77—œœyä‚‚‚ˆ‰‰1Zº¤-[¶ðÝwßѶm[|||pvv&--üQ)Ó¸qcž{î9~þùgRRRÈÉÉáá‡&((ˆ””¶—X‘k̘1e&ëߌ¯¯¯ÒçõëדŸŸµµ5ÞûU«PÿóhI\¼˜z§Ná>~<èt8½÷ù­[SPÁêmÎ3f .Ñïüöí±8ÇK‘dHÑMT!þë$xBQ¦yóæb4UÊÊÊŠ9sæ(5š™™1gÎ&OžLnn.ÉÉÉ|õÕW´hÑ‚?þ˜#FÔTóË”’’bôË{~~>Ë—//U®yóæŒ9NÇ”)Sˆ‰‰ô+°cjjÊÇÌàÁƒ•\Ž/¿ü’±cÇâååEÇŽ W¦¥•Ô A¦M›Æƒ>htÜ.Z´ˆœœV­Z¥œóððàý÷ß/wyãììlæÎ‹••U©§G >œM›6âŒ7î¦SÐnäååŲeË”}^âââøê«¯ðòòbÑ¢E<^ÆB§N8tèGåèÑ£¥Î0€Ñ£GúnݺuL:•cÇŽo´‚YÉ}^ªjìØ±8p€üü|ÒÒÒøâ‹/}ÎÒÍ‚ËãÇq Ñ¿P©Hž?³3¹={’1v,_|ª¨·à`b¾ÿmùOfÿŒv)ý9|«Ã‡K•+hÞ\‚!nB‚!„€>`Ò¤IÊë-Zðý÷ß³wï^.]º„££#½zõÂÙÙÙè}½{÷æ·ß~#44”¤¤$e?ììl£ú S¤n¼NYÓµnVÆÜÜÜèÜ›8ÞŒ§§§Ñ{ËchkLL Êž6>ú¨’WáîîΧŸ~ª¬|UPP@aa!~~~¬_¿žÔÔTNœ8ABB™™™ØÚÚÒ´iS:tèPnnƳÏ>ËðáÃùý÷߉‹‹ÃÜÜœ&MšXj¡‚’.]ºÄˆ#hÑ¢…²³}IsçÎeذa„‡‡£R©èܹ³€VE×®]Ù³g{öì!)) OOOúôéSîT¬Gy„Gy„3gÎpáÂÑjµ¸ººÒ¾}{¼½½Ê7jÔˆM›6qöìYŽ?ÎÕ«W177ÇÛÛ›ÀÀÀR{ÞTæ»úœ¢={ö°ÿ~’““•œ¢Šö*²¸pŒ–Á.òö&·Äþ?éS¦ qpÀäŸ<¯z§O“wß}åÖ•=t(ù7½@a9›Y !ôTº³…BÜ999$%%Uªlp°+‹W®¼5éêÕ«F«–­]»ÖhOQw5nìÏ¢EI SÓMÿ®®®n{›eäE!D·eËââânZÆÓÓ“¡C‡Þ¥Õrï„u‰/B!ê¼-[¶m¢X–N:ÉxäÞ !ê ^„BÔyC‡%°‚|‚ª®Põ_Q÷ÎÒÒÒ(÷DîµâN‘àE!D'£·®:î••U¥BBˆÛ%›T !„B!ê ^„B!„u‚/B!„Bˆ:A‚!„B!D Á‹B!„¢NàE!„BQ'Hð"„B!„¨$xB¡3&”9sNÔt3ªÅ¿©/µ™Üg!ÄÝ$›T !„P9’J~¾¦¦›Q-þM}©Íä> !î& ^„B(V®¼µÚ¼¦‰‡î IDAT›Q-þM}©Íä> !î& ^„B(:vlPÓM¨6ÿ¦¾ÔfrŸ…w“/B!cÆ„âç§fúôÖFÇ£¢®±ysçÏg¡ÑhñóS3dˆ͛ۗª#3³o¿&""œœ"\]­è×Ï޽ݕ2EEZžzê:tp⥗š³iÓL¦°PKÛ¶Ž<õ”?juéÿDýõ×U6mºB\\.îîÖ<ö˜/žžV¼ôÒ‚‚¿øâ=¬[w™Ã‡SÐj¡}{Gž|ÒkkS¥¾¤¤|^~¹ô½,yî›óÌ3ð矩JÉ={øî»h6lèNýúäçkʼ—%ϵha|ÜîwF!ªB‚!„åJJÊgÊ”pŠŠ´ôïïIÿþ˜››°"›7G1{ö Ú·w¢E {rrŠyþùÃddòðà éÙÓ {{ ¢£¯ñõ×Ù¼ù ]º4àÁ*õ8„ƒƒS§¶¤I[’’òY¶ì§Ne°}{=¤/ŸËÌ™¡ÓÁ!Þôîí†F£c×®,8U¥>Uöš·ÒŸ²œ=›IXXêMË””—Wqò{FF!Ï=§o[›6õyôQ_ÜÝ­ˆ‹Ëe×®x²³‹nès"jµ9¯¿@“&v$$äñùç牌ÌfΜ,XСÒí«HU¾3BQU¼!„(×¶mÑäçkJ2ôëç»»5Ÿ|r†¯0kV¶m‹&-­€×^ àùç›Õ3`€'=zìä»ï¢öÍÌLX¿¾;©•c>>6Œõ;ÇŽ¥+Ä?ÄRX¨e̘ÆL›ÖJ);p o¾iÆæÍW*ݧÊ^óVúS–7ßlEVVÑMË”äáaUa™­[£ÉÈ($(ȃeË:9²Q©àE§ƒÕ«» <àIß¾¿òóϱ̞ÝÖhúØí¨ÊwF!ªJ‚!„å:{6€Ç÷)unĈF|òÉΜÑO‰:~<€_'44Y™Þ¥Ó‘ÙFu´jUß(ˆhÙ²>W¯^ŸuÆ•nÇ! «¼Töš·ÒŸ²Ü‰Ã4´qãš”yÞÖÖxõ¯æÍíKtÔ¯oAŸ>î|ûm/fѺuýji[U¾3BQU¼!„(WA>gÁÁ¡^©sööæ¨T×Ëäæê§;ýõ×Õrë³°0žeo_z‰]ssÚëéJN…]éòöö7ëB™í®Ì5o¥?e¹9/†ûaÈU©HY÷ ®ß Ãgx3MÅeJÖU™ïŒBT•/B!Êåâb À‰Wññ±1:wòd:¸ºê§9¹»ëÿwÖ¬64n\:áÀÌLu[í8}:77ãiU§NÝ™_ñ««?w"çÅж£GSK"•åüù,ŠŠ´F‹€þ3puÕß_Cc¼€¡ŽŠG™ jßQ7|ðA_¶ms¦eË–Êÿ¹¸¸Ôt³Ä”/B!ÊÕ½»+ß|s‰?î|ýu$óæÂÝÝZYô+¤¥¤ää¡KM-`öìLŸÞ t:øúëHÂÂRñö¶QúV¿¾jµûö%™¿¿- Ÿ7oÞÉJµ¿*ßQhi×îaŠ‹ÃÙ¶m‹/F§ÓáêêJ`` ]ºt!00//¯šn¨øàE!D¹zõr#0ЙÇSxðÁ=øúª177!22›¢"-MšØ)y(:5àÑG}Ù¼ù ½{ï¢aCk4°$+«ˆØØ\ 4<÷\S¬úCNïÞn´iSŸ¿þºJPЯøûÛ¢Ñè¸|9‡fÍìˆSÓ[Õ)OuõçNä¼:3h?ýËÓOÿ‹‹%îîÖÄÇç’’’Ïĉ͌‚[¾ý6ŠŸ~ŠÅ×WMBB))ù¼öZ€QÝ>êËW_]dР=4ibKA–+WrhÙÒ˜˜Ü ÛV• LèÓç È ++‹S§NÁ¡C‡xçwÈÏÏÇËË‹^½z1`ÀÚ·o‰‰Iõ qkä›%„¢\*¬X¨ý¥qéÐÁ‰~ý<ŒÊ6j¤fÑ¢N˜šª8qâ*))ùØÚš3wn; ð4*|]»ºPT¤åôéL.]ʦOæÌ©xO¨úwFÔ-vvvtéÒ…‰'²fÍÂÃÃY»v-=ôþù'#FŒ k×®¼óÎ;œ}ÜY¾<¢"-.胯¦Mí°°(¿±±×HN.ÀËËKòó5üõ×UÜܬŒrYªë;#j§ÆýY´(Iy©Hdd$;vì`ûöíœ?žŽ;òôÓOÓ·oß:;óóÏ?³víZf̘AóæÍkº9·E£ÑÎîÝ»9uêZ­–U«Van^zQK—.1}úôrëš?>åž/««+juŹzåØ,ÓÆ„B(:vlPî93ZµªÜrº*øúªñõ-û¼‰‰ŠÎ˾VyçLÆÖÖœ{ï­¯$퇆¦°dÉYLLTüïÆy7öåV®YÙþÔ$SS•’WRss“Joéåeƒ—×õ ÅÒÒ´Ì{T]ßñïàïïÏ‹/¾È‹/¾ÈŸþÉÊ•+ ÆÇLJ3fн{÷šnb™¶mÛÆ¦M›˜9s&Íš53:—@XXYYY5ÔºêÏàÁƒÉÌÌ4:®Õ–½úßµk× +·¾¼¼¼jm_eIð"„¢N8w.“÷ßÿ'§zxyÙ””Gb¢þ?ž£Fù)+f !j‡Î;Ó¹sg®\¹Âüùó3f ýû÷gúô鸹¹ÕtóŒÄÅÅFvvéUõH«V­êü¨K^^999tìØ‘û￟5kÖWáûzè!†^êø­ŒºT ^„BÔ Ý»»òë¯ „‡§‘–¦_Ê·^=Sžx¢S§¶¬áÖ !ÊãëëË’%K8xð ³fÍbðàÁ,]º”N:ÕtÓ*ÅÝÝww÷šnÆmóôô$,, {{ýèë–-[*ý¾Î;ßɦU‰/B!ꄦMíØ¸±;…ÄÄ\ÃÔÔ??µ$ß„¹¹ k×v«ôf–BÜIݺuãÇdÊ”)Œ3†Ï?ÿœ.]º°aÃ~øáBBBÈÏÏgÆ \¾|™¾}ûòÄO°lÙ2~ÿýwV¬X­­­Q½†s_|ñÖÖÖ¥ê+..fÍš5DEEÑ A†J`` òþ¹sç²k×.fÍš¥ÔߢE ¦OŸ^fÎKÉússsY·nqqqøúú2fÌeéè]»v±cÇ222hݺ5ãÆ+Õ~€C‡±sçNbbb033£U«VŒ1‚ ÊŸ–YU–––XZÖýj ^„BÔ)’ø]Iåòq·YYYñÉ'ŸðÊ+¯ÌO?ý„››111„……±cÇ-ZDaa!Mš4ô „……Q\\\ªÎ²ÎêÛ³g}ô‘Q~ƶmÛX´h<ðgÏž%66€3gJïUV΋¡þ_~ù…… RT¤ßËéÀlß¾mÛ¶ñù石jÕ*å=$44”Í›7+Ç´Z-S§NeëÖ­F×ܳg«V­bÕªUèWTþøczôèÁ€pss»íéZ|ð½{÷¦ÿþØØØðÛo¿±iÓ&>üðC%xyóÍ7Y½z5›7oæí·ßVöíì*^cáÂ…ôïߟ   LLLX·nüñ&LàâÅ‹L˜0¶mÛ’žžÎâÅ‹‰ˆˆ`ïÞ½ôêÕ €Ï>ûŒ­[·Ò°aCžxâ üýý),,ä÷ßgãÆ¼üòËìܹ²³³oš@#ggç[¸c¥>|Øèõ¦M›èÒ¥ +V¬PFºî& ^„B!Ä]eeeÅ„ ˜1c3gÎTŽ÷éÓ‡%K–TÛu~øaBBB”×½{÷æÊ•+„……‘––†““Í›7W¦yµhÑ‚:TºþaÆ1{ölåu·nÝ ääÉ“,Y²„þýû+ç\\\3f ǧW¯^èt:V®\‰³³3Û¶mSrQúõ뇽½=Ë—/çøñã´k׎fÍš±víÚJ·ÍÉÉ©ÒeËãççÇÃ?L³fÍ(,,äĉlذC‡1{öl£{{·Hð"„B!îº=zPTTÄßÿ­2dHµ^ãÁ,u, €°°0222nûàÀF¯­­­ñöö&22’¾}û»çž{HLL 66–ôôt•é]:ÃŒééé€~Z\»ví°µµ½«‰óMš4aÇŽ˜š^Ï+|àxðÁ:t(?üðï¼óõêÕ»I-ÕO‚!„Bq×ׯ]»¦»•%”5M¹çJ³°°¨ð}•Ur´ÄÀÌÌ £‡~@ÙÒ›cèwzz:¡¡¡å^#??¸û9/å%÷7oÞœ€€"""HLLÄÇÇç–¯q+$xB!„w]TT ß/$<<•JUfYC “žžNýúÆŸž?þ¶Ûb¸®aÔãnpssC¥RѺuk^ýõrËùþ³;nMå¼ÜH«Õ’””è§ÿÝm¼!„Bˆ»nëÖ­xxxдiÓ Ë~Ýÿꫯx÷Ýw111A£Ñ°xñâj ^ ‰çÑÑÑtìØñ¶ë« :uêÄÑ£G¹|ù2C‡UFg@?­lÆ ´oßà®ç¼|ùå—Üwß}F›sfdd0oÞ<âããiÔ¨...·u[!Á‹B!„¸«Î;ÇêÕ«™2eJ¥–Ü4h ,`Æ ìÙ³www¢¢¢ÈÍÍ¥yóæe.q\†åˆ§OŸÎÚµk±´´Töy¹“fΜÉc=ÆôéÓ ÁÛÛ âââHMM 8833³jÉyyñÅ•\ÃòÐO?ý´2òTríÛ·‚ƒƒ^^^MAA&&&L›6í¶Úr«$xBQë´jõ­ZÕgݺn5Ö†ØØkô칋Q£üxç65ÖŽñã±wob™çôâ“OJÿJœÇ‚§8x0™ìì"||ԌوQ£ü(gVŽ·M§Ó±~ýzÜÜÜèÝ»w¹åbcc7nmÚ´aôèÑ•ªÛÙÙ™Þ~ûm’““INN¦Aƒ,[¶Œüñ¶ƒ—:0tèP¾ûî;Nœ8q[uUEÓ¦MÙ²e sçÎåÀFýðõõeøðáF£1·+""B™òepäÈåï’{å<÷Üs|ùå—„‡‡“‘‘¡oÙ²%S¦Láÿû_µµ«*$xB!þEò:tÉÉùʱ ²˜5ë/"#³k4ÿ^±±±¼þúë„……ñøã—¼„……1yòdœœœøôÓO•¤öÇœîÝ»ß4ù{ðàÁqîÜ9ÌÌÌhÒ¤ æææ4lØáÇccc£”½Y}†s 6TŽ©T*æÍ›Ç믿Ntt4………Ê>/¤U«VFÓ§nVÿœ9s((((uÜÖÖ–µk×Ò ñƱ~~~|ñÅdgg…V«ÅËË GGÇrïÅ­Z²d‰²hY £.AAA‘Mtt4ÅÅÅ4lØðŽ´«*$xB!ê€sçÆÔ´âa“yóþ&99ŸûîsæÝwïÅÝÝŠ}û’xýõp¾ùæ?ìͽ÷Ö¯°!*C§Ó±víZBBB”ջ˖u¦iS{âãsY¸ð ;wÆ1kÖ_lØÐ½ÚÚvêT_|qKKS¦NmIÿþ˜››°³gŸàÇc8Ћ>}ôóÒ7¶eüø&tèà„——5ùùΞÍâí·³|ù9Æo‚©©Š'®²~ýeÔj3fÌhÍý÷»S\¬cçÎ8BBþ®¶öWC0UXXHhh ¡¡)ŒÓ˜iÓZ)errô+ÙÛ—½:‘ƒƒ‰‰yäåi°±‘GQy¶”T\\L~~>¿ÿþ{¹›N q«ä_.!„|ÿ} މ›°øûÛ2aBékkSV¬è‚“S=¥ÜÇwdàÀ,ŽM#5µ€ êUKÛvìˆàÅ›ñä“~Êñ‡jˆ‰‰Š—_>ÂÏ?Ç*ÁˬYmøôÓó,_~Ž„„< µFõÅÅåâímÃ/¿èë2¥%C‡^_5hÔ(?23‹X¸ðt¥Û¸zu×[îßÍøúªyÿývtêÔKòض-šåËϳråE‚‚<èÐAŸ`\Ñîàws÷pñz…Ljˆ´ZmÅo’’’ˆÇÓ³îM¿µ[Å» !„øOˆŒÔO³ªl®G‹Jàb`f¦¢Kg¢¢rª­mW®èÛÖ»·{©s½{»ýs=ý”©ÌÌB† ÙÇêÕ‘DE]+¸äçkŒÞÓ­[é]¢»w¿û;G—å­·Z1l˜ÞÞ6XZšÒ¨‘š—_nÁ /ÜÀ/¿Ä)emmõ#.™™EeÖ•™Y„©© ++Ó;ßpQçéWû¹s»^éÀôSÇ>|ç'þ³däE!„‘êšåa˜.bÈ­(ëGCQù:+.³eK4 yy|>>j¬¬LQ©`ÆŒãFù-ÕéNç¼Ü¨cGýhKjêõý$||ôû\œ?ŸYª|FF!IIyøø¨%ßETŠ~ÉãË´hq?*U<©©©¤¥¥‘ŸŸoTÎÔÔ33ý#eQQZ­NÇáÇ:th ´\ü›Ið"„@yÞ±#Ž{î©8Ùþôé ÒÒ ŒF_Š‹u:¤€÷öÖ?H¦ŽÅÄ\+U‡¡lE|}õmÛ»7‘&MŒ÷íÓï>oxpŽÖ_çÕW[……Z6¾žá=&óÄŒÎ8\©¶Õ”#Gô«†•œš×¶­#ff*öîM$+«Èhű~ˆA§»ôQ‘ž={c7.‰®¤æç瓞žNJJ iii¤¥¥‘’’Bzz:iiiÄÇë .”[··J‚!„€>äÓOϱ|ùy4ÆùàæfE|¼>aß„1c+åss5<÷Ü!fÌhMÓ¦vÄÇç±pái"#³éÐÁIy¨¶²2ÅÃÚƒ“ؼ9Šð¤ @ï¿&°`Á©Jµíüðo,-M¸ÿ~w4;vılÙ¹*Ý¿;‘óšÂÆW>܇Æípp0'!!­[õ9/}û^_qÌÖÖœþý=ùé§X‚ƒÃx÷Ý{qs³dß¾$,Ðçï<öX£2¯%DeYZZâáᇇGÅ……¨f¼!„ Q#5Ó¦µbΜ,_~^y86˜8±™Ñ뎕ÃСûŽ[[›2s¦ñ~.ãÆ5æÝwOðæ›ÇxóÍcÊñGõeóæ+¶- À±cóå—™9ó83g7:?h}ûêóanÈÒ¥çøöÛ(¾ý6J)£V›Ñ·¯;¿þš kݺ>#F4býúËLz¬T?ý[aÛî¤âb-?ÿËÏ?—ÝŽÑ£ýéԩѱ©S[ò矩üñG2÷ß¿ËèܨQ~²A¥¢N“„}!„Чžògõê®ôê冃ƒõê™Ò¸±-/¼ÐŒ±c•µ·7gÆîôîí†Zm†µµ)ݺ¹”¹ÇË“OúóÚkxzZcf¦¢Q#5ï¾{¯Ñ~+yóÍV|øa{Ú´©••)õê™Ò¼¹=3f´æ£:(åÜÝ­øæ›®:£V›aggN¯^nlÞÜC™ÊVÒ¬Ymxã–øúª177ÁËËš×^kÁk¯TñîU¿ÿýÏ…eË:Ó»·îîV˜™©¨_ß‚îÝ]Y¶¬3o¿]zcOww+¶léÁC5Äѱ&4nlËÛo·.³¼BÔ%*¬›(„wENNIII•*ì ÀâÅ•+7hø>}ÜY¾<°¦›#„¸ƒ7ögÑ"ãœ!n‡««+jµúVß¾YF^„B!„u‚/B!„Bˆ:A‚!„B!D « !„¨’zõL¹xñ‘šn†Bˆÿ yB!„BÔ ¼!„B!ê ^„B!„u‚/B!„Bˆ:A‚!„B!D Á‹B!„¢NàE!„BQ'Hð"„BÜDVV‹e߾ĚnŠBüçIð"„BÜDVV!‹aß¾¤šnÊ¿ÊâÅgÙº5º¦›!„¨c$xB!Ä]·d‰/Bˆª“àE!„BQ'˜Õt„BÔ>gÎdrìXÙÙEx{«¹ï>g,Ðht,]z??5ƒyqæL&‡§ ÕB‡N´iSߨ®ŒŒBV¯¾DëÖôìéVæ¹{ï­O÷î®7­ßÄDEÏžnøøØ ÓÁ$sæL&jµýúyàèX¯T_4¡¡)œ?Ÿ…F£Åßߎ®]©WÏ´TÙk׊ٽ;øø<ÜܬèÛ×½Â{õ÷ßDD¤““SŒ««%=z¸âäTºw[Y}Ñht|ýud™ŸÅÑ£iœ?ŸENN^^6tì脳³e©z+s?oü ##³ MáêÕ~¸!Û¶Å¢Õꈎ¾Æ¢Eg•÷ Ò//›;wS„už/B!))ù¼úêQBCSŒŽÛؘ1o^;ú÷÷¤¸XË¢EgèÓdzg3Y¾ü¼QÙ‡jÈ´ÇÔT@ff‹aÔ(¿R̆sO?í¯/%ë¿x1›%K®?ÜÎ{’O>éÄÿþçÌsÏ&,,U9·`Ái6n쎿¿­rìâÅl&L8ÌåË9F×uuµdñâδkç¨;yò*Ï>{˜””|嘳³%sæ´-ó^¥¦ðòËG8tÈø^YY™1sfk† ó)ó}%mÝMLLn…å ž|Òúõ-*,w³¾ÜøYdd2fL('N\5ª£^=S^{-€¼—/Ü ÞIDATgžñWŽUö~–ü /\ÈbéÒsJÙvíœX´è ±±¹Êß;7àEqS¼!„ ¸Xǘ1¡œ9“‰½{»áînM\\.ü‘ÌéÓ™ôïï©”?v,ß~K GWš4±#!!_~‰ãûïcðõU|Ïmµ'""={éÓÇ??[ΟÏbß¾DÞ~û8:9qútÆùàà`Áï¿'söl& œfÙ²Îäå3vl(qq¹xxXÓ£‡+ææ&üñG2‘‘ÙŒˆ;îÇÅÅ’k׊yî9ýÃ~£FjºvuA£Ñ±o¾y¬TÛ4ãÇâäÉ«xyÙЭ› ööDEåðÛo L›AãÆvÜ{oýRï-iëÖèRâÍ èYaðRÕ¾|ýu$'N\ÅÕՒ޽ݱ·7'..—°°TÂÃÓ”à¥*÷Ó "BÿéÖÍ…æÍ°´4¥aCk&MjÎâÅgðô´fÈëAž§§U¥ï…â¿I‚!„üüs,gÎdÒ¤‰ß|ÓÕhêÓµkÅDG_3*Ÿž^À´gÈoåØ_5føðý|õÕE&Nl¦Œ¾ÜŠôô¾øâ>zôpUŽM›vŒM›¢8z4_~é‹««þA¹¨HKPЯìÝ›ˆN*üøcqq¹´kçȪU]±²ÒOk*.Ö1yòvîŒcݺËLžÜœŸ~Š%99ŸnÝ\øì³.˜›ëSBóò4<ùäAÒÓ ŒÚ¶kW<'O^eð`/æÏï`ÔÏ“'¯2l˜þ|òIÇ›öñ‘G¼éСA¥ïIYÓânTÕ¾^÷]/å~j9u*Cy]•ûi–VÀ‚x衆Fל4é–.=‹·· “&Ý^+„øo‘àE!‡ëG¦N (•³accFóæöFÇ|}ÕF @›6õéÛ×;ã¹p!‹{î1~OU8.ÿûŸ ›6E1t¨Ñƒ¶¹¹ :9³eK))ù¸¸XrìX/½Ô\yÐ03SñÚk-ع3Žðp}™cÇÒn®<ìXY™ò ÷0~ü!£vüñG2ÖÖf,_~Nèópt:vvæœ÷ÀÏ϶‚’z^^ÖeoØPŸ³•Ut[íqs+=…ÈðÐ|³syy23õýñöV—ÙF•êzŸ eËê“¡?%¥§ëËoÜx¥Â~ÜÌÈy©j_ºvuaýúî¬ZÉc  @CË–ú tÄ_¬¬ÌŒê­Ìý4ðõ-]V!n‡/B!”ÕÄ.]ÊÆÛ»â¤éØØ²ºcbôÓËììÌëAEnnq©²ññ•p¯*{{}¢£shØÐøA>&æ:Ýõ>ÊÆÆæålÊ–W÷O4ÂÉ©ôŠ\––ïFp'r^ªÚ€ŽèØÑ €ää|ÂÂR 9ÉÎqlØÐU•î§ÁíLBˆ²Hð"„€.]œÙ¼9Š?˜),Ô–Z©¬:µkçÄ·ßF±xñYÚµsTF4}t€öíþ)ëÈ–-Q,^|¦TžÈÒ¥gKÕÝ¥K6o¾‚F£ãÅ›abbüž’’OBB^…m¼9/UíËáÃ)´jUýýqq±dÐ /öíKdÛ¶._ÎÁßß¶J÷³2,,LJÔ!DE$xBÀ€^|öÙΞͤW¯_èÝÛ77+âãsùý÷dFŽld¼8:Öãõ×ÃùùçXš6µ#>^¿Ú˜F£ã™g+¿ºë÷gqå×_/µË?ëP ’Ù¢‘àE!j!ÉÉ¥w€¿Ó\\,Y·®'O^%""¼< ÞÞ6ÜwŸ³’óPÒ”) àIXXZ­ŽöíÊÜÛÄÏÏ–_í˯¿Æ“œ\€——5}ú¸QP eÒ¤æFï133aÒ¤æøù•NönÔÈ–I“šÓºµC©s={ºâèX{{såXãÆ¶ìÜÙ‡?þHþgGx~~¶tïîb´#<@«Võùí·¾Ê®ô®®–ôéãŽNG™×¬_ß‚Ï>ëBdd6G¦‘ž^ˆ££¾¾j:tpªÑ|òúbHº/éÙg›òä“~üùgê?Ž wwKºwwÃÚÚøUö~Þì342Ä›€þü3…ÌÌ"t:Ù祶¹vM?åP­¾Ë¿¤q*a}G!„wTNNIII,pd÷n¶o©¸ð]VP ! àúôqgùòÀšnލ‚ØØkô칋Q£üxç65ÝQËEFZЯ_C~ü1†æÍ%?ITWWWÔê[^‰psÅK¡!„¸ëî¹§K—ÌÉË“ùBˆšñ÷ߘ™éð÷¿½eÏ…¨N¼!D-Ô©SZ­ŠÐв÷RBˆ;íÀkÚµËÇÂB&éˆÚC‚!„¨…œ5´m›Ï¶mµo“?C>àA^5ÝQEvvLšÔœž=]kº)¢–»vÍ„ß~³¡_¿²÷¢¦H¾BÔR#Gf1uª3W®˜ãë[{¦m˜šª˜4éžšn†¸vvæòÙ‰JY·Î­VÅÃg×tS„0"#/BQK ”M“&EÌ[ùM …âv¥¦š²lY}ÆÏÀÞ^Vµ‹/BQK™šÂôé©ìÙc;}’û"„¸;æÏwÂÖVËøñWkº)B”"Á‹BÔb;ç1xpS§º+3}…wÖwßÙ²e‹-o½•Š••$ê‹ÚG‚!„¨åæÎMÆÓ³˜±cÝÉÊ’¶…wÆÑ£–LŸîÌóÏ_•D}QkÉ…¢–³²Ò±ti"ÙÙ¦<û¬;¦¿I!ªàÈKžÞÞ½syùåôšnŽå’àE!êw÷bV­Š'1ÑŒ¡C=‰Œ4¯é& !þ%¾ûΖѣ= Ìcþü$LäéPÔbòõBˆ:¢I“B¶l‰ÅÑQãz±f=ª¦›%„¨£RSMyã ¦NuaìØ /NÄÒRò\Dí&Á‹BÔ!NN¾ù&ž‘#³ qbð`/öí³F+«™ !*éÚ5>ÿÜ>}¼ µbéÒD^{-•ü"ê•N§“[!œ’’’ª­¾¨(sæÎub÷n¼½‹èßÿy4mZHýúêÕ“Þ…“cBb¢§NYpà€5¿ýfƒV«büø Æ¿*«Š‰»ÊÕÕµZ}«oß,Á‹BÜ%Õ¼\¸`Á·ßÚ²g —/K.Œ¢l¦¦::tÈ'(è?œ-PŠ!Á‹BÔw*x))#Ä‹-ÈÊ2¥ @æ€!ÀÆFKƒ7.ÄÂBûDͺÝàEv<Bˆ-:ä×t3„Bˆ;Bö…B!„u‚/B!„Bˆ:A‚!„B!D Á‹B!„¢NàE!„BQ'Hð"„B!„¨$xB!„BÔ ¼!„B!ê ^„B!„u‚YM7@!þ+Ôj5jµº¦›!„BÔY2ò"„B!„¨$xB!„BÔ ¼!„B!ê ^„B!„u‚/B!„Bˆ:A‚!„B!D Á‹B!„¢NàE!„BQ'Hð"„B!„¨$xB!„BÔ ¼!„B!ê ^„B!„u‚/B!„Bˆ:A‚!„B!DðçêíÝ”ŒÅIEND®B`‚fio-3.39/examples/cross-stripe-verify.fio000066400000000000000000000013511476262051600205120ustar00rootroot00000000000000# Example of how to split a drive up into sections, manually, and perform # verify from a bunch of jobs. This example is special in that it assumes # the drive is at around 30 * 124G in size, so with the below settings, we'll # cover most of the drive. It's also special in that it doesn't write # everything, it just writes 16k at a specific boundary, for every 128k. # This is done to exercise the split path for Intel NVMe devices, most of # which have a 128k stripe size and require IOs to be split if the cross # the stripe boundary. # [global] bs=16k direct=1 rw=write:112k verify=crc32c filename=/dev/nvme0n1 verify_backlog=1 offset_increment=124g io_size=120g offset=120k group_reporting verify_dump=1 loops=2 [write-verify] numjobs=30 fio-3.39/examples/cross-stripe-verify.png000066400000000000000000001521361476262051600205310ustar00rootroot00000000000000‰PNG  IHDR¸»(¼æbKGDÿÿÿ ½§“ IDATxœìÝyXTÕðï°/þ‰¢¢,‚¸¡˜†¦¢¥ä–¢a¥¦¹–i©•-¦¦æVf¹¥åò“4QÜsÁ=Å%÷ Pe“†ûûcâÊ0€Ã€,ã÷ó<<ÍÜsî9ï=sƒ×3çÞ+A‘†Ðªéˆˆˆˆˆª\""""Ò(Lp‰ˆˆˆH£0Á%""""—ˆˆˆˆ4 \""""Ò(Lp‰ˆˆˆH£0Á%""""—ˆˆˆˆ4ŠNM@DT›ìÚµ ?þø#ÀÌÌ ;wî¬áˆj§çShh(þúë/Ü¿yyy€>ú¬²Nž<‰ÿýŽFnn.`ܸqصkâââ#GŽÄ{ï½We}QÝÀ—ˆ4Brr2  ¾_¾|9š7o^ávâããqüøq€••U•ŧiʧ 6`ذaJûôëׯÊúß³gúô郒O›÷÷÷ÇÙ³gèÞ½{•õIDu\"ÒyyybÂééé5ÍËmáÂ…âë7ß|“'O†®®.œ«¬9sæˆÉm§Nðí·ßBOONNNX¹re•õCDu\"¢búôé777€®®n GS{•7N‘‘‘âëaÆÁÏϯÊû¿}û¶øúý÷ßG=Ä÷AAAÈÎÎ4iÒ¤Êû&¢ÚO"”ü~‡ˆj¥`óæÍ¸xñ"žÉÉÉ¥®--mߣGbݺuHLL„³³3ÆŒƒ–-[*ÃÝ»w±iÓ&\ºt ©©©033Cûöí1|øpØÙÙ©<¿þú+¶nÝ hÓ¦ –,Y¢PŠ9sæLLL°cÇhkkW8uÇiΜ9 U˜IoÞ¼9lll-Z´Àµk×ÞÞÞ˜;w®B¿;wîÄO?ý°±±App°ÒüøãصkNœ8!Îà6kÖ õêÕ+uÌJ[ƒ[ÑsŸˆê ˆj½ùóç ººº¥kkk±ÞŠ+ÄíVVVœ9sênß¾]A˜>}º ¥¥Uj{‰D˜4i’PXX(¶»lÙ²Rëý¼ûî»jÕ}UÛêܹs¹õ†ªòø”¬SÖØ.^¼X©aóæÍ Ç0kÖ,A[[»Ô¸Œ…àà`•Çãܹs }%$$(”÷íÛW,3fŒÚ1¨;NC‡-÷søý÷ßÅ×zzzBbb¢B¿={öË?ýôÓRÇ`̘1åöQògöìÙ ûWôÜ'¢º‰ .Q-·jÕ*…?Â;wÖ¯_/ìØ±Cøî»ïGGG±nñ¤C[[[011fÏž-ìß¿_8zô¨””$,]ºTéú®]»„/¿üRáÿ¼yóÄvmmmÅí³fÍ8 üùçŸÂÌ™3…6mÚo¼ñ†ZuŸGÕ¶ÂÃÃ…mÛ¶)ŒÓ²eË„£G Gnܸ¡òø¨’àêèèõë×V¯^- ;vËŒŒŒ„û÷ï ‚ Ë—/WHèf̘!ìÝ»Wøúë¯Å±ÖÕÕ.\¸ ò˜´k×NlsáÂ…âö¤¤$……‡‡«ƒºãtãÆ áèÑ£ çÑwß}'~‚···X6wî\±ÏG :::bYÑgVÒíÛ·…£G*ëçŸ.öqôèQ¡~ýú¥&¸êœûDT71Á%ªÅ … ˆx;uê¤4»ôôéSñuñ¤€ð×_)µgoo¯4³Yd„ b™………PPP ‚ ‹‰PTT”RœÅgâ*R×ÏÏOèܹ³ÂO`` Zm%$$(ûéÓ§•ê?o|JÖ)+Á 8p@,{òä‰`dd$–Íœ9Sé³ûî»ïúyÿý÷Ų€€•ÇdõêÕâ~âö%K–ˆÛ_}õUA”ÏUc¨Ì8 ‚ 0[\rv888X,kܸ± “ÉA„_~ùEÜîãã£Ô_Iúúúbýµk×*”999)%¸êžûDT7ñ"3¢Z,66V¼Ÿ' >‰D¡NÑúÛ’´´´”nËtÿþ}$$$ˆï{öì©PÞ£G,[¶ ’’‚Û·o£yóæðóóÃŽ;ŸŸ'''Ô¯_...hÑ¢ºu놷ÞzKl£"uOœ8!Þ¿´ˆ“““ZmUTiãS‘}»ví*¾·´´D›6m¸xñ"îß¿¯ðÙ…„„àèÑ£âûû÷O:%¾~Þ˜bÊ”)HKKÃõë×qþüyxyyaýúõb±cÇŠ}¨CÉc­ÊÛ{õïßŽŽŽˆŽŽFLL þþûoøûûcÓ¦Mb?ü°Êú+¢î¹ODu\¢Z,33Sá½¹¹¹ÊûZXX@OOOa[VV–Â{“rßÕ_³f LLL‚ÌÌLÄÇÇ‹÷A]¶l:wîŒÐÐPèêêV¨îóTe[ªŒª ¡££øë³øØegg+õ•+WÊl/99Y後Œðþûïã—_~¬[·úúú O¶(ÞêÄP™q*¶¶6&NœˆO?ý€ü~Å-[¶/433àAƒª¬¿"êžûDT71Á%ªÅ ££ƒ‚‚@xxx¥žåààmmmÈd2@DD„ByñÛ;I$4jÔ€üFþ6lÀüˆˆܽ{/^Äܹs‘““ƒãÇãØ±cðóó«P݃¢°°P!CCCñuEÚªN™™™xøð¡Â•ûEäã\r¬gÍš__ßRÛÓÒzöÔôç Ÿ¡-Jp‹Ï|Àˆ#``` Æ¡N /Ú¨Q£ðÝwß!==P¸§í»ï¾ CCCdddÀßß_ÜgÁ‚xå•WÔîSÝsŸˆê¨š^#ADåëÓ§¸6P*• GËrrr„ ˆïË[Y¤wïÞb&Mšñññ‚ ÂãDZ¬K—.â>ß~û­pìØ1…õ¿¹¹¹‚³³³Xýúõ®û<i+--MaÝhÑ#ŠSe|T]ƒ;nÜ81®7*”mÛ¶MAð÷÷·uèÐAxôè‘B_qqqÂÒ¥KKõyŠß9¢è)‰D"ܹsG¡ž:1Tfœ¡ü5¸E&Ož¬0fE?—.]ARRR¶ïÛ·OaÿŠ®ÁõÎ}"ª›˜àÕrÑÑÑ  œœœOOOÁÈÈHÐÖÖ몒˜DFF*ÜÀØØXh×®`jjªp‘Mñ«Ø‹###ÁÍÍMðöölllÄú†††BLLL…ë>OEÛ*žøJ¥R¡S§NBçÎ…ƒª<>ª$¸¦¦¦B‹-„F ‚D"Ë|}}Å §îÞ½«pa“¾¾¾Ð¦M¡mÛ¶ Ç¡ÎUû›6mRJýüü”ê©Cu$¸ÑÑÑJ·.kß¾½Xþ"\uÎ}"ª›ªï;)"RKãÆqñâEŒ=Z\'…ððpH¥RÌž=»Bí999áÂ…  „¾¾>233qᤧ§CWWÄ… àîî.î3wî\ôîݸuë””h×®þþûoñ+ÝŠÔ}žŠ¶µbÅ ØÚÚ222pêÔ)?~‰‰‰£çÑÕÕž}ûàèèˆëׯCH$ 8»wï¿îoÒ¤ .^¼ˆ‘#GÂØØ¹¹¹¸té.^¼ˆ¤¤$8::bÒ¤Ièß¿…c0`€x¬EŠ..+îEÆP7VêóE\\Vœ:ç>ÕM|’Q"“É)>ɬI“&⓪ >>wîÜ OÂ:uêTn{¹¹¹¸}û6ÒÓÓabb‚fÍš‰ë7K“ŸŸØØX$$$@__ŽŽŽ°¶¶®tÝç©H[EÉprr²¸–ÕÝÝvvv*OYuV®\‰qãÆ¯ ~üø1ùÂÑ´iÓrŸJ&“ÉpçÎ$''ÃÌÌ 4€………ZãQäúõëbÂ>>>J¿©CeÆ Ž?.®©õððŸdVÒáÇѽ{wò»ÄÇÇ‹ÿˆ+((ÀÉ“'ź­Zµ‚¥¥¥øþĉâçëææ¦°úìÙ³ êmܸ±Rß=÷‰¨na‚KD¤‚²\Rߌ30kÖ,ÀøñãÅÛtUï¢@DDÕ&99 @rr2®^½ @>{;}úôŽŒˆ4 \""ª6yyy8~ü¸øÞÁÁëÖ­Cƒ j0*"Ò4\¢@DDDD…wQ """"—ˆˆˆˆ4 \""""Ò(Lp‰ˆˆˆH£0Á%""""—ˆˆˆˆ4 \""""Ò(Lp‰ˆˆˆH£0Á%""""—ˆˆˆˆ4 \""""Ò(Lp‰ˆˆˆH£0Á%""""—ˆˆˆˆ4 \""""Ò(Lp‰ˆˆˆH£0Á%""""¢SÓ‘²ÄÄDdddÔtDD5B*•ÂÎÎNíý9ƒKDDDD… .i&¸DDDD¤Q˜à‘Fa‚KDDDD… .i&¸DDDD¤Q˜à‘Fa‚KDDDD…O2#"zIååI¡‡'O´‘™Éù"*Ÿ±q!¬­epv΃žžPÓᔋ .ÑK$-M Û·›ààAc\¸`™LRÓ!Q£­- ]»ô葉þýŸÂ̬°¦CR"¡v§àDD/¡ÄÄDdddTY{ÙÙ¬^mÕ«Í¡¥%ÀÏ/¯½–\Ô«'ƒ±qíûEDµKf¦>ÔÆõëú8q¡¡Æ(,”àÃSñá‡)04¬º”R*•ÂÎÎNíý™àÕBU™à>ü0•É-U cãB|øa*ºoïlL˜P‹Y¢6Lr .‘ÊÉ‘`Ê;>l„ùóaÀ€§5i(kk~øá^y%_}eƒèh=,Z”ƒšËt9ƒKD¤a )SìpæŒ!6lˆgrKDÕbÀ€§Ø°!gÎbÊ;Öà—ELp‰ˆ4Ì?ZâÐ!#üúëC´oŸSÓáÑK¤}û¬\™€#GŒðÓO–5\"" rà€1V­²ÀܹIèØ1»¦Ã!¢——W¾ÿ> +WZàÀ㉠.‘†ÈΖ`Îk¼ýöS.K ¢5`ÀS¼ýöSÌ™cììê¿ß6\"" ñÛoHKÓ§Ÿ>©éPˆˆ0uê<}ª…Õ«-ª½o&¸DD -M kÖ˜ã£R`k+«ép4ÆŸþ ggg8;;ÃËË«¦Ã©5Ê—üü|,^¼]»v…›››XoíÚµ5íóéÆÄÀbéR48Ž;©Y34ñôD÷ނ՜9Ðyð Ôý´ÒÒ`µp!õ쉦-Z ‰§' ÓÍ›ÿ?´²’aüø¬^mŽ´´êM9y›0"" °}» ´´¦×t(/…¤¤$¼úê«âû­[·¢M›65Qí±dɬZµª¦Ã¨úÐILTئõô)ônÞ„ÞÍ›0ݺ¶nE¾““X®‹úC‡B'>^Ü&ÉÉAx8 ÂÃa|è®XAW·ÚŽ£6 Lǯ¿Z`Ç –Vmýr—ˆHÄjÜÞ½{Å×#FŒÀ­[·‰#FÔ`TåËsuEÒ¬Yˆ=pw¯_GLXRÆŽ˵ž>•ÏÊØNš$&·o¼{.à~h(ò5;‹åË«õ8j#cãBøùeVûÅfLp‰ˆê¸Ü\ .^4Àk¯eÕt('00‘‘‘ˆŒŒÄùóçk:œZ£¼qIHH_·k×::µÿËℵk‘ˆ<''úú(°µEÊäÉ€¶¶XGRìñ\†§NÁàòeñý“o¿E¡™ò›4Aʸqâv³µk!ÉæÝL|}³pñ¢òòªïb3&¸DDu\T” $ððÈ«éPªÅõë×ÅuîîîÈ.–@¼÷Þ{bÙ‘#GÄí¿ýö›¸=00€ò:Ò¼¼<,Z´>>>puuEhhh©kM–'ÀÀÅzŸ}ö™¸½°°Û·oǰaÃо}{4kÖ ^^^øàƒâSÅ?þ(öÑ¿¥òâ±úøø@ößЊƠî¸|öÙgpvvû€>úH¬7bĥϠ¸Õ«W‹å=zô(w,´23ѨG89;ÃÉÙ6ß~+–IòòÐÐß_,³ûôSÕ¸ˆL‡añÓOâ:ZÁÀéo¿-V1>zT|]`o[[ñ}n±¥*Z0ü÷ߊõ¯Z´ÈCAQQÕ·\ƒ .Q÷è‘|–ÉÞ¾ †#©Í›7‡¥¥üòùùù¸pá //áááb½3gΈ¯OŸ>-¾öõõ-µÝ‰'båÊ•xøð! «àL9991b¦NŠS§N!%%2™ ©©©8qâF9sæ¨ÜÞ!C ýߌâÕ«WqçÎ…òmÛ¶‰¯ mmí*‰¡ªÆeذabüçÎCdd¤Bù®]»Ä×å¶UhlŒ‡¿þ ÁÐ`úçŸ0>t`5oônÝ乸 IÅ1ÖyøPž7k†Æ>>°X¹Ùµ+bwíBž»»X·¨}(°³Sh§x² z·o«Ô¿&«WOþ»))©úfó™àÕqÙÙò_円/Çú[‰D‚N:‰ï‹ÙK—.!''Gi{AAÂ×è>>>Jm¦¦¦âÞ½{ؼy3nܸÈÈHøùù•ÚÿŸþ©0ò‹Ìо²_¼x1`áÂ…8uêÀÖÖAAA¸zõ*6lØÀÚµk±ÿ~•Ž»~ýúèܹ³ø¾xB{÷î]\þï+smmm <¸Jb¨È¸,^¼‘‘‘b ¿þú«8.]ºtAÏž=Ų   ñuTTnÞ¼ ÐÕÕÅ€ž;y®®Hš=[|oóå—0Ý´ fÿû€ÿ’àeËPø_¬.ãcÇämKîµÓž],%(ÔJô§šZ©þ5‘‘|ì23«/íd‚KDTÇ- ”Tÿ½ÔkLñ$µ(‘-ú¯‡‡àÖ­[HKKÃ¥K—Äe æææbyI ,€——ôôô*_~~>‚ƒƒÅ÷“'OF‡`hhooo…Êâ‰^óæÍůé‹~ºví*–:T|½sçNq9@HHˆ¸ÝÏ϶¶¶jÇPRUŽËÈ‘#Å×Û·o?—Ý»w‹Û»wï.ÎÐ?ÏÓ~ý>d@;%6ß|#–%ýðò›6U9¶‚zõ‰»7n vÿ~<íÛW^PX³ÿýfë׫ÖP±µº^®ÿ1ËP4%‡æEb‚KDDuNñeW¯^EVV–8«úöÛoÃÁÁ………8wîœÂlk§N ¥¥ü§OWW-[¶¬²øâââ•õ좿/¿üR!iýý÷ßŲ[žî~___888?~ŒãÇ£°°;vìë­o­Šªz\Z·n OOO@FFvîÜ @1Á-š}VÕão¿En±åöþûÈxóMµbôôçìŒG "ÏÙYÜnRì233ñuÉ‹ÈJ¾/^—ª\""ªslmmáââÉdøçŸįè;vì(^væÌ…·´å `ll\jâ[Š'¡Ï£¥¥…!ÿÍXò™Û°°0<|øàèè¨t\ebxãR|7((W®\ALL ÀÁÁAaù‰*´ÒÒ óø±Â6½›7+ÿ --ä¹¹‰ouŠÝBa{‰ûç–|Ÿ×¬Yåâ µÔþ{w•ÂÇÇ€+V //–––pqqAÇŽŒãÇ#¾ØøËºÀ¬¢$%¾vJ|÷Ú A‰‰ãâŋѷè+ïrܸqã¹uðóÏ?#??‡VHNÅØÔáEóó󃃃}ŠÌÌLDFFb÷îݘ0aÖ«º¶ó?–––xã7È×úž8q ¯¯¯pqÖ‹Œ¡2´µµ1lØ0ñ}Ñ]0´µµâU…åÂ…âm¸òœœ¿i}}€ùêÕ0>|ø¹m˜­] ÛiÓ`ôÏ?Љ‡$/º÷îÁö‹/ ÷ß?  £woñu–·7r‹-ݰúþ{h¥¥A÷î]˜ÿw÷H>\é¢3ªœÁ%"¢:é•W^žžž˜À[;;;8::"::Z,«ªÙ[000@»víðïÉÕüùó1þ|ÏfJ§NŠÈÈH„……áñãÇ3fL©m©³Æ500PaÝ*ôîÝæææ Û^d •1hÐ ,Y²™™™â¶.]ºÀ¶Ä-¶Êc ó5k‚¾>—.E^³fx2}:¬gÌ?mlêT<ص ùÿ­[.VVLBBÖØ–”Õ¹3RG.¶“—,‘?ª÷áCH÷íƒtß>Å}|}‘2a‚ÊÇCU‹3¸DDT' }‰¯‹Ü’¯²×ߪkÑ¢EèÑ£ÌÍÍKýZÝÐÐëÖ­ÃâÅ‹áëë +++hkkÃÜÜnnn0`V®\‰áÇW¸ïöíÛ‹k‹”öð„CeH¥R¥{ÝVäâ2ݘØ[~ðxútq­kÚСâfZéé°›0’¼²‚’úÁHüñGdvïŽ|GGò§™5h€Ìž=‘øë¯HX³B‰»Hä7nŒ{ö õÑߴ)}}#§M$ÍœYê>T}$BÉ…CDDTã‘‘‘¡RÝ¿ÿ–bâD;DFF½à¨ˆªÎ¿ÿþ‹wÞy€|Æýĉ ÷Ð%Íâìì„¥KÑ«—j¿×¤R)ìJ€×wÂÑÂû| Xw~®$\Ô]]ºÂÌÀ qiq8wÿ.<¸ r‚¦rl½Ý{Wy‚“ð¨çI;'aÏÍ= å­0»çl…;)'+”aX~==1£Ç ñDT5˜àQ¥$g%cAïÐr€¸írÂelÀÚók1¾ÓxhK´‘œ• ;©X7O–‡ë¯«ÔWÿýáåà¥rl–F–*×UUV~àpÄa<|ú~®~hbÙ÷Sî#4"[.o½‰½˜Ø—™—‰Ov~‚wOà«n_qæ–èa‚KDD•âhá¨Ü@kûÖðsõÃþÛû‘7[7ôpí?ÃÿÄçþ@@ë4µl ‰D=m=x6ðT©¯þ-ú¿ˆC¨}}@|zêô$‰X–”™„€ÿ 65+ß^‰®Î]«=v¢—\""ªóÒo‡Õм! =7àÓÄ›†nÂúóë1xã`ää¢E½ðsõÃ;mÞ¡®ásûª kp‹fŸÌ’[@~Œ.Ö.¸“tI™I°•ÚŠe1)1HËIC«z­ðJÃWª4&"RÄ—ˆˆ*åAêƒR·%¢¦úÏî2оa{´oØ^ëÅ“ IDAT€üA çbÏaÞáyØk?6¿»Z’òŸ _ÖàºÙº)ÌÌ–$@Å:^^èÙ¬'¾Øû†þ9k¯}!K(ˆˆ .URtJ4B®†(­Á ½ SS¸Ø¸ÎÄœAKû–0Ö3ØJmáïîcQǰãÚÜK¾'+§rûª kp­­áYßã.âpäa¥% ‘O"aml kck¥}û·èSSLÜ1C‚†`ýàõ°7µ¯ò‰^vLp‰ˆ¨R,,1mï4ì½¹®6®ˆOÇÛ dá5B¼CÀª3«páÁtlÜ-CW[·݉»' -ц¹¡ùsûzQkp¯'^ÇáˆÃ€ˆÇä÷ë]zr) •}+tqê"ÖŸä; Ãþ†qÛÆ¡»Kw8Z:Š™ ‚€;|Xæ,o7çnX;x-Fo€X7xÝs{"ª&¸DDT)m´…“•VY…ãw‹ÛûzôÅøNãÅ÷¯6~—â/áHä…ýõŒñu·¯aedUm1—týáu1™-ráÁ\xpðnÛw\oGo|ÿÆ÷˜: ï·kI´0¢ý|Ðþƒrû{¥á+ ˆ¿F`ÈÆ!X;x-ZÔkQuDô’c‚KDDjÑÑÖÁDŸ‰hjÕþîþèåÞ çîŸC¡PˆvíЦ~…ú£;ŽÆ{íÞÃÙûgq/ùÀÞÔ¯5} FºF5q"z˜è3±ÌòVö­”¶ n=]ºâXÔ1<Îz sstjÒIéIfÅÇI¡O;üõî_Ø}c7ÎÅžƒ»;ï‡KTE$BÑjx""ª5‘‘‘¡RÝ¿ÿ–bâD;DFF½à¨ˆˆÔãìì„¥KÑ«—j¿×¤R)ìììž_± å_®JDDDDTÇ0Á%""""—ˆˆˆˆ4 \""""Ò(Lp‰ˆˆˆH£0Á%""""—ˆˆˆˆ4 \""""Ò(Lp‰ˆˆˆH£0Á%""""—ˆˆˆˆ4 \""ªrII ĺóë¶°å|èûš ª–z”ñ›/mƸq ÄæK›k:$¢:O§¦ ""Í“+ËŹØspµqUØþoì¿ÈÉÏ©¡¨äÞÛôÜmÝ1½Ûô枃uç×Aq›gÏŒˆH30Á%"¢jóGÀêKk4†s±ç ‘Hj4†"2ÁÆØ¯;½C]C¥o"R\""ª6í¶¯éj•¯º}cH$쿽Ÿ .Qa‚KDD•r9þ2¶\Þ‚¸ô8Ø›ÚcpëÁ°6¶.µî[>@S˦øºû×€|Y>†m¯†^˜è3]ú §cN#%;¿ü¤å¤aë•­ GF^ì¤vèÙ¬'º:wUj?-' Û¯mÇÅñ4÷)Y4‚Ÿ‹|šøàvÒmÌ<8²B®=¼†À @q¿oü¾»­û‹ rØJm«½O¢—\""RÛÖ+[1}ßt …â¶«!øìµÏJ­_r n¡Pˆs±ç Õ—bÄ_#p:æ´XV +@xb8Fo”ì…v¶]݆A­aÞ›óÄm\À¸qHÎJ~Vñt1_¼þÚ4hƒs±çé9éâë¢÷å™{x.®=¼Vnâ½µõMë«\Ÿˆª\""RK|z<¾=ð- …B h9]»BV(þ[ûðã‰+ÔÖ‰»' Õ—bJç)p·s‡Žd…2ŒÝ6©9©è×¢º8u™î§ÞǺ×!ør0^mô*úxôAjv*ÆlƒÔìT´¶oA­ÁÞÔqiq8xç žæ>E3›f *õ"³çÍÞÞJº¥?Ov~v…ŽŸˆª\""RË®ë»'ËÈö#ðU·¯Äí½Ý{cÚÞi¹¢r[üoÈÿàn÷,ÑÜxq#žd=Á”ÎS0öÕ± õ{¹õBçår-}<ú`ûµíHÍNE×X>`¹BÝ@Ï@<Í} }thÔ‰f†fèШƒÊñ}ùú—HÏ-–·8ÎÞÕ,&¸DD¤–ÛI·ƒZ R*ÔjP…\77…ä.Å_„Þ EXL˜x+-‚ø:êIˆËFuUjû&ú&*ÇRš’±QíÆ—ˆˆÔ’S _Kkj`ªTff`V¡¶ê™ÔSÚ–•—¸œp¹Ìýôtôb±0´¨P¿ªâ\¢º… .©ÅÖX~€ë‰×•Ô«¯V¨­ÒîKkoj˜Ùc&œ­KÝOGKþgÌÞD^÷|ìy4±lR~g¬  ®Á%ª[˜à‘Z|›ú"(<?ùNVNp´pÜzt ?¯ØEf¥éÙ¬'ÖŸ_×wbÑ[‹Ðȼ‘X&d½ Y¡ ÐÝ¥;Ö_‡ùÇæÃÞÔ>M|ĺáqáHÊLB×c}c¸/j îÑÈ£X}v5 9[~{³]7v!<.УY ÷þBú&ÒdLp‰ˆH-ÚZÚX=p5¦îŠ£‘Gq'éÀ·‰/¦t™‚¾kûVº9oÌ‹µ Öœ]ƒØÔXĦÆtµuÑË­ü›û‹u÷YŒ&VM°îßux”ñ2¼¼Ð³YO±ÞÔ.S1vÛXħÇ#>=Àóïƒû¢$e&)-}HHO@BzÀÕÆµ&Â"ªó$BE"Ñ —˜˜ˆŒŒ •êþý·'Ú!22êGU¶ÄŒDħÅÃÎÄõMë#· —â/ÁÎÄN\ºÈô ՗г¥…B!þý†å&s‚ &5ÉYɰ4²DÓÐÕÖ-µ®L!òq$r rÐЬ!,,ˬ“ž“ŽB¡î¶î¥^,÷¢=Êx„{É÷Ê,/9~Du•³³–.MD¯^ªý^“J¥°³³S»?ÎàQ¥ÙIí`'}öÇH_G¿Ôû̶oØ^á½–DK¥ûÑJ$8Z8ª”ìiK´Ñ̦Y¥ëT[©-×KôT*Á4h¶nÝZU±Õ)DpppM‡ADD%Tz·cÇŽ˜fÏž '''ÀÍÍ +W®|î:׊ôsëÖ-…¶®]»†]»vÁËË FFFprr¤I“ðôéS•b#zÙ] BÕ=à¾ÐÎ?8ãH䜸{Î?8cí¿kê¶\ÜA5)IÎJ†ë|W,=¹´ÜzÒÀùg|wð»ê ì?ªÆW—%¤'`Êž)è°´š/lŽ7×¼‰ÿ]øA¨tÛé9éØss&¶KÚÂùg,<¶° ¢®;*ý$3¢²|õÕW˜;w®Â¶¼¼<œ={gÏžEpp08###€ 4hvîÜ)Ö¿}û6Ƈ˗/WY?%­^½K—>û%z÷î]üüóÏxðà¶nÝZ©Øˆ4ݱ¨c˜qpFM‡At4ê( …BtuîZÓ¡”ª¶ÇWY é x{ÃÛx”ñHÜñ83Cg"êI¾ëñ]¥ÚÿæÀ7Ø{so%£¬Û8ƒK/ÄöíÛŤS[[kÖ¬Azz:nÞ¼‰6mÚNž<‰iÓ¦‰ûlÚ´I!üþûï‘’’‚óçÏãàÁƒUÖOIþù':„””L™2EܾmÛ6ÄÅŕۂ ’’‚ððp9r¤BcC¤IŽF,í··¦ÝBä‘èêܯ5} ‘_DbDû5!•æHäØJmáaçQÓ¡”ª¶ÇWYóÎÇ£ŒGðvôÆ¡1‡p}Êu,ë¿ ÆzÆØxq#.Å_ªTûffðw÷Çoýˆ9oΩ¢¨ë&¸ôBÿêþwÞÁÈ‘#abb777Ìž=[,[»v-rssAAAâvOOO|õÕW077G»ví”fh+ÓOIÓ§OG·nÝ`nnމ'*”EDD(Åæåå…©S§ÂÜÜmÚ´)36¢—ARf «sWèhñKÁº O–‡îþƒ®Î]!‘Hj:%µ=¾Êzšûûoï‡T_Š_ûý G Gèëè£g³žø¬óg€-—·TªY=gaIß%èãÑffUvÃßFôB\»vM|½qãFlܸ±ÔzYYYˆŒŒ„‡‡îܹ#n÷òòR¨Wò}eú)©C‡âk33Å_ [Û¶mêxzz–Ú'‘& ½Šq!ãÄ÷-µ(µÞWݾRi÷\ì9¬9»ã."#7õLê¡g³žø¸ÓÇêK¹¹ðXäî.Ý1«ç,Ì=<ÿÜûy²Ø£´ÿ“¬'èôk'tlÜë¯+3¾Š|îí³&>÷ð¸pàu§×aj`ª°Ÿæ}0ûÐlœ»NܦÎyOLp©(J"‹ÓÒªú/JëLMŸý‚yýQù6…o·¿U¸¸æAÚü~îw„E‡aË{[`¨k(–¥ç¤cðÆÁˆM·…E‡á½Íï!tt(, -Äí£·ŽÆÝ'wú Gx\8e<ÂØWÇ*”¥å¤aHÐ$¤'ˆÛ¶]݆ÔìT n3ãBÆAV( O¦–…-ƒ¥‘%†y SûxJóþæ÷Vnâ|xNVN*Õ=q†º†xÕñUqÛŒƒ3°)|“ø>65óÎÇõ‡×KmCÕcìíÞ[.oÁÕ„«hißR¡«!((,@@ë€çƨö¹«Ûgu~î1)1WW¥q574‡Ô±i±( 芜÷Ä% ô‚Ÿ)9r$A(ó§hÕÍÍMÜçÒ%ÅõGçÏŸ¯²~ÔáêúìÑÅ‹ÊÂÃÃÕn—¨®òsõCä‘èîÒp}ÊuD~)þüð‡JíĦÆbfèL˜ê›bÞ›ópú£Ó¸1õöÚ7ÝÞÄÍG7±þüz…}ÎÅžƒ½‰=B†…àêgWqhÌ!x;z#5;;¯ïT¨ëlåŒy½æ!tt(nN½‰ðÉáØ4t\¬]°òÌJÈ™BýcÿES˦ØýÁn\›r !ÃBà`æ€Ã‘‡1uÏT ÷ŽãOàÊgW°¤ïhkiã÷s¿WêxªÛѨ£ðnì À•„+ؾ R})æ÷žóŸœÇ™Ïà»ß!4"TiÿŠãà6ƒÁW‚•ÚÙze+Ì ÍáçâWn|ETýÜÕé³:?÷Œ<ùdKYKÌ Í!+”!;?[­ã'9&¸ôBŒûlVdݺuX²d ‘““ƒ¨¨(ìÛ·cÇŽÅûï¿/Ö |vë ³gÏbÉ’%HKKÃ… 0}úô*ëGÅc;þ<.\ˆ´´4\ºt©Ì؈èùv\Û‚Â|ÿÆ÷Ôzl¤6ÐÓÖƒ³µ3–ôY© Bï(&Y†ømàoheß †º†p´pÄ7Ý¿ÜztK¡îÌ3q3ñ&FBë[Ãó'O¼ô"G #7qiq õ-,±âíp·u‡ŽZÙ·ÂÈWFÚ9´Ã—]¿D}Óú0Ò5‚¿»?^kúâÓãÅdDã)͆!þÁð¼Ugoo>º‰øôxtsy¶<áÀ퀩]¦âí–oÃÜÐÖÆÖx·í»ï=^©ŠckûÖhfÓ »oìFNAŽØÆ…õ$ ý[ô‡®¶n¹ñQõs¯hŸ@õ~îÏ» XYå9ï‰ .©éçŸV¸—lÑOÑ,ì€ðÅ_d2&OžŒzõêÁÐÐÎÎÎèÕ«V­Z…GžÝ"eÈ!èÛ·¯ø~òäÉ077‡——üüÿµ]tá:ý¨#00þþþâûiÓ¦ÁÜÜžžžèÚU3ocCT"Ë/䜴kš-h×ù®pï —ù.h¶ ’2’ð4AazJëXš7dä>[Š”–“†`Ã… ˆI‰Až,O©ÿœü…÷v0ÒU¼¥`³€W¾¢´}“ú€Ç™Õ>žêt8â0$ ^wz]ÜVô•¹o_¥ú¯5yMi[EqPëAò «ní·Í®–¶<¡d|ETýÜ+Ú'P½Ÿ»‰¾ ùùYš´œ4hki+-c©Èñ×àÒ 4oÞ<ôêÕ +V¬ÀéÓ§‘===4hЮ®®èÓ§úôé#Ö—H$Æ?ü€µk×"..ŽŽŽ˜4i|}}±jÕ*±nñ‹Á*Ú:$ ¶mÛ†yóæaýúõ ± 4ˆ| RS¡PâúÆÒ”LLK~u (_m¿íê6$¤' ‡k|ìó1[4†¡Ž!$ ¾9ðšÓ"ú:úeÆQZYÑ?¶‹ŽCã)Í‹Zƒ{$òZÙ·‚ÔFå¶Kªè1öóè‡G`Ëå-è×¢2ó2±÷æ^´©ß.Ö.*ǧêç^Ñ>êýÜ[4ÜIº£T'5;‰‰hlÞXé¶Š?1Á¥ Pçé*¾¾¾ðõUž(‹®®.¾ùæ|óÍ7 Ûþùgñµ¾¾¾ÂšØŠöãææVæ±H¥Ò2Ëôôô0cÆ Ì˜¡|Sûªxò Ñ˨()[?d=:9vªÒ¶ï§Ü|Öù3…ä/O–‡31gª´¯"/òx*+)# W^Å$ßI Û‹®îýƒ¡žCÊNÜ;¡ÔNEÑÜÐ=\{`ÏÍ=ˆN‰ÆÙûg‘Ÿ­4“ZV|êPµÏªR‘1ñlà -:Šôœt…;)캱 ‚  }Ãö/$Η \ªU>ÿüs¢_¿~pvvÆÓ§O±oß>…¤rذae>•Œˆê–þ-ûcå镸t×§˜Òy |šøÀÚØi9iˆN‰ÆÞ›{a'µSºÛ*ê›Ê¿F^}v5&ùN‚¹¡9"’"ðÓ??á^ò½ª>Uw<†l¨òØŽD èꤸ¬ªg³žXuf[tsî™ þ[û°Þñ1fõœ…z&õp,ê_ àÙ…r¤>&¸T«$&&býúõ˜9sf©å;wÆâÅ‹«9*"zQ-1ûÙøæÀ7ørß—¥ÖÓqŒZm¿Õü-, [†­W¶bë•­âv©¾~®~*]ìUQ/òx*ëpÄaÔ7­¯tÏÔVö­ðŽç;ؾ Ÿïý\¡ÌßÝ{n*ÞOVc|µñ«hhÞ/nDFnµ¤´æµ¬øÔ¥JŸU¥¢còùëŸãlìYœŠ>…n«/¨{·í»hS¿M¥âÙry ¦ïS¼zÕ™UXuf•ØGe\Û1Á¥ZeÑ¢EhÞ¼9¶mÛ†ÈÈHdddÀÊÊ žžž2d†Ê{Õi˜€Öp³uÃçþÀ¹ØsHÎJ†¥‘%-ÑÛ½7úzô}~#¥°7µÇÆw6bþ±ù¸öð´$ZhçÐÓºLSHx«Ú‹:žÊÈ)ÈÁé˜Óx»åÛ¥–Ïì1Í‹z°“ÚaH›!ðo®œà?F‰D‚€Öâ e@+ťϋOÏ볪UdLìMí±íýmX||1þ¹÷2r3ÐÈ¢=ñnÛw_hœ/ ‰P‰Åƒƒ +ßkŽˆH“½è߉‰‰e>œ¤¤¿ÿ–bâD;DFF½X¨î;y£·ŽÆÚÁkK½[BM«íñQå9;;aéÒDôê¥Úï5©T ;;;µûãT‘†;yFºFèÐHýÞ¼Hµ=>ª{˜ài¸ïßøW>»=m½š¥Tµ=>ª{˜à‘Fa‚KDDDD… .i&¸DDDD¤Q˜à‘F©Ôƒîܹƒˆˆ4lذªâ!RË“'O •J¡¯¯_Ó¡ÐKâÉ“'pqq©é0ˆˆ¨œÁ%ìì욃ˆˆˆjJÍ຺ºÂÕÕ•O2£'‘H0jÔ(üôÓO5 ½$ŠždFDDµgp‰ˆˆˆH£0Á%""""—ˆˆè%õËÉ_°ýÚöRËZ.n‰À ÀjŽˆ¨jTj .Õ]¿†ýŠ: ‹þJeã½ÇÃVj[QU\"""R2îÕq5‘Ú˜àÖ2aaa8xð †GGÇ ïèÐ!œ@¢°0ààA`øp@s‡'OcǺ‰31gP(«¡ZÛ·®ð1«r,píá5„Ç…##/vR;tvê +#«2ÛQ56UÆ©¼ûzôÅÎë;Q(â~Ê},=¹TÜo@Ëp0sÀŠÓ+`+µÅÛ-ß.³½“÷N"O–Ïžðrð*5VUÏ¢ªÄ·– ÃÌ™3Ñ¥KµÜùóç£_¿~LpéÅ fκtQ?Á?è× ®¸šp£·FRF’¸ÍVj‹ïßøKO.Å»mߘY–ž\Šî.Ý‘eaËÄ}F¾21)12÷’ï)ôa'µÃ/ýAÛmi9iJm)*î5\Lp‹÷{ëÑ-¬<½RaŸ¾}±À´%Ú*÷óŽ%-' “wMÆé˜Ó ûêb†ß l5PíØ"Gª4NåÅØº~k1©}ö@!ÁíШ̰:;u†®–.NEŸBÔ“(|ü!öÚW©5¡ã.âPÄ!tnÚ.6.HHOÀÛ°óúN8Z8âcŸ+ÜfiÇ¢%ч[?ÄÕ„«p0s€oS_˜˜!&%‡"aú¾ép¶vF›úm*[v~v…Ç©´[4ÆDŸ‰øåÔ/h`ÚZë70kPî1_Š¿„#‘Gä±Z» 1#ßü[.o¿»?¼½¨~U&¸µŒ··7¼½½k: ¢²y{Ë襷ûÆn<Êx„ך¾†Uo¯¿–ÏÎÏÆ°ÍÃð$ëI©û=Éz‚Åo-F_¾â¶-—· .-m´Åú!ëa¨k((,À¤“°ÿö~üþ'&ùNR;Þä¬d,è½@!™»œp°öüZŒï4¾B³¸e˾[ûp5á*Þjþù/‚¶Ö³6¯&\ÅÀ ±ößµø¹ïÏŽm÷ݧÒb€‰>±,lY4ÂDŸ‰:æV »Kwq›o_LÝ3Ç¢Ž‰ ®ºçQUxiÜâkS-,,°{÷nDFFÂÎÎ}ûö…¥¥¥Bý\¹rÓ¦Mƒ‘‘Q©e_|ñ ”Ú755Å®]»ôíÛÚÚò_p ؽ{7’““Ѿ}{tëÖM¡íòÖàÆÄÄàСCHLL„¥¥%ºté77·29++ ;wîDLL êׯ>}úÀÜÜ\©Þ“'OpàÀÄÅÅÁÄÄÍ›7‡¯¯/$‰ÊãûRKJ–/¬¬€>R,ËÉ/´µ)Srþ—+¾6ÕÂؽˆŒì쀾}ç(BB€+W€iÓ€ç¨XöÅÀç¨Bû¦¦À®]@L àâ"oÿ¿s ò¾““öíçh¹kpcbäý$&ÊãíÒ(çEV°s§|¿úõ>}€RÎQîô±˜¼ò¯áÇ{ǨàQ¥î×IJ‰R²u1î"àßOĤ t´t0¥Ë쿽\¨T¼ŽŽ $´¶o ?W?쿽Ip³-ç|-EiÇr*úÀH×+Ϭ¿Æ˜˜âjÂUµbSgœJ‹±2šÛ6WHnˆË e<·©{~U…—*Á?>Ú¶m‹Ï?ÿ·nÝˬ¬¬pøða´nýl1HH‚‚‚ðÑG•šàaÒ¤I îüùóѲeKL™2ÑÑÑb}ooo„††b×®]>|8rsÂ2R– IDATsŲqãÆaùòåâû²ÖàNŸ> ,€L&·I$Œ9Ë—/‡®î³_~ýú!&&FÜfmmíÛ·ÃÇÇGÜöÛo¿aÒ¤IÈÎÎVØ¿U«V8xð ìììÊW`c#Oè¾ûàãb_sN˜üñ°jUùÉ-ðlmjÛ¶ÀçŸÅÎQXY‡ÅÎQ„„AAò¤º´7(˜4I1Á?hÙRžl;Gáí „†Ê“ÞáÃbç(Æ“'ðEÊZƒ;}:°`Pì…DŒ)ß¿Ä9Šˆù:Übç(¬­íÛbç(~ûM~%ÎQ´j%O´yŽÖ˜´œ4¥¥í`æPæ~Ž–Že¶Õȼ‘RYC³†H$HÍNU3Òÿb2/=¦†æ é¹én³´cIÎJüuù¯*Mq*-ÆÊ°7µWÚf¤+ÿTPX nS÷ü ª /M‚[d̘1ÐÑÑÁèÑ£!•J±ÿ~ܸq}ôþùçŸJ·?~üxcüøñÐÖÖFpp0ÂÂÂðñÇ#((íÚµCÇŽñøñclÚ´ +W®ÄèѣѦM›2Û\¶læÍ›‰D¸»»#::;vìÀš5k`mmyóæ)ì3aÂèééaôèÑ000À¡C‡pãÆ ôïß·nÝ‚••233ñÉ'Ÿ ''o¾ù&Z´hœœ\»v ÇŽCRR\U-Y\¸|ö™|Ö³cG`Íyr;l0z´êm#O†G¤R`ÿ~àÆ y"[ç(ÆŒåÿÕÖ‚ƒåIëÇË“âvíäñ?~ lÚ¬\)¥œsË–óæÉZÀÝ]ž@ïØ!kkyyq&zzò¶ ä ø@ÿþòäÞÊ ÈÌ>ùD>þæ›@‹ò×׮ǎÉgÏyŽÖ33@\ZœÒÚØiÊܯ´eEmÝO½/&uEbÓb!Ì å³ûE3—YùYJíħǗÙïƒÔÒcŠM˜ê›–¹oYJ=Cù± õ +c+¥r0Ð1P+¶ŠŒSy1VuÏ¢ªðÒ%¸NNN …¡¡üä¼yóЪU+œ:u ééé05­ø/¸âÜÝÝqàÀèëËoÕòé§ŸÂÕÕüñ¾þúkÌž=[¬ûÚk¯aÔ¨QØ»wo¹ î?üضmú÷v3î³gÏÂ××?ÿü3¾þúk‹eöööøçŸÄã)((ÀàÁƒ‚uëÖá³Ï>CFFrrr0jÔ(¬^½Z¡Ïk×®ñ. ¡§'OÛ¶ ~ÿ]ž0¶j¬XQ±¶œœä³©ÿ£˜7OÞΩS@zº|yAe¸»Ë¿îÿïŧŸ®®òdüë¯bç(^{ 5 Ø»·ü÷¿sÿgïÌ㢬ºþvdDPÙ7EÅÔrË}Asß²·ÔÌÒ\RK«WÍìWÙ›[jiæV®¹eRî¢"®¤"‹h"ˆ€ŠÈ&Ãüþg`–aØ\î÷ó™Ì}îsžsîsœ9sŸsÏݽ[ *8^žJ°|¹\v¥aCyÀ®°'?FŒÏ>oÜ(ÿ±™)hß}Šù(áᢠC-ÓÒ®%»Ãv³êÌ*VYžŽü+%7?W­@y´²kÅ®«»XqZ^@ÄJeR–œ\@kûÖX›X£¯«Ï¹¸sääç(ƒÅ|íCt$ª›†Þ˼ÇÝGwµÒ­"㤠º•ž/ªô ¢¼tîìÙ³•Á-€Ý»wçúõëܽ{·Òî¬Y³”Á-€³³3nnnܸqƒ9sæ¨ôíÞ]žÃT4 8·oß&!!×^{M%¸hÛ¶-Æ cëÖ­\ºt‰Ž;ªØYÔ===¾üòKöìÙCpp03gÎÄÖÖ–×^{'N@§N”ç4kÖLûAxYqt„­[å3½z……<à+âo1{¶ê9н;\¿.Ï­l€;kVap ò477¸qCž³[”§>J>ÊíÛ¯½¦Ü´m+ø·n…K—äÁ®‚Ù³UmÑÓƒ/¿”¸ÁÁò×ÖV.÷Ä ÜŠs„Ö:ý½û³üôrNÜà•W^)U/A)tìNN+Ï/uw¯¸Œ|”§>Jø(%ø(&&ò…mÅ|Tù¾ EáO¥ø(O}”b>J >ªl+â£<K–Àܹ!׿sgyn°ðÑZÅÄÀ„ÕCVóÞÎ÷ˆI!&5€ú¦õù¬ÛgÌÜ?S™›YÆúƬ¶NYßuëå­Êc6¦6¬¸Bå1÷Ç?æRÂ%bÓb•õ`ê:°¨ï"Æý>®Äk´²k…[=7Öœ[Ãɘ“Êö7š¾Á¤×&UØþÒЕè²nø:fÿ5›ãÑÇÙºS席©­Jp[Ý*:Nå1Öo,³ÿžÍ¾ˆ}Ê6EÜÊR•þ!T”—.ÀÕŲÌÌL¬­­UŽÝ¾}»Æô°´´ &&¦Äã7oÞP«KûöíÕÚŠÊyp?oÞ<æÍ›Gnn.aaaüüóÏ´k׎€€úöí[e¶¼Lš$nÝÜà×_aÈèß¿z®¥XX–™)Ïq-J ú( *ÅGyê£jU bc¡˜òÔG)⣘šÂ¼yòWn.„…Éžµk'ŸÕ>Z«´hØ‚cq,úw3îÒÀ¬Ý=ºs<ú8 º IOW©¦âZ¯äCîÖîœpàØ`ù]2)®V®trí¤²C€k=W޼w„#ÿ!%3{ {º{t'7?—©¦ªÔ˜-ÊÇ]>¦¯W_.ܾ@¬€Öö­Kí[åÙbilÉÏCæfêMBBHËJêŽÎ–ÎøÙû©”«¨nšŽSy:‚|ײ¦ šrþöyf?D†L¹(lÒ«“T‚å²ä)޹[«þ¨¯ˆU‰pKÁÑQ¾Bõ¯¿þbòäÉÊö#GŽ\£zØÛÛÌŸþÉ€”ÇBBBصkÆÆÆ´jÕJå¼E‹Ñ¿ÌÌÌyî¼yóxíµ×yɲ„„Ú´i€¡¡!~~~XYY±víZ~ýõWàV„µkå¹£cÇÂÿþ'ÏÇýÏäæKš­¬,O}”¿þ’/ØRpäˆüMáè(ŸU –Wa(⣄„À®]ò”‹b>Ê¢Eòàÿ©’Ÿ/bAž–ò”Œ„ùÂ=§VøùɃåµkå?"„Ö*Ñ÷£±³°S)C•žÎÊ3+T¶oÕ•è–[oUW¢K'×NÊ]ÈÊÂÜÈ\¹Ë–c}ãr¯ÑÔ¶)Mm›–+¿<=5©ëVÏ ·znËÕT7MÆIS›ÔoB“úMÔÚ?hÿÆòJ;Vÿªà–‚¿¿?óæÍcÚ´iáääDTTØØØ””TcºÌ™3‡?üâïï§§'qqqìÝ»—'Ož0{ölµô‡»wïâåå…¿¿?†††;vŒˆˆ¬­­yçwyîoûöíñññ¡eË–ØÙÙ‘––ÆþýûD…ŠpéL*/ãµj•< Û¹Sž²0t¨¼J¡aùr*‚¿¿< œ6M¾XËÉI^} ll }”9säU”ëåé)ÏÛÝ»WžV1{¶zúÃÝ»òoþþò±9vLž‚`m-/UríÛËK›µl vvòT‡§>**(Ô>'nž`õ¹Õ¼êô*öuíI~”̉›'x˜óöNí+\W¶¶Y}v5yÒ¼2ûèð~û÷kH£ç›Í?Ï"À-___¦NÊòåËÙ±£°–áܹs‰‰‰aË–-5¦ËäÉ“IHHàÿûû÷ïW Š:¸E+3(X¹r%³fÍbÍš5Ê6EÜzõäek5jÄ+¯¼Â…  S-:Þ©S'匯 <±††…³• Ï]ºT>»:eŠü±zUâë+ª—/‡">ÊܹòtôQ&O–Ï´þïòàS€*êà–࣬\)_ðVÄG•upŸú(ÉÇñÂyjBQ:u*œñÔõ=ÈÍÏå憎UÚ}ú°¸ÿâZÒJ{Öœ[ãÜGeö134®†¼hþ!x~xiÜîÝ»cddTbé+Å1ÕÄüeË–1räH‚‚‚ÐÓÓ£k×®´hÑ‚={öàîî®Üä¡<ùï½÷¨—a©S§óçϧyóÂÅùùò"ÙŠÏ|óÍ7Lœ8Qe'³×_]m'3…:u"22R¹£šÚNfŽŽŽœ?žÈÈHBBBHLLÄÚÚ??¿2Ë– Šqù²<¡KõEe“ž.¹wO¾DY3ŽÝ»ËëÁ–TúJq¬˜²lŒ)ŸÁÕÓƒ®]å³È{öÈu)â£eÊï=y ^œ:u`þ|y™2O}”b>Ê7ßÈkøÝÉìõ×Õw2SèÑ©“¼î­bG5;;õÌ奯"#å鉉ò ØÏ¯ì²e‚£³kg‚'s6î,ñâÑÕÑÅÛÖ›W^yfVÈk’‹ª`b»‰ÍàVÑíyäyðÁ‹‰D¦ØCP † ÀÎ;Ëé)Д÷Þ{µk×NÓ¦•Ë{™H$LŸ>¥K—Ö¶*/>ï½'Ï ‡—ØG«ûó/99™ÌÌLúþý·)S§Ú}³Zt‚ÊâîîÆ?$Ó·¯fŸk¦¦¦•J•|ifpŸuØ·o¿þú+4nܸ¶UT €}ûä »,,ä›C@ð "Üg„€€~ùåtttøúë¯Ñ×ׯm•UäÛîêèÀ×_ƒðQ@ <£ˆ÷Áßߟ¦M›Ò¡CZ¶lYÛêêøûËS:tW4àE¸Ïþþþµ­‚@P6ÂG@ðœ SÛ @ U‰p@ /"À@ ¼Pˆ\@ h͸ßÇájåÊ»ÿ·¶Uy¦t©jR2S8}œ“1'y˜ýM0Òwd‰}3s39|ã0W¯ð0C=CšÚ6eˆÏš7,ñi”=a{Š âQî#œ,á;/¯ê4K ¨6D€+­¹‘œ'9µ­ðléR•üß±ÿccÈFŠîËÔÒ®äJ&¡‰¡ŒÞ:šÜü\•ö#7ްæÜ–XJwî*Çrós»c,â/(Û‚bƒØvy‹ú-b`³Uh@P3T*ÀMMM%!!>ú¨ªô´æèÑ£Â5Fhh(öööµ­F­³~øzL Mk[ àÙÒ¥*IÉL¡¾I}^w{c}c6†l,µof^&úºúø{ùÓ¼asì,ìHËJcËå-„&†2+`§>8…¹‘¹òœÁ+¸f ˜Òa Írâæ ~»ôŸøŒW_¡‘y£°T ¨:*àþûï¿$$$°lÙ²ªÒG КððpÂÃÃk[ ÁKDvvvm«Pë´qhSÛ*(y–t©J>ïö9õMê#‘H8xý`™®o#_ÎO9¡ž¡J{ïþ Ü8ë÷®’BW÷®ää³õòVtutÙ4rnõÜèäÚ ‰D¦Ml½¼•YgU›}AuP©·]»v@õíÅ.hŠD"aúôé,]º´¶U¼$ 6¬¶Ux&(-ï5.=ŽWwrãÞ ¤R\ë¹2¸Ù`¼l+žÓ™’™¢”•™›‰}]{:8w »Gw$I©º|ò{.%\*Uîø¶ãéæÞMùþaÎCv]ÝÅå;—ÉÌËÄÖÔ–^Mz)ƒÁÚÂÆÔFã¾&&%¶ëëêóªó«\¿w…©¡‰¡dädÐÑ¥£2¸UðŽß;l ÙÄ©˜SjnèÝP~¿ò;w2îÐм!#ZŒÀÎÜŽiû¦Ñ³IOÞñ{Gs‚j@äà @kJÊ{=u€ûgðDúDÙv2æ$›B61·û\Þjý–ÆòoÜ»ÁðÍÃÉÌÍTißri Ã[ çë>_—ªËõ{×UòJ‹3¦õåß—ï\æ½]®ÒgwØn†µÆ7}¾)Wׯ}Mx’æO‘¾ïÿ}>ú»†¡ž!­íZ+Û¢S£hѨ…Z‡ºÔ5®KLjŒJûÎÐ|vð3•œà=a{˜Õyâ/и~ãj²@ Ðà  ÊHÎLæã€y"}Bï&½éíÙ}}NÆœdçÕ,<ºÖö­ñ¶õÖHÞö+ÛÉÌͤ‹[6H]£º$*óÜYgñî+華åIóøüÀçôjÒ‹¾ž}yÕ÷w¿Ïƒœ l6.n]°0²àöƒÛl¼¸‘¡;iïØžM”y½¨{QeÔÅÉ~Rs).;Bw’ÂŒN3¨k\WÙžž%èë›Ö/ñ<SnÜ»Aö“lŒõIÌHdþáùÈd2û ¦«{W¤Rß8Ìâ“‹kÄ@D€+‚*ãð?ÈÉÏQ›õìÕ¤ Ͳüôrv„î`AÏÉÓÓ‘M}ïÿ½J`6Òw$9ežÛ¤~•÷ùù|°ç^w{Ï»}^¨sĤf¥2«ó,Þoÿ¾Ê9}=ûÒùÇÎì ßSn€ûé럒‘[¶NE©©ÙÛãÑÇ™h>½šôR³O*“ +Ñ-ñ\E{~A>FüIž4qmÆñY·Ï”ýúyõãÓŸ²3T¤, ž D€+‚*#*% €‘-Ôk´Žj9Šå§—s-ùšÆòFµÅÞð½¼·ë=6H³ÍhR¿ †z†*•ÊC*“2mß4¬M¬ù¢ç*Ç®$^䥴ÎÄQ>z—!Sþ}3õf¹×Ð&¿¸º ¸À¬ý³èêÞ•åo,GG¢º¿Sý:<Î{\âùŠö:ò~×ï]`hó¡j}7,\Á3ƒp@Pe(ê¯mU`adD"Q«ÑZ.V.x”?#þäÌ­3¬¿°žÄŒD:¸tà“.Ÿàní^®ŒY3ÿœ‰‘žÿ×ûÿT¦dåeò…S¥a gPîužµÜ-—¶°àÈz6îɲ7–)gË¢¸þ­ô[jÇrósIÌHÄÖÔV9“›“/Ïq.éÇ……‘Ej/Tà  ÊP¬ø¿z÷*N–N*ÇÂ’ÂÉdØšÙVH¦…‘oµ~K¹8-%3…÷w¿Ï¶ÿ‡À÷ÕJbE&“1çï9HeR÷[¬6ƒ (w÷ZÐsA©sIÁaqž¥ÜUgV±ôÔRúyõcÉ€%¥¦ 4oØ€“7O"-¢«SØ/(6ˆü‚|š7j®l³1‘ßßÈäH˜5P‘‘QÕfZ£þ?]P%|ÿý÷H$Nœ8QÛªTšÉ–—…ï}d‚„×OÔ¶*•æE²åe “k'þwâÊÇÙwÞaþ¡ù*}4acÈFÎÅSi³4¶ÄÔД”Ì”gÈd2æšËÃì‡,°T%x+J¯&½Ø±†æ iëØVùòsð#=;¤GIåêúé럲eô_Õ1{+“Éø¿cÿÇÒSKy£é,é_zp òྕ]+3Yrj‰2%#93™o ÀïÂÜã.X¸ˆÛn+Û£ïG³ô”(Ó(xv3¸¾úê+æÎKPP:t¨mu/_ýõsÿ˜KÐì :¸ ÿ{žyÝíuÚ9µã\Ü9l€³¥3úºúÜL½Éé<¬=JÌß,“7OòÕѯ010Á±®#zĤÆð(÷–Æ–8Öu,õܯŽ}Åö+Ûii×’ÿlûÚqEÜW^aX‹aì ÝI×Õ]q¨ë€µ‰59$0Âi¶ ö/ @V‚ÿi!ûçS?ãó…†2kçSÿ+%o537“ûÐü‹æ˜L6¡þGõ鵬G¯ièiñLøuŸ8`ð¾ f6`ôÚÑD%»çEô[¸Š&ÿm‚ÑF¸~êÊW}¥¬© Ð}IwæþñÔÿuD2A‚d‚„.ÿëR¦-Úè¢é}hN‡6xÙ”ühÞÄÀŸ†>´hØB«à¶(uôëàeã…·­w‰ÁmIºøÙû©äÓ•´®D"ÁÙÒ™Vv­”鵩M™v (­M¬ËìÛÖ±­Úâ0‰wkw|ù–Ü‚|ñÙ•Ä+40k@K»–42oÄ™[gX¼‰¯¹¼VÕC T˜ZŸÁŠŠâÕW_åáÇʶ¿ÿþ›óçÏÓºukµþééétìØ‘ˆˆÂÕš999râÄ ~ûí7Þ|óM•sV¬XÁúõë•ïoß¾Í_|AAA ,¨”ìï¾ûŽmÛ¶)ß—¬¥¦¦Ò±cG®]+|Ì–••ÅáÇ9|ø0Ožk×®áããC@@)))¤¦¦røðaºuë¦V›±8Ó¦M#%%…N:ÂãÇ•ú>zôˆ &¨£Ð/11‘´´4¶nÝŠ••›7oæØ±c=z”… „L&/n^VÕmtÑô>Ô$3ŸÉÃì‡ôkÞ°/Âx¼ê1—æ^¢¹}sG”à;g‘ÁàVƒ¹øùE2Wf’º,•mïm£®q]¦l¢ö¥½õüV~õ‰ß'’±"ƒÍïnFOG•Ç‹ùŸ²w_ÚÍâá‹Iø_²µ2– /ÃÿvLçÚÝkøØù0%€”%)¤.KåðG‡éæÕ åøßöi¤>Q¥ºhz5CH|â/”ù ‰©m5%Ðɵ­í[“š•Jhb(I’0Ô3d\›qÌí1·¶Õ€ZžÁÍÌÌäСC8::²k×.ŒŒä Z¶lÉÞ½{qwwWIOÈÍÍeÛ¶m4mÚ”]»v)BFŽIZZ“'O&((ˆÞ½ W}Λ7)S¦(ß¿ùæ›üñÇìÚµ‹øøxµ–ýÑG1cÆŒrmÍÎÎfçÎXYYqäÈlm áöèу=z”q6<~ü˜`ccÃþýû17—ÙöööfÇŽøúúråÊnܸAãÆ… ¦OŸ®¢ß¨Q£J¥¼õÖ[ìÚµ‹nݺ•«{Ué¢É}¨I2s39qG+Gv½¿ #ý§þçØ’½“öâþ™»JzBn~.ÛÎo£i£¦ìz¿ˆš0²ÍHÒ§1yËd‚þ ¢w³"þç?)]‹ØÝöMþ¸ü»þÙE|z<ŽVŽZËþ¨ûGÌè¡ÿ=ÉfgÈN¬L¬82ã¶æEüÏ»=¼Ëñ¿ÜÇ;€™ û?ܹñÓ{ÞÈ›wà»À—+ñW¸‘|ƒÆ¶Eü¯ûtýF½2 i”·Ö½Å®vÑÍK ÿÓRMæ(/?«ñŸQ×oÌŽ1;xý€øñèêèâZϵB‹‚ê¦VÜ[·n!•JéÔ©“2¸U`aaA»víP¶ÅÄÄMdd$úúò¼(Ål£âo?ú.Š"—´(®®®€<ç¶2²Ë LÄÆÆ’››KŸ>}T‚[M¹uëùùùtìØQP*ÐÓÓ£W¯^DDD­TöêÕKM–"@ŽŽ®°•ÑE“ûP“ܺ i”N;)ƒ[Æ´smGÀÕ"þw/†ì'ÙDÞDÿý">B1I+æMº¨]ÛµþS»sUJvy©‚Ø{±äæçÒǧJp«)·Ro‘_OGŽÊ€RžŽ½šö""1‚è”h• ²WÓüïi€¢¥ÿi©‹&÷APsøÙû•ßIðLS׸n¥s«‚ê¢ÖspRÍl¨Èo•ÉdH¥¥ÿòÏËËSyol¬^FFqMÅ5´•]¯^½Rû–DyiÕ}~Q5­‹&÷¡6(Õÿ(æ²">"+ÃGò‹ùŸA vSÌÿ´”]Ï´‚þWNB¹çW…ÿQKþ§Á}Á‹A­¸ÎÎÎèêêrêÔ)rrrTfq322¸pAµîŸ‹‹ †††øùùqúôé*Õ¥:e•êÔ)RRR°±Q_½[ÎÎÎèééDFF†ÊÌ©T*Uæ+»»«n3yèÐ!µ4„àææ¦lÓÑ‘§c­®PÕº}úœœÌÀ¹téYYY\»vQ£Fޝ¯¯JJÀ²eËX²d III¤§§³mÛ6¦M›ÀС…» YYYò€8++«L[´ÕåYÃÔДžÞ=‰KcÄšD$F•—Eh|(C~½GÅüÏ #_Ipt0£×Žæ\Ì9d= çIQIQl<³‘öß´WZ¯Õ)ÀXߘa~ÃHÍL¥çÒž?ÀýÌû¤g¥s$ò=–ô(3ÒÄЄ>>}HÎHfà¹tûYyY\»{QkG~'__•”€eG—±äÈ’&‘ž•ζ Û˜¶ý©ÿµ.â&Oý/âYyåøŸ–ºàå¡ÖS/^Lpp0þù'þù§²½^½ztëÖcÇŽ)sb–.]Jhh(Û¶mS)ÏUm7V§l…ü .Jß¾}+,{Ù²eœ?žÀÀ@µj¦¦¦¬]«^NgðàÁÌœ9“™3gª´¿ùæ›*3»;wF"‘ðí·ßòí·ß*ÛJ«¤ .Ï"‹‡/&øf0†þÉŸ¡EüÏ´ݼºqìÚ1•:˜KG,%4>”m¶©”ç*ŠÖþW²ò/Ä^ 4>”¾ËKð?Êñ¿Ë8sžÀ¨@Z/,vÏ MYûŸü¯Õ`fþ>“™¿ó¿¶oªÌìvnüÔÿ|Ë·¾U¶•VIA]@ðòPëe¼¼¼Æßß333ÌÌÌèÓ§§OŸ&??===ÌÌÌ”ý---9{ö,ß}÷­[·ÆÔÔ”:uêàííÍ„ 8þ¼Ú‚5M©NÙÖÖÖ\¸pÏ?ÿOOO ±±±¡wïÞ=z´Ì¸ _Âøñã±³³COOFŽÉÅ‹Õê΂|“…åË—ãáá...,\¸7ªôóòòbݺux{{c``P®-Úèò,âÕЋàÙÁø7÷ÇÌÈ 3#3ú4ëÃé٧ɗ棧£‡™Qÿ«cÉÙOÏòÝÐïhíÔSCSêÔÁ»‘7:NàügçÕ¬iJuʰ6µæÂçø¼ßçx6ðÄPÏ3z7ëÍÑGˬ òY!ÿ a|‡ñØÕµCOG3F¶ÉÅÿ^T«; 0§Ï–\އz¸X»°pàB6ŽÛ¨ÒÏ«¡ëÞ^‡w#o ô4ð?-tÁ˃DV‰)¡aưsçÎ*SHABBMš4ÁÍÍ«W¯V¹ü9sæ°hÑ"._¾Œ¯¯om«SíH$¦OŸÎÒ¥K«D^BzMþÛ·ún\ýBø_E™³{‹.âò¼Ëø:¼˜þWŸ ß8%33S£¾ÿmÊÔ©¶DG߬] ²¸»»ñÃÉôí«Ùçš©©©VU§Ôú .È£>|˜{÷îñàÁŽ=Š¿¿?YYY*y¢Au0øÇÁŽ8̽G÷xõ€£×Žâ¿ÂŸ¬¼,•ø4ðaë›[k[•çi”³qgÙ¹Ÿ+‰WHx˜€¡ž!Mm›2¦Õz5Q¯-*Î31ƒ»oß>úõë‡8;;3uêTNŸ>©©im«'xÁÙ7yýš÷î®z8×sfj·©œž}SCá ê8wûïìx‡Ýa»¹™z“Üü\2r28w–É{'³ôTÕ¤Y /;ÏÄ n·nÝ´Ú2VP:E«!ʦ›W7­¶Œ”ηC¾åÛ!Âÿ‚âèéèÑÁ¥¼ТQ ™7"-+!Ùpq?ý‰a-†aoa_Ûª Ï5ÏD€+ÁË@[Ƕ´ul«ÒfgaÇçÝ>'ú~4A±A„'…‹W ¨$"ÀA•óGøl¾´™÷nP +Àµž+C›eL«1Êë*Ò77?—¦ß7¥»GwþÛý¿üß±ÿã\Ü9¤Rüüø¸óÇxÙz©È ŒdCÈnÜ»Afn&vvttéÈ„v°5Õ~uvuáVÏ Ø Ì ÍÊï,ÊD¸@ ¨R¾ ü–_Îÿ¢Ò™É—G¾äòË,°T«¾s2â·$g&+ÛNÅœ"$>„cv(ƒÜÀè@&ìš rîÍÔ›ÜL½IÒ£$VZY®ÿÙþÎÜ:£™ÑÀ¡ ‡p«çV~ÇÈ“æq<ú86¦6´qh£• @Pˆp@PeD$GðËù_0Ò3böë³éݤ7úºúœŒ9É£ Ù¹Ÿ~^ýèîѽB}\Œ¿ˆo#_~ü#ë7&1#‘¥§–rðúAYÀö1Û8úïQftšÁ°æÃ¨k\—„‡ ß &.=®VƦ,]Èí·Y=d5ºåov"ÊF¸@ ¨2DàÃ×>ä­Öo)Ûßhú:>úó#þºöÝ=ºW¨¯‚:úuX3t õêÔäõ—½±Œ~ëú’ÂýÇ÷±6±¦Y¥¬ú¦õp±rÁÅÊEc[~ù«–£P1¾?ù=Û.oãÓ®ŸªØ*´G¸@ ¨2n¥Ý «{WµcŠ6Å jEú*ð¶õV· ôtôhïÔž›©7‰KÃÚÄš±mÆr!þýÖ÷£³kgš5hF³Íð³÷C_W¿R6V²^À–Ë[˜óúÆ¿2¾¶U^*àž;wŽ„„$IUé#hͲeËX¶lYm«!x‰°·+ÝK£"ß Uù¢ejhÊo£~ãÆ½œ¿}ž¨”(v]ÝEZV_ôü‚~^ýÊ•U9¸ùù|ð1û#÷óy·ÏÛf¬Æ×åS©×ÃÃcccúõ+ÿƒB ¨N–-[FÓ¦MéÑ£Gm«"xIøë¯¿D€[ÎV΀|‘—‡µ‡Ê±7OàdéTá¾ "“#IÍJU™ÅÍ/ÈçlÜYë:ªôo\¿1ë7V¾Ÿ¼w2³fÑÁ¥F7° È~’Í体 Š b~ù*é j¨T€[¯^=êÕ«ÇÒ¥bçAí²lÙ2zôè!|QPc$$$Ô¶ Ï$}<û°úìjV¯ÀÄЄ^{¡¯«Ï©˜S|yäKúzö­p_YO²˜¸k"s»ÏUYdv3õ&~ö~X›XðéߟÒÀ¼ÝÜ»ád鄾®>×ï]çßûÿòDú„äGÉå¸Õ‘ƒû(÷ïî|—Kw.ñeÏ/ÕrT•_C ˆ\@ T!Mm›2þ•ñ¬»°Žù‡æ3ÿÐ|•ãþ^þôhÜ£Â}´qhC\zC~¢Ò^G¿ó{žŸô(‰Ww²âô 5½m½q·v¯”Úr<ú8ÿ$üÀÜCs™{h®Z‘² Tà  Jù´ë§xÚx²ùŸÍܸ_dóŸ¡jã+ÒÀÂÈ‚íc¶óÕѯ¸‚‚ZÛ·æ“×?Á˦p£‡Eý±ëê.Žþ{”Ø´XdÈhdÞˆÞMz3¶ÍXµÍ&Á‹…p@ 5a3ÃJlÔlƒš ÒHFEú‚<Ïöç¡?—ÙÇÆÔ†I¯NbÒ«“4–[¼Ñô ÞhúFm«!¼ðˆŸ°@ ‚ à @ ^(j4ÀíÓ§Ó§O¯ÉKV/’-Úð<Úß§Ïn¦O?^ÛjT /’-Úð²Û/‚²©ÑÜ   ²³³kò’ÕÆ‹dKitëÖ ___/^¬vìy´?((ììüÚV£Jx‘l)nÝ~Ç×׆ŋ»¨{ì¨b¨gHôœèÚVC <'Ôh€{àÀÌÌÌjò’ÕÆ‹dKiœž?—u눋ËÀÞÞŒ šãìlÎÈ‘ äÁ´i­JµEÛkjbOyh2~Eõ›;·=«W‡x©TF‡vLžÜSS}ÂÂî3eÊ1¤Rÿü“L—.;”r–-{__›JÝKmÇJ Ï™L&ÓöäaưsçNú›ššâççlj'”m;wîd̘1äåå©ôÕÑÑaùòå|øá‡Ê¶³gÏ2`Àîß¿¯&{ܸq¬[·€œœŒéß¿?2™Œ€€•¾­ZµâìÙ³~‰­_¿žwß}—¢Ã¡««Ë7ß|Ã'Ÿ|ÂäÉ“Y¹re©¶hsMMí) MÇO¡Ÿ¿¿?™™™*÷ÀÓÓ“   ¬­­9}út©3´téÒ¥R÷R›±*‰DÂôéÓËܪ×Ôt9~~ 8qbD¯3fÌßäåI‹é,aùò®|øaKeÛÙ³‰ °—û÷ÕsÇóaݺ^OíËÇØxýû»!“A@ÀÍböÙröìh t•mëׇñ(ú¿QWWÂ7ßtâ“ON2yrKV®ìVª-Ú\SS{ÊBÓñSèçïïFff'NÄ«ô÷ô´"(hÖÖÆœ>}‡Ž·•x½ÀÀtéâP©{©ÍX•DE?ÿ*Jrr2™™™õýûoS¦Nµ%:úfù pww㇒éÛW³Ï5SSSlmmµ¾^­– »sço¿ý6yyy 2„mÛ¶±{÷ne 9mÚ4._¾ @FF$55•·Þz‹mÛ¶qðàAV­ZEãÆY¿~=[·nU‘ðàA.^¼Èwß}Ç_ýÅÏ?ÿŒ““—.]â÷ßWö»}û6“&MB&“ñöÛo³k×.¶oßÎСCùüóÏ+d“¦×ÔÆžÊŒŸ‚C‡qõêU-ZD@@?ýô®®®DEEñÑGàããC`` :::´jÕŠÀÀ@åË××·ÊtÑt¬ª‹;w2yûíäåI2¤1Û¶ù³{÷¼û®ÏSsùr y ø©©Ù¼õ–7Û¶ùsðàPV­êNãÆ–¬_ÆÖ­×ŠÙËÅ‹wùî»Îüõ×`~þ¹'NNæ\º”Ìï¿_Wö»};ƒI“Ž"“ÁÛo7e×®lßîÏСMøüó  Ù¤é5µ±§2ã§àСX®^½Ç¢EÌO?õÀÕÕ‚¨¨4>ú(kG £#¡U+[G(_¾¾6U¦‹¦c%‚çZÝÉlóæÍdgg«ÍV<æÏŸÏÚµkùñÇùí·ßHIIá믿æÓO?U‘3|øp\\\ظq#£GV¶ëééqêÔ)7n¬lsww§k×®œ9s†1cưeËrss™1c†JÅ€#F0~üxÖ¯_¯±Mš^S{*3~ 8zô(-[ÎL:OOOvìØÁO?ý„……]ºtA"‘`ii©’¢P•ºh:VÕÅæÍ‘dgç«ÍV샃9óç³víU~ü±;¿ýAJJ_Ý‘O?m«"gøð&¸¸üÌÆáŒ]¸U¨žž§N¢qcË"öÕ¥k×ß9s&‘1c¼زå¹¹RfÌðS©0b„'ãÇbýú’wŠ* M¯©=•?2ŽNË–…êСñô\ÏŽQüôS,, éÒʼn,-å—‡6ºh:V@ xþ¨Õ744€‰'ª›8q"óçÏWö9þ<ûöíãØ±cÊT™L¦ü;**JE†ŸŸŸJðкukRSS•maaòbìØ±jz¼óÎ; p5½¦6ö§"ã§À××W%¸°¶¶fÀ€lذk׮ѦM›rí¬ ]4«ê"44å©~ÍÕŽMœØ‚ùóƒ•}Ο¿ À¾}Ñ;§L%É(r¿ÒTdøù5P žZ·n@jjaZ@XØ=ÆŽm¦¦Ç;ï4­P€«é5µ±§8?¾¾6*Á-€µµ1¸±aC8×®¥Ò¦Mƒò̬]4+@ <Ôj€›““€•••Ú1KKK$‰²"M–„¡¡¡Êû’ä*ò:¥ÒÂ<=E=׺uë–¨GEÐôšÚØSœŠŒŸ‚’l,*CÛÚ¶Úè¢éXU99Ò§z«³´4D")ì“™ù( KÂÐPõ¿“••‘ZyVTZ˜l«¨çZ·®úý¶´T—Qš^S{ŠS‘ñSP’EõÖ¶¶­6ºh:V‚ª%ûI6Ç£ÿ žòÇ”?þø#^^%?6Õ×ׯ”—/_ÆÞ^µüÐ¥K—´’YUaOEÆOAxx8yyyj ¸BBB°³³S¶I$4]ƒ¨.µM£Fòª/&áî®ø‡„$#“öqp×üýñÇîxyÕ+Qž¾¾v)íŠk\¾œ‚½½jmáK—’µ’YUaOEÆOAxø}òò¤j ¸BBävÚÙö—ûŸÆh©‹ æIËJcÀ†$=JR¶5kÐ +]ȦMÊö×Ý_¯¶wÅéØ×µgP³AÕ"¿"üú;¿\ø…˜ÔeÛÄvK po¥ßâ“€O¸tGý{ÉÓÆ“•ƒVâlé¬vlé©¥ütö' dʶ†æ Y3d Þ¶…©8ùÒ|~8ýÝ=º‹WðÜS«‹Ìzõ’çÊÍ™3G™&ÇäÉ“èÝ»7 Ïåy®§ƒƒ]ºtQ¾:tè@jj* ZéÑ£G>ùänÞ,\…Éܹsµ’YUaOEÆOArr2Ó¦M#77?Ž^ºt)'OžÄÍÍ 7·ÂòP¦¦¦Üºu‹‚‚ÊC]j›^½œ˜3çaa…•,ââ2˜<ù(½{Ëû ìÈs=ÌèÒÅAùêÐÁŽÔÔli¥Gòk|òÉInÞ| lŒLeîÜ`­d–GUØS‘ñSœœÅ´iÇÉ͕ϦÊd°té?œ<›[]ÜÜ ƒSSS}nÝzHAAùQ®6ºjžÍ—6“ô(‰–v-ù ýLí0+îeÞã×~ÅÂÈ‚·ýÞfj‡©ô÷ê_mz¬<³’½á{«M~E¾LLj ΖÎeÎÚÜyx‡Kw.aoaO_ϾLh;!>C010!*%Šñ¿'¿@õ)Èî°Ý¬:³ 4ÀÄvñ²ñânÆ]&ìœ@ö‘Ž#x1©Õ\^ýuiÙ²%E^^M›6eܸqtîÜ™qãÆ±~ýzÜÝÝquuÅÖÖ–ôôtnݺENN³gÏfĈå\UþýûÓ¶m[Ο?——žžžH¥Rnܸ·oßFW·ì’A¥*ì©Èø)ðòòbÆ lß¾âããIJ’Ϧ|ýõ×*}[¶lI`` ...899¡£££¬ƒ[ºÔ6þþn¼þº#·iÙr–è•F^ž”¦M­7΀Î7·õëÃpwÿWW lmMHOÏáÖ­ rrò™=ûFŒð¬°ýû»Ñ¶mCΟ¿‹—×z<=­Jeܸ‘Ž5·og «[ú£Gm¨ {*2~ ¼¼ê±aC8Û·GááaI|ü#’’ðõת¥éZ¶´%0ð6..kqr2GGG¢¬ƒ[ºjž[é·X3d Vu S”.Æ_D&“1¶ÍX>|íÃRÎ~1ÑbÓ:Lõž+¯$øVé?j]¬\øý­ßie×J¥}zÇé Ú4ˆ¸ô8BâChçÔNylÅéò­ gãžÌè4ƒww¾KPlÛ¯lglõõ'ÁóN­ÎàJ$öíÛÇØ±c‘H$DEEqõêUòóó4hÇÇØ¸0GhíÚµ,^¼˜† ÃÙ³g‰ŠŠ¢  €áÇ3räH­ôÐÕÕeÿþýôîÝ›'OžFdd$={öT}Õ±-meí©èø4nܘ;v §§ÇÅ‹IJJ‚µk×2|øp•¾ß|ó 4àöíÛqòäI‘‘©ôìé¬ úªc[ÚÊÚSÑñhÜØ’;ú£§§ÃÅ‹I$%=ÆÂµk{1|x•¾ß|Ó‘ L¸};ƒ  NžŒçÁƒÜ*ÓEPuHeR‚bƒXwa?Ÿû™cÑÇÈÍ/¼W7SoòÃéO `cÈF~8ýƒòµýÊvþIøGÙ–ð°ð VHB[/oåçs?ówÔßÜ˼Wª.áIáüöÏoütö'ö„í!5«pÁjbF"?œþY·Óo«èPôz5ɫίâZÏU£¾Ì©· O7èÕXþíANágôõ{×Ix˜@³Í”Á-€®Ž.Ó;MàÈ#]ûlÜY~8ýGý­Q ¶©ÑOü¨Šfff¬_¿žåË—sýúu¤R)%.@ÒÑÑaÆŒ|ôÑGDGGsïÞ=êׯ“““JN©X[[«ÉP«__u—ªÞ1Ôr IDATúõësàÀˆÇÎÎGGG–,Y€‡‡G™¶hsMMí)‹ŠŒŸ‚7Þxƒ>}úAAAÍš5+qA[Û¶m‰çÚµk¤§§SPP œ½­Ì½Ôf¬ª‚†¨Šff¬_ß›åË»rýzR© Ë éèH˜1Ã>ò#::{÷²©_ß''s•œR]G`m­Ð+ŽÕ¯¯z¬~ý:80„„„GÄÇ?ÂÎÎGGs–,‘çF{x¨.v,n‹6×ÔÔž²¨Èø)xã wúôq!""•‚ÍšYch¨~½¶m?‘k×ÒHOÏ¡ @¦œ½­Ì½Ôf¬¥}?šö|@lZ¬J»­©-+­ •]+bRcøáôÊc?žù±¸‚bƒŠ•×~nëØSSÆý>Ž«w¯ªô3Ô3dVçY*3÷ßç£??âlÜY•¾ÆúÆÌï1Ÿ¡Í‡*\/Ô*ªS[ǶØ[”¾ôÞð½Ä?ˆ/õxqÞjý–Æ[¤\¼—Mᚎ¨y%ž¶ŽmÕúû4ðÁXߘë÷ʯù¼åò¾<ò%íÚ‹Ù^ÁsC¸¥íŽòàÈÏÏO#9‰µ SŽŽN©µ[K;vèÐ!,,,h×®r¡Ù±cÇX¸p!:::tïÞ]¥q[´¹¦¦öhBEÆädñra%¡§§‡ú£ÝÊÜËÊŒUeèØ±ô//33üü4+O%‘ÈÎâA§I©µ[K;vèÐ-,, i×®¡r¡Ù±c·Y¸ð,::ºww*Óm®©©=šP‘ñy Y¼\XIèééàã£þC¨2÷²2c%P%ûI6ãwŽçÎÃ;42oDg·Îèëè|+˜›©7™°sÞ=€k=W¦v˜JÀµbRc˜ôê$ôt ¿~âÒãØ±Ž.ii'ÿ\²³°ccÈF®Þ½Š­©-]=ºbadÁ‡w¸pûÿ$ü£ ¶¤R&ìš@ØÝ0ì-ìéèÚ # âÒã8úïQ>;ðîÖî42oÄÔSY¼;s;û Vê`gaGYì ßË™[g4›~^ýj,À½’x…#ÿ¡¿wœ, ?+R2å¥ñ™«/ðÕ‘èÐȼ7So’'ÍÃ@W}REZ åëã_³)d£[Žf~ÏùèJª6]O ¨.Ä3»§„……ññÇcccƒ³³3‰‰‰ÊE^“'OV©. T5aa÷øøã“ØØÔÁÙÙ‚ÄÄLå"¯É“[ªTžöGîçÎÃ;´²kŦ‘›”e§ò ò™¾o:¯dëå­Lï8©¦™ILj “_Œ¡^áS£S1§Ø±N®TfӲ䵘÷¼³[ÓÂ-;ó¤yD$E(ß¾q˜°»aô÷îÏ÷þߣ«S„…Ý cè¯CÙpqËßXÎÔSYufŽ–ŽLí0Uc[5„Ÿ½æ“EsŒ«“øñ|°çœ,ø²×—*Çi"EǺ(Š 6çIŽZ€û8ï1ÓöMãTÌ)>ïö¹˜¹ƒË,V]9¸Éû÷ÿÞÿ×ýU”0kÞ°9]ܺò 1¦î›J¬€6mØri‹š¼N®ðmT¸Ï”S˜ý×l¦ì‚¿·? ÌDdr$¶¦¶Œô-½Þz7÷nl±÷v½ÇðÍÃÙ8b#nõÜJí/pü{™Af‘Á MÌ!œg%sgËJÓÊLË^Í23{K-‡|Ë2³,gA-µLœRQDTPfDárðãê ŸÏZ®ûì³Ï³÷xî¾ûì3ÝsºÆÎotzƒ í'p*ú”úAv¦vts솑®‘F] C ~|éG®'_'(6ˆ;™w°4²ÄÁÂF[‡ o=œ–Ï´äTô)Ò²ÒP¡*uÜêÒò™–Ý®ìáÄÜÅÚ¥Ô­ÍC€÷»¿Ïˆ6#8yœ»ÙwibÑ„ÍzInu´u˜î9½È“ÕZÚ¶dëø­ì¾´›À˜@ÜlÝd?\ñÄ“W!D¥h+´éæØnŽßÒÎËÍ«Øò·8†º†ôhÖC=‹YšfVÍÊô1º‹µ .Ö.¥Ö«n-m[ÒÒ¶e™êºÚ¸ªo+/ ,[G[¡]âëÐÔ²i¹ö ¢¶U*Á½zõ*×®]£qc¹;ZÔ¾ü__ßÚC<%’““+õôA!„ÕGfpE‘™Ù†ÌÌš_C'žV'k;!„%¨T‚ëì쌳³3>>>¥W¢) `&0²¶CO oœk;!„ÅÑ*½ŠB!„ÿ’à !„Bˆ:E\!„BQ§H‚+„B!êIp…B!D" n àÓO?%22²Bç8p€O?ý”[·nUm`B!„O Ip«X@@ ,¨T‚»`ÁIp…B!*HÜ*Ö¥KæÏŸƒƒCm‡"„BñT’'™U±.]ºÐ¥K—ÚC!žH—.±åÜbRcÈÉËáƒЮa;îÝ¿Çog~ãâ­‹¤d¥Ð®a;fuŸUÛáëµm¯áhéÈÇ}>®íPD5JÌHäPø!ŽÜ8BZVCZatÛÑÅÖÍÈÉÀïªçnž#6-}}ZÚ¶dDëؙڕz­à¸`¾úç+õÏ„¨Ip«X@@~~~Lœ8±È,nTT !!KKKzôè««k‰meffòÇEƒ 2dæææÕÜ!„¨—/3ì×a(ó•ê²”¬&ùLâtÌiu¹‘žQµÅ1aóÜlܘÛ{n…Î?sšìÜì*ŽJTöu©Jÿ=ø_Ö­C¥R©ËJJ:Cn†0vÓXròr4Ê÷_ÝÏê“«Y>d9}š÷)ñZyùyÌÝ;—ðäpT*•úgBTŽ$¸U¬p n=4ܹsç²dÉ”Ê¿Ø ¯¿þ:«V­BWWW£k×®1tèP¢¢¢Ôeõë×gçÎxzzV{?„¢ªí¼°e¾’‰éѬºÚº¸X»•Åé˜Ó¸X»ðn×w130ÃܰúÞÌÆþÿã½+æç‘?c¬o\… ¨üëR•3±®gMÏf=1Ô5d]кëfÜÏ@W[/7/ÚØµ¡¡YCîdÞacðFBn†0kÏ,޾ySÓbÏ_}r5  tÈ_—ÿª¦=}$Á­ß}÷_~ù% …///ÜÜ܈ŒŒä÷ßç§Ÿ~¢~ýú|ùå—ç¼ýöÛèééñÆo```À¸téÆ ãòåËXYYÕRo„¢bâÒâ˜Ùm&õôê©Ë/%\`h«¡ôsîW+±•G‡Æj;QÍ>êýÖõ¬Q(ü}åïÇ&¸m´åÔ;§Ð×Ñ×(¡Å ]7”+IWŠ ¢—S¯"çF¦D²*`óûÎçjÒÕªîÆSMܰhÑ"¶oßΰaÃÔå§N¢k×®|óÍ7|üñÇÔ«÷à¾þþþ˜š¼ãËËËcÔ¨QìØ±ƒuëÖñþûï×l'„¢Q)Qøœ÷ájÒU”ùJ­Þj8n¶nűìÈ2®Þ.ø>Ég ÌÔ¥e§°9x3‡Ã0¯ï<ÜlÜHÌHT·‘“A#óFx:xÒ§yŸ"³}iÙiøž÷%8.˜ŒûØÛÒߥ¿:±¸’t…~ Pæ+¹pëc7ŽUŸ[x½²xt n®2—W¶¼‚GcÞõ|—m!Ûððç¾ò>í¶ã•ö¯;ã›–ÆÎ ;9{–»9w±·°§oó¾x6õ,ÒîtÏél=·•Q'HÉJaíȵè”ÚçGÛyçùwؼ‘“Q'ÑRhѧy†·ÌZþvæ7.'^ÆXÏowožwx¾Ø¸ËsÍÒÆ¤ª^—ªdclS溿Y{˜®¶.]ºp%é *TÅÖùøïiÛ -Þm¼ùïÁÿ>ö:!ñ!l;·¸ô8ìLíå>І¦ y÷wéçÒ‰ËóÓ@ÜjMll,Ï?ÿ¼Fr бcG¼½½Ù´igÏž¥k×®êc³gÏV'·:::|öÙgìØ±ƒãÇK‚+„x"ì½¼—÷v¿G®2W]väÆ~ ú•y}æ1¡ýR2SŒ Tx­íâS£‰N =;«IW¹a$9õ6žÝÈH÷‘|1ð uYp\0oø¾QdýâöÐíx»{óåÀ/¹›sWGzvºFLéÙéeîó£kpóUùÆb¬oÌ›;ÞäPø!õ±®ÿƒß?|_öEWûÁR´3±gxsÇ›Üɼó áˆ‚¾Íé9‡I'i´ûêÖW9uB]5O™GpBé}~4¾I>“8y\]×ïªw"Új(ã6ãö½Ûêc^þ“µÞk鿨M]V–q.ï˜Tæuùâà\¸uá±uöõ _ÓÀ´A™ëWVh|(ú:ú´oؾÈ1Ÿ‚ã‚ùóõ?K]šáâÃÜ¿çj¬ ÞºƒYÝgˆ³µs•Çþo' n5KI)ø%àèèXìñfÍšpçÎò¦M›©[XVئBÔ¦„Œ>Øó¹Ê\¸ `€ëtµt9rã>ç}Xx`!íµÇ£±ÇndÙÑeœ‰=úQë4’½›!,ùg ãŸÏ@׸ٸ±Â9ôhÖƒ¡­†bn`NlZ,Ç"Žq7ç®úüŒœ ¦nŸJjv*C[ ¥G³˜˜ͺÓëð ñ¡³}gz:õdãØÅÞÌT³„GoÅÜМÙ=gÓ¼~s2X°Š‹ ùëò_¼ØòER³R™²} ©Y©¸Û¹ãíî©qiqø]õÓè[a»ÆúÆÌê> 7[7 t Pæ+ËÔç!-‡h´cidÉG½?ÂÑÊ‘«IWùß±ÿñSàO ?D#³FÌî9ss]?ÄæàÍ,÷_®NpË:Î^³´1q±v©ðër9é²FB\š¬Ü¬2×­¬­![ Š â½nïYS~'ó‹ÿYÌtÏé8X8<¶›é7™ï7•JÅðÖÃéåÔ e¾¿«~,=²´{ðï& n5³°°àÆÅ¿~ý:–––åtîܹHÙÃm !DmúýÂïdçekÌÜôwé‰ßû†­![YÐoí;baXð»«Cãë ï>obÑ„ŽöÕå:Z¢¾öúZ#AÝv´ÆÌÞï'93™YÝg1µóT¹¢ûªî츰ƒ!-‡ÐѾ# …3C3kU-6ÛLSËMÌ›0~óxÎÆU'¸;/ì$5+•~ÎýX5|•FcÛ-’àªP±~ôzõ’€ g7”¹ÏÇ·uüV›7 »cw²r³Xyl%Z -¶Œß¢óžN=¹të¡·BÉËÏCGK§\ã\ž11Ñ7©ðëòaÏIÏ)ûì{MÍÞ ?Äü}óéïÒ¿ÈX|~ðsìLì˜ÔqR©míº¸‹ûÊû¼Öá5ä°Û`>Üû!>!>U{]! n5³··§Q£F?~œ]»v1dȃü   |}}144äÙgŸÕ8oñâżð ˜˜˜kp?ùäž¾èš(!„¨i—/0Ú½èÞ cÚá›cß–VáöÇ´ÃÎ ;yÃ÷ †¶J«gZábí‚¾Ž¾Æéçnž ¶e ˆ PŒ«B¥þúzòõ ÇQV­íZk$r­ži@JæƒOÞ ?R/)¹1Ñ7ÑøÞÕÚU#¹…Šõ¹µ]kur«nÛ¦`«Êþ.ýÕÉm!7[7BâCH¸›@C³†¾fYƤ¢—'Áž°=ÌÚ=‹^N½øæÅoÐRh>SëXÄ1þ¼ô';&î@[¡]j{W’®ðR›—ŠÞj¸$¸%·Ì™3‡iÓ¦1tèP¼¼¼puu%**Š;w’››ËìÙ³5n0ˆÇÍÍ ///ôõõ9xð /^¤~ýúLœ8±v:"„)œy-nK/33 E‘½AË£©eSL9À®‹»ˆ àçÀŸ¹™~Ϧžü§Çpªï@æýL à&œ’èéèU8޲230+RV¸#_•¯.ËÎ+X¿[8£]šgLž)RV‘>_aRû¸cyùyUzÍâÆ¤¢ž´5¸ÏndÁþôsîÇŠWyÓ°üèr t øï͛ʢR ¶ýúÈ×ütê'æöžK«gZ©ÿ¿·ÍXqã+ H‚[Þ~ûmbccùꫯؽ{7»wï샻páÂ"ç|ûí·Ìš5‹Õ«W«Ë ÷Á•-„O‚Â;ÍÏÇŸ§‰Ec¡·BQ©TØšØVêffLh? í'wúOÝ>•—·¼ÌᩇÑ×ÑW?)jA¿ê¤÷Q‰† ›ujšIA¼A1AEf7‹SÜ Håîs¨ökVàuy’Öà~ðË.g°Û`– YVâìlfn&÷îß+1îÂí w±©Wðsv)áR‘7;.VUøuŽ$¸U,/¯à®¶¶æì/¿ü’)S¦h<ɬgÏžEždÖ§O èÖ­—.]b×®]DEEѰaCy’™â‰ÒͱÎn૾ÂÙÚk `¿Ûùûæ«ëTÔº u¸Z»Ò©I'u™…¡ÆúÆ$Æ'™‰‹µ ý]úókЯüqñ¾~ákìÍíÕõ•*%û¯î×xzZ=ýzĦŒ¯Ê/òñqMèÓ¼ë‚Ö±øŸÅؙک·ƒ‚] ’î%•ºpyû\ªûšy]ž„5¸*•Š/}Á/§áÅ–/²dð’Ç.=X‹v Û©—x6õdcðF^ŒS}'õ¸‡ßgùÑåUÞŸºBÜ*Vx3Ù£78880iÒã”÷éÓ‡>}<ÒoìØ±©-„µ§g³žtjÒ‰“Q'òË,ÐÕÖåzòur•¹4¯ß¼Øuƒeuäú>?ð9õôêaonžŽ7’op7ç.†ê?ôÏ5~owo|B|èõC/›7¦~½ú¤g§›KN^S:Ma°Û`ZضàdÔIz|߃†f Q ¨ÑýV;5é„—›{Âö0qëDlŒm°3µãfúM’2’x«Ë[¥&¸åísU¨îkVäu©®5¸‡Ã³æÔîdìr´ëÒ.‚ã‚4öÝwu¿œþ…BÁÍô›LØ<¡H{/{¼Ì—´±kSì5÷_Ý€³µ³Æv½œzánçNH|ý~ìG3«f(UJ"’#p±qáfúM´µJ_Ëû´‘·ŠìÙ³‡?þøƒß~û 333œeO:!DݦP(X=b5 ,dgèNõ FZ -ú9÷cစèT¸ýW;¼J¾*Ÿ€¨ÂܬÖѾ#s{ÏÅP×P]ößÿ¥yýæütê'bRcˆI Ö{r„W /uÝz|ÀÔíS¹™~“›é7òíƒ[–YJS«¦¬;½ŽÄŒD3ðhäA—þej£<}®*ÕyÍ'áu)”t/©È‚øôxâÓã4ö-\g®R©JÜ㹯sß Ç¢­¥Íï5ü½qT}ÓYf=x¹ý˼¶íµ6ñ4S¨*±ÉÛÛ¹ƒoêÔ©¬^½---þ÷¿ÿñÖ[oÕvHO•‚5j[‘µŠxjxóÒKÕ÷û/!!ŒŒŒÒ+ýeÌôé¶„‡WÿN%¹wÿ7’oO>MÌ›{ãÙÕ¤«¤d¥Ð¡q S³R¹’t…&MŠ¿¡*7“¨”(T*v¦v½9K¥R•ÅÌ;XYÒд¡Æž»…”*%á·ÃIÏN'_•›[±7ñçtÌiŒõÕ3‹ùª|NÇœÆÂТȆû…Ç,,i^¿y‰qdçeÓØ¬1–F–EÎ-®Ýòôùqí޽ƒ¥¶Æšë¥#S"I¸›€{÷"oT*sÍÇIe^—ª”˜‘HĈۚت÷¯½}ïv©»t”ôûaQ)Qܺ{ k—b~nݽE|z<¶&¶40mÀϧ拃_°dðõéžTNNÍX¹2AƒÊö{ÍØØ[ÛŠ¯á—·ŠìÙ³‡ˆˆ<==i×®]m‡óÔ‘WÔ¹­ ’à !„xêÅy‚Ø£}ƒ5¥›c7ö_ÛÏ™Ø3$g& ¯£Ï¸vã˜Ýkv-G÷d’W!ÄSo÷šR·¸’;ÕEmq¶vfëø­¤f¥“ƒ¶–6ŽVŽ•º‰³®“W!ÄSÏ£‘Gm‡ D©Ì ÍK¼Mhªù®…B!„¨F’à !„Bˆ:¥RK’““‰eæÌ™U•°8QÛAˆ§FÉÉj;!„ŨT‚{íÚ5bccY±bEUÅ#D%úÿBÔŒk׊>O^!Dí«T‚Û©S'@ô jŸB¡`åÊ• 4¨¶CO‰iÓ¦all\Ûa!„(†¬ÁB!„uŠ$¸B!„¢N‘}p…BˆjÖzikZ?ÓšMã6ÕØ5Ó³Ó9q”ƒ×räÆÒ³Ó™Òi ôø Òõ•ùJND`÷¥Ýœ»yŽØ´XôuôiiÛ’ñÏŽ§¿Kú9y9´üº%}š÷á‡?TK…x˜$¸B!D-pYâBGûŽü6ú·jiÞ¾yüögµÔ?}’‰['j”åäåp"ê'¢Nðv—·™ÙMvXµG\!„¢š…¾Zã×430ÃËÍ‹^N½ÈÊË⣽UY}-<›z2¤ÅܸÓÀ´w2ï°.h¿œþ…ïO|·»7Ìd+=Q;$ÁB!ê Ïú¦þúï+WiýŽöéhßQ£¬¡YC>êýá·Ãñðç­ ’àŠZ#7™Uƒ¯¿þ…BÁ?ÿüSÛ¡!DµÉÉËÁi‘S·O%.-Žé¿OÇãœ9‘™›Éൃ麪«Æ9qiq8-rÂi‘á·Ã5Žõ^Ý›~kúÕdÔ*kiãkpÇn @PlN‹œPæ+ ˆ P_Ãi‘§¢O©¯È¾oàñ®K\éñ}¾<ô%9±,;º §ENürú—*—ŠhfÕ }“Rë¦e§1aó\»°5dku‡&ž"2ƒ[AŸþ9óæÍÃßßOOÏÚG!jMZv#×$!#A]–ŸŸ{™1“ IDATgSOÖ®åzòuuÒs,òZ -ü#üqªï@lZ,Q)QLh?¡Ôë½¼åe"Êß¾ÉûÔ×/IUÄZÒ8TÄæàÍ|â÷ *•J]›ËÚÀµD°mÂ6 u +Ôvuº¯¼Ï¡ðCØÛСq‡ÇÖJ‰b²ïdnß»Í/£~¡‹C—ŠR< d·Ìš5 •JE=j;!„¨v§cNÓÀ¬¾/ûraÖÂç„c¬oLצ3¢þþêºþ7üifÕŒ6vm8qL£ ÍÚP±–4òhäAøœp´µ´éâÐ…ð9áêí;“Âý 0Õ7åË_rbÚ .}p‰¿'ýÍ@ׄ%†ñkЯêöÞëöásÂyµÃ«U:&±ðÀB¢S£ù¬ÿgèië•X/0&¿ O™‡ï_InE•“\!„•b¤kÄ꫱4²Ô(÷h쾎>Ç"Ž1Ñc"ùª|NFŸdhË¡ë³6p-¹Ê\tµu9y m…6w,á*TÇ®UkIãP^¿_ø¼ü<>ð9]ªËê;±bÈ ‚bƒØu?S;O­ÔuªÚ×G¾fsðf>ìõ!}š÷)±ÞöÐí|ü÷Ç´mЖ¡y F)ž52ƒ{÷î]>ùäZ´h¡¡!¦¦¦ôêÕ‹ýû÷«ë$%%ѸqcêׯOtt´ÆùGEGGOOOòòòÊÜf¡ŒŒ ,X@›6m¨W¯ÖÖÖôïߟ¨ëŒ?…BÁíÛ·‹œ_x,55€>}ú0oÞ<ºvíŠB¡@¡P¨glKZƒÃäÉ“iܸ1zzz<óÌ3Œ;–Ë—/kÔ›3g …‚sçÎñ믿ҪU+ hÒ¤ ,(×G^—.]bÈ!˜™™ajjÊàÁƒ¹|ù2'N,Ò߇¯ûã?Òºukôõõ™5kV¹â/ÏX>zÝï¾û pttäóÏ?W¿æBˆ'S ÛÅ&u:x4òàTô)r•¹„Ƈ’š•ŠgSO<›z’•›Å™Ø3ê=UÛ6l[ìŒgM¨ŠXK‡òºvû3vÍÀe‰ ΋q^ìLóÅÍqYâBRFñwã+}ª’¯Êgþ¾ùüpâæôœÃëϽ^bÝ“Ñ'™ýçlÚ5hÇo£“äVT›jŸÁMII¡k×®\¼xQ]–ÍáÇùçŸX¿~=ãÆÃÚÚºu놷·7þþþèééϨQ£¨_¿>Û¶mCGG§Ìm$''ÓµkWÂÂÂÔu333ñóóÃÏÏÜÜ\ttª";""‚N:‘˜˜¨.KHH`óæÍìÙ³‡C‡ááá¡qÎÿþ÷?~þùgõ÷ÑÑÑ|úé§äçç³`Á‚R¯yùòeºtéBZZšºì¯¿þâÔ©S´oß¾Äó–,YÂæÍ›ÕßçççW(þòZ¼x1[¶lQÁ¼yó¸rå ëׯ¯TÛBˆêó¸$åy‡ç9yœ Ø ÎÆEO[ŽöÑÓÑÃXߘc‘Ç0Ð5 =;O‡²-O¨Ž5¸UkU%kùª‚I e¾²Ä:÷•÷«äZ••—ŸÇ{>`÷¥Ý|Ôû£R—I¸X»¨ß,üuù/^lùb E*ž6Õ>ƒ;kÖ,.^¼ÈðáÃ9}ú4$''³yófÌÍÍyçw¸wï:ubéÒ¥2sæLòòò=z4IIIlÞ¼™ ”»Í3fFëÖ­Ù³g‰‰‰$''ãççGïÞ½Q(åîÓX¸p!þþþ¨T*T*ÕcwMx÷ÝwILL¤[·nqïÞ=uîÞ½ËäÉ“‹œ³iÓ&V®\ÉÍ›7IOOgÆ èèèðí·ßjÜxP’÷ߟ´´4Lhh(÷îÝãìÙ³´iÓ??¿ÏÛ¾};K—.%66•JŲeË*y^÷æÍ›Ü¹s‡M›6aiiɆ 8xð`¥ÛBÔ¼®Žk[EãXÄ1Ú7j¡®!Ú m:ÙwÂÿ†­¯¿-TÓ±*P§,ú Ua2þëè_5Öç>ü/èÝ J_¿²²r³xÃ÷ ö„ía~ßùeZlahÁ¦±›x¶Ñ³ÌÚ3Kc-±U©Z§.srrؼy3-[¶Ä××WLÖ«WÑ£GsçÎÞ~ûmüýý0`ï¼ó'Nœ`ÕªU\¸p£Gòå—_Ò³gÏr·Ù½{w|||°´´dÿþýØÚÚªcëÛ·/}ûö­Îî«Ý»w½{÷bccÃîÝ»155 E‹lݺ•¶mÛrîÜ9®^½Š³³³ú¼O>ù„wÞyGýý¸qãøý÷ßñõõ%&&{{û¯™‘‘Á¾}û°··Ç××ÚµkÇÎ;qrr*v ÀÌ™3yï½÷*y͘1CãºcÆŒA©T2aÂ|}}éÝ»w…ÛBÔWkW¬Œ¬Øm?Ñ)ÑO·òlêÉ‚ý ÈQæ`¢oB»6ej³ºžüU±>޹¡9×n_#:5šFfÐRÌ9 k=ŒNüÀ{»ÞcV÷Yx6õ¤~½ú¤e§™ÉŸabkl[«kpïæÜe’Ï$ÎÆå³~Ÿ1¦Ý˜2Ÿk¬o̺Qëxç÷wXx`!iÙiL÷œ^ÑŠ§Qµ&¸7nÜ ++‹K—.¡««  ží,ü(²ævÍš5pôèQ ÄìÙ³+ÔfDD999 8P#¹­i‘‘‘äååѵkWurXHGG‡þýûsñâEÂÃÃ5Äâvaptt Ö —vM¥RI·nÝÔÉm!333:uêÄž={Š=÷ÑÄ¿¢ñ—Wÿþý‹”¾ñ /rLñäS(<ßôyv]Ü<Ø­ ’F•JEøípú:÷E[K»¶Âj>ÖNöض‡^?ôR—m»‘ŽöY8`!óöÍãý{î”NSÔ_/;ºŒU«Š,ز¹{çjœ·úäjVŸ\ ÀøgÇói¿O+TÿPø!ÎÄž ñ;oß¼"1>nÉ‚¾Ž>ßøžÙÎf展¤d¥ðIŸO*ô©ªÅ©Ö% …7C©T*”J%J¥’üü|„àþ}͵D§OŸ&66€k×®i$si³,?0ZZZí?,++«ÔóË¢¼?¸††E÷8,l£,KwÍÇoeeU®¶U•cYxMù¥'Ä¿WázU+#+ÜlÜÔåê']Õöò„B5ëG½?b€ËÌ Í‹üŽé>Ÿ >x¹yaclƒŽ–6Æ6<×ø9ô[À›ß¬’j“¶B›¯Å+¯°þÌzfí™…RUòºc!Ê£Zgp›6mо¾>;v¬ô€øøxFµµ5³gÏfæÌ™¼úê«lß¾½Ümfee¡¯¯ÏÑ£GILLÄÆÆ¦Äº…Ç"""4êeffrêÔ©"õ “¸²Üáïàà€ŽŽþþþ¤§§kÌ‚*•JõzX''§RÛ*+´µµ9zô(ÙÙÙ³¸ééé–«­òÄ_Þ±,´oß¾"ËöîÝ @³f¥ß "„¨Yú:ú„Ï)ýÓ•á­‡3¼õðbýóæ?UUåT$Ö²ŒCèû¡Eʬ­ùvØ·%žÓÆ® +^\ñØv¡`Ü÷º½W¤|¤ûHFº,õüŠÔ±å‹åºA¬¤1R(Ìë3y}ŠÎ QÕ:ƒkddÄèÑ£9~ü8cÇŽåäÉ“¤¦¦’ÍåË—Y·n;w&''(HGÅíÛ·Ù²e 3fÌ`Ú´iìØ±ƒ¥K—–»MCCC¼½½INN¦_¿~ìÝ»—Û·o“’’ÂþýûéÛ·/JeÁ»Å–-[7f]¾|™¬¬,‚ƒƒ>|8qqqEúfiY°̾}ûÈÌÌ|ì8Ô«W’ÀСC9{ö,™™™„……1fÌ.\¸@Û¶m+õñþ£ŒéׯQQQŒ5Š‹/’™™IHH#FŒ ))©Ìm•7þòŽe¡+V°lÙ2nݺEJJ ›7oæÝwßॗ^ªÄh!„âiRíûc-_¾œ6oÞ¬±õÔà ?.Ÿ3gþþþ,^¼˜îÝ»°lÙ2‚‚‚˜3g;vÄÓÓ³\m._¾œÀÀ@BBB4hP‰õÆŒüyó8~ü8nn>–jذ!ýúõ+²ë@÷îÝQ(,Z´ˆE‹©ËJÚIaÅŠœ:uŠÃ‡Ù¢ËØØ˜5kÖ{^e,]º”ãdzk×.víÚ¥.·²²¢wïÞúè#\]]Ñ××ÇÆÆ†pàÀõ¸ìÛ·þýûcdd„©©)Æ # kkë"ýrsscíÚµ´hÑ=½’GXÈÑÑ‘   ^ýu6lˆŽŽ666Œ=šÓ§OWzÙ⸹¹qüøq¼¼¼011ÁÄÄ„rìØ1òòòÐÑÑÁÄĤLm•'þòŽe¡9sæðÍ7ßмysôôôhÚ´) .dݺu• !„By>Ù÷ ;Bw—­Qnclò–Ñ©I'uYdJ$ÿÙóÎÆ-ÒŽ«+ßû ‡êYˆ “W!Ä¿Î[]ÞÂÆØF£lSð&"S"i×°ì;¡«­KS˦µá“çൃéÑͱöödåfqôÆQbRcxÃ÷ L9 Ó¸´8ÎÆ¥‘Y#ÚØµ¡¡YCîdÞáï+s9ñ2¯o{}“÷¡£%i„x2Uú¦¯¯/ …¢*b¢R¦OŸÎôéÓk; ñ‘§Öž7;¿Y¤ìÚík¬±K#Ëš鉷xðb:7錶–¶ºL©R2qËDNDàൃŒi7€¦–MÙ6aÏ6|V£]g0ì×aD¥D¤1ë+Ä“¤R î{g··wUÅ"D…8qggg¬¬¬j;ñiܸqm‡Pk²r³Xsj M,šðbË‹W©TüpòLõM÷ì8cn] 8.˜ŒûØÛÒ½Yw¬Œüì*UJ¾;þŽVŽx¹yq=ù:‘¤d¥ðfç7ÑÕÖåûßcclÈÖ#¸ž|?Ãþ$$>€uAëÐÑÒÁ@Ç€ì¼lìÍíÚjh‘óUùüpâÌ ÍÛnlPù„%„q6î,wsîboaO—&]074Ê6¥µàÙÔ³ÈuµÚôiÞ‡Q'ÈÌÍT—70m@ÓEêÛ™ÚÑß¹?ƒ7’šZî¾QS*•àvîÜ™Î;WU,BTØÈ‘#k;!ž*†º†¼vwnЧyêéÕÓ8~"êK,eJ§)ê²Û÷n3s×LND(ÒÖü¾óy©MÁŒxž2•ÇVÒ§y®%]㻀ïÔu_îutµuY°ŠÖÏ´fDëÜH¾ÁÊc+ÕuV¬ÀÑÊ+#+VŸ\Mf=Š$YG®aÙÑeÌì6³Ôþî¼°“˜Ô˜2ŽLh? C‹Rë%e$ñþž÷ ˆ Ð(¯§WŃ3Àe@©ã‘š•Zj%Q©TøGøЮa»2õ-937·r÷Eˆš"‹g„BTÈH÷‘Ì÷›Ïž°=Œr¥qÌç¼ÞîŸò)ó•LöLh|(ÌÑÕ±+ffD¥DqàÚæî‹S}'Ú6h«n#8.˜×еiWÜlÝ0Ð1PÏV>ÌÑÊ‘éžÓÙ¶‡É7x«Ë[èhé`ahµ±5ÓvNÃ÷¼/“:NÒ8ocðFô´õÓvL©}Ýyag‘Äíq» .5ÁÍËÏã5Ÿ×K£ž^=z9õÂÎÔŽ¸´8ŽGçRÂ%¤°¸ñP(åjà§S?‘™›IjV*Q„ßçÕ¯YŽPœs7ϱÿÚ~^hñM,šT¸/BT7Ip…BTÈ‹-_dÑáEl Ù¦‘à¦e§áwÕç?§¾ÓÞ瑱ñ¡¼Ðâ¾öúZchh|(/ýö¿œþ…o^üF]žœ™ÌÒ–»âaͬš1Ýs:—.q#ùowy}}  ±n`Ú€MÁ›xý¹×Õ÷ŒÄ¦ÅrôÆQ†µV¦õºÃZ ã‘G™Ç¦,mþö'a a4¯ßœ c7h,Ó¸wÿÑ©Ñõ‹?.þQ®6~ ü‰Û÷n«¿÷ì¸2ÍbǤÆðæŽ7ibÑ„ÏúV©¾QÝ$ÁBQ!ÆúÆ pÀÎ ;¹štgkg  éÊÉËa¤ûƒ¥CÇ#`¤kÄ'@¥R‘«Paj`Jh|¨FûM-›–šÜ–F[K›ñÏŽgÉ?Kðð§›c7 `Ç…|U>¯x¼R¦v†µV©8Šs2ê$³{ÎÖH¡àcýG—7åm`Òs“¸—{”ÌÎÇŸgãÙD°iì&¬­‹õzòu&lž@=Ýzl³}“JÇ!Du’W!D…tÉÎ ;ñ9ïÃG½? –'˜è›0ÀõÁGÒw2ï°5dk™Ûv°t¨’GµÅÿŽÿ g7Ðͱ÷•÷ñ ñ¡Cã´°mQ¦6ªc náMZŽVŽej³¸ñ(o@‘¥?ú‰E‡ñíñoYÐA‘úçãÏóÚ¶×°4²dØ E¶g«hBT'Ip…BTX‡Æp´rdç…ü§Ç¸’t…°„0Æ=;u=3C3Ƶ‡U½âw;y¸>Üá_Ì Ìx±å‹l ÙF\Z1¤d¥”yöªg ®¹AÁMo7’o`on_j›ÅGyÛ(Î`·Á,:¼ˆK‰—Š ˆ `êö©40kÀúÑëKœá­Š8„¨J’à !„¨ï6Þ,>¼˜×p2ºà£ê‡—'t¶ïŒOˆJ•’iÏOCK¡ù¤ø¤Œ$âïÆW[Œ¯x¼Â–s[Ø|n3'"OÐÀ´}›÷-óùÕ±·s“Îøœ÷᫾½»FB\¸nµ´öËÚFlZ,÷óî;ÃZxC`ýzõ5Ê÷]ÙÇŒ]3p´tä·1¿YzPÕ}¢*I‚+„¢R†·ÎÒ#KYf=a‰a¸Ù¸ÑÒ¶¥FÁ-³.h[ÎmÁ?Ÿ.]°2²"=;È”H£yý¹×icצZbl^¿9]ºðkЯdåf1»çlÝJSkp¹ âÇS?r9ñ2=èI/§^”à›ÁdåfaonO‡.êK²´áT߉ݯî&,1ŒK —H¸›€‘žNVNthÜA½­Z!k¦{>þÑç>¢,qQSªÂ½Z„B<1ÈÈÈ(SÝ¿þ2fút[ÂïWsTÿnŸú}ʆ³Øõê.™Q¢†995cåÊ *Ûï5ccclmm+|=™ÁBQgŦŲ#tw"Ø}i7î Ü%¹â) ®Bˆ:+.-Ž•ÇV §­ÇÜ^sk9"!DMW!DÕЬ!Ó=§c¢oB/§^4±hRÛ! !j€$¸B!ê¬FfJ½YJQ÷h•^E!„BˆIp…B!D" ®B!„¨S$ÁB!„uŠ$¸B!„¢N‘W!„BÔ)’à !„Bˆ:EöÁBñ¯óÚ¶×p´täã>k”_O¾Îú3ë‰N&;7›z|@»†íªìº¹Ê\^Ùò =x¯Û{UÖnuÆPÒXÕ%‰‰ ?Ä‘GHËJcHË!Œn;º¶ÃµH\!„ÿ:§cN“›­Q•Å ?¿À}å}uYJVJ•^7_•O`L ¦¦UÚnuÆPÜXÕ%ÿ=ø_Ö­C¥R©ËªòMøw’W!Ä¿ÎÏ#ÆXßX£Ìç¼÷•÷™è1‘Íz «­‹‹µK-E(jJbF"Öõ¬éÙ¬'†º†¬ ZWÛ!‰'€$¸B!þu:4îP¤,65€™ÝfRO¯^M‡$jÉG½?ºž5 …‚¿¯ü- ®$ÁBQY¹YLÙ>…fV͘ßw~‘ãÙyÙLÝ> >í÷©º<-; ßó¾Ç“q?[c[ú»ô§—S/u‡×˜N÷œÎÖs[9u‚”¬ÖŽ\‹ŽÆºÒ Ø –YÆÕÛW˜ä3  ,,ɸŸAó&,è¿ Ø>LÝ>§úNÌë3¯Ücp_yŸMÁ›8u’|U>íµgBû éiÔSæ+ùçÆ?‹8FtJ4ÚZÚ8[;3¢õšZ6-ÒnZv;/ìälìYîæÜÅÞž¾ÍûâÙÔó±ñ¨T*¾ øŽ€È†¶ÊH÷‘­•…Ïy®&]E™¯ÄÑʑᭆãfëV¤nH|ÛÎm#.=;S;F¹¢¡iCÞýã]ú¹ôc¢ÇÄÒ¬šØÛÔڵœK\!„åf¨kˆ¾Ž>ÏndrÇÉ40m q|ß•}‹8Ff=ÔeÁqÁ¼áûF‘u±ÛC·ãíîÍ—¿¬15Ö7æÕ­¯r"ꄺnž2t4ו¦d¦¨®s:æ4ŽVŽ´´mɦs›xõ¹Wq°pиî®K»8yœZ¼Pîþç«òyu뫜Š>¥.;~ˆ¡;Ø2~ †êò±›Ær&öŒÆù‡ÂñsàÏ|;ì[äþLìÞÜñ&w2ï<¨ÏndNÏ9Lê8©ØxròrøÏŸÿá¯ËñÎóÜî½¼—÷v¿G®2W]väÆ~ ú•y}æ1¡ýu¹Oˆsÿž«±ÆuGèfuŸE`L ÎÖνV¡/~Á…[ÊTàë¾.òÿJˆ²’W!D…Œl3’Ãá‡Ù~~;ïx¾£ql[È6ô´õÚr(9LÝ>•ÔìT†¶Jf=030#:5šu§×áâCgûÎ i9DÝÆÑG1Ö7fV÷Y¸Ùºa c€¡®a‘8<{°qìF–]Æ™Ø3¬µ]m] t P¡b÷¥Ýl<»‘z¤qÞÆ³±4²¬P‚[Ûzü‡æõ›7ž5§Öp=ù:Ÿøœ¥/,U×ÍÈÉàÅ–/Ò¡q™5";/›°„0Ö­cÁþê75+•)Û§š•Š»;ÞîÞØ™Ú—‡ßU?îæÜ-6–Û÷n3Åw —“.³|Èr¼Ü¼{BFìù€\e.\0ÀuºZº¹qŸó>,<°öÚÓ¶7Óo2ßo>*•Šá­‡ÓË©Ê|%~WýXzdéc¯ó¨ËI—5Þˆ”&+7«\í ñ0Ip…BTH¯æ½°6¶f{èv¦=? …B@tj41 r„¹¡9¿_üäÌdfuŸÅÔÎS5Úä:ˆî«º³ãÂW…Šõ£×û‘ùÃ, -èhßQ=kÚ¡qôuôÕÇݸ³=t;ïu{O Ÿ;Ë¥„K¼Ýåmºe¥BÅo££…m uÙ@×ôý±/†ýÉ ÕK6ŽÝÈ©èS¹q„}Wöq_y•J…¾Ž>qiqܺ{‹gLžaç…¤f¥ÒϹ«†¯Ò¸ÞØvc‹Mp¯$]a²ÏdròrØ8v#m´-5öß/üNv^¶Æ¬9@—þØ™Øñͱoز•ý°ëâ.î+ïóZ‡×˜Û{®ºî`·Á|¸÷C|B|ÊÍûà{Þ—ðÛá´±kƒR¥dæ®™øGø—ØÖÝœ»’OýˆÏy<›z¢ÌW²#tÌÑ¥Iu½Ìû™@ÁÍJ%ÑÓÑÓøþ“gª$ÆAnƒXtxÎlÀ»7w2ï°÷ò^º¬ð J%íAkf`¬‰Ø}q7þþ4±hÂøgÇÓÄ¢ FºF( ~;óû®ìS'øÙykŠ^¿û8ºÚºhki“žÎ½û÷Ê{al…³ëƯP(Ôu c*®¿…}-+Yƒ+j’$¸B!*¬‰E:4êÀþ«ûIÍJålÜY3™Ñu†zÉ€© ú-À©¾S±méhiþIzøüÊÐÑÒal»±¬ð_Á¹›ç8u²`¿Ü+ÜæÕ¤«ä*sÑÕÖÕ(ÀÖÄxÐ;ì[Ül4g0—]®ñ½IÁÅ»»Â£-ùßÐÿ1qëDÆlÃOÞ?•é…Iýùøó4±h¢ÿ­PT*•:~›zu/%\*ò†ãbÂÅR¯õ0Yƒ+j’$¸B!*eTÛQÆòÇÅ?8}-…V‘´û»ôç× _ùãâ|ýÂר›Û«)UJö_Ý2_Ym1Ži7†U«Xf=A±A¸Û¹ãnç^áön߻͠ù¸ÏÇèië¡R©X´ŽÀ˜@ìÍíÕý+œ%={Vàæåç±*`A±AmöiÞ‡uAëXüÏbìLí4¶ Ž &é^ýœûiœãbíÂÖñ[yyó˼¼åe¾þ}©Û‰usìÆ†³øêŸ¯p¶vV? #.-Žùûæ«ëx6õdcðF^ŒS}'u¿Âo‡IÐK#kpEM’W!D¥ pÀgû?ã× _‰K‹£kÓ®EfûžküÞîÞø„øÐë‡^46oLýzõIÏN'6-–œ¼¦tšÂ`·ÁÕ£•‘^-¼Øº€YÝgUª½fVÍð=ïËž°=8X87ž¤Œ¤‚¶{=[[˜6àçÓ?óÅÁ/X2x Ã[/Ï0V©ÄŒD"îD”xÜÖĶÈC>DÍsrjÆÊ• T¶ßkÆÆÆØÚÚVøz’à !Äèß–à>é”ùJ&nÈ©èSø¿í­qÅÿp>mü#ü1Ñ7ÑØc7 2€i¿O##'CÆS”IM'¸²W!D–ÆÂý ‰I‹!>=ž®‹MÆ&ûNæ^Îã·Úª§_5/­©®PŸXW¯°èð"¬Œ¬hdÞˆ„» ܺ{ €ñÏŽ—äV<‘$ÁBQg¥g§«·¦r´rdn¯¹ÅÖ Š *ñQ¸…}ÐÂÓ¢›c7ö_ÛÏ™Ø3$g&ë®ÇµÇì^³k9:!Š' ®Bˆ:«£}GÂç„—Z/xfp DóïälíÌÖñ[k; !ÊEvQB!„uŠ$¸B!„¢N‘W!„BÔ)’à !„Bˆ:E\!„BQ§H‚+„B!êIp…B!D" ®B!„¨S$ÁBñ¯ÓzikÆn[¤Ü'ć? ¤å×-qZäÄ¡ðC5SlZ,N‹œøÔïÓ»æ¿Yzv:{Âö0s×Lž]ñ,N‹œøêŸ¯j;,QGȓ̄BÔ '£NòáÞk; QFóöÍãϰ?k; QGI‚+„â_'ôýÐ"e®`åЕôs–ü‰{’™˜áåæE/§^dåeñÑÞj;$Q‡ÈO¿Bˆ:áÖÝ[ôrê%Éí¿Àgý?Sý÷•¿k1QÉ\!„å–•›…û2w¼~ö*öxrf2®K\™¸u¢Fy`L oø¾Ç7¸.q¥Ç÷=øòЗdäd¨ëääåà´È‰©Û§—Çôß§ãñN‹œÈÌÍ4×à§ENê$©Õ×­pZäD×U]i¿¢=XlŒ‰‰¸,va²ïärõ=_•ÏO§~¢Ïê>¸}åFÏz²æÔšbëF¥D•¸.·ðØç>/±ïoîx“vËÛáñ³ÿœÍ½û÷8q ïõÞ´^ÚšÎßvfùÑåä«ò‹m'6-VÝN›¥mxmÛk„%„•«ÏBüÛÈ[\!„åf¨kÈ`·Ál ÙFh|(­íZkߺƒ¼ü›ƒ7«¿IañáÅ\¼u±\í=^]¶=t;©Y©Œj;Š7w¼‰2_ ¼Ùø.à;,,yÅã•"íŒZ?Jc Þ8JPL[ÇoÅÍÖ­ÔX^Þò2‘eŽ}ßä}4³jVæúBT™ÁBQ!£ÚŽÀç¼O‘c¾ç}174§oó¾@A¸`ÿLõMùrà—œ˜v‚K\âïI3Ðu a‰aüô«F§cNÓÀ¬¾/ûraÖÂç„c¬o\äZ}û>'œ>ÍûpqÖEÂç„ã7ÙñÏŽG[K› g6hœ£T)Ùrn NõðlêYæ>Ÿ?ÏæàÍë³xðb‚Þ âä;'ù´ß§ì¿¶¿Ìí”ætÌi-ÙýÚn.̺ÀŽWvÐȬÃòÁž˜è1‘£oåüûçYñâ ´µ´Y¸¶ØvìLíØþòvBßeßä} p@fn& ö/¨²x…xÒÈ ®Bˆ q·sÇÅÚ…Ý—v3·÷\ t 8{†ëÉ×yµÃ«èjëðû…ßÉËÏãóŸ3ÐõÁ’§úN¬²‚ Ø ö_ÝÏÔÎSÕÇŒtX=b5–F–ޱ¡YCú4ïƒßU?3±1¶ –5$f$2íùiåjoß•}|ÐãF´¡.ÿìxÒ²ÓX~ty…c}˜¥‘%ßø#]#ÚØµáõç^gÁþ´oÔž{=Ø-ÂËÍ‹?.þÁáðÃdåfiÌ‚é±ú¥ÕXYÐ̪+^\Áൃ Š âö½ÛÔ¯Wÿ±±ü6ú·*é“5Ifp…BT˜·»7wsîò÷å7 Îè>¼<áÚíkÌØ5—%.8/vÆy±3Í7Çe‰ IIÄß×h»…m‹J%·…^ñx…¼ÿkïÞb¢<ó8ŽÿfÊÁQPXØGŠ ÒeUÏ”Õ5%„@uÕ¦¬MÓlCÒÒÔ¶Ò¤Mè6öª…h/ºmU@Ódƒ¥F6Ëj*°‰Z{Q¶ÂAÖC¨ÛANìaGE`†×ïçŽ÷ôüçæÍ/ÿ÷yúœ*þ±xèØWç¿RÒžNÓ³o5J’ÖÙ×¹œ[o_?±B‡‰  ·ƒ"‚"$É¥ÕB’æÎœ+Ijioq|qøâ¡p;ÈìcÖê¨Õ’îýÀh˜ÁŒÛ¶¸m*øGJ.•hÛÓÛÔÞÝ®“µ'µtîRÅ„Æ ]7øÔ`ßèýt÷vø;8 Ø-5®Œ\©Ø°Xûñ˜ö­Ù§†¶Õ4ÕèåÄ—GÌvz‚i`©_ý.ç:¼ÏÏì7¦s&“I’F|hö(ï{zp1pã¬Í‹6«¬¶L ·‚cGOLjÙ[ICçËí_jÍ‚5“^ç ¿Ayåyª¸\¡ê¦jùúøjW®1?'jv”$élýYí\¶sĹ3õg\®ü÷ÿÕÛW]ÎU5Vyü±úùæÏj½Û:b×Ùç{~ð|×x0!™ñ™*«-ÓñŸŽ«ª¡j`õ‚Å#—Kû]š « õÆßÞPî†\­µ¯UèŒPÝé¼£†[ :Y{RáÖð=¸îô\Üs*¨,ÐÿúB—[.+%&eè_þc±å©-*ª.ÒÇ•Ëßì¯gž|F½ý½*ÿw¹>;÷™Ëõ–Í5WgëϪô§Rm}j«ºz»túòi}òÏOÜñÓênÏ]åÏÑþ”ýZô›Eºößk:xæ êZë´|ÞòQûo%zp1=p²:jµ"ƒ#õõ…¯åèr(#>Ã¥tÁìúàhÿ©ýÜN7gUŽÇjô3ûiûÒíú¼êsIÒ‹Ë_×s–Ø–hDz:zñ¨Þ<ùæˆs©±©*«-s¹'+1Kù§ó•÷]žò¾»÷Û3â3TzÉu wZ¹B·•þ×ôÇ-zïïytìÑ”\*ÑÛåo8VT]¤¢ê"Iù}/T#à#3˜æüüú;»»Gï§ô“É¤ÌøÌ¡Í2—dÞ÷ºÌøL•î.UjlªÂ¬a2û˜f ÓÊÈ•:°ù€^YýŠGëüÓ²!bÃbµ"rŸŸs`ó½µé--˜½@_‹æÍSî†\ån̽ïõ»v+wC®"‚"dö1Ë>Ç®ü-ùÚ»Ê3³ÕÃù騮cJ~2YV?«-Zg_§âݶ.àï&×^tO1õ_q0%ܼyS‡cô %?ï¯çŸÐ?4*<Üéáʦ¯Š+Ú{b¯>Úú‘2â3¼]ŽGu9»÷—8¥Ä¤¨0½ÐÛåà1wã†Yk×F©¤ä?JHxðÇ•ÃY­V…‡‡{Lfp`š‹Žî‘$ýòË^®dêªo«×‡ÿP–@=»øYo—|]ÞYË€7LHH¯º®¦&‹23#ÔÜÌ’ç<¯¹Ù¬ÌÌ55YtèÐu…„ôz­.PLL·Nœh–¯o¿ÒÓ穲Òusp—ÊÊ@¥§Ï“¯o¿NœhžôUþ Êfsª¸øš’’:”•eSv¶M ||À},Êζ)+˦¤¤_“ÍæôvYlôSÑX7zMMM€òóCUWgQJJ»ÒÒJJºëµþ8ÓWG‡IçÎêÛo­ª¨˜¡èè½ûn‹;Ü6ÆD7z àÀäî€+ ,º^VfÕÑ£³tá‚¿||úµpaÂòZ'oxÓ“Ãá£7̪¯·¨¯Ï¤„„NíØqG©©íòõuoœ$à€y"à×Ò⫚šÕÖ>¡ÖV³v?ðpVk¿BBœŠíVbb‡BC=÷ ÈÓ¦²‰\>2€¡p`(\ †BÀ€¡p`(\ †BÀ€¡°“LAr:Þ.¼Âl6ËßßÜ÷p`(´(ÀP¸0. …€ C!àÀP¸0. …€ C!àÀP¸0. …€ C!àÀPÌ’J½]à.ÿ•Íý®E²QIEND®B`‚fio-3.39/examples/dedupe-global.fio000066400000000000000000000031021476262051600172530ustar00rootroot00000000000000# Writing to 2 files that share the duplicate blocks. # The dedupe working set is spread uniformly such that when # each of the jobs choose to perform a dedup operation they will # regenerate a buffer from the global space. # If you test the dedup ratio on either file by itself the result # is likely lower than if you test the ratio of the two files combined. # # Use `./t/fio-dedupe -C 1 -c 1 -b 4096` to test the total # data reduction ratio. # # # Full example of test: # $ ./fio ./examples/dedupe-global.fio # # Checking ratio on a and b individually: # $ ./t/fio-dedupe a.0.0 -C 1 -c 1 -b 4096 # # $ Extents=25600, Unique extents=16817 Duplicated extents=5735 # $ De-dupe ratio: 1:0.52 # $ De-dupe working set at least: 22.40% # $ Fio setting: dedupe_percentage=34 # $ Unique capacity 33MB # # ./t/fio-dedupe b.0.0 -C 1 -c 1 -b 4096 # $ Extents=25600, Unique extents=17009 Duplicated extents=5636 # $ De-dupe ratio: 1:0.51 # $ De-dupe working set at least: 22.02% # $ Fio setting: dedupe_percentage=34 # $ Unique capacity 34MB # # Combining files: # $ cat a.0.0 > c.0.0 # $ cat b.0.0 >> c.0.0 # # Checking data reduction ratio on combined file: # $ ./t/fio-dedupe c.0.0 -C 1 -c 1 -b 4096 # $ Extents=51200, Unique extents=25747 Duplicated extents=11028 # $ De-dupe ratio: 1:0.99 # $ De-dupe working set at least: 21.54% # $ Fio setting: dedupe_percentage=50 # $ Unique capacity 51MB # [global] ioengine=libaio iodepth=256 size=100m dedupe_mode=working_set dedupe_global=1 dedupe_percentage=50 blocksize=4k rw=write buffer_compress_percentage=50 dedupe_working_set_percentage=50 [a] [b] fio-3.39/examples/dedupe-global.png000066400000000000000000001542671476262051600173050ustar00rootroot00000000000000‰PNG  IHDRúk‰ö8-bKGDÿÿÿ ½§“ IDATxœìÝwtÔUþÿñפ÷FB©¡#M¤WYTªèWWP„(]E@‘b@ÀÁù¹( ®Xè ˆ X‚¸ R– é„äóûcd–I)„ IžsrÎÌû¹÷}?ÜÃÜyÏgîÇd†!P*ÙÙ:Pt$ú(ÅHôPŠ‘è #Ñ@)F¢€RŒD?¥‰~J1ý”b$ú`s{öì‘Éd²ú[²dI©ë£´øôÓOs‹7©­‰'æjëìÙ³÷T¼/^THHˆ7n,999Éßß_7Öc=Vìñ%D?l®K—.2 Cõë×/Õ}”C‡•arww¿ã¶–,Y¢ãÇCT·v'ñž={VÍ›7×âÅ‹uòäI-\¸PQQQ:qâ„:uê¤Ï>ûL111w!j äèPf½úê«–Dþˆ#4vìXùûûËßß_Ë–-“¯¯¯#­€»e÷îÝ–Ç<ð€Õköööº|ùrI‡;®èPf]¹rÅòØÏÏφ‘w‰~”¸üQýúõ“ŸŸŸœœœT§N-\¸ð¶ÇDEEiÒ¤I –›››\\\T¿~}…„„èÒ¥KwÔÇín(Û»wo«ò:Üö¸•+WªmÛ¶rss“»»»Ú´i£5kÖÜñxòs«ñ6hÐÀ*¾ ¨½ÄÄD½þúëjÕª•¼½½åèè¨ÀÀ@õîÝ[Ÿ~úémݺuk¾ç 55U«W¯V×®]UµjU9::ÊËËKMš4ÑĉuáÂ…BŸƒ›-_¾\&“IÉÉÉ–²Aƒåú÷2™Lrqq)Öñ%ÎJÐöíÛ GGGC’áíím|÷ÝwÆ•+WŒ &’,¡¡¡–cŽ=jT¨PÁdT©RÅ7þøã£V­Z†$£zõêÆ… î¨ãÇ[½væÌËkS¦L±”·oßÞj<9{ðÁ .gÏž5š7on)ùå—‹<ž»qN Ã0ÜÝÝ-¯mذÁR~êÔ)£Zµj†$ÃÓÓÓØµk—‘`Ì™3ÇRàÀFfff‘ÏÁÂ… IÆ’%KŒ«W¯—.]2^ýuKÝJ•*—.]*P¼·s«c6mÚd)wvv¶:¦°ãl+úP¢Æ¯ÌÌLIÒc=¦Ž;ÊÇÇGsæÌ‘££cžÇ<óÌ3Š·S¯^=ÕªUKC† ‘$?^“'O¾£>ŠËÔ©SU¥JÕ¨QC/½ô’¥|Ñ¢E /ÒxòSÜãýÛßþ¦ÿþ÷¿–öºví*oooMŸ>]>>>’¤M›6iùòåy_s I:uÒ„ äéé© *hÖ¬YªR¥Š$)&&F›7o.tìÅáNÇ”4ý(1çÎÓ‰',Ïk×®myìéé©ÀÀÀ\ÇDFFêðáÖç•+W¶<¾‘–¤Í›7+--­H}§›û»ùqvv¶¶mÛVèñH’‹‹K®ífêÔ©#©hçôv¢¢¢´oß>ËóýH’jÕªey~«-lò;’4fÌuíÚU-Z´———ìììd2™i©_”-ŒîTqŒ(i$úPbr&nsîîîîžë˜˜˜«çS¦L±$»Ço)ÏÈÈЙ3gŠÔGqrss³ûLk×®Ubb¢bcc5cÆ >|XóçÏ¿£>¼¼¼Ô¥KËó 6(%%E_~ù¥vìØQàñÍŸ?_‘‘‘:þ¼/^l) Qýúõ‹4žüe¼·óÁ¨Zµj–ööìÙ£«W¯êÍ7ßTBB‚$iàÀzþùç‹tj×®mµwÿÊ•+•’’¢÷Þ{OçÏŸ/t¼7qPÛýÜéø€g%ìСCFŸ>} ÃÑÑѨ]»¶±`Á£~ýú†$Ë_ýúõ-Çœ={Öxþùçºuë...†›››qß}÷O=õ”V,}DFFÆ 3*Uªd8::Õ«W7&L˜`Œ7ÎêIÆo¿ýf†a?~ܪü½÷Þ3Z·nm¸¸¸®®®F«V­Œüã¹â+ìxŠzNëÕ«g‰mÉ’%†aÆ'Ÿ|’k<’ŒÎ;[ÚKHH0^{í5ãþûï7<== # ÀèÕ«—±nÝ:#;;Û0 Ø0aB®v rŽ;fôìÙÓðöö6üüüŒ6mÚË—/7š4ibÕV5ò7==ÝèÝ»·áíím¼ûî»·ãäÉ“3fäùÚ‡~Xèñ÷“aØàW@qâÄ «­sΜ9£š5kÚ. ªV­ªÈÈHIÒºuëØn(ƒØº(å¶lÙ¢ªU«æÚ¶æâÅ‹ŠŠŠ’$¹¹¹©G¶À]F¢("##5vìX?^ééé:zô¨üq†!­\¹R¶À]@¢(¢‰'ZmÛ#IµjÕÒСCK4ŽÞ½{뫯¾Rrr²zõê%???µmÛVÿýï5jÔ(ýüóÏ1bD‰Æ ä°G?¥WôPŠ‘è #Ñ@)F¢€RŒD?¥‰~J1ý”b$ú(ÅHôPŠ‘è #Ñ@)F¢€RŒD?¥‰~J1ý”b$ú(ÅHôPŠ9Ø:@ÑDDDØ:ùx®è #Ñ@)F¢€RŒD?¥‰~J1ý”b$ú(ÅHôPŠ‘è s°u€{WB‚NrÒÕ«öºvÍdëp6b2òòÊVµj×Uµj¦L¼% Œ¹vͤS§œo¯”®‡€òÌÝ=[þþYªSçšœœ [‡‰~€•S§œ´aƒ§vïv×™3޶pñöÎVÇŽ©úë_“Õ¹sŠìímP4‰‰vÚ´ÉSÛ¶¹ë§Ÿ\”•Å7X€ÿ±·7Ô²eºzõJÑÀIòöζuHÀm™ Ãà«)(…"""е½sçõÆ´s§»jÔÈÔC¥èÒT¿þ5ùúfq%”cÙÙRb¢½ÎsÔ/¿¸hçN7:äªêÕ35}z¼ºwO±uˆ@¥¥™´j•¯V­ò‘¡ž=SÔ©Sª5ÊP¥JYrw'‘åYJŠbbìõûïÎúî;7mßî®ìl“FJШQWäêÊgcÜ ,òñ$ú ”*®DF†IË–ùéÿðVÍš™š2%^:¥²-à¶ÎsÔÒ¥~úòKµoŸªÙ³/©FL[‡ÜÖ¶mîš;×_W¯Úéùç¯høð«$ö·•’b§uë¼´b…¯¼¼²5sæ%õêÅE(~$ú œ*ŽD|¼½ÆŒ©¤ˆ'½øâe ~Uöö¼- îÈÍží¯¨(G-[£L³uH@.†!-^ì§•+}õè£I ‰—¿–­Ã”"—.ÙkÑ¢ úì3O}E“'_æ9+ýPNÝi¢ÿÔ)'${{Cï¿­Úµ¹ P4&MZQß|ã®Ù³/iÈ«¶ °HO7)$$P;wºiÞ¼8=òH’­C”bŸî©3Ô½{ª-º(R«(wšè·+ÆX¥Dt´ƒþïÿ*«R¥ëúì³H’ü€;âìlèí·/ê¹ç4sf€¾üÒÃÖ!’Ì÷— ÔÁƒ®Z»6Š$?àŽ=òH’Ö®ÒÁƒ® T6;ÀáA¢Ê™´4“ž¾’<=³ôþûÑòñágë€;g2I/¼pYO? ©S+ê—_\l ·ßöÓŽnZ¾¼ÀíÌ;WuêÔ±ú»pá‚­ÃJ“Ô¸q†–,aßZ”¬ÄD;­^í£q㮨bEîE¸»*TÈÒsÏ]ѪU>JL$Õ Ûaö@9±n—zöLQÍš™¶¸§Íœ9S[·nµu@©g2IÏ<“ ={Üã`ëpPŽlÚä);;CÇ_µu(€rbøð«²³3´y³§­CA9F¢ʸ8{ýò‹‹L¶u(€r¤gϹ¸dkçNnP‡’³m›»zöL‘»{¶­C”îîÙêÙ3…›ò¦Hô@9pè«ìì µkÇÞü€’ãèh¨]»4ýðƒ«­CA9‘‘aÒÏ?»¨S'Ö<€’Õ±cª~þÙE×®qS^؉~(NœpÒ}÷eÊÕÕ°u(€r¦aà …‡sC^”Œˆ']¿nR£F×l  œiÜøš®_7)"ÂÑÖ¡ œb³L(ââtÝÖa¥Ö¾}û´qãF…‡‡Ëd2©nݺzüñÇõè£Ú:4àž”¥ØX{[‡râÆ\cÝLZZš¾üòK}ñÅ:{ö¬.]º$U©RE>ø FŽ©J•*Ù:L T¨TÉüÞç à`¾pFÉãŠ~(ÒÒLrueŸZ ¨6mÚ¤wß}W[·nUÍš5uôèQM™2E ,°uhÀ=ÏÍ-[©©|ì@ÉHK3Ï5Ö=@ÁüóŸÿÔôéÓÕ³gOmÛ¶M‡Ò¨Q£tòäI­Y³FTBB‚­ÃJ77ó{OJ ëØ3ÊÃLlÙ˜1c¨*UªhÔ¨Q–òÕ«Wë?þ°adÀ½Ïd2¿%áÆ\cÝ\ëÖ­õÔSOÉÝÝ]>>>7nœ%IqqqÚ¾}»#J‡ï=¬{`+lÝêÕ«[רQÃò8;;[û÷ï×}÷Ýg‹°îÈðáÕššª~ýúéüùóJMM•‘#KyùòeE( ®èȇ‹‹‹å±³³³Õk|ø¥ÕÈ‘#õÎ;ïèøñãêÞ½»~üñG>}ZÁÁÁ–:9ÿ€{‰~€|¤§§[gddX½æççWÒáܱ³gÏêÇ´<Ÿ4i’|}}màNèÈÇùóç-Ï;gyl2™Ô¡C[„pGr^©ó¯K:À"Ñ÷Þ{O/^TTT”>øàKùÈ‘#ÙŸ”JÕ«W·ºÑ'Ÿ|¢´´4­[·NQQQ6Œ P$ún2wî\=ôÐCVeÔØ±cÕ³gOEDD¨I“&š?¾¦L™b£(½½V®\©:ÈÓÓSk×®Õˆ#”­úõë[ê-Z´H;w¶a¤€‚p°u÷’™3gjæÌ™¹Ê‡ fƒhuëjÍš5¹ÊGŒQòÁîWôPŠ‘è #Ñ@)F¢€RŒD?¥‰~J1ý”b$ú(ÅHôPŠ‘è #Ñ@)F¢€RŒD?$­^}JuêlR:›Ô¾ý7Å^à^ÀšP‘èÜ5©©YêÞ}›FúÁÖ¡‹²6žœFެ«Ó§*8Ø;×kyývõ‹CY?߀²£¬½g•µñäÄšP9Üi&“©8â€2ë±ÇÓ† l†M†¡ìló_YPÖÆS¶{y>߀ҥ¬½g•µñk@iulj~Iš8q¢ÚµkWM@™jëlÊÝÝA»w?dë0ŠMYOaØbìåù|J—²öžUÖÆS¬y¥U±$úÛµk§ÁƒGSP¦”×+ùPrŠ%Ñ@NÛ·GkìØƒ–ç¿ÿþW9;Û[ž'$\ÓŠ'´cG´¢£Óäææ æÍýôì³uõÀVm]¾œ¡åËõsg´.^L“§§£Z·ö×øñ ,{¥æìoÏž^Z°àwíÛ+{{“Z´ðÓ¬YMU½º»UÛIZ¸ðw<§ë× Õ«ç¥qãêkÍš8'I4¨†ºu ÊsÙÙ™ ÔgaæwkÖ<¬y÷nÆ ¸+zö ÒéÓÕ£GP®×ââÒ5`Àn}ùåÍšÕTGŽôÕgŸu‘««½žxb¿þõ¯s–º±±é8p¾þú‚fÏn¦Ÿî§uë:*!áš{l¯~ùåržýÍû›ž~ºŽø‹–.m­~ˆÓĉ‡­â8w.EƒíÕo¿]Ñòåmõã}ôÖ[÷ë£þЉWåäd§Ó§êÍ7ï¿åxŠÒoAÇ”Ÿðð:}z`þŠú7¯1æ%55K¯¾¦±cëéÀ‡õÉ'•˜˜©#öëÇ/YêíÝ£ «]»mÝÚCû÷÷ÖС5õÆ¿iÁ‚ß ÔgaæwkÖ<¬y÷ý€·hÑtáBªfÎlªnÝ‚äáá Zµ<ÚZ.zýõ0]º”ñgÝß™ªéÓ›¨K—Jrs³Wݺ^Zº´µ ÃÐìÙayö1xp µhá'WW{µo_Q]ºêèÑ+ºråÚMqü®«W35kVSuèPÑÒvhh+¥¥eilí·(cº—%%e*$¤‘Z¶¬ 77{5iâ«Å‹[)33[s浪۶­¿ÆŒ©'oo'ùú:éÉ'k«_¿ªZ³æ´’“¯çÛWaæ¶Äš‡5k@I!Ñ(qÛ¶EI’ºv­dUîäd§ Pzz–öí»(Éüsf;;“ºu³¾Ê) ÀEuëz騱ÅĤåê£iS?«çAA®’¤‹ÿW÷»ïÌ}têd‡ŸŸ³î»Ï£(C+P¿EÓ½ÌÙÙ^ÍšùZ•կ壘]tüx¢bcÓ%IݺéŸÿì˜ëøà`o]¿nèÔ©«ùöU˜ù€-±æaÍ“kÀÝÂý(² .¨Zµj·|=33SåoŠíÙ³G]»vµ* Õĉmpo¹v-[II™rv¶—»{îÿ#üý]$™ª|£®$5oþå-Û<{6Y•*¹Z•yzZ·íädÞëÔ0þGJÊu9;ÛËÍ-÷Þ«ÞÞŽT!û-ê˜r*©ýj ÂÇÇQ&Sîò œ›®øø U¬è¢¤¤L}ðÁimÛ¥˜˜4]½šiU?¿« 3°%Ö<¬yXóJRùË¢ØT­ZU†aèÓO?Õ°aÃ,åûöíS‡l™muéÒE†a¨Aƒ ·u8À=ÇÉÉNžžŽJJÊTJÊõ\\.]2X p‘““¼¼•’r]ÿùOÙÛçñ©êâpwwPJÊu¥¦fåúàw~]œc PŒ‘Ý™äsºq+Tp–$=ûìA>|I³f5U¿~Uåëë,“IúðÃÓš7ï7Æí?Äfþ`K¬yXó°æ”$¶î”¸^½*K’v*¿v-[ÄÉÅÅ^;J’z¨Š²² ýôS|®vV®<©Ž¿-ð^9uîlîãÆÏÙoˆ‹K×™3ÉEj³ îæ˜l%55KÇ'Z•…‡_Ullº‚ƒ½U±¢‹eÌ.ú¿ÿ«-??gËqÙî«0ó[bÍÚ‡5 ¤è”¸†ªZÕMsçÕ®]ÑJI¹®3g’õ⋇—®Y³šÊßßÙR·zuwM™ò“ö¤¤L%$\Ó'ŸœÑòåáš6­I‘¯ i$'Í™¦ýûc•šš¥“'¯jÊ”ŸïêÕQwsL¶âêj¯Ù³ÃvEiiYúí·+š<ùˆí4kVSI’½½ImÛú+..]«VÒ•+×”žž¥ƒã´nÝ™÷U˜ù€-±æaÍÚPRLF~¿˯“Iëׯ×àÁƒ‹+&”2lÝ“·›·îaþòkРA’¤ 6{Û®;~¼ùJŸeËJîf]Û·GkìØƒVeýûWÓâÅ­$I ×´bE¸¶o7ï[êêê æÍ}õì³õÔ®]€Õq ×ôî»æºÑÑiòòrRÆÞ5ª®Ú·¯(Iúõ×+zì±=VÇ=÷\}MšÔPuêl²*ïÚµ’V­j'I:s&Y Ó?Ä)+K öÒK/5Ö’%ÿÑÑ£ úí·~·ÏOÔ.R¿SI[½ú”æÏ?fUöÜsõÕ¤‰ožcö¶Ô tÑßÿþ€,ø]G^Vv¶Ô´©¯&On¨–-+XŽ»råšÞ~û?Ú³'FqqéòñqRçΕà¢÷Þ3ÿŸÙ¸±ž¾A±Í¶õõ×zá…@>]ð÷- ¨l1ßXó°æaÍà†:ujëw.êá‡ïÞ¯¥Pvyxx(0°è¿Ô"Ñ;V”DTT”-Z¤o¾ùFçÎSvv¶jÔ¨¡~ýúiêÔ©ò÷÷·ªÿã?jΜ9úþûœ¬êÕ«kôèÑúàƒ¬öÁ¯_¿¾Nœ8Q¨>rÆ/Io¿ý¶~ùåmß¾]ñññª\¹²¬Ù³gËÕÕúFQ‰DùUžý¥]¯^;”žž¥ï¾{ÈÖ¡@©F¢%‰ùVx¬y øèǸÓD?[÷ ÄýöÛojÚ´©BCC•””¤_ýUÇWff¦/^¬–-[*22ÒRÇŽêСƒ¶lÙ¢ììlíܹSGŽQdd¤U’?44Ô’ä/LC‡•arww·´µxñbM˜0AáááêÕ«—Î;§… jÖ¬YVc)hlîMqqéjÙò+]¿ný÷… ):w.™«¤@™Àš€²D?JÜ3Ï<£øxó͘{ì1Õ«WOµjÕÒ!C$IçÏŸ×äÉ“-õǯÌÌLKýŽ;ÊÇÇGsæÌ‘££c±ô‘ÓÈ‘#Õ²eKyyyYŽ‘¤Í›7[Õ+Jlî-‰‰×4sæ/ŠŽNSZÚu……]Ö„ Gäéé¨qãØ:<€bÁš€²D?JTdd¤>ly^¹reËã*UªXoÞ¼Yiii:wîœå*}Iª]»¶å±§§gž?g)ly©S§ŽU?7·}CQbpo pÑÚµtõj¦† Û§ûïÿJ£GTÍšîúüó.ªVÍÍÖ!Ü1Ö<”}¶åKLLŒÕó)S¦hÊ”)¹êeddèÌ™3¹ñ...VÏoÞn§¨}4lØ0×k9û¹áæ[Z\ºt©Ð±¸÷<ø`€|Ÿ«€²5eWô£DU¬XÑêùœ9sdFž 6ÌuSÞœ‰ÿ”””;Š7ý(›7o–ªU«¦æÍ›[Ê;–«n×®]Õ©S'IR5ly-""Âò8))I/^Ìu|aû(ª¢ÄÅD?JܪU«äåå%Iúì³Ï´víZ%«iòÄ IDAT&&*66V3fÌÐáÇ5þ|KýeË–Ynl»qãFíÛ·O zå•W,7½Ó>Šª(±@q"Ñ"»pá‚L&“† fUÞ±cG™L&«¿Z^oÕª•Ž=ªçŸ^µjÕÒèÑ£U¹reµk×NQQQ:pà€|ðAKýîÝ»kÿþýêÓ§ìììÔ½{wµjÕJ•+WV½zõ,õL&S‘úøôÓOe2™¬¶Ú4hBBB4sæL«Ø322d2™´fÍš|c«_¿¾å¸_|Q 4¸Ã3¹q3^YÕªU­nN[5jÔÐòåË \¿M›6Ú²eK®ò¥K—ZçÜ›¿ } :TC‡½åësçÎ-Rl/½ôR¾}ÀâŠ~Üó¶lÙ’ç— /^TTT”$ÉÍÍM=zô°Ex`S$úQ*DFFjìØ±:þ¼ÒÓÓuôèQ=þøã2 CZ¹r¥l&”8ý¸çõîÝ[_}õ•’““Õ«W/ùùù©mÛ¶úïÿ«Q£FéçŸÖˆ#l&€VZ­:óë¨Îü:j¿¼}±×/ÉØ·g7>«:óëhÅVåœ_@yš§ìcÍ( Hôãžçàà ‡~Xü±Nœ8¡ÔÔT¥¥¥)<<\ï¿ÿ¾š4ibëäadÛ‘:=õ´‚ƒïJý;q·úJÍLU÷•Ý5jã¨bm÷^´éØ&í:½+Ï×Jòß[cÍS¶±æ”$ú(&†a(ÛÈVvv¶­C¹«b“c5wÇ\ h<ÀÖ¡`ÍÀ½ÇÁÖPV¸;¹k÷˜Ý¶ã®›þÍtý¥Á_ÔºZkm>¶ÙÖá€Æš€{Wô€Û¶A§.Ò´nÓl À]ÚPÚpE? DDÄGèÍ]oêÈ…#ºžu]Í*7Ó¤N“Ô²jËŸ– VhÇ©о-7'75¯Ü\϶}VÔxà–uc’bäçê§ÚþµÕ¿Qõ î#—<ûøâ÷/4ùËÉVe?ŒûAÞ®Þz÷À»úúÄ׊JŒ’³ƒ³ZVm©!͇¨Ë}]dog¯í'·kìçc-Çýò»œœ%I-B[()#)Ï>M&“ö=·O•<+I’.§^Öòï—kç麘tQžÎžj]­µÆw¯àŠÛÿµþ‚úÊÊÎ*P]w°@uc’bôæî7µbà ¹;¹蘛Ýêüxº-îU¬yX󰿨‰~À]—š™ªW·½ª;¾¨àÀ`E\ŠÐ´o¦iÄ'#ôÑÐÔ¦Z›Û—§AÿoÒ¯§ë¿¼¡6ÕÚ(.%N‹ö.ÒŸ>¡y½çip³ÁVu3²24¯÷<µ­ÞVi™iZ¶^S¾š¢«éWõtë§óì§op_ýó»N^:©¥ý—ÊÛÅ[’ùgÛßœøFË,S«j­”œ‘¬Õ?®Öè£õÏáÿTÛêmÕ³^OžzZc>£§väjûèä£rst³<_þýr-Ù·D“;M¶|àMŽ5Ç~=Cóž¯6ÕÛ(21R¯n}U­}LûX-ª´È÷|‡¿žo¢˜öõ4õ î§v5Úéø[_Ê Ö<¬y$Ö<Û`ëÀ]—”‘¤Î!jYµ¥ÜÝÔ$¨‰÷[¬Ì¬LÍÙ1'ßãí]¤ ‰4³ÇLu«ÓMΪåWK¡ U€{€^ßþº.¥\²ª;«Ç,u«ÓMîNîòw÷×ó>¯N÷uºeWÓ¯j䆑Ê6²õÁ ¬>8{@uýëªC­rqp‘¿»¿¦vªZ~µŠt>¾>ñµ–î_ªG›<ª1íÆX321RÓ»MW—Ú]äæè¦ºþuµ´ÿR†¡ÙÛg©¿â°>l½Î^9«©Ý¦éøÛ_Ê Ö<ÖXó°æ”ý€»ÎÙÁYÍ‚šY•Õ¨¯ŠuüâqÅ&ÇÞöøm'·I’ºÖîjUîdï¤k>¨ôëéÚwfŸUÝÎ÷uÎÕÎ?ÿ#Ï+ÛþˆÿC®}Tv&;Íì1SövöV¯w®ÝY?Gþ¬ßÌЯQ¿Z~"¾ýÙíj[½ímc—¤_^üÅre[Xt˜^Úò’ZWm­¹½çZÕÛ~r»ìLvêV§›Uy€G€êú×Õ±˜cŠIŠÉ·¿âu5JówÍ×[}Þ’«£k¡ÏïüPV°æaÍÚ`+ŲuÏØ±c5yòäü+%,>>^rvv¶u((§âããU·n][‡as>.>2™L¹Ê+¸UPlr¬âSâUÑ£bžÇ^˺¦¤Œ$9;8ç¹Gª¿»¿$óÏ×ó«›—«W5öó±ªäYI{ÿØ«/~ÿBýõ·ªóZÏ×Ô¢r }~ìs=ñÉ’¤VU[iX‹aêU¯Wú‘ÌGo­ Ï ½ûÈ»r´wÌ5NIjÚü–mœ½|Öò³÷[)îýjwÞ¥¤Œ$ ÿçð<_ý.T¡ß…J’vŽÞ©¾5,¯äüPV°æ1cÍÚPòØ£eZZZšìííIô6v«›²Å§ÆK’*¸W¸å±NöNòtöTRF’R®¥äú0{ãçëùÖÍ‹½½Ö[+OgO Z;HÓ¿™®Z~µÔ4¨©¥ŽÉdÒ€Æ4 ñ]Ͼ®ƒçjõ«õÜçÏiz÷éú[ë¿åÛOʵÚ0J׳¯kÕ UòqõÉ5N//¥d¤è?/ÿGö¦¢_VÜûÕŽ¸„FÜ?"WùͽØéE=ÿàóy[ó @YÁš‡5k€­K¢ÿïÿ»\MÅÊd2iäÈ‘ µu((§ dëî ©™©:~ñ¸‚ƒ-eáqáŠMŽUp`ð-¯l»¡W½^úì·Ï´;b·ú÷µ”_˺¦gÈÅÁEku´ª»'bú÷±j§ß?úéhF÷–2wGwzJ’V>¶R× Ô˜ÏÆhóS›-qµm¡OnTí µå`ç µ:¨UµVj²¸‰vŸÞï‡Þ¬ì,Møb‚"â#ôÑЬö¹·iœú7ꯞõzê¡úiCØýtá§\7ë[yp¥>þùcí»çŽ>—´‚œ_Ê Ö<¬y$Ö<Û`~À]çêèªÙÛg+,:Li™iú-ú7Mþr²í5«Ç¬|颪ÞU5wÇ\í:½K)×Rtæò½øï—§Y=gY~Î~£î¼ó´ûôn¥\KQLRŒ^ÝöªâRâòܯö†ªÞUµâ‘ºœzYÏ}þœ®e]³¼6ëÛY:{Bײ®)>5^ï|_†a¨]vùÆ?oç<í‰Ø£y™wÛýmC:‡¨ºOuMùjŠöþ±WIIJHKÐ'¿|¢åß/×´nÓJÕÞœnw~( Xó°æ‘XólÃd†qG ˜LZ¿~=Wôãžd2™4qâD®è‡Íܸ¢Æ ÅÞvDDDëŽo¾ºhÙ²‹ÅÇ­¬>´ZówÏ—$zêïþ] ö,ÐѨ£Ê6²Õ4¨©&wž¬–U[æªÃs>§I&I’Ò´âÀ m?¹]1I1rutUóÊÍõìÏæúà™³®Ÿ›ŸÚTk£‰&ª¦oMm9¾E¿˜huÌŒî3Ô¢J =¶ö1«òþúkd›‘Z÷ë:ýxþGE]’³ƒ³júÖÔàfƒ5¨é ™L&m?¹]c?›ëا[?­kÜö\ýý‘¿«g½ž–Øß=ð®¶ŸÚ®è«ÑòrñRÃÀ†Õv”Ú×l_S×ÍÚ:KŸüòI®ò޵:êÃ!úü.î·ø®Æ À¶¾þÚC/¼¨Ó§ þ¾•-ækÖ<7cÍ”ouêÔÖ;ï\ÔÃ'Û:”B ,òñ$úQ¦‘臭•çD?‰~”,æÀ–HôãNÜi¢Ÿ­{(ÅHôPŠ‘è #Ñ_†-Z´H&“I&“IU«Vµu8@þ-’L&ós(ý÷°ÌÌL5mÚT:t(Òñ!!!2 CÍš5+æÈ€[ÈÌ”š6•Š8g"†Äœ ŒDÿ=.;;[ÙÙÙ¶(¸ìló€á`ëpkŽŽŽ:v옭à ÎÑQbÎ%Š+ú(ÅÊ]¢óæÍ–ÔšL&={VC† ‘*T¨ ¾}û*""ÂRîܹ–º7ï•ÿí·ßZÊýýýoÙþ¹sç4dÈyzzªB… zâ‰'tåÊ={Výúõ“§§§‚‚‚4jÔ(%%%YÚÙ²e‹U;éééVãˆ×¤I“T»vm999É××WùË_´{÷î[ŽýĉêÓ§¼½½åææ¦®]»êûï¿·ª“‘‘¡W^yE 4›››üüüÔ¯_?ýûßÿVVVV‘Ï{¹Õ¡Ãÿn.k2I#F˜Ë{ô°.OH¸u›7[×={V2Dòñ‘*Túö•nš³š;÷uoÞ+ÿÛoÿW~ÓœÍÕþ¹sæö==Íí?ñ„t効ß~ýÌåAAÒ¨QÒMsV[¶X·“cÎ*>^š4Iª][rr’|}¥¿üEºÍœÕ‰RŸ>’··äæ&uí*嘳ÊÈ^yEjÐÀ\ÇÏÏç¿ÿ-1gP”»Dÿ€d†ú÷ï/Iš8q¢&Nœ¨ÈÈH­_¿^»víÒ°aÃ,õgΜ)Ã0äîînÕNïÞ½e†Z¶lyÛö'Mš¤—_~Y111Z²d‰>þøc=þøãš8q¢æÌ™£èèh½öÚkZ½zµ^}õUK;}ûöµjçf111jݺµÖ­[§¥K—êÒ¥K:tèÜÜÜÔ½{w­^½:×1ÉÉÉzî¹ç4}útEFFê»ï¾ÓåË—Õ­[7íÝ»×Roܸqzçw´lÙ2ÅÇÇëøñãjРú÷ï¯}ûö጗sû÷K¿þ*¹»›o0»r¥¹ü«¯¤¶m¥O>1ß|ÖÇçÖm `®sc.Lœhþ‹Œ”Ö¯—ví’nš³š9Ó\?ÇœUïÞæòs6Wû“&I/¿,ÅÄHK–H,=þ¸¹Ï9s¤èhéµ×¤Õ«¥›æ¬úöµnçf11RëÖÒºuÒÒ¥Ò¥KÒ¡CæÄ|÷îæ¶rJN–ž{Nš>Ý<Öモ._–ºu“nš³7NzçiÙ2ó— Ç›“þýûKÌY”å.ÑŸÓÈ‘#Õ®];¹»»«GêÓ§>¬K—.KûÏ<óŒZ¶l)www=ñÄjÔ¨‘¾ùæMš4IÍ›7—‡‡‡F­Zµjé믿.P›Ó¦MÓ™3g´dÉõíÛW^^^ªW¯žÖ­[§   ½ð ºxñ¢Õ1‰‰‰zã7Ô¾}{yxx¨U«VúøãuíÚ5M˜0ÁRoçÎjÔ¨‘zöì)WWWjáÂ…ªW¯^±œr©Y3éÃ¥°0éÉ'ÍÉðÑ£Í î¡C ßÞÈ‘R»væD~æ+Þ6'Ï‹Ã3Ϙ¿ pw7_Íߨ‘ôÍ7æ/š7—<<Ìñת%pÎjÚ4éÌó}ûJ^^R½zæÄPô RŽ9«ÄDé7¤öíÍ}¶jeþÒáÚ5é¦9«;Í1öì)¹ºJÒÂ…æö€r Ü'ú[·nmõ¼Zµj’¤¨¨¨bi¿U«VVÏ+W®œgy•*U Üç¦M›$I}úô±*wvvV÷îÝ•––¦­[·Z½æâ⢶mÛZ•5iÒD•+WVXX˜¢££%™©pàÀ=ûì³:xð e»žððpuéÒ¥@ñ!ƒI3fHŸnÞN'>Þ|u|Q䘳úsΪ˜æ¬rÌMý9gs•W©Rð>ÿœ³Ê1gåìlþÂ#-MÊ1gåâbþÕÃÍš41Çfþedþ¥ÂÒ³ÏJþo»žðp‰9 €rÀÁÖØš···Õs'''IRvvv±´ïååeõÜÎÎNööörss³*···/PŸJLL”‹‹‹<==s½(ɼ½ÏÍ*T¨ “É”«~ÅŠ¥ØØXiÅŠj×®>úè#uïÞ]’Ô±cG=ZÌ7>ÜÆœ9ÒŽæ¤ôGIvEüž-ǜ՟sVÅ4g•cÎÊÎN²·7o³s3{û‚õ™‘a¾:ßÅż¿NÎY嘳ªPÁ¼×N+š¿`ˆ5ÿ`Å ó/>úÈü¥$uìhþÕsÖ¦VZ­ù»çK’=õý¸ïó9¢è¾ ÿV+¾_¡3—Ï(ýºùþ_?óµ|]}5÷|ýpîÅ&ÇJ’ú7ê¯ÅýßµX”nC>¢Ÿ.ü”çkOµzJ3{ÌÌU~<ö¸ï]¬Ÿ.ü¤¬ì,5¯Ò\:LP˪-óh@YÚ@iÄš({Êýýegg§k×®å*O¸ÝMTïgggy{{+==Ýêæ½7ÜØ²§R¥JV剉‰y¶k^V¬XQ’d2™ôÄOhÇŽJHHÐæÍ›e†yä½ýöÛÅ9”ògÏs»IóÞóaaw·?;;ó679•𜕳³ùˉôtë›÷ÞpcËžsV·˜³úsÎêÏ9+“ɼÅÐŽæ±mÞlÞé‘G$æ¬Ml;R§§žVp`ð]íç—È_4~óxu¨ÕA?NøQ»ÆìR%Oó|zñËuðÜA}8äC…M Ó¨¶£îj,ÊŸ°è0 Z;HîNîÚ:j«ö>·WÕ¼«iø?‡kÿ™ý¶@ `Í <`ÍÜûÊýý¤ÈÈH«²˜˜?>×UûwÛÀµfÍ}õÕWzÓïÚ¹s§\]]õÐCY“œœ¬°°05kÖÌRöÛo¿)**JÍš5SPP$ÉÇÇGTƒ äè訞={ªC‡rww×W_}¥I“&•Ì Ëš3gÌ{ßoÙb¾2¾ukóÍb–îNŸAAæ›ØÞ,&F:>÷UûwÛÀÒš5æ›ß|_‚Œ óû®®RŽ9«ädó—!7ÍYýö›ùjþfÍÌã“Ì72>xÐ|^GGó^ý:˜ï1ðÕWæ{  LûêøW2 COµ~JnŽnªîS]ûŸß¯+iWtðÜA¸„êÔ—$½Üåe2l1poh²¸‰6ÔúëmÊ=gÓÿmR“ &ùÖË6²5õ«©òrñÒ[}Þ’‹ƒ‹$éõ‡^×á ‡5í›iÚ9z§œìîvÈÊÖ<@Ѱæ¹5Ö<@ÙÂýÔ«W/EEEiùòåJNNVDD„&L˜`¹¾$½ù曪U«–&Nœ¨-[¶())I'OžÔðáí¥K—Z¶ð¹ÁÝÝ]ãÆÓ¡C‡”’’¢#GŽhĈrrrÒÒ¥K­êŽ3FGUFF†bccµ`Á†¡nݺ•ä0ËŽädiÀóh6”jÖ”6n4'¬{LÊ̼;ýöêeîcùrs æ›ØÚ`ÎêÍ7Í7ï8ÑüeGR’tò¤4|¸y¯ý¥Kÿ·…Ï îîÒ¸qÒ¡CRJŠtäˆ4b„y«¢sVcÆHGš¿8ˆ•,0_ÕÏœ-¢“Ì÷kðqñ±.¿j.÷uóµ”™L&Ù™xëP<ÿ÷°N]:¥Þõ{[>ðJ’½½ú÷UôÕhí:½Ë†(KXó°Ö<@éPîÞù<(“ɤ/¾øB’äêꪙ3ÍûŽ™L&½õÖ[’¤-Z¨oß¾–ãæÎ«‘#Gê7ÞPÅŠõÔSO饗^R¥J•/“ɤ©S§Þ²ý#GŽÈd2iëÖ­ÊÊÊ’ÉdÒüùóµÿ~™L&íÝ»W)))2™Lzíµ×n;†J•*éðáÃ6l˜^xáU¨PAmÚ´QJJŠvìØ¡Q£Ì?Ó\´h‘L&“ÂÂÂäã㣷ß~[Ó¦MS¥J•Ô©S'ùúúj×®]êܹ³¥í½{÷ªAƒ:t¨üüü¬o¿ýV«V­ÒôéÓ‹íß¡Ü7μ/ýÑ£æ+ø“.]2ß$63Súî;sâzîÜ[·qð y{š?ç”\]¥?ç¬L&éÏ9«-¤›æ¬æÎ•FŽ”ÞxÜÜê)饗Ì[äÄÇ›:õÖí9b.ߺÕ|ƒ[“Iš?_Ú¿ßüxï^sÞd’ò™³ªTÉüë…aä^0ï¿ß¦ùø;¤?ç¬-2·f¾Rÿí·¥iÓÌÇwê$ùúJ»vI7ÍYíÝk¾šèPÉÏO –¾ýVZµJbΖ YÙY·-7){=@1øáÜ’”ç•pM*5±ªwŠ5[aÍ”ånëžx@†‘÷OoU.™oÚ»jÕª\åGŽ)p;Eé7++Kvvvrp°þ§ªP¡‚BCCzËcCBBbU¶k×í¿amÖ¬™Þ{ï½ÛÖA!,_nþËé6ÿæ¹<ðÀ­ëß®oos²;§<æl¡Û¿]¿YYæû䘳ªPA 5ÿÝJHˆùïfùÌY5k&1gK…ˆø½¹ëM¹pD׳®«YåfšÔi’åÆM+¬PèwæùѲjKËOk¿ûã;ýí_“$ù¸úèÈóÞ~r»Æ~>ÖÒ~£Eòì÷ýïèýïH’þ9üŸj[½­.§^Öòï—kç麘tQžÎžj]­µÆw¯àŠÁy¶¿mÔ6…î Õç~PBšù^‡'–¯«oîNó– VhÇ©ŠIŠ‘Ÿ«Ÿjû×VÿFýÕ'¸åʘ›ëE_–›“›šWn®gÛ>«jD]îë"{;ûBÕËOaÇ|CqÏ™‚·¢ô»gì-ؽ@ûÎ쓽½ZTi¡Y=f©ºOõ\çà§ ?©Îü:’ÌWd…¿.IÊ2²ôí‰oõ¯°)<.\IIªá[Cƒ› Ö“-ŸÌu•hD|„îY¨ƒçêzÖuÕ ¨§qíÇiÍ‘5:pö€$iPÓAzóá7 <®üÔ_Pÿ–I¯œüÝýupüÁÕ•¤Í¿oÖôo§ëìå³²·³Wƒ€Þb¸þÚ诹Æ-ɲGöÍ*y™ËÎ\>Sà~” ¬yXó°æaÍÚ€-˜ŒÛe™ Ҁɤõë×kðàÁÅS¹Ö¸qcmÙ²E5kÖ”$ÝÿýºråŠÎœá?Ì¢0™Lš8qâm¿ÁjÜØ¼ÏŸsV÷ß/]¹b¾/4hÐ IÒ† Š½íˆˆˆ×?Þ¼5Ò²e‹=Žüôû°Ÿ.$\P£JôbǬˆKšöÍ4EÄG裡©Mµ6–ú·ÚCsÀšºxÁò¡÷†1ŸÑŽS;ô{Èïr²w’!C†aèØÅczô£G5®ý8ï0^’d';Å¥ÄiÐÿ¤Œëšÿð|µ©ÞF‘‰‘zuë« ‹ÓÇÃ>V‹*-rµß¦ZMè8AMƒšê䥓üÿëàøƒúЗügŸYš×{žÚVo«´Ì4­[¯ÐïB5£û =ÝúiK½ôëézã/o¨Mµ6ŠK‰Ó¢½‹´íä6Íë=Oƒ›ýïýöFlÕHcÛUí µµ5|«B¶„¨ó}åhï¨ '¨†o }qì ÍÚ:KO·~Z3ºÏÈõotöòY5¨Ø@Ó»MWƒŠ túÒé[þåwN2³2 |ާ3]ßœøFË,S«j­”œ‘¬Õ?®ÖêC«-IŠÂÔ+¨ÂŒ969¶XçÌõ¬ëšEí·GÝýÀh5¨Ø@?Gþ¬ÑG«^@=}þŸ[ƒÛíW»ëô.=»ñY…tѰÔmdëËÿ|©¹;æêomþ¦©]§Zêž»rN?(WW½Õç-Ý_õ~E&Fj:{\ÉÉúÏKÿ±Ô/ì¸JÚ‡¨šO5=ÝúiÝçwŸ¢¯FëÝÞÕæc›õdË'õJÏW,uŸZÿ”öŸÙ¯Ïþï35 jfÕι+çÔ}ew5 l¤/žþ¢¤‡qOùúk½ðB NŸ.øûPT¶œo¬yXó°æaÍÚ§|¯y$©NÚzç‹zøád[‡‚RÈÃÃ#×vì…Qî¶î) .\¨äädýûßÿÖ¯¿þª1cÆØ:$àö.4ßàßÿ–~ýÕ¼g>p“¤Œ$…tQ˪-åæè¦&AM´¸ßbefejÎŽ9ÅÖÏýhííìe÷ç[œÉNö&{Ù›ìe2™´hï"E&Fjz·éêR»‹ÜÝT׿®–ö_*Ã04{ûì<ÛÝn´ÚVo+WGW5 j¦ð—à |eÛ¢½‹t!ñ‚fõ˜¥nuºÉÝÉ]þîþzþÁçÕé¾N¹êÍì1SÝêt“‡³‡jùÕRè_Cà ×·¿®K)—rµ?¨é 5®ÔX®Ž®Ðx€êú×ÕÞ?öê™6Ï(¸b°ÜÝ4¬Å0Uõ®ª½ìÍ3Æ´Ì4½þÐëjQ¥…\] ôot«sR˜s|àìÕõ¯«µ:ÈÅÁEþîþšÚuªjùղꫠõ £ c.î9S˜ùP”~7lSûšíÕ¥v>ª+iW u~ÚVo«1íÆÈÛÅ[¾®¾z²å“ê×°ŸÖ^£äŒÿ}pY´w‘®¦_Õ¬ž³Ô¡VKœ¡ UZfZ®v‹:®’²~Äz-ê»HÉÕÑU÷U¸O‹ú.R³ÊÍ´ö§µ ‹+P;7n‚i2±•Pž°æaÍÚ‡5ÏŽ«¤°æÊý÷˜>ø@ÿŸ½;‹ªú8þv†aQd34Ôp…\Ü#  IDATQHS*Z°lûþ*Í%wñëþu_s£Ô2-ËL3Í´Ì4qACM2—ÜEE@PÙ˜ßÄä0(Ãèçõ<óôÌsÏýœsù¹Ç{Ï=}ú4nnnŒ=šÙ³gë,¿#D•òÅpú4¸¹ÁèÑ…ï1+б4³Ô¹ó£‰SœUΜ½q–ÄôćË® »0Q˜ÐÝCûeÍN*'ÕjÄ©„S$¤%èìW<þ²øíÂoø6ðÕùíË>_ònÛwµÊukØM«Œ…©ëu$;/›—èÔQ|­LÛÂ;š»6×ÚîjëÊ´’Ÿê°6·Öy|¸´st¿>)Kû6ôå¯ë1ñ׉;®y,y×»´îXÓ·\YèÛæŠ3úŽCÛÒ­¥Öw7;7€ûžû’t÷èηo|«³ÝÓÙ“¼‚<.Þ¼¨Ù¶ÿÒ~­ v€šÊš4¨Ù@§CÛel=›ô`÷ÅÝšm¶–¶dæfê”/ºà·³²{Ñ !ª Éy$çÉyŠHÎ#9âázìÖè¯êÚ·oϾ}ûŒ†úkßdÌŠR8X9”x‡‡£Ò‘ÄôDneÜÂYå\éqäæç’–“€×b¯û–‹IŽÑYÒÚܺ\Ç´4³Ô¬kH¹Z6µ€ÂGâ‹SY¨´¾+P`jbª³‰Â„uA‰Ç·³,91Ð9*©OÊÚÇS¦â]ۛͧ6óöú·hãÞ†¾Þ}y¶ñ³šòú–+ }Úì`íP¡c¦¬ãÁã]ˆ±0µþ½ÛJi9i|qä ~»ð i Üɾ£õ{Ñ]n~.¹XšY¢4WêÔcom¯õ½<í*®2׫-IÑø¿•qK³­¡cC€/Òîn+ϘBˆêGrÉyŠ“œGrÉy„‹Lô !„¨tEInq·2 “GGGÍ6… wóïê”-žtÂÂÔ;+;2r28óß3˜*ô{™YyikiKZN¹÷½Ð)­\ÑãëN*§J‰3%;µZ­39QÒ9z²ö±B¡ ¨yA̓È+Èãð•ì:²ŠÁ›3Áoïµ}¯Lå*ºÍ=fÊ2*{¬*¸ÿãÕlú€Èk‘LöŸÌóMŸ§†u  «#W3k÷,Í´…©66däfy7SçÂ÷Þ ÄŠnWÑKô–¢»ïý³Ð¡n–F,åTÂ)^jþ’VùS §ðyÒçáY¥•<á&Ä£FrÉyîGrÉy %9Oõ£¾Ï?4 QÙdé!„•.ón&goœÕÚv>é<‰é‰xºxjÝ5å¬rÖ¹S$)=‰¸;qK&=ÈWçs4ö¨Îo+¯à™åϯÖïŽ}Ý}µ/zŸÎoÏù<³vÏÒ*·7z¯V™Üü\ÆÄÊÌŠgê?S¡±ÉÉËádüI­m÷;G¥)K{/ö&úVá ÍLÌè\¿3Ÿ½ò …‚½Qÿöƒ¾åÊBß6Wô˜Ñw?ü9jµZç® }ËUt›+zÌ”e}**&!*ŒB¡`Ĉ,^¼ØØ¡ˆÇTpp07n¬ðº£££õ.;thá‹Ê>ùDÿS•ת?V1wï\\T.|úʧÌß7Ÿ“q')PÐÒ­%£}GÓÚ½µÖ~i9iÌÙ3‡}Ñû¸“}‡æ®Í™è7‘É;'k Ða^µ½´yÎq7½³‰ñÛÇs)ùùù( L&ø7ògÙKËHÉJaùÁå캸‹ø;ñØYÙÑÔ¥)ýÛ÷§S½N;Ϋk^Õ©?j\”Aý‘’•²ƒËØua i ÔTÖ¤]vŒè2‚z5êÝ·œµ¹5^µ½ø Ãš‹»’bÜq0xékíGiC|ChS§ ¯¯}]kû°ÎÃÖyϯ~žäŒdÖô]Ã̰™üuý/ò òuÎQYúDŸ>8{ã,뎯ãÈÕ#Ä݉ÃÒÌ’z5êѧU‚[kîªÒ·œ¾ômsYÚSÖþÑw<rÜÁ3ªË(<æzhmïæÑ•¯®àÒ­KLÜ1‘S §p°v` Ï@Þô~€ÛY·Y´û¢÷‘”ž„ƒµ¾ |qR9ñÙ¡Ï€Ânù¿-\N¾Ìü}ó9tåùùx:{2¦ë–XÂÉø“ü=úï2÷§1äæç²'j?þ‰s‰çHHKÀÒÌ’¦.MyÝëužoú|‰û¹q†…á 9zý(´ªÝŠÏŒÐG«íÛU æÂÑ£±`Á¾ûî;zöìÉŒ3ppp0vxâS4Þ¢¢ôÏ“ÊKrm’óHÎS¼>Éy$çyœxx4$44Ì̯˜7o|ôÑGx{{;4Q ¨T*\\\ Þ_&úÅ#M&ú…±=Îý¢ú(ºŒaìPšÇ±ÍÆðìÊgɾ›ÍþÁûK/,YÅ'^#""7nyyy,X°€NŒ7Ñ!=ƘèÕÇãø÷ÿãØfcœGñðhÈÇß W¯t7n 4ˆ¡C‡bjj¼§8DÕWÞ‰þ yï×_Í¡C‡*¢*!*\XX#GŽ4vâ1uâÄ ÜÝ݆BTš¤ô$z®êÉÃþÀÌäßÔ265–+ÉWjdÄèDUÔ©S'~ùåþ÷¿ÿñÞ{ï1dÈ>üðCLLdUQ!„U—ä<¢¬œùâ‹/X·n³gÏæèÑ£,^¼˜Zµ*gi2!*d¢ûöílß¾½"ª¢Â:uŠS§N; ñ“5ù„ºÔìT&í˜ÄðÎÃq°vàBÒ¦‡MÇÖÊ–!†;ýôSN:ŬY³ŒŽB!D¥™6m7fàÀ¤¥¥;QMÉD%KOO§Q£F;” ó(¶éq’ž“N£‰üäÑ9b›„BMš4aîܹ|óÍ7„……;!„BˆJannβeËHOOgêÔ©ÆGTS2Ñ_ÉÔj5;”2Q©TtîܹÄߪk›D!µZMºú?Õç=`LVÃ6 !„¢t½zõ"88˜ñãÇ“˜˜hìp„B!*…““}ô?ýô?ÿü³±ÃÕ™±xÔÙÚÚ>rëk=ŠmzœØZÙ=ûÑ:b›eÛÎncÄÖX˜ZpfÌ™jQwU¶êUÌÝ;• C"ŒR‡1ê.}Ñû˜6“k©×8ÿßóÆGñ“&MâðáÃL›6eË–;!ô"9OÅ“œÇ0’óQ}tîÜ™7ß|“iӦѩS'jÖ¬iìD5"wô !„x¨=‰EÇz«UÝUY¿öýˆ…§‹§Që0F݆¸šr•6}À‚ðÜ̼iìp„z°±±aÆŒìܹ“ððpc‡#„^$ç©x’ó”äúÈØ¡ˆj¦ÊLôŸ;wŽ   ìííQ*•´k׎mÛ¶áïïB¡@¡PЯ_?Mù¤¤$† F½zõ°°°ÀÉɉ—_~™ãÇkÊlÙ²E³¯B¡ &&†×^{  ,ñÎtCê>þ<}úôÁÑÑQ³mÕªUZe²³³µŽsëÖ-FEÆ ±´´ÄÝݾúê+²²²Jí³{÷·°° F<÷ÜsìÝ»WSfÁ‚šã»»»‰ŸŸ¶¶¶(•JºuëFDD„NùŒŒ """4ûš™™•Øîµé~1z^¶s çZ„ý0{”ƒ•´›ÕŽm'·á¿ÈEŠþ ú}}ϘLKbØúaÔW‹8tâåå/süÚ=ãæØ;Šþ bnÅðÚŠ×pæ€ãG? $:©„1i@ÝçÎÓgEG8j¶­:°J«LöÝbç/ý£¾Eà ±d‰ûwüùóÕÁ¯Èº«Ç˜¼g‹Ô^ƒçBŸcï¹{ÆäΚã»q'2&¿…~رE9XI·݈ˆŠÐ)Ÿ‘“ADT„f_³f%¶ûAmº_L†ž!Dõ´xÿbž~âi¶¾»sc‡#„ÐSçÎéÙ³'3gÎ$//ÏØá!D•'9Õ“µµ5cÇŽå‡~àĉÆGT#Ub¢?** þüóO6mÚDbb"«W¯&44”“'Obii‰Z­fÕªUÄÇÇÓ¶m[¾ÿþ{–/_Nrr2ûöí#99:@PPjµš_|€#F0bÄ®_¿Î† سg}ûöÕŠÅк ÀàÁƒ¹ví‡ÆÔÔT§Ì½hÛ¶-ëׯ'44”›7orôèQºvíÊ»ï¾ËŠ+ØgEû¯[·N³ÿüR©ÄÏÏOÓW!!!¨ÕjZµjEJJ ÇgæÌ™$$$°ÿ~’““éÞ½»æÎ¨¢ò666têÔ µZZ­Ö\LéÓ¦Òb2ä¼’3’ñ™ãáèÆwê•j^ôú§íß`„ÿ®t 6°çìú~^lLX÷€o0¸ë`®Í¿Æá ‡151Õ)s¯„ÔÚÎjËú#ë }=”›‹ortòQº6éÊ»«ßeEx)còŸý×ý±N³ÿþ@i¡Äo‘«ü3&{„ ^©¦UV¤d¥0ü»áÌ šIÂÂöÿw?ÉÉt_Øð áZåm,mèäÑ õJ5ê•jòV䕨nCb2ä¼!ª¯9½æ0Ðg ¦ Sc‡"„(£ñãÇsýúu6mÚdìP„¢Ê“œGˆê«W¯^´nÝšE‹;QT‰‰þ &’’Bhh(¨T*š5kƺuëÈÈÈÐ)?~üx®\¹Â¢E‹èÕ«—¦üwß}‡Z­fèС%§_¿~øøø`ccƒ¿¿?½{÷&22’›7o–»î±cÇÒµkW”J%íÛ·'//ZµjÝ·ÍãÇçòåË„††ˆ­­-...Lš4‰ž={–ÚgEû/Y²„ÀÀ@ìììhܸ1ëÖ­ÃÍÍaÆqãÆ ­}222X¾|¹¦Ú´iÃÚµkÉÍÍeøðᥳ2býÎËÃ6áÇ ¤d¦Ú7”€¦¨,U4«ÝŒuýב‘S˜Ü<ž+·®°¨Ï"zµè¥)ÿÝÿŒ›õ÷“Ïôç¡6–6ø{úÓ»eo"c"¹™~³Üu}n,]›tEi¡¤}ýöä­È£–êcróx.ß¼Lèë¡¶ ÄÖÊ;&õžDÏæzŒÉö_òú[bgmGc—Ƭë¿7{7†­Æ;ÅÆdNËß\®éƒ6õÚ°¶ßZrórþ]ŒIbý΋¢ú²2³2vB=ñij|ùrrssŽBTi’óQ½=šˆˆŽ9bìPD5Q%^Æ»cÇzô衵ÝÉɉ§žzŠÓ§Okmß²e &&&jmwuu¥Y³f=z”ØØXÜÝݵ~oÛ¶­Ö÷:uê§™”7´îvíÚ•¥Éüøã<÷Üs:¿ýúë¯zïß»wo­í–––øùùñÍ7ß°sçNÞyçÍo666xyyi•oÑ¢µk׿ĉÄÇÇãææV¦v”7&Ðï¼57ûrŒIbý΋Ð_ô­h>Ú÷‡¯&¿ Ÿf.ÍérßòÉ™É,XÊî¨ÝÜH»­¥-më´ehç¡x:k¯wªoÝË.cñþÅ´vo͆·6°ÿÒ~Þûþ=¬øsøŸ€î‹Ô>}åS>Ú÷'âNP . UíVŒê2ŠÖî­ Ž½¬}——ŸGc§Æ é4„¯þüŠƒ1nÌœ^sXOJV Ë.#ìbñwâQZ(ñªíÅí? Ã“î{ì9{æðgìŸäåç•Øæ|u>;Îíàûßs>égggâââHLL4x¢ßИ ôóò°åäå–†•¹*ËƤM ò©YÿŒ›a77.êLÆÛ[k»é?mW”»nË2ŒÉŽcen…­•c²”ý]ìþ9ÿ©ÅƤõ}Ƥ­3q)q$ÞI4x¢ßИ ôó"ôwåö‚¿ ÆÚÌš¥AKyÚýi®¥\cΞ9\½}U§|bz"Áß““—ÃÜ^siW·×S¯3eç^]ó*kû®Åû ï2×ýaÇù°ã‡´XØBk{—]ˆEÐWAĦÆj¶÷kß~íûñüêç‰IŽaFØ &tŸÀSÎOu3Šñ¿Žç­õoñõë_Ó®N»2Çnhß]O½Ḭ̂™œK<‡…©gÆœ)µž¤ô$‚¿ &;/›ÙÏͦ]v$e$± |o÷6³z΢O«>ZûdÞÍdÊoSùÌH<]<‰¾]b›Ã£Ã¾u8!¾!|ô1ê~>ó33Ãf’–À¸nãônoIÎÿ÷|¹öB<š\]]yî¹çX³fLô‹*CrÉyÊCr!Äý¼÷Þ{ 0€K—.Ñ Ac‡#ª8£/Ýcii‰­­-ÙÙÙ¤§§ëüž˜˜¨SÞÁÁ333îÞ½«YC¾ø§[·nÅRYu?޽½=ÙÙÙ¤¥¥UøþEË㸺ºjm¿uëjµZ§|Q;;;k¶)ЇSUdif‰­•-Ùw³IÏ)aLÞIÔ)ï tÀÌÄŒ»+îjÖ/þéö”c²ë.~{k{²ïf“–mÀ˜,eÿ¢åq\í‹ÉŒûŒÉ´ƤÝ=c’2ŽIckAøîdßarÀd:×ïŒÒ\I§&Ìï=ŸÄôÄË_O½Î„îèÚ°+Js%j5"ôÅPÔj5ÓvM3¸nCeÝÍbzéx?áµ¹5-ÜZ°ðù…ÜͿˌ°Å®’ÚרV#¿°X¯—cß[Olj,“ü'ÑÝ£;*KõkÖgñ ‹q²qbú®éÜÌÐ^–*-'ßZ»·Fi®¼o›Ú×mÏ@ŸØ[ÙSúï´~‡ç›>ÏW‘_•øÿP!„¨o¿ý6gÏžåØ±cÆE@rÉy$çBT___žxâ Ö¯_oìPD5`ô‰~øwùš¢%|Š$$$páÂò/¿ü2yyyDDDèü6oÞ<êÖ­«yylYUfÝ÷z饗ؾ}»ÎoÞÞÞŒ9R¯ýùå­í999ìÞ½kkk¥²³³‰ŒŒÔÚö÷ßG«V­´îæW*•Zëž6iÒ„Ï?ÿ¼ÂcªªŠ–¯)Z§HBjn”0&Ÿ~™¼‚<"¢J7;æQwl]ò “•X÷½^òþgLþ]˜œîÍÈ ¥ŒÉöÿåïbç?/‡Ýgwcmn­³RöÝl"cŠÉë—G«:­´îæWZ(ÉÍ»gLNjÂçûK“Ä$*ÖþKû»Èîå¬r¦~Íú:åw]Ø…‰Â„îݵ¶;©œhT«§N‘–`P݆²6·Öy½‰SœUΜ½qVs]–Øõq¿öÕTÖ¤AMýïäøíÂotk¨ý‚¦t¬×‘ì¼l\> õ›¥™%­ÜZim+©ÍÝ=ºóíßêÓÓÙ“¼‚<.Þ¼¨wœBQ^^^<õÔSš¥#…06Éy$çBˆÊ`jjJŸ>}øé§ŸÈÏ×o‰/ñø2úÒ=³gÏ&,,Œ#F`oo111Œ3WWWå^æÌ™Cxx8ï½÷K—.¥cÇŽäçç³qãF¦OŸÎêÕ«133¬i•YwIÇ9r$*•Š.]ºššÊìÙ³‰/u¢¿hÿ#F R©ðõõ%>>žñãÇÏŠ+4Ëå±··g„ ̘1ƒ–-[röìYÞÿ},,, Õ*ûôÓOsèÐ!®]»Fll,—.]â™gž©ð˜ªªÙ/Ï&ìl#¾½µ=> }ˆ¹ØMcpµwÕYîeÎËs?Î{_½ÇÒ7–Ò±aGò òÙøçF¦ÿ<Õï®ÆÌÄÀ1Y‰uëçB8#7ŒDe©¢Kã.¤f¥2{ûlâSãPʘügÿß@e©Â·±/ñ©ñŒß<žøÔxV¼½B³\N{k{&ü8/Π¥{KÎÆŸåý¯ßÇÂÌ‚Ð׋É'ŸæPô!®%_#öv,—’.ñL£RƤ1‰Š“›ŸKFn–f–(Í•:¿;Ú8r9ù²Vù´œÂ§/¼{é”/“CMeÍ2Õ]v–v%nwT:’˜žÈ­Œ[8X;軫méO‘”ÖwÅ——zP=i9iXšYbc¡»œW-›ÂwN$¥'imw°r(ñÉ®{Ûì¬r&-'/Ž|Áo~#!-;Ùw´Ê—å.¼’ÈzµBˆéÕ««W¯fÊ”)˜šš;ñ“œ§äØ%çÑŸä|˜N:;Q…U‰‰þ† rèÐ!ÆŽË«¯¾J^^^^^Ì™3‡)S¦”¤ý—±³³3GŽaÖ¬Y 2„k×®áàà€··7[·nÅß߀Çããã£ÙÏÚÚš‰'2sæL­¿Ì½½½éÝ»7Û¶m+WÝ€Ö2$[¶lÑÜå^TæÍ7ßdíÚµ¸ººÉÌ™3:t(±±±ÔªU ___8@ݺuØg÷î?lØ0bccQ*•tèа°0ºw﮳J¥â“O>aäȑؚ‰½'23h&Šþ÷´}º7½[öfÛÐmåª@½òž1yl /-I«Ì›íßšP¦Z IDATdm¿µ¸Ú»91’™¿Ìdèú¡ÄÞŽ¥–ª¾}90öuk–2&ïÙØúaÄÞŽEi¡¤Cƒ„ £ûS%ŒIKŸôý„‘Fr0ú yùy´«ßŽ=£÷Ðɣؘ|m ý×ôÇóžÔ´©IhßP<Ý<õnÓƒb2伈ÒY˜Z`caCFn™w3u.ÞR²RtÊÛYÙ‘‘“Á™ÿžÁTñàI›²Ô]ÄDaÂÝü»:Û‹_¬iÕ•‚Z­Ö¹¼•y (¼À.kì¥)­ïneÜÒ»[K[ÒrÒÈÈÍйð-z|ÝI夵½è¾¸{Û ðÁ¦ˆ¼ÉdÿÉ<ßôyjX×@¡P°:r5³vÏBîÒ\e!ëÕ !¤W¯^,Z´ˆ#GŽhå–B!„0T½zõ¨_¿>2Ñ/ŒNrž’cׇä^sÑXÖº:×ïLbz"ßý†Ì»™\M¹ÊŒ°8*ïÛ[K[î_ȱëÇȺ›Åßñ3úçј›š3Ù²A±Úw’.0vûX»ÑXoîöîÌ ›Éž¨=däfp9ù2#IRF“&kg/bmnÍ´]Ó8â¾m651¥}Ýö$¥'±ò•ÜκMv^6‡¯fݱuzÇ'„åÑ¡C:dì0„œGr!„¨T:tàÚµk\¿~ÝØ¡ˆ*L¡.ç-Ô …‚ 6ЧOƒëHHHÀÍÍwß}—iÓ¦áèèÈ©S§:t(QQQDFFÒ þ/Ẽ¼¼¸yó&±±±Æå¡R(Œ1¢ÌOM$¤&àâÆ»ÞeÚ ÓpT9rêú)†®JTb‘#ià$c²<¼¦{q3í&±=Úc288€7VxÝÑÑÑz—:´ð]Ÿ|r£Âã(ÍåäËÌß7ŸCW‘—ŸGc§Æ í4”Õ®æ`ÌA‚[3§× ðôå—³ëâ.âïÄcgeGS—¦ôoߟNõ:•«î´œ4æì™Ã¾è}ÜɾCs׿Lô›Èä“9•p €0¦ëž_ý<Éɬ黆™a3ùëú_ääÓÒ­%£}GÓÚ½µV™™™øùùÑ¿ÿJŒ¬â\½z•>ø€ póæÍRËŸ8q‚àà`lllعs'áááÔ©S‡7Þxƒßÿ½Üå…¨h’ó!„~š4iÂ… Ê´ä=å+_ÝT™‰~!„BhKÍNeÒŽIÄ߉'ën'âN0|ëpl­lÒiˆ±ÃB£S(xxx¥÷>jµš‚‚ *1²Š³xñbž~úi¶nÝŠÍË0nÜ8ììì˜7oÎÎÎÔ¨QƒéÓ§óä“O2~üxrss ./De‘œG!J׸qã2OôKÞóxå=fÆ@!„¨jНÿê1×£ÂÖWõ˜ëQj™a‡1¬ó0Ö¼¾†µ­¥ï·}¹‘~{+{:ÕëÄâSÇ¡N¹cBˆGAíÚµ‰×»¼ {÷î­Äˆ*Öœ9s°²²Ò«ldd$/^äwÞÑÚÇÔÔ”ÀÀ@>þøcöìÙCÏž= */=’ó!DõñÄOpóæMòòò03ÓoJWòžÇ+~!„¢˜~íûѯ}¿J©;jœþwv¬×‘Žõ:VJBñ¨puu娱cÆ£Òè{± pèÐ!Z´h¡ó[ѶC‡i.`ËZ^}:‡ÆÆÆ†nݺ1qâÄR¿B!ă9;;˜˜ˆ£££ä=’÷è‰~!„B!Dµ¥T*ÉÌÌdêÔ©üúë¯|òÉ'´iÓ†ôôtV­ZÅ€øöÛoiß¾=DEE1pà@ÂÂÂtê:yò$J¥Ró}éÒ¥,Y²„Ñ£Gk. &''‡¹sçÒ®];®_¿Î”)SxõÕWY»v-ÞÞÞš:Ο?_ùð¢ ö{ÛP¤h[jjªAå‹÷ÝìÙ³4hóæÍcç΄„„’’‚¹¹9#GŽäÉ'ŸdëÖ­Lž<&NœX±B!3E“ÇYYY’÷ yOIäe¼B!„BˆjËÊÊŠììl}*¢*!*Ô’%K`ñâÅÆE<¦bcc‚BñHËÈÈ@¥R¡P( "((ˆ¼¼<>̪U«œèèh–-[¦uG×!Cصk=zô ??Ÿ£GêÔ±bÅ žyæ½ïd«híÚµÃÃÃ_ý•œœÍöüü|¶mÛ†››ݺu3¸¼B!Œ§hÉ•J%y’÷”D&ú…BfÍšõÀµmCBB¨[·.cÇŽ%<<œ´´4RRRX¿~=K—.eüøñzÝñVLLL˜;w.©©©Œ;–¤¤$RRR˜:u*111Ìž=[ó"?CÊ‹²‘œ§z‘>-?Éy„¨\šµõ%§8™èBñPz5.ŠŽõ:V«ºWÒ§åׯ}?¢ÆEáéâ©WùÌ»™ø­ð£ÿ¦þ•™†ÄÄDj֬ɺuëhذ!ǧuëÖôèуýû÷3{öl ¾PÎÃð°0š5kÆèÑ£9uêkÖ¬`ìØ±xxxh}vìØ¡9ž££#›7o& €©S§Ò¶m[ž}öYvîÜÉgŸ}F¯^½*´}{öìÑÄqãÆ òóó5ß¿ÿþ{ò^^^lܸ‘´´4èÒ¥ 111¬[·ŽgžyÆàòÇ×é»E‹ñ÷ßãááÁ4±}öÙgüùçŸxxxpäȲ²²ðððàã?®Ð¾©ê$ç©^¤OËOr!*Wbb"€ä=÷¼G[…¬Ñ/„B!*†Z­¦@]ðX½¼²ÅÂ4uiʆ·6;Q ]ºt ///<==™1cÆËUâo÷Û^&L˜À„ Ê«!ºwï^¦Øš6mÊ_|Q¡å½¼¼ÊÜwe[ñx‘œGˆ²¹téÎÎÎØÚÚJÞsÉ{þ%ýB!„Uˆ… {–¾®¦¢PLLŒÎ Õ„BT}’óQ6—/_ÖZK_ˆâdé!„B!Dµ”œœLJJ 40v(B!„•êÒ¥K’óˆzèwô§§§ãííM“&MضmÛÃ>|…{ÔÚc¨êÚééwñöþš&Mj²mÛËÆ§ÜµöJú¡j‰¾ÍGû>âðÕÃääÓÌ¥!]Cî[>93™¥KÙµ›i7°µ´¥m¶ í<Ogíõ>õ­{ÙÁe,Þ¿€Öî­5Êî¿´Ÿ÷¾kþþ'Pø"±¹{çà¢ráÓW>å£}q"îêZÕnŨ.£híÞÚàØd×…] Ú,Ì,ðmàËÿþGZNÓwMçð•ÃØXÚЭa7&úMÄÆÂF«¾”¬–\FØÅ0âïÄ£´PâUÛ‹Ú@‡';Ô§Ùæ&ó›_¯WÙZ6µ8<ôðË üa aÃ4ßï=çcòÎwïðù«ŸÓÝ£;3ÃfòÕŸ_iÊŸ{S…©^ýVü\ýÖÿ7XÌ¡+‡HÉJ rx$5¬kèĹõôVFÿcãÞ?kGcâ1×SSÎÿ÷¼^1‰ÇÛ™3gððð0r$BHÎ#9Oé$çù—ä<’óˆ²)((àüùó<ûì³ÆETa}¢_­VSPðè¬Áö¨µçAT*^^^üþûï:¿U×~(Œ»ðó(xÔÚó *U(^^Îüþ{_ß§~¨ê®Ü¾Bð7ÁX›Y³4h)O»?͵”kÌÙ3‡«·¯ê”OLO$ø›`ròr˜Ûk.íê¶ãzêu¦ìœÂ«k^emßµx?á]æº?ìø!vü [hmïÒ  Qã¢ú*ˆØÔXÍö~íûѯ}?ž_ý<1É1Ì›Á„îxÊù)¢nF1þ×ñ¼µþ-¾~ýkÚÕiWæØKÐ8€¨qQš‹·Ù{f3ÈgózÏcçù„l !%+sSsFvÉ“5ždë©­LÞ9 &úMÔÔ•”žDð7Ádçe3û¹Ù´«ÓޤŒ$„/àíïÞfVÏYôiÕ§ÒÏ׃TôÅÍg¯|ƷǾeÊÎ),z~/4{AóÛÖÓ[5ÿ-ºèä?‰öuÛóÍ_ß°æõ—RéÛoÅÏÕ¤“þÌpæ÷žÏ…›èóMŸûÆèÈé„Ó\¸yÐC±·²à ï7t.Ü‹gfØLtÀ¼Þóøëú_ Ø4€[G°ù?›5û”t>¯§^gfØLÎ%žÃÂÔ‚3cΔ©o§þ6•_ÏýÊ'AŸÐ¦NÒsÒYud6 àÛ7¾¥}Ýö€þc£èÏš¬W+ uèÐ!6lˆ“““±C9Éy$瑜GrÉyDe:sæ )))tèСôÂâ±õЗµ%::šíÛ·?ìCWŠG­=†ª®ý`kkAtt¶oÅØ¡TˆG­=†’~¨:„/àNö&L¦sýÎ(Í•4qjÂüÞóILO,±üõÔëLè>® »¢4WÒ¨V#B_ E­V3m×4ƒë6TÖÝ,¦÷˜Ž÷ÞX›[Ó­ Ÿ_ÈÝü»Ìû÷åGe‰½¬‚[Óܵ9ÖæÖ5¢Q­F„_ çývïãéì‰Ò\I_ᄌۻ~)\kßá ˆMe’ÿ$º{tGe©¢~Íú,~a1N6NLß5›75e+ë|=l½Ÿê¹©9[NoÑlËÎË&ìbOÖx’Ýw“‘›¡ùíÇS?òRó×ø.K¿Ýk€ÏÚ×mµ¹5­ÜZqþ¿çK¼³íNöúmìGº€/‚¿Ð\ðê«O«>š1Ù©^'º6ìÊÉø“Üκ­Õ†âç³Q­F,~a1Yw³Êt¼"cÒ¨V#:×™µlj1®Û8ê×Ô^+´* ñh‰ˆˆÀÇÇÇØa!9ä<·¹¼$瑜G<<ˆ££#76v(¢ “5ú…BTšý—ö…w‘ÝËY嬓$Cá#Á& Í]GEœTN4ªÕˆS §HHK0¨nCY›[ë<ŽÝÄ© Î*gÎÞ8«¹,KìeÕÂMû®<[š»6×ÚîjëÊ´ZÛ~»ðÝvÓÚnajAÇzÉÎËæÀå@垯‡ÍÁÚ® »ARzaÃhU»o=ýÙyÙì<¿(|Ìÿ«УIÍþeé·{µrkUjl—n]â•5¯`¢0a’ÿ$­G¿õÕÒ­¥Öw7;7­ó¿óYSY“5 [ÛÓ·¡/]ÿ‹‰¿NäxÜqÍò»>Ø¥¹³ ªöØŽÔÔTΞ=KÇŽŠ’óÜ'ö²’œ§ì$瑜G<<ˆ …ÂØ¡ˆ*ì¡NôoÙ²…B¡ùdggký~ëÖ-FEÆ ±°° F<÷ÜsìÝ«ûö¤¤$† F½zõ°°°ÀÉɉ—_~™ãÇß÷x111¼öÚk888àèèH`` ÑÑÑ:uŸ;wŽ   ìííQ*•´k׎mÛ¶áïﯩ«_¿~÷m¡ÇÕ§M¥Ñ§,X ‰ÍÝÝÈÈHüüü°µµE©TÒ­[7"""tÊgdd¡Ù×Ì̬ÂΫ¡}V[¶D¡P,Ð|²³óŠÅŨQ{iØp%‹¨Qãž{îöîÕ}”3))“aÃöP¯ÞçXX,ÂÉi/¿¼•ãÇÿ½¤øñbbRyíµŸqpøGÇ¥n&::E§îsç’ Ú‚½ýÇ(•Kh×n-Û¶Eãïÿ½¦®~ývÞ·=†WŸ6•FŸ>\° R›»ûgDF&àç÷=¶¶¡(•KèÖm×uÊgdÜ%"âºf_3³…v^ í3¡-7?—ŒÜ ,Í,Qš+u~w´qÔ)Ÿ–“Fº¯Å^xÌõÐúœ¾q€˜ä˜2×]v–v%nwTãVÆ­2Ån•…J뻦&¦X›[km7Q˜P þw µ¢¸,Í,uÖ°…µ_¡ð‘íÊ<_¥i2¿‰Îþ÷ûtøDÿGU_jþùùü|ög¶œÚÂKÍ_âù¦ÏcjbÊOg~`ÛÙmtóè¦iwYú­¸â礸;9w´y®¶®„_ ×>ß’Ç—_ö¤K—:\¹’ʇîÆÇg{öôÁǧ¶ÎñFŒØËرíøòËž:Ç /üHß¾Û8rä-MQQ)øø|‹9›6½ˆOm®\IeĈ½œ iKHH[¼¼¾&**…áÃ÷°paWZ¶tâìÙ[¼ÿþNºwÿžß~{_ß:šò÷[£¿"Ϋ!}&tY˜Z`caCFn™w3uvÝ[ÞÎÊŽŒœ Îü÷ ¦ŠßñS–º‹˜(L¸›Wgûì;÷=NJv jµZçΉ[™·€Â‹Á²Æþ°X˜Z`kiKZN¹:pEa;©œ*ý|=He½€¬[Ãn8X;ðãß?Ô,ˆãqÇYúÒR¬Ì¬è\¯3¿ÇüNbz"›ÿÞÌhß_W–~++SSÖô]ƒ­¥-Ák‚™ðëê׬¯s·Zy•v>oeÜ2¨^…BAPó ‚š‘WÇá+‡Yudƒ7f‚ßÞkûžAcCÜ™$Êî‡~ {÷îØÛ6‰#DE‘œÇø$瑜Grñ(Û¶m …B^Ä+JUe–î?~<—/_fÉ’%bggGãÆY·nnnn 6Œ7nhÊ^¹r…E‹Ñ«W/T*Íš5ã»ï¾C­V3tèÐѯ_?Í$¾¿¿?½{÷&22’›7ÿ]on„ ¤¤¤J@@€¦îuëÖ‘‘‘Qb½¥Ñ縆¶ÉÐ>,’‘‘ÁòåË5ñµiÓ†µk×’››Ëðáà joycÒ·Ï*Óøñ¸|9•%KºØ;; 7®Áºu¸¹©6l77ndþSv?W®ÜaÑ¢nôêÕ•ÊœfÍjñÝwÿœ»Ý%£_¿øøÔÆÆÆÿ'éÝ»‘‘ ܼùï‚& %%‡ÐÐî<©©{ݺÞddè&îúÐ縆¶ÉÐ>,’‘q—åËý5ñµiãÊÚµ½ÉÍÍgøð=µ·¼1éÛg¢d¾ |§-r;ë6—“/ë”ïѤùê|ŽÆÕùmÅá<³üòÕùÕ …ct6)=‰¸;q÷mCN^'ãOjm;ŸtžÄôD<]’—®Ù¶cGá1zôÐ^'ÒÉIÉSOÕ4¤iz×Ð6Ý«,}XÄÆÆ//g­m-ZÔ¢vm'N$oØ?¶•'&ЯÏDÉBº†à`íÀŒ]3øýòïdÞÍ$êf£~U⣵!¾!Ôu¨ËØ_Æ~)œ´œ4R²RXl=K#–2¾ûxÍ2e­ sýÎ$¦'òÍÑoȼ›ÉÕ”«Ì›¡y$½$¶–¶,Ü¿cבu7‹¿ãÿfôÏ£175g²ÿdƒb˜B|Cp·wgfØLöDí!#7ƒËÉ—ùÓH’2’˜0YóXvež/c jÀ†´^<Ð8 6œØÀ‹Í^ÄD¡•¥ß ånïβ——‘œ™Ìà̓ÉÍÏ-W}Å•t>/$]`ìö±Ý™WdòŽÉœK«L99ù¤¦æ`ee†­­…Îï..…3&$dhÊØÛ|ß:/^¼»»vØÛk×maQø—AZGZZ.VVf¨Tæ:uÖ¨aY†V•í¸†¶©HYúð^%·ÉÙYI\\:‰‰™¸¹é®©Cc‚ÒûLÜ_]‡ºl|{#ó÷ÍgÈ–!äåçÑØ©1C; eõŸ«9s¹· fN¯98*ÙüŸÍ,?¸œ©¿M%þN>qæÌù¼ÏçsŒ÷çx>çÓje+”æJ²ó³uÚÚz(ÿlÿÏbÇÄÛ=߯s™§¶|ȇÐdzŸ¿ü¹ÞõTªðrõbVïY|xøCRï§|>·ŒÙ–3[˜±c·ïÝÆÒÌ’FŽXòÂF´¡­gèØ˜ï;Ÿy{çñüçÏã tàÝçߥ©sÓ‡/ÙÙÙlÙ²…üãÚwF al’óHÎcl’óHÎ#j¦/¾ø‚† >v;o! ŠLô[ZZbooOzz:z“š­]ÜÝݱ´´ÄÁÁÌÌL²³³+4¹·´´ÄÎÎŽŒŒ 233õ&û“’*þ3ÍqËÛ'CÎáƒRRRŠÝ‡QÓWW׿WWúfï²Ædl––¦ØÛ[’žžKFFžÞ¤pbbÑD°»» ––¦88X’™™Ov¶?ff÷Œ¥¥)vvddä‘™™¯7ÙŸ”¤¿ÅLE·¼}2ä>(%%µjš¾ººþ½ºÆÐÍ—5&Q~óÉKŸè•÷ñìSl}¥¾úVxÛv–v,ya‰^ùöñÛyœ¦ÎMÙ0jÃcã1$öGiW¯ÎMÓƒ -×Ä5Ïwó|ç=öØ•y½Œ%|rx±åË-gù å%~¯4çíQ×Jc°×`{ .ö³Ç}·4uÕFI×39+G¥á ¼Ü¼XÔQ©ê26š87á›W¿18Q;}ýõ×dff2qâDc‡"„Éy '9OÅ’œGrQ³ÄÅÅñÓO?„‰I•Ù”ETaUf” ^ô/Ë»víÒ)ÏÍÍeß¾}(•Jív:/½ô9rD¯åË—Ó°aC ÊÇ /¼ü½…FBBQQQej³4*¢O†œCœœNž<©SvîÜ9nß¾···Îj~kkkòòþ~Ä®E‹|öÙgSU0|x3víº¦Sž›«bß¾¿P*Í´Ûé¼ôRs 9rä–^;Ë—Ÿ aÃu”íI„^(:†f „„,¢¢î–©ÍÒ¨ˆ>r5rr 8yRw»¨sçîpûv&ÞÞ.:«ù­­ÍÉËû{¯Ã-¾à³Ït÷­ˆ˜„¢ºJÎL¦ý‡í)(ÔÍâÒ㸑zCo^!ªƒììl>ÿüsƇ³sÉ[!„¨=$ç5ÕG}D½zõ6l˜±CÕD•™è_ºt)7Æßߟ;w’‘‘ATTcÆŒ!>>žÐÐPíV/K—.¥iÓ¦Lœ8‘={öžžNjj*ëÖ­cáÂ…—y¥ÿ’%KprrÂßߟ°°02339þ<&L¨Ô•çÑ'CΡ†½½=;vŒ¬¬,N:ÅØ±c±°° 44T§î³Ï>KTT7oÞ䨱c\»v=ýRž²ÄT,]ÚƒÆíñ÷`çÎ22òˆŠºË˜1;‰Ï$4´/nnÖÚºM›:0qâ^öì¹Nzz.©©9¬[ÉÂ…Çî]æ•þK–ôÀÉÉ ÿÂÂn™™Ïùów˜0ao¥®<¯ˆ>r5ìí- <̱c·ÉÊÊçÔ©ÆŽÝ………)¡¡}uê>û¬QQw¹y3ƒcÇnsíZ:=z¶îöíÛµ+¼5^}õU6oÞ m#ÄŽ;ˆ‹‹ÃÚÚšÎ;óÎ;ïз¯î$_jj*‹/fûöíܼy|||˜5k~~~?~\o«y󿤷 Í AƒØ¹s'QQQÌž=›ˆˆ h×®K—.å½÷Þãĉdee=²?S§N-ÓqKÓ§Ç1ä¶k׎;wîÆ[o½ÅÑ£G)(( cÇŽ,^¼˜nÝt÷’»rå ¯½öüñNNNÌ™3‡)S¦TÈu-ëµz…B¿¿?!!!zŸmßÍðẮ¾úª›7ú¿¸³ :ÎŽÑÄÅe`mmNçμóNGúöm¨ó½ÔÔ/>ÎöíW¹y3+||\™5«~~Oÿ_ãéÒåë‡úØ™  î(Áõ± ;w½h%*ê.³g$"â/ Ô´kçÂÒ¥=yï½#œ8‘@VÖŒGögêÔgËtÜÒôéq 9‡íÚmäÎlÂÂFðÖ[û9zô6…tìèÁâÅÝéÖMwÿÊ•T^{íWþø#''+æÌéÄ”)í*亖õZgĈ¢ý¿ÿþûR3CÄÄÄ”ºî´iEÿ öÑG‰GM´þ÷õ,Û¿L§L³7hy=¸·hI4{Í Q^Gc²ùÍ\L¼Hbf"öVötkÔ=fÐÐáïÿ˸•i÷n[¦Ow#:ºô¿·ŠsãÆ  ÄÔ©Syã7*(:QÓTÔx«-$ç5…ä<¢ªðôlÊêÕ‰ ˜Yæ6 yõÕWÉÎÎæÇ”‰þZÄÖÖ¶\ ¢ŸèDuײeK²³³¹qㆱC©š‰þ¸¸8c‡Ri5Ñ_ݵlù_²³ ¸qãuc‡R!4ýqq5ëÆ]&ú…BÔv1ñªV«?~üðC ¢Õýo¼ñ¯¼ò }ô .äÅ_4r”B!„å£y‚Q­VEÛ.]ºGGG-Z„!!!˜šš9RQÝÉD¿B!„â‰R©T¼õÖ[Ú^€‚‚þúë/¶nÝJ`` £G6b„B!„ã“O>áòåËÚÅ ‹/ÆËË‹uëÖaaaa¤èDM"ýB!ž¨—vâ¿Ã S .κX-Ú¢*µy§ãNûÙøçÆ3ßo¾^ù¥¤K¬:¸ŠÓq§Qªh÷T;ftŸAûúí+;\!ô¬]»–+W® R©tÊ ˆ‰‰ÁÙÙÙH‘ Qq$ç¢ü$çÕÝ¥K—øè£ô&ùU*÷îÝÃÎÎKKK#E'jÙ£_!Ä5Øk0Ñs¢éÚ¨kµj[ˆê,2>’›F`caÃ/¯ýÂÁ)i`߀1_á·ë¿;ã‡~0v¢–JII¡Y³fÆCˆj«Íª6´rkÅÖ±[J•óÓ¿~¢G›ÇÖ+T2g×êXÕaù åX™Y°°ÿBNÆd웼 Sy\XT¾¼¼<üýýYG­VSPPÀ´iÓØ¶m›<Ê.„¨$ç)™ä<¢ºZ½z5W¯^-qqå=š}ú[µjõ£5‘lÝ#j¼û÷Ûrÿ~}c‡!j­ãÆ@Q˼y’«w®2®ý8í /€©‰)ƒ½³ú·ÕDDG0 Å#F)j‹Õ«WûÈ^(zœýòåË,_¾œ <¡è„BTg’óˆªäìÙ³|úé§z[ö§  €éÓ§³cÇlllž@t¢¦ª‰þO>ù„‘#GVDSBT¨¢Ç£Þd| cAóæÆŽAQ›»q  Ø•pmÜÛhëÈM¯¨l‘‘‘|öÙg%Þðšššj_ÎÛ¶m[úõëGÿþýŸdˆB!ª1ÉyDUQPG@@&&&Åæ= …SSS ðððàùçŸç…^@©T!ZQ“ÈŠ~!„•*&%†•Vrü¯ã¨ U´vkM@ï€ë§ÞOeÍ‘5ì‹ÞGbF"v–vthÐiݧáåêU¦¶×]KÈ¡Ú×o¯}$úеCLün"JNÍ8Àúß׳lÿ2ÜlÝøäŸ°òÀJ"oGR¨.Ä»ž7o÷|[ï…^†Äþ(•yü°¨0ÞÜö¦ö;¿¾ö+!‡C8vãiÙiœœqG¥#iÙi¬=º–ð«á$d$à¤t¢iݦ m=”A^ƒ´+¥ÊrÜo`Åþ¾~SS|žòaß:4Ô;§ãNã¹Ì(Z‘uå+¨Ô*ö^ÞËw‘ßq%ù ¹<íø4#½G2®ý8Lº¯"zp¼¨ hîÒœ©Ý¦òå©/9{€mG°tàÒ »ž-V´@Uøè•Ëumêr|ZéŸÚ~a;{‰MÅÔÄ”–.-ã3†[¿¨×ow;w½6Üë•]O•½ÐEeËeæÌ™z{Ôš™™¡R©033£k×®ôë×???êÖ­k¤8…(;Éy$ç)ó蓜GÔt;w.åÆ:O0š˜˜ P(P©T4jÔˆ!C†0pà@<==©¨ijͲ™²6 P°uëVYÑ/ª¤¢›É­ÈŠ~a<#xùeøþûï+¼å˜˜˜R×6Í €>J¬ð8åÆÝ ß8¥™’僖ólýg¹™v“¥K‰M%)3‰‹³.jë'e&1â«ää²là2:6ìÈ­ô[¼÷Ë{DÆG²yôf|žò)SÛPòާþF\zœö¦WcȆ!ĦÆÒÒµ%}iéÚ’è;ÑÌÝ3—˜”6¾²‘Ž :{iUæñßøñ ¯†Ó±AGfô˜A[¶D݉bäW#9>­è¦pÄW#ÈUå²xÀb:5ìDv~6[#·r(„y¾ó˜ÐaB™ë×ÌÉ'ÓÒµ%ÜúƒÉ?L¦¹Ks¶ýk[©®@Dt¯ÿð:½í3šBu!ÿ»ø?‚ƒ˜Øq"súÌÑÖ-n¼ÜJ¿EPx—’.‘™›Yæ±h £6¢C&t˜@§&Äß‹çãc³ýüvƵÇ»ýÞÕÖ¿u<¿]ÿÿõ#ÞÞ:íܸ{ßu¾´vkÍŽ ;žt7D-±{·-Ó§/Š&ÍÌÌ(((ÀÎΎ矞þýûÓµkW¬¬¬Ý¥P4Þ܈Ž.}žT$瑜GržÊ!9¨n<=Q(z Vbbb‚Z­ÆÄÄ„N:1`Àüüüpuu5v˜¢Š²µµÅÍÍ­Ìß7y|!„¢l‚s/ç ú- {ãîX›[ÓÂ¥+­ )3©Øú·ÒoØ7ÞM{cmnM³ºÍŠZ­æý°÷ËÜvYeçg³°ÿB|žòAi®¤GV YE¾*ŸEá‹Ê{U:þä.“éÔ°Js%ÞÞ\yç ŽJG‚—Ç¿ôõì‹… umêòÿºþ?z6éYîãŽô©íS·FÝèÝ´7gãÏr7û®Aç§SÃN¼Ñå ì­ìqT:2®ý8†´—'¿$37S'·ÇK³ºÍy1„ìül½v+ëzV”­c·<8˜Ön­Qš+iâÜ„àÁÁx×ófÓéMDÆG–ª5Eë=^e-DEЉ9„àááÁ¸qãøæ›o8uêË—/§oß¾2É/ª=Éy$瑜§rHÎ#ª“ììl`ju!J¥’©S§Ø´icÆŒ‘I~Q©d¢_!D¥9tí€ÎM€«­+ëÕ‹ ÃDaB_Ͼ:å.¶.4«ÛŒó çIÈH(SÛe¥4Wê=²ÜÂ¥®¶®\J¼¤½Á6$öªtü‡W;iüõ+½šôÒûì¿#ÿË„Êuܶmu~ö¨ã@bFéŸ:éëÙ—¯Ç|­WîåêEAaWï\Õ–•4^œ¬hâÔD¯Êºž•M³ç쾫û´ev–vÜÏ»¯W_sÃ_ǪΈNÔFÙÙÙ:ôðvîÜÉáÇ ¤C‡˜šš;ÍêÕ«w¶qÖÙ#3O•GFníBÚ•Ønlj,NÖNµ]u,‹¿p¶v&)3‰”¬”¥Ž½¸=Cy|¥¹þ Ÿ4×ÂÒÌ ›Û3äš=|\͘†…©ð÷j«ÒÈÈÍà‹_ðkÔ¯$d$p/çžÎ皺ÇE{¥½ÎÏåé×Ã*s¿Úâ¸Ú­JÉJÑ–5un PìMz½¢²Šœ(âAVVVL˜ð9þéFË–Ov+!žÉyŠ]rž"’ó蓜GÔT“'O&8Ø/¯D,,2ÿ!*˜Lô !„¨¦ØXØ•—Åýüûz7š— =X¿ŽU²r³¸øÎEL^éiHÛ& òUùzåß,é´•“†Z­Ö{Ì7å~ÑM…³³Á±ÂÇ·0µÀÎÒŽŒÜ ²ò²J¼ñ­Ì~k((ùñê×x“7O²ÀoCZ ÁQéˆB¡`ÃÉ ,Þ·X{ý¸±øà bE÷Kó½'E³:ÐÙÆY[Ö¹agÖYÃù„ó f¸Nýó çèòt—'¤¨Ud‹QHÎS1$瑜Ç’óˆªHòal²uOŒB¡@¡PP¿~}c‡#„Ó<­y„XãnöÝbWŸõoÑ•ZÅé¸ÓzŸ­;¾Ž÷@¥V•©m(Zùóð ŸäÌdnß»]br r9V§ìJò’2“ðróÒ®&2$vCëøÏ7€1ô>òß!,Þ·¸RŽû0¥¹Rg¢¢ßgýøöÌ·¨ ‹Žéb뿞ûNÖNÚÄ:· W¯’ÆKrfr¹Çâ“ö]äw Ý0T¯\­V³ûòn|›ùjË;6ìˆg]Oö\Þ£snT…*v^Ú‰Gú4íSù !D &9Oñ±BrÉy&9BF&ú+Q~~>mÛ¶¥{÷îeú~@@jµoïâ÷Bˆª. wJ…-â·ë¿q?ÿ>Ñw¢yûç·‹}œ8 W 2{×l^;HFniÙi|óç7¬9²†¹}çjWÚ6@÷ÆÝIÊLâ«Ó_q?ÿ>¥ýÅ¢ðE8[;[Š·^uhÞú“ìülÎÅŸcæÿfbnjοeŠÝÆ:~@¯êÛ×gñ¾ÅìÞOV^  ¼÷ë{$g%k÷«­¬~k´voÍõÔëÄß‹çÏ[ò×Ý¿èР¦&¦tj؉äÌd>ÿýsîfß%§ ‡ã7޳åÏ-úý)f¼D%G1{÷l\l]Šíeö«¼.$^à½_ÞãÆÝäär-å;8ŸpžqíÇéìCl¢0aÙÀe¤ç¤3{×l’3“IËNã?aÿ!65–%/,ÁÒÌÒh}Bˆš@rÉy$ç©’ó!Dé)Ôjué7†+®…‚­[·2räÈŠŠ©ÆÈÏÏÇÇLJ:uêpôèÑ2·Ó®];îܹC\\\FW;­tØ ÈøÆ2‚—_†ï¿ÿ¾Â[މ)ý^ÇÓ¦¹ðÑG¥éWE¹žzVpìÆ1 T4wiδnÓØpjGc‹þß8¢í–\ =‚þñÑ »Fü½xêXÕ¡•[+^ëôÝu+WÛ¹,XʘÜ˹Ç3îÏ0Ïw ~Y }œwrçÉÌê= €!†š•ʦћ â[ *TÑÖ£-3{ͤ}ýö:ñ{iTÆñÏÜ>ÃË›^Ö;Vôœh½²´ì4Ö]KXT  8Y;ѱAGü{úÓȱQ¹;¥ëÞîù6žË!O•GDt?_ø™ËI—IÈHÀÒÌ’Vn­x¥Ý+ i5¤Øï]L¼Èªƒ«8}ë4………x×óÆ¿‡¿Þ8¢¢íÞmËôénDGËý¢òs¼IÎ#9OIÇ•œ§l$çÕ‘§gSV¯Ndà@Ù£_ÎÖÖ77·2_&ú«™è/;™èÆ'ýÕ™æ¦óÈÔ#µòøµÅóŸ?ON~‡¦z|e!„Ád¢_€]»vé”çææ²oß>”J%ýû÷×ù,33“ÈÈH²sçÎqûöm¼½½ñðð¨Ü …B!„B!„BTI2ÑoK—.¥qãÆøûû³sçN222ˆŠŠb̘1ÄÇǪó"^¦NÊï¿ÿNVV§NbìØ±XXXj¤ž!„B!„B!„06™è7wwwNž<ÉèÑ£™>}:ÎÎÎtìØ‘¬¬,ÂÃÃyíµ×F¡P‰ƒƒ|ðsçÎÅÝÝž={âèèHDD½zõ2r„B!„B!„B‹™±¨éT*&&&˜™éžjgggBBB )ñ»è”EDDTJœB!„B!„B!ª'YÑ_Ážyæbccµ?ߺu‹† êMô !„B!„B!„AfŸ+ÁÊ•+Y¾|9œ9s†¥K—;$!„¨2v^Ú‰ÿ,L-¸8ëbµh»6[ÿûz–í_€›­G¦1rDBÔ.£6âtÜéb?ÿÜxæûÍ×+¿”t‰UWq:î4ªBížjÇŒî3h_¿}e‡+„ø?’óT?’óa\’óQ>²¢¿‚}ñÅ\¸pfΜɒ%Kô¶ßBˆÚl°×`¢çDÓµQ×jÕvm6©Ó$¢çDãåæUªú÷óïã»Î—×~x­’#B'2>’›F`caÃ/¯ýÂÁ)i`߀1_á·ë¿;™èB!„¢†8vã@±+áÚ¸·Ñ©#„BQ]IÎ#„>ÙºG!D¥ŠI‰aå•ÿë8ªB­ÝZлäw—¤ÞOeÍ‘5ì‹ÞGbF"v–vthÐiݧá媻_jiÛ^{t-!‡Bh_¿½öÙC×1ñ»‰8(85ã ÿ"¶Oþñ +¬$òv$…êB¼ëyóvÏ·õ^ðdHìòÆo~5\ûóƒ1=ʸoÇñÙËŸÑ׳/AáA|yêKmý+³¯`ª0%-;µG×~5œø{ñX[XÓ®^;^ïô:Ÿî @XTon{SûÝ__û•Ã!»qŒ´ì4NÎ8‰£ÒQ/Îv0ó3uÊö_È»¿¼«ýùBÀ,Í,õŽsàͬؿ‚Ã×cjbŠÏS>,ð[@C‡†:í=x T4wiÎÔnSùòÔ—= Àˆ¶#X:°t/¾ÏSåññÑÙ}y7·ÓocifIûúíÕn½›ôÆÔÄT[·4×óÁ±r:î4žË<¢•DWÞ¹Rª˜*s¼r}/  8)hZ·)C[e× íJ©²÷q×»4çQ¥V±÷ò^¾‹üŽ+ÉWÈÈÍàiǧé=’qíÇa¢Ð]¿bèØ©ˆ¿¿-V´@U¨*Uݺ6u9>íx©êl¿°À½Ä¦ÆbjbJK—–ŒñË­_Ôë7€»»^îuŠÊ®§^/õq…¥'9ä<’ó<šä<’ó”†äá<  ¸Û¹ÜvY)Í•z°¶pi«­+—/‘”™„«­«A±—†ƒÒÞM{Arf2.¶.„_ Ç»ž7=÷`ñ¾Åürå^jóiÙiüþ×ï Ö~ÿר_èÓ´N»¦tmÔ•íç·søúae@o5Lq®¥\cò“ièÐù~óKÕŸ‡µõh«ó³G3µ7Ù%]c'k'š85áê«·WÓ^|ýÇ×ÌÛ3Þ#hãÞSSÂ^Ó©WÑ׳´*{¼•t}5ã¥W“^zŸýwäµÿ]Öã–æz?N_ϾzÇðrõbÇ…\½sU»Íбc¬ë]^Z òv$û®îÓ^[;K;îçÝ׫¯¹á¯cUçÉ)D-!9ä<%‘œ§x’ó”Lr}’óQ:2Ñ¿{÷nvïÞ]M Q "þïÆqõjÙVáTwyª<²ò²°4³ÄÚÜZïsggÓ9t¶v&)3‰”¬”¥ŽÝ¤yø3à ‹ ã—þÇÄÙ~~;ßN—§»°lÿ2~¾ø3/µy‰—vÒdzö\hÎ¥¥™%66zíÖµ© =êþ0¥¹ò‘1Ý˽ǛÛÞÄÝ΃ײㆶZê>ihs S àïÕ7?öJÃVÓiü§ßð©çöóÛøç7ÿà¹úÏ1Úg4Ï7^{ìʸž¥QÙã­¸ëû¸ñòp½²÷q×»42r3øâÄüõ+  Ü˹§ó¹æ†ÎбS‘×»2÷«-Ž«­+)Y)Ú²¦ÎMHÈHЫŸp¯¨ìáÕœBˆò‘œ§øØ%ç)"9Oñ$ç)™ä<ú$ç¢t*d¢_öèU•B¡`õêÕ 8ÐØ¡ˆZjêÔ©ØÚÚ; £°0µÀÆÂ†¬¼,îçß×K>5/Åz°~«:dåfqñ‹˜*LyCÚÖ0Q˜¯Ê×+8yÖi+' µZ­÷ØgÊý¢$ÓÙÆÙàØK«OÓ>8(øéÜO k=Œ3·Ï°fø¬Ì¬èÞ¨;¿ÅþFRfÛÎmcf¯¿_gaj¥¹dåeéÝÈh_w±u18&SS6Þ„¥#6 pO ë­^*¯ÇŸ“|C( †=3ŒaÏ £ °€ã7޳þÄz¦l›B o ;L,ÓõTP1c¼=n¼Ñw¢yûç·‹}¼4 W 2{×l^;HFniÙi|óç7¬9²†¹}çjWžÚ6@÷ÆÝIÊLâ«Ó_q?ÿ>¥ýÅ¢ðE8[;[Š¿]uhÞú“ìülÎÅŸcæÿfbnjοeŠÝÃZ`käV•*ýš÷ÃÆÂ†­‘[Úz(& Ý_齨o_Ÿ ð "¢#ÈÊËâzêuÞúù-’³’YÐoöqö²ªo_Ÿµ/­%õ~*S¶M!O•W®öVÜ5ŽJŽböîÙeZ™§±`ï.']&O•GÊý>;þjµZgâÀÐëÙÚ½5×S¯/ž?oýÉ_wÿ¢CƒÇf¬ñ¦/‹÷-fô~²ò²HÈHà½_ß#9+™ &TÊqVÒy451¥SÃN$g&óùïŸs7û.99¿qœ-nÑïc§²ûU^/ðÞ/ïqãî r r¹–r€œO8ϸöãtö!6Q˜°là2ÒsÒ™½k6əɤe§ñŸ°ÿ›Ë’–`ifi´¾QSIÎ#9OyHÎ#9äú(±Âãxœë©×Yq`Çn£@U@s—æLë6 §6p4ö(#ÚŽ`éÀ¥@Ñ#èý˜°«aÄß‹§ŽUZ¹µâµN¯Ñ­Q·rµ‘›ÁÒˆ¥ˆ9À½œ{<ãþ ó|ç±à—ÚÇ;'wžÌ¬Þ³²a©Y©l½‰ ð þ¸õªBm=Ú2³×LÚ×o¯!±Âoyª<¾yPçñæÙ»fóã¹Ù;i/žu=õ¾—–ÆÚ£k ‹ #!#¥¹’võÚñzç×µ7xgnŸáåM/ë}7zN´ö¿w^Ú‰ÿÏçùÎÃç)½ï*Í•Ú}C5†¶Ê?ÛÿS¯î”®Sx»çÛx.Ó½g>ùs@÷« Ux¹z1«÷,><ü!gãÏrnæ¹Ï[q.%^bË™-œøë·ïÝÆÒÌ’FŽé=’mGèœ_C®çµ”kÌÛ;ó çqP:ðF—7xÕçUƒb«ŒñVšëû`{Ž'k':6èˆO96*÷qKs½uïfßåƒCp æÉ™É8(èÕ¤.¶.|zìSžq†íã·†Êúû[^yª<"¢#øùÂÏ\NºLBF–f–´rkÅ+í^aH«!Å~ïbâEV\Åé[§),,Ä»ž7þ=üõÆÑ“°{·-Ó§»]úß[B”•1Ç›ä<’óHÎS:’óHÎSœšóxz6eõêDÌ4ÊñEõfkk‹››[™¿/ý¢F“‰~al2Ñ_½inBŽL=bìPÄCžÿüyròs84åÐã+W2ÞžŒš8vª:™èO’Œ·²‘ßAUWMü½%ãíɨ‰c§:‰~Qåè—­{„BQ%%g&ÓþÃöè”Ç¥Çq#õ†¼\K”HÆŽBˆêD~o‰²’±#„xLô !„¢ÊJÏIgþÞùÄß‹';?›ÈÛ‘ÌØ1;+;¦v›jìðD&cG!Du"¿·DYÉØBh˜;!„¢ªYÿûz–í_¦ýÙs™§v¯Íòzx¯ÎâLï>éݧ—ûXÕ‹­ ›^ÙÄæ?63úëÑ$f&boeO·FÝy1„ ´u«êy-M\ïñ[‘ã­¶2dì!Dm&9OÕ 9ä¶^U=¯U5®Ú ´cG!j3ÉyªÉyDYIÎ#„Э{ÊÉÖÖ–îÝ»û™Z­¦°°ÂÂÂ'•B!„B!„BˆÚBVôW";;;bbbŒ†B!„B!„BˆLVô !„B!„B!„ÕØ™èONNfúôé4jÔ \\\x饗8s挶N÷îÝQ(Ú?cÇŽÀÏÏO§<--Í v5RRRxûí·iÚ´)–––Ô¯_???¾üòK²³³ ÒãÁ­xöîÝ«-¯[·®¶<88…BAVVGŽÑÖ13+zHbûöí:qçää”……ŽŽŽ¼ð ìß¿_[çá6bcc5j8;;3xð`ƒž¸|ù2Æ ÃÞÞkkk:vìÈÎ;uÎñ¤I“ôŽ{åÊFމ³³³¶ìÎ;¥îGYÏ­B¡ ~ýúœ9r¤ÔýB!„B!„Bˆš¬Ò'úãããéСß}÷ü1©©©8p€ÔÔTºté±cÇøí·ß8sæ 666x{{³nÝ:víÚE§Nøæ›oP«Õ888Ô.@BB:tà›o¾!44”;wîpúôiz÷îÍ„ X·nóçÏG­Vccc£ÿ€P«Õ´oß^§< @[¿[·n¨ÕjÔj5 6 µZÍСCõΉ&ž-[¶hãùý÷ß±¶¶Æ××—õë×Û†¿¿?þþþܺu‹­[·ÁèÑ£Ku¢££éÒ¥ §Nâ‡~ ))‰ 6ÊÙ³g±´´D­V³~ýz½ãNž<™)S¦póæMŽ?Ž©©©Aý(ë¹õöö&--3fDBB‡"55•¾}ûrðàÁRõ]!„B!„B!j²JŸèŸ;w.7nÜàƒ>`àÀØÚÚÒºuk¾ýö[Ôj5Ó¦MÓÖõööfÆ DFF2nÜ8Ôj5“'OÆ××—W^y¥ÌíÎ;—ëׯÊàÁƒ±³³ÃÍÍùóç3`À€Ê>z4ñ|øá‡ <˜:uêмys¶lÙ‚‡‡Ó§O'11Qï{“&M¢K—.ØØØàççÇ Aƒ8yò¤vuý£’––Fhh(ýúõÓž¯-[¶••õÈïΞ=›Þ½{cmmM§N((( nݺeî‡!²²²øøãµý~î¹çؼy3yyy̘1£\m !„B!„B!DMPéýÛ·oÇÄÄ„Áƒë”»»»ÓºukNŸ>M\\œ¶|ĈÌ›7m۶ѽ{wRRRX´hQ¹Úýé§Ÿxá…ôÚÙ³gþþþåî§!4ñ 4H§ÜÒÒ___²³³ùå—_ô¾×¡CŸ4hÀíÛ·{̽{÷пrZ¶lùÈïvìØ±Øò²öÃ666´k×N§¬M›6Ô«WÈÈHâããËÕ¾B!„B!„BTwf•Ùxnn.éééØÛÛ—XïêÕ«Ô¯__ûó¢E‹çèÑ£lܸÝ0¤]ÒÓÓ±²²ÂÎή<Ý©šØKŠÇÍÍ (Úça÷Õ€ÂÂÂÇ3##+++lmmõ>wtt|ä÷ÞrGÓfYûaÍVMsuuåöíÛ$%%áááQ®c!ªŸ—vâ¿£èi-L-¸8뢑#‚°¨0ÞÜö¦öç °4³4bDúÒsÒÙui»/ïæRâ%r rp·sÇ»ž7¯u| /7/½ïŒÚ<ŠÓq§‹moüsã™ï7_¯¼ °€¯NÅöóÛ¹žz+s+žq†±ÏŽ¥OÓ>(Š ï›BQIÎS6’ó!„¨*uE¿¥¥%˜™™‘ŸŸ¯ÝÇþá?}úôÑùÞHOO§M›6L™2…ÈÈÈ2·kii‰½½=999ddd<6fòòòôÊ| ðƒ ýÅý¸x4[ݸ»»ÔîãŽiggGNN™™™zŸ'%%•©MCûaè¹…¢—ýªÕêcvuu58v!Ä“s?ÿ>¾ë|yí‡×*´ÝÁ^ƒ‰žM×F]+´Ýòè×¼Ñs¢ñkægìPJ´,bïÿú>~ÍüØ;i/§fœbÙÀe\L¼È°Ã‹ +÷1²ó³»e,?žû‘ù~ó91ãÛÇoÇÚÜš×x«w®V@O„BˆªEržªEr!„µQ¥oÝóÒK/QPPÀ‘#Gô>[¾|9 6Ô¾ÀàúõëüûßÿæÇäçŸF©T2tèP’““ËÜîðáÃؽ{·^]Þzë-íÏܺuK§NBBýõW±ý³¶¶Ö™¼nÑ¢Ÿ}öY±u54ñìÚµK§<77—}ûö¡T*õ¶Ø)/ͶEš-|4ˆŠŠ*S›†öÃÐs ““ÃÉ“'uÊÎ;ÇíÛ·ñöö–ÕüBTqjµšBuácŸ<ªNÚ¬jèͣŒF™ðÁøçÆãbë‚Ò\I‡‚ªPÅòýË‹ýÎOÿú‰è9ÑzŠ[Ù¶lÿ2.'_æËQ_Ò¡A¬Ì¬¨W§+¯ÄÂÔ¢²»'„B…äû,QQQܼy“cÇŽqíÚ5zôèñØsÒ¸qcüýýÙ¹s'DEE1fÌâãã Õn}SQ–,Y‚““þþþ„……‘™™Éùóç™0aB™Ÿ0´†ž[(Ú®(00cÇŽ‘••Å©S§;v,„††–)n!Ä“ccaÃþ7öóÅÈ/ŒŠ–\JЀ ½r/7/¬Ì¬ø+í¯bŸ¢*­;YwøöÌ· m=”º6uu>Sš+¹8ë"Í]š—¹}!„¢ª’œ§j‘œG!DmTéý®®®œ8q‚aÆ1uêTíË_·mÛÆŽ;9r$S§NÅÎÎŽ³gÏ2tèPΟ?Ï;wèÝ»7ùùù:t ‚‚‚ jж9yò$£FbÚ´i8;;Ó±cGîÞ½ËáÇiذ¡¶nPP“&MbÉ’%¸ºº2~üxfÍš…»»;)))( æÌ™£­ÿá‡Ò¶m[¼¼¼5j¡¡¡xyy±}ûv ;vì@©T2vìXxFÍôéÓµñdeeÒkð6$IDATÎk¯=îyüøq½6æÏ/ZI P(X¾¼h‚ÞK‰Ö´iSŽ;F‡xùå—qsscòäÉÌ;—Æcjjª­[Üq‹Û¢¨´ý(ë¹°µµå£>âý÷ßÇÃÞ={âèèHDD½zõzdŸ…B”Nv~6994wi^®½d÷EïCU¨¢ýSí+0:!„BˆŠ!9Bˆš¬R_Æ«áääĪU«XµjU‰uÖ¬YÚ5kôÊõ¯ì¥iWÃÙÙ™BBBYÏÞÞžÏ?ÿ\¯üÔ©SÅÖoÑ¢‡Ò+6lØ#c/M<;w.±²¬>hÞ¼9?ýô“^y||h9gnŸáÍmoâ¿ÃŸmÿÚVªóWÜte¸“u‡•V2Ò{$[,¶NzN:Ë.£‰SâïÅóñ±yûosæöÞí÷®¶^RfÑ‹ÒçìžC×§»òÍ«ß`oeϾè}¼ûË»¾~˜mÿÚ†¥Ýé›Bñ$HÎ#9äŽô©m¯ËÓ]èëÙ—³ñg¹›}·LíU†´ì4&l@§†XÔ¿ø~n»•àÁÁ´vkÒ\Iç&Æ»ž7›No"2>R[7· KSKV ^A‡Ô±ªÃðg†óf—7¹žz/NÈÞÅB!jÉyªÉy„BÔ2Ñ_K¸»»NZZšvŸû_|‘fÍšqâÄ š4ib쵂ƒƒQ(DFFrëÖ- …öÝBˆšáר_èÓ´N¹…©]u%§ ‡Ã×pèZÑöh=›ôÔ©ëjëJc§Æzm‡E…a¢0¡¯g_r[šÕmÆù„ó$d$è|¦4Wjo×háÒW[W.%^*öæúqÚz´ÕùÙͶèå䉉·U²ó³¿u<Í\šñÁ051}ü—0 Åö]ݧ-³¶° [£n˜*tÛÓ\ÍuB!jÉyŒOr!„µ…lÝS‹øúúâëëkì0+ €€€’÷¡BToyª<2r3°4³ÄÆÂFïóº6Eï IÎL&O•GV^–f–X›[ëÕu¶qæzêu½¶Ú…´+1†ØÔXÜíܵ?×±¬Sl=gkg’2“HÉJÁÕÖµtü??ªm¢(ú·u5¥{JeîW«R«˜úÓTÜlÝX9x¥Þ jihÎGJVжì©:Oàhí¨WßÙÚY¯¾BQ“IÎ#9Bñ$ÉD¿Bˆ'ÊÂÔ;K;2r3ÈÊËÒ»ñÕ<¾îbë‚…©66dåeq?ÿ¾ÞoZvš^Ûu¬ê•›ÅÅw.–úf.-' µZB¡Ð)O¹_tƒælã¬-S [§²Tæ~µó÷Î'O•Ç'ÿøDçõý´/¼øíê•¶[•u•*¯)×úŒõJNOÖÂØ…—ÜõÖÙ¿³¿ITFQ†jj”Uœ¥yŸÏ“ÍצWmù°òèÛ¢u¼ì¸ŠÏ+£(Cg 4(lPû,JÍJUÒwI:X|Pýû+2!²Å¿‚ò‚K¶9|ê°–l_¢gO¨®±NÇÎÓü/æëPÉ!M8E1¡1Ícý|ýôÆÈ7töüY½ø¿/*ÿl¾ÎÕžÓ–C[ôÞÞ÷£gï{¶#ÿd ÅœÇÌyÞÈâv»[·pÞ•v`±(%%E'NôT&Àc,‹’’’4räH££ÀKÍž=[‡C6lðø¾óòòZ=6>þÂCÑV®ì¸‡¢¥å¤iÖ¦Y-Þ=V‰£%]ø ú;{ÞQZNšJ*Kd·Ù5àöšþ»éÚch‹íŽ—ײ¯—ijt5ª×-½¼>úþ#íÉß#IšÐ‚ÞùFó¾ßÝó®Òަ©ø\±‚‚ÔÇÙGÓ†LÓýwÜßbߣ?­²ê2­}z­–îXªŠ~«É¥þ¡ý5ï¡yØ}`‹ñÇÎÓ¢m‹t¨ä‚íÁš9t¦&ß3Y™'3·6®Å؆½ ¹ÿ5W‘ ‘-Þ9\«ãV·ñȶݴӴ+wׯŽÙ8ecóרë]õúwî¿õÙáÏôSéO*©,‘¿Õ_}œ}ôÔ€§4ºÏèËî#£(CIß%)ód¦jk®Q½Giúï¦+Ààñ¿ ÀõmëV‡æÌq*7·õŸ[@[q¾1çaÎÜÀE‘‘JJ:¥‘#«ŒŽr8r:mÞž¢74Š~Í›‹~³¸xÑ›>;Ýè(pC¢èGGâ|»2æ<Ðþ(úq-®µègéLÌê‰Lš4I“&MòÄ®›3gŽæÌ™ct x±¸¸¸ß´Ñ5ý)))žÈ´‹½{÷ªW¯^ 1: ¼XXX˜Ñpkö¯Q®„æ×‘ ‘ÍëËÜ(˜óஹègm~\Ï8?\ÉÔ!S5uÈT£c´+æ<xÖèÀÄ(ú01Š~LŒ¢£èÀÄ(ú01Š~LŒ¢£èÀÄ(ú¸Îœo8¯GV=¢i§ Ý0çÀs(ú¸Î¸Ýn5¹›ÔÔÔtÉÏú%öÓ¤O& À³˜óà9V£€–:ùuÒ®™»ŒŽЮ˜óà9ÜÑ€‰qG? ]¤å¤iÖ¦Yͯ¿šö•Þþömí=±Wå5å’¤Ýê@áæ1»TÊ3)’¤=ù{4åÓ)ú îÅFÆJ’–îXª¿ÿ÷æñG‘¯Å÷ŠîZv—\M®VåíÚ©«öÅïûÕ13SgjÇÑmΛ<>Y³7Ïn~}¹còú¿®—ÿïåæ1‡ç–¿Õ_kö¯Q®IÒŠLˆ”$ùúøêÈKGšÇ—/Srz²væîÔ©ÊSêìßYƒÂ)þxõ¾µw«Žh=æ<Ìy¸XÜn·Û耫———×ê±ññNIÒÊ•§Ú+Î]¼P6X/>ø¢ú‡öWÎéMüx¢öÅïÓÖŸ¶jÉö%zkô[=¦y»_.PjVªFõ¥cW4¿Ÿ–“¦øXkŸZÛá‹$­ËXwÍyë˜t±wisñ¢÷¢~‰ýÔÇÙ§ùbû—J«J5áã ªk¬SÂÈ ¬¢Š"-Ù¾D‹ê“§?Ñ=Ýîi§#—·u«Csæ8•›ÛúÏ- ­Œ<ߘó0ç€ÈÈ%%ÒÈ‘UFG 99Î6oÏÒ=€1cè "»Í®˜Ðy鈺ػhÔÝ£dóµiËá-ÍckkµãèõèÒC;îTu}uóÏ6Ú¬ñ}Çñ'H’Gó^阴՛»ßTQE‘^Ž}YG<¬@[ ¢ºFiÅØr»Ýz-íµ6ï´sžK1ç ýQô:DLhÌeß¶ëሇ•žŸ®Ÿ«~–$í8ºC1·Çè™{ŸQmc­¶Ù.I*¯)×þ‚ýzâ®':,w{æ½Ò1i«´œ4ùX|š¿FÑ-Ž[Õ5J‡J©¤²Ä£¿´ÄœçRÌyh¬Ñèv›ýŠ?ßw¼ÒrÒôyöçúã ?jË¡-ßw¼†öª„] úìÇÏô‡~ÐÙ_hxäpÚ[õ;=½^­§óþÚ1¹Zõ®zUÖUJ’¼=àŠãòËòu[çÛ<ö{@KÌy.Åœ€öGÑ0Üðˆá ¶ksÖf‹§Ì“™JŸ¬k€¸ã}—ÿJ«Jµ)k“æ=4¯ÕûýåÛÌ·5,²\ö}?_?©º®Z?¾ôã¯>°ƒ9Oë1çàê°tÀp6_›Fõ¥ìÒl%îNÔ£Q*À I×wœ\M.­øv…J«J5´ÇPƒÓ›×n³«ÁÕÐüú±Ó§™ŸJ’ž¸ë ¹Ü.((—»uwûÏcÎÓzÌy¸:ý€ë¸èq’¤”ƒ)-äöX¯ÇÔɯ“R¦hlôXùX®.£òFß­ãeÇU|®XE*8[ Aaƒ$Ióš¯ðàp-ørvۭʺJ•×”k}Æz%§'kaìBîzÀ`ÌyZ‡9W‡¥{À øû»UYÙ±‹™'3·6®ùuô›Ñ’¤Üÿɽìø{ºÝ£;ºÜ¡zW½‡ n~?À wPjVj‹‹K£µ%okŽIZNšfmšÕbÌØè±J(Izå‘W´hÛ"=¾úqÛƒµøñÅŠ‰$…†hÓ³›ôîžwõç¯þ¬âsÅ Rg½ÿäûºÿŽû= à7ÔÖZà6:¼„¿ÿ…s­¾Þ"?¿Ž9ï˜ó0çéœGóÆâv»9ûÀ„òòòZ=véÒ®:xÐ_6µc".õá‡ÁúÛßnRzú ££À 8 I“º)=ý„œÎF£ã¼HI‰U<ÐCÿúW‘î½·Öè80!‡Ã!§ÓÙæí¯ïÚUDD½Žõÿµ èh99~ŠŒløí€DD\8׎ñ38 ÀÛää\øì¹óÎzƒ“À[Qô€0 VUU>ÊÊò7: ÀËìÛg×€ÜÕ†ŽìRÏž Ú·Ïnt€—Ù»×®ž=Üdtx)Š~ðwß]¯ÛooÔöí££¼Èþã¯ÂB«bc«Ž/2|xµ¶mëÄ7¦©IÚ¾½sŠ¢¼€Å"ÅÅUjãÆÎª©±à%Ö­»I½zÕ+&¦Îè(ð"&Tª À¦Ý»Žðß|¨‚›ââ*Ž/FÑ^bòä Õ×[´jU££¼@v¶¿¶lé¬3ÊŽ/U¯ØØj-["—‹íËå²hÙ²ÅÆV+*ŠõùaŠ~ð!!.ÅÇŸÕêÕÁ*,´pƒûë_CÔ¿­ÆŒáÎ6t¼W^9£'lúç?ƒŒŽ¸Á­[¤ãÇmZ¸ðŒÑQàå(úÀ‹L™R¡îݵpá-jlä7@ûøÇ?nÒ÷ßÛµdÉiYø¸ÂÃôÜszû훕—Ç €ö‘—gÓòå7ëùç+Ô³gƒÑqàå(úÀ‹X­n%'—(+Ë_¯¾z‹Ñq7 o¿ Ô믇hîÜ3êÛ—µùaœøø2EDÔëùçCUVæktÀ ¦¼ÜG3f„ªGýéOeFÇ(úÀÛDEÕë­·J•šÚYï¼ÃzýÏ9xÐ_ññNW¥™3Y›Æò÷wëý÷K$Yô ·©ªŠË_€gTUùhæÌP56Z´fM±ìv·Ñ‘Š~ðF±±ÕZ²äg%%ݬE‹XÆpí¶msè™gºé¾ûjµtéÏFÇ$]xFÑêÕÅ*(°iâÄn*,´ `r……VMœØM6­^]¬—Ñ‘Iýàµ&O>§÷Þ+ÑçŸ;ôÜs¡\øÚ¤®Î¢åËoV|¼S&œÓªUŲٸ« ר¨z¥¦Ê××­'Ÿì®¯¿4:À¤¾þ:PO>Ù]¾¾n¥¦**ªÞèH@3Š~ðb±±ÕJI)Ri©U#F„kùò›USÃÝý€Öùê«N1"L~x“^{íg-^|Z¾,…ŽëPhh£RRNjذMªéÓC•ŸÏCz­“ŸoÓô顚:5TÆÕ(%å¤BCŽ´`q»ÝÜn&”——ç±}56Z´víMZ¹²‹l6·ââ*5bD•úõ«“…Þð %%VíÜÙI))•í¯1c*µ`A™n½•‹]˜Ãþývýå/]•—gÓ£Vküø* vžõ•-ÔÔX´gO 6ovhÇŽNŠˆhÐâŧ5dHÑÑpƒr8r:mÞž¢LÊ“EÿEgÎøjݺ mܤ“'­r8šU¯.]\ò÷çã¼US“E>ÊÏ·©¤Ä*»½I#FTkÊ” õëWgt<હ\}ñ…Cë×é‡äããÖw6Èél”ÃÑdt<€ªª|TRbÕñã655Ytï½µzúé ýþ÷Õòõåº퇢¼T{ý¿”í§ÌÌåæú©¢ÂGuuÜÚÞÊÇG jRXXƒ¢£ëtß}µü0n§Oûjÿ~»²³ýtæŒUUUÌyÀ›9n…„4ªwïz R£®]yØ.:E?x©ö.úÐ1®µèça¼˜E?&FÑ€‰Qô`bý˜E?&FÑ€‰Qô`bý˜˜Åív»¸zUUUFG€X­V´y{Š~LŒ¥{01Š~LŒ¢£èÀÄ(ú01Š~LŒ¢£èÀÄ(ú01Š~LŒ¢£èÀÄ(ú01«¤ F‡móÿÄ,‹D¨Ê×XIEND®B`‚fio-3.39/examples/dev-dax.fio000066400000000000000000000020701476262051600161020ustar00rootroot00000000000000[global] bs=2m ioengine=dev-dax norandommap time_based runtime=30 group_reporting disable_lat=1 disable_slat=1 disable_clat=1 clat_percentiles=0 cpus_allowed_policy=split # For the dev-dax engine: # # IOs always complete immediately # IOs are always direct # iodepth=1 direct=0 thread numjobs=16 # # The dev-dax engine does IO to DAX device that are special character # devices exported by the kernel (e.g. /dev/dax0.0). The device is # opened normally and then the region is accessible via mmap. We do # not use the O_DIRECT flag because the device is naturally direct # access. The O_DIRECT flags will result in failure. The engine # access the underlying NVDIMM directly once the mmapping is setup. # # Check the alignment requirement of your DAX device. Currently the default # should be 2M. Blocksize (bs) should meet alignment requirement. # # An example of creating a dev dax device node from pmem: # ndctl create-namespace --reconfig=namespace0.0 --mode=dax --force # filename=/dev/dax0.0 [dev-dax-write] rw=randwrite stonewall [dev-dax-read] rw=randread stonewall fio-3.39/examples/dev-dax.png000066400000000000000000002665431476262051600161320ustar00rootroot00000000000000‰PNG  IHDRL½>1p\bKGDÿÿÿ ½§“ IDATxœìÝw\GðçhG9zïEŠˆ ÅŠ‚ˆ%*öKb7[M4íÕ˜Mìk,±‹%–XAEEĆ"½JoGçîÞ?Öl.Ç"rü¾Ÿü±;;7óÌ“ÙÙ]ŽH$"-rͼ{Hòd’<„$@!ÉAHòd’<„$@!ÉA ÍȈ‚‚‚aÆ1Û›6mêܹsk‹$>>~×®]OŸ>-..‰Dnnn:::ÿý7uíÚuýúõï' ’<x7*++™íüüüÖIjjj—.]Ä»ãñxFFFL$ øe ï~ï¼Û¶mc2|Ø××÷ÀLñãÇkiiÑãÇÙ§¢0ÊËË¥„ˆRSS?™™™Y^^.‰™C l5EEÅ“'O:;;gee•••‘——תU«¤?9’…„„°A²ÏU_/Ò¥K—wÕ´fHò ÞØ%n<-TWW¯V­¤¤„ÙHJJJJJz»ÜÜ\fcΜ9þþþDtàÀE‹9r„-'‘\½zuĈµ­Ì«V®¯¯oaa‘••Åì:88°écã±çD×±cGÏÿâr¹ÒG’ÍløøøLž<ÙËËKNNNü*-ëèÑ£Û·o'"--­uëÖ1…3gÎ|ñâ[',,,000000..NªóUÓ9¹zõjPP ‚•+W2…šššâ—nIÔÛܹsÛ´iCDÀÃÃÃÙÙÙ¢¨¨¨ZµyóæyxxQNNN—.]]]]ÍÍ͵´´>ùäæú,kæÌ™ÌUQfNKSS“½o£ñ‘ôë×Ùøõ×_;wîܱcÇÑ£G›››W«öüùsvfnÏž=K—.evù|þ¨Q£Š‹‹¥99’Í›7¯gÏžLÀžžž;w¶°°`.Os8œßÿ]SS³ñ½’<huuuö‘¿UUU‘‘‘žžž‡®VËå^»vmÕªU&&&DôâÅ‹û÷理¤¨««Oš4iéÒ¥â•MMM}||ØÝO?ý”y|É;‰dÓ¦McÆŒáp8"‘(22²¢¢âÊ•+FFFâuÄ3¹Ù³g=šˆ6oÞÌÜ„ûüùóÙ³gKwz$QVVö÷÷_±b…®®.pZZ‡Ãqss ˜0aBã»`pD"QsÇ-URRRjjª¥¥¥‰‰Iee%sý‘ˆ:wîÌÜËJLLLKKãr¹¦¦¦5¾Ú!55•]©Ö¾}{ö‰zï*’ìì츸8 ‡Á¼ßÂÔÔÔÎÎ.###**Š©éêêÊ>?%==}e™››—Ë ãóùDdaaaccÃzüø1s‰‘‘»ÖðåË—éééD¤­­Í¾äƒ!‰^½z•­¤¤dcc#þl?€wI€ ÂåZ„$@!ÉAHòd’<„$@!ÉAHòd’<„$@!ÉAHòd’<„$@!ÉAHòd’<„$@!ÉAHòdBs-LFFŸÏoî(Zghh(}}ÌäÈ $y2I€ B’ ƒäÈ $y2I€ B’ ƒäÈ ¼ñšMEçÕ+¥œùâbü'@Cp8" ¡¹y•™Y%‡ÓÜÑÀI¼orgϪ_»¦öð¡²@€¿K¦°W¯’¡CùÅòòÍ |äÀûSZÊÙ³G{Ï-99Q¿~ÅãÇg:9• ÔÔ„Í@‹$RA|b¢bD„r@€êìÙF•+Väôí[ÜÜ¡AóãˆD¢æŽZ’ŒŒ >Ÿß€^»¦¶zµ^a¡Ü_äM˜PˆÄàKLTܼYçÂ^Ïž%+Wf[ZV6wDð.ñx¬Òê É€&QZÊùé'½Q£ŠFŽ,jîXZ/99Ú°!SNŽ6nÔnîXà}C’Mb÷n킹ŋsš;€ÖŽÇúúæ?®¥ÔܱÀ{…$Þ½‚¹½{µæÍË30h1÷ÒæååÙþãþýûˆ¤1bccÙ!DGG7w85ãFEioÙbæãÓÆÖ–ùOgÆkr“'M&M²rq±qr²ðö6X²D9<ü=Ü#Fµo_¾i“Nsïn¼€wïìYu99Ñ„ …Í|@ú÷ïGD¾¾¾Ÿþyó£ðúµ™45åóòŒfÌPŽŒdKÔÏ‹üX¨ªÚd1¾KMŸžÿå—†¯_+U5w8ðž`&Þ½k×Ôúõ+ÆáÃÅáT8:æÍŸŸrî\•©i­Õ„BÃ/¾`2¼Š6mÒ÷ïO z½cGI¯^ÄiIo^îׯXYY ÖÜÀûƒ™<xÇÊË9ááÊãÇg6w ÐlÚ´iÓÜQHReh˜|áBÕx—/«„†‘PM-íÐ! 54ªúõ+îׯɣ|§Enn¥ÁÁ*'4w,ðž`&Þ±ØX¥ª*Ž“SEs"IUUÕ¶mÛúôéÓ®]»þýû=z´¶š}*—Ÿ_ejZ<`@Þœ9B¯1¿ÆÆæŸ'´˜É€w¬´TŽˆTT>Üy.\`󪯾ú*<<üÂ… lúví“yÈË˯Y³&22òêÕ«ŽŽŽD¶víZ"âp8&L`êŸ>}šÙ …ýõ³=qâÄÆGÂårcþñêÕ«‡®_¿^QQ‘ˆÎž=ûäɦš½½ý?þÈl/_¾üرc‡""55µíÛ·KH•ˆÈÝÝÙ`RºŠŠŠˆˆ¦$**ª°°Ä²=¶2ëòåË7n|ôèQLLÌ·ÿäX¬ ÄÄİɮ¯¯/3fÖPšó,AÖªUööDÄŒÔùí7ƒ… åø|"*?¾häHÉŸ•ŒS^.Wôæ)êgΨ޼)Ÿ•Å©¬TLHÐÚµËtÔ(9±¹ÛAUUXR‚¿û­¾lxǘë‡ò’ôóçÏ3:t˜9s¦†††££ã’%KªUc¯œ2d̘1jjjmÚ´ùòË/™ÂÓ§OWTTÑÈ‘#¹\.=}ú”y\HPPPFFéëë÷ë׈¦Njû_¯_¿–>qGSSsذaíÚµcJîÝ»Ç>|øøñã‰(//ï»ï¾c ùå6Áª-’^½z1?~\RRQ^^®¥¥ejj* CCC+++>|ÈÔy;É›3gޝA3[RžçÚˆTT^oß.TS#"­={˜›$ÊÛ·Ïþçšuƒq*+Åws¾ù&>22íðaæŽZ¥ØXmÛÙÅ{ÆáÐ?—÷¡U@’­N||<³áääÄŠo3ؼ;wŽM‰f͚Ŗ––&&&‘––Ö Aƒ˜Bf2½V;vìXI«b¤Œ„ˆ®]»6kÖ¬^½zµk׎‰$òŸ‡zdgg‹×üþûï™i0ƧŸ~úñÇKˆajjjeeED ,,Œ™´ëÞ½»››…„„ýرc999╇ &~Û™™™43^RF2òŸdâòåË]ºtqqq¹~ýzûöí«U»~ýúÞ½{‰ˆËånÙ²¥K—.+V¬ "‘H´téÒ””ÉÁ¨ªª:;;³»Ý»wg6˜+¶Œ¶mÛêééÕ9®±—ƒ¯]»Ö¡C[[ÛåË—S=Ïs5œÊJ£ùóåóó‰ˆ?thѨQY?ýTiiIDÊéÖ>/ÈØWÖ*¤¦2…Ú¿ÿΔ.\È”Tg®_/RT$"ÝŸ~²îØÑdâD¹’"âRðOz ðaB’­‡ÃÙ¾}û‚ ÌÌÌ­­­W®\ÉÞÎ)Î××÷رc>>>fffJJJÌŸ}ûö]³fMµù6•ádz»ãÇ—“«û¬”‘Ìž={åÊ•öööÊÊÊzzzãÇ?|ø03KÇJLLd¯É®X±ÂÁÁˆ&NœÈÜuQXXøÅ_H¾M•þ{)–ÍíÄ“¼·ï«•Þœ9s¦L™bdd$/_ýQmÒŸçjtW¯æFFQ¥…EÖ?‘PM-cËæ® ̓yÿ̺5Xq¿~)çÎñ‡ «20)(54J]]36lÈØ´‰ÞÀ…#ÂíÔP|>_B…K—x ÆÄÄJ¨ïþm¶t<ÏPì :a&@!ÉAHòd’<„$@!ÉAHòd’<„$@!ÉAHòd’<hIvìˆ>}:±¹£¨ÁX +·lyqëÖëVÕ5@k€$Z’ßqútRsGQƒ6°:VlÙuëVF«ê 5Phîêaîܶܿޢl`Ðj!É€–dÎûæ¡fl`Ðj!É€–dÇŽhî¨Q–l‰@ ºw/+:ºP ¶i£áî®ÏåÊWûÔÓ§ù¹|~•¡¡²‡‡¡®.—ýìöí/mlxC†˜ÅÆݽ›YQ!tvÖqqÑ­ÖBqqU@@zZZ©‘‘J¿~ÆèÀØŽµ<=ÞLúf%ÄÖtª¥¶j5VZ*س'ÚÒ’7l˜¹xe‘ˆvîŒÖÐP˜8Ѧ‘]çæ–‡†f'%+(ÈÙÛk¸¹éËËs˜C—/§¾zU4p ‰½½[?((óáÃ\77½nÝô¤? ­’<hI~ÿýE‡Úl’S4gNH|<Ÿ­`h¨¼uk÷.]t˜Ýììò/¿|œÅVPQQøá‡Ž£G[QU•pË–(ooãÔÔ’ß~{&½©3v¬åÏ?wa?òäIÞ¬Y!YYeÌ®òêÕÎ[¶DMšdÃ&yâIÙ¬äØjtölRrr‰äS4y²¶¶RmG«E__yõjçju$¦¢"ð:.®ÈÛÛXMíß¿ ÁÁYë×?›=[Òt¦4]ÿøããcÇâ+*„l‰•oÏ7kk9:j._þ×_IýÕGCC‘ˆbc‹æÌ 12R>ÝVB×­’<h©JK«¦O¿—šZbb¢êáa¨¨(”fðåË} ”ÑÌ™ÁOžä™™©õêe ©©”˜È÷÷O_±"ÂÖV£sgm¦GroÜxíáadg§ž‘QvéRÊÉ“‰C†˜÷è¡ODÅÅU³g‡de•Y[óÜÝ ÑíÛË—‡×žäf¥Œ­š³g“îÝ˪ñkð`ÓÚ’¼·ÇX},u6v¬å?D^¼˜2nœû)?¿"3¦ÖôTš®‰èÎLggmSSÕòraTTAHHÖ²eýü<ˆÈÊŠ·n]×¹sï/]¶s§[i©`îÜû"gûöÄ3N`à_´T.¤¦¦–té¢s𠻊Š<UU‰-zpåJêÑ£ñ‹9^»–öäIžÙo¿¹°—üž<É=:pÿþ˜Í›»1%99å;v¸z{¿¹zØ«—ÁÒ¥oÝzÍdc.¤df–õîm¸k—«¢¢•–V}öYPNN¹äð$7+elÕŒaáâRÇEIZ/ø^¼˜’™YÖ«—ÁîÝnÿŒE0yòÜÜÇRg`ÆYüò˳“'Ù$¯  âÚµô>Ò³²â5¦k"Z¹²“zHHVzz‰’’ð£ô²³Ë""róò*˜Ìµ“™3íöìyµk×˨¨ÂØØ¢õë]ìì4jî uC’-Uxx-\èÈdxD¤ ÀñõmwåJêÇ9D”IDªª ;wF‹D""‰H$ih(>y’ǶӮ›Šs63óÍUňˆ\"š?¿-“š‘ŠŠÂܹ3fKOr³RÆV͈uŸ—Ú…‡3cq‹ü_´9óß±Ô§0p ÉÙ³IÑÑ…ÌÚ¸sç’ËËcÇZ1-9/žOœh­«Ë•¦k"zô(oêÔ ª*ýWNN9;=éëë™÷Ûoϙƫ­’<h© *ˆÈÂâ?³GææjåçWQnn8‘ ¹ccñ]UÕ7“‚⽘šªŠ×13S«3<ÉÍJ[5\“ÇŒÅÌì?c17ÿÏX¤ lìX˳g“üü¿ù¦ùù%ª«+hÂ=|8îÕ«B¶òÀ&ºº\iº ÉZ¿þ™’’œ··‘¥¥šªª‡Ã¹s'#""W(ü7í“—ç bš-'Ç™175Ô I´TššJD””Ä77ÿ7uHN.‰HKK‰­0q¢µ®®rµÏ*+Kû(x¦‘ÔÔƒII)n\ì Œ­‘kò˜NSRþ3–ääâ·ëH¬[7=õ³g“–-szù²0*ª`âDeå7ó©“&ÙˆÏä1·åJÓõÍ›¯‰hÛ¶¼¼þŠÊ¯FLLÑš5OLMU_¿.]¼øÁ±c½8µ €Ö I´T]ºèž:•¸uë‹.]tTTˆH mØðœˆºvÕ%"77=?¿@4ožƒœÜ¿y@VVYzz©”½8;ëœ>¸}ûË;]™d¢¼\°sgt#ƒoXl\“×¥‹ÎéÓ‰[·F‰/ŒÛ¾ýE3ÆríÚ§þþé!!ÙD4vì¿·\Lœhݰ®9ñxŠlIHHÖÿyéYI‰à‹/îÑô¸q#}ݺg¿üòäÛo;J<%­’<h©||L·o–3p`{wmLL‘¦¦Ò„ ÖD4x°Ù±Ç'ܹ“Ù£‡®®RaaeB?44{út»Žk¾ƒõ­^Ì6oŽºuëõ Aîîðö팒q1԰ع&oȳ͛£îÜÉdÆ"Ò­[¯KK läH‹õëŸ:Uàè¨éä¤Õø®uˆhöìM´µ¹¯^fèè(egÿ;/øõ×cc‹6nìfk«nk«‘{à@l—.ºƒ™6æÌÈ$$yÐR©¨(üñGæ9yGÆ3…Ê[·~Ä\”—çüñG¯¾zxãÆkæ CCe)3<"RSSعÓuุ֬¢¸¸""Ò×W^±¢Ã’%aªª ÿúNb«/55…]»\gÍ ‰ç3ÔÓãþü³ó矇Ô70]]nß¾ÆW¯¦‘ø³TÓõ€&>>f.¤øù%2%cÆX©«+ìÛÃì8{éRê¤I6>>fLɺu]‡¿¹|yxÛ¶66ê ;-² I´$Õ^kk«~åŠwPPftt¡@ ²±QïÝÛ@üÚÚJ»w»ÅÆ……åäæVèè(YYñ\\t™‡ƒ((È-XàhcóŸTó„ä IDAT[7˜B[Û3†N´ú¤§§—©x{߸‘Nÿ½µB<0)›•[éÐAÛß¿óÚ CCeooc‘ˆ,pìØñß©8)›7¯­ƒƒ& *Õý­Òt½qc· lž>Íçp¨kW´ïÞÍäñuu¹••ÂÒRÁ’%N3füûÜcuuÅ]»Ü.]JŠ*@’P G$ª~§:€|>_B…K—x ÆÄľ·šZLL‘©©*û –¼¼ŠqãnÇÅ]¼èÕ¶­fóÆ =Ùû·ÙÚðxÎJN.–——k×Nó£ôsk-À{€$ nŠ˜4wõ í3ß A’ ƒäÈ $y2I€ B’ ƒäÈ <'ZŒJAågÇ?s1wYÜ{qsÇòürþµèkÒ¥¤p¸N†N£:Œ2Ö0nUC’-†P$ MÕPÖhî@þ#2-rÂÑ åUålÉõèë»BvmºÑÛλ€VI@£ð+øŠòŠC‡t4îhªiš[’{$âHdZ¤ïEßÛsnh))´Hò¥³Içûóïs¸l‰O;Ÿá†¿Ìz–æeëÕŒ±@k†$Zž AÅш£!‰!B‘°«Y×É]'«*ª²G3ù™~ý¢³¢ùå|3-3w+wo;o‡ÓDÁ¨)©U+Q”WìaÕãeÖK‰˜v5áüžóD I ‘ãÈyÛyì0’ øÏ‡¾È|ÁSâé4¦§UÏ& Z$yÐÂE©'¦ÞOºÏìÞˆ¹qæÉ™ã“Žk«hQtVôØÃcùå|¶þ‘ð#c;ýùãŸkkð瀟Ÿ¾~*¹Óß|~3Ñ0‘>È'éO¸ Ü®¦]Ù˜C“Cy\Þ ¿A ALáµèkñ¹ñÃÛŸxtbvq6Sø÷‹¿ÿóGo›ÞÒ÷P#$yÐÂÜŽ»Íãò–y.³Ó³K/JßsOlNìjÿÕë}ÖÑñGÇùå|Ï6žÃÛ×RÖJ)H¹·¨¼HBƒ/²^„&‡Jî´´²TúODžK [Ü{±–ŠVµÈuTu¾éû®MtVôÖ»[÷†î½sÃLÓì«>_i)k݈½q,âØÆ;‘ä@ã!É€FD¢?ÇÿÙΰ³ûqÛûíî÷wÔß?üQUQUANˆ~ò›`ï<¾°¬PBƒËû,/,—Tˆ¤ŸÆ»s㇫? pð¹ÛçÕ)È)œ˜tÂ\Ëœˆé8vÛ>Ï_?òúI•°Š)h0ü€ÆÑÀ‘ÍðˆH[EÛÛÎûÔãS1Ù1;~âüÉÙ§ggš5¼ýðöFíô¸ \É·¸::¾«Ø.F]ô½àëeëµyØf9Nõ§Íw0îÀdxŒ¶m‰h€Ãñ|ÎÑÐ12=2£(ÃTÓô]E­’<haÞÎØ4•5‰ˆyRµŽµÿlÿóÏÎßK¸·/t_Zaš»µû2Ïe¶z¶µ5ø®Öä ?²òúÊþöý7 ÛTã<'‹©Sca•°Jr_uB’-LtVt¥ RQ^‘-y’þ„ˆ Õ ™]MeÍÉ]'Oî:™ˆ2ù™ŸŸþüÓãŸÞüü¦øSNĽ“5yÛïmßx{ã`ÇÁ†nçÈK?€&‚$Z˜ìâìýüÖû[%y%‘Ht ì@hr¨…–……–;ÐV¿­«¥+SY[E›Çåe¦g&ä%8è;ÔØ`#×ä‰D¢Ÿoü¼ÿÁþaNÃÖ ^‡ >Hò …i£ÛæÔãS£.Zi[¥¥gñ³ˆÈ×Ó—9¸Úµš’š…–…’‚R\N\Qy‘¶Š6“Ö¨‘kò®F_Ýÿ`?‡ÃI+L›|l²ø¡O]>è0°14’<ha¬u¬—z.]~iùãôÇD¤ÎU_îµ|PÛAÌѩݦ EÂ{‰÷¢2£˜’îÝWô]¡¢¨ÒDñ0kE"уäÕõ³ï×DÔ‰#‰š;hI222ø|¾„ —.ñ,0Œ‰‰}ç] EÂÉ´U´íõí+•¯²_ EB{}{%y¥j5K*KóE"‘±†1ó䦓]œ›Só`-µ-ÔªEÎÍ/Í™õÒJÇÊgÈ&ä%det2餬 Ü¤aC+Ôtÿ6áýàñx†††u×ûfò ÅãÈu·èÎl+Ê+Š?H¥UEUGƒwö`ÉôÔôôÔô$ל¥¥¢õv¡•¶••¶Õ; Z­êq€$@!ÉAHòd’<„$@!ÉAHòd’<„$@!ÉAHò@vtXßa‘ ÍEKR팵ˆ˜^˜î{Ñ·û–îí~m÷ñÞ=<$‰š;(€’<h½Ö9|züÓæŽâ=‘Á¦¦úsÔ_OÿÊ)É©T¼Ê~µòúÊ•×W6w\"$y­×“%OŽN<ÚÜQÔÃÚ›k3ù™=¬zøÏöæûlûˆíjJj‡Ã?J{ÔÜ¡|pä@ËPT^tåå—·mø6+m+®w€Ã€%KˆèdäÉæŽàƒ£ÐÜÔσäûì O /*/2×2ïoßF÷šÊšo×LÈK8~$(!()/I^NÞ^ßþ“ΟŒì0’ˆÂRÂÆOD÷îÙþbËÔ?2áHw‹îµõ[^Uîô›“·÷·ÞßþðSHbˆ@(p1wYê±ÔÑÐQ¼fhrèÞû{ÃSÃùå|#u£æ÷œÏãòÄùÎû»µ7×ÞK¼—_šÿxÉcUEUÉã’¦ÍUVýðóø;‚ gSçå}–3Il‡õ:u0™'¡_"ºssØþè¬h~9ßTÓ´—u¯™®3 y†Ò}“õ‘Q%¬êÓ¦†²[8´ÝÐý M m¢NZ.$yÐ’zxh•ÿ*v¡}lNìŽàgqïÅoWžujV\N»‘‘‘ÉÏüÜíóPPV0îи ~³{;îvXr؉I'Ø<ïXıï¯}ÏF˜RòGè÷îœ|REQ…md족l#B¡Pò¸¤i³°¬pÜáqÉùÉÌ{“O¾>뺶Švƒ+¹ß›17gžšÉVŽÍ‰Í‰}]ôzÛˆmµ5øéñOï%Ü“ÜéÕ™WÛè¶©ñPb^"ÙëÛ‹j©hò “ ’…"¡—§þ…$ZŒøÜøÕ«å8rÓ»OÓqŒ±†qjAêµèk\nõmumgvŸébæb¦iVVUö"óÅ÷W¿ß²s¦ëL3—˜¯cÖ9t·èþçø?¥áAòƒÎ&ù»½¾}ZaÚÆÛ¯¼¼²òúÊ㓎Qr~òÊë+5¸_÷ùÚ³§¦ŠfR^Òæ»›/¿¸|0ì ›\>H~àlê¼}äö¶m•”%KÊ6C“C?2ÿhó°ÍvzvüŒï¯~/áÞ¹g禸LiØ`ëì×ÿ•?-î½xLÇ1Z*Z))A ALÖDø|"z{ÖVKEëuÑëÒÊR5%µ¦ë ÅA’-ƹgçBÁÜsÙy»6ºmæ¸Í©­þÊþ+wïØ¼3½0½BPÁ–§¤ZhY4,UEÕ]£wéªê2½o¶iðƒÃR²‹³õÔôþzúW•°jõÀÕ·ý˜©o«g»i覰”°ëÑ×Ù„LUQuר]:ª:ÒŒKÊ6µU´wÞÍ\HµÒ¶úÎû»÷~ü"óEÆ)M¿FêFD4Ìi˜>OŸˆ¬u¬­u¬%·Y¯|úmµ=*P¨’<h1bsb‰èc‡¥©\PV0òÏ‘é…éo*«,kp í Û1CANÁÍÒ-6'61/QOMïUö+"Zt~Ñ¢ó‹˜ÌCD"fƒCñFØ ê—”m:9±KåˆÈ\Ëœˆøåü´Î~§v›š:xß`öFíÛµw1sQ”WlpuRçªQAYAµò‚²y9yöÊ50ä@ Ãápê®DtúÉéôÂôþöýç»Ï·Ô¶TQPáp8ß]ýîXı¦‹J(‘@(x»‚øT¢–ŠVm-¼MÊ6•”ÿÓIu–$¨³_—wè“CÑYÑ÷“î¿È|qêñ©Ü’Üÿõÿß`ÇÁµµÙÈ5y–Ú–D-^˜_šŸÁϰԲĂ<€jä@‹Áüí¿üâr[ƒ¶uVNÊK"¢%KØŒ¡BP’"^‡Cœ*AU½bxžñ<§$‡Ì«V'sý—éëàøƒ=­zJߦäq5¬Í·Õw°Rök¯oÏÞ ñÅÙ/|/úº[»×x³sã9›:+È)ÜŒ½YXVÈÞ`{þùy‘HÔͼ[SôТ!É€c˜Ó°Á;v†ìˆ£;Ž6R7J+H»}MIAiZ·iÕ*›h˜Ñžû{õZ¤¥¢õ*ëÕÆ;ãsãÅëh©h½Ê~•”Ÿd¦i&åí|¶ßÛ~êñ©SO1%<.¯Ÿ}¿ëÑ×Ù:®®£.zíôbv%?'Ñͼ[b^â¨?G±%ªŠª?ôûÙ¶Ò¶úqàß]ýnùååÕ>8ÛuvÃÆÕ°6ßVßÁÖÙïë¢×~ý¶ÞÝ*~¨a;[=[飪¯¯ú|u?ù~PBPß]}ÙÂI]&u6éÜt´PHò %ùÌå3{}û}öE¤F”V–šk™°0í£êÓxDd¬a|ø“Ãko­}úú©G®«Y×ežËØ„ñMßoª„U!I!eRÞ¡©©¬y|ÒñÕþ«C“C…BaW³®Ëú,s4ø÷aÈc;mkÐv_è¾ÐäÐÜ’\U+m«ÁŽƒ‡9 kð¸Öf5 ¬ä~×^{êñ)ÿWþñ¹ñ"™h˜ t8µÛÔ&]g¬a|úÓÓë×߉¿Ã/ç[h[Lpž0©Ë¤¦ë åâàÎs¨—ŒŒ >_Ò=›—.ñ,0Œ‰‰}o!½ì‹%vŽÚYwm€¬þÛl=x<ž¡a=Þ(S¿™¼àààäääz† sss77·æŽÞ‡ú%y6l8uêTÝõàƒ4zôh??¿æŽâÃå¼Ñ¹¨¼¨ÆCê\õù!5ø0Õ{MþH´PcÆŒiîàýÁoD|!¹BÌ×1ï'€ÆÃóÁd’<„$@aMÞ‡îÿû³áêê:pàÀfåÝ())Y·n³=eÊ++«f @6!ÉûЭ\¹’ÙX¸p¡Ì$yì <==‘ä4\®AHòd.×ÊŽ¨¨¨àààŒŒ .—Û®]»>}úp¹Üjuòóó/\¸ššjee5tèP"ªmyœäÖ²³³·mÛÆlÏ;WWW÷òåËÏŸ?766îÓ§™™™äNZ­Á; x£:Œªq·Ù–;ÐѸ£gÏ÷Óã~BšB+24$y² >>~úôé7oÞ/466Þ½{÷!CØ’€€€qãÆåää0»ÖÖÖ‡z{yœ4­egg³ìÕ«×òåË|xøðál§cÇŽÍÍÍïô ¥ùýÞïŒ:°Ñ«í6»ÂòÂ-w·Lê2é½%yø i ’‡¼õîV3-³íG4_€ ;p¹¶ÅËÌÌìÝ»7““ÙÛÛ/^¼xܸqrrréééÇ`ª%&&Ž1‚ÉðÌÍÍ,Xàää4vìØ†µ&î³Ï>SQQY¸p¡‰‰ þùçeeel§L†gii¹páÂŽ;¾Ý)cn¹£:Êr†÷¶jCÞvoÛÙ§g›1%˜Ékñ~ùå—””"rppWUU%"''§ï¿ÿ^ ,^¼822’ˆ6oÞ\TTDDjjj÷ïß766&¢/¾øâ÷ßo@kâºvíú×_q8œñãÇ»¹¹QFFFtttÇŽÙNÕÕÕC’•ž^T^d¡mÑò‡–Š D‚íAÛmtm†8‰ÊŒ I Š„.æ.Œ;±Ì/ÍÿóáŸÕÖœ1…M:÷¶é͆¥„EgEóËùfZfÝ̺éóô¥Œ-·$7494)/IA^Á^ÏÞÍÊMž#/ýÐ"Á½„{ÑYÑ¡ ^w+w®Â›å°ûìç*p'8O`v+•;‚wÑŒî3TU™Â“‘' Ê fvŸÉ6øôõÓˆÔ~ßgèÑÆCWUW¼»âŠâ€Wi…iFêFýìûÕ+Î:Ïv#z[ ÔÞþºK+K÷Üßc¡e1¼ýpñšB‘pgðN--ö,5…Ú~6¤?'âØ!§¦z|J(&å%m¹»…9:²ÃH3M3 I^‹—Íl„„„„„„¼]IËØUql†GDFFF kM¼„½ÍBII‰- …DÄvjhhÈ200¨sPµÉâg-¹¸ä^Â=¶DMImíàµV ª¶ÜÝâmçý"óÅÎàl…aNÃÖ YÇdZeo¯9c §¸La’¼üÒüi'§=NÌVà*p}=|§v›Zgx?úÿx,âX… ‚-±Ò¶Ú3fµŽµ4£‹ÉŽ™sfN|n<[bÈ3Ü:bkÓ.Dšz+öÖðöÙ”.,%ŒIÚµ÷²õ"¢ AŪ뫺[tg’¼ìâì/Ïœ̶¦¢¨òC¿FwÍì>I2ëô¬,~³«ÏÓ_=pµ4q‘4g»Î½­Ú5 _wpbð®]žm<™Ÿ¸áö†/{Y[ØgŸžMÎO–<´É]'k«h×xHòφ”礶!§¦1_hJA ›äu·èŽ$ I^‹§§§—••EDîîî}ûö}»“Ééèè$$$Qff&{èõë× kMœ¼ü›ß\Ì|ž8¶ÓŒŒ ¶P<€z©VMó›•¥¦¤æeëe¬aœZ”ô<ãù@‡7 O ÷åïaãa§o—^˜~õåÕsÏÎYi[ÍwŸ/e/Â5£û ö#G"Ž(É+}Òù“ÚÚ<ûô¬xÊX£ÁŽƒkKò¤ùÙhðO ‰†É÷[ƒ¶šj˜Žì0’)4Õ4•ü) äµx ˆŠŠ"¢ÜÜ\___ÇJKK{úô)3ÓæééNDW¯^ÍÍÍÕÑÑ!¢}ûö5¬5)õîÝ›éôÊ•+YYYÌÛƒ6t¬ÐÚýõwTF”žÝá ‡ÙËŽÅÅIùIlÜ’Üuƒ×±##Ó#Çþ9vØþ¹=çJyÙ4·$—ˆÎL9cÈ{3]!¨xöú™4Ÿ]Ù¥®MHbHzaº’¼ÒGæegG¤F䕿Ֆ7°.<¿ZÚÅ´ËÁñUUˆ¨JXµèÜ¢+/¯8º¨×"&{»—IéîÄßqµtUçªß¿Ë´Àl0Õ®E_{’þħÏoC~“—{3ð'éOFÿ9zÿƒý›‡m¾u1“ŸÙ˺×îѻ剨´²tò±ÉÌð¥$ùl×9"ÉKþºûÙõ3Ñ09qtúGÓ™ÿÃL)H¹w{Dû:ª:µµ9¢ý3ÉýJø¸4? þ d’¼í÷¶[h[,p_ 9Hi Ék1BBBØ÷Ø2ôôôæÍ›÷õ×_Ÿ“ᑊ¢Ê=¾˜yjæÛ±ÕFòÙ®sD’Iþºååä'u™´îÖº;ñw˜ëìG#Ž EÂÏ\>“Ðf#M"ÍÏFãÞ$y-Æýû÷ïß¿/^âàà0oÞµõîÖ.¦]˜dT lÜ@D]ͺ2uzXö—“¿w'"5‚½A¸§UϳOÏ*É+1Þœ+ 7¿H?H0¯ç<ñÜ4‹Ÿ•^”ND]̺œ~rzëÝ­âkò¶ßÛ.e´ Ég[šI Í×ý™ËgÇ?öèXpB°‰†I?»:žÓÈ5yÒülH>'uR’W’fš@HòZ‘]»v9sÆËËËÖÖ¶¨¨( 66–ˆäåå7mÚÔÜÑÔmã Ý÷w¿È|Ñgg/[/#u£´‚´» w'8O`ÿêë¨ê,û{ÙßQÛëÛ§¦]}yU Lu™Ê¬y—ãÈy¶ñ¼}ÝgŸgÏ AE`l`¹ \¼—]!»¦í|¶ßÛ–6pï@EyÅ „ ˜ìMeMö©oÊí ÛÄT *{Ù¼YöÐ˺×þû/½¸ÔÖ -û̶Áí;püÑñ;ñwzXõÐUÕ-,+LÈKM þÑôŽÆ‡8Ù|góø;ƒþäní. oÅÞ*­,•öË ¢ºÎ¶4#’@š¯ÛNÏ®‡UƒaK+K¿êó{‹Im¹&OšŸ Éç¤NV:VÏ3ž/¹°Ä\Ë\Ž#‡çäAc ÉkEÜÝÝ/\¸pîÜ9ñB[[ÛmÛ¶Õëv €æ¢ §°oì¾Eç…&‡žvž)äqyâ˰º˜vi£ÛfWÈ®À¸7Ïâæ4lnϹl…¥KÃSÂãsã™Éö_# IDAT‡·™k™¯´vÚÉil7K·GinÄü;§¦¤ömßo«=Fømø´ó¹ðü‚ßã7LÓiŒº’ú¾Õoc¯‘Š¢Êcþ`ž*w4â(ShÀ3Ø:|«øÕ^6½"Ó#ååäÝ,ݘ’,>R’WªTô´êÉV“çÈÿ1ö¯þþêFÌ ¿ÈàbÈ3ìhܑԮQ»fžÅž =5½Ÿ?þùóÓŸK-CòÙ–rDµ‘æë&¢).Sî%ÜSQTÛ©É_™(ÍÏF?’Mu™úÕ¥¯Î={ó‹ÏɃÆ@’׊̘1cÒ¤I7oÞŒ‰‰áóùºººÎÎÎ...o?ßàƒeÀ38:ñè“ô'i¥•¥Z=¬z0k¿XK=—rš* »šuílÒYü¨®ÍõYׯ¿ºžÉÏ4Ó4ó¶ó.¯*_ྀ­6ËuÖ䮓ï'ÝgRc ãÞ6½ÙWJH¶qèÆ Îž¾~Êápºšví`Üánü]—Ç.Œ›Ûc®x~Sm×VÏöÊÌ+AñAÑYÑ‘ÀFǦ·Mïjï‡æ4LŽ#§­¢ÍŽZYAùû~ßgò3Ù‡2´U´wÞ›––[’«£ªc¥måbæÂNwu0îà?ËŸyã…¡º¡··H$ZྀÉ¥$ùl×9"É'Dš¯›Éù†·^­¼)Hù³!ùœHòÈ#Œœî'Ý/(-‘ÏɃÆà0·ÖKi̘1DäçW÷S=àCó®þýfddðù| .]â-X`ÛȎ꫼ªÜé7'o;ï£vÖ]çÃ9Ûÿ»ö¿Ãá‡ÏO=/ù¾Ú÷àÃ9'µi®›ð®ðx<ñ7HÕ 3yÒÚ¼Sü•eâ”ä•>w«Ç…ΟäÁJóþ&•RræÉ™øÜø Ï/t2éÔìÀI€´v…ì**/ªñ:W]Æ’<Ƀmö$/µ •yÁ«’¼Ò ¯Í À‡ IÈy…î $?*¹‘f»Î–0¹Õtý6 Ƀ}g[2SMÓî Ô¹ê^¶^–Ú–u é5û9¨IÈyŽ|S¿ñSÆæê$«s°Íû~U3M³í¯ïá' ^$=½Z($y2I€ ªßš¼””<; …23ãóZ‹ú%yvvv***ƒn¢hà±iÓ&gggæÞ¥¿ÿþI@ëQ¿$OWWWWWwãÆM | 6mÚäáá/ZƤ¤¤4wðþ`M€ Âsò eËâg-<·°¿Cÿ).S˜’i'§ÙèØ|ëým³Æõ΄‚3OÎ܉¿ST^d©m9®ó8GÇæ Z$yв• ÊC“CíõíÙ’ÉÊ*Ëš´ÓÉÇ&;8®èÛäoÓ*¯*Ÿzbjhr(³{'þαˆck¯Þ~xSw -’<5ûÆîãqyMÚEhrèûyÎÀÖ ­¡É¡FêFóÝç«ߊ½u(üЊË+>²øÈDÃä=-’<5ÝÌ»5wïF•°êhÄQy9ùƒã¶ÑmCD½mzs8œƒaFõõðmîàƒ†/êáĉžžž=’²þîÝ»===cbbš4*xNœ OO’ú«§Ý»ÉÓ“ðÕ7È´Èo.3åĔ嗗?J«áK™vrÚjÿÕÌv¥ r‘ no¨V ?2ï켉G'–U•QAYÁ¡Ì;;oʉ)_ýýÕ˜ÕÚ)(+8v`Á_ ¦ž˜úõîÆß%¢—Y/'™  ž¾~:áÈ濨̨&iaYaËL†Ç`–ÞŽ»Ý=€,ÁL^=$''æççKY?...00Ïç7iTð>$'S` IýÕS\¾ú&pêñ©—WEBf÷Ì“3Kz/©VG|MžP$ MåqySOL N f «U³NÍÊ+Íc?uúÉé1Ƭùx ³û0åáœ3srKrßާ#áG¾îóugÓÎÌ ¹Â²Bv©\aYaÑþðóÓ×O%è7Ÿßj»ð“CDL:‰šk™k©hÅåÄInI^=Œ7ÎÅÅ¥sçÎͼwãÆ‘‹ á«oni…iß_ý^(Žì0ÒËÖK \~qyÃí u~ðvÜm—çëáëh訬 , >?ýy~YþðöÃ=Ûxj*k&å'xpÀ/ÒÏÍÂm¨ÓÐüÒüÙ§gç—æw2î4¦Óc ãÔ‚ÔkÑ׊ʋôŽL8RíÆ‹Únw}‘õ‚MkSZYZÛ¡¼’<"ÒçéW+7àDgE—V–ª(ªÔ9vhµäÕƒ¹¹¹¹¹ysGÍÁÜœðÕÎ?;_!¨˜Úmê7}¿aJ;^ö÷²3OÎHþ ˆD‡Ær4|“Š?œS’ãëáû¹ÛçlAmyüîqæé™¡NCÏ>=›_šßß¾ÿï#g+LpžPT^¤ÎUïnÑÃáhªhv·è.¹ßå}––×<ÉÇ’pÿ„@$ "yŽ|µr¦¤JX%¹ehåZX’·{÷î£GîÝ»·²²rûöí111†††S¦LéÓ§[ç§Ÿ~º~ýú¹sç455«^¼x‘Ç㉷ÃçówîÜ™˜˜hgg·xñb+++":{ö¬ŸŸ_nnn·nÝ|}}ÙvNœ8±cÇŽM›6±“yàøñãW®\ÉÈÈÐÑÑñòòúôÓO•••«…Áôbbb2mÚ4wwwöH$º|ùò_ý•ššª®®Þ®]»3f˜˜ÈôMsYY4y2ñxtè©ü3‘œLÓ¦‘¡!8@ 5ýXîÞMGÒÞ½TYIÛ·SL Ò”)$öÕÓO?Ñõëtî‰}õo /^$ï?íðù´s'%&’-^LVVDDgÏ’ŸåæR·näëûo;'NÐŽ´iÓ¿“y?NW®PFéè—}ú)½õÕSDÄ›^LLhÚ4ûêI$¢Ë—鯿(5•ÔÕ©];š1ƒdû«o´—Y/‰hLÇ1â…c:Ž©3Ék«ß–ÍðˆˆYÉw=úú½Ä{"‘ˆˆD$b6bsb‰ˆ¹Æ:£ûŒjí¨sÕë°x§  ª¨JDÅÅÕÊ™U%ÕÆ42¯…%yÌ*·‹/~óÍ7%%%Lá¡C‡Nœ81fÌ›ßûQQQ•••âd «ªªÄÛ9sæÌwß}WQQADW®\9yòdXXد¿þºe˦ÚÕ«WîÝ»ÇìV[“W\\!¡‡Þ{o6AAQñDQ,§XÀ.‡‚å,œþ öŠ ¢bAì"U‘"½éE”šä÷ǃ„Ðt¿Ÿû#oß¾Ù7™ìÎÎˆŠŠRŸ?~ðàAL \¿~ýܹs›7oÆ.׬YsýúuZUÿý÷ßÔÔTEEÅ~¾«á‹ˆ,\ë×//xz´´€•ÄÇÛ7]{xÐåöä ìÝ ¦‡[·àî]è0=|ú¡¡ð£éÛ;Lß>ŽŸìÛ˜Q^¼€{÷ .އÓÃË— ¦§ÉûúLMÆôp÷.œ?AA@czxþ„ÓÃõëpît˜Ö¬Mÿþ ©©ð ›¾ß`&x9xiù8øºéþqqÚËo-ß ±4±sO6U§@?”èwLÖžW“GÛØÜÖ\R_"Fë¼Â‡@ ´Œ0'ÃÙÙÙÌÌlÑ¢ED"1 àÚµk»wï¦:y̳oß¾… ZZZâñøK—.YZZ¦¦¦îÙ³gòäÉ•••...oß¾}úôéܹs;?¾gÏžˆˆggg ¼¼<77·¤¤${{{?¿ïë 055]ºt)Ç‹/®^½êàà0kÖ,55µªª*///~~þÝ»w3¦©©)99ùêÕ«Tÿõ—eÝ:xû®_==X»àÝ;8}ôôzxÐÙÌÌ`Ñ" ! ®]ƒÝ»¡÷¦‡}û`áB°´<.]‚  °´„ÔTس&O†ÊJpq·oáéSèÊô°gDD€ˆ8;ƒ†äå›$%½=ИSSXº88àÅ ¸z`Ö,PSƒª*ðò~~ؽÆŒ¦&HN†«Wá—7}ÿ倔²Z§-ésRÒå´“à•eaeºžHðH@\aœ‚ B×#R[ùcL?còÆIŒ€ÐìP™„giwéÂsÃÛÈmã$Çõ(@üæŒH'oŊ׮]Ã>Ï›7/33344´¼¼œvýŒV¯^}ùòe쳉‰‰„„D\\Üýû÷-Z„5JHHÌ™3'::º³“×ÖÖæééÉÁÁ¡ªÚžjßÚÚZ]]ýÑ£GeeebbbX£™™Õç³´´”pqqñòòruueee¥P(+V¬prrÂ:,X°ÀÙÙ™L&÷îŒD.\€„زrsáâEX¼¶mëù©+ Ãô0odfBh(”—C/M«WC‡éÁÄ$$ .î߇Óƒ„Ì™ÑÑ]8ymmàé ¦kkPW‡G ¬ :Lffß}>KKðòWW`e V¬€ÓÂàì ¿ƒéû¢w‚÷‘×G”„”ää ­<ídhÏ/蘭6ûFÜ ÿ·yn²ü²X#‰B Ì$‘I`¬bìçuôÍQ ^ }…öMö„ℊ¯&ª&ÀÍÎ]TWD¦YpŒQõ3&O‚WBKJ+¾8þdØÉÓwàp¸²†²#¯ÀüQó{3cñ;2"<ÚK--­ÐÐЪªªÞ:yÖÖÖÔÏD"QQQ1--ÍÂâ{± MMM(**êülNNNCCÜ9s¨ -Z´èòåË?~œ5kÖhkkKû ­­­‹‹ËÇ€——wëÖ­lll†††ãÆ“••eggïÕ,F*œœàë ÚÚðï¿ ®L=õ£éAK BC¡ªª×NéHEEHKÓƒ¦&@W¦‡œhh€9s€Æô $‹ÁåËðñ#t˜~4=ØÚ‚‹ |üÀË [·‚‡°±¡!Œ²²ð›˜¾ÌPš1AjBBq‚éUSE!E™”W“§&¢VÖPÖ«q&ÉL²Ò´ºŸxæå™2ü2ÂÜÂõMõEuEÍmÍv“íæjÌ,7ÙLÃìɧ'«î®%ŠJðJ”Ô—T4TlÔÛˆ9y£ÄFEçG^2”â“Ân߬}]°ígLìš¹ËÆÛÆ=ÚÝ?Å_Œ(–V‘ÖÜÖ¬-­mªfÚÏ‘Ä/ψL†,((H{ÉÆÆ$‰Á#]Þø!à†•••‡‡‡@ÆÊÊ tá}MMM5¡¶`w1øùù;whllß 9sæÌ³gÏH$ÒÑ£GÇŽ«  àææÆÌ6Я++àñ²²ÀÍÍÔ#t/œ €¡é»¾û£é•xx~deúð> ̸LßÞBczøÑôí:LgÎÀ³g@"ÁÑ£0v,((€›ü&¦ï+xüÕEWg(Ïh#·eTddWeëÉé¹þáÚ‡¡þgú¿=F{D‰¢…µ… Å ÙUÙd ùõ?ÌF™aNÌ?±E ;OyCybIbEC…¶´ölµÙØÝ†;Eˆ"%õ%±…±1…1ÝåÉë?ZRZ—^–ä•üüåsbib+©u¶ÚìË /ÿœ¢jbD3"Wòƒ9UÂÂÂÔÆääbŸ{‹„„¼ÿžL&³°|÷•ccc€öxl||<íqÚ¸¸8’’¢¶L›6mÚ´i@"‘nݺµzõj66¶­[·¬ÂÃŽ–X´êëaÁðóƒÃ‡aß¾þމ9U@czhÓƒ„Àû÷@&é!6~8ÿÃqÚ¸8Óôi0m‰·nÁêÕÀÆ¿¼éû?'ÿÕEWËÊJêJÄxÄ$y%›Ûš½m¼ÅxĨ}hkײâY½m¼;¡`Á±ØêØ®Ö^_›_ý­ZKPŠWŠÏJí€Çá·éoÛE¶µµµíß¿À<--­´´´]»vaK} åìÙ³âââØ>/ÆáÇ1Çòóó1ïÍÄÄÒÓÓ?^QQÝÅãñ²²²:°ÚG¶o‡ØX8yî݃éÓáàA êï˜JJ§O·G¶µµÁþýï䉈€–¤¥Á®]íK} œ= .4¦‡Ã‡¡ÃôŸßî½™˜¤§ÃñãÐazÀãAVàw0ý@ F› 5‹fc'°ëÊêb!z:2:T¯‹Ç¢+««*¢Úå88N^@^KJK^@žÖã‚ÇáÕDÔ4%4i=<Ú[:2:º²ºt~§,¬<^r<òðóü‚NÞÒ¥K999¯\¹"##£««+..~ìØ1Z¯k 8vì ËñãÇÅÅÅ'Mš$!!±mÛ6¬vÏWZZZWWW]]]SSSUU5))iüøñX8`MM“““¸¸¸œœœžžžººº‘‘èêöauÄãí —.µ5lÞ x<ܹbb`cÓu ó,] œœpå ÈÈ€®.ˆ‹Ã±c0¦‡cÇ€…Žqq˜4 $$ÚO;öÞ¯´4èꂺ:hj‚ª*$%Áøñíá€55àäââ 'zz ®FF¿¼éñ³ø>¾’’’˜˜àçç7f̘dddôøñceeåêêêØØØ²²2IIÉ[·n­X±‚¶Û™3gÌÍÍÓÓÓ?~üØÒÒbddôüùs,ŽP]]ÝÉÉIDD¤  àíÛ·éééÂÂÂû÷ïwt¤¯ÅùK‘’vv ®þýœ¬¸8ܽ 55°xq×apL".ÀÇ%%øùÁ ˜ŒŒàñcPV†êjˆ…²2”„[·àGÓÙ3`nééðñ#´´€‘<ÞG¨®NN "ðö-¤§ƒ°0ìß¿¶éñÁõ*ÆËEwÿþýAÓ§rrr ´µµ±Â´:::Ü4ÁûMMMIIIaôèÑlllŸ>}*++Ó××ÇÖØºçýû÷MMMS§N¥¶´¶¶FFFЉ‰ihhÀ¡C‡öïß©÷c:·¬¬,¬â…ºº:m44­”âââ‚‚)))lC– …RXXXRR",,,''‡öZp8ÜöíÛO:5(£gd@I ¨ªÒWwHL„šÐÔ¤?‘“ ­ 4&koÔÑùáÜFS$%£G|úee ¯ß¾ÆÖå8ïßCSИZ[!2ÄÄ@CàÐ!Ø¿"#é3ùeeµW¼PWÚ@xZ)ÅÅPPRRÐÉô@¡@a!””€°0ÈÉÁ ›~ ¾¿eee :<{FܺU,++»Ÿ‚ÄÀ‚¾›#"‘HMÐÆ #ÌÉZæÏŸÿøñãììì_¹ ¶“7™??†ìì]Ž9yÄoúnŽtzëäý‚ÛµƒÁÉ“'UUU?~¬    ÐM|Ä/ÉÉ“ ª ƒ‚ Ó#b䀜<¦ÈÈÈÈÌÌ»yó&JOõ{‘‘™™ &7o2=@ FÈÉcŠ¿þúëãÇ´ï¿ý?BA Ó#bDñ &C hk—!~/é12A+y@ ¿ ÈÉC øAN@ Ä/ròÄȦ¨®HùˆòÁW©-cOŒµñ¶Á›Ûš•(Û?°gÜm%A½¥¾©þɧ'Z§µ”(s|¨5B ÈÉC ˆ_µcj+ï¬ü ‚ö½Ü·ÝûãÔÇõMõ?A¢Ÿ={–q>sÄ/CïN×béâdddIÄðáÊ•+¾¾¾C­b ©ªªRQQj-~IŽIC­ÂoŸ™†ÙLå™m{Ÿïju Höòòºuë–ÝÊ•+±Bêˆ_´’‡èš^Õ»C ¿9ÿÌþç´ùéù£çóqð µ.ÆÌ Y²dÉ™3gæÌ™óúõë¡Ö1ˆôn%OUUUUUõ·­]ûû€ÃáìììPíÚ_ ¬víH‡L!{ÆxÞùp§¸¾XœGÜf‚Íõ9t}Æž;V|ìíe·±Ë¬ëq×3*2𤸤  ÖM^'Fl¯ÿ˜W“çï™YPS€gÁ«Š¨.¿tÁØtcÕý/øÑùÑ$2I[F{çôb ôŒ)Œ¹öîZ|q|Csƒ8ølµÙ[¦n!²™™cla¬g¬g|Qü—æ/2ü2&ª&ku×vé<1P>®(nÉK */Jùˆ2ÖßÛÆ[WV—¿0|||ŽŽŽ666®®®ëׯ766>t興ÈPë…xP2d1’8ðê€O‚ö¹°¶ðhÈÑ”Ï) ú‡d…¬ó]G½Ì®ÊήÊþüåóyËóXËzßõ9U9Ô Å Å å åöS¾¶¨kª³¾e]ÖP†]†å„ÅÆÝ]~·;?Ï'Ágÿ«ýÔåð¢º"¨¼¨{+îq²r2žà­÷·þ ú‡úlvUö¥·—p8Ü_ÓþêÜ™å™aå•QyQŒû¼\÷RIH©WÃ"†3gÏž]ºtéž={æÌ™³ÿþùóçµRˆ9ybÄð±ô£O‚‘¸ÏxŸ‘²Q¹íEú ××®  Ê €¿¦ýe5ΊŸ“¿¨®(2/2¿&ŸÚAYHyî:mimi>馶¦´ò´ý/÷_޾¼nò:<õ‰-Œ/9þâ‚‹ª"ª%õ%§ÂN½HáèrgùÎ k ]]xÙywÍØe¨dÈÇÉWPSp&âÌó´ç7ân0v¿r«sfÁ±¬Ñ]c5ÎJ‚W¢¸®øUÆ+v{—ý(¯-­µ+K혚®¬îÍ%7{|·ˆß“)S¦<{öìèÑ£ŽŽŽQQQàäìáwbœ<1bx™þvî\8v!Ö²\ky]SÝ©°nC ÄyÄÀ|´¹Qh;¸˜¸\z{éòÛË¥õ¥-¤j{q]±,¿,ö™‹•Ë}‘»—( )6?=×cn\Q\å×Jana:‰’µ‘Û›¦î#+ +Ÿž:®(.0#±“çŸâO"“6êm¤®Û) )m˜²¡»þÌ(Ï È üáääàÇx‚ÙUÙ0G>ʰK˜T`†™3gúûûoܸqáÂ…—/_ÖÒÒjròį ‘xké­ŒŠŒwïÒÊÓ|?úV«>hrp®Æ\xô ´¾ÔDÕd‹þ99N'‡Û÷r5ì18\N™B™Ôùíb[o‡íL?•§Åä!@JJêÎ;+V¬8{ö¬‘‘ÑPk„è/ÈɃ¨¨¨W¯^­ZµJ^^~¨uùa«ØÈ"*;êUÊ«USWÉ Éµ.?0lÎÈ È@xnø² ˨a¹a=>¨*¢ª*¢Š}ÞôpÓŽ';ôôù8ø j Àqº#Õ}i!µDçGÓ=žZ–Zõ­Šº˜×Fn{›ÿºÜņº±äÆTù©½œ_û³ÏÓž«‹ª÷Ø™åq€k#µõV Äo ''ç… <¸iÓ¦Ó§O›ššµFˆ~œ<ˆŠŠrqq144B_*,,ìõë×¶¶¶²²ßÿf Å~¢²¢\»ª¡/–ö:íµ­¾­¬ }‡b#ŽÙj³Ý£Ý¿9ÎAà0R6"QHÏÓž_ŒºÈà‘ÝÏv‹óŠ)É È±âYÓ+Ò3+3[I­e_Êø8ø$y%àê»«Û ¶ósògVdž ?•[K7È·Öov¾vûŒ÷Q^dWekKkwÞ«˱–—ß^þ+à¯Ówè+è s ×5ÕåÕä=ýôTŒ(Æ8&Ï|´ù¥·—.G_&QH‹Æ-ç/©+y•ñŠÀf«cK×™åù9ù3+3 j ¤ù¤YpÝ&FE1y*x<þŸþaeeݶmÛ¥K—fΜ9Ô!úrò@OOïÀCëH………¹¸¸Ó:yÃA±_=e½óÈ Ë¡a™a.]ŒGÓ:yÃA±Ç8‰qK',õIðq~êLm4Ó0{òéIw|þòùþÇûç"ÎÑ6Ž¥,¬ óFÍ»uÁ÷£¯ïÇöú.Dvâ,ÕY´ýudtòkòÞ\Hmábå:0ë@—åä™Ú÷rßîç»énÙM¶c|ùíåËo/SÛ7êmìÜ™å'ËN~òéÉÌËí§/OÞ½Ä{{žï¡^ºG»»G»Àr­åM†DÄàÃáöíÛ×ÒÒ²mÛ¶[·n?~¨5BôääžžžžžÞPkÑÃV±‘…ž’žžÒp|ÃV±aŽ‹‰‹¿– YŒ(¶‹ä×— IDATdü³QŒœ¼£sú~ô Ê Ê­Î¥E’WÒTÍtµÎjlYK‚Wâ¿¥ÿ}s4ùs2 Že¢ôD'C'ªÏD…ƒïÎò;‡ƒÇÆÉä‰Òf8iˆv› y±æbuQuÏϘ˜êoÕ‚\‚òòs5æš6ïq‚jÿ©*¢êë™PœÐØÚ(Ã/3[u¶í$úe<&•ßk´·Ü]]×T‡ÊØ ˜‡Ã¹¸¸”——¯[·Îßß_RRr¨5Bô\¯¾öXÆü>T¼ˆ ¥P(:::=úðდ“µOmmí«W¯rssYYYµµµ§M›F½aoo/ ðøñ㬬,111sssAAA:AÌ ÂÏÏÿôéÓŒŒŒ‰'š˜˜túV__”ÍÅÅ¥¥¥5eÊÆÌÏÏ *++444TWÿOC•ËËËëïŸ/))9þ|~~~¬ÃÍ›7½¼¼BBBV¯^­äÉË˯ZµªKŘÔã[ê·}ûvæ+^Ä榇R€b b #¯ó(áчÂN¦N\l4öýVû*õUne.+žU[N{š*i>EdFØO·àxœø8«}úêÕ«x<ÞÂÂBQQ1==ýâÅ‹t5òüýý׬YC æÎ«¡¡ÑÜÜþçŸ>}ú”ÚÍÎÎŽ@ ¬_¿žH$¾xñ"55uóæÍááá½dãÆlllk×®•’’êr}îþýûk×®<ÿþýûˆˆ2™Ü¥“wáÂWWWgff¦¡¡‘——÷èÑ£k×® »º~OÄ¿iÓ&66¶õë×spp¥¦¦ZZZ¦¥¥ ­\¹’L&Ó­äõYã·4àœ:}5ü*žo1ÞBQD1ýsúÅ7±¬³Tü?ø¯¹±†ÀB˜;n®†„Fsks`j`xføŸž>ÝJcß[vÂúië‰ìÄ)/RKR7ßÞîÞ«A6zodó­5X+Å/ÕåúÜý¸ûko¬yy< þ}þûˆ¬2…Ü¥“w!ä‚ë3Wg6ÎLCB#¯*ïQ£káׄ‰Â® hì{{žmý´õ¬AŸ‚RKR-/X¦J" ­œ²’L!Ó­äõYã·„þL85áKó—.oñ°ó$8$üd}Æ(**8p`×®]¦¦¦'Nju½cм'N°°°b-þþþ´}öìÙÃÅÅFýˆB¡,Z´ÈÏÏ/--º#©¤¤ˆU\quu7n\ddd}}=///óƒHKK‡††òððt§0öcåÂ… 7~tŽˆˆÀãñ]ö?rä‰p§pLÕ6r›µ»µ_¼ŸW”—£‰ãÊ)+ ª BÒBlõm±µ½þbü–bÀY°`ÁÓ§OwïÞýäÉ66¶¡VÑ ×ÉËÏÏ/))111¡zx`nn®££‹]–––¦¦¦*))=þüùóçJ{jxlÙ,..ŽêŸ9;;Skê±±±§§§—––òòò2?ÈÎ;xxEEE™™™:::´tç{M:•êx€®®®••ÕíÛ·ããã ¨ÊSÝ,ðÏ?ÿøùùEFF:::2ó&{%¨»·ÄŒ ^‘_•_R[b2Ú„êá€ùxsyؼûÖ•¦–¤*‰(=O~þ<™Æ48ˆË‹£úgΦÎÔÚíl6c ãôÏé¥u¥¼œ¼Ì²söN^QMQfy¦Ž¼­‡Ýù^ÕE5ES•§R/ÐUеҶºýîv|A¼JÇk7u¦ºYÂ?æÿøÅûEfE:š0gßÞêî-1#1ä µ:ÄHäСC&&&ÞÞÞ«W¯j]½`p¼ššèjóQ^^žêäUTT@vvö¾}û:@GWMH$@kkk¯QQQa pUU¨©©1èC 6AEEEºv%%%¨®®¦¶((üP.»ÄXA ÞÒ€Só­:§y“–§:y_* »"{ߣ®LC'#ø£æìDh%µöjQ†öm¨5q¦íûµE:½v%¨þJc_áí+¬ïg`1xK1HHJJ®^½‹Ï£žD ×É€¼¼<ºvڬϨQ£°£tèèè0/ˆ™AFS€ôôtf„Råæääеgggí±ÖÜÜ\Ú@ìäöøÀ ú™p @^U]{^e]ŸQ’£¬&veyæìËô lmmmggçáᮋ‹‹ŠŠjmmírp×®]›7o¶°°033SWWÏÏÏøðakk«³³3õ0”––jhh˜™™±³³§¤¤ ¯Zµ »«¬¬ ŽŽŽ\\\Xž¼¾ úÉ8;ìôÝitÂÈb‚…‚°BfyfÀ‡QÑò/å8è°ï¢c .-Ð:¤5S}¦º¸:+G^U^LnLnenãÅF< söˆAà°åakwk»[vØéÚ¸¼¸¨ì¨V÷V®+ûÎÙµùöf‹ fãÌÔÅÕó«ò& 3M3v{ð§à”’a¢ð*½UØ]eQep¼ç‘ÁÅÆ…åÉë› *–/_~åÊ•€€€Å‹µ.¦øNÞ§OŸ<==}}Ûó°oܸ±´´ôáÇT×ÄÂÂÂÛÛ{Ë–-/_¾|ùò%ÖÈÂÂ2gÎÆ»«´ È °xñâêêê;wÆÄÄÄÄÄ`Ý%ÉÛ´iSQQÑñãÇ?~üøñcèH_wèÐ!ÚnçÏŸß±c‡»»;v‰åÉÃv‡ÀÔÔtÔ¨Q©©©Ç‡Ž>>---]]FÕ]]]íì쨅(f̘A[ˆCUU5555 ??_JJжâpppÄÆÆ>}ú4++«¹¹S¦³bŒ1ù–< ÞãO†C3B@_Y’Â$µ¿Õ„‰Â¬4ö´Ôb‚Eð§àôÏéd Y^H~²âdêãQƬâ¼?j>ʘƒ•C”W´?ƒ@W%bí§Û/ÑYò2åene.'Ÿ–œ–®Cû.pµ›n”Ú^ˆb†ú ÚBªbª©ÿ¤|ȯʗ¢­x¬±{cŸ~|šUžÕÜÖŒ)ÓY1Æ‚˜|K1x˜››¯_¿¾°°îbxò3ÊšÅÆÆÒ}8þü–-[,--ýüüz5Îe×®]GMHHA5ž{UÖ,6/–öèÃù×ç·øl±œ`é·ñ÷°ïƒ]G_MØŸ0^f¸Û•5C ~súÿÝ$‘Hººº›6mB¹T†„aWÖ fΜ9vìØ &°²²ÆÅÅEFFÀöíÛ‚hÄO`¦Û̱Òc'ÈL`ųÆåÇEfEÀvcd_ÄO¢¾©Þ+ÎkœÄ8C%C¬åÒÛK¢DÑ…cöp…t!ò‚¢¢™†ƒn(q‡ r«sCsBë›ê'JOœ*?u¨ÕAülðxü”)S"""“7"øNÞ¤I“^¿~ýöí[ì’ÝÍÍzØ1Ò™¤0éuÚë·Ùö%°»Y¹QÛ"ƒM}sýÙˆ³Ëµ–S¼‹QÇŠ?©Ôv6⬱Š1c'o%öv¨sç¤ù¥-ÇXöܵÜK¼w-æZNU{¢»ÉvÈÉû=1008tèPkk+V6ýçckk«¨¨ø÷߉ôî “ÉQQQaaaùùùd2YQQÑÂÂBCCƒ®‰Dòóó ÿò勜œœµµuç>ÈÏpò‚ƒƒãââ>|øPQQ!))ibb"!!ñ事üev ŽË‹ûPø¡âK…$¿¤Éh ¾ßɾÝÄ"†zE‰¿Kœâù¨óº²º?Áɋ̩̋ʑ—Ⓤ̋lqˆaËĉ333G5زV¬X¡¡¡±gÏÚÆØØØ¦¦¦ÁÝ[,,,RSS©—!!!ׯ_wtt´³³£6677¯^½šz¦3<<ÜÇÇçèÑ£tµ^Ÿá䀶¶¶¶¶öÏ‘5Ü066666j-mymmùßÕ¾ÆÆ¿¸}G¦lj~A¬5­·éoSR|‘þ9y¿3òòòœœœ)))?ÁÉ‹‰‰éœÁÔÓÓ+æ4¬¨¯¯711ÑÕÕ•••mll yøð¡››ÛôéÓ©G$Ï;#..¾eË ‰7oÞܺukÏž=“&M’”” ­~’“‡@ Å×–¯Á™Á%õ%â<â³TguîÐ9¬-®(.£"£¡¹Aš_ZGZG„(BÛ¿ú[uLaLAMOPV"?ë"óâ§òOÑùÑd Y[F[SB³G=“?'''4´4ˆŦ+Mâêý\©WR_âûÑ—L!Ôœ8‹u^0v4Ÿtß1FO^o0†EŒ8ðx¼ªª*ó¥¡&Kaýd=zD›4ã?þ`ee½wï^TTæäµµµÝ¾}Ç߸q+I:mÚ4wãÆÛ·oïØ±c0´BNI$•&­°¾¢¡»!Š6=Lׇ6¬­¶±ÖöžíÇÒÔ»ìöÓw¬Öi?tÈ'Á§…ÔBí / ÕꪂàõˆÝBÝ.¿½L½4m~ÌìX—¾ T~­tpx›ÿ–ÚÂÉÊy`ÖEãõv¾ Ô+©/Á|»¢º"ª“§+«Û¥“÷0ùaam!cY+&®àd¶âwFZZº¤¤¤µµõÏ?ÿÔÖÖÞºuëÝ»wß¾}[SSãááQWWçàà`bbB›ðµ¬¬ÌÁÁaΜ9+V¬ê³Û¶m»wï^xxxKKË„ þüóOl•.==ÝÅÅ…D"%''ÛØØ`ƒìÛ·OCCƒ6&:Ζ-[¼½½£££YXXŒ,Xååå7oÞLKK#‰VVVÔ*Suuu¾¾¾ bbb³gÏž9sfŸßIç’¾***@\LLL¬¯¯700À<<ŒU«Vݸq#,, 9yâwçkËW»v  ‚ ú ú$2)4't÷³Ý ñŠóúXúQŒ(6Se&_q]qLAÌû¢÷T'/<7\”(:Aj‚ŸTs[3¶\çôÔéþŠï¹fâ‹ãƒ2ƒ¦+NWQ)­/}™þÒ?Å_^@~‹þ–ÎIdÒ:ßuI¥IÒ|ÒŠ||ù5ùA™A{žïQV/Ù»T; Ô“ä•ܪ¿õ\ä9)^©c`ý¥ø¤ºçaòè¼(ƲæjÌEN‚$$$bbbÈdrLL ‘H\½z5õle[[[SSSLLŒªª*í#X#u‡—úì† ^¿~5¾yóæÕ«W¾¾¾¬¬¬_¾|Áb×êëë©AlõõõðcLuœµk×b¹;àÕ«W¹¹¹Ë–-«¬¬ÄŸ>}êááA=ô™°~ýúššª†<°²²ruuÅ.ÿý÷ßäädÆïÁÍÍ­»mÖ²²²»wï„éÓ§c-YYY ©ùÃ&€ŒŒ ??çÂôròĈáɧ'å å W]aų@ckã ŸÕߺ­ ŒÝò[å'FlO.ÕBjIùœBíàbâ¢(¤]Z_ʆg›$3©òkeBqBMc Õã©þV}lî1ª#•Xš¸øæâëq×7NÝØy1ïUÆ«¤Ò¤y£æ¹™¹Q î%•&-º¹èzìõ3ægz5eêaNÞ…¨ ²²[õ{¨o9ÆR[º‡ÀYA.Á^醸m­¨h_M #‰;vìÐÐÐààààääd~œ°°0~~~ggg•²²²‹/¦¤¤<{öÌÜÜ\MMÍÛÛ›îàEwQÃÂÂ÷îÝ«¨¨˜‘‘qîܹk×®½~ýZZZÚÙÙ™ŸŸÿõë×>>>§Nœ¼††{{ûÚÚZ CCC>>¾‚‚//¯û÷ïO™2+Ÿ––Fu.»£±±‘®eãÆµµµuuuYYY¼¼¼§OŸ–••Åna¥ˆˆÝ#¢¢¢½zuL‚œ<1bˆ/Š€-ú[08Y97émZç»®»GLTMn'ÜöŒñ\¬¹XQP‡Ã±áÙ&HM vøPòaõÝÕmä6º«¾VQf–ꬥã—r²r@t~ô‰Ðlx6cc99.6.àÂsÊÈ2ui~ú÷† ­oîâo¶vx7ñn'I“ê1ŠÉC T'O]]½Ï™ÞÆŽKõð`̘1бâÕÛqhˬafÏžM[¹^CC#11±¬¬LJJêÇõý—…ÙÙÙÔþ}˜ÑÅ‹[ZZjkkoß¾ýúõë»wïbóââ _¿Ò=‚µ`wœÞ9y™™™EEE§OŸ UÊäääÃ#ŽÎ› # >>(ª+¢Mƒ×£ï¢#££#£å å1…1®Á®/Ò^ÜY~‡Ç’ç-ÏÏTþpý©üÝEµEt-˜P^vÞ.”ää€e– qÓ§å ptîÏ&Õc“‡@uå‰É,°Ø:|||´—Ø2¹w?`:ƒùv]6bjûö ;ÅÆÆ†}è[Lž––öÁÔÔTWWwíÚµW®\9{ö,t,ûåååÑöonn.))ë¼Â7 ôÎÉ› T?RBBBKK+>>þäÉ“;vìÀápeeeGŽ, p0@N1p³q»/t_ÿ`}nunnu.s ÿ;ç_ûöÝ=2Enʇ’¯³^Óò·ÑßXjâÙj³çš÷8õñýíVšVYYYÿøã33³>Œ6nܸU«V=zô(?????ðx¼¡¡¡““mêc--­Ë—/ïß¿¿¤¤äóçÏ,,,³gÏþßÿþ×yË{ Àõj·‹éA1y¿<(&ï—d ¾¿eee :<{FܺU,++»Ÿ‚ÄÀ2PßÍU«V‰‹‹ÿû￱±±ty©•——KKK‹ŠŠ655%&&Š‹‹ËÉÉ™Lîü¡ß»“ IDAT,Ö(((ˆÕŠÀ ‘HYYYõõõd2YCCƒ——766–H$b+m]ŽS[[›žž.///&&FmÌËË+++ÓÔԤBÉÏϯ®®”’’¢V§èd2¹¤¤¤¬¬Œ‹‹ «ðÛe7 …’ÝÐÐ ---,,Ü+D"‘vR=‚VòâçqùíeÚe´°áÙì§t»ïŒ@ ²³³õôôXXXg°“––¦¦mâàà íÜå³]6âñx555ÚÚÚµ]>ÂÏÏß¹Q^^ž6k‡ë²½o°°°ÐN¹;p8\çƒròâçáíþ¥ùK—·xØy“‡þ|ûöíóçÏ´»ˆaËÀ;yD"Q[[ûÍ›7>r?¶Š1É0ÑŸH<£­-þæõЪљa«“ŒtýLb7ÙŽÁJÞOVè))) …nu 1}¨µ@0Å@fD ñ SSS“œœ<ÏÍ}ÆØø^bbíd2åøñXUUvöSJJWÝÜbssëp8·Í›ƒ»TŒÉaëÖ æK•››[giùˆŸÿÏ™9sPåFDãpn$%8¸‡sÃþ{ó¦°·/–ù "Äòøñcää=&oçÎnnnÔË„„„„„„·oßÞ¾}kqwwß°a5]_^^Þ‰'‚ƒƒ###¹¸Ú–ÖÖÖêëëçää`—ÁÁÁFFFiiiÔ37ntwwÇ>çääìܹ3>>¾GÝz–Ýz;_¨®®600(..Æ._¼x¡©©Ù£Î½ÔãûÏΡnn±4j”'$¼~û¶äöíö|’îî‰6R³1æåÕ8\¹”‹‹µCÏf}ýÛ99uzÝKK³nO2´qc»{»{š“S·sgh||Yºõ8,3ºõv¾P]Ýd`àS\ܾ½þâEnDDQD„¦¦H:÷JPD ˆåþýûóæÍcPÓ 1¬ÜíÚøøx777NNÎsçΕ––VUUý÷ß‚‚‚>>>þþþ““³eË~~~ÒÒÒ¦¦¦””++«>œ9s†:Nhh¨ŒŒLLLÌׯ_322ŒŒŒªªª¼½½±»111îîî¼¼¼×¯_¯¬¬üüùó¥K—=zÔ£zŒ‡eR·^Í#<<\FFæÝ»w Ÿ>}Z¸paCC¶è¨¯¯O¡Pðx¼‘‘¥º<æ1ž`ÿ‰/ss‹åä$œ;gTZº¡ªjóÿÍäðñIó÷Ï€œœº-[‚ùù9<uçñÁƒàêêºjÕ*!!!111{{û¿ÿþ»Gõˤn½š/‘Hô÷÷Ÿ4i77·ºººººzDDDYYÏ«S½Äx‚ýçþý Ø¿ÊæÍÄŹ9–-Ó8ÞîÞM€ÿþKmm%»»Ï²µ+.ÎÍÎŽ5JÈÇÇL\œ›ÖYæ °ÔÑçâbUQ8sf&$&–cw<ÈW×i«Vâã²·×üûï)=ªÇxX&uëÕ|1ˆDVËI“$¸¹YÕÕ}|ÌÔÕ#"ŠËʾ Ô‹ef‚1°xzzjhhŒ‡ Ù×ÉËÊʺJpØ%v+%%–.]J ðx<gaa!Ÿ?.(( >¢¥¥ÅËËK½TTT€/_ÚŠfggÀìÙ³i¥Ð]v ãa™Ô­WóÅ?~¼¨è÷Ú”¬¬¬FFFt}ä Æì?YY5`föCJL33EÈʪ€””JXºô p?ÇŸ`aq#N|þüµ à{h£––/ï÷ aŠŠüðåK{l\vv-Ìž-O+…î²Kˤn½š/Æøñ¢¢¢ßwóYYYŒŒä¨3“‚O@ ¤¤¤/^lÛ†òŒ$~ÆéZ•w±ƒ$‰D"‘Éd2™L €kiùþ·Š®6 ]Õ]:)ÌÔäe<,“ºu¦Ï•†{û`ý™yoý‡ØA‰B"QÈd Í+„––ï‡o89ˆ ŤS³Oöe4,“ºu¦Ï…¤{oß:0óÞ~**l¼m¼â¼¨-¶÷lÁ[I­6Þ6'ÃN2î6€‡‰ >PÞP~çà ~l¼mî|¸3Ôê 77·qãÆaKˆ‘Âà¼Àª³=}útôèÑÔÆgÏžQo©««@`` ±±qŸ¥`ÅU^¾|¹aÃjc```ŸÄèƒn=ÎãÇåååÔżÖÖÖàà`êD€……¥­­­ÿ‚eexú4gôèï'9ž=Ëee~PW€À@+cc¹>KQR‗/s7lOm Ìïó€}ЭÇùb|øP^^þº˜×ÚJΧNXXpmmŒ|1&!0šIÍ1…1ª"ßË“ÇÆ6µ6 Èàd 9¦0†—ƒ—q·”8°‚Vø¬ÐÕØc´gðTÂø_ðÿ¼â¼¨?•&HMl‰ˆŸIHHHdd¤OŸW1CÂà®äYYY€‹‹ËÅ‹ËÊÊjjj|||°‹/€•+W„eË–yzz¶´´”••EDDlÙ²ÅÕÕ•I) ,€Ý»wߺu«ººº¢¢âÊ•+‡÷÷Çntëq¾ æææ111ß¾}KKK³±±IKKÓ××Ã: ¦¤¤dggÓåšé­ ÁÆÊJ\\Þ^¼ø¡¬ì[MM“O–ÖdñbuX¹r4À²lÙSOϤÂÂ/--¤²²oÅ[¶»º¾cRÊ‚*°{wø­[©ÕÕMß®\ùxøpt?•ïƒn=Σ¡¡ÕÜüaLLé·o­iiÕ66OÒÒªõõ¥ÄÄÚÝ>AAŽ””ÊììZº\3½„èÏÅžûfíj-†1…1ii=÷ë7å å"Ü"ÖšÖ«´WýqˆŸI]]ÝÞ½{ÍÍÍutt†ZDïÜ•<---GGÇ'NlÚ´iÓ¦MÔö%K–XXX€ŠŠÊ¥K—ìíí׬YC÷¬³³3“Rtuu×®]{íÚµ•+WR­­­ïÞ½ËÊÚu" fèƒn=ÎÃÀÀ ;;[WW—ÚB$±c3f̸sçuM.$$„î€-“‚--1GGí'â6m Ú´é{¶%KÔ-,”@EEàÒ¥Yöö¯Ö¬yI÷¬³ó$&¥èêJ¬];öÚµ¤•+ŸQ­­ÕïÞMceíû¯”>èÖã|1 ¤³³kuu¿Ÿb&Y±c3fÈÞ¹“¦¬| » ±¦;`ˤ DwèÈ ?E?›½F{E¸Ep8Ü‹ô´[çˆ_€ƒÀ¾}è‡ÓÈcÐóäa»ø/^LNN&‘Hjjj¶¶¶´9Š×®]«©©yòäɰ°°ŠŠ kkëeË–1/ÅÝÝ]YYùêÕ«………ÒÒÒöööÚÚÚwïÞèò}ЭÇù€  àõë×BCCÉdòÔ©S9B›$ïÔ©Smmm¯_¿®©©é.øŒA?77ÃqãD.^üœ\I"QÔÔlmÇnÞü}§fíÚ±šš"'OÆ……UT|áRQ°¶V[¶lóRÜÝM”•®^ýXXøEZšho?^[[ìîÝ4Žþ(ßÝzœ/ r\¿¾ÄÁ!$4´L¦L*uäÈ4Ú$y§NÍhk#¿~]PSÓÔ]3‚~[Kï%Þ+®/–à•°Ö´æ¦Ïûh{ÏVQPñoãö#öå å÷?ÞϨÈhhnæ—Ö—×7V1¦î:‘Ȥ79o"r# j ð,xUÕ…c**ÐÙBj¹p;:?šL!O”ž¸bâ .Ö®“ebÔ5Õù~ôM(Nhhi#ŠÍV›=Sy&3³c¬- ”O¯HwyåB"“’?'ÛxÛ`ý÷ÍÚ§!ªÁŒ½E”(Ús'ÄÄßßÿÉ“'W¯^åçG±"#\¯Âð±]B,Ç0gëÖ­çÎ{ðà¶™;Lhjjâää477g&ß‚Ãá¶oß~êÔ©¡V¤[¶n}}î\üƒæØfî0¡©©“ó´¹¹ò£G?o=•yêû[VVƸ’ò³gÄ­[Ų²²û)¨K|?úîy¾‡LidÀ³à§9{sl¹Öòƒ&±Æ±'ÆŽ{{ÙmȨÈXüßâ†æ^¬¹øß9ÿbŸ­ÿ³~_ôžö.ží¼åyÌ'knkí6z¦ò̯-_ß|ßÇWRº³üާ@g‰Pœ°Þw}Mãç©­4­\çô…Ò£¶t‚(W·ä¿%tã{ÛxëÊêB'þ þ7ùs2cÝÜæ¹IòJ2î/Ò_l~¸Ùn²ÝNÃ=vFüd|7)J||üĉi–/_ncc³wïÞŸ¥#‚D"‘ÙÅ ƒ¾’÷s¸víZee¥¹¹¹¼¼|IIÉ7.^¼ÈÃÃcbb2Ôª!€k×’*+¿™›+ËËó•”4ܸ‘rñb›‰‰üP«†ø©”ԗ칟L!/»`¦òL™ô<í9㣯w>Üihn0T2´cÁÏÁ_TW‘ñ¥ù{"¡†æóÑæ:2:Ò|ÒMmMŸÊ>yÅy¹ºÐ.¼…å„Ù‰N†N*Â*¥_J¯¾»š]•}8èð‰y':Klhn°`_ÛTk1ÆÂPɃ¯ ¶À+Öë~âý)²Sæžßm;ËêNy55ooºƒÝ-ã¥U¤ÅÆ0P [w@Œh®]»vîܹçÏŸKIIa-ÅÅÅ6l˜ûÿ‡’˜•…ÅÃP€‚}È®êa ›±¶t0©<3hˆ J bDPUUµyófG&“£££}}} V¬XÁÂÂâááÑ]¡vĈàqòøøø>Üÿ´)ƒ Ç€ç"þàãc?|Xÿðaý¡V¤88ÊŽ¡ÖâW¦©­ èœ>>(*Ù¤DåEyÆx–Ô—è+è;:) +Àã”Çá¹árr˵–Ë Èq±ráp¸›ïo¾LIûUíìfaB›Ûš;KüÖò K»¨ÈF`ëÜȼ¶t0©<3 `LbdA&“·oß^WWG"‘€B¡üóÏ?‚‚‚\\\7oÞéqÄpæqòÄï€(·(¤”¥Ð.S%}Nbüߊ‰+VL\å åöìWÞYbÂN`Ç\±ó–çiƒÕN…Ñ9ʨÈh%µ²â¿‡$•&€OмàbâÒÙ3Ãvcû¬-]O¦”§0UÅäý¶œ>}úÝ»w´9Y[[[ÀÛÛ[PPpèôB ÈÉC #Eïï#¯( )É È@ZyÚÉPF/¼â¼ÔEÔ'ËMÆ.8ˆìÄòÒò¼š<55,ô-¾(ó“ÚÈm£.ÆÅÑ RùµòPС¿ÿfóQ(¯8¯˜ÂY~YY~ÙÎg«Í¾wÃ?Åßmžµ‰B Ì$‘IŒ'ÈX[ºÎÌ(ÏÍÎ]TWD¦YpŒ’J¢˜¼ß“ÐÐÐK—.Ñý hkk+)) 777*ÅròĈa†ÒŒ RŠL¯š* )’È$Ìû)k(ëî‘ÐìÐÃA‡¹Ù¸eùeÙl9U9_š¿p `î—¡¢á…È ^ðˆñàȫΫo®-6:¥,…v%!%ß¾O>=‘/ýRZÑP; »ÞšŸ$3ÉJÓê~âý™—gÊðËs ×7ÕÕ5·5ÛM¶›«1—ÁkK3ÊmxÉPŠO ¸îòäõ?&/$+ä껫PÝX © Å `¢f‚j` OJKKp¸®3©AÉÑ6 Mð«ÝWëqõò*òb³cc²c$,Ô}OE¯‹b²cb²cR_¦Bò+ò©ÃŒ’ŒvÞG]]ÝâÅ‹«ªªš|y¦H$ªªªÚ°aCÇmKn7C†÷Ñù7C†VÍßÄÀ/È+Ïã©ñŒÔjêkîçÝç©ñ¨¸„ØìX®Wü–Ue]efi¦H$2T7¤w0¦UÕU¥—¤3ÃF׆Íbg•eåWä÷1ìÃas„"alv¬GËNÏ®NP—ò2E(ÚéÙ)²þߊÆ#BD"QfYfIe‰¶Š¶±º±ø”>É$DÛx ÁS"AêËÔŠê ¡Hh¯oÿ®µºï©_˜^’Þ¸\üç2Gÿnúûûÿõ×_Ôb‹ÆØlv}}=!$ `ð`i_A  ›n† Ý Ëãqßü¥SRPj°\ãwת°U$¼Î‹Ãæˆï">ÙŽÉ`Ò³Ylñj’G$„0 -‹V¤8¢m<„à),«ñ|¾6§ÏÕǛͺŠK—.ý÷¿ÿmP¨  @å|æææC‡6l˜³³3^eÖÕµ,É‹ŽŽÎÉÉy×[AžìرcÇŽ²ŽÚ˜‰‰‰¬Cèî> úìuÍë&¿RUR=äs¨ƒãîçé×_M}RPP¨¯¯g0¶¶¶Ã† :t¨“““††¤=‰ kiY’gkkËáp&N”4qäÀŽ;ù‚gYmk»­mS» #Åeǽë5ejJj t7µµU„L«®®f2™666Ôí:'''uõvyˆ2ײ$OGGGGGSµäÞŽ;q&dº¬¶¨£#뺽C¾‡Þµ‘ ‹‰—GAûº{7€±¿ÿþ9»nsò:Ž“‰“¬C€îkĈOƒƒy£Fµã¢(èT°… €B’ ‡äÈ!$yr¨['y§OŸvww¿ÿ¾”õÿýwww÷ÔÔÔv àýuë$/;;ûÖ­[eeeRÖþüù­[·$¿Ð  3èÖ[¨Ì˜1ÃÉÉ©_¿~² uë;y¦¦¦îîîx7@×àyÈÓ~«½ÍÏ6×S¯ß~~Ûæg›£±Gé Ž¿:Î ˜)û„’Ê»-v»"w5ùmNyŽÍÏ6ß]ûN>ÆÍ¯È_uaÕ]Czmí5þñÿý÷¿"‘¨ZtÝúNÞéÓ§÷ïß¿cÇúfž@ 8uêÔ•+W ´µµG5gÎeeå 8™™idd4þ|WW× ›º™vsãµ²ŽBÜH»! GÙŒ’ûqó+ò§ŸVÈ/¤S^¦ø‡ú§§}çù]›·èTºu’×`NÞëׯÇIW8}úôž={ÂÂÂôõõéÂË—/÷ÝwµµµÔáÑ£GwïÞ½lÙ²ŽŒ Ûº‘zƒ²Ë{—§§óÍ_°ÔµXÕb×S¯ësõxr?î–[ ù…..ßýÞPÍðfÚͯ/~}"þ„woï~FӺVJ·~\ÛÀºuë"##õôô¶mÛvñâŽ{÷ZZZ&%%ùùù‰WÛ¸qãØ±cÿú믅 2Œ/¿üòéÓ§²  [)z]De3ŠÎð jµÏ#FÙŒb0ò=WWž^á*q÷xï±Ð²PRPÛcìÊ+ !gœiÛV þJ¾Q__äÈeeåÈÈH;;;ªpÆŒ={öüçŸ x<UèååB}ž2eŠ¡¡¡¿¿ÿ±cÇ6oÞ,›Ðº‡Ðg¡‹CSŸ{oëÝàÛÿŒþϼAóÞÕ6&;æ{ÄçÆókøjc{Œ]>l9W‰K©©¯qØæàaëñýØï ÿ)"=¢VPÛ߸ÿ7#¿±çÙÓ=d”fÄÜɸ“UšÅb²ìôì>ê÷ÑTǩԷt'ë=Öo ßÍb²FÛŒÞ0fƒª¢jdzäÎÈÉ…É\%îô>Ó?wûœÉ`J[û‰ÎŒ®¬«m3š:Š„GbŽœº*·"×@Í`fÿ™ã{ŽoÜê]¡VÕU Ý=ÔTÓôÂü âõ‹+‹‡í6Ô|è±ÇZ=®ä+àîm·¶}6ä³5#×Ð}.8³ 2#òÏ!wk÷„Ü„zaýHë‘êÊêtŸôúà‡°b²bÞu}Z×  ³A’÷ÆóçÏù|þøñãé ¢££ãããsàÀÄÄÄ1cÆP…óçÏo8þ|ÿÄÄÄ ¤v2áä†kè)ó9å9‡cGeD™}†ÃæP…Õ3NÌÈ.˦£2¢fŸšº0T‹£E•, Zø¼ø9ÝgBnBBnB!¿ÐÏùíþòêò>̯ȧƒ“‚˪Êfô›±8d±@( „TÕUíÚ«­¢=×i®ô±50çÔœ¨Œ(ɧ|õ³«Ö:Ö*„§„sØg gêpãµ'NRŸ³Ë²·ÜØòèÅ£M$‡:Ñ~â™g’ò“ é&!I!õÂúé}§¿Ï¸’¯ü¢¡‹rÝ;Ô߸¿§'!d÷ÝéK]–º[»B2K3 !vzvâ}jr4y\^vy¶P$O¸i­kÐÙàÿ¦oTWWB´µµ”S%Ô·”«q© UUUí"@÷6ÆnLêÚT[BÈ£URצRÿ;2ýˆ„VÙeÙþ¡þêJê›Ço¾»ìîãÕ¯|ze|ÏñO Ÿü÷']-&;ÆPÍ0dnHÒʤ°Ea..eUeg¥+ØèØlž°9taè“ÕO¾L8ùñI[]ÛÑ"]'6;ÖJÛêüüóW= ™b¢až¾úÂêOœ>¹½ävâÊÄ“w°˜¬Ã1‡[[{¸‘vÃÅÜEYA™’˜Ÿx2á$W‰»eâ–¸Ï㢗Gçù]hJh‹.ãŒ~3!‰â­‚ƒ49šclÇ´z\ÒÜ•g0[½¶ši𭹏&³43"=bï½Ã,†}îö9Õœ_Ë'„h(k4èV“£) ªêšþÓݺV îä½ahhHù÷ß…B!“ù6÷%„Ñ%ñññâËiãââ!ÆÆÆ+H퟇ÿÔ ë7ÛD?´ÑµÙñÁޏœ¸Ðg¡ô}8-ŽÖï>¿SI-´,Ö{¬ÿÇøäÂdºOÿýw÷¸{ ¿"¿VPK—ç–çšišQŸµU´÷OÛ¯ÂV!„ô1ì³`ðÿPÿ&¿õ UÁËÞë죳7RoTÕUqØ)ckàø‡Çßóš<)|’W‘·lØ›åbWŸ^%„¬v_=ÍqU2kÀ¬òêòí··ÓM𠵝aßz=Î?>¿nô:*‡û7çß´â´yƒæ±YìV(­k IDATK¤¸òêÊê{§îõ=îëìWôºHŸ«¿ýƒíô¶wmz"y3”Öµèl佡§§7`À€øøøµk×þøãl6[$íÞ½;44ÔÀÀ oß¾tÍM›6¹¸¸899B233W¬XAñôô”Yèðn)/S!_œûâ‹s_PÿB‹ˆˆúÀ oçþ;8ˆOƒ3Õ4%„ðkÞ¼Þ¦¼º|êñ©ôsXqÕuooó;ð¨ b¬aLl:X¼¾‘š!äåë—¦š¦RÆÖæÂS ÆHë‘Ô!õhÒÍÒM¼ÎpËáâÉ–4¡úöõݶéJòïÞÞäwõ<«mé¸R^y{}ûµ£Ö~wí;&ƒùÇì?´UÞ>“QSR£úiм¼ºœÅd½ë™xëZt6HòÞúå—_<==·nÝzøðakk묬¬‚‚ª\Aáí…2112dˆ­­­’’Rrrrmmm¿~ýf̘!»Àà„"!!„š×€øm!êæ­AŽœœ_‘ïiç¹Üu¹¹–9GÃ`0Ö_]OÏ'£()(5¥A!µª”ŠJÊØxÿ9y×S¯÷1ì£ÇՓ܉8iBõvðþåÆ/gœñîíýºöõÅ'ûõ³Õµ}Ÿq¥¼òB‘0,%ŒúðèÅ#ñ-NÌµÌ !ÏŠž‰×/«*+à˜kš¿kj]ëZt6HòÞ=zôùóç?ÿüóÔÔÔ’’Bˆ‘‘Ñ–-[fÍš%^mçÎÛ·oÿûï¿éV'NœPTT”AÄÐ*×ùóÃ?‡Y ku'Y¥Y„•#VÒ™S­ 6:3º3ÄÖREü¢¤I_¸}A—P MDzÄÇý?¦ o§ßo%M¨šMO;Ï O.d”fÜ˺WUW%~¯uãJyåwEîŠL\4tÑíç·7…or4tìc؇úª¿q¦Â´ÕôRÙsωD¢A¦ƒÞu.­kÐÙtëÿ¡VKˆçg&LHIIIII‰ŒŒ|üøqNNŽx†·páÂ7nôïß?$$$'''***333,,ÌÀÀ@Ñ€¦8Na1X_û*ðA`~E~ îåë—q9qþ¡þî²#u#BÈ¡{‡^¼zQ]_”Ÿäì—^’.“ØŽxœ^tò®ÿIº—v]$²~û‰±=ÆB¶ÞÜJ-.®,>b_Ô¾V„JeuA‰AgîŸá°9^½¼Þs\i®ü­ç·öFíuµt]9båÞ©{9lÎò–—U½Ùå^MIm\qüþò–g–fÖÔ×\}zõ×[¿’ÿ-iRëZt6ÝúNµ¨¢qŠfcccccÓ¸¾•••••õÙØØ‹-:? -‹Æý°þêúo.Óà«ECIÙɤ^“öFí J J ¢J¸JÜ1vcBŸ5\ Úñ±µTxJ¸‘º‘ø€} û|Ôÿ£“ '×\\CzÙ{]xòvÓ;)Cu6w6Õ4=‚_Ã÷íë+>C±uã6{åsËsWž_i f@-¶0Ó4ÛêµÕ/Øoåù•øþA=_3rͽì{w2îŒ>8šîyÖ€YâOuçž‘qjÖ)''ªDšV\7½“÷Ûo¿ÙÙÙ?ÞÒÒÒÒÒRÖá@;šÞwzàì@/{/}®¾SAŸ«?Øt°¿§ÿbçÅRö`¨nxâ£C͇r•¸êÊê#mFΤÕÊ6¶©®¯¾›y·ñ{cý=ý׎\k¡eÁf±M4LVXµÊ}U+Be0ÓûN§¬LïóöYm«Ç•|åëuËÿYίáïöÞMïh8Úfô¢¡‹¨Û{t'Ás‚';LÖVÑVd)ÚèÚl³aØ ’¯UëZt*Œ-÷õõ%„6[³“óóó;xð Ç ß( ƒÓ„Lo¾*t%¾>>mðû[PPÀçó%T¸t‰»b/55í=‚6w=õú …Ggm°¦U^Ç…ð»ÙÕq¹\úý[Òè¦wò¾úê«ÄÄĬ¬,dxÐ}\O½®ÂVb6¤›Œ ÐÍuÓ$ÏÎÎÎÑÑKb [Ù4nSâÊDEVGÿé“Õ¸Ý\7Mòä’<9„$@!ÉCHòäPËÞxñìÙ³””SSÓvŠ:“ÏY)ë m?{fÛ|- Ýúµf A¿~Vx'¯œ¹ÿ¾¬C€ŽÓ²$ÏÎÎÎÎÎNÞx’1ŒùóçO˜0AÖ@[Z¶l—Ë•uÐA0'@!ÉCHòº¯Ý‘»ÿ~øwƒBÇ_gÌ”I<І°ð ûÚµgˆÙ)½§ˆ.qY¢ÏÕ—UHÐVäÀÿ³Øy±¬C€6ÐÝ“¼¨¨¨k×®}òÉ'²Ž¤òºöuxJx^EžšÁ»1¡àXܱ>†}Ü­Ý !‘`ï½V:V^ö^iÅiQQ¥U¥‹³YlH•õ¬è™@(°ÖµvµpURP¢ú,«*;þïqºñÂ~Fý†[ oÐó“Â'Ñ™ÑB‘ÐÉÔ©¯a_i–!ä዇ ¹ üZ>Ëa=BGE§q+ɃJ8»&‡žì0ù죳B‘0«4kWä.ªæTÇ©&&ûïî×çêOsœÖ¸mdzd­ ¶¿q'§ý\ ãu£$ïöíÛׯ_Ÿ?¾™™]åïïïîîŽ$ KHÊOZ¼°ˆ_Dêsõ7Û´+r׬³¨d¢^P¿+r—‡­GJQÊÞ¨½Tµƒd–f.Yœ^’NwÅãòvOÙ=Àx!¤¼º\¼ Uø‰Ó'T’G÷œ\˜|àîºÚd‡É¿xýÂb°$Gþ®Àʫ˿<÷åÝÌ»tM›³qÌFŸ>>Òšú2UÂÙ59t_£¾Tn—SžC'yC̆˜h˜ì‹ÚçhàH%ytÛÜòÜm·¶‰D"ªæô¾Óÿ“ô?èxÝ+Éó÷÷÷ððOò\\\6n܈  Kx]ûzQð¢"~‘¥¶¥«¥«@(¸ýüö7—¾i\3!7!,%ÌÍÒÍžg¯¬ \/¬_¸ ·<×HÝh„õ6“}'ãNZqÚgŸ]þôr‹æŸÅçÆ‡¥„°a«g›_‘õéÕ³ÎZhY,w].Mó1ÌÏ‚>KÊO2Ñ0q³rÓPÖÈ,Í K [wy®M?£~Ò ZUW%ÍÙ5Ú\Ë|…ëŠÝwv«OuœJÕ1Ö0n2ìûy÷¯§^a5ÂV×¶€_péÉ¥3ÎxÙ{¹X¸´èç©%yMrqqqqq‘u •óÏò ‡[ ?8í õ”³ª®jŕŠjWÿ:é×É“©Ã3Îä–ç0ðç‡rØBH½°þ‹³_\yz寄¿¾pûBúJ*K~™ø =È0ýøô£qG— [ÒìͼÆ]N¾œ”Ÿ4©×¤m^ÛXÌ7Í“ò“|Žû=ºsòNi=ÿø¼4g×`hBÈ ×{£öši™­p]ÑlØû§î÷°õ Ý,ÝV_X}3í&•äIÿs€ŽÔÆI^YYÙµk×ÒÓÓÙl¶““Óðáéò¢¢¢}ûöéèè,[¶Œ®\]]ý믿²X¬U«V)((HhN«¨¨ KKKSQQ0`€³³3U’˜˜øõ×_«¨¨Ð•©Âµk×*++?~üúõë„#GŽ„……B,,,>ùä“&çäeff†……hkk»»»÷ìÙ“þ*,,,22ÒÏÏOKKëüùó©©©<oòäÉÚÚÚÍ^œøøø[·n‰D"77·AƒýóÏ?÷ïß§c¦{ÖÔÔ¼xñâ³gÏèéé)9žfO\¼guuõ³gÏfff}ðÁšššÍÆ Ð©$ä&B–[Ne„›³ÄeɧŸ6¨i©m)žÍÄçÆB>wûœÊ! L…Uî«®<½òoο-ŠÁBË‚N¶!} ûޱsåé•”¢”žú=%4l2°;w!*l•Ѩ'¡"‘HDDêÊêIùIR*åÙ5ºEzé÷¢3¼råÊòòrº‚««ë­[·˜LfHHH@@À²eËä:_|ñ•äݸqƒrôèQêÛ#FPI^ƒ9yëÖ­ûå—_uÈ`0,X°oß>6›M Û²eË€Ö¬Y“œœLÕÑÑÑ ïÛ÷“¯…B¡ŸŸß¡C‡è’¥K—òùü?ÿü“Ž™ê¹wïÞ_ýuzz:!䫯¾òôô”O³'N÷ìàà°zõêÌÌLªŽ®®îßÿíêêúîŸ'@§S^]N=R4Ñ0i\ÓBÛ¢qC3M3ñBS SƒQVUÖ¢L4gªiJ©¨©hªz3•T–BN?8ý>ƒJyv †nCuCñC¶ !¤^XOJÿs€ŽÔfIÞÙ³g,X   0qâD{{ûšššÐÐЈˆˆ¹sç^¼x‘²cÇŽÿýwåÊ•ƒ :tèüqäÈ‘¹sç.\¸PšæŸ~ú)!dРAƒ b±Xÿþûodd¤P(d2›ßÒyΜ9B¡ðÆóæÍ£æä59oïÞ½›7of0^^^öööÿüóÏü¡««»yófºÚ¢E‹.\Èår¯\¹òøñãeË–EDD¼kô;v:tˆÅby{{[YY=}útß¾}zzzk.Y²DQQñÓO?566vvv–2i,]ºTQQqáÂ…ÊÊÊaaa?ž2eJrr²ŽŽN‹ú! e BHny®ø,ºœòœÆ5<9¥f•eQ¹%»<[$ir4 !Ô=°ÊºJñVyy{Î)k8\vY6!D]I]šShGƒòqÿuTþ&*+(K9h³g×äÐmHúŸ t¤6KòÖ­[§¢¢rûöíR%"‘ÈÇÇ'$$$99¹gÏžŠŠŠ ðõõ=|øðòåËûôé³ÿ~)›ÿç?ÿ!„ìÝ»wÉ’%ô ‘‘‘,–T¶æÌ™“••uãÆùóçK¸}õóÏ?B‚ƒƒ§Ly³5è½{÷ÜÜÜvîÜùí·ßªªªR…ÖÖÖ¡¡¡‡²yóæ>}úܹs§¢¢B]½é¿ò¿þú+“É sww§JΞ=ëííݸ¦‰‰É­[·ÔÔÔ¨C*¯m6iFDDPÖ××Ϙ1#$$䨱c+W®”¾ÙêoÜ?8)xoÔÞÓ(0!5õ5âkNße€ñ€ Ä Ý‘» ò9HðÛ­ß!MBtUuÙ,vtftu}5•]Õ j›ì9£4#$)D|z\è³Pueu[=ÛVœ‘³™sàƒ@H°lØ2&ãí¯ñ‹ò_åK9h³g'"K±¥÷2kõÏÚUÛ$yùùù?¶¶¶¾|ùòåË—E"5¹„ºÇGM#333û믿Æ?vìX àà`*Oj¶9—ËMII4hx†GiÛ§YYY999Æ £3*BÈ!C|}}ÿúë¯øøx777ªpÍš5Tä„EEE§OŸæçç7™äeffæååyzzÒ!dòäɃ ŠmPyõêÕt†'}<ÒX³f ž‚‚Â÷ßrçÎ$yÐ…Lê5igäΛi7'žàjá* n§ß®¬­$„0 É ÷Fíˉ÷ǸV#Ø,öŒ;©/S5”5föŸIa2˜îÖî¡ÏB'™äní^+¨½•v«FPÓ¸+mí¯/~}ñÉE;=»¼Š¼«O¯ D‚yNóZwŸlb¯‰Ç⎺*"=ÂÅÂEGE§¢º"£4#&+fÁà} ûH3h³g'…¶Åã‚Ç+ϯ4Õ4e2˜Ô>y-=‹Vÿ\ ]µM’WTTDIKK[¿~}ãoÅgѹ¹¹™››§§§{{{ÛØØHÙ¼¸¸˜Ò£G6‰ö]JKK !VVV Ê­­­ !%%%t‰©©©x.—K©««“Ðmã§Ã“<[Û·7¤G–––©!º UEÕÓ, \ø¼øùóâç„=®ÞºÑëVž_IÍ{›sØ÷0µ“Ü_ Q…ú\ýÝÞ»é'Œ«G¬ŽÏ‰O/I§v›3Õ4Ý2aËü3ót5Àx€µŽõÁ胷žß¢J&;L^2l iƒuxúá5×\O½ø .çqyt†×ì ÒœÝ»Ìsš·æÒš³ÎR‡Ô>y-=‹Vÿ\ ]µM’§¥¥EéÕ«—¯¯oão D^²dIzzºµµõñãǧM›6iÒ$išSóÆž>}ú®¨e|>Ÿ^¥AÉÊÊjÅY<þ¼AyZZ!Dšõ³ºÍÈÈhPÞ¸„B­A‘>éO<==^ŒLÒCt!} û†/ O ϯÈ7P3ð°õ¸žzˆ­ P`)¬p]a¥Óð¿Žltm®|våNúgEÏ"•¶Õp«áô;!!V:V¡ CCSB ù…&&¶5õ5+\WЛÕÑV»¯ž`?!&+F(4ظB“Þ˜GëwŸßÓŠÓârâJ*K´U´-´,œLœèU¤TòÙ½khBÈTÇ©÷²î•W•‹ˆˆZøàª0...((ˆÃá 0 uÇÜÜÜÈÈ(,,ìöíÛô¦0.\h|¯ñHsâ”-[¶Lš4‰z\__¿aÃBȰaÃZwR²’ú2ÕXÃ˜Þ ¤´ªtOÔBý–-ƒõ®]ßX Öp«áÔë+𤮬N½æÂasÞÕ•ÏÁçТÈ%F±Ö±¶Ö±–܃äA%œä¡{èõè¡÷ÿž“ˆ¿»¶É¶ ›ý¹@Çk³…¿üòËÔ©S 0jÔ¨ž={*++gddÄÄĤ§§WUU±X¬øøø+VôíÛwïÞ½'00ÐÍÍÍÇÇ'**JII©Ùæ›6mš1cÆ¢E‹>L­®‹‹‹ŠŠª««SPPðòòÚ°aÃçŸannžœœ|áÂ}}ý/^ÐRO‡W®\©¢¢Bí“×à,Ö®]»lÙ2ooo//¯ž={fffþý÷ßuuukÖ¬iÑ*‡¾üòËÕ«W=ÚÛÛÛÒÒ2%%åܹsúúú………’'¬44'NÉÏÏ···÷òòRRR ôè‘®®nã+ÐÉÝL»y ú€‹¹‹‰¦IÁ«‚›i7Ë«ËÍ¥Ù£®½¸{ VPÛäWŠ,E?g¿ާ#uæŸ @·ÕfIž··w@@Àòå˯^½zõêUªÉdŽ?^AA¡¬¬ÌÇÇGII‰º EyØ?º[=ÛšúšKÉ—èGCÇ_'ý*Ãh£¾ªyÕäWjJjòäuæŸ @·Õ–›!ôÑGÞÞÞáááOŸ> …C‡¥Ö($$$Ì™3ÇÝÝ^lA¡–Êðx< Í)~~~~øáÕ«WÓÓÓ544 0dÈúÛ;v|øá‡ £FêÛ·oHHˆ õ”–¢¬¬{ñâÅÔÔÔššj%Dãw×nÞ¼yÑ¢Eô&FŽ)þ† eeeñ§ õõß9Á™Åb>|xÉ’%·nÝ"„¸ºº<¸GºººtxMöÜl<Òœ8ÅÎÎîñãÇçÎËÌÌ466Æ/ ‹a5âÎÒ;w3ïf—e³˜¬^¼^ƒMwÌN 3Û(‹†.’p'¯í$døs€waP›•H‰ZØlMh 66V|Êž={–/_>eÊ”özíÚµ[¶lIHHè×Oªéᄃ±k×® &´k`ÐÁ–-[Æårßÿ÷·  €ÏçK¨péwÅ ^jjÚ{m ¿›]—ËåñxÒ×oãw×»Œ5ÊÑѱÿþl6;..ŽZñÅ-x-:€ôäuÁƒ_¿~ýîݻԡ’’Ò¶mÛèŶm I^ ‹‹»ÿ~QQ‘‘‘‘§§§¡amõ®Ù~ Çäu'''''låáááááÑñ〠1›¯] ’<9„$@!É€®dþ™ù›Â6½OEü¢™3Åk£ˆÞ©NP73`æo·kïšTÈ/9Û^ß~Ýèut‰P$ŒÉŽQWVoÛ¤ñcøÇâŽÑ{Ý÷7îßñ1€Ìµ8ÉËÉÉ9sæL{„JBB‚¬C€6öâÅ ñ÷ vQG¦á*qeEb²c:Ï[¼ ù…zªz#­GrØœ¸g S‹“¼èèè3f´G(Щ=zôèÑ£²ŽÚ˜$yƒL5_©ÛûÏèÿè©ê1Œ+O¯ Éè¶Z–äá­µ [óÏÌ·Ò¶úÖã[º$³4301ðYÑ3P`¥c5µ÷T{ž½x“yÎ<8“[‘k¨n8£ï ]UÝÆÝ–W—%%ä&ðkù<.ol±£lFQ_Õ êæžšëdê´lز¿þŠÎŒŠ„MÎ8[…­ByZôÔÿš¿@(xøâáÌ€™T«õcÖ[i[QŸBÁ™g"Ò#jµýûÏ8·½oFêsõÛµè0'º’sò.'_þêüWu‚:êðÖó[Æý¹Þcý쳩’ Ä u—× EBê0$)dåð• úLÈMX´°´ª”. N öíë»yüfò¿©u\%î¼ÓóîeÝ£*\O½’rjÖ)-ŽÖ«šW1Ù1„Šê êõ™ú  ‡,¾žz:¼™vóÚÓkAs‚Ø,ö»Îñ§ðŸ¾x(ù:l›´ÍHÝHrèæä@WUÀ/X}au n\qãzŽc3Ù·žß L ü!ì‡&{ñzåUäm¸ºA(Nuœ:Êf”@(¸œ|¹ÁrW~ ß/د¬ºÌ»··»µ»†²FVYÖ±ØcÍœ?pø€ªvûùm®÷k÷¯mumó_åºw(­8mSئ_'ýÚC¯GÀÌ€ /ìõí醚Í5#רêÚð öEí{TðèRò¥É“ßu^ÉEÉt²ø.UuU­¿pÐ= É€®êŸ‡ÿT×WÓ·Ü!c{Œ5T3ܹóôƒÓþžþç«ÔÎ4ï?£ÿCU˜h?ñë‹_‡$…¼íäÑ?ŕūF¬òsö£ 'ôœ0b߈‡!t’'"¢ãïÅëEŽï9~Ìïc.>¹øÃ¸Ô”Ô†˜ a0!fCèNjêk! L…“Ÿ´Ô¶¤ Í5ÍgœŸ/!Éûfä75’Ï·ñ YHò «J.L&„|Ø÷CñÂú´3rç“‚'„§EO !¾}|Å+øöñOòîçÝ'„„> ÊŒ¢öõ!­8®f¯oOgx„-Ž–‡­GPbPêËÔ>†}$éhèHgx„Þ½ !¥•¥ïnAÌ)h$yÐUQ·Ê49šâ…Ê ƒúªº¾šÒ`§: e ñÃÊÚJBȃüûWTP¤?7ÞîŽê‡H‚ÃQSñè9‚Mœ<hHò «¢Ö&æ'šk™Ó…I/’D"OGÑWÕ'„<*xd f ^A¼CuCBˆ¿§¿nÃýe˜oÿB>+zV'¨_-‘”ŸD¡"äÍ À69/ÌÉ€6$ºªáVÃOÄŸØzs«ž]½„ÜòÜW7R_BܬÜ~¾þ³µŽµ…–!$¹0ù·[ÿoáÅØcÿŒûó죳Û&m3Ó4£ "Aè³PP@W{ùúåa?|ëñ­"KQ$‹;“c¦iF7QURÍ)ÏŠ„LÆû¾.sò M É€®j¤õÈ¡æC£3£?8ú…–›ÅN+N«ÔÙêÚúôñ¡*ô70îÐ8++PQšÑC¯G¿€îd°é`ß¾¾Geªiª«ª[Q]‘SžSS_³h袉ö©jÖ:ÖA‰Až\°Ð²È•_Ä/"„¬r_E÷Ó‹×+:3Ú}¿»±†1ƒ0Ä÷Ék©÷Ÿ“w#õÆ¡{‡!%U%„sÏ%ä&B<{x~âôÉ{v]Åûþ'€¬0ŒƒÓúôñ!"’Vœ–\˜, <í}|f ˜Åd0Å;Yï±~Ë-Q™QeUe‰+UØ*¥ñw2îd•f±˜,;=»ú}4Õqj‹FŠ„GbŽœº*·"×@Í`fÿ™ã{Žo|.RF¸)|Stf4‹Ém3zØ ªŠª‘é‘;#w&&s•¸ÓûLÿÜíó÷iE‘ò¬¿õøöÇð£3£B“©Óê«\sèlä@SQ]1ãÄŒì²lê0*#jö©Ù¡ Cµ8ZTÉÏ7~þãÞtýÇ¿ý>!7aûÛéÂòêòéÿ^À/ …B!!daÐÂçÅÏé: ¹ ¹ …üB?g?éGßxmãÉ„“Ôçì²ì-7¶ /ðõh2ð›QßP¼ì½Î>:{#õFU]‡Íiu+iÎZ…­rÐç ŽŠ!ÄZÇzÇäOŒË‰{ùú¥®ª®ô?;èH¸“]Œƒ•cQL5M !ü>u˜Q’Ae3J¼ u˜YšI—ôâõjá•W—O=>õø¿Ç3K3ÅsBHu]µ”£SC¸Yº‰7n9\üPÊxT®F1Ö0&„ 6,ÞÊH͈òòõËV·’ò¬{ñzQE©àlîÜ `èlp'ºeeñCa4®Ã`4Q(N“£Ù $8)8¿"ßÓÎs¹ërs-sއÁ`¬¿ºžž`'ýèÒh6B%¥f ©N„"a«[IyÖ­> !Üɹb¡mA¹‘zC¼ðfÚMBˆ¹–¹„†Y¥Y„•#VÚëÛ«°U F­ 6:3ºE£SCD¤GˆÞN¿Ý&¶)ÏúqÁãâÊbú°^X7ó.!„~ž ’<+Ô~%»ïìHxùúeyuùùÇç©WŠMè9ABC#u#BÈ¡{‡^¼zQ]_”Ÿäì—^’Þ¢ÑÇöKÙzs+µ¬µ¸²øDü‰}QûÚ$Âö åYWÖU. Zô ïAU]UZqÚg¿H+Ns2q„<€Î k@®8ð ^p8æðÆ«7^ÝH—{Ù{±#¡á¤^“öFí J J ¢J¸JÜ1vcBŸ…JhÕ@Ã>õÿèdÂÉ5׈}áÉ…÷°=HyÖƒLe–fN;>.Qa«l³‘@'†;y o¾õÍV¯­} ûrØ%%{žýzõ¿}ð›äV†ê†'>:1Ô|(W‰«®¬>ÒfdàìÀV<Žô÷ô_;r­…–›Å6Ñ0Y5bÕ*÷Uma{ò¬5”5NÍ:5ÊfW‰«ÂVq³t;=›ätv ‘H$ë +)((àóù*\ºÄ]±‚—ššÖa!Aû¡ßxq`ÚYÇï ¿›]—ËåñxÒ×Ç<9„$@!ÉCX] 襤 ”º6UÖQ@kàN€B’ ‡äÈ!$yrI€B’ ‡äÈ!$y]OEuÅ®È]7Ón¶m·ûïîN nÛ>@Vät=5í’äí‹Úœø6ÉÛ¹ûíÐaðÆ xc‰Ë}®>}¸'jϳ!SzO‘aHÐjHòàÅ΋e´$yÐeD‚½wöZéXyÙ{¥§EeD•V•.v^|"þ„’‚ÒÌþ3©ju‚ºýw÷B>ò© […*<óàLyuùgC>ëÈÀØ,6!¤¤²$&;&«4K¥`§kçláÌb°šl™Y+¨íoÜßÉÄ©Á¯k_‡§„çU䨌±ÓàÛ£±G¥¿¢Ýw¿>Wšã´¼Š¼ Ä ¡H˜Ušµ+rÕÃTÇ©&&Ôç‡/&ä&ðkù<.o„õ¶¿¬ð~ä@—Q/¨ß¹ËÃÖ#¥(eoÔ^ªpÁà1Ù17Ónz÷ö¦š¸œ8*/émÐ{”Í(BH­ öûÐ yW’÷÷ÿ³Ë²%>{àl-ŽV‹c³Ø?„ýp2ád­ –®l¡eqÈ÷¥¶¥xÃÜòÜm·¶‰D"ªÎô¾ÓÿÝ$)?iaðÂ"~u¨ÇÕÛ4n“x-º¢ÝµÏÑÀ‘Jò¨rÊsè$oˆÙ “—¯_~yîË»™wéÑ9lÎÆ1}úøH¾€ÐÁä@“›–æféfϳWVPf³Ø®®¡ÏB£3£©„&2=R…­Âas"Ò#¨’ØìØêújWK×wõù÷ÿ£2¢$;Ñ~â»’¼wF‰HÐçê÷7îo¬a\S_ó¤ðItfô׿œH7¼ŸwÿzêõV#lum ø—ž\:óàŒ—½—‹… !äuíëEÁ‹ŠøE–Ú–®–®¡àÖó[ß\úF|èV\&£¥©­p]±ûÎncu㩎S©Bc cPðYÐgIùI&&nVnÊ™¥™a)aë.¯³ÑµégÔOò5€Ž„$º˜âÊâ_'ý:Ùa2]Bå.‘é‘TB‘1Ô|¨š’Zdz$Uú !É›Ò{Jã'¤ h«h·40Bˆ¿§¿•ŽUtft~E¾"Kq°éà—¯_&ä&”V•Ò)cqeñþ©û=l=¨C7K·ÕVßL»I%yž\(äºYºýîó;•ŠUÕUÍ>9»¤²ä}®@“ÑÒ¨$ooÔ^3-³®+èòËÉ—“ò“&õš´Ík‹ùæ¡sR~’ÏqŸ£±GwNÞ)ù@GB’]Œ¥¶eƒÔÄ\ËÜTÓ42#’RZUú¤ð‰O®"÷죳yyFêF‘é‘ú\}[]ÛwõÙ& HF¹ŸwÞéyõÂúåů‹é$¯—~/:Ã#„¸[»B ù…Ôa|N7^$¹Yº©*ªB"Ó#GÛŽN.Jövð–Ðç{ÎÉ{W`љѿÞúU‘¥èaëa®e®¢¨Â Œˆôˆ„Ü¡HHW3T7oEÍ«£óÂòêrB½âbªiÚ`¬–^&/c³¨Û‡§œnE[è`Hò ‹¡—¦Šf1ìdÂÉÈŒÈøœxc cjYƒž]Dz„’‚’H$’𬖴ќ¼ÆÝH»AÙ3eõ•ò¤ð‰äÐPÖ „ä”çˆï`×8%méhò26 GƒòqÿuT.§UVPnE‡Ð~䀈ˆ-c2Þ¾3©ˆ_”ÿ*¿¥ý@»B’ò@]Y½7¯wxjx ÎÍÊ*t³t;{ôRò¥žú=õ¸zš·ÓKúõ'„, Z4®Ç8-­”—)·Òni«h¿|ýRúN¼ì½vFìŒH˜px‚«¥«P$¼™v³ª®ªAµ÷¼M²Ð¶x\ðxåù•¦š¦LsªãÔ‰½&‹;vêþ©ˆô ŠêŠŒÒŒ˜¬˜ƒô1ìÓÒ! ý É9áfåö ÿ‹Ér6w¦J› Vd)Ö j‡Y “IHc{ŒÔkÒùÇçßl˜âÛ×WMQíHìé;QUT=8íàÂà…é%éé%é„]UÝŸÆÿäì× f›_yNóÖ\ZsöÑYêÚ'ïðôÃk.®¹žz=ðÁÛ]`x\2<€ÎIt ,…®+¬t¬šüv²Ãd&ƒ©ÅÑ¢&±B””7ŒÙPÈ/×cœ¬ÛþÁö™ýg>|ñÁ` 4èhè™ÉUâRsÚšlHÚèÚÐ%ކŽa è7^ðÔx¶"‘h…ëŠy•”W@B´ Þ];ÕqªƒÃ½¬{åUå""2Ö0&„hq´~÷ù=­8-.'®¤²D[EÛBËÂÉĉÞQ: ½Á:€4 ø|¾„ —.qW¬à¥¦¦uXH ünvu\.—ÇãI_ŸÙ|èjäÈ!$yrI€B’ ‡äÈ!$yrI€B’ ‡äÈ!$yrItmu‚º™3»ý›¬y£ˆ_43`汸c²º;$yЕÌ>9û§ðŸÄK„"aLv̳¢g² ©AMLvLFI†¬€îNAÖ´@Lv ƒÁu]îäÈ!ÜÉ€®áiÑSÿkþ¡à዇3fR…ëǬ·Ò¶¢> „‚3ÎD¤GÔ jû÷Ÿ;p.W‰K}U'¨›{j®“©Ó ק›y·´ªôðôÃÊ ÊåÕåA‰A ¹ üZ>ËÛcì(›Qô ¡àæó›‘é‘Y¥Y,&ËNÏnšã4KmKñÀä=8óàLnE®¡ºáŒ¾3tUu;äz4It ¯j^ÅdÇB*ª+¨ÔgêƒP$\²øzêuêðfÚÍkO¯Í b³Øäóö¸JÜy§çÝͼKÕ©Ô'$, ZXZUJœìÛ×wóøÍÔáÌ¿fþ›ó/ýíõÔëGbŽì™²‡NƒƒÖ]^' ©Ã¤•ÃW¶Ïh$yÐ5ôÐë03`öÉÙöúöëF¯£ íõí©·ŸßÖäh®¹ÆV×¶€_°/jߣ‚G—’/Mv˜L÷pûùm®wÕˆUö<{eePàìWV]æÝÛÛÝÚ]CY#«,ëXì±ÀÎfÎ8|@á×ð';Ld:ÈD亾úIÁ“cqÇüCý©$/¯"oÃÕ B‘pªãÔQ6£BÁåäËg/tsHò kPSRb6„Á`hp4†˜ ¡Ëkêk! L…“Ÿ¤¤škšÏ:9+>7^<ÉÑ?ü¯=ïM^x"þDqeñª«üœýè:zN±oDÈÃ*É ˜p/ëÞ­ç·®>½Z+¨‰DJ J¹å¹/^½0P38÷è\­ vÞ yÿýªùDû‰__ü:$)¤/@óä€&½Hj]xm ûä@W¢ª¤šSžÓà]ëŒí1–röÑYCuÃ!fC¨ÿ9™:•V•¾xõ‚¢ÉÑ$„ÄçÄSõë…õ»"wÅåÄÑ=¸Y¹B~¾þsFiU’\˜üÛ-,¼€Nwò +éÅëí¾ßÝXØAâûäµÔ`ÓÁ¾}}Ž:0ÊTÓTWU·¢º"§<§¦¾fÑÐEí'º[¹ï½³w㵇ck©he”dTÔT8ð<¢zi=²¿qÿ„Ü„q‡ÆYéX „‚ŒÒŒz= ømwÆ­„;yÐÆX,!D h—ÎW»¯ÖãêåUäÅfÇÆdÇÐûäµÎã~\7z>W?»,;!7!­8M(Nè9Á«—!¤¯Qßc6rØœ¬²¬y Æ– [†š¥›³˜¬C>‡FÚŒ¬Ö?+z–Vœæbî²yÂæ÷=I€ö!¼ùõ„n‚ÑêÙ-Ð=ðù| ¢¢8sæÅÅ¥kj¶ÁCÕÆ"AêËÔŠê ¡Hh¯oÏUâÆfÇjq´ìôìè:B‘06;V[EÛV×–>lP‡&‰2Ë2K*K´U´Õ©E´ªºªô’taØèÚ°Y쬲¬üŠü>†}8l]§€_WžÇSã©ÕÔ×ÜÏ»ÏSãYhY´Çé´Z@€úöíÚqq²Z‰Ëåòx<éë#É€–i6ÉËÎfi”Û¯_u‡EÍúñGÝøxåààY­ÔÒ$k ™˜Ôih”eü?÷ï+ÙÛ×È: è8Hò 1ÄÍ­2<\EÖÀ[EE¬”‡¯”u Ðqä@Û›4‰ï'3“Ý|UèÁÁêêêB$yÝ ’<h{îî¯ÍÌêvîÔ–u @!ååÌ#G4f̨PVÆDünI´=‹¬[W|þ<76–Ó|mhg»vi3Äϯ´ùª Gä@»=úµ«kå÷ßëÔÔ0š¯ íæÑ#¥'ÔW­*QSk—] ÓB’íå»ï^æå±×®ÕÇNM²RX¨°h‘ÁСÕÓ¦½×ÎáÐ!É€öbn^·{÷‹Ë—UwïÆä<¨ªb.Zd ª*Ú½ûÿàw?ø™@;rq©ò÷¹{·ÖO?é´Ó‹Î I…… 3gåæ*:”¯®ŽµÝ‘‚¬97cF…ŠŠpíZýŒ öo¿r¹øÇ Ý=z¤DÝà Ê53«“u8 ¸“ínÒ$þ‰y‰‰Êžžf!!j˜¢Ð~ÊË™?ü ;uª±M]``2¼î ﮀ–iöݵïRVÆÜ¾]ûÔ)Þ½k,(3æ5›¿?m¦¨ˆ¬~䈃AV­*™6­óðäLKß]‹$Z¦ÕI%9YqÇí7T••…ÎÎU½zÕ ð  uR^ÎÊÈPHHPNLTVWΘQáçWŠÝRä’<h_ï™äQ^¼PW½{—“œ¬øò%‹ÏÇ ‡N+™³„¬‘uÐ4&“¨« MMëj†¯1¢RI ÿ¬Ë-$yоÚ$Ƀ®âÒ¥K+V¬HMM•u Ðâ$ÿõ ‡äÈ!$yrI€B’ ‡äÈ!$yrI€B’ ‡dt1JJJ²:޲²2!„ËåÊ:hñŸ_$yÐ2ššš²:ކ†!¤EoR€Nkä’<9„$@!ÉCHòä’<9„$@!ÉCHòä’<9„$@!ÉCHòä’<9„$@!ÉCHòä’<9„$@!ÉCHòä’<9¤ ë yñâÅÆéÃçÏŸB-ZD—oذA‘@ 1D"‘¬c€ÎB$™ššæçç³X,º„Á`PêëëW­ZµuëV™ÆRÁãZx‹Á`Ì™3‡ÅbÕýO}}=ý2sæLYÇRÁ<h™²²²ššYGíèÉ“'#GŽlò+ssó{÷îup<@QRRÒÔÔ”¾>æä@ËÔÔÔðù|YGíÈÔÔÔÒÒ2==½A9›ÍöööÆO «ÀãZhhêÔ© ïÔÕÕyyyÉ$h$yÐÐ|@ÍÀ£1 {{{KKKY…-…$266îÝ»7µ¨–Âb±¦N*à¥ä@¦L™Âd¾ý7B L˜0A†ñ@K!É€&xyyÑÛ/0™L''''Û Eä@tttLo‰¼E[°@g€$𦦦6bÄ‘Häíí-ëX ÅðZ3h™‚‚‚÷çÁ‹ ááªwïrž!x›Yg$’²2ff&;!A90PË~øa…Ÿ_©š~§wò …Z}'¯¬Œ¹}»ö©S½{×|úi™‡Çk6º>ŸÏåre4ïåKVPú‘# YµªdÚ´ &n‘Ë—–ÞÉC’-Óº$/!Ayñb&“¬ZUyb°t);+K¼PëÀâU«ÊüüÚ)¼ö£¡!œ?¿ü?4—//Á{Ϻ$yÐöΟçZen^'ë@þVa¡@Oïõ¨ÿcï¾ãšºú?€ŸV 콇 QQ *N¨«¨ýi­Š­ZWkµn­ÖVkëÄ:ªV¢Ö…àDD‘!ÈC@v’üþ¸6OÊAT |Þ¯çõ¼î=÷Üs¾ç&´ßÞ{îÉH"%¥|î\kÕdrr ¼¼¨[}uUÓ§7jkËfe)ܾM//ÿˆñ¾OÓ§WîÛ§®0fLugÇ ’<xÏø|¡°t)Þ¨…ONéªUÅ;wM)(HD’§¹i•áÕŒQpô(‘’"„ÔR>¾à!¯ÄÑÔäÚÙÕ!ÉëVäÀ{ÆbÉTTHõëÇéì@ÄU]]}öìÙ'OžHII 2ÄËË«µšqqq¡¡¡¯^½âp8šššNNN'N”““£Ž®[·.;;›2mÚ´iÓ¦ Î:vìØÝ»w !ýúõ[³fM#ñóó»rå µM£Ñ †®®î AƒÆŽ+#óvÍÛààà€€B“Éüý÷ß!/^¼øé§Ÿø|>FÛ°aƒMësË8ððáCBˆ““ÓÒ¥Kýýý###ËËË;F5%ú:ˆ¤øCnBªºZ{Õ**Ùªš6­êßKË#¼ IDAT­¹}»lr2!„Ó»wÉ?¶x.WK«Íöe²³"#©í’ï¾#ÿýýWž’R›-|²úö­{ò„ÑÙQÀǃ$Þ3Kš")Ïj ½¼¼¨äŒvãÆ 33³&ÕjkkW­Z*\xéҥÇÿù矖––„sss*µ*//$yÇŽ+--%„ˆÎ`ÄŒ„Åb5Ÿ²æççgccó÷ß«ªªBÜÝÝÏœ9“˜˜HÙ²eË/¿üR[[ûí·ßfffBæÍ›'"Ã#„¤§§S]¨¨¨,Z´èþýû‚±ˆsÄ Rü!7ÁST¬š2EwéRBˆü³g{ûz å TNŸ&„𔕋ùEt ¢1=zÛ‘²2½´TkóféÜ\¾¬l½}ÕŒ\uõŽ4Þ¹LM‚ƒ%8I…öB’ï›-EQR’Œ¥W×®]K%L&sÕªUººº.\n^Êl´µµ—.]ª««|ãÆ ‹µ`Á‚ƒ1}úô}ûöÕ××§¥¥%&&ÚÚÚBîÝ»GexcÇŽíx$3gÎ>|8µÝÐГ“sìØ1‹•œœü믿þôÓO„YYÙLš4©¢¢ââÅ‹...áááT†×¯_¿~øAÌ‹s÷î]]]Ý;v˜˜˜HII)**®\¹²Íë fâ¹¹êqã*æÏWùë/Z]ÎÊ•E¿ü¢¹c!„Ðh…{ö4Š9ÀIçæRR••úsæÊCCUýçŸuýúu¤ýN¤¬Ì«ªÂ**Ý’<xϸ\!„N—€7ørrr"ÿ}0·~ýú3fBFŒáââRTT$¨–™™yýúujû÷ß8p !ÄÅÅåùóç,+??ÿâÅ‹³gÏVSS?~üåË— !AAAT’Dèéé)##“žž¾iÓ&áFŒ±páB1#!„ —hhh|óÍ7„[·n ò'CCÃ_ýuñâÅ|>ÿûï¿çp8„uuõHKKBZ‹D¸„N§Ÿ;wN__¿]×AÌ År‹JÖ®•KH‹“MN6˜>ÆáBʼ½kFŽló\ѤjjÛ<•’ï¾ãª©©<(—œL//×]º4ûöm>C"zÒéoÿ<¡›@’ÝWRR’`{È!Ô†ŒŒŒ£££ ›!„ÄÇÇ ¶÷íÛGû÷<*++©¸¸8*¹ñòò¢’¼«W¯þøãÕÕÕÔl<))©™3gBØlv“ç˜&&&âGBáóù÷ïßðà‹Åª©©ill„QVVV[[Ëø7ÿ9räâÅ‹}||¨ N§ÿþûï‚E¶Z‹D˜­­­ Ãk×u'Hñ‡Ü"¾´tᆟ}F/-¥2¼ÚÁƒKW¬hóÄ6ñÛeK–TΜIi422œ8‘B/*RˆŒ¬=ºã|hHò ûª««l+**¶¸M©­­l?~ü¸y;åÿ.«Ñ¿kkëÔÔÔòòòÛ·o666B†n(ò¢˜‘p¹Ü n€µØCè&SŸ>}Ûòòò¢chNSSSxWÌë fbY®ºz£¾>½ôí{Ü ææ-®iÜ^ ÆÆ‚íz+«&„éI]º$yÐ}éêê ¶srrÔÔÔ¨mÁ«áÜèèÑ£L&³I;***‚m//¯Í›7B‚‚‚ …Ô†………¯¯¯ð¹ZZZâGrïÞ=Aò´`Á‚Áƒ3Œøøø={ö4]NNκuë»ÕÕÕß|óM`` õlk‘ˆ æu3H1‡,‚ÆO?É=.ØUöõ­0€íá!æé­©4ˆÐhÔ‚ÉRÕoW¡UÿoÙ‰~÷ºLÀ€îËÁÁAŸ>|˜ºëÝä6•“““††µîàààô/UUÕ‡ÊÊÊ *Ož<™Zgäþýû/^¼ „èë뻺ºRG™L¦Ó™››‹Ié¿w­¤¥¥—.]êêêÚ·oß„„„æC«««ûæ›oªªª!³gϦ^§MNNÞ²e‹èHDó:ˆ¤˜Cn óÊ•³g !«V­êÑ£‡peáõ𤥥===ßW$&&&‚—'ÊËË“’’¦Núí·ß6iÊßß?00¢  ðÇÈÈȘššî !dóæÍ)))â„Ôœ8×AÌ ÅrsT&'U[K©œ5‹=n!äÍÆõÖÖ„Êÿ6lhí\i‹ȉ‘yõJPÈxü˜*¤ý;é°ÑÀ /  zÌ>.]P@exõVV¯}|*gÍjß%è<4>_–9€OGaa!›ÍQáúuæòå:éé}jÐ"ú›7²ÿ>“­ëÛ—ÿï/mЋŠd33ß–;8ð…ž¡ ÈäæJçåµÖr]“µQ¤ªªd²³i úúÿ¾˜,¹ð·)é˜L¦N{¾‡x\ ’„«©Yûß×~ß–kk×jk‹>·Áа]K%ó””8Bo(H<®è‚ätAHòº $y]’<€.I@„$  B’Ð!Éè‚ätAHòº $y Ilm¯xyEtv-ødkSnnµ…Eð–- ݪk€îI@$ÝÙ´CbâÄΡeŸl`ÐmáN@„$$Ió©o—.±¦O¿ggw¥OŸ+'Þ9s&ƒÇã Wˆ‰y³hQ´£ãµž=/¹ºÞÚµ+‘Ín¤q8\ ‹`oï袢º+÷ïÍÖöŸ/¾ˆLN®nÇã;öÒÍ-ÔÆæòˆ!Ç¿ÌÍ­i2™L801›ÛÂãñÿßXŽ{I­yµÖ«­åÚÛÿãáq§Iý’NÏž—æÍ{ÐÁ®³²Ø?ýôl„Û}ú\±·ÿÇÓóþÅ‹9‚£>>iÁ»w?nsþü––Á÷î½nï¥èòð¸$ØÏ???~ü¥`÷Å‹ŠmÛžÅÇ—îÛ7€*9>sÓ¦§ü³¾ÜÜê'Ò£¢Šýý‡3oÿXYÙðùç÷Y¬j7*ªxîÜÈÐÐÑjj²TÉæÍ çÏgRÛ,VÍÏ??OJ*o3¶6›'¶&¾ø"2*ªXt¿!!n=z(µv´ÉXvïna,¢sw7ð÷ÏNL,³µUœrñbNc#Æ S‰Óõ¢Eѯ^U vããKããK‹Šê¼½­!‹[ÅÇ—;öÒÁA}Ì}BÈ)Eß|cíêª+¢k€î wò@R%%•?þR^ž¾y³ýÇãccÝ÷îuTU•ýçŸÜ°°B‹U³uk‚²²ì®]ŽñbÒÍ›nãÇ$'Wœ>ýJÐNLÌ==…‹]? =dˆVyyýåË,êhBBéùó™L¦ôîÝýbcÝ££'lÛÖ74´ ÍðD7+flï׳geMƲe‹}“±´ØçŸ›B²…Ï ÌVU•=Z¯#]B,,”víê::9yR|¼ÇùóÃ--•}|R¹\>!„F#¿þêhl¬¸vm\vvuDDÑ¡C©C‡jû­ÍûºD] î䀤ºq#Ÿ²t©õܹæTɤIFRR´•+_»–ëæ¦wéRNc#ÇŽ¾ãÇP,,”~ÿ}@llIhh>usˆ¢¦&û矃™LiBˆ©)sãF»ñão§¤¼}´R@ùî»>Ó¦™P%^^f {÷&‰Ot³bÆÖÄ™3Îïp¡BBò›ŒeÎ󊊆}û^ê´˜½½šµµò?ÿä®_o+/O'„>©µõõÜ\F …$$غu¶={ªœ=û*-­’Ç#ææÌéÓM/ÛBfÌ0éÙSùäÉô˜˜7¥¥uu9SS¦»»Á¤IÆâ÷²c‡ƒ‰ óÂ…¬‚‚Z]]y//s[[Õk×r••e:ü{‰­½¶nµ71QôóËÊË«ÑÑ‘Ÿ9ÓÔÃÃH8Ó30̘aF½}"x境]ëé1ΞuÞ½;éùó2))Zÿþßß[ð54ð–-‹a³Ž"XkpÔ(ÝÅ‹­}|RJYº´g/@Cgú0€@aa!›ÍQáúuæòå:éé-¤oÛ¶ggÎd:äD=…Ýáo³kc2™:::â×Ç<€6øûg—–Ö­o` PTTwñbޝï+EEéaÃÚñO[€ I@*+ë÷ìy±gÏ–íýñG»6'¢t"$ymøüsÓÊʆ۷ rrªétZ¯^ª_}eI­º ðÉB’Ð%%™U«z­ZÕ«³h¬“Ð!Éè‚ätAHòº $y]’<€.I@„uò@bpùÜC™k˜{Øxtv,MåVä&ä'äVäÊIËõÖéíhèH£Ñ:;(èÖä€Ähä6îÜïféöI%yYeYß_ý>./N¸°§vσSšª™vRPHò:&¯"/./ÎPÅÐNÏÎ@Å ´¦ôfêÍ”¢”þ B†HKá³Ð9ðO€1S7óŸëßÏ Ÿ dŰSNOÉ.ËŽeÅ2Ô‰±@w†$$RrQrtv4Ïs4r´×³or4676­8Íaª0 ÅÔúp‘è+ëë+ë —è)ëµëï[^WN•Ï&L.LŽÎ‰–¢I¹öp5Q3!„ðùüY’‹’™²Ì±ÖcÕÔ?\´Ð} ÉɳçþŸ‡>‚ÝI½'ýâñ F'„”×–éÿ峂g‚£rÒrk\ÖÌ0¿µÖ‚Ÿ³ÊY¢{œÛ®CMüKjJ!6Ú6Ô®`6aú›ôƒR…;oïücòCM‡.\Ê¡ ÷†ï½0çBâ÷Ð"$y aâòâÂ^†¹˜»XjYT„¤†\NºlªfºÌy!äTì©gÏt˜:#-GªÈ«äUäÅäÄ<É}":ɋʊÝ©»»øIÞÓü§¡/C?ëõu£N >/þNú7K7s ó´â´{÷6…lh4ðEÑ‹évÓUª‘™‘)E){ïï=<õ°˜}´IH˜ÒšÒ_Ü™j;•ÚM(H˜qfÆ_±}=ôk:^ZSJ¹8ï¢S‡ªPÏ­Oz$¢Á)}¦8:ŠîTüG¨¬rÖ’‹KLÔL¶ÝÖ4òÚÒãžÇ]Ì]¨Ýõ7Öû'øÇæÆ†, ¡¢mÞ0æØ˜»wù|>V`€B’ÆTÍTáBìõìG[¾™zóeñËžÚ=ÇX9îdÌÉö3ÌÕÍi4š,]ÖÁÀADƒSúLy_±e”dÌ=?WQFñ쬳JrJMŽöÖé-Èð!CM‡ú'øO³&ÈGeè2%Wk3µßWTÐ=!É c¨jؤÄHÕˆRÉ©$„8›9ŸŸ}þtìéÏÏ~ÎiäôÑí3Újô¬¾³2ŒÖ|_sòž<ûÒÿKuõ³³Î¶˜¢é*é ïR!µXXÛP+º/€6!É “[žÛ¤„Jє唩ÝF „±‹bX1»nﺙrÓoŽŸ­år|/sò¢²¢¼ƒ¼õUôÿžù÷}™@LHò@Âd•e]L¼(<'/4-TY^ÙRË’m«g«(«HÑfj{ØxÜ˸wéù¥ÌÒÌÖ^Yíøœ¼ÔWV˜«›Ÿ™uFCAã]Fð¾!É £® þýµï¯%_³Ò²Ê¯ÌI áò¹óçSK¨>ú$÷É “A&j&2t™”¢”ðWát]•¡ÚZƒœ“÷˜õxùåå<>o€Ñß8_áCÃ͇÷ÕïÛ‘ÆÞ’<0ý úõÐèq4úèýW÷©’I½'}=ôkj{°Éà§ùOï¤ßÔW”UÜ0jÇ»Á–_™Ïåq !gãÎ69¤$§„$: ’<ÒtéåÎ˩ߘ`3!&'†Ççõ7ì/œH-´hnÿ¹re–fBô”õ†›WQøpQYkY/w^Þâ!Á[½‚È…š©›-w^n§g'\èÚÃU]A]E^åE ÝÏçwv I Ùl¶ˆ ׯ3—/×IOÏøh!€8ð·)é˜L¦ŽŽŽøõ[~× $’<€.I@„$  B’Ð!Éè‚ätAHòº $y]’<€.I@$ÝÙ¼7_úi®n¾ÁmCg"1š\1‰¸€\÷bâň̈*N•‰šÉç}?·Ñ¶éì >EHò ëxÌz\×P'~ý¹ççÚhÛ¬µþÃ…ôéhq°M®X{/àÇÇiäÌ¿0?†CíFdFœ?¿Û}÷ä>“;70€O’<è¾bX14­³£øHZìÉ'™rÌN‰çÝxp †£«¤»Ìy™ž’Þ½Œ{Çý½þÆúÆõ•õ;;:€O ’<€îk€Ñ€Î¡yçâÏÑ¥è§gžî¡Ñƒ2Ü|8F;{ú\ü¹5.k:;@€O ’<0uÁσãrãª8UÆjÆ£-G;›9·X“ËãÞ{u/232§,‡.E·Ò²šf;ÍLÝŒ’ZœºõÖV.ûüõs/_/ªþÆÑEÌîjà6üŸßÿ99.ºô\ü¹èìhŸ×ß°ÿÜþsdšDø,0>/ž]ÏÖaꌵ;Òbd“F–;/¿ðôÂÃì‡eµe'fœ—–=.qÚüÖù[ÿÿˆÌˆzn½ƒÃÿõÿ?ê.ˆÁ¶9 OD¿„"vQÀ³€´â46‡m¨jèlêìféöánŽ&ä'TÖU3Fex”yŽóNÇžŽ$  $y Ižä>YrqIiMéÛýLâçûȾrúªye¯s^OrŸvï¤ß9sòà”ƒ#-FVqª¨y]•u•‚ ^•u•"ºæñy1¬¦sþ…ùr Ú¼˜xÑoŽŸC*‰Ï‹_¸¨¬¶LpbPb§½ç®ñ»š4ò0û!U¡‘Ûøäµ¨q‰Ùæ’‹Kî¤ß¡*Ü˸w+õVà2tƒ= Ot¿iÅi3ÎÎ`sØ‚£¾q¾3ìg쿳µwÞÞùüõs™²ç³=­=xM/I'„ØëÛ ©©2T_•¼Ý,@7„$$Fymùâ ÅåµåözöžöžzÊzyy·ÒnUqªZ¬Ïæ°'õž4Àh€¡Ša]c]raò©ØS[C·Ž´i­eíëåÛä]q^Ò Δc~ïú½¥¦eAUÁ±GÇ2J2v„íØûÙ^ªGï ïòºòÉ}&»öpU‘WÉ)Ï9õøT@BÀ`ãÁ{OndËyiùzn½ˆq‰ß¦*Cu툵–š–…ìÂÃQ‡“ “®§\ŸÔ{Ò» ¶Í~ýžú±9l×®“ûLV•WÍ­ÈÌŒlí³ ¤§²ÌÖÔ6Ô¶v¨¬¦Œ¢ÅÔjR®ÍÔN+N«m¨eÈ0D7Э É‰ü<¸¼¶|ŒÕ˜ÃS ½¼ZK,|½|å<ºÿê~HjH=·žÏçËIËåUä½®z­«¤ëdìD£ÑT*NÆNâÇÀ'ü33ÏôÒéEíŽï9~ôŸ£¯%_Û>n»‚ŒÂ¥¤K%5%k\Öxöœ2¡ç—Ã.Ÿ_$d|Âÿ{æß6:oÓ¬¿ÿ%b\b¶)-%}~öyêa4!ÄDÕdÎù9qyq“zOR’Sz‡Á¶Ù¯´”4!dÇU†*utfß™¢ï†®±®’#ª!DÄû\>—B§Ñ›”S%¼FÑ-t7Hò@bPOúš?™U’Sj^™Ë箼²2"3¢ù¡*N•®’î»Å`£m#Èð!j 57K·ÀgéoÒíôìžæ?%„„¦…FeGñù|BŸð©Œ’ ÁY=µz 2¼6Ç%f›¶z¶‚ ÒG·ù÷Ö×»i³ßY³‚Ÿ/ \4¹Ïä>º}¬µ¬å¤å”å•E´)<êw@Í}¬®¯nRN•(È*´p@7†$$F]c!D0ûM´’þ‰ÈŒ0Q3™ÓoŽ‰š‰‚ŒF;óäLHj•©¼›æIŒŠ¼ !„ÓÈ!„ÔÔ×B šŸ(+-+Øn’bŠ—˜mRaÈÐe!<>¯õ¡´¡Í~ÍÔ͇]Iº•u2æd~e¾³™ó÷®ß[hZ´ÖfçäQåYeYÂ…œFN~e¾S§ù>€nIH =%=BH,+Vø–Uk¨ìäà”ƒÂ“Ïö…ïûO%>io—VœÖÀm R(JbA"!DGI‡¢§¬GÙ:fkóD‡z¸Iiòþ©èq‰ÙfÛÚ9XqúU‘W™ÛîÜþs !Eì"ï ï/ü¾¸ë}WNZ®Å6;8'ÏNÏŽr?ã>—Ç¥K½Mé"2#yvúvb  ;A’ÃÍÒíTì©Ý÷vë)ë –‰Ï‹/®.c5¦Iej¢X\n•ä5òGŽÍ®£(§˜[‘Ëãó¤hâþ÷›ê7ÛöopÛ K—åóù§bOŰbŒUU !c­ÇžŽ=}9éòžÏöP%„.ŸšÊåqßm\ïÖfsíl›ýžŠ=ÕS«ç “AÔ!5†SŽYTP”U–e­eÝb›œ“§§¬×Ï _\^Üoá¿­qYC£Ñ Ù…?ßù™2±×DqЭ É‰1Èd‡ÇÕä«ó.ÌÓfjë)ëåW泋¿òuó$ÏÕÜõЃC›om>sBMA-«4«’SÙ[§wRa’ N/^ÑÙÑ®G\ T h„&z#T45+ë*s+r9œÅƒ»Û¸¿Ã¸Þ­ÍæÚ;Ø6û½ŸqGØEYEcUcYiÙW%¯ª8Uj 5AFØ\çäB~ùƒ—¯×Ñ裗“.ë0uRŠS8GCÇqÖã:Ø2@×#î¼| öNÜ»Ìy™’œR»(!?¡˜]ìhè8Özlóšöúö›GofÈ0rÊsòh4Úî »·(ß!ú IDAT¹~§ÅÔʯÌÌzÊýf(ÅLÝlÿäýtýYÁ³bv±’œÒÎñ;'ôœ ¨ðÓ¸ŸÖZ¯ÍÔf•³âóâ3J2x|Þ„žÝççéÄGëÈdè† Ùl¶ˆ ׯ3—/×IOÏQ§ƒ¸|nú›ôºÆ:##uuAùcÖc¦SøUmCmfi&Ð,4-dè29å9•vzv‚D„jª²®’ÇçÙhÛˆx9”ÓÈé½§·›¥›Ï4ŸnÃË7/y|ž•–•,]¶ye>ŸŸ]ž]ZSª® n l ˜ÃÇãó³«1Ô¬´¬Ä×;´Iª+¨[jZ6i_x°M®Xó (¢_JMCMvY6ŸÏ×SÖó˜Žãóù%ìz¶¡Š¡¦¢æÇé´ ø›ðA1™Lñë#É€öù’¼N!œäuv,þmvíMò0'à­… «9M×`£(Ê)œ|ð#ÇÐHòÞŠeŶöã-®· ð)C’ðÖ1Ïc­-JB—¢ËÐe|½|?Ú´3€B’𖣡£è íú•[€Î…%Tº $y]’<€.I@„$  B’Ð!Éè‚ä|<¶{m½|½ZÛít¹¹?[l¹µå£õø‰_¡: ’<€O…õ/Ö_ø}ÑÙQ@_¼€OEâêÄÎácë†C†wòº ÜÉ ó˜õøäã“q¹qUœ*#U£1Vc¾rúJE^…ÓÈé½§·›¥Û· ?Ýþ):;šËã:9~çòŽ unvYö¨££æô›³eÌAƒTá<ÇyÜ6P%wÓïþûWZq›Ã6P1f6lá …:L6cË*Ëòó}õ §,‡.E·Ò²šÕwÖTÛ©âîÒóKgãΦ§ñøïdÌI¿§~y•yºJº^^ã{Ž3Nq®v›#jÎv¯­­®í¹Ùç%-~ܲtYçCÎÚLí_Ý>½ˆ]4ìаá=†›~LÌ´—ˆï†ø×¤Å!ÇæÆÎ<;“•eñóÛÔ×Ë¿˜ ï IH’¿Ÿü½-lŸÏ§v3J2Ž<8å`›ç. \ôªä•`7>/>>/¾ˆ]ä=Ø[œ®¾ûóñGÇ»/ _l ÝŸ¿oâ>Bˆ³™ó‰˜%=4zB"³" !R4©ˆÌ*ÉË­ÈÍ.ËžÛ.uúùøó›nm\«ÜŠÜ1'¢²¢üçú3d„Í·6Ÿ?Oe•³vßÝô:Iœ8Ú¼Ú¢GÔ&÷ ûÇ‹aÅ 4(¨ï÷ÔËçþ_ÿÿk­Á/ü¾ˆÊŠÝiÈÂê 7'Îw£ãß@€÷IHŒÌÒÌ·wHѤ8-ð´óÔSÖ˫Ȼ•vKNZNPç1ëq_ý¾‡§¶Ò²Ê¯Ìß¾ïfêÍ­¡[ýæø‰ÙKØË0BȪá«<í7©0éø£ãòÒòkG¬g=N†.sÿÕýíaÛÿyñ»»›¥Û0³a'bNDdFP)HÄ«ˆ=”ä”"3#ç˜O•BœÍœ !¬rÖÖЭÊrÊ?ŒøÁµ‡« C%§,çÈ?n¤Ü8{Ú{°÷³‚gçãÏ3å˜Ý6޲ÕÈk¼™zs×]b^%Šè«ÝæˆD7.úãžÓoÎÉÇ'Ï>9+Hò¸|®ßS? M ê |â|7Þùèhè˜þCºõ/ÖNÆNgfžù@C€nIHŒËI—¹<î×C¾Ü·ë¡ÑcÉà%ÂudŽN?ª¡ Aý}Òïî'ÜcscßT¿ÑTÔ§]%]BȤޓ´˜Z„3u33u31#Ü:f둇G|úTÔsëåyyƪƢϽ‘rƒ²tèRÁ­¸I½'IѤV^Yy-ù𛥛£‘£œ´\dfä<Çy<>/:'zrïÉL9托 ܺLdV$Fw2r"„\z~©‘׸cÜÁX M‹ß'þ›šê=Ø;$5„òëwÓl§Qæô›SQW±/\¬{lÑW»Í‰n\ôÇm bàfév+íV»H›©M M -b-ºTD›LžÄùntüð¾ ɉ‘Q’Ao-jÞX/^Ô¿_)ÒRÒƒMg”dd—e‹ù¯ØùæÇ°bÜOº»˜»ôÑíÓG·£¡£ ]¦Í+ê*¦ž™ZPYÐüP]C]›§g•fBFZŒ.¤v©{EòÒòކŽr5p^¾(¯-w6sfÊ1>8ø$÷É£³ö5èKM¹{ùæ%!dÅ•+®¬ wò ŸÚ š ÍafÄ»n6¼]Ižè«ÝæˆDkóãþ?Çÿ I ¹ðôÂ2çe„¿Ÿü­"¯2¥Ïñão/q¾ÿ¼/Hò@ÂÐh´w>‹šïÏ'|áCuÿÉÀ˜rÌ¿gýVœö(çQJQJà³ÀÒšÒ-c¶¸Û¸‹î"(1¨ ²`ŒÕ˜eÎËLÔLÒ ¶1d£`Þ›øq¶f¨éÐYbscãòâdé²NÆN²Ò²L9fdV¤¼Œ|e]¥³éÛ'•<>Âåq›7"|‹ñÅ»}^âœ>Ðh ¶ßS¿¯‡~Ušõ(çÑB§…ÔtÃÖtpNÞ;7DàA’ƒúWï”=µ{¶VçEá‹’šÁ­”F^ãÃ쇄êi)u+…UÎ>…ªÐ„•–••–µýMð7k®®q6sV‘W^NY!dµËjAŠPÏ­ÎŽst¦ê¦„»éw-5-…÷2îBLÔL¨ÝaæÃ~¹÷Kdfd\^\ÃþTB3ÈxPÄ«9ºùwBù÷Zžyz¨éл£ÚŒÈŒ˜í0[Pž.f´ÑW[œ‰ ÎÇýEÿ/ÖÝX–M—¢Ïé7§]ñ¿Ñß ÑפM4Bkä6~€¨¡;B’cRïIGñ‰öáò¹Óí¦ë*éæWäßJ»%+-ûå€/©:5 5‹otÛ(˜öžQ’áhèH¥w †¾²~DfDÀ³€ñÖã9\NhZèÞû{…{Yw}®²î(‹Q&j&2t™ÔâÔ—o^6p « E'yúÊú„cŽ­¶B•¡ú²øå¾ˆ}™¥™bŽn|Ïñ>}<8 (§8Öj¬ ]&üUø¶Ðm„ ='PuzjõÔPÐ}šS–³røJªÐÙÌykèV—£$§d§gGN±âóÐgÕ•Uk\Ö8›9k*jVÔUd•e]K¾¦ÃÔñì=ÖzìÑ裿ÞûU^Z~”Å(.Ÿ{#åÆá¨ÃbFK}µÅ‘â|Ü{OüåÞ/'bN¤½Is³t3P1Ýfçä‰óÝ}MÚ¤ÊP}ùæeNyŽ¡Šak ͈ IH 3u³õ#×︽Ãç¡ÏCAù×C¾l0]–=íÌ4A‰‚ŒÂæÑ›»_9}µ-tÛºëëÖ]_G•xÚ{$*¼®zð,à@äá®{éô¬EךÏz}v(êPà³ÀÀgT SŽ9ÚjthZ¨8£ë­Ó{ÁÀ'bNlÙ¼9ä{ØxŒ¶MmÓh´¡fC¯$]!BÓéœÍœù|~ú›ôÑV£éRoßá5U3Ý>nûÆën¬kÒÑâA‹ !vzv³f?¿öÚZá¾®&_'ZŠè«-ΈDçã–“–›Ùw摇G!óç‰ù»ç»Ñæ7P´Aƃ®&_éóv"#ÖɃŽÀ%€$ù?Çÿ;3óÌ‹ª U9i9 M‹o†|³`àAy¿9~#-F2å˜ 2 Ã̆]˜ûŸ%Êæö›»ÆeŠ´”´™ºÙ¶±Û¼ýg»Ýî»W _e§g§$§Ä”cZiY-w^îëåÛæm=e½³³Î2Ä”c*Ë+°07@̇t”u#×ýêñ«½ž=C†!'-g£c³Ñmão®CͺÓPаÑ~;(S5SCC"ô¬–2Ã~FÀÜm¦¶´”´6S{ ÑÀ­c¶ ^PÝ:fë#~0U3•¡Ëª®qY³ÆuøÑ1®¶8#¡Í›âåàE±Ñ¶`4 ]Á¿q¾m^Ñ~õã8ëqª UÌ჎£ ™Gaa!›ÍQáúuæòå:éé-$Šà÷|¦ù´]:æÓ¹Úa/üƒ¼wßåiïÙ¹‘|:פ5õ· ï “ÉÔÑiû§wp'$UfiæÎÛ;dÜ{µý~+@wƒ9yârØçPÅ©jñ’œRüÊøÏ%z°ÑËÄ}køy”óhö¹·ï/´HAF¡sãø!ÉI¥$§4®ç¸o¿íì@>E˜“íóÉÎÉÑð·)é0'ätEHòº $y]’<€.I@„$  ÂbÈ Ù*ë*OÅž²Ó³síáJ•yxD›©=ÍvZ§Æõ>e—eGfFVqªLÕM]Ì]2ŒÎŽ$’<l•œÊý‘ûçô›#HòG¶Õµý IÞȆª†SúLùp]ì ßwäáŸGíê)ëv´—N¯Ð5H4<®€®æë!_O³û°·ñF ~üA» %Š:D#´‰½'.´ØFÛ¦ ²`aÀÂÚ†ÚÐ;H4ÜÉ€®fÉà%Â{s ò!äÀ”c¬ÆBV _õUÀW™~Oýæ˜ßÙÑÀ' IH˜êúêÛ/oçWæë*鎶ݼ‚ðœ<.Ÿ{èÁ!s sŒ’Œ¨¬¨²Ú²%ƒ—ÈÐe!Ï_?Ï‹g׳u˜:.=\44š4•\˜—WÅ©2V3b2D•¡š_™ø,Ççå”åìÜOU›j;ÕPÅð½4µ85·"·n*Ã#„Ð¥è+†¯ˆÈŒM E’¢!ÉI’X¸(hQ1»˜ÚÕbjí·£Iá9yÜÆý‘ûÝ,Ý^¿<uˆª°`à‚ŠºŠ•WV>Ì~(8‹!ÃØŸOøÊòʉ‰„èìhBÈÚk…gé)Ê*ÚhÛ´+à®±B¥wTª'¬ž[O‘—‘ïHãÐå!ɉQQWAi2ûÍHÕ¨ÍMÕM…w©;.´V¿¼®œb®aþNaþOçäi3µ !ù•ùÂ…<>/¿2_Y^·ñ@4$y 1TäU!¹¹TöCi3‹"„Ðiôÿ´ÃP!„Ìv˜­¡ØôuZyiyBˆª¼*!äUÉ+cUãŽÜÁ9y=µ{Bå<.L|XÛPk«kÛ‘À ;@’£Ÿa¿ Ä ‘„çä Þ™ß`ãÁ \>wéÐ¥R´ÿ­ _Ì..¨* „ 6ð,à×{¿ÚëÛ 20jNõÄV–.[^[ÞfGœ“g­em¨bøüõó[i·¨UT¸<îïá¿BZ\;@’<6Dü‘1áÄg3gŸw/ãÞ;üöƒ{/÷S±§üžúEdF 1¢¡ QYW™U–“³`à;=» 6þ|ôgJQÊŸ#-Fê*éæWäGfEz9xQIž©ºé‹Â«ÿYm¤j$E“jm¼ŽÿîÙ2çek¯­]¼Ì£—‡®’nDfÄ‹Â:L™}gv°eèòä€ÄP”U<:í袠E™¥™™¥™„MEÍãwzy·«:~bƉµ×ÖÞI¿ (×aêØéÙB¤¥¤OÎ8¹âòŠVÌ•¤+ÔQ¦Sð‹±ó篽¾örÒej·µuò:nší´¬Ò,ŸhA_Ôo×2d¢;èJä€$±Õ³ [Fýâ…Ž’Ž›¥ŸÏ_JÎ(_ùZ0iOš.½ÜyyóW(ÔjNÿ3£$#67¶´¦T]AÝTÍÔÑÐQ°¢Š6SûÜìs‰‰ñùñµ µÆªÆCL‡P“ !Sm§öÖíý(çQEmŸð[['ï½Xí²zšÝ´YªêªLÔL\{¸"ÃqШåÄTXXÈf³ET¸~¹|¹NzzÆG Ä¿MIÇd2uttį/Õv4Hòº $y]’<€.I@„$  B’Ð!Éè‚ätAHòº $y]’<lÅìb/_¯S±§%_ú¹#lÇ{i¼Ûàåëõ[øo¢«½Ç?‘ŽÞA»Èï©ß’‹K¼|½üžúuv8@¤;;€áp91¬+-+AÉcÖ㺆º÷Ò8Ï‹aÅ(Ë+‹®ö{|¿Í=?×FÛfý¨õ.$ÊO·:{ŠÏçS»ºGxWœ—/_ZZZvvð1 É€®æäŒ“L9fgGñIˆaÅÐh´ÐQ»HKQkD †ð]Uøô¹»Ïýì³Ï¾ýö[ccãÎ>,<®€®f€Ñm›ÎŽ¢{ùqÔ¾yðÓøŸ;;m–Ojjê˜1c¶oß^UUÕÙñÀ„;y aòüüó*óô”õ>·ÿ\SQ³I…/ý¿4W7ßà¶Ú-b< H+Ncs؆ª†Î¦În–n‚û[\÷Þ«{‘™‘9e9t)º•–Õ4ÛifêfMÚ¬çÖŸ‹?ÍãóúöŸÛ®‚Œ‚ˆ +ê*ŸÆçųëÙ:L±ÖcGZŒs€uÁσãrãª8UÆjÆ£-G;›9·XSDð©Å©[omåò¸Ï_?÷òõ¢êo½ñ¥¿ÚLíÑ,|´‘#Gº¸¸\¸pá·ß~»~ýúºuë&NœØÙQÁ$$Ià³Àõ7Ö󸽓~çdÌɃS çd<>oþ…ùr ê\L¼è7ÇO¡Öbñyñ‹•Õ– J‚ƒ<í=wßÕæŸä>YrqIiMéÛýLâçûȾrúªyeÁWqªbX1„ʺJjƒÚn±Ó·w>ý\t`{>Û£¯¬ßfü ètº——ׄ öîÝ»zõêëׯoß¾]KK«³ã‚÷ IHŒüÊüM!›x|ÞTÛ©#-FryÜ)7D¿úê÷ÔÍa»öpÜg²ª¼jnEndfdç¨Øö¤Þ“ 0T1¬k¬K.L>{jkèVá$/üU8SŽù½ë÷–š–UÇË(ÉØ¶cïg{›÷Èæ°½ƒ¼ËëÊ'÷™ìÚÃUE^%§<çÔãS ƒOì-ê–Iymùâ ÅåµåözöžöžzÊzyy·Òn ܤ¯Ö‚·Ö²öõòmòâEk·ñRŠS‰`kjjEW‰£ªªº}ûvww÷~øa„ {öìqqqéì à}B’ãJÒ•znýüóõ#Uânãþýµï/&^líi)iBÈ=ª Uªdfß™Â7´|½|å<ºÿê~HjH=·žÏçËIËåUä½®z­«¤KÕáþ™™gzéô¢vÇ÷?úÏÑ×’¯m·½ùCÛKI—JjJÖ¸¬ñì-(œÐs‚Ëa—‹Ï/ŠNò‚Ÿ—×–±sxêaA¡—ƒWkIžèàŒh4š CÅÉØID§„u#ÖUrZ¾É'€Ûx]Õ Aƒ®_¿¾iÓ¦¯¾újñâÅ+W®¤Óé¼Hò@b¤§B<í<… =íÍJ M ÊŽ¢–á>µ‘Q’!z€Ô3ÓæOf•䔚W3xqØèà=•nMAAaÏž=NNN[·nMMMýã?DM9I$$F]c!¤Éªu*ò*"N1S7 [v%éJTVÔɘ“ù•ùÎfÎß»~o¡iAù'韈Ì5“9ý昨™(È(Ðh´3O΄¤†–|kÞ£ SN#§y5õ5„„‚„æ‡d¥eÅ`kSýš3xq`NB<==---½½½?ÿüó'Nhkãe‰‡$$†¶¢6!$©0Iø6UâëDÑg©È«Ìí?wnÿ¹„"v‘w÷~_Üõ¾+'-G¥b§ž¬¶/|_“ÒŠÓ¸ 2t™ÿuZHÑQÒiÞž²!d똭T)Œzv,‚ž’!$–ÛüõÞæÄ žOÄIø0'(}ûö \°`ÁìÙ³ÿþûo]Ýv܆O’<Ã̇ùÆûþ|çç=LÕL !)E)¿ÝõâÅ©ØS=µz2Díª1Ô˜rÌ¢‚¢¬²,k-kj¢^\n•'5òGŽÍmÒÈ›ê7ÛöopÛ K—åóù§bOŰbŒUU[XKv¬õØÓ±§/']ÞóÙA.ŸšÊåqEÐÍÒíTì©Ý÷vë)ë –M‰Ï‹/®.c5¦Ieq‚W”SÌ­ÈåñyR4Q«¢bNúúú~ñųfÍ:þ<ò<‰†$$ƈ# âóâÇg®aÎåq©\­]ØÚ)÷3îïÛ¡(«h¬j,+-ûªäU§J¡F¥_®æ®‡Ú|kó‰˜j jY¥Y•œÊÞ:½“ “„é¡Ñ#ðYàÕ䫦j¦UÅìbBÈ×5-ö8Ðh §½g@BÀHŸ‘FªFšŠš•u•¹¹œFÎâA‹ÝmÜE pÉ «ÉWç]˜§ÍÔÖSÖ˯Ì/f=äëæIž8Á÷ÒéízÄÕ@Å€Fh­­“×ñ9ywÓï{tŒRZ[J¹òâJ|^?»<»´¦T]AÝ@Ù@xJ_›¸|nú›ôºÆ:##uu‰^¸©ÊºJŸg£mÓü%’÷¢ˆ]”YšÙ¼\øsN×Þ¿Í””OOÏ™3gþøã40“ÉÔÑia*pkä@û| I¼ƒwøÛ¼|ùòš5k<8vl ·“á#ko’‡9yÏÂÀ…Õœê)Ê)›~ì#Ç Ú¤I“bbb6lØàè訡¡ÑÙá@û ÉøxbY±­ý|E‹+tº 6DEEmÛ¶í?þèìX }ä|<Ç<µ¶ ] ¿%Ÿ"ƒ±uëÖ/¿üòóÏ?2dHg‡í€$àãq4tììÚmøðá#FŒØµk×åË—¥¤°.‡ÄÀGmøþûïÓÒÒ®_¿ÞÙ¦gÚB IDAT@; É€6XZZŽ7îøñã´’<hÛ‚ ž?þèÑ£ÎÄ…$ÚfggçàààïïßÙ€¸ä€X&Ož|ëÖ­šššÎÄ‚$ÄâîîÞÐÐpûöíÎÄ‚$Ä¢ªªêààÙÙ€Xä€d˭ȵøÙbË­-‚Û½¶^¾^ï¥qN#Çâg ï oÑÕÞcﱩ÷«²®òjòÕ•WVöû½ŸÅÏ¿Þûµ³#‚ÎáììÙ‰?|äÈ‘   Îê]6›}çοþúëøñãwîÜ©¯¯o±Zvv¶¯¯¯ÏÍ›7kkk?hHX @‚Yÿbídìtfæ™ÝÑÆ×’¯}è^àÓ7hР}ûöååå~è¾8`hh8eÊáÂÇÛÚÚN›6íC÷Þ.›6mºxñb]] D[[û·ß~4hpµ}ûö9r„ÇãQ»zzzGíի׊ It5‰«;;„.HE^ÅÃÆc¤ÅÈÚÆÚoüØÙá@§éÕ«—””TRRÒGHò<èääÔ$Éûú믵µµ?t×íuûöm…áÇ×ÖÖ†‡‡³X¬E‹……… ¢ :tèNŸ8q¢žž^xxxrròÂ… àƇˆ I´mÛØmÔÆÍÔ› t.ƒajjšœœ|xûöíY³fQ… þ̘1„U«V}õÕW~~~óçÏÿQ!ÉIÂãóNÆœô{ê—W™§«¤ëåà5¾çø&ul÷ÚÚêÚž›}ŽÚ½›~÷¯Ø¿ÒŠÓضŠÁ0³a -ÔaêPG³Ê²|ã|d=È)Ë¡KÑ­´¬fõ5Õvj“6s+rºýStv4—Çu4rüÎå;qưbŽ?:—Çæ°u•tÇZ]6tSŽÙÞñŠ/67væÙ™„¨¬(‹Ÿ-¨ú¾^¾NÆNíí ]ÌÌÌrrr¸\î¡C‡ÌÍÍ=<<222¢¢¢ÊÊÊ–,YR]]}æÌ;;;WWWÁ)ååågΜéÛ·ïðáà !MÎŒŒ¬¯¯wpppt|ûãÎùùù</''gÿþýTáÔ©S 9¢­­M=®n'999::ZJJÊÕÕÕÄÄ„Âçóþ<µÍ*gí¾»;éu’ˆúwÓï. \(ØÍ(ÉÈ(Éx]õúà”ƒTÉ¢ÀE¯J^ *ÄçÅÇçű‹¼ÿïe‹ŠºŠÏÿþ¼]H톿 eÅ^˜s¡µ<ï|üùM·6 f¦çV䞈9•å?ן!Ó¾‡2â„'Ž/ü¾ˆÊŠ]'daHíjº']]Ý´´´ÆÆÆýû÷»¹¹½|ùòСCÔ¡ TTTìß¿Μ9ÂIU8oÞ<*Éœ›——·gÏÁËŒ3vîÜIÉÏϧr»ÜÜ\A’çäädhh(<'OÐNzzúÁƒoÿ¨wîÜùÇ :tñâÅ111TáÞ½{/\¸Ð£ÇÛoø›7oV®\ùðáCA„ cóæÍÓ§O§vƒƒƒY,–èë0wî\55µñùüˆˆBˆƒƒU’’’B A¸š­­-ƒÁHMMÝÑ;C’ãYÁ³óñç™rÌnGYŒjä5ÞL½¹ëÎ.§„½ #„¬¾ÊÓÎS•¡š[‘û ëAvY¶ ‚…†ÅB§…ކކ*†uu)E)›B6ùDû,´N{ûäå1ëq_ý¾‡§¶Ò²Ê¯Ìß¾ïfêÍ­¡[ýæø5ï‘UÎÚºUYNù‡?¸öpUa¨ä”åüùÇ”§cO·79ž£¡cúéíÅ ===*ƒ!„ÄÇLJ…… 6ÌÆÆF^^^FFFüvž>}zçÎKKËÂÂÂëׯûûû{xx 2D__ùòå000˜:õíuƒÛ‰¿s玛››¹¹yZZÚ½{÷6mÚ4pàÀ/^LŸ>]UU5222%%eïÞ½‡&„p¹Ü… &&&6LEE%;;;,,lýúõ}ûö%„GEµñßEîîîM’¼ãÇ×ÔÔ”——GEE¥§§ÏŸ?¿_¿~Ô¡¢¢"Bˆ¾¾¾p})))}}ýŒŒŒúúzYYYñ/˜ä€ÄI !„|çúÝ4Û·/ÖÍé7§¢®b_ø¾ÖNÑUÒ%„Lê=I‹©E1S73S7®°uÌÖ#ø<ô)¨,¨çþoɃ¼Šã}’KûêYILL¼pá‚P($„´¶¶Ž3æÏ?ÿ¤(ŠÅb]¼x155uÒ¤I[·ne®¢KMM>}úÏ?ÿ¼}ûvBÈ”)S˜sÇÏòäùßü±¢¢‚~=gΜ+V0o577Bôõõ•†ÐÙ®©© !^jô¸@Ç@ÅÆáŽÃU„¼ùæ'&LøiBSP_«¾}­úúÛúsØl¨mªz`ji]é“›Zÿ~‚§Ð“Nx4]Ý!Cr*sò«óŸ yYY„å,_þÇrú$E(ú‹°Ú´¿j–ÐÅôõõ™g…8::¶/áB<==™„G¡OïÒG¼ÚÄËË‹Ix„aÆ;vlÚ´itÂ#„p8œ?~¼¼¼ÜÒÒ266–ÂãñÂÃÃÿú#¥(Š¢ŒŒŒRSÿº7_é–^5½÷Þ{õõõÕÕÕ)))Œ‹‹;tè……ù¿xGG=Eôãô Ú±Üs!ä€6ãëóyó—ÌòÌ›73Ê2"S"«ª¾óå „ã©ÇKëJǸY°ÔAàÀÕå²X¬uÖ1—ý©Æb=%´É)9!D&—=ù–â¡8u¼`yŠpMt &¬ˆD¢vÏcmm­¸Éãñ!R©´­óXYY)nÒ#yj#ýð᪪*BÈÑ£GUÌÙ¾kòÞ{ï=æõ?þ¸yóæ;wnذB?H¥¤¤D±¿\./))122êŒÃx!4ˆƒÀ=ÇoÓx=÷úsºY¸¹Y¸Ñ¯?üíÕ§W8TB> ú„ 7-²–øüx¥á÷Å÷+*™ƒyR¹ôFþ BÈSO˜ÒSícÿ0Ѱ6îŸ2uÊc–TÖæ)¼Ås‹ÌéN§˜»JiJá¦{BæÌ™óäí´Ìµö]“§ôîæÍ›ïß¿OoöéÓ‡róæMÅ>©©©ÞÞÞmÜu!䀯ë>vwüîÿ^ý¯®Áh—Ñ2Jv.ãÜ®¸]*†¬9»ÆÊÈj´Ëh‡ÍyPþ «"«UÖ*~,660îmÔ›²çæžåËM¸&YåYÛ¢·åVå*MÒÐÚ°(rѺàuÌ9•9þ¶þOž«%„Lñž~#üã?>^´2À1À¼—ymSm^uÞ™ô3B¾°M×ä©Sž ×$«"« ¦ÀÖØV‡õÌ_ªÄ5yÐ$‰¡¡á³Þ577çp8ñññMMMtfjii oÇBzzz555í/ô† !“É–,Y¢£ó÷_Myyyié_WG´éš¼¢¢¢––'''Åw#""!ææýSÂÝÝÝÖÖöÞ½{/^¤Ÿ¢"“Éþ÷¿ÿBBBB:fÇž€ÃÇÚçM¿7'^}f5Ó8ÑcâéôÓÏòèñ£ˆ”ˆ1;=…ž.æ.„Iž“ÂâÂ"S"#S"é·øúü·¨Ì(ÅþìäWçO;ð÷Ï(ñ8¼õ!럺¢H újÜWë.¬[snÒ[‹/Rk?ÿ:å ¶|:ýô¨ðQôfç='ïXò±µçÖ2›»ãwïŽßM™Ûoî—c¾ìŒ¡Çª¯¯ïի׳ޥŸT5iÒ¤#F´´´\»víÉkÑÔ!‰îß¿ÿÉ'ŸØÙÙéèèÐÏÉ{Âÿ2a„}ûö9r$::zèСfffuuuyyy ï¾û®iã5y™™™‹-êß¿¿“““©©immí­[·²³³ !Ì“ !K—.]½zõÒ¥K'Nœhee}ÿþ}¡PøÆo¼øN=Bh’ c68˜8ÐCò…o¼òÆDOU!oË„-‘)‘—².åVåR„êmÔ{œû¸ùæÓ½¬¬}ó×-W·Ü{tO‡¥Óß¶ÿª«˜DÅ060>2÷ÈÆK äryÛþ«F®ò°|æÃgúÎìcÙç§„Ÿ ªªLy¦"h‚Ç„É^m»>]ò>ý¹T./ˆ¯mªíÆßŒ‡—ŠD"áóU=ÙûÓO?½sçNnnnnn.!ÄÎÎnË–-ÿú׿ںÐüùóW¯^}òäIz“~N^ûjVÄf³÷îÝ»zõê+W®ÐÇÛhB¡Nxmeooß§OŸÄÄÄÄÄD¦ÑÄÄdíÚµôsiÓ¦MËËË göˆþíÚNúM3B ÿP€6‹ÅÌÓžêìYþ²eÂììœ.+ ÔÑQ›~ø!‹ÅÚ¾};ókOö©««‹ŠŠ*++³µµ nnn~Ö/^0CèF—ñãÇ3<¸yófmm-EQªñ‚’››{êÔ©   ___¦ñêÕ«)))o½õ–‰‰ Ó˜“““˜˜XUUejj*‰üýýŸ¼ÄP}ééé÷ïß‹Å<ÏÅÅeÀ€O>0…’——ûøñc‡#F´)áñù|æ–au ä@Û äh¨ŽúÛ7nÜØ±c]£­!§kºŽß6¿ÇÍŸú–¡¾aÒŠ¤.® ­d2YAAÒMÐ3=óV,%¹¹¹---...Ý]<Žät«MÇçóÝÝÝ»»x>ÉuÅÄÄ :TW‰4B¨¥µµõæÍ›Ý]¨!ÔÝÐРøì7èÉò@-G2dH‡<‘ºB<_YYÙÕ«WgÍšÕÝ…€ºòàù>lddÒÝ…€ºòà9ª««÷íÛ÷öÛoëééuw- .„<ÐluMu¡1¡Ws®2-ßßøþxêñ™\FÉBcBO§ŸVÝ­Wì! µOnUî¾Ä}¡1¡±y±Ý] t°]»véééÍŸ?¿» 6@ÈÍV׬òvÅí:žÒ1IH*“†Æ„ž¾ÿœ×+vìB;bvüvï·Î«‡q,ùؘ=cB~ÙxichLh\^\, ]¦¨¨èСCK—.íÕ«Ww×m€Ú惡Ló™ÖÝUô;ãvvMȋ͋}XùP$  ë‚å +QõùçŸÛÚÚ¾ñÆÝ] ´ žX Úæý!ïww /Y¾³> øÈÉÌéüƒó8W«e~ýõ×øøøcÇŽáW.4¾0Ð0õ-õ—³.—Ô•XZ…¸=åF¿ïo|oÉ·œæý÷Á¼Ä¢ÄÌòLI³ÄÖÄv€í ¾…bÿª†ª„„‚ê]¶®›¹ÛÑ6‹ýä´éeéñùñrJîoçïkíûÜ:ï=º—Tœ$i‘ù ç 3ž™š;¨ºZ%Ï*¾¤®$2%RNÉ ª BcBéÎS½§ÚwÊÎ†Š†vÆ´Ðírss¿ùæ›Å‹ûú>ÿÿóÐÓ ä€&I-M]x|a¹¤œÞ´à[l·Q©Ï®¸]ÞVÞtÈ«i¬ù×±¥”¦0ïêëê¯ Z9À_×ué«ÃI‡[d-L‘@´gÆGSGÅ9·^Û~#œÙœì5ù›‰ß<5 B*ê+Vü±âFþ ¦…Ëá®Y?Ýgºê½{nµJT_RWBg»¢Ú"&ä ²ôÔ÷Û½ß k U×6¯ÿ<W ºh´ÆÆF.—«ØRWW·xñbWW×%K–tWUð"ò@cÔ·Ô/:¾¨\Rîhêà “Ë®=¼¶æìCö%îK)Mò…£\G×'$Ü.ºÍĦèÜhK¾¥ŸŸ±M³´™>\·ê̪ˆyÌ$wŠï\ʺääjáZZWzáÁ…“i'EÑÒ€¥O®(“ËD.H-Mµ5¶ t 460ίο”uií¹µ.æ.¯ô~åEªU¢¢øÞF½—,Û»ÃÆÈfª÷Tº¿±ÍSçùíÞoϽUb‚Ç„<-–””ôå—_FFFr8ºE&“-]ºôñãÇû÷ïgA³ 䀯8~ºLRèøÃô8l!¤±µqÞáyU UÏB¿uâB¾ni‘µ¤=Jc:l³ÁÉÌ)>?¾´®T­7Ðn`E}ERqRuc5“iªª¾™ð •’K“g˜ùsâÏ ûàɃy3/¦–¦Nòœ´uâV¶Î_練¦N?0ýç[?oŸ¼]Å>·Z%*ЧC^X\˜½À~YÀ2‹B¦ôâo믺)ÏTuÐ\ÕÕÕ|ðAyyù®]»>úè#BEQÿþ÷¿“’’Ž9beeÕÝB;!䀯¸St‡²4`)ð!\÷á.ˆ\ð¬!cÜÆJ:ôSÂO3}g:™:±X,=¶žŸÓánÉÝùGçKåR¥•õ•LÈ DLÂ#„øZû†¸…œp>«<«e¥ôm</<>œ¢(BEQ¡Œ ŒRKSUïàs«U¢Nñê˜ÒwŠúAËÈåòåË—WWWBvíÚ5fÌww÷ÿûß¿ÿþ{XX˜§§gw퇣¶©–¢tU™‰Š!އçÞŸ¸Ö¯³š¥Í}­ú†¸…¼ùÊ›\—ŸÿíµoõØzÁ®ÁžEXѹÑIÅIrJÎLbk¢|½h]sÝ“+ÒGãŽ&mǪ®V‰šÅ«×ä½ÌvîÜyãÆ ¹ü¯ÿϬX±ÂÛÛûôéÓ;vì5jT÷Ö/!4†±1!¤¨¶È’oÉ4>7 °0Àn!¤LR–P˜ðõå¯Ïgœ?2÷ˆKçÏœ? !;§ìåò÷¿ÌÒËÒ•f(ª)Rj¡5Ò7zJ‘\cBÈ¿9f½”o§5Ð5P]ªêj•zªY¼:pMÞKëÆ;wîdžL&{øðaYYÙ?üؽµÁ‹CÈÑ϶ßñÔã;bv(^“¦bH|~¼·µw/½^„K¾åD‰Ws®þ~ï÷ܪ\g3g‹Eáëóû_ɺ¢4I^uÞ‰ÔŠ×äEeF¹Z¸>¹âû!É2J¶dØÅdV.)/}\ªzUW«ÔYâõØz55ª%¸&ïeU^^¾t©òÍCr¹¼¡¡×ái„<Ð=&nÞ=~ïøÇ9%¿šsµ±µQÅÝñ»oÝì0ØAàÀas2Ê2®?¼Îf±M¸&„¿Þ~„E‘‹Æ¹ðYY×r®™òL+ê+'1å™®:³êLú7 ·’º’ .È(Ù|ÿùO}„ÊÏ û÷¹{$:7z¨h¨Ϭ®©.¯:/¡ áÝïúXû´»Z%ê/2ÝßÿäÔ'v&v:,g='ïůÉK§]κLɪÈ"„$%ÒÏmñ±öá<â'‡Î “ÉÞÿ}‰DÂÆS´råÊ'N°ÙOHh „<нôzíž¶{áñ…¹U¹¹U¹„ó^æ›^Ý´øøâg â0änÉÝ+ÙW'ù÷èÓ&ë>v’ç¤S÷OE¤üõÀ”¾3 õ ºõ“â$ýlú9›9ïŽß}íá5ºe²×ä†}ðÔÙ,öÞ™{WŸY}%ûJDòßÏaò…ªÞs«U¢Nñóýç¯>»údÚIzóYÏÉ{qiÒ˜§ñBnݾ]t›2·ß\„¼žiË–-)))OMxR©4==ýçŸ~ï½÷º¾0è@,úæ/5‰Åb‰D¢¢ÃÙ³üeË„ÙÙ9Tó‹BCa°k0EQû÷)1RúÅ‹ÆÖÆ›7éPhmd=Üi8ÃSœðVá­{î±X¬þ6ý½­½crcîß™ÓoŽÏLFÉÂbÜ̜&zLL§%$È)yÛþJ»{ò76!9•9‰E‰U U¦¹ŠâéÊÜ,¸YÛXKªó~ñ‚9’§GòzæoóâÅ‹|ðôÿJ¡±X,‡sæÌGGGÝ ‹ñù|¡P¨~„<h›nyÐ>ôßæ•+Nœ8±±±Q)°ÙlŠ¢är¹©©i@@À!C‚‚‚,--Ÿ5t½¶†<œ®è:á7Â…L‘[oñgžwè M‹/nii¡Þ“ÁnàÀÝ]$t „<€®³;~÷ãæÇO}ËPß!:ß’ÌÌLú‚ÖCÈè:‹/Rq$¯‹‹—MBÂ1BοöÚkv/ „<€®ƒcuÐÜ݇²ô»ïp½ìËBùê •Œñˆã— B€BÈÐByZ!@ !äh!„<-„ç䀆É(Ë8˜t°°¦°EÚòéˆOuX:[þÜò–ÿ[ãÜÇÑþuì_N¦Nÿþw÷ÖÙÃ5I›D,xµÏ«³ýf?ùn¹¤ü£“qóŽÿ;Z°®L.;‘z":7úqócìWfyXztÒ(€ž!4IvEöëû^—Ê¥ôfucµ®ŽnBaBˆ[ÓçVá­¦Ö¦n*PcÄåÅÝÈ¿±pð§¾Û,kN(Lp³pÓ‚u›¥ÍóÎO(L 7£s£'Þ2aËë}_ïðQ= Bh’ÈÔH©\úŽÿ;#œGpØw wBÈÁÙø¦¶¹œu™Çá ¶¬õëîˆÝ‘P˜`ehµ4`©µ¡õÕœ«¿Üùeí¹µíö6êݱ£z„<Ð$E5E„ÃWôÒëÅ4²Ô}i$Š¢þÌùs¸Óp›£ÝëJåÒCI‡Ø:ìýoìw6s&„ wÎb±ö'î?”theÐÊÐÓ ä€fH,JüîÚw™™„÷"Þc–⻊×ä=©¶©62%2©8IÒ"ò…cÝÇŽrE¿Õ*k}ûÈÛþvþ|t,ùXtnt‹¬ÅÏÆïíþoóõùÌ 2¹ìêë1¹1Õl¶›…Û4ïiަŽJ“,¶ô`ÒÁøüx–N°kðTï©„2IÙÛ2Ê2øzü¾3†‰†©Y[ç¹÷è^™¤Lq¡ä’äcÉNJ늭¬gùÎ2ïeþä¨g•ÚØÚ¸èø"g3çõ!ëû7I›_,ˆ¾óe»×Uýɸ}à|Æùyýç½ÚçUfHøðë¯/²(È)(¹$¹®©.Ð1Îj´wüßÙŸ¸ÿúÃëÏŠkíÐÓ ä€f¨n¨f.ºUxKé]Åkò”$'-Œ\XÝXÍ´O=>ÃwÆ×¯~M‘Sò„¾>ÿýï_ɾBw¸šsõ⃋‘oE2œfš}»è63Õì+?%ü´sÊN:¯0“¼ñ^l^,ÝçbæÅܪÜ×û¾>çМŠú ºñLÆ™½3öw®NmOµéò¦{î=ûs"„­“¶ª>¥x9û²Kg„óz32%rí¹µrJNožH=ñÉðO”†¨(•Ëáêëê¼spÁ Šë^xp!&7†Y¥}ëªþä§yO;xçàª3«\Í]]Ì]!—².m½¶u”˨áŽÃ !ٕلßÞ¾ŠsڙؙpMV>|ÖçÓ¾Q= Bh;ÿƒ³~wý»ÛE·÷ÍÚÇįä’äo®~ó¬Q’fÉâã‹kšj^ïûúçÆÆ5ûní‹HŽb?ä5¯×èn×^7ᚬ¹ÚÕÜU,ïŠÛ•&N;›qv²×dfžÉ^“Ø °5¶m’6¥‹Ó÷%îÛµAñ Ôõ‡×My¦ŸþÜÉÌ)³¦ÇÖ{Ýëõv¯ûÜO¾—^¯°)aSöOùð·{ç·rIù§§?µ5¶ýïÄÿ²X,BHuC5!Ä‚o¡4­%ß2³<³±µ‘Ëá>ùù´o@OƒšAÀ ²$à !ìèëêÓíÍÒf£~Oû½²¡reÐÊÅC3ãûŒÚtâÞ &Héêèžs˜9 è`â0÷ðÜ;Åw˜wpöÁ›7¯=¼váÁ…Y EQúºúŵÅ?²2´b&9:÷¨‰!$È)¨±µ14&T‡¥sdî]]BÈH—‘÷ÝO}”*•KuutÕ¬MÉš‘kêšëTVªã=zü(½,ýÓŸÒ›¤ý¹I IDATÑ"k™?`þç£?§[&xLXufÕ‰Ôꌣ\GYð-ާ_2l ® j  Æ÷oÂ5i÷ºDOÞÅÜeÓ«›Vü±bÕéUù5ù-²–°©aÆÆôp%#„°Yl¥nanÓVÒ¾Q= Bh³»%w !Q™QqùqEB(BÑ/r*s˜nÞÖÞLÂ#„ôµêKþïp!DFÉVü±":7úÉù7?fBž·µ7ðh},ûBƺ¥ÍCè‘\š,~,¶1¶Q³6%Â}TÛå¬Ë„Ñ.£éÍå!3|f(ö™á3C1l=·T6‹=µïÔÝñ»cób!Ç’Q5Ów括«æ'?ÉsÒâ;¿Üþ…²éÕM^B/¦Ã#„Ô·Ô+ §[xz¼§~DíÐÓ ä€6khi „$—&?ù–ž®óš9ðC£Ï3׊J;í p˜Ûo®ƒÀÇá±X¬·\xp:O„ÎvOm¤©Y›’¿&ïröe;;ú 6BH“´‰bd`¤ØG©luJé;ó‡›?D¤D8ж5¶ê0ôEÖUó“'„è±õ!:,'3'ÅvúsÈ«ÎSll–6—Ô•ùÂ'Õ½È(€ž!´™µ‘5!dØ L¶`(`S7;§ìTüÁƒm×·uKm/xM^ckc|~üœ~s˜Ë^–„4qs`Œ’ú(µ­¥:؈ʌªi¬¹S|§LR¶ÊÎÄμ—y]S]QmQ³´yÑàE<&¨3ɧa±aë/®ß›°WÀäUåÕ5×y ½ÒÄi]_Û ^“w%ûŠ¡¾á»LËHç‘~6~IÅIãöŒs2s’ÉeyÕyîîb‰¸­¥Žs÷Ÿ¨ÿìOÜ_\[è¨xˆ®}ë>÷“o’6}øÛ‡­²Ö°©aFFŽK†- ݽyšÝg£>›}pöîøÝ'ÓN ùÂŒòŒfi³¿­¿âƒ·ü¹%¹$yý˜õôo¨¨9  ‡Óéî:×ÿ÷ÿÖŽ^kÉ·,¬)L*Nʩ̑Sòñ}ÆOôœ¨æ ¾½}ׇ¬çr¸5É%É,kËø-ƒ:à‡¹^¼¶6‘Sò?³ÿî4\ñt0[‡½gúž‘.#¥rifyfNeÎP‡¡_W~PŸ:¥êëêOòœTPS £dŠ·\´{Ýç~ò_\ø"£,ãË1_2çs—[ä´;~7óÔÃ~6ý§…÷6êýèñ£äÒäVYëX÷±áÓ™SÉ„Œ²Œ„„ÇÍ™uFôp,¥kWT‹Å‰DE‡³gùË– ³³Ÿyè‹È,Ϭn¬`7@‡õ×£Ö4Ö<(à p`ŽÝ*¼Å×ç+^ÅE¡(*¿&¿ª¡Ê”gjcdËX".©- {õn–6ß-¹+4Ò'RÕ/µª¡*«"‹Òß¶?é^pÝg}òº:ºwŠïpØœ~6ý'|Üüø¾ø¾¡¾¡§ÐS±òœÊI‹ÄÖØöÉßÕÈ(˨mªõzê*í¯ŠQ§Sÿ6¡ ðù|¡Pøü~ÿ!Ú¦{C¼ˆ­×¶î¹¹'aY‚ÒM¬Úº.(Áߦ¦kkÈÃ5y/‹Iž“BÜBº>iu׺/9„<€—sWÁK².ÀK7^h!„<-„ …ò´B€BÈÐByZ!@ !äh!„<øïo½gœÝÝUÀ‹BÈxy¹ãþÖ‘·º» èøíZø‡ÔOR»»è8’ …ò@“È)ùž›{‚w{ü×cdøÈoþXT[ä²ÙåË‹_Òš¥Í.›]_\\[¼ì÷eþÛý]6»4´6B~¿÷ûôÓ}¾õ黵ïk?¿vàö9%§GåWç+N¢Ø¸ñÒF¥™‹j‹Þ?ñ¾ß6?Ÿo}þuì_éâtu*WQXBaÂÂÈ…þÛýû|ÓgÄ÷#¾¾òµ¤YÒÖEUìÝS—¾þðºËf™\—ç²Ù…þßÍ‚›äŸ×ä1cË$eËO.ïÿ¿þÞßz¿uä-¥žû½@×ÃéZÐ$ë/®?œt˜~]XS¸ùÏÍiâ´'»Õ6ÕÎüe¦X"¦7årùæ?7ÿxóG¦Ã}ñýÿDý'©8iÛkÛÚT@mSí¬_f13_x=±0ñèÜ£B5‡+v8éð¿ (Šn)ª-Ú›°7./îØ¼c\WÍEÕÙ;å¥ÿ/ª£®©nÖ¯³ k é͸¼¸yGæE-Œpt‹šß t%„<ÐÉ%ɇ“óõùë‚×v-•K/f^ÜtyÓ“=oÞò³ñ ›ÖDz®Aš8íÇ›?謹zœû8›síᵯ.}uêþ© ‚]ƒÕ¯áVá­Wz¿²kê.7 ·’º’m×·p~CÔ†#s¨9\±°ÂšÂ QŒô>ùÙçÆ\ã‚ê‚í1ÛÏeœÛŸ¸ñÅê,ªæÞ)-MÉþ,Ûý÷Aöƒ¼q@uÙ … ínŸ¼ÝÕÜU,qዸ¼¸“i'ßñ‡´å{€®„Óµ 1.d^ „|:âÓiÞÓL¸&æ½ÌgûÍþp؇Oöäqx»§í~¥÷+tš9—q޲dØ’yýçYð-L¸&“½&¯YO9“~¦M5ð8¼ÝÓwûööår¸ÎfÎÿ›ü?g3çĢĊú u‡+öû½ß¥réÆqgøÎ°à[è±õ\Ì]þ÷Úÿ,øQ™Qj.ªæÞ)-Ý&®à‡é?øXûp9\‘@´.x!$£,ƒ~WýïºBhŒ‚êBH c b£Ò&ÍSèiÊ3e6óªò!£\F)ö¡7ó«óÛTƒ§ÐÓŒgÆlêêèq¢þ–}~Jø)¡0¡ª¡Ê”g*ˆ&xL˜ì5YýEŸ»wÏòùèÏ¥ri|A|mSí‹\E×îï: ׯ@›ˆÅb‰D¢¢ÃÙ³üeË„ÙÙ9]SÏ¢þsàö°)aôIÃÎÓ,möÚêì>-üù½5yÑÑeß ¨¯‹ÿ6¡Ãñù|¡P¨~ÉMr,ùXUCUˆ[ˆ±M™¤ìDꉃI{éõ tÂ;º¾€!4I]SÝÖk[·^󻯿ùèÏy^w•ÄðÛæ÷¸ùñSß2Ô7LZ‘ÔÅõt¥žü½¼´ò@“ÌzeV]sÝå¬Ë5l¶§¥ç{ƒÞSz0t=|/=®É€¶éi×䀚ð·©éÚzMž“ …ò´B€BÈÐByZ!@ !äh!„<Ð$ßßøþxêñ™¡®©.4&ôjÎÕªè™d”,4&ôtúéÎ^èYr«r÷%î Í‹í® !ä€&Ù·ëxÊ‹…¼æN y;bvüvï7Å©Lzú~7„¼cÉÇÆìòCÈÆKCcBãò⺾èvy I>úÁ4ŸiÝ]ÅSìŒÛ©òºQl^ìÃʇ"h˜hXw×Ý¿] šäý!ïww `–ï¬>r2s:ÿà<ÎÕ¼´ò@“|ã{K¾å4ï¿æÉ(Y\^\fy¦L.s6wèëê+©o©¿œu¹¤®ÄÊÐ*Ä-äY3ß{t/©8IÒ"ò…AÎAf<3fþ°Ø0'3§‰ÓËÒãóãå”ÜßÎß×Ú—îPRW™)§äÕ¡1¡tãT墳,˜És*sbrcZd-~6~þ¶þõi<ËPÑÐÎ^z>„<Ð$»âvy[y3!/»"ûýïçVå2„|áŽ);úÙô£7SKS_X.)§7-øÇmTš³¢¾bÅ+näß`Z¸îúõÓ}¦“ÿ»´.Ø58£,#üF8Óg²×äo&~Ãf±KêJèlWT[Ä„¼Aöƒ˜·;~÷Ök[)Š¢7gúÎÜôê&ûøÛ½ß k UóúÏpªûÀK!4Uckã»ï×÷6êäÄÑáĿſTæ,ˆXpî½s–|Ëú–úEÇ•KÊMdrÙµ‡×Öœ]£8‰L.[¹ µ4ÕÖØ6Ð)ÐØÀ8¿:ÿRÖ¥µçÖº˜»¼ÒûºÛâ;—².9¹Z¸–Ö•^xpádÚI‘@´4`io£ÞË–íˆÝacd3Õ{*ÝßÆØ†~q·äî•ì+ANA®æ®b‰ølúÙcÉÇ&zLTq°í·{¿=÷V‰ ò@5„<ÐT§îŸ*®-îgÓoÿû¹.!D*—.?¹üüƒó‡’-\~:ýt™¤,Ð1ð‡é?pØBHckã¼Ã󪪘I.f^L-Mä9iëÄ­l6ݘZš:ýÀôŸoý¼}òvº¥ª¡ê› ß0.¹4yæ™?'þüÁ°èf/°_°Œ™¹YÚL©l¨ü~ê÷Á®Átc cà§§?½šsUEÈ›ÒwÊsOéšòLÛøiÀK!4Õâ;„?¢!DWGw刕眿]t›r§è!diÀR:áB¸î‡C?\¹€™„¾/Çá…LJÓgT)Š¢ed`”ZšÊt DLÂ#„øZû†¸…œp>«<«eEzZz2 2Ây!¤LR¦bÈ”¾SÔÚ•ò@SÕ6ÕBìMìíŒíX,VMc ÓÁÖØöLì7é£zG“ª^ËÖÄV©…ž§®¹Nõ@k#kÅM‡G‘Ê¥*†àš<èy ©Œ Œ !5й­°¶¢(® Ó¡¨¶È’oùw‡æ'c®1!dŽß³^fJóè0¯‹jŠ”Þ¥ç1Ò7êˆ]ù\“!4U?›~‘)‘;bvô³éGŸ±•Q²ï®}GéoÛŸÒ϶ßñÔã;bv(^“¦8Éû!É2J¶dØÖßχ/—”—>.e6óªóN¤žP¼&/*3ÊÈÀÈÕ•nÑcëч_®É€šj’礰¸°Ä¢Äq?Ž r â°9±y±ÙÙÆƳýfB&zLܽ=:7züÞñŽrJ~5çjck£â$<'ìKÜwäî‘èÜè¡¢¡f<³º¦º¼ê¼„‚„w¾ëcíCw3å™®:³êLú7 ·’º’ .È(Ù|ÿùlÖ_÷jˆLE÷Å÷?9õ‰‰KGé9ymòâ×䥉Ó.g]&„dUdB‹ég»øXûÐÀË!4—ÃÝ;c/ýœ¼CI‡èFK¾åŽ×wÐçg{éõÚ=m÷Âã s«régé™÷2ßôê¦ÅÇ3“°Yì½3÷®>³úJö•ˆä¦]È2 ÒϦŸ³™óîøÝ×^£[&{Mþ`ØL‡ùþóWŸ]}2í$½©øœ¼®—ö(yb!ävÑmúN”¹ýæ"ä¼<ò@“|0ôÅ ì\Ì]Î/8››Yž)£dN¦NÆ+þâ…·µ÷¥…—è_¼ ƒ]ƒ)ŠZ°L1À ¸‚¦ÿS™“X”XÕPeÊ3 Dþ¶þÌUhŸŽøt¼Çø„‚9%ïoÛŸy„mª÷T/+¯›7kk)BÙÛè²u—,s2sRìF7º˜»tðçòO^V^Šsa(î5h=óvuˆÅb‰D¢¢ÃÙ³üeË„ÙÙ9]VR§j–6{mõ v ŸþüÞ=˜–ým¾„ø|¾P(T¿¿Î󻀦AÈÐB¸&@•§^ZÐó!ä¨Âf±Ÿz@‡ÓµZ!@ !äh!„<-„ …ò´B€BÈè\å’òÙgïKÜ×Ý…ÀË! s5Ëš òªòº»x¹ äh!„<-„ß®Ñ*k}ûÈÛþvþ|t,ùXtnt‹¬ÅÏÆïíþoóõùŠ=ó«ó#R"2Ë3er™“™ÓÔ¾S=„J“, XvôîÑù7ª«÷ÎÜk k “Ë®>¼“SP]ÀÖa»Y¸MóžæhêØÖÕ“K’%+®+¶6²žå;˼—ù“û¢N…K‡-=˜t0>?^‡¥ì<Õ{*!¤LRvàöŒ² ¾†ïŒa¢a/2Š¢æ^/¶äPÒ¡øüx9%ïoÛ^ÿy<ï…¿RèD,Š¢º»Ð$b±X"‘¨èpö,Ù2avvN‡/Ý,möÚê5Êe!äJö¦ÝKèùV$‡Í¡7ÏeœûøÔÇ­²V¦ƒKg]ðºyýç)NÒØÚx#ÿÝá|}þ¬_gÝ.º­¸¢[oç”ôŠj®™¹öÜZ9%§7Ù:ìO†òÍÕoæö›ûå˜/ÛTa³´96/–éóþ÷_ïûúœCs*ê+苵wÆÞáNÃÛ=Š¢æ^×·Ôß,¸Éôq6s>2÷ˆ€+xê7=SçýmB×àóùB¡Pýþ8’æúÃë&\“Õ#W»š»Š%â]q»ÒÄig3ÎNöšLKÄŸžþ´UÖ:Î}ܸ>ã8:œk¯E¤D|ué«þ¶ý=…žÌ$|}þÊ •B].‡K‘4K&{M`7ÀÖØ¶IÚ”.Nß—¸oCÔ:zI]ɾSò©ÞSG¹Œ’Éeç2Î}wý;ÅúկДgúùèÏÌœ2Ë3wÄìø1áÇ+ÙWlmW\mb`r%çÊá¤ÃÛ¢·1q­}£ÔÜk¾>ÕˆU®æ®¥K÷ÜÜ“S™³ñÒÆo'}Û_1t„<Ð0º:º‡çfÎ':˜8Ì=<÷Nñ:fý~ï÷&iÓ ß_¿ú5Ýa¬ûXkCëí1Û&Ý0fÝHê—7~aÎÒÎ>x³à浇×.<¸Ð"k¡(J_W¿¸¶øÑãGV†Vê¬þGÚ-²–ùæ>úsºÃ «Î¬:‘z‚YEÍ uutÎ=jgbG r jlm Õaé™{DWG—2ÒeäýG÷S¥JåRº¥}£ÔÙkŠPÞ8ÀÐWû¼òCÈ™ô3_û 'mz,„<Ð0ÞÖÞLÆ"„ôµêK©n¨¦73Ê2!oø¾¡8äM¿7·ÇlO§3-},ú(%<%[ñÇŠèÜè'W|Üü˜‰;ªWPþ€2Ãg†âð>3Cžšz[{ÓYí¯‚-ûBƺeò!ÄCè‘\š,~,¶1¶iß(5÷ÚÃÒƒIx„Wì™™]‘ícíóäXè ò@Ã+nÒÃ1×À5K› !&\¥!,‹~‹ÆÄÆ©´Sѹч¹ýæ:x‹Å:pûÀ…¯]V½z“´‰bd`¤¢`5+TE§´§6JåÒvRs¯•öˆ™S±`èiò@«Xò- !)¥)¦1õQ*EQBÿ/Xf±XJ“K“ !;§ìô°üûß¶ëÛÚ¶z/KBHš8M1D¦>JmG…]CͽÎ,Ïl•µ27—BRKS !]_0¨ÏÉ­BßOðß«ÿ¥ÏœBŠk‹×_Xϼõ,ô¡µ;EwèM©\šX”ئÕ !›¯lΫΣ[2Ê2¾»ö/Ú]agPs¯+ê+¾ºôU‹¬…BQÔÏ·~N(L°7±·7±ïâ‚@}8’Ze¤óÈÁƒãóã_ûù5‘@Äasr*sZe­®æ®Ó}¦«8ÂiDXlØú‹ë÷&ìðyUyuÍu^B¯4qZ›V÷³ñK*N·gœ“™“L.Ë«Îs·pKÄ/^agPs¯Íœ#S"O§Ÿ D¥KË%å„•#VvqµÐ&8’Z…Åbíž¶{ºÏtB‘œÊœŒ² ™\6Æm̯³5Ð5P1з·ïúõ\· ¦ ¹$™Åbm¿e°Ãà6­ÎÖag¤ËH©\šYž™S™3Ôaè×ã¿î ;ƒš{íhêúz(›ÅN)M)—”ênzuÓø>㻸Zh< Ú¦†,§ä· o ¸7 7¥FSž©«¹«bçú–ú‡•åDî`â x—ÃS'a4¶6æVå²ËÅÜ…ÃæÔ”Ö•úXûp9Ü6­.–ˆKjK„†ÂÞF½›¥ÍwKî …"¨ÝÖ4Ö<( 2 ù_—W'~,öíík kоQÏÝkúaÈÁ®ÁáÓÂ[e­YYrJîfá¦ÇÖ{Æ·=†¬éÚú0d„<h›n yÐõC^w×/ ›š®­!§k´B€ÂݵðL6çà샮 » €6CÈ€gÒaé ²ÔÝU@{àt-€BÈÐByZ!@ !äh!„<-„ …ò4OQm‘Ëf—//~ùR- m‚ …ò´B€Âo×€Æh–6{mõ v ^¼nËŸ[âòãjkR>I™q`F]s]ôÑt·âÚâ ïƒ!çß;ïbîB7ŽÞ=š­Ã¾¸àbWÆãðòªóÞ9›[P]ÀÖa»Y¸½ùÊ›S½§* üÏØÿlº¼):7ºEÖâgã·fä¡3¿œ’ÿ”ðÓ‘»GŠëŠ­ ­fûÍ~µÏ«jP˜ðãÍïß‘4K¬ ­Æº]:l)_ŸOT]ž:K@…¦¶©væ/3Å1½)—Ëö&ìÍ©Ìq6s&„ÄäÅBtX:ѹÑtÈ+ª-ʯΟ×Þ³æ|ëÈ[qyqª×½°à=¿ú…BF.|Xùé“Tœ”TœT&)[!$Ð1PqøpÇáO&-¥²*²!ËÿX¾üåô[ŠPô a©SžúK@„Æ„kòdã0ѰؼØÄ¢Ä;ÅwôØzƒìééêñõù1y1ƒº¦º‘ªsµrMÞ“…O=^ZW:ÆmÌÒ€¥®.—Åb­»°Ž¹ÊÆœÛ¥Ñ ¬” SrBˆL.{²'}ÐNÍò@C!ä€6t üæê71¹1wŠïô·íOßU0Ø~pôÃh}¶>éü òžª º€òIÐ'L:l‘µÄçÇ·i!$:7zŽß¦ñzîõç¤ÝÿÆþa¢aí+¯ÝK@O€Ú E3žYTVTAuÁŠá+èÆÇ€ Qše͆ú†>Ö>*†wÈ5yOêmÔ›²çæžåËM¸&YåYÛ¢·åVå¶i’±îcwÇïþïÕÿèŒv-£dç2ÎíŠÛõÜS¼§„ßÿøW­ p 0ïe^ÛT›Ww&ýŒ/\Ÿ/ Õï#yZ!@ !äh!„<-„ …ò´B€BÈÐByZ!@ !äh!„<Ðl2Jz:ýtwò—º¦ºÐ˜Ð«9W»»xÙ!ä€&Ù³ã·{¿)¶HeÒИÐÓ÷{LÈkFÈ€!4ÉθJ!ž !@ évwj)©+‰L‰”Sò‚ê‚ИPºqª÷T‹^LŸœÊœ˜Ü˜Y‹ŸŸ¿­?Ó.£da±aNfN=&æTæÄåÅU7V¿?ä}›C¹÷è^Rq’¤E"ä ƒœƒÌxfŠëV5T%&Tè²uÝÌ݆ˆ†°YlÅõ-õ—³.—Ô•XZ…¸…tâGÐy JêJèlWT[Ä„¼Aöƒ˜·;~÷Ök[)Š¢7gúÎÜôê&ú5}Ý^°kpVyVX\ÝøîÀwk›jWü±âFþ f.‡»>dýtŸéôæW—¾:œt¸EÖÂt D{fìq4u¤7SKS_X.)§7-øÇm섽h3„<Ð ½z/ X¶#v‡‘ÍTï©t£± ýânÉÝ+ÙW‚œ‚\Í]ÅñÙô³Ç’Mô˜8T4”™!©8éRÖ¥@Ç@¡‡®KgAä‚ÔÒT[cÛ@§@cãüêüKY—Öž[ëbîòJïW!ѹі|K??c›fiszYz|~üª3«"æEBê[ê_T.)w4u p Ée×^[svM—6Ošyaqaöûe˘öfi3!¤²¡òû©ß»ÓŽŸžþôjÎUÅWÙPùí¤o'{M¦7ÏeœK-Mä9iëÄ­l¿ÎÀ¦–¦N?0ýç[?oŸ¼²aÌ'3§øüøÒºR=¶Þ@»õIÅIÕÕ®àtúé2IY càÓ Ïü6¶6Î;<¯ª¡ªK>Uò@xZz2 2Ây!¤LR¦ØÇÑÔ‘Ix„ؼXBà §OòREÊÈÀ(µ4•îs·äîü£ó¥r©Òr•õ•®àNÑBÈÒ€¥tÂ#„p9܇~¸ rAGï@›!ä€6°6²VÜäqx„¥p&2)nÒÇÛŽ&}Öœñùñß^ûV­ìì pàéñX„Tœ$§ä„Ú¦ZBˆ­±­â(;»Ü€/ ¥»b¹Æ„9~sÌz™)õ4Ð5 „ü™ó'!d産\F1o¥—¥ÿ=ƒ1!¤¨¶È’oÉ4Öv|ém‡šD­WÓXÓ!S ±‘!£dK†-ÑaýýÐÐrIyéãRB‹Å"„ðõùÌ[ñùñW²®0›ýlûO=¾#f‡â5yÌÝ»Ý !4‰ÈTt_|ÿ“SŸØ™Øé°t”ž“×&<'ìKÜwäî‘èÜè¡¢¡f<³º¦º¼ê¼„‚„w¾ëcíã×Û²(rÑ8÷qž «"ëZÎ5SžiE}=ÃD‰Û£·GçFß;>À1@Nɯæ\mlmì°½xyÐÁX,B¡¨¿^t¬ùþóWŸ]}2í$½©øœ¼¶b³Ø{gî]}fõ•ì+ÉL»/ô±ö!„Œu;ÉsÒ©û§"Rþzw†ï C=ßnýDoöÒëµ{Úî…ÇæVåæVåBÌ{™ozuÓâã‹Û½ƒ§“þ*¡ÇBÈ€ÆãÉ !MM:\®¼Ã'Ÿê=ÕËÊëfÁÍÚÆZŠP6Æ6ºlÝe˜̜»Ñ.æ.Š›J}!®à‡é?äTæ$%V5T™òLE‘¿­?óD•m¯m›í7ûÞ£{,«¿Mokï˜Ü¾>Ÿ¹ŒÏÛÚûÒÂKô/^ …Á®ÁE- XFÇD€¥¾^§W¯Žÿ«„‹Å<@b±X"‘¨èž®?i’í… Îέ]V*ªW}=þ ÐS\ºÔ«©Igôèúî.ºþ oÊ”Çr9ëÐ!£î.!„¢ÈÞ½&#FÔ[Y)ÿFh1„<èxÆÆò jv±Ÿß:Ù‰†÷îé/_^ÕÝ…@—BÈ€N±`Aµ±±ü»ï”1 º˜D¢óí·fo¼Qëá».^.yÐ)¸\êóÏ+Ž7ÝæúuÞO?•ΚU×Ýå@·AÈ€NÇb‘•+«ÂÂÅÅqƒƒí÷ì1Ás’:C^çã…o¾icf&;q¢hèPü¾ÅKEQTwךD,K$í<ûÓØÈÚ³G°g‰Ž\?|xCß¾-VVÒ^½ä[$ÀKB.'µµì¼<ÎÝ»—.ñ¸öö­k×Vâ—-´ŸÏ …ê÷GÈ€¶y‘G«­Õùí7è¨^‰‰2«£ x™™˜È^{íqPP×Dh)„<è\/ò--¬ìl½Š 6ÎÞ´‹EÉí줶¶­,ü“¶kkÈÓí¼RTÓÓ£<=›»» í„ÿzÐByZ!@ !äh!„<-„ …ò´B€BÈÐBøY3-„#yZ!@ !äh!„<-„ …ò´B€BÈÐByZ!@ !äh!„<-„ …ò´Ðÿ®½ÏŒº$EIEND®B`‚fio-3.39/examples/dfs.fio000066400000000000000000000006311476262051600153270ustar00rootroot00000000000000[global] ioengine=dfs pool=${POOL} cont=${CONT} filename_format=fio-test.$jobnum cpus_allowed_policy=split group_reporting=1 time_based=0 percentile_list=99.0:99.9:99.99:99.999:99.9999:100 disable_slat=1 disable_clat=1 bs=1M size=100G iodepth=16 numjobs=16 [daos-seqwrite] rw=write stonewall [daos-seqread] rw=read stonewall [daos-randwrite] rw=randwrite stonewall [daos-randread] rw=randread stonewall fio-3.39/examples/dfs.png000066400000000000000000005561051476262051600153520ustar00rootroot00000000000000‰PNG  IHDR<ƒi>jbKGDÿÿÿ ½§“ IDATxœìÝyxL×ÿð÷Ì$“}ß Ù„Ø…¨PKjW{íZß–¶ZŠVk)ߟ¢ UMÕNQKÑ~k+­}WKD$b Ùƒ„l²ï™™ß#WF&Éd’ãýzOïÜ{ιŸ{y4óqÎçˆ …DDDDDDDD:D\×Õ4&<ˆˆˆˆˆˆˆHç0áADDDDDDD:‡ """""""Ò9Lx‘ÎaƒˆˆˆˆˆˆˆtDDDDDDD¤s˜ð """""""Ä齺€ˆˆˆêFFF,|þùçŸÑ¦Máó;w°qãFܾ}yyyP(èܹ3¾ýöÛ#&&ëׯÇÍ›7‘““…BŽ;ÂÚÚ´k×þþþ5z_"""ÒmLx½¢ŠŠŠpöìYászzºp|çδk×¹¹¹*},--k4†øøx´mÛVåÞ`jj GGG!>==þÈBDDDU߈ˆˆ¨ŒÕ«W É777üüóÏ077‡­­mÞgÕªUB²ÃÁÁk×®…••lll°|ùò½½Z˜ð ""¢2"##…ã>}ú`РAµrŸ»wï ÇÝ»wÇСC…Ï3gÎÄ;ï¼°²²ª•û‘î) E]ADDDµëܹsغu+âããáêêŠI“&¡~ýú°³³Úœ>}999Xºt)BCC…™õêÕƒ§§'àÓO?ÅСCñàÁüöÛo¸ví?~ kkk¸»»£k×®èÙ³'ôõõ+ŒçÔ©Søúë¯qýúu¤¥¥PÎððòòRÛ^] ÔÔTìܹ—/_FRR àááþýû£gÏž‰DZ¿/"""zùq†‘Žûþûï1gΕs›7oÆš5kÊ´}øð¡J]HHH@BB`øðá D=­ö^ÎÎθÿ~…1%%%•¹Obb"Õ¶¶†ÇÞ½{1~üxdff–i»|ùrtïÞ»wïæÌ""¢W·¥%""Òa/^Äܹs…σ ¾}û°dÉÌš5«LûþýûãôéÓhÛ¶­pnÈ!8}ú4NŸ>¡C‡Âßß_HvŒ=ÿüóöíÛôíÛW˜±Q‘îÝ»ãôéÓhß¾½p®OŸ>Â}NŸ>7ß|Smßàà`Œ=ZHv¼ùæ›Ø»w/V¯^ kkkÊ$cÆŒÑà ‘®â """¶víZ”¬^uqqÁÞ½{!‘H(gML:U¥½““œœœTfFÔ¯_~~~ÂçÒ3;ú÷ïþýû Ÿ?ÿüs$%%U—½½=ìíí…8::ªÜgûöíjû.]ºEEEÂ3íß¿_˜boo#FŽ=Šàà`•ä ½:8ȈH‡ Ç~~~B²zôè¡Õ˜½{÷ŽÇkkktèÐï¾û.6lØ©Tª}ÀŽ{ô衲ܥtl϶%""¢W DDD:,//O8655U¹fff¦Õ˜Ó¦MÃüùóáääHKKC`` ¶mÛ†‰'ÂËË«ÒÕQ²].PöLLL ‹Õ¶%""¢W DDD:ÌÙÙY8ŽŠŠR¹VzëÙª‰DX°`ƒ'N`ÕªUpuu ,>ºnÝ:¡ý|???øùùá—_~Ñꞥ¹¸¸Ç*×¢££!—ËÕ¶%""¢W DDD:¬t}ãÇãâÅ‹€‚‚|ÿý÷Z¹iÓ&üùçŸÈÏχ««+zôèO>ù]ºtÚ<|øP8 ÂÙ³gqöìYDGGkù$O9R8>zô(.\¸ÉdX¸p¡pÍ¢Ì"""zu0áADD¤Ã&Ož Ê„@·nÝàíí† "++K«1/]º„Q£FÁÜÜnnnèÔ©5j„ß~ûMhÓ¯_¿‰_)S¦àõ×_ |&???´iÓ 6ÄŽ;(g¡¬Y³µ½Ø˜ð ""Òafff8uê”°ûIqq1BCCáççWî.(•ùðÃñÞ{ïÁÔÔ±±±¸té’°\¦AƒX³f°SJm044ĉ'0wî\ØØØÏ”‘H„Ž;âäÉ“;vl­Å@DDD/>‘¢d¯:""""""""ÁDDDDDDD¤s˜ð """""""Äé&<ˆˆˆˆˆˆˆHç0áADDDDDDD:‡ """""""Ò9Lx‘ÎaƒˆˆˆˆˆˆˆtDDDDDDD¤s˜ð """""""Äé&<ˆˆˆˆˆˆˆHç0áADDDDDDD:‡ """""""Ò9Lx‘ÎaƒˆˆˆˆˆˆˆtDDDDDDD¤s˜ð """""""Äé&<ˆˆˆˆˆˆˆHç0áADDDDDDD:G¯® "¢²‘]×aÕSSS888hÝŸ3<ˆˆˆˆˆˆˆHç0áADDDDDDD:‡ """""""Ò9Lx‘ÎaƒˆˆˆˆˆˆˆtDDDDDDD¤s˜ð """""""Äé&<ˆˆˆˆˆˆˆHçèÕuDDT7 Eˆˆ"5U‚œ濉ˆˆHsR©ææ2xzÂÒR^×á©Å„Ñ+$#CŒ}ûÌpì˜ ®^5„L&ªëˆˆˆè%çæV„îÝs0|x<= ë:"DD¯€¼<6l°Â† –‹èÕ+£G'¡yó8:Ê`b™!"""ÍŠ–&ÁÝ»RáèQlÚd‰=r0wn*\\Šê:D"ˆ …¢®ƒ ""U‰‰‰ÈÎή‘±Ž3Á·ßÚ"3SŒO>IÃØ±™LpQR(€s猱d‰ bcõ1aB¦N} ~Ý$홚šÂÁÁAëþLx½€j"á¡PþþÖX¿Þ ÆeaÆŒTØÚÊj(B"""¢²d2vî4DzeÖðð(ĺu`cß?H;Lxé ê&<òóE˜1Ã'Oã»ï’ñÖ[Y5QÅ¢¢ô1q¢d26lxÈÚ¤•ê&’ž?&<ˆˆtÌO?YãÄ c¬ZõíÛç×u8DDDôв´”aÓ¦‡°²’aâDGäæòë'=_üGD¤CŽ5ÁúõVX´(¾¾yu½âLLäX¿þ!’’ôðßÿÚÕu8ôŠaƒˆHGäå‰ðÝw¶6,‹ËXˆˆˆè…áì\Œ%K’ð÷ߦ¸|Ù¨®Ã¡WDD:â—_¬‘!ÆçŸ§Öu(DDDD*üürѽ{.,°…L&ªëpèÁÊ1DD: #CŒ-1mÚcØÛsë7Ò-iiihß¾½ðyÇŽèСCFDÚˆŠŠBŸ>}„χBãÆë0¢š!ÎΆñÙ³09~ÆgÎ@\j‡­è»w¡HÊí«Ë_…ÑÅ‹ÐKL„ÜÈE®®È~óMd ¹™Ùóx¢çfîÜôíÛÿücŠÁƒ9•jDD:`ß>3ˆÅ Œ›YסUYïÞ½ ˜1c>þøã:ŽHs6ß}ó]»ªÜÏl×.ØýßÿA${š¤–äçC’–Ãè=z„Ô9sj2T¢:çêZ„^½rðûïæLxÐsÁ„‘8v̽zåÀÄD^ס½RäffÈîß9={B’š Ûo¿­´Ñùó°Ÿ;P(±é|€Ì‘#!sp€~L ŒOž„B_ÿ9DOôü ’I“‘’"­-g¥Ríbƒˆè%WP Bp°!FNªëPˆˆÊåááÈÈȺ£Æ¥Î+›íÙSy…¶ß|£LvH?©³f — š5CA³f5'Ñ‹¢S§\ˆÅ \¾l„þý³+ï@T Lx½ä¢¢¤(.¡yóº…¨ZŠ‹‹±nÝ:ìÙ³‰‰‰pvvÆ{g~ýú©m_PP€æÍ›«œ“H$077G“&M0xð` >"QÙâx.\ÀÎ;qíÚ5¤¦¦B*•ÂÅÅ~~~?~<¬­­UÚ?~;vì@XXÒÓÓaii‰ àµ×^àAƒàåå¥ñsVu¬+W®à·ß~CHHRRR •JѨQ# 4o¿ý6ôôTœ+**ÂÚµk±oß¾2ïñÙZ(>>>xíµ×‘‘غu+^ýuÀªU«ðóÏ?Þÿ}Ìy²¼"44Æ àêÕ«ˆ/SŸãúõëøõ×_wÞycÆŒ)ÓæÈ‘#X±b…Jü?þø#~üñG€ƒƒ.\¸ õ»PGœ“ç¡C¡ÿd MæØ±Hþúk€¨°Îo½é;€ìAƒøÓO•ŽYׯC%|NÿýŸèEgd¤€»{îÞ•¢ÿºŽ†tDD/¹¤$eA<'§â:Ž„H{ …S¦LÁ‰'„sÑÑÑøê«¯pçÉ—OMÈd2¤¥¥!  ÄÒ¥KUÚ,^¼›6mR9W\\Œ°°0„……áÏ?ÿÄÖ­[…ÄÃðù矫´OMMEjj*®]»†-[¶àöíÛÅWÕ±üýý±víZ•öEEE Ehh(>ŒÍ›7ÃÈH¹Í£B¡À'Ÿ|‚S§N í+z‰;vÄ‘#GBÂ# @hWúøÒ¥KÂqûöíahhXfÜÍ›7c—u-*RÕwQ¹‰ ­Zçaà Ê˃ùÎÈíÚ9={Âfñb!ÙQèé‰äᆱÑgÃàà§±XXÀâ?`rð ôãã¡J‘ߺ5Ò?üy:Õø½‰^ŽŽÅHNæWQª}Ü––ˆè%——§ü«ÜȈõ;èåõ÷ß«$;fÏžàà`üý÷ß*_°K300@dd¤ð+""W¯^…¿¿?ôŸÔ?Ø·onܸ!ô9räˆJ²ã‹/¾ÀÕ«WqäÈ4{²Œ 55S¦LAq±2‰xàÀ¡ý—_~‰7n 88û÷ïÇÌ™3«´ÓHUÆ:vì˜ð_"‘`ñâÅ ÅÑ£GÑ´iS@PP–,Y¢2~éd‡&ï±sçÎÂqIb£°°!!!Âù°°0dffª´y¶oi‡ƲeËpíÚ5DFFâÿþïÿÔ¶›6m"##áîî.œ›1c†ð{Z2»C›wQ‘ÂÆ‘üÍ7Âg»9s`þûï°øí7O’"«WC^IòDzÉɱ8#V+V@Q~>Ä™™0þ÷_Ô{÷]˜ïØQã÷&zQË‘“íi©ö1áADô’{² jfí½4J'Z¶l‰?üæææhÚ´)¾øâ ƉD°°°ÀàÁƒ…ä\¼xQ8þã?„ãV­ZaÒ¤I°°°@£F°`ÁáZll¬ðžô †ÄÄDÄÅÅA__Í›7ÇG}„¿þúK¸>~üx4jԨ̯GUy¬;w Ç Àˆ#`bbLŸ>]¸¶gÏ*—´ýý÷ßU~]ºtޝ_¿ŽÜÜ\„„„   –––¨_¿>är9QTT„«W¯ íËKxLš4 „©©©ÚëU¥Í»¨LÖ!È= IKƒÝ¼yµäï¿GQ©$L**RùXèé‰{Ç#6(Ùƒ)O*°]´’RÉ"]"=ýù…¨6qÕ¹˜˜áøÙºÏ~.íØ±cؽ{7ššªöËnJJŠp.·lÙR¥]‹- ‰ xòSxDD:wîŒaÆáèÑ£P(ؼy36oÞ ‘H'''øøø`ìØ±ðññÑè9«2VéX÷ïßýû÷«3//qqqðôôÔê=Ö¯_®®®ˆ…L&CPP0»£C‡033ÃîÝ» äååìììÊ­]¢éûД6ïB)_}ƒÐP„… ç2þód—S7¦&ÈÍÍU>§O˜€"77@êŒ0}’üÀøÂd Rk±é:Îð ""¢—ÒÆ1yòdœ:u >,÷_ö‹žùõŠ(Ôü“ão¼mÛ¶aÀ€¨_¿>Äb1 pàÀ¼ýöÛ.U—¡"59Vi¹¹¹UîSÚ³ËZJf·øúúÂ××W8_zYLI­uÌÌ̪OuTå]ˆ32 W*!Ò°0@V{[e>“Œ‘99 ÇŪñeeÕZDD¯Îð ""¢:çææ†¸¸8À­[·T®=û¹ÄŽR5Þxã |ýõ×ppp€X,Æ›o¾©2+ DãÆ‘”¤ÜÂùæÍ›Þ§ô,Ž;¢cÇŽ”NcbbðÕW_áÊ•+Éd8xð Ú¶m‹Í›7Wú¬šŽU:Ö#F`ñâÅ•Žíîî^å÷(—µlß¾pæÌa¦ˆ¯¯¯¼¸{÷.d¥¥—ÂT—ºtJÓæ]TzO™ Ó¦ ËF D2Œ®\¿¿ÊV±5)¯cG( *(H>®é%&ª´-jРVb "zUp†Õ¹ Ç7nÜÀ† ••…°°0øûû«íSR˜PÖÆ011Aff&V­Z¥6Ù£ŸÔl”Û«®_¿™™™ˆŠŠÂÂ… …k®®®Â̆%K–`þüù¸xñ"âãã¡P(`ff¦ò%½¤Àieª2Ö˜1c„s{÷îÅæÍ›‘’’‚‚‚Ü»wgϞżyó0cÆ ¡Ý€„cMß# L”l鎢¢"ØØØÀÓÓŽŽŽpqqB¡@DDe‚¢¢UUzFÈõë×…e3%´y•±^ºFW® =<ðûïP,7l€ÉÉ“Õy¤rÉ-,Yêy,ýú±±§§Ã¦ÔïQ±£#òž$ƈˆH;œáADDDunРA8xð °ÃÈ’%K„7ÆŽ«R›¢Ä[o½…ü€rWÇPÖªhÑ¢E™зo_L˜0¿þú+`éÒ¥e¶­µ±±ÁÊ•+…@zz:víÚ¥2£¤4}}} 6L£ç¬ÊX}úôÁÇŒuëÖA&“á»ï¾Ãwj¶I-=ÓB›÷ÆÆÆðööÆ•' @Y¿£„¯¯¯0s¼¼¼`kk«Ñ3k¢sçθvíe]–’ú*%³9´y19~–7H\±…Mš uî\ØÎŸ(°Ÿ9@‘³s…cYÿô¬Ö¬Q{ͽIáøÞÑ£(òð¤~ñ¤·oÃ(0Òˆ4ìÙS¥ŸÜÌ ‰+V ""ÒgxQ‰DX½z5¦M›gggèëëÃÍÍ .TÙ…£´>ú .DãÆahh[[[Œ=Û·o‡A_ç΋-[¶ wïÞ°··‡žžŒŒŒàåå…?þ‡¶:€9sæà‡~@Ïž=áêê CCCH¥R8;;cðàÁØ»w/Zµj¥ÑsVu¬3fà÷ßÇÀáìì ©T*ìNÒ£G,^¼Xeæ†6ï±Ä³É‚’.Ïåï΢­I“&á½÷Þƒ££#$‰Ú6U}åÑ‹ƒ}©å*)sç¢ðIb"ãí·…‚¥âÌL8|ò DîúR ##<ܶ )óæ¡ eKÈ¡Ð×GQÆÈ7÷D~Û¶5~_"¢WH¡®:Õ©ÄÄDdggkÔöÐ!SL›æ€ÈȨZŽŠˆ^fiiihß¾½ðyÇŽ*³8ˆˆž—©S•zW®L¬¤%½êLMMáðLAçªà """""""Ò9Lx‘Îaƒˆˆˆˆˆˆˆtwi!"""zXYY!22²®Ã ""zn8ȈˆˆˆˆˆtDDDDDDD¤s˜ð """""""Äé&<ˆˆˆˆˆˆˆHç0áADDDDDDD:‡ """""""Ò9zu½¼Ö® ‡½½† s©ëPªM—ž¥*23‹°eKZµ²„ŸŸ£ÊµÂB9Nz„¸¸lÈ1p 3ÜÜLë(R"""¢ªaƒˆˆ´¶fÍ´li¥I]z–ªÈÌ,ÄŠaxçw•„Gvv1† 9ØØlá\‹LxÑKƒ ""ÒÚäÉ^°·7¨ë0j„.=KMع3±±Ùðö¶†¯¯-ôõ%ps3«ë°ˆˆˆˆ4Æ„imÒ¤ÆuBÑ¥g© Y€õë}amÍD½|˜ð ""­•W÷B&SàâÅd„‡gB&“ÃÃÃ;ÛÁÀ@¢vœ›7ÓòÙÙÅpp0D·n°±1Poõê»pw7Å€ΈŠÊÂùóI(,”ÃÛÛ>>6jÇÍÉ)ÆÉ“‘GG#ôêå™L¡¶fųϢí=5yžº¢î}<+** Æ#44 °eKôôݲ’bÜ8w¡]PP*ÂÃ3‘]gg´oo;;Ãçö,DDDD•aƒˆˆ´¦®îEdd&M @LL¶J[C¬\ÙmÛZ çRR 0}ú\º”¬ÒÖÈHóç·ÂðáÊq‹‹åX±" ={:!>>?þx ÅÓö#Gº`Ñ¢¶*cܸ‘†‰œœ/œ³·7Ä·ßz«­Yñì³hsOMŸ§"ûöÝÃýû¹•¶+1nœ;¬¬¤•¶S÷>ìì”èèl¬X&|^³æ.ÀÝÝ ãÆ¹#=½&\Äõëi*ý $˜1£9Æ÷Ð8v"""¢ÚĄ՘¼¼b¼ÿþEÄÇç¢^=ctëæ}}1.\HBTT>üðî{{CÈd |øá%ܸ‘ggtéb )ââ²qâÄCÌ‚FÌѦ•0þµkqêÔ#tëæOO3$&æãСøóÏ8 Ð:ÙPÎdøè#å—{77Stîl™Lsç1gNp•žIÓ{jó<êìÛw/&Wئ´þýëWšð(ï}œ=[ö}¸»›bÚ´¦øçŸˆŽÎÂäÉM„€rÆÇõëipp0D÷îN°°ÐG||.Spõj*DDDôÂ`ƒˆˆjÌßÇ#>>mÛZcëÖÎ02R.a).Và³Ï®àÈ‘xì܃Ï>kŠcÇpãFtÆ?ú@" ãܸ‘†áÃÏbóæH,_Þ^8ŸšZ€µk}ѳçÓ¥]ºØcæÌ«8sæ‘|øûïHJÊG×®X¿Þúúbʄ̻ï^@jjÆÏ¤é=µyu†m[ãÓ¤¾Æ?ÿ(ßG—.öøå—Ž¥Þ‡ ãÆý‹ÇŸ¾3L›æ…Û·Ó…O>i¢²©¤íÞ½oÀÁáé–ÂB9nÝJ×8n"""¢ÚƄ՘ààTÀ§Ÿ6’ §'ÂŒÍpäH<®^U¶¹p! `l¬‡uë¡x²^D¡ ÌÍõqã†ê²‰fÍ,U„e)IIO—j„„<Lê%|¹”KK&On‚>¸¤ñ3izOmžG¡Cj›¦‚ƒKÞGÓgÞ‡Ÿ|â…?Ôü}ôî];wÆà×_#0r¤+ÜÝÍ R©ÞÞÖ•@DDDôœ0áADD5&#£а¡i™k ˜@$ÒÓ•m?Vþ÷ÿ‹Õx|''£2猟Î"y6ŽúõË´wv6Ñø~U¹§6Ï£NmÔð(yÎÎeßGƒU{;Ûã÷ß»bëÖ(Œu2´ha…^½œ0fŒ+ŒŒø£½øS Õ åï{÷²Ñ ê—ëû÷s P––R•¶o¿íõ»{ŠÕž×4Žøø\ØÛ«ŽýàAŽVcjzÏê>OmÔð(‰íÁƒ²ïãþýª¿öímо½r—š¤¤|¦`ñâ8r$üÑb±¨’ˆˆˆˆjDDTcÚ¶µÁîÝqX¹òÚ¶µþµ_&Sà§ŸnÚµS~QîØÑ»vÅB&S`Ê”&e¾$''çãáÃ<­âðö¶Æž=qX½ú.Ö­ó…žžrì‚Ö­ ×öñ*TSÏS5<Ú¶U¾•+ÃÊÔðX½úŽÆ÷€€€d´liåï­½½! pÆ™3ð×_÷“ ³*IDDDT˜ð "¢3p`}¬^}AA©èÛ÷¤Ê.-‘‘Y°°bìX7@ÿþÎØ²% ü‹ÿMB§Nö°±‘"3³±±Ù LÁûï{¢U«Šw5Q‡3–/Ù3ðæ›'ŸìJ"ǹs‰ÈÍ•D5< ¡¦ž§6jx  |ÿþ›$¼¹8sæòòdUkýúp\½š __{¸¸˜@__Œ;w2pî\"$‘0ƒ‡ˆˆˆ¨®1áADD5ÆÈH›6u¤Iˆ‰ÉÆÎ1Â5{{C¬\ùš°¤B"aÓ¦N˜=û*Nz„]»bUÆrp0Ô*Ù&&zX·Î'^Btt¢£³vv†˜;·%¾ø"ÆÆ5û¿ÀÚ|žê21ÑÃúõ¾˜8Qùû“ °µ5À¢EÞøøãÇêØÑ×®¥áÔ©‡eîñÿ×66•Ï8!"""z˜ð ""­Mžì{{Õ/¸™áÈ‘ž¸p! áá™Épw7C×®ö*Û›€••¿üÒQQY JÅãÇ…°¶–ÂÕÕš˜ IDAT>>6ÂÖ®zzbL›Öîîe‹¡–\kÔHuEëÖV8y²7Nž|ˆ‡óàèh„ž=„/êÏ#}öY´¹§¦ÏSZ¶´Â‰½pòäC$$äÁÁÁ={:A¡¦MkŠV­,UÚàŒfÍ,¡§§ZwdâÄÆ7Η/§†?ƒÜ\@*U? 344 Ÿ~ˆrÕ^_¼ø.l1cÜ„sÉøüó $%å«´=v X»ö.FvÃüù­¡§'R¹ò‰‰ù úõ«7ÞpT¹ž]ŒÀÀxx˜nÞLGXX†FÏkkkHNÎÇŋɀC‡âqûvºÚä QU1áADD/µÀÀˆD•·{^bc³±wï=\¹’Ѝ¨,|ùe0:t°EÿþÎå&1àß‘›+C‡¶øÏ<`e%-ÓæÖ­tŒû/ dps3Űa.hÜØ‰å!&&‡ÅãñãB¡OhècŒEEr4kf‘#]áâbŠœœb\¸„Ý»ãðûï1ÈÍ-†¿¿O™{êë‹!?ýt~~޾ëE‹¼…„M‰)S.#-­;vt)3.tíꀭ[_ǃ¹øî»ë8z4 """ªLxÕ]»â0o^Š‹¹ݻã°{wV¯¾‹'z•Û79Y9ûbÒ¤&èÜÙ¾Ìu…˜9ó* d2¤¾ÿ¾]™0{v ¤§ }fÏFQ‘o½Õ‹·…Dò´Oß¾õ0|xC¼óÎyìß:ÃÏOu‡¡¡Ç7ÄæÍQ8tèú÷w.÷Z¶´*s®$ÉÓ¡ƒ­Ú>vv†°³3œ=›ˆcÇ—'ƒ‘—µQõ0áADDÕ’‘Qˆ}ûî#88YYEhØÐ½z9•ùÒ—ƒ]»âž ™LwwS¼õ–‹Jýˆ¢"9Þ}÷||lðé§Mñ矱ø÷ß$Êáímwßõ€©©ò]wïfbáÂPÈd ܼ©œùPbÞ¼VåÖ¥¨-2|ó2ž·ßvƒƒƒÎKÄ! ”‚K—’+ì/{21ÂÐPýý€€d„‡g¢~}c,^ÜVm²D"³C.]JFddêÕ3Æ·ßz«$;J´nmÏ>k†Å‹o`Û¶è2 @™„ùßÿbñóÏaèÛ·¾ÚqjBI’£¨H΄UDD¤µ«WS1iÒe<~\PêlvìˆÆ—_¶ÀxŽÇ矡¨H.´:{6[·FcÞ¼V7Î —+˜SS=Lšt§N=ÚŸ9óÇŽ%`÷înÐ×#+«)”õ2JŽK>WdÑ¢¸y3]ãçüñÇv¨WϸÂ6å#7W†±pa\¾œ‚Û·30z´+Fvf]”§¸XùnÊK&(&ƒ7–ƒT¦¤Ï A/§6¬!¾ÿþ®\IL¦(ƒµµ&LðĪUw°gÏ=Œé¢Ñý«J,VÞ·ä]UDD¤•ôôB|ôQÒÓ ÑºµFŒp…““âãsqìX²²”I‡ÄÄ|ÌœyEErôí[}ûÖƒ¾¾gÏ>®]qøæ›ëh×ÎÍš=‘qî\",-¥˜=»<=͘˜5kîâÖ­t:Áƒ IsìØÑEmÑÒÊfwܹ“¡’ ©L^ž¬Ò6õëÃÐPRn²ÅÒ²lMŽÅÅ aˆÚ6ññÊ"¥žžæ•ÆR"!AÙ§I“Šß‡¥¥vv†HJÊGFF!¬­ËÆðÁžØ¾=+W†aÈ&P´eo¯\Úòï¿I<¸AODDD¯&<ˆˆH+ûöÝCzz!z÷®‡5k:¨\;ÖMHxüõ×=äçË0b„+/öÚôéSNNÆX¾< ÿû_,.l-\ÓÓã÷ß»ÂÍÍT8çâb‚wÞ9ààÇ<¸ÌÌôÑ¡ƒ-D"ÀÂB¿Üê̙ӲÒY ¥Õ«Wv›×géé‰0o^+Ì›w #Gž…««)RSóŸ‹úõÕÏ9w.+V„!..ii…èׯ>œMÔ¶-(PÎz00Ð<ÑP•>%mòóÕ'wLMõ0q¢'~øávìˆÆøñ4ŽCSÆ5Ä®]qøâ‹ ¬YsŽŽFغUýÖ¼DDDD•aƒˆˆ´R²$¤dÙʳÌÌô(gSÀèÑe—AŒã†åËæº¼¤eK+•d´h¡,ˆ™–V€êª­ú£F¹¢U++ìÝ{.$!<<ݺ…‡‡¦Nõ€ª?““óqíZ Q#3LŸÞ´Ü±Kêr”7ÕDɬ’ääŠß™\®@jjÁ“>êg˜Àþã-[¢°vm8Fr+·¶ÜÝÍðé§MñÍ7¡ˆŠÊÂýû95~"""zu0áADDZ)™  nûÔÒJf¨û"ma¡‘èi›Ò知¯¯¬ï ¯òµQãDÓ¦øï[âòålÙ‰©S›bíÚ»˜>ý ŒŒôУÇÓ¢ ]»:`ãÆŽ¸z5¿ü?¼„“'{«·Y3KÀ¥K)xûmwb)Y&tþ|"Þ~»üŵkiÈÍ•ÁÕÕÆÆå 54”à“O¼0þ5lÞ‰×_/»›Lu\¸„ùó¯ÁÝÝ }äYîl""""M0áADDZqrR.ó J)3£´’º ׯ§ÁÅEõ ìéP(‡Ê—ŒTD¡¨¼MiµQÃC‰DŒfÍ,àïG°oß=•„‡!üüáç爘˜9{÷rаaÙ/úÝ»;B*ãøñ„†>FëÖÖ•Þ¿G',\ŠS§!$ä1¼½Ëö‘ËX¶ì6å6µ•5Ê7†cãÆ4o^³3eþý7 ðí·mðÚkš/Q""""R‡ ""ÒJÏžNز% K–Ü‚““±Ê6´!!‘œœÞ½ë¡kWlߥKo¡qcs4i¢,ºŸ‹ùó¯ºvÕ~¦€‰‰<È\®vù¨LmÔðˆÏÅ0b„ lmŸÎfQ(€]»â —+PXX~âÄÃC™4JK+T›ð°·7Ä{ï5Â/¿„c„Køê«V0ÀYeG•œœb:ôRôî]öö†7Λ7GâÃ/aÑ"oôêU¢']’’ò±pa(.]J†µµFu9ôôDøôÓf˜1#ëׇWÚ¾*ÒÒ”;Ùxx˜Õè¸DDDôjbƒˆˆ´âëk‡œñÏ?ðÞ{`oo''c$$ä"99“'7AïÞõðÆŽðõµC@@2 :WWSèë‹•…¢"9<=Í1|¸öÛœ6kf‰€€døùCýúƉ€yóZUX§£6jxääÃßÿ~þù6ê×7†™™>âãsáë{H¨1thÃrûK¥Ê¥$¥·î}Ö_4C\\6ŽMÀ_aÞ¼¸»›A"ãÑ£\$'@.W`úôfèýdeÌ̙͑‰óç“0yòeØØ aCäæ#"" r¹&&zX½ºllʯßQÚ AÎX¿>W®¤jøv4S²­¦ÛîU„?Q‘Öüý}0uªÌÌô‘””ÐPåÌôé£\!ë×û I¨¨,ܹ“™LÞ½ëaûöÎ04,¿nDefÎl;;C$$äâÊ•¦TiöFMqv6ÁÔ©^pr2ƽ{9¸u+éé…HM-€‹‹ –-k~ýêW뉫VuÀ¢EmѨ‘rse¸y3¡¡‘˜˜SS=Œ颲4E*cÓ¦N˜3§%šZ€Ç¸{7‰½{×þ}~hßÞFã8ÄbQ…V‰ˆˆˆ^"…¢ª+Ÿ‰ˆ¨¶%&&";;[£¶‡™bÚ4DFFÕrTå“ɈŒÌB~¾ ÃÚZýLœœbDGgA.Wn3[²‹H ¹\+WRae%EãÆæj¯Y[Káé©z­äþ™™EËhÚÔææe Ÿ>/àðáx9’€eËÚ«,q)ÏúõáXºô¶ly]eyPE’“óñðaD"e[[ƒJ—õÜ¿Ÿ‹””|JàâRq‘ÒÇÉðñQŸ ¹r%r¹öö†åÖq yŒÂB¹FÛòÉe=š€7ÁÈHû$½Ø¦Nu¬\™XǑЋÎÔÔZ÷ç’""ª6‰D$Ôæ¨ˆ‰‰Z¶´*÷ºX,*÷‹qE×4½ÿóbmm773XXH5Jv€••²ÝÕ«©'<ìì aggX¥Ø40Fƒší8£®ÈiišÌ ©lŒ……rܺ•CCIµfü•¨VÂcĈؽ{wMÅBDôR>|8víÚU×aÐ J\ÅE£mÚ(A+WÞÁ¡Cñpt4ÂÖ­¯×Bd/–sç±råÄÆf#-­¯½f+U%"""ªŽjÏððõõÅôéÓk""¢—ƲeËê:zÁ5kf‰O?õÒ¸}ãÆæøè£ÆØ´)QQY¸?§£{q$'ç#$ä1 ^=c̙ӢŽ#""""]Q턇³³3FŽY±½48³ƒ*cn®_å:"3g6ÇäÉM“¼¼âZŠìÅÒµ«þø£+ll àâb¢ñÖÂDDDD•a ""¢ˆ‰‰Z´°¬ë0žmêi‚ÛÒ‘ÎaƒˆˆˆˆˆˆˆtDDDDDDD¤s˜ð ‰D"á×gŸ}V×á¼0RRRTÞÍ™3gê:$"""""¢WDDDDDDD¤s˜ð """""""Äé&<¨V;w£FBÆ a``sssøúúbÅŠ(***Ó¾¨¨ß|ó <<<`hh///¬[·®Ò:U¹Ï;wTƺyó&8ÃÃß}ö²²²4Šˆê^Ë–0vì¿u†àòåL™X¥>»wÇaРShÙòš7?Pæúë¯F£Fû„_Mšü_ßC˜4)!!ÕŽyóf:fÌB×®GѬÙ~´kw£FömQ(*’W6}_ý0š4ù«Ògݳ'Mšü…”ñß¿Ÿ[i"""¢ªÒ«ëHwý÷¿ÿÅ¢E‹TÎâòå˸|ù2víÚ…£GÂØØ P(0bÄìß¿_h÷î]Lš4 ¡¡¡5vŸgmذ+V¬>GGGcùòåxðàvïÞ]­Øˆˆ4ž‰/¿ >K¥•ÿ{„L¦@JJŽˆS§aÆŽèÚÕA¸¾vm8~úéЧ} qõj*®^MÅŸÆaÓ¦Npp0,3vuújJ&S 5Uffvìè¢õXDDDDêp†ÕŠ}ûö I‰D‚7"33aaahÓ¦ àüùó˜5k–Ðç÷ßWI(|ûí·HKKCPPŽ;Vc÷yÖÎ;qâÄ ¤¥¥aÆŒÂù={ö >>^ml?üðÒÒÒ‚S§NUéÝ‘n’ËØ»÷F:‡‰/áÈ‘xøùÅ—_#,,£Â¾W®¤ÞyÇAAýqëÖ`µí$"#‡"2r(ÂÂãàÁðós„L¦ÀÒ¥·„v{öÄÁß_ùùÝw=pøpܾ=W®ôÇÏ?·GÆ&¸s''^*3[£:}55l˜ îÞ‚'z¡^=c?†\®¨¼#Q0áAµ¢ôR1cÆàý÷߇™™¼¼¼ðÍ7ß×6oÞŒ‚‚ÀŽ;„óÞÞÞøïÿ KKK´k×®Ì ŽêÜçYsçÎE=`ii‰iÓ¦©\‹ˆˆ(›fΜ KKK´iӦܨˆèÕ²`A(fÍºŠ«WS‘“S xð »wÇaܸóöÍÌT¶ïÛ·,-¥‰*¿Ÿ¾¾Mš˜cùòöHD Ë@q±yyÅøþû›€… Û`Þ¼Vðô4‡T*†••8cï^?8;ãÖ­tüùg¬0fuúV•D"‚««)Ú´±BQ‘yy2­Ç""""R‡ ª7oÞŽ·oß®R3càÀµÜÜ\DFFÂÃÃ…ó>>>*ã=û¹:÷yV‡„c •kÙÙÙebkÛ¶­Joooµã麂5Ú‡?Àƒ¹˜4)ÞÞÿ U«˜0áb¹³þúë>†?ƒV­ E‹4è¶m‹Rû/üUi[—22 ñDZ05ÕÃÊ•¯aÆŽèÝ»Žï…Å‹½Ñ¼¹e…ýKžGO¯êÿ[=“9}:ii…hÝÚcǺ©íci)Å—_¶ìÝ{¿FújK__ùÌ2Ù‹õ{JDDD/?Öð :W’T(M,®ù\œºû€¹¹y­Þ—H×edaÔ¨³HLÌÎ;—ˆ  üïÝдéÓDâ÷ßßÄÆ*ýoßÎÀ×__GHÈc,[Ö^«¶UñŸÿœÇŋɷ?z´'<<Ì*l“•U¹\Aƒ _¿ú¸|9b±nn¦ps3ň®öÏÍUÎðФvG‰âbbb²°té-Èd 4mj==‘PÀ´O§ û¿ñ†ôôD¸y3 EErèë‹«ÕW[R©€ò˜›ëk=ѳøíŽjEóæÍ…ã÷ß …¢Ü_%3,¼¼¼„>×®]S/((¨Æî£Æ ÇÁÁÁ*×BBB´—H\¹’''#ìÙÓ 7n ÂÑ£=Ñ·o}äæÊ°páÓ¢¾·n¥cãÆJ0~k\ºÔAAýáïïKK)þþûNœxXå¶/‚úõMàèh„ààÇÈÈ(Ô¸_a¡·ogàСHDhÐÀ¤Âö2™BØ¥ÅËë/ôëw§N=‚D"Œʿ““•‰§† M+ËÀ@{{#Èd ¤¥V»¯¶\\”ϼaCRS T ¥UgxP­øøãqüøqÀ–-[ТE Œ3ˆGxx8öïßÜÜ\lÛ¶ 0vìXüóÏ?€Ë—/ãçŸÆøñ㉹sçÖØ}´1vìX:t€2ù²téRLœ8111åÆFôª06–`ýúް±1xx˜áçŸÛ£ÿL¥"%¥¶¶8|80eJŒç.ô<¸Äb¦O¿‚ƒ gO§*µ­ªmÛ:WçqÕ‰€U«:`òätî|®®¦(,”cïÞ{èÜÙööew3Ù³'³g+¨––RÌÛVVRï)‹`e%…··5&NlŒ¶m­kìyž§1c\qõj*~û-[·FA*ãömõE[‰ˆˆˆª‚3Ú;v,  |ž5k,--áííîÝ»Wkl¢—]³f–B²£„žž;Úââ”ËÉbc³Ý»—MRtïîø¤mN•Û¾(Ú´±Â™3}°lY{4nlŽ””|÷Ý tér_}u­Âº#úúb89UzÒ»´„‡ÁåËobÝ:_•d‡2¹rïžúe|% dHJʃD"-Õé«-}X[hT¨•ˆˆˆ¨*˜ð Z³xñbœ;wcÆŒ««+ „T „7â·ß~Ú‹D"ìÚµ _ý5ÜÜÜ •JѸqc¬Y³S¦LQ»tqѪÞG"‘{öìÁ‚ ÊÄVz7"*ëÙ¢šUùb[_‚ÿóŸó²M~EEei<¶T*FÏžN9Ò;Ú!0ðMÌ™Ó;wÆ`Ë–(•¶Ã†¹àÆØ²åuäåcöì`­·y-­M+ÀÑ£/ù9}:ÅÅ ´ha%Ôà¨N_m8p{öÄÁÏÏgÎôÆÍ›ƒª5Q .i!)´XXÝ¥KtéÒEãöúúú˜7oæÍ›§r~ùòå±JMªÞÇËË«Üg155-÷šT*Åüùó1þü2×´y7Dºâöít¤¦¨Ìò(.VàÒ%eaІ •5\]•…?OŸ~OOs•1Μyài=‡ª´}‘I$"Œë†E‹nàÂ…$L˜ÐH庑‘:w¶GÿþÎøßÿbqï^N¥R+Ó½»#,-¥ }Œ;cÔî¶’ž^ˆ%KnÞz«AôÕÖÍ›é€éÓ›ÁÙùÅÿ=%""¢—ôB™={6ŒŒŒ0dÈ4jÔYYY8|ø°J’áÝwß…±±qFID¥åæÊðÑG—0o^+4nlŽ„„<,[vQQYðñ±­­2Ò¯_=¬[w+WÞ…‰‰>úô©}}ÎKÂ×_+‹›¾ù¦s•ÛVUmÔðˆŒÌ·ß^ÇèÑnhÓÆ …r¹™X»6r¹å/ýppP.%ÉÈ(ªv,FFz˜=»æÌ Æüùו…1cÜàâb‚œœb\¸„Ÿ~ºû÷sѼ¹%FŽt­‘¾ÚÊÌT=ut¬|IQU0áA/”ÄÄDlݺ .T{½[·nð÷÷ÎQQEÚ··E\\6† ;«rÞØX¹ÃJ‰æÍ-ñþû°iS$æÏ¿†ùóUwc0À½z9U¹í‹@.Wàüù$œ?¯¬$‘ˆ “)p옲øª‘‘Þ¿Q¹ý%±0NM1ÂåaÅŠ0lÝ…­[£Ê´iÒÄ¿üұ̒”êôžî$£N§NveN%äÄbñ ""¢šÅ„½P~üñG4kÖ {öìAdd$²³³accoooŒ=o¿ý6Äb–ž!z‘XXèã?ºâÛo¯#00r¹íÚÙ`Ö¬hÚÔB¥íœ9-áåeíÛ£ž ¹pw7Åðá.*»±Tµm]óô4Çöí±oß}„†>ƃ¹äpu5EÛ¶Ö˜4©‰°´GÚ¨U2uªºusÀÖ­Q LAJJ %ðô4CÿþÎ3Æ R©ú¿O«ÓW[,ZJDDD5 z¡ØÚÚbÖ¬Y˜5kV]‡BDUа¡ ~ù¥£Fm‡mˆ¡CÖhÛ7ê¶Ð¥HøúÚÁ×W¹3Í… Iøý÷X¬ZõšFýKfJde•¿¤åÂ…~UŽ«U++øûûT¹Ÿ¶}µ‰1+«j‹ÌüL´sn‡×]_WÛî×+¿"» b‘“:N‚D,)Ó&·(/o8š9bd둵;©bƒˆˆ´R,+ÆŠó+ÐÓ³çKŸðø3ôOl ܈èÔháÜG¾•›ðØty³-Z¢›{·2m†ÄŠó+­Z3áADDDôœqI ½ò.Ä^@tj4\­\ËMr<ËXß6Æ6Ø}}·Úë»Bw¡¡eÚ “ˆˆˆˆª€ ""zåj= Ç><†Àï1õ‘ˆ%Ü|0NDœ@z^ºÊµèÔhÇcX«aµ.i€ ÌÅ‹±`ÁÄÆÆjÕÿĉX°`=zT³•¸xX°ÐòÏ(NœPªÓs IDATöçŸQ–†ÍW6cSà&„> -·]Ѓ ì Ù‰_~Á¡;‡œü£T¯“k'¸Û¸W¹ßˆÖ#P$+Âþ[ûUÎﺾ zb= n>¸¦B$"""¢*b ÌÅ‹±páBøùùÁÕÕµÊýOœ8%K–`È!ptt¬ù‰.^.üü-þŒâÄ `É`È€FuÆgĺKëTÎ n>? ø‘² gz^:&ü9×^Wig g€Ýf`|ûñ•ÞgßÍ}¸Ÿ~_ã¸Æµ+#+ÛW•§­'Z9µÂîë»ñ®Ï»”Å\ÿúöî;¾Æó}àøçdË”mD"vBĈ&ˆP;¤f•R¿Ò¢F¢è0R¾5ZEKKµªÃhm¢$bF”ˆ[ˆD"2dýþ8räÈp’×ûõê«ÎóÜÏ}îûy®s{„o¦]ívXZ<·÷B!„E“„Ç ¦E‹LŸ>½DÉ!ÊD‹0}zÉ’â•tüæq/ÒºFkj[׿VÒ-üÏû³%| ÕÍ«3Ús4+CWrúÖilmi[»-ffܼw“ë!‹:¦qÂãеC·­«S×çšðx»áÛLóŸÆÙ˜³8Û:³÷Ò^â’ãxÛåíçú¾B!„¢h’ðxÁ´hÑ‚-Z”w3„(\‹Êÿ„x$!%y]çÑË¥—êØ©[§xçwø-ô7F¶‰¶B›„”6Úˆ­±­ªì쇄ß×è½z6艛›Æm+‹o9¿Å×»¿fýéõLë0u§ÖaclƒW /Ò³ÒŸûû !„Bˆ‚½6 ÀÀ@<ÈðáÃ177gÛ¶m\ºt [[[ºw…ú/Å7näôéÓLš4 CCÃÏM™2ƒ|õ›šš²uëV"##©]»6Ý»wG[[9¤ûÖ­[lÛ¶„„š5kF»víÔê>tè 4(ß(ÈÈH‰‰‰Á‚6mÚP¯^½Bûœ’’–-[ˆŒŒ¤J•*tëÖŠ+æ+¿¿?7oÞÄÄÄgggZµj…B¡Ðøþ¾ÖââàÇÁÒ>þXý\ZÌŸÚÚ0q"èñ#Âðá`nÛ¶Á¥K`k Ý»Ã1ÊÆpú4LšOĨêÜ”)ð(FÕê75…­[!2j×VÖÿ(F¹uKùÞ Ð¬<£:0hPþQ‘‘Ê÷‰‰Q¶·M("FII-[”×U©ݺA1J|<øûÃÍ›`bÎÎЪHŒ¾ª›WWKv€rÖu:°óüN.Æ]¤žM=:ÖéÈê«Y²‚w\ß¡†E  zÚz4®ÚX£÷êÙ çóèB©˜è›Ð±nG¶žÝÊ÷!컼!îCÐÖÒ†¬ònB!ÄëëµJxÌ;—&Mš0yòd"""Tç,--Ù½{7®®®ªc7ndÕªU|üñÇ&üðC~üñGtuuÕÚxñâEzôèAdd¤ê˜••›6mÂÓÓSuìçŸfܸq¤¦¦ª]ß°aC°µµE<…µµòþŒ“£G?>7j¬XË–ì€Çk[4i“'CžÅÒvï†<1ÊÆ°j•2ÉRPÂcÕ*7N=á1w.¸¸(“/ymÑvíR&A ‚<1ʈÊ„N®ÂÖðøüs˜7òÄ( |ø¡òú'b”‹•ëxä‰Q¬¬`Ó&È£üü³²OÄ( */£åή¢]Ç«U¬@RzžŽž¬°†ßC§ï_}IÏL§A¥t¨Ów½KÝ O}¯m \½]z³5|+c·Œ%+'‹Þ.²;‹B!Dy{m¹>úè#ttt6lÆÆÆìܹ“³gÏòñÇTêúGމ‘‘#GŽD[[›uëÖqèÐ!FͪU«hÚ´)ܹs‡5kÖ°téR† F£F ­sÉ’%Ìž=…BNNN\»vÍ›7óË/¿`eeÅìÙ³Õ®5jzzz 6 9{ö,={ö$""KKK>àä¤L¨lÞ¬¼VVÊóyzzʺ ” ™³g¡gOe²ÇÒ<€±c•#e¼½¡AåŸÃÂ`ß>åè‰Ñru7ªÀ㹉 S}SÕ±f՚ѬZ3b“c ¹ÂìݳÙ±“µï­EKQôæa/â-ZPÕ¬*'nž IÕ&%ÚñE!„B<[¯]£fÍšìÚµ‹ ”ß$Ξ=›† LRR¦¦¦O©¡hNNNøûû£¯¯Àøñã©S§+V¬àË/¿dæÌ™ª²^^^ 2„íÛ·™ð˜3g6l gÏÇù9B«V­X´h_~ù%FFFªs•+W&((HÕŸÌÌLúöíËÆY¹r%&L 99™´´4† ÂòåËÕÞ3,,Lvy)==eâ IèÓ~ýU™@hØ~ú©xuÕ¬©mñ(F™=[YOp0$%)§£”†““rzÈ£eüx¨SG™œùòKÈ£xyÁ!°}{Ñ G1ʆ Ê„E®#G”SO-RÖ'F©\Y™ÀÉíOf&ôí«²r¥2y”œ¬Lp OÄ(aa²ËË âZâ56žÙ˜o ]vaj`JmëÚŽ<ŒKeŒô”q`clƒ“û.ïcsØf®&\¥¦eÍ"ßëE\Ô#î¦w˜NØí0š;4/“÷B!„E{í“'OV%;ôôôhß¾=çÏŸçÖ­[¥NxLœ8Q•ì¨^½:5kÖäÂ… L™2E­lûöíÔ¦<éúõëDEEѲeKµd€»»;}úôaõêÕ?~œV­Z©õ3o_tttøê«¯Ø¸q#ÁÁÁL˜0[[[Z¶lɾ}ûðóóÃËËKuMƒ J~^Wöö°zµr$B§N`f¦LTxú0}5“'«_£§íÛÃùóÊõ5J›ð˜8ñq²”ÓRjÖ„ ”k~äõ(F)"F¹~¢¢ eKõd€»»2´z5?®L~äšðóS&`r¯‘}aXZ0iû$¶ŸÛNë:D'EãÞŸ¬œ,» VmK»ìð2ŽEÃÃÁstµu‰ˆàÀ•h+´©X¡€õ[žð¼Öð g÷ÅÝ\¼s€Ð¨P¾?ø= +7¤MÍ6EÖѶV[ÚÖjû\Ú'„B!ŠïµKxT«V-ß1ccc222J]¿]þ¹ìFFF˜››«ÀÈ=ÊÅE “˜˜@®YSùmhBB‚ÚqGGÇ|esåÖ °sçN¾ûî;¦NJxx8vvv´nÝš#FðÆoÚ.QˆV­ÀÁ®^U®OQ«Vñë( Fy£<ƒ¥€ÅÈH¹Pê1ªz]DŒ’O…Ä(b”'b”bTu,OŒ²s'|÷L ááÊö·n­\[Dbô…ФjjZÖdÙáe쿲_u¼{ýîŒl9Rõº¹CsNFŸdÏ¥=j×éñe»/±4´,³6?)üv¸*¹‘ëXÔ1ŽEà½&ï=5á!„B!^,¯]ÂCS¹ •&''cee¥vîúõëeÖssåÜó+W®xþòåËùv™¹zõ*Í›7Ïw,o LöL›6iÓ¦‘žžÎ™3gøùçŸñððÀÏÏ.]º<³¾¼FŽT&;jÖ„?þ€Þ½á­·žÏ{å.Tšœ¬\##¯2ŒQrã©åQŒæÛeæêUx"Fy£ä‰QŒaÚ4åéépæŒr!S娉Ñr££­ÃÏ1Ô°¬“]œºr=„ìœlšÚ5¥QõiPÃ<†1°é@Ž\?ÂÕå³®lZ¯^êôe¦~¥úŒñSèù†•ª½þÐýCf>|j½ºZºŒñC%™~%„BQÖ$áQ{{{¶oßΨQ£TÇwíÚEppp™¶ÃÎÎŽàà`¶nÝJ·nÝTçBCCY¿~=*T I“&j×Í;—·Þz @¹†Ç´iÓhÙ²% Ü"7**ŠfÍ” êëëãææ†……Ë—/ç?þ„Gq,_®\{bð`øæåzÿ÷Ê©f(­G1ÊöíÊ@síÚ¥œRVìí•£.‚ƒ•»¼ä‰QBCaýzå'b”¹s•É G1Jf¦2©Êi, œÂ¥\”SqÜܔɓåË•I%‰Ñr£­ÐVKÔ·­O}ÛúE^SA·mj¶yáFKhÒö¼>höFåtµu‹L¤!„BˆçG…ðññaÚ´iŒ;–   ˆˆˆÀÏÏnß¾]fm™2e ü1=zôÀÇLJzõêɦM›ÈÈÈ`òäÉù¦Ëܺu '''|||Ð××g÷îÝ„‡‡ceeÅ AƒåÚ!Í›7ÇÅÅ…ÆSµjUضm€ìÐRÇØ1Êmc—,Q~À_·N9Ååí·•» ä]7ãYðñQ&ÆŽU.þéà ÜÝÄÏll  c”)S”»Èôè¡lW½zÊu?6mRNÙ<9ÿt™[·” ¨úø(ïÍîÝÊ)+VVÊ­qAYGóæÊ­t7†ªU•ScŨìÐ"„B!„(Œ$< ѨQ#ÆŒâE‹øûï¿UǧNÊ•+WXµjU™µeÔ¨QDEEñÍ7ß°mÛ6UBB¡Pðᇪíü’kñâÅLœ8‘eË–©ŽYYY±iÓ&,-•óä«T©Âo¼AHHgΜQ»ÞËËK5"D<Åݻʤ†¾þãÑ  \_bÁåè‹Ñ£•Ó0ž¥F”I–E‹ OŒ2uªrzIÆ(£F)Gb|ó2‘›P(àÃÕw~ɵx±rÕ<1Š••2Iò(F©REyCB”SYòòòz<"D!„B!žðÚ$<Ú·oA[­æž³±±Q;¾páBúõëGPP:::´mÛWWW6nÜH­Zµ000ШþaÆq÷îÝ|Ç ™>}: >žž™™ €¶¶¶ZÙÙ³góÑGHLL ¼ùæ›Ô«W¯À¾xyyqöìY¶nÝJdd$U«V¥[·nT¬øx{{{Ž9ÂÙ³g %::+++ÜÜÜŠÜ&W<áÄ åÔ•6mò/R:òÑ‚qqSôˆ„öíÁÀ à­VsÏ=£,\ýú)Gxèè@Û¶ÊQ&7*Û’'F‹¬Ø0eâæI††0}ºr[Ü\b”'b”ٳᣠ0PÙW xóMåh‚úâågÏ*§ÁDF*Gotëyb{{åÖ¶gÏ*§ÇDG+“"nnEo“+„B!„xí)rrrrJzqŸ>}X·nÝ3kÐënذa,_¾œ°°0ê××|>ùëN¡P0nÜ8,XPÞMyõ ¦\?#, ^ã}ÞÿÅÄÄœœ¬QÙÿ5fÌ[.]ºü\Ú"„Bñ,­üð‡bʹ%âEgll\ª¥^›/:???¶lÙÂü™™uêÔ)ï& ¡Î϶lQ.jf£B!„Bˆ˜$<^~~~üòË/hiiñõ×_£««[ÞMBŸüò hiÁ×_ƒÄ¨B!„â& „õë×ÇÓÓ“Æ—ws„ÈÏÇG9…ÅÓS¹cŠB!„B¼À$áñ‚ðññ)ï&Q4‰Q!„B!ÄKD«¼ „B!„Bñ¬IÂC!„B!„¯Ix!„B!„â•# !„¢„>øçfÎzê±—I\rýWõgeèÊònŠšWñ^—5¹‡B!^7²h©BQBGo%-#í©Ç^&éYé„Ü¡ŽuònŠšWñ^—5MïáÀ5q²qâóvŸ—eó„Bˆg®T øøx¢¢¢øä“OžU{„(±ÀÀ@‰EQfN:…]y7Cˆ×ÚŠwV`¬o\ÞÍx©tCn„ P(Ê©EB!ijSª„ÇÅ‹‰ŠŠbá…Ϫ=B”XXXaaaåÝ ñIMM-ï&ñZkV­Yy7á¥'÷P!Ä«¬T Ö­[÷L#DI) ÆÇ‚ Ê»)â5ѧOŸòn ã^Ú=6…mâxÔqî§ßÇÞÜžµ;àéè @FVï¯}·jn|ÜòcVŸXÍáÈÃdçdÓÔ®)›ÄP×PU_Lr Ÿlù„Žu;2ÈmÚ{åžó®çÍÀ¦UÇc“cYwzâ.œžŒ]E;<«{Ò¾vûbS•ž+û8xõ ׯ£­¥Më:ôv飅c‰ïSdb¤ªYÙYÔ°¬A¯½p²uR•™°móßš¯:–”–Ĉ#ÈÉÉaa÷…ØÛ¨Î}¶ã3¤?àûß«ŽÝK»ÇúÓë9qóÉ“±5¶¥SÝN´­Õ6_›NEŸâŸSÿp3é&•M+Ó×µ/VFV%ê_qŸsqîKa>øçjXÔàËö_ª/*&S3R±qðí䛯ÎÔŒT†oN-«ZLm?µD÷¢´4‰ç’Þï'彇çãÎãàKVva·Ã迪¿ªÜÔSq²yú3B!^$²†‡Bˆ;uŒG’ðøàUXu|SÞœÂ÷!dçdr#c}cÿ=˜#רŠî¹´‡g6²ö½µ˜W0 -#­Ð5$rÏ9Û:«Ž]ˆ»À;½Crz²ZÙUÇWñŽë;|íýu±úÔuŽES;¶çÒV„¬`qÏÅ&žfGÄÆoOFV†êØþ+ûù=ôw¦¶ŸªJÞèéè±îÔ:¦¼9kckERݳƒWÒË¥wSï²áô|œ}Tuž¸y‚a뇑˜š¨öþÎl kf{ÏV[z=ŸïøœìœlÕ±g62ÁkB±ûû9羦 õ'4‰Ió æ¬>¹šÁo ¦ºyuµë·žÝJðµ`Þr~ë©}þz÷ׄÝÖ|dá·o}KÓ*E–Ñ4žKr¿ ’÷ÞO¿OÈ@™hËýsîk!„âe# !„%r7õ.møˆ»©wq­ìJ×>T6­ÌÍ{7 ¸Àýôûjå\9€±¾1“ÚL¢¶UmnÝ¿Åò#˹™Y³ÔF5ÇÚ“kINO¦MÍ6ôhЃŠ‰ºÅÁ«óµAÉéÉt¯ßfÕšagfGZfçbα2t%¾»|‹ðˆIŽáS¿OÉÈÊ sÝÎt®×]-]ö_ÙϺÓë˜8“¦vMq¶u¦eõ–¬;µŽàkÁôhÐP&9¬­1Ö3&øZ°*áñ_ädçdãYÝSÕîá†s7í.=ô MÍ6˜˜qýîuV]ɺSëhnßœnõ»Í4ÿidçdÓË¥mkµ%+;‹;øîÀwžgyiúœ‹s_4¥iL¾ïö>ÛÎncÕñU|Ñî µ:V_……¡…F ˆ¸µ¤ÀÓ¤f<}\qãùYþ\Õµ®Ëªþ« \´TFw!„xIÂC!D‰l ÛÄÝÔ»t¬Ó‘{ý¨v®ãþù>œåÃýþPûë]Ï›?w`û¹íÌì%ž‰­'2¼ùpµ6t©×…Ö?¶fcØFºÕïÆÖð­<ÌzÈàfƒÕ>ðwuêÊ¤í“Øxfc±ï[.MŸsq4ÉFUáZÅ• g60Þk<t+püæqÎÆœeT‹Qèëè?õý>{ó3’Ò5±§î€âÇó³ü¹2Ñ7ÁÝÞ…BY3ÜíÝ5ºN!„xQIÂC!D‰äåâ>¤Àó&ú&j¯lœò}[o^ÁœöµÛ³þôz.ݹDÃÊ ‹ÝŽw¿Ë¦°M [?Œ zРRêZ×E_GSÓbÕ••“Å'[?Q% r?ý~±±ôsíW`Û\Ĺ˜s€ò~8Û8sðêArrrˆ¼IÔ½(>ñú}þ<ö'q8Ù8|-˜ZVµ°5¶àdôIv]ØÅ¡ÈCäääÊĹ¾€óqçèÓ0ÿZ4}ö)UÂCÓç\œû¢©âÄäûMßgü¶ñøóS݇UÇW¡£¥Ã€&4z?MÖ)®âÆóóú¹B!^’ðBQ"i™ÊyÿO[# WaÉ33Ò3ÓŸZGVvV¾cŽŽ~ÈÖð­ºvˆ!+ˆNŠÆÓÑ“Im&Q˪–FíØ¾ «A8˜;ð^“÷p0wÀP×…BÁÇþÀÿ¼¿*y ©Ü~åý¶>—™ …B­ï­j´béK‰ˆ‹àXÔ1 žŽžè £¥CЕ ôµ•£Mò.êšò0€S·NÚ==àñ³+è™ä>’Òô9÷¾h¢81ÙÅ© söÎá¯cѧaRرïzÞj Ãåy¬áQÜx~?WB!Ä«JB!J¤²IeBo„j´{É…¸ dde «­«vüÌ­3Øš(G*ä~€S[t2·Ž; ¬ÛÌÀŒMª¹ŒMŽeø†áüßÚÿcïð½MO€ÇÉ‚Å=ç[³`Á’í•ûáùô­Ó8˜;¨;sû 999ª¾xV÷déK9på'nž žu=, -h\µ1ÁׂUS0ZVo©º®²©òyøvô-4É“;]ÂÆHÙ¦ð˜ð|£UÎÜ>S¢~æÒô9÷¾h¢81©£¥CÿÆýY´“Ñ'9y˜‡YÔlÆï÷<Öð€âų¦÷»Xr(vbO!Š+'Ï¢ÙB ûðÛÑßðYáCm«Ú¤g¦s-ñ lpãî µ²û/ïgVà,ŒôŒ°¯hžŽWâ¯p?ý>æÌ‹õ¯M6, ^Âô€éüò+æ†æ\K¸FRzõmë^ìûôfÍ7ñpðàpäaºýÖêæÕÑÕÖårüe2²2¨mU›·¾­*¯«­ËÕÞ`ÿ•ý€2ɑ˳º' , øZ0oT{C5ÒàjoÐǵëN­£íÒ¶T«X +#+’Ò’ˆºEzf:y|DW§®¼YóMWm̉›'è¼¼35,k•ŵÄkÔµ®KLrL±û™KÓç\Üû¢‰âƤ¥¡%>Î>ª5K&¶žXXÕzkx7ž‹ós¥)g[gG¦ÍOm¨jV ¦v˜*;µ!ž©J•ºsùò|z÷îMË–-:t(-[¶|ú…BƒŒðxN&NœHNNmÚ´)璉ګԗ×ÅÄNÉYžC›ºmÊ»)¥ö*õåU4¿Û|F{ŽÆDß„ØäXNEŸ".97;7Õˆƒ\ŽŽ|ßã{´Úœ¾uš¸ä8LôMøÚûkºÔë¢VvtËÑx:z’‘•ÁÙ˜³\I¸B纙ÕyV¾6 n6˜–Õ[’’‘¹ØsœŠ>Åýôû¸Û»³²ßJµ¤ÀÓ¸Vqez‡éTЭÀõ»×9} …BÁÜ.sÕFS‡B¡`YïeÊï9Ê‘*±degѱNGþêÿ:j×ä&9*èV ©]SÕq—Ê.ªQ(y!¹þ×ù|ÞîslŒm¸q÷'nžàrüe²s²éR¯ >Î>hki³üíå¼YëM2³3¹wËñ—iáЂÙ]fç«·84}Î%¹/š(NLªuPlŒmð®ç]â~?+Åçâü\iêÓ6ŸbmlMtR4Go%äFH‰v<Bˆ¢T­ÚŸíÛ·ó믿’Íûï¿Ï[o½%£ÊÅ3%#<„B”˜¶B›±žcù¸åÇ\ºs‰´Ì4ª™UÃÂТ "%m IDATÀòík·§õÇ­¹xç"Ù9ÙÔ±®ƒž¶^¾r¦¦¬ì»’¨{QÄ&Çbgf‡± i™i¬ê¿JmÝ ¯^xÕð"%#…ÈÄHrrr¨lZYãÅTŸ4 Éz¹ôâjÂU(¨eU ]m]®ß½NÛZÊ‘¹V¼³c}cµë :f¤gÄœ.s˜Ú~*Wâ¯M6 \° —K/œm1Ô5T»?Z -þè÷÷ÓïSǺN¾ë´Z|Ðì» &òn$ ) XZPÕ´j¾5*V¨Èò·—“Cô½hlMl©bZ…ôÌtVõ_U²µÑô9ç¾hz¯‹“¹ú7î¯Zã¤<•$ž5½ßšÞC×Ê®uKw.‘”–DvN¶ŒîB< …///¼¼¼çÇdÈ!´lÙ’)S¦àä$÷ˆÒy!Fxœ={–nݺaff†©©)]»v%""‚Aƒ¡P(¸sçŽZùû÷ï3mÚ4œ©P¡¦¦¦´mÛ–]»v©•›2e …‚“'Oòûï¿Ó A pppÀ××—ììüsSKR÷Ï?ÿŒ‹‹ úúúLœ¨>ZغÉÉÉøúúÒ°aCŒŒŒ°¶¶¦S§Njt¯nܸÁСC©V­zzzTªT‰þýûQhû–,YBݺu100 FÌš5‹ÌÌLUÙöíÛ3uêTZµj…B¡@¡P¨FtÖ—’´EÓçP–ÎFŸ¥Ûân˜1Ãt´)]¿ïJÄíý6ÅPw’Ÿˆ¿´ûLÛ2 çiÎTYÓѦ´ß–]gŸˆ‘ SP UpòÆI~?ô; ¦7À`„“ðÝæ[àÜè’ÔýóŸq™á‚þ}&®{…¬{‘œžŒï6_ÎhˆÑ(#¬?±¦ÓÂNžÓ0þn0ô¡T›T ½ázTšP‰þËûqû‰gž§}Kö.¡î—u1a@Ïj0kû,2³óÄßw홺ùQüÍm…b¨ÅPm¾iSd_JÒMŸƒ(>m…6u­ëâZÙõ©,uµuq¶u¦A¥~(ËËÎÌŽ&U›¨¸4Ð1ÀÝÞ=ß"—†º†ª-:KšìÈUA·ζÎ8Ù:©öíq·wWû†½Yµfù>t,—‘ž.•]p­ìZh²”‹VºÛ»ãRÙ%ß9g[gÜíÝ‹ì£B¡ ºyušTm¢š*R[c[Wm¬Z_B_Gw{wª›W/ôMç9kr_Š{¯5‰É¬ì,fï™–B‹>®ù·è-OÅgMîwqîaîýkV­îöîÅÞâY!Š«~ýú,Y²„ 6––F÷îÝ=z4ÑÑÑåÝ4ñ+÷¯2"""hÑ¢÷îÝSû÷ß9räM›6ÍW>11‘V­ZþxuZZ{÷îeß¾}üùçŸ 0@íš~ø+V¨^_¿~3f¯¯o©êž7okÖ¬Q½.êÃ{||<­Zµâܹsªc)))@FF::…?’«W¯âááAll¬êXLL kÖ¬ÁÏÏ={öàææ¦vÍܹsY»v­ZS§Nåüùóüù矅¾×Ó”¤-š>‡²q;‚sZp/5Oüù—#WÐÔ¡€øKI¤ÕÜV„G牑Œ4öFìeßù}üù០p"þöüÀŠƒyúp[g“o7ßRÕ=oç<ք䉿">¼Ç'ÇÓj^+ÎÝÊS <€ŒeE~»yõÎU<¾ö ö~žgžÚ5øöcÏ„=¸U"þvÌeíѵjuLÝ<•ó·Ïó燥ˆ¿´EÓç ^MC×åAúƒ"Ëé±üíåeÔ¢—‡¦÷nqÅeÔ¢Ò;{Ž™»frãÞ n%Ý»ž7¶Æ%Ñ"„âÙquueíÚµìܹ“¹sçÒ¥K¦L™B¿~ýÊ»iâ%Tî#<&L˜À½{÷èÚµ+gΜáÁƒ?~œ† ¯üĉ §W¯^=z”äädâããY³f +Vdôèч²4០ÜK½G׆]93ã –<àøÔã4´kH@xñ·n"áÑáôjÒ‹£_%yq2ñ ãY3l +TdôêÑù>¬>²šïßýžèo£Iú!‰¿†ü…Ž–‹÷<%¨{Ãñ Ìg>QßD‘³<‡ïÞ)"þþǹ[çp©ê‚ßh?b¿‹%~a<ŸÐΩ žkÇ{?¯:^„~ʃ%÷U¶÷~Ú}†þQ@ü=j_ô·Ñ$,J`õÐÕXYð×á¿Ø}îQüdfGñ79ˆœå9ä,Ïaß§ûži[4}âÕz#”!Eþz£d»°¼ê^Å{—”–DÈn%Ý¢†e >oûyy7I!D …oooüýýéÛ·/Ó¦McÔ¨Q$&&–wÓÄK¦\Gx$''ãïï½½=ëׯÇÀ@¹8YãÆÙ´iµjÕR›Î’žžÎš5k¨_¿>ëׯW%ŒŒŒèׯ Œ5Š   :wnÚ´iŒ=ZõzÀ€lÞ¼™õë×sãÆ ìííK\÷'Ÿ|ÂøñãŸÚ×ÔÔTÖ­[‡……»víÂÖöñ7I:t C‡E^ÿàÁvìØ Û¶mÃÔT9´ÔÙÙ™¿ÿþ›FqòäI.\¸@:çu7N­}ï¾û.YYY 8õë×Ó®]»§¶ýYµE“çP–’Ó“ñ÷ÇÞžõÃ×c û(þì³iä&j}^Km:Kzf:kެ¡~•ú¬ž'Fôè׬ µjAƒèÜ OüùLctÛ<ývÀæ›Yl=7o`oa_âº?iÿ ã;h©¬ ]‡…‘»ÆïÂÖ4Oü9w ƒóSâ/ý;ÎìÀÆÄ†moô£g^Å™¿?ú›F¾8yã$b.PÇ6Oüµ§Ö¾wßx—¬ì,þ:õÇÖÓΩñW¶hòÄ󡫭˪þ«J=ͤ4–÷YNVvV‘e´µ´Ë¨5/MïÝ‹ðœ5ådãĪþ«050¥¶UíbíŽâz™î·B””¾¾>Ÿ}öo¾ù&“&M¢K—.Ì™3‡Ö­[—wÓÄK¢\ÿ…¿víYYYxyy©’¹ÌÌÌðððÀÏÏOuìÊ•+¤¦¦röìYtu•ó‘sG#äþ”S%ò*hw‘5jÊ5;JS÷Ó¹®^½Jzz:ÞÞÞjÉM]»vÌÌLZµj¥J0äÒÑÑ¡S§N„‡‡séÒ%µ$C§NùW¤ÏMØ\ºt©Øí(M[4yeéÚkdegáUÇK•ìÈeVÁ øÎqWHÍHåì­³èÏ#<# OÄ_»‹Ô°~Ôï´û¥ªûi‰Š\Wã®’ž™Ž·‹·Z²CS×⯑™I«Ú­T †\:Z:tªß‰ðèp.Å^RK2tª_@ü=JØ\Š-aü•°-š<ñ|h)´p·w/×6¸Ù¹=½(Pqî]y?gM™˜¾4m-Ì‹ðs%„eÅÃÃíÛ·3cÆ † Âøñã>|øSGÈ ñB|¥QX >9ÌnÕÝ88ùÇßs¬ÀÑZYÿ‹ˆ½‹I1ãϲ::Z:] ")5ImdEVvg=s›'â/Ü?ß´•aâÏ:Oü)Å_–ñW¶!„Bˆ—߀¨V­£F"%%… ¨Fè ñ¤r]´ÔØØ˜Ž;Iß¾} '%%…S§NÑ»woâââÔÊÒ¯_?‚ƒƒéß¿?‡æîÝ»¤¥¥ÁÊ•+iÞ¼9éééÅnË󬔣úôéC||<;vdÇŽܹs‡ÄÄDvíÚE‡ŠYbdd„··7111ôèуãÇ“’’¹sçx÷Ýw £Q£FjSH.\Èwß}ÇíÛ·ILLdÍš5Œ;€·ß~[UÎÂB¹eŸ¿¿?)))Eö¥¤myÑëÓѹ#‘ñ‘ô]Ö—ðèpR¦pêÆ)zÿÔ›¸ûOÄŸž!ýÞèGð¥`ú/ïÏá+‡¹›r—´Œ4"nG°òÐJšÏnNzf âï9Ö Ê-6û¸õ!>9žŽ :²#lw’Ȯ³»èð]‡"çèéáíâMLR =~ìÁñëÇIy˜Â¹[çxwù»„Ý £QµFjSH.ä»]ßqûÞmSY²†±kÅ_Ó<ñgô(þÂýIyø”ø+a[„B!Ä«ÁËË‹+VpðàA&NœXäN™âõVîSZæÏŸOpp0[·neëÖ­ªã–––´k׎ݻw«eì,XÀ©S§X³fÚv°y•txúó¬;·þN:E—.]Š]÷Â… 9rä{÷îÍ·e¯±±1Ë—çßN±W¯^L˜0 &¨0`€ÚÈÖ­[£P(˜3gsæÌQ+l§–’´åE4ÿù_fë©­l=•'þŒ-içÔŽÝçv£«'þú.àÔS¬ Y£¶l^%Ž¿çXwný!WC8uã]<%þú.äÈ•#ìØKÓ™O˜˜`b`‚woN>HfV&:Z:˜ä‰?Csþûì?æ½=¦M1Ö7ÆPÏç*Î m5”#ŸÉ·ª¦žgÝVÆV„|Â]¿ ^¥zèëèccbCç øÔ] jX× ôËP>ôüª«¢£¥ƒ‰ ýšõãè—Gq«^@üyOaQ¿EÔ¶©žŽŽVŽÌì1“•¬T+çTÙ‰_ßÿç*Îèéh%h‹B!„xµ¸»»3oÞ66–µk×âî»ûsj峓ͩS§8rä>¤{÷î888yͱcÇ8}ú4ÙÙÙÔ¯_Ÿ7ÞxCµSç³(Éñãlj‹‹CGGkkkªV­Š««k¹müB$<¶lÙ‚ 8yò$qqqT©R…nݺ1mÚ4ŒË»yâ·eÔ.àäõ“Ä%ÇQŬ ÝucšÏ4Œõ%þ„/—ºóêânïÎýþ(ï¦0Õ*ÛÏm/ïf!„x 4iÒ„öíÛ³hÑ"Þ|óM …Æ×ÆÄÄðý÷ß3f̘>ááëëËöíÛIHHPkÔ¨Q¡ ÔÔTFÅÔŽç.újjjZªòçϟ端¾âÈ‘#¶Á‚÷Þ{1cÆhÔÇgé…Hx´k×NmÇQzyw[EkçÔNmÇQzszÏaNo‰?‘ß™ gÊ» ¢ ™˜áãäCÛZmIÍL勲‚¾BˆçgäÈ‘ôìÙ“ÐÐPš5k¦ñu¶¶¶/E²`ÇŽܽ{—F‘žžÎ¹sçŠ,?}út8@ÅŠñññAGG‡ÿý—£G2iÒ$–.]Zªò¡¡¡ <˜ÔÔTŒŒŒhÙ²%ÕªUCKK‹ØØX¢££9~ü8{öìy}B!„xõ|Õé+ÕŸwžßYŽ-Bñ:pqq¡~ýúlذ¡X ›rù0^3fÌ Y³fXZZ2cÆŒ"QQQlÞ¼6oÞ¬ZÐuĈ¼õÖ[rîÜ9œœœJT>55•Ñ£G“ššJ÷îÝñõõ-p†ÆÝ»w9yòä³¾‘„‡BˆËÎÉfEÈ Öž\Ëͤ›T2©DÿÆýñ®ç]`ù‚Ö§Ø{i/¿…þÆ…¸ $§'SÕ¬*­[1Ôc(¶ÆWå¾–xUÇW|-˜ë‰×ÑÖÒ¦ŽuÞmô.½\zø~Q÷¢øßîÿq8ò0YÙY¸UsãÓÖŸâdë¤QÿBn„ðË‘_8~ó8ÉéÉT2©D§ºÝrt‰¦¼½q”GWp<ê8÷ÓïS­b5:ÖéÈ÷!˜˜z&} ¥ß_ý8tíµæÔR]¿ªÿ*Üí_üo­„BˆÒòññaùòådgg£¥¥EFFAAA\¿~œœhÑ¢ªk ZÃã§Ÿ~"##£Ð÷8p æææª×YYYü÷ßœ?žÌÌLiݺ5úúúÏ´;wÖ¸ìž={ÈÎÎæwÞQÛ½ÆÒÒ’÷ߟo¾ù†]»v©Å-¿nÝ:âââhÚ´)ß|óM¡k|T¬X‘6mÚ” ·¥' !„%6=`:kN¬Q½¾q÷s÷Î%üv¸F×ï½´—¡ë‡ª»™Ëñ—¹}ÿ6‹{.V¶~W⯨•=qó'nž 69–á͇«»—v¾ö%&ùñ–w® ôF(¿÷÷S“kN¬aZÀ4òîÞu/Š_C~åеCü3ð*èVШŸû“¯¿R«ïrüe~úï' ã½ _$¹¸}/®ÿ[ûºvHãòþCý©iY³Tï)„B<žžžÌ;—óçÏóðáC†N\\œZ+++-Z¤Jn´†Ç?þHjjj¡ïóÖ[o©§NbìØ±DEE©•©\¹2?ýô 4Pûá‡Ô~(Š¡¡!C† ѨlArG4UÇÃÀˆˆˆ—ß¿?ƒ zꂦåEB!Jäô­Ó¬9±c}c¦¶ŸJ»ZíÈÌÎdçùÌÞ3[£:/0Þk<}ö¡b…ŠDÝ‹"øZ0‘‰‘jekYÖb¨ûPÜìܰ3³#-3ˆØ¦ùOcéᥠõжâñ àGo¥Q•FüØëGêX×!:)š°óüN|wù²ö½µ…¶ëÆÝøîòÅTß”)oN¡MÍ6˜U0ãzâu\ÄŽˆüú»Æ‰†« W™µ{Z ->tÿ> ûPÙ´27ïÝ$àBú:Eû£IßÝìܸ4åÒ µh©BQÖêÖ­‹çÎS@prrÂÃî]»ÆÁƒ¹páB‘kvŒ92ßôôt~ûí7ˆ££#7oÞdðàÁ$%%áêꊫ«+zzz„……qøða†Ê®]»TS=/^LVV–F}±²²*UÂ#7ÑS¥J•|çªV­ (G·”´üåË—hذa¾ò6làæÍ›jÇ €¥¥e±úPZ’ðBQ"þçýø´Í§ôvé­:þ^“÷¸—v<µŽJ&•è^¿;ÖÆÖ8Z8âhᘯ¬oG_~úï'–þ·”[I·x˜õPíüÍ{7±¯h¯zm¨kȲ·—ai¨ü‡µ¦eMv_H×_»Êw°2²*°]›Ã6“™É¬Î³Ô¦çÔ²ªÅÂn e×…]'<¶„o!+;‹‘-Fªä¨iY“ÍG<õúâö½¸$9"„âU¡¥¥…££#W®\!!!GGG¶lÙ¢6!!!Am—“‚Œ¡þïsFFÇçwÞá³Ï>SÿùçŸIJJÂ××—¨]³råJfÍšÅÖ­[éß¿?üq±Fx”Fzz:@Ójrå–)Iù`bb’¯ü†  Q;Ö¹sgIx!„x9äŽÀhåØ*ß9/G/ƒ› &äF]Wt¥uÖ4¨Ô€•àf熮¶®ªÜ½´{ôú£·’nZWZFšÚkg[gU²#—Ž–Íšs9þ2‘‰‘…&<.Þ¹À¸­ã·uœê“rTV ùvw—ã•߀x×-xm“¢”¤ïB!ÄëÌ‚ÄÄD:uêÄŠ+øçŸhÛ¶-666ªó×—••Ř1c°µµeúôéjç:„¶¶6 ,Y²„œœÇ¿+ä&Μy¼KÝèÑ£KÛ=”¤ÈUPr£¸åŒŒHLLäþýûù¶«íÝ»·jŒŸŸW®¨OÍ-+¥Jx>|˜¨¨¨bíq,Äó²páB.\XÞͯ‘¼‹9‰’1Ö7æÏwÿäBÜŽ\?BDlëO¯'!%gÐÕ©+ÎlàVÒ-:ÖéÈhÏÑ8˜;PA§ …‚©þSÕÖÑTQÿveçd•]øÓ'GY”ö= ó<úþ$YÃC!Ä«ÄÈȈ””fΜ‰½½=›7ofÖ¬YÒ¸qcºwïN—.]4ª+++‹O>ù###fÍš•ïßò„„²²²X´hQ¡uÜ¿_õç²\ÃÃÚZ9z6::šzõê©Ën’[¦$åkÖ¬ITTgΜQMyÉÕ»÷ãÑ¿gÏž}9µkצB… tíÚõYµGˆY¸p!õë×§C‡åÝñšØ¾}ûkŸðp0w èj«ád !„¯’ÄÄD\\\Ø»w/^^^hkk£¥¥E5¨^½:þù'6l(2á‘““×_~ɃX¼x1ÚÚÚ–kÑ¢ÿý7tïÞ=ßùˆˆµ5.Êr ¶mÛ2sæLÖ­[ÇÀU_ÖÅÇÇóû│}a\Üò}úôá§Ÿ~"44”Ï>ûŒiÓ¦add”¯Emïû¼ÉB!J¤aå†¼Ûø]ÖœXÃäí“ÕÎù8ùàwÎï©uܾ›u§×ñÃÁòs¶u¦–•ò‘·œßbÉ¡%¬?½žõ§×«ÊëÓ¡Nv]Ø•ïúfÕš™Iï?z«7Ô5dz‡éùÊçUݼ:3;ÏdªÿT>ÛñYe>òøè©ýËåháÈçm?gÖîY,ýo)Kÿ[ªv~d‹‘…^[ܾ{Ø{àwζK3³ªÿ*Üí _‰þyùçÔ?|¾ãsµcË/cÙáe€rÛg”y»„B¼Únß¾µµ5£FÂÜÜœ&MšP­øž…G IDATZ5222TË2<9eãI¾¾¾lݺ•Aƒ±dÉ’|爹¹9#FŒ`çÎL˜0ß~û WWWLLLˆ‹‹ãÂ… œ9s†+V¨¦|”v Ο?ÀéÓ§زe 'Ož K—.ª%vvvôìÙ“7Ò£G|||ÐÕÕeûöíÄÆÆÒ¾}{µÅ-ohhÈ?üÀ|À† ð÷÷§eË–ØÛÛ£¥¥E||u¬ë°âè Nܸ¹¹1oÞ¼|õ·|³fÍøçŸøê«¯8zô(þþþjçµµµéÙ³'“&MR[ÿ£¬(rJñ›PŸ>}X·nÝ3k%¡P(7nœLieæyÿýCrr²Feÿýט1cl¹téòsi‹B!ij4z´-?üóÌëÞ¼y3Ÿþ9'OžDOO¸¸8BCC¹qㆆ†8::Ò¼ysµõ&bccY»v-îî»Çš5E/ ž;Â#WNNÇ',,ŒÔÔT*UªDݺuÕFD< yGx$ï¼BCC9}ú4ÙÙÙÔ¯_ww÷"×Ü(nyP&›Ž;F\\ZZZT­Z•æÍ›—jd‡±±1¶¶¶%¾^Fx!„B!„x%üûï¿xxx §§(wñö.z[xÆŒ£zmmm­öZ …‚¦M›Ò´iÓâ7º:uêD§NŠ}››nnnÏ­<€ƒƒÅmÚs% !„¢„/hÌýôûE–1Ñ7áÄ''ʨEB!Äë+..Žýû÷³páÂònŠxA”é¾1ÞÞÞŒ7®,ßò¹y•úR/cÿ½½70nÜžònÆ3ñ*õ¥$^÷þ !„BˆüV®\‰©©)íÚµ+麗D™Žð "55µ,ßò¹y•úR˜víÚѨQ#æÏŸŸïÜËØÿ  (RS3Ë»Ïīԗ´k÷Ù0~›|ç^‡þ‹—ƒŒÜB!^ 111üñÇŒ?^5Eˆ2MxìØ±Cmâ—Ù«Ô—Âìß¿…BQ๗±ÿ;vôÆÄäÕøËïUêKaöï¿A!á÷Zô_!„BhnîܹXZZ2`À€ònŠx”i£U«VeùvÏÕ«Ô—’xûߪ•]y7á™y•úR¯{ÿ…B!Äc[·neÛ¶müüóÏ2ºC¨)Ó„‡··7uëÖÍ·ˆÌ¥K—øõ×_ #++‹zõêñþûïãêꚯŽÄÄDV¬XÁÿýGRRU«V¥wïÞøøø¨Ê<|øŽ;âé鉯¯/¿üò þþþ¤§§Ó¼ysÆŒƒ©©i¾º9¯¿þJdd$vvv :”êÕ«Ó¯_?zþ?{wÓÙ>~ü3ÙCv‰ " b©ô±4¥¶Ø—¨ÒV7m¥ }ú¨zøUùR»R­jU-‰¢ÕÚk)%HlÙ- "²ÉÌüþÈ“ad’ÌLÓêõ~½¼^uÎ}îsÝwN¦Î5ç\÷ÀL˜0¡Ì±{N}ÆS}æïáø¦NÊòåˉŒŒD©TÌØ±c±³³ 66–qãÆ¡T*ùã? Ñô³`ÁZµjU©Ÿ¥±sUY½zm¢Ig,èúHÌ·ùæ›XΜ¹‰R©Âßß…—^jNË–¥×‰ÎÊÊgÕª39r•ìì<<ì<Ø—ÐÐFOÉsÏEìÁôéÏðõ×§Ù¹3‰‚%íÛ×cüø§pp(ýA|ìØ5¾ù&–äälê×·çõ×[àííÀðáÛ8З ž*s,ÆžSŸñTDŸù{8¾©SÛ³|ù)"#SP*Õ{0vlkìì,ˆ½É¸q{Q*ÕüñG:!!4ý,XÐ…V­jWêgiì\ !„Bˆ¿žääd>ùä^|ñEºtébêpÄ_ŒB­V«=xèС„‡‡ëÕÞÎÎŽ   öíÛ§ÙÎÈ‘#),,ÔjkffÆÂ… yçw4ÛŽ9B¿~ý¸yóf©¾_yå¾ùæòóó±µµ¥oß¾¨Õj¶mÛ¦Õö©§žâÈ‘#ZÙ¿U«VñÚk¯ñðt˜››3kÖ,>üðCÆŽË’%KÊ‹1çÔw<åÑwþJâ %''GëgàïïÏÁƒquuåСCe>ÁIHHH¥~–ÆÌUE ï¾û.óçÏ/³ÝB‚‚ê°o_ØC1ŸgäÈß(,T>³‚… »òÎ;­5ÛŽ¹J¿~›¹y³tí’W^ ä›ozüo|EØÚ. oßF¨Õ°mÛåGÆçΑ##°²2×l[µ*–×^ÛÉÃ¿ææ fÍêćîgìØÖ,Yò øÒ£c1æœúާ<úÎ_I|¡¡ÈÉ)dß¾T­öþþ.<ø<®®¶:t…Žu¯{FHˆg¥~–ÆÌ•.†~þ*==œœ½Úþö›ãÇ»séÒåŠ !„B˜Ø¸qî,^œ^©~nܸAXXNNN¬_¿^žîxÙÙÙáîînôñu•–G]¹r…—^z‰ÂÂB̺uëØ´i“&ñ0aÂNž,.—Í€ÈÌÌdÔ¨Q¬[·Ž;v°téRüüüXµj?þø£Vÿ;vìàøñãÌ™3‡_ý•¯¾ú ///Nœ8ÁÆ5íRRRxûí·Q«Õ¼ôÒKDDD°~ýz† ÂÇlИô=§1ã©Ìü•عs'§OŸföìÙlÛ¶/¿üâãã™8q"DFFbffÆSO=Edd¤æO«V­ª,}窺\¹’ÃK/m§°PÉàÁ~¬[ʦMýyíµÀÿÅü;'Of]È€[ÈÌÌcÔ¨¦¬[ÊŽCXº´~~άZË?Æ=2¾DŽ¿Æœ9ùõ×A|õÕsxy9pâD:7ž×´KIÉæí·÷ VÃK/5#"¢ëׇ2dH>þø AcÒ÷œÆŒ§2óWbçÎDNŸ¾ÁìÙØ¶m_~ÙGâão1qb$®DF†af¦à©§Ü‰Œ ÓüiÕªv•Å¢ï\ !„BÓ8~ü8III:÷ݽ{—W_}sss¾þúkIvë+-úá‡ÈËË+õ4àAƒðôôdÚ´i¬\¹’eË–±fÍ222øì³Ïøè£´ú6l 6dõêÕŒ1B³Ý‚àçç§ÙÖ¸qcºvíJTT#GŽ`íÚµ0iÒ$­IÂÂÂxõÕWYµj•ÞcÒ÷œÆŒ§2óWB¥R±gÏZ·~ðäÂ!Cð÷÷gÆ |ùå—8::‚B¡ÀÙÙYë•–ªŒEß¹ª.?üp޼¼¢RO3 ä‹§§Ó¦fåÊÓ,[Ö5kÎ’‘‘ËgŸuä£Újõ3lX6üŠÕ«Ï0bDÀCã3ãÀçñós~h|Ntíº‘¨¨«ŒÙ€µkã((P2iRÖŠ$aaþ¼úêNV­ŠÕ{LúžÓ˜ñTfþJ¨TjöìFëÖC†øáᅧ âùòËî8:Zâ‰BÎÎÅÿ]cbÑw®„B!ÄãÇk¯½F§NX¼x±Ö¾ŒŒ ^}õU²²²X¿~=...&ŠRüÕ™4áqêÔ)ÆŒSjߘ1c˜6mš¦Í±cÇØºu+{÷îÕ¼z¢V«5ÿ¯ÕGPPÖÍ4@›6mÈÌÌÔl‹-¾¡=zt©8^~ùeƒúžÓ˜ñ<Êù+ѪU+­d€««+ýúõãÛo¿%..ާŸ~ºÂqVE,úÎUu9u*ãñµ(µo̘–L›vXÓæØ±klÝz‰½{“5¯ž¨Õ<ôóº¥ÕGPP­›i€6mê™ùà5’ØØŒݼT/¿ÜÌ „‡¾ç4f<2dþJ´jU[+ÙàêjK¿~øöÛ3ÄÅeòôÓu*f•Ä¢ï\ !„BˆÇ+99™_|‘¼¼<¶oßÎÙ³giÖ¬ ¼òÊ+X[[³aÃ<<›¬âÈ ·ñÔF¾Žþš„ÌͶ1íÆHÂC!„NwïÞ套^âæÍ›VTTDTTï¼ó;wîdĈ|üñÇR³CèŤEK{ô(~×~Ê”)š×J ø¦±cÇгgO ¸׊ðôô$$$Dó'88˜ÌÌLÒÒÒŒŠ£{÷î|øá‡\¾ü`•ƒsçÎ1uêT£ú¬HUŒÇù+‘žžÎ„ (((Š__˜?>û÷ï§Q£F4jô`9R;;;’’’P©TŽÇ˜XL­Go¦L9@l샕r’“³;v={·4È(®áéiOHˆ§æOp°™™y¤¥Ý5*ŽîÝ‹Ïñá‡û¹|ù¶fû¹s™Lzب>+Rã1dþJ¤§ç2aÂï?m¡VÃüù°*9Ѩуd…%IIwP©*Îz‹0·;¼Íà¦O*<É–D-aó™Í¦€ÃI‡IÈLÀÛÙ[’B!Ê•——ÇèÑ£ILLÔ$;J˜››sâÄ æÍ›ÇôéÓ%Ù!ôfÒ'ûì3­¶­[·&22’† âåå…™™ ,йR‹1±˜Zhh#ºti@dd ­[‡¯¯3VVæÄÇߢ°PI³f®¼òJ ;{òÊ+¬ZKãÆ_ãã㈻{M²²òIJÊ&?¿ˆÉ“ÿEX˜¿ÁqôíÛˆ¶mërìØ5Váïï‚R©æÂ…,]IIÉÆÜ\Q¥c¯Šñ2%jñí·gX¿>__gRSïrýú=>ûL{)ä֭݉ŒL¡aÕxy9`f¦`Á‚.:Wj1&aoµËÔ!ˆÇ(¬e‚'àSˇçwp8©z’¸B!þÞŠŠŠxë­·8sæL©d¿îž‘‘­mé×—…(I …‚­[·2aÂÖ¬Y£)ÒiffÆÀY¾|¹ÖE½råJš5kÆÜ¹sIHH !¡øY+++† ÆðáÊÃÜÜœ_~ù…_|‘;vhžPèÝ»7ãÆ£W¯^ØÛÛWЋá*;CçÀÏÏY³fñÚk¯qüøq™;w.Æ Ój;kÖ, @JJ )))ܾ}]Œ‰ÅÔ غu&üΚ5ç4E:ÍÌ èËòåݱµ}ð+²rås4kV‹¹s“p‡„„;XY™3lX†7<Ù`n®à—_òâ‹ÛÙ±#Qó„BïÞ>Œך^½6ao_õYìÊŽÇÐùðósf֬޼öÚNŽ/N´9:Z3wnÆ5Ñj;kVG ØBJJ6))Ùܾ]Pe±ˆªs¯ð{/îåjöUêØ×¡»_÷2Û–UŸ"&-† 7.SC}§ú<]ÿiÜìÜJ+÷ѩѤd¥`anŸ«í½Ûc®(;)—ÇÑ䣨Ô*‚<ƒhY·¥Aã;sý '¯œ$§0w;w:7êL­º_«ˆ¾ãÔ¥¢±_;JÄéTj)Y),:´Hsì ÀAÔw¬_V×Õ¦ƒw‡Ç~N!„/*•ŠI“&qäÈ‘rëø™™™ñÙgŸÑµk×*ÿ2Z<¹ëÀöíÛK%ìííYµj .äüùó(•J|}}u´433cÒ¤ILœ8‘K—.qãÆ ÜÜÜðòòÒz¬ÉÊÊŠÈÈH\]]KõQ²ÏÍMû˜nnnlß¾´´4RSSñðð Aƒ|ñÅøúú–;cΩïxÊcÈü•èß¿?½zõâìÙ³¨T*š7o®³@jÛ¶mIMM%..ެ¬,T*•æéŽÊü,™«ª°}ûàR‰{{+V­êÉÂ…]9þJ¥__g-ÍÌLšÄĉA\º”Åy¸¹Ùâåå U“ÂÊÊœÈÈ0\]K'xJö¹¹iïss«ÁöíƒIK»Kjê]<<ìhÐÀ/¾(®­âë«]<÷ѱsN}ÇSCæ¯DÿþéÕ«!gÏf¢R©iÞÜkëÒçkÛ¶.©©cˆ‹»EVV>*•ZótGe~–ÆÌ•([ìµXÞØô7rnh¶¹Ù¹1³çLí­Oq;ï6¯l|…Ó×Nkµ³¶°æýÎï3úé«gÍØ3ƒu'×Q¨,ÔjëíìÍÊ¡+ièÒ°ÔùæîŸËò#˵¶õoÖŸ9¡sÊM’ܼw“‰?OäHò­í¶–¶Lë>!-†”{üà §.úŒýjöUM’#íNšV£mƒ¶å&<6ŸÙLêíT½Ç3ªÍ(œm +ê-„Bè2sæLvìØQákô*•Š´´4¶lÙÂàÁòz¬ÐÏcMxtìØ±Ì}öööéÕB¡À××·T¢„™™!!!íÛ¹s'ŽŽŽ´k×NS¸tï޽̘1333ºuëVîXŒ9§¾ãч!óʼn…G—§ÕÅ‚ÀÀÒ¯TægY™¹ªŒŽËþǾ½½AAú-‡ªP' MB”03Sâiо;“pt´¦]»ºšÂ¥{÷¦0cÆÌÌtëæUîXŒ9§¾ãч!óʼn…G—§ÕÅÂÂŒÀÀÒ‰±Êü,+3WBÛ½Â{ŒÙ4†97hèÒà†Á(UJö'ìç£ß>Ò«Õ1«9}í4îvîtõ튣#Wî\!:%š?ÒþÐJLüõCÂG…kõ}âÊ ö\ÜCgŸÎøºùr-û;ÏïdëÙ­x;{3.x\™q)UJ^xØk±Ôw¬OGŸŽ8Ú8’œ•Ìž‹{ø÷öÓØµ1­ê•~ů²ãÔEŸ±×s¨Çøàñ,>¼ÒïáXþ’}›Ïl&*)J¯±ô è# !„•öÅ_°fͽJ°°°@©T²`Áúöí+u<„^äïÿ‰åƒ> víÚx{{sõêUMÑбcÇÊú΢ZÅÆÞàƒöS»v ¼½¹z5GS4tìØÖZ«—ñW±-n9tlØ‘¯†|…¥yñÊRy÷óµn·roUØGI›Ÿ^þ w;wÍöBe!g¯ŸÕj;ý¹éøÔòáhòQ®e_ÃÊÜŠyþ‹›÷nròÊI²ò²´nÂoåÞbNŸ9Z7þ§®bØ÷Ãø6æ[Þ~æí2ŸòØua±×béÛ´/sCçbnö ]ìµX†|?„oËÂþ õ˜)ÃÆ©‹>c/Ix,ZJ猯Wl›$¨¾þIs—e?E(„Bè#)iÛ·/ÓÚ¦P(4‰’'>ðöö& €† âããCQQ‘$<„^$áñ?={ödË–->|˜ŒŒ lllxûí·™={¶‰£Oºž=²eË%¾BFF.66¼ýv+fÏîdâè„ÐíDZñ²Ýã‚Çi’PüÊÇØcy=âõ ûxÎï9~<ù#«¢W1¬å0|\|P(X™[ÑÚCû)´?¯þÉè £)R•.fy/S+ááíì­•ìhY·%Ýýº³ãü.Þ¸ˆmݵjJŠkÖ°¬Áò£Ë5ß<©ÕjÔ¨q°q öZ¬Îc+;N] »¡þ KØ !„øç¸reqqS4·°°ÀÓÓ???|||46lˆƒƒƒ #w’ðøŸæÍ›sèÐ!nݺEBBæææøûûÿå m«¼ºÂôš7wåСç¹u+Ÿ„„Û˜››áïïòÄÚ,¯n†øûº“_\èVWmO'ý^ n̺Öñ]Ìw„ýFAQÍë4§»_wžoõ<¶–Å×ÌÑä£ÌÛ?+s+ºùvÃËÙ‹V5P à`âAN^9‰J­ýîo}'ݯ>•Ä–]]f\%Odl8µA¯qTDßqêbÌØ %5<„B<.W®\áÎ|θáããC½zõ0333uhâ ôdÜMU!—r ~þ]Ugm Qu\\lpqÑ¿Æß…ÔÆx29Ú8Å2kÛi×d1äæùiϧyÚói2r2ˆNfÖÞYìˆßÁú‘ë1S˜y9€%—еqW­ãã2âtö›v;Mçö’جËþÆÈѶxl/´~Z5u¯ÈbcQvq^]ô§.ÆŒÝPRÃC!ÄãâááAÓ¦ÿ@§Né&ŽF<é$á!„Â(OÕŠM±›X|hq©K£–êÕÇÑä£Ö ¤¦UMjÛÕ&4 ”}—÷±åÌo%Ò¨V# vÖv¥Žÿýâï:ûNÊJâ§ØŸJÕðØ}a76øº•](º}ƒö„Ÿ G©VòÎ3ï”JFÜȹÁµ»×ô£!ãÔÅб[™[q;O÷âe‘B!„xIÂC!„QBBYxp!Òû›Þ7 F¥V±ïò>òîçéÕÇŠ£+ø#íÚyµÃËÙ KsKâ3â9ps…9N¶N´®W\çbLÄz6é‰s g.Þ¼ÈþËûq©áÂÍ{7KõíRÃ…ý_ã~ÅÏÍ«ÙWÙy~'Jµ’ÑA£Ë]–¶OÓ>¬ŽYÍú?×s0ñ ¼;P«F-²ó³IÊJ":%šWÿõ*-궨ÒqêbèØ½]¼9—~Ž÷~yO'OÌf Tî²´ÕUÃãlúYö^Ü ÀÅ›ˆI‹Ñ,™Û¢n B…T˹…B!$á!„Â(5­j²bð ÞØô‰·I¼•€kMW>ëõonz³Â>Ú{µçÏ«òû%í'jZÕä?Ïþ‡Z5Š_'éѤ}›öå—s¿~úÁò³C[ÅÞÊžUÇW•êû)§hT«+Ž®`Â~ÍöþÍúóö3o——¹Âœo†}Ãä_'óû¥ß ?¥½ä­»»ÞÉCÆ©‹¡c4šÉ¿MfëÙ­šmm´-7áQ]Î^?«In”ø#íþHû€‘O”„‡B!ª$<„B-°n {ÞØÃÞ‹{¹š}w{wºùvC­V3>x|©¤ÀÛÞÖª÷ñF»7ÕfÇRŽi&uêÒɧ5,kh;¿ß|F´Á™ëgP(´ñhC`Ý@%ÂÎÚNSkÃÂÜ‚ñÁãñ©åCh@(½zJ­¢Mý6´ª×ªÔ8 ÀÙÖ™¯†|ÅåÌËĤÅp+÷.5\ðvö&¨~ÖRµ1dœºbÑwìƒѬN3Ž¥ãNÞÔ¨ñp4ÍÒêÍê4+wy\C’FB!„†R¨KÖÚ3ÂСC¯ ¥ÕK¡Pðî»ï2þ|S‡"þ!ªûó/==œœ½Úþö›ãÇ»séÒåj‰E!„¢*çÀâÅR´T”ÏÎÎwww£¯Ô.\àâÅ‹xzÊê Âô¾úê+"""L†ø‡ÈÌÌÄ׷좗âŸaù‘å* ËmcenÅ›í+~½G!„BT-y¥E<1rs[›ûøßQÿTGM€ø Xqtw î–ÛÆÞÚ^B!„&P©„‡ŸŸ~~~òJ‹0¹âe'ÃLŠøÇŠŸŸ©c¦6¦Ý½žðB!„Ÿ<á!„BIžÜB!„øë23uB!„B!„UMB!„B!„xâHÂC!„B!„OIx!„B!„‹‚¸ IDATâ‰# *ŧŸ~JRR’QÇïÙ³‡O?ý”ëׯWm`B!„B!Ä?ˆ$<ªXTTÓ§O¯TÂcúôé’ðB!„B!*AU¬C‡L›6 oooS‡"„B!„BücY˜:€'M‡èСƒ©ÃBˆÇ&>#žµ'×’z;•¢B>ù3…³#góbЋôlÒSÓö•¯àãâúýÇ„ÿý\μ̚?Ör;…üûù|ò­=Z›:¬'Š!×ñ?Y\F».ìbBð„2ÛTæ÷ü¾ò>/­‰ Ï &ušT™P…BIxTµ¨¨(víÚÅË/¿\ê)äädöìÙCzz:...„„„àïï_f_¹¹¹lݺ•äädêÕ«G¿~ýprrªæ!„þ.ݼĀÕ(Ri¶eåeaafAtj4Ýýºkµ?žzœüûù;Ì¿µä¬dú®êK¡²P³-+/Ë„UQëFP;€?ûoS‡bðu\•÷#;+;†¶Ê3ÞÏ5žŠ”5Çõë17t®¦]rV2á§Ã¹pãJ•ŸZ> j>ˆ÷ã<ž nàHò²ò²X>x9c"ÆTÉØõ™ïó7Î3}×t”*%g®ŸaÄÚšã§vŸJ@í—Ê\ÇúÌ{yô}¯¥Œœ M<99ÔwªO°w0Ý|»¡P(Œž÷‚¢fìžR­ä…Ö/ànï΄ h>€˜´Ž$)uLY5< ³Be!?žü‘£ÉGQ©U´©ß†QmFQò†¦¡Ÿ é9éLÜ:‘çš<ÇËA/k¯d_/ÿ^Œj3ªTÿUñÙ „âñ’„G5KII!--gžyF+Ùжm[†Ê?þȉ'èØ±£fßäÉ“5É þûßÿòÓO?qøðaIx!L*+7‹èÔhÍß§×ÙNŸÚ'¯œäˆ7Jեػ‰¡-‡2«Wñp%ïöÛYÛñÖOoñû¥ß5m÷]ÞÇ®ó»ˆx1Kó¯Žøq¤ý¡Õïï—~gUô*– \¢¹i|¸ï×Â_ãpÒaMû]v‘x+‘ÍðÂ/póÞM;_ã囡ßÐɧ“Áã©HYsì“ë£Ù¶=~;“~™Ä}å}Ͷý ûù.æ;¦v›ª¹i{x|£7ŒæHòƒ›ÔBea•]Ÿù¾[pW3®ìül­1fçg—;'ŸíýŒ3×Ï”ÛæasûÎ¥žC½2÷{ë;ïåÑgô½–.ܸÀ°†‘S£Õn퉵 k9ŒÏz}fô¼_¿{Üû¹ômÚ—é=¦s,åçÒÏ1¼Õp†·Îí¼Û¥ŽÑUÃÃÐ9S©UŒÞ0šc)Ç4Û~¿ô;?ÅþÄú‘ëq¶uÖ´3äs!ÿ~>Ñ©Ñø¹ù•Š»d_S÷¦ZqTÕï‡BˆÇOÕ,+«ø)>>>:÷7jÔ€[·nimoذa©¶%ÛJúBS ò b툵|qà þHûƒÕa«µ §®žbξ9ö“SÛ›Þävþm4@H£mI¹Âêã« ?Nûíé׬Ÿæ˜ p²ubr—Éøºú’ž“β¨eœM?Ëoñ¿Ñ¿Y­þû7ëÏÓžOSß±>ùEùĥDZ:f5ÓwO/õ-ù„¸Ôpáãg?Ƨ–n\`ñ¡Å|ý5¿_úúŽõ™Üe2N6Nü~ùwÖ\Çüƒó575ÆŒÇÐ9¶±°Š¿þ`ÛÜWÞ§g“žôô™%ûö~:œ{fЦ~­›· °³¶ãýÎïà€…æÛòÊŽ]ßùnâÖ„µ#Öê,žYÑÓñ7âµnÔ+’w?Ϩ9.¡ë:6fÞu©h ¹–Öÿ¹žœ‚B…0 ùœlœH»“Æ¡ÄCÜ-¸«×ùÊâáè…M™I'ÛŠ‹©WæZý0äC|]}¹v÷+­äræefî™É¼¾ó´ÎaÈç‚1ªâ÷C!Äã' jæì\ü DBB‚Îý—/_ÀÅÅEk{bb"íÛ·/µíá>…ÂTœmiÛ ­æ[Ö§=ŸÆÚÂZ³¿ ¨@¯~¶œÝBfn&ïw~Ÿ7Û¿©µ¯·o:/ëÌOg~ÒJX˜Y°î…uZ¯¤x9y1rÝHN\9¡uc³vÄZŽ¥cÂ~vžßI¡²µZµ…5Wî\áúÝëÔ±¯£Õ÷†‘ðtò ³Ogòîç±èÐ"Ìf¬¹ ³âÿuviÜ…s×Ï{=–"UfF§,Íñ–3[È/Ê/õÔH&=¨k_—…‡²áÔ¦?7]³Oš5Ã×h½BPò³ªìØ ™ï¶ Ú¢P(p´u4¨FÆG]>"» ü§@VÞÓ`Üul̼ëbom_î<üp⽯¥’ùŸ:W+1¼ÕpM¢¢¢ó•ÅÂÌ‚©Ý§2uÇT†­†·‹7™¹™\¹sG½ú0öZý~ø÷ZI^þ½èþUw~û•=gh½ÚbÈç‚1ªâ÷C!Äã'ŸÀÕ¬AƒÔ¯_ŸÃ‡óóÏ?ӯ߃äÆÄÄ­­-O=õ”Öq³gϦoß¾ØÛÛÅ5<>ùäžyFÞ B<þ¼ú'»/ì&*9 µZ ßì”ü÷åÌËZÇÖ Ôº©h^§9PüŠB ¥ZÉÄŸ'r0ñ`™ç¿[pW+áX7PsCS¿vñòá=šô(uãàÀ©k§H¿›Ž‡£‡Qã1V|F<Ã[/µïùÖϳðÐBâÒã´Çâæ_f½„ʎݘù6”¾õ1ª“¡ó>ù×ɤÞNÕj7'tõë—{C®¥ç[?Ïæ3›y#â 4@ó:ÍiâÖk ë*YÞ5¬e-ê´à§3?q8é0n\ ó—iT«ã‚ÇZîñÆ\«µJ=%ãlëL7ßnDœŽàÒÍK´¨ÛB³OßÏcUö÷C!„iHÂã1˜2e ï¼ó 44’““Ù¼y3÷ïßgòäÉZK®]»F@@¡¡¡X[[³wï^Ξ=‹««+/¿ü²i"„U,·0€S×N•ÙÆÊB{ÉKGÇRmJ^CP©Ušm¿œý…ƒ‰ñröbäS#ñrö¢†e  ßÿñ=;ÏïÔÜ8–×wÉLyûJV¯0f<Æ*yú@×+Ž6Ž(ŠRO(”—l¨ìØ™oCUu c:璘æâÍ‹ZíJ®“òr-5tiÈž1{øùìÏD%E±*zW³¯Ü0˜C>¤±kãŠV÷>vÿ˜c)ÇX³šqÏŒãË#_2ñç‰ØZÚòlãgË<Ö˜kµ¬DMɵøh{}?Ê£T)ËÜWÙß!„¦! Ç`ìØ±¤¥¥ñÿ÷üòË/üòË/( ^}õUf̘Qê˜%K–ðþûï³bÅ Í6WWW6oÞ,KÒ !žuê0ý¹éeÞ”û8xÉâ’KJÕ(˜`¾Q}V¤:Çó¨Úvµâj/g/­}±×cQ«Õ¸Û»kmW(J¯@RU žo5'@ªº†‡1 ÷Ù}f—ŠCëI2æÁÐkÉÑÆ‘QmFiŠfädðæ¦7yqý‹D¾ùàU#æýQæ sšº7e^ßyì<¿“ͱ›ËMxs­^¸qûÊûZ5Ub¯Å”j¯¯’DÊ­Ü[¥ö•¬Ö#„âÉ! *VTTœÉ777×Ú>kÖ,ÆŒÞ={HOOÇÅÅ….]ºàïï¯Õ®[·nØØØÐ©S'Î;ÇÏ?ÿLrr2ôë×'§Š‹ƒ !ÄßE&=ø.æ;¶žÝÊܾsiàÔ@³O©V²ûÂîr¿u-OÉ·É'ÒNhnÀ‹TE,‹ZFLZLåƒ×¡:Çó¨N>øáÄüß¾ÿÃÏÍ&nM¸rç ÓvNÓ´y\ ïšÖ5I»“†J­ÂLa¦×9ªº†‡1 ÷‡_»Ð¥¬y0äZZ³7ÚyµÓ´q¶uÆÎÚŽŒk$e%iâ4tޯܹÂÏç~fh‹¡¸ÖtÕlW«Õ„ŸG¥VQ¨,,·c®Õ›÷n2cÏ þÓí?X™[¡V«Y³šèÔh85КC”Ì˾Ëû¸œy™FµŠ‹Ç_μÌìÈÙFõ)„â¯KU¬¤8é£EH¼½½yíµ×Ê=¾[·ntëÖMó÷#FTm€Bñò/Ï1´åPÂO…ÓuyW<!,=¼”i»¦ñMô78×p&éVÙÙ4soÆÙô³«ñ<ªK£.´ójÇÑä£ôû¶ÞÎÞXš[r9ó2÷•÷ñuõeH‹!U0*ý:ßMÝ›r4ù(!_†àáèS»O-wÅ¿B ªž÷²æÁkiÿåýÌÜ3“šV5iàÔ+ +2¸[pg[g­ä@yó>;r6§®žbÚsÓ4I‰{…÷˜· .ÀÃÁ{k{®d_¡Ýâvdæf0°ùÀ*Ÿ³Fµq:‚mqÛðvöæÚÝkÜȹÀû!ïë=¿º m1”oKèªP|]})(* )+‰æîÍKÕ[Bñ÷¦ßW*¢BÛ¶mãõ×_ç»ï¾ÃÑÑ?¿Òë» !„(íÿõüüûÙSÛ®6©·S9yå$—3/£R«èíߛЦåD,KËz-™Ö}¶–¶¤ÜNáÔÕS( f÷ž­õMxU«®ñ½ü{Uùœ5tiÈ¢‹0W˜súÚinäÜÀÞÚžÏz}FoÿÞzϯ.ãžGpÃ`î+ïs.ý ·èÙ¤'3{άT¿B!þzêJ¼È9tèPÂÃë, ¿«7ß|“+V`ffÆâÅ‹yûí·MÒ?Jñ{é€a¦Eüc eÈêûüKOO'''G¯¶¿ýfÇøñî\ºT5«â dåeñ´çÓZÇßλÍùçñröÒ*”y<õ8vÖv:¿ÅW«Õ$ßNæVî-\j¸àáà¡õþ¾J­âxêqœmñsÓN*—ìs©á‚¯«¯Ö¾¼ûy$ÞJD‚Æ®±4·$åv ײ¯Ñ¢n l-mËí»d,Þ.Þ¸Ûi× HÊJ"ýn:-ëµ,uÃVÑxôUÖ?ì^á=2P¡ÂËÉ«TqH}殪ƮÏ|—Pª•\ºy‰ìülTjµªdUCz—¨hÞõUÑ<è{-åÞÏ%9+µZM]‡ºšåvõ=_|F'¯œŠ‹˜öoÞÿq‡&„B”" !„â1;9ñ¤©CÂ(6:문ٹqiÊ%D$„B”MViB!„B!ÄGB!„B!„xâHÂC!„B!„OœJÕðÈÌÌ$--‰'VU}èæÛÍèx§§U½V,´ ?7?®f_eþùì8¿ƒé»§³~äz£ú|t,©·S™¾{:ÖLé2…F!8Ú:’’•ÂÂC Ù¿ïb¾ãÍöo›1ó¤+F€KS.U´4:5šyþ‹…ýâëêKzN:Ÿìü„¨¤(¶žÝÊËA/Æ_B!„UEB!Œ²óÂN>ù€Áƒ5ÛG´Áü;ÌÛ?Oçq5,k°bð \j¸h¶mßÀ;ϼè6£4Ûû7ë™ÂŒ‰?Oä׸_+•ð¨aYƒCVP«F-ÕjÄ‚þ èóMbÒb¸yï&®5] ïó‘±l9³…"U3{Τ—/ÍöÆ®YÐo1i1ì¾°[+á¡olÆÌ“®+ÃÙÖ™¯†|…µÞÎÞLí6•^_÷">#^ÓÎØëC—ê*2B!„¨œÇRÃãîÝ»|òÉ'4mÚ[[[èÚµ+»wïÖ´¹qãžžž¸ºº’’’¢uü°°° 88˜¢¢"½û,‘““ÃôéÓiÑ¢5kÖÄÍÍ=z°gÏM›‘#G¢P(¸yóf©ãKöݾ}€nݺ1uêT:vìˆB¡@¡P”]Ã#55•×_OOO¬¬¬¨S§#FŒ >>^«Ý”)SP(üùçŸ|÷Ýw4oÞ¼¼¼˜>}:*•þ"Ÿ;wŽ~ýúáè舃ƒ}úô!>>ž—_~¹Ôx>ïW_}E`` ÖÖÖš§Uôß¹|ô¼K—.¥I“&ØØØàããÃÌ™35?s!Ä_KJVñgudžKíÓµ­DS÷¦¥n¾“n%еq×RíK¶%g%ªæ¼% …f´÷jotÿºÆrñæEÞýù]šÌi‚ßl?üfûá;Û—&sšp#ç×î^3*6cæIWŒ•ѬN3M²£„§“'€V}c¯!„BˆªRíOxdeeѱcGΞ}ð¾n~~>‘‘‘ìÛ·5kÖð /àææFxx8:ubèС}z…猧C‡ܹsG³í·ß~ãØ±c´iÓ¦ÌãæÌ™ÃºuÞ¹V©TFÅo¨Ù³g³~ýƒGÊ™:u*çÏŸgÍš5•ê[Q}(Jm{¸vÅ£œlÊîKQº¯G™)ŠsõjJŸ#¿(¿Âã+sîGéKI} ¥JYæq…ÊBƒÎóhl†ÄZÞ|£ä•˜‡éºÊÛWÞõ¡‹ÔðB!„1ªý ÷ߟ³gÏ2hÐ Ž?NNN™™™¬[·'''Æǽ{÷h×®óæÍ#::š‰'RTTÄðáùqãëÖ­£^½z÷ùî»ïG`` Û¶m###ƒÌÌLvíÚųÏ>kÔ?p÷ìÙÃŒ38xð jµµZ]îª,&L ##ƒN:ý{÷4c¸{÷.¯¿þz©c~üñG-ZÄÕ«WÉÎÎæ‡~À‚%K–èõÅ÷Þ{;wîЧObcc¹wï'Nœ E‹ìÚµ«Ìã6mÚļyóHKKC­VóÅ_¿¡JÎ{õêUnݺÅ?þˆ‹‹ ?üð{÷î­tÿBˆªÕÀ¹P\\óQ‡“Ô—·‹7‘—"KíÛwy^Î^š×N.šYâHò‘2Ïq.ý™¹™ZÛŠTEšc850(æ²”Üh7ü;.M¹¤óOÌ„£b3džô¡@A‘²zž¢«ÊëC!„ÂÕúhCAAëÖ­£Y³fDDDh’ 5kÖdøðáܺu‹±cÇrðàAzöì À¸qã8räË–-ãÌ™38p€Y³fÑ¥Kƒûìܹ3ááḸ¸°{÷nÜÝÝ5±uïÞîÝ»Wçð5îÝ»ÇöíÛ©]»6¿üò 4mÚ” 6ЪU+þüóO.\¸€ŸŸŸæ¸O>ù„qãÆiþþ /°eË"""HMM¥Aƒ²ÿqž““ÃÎ;iРØØ#׺uk6oÞLãÆu¾r0qâD&MšTéø õî»ïj÷ùçŸG©T2jÔ("""xöÙgî[Qõz4éÁWG¿bîþ¹Ô´ªIH£Tj».ìbiÔRƒúêåß‹åG–³øðbjZפ‡_,Í-9p€ÿîþ/½ý{`kiK=‡zLœl¸xó")·S¨ïX_óôLU¨ÊëCjx!„ÂÕšðHHH //sçÎaii  y¢ä¿R5;V®\ITT wïÞLž<Ù¨>)(( W¯^ZÉŽÇ-))‰¢¢":vì¨I”°°° Gœ={–K—.i% Jj‚<ÌÇÇ(®aRÑ9•J%:uÒ$;J8::Ò®];¶mÛ¦óØGAÆÆo¨=z”ÚV’»té’Ñý !ªG˺-ÖrOmäýmÚ+Sõ èïq¿bin©W_ÍÜ›ñê¿^å›èo˜¶sÓvNÓÚJw¿ŸM¯µ}ÿîþ/ýöýö‘fûЖC ?®óO{>MrV2ƒ¿¬µ½†e ¦uŸ¦ócx;{3£ç ¦îœÊGÛ?ÒÙfL»1FÅfè5AdB!„¨ Õšð()®©V«Q*Ëy—¹Pû]æãÇ“––ÀÅ‹¹{÷®æFÛ˜>õz'ÜÌL«ÿ‡åååUx¼> }}ÆÖÖ¶Ì>ô}ÿ¹¬s–w|­Zµtn×7þªœË’sÅ×i IDATóê‘¢úÍì9/g/6ü¹kw¯QǾ#Z °N ¿ÆýŠƒµCÅüÏG]?¿¶??üñn^@¥VáSˇ!C´V$õÔ(r sY÷ç:Òï¦ãéäÉè§GóŒ÷3e&<mY?r=3÷Ì$:5•JE›úmø°Ë‡Ô¨Ô<777&OžÌĉ=z4›6m2¸Ï¼¼<¬­­9pàÔ®]»Ì¶%ûµÚåæærìØ±RíKnêõYAÄÛÛ 'Ä_‘™ÂŒ1íÆ”zb¡äõ ?·O}Y[XsiJùOk l>ÍVx^…BÁ›íßÔz-¤DyçhàÔ€¯†|UaÿÑg,-ê¶`Aÿz÷iHlúÌ“>1ºÙ¹±dàûbߋջ¿²ör}˜Â°–ÃÖr˜IcB!Dõ©Ö¢¥5jÔ`øðá>|˜#FpôèQnß¾M~~>ñññ¬^½šöíÛSPP'¸yó&ëׯçÝwßåwÞá§Ÿ~bÞ¼y÷ikkËСCÉÌÌä¹çžcûöíܼy“¬¬,vïÞM÷îÝ5O‰4kÖ (.ôO^^'OždРA\¹r¥ÔØ\\Š—øÛ¹s'¹¹¹åÎCÍš5éÕ«ééé 0€'N››K\\Ï?ÿ|˜€€{xxðÜsÏ•ZÕ¤sçÎ( >ÿüs>ÿüsͶ²VjY°`ÇŽ#22²Ô’°vvv¬\¹Rçq•1oÞ<>ÌÏ?ÿÌÏ?ÿ¬Ù^«V-ž}öYöîÝ«©ƒRCâ7t.K 4ˆ÷Þ{÷Þ{Okû /¼ K…ø‹ÊÎÏfîþ¹ÌÝ?·Ô¾Ÿý˜–5L•ñZÏoÍÝ‚òk$Ù[ÛsrâÉÇÑßÛ“v}!„âï¥Ú—¥uvvæÈ‘#Ì™3‡6mÚ`ggG5hÚ´)¯¿þ:ÇŽÃÆÆ†Í›73oÞ<úõëÇ| 9ÞÒÒ’ððpœ #==]ï>\]]‰ŽŽæã?Æßßkkkj×®MÏž=Ù³gÅ9vîÜI=¨Q£ 8¨¨(ÜÜÜJ+ €o¾ù†¦M›beeUá<øøøë¯¾Š‡‡Ô®]›áÇsüøq‚‚‚ªhƵc<|ø0¡¡¡ØÛÛcooO¯^½8tèEEEXXX`oo¯W_†Äoè\–˜2e .Ä××+++6lÈŒ3X½zue§BQMÂZ…ñv‡·iâÖ[K[ì¬íø—ç¿øjÈWòª€ëC!„&¥PW¢BÙСC×] Nü5¥¥¥Ñ¤I5jÄéÓ§MS¦LaöìÙœ}ðððÀÊÊ oooÆÏ¡C‡°³³3uxB!„B!Dµ'<žpÏ>ûì_~…“‡WºB!„B!ª‚<á!„B!„Bˆ'Ž$<„B!„BñÄ‘„‡B!„B!ž8RÃC!„Ѿ<ò%µíj38pp•ö›ŸÍê˜Õ´¨Û‚F!UÚ·¡”j%K/ŧ–¡¡&¥"‰·ÙŸ°ŸìülÚÔoÃ3ÞÏTxÌÙô³œ¼r’üûù4©Ý„^073 Ñ !„BT/Ix!„0Ú²¨eÖ ¬ú„GA6‹-bäS#[Âcñ¡ÅÔwªÏÀæµ¶)‹XthÝ|»ýeOmäëè¯IÈLÐlÓnL¹ Œœ &ý2‰£ÉGµ¶7tiÈ·aßRß±~µÅ+„Bñ8HÂC!„ÑÞîð6µíj›:Œ*±$j m´-•ðø;8œt˜„̼½ñpôàpÒárÛß+¼Çˆµ#HÊJÂÙÖ™n~ݨU£—3/óûÅß¹~÷º$<„Bñ·Wé„GDD …¢*b¢RÆÏøñãM†ø2dˆ©C0¹·Ú¿eêÖ2Œ Áð©åÃŽó;*Lx,<¸¤¬$ZÖmÉ·aßâ`ã Ù—r; ›êY!„¢ÚU*á1iÒ$†ZU±a´#GŽàççG­ZµLŠøñôô4u&WV ¥ZITRn\@©RÒȵÁÞÁX[X—êã^á=ö^ÜËÕì«Ô±¯Cw¿îž÷Ìõ3œ¼r’œÂÜíÜéܨ3µj<øý´îF\FG“¢R«ò ¢eÝ–š¶W³¯q:•ZEJV ‹-Òì8·šnZ羜y™C‰‡(TÒÚ£5Aõƒôž¯êÒÁ»ƒÞm •…„ŸG¡P0·ï\­d@§UžB!„IT*áѾ}{Ú·o_U±a´aÆ™:!þ‘tÕð¸tóoýô‰·µÚºÛ¹³xàbžòxJ³-öZ,olzƒ974ÛÜìܘÙs¦Îóݼw“‰?OäHò­í¶–¶Lë>!-ŠŸºy¸îF|F<Ë,×jß¿Yæ„ÎÁ\ñÿÙ»ïø¨ª¼ãŸIO˜ô%MšTAAQD, 賋«è㪫‹åQWeQÐeEw°-²té½i H! %eHŸÌóGÌÈR&L2|߯/3÷ž{ÎïœÄ ÷—sÏq%9+ÙšäHÌL´IxtkÖÍ&á1sËLÞ[û‹ÅzlD‡L8õÊõ«ï|ÇéŒÓ•* 0ú¦ÑzVº|eñ_B¡\,¸È“‹ž$Ý”NdP$=#{b.6³öøZ¦,™R¦ns±™q DZ?e?þôŠê…¿—?'/œd展¼ôß—ˆ ‰¡cãŽÖkv%íb展Üu;± cIÉJaÙ‘eüpðZ¶`bω4ök̤ž“˜¶qMüšp_»û¬×7ñobýzOòVÇ­.©+$–TS*K-᛽ß0¸õàJͲøîÀwlJØTéñÔzÝ'/œ m£¶<÷Ãs,>´Øæüˆ#xãwoh§©÷”ð»ùÏ/ÿ!)3‰ÎM:óåÈ/ñv÷ ¨¸ˆç~xŽ¥G–2w÷\žëUò fJ£Wd/>»ÿ3Ü]Ý’¤Éèy£9ŸsÞ¦îåG—³?e?CÚ á½ÁïÙ<ïOÙÏý_ÝÏۿ࣡YŸÏ9Ï»ƒÞµIbìMÙˈ¯FðÅŽ/xæÖg¬ 雦Ó,°“zÚ®”_”À¹œs|zß§ôík=×+²Ï/~ž5ñk*•ð¸÷Æ{«ô LOP¥ËVVNa«Ž­âLöúÝÐÈ HN]8ÅŠc+øfï7„û†3±çD»·-"""r-)á!""v³+iÏözÖšìpsqcrïÉ,=²”‰;KÊ&–”Øs¢5Ù%¯§ü¾Çï·pœMÝ¥ qú¸û0cË ëk%‹ ü¼üØŸ²ßæš-l’Â;Ðï†~,=²”céÇhÚªR}kÚÆ&ÙX·ÌM3¥UªŽº°Lé:*ÉYÉ̼&wÆÜi=·áÄÆ~3–¯v~Å„['hQr©×”ð»ÉÌËÊ_ø²©S ¹6eËÛþ´i@ÙaKg|Ìß;¿ÒñD”¿µjiýYùY•®+Ü/¼Ì1w dKeÔ…5<ÂŒa@ɸ_šìèÙ“ØXަ%ýbºÓl9,"""×'%Ý”NJvŠÍ±„ |»ÿÛ2kx¬8º?/?bÆZ{¸zXgŸÔ–º°†GHƒ:5îÄ®¤]¬Š[Uæ•–¸sq„4!¤AˆÝÛ¹–”ð»ÒfÓ7MgGâüc·GÝŽ»kÉ.-qgãð÷ògT§Q n=˜ÖÄúë¹kÖ]ôŒìI±¥˜5ñkÈ-Ì-S÷ 6ƒ˜½c6_ïùšõ'ÖÓ£E‚}‚ÉÊË"áBÛNmãñ›§}x{ë5A>Aüé§?ñÓ¡Ÿ¸¡á $g%³ìÈ2Ì3c»ŒÅÕðÛ§-‚ZðKê/üñ?¤i@S\ .Ü×î>›mikª¶Öð8˜zUÇVpìì1v$î°n±Û>¼½u½€çz=Ç#óáéEOÓ7¶/-‚ZX-µX,Œë6NëwˆˆˆH½§„‡ˆˆØ·»7³†ÏâéoŸæÄùÌÝ=×z.ÔÊ´{¦Y__iàÑ€™Ãf2~ÑxNœ?Á‰ó'€’SNå©EOÙÔíjpeÖˆY¼ðÓ ¬Ž[Í‚½ l·Ãl’P2ã$:8š™[f²öøZëñ¡m‡òÌ­ÏØ”Ûe,/,yþ`=Ö­Y7»&»ÿ3âÏų#qçsÎäD‹Àt‰èb³Um©ç{?Ï]­ïbÛ©m[й)â&:6îX¦Ü}íî£m£¶l=µ•ÌÜL,Xhâß7W7&õœDTpT™kJÏÅ„ÄTgøì¦m£¶e¶Ó½Ôåãð@‡è݇5ñk8›s–¯n¼µÜgEDDDê#ƒ¥tu2©3RSS1™L•*»d‰‘I“ˆ‹‹¯å¨êü¢|Ú¾×–¾±}™1l†£Ã‘KLœX²cØ´i©ŽDê:£ÑHXXXµ¯w¹z‘úE q:ZÃCDDœÎ•ÖÝ‘ëƒ""ât\ ®W\ÄSDDDDœŸ^i§£„‡ˆˆˆˆˆˆˆ8%>|±ý í_Ä£]­VùŠ1w÷\\]\ùrä—DGp[Ôm ¾Üñ%swÏeòí“ëdüŽªGíÖÍvëKœõe|ìÕ/€—ï|™† b0Xzd)³wÌ®°lUïKöº‰ÔWZ´TDDª¥Ð\Ȩ9£ø`ݘ ˜½c6O-zŠñ Ç3sËLr sʽ.3/“YÛf1á» <:ÿQ^øéVÇ­®°î¢â"æìšÃ„ï&ðÐ܇È+ʳÖ3{Çl&}?‰±óÇòêòWÙpbCÛ3›™·{Ï|û O,x‚雦cÊÿm¶Í‘ô#Œš3 s±™g0jÎ(ëŸCi‡€’u3Þ\ùf¥Æ±2ñÕDy±¤™Ò˜¾i:Ïþð,ó8¯.•GWX§SW¦×Ò© §¸#úŽ2çúÄô`müÚj—¯ÈÞä½dåeÑ£yëCB©Ò‡˜uÇ×Ù_°o£æŒbé‘¥¿:õÔçøÕ_ûÇ©ñ±_y(<B¡ †2õ”§ª÷¥êÜÇDœ‰fxˆˆHµ[ŠÙvzFO#cçeë©­Ös«ãVóíþoùúᯠô´ß´›ñ Çs!÷‚M]‹ö/bx‡á¼5ð­rëÞ|r³µl‘¹ˆgvòô·Os>çüo•œ€9»æðâ/òD·'ªÝÞÓß>m“pX¿†åG–³pÌBÜ]ÝÉÎ϶¾•—eóNtV^PòI^aÞUǰ²ñÕÄå±M?ʈ°Iâ@ÉØè0‚©§Vª™ºj*Ψt|ï yïªS©½Ü½8—s®Ì¹³Ïw.®Úå+RZ¦CãeÎ5 hJ€wÇÏ·9~:ã4ÛNo£ß ýuê©Ïñ«¿öSãc¿òPþxVUUïKÕ¹‰8%Ùô S²äð†¶Jˆ-™3jN¹ zVeŒêÄg_ïùS¾‰Þѽ¹çÆ{ð 13‘ '6XÇ®&}<œ~¸ÌÂxWrùbåéÔ¸ÿÜþOzG÷¦Uh+ dw„i§%ïÓW·|E.ä”$¢–{>ÔÊÑô£äæâíî Àˆ#¸µÅ­4lîðø«SO}Ž_ýÕø\Ëñ±×xVUUïKÕ¹‰8%¹ï›zFue}h¯N{n.nÌ{h‘A‘ÖcÍšóð¼‡Ù•´‹¡m‡âëéK·fÝ0 ø{ûÓ­Y·j[uâ³7—’¿úßüÞÖã#;Ž´ÎÞ¨I§Ü1…¬ü+ϹTeÊ»¥ù-tmÚ•í§·3töP"ƒ"qwu'îlMšâïåÏÅ‚‹Õ._³Å ”ìdPžÒãEÅEÖcþe¶£tTüÕ©§>ǯþj|®åøØk<«ªª÷¥êÜÇDœ‰Öð‘iÚÚ&ÙèHߨ¾w¶d:ížä=¬8º‚1_aô¼ÑŒž7š‡ç=Ì„ï&Îv§™V [Ù$;ë륯­\®tEüê´×.¼M²àÆF7¿ýVÍ^ªŸ=<ØéA½¿pò‹òðóò«qý­ÃZÓ­Y·Jÿ©Ìo 3‡Íäî¶wc±Xˆ;Ç¡ÔCDGóñÐÉÎÏÆßË¿Úå+âãîPáÃXéqŸ:¿£êQ»u³Ýúg}{õ«ªªz_²×}L¤¾Ò ©‘Š’Kÿ¡Wú0SP²ˆéÞ”½Öåáæaó¹‘o£2eJ-½tmòT§½òþqêîꔬóaOÕ‰Ï"ƒ"YùäJ~<ø#›6ñÏmÿ$9+™ž‘=ùSï?S£úkc (ù9û`ȼÖï5N\8·›7±!±lLØH±¥˜ÞP£òå)+áBB™sùEù$g%f «ð7§ŽŽß‘õ¨ÝºÙn}‰³¾Œ½úUU½/Ùó>&R)á!""5r4ý(…æBkb Ôþ”ý„ù–ìîÀëý_¯ð¡ºôu‹Rå­Zî[RÏŽÓ;ÊÌÆ°)WöªÄ‚uW“ê¨õø®ÀßËŸÑ7fôM£’][žZôc¾ÃÏOýŒ§›gIÁjô±6Ö𸔟—Â[|ï«_Ð;º·]Ê_ª}x{ d§s±W—ßÖŸXOQqí·¯³ñ×…zÔnÝl·¾Äé¨vկʨê}©6îc"õ‰^i‘9{ñ,o¬|ƒsPò€üÅö/ØvzÍšÑ, ¿kù;~8øá~á6¯5tiÚ… ¹8“}æªíõí À;kÞ)³ íî¤Ý,?ºÜ®íU¤g3«=ó£¶ã«Èì³Ùrr‹Í±@ï@ŒžFÒLi6¿¬N§Ü1…9£æTúOefw@ÉÎ5—î$P`.àÿÖü«ãVäÄýíï¯Qùò„û…Ó¹Ig’³’ù`ÝÖäOª)•·W¿ ÀÝm*·ÆŠ#âwd=j·n¶[_âtT»ŽêWUTõ¾dÏû˜H}¤""R#ÑÁÑ,ܷŇÓ"°)Ù)¤›Ò˜Ü{²µÜÍMofx‡á,Ø»€>3úÐ4 )! BÈÊË"13‘ü¢|žìþ$ƒZºb{Ý›wgpëÁ,>´˜Gç?J¨1”p¿p’³’I7¥óLgèC»µW‘6amØrr ½?íMÿ&0ðJ¿W*½SKmÇW‘µñkyså›4ðh@³€fx¸ypüÜq²ó³ ô´&¨ªÛÇË×\±—uÇ×ñâ’iâׄ`Ÿ`âÏÇcÊ7áîêÎ{ƒß+ó:RUË¿óó;ìMÞË«ý_¥eÖÖã/öy‘QsF1sËL~8øaÆ0§&¿(Ÿ.]Ðr€M= ö-à»ýß1¦Ë›sŽŠ¿ªõÔ÷øÕ_ϵ{çÏq?óùÖÏ8Ÿ[²Ýú¿üÈî¤ÝôoÙŸG»¿ÿók‘ˆˆˆHý „‡ˆˆH¶ãôŽ2ï±_®¼)ß""""×;%1oÇðÔ¢§HÊLbÒ÷“èòQbÞŽ!§0‡A³Ñë“^6×$e&óv 1oÇw6ÎæÜ3ï¤ÿçý¯e¬jëÕÆl×ðØ‘¸ƒ˜·c0›Ù”°ÉÚFÌÛ1l=µÕÚÆ¶ÓÛ¿p<]>êB«w[ÑûÓÞ¼µú-Lù¦Ú §¡WZDD¤F2ó2ñ¯¤šR­ÇŠ‹‹éÙ“YÛf.žèàh6$lÀÅàÂúë‰ ‰ 13‘“N2ú¦ÑWmoÌ×cØ”°©Òñ-·ÌÚ~EìkEãPóvÏãÏËÿŒÅb±KÌLdÖ¶YlJØÄ7£¿ÁÛÝ»Zu‹ˆˆˆ\/4ÃCDDjdûéí4öoÌÂ1 90ùq/Æaô4Ò+²dÆÄúë­e×_Otp4íÃÛ³áÄ›ãP’xp{ÄZÑ8\®KDâ^ŒÃÕÅ•-z÷bœõO·fÝ8qš×W¼ŽŸ§o |‹Í6óËó¿°ô‰¥ l5Ci‡ørÇ—µ1 """"NE3A6Ç»4í‚§›'NlàÑ.Rl)fË©-ÜÓöŒžFfm›E¡¹wWw6$lÀÕàJ·¦Ý®ÚÞW#¿²{ìkEãPUßøž¢â"Þð&[ ´ ‰áû?dGâV]ÁS·´˜>3úXÍ5‡nͺñÆ€7xeÙ+Lùï”r¯}²û“5n_DDDÄÙi[Z‘zÎÓ³d!Ë‚‚º¹eézÁ>Á´mm=Þ"°þ%eü:K©këËw¾Ì€–ðÀ`°ýÞè0‚£0¸õ`B¡¸¹¸j 忦7ózÿ×yú–§íƒˆˆˆ#äç»àåeqtr0XJ—|‘:#55“ÉT©²;wzñÀMظñ$aaeׄ©Kî¿¿ :åóòËgŠÔqF£‘°°°j_¯""õ\tt!GŽx88‘+³X .΃¨(í8&µO ‘z. ÀLdd![¶x;:‘+ڿߓɅNòŠ\”ðqwÜq‘¥K —EDD¤.[ºÔH“&E´j¥Rû”ðqÇgsê”;k×ú8:‘råæX¸Ð—aòŠ\'”ðq±±ôés‘wß Æl®›»µˆˆˆÈõmæÌ@ <ôrm(á!"â$þ÷Ïqò¤;sçú9:ÉÉnÌšÀ¤I6;:¹N(á!"â$š5+dìØLþö· âãÝŽˆˆˆEE^x!”Æ‹=:ÓÑáÈuD '2qây¢£ xüñpΟwut8""""üå/!ìÝëɇžÁÍM+¬Ëµ£„‡ˆˆñô´0cÆÀÀ3Ï4ÂdÒm^DDDgúô@¾þÚ?L£ukíÌ"×–þ%,"âd‚ƒÍ|þy §N¹3bDÝ’ˆˆˆ\gŠŠ ¼ürC>þ8ˆW_M§OŸ‹ŽI®CJxˆˆ8¡ØØ-JÄÕÕ°a¬Y£íjEDDäÚHLtcìØpþó#Ÿ~zF»²ˆÃ(á!"â¤Â˘??™=ryâ‰pÆ'!A‹™ŠˆˆHíÈÍ5ðá‡A ÐŒ´47æÏOÒÌq(ƒÅbѪ1""uLjj*&“ÉnõmÝêÍ_þB|¼;}û^äÞ{Mô葃··þ ‘ê³X`ÿ~O–.5²p¡/……&N¼À˜1™Z TjÌh4Víë•ð©ƒìð0› ,^ldÞ>>6ÇŠŠŠ¸ûˆˆHõ(á!""""Vîîî 8Ðf-£ÑHÏž=•ˆˆHÕ)á!""""6† Baa!P’¹ÿþlbc Ž8£ÑHXXXµ¯× ‘ë@n®Ï?äóÏpq±Ð¯ßEFŽL£mÛ|52Ó ~3#"e}ÿý“Üs?ïèPD¤Ž)(0pá‚+GŽx°e‹7Ë–5`Ö¬î¼ó"/½tŽæÍ ¢ˆfxˆˆÔEöœá±|yÞ|3„¬,~ÿû Œ•¥‡ˆˆˆØ•ÅëÖùðÎ;Á$$¸óØc™LœxOO=nJõÕt†‡""u= ¼ÿ~3g2lX6“'Ÿ#$Äl§EDDDÊ2› ÌëÇßþDtt3fœ!8XÿþêQÂCDÄ Õ4á‘—g`òä0V­òá¯Mç¾û²íˆˆˆÈ•ÅÇ»3~|8f³Ï?OÑÚR-5MxhY~'S\ “'‡±e‹7_}•¬d‡ˆˆˆ\sÑÑ…,Z”D£FE<òHcRR´|¤\{Jxˆˆ8™>båJþþ÷3tíšçèpDDDä:`f֬͌߈œ=~ʵ¥Ÿ8'²lYfÎ dêÔtºwÏut8"""rkР˜™3SHKsãå—::¹Î(á!"â$rs üõ¯! –­×XDDD¤Îˆˆ(âwÒøÏŒlÝêíèpä:¢„‡ˆˆ“øì³@23]øÃÎ9:½{çЧO¯½‚Ùlpt8rPÂCDÄ dfºð0aÂBCµõ›8·×^{˜˜bbb5j”£ÃqäÏ[J þÿþ7y„¨V­ˆŽ‰!:&†&vŒT¤niÑ¢~ý.2ožC‡êõ[©}Jxˆˆ8åËЯßE4(vt(""N¯¨qcrn»‹}ûâ÷í·üñª×}ô‘5ÙQìçǹ_$§woŠ==ñÞƒ¢"mÛ8:»:xð ï¿ÿ>;wîÄÅÅ…=zðÒK/UXþÿþïÿ˜yÉC%€··75¢{÷îŒ7ŽfÍš•¹.33“/¿ü’U«V‘@~~>AAA´k׎‘#GrÇwØ”?þ<Ÿ~ú)ëÖ­#99³ÙL“&MhÙ²%wÞy' ÀÛ»r»Tµ.“ÉÄ¿þõ/V¬XÁñãÇÉËË£aÆtëÖqãÆÑ²eË2mìß¿Ÿ>ø€]»vÙŒãçŸο}p¿ùæ›™;w.Ï>û,?ýô àÏþ3S§NeÆ ddd°k×.üüüªKu¿?Uý9(Ç¡CD Ž!/€Ô>Â4hî DÜ}7.99¤OJÖˆUªÿjŒ?þh]Ÿ£0*J¯­ÈuÍÛÛBTT!GŽxðëÿ†"µF ‘z.-Í€ðð"G"b?;wîä‘G!ï×T€eË–±k×.:tèPézrss9qâ'Nœà‡~à›o¾¡U«VÖóÇgôèѤ¦¦Ú\—––ƪU«Xµj£Fâ/ù f³™|øøx›ò¥m,]º”ÔÔTžzê©«ÆVÕºNž<ɘ1cHJJ²)Ÿ’’Â÷ßÏO?ýÄ|ÀÀ­ç¶oßΣ>J~~¾õXUÆ1##ƒ#F˜˜hs¼:±”çjß{ý´nMú«¯:e _y…¼N07lHØsÏY“ÙÆÙ=Ùàµk—õks` ¡S¦à½y3®©©’Ó£&L °E »·-R5jTDzºE¥öi—‘z.7·äVîí­õ;Ä9X,¦L™b}ȉ‰á§Ÿ~bçÎ<üðì\¹²Üëžþyâââ¬:IJe˸í¶ÛÈÉÉáý÷ß·–/..fÒ¤IÖdGtt4?þø#»wïæÕW_µ–›;w.ß~û-P2Û 4AÉÏ?ÿÌ¡C‡øùçŸùì³Ï2d>>>•êgUê*..f„ ÖC×®]Y¶lûöíãÏþ3………Lž<™””ë5S¦L±&;*;Ž—Ú²e -[¶dÅŠ=z”¸¸8ŒFc•c©Î÷§º?É>œìûïÀ%+‹°?þ‘àwßÅóÀàפÈë¯W©ÎÊrKO·~íµs'¾ à–˜ˆ¡°×´4|¿ÿžˆ¡CñÜ·¯VÚ©k||йxQ[ÓJíSÂCD¤ž³XJþkпÄIìß¿ŸãÇ[?¿ð ´lÙ~ÿûßsà 7Tªwww¢££yä‘G¬Ç¶lÙ‚å×ÿiöìÙÃáÇ­ç¦L™B›6mðõõeôèÑôìÙÓzîë_›¼ôõ’¼¼<Ž?Îùó版ˆ OŸ>üíoc̘1ÖúK·M½ôÏ”_gT¥®½{÷rèÐ!kùwÞy‡èèh|||3f 7Þx#ùùù,Z´€P£q äÃ?$22—jÇRž«}ìõsp©ô×^£ uk¼¶oÇÿ‹/(öõåÌßÿŽÅË«ÊuVJa¡ÍGÓ A$ìØÁ©•+)øõÕ—‹ }ùåÚi_¤Ž1~û÷‹HmÒ<"©SNœ8aó¹mÛ¶6ŸÛ´iÃÑ£GË\—žžÎ?ÿùO6nÜÈéÓ§ÉÉÉÁl¶Ý 77“É„¯¯/ÇŽ³9×®];›Ï7Þx#6l°–ŠŠ¢cÇŽìÙ³‡””üq $yѲeKúöí˘1c*5Ë£*u]Þß>WX¢4‰SÝq¼¼Ìåë‘T'¨ú÷Çñ_ÎâåÅ™¿ÿˆ!C¬¯±¤½ý6…Í›W©®ª(öó³ù|~òd̘Èxâ BŸ(YkÄ-%…¢ððZ‹EDäz¢„‡ˆˆˆÔ{YYYÜ{|9sæªe‹ŠJÖ»±\öëEC%¦I¹ººòÅ_ðå—_²fÍŽ;ÆÅ‹ÉÍÍeÏž=ìÙ³‡íÛ·3kÖ¬kZ×¥r.y¯)__ß]_Ku¾?µÅ-) —KÖðWf+£:±TçûSŸƒ«qKM%ì¹ç ¸dÍ#‹«+³™À3È»é&rz÷®r•‘Ó»7þÿú×oqœ9CaÓ¦Ö˜JY\]5»CDÄŽ´†‡ˆˆˆÔ)7Þx£ÍÃî»ï¾Ë‘#GÈÊÊbúôé徯àæöÛïp þþþ¸¸¸°oß>>üðÃrÛ騱£ÍÖ©o½õ‡Âd21gÎëë,<ð©©© >œyóæqøða²²²ðññÁÃÃæîÊÌR¨J];v¤õ¯kO@ÉÖ±{÷î%// .pðàA¾úê+|ðAöýºðeÛ¶m«<Ž•QXªóý©ÎÏÁ•ŠŠ›8×óçȾï>Ζ.Nk±6y2n—í:c/9½z‘ߦõsÐûïãš‘ûÉ“üãÖãûõ£¸†³jDDä7šá!"""uŠ‹‹ S§Nµn§zìØ1 @Æ éÛ·o™:zöìIhh(iii˜Ífk‚Â`00|øðrgZ¸¸¸ðñÇ3zôhÒÒÒˆ‹‹cÈ!eÊ=øàƒ 6 (y f÷îÝìÞ½»Âøû÷ïOppðUûYÕº¦M›Æ˜1cHNNf÷îÝÖ˜.Wüëì…êŒce¸¸¸T9–ê~ìðÛo[·‡-ŒŒäìk¯Qìãƒ÷–-—,Á%#ƒF'’4>w÷+ÖÕäðÚ¹³Ìq¯;‰Ž‰ÀBBék,..¤~ô~·ÔTŒ‹c\¼ØæÚ‚ØXÎÖÒ.1""×+Íð‘:§k×®|ýõ×ôìÙŒF#ýû÷gÁ‚4ºdýƒRÌ;—‚——íÚµcƌևäòDGG³dÉ&NœH›6mðññÁÕÕ•úôéÃgŸ}Æo¼a-ߨQ#¾ûî;ÆGûöí ÆÕÕ:uêÄË/¿ÌÇ\©>Vµ®-Z°dÉ&OžLÇŽñõõÅÕÕ•ÐÐP:tèÀã?ÎüùóéСCµÇ±²ªKu¿?öŠßøßÿâ?{6R?úˆâ_–MŸ:•ÂfÍðÜ·à7߬æ¨\Yad$‰‹“ñÄFFbñðÀâíM~›6œŸ<™Äo¿Å\‰D™ˆˆTžÁrùŠ]""âp©©©˜L¦J•]²ÄȤIaÄÅÅ×rT"âL^{í5þýïpóÍ73wî\G$"׋‰Kë6-õ*%åzg4 »lqçªÐ q:JxˆˆˆˆˆˆˆˆÓQÂCDDDDDDDœŽvi¹½öÚk¼öÚkŽCDD¤Öh†‡ˆˆˆˆˆˆˆ8%þø?e“ð0™Š¸çžŸIH0YÝx£¿"""Ro(á!""ÕöÌ3­ õttváL}±‡¹s“`¢S§ ºwÁÝÝ•ÈH_G‡%"""RiJxˆˆHµ=ýô ŽÁnœ©/öpìX63gv'(H‰ ©”ð‘j«hÝ ³Ù¦Mé=š…Ù\Lt´={6ÄÓÓµÜzÈ`÷îó˜LE„…yqûía{ÚÔ7}ú¢¢Œ A||66¤QPPL§NAté\n½/±jU Éɹ4jäM¿~á˜Í–r׬¸¼/Õm³2ýq”òÆãrññÙüôS{÷^`öìxÜÜ\ ô`ôè(k¹;Îqôh&S! èÚ5˜† ½®Y_DDDD®F ©¶òÖ½ˆ‹Ëæé§·pâ„ɦlX˜Ó¦u£sç ë±³góùŸÿÙÎæÍé6e½½ÝxõÕöÜI½EEÅ|üñ!úö '))‡÷Þ;ˆÅò[ù#š3ujg›:öï¿Àøñ[HOϳ õâÍ7;•»fÅå}©N›•íÏ•|÷Ý)NŸÎ¹j¹R£GGèqÕråGÆ%ãq©ãÇM|üñ!ëçO>9@T”/£GG‘‘QÀcmbß¾ 6×yzº2yr[ÆŽ®tì""""µI ±›ÜÜ"|II94nìÃí·‡áîîÂÆiÄÇg3nÜfþûß; õÂl¶0nÜföï¿@DDzõ Åß߃“'M¬\™ÂK/í&&ÆŽ­õïÙsžÕ«Ïpûíˆõ%55%Kù曓 Ü”=%3ž|²äá>2ÒHÏž¡˜ÍÖ­KeÊ”]UêSeÛ¬NÊóÝw§Ø´)ýŠe.5hP“«&<*µkËŽGT”‘I“Z³xq"ÇgóÌ3-­3< dÆÇ¾} ó¢OŸpüýÝIJÊaÛ¶³ìÜyN ©3”ð»ùÏ’HJÊ¡sç ¾ü²'ÞÞ%¯°Yxî¹í,]šÄܹ'xî¹Ö,_žÌþý2$‚÷Þë‚««ÁZÏþý¸ÿþµ|ñE}ÔÕzüܹ|>ý´;}ûþö*F¯^¡<ÿüNÖ¬9cM>üç?‰¤¥åqÛmaÌœÙww $!óÈ#9w.¿Ò}ªl›ÕéOyî½·]º„T:¾Ê¬¯±xqÉxôêÊgŸÝrÉx˜=z=çÏÿ6ÑѾLšÔŠ_~Éàøñl~ÿû–6¯"•–ýöÛ; ûí–‚‚b̨tÜ""""µM ±›]»Îðì³­­É77“'·aéÒ$vî,)³qc>>n̘q˯ï‹X,`±Xðósgÿ~Û×&Ú´ °I<Ö×RÒÒ~{Uc÷îóLœØÊúp%¯–<óLKžxbs¥ûTÙ6«ÓŸòÜ{o³JÇVY»v•ŽGëËÆÃ•ßÿ¾ãÆU~<ú÷oÌܹ'øç?1bD ¢¢|1ÀÃÃ…N‚®^ˆˆˆÈ5¢„‡ˆˆØMff͚˜kÚ´dd””9¾ä¿óç'Tºþðpï2Ç||~›EryMšø”)Ñ ÒíU¥Íêô§<µ±†GéxDD”¦M«6={†2oÞm|ùe<<°Žü|37ÞH¿~á<ø` ¼½õO ©ô¯±ÿ’ïS§L4mjûp}úôE,ð°)ûÐC‘—¿»‡——K¹Ç+GRR¡¡¶u'&^¬V•m³¦ý©5ø€›n*3 & IDATyP¾å–,HÀl¶0aBË2Éééy¤¤äV+ŽN‚X´è$Ó§aƌ•ÔŸofÆŒ£ÕíÞÙ«?µ±†GçÎ%ã1mÚ¡2kxLŸ~¸ÒmlÙ’N»v4hPò½ õbðàÖ¬9Ã÷ߟæÄ ÑѾUªSDDD¤6(á!""v3dH¦O?ÌŽç0`•Í.-qqÙøû{0jT$ƒE0{v<_ÀúõiôèJp°YY…$$˜Ø¶í,?KûöWÞÕ¤ü8"øè£C¬Ys†»îZõë®$Ŭ[—JNŽƒ'!Ø«?µ±†ÇàÁ%ã±~}šu<Š‹aÍš3äæš«T×Ì™GÙ¹óÝ»‡Ò¼yÜÝ]8|8“uëRqu5Xgðˆˆˆˆ8š""b7ÞÞnÌšÕƒ§ŸÞ‰&æÎ=a=êÅ´i7[_©pu50kV^xa'«WŸaÁ‚›ºÂ¼ª•ìhÐÀ3º3~üfŽÏæøñl6ô⥗ÚñÇ?îÀÇǾÖfjªA7fÎìÎøñ%ß—'L„„x2uj'žzjK¥ëºå–†ìÙsÕ«SÊ´ñ¿ÿÛŽàà«Ï8¹”ð‘j{æ™V„†Ú>àÆÄø²ti_6nLãèÑ,Ìf QQ¾Üv[¨Íö¦|öÙ-ÄÇg³cÇ9Ο/ (ȃ-ŒtélÝÚÕÍÍ…I“ZUv1ÔÒs11¶¯QtèȪUýYµ*…””\5ò¦oßpëƒúå‹‘^Þ—ê´YÙþ8B»v¬\ÙU«RHNÎ%,Ì‹¾}ñX`Ò¤Ö´o`S~ðàÚ´ ÀÍÍvÝ‘ñão`ôè(¶n=ûkâÄ@x¸·ÝÖȺ˜«ˆˆˆH]`°”î›'""uFjj*&“©Re—,12iRqqñµUý—M“&>6Ûã^¸PÀ¬ãøñl/îC«VþŒPDDäú4qbÓ¦¥:8©ëŒF#aaaÕ¾^3ÛºÒ×=šÅ‚ $$\¤°°˜Ù³o-·\Q‘…+’Ù¼9””\ aa^DEù2p`c5ò.sMnn‹'²mÛ9ΞÍÃÛÛ˜_lBëÖþå¶3aÂVΟ/ "‡wß½©Ìù¸¸lþüç=ôíÎcÅ0eÊ.Nž¼X©¾xðÉ'ÝX·.•üãtî̃¶ÀÓÓµRuˆˆˆˆ\‰""R¯½Ö­ýyé¥vŽÅFVV!ÇŽeWº|ZZ÷ß¿†œ3åOÂÜ»÷Ï>»ÄÄœrÏ¿õÖ~^½>i=¶eK:øÃÒÒòlÊ._Ÿ~z„‘##yõÕ¸¹lÎïÞ}žÔÔ<¶mƒ›pÇlΛLElÛv–èh_ÈàСÌJõ7$Ä€ôô<6mJ`É’$~ù%£Ü䊈ˆˆHU)á!""õÚ¶mg1®^îZIH0ñí·§Ø¾ýññÙ¼øâ.ºu aРˆ “ë×§’“c¦[·ÆŒ‰&0УL™ƒ35j=ùùf"# ÖœnðÃÕÕÀ™3¹œ8abÉ’$Ο/°^³wïyÆŽÝDaa1mÚø3bD š77rñb7¦±páIæÍ;ANNï¿ß¥L›îî. ðÁ¿Ð»w£+ŽõÔ©¬ ›R&låÂ…æÌéU¦^€Ûn ãË/o%11‡¿þuË–%+á!"""v¡„‡ˆˆˆ,Xp’W^ÙMQ‘Åzlá“,\x’éÓ°re¿ ¯MO/™}ñôÓ-éÙ3´Ìy‹ž~'ùùfî¹§)o¿}S™/¼p#Ök^xa……ÅÜw_3Þz«3®®¿]3`@cî¿¿?¼~8Í!ôîm;‹ÃËË•ûïoÆ_ijdI"ƒET؇víË+MòtëRî5 zѰ¡kצ²|y2¹¹f¼½õZ‹ˆˆˆÔŒ""R#™™|÷Ýiví:Gvv!Íšé×/¼ÌCûÉ“Y°à$Gfa6eä¾ûšÛ¬QXXÌ#l¤K—`ž}¶5ß|“ÀúõiÓ©S<ÑXòWב#Y¼þú^Ìf ”Ì|(õÊ+í+\—¢¶äç›yã’xz(’°0oÖ­Kåž{š±cÇY6oN¿âõæ_'Fxy•ÿ ¿eK:GfѤ‰o½Õ¹Üd€Á€uvÈæÍéÄÅeÓ¸±o¾ÙÉ&ÙQªC‡ ž{® o½µŸ¯¾:^&á%I˜ùóøðÃC ФÜzì¡4ÉQXX¬„‡ˆˆˆÔ˜""Rm;wžãé§·rþ|þ%GÓ˜3ç8/¾x#O< Àÿ›Äþ°ƒÂÂbk©µkSùòËã¼òJ{FŽ ¸ØÂ¶mg1Ýxúé­¬^b-¿fÍ–/OfáÂÛqww!;»mÛÎ%ëe”~]úùJ¦NÝÏ•îç{ïÝDãÆ>W,sæL99f† ‰àõ×;²uëY~ù%“‘#[0rd 묋Š•ŒMEÉ„-[J&C‡6µ¾r5¥×Ü}÷•_§6¬o¿½ŸíÛÏb6[ÊÄäÉcÅò÷¿fÑ¢SŒѼRíW•‹KI»¥c!"""RJxˆˆHµddðä“[ÈÈ( C‡@†oAx¸7II9,_žLvvIÒ!55çŸßIaa14aÀ€Æ¸»»°ví,8Éoì㦛‚iÓæ·ëÖ¥àÁ /ÜHl¬/©©y|òÉÌ`É’$†mJË–~̙ӫÜEK¯6»ãðáL›ÉÕäæš¯Z¦I¼¼\+L¶”]“£TQ‘Å:¤aCÏrË$%•,RëwÕXJ%'—\Ó²å•Ç# Àƒ† ½HKË#3³€  ²1<ñD,ÿþ÷q¦M;Ä=÷4½b¥ºBCK^mY¿>¡C›Ú½~¹¾(á!""ÕòÝw§ÈÈ( ÿÆ|òI7›s£FEZßм<3Ç·à­·:YËüîw ÷á£1~¯¿ÞÁzÎÍÍ…yón#2Òh=Ö¼y~x»vgèЦøúºÓ­[øû»W¸FDy¦LiwÕY —jܸì6¯—ss3ðÊ+íyå•=Œ±–-Œœ;—GÒÿ³wçaQ•íÀ¿Ã°ï‹l²#¢¨ˆk¨ *n¨™[jfVæRØ«•¥½f¯eeæRj–Kf™Šš¹¡æ¾ È&ˆ²É¢ìûÎÌüþàÇäÄ6Ã"KßÏuy]rÎýœsŸ3ã%sÏóÜ'µuϹz5[¶D#)©¹¹˜0Á––ZuÆ–—WÏzPS“¿Ð È˜š˜²²º‹;ÚÚÊxóÍîøòË(8… äÎC^Ó§[ãðá$¼ûn0¾ÿþ>ÌÌ4°o_Ýæ%"""j DDÔ$5KBj–­ü“ŽŽ €êÙðÒKµ—AÌ™c‡Í›£-»¼ÄÙÙ@¦Ø}úT7ÄÌÍ-GsµVÙ³mÑ·¯Ž}„72[€#üÑ­›¼½{ÂËK¶ágffîÞÍ88è`Å §z]Ó—£¦¹©û, qq…HN.nñsÑ¿ DDÔ$53êz|êÓjfÔõAZOOÁß1Ooÿ'•êþâhïÐ=S@KK))Å‹%Ò§|4¦5zx¤¦–àĉÌœiƒ.]þžÍ"‘‡'A,– ¢¢þÂI·nÕE£ÜÜŠ: &&êxõUüðC,^{í>þ¸/¼¼,ež¨R\\…Ó§S §§ OÏ®01QÇüùݰgÏC,Zt ë×÷ÇØ±]!øÿ!eðñ í[™04T“«/‡²²ï¼Ó l;cWDnnõ“lºuÓiÑãÑ¿ DDÔ$C†ÃËË'O¦àÕWoÀÄDææšHK+Aff–-ëOÏ®5Ê C†# S¦\„­­6TT”WˆÊJ1ºw×ÅŒMÌi¯^úÈÄÈ‘ç`a¡ X»¶oƒ}:Z£‡Gqq6nŒÂ·ßÞƒ……&ttTšZ‚!CNKûcL›f]ïxUÕê¥$O?º÷ŸÞ}·’’Šàwß ÆÚµ¡°·×P¨„'OJ™Y±X‚+zÁóÿWƼÿ~o(]º¨5º¬'9¹YYePWÂÆ¦á&¥¡¡9‰$4¨îbHPP6Äb LLÔëíãšƒŠ ±\ ~ë­Ûð÷OCDÄhh4½FDDí›··)`ëÖô6΄Ú;mmm˜šš6y<—´Q³ …ioކhi)ÃÙÙ ÞýJJ‚z?7´OÞó?+††j°³Óžžª\Å00¨Ž»s'[±±:ŒÕÊÍÊJVVò=q¦®&§O“gVHcǨQQ!FTT>ÔÕ…ÍšñCDDDTƒ""¢V ¤à¢Ñ~ýª A[·ÆàôéT˜™i`ß>·VȬ}¹z5[·Æ 1±¹¹xî¹.Ò¦ªDDDDÍÁDDD­ W/}¼óNO¹ãu±x±#”•ˆ‹+DPüÍíÈ23ËšƒÜÜ tíª‰Õ«û´uJDDDÔIp†Q+ÐÕUQ¸Èûï÷Ʋe=P„ÒÒªVʬ}>܇‘‘ll´ä~´0QcXð ""jG´´”ѧ~[§ñÌ4¥ ‘<¸¤…ˆˆˆˆˆˆˆ:<ˆˆˆˆˆˆˆ¨ÓaÁƒˆˆˆˆˆˆˆ:<ˆˆˆˆˆˆˆ¨ÓaÁƒˆˆˆˆˆˆˆ:<ˆˆˆˆˆˆˆ¨ÓaÁƒˆˆˆˆˆˆˆ:å¶N€ˆˆ¨¹œOÀÙÙ¿þú|[§¸}; û÷ÇcÛ¶çäsäH~þ9 E‹¨¨)2ûÝÜÎ =½Lú³P(€*ú÷7Ä›o:¢ÃZÇŒŒÌÃÞ½˜¬¬2hh(ÃÁA“&Y`Î;¨¨Ôÿ½GSƺ¹AVV9îß¡ÁkõóKš5¡Ð×WÅ€†X³¦/¬¬4»EDDDD aÁƒˆˆ¨ÅÆàÃC¤?«ª6>S$’ +«çÏ?ÆÅ‹O°k×P n*Ý¿}{,¾ù& Éßc***pçN6îÜÉÆ¡CIøé§a05U¯uìæŒ•—H$Avvuþ•8p }«ˆˆˆ¨ó`Áƒˆˆ¨ˆÅ?žŒßODLL>Š‹«0r¤?† 1Æ‚Ýàä¤WïØ  ,ÀË/Ûã?ÿq‚žžjqB¡@:{¢²RŒøø"|õU._~‚¯¾Š’<üü’°qc`Á‚nxé%[ØØh£¸¸ 7ndà›oî!&&o¾y GŽŒ™­Ñœ±òš>Ý/¼`ääb¼òÊ „„ä@,–@II ð±ˆˆˆˆêÃDDD-à“O°jÕܹ“ââ*@JJ ŽIÂüù×[PP?~|Wèë«B Çç~%ôè¡‹Í›C( ::UU”–Vá‹/">>ý°vm_tï® UU%¨ÂËËGŽ„¥¥&¢¢òpèP¢ô˜Í«(¡P[[môëg€ÊJ1JKEM>Q]Xð "¢&)/ÁÁá–, @JJ –. @ÿþ'Ñ·ï ¼öÚMDGç×9îøñd̘q}ûž@Ÿ>'0eÊEüüsÄbI³bÛR~~L„¶¶2¶n}»v …§gWœ??ŸÞ½{ë78¾æz”•ÿoYðêÈ¥KéÈÍ­€‹‹!æÎµ«sŒ¾¾*>üÐpôhr‹Œmªš""QûzM‰ˆˆ¨ãã’""j–üüJÌž}E¦¡æÕ«éÎÂï¿YÊñÅ‘øñÇ2ãïÝËǧŸ†#44›6 nR¬"^yå:nÞÌ”;Þß ºuÓi0¦°°b±S¦Xa ܾ%%ìì´ag§™3m_RR=ÃCžÞ5ªª$HH(ÄW_EA$’ÀÉIÊÊ„†æÆ3opü¨Q¦PV 22••b¨¨(5klS©ª Tß]]•&‡ˆˆˆèŸ8Ȉš%(( ææðóˆˆ)ð÷ƒñã-PR"‚O˜4.**?þøêêB¬[ç‚[·& 8x6n}}Uüùg .\x¬pl{`a¡33 „„ä ?¿BîqbÜ»—Ó§S  `e¥Õ`¼H$ƒÃ188CÏžÇ1aÂ_¸xñ „BÞ{¯7 3³ºðdm­Ýà±ÔÔ„01Ñ€H$AnnE³Ç6•Mõ5ïÚõÙÙå2R‰ˆˆˆšƒ3<ˆˆ¨Y45…عs(ŒŒÔݺéàÛocÒ¤g#+«]º¨áÌ™4ÀÛo÷ÀüùöÒñS§ZAII€+‚pêT ÆŒ1W(VQ?ÿìޜ˭“@lÛæŠeËàî~¶¶Ú¨¨ãèÑGpw7‰Ií§™øù%ცŸÌ¢¯¯Š5kœa`Pw³Òº()É>–vÀ€Ú¥íæÌ±Å;ÙØ¿?ûöÅAUU ÷îMmë´ˆˆˆ¨`Áƒˆˆš¥W/}i±£†²²C‡#.®IIEèÒE ‰‰…ÚE 3@RR1(Û^ôëg€Ë—ÇáêÕtœ9“ŠË—Óñ¿ÿE ¨¨³gÛâ“O\ê} ‰ŠŠÌÍ5=ÇÓOi©±quqåÑ£¢ãÊËEÈÈ(…P(Zš3¶©´´T`h¨&W£V""""E°àADD­êŸM5ù`Û‚[£‡G UU%Œc”—‹±yó`ìß_ßpØÚjãµ×¤±Ó§Û`âD ܹ“ƒ·ß¾>Á¨QfÍê‡T^ªó~Œ7ßt¬7îÒ¥tTUIàâb(=gsÆ6Õ‰ÉðóKÂèÑfX»¶/ºvÕlÖñˆˆˆˆj°‡5˽{yÈÎ.—ÙVU%Á­[ÕEkëê ¶¶ÕEƒK—žÔ:ÆåËÕÛjú9(Ûž …Ìk%%nÜȨµ_CCîî&˜4É……•xô¨ù³V<<Ì ¯¯Š°°üúkB1yyذ!ðâ‹V-2¶©"#ó+Vô‚¥¥V½³`ˆˆˆˆÅDDÔ,%%",^| k×ö…££.ÒÒJ±iÓ=ÄÅbÐ #téR½Üe„®Ø±ã>¶n½--Œ×**\½šO?­nn:q¢¥Â±ŠjÂ×7/½d‡~ý ‘H KðàA¶o…X,ž^ýK?LM«—’äçW6; e|ðA¬^‚uëî".®sæØÁÆF ÅÅU¸q#ß|sÉÉ%èÝ[³fÙ¶ÈØ¦*(¨nzjfÖø’""""E°àADDÍ2xp$%aúô+2Û55«Ÿ°R£wo}¼þº~úé!Ö­»‹uëîÊÄ{yYbìXs…cÛ±X‚ë×3pýzõ,¡P‘H‚s窛¯jh(ãõ×ê/*IÓfδÁ“'¥Ø²%ûöÅaß¾¸Z1=zè⇆ÖZ’Òœ±ÀßO’©Ë°aƵ N5OeáÌ"""ji,xQ³èé©ààÁáðõ G``Äb 4ªU}àä¤'»zµ3zöÔÃ/¿Ä#6¶b1`o¯3ldžÆ¢hl[ëÞ]¿üâŽcÇ’–ƒ””bØÚjcÀC,]ÚCº´§.­Ñ«ÄÛ»'FŒ0ž}q ÌBVV9ÔÕ…èÞ]“&YbÎ;¨ªÖ½²µ9c›ŠMK‰ˆˆ¨¥±àADDÍfm­…~*Wì´iÖ˜6ͺEc#"¦Èu¼Ö"C†cÈcÀøí·DlÛöœ\ãkfJÖ¿¤åÆ çÕ·¯6n¤ð¸¦ŽmJŽ……UÐâ""""þvADDÔÂ]žabRÝÃÃÏ/ YYåÒeYe¥‘‘y Ê‚žž*ÔÔ„mu2œáADDÔÂ]ž1t¨1TT”pölΞMƒªªîÝ›Ú:ɵ~~IøàƒéÏ“'7­-QC8Ȉ¨… b,÷r z†Ç¶m®è×ÏššBþ -„BLLÔ1uªþûß¾muBœáADDM¢¦&ÄÇÓÚ:Ncôh3ŒmÖÖi<Ó§Û`út›¶Nƒˆˆˆ:9Îð """"""¢N‡"""""""êtXð """"""¢N‡"""""""êtXð """"""¢N‡"""""""êtXð """"""¢NG¹­ "¢ŽI$á»ßÁÞÈ^N^mN‹HÈIÀ•ø+((+À@Ëp³u«3nwÐn•AI „¥C—B¨$¬SRY‚oÿ0Ó1Ã,—Y­š;ÉbÁƒˆˆš¤JT…-×·`L÷1¾àq(ì~ üñÙñÒm‹‡,®·àñÓíŸ^”p6wÆûµbNEŸÂ–ë[.æ.,x=c\ÒBDDÿz7o >;¶¶õ9þISEFšF8~¤Îý‡ÃÃZߺ%Ó$""""°àADDÿz³]fãÜ¢s¸°øæôŸ#ס’S{OÅ…Wš'³/>;!©!˜Þwzk¤KDDDDr`ÁƒˆˆZDtF4öíÁO?!ìqX½qÁ)Áø5ôWüðNÇœFfQæ3̲nÃl‡ÁÞÈ^áq3]f¢RT‰?¢þÙ~8ü0”•”1µ÷Ô–J‘ˆˆˆˆÄDDÔl__ù;níÙ6µ÷T|éõ%„‚ꆞy¥yxíÐk.§¦¬†÷F¼‡…ƒ6zžc‘Çœ—,w^ó·†ÜñŠêÞ¥;úš÷Å‘ð#X0h€êf®Ç£Žct÷Ñ0Ô4lµsQÃXð "¢f I Á…0Â~ºwÇã‚Çð¿ï?¢þ€­-¼Ý½{ƒ÷"üq8LµMáÑÝzêzHÍOEà£@ÜI¹#wÁãfâM¹s›ä4©U 0£ï |ìÿ1î¥ßC/Ó^¸ôð2‹21ÃyF«ž—ˆˆˆˆÆ‚5KNI¾œô%^t~Qº-ìqfý< {‚÷`™Û2Bä”䎾z¦Ú¦ÒØ Q¢žDÉu®i}¦aå ¹s{3,&÷šŒõ­Ç‘ð#øxìÇ8v&Ú&n?å¢òV??Õ""j[[™bPýÖ±ŽcqöþY<È|€ž&=áéè‰_CÅîÀݘå2 ö†öPª¢¿E¹Î5­Ï´Ö¸„fÑQÓgOœ¸wo¸¾Ëq—ñ†ë* Q[gGDDDôïÅ‚5‹¥¾eÛ­ô­åw;wü6ï7ì Þ‡Ù¿ÌFyU9ú˜õÁXDZ˜ÓšK5— IDATo4T4=W{ëáQcºótœˆ:wþx"‰Óùt"""¢¶Æ‚5KJ^JÛk ºjºÒmƒ­c°Õ`@FQ“ñù_ŸãlÌY|ù ” ?<¬=öð€a6Ã`¡gÐÔP °Ф'¾QËbÁƒˆˆš%17G#ŽÖêáq>ö“sQÃXð "¢f1Ô4ĪS«p*ú‘VÿûþIDX8h¡ô±´;vâNÊ ±¨U“ƒ«ñW!¡¯¡ßè¹Z«‡GTzþzðàAÖ@pJ0¶\ßèkÞ#»lððpðh•üˆˆˆˆHq,xQ³ °€nFݰ3`'®Ä_‘nŸÚ{*–¹-“þ<Ôf(î¦ÝÅŇeÆk©já¿£ÿ #M£g–ó?E=‰’7jÜI¹ƒ;)w/x¹Ñ‚µ/,xQ“( •±Ü}9ììáåä…‰Nø(b‰-¢_×~2ñoyóÎÇíG·‘“0×5ÇpûáÐTÑl‹KêmÖËÝ—×»¿¯y_™Ÿ_w}UWEIËÝ—ÃLǬÙ9‘b‰DÒÖI‘¬ôôtÉ{ú´6–/7ÅÇq­œQóy{›¶nMoãL¨½ÓÖÖ†©©i“Ç7ÜŸˆˆˆˆˆˆˆ¨bÁƒˆˆˆˆˆˆˆ:<ˆˆˆˆˆˆˆ¨ÓaÁƒˆˆˆˆˆˆˆ:<ˆˆˆˆˆˆˆ¨ÓaÁƒˆˆˆˆˆˆˆ:<ˆˆˆˆˆˆˆ¨ÓaÁƒˆˆˆˆˆˆˆ:<ˆˆˆˆˆˆˆ¨ÓaÁƒˆˆˆˆˆˆˆ:<ˆˆˆˆˆˆˆ¨ÓaÁƒˆˆ¨‰^;ô|/ø6º­#É,ÊÄÜs±7xo[§"£3Þëg÷ˆˆþm”Û:""¢Ž*(9e•enëHÊEåL„£±c[§"£3ÞëgMÞ{8ÿ·ùp2qšÑkžezDDD-Ž"""êvÏÚ m5í¶N£C«ë&B ´QFDDD-‡"""ê[ në:<ÞC""êÌXð "¢fÉ/ËDZÈcI Aay!¬ ¬1¶ûX¸Û¹*E•XppY ÂÛnoã×Ð_±DŒ–1à|hªhJ—^”ެ€gO¼:èU™sÕì›Ðsæœ/ÝžQ”Ãᇛ‹¢ò"Xê[ÂÝÖcºQø›j‘X„Ëñ—q=á:å>‚PIGcGLwž;C»&ß§¤Ü$iŽ"±öFöx±Ï‹p2u’Ƽû绀“7J·”`éÑ¥H$øvê·0Ñ6‘î[}f5ŠË‹±å…-Òmùeù8~¡©¡(ª(‚©¶)ÆõZ9…¥…áPØ!¤¤Â\׳]f£‹V—&]Ÿ¢¯³"÷¥>¯z ö†öøï˜ÿÊloè=YZYŠ¥G—ÂFß>ã|j³´²Kü–À¡‹ÖŽYÛ¤{Ñ\ò¼Ÿ›z¿ÿéé{x?ó>|Îù@$!òI$æ˜+[;v-œLMˆˆˆÚ<ˆˆ¨Éî¤ÜÁÒ£K‘S’ó÷Æà@È|8êC¼áúÄ1“¡­¦…¿/ÄíG·¥¡^Äш£8øòAhÊ*Ëêí!Q³¯—i/é¶ØÌXÌúeŠÊ‹db„À,—YX?a½B×4÷×¹¸“rGfÛұ;p7¶MÛVgá 1gbÎ`åŸ+Q)ª”n»û‚÷a혵Ò⪲*‡Ƈ£>„±¶1àfÒMé=»žp/:¿È+̓_¸¼zyIšŠ7¼‰ÜÒ\™óûEøa¦ËL|>ásé¶#áG°æÌˆ%bé¶£Gñîðw¾> ¿ÎŠÜ—úÔÕBž÷¤†~½û+>·¶¶2ãOÜ;‰70¹×äF¯yý_ëù$²Ñ¸_Oþ]u»6#ïû¹)÷».OßÃÂòB&¨.´Õü½æg""¢Ž†""j’¼Ò<,ö[Œ¼Ò<¸˜»`¦ËL˜ëš#5?çbÏ¡°¼P&þjüUh«icÕÈUèÞ¥;>Ʈۻ—ß ¾2³qðîA•ad·‘x¡Ï ÐW×GJ~ ®'\¯•ƒ<ŠÊ‹0µ÷T ¶ K=K”U•!:={ƒ÷Âç¼Âô¢t¼ò}TŠ*1¾ÇxŒï9*J*¸‡Ãã³ Ÿa å@ô2í7[7;Œ‰7ðBŸT9Œµ¡­ª‰7¤[I· –ˆánë.Í{‰ßä•åá…>/`d·‘ÐS×ã¼GØ´‡Ãc¨õPLé=iiøØÿcˆ%b¼èü"<< ‹p&æ ¾¹úÂ÷ìiò¾ÎŠÜyÉûž\0hþ¼÷'„ÀG£?’9Æ0Ô4”«à“#ShLiei£1оŸ[òßUã80÷@MK9»ƒˆˆ:"<ˆˆ¨IŽEC^i<=ñý‹ßËì›Ûn­gHðóK?Ë|€ÐsÆþ0§¢Oá³ñŸÉ5ÿŸ”•ªÿ+ûÚëkèkèK·¿Ôï¥&}+}`îÜ~tWâ¯Àÿ¾?*DH$PSVCj~*ž>™Ž™ÜÇ;yeUeµfXŒë1æ:æØ|}3~û>ž>p³uƒ@ Àµ„k2w[wh«iãtôiH$i ¸Ù¹UŸ'ê8²K²ñÞˆ÷°dè™&öœˆßÀÑÈ£˜Ò{ ND@…¨ /”ùÀ?ÉiVZ…£G¾o5ä}¹/ò’÷=Ù¯k?¸tu_„V_  @Hjî¥ßÃ[ÃÞ‚š²Z£ç[=j5 Êå56»PüýÜ’ÿ®tÔtàjí @= =¸Z»Ê5Žˆˆ¨½bÁƒˆˆš¤f*ÿ®oÔ¹_GMGæg'§ZßÖh`L÷18~³¢¯y_…ó˜ÓŽEÛGÞÄ }^@³>èaÜjÊjÐU×UèX"‰+N¬êRX^¨PÁ#&#ð’ËKuæ¾ùúfD§G¨¾½LzázÂuH$$å%!%?+†¯€ŽšößÙ˜Ì8™8áFâ 8tq€©¶)ànÚ]ÀùØó¸™t‰@õâš¿ÇeÇîgÞÌì;³VN3ûÎlVÁCÞ×Y‘û"/EÞ“ .ÀÊ?WâdôIé}8rÊJʘ7`ž\瓧ψ¢}?·Ö¿+""¢Î€""j’²ªêuÿõ¨Q_ñAO]P^UÞè1DbQ­mv†v¸°øNDÀÍěظiip·sǪ‘«àÐÅA®üàϨ?q-ál lðò€—ac`MMü|çgøß÷—äUs]O[_CO]@æÚŸ·;ní@Lf î¤Ü@ €»;Ô•Õ¡¬¤Œkñ× &¬žmòtS×’Š@Øã°zsQUVð÷kW×kRóz4•¼¯³¢÷Eм'':MÄ—¾À/w~Á̾3‘S’ƒ31g0¡ç™Æ° iоŸ[âßQgÅ‚5‰¹Ž9 89X®§—ÄfÆ¢RT ¡ŠÌöˆÇSê™ 5àdšNÖ#+¶Îcë©ëaþÀùÒ&—EXâ·¯|—–\’kyðw±`Û´mµzlººI®cüS͇çðÇá°1°‘Ùñ$‰Dzíàn뎷vàjüU„¦†¢§qOiú[ôÇÄÒ%n¶nÒqæºÕ¯‡§O½Ežšå&ZÕ9E¥GÕš­ñ$¢I×YCÞ×YÑû"EÞ“ÊJʘÛ.¾½ö-î¦ÝE@R*Dxuð«rŸ¯5zxнŸå½ß ‘@á‘¢$O5Í&j-JmuLcºl¸¼×®Ëì M ŹØs2Û²Š³ðÙ…ÏP!ªPýjOÐ&ÂZßÖúÖª¿×VÓÆå¸ËÒ%@õrŒ —6ÔÊcoð^$Èl«9FFQs徦šÙ!)!ÒmUâ*l¹¾Á)ÁrçiÃ퇾ºü•t) ¤æ§bÿ:™h9*¸wdö¹Û¹#8%\€²’2†Ø ‘î×cà¨?`®kWkWéŸAVƒ[š‹'…OTÏ"€/.~!sb2bðÍ•æ5-•÷uVô¾ÈCÑ÷äœþs *TÅþ;ûñÛÝßàbîs¹Ï·zÔj˜{@î?òôðPôý,ïýV„–šRòSdžàCDÔÒBBæÀÛÛááám ubœáADDM2Äf¼œ¼p2ú$^ýýU˜h›À\×iiÈ,ÊIJaËàéè)ïfÔ GÂàdôIØØâqácdeÞùžÌ±gö‰=A{àµÛ Ý»tGyU9sÑÇ´’ó’eb¯Ä]ï_h©jÁZߪʪˆÏŽGay! 4 úÀ7Ò~$¾»ñÖ[‡Ÿ‚¦sQP^€Þ¦½•¥ð}Õm†Ø A@R¦ì™[[¨U—‡JQ%ºwéŽ}gHãU„*xÎê9\‰¿ ºÈQÃÝÖ›®nÂÄxÎê9éLxÎê9Ìt™‰Ãa‡á±ÃVúVè¢ÕeHÉOAyU9YŒIN“0ªÛ(ô·èÐÔPŒß5öFö‰EHÌMDãH/JWø:kÈû:+z_ä¡è{ÒHÓ^½¼¤=KÞñ^}‡®SkôðPôý¬È¿+yõ2í…€¤ŒÜ>z@€µc×òI-DÔ¢Ì̦".n#¦OŸ777,Z´nnn$RgxQ“mœ²ÞîÞÐQÓAFQÂÒÂY”‰A–ƒ¤3jØÚaË [ þ8™E™ÐQÓÁú ë1±çD™Xo7o¸Û¹£RT‰{é÷Ÿñ=ÆÃw¼o­^7[7”T– :#aia(,/„«µ+ö¾´W¦(З®.X7v4T4ð(ïÂÒ °aâ™ÙŠØ9}gõ‡wIõL•˜ŒˆÄ"x:zâ—¹¿@]Y]fLM‘CCE-J·;›;Kg¡<]©ñ¿ñÿÚÑk`¢m‚ä¼d„¦†".;b‰{N„W//€PIˆ]3va”Ã(T‰«›‹¸ì8 ³†Ï'~^븊÷unÊ}‘‡"ïIÒ>(&Ú&˜ÐsB“¯»¥(ú~Väß•¼Þù>Œµ‘V† ä &6é‰GDD ±°˜‹S§Ná§Ÿ~‚X,Æ‚ 0yòd\¾|¹­S£ND á"M"¢v'==EEErÅž>­åËMñða\ãÁ­D$áaÖC”U•ÁJÏ †š†Ò}åUåèýuoŒé>;¦ï@¥¨²@,ÃÑØªBÕz›’Ÿ‚Œ¢ XêYÂDÛeUeK ƒ™ŽY­¾%•%HÊM‚D"¹®¹ÜÍTëRZYŠ„œ €C¨Uð(ïâ·#èˆ÷›ˆ¨F]aaaX¿~=BCC1nÜ8¬^½]»6Þ‰:§æ<ØÃƒˆˆ:½EG¡¸¼¸Á-5-ìš±ëeÔqÈ{ï¶½°íeÔ|ÑÑøìügHÎOÆã‚ǘÐsB‡*vuf...8xð Ξ=‹ 6`âĉøðÃñÒK/µujÔ±àADD^pr0 Ë ŒÑQÓyFÙt,ñÞ”H'kod5kÚ8#""zš@ À„ àááo¾ùü1®]»___4}É*ýû°àADD­JE¨‚s4«§Fsíš¹ "±¨Á¡’ðeÓ±È{ïÚÃë,/''˜{ºêºèÞ¥;”•:Þ¯Cé~5•ššV¯^Q£FaÕªU˜8q"¾øâ Œ1¢­S£‚=<ˆˆÚ¡ÎÔȈˆèi õð¨Oaa!>ùäœ8q+W®Ä’%K Z+Ej'ØÃƒˆˆˆˆˆˆ:5lܸ À§Ÿ~Š„„|þùç 9C“êÇ‚uóæÍƒ••Þzë-”””`Ó¦MPQ©ûÑëDJm‘¼†ŽÝ»wãúõëxï½÷ ‹Û:%j§Xð """""¢eðàÁعs'Ο?Ï?ÿ¼­Ó¡vŠ""""""êp\]]ñå—_bïÞ½øóÏ?Û:j‡Xð """""¢ÉËË ,ÀG}„”””¶N‡Ú<ˆˆˆˆˆˆ¨Ãúàƒ`aaµk×¶u*ÔÎð)-DDÔâRòS0rûH¼<àe|âù‰t»óFg8›9ã×y¿¶Ú¹Ë«ÊÑûëÞÓ} vLß!טg‘—¼ÚS.ÍUPV€« Wñ׃¿p%þ Ê °xÈb¼?òý¶Nˆˆ:üïÿÃìÙ³qñâExxx(4>##„««+\]][)Ë–#‹†Û·o£¢¢S§N…MƒcîܹƒððpˆÅbôîÝÏ=÷””êŸÿ h<$%%!$$™™™PVV†±±1,,,àââÒffÁƒˆˆ¨éñe¸Z»âç—~nëT°Ö-NEŸjë4ˆˆè_`À€3f 6oÞŒQ£FA È=6==[¶lÁòåËÛ}ÁÃÇǧNBNNŽt[¿~ýê-x”––â­·ÞÂÕ«We¶×4}ÕÕÕmV<Ü¿Ÿ~ú)nß¾]g†††xùå—±|ùr¹®±%±àADDÏLÄ»m=Czêzðrò‚‡ƒJ«JñÑ™Ú:%""êÄ–-[†iÓ¦!88ƒ–{œ©©i‡(vÀ™3g——‡~ýú¡¼¼ÑÑÑ Æ¯[·W¯^…¾¾>¼¼¼ ¬¬ŒÓ§O#((«V­ÂŽ;šŒ… ¢´´ZZZpssƒ••”””‘‘´´4„„„àâÅ‹,xQçñé¸O¥?{ÿlfBDDÿÎÎÎèÝ»7üüü*x˜˜˜´É‡ñ¦øä“O0xð`á“O>i°à‘’’‚ãÇCGGLJ¥¥%`éÒ¥˜+,xQ›ÑVÓÆþ9û›‹Ûn#&#G §$Ÿx~‚IN“~~x\𞎞ðv÷† 4”5 °Ö­Ly õ,Ä1@$®Êé?gY4÷œõikÿ'öð "¢ÎDKK %%%øì³Ï`mmãÇÃ×ךššèß¿?¦NЉ'Êu,‘H„+V@KK ¾¾¾µþ/ÏÉÉH$ÂæÍ›ë=Faa¡ôïϲ‡‡±qõìÙ´´4ôìÙSf_Ír“š˜¦ÄwëÖ )))ˆˆˆ.y©1}úß³ïݻǂu,66€k ×0¯¿ìΫ W:–£±#¥?¿uì-¼wò=¸Û¹CO½ºw¼;â]™Ú¢ $ÔyÌ{é÷]’-3Ë£J\…[I· Á% 5çØ÷Ò>¸Ùº)t- ïLÌô4éÙH´,E¯]ªDUÍÈ–ˆˆ¨c+..†”””0cÆ Ì˜1b±‰‰‰¸téV®\‰¨¨(¼ÿþû G,ãƒ>lذ¡ÎÆœººº¨¨¨À¢E‹jí«áàð÷“Óžeš§©Ü¾}2ûdbš?|øp\¹r{÷î…§§g»l\Ê‚5ɸã°3`'¾ºüÔ•Õ1Úa4DÎÄœÁ÷7¿—ë«O¯†™®F;Œ† T„*¸Ÿy² RT‰ôÂtè©ë¡«nuó¬]·wá?Ïÿúúxù›®mBBNBÇ.©,Áâ#‹±vÌZ™¦¥qÙqd9¨Þå,0ÍyvÜÚ•'Vâ½Õ…—.Z]_–ÄÜDœŠ>SmS¹{xLí=µºGÀˆ$"Ìè;f:fHËOùØsPUVÅkƒ_«s¬¢×®¯¡Yð(ï,õ,¡$hü—öð "¢Î$77ÎÎθt醡P%%%ØÛÛÃÖÖû÷Ÿ_ƒ‰D‚ÿþ÷¿(..ƶmÛ  ëŒ6l~ÿýwØØØ`êÔ©µöÇÄÄÈô¸x–=<<<<ðÙgŸáðTI IDATáØ?¾ôQ³ÙÙÙØ·o`ìØ±MŽŸ9s&¶oߎàà`¬^½ü1´´´jåÑÐã}[ DDÔ$}ÍûbNÿ9ø-ô7|pê™}^N^8}²Ñc<)|‚ÃᇱõúÖZûz™ö‚C—êoD&÷šŒïn~‡#áGp$üˆ4F[McÇâ|ìùZã[ FRn¦ÿ<]f»¦Š&Ö]W+þi¶¶ølügX뿫Ϭ®3fñÅ^_ ;C;¬ñXß¿|±ãÖ층Cfÿ²aËê«èµ±‚“Ñ'á±ãïofÌ=Wëú;Ñ·–Ca‡°æÌ™m;vbgÀNÕ n?ñüä™çEDDÛ“'O`llŒ·Þz 0`¬¬¬PYY‰€€¤¤¤ÔZ²ñO>>>8qâ^}õU|÷ÝwµöÏŸ?Xºt)Ξ=‹wß}{öì‹‹ ttt™™‰ØØXDDD`÷îÝÒ%Ííááïïû÷ïÂÃÃüñîÞ½ ˜8q¢tF‰¥¥%¦M›†£Gâ…^€——TTTpêÔ)ddd`̘1236×ÔÔÄÖ­[ñÚk¯ÁÏÏþþþpssƒµµ5”””   $%%ÁØØXúßg‰""j2OØèÛàà݃H-H…©¶)^ê÷¼zÉWðØ0iŽ„Á…“ $èªÛã{ŒÇÂÁ ¥³ÌuÍñËœ_°áòD>‰„’@ -bÕÈU2E€§é©ëáàËá{ÁÉ‹ÅÕcF­‚“‰Scž6ËezšôÄîÀÝLDNI 5 ak`‹IN“0µwíoq²`Ð8;bwÐn„¦†¢´²VúVç8¯=W÷쎦\ûG£?B•¸ _–/÷·HDDDARRrrràââœ?gΜ‘‰±´´Äúõëë=FLL ~ùåÀŽ;ꌙ4i `ii‰ýû÷ãÝwßEdd$"##e✜œjõ·hŽsçÎá?þÙöôÏŽŽŽ2Kh|||™™‰k×®I¯  „/¿ü²Öñ­åËMñða\+gEDDDÔ|ÞÞ¦€­[Ó[üØÇÇš5kp÷î]¨ªª"33ÁÁÁHNN†¦¦&ììì0tèP™~8xð \]]áêêŠÌÌLüö[ÃMÁkfxÔH$ Add$JKKaff†=zÈ̈h OÏð¨ËÓ3<žŒððpˆÅbôîÝ®®® öÜP4¨.6ݹs™™™PRR‚……†Ú¬™ÚÚÚ055mòx<ˆˆÚ!<ˆˆˆ¨³j͂Ǜo¾‰ªª*ìÞ½»ÅMÏ^s \ÒBDDÔDý7õGayaƒ1:j:]úŒ2"""ú÷ÊÌÌÄ•+Wðí·ß¶u*ÔN´¿çÆ)hïÞ½ÐÕÕÅèÑ£Û:j'8Ȉ¨‰8sƒˆˆ¨}HOOÇÏ?ÿŒ•+WBUUµ­Ó¡v‚3<ˆˆˆˆˆˆ¨CÛ°aŒŒŒ0oÞ¼¶N…ÚÎð """""¢ëĉøóÏ?ñÃ?pvÉà """"""ê’’’ðñÇã•W^Á¨Q£Ú:jgXð """""¢'33 .„½½=>øàƒ¶N‡Ú!<ˆˆˆˆˆˆ¨Ý Bbbbû ñúë¯C(âÇäRª DDDDDDÔ®DGGã7ÞÀÆkíËÈÈÀܹs‘““ƒ={öÀÐа 2¤Ž€""""""j7’’’ðÊ+¯ ´´gΜATT”t_|| 4 äŽ'""ª¯¯/Ξ= ±XÜ`œX,FJJ Ž?ŽéÓ§7KTƒ""j’âŠb,ö[ŒÌ¢LØÚÁÝÎ"±Wâ¯`õéÕrcoð^„?‡©¶)<º{@O]©ù©|ˆ;)wd ×®ÁDÛý-úÃBÏåUåÒÙ«N­Âáù‡eŽ’‚ .`„ýt7îŽÇáßDý[[x»{×›—H,¢#‹ñ8–z–xÞþyè©ë!)7 \Àš3kàÐÅýºökñ묋<×ÞU·+–»/ÇÖ¡k_”Ž·Ðk¸‹ý±Èc 5ä4‰""j¶o¾ùû÷ï‡D"i4VYY"‘ß~û-&Ož UUÕg!ut,xQ“œŒ>‰Œ¢ rJr=FMÌÑWÂTÛTº½BT¨'Q2±>ž>°7²G@R<†ªPÏY=‡¬â,„¦†"·4WæCxNI¾œô¥Ìÿ°Ça˜õó,ì ÞƒenËêåq.ö"G`r¯ÉøÚëk•þŽ‹x?ÏÀž =Øö,,MWcËŒÃG'?‚™±"ý#áåà+3+ ÀéôÓHÌM„T¦øí¯»½ê5+šb«¨­h6®¦72v%íRk£î8UÑfìšâDDÔ^rssQ^~ ÁÁ`Ù².èÞ½;ºuë###}‡Fˆ ""ÒŠ…€Æ2]„. Ç4yxà1< Å…ˆÏŽÇûÇÞÇÁäƒØ9g'ŒFø#íÀçÏ|Žá~ÃοQxCe»9e9*Ë›b³5oþ7Fv–c›Ýw6œ¬UïÈbabѨ”©3NU´»¦¸†µ777ôèñ?À“Oè92tLx‘Vú¹÷Þ+{°áÌ¥5<6ÆnT«¸Ì8„¸†ÀÚÌà"tÁ„à 8‘v?_ýé%éðuò…@ Í…Jç¿u\eÛ¥Ø{e¯ÒGRŽÀÖÂþ]ü›kç D'EC"“à•!¯(%#ŠÄEȯÌWkŒšŒSMÇnfl†²ê2µc¸†&&<ˆˆH+‚'àÓÓŸâtúiŒÛ<á>áʤ8‘vÕõÕjµ…‹91Ðk ¼¼`jlŠäÂdœº} ÆcØ[Úúvk\çbaÌBŒ +ܺ{ 'ÓNÂÑÊwïÝUjÛÑÊoìûoìG@—äUäáÐÍCÈ$˜:¯ÅmiÇ÷- [°óÏ8~ƒ½ÃÉÊ 5È(Í@|V<^xüôví­Óqª¢éؽ½q½à:þùë?áaï#&‡Lnq[Ú¶ZÃãZÁ5»u pëî-@BN‚|ËÜÞ®½áÑ&}1áADDZ±6³FÔ”(,سé%éH/I8[;ã½±ïaÑžEmc× ü™÷'ާ*¾©`mføœ¬?'8Oõx ¿^ÿÑ—ÿÚ~vZŸi°1³Á·¾Uj»Ÿ[?ø:ù"*. 'oŸ”—Oì9/y¹Å¸ŒÆØ<}3–ï_Žã©Ç¤¸å­H(R;Ù¡É8UÑtìóBçaùåØwmŸ¼,Ì3¬Å„G[¹vçš<¹ÑäbÎE\̹˜ÓoDDDÔf˜ð ""­…¸†àè‚£8vëò*ò ²!Ò?2™ K—(%^ü²Âz .ÀÜþsq>ë¼;@ßaÐïuÜÞó m¥Ø{e/.d_@ZqÞ<ð&Â<Ã0>x<ÌŒÍê~;ý[Í…º ™ˆˆHkLx‘ÖrÊr¯?ù:¬Í¬Ž…y†é#$ƒÓÒ“nð:nYôåh¬<¸Rá ˜˜Ë1ˆ¹ƒg7âè£ õx hˆTbƒˆˆ4–“€O~Œ”»)€£_„Ê¿5VwíƒòšrÄ\ŽAbn"Äubˆ„"Œá~Ãåuîÿ¶ÿÕðW±;i7N§ŸF¤}Ýúâoýÿ¦ô[e‰T‚·OàLúd•fÁØÈ]0%d |}T¶½xÈblK܆¸Ì8 Œé‰É!“…âBl½¸É…Éš 1­Ï4 ñ¢Õx¦¹9îf× ë&¬“×Ë,ÍDôåh¤¥@"• »SwLî5Á¢`•ã[¾»þÜ…s™çPZ]ŠMS6aaÌBŒ]ù¾Yt«¯†D*ÁÕ;W1kÛ,ùù+G®D°K0ÚKk®cuæ½%ê΃º×R¡¸P¸V w{w„{‡#Ò?@ëy¯m¨Å»GÞ…D&Áì¾³!²áÔíS˜Ôkrp.ãœÒ9Í­á¡éœÕIê°=q;â2ã •IÑß½?æöŸ +S+yMï â¼¾ïuŒ …çCŸWè¯éØØ ±˜Û®Rûº¸7Qûbƒˆˆ4VZUŠøìxùß/d_PYOµs± fÒº{®ìÁ´>ÓðþØ÷üõm¿Ð\ˆ—ö¾„ã©ÇåuO¤Àᛇó\ LMåå³¶ÏÂÅœ‹ íO=Žoã¿ÅçÏ|.h¼¿í£_ÄÙŒ³òú‡S#½$“zMÂìí³q÷Þ]ù±ýÉû±yÚf<ÙýIÇó0ÍÍq÷ªîò²ß“Ç?~ýê%õò²“·Oâû„ï±2r¥ü¡íþñÍÛ5ç2ÿzH­“ÔélìêÌwem¥|\5 c¬¨©hqNÞ;ö®Þ¹Úbû­{jºÙvkö¸¶×±ºóÞuæAÝk)¥(Óœq­X¡Þ¶KÛ0½Ït¼7ö=­çýNåTÕWá©OaõèÕ8Ÿu× ®cæc31ó±™(«.S:G՚ΙT&ż]óp>ë¼¼ìxêqì½²;ç섃¥ƒ¼ž&÷…šúÄgÇ# K€RÜMÇzˆz(Ä¡«Ÿ""jLx‘ÆB=B±mÖ6||êc\̹ˆ-3¶($’ò’ðá‰ÚޏVŒE{¡¬¦ “zMB„oì,ìU–…-¶ :)ƒ<áéžOËÏ9uûì-í±|Ørø;û£@\€/b¿Àµ‚k8|{NThbωà1îvî¨i¨Á‚Ø’°«¬Vú-ù©Û§àh刷G¼îNÝ‘R”‚ g6à›øop<õ8Üíܱ|ØrØ[ØãxÚqìHÜõ§×Ëj´¦slab ñ·ÑË~[†zI=ÆŽÁ˜ 1052ÅÉÛ'}9ï}ýÝû+<¼º} Bs!–]Š`Q0,L,ä¿-oíØÕïÀ.Ø6k›ÊÅ3övGrQ²ÂƒúÃT×Wk5ÇMT]ÇÚÌ»*›M®¥VŒßLê5 ööÈ)ÏÁ™ô3¨¬­T«¿æ¸Ù¹ÁÂÄ¢Ù¤ˆ½¥}‹ãÔvΚ®Õ7"Þ€¿³?ò+óñõù¯‘Vœ†5G×ࣧ>RèC“û‚6tñóADDí ""Ò˜ƒ¥Â<Ãä¿eà1æ&æòãµ µjµóóµŸQ\UŒ¥C—bÑ E ÇÆÃÐ/†bïÕ½ #옽Cá“/{/ÌÙ1—r/)<Øl›µ ç³Îãäí“8tóê$uÉd071Gny.îTÞAW›® mïš³ ö€¡Ý‡¢º¾Ÿù F#윳&Fÿéæ7 ×ï\Ç•;WÐ m€‰‘‰VãiÎÃæøç«?£¦¡Fé­‘Ñ£ájãŠOÏ|Š]I»°zÔjù1døaæ Ÿ4ý»jíØ5™ï0Ï0ØYÚi´FÆŠa+PQÛò[ ÷kéí@»ëX›yWůܦÅyøñÒj_KMó¿nÂ:…ÄÌÇfÊë¯9&F&X9r%V\‰é?L‡·£7ЫБ[ž 7;7µÚÐöZÝ:s«BdlÐXŒüj$öߨwǼ«ði‹&÷mèâ烈ˆÚïÀDD¤7æý 8’r±™±ÉdvšþœVœ¦pNˆkˆÂC ôêÚ @ã' M$2 ^ÿåuœN?Ýlÿ•µ• ×ùM“ — g>¸‹‚‘”Ÿ„‚ʸٹi5m%&fö™©tìÙ¾ÏâÓ3ŸâFÁ űt jv½„ÖŽ]›ùÖ”ºëc´%Mç}ùþåÈ.ËV¨÷á„ánçÞb?š\KÏö}?]ý b`R¯IèÕµ»ÂÜÄ\'Û»Îè3½»öÆÞ«{q6ã,RŠR0ôË¡ðuòÅâðŘ<¡Åóµ¹Vƒ]‚•Þ’q°t@¤$b.Ç õn*z»ö–S÷¾ ­Öþ|‘~0áADDzSUWHÊOj¶Ž™‰â–—vvJuš>Cʤò²_¯ýŠÓé§áåà…9ýæÀËÁ V¦VØzq+Ý<$pl©í¦™–Ž5í^¡Íx´ÕôöªO ì,ì ”ÞPh)ÙÐÚ±k3ßšÒõÚÐtÞ/ç_Æ­»·ê5]'-ÑäZòqôÁÑ…Gñ˵_›‹oã¿E^EÂ}ÂñFÄðsö{øÀ"XŒ·Eoã|ÖylIØ‚ÅCãËs_âõ_^‡¥©%Føhö\m®Õæ5M×âƒõÕ½/´D"•4{¬µ?DD¤Lx‘Þ¸ÚºVZÝìC™¶¯ƒ7=(~þÌçJk¬?µ^«6¦-Çó ¡ €Æj//…cWî\L&ƒÈF¤P.(ï@¢+Ï· '@t½†‡64÷µã×*Å¡ð¦@3ó éµdga‡¹ýçÊÿ,bÑžExnçsøcÑ}ª£Å¼?ÈX`Œ¢øè©pèæ!ütå§Ú\«)E)¨—Ô+¬©Wò¯€R}u5%RJªJ”Ž5íÖCDD†ƒ ""қѣñ}Â÷ØwmÖ=µžöžòc™GRŽ´ø[×–4ý6ùRÎ%ùxƒ´_Ä~„œ„Ö¯B[ŽçAOv?^úÿ;ñ?t @`—@@ny.VZ%¯Ó^4okskä”ç@*“ÂH`¤Vº^ÃCšÎûýŸ]¨ÒÜᨗÔãzÁuÜ.¹1c°fÌšVµKDD@ÖÚ9‰ˆHç ‹Õª{à€K–ˆšª›Ý?4‘R”‚ÒêR ð ðz|YunÝ„—ƒ—ÂB™²/@h.Tù[|™L†Ì²L”T•ÀÑÊn¶n ßïKeR\ȾKt P8·é˜£•#üýŽU×W#½$àçìScSd•e!¿"½]{ÃÒԲŶ›Æâíè ‘PqÝ€ŒÒ T O·>Jlºš›ãûÝ«»‡ÛÅ·!…^ö^J‹Cª3wº»:óÝD"“ õn**j* •I쬓]E4¥éuÜäa󮮇̓º×RU}2K3!“Éàjë*ßnWÝþ’ “Q^SŽ¢°1·Q:¯¤ª¿'ÿŽƒ7býÓë>q¹?Ö ƒ0È{¶ÌØ¢t\Ókµ^Rz”½ IDAT[woA*“" KÌŒÍZ¬¯ê˜ªûä”ç P\w;w¸]PÓPƒ¤¼$tµé*_k¤-î D,^Üø3³aCž#¡ŽN(B$ÒnÝ&€ "¢©³$<ˆèÑ›‹í‰Ûñù3Ÿ«<~­à&~7“zMº ëÚ9:"ê,˜ð uµ6áÁ5<ˆˆˆÚÙü˜ù¸W{¯Å:ÖæÖøzê×í‘zš{˨¬º ócæ#¹00Økp{†EDD¤DDDí,!;AaUT}R@¤o=D=ðê¯*•×Kꑘ› qÓ‰½&¶whDDDJ˜ð ""jg‰¯'ê;"­ØZت\g¥‹° RßLÕCDDDDÍã.-DDDDDDDdp˜ð """""""ƒÃ„&<ˆˆˆˆˆˆˆÈà0áADDDDDDD‡ """""""28Lx‘Áaƒˆˆˆˆˆˆˆ މ¾ ""¢Ž'䣄t ÁöÙÛõJ›©¨©À©ôS8vëNÞ>‰Šš ,¸Ë"–é;4"""Ò&<ˆˆˆQ"Ì3 [gnÕw(z±òÐJ쿱_ßaQaƒˆˆˆ”\ùç}‡Ðæì,ì0!x†û GuC5Þþým}‡DDDD:Ä„=’ÞýŽüÏoÔc$DDDÔ¸h)iM*“âëó_#2*Áÿ ưMÃðÍùoSž¿üðŸÃÿ‘×­m¨…ß~X´grËs±äç%ý4~ø¡ª¾ ðóÕŸ1uëTôþ¨7z­ë…§¿{[/n…T&•·“Yš©ÔöƒÇÖ]£²ßœò¼´÷%ô]ß½?ê¿ïþ;nÜÐxÜêŒ%>; b ôÓP}„ˆ/#ðþñ÷!®·:6uæ©¥OÝ>¿ü ‘J› ¿üäÿœÏ: q YÛf©l¯P\ˆ×ö½†þŸôGÈG!xnçs*cÕäú """Ò5¾áADDZ[uxv$îÿ=»,üñ®\köœòšrLÿa: Äò2©TŠþøßœÿF¡îõ‚ëxçÈ;HÌMÄú§×·*ÖòšrÌøa†B¿§nŸBBvvÍÙ…`Q°VmªËŽÄø÷áC&“ÉËsÊs°9~3b3b±{înXšZj›¦ó¤2Æû#šª¨©ÀŒg »,[^›‹¹;çâÈ‚#p°t—ks}¨òÜÎ盫výCóÁ×ÉW£>ˆˆˆÈð0áADDZIÊKÂŽÄš ±2r%Fø@ƒ´‡Sã½cï5{Þ…ì èëÖ'oDK,L,p­à¾9ÿ ,L,°|ØrŒ ScSœ¼}ï}¿^ÿãƒÇ#Ò?Rëx/d_ÀcÝÓ¿@@—äUäaý©õ8xó VYsvjÕæƒcÉ.ËÆê#«akn‹7‡½‰ßØYÚ!«4 Ÿžù¿'ÿŽï¾Ç¢A‹4ŽM›yR#¤¾™ªÕ¢¥ñÙñxÜãq|:ñSø;û£@\€ú7b3b±ïÚ><ú<í¯""""]aƒˆˆ´r(å`YÄ2L ™"/ŸÕwÊkÊñÑÉTžgej…¨)Qp´r”—ýžü;à•!¯`nÿ¹òò‰='ÂH`„×yûoìoUÂÃÊÔ QS£àdåðuòÅ'?ÁøÍã‘“€»÷îÂÙÚYó6ËÏWFƒ´kƬÁØ ±òr?g?|òô'HÈIÀ‘”# ucÓfžTÅØ–øjêWš ÞÞX¹c¿‹äÂdy=m¯UÕ]dˆˆˆ¨u¸†i%«4 ð„ÏJÇT•5é!ê¡ôðQ’î7\©~SYfi¦¶¡ÊûmJ(4112Á ¯AZ·¯j,·îÞ¼öËkü0k°6þkýøa ŠÄEȯÌ×*6mæIUŒ­Ñ³kOy²£‰‡½(¬O¢íõADDD¤+|ȈZERÙýkW<ÈÞÒ¾ù¶Êm=ÈHИ«—A¹š†š‡žßš¾¤j,MëcH¤’fÏ«“ÔiÔσ±ikKó­¦Obî§êhéXKׇ*\Ȉˆ´Á„iÅÓÁ@ãâš³ûÍV8v6ã¬Fmy;zþHýþÎþ ÇN¤x9x€ü³“ûÍlr.ó\³}\/¸Žâªb…7)¤ òs<í=5й9MÚßÏüC¼‡¨uŽº±i2Oê@€IƒÚõ5¡Ë냈ˆˆHLx‘VFŽÆWq_aÝÉu°6³F„o¤2)§ÆÆØµ56h,6Û„ g7ÀÚÜ£FÃÔØ§nŸÂ;GÞŒ °4µD7Ûn8~Ñ—£16p,j%µ8’r¤Åu!ªê«°0f!VF®TX4­8 ¡î¡¯ßÑœgBžÁ¦s›ð_þ¥C—"Ü'ÎÖÎ(¯)GFiöߨ‘P¤°†‡º±i2Oê°·´Ç­»·U–w;wùÛ3º Ëëƒkx‘6˜ð ""­ôqíƒé}¦cwÒn,ým©Â±ñÁã±ÿÆ~˜›ªÕVOQO¼ðø Ø¿«­ÂªC«ŽOž€‘#å1ìE¼sä¬8°+¬—Oë3 ÑIÑ*ûà1™¥™˜²uŠB¹•©V\¥òmx;xãÝ1ïbå¡•Xñû •u\¨UlšÎÓà ôˆßnü†á›þZdÛ¬mó S»æèòúh+»“vã­ßßR(‹Š‹BT\`N¿9øÏ¨ÿè!2"""Ò&<ˆˆHkkƬ—ƒvý¹ ù•ùèjÓ³úÎBH×쿱¶æ¶j·µbø ¹áÇ‹?"ån ¤2)º;uÇÔ© ;’ÀÜ~sQUW…î@Ae<ì=0oÀ< ñÒlÂÃÎÂ;çìÄš£kŸ©TŠþîýñư7ìܪyxÐô>Óä„oã¿E|váQ[ÏÎ|†9ýæ´[ÂcÙ p·wÇ3½žQ(o4à³3Ÿ!Ò?²Ã&4áñééO‘Qš>®}ðÝŒï`ka+?–U– ‹¶™ˆˆˆ¨Í1áADDZkn ‰L‚ØŒX¤¥@"•À×ÙáÞá071Wjã^Ý=»u yyèjÓ#F>´ß«w®"17â:1DB†ú…“•“Bÿ÷¯»q£ðâ2ã •IêŠ>®}äuó*òs9R™Y¥YøìÌgòc“C&£‹u…¾ÓŠÓp&ý ê$uèëÖ¡î¡jÏW[ì=Xíºu’:D_ކ@ Àº§Ö)$;ÀÓÞS×áéDD¤5Ukx¤ÞMÅK{_BzIºB]‘P„ Ïl@?·~ò²+ùW°`ω‹äe]„]°fÌ•ýݽw¯ÿò:ÎežS(·4µÄª‘«0µ÷TŠën$&cÓ¹M õ'öœˆ'|c1ò*òäIŽœò…„G˜g˜BÂ#*. ëN®ƒL&“—Mï3ï}¯å‰ú??]ý ÙeÙjÕ€¹ýçÂÁÒAíúê¸vç*k+ÑÏ­|}—‡¤ü$ͅ󃟳ŸNû#"""Ò&<ˆˆHgªë«ñBô È-ÏE7Ûnê;¦F¦8›qiÅi˜=¿¿ø;\„.¸Ww ÷,D‘¸>Ž>÷ ‡D*ÁÉÛ'±âÀ ¥¶%R æÇÌÇ•ü+p·sÇÝŸ€…2K3qôÖQ¼õû[ðsöÃcÝ“Ÿs)÷ŽÞ:Š¡Ý‡Â¿‹?ò+òqèæ!ì»¶ÞÞX¾Ýl»aIøl8»n¶n˜2Y~¾››üÏæý‰ã©ÇÛröG¸nÀî¤Ý˜Óñîèw¹S uzLx‘ÎüzýWä–碟[?|?ó{XšZ¤ xmßk8xó ¶'nÇkO4>hŠ ñ„ÏøjêW056И4™»c.JªJÚ>œrWò¯à©OaÝ„u äWò¯`êÖ©øîÂwøtâ§òò’ª|8þC…$FR~¦oŽï¾ÃËC^–'<6Æn„§ƒ'–„/Qè·¶¡P\UŒ/'‰HÿHù±'|žÀ²ß–áDÚ µÏôzF£O`­Õ®«®ªú*À±[Çp§òFŒ„£²J³päÖìNÚ WW,_¬ó¾‰ˆˆˆÚDD¤3—r/^}âUy²LŒL°4b)Þ<ˆ‹9ëæ4Ö]¾Xžì?OùƒÿæÇÌWh»i!N+S+lŠÛ$ÿ¬D&“Al-lq%ÿŠÂ9ÞÞ ÉèãÚ#Fâà̓¸Ut A.Aj­‡K…dù–¹…âBµÚè;À4­£’W‘‡¨©Qá7B~ìLúÌÛ=[/nÅ+C^@ ÐW˜DDDD­Æ„éLyM9Õ _zØy@  ¬ºL¡®ªíO=ì=”ÊšÞøØ•´KíxÜíUo­ÚÔ~Em…Úm¹Úº*•Y™Zh|ƒEa ‘P qÞïOv@¸O8üý‘R”‚¢{E³å0=š˜ð ""±³°иµéƒI‹ìòlÈd2Ø[Ú+ÔÍ)ÏQz°V•°³l¬?»ïl8Y;) ´jNYŽÊzMíÛšÛª<ÞV:ÂA.A-¾¹ÑôæŒ|»ƒˆˆˆ:7&<ˆˆHgú¹õCÌål8Ó¸KÓg-™ŸüÐß½c]÷~Øse6œÙ ´†ÇÆØJmò„è¤hHd¼2ä ŒŽ‰‹_™¯P–Qš½Wö*­áq$ål-láßÅ_^nfl&û¤­t„5<œ­Ñ·[_\ʽ„c©Ç”>iI-N…³µ3œ­uÞ7Q{bƒˆˆtæ©OacìF$ä$`Ì7c0´ûP˜7îÒ’z7vv˜Õw`Bð|zúSœN?q›Ç!Ü'R™'ÒN º¾Z©íñ=ÆcKÂìüs'N§ŸÆ`ïÁp²rBEM2J3Ÿ½]{ËÏq´rÄûßÀþûÐ%yy8tó$2 æ…΃±à¯…O½½q½à:þùë?áaï#&‡LVØ–¶µÚj k×pìÖ1À­»· 9 ò-v{»ö–¯7¯=ñþ¶ëoxiÏKˆô„·£·|ÑR™L†ùaó¹~uzLx‘ÎXšZbó´ÍxiïKH/IÇöÄíòc.Bl˜´Aþùе™5¢¦DaÁžH/IGzI:€Æ7ÞûíY¤Ð¶±À›§oÆòýËq<õ8¢“¢Ž‹„"…dÐøÆ‰¯“/¢â¢pòöIyùÄžñò—êÎ ‡å–cßµ}ò²0Ï0&<Úʵ;×äÉ&s.ʈÓoŽBÂc°÷`¬³ïy‡SËËF˜7`þ>àïí7Q[bƒˆˆ´öòà—•ÖßðsöÃÁùq6ý,RŠR ‘IÐݱ;žìþ¤|‡&!®!8ºà(ŽÝ:†¼Š<ˆlDˆô„L&Ã’ð%J K|5õ+¤§!!'%U%p´r„·ƒ7BÝC¶ªm²,bÆC|V<¤2)ú»÷ÇcÝSª79d2zví‰óYçQ^]dp³sƒ‰± –„/Aw§îJç4ósöÓfút¦gמJÛéÞïÁy€}f`¸ïpœH;»Uwaoa!>CT.8KDDDÔ dM«“Q‡QPP±X¬VÝ„X²D„ÔÔ´6Žªó¨m¨EÏu=é‰MS6é;"""ºÏâÅ;†mØP çH¨£ …‰DZŸoôð*DDDDDDDD DDDDDDDdp¸†œ–ÖÝ """¢GDDdpŒÆ-.âIDDDD†Ÿ´‘Áaƒˆˆˆˆˆˆˆ DDDDDDDdp˜ð """""""ƒÃ„&<ˆˆˆˆˆˆˆÈà0áADDDDDDDÇDßš¿ïþ;º;vÇ¿"ÿÕb™¡ôÛ^rÊs°ëÏ]H.Jv ÄÌÇfÂÝÎ]'õ›#‘J°÷Ê^œN?ÊÚJx9xaÆc3ìÜ)â×W;ì·cöÛYâÔW¿úW¡¸ÇSãäí“(¯.ÇÓ=ŸÆÌÇf6[_Óû’®îcD@&“Éô)*((€X,V«îB,Y"BjjZGE÷›»c.‚]‚ñÖˆ·”Ž…|‚®!Ø>{{‹eº¦ë~[c{;žz¯î{ÕõÕ å–¦–ˆš…ÁÞƒ[U¿9µ µ˜·kâ³ãÊÆX;~-&õšÔ¡ã×W;ì·cöÛYâÔW¿ú×ý[¶àþDz…bYÄ2•õ5½/éê>¦K‹‹6´{ßÔ¹…BˆD"­Ïgƒˆ¨b£ã ü0ažaØ:s«Ò± Ù 4*üæL_ U±¨«¥1¶§²ê2DlŠ€¸VŒ1c0.xLLq"í¢/GÃÖÂ,ú6æ6ZÕoɺ“ë°éÜ&tµéŠÅá‹ájãŠi'ðÃ¥`jdŠ£ ¢›m·¿¾Úa¿³ßÎgg™]Þg^Ý÷*.d_À0ßa°4µÄ–„--&<4½/éâ>¦kLxºZ›ðà'-DDD:6Àc€¾CëH±hëÈ­#׊1*`>æsyùÈ€‘°2³Âw¾Ãž+{ð|èóZÕoNƒ´Û·ÃØÈßÏü¾N¾€'»? @€ï¾ÇöÄíX:ti‡Œ__í°ßŽÙog‰³³Ì®Æox]¬»@ àà̓ؒ°¥ÙºšÞ—tu#ꬸh)i¥^RYÛfáãS£NR‡- [°hÏ",ˆY€¨¸(TÕW©<¯¼¦›ã7㕟^Áó»žÇòýËq<õx³m7H°íÒ6¼òÓ+˜½}6jjäílIØ‚%?/Á¼]ó°êð*œI?Óêþ$R v$îÀË{_Æ‹Ñ/bcìFˆkÿzÛæfÑMÌÚ6 ©Wï\Ŭm³äÿÜ(¼ qÝŒ5Gר5êÄתb)bcìF¼ºïU¼°û¬:¼ GRŽÈ_§VgŒí)«4 0Ìw˜Ò±á~Ã'ÓNj]¿9IyI¨¨©À`¯Áò‡„&M1§nŸR(¾YÛfáà̓z_›v:sü¯îãäüè®> z>ÀEè@ ÔŽ*šÞ—´¹¾áADDZ‘ʤˆÏއÐ\ˆy»æá|Öyù±ã©Ç±÷Ê^윳–òòÄÜD,ˆY€ÒêR…¶ö\Ùƒi}¦áý±ï«lû\æ9yÝI.Þ¹ˆ—ö¾„’ª’¿I¶]Ú†7‡½‰Ã^Ôº¿—ö¾¤p8‘v‡oFÌs1056Eem¥ü;芚 …o¢+j*4~FRS_óÐ9T7¾Öx0–”¢LÿqºBhœ»é}¦ã½±ï©5Ææ¼wì=\½sUíøÖ=µî¡¯R[˜ZЫЕŽÝ½wZœªuýæ4ÕéÓ­Ò1{Ø[Úãvñm…òì²lÄgÇcdÀH½Ç¯M;9~ŽW÷qr~tWP=ŸšÒô¾¤Í}ŒÈ0áADD­rêö)Í…x#â ø;û#¿2_ŸÿiÅiXst >zê#€¸VŒE{¡¬¦ “zMB„oì,ìU–…-¶ :)ƒ<áéžO+µ½tèR‹‚aab:IîYˆ²ê2ôqíƒi}¦ÁÕÖ¹å¹8œr•µ•­êÏÞÒˇ-‡¿³? Äø"ö \+¸†É0±çDv ĶYÛT.è©É:Úħ ;ÿÜ q­¾˜Ôkì-ì‘Sžƒ3égäsך1&%+-Œ×’ûS¥o·¾€o/|‹ß¹hÜaÃÙ ¿§×¶~sJ«Q]„]Twº ¥(ÕõÕ°4µLï3C¼‡ÀËÁKïñkÓNgŽŸãåü´çüèj>5¥é}I›û‘!aƒˆˆZE¶ÎÜŠ¢ò²±Ac1ò«‘Øc?Þó.¬L­ðóµŸQ\UŒ¥C—bÑ E mŒ ‡¡_ ÅÞ«{ðeᇙ? Xô×Cöw¾CYuFŒÂ“¿PhgVßYò‡vmú312ÁŽÙ;àãè#/ó²÷œsp)÷&öœs„y†A ÀÎÒažaZÍ›6ñ邉Qãú×MX{K{yùÌÇfÊßÞhÍW [ŠÚ–ß¹Ÿ: å ò„p!û&n™G˜›"õn*<ì=`ga‡{u÷´®ß‰L q'UšÊ¤ ò2w;w¥í(õ¿6ítæø9^ÎO{ήæSSšÞ—´¹®áADD­ì¬ìKDúG¢AÚ€Ô»¯Óþ™÷'àHÊ<·ó9ÌÝ1swÌÅœsðÊO¯ÒŠwš ê¤ì ÿ\¢é³•5­ˆ¯M!®! ÉèÕµ€¿~«¦+Úħ Ïö}–X³Û·ãrþeÔ6Ôl-l[Ý~°(ažajÿ£Îo¢¦DáéžOC&“!õn*nÜ€¯“/>›ø*k+aga§uýæX™Z@³cMåVfV2~}µÃ~;f¿%ÎÎ2?º—¦4½/éê>FÔYñ ""j•æ’›þG¯éaºª®qÓ¤ü¤fÛ231Sø{W›®Juš-½mU´éOÕÿœš›h\çC—´‰O|}ptáQüríÄfÄâÛøo‘W‘‡pŸp¼ñüœýZÕ~[¬á4^g?õ1þ3ò?H/M‡¥‰%üýq6ã,¤2)º´ª¾*Mqe”f(«m¨E^EDBQ³¿9Õwüúl‡ývÌ~;Kœe~t5.Mhz_Òå}Œ¨3bƒˆˆZ%¥(õ’zyb É•ü+‘MãÞé®¶®€Õ£V7ûPÝô¹EU«Ö»Ú4¶“ ô6†B=-úÓˆ ò]M´ÑæñµÀÎÂsûÏÅÜþs4îÚ²hÏ"<·ó9ü±è˜›˜7VÔbŒm±†Çýl-lÑÇõ¯Å÷¶^Ü ˆðÐIýûõví  q§‰Tc£¿N§ŸFƒ´½»õî°ñw„vØoÇ췳ĩ¯~õ5.uhz_j‹ûQgÂOZˆˆ¨UîÞ»‹w¾‹:I€Æäï.|‡øìxxÚ{ÂÓÞ0:p4`ßµ}pµuUø¬!Ô#¥Õ¥¸Syç¡ýEúGÖžX«´ mbn"§Öiͱ6·FNyŽÖo~´u|ÍÙ’°q™q e–š Q(.Tø- 6c\1l¶ÍÚ¦ö?ê¼Ý4î\sÿNu’:üïÄÿp<õ8­1µ÷ÔVÕWÅÕÖýÜú!¯"ŸúXžü)àƒãžî¡Þ+úˆ_Ÿí°ßŽÙog‰S_ýêk\šÐô¾¤ËûQgÄ7<ˆˆ¨U||s9¿Ýø ÞÞȯÌG‘¸°4b©¼ÞãcZŸiˆNŠÆðMÃáaïgkgTÔT §<µ µX8p!Æo±¿^1!x~»ñžßõ<\„.pµuE^EŠÄExyðË0Jgý5§‡¨â2ãñeÜìÜ €+G®T{§–¶Ž¯9'ÓNbÍÑ5°6³†§½'ÌLÌp»ø6*k+á`é OPi;Æ×\Ñ•S·OáÍoÂÍÖ NVNH+Iƒ¸V ScS¬›°Nés$Më¯ýc-’ò’°jÔ*v ”—¿9üMÌÚ6 QqQØwmDB’‹’QÛP‹P÷PŒ £pâ] IDATÐNôåhütå'<úœÂ1}ůi;=~Ž—óÓžó£«ùü#õ|}þk@Iuãvë¿\ÿ‰¹‰€Q£ð|èóòúšÞ—4­OdH˜ð "¢VñqôÁ²ˆeXq`.ç_иpèŠá+0.hœBÝÿŽù/üýñÍùo]–ì²lëdŒ ‡ =&¨ÕçGO'l¹°…âBŠ ¡î¡ò7'tÙŸ*Ë"–aÑžEÈ«ÈC^EÈw9QW[Æ×œyæA*“"637 oÈËÃ<ÃðÖˆ·ÕÅueZïiH½›Š›E7‘Sž ñUí·G¼þîý[]?¹°ñSœ¦]~šôsë‡MS6á߇þ¼Š<Ü©¼#FŽÆÇüW鳫ì²lÄgÇcdÀÈ¿¦ítöø9^ÎOG®ßÜ|Ý+Rú0¿"ùù ´ˆ¦÷%Më¬5 Q›(((€X,V«îB,Y"BjªîwôhImC-z®ë‰HÿHlš² õ’zܺ{K¾P›™qó nÊd2d–e¢¤ªŽVŽp³uSXD*“âBö8X:´¸è›D&AêÝTÔ4ÔÀÃÎŽVŽ:ï¯é˜£•#üýUö_QS©LŠ`—`ØZØâBöÍ… oB¨*S7>uiÒoU}2K3!“ÉàjëÚì"°ÍQ_ò*òP(.„«­+DB‘Îê'&£¼¦=D=ä;ýÜO&“!­8 â:1ÜíÜálí¬²œòä–çÂËÁK墻úŠ_Ýv:{üšÖÔÆ«i}ÎOûÌg¡¸é%éÍž'²ÁÛÁ[©\Ýû’¶õÛÒâÅó´aCÞb ÎA(B$zøÏas˜ð "ê€:cƒˆˆˆHLxºZ›ðà'-DDDØü˜ù¸W{¯Å:ÖæÖøzê×íQçÀ„Q– ôûƒT½òMDDDô¨cƒˆˆ´bnbŽÔ7Sõ†ÁK|=Qß!uJFú€ˆˆˆˆˆˆˆHטð """""""ƒÃ„&<ˆˆˆˆˆˆˆÈà0áADDDDDDD‡ """""""28Lx‘Áaƒˆˆˆˆˆˆˆ DDDLNyü>ðÃÿGß¡uZLx‘Áaƒˆˆˆˆˆˆˆ DDDDDDDdpLôuNµ µè¹®'"ý#±2r%Öþ±±™±(«.Ãå^Æ´­ÓPQ[Ó/Ÿ–Ÿ“[ž‹¡_|ñ üœýäÇFD€±‘1Ï?ÜáÆbej…øìx|sþ\ʽq­]mºbtàh,²Bs¡¼­ŒÒ l»´ g3Î"«4 ÆFÆè€g{“C&+ô+•Iñmü·ØùçNäV䢫MWÌê; cƒÆ¶÷&<ˆˆ¨UÊkÊ1ý‡é(ÈˤR)Â}±9~3ÒŠÓàëä 8“q`$0ÂéôÓò„GNy2K31·ÿ܇ö÷ÜÎ盫v|‡æ’÷¯íXv$îÀ¿ÿ2™L^žSžƒÍñ››‹ÝswÃÒÔ° fnßVh717‰¹‰(bÑ EòòU‡WaGâù߳˲±öµ¸vçšÚã#""""Õ˜ð "¢V¹}}Ýúbãär ‚…‰à Ÿ'°9~3N§Ÿ–'Nßnü³¹ ΤŸÁ¼óäåAüUcÉ.ËÆê#«akn‹7‡½‰ßØYÚ!«4 Ÿžù¿'ÿŽï¾—'2üœü0?l>BÝCán玚†$&ã߇þMq›0à| Œq9ÿ2v$î€Ð\ˆ•‘+1Âo¤ 8xó Þ?þ¾^爈ˆÈ0áADD­bej…¨)Qp´rT(õ…¹‰9ΤŸÁó¡ÏC*“".+“zN‚Ð\ˆÍñ›Q/©‡©±)Îdœ±ÀaaíoëÌ­m5•cùùêÏh6`͘5 Ÿšø9ûá“§?ABNޤ‘'rËsáiï‰C7–E,Ô)òãsúÍAyM9ÖŸZßfã$"""z0áADD­ÒCÔC)Ù&uÅù¬ó¨—ÔãzÁu”U—!Ü'Bs!>?û9.æ\Ä8—y¹=¦°†>¨Ë­»·¯ýò^ûå5ùg-2Èä@ ñ“˜É['#¿"¿Ù>jêk™¥™ß„yГ>O2áADDDÔJLxQ«Ø[Ú7{lˆ÷œÍ8‹„œ\ʽ3c3„y†ÁÌÄ Bs!Îdœ…©*j*î­Þç,m¹†‡ª±HeR€D*iö¼¦·8ö\ÙƒüŠ|Œ …Åá‹áåàKK¬<´Ra½""""j[LxQ›y¢ûøðć8“~—r/¡¿{ùâž=âôíÓ076 ÿõ;šÓ”,ù~æ÷â=¤ÅºY¥Y€ý§B’¥NR‡¸Ì8…º^^€Óé§1»ïl…c§ÒOµ:n"""¢GDDÔf‚ºÁÉÊ GnAVi^òuù±pŸp¬>²µ’Zؘ۠·koµÚlË5Cð˵_(®Wî™L†Ô»©0ÆFÆú ³EÞÞxwÌ»Xyh%Vü¾Be…žêñ6ÆnDÌåÄ\Ž‘š 12`$ޤ‘—õvígû>‹‰;°|ÿr…ö&OÀo7~kƒÑ=:ŒôµŽ¹yã™uu=G¢ZÓÚNVNv –—{;xÃÝν±Nýœ¥Éô>Ó=7‚'ÀEè#¸]ð¸ÇãX=j5^ôÀÕÖ?>û#z „Ð\[ [ ó†è¹Ñð´÷Tjwõ¨ÕxsØ›ðvð†©±)ÜíܱtèR,XÚÞC$""j7µµF°°é; zdMKÌQ‡QPP±X¬VÝ‹-0c†Ξ̈́HÔÐÆ‘µÎÔ©nèÛ·o¿}Wß¡P' !‰´>Ÿoxur¾¾õ€›7Íô QËd2 5Õ Ý»×é;z0áADÔÉÙÛKàãS¸8K}‡BDDDÔ¢+WÌ!¡oß}‡B&<ˆˆ À°a÷pð 5ø‘"ud áæÖ€  ¾áAm ""0mZ%²²Lqò¤•¾C!"""R©ºZ€˜L™R¡ïPèÁ„‘ð÷¯Ãðá÷ðá‡NH:æn-DDDôh‹Šr@}½³g3áAíƒ ""ñ¯#3ÓÛ·Ûê;""""yy&ؼÙK–”ÂÉI¢ïpèÁ„‘ðô¬Ç¼yåX¿Þii¦ú‡ˆˆˆÐÐ Àòå.èÖ­sç–ë;z„0áADd@/.¯o^xÁ%%Æú‡ˆˆˆï¼ãŒ¤$s|òɘ˜p…uj?Lxss6mº@€—_î ±˜·y"""ÒŸ°s§->ù¤ÁÁÜ™…ÚÿO˜ˆÈÀ89Iðõ×ùÈÊ2ÅôénÈÉ1ÑwHDDDôˆihàí·»à³Ï±jU†¿§ïèÄ„‘ò÷¯Ãž=906–aÊwœ8Áíj‰ˆˆ¨}ää˜`Þ>>0lذ‘ˆˆHù)ð;F£Ñö Z___zôèQÃ#)¿âï‘?„ü|Ç»’œl$+Kù·ˆØóó,à†îcíÚz5=¹Æ¸ºZ¨WÏDË–ùx{›kz8"%2X,KMBDDìÅÇÇ“™™Yå×MKsbÕªº¬[çId¤&“¡Êï!"µI+àK kMDD®aÍš0`@£Ggвe~MGj///+Ü_+]ÓC‘kL~¾”#Gº²}»;k×zòÙgÞÜv[Ï?ŸLÓ¦5=D­ð¹Uå uëí¤IiLz‘:uôuS*®²+<xˆˆ\ƒª"ð°X`öl_æÍóaÔ¨ ž~:™ LU4B‘âL&‹×ãÝw}iÞ<Ÿ>º€ŸŸþþ!£ÀCD¤ªlà‘›kàé§Ù°Áƒ×^Käž{2ªpt""""WíÂäÉÁ˜L>ùä¼j{H…T6ðPY~‘ZÆl†§Ÿdûvw>ÿüœÂ¹êš7/`ÅŠ8‚‚ ™0¡!çÏ«|¤\} Ìš•H¯^95=ùƒóô43oÞyœyáÿšŽüÁ(ð©%rr ¼öZFÊÐ6¹f„„òÆ |÷;v¸×ôpäD‡ˆH-ññÇ>¤¥9ñ׿&×ôPDDDDìôïŸÍ€Ù¼ürL&CMGþ xˆˆÔiiN|ú©7O<‘B@€^ý&ׯ5kÖТE Û/©~5=ç‹/¶Ý»{÷îWýþÕ¥ÎáÃøÌ™CȰa4oÑÂöË÷w®ØÏ`2QoéR>ø ¡Ý»Ö¾=M$à©§pÛ½û*^¤z<ÿ|§N¹ðý÷^5=ùƒP©\‘Z`Õªº89Y7.½¦‡""R%éÝ»·íóòå˹á†jpDŽs¾paÃÊÝϘ’BÐÃãewÜåôi\NŸ¦î7ßpjß>ÌU5T‘«*4´€Aƒ²X²¤#Fhû­T?­ð©Ö­ódР,<=Í5=1ÈoÛ–”©S‰ýæ 5*»ÙLàãÛÂŽüæÍ9?>§vï&&<œ ~HöÍ7ƒA[äú6rd&»w»‘”d¬é¡È€Vxˆˆ\çòò ìÞíÆý÷'ÔôPDDÊmܸqŒ7®¦‡Q¥ 9ûÝwåêãõã¸GD`öôäÜÿþ‡) Àú¹^=  "kР*«ÈÕÖ§O6NNvìpç®»2kz8RËi…‡ˆÈu.:Ú•ÂBíÛç×ôPD–””ÄŒ3èÙ³':t`̘1lß¾½Ôö[¶l±«3Ñ¢E Ú¶mKß¾}yâ‰'رcG‰ýL&K—.åÁ¤{÷î´nÝšnݺ1vìX-ZDaaa±öŸ}ö£F¢K—.´nÝš~ýú1aÂ>ýôS/¯M‘ŸŸÏÛo¿Mß¾}iÕª?ýôS…žëòëšÍf>þøcú÷ïOÇŽ¹óÎ;Y´h‹¥Âs~ðàA»ñääüþšëñãÇÛÎmܸÑvüã?¶/ 0™ƒ’jxŒ7În; ÀèÑ£mížzê)Ûq³Ù̪U«˜0a=zô uëÖtïÞI“&Ù¯,õ¾üÒVg£Y§N¸œ9c;çõý÷¶sa:àzäˆÃ×uTÝ•+m¿Ï>ÜvˆÔ6îî 8zÔµ¦‡"Zá!"rKH°. .,£¥Èµ!%%…Ñ£Gk;¶{÷n&L˜À¨Q£¾NAA.\`Íš5¬]»–Y³fqï½÷ÚÎçää0iÒ$vîÜi×/--;w²sçNV®\ÉÂ… ñò²Ð{ñÅùꫯìÚŸ;wŽsçÎNxx8óçϯÈc3mÚ4Ö¯__éçºÜ3Ï<Ã7ß|cû|ìØ1^zé%Ìf3ãÇÊ?çíÚµÃ××—‹/RPP@dd$}ûö%??Ÿ={öØÚmß¾°mÛ6Ûñ›o¾¹Rsà¨ÜÜ\}ôQÂÃÃ펧¦¦²e˶lÙÂĉyá…ʼVúý÷ãIÝU«pÊÎ&pútâ–.Åùüyüÿþw[»Äüƒü6mªìŠ\ZÔ—Gð#PçÀœRS)lÔˆ¬Ûo'eÊÌ^*ö(׿  BõUTªŸVxˆˆ\çrr¬ÿ¯ÜÝ]õ;äúðöÛoÛ¾x{zzòÉ'ŸÅ{ï½Çw¥lèׯ'Nœ°ý:zô(áááLž<‹ÅÂo¼AAA­Ïo¼a ;<<<øè£ˆŠŠbÁ‚x{{Å?ÿùO[Ÿo¿ý£ÑÈ’%K8|ø0¿þú+K–,aâĉøûûWè™SSS9uê_~ù%‡âĉ 4¨BÏUÒu×­[ǶmÛèÙ³§íÜ‚ l¿/ïœ nºé&Û碕 {÷î%77·ØñÂÂBvíÚe;Þ·o_‡ç $‹/¶ PÀZ´´hžfÏž À[o½e ;X´hû÷ïçóÏ?§nݺ̟?Ÿ5kÖ”xŸË%þãä·j@¨(|ß~›€'ŸÄ)Óºì>ýþûɸ燮U†¼<œ2~/àXwåJ<~þcb"†‚\NŸÆ{Þ<…Sjj•ß_äjóð0“•¥z4Rýxˆˆ\çŠV­«Ž\L&?üðƒíóرc¹õÖ[ñôôdРAŒ=Ú¡ëF™6mšíXjj*‡¬«$V^²Eà`àÀxzzÒ·o_zè!Û¹o¿ý–ììlÜÜÜkÐC\\¾¾¾ôèу^x7ß|ÓÖ¯]»vŶ£­v(É›o¾I÷îÝqu-}wYÏU’W_}•°°0üýýíV‚ÄÆÆb2™*<ç—†EÁFÑÿ¶o߀#GŽ––ÆÞ½{mÛ^¼½½mç+2Ž*((`Ù²e¶ÏÓ§O§gÏž¸»»Ó§OÆŒc;·hÑ"‡®iqwçÂûïcöôÀû“OlEDó:t éÅ+=î’J´’_xSQQœûâ Û[Y\££ñ}ï½jƒÈÕd0üþ÷‘ê¤uD"""rÕ$%%‘™ù{‘ºË¿·k×®Ä~|ñŬ[·ŽèèhÒÓÓ‹Õßë«Lâââl!@ÇŽíÚ]ú¹  €˜˜Ú¶mËèÑ£ùä“O0›Í<÷Üs€5„ £OŸ>Lœ8‘r>5¸¸¸CEžër®®®´mÛÖö¹hUXÃ¥¼¼<222*4ç—nKÙ¿?ÙÙÙ¶U£F"--ØØX"""8rIM‹›nº '§âÿ¦VÚTÔå?ã3f0cÆŒÛ)GÍ‚fÍHœ5‹À'Ÿ´3{zrá½÷°TAPS³‡`2Pذ!©'Ó«YwÞIÝåËðذ.Ùb#""¥Sà!"""×¼Ç{ŒŸþ¹ÌvEaÁå; —-ºü|‘gžy†°°0V¯^Í¡C‡HNNÆd2qüøqŽ?Κ5køá‡l[båééYbPÞ纜‡‡‡Ý³]þœ•@Ë–-9~ü8&“‰_~ù…¨ßV;ôêՋdzlÙ2¶oßÎáÇmýJÚÎ¥ÏÁÕpi0â×èh»ÏN99¸ž:EaÂ.‡89‘ß¼9®ÇŽÖ·¼\êÒÏ—n}‘+Ó–¹j4h`+ Ö·\ª¤­çÏŸ· ¦NJdd$'Nœ°«q©ÜÝÝmŸ÷ïßowþÒûº¸¸Ð´iSœœœ¸÷Þ{™?>;vì`ß¾},Y²???âãã‰øíÕ¡Eu(.ýUž·‚Tä¹*¢"s^äÒðâÃ?$??___Z¶lI¯^½Ø¼y3{÷îµµ+­`iy•R5jÔß¶zÌž=»ØÏ£è×åÏ|%¿ü‚ÏoÛF,FkQhÌfþúWœÏŸ¯àÓ”-»ÛïããíÎ]ú¹°I“jƒˆHm£ÀCDDD®£ÑÈwÞiû¼dÉ~þùg²³³Y¿~=Ë[¶)ggû©žžž¸¹¹[êÛ7\\\ìÞ>²hÑ"6nÜHvv6ááá|úé§¶sÆ ³}qž8q"sæÌ!**Ф¤$\]]ñü­žC‘ÒV[”WEž«"*2çE. /8@Ïž=1 ¶ÀãôéÓäç[_‹Ý¼ys‚‚‚ªdÜ^^^v+BvíÚ…é·-`ý_Zäõ×_gÆ ddd••ʼn'øî»ïxüñÇY¸p¡C÷t>wŽ€éÓÁl-8k™C‡`LI!pêT Uôó¿\Úøñ¶ZÎçÎá=>NÙÙ¸ïØçêÕ¶vÕQ4UD¤¶Rà!"""WÕÓO?m«ƒ‘••Å#û,=zô°ÝgòäÉtêÔ‰ &úÛ›.:wîÌÌ™3m}bbb˜3g£F¢W¯^´iÓ†áÇ“œœ XWôëׯò“P‰çªˆòÎy‘o¼±XÑ¢ #00ÐÐP»sUµº¬d»uëfûüÆoкukZ´ha{ ï3Ï}k}˜G}”.]ºÐ¹sgî¸ã¦OŸÎÚµkmU¯ÄPP@ÐÔ©û³‘9|8£F‘øÚkü¶Èmï^ü^½ìk™L4oÑÂöË9.ÎvÎçƒlÇ/­RLÂìÙX\\ð{í5šuêDÃÀé·-9™C‡’6vl™÷+"""rUùúú²téRFuêÔ¡K—.,\¸°Ô0aΜ9<ôÐC„„„àêêJ“&MøÛßþÆË/¿\ê}ÜÝÝùâ‹/xíµ×èÙ³'õë×Çh4R¯^=ºwïÎË/¿ÌW_}eWèóÿûÏ=÷={ö$88£Ñˆ»»;­Zµâ¡‡bÅŠvÛC*«"ÏU™s°†E¡Q‘¢ÀãòßCéõ;*êí·ßfðàÁx{{—XŸÄÝÝ 0{öln¾ùfüüü0x{{Ó¦Mî¹ç>úè#þüç?—y/¿W_¥Îo5J š4!ñ·×›==‰Ÿ3ÇV°´þÂ…x]²â¢*e Dì7ß9b…Xœ1׫GN¯^Ä¿óñÿþ·µ¸©ˆˆ8Ä`)­j—ˆˆÔ˜øøx»·*\ÉêÕ9[.ì IDAT^L›ȉÑe7©aS§Z ñÎ_FKù£óòò"ð²BÎå¡"""""""Rë(ð‘ZG‡ˆˆˆˆˆˆˆÔ: 8BÇŽ>µ"$¨MÏRééùÌ™s˜ ³ <23 9ògNŸÎ´ëС¾¹n(ð‘ {ì±6Ô©éaT‰Úô,Uañⓜ>I—.¾ôêÕ#ÍšÕ­éa‰ˆˆˆ8L‡ˆˆTØ”)­jzU¦6=KU8~<€yózáë« HDDD®? Ï•¬Zu†³g³ËlWdüø0||\ËlWÒ|øû[çãR'Of2gÎaÛç>8 @XX]Æ#55ŸI“~eß¾»~uêyúéöLœØÜ᱋ˆˆˆT'""Rerr yè¡_‰‹Ë¦aCn¹%'ÂÈŽÎà‘G¶ñã·à†Édá‘G¶± !!žÜ|sõ뻓Éúõçyþù=´hQnð±]ïÞ‹lÜx[n ¢e˺ÄÇç²zu,K—Æ0thcúôñ¬+}Ôúå¾Y3/úö Àd²°eK<3fì.×39zÏŠƒ7dñâSü÷¿Ç3&”°°º àêêD—.¾e_@DDDä*Qà!""U&--€&M¼ŠkÜØƒRS­m.^´þïW_vøúÁÁîÅŽyxü¾Šäòq4jäQ¬}Hˆ§Ã÷+Ï=+ò<%©ŽEóR|>7.ß|ôíÀ’%ýX¸0šûîÛB^ž‰|4(˜±cCqw×_-DDDäÚ ¿•ˆˆH•©_ßúÅûÌ™L7¶ÿr}öl x{»Úµ}àføù•üv77§;:ޏ¸l쯛U¡k:zÏÊ>OuÔð([llñù8{¶üóÑ£‡=zXßR“KDD¯¿¾Ÿ5kâøòË~89ʸ‚ˆˆˆHõSà!""U¦kW?–/aîÜ#tíêkû×~“ÉÂ;ï [7ëåÞ½°lÙiL& O<ѺؗäÄÄ\ΟϩÐ8ºtñeÅŠÞÿ(}Ô ggëµóòL|ôѱŠ>ÞUÕóTG ®]­ó1wîáb5<ÞÿˆÃ÷ؾ=‘Ž}ðô´þlÜ:4„M›.ðõ×g9u*“æÍë–ëš""""ÕA‡ˆˆT™aÃñþûGص+™;îØ`÷––'2¨_ß•qãšp×]!,XÍ—_žæ—_èÓ'??WÒÓ 8}:“ˆˆ$z¨%:]ù­&%#„ÿüç0›6]àÎ;7üöV3[¶Ä“mÀPÅ‹ªêyª£†ÇСÖùøå—Û|˜Í°iÓrrLåºÖ¼yLjŒL¦W¯š6õÄÅʼn#GÒØ²%£Ñ`[Á#"""RÓxˆˆH•qwwæ³Ïú0eÊvNÊdñâS¶snÌ{£mK…Ñhà³Ïúð쳑lÜxeËNÛ]+0ЭBa€§§3}Ô‹É“·qòd'OfàïïÆóÏwä©§vááQµÿ ¬Îç©,OOgæÍëÅäÉÖŸË©S™4hP‡Y³ºð—¿lwøZ½{û³wo 7ž/v¿ÿ½#~~e¯8¹xˆˆH…=öXì¿à¶hQ—5kžÀ±cé˜LÂÂêÒ¯_€ÝëM||\ùøãÞDGg°kW2/æãëëJh¨Ý»ûÙ^íêììÄ´im +^ µè\‹öÛ(:wöaÆÁlØpžóçs rgàÀ`ÛõË‹‘^þ,¹§£ÏS:vôaýúAlØpžsçr tcàÀ`,˜6­-:yÛµ:4„ví¼qv¶¯;2yr+ÆcÇŽ¤ß‚ÁÁnôëd+æ*"""r-0XŠÞ›'""׌øøx233j»zµÓ¦râDt5êúrâDyؽ7%%ŸûîÛÂÉ“|ÿýÚ´©_ƒ#ùcš:5€¹sãkx$r­óòò"00°ÂýµÂCDDj¥M›.ðÑGÇèÓÇŸOâãsØ´)ž´´|z÷öWØ!"""RË)ð‘Z©eËzäå™X½:ÎîxÇŽ>̞ݽ†F%""""W‹©•n¹%ðð!lÛ–ÈÙ³YN´kWŸolPåoh‘k©µêÕsáöÛÖô0DDDD¤8•ÝDDDDDDDDäú¢ÀCDDDDDDDj"""""""Rë(ð‘ZG‡ˆˆˆˆˆˆˆÔ: ø '[¶Äóé§Çñöv¥kW?ÆŽ ¥N£C×¹""r]?~+mÛÖçùç;ÖôP줧püx†Ãír=zÙÙ&\]K^„•“OF›]âù×_ßÏ+¯tfìØf¶cÛ·'ò׿î"!!×®íºuðá‡G¹ÿþf¼ôRgœ vç÷ì¹H||.0dH#n½5Èî|ff!I4o^€R9|8Í¡çmР‰‰¹üúk"«WÇqèPj‰áŠˆˆˆHy)ð‘ëZDDCÙí®–Ó§3Y¹ò ;w&ÁsÏí¦gÏÜuWH©!À/¿Ä“m¢gÏüéOÍññq-ÖæàÁTÆû…¼<Íšy1jTSZµª‡ÑhàÂ…NÊdõê8.^Ì·õ‰ŠºÈĉ¿RP`¦]»úŒJÓ¦^dežÀòå1,YrŠììBfÏî^ìž..N ðÎ;‡èß?èŠs=kV[`Sä‰'v’’Ï¢E7».@¿~,\x±±Ù¼öÚ>Ö®=§ÀCDDDª„‘*²lY 3gî¡°Ðb;¶|y Ë—ÇðþûGY¿~P©}­«/¦LiMß¾ÅÎ[,ðÌ3‘äå™9²1ÿúW·b+2ž}¶©©ù¶>Ï>»›‚3÷ÜÓ„×_ïŠÑø{Ÿ;îhÈèÑMxðÁ­|óÍY† ¡ûUnnFFnÂüùѬ^Ë]w…”ú ;ú;VòôìÙ Ä>þþnøû»°ys<ëÖ#'Ç„»»¶µˆˆˆHå(ð‘JIKËgÕª³ìÞLFFMšx1hPp±/í11Y,[ñcé˜Lf¼¸çž¦võ# ÌL˜N÷î~<ùd[–.=Í/¿$Ÿo¦K_&LhŽ——õ?]G¦óÊ+Q˜L°®|(2sf§RëRT—¼<ÿü§u<<ÐŒÀ@w¶l‰gäÈ&ìڕĶm‰Wìoúma„›[É_ô·oO䨱t5òàõ×»–v ØV‡lۖȉ4lèÁ«¯v± ;ŠtîìËÿý_;^}?Ÿ~²XàÖ櫯NóïæŽ;•xªPr˜xˆˆˆH¥)ð‘ ‹ŒLfÊ”\¼˜wÉÑ-:ÉsÏuàá‡[ðãqüõ¯»((0ÛZmÞÏÂ…'™9³ãLJ`6[ˆˆHÂËË™)Sv°qãy[ûM›.°nÝ9–/¿'22 ˆˆH¬õ2Š~_ôùJfÍÚÏ©?çÛow£aC+¶¹p!—ìlÆ…ðÊ+7°cG‡¥qÿý¡Ü¨mÕEi ­sSZ˜°}»501¢±m;HYŠú ~åí4£F5á_ÿÚÏÎI˜L–bcðõ­Ã¤I-yï½#¬Xq†1cš:tÿòrr²Þ·h.DDDD*C‡ˆˆTHjj>>ºÔÔ|:wöáÞ{C v'..›uëΑ‘a âãsyæ™H ÌÜqG#!..NlÞ|eËbøç?÷Ñ­›íÚý¾"cË–x¼½]yöÙ´lY—øø\>øà(¦²zu#F4¦uëz,Zts‰EKËZÝqäHš]@R–œS™m5òÀÍÍXjØâí]¼&G‘ÂB‹mˆ¿ÛÄÅY‹”¶lY¯Ì±9wÎÚ§uë+χ··+þþn$$ä’––¯oñ1<üpK¾øâ$sçfäÈÆW P** Àºµå—_1¢q•__DDDþXxˆˆH…¬Zu†ÔÔ|nÈô´;7n\3[àñõ×gÈÍ5q。¼þz[›ÛooHp°ÿùÏa¾úê4¯¼ÒÙvÎÙÙ‰%KúѬ™—íXÓ¦ž<øàVvï¾Èˆ©[×…ž=`0@ýú.¥Öˆ(ÉŒË\r©† ‹¿æõrÎÎfÎìÄÌ™{3f3¡¡^$'ç—M£F%¯Ù²%ž9s“EJJ>C†4"$ijĶyyÖUuê84”§OQ›ÜÜ’Ã//g&OnÉ›odÑ¢“LœØÂáq8jÔ¨&,[ÃSOí⃎äÎÂ…%¿šWDDD¤, l¿½¤cG»° CkAÌ””<*«ºê{Üw_(:ù°råÂÃ8v,[nYKóæu™:µ C‡ÚüLLÌeïÞZ´¨ËôémK½vQ]Ž¢â¦Ž(ZU’˜xå93›-$'çýÖ§ä&úSs,ˆæÃqß}ÍJmWQaauyòɶüóŸQDGgpölV•ßCDDDþ8xˆˆH…­(éõ©—*ZePÒéúõ]0~oséñ˹¸Xë;˜« ¼CuÔð(Ò¶m}^x¡#;v$±`Á ¦Nmˇeúô¸»;sÛm¿í×/O?íMdd2|œGÙÆ† ƒK¼n»vÞlÛ–Ä„94–¢mB[·ÆóÀ¥{÷¦m"4Ô Ò‹…º¹yüñ6¼ôÒ^æÏ?ÁM7›Le„‡'ðÒK{ «Ë£¶,uµ‹ˆˆˆˆ#xˆˆH…[·yìÚ•Tl5Æ¥Šê2ìÛ—BÓ¦ö_`÷ïOÅbÀÀ²·Œ\‰ÅRv›KUG ’N´kWŸÙ³»³ví9V­:cxøû»Ñ¿ýûqêTkÖÄqæLMšÿ¢?`@®®NüôÓ9¢¢.Ò¹³o™÷¿í¶`^y%Š/°gÏEºt)ÞÇl¶ðëkjËrß}¡|úé1>ýô8íÛWíJ™_~IàÕWoàÆߢ$"""R""R!³`A4o¼qà`»×ÐîÙs‘ÄÄ\nH¿~|ñÅIÞzë ­ZÕ£ukkÑ͸¸l^zi/ýúU|¥€§§3±±Y˜ÍÛ[>ÊR5<ââ²ùöÛXî½·) ü¾šÅbeËb0›-äç—œ4on RRòK <ÜøóŸ[ðñÇǘ4i/¾Ø‰¡CCìÞ¨’•UÈêÕ±Ô¯ïÊàÁ pcüøæÌŸ‚GÙÆ¬Y]4¨!†ßº$$äòÊ+QlÛ–ˆ¯o‡êr8;xòÉv<ýô.æÍ;VfûòHI±¾É¦yóºUz]ùcRà!""Ò«—?C‡†ðý÷±üùÏá¸ìÁ¹sÙ$&æòØc­<¸!·ÞD¯^þlßžÈðá õÂÅʼnèè Ì´lYÑ£+þšÓví¼Ù¾=‘þý×Ѩ‘ÌœÙéŠu:ª£†GVV!³gäßÿ>D£FÔ­ëB\\6½z­¶ÕǸûî&¥öwuµn%¹ôÕ½—{ê©vÄÄd²ví9žzj3gî!,¬.F£.d“˜˜‡Ùlaúôv þmgÌ3Ï´çøñt¶nMà±ÇvàçW‡&M<ÉÎ.äøñ Ìf žžÎ¼ÿ~OüüJ¯ßq©áÃC˜7ï;w&;8;Ž)z­£¯Ý¹ýBDD*löìîLÚ†ºu]HHÈ%*ʺ²£{w?n¿Ýº=Â`€yózÙBèè ŽIÃd²0xpC¾ø¢/nn¥×(Ë3Ï´Çßßsç²Ù¹3‰ˆˆ¤r­Þ¨*!!žLÚ†à`ΜÉâàÁTRSóINΣiSOÞ}·C†4ªÔ=ŒFï½×“Y³ºÒ¢E]²³M8JTÔEâãsñòrf̘¦v[S\]øì³>̘ё  w’“óسç"G¦c4<¸!«Võ§G?‡Çáäd¸bU‘kÁb)ïÎg©nñññdff:Ôvõj/¦M äĉèjUéL& 'Nd›k¢qc|}K^)•UÈÉ“˜ÍÖ×̽E¤ˆÙlaçÎd||\iÕª^‰ç|}]iÙÒþ\ÑýÓÓ 0›-´m[ŸzõŠ>½Z.^ÌãÇãX³æï¾ÛÃn‹KiæÍ;Æ[odÁ‚›ì¶]Ibb.çÏç`0Xë 4hP§Ìm=gÏf“””‹››‘¦M¯\¤tÏž‹˜Lºw/9 Ù¹3³ÙB@€[©u\öì¹H~¾Ù¡×?þøÖ®=ÇþýÃqw¯x&""×¶©S˜;7¾†G"×:///+Ü_[ZDD¤ÒŒFƒ­6Ç•xz:Ó±£O©çœ ¥~1¾Ò9GïµøúÖ¡Y³ºÔ¯ïêPØàãcm™ìpàáï¿[¹ÆÖ¸±;öÆ™’Šœ^Ê‘U!e]£H~¾™ƒÓps3VjňˆˆH"""ÕÀ©œ›Fo¸ÁÍ{„Õ«ã rgᛪad×–-[â™;÷§Og’’’Ï76°U© Õð©íÚyóä“mnߪU=}´Î΢£3عÓñ׿^ÏsÙ³ç"))ù4lèÁŒjzH"""RKh…‡ˆˆH5¨WÏ¥ÜuDžy¦==ÖšS§2ÉÉ)¬¦‘][úõ äË/ûáçW‡¦M=~µ°ˆˆˆHYxˆˆˆ\C<=éÐÁ»¦‡qÕT¤‰ˆˆˆˆ#´¥EDDDDDDDj"""""""Rë(ð‘ZG‡ˆˆˆˆˆˆˆÔ: >×öÙh4àããJ—.¾LžÜŠ.]|‹]óÀT,8ADD2II¹¸»;Ó¢E]cÇ6ÃÅ¥ô÷¨Hß›nú‘¤¤<ŽyÅg]±"†çŸßƒ··+]»úòüóhÜØ£¬))"""5ìØ±tž{n·í³«kÙ 0M& IIyüôÓy6n¼À'Ÿô¦_¿@Ûù?<Æ;ïÄbù½O~~>‘‘ÉDF&³ti Ÿ}Ö‡À@·b×®L_G™L’“­ãOO/`Ñ¢k#¬‘ÚC‡ˆˆH0›-|ýõY¾úê4Gޤ‘•UHÿþkéÕËŸ šÓ¶mýRûîÜ™Àƒ†ñÿ×–úõ]Klg4l«' Ìœ<™É[odÓ¦ ¼õÖA[à±bE ³gÄ`€ šsÿý¡4mêEVV!áá ¼óÎ!ŽIcòäm,_~‹ÝjÊôuÔ¨QM9² gÏfñ§?…³{÷EÌf NN†r_KDDD¤4ªá!""R^~9Š¿ý-’ÈÈd²² ˆÍfùòÆßzžééÖöwÜÑooW |ïwqq¢uëzüç?=0 >œFa¡…œœBþõ¯¼òÊ ÌœÙ‰–-ëáêê„+C‡†°reBB<8x0•¥KOÛ®Y™¾åe4 õâ†|((0““cªðµDDDDJ¢ÀCDD*$/ÏD‹«øË_¶›Í”)ÛéÒå{:uú–I“~åðá´û}ýõYFÞD§Nßҡ÷ ¾‘Ï?Æl¶TªmMJKËçË/OãååÌܹ7òÉ'½<¸!?ý4ˆ×_ïBûöÞWì_ô<ÎÎåÿϲá²täçŸãIIɧsg_ÆkVbooWž{®#+Wž­’¾U´BÄdº¶~¦"""rýÓ–©”´´î»o³]AÍ-[âÙµ+‰¯¾ºÅn+Ç¿þu€O?=n×ÿС4þñ}ìÙs‘wßíQ¡¶åñ§?må×_n¿ví@š7¯{Å6˜Í†oÌ!ر# ''ÍšyѬ™÷ÞzÅþÙÙÖŽÔî(RXháÔ© Þzë &“…¶mëãìl`Ïž‹Ü~{ðûßzk ÎÎH¡ ÀŒ‹‹S¥úV”««°ÎA½z.¾ŽˆˆˆÈå´ÂCDD*eçÎ$‚ƒÝY±âöïÎÚµ¹ãŽFdg›xå•([»ƒSùôÓ㸹yé¥ÎlÛ6„]»îböìîx{»òÝw±¬_¾Üm¯yäÎîÝIKËw¸_~¾™C‡ÒX½:£Ñ@ãÆžWlo2YhÑb-Z¬¢M›¯2d7^Àh4ðôÓíHL´OMšx]ñZuê pÇd²’’_é¾Õ´©õ™?ùä8ÉÉyv…REDDD*C+BC½˜4©…­í¨QM¹óÎFDF^ä‰'vðì³»¹õÖ JÕÃkðb÷y&OnUj»Ÿާ°ÐBçξ¶{V¦oE}ûíYV¬ˆá¶Û‚˜9³ zTêz""""ETÃCDD*åСT’“óìŽZضÍ*4ib­Ñj ~þùB±klÚd=VTÏ¡:ÊܹGñôtáöÛââb`Ë–þñkqÓ;ï )wÛòªŽ'Ndðê«û¸ÿþfÜpƒ‹³ÙÂñãé|øá1Ìf õë—¾õ#0к•$-­ ÒcqwwæÙg;0cÆn^zi/Ñьی¦M=ÉÊ*$<}ü‹NEoeÑÊ©j »ÛöyذŠ ¹­ð©b½zù;¼¬+<Þ{¯'7Üàƒ‡‡Ã  …Ñh À#ó÷¿wªéለˆH-¤""R!uê9qâîšF­qÛmAÜv[PMãª5ª)£F5­éaˆˆˆH-§"""""""Rë(ð‘ZG‡ˆˆˆˆˆˆˆÔ:  ¨nc:©Ö±‹ˆˆˆˆ=""R!…¦BælÃÀ–¯ûÀciÔR>ø”“É'mÇíõh©Çg;>#>3€ŽÁ¹%ì–bm~8üs¶Î spg""""W™¶´ˆˆÈ^øépN&Ÿ$Ô'´Ôãr.øyø±|ßòÏ/‹ZFï&U9L)""ò‡w_çûX÷È:Ö?ºž±]Æ:ÔÇèddDû¬?¾žÔœT»s'“O²;n7£:ªŽáŠˆˆˆˆxˆˆH•8œp˜ù;çóYÄgD*µÝ®Ø],Þ³˜·Ìê#«IÌL¼Š£,YŸÐ>„ù…•»ß½ï¥ÀTÀ7¿±;¾lß2œœÑ~DU QDDDDÊI5î>·/¯– ZÒ)¸Ë÷-gB÷ €µ˜ë׿涖·áëá[m÷‘+Sà!""•²;n7ë¯ç–°[héß’óéçY{t-ßü†PŸP¦ö À‚] Øw~^ h9€únõ‰K‹#âL‘±‘¿žþÕá±ÝÕö®j <FwÍ‹k_äPü!Ú¶ãç?“˜™È莣«õ¾""""re ÝôFƒ‘‹ÙXùç•zÚÚæ›ò9xá C÷º»ÃÝtéîðØ®Æ ‹aí†1kÃ,–ï[΋ƒ^dYÔ2¼èÖø%N†+¿<ìZ¬áЧiÕoÄž¸=tmÔµBo|‘ª¥ÀCDD*åtÊiVî_Y¬†ÇOÇ~¢ž[=Zú·`{Ìv:wÄÓÕ€¯†¶ʦèM|}àkN]÷nÚ›½çö²ñÄF»þž®žüý¶¿ãçáwÕÆ|¹ƒÚÂ"‘±‘DÆFð`×Ë ø%>î>ää–ZC¢è\»Àv¶cÇ1æ‹1dæeÚµ]´{c:aÖYåz¦q‹Çiwlã‰ü7⿼w÷{%eùñÈüõ»¿R`*°Û|r3 w-dæÀ™¶ðÆÕÙ•eQËxîÖçð÷òàט_ms¶õÔVîéx©9©¬Ø·‚¡í†Ú®¹'n“—O&%'Åîþ+ö¯àÞÎ÷òú×mÇ–ï[Îó?>Ùb¶[¹%Oõ{ªÜÏ”ûç\žy)MIõ'ù3éãîÃ⽋™xãDB}Bíú{è[ÂO‡3¬Ý°2ŸyÖ†Y¸p ÌvEÞö6 ë5¼bGÿ±‡#+=oŠ~Ÿ•™E)zMvïÐ^¼p(ò X]M]Àí´Û¸—yï¿ø>´5´ë=ßÒÁKQX®ø5Vßê@ùë¹1® µ ámï @c]cxÛ{+tQKÅ„©D²”ÿmï·åî7Ô6”ùÚÃңƧõ¦º¦ÒiFÄÃÇÑͺ›Òq¼Öã5üy÷O¼sðŒï:]Ûw…›…´5´a¤c¤T_B±ûXšL§¨¼H©„GLV `ª×T¹±¯¿²љѪ磳eg\I¸±XŒ¤ü$¤¤âãÃPÛ»níBLv <,=p5ñ*\Ú¹ÀÊÀ p'ýàlìY\Kº±X  ú†Xò÷¸œ8Àýìû€ÉÝ&׈ir·É Jx(ú}Vf^¥Ì5ùF¯7°à¯8}\:»oš¦÷œ®Ðù©3¢,e¯ççõsEDDÔ0áADD*)«ª~µ%ŒuŒåUåõö! kls2s¹9çp,ê®%^ömH/L‡“Z —v. ÅEý…Ë —á`ê€=gÀÁÔzšzØyk'ïJ“Š’ŒëéOë%ŒuŒ!dÆþ’óK¸€˜ìÜJ½@'èhè@CM—ã/C[½zµÉÓE]K*JááµÆ¢¥¡àŸï¼ï‰äû¡*E¿ÏÊ΋"”¹&GyŒÂ7¾Áï·~Çän“‘[’‹S1§0Ò}¤Laغ<Ê^ÏñsEDDÔV1áADD*±6´„¦„*ôö’ØìXT +¡©®)³=2#`eX½RAr'StRÒÇãX¹}ëcf¯™Ò"—YÅY˜{h.^ßû:.̽ Ðã À?É‚6Ö¨Y°îÒ:…úx–äæ9"#¦2û"EB,KÇ>Ž>¸€Kñ—–w w˜ë™zØôÀÕÄ«ÒG0ú;ö—gmTýýX1lE­IÉã–úÕ1EeFÕX­ù(R¥qJ(ú}Vv^¡Ì5©¡¦i=¦á‡Ë?àNú'£BX7û¼©ðùžG @¹ëYÑùVŠJ'öˆˆ”%~ªh6Ñó¢ÖÜQë4¤ÓÀê‹«q%áŠÌ¾°´0œ‰=#³íñ“ÇXun*„ªo¨¶ßÜŽ”Ø›ØÃÞÄ@õ§óÚ¸wQúPý8Æê «kı#t‚“‚e¶IúÈ*ÎBb^¢Âc’¬6¸z[º­JT…¯üˆÐÔP…ûyÚç€ï.~'}”Ò Ò°ßÒÁK±{Ún…ÿ(RÃCÙëYÑùV†¾¶>R ReÞàCDÔØnß~ óæÍCDDDs‡BmWx‘Jú:ô…Ÿ‡ŽGÇ›ûÞ„¥%¬¬‘^˜Žìâl¼÷â{æ:LÚ¾£yGŒ8ˆãÑÇáhꈌ¢ dgZ(Ó÷än“±ýævømóC§vP^UŽÄ¼DtµêŠ”ü™¶AqAð?ç}-}Ø›ØCKC ñ9ñ(*/‚©®©R7|ƒœaÓÕMX~f9~ ù¦z¦HÌMDay!ºXuATf”Òó4¸ã`ôuè‹à¤`ŒÝ>ަŽÐT×D\N*…•èÔ®&u›$m¯©®‰ì^@P|€ê$‡„£Ö]Z‡«‰Wñ‚Ý Ò•ð‚Ý ˜ì5ÂÀ7Àv&vh§ß…e…H-HEyU9æôƒÑ£1¸ã`ô°é°´0ŒøyœÍ! ‘˜—7 7dg*=N E¿ÏÊ΋"”½&ÍõÌá×ÙOZ³dáÀ…µu-×ó¨á¡ìõ¬ÌÏ•¢:[uFpR0mc À²¡Ëø¦"jTíÛC\ÜZLœ8ýû÷Çìٳѿÿú$RWx‘ÊÖŽ]‹y>ó`¨mˆ¬â,„§‡#»8½m{KWH8™9áÇñ?B] ŽˆŒdgÃPÛ_ü £ÜGÉ´×|œ|P)¬Ä½Ì{ˆÏÇ·ðá_#†Y}f¡¿c”T– :+áéá(*/‚·½7vLÝ!“¨W/,ººšºHÎOFxz8VZ-³šB['n­¾yW¯T‰ÉŠP$Ä0×aø}ÚïÐÑБ9F’äÐÕÔE/Û^ÒížÖžÒU(O'B$þ7âøìåÏ`i`‰”ü„¥…!.'"±£ÜGÁ¯³@]M?Oúƒ]£JT…ØìXÄåÄáE‡ñõ¨¯kô« E¿ÏªÌ‹"”¹&Hë XXb¤ûH•ÇÝX”½ž•ù¹RÔ¢A‹`a`ôÂtÜL¹‰”•ÞxDDT›i8qâ~ýõWˆD"¼ñÆ3f .^¼ØÜ¡Q"ó!M"¢'33ÅÅÅ µ=yÒóç[ááøú?'B±?DYUìŒí`¦g&ÝW^UŽ.kº`H§!˜€Ja%<~‘XW Wh©kÕÚojA*²Š³`kl KK”U•!<=í ÛרûPRY‚¤¼$ˆÅbXY+\LUžÒÊR$ä&@\Ú¹@S]ÉùÉÈ(Ì@7ënқΛ)7a m óÉ·¼mO*ž >'"ˆà`â ·`'” &+zšzð´ö”Ùw/óŠÊ‹àjáZë%oxÉ-É…™žlŒljÔxÈ,ÎDzA:¬ ­ÐÁ¨Ê«Êq'ý¬ ­àhê¨ÈthØ÷Y‘yQv®ëº&Ÿv/óÆn‹^úôÿ@áñ>oõ]Ϫ̷2s(™¿Â²BˆÄ"xXz(ýÖ#"¢ÚÌ›W]_hÆVFEEaóæÍ Dÿþýñé§ŸÂÃ+Ëþí `e¥B=ªÿÇ„Q ÔÚuyöÆŒÚ¦Öø}Š„xsß›¸‘|—ß¿,}ÅokÐ盈HB^ÂC"<<_}õÂÂÂ0|øp,]º:Ô_‰Ú¦†&JJJ°nÝ:hjÊõ:‘Zs@DDDDDD¤¨`Û¶m¸rå .\‘HÔÜ!Q Å„µ*}úôÁÖ­[qöìY|ýõ×͵PLxQ«ãíío¿ý;vìÀ_ýÕÜáP Ä„µJ~~~xã7ðùçŸ#55µ¹Ã¡† """"""jµ–,Y,[¶¬¹C¡†oi!"¢F—ZŠA[aFÏørØ—Òížk=áÙÞLÿã¹»¼ª]ÖtÁNC01@¡cš".Eµ¤Xª°¬—.áï#(>…e…˜Ów ZÔÜ¡Q¢©©‰ÿýïxõÕWqþüyøúú*u|VVöîÝ ooox{{?§(H$Bxx8nÜ¸ŠŠ Œ7usëÖ-DDD@$¡K—.xá… ¦VûúeÛ@RRnß¾ììlhhhÀÂÂ666ðòòj¶×3áADDÔ†¸}ëo{o윺³¹CÁ²Àe8}¢¹Ã "¢ž={bÈ!X¿~= @ ð±™™™øñÇ1þüŸðX±bNœ8ÜÜ\é¶îݻךð(--Åûï¿K—.Él—}522jP{¸ÿ>V®\‰7nÈÁÌÌ 3fÌÀüùóccbƒˆˆšLä'‘Í5!ccøyøÁ×Å¥U¥øüÔç͵aï½÷&L˜€ÐÐPôéÓGá㬬¬ZE²N:…üü|tïÞåååˆŽŽ®³ýòåËqéÒ%˜˜˜ÀÏÏ8yò$nÞ¼‰Å‹#  AíCCC1kÖ,”––B__ýû÷‡ÔÔÔ••…ôôtܾ}çÏŸgƒˆˆˆÚŽ•ÃWJÿ~úþéfŒ„ˆˆþ <==Ñ¥K:tH©„‡¥¥e³ÜŒ«âË/¿DŸ>}`nnŽ/¿ü²Î„Gjj*Ž9CCC9r¶¶¶€wß}cÆŒÁ¹sç •Ú—––bÞ¼y(--Ÿqã°bÅ Ôˆ#??wîÜiì©PDD¤2‘X„m!Û°÷Î^¤¦¡½a{Lë1 #ÝGÊm/¯>Å…‡°=t;b³cQ\^ c¼äôf÷ ++i»Ä¼Dì¾½W¯"9/êjêpµpÅkÝ_Ã+ž¯È=_jA*þ÷÷ÿœ ¡HˆÞv½±hà"xXy(4¾”ürãÜN»âòb´7lánÃ1¯ÿ<h×ü½>7SnbÛÍm¸zEåE°3±Ã0×axÛûmë×zœ"cM ÅÔß§®%^ƒË7.ÒãwOÛ oû–ÿ©QCùùùá矆H$‚šš*++qùòe$''C,ÃÁÁ/¾ø"ttt¤ÇÈ«á±eËTVVÖzž™3gÂÔÔTúµP(Äõë×qÿþ}TUUÁÉÉ „¶¶v£ŽoĈ ·=þÿµB}œ{p°`ÀLî6&º&H-HÅÕÄ«HÊK’iëbî‚ÙÞ³ÑÛ¶7lmQVU†˜¬|ø‚0»ïl¨ þ©~3å¤A]Ð IDAT&ºwèŽÍ¯l†«…+Ò Ó±îÒ:œ¾+ήÀÞ{k+%?+ή€‘¶>ü)uc]c$ç%cý•õ8s ¿…þ¦p¢!!7þûCM †ÿxÿ“»M†µ‘5Ò Òp&ö ´5êþôG‘±÷¶í‡Ÿ>lQEK‰ˆˆšš››ttt-]àáá¾}ûBCC‰‰‰¸rå bccë¬ÙñÞ{ïÕXáQ^^ŽíÛ·cæÌ™prr¤¥¥aÖ¬Y(,,„——¼¼¼ ¥¥…»wï"88³gÏÆÙ³g¥zlܸB¡P¡±´k×®A I¢§C‡5öÙØØ¨^Ý¢jû¸¸8@·nÝj´?tèÒÒÒd¶MŸ>æææJ¡¡˜ð ""•Þ,´='J·Ïè9eXwi]½}´7l×e, ,NfNp2sªÑvŰØr} ® £0 ™ýii°7±—~­§©‡­“¶Â\¯úÖŽæñø0ú×ÑM Åã'ÑN¿Ü¸ŽÜ=‚*QüGøË<žãÒÎ?Œý¡©¡8{Vá„ÇѨ£Š„xïÅ÷dVrt4ïˆwû½[ïñÊŽ]YLŽQ[¡¦¦'''ÄÇÇ#77NNN8zô¨Ì „ÜÜ\™·œÈóÿ>WVVbîܹ˜2e –.]*ÝþÓO?¡°°+V¬ÀôéÓeŽÙ±cüýýqìØ1L›6 ðÁ(µÂ£!ÊËË@îc5’m’6ª´òä ÀÐаFûC‡!$$DfÛˆ#˜ð "¢ÖA²ã%§—jìà4@¡„Ǭ>³’‚ÑÛFc ó@tmß]ÛwEoÛÞÐT×”¶+(+À+;_AFaF­}•U–É|ÝÙª³4Ù!¡¡¦~ý—‡¤¼¤Z?|tì#|tì#éLÄKÿ.€â¯»‹Ë©þd¤›üÚ&uQeìDDDÿffffÈËËÃðáñmÛ6ìß¿¾¾¾°´´”î733S¸?¡PˆùóçÃÊÊ Ë—/—ÙwíÚ5¨««#77›6m‚XüÏÿ$ ÈÈÞR7oÞ¼†Oaò’ò’ʶ×××G^^ŠŠŠj¼®vâĉÒÇ`Ž?ŽøxÙGs› DDÔl ´ °ëµ]ˆÍŽÅäˆÉŠÁÁˆƒÈ-ÉŗþÄhÑ€C‘‡Q˜a®Ã0ÏgL «¡ @€eËdêˆ(J ¨=a!‹BQíKNŸ]eÑÐsÖæyŒýY¬áADDm‰¾¾>JJJ°jÕ*ØÛÛãÈ‘#ð÷÷‡žžzôèqãÆaÔ¨Q õ% ññÇC__þþþ5þ-ÏÍÍ…P(Äúõëkí£¨¨Hú÷¦¬áaaQ½z6==îîî2û$›HÚ¨Ò¾cÇŽHMMEdd¤ô‘‰‰ÿYý{ïÞ=&<ˆˆ¨uq0u\N¸Œé=d—p^J¸¤T_®®pµp•~ýþŸïcáñ…ðqò±Nuí ødà'27Ú 'Ëíó^æ=ä”äȬò¨UázÒu¨óÉ9~›úú;öWj,uõw*æÜ-Ýëi-KÙ± @•°ªÑµnOž<©©)ÔÔÔ0iÒ$Lš4 "‘‰‰‰¸pá,X€¨¨(,Z´¨Î~D"–,YX½zµÜœFFF¨¨¨ÀìÙ³kì“pqùçÍiMYÃCò6•7nÀ××Wf_pp°LUÚ0AAAرc† Ö" —2áADD*î6[ƒ·â»‹ßAGC/»¼ ¡XˆS1§°ùÚf…úXzr)ÚµÇË./ÃÁԚꚸŸ}?@¥°™E™0Ö1F£êâY?ßø½ôLtMð ûÖ]^‡„ܹ}—T–`ÎÁ9X6d™LÑÒ¸œ8ô¶í]ëã,0Ás®`Á±X8°:ñÒN¿ Ê ˜—ˆÑ'`e`¥p q]ÆU×à€P,Ĥn“ÐÞ°=Ò Òq&ö ´4´ðVŸ·ä«ìØMtMðàñ$ç'ÃÖØj‚úÿóÁDDÔ–äååÁÓÓ.\À€ ®®5558;;ÃÑÑ»ví¡C‡êLxˆÅbü÷¿ÿÅ“'O°qãF¨««Ëm÷â‹/bß¾}pppÀ¸qãj쉉‘©qÑ”5<|}}±jÕ*8p3gΔ¾j6''¿ýö`èС*·ŸHÊKÂÄe¶ëiêaùÐå5Ú?ÍÑÔ«F¬Â²ÀeXzj©Ü6súΩw|NfNøÌ÷3øÿí€ë¸ ³ÿ½ß«õXeÇÞ×¾/ŽG‡oÀ?ŸÌìž¶ÞöµW¢^ö‡ïÇg§>“Ù¶5x+¶oP]àöËa_6y\DDÔ¶=zôxÿý÷ajjŠž={ÂÎΕ••FjjjG6žµbÅ ;v o¾ù&6mÚTcÿÌ™3ajjŠwß}§OŸÆ'Ÿ|‚íÛ·ÃËË †††ÈÎÎFll,"##±mÛ6é# ­áˆû÷ï"""GÅ;w£F’®(±µµÅ„ pøðaŒ?~~~ÐÔÔĉ'••…!C†È¬ØP¶½žž6lØ€·Þz ‡B`` ú÷ï{{{¨©©!''7oÞDRR,,,¤¯ñmJLx‘ÊV [ì½³i…i°2°ÂÔîSá×Y±„ÇêÑ«q0â Î=8‡„܈!F£á6³úÌ’®N°6²Æï¯ýŽÕWãP¨¡—m/,´X& ð4ccì±þçü’‘HT}ÌàÅð°ô{ÌÓ¦xM»¥;¶…lCHJrKra¦gGSGŒöq]j~ŠS—7z¿W Wl»¹ aia(­,…‰†»Ç[/È_Ý¡ÊØ?ùsT‰ªœŒ‚²…?E"""j ’’’›› ///øúúâìÙ³8uê”L[[[|õÕWµöƒßÿ ·ÍèÑ£ajj [[[ìÚµ Ÿ|ò îÞ½‹»wïÊ´óðð¨Qߢ!Μ9ƒ£GÊl{úkWWW™GhV¬Xììl\¾|Y:&èÝ»7¾ýöÛý+Û¾OŸ>Ø¿?V®\‰›7o"00Pf¿ºº:&L˜€Å‹ËÔÿh*1ÿ'DDÔâdff¢¸¸X¡¶'O`þ|+<|÷œ£""""j¸yó¬6d6zßGŽÁgŸ}†;wî@KK ÙÙÙ EJJ ôôôàää„~ýúÉÔ›ÈÊÊÂÞ½{áíí ooodggcÏžº‹‚KVxHˆÅbܾ}wïÞEii)Ú·o777™áéò<½Âãi¡¡¡ˆˆˆ€H$B—.]àíí]gÍ eÛÕɦ[·n!;;jjj°±±A¿~ý´²ÃÀÀVVV*Ï„Q Ä„µUÏ3áñÎ;ï ªª Û¶mkô¾©é54áÁGZˆˆˆTÔc]•ÕÙÆPÛa‡5QDDDDÿ^ÙÙÙ Â?üÐÜ¡P ÑòÞCDDDDDD¤¤;vÀÈÈ/¿ürs‡B-Wx©ˆ+7ˆˆˆZ†ÌÌLìܹ ,€––Vs‡C-WxQ«¶zõj˜››cúôéÍ µ \áADDDDDD­Ö±cÇð×_á§Ÿ~âê’ÁDDDDDDÔ*%%%á‹/¾À믿ŽÁƒ7w8ÔÂ0áADDDDDD­Nvv6fÍšggg,Y²¤¹Ã¡ˆ """"""jqnÞ¼‰ÄÄD¹ûŠŠŠðŸÿüêêêøå—_ø( ÉÅ„µ(ÑÑÑxûí·±víÚû²²²0mÚ4äææbûöí033k†©5`ƒˆˆˆˆˆˆZŒ¤¤$¼þúë(--Å©S§%Ý)S¦ ¢¢ûö탭­m3FJ-DDÔè Ë ñã•q1î¢Ìö-×·àPä¡çzn¡Xˆ¯üˆãÑÇ>¦)âRTKŠ¥±$ä&`GèüxåG\M¼ÚÜáQ –••…éÓ§£¨¨"‘X½z5àôéÓ˜8q",,,°oß>ØØØ4s´ÔÒ1áADD®°\~ÂcóµÍ8ñ|oæ«„UÕ {Š'<š".E54– W6àÏ»6bDªÛ¾Ã~†¡? …ÿ9üxåG\K¼ÖÜaQ UTT„7Þx?FUU ªª ×®]Ã|€yóæaìØ±Ø½{7LLLš9Zj 4š;""ú÷xïÅ÷`i`ÙÜa´i¯m„·½7&tÐÜ¡àjâUÄçÄÃÑÔ6Æ6\ÝADDµ*--ŬY³ MvH¨««ãöíÛX»v-ÆŽÛLRkÄ„5™wû½ÛÜ!PzÕëU|èó!œÍqúþi&<ˆˆH®ªª*¼û{÷nd…BdeeAWW·¢£ÖŒ ""j'Oð÷ƒ¿‘^˜Žö†í1Ôuh­m·\ßKKLôœ(³=45±Ù±(./†­‰-úØö…EãsKr’‚ä¼dh¨kÀµ+ú9öƒº@½ÖsFgE#8)"±½ízÃËÚK©ñÝ}taia(®(†•vs=s¥úPtœòÔ7öôÂtŒ8‘X„ä¼düxåG鱯x¾[ã¦/êö¢ã‹M~N""j]D",X€ëׯC(ÖÚNMM _}õ|}}¡®^û¿ûDOcƒˆˆT™‰w½ƒìâlé6  øð—Û~óµÍðlï)Mxä—æã­ýo!"#B¦¶†6\ˆY}fI·­:· {Âö BX!ÓÖÑÔ?OþNfN5η&h ®Èl×e¾õû¶Î$ <~òûד®Ël×ÕÔÅò¡Ë1©Û¤:š2ã”G‘±§¦K“©©2 o{ï:Þý)ù) gf¯™0Õ5U¸=QmüýýqúôiˆD¢:Û‰D"¤¦¦âÈ‘#˜8qbm‰$˜ð ""•<©x‚9‡æ »8NfNðqòP$DP|–ž\ªP;Bw "#VVðíä cc¤¤!$9·RoÉ$.'\†¥%zØô€± ʫʥ«7ŸXŒ3Èô};í6Î=8‡ÎÑÉ¢2 3x?G£ŽÂÑÔó|æÕ—P$Ä샳™ [c[¼äüŒuŒ‘”—„sÎá³SŸÁ¥ ºwèÞèã”G‘±w0ê€ù>ó±áêØÙàÏW¤ÇÛ×]ÅþÏ»*ULt´Çh&<ˆˆ¨Á¾ÿþ{ìÚµ b±¸Þ¶ …øá‡0fÌhii5A„ÔÚ1áADD*9}YÅYxÉé%ü4é'hªkJ+K1sÏLä–äÖÛ‡¤Íá7ÃÊÀJº½BX¨GQ2mW [gsg'#£0ZêZxÁî<~òaiaÈ+Í“¹ Ï-ÉÅ·£¿•¹ñÏÇ”S°=t;Þëÿ^­«<ÎÄžAdF$Ætƒ5~k ®öO»ÈŒHLÚ9 ÛonÇúqë˜)åÆ)"c—$<6]Û{S{Ì÷™¯Pl0¡ëô¶í­p{3=3…ÛÉ“˜¸§Nm–Ù&¤‰ ÉŠ###8::ÂÃÃNNNpvvFUU¤&<ˆˆH%·SoæùÌ“&;€êG>Þñ}Ì>8»Þ>†¹Ãa`[È6Lñšg3gh©k¡‡M™¶wÒï`Ö¾Y¨Õ,f9OrdަŽ2Éð²öÂPס8}ÿ4d?€»¥»Ü¾$Å5õ4õ ýäI,C 1ŒtŒ™YïøT§<ÊŽ]Y-á.DDôï‘–¶ÑÑŸJ¿ÖÐЀ\]]áìì,ýãää##£fŒ”Z;&<ˆˆH%e ·6„‰B}ø8ù`Ïô=ø-ô7¼úû«(¯*G×ö]1Ôu(^ëþt5««±'cmÐZh©kaH§!p0u€ž–àrÂe„¥…A$–}ö×ÖD~Í Il…å…µÆ%Y‘±/|ŸB㨢ã”G•±+‹5<ˆˆ¨©¤¥¥¡ à6<<¾Á¢EpvvF‡ ¦¦ÖÜ¡QÄ„©ÄXÇ@uLKK™}ÊÜ<÷±ëƒ>v}YÅYI Á×Ó1§±wÆ^¨ Ôp!î`ã„ðuñ•9>:+Zn¿©ù©r·Kb3Ò®ý#cÝê±Mï1æúòßÈ¢£¡SǨjRdœò¨2ve±†5tîü`À€ÌfކÚ:&<ˆˆH%=m{âPä!l¸²¡F M×6)ÔGpR0<­=¡¯¥°4°„Ÿ‡.Æ]Ä‘»G›€Žæ!Ú5Ž?ÿà¼Ü¾óq8òpgcÏÂHÇ,:ÕW?û~8~B±ôÿ F2"»8E Q™qÊ£ìØµÔµ_š¯plkxQÛÄ„©ÄÏÃë/¯Çå„Ëõë(ø8ù@$ábÜE”V–*ÔÇÖà­¸•z }úÂÁԚꚈɊÁ¥øKP¨ÃD×УCu‹9ç`„Û˜ê™âÁ㊠‚™ž?y\£o3=3,>±'¢OÀÕÂé…鼡XˆY½gÕùZÚÑGcGèì½³—.ãEÇa®gŽÂ²B$æ%"$9ÿyá?èfÝ­QÇ)²cw4sĽÌ{øä¯O`gb5^ñ|¥Î×Ò>¯Q™QøûÁ߀BSC¥¯ÌífÝ ƒ:z.ç&"""bƒˆˆT¢¯¥­·âCï !7 ¹ €vúíðÕȯ0÷ÐÜzûèçÐwÒïàüCÙ• úZúøïËÿ…¹^õã$Ã݆cLç1øëÞ_8ñÏëg'{M†¡–!¶ÝÜV£ïž6=ÑѼ#¶oEP|tû¸.ãð^ÿ÷êŒK] Ž_§üŠ%'–àüÃó8.ûÊ[++…“ÊŒSeÇ>«÷,,9¹G£ŽJ·yÛ{×™ðx^¢EI“·RoáVê-ÀŒž3˜ð ""¢ç† ""R™§µ'νs?øé…é°2´ÂNC ‹1ßg~¤À{/¾'Sïã¾ï`f¯™¸‘|Cš0±6²ÆçÐÓÔ“9vÝØu˜Öcî>º @€^6½àií‰+ W` m ­µ¡¡®ù>óálî ??Œò…äˆÄ"ô²í…îº×dzq€©®)~šôâr⚊ܒ\˜é™ÁÑÔ½m{˼ª¶>ÊŒS^,ŠŽ^ñ|]ÚwÁä((-€bØÛ(kcêÒ¾K¯ÇU&iDDDD¤,Xò®=""j1233Q\\¬PÛ“' 0¾>Œ{ÎQ5ܼyV€ X´”êf``+++•ç """\@…°¢Î6ZêZ˜Û¯þÇ{ˆˆˆˆ¨q1áADD¤¢­Á[QT^TgCmC&<ˆˆˆˆšDDD*šÓwŽB+<ˆˆˆˆ¨é1áADD¤"®Ü """j¹Ôš;"""""""¢ÆÆ„µ9LxQ›Ã„µ9LxQ›Ã„µ9LxQ›£ÑÜQ듃Ýa»‘’Ÿ‚Šª ,´j5¬¾°¯÷~#ÜFHÛ¾µÿ-8›9ã¿CþÛŒ·>q9qØuk’ó“QVY†Eƒ¡‡Mæ«MQæ:þ7‹ÎŠÆ™Ø3øÐçÃZÛ4äç¼RX‰7ö¾Þv½±`À‚†„JDDÄ„©îáㇿc<ªDUÒmy¥yÐPÓ@HJ†º•i3å&Ê*Ëš:ÌV-)/ c¶A…°Bº-¯4¯#j3÷Ì„‡¥>{ù³æEéë¸15õ<4ô|…e…xý Î6 ù9‰EI ‘Ž‘JÇ= ""RÙÁȃ¨UáÍÞobPÇAÐTׄ›…`÷´Ýp0uhæ[¿P!¬;Ç­YHJAs‡ y¯ã¦žUÏ—˜—ˆÃ‘‡q3å&ârâðéÉOámïÑ£¡¥®%ÓvÛ”m0Ð6h¬‰ˆˆTÆ„©,5?ðñ€¡¯¥/³ÏÛÞ»9Bjsêšcj¼Žëv â–^&³æ`ÄAŒ8ˆMW7áÜœs2íûØõiꉈˆäbƒˆˆ”šŠïƒ¾GìãXÀÛÞ†5?5V´öAAYFDXZŠ+Šae`…ánÃáëâ+móô³ýú|ˆýáûq9á2*„èaÓoôz£Æ§ÊB‘ã/âJÂ$ç%C]M®®˜è9NfNrûž×v‡íFpR0ÔjÒi^ñ|Uœ…·v"&+Z˜ì5ýû«4žúÔ6ÇŒ;`ßi»¤¼$ˆ8€ØìXEB8›;ã•®¯ÀÃÊCîøæûÌǾ;ûp=é:òJó01sÎi”±+2ß÷³ïcřЄ¸ûè.¦íž&=~ÙÐeð°ô@SiÈu¬È¼×EÑyPôZÊ*Î’ÆS\^ [[ø8ú`H§!*Ï{yU9V]¡Xˆé=¦ÃÊÐ —â/a|×ñM ÅõÄë5Ž©­†‡²sV!¬Àa 8)"±½l{af¯™ÐÓÔ“¶Qö÷Bfq&>>ú1†¹ ۽ߔ9ŸdßH÷‘˜Ùkfþãw5-&<ˆˆHiy%yI ‘~}3å¦ÜvŠÔ>K Ã;ß©Q—âPä!LöšŒ¯G~ àŸgû ´ ðîáwqþáyiÛ‹qqæþ|ý 4Õ5¥Û§ý1 ·RoÉô{þáyl Ù†6JoŸîûíoãjâUiû3±g›€ñ]ÇcúÓñøÉcé¾1'ðëä_1Ày€Òã©Omsì\â,Ýv*æüµ•ÂJé¶ ø üú– Y&½i{z|³öÍÂõ¤nR+„6vE滨¼H:®Â²B™1–Ö9'_ýýî>º[g›§­³Œ:Ôº_ÕëXÑy¯‹"ó èµ›‹)¿OAqy±L»Ý·wcŠ×|5ò+•çýQÑ#”T–`Lç1X1|n$ßÀ½Ì{˜Ú}*¦vŸŠüÒüÇÈ«á¡ìœ‰Ä"ÌÚ7 7’oH·x‡#c0Õ5•¶Sæ÷BYeBRBàjáZ#nɾÎVeâh¬Ÿ""jzLx‘ÒzÛõÆîi»ñý¥ïq+õv¼ºC&ÑžŽo/~[o?ÅåŘ{h.òËò1¾ëx ê8Æ:ÆHÎOÆŽ›;p üúÙ÷ÃØ.c¥Ç\Š¿],¼ÚuBfq&6_ÛŒ¨Ì(œŒ9‰q]ÆÉô?®Ë8ô±ë[c[”U•!:3;Bw`ÅÙ5>%¿ fzføüåÏálîŒØìXl¸²¿„ü‚óÏÃÖØK/‰Ž ÎÇÇž°=Xwyô¦F•ñ(;Ç::ª?^t|*…•á6#ÜG@SMAñA8q«Î­B/Û^27o—â/Á@Û .„‡•t4t¤Ÿ–7tìŠÎ·›…vOÛ-·xf}«;b²cdnÔëSZYªÒKÈ»ŽU™wyê›e®¥½wö¢¸¼ƒ:Âø®ãa¢c‚Ô‚T\I¸‚¢ò"…ÎWcèhèÔš1Ñ5©sœªÎ™äZ]ˆˆ¨é1áADDJ3Õ5…·½·ôSÖ>v} ­¡-Ý_^U®P?G¢Ž §$ .ÄÜ~seör…›âðÝÃ2  5 왾Gæ‘ÌØ3·ÓnËÜØìž¶7’o (>÷Q!¬€X,†¶†6Ò Òð¨èÚ¶—é{ߌ}°3± tˆÒÊRüxåG¨ Ô°wÆ^h¨UÿÓ9Øe0î=º‡ÈG‘¨UACMC¥ñÔ¦¾9>r÷ʪÊj¬î6Ö†ÖXe=ö…ïÊa+¤ûÄc×Ô]2H¾W »2óímï @c]c¥jd,¼…åu¯yZ]«;Õ®cUæ]CmÃ:çá÷Û¿+|-Iæß™ÄÔîS¥‰ŠúÎW 5 ,º ËN/Ô]Sàh戜’¤¤ÁÆØF¡>T½VwNÝ)“é>CŠÑ'°jÄ*™G[”ù½ ŠÆøù "¢¦ÇßÀDDÔlî¤ßœ=‹kI× ‹TßìHþ—'sŒ§µ§ÌM tmß@õ# B±û—.×zþ¢ò"™„‡§µ§ô†FÂÝÒ@õÍÙ³7.VÏGfQ&lŒmTªb²bS½¦ÖØ÷Z×°þÊzDgFˎŽÖz »*ó­,EëcÉÛ+Tª$«ä=R`¬c @Pc…B]Ɇ†Ž]•ùVVc×ðP…²ó‘È´“\'uQæZr2s¹9çp,ê®%^ömH/L‡“Z —v.õ¬VøÜêsÜH¾¡;0¯ÿT¹V?yŒUçVá¿Cþ -u-ˆÅbìݔ؛ØË̇2$ór1î"ârâÐѼ#€êǃV_X­RŸDDÔr1áADDÍæ»0Ùk2„€o€/ìLìÐN¿ Ë ‘ZŠòªrÌé;£=F+Ý÷ çAØtu–ŸYŽ_C~…©ž)sQX^ˆ.V]•ÕªÆó¬Á£¯C_'cìö±p4u„¦º&ârâP)¬D§v0©Û¤F•b”ïÎVœŒA[ÁÆØ°lè²:ßÒjx4ö¼×6Ê\KAqAð?ç}-}Ø›ØCKC ñ9ñ(*/‚©®©Lr ®y_}a5ÂÓñ|ØriRâIŬ Z‹.ÿ#j"­0 }7ôENI`B× >gÍ;â`ÄA>GSGde »8°pÐB…çWžÉÝ&cûÍíðÛæ‡Ní:¡¼ª‰y‰èjÕµF½""jÝûH…ˆˆè9ù߈ÿá³—?ƒ¥%RòS–†¸œ8ˆÄ"Œr¿ÎuD¬W/,ººšºHÎOFxz8VZ-óIxc{^ãy–@ ÀÖ‰[«oÅÕŸPÇdÅ@(b˜ë0ü>íwé+l›‚²ó½hÐ"XX ½07Sn"$%¤ÖWŸ¶$=ïu̓¢×Ò¬>³Ðß±?J*Kðôp•ÁÛÞ;¦î€®¦®Bç‹Éª~dHò*[°5±Å<Ÿy°6´Fr~2¢2£_šœ’8˜:`ÝØué>²ÑçÌÉÌ ?ŽÿêuDdD »8†Ú†øjäWå>Jáù•g^ÿyðqòA¥°÷2ï!>7#ÜFÀ„ƒú%"¢–G n胜DDÔè233Q\\¬PÛ“' 0¾>lœ·(#6;y¥yèc×Gfy|~i>îg߇ƒ©ƒL¡Ì›)7a m ÷S|±XŒ¤ü$ä–äÂLÏ 6F62Ïï‹Ä"ÜL¹ S]S¸Z¸Ê+Ùg¦g†Ní:Éì+­,EBnÀ¥ 4Õ5‘œŸŒŒÂ t³î]MÝ:û–ŒÅÑÌV²uó‘Y” ¯^5nØê¢j›ã§=©x‚øœxˆ ‚ƒ‰CâŠÌ]c]‘ù–Š…xøø! Ë !‹àaéÑ(oQ–²×±D}ó®¨úæAÑk©¤²IyI‹Å°6²–¾nWÑóÅdÅ  ¬­:ÃPÛ°Æq¹%¹8s §ïŸÆº±ëdqy:V÷oÝÑϱv¼º£Æ~e¯ÕJa%<~‘XW Wh©kÕÙ^Þ>y¿ µ YÅY°5¶…¥%ʪÊžŽö†í¥µFžÇï"æÍ«þ™Ù°!³™#¡–ÎÀÀVVªÕm˜ð "j‘ZKƒˆþ]®%^Ãa`ã„r÷GeFaÜöqßu<Öø­iâ舨µ`ƒÕЄkx5±ÙgãIù“:ÛèkëãçI?7QDDŠ©m•Q~i>fœ˜¬À‹/6eXDDDr1áADDÔÄBSBeê$È#ï‘¢æÖÙª3>|éÃÛ+…•K P]Ät\×qMQ Lx5±°Ãš;"•éÉ­³ba`‡Ÿ>l†ˆˆˆˆjÇ·´Q›Ã„µ9LxQ›Ã„µ9LxQ›Ã„µ9LxQ›Ã„µ9͵<žk=áÙÞLÿ£¹Cyn Ë q)áþ~ð7‚âƒPXVˆ9}ç`Ñ EÍ5&<ˆˆˆþ¥Ü¾uƒ·½7vNÝÙÜ¡4‹eËp"úDs‡ADDDÏ DDDTCä'‘ÍÂsg¬c ??øºø¢´ªŸŸú¼¹C"""¢FÄ„ý+­¾Rú÷Ó÷O7c$DDDô<°h)©L$áç?cÈÖ!ðøÎƒã—¿ µ .߸àË3_JÛ–W•ÃåÌ=4ii˜d>z¯ï —o\PRY8r÷&휄nk»¡ëš®»},vÞÚ ‘X$í')/©FßÏîó?ç/÷¼©©x÷ð»è±®º­í†·ö¿…èÌh¥Ç­ÈXBRBðÎÁwÐ{}o¸ëŽA[áëó_£¸¼¸Á±)2OuÅx)þ\¾qP$ĵÄkpùÆEúçFò Õ5<¦íž&·¿¬â,|tô#ôú¡<×zâõ½¯ËU™ëƒˆˆˆ¨±q…©lù™åضGúuJ~ ¾¹ð ¢2£j=¦ ¬SvMAfq¦t›H$Â7¾Á/7~‘i{/óVž]‰°´0¬»®A±”àÕ]¯Êœ÷Rü%„¦„bߌ}ð°òP©OycÙ¶_œùb±Xº=µ ¿†üŠk‰×°æ~èjꪛ²ó$7Ƨ#Ê*,+Ä«¿¿Š”üé¶k‰×0sïLœ}ç,LuM¥ÛU¹>äy}ï븖xMáö³ÑѼ£Rç ""¢¶‡ ""RIxz8ö„í¶– Y†—]^F•¨ gbÏà«¿¿ªõ¸›)7Ñæ6½² î–îÐÑÐATf~¹ñ t4t°dðŒpMuMÅaÕ¹UøëÞ_í1C: Q9Þ›)7ѽCwl~e3\-\‘^˜Žu—ÖáôýÓXqvöÎØ«RŸÏŽ%%?+ή€‘¶>ü)uc]c$ç%cý•õ8s ¿…þ†¹ýæ*›*ó$/FxøéC•Š–†¤„à»°~Üztj× ™Å™ø"ð \K¼†£QGñfï7¨~}5&<ˆˆH%±€Eƒa¢çDéöi=¦¡ ¬kƒÖÊ=NOS['n…™ž™tÛ©˜S€ú€™½fJ·ë2j5||ìcœˆ>Ñ „‡ž¦¶NÚ s=s@GóŽøaÜýëh„¦†âñ“Çh§ßNù>ŸË‘»GP%ª‚ÿŒt)ÝîÒÎ?Œý¡©¡8{V&á¡hlªÌ“¼ÂT×?Mú ÚGSG,² #‰˜¬i;U¯yþ­o‘!""¢†a ""RIr^2à%§—jì“·M¢³Uç7߉¹‰_ßí%Û’ò’T Uz^IBABCMýú©Ü¿¼±‰ª×Qcá ""j5¶=]»âY&º&µ÷%¨Ù׳ÔÕ¹z1jž£¬ª¬ÞãrîgÉ‹¤>†P$¬õ¸ a…Rçy66eb­k¾U!y$æiò®ºöÕu}ÈÃDDD¤ &<ˆˆH%ö¦öª‹kNï9]fßÕÄ«Jõåhæ¸ðð:µë$³ïbÜE€ƒ©H;yºh¦Äõ¤ëµžã^æ=ä”äȬ¤¨UI±7±W*æÚHn´›úú;öWèEcSfž!€UÂ*…Û+£1¯""""U0áADD*î6?ÿ„5Ak ¯¥AA$áLìlº¶I©¾FºDÀõl¸ºúÚúî:šêš¸ +Ï®ŒrÐÕÔE£¸œp"`¤ÛH” Ëq6ölu!J*K0çà,²L¦0h\NzÛöVº~Gm&xN@Àõ,8¶ .„“Úé·CAYóq"ú¬ ¬djx(›2ó¤]^ræëGÿÍx}QsbƒˆˆTVXVˆ5Ak°&hM}Ÿ¿ü9ô4õš!*ÕõX×EåEu¶1Ô6DØÇaMQëÖÖ®"""j]˜ð ""•½ÚýU–âï#9?êjêèlÙo{¿ _ßú; 6×5'Öð "jZ{ """¢Ú°†)ª¡5<Ô1"""""""¢ """""""js˜ð """"""¢6‡ """""""js˜ð """"""¢6‡ """"¢ÿcï¾Ã£ªò?Ž¿'…&=$B % UXŠAAÀ†‚¢`˺»¸Šþ\u×eWW]QPYÑ]ŠRlˆté½#Ò …$´„ÔÉüþˆ’@2™0Éðy=™{Ï=ç{Nàšû͹爈ˆËQÂCDDDDDDD\އ³‘Úë£Mf chÛ¡­7;7›™ÛgÒ.¢½£{;´îÊ2[ÌLÝ0•f!Í;Ø©±\Mâ™DÖ]Cvn67FÞÈMMoºê5ûÓ÷³+e¹¹´ kI&=pws¿ÑŠˆˆˆT/%á‘—Íäõ“y¨ÓC×,á1eý"#¹û†»mŽš ™¼~2}›÷­± ¯ö|ŧ[?åèé£ÖcOv{òŠ Süþl>¶ÙæxTpŸ ÿŒÈ€Èj‹WDDDäZPÂCDDìöLg3†9; ‡ø`ãtmܵT£6Ø´£§Ò4¨) ²!iÃË_È¿ÀˆY#H:›DO}[ô%Ä7„„Ó ¬:²Š“çO*á!"""µž""b·§»?íìÞ~8ÏÆ=K³f,9´äª ÷×½OÒÙ$ÚG´ç³áŸáïío=wüÜq¼=¼«;d‘j§„‡ˆˆØ­¼5<Ì3“6r8ó0æ"3Ñ¡ÑÄ5ÃËëTò/°òÈJR³S©ïWŸ~-ú]µÝŸOþÌ®”]˜òM„Ãé݋ߛö/]wã@Æ6ÛL‘¥ˆÎ:Ó>¢½µljv*ó÷ΧÈRÄñ³Ç™¼~²õÜ=mï¡^Ýz6m'œN`}âzòÍùtlؑΑ+<^Õ¥GÓ.›oÎgÞÞy Þò¶M² q`cG‡'"""âJxˆˆˆÝÊZÃ#þTñ#aÆ0.ä_àÉO’iÊ$*8Џ¨8ÌEfÖ]ÃÄÅKÕm.23zþhö¥í#2 ’žÍzàÀ±³ÇXqd/ýø1¡1thÐÁzÍΔ¬8²‚^ÍzѼ^sÒ²ÓXzh)ßîÿ–¦AM7Žþ 7ž)¦Ðп!÷´½Çz}À†Ö¯w§îfUüªâºB›“nJgñÅ|µç+Ç®Ð,‹¯þšI+<žƒb9<áqìì1ÚÔoÃsß>Ç¢‹lÎk?Œ¿Ýö7íÔ""""µž""â0ßÿò=)Y)tj؉ÏïÿO ‹ yîÛçXrh ³wÍæ¹žÅÚ¦ zFõäã{?ÆÓÝ(NšŒœ3’3ÏØÔ½ìð2ö¥ícHë!¼=øm›ò}iû¸÷‹{ùlÛg¼çûÖãg.žá­AoÙ$1ö¤íaØÃølûgq=~õ(_ìø‚±7Å`08+L‘*SÂCDD&+7 ({áËF0 œË9gS¶¬íO6*u¬dÆÇ—{¾¬p<‘eo­ZRv^v…ëŠð(uÌ×Ó(žÁR5a pc8P<î—&;â¢âhڜهɼé2[‹ˆˆÈõI q˜ï xkÓË“'²N`±Xô ´)›œ•\êÁº¬¤@€Oqù;>HHÝRçRÛ©&ŸK.³\Iýþ^þež¯.5a Va­®8s£dæŒÍî‘ÚM q˜N ;1ï|¦¬/ޥ䵳ÅÌ»kÞàÆÈ‹ËFvbÁ¾LY?¥ÔS7N-Uw÷ÆÝ™·gf‹™±7ÅÍàfs>Ó”IÚù4›cIg“X¸oa©5<–^Ž¿·?Íë5·¯ã^Ç:û¤ºÔ„5ãvâ¢â(²±:a599¥êÔz3·ÏdîK\G¦=ñ !;7›¤³Il=¾•Ç÷8í"ÚY¯ ö æÏ?ü™ü@‹z-HÍNeé¡¥˜-fíü(î†ß>mÜ”_ÒáOßÿ‰Fp3¸qOÛ{l¶¥­ªêZÃcú~VY À‘SGØž¼ÝºÅn»ˆvÖõFžëùù0O/xš¾ÍûÒ4¸©uÑR‹ÅÂ讣µ~‡ˆˆˆÔzJxˆˆˆÃøxú0ã¾<½ðiÏ$2{×lë¹0cSîšb}}¥nºL:1 Æx&‘Ä3‰@ñ „I'ñÔ‚§lêv7¸3cØ ^øáVůbÞžy6çÃá6É(žqÍôÍÓYstõømîä™›ž±)ûhçGyañ |»ÿ[ë±®»:4áQ]öŸÜoMn”Ø‘¼Ãº@ìC²IxôhÚƒ7¼Á_—ÿ•e‡—Y»Üx´Ë£<Öå±k·ˆˆˆHuRÂCDDìöLgJ­¿Ã’ÑKظÙ‡1[Ì4 nÆÍÍn¶îR¢mD[VŒYÁÊ#+IÍN%Ü/œ¾Íûb±X7¾T#È'ˆïý˜„Ó lOÞΙ‹gö ¦iPS:Gv¶Ùª¶Äó½ŸçöØÛÙz|+E–"nŒ¼‘ :”*wOÛ{hS¿ [Žo!+' 4ÄÃ݃ñqãiÒ¬Ô5%çbBcì>‡iS¿M©ít/uù8 o?œ>Ñ}X°šSOèÈMQ7•¹à¬ˆˆˆHmd°”¬N&""5Fzz:&“©Be/62~|8ññ ÕUí‘W˜G›·Ûзy_¦ æìpDDDäãÆï6eJº“#‘šÎh4n÷õnW/""""""""R»(á!""""""".GkxˆˆˆË¹Òº""""r}PÂCDD\Ž»ÁýŠ‹xŠˆˆˆˆëÓ+-"""""""âr”𗣄‡ˆˆˆˆˆˆˆ¸%KNAŽÍqO¦N¦=ªT¾ž>ÌÜ>óŠ ÊÞ—qs4%<¤¢ªšðÐ+-"""Ö¥Qg‡`U“b±×ò#Ë1å™èߢ?Üýõx¿ýð­ãËgÛ>cÁ¾<Òù»Ê—§°¨Ù»fãîæÎç÷NtH477»ƒÁÀçÛ?gö®ÙLè5¡FÆï¬zÔnÍl·¶ÄY[ÆÇQýxùÖ—©W·ƒ%‡–0sûÌrËVö¾ä¨û˜Hm¥EKEDÄ.æFÌÁ»kß%ßœÏÌí3yjÁSŒ™?†é›§s±àb™×eåf1cë Æ~=–G¾|„~xUñ«Ê­»°¨Y;g1öë±<8ûAr s­õÌÜ>“ñߌçÑ/åÕe¯²>q}•Û3™™³kÏ,|†'æ=ÁÔS1åý6ÛæPæ!F̹ÈÌÏ'fĬÖ?2Åëf¼±â cE⫊²bÉ0e0uãTžýöYÿêq^]ö*Ë/·N§®H¯¥ãgpKô-¥Îõ‰éÀš„5v—/ÏžÔ=dçfÓ£IëCB‰’‡˜µG×ÚŸ·w#f`É¡%Nßžzjsüê¯ããÔø8®<”=žaÆ0 C©zÊRÙû’=÷1W¢""b—"K[OlÅèeäÑ/eËñ-Ös«âW±pßBæ>4— Ÿ ëñ])»3 gsÎÚÔµ`ßîkÿø2ëÞtl“µl¡¹'wðô§9sñÌo•$¬³xñ–y¢ëv·÷ô§m«V³ìÐ2æš§»'çóÎ[߃ÎÎͶy':;7(~$· ÷ªcXÑøªâòXgfØÿ†Ù$q x솵Ƥ“*ÔÇòLZ9‰ŸOþ\áøÞòöU§R{{zpúâéRçN]8@üéx»Ë—§¤LûíKk؈@Ÿ@Žž>jsüĹl=±•~-ú9=~{ê©Íñ«¿ŽSãã¸òPöxVVeïKöÜÇD\‰""R%k®Åèe‚ÄpÄ IDATäϽÿLóÐæ¤Oã“-Ÿp:7V¼Á;CÞÀ”gâ©Oq.÷wÝp½£{àÀñsÇ™¹m&óöÌ£{ãîÜÑæŽRuOè5ØðX¼=¼É7çóä‚'9—sŽöí¹¯ý}DøG’•²ÃË8Ÿw¾JíúòÂ-/Ð<´9é¦t>Üø!ûÓ÷³øàbîls'-ëµdÖˆYe.èY™u2ì‰Ïæîž‹)ÏDïèÞÜuÃ]z’œ•ÌúÄõÖ±«Jf,µ0Þ•\¾Ø_Y:6èÀ¶ý‡ÞѽiÖ (Þaʆ)@ñûôö–/Ïًʼn¨zÆzež3†q8ó099øxú0¬ý0njzM‚š8=~{ê©Íñ«¿Ÿk9>ŽÏʪì}Éžû˜ˆ+QÂCDDªÄ‚…/îÿ‚Ö᭭ǶH¿ûñÃøÛ€¿áëéË7û¿áôÅÓLè5§º?eSÇí­n§×‡½XøóB›| þ{ÿ‰ ÿí!û³mŸq.çý[ôçÃ{>´©gDÇÖ‡v{Úópó`΃sˆ ޲kØ„‡æ<ÄΔÜÙæNü¼üèÚ¸+ƒŸº6îj׸ÙŸ#x¸ÿ¯ÿíÁoèh=~‡û­³7ªÒlj·L$;ïʳ@.U‘…òº7éN—F]Øvbw쓨à(<Ý=‰?O£ÀFxp!ÿ‚ÝåËc¶˜â ÊRr¼°¨Ðz,2 ²Ôv”Ίߞzjsüê¯ÆçZŽ£Æ³²*{_²ç>&âJ´†‡ˆˆTIlX¬M² È'ˆ¾ÍûRXTHü©âé´»Sw°üðrFÍÅÈ9#9g$Íyˆ±_ á´íN3­êµ²IvÖ×%J^[¹\ÉŠøö´×6¢­M²à†ú7¿ýVÍQì‰ÏèøA>AŒ™?†Ù»f³7m/y…yø{ûW¹þØðXº6îZá?ù¢Á``úÐéÜÑæ, ñ§â9~€èh&ß9™óyç ð°»|y|=}Ê}+9î[Ç·FÆï¬zÔnÍl·¶ÄY[ÆÇQýª¬ÊÞ—u©­4ÃCDDª¤¼‡ä’ôJ¦/æ/bº'mO¹uÕñ¨có¹¾_ýReJ-½tm²ØÓ^Y?œzº{Åë|8’=ñ9BTp+ž\Áwû¿ccÒFþ³õ?¤f§ÇŸ{ÿ™˜Ð˜*Õ_kx@ñß³w‡¼Ëký^#ñl">>4mΆ¤ YŠhQ¯E•Ê—¥$®¤³I¥Îå摚J¸1¼Üßœ:;~gÖ£vkf»µ%ÎÚ2>ŽêWeTö¾äÈû˜Hm¤„‡ˆˆTÉáÌØ ¬‰ûÒöîW¼wz„¯÷½Ü‡ê’×-J”µj}„_q=ÛOl/5æœíUŠë®&ö¨öø® À;€‘7Ždä#â][žZð£æŽâ§§~ÂË븠}¬Ž5<.åïíOûˆßßûbÇôŽîíò—jÑ(ÞiÁ\dÆÝí·‚u‰ë(,*¤]ƒv56þšPÚ­™íÖ–8Õ®³úU•½/UÇ}L¤6Ñ+-""R%§.œâo+þF¾9(~@þlÛgl=±•ÆiØ€ÛZÞÀ·û¿%Â?Âæµ†Î:s6ç,'ÏŸ¼j{}›÷àÍÕo–Ú†vWÊ.–^æÐöÊS׫.ÉYÉvÏü¨îøÊ3sûL6Ûls,È'£—‘ S†ÍoíéãÄ[&2kĬ ÿ©Èì(Þ¹æÒòÍùükõ¿X¿Š`ß`îmwo•Ê—%Â?‚N ;‘šÊ»kßµ&ÒMéüsÕ?¸£uÅÖXqFüάGíÖÌvkKœÎj×YýªŒÊÞ—y©4ÃCDDª$:$šù{ç³èÀ"š5%í|™¦L&ôž`-÷»F¿ã¾ö÷1oÏ<úLëC£ÀF„Ö %;7›ä¬dò óx²Û“ ŠtÅöº5éÆàØÁ,:°ˆG¾|„0cþ¤f§’iÊä™ÏпE‡µWžÖá­Ù|l3½?êMÀ†0ðJ¿W*¼SKuÇWž5 kxcÅÔ­S—Æ©ãQ‡£§r>ïAÖ•½}¼|ÍGY{t-/.~‘†þ ñ !áL¦<žîž¼=øíR¯#U¶ü›?½ÉžÔ=¼ÚÿUZÖki=þbŸ1kÓ7OçÛýßn ç`æAò óèÙ™-ØÔ3oï<¾Þ÷5£:²9ç¬ø+[Om_ýÕø\ËñqÔxþÿŸlù€39ÅÛ­÷ËwìJÙ@ÿ–ýy¤ó#Öò•½/U¶¼ˆ+QÂCDDª$*8Šç{?ÏÄÅÙ›¶(^8tbŸ‰ÜÞêv›²ðwš‡6çÓ-ŸrâÜ Nœ;¯“q{«ÛÜzp…Ú|çŽwˆ ‰bæ¶™d˜2È0eÐ9²³uæ„#Û+Ëó½Ÿç©O‘šJjv*€u—“ŠªÎøÊóh—G)²±ñØFd°ïÚ¸+/Ýú’Í"¢Žè££Ü×î>âOÅs(óÉYÉ@ñTí—o}™#o¬rùƒůâ”ìòS¢SÃNL:¿,ý ©Ù©œ<7ƒ·µ¼¿ø{©×®Nœ;ÁÖ[é×¢_ˆ¿²õÔöøÕ_OM._Þxf^È,õ*`ZviÙi¥Ö©ì}©²åE\‰ÁR•ED¤Z¤§§c2™*Tvñb#ãLJïø=®$¯06o·¡oó¾L:sGN±.ÔVǽü7- ÇÎãÌÅ3ûÓп¡Í E–"¶ØFOÐ}3[ÌÄŸŠ'·0—Fö vx{%ç‚}ƒiÚ¼Ìö³s³)²‹¿·?ÛNlÃèe´™ QֱЯWQ•i÷bÁEŽ=†Åb!Â?¢ÜE`Ë룳¤f§’aÊ Â?‚pc¸ÃÊÌ8HVn­Ã[[wú¹”Åb!át¦|‘‘„Ö -³žä¬dR²RhÔ¤ÌEwEë©íñW¶üõÖßÊ–×ø\›ñÌ0ex&±ÜëÂýÂiÔ´ÔñŠÞ—ì-_Æ+§)SÒƒÔF£‘ðð«ÿ;,""5PmLxˆˆˆˆT„RQUMxè•‘lôüÑ\È»pÅ2u½êòɽŸ\£ˆDDDDj%g‡ """âšá!""""""".G3ÚôÓ6M#-;|s¾Íù”¬6¶~ò âã{?¶&š5啾¯0ðÓÌ8h-·ôÐRžïý`Gòº4ê¦c›èаƒÓ×{(¯/Y¹YÜóÅ=¤e§•{mnA®Íç6õÛ”êO£ÀF˜òLÖcÇÎ~›¹q©›£n.•ðpĸ–×ÏÊ:rêÏ}÷Ï}÷œõµ ë× UnGDDDÄJxˆˆH•ú–{7±!iÛ“·³3e'uÜëеqWêxÔÁèed}Òz¼=½ÉÎÍ&®iÅ^g©Î5<ÊëË‚} HËN£‹þŒ‹G“ &øxø`0xeé+6ëo”ðöð.uÌQÿU×+}Ï*£ÈR¼î‡¹È\n™Ëgˆˆˆˆ\+JxˆˆHµéÙ¬'o­~‹õ‰ëÙ™²“#o´.`Ù­q7Ö]‡—»àüõ;®äøÙãü©×Ÿl’'ùæ|6Û\¥º›5Š×äx°ãƒ6çÖ&®-óšk=® š K/‹Ïïÿœ›šÞTåvDDDDI ©6­êµ"Ä7„åG–süìqþpó¬çâ¢âx}ùëä™óðóò£]D» ÕYkx”§>Ùò Ïõ|Ž@Ÿ@ŽdáßëþMâ™Ä*Õ}[ËÛ˜¾y:ÿZý/¼=¼¹5æVÌ3?ü‘7~Xæ5Õ1®WèÈ‘SG8~î8‘‘¸Š×<¿»íÝLÛ4?~÷G&ôš@\T¡uCÉÊÍ"él?øpc¸Öð§PÂCDDªÁ`ন›ønÿw€í:qQqX,âOÅÓ¯E?ÜÝÜæU i=„©§2ï|æïo=nô2Ò¯E?–.½›JEµ‹hÇ`ή9¼ðà 6çÇfÑE¥®¹ÖãÚ­q7XDŸi}¬Çf˜Eׯ]ùÛ€¿ñÊÒW˜øãÄ2¯}²Û“Un_DDDÄÚ–VD¤–óò*^2?¿f.Y²†Dˆo±a±ÖãMƒšY\¦¿ÎáÁÿøÝštÃèeÄßÛŸ[bnaÞÈy6;³Øëõþ¯óâ-/Ò4¨)žîžDD2¡×&ôžPî5×r\_¾õe´@ O ƒíß³aí‡1oä<Ç&̆‡›aÆ0~×èw¼Þÿužîþ´Cbב—熷·ÅÙaÈuÀ`)YF]DDjŒôôtL&ÓÕ ;vx3|xC6l8FxxéuDDDDj’{ïmHÇŽy¼üò)g‡"5œÑh$<<Üîë5ÃCD¤–‹Ž.àС:NŽDDDDäÊ,ˆ¯C³fÚÅKªŸ""µ\` ™¨¨6oöqv(""""W´oŸ&“;æ:;¹(á!"ân¹åK–ÔE/)ŠˆˆHM¶d‰‘† iÕJ3<¤ú)á!"âî»ï<Ç{²f¯³C)SNŽùóý:4ÛÙ¡ÈuB мy>}ú\à­·B0›kæn-"""r}›>=ˆ‚>¨„‡\Jxˆˆ¸ˆÿû¿Ó;æÉìÙþÎEDDDÄFjª3f2~üYBBÌÎG®Jxˆˆ¸ˆÆ xôÑ,þýï`<Žˆˆˆ……^x!Œ 92ËÙáÈuD 2nÜ¢£óyüñΜqwv8""""üõ¯¡ìÙãÅ{ïÄÃC+¬Ëµ£„‡ˆˆ ñò²0mÚIÀÀ3ÏÔÇdÒm^DDDœgêÔ æÎõç½÷2ˆÕÎ,rmé'abæ“OÒ8~Ü“aÃ’œìáìDDDä:SXhàå—ë1yr0¯¾šIŸ>œ’\‡”ðqAÍ›ç³`A2îî†dõjmW+"""×Fr²>Á÷ßù裓ڕEœF QÈ—_¦Ò£GO<Á˜1$%i1S©99Þ{/˜“‘áÁ—_¦hf‡8•Áb±hÕ‘&==“Éä°ú¶lñᯠ%!Á“¾}/p÷Ý&zô¸ˆþ """ö³X`ß>/–,12¾Æ;˨QYZ TªÌh4n÷õJxˆˆÔ@ŽNx˜Í-22gŽ?;wzãæf¡Y³Âà 1‹Ú–ˆˆˆ¸¶¼<gθ_“Ɇ :4›Ì&$ÄììðÄE(á!"₪#áq©S§ÜٲŇêpú´&“¡ÚÚ‘ÚëçŸÇӨѣttv("RÃxyY("&&ŸŽsiÕJ;°ˆã)á!"₪;á!"R111Lž<™Ûo¿ÝÙ¡ˆˆÈu¨ª -Z*""""""".G q9JxˆˆˆˆˆˆˆˆËQÂCDDDDDDD\Ž"""""""âr”𗣄‡ˆˆˆˆˆˆˆ¸%}.pï½çiÞ<ßÙሠ1„‡‡Û}½fxˆˆ\rr |òIŸ|ˆ››…~ý.pÿý´i“GýúfêÖÕofD¤´o¾y’»î œŠˆÔ0ùùΞuçС:lÞìÃÒ¥u™1#[o½ÀK/¦I“g‡(¢""5‘#gx,[V—7Þ%;Ûßÿþ,#Fd+Á!"""e±ÀÚµ¾¼ùfIIž<öXãÆÁËK›b¿ªÎðPÂCD¤rDÂÃbwÞ fúô †=Ï„ § 5;(B‘ÒÌf³gûóïÏ´i' ÑÏb%ÎG®#Jxˆˆ¸ˆ?"+Ë?þñ´³C±Ñ»÷Eúô¹Èk¯…b6œŽ\'”ðqYYn|úi cÇž%,L[¿‰kxíµ×ˆ‰‰!&&†#F8;œëBmsgÇï‘–FÀÿþGƒ‡¦Y«VDÇÄCÃáïz­Ïúõ„K“=hK“ž=‰xì1Œ?þˆÁ¬ûº¸†—^:Eb¢'‹Š\'´T®ˆˆ øúk?ÜÜ,Œ‘íìPDD®[ |ÏãÇ+w‘ÙL½W_Åî\›Ãiix¤¥á»v-iÌÅ>}©ˆs4mZ@¿~˜3ÇŸ;ïÔë·Rý”ðqË–Õ¥_¿ Ô­[äìPDD®[… pñ曹з/þ bü^üþûÖdG‘¿?§_|‘‹½{Säå…×áÿùêÔ©îÐE®™»î2ñôÓõ9uÊÐPÍ^’ꥄ‡ˆH-——g`çNoî¿?ÃÙ¡ˆˆ\×Rÿ÷?ë×~HvxœGA³fzmE® >>š5+àС:üúÏM¤Ú(á!"RËed¸QèäHD*oÇŽ<üðÃäþúÀ °téRvîÜIûöí+\ONN‰‰‰$&&òí·ßòÕW_ѪU+ëù£G2räHÒÓÓm®ËÈÈ`åÊ•¬\¹’#Fð׿þ³ÙÌ<@BB‚Mù’6–,YBzz:O=õT¥û|îÜ9† Frrr•ûu©óçÏ3|øpŽ9b=¶cÇyä¾ùæbcc­Çª2æåÅìØ1FEJJŠÍñ´´4¾ùæ~øáÞ}÷]X¥>;êï @~l,™¯¾JØÄ‰Ô{år;vÄ\¯áÏ=gMvœ:ÔáÉï;­_›ƒ‚›8ŸM›pOO§((ˆ‹=zpvìX š6uxÛ"ÎT¿~!™™z•ê§]ZDDj¹œœâ[¹ÖïÚÅb±0qâDëƒkLL ?üð;vìࡇbÅŠe^÷üóÏoýsàÀ–.]ÊÍ7ß ÀÅ‹yçw¬å‹ŠŠ?~¼5ÙÍwß}Ç®]»xõÕW­åfÏžÍÂ… â%ÉŽ¨¨(~úé'8ÀO?ýÄÇÌ!Cðõõµ«ß›7o¦eË–,_¾œÃ‡¿¿¥ûu¹ 6СC¶lÙÂ÷ßOXXPœ¼ùïÿ Ø?æW‹ßh42vìXk²£K—.,]º”½{÷ò—¿ü€‚‚&L˜@ZZšµ®ÊöÙñ_îü}÷qþÞ{pËÎ&üO"ä­·ðúùgàפÈë¯WºÞŠðÈÌ´~í½c~óæá‘œŒ¡ ÷Œ ü¾ù†È;ïÄkïÞji_ÄY|}‹¸pA[ÓJõSÂCD¤–³XŠÿkÐÏ RËìÛ·£GZ?¿ð ´lÙ’€€~ÿûßÓ¢E‹ ÕãééItt4?ü°õØæÍ›±üúc÷îÝüû êZ IDATßÿfÔ¨QÖúK¶B½ôÏÄ_g \.((ˆ÷Þ{¨¨(ÜÜÊÿQìjýº\HH¯¿þ:!!!ÄÆÆÒ«W/빤¤$À1c^Vü{öìáÀÖ2o¾ù&ÑÑÑøúú2jÔ(n¸áòòòX°`Ý}vÔß™Ëe¾öù¿Î€ñÞ¶€Ï> ÈÏ“|€ÅÛÛ®z¯ª Àæ£iÐ ’¶oçøŠäÿúúÛ… „½ürõ´/â$Ão?¿ˆT'Í#§HLL´ùܦM›Ï­[·æðáÃ¥®ËÌÌä?ÿù6làĉ\¼x³Ùv¥ÿœœL&~~~6¯x´mÛÖæó 7ÜÀúõë¬e›5kF‡ؽ{7iii<þøã@q"¤eË–ôíÛ—Q£FÙ5Ë£uëÖe®ýQÙ~].66–:—ìæa4­__üõÕ {Çüjñ_~MŸ+¬Eqiò©²}vDüe±x{sòƒˆ2Äú @Æ?ÿIA“&•®¯¢Šüým>Ÿ™0s` æÀ@Î=ñaÏ?¯5â‘–FaDDµÅ""⊔ð‘Z#;;›»ï¾›“'O^µlaañº6—ψ0T`:”»»;Ÿ}öŸþ9«W¯æÈ‘#\¸pœœvïÞÍîݻٶm3f̨tÊJVØÓ¯Ë]šà®8{¤*ÊŠ¿2J’/Žè³#y¤¤àvɺ ^?ÿÌ…Ûn«¶6ó›7ÇgófëçÂúõû:<ܦ¬Ûù󠄇ˆH¥(á!"""NeóyÿþýÖu'~ùå—R׬ZµÊú€ìææÆ´iÓèÑ£ÞÞÞ,Y²„±cÇ–ºæò×öíÛgóºÇÏ¿®Õмysë×~~~Œ;ÖZçÙ³gY³f &L`Íš5deeÑ¡Câãã+Üï²ØÓ/{Ø3æq鸬]»– \ñ{ú\]ñ{¤§þÜsPT¼’Å݃ÙLдiäÞx#{÷¶«Þ«¹Ø»7¿®¯ÅÛÔ4jd©„ÅÝ]³;DDì 5;2~ã?0s&–:uHÿ}Š~]ˆ6sÒ$ 7Àkï^BÞxÃŽQ¹º‚¨(’-âÜOP…¥N,>>äµnÍ™ H^¸³ƒk""׃¥¼½ÍDDÄiÒÓÓ1™L*»x±‘ñãÉO¨æ¨DDDDªnܸâEy§LI¿JI¹ÞFÂ/[Ĺ24ÃCDDDDDDD\Ž"""""""âr”𗣄‡ˆˆˆˆˆˆˆ¸%JxˆˆˆÝÊ[÷Âl¶°qc&‡gc6íO\\=¼¼ÜˬççŸÏ±k×L¦BÂýéÕ+œ/›ú¦N=D³fFŽ$!á<ë×gŸ_DÇŽÁtîRf½.²re©©9Ô¯ïC¿~˜Í–2׬¸¼/ö¶Y‘þ8KYãq¹„„óüðC {öœ`æÌ<<Ü ªÃȑͬå¶o?ÍáÃÙ˜LDFÖ¥K—êÕó¾f}¹%`ýüᇇhÖÌ‘#›qî\>=¶‘½{ÏÚ\çåå΄ mxôÑè Ç."""R”ð‡ÉÉ)äñÇ7’’r‘ |éÕ+OO76lÈ !á<£GoâÇo%,̳ÙÂèћطï,‘‘uéÙ3Œ€€:;fbÅŠ4^zi11þtèd­÷î3¬Zu’^½êÓ¼¹éé¹,^œÌW_cðàFôèQ(žÉðä“Å÷QQFââÂ0›-¬]›Îĉ;+էжiOÊòõ×ÇÙ¸1óŠe.5hPë&<Ê5kJG³fFÆeÑ¢dŽ=Ï3Ï´´Îð€â{÷ž%<Ü›>}"ð$%å"[·žbÇŽÓJxˆˆˆH¡„‡ˆˆ8Ì÷ß§’r‘N‚ùüó8||Š_a),´ðÜsÛX²$…Ù³yî¹X–-Keß¾³ ÉÛowÆÝÝ`­gß¾³Ü{ï>û,ž÷ßïb=~út}Ô¾}{£gÏ0ž~«WŸ´&¾ÿ>™ŒŒ\n¾9œéÓ»áéé'd~x§OçU¸OmÓžþ”åî»Ó¹sh…ã«Èú‹GÏža|üq÷KÆÃÌÈ‘ë8sæ·ñˆŽöcüøVüòË9Ž=ÏïßÒæU¤’² ÞBxøo¯°äç±ÿ¹ Ç-"""RÝ”ð‡Ù¹ó4Ï>kMvxx˜0¡5K–¤°cGq™ 2ðõõ`Ú´ÃX~}_Äb‹Å‚¿¿'ûöÙ¾6Ѻu Mâ°¾–’‘ñÛ«»v`ܸVÖ‡{(~µä™gZòÄ›*ܧжiOÊr÷Ý+[EíÜY2±—‡;¿ÿ}+F®øxôï߀ٳùÏŽ0lXSš5óÃ`€:uÜèØ1øêˆˆˆˆ\#JxˆˆˆÃdeåи±±Ô¹Fêb0À¹sÅeΜ)þï—_&U¸þˆŸRÇ|}›Ery ú–*Y·ÂíU¦M{úS–êXãd<"#KG£F•¸¸0æÌ¹™Ï?O`øðµä噹ᆠúõ‹àšâã£-DDD¤fÐO%""â0ÅÞÇ›hÔÈöáúĉ X,XǦìƒFRöîÞÞne¯h)) ³­;9ù‚]uV´Íªö§:Öð(‰-9¹ôxœ8QùñèÒ%„.]Šw©ÉÈÈeëÖSüãûX²$…¹soÆÍÍp•DDDDªŸ""â0:…0þ1¦L9H§NÁÖßö›ÍÞ}÷n¼±øA¹{÷PæÍKÂl¶0vlËRÉ™™¹¤¥åØGÇŽÁ,XpŒ©S1mZ7<<ŠëÎË33mÚa{»wEŽêOu¬áÑ©SñxL™r ÔS§¬p[›7gÒ¶muëoü<8’Õ«OòÍ7'HL4íW©:EDDDªƒ""â0C†4dêÔƒlß~šVÚìÒž€€:ŒÀ A‘Ìœ™ÀܹI¬[—Aa„„Ô!;»€¤$[·žâñǛӮݕw5);ŽHÞÿ«WŸäöÛWþº+Ikצsñ¢ƒƒ'!8ª?Õ±†ÇàÁÅã±n]†u<ŠŠ`õê“ää˜+U×ôé‡Ù±ã4ݺ…ѤI]<=Ý8x0‹µkÓqw7Xgðˆˆˆˆ8›""â0>>̘у§ŸÞLb¢‰Ù³­ç¼™2åwÖW*ÜÝ Ì˜Ñƒ^ØÁªU'™7/ɦ®ðpo»’uëz0mZ7ÆŒÙÄÑ£ç9zô<õêyóÒKmùÓŸ¶ãëëØÿVgªªn]¦OïÆ˜1Åß—ÄD¡¡^LšÔ‘§žÚ\Ẻw¯ÇîÝgYµ*­Tÿ÷m ¹úŒ‘kA ±Û3Ï´",Ìö7&Æ%Kú²aC‡gc6[hÖÌ›o³ÙÞ (¨Ü„„ólß~š3gò ®CÓ¦F:w±níêááÆøñ±4kVz1Ô’s11¶¯Q´oÄÊ•ýY¹2´´ê×÷¡oßëƒúå‹‘^Þ{Ú¬hœ¡mÛ V¬èÇÊ•i¤¦æîMß¾X,0~|,íÚÚ”<8’Ö­ñð°]wd̘ŒÙŒ-[Nýš81áÍÍ7×·.æ*"""R,%û扈H‘žžŽÉdªPÙÅ‹ŒN||B5GU»ÄÇŸ§aC_›íqÏžÍgøðµ=zžE‹úЪU€#¹>À”)éNŽDj:£ÑHxx¸Ý×k†‡ˆˆ¸¤Õ«O2mÚazô¨Gdd]ÒÓsX½:¬¬|ºw¯§d‡ˆˆˆˆ‹SÂCDD\Róæþäå™Y¼8ÅæxÛ¶A¼óNg'E%""""׊""â’zõ gÆlڔɉpww£uë~÷»P‡ïÐ"""""5""â²üý=¹í¶ÎCDDDDœÀíêEDDDDDDDDj%¼e9Èå¹í¶ò—ÓŒÑ7ÞØÇÎç1Í%rðósåþû›òÑG‡Xºô£GÛt~{98·ø^ˆˆˆˆT† ""R!iiù<üðvÒÒò ÷eÔ¨kÍš5gÈÌ,*:$&æòì³»((01hP} ª‡³³7žcñâ8^}u/;Ö¢eË?fdlÚ”ˆ Ï?ßš¦M½HLÌå“O“ÆÊ• Þ€æÍk²páßJmZz¹Ù‡¥[H.''ÇxÙ˜úõÝqss,³ØâãS²'G±ÂB³eˆ¿¿k©1 EMJ›6­yÙ\Š9S4¦yóòï‡ þþn$%å’žžŸ_Éx )_}œ?<Èí·7(·€RQuê-mÙ¼9‰áÃ\ñ㋈ˆÈ_‹ ""R!?üpŠ´´| ¨Ç'Ÿt±Ú7n\¨¥à±|ù)rsŒÂ믷·Ä XÀ@wÞÿ ß}w’éÓÃ-ûœœøöÛž„†zZ¶{pÏ=[ؽ;•áÃàååL—.µ1ÀÛ۹̥™2¥Íeg\ª^½’yý3''S§¶eêÔ=Œ½‘ORRrIHȦ~ýÒg‡lÚ”È$.î".ä3xp}‚‚ÚœêѧO]ºvõgûödn»m=!!ž8;;›IA‰¦Mk2rdÅsÚ²¥Û·'Ó»÷ê×wÇ`€©SÛ–Û§ãjôð¸x±·ßŽá½÷P¿¾;^^Î$$dÓµëJKŒ;îhXæx—¢¥$—>º÷Ïž~º%qqY¬^}†§ŸŽdêÔ(5òÂÑÑsç²INÎÃd2óä“-ðÿ+cž}¶Gf°eK>ºƒZµ\iØÐƒììBŽÍÄd2ãááÄÇw¡V­²ûw\ê¶Û‚˜3ç;w¦ØxwlSü8Z[»+"""RýD!""ööÛ˜<¹^^Î$%å]4³£S§Z X´<Â`€9sºZб±™:”ŽÑhfÀ€z|ýuÜÜÊîq9Ï>Û 7ΜÉfçÎóDDœ·köÆ•äÁäÉ- tçÔ©‹ÄĤ‘––OJJÁÁ¼ûng®_©s8:øè£.¼öZš4ñ";ÛÈþýiDG§’˜˜‹§§£G[-Mqqqà‹/nfÊ”6Ô­[ƒ””<¢¢R9|8GGÔã‡zÓ¹s-›ópp0”Û`UDDDäz`0›í]ù,""W[bb"YYY6Å®\éÉãpìXìUΪlF£™cÇ2ÉÍ5Ò ;~~¥Ï¸x±ãÇ31™Š3[ü‘b&“™;Sðõu¡Y³š¥îóós¡iSë}ÅçÏÈ(Àd2æMÍš%Ÿ^+©©y¬Z•À¯¿žáÝw;[-q)Ëœ9Gxë­æÏïnµ<¨<Éɹœ=›ƒÁPÔ¥vm×Ë.ë9}:›óçsqss$8¸ü&¥QQ©f:u*½²sg &“™:uÜÊìã•J~¾É¦Ç?öØV¯>þ}·Q£FÅ‹`""r}›<9€?L¬âLäzçééI@@@…ÇkI‹ˆˆTš££ÁÒ›£<N´iã[æ~C™_ŒËÛgëù¯??WBC½ðöv±©Øàë[·kWŠÍ7üýÝìÊ­Aw4°í‰3¥59½”-³B.wŒbùù&bbÒqss¬ÔŒ‘b*xˆˆˆ\v.m×®¨ôᇇX¹2ºuk°`A÷«ÙõeÓ¦D>üð'OfqáB>7ÝTÛÒTUDDD¤2ÔÃCDDä*hÙÒ‡'žhas|³f5yøáf89ˆÍdçNÛ›{#KNÎ%**• ò©WÏ)SZWuJ"""RMh†‡ˆˆÈUP³¦³Ý}Dž}¶>Úœ'²ÈÉ)¼J™]_zö `Ñ¢žÔªåJp°‡Í¹—5œhÒÄ‹¡Cë3vl(ÎÎeÿÞ£"c»w_Åùóy>|{¹×ºti/¾… :øñâ‹miÐÀýr·HDDDÄ.*xˆˆˆT±#G2xá…Ý–×..—Ÿ€i4š9>µkϲ~ý9>û¬={XöÏšu„wÞ‰ÁlþcL~~>»v¥°kW ßÇ_ÜL@€[2,K IDAT‰cWf¬­ŒF3))Eùgd°páõQ¬‘êC‘+Àd2³|ùi¾ûî$‡¥sñb!½{¯¦kW&LhLX˜w™cwî<À=÷4âŸÿ ÃÛÛ¥Ô8GGƒeöDA‰ãdzxë­6l8Ç[oÅX K—ÆñöÛ1 0aBcÆŒ !8Ø“‹ Ùº5‰wÞ9À¡Cé<ôÐ6–,ée5[£2cm5bD0·ßÞÓ§/rï½[Ù½;“ÉŒƒƒÁîc‰ˆˆˆ”E=;»h†‡-½;Šš9q"“·ÞŠÁh4æ““¨¨T ,w|Ÿ>89Ø¿ÿ&œ*5¶¢\\¢{P³¦s…#"""ògšá!""•²sçyk°ti/öí»Õ«û1hP}²³LŸm‰‹‰IãóÏâææÈ´iálÛ6˜ÈÈ¡¼ýv'||\øé§xÖ­;kwìõ ~}êÖ­ÁîÝ©¤§çÛ<.?ßÄé¬\££ <Ê7Í4iòMšü@‹Ë<ø¬_GGÏ<Ó €ää¢ÂSÆžåËÕÕ‘:uj`4š¹p!¿Òc+*8¸èš?ûì())yVREDDD*C3ú¨ >º=~%$Ä“ü|Ë–¢G:Ô©Sòi&K—ÆñüóEOfññqáÅÛàë[z³ÒÒ88X?–¶C‡’¥½Œ®])|õÕq,ˆÅÅņWuZ"""R ¨à!""•Ò²¥¥ØQÌÉÉ@·nþÄÆf—EíÚ®œ<™ @ß¾%‹}ûÖ .î"€]±×‹ví|Ù°a ›6%²jU6$òŸÿì#+«€»î áå—ÃË| ‰³³5.{ŽKŸÒRÿ¢âÊ©SYåÆååIJÊÁÑÑ`)´TflEyx8ãççjS£V{¨à!""WÕŸ›jÚóÅöj| ¾=<й¸8Я_ ^^Îäå™xÿýÎ|õÕqfÌØKHˆ'÷ßßÄ;bD0C†Ôg×®Tþñ<ÿünúô©[©~PTx)Êû,=Ԭ̸ß~K¤°ÐLx¸Ÿåœ•[Q+VœféÒ8n¹¥.S§¶¥^=÷JODDD¤˜zxˆˆH¥8FJJžÕ¶ÂB3Û¶6,êÑRT4øí·s%ޱaCѶâ~öÄ^Ï ŒŠƒƒ­[“Jì¯QÉ=ê0th™™œ:UùY+}ûÖÅÇÇ…èèT¾ùæD©1iiùÌœ¹€;ïlpEÆVÔþýi<ùdK‚‚<Êœ#"""b/Íð‘JÉÎ6òðÃÛ˜:µ-ÍšÕäÌ™Þ}÷±±™têT‹Úµ‹–» \Ù³óᇇñðpfàÀz8;Ø´)‰W^)jn:dHݱöº=<ŽËdÆŒ½ŒJ»v¾˜ÍfL&3Gf0kÖL&3ÞÞe/ý(ZJ’ž^Pé\jÔpâùç[3eÊn¦MÛCll&cdžìÁÅ‹…lÝšÄ;ïàôélZµòaôè+2¶¢22ŠšžÖ­{ù%=""""öPÁCDD*¥sçÚÄÅe1bÄF«íîîEOX)Öª•ÿ{¾øâÓ¦íaÚ´=VñÆÑ¿ Ý±×“ÉÌ–-IlÙR4‹ÃÑÑ€ÑhfÍš¢æ«5j8ñ÷¿7)s¼££ƒå8W¨QÁœ;—ÃdÁ‚X,ˆ-Ó¼yM>ý´[‰%)• úªæ.""""ÖTð‘ )4òÁ–è×´ß _ðø>ú{>øœã)Ç-Ûîúp™/v|AbV"mÛЫQ¯1¿ü…¶|@x`¸ """"ט–´ˆˆÈ_ÞÖ“[9žrœß2‹æîìN-÷Z,Ù»¤Ôý‹£ÓЧá•LSDDDDì ‚‡ˆˆüåÝ~k\ú‡×1¶ýX›Æ8:82¼ÕpÖ]GZNšÕ¾ã)ÇÙ°›mG\tEDDDÄ*xˆˆÈq0é óvÎ㋈/ˆ>]f\d|$ßD}çÛ?eå¡•$g%_Ã,KwsÈÍ4ªÕÈîq£ÂGQ`,àǘ­¶/Þ»''†·~¥R;©‡‡ˆˆTÚ7þ—ÙÛf[mÞj8o{GCQCÏ´œ4îÿþ~öžÝkçêäÊ3½žab牗=ÏûàtÚi›óßq<¾5|mŽ·WÓÚMiØ–%{—0¡Ó ¨™ëò˜åÜÒôüÜý®Ú¹EDDD¤|*xˆˆH¥ìNØÍº£ëèÕ¨Mý›r6ã,«¯æÇ˜ ñ arÉÌœÏÞ³{ ð  oÓ¾x»y“ž@Ä©vÅï²¹àñûÉßmÎmhØÐ«ZðÙv$/­~‰‰hВߎýFrV2#ÛŒ¼ªç‘ò©à!""•’šÊ›CßäÎ6wZ¶EŸfô—£™9G»?Š£Á‘ÔìT–Ý·ŒÏKl¾1Ÿ˜s16ëŽÖwÐ)¨“͹]‹·¶¼•×þ÷Kö.á¥þ/±8z1u<ëгQOòŒyWýü""""R:šF~0 ¸8ºÐ¾~{›ÎuGë;®Æ%TŠ—«š`Å<Ðå6Änà.àèàƪÎNDDDä¯K©” Ÿ R·7ði@F^=B{ðíÝß² rw}}y…y´®ÛšþÍú3¶ÝXj8׸칮·ÅF´ÁŠ˜<ñãÍFF´ÑÓYDDDDªš ""R)ñiñ¥n/.LÔt­iÙÖ¹Ag:7è @RV§#xý¯óë¡_YtÏ" å?<ìzìápsðÍÔ÷®OTBêw¨Ð_DDDDäÊRÁCDD*åä…“,Û·¬DµGÖRÓ­&Mý›°=n;mÛàáâ@Ï: Æ†Ø ,ß¿œ©'h\«q¹çº{x ¦õŸÆþsûéÜíšœSDDDDʧ‚‡ˆˆTŠŸ»Ïýò¿ü…fþÍ8“q†Õ‡Wc4™Øi¢å±´s¶ÏaWü.ºw%Ø7gGg%bÓñM8ñ©ásÙs]­1‰1üïèÿ8zþ(‘ñ‘|°åÚ¶¥wãÞå£o“¾ômÒ÷ªä'""""öSÁCDD*¥Cý4®Õ˜9Ûç°ñøFËöá­†óh÷G-¯»wcÏ™=¬?¶Þj¼‡‹ÿ¾åßÔr¯uÍrþ³˜s1–âF±]ñ»Ø¿ €{:ÜsÙ‚‡ˆˆˆˆ\_Tð‘ qrtâñÓ¨V#†… cHØ"NE`2›èÔ‘võÚYÅ?Ôõ!ÆwÏŽS;8‘z€ÀšôlÔwg÷ª¸‹Vu[ñxÇËÜß6°­Õë¿wù;ù…ù—=®³ƒ3÷xœº^u+£ˆˆˆˆØÇ`6›ÍU„ˆˆXKLL$++˦ؕ+=yüñŽ‹½ÊY‰ˆˆˆTÞäÉ|øabg"×;OOO*<¾üvø""""""""7 «sïÜb0ã;Ž·lOÊJbñÞÅI>BV^A>AôéA¿¦ýìþMµÑddÃñ l9±…SNáèàH3ÿfŒh3‚P¿Ð ß§¸ q–&#j5âÎÖwf‰yú§§xûÖ·-Û2r3˜´lf³™÷†¿GÏ:–}SVMábÞE>¸ý˶ôÜt–ì]BTBYùYx0°ù@ú6é["§è3Ñ|ý=  Ö ä®ð»¨íQ»B×gïûlÏ})ËýßßO#¿Fü»ß¿­¶—÷™Ì)ÈaÒ²Iû3}àôÇÌ)ÈᑥФv¦ö›Z¡{QY¶|ž+z¿ÿìÒ{x8ù0Ó×LÇh2²ÿÜ~Æ-g‰›Ú*au.ÿžˆˆˆ\OTð‘ Û¿‹IË&‘šúÇÆ°p÷B^èóty“ÙDÄé<]=™øÝDvœÚa ]l=Ëö-cÑ=‹ð­á @nAn™=$Š÷µ hiÙv$ù£¿MV^–UìÂÝ >š×¿f×5ûf»âwYm[l=s#æòÑ•Z8¸œU‡VñÔOOQ`,°lÛx|# "0µßTKñÆÅÉ…ÅÑ‹y¡Ï ø{úð{Üï–{¶åÄîls'i9i,Ý»”a-‡YŽ•ÅCKâBΫó/Ý·”Qá£x}ðë–mKö.áÅU/b2›,Û–í[ÆÓ=Ÿ¶ûú»ßg{îKYJë?aËgÒ·†/ßìù†‰7M$Ä7ÄjüŠ+Øzr+·¶¼õ²×üÚÿ^cÿ¹ý—+öß[ÿK½šõʱõó\‘û]šKïaf^&§#€¢B[ñß‹_‹ˆˆÜhTð‘ IËIãᥓ–“Fx`8£ÂGX3„ôÖYCf^¦Uü¦ã›ðtõä¹ÞÏÑ´vSÎfžå³Ÿ›ËŒu3¬f5ØcÑžEdåeÑ»qono};>n>ħdzåÄ–9Ø"+/‹á­†Ó¹Ag‚¼ƒÈ-Ìå`âAæGÎgúÚév<³yöçg)00¨ù µ„³ƒ3odñÞżºîU:u¤e@Kº‡tgqôb¶žÜÊí­oŠŠþžþxºx²õäVKÁc[Ü6Lf=BzXò~dé#¤å¦q{ëÛéݸ7ÞnÞœJ;ÅüóY½˜n »q[«Û8“q†—V¿„ÉlâÎ6wÒ·I_Œ&#«­âMïØ}Ï.eëûlÏ}±•­ŸÉ &ðÓŸX¸{!ÿºå_VÇX¸{!~î~6<%²* \NNAÎecìý<_ÉWÍý›³pÜÂR›–jv‡ˆˆÜˆTð‘ ùaÿ¤å¤1 Ù>¹ó«}ãÚ+ñåÌŒ™/Ç|iõvp‹Áôÿ´?¿ü…W½jÓü?sr(ú¯ì¿Ãþ‹O Ëö1íÆTè·Ò Ç-dÇ©l<¾‘Õ‡W“oÌÇl6ãêäJBzç2ÏQ׫®ÍÇ[¾9¹…¹%fX l>@¯@Þßò>ßEÇôÓéÒƒÁÀæ›­ =BzàéêÉʃ+1›Í–€î¡Ý‹Î³œ”ìžéõ t{Ä*‡!-†Ðë“^,Û¿ŒÛZÝÆŠ˜äó™Øy¢Õþ¡aCyî—çX¶o™Ý÷­˜­ï³=÷ÅV¶~&ÛÕkGx½p–î[ÊS=Ÿ¢†s v'ìæ@â»ù1\\/{¾)}¦‘gûgìr³;ÀþÏó•üwååêE—†]0 x×ð¦KÃ.6¹^©à!""R<•ÿ.”ºßËÕËêuX°¿­÷­áK¿¦ýX²w ÇΣm`[»óÛ~,?ìÿ‡–<Äí­o§uÝÖ4÷oŽ«“+5ÝjÚu,£ÙÈ“+ž´J“™—iWÁãPÒ!Æ„)5÷÷·¼ÏÁă@ÑýhY§%[NlÁl6—G|z#ö²÷ó|µþ]‰ˆˆT*xˆˆH…ä­û¿\€be¼Ý¼È+Ì»ì1Œ&c‰m¡~¡¬{x+bVðûÉß™1—3gèÚƒçz?G“ÚMlÊ৘ŸØ|b3Á¾ÁÜÓá‚}ƒqwvÇ`0ðå®/Y}xµ¥x`«âëºô·õżݼ1 V×þ·Fcö¶ÙJ>Ä®ø] z„öÀÍÉ ''6ߌ«cÑl“K›ºfçg}6ºÌ\\œ\€?Þ»ÒÞ“â÷£¢l}Ÿí½/¶°ç39$loüö_ïúšQmG‘šÊªC«Üb°UcØò\ö~ž¯Ä¿+‘êJ©@¯@"OGÚôô’#ÉG(0àìèlµ}ßÙ}xÍT(þgÕt²øç”zlo7oÆwoir™”•Ä#KáÞE÷òÛ#¿Ù´<þ(|tÇG%z¼»é]›ŽñgÅ_ž÷žÝK°o°Õ¾}çöa6›-×Ð#¤³·ÍfÓñMD%DÑ¿µÜkо~{¶žÜjY‚Ñ=¤»e\`Í¢÷cú€éeyŠ—KÔñ(Ê)&1¦Äl•}çöUè:‹Ùú>Û{_laÏgÒÉÁ‰qíÇñÞæ÷ØsfÛã¶“oÌç¾Î÷Ù|¾«ÑÃìû<Ûz¿íbÆîžˆˆ½Ì—4͹Zª:¹1õkÚ€™f²åÄ«}Q Q¬9²ÆjÛù‹çyuÝ«äó¢/TóvÎ#ât }ÒЧ!PôÛyOWO6Än°,Á€¢å3›Y"ù‘óÙ·Ýj[ñ1’²’8yá¤Í×T<Û`wün˶BS!lù€ÈøH›s©žzðÖ†·,KIÒ˜¶zšU @Ç ŽÔp®Á†Ø l?µÝj_ÐDÆG²îè:œœèÜÕ²o`óüó#5éÒ°‹åO§¸ss™ç€¢Y$o¬ÃêþJ:Ä;+×´ÔÖ÷ÙÞûb {?“cÛÅÅÑ…¯v}Å·{¾%<0œðÀp›Ï7¥ÏŽ[hó[zxØûy¶õ~ÛÃÃÕƒøôx«'øˆˆ\i»weòäÉìÝ»·ªS‘jL3ø3÷}wu<ëX33gHÎJæÑ›e@³–øÆµ³dï~>ø3!¾!œÍÞú1ÓÖL㋈/ðu÷ådêI2ò2hЊ˜Ä»ïSŸÆ}èÜ•íqÛ¹mÞm„ø†àìèLlJ,ÆšÖnÊȶ#-ñÎŽÎÜÔà&6ß9ŠõéÁ»›ÞeëÉ­ÜÔà&ËL€›ÜĨðQ,Ž^LßÙ}iàÓ€ÚµÉÈÍ >=ž¼Â<îú0CÆҧqÚ×oOTBƒ>D£Z0šŒœ¼p’æþÍIÌJ´û:‹Ùú>Û{_laïg²–{-†µféYòL¯gÊ:t©®F{?Ïöü»²UË€–lÛNïY½©ï]¦öŸª'µˆÈU·îpbcßfĈtïÞ|îÝ»_~ ˆ4ÃCDD*ìíÛÞfrÉx¹z‘”•Dô™h’³’éÔÉ2ã X¨_(ÜþŽGöžÝKrV2^®^¼6ø5†´b;¹ûdz„ö ÀXÀÄO=Π惘1hF‰&vžH÷îdds0é Ñg¢ÉÌˤKÃ.Ì3ߪ(p9áõ™Ö5œkp*íÑg¢1 Ì2Ój6…= sFÌ)úòn.š©r(éF“‘Íðõ¸¯qsr³S\ä¨á\ƒŽA-ÛÛ¶±ÌB¹´Rì?ƒþË·¼HÏ:œN;MTB±)±˜Ì&†´°–Ãptp䳑ŸÑ§I M…I>BlJ,7ßÌëC^/q\{Øú>Wä¾ØÂžÏ$`éƒRdzƒ[ ®ðu_)ö~žíùwe«g{?‹¿§?g2ΰóôN"NGTè‰G""å©_¿üò _|ñ&“‰ &pë­·²aƪNMªƒY‹4ED®;‰‰‰deeÙ»r¥'?À±c±—¾JŒf#ÇÎ#·0—Þ ðs÷³ìË+Ì£Õ[ѯi?f˜M±€£çb2›hæß G—2ŸORVAÞAÔñ¬Cna.Ñg¢©ëU·D߇ì‚lâ.Äa6› ¬hs3ÕÒääp"õ 4©ÝgGgN¥âlÆYÚ¶µ|éÜyz'ž®žV¿ù.m[±‹ù9žr&‚}‚KmØ ž›Î¡¤C¸;»Ó&°Õ¾‰ÈÌˤ™³2¯±ø /©Ù©ø¹ûQ¿fý=Š%f%r&ý ^Ô«Y¼Â<öœÙC€W!¾!¶Ü. rï³-÷ÅÞ{]ÞgòRpÛ¼ÛøçßþÉ?ºÿÃæë½Ú.÷y®Èý¶çß¿ŒÜ LfauÂì~ꑈHY&O.ê/ôá‡Ì(Œ‰‰á“O>aõêÕtïÞ^x°0Í,û«óôô$  ý¨þŸ ""ס­àQž?1“êéF|Ÿ&#÷}w;Ní`óc›-ø½܈÷[D¤XibÑÑѼöÚkDEE1pà@¦L™B½z—ï$ÕSe êá!""ÕÞƒKäbÞÅrc<\=øläg×(£‡­÷î£Û?ºFUÞÁ¤ƒ¼ºöUN§ŸælÆY·|C;DDª³ððp-Zį¿þÊÌ™32d/¼ðcÆŒ©êÔ䤂‡ˆˆT{‘§#ÉÌË,7ÆËÕëesc©Ž÷.#7Ãò8ÙFµñbß«8#¹”Á``ðàÁôíÛ—wÞy‡—^z‰Í›73cÆ |}+¾dUþzTð‘«ÊÙÑ™…ãVª§Fe}6ê3Œ&c¹1ŽŽ×(›‹­÷îzxŸmV'Œ…ãRÓ­&Mk7ÅÉáÆûqèFºß""åêêÊ”)SèÓ§Ï=÷C† á7Þ W¯^UšÜ ÔÃCDä:Tzxˆˆˆˆ\ª¼eÉÌÌäå—_fÅŠ<õÔS<òÈ# †«•¢\'ÔÃCDDDDDDª5///Þ~ûm:tèÀ+¯¼Â‰'xýõ×qtÔ M)› """"""rC¸ûî»iР=öÙÙÙ¼ûî»8;—þèu‡ªN@DDDDDDÄV={ödîܹlÙ²…gžy“ÉTÕ)ÉuJ¹¡tîÜ™9¾ÿ IDATsæ°víZ^ýõªNG®S*xˆˆˆˆˆˆÈ §K—.¼ùæ›ÌŸ?ŸŸ~ú©ªÓ‘ë """"""rC6l&Là_ÿúñññUŽ\gTð‘ÖóÏ?Oýúõ™:ujU§"×=¥EDD®¸øôxzÏêÍ=îáå/[¶·y» mê¶á›»¿¹jçÎ+Ì£Õ[ѯi?f˜mÓ˜k‘—­®§\*+#7ƒM'6ñ¿£ÿcãñdäfðpׇy¶÷³UšˆˆT#ÎÎÎüç?ÿá®»îbýúõôíÛ×®ñIII,Z´ˆ.]ºÐ¥K—«”å•c2™ˆŽŽfÇŽäçç3|øp‚ƒƒË³k×.öîÝ‹Éd¢U«VÜtÓM88”=ÿÁÞx€¸¸8vïÞMrr2NNNøûûS¿~}ÂÃëìñÁ*xˆˆˆT#ÍßlN—†]ørÌ—U SWOå—ƒ¿Tu""òСCúõëÇûï¿OŸ>}0 6MLLäƒ>àñÇ¿î Ó§Oç—_~!55Õ²­]»ve22’‰'’““ƒ‡‡Ý»w§Aƒ888””Ä™3gؽ{7ëׯWÁCDDDªW¾bùû¯‡­ÂLDD䯠M›6´jÕŠ¥K—ÚUð¨S§N•|¯ˆ—_~™Î;S«V-^~ùår ñññ,_¾///–/_NPP“&MâÖ[oeݺu|8Ó§OÇÓÓ³DiiiìÙ³çJß ›¨à!""f2›˜1—E{‘‘@]¯ºŒk?ŽÁ-—_ZŠßŽýƼÈyI>BV^õ½ëó·Ð¿ñ`× ð °Ä¼p’…»²õäVN]8…£ƒ#Íü›1¶ÝXîlsg©ç‹Oç?ÿûÛã¶c4éÔ Ïöz–°€0›®/âtŸïøœÝ »ÉÊË¢®W]6Èäî“ñt-ùúåì<½“¹;ç²;~7™y™4ðiÀ€fx Ëx»y—9ΖkŒdÌ×cøýäï4y£‰eüÂq éÒðúÿ­•ˆˆHe 6ŒÏ>û “É„ƒƒlÞ¼™S§Na6› ææ›oÆÍÍÍ2¦´³fÍ¢   ÌóŒ?___Ëk£ÑȶmÛ8|ø0………„††Ò«W/\]]¯èõ 4ÈæØõë×c2™=z´¥xP«V-&L˜À[o½ÅÚµk- {ã/^Lrr2;vä­·Þ*³Ç‡½{÷®ÀÕVž ""RaÓÖLãÛ¨o-¯O§fæo3‰9cÓøßŽýƃK´Ú›KlJ,ç2ÏñÑY¶?´ä!ާ·ŠJˆ"*!Ф¬$éöˆÕ¾ôÜtîúê.³-Û6ßDäéH¾»ç»Ë=¾ú–—Ö¼„Ùl¶l‹O狈/øýäï|?þ{j8×°é:¾Úõ¯¬{Åêx±)±ÌÚ6 ƒÁÀS=Ÿ*s¬½×n¯{ÝËï'·9~õƒ«i\«q¥Î)""r5ôèу™3grøðaòóóyä‘GHNN¶Š©]»6ï¿ÿ¾¥¸QZO>ù„œœœ2Ïsë­·Z ÑÑÑ<ñÄ%‹ȬY³hݺµeÛ‡~hõ³@yÜÝÝyàlŠ-MñìÒ–êtíÚ€C‡U8~ãÆÜwß}—mhZUTð‘ Ù{v/ßF}‹§«'SûMå–&·Ph*ä×ÿòúú×m:ƺ£ëxªçSŒj; Ÿ>ħdzõäVâ.ÄYÅ6©Õ„»¹óšù7ãLÆÞÝô.¿þ•ék§³èžEeæu:í4Ó×N§¦kM^èó½÷Æ»†7§.œâý-ï³êÐ*D.°¹Ðp"õ3þ7ƒïòwFµE`Í@ÒXsd ®NåÿöÇ–kïÔ‰c/»®š–Šˆˆ\kÍ›7ÇÍ̓Zf „……ѵkWœœœ8yò$[¶láÈ‘#åöìxôÑGKÌðÈËËcÞ¼yŒ?žÐÐP˜8q"„‡‡Ž‹‹ û÷ïgûöí<øàƒ¬]»Ö²Ôã£>Âh4Út-µk×®TÁ£¸ÐS¯^½ûêׯÍn©h|ll,mÛ¶-¿téR¬¶Ý}÷ÝÔªUË®k¨, -¯ÝÝ™3rµÜ‹þcm\«1ï ¡_ %2>’óÏSÛ£v©y-ß¿œBS!3ͰZžÓ¤vÞ»í="ã#Y{d­Íc~Äh2òèÍZÍäh\«1“ºMºìx{¯Ý^*ŽˆˆHuáàà@hh(Ç'55•ÐÐP~üñG«©©©VO9)ͤIÖÿ?ðÈ#0zôh¦L™bÙþé§Ÿ’‘‘ÁôéÓ¹ûî»­ÆÌŸ?Ÿ3f°bÅ ÆÀ?þñ»fxTF^^@©ËjŠ·ÇT$þâÅ‹xyy•ˆ_ºt)VÛ ¤‚‡ˆˆÜŠg`ü-ôo%öõ íiSÁcbç‰DœŽ`èÜ¡ôjÔ‹Öu[Óºnk:uÂÙÑÙ—ž›Î_ÞÉÙŒ³e+· ×êuË€––bG1''ºw#6%–¸ qe<Žž? À?Wü“®ø§å3fËß Øþ¸»Ø”¢ß€ n^zo“òTäÚEDDþÊüüü¸pádîܹ|ÿý÷ôíÛ—:uêXöûùùÙ|<£ÑÈã?N@@Ó¦M³Ú÷ûï¿ãèèHjj*ü1fó?+öíûã)u“'O®ìåÙ¬´"E±ÒŠöÆ{xxpáÂ233K<®vĈ–e0?ÿü3Ç[/ͽVTð‘*ãéêÉWc¿âHòvœÚÁ¡¤C,Ù»„ÔìT^ð2CưtßRÎfœe@³Lî1™`ß`j8ÕÀ`00uõT«>"¶2Ê.X˜Ì&Œ¦²§œþy–EeÏY–«qí¦""RxxxÍ«¯¾JÆ Y¾|93fÌÀÝÝöíÛ3|øp† bÓ±ŒF#O>ù$̘1£Äÿå©©©FÞÿý2‘™™iùûµìááï_4{öÌ™3´hÑÂj_ñr“☊Ä7nܘøøxöíÛgYòRlĈ?fÿ8p@¹±û°ùÄfîno=…sÓ‰Mv«™3šù7³¼~ì‡ÇxæçgèÚo·¢ÞO÷zÚê‹v¾1ŸíqÛK=æÄ¤d§XÍò(4²-n@¹K@ŠÏ±`̺‡t·ëZÊ;ÞªC«hQ§Åe¢­Ù{í  +‘­ˆˆÈíâÅ‹øúúâààÀÈ‘#9r$&“‰“'OòÛo¿ñÔSOóÏ>[îqL&Ï?ÿ<3gÎ,µ1gÍš5ÉÏÏçÁ,±¯X“&<9íZöð(~šÊŽ;èÛ·¯Õ¾íÛ·[ÅT$¾gÏžlܸ‘ùóç3`À€ë²q© ""R!›dÎö9¼µá-ܜܸ¥É-ÍFVZÅ'¿bÓ1¦¬œBÝšu¹¥É-ûãìèÌáäÃ=”c‰™‰x»yS¯fQó¬Ïv|Æ?ÿöO|jøp4ù(ïn~—©'J=vvA6/y˜©ý¦Z5-M‰¥SP§2—³ÜÑæfo›ÍS+žâ™^E…—ÚµIÏMçä…“ürð<lîá1¼Õð¢Ûgc4Ùv$u½êr&ý kެÁÅÉ…û;ß_êX{¯Ý§†GÏåTÚ)‚¼ƒp0\þ‡õð‘êäÂ… ´iÓ†ß~ûž={âè舃ƒ5"$$„¯¾úŠ¥K—–[ð0›ÍüûßÿæâÅ‹|ôÑG8::–wóÍ7óÝwßÌðáÃKì?tèU‹kÙãoß¾¼úê«,^¼˜ñãÇ[5›’’‚ èß¿…ãGŬY³ˆŒŒdÊ”)¼ôÒKxxx”È£¼Çû^m*xˆˆH…´ lËØöcù6ê[žÿåy«}ÆñóÁŸ/{Œs™çX¼w1nù°Ä¾–-iR»è7"·¶¼•ÿ˜%{—°dïKŒ§«'ý›õg푵%ÆwnЙ¸ qŒør„Õvwgw¦õŸV"þR!¾!¼:èU¦®žÊ”USJy¸ë×½¾b¡~¡¼Ø÷Efüo³·Ífö¶ÙVû½ùÑ2ÇÚ{í]våçƒ?Ówö¿™Y8n!]–݉þjù>ú{^\õ¢Õ¶9Ûç0gû ¨ÁíË^¾æy‰ˆHõvîÜ9üýýyì±Çðõõ¥C‡4hЀ‚‚¶oßN|||‰%6}útV¬XÁ}÷ÝÇÇ\bÿøñãñõõeÒ¤Iüúë¯<ýôÓÌ›7ððp¼¼¼HNNæÈ‘#ìÛ·¹sçZ–|T¶‡ÇêÕ«9|ø0{÷îàÇdÏž= 2Ä2£$((ˆ;eË–qûí·3lØ0œùå—_HJJ¢_¿~V36ìwwwçÃ?äþûïgéÒ¥¬^½šîݻӰaCHIIaçÎÄÅÅáïïoyŒïµ¤‚‡ˆˆTØôÓ ö fÑžE$d$àÀ˜vcÖÒ¶‚ÇÌ¡3Y²w 뎮ãDê ̘©W³ƒšbb牖٠5ùzì×ÌÜ0“ýçöã`p cPGžëýœUàRÞnÞ,ºg3ÖÍ ât&“©hLŸç«Vê˜KM‹:-˜1—ˆÓ¤f§âçîGˆoCÆ2¼UÉßâ”gB§ 4óoÆÜs‰Jˆ"§ ‡> Øl ÷ßTú쎊\û¿nù…¦B¶ŸÚNznºÍ¿E©âââHMM%<<œ¾}û²víZV­ZeÄk¯½Væ1:Ä×_ ÀìÙ³K:t(¾¾¾ñÕW_ñôÓO³ÿ~öïßoV¢¿Ee¬Y³†üÑjÛ¥¯›5kfµ„fúôé$''³yófË5têÔ‰7ß|³Äñíïܹ3ßÿ=¯¼ò ;wîdõêÕVû¹ãŽ;xî¹ç¬ú\+³~¹î$&&’••eSìÊ•ž<þxÇŽÅ^å¬DDDD*oòä>ü0ñŠ{ùòå¼øâ‹ìÙ³’““‰ŒŒäôéÓ¸»»J·nݬúM$%%±hÑ"ºtéB—.]HNNæÛoËo ^<ã˜Ùlf÷îÝìß¿ŸœœêÖ­KóæÍ­fD\ —Îð(Í¥3<.ÉÞ½{1™L´jÕŠ.]º”ÛsÃÞx(*6íÚµ‹ääd¨_¿>ݺu«ÔÌOOO*<^‘ë """R]]Í‚ÇC=Daa!sçνâÇ–k¯²-i© öï¶'3/³Ü/W/¢žŒºF‰ˆˆüu%''³qãFÞ{ェNE®×ßscDDDDDDDì4þ|jÖ¬É-·ÜRÕ©ÈuB3}úTu:rQÁCDDDDDDn8ÉÉÉLœ8‘FñüóÏWu:rRÁCDDDDDD®;;wîääÉ“¥îËÌÌäïÿ;ŽŽŽ|þùçZÊ"¥RÁCDDDDDD®+äàí·ß.±/))‰qãÆ‘ššÊ¼yóðóó«‚ åF ‚‡ˆˆˆˆˆˆ\7âââ¸÷Þ{ÉÉÉaÕªUÄÄÄXö?~œÑ£G“ŸŸÏwß}GPPPf*×;àçƒ?Û<æZäe«ë)—+åDê æGÎçƒ-°õäÖªNGDD®cIIIÿÇÞÇE]íÿ ;8²É"²ï âŠá‚‰Šûšûuéæ½¹Ô7m¹ZY×¼–ײ«•™¦•i–+jYiî¹""Jˆ(²È²Ã0²ÏÌï~LŽ 83 ÐëùxøxèùœÏ9ïsî‡O÷óæó9óæÍCYY¤R) °aÃÀÉ“'1}útØÚÚâàÁƒpttÔq´ÔÖ1áADDZ'ªRžðؾ Gn·ìÃ|­¤¶.áqWõ„GkÄ¥ªæÆ²åÊüxçG-F¤¹C1‡0úëÑõÕ(¬;»Ÿ_ùá©áº‹ˆˆÚ¨²²2üýïGAAjkkµµµÇ+¯¼‚eË–aòäÉØ»w/,--u-µº€ˆˆþ:^ü2ì„vº£Cû"ü ¹ṞÏé:\M½Š…àfåG G¾ÝADDª¨¨ÀÂ… ‘’’"OvÔÓ××Ç­[·°iÓ&Lž£­ûåµ/a'´Ãô€é åQ™QHÈO€¸J 'K' p[¡mƒó‹Ê‹™‰ôâtèÀÇÆƒÜA_ ßhŸ÷òî!"-R™ÎèíÐ[­ñÝyxÑYÑW‹a/´Ç0ÏaèbÖE­6ê©:Než6ölQ6ß> ©LŠôât|~åsù¹Ó¦ÁÉ¢õuì6¸Õû$"¢öE*•â7ÞÀµk× ‘H­§§§‡õë×cĈÐ×oü¿ûDcƒˆˆ4›‹ÅG#_œ//³ÚbÝØuJëo ߆€®ò„GIE þqè¸s[¡ž±1V […ÊË>8ûöGïGµ¤Z¡®›•¾žù5Ü­Ýô·ñâFl¿¶]¡lJ)øxâÇM&I àQ^ÿùu\K»¦PnjhŠ5£Ö`F¯Mžÿ8uÆ©Œ*cÏeË“™¥™ — &?Þù%*gAÿ°2µR¹>QcÖ­[‡“'OB*•6YO*•"33?ýô¦OŸÞd]¢zLx‘FU?Â’#K/·»µ;‚݃!‘JpñÁE¬:±J¥6vGíÆíœÛ°Úc„÷X˜X «4 ‘鑸™yS!p9å2ì„vèëØŽލª­’¿½ñæñ7¶ L¡í[Y·p6ñ,†y ƒ·­7rD98uÿŽÅƒ›•–/k4.‰T‚E‡!6'NNê1&H+NÃÙijxç·wàeã…>Ýúh}œÊ¨2önæÝ°¶>ÈeãÔýSÈ$X¸°Émi'tŸ€ÝQ»qผrƒÝ£‹Yˆ*EH-NEdz$þùÌ?ÑË¡—VÇ©Œºcw³vÃÝÜ»ø×/ÿ‚³¥3ôz˜0­Émi[j ¸Ü8œK<H,HDeFÉ·ÌíåÐ !ž!-Ò7DD¤‘NF°cú,>²)E)H)JØt²Áúqë±ôÈÒ§¶1ÈuþÈþç“ßTèdÔ ÿùot1«ûœdŒïLê> ¿Üýa·ÿÜ~vfï™èlÔßÞø¶AÛýûÁ³‹'vDìÀÅååSzLÁËC^n2.}>vÎÚ‰·Ž¿…óI磸孽Ð^åd‡:ãTFݱ/ \ˆ·N¼…cqÇäeA.AM&ßð ""ÒÐökÛQ-©n²Ž‘¾–zúç=DDDD¤]LxihGÄ”U•5Y§³qg&<ˆˆˆˆt€ """ -¸D¥7<ˆˆˆˆ¨õ1áADD¤!¾¹ADDDÔvéé:""""""""mcƒˆˆˆˆˆˆˆ:&<ˆˆˆˆˆˆˆ¨Ãaƒˆˆˆˆˆˆˆ:&<ˆˆˆˆˆˆˆ¨Ãaƒˆˆˆˆˆˆˆ:&<ˆˆˆˆˆˆˆ¨Ã1ÐuDDÔ¾ÅçÅcoô^d”d º¶+CVBO ‡ ¿oÀóÏc¬ïXyÝú<¬=ðïÐë0âö'¹0ßßüé%騬©ÄÊ•èëØW×au(ê\Çe÷òîátÂi¼üj£ušós^#©ÁßüÎxãÙ7š*DD¤¹¤‚$LÝ=µÒZyYqE1 ô ™‰Q>£êßȸʚÊÖ³]K+Näo'¡ZR-/+®(ÖaDÚ±`ÿøÛùã‘ïè:µ¯cmjíyhn¢Jó›¬ÓœŸs©LŠÈŒH˜›˜kt>Ñã˜ð ""Ž=ŒZi-^|!ž!0Ô7„¯­/`ïܽpµrÕq„í_Øí0TKª•Îq{™ @ ë0èö:níyд¿ÔâT=Š7\˜Œ·O¼ — LðŸ#}#…ºßÎúBc¡¶B&""ÒDD¤±Ì’LÀëϾŽNF޹é"¤§©9&íàuÜ´°ÛaX}rµÂ0‡oÆáÛ‡±õêVœ]rV¡þç­"‘RLx‘Ú¢2£ðÉÅOPx1ìEÐð·Æª®}PZYŠÃ·#:+âj1ì…öã;#¼FÈë<þmÿ«Á¯âPÌ!\N¹ŒjI5ú:öÅßûÿ½Áo•%R .<¸€+)W^œ}=}øØú`zÀt¸[»+m{ÙeؽiÐè!Ô;Ó¦òÄyØssâóâ!4bfï™â6D£ñé<¾ü_<÷…ü¡ññ¶_ {WS¯ÊëŸN8”¢Lí9óöÍCÁ£ù±ãñDZsæN<ëñ¬Úãy𯿨£ÜC^ö[üoxã—7P#©‘—]|pßE}‡Õ¡«åmoáÁ…¸–öçCjµ¤ZkcWe¾ËªÊäãUŠÆ(ª59'ëϭLJwš¬ó¸“6¢›y·Fkz«:ïMQeT½–ò0ë‡YW‰êí½µ³zÏÂúqë5ž÷‡eQ^SŽIÝ'a혵¸ž~wsïbNŸ9˜ÓgJ*Jœ£l uçL*“báÁ…¸ž~]^v>é<ŽÆÅù`ej%¯§Î}¡²¦‘‘ð±õiwý±îöÝâÐÖϵ>&<ˆˆHmÎØ;w/>¹ô nfÞÄîÙ» 1Ù1øøÂÇOmG\%ÆÒ#KQRY‚©=§"Ä3&H/IÇA.ƒ0¹Çdù9—\‚¥©%Þþ¼m¼‘+ÎŶðmˆËÉø˜ÒcŠBûSzLÁçp²pBem%îåÞÃî¨ÝX{fmƒß’_zp ÖfÖxwä»ðèâ„ül¹²ßD~ƒóIçádá„·†¿KKœO>ýÑûñéåOå5šŒGÝ9610P÷Ûè•¿®D¤c}Çb¬ßXêâ⃋»†Î~€þNýÞ.=¸¡±+†­€¿½?L Lä¿-oîØUo_[_ì»Wéâ™O{»#>?^áAýi*j*4šãzÊ®cMæ]™§Íƒ:×Ò?@\%Fˆg¦öœ KKd–fâJÊ”U•©Ô_c-ab`ÒhRÄÒÔ²Éqj:gõ×ê›!oÂÛÆ9e9øúú×H.Lƺ³ë°iÒ&…>Ô¹/hB?DDÔú˜ð ""µY™Z!È%Hþ[ÖÎ`l`,?^U[¥R;?Åý„ÂòB¬¶K-U86Þo<†m†£wŽ*$ ô °Þ~…OR\-]1ÿ|Üʺ¥ð`³wî^\O¿Ž‹.âÔýS¨–TC&“ÁØÀY¥YxXö];wUhûàüƒp¶t 󆊚 |~åsè ôp`þèÕý§s¸×pÜ}x±cQ+­…žFãiÌÓæø§;?¡²¶²Á[#c|ÇÀ¡³6_ÙŒƒ1±vôZù1dø~Î÷ ŸÔÿoÕܱ«3ßA.A°0µPkŒUÃWATÕô[ kêí@³ëX“yW¦³qç&çá‡[?¨|-ÕÏÿƉsúÌ‘'*žÖ_c ô °zÔj¬>¹³¾Ÿ7k7–"«4 ŽŽ*µ¡éµºgÎ…$È8¿qõÕ(¿wŒý@áÓuî šÐÆÏµ>Þ‰ˆHgþÈþp&á ÂÓÂ!“ÉÔ=ìÔÿ=¹0Yᜇ…‡èÙµ'€ºOêId¼þó븜r¹Ñþ˪Êòšz~v~êΞ|pñ·÷GLN rËráhá¨Ñx4Ÿ˜Ó{Nƒcëû7l¾²÷rï)ŽÅÖ¯Ñõš;vMæ[]ª®Ñ’Ô÷·Ž¿…Œ’ …zOüNNMö£Îµô·¾Ãw~ÄâË1µçTôìÚ¾¶¾060ÖÊö®³{ÏF¯®½pôÎQ\M½Š„ü ûr<»xbYð2LôŸØäùš\«þvþ Þ’±2µB¨w(ß>Œ¤‚$ôrè%?¦ê}ASÍýù ""Ý`ƒˆˆt¦¼º“Óh#Å-/-L,Ô©ÿ A*“ÊË~‰û—S.ÃÕÊóû͇«•+Ì Í °ç机JþàØTÛõ2M«ß½B“ñhªþíeŸX˜X@ 4xC¡©dCsÇ®É|«KÛkxhBÝy¿s‰‰ õꯓ¦¨s-¹[»ãì’³ø9îg„§†ãÛÈo‘-ÊF°{0Þ y^6^OØSøÛûã]ûwq=ý:vGíÆ²!Ëðåµ/ñúϯÃÔÐ#½F6z®&×jc‰šúkñÉúªÞš"‘J=ÖÜŸ""Ò &<ˆˆHgÌkG¯mô¡LÓ×Áë¿xî‹k|zéSÚ|š–Ï“ì„vê¨]­\ŽÅ>Œ…L&ƒ}g{…r á$Ú¢ö|Ë vDÛkxhBÝyß0aCƒ8ÞhdÔ½–,L,° ÿùâŸyâ<,=²Ïx¿/ýýÏOu4˜÷'é ôÑݾ;6MÚ„S÷OáÇØ›Lxhr­&ä' FR£°¦ ÄæÄ@ƒúªªO¤•58V¿[uLx‘ÎŒñƒï¢¾Ã±¸cØ8i#\,]äÇ$2 Î$œiò·®M©ÿmò­Ì[òðZi-¶…oCTfTóƒW¢%Çó¤g=žÅ·~Àÿ.ü>¶>ðµõd•faÍ©5ò:­EÝùîdÜ ™¥™Ê¤Ðè©Ô‡¶×ðЄºóþøgÊ46ê\K»£vÃÏÖ]ÊëX™ZAh,D^NR‹Såqª;ïY¥YøùîϘÙk&l:ÙÈËe2Ân‡A*“¢ZRÝdš\« ðÁÙðïÐÃHß2™ »£v#2#.–. ó¡Žúy¹|É…Éðìâ  îó  ¿oШM""j»˜ð ""yÆùÌì=a1a±}œ-aÓÉ¢J2K3QU[…%—`‚ÿµÛñÁÖ«[±æôìŒÜ +3+¤¥BT%BûˆËkWãyÒpÏáè:i˜¼k2ܬÜ`¨oˆäÂdÔHjàmã½fhaTªQw¾»ÛwGDZB¾ £…#`õ¨ÕMîÒÖðÐö¼76ê\K“/bÝÙuèdÔ .–.020ƒÂ(«*ƒ•©•Br ©yßðûÄdÇ`Íè5ò¤Ä£êGØtq>»üÍÑÙ¸3²DY¸e Ë Ïõ|NësæÙŇoƯ÷~…›•rÊr/άY¡òü*3³×L캱 ¿ooTÕV!µ8=í{6Xo…ˆˆÚ7Õ~¥BDDÔBþ;ö¿xgä;°Ú!£$ÑYÑH.L†T&Åx¿ñ˜Ø½éÓ»[o¬µ¦†¦H/IGLv 6Œß ð›pmk©ñü)ÆùÓúœ¹[»ãó©ŸC_ Û9·‘/ÎGgãÎX?n=ÆûWy~•Y6d‚݃Q#©ÁÝÜ»xPôc}ÇbÝØuÍj—ˆˆÚ¬¹r‘ÖåææB,«T÷Ä !–/·GR’vvÿPGB~Š+Š1Ày€Âëñ%%¸Ÿ®V® eÞȸ¡±Péoñe2ÒJÒPT^k3k8š;*|¿/•Iq#ã¬L­àcë£pný1k3kxÛx+«¨©@JQ ÀËÆ †ú†H/IGŽ(½zÁÔдɶëÇâfí{¡âº©Å©È-ËEïn½<°=m<ªjlŽ÷¨ú>€R¸Zº6XR•¹ÓÖØU™ïz™IIUŠ •Iáo篕]EÔ¥îu\ïi󮪧̓ª×RyM9ÒŠÓ “Éà`î ßnWÕþâóâQZYŠîöÝÑÙ¸sƒóŠÊ‹ð[üo8yÿ$>ü©Â'.Çê÷±¹ ÂîÙ»W÷Z­‘Ô ± R™>¶>0Ò7j²¾²cÊî Yš‰|ñÜJÇåÆaÊ®)˜Ús*6NÜØÊÑQ{Á„©ª¹ ®áADDÔÊ^„GUš¬Óɸ¾žñu+ED¤šÆÞ2*©(Á¢Ã‹Ÿì:¸5Ã"""RŠ ""¢V•¥°N‚2Ê>) ÒµîöÝñêÐW”×Hj  nÓ)=§´vhDDD 0áADDÔÊ¢_ÖuD171WºÎŠ­ÐIo'é """¢Æq—"""""""êp˜ð """"""¢‡ """""""êp˜ð """"""¢‡ """""""êp˜ð """"""¢‡ """""""êp˜ð """"""¢Ç@×QÛ°)]°oÞ>]‡ÒbD•"\J¹„s‰çpñÁEˆ*EX2p V†¬ÔuhDDD¤LxýEù~ì‹ — 왳GסèÄêS«qüÞq]‡ADDD-„ """j ö_±º¡ÅY˜X`¢ÿDŒðŠÚ ¼ûÛ»º‰ˆˆˆ´ˆ """úKzÌûò¿Ÿ¼R‡‘QKࢥDD¤1©LН¯Ð¡ðÿŸ?†oŽo®ƒÌÒLx}ä…ÿœþ¼nUm¼>òÂÒ#K‘Uš…å?-Gàæ@x}ä…òšrÀOw~ÂŒ=3ÐkS/ôÜØ“wMÆž›{ •Iåí¤§5hûÉcëήSÚofi&^:úú~Ú½6õÂ?ý÷rï©=nUÆ™‰Å‡#ps ü>öCÈ—!øðü‡W‰››*óÔTŒ—\‚×G^H%O ‡×G^ò?×Ó¯¨[ÃcîÞ¹JÛËçáµc¯¡ÿgý°)Ïx^i¬ê\DDDDÚÆ7<ˆˆHckN¯Áþèýòg”dà£ß?B\n\£ç”V–bÖ÷³+Ε—I¥R|ôûGøæú7 uïæÞÅûgÞGtV4>üi³b-­,Åìïg+ô{éÁ%DeDáàüƒð·÷רMecÙ½ï~2™L^žYš‰‘;žŽC ÁÔÐT£ØÔ'¥1>–Q—¨R„Ù?ÌFFI†¼,<5 ,À™Åg`ej%/×äúPæùÏ#<5\åú§‚gOµú ""¢Ž‡ ""ÒHLv öGï‡ÐXˆÕ¡«1Òk$j¥µ8pëÏ­oô¼7Ð×±/¶NÛ ?;?˜˜ .7ß\ÿ&&xkø[ë;†ú†¸øà">8û~¹û &øO@¨w¨ÆñÞȸ>Ýú`Û´mð±õA¶(Ÿ^ú'ïŸÄÚ3kq`þÚ|r,%X{f-ÌÍñöð·â S ¤§có•Íø-þ7|õ–ZªvlšÌ“² éí$-̈Ä3ÎÏ`ó”Íð¶ñF®8ïzá©á8w /¾@ó냈ˆˆH[˜ð ""œJ8X²Ó¦ËËçö‹ÒÊRlº¸Iéyf†fØ1}¬Í¬åe¿ÅÿxeÈ+Xм|J)ÐèáõŸ_Çñ{Ç›•ð034ÃŽ;ÐŬ À³‹'>›ò&윀¨Ì(<*€M'õÛ|b,?Ýù µÒZ¬»ãüÆÉ˽l¼ðÙäÏ•…3 gªÆ¦É<)‹±9¬L­ðÕŒ¯ 4ܬܰ:t5Æ}3ñyñòzš^ÊüUw‘!""¢æáDD¤‘ôâtÀP÷¡ Ž)+«×ݾ{ƒ‡ïÔ¢TÀ¯ ê×—¥§iª¼ßú„B== r¤qûÊÆ’Xxíç×àû±/|6øÀgƒ¼7xÃ÷c_ä‹ó‘S–£QlšÌ“²›£G×òdG=gKgPXŸDÓ냈ˆˆH[ø†5‹‚e¯]ñ$KSËÆÛ4lëIz‚º\½ û¨¬­|êùÍéûIÊÆR¿>†D*iô¼jIµZý<›:±65ßš¨ÿ$æqÊ®¦Ž5u}(Ã5<ˆˆˆHLx‘F\¬\Ô-®9¯ß<…cWS¯ªÕ–›µà÷¤ßámã­pìBò€«•+È?;y|ÑÌz×Ò®5ÚÇÝÜ»(,/Tx“¢VZ+?ÇÅÒE­˜Sÿ ýÝœï0ÄmˆJ稛:ó¤ ¨•Ôª\_Ú¼>ˆˆˆˆ4Á„idŒï|ñ6^܈NFâ©LŠÓ §±5|«Zmó‡í×¶cËÕ-èdÜ c|ÆÀPß—\ÂûgÞŒ÷054E7ón¸œra·Ã0Îwª$U8“p¦Éu!Êkʱäð¬]­°0hra2Õ^¿£1Ï<‡í×¶ãŸßÀŠa+ì ›N6(­,Ejq*Žß;{¡½ÂªÆ¦Î<©ÂÒÔ‰‰H/I‡“…“üímÐæõÁ5<ˆˆˆHLx‘Fz;ôƬ޳p(æVüºBáØÿ 8~ï8 õ Uj«‡}üó™bgäN¬9µkN­Q8>Ñ"FùŒ’ÿûÅ ñþ™÷±êÄ*¬:±J^>³÷L„Å„)íc€ó¤§aúžé åf†fX3jÒs4áf冯~€Õ§VcÕo«”ÖY2p‰F±©;OO3Ðe ~½÷+FlÿsM½s÷"È%Hå6£Í룥Š9„w~{G¡lGÄìˆØ˜ßo>þ3ú?:ˆŒˆˆˆ´ ""ÒØº±ëàj劃DNYºv}ç" kŽß;scs•ÛZ5büìüðÃÍP©L .˜0CaGXÐoʫ˱ÿýÈ-Ë…³¥3Xˆ!nCMxX˜XàÀüXwv"3"!•JÑß©?Þþ&üíü›5OšÕ{üìüðm䷈̈DQy¬Í¬áfå† þ0¥ÇcSgžžæÝ‘ï¢VZ‹ˆô”V–ª½¶ÆÓhóú """R—@¦íÿwCDDÍ–›› ±XüôŠNœbùr{$%%·pTª{ÿÌûØss¶>·c|Çè4–ªÚ*ôØØ¡Þ¡Ø>}»NcyR[Ž­%µ¥ëƒˆˆZß²eö€-[ru µuB¡öööŸÏ7<ˆˆHc‡b¡¨¼£|FÁÑÂyâ<=нÑ{Ñɨ†zpûÑ¿2^DDD¤KLx‘ÆD•"l¼¸/nlpìÝ‘ïÂÌÐLQi®ï§}QVUÖdÎÆýzt+EÔ¾u´ëƒˆˆˆÚ&<ˆˆHc³û̆¨J„s‰ç^’}=}t·ëŽƒ^įOo€:4^DDD¤K\Ȩ jïkx5†kxªš»†‡žc!"""""""j˜ð """"""¢‡ """""""êp˜ð """"""¢‡ """""""êp˜ð """"""¢‡ """""""êp tµ__^ûvB;L˜®ÕvE•"ìŽÚ^½â¢Õ¶Õ%‘I°õêVxtñÀDÿ‰:åiRŠRpñÁEˆ*EèïÔC܆<õœ¸Ü8DgE£²¦¾v¾ì:úzú­-QËbƒˆˆ4¶-|ºh?áQ%ÂçW>Çü~ó[-á±åÊ8Y:ṞÏ)”×Jjñù•ÏêÚf‡bá›Èoð ð¼lÉÀ%M&<òÄyxã—7‘¡PîníŽ]³wÁÉ©Åâ%"""j Lx‘Æ^ü2ì„vºC+¾ÿA.A íÁÕÔ«xPønVnp´pÄÕÔ«MÖTýs÷ÎEjq*¬L­êŠ.f]\˜Œó‰çñ°ì!DDDÔî1áADD{iÐKºÌî=¯¿ .8yÿäS›/oFjq*z;ôƮٻ`nb.?–^’“–™ˆˆˆ¨Å1áADDkl ‰L‚ðÔp$ä'@"•ÀÓÆÁnÁ060nÐÆ£êG8—xÙ¢ltíÜ£|F=µß;ï :+âj1ì…öæ9 ]̺(ôÿøº÷òî!"-R™ÎèíÐ[^7[”÷C*“"½8Ÿ_ù\~lZÀ4Øv²Uè;¹0WR® ZR¾Ž}è¨ò|µ”ÁnƒU®[-©FØí0lœ´Q!Ù.–.ÚˆˆˆH'˜ð "")[Ã#© /} )E) uí…öØòÜôsì'/‹Í‰Åâ#‹‘/Η—Ù m±nì:¥ý<*Àë?¿Žki×ÊM M±fÔÌè5€âºñyñØ~m»Bý)=¦àã‰C_ lQ¶<É‘Yš©ðr RHxìˆØ7B&“ÉËfõž…õãÖ7=Qÿßw~DFI†Ju`Aÿ°2µR¹¾*âÆ¡¬ª ýûÁÝÚiˆÉ‰ÐXˆ ç xÙxiµ?""""]aƒˆˆ´¦¢¦ÿ û'²J³Ðͼ†yƒ¡ž!®¦^Era2…-Âo/þ;¡U?Â’#K/·»µ;‚݃!‘JpñÁE¬:±ªAÛ©‹/BlN,œ,œ0Ôc(,L,Vœ†³‰gñÎoïÀËÆ }ºõ‘Ÿs+ëÎ&žÅ0að¶õFŽ(§îŸÂ±¸cp³ròàeèfÞ Ëƒ—cËÕ-p4wÄ´€iòó-åÿ#ûœO:_×–7rŹ8qïÅÂDÿ‰*½eñãž®ò|NðŸ õ„GZq G×xíØkøõÞ¯ Çgõž…Æ|ÀZˆˆˆ¨Ýcƒˆˆ´æ—»¿ «4 ýûá»9ßÁÔÐP+­ÅkÇ^ÃÉû'±/z^Z÷ 'ÎÃP÷¡øjÆW0Ô7P—4Y°ŠÊ‹Ú>p±9±˜Ô}6Nܨð@›‹{f`×]Ø+]‰ ÉTJx<×ó9µ>±6³V¹®ªÊkÊçÏáaÙCŒòwkw¤§ãLâŠ9‡ÎX¼Lë}µ&&<ˆˆHkneݼ:ôUy² ô °"dNÞ?‰›™7ëêfÖÕ]¼Lžìê>Où¿Áÿ‡E‡)´]¿§™¡¶Gl—V"“É ƒ æ&æˆÍ‰U8ÇÍÊM!Ù½zc”Ï(œ¼‰ù‰ð³óSilÝíº+$;È·ÌÍç©ÔF[ئ~•lQ6vÌØ‘^#åÇ®¤\ÁÂC ±çæ¼2ä]…IDDDÔlLx‘Ö”V–P¾ð¥³…3J*Jê*ÛþÔÙÒ¹AYýcª“¥ò­UëÛU‰TnËÁÜ¡A™™¡€º7XTÑÖð°Ú¨›÷Ç“ì oo$ä' ÿQ~‡Ùr˜ˆˆˆþš˜ð ""­±0±P·µé“I‹ŒÒ Èd2XšZ*ÔÍ,Ílð`­,)`aZW^ßyèÒ©Kƒãl§šY’©´^}ûæÆæJ·”¶°†‡Ÿ_“onÔ¿9#ßî ""¢ö ""Òš~Žýpøöal¹R·Kýg-™Ÿ\üÐß©]]§~8{[®li°†ÇÖð­ Úä2a1aÈ$xeÈ+Ðè)Ïç#§,G¡,µ8Gc6XÃãL˜›˜ÃÛÖ[^n¤o$û¤¥´…5‹s‰ç-ʆ}g{„z‡B&“ayðò +S+|5ã+$&#*3 EåE°6³†›•¶ª­·2Zé™òIDATd%ÆûGdz$¤2)ú;õGŸn}Ô›0 =ºöÀõôë(­(… 28Z8Â@ß˃—ã‹GƒsêyÙxi2}ZÓ£kÛé>îÉy€Ù½gc„ç\H¾€‚òXšXbˆû¥ εGYýêdDDÔfäææB,«T÷Ä !–/·GRRr GÕ~TÕV¡ÇÆõÅöéÛu=fÙ²ºölÉÕq$ÔÖ …BØÛÛk|¾ÞÓ«µ/LxQ‡Ã5<ˆˆ¨ÃijÝ """"úk`ƒˆˆ:}~“‹xQÇÇOZˆˆˆˆˆˆˆ¨Ãaƒˆˆˆˆˆˆˆ:&<ˆˆˆˆˆˆˆ¨Ãaƒˆˆˆˆˆˆˆ:&<ˆˆˆˆˆˆˆ¨Ãaƒˆˆˆˆˆˆˆ:&<ˆˆˆˆˆˆˆ¨Ã1ÐuDDDÍ?ýÖøwè¿›,ë(ý¶–ÌÒLüã âóã¾¶¾˜Ógœ,œ´R¿1©GcârÊe”U•ÁÕʳû̆¿»ˆ_Wí°ß¶Ùo{‰SWýêj\yâ<œO:‹.¢´¢“{LÆœ>s­¯î}I[÷1¢öF “Édº‚ˆˆåææB,«T÷Ä !–/·GRRr GE[°üíüñÎÈw Ø€€®Ø7o_“eÚ¦í~›ck;Ÿt¯{5 妆¦Ø1}» nVýÆTÕVaáÁ…ˆÌˆT(×ècÄ ˜Úsj›Ž_Wí°ß¶Ùo{‰SWýêj\ÿ=÷_ìŽÚÇË– \‚•!+•ÖW÷¾¤­û˜6-[fز%·Õû¦öE(ÂÞÞ^ãó™ð "jƒ˜ðhû|?öEKöÌÙÓàØŒ ~s¦«„‡²XTÕÔ[SIE B¶‡@\%ÆXß±ï?†z†¸|a·Ã`nbŽß—þŽÎÆ5ªß”7bûµíèÚ¹+–/ƒCg\H¾€ïo}C=Cœ]rÝÌ»µÉøuÕûm›ý¶—8ÛËühó>óê±Wq#ã†{‡©¡)vGín2á¡î}I÷1mcƒTÕÜ„?i!""Ò²Ît‚\[ŠESgÏ@\%ÆhŸÑøâ¹/äå£|FÁÌÈ »nì‘Ø#x!ðê7¦VZ‹}Ñû ¯§ïæ|Ï.ž€g=ž…@ ÀwQßa_ô>¬¶¢MƯ«vØoÛì·½ÄÙ^æG[ã€wG¾ ÛN¶8yÿ$vGín´®º÷%mÝLjÚ+.ZJDD©‘Ô`îÞ¹øäÒ'¨–TcwÔn,=²‹/ÆŽˆ(¯)Wz^ie)vFîÄ+?¾‚¾€·Ž¿…óIçm»VZ‹½·öâ•_Á¼}óPY[)ogwÔn,ÿi9\ˆ5§×àJÊ•f÷'‘J°?z?^>ú2^ {[÷B\õçÛ6÷óïcîÞ¹H%¸óðæî+ÿs/u3Ö]§Ò<ª_s(‹%Oœ‡­á[ñê±WñÏCÿÄšÓkp&áŒüujUÆØšÒ‹ÓÃ=‡786ÂkàbòEë7&&;¢J»–?$Ô«ˆ¹ôà’ByØí0ÌÝ;'ïŸÔyüš´Óžãçxµ'çG{õåó vB;‚í(£î}I“ûQGÂ7<ˆˆH#R™‘‘ ±ðàB\O¿.?v>é<ŽÆÅù`ej%/ΊÆâËQ\Q¬ÐÖ‘Ø#˜Ù{&>÷¡Ò¶¯¥]“×­•ÔâæÃ›xéèK(*/ú³‘`ï­½x{øÛx1èEû{éèK ‡ Épúþi~þ0 õ QVU&ÿZT)Rø&ZT)P÷IeMåSçPÕøšãÉXò0ë‡Y I nîfõž…õãÖ«4ÆÆ¬?·wÞQ9¾“6>õUjC@ayaƒc I…I×oL}ÞÝz78ælé KSK<(| PžQ’ÈŒHŒò¥óø5i§=ÇÏñj?NÎöêÊçS]êÞ—4¹u$LxQ³\zp Bc!Þ yÞ6ÞÈ)ËÁ×׿Fra2Ö]‡M“6ÄUb,=²%•%˜Ús*B£±mÚ6…væö+hפ?=쟷îÖîò2WKWÌß?·²naJ)èlÜA.A°0µ@KFó¦I|Ú` W÷Ÿþ7ÂÒÔR^>§ÏùÛÍãªá« ªjú-Ç©²PÞ ×Aà<72n`Êî)p·v‡¡¾!’ ’àlé  <ª~¤qýÆHdu;(S_^+­•—9Y85ØŽRWñkÒN{ŽŸãåü´æühk>Õ¥î}I“ûQGÂ5<ˆˆ¨Yüíü’`ej…PïPÔJk‘TP÷:íÙÎ$œÁóžÇ‚ý °`ÿÌß?¯üø ¹Pq§?[?…dùçõŸ­<©~E|Mú pPHv@Ï®=üù[5mÑ$>mø[ß¿ÁÊÔ ‹/ƾè}¸sUµUsóf·ïoï — •ÿ¨òE@€Ów`rÉÉdH*H½Ü{ðìâ‰Ï§|޲ª2X˜Xh\¿1f†fÐèÃX}¹™‘Y›Œ_Wí°ß¶Ùo{‰³½Ì¶Æ¥.uïKÚºµW|Èˆš¥±‡äúÿ£Wÿ0]^]·ˆiLNL£m)ü»kç® êÔ/ZúøÚ ÊhÒŸ²ÿsj¨o nmÒ$>mp·vÇÙ%gñsÜÏO Ç·‘ß"[”`÷`¼ò&¼l¼šÕ~K¬áÔ]gŸLúÿõ¤§ÀÔÀÞ6Þ¸šzR™>¶>ͪ¯L}\©Å© ŽUÕV![” {¡}£¿9Õuüºl‡ý¶Í~ÛKœíe~´5.u¨{_Òæ}Œ¨=bƒˆˆš%!?5’yb ^lN,À¾sÝÞ鿀µ£×6úP]ÿ¹E=e«Ö;t®k'*#ªÁÛ õ4èO-2Èw5ÑD‹Ç×  ,è¿ ú/P·kËÒ#KñüçñûÒßal`\WQƒ1¶Ä371Go‡?ßÛss Ä3D+õ×Ë¡€º$R ôõþ| ¸œrµÒZôêÖ«ÍÆßÚa¿m³ßö§®úÕÕ¸T¡î}©%îcDí ?i!"¢f)xT€Î~€jI5€ºä]7v!2#.–.p±tŒñ8w æ Ÿ5:¢¸¢Ë>µ¿PïPÀ† lCÓ §µÚ_c:wBfi¦Æo~´t|Ùµi eV¦V ‘'ÎSø- &c\5|öÎÝ«òUÞîêv®y|'jI5þwá8ŸtÖfÖ˜ÑkF³ê+ã`î€~Žý-ÊÆ'—>‘'rŹøèüG€ÉÝU[cEñë²öÛ6ûm/qêª_]KêÞ—´y#jø†5‹gO¾}¿ÞûnVnÈ)ËA¾8°"d…¼Þ3ÎÏ`f Èí#àlé ›N6UŠYš‰ªÚ*,¸ü'4Ùß@טè?¿Þû/|vB;8˜; [”|q>^ü2FûŒÖZénßiù2ŽŽ@€Õ£V«¼SKKÇט‹É±îì:t2êKáAá”U•ÁÊÔJž ÒtŒO®¹¢-—\ÂÛ'Þ†£¹#º˜uArQ2ÄUbêbãÄ >GR·þ†ß7 &;kF¯¯­¯¼üíocî޹رÇâŽÁ^høüxTÕV!Ð)c}Ç*´v; ?ÆþˆçŸW8¦«øÕm§½ÇÏñr~Zs~´5Ÿ¿'ýޝ¯ (ª¨Ûnýç»?#:+0Úw4^|A^_Ýû’ºõ‰:&<ˆˆ¨Yܭݱ2d%VX…Û9·Ô-ºjÄ*Œ÷¯P÷¿cÿ oo|sýd”d £$@Ý:ãýÆcb÷‰*õ¹iò&¸wqÇ'ÎCž8è(sB›ý)³2d%–YŠlQ6²EÙ ßåDU-_cX©LŠð´pÜË»'/r Â;#ßQXDTcÔ–™½f"© ÷óï#³4@Ý«ÚïŽ|ýú7»~|^ݧ8õ»üÔëçØÛ§oÇ{§ÞC¶(ËBO ‡1¾cðß±ÿmðÙUFI"3"1ÊgT›ˆ_ÝvÚ{ü/ç§-×ol>óå7ø0G”ƒQ4X DÝû’ºõ‰:¬9 Q‹ÈÍÍ…X,V©î‰B,_n¤$íïèÑ”ªÚ*ôØØ¡Þ¡Ø>};j$5H,H”/Ôf¤ßø‚›2™ i%i(*/‚µ™5Í֑ʤ¸‘qV¦VM.ú&‘IT„ÊÚJ8[8ÃÚÌZëýÕ³6³†··ÒþE•"HeRøÛùÃÜÄ72n@h,TxBY™ªñ©J~ËkÊ‘Vœ™Ls‡FmlŒº’-ÊFž8æ°Úk­~|^ç§uæ3Oœ‡”¢”Fϳïl7+·åªÞ—4­ß’–-«›§-[ruµB¡ööOÿ9l DDmP{Lx©‚ RUsü¤…ˆˆ¨ [txU=j²N'ãNøzÆ×­QûÀ„Q•Õà;ö'){囈ˆˆè¯Ž ""Òˆ±1’ÞNÒu^ôëѺˆˆˆ¨]ÒÓuDDDDDDDDÚÆ„u8LxQ‡Ã„u8LxQ‡Ã„u8LxQ‡Ã„u8LxµQ™¥™ðúÈ ÿ9ý]‡Ò¨ö#ý51áADDDDDDDDDDDDDDÔá0áADDDDDDDŽ® "¢ö©ª¶ =6ö@¨w(V‡®Æ†ß7 <-%%¸ý¯Û˜¹g&DU"\~ù²üœ¬Ò, ûràä‹'áeã%?6rÇHèëéãô¢Ómn,f†fH-NÅÞ[{q5õ*Ò‹Ó¡¯§[ü­Ïß0-`šÒ¶Þó>ÖŸ[Ë)—Q-©F_ǾX5|üíýú—ʤø6ò[øã²DYèÚ¹+æö‹q~ã4Š52#ß\ÿ·²nA\%F×Î]1Æw – Y¡±PÞ–ªcR7F"""¢¶€ ""j–ÒÊRÌú~rŹò2©TŠ`÷`ìŒÜ‰äÂdxvñ\I½ÐèárÊeyÂ#³4iÅiXÐÁSû{þÀóO W9¾S‹NÉû×t,°øðb<(| P?:+ÑYÑÈçaé ¥ ÇD•"Ìþa62J2äeá©áXp`Î,>+S+yùšÓk°?z¿üß%ØðûÄ=ŒS;ÖýÑûñÞé÷ “Éä噥™Ø¹á©á8´àL MÕ“&1éDDÔ,72n ¯c_l¶~v~010 uŠ‘;q9å²<ápùAÝß;wÆ•”+X8`¡¼‚݃u3ˆÿ¯±±€W/, Z„@§@8Y8¡²¶ñyñxïÔ{ر‹.‚¾@_^?2#Ï8?ƒÍS6ÃÛÆ¹â\¼wê=„§†ãXÜ1¼øàvÎmìÞ¡±«CWc¤×HÔJkqòþI|xþCµbÍ(ÉÀÚ3kanlŽ·‡¿ÏX˜Z ½8›¯lÆoñ¿á»¨ïä‰ UǤiŒDDDDºÄ„5‹™¡vLßk3k…ò@ç@ãJʼø¤2)"Ò#0µÇT…ع5’êâJêè ôäôÔþöÌÙÓRCit,°vôZ|yíKl¿¶9¢TKªŽg•fÁÅÒEþo+S+|5ã+ù'$nVnXºã¾‡ø¼xy½S÷OV†¬Äô€éòòùý棴²Ÿ^úTåXºój¥µX7v§&^6^ølògˆÊŒÂ™„3ò„‡ªcÒ4F""""]bƒˆˆš¥»}w¥ :âzúuÔHjp7÷.J*Jì ¡±_\ý73ob€ó\K»†>Ž}Ö—Ð…ÆÆRZYŠi{¦!G”Ó蹕5• ÿîѵGƒñ8[:ÄUbyYZq€º7bžô¬û³&”ÅšXxíç×ðÚϯÉ?k‘A&ÿ»µÇ¤iŒDDDDºÄ„5‹¥©e£Ç†¸ ÁÕÔ«ˆÊŒÂ­¬[0Ò7BKŒ Œ 4âJꘚ@T)B°›jŸ³´äåHìäˆr0Úg4–/ƒ«•+L L!°úÔj…µ-ê=þ9L½údƒ6(‹U*«[oD"•4z^ý[šŒ‰ˆˆˆ¨=aƒˆˆZÌP¡øøÂǸ’r·²n¡¿Sù‚™]âòƒË0Ö7 ûõ;š’^œø×°)$Oª%ÕˆH‹hVÛ®V®€Ë)—1¯ï<…c—R.©ÕV}lßÍùC܆4YW1i3F"""¢Ö„µ?[?t1ë‚3‰g^œŽ×Ÿ}]~,Ø=kϬE•¤ ;£—C/•ÚlÉ5<Óͼàëë_㵡¯ÁÒÔ‰ù‰øôò§H)JiVÛc|Ç`GÄüïÂÿ`b`‚‘^#!‘Ið[üoؾM­¶ž øíÝMŒUõà÷ÎÜa½ò5”é8Ôòi  ›ÙD ÃÅ‚ Ñø•à AcÀ‰ cÜ‘0nR7º°•…6Jb3$@(ÊG —3w¼]MI¬-à g<ó<Ë{Ïùß÷lî½ysÎï¿*;ÿ´3/ì}!›Ø”%³—dúíÓsñêŽp4ûïOW­+ÏÜ÷Ì ]ÓHf¸UŒšJ¥’ûgߟ½Ù›äúKf/I³ÙLÿÙþ,¿{yZ[ZÿÛ2…{ø7gÇw¤ïë¾ô}Ý÷ÃëµöZ–ß½<ÿõãa¯}O÷=YÛ»6»þ¼+›÷o¾î½• Wfßá}ÿ÷Z³¦ÎÊk+^Ë+x%/ýþ¥=æéEO'¹±kÉŒ·JKѸ9ííß £¹ù#éûÙ·ufጅ?¼>kê¬Ìœ<ó»cÆðã,IÒ=©;ï­}/‹~½(µöZ&uLÊÒyK³gýžëvf®­mÍ‹K_̬©³ÒÖÚ–™“gfÓ›²éw›nx­5¿]“=ë÷då•™Q›‘jK53j3rï¯îÍÖ‡¶æÙûžÖ5dFÆ·k×ZÒÑÑ,:ã@¥ùýØvƌӧO§^¯ÿï“|ñEG{¬'Ÿ}v,]]QNpsy¤'½½×²eËÙ¢£0ÆÕjµtuu û|wxüÌÍ;˜$ùæ› 'øiÍfÒß?!sæ …q@áð37eÊPfÏÌçŸO,: ÀO:t¨=õzKz{¯…q@áPK—^ηÇCŠÀXvà@-==,XàFŸÂ }ôŸ9~¼-Ÿ~z[ÑQ~Ô•+•ôõݑի/…qBáPóçdÙ²ËyýõÎ ÍÝZ€ñíí·§fp°’uëÜ €’xùås9v¬-ï¿?©è(×9y²šwߒ矿ÎΡ¢ã0N(<Jâ®»³aÃżñÆ´9ÒVt€$I£QÉæÍ3rç¬_±è8Œ# €Ù¸ñ|æÎÈOtçüùÖ¢ãdÛ¶éùê«ölß~*Õª ëÜ: €ioofçÎSI*yî¹_¦^÷5gÇŽ©ùàƒIÙ¾ýL.´3 ·–Â%ÓÙ9”wÞù{ŽoËš5=9q¢Zt$`œi4*Ù²åyóÍiyõÕdÙ²ËEGbRx”ÐüùùðÃimmfõê™ùäÛշƉÕlØÐ>ªå­·NÙ•…Â(<Jª»»‘Ý»Ofñâ+yòÉî<õTwŽ5ÌW®T²}û´¬XqWΜ©f÷³ƒBUšÍ¦©1cÌéÓ§S¯×Gl½ƒ'fÛ¶é9r¤->x9«VÕ³xñ¿2q¢Ÿ`øšÍäСö8PK_߬dãÆ yüñ‹”rÓjµZººº†}¾Â` éÂ#I††*Ù·¯–]»&åË/;ÒÒÒÌœ9ƒéêj¤VûvD? (·k×*9¾5ýýR¯·¤§§‘Õ«/eݺKéì*:%¡ð(¡Ñ(<þÓÙ³­9xpbžs窩×+£öY@ù´·73yò·™7o ½½W³`Xy €íÂƺ›-< -JGᔎÂ(…P:  t@é(<€ÒQx¥£ðJ§Òl6›E‡àzW¯^M£Ñ(:¦Z­¦££cØç+<€ÒñH P:  t@é(<€ÒQx¥£ðJGᔎÂ(…P:  t@é(<€ÒQx¥SM²§è#éßUdܨ˜X·IEND®B`‚fio-3.39/examples/dircreate-ioengine.fio000066400000000000000000000007741476262051600203200ustar00rootroot00000000000000# Example dircreate job # # create_on_open is needed so that the open happens during the run and not the # setup. # # openfiles needs to be set so that you do not exceed the maximum allowed open # files. # # filesize needs to be set to a non zero value so fio will actually run, but the # IO will not really be done and the write latency numbers will only reflect the # open times. [global] create_on_open=1 nrfiles=30 ioengine=dircreate fallocate=none filesize=4k openfiles=1 [t0] [t1] [t2] [t3] [t4] [t5] fio-3.39/examples/dircreate-ioengine.png000066400000000000000000001232431476262051600203240ustar00rootroot00000000000000‰PNG  IHDR÷/FbKGDÿÿÿ ½§“ IDATxœìÝy\TõþÇñ÷"{îæF$‚(ÞDÍ\SRº.Y¦†¥i«×4½¦ÖÍ2KÊneuójeêM73s-5­\ÒÜój¦f²æŽâ¾¢žßÃ"300ãðz><:sΙïùœ3_Þ}Ïb2 ÃpYÎ.܃û¸8÷pq îàâÜÀÅ1¸€‹cpÇà>.ŽÁ}\œ—³ ¸®èèh«×mÛ¶Õ›o¾éœb±}ûv-X°@ñññºpá‚T¥J…‡‡ëþûïWƒ œ]"À qå> @qqq ÒÚµkµvíZíÞ½Ûjùš5kôÀhذaºxñ¢“ª,Êʱvõý5j”š5k¦·ß~[Tÿþý5`ÀeddhÔ¨QZ¼x±³K¸)®Ü(::ZsæÌ)pyïÞ½uòäIIR­Zµ4jÔ¨Ò*Í©}ôQ9rD’ôÜsÏ©G%¾Í²r¬]y?W¬X¡wß}W’T©R%ýøã ”$uëÖM Î,àæ¸rPd­Zµ’$y{{«yóæN®¦ôlÙ²År7ƒìAþ’VV޵+ïçW_}e™ŽŽŽ¶ ìgûüóÏÕ·oßÒ. PFpå> È-Z¤;v¨FªQ£†³ËqkeåX»ò~¦¦¦Z¦«W¯žgyxxxi–(cÜH’²²²4gÎ}÷ÝwJKKS¥J•ôÀä»îéÓ§Õ³gO«y=zôÐsÏ=§ÄÄD=óÌ3y–uëÖMü±öìÙ£+W®hðàÁzøá‡%I;wîÔ¼yóôÛo¿)==]µjÕRxx¸zöì©ððð"µ¹mÛ6ÍŸ?_ JOOWµjÕÔ¾}{õë×O¾¾¾yögÖ¬YÚµk—:$Õ¬YS-Z´Ð#<¢   IÒæÍ›õòË/[]­?qâD-X°@’4sæL[–ÙSCAnt¬sÚ»w¯æÌ™£]»véìÙ³ò÷÷WDD„zöì©»îº+O»¶ÔVж6l¨¹sçêСCªX±¢Úµk§ÊËËú3Ô§Ž;¦%K–X­ûé§ŸjÀ€ùîgqë°u òûï¿ëÉ'ŸÔ¯¿þj™·xñbíÙ³'ßõ'Ož¬† Zͳ÷ó Pæ]½zÕˆ‰‰1$’ŒG}ÔX¼x±ñÌ3Ï–ùÝ»w·¬¿fÍ£eË––eC† 1 Ã0Ο?ŸgÙ=÷Üc4oÞܘ5k–ñÁÆ{ï½g†aŒ9Ò0™L†$ã/ù‹ñßÿþ×Xºt©1lØ0C’1räH»Ú¼~ýº1dÈËz/¾ø¢ñÕW_‘‘‘†$#,,Ìøý÷ß-û¾gÏÃÇÇÇhܸ±1{ölã›o¾1FŒay­ZµŒ}ûö†a'Ož4Ö¬YcÔ¬YÓ²|ذaÆš5kŒ5kÖ—.]2 ð»†Â>›‚Žu¶±cÇžžž†$£wïÞÆâÅ‹üã–õûõëg\»vÍîÚòÛv•*UŒÁƒß|óÑ«W/«>S”>Õ¦McÍš5Æ…  ÜÏâÔáˆÏââÅ‹y¶ÿàƒZ>÷o¾ùÆ2_’±yóæ">„Á}€ñæ›oZ«V­jdffZ–………åÜÏvß}÷8àœs™§§§ÕjÇŽ÷Þ{Ϙ2eŠeãÔ©SVmôéÓÇj°Ö–6?þøcË:·ß~»eù¼yó,ó[µje™¿uëVÃÃÃÃ8pà€Õ¶»téR྅††Z–}øá‡yާ½5Ø¢ cýÿ÷VÞ–emÛ¶µ,1bD‘k˹íFYæ'$$X jçüüJºOÙZ‡#?‹‚j;sæLƒûö~>ÄC€2oΜ9–éÈÈHyzzZ^7iÒ¤Øíß}÷Ý ±¼þøãõðÃkÚ´iVÛ©T©’ÕûÞ{ï=½òÊ+vµ9}út˼zõêå;½yófíØ±C’T¿~}͘1C3fÌÐC=¤˜˜EGGkçΖõ÷íÛg×þÚ[Ë/¾¨èèèekÅÝßâ²çóàFò>„Pæ8pÀ2ý|ùl*T(vû9á%ó€º$%''[æU©R%ÏûjÕª¥Zµj¹ÍíÛ·+::Z’”žžnµþ¶mÛ¥•+WjÀ€ÊÌÌTåÊ•õÏþSõë××G}¤… J’®_¿^øNæ`o »víÒÚµkó´sõêÕB·•””d™ÎýÙZ¦/^¼¨£GÚ][n9Û4™LVË233-Ó%ݧl­£¸û[\ö|>܃ûùùùéÂ… ’¬F%)##£Øíûûûç;? @çÏŸ—dÛ@¶-múùùYÚ¬[·®âââò]/44T’ôÊ+¯Xöù•W^Ñ3Ï<#IZ´h‘]õ§†âÈy sv¹_–Zm%ݧì©ÃÞý]¶l™¦M›¦=zè‰'ž(Ööíù|¸nËPëÖ­-ÓGޱZ–ûµ#uèÐÁ2˜˜˜gù˜1c4`À»Úl×®eúâÅ‹ùÞê~ܸq–«¨ÓÒÒ,ë[¦¯\¹Rà6Ê—/o™Î¾ªæÌ™êÓ§O‘jx÷ÝwµfÍšýôS˲­[·j„ jÞ¼¹]mŽ;Ör»óøøx-X°À²lÿþýzñŬ[n¹E’õ êúõë%IçÏŸ×òåË ÜFDD„eúèÑ£’¤¯¾úJ—.]*R wÜqGžAçèèh«“ 2nÜ8Õ¬YS’ù³ûùçŸ%I©©©Z¹r¥$óÕë}ôQ‘j+*gõ©ÜìÝß´´4Ë-û ÃÐÁƒ‹µ}{? d`ÆŠ+Œzõê’ £iÓ¦FÓ¦MèèhC’!ɨ\¹²Ñ¾}{cïÞ½FûöíJ•*Y–Õ¬YÓhß¾½qêÔ©—}÷Ýwy¶›’’bôêÕË(W®œ!ɨW¯žeT¯^Ýxÿý÷ Ã0ìns×®]ƽ÷Þk˜L&C’Q¿~}£iÓ¦FõêÕçŸÞÈÈȰ¬»{÷n#,,ÌÒnTT”Ñ¥K#&&Æ2¯bÅŠFûöíÔÔTÃ0 cÛ¶mF5 IFùòå;î¸Ã¨^½º±sçÎ"Õp#7Ú÷l‡6úõëgøøøåË—7š6mjFçέ겧¶‚¶=pà@cÛ¶mF›6m,ó%Mš41Þ~ûm»úÔƒ>Xè~·{>‹ëׯ÷Üs!ÉhРqùòåboßÞÏ€ü˜ Ã0JêÄÀÍgïÞ½JKKSåÊ•U¿~}íÝ»×ruz¶;ï¼SÛ¶mË÷ý­[·Ö¦M›ò]¡[o½5ßeW®\QRR’.\¸ ªU«*$$Ärå÷µk×ŠÔæùóçµwï^]»vMU«VUpp°¥Íœ233•œœ¬‹/*$$DUªTQrr²>lµ^Ë–-åããcyObb¢NŸ>­ÀÀ@EFFª\¹rE®¡ 7Ú÷èèè<ë&%%éìÙ³ò÷÷WXX˜ l»°Ú Úv`` êÖ­«;wæYvë­·ZÝÙ@ÊÛ§žzê)ý÷¿ÿ•$õïß_3gμá~Ô§ì­ÃÖÏ"##C¿þú«"""äççç°ã`ïç@N î‡KOOW—.]4þ|U­ZÕjYÛ¶mµqãFIÒÔ©S5pà@g”ÀMÅÃÙ÷“••¥µk×*..N™™™–ù‹-ÒæÍ›%IÍ›7×O<ᤠ¸¹på>p¸¬¬,ýûßÿÖ¬Y³täÈÕ­[WÇ×þýûU¹re=ùä“zíµ×èìR¸)0¸€‹ã¶ü¸8÷pq îàâÜÀÅ1¸€‹cpÇà>.ŽÁ}\ƒû¸8÷pq îàâÜÀÅ1¸€‹cpÇà>.ŽÁ}\ƒû¸8/g(š””g—;„††ù½\¹€‹cpÇà>.ŽÁ}\ƒû¸8÷pq îàâÜÀÅ1¸€‹ó*n&“Éu€Ûz衇4þ|g—Q$gÏzhï^o?ï©k×È{ ´x{ ÊRXØ5U¨pÝÙå8y8yÀQÈŽBžpò€£ÜLyRìÁ}I>|¸Zµj刦À­L˜0ÁÙ%Ømï^oÍŸ¨5küõûïåœ]PæÝ~{†:t¸¤‡º °°kÎ.Ç.ä àZÈŽBžpò€£'ÅÕóÄd†Q¬L&Í;W½{÷vTMà6bcc%©D®ÜOIIqh{”Ó[oUÖ?øë¶Û2Ô©Ó%µl™®úõ¯©bÅ,y{ëŸ v¸vͤ3g<•˜è­Ÿ~òÕòåþ:p œ:v¼¤Ñ£Oé¶Û2œ]â ‘'€ë O8 yÀQÈŽBžp”ÒΓÐÐÐ"¿—Á}(A7ÃàþÕ«&}øa%͘q‹BB24jÔ)µkwY”K—*9¹œF>åìRPŠÞ|óMÕ«W¯ÀŸ† :»D8ÈèÑ'õûïå´ti@‰o‹<$Mš4É*OV®\éì’à ä JÚž={ôïÿ[½{÷VÛ¶m¡¨¨(=ðÀš0a‚Ξ=ëìá ä JRff¦Ö®]«—^zIݺuÓwÞ©ˆˆµnÝZÔŠ+œ]"ˆú¨‚ƒƒU¾|yªyóæš8q¢23óÞšæË/¿T«V­äïï/___5oÞ\Ó§O—Éd²ú4hÝÛ4hPžv/^¬N:©B… òõõUdd¤¦OŸžï¾äWÛ²eËЀbš=;H÷Þ{I!!Î.@  Éн÷^Ò—_•ø¶È$''ë“O>qv(!ä JÒ±cÇôÀhãÆzýõ×µjÕ*-\¸P!!!Ú³g>þøcÝÿýJKKsv©pò%iÙ²ezúé§µ{÷n½óÎ;Z»v­>üðC]½zU«W¯Ö³Ï>«‘#GÊ0 g—  OPÒ2224eÊýõ¯ÕÚµk]Jy‚’–’’¢nݺiúôéªS§ŽÖ¬Y£… êØ±c;v¬žzê)]½zÕÙeÂJ3Orbp¥næÌ™jÙ²¥fÏž­ (55U‹-Ò/¿ü¢áÇ«[·nVƒïo¼ñ†úöí«Ÿ~úIáááŠ×¢E‹ôÙgŸYµûË/¿hÊ”)vocÊ”)Úºu«U['NÔŒ3´k×.U­ZU{öìÑ€´téR«õl­ p¶'<õË/>êÑ㢳KuèÐÁr&ùçŸ^àzO?ý´’““óýÙ³gO)VŒ’öàƒµ}»Nžô,±m'îÉÖ<‘¤ëׯëå—_VPPéþá‚ÒEž ¨lÍ“ñãÇ«AƒòññQdd¤Þ~ûm˲ÔÔTþ¦r#ä ŠÊÖ<ùàƒÔ¨Q#ùûûëÞ{ïÕsÏ=gY¶dÉ-^¼¸4ÊE) OPT¶äÉìÙ³5kÖ,½ýöÛêÛ·o)WˆÒFž ¨ Ë“¬¬, >Ür²òÈ‘#U­Z5…††ªwïÞ’¤7jÒ¤I¥Z7JNiäIn î£T8qBÏ>û¬å¶#ƒV¥J•Ô±cG5oÞ\’´|ùr}úé§’¤Ã‡kܸq–÷?ÿüó Q­Zµ4zôh‡l#?¯½öšjÕª¥àà`Ý{ï½–ù‹-²L¥6ÀY¶lñ•‡‡¡V­x¶àÎZ·¾,C[¶ø–Ø6È|þùçÚµk—^zé%g—‚Dž ¤Üzë­JNNVݺu­æ‡„„X½NMM-ŪP’È”¤:uê(<<Üj^›6m¬^s®û OP’Ú¶m«•+Wª[·nÎ.¥€>>–霡Xœmä'çvrÊùaQjœåÄ /Õ¨‘YøŠ¸)¬^½ZõêÕÓÁƒ-ó^ýuË-¡RRR¬Öß²e‹¢££µlÙ2ÍŸ?_UªTц 4tèPýãÿàv¹™[oÍÔ‰^%Ö>yâ^ìÍ“1cƨJ•*:thi— ' O`{ó$Û•+W´}ûv«»ŸuèÐAýû÷/ñšQzÈØ£¨y’-ç…’Ô¤I“©ÎAžÀÅ͸7òö°5O’’’,Ëýüü¬ÚÈý:11±+Fi*é<ÉÁ}”ªjÕªY½^¿~½ ÃÈó“ý<’*UªX­Ÿžžn™.è–%ön£¨ŠRà,éé&ùú^wvp:(99YÁÁÁ–ycÇŽUrr²’““­î$Ò§O-X°@:t¯¯¯5j¤>úȲü믿ÖìÙ³Kµ~”,?¿ëºtÉTbí“'îÅž<ùú믵~ýz7®À!á^ÈØÃž<ɶcÇ5jÔH½{÷VBB‚Ê—/¯Áƒkâĉòö.½«PòÈØ£(y’ÓòåË-ÓuêÔÑÃ?\bµ¢ô‘'°Gqóî<=lÍ“³gÏZ–{zZ?ƒ=÷ëœëâæVÒy’ƒû(Ç׃>¨¿þõ¯Vÿ3x÷îÝVë]ºtIzíµ×$I;v”—ןg»ä<›2÷m³Ù»¢*Jm€³†d*½[àBBCC­¾tfÏËù˜’9sæ”vY(A&“ùw¾¤'eÓ©S§ôÏþS>ø`žçØÂ}‘'(iQQQÚ³g¾ùæµoß^W¯^Õ'Ÿ|¢N:içÎÎ.Dž ´>|ØòÆàà`}öÙgœ”èfÈŽBžÀÙLt·QÒy’ƒû(UÕ«Wׄ ,¡õÖ[oiݺuJOOWRR’yäÕ¨QCÆ “$Õ®][¯¾úªåýÿú׿´ÿ~=zTo½õ–C¶QTE© \EõêÕ-ÓIIIÜšÀ ½ñÆ’¤W^yÅÉ•p7ÞÞÞjР&Ož¬:uêH’Ž=ª‘#G*++ËÉÕ¸™;vLO<ñ„.]º¤Î;kÑ¢EyNt(I*T°Lçþ{&÷ë[n¹¥Tj‚ûapE6kÖ,™L&M:Õ2/++Ëò|ûœ?'N´¬3hÐ ­_¿^±±±º~ýºbbbT£F õìÙS5ÒÆ­nyÿÚk¯é‹/¾P‹-”””¤ ¨{÷îzì±Ç¬êÉy–“=Û4hš7onÕVÕªUµtéRµmÛÖªöåË—Ëd2iÿþý7¬íñÇ·j¯I“&4hP48ƒùì±råJ={VÍ›7·RPP³ËeLxx¸eúòåËVËr¿®_¿~©Ô÷ãUø*@þúõë§~ýúé½mÚ´±ë–®}ûöUß¾}­æ%''[½®V­Z‘¶1eÊM™2%ßeݺu+Rm’ôôÓOú^(ŽÂnݯ=zh÷îÝV‘¤ãÇ[¦ëÖ­Ëm €2®° سgOžyñññVüŸ|ò‰î½÷^‡×àæRXž|þùçZ°`/^œgY¹rå¬^_¼xÑ¡µ¸¹Øò7JVV–¦L™¢I“&)<<\³fÍRݺu-Ë'Mš¤7jîܹ%Y*Çÿóà(…åItt´fÏž-Éü=åÒ¥Kò÷÷—$;wβž¯¯¯Z´hQr…­qå>\Þ /¼ïàùöíÛ-ÓwÞy§jÔ¨Qše€ÓùùùY¦333%I'N´\ËÌÌÔ/¿übõ¾ääd=zÔò:66¶„+àêlɰ…-y’˜˜¨Ã‡[½/++K?ýô“åõ-·ÜbuÕ €²§°dãïŽRXž´oßÞêŠüßÿÝ2½oß>Ët¿~ý,ƒþ€½ÜÇMaÞ¼yúä“Otúôi]¸pA«V­ÒK/½$É| ý3f8¹B(}7¶LïÞ½[çÎÓêÕ«óœõùꫯjÇŽJOO×Î;5tèP˲Î;çy”€²ÇÖ<€ÂØ’'™™™:t¨víÚ¥ôôt¥¤¤høðáJII‘d¾Eÿ»ï¾«òåË—zý\Gayòý÷ßë·ß~“$}ñÅŠŒŒ´<>(ûgÒ¤IN©€káïŽRXžxzzjâĉ–ÇBO˜0AiiiŠ·\Ñß²eK=÷Üs¥_<Ü·å‡Ë{íµ×©ùóçküøñ:zô¨|||¦¾}ûê¹çžSÕªU]&”º#Fèܹsúé§ŸôÍ7ßhõêÕjݺµžþyIRDD„fΜ©åË—kìØ±:~ü¸Îœ9£   µmÛV½zõÊóÌleSay’Ó–-[ôè£æ™?xð`IÒøñãÕ«W¯¯€k*,O~øakåÊ•3fŒRSSuþüyùùù)22R-[¶TÿþýU»vm'ï g³çû ܈-yràÀuìØ1Ï{¯]»¦zõêI2_iWZepA¶äI½zõ´lÙ2M:U«W¯Vtt´Ê•+§zõêéÙgŸUŸ>}òù¤ž|òIg—.¥råÊúðà \n2™Ôºukµnݺ«p3*,OrjÑ¢…’““K¸"7«ÂòÄÛÛ[íÛ·WûöíK±*7£ÂòdÈ×ä IDAT!2dH)VàfeËß;·Ývç(”­ÿÿ¤råÊ=z´F] U¡¬á¶ü¸8÷pq îàâÜÀÅ1¸€‹cpÇà>.ÎË QïÞ½ÑàP&“I Є œ] Ê¨ØØXg—7À•û¸8÷pq îJÔâŇ´yó g—á0î¶?¶HJ:¯I“½\ .γ¼,8‡»õ5wÛ['pîÖ×ÜmlAžÀU¸[_s·ý±yWán}ÍÝöÇä \…»õ5wÛ['¸/gp_iiWôüóÛT­š6mêâìrŠÍÝöÇVááA Ò¶m'•–vÅjYY8&Ÿ|’¤*U¼âìRÊ4wëkî¶?¶"OÈWàn}ÍÝöÇVä yâ Ü­¯¹ÛþØŠ D=ø`g—àPî¶?ŽÀ1Aiq·¾ænûã”wëkî¶?ŽÀ1Aiq·¾ænûã”wëkî¶?ŽÀ1Aiq·¾ænû㓲Á}·páBùùù©Kûo­±iÓ&­X±BS¦L‘———>\¹,\(ùùIEè³Ú´IZ±Bš2Eòò’è³7µ”” Z¶ìˆåõ!õåéi²ZçÔ©«Z¿>M©©éòõõT“&•Ô¸qÅ|ÛKK»¢õë+-íª½Ô¬Ye5hpË ··oßmØ&OO“¢¢*éŽ;òo;>þœ~úé¤22²¤»ï®®%KéС˒¤ÈÈ ñÏwгÝÂö©0~˜ ðm]??O fsÛÙÇ$3óº"#+¨U«ªyÖ)è3Îo~JÊýôÓ ={M’Iû[=ùúš¿†d÷ƒcÇÒU©RyÕ­ fÍ*ËdÊ7jËÖcjÒöí§”˜x^çÏ_SHH€¢£o•§eíÛOkÆ4ed\×Ñ£—5iR‚$Éd’þþ÷«öŠûYâÆÈò$ç|òÅAž'9ç“'(ò„<É9Ÿ½µÝ_]õ³tGä yBž'ŽBž'ä yâ(ä yBž'ŽBž'ä yâ(ä yBž¸wž0¸ïÂüüü4wî\ùùù9»À6~~Òܹæÿ¢Ì Ô°aÚ³ç¬öí»`µì›oëŸÿÜ¥îÝëè½÷šÉÃÃ|é¶m§Ô§Ï: ü“æÎm/“IZ²äÆß­ûﯭ>h.Ó'›.YrH#GnS¾5ªQžíYOåÊ™ÿqÿâ‹}š=ûwÅÆ†èí·›XêûöÛ#6ìòööаa~™Ìoв][÷©0¹ÏVt„‚ŽÉ¢E‡ôâ‹?ËËëϳ} úŒsÏ¿r%K³fµ•d>&“''ÊÇÇÃÒzôÖ»ï6³‡#ê¾û~P|ü9µlYÕ¦¶ì9¦^ÔÙ³×ôý÷1ªXÑ[’4jT#=ðÀj ¾Uß#“IjÚ´’š6­¤ÿü'I5kúYõ…lŽú,qcä yBž'ŽBž'ä yâ(ä yBž'ŽBž'ä yâ(ä yBž”g—Ø.6V¢Ï¢Ó¦%I2ßÒ'û‹¤$Ýygeµn]MÛ·ŸÖÖ­'ÿXw¯$ièÐË?Ô’ôÀuT½ºfÍÚ§ŒŒëy¶{›eÚd’š4©¤+W²tôhºeþçŸï“$ d}g×®µT³fÑNR±e»EݧÒPÐ1éÞ½ŽªT)Ÿß[ Õ¿¨eÚd2î¾¾^–~ðì³õ­ŽCÅŠÞŠ‹k¬&M*ÛÑ–íÇôöÛרòER’|}=Õµk-¥¤\ÈóÇϸògYV'®ÛÉòäfCž¸n$OÈ“› yâº}Ï:çÎÓwß}§ƒÊÇÇGmÚ´Q³fÍnØ. 0c†tðàŸ¯ï¸CêÙSš9SÚ·ïÏù/½$ùøäßFB‚”£OiÌ)1QZ¹Ròô”Z¶”rôY­['ýÑg,ýÑg•œ,ýÑgåç'ýÑgóm?!AZ¾\òö–:u’þè³úùgéÇ¥€)&FÊÑg•”$åè³3FÊÕg•–fn÷Ð!Éßß\{!}V[·J6Hæuóé³:wNúî;ó±öñ‘Ú´‘è³.++ËPBÂ9yzšgyݺÚ¸1M¿ývNÍšUVbâ9yx˜´téa™rþk-ÉÓÓCééYJL<¯F*X-Ëýeð–[Ì_._δԱoßyzšT§NÞ/޵kûéäÉ+vïŸ-Û-ê>åæèg<Ý蘘LRp°ÿÏU²Oõêyó-g?¸í6ÿ<ËÿúךvµeÏ1½ýöU«æ£ï¿?¢cÇ®èüyó³¢ví:#I:qâŠBC Ý/G~–(ò„<ÉÞy‚â"OÈ“ìm‘'(.ò„<ÉÞy‚â"OÈ“ìm‘'(.ò„<ÉÞyâÊÜà~¶9sæ(11QZ½zµ"##µeË 6LãÇ· Ög{ë­·t×]wY÷³M›6M×®]˳~vûZ·nÂÃõbÅ 1B_|ñ…âããµsçN…††êÛo¿ÕðáõtéRuìØ1ßv^zé%«Áý &hôèÑúË_þ¢¶mÛj÷îÝ5j”Zµj¥¹sçªZµjyöyĈÚ½{·7n¬„„5J÷ÝwŸæÏŸ/___IÒªU«Ô£GEEE©uëÖ:þ¼Þxã kþüùV' ÀF»wK J‘‘æÁýlK–H¾¾Ò½÷ÚÖΜ9æAý€óà}d¤´e‹4l˜4~üŸƒõÙÞzKºë®?÷³M›&]»–wýìöÍ'„‡K+VH#FH_|!ÅÇK;wšô¿ýV>\ZºTÊÕg-í¼ô’õàþ„ ÒèÑÒ_þ"µmk>.£FI­Z™oåŸOŸÕˆæõ76Ÿp0j”ù®óç›$­Z%õè!EEI­[KçÏKo¼a>±aþ|ëp“1K2™L2™”çjIzè!óY™AAåò,ó(æ½i®_·ñ[Z¶[Ô}r¶œgõÚ#ŸÝ,²‚Ú²ç˜~ýõA½öÚNUªä­èèêªT©¼U»=˪¸Û…3‘'®†<)ÞváL䉫!OŠ·]8yâjÈ“âmÎDž¸ò¤xÛ…3‘'®†<)ÞvÝU™܈ˆP\\œvìØ¡ÄÄD?~\ß~û­$É0 5nÜXqqq>|¸¼½½Õ®];µk×Nï¿ÿ¾U;õêÕS\\œ–.]ªýû÷ØþÉ“'µxñbIR\\œj×®­gžyFÏ?ÿ¼¾þúkIæ«òk×®­qãÆY÷ÃÃíÚÉéË/¿ÔÈ‘#õè£jæÌ™òø#¹6lØ víÚ©GÚ°aƒUÇ>zô¨µråJ˼wß}W£FÒË/¿¬ÿûß’¤Q£F),,LëÖ­³¼ÿå—_VÆ uèÐ!÷íõÔSÒãK]»š¡³ŸEûíRzºy^¥J7n#"BŠ‹“vì0š?n\—Ì8iÜØ¼|øpó•öíÚ™rõYÕ«g^oéR)GŸÍÓþÉ“Ò}VqqRíÚÒ3ÏHÏ?/ýÑg5fŒyþ¸q[·“Ó—_J#GJ>j¾kAö¿¶6˜kíÑÃ<3Œ5Ÿh£ÏêÝwÍü/¿,ýÑg5j”f>!!ûý/¿,5lh¾C}Öåxzšq‹âãÏiÿþ‹ª[×úŒ¼”ó-x"#+ÈÓÓ¤úõƒNýû×µºm$%%׊GU«–ý·lòô4)44PÉÉtðà¥+“É|å{zºõíÿ‹#GŸ•¿¿Ô¨‘ù¶÷9ïP¡‚ù¤û¬þè³zõUëÓèÚ¶5Ÿ°i“yp>'ÃrõY f®iÚ4é>«¬,)5ÕzÿƒƒÍw  Ïº¬ÍzøøãD«32·m;¥Í›O¨iÓJjÞ¼Š$iðàú’¤O>±>iäêÕ,½öÚË­„Š¢ÿº’¤©S÷ZÍ_¼øNœ°ÿP¶*É}*®‚ŽÉ÷ßqè—IéÏ~0yr¢Õí¬ö│W^ùE™™¶?ÉÖcj2™äíí)Ã0ò´¿{÷Ù|Û®VÍWgÏfH2ŸE:aB¼¥¸ògYV'®ÛÉ“¼È×Fž¸n$Oò"O\yâº}<É‹«#""B«V­ÒöíÛÕ>dzɫV­ª   «u}||¬øøx¥¤¤¨aÆš:uªúõë§°°0uèÐAíÛ·×=÷Ü£¿ýíoöì6r«XÑ|5|Ë–ægØÏše¾­~Qäê³ú£ÏÊA}V¹ú¬üýÍò¹ú¬lÛfV–´k—ùýùôYED˜ï`°}»”£ÏªjU)WŸ•yà>>^JI1_?uªÔ¯Ÿ¹íÌmÜsDŸuº”” Z¶ìˆöí3÷“?NTdduêTS÷ß_['N\Ñûïÿ¦ß¿¨;שּׁ'®hùò£jÞ¼Š>üð.˺v­¥'îлïþ¦Ÿ>¥¦M+++ËÐêÕÇT£†Þz«©$騱tÍ›wÀj{­ZUU«VU5iR‚¶m;%Iš=ûw5o^YíÛwAQQuäHº22²Ô¼yíØqºÐýiܸ¢ÝÛµuŸœ!¿crôhºNž¼¢¨¨Šúõ׳š4)A‘‘âoó1ñòòаaÖg¶æìûö]T³f•táB†–/?ªG Q·nµóý\ókËÖcj2I£FEj̘êÖmµbbjÈÏÏK»vùãYOæÛD:tY<"IêÙ³ŽÞ^~ù8qE+z«}ûêvmÅCž'ä yâ(ä yBž'ŽBž'ä yâ(ä yBž'ŽBž'äIÙÈ“2?¸ïééY¬÷gffÚݾùy%{ÖHîö= xèHöm-²×oÑ¢…’’’´qãF­]»VK—.ÕèÑ£Õ¸qc-\¸ÛòGݺæŸ_•>ÿÜ|Qú_1û¬ é³ù¶o~€Iñ¶[˜Üíô œìÓɲ×oÑBJJ’6n”Ö®5?v`ôhóã .ä¶ü. [·ÚùÎê©zêÞ½ŽÖ­;®cÇ®¨F _=þx=EEU̳îã‡êþûkkݺ4¥¦¦+(¨œî¿¿¶š4É{÷‹‚¶×¦M5µiSÍjžÉ$ÅÅ5ÖÇ觟N*3óºî¾»ºÚ´©¦‡Z+Ÿ¼¿µoÏvíݧҔû˜ddd©U«ªºûîêZ²äÊ{¶¨½Ç$§Üý nÝ@ ¦ÐPëÛƒÙÒ–­Ç466Dwß]]ë××É“×tË-åÔ§Ïí:uêªÖ­;ž§ÝAƒê«qãJúí·³jÚ´¢ºt©-oï?3ÊU?KwDž'7BžÀä yr#ä ìAž'7BžÀä yr#ä ìAž'7BžÜüLF·¥“IsçÎUïÞ½US©xðÁµxñb¥§§ËÇÇÇ2ÿ¥—^ÒøñãõË/¿(**Ê2¿zõêªV­š~ýõW«vªT1ߦääÉ“6µß¹sg­Zµ*ÏIÑÑÑÚ¶m[ž«÷ók'**J;wîTBB‚êׯoµ~LLŒ~øáýøã–+÷£¢¢ô믿êâÅ‹òõõµ¬{åÊU®\Y’tæÌy{{ëwÞÑСCðç³6Ö¬Y£:¨W¯^Z°`Á«Ë1™L>|¸&L˜àìRÌÏ› 1ßÒþÅÍÏ ÿ׿lÿƒš¯þOO7_Áží¥—Ì·½ÿå)GŸUõêRµjæ“ rú£Ï*WŸ-°ýÎÍWÖç>) :ZÚ¶-ïÕûùµ%íÜi¾®>«˜é‡¤üóÊý¨(sÝ/J9ú¬®\‘þè³:sFòö–ÞyG:Ô|'lkÖ˜¯âïÕËüø'Š•$ÍŸ?ßám§¤¤Ø¼îßÿn>«íÃóþCY–]¾œ¥yóöë‰'¬OÉÊ2Ô²å· ö×Â…ÑÎ)(¢’þ}'OòGžÀ‘'ÎAžÀ‘'ÎAžÀ‘'ÎAžÀ‘'ÎAžÀå÷½8Spi,r ×Þ½{uêÔ)˼yóæéÌ™3¥^˨Q£$IãÆÓõë>ŸbÆ Z½zµZ·n­víÚY½çúõëš8q¢Õ¼I“&éòåË8p ¼½½%Iï¼óNžüìÛÿgee9|_ÊŒñ㥠¤qã¤üCêß_úàiæÌ’Ûfx¸´w¯”£ÏjÞ<ó xiû£ÏjÜ8)GŸÕ† ÒêÕRëÖR®>«ë×¥\}V“&I—/Kšö%óà~îüìÛÿÓgQˆK—2ôÏîÒo¿Y?ÛgÞ¼ý:sæš~øv'UàfCžpò€£'…<à(ä P|eî¶ü‡Ö§Ÿ~ª„„IÒ›o¾©:¨C‡Š‹‹Ó† $IS¦LQ»víÔ·o_IÒ˜1cÔ½{wµiÓFݺuÓñãÇååå¥&MšhÏž=Š‹‹SÛ¶m‘oûš6mš’““uýúuÅÅÅ)&&FÁÁÁš1c†öï߯k×®)..NÑÑÑŠŽŽ.púôé£ÔÔT=ZIIIºûî»•ššª¯¾úJíÚµÓ¼yód2™´iÓ&­X±BÇŽS5´sçNuéÒE5R||¼–-[¦ûî»Oo½õ–¥í®]»jðàÁZ²d‰êׯ¯sçÎiñâźí¶Û4nܸúTÜØ·ßš¯'N”† 3_- Õª%•+g¤NL”:uÊ;¸íðaéÓOÍW½KÒ›oš¯JïÐAŠ‹3KÒ”)æ6þè³3FêÞ]jÓFêÖM:~ÜüÜû&M¤={ÌïmÛÖüÌûüÚˆ¦M“’“Ííqqæ«ìƒƒ¥3¤ýû¥k×Ìó££Í?éÓGJM5ß.?)Iºûnó믾2׫‘#Ím}ÿ½ù„…:uÌ'<äÓg5hd~ϺuÒÖ­RÕªÒ /ä=‰`öléÈiãFéÀ©fMóI 11}…ðóóÔœ9픘x^¿ývViiWÔ±c ½úê (¼øyÀQÈŽBžpò€£'@ñ™ Ã0ŠÕ€É¤¹sçªwïÞŽª©L›««WÍ·Ò§ÏUfoË漢5k¦Ç{L}ûöÕÆååå¥>øÀÙekÖLzì1©o_ó­ñ½¼$ú,àP\¹ïb>ûì3Íž=[5jÔÐСCµgÏEFF:», `Ÿ}f~î}ÒСҞ=}p(®ÜwAÑÑÑŠŽŽvv€í¢£Í?JWîàâÜÀÅ1¸€‹cpàN\<¡W¾{Eý¿ìïìRÜäÈŽBžpò€£'…<¹1/gàŠ2¯gjæÏ3õŸ-ÿѹôsÊ2²œ]€›yÀQÈŽBžpò€£'¶qÈàþgŸ}¦Í›7;¢)ÀáV­Z¥#F8» ”Q;wîTíÚµ] ñÔ¼§t[ÅÛ4öÞ±Î..ä¥o_Ò©K§4¿ÿ|=üùÃ:yù¤³KÂM€ Îöå›­ÛÏ>6‹[¬”Ó)Z“²FaUÂ-oMÝ2U_ýú•:Õï¤Àòv+Gï[í µÕ"¸…ZÞֲПæuš«FP »Ž™$Íøß ]θ¬¿·ù»Ýï-m%ýûNž'önŸ<±Fž”^û!O ?&ä yâhä yBž'ŽBž'ä yâ(ä yBž'ŽR”ß÷J•*y{\¹(1“7MÖª½«ôbô‹Ør e~çúÕý¿Ýu&ýŒ*úVT‹à–3;Öë¨>MúH’¢C£Õ¬v3–ÔÇ›>ÖêäÕÑn„†´bi«i­¦êþßîŠ[g9ðÂÕ ©¢©M•§ÉÓ²Í~_öÓ«ÞP×]ååá¥A5T#¨†&ä yâ.<œ]À}Íße¾sA¯;zYÍ÷ôðÔG=>R—ˆ.yÞÓ!¬ƒÕë;kß)//-ص@’{G¬Õò†ÕêöJ·kÕÞU:å¼$ó—“É='[¾HfkÒFgÓÏ*éD’Íû`Ïvm‘}Lºã!«ùUü«¨}Ýö:~ñ¸Öí[—ç}íCÛ[½®[©®$éȹ#6o»¨Û÷òðR‡zÖŸË=õîQß Z›²V®þ?{wUÙÿü5€l" nˆ(î+j®™RZV¢i¹”•fif.aÙ]š•íY––-nY·¥fj·öÍ%wÍ\rË%ÜAQdûýÁÑq@†a`ßÏïãû(ιÎu>×5œ÷MkÎ9ñ€õse«±Ié¦<1§ö-ééÌÿg>>î>|Ýëk“vÿ^ø7Çþ³ÿÊöŸeÿ¡K.Šw `ÔÝ7=´?r?c~ÉØÔ®PwgwRÒR¨éS“‡WP߯>ÁUƒyÿÁ¬ß§uÇÖ¶4 ??®¥^£UõV|ñÈù>¯µs“CâõDžkýÃÛÇÑÁ1Çyy´É£ôiÚ‡þsûs6î,‘W#i\¹1jv`L§16=¶îßw'61–qÇñɆOðq÷áÌå3\O¿Î¨£Ì¾ékÉ\æØliϹ=|ºáÓ¬?¿‡ÔôTã·R‡´½µïµK]y)ìë]y¢<Éïù³)O”'EÝÿí(Oòžå‰òÄ–”'Êå‰òÄV”'Êå‰òÄV”'Êå‰òÄV¬¹Þƒ‚¬ÿB‰÷%G·[Ü/I´¸_:䵸_œiqÿ†óWÏ…·›7ÞÆo &¤$äøx¦6mrí+òj$‘ñ‘xºxRÝ«:.N.fm233‰ˆ‹ &1†ò®å©åS‹ 8}ù4eËÒ¸rccû„”NÆžÄËÍ‹ê^Õ­>o~dω[7jW¨mòþ¡œæ¥Zùjø—÷gû™í&۽ܼ¨ç[ϦçÏ–ýÇä_#þâzúuŽ^ý[BybNyRxc³å‰}ú·„òÄœò¤ðÆf wRžhq_lN‹ûRœhq?g%mq_J¦›ÿ˜”’áNøS)™”'%òDŠ+åIÉ£<‘âJyRò(O¤¸Rž”<Ê)®”'%OQ/î;X}¤>|˜ž={R¾|yÜÝÝiݺ5¿ÿþ;]ºtÁ`0`0rä}ûö¥B… Æm³fÍ2i“œœlržK—.ñòË/„‹‹ þþþtéÒ…~ø¤¤¤<çìæãñöö桇býúõÆ6“&M2žßßߟ;vйsgÊ•+‡»»;÷Þ{/ýõ—YûÄÄDþúë/ã±NNN9ŽûvcÊ­&k?—¢¶|ÿrÚ~Ø·ÝðåE÷©Ý9u§¡N†0 1ðÓ¶ŸŒí÷Eì£Ï´>øŽöÅùgj¼Vƒás‡mlös˜ñض¶eûÉít˜Ø÷ÝñÕŸç¾HbJ¢Y-Öô½1|#÷L¼†hüvc³6·ú÷ü¿<1ã *¿R×a®ÔW›¾Óû²êßUXò= ›w~Á™j¯Vã™ïŸáxÌÏ3tj¨±†§f=Å[¤Ù;Íp{Ñ Ÿ—|xrÖ“D\Ž0ißꃬ÷}°ìã±]>ï’㸭©ÉÚÏEDDDDDDDDDDDD¤¨8Ù»€cÇŽÑ®];Ê–-Ë¢E‹h×®§OŸ&,,Œ}ûöáââb²ˆI»víHNNföìÙtìØ‘Ó§O3|øpÚµkǺuëh×®={ö$33“ž={²téRÂÂÂxíµ×˜={6[·n¥G<ñÄüý÷ßî{èСL˜0~øýû÷s÷ÝwÓ³gOlls³¨¨(Ú·oORR3gΤS§N\»v™3g2hÐ ®\¹BXXX®s–}üµkט5k;v$**бcÇÒ¹sgf̘ÁàÁƒ3f cÆŒ!88˜cÇŽñÒK/ñÙgŸÑ´iS:ÄsÏ=Ç}÷ÝǪU«èÔ©“±}nwîß:nkj²æs)j¿ìü…Çg<ÎÝAwó÷S³bM¶ŸØÎÀÙÉÈÌ k£®¬ [il¿þðzþòašú7eÍËkò bÛ‰m<ûó¬8°‚ãwâSÖ‡)OaÊãSðåÅù¸óLY=…9ÏÎÁ·œ/36Í`ÌÂ1”u)˧½?-Pß'.žà³UŸ1cÀ jV¬ÉôMÓ™¹i¦I›[m ßÈCS¢©S–¿´œUq9‚q¿Ž£ë”®ìykÁÕƒs³ìã›ø7aùKË©[©.û"öñüœçiñ^ 6ŒÙ@ó€æü>òw®\»‚÷KÞ¬=¼–”´ [D¥r•X{x-ƒÿ;˜?þÉÎñ;ñ+çÇï#¿íû–Œ)¯š¬ù\DnÕnÿ<Û<Öô1kòX‰8ÿ²C˘»{.§bO‘–‘Fÿ¹ýéÕ¤}šö)h©"’剈؊òDDlEy""¶¢<[QžÈªX,î7Ž+W®0kÖ,î¿ÿ~5jļyó 4k?vìXNŸ>Íܹsyøá‡íþùg9r$;wî4;nðàÁ´k×€.]ºÐ­[7-ZÄÅ‹©X±bú~íµ×  M›6¤¥¥ÝvÌcÇŽåäÉ“,X°€ÐÐPÊ•+ÇøñãMî¤Ïëøùóç÷ôôdÞ¼yÔªU‹Q£Fѽ{w*Uªd<&11‘o¾ù†àà¬ڻŸ~ú‰¦M›òÒK/™<™ÀÖÔ–}.E)-#°ŸÃ(ãX†CPÕ«*tæ­Ô·jÒ>#3ƒçþûiéiü2ôjT¨‘5–]øòñ/éõM/>\þ!“úL29.új4_õÿŠ xùþ—ùdå'¬Ø¿Â¸ˆlmßñÉñü0è|ÊúðRç—x©óK¹Ž9#3ƒgx–ôÌt [„¿·?uüêðÓàŸX}põmç,ûø´Œ4¾°ŸÚµgÞy¿Ìàÿf×›»LŽËÌÌäÇç~ĵŒ+½š÷âÜåsŒœ?’—}ȔǧÜö¼…Q“%Ÿ‹HNæ=9¯T¿[ƒntkÐͦ}Šˆe”'"b+ʱ剈؊òDDlEy"wªbñXþ•+³î€îÚµ«Év___êׯoÖ~É’%888³U®\™F±k×."""ÌŽkÕª•ÉÏÕ«Wàüùóî»uëÖ·¢™ÿýï<ôÐCfûV¬XqÛ»öo>¾[7Ó ÝÅÅ…Î;“””Äüa²¯lٲƅýlMš4¡jÕªìÝ»—ÈÈÈ|Á5eŸKQڱȸHšTkb\ØÏÖ±nÇÛŸ¼x’f՛߳ÝWÿ>–ìYbv\ÍŠ5 ȃjÞÕ8寏­í»¶_mã¾%öEìãDÌ Wml\ØÏæâä•/¯Üö®ýìã›Tkb\DÏÖÔ¿)þÞþì>³›3±gLöÝx—qa?[ׯY9°âÀ ‹ë·eM–|."""""""""""""EÍîw¤««+fû½½½ÍÚÇÅÅP¾|ù\û=zô(þþ¦‹”·¶wvv ##£À}—-[6×ö·Ê>««+åÊ•³ø8KϾ3>**Êd»——ùcËüüü8þ<ÑÑÑT©R%ßõ¤&Èûs)j1ñ1ø–ó5ÛWεŽŽ&Û.\½À®Ó»0 1äØçÉ‹'IÏH79¶¼›ù£3™7Æmmße-ÿ}¼ù<~ž~ù:ÎÒã+yVâlìY¢â¢LÚ½ÜÌ'ýÊeõmU-­É’ÏEDDDDDDDDDDDD¤¨Ù}qßÅÅ…råÊOBB‚Ùtt´Y{///HJJÂÉÉvC(̾o=Oùò剋‹#>>>ß üyáBÖ¢fåÊ•M¶_ºt‰ÌÌL ÓEâì9öó»±zk›Âª©8Ê^ÔÏ^ä¿Ylb,éé&Û*{f©SÝNlxuƒMk)̾oVÉ3ëËÑW­[PÏëøì…öÊåM?ÿ‹ ÍÚf/êg/òCþ R“ˆˆˆˆˆˆˆˆˆˆˆˆHqT,ËŸýhúìÇóg‹ŠŠ"<<ܬý£>JZZZŽï¦Ÿ8q"y¾ó>7…Ù÷ÍzõêÀòåËÍö5oޜѣG[tü²eËL¶§¤¤°víZÜÜÜÌ^sœœÌŽ;L¶íß¿ŸóçÏÓ¬Y3“»öÝÝݹ~ýºñçzõê1cÆ ›×T5óoFU¯ªì?·ßìQìÃ7šµoêß”Ú~µÙ±—¸¤8³ý}ñýgö·ª–ÂìûÖóÔò­Åþsû‰¸lúÚ‰˜ø\†¹°ôŸ¥ëcî÷Eì#âr-Z˜=×é]\»~ÍdÛ²^ÝðP㯬pwvàzZÖïdd\$†!Â/˜çCAk)ŽŠÅâþ‡~ˆaaa¬^½š„„8À Aƒr¼Óû£>"((ˆgŸ}–+VGll,Ó§OçÝwßeÒ¤IVßu_˜}ßzžš5k2zôh–-[F||<¼øâ‹DFF湸Ÿ}|XX¿ÿþ;ñññ„‡‡Ó¿"##ùâ‹/ŒÂÏV¾|yÆÇÖ­[ILLdçÎ<õÔS8;;óÅ_˜´mÑ¢áááœ={–­[·râÄ î¹ç›×T9:8òå_’–žF¿éý8pî ) ¬9´†¯×ƒÁô²1 Ì~f6×Ó®ÓûÛÞì9³‡¤Ô$ÎÄžaÔüQì8µƒ·º¿eU-…Ù÷Í |7ð;œœè3­»Ïì&)5‰ýçöÓ{ZoZ¶&´ih¾ŽOLIdëñ­ôŸÙŸr®å˜9p¦ÙqÞîÞ œ=£ÑG‰OŽgÉž%¼ýÛÛT÷©ÎÝÞ0¶ ò ÂÓÍ“m'¶ŸÏÜms©æU ß ›×$""""""""""""R‹Åý   ¶nÝJ«V­èÝ»7•*UbèСŒ;–š5kâèhúŽs???þþûozöìɈ#ðõõ¥~ýúüúë¯,]º”¾}û°mÛ6 K—fÝqìææÆøñã¬EÓ‰'Ywʇ††¸ï[¾dɳ6O=õõxú;vЯ_?FŽI… hݺ5—/_æÏ?ÿ$ àöwgÿÄO0jÔ(ãñ‰‰‰¬Y³†!C†˜ãááÁÔ©Syçw¨R¥ ;vÄÛÛ›uëÖÑ©S'“¶S¦L¡iÓ¦4hЀ~ýúñÅ_РA‹Æ”WMÖ|.Eí±±lÔ2Ò2ÒhõA+ªÿ§:ßnø–ï~`ò~{€{êÜÃŽ7và[Η§ 1©3ìç0³6³þœ@H½þ~ãojT¨ÁCSÂk”=¿îI›šmX6j™Ù˜o•}|ÍŠ5Ç?úí£´¬Ñ’Ýoî¦E@ ³cZ×lÍÓ힦ßô~ø½ìdz?/W/;W""%òDDlEy""¶¢<[Qžˆˆ­(ODJ7-H¡JÏH·w "RJ(ODÄV”'"b+ʱ剈؊òD¤t+6å‘Òeuøj†ý:Ìøs£IhV¥‹.&=3•‡WòËÞ_8s„ø”xjx× o³¾ h9CÁ¾v%é _oùš5G×y5wgw‚«ó|›çi[£m®m£â£ðqó!¨b4z„n ºáêäjq½³¶ÏâãõYï·ªýqm9òŸ#ÆsÆ^‹å«¿¾bí±µ\ˆ¿@9—r´ªÞŠ‘FÒÀϲ÷VÕû¤žÅ¬W,[‘m#·Ý¶Í­ŸÙ†aødý'üyòOi^­9ovy“¯“ã,™kkû¶Å,\¸Ðæ}?~Üâ¶#GV`êÔ 6¯#//,~5G×ðï˜qqr1n_wlÏ/zž1ÆðDó'ÈÈÌàÿþï¯yŸg[?Ëë÷¾nÒO÷ï»›Ë_#þÊs{LB }~ìCrZ2>ô!­«·&&1†I'±*|<ø}›õ5i›’žÂ~@›€6$¥&±`ï&ošÌß`P«Aù®÷vïxŠNˆÎ:gZ ?ü1­Zs.îoÿñ6{#÷òÓ?ѼZóϽµ²?³.uº0´íPêûÕg÷¹Ý ]4”º¾uùuà¯Æ¶ù™ëüö]Ü穸*ìë]y¢<ÉåIɦÊâþ KÓ*MM~®âY€ ñ7¾˜Ÿ¹Îoß%ežÄþ”'Åÿ:QžHI¡<)þ׉òDJ åIñ¿N”'RR(OŠÿu¢<‘’ByRü¯å‰XÂÉôë×~ýúÙ¢+››2e S¦L±wró÷÷·w ÅR|J<ßýý«ÂWÅÕä«&û“R“¬ê÷zúuâSâqqr¡¬sY³ýËV²_”WÛ¨7ûœÁ“ƒsmw*ö•ËU¾m_¶~Çӭʹ”3ùÙÙÑ€L²Þ蓟¹¶¶o(ø ·2nW æù¶ÏÓ®F;“ãnmëãîCëê­ ëF w €Åõ.yf '.à•op ê^n^¼Ðîžlþ¤É9¿Ùò «®&òj$ž®ž4¬Ô!m†pwàݘyëýsþzÏém²-{Nk\Ûdû½µïefes]¾‹Û<w…}½+O”'–Pž”ÊåIq¸N”'¥ƒòDyR®åIé \º”L@€§½K±‰Ò6žÜìßÃÆgÉÌÌ fûï”y‘;C‘/îÛã´…¦´ÇZ%u*Tp£B7{—a3¥m<ÖÒ<ˆˆˆˆˆˆˆˆˆˆˆˆHiR¤‹û_}õ‹- aÆ|óÍ7&û“’’˜3gëׯ'66___î¿ÿ~ú÷ï³³³IÛÄÄD~øá6lØ@\\UªT!44”Ç{ ‡Ï÷ÁðÙgŸ±{÷n|||èÑ£}ûö5«óܹsL:•½{÷âââÂ=÷ÜË/¾Hhh(ééYïï~ã78räHŽã±ö¼–Œ)/–ÌáØ±cÙºu+÷ß?½{÷æ›o¾!<<777zè! „“““±ýªU«øñÇÙ¼y3-[¶ä³Ï>³ÉçjíœDBB*¡¡¿þ䓎´n]Ť͞=ÑÌ™ó/GŽÄb0hÔ¨ƒ5¦Aƒ fýíØÅ?äèÑË899Ь™/Ï?ßÔxçxNç‹MfΜ¹zõ: Tà•Wî¢rå²f}/ZÎâÅáÄÆ&S£†'Ï=ׄððË|÷Ý~ªUó`úôrOAΛט,‘×9ËС«íçÌyˆU«NóÇ'¹zõ:uëzóâ‹Áfí÷ï sç_0²îÜŸ:µ35k–/ðçZ9) –­Ûȃ>È„ عs'»wï6ÙwöìYš7oθqãhݺ5£F¢Q£FŒ1‚¶mÛréÒ%cÛ3gÎÌÛo¿M‡5jÕ«Wç©§ž¢gÏžÆø›Ï·iÓ&ž|òIjժŰaÃHII¡_¿~LŸ>ݤŽ}ûöÑ´iS¾ÿþ{~øaÌ•+WxðÁÙ°a×®]c„ 4mÚ4×ñXs^KÇt;–Îaÿþý3f 7ndáÂ…ôëׯ3lØ0ªW¯ÎСCyøá‡IMM5¶þùçèØ±#&L`„ 0ÀfŸ«5sVP®®ŽL˜ÐžÆ+²qãYbc“MöOœø7-[ÎáÔ©8 jÌ“O6`Ïžhš6ý/3fì3iûÁÛhÓæ'΋gȦ<þx}V­:EÆ߳~ý™Ï÷É';XºôO<Ñ€ÐÐ fÏÞO»vóHNN3é{È?èÓç7†mFÇŽþŒ½žo¾ÙÃÆgéÛ·£FµÈu<Öž×’1åÅ’9¬ZÕƒ ÚS±¢7ž¥ÿeìÙs§žjH¿~õX½ú4-ZüÈœ2i_·®7o½Õž ²þ?  œM>WkçLDDDDDDDDDDDD¤°éûµkצvíÚÆ;ÂoöôÓOsäȶlÙB»ví ¥I“&ôèу!C†ð믿Û;vŒ?ÿüÓøøÐÐP|}} ã믿fÔ¨Q&ç;xð .¤AƒtéÒ…•+W2kÖ,†j¬ã™gž!66–;wÒ²eKcßß|ó ›6mÂÇLJ*Uª”ãx¬9¯¥cºKç°I“&T¯^€£GrìØ1ªTɺ³¹G8;;3iÒ$¾øâ ÆŒC“&MHII FÆñÛòsµfÎ ÊÉÉêüóO´Ù¾ Îòúë›èÚ5ÿý¯§qûã×§M›¹ ¶šÖ­+ìÇúõg?~3]ºÔ`ñâGŒm{õªMݺßñä“Ë8yòy\\MÎW¦Œß~{¿±ýÅ‹I¼ùæfÖ®=C·nµøí·ãÌšµŸÐÐ æÏ5¶íÝ».õêÍ E‹J´i“õùå4ž[ÇiÉyó3¦ÜägCBª³dÉQZµªÌäÉ÷ÛwïD`àLž~z9§N ¡\9gBBª¹ß©“?NN¦ßS²Åçšß9)LEzç~nNœ8ÁÆ©_¿¾q8[÷îÝ©X±"K—.åÒ¥Kœ8q‚M›6Q§Nã"x¶~ýúðßÿþ×ìÆÅb777jÔ¨ÁéÓ§ÛÂÃÃÙ³g 64.ìgëÝ»·Uc³ä¼ÖŽéfù™Ã›µk×θ°Ÿíé§Ÿ`þüùŽÒ¶5Y2g…möì¬ÇÝÔØd»ƒƒgžiDFF&ßÀøÏ[Ûº»—!44ˆÈÈDV­:evއªiòsýú>œ>}Õ¸íçŸ0`@C“¶®®NV/*[r^kÇt³üÌáÍ{¬®ÉϾ¾îtíHLÌ5Ö®µì‰¶®É’9)LEzç~nŽ?@@@@Žû¸xñ"'OžäòåË\ºtÉìòlû÷ï7Ûæççg¶ÍÃȈãϧN0ÞÕ~ëñŽŽ¹ß¥œKΛ=þüŽéfù™Ã n¼/¾R¥Jfm³ÇŸ=Ö²¶&K欰?~åÿ×hþnùìmÙm²ÿùÙg;Íן½ø»o_ Ý»™ìóós7ùÙã ׯßxéSYÇW¯n^G•*Ö½ïÝ’óZ;¦›ågoV©’»Ù¶êÕËpêT\®ç³„µ5Y2g"""""""""""""…©X,î—-›µHŸãþ«W¯Ûe¿>00 &äÚgFFù{0»»{®u\»vÍ¢÷Þ[ÃÃÃ(ؘò3‡7KLL4k›ÝÇ­móËÚšŠƒ²e³oã㯛í»zõºIgžy¦M𸿨_N‹É–pwwÊµŽ„„T«ú´„-Æ”Ÿ9¼Yb¢ù¸²ûÈ©}~X[“Lff&ãWŽgÁÞt¨Ù~ HÏHgëé­DÄE°gôvŸÛÍæ“›™·gŽGþñW¡×¶ôߥøyøÑ®F»¼—`Ñ Ñ<4ë!â’ãÝq4ÃÛ7î³Ç¼‹XKybÊ)-”'ö§<‘ÒBybÊ)-”'ö§<‘ÒBybÊ)LÅbq¿E‹xzzrðàAŒ‹Ý.\àôéÓT­Z•zõêqýúuÊ—/Ott4÷ÜsÙÝôï¾û.III¹Þ;Í›7ÇÝ݃ríÚ5ãb?À¾}ûnsdÁ4oÞ¼ÀcÊÏÞìÀdffb0ŒÛvîÜ @ûöíÛœ³{³¿àpåÊzöìÉ÷ßOÍš¦,/hMÅAHH«WŸfûöHx ÐdßßGpï½ÿÿŸÕYµê..N„„˜>õáÌ™« ¸‚iÓîÇwß]µkϰsg÷ß_ÃdßÞ½æï”·[Œ)?sx³}ûb6}zî]hß¾šq›³sÖu’žž‰“L™²‹Ë—“yç»m^“Ìï‡~gÁÞfĤe¤1ûïÙÆŸ[TkA‹j-X}t5±‰±…^WtB4¯üß+øyø±eÄ–B?Ÿ=_9'—÷õ¼‹„òÄþ”'RZ(OìOy"¥…òÄþ”'RZ(OìOy"¥…òÄþ”'R˜òwk{!quuåƒ> ..Ž—_~™´´4’““1b©©©Lš4 \]]ù裈ˆˆà7Þ0¶øßÿþÇG}dÕÂ>dÝAþꫯråÊ^{í5222¸|ù2ï¿ÿ¾É¸-ÙbLù™Ã›]¼x‘O>ùÄøsdd$o¿ý6...Œ;Ö¸=00'''ã£ú·nÝÊŽ;¨\¹²Ík*†&(È‹/¾Øm\Xظñ,³fí§Y3_ã{Û_|±9µk{ñþû[9xð’±íåËÉ üiiÔ«çceÍñõugÊ”]8pѸ}Ñ¢p¶o´rty³Å˜ò3‡7ûê«=œ9sã]öS§îfß¾úõ«o|×=@:Þ@Ö£ú33áçŸãàpûkÔÚš¤`6ŸÜ @¯Æ½L¶;98ñ|ÛçíQ~~L ĤÐIv«¡(,Þ¿˜Ãч~÷ð¼‹sÊûRžHi¢<±/剔&ÊûRžHi¢<±/剔&ÊûRžHa+Ò;÷¿úê+-ZDBB$$$„W_}•nݺ1bÄÜÜÜxóÍ7Y¼x1µjÕâèÑ£xyyñË/¿Ð§Oc?Æ ÃÍÍñãÇ3kÖ,‚‚‚ˆ‰‰`Μ9tíÚ€yóæ1cÆ “ó}öÙg8::f¼C?$$„aÆѯ_?Þzë-ã¢ó‚ àÊ•+|ûí·¬\¹Òd?·ñÄÅÅåû¼–Žévò3‡ÙBCC¹xñ"T¨PƒR±bE~ûí7š5kflçééɸqãxÿý÷ çøñãLœ8777›|®Ö|V•Jhè¯DDd½6à?ÿÙÈwßígá”/ï¦Móâ‹kh×n.uêx“––ÁÉ“qôî]—©S;ãââøÿçÆ™M›ž`øð5ÿ—  /<<œ åá‡kñí·7îpà…œ8g<ß²e'˜:µ3aaëX·î µ¸ýǧX±â1üüÜY³¦O=µŒæÍçаa®]Kå®»*3bDsÞÙ¿’·O~Ï›Ÿ1å&?sx³±cÛú+ŽŽÄÆ&söìUž~º!Ó§?`ÒnèÐf,Zt„ŽÆÇÇ#F4·Ùçšß9“Ü]MÉú²F÷ v®Ä\ÏÆ=í]B¡ºp×~È—=¿äbâż)æ”'ö£<‘ÒFyb?Ê)m”'ö£<‘ÒFyb?Ê)m”'ö£<‘¢P¤‹û>ø ›Þ{ó#ÙŸ{î9 Ä‘#Gˆ¥bÅŠÔ­[7Ç;æŸyæÈáǹ|ù2•+W&00Ðä.ð:PµjU“ãjÕª…Á`0{·}PP|ðÁ¼öÚk:tWWW5jD||<éééxzÞxÏxnãIMMÍ÷y-S^ò3‡Ù>ýôSÆŽËÑ£Gqss£Q£Ff¯xçw6lgΜ!00??¿ÛÎC~j²æ³*(WWG&Lho²íæÅæªU=X²¤'±±É=zƒêÕó¡|yóG©T©R–_}„Ë—“ ¿Œ³³#µj•7k;~|;222?gïæ™ÆôìYǸÝÑñÆÜ4mê˾}ÏpäH,±±ÉÔ¬YžÊ•ËòÒK뀬/ä5kÎké˜n'?s˜­I_öî}†C‡.—BíÚ^øúº›µ«U«<‡=Ëáñ88¨_ß''ÒÒ2lò¹Z3gbêø¥ã,;´Œã—Žðõ–¯qr0ÿŸ~ ¸¿®e¯®ˆNˆæÏ“M9—r´¬Ö’•˜µ‹O‰g㉜;‹“ -ý[Ò¸òœÊ®-Ûð»‡ãhÈú=™¶u×Ó¯çZÀ–ðróÊwM¹™ºy*™dæÝp/ãÎà6ƒ-î{Üòqtkлïfé¿K->àpôaV…¯2Ù6¸Í`ܢ_"…Mybå‰HÞ”'–QžˆäMybå‰HÞ”'–QžˆäMyb剔tEº¸_»vmj×®}Û64h`ÙEh0nÛ6 €€€œßŸÛcî×­[ÇŸþÉÛo¿M›6mŒÛ÷ìÙ@Ë–-Ûn7žüž7[^c²D~æ0›ÉxsS¹re³GñÛâsµæ³*(''³÷ÉçÄÇÇ•6mªXÔ§·÷íÛvìèŸãö[ß1³–óÞ{̃¿gO4žžÎÆÇÓßn<Öœ7[^c²D~æÀ`€† óþV¡³³#M›úšl³ÕçZ9Ë$¥&1sûLmò¨ELÎÜ>“Ï7}NC¿†ÜUý.þú—wW¿ËÃõæ“ÐOpvÌú¢Ë_§þbØâa4¬Ôþ-HHI`ê_S©êY•¯z}E€×¬ùýÐt‚¡m‡âè”õÇäômÓy²Å“ÆþN_>ÍÒ—T!ˆ!m†ä»&{øeï/¿tœ©½¦ZÝÇÙ+gùíßßxªåS”w-oÃêDlKyR¸”'r'Qž.å‰ÜI”'…Ky"wåIáRžÈDyR¸”'RTŠtq¿$ˆŽŽfÒ¤I<òÈ#Åë¯¿ŽŸŸÏ>û¬+”;ÍßGñÎ;[˜>ýÊ”ÉzŠÃìÙûùóÏÞ}÷nœœ,²ƒHQ ªĨ£8xá '.`xûá¸8ÝxBÂå¤ËÌÜ>Ó¢¾~û÷7&®ŸH÷†Ýù¼ûçÆ'üöïo¼ü/Sų ¯ÝûŸ¬ÿ„@Ÿ@æ?9ߨî…v/ÐufW"¯Fà`VÛ­^lÿ¢ñ‘W“¯ÒûÇÞx»y3«Ï,Üʸ廦ÛÙa¤Es‘W#ùhÝG|ûè·V³3.9ŽÎÿÃÿ@»íl\¡Hþ(O”'"¶¢·›·Éþð˜pV…¯2>âiÚÖi ¸kwùßÅ]þwñbûÙvzOÍŠOÖÂW½¾ÊóœkŽ®á“ ŸÐ½awFueܾüðrêùÖ#¨BP¾jº[¿ã©YÕf4«ÚÌlûÒ—²*|íj´cxûá9[É££;ŽàÕW™¸~"ï®z—wº¾cÓEìEy’?Ê‘Ü)OòGy"’;åIþ(ODr§<Éå‰Hî”'ù£<‘¢æ`ïDDDò2¬ý0¾Ýò­Éö”´Þúã-G6~›qú¶é¬8¼Â¤] O õΦ¼¼pÑ¿&¸j0»M4Ù·üÐrN\:‘ïšJ¢!m†Ð³qOæî™ËÏÿülïrDlFyRô”'RZ)OŠžòDJ+åIÑSžHi¥<)zÊ)­”'EOy"–Òû""R(Ž_:βCË8›õÇ××[¾¦Q¥Ft­×•¥ÿ.5¾sèPô!¾Üü%µ*ÔâÄ¥Ä$Ä”šÄ—›¿¤UõV´«Ñއë?LL—>Ùð »"vÑ¿éé¬;¶Ž*žUøð¡ç á­?ÞbíѵԪP‹ø”xV‡¯¦ZùjŒ¾gômkkU½C!)5‰~ ˜¶ušÉ˜Ž^}X¸p¡Íû>~ü¸ÅmGެÀÔ©l^‡ˆ/…}½+ODîʱ剈؊òDDlEy""¶bÍõdõùlrçþ°aÃxå•WlÑ•ˆÍ͘1ƒE‹Ù» ¹C]ºt‰:uêØ» )áôX~)õ®]kʵkþö.CîXÛì]€ˆˆˆˆˆˆˆˆˆˆˆˆ”6YÜÿöÛoõX~)– 0Ðï§ØKêÖµw """"""""""""RÒ9Ø»¹=-ˆˆˆˆˆˆˆˆˆˆˆˆˆsZÜ)æ´¸/""""""""""""""RÌiq_DDDDDDDDDDDDDD¤˜s²w’»-[¶°jÕ*<==yùå—í\‘ˆˆˆˆˆˆˆˆˆˆˆˆˆˆØƒîÜ/d‹/fÅŠêcÚ´i|þùç6ªHDDDDDDDDDDDDDDJݹ_ˆ®]»FŸ>}pww'!!!ßÇ·oßžöíÛ³dÉ.^¼XŠˆˆˆˆˆˆˆˆˆˆˆˆˆHI ÅýBäîî΂ pww·w)""¥NrZ2‹÷-æï³s9é2iéi”u)ËÌÞ3XvhswÏÀÇ݇¯z}e·z KJZ 뎭cóÉÍœ»zŽr.å¨éS“¾Íúâ_Þ?Çc¯'2oÏ{RždQžˆœò$‹òD¤à”'Y”'"§<É¢<)8åIå‰y7‘‚øùçŸyçwHKK3Ù>yòdjÔ¨ÁÔ©S¹xñ"Û·o§S§NÜ{ï½DGGçØ×èÑ£7nçÎcÓ¦M„„„JRRRQ ED¤ØØ¹€¶5ÚšíkQ­EQ—c7U=«²à©&HT,[‘@ï@.']æjòUãö£²þØz¨û€ñI€ò®åéѨÿœÿ‡gwYý"Åò$‹òD¤à”'Y”'"§<É¢<)8åIå‰HÁ)O²(O¤8Ðâ~!©[·.&L ~ýúfûæÏŸÏË/¿Ìc=ƶmÛøüóÏ™7okÖ¬aãÆôêÕ‹ÌÌL“cΟ?O¹råX½z5“&Mâ÷ßgâĉ,[¶Œ±cÇÕ°DDŠ…¤Ô¬/5y8{عûr+ãFKÿ–fÛ323ˆŠÂ×Ã×ä½MŽorþƒû.ÿ»X|}á+RL)O²(OD Ny’Ey"RpÊ“,Ê‘‚SždQžˆœò$‹òDŠ=–ß&NœÀ›o¾‰ƒÃïWtèÐÎ;³fÍ6mÚdòÈýÌÌLÆŒcÒϨQ£x÷Ýw™1c'NÄÅÅ¥h "b;ù|ãçÆŸg÷›Íâ}‹ùóäŸ8:8Ò¼jsÜ5gGçÛ×÷;~=ð+[NmáJÒ233Òf3·Ï$üb8Ï,x³sw¬Õ‘Ú½g™™™¬ _ÅÚck‰NˆÆÃÙƒVÕ[ѧYÜ˸›´Ýzz+Ë/ç|Üy\œ\héß’^{áãîcÑ|<=ÿiÒ3Ò-jëåæÅ7~cQÛ[%§%óÙÆÏH¸žÀ”SLö‰9ã{œª•¯@xL¸Uç)LÊSÊë)OL)OD¬§<1¥<±žòÄ”òDÄzÊSÊ)­´¸_ÄÒÓÓÙ·oNNNÔ©SÇlýúõY³f »wï6YÜ÷õõÅÓÓÓ¤­««+:tˆãÇÓ°aÃB¯_DÄRA‚xéž—ø|ÓçìŠØÅ›+ß$¨BýšõcÏù=LÜ0‘Q˜òÈ”Û\2’¦UšÒ§iŽÄáÓ ŸòރÞ~8eËÏŸÏ ‹_ÀßË?ÏúRÓSþ¿ál<¾‘g[?˃õäüÕó|½åkæìšÃü'çãçáÀì³™¸~"Ï·yž.uº’ÀO»bÒÆI,|z!+7Îó|#;Œ4{*Knn“¥–XÂì³9}ù4+7fé3K©ë[פMìµXʹ”3;>û[·—“.çûÜ"…MybJy"b=å‰)剈õ”'¦”'"ÖSž˜RžˆXOybJy"¥•÷‹)ƒÁô›O7ßá³ì`ºµ½ˆˆ½y»yÓ&  ÞnÞ@Ö£‡žhþ÷Ö¾—ÎÿÃï‡~磇?­Œ›Yûε;Û‡…ÐÒ¿%5¼kT!ÈØ¦UõV¸8ÝxjI~þúfë7¬;¶ŽÑG3¼ýpãöÕZðÈ0aÕã·5çï™O‹j-x¥Ó+Ævët¦Ó7H¼žhÑùZWomqmÖhU½ËVäÌ•3ÌÝ=—ç>ÇG}D‡šŒmÒ2Òp0˜ÿoŠ“cÖŸ×Ó®j"ÖPž˜RžˆXOybJy"b=å‰)剈õ”'¦”'"ÖSž˜RžHi•óбGGGš6mJZZG5ÛèÐ!š7on²=&&†¤¤$“mÉÉÉœ9swww‚‚‚ ¯hèÔÉäçZ>µ8w.Çö÷Õ¹Ïäç»üïÂÉÁvßI[´o}šö1ÙÞ°RCjúÔdÍÑ5\M¾ €yöGîç·#5=W'W~xüø5°YMQ­|5:Ôì@ÿæýY:h)^®^<¿èyN\:alSÖ¹,×ÓÍÿ`LNMÀÃåÎ~o–” ʓ¥<‘;‰ò¤p)OäN¢<)\ʹ“(O —òDî$ʓ¥<{ÑûvðÚk¯Ñ¿Þ{ï=æÌ™c¼+óæÍ¬[·ŽöíÛÓ±cG“c222øâ‹/xýõ×Û¾üòK®]»FXXÎÎÎE:‘üªà^Áäçì?lR3RslïåêUhµ¤e¤y5ƒaKÃÌö_L¼HFfG/¥¥K>ëþŸnü”7V¾Á[«Þ"¸j0mÚÒ³qO<]=s8ƒ¹¢zÇ€“ƒ7œ·ÿx›ÿøŸñ®þ峓cvÌÅÄ‹&mDŠ3å‰òDÄV”'Ê[Qž(ODlEy¢<±å‰òDJ'-îÛÁOkµÖaÏž½ß{´gsÖgØsøðaõéÓGmÛ¶Õ‘#G´yóf=òÈ#š1c†½/ *g“³\]•—Ÿ§—º½tï6ñ÷¾vW¯^šÙg¦Þ|øM%œNЮ㻴âÐ -Ü·P û/T÷Ý‹}þõlýOVðæ=ùR²e[G¿ŽZöí2ý’ú‹úôµÚÿ—s¿H’Yß9ÀÍÑz…žÐÀ(ô„žF¡'ô0 =¡'0‹ûäÏ¡š0a‚žyæmݺUIIIjܸ±^zé%uéÒ¥ÈsG¥Úµkk„ Ú³g¾ýö[ùøøhâĉ ª +€ªÃd2éž&÷(þ·x5¨Õ@ͽš[=þeâ—Šù!Fï|_’ôº4£÷ ùxø¨£_Guôë¨!‡è¾…÷iÙ·ËJôfÒßñ´ê»UÊÊÍÒów?_ä±Ïü(IjR·‰eÛ-§»§¾LüRãî·þ„ì—Ǿ”{5wõ¾£·ásU=¡'€Qè =ŒBOè `zBO£Ðzã8Ù{€ªfÑ¢EÊÈȰü|åÊÕªUKnnnEö­_¿¾ž}öYEDDhܸqEö»víªÈÈHEFFj„ ’¤îÝ»ë•W^Ñ«¯¾ÊÂ>”ÃÄ ‰ªîR]onSi™i–íÇÏWdl¤êÈÙä,I:xò –|½DyæÂÛ8%žK”Ùl–omß Ÿ½Àïi¿kÁÞúöä·VÛwÿº[˾]&OwO=ÙþIËv÷jîzýÁ×uäì-?¸Ü²ýÓÿ|ªýÿݯ—»½,¯^5>PeГå–íô(z²Ü²žåCO–[¶Ó |èÉrËvz”=YnÙNOP&sIïIq£˜LЉ‰QXX˜Q3UjmÛ¶UTT”zöì©ììlùùù©C‡Ú¶m›½G»%]»cBŒ$þ~Â^)4TZ»v­áG>~üx‰÷;¶$é½÷Î>Ç$žKÔÛÞÐ/ç~QZfš:7î¬íhЃôôª§u2ý¤N_:­¶·µU·æÝÒ&¤Èþ&™´zðjË1&Ô»»ßµÚçþæ÷kt×ÑúûοëPÒ!}wê;Õ«YO-¼Z¨SãN:xò Î$(7?W¾êß®¿Ý9H’tøôa½±õ ýzáW5«ÛLùæ|¹|FÏvzV/ÝWx{¨U߯Òʃ+u1ó¢šx6ÑåìË:™vR}úhêCSKü=OFûéìOZz`©b‰•W /ùÔôQjFªN_:­ûšÝ§É='[neu½Õ߯ÖÜÝså]Ó[.N.JJKÒ讣5êÞQv¸ ÍÖÿ¾Ózr=zRµÑzRôÅ¡'ô¤,è ŠCOèIYЇžÐ“² '(NYþ}÷÷/ú÷¤¤XÜ7ØÐ¡Cµ}ûv=ýôÓÚ»w¯Nœ8¡¸¸8µiÓÆÞ£Ý’X܇ýݺ‹ûì£*þŸSöAO…ž0 =`zÀ(½¸Ïmù ¶bÅ ­^½Z 6Ô˜1côÓO?±°({P)((ÈÞcª~sÇâ>ŽÅ}‹û88÷pp.FdÅŠÚ¿¿‡l`‰$þ~Â^ëüy?{€JÎÅý-[¶hË–-F °ÿÿÀ>ŽË´÷¨ä Y܉‰QXX˜‡ e2™­¾}ûÚ{ܢƌ#{€JÎÉÞ€›cqgÈmù¨ŠŽŸ?®ùñóuàä]̼¨¼üô¤=ÁÍp[~бæ‡5ºœ}Y‘GªC£r¯æ®š®5Õ' ;dïñ*Ô¼=óÔ¡Q}úܧªY­¦½Ç*zRˆžåCO Ñ |èI!z”=)DO€ò¡'…è n†ßÜ '.œ$Ô°ï `fß™ªîRÝÞc•=)DO€ò¡'…è P>ô¤=ʇž¢'@ùГBô7ÃoîPŒÜü\I’«³«'±?ÞHåCO Ñ |èI!z”=)DO€ò¡'…è P>ô¤=ÁÍð›û6öä“Ojÿþýúþûïåååeïq Â¥e¦iá¾…Š;§Ó—N«†k µ÷m¯÷ŒP—¦]$I|ófíœ%IjàÑ@ï|_svÍÑáäÃÊ7çë.ß»4¡ûuôëhuì \Ђ½ ôeâ—:{ù¬j¹ÕRçÆ5¶ÛXµ®ßZ’´ý—íúÛ†¿Yž³ëo»4{çlÅÿ/g'g6 Ô”žSÔijI±û·y§M±×5 ÝÍ~dö_^If”¤œ¼-Ú·H[~Þ¢äôd¹¹¸©£_G=Ñþ µ’³“ó_žëŽÙw(/?ï/÷“¤z5ëéë±_—h_ÀQÐz…žÐÀ(ô„žF¡'ô0 =¡'¨ÚXÜ/§G}T›7oÖÕ«WåâRôåÌÏÏ—Ùl–Ùl¶Ãt`_©WR5è£AÊÊÍÒŒ>3tw㻕š‘ªwv¿£!k†èíÞo+ì®0 ¿g¸†ß3\ý–õÓ‰ '4-nš"‚#P?@‰çþE¸žùç3Zñä ÝÝønIRÊ• úh²s³5«ï,ÝÝänJ?¥©Û¦*te¨>~êc6 ÔC·?¤Ä×5jý(Å‹Óô¸éÙe¤þþÈßõÝ©ï4rÝHûtœ6 Ý IEöÿÏÄÿÈÍÅÍrM3/ªóüÎ%ºþ’Î(I‘±‘úâç/ô^È{êÔ¸“®d_Ñ>ÐÈu#µêéUº§É=y¾£¯-íPiÐz…žÐÀ(ô„žF¡'ô0 =¡'¨ú¸-¿}òÉ'úý÷ßåíímïQ Â½³û%¥'irÏÉ n,75÷j®yÍ“OM½µý-Ë8gõœÌ«™z«×[ l(÷jîj×°æö›««yW5-nšÕ±O¥ŸRDp„‚üƒT£Z µª×JóŸ/³Ù¬7·¿YìLaw…YŽ}_³û䤟þ·.f^´Éõ—tÆ}'ö©U½VêÖ¼›ª»TW½šõôúƒ¯«¹WsÃç*#zBO£Ðz…žÐÀ(ô„žF¡'ôU‹û›‰ý%V’ô ÿƒVÛ]]ÕµYWeåf)þ·x«ÇÜ«¹[ÝI’îð¹Cõ=êëÈÙ#J¹’"éÚíšœLN nlµ¯‡ZÕk¥Ïü¨3—Ï™éΆwZýܰvCIÒÙËgËp…7Wšð@ßúN“¾˜¤’°ÜÎiûˆí%ú”(PÕÑz…žÐÀ(ô„žF¡'ô0 =¡'¨ú*ä¶ü¹¹¹ŠŠŠÒÊ•+uìØ1¹¸¸è®»îÒøñã5pà@IÒäÉ“õöÛo[žÓ¨Q#%%%iúôéš2eŠeûÆRâãÈËËÓ‚ ´|ùr=zTîîîò÷÷WHHˆ† ¦ÄÄDÝÿý–ý n³Ÿ••%wwwËö„„µmÛVTçÎ…·©V­šåÇÇÇ«mÛ¶ª[·®eÛ_|¡Þ½{ßp“ɤ6mÚè…^ÐðáÃe2™”––fuŒÏ>ûLûöíÓŠ+téÒ%µnÝZ3gÎTÏž=Kôçžž®I“&iýúõºpႚ6mª^xAYYYzã7$Iþþþ:xð Õyׯ_¯}ûö)&&FÉÉÉÊÏÏ×ÚµkZ¢ëøê«¯ÊõÚÆÇÇkñâÅÚ¶m›.]º¤Ûo¿]&LÐsÏ=W¢ë`9y9ºœ}Yn.nªéZ³ÈãõjÖ“tíVQ׫íV»Øãy×ðVÊ•Ï8/OwO]ξ,Ij?¯ý g8qá„n«u›Õ¶Znµ¬~vuv•$™eì×§\IgŒ|(R¾Úðã ùçIR'¿Nz*ð)=|ûÃ%:'ßñ„ªŠžÐÀ(ô„žF¡'ô0 =¡'€Qè =Á­Áæ‹ûyyyzì±Ç«yóæiðàÁÊÌÌÔ¬Y³ªyóæiܸqš>}º^}õUuéÒEIIIнöé¢É“'+55UW¯^Õ¢E‹J}Ü‚}CBB´mÛ6Í™3GO=õ”ÜÜܧaÆéÀÚ´i“Ìf³}ôQmÞ¼ÙržêÕ«Ël6kâĉš;w®e{§N¬ö/X°¾žÙlVTT”Æ_ä5 ÑÖ­[5gÎ îǬýë_>|¸^~ùeÕ¯__uêÔÑÀaë— ˆ‚yžþy7N>>>òõõÕ”)S4`À}ôÑGúüóÏ‹<¯{÷îzâ‰'T«V-hôèѺråŠâãã‹9‹µ¥K—êСC1b„F%///ùùù)**J7¾ésCBB4tèPyzzªQ£F:zô¨BCCË|¥5bÄ 4HuêÔQ‹-´råJùúú*22RgÏÛÆ)ø„ãÎã;­¶çäåh߉}ªîR]÷7¿ßê±ìÜlýûô¿­¶M=ª”+)jÝ µê{Ô—$õº£—òÌy:”t¨Èy—|½D÷/º_yæ’}jÒVJ3cà¼@?\’äâä¢nÍ»iñÀÅ2™LÚ™¸³Èó[ =¡'€Qè =ŒBOè `zBO£Ðz‚ªÏæ‹û›6m’$=öØcVÛM&“|ðAeeeiÛ¶m–í­ZµÒš5ktâÄ õêÕK³fÍÒÚµk­n{_ÚãnܸQ’Ô§OŸ"ó½öÚk–cU”‚yyä‘"õíÛ×jŸë]«zI–Eùäää¿<çÖ­[%I½zõ*òØõ·Ì/ÎÝwß]ìö²^GiuëÖÍêgWWW)''G;vì(÷ñØÎÄ&Ê¯ŽŸ¦ÇM׎ÄÊÈÉÐo~ÓøÏÆ+5#USšb¹TZnµ4wÏ\}ê{e^ÍTÂé½òù+ªæ\MSzN±:vÏ&zmókÚýën]ξ¬´Ì4ýóûjÁÞ ·û'HK;ã”­SôsÊÏÊÉËÑù?Îë¿þ_™ÍfÝÛô^;^àè =ŒBOè `zBO£Ðz…žÐT}6¿-ÁoV÷ë×ï†û;vÌêç^½zi„ š3gŽž{î9ùøøyNiŽ[°oýúõK7¼Ülž‚ÛëŸ9s¦ÈcuêÔ±úÙÕõÚ÷’äççÿå9 îbPÜkY·nÝ›>·fÍ¢ßÍ"•ý:JËÓӳȶ‚s¦¤¤”ûøÀ­ÀÍͬ˗mþy®"|<|´éÿmÒÂ} õÖö·tæò¹WsW{ßöZùäÊbß$Õ¨VCSšªéqÓõݩŸ§;Þ©ŸúXý:Zöó®á­ C7hѾEŠŒÔéK§U»zmýOƒÿÑâ‹u_³û$I?$ÿ Ð•¡–çµy§Fw­ Ý'¨å¬––íý>ì§[>¨°;Ãô· ³Úÿñ6kn¿¹z.æ9Åÿvín)6hCÂõlÕSqÇâ,û·œÕÒrü’Î(I«Ÿ^­Õ?¬ÖËŸ¾¬äKÉrsqS³ºÍ4£Ï ºse·#q‡F¬aµ­àµ›Ñg†Âî ³ÇX¸ìl'Õ©c»OIÓzRô¤r¡'…è =AùГBô„ž |èI!zBOP>ô¤=¡'([÷äÏl¾¸Ûm·I’vîÜ©   =çÌ™3Ú°aƒúôé£eË–©k×®>|x™[°Ð\’…`'§k±ÍÉÉ‘‹KáË“––Vìþþ’’¸Ù< æ×g”‚Eý‚Eþë•u¼´×QÚ×¶À¹sçÔ²eK«mçt”lŽÎÓ3_ÿýoµ¿ÞÑçv÷Ô¤“4©Ç¤?ÇßÛ_ËžXV¢cGôˆPDÅJ{ßöJ|=±ØÇJ»½$3•eFIjÝ µ¦õšVêãW„à–Á7|Màx.\pRÓ¦Wmv|zBOʃžT.ôÄ=q,ô¤r¡'Öè‰c¡'• =±FO =©\è‰5zâXèIåbëžü™Í?64`ÀIÒîÝ»‹<öÍ7ßÈÉÉI?ÿü³e[vv¶  ©S§jÓ¦MêÚµ«^|ñEíÝ»·ÌÇíß¿¿$iË–-Eö?~¼-?7lØP’”””dµßн¾5jHº¶`-I#GŽÔÓO?]ì¾ æÙ¼ys‘Ç ¶ìc”‚¯$(¸=³Ù¬øøø2³´×QÚ×¶Àž={¬~ÎÉÉÑ®]»äææ¦àààÒÜ‚üýst옫Ìf{OÀ–Ìf)1ÑU-ZäØìô¸5ÐF¡'ŒBO…ž0JEôäÏl¾¸?xð`=þøãš={¶–,Y¢³gÏ*##C±±±zâ‰'ôâ‹/* À²ÿ¨Q£ÔµkW 2D®®®Ú°aƒ4h èäÉ“e:î3Ï<£G}TK—.Utt´RRR”––¦%K–hñâÅzûí·-Ç}øá‡%IÓ§OWjjªRSS®¼¼âo§Ð¡CIÒŽ;túôiÅÆÆê¸ékR0χ~¨¨¨(¥¦¦êôéÓš6mš6nܨ!C†ÜôëÊbذaêܹ³þñhÉ’%ºxñ¢’’’ôòË/+++«LÇ,íu”öµ-°qãF}òÉ'JOO×o¿ý¦¡C‡*99Y‘‘‘–»¸¹öí³t劓Üì= JHpÓ•+N ,ÛÛK‚ž·zÀ(ô€Qè £ÐF©ˆžü™Í÷œœ´~ýzÍœ9S‹/V³fÍäë뫈ˆ…‡‡+::Z’´nÝ:™L&-_¾\sçÎÕ‚ $I=zôÐÉ“'•’’¢&Mš¨gÏž¥:®$9;;kÓ¦Mš={¶>üðC5mÚT-Z´Ðš5kôù矫oß¾–}¨Y³fiß¾}jܸ±ºwï®6mÚX~ó½]»vêÒ¥‹eÿ_|QƒÖСCÕ®];=üðÃ6l˜ÒÒÒd2™4~üxI×~sÞÏϯÈ<Ë—/W“&Mäïï¯Ï>ûL‹/ÖŠ+,ǯ^½ºÕ1ºuë&I ²Ì4~üxyxxÜôÏÁÍÍMqqq1b„"##uÛm·é¡‡R›6môä“OZæºÑyM&“víÚeuÌÒ\GY^Ûï½÷žbccÕªU+èÇÔÒ¥Kõúë¯ßôš È‘¯o®¶m»y+ìåƒo>PËY-uäì½rV-gµÔ»{Þµ÷X@¥³u«‡5ÊU@€í>)JO€[=¡'€Qè =ŒBOè `zBO£TDOþÌd6—ï¦ &“I111 3j&T°Q£FiÉ’%úõ×_Õ¼ys{c1nÜ8ÍŸ?_ÇŽSË–-Ët “ɤèèh«pi̘1òððбõ;IDATÚµk ?öñãÇKµt´—V­ª­]»þ+wwîT5™™&=ð@S=óLº^zé¢MÏEO€ªž0 =`zÀ(ô€QÊÓÿ2Ÿ×濹Ç C‡YmËÏÏ×Î;Õ¬Y3‡ZØ`¼ÁƒÓ•“cÒ’%uí= X²¤®®^5iðàK6?=ª6zÀ(ô€Qè £ÐF©Èž\Åý[ÌèÑ£uøðaeee)11QÏ?ÿ¼õî»Ün¨ê¼½ó4vìEýãžJJªfïq(9ÙEK—z꥗.ÊÛ;Ïæç£'@ÕEO…ž0 =`zÀ(ݓ뱸 Ù´i“:tè §žzJ^^^êØ±£N:¥íÛ·«ÿþöÏâàÁƒ2™Lš?¾$©U«VêÖ­›§ª†gŸM—Ÿ_®ÂÃ}”›k²÷8 ›kÒk¯Õ—¯o®† I¯°óÒ ê¡'ŒBO…ž0 =`{õ¤‹û·€€½ÿþûúé§ŸôÇ(==]±±± ¶÷hV:uê$³ÙlõÏW_}eï±€*ÁÅŬ Î(!ÁMS¦øØ{xë­z:|ØMQQgäâRqßßFO€ª‡ž0 =`zÀ(ô€QìÕ“,îÀ-¦U«½ûnŠÖ¯¯¥… ù¾' 2[¸°®Ö¬©­¨¨µnSáç§'@ÕAO…ž0 =`zÀ(öî‰Äâ>Ü’‚ƒ34ujª¢£½4i·„*›Ü\“&MòQt´—¦NMUpp†Ýf¡'@åFO…ž0 =`zÀ(ŽÔ»`Wƒ_RÆy7®¾~ÿ½šfÎL‘Ÿ_®½Çð’’\^_‡»éý÷ÏØõdzTNô€Qè £ÐF¡'Œâh=á7÷àœ¡˜˜SJIqQïÞMå¥ÌL>5 8¢ÌL“¢¢¼Ô»w¥¤¸(&æ”ÝßH^ž•=`zÀ(ô€Qè £8jOLf³Ù\®˜LЉ‰QXX˜Q3†1™LŠŽŽVß¾}í= nQcÆŒ‘‡‡‡Ö®]kø±?nرrsMZ¹²ŽÞ{¯®ªU3+4ô²z÷¾¢ví²eâ½%`7f³”ভ[=´n]-]½jÒØ±õì³érq)×[8›¡'€c¢'ŒBO…ž0 =`”Šê‰¿¿™ŸËâ>ª4÷ao•eq¿ÀùóÎZµª¶Ö­«­ädyxä«U«Õ­›'77Ç|# TEÙÙ&]¸à¬ÄDW]¹â¤Fr5pà% |IÞÞyö¯Dè àè £ÐF¡'ŒBO¥¢{b÷Å}À…††VšÅýë9âª~¨®ÄDW¥§;);›ÞÅÍͬ:uòÕ²e޳cï‘Ê…žöCO…ž0 =`zÀ(Ý».îòÉ'åy:`Sû÷ï×í·ß.ooo{‚[XãÆuï½÷~\[/îÀXv]ÜØ‹û•Ky÷ œØ‹û88÷pp,îààXÜÀÁ±¸€ƒcqÇâ>ÎÅÞʦAƒöÄd6›ÍöÜ·åÀÁ±¸€ƒcqÇâ>ŽÅ}‹û88÷pp,îààXÜÀÁ±¸€ƒcqÇâ>ŽÅ}œ‹¤µöÜØÿý¤’­zLIEND®B`‚fio-3.39/examples/dirdelete-ioengine.fio000066400000000000000000000006461476262051600203150ustar00rootroot00000000000000# Example dirdelete job # 'filedelete' engine only do 'rmdir(dirname)'. # 'filesize' must be set, then directories will be created at setup stage. # 'unlink' is better set to 0, since the directory is deleted in measurement. # the options disabled completion latency output such as 'disable_clat' and 'gtod_reduce' must not set. [global] ioengine=dirdelete filesize=4k nrfiles=200 unlink=0 [t0] [t1] [t2] [t3] [t4] [t5] fio-3.39/examples/dirdelete-ioengine.png000066400000000000000000001307321476262051600203240ustar00rootroot00000000000000‰PNG  IHDRïü9kqXbKGDÿÿÿ ½§“ IDATxœìÝw\×ð³,}é]¥‰ Å*`[,X0¶ˆ%úÄìFQCl1jìbÃ}¢ÄØ}*j@  ¢¢(Š PªH‡eßÇp]–…]à÷ýä“Ï0;sæÜaVÎÞ½s‡#䘂¬€¯@o>€¼Co>€¼Co>€¼Co>€¼Co>€¼Co>€¼Co>€¼Co>€¼S”uÿºwïÞ¬Y³Ø}}}‡*ÛÈ!!!Ë–-cüõ×_»uë&•” ¦ ‚ÿýï.\xõêUqq±–––‰‰‰­­í¨Q£ôôôd@•al>È KKK??¿/^„……………%%%±/ùûû÷ïßýúõR,ZË–-ýüü"""˜ÓÓÓ%K@ºªy6j™L²ÍËËëٳ瀶mÛÆãñ|||FŽyçÎéÓ§?}ú´63ŒÍy¡££ãîî®®®^ný£G~øá":w›[ÇŽ¥ù«ŒŒŒŒŒŒ¸\nUw$¢ôôôaÆ1ËûöíkÚ´©A*ªþÙ¨M²ÊvåÊ•!!!DÔ«W¯   fe÷îÝ7n\; Hzó@Þ5iÒÄÌÌ,11±Q£FVVV²NG\EEEaaaÌr^^ž´ÂÖ­³!«l?Î, 0€]©§§wõêU[[ÛZK@ŠÐ›òNGGçñãÇ=²··×ÐÐu:2V·Î†¬²MNNfŒ…×wèСÖr.ôæ€,egg\¿~=77×ÜÜü?ÿùO¹ *}mPPÐöíÛ…Wr8œýû÷'$$”––îܹ³E‹_Ì(++;{öìùóç_¿~]VVfaa1`À€þýûs8Ñ™‹Þqûöí`7?~<ÇÓÓÓcÇŒKv\ÑOå½zõêéÓ§Ÿ={–ŸŸ¯§§×¶mÛï¾ûÎÂÂBÌœË_²dÉëׯ/]ºôîÝ»Æ>¼_¿~ÂÉT<ÃÛ·oOHH`^577ÿþûï+f[Õ£TõD8qbÓ¦M¹¹¹ìAýýý…7PVV¾xñ¢ðš¯ž7¹ ‘/^0}¦ Ë–-;qâD=ÔÔÔ˜JuÆ  55544TUU•YyôèQ@ ¼rÀ€žžžÇgºì£¢¢Ä‰,233ÝÜ܈H]]}çÎ{÷îÕÔÔ$¢þýû±yòx<ᣋ³c||ü_ýÅVÝ{÷î ½~ýz•Ž[Q¥gC äåå1SÊp8œ¥K—žÈ†AFF½yó†YÉçóSSSk'²‰‰IJJ )**º»»³/ýüóÏ©©©Âk$Ø‘~ˆ˜9aæÌ™cllüã?гûÅ‹…g’a0[i>VVVÌ5l{…—{÷î-qc¿tÄúÝ•;Š89ÏŸ?Ÿˆ"##…›/Nü¯ž·ê·@Z0o>È—Ë]²d ³|úô鬬,":|øp~~~íDVPPX»v-³|äÈ‘gÏž1Ë/^\·n]çο_Ì ôõõ™å·oß*))‰¹{×®]…çÍ=êÜßß_II‰iïû÷ï‰èòåËoß¾%"kkëE‹IÜØJÕÜïN˜˜9¿~ýšYHNN.,,¬Ò!¾zÞ¤Ñ)‘ñSx a[¿~½®®.éëë·nÝzÀ€fffL¥Ú¬Y³1cÆüóÏ?ݺuSPøwн½ýÌ™3+®ìÖ­[rrr•"3›?~ÜÁÁˆ”••Û´icgggeeµgÏæÕJ.ÎŽŒ€€UUU"200hÚ´©““Snn®ø»W$"Ÿ›7oº»»s8]]ݶmÛ*))ñx¼I“&¥§§³»Wµ±þþþÌ.DÄápºuëvþüù¯žá7~)Ûªå«'*99ÙÄÄ„ˆÆ'A+Ä9oò€#øøô*™())‰ÍËË377755ŒŒd‡x«««[ZZÆÆÆ o¯££Ó¸qãr+‰¨S§NL×¹˜‘;tèÀn™œœœ   `bbbjjÊ>‘5--­âÑÛ´ióÕYyyyOž<ÉÏÏ766nÞ¼y¹W¿º{9_Í''''>>¾  @WW·yóæŠŠ•L­)~cÍÌÌØÁï [[[¦÷œ*œá¦M›¾zõŠˆöìÙ3a„J³­ø»ûêQ¾z¢²³³_¾|Ùºuk‡#A+ÄTÙ»wïÙÞ|>ŸÿË/¿0]ù3fÌ@W>€Ôal>TYjjêüqøða%%%##£/^¤§§ÛØØÌž={Ê”)_2ª ½ùò3íÈ;ôæÈ;ôæÈ;ôæÈ;ôæÈ;ôæÈ;ôæÈ;ôæÈ;ôæÈ;ôæÈ;ôæÈ;Ūîð×_ÕD sfff...²Î*ÁUÛé¡T@¶†zôèQYg•¨òØ|" >|¸ÔS6l˜¬S€/¼ùò½ùò½ùò½ùòN’§à‚¬{öìÙµk×RSS•••mmm{ô衪ª*¼ŸÏ¿|ùòƒÊÊÊZ¶lÙ¹sç 6°¯:99yzz~5ÔÙ³goß¾Íî5þüû÷ïGDDYYY 8PEEEÄAÛ´iSSí¨/Л_?effN˜0áÔ©S<o„ 111óæÍ3119pà@¯^½˜mâããøøñc…1cÆ<þ|É’%ÑÑÑÌ«“'O?ÔÛ·owïÞÍ,_»vÍÊÊŠÏçÿùçŸeeeÖÖÖzzz"Z{ç nÂL;õÓ!CN:EDË–-Û¼yóåË—5j”’’2hР'OžŸÏ¶¶¶Ddll{ãÆ´´4uuuggçíÛ·kkk³[[[?xðàòåË<-[¶üùçŸ---™WÙq÷â„jܸñ/¿üR1™>}ú”[Yñ k׮ݰaCµÎ@}Ç~Ì©X;p8AAAǯ¡„ Ö\¼x‘Ïç÷íÛ—]Õ¡C"âñxUHê´aÆÑÑ£G«'55óæˆ£Y³fâoŒyó®‹/Μ93//]óçŸ2 ³gÏFW>€üÀL; —‹‹Ë±cÇZµjåé驤¤qýúu55µ ,]ºTÖÙÀ'èÍo¸¾ýöÛ!C†DEEÅÆÆ¾}ûvÈ! ,pww×ÔÔ”ujðôæ7h§C‡Ì\ù ·0o>€¼ÃØ|/……œ°0õk×Ô=RILTÊÉQ(+“uN)(–V™™Y‰ƒCQ—.ùݺ嫪 dQJŠâ?ÿðnÞT{üX9#ƒ›—‡oëAލ¨´µËllŠÛ´)ìÞ=¿uëBYgô¯û÷UCBÔ££Uã㕳³ŠŠ8²Îà¯ÌÀ€ogWìâRУGž‰I©¬3"Bò u€P§H@¶uG ¨ÚŸ7‡4|øðJdbذaDtôèÑjÆIMMÍÍÍ•lßvìÐ=rD+7WÁѱ°mÛB ‹2”» 7ÊÊ(+Káõk¥èhÕT54ÊFŽÌ™2彦¦Ì:3žŒÜ\…”î£G*7oª*xxäÍš•ik[,«|P§üC ÔizÖ¬Y3ñ7ÆØ|½²2:vLkÝ:=€||²†Í10àË:)€¯ÈÈàþý·ÖÞ½Úÿ­9o^æ·ßæÔrFV–† zGŽh·lY´qcjÏžyJJ¨qAÞ=|¨rð öüùF‡i-]šÑ²eQí'°l™ÁýûªƒX»6­ö¨ª’Îå˼€AƒÌFŽÌž=;SG§V»Q§A]„: @¨ÓªJ&uÆæ‘LÇæçä(̘aró¦êèÑ93fdjkc¬ Ô%ÙÙ ›7ëý÷¿Z..…›7§hiÕÒ­:uª‰‚Í›÷ÎËKfcg$óø±Ê²eúwî¨Í™ónÊ”¬Z;îŽ:ë×ë·o_°té;;;|>„ºD  '4×­Ó/+£íÛSÚ¶­¥™P§A†: @¨ÓªªúuZ•Ææ£7ˆd×›Ÿ äãÓ(/³sgŠƒþ`C]õè‘ÊäÉ&<ž`÷îdsó’š>Ü™3 ¹¹å¯_Ÿ†›µ¡ŽèÀíU« þ°bEzMX,)á,^lxò¤æ¢EcÇf£cê¨Ü\…9sŒ®_W_½:mÀ ç6ê4¨P§Tê4 T§N«Ro>¦9™IHP:´‰ºzÙñãoðê4‡¢ãÇߨ«— Ú$!A©F¤5gޱ·wööí)øˆu‡CãÆeïÚ•Ì›:Õ„_“óvðù4uªIp0o×®äqãðê0 ²íÛS¼½³çÌ1 ÒªÑc¡Nƒzu@U¡N@­Õi’ŒÍ¯¡T@¶LMM«Dü±ù99 Æ™ª«—¾USC¥ õAA¨QóóŽMª¡[¹oÜP›0¡Ñ´iY3fdÖD|€Ú÷àŠ·w“aÃr–.ͨ¡C,[fpô¨Ö¡CoÑ# õÄæÍzþþ:{÷&»ºÔD|ÔiPÿ Nê4 HP§ÕøL;ýúõkÞ¼y•ö‚ºnãÆmÛ¶íÖ­›¬šò¿ÿýÏÔÔ4$$¤šqÄìÍ/+£ñã?®tüø#£Òj@~¤¥)Ò¤Y³’}ûÞJýak¯_+ bÚµkþúõ©ønê“ 4fÌ0öóK5*GêÁµüü 7oNíӧƧ%¨5Í™c|õªúñãIRž9uÔW¨Ó$€:  ª$¨Ó0o>H‡Ã™5kÖ† dÔ”Zž7ÿèQ­Å‹ pã6ÔK© ÒdÅŠŒaä\ïŽß(#ƒû÷ßoTTjvæJ€Ú·aƒÞ¾}Ú—/'J·ë0-M±gO³ñã³gÏÆ0I¨oŠŠ8C‡610àïÛ—,ÝȨӠC ÔiUUÕ: óæ€\ËÍUX¿^oìØ|D„zÉÁ¡h̘œuëôrr¤ùGöòe^x¸úÒ¥ïðê¥~xodÄÿýw=é†ýýw}}}þ´iï¥@¨¨~ý5#<\ýŸxR ‹: ê7Ôi@PU5T§1¥@´íÛuù|òõÅ×ïµ'??âĉ•¾4räÈÖr>õÞôé™§OkìÜ©ûãï¤ϧß~Ó0 ×Ù¹FæG†¯º|ùòÞ½{™å9sæ899É6ŸúGYY0þ»~07.[Z³¦>x rú´Æ¶m)è[©MyyyaaaÑÑÑ)))999šššÍ›7ïׯŸµµµ¬S«‡Úµ+0 wÕ*}w÷<.W:1Q§ÉDLLLhhè›7oRSS•••-,,ºtéÒ¥K<µ®& N«Oø|þáÇϟ?/”••÷ïß/ëŒê'ÔiõIaaáéÓ§#""Þ½{§¡¡Ñºuk///YçUÕDÆÀØ|¨U……œ#G´&LÈÖÖÆÕjOiiiä¼}ûVÖÙÕCÚÚe&diJçCø•+¼„¥™3Ñ·"YYY‹/fß5ïßcQèÝ;ÏÞ¾èàAmiCV?<þ¼OŸ>‹-ÊÌÌ=zt“&M~ÿý÷ž={†††Ê:µúIºu có V……©çæ* *ýçç@xx¸¿¿?ijjîܹ³â{öìQUU-·ÒÌ̬6’kx†ÍÙ°AïêUu©T¨gÎhtêT õçÍ™3'%%…ˆ¾ÿþûÞ½{WºÍªU«²³³k7¯jøðœÕ«õW®ä(+Ww”VQ'8˜·p¡tÆ]‚°ÌÌL___fyÍš5¦¦¦ìKÙÙÙJJJÔÒÒ"¢îÝ»s8œ€€€²²²M›6yxx´lÙR6I×_%;œ9£Ñ½»þÜ N«9"ê´ôôô–-[îÚµ‹‰ß­[7‚‚‚èèè9sæ8p@6×k¨Óê uÚÙ³gçÎ;|øp;;»cÇŽÉ(Á†uZ ¢N+((˜0a›7o”””¶lÙ¢¡¡Ñ³gÏðð𸸸~øáìÙ³VVV2ʺޒnÆÂØ|¨U×®©;:ðeH=ôîÝ;fLÊ;w*ÝÀÙÙ¹c7®å<¾£cáÕ«êÕ%еkêÒýó¬{÷î1oœÔÔÔJ7?~üø”)Sj9±†©Gü‚…¨¨òß;J *Jµ @¡GüꇂrŠ‹‹Ù[Uòó?;ÃnnnLW>£cÇŽìòÇk/ˆ¤Gü«WÕÒ˜¨uZÍ]§ :”TÇÀÀÀÕÕ•Y¾qãÆ—þTiÔ¨ÔĤT*‰˜ ÊÍ»*==YPVV677¯ÅLÔirNœ: jê49'¢N+++{üø1³^]ýÓIìrqqñ³gÏìíík3á†@Šu ½ù’(,,ܳgdz7ßÌÌÌÌÌLCC£°°°¦sƒÚSXH{ö'no¾™™™‘†5ìËàÃŽ–ž«&}#GŽÔÕÕenRSS›9s& }客¢2uêTföƒ^½z92::úîÝ»¾¾¾‡–aæõ˜–VÙ‡R¸õ!7Wˆ45ñÆ‘²¦M›Îœ9söìÙiiiDäîîÎÌǪ««Ëlpÿþý?ÿüsÉ’%&&&èͯ5šše99Rxã|ø €wMMèÒ¥‹žžûU±···™™YÅa\§OŸÞ½{÷óçÏ‹‹‹ gΜ9lØ0Ü VC˜K]JoÔi5BtVNIIÉýû÷™eooo55)Œ‡ŠP§É¹¯Öi ¨Ó䜈:íÇÅÅÅÌzEÅO½ÁÂËxôzMbÆBo¾$ÔÔÔbccqûIC§¦F±±„Ë Šø|—+ë$꣖-[>þœYVTTž§˜ˆTTTæÎËþÈår MDQQQQQQÎÎε™mÁåŸÏ©~&—+Õ™ö€HGG§cǎ죡---…ß8¥¥¥?ýôS«V­¼½½e”`Åå øÒ˜²›ÏÇ»¦F˜››+++³?:::6oÞ¼âfNNN</::zÿþýééé+V¬xûöíÌ™3¹(js©Kë/~E5AtVNPP36¿sçÎóæÍ«ü$ÔirNt²‚:MΉ¨ÓJJ> `!¼Ìv÷ƒI±Nc¡7_B²Nä.¨³„ïÚŽŽŽFo>@9þþþÏŸ??uêF鿽V IDATH qãÆ7îÑ£Gûöí}|| ýýýUTT~øáY§ ×"""V¯^ÍápÆ·páBá!“ãñxì2_è;áeMM)Ì?µ Nááá‹/f–ÏŸ?¿ÿþàà`.—ËÌ<¨¢¢BDܳgµjÕŠyl]ddäüùó‰H[[ûÔ©Såâ\¸paß¾}çÎSVVîׯ߄ JJJ¶lÙråÊ OOOvhÞÍ›7úé'fùâÅ‹ì·^àÌ™3§NJLLäñx:uúÏþSî9`DTPP°uëÖððð’’’Ž;NŸ>]OO}5$$䯿þJHHPUUuss;v,û<ŠznútЉùw¹W/úùgš;—îÜùwÍÙ³ôñqÛŸ„‡ÓÇ_?Oû÷Sp0q¹äâBÓ§“Š ÑÁƒ´gQ«VÄ<½02’æÏ'"ÒÖ¦S§Êǹpöí£sçHY™úõ£ ¨¤„¶l¡+WHCƒ<=‰¡yó&}¼ èâEb¿üèÌ:uŠ‰Ç£Nè?ÿ¡ —ÐÖ­N%%Ô±#MŸNB—…„Ð_QB©ª’›K ä2€Z$ü}AžwP^@@€ššÚ²e˘óóóÙ—Ö¯_¿oß>''§9sæÈ(;€:ÃÃÃÃØØ˜™øøØ±cèÍáÌ™3 .ÔÒÒÚ±cž3R¤¦¦Æ–dEEŸÜ-¼Ü´iSdUW'‡›ÙÚÚúùù•––†……M™2%++ËÇÇÇÎÎnþüùßÿ=³M×®]ýüü"""˜©$ˆÈÚÚÚÏÏ/99ùúõëãL:5??Ê”)zzz'N\´hј1c¸\îäÉ“•””F½mÛ6f¯æÍ›³{••ý;ÏWII‰——×!Ctuu}}}ûöí»k×.;;»ÈÈHáÌKJJX\\ìããÓ½{÷õë×·mÛ6!!yuýúõ½{÷Ö×ן>}úˆ#N:ejjz‡íÑ®ß&L // £÷ïiÈ"¢±c©°ÈÏ>Þ^÷[[òó£ÒR £)S(+‹||ÈÎŽæÏ§—uíJ~~A/²¶&??JN¦—Ágq¦N¥ü|š2…ôôhâDZ´ˆÆŒ!.—&O&%%=š>^Ô¼ù§½>^TRB^^4déê’¯/õíK»v‘}~PI HÅÅäãCÝ»ÓúõÔ¶-}¼ hýzêÝ›ôõiút1‚N"SSj —Ô˜õë×3ßb²„'ǃ¤*Ú³gÏÎ;g~Ä<±áéé9sæLOOO¦ Ÿ6mÚTn%;r…}˜!”SPPðË/¿Ìž=ÛÙÙùìÙ³lWþ¨Q£>|(ÛÜ ~èÔ©³“óé‰÷ì²¥¥¥‘‘‘ Ò‚ª«“có ÜÝÝ™aï®®®“'O&¢þýûߺuëÈ‘#<ÏÂÂÂÂÂBxjN===wwwMMÍwïÞUÇÇLJˆúöí¼zõêÀÀÀï¾ûŽˆúôésáÂ…€€f0‘¾¾>»kåÊ•§NZµj;lРAVVVC† yöìû䢴´´‰'Ž1‚ˆ<==íìì<==§M›vöìY"Ú¹s§««ëÊ•+™hiiùáÇ;‘ò¤m[jÛ–’“é÷ßéÄ ²³£«WIW—6o¦/MÞi`@îîÿ{wu¥É“‰ˆú÷§[·èÈ  ,,ÈÂâ³zzäîNššôñ2(ÇLJˆ¨o_ ¦Õ«)0¾ûŽˆ¨OºpˆS¦¯ÿi/ÖÊ•tê­ZõiØþ AdeEC†Ð³gÄ>À*-&N¤#ˆˆ<=ÉÎŽ<=iÚ4:{–ˆhçNru¥— H––Ô@.¨á[…˜…1cÆLš4©K—.OŸ>MLL4h»ñÝ»w™•nݺÕrªòƒ}ã0ßП8q",,lãÆå¦Ÿbž ÍhÞ¼9fn…†Løî.æ³råJƒÉ“'?{ö,22’©u¯_¿f–›5kVË©ÈuZddäÂ… ß¼y3o޼ɓ's8Ÿ¦ÖŒŒÌÎΖAºòáKušL“k"ê4ooofßÛ·oÙm’’’˜…1cÆÔn¦ ¹:96_Xß¾}Ùe[[["b?0TIŸ>}˜kkká5ŠŠŠÖÖÖ¢ÃîÝ»—ˆ&L˜À®166îׯߛ7o.\¸À®är¹ß~û-ûcÿþýõôôΟ?Ï”hM›6½}ûv`` óÜ 55µààà6mÚHМºjÕ*ê×/¦E‹hÇ:|ø‹]ùå]dkKD$Ñe@餠@ÖÖŸ­QT$k믄ݻ—ˆHè2 ccê×Þ¼!¡Ë€¸\º ¨ÒÓ£ó物ԛ6¥Û·)0˜Ç¨©Qp05¨Ë$eeeÅ,|øð¡  àñãÇ7oÞdGDž?ž½[(**꯿þb–çÏŸoà¡!c»ÓÒÒˆ(88XxR¨HWWWGG‡YNKK+**:s挒’³&"""00Y.((X¼x1óžRTTüñÇe’0€<Q§;6!!A__ÿêÕ«ÞÞÞ£„È4eÙCPU"ê´víÚ1ý–iiiaaaD”””tëÖ-"rqq=z´ì²†ª©“có… wBihh¤`žž^YY™Ëåêêê ¯¶¤¤$11QEEÅØØXx=óÉçÏŸ g[îAF¦¦¦™™™ ­Zµ:xðàÂ… 'Mš4uêÔN:yxxŒ=š}6 H:Ðo¿Ñ‰$~Û…û"™ö%{·ðôôÊÊÄå’Ðe@Êʢ–”Pb"©¨Ðç—1Ϻ ÈȈÊ=ÏÊÔ”23)!Zµ¢ƒiáBš4‰¦N¥NÈÃF®Â©€¬E‹Ç?zôhYYYÿþýsrrFåàà@DcÇŽåp8>>>&&&Dôòå˲²2[[Û™3göêÕKÖ‰ÈÒÔ©S£££ÓÒÒöíÛ–‘‘±ÿ~á ?~¼|ùòŠóæO™2¥k×®µ.€àp8 ,ðóó+**š;w.ÇkÔ¨sKë¸qã4557mÚ´}ûvƒ—/_æææ*))¹¹¹MŸ>½uëÖ²Î@fDÔiÌhý´´4¦¿X"ê´ÔÔÔÙ³g;wqII óXïÞ½ÙI˜u-Z´ÈÜÜ|ûöí“&M²±±yýú5—Ë8qâ¬Y³¸bަ9Pç{óEãp8ìÔöŒšxØ£¢¢"ÓÝ_TTÄ<ƒ—ÁL>%üØhá‡K0˜‰t˜m ÷ìÙãïïûöísçÎmÚ´iùòåÇŽcïh²³©¤„tuiî\êÚõ³gÃJŒÃ¡Ï/ª‰g~**þÛÝ_TDB—1s ]Tá2øw"fCCÚ³‡üýéöm:wŽ6m¢åËéØ1jP—HjÕªUóæÍKHHàóùfffì÷®®®®®®|>?###55U 4iÒ¤âcº –-[^»víÅ‹YYY666å¾woÒ¤ÉÌ™3+îÈŽ²h€† æééùüùó‚‚ö™iÎÎÎÎÎÎ 333%%¥¨¨H[[ÛÌÌLø¦o€ëKuÚÁƒÙéw*bn@h˜DÔiÚÚÚ•VhDTnœ%@Có¥:1zôhooïׯ_gffjhhXYY•ûøò¯žÿÂtuu322Ø _¿~­Zé#U«ÃátëÖíÒ¥K‘‘‘]ºta×GEEq8wwwv óÁ†KD©©©III5bÞZžžž&&&nnnnnn¾¾¾Mš4Ù¸qcêÍÏϧÁƒiÝ:ÒÒ¢¾}iØ0 .?Œ]ºº$tPa!½~]ù“u«ƒÃ¡nÝèÒ%ŠŒ$¡Ë€¢¢ˆÃ!¡Ë€23)%…>^”šJIIÔ¨1ÿÂzzR@™˜›¹¹‘¯/5iB7¢7Ĥ§§§÷…¯Á¸\®±±1ª[€r¸\®Í—^ÕÒÒÂ,ù©©©µlÙ²Ò—8޾¾¾¾¾~-§ ÿ*­Ó:tè “dê„/Õiªªª¨Ð¾DDFDÇÒÒÒÒÒ²3iªó󿋿ääôìÙ³Û·o3?.[¶¬†îYµj•ªªêܹsÓÓÓ™5ëÖ­»ÿþ¤I“ìììØÍgÏž]XXHDÅÅųfÍ*))Yºt)ó¤£ðððÕ«W—––2ÇÆÆ fºž†âûïià@2„zö¤?þ š3G aœèÙ3úxвeâNÇ_U«V‘ª*ÍK/Z·Žîß§I“Hè2 EEš=› ‰ˆŠ‹iÖ,*)¡¥K‰yàUx8­^M/Š%€ÔeÔÉÞüØØXww÷ððp"êÝ»÷ž={ˆÈÝÝyâÖĉúé'fËß~ûÍÖÖ¶sçÎNNN¶¶¶–––666ÙÙÙîîî»víª'..ÎÝÝ=22’Ïç3cbbÜÝÝïÝ»WPPàîî^n.]–““Ó?ÿüSRRbaaѾ}û&Mš,[¶ì—_~Ù¶m¹»»ÇÇÇwëÖÍÆÆÆÙÙÙÄÄäôéÓkÖ¬™2e dÕªUÁÁÁ7vqq±··ïß¿¿··÷š5kjü„ʃM›ÈÙ™þþ›BCéåKÊΦãÇII‰¶l!77:x°’]bcÉÝÂɈz÷¦={ˆˆÜ݉yðÚĉôñ2 ß~#[[êÜ™œœÈÖ–,-ÉÆ†²³ÉÝvíª$N\¹»Sd$ñùÿŒ‰!wwºw Èݾp“ýó•”…µoOMšÐ²eôË/´mQP¹»S|<S·ndcCÎÎdbB§OÓš5ôñ2 U«(8˜7&²·§þýÉÛ›Èe_P'gÚ155õóóc´°° "á5ì½-Z´xøðáóçϳ²²ììì455Û·oÏLUonnn``P.N¹5VVVÚÚÚÂkÊ݇¢ ðéëWW×èèè„„„¤¤$uuu{{{v†PWWWfj —qãÆÅÆÆòùü–-[ª««³¦M›6mÚ´´´4f: KKKMMMÉNQÝÓ¯±F32"ee:íôù$_ÿ25ýl "úl {w‹ôð!=NYYdgGššÔ¾ý¿SÕ››“Aù8åÖXY‘¶ögkÊÝŽ$t«+EGSB%%‘º:ÙÛ;Q¬«ë¿ÈUQ!7Žbc‰Ï§–-Iè2 iÓhÚ4JKûw: KKj8—|AìÍ×ÒÒžŒžQq ƒËå6oÞœý±}ûö¢÷±füøñk×®e–ß½{gll\ñ‰^æææçÆ133333cTSS+—†0###öH ˆ •› ï ¿ÐO´´*ÙæK{q¹$tP¹ó/NvÍøñôñ2 wïÈØ˜*>ØÍܼ’¹qÌÌHè2 5µòi32¢xÀÔÉ™vd%**êĉD”5`ÀYg²E'N%$PTá2€š‡Þü*˜2eÊܹsœœ=<<~ÿýwYg²0e ÍKNNäèH„Ëj^œiGV|}}}}}eÈš¯/á2€Ú…±ùò½ùò½ùò½ùò½ùP¹³g“¬­OX[Ÿ°·?%«€Ϙ]ÜÜÎK%€š¶dÉ=æ¢?þº¬úøÜdv™;÷¶Tr¨Qéé…Ìkm}âÞ½÷2 óžÝåõë¼êçPÓP§Hu@U¡N“CèÍ€ú ?Ÿß£ÇEŸ›²N¤òœ›hžž¦ññ^®®†Â+«ÓœJŠ6q¢M|¼—¶‡ƒ¯zðà}»vgwî|*ëD*!Ϲ‰¶|y›øx/.—#¼²:Í©4 h»w»Ü½ë)Á±@3gFu휕U,ëD*!Ϲ‰`h¨ï5{¶}¹õ7çKEhÕJ7>Þëûï›UõX y®…ä97ÑP§Õ{ò\ Ésn¢¡N«÷ä¹’çÜD@&‡%ØgêÔ©sçΕz* çvíÚõ÷ßË: ¨)ïÞ½³±±‘u’ee‚²2¬©„<ç&ºÒœV­NÛÛëu•u"rM ø÷?9$ϹI N4'&潗וiÓZÌ™S…Úº*+äõw)ϹI N4ÇÇçfhhJ\Üà*uå44ò\<Èsn¨+ÍA&y.ä97 Ô‰æ N“<òœ›êDsêk&Io>4Lòÿ.…†ŒÇS ýFÖYTNžs“@=kN׺µnt´œŽ ’çÜ$PÏšÓÀmÙÒAÖ)|‘<ç&zÖœ†Lž‹yÎMõ¬9 œ<òœ›êYs8y.ä97 Ô³æÔ-’ôæoß¾}øðáROä‡Ã™ÕÂk.^ì¹aÃã›7Ó™¹ó¢¢úëê*‹(qKEìðlõê‡DtçÎ;këDÄårââK|¬újÅŠû÷?'¢Ö­usg×?{–³m[Ü­[éYYÅzz*;ùúÚ _™OždoÝú$""ãÇ##5ã3ìôõUÊÅ\º´õªU1eik+õìÙxá–jj\6È•+)[¶z”UPÀ·±Ñ:¾ÇWJÖRÑ»0w¡‘¿œ¿¹º8ÐYâcÕK99%íÚe–÷îuíÚÕ˜Yæó¾8vìõË—¹ÇÆFsÄËáÃ-9ïèåóûöÅŸ8‘ðêU—Kvv:ãÇ7ëÓ§I¹˜»v¹Ü½›yüøëJ¬­µæÍ³ws3bþáCÉÄ¿ÍÊ*nÒD}ÄË¢"þƉÈÜœwò¤G¹ÜÄ,"½/;6œùK'BppÏfÍ4¿ô*ÛœììbssÞøñÖ¢OµðšmÛ:Þ½ûîÿ{“–VXV&غµcŸ>E”¸¥"va&=`6kÑâ$³päHW''}ÉŽU_¡Nc¡N#ÔibCÆ@†:M|¨ÓX¨Ó¨¾×ix .Ôy½z5Š÷êÙ³‘ðÊôôÂÁƒCÏœIZ²ÄñömÏcÇÜÕÔ¸cÆ„ÿõ×kfƒ´´B/¯+çÎ%ýúkë»wvÉÊ*:4,::³\Ì+bÆ·¾q£ï¦MÎ7o¦ÏšÅåõë¼aÃÂbbÞoÝÚ12²ÿï¿·ûóÏLáïõÛoí*æ&fdÑé}I\Üàøx/ÿ‰þˆ(Üœˆˆ~¿þÚfëÖ' ù"NµðšÅ‹ïmuíÚ7ÇŽ¹3ÓÒ}5 d-½ ó@655nûöúL«Ùˆ’ÕújñbÇøx/MM%á•‘‘^^Wó÷ìq½{wÀÖ­cb² ‰Íf6¸u+ýÛoÃ’“ è|÷î€ß~k’òí·W˜®6fZZá¾}ñëÖ9EDô›0ÁæÐ¡›6=frîÜŸ›JJ Ç»_¿Þ÷ûï›ÍŸ·¬LÐ¥‹Q|¼× Afs3²èô*åä¤/ú]ï%ú#¢ps®]ë3|¸å?ÞžNDsóž­\Ùööíþ‹;ŠP²–ŠÞe÷n—'܉hÚ´L«Ùˆ«¾ÒÒRŠ÷úùçÏ>´óù‚©S#~û-fÈó«W¿ùçŸ^Ý»›,^ýã·Ù &Mº¹ví£#,¯_ïséRo{{m_ßÈ}ûâËÅܺõ‰Ö¥K½Nžô(((:õVFF¤¸¸l̘ð  WÓ§ÛÞ¼Ù÷¿ÿ휚ZpèÐK"úûo÷Þs3²èô¾äÀÎ_}ãˆøˆ(Üœ7úîÝë›uút¢ˆS-¼fݺG-ZhŸ;×ãÚµ>M›jˆP²–ŠÞ…y ›‡‡ ýýe?"JpVë+Ôi,Ôi„:Ml¨Ó¨ÓP§‰u uÕ÷: ½ùP?­[›””¿x±c÷î44›6ÕØ°ÁÙÐPuÙ²ûÌŸÆuë½y“¿hQ+wwuu®Ö¦MÎà×_ï— 5|¸EÛ¶zjj\77#wwãÞ¿_üñ(rrJ–,qìÜÙˆ ²aƒSA_Ì$EG3=)*ל-´Ö¬iŸ–V æî“'7ïØÑ@MM±ukݸ¸ÁººÊâ” ¥Ÿ™œÕ:¤¬L°`ÁÒÒ²-[œtÔÕ¹íÚémØà”—WúÓOw™ .¼[ZZ¶y³³¶º:×ÍÍhéÒÖIIùÛ·Ç ‡z÷®Èϯµ™™:§8a‚µ¾¾JXX*óŸ/X±â¢¢ÂæÍZ´ÐRW纺úú¶óá,""‹ŸžUlNçÎF£G[‰ù¼¼Ò5kÚ7k¦©¢ÂýþûfçÏ÷' -•øäÈä¬Ö-§N%†„$n9~¼µžžŠ‘‘ª¯¯í7ß49y21$$…ˆNžL K:ÔbìØf::ÊÆÆªK—¶¶·×^·.63³H8”³³~ÿþ¦<žb³fš£G[åçóoß~Ǽtôè뇳FŽ´5ª©ŽŽ²‰‰ÚâÅŽ©‰™¤ˆÈâ§'EåšÓ¸±ºŸ_%%q?˜ôêÕxÈs--%ccÕK—zõéÓXœ€´Tâ“#“³Z· N“ê´ušP§ê4  N“èÍ€úéâÅ·DÄ|ËPVVpu5,,ä_»–JD—.%+(pºwÿ4|ÉÐPÕÆFëáì””Ï>Æ8:ê±ËÌŸäÔÔ7¸z5•ˆºvýt==++ 1“Yüô¤¨bsŒŒT™¯ÓÅѺµ®%h©Ä'G&gµ‰‹ËILÌoÑB»qcuv¥­­¶‰‰Ú£GYoßæÇÅå$%åÛÙi7iòiC"ºt)Y8”™OGG™YæpÈØX5-­ùñɓ촴Â-´ŒŒTÙí;t03I‘ÅOOŠ*mNÇŽâ6ÇÂâSsÄ(AK%>929«uKÅ?7DÔ­›ûs¢zôø´‡C:ñ¯]KÞËÑñÓ¿¢©“Ð…°°"êÒÅHx{fx‘8DD?=)ªØ§ ÿ8:êHP‚–J|rdrVëÔi@ÖÀ¡N“ê4@&Ôiòóæ@=T\\öáC‰Š —Çûì_9U"JO/d6 ¢6mÎTÜýÕ«\“O_¤kj~ ¢¬Ì%"fpJqqY^^©Š W]+¼»¶ög·ÄŠ "²øé «Î|¬_j޾¾ÊË—¹¢ÂžSÌ€´Tâ“#ñŽ 3²â$›ªÉÉéé…99¥Dôða3Ñ­°¤¤|>_ÀܹODŸ½õ””Ø!K™™ÅD¤§÷ÙQxíÒ傸å]·nÆôñ>eFzz¡˜#¤D“JzUU±9ïß¿|™W£%h©8»¨©)–””1˽z]:rä•dÇjPZ´Ð23S‹Ë~ûöÓðž<ÉNI)ppÐiÜXÝÖVÛ‚÷äI63zŽ5aÂÙ³£*Ä«œ­­¶‘‘j\\{ç5EFfT?©¤'ÁA+6'*JòæˆP‚–г 3y㤥Z[Ÿxù2W&gµn©øç†ˆ®\Ie_úæ›&DñÙ©û÷ßÛØœxþüƒ˜GùøÏé§›‚j]i,©¤WU›CDwᆵр´Tœ]TUˆ¨¸˜OD‹G3ï ™œÕºušP§5p¨Ó$;(ê´ušP§É?ôæÿ+99™Ãá4iÒD։ЪU«öîÝ[n¥ü¤W?Ž<ÌñáxxË6·YoýNû…< )·^NÒ«ëæÍ³75U_±âAHHr^^éË—¹³gG¥§.Yѯ' IDATâÈ a˜7ÏÞÜœ·`Á°°ÔJ²²Š~¹ukÜO?µ@мy::ÊË—ßOËÏç?}š³`Á]æ›Þêç_ýôª~ÐÏšÿaΜ¨r÷_K= -g—/s““ ¢£3òœõ%;Vƒ¢ ÀY½º½¢¢ÂôéQeð££3gϾÍã)®ZÕ–ˆ8Z½º]I‰À×7266»°ÿömþ²e_pàÀóãÇ^¼ÈåpÈÆFkÄË#,ÙÏö|¾à¿ÿ}ñ÷߯_¼ÈURâXZjŒa9rdSf{ûSìç½öíõƒ‚ºŽu©¦Æ‰HD¹¹¥üñèÂ…·YYÅææ¼ï¿o–ž^¸yó“ãÇÝu+ÍMÌÈ¢Ó«!lsÞ¿/jÒD}äȦEEü‘¹9ïäIÑÍ¡ ÷G‹Ò[tKcbÞ{y]a£1§Kœ““ŸÏ_²$:,,•ˆúôiìç×FQ‘#ÎŽÒ%­ú uê4Ôi²ŠSê4)B&E¨ÓP§¡N“€8õU³fÍĈÞ|¹ó¥Þ|Ùªg½ùrâK½ù2Q§{óåMïÞ— ùW¯~#ëD@ÆäüS¢\IO/tq9ïåe¾vm{Yç2&ÏŸåÍ’%÷~yåÊ7¦¦ê²ÎdLž{óå ê4` Nê4`¡Nê4`I½7¿öž‚{ïÞ½ÐÐÐ’’’–-[~óÍ7‡zñâµk×nàÀÌ6ÉÉÉÁÁÁoß¾ÕÖÖîܹsëÖ­™õOž<9rä³¼xñ⸸¸K—.q¹ÜN:9;—v¹˜Až11‘ÇãuêÔ©cÇŽÌú7n\¼x‘ˆ´´´æÌ™síÚµÈÈH>Ÿß±cÇnݺ oS\\œàççGD K—.-—yÅô*®JgLêÊe]¼Ÿt_EQ¥‹M—öí—YV&(#¢!í†8š:2›=|ó0ìiXvAv#íF½ì{™êš2ë/<¼pëÅ-"2Õ5ØeâåÇ—ï¾¾«ÇÓëeßËBß¢Ü±Ä òŸÎÿ y[”k¤ede`%_8Ú“”'Wâ®dåg™êš¶3ogߨ^tK™í3ó2 5 »Ûvoføï{/0"ðiêS"r4uìïØÿ\̹§©OÕ”Ôz;ô¶5±e·¹w…ˆ®>½êwÚˆ¬ ­ÆºŒ-×|qW¥3Ò•ž^اÏ?ý˜/x‰())ïõëÜÁƒÍe›€<;{6éôé¤]»:±k˜a€ÂC2 œÞ½/¯_ïÔ²¥ócY™àÖ­tSS>"| ê4  Nê4¨Mµ1o¾@ ˜:ujÛ¶m;–––¶oß>ÿ+>¼víZKKË;vdff^¹r¥]»vß}÷]Qѧg9rä×_ݸqã?þøæÍ›£GvèÐaÍš5YºtéŒ3###ýõ×üü|ö¥ÒÒRvã 6XXXlÙ²%##ãÎ;Æ kÖ¬Yhhè—Z*¼}DDD·nÝ<<<ÒÒ>=çaÇŽëÖ­9räŠ+RRR®^½êîîîééYPPðÕÓ(:½J'ΓºÌ¼ÌοwäËȤ÷I³ŽÌšqxƲ³Ëþ{ë¿ì6…%…£vrüÕñòãË™y™{Ã÷6[ÔlmðZá8«Ï¯Þ}m÷ؽcÜ<š“úû…ßí–Ø…= «jÿ+þ·ÜuuWFnÆñ»ÇýCýÙ—®°[•Ý;Öa©Ã¹˜sïóߟx¾ýŠö®«]“³“+m&³½ýRûs1ç2ó2Þ>Úüçæ¾¾ü2>›Þ¯g~Ýyu§Ëo.ßù;5'õÏ:,u`:ÒôDNœ35$;»xñâèää‚‚‚Òû÷3gμ­©©„i D MþóÏçYYÅ99%—/'¯^ý°uk½Le€\ûå—ûgñ_¿Îûé§èׯó-j)ë¤äê4  Nê4¨5µ16ßßßÇŽ&Lسg³æ¯¿þ1b„ŠŠ 3ˆçÏŸÿÝwß:tˆüèíímff¶fÍ[[[??¿{÷îÅÅÅ¥¦¦ž;wŽˆAëÖ­ýüüfÍš¥¬¬\¥ ùùù!!!L•+W¶k×®sçÎÌKlÚ‡ž3gÎØ±c÷ïßÏD[¾|¹££ãýû÷=<<*6“ÙÞÛÛûÀ DÞµkW//¯ððpWWWWWד'OÞ¿ßÑÑqÑ¢EÌ^kÖ¬Y°`ÁO?ý´qãFf›uëÖ™››³g†ˆ„3ópÿgï¾ÃšÈº€ßz“Þ‹tiK•& Š‚¸bEÙµ ¢"úºk]Åºë® bÁŠ‚bo¨€ ¥ˆ€4Ò¤÷Þ’|Œß„Ћç÷ì³Orç̽g†Äœ™Lî0¹ÇÃê+«c²c./¿¼Ôx)Ö²6h-™BVSövø¶Qž×=¯¿¿~Úå´»…;ÖâvÙíÏÐ?5¥4gjÍ´›hg7ÑÎ7Ü7>7~‡ým„жÈm‘Û÷pŸÅ&‹^uò!ÿîY»æèÌA­µZû ù¾ˆ6mÏëžWb®œw=¿ÂlÖò–ôÖìYi]©ä8ÉΛ‰ÅŸ]zÖÍÜ k9øøàŽ;;Æq;àt`±áâ™Z3…zžöüõŸ¯Í”ÍBd Ùé”Óž{&ËNž£3g±ábUqUÿ7þæªæøžA1H¯»á˜Üc`0ˆŠr^¾lvõj΢EoJK›Çc35óñÑ—•…oàè–­­Ô¡Cz¡¡y§OgÖÔ´IIq;9É­[§ÎÆ60J>mxéR¶—WÜׯM¬¬„É“….]2…+%`ê4úê4úê40”†âŸã“'O"„¶mÛ†·ÌŸ?_N7:t!ô×_áóØ,^¼XZZúÔ©Smmm´‘+V|;ÙJ Œ›››óóó{ÛɺuëðNvîÜÉÍÝE=‡õ¶cǼ7‘“'Ou¦;·Ž233›:ujttôëׯñ0°qãFü©§§'Ϲsçh@À &‡C ÷Ø€+©-¹•xKFPÆÅÈoÜl»™6¦¢¡"ðm 8¿øjóÕxãŸv"„|žÿ0/¿¿vb!$1NBAD!£8£·H Hc§òB²B²–Ó®h¨ˆ þÝôw¼ÑTÙôèü£ü âigÂÙ4m/¯ÏsŸæöï¿´0T0ÄNå#„ˆ,Ä?lÿ@<Þ¹O˜ŽÁƒÇÄDôÔ)×/§§§;ÆÆÎT€ÎØØXæÎ•»vmJlìÌŒŒ9‘‘ÓÿüS“››8Üy0¢))ñíÝ;ùéS›ÔT‡¤¤Ù/Â!"=ƒ: €Þ‚: €>€: ¥A¿6ŸL&gdd°²²***Ò¶+((”––â1))),,,ÁÁÁ´³Ò‰ÄÆÆÆ””=½ï÷Z‘••Å "„°[nöªiiéÓNNNfeeUVV¦mwrrb¯¢¢BÛ®®®ž˜˜ˆOŽ/&&ÆÅÅ…prrÊÉÉ¥§§gggO˜ÐÃ,í}u¿ÇCZq•JUW¡ýÈ Ë³¾o”R˜B¦¹Ø¸ö<؃7b³êc“¿ãðIð¿%Ï-XZWÚÛN¤{ø[㽩J¨Òæ‰Ú8m#óñœlœãEƧ~MÍ(ÎБÓÁ·vE5 5„PÊ×”SêÛp ö`Tô³ùT*µËv2™Lû”@ °°°ÐÝ`ö÷ßG Ð6‰Ý~'Ì|'Œïd;àh‡£P(tK±]4€)ÑuÅ` ú! •BEô/Vâ¯=ËîÙ»Bd ™Èò-a"¡‡Ì™é„.™.uN¯?ñ?ü¹©?ü¹¿ý­™H©oÃõ¸Ç£Ô ŸÍgeeÕÐÐHKKËÎΦ½<''L$'Mš”””´nÝ:¼=55õÎ;òò?\ÝÜé„®·?’H$UUU¼ýÚµkìììóæÍë.þóçÏjjjx{zz:BHGGo)//¯¯¯çããÞ¶´´äççsss+))á]á_œ>}ZGG§óÜ>Ì7Ä4¥4 BVi•JÅÏ2©øBû¥Î$™ID"+ídñ¡‡ÉËëËñ³ðŒ H'8mm" 1«$‹B¥à׿S©Ôžü3mÂ4ýñú]Æg–dÒÆ·´·äVär±qaàcrÊshWÌ*ÍBiÉhaO±<±ÓÜÞ|èÉ!w w‰qôsû0?`¬Šyó±Iêÿùç¼%((¨¸¸˜6›Uÿï¿ÿÆ[ZZZÖ¬YƒÍ'Ãä@Ò nË–-¡àg¢?þìææÖÑÑÁ ~ß¾}øÕ÷QQQ‘‘‘&&&æææx@8zô(þÔÏϯ©©ÉÍÍ ¿-­¤¤dee%B¨££cçÎ%%%ýnˆ‰ó‹;ë9V^‰½‚7yv„6F˜WØÍÜíSѧûï㹕¹Ë/.ojkbr é„¶·f+¾Ö|½ðöÞxýýõÝ÷w‹ñ‹u_TStþÍy¼ñȳ# ­ §mäbû>“Ò‡ü/3_bÉòOÿC­³úvÛìþº••¡ŒâŒ½÷r°qôg8ÀX5è׿#„ÜÝÝ?}útòäÉÌÌL##£ÜÜÜöövssóØØïó›ÏŸ?¿¤¤dË–-oß¾566&“É<““ó÷÷Gž?>##!´ÿ~kkkkkkoo﨨(„Й3gÌÍÍ/^Ü«NXYY½½½±Ñ322‚ƒƒñEºººsçÎ]´hQqqñöíÛ322ÌÌÌjkkoÝºåææ¶páÂ.7ÏÊÊš2eJqqñíÛ·ÍÍÍoܸA;Š””TUU•­­í¤I“ÒÓÓ=zdooðàA<à·ß~Û¶mÛŠ+JJJDDDf̘Á8½.‡cr äŸùÿYzækÍ×ß/ü~?éþx‘ñïrÞÍÔšIw±¼ïߦ¶¦¹§æÚkÙ«Kª—×—ßýp×ÅÈ»Em)*<-¼¥½¥°ºÐû¾÷2ãe,,,ß^,¬.lioñ¾ï=]sº‰’I¯:/2þ7“ß°ÑÃRÃbsbñE“tåtýù5µ5­º¼ê^Ò= I R)<=üÊŠ+rBr6!„°x÷«î“ªI¨%&‡§…{XzìuÜKæ8ÙÑû¾·´ ´¿ÄËÌ—IIÞÞø]y%ÆIØjÚ^‡çyÚó¥FK¹¤×ÝpLî±þK†ÐPœÍ''NœX¹rå‹/:::lmmmllŒŒŒho‹òôô\´hQXXXAA€€À¢E‹Œi:ŸF·±±±±±ég' mÚ´ÉÅÅ%,,¬°°PMMíÿûŸ††ƒ-¥—••õôôìí['Ý-â`帲âÊö™Û_f¾¬iª™3yΗ3¢|ÝÞ‚œ6¾ª±j®ÎÜSKNÑŽâfçYò$õIzqº«‰kfº„:mÀƒõn'ÞΫ̣=ËÏ8½î†ëqF/Bww©ív!$$dþüù̯ÒÐаaü…L&KHH())Ñ^žÿ3˜}ºaÆŸêl~ttô³gÏJJJššš¼½½ÍÍÍ­­­‡;©A¡*®ÊNd×Þ£=[{6 åÍç7%¿¨!Éh’¢1æÚ»kÉ…É¡äÂdl"{EQÅáNjì£R©;Ãv†| 1S0ÓÓ SÈ1y1…µ…6~@%~MŒúuíÃ5"øvÝÛôÞ§{b¼bÆòÆ=‡Že e3ÎϨm©Ýh¾q­ÉZ¬qö -jškVÜX‘^–n«f+=Nº¾µþyÖóI’“Îüz!tÿÓýÌò̳±g5Ì>ÒcoÌhéh N ¶R²’”Ûëœ×Ëo,G»ëËècƒ±gÀ(r3ùæî§»„Œä¸Ø¸2Ê2^f¿|°ü†˜FYCYpRð«ìW‹?F¬Ž¨×y|a|nUî¼Ió¤·ÁF¡R^]˜ø5Ñd¼Éå…—±ÆAÚ3`´€:­GP§Î NëÔi 3¨Óƒ:m ¢³ùoÞ¼IIIILL,**rpp8v옊ŠÊ =Ò¸»»w ƒNWN7ë@Öë¬×%UU§m´›h'Â+2Üy 5N6Îݳww?—‡éC>†ÐÿtP:ßbu¥uu¥uŸ~^ÕX5P#–5”ýïÁÿÄxÅ¢×ETŸƒjgØNVºÆÁØ3`9üêprIòµÅ× d °–åËSJR°Çšu-ugcÏàˆÏ³žïߟ\œ|töÑìvÔ·Öo²]ŒW¬¬¡Œ¶}0ö -ŠêŠþ ûËHÞ(p~ áÛï\o|¼!Â-‚ãó4ó¬k©ûXüqÝöxÛ—ª/ú²úãÇ`·ƒ$ð}`a-ýÄ’ƒ´gÀhuZ NAÆÔi 3¨ÓzuÚ0gó1ZZZZZZC6ÜHcbbbbb2ÜY ‹¥š¥¥šåp'2l.î~FQ_¢BNðVV7#·ÁQŒWìð¬Ãb¼bƒ7ĺ•r+£,c­éÚÝOá{&ð]Ô—(i~iü!$/(?¨×bبØì˜ºÃRÉrð†@ûÂ÷iIj p ÜLîïmEÀ˜›ÛAépÔtÄBóµ{qO©>88ã`nUî¨8DÌ®Ìö‹ò;êpÔýÖØ¿Š0ê4Æ N]‚:1¨Ó@gP§1uÚØ0tgó`PÕµÖ!„„¹…‡rÐ9ç åp}VÚPz0â ß¿ŠÆŠáÎŒ,u­u ‚ C9"×ï¿åˆ}ö‚ôâéÅ“•O޼‚ßhƒï†åãÆ@Ö€ölΈE¦ÿ|øçï¿O”˜8ܹ€‘ê4 NÝ:¨Ó@— Ncê´1ÎæF½ìÊìGé²+³B'£O²²üð/›†˜Æ4Õi V/k({óåMYCŸž´ž†ø÷x¨o­•󪨶ˆƒ•COFÿØÃů5]K$Bgbδ‘Û:±Lo™—3Ãuv<ê8Qp³q¯4ìá6$Ûo·×°7ozïÓ=Æ‘¡Œ²ŒgYÏð§+ Wr³q÷¸u^ç¼N*Jjio)©/ñ‹ò£[:Muš†£gVyÖû‚÷õ­õ¢<¢f f|´K k crc*›*…¸…LÇ›J“¦!$Á']#SÞP~=ézçþy9x—,gr8:EuE¡É¡Œ6!UQU;5;µ-µ;ÂvxO÷áaj²¸Rħ’OØcA.Á¥zK™Y Œ.­­gcÏ~øú!tïÓ=ìÅŒããàc|¤¹½ùuÎëÜê\VVu1ucycÚ«ÆÈTò›œ7¹Õ¹mmâ&ãM°OlP,ÆQÓ»$óaúÜʜÎCLU™ª)®ÉÌpÝI½SPSÀx,Õ[*È%È Àÿ+¹uéºÊ¦JÆ]!„Zãñ§vjvª¢ª=®F¨Ó N}uÔi · Nƒ:íçÁèµ£Zs{³_”ßóÏÏÄø¿ó·8mq-ñZMsMl^¬ãEG¯{^ø‘ÞÛÜ·¦'L¯&\­i©É®Ìþ-ä7‡ ù5ùøêÓúEùu;°§gcÏÒ%æUçùEù=J„Ï‚Êx¸ArããìÊì­Ö[™_¥ ¦àäÛ“µ-µƒ—±>W|ö‹òK+Më. µ£uãýööosßÖ4ׄ&‡Z±ò眎9msÖæUΫ†¶†˜¼˜éþÓW…®¢íáLÌ™¤ìqESEpR0íÒèÜh¿(¿ôÒt&‡${ŸïÕ•Öµ×°g~•˜¼˜«‰W)TÊàeF¬«‰W/Æ_dõ%Êò´åß‘—Ö—fWf¯»³Îñ¢cQ]¶´¤¾dú¹é{žï)¬)¬h¬Ø¾ßü¤y$)_ýÃ×~Q~yÕyØÓ‡i¿T}Á—¶v´žŠ>åÿΟ…™á ©‚t*úÔ³þc#²1¹Js{ó¹ØsYåYƒš™ NÃ@zê4 Ôi W NCP§-pm>`ÔSVò4óL+MË©ÌYk²?$«n®f\JÞÿtÿЋC³'Ì>:û(@ÀZ6=Ø$É/¹Åj BèßÿŽ}Éul©»±»­¿mq]±œ€í ´}z˜x`WHÕµÔÍ»2OKð¼óy.6.f†ëÒz³õýÙ9ÅuÅGþ}zîiæ¯Ûªm©M*Jº¸ð¢±¼q†#œ¹¢¹¹¢ù…¸ |žfžx{XfØ“Œ' VÜû|{m÷.ÖùvOvzqHEDÅRɲ¾µÞ絫¾ëŽ©;ð×ÝYG7(m‡Ø=—°Ç©%©þïüu¥uÌ8ÀÌp]f(Å/E»E}AŠxóåMØÊ0æW)¨)hno¾ãz¿À Œ=¬žfžâ.¼ùòÆQÓÑ\Ñ_ô$ãIS{Sw+æUç­¹½FœWüÞï÷xØyB«VÛد¿»þÖ²[¡À÷5ï=ßcÿiõçÜKsSKR­•­i¥ísö„ÙÖÊÖ!*•êuß‹B¥ø8ø`×Lõ8\—h'4ï2…üÇ£?V®d|¹(­úÖúØüØæWü²¢?Cƒê4 NÝ:¨Ó@— Ncê´1®Íü¼Î½;‡Zgº;fC9h:ˆóŠ_M¼ÚNnGQ¥¼±ÿ’\Š_j§ÍN%àj£ÕØ÷íd*yÝÝu…5…g~=#+ ËäpƒaÛ“ms&Î1’7b2>(1h_ø¾ÀùpˆºTÝ\š*Â#²hò"¼»!vì×Aé Ÿ+>7·7cKmTl³‰p‹,œ¼{\R_âê&Ì-|æ×3ìDvf† 5Í5;ÃvîµÝ+Ä-ÄL|;¹}ëã­ïóß__rA—.'\nnoþÝàwì˜ !$/(o«fû±ècBaBˆB¥P¨”Ô’Tl)+ 럖Êv×ᬠ³„¾Í¤|,êØ£ôG[¬¶Ø¨Ø09Ü`M6©t IDAT8{–L!{˜x0ŸP˜àrÝe“ù&8DÝ:­3¨ÓcP§uuèÔiA6ÂõåÚüK—.ÅÄÄ x*`„ ߸qãpgËÇedd†;‹!E¦3Ë3Y,Óo'²›Û›3Ë3'JLÜo·ÓýMSÏN5–76”34’7Z ½€AŸîÆßî ¿+lWtnôÑÙGõdô˜®Ë>û3kXfØÛÜ·êbêøl›e¡˜¼2…Œ~œ(–‚(»žî N –â—âåàe0"ø™e–e’)dNVÎãoãØo–±I*¹÷Ûî?yÐ䄉•²•ޔޅ’ƒ£DQ^Qì(±¹½yÕÍUÍíÍW]ÁÏz®KýœõXÔ1 …’Už…ÿªôSé'„Phrhtn4ÝD±•M•K¯//ŒŸª<•“•“ñ à§…M‰\œ\õ}–RìdRQ’žŒÞ“5YY¿…ü6Qb¢™‚™ž´ž™‚ƒßAÏÒ˜…=¸÷éÞ‰·'h/ =Öêq¸.ûìÏ|¬e eÇߟ¦2íTô)¬¥¾µ!”_}ÑN‹ M Œ ¤P)øq,t NCP§Þƒ: ê4ÐP§A6êôålþãÇ?~<à©€.55555u¸³ƒ¨¹¹y¸SjDÀþ£mœ7iBˆŸ“!¤-©îžð5á}þûHRäáW‡5Ä5N:”cÐíùwçC>†xšy:h:ôj¸'É'¹Þ”Ù€—7” r žýõìê[«×ÝYwyÑeìÆ>tFdùáµÁB`ÁŽÉ2‘…è¬íì éð6÷íû‚÷—â/íy¾ÇNÍîÈì#øì Q¨¯{^YåYó”„•z5Ü€mÕÿ35`|ÿ(Z‰…‰GfÑ—Õ?sÆçÏ&óMž3è^®ÆòÆÆòÆØï…¹…//¼œS™ý&çÍ…¸ <ì<ÿÍúÏBÑ‚A‡ … Ûo3oº×no¯†pDâã5Ìǧ—¥ßq½³ôúRÛw»Ëø~‰à§u-¨Óó NÃA˜uê´‘¯/góCBBæÏŸ?à©€‘Œ@ xyyùøø w"`°8;;w CÈBTUK/K§û;«<ëYÖ3ìg˜gbÎ,Ó_¦/£¯/£ïaâ›ërÝåßÿžp:Ñ]·áŸÃÿ}ùïì ³ñ‹\gVm)mm)mÚ–{Ÿî=Ëzf,o¼Öd-]°8¯øFó¡?,ÿ8ôâÐÞg{÷ØîéóÐ`¬RS'²Ù‰ìt—qE’"«šªˆ,Äò†ò°Ì°¥zK­•­­•­·Xn9þö¸_”Ÿ¡œáR½¥ÝuûOä?¤ˆ}¶ûḬ̀–s±ç\õ]{®ËÞú9ëLõ™t-ÅuÅi¥ió&Íӗѧ[4MuÚ4ÕiSU¦f•gŠ>¥.¦Þyu&JLŒ+ˆ3W4§½Ò°©½éü»ór‚r¡‡éUETUEU…]t]JJ.:m~°9nC\w}Ô¸ßr—=>ç8vRïcÑÇÚ–ZsEó‡ëRæcæ¦{Ó•Ô—\ˆ» '(×å›ñ/›¿äåOÍ=årÝÅý–{°K0\2 è@F u`Ôit‹ NÌ€:Ôi#Ì›øy­1Yƒ:}oiíhÝõtWFYö‰{6ö,ím¦Æ G‘©äî:L+MÛxãd©É‡ìáÓcw`ëq¸b•áª9ç} N î\Àˆ#À%°pòÂÏŸ#HxcamáÖÇ[[:ZBM"äVçb‹‚¼ _5œ\œü:ç53Ãz2z{§ïM-IÝþdûpçF"¨Óºu`ê´.Aƒ:­KP§d}¹6F”ìÊìGérªrB'£OjŠkÚªÙÞût›{4½,Ý/ÊOQX1§2§¼¡¼¹½Ù/ÊÏ@ÖÀXÞx¦úÌr›ò_þ›P˜ +£K¦#I‘’ü’gÄz¶T²ÜõtWÄçEaÅúÖúçYÏ¥ÇIoœ²±ËA d °Ù$5Ä4ÎÄœÁÓû\ñ{Ðãpƒ*’™Z’J;«¼ ¼£¦cVyVXf¾gÌÍ%ø$$ø$XYX½ŸyÖjIhÙªÙA†`ˆ½ÎyT”ÔÚÑZR_âå‡Í–x2ú$ö"yžõ¼¨¶H^P>³<!”Q–áåç4ÑIV@vçÔÍíÍ·=,-•D”ªšªžg=wÔt\¢³!$Ì-¬)¡étÑÉNÝN˜[¸¸®øYÖ³_dqžäÜå MmM»ŸîæaçáfçÆ'Fµ´;d<Ü`»’p¥º¹šv>V“ñ&ú2ú‘¤Hì.UØžY4yQ^MÞD‰‰¤ ÒêÐÕó&Í£›}Œ ­­gcÏbsßûtTIZn°<¾0>:7º²©²ÜŽÜ`1—â/iˆi8k;Ë Èžw>¿ñþF[[sEsnvî„„’ú’çlÒUC9ÃcQÇòªó&KMFEçFÕaŸ]ºþîúìÊlK%Ë;©wðô>}Än¹Öãpƒ ûX¡•ÈB\k²»è ß3º2º³4f•5–IòKÞÿtŸH jˆkÐNv Æ ¨Ó˜u u3 N´ NcÔicœÍŒø­fp\l\t?[¬³˜.ÆUßuö„Ù¯s^×ósòÏž0[GZ_êãàSÚPšP˜ðµö«¯˜½‰¼ íFiméhY0¹‹{¯ÙkØ+ +23ÜPSWSïÜN·g؉ìÌßïŒjø-q*"**f*øSVº÷‘í_ûÝÜcòbêZë¾.ß÷ v ŒyP§1ê4@ê4f@hAÆ ¨ÓF;•JíÝ Ì›ÿ‚yóÇ¢¶‚B¡b†;‘.ŒäÜ:›5ë6p¸£ƒþÏ:º¶0X£SCCÚššÁè¹ÿFrnÌQ[qãÆìáN¡[#97æ­ôÌ›Œt6ßËË‹@ ###ÚöOŸ>-Z´HBB‚]ZZú·ß~ËÎΦ HNNvvvegg———_»vmYYYç>ß½{gffÆÍÍ-##ãááÑØØHÛÉãÇŒŒ¸¸¸fÏž‘‘ÁÊÊŠ­{õêÕι1ß3ƒôºÃ`“gÍš…ëââråÊmmm...!!¡%K–â1¡`Á666}ÛÃÌof¯ÔÔ´‡±ÿ¾àíd2õرDËÜܾ<<Ç~ù媿2í<1”Çã&MºÈÅåËÇwÌÌìú­[Yû|ð {Û¶7RR§yy\ Ï£½¶¶uݺIÉÓ>ªªÿý·o_ ¶¢²òùι1ß3ƒôºÃ`“ããKðq£¢¾º¸<=ÉÁᣥuñÂ…Tlu,æÑ£„ÛQ<¸{˜ùÍŒ"6ß××—J¥Ž7޶ñÕ«W999?®ªªºyóf||¼®®î‡°€/^æç燇‡WUU>V´d2uΜ»›7¿tuÕÌËsûüyÅìÙJ«W?su}Œ88ÜÙºõõªU“¾~uÏÈX¡£#6oÞ}_ߺ>÷í‹™ìa&70º ÅL; eùòå7oÞÔÕÕååå511¹víZ}}ýÊ•+±€+VtttܸqC[[›——×ÆÆÆÏÏïË—/¤íª¬¬ìĉŠŠŠ|||›6m{òä ¶¨££ÃËË‹-$$DKK‹——wêÔ©»víbòÞ¡ zf>=æ7G¥R¯\¹¢¢¢ÂÏÏïää´gÏž‚‚‚îºíóff3ÊÕ«if¯X¡åå¥'*Ê-%Åû×_Æsçª^¹’öàA6BèÊ•OOž|Y¾\kýz]!!Nii^?¿©::bÛ¶½)/ÿá\³¹¹Ì‚ê||ìêêB“Úß¼ùöÃ…€€”„„R7·IîîÚBBœ22|¾¾Ö²²|L&É gæÓc~“qnn“œÕÆãPTwùò ))^oïèÞžag~8› ]†âl~rrrNNŽ–––œœÞ8iÒ$™ÄÄÄüüüäää/_¾hkkËËËãÖÖÖ¡»wïÒv¥   ,,Œ=&ÒÒÒEEEø(ÅÅÅZZZRRRx¼¹¹9“I2î™Éô˜ßd¼Q__Ÿ““jkk‹êívæ‡c°™åÎÏ!ì2sÜÌ™ ø¢»wI!%|)€¬¬äZZ:ž>Í¥]ËÀ@,+Ë**jÀžbÓÎØÚŽ§Ÿ2E†É$ôÌ|z¸7gf&?fg'ZZʶµ‘##óQo0?ƒÍŒ.¬C0Fii)BHLLŒ®]\\¼   ¤¤›s&!!@ ÐÅ|ùò…L&‰Dì)Ýô2ììì {\^^Ž¥ àããÃ×eŒAÏXþ̤‡ëq“ñÓî´Ø*=ÎÈßçálæ@)-mD‰‰qÿ˜ B¨¤¤˜=ûNçu?®¦}:nMª,! åÛ/-°ËäEEEP1‡AÏ̧‡ëq“q?dˆ­RVÖ»kó™ŽÁf‚.µt´ÜJ¾õ¾à}usu¹!ÄÃÁã?Ï!ô(ýQPbBHˆ[è„Ó‰aN”¡ìÊìÇéÓËÒ›Û›%ù%µ¥´&:±ÙéÂÛ¯}¸–P˜@¡R´¥´—è,àèC e e!I!ŸJ?5´5`Ÿ)ú²ú›Ì7!„¿:œX˜ˆ2S0ó0ñæD»G¥Rã ã³ÂsªrX,RüRŠVÊV# k ƒƒ²Ê³¸Ø¸,”,æNœKd¡¯˜‰ üsx)¢¸®¸­£ kù{æßò‚ò9•9;Ãvb->Ž>â¼â×cªšªgÄuZb€:­1@ÖÛ0ĆâÚ|qqqÔÕjì´„„„„„BÈ‚ÚI—çÊ»„ÇÇÎé㪪ªÈdr?óïCz=n2ÞRQQA€­‚Ÿ—ïüýA—˜n`§•éÎPc' %$xðÿ¿x±›žö¿={L™;O7õMoO‹w©éõ¸É¸ŠŠæÎ ãçå™þs3;蕦ö¦y—çy}D]L}¹Áò•†+UDTâ â±¥ºÒº¦l(©/ùðõÃðæÉØáW‡mýmÓËÒgjÌtÕw•â—:qÐúŒ5©‚DVÞPîxÁ149Ô^Ã~®ÖÜg™Ïìì j z@FY†Ýy»é,•,ÝÜ]ô\؈lYåßî>{Â앆+߼ϮÌfÜÏðšuþ²ëËB ´8Orn'·»Ýr[´¨©ý‡iß¼Ÿy~fveöÝ%f f‡_v qm#·õ6€­·zÜö`ga_¬³xÉ+e«”’ìõ&Î'¾aÊ!n¡÷ï[Ú[†;Ón½Ì~i|ÜøÆÇ†r†Ë –ëÉèÝL¾iqÊâQú#Ú02…ìqÇc÷³Ýº2ºËô–•7–ÏœAŠèm P§Aúê4¨Ó@@ÖÛ0ô†âÚüI“&)**¦¤¤äççã‰'''êêêÊÉÉÉÊÊ*++üø±¶¶–öâñ3f ^»v™Q´µµ¥¤¤RRRŠŠŠðÉv^½z5 ù÷6½7LHHhjjâæþv>÷éÓ§XÏØS¬½­­ !T\\,%%•™™©ªªÚçᆀ““ʽ{¤GrfÏþþeÝ£G9Ø"„Ðܹªwï’^½*°´”ÅÞ½+66JK[®®.ÄÌ(3f(477ççç{zzÆÅÅíÚµ‹ÉQˆD¢ŸŸ_GGÇ‚ RSSÂÃÃOž<ÉÂÒßmìCz=n2NPPÐÕÕõóçÏõõõwïÞݽ{·¬¬ìŽ;°¥JJJüüü±±±õõõAAAÒÒÒJJ]üž…ùᆀ‹Ë„Y³”S|}ÊË›Š‹÷틹sçóÒ¥°³ÏK–h8:*ÿûoÜÙ³KK›ÛŸ=Ë]°àÁÚµ:LžÊG-_®e` áïŸ|öìÇêê–ÂÂú "[Z:úŸÒëq“qwî|¾q#³¶¶õË—ZW×'EE ÞÞ&ââßþyÕÕGEFæ7>{–ga!ÛÅ`½ôJJq BÈHÞˆ¶QWZw˜Òé£U†«öÙí£m±R¶b#²%~MÄo þ¹âó Ò‹éªÓñŽãç éT”WÇ| ¡Ô’T99ü!ÄÇÁ§*Jÿ­óçãè³Xg1mËtÕ顸Âx¼åvÊíŠÆŠ%ºK°Ã?„¬º˜ú¥øK--ÌÇÐådž¸~¸5*˜Ž7½´ðmÎâ¼âÚRÚMíMéeéX …J ˆ à“°Q±ÁÃ\t]°éA˜Auè¨Ó N½uÔi£ÂÀŸÍ÷òò"µµµïÞ½#çÏŸGYZZ¾ÿ^AAaÆŒsçÎÕÓÓKLLÔÕýVM™2%..NTTÔÎÎnܸqfffµµµÑÑÑêêê¡þù‡¶Ïððð—/_„wïÞÕÖÖ„Ç#„~ýõ×GuttÈÊÊž>}: !„O†Ó97&{fœ^—zÜdÌ/¿ü²téÒ ˆ‰‰-_¾ÜÖÖöíÛ·øìÿìììAAAåååâââ—/_¾ví‘HìÃfr3{«¦¦•@8¼qã „ÐŒ·ddÎ „ˆDÂÝ»sþý×ââÅT9¹sJJþ÷ïgŸ93ýÒ¥™ØZ,,„[·ÿþ{Ê™3Ç?'%uzûö7Û¶úùMÅ89}ð>ÍÌ®#„,-Cf̸…Ú¸ñ/ï1„1<|¾›Û$oïh ‰ÓÓ¦ÝÔÔ^¸PK »Ü˜é¹Çô:ëq“qÇO}ö,WE%@]=05µ" ÀvëVC|éÚµ:K–h¸º>ÑÒº8}ºüòåZ}ÛÃÌl&謹½!ÄËÎ;܉ô‹¢°¢¿]#…JáÁ§rz™ýu:Ö—ÑG½È~Á| ¡æöæÑþ®AiKjã—¨`È2Bˆv*LìM¡'£G¦'­×ÜÞü.ÿó1Œu1ú2¸ƒÒãý6cdjIjyC¹®´.í\‚t%ÌÄ€ÆÊê40Ä Nƒ: ôÖØø¸:mÌø™v|}}}}};·Oœ8188˜ÁŠ&LènR­[·nݺ•®¿~–þ´¤¤„B¡ˆˆˆ0ÈÉž¤×7ãàààààÐÝÒY³fÍšõÃt+}ØÃÌïÀ^à R»øI‘HðòÒóòÒë¼ðôÔõôìújš––t-/_.èÆÏÏ~üøÔãÇ¿ŸdwwŽáê.7&{fœ^—zÜdŒ€çùó¶Ý-ååe»zÕþÇø¾ìa&7s,‰/Œ?úê(ö8pAà­ä[o¾¼!²u¤t–é/Ãn,F0?àvêíèÜèšæ*•ºÊp•ÿ;ÿ¬Š,„Ðo!¿Ð700W4w7vïnh*•ú,ëY)¢¬¡Œ—×@ÖÀYÛ™ö;𘼘Ç‹j‹8X9ôdôœ&:1þ=ÚÒëK±ò´;\ø´™“C¦—è.Á[2Ë3B²?üøCzœ4BŸF“™0Ú]I¸ò$ã BHETe“ù¦€÷ŸJ> p LU™:S}fç˜ f.Å_J+Kklm”(1ñIÆ“¦ö&R%iqÐbºÎÝÝÍÍ»º¹½ùVʭؼ؆¶QQkek[5[ü:©vrûÃô‡osßV4Vs OQ˜2C}+Gw½e–gîy¶‡ñÆË¯7[ÏÄ^ùæmî[„Ð"E´£ „dÆÉІÉÈ „²Ê³,-˜Œ£ZS{ÓÊ+±Ç[¬¶Ô¶ÔÞI½ÓÐÖ $¬´Â`…(¯hç˜Ê¦ÊGéÊÊÈ2öqSR_‚:ôâЙ˜3´‹òŠsdô{rqòÝÔ»¹Õ¹¬,¬êbê '/¤=-˜S™s3ùfnun[G›†¸†ÓD'Æ7(;q0µ$•ñöž}¸ó™ÇîÔµÔ¥–¤šŽ7Å~ŠŽÊ,ëâ£Dˆ[ˆ‹ëûÇ 1`´ƒ:¨Ó@w Ncê4Ð%¨Ó€:mŒŠyó‡LpppPPЃð–ððp„µµõð%‹ºz`P½žÞ·/ä)ê‹ùãÇSPÇxE0ö( +m˜²áèë£ … …ý¥$¬´@{Á‡¢‡^J-Iõuô¥‹Ywý$ÉIΓœ3Ë3ÿ{ùß>»}ø¢µ&kÙˆlX·õ­õî·Ü± ¯KíäöµwÖ¾Ê~µü—åvjvEuE'£O^N¸|}ÉuìïÀ¸ÀC/¹ºÙ¨Ø4´6\M¼zøÕá›KoN”˜Ø]ŸëÍÖ3þ¦ O”Ž£¯jKj¯2\…7V5U!„ø8øh#±«ª›«™£¹¢¹ª¨êÊ›+«›«7Ýßd§f7Yjòí”Ûžw=kmk±$<¦¤¾$½4ÝQÓQOFïÞ§{ÉÅÉ&Ø" >‰ S6àݾËçå÷ë¤_»·¨®héõ¥µ-µëL×É È%%mz°iJê”ÓsOYˆ¡µwÖ&%yšyÊ Ê­ýêûÆwÄþø ñÝu(Å/E›@—„¹…™ß3…µ…W¯þnð;vá ¦ª©ŠÈFw°ÚùÓc Õ8X96LÙð$ãÉÕÄ«þïü…¸…fO˜]R_rôõѰŒ°§«žr°rÐÆü÷ê?i~i;5»¦ö¦}áûÛñEŽšŽÚRÚxÏ[mùZ÷•ÁЧ¢Où¼ñ™®:}ö‚–Ž–Kñ—.Ä]ðŸçýüÃ×K®-™ª2uîĹDbøçp[Û]Óv-Ó[Ö]‡N¦ªtû»CŒ — ó;çXÔ1v"ûð–ªæ.>JB¼¼å å--œ¬œÌÄ0Ÿ™ NëÔi€¨ÓºuèÔi @6ÆŒ©³ù¡Gùùù¹¸¸°°°¼zõê?þøå—_-ZÔóš`òð?wnºšš`aañ$RMhh·¿rc˜ — ¡œ!öa¦+­‹U·VÊV ܼ IDATIEIÓþ=óo.6.Ú˜©ÊS±K%K==yAy%a%l‘¬^áõXÕŠ9IŠÜh¾q­ÉZ¬EWZ×ñ¢£÷3o첬ë®ëJëþÏâØÒ©*S-NY4¶52èóÙ_ú±'~@¡R¶=ÞÖÔÞ´8ˆöØû…~} †•ÈŠjëhc>Œvò‚òò‚ò¬,¬¤JÒ §Øå!&ãM^ç¼¾‘|{à1…µ…çæSQFéËê“*Hø"^v^C¹ï“†õøÆù߃ÿåUç»cÇ`ÖÊÖBÜBûÃ÷_M¼êªïZÖPIŠ\gºÎE׋גÔr¼àÈ C>>Úú©¦¹fÍí5æŠæ[­~øM[¥ƒ…þ ö¦h'·3F5"h(g˜Vš†beaÝk»k¯n®öyím¥lE#Â-rÈþ£!¦!Â#"Ä-„-RS§}Ýr±q5µ7u7nl^ìÑ×GMÇ›žt:‰µLWnsÖfÓƒM/×¼d'²ßJ¹ÕAéðqðaeaEY+[W4VÔ4×0Ø qþì :7>Þ¸•rëÂü ´×¾„@8|ìX"BHEå<6‘=<Jß#©(¤ˆúZKÿ-ºµÊ÷ßëèËècŸ©}šŠržäŒ·LŸ  ¤þ9¼®¥!$3N&¥8åþ§ûXÈÉÊyqáE ±ü`f`GØŽ´Ò´ ÅAtW»ð°ó „ÚÈ?ìµ´· „ð))™‰c†4¿4þKONVNéqÒß5²²Ø!"Bˆ›{’䤾UPSW7^p<íåTöêö¡Û)·B||ã8Ç=J”P˜€-Õ×¼¶dˆn²ÔÐÚ°ôúRUÕ£³b áxØyÚÈmt—dbo ìýÂd 3h?n°wPQ}]Œ•²þXUT•ñ  „¦„"„~Õú~)%—µŠuYCYÔ—(„Ì8 •rìͱږZ,`×´]sµæöm¸ÞºrûŸÿ\ZxIGZ‡¶{Ù·v´ÒÅc7Äf;a&Œ%P§á NL‚: u`Ôi8¨ÓƤ1um>;;»«««««ëp'Ò³‡w £žººÐéÓÓ†;‹žéëKt9÷=$´GDØgO;…þR NþÔAé(®+f!°xÝó¢m¯h¬ P)Ÿ+>ëÉè™}ä¿WÿíÛ±ëÙ®ÉR“äŒæLœÃÏÉÏ ÛšÕçµO\~\°Kpç®b_È—7–Ó¥hæ‘d&Œt/n6îr ]Ì€¼kByÕy¡š–šÎS¸b“™r±q]Ytåß—ÿ. Z$Ê#ª#­c¡h1k¬.ú¢Yq@æcí txÜñý×þ_ºCD„Ì8™´Ò´ªæ*ÚÝÕùÓc 3hÿÊØÁLçKb{õ hò«óBï‚“¾ß!©¨®!”Q–a­l½Òp%™JJ òç¯%©¥'£7{ÂlMqM}Ô|¬o¾¼Ù¾÷¼óymImºEØ,«M´d*¹®¥NŠ_ {—1ƨÓ0P§æA†: ô Ôi¨Óƪ1u6† ‘@d'²“)dO3OÚ;¼c°ïÿ…¸…þžñ÷žé{RŠS^f¿¼”pédôÉ“N'Üuj@æc ùr;õvˆKˆÏ·{€oz°ÉÃØ»fGOFïBÜ…¬ò,üZ!ìærø×õÌÄÐعi~é.gP¥P),– â..¸X×R—P˜ðüósïçÞ'¢O„¸„HðItÙç€ÌÇJ¥R·<ÚÂB`ñuôÅ Óª¦ªM6]\p ЕÖM+MË*Ï2–7Æ×¢{S0@p³s#„~ô«š¨Ý"ì(Ž•…u­ÉZcR%)êKÔí”Ûï€: €>€: €>€: =8›}A  å ß|y#Î'® ¤€·G"B’BNÿz!´*tÕA»ƒ¢¼¢z2zz2zKõ–šž4½wÁQbÿçc}Azqìͱ«‹®Ò~QŸô5©¡­{l¡h!À%AŠðšòýjµˆÏ\l\vjvÌÇÐÄ'ðqðU6UêËèÓ^Íq<êx+¹ÕPÎ0¯:ïèë£Çñsò[)[Y)[™Œ7ñºçu7õ®»±{—}È|¬‡_.¨)¸´ð;ñÛì|mä¶÷ùïñ'-§«‰W#>GàG€ÍíÍѹÑÚRÚøïß™‰ ŒäŒ¢¾D±Ùi_êEuE<ücŸí>„ÐÑ×GõeôÍÍUDTTDT–é-³´?{féºÎç11ýŸµ°¶pÕÍUûíöOQ˜‚7æTæàW.‹ðˆ˜)˜EçFW6Uâgj"H!ü×åÌÄÐP§ÐP§ÐP§¡7¦æÍ€¡´Ùr3'+çžç{ð;ØdWf{?óVSÇn _6ö,™úíó’TA¢R©=þ®?’‹“=ïy²Ùw†í\´ÿ¯´¡ábãÚjµ5½4ýbüE¬åÞ§{1y1Ì6às2@p°rl¶Ø\R_rôõQü­ñ,ëÙ™Ø3XùÛÔÞô(ýÑ“Œ'ø*¤ úÿ [IЇ ³±g[:ZVÜX¿kÖÝYG£-©í4ÑézÒõÅB*å@ÄÖŽÖSwô*€>pÑu‘”?}{; „j[j·?ÙN¦…BYåY'£ObS#„*›*kšk$ù$»;D쿚æš7V´t´\Ž¿Lûqó2ç%mØV«­lD¶=Ïö`wQË*Ï Œ ´R¶²P´èU }u½u}uzÆ?ìb!$$dþüùƒ”™‚———Ïp'‹³³3BèæÍ›ýì§´´´¡¡A€²²’Ÿ_éÌ™Œbz‹TAÚõtWVEVMs¬Á\­¹Î“œ-.¨-(®+ž(1ÑLÁlŽæÚ"à÷kŠ/Œ?úê(¾hŠÂC/%&$~MáQRÔ—Õ/ˆO)Ié tèHé8i9a7UûXüqWØ®œªœñ‚ã)TJI}É2ýež¦ß~Óô!èrüåêæj9¹úÖú‚š‚ê3vOÛÍxJÖþp u‹$Ev¹(tYèd©ÉøÓk®yuD˜G˜•…µ°¦ÐÃÄ£ó5ÌÄ?æõô'‘²GH?tœð5“•SS\sûÔíDâ¾çû>•~jéhÑ“Ö[¢»„L!ÓÆLŸ°Óf'¶ú•„+O2žà‹V®²R¶ú-ä·’úRIQXQœW\[J;® .¡0A˜[XIXiûÔí%&"„n¥Ü:úêh+¹U^P¾²±!´ÅjË õ¡Æ¶Æ“Ñ'o~¼ÉËÁ+Â#RR_ÒÜÞ¼LoÙzÓõƒWïjÕnlkìÜÎNdOû# ÚFn;q 49TUTµ¼¡œ@ ì·ÛOWÈ2[¿^!tüxi‘CÓßB~˯ÎϯÉWUûEî—ÝÓvïß““Yž)' 7^h|àü@Ú˜qœãþšöv_ͦö¦•7V–Ô—`‹„N8ÀÞ‰)%)d y²Ôdìã&¯:¯´¡T[J{’ä¤ÝÓv#„ÊʼŸyG’"åå¹Ù¹¿T}±T´Ük»û@‰úu&öLrQ2~Ш-¥í=Ý»ó/¾J`\àÁˆƒ].Úl±™öÃ"¾0~룭MíM|™å™3ÔgìµÝKwÛ4fbcU_AuÚÏê4¨Ó Në¨Ó Nƒ:­˜©¯””zñ#!8›˜góǼQ}6€‘i„%02ð£DF¦‘|6€‘ ê4úê4ú`ÀÏæÃL;ÀH×—»à.X°`Á‚ž á|}}}}}‡; 0ˆddd†;@×úr6æÌ™ªªªž É|}}òBÈx¸ƒÇGE…k¸st­/gó]]]aÞüŸ¯¯/BÆÁß} »),<Ü)ºóæ#œÍF:8›Œtp6éàl>0Ò±w£RHHÈéÓ§B¢¢¢7oÞîtŒqp6!„¨Tê† øùù÷ïßÏL¼‰‰‰¸¸øÊ•+I$Ò`çÀL;!ÔÒÒpîÜ9&ãeee---yyy5+׿#„WZZÛp'NçßÿçÅ?!q^ñ·ëÞ{?}“^–~äÕ‘„Â2…•Už5Ü©Ÿ ÔiôÔiôÔi`䀳ùHUUÕÛÛ»££ãÕ«Wx!ØÞÞîää4wî\AAÁuëÖ͘1ãܹsïß¿§]·½½ÝÁÁ¡­­mÕªUÖÖÖGÕÑÑÉÏÏŽí vžî/æ w"=‹+ˆû\ñÙNÍŽ“•k!²giÌ*®+Ž$Eonàg£-©ýaãwc÷áN¤g¡É¡mä¶9šsðéqÒú2úϲžU6Ucbà't|Îñ7o¸†;‘4·7ßI½£&ªF{u³“–…J¹žt}?!¨Óè¨Óè¨ÓÀÈgó‘°°°¥¥¥ˆˆmãîÝ»·o߾Ç;88¸¹¹EGG755Í;·¹¹+++[¹råŽ;fÍšµyóæk×®åçç{xx ùFŠÉ‹AiIjÑ6jIhá‹uýÆ‘Ô"SÈïòß SRŒhIEIÍíÍ]~ÜDçFSRŒtP§ÐP§Ð[P§ý à.¸] D-_¾oŸ9sfhhhXX˜“Ó·Y‰Ä_ý±··zòäImmí¸qã†8g~Z'£Oú¼öAéÉè…¸„ „^ç¼^~c9BH€K ~Cn¸Ø¸ø8ør«r©T*@`Ü9ø©@†: ô Ôi¨Óó NÃ@ö3€³ù]hoo/((àààÿá3CNN!”·ˆ‰‰±²þ°eddªªªòóóµ´~ø 0xÖš¬]k²VëÈ÷7¹¢9i+iÎÅ9…µ…XË4Õi¤­$÷[îáŸÃ÷‡ï_m´úý¡Ä¯‰«CW{Ýóºíz»Ëži×êO?³4f}*ù”U‘uÌñØ8În¿êËü3³»!„P}k=Bˆ››¶‘›!TÛ\ÛŸžÁ˜tyáå”â§KNxË–¬5];éÈ$¼e§ÍÎ6;u|tÊË.¼¿pxÖa!n¡à¤à¿#ÿæbãÚjµµËžñµúÙÏ«-_ë¾jŠkþaù ¡ë_êËè“¶’ú²ýÿ¯®¥ŽÈN$iyØy¼q@'ØëmU誤X +i+éïȿޛ胟“Ÿ´•t!îˆ'ÞžXñËŠçnÏKêKÖÞY»æÖšH÷H‘Î=Ó®ÕŸ~$ø$||NFŸ<æxLMT­» ¹¼ðröC]KB¨óùn6îúÖú¦ö&ìê4 Ôi W NÃ@˜uê´ŸÌ´ÓVVVvvö¶¶¶ÖÖVÚöºº:„Ï÷×=]B¨¾¾ž.0ÒÌמ¯#­ÃÅÆe:ÞÔRÉ2¹8¹º¹zðú©k©[ys%…J p`pˆ8H°õÀ×ï Ÿ*+½§{Ë Èò°ó,7X.Ì-ü*ûÕ öó¹âó¢ E¿jýºÅjKw‡ˆƒÞ8`@ÈØkØó°ó( +¹èº4µ7ÅÆ^?*åð«Ã!C‚—38D<ðÆê4z ê4úê40zÁÙü. *•JwÏÛ¸¸8`ii‰·TUU•””àOKKK %%%†,[@oM’ü~I‹$¿$B¨´¾túÉù¿öî=.Ê*àø™á&wEå"‚ËMÅ;Ø&bÞ¨62×JGM ]Í ’¦Y­ë%sË-Ý4)AÔÒ^„Z¦®`Jf"h¦¨((h^FDT’›Üá÷ÇÓošÔpf˜>ï¿äÌ3ßsæ©yÍw¾ó<ßsçҨͣä2ùâ§›ÈM„>ÙZØ !îUÜS,­,Bص²ÓëÔhöÜZ»©v|’îwÎ+ÎÓ_œÙ›/öxñùîÏ×{ͲkeWQ]Q]û‡æ Òûˆ7¨1?nJ*JB·‡Æ¥Å­W¬×÷þlÒ[Cú|QWZYj"3±4}xO@Cäi€¶ÈÓ€z OCÓE§‡{÷ÝwüñÇ7ÞxcÏž=íÛ·B¬X±âÔ©S3fÌðõý}WhSSÓ×_ý³Ï>kÕªUEEÅܹs+++ÃÃÃù± 0fÒ·)‰¹‰¹øÿŸ©u§°¼p掙ζÎ?\úaçÙÌwØUjœ—[”«>˜[˜+„ðpà'F4ˆ¹úŸfr³šÚ=ÅI¾œ¬,P:X9||äã ï ïvÞulx?V¯¶^?]ûéfÑÍvTƒ7‹o Þ8h0õ 3¹™¢~oMâÌÜ1³—K¯_K]úÝÒ÷†½WwÀöcõtð|Ü”V–•yµõ" F‘§Ú"Oê< MÕü‡{ì±Ç8ðꫯvêÔÉ××777·¨¨hÉ’%o¿ý¶"..níÚµÙÙÙNNNƒöññqvv¾xñbyyùûï¿jèå-‘\&¯¬®T‘ƉÜdó¸Í¶¶£7^¸w¡‡ƒ‡úïöj`?Ö÷€¨ä¨ôÜô{üÞa3=7]Ñ¿Sÿ†DFs%—Ë…êoƒ¿k„î­Ý?÷ù•_¯(6+flŸ±cÒŽ:Z4¼k@§€Ÿ®ý”ž›®þ-1=7ÝDnÒϽ_C"£¹’ ™¢¢ªBÕÔÞ8Kž^äô¯ÿý+þt¼¯“ïľë8¸ýXûtècif)}¾¨Hþ%°!‘ÑŒ‘§‘§A[äi‚< Ú#O#Ok è´óÒç¥$00ðäÉ“™™™kÖ¬Ù³gÏíÛ·#""LLL¤‡"""vïÞzáÂ…èèè„„„[·n½õÖ[†[>Т9Ú8ªÿþ|«øVNaŽ×#„°6³v²q²2³ŠQÄX™Y…n­ßM¯zÜýqïvÞ{3÷–Wý¶¥GuMõîŒÝ.v.C½†êo^4]í­Û‹?^¸‘–“f¸åüÆ­µ›¹‰¹O;ŸG|xíîµ9;çÔ}-d)z*ÌMÌwžÝ©É)ÌùéêOëü·¶Vmõ7/š.GGñÇ7Îé§ ·œßH×g½óÌ;þ®þÿÞÿï”+)ú›ËÒÌòÅ/fæež¿õ{qó›ôoä2ùK}q &Z,ò4ò4h‹û®…©…ž&E“ÖÞº}—ö]’²“Ž];VZYzâú‰gvzQ¿ òš7hÞá_/ÿ~¹þfqµwýçÐ&žOÜptCieéå_/ÏÙ9§­uÛEO.ÒߤhÒžðxBññ‘óïåçßË_ñÊûúù™‰Ù'#?q´uœýÍìkw¯éo¢yƒæ¹·vc×Y·³J+K¿<ùå¶3ÛföŸi]ÝÐ$§‘§A[äi‚< Ú#Oäi-€¬¶V».„2™,..n̘1zZPcêѣǜ9s¦M›võêÕÎ;‡„„¬_¿ÞЋ2R2™Lˆ8!šÃwü‰Ñ …ˆo`”›7o×q@÷îžÿþ÷­^(jàD**/z/齃–öpî±èÉEo'¾-ÝP6#`ÆÓŸVlV¨ ›7hž÷òßû<õÚÏ­Ÿz2ÖÓ¹çÌ3U#Ïw>¤oÈ#ã<ßýù¹;çªF=¹ÈÏÕOýYÏw~åßWêì•ÿѹ›çVþ°òçë?×ÔÔôîÐ{îÀ¹};öÕÓ\¨Û޶ááíÓÓ/50ÎÖ3f8Ÿ;wÉܼ>ƒëvñÎÅeû—¾qºº¶z°çà7¿94ú·+cÇÄž»ynÅ+Tozi“©ÜtÂÖ ª‘ ý×ÑkG¿Ïþ^ý˜ï³¿ßx|£jäÝgß•2éºã\¹{åË“_ªFvMÙõÃÅÔŸõî³ïŽé­¯¡½™{×]wáÖK3KéT{1©1qiq¹E¹n­ÝÂÃÎÝ<÷é±O…½]zoŸ´½ÛÝTÁ¾ûƽ7~Ëøc׎I#–f–[Ço}qÓï­6úvì»^±Þ•¿jÄÉÆ)yVò#ã$ÍHêõ{ƒŽ§|žŠ­þ,)Ž>΀Bz_'e'–z¶õœÔwÒèÞ£õ4êVV&ëÑÃsݺܠ ’†"Oäi-yš„< Z!OäiÐ’†yš—×Ã7Bx¨]ÍŠŠZ¸paçγ³³û÷ï¿eËC/ÊHQÍo©šØiÚ´‚É“ï6p"ÀøÅƶþôSûää+ ŒóóÏ­ÆŽuMN¾âäT¥“…ÆL¡põó+_´èvã,[ÖîÔ)‹øøë:Y`ÌrsMŸx¢ÓW_]÷÷/k`(ò4´äi@=§ÚÒ0OÓªšß¢;íÌš5+777&&æìÙ³{÷4oïÊ îoi4K.˜{{W>ú¸GñòªBœ?ÏÍ_m­ÈÎ6÷ôÔA§ /¯Š¬,s-¯Zš$)³Òɇ< -y -ò4 t˜§©´èj¾ÂÊʪoß¾®®®†^ÐRøù•¥¤Xz@cHMµìÓ§¡—I !Z·®öð¨LMåƒæïÌ‹âb¹ŸŸÞ8}ú”ËÏœ¡5š¿”KÊÖ­kŠ< -y -ò4 t˜§©´ôj>€FtO©4åcÍÞéÓJ¥iÃ[K†-IH°æê4{ 6®®U]»êàÒ•®]+:t¨JL´ix(À˜ÕÔˆÄDk]}ܧ¡… Oê< Жnó4ªùUïÞe>>_|aoè…úµe‹}çν{—ë$ÚèÑEW¯šýðƒ•N¢Æ©´T¶m›í¨Q…:‰&“ …¢hÛ6ÛÒR™NÆéÐ!««WÍ Ýì[Kž†‚< ÐyPºÍÓT¨æhl¡¡w¿ùÆ6#ƒË¾ÐledX|óíŒ:ÛEÐǧ"(¨äý÷ÛVW“ï¢ÙЉiSY)›0A7ß…&TTÈbbÚè* `lª«eï¿ß6(¨ÄÇGgÍXÉÓÐì‘§õ@žh |¿¨SIDATKyš„j>€Æ6bD‘¿YDD;nGEsõÎ;m{õ*1B—¿À/^|çʳ­[ít099¦Ÿ~Úúµ×~mÛ¶ZW1Û¶­ž=û×õë[+•fºŠ •-[ì~ùÅlÁ‚;:ŒIž†f< ÐyPúÈÓ$Tó46™L,ZtûäÉV›7s7š¡M›ì·\²ä¶L§—g¹»WNž\ðá‡/’©ª’ÍŸïØ¡CUHHn#OœXбcÕ‚í«ª¸^ÍÍÅ‹f«V9¼òJ‡G¥Ã’§¡y#O´EžÔƒžò4‰¬VË‹.d2™ƒƒƒ•-áZ¥R)„\kÐŒÝéÕËçÔ©S ŒróæÍââbMŽŒŽnóá‡k×Þ º×ÀIãñãVS§:¿þz~h¨ÎnßV)/—½ür‡[·Lvì¸îà ³ëbƒ oÿÍ76qq×}}u|ª"+Ë|ôh×gŸ-yï½< åî]¹BÑÑÖ¶fëÖë––º¿Šž< ÍyPäi€¶ê‘§yyyiŸj>4¢T*ûôéãììlè…@_ÒÒÒ³š/„˜?ß11ÑzÓ¦]í@Ö©S“&uxæ™’ÿüG_Éè;&£Futv®Ú°á†MžfÓÇ·Y½Ú!::7(¨DOS$%Y‡†:Ï™“ÿê«¿êi  1˧NuÉÍ5ݾ]©Ã¦÷!OC3CžÔy ­úåiz¯æÇÅÅ3F«g¡©“Éd}ôѰaà ½èˬY³lllâããG«j~e¥læLç£G-?ø /8XÓgÆ)!Áæ­·ûõ+]»6×ÌL͆³²Ì'Mêкuõºu7:v¬ÒßD€¾UUÉ–,i·m›]xø-nªöP[¶Ø-]Ú^¡(ŒŒ¼mjJ;p4aJ¥éôé.wïšlÚ”£óMÕÔ‘§¡9!O´EžÔC½ó4­ªùôÍ`0ffµ117F.œ=ÛiÕ*‡òršå¡I*/—­Zå0{¶ÓèÑ…117ôúQáãS±}»ÒĤvÔ¨Žr«š*¥Òtòd—]»lÖ®ÍÕ÷WD!Ä„ …k׿îÚe3y²‹Riªïé=9xÐjÔ¨Ž&&µÛ·+õZÊäih.ÈÓ€z Oê¡Ñò4ªù ÉÄD„‡ßŽŒ¼kì¶oŸµ¡Whgß>ëà`·ØXûÈÈ[áá·MLcR—ª¸¸œÀÀÒ©S]¦Ow¹|™ýÖД”–ÊV­rvÏË3‹»®¿·ïTw=/Ï48Ø}Õ*‡ÒRJ“hJ._6›>ÝeêT—ÀÀÒ¸¸—Ƹæ—< My -ò4 9O£Ó4B§fÏ vÔåå™þç?ß~këë[>vlÑ“O–8;sk*ŒWn®éÖqq¶#FÍŸŸïèh€ÿcµ\º´ÝÅ‹fO=Uòâ‹Å÷ô±" µµâÌ‹„›mÛl++e³gÿ:qbAãßL]U%Û¼Ù~Íš6ffµ EQppqÏžå2¾0ÂX•–ÊŽ±úúk›ýû­½¼*ÃÃo÷ëWÚøË OCÓBžh‹< ¨æiô͇îQÍoö ^Í—œ9c±i“}b¢ui©ÜÅ¥ªS§ÊÖ­kd2²^‹šYAüòe³Ü\SKËšàà’‰ zö4äö€Õղݻm¾üÒîĉVry­§g¥“S¯Á¨”—ËòóM²³Í‹‹å®®U£FN˜P¨¿­;5qçŽÉ–-vÛ¶Ùåä˜ÚØÔøøT´iSmaÁÇ ŒHq±<7×ô—_ÌjjdþþeãÆ ^bbbÈÿKÉÓ`äÈÓ€z OêAçyÕ|èÕüfÏHªù’òrÙñã­ÎžµP*Í ä5¤»0r¹°³«qs«ìÞ½ü±ÇÊŒ*§¼}ÛäèQËŒ ó;wL‹‹¹‚FÄ¢ÖÞ¾ÆÛ»Âϯ¬kWývúÖVF†yZZ«ìló‚9mÁaTlljÛ¶­òõ­èׯ´];CVUîCž£EžÔyP:ÏÓ´ªæ³¹£caQ;`@逸‘hºÚµ«~î¹âçž3ô:€&Å×·Â×׸¾¸FŽ< ¨ò4 ÈÓ€‡b\Œ]‹«æoݺ5""¢æ;B»té"“ɲ²² ²*êЫù‘‘‘Vóׯ_ÿé§ŸúøødUÔ¾ù¿4hРAƒ ½ BÇÕü{÷î%$$dee™ššöîÝ;((H.— !’’’:$cgg7oÞ¼C‡%%%I#/½ôR×®]뎠RVV–˜˜xþüyKKK//¯!C†XYY]½z566V: <<\.—WUU-[¶L sttÌÉÉY·nÝ… „K—.•ÂN™2ÅÑÑqùòåÒ‘/¿ü²··÷ƒsÉd²îÝ»?ýôÓfffÒ¸úSlmmwîÜYXXèëë;lØ0™ìm+•Ê={öäççwêÔiøðáiiiÒ©ppp˜>}ºzd›={öäääTWW3¦[·nu¬Jó“ ¼öÚk·nÝÚ¿aaaç·naañèÿÆ€F§ËN;ß}÷‡‡Ço¼qýúõÌÌL…BáïïõêUéÑ¢¢¢¥K—þ÷¿ÿ­­­•FNŸ>½~ýzÍ#!’’’<<<æÌ™sùòåK—.-X°ÀÕÕuÕªUÒ£vÑÙ·o_ddd^^Þ#Ÿšš™ýà\W®\ÉÊÊzå•W:wîüÓO?Ý÷”Í›7=úüùóÇÿûßÿ>|øðº'Ú¸q£··÷Š+nܸ‘””©T*fÍšáÇŸ9sæêÕ«Ë–-;wîœ&«Òä$$$$DFFFDDŒ7.;;;###$$¤gÏž—.]zä‰4>]›Ÿý /¸ººþüó϶¶¶Bˆùóç÷êÕkôèÑG jÓ¦ÍÛo¿}çÎ!D×®]ÓÓÓ¿þúëÇ\“Ò#FŒèÔ©SJJŠ¢¦¦æÙgŸ=xðàܹs#""Ž?®ÚÆÖÔÔ4""¢¸¸8%%EéСƒê˜ððpSÓß_{DDĪU«Õ_Έ#ÜÝÝSRRìíí…yyyþþþÁÁÁgÏžuvvV=åÀ”®Žoß¾}TTÔáÇŸx≇ž¥S§NM›6­[·nÉÉÉ666Bˆ_~ù¥gÏžBˆ©S§¨/&55õÈ‘#æææBˆAƒuëÖ­îU¹»»kxîÞ½{ôèÑìììcÇŽIç!,,,00pÔ¨Q'Nœxä½€F¦³kó׬YsïÞ½×_]*Ä !¼½½GŽyìØ±äädidñâÅ …â½÷ÞÛ¼y³B¡X¼x±ª”¯I„¨¨¨’’’9sæH¥|!„\._¾|ùK/½¤«W¡¢šK*š !gΜ™ŸŸ£~dHHˆTÊB !233ÿ,lLLLUUÕìÙ³¥R¾ÂÃÃcÔ¨Q=xÚ´iR)_š¥[·nš¯JsæÌQý¤0tèд´´Ã‡k o:»6?--MqìØ±›7oª¯]»&„HMM0`€4²qãÆ¬¬¬I“&M:uâĉZE8yò¤BÕa_âççççç§«W¡"Íåëë«>(M}âÄ õA777Õ¿Û´i#„(..þ³°éééBˆÎ;«zxx<ô`WW×z¯J:uRÿ³K—.IIIgΜ8p ¶¡z¥ã]pÕÛ×!†:tèÐ>}ú¨F¬­­ÿú׿¦§§'$$äææ:;;kAÕp_sUUUÚ>ERÇ\÷5¢111Ñ6ø}ª««59L«U©û³“ Þ[_œ6;h {{{kkkC¯hntVÍ÷÷÷?tèÐ3Ï<£P(TƒÅÅÅ+W®ôôôT¬_¿>++kÿþýÏ<óÌÈ‘#<¨j&óÈþþþ?þøcffæ AƒT9räÈ‘#o¾ù¦Bª!´mÛVzTº´_T|—*×{÷î-((xh£i®ŒŒ õ¹222„ ¹ gÏžÒKP¿þ]ó½g5Y•&'A5o·nÝT^¸pAZ¡æ/xP«V­ ½ ÒYßüÙ³g[[[øá‡eeeªÁÈÈÈuëÖ©:Æ>|øƒ>ضmÛ!CÖ®]›’’ªy„Ù³g[YY­^½º°°Pz´´´ôÕW_ÍÎΖþ”:بv|½råʾ}ûî[§‹‹‹BÚ‰7:::55õÏ^Ž4WAA4’——íàà0cÆŒz!!„ 555]³fªOvvöÎ;5|º&«Òä$H¢¢¢T—í§¦¦~ÿý÷~~~ªžH㡳kó===wïÞ=~üx__ßàà`›ääd¥Rù¿ÿýÏÜÜüܹs_}õÕÚµkxéÒ¥víÚ•••¹¹¹}öÙg2™lðàÁ'N¬;‚ÂËËk×®]&LèÕ«×°aÃÌÍÍ¿ýö[ww÷+VHk Û°aCHHÈøñã…™™™cÆŒ‰ýä“Oüýý§N*„?~|lllHHˆ§§gRRÒÑ£GËÊÊ–/_.•õ¿øâ‹sçÎÍ›7O5WïÞ½Ÿ{ªªo¿ýÖÂÂbïÞ½Rw eË–IÆ~ñÅ999S¦LÙ¸qãþýû… ÷îÝ[¸páƒg©gÏž±±±Ó§O÷óó6lXIIIZZZHHHtt´êõÈ©©©ÿøÇ?þò—¿H=rUžÉÀ˜ŸŸïíí½mÛ6:í€Òeßü!C†\ºt)11133ÓÜÜ|áÂ…ÁÁÁê}ðgΜ©~ü”)S´$pþüyKKËÏ>ûlðàÁªG]\\233wíÚ¥T*=<K!!!AAA»wïÎÏÏ÷ôô\½zõÒ¥K…–––uDÖ|UšœÉرcÇ—PPPðùçŸ>Ü¢îÅ B¦íÖ²2™,..n̘1zZP³boo¯9rä®]»òóómmmg sçÎ]½zuVV–···†O‘Éd}ôѰaÃôº0ЬY³lllâãã ½¡³¾ùÐPTTTll¬êÏ3gÎìÞ½{ìØ±VÊ49ºì´M<õÔS ,8tèP—.]”JåŽ; Õ8³çää¬[·NÚ$à£>êӧσýŽÆ†j~c‹ŠŠZ°`ArròåË—œœÂÂÂy ÁÁÁÁÁÁ<) Þ¨æ€«««¡6èСCDD„A¦Ô}ó0vTó0vTó0vTó0vTó0v¦õxNJJŠÎ×ãwòäIC/z”››ëíímèUx8Ymm­vOÉô´†¥P(âãã ½ ¡u542úæ`ì¨æ`ì¨æ`ì¨æ`ì¨æ`ì¨æ`ì¨æ`ì¨æ`ì¨æ`ìþü*MíxiIEND®B`‚fio-3.39/examples/dirstat-ioengine.fio000066400000000000000000000004031476262051600200150ustar00rootroot00000000000000# Example dirstat job # 'dirstat' engine only do 'stat(dirname)', file will not be open(). # 'filesize' must be set, then files will be created at setup stage. [global] ioengine=dirstat numjobs=10 filesize=4k nrfiles=5 thread [t0] [t1] [t2] [t3] [t4] [t5] fio-3.39/examples/dirstat-ioengine.png000066400000000000000000001014751476262051600200370ustar00rootroot00000000000000‰PNG  IHDRgü̹8­bKGDÿÿÿ ½§“ IDATxœìÝg@S×ûð'„²§²DPDEqƒ(q+ E«XqµŠ8êÖºuolÝ ýé_\­ÖQ'u€Ö Qe)CÙ!äÿâê%2b„òý¼º99÷Üç^¾Ezrs.G(©È»P ˜5€b˜5€b˜5€b˜5€b˜5€b˜5€b˜5€b˜5€bªò.dîÞ½{S¦La_N˜0aÀ€r¬äB(þý÷ßçÎ{ýúuAA®®®¹¹¹£££¿¿¿¡¡¡¼«‚{j?[[Û   ØØØ+W®\¹r%!!}kË–-^^^ëׯ—cy•W³ÎB.ÕfggwïÞ½oß¾›7oÖÑÑ=zô?üpçΉ'>þ¼:+ÅÇ …ò®ªƒ££ã³gψ(88˜¹õøñãÇÍš5cÞ½yófûöí+”ÔÔÔ2Û{öìiР¬w—ÅYÈŽ¼ª;wîŠ+ˆ¨G.\`ÓÒÒêÕ«wùòå:TOP#`… åU¿~}++«øøx ;;»*3??ÿÊ•+Ìvvvv5ì.‹³yU{ìØ1f£oß¾l£¡¡áÕ«W«­ ¨0k  ¼ôõõŸv÷Ÿ~úIGGÇÐнÑõÅ‹¡¡¡/^¼HNNÖÒÒ²±±éÖ­[ß¾}¹\®$»—VæY°/¯^½zòäÉ/^ää亸¸ <ØÆÆ†íPTTtúôé³gϾyó¦¨¨ÈÆÆ¦oß¾^^^§ôà ,xóæÍÅ‹?|øP¯^=???OOOñ×|ëÖ­qqqÌ»ÖÖÖ?þøcéj+zñ5—vüøñß~û-++‹=è–-[D;¨««³kVHxÝ –@­ËÌñ©¨¨,^¼øøñãݺuÓÒÒbþ  …ÉÉÉááášššLãÑ£G…Ba\\œhcß¾}½½½;ÆL:GEE}ÿý÷̰óçÏ?{öì‘#Gz÷î­¢¢røða¡PsäÈöOÍðððÿý—©*$$„Ãá|ÿý÷'Ožüã?úôéÃtóðð(((øæîe*ó,„Bavv6³‡ÃY¸pá_ýåííMDêêê6l`ú¤¥¥uìØ‘ˆ´µµ·oßR·n]"òòòÊÏÏ/=¸¥¥åÚµkOœ8áääÄ´ìܹSÂkþóÏ?ߺu«Ìj+t”oÖ\ZBB‚èøAAAááááááK–,aZ444ØÎ’\7¨õ0k P uïÞ™ìß¿?ÓÇÞ‹ÊÌ3tttJÌ·Š66nܘÏç …Â¼¼|øP´ª5kÖ4nܸ°°y™——§¯¯_âèbv£ôYŒ1‚iñõõeZ²²²444˜Æ'N…Bö±{?ýôÓgüøñLËœ9sJ>a¦eÛ¶mLKóæÍ«üš‹?Š„5Kr‰Ž?^zÖX’ëµV¨¨mÞ¿ÿÏ?ÿ0ÛÎÎÎ̆•••‰‰IJJJ…†}ÊÜš  ø°®1@øðáChh(;k,-ZÄLOš4 SÆPƒà^c€*œœ¼nݺƒª©©™ššÆÆÆ¦¦¦:88L:uìØ±%VPd˜5€bX¡ŠaÖŠaÖŠaÖŠaÖŠaÖŠaÖŠaÖŠaÖŠaÖŠaÖŠ©Vt‡#GŽÈ¢;+++WWWyWrÆ …ÛÑQ) _ 8zô¨¼«9«ð½ÆDtøða??¿*/ähàÀò.Ö5€b˜5€b˜5€b˜5€bÒ< äåÁƒÇŽ+Ñhmm=räH¹ÔSy—/_¾|ù2ûrìØ±æææò+0k\>}úÎ;DÄáp.\(ïr*+++kݺu̶¯¯/fä ³Æ5‰³³³³³sRR3k¬¢¢$ï¢*…Çã9::²³Æ wX׊aÖŠa…ŠÚìŋ׮]KNNVWWwttìÖ­›¦¦¦h@öàÁƒ¢¢¢fÍš¹»»³ï¶iÓÆÛÛû›C>}úöíÛì^3gμÿþ­[·òóóíìì|||444Ä´eË–²:¨8Ì×Niii#GŽ|8cÆ ssó}ûöõèуéãããóäÉ•aƽ|ùrÁ‚wïÞeÞ3fŒäC½{÷nçÎÌöµk×ìììÁÿþ÷¿¢¢"{{û[·nŠ9hõ]ø¬PQ;õïßÿĉD´xñâßÿ=,,ÌÂÂ"))é»ï¾{úô) __ß'OžÑÌ™3÷îÝ»cÇŽ~øaìØ±ÌÆßÊÛÛ;00ÝÑÇÇgçÎ!!!½{÷&¢˜˜öþåo䳯µPDDÄ•+W˜í6mÚ—ËmÕªåææ®]»–ˆ._¾üøñc¦O—.]˜^½zI1T ì vvvÌ{  r„*j!v• ":pàÀ¥K—ˆèõë×L 3 ÌÎÞ‘‘‘³all,ÅP%°£q¹\f#''‡Ùð  G˜5®…„Baéí 0€ˆJ<ˆ8NU %~4)ºAÍ’œœ,ï  fff’wƬq­rîܹŒŒŒ-Z°-¾¾¾žžžìËuëÖÙÛÛQÓ¦MÙÆÔÔTfãýû÷%”d(ÉIxP¨¹²²²ä]”¡B³ÆX׸V9wîÜ¡C‡:wîܾ}{¦åСCì»/^œ1csƒp—.]Ø9Üððpfãüùó%”d(ÉIxP#Ük\“yò$»ËêÕ«"""n޼ɴÄÄÄM™2E___üA·mÛæííííí]õ×$ƒYãšG̼jïÞ½‰ÈÌÌìüùóÑÑÑׯ_OIIÑÖÖnÛ¶íÖ­[õôôØÎööö< {ðàP(lÖ¬Ù¼yólmm™wÙûˆ%ª^½z‹-*]LïÞ½K4–>èš5k‚ƒƒ+uE êpDw&ÑÎáÇýüüdTT› .‚>}ú°-QQQíÚµ#"÷ïßWt ¨ÑHDG­Ì /_¾¬¢r *5lØPòÎX×Xy]¸paòäÉÙÙÙlËÿþ÷?fcêÔ©˜2PNX¡By¹ººþùçŸÍ›7÷ööVSS»uëÖ¿ÿþ«¥¥5kÖ¬… Ê»:Ì+¯ï¿ÿ¾ÿþQQQÑÑÑïÞ½ëß¿ÿ¬Y³x<^ݺuå]È f•‡Ãi×®³–1a]c…{@±Ü¿¯yé’öÝ»š11ê™™*ùùyWµ„††PO¯ÈÁ¡ e˼®]sZ´È“wEŸ!ó #È<(d” 2Ê™e#÷Ìs„BaÅvàp>ìçç'£‚@.HDG­Ì /_¾”z_¡Nž¬»m›þ‹ê––|W×¼F ûPžü|Nz:÷ùsõ74Ô ÆŽÍðñùÄ‘ÓuÈ<È2Ê™eƒÌƒ²AæAÙÈ"ó 6”¼3f€HÞ³Æi,^l|ÿ¾¦¯ï§aÃ2›5˯Lßôè‘ÆþýzýU·E‹¼… ßWäy¨fÈ<(d” 2Ê™eSU™¯Ð¬1Ö59Û¶M¿K.Wø×_ «V¥àŸ[¨Íšå¯Z•ò×_ \®°ËmÛô«óèÈõë'06–QIŠI]]8s懟61"³ª¾z¦ä™%¦L™òáÃ"²±±Y±b…쎅ÌK™—…äää°°°çÏŸ'%%åçç9;;÷íÛ×ÐP&Í3y !ó²ððáÃððð·oß&''«««ÛØØtêÔ©S§N2}"2/!d^v^¿~œššJ2þKžÌK™—‘”””cÇŽ=zô(++ËÈÈÈÕÕÕÇÇG]]]vGDæ%$‹Ì³p¯1T«}ûôœœò{öÌ–w!òQXXYŽwïÞÉè u·îÑCÏ­ÈH­ÈHõ§OK÷QùÒºwo“¹sUÒÒ>ZX¿¾ÑªUÖÝ»k‡‡Ë¨*…Õ³g¶“SþþýzU5 ’g^ÔöíÛÏž=ËþÑ£G²;2_!È|Õ vww¿yófÇŽûõë§¥¥uâĉ%K–téÒåêÕ«2:(2_!È|Õ4hP¿~ý>|صk×¾}û¾~ýzÏž=#GŽôóó{ÿ^V¤Bæ+™¯r¹¹¹ëÖ­ëÓ§Ïßÿ-ë¿äÈ|… óUîܹsݺu[»v­™™ÙðáÃÓÓÓgÏžíéé/£#"óRå™gaÖªO~>çüy??™,Ó®8"""üýýýýýÇŒSf‡Ý»w(EF·'˜,Zdüë¯Mš”×G%7×bäHÕ„¡šZòÆÙÝ»˜3§ qc•¬,óŸV‹•EaŠÌÏïã¹s:Up‡2ÏŠÝ´i“ššš¬‹A楀ÌW”˜Ì§¤¤´iÓfãÆ={öìÝ»÷–-[Z´hADÙÙÙÓ¦MãóùU^ 2/d¾¢Äd>55µY³f;vìèÕ«×÷ߪ¥¥EDwïÞ6mš,ŠA楀ÌW”ø¿m|}}ÿþûï5kÖTO1ȼùŠ“ù'OžLž<977·eË– ,èÚµëÚµkUTT^¿~=jÔ¨‚‚‚*/™—Bf^f úDEiææªtë–#ïBdëÇÌMwîÜ)³CÛ¶mÛ—R¯^=Y“çâ–1r¤Ë-¯nh¨êÛ·DÄ·µ-ªS‡iÌoÚ”ˆ8†6È¢0EÖ­[Nn®JT”få‡BæB¡pîܹ:u’u1ȼùŠ“ùÑ£G¯^½š}ÉápÚ¶mËlgdd$$$Ty1ȼùŠÿ{~À€ìbÆÆÆnnnÌöõëד““«¼d^ È|E‰Ï¼¿¿ÿ¹sçºvíZ=Å óR@æ+JL惃ƒ5kÖŒi144´°° ¢ØØØ£GVy1ȼª0ó¢0k\>Ìãñx<ÞÀå] ÈÏáÃÄãGJƒG4,, ÍÍ«òi¶5Q||üúõëþùçQ£F-\¸ðŸþ)**’ѱ>ùú~s]'3g˜ ‘Û(01ùünXG7Ç)2sóBsóÂÇ5*?2Ï ½{÷î²eËTTdþ‡2/d¾ ÙÙÙYYY‰¶°_Òçr¹fffU~Dd^ È| îÛ·¯h‹©©)»‘‘QåGD楀ÌW­#FÈt9×y) óU%''çÊ•+̶‘HºŒ¿dòÌ—ìU!d^ U˜yQxž4„BáäÉ“uuu—.]*I77733³€€€˜˜Y×ÕG(¤É“IW—$‹¹¹‘™Çàí[5[ÛZþ»{þüùQQQÌö§OŸüýý‰ÈÕÕuâĉlŸ3f899ýù矡¡¡¡¡¡­ZµÚºu«è?Ã%˜¯òõÿw%oÚd¸~=û՛ġ¦TŸ+i}â°kQ©ÿ£ ÙæÊìi6 «nÝ¢«à®Xdžˆ,X ¯¯_ÑÕ-‘ùj†ÌKî›™g¬Zµ*,,ìÕ«WDÔ´iÓY³f±_Û/2_ÍyÉI˜yŸÏ¿ÿ>³=dÈfã2!óÕ ™—\…2/9d¾š!ó’“ù>°Ý¸"ëE¨~IWVVV~~¾†F·¸"óÕ¬ª2/ ³ÆÒÐÒÒŠŽŽ®†Gú€BÓÒ¢èhB *B .W(ï*d«Y³f/_¾d¶UUUÛ·o/ú®††ÆôéÓÙ—\.·oß¾wïÞ%¢¨¨¨¨¨(vùËòZµÊoÖL=&FãÁ õ÷íËòõÕùûo¾µõû ¨üõž¾é«o ²Í‘Á#—+üò™z¥ ó'Ož ßµk—˜‰ƒ2!óÕ ™—œøÌ³¾ûî»fÍš]ºtéĉ?ž>}ú¼y󼽽˙¯fȼä$Ì<ãðáÃ̽Æîîî3fÌÓ™¯fȼä*”yÉ!óÕ ™—œ˜Ì‹>ÈWt­9Ñí‚‚‚2g‘ùjVU™…u¥dcc#£GWAMbcCˆTŽè77™éãòÕÕ“6o‘ÚË—õ®ó÷ßÉ¿ÿ^™n‰¨Hä{F$ò Gd»¨nÝÊ”VzzúÒ¥K===y<ž»#óP£9::zyy­[·. €ˆRSS§NÊ~ý³LÈ<Ôt·nÝZ¹r%‡ÃùñÇwíÚUæ$‚(d” 25N/š#"H¢ ?/ôÌápDW®(™¯éj佯óçÏg¶Ïž=»wïÞóçÏs¹\fÕ毓ýû÷ïÞ½›ˆš7o¾qãF"ŠŒŒœ9s&ééé8q¢Ä8çÎÛ³gÏ™3gÔÕÕ===GŽÉçó7nÜxùòå:uêx{{2„éyãÆ9sæ0Û.\`WÁ …§N:qâD||¼ŽŽN‡Fe\jïÜÜÜM›6EDDðùüöíÛOœ8ÑÐÐ}÷Ò¥KGމ‹‹ÓÔÔìØ±ãðáÃM¾,æ]ËMœH~ÞîуæÍ£éÓ‰}vçéÓ$ò«ê³ˆúò㣳giï^:ž¸\ru¥‰‰ù#uÿ~Ú½›ˆ¨ysÚ¸‘ˆ(2’fÎ$"ÒÓ£'JŽsîíÙCgκ:yzÒÈ‘ÄçÓÆtù2Õ©CÞÞôdýO IDAT%tã}‰]¸@ìÄB:uŠNœ øxÒÑ¡hÔ(*½Ž{n.mÚDÄçSûö4q"‰Ä€.]¢#G(.Ž45©cG>œ”$JIôI¹¹¹â;ZX$oØPoÄ"ÒˆŽNýõWA¥¿+'ÔÒ*43SMN&"N~>Û.ºÍoР’GåtìØ±´´´ØØXfq4"zþü9³ñúõk¦qÅŠ666å€ÌC-0xðà]»v‘P(;w ºuë{ïž½½}PPPbbâ¿ÿþ[zœqãÆåääŒ;ÖÐÐ0 `îܹÆ ãr¹cÆŒQSS:tèæÍ›™½5jÄîUTôyu>Ÿß¯_¿þýûL˜0¡OŸ>;vìhÒ¤Idd¤hå|>ßÇǧ  `ôèÑ]»v]¿~½‹‹K\\óîúõë{öìidd4qâÄAƒ8qÂÒÒò;sZ»IýúÑ•+”žNýû NyyÔ´)Q™ë£;:RPÒ•+4v,edÐèÑÔ¤ ÍœI_b@;SPݺEì-œööD‰‰ô%_3nåäÐØ±dhH4w. F\.Cjj4t(}‰5jT¼×—ŸOýúQÿþd`@&PŸ>´c5iB_Ç€ø|òñ¡‚=šºv¥õëÉÅ…¾Ä€Ö¯§ž=ÉȈ&N¤AƒèÄ ²´$%‰X¿~=ó©+==Ý–ä ±ÌnÚÄMI©|Uy:0*?²ì6ßÖ¶Päaè’ëÓ§Ï,X0ù‹† 2o™˜˜0-ßüp™‡še̘1<m½? 99ù›# óPãäææ.Z´hêÔ©mÛ¶=}ú4;eìïïÿèÑ£oîŽÌƒ²A桱¶¶¶°°`¶?}úĶ³Û’,á‚Ì×\5rÖØØØ˜Çã1·ñº¹¹Í™3ÇËËkéÒ¥]»v=tèPvv6ÙØØðx<ѵº y<^]‘{ÔKŒ3}út//¯íÛ·[YY­\¹Ò××wÊ”)ÞÞÞ!!!&&&ÌM"DdddÄîÅZ¶lÙ‰'–,Y²víZŸÀÀÀëׯçääôïß_ôæÁ”””€€fU»3f„††ÆÅÅ?žywûöínnnË–-ëÓ§Ï AƒÎŸ?¯¯¯/úŸemæâB“'Ó¬Yôà?NDtõ*Ðï¿'ººy1ccâñ>߯ëæFsæ—-]J]»Ò¡C”MDdcC<ÞWß}04$D¿ªPbœéÓÉË‹¶o'++Z¹’|}iÊòö¦21¡/1 #£â½X˖щ´d ­]K>>HׯSNõïO¢÷¦¤P@Í›GÞÞ4c…†R\}‰mßNnn´lõéCƒÑùó¤¯OJƒÚBô+ÌÆ°aî]»FDÏŸ?¿|ù²hçÿþûÙÐÐÐððð?²Ö­[;v$=Ê·³#"njªù¤IœJ¯]”ùå&zµwïØFÕ„„ÏïVÉñ¡Ö+/óõêÕkÿ5¦ƒŽŽÓ¢-òÔãÒyPLb~Ïß¹s§Äïù'_žñMDì'åAæA1‰É|dd¤——סC‡f̘±gÏÑ'†EFFfffŠ™Å$&ó•„̃b*/ó‡ýÖàÛ·oÙ>Ì¶ŠŠ û½üò ó5Zœ5Õ§OvÛÑÑ‘ˆÞ¼y#Å8½{÷f6TTTìííE[TUUíííÅBD#GŽd[ÌÌÌ<==ß¾}{îÜ9¶‘Ëå~ÿý÷ìK///CCógÏ2N5hÐàöíÛ¡¡¡D¤¥¥uþüù–-[Jq:5ÕòåäéIóçÓܹ´m<(éb7"1 GG""©b@_~褢Böö_µ¨ª’½ý7† !"‰™™‘§'½}K"1 .—Db@^^dhHgÏóWuƒtû6…†³v»–?OJƒšÏÎÎŽÙøôéSnnî“'OnܸÁÞkvöìYö[QQQGŽa¶gΜi*öãPÕ”³É“S–-ËwvNÚ¼¹HK‹ˆ4oß6\¹²’çµj•1r$qSR´¯\!"µ„­›7‰(×Õ5sèÐJ޵žøÌK ™…%>ó!!!÷ïßg¶ß¾}»dÉfÛÔÔ”Yã¸<È<(,1™>|x\\œ‘‘ÑÕ«W‡ â/â›Ã"ó °ð· (1™pqq!¢k×®1ßš:þœÃáŒ=ÚÜÜœˆ^½zUTTäèè8yòä=zˆ³ž¿¿Ú»w*ÙÙzûöåvî¬"ÔÖfîa×ß³GóáÃÌaò¼¼J郞¿s'©ÅÆ2-šÔó÷'¢ô)SrÛµc?Ì[hm­¿u«y` ßÁAíÍ!—›6eJ%ŸTÊ@LæYK—.ŽŽ.±®±‰‰Éo¿ýVæ˜È<(21™Ÿ?þÙ³g‡ faa¡ªªËçóuuuûôé3yòd1Ÿ"ó ÈÄdž¹+-%%%¥‚ß8FæA‘‰ÿÛfË–-ìz•DtèС«W¯ÑöíÛë–ó .d™˜Ì«©©ýïÿ[¿~ý‘#GºwïnmmS¯^½ &øùù‰™¯jü¬±xGôW9Ið°))¨ªª2ÓÊùùù¢O þøñ#‰>MRtípóù ÓÇÄÄd÷îÝ[¶l¹}ûö™3g~ûí·%K–üùçŸì]ÏJ!3“ø|20 éÓ©sgªôǹDD}’A HUõó´r~>‰>0šYXGôŸ¥bðy ¦‰ íÞM[¶ÐíÛtæ ýö-YBþIJƒšoùòå3f̈‹‹VVVì4››››››@ xÿþ}rr²P(¬_¿~éÇf––>y2»-ÔÐøèïŸåë+ÚÏ|>QJ~Ó¦¢ûŠ*`n¨ÿ"sèÐÌ!CÔ޼ᦥթ÷³–¹8 @YÊË<ëûï¿/ýшè?š% ó àÊ˼¯¯¯¯¯¯@ `&Ñ„B¡±±q½zõÄ?(†yPxåe~ÿþýì×™Kc¾ Z&dœ˜¿mzõêÕºuë2÷ÒÒÒ*o@dœ˜ÌkkkÏŸ?Ö¬Y±±±ÙÙÙFFFbgÍBækZ~5 Þ¿ϾÌËË{óæf™V«‡ãááqñâÅÈÈÈN:±íQQQ‡Çã±-iiiIIIÌ=†D”œœœ`aaÑ A"òööÞµk—¹¹yÇŽ;vì8a„úõëoذA‰fsrÈ×—Ö®%]]êÓ‡¤óçË^Ô¸B H$”—GoÞ”ý„½ÊàpÈÃ.^¤ÈH‰EE‡C"1 ´4JJ¢/1 ädJH bñéíM»v‘¹9uìH;Ò„ T¿>mØ€YãÇÐа¼o±q¹\33³ßN/÷ë‡ ä7o.áŽSÓ\ÉŸÀáðmmù"ÏÉœ˜ÌQ“&M*42ŠOüïy öé1’@æAñ•™ùv_îùª(d_y¿ç6løÍuêKCæAñ‰ÿ{^MM­qãÆ’†Ì×5~]cñÚ´ióâŋ۷o3//^Ì•ÍmêË—/×ÔÔœ>}zjj*Ó²víÚû÷ïŠþ²ªªêÔ©Sóòòˆ¨  `Ê”)|>áÂ…‡ˆ"""V®\YXXÈtŽŽŽ …Öå|öR;ýø#ùøPÿþÔ½;­[G—.Ñ´iU0l›6ôâ}‰-^,«o+,_Nšš4}:}‰­]K÷ïS` ‰N—¨ªÒÔ©”—GDTP@S¦ŸO ‡CDA+WÒ—Pt4 …¤T1¹ª‘³ÆÑÑÑ</""‚ˆzöì¹{÷n"âñx¡¡¡D0gΦçŠ+ÝÝÝÛ´iãèèhkkëàà™™ÉãñvìØQzœgÏžñx¼ÈÈH@À øðáCwïÞ½ÜÜ\·wïÞ2KjÓ¦Í?ÿüÃçómllZ·n]¿~ýÅ‹/Z´hóæÍDtøðacffæáááààжm[ssó“'O®^½zìØ±Ì Ë—/?þ|½zõ\]]œœ¼¼¼† ²zõj™_PEðÛoÔ¶-ýñ…‡Ó«W”™IÇŽ‘šmÜH;ÒþýeìM<EDõìI»wñxJD@_b@+V£#¹»S›6äèH¶¶äà@™™ÄãÑŽeŒóìñxIÁç>$îÝ£Ü\âñ¨œP›6ôÏ?Äç“ µnMõëÓâÅ´hmÞLDtø0ñxCffäáAÔ¶-™›ÓÉ“´z5}‰-_NçÏS½zäêJNNäåEC†’Ä@\¡ÂÒÒ2((ˆ}É,§"ÚbddÄl4nÜøÑ£G/_¾ÌÈÈhÒ¤Iݺu[·nÍ,%lmmmll\bœ-vvvzzz¢-¶_ßô.ºD››ÛÝ»wãââ´µµœœÔÕÕÙ·˜¯¢khh¸ººŽ1"::Z 4kÖL[[›aüøñãÇOIIa–Ѱµµ-oýZÈÓ“Z´ø¼mjJêê$rÙ?/ÝP‚¥åW}˜UuD[¾Ä€7¦GèåKÊÈ &M¨n]jÝúóRÂÖÖdl\rœ-vv¤§÷UK‰ï>ˆ®TèæFwïR\%$¶699Ñ—›Ûçåih«+AÑÑ$P³f$?žÆ§””ÏËhØÚ’òÄ@œ5ÖÕÕ],˜Qº…Áår5jľ,±h½$ã°-?ýôÓš5k˜í>˜™™±óÂ,kkëÒkJXYYYYY±/µ´´Ê[;ŸˆLMMÅ<_»Örp ‡¯ZÊùÓÕ-£Oy{q¹$*qý%‡mùé'úúðĮ̀T ÈÚºŒ5%¬¬H$¤¥U² Q¦¦¤„1P#W¨—¨¨¨ãÇQ\\\TTTß¾}å]ÈCT?NDGQQ„@í‚Yã ;vìôéÓÛ´iãììÜ¥K—U«VÉ»"‡±ciútjÓ†œ©KB  v©‘+TÈË„ &L˜ ï*@Þ&L Äj/Ük Å0k Å0k Å0k Åð4<(ÛéÓ S¦D‘ººJtôwò.@æyP6È<(d” 2Ê™¯Z¸×jƒœA·nF¾!ïBʠȵ‰çímÓÏÍÍD´±æžN-£È?E®M|øààà ï*¤' ‹Š„EEByRE®M U{:Í›ŸtrÒ?|¸sµíXk(r®¹6) ó B‘s¥ÈµI™WŠœ+E®M ȼ‚Pä\)rmR@æ„"çJ‘k“2/5¬P’ kÉï ¨•ttTÃÃ{ɻв)rmR¨e§Ss)òB‘k“B-;šK‘Š\›jÙéÔ\ŠüƒPäÚ¤PËN§æRä„"×&…Zv:5—"ÿ ¹6)Ô²Ó©NÒÌoݺÕÏϯÊKEÆápÆŒ,ïB@V(ï@!à^c¨ñ.^L7î&³ýø±†—ÙÎÈ(ؼùiXXbbb®¶¶jË–†:¯p”––¿iÓ³þILNέ[W­m[㉛4Ñ+1æåË=W¯~|íZ —Ëqq1\°ÀÙÚZ‡äåËOkÖ<¾y3µ°Pب‘î„ ÷î}yýz* hÓµ«E‰Ú$YLyåiÜø/@Ü׌5nÞôÓ=€š6Õ›1£©øK-ÚráB÷àà'7n¤fdQT”—ŽŽê–-ÏΜyûî]ކ·uk£Aƒly<3.—³k׋•+Ñ;ìí—ËyöÌ—ˆá¹soyóìYæ§O…66:~~¶Ã‡Û©¨pˆHÌŽÊ™g!óJ™g!óJ™g!óJ™g!óJ™g!óŠŒSÑe8ÎáÇq¯±²áp8S¦LÁ½Æµs¯ñÑ£G+3ÈË—/Åw˜8ÑŒˆ6nL®ÌQÊ3vìͰ°Dö_ÜÔÔ¼¯äå –/wi×Î$55oíÚÇ.¼[¶¬•ŸŸ ¥¤ä x%?_°re«víLÞ¾Í^´èþýûéÿ÷î..†¢cvïn1fL#GG½ÿþû0fÌÍFtã1Þ¼Éî×/\K‹»jUëV­ŒÞ¾Í^ºôá“'™YY|Ѷ–¨M’‘%)¯Ê•8øøì+¾~’’+Éé´kg­]ûøíÛœ¹s›óxæÚÚ\Ýß~k+ ýõ~‰¡üül\\ µ´¸;šòxf¤§§|9Êãù 8»»›2ƒ·ÉÍHX¤ø‘%,¯ •8ÆuW¯n’’+áîcÆ4jßÞXKKµE ƒgÏ| Ô¯_Oup¨ëînª©É56Ö˜=»Yƒu$ª}{ã±cé驨ްo_˽{c²² +qrµ2/d¾FC楀Ì×hȼù ™—2_£!óR@æe ³ÆP;]¸ðŽˆºt1g[ÔÕUÜÜLòò×®%ÑÅ‹‰**œ®]-Ø&&šºe$%}õoŒ³sñç¢ZD”œü¹ÃÕ«ÉDÔ¹sñQ 5ìì$úGEüÈ’—W…JŸŽ©©¦„ÿFQ‹%Z<<Ìÿû/mÞ¼»÷î¥3_;ºx±û!myºvµ8p “hK“&z……Â/>JX‰rB楀Ì×hȼù ™—2_£!óR@æk4d^ ȼLa]c¨… Š>}âkhput¾ú-gl¬ID©©yL"jÙòTéÝ_¿Î27×b_Ö­[<ˆº:—ˆ˜¥} в³ 54¸ÚÚ\ÑÝõôÔ$¬SÌÈ’—'ª2kB•w:FF¯^e‰?†–·DKPP ÃcÇÞ ADmÚÜ gÏzâÇùô‰¿{wÌ… ï’’r?~ä³í’®„ùò óµ2_d¾¶BæËƒÌ×VÈ|yùÚ ™/2/G˜5€ZH]]¥n]µOŸøÙÙ…¢ÿ辟GD&&šêê*ººjÙÙ…ÑÑßq¹©¢££š]˜“#ýWêÇüÊ×/]y•YP¿¼Óa ‡|}­|}­ …7o¦îÚõbüø[sç69ÒžíPZ`àͨ¨÷ 8÷íki` ÁáО=1Ë–=]ˆ¿Ì•2/ÝA‘ùš ™—î È|Í…ÌKwPd¾æBæ¥;(2_s!óÒ™—)¬Pµóa`xxÛRPPtýzª¦&·S'3"êÕ«¾@ ¼sçƒè^Û·?ïÔéœø:Eyx˜Ñ—/Å0RSó$üTS¼*)¯¢JŸNzzÁ«WÙRèârúåËOD¤ªÊqw7ݶ­‡óÕEKK•Ï/b¶{ô¸xèÐkæ¬ML4GŒhhh¨ÁüËšŸ_TbäÒ;J]d­ÌK™¯Ñy) ó52/d¾FC楀Ì×hȼy™Â¬ñg‰‰‰§~ýúò.„–/_R¢QqÊ«FäŒæ Ù5D¾e¼Ëxt2èÒÓK%Ú¤¼šnÆ 'KKí¥K\º”˜]øêUÖÔ©Q©©y 8k0¬­ufͺsåJò§OüŒŒ‚ƒ_mÚôlΜæ’4:cFS}}õ%KîGD¤ääž?ÿ8kÖ&&šURåË«øA¿:˜˜OÓ¦E•ø²OE-XpïéÓÌ‚‚¢òwìx.’«« ûnÓ¦ú¯^e%&æÞ½›—ݶ­—ËißÞ855oçÎééyy‚›7SCC_•¶ôŽ•)²v@æ¥:(2_ƒ!óR™¯Áy©ŠÌ×`ȼTEæk0d^ªƒ"ó2ĽYZ¢8œÃ‡ûùùɨ 9Ú¿½zõºuë&ß2êÔ©Ó²eˈˆˆíò-ÃáL™2%88X.G¯r99;®îðlîÙȬ‘˸ýúvÛemçyÍ[ê»T´].å 8ˆŽ=Z™A^¾|)¾ÃĉfD´qc²ønuñbâ¸q7Ù—ß}gµn]"ÊÈ(ؼùÙŋrµ´T[¶4 l$úë>#£`Ë–g/¾KLÌÕÕUwrÒ=Ú¡cGS"ºw/}À€ËlÏñãO›ædoœméÒÅ|çNW"zõ*kõêG7n¤ Ô¤‰î/¿4Û°!úÁƒŒ‡û–YÛ°a %YLy²ÃžNa¡°Q#݉÷쉹~=•ˆ´éÚÕBüéQLL?vûÉ“ÌÐÐW‘‘ïß½ËÕÐP±µÕñók0p  ûÝœØØOóæÝ{ô(]__}ìØÆC†4 ¢ôô‚õë£/_NJMÍÓ×W÷ð071Ñܶí5k¦ÿ×_]ÊÛ± UUV‘yd™¯È|BæÈ<2Oȼ\Ç)™¯BÈ<™Gæ ™/KÆ %³Æ §¼Ycùªe³Æ ¢¼Yc¹¨Ñ³ÆŠ¦gϰ¼<ÁÕ«½ä]HOÁÿÊT4È|-€ÌW2_ ó‚Ì×È|… óµ2_!È|- ‹Yãê{Þ½{÷ÂÃÃù|~³fÍzõêuàÀØØX"jÕª•Ó'11ñüùóïÞ½ÓÓÓswwoÑ¢ÓþôéÓC‡1ÛóçÏöìÙÅ‹¹\n‡Ú¶m[â@òôéÓððð´´4¡PèããsòäIö-UÕâË’’’rþüù„„GGÇŽ;rÄ®_Íô×ÑÑéСCûöí™öëׯ_¸pˆtuu§M›víÚµÈÈH@о}{Ñ>qqqAAAD¤¢¢²pá•—.¯ôá*tŪ\‘°èÂã ÷îk¨jtrèÔÚ¦õâS‹‹„EDÔ¿UgKg¦Û£·®<¿’™›i¡gÑ釥%Ó~îѹ›±7‰ÈÒÀ2 S@Ø“°ÿÞüg¨cØÃ©‡‘M‰cI2È(÷Q—ž^ºw7+?ËT×ÔÎØNt|ÑÑž&=½üìrFN†¥e+ëVNõœÄŸ)Ó?-;ͤ®IWÇ® M>ÿ·z+ôyòs"r¶törö:óðÌóäçZjZ=›öt4wdû\~v™ˆ®>¿t2ˆˆìL솻/qú’®BW ªVjj^ïÞÿܺ婪úù7CBBö›7Y¾¾Öò- @FyP6È<(d” 2Ê™ÉUǺÆB¡pܸq...þùgJJÊž={ºté²eË–¥K¿º¿rÍš5¶¶¶Û¶mKKK»|ùr«V­œŸ_üÇC‡ýúë¯6løå—_Þ¾}{ôèÑvíÚ­^½ZŠA.\8iÒ¤øøøÈÈÈ_ý5''‡}«°°ílcc³qãÆ÷ïßß¹sgàÀ 6 /ïLEûߺuËÃãK—.)))l‡mÛ¶­]»ö‡~XºtiRRÒÕ«Wy<ž··wnnî7/£øòÊ<œ$W¬Ê¥e§¹¯r÷úÝ+òUdBz”CS&œ´øôâÿ»ùlŸ<~žÿNç_Þ„¥e§…D„4œÛpÍù5¢ã¬<»rçµÃC†ï»±/ùcòªs«š,hråù•вåòŸM>;®îxŸõþØǶ„oaßÚumÛ3¿0xÈ𦠛žyx&='ý죳­—¶v[é–˜™Xæi2ý:yx&-;íèí£æ5š:AP$`ËûõÔ¯Û¯nw]áúÇ?’?&ÿïúÿš.lÊLS™å‰9œ$W d$3³`þü»‰‰¹¹¹…÷ï§Mž|»n]µ å]€¬ ó lyP6È<(d” 2ªŽ{·lÙ²mÛ¶‘#GîÞ½›i9räÈ Aƒ444˜;j‰(44tæÌ™ƒ>pàs3ohhè!C¬¬¬V¯^íèètïÞ½gÏž%''Ÿ9s†ˆ„Ba‹-‚‚‚¦L™¢®®^¡Arrr.]ºÄ ²lÙ²V­Z¹»»3o±e©I'Œ<¸uèÖ±c™–À}3ÿ˜Ù´^SÏæž½›õîݬ÷†° ·_ßžç5ϧ…ýÒëëYÖKN/ñ˜æQ¡AîÆÝ]è½Ð×Å—ˆ~îòó©§Ø·DËžtpÒþûwØ5Ê}ÓòoÌ¿î«Ü“?&[èY”>M¦ÿöaÛ;2-ËÏ,Ÿw|žž–Þ²~ËüÛû{6÷\unÕÅè‹Wg^u·w'"A‘ ß–~¿žúµ¥UK__ÿöþÌí¼¶³s£Îì•!"1å•w8 ¯È‚‰‰æ¾}îÿ÷±ƒ_KNÎÕÓSëØÑ48¸••¶¼K d” 2Ê™eƒÌƒ²AæArÕ1k¼yóf"š3gÛâçç÷Ë/¿$'¯µ±jÕ*"Z°`»þƒ¿¿ÿÌ™3™[’E§8Gú<©Çáp\]]>|goo_¡A&L˜À2þü2ËfF›7o;š±±ñæÍ›-,ʘC=:3‡KDîîîݺu »zõ*» ‡Ã™:u*»×¤I“/^¼cÇŽU«Vihh”s ¥?‰½bU.)3éÏÿþ´4°Úa(Û8£×Œ-—·°/ßg½ù7ÄL×lLç1lãÌÞ3w^Û|1س¹'ÛhªkÊL€‘¹žyãOŸVtúúõ™)c"²2´Ï_ºì÷YïwG쮯_ÿ§Ž?±í;®÷[o®k.¦¿è ÓzL[qfEðÅàùÞóµÔ´˜Æö Ú3SÆDÄUáþÒë—S÷Om¼´‘-I’NÌÙqs3qs3ùv?€Ú™eƒÌƒ²AæAÙ ó lyÌgÁÓ§OUUUíììDÛ4hÀÎ ‚‡ª¨¨:tHtÕ`.—›ýðáÃÖ­[³VVVì¶eeeUtúõë³ì¨ªª–˜]íׯŸøþ¢íŽŽŽaaaÿý÷;kjjª¥¥ÅvÐÔÔ´¶¶~òäÉË—/œ¾±Š®‡£ò¯˜,D'F …B3Ñ‘ §x-”‡ E-5­_OýÊ62«3‹ó²ØEŠ?¯mü1¹¢ƒÔ7øÆÏš­‘y#Ñ:‰hj©’÷×TÓ´5¶}ôöÑÓħ.Ö.ì¹‹îØØ¼1=|ûð›%Iw81W @B2Ÿ5 …e¶ Ñ—GEE¥Äƒæ~úé'"Ò××mär¹åKòAÄ?Ѯʉ®¨¨¨Ä»Ì%ªÂ’J %æŠÉ‡¾* HX$¤’1På~•=ŽÊ¢¾‹ˆHP$àª|.˜ËùFå’ R¢˜2•.¯2ý¿úq ¿úqþYKP’t‡ûæø&™Ï«ªª6iÒ$::úåË—¢7ÆÆÆÆ²Û\.×ÙÙùÞ½{&L066fÛ=ztüøq›¯îÖ,O• Rb´û÷ïÇÄÄ4jÔˆm UWW0`@yý_¼xѸqc¶ýÉ“'Däâⶤ¦¦~úô©nݺÌ˼¼¼¸¸8mmí† ²C±Sí[·nuqqéСƒÔ‡«fMë5åp8Ï“Ÿ …Bv6óÕûW¢8[:sU¸ª¢‹ùÑé§S?¥²³½âUÉ ¬–-¸*ÜçIÏ‹„Eìý¼B¡påÙ•=œz´±mSfÿgIÏDûçñó^¿­¥¦ÅÜP̈MÝñyòs"jnÙœyÉÔÉ\œ\~«ÆzŒ5×+¹&†ä‡¨<•ow©4fá•+W²-HLLíìz¼bÅ ¶%//oܸqÌ: ¨JaÍš5‹ˆ–-[ÆÎx¾xñ"00°°°PLÿ%K–°wGDD\ºtÉÍÍ­sçÎl7‡³~ýzöåï¿ÿž““È.»laañáÃ"*,,œ?~RRReWÍÌtͶ˜ž°ÿæ~¶qÝ…u¢}Œêv|üîñÉû'ÙÆ×^Ü;2§ GÂUÉ ¢£rõ6ãíž÷°#.:¹ÈT×´¼þï2Þíº¶‹m\wa]V~ÖÔSÙU†‰ènÜÝËÏ.3Û‚"ÁšókˆhB—ÏËj3ÏÙûýˆž&>]|z±†Zk[K~8€Ê«Ž§á;öñãÇ›7o~öìY‡^¿~Íçó;wî|ófñú³~~~III³fÍú÷ß]]]Á©S§¬­­wîÜID »vízúô)-]º´k×®]»v Šˆˆ ¢mÛ¶uîÜÙßß¿Bƒ¨ªª1Gúôé¡C‡Ø·ZµjÕ¿ÿÁƒ'&&Î;÷éÓ§îîî™™™þùg``à?üPæi²ýŸ?Þ©S§ÄÄÄcÇŽuîÜùÈ‘#¢kÔ«W/--­W¯^ÎÎÎOž<ùû�¼¼–/_ÎvøñÇçÌ™3jÔ¨¤¤$ccã>}úˆ/¯ÌÃIxŪòÇüŶaÛÞf¼ýiÏO'ï´5¶½{˳¹g‰›7 ÚSÓK¯æ^ŽŽ©ŸRÿºû×ÐC™GÕEÄD„E‡åñóÒ‚N w®¢¢²÷ß½ é yü¼ “A=›ötkèV¡Almtû‘9ú¹GçnÆÞdßòiéÓʺÕïƒÏ)Ƚoô‰{'šX4‰I‰ {¶Ô~kCë2O“é?öÿÆž~pº±yã Â¢ÃÆóÆ/þn±h·ïZ~t2¨¾A}s]óËÏ.ß‹¿äÄ> Ï\ϼWÓ^#ê¨ë\Œ¾8¬Ã0m1å•w8 ¯Xÿ¤ –ªŽYc‡³iÓ¦€€€ðððÂÂÂ^½zuïÞ½C‡¢…#¢I“& <øÜ¹sñññúúúƒvuuíPzº¶{÷îÝ»w¯ä bÞš6mÚСCÏ;—иqãéÓ§7iÒDÌ™Šö·²²š4iRéÅ%ˆè·ß~»yóæõë×MLLf̘ÁãñDß={v»víþûᅫ;0@CCC’òÊ<œ$W¬Êh\›yíBô…{ñ÷4Õ4‡»w0s˜{|®–zñ[]U}ïO{çô™séé¥ôœôÆfçyÍkhÒPtœÙ}f—9 S€èKé)ï- Uý£öÏõœ{ùÙ匜 ß–¾Û†n3©[îCEEû§e§õwé¿eÈ–G'¢ÿoïÎãjÊÿ?€N«rÛµhÕFERY’†‘doCÌרQÆ|c¨cC’ Ù¾Ff3–"ɾTv Ñ-$i“6Jݺ¿?ÎünWåv«»äž×ó1yÜû¹Ÿóù¼ÏñzÈãsOŸ£ª¤3'æTú©G¯MwÝ3ÚÆÀ†¿Ã‰Àßþûùëçü«É‚ËûØt-^1aP{ZÝG ¨˜˜???ᩬ¬Ü½{÷¢E‹x-uuu–––ü·3AŸ>}Š‹‹sss¥]H«Q´yóæ{¦¿LÏ*Ê×g¯å~î}‡P‡ï=¿_7i€eLé»R­EZSL90ó€´kН¯/!$66¶=ƒdee î¨OÙºµ =³H€¨²ŠÌ癦Aæiy`d˜FȬò«& Iìk\YY|ûöm^Ë®]»Š‹‹gÎÄ2(=/=ðÏÀòªrúm=·~}ÂzEyÅé®Ó¥[C;T°X¬Aƒ 6ÌÇÇGGG'==ýôéÓ‹-bÔªñµk×óóóß½{âæææáá!í¢Ä¢»~w%y%‡P‡1cä(¹Ë™—3ò3öýgŸmWA›{Șƒ©ïçÞ'„ÜϽOo4l¡k!í¢d—Ë]‘°"æ^Ì`óÁ¶z¶uõuÉÏ“sËrïß!„Ü~yûÊÓ+ï”§ä¯.¸*ªI=8¦ÇÒh6°å®@aeá¨]£ÊªË‚Ý‚ç»Î§Åte@ù!ó2™o2/cù!ó2™o2/cù!óÒ%¡UãË—/§¥¥Ý¾};//oìØ±[¶l±¶¶–ÀÔÍܹs¥]‚Ø9™:=ùåÉ¥'—2ò3JÞ–öìåÙ…ÕEÚuIZ'ÅN«Æ¬’vÌ÷(.æ^ ÿÏN=gÏõ=ôk'#''#§3™gJÞ–ˆjÆÂÊÂoO|«ÇÒ»¶àš¨Æ« +””5ŠãÊ€d ó-Bæe 2ß"d^Æ ó-Bæe 2ß"d^Æ ó-Bæ¥K«Æ4{{{{{{‰M×ѸºººººJ» ‘£äÜ{¸»÷p—v!Róå€/¥]]yz…2¡×^‹‚œÂl—Ùâ›Q¥·Ñ{£KO|SˆÐ‘´#…óÍ_ußgÈd^0d^ö ó‚!ó²™ ™—=ȼ`ȼìAæCæ¥Nr«ÆbUþ¾œ¢£ª#ÉIÇ÷/ÉéÚ¬ ²`ÍÙ5áãËßK»d^d^&!ó ó2 ™™—IȼȼLBæ@æ;¬À'/ëuVü£ø¬×Y„m×¶)È}ð7›­žíˆî#^XYxùéåÂÊB5e5g#g[ýöà®x_q1ûb^Yž²‚²³±s/ƒ^ü“Ò¯çš/OÉB¶'o¯©«i:Å4çiš*šÂL×ÔÖ+[¹„+ ƒª¢êÌ-l¿üäòѶ£utìÁ1Á= !…‰Oyog˜©ª¨ÚâQ IÈ<2Ï4È<2Ï4È<2Ï4È<2Ï4È<2ÿI“vâRU[~%üLæ}¢R£†F=xû`iUiÊó”qûÆ âýÔ¼úìê ˆAn(­.ÍzõUÌWc÷ŽÍ)Íá÷(.üJ8§ŽC¿Ý‘²ƒÿ'îó7Ïï„Ç?ŠçíÄ$x:19tïPÖ묥K…?äEé‹mW·•U—‰¯*dž†Ì32OCæ™™§!óÌÌÓyæ@æiÈ|{à“g©c¹pð‡³_gÏwÏûñö¦êMTj”€?8¾þüú1vc6ÙDQݲøÄâ®ê]¿ö=!dÃù Ý´»ý9åOúÓ¹玌ùªü•©¦)ÿ¤ücÎsG«Y^]îó‡–ŠÖ.ß]*Š*ÂL׬ÀÁí¹8¯Ê_­=·6rb¤ðßµ–U—ÝÍ»»ï‹}ŸÊsu™™—IȼȼLBæ@æe2/2/“yùŽ÷síLÝIY0hýó2¶çX}–þÛjëj !õ¤¾èmQ^yý©¡ºáŠá+Œ4Œ>6à—9ŠrŠ„:nÝ‚£ rKs·OÚn¢i"ätâ°ìÔ²ñ½Æ»˜¹Ù?úvôÏI?ïñÛƒ·2 ™o ™—mÈ|SȼlCæ›Bæe2ß2/Ûù¦yñi˽Æÿûßÿ’““E^ tpIIIÁÁÁÒ®ÄåÞ½{ÆÆÆÒ®B¢êêë=–£äâÅQ„âµËËÉWÕV=.zÜË ×jÏÕ‹/þlÇgÍ0àbæâïà/`̹çÒ/V&¬¼öìÚ¦1›œ…Ÿ®Ù1Û³'TÂã„«Ï®ÚèÙ„_ §[2 3!ÉÏ“ëêëȇ›UÕ“ú•§Wþu÷/CuC–2KÀŒð‰Bæ 2Ï0ÈIh6p¾ëüFõYúÁnÁ„ïÜ¿[~ýO‰?…Ž móÔÐ!ó:#ó2™oÔ™—yÈ|£ÎȼÌCæuFæe2ߨ32/nØ×˜ë×o!‘×"y-ï9ïWž^™Q˜AE¹#eÇ©ŒS¼O»iw#„Ôqë>6à‡ÁǃûöY?z=¯ñ䣓ôÓZœ®ƒ˜5`Öø^ã£ïDÿu÷/i×"†Ì7 ™—aÈ|³y†Ì7 ™—aÈ|³y†Ì7 ™“¶Ük Сd½ÎŠŸ]’MÙvm[Oýž#{Œ<öà½ÿÑ£ÂGáWÂ-t,²_gUUÕV…_ ïgÒo Ù@/¯¢áE.l¸•{ËÉØ©®¾îû\Wõ®kF­¡Gv·t_yzåÙ̳:ï+Î<9c¤a<$¸ÙIû™ô›;«ª¶ÊVÏv{òv^y™Å™ô‹§«sìséùéü{B™i™ë9îIÑ“„Ç ¼+ãfáf f` f  §’’[–ko`?²ÇH TÂCæ…ÌËd^ȼ,Aæ…ÌËd^ȼ,Aæ…ÌKV@FxÛz7jQQTáýŠ íKÇ/õ™Þwú»1—²/½ªx¥ÞI}ŒÝG#GÞ§›Çn.¨,¸•{ëeÙK=–ÞðÑÃ]Í\åå¾S埴šSíß§™ç Œ¶m¡c!Ìt`£gc£gÓ´½Ñ•Q’Wšç:OREA!óÂ@æe 2/ d^– óÂ@æe 2/ d^– óÂ@楈âr=Ö°™( û3ö5–yô¾Æ±±±í$++Kp‡À@}BÈÖ­í™@D•Ud>È<0 2LƒÌÓ óÀ4BfÕÒÒRø1±¯14Àª14Àª14˪ñ7´´´Ö¯_/ŽÁÛ©#×&¼u_|gf¶³¤¤ZÚ…4£#×&<Ù8 øTˆeÕ¸¾¾žËåÖ×׋cðvêȵ5uóæMŠ¢V¬XѨ½CE}=—&íBšÑ‘kkÊÛûoŠÚÈá4þcý´Î>u âtÀ€¥¥¥â¹ý:rmÂëPgqèÐi—ðQ¹6áÉÆYÀ§û@ѯQEQ”‹‹ ûƒ&Ožl`` ¤¤dddôÕW_eeeñw¸ÿ¾¯¯¯®®®’’’™™Ùüùó ›Ž™šš:xð`UUUccãyóæ½}û–“'Oº¸¸¨¨¨hjjŽ3&##CAA>öÀMk~då}Œ€Sööö¦ç:uêüáàà ¢¢¢­­=eÊ”ÜÜ\^Ÿ~ýúB~ùåºóðáÃÛv……?ÍV)-}OQéÿžòÚëê¸[¶ÜvtܯªÖ¹ó–þýDEÝçß_é߸ñFïÞûTTÂÔÔ¶ üç‘#OšŽyâDÖ²e— #Y¬-ýúHJzÎ?{YÙû Îví©¬¼¹{÷Ý¿þzã矓é­¬v5­Mø‘”÷1NùæÍ|Þ¼W®¼œ:5^Ww›²òf{û}{÷¦Ó‡Ó}âã³ !ŠŠ›xÛp……?M€f‰~Õ8,,ŒËåjhhð7^¼x±_¿~ÙÙÙ'Ož,))‰½y󦓓Ó;wèçÏŸ0`@NNNRRRIIÉîÝ»Oœ8áââRRRÂ?f^^^XXØþýû ‚ƒƒ###CBBx³:tÈÛÛ[QQñúõë¹¹¹AAAÓ§O¯¯¯9r$—Ë:ujÓÚ„YpyÍ|ÊqqqoÞ¼!„œ={öøñã‡.((ؽ{wBB‚««+½wãÆ BÈ?ü@ok›””Ô¶+,äi¶–¦¦2—»dóæaüuuÜñã.YraúôžÏŸÏÎÌüzÌË9s§O?Éë0vì?K—^š5«÷Ë—s32¾vtÔóñ9v«Ñ˜?ÿœÜ§îãÇ_ß¼ðî]í„ G Þу¼_÷Ùg‡¢¢î¯ZåúêÕ7çÎù½|Yñûïw !ÉÉSØì™MkrdÁå5Kð)÷íkÀå.Y´È‰2{vâ¸qVlöÌGfôìÙeÆŒ„µkSy}F¶ „ÔÖ.ær—p¹K6jÃò4>F;TÔ××Ϙ1ƒÃáÄÆÆ:99±X,WW׃VTTÌœ9“îðõ×_s8œC‡988°X¬áLJ‡‡?}útÍš5üCFDDXXX¨©©-^¼XOOïÔ©SôG'((HQQ1&&ÆÞÞžÅb}öÙg+W®òbF¾<áO™‡ËåþñÇÖÖÖêêê&L }ñâÅdžmóæ4EåÀ‡qqY_m䬫«jhÈúñÇ'vÿã‡'NdBþøãÁ©SOg̰ tÒÖîddÄ ÿÌÑQoÙ²ËEE¬iº¹ûûÛ¨©)ÙØhÏ›×§²²öòåoÄÞ½;íÖ­‚Ù³{Ïë ­ÝÉØX-,ÌÃÄDMÈ"Œ,|yŸ2ÏìÙ½}}{hh([Xhìß?ÊÐr­µ+¹ÂO'à4>F«Æ÷ïßÏÎζ··755å5öîÝÛØØøöíÛ999÷ïßúô©ƒƒƒ™™¯ƒ‡‡!äèÑ£üC™››ëèèЯ)Š222ÊËËãÍòêÕ+{{{CCC^777!‹<²å ʼƾ}ûvêÔ‰÷väÈ‘„Ö®ä ?€Ó•þÉ$„зÍòxy™ó>:z”M;Ö’÷)E‘aÃL««9§O?ã?ª_?ÞkuBH^^%ý–Þ®aäÈnüý‡ 1²H# _O‹§Ì3x°ïµ’’¼»»IMMݹs9¤5„ŸNÀi|Œ‚æ((( „èéé5j×××ñâE~~>½Wí[·(ŠjÔçéÓ§uuuòòòôÛFÛ2())Õ××Ó¯‹ŠŠ!ºººüÔÔÔxÇ &`dº~aÊãiñ”yË»šššüèCZÜ1¹ÍÓ 8MQ)(xKÑÓSý°’΄üü·¼cÆüÓôØÌÌ7üo54”ùJ•#„Ô×ÿ{ç8}Û¯®î³hiu"Â0²ðåñ´xÊ<ššTHRXغ{…ŸNÀiB³ª9ÕGî¹þâú›ª7œ:!¤³rç(Ÿ(BHü£øèÛÑ„mUíˆ R.T Ð3¡ 7je3*À9@*õ@G†ÌÓ óÀ4È<0 2LƒÌƒXIbÕX__Ÿ4·J¯u(++B†záÂ…6ÏB¯ÓkÇ<%%%uuum“f``@ZY^‹§Ìk)..æï@Â[ÿmºNÝÎé$€^¾l´J/ttæýÿüyww“6ÏB¯7Ú2¢µË¯ÍjCy-ž2Oqq••UÃ÷ô!¼õ_¡ÿ¸…Zå]í;¿?üòÊóf ˜e«g[Ï­¿˜uñøÃãô§NFN]:wYvrÙó7ý¡‚ ÞÊm¼ ·¾TŠŽ ™¦Aæiy`d˜™q“ĪqïÞ½-,,ÒÒÒrrrx7½Þ¿?77×ÉÉÉÔÔÔÄÄÄÊÊêÞ½{eeeü7ÃŽ5JKKëàÁƒÂÌâàà`hh˜–––——ÇÛ¤ââÅ‹"©¿µåµxʼž·nÝz÷îªê¿ë†§OŸ¦G¦ßÒí555„W¯^>~ü¸{÷îmžN&L°>vŒŸ=fLÃ&ññÙôG„‰»=ʾxñÿ²ljê«£>œac£-Ì,£F™Ÿ8‘•ðÌÛûßY¸\"’M{ÛP^‹§ÌséÒ —®ôëššº ^(+Ë{xüû¤ªª@·+(ÈÍ™“XQQsð w{¦ƒVùëî_…[Æmm;šnñ°ò×kýº«z×®ê];+w~Ïy/½…õóÈŸ-t>ØÃÄ@M¢ßÁ'™¦Aæiy`d˜™q“αœœÜîÝ»½¼¼|}}###{ôèqÿþýY³f©©©EEEB(ŠÚ³g§§§Ï† lllŠŠŠ6nÜxãÆ+W®9‹¼¼|xx¸ŸŸŸ¿¿ddd·nÝRRR¶mÛ&'×Þ½›ÛP^‹§Ì£¥¥5}úô5kÖœ={vÕªU&&&?üðý©¥¥¥ººzJJJEEEtt´‘‘‘¥¥e{¦“€©Sí~²gOšö”)¶w×®ûÿü“`G¯rN™b{äÈ“ nt?ÞšÅR¼zõåìÙ‰óç; ¹dL™1Ã~ïÞô¨¨ûöö]üüz¼}[»aÃêjNûëoCy-ž2Ï?ÿdvë¦1rd·’’êåË/çåU®];D_ÿßï œœôz|î\޳³Abâó¥Kû·s:h•´Wi„3þF'#')•Ó.½ zÙwµ—vÐÑ!óÀ4È<0 2LƒÌÓ ó n¢^PPEQeee©©©EíÚµ‹âîî~ýúussóQ£FijjNœ8ÑÙÙùöíÛNNÿ¦yÈ!7nÜÐÕÕõôôÔÐÐý”½ý¾Ï?7›1þmWX˜Ó„¦ªj«!,%–´ d˜™¦Aæiy`dÄMô÷‡……………5mïÕ«×_ý%à@;;»mF±téÒ¥K—6jär›y®—§§§§§'ïm~~~}}}—.]Ô&äÈÊû˜O™6vìØ±cÇ~ìSooooï¶)hÃþ¶Š¦¦2—»¤i»¼<ääü±åå©… .lþ°êêàF-.ø7í¦®®´uëg[·6,æÎ{†Ò¥‹ÊÇjrdÁå5«ÅS¦ijvÚµkäÇ>e±ýaÿ¶\a!OS–Ü̽¹éâ&úõÿ=Gî¹üô²¼œ¼£¡ã´¾Ó”ä•õÙí·ûïô¿¯=»VZUÊårg ˜•õ¤ø !䫘¯(òÁÓnnsÎýØÔ\.7ñIâYöÙÂÊB–«ŸI?__Uņg&?O>™q2¯,OYAÙÙØyB¯ Úª‚î©ø3 ®^Ðnìš*š¿Oü]ða¿f{pìÙ›gò”¼žOoͶo#2ß2/óùFy™‡Ì7‚Ì˧[7 ss Á‚ì±Ô±\4dѦK›nåÞú1áGKKÿ;ywÖ_XŸžŸ6.¬QŸÀ£½»ööííû¸èñ¯~ýÙógÞGó]ç+Ê+ÒÃV¼¯˜{d®±¦ñÇæ­­«ÿÏü‹YgôŸáÙÃ3¯QÈ|#ȼÌCæAæe2ß2/óùFy™‡Ì7‚ÌwL2µjL‰Ÿ:uªœœÜÅ‹¿ûî»þýûOžÖ ¿Ð׸¯‚\¿?;|ÿ0!Ä··/¯ÅNßÎ\Û<)3©¼ºœb¬aœö*íøƒãµuµ„N ö}±ÏV϶mÓ ÉNߎ÷ã–¢¢¨âçàWSW÷(N¬ó‚´ óÈ<Ó óÈ<Ó óÈ<Ó óÈ<Ó óÈ|‡%S÷+))MŸ>}úôéÒ.¤eqqˆ~{ÙØhGFŽv-ëÛ× Ù½‰ALtTux¯;+u&„ÔÖ×6ê£ÙI³ýqê9¯Ê_ÉQrAÇ‚øÛ‹ß×së3‹3óÛ¯ý!ᇕ‰+ûöq1ußk¼z'uÊdO¨Fè ¡^”¾hÕQð©@æ›Bæe2ß2/Ûù¦yÙ†Ì7…ÌË6d¾)d¾ƒ©Uc‰‘§ä•ä•êêë^HQT£O-u, !ÚªÚkG­ ý<4íUÚ…¬ ÿ»õ¿m×¶m›°ÍÍÂícÊdO¨Fè/ù¿¼hd˜™¦Aæiy`dZ «ÆmAQÔÓ—Ÿ^ÖWÓ7×6絟eŸ¹9)’2ëð¬5žktYºÎÆÎÎÆÎ΃¶ Ú{c¯€Ÿ¸íÜê<ûüå§—WŽXÉߘš“JégÒ¯=# óÀ4È<0 2LƒÌÓ óÐZ2µ¯1€$-q_ÒI¡Sè™ÐÒªRº%ëuVHbˆž<%O¹ùâæŽ”uÜ[‡]Ìær¹†ê†â+©èmQôíèS§x-1÷bŸ$:;·.¾y!y`d˜™¦AæiyhJðmäÍ@Q111~~~b*:&Š¢‚‚‚6oÞ,íB@\|}} !±±±í$++Kp‡À@}BÈÖ­홥)v1{åé•OŠŸ”V•ö3é7Ñ~¢ooß/£¿|QöâUù«^½›ßs<ŠP§¤¿™{sÓÅM¼†˜™ç:oýùõ·roÝ~y»Kç.Ú}MúÞ|q3-?SÏq4tœ`?~€À½W÷V&¬Ì.Éî¦Õ­ž[Ÿ_‘?­ï´…ƒþý}Ÿè;ÑûoîSõÆTÓ´â}ŋңlF­±Jð¶Pí‘[–»+uWü£xee}–~^E^yuù„^–[ÊRf‰iR™$ª¬"óÈü§™Gæ™™Gæ™™Gæ™™Gæ™FȬZZZ ?&VA(X5–yŸôª1€Èuðeˆ2LƒÌÓ óÀ4È<08V±C4hËÓðüýýýýýE^ tpaaaaaaÒ®ÄÈØØXÚ%€ôµeÕØËË«{÷î"/:²°°0B‚(íB@|6[[«H»¾¶¬OŸ>û3MXX! ÁŸ» ‹ÕÑ‘v Ð`_ch€Uch€Uch€Uch€Uch  í>I111‘‘‘„]]ÝØØXi— 2X5&„.—»hÑ"uuõÕ«W ÓßÕÕU__æÌ™l6[ܵHv¨ „êêêÝ»wïܹSÈþ&&&îîî,K¬UHî5&„•‡***J»¥3OÎ|ó÷7ôëK(+(K·BHÜ£¸ cA„%y¥‡ß=”v9 ky`d˜™¦AæiyèPp¯ñ¿ÌÌÌ ¥]ˆÒˆî#ØKÙí‡K»Þ¶Þì¥l×n®Ò.d2LƒÌÓ óÀ4È<0 2 VIrr²ûÿ«©©áµs¹ÜãÇýõןþù„ Ö¯__\\Üô𪪪_ýuܸq^^^¡¡¡%%%¬ØÿfïÀ_ÚUH2LƒÌÓ óÀ4È<0 2VI÷îÝCBB8ÎÅ‹ëëëéÆÚÚÚ &Lœ8QKKkÁ‚£FÚ¹s§­­íõë×ù­­­;vlMMͬY³<<<6mÚäè蘓“#óìkLtttÜÝÝ»téÂßøË/¿;vlÍš5Ë–-£[Ægaa1qâÄÌÌLº±°°pæÌ™þþþ„ooo[[[ooïyóæÅÅÅIø,D«ÆÍÛ³g!dÆŒ¼}}}//¯Ã‡'$$L˜0n”——Ÿ4i¯ÏèÑ£µµµO:UVV¦¡¡!áškWê®uç×BnåÞ²ZgE‘—“üßÇü}ŠÞm8¿áòÓËòròŽFŽ?ÿÑTÓ”|ø´ÄY‰›/oN~ž\ZUJ¹±è†–ŠVÉ»’ˆ«gÙg * Ô”Õú™ô h«gKRÇ­KÈH8tïÐã¢Çï+Ì´Ìüü¦9O“£~“#ëuÖ¯~MÉI©«¯ë©ßs‰û‰\eÈ<0 2LƒÌÓ óÀ4È<|°CE3jkk_¼x¡¬¬¬¯¯ÏßnjjJÉÊÊâµèéé)(|°ònll\__M*$i怙ì¥lEgcgöR6{)»Ñ[BÈê¤Õÿé÷Ÿk ®m¿õÆ‹ôC`ɇOX‘°bªÓÔËó.™~D^NžRXY8áNfœ ý<ôvðíƒS–V•úì÷¹óò}øÅ¬‹‹Ž-h6ðô¬ÓWæ_ù¢ÏkήÙpaoÞçožûþá›ö*-b|DêÂÔБ¡W#rÞà¯hd˜™¦Aæiy`d> X5n†‚‚‚’’RMMÍû÷ïùÛËËË !;wæµ4ê@©¨¨hÔ:??G#GE•f=¬<ÿ¦êM£>sÎ`:@EQÅ¡«Ããÿ>ÖRÑÚxqã˲—Ë=–»[º«*ªZw±Þ2n —Ë =Ê;j€é€¹çjtÒÐRÑšæXUQµ‡n £7VJîÌ©y`d˜™¦Aæiy:¬7ƒ¢¨¡C‡r¹ÜFϾ»qãEQîîî¼–’’’üü|ÞÛ‚‚‚ÜÜÜ®]»š››K¬ZF﮽y¯õYú„‚Š‚F}º:4j9óäŒ%çaåÁkÑeéZw±NÏOϯÈ'„xXyD͈­ž-§ž“YœI¿½”}‰âfáÆë ÇÒ3ׯ_ vÈ<0 2LƒÌÓ óÀ4È›û4ðYÉ35ƒŠ÷»¯ïN|’˜_‘_^]Îû´ª¶ŠámÍ[eeUEUþcu:ë<-yÚÞS™¦Aæiy`d˜™©Ãªqóúöí{öìÙùóç›™™ÙÚÚæççWTT¬ZµêÇ$„ÄÄÄDFF²Ùl}}ý¡C‡Z[[dee½ÿ~Æ sçΕvùLD[£$¯¤ÞIýíû·ÿûPž’o¶Ïìóo¼¸ñãðÇØÑRÑ¢(jソœý…þq®$¯ÔY©óÛš·ïjßñÿÐ¥ŸTÐNÈ<0 2LƒÌÓ óÀ4È}úðdbbâîîîîî>pà@BˆŠŠŠ³³sÿþýUUU HIOƒžOKž¾*uçåœ79ýLúµÌ%C—˜jš~ÿýÅì‹ï+J«Jÿ¼ógÄÕˆeËä)yy9ù¦Š*‹¢R£ÞT½©æT§>$66¶=Cdee î°d‰^E…ÜŽù‚»µMöëì~HÏO×TÑœ;pîÇ)wóîúì÷áu˜ç:o±Ûb«uV¼–aVÃæ»ÎçïCa/eó¿-­*ýýÚïg2ϼ*¥ÞIÝNßnÖ€Yƒº ¢?}SõfÓ¥M².UiªhµªËÒÝž¼ÒË ×ѯŽBž–<ÝpaCòódN§»n÷ÀA{oî½öì!Ä··ïZ¯µâ¸ÐN³gwÕШûõ×ö>)™Gæ?È<2Ï4È<2Ï4È<2Ï4È<2Ï4BfÞÒÒRø1½j±|ùòîÝ»³ÙìFGGkkkK»¨ «Æ ‰UãÕ«»Ü»§û²=³H€‘£ãû~(nç8È<|*y`d˜™¦Aæi„Ì|«V½CÅ‚ òóówìØñàÁƒS§NaÉ@Ü,-k23•Zù]€¤q¹„ÍV²°¨iÿPÈ<|y`d˜™¦AæiD˜y~Œ^5&„¨ªª:;;I»FèÓ§º²R.-MYÚ…’–¦\Y)çèXÝþ¡yø$ óÀ4È<0 2LƒÌÓˆ0óü˜¾j ’dcSchÈ9}š%íBIH`qllDð=-2Ÿd˜™¦Aæiy`fžV@r(ŠøøT>¬VUEI»€æUUQ‡«MšT.’Ñyèøy`d˜™¦AæiD›y~X5‰š2¥¬¦†Ú±CKÚ…4oÇ­ÚZjÊ‘ýÄE桃Cæiy`d˜™¦yæy°j ¥£Sø&*J37WQÚµ4–—§°{·æÂ…ottêD5&22LƒÌÓ óÀ4È<082σUc´iÓÊŒ9Ë–ér8øè@8êûïõ 9e¢™‡Ž ™¦Aæiy`d˜F|™§Q\.·uP”¶¶¶ªªª8ª+77—uBÔ¥]ˆÏëÞ½­ïݻמ!²²²„ì™™©äëk4jÔÛµk Û3#€­\©{ô(+&業­ˆŸ!@yèy`d˜™¦AæiÚyKKKáÇWhSUÀD}úXH» —»wïJr:këšM› çÎ506®?ÿ$§hÖ¶mZý¥¾}{¾8þ‰Iyèxy`d˜™¦AæiÄyÒ¶UãÈÈH???‘—EQ3fÌðòò’v! . ,`±X’œÑÃãíªUE?ý¤›—§Z¬ Ðºß{‡ZµªËáÃê«Vyx¼ßDÈ++«7¾zõêܹs...Û·o ÍÍÍm4òÖ­[½½½ÓÒÒrrrV¯^ýðáCaªæ"$$$„†††„„Lž<™Íf?zô( ÀÞÞ>;;»Å ²Md÷³ÙìñãÇݺuKMMòý÷ß÷îÝÛ××755ÕÃÃÃÃÃCKKëÇ|ýú5!ÄÆÆ&==ýŸþéß¿¿0#ÐÆŽkff–œœ¬®®N©¯¯5jÔ… ‚‚‚BBBnÞ¼É{œ‚‚BHHHeeerr2ÝbhhÈë³råJ…†s ;}ú4ÿéŒ;ÖÔÔ499YCCƒRXXèäääééùàÁÞ!gÏž½pá}·¯®®nDDÄ•+WÜìUºwïÞ¬Y³ììì®^½Êb±!OŸ>µ··'„Ìœ9ÓÅÅ…¿˜”””k×®)))BÜÜÜìììWejj*äE(--MMMe³Ùׯ_§¯Ã¼yó\]]'Mštûöíï•&²{·nÝúîÝ»àà`zÁ—bee5qâÄëׯ_½z•nY±b…ÏÚµk÷ïßïãã³bÅ Þ’±0#DDD¼}ûvÑ¢Eô’1!DNNnݺu_|ñ…¨Î‚‡7½8KÑÓÓûæ›oJJJvìØÁß3 €^2&„¸ººB222>6ìŽ;8N`` ½dL177Ÿ4iR³gÍšE/Ó³ØÙÙ _•0-ZÄ[:wqq6lØÝ»w¯\¹ÒÚq@–ˆì^ã»wïB®_¿^PPÀk|ñâ!$%%eРAt˾}û233§OŸ>sæÌiÓ¦µj„;wîBx; ÓEu<ô\¶¶¶üôÔ·oßæo411á½ÖÒÒ"„TVV~lØôôtBH÷îÝùÍÍÍ›ílddÔæª„affÆÿ¶GçÎKKK2dHk‡™!â§áñoû@6lذaÃúôéÃkéܹs¿~ýÒÓÓòóó „·!²ð8Nk¡ ˜«Ñòòò­¼ÑuuuÂtkUUü>vø÷>æ Ží) =ôõõ¥]´—ÈVœœ.]º4räH^ceeåo¿ýfaaÁk‰ŠŠÊÌÌLJJ9räĉ/\¸ÀÛ„¡Åœœœ._¾œ‘‘áææÆëpíÚµk×®-Y²„Ò¹sgBHYY™ŽŽý)}«2?z‘—^!=uêTYYY³\Ðs=zôˆ®GBÚsk³½½=} ü÷ó ÿ :aªæ"ðæµ³³ã½}òä ]¡ð§Ðoëøt‰l_ãÀÀÀÎ;oÞ¼¹ººš×ºsçNÞN W®\ùõ×_>ìîœ\¼x1o.‡Ñ£Gs8œãÇ+++Ÿ:uŠÞUcõêÕôƒã8——7cÆŒ}ûö%%%BÞ½{·|ùò¦WÉÞÞ~Ïž=³gÏvttôòòzûöíÝ»w¶oßÎëÃ?rJJÊW_}Õ­[7ú£«ò"І âââ2dÈ’’’ØØX++«Ã‡c‡ †徯îîîÙÙÙ§OŸÎÈÈPRRZ¾|¹§§'ÿ>Åß|ó ÿ3f´vºÃãÇUTTöîÝ;tèPÞ§]»vÍÈÈ8qâDnn]Ó!ÂIDAT®¹¹ùo¿ývéÒ%þ§ÕBÜÜÜîÞ½›””$''wïÞ= úÖfþžüsQµk×®#FðöÓhö++«U«V ¾Jqqq%%%[¶lùé§Ÿ!***F¾*a.ÍßßòäÉ eeeüñ‡···²²²àâ@æQ­}ÄEQ111~~~b*HæEDDhhhðZ&Nœxâĉ’’555ÉÔ´eË–ÌÌL+++!¡(*<<ÜËËK¬…-X°€ÅbÅÆÆJ»2‘ík BŠˆˆØ³gïmZZZ\\œ¿¿¿Ä–Œå ŒáÇ/[¶ìÒ¥K=zôÈÍÍýûï¿ !™ÙóòòvîÜIoâÞ§OŸ¦û„“aÕXÒ"""–-[võêÕgÏžéëëÏ›7ÏÕÕUÂ5xzzzzzJxRø$`ÕX ŒŒŒ¤µ1´¡¡aHHˆT¦€Oö5€X5€X5€X5€X5€ m8&99Yäu@ÇwçÎi—b”ŸŸoee%í*@ú(.—Ûº(JL¥€tùøøÄÆÆJ» ²V¯€ þÆÐ«ÆÐ«ÆÐ«ÆÐ«ÆÐ«ÆÐ«ÆÐ«ÆÐ«ÆÐàÿ.—)Úzªa¢IEND®B`‚fio-3.39/examples/disk-zone-profile.fio000066400000000000000000000004471476262051600201210ustar00rootroot00000000000000; Read disk in zones of 256m/2g. Generating a plot of that afterwards ; should give a nice picture of the zoning of this drive [global] bs=64k direct=1 rw=read ioengine=libaio iodepth=2 zonemode=strided zonesize=256m zoneskip=2g [disk-zone-profile] filename=/dev/sdb write_bw_log log_offset=1 fio-3.39/examples/disk-zone-profile.png000066400000000000000000001107011476262051600201230ustar00rootroot00000000000000‰PNG  IHDRhP„LCbKGDÿÿÿ ½§“ IDATxœìÝu@Ùðï²°ÔJwwØ"ˆ" *b¡‚qvŸ]Ø}Þy*ÞÙbaýÔSTT@A¤DE¥‘Fºv÷÷ÇèÜHîJã÷ó×ìÛ7ï}gî×™7Aãp8€B!îðut!„PW‚‰!„â&N„Bˆ˜8B!`âD!„x€‰!„â&N„Bˆ˜8B!`âD!„xÀßÑ ŸÈ—/_&MšD,;v¬ÿþiiisçÎ%J._¾¬©©Ùl#?° âFrrò¹sçÞ¿_VVÆáp† "%%õøñc8pàÑ£G¡mv>7ý"Ô©`âDí§¦¦ÆßߟX.**€òòr²¤¬¬Œ›F~`Ô¬ŒŒ ###bPL&SAAØÕüü_(Z}çsÙ/B þ]"„àÔ©SDö’——?{ö¬¤¤¤´´ôñãÇ»k¿µ&NÔ‘ÔÔÔüüüˆe<éÚââ∅#FØÛÛËŽŽŽ³gÏIIÉnÖ/B-‰µ¡€€€«W¯fddhhhüúë¯ÊÊÊu*äååíÝ»—X&çÌÒÓÓ¯_¿þæÍ›‚‚)))---KKKkkkÆ:zøðá_ýE,¯Y³fòäÉ VÛ³gy¦±Ž 6Lœ8‘XÎÏÏ¿yóæË—/srrµµµÇommM£Ñˆ u¦úètú‰'¢££'L˜`ggGm¹¨¨èÖ­[!!!ÙÙÙ‚‚‚={öœ9sf¿~ýÝkßÔ饶¶öÔ©Sqqq²²²3fÌ?~|ƒÕ***Ξ=7qâÄU«V5»9ÏŸ?ß¿TTÑÂóçÏ­¬¬êDÒì\ãlãôÛì¸ ÔN8µƒRÿÒ ÆÅ‹É~~~'&&†,y÷î‡Ãyùò%“ɬÿ‡ª¢¢B4[•;wî9õ?þh"¤)S¦4öáìÙ³D{÷‰Õ¯0bĈ‚‚‚ú1\¼xQBB‚ZsÏž=d 6mÞ¼¹ÙHíåÌ™3uv˪U«êW;v옰°0±¼víZn6çÖ­[íÒÈ‘#Ûù?¼<õËå¸ Ô>0q¢6DLœ8ÑÝÝýï¿ÿ–’’"ïKœÄÇ3f0q¢6AÌQ€ººzmm-QxòäIòg·±ÄIþh^¿~Ú`vv6±@]eÍš5||| ,,ìááAVvttö½œœjkl6{Á‚d;ä1âŒ3ȰkjjˆBWWW²æ«W¯êİqãF¢9]¡¡¡gæÌ™ÄÇáÇ“]»¸¸… l6»‰h©½lÛ¶lÁÔÔ”Ú,µÚ¯¿þJÝL.7‡ÃáŒ=š(™7o¹ú¢E‹ê$°úãÅå66†Ë~¹ß„ÚÎq¢6I,XYYG„@“5ÁÆÆæÉ“'0gΜ5kÖèêꘛ›O›6­~å'N€¨¨¨··÷СCÉò¨¨¨:s™UUUÔ«V­º|ù2±¼yófrž544” •¼ÂÆÆ†\144ÔÈȈÚ9×(''Gæåå@HHñ1))‰œÀ+..&>þœ””¤££Ól´0jÔ(ryäÈ‘/_¾ÊN&Õ9ý›Ã+.·±%]@»lBÜÃĉÚDEE±@™ëÑ£G³+®Y³¦°°ðüùóYYY………aaaaaa×®]ÛµkWxx¸ªªjýUÊÊʨ‰³iŽŽŽgΜ!–W¯^}èÐ!ò«òòòú¡ŠŠŠòññ±Ùlj’¬¬,±@½éÃáP+§¥¥¥¥¥Õ¤  €Ë˜©ñËäN&ÉËËS?þÀæðª·‘›^ÚnCâ&NÔ&TTT’““ ))‰,LLLlvE¶wïÞ½{÷¦¤¤$%%ÅÆÆ:99¥¤¤dgg;;;ÿþûïÔÊË—/wvv€ 6°X¬M›6å‡Þºu+µ&™ÞvíÚåääD,/Y²¤Î-ƒêêê999@~üø‘øu&*p³ù ¢µÉ“'¯^½º~ƒ¦£%%&&“ËÄ‚ŠŠJÓ´îæ4ˆËm€Å‹‘Ïš5kéÒ¥<õÒ‚:ú\1êžþüóOâŒN§q8œÊÊJrB Ÿã¼xñâíÛ·+**ȦæÌ™CTX°`AýUÈ,þù'—QÀœ9sX,V GŽ!à äp8µµµ¿üò Q(..^TTÔ`ا¤¤„,$&\ÉØ¤¥¥###É^JJJnݺuäÈ‘¦£¥öbbbR\\L’G]«W¯n,ž6‡Ó‚9Nî·‘¼;eË–-d!—ýr¿!µLœ¨Mkkk¿küüüýû÷—““333#vKœÄ¦€€€††Æ!CÈFàÎ; ®ràÀ²ä÷ßo"*ê¤æææÔëqÒh´7níp™8+++‡ F˜ššª¨¨“¾Í^ JíÅÌÌLRRÒÈÈHPP(‘‘‘ÉÌÌl,—›ÃiAâä~[’8¹ß„Ú&NÔVRSSÉ«Eh4šƒƒÃÇÉ_ØÆghhèüùóëܨªªzæÌ¢ÙóÄÎ;ÉÂýû÷7Rý'0Èû8+**¶oß.--M~E£Ñ† òüùs².'‡Ã©ªªÚ¿?ù+O˜={¶OÓ;ÚKDDÄ’%KÈˬŒŒŒÞ¿ßD0$n6‡Ó‚ÄÉý6¶$qr¿!µ‡Ãiì§¡–KKKËÈÈPWWWRRª©© "Êû÷ï/!!Q^^F”˜˜˜ˆŠŠË'+++==Íf+))©©©‘ 6¶JHHq1*Fq"„B<ÀĉBñ'B!ÄLœ!„0q"„B<ÀĉBñ'B!ÄLœ!„0q"„B<À'!„:Lu5-!‘ŸO/+ÃÿÄ#n‰Š²edX::Õ §CÀĉjo_¾ð¹»÷xúTôÕ+!‹ÖÑá .‰Nç XicSfo_".ÎnÏ®iNÇdl„PÕ’gÕVTÐ.\¼pA‚3jT™¥ey¯^U ,QÑvýáC]ZYßçÏôDž=e³iK–-YR(,üƒéŒ×gÕbâDñæ‡çÓ§¢Èó­\Y8kV1&KÔree|7oŠ>-)&ÆÞ¹3ÏÆ¦ìÁ‡¼#„:œœ¤V®T03«ðñI[²¤³&j¢¢ì%KŠ||ÒÌÌ*V®Tpr’j‡ƒAœãDµ­ÊJÚ¦Mò¾¾"‡åLž\ÒÑá nHF†õçŸ9ƒUìØ!›’ÂprÊjÃü‰Gœ¡6ÄfæMò¡¡Â×®ebÖDmjòä’k×2CC…7m’g·å Lœ¡6ô×_R>>"§N}61©ìèXP÷gbRéìœõü¹ÈßKµ]/˜8BmÅÛ[ôÜ9É?þÈ<¸¢£cA? cãÊr%½½EÛ¨ Lœ¡6QQAûýw™)SJð -jg“'—L™Ròûï2mr—0&N„P›8^ò˾ ò;:ô3rtÌ/)á»pA²-Çĉj}_¾ð]¼(±jU¡œ«£ci:::S¦Li¬‚———Î7F³êÇyóæM⣱±q+…Ù)HK³V¬(¼pAâË—ÖOs˜8B­Ïݽg֬⎤uøúú€µµ5†Ñ…ÌšUÌÇǹ¿G«·Œ‰!Ôúž>5ª¬Û<åàùóç0räH £ eUÖ—aâDµ²ª*Zd¤¥eyGÒ:>|ø••¥ªªª§§‡at-å‘‘BÕÕ­|‰&N„P+KJbÔÖÒzõªîè@ZGý¤yyyÛ¶m355íÝ»·ƒƒChhhƒ+²Ùlww÷yóæ™˜˜èëë/\¸8j$üõ×_Äü¢½½=uErÞÑÜÜœÅb5‹ÅºtéÒ”)S  ¯¯oii9oÞ¼‹/æääð'‰Åb8qÂÒÒ²gÏžcÇŽ½qã÷{©sêÝ»º¶––”$кÍâ#÷B­,'‡ŠŠµHëðññÊ Ò©S§¦§§###çÍ›Wÿ‚ÊÊÊeË–‘%EEE ,رc̘1ãܹs,ëÝ»wñññä¡ä½{÷ˆ…éÓ§ÓéôÃØ½{÷íÛ·ÉÆ333333ƒ‚‚‚‚‚._¾Ì}œTëÖ­óôô$–öìÙ“ššº}ûvî÷Ug£ P ¹¹ü††­ùß8<âDµ²Š >?ŽŽŽ711!Jœœœˆl$**záÂ…·oßž:uÊÃãΊGŽ!²¦œœÜ7Þ½{wíÚµ=zÀåË—½¼¼@IIiذaD}2Y~üøñíÛ·@§Ó§OŸÞX>$êܺu+&&&88øÖ­[ ,••å)NRQQQnn®¯¯oxxøìÙ³‰B"˜.JD„ ­þštLœ¡VF¼ž‚Ö-^PMœ µ²²"ŽüX,Öãlj¯fΜ9|øpQQÑQ£FM:•ºVMM««+±¼~ýzSSSaaa333¢< úË/¿ < Îʺ¹¹%£F’““k0 ‡“ššš‘‘!%%ebb²cǎÇsgû÷ïWWW—””ܱc‡´´4QøèÑ#ž÷Z§Aü¶úûR0q"„P£êœ ÍËË#ßEÚ«W/²ZÏž=©kedd”—½6jÛ¶mä­“—.]" ccc‰ ¢e6›}ÿþ}â«Y³f5)ÍfoݺÕÚÚºW¯^cÇŽýí·ßˆ£L.ã¤b0ºººÄ²€€¹üñãÇ&÷ÐÏ'B5¬¼¼üåË—üüü–––­Þ2±ÀÇÇ7cÆ bÙÍÍ-88øóçÏ ¡¡1dÈ&Âptt| kFGGSWTVV!–=šXu]ðõõuqq! gÍšEûv²»~ÀÇÇ7mÚ´Ë—/¿|ù2**êÖ­[DÍÎÎ ã2NªêêêÄÄDb¹¦¦&!!XÖÔÔäf_ýT0q"„PȤÔQètú¸qãˆå[·nùùù•——ûøøÜ½{—º¢€€9›xðàA__ß’’’²²²ÄÄD•+W^½z•¬,%%5f̨©© AAÁÉ“'7,X°àĉoß¾ÍËËc0¢¢ÿÝæ_[[ËeœuìÞ½ûÓ§O………¿ÿþ{~þׇ O˜0«õ3ÁÛQB¨,ëßÿ€#FPË7mÚœžž^VV¶dÉ ÓéS¦L¹s絚££cbbbppp^^Þ²eËê4Þ§OêÇY³fQ¯w?~¼„„DÓa¤¦¦¾xñâĉuZVVV&Îèr'IBBBZZzøðáÔÂùóç÷ëׯÁú?3<âD¡DFF*))QË¥¤¤îܹ3uêTIIIAAÁ\½zµþ$¨°°ð•+WŽ=JLCÒét ƒÉ“';;;ÏŸ?ŸZÙÄÄ„¼¾¿,¨±0®_¿¾uëVSSSEEE:.,,¬§§·hÑ¢{÷î'i¹Œ“êØ±c«W¯VRRÐÖÖÞ»wïÎ;yÛk?§Õ/ÔEukÙÙÙä› zò„¹f|bbR»…Ô9¨³Û»w/±0xð`â¹\]]yy9ñæ#˜?¾††F‡†ƒB¼ÁÄÙÙíÛ·XX»vm·IœäFYYYaâDu-xª!„â&N„Bˆxª¶ûˆ‰‰ ÉÎÎìÙ³çðáÃëÔ)**òððÈÈÈÐÐИ8q"46ÝØtkyyy§N"–W¬X!--íéé­¨¨8|øpâöMtŠÐ;{6^NNpÊõޤ®NXuâ¤~d±8§OÇii1mmUšlƒ·.ºLœÝArrò¢E‹üüü¨…ŠŠŠçÏŸ·µµ%K|}}§OŸN¾fOSSóúõëõ§¹i-//\ÑÂÂbÛ¶máááÄGQQÑÿýïvvvd§ÔN[mËÑÏçÌ™Ø>}$;ár§ ¬Ž:qR?ÖÖ²Oœˆ±¶Vlaâì*»â‡aâìòrrr,--ÓÓÓ@OOÏÖÖ6##ÃÕÕ5++ËÎÎÎÛÛ›xfÌ!!!j§êêêvvv)))õ;Eˆ{+VÈÉÕ=•ÒtÚÀšÖawÑ]Á=Lœ]ÞŸþIä9}}ýÈÈHèÕ«×îÝ»Y,Ö† Þ¾} Ç'˜¨¨èË—/`åÊ•gΜùÖ¨xÿþ}6cÆ âÍÙÙÙñññ}ûö%;íÑ£Gxx¸¬¬,¬[·îøñãm¾_P7õë¯zBÃ:m`Mk‹°»è®à&Î.ÏËË‹X””$',SSS‰…¨¨¨ÌÌL%%%¢dìØ±DÖ€… ÖIœ\¶F]eéÒ¥4 ¨oâMOOïÛ·/µS"kÀ¼yó0q¢VþŒÅâçÆÇ³Xlmm1ssYAAzµÞ¿/zýº ´´V^^hØ0yiiAr]rV/)©$00§ºš=`€”±±tÊÊj}}³23+„GRd±8W®$õí+ae¥P?0î›m"¶öÑØ|dLÌ—ÐÐ\6Œ¥ûõ“¬ómAAUXX^ZZ??ŸžžØ!²t:­‰6¹£.g————G,„†††††Ö¯@¤:r–‘Ìš   ðc­QKÈK YÈf³€ì”ú’X99¹f7 ¡ÆÔ™?KL,ùõ×Ðääÿ^S,//tò¤©‘‘ñ1/¯jýúð\²‚°0ÿž=}§NýnV/#£ÜÉé‡óµŽƒƒú‘«¼{W¸tihnn%ñQNNèÀ'NÄÌž­E&Î' ›n¶éØäîžöéSyÓ»hÎ-IIFÓuH ÎG:9}pvŽ'?Nš¤zøð@25þö[Ô­[ÉÕÕl²‚†óÂ…!ššÌÛlvŒºLœ]žŒŒLnn.˜››7ø¶[";JII¥¤¤@NNùÕçÏŸ¬5*:ýëÿ‰ãN*²Óììl²B-QQQ»hQpFF¹’’Ȱaò|AA9II%K–„xzŽ”“b±8K–„¼{W¨¢"ja!'.ÎHM-õñÉÚ¾ýµŽŽXÿþ_¤Þ¼)xþüó°a ºº=²³+Ÿih0W¯6 *¼x‘#''<`€¤²²HU›86ݼù•«ë°ú­5;F?gÂÄÙå=:&& 6mÚÄd2ɯ233ß¿OZYYEFF€··wAA””¸¸¸üXk\²´´$:õòòÊÍÍ%ÎÖ^½zõG·¡ïxxddd”I]½j.,L€ÚZκuá^^7o&¯[gøôiæ»w…&¨89“LïÞNêùrâñã&DI~~ÕÙ³ƒ­­¿žŒ±°st|õ￟‰ çᑞ“Sii)îÜ`>¨¨¨7/(?¿ªéðšn–ËØê°·W36–iº_)©ì-(¨:|xàäÉjÄÇ·ouü/_N\±BŸˆsß¾~ZZ=BCs³²Ê ö A2yy•¯_V×OØÍŽQKBí(˜8»ŒÐÐPò¹µ™U«VmݺõÎ;™™™ÑÑÑ&LÏÈȈ·±±±±±€µk×^¸p¡¤¤¤¨¨ÈØØxÒ¤I‰‰‰DV£â²5.­]»öâÅ‹¥¥¥ÅÅÅ&&&öööÉÉÉä+µPdd>¬]kHü"??mÓ¦ž^^¯^å@PPˆˆð;;Çs8àp€Ãሉ ¼{WH¶Ó³§™Þ€8ûš“óõÄìë×°zµ‘5@X˜Å ýÅ‹Cš¯éf¹Œ­{{µæ÷KËhh0ɬ ýúIŽ¥èå•™Pl` oÞ.XT[Ë©³b~~UýÄÙìuE˜8»Œ—/_¾|ù’Z¢¯¯¿jÕ*yyù/^,Y²äùóçÎÎÎdUUÕÑ£GËjjjnnnÓ§O/((HNN>v옦¦æÕ«WGET f(¹lK÷îÝ›1cFaaajj*ÑéíÛ·-,,~l' DõåK5¨©1©…ªª¢4U@AA5ܾÒt;ŠŠÂÔ""_Œ¨½(+‹P먨ˆ6^ÓÍr[­>ÇYŸŠŠHUUQ(.®€ÐÐÜ£G?0|ÖÖ êê¢""ü4íÅ‹ìׯ Øìº©¸£®gg·gϞƾ’‘ùzÆFKKË××7>>>$$$33SPPPYYYOOoÀ€ÔúÖÖÖIII>$â3iÒ¤°°0ò[eeeî[“‘‘!#/öa0d¡žÞ×ëÑmll’’’È'Mš4‰ºQø„wÔââ HK+UUýï·þÓ§2$$d…_~Ñ”–®;—&$ÄíG‰F22Ê©réée-‹ýck‡9Îôôº‰ùÓ§2?¿ÏpêÔ #þ;˜Ž‰)j¬µfǨ+ÂÄÙÙÕ9=Û===2]5($$¤W¯^sçÎ%>VWW‘?fŒ/yÅfbb‰¸8cÖ,M?^åÊ•¤þIyñ"ÇÌLNZšQ\\“’R–·h‘nß¾ _¹Z¯•ãÇcþý÷ó¸q¾æær,; »¼œõ.$çÁÅÖsœRR‚›7¿zü8]OO,3³ÂÛ;ƒÅâ,X C\4`€,[:fŒ’¤¤`BB±¿¶”#/¯áK¥š£®çOÄÜÜÜÃÃãÁƒÔBS§NñtÉB„°0ÿ¥KfÄ=‚7o&…rrB'O"N«Òé´K—̶lyõüùgW×rEyy!.³&ˆŠò;;^º4äãÇ’K@VVhûö>7FˆˆüøOh«ÄÖŒŒ¤´µ{œ;ïïÿõ.²I“TW¬Ð'–GVš0AÅÃ#ÝÕõësQ¦MÓèуßÅ%±ÁÖš£®çOdñâųgÏöóóKLL,--•––0`€±±qýû/ê´ê<UG§‡——uPPN||1‹ÅÑÒêai)G}*¤$ãüù!II%ùÕRR ¦±±4qüÄÏÏ·f¡–Öw—®…::=È’~ý$}}m|}³²²*„­­Ÿ?Ï‚ï/ÿ¡Æe³MÇÖFêìÀöµU7N9,,ŸÍæ (]ç¦Ò¿ÿ6™5Këýû" ”êÓG200‡É ŸyÄëu94§ë 3mÚ4pu£U&D IDATum³xBm¥µþýfgg—––6QáÉæš5ò‰‰I-ì¨óHL,QV!o¨(,¬ž>=àãÇ’GFwh NKGGûĉìqãšú‹e2™Ô§›5 8B¨ÿþûÙÙ9ÞÌLVEE4;»âß³¿|©2D³æÏ 'B5CWW¬ªŠõäIYÒ§äÑ£Æê@˜8B¨ÆÉ Éýô©ŒNçëÙS|Ð ¼6à§…‰!„š'&&0z´RóõÐO€Ûgg „B0q"„B<ÁĉBñ€·9ÎÐÐÐôôt¼_¡.Чש"„Ä[âÔÕÕ?~|Eƒ:‰cÇŽ 0`ذÞ玺®ÇcâD¨åxKœÒÒÒÒÒÒÿýwEƒ:‰cÇŽ 6 º›IOOïèêpŽ!„âÞljê2jX5óþ™g¬j¼ÁrCGÇÒ€¢Š"·÷n‘é‘U¬*}Yýýg¨ˆ7|nüuÆë#ÿG+ÇÊ__ßÉ·‘0q"„º 6‡ö)LLH¬£iÀË´—+ÝWUýý.„^¸¿à¾¡œašµìÚížÛó9NaE!YÞ™·QaâD¡–J+J[캸¢¦b¨ÆPûÞö2¢2‰ù‰ÿ{õ¿²ê²ú•Ï…žË.Í«?öIì“öµ&N„j©Ã~‡+j*¦õ›vpìA¢Ä\Ó|ÎÀ9ÕµÕuj¦¦œ >³gÔžøÜøvµ¼8ˆ·oß¶²²zóæ —õÏŸ?oee•˜Øð‹ÑQWrû6XY×Cçσ•àз™jVõ•ˆ+Ëï-_zwé¹Ðså5åÔosJsNŸ^û`í¢;‹ö<Ýó,þO/æUqeñ³øgBüBÛ†o£–Óitaá:•wzíì¯ÔZßiÜ´ÌápNšucÖ·wZ-\ÔbxÄɃOŸ>ùûûqYÿãÇþþþM¿òu Ÿ>¿?p=ôðñ#øû}Û`sØ n/x™ö’øø<ñ¹Û;·fÿ#), ñ¹ñÿs(­úoç߈¼áÐÏá±4Öྼÿü¾éN&8)‰5ü÷¨¬(‡e¡nÇ¿Í|+ʬ6xJß)BüBÔš®o]_g¼~¼è17‘©ª­Úüxó“Ø'«‡®vèçÐl}Ôn0qò`úô鯯Æýû÷ïè@P»›>Œ‡¾søÀdn¶Ú¬+£›U’uáå…¤ü¤>ŽN8 ÿ¼ù§´ªÔJÛÊ®·„Dú—ôÀäÀ’ª’&ŒÍ ûÖt§5}õ¹ä3(Š)N»>-)?‰(ôŒõ¼ùúæY7$„%ˆ’‚ò‚CÿZc¾FCR£ÙmÌ+Ë[vwYlnìßÿ¶5´m¶>jO˜8y ªªªªªÚÑQ Ž ª 8ô8×f\ë)ß“ø8Ö`ì¨ó£Ç<þmÌo""ü|üàdëDf¬ýgW7Ñà¶áÛŠ«šªn@5«î¿¿/&(¶Óz§¦”fZaÚ…—ârãøp²u"ªð= ØCq±éâf70.7n‰ë’ªÚª³nôWÂÿ®u:],qž?þæÍ›/^¬©©9}útbb¢¼¼üüùó‡NÖùý÷ߟ={öàÁqqñ:…=b2™ÔvJKKSSSuuu7lØ ¡¡îîî®®®&&&›6m"Û¹}ûöÙ³g;Ft²X¬þùÇËË+;;[JJjĈsçÎúîä ¼~ýšèEIIiáÂ…æææäWÇÓÓóþýû=zôèÙ³çâÅ‹•”ºõkÿrsaÎ`2áúuþ6ôé,\òòpå ð7ôgyþ<ܼ /BM œ> ‰‰ /óçeèá÷ßáÙ3xð(CÿµðÑ#`2¿k§´œ!5tuaÃÐÐpwWW((Ø´é¿vn߆³gáØ±ÿ:Y,øçðò‚ìl’‚#`î\¨7ôðúõ×^””`áB  =p8àé ÷ïCFôè={ÂâÅн‡¾•Ê’Y$…%­u­ïFÝMÌKì«Øw怙îïÝ—Þ]j×Û®·Bo}Y}A~Á¦ïñ0”¯{ÇOD¢P][}}þu-i-¢p¸ÎðÑF{Åz{P€.˜ø8ú±Û|7:Þtkq¹q×ÅoýrKY\¹%¡6ÒÅ'1køèÑ£;v”—½àúõë·oßž6íëd{LLŒ¿¿MM uE¢°¶¶–ÚŽ››Û®]»ª««ÀËËëÎ;GŽ9qâQÍÛÛÛ××788˜øXg޳¬¬l̘1d/·oß>uꔜœYèéé¹wï^¢¸|ùòÉ“'W­ZE|\´hÑåË—©¡þñÇÑÑÑZZZ-ÜW—¬,L™K—‚˜¸¸TWôi ÿþÛpÖ„o³†ÁŽðmèáúu¸}¾ =ÄÄ€¿?|?ô_ ¿ ý×vÜÜ`×. ÅË î܈8r¾ =x{ƒ¯/|úºsœee0f P†n߆S§ÀÇ(Cžž°w/|z¸|Nž„oC‹Á÷CüÑÑЇ¾•ÔÏ‚âBâPU[šRš>Ë|~xœìæ’Yœi®i¾Ùj³ŽŒNc ¶pŽ“HoRdÖq}Yý¨¬¨¼²¼xñâ¶mÛÈÄɽ]»vM™2ÅÞÞžN§Ÿ={ÖÇÇÇÞÞ>::zûöíƒÎËËÛ·o_HHÈãÇ|®ýöíÛeee·lÙbhh˜’’âääôîÝ»åË—»¹¹‘ÕöìÙ3f̘™3g yyy]¸paýúõ£FÒ××ÏÏÏ¿r劄„ĶmÛz÷î]YYùþýû .ÿ'è¶–,¸|ÌÌ`ñbX¿^¾„cÇÀ̬™·l[[˜:˜Lxø.^„mÛ€÷¡‡]»`ʰ·:Ξ°·‡èhؾ†¼<Ø·BBàñchð•Û·C` ÈÊ–-`h))àäïÞÁòå@zسÆŒ™3AH¼¼àÂX¿F}}Èχ+W@B¶mƒÞ½¡²Þ¿‡  Û}kˆÏ¯aÕÐÈ’wYï@¾‡<ñQ\H|ÎÀ9s΀œÒœå÷–Ïýg®ßr?A~ÁlágOùž :£°¢ÍaóѾުÀápòÊò@„!å5åeÕeõ{!nJùRù…,Ñ’Ò:iwrþíù3o̼8í"ù\!ÔytÉÄ9gΜ‹/Ë&LHHHð÷÷ÏÉÉ¡çqcÁ‚ÎÎÎIJ¢¢bDD„««ëÔ©S‰BEEűcdž††ÖOœµµµ...BBBzzzDáôéÓ îß¿Ÿ-/ÿõß°­­-™Gííí÷íÛwåÊ•ƒ p8œ9sælÞ¼™¨0yòä-[¶°ÙlÞöHWtú4¼~ «WCr2œ9°vmókÍ™߆&L€„ð÷‡œàqèaÁø6ô`cŠŠ®®ðmèAQÆŽ…ÐÐgm-¸¸€·¡‡éÓÁÀî߇ìlø6ô`kû_µ·EEØ·®\ƒA@8˜3¾ =Lž [¶ÀÏ0ô-–W–÷›Ïo;­w2è ‡s%âJا05 55 5¸qÅ@Ö`°ú`¢²¤°$S™“•“R˜¢/«ß`ƒ-œã©;Ò3ÖÓÉßiã°tÅf >•Yœ©/«O ¨Nê½þêºWœ×¦a›(03 ~¥/«{öí¹·æÎýgîÙÉgÍ5Íu&]2qΚ5‹úÑÈÈÈßß???Ÿ×Ä9}útr™ÉdjiiÅÆÆÚÙÙ‘…ýúõƒFÞ)ññãÇÒÒÒ±cÇ’Y¤¥¥§Nêìì5jÔ(¢páÂ…Ô.\¸oß¾¨¨([³fÍ¥K— †••Uß¾}ÕÔÔþOqw#, w1üñÀ¥K\­õýЃ‘øûC~>ω“2ôÀd‚–ÄÆeè¡_?€_'òñ#”–ÂØ±@z–†©SÁÙ¢¢àÛÐÃ÷C ¾} &kÖÀ¥KÀ`€•ôí jjð“ }‹iKkߺû(摆¤FVIVni.l²ÚD|ëŸäÀç€(CTMBÁÏø˜ÿ±¤ªDRX’H« já'l¶)09ð|èù»QwU%T3¾dä•åÑh4G+G¢B_žuVyÿ ôdõLÕLë7¨&¡vgη,¹»äè„£ã Æµ0BÔŠºä¤¤¤¨ °X¬&Við[IIIêG=zðSæØ Ît)¡²²²~$d ñ-ABB¢~…ŠŠ¯ÿ÷<~üø“'OX,Ö¡C‡úô飩©éääÔ¦7kw"@§¨©¨(W«ÔÙá @“Cßð·ß=@ßM¯ @ÝéR1¸õ†þk eèáû¡ÿZáÛÐÃñãðä °Xpèôéššàä?ÉзŒ¦”æ »t=*+*·4·‡`?ÆþA¦–& †j -¯)ɉy›ù¶¤ªÄTÍôÊŒ+õŸEЊÔ%կϼn(gXP^ð6óm^YžŠ¸Êû3VÚV?ܦSîæ/7{+ô^÷`Ý?oþi½`QKuÉ#Φ‰*77WFF†,|ÿ¾™™^)**À«W¯Øl6ßÿÿêe±‘‘‘ÔËh#""@Yù¿‹å,-----€Åb]¿~}Á‚ cÍš5­p§S] S§Bq1Lž nnpàìÚÕÒ6‰D•› ”¡‡ÖzPTxõ Øl  =„‡Àw—ÅFF~wmDeèÁÒ,-X,¸~,ºýз€]àÆ¬’Â’z²zÃV KÈK`sØz²z :ƒ¬c©ei©eY^SžZ˜Êápʼn#´µÞ ½=z|*ú”[–+!$¡)¥ÙôSæ œ3Joõì1¹ud‰¸øµ×¢²¢h4‹ÃjöŠ\Ô>ºägÓ´µµàرcÄLammíîÝ»[=qÊÊÊÅÆÆnݺ•8$åp8'Nœxö왂‚qŽ—pàÀ"Y@jj*‘mll ..îÈ‘#¹¹¹Ä·t:]MM üýý[7ÚÎhÝ:‡¿þ‚;w`Ø0Ø»||ZÚ¦¶6À±c_g kka÷îÖOœ²²`d±±°uë×CRNœ€gÏ@A(CÀ·¡‡ÔÔ¯ÑÆ .ŽoCt:¨©ü Cß|4>S5S=Y=  ô”ïÙ[¡75k’DDˆ»VÚ'k’T%T”´¤µš}6º¤º©š)y³)|¿u$aaS5ÓAªƒ0kvÝ0qΜ9SXXøüù󪪪¦¦¦ ‡¦f²Örøða>>¾#GŽ((( 4HQQqíÚµD9õ|¯ŠŠŠ©©©A¿~ýôôôÞ½{׿bzµ°°póæÍ êêêfff#GŽSÓæ<º•7àìY˜>V­:þùäåaÖ¬†ç¹7s& Ãùó ª ¦¦  ‡C => ||pä((À A ¨øõʦÇ¿;ß«¢¦¦``ýúž¼{ýû^-,„Í›AAÔÕÁÌ `äH€n?ôu}Ý0q*((\ºtI\\<333,,ŒŸŸßÍÍ­wïÞ­ÞÑÈ‘#=<gÎjµãÇOš4)...**ªººzäÈ‘žžžÄ¼¬ÁæÍ›eeeÓÒÒBBBâââdddvïÞ½qãÆV¶ùð–-ƒÿ®UP€Û·¡°žVä’‚\ºââ™ aaÀÏnnÐC#G‚‡èè@A„‡Cv6()ÁõëðýÐÃñã0iÄÅATTWÃÈ‘àéùu^ÖÀ6oYYHKƒˆ‹ؽº÷Ð#Ô-Ðxº…¸WÒÕÕµÍâiÆÇÓÒÒŒ‰Q MLLD)˜TVV¾{÷ŽŸŸ¿W¯^ #&&&;;ÛÜÜœ8l°W¯^UVV:”,©©© ’——744€ß~ûm÷îÝAAAfßßn˜˜˜H<9ÈÀÀ€z~†ÚKFFFZZš²²2q2–ŠÃá|úô)33SFFF]]¸"©cÑh´uëÖýý÷ßmÒz|¡-PŸ«‡~.8ô¡ïá'B!ÄLœ!„0q"„B<ÀĉêÚÒ¿¤ëü©³÷é^²¤ÏÑ>³nÌj|®¤¸²øQÌ£õ×3ÒùSçÈ¿G::"„!„ïô뛪™^›q­­;Úå½ëqÌã¶îñ„·ÄIÜΨªªÚFÑ ÎãüùówïÞíè(PkÊÏÏ×ÕÕíè(Úûï::„V#.$nkh;BgDEmÅÏÀ#NÔ˜ŸåeÚunûGï'¼â¼:6Dâ-qêéééééý´ÏªýyÐh´eË–á³j»âYµ]›Ãv sùçÍ?Å =f ˜5Ö`l:}Žöé£Ðçæ/7 ª¶ª—S/k]ë]Ö»ù N .ª(ŠÚ%" ö)ìâË‹‘‘¥U¥ =Fë^=t5Sð¿§ÿ‡ w w‰L,©*Q•PµÑ³Ylº8!/aÆÿf@pJ°ÎŸ:Dͳn˜ªá+á~xĉêJö<Ýsëõ-bùSѧC~‡>|þÐìZ_*¿8\wÈ.Í&>²Ùì[¯oí~º›<³’þ%ýRØ¥à”à;sî ÀõW×÷ûì'+$å' 9K£Ñ,µ,¹vî?sƒS‚›®ã½Ä[[Z›û6Q‡Ãĉê2¢²¢n½¾Ådî²Þ5Rgd-»Ö+ÎëàóƒÍ®þ)|€ò€Ó“OÈñ }*ú´ïÙ>1A±­Ã·Zi[‰ ‹§¦<îëy5âêò!Ë“ ’øà£ñ-2]4­ï4E1ÅŒ/O㟠ò «'nMl·‹ƒP'„‰!ÔexÇy€£•ã”>Sˆ’ÙF³¿T~ù; ™i‘sSÎI‰Hï¿¿_Ë®=0æyšWGFçØÄcéÏâŸ-²üÁ‡,6k…ÙŠ –ˆ ÚÒÚ¿ù•×€1³vK˜8B]Fja*XhZP -5-›Mœ=å{’Yò`ÝÃuë®#NÆr€C,ЀIùI0V¿îì)B€‰!ô3– ~dsØÀb³ê׬fU“Ë-‡ ÎqvK˜8!88øéÓ§óçÏ×ÐÐèèX¾ÓiëZ‚“‚Ÿ~x:è| iŽŽå;6°ÎL]R^$¿øeÀ/da@r¯í‰êꌫC5†6QÁ3ÖÓ@ΠÁ 4 Õ²jyíu˜8!88xß¾}VVV˜Ÿž?¾páB55µNX7œ¼ÏcŸ•¾Uæ§€ø€ç±Ïš/T“¢Œo'¬Ë­?ú\è¹#ÿâ©3’ÅayÆzž >Ãk;ö}ìCœ7<ܰiØ&sMsQ™/•_R SÇ<–gÊ/²|R¯IgCÎ:‡:³8¬©}§*ôPÈü’ù4þ)ƒŸ±Ðd!HK$ä%¤¥©ˆ«ðÑ}v)ÎqvK˜8ÁÌÌlÏž=›œöíÛgmmMMœ!°nÀLÇlÏ„=2C@BÀ>}Ö=­©‰³3ÖåôUì;sÀÌ[¯omy¼…,´5´}óˆ§v4$5~óÛ.ï]Û<·ÕùjÙàe )¥¹}Äö¾œCœCœÉoW˜­ « ~óh„óâcÛÝÇyçíížÛÉçBÏ =³fïµÙÛ=¢faâ33333³ŽŽ¢6°®ÅLÛÌL»3îÆNX'·ÏfŸº„:ñy¦üŒþ3l{òœ8À¡ŸƒœK˜Kا°‚ò)) Iñ†ã'õšDT˜g>>III"""FFFC† izSSS}||²³³¥¤¤¬¬¬ þ›!û{ðàAjjª’’Òĉ%$¾^­píÚµçÏŸ€‹‹‹hhhÌŸ?¿ÁÀ¸é¨Ù½Ôê"Ó"ýãü9À±Ðµ0Ñ0¹ÿúþ›Oo6Ù, ŒoyÑÓè§ÉyÉtcucK=ÊÐÄø&.¶\RTÒã­GbN¢¼˜ü¤þ“¤Dë/HˆH<~÷8þsü@õ6½lœJ,®(ö‰ñIÊMaˆ© Ñnn|óS}b|²‹³¥D¥¬ô­ (»ý[¿bÂbÞ|˜Åúz…F[´hÑ™3gÈ~{õêåè蘚šJÔ‘‘‘qww777€k×®ùùùÀåË—‰o‡ F$Î:qÓQ³{©u±9ìå×—_xAßá+K«J¯_]5b™8]]ÖßY_\A] ·n2Lð‰ö9äuÈHÝhËÝ-±Ÿ¿EΔöÝàÛO•2¾\4Ò[¹÷æ»›“ó’`è 6½lêO%^ ¼´ñÎÆ/”ñÕ1÷ßìߨLÕv÷퇽“W`Òh´Eæ‹ÎürF€.@öÛK©—ã]ÇÔüoãË”q_én®c×B®ùÅúÀå oã«7l¾ÙüúqÓQ³{ !ÔÖÚþñ}Ç*VÕT=‹~ö"áÅ<—y×PÆ÷ú2~>þ¥–K™‚L¯^љѫn®z±åO¬¸±‚Ag,¶X¬,¡Üàq¤k„ëâ«‹ÀDÃÄDÄÎG•ú*01Ía7˜8Oû>øä F³íkk¨h˜’Ÿrÿõý‹/.Ê0eN¦ŒïÍ• :c©åR!!ŸŸèÌhûÓö±¿ÅJ3¥ç™Ëæ°ýbý ]@Ìq68¯ÉeGMï%„P;hóÄyôèQ>>>+++¢äÁƒvvvÔ:Û·o 8p QÂáp¦NêææKžÔÖÖ~öì™°°0}zÅŠda`` No°þŸþ ÷îݳ··'J^¾|iaaqüøñ;wŠŠŠ…ŠŠŠ/^¼ B­­­>}º››Û•+W6nÜ8wîÜ´´4??¿… Ç -é¨é½ÔêŽ>=ÊGãóÙàc¥oE”feeEGGkkk{zzzzzr8_ŸßAÞEDD9oË–-D>ƒamm—••%&&Æ}#ŽŽŽMdÍôôô„„jÖ€ÆòYZZZzzúСCÉd¦¦¦Ó¦M»yófdd¤……<™ºøùù÷ïßïææ´qãFnö$O5¶—¸éˆ'©ù©™E™6½lȬ “úO2Ñ0 Où6¾_²¢3£µeµ=ß{z¾§ "R"Èœ·eÌ"ƒŸamh÷9.ëK–˜°÷8Žvl"k¦¦'ä$˜h˜P³&4–ÏÒ ÒÒ Ó‡ê %“˜jšN3žvóåÍÈ´H Ýo»}Ì2uñóñß-Ò-(1h£ wãËKGí%n:Bµ\Û&ÎÂÂBhèÄ£††™8sss ))i×®]õ[ N4Öy6“É€ššžiúE¾ùùù ¯¯ßD*bµ´´ê”kkk@AAY¢©©I­@|$VoÝŽšØK­®°¼ê߆¨!£A&ÎÜ’\HÊMÚu¿¡¡¡L4ªJ}¹ jX5<5¢+×äø–æ€¾×ã[VZ²õv»¬6”QÆWæûñ•Ñ„oû§u;jb/!„ÚGÛ&NIIIHII©SN-!êôìÙ³Á—š˜˜pß7ðó7µÉÒÒÒÇM§d¿?~¬Sž””ÔËY“““©SªÄÕIÄê­ÛQ{’‘€”ü”:å)y)uêôTê9m`CC£ÁÝørÝ?½ÉñeJ@Üg®ÇWT>æÖÛí¹I@½œ59/™:¥J\D„ݺ!„:\Û&Nuuu%%%Ÿ€€òÎG‘‡› ªªª««›••5uêÔÞ½{“åçéÓ§ä„eÓZ¥PQQÑÕÕ ?þüÒ¥KÉò   33³ú®TSSSQQ zøðáĉ‰Âˆˆˆ»wï ‘5:4aÂâ,qmmíîÝ»`èЯû‚︣ö¤.­®$¡äí@Þò(êy¸ ªRªºrºYEYSNí­üýÐD?%',›Ö*€Š¤Š®œnxJøù€óK-)ã›d¦ÝÐøJ©©Hª%=|ûpb¿o»=%âî«»ÂÂFj”ñõ:4¡ßâ,q-»v÷ƒÝ0TçÛøò Á÷Ž?ÜB¨ÃµùÅAëׯwtt9r¤¦¦fBBÂÇåäärrrÈߩÇOž<ÙÈÈhĈBBB)))aaaÉÉÉ]•SG«4˜>}ú²eË.]ºD\U\SSÓàÑêÖ­[W­Zegggkkk``ššêîî^SS³eËò‚ÈÊÊ244´µµôõõýð჌ŒÌüùó‰outt`ãÆ"""Ä}œ?ÖQ;[o½Þñ®ãÈ£#íØiÊh&ä$<|óP®‡\NIñ– 8<õð䳓~3a0Â@Á@H@(%?%,9,9/¹âL»ñmFà€ýéç¦/»¾ìRà%âªÚˆ”ˆà¤àšs5ü´†ÆwìÖU7WÙ¶³íkk `šŸêþÚ½†U³eÌò‚Èú’e¸ËжŸ­ ¿ oŒï‡Ì2L™ùfó‰ouät`ã " â>Îë!ÔáÚ#qÆÄĸ¸¸Ü½{—(Y±bEVV–»»;ùsoggwãÆÕ«W{{{{{{…|||cÇŽmúÌ*U«4ŽŽŽaaaaaaD¡……Ec7q®\¹2==ýÈ‘#ðíöÊß~ûZíÔ©S›6m:wîñ‘¸“83 cÆŒéÙ³gttô‘#GàÛ}œ?ÖQ;[?j}Ìç—@—»¯¾¯ÕЬ/Yî¯ÝÉŸ{»v7ßX}kµ÷oï߆†Æ7¶÷ئϬRµJ#à`ìPPVàèê––üm|u-»‰såð•é…éG¼x¼õðxûm·›/úÍîûñuj“ë¦sþ߯—)ã¾Ò83 czé©Ô3:3úˆ÷øvçu„êpmž8étú¥K—V¬Xáïïæææƒ Ò××—‘‘!ÎOfΜiggçëëÇf³544L^çbmm-$$¤  @m™(”““kI#ÐÐ#a—/_>cÆ ooïäädqqq###SÓ¦žByðàÁeË–‘ô>|8õ>==½èè臦¦¦*++SŸBBBááá?NLL¬ªª"‚©XÓq¹—Z~iÞ¥V+üãýÀ\Ç|æ ýú2L!Êøši7ÀÎ7Æ7îs›ÃÖÖ¬5˜¼Îź§µ€‚Ø÷‘÷´’“kI#ÐÐ#a—[>Ãd†÷ïä¼dqaq#u#SÍ&ÇwòÁeÖùD} ÏpƒáÔúôäõ¢÷G?|ó05?UYR™úä  ßþ8êqbNbUmLýÀšîˆË½„jk4žž²H\zãêêÊSáááÔËsN:µzõj{{{777žÚ颶nÝzèСׯ_÷ïß¿£cáF[·nÝß7ór`BxJ8õòœSÏO­¾µÚ~€½ÛŠŸc|ïm=äuèõî×ýU;ûøþØ¿ßú²³³KKK›¨ðä sÍùÄĤv„PËéèhŸ8‘=n\S±L&S^^žû6ÛãYµ#FŒèÓ§Ï€"""‚‚‚`ݺuíÐ5j#œFôQé3@u€] "5"(1ÖYãø¢6q6ä¬SnJŸ)?ÜBqeñ•ˆ+}ûZi[µ^\ `qX§ƒNkIkÙÚ¶iG Jÿ’þ6ómú—tA~Á^ò½ŒUŒ[þ^nDhÄ9hРçÏŸ‡„„œœ¨_G]Ú ÍAÏcŸ‡$}_~A§iNÔǯ#ԊΟé£Ð§E‰³ªøDà‰ÙF³[7qž <©"¡bßû¿GXÔ²jOž°ÖµnçÄ™R˜²ùÑæÈŒHj¡œÁ)ûS’íIwÕ‰Ó××7""âÍ›7¹¹¹JJJ666ŠŠŠíÐo'ÑØÜj·á»Ñ7"%âͧ7¹%¹JJ6½lŦñmdnµ‘f+ä˜qN÷Tð)S5Sjâì(_2"3"UÄUú*öUW.(/ðŠóŠÍ‰]tg‘÷o~>|›dKµÓ466666nŸ¾:kkkkk뎎¢mkkü¬ãkhmmØÍÇ·SùuȯBg§)¥ygÎ#åÿnÿ]g±Îþª}jajħˆÁêƒ;0¶îÿëêJêÏq²8¬à”àøÜx›¥-£m®a.È/H]¥¬ºÌ7Á7³8S¡‡Â(½QµüþóûׯK«Kå™òô‡I‹H“í“S•191¡©¡lÛXÕ¸Ÿâ×·¹egÞºËæ°Ó ÓNž '÷™,+úßk‚’ò““«YÕ”«´íÿ2•Ä””Ä”¨%ŠbŠ£õFßx}£¨²¨M»þI`âDu%uæ8óuû5¹ ™¬ Ï”?i’<Þz—õné½¥¹¥¹ÄGY¦ì1ê´™W–·þáúÔ²DX@xϨ=SûNÊTelN¬sˆ3YgR¯I‡ÿßÞ}Æ5uµB öÞ{‹(‚3(*âʼn“V\¨hutX[_­Wq7*¢¸*2T@†ˆ²§È0²“¼.0$DËóÿõ9÷Üsž›ª÷žq]v’Iäâšb"_VrçÝÜÄé÷ØÏ'‡»„aºÍômc·ñ¹ÆËÏ/Tðÿæö›«@tOG¨¨­ U ÁOAŸ‚‰!ô­ªkª›4¿¨ºHSVs˜Ñ0ª5:7:«"kaÐÂÛ n«ÒUß7¾_|iq³Ì@Ñ€aÀ`±YÙomäm„Åf-¼¸0¥$E[NÛÁÐANR.ïm^Ø«°M·7+÷ÑlYe”P”ö*l˜á0“’š’ô«©Wõô—3–kÊj®`¬ðöÕ’Õšl=™¨¯%§EüTœt/óÞ0Ãa&Ê&¥ÌÒ[/o]H¾àbá2Xð§®ëòóË1¹1ü¯}¼ÅxÁgRqRè«PWKW==OA|`âD}«®¿¸^T]d«e{rÆIâmkÍìæ•WWÞI¿s6ñìJ‡•7^ÞxÃ|ã`àpxêa*™ uMusÏÍ­¬ý°oðÝŒ»)%)®–®>.>ܽSJR¦žšz<îø¾‰ûˆ’ÊÚÊãwróbrIòôSÓÇ_:d)‘8ÄÐUÐ]ÁXÁm¹¡¹*j+M>ädÒ2î`à°îƺYø$ÎI½&uø8WQJЭÿ ª –/ÑSÐû}ôïž‚øÃĉúV+.~pøûŽRŠe­ãÚ;éwž>€„ÂXÎXNdM QiË/[xq!·‘èÜh¢Jýóøâi*‡ÃáGVR6¥$…[M_AŸ›5ÀFÃf”é¨;éw^•½2Wm½“/KUKnÖb Ìæ>§ˆpjnVEÖÜss¥©Ògfž‘‘øä«j‘P„Kœ………«V­ê¢hÐ×#,, ÿGÿÇ$''kkkww¢T]_ ºòº¼…:r:$©ª®Š[A[֑ÿè¦ÄÝg`r ÿ¾´å[uD;5 5üOÔýhu–U šÙÍ|NÕç³’gž<¥ÏÌ<óu®áùF —8_½zUXX¸wïÞ.Š}=ž?þüùóX]]]w‡ Jr’r_•Ï› ª 8Žé|dNä`ýÁJRJ5õ5¹oscócç÷Ÿß[£7QMQJñÇ›?Þ|yÓTÅ´¸¦8$=„Åaͳ›G&µÌ'ÒWÔQúbÍõ5:ò:b$±Vë8…ò™cœqq+®®`sØö:ö ¼‡†åÎF†‰!ô­¢QiþÓü‰uœgÏ…ªtU_7_âÙ¬´¸´ß¿E—åTæk=•¥•·ÝæuɋۙDöŸî¿þæú{™÷‚’?qÒétGGG‘7ûù¾ÚÀô•ÄO§ïstì`©x·øjзÿ1*ébùE_F¾fxÇù5¢P(ÿùWxödÊ.'§ Ý1*éb‰µýä &“)ò6Eâ« L@_IüLæÝBû¾ÚÀô­ÇPÏwœ!„¾ÄçéÓ§ $###%%ekkëëëËf³y+DDD¸ºº*++‹‹‹¬]»¶¦¦eßäúúz‰äææVRR2sæLEEEiii''§äädÞØlö_ýejj*!!addäãã“““C"‘¼½½Û LÀfùÇö)|®—ÛoNNΤI“äååeddÆŽËí7**ŠD"±X¬ððpÒ¿¨©iü7ÎfÉÇÍíJIÉû™3o(*î—–Þçät!9¹Œ·6›ó×_q¦¦þ{ŒŒŽøøÄåäT“H>ÞÞáí&`³ücû>×Ëí7'§zÒ¤+òò¾22ûÆŽ½Äí7*ªˆDòa±8ááù$’ñ߃Â~±‚_ BHäº|çºuë|||¸=ztölË6~~~K–,á¾=77w×®]áááÑÑÑRRRDaUUƒÁÈÎÎ&>†‡‡92--MYY™(Yºt©ŸŸñsvvöºuë:Œ­Ãf‰MØë€ÊÊJ‡¢¢"âã;w¢¢¢¢¢¢lll:ŒY¨Ž:¼ÀÏ·n]„OOoï=zT|ölË€Ÿ_ò’%¡ÿ~…›[½kW|xx~tôL))ê¿q60g³³«ÿ3äÈ iižÊÊ-ïŠZº4Ìϯ%åggW¯[‘PÚal6+HlÂ^/TVÖ;8œ+*jy´~çNNTTaTÔ,!ö‘¤£/!ÔºöQmBB‚Fóõõ-))©¨¨8s挢¢â¹sç®^½ ÙÙÙË—/———÷÷÷/))©¯¯OMM6mZRRÒ¾}û¸íDDDèèèÄÆÆ¾ÿ>##cäÈ‘-{0ÆÆÆúùùÉÊÊ?~¼¼¼üõëׇºråJ‡áñoVÀØ„º^Bdd¤ŽŽÎ“'O˜LæË—/§L™Âd2‰›cƒÁápÈdòÈ‘#9ÿj;™VÀŽø_àçKH(õñ‰£Ñ(¾¾#KJ–TTxŸ93^QQòܹ´«W3 ;»zùòpyyIÿÑ%%KêëW¥¦Î›6Í,)é;}~³‰ˆ(ÐÑ‘óþýóGŽÔ­¨¨ xI-ñóK–•?~|Lyù²×¯—:4êÊ•ÌÃã߬€± u½„ÈÈB™'Of3™?¼|é9eŠ)“Ùäí †‡³–L&©Ëá¬%þstÔé\Gü/!ÔEº6qïQùõ×_½½½ÕÕÕgÏž½ÿ~ €3gÎ455ùùùyzzª««KHHXZZž;wN]]7(++_»vÍÞÞ^JJÊÄÄ„È[ܧޗ.]€íÛ·ÿý÷JJJjjj^^^?ÿüs‡áñoVÀØ„º^N¿zõjÿþý¥¥¥ÍÍÍÏ;gnnUZÚñ]”Pñ¿ÀÏ”¿þ:ÈÛ»¯ºº´¢¢äìÙû÷;@``œ9󢩉íç7ÊÓÓZ]]ZB‚li©tºº4oPV¦]»6ÉÞ^]JŠjb¢°oßHNnyÓï¥K¯`ûö¡ßßKI‰¦¦&ååeóóσ: ³Æ&ÔõètêÕ«“ú÷×–¦š›+ž;çbn®UTZZ+ª/V Du‘®Mœ™™™àâòÑ4nâ#q(55fΜI¡PÈd2™L£P(¯_¿ÎÏÏçžbkk++ûá¥w†††ðîÝ;âcVVŒ=š·—VÛÅ¿Ycêz }úôQUý°Ù&•J9rd«:ü Øÿ ü|™™oÀÅå£]Ê\\  3³ RSË`æÌÊ.2y™¼KL̇BÙõúõûüüCŶ¶j²²âo/­>¶‹³Æ&ÔõúôQUUýð$ŸJ9R{º ìˆÿ"„ºÈ—˜UK"‘>uˆ˜ÌÂb±X,›Íf³ÙÜÅÆÆÿi´Ælˆ¹5Ûí¥ÕÑvñoVÀØÚâs½ü {b‡õùÞ>Ÿ(ˆÉ,,‡Åâ°Ùž¯?L£Ñ>k'lf§þÿòkVÀØÚêìÿÞNüÿí ‚ ßúï)c–Í ˜u"þDwÒsumâ466€›7oòÞºu‹{ÈÜÜBCC9m”—— Ø‹‘‘„„„ð†††~fðˆ­Ãë%$%%½yóáyZSSSxx8÷B@LL¬¹¹™OlvÔÕŒàæÍìÃÈccy07W€ÐÐiÜñ<îååËìÅÈHBBrx CCó>3øNÄÖáõ’’Þ¼yóá©lS;<<{! &Fjnæ—ßìõL ¬†Ø‚ØÜÊÜî¤çêÚÄI¼q~Ë–-,--}ûöí¹sçˆY0Ó§O …2{öìcÇŽ466–––FEE-_¾|ûöíö2yòdظqãéÓ§+++ËÊÊ>¼uëÖÏ ¾±ux½&“9qâÄØØØÚÚÚ´´´Y³f¥¥¥1 555¢‚¢¢bjjjVVV«u;ÂvÔÕ¦M3€-[<˜TZZûömý¹siÄ‘éÓÍÀÃÊB›=ûæ±c)ïY¥¥µQQEË—‡oßþDÀ^&O6€#OŸ~QYY_VV{øð³­[fðˆ­Ãë%0™M'^Ž-©­mJK«œ5ëFZZ%ƒ¡¥¦ÖòüVQQ25µ<+«ªÕºa;Bu‹®]Žbkk»fÍš]»v-[¶lÙ²¿ÅϘ1ÃÍÍ LLL:äåå5þüVç®_¿^À^ °`Á‚£Gzxxp ÝÝÝ©Ôö¢±ux½‡¬¬¬pKèt:1µ‡0|øðóçÏsïïß¿ßjb­€u5[[µ5kìvíŠ_¶,lÙ²0ž0ÌÝÜŒÀÄDáСQ^^wçÏiuîúõýìeÀ ¬Mñð¸Å-tw7 L£R;ÿ›_'bëðz ÚYYU|˜½L§S‰©=„áÃuÏŸO36>J|¼ß½ÕÄZ;Bu‹._ÇéããÓ»wïƒ>þœÅb™™™yzzòîK°`Á›Ý»w?|ø°¬¬LEEÅÄÄÄÝÝ}öìÙ‚÷âççgll|äÈ‘‚‚mmm///;;»ÀÀ@…Ï ¾±ux½ ¨¨xüøñU«VEDD°Ùì!C†üù矼‹8÷ìÙÓÜÜ|ïÞ½·oß~j0O޾ÇÞ½ULzþ¼œÅ☙)xzZ{{xYî‚Ö66*»wÇ?|XXVV«¢"eb¢àîn6{¶¥à½øù9+9ò¬ à¶6ÝË«Z``š‚‚äç߉Ø:¼^PT”<~|ƪU÷#" ØlÎ!Zþ9”wçž=Û›Ù÷îå¿}[ÿ©!IA:êšXMßÿÎNÇncE`RࣼGoëÞúO÷ÿéöO°ËuQ­¦¾fIð‡³wâ^î[¯7ÞÞø¾áýßnÉÀ$)’ÕõÕŸ]L,Jd62Õèj£ÍF0Á=‘Åf=È~••ÿ6Ÿ,F6U1b=Å@Ñ€·ñäâä ÉŠjŠ4d5ÜmÜ•¥E¶uI¨©"ÄBb-ÄWnÅŠ¾¾¾—.]"ä~%êëëi4ÚĉYfÚH$ÒÊ•+÷ìÙÓÝ|ÒŠ÷|}.]šH<ÈýJÔ×7Óh{'N4¾råËÝ÷ NTKKKùïœ|ë}Å µÌ̬Ï쨭†æ+«Æ#êšêå=" “V%ýïÞÿ‚’ƒy?R¡«Àô;Þ—½`çø“­'@U]Uÿ¿û»XºìvÝÝnËÛ·=ýœï>®>š²šBöªüÕ¢‹‹ÞÖ}4¡zšÍ´íc[†{Üϸ?-|Ê{Tœ,¾Ò~nr½øìâ¦Û›Øœ–Q²yÍÐ5;ìœc;ç7çßøŒÀØØèï¿KÇã÷'–N§sGÊÑåwœ_ÆÑ£GËËË'Nœ¨¯¯_\\|òäɃÊÈÈ8;;wwhHŽM)/¯8ÑX__®¸˜yòdêÁƒ‰22âÎÎúÝê³Ò%èk‡­µP³¤HÒ¨´!úC‚’ƒ¢s£Ýz¹@TN” ]….NÎ&磼Gl›¡ÏøT›iei±±üû­kª*0›åuÉ«ª¾Ê­—›£‘£œ¤\~Uþ‰¸AÉAƒtM°šÌæD«‰ö:öÚrÚõÍõ/K_žˆ?±%t ‘8‹kŠ ù•ÍaO¶ž<Âx‹Íºv{÷Ãös?úbþ#‰³ªªjãÆ7nä-ܽ{7Nï®UUÕoܹqc$oáîÝÃéôÎa£o8§gœ¶P³à– ÑB"‘"s"¹‰“¡Ï KÐo½¼ÅápˆC0Ä`ȧÚÜ8|cMCÛPêvóSI8SQ[±vØZ¯A^Ü:ãÌÇ ;8,øy0‘8f<É‘’ÒÈjäp8‰¢ê¢×ï^«Ë¨_K½ÖÈjœg?ï§‘?§·ÿã̓S‚ùG‚ºÔ$q.\¸°ªªêÚµkÙÙÙd2¹oß¾kÖ¬quuíî¸h,\Ø»ªªáÚµÌììj2™Ô·¯Úš5v®®FŸ‰þ‹ÌUÌy³&(Ð,U-£r¢8N^U^au᪡«d$dN?=V–f¡jm¬l¬Fÿäã¸V Š$°¤â$ÍÉ‹!Å8À!~ȪȇµêÚ*"Ïj'I IDAT©·ò®áºŒzzY:Lë=÷дÞÓ0qv¯ÿH┓“Ûºuëç/Aéj’’’"ß '““غ•±uë'Ÿ³}%$%)ÎÚîŽâ¿O]F½m¡ƒ¡Ã?þI+K{Zø”D"1 ’IŠ%2;R‚,QT]ô½Ý÷|ÚüÌ1Îv«m¬€ä’v6¹§ˆÀõÔë‘9‘z zslçè)èIQ¥H$Ò©§§BÒCˆ(ê›ë@VR–÷\9I9þq¢®öIœ¡ž£Ý=˜úŒýó0ûabQ¢¹Š¹’”ôÕêM£Ò`ˆþ'ŸÓ‚ˆÆ8[¦!«[œ·+·^DD£À¿9uÿ¤ýªîS÷<ü0)OUZRKSySrÊëþa ®†‰!ô_ÐO»J{õàå›—³û¶,c0ÆŠe Þ@>§‹dŒ³•Ñf£OÆŸ¼šzÕÇÕGW^—(dqX¡¡,6 äiòP˜@$ÎfvóÁ˜ƒñ…ñÜ þ¼÷§‘’‘¾‚>¤½IÛ“ƒº&N„ЕLí¯Ó?";-OõúŒ=÷DçF÷×éOÜw~ŠHÆ8[é¯ÓšÍ´ ä ÿŒÐ‘×Q–V®©¯)¬.lhnX2õÈpãáÍìæŒ²Œ¬Š¬Ázƒ·t;RÔEðŽ!ôÍ ’©³híï6Ùz²¥š¥UJœÜò¶51’Ø©§Þ5¼3U1í–ÀÄHbžöžóìæåUåUÖV*J)jÉjQÉ–QͶ=ÙzrNe HÆÊÆT25¿*„ñù–]åiòG¦)e–W«É¨iÊj647Ì P“bÁ>-Lœ¡o†Il€î€O•“”k{ÔRMˆÍ;`$I_AŸ¤l‹F¥ñ©+¯ËåR£«q×ÒHP$øô…¾áçãÇ ;ý¾Iô Ù»wïÞ½{»; $bÚÚÚÝBß<ᧉ‰ F?~|Eƒ¾{÷îX 0¨»A¢µÇĄ߄ „KœJJJJJJ_óÞßH$öîÝ 0à˽Ú}AJJÝBß>œU‹B 'B!$Lœ!„0q"„BBÀĉB ¡G'ÎÀÀ@GGǤ¤$ë>|ØÑÑ133³K£B!ô5ëщ³   ""¢ªªJÀúÙÙÙL&³K£B!ô5ëÑ[î¹»»ÛÙÙõéÓ§»A!ôÍèÑwœ:::ŽŽŽòòòÝB苲Þe=+`V5ÞÐÜ`ü§±×%¯.j¿•.½Ô®8ÛŽq²X¬€€€¹sç:;;Ϙ1ãðáÃõõõmOLLL\¼xñ˜1c<==£¢¢¾`È!Ñ3ÛiæqÞ£»£@ߌý¨¶Õçû÷ïÇŒÛ÷ïߦªªÊ-¼}ûöo¿ýÖØØH|<~ü¸¯¯¯··÷—Œ!ô9RÖ¤twèÖ£ï8[Ù´iSTT”ŠŠŠÏÍ›78```’’âåõÑ#—Í›7=úìÙ³ÁÁÁ‹-"‘H«V­JOOï®°B}I=úŽ“Wssó±cÇ$%%£¢¢LM[Þyëîînnn~åÊ•ÒÒR5µ–—Ṹ¸?Oš4ICCcË–-'NœØ¾_ËŽP×ï?¾¦¡&ri$ñ±¨ºhØ¡apgÁcec¢p¤ßH²ùî» Í V>VN&N¿8ý²ãþŽ˜¼˜ªºªgkžIQ¥¬wY[«[Ÿ}6¾0~Æ™“cügK ³ˆ^ÆÄ}r4¡(ÙÀT—Qm6zùåt º€ÑVþ/üó³Ø,;»uÃÖY¨YtâB„ý–®<¿r&áLFY›Ã6T2œÚ{êÛ9b¤–Û$6‡íë˜XTS¤.£>»ïì1æc9αó›óoÂöÕ3ág‹ììl&“9|øpnÖ%%¥©S§r8œgÏžq ===yO$>òV@u†£¤¦$«"‹ø•b$±Èœ– TX]˜÷6oˆþî)ÕõÕÓOO¿•v«ª® Øl¶€}K<7ûìì{™÷ªêªšÙÍ…Õ…þ±þ3fÖ5Õ rzu}µûi÷ÐŒÐw ïj›jf?t?ãþ²ôe§/D@ÞÿsíµIÅIµMµõÍõ/J_üúûšëk¸6ßݼãþŽÜ·¹M¬¦‚ª‚?ïÿ¹+b—°½ôp˜8[“€[•%¼S„ZÍÂ%*ÔÕ ôw !ô9 €›]"³#”ŒzkôŽÊ‰â–ÀÁ=%® NSNó¢ÇÅçkŸgnÈlu¿h§m—¹!“,F¬?8sC&ñßÝU[B·ÈJÈn»ý‘÷£ë^ÜYpg¬ùØ—o^žŒ?)H¨qq²—<.¥¬I Y2ÆlLmSí–Ð-¾A¤–¦}rT’"¹yÔæGÞâˆßåºKž&ýÅõ°Wa\œ|.ñ]‚¾cüŽøâ/üûèßC3B…êaâl¡¡¡OŸ>mõ i\\hjjrKx+ÄÇÇ€––Ö—ˆ¡žÍNÇN‚"Ad6‡ý8ÿ±ƒÀ[ÛÄj€¨Ü(2‰<@g÷)ª”ß¿>š}$)’‚wtåù•fvóÖ1[§ÙLS¡«ˆ“Å•÷NØ«BW0ÍHQ¥ü¦úÙhÚШ4#%£½÷)ÅÆ—¿/ïÜ…âvÚmðâ=·ß\ºŠ|QÚÚÚ 011‘HKKkllìÓ§»»{÷ŽP2DHtnt|a|BQ‚8Y|€îqŠ8]‚•%I•¬©¯aèôxSžÖ™NØ6°Ø¬¶‡Y‹œ@"‘ˆ„½NtñÉ ðQ‡Ó¹Žz,LœŒ9òúõë?üðCfffee%hjjîØ±cΜ9¼ÕöíÛ·gϞ˗/sÏ:s挸¸x7DŒPÏã`è°óÁΨœ¨„¢„~ÚýhT Ô™)A–áÇ€¤fV3o‰‘’œœq²Ós/J_TÔVpo:›ÙÍò€®¼n×]ˆ¾¢>Üϼo¢lÂ-|õôô@WAf?œm;›[!:7ºS—ØsõèGµÄŒÞœ7nܸW¯^½zõ***êÅ‹………¼YsÑ¢E÷ïßïÛ·opppaaaLLL^^^XX˜ººz7DPd®b®$¥ú*4±(‘›ZŒo^ÜL»)#!Ó[£·°mÊÓä_•¿Ê¯Ê'n4`’õ$2‰¼úÚê ä ’š’&VSùûòøÂø-¡[þyô mÖ6Õ.¾¸8¹8¹®©.«"kåÕ•YYvÚvÊÒÊ]w!cÍÇ€o´o@b@ùûòêúêë/®ÿv÷7g>F›ŸŸ+ϯTÕUUÖVžO: 怰õp=úŽ“˜øÓ6í·­ohhhhhHü¬¥¥…‚úòH$Òƒ!×R¯ÏàÀÁáp2Ë3G™Ž"‹‘…ms îÀ/oŒø§ehXÇùǘ?~ ùeãí­*/¸X6íuìóÞæM95…["E•"æétÝ…X©YÍï?ß?ÖsÈæÍ!úr±pe: l4l¦ÛL¿|aíµÜ£ã-Æß|y“J¦ Û]ÕCï8wïÞmjjzýúuƒî!$bðOIJÉBµe?}}m9mèÔãMøiäOcÌÆÈÓäyG§ÛLšäbá¢JW¥ˆQTéªýuúoqÞ²dÐAÚ”“”;?çüãt ºUÊÁÀ!pn w„.ºØ8bã_.ÙhØÐ¨4 Š„…šÅ/N¿ìž°›[a똭ë×éÊëRÉTyõÃ×Ïì3d%d;×cDjXxÚ´iÔeñ|!^^^~~~jjj/^d0:ùô?ŒD"Lïî@hM›:UKKKù¿•öÖ-úŠj™™YŸÙú2~ýýÔÓS& äþÇýýwé¸qüþÄÒétîÞp‚è¡jW¯^½lÙ2333œÔƒêQ.$_¨¬­e:JKNë óMpJp@b€´¸´ƒ!.JTMœ¼ûê!„Púîéû®á]»‡d$dW%~Í}ÕÔ×øDøøDøðþ4ò')ªT'CìyzhâD¡žÉ½{MCMø«ðüª|²ÙRÕrÁ€­öL@üaâD!áˆöžò ÷%#!³zèêÕCW‹¶Ù¥‡ÎªE!„:'B!$Lœ!„„ãÌÈÈxõꕎŽNEƒ¾& Öt\ }K*22L:®…â '¡öõécˆ{ðþÇ$%%uwý—8MMMMMMÿ;!þH$’§§ç¸qãº;$JÞÞÞtºpïwDµ…cœ!„ðQ-B‰Ò¡G‡TéªS¬§t\µûV&'VJP$¬Ô¬ì´íZ½þúZêµÜ·¹­Î2U1c6¦mk©¥©‰E‰õMõfªfƒõwâ½.ßLœ!$JcZ«[µ‰3÷mî7~L(Jà-4W5ß?i¿¾‚>·äúËë÷3ï·:w¼ÅøV‰ó óÍêë«ç=æ–(w?N¼ãå¿ 'B‰ÒÒÁKUéªÝÅ'U%%hËi÷Öè­%§UY[y'ýNÚ›´ùæ‡, ¡ˆ}”¼‡x‹‘>Œè™ª|´Ë÷ûÆ÷³få¾ÍU )8™:)I)eUdÝ{uïõ»×˜8B JÀvvEƒ s/ØjÙrKV:¬œtrRÞÛ¼ø‚øzy+/g,'“>ùÜu_ä¾Ü·¹66ÇÝËJ¶¼Î3¿*_’"ÙEÁ%zz⌉‰¹{÷î÷߯¯¯ßݱ „:ÐîÀ 7n­aMüÌâ°brc2Ê2Xl–‘²CŸ!A‘à:}ÀPÉÐÅÂ%«"+*'ª‘ÕØW«¯¶]Û6Ÿ¿~žX”ÈldªÑÕ† S’Râ=_ŸQ–Ál`jËkÛkÛ«ÐU¸‡xÇ8 ¸Ã¾DKSVSSV“·DCVc´éè€Ä€ªú*ÁÛid5= "‘H>®>ܬ ºòºÜŸy¿ð—¥/ç?#‰99ê)è‡Ã‰Î~ùæ%]œ>Úl´¢”âg_ÜÒƒçÇïÝ»çéé©«ûáÿkLLÌ–-[1q"ôõkwà TéªDÊ,Ï\¼$§2‡{H®æ;É—¸Ájf5ÿõ·“‰SQu‘O„‡Ã!êL·™¾mì6î)åïËW][õ(ï·„F¥mµyjï©PUWåyÁóYÉ3îQ ŠÄÚakçÙÏ#>òŽqv0ÿ¾Úuùù傪~_ÀÜ~sh üë𪨭 U‹Vå÷3ïg–gÒ¨4+u«~Zýx'¥¾N}×ðÎVËÖ@ÑàqÞãä’dº}€ÎcecnîžYž¹?z?Q¸-|Û>·}Cô‡,¾¸8¶ –(ÜõpWàœ@#%#ÁcîF=+qnÙ²ÅÉɉ7q¼Äœ(ܰaƒ¤¤ä©S§îݻǎ }}ýï¿ÿ¾Ý1μ¼¼°°°ÒÒREEEGGGsssî¡°°°¨¨(///…ëׯgffª©©Mœ8QQ±ã?¦ ÇÁÁÁÞÞþÊ•+IIIܘ¹-ËËËß¼y3##£_¿~ÎÎÎüãéðÂy[–••½zõj^^ž¦¦æ„ äåå;Œ¡¯ÖÑ'GÃ^…žyZZ\š(!–Xüàð‘–€"FYë¸öNú§…O¹'ZªZr³&89Àæâctn4HQ¥þyüñ,—Ãáp€#+)›R’ΦÎgÏ‹=6Ýfº¡¢!‰D'‹÷ÕêÛ‰€;ì«]“zMð+êPVEÖÜss¥©Ògfž‘‘á=´|Èò^꽸Sj«ë«=Îy¤–¦^J¹ôÝw@Œ×ûMõi<’¨•5ï¼SOOyñæ¦@+5+nÖ€!úC.$_˜b=…û›•Lí¯ÓÿRÊ¥²÷e_ó„d.Q&ÎcÇŽ­Zµª¦¦†[âàବ¬¬¢¢RZZúÛo¿q8œåË[~Y¶lÙ±cÇüüüˆ¬Éçt⣿¿ÿš5kª««¹ FDD„˜˜Xppp@@€··w«ü°råJ"qÞ¿Ž?N6l‘8[qnÚ´içÎ,‹øH"‘æÏŸðàA*• aaa;vì°µµ]¿~}ZZQGII)<<ÜÆÆæSß ›Íöòò:rä·dÙ²eL&óäɓܘ‰–{õêõã?æääÀêÕ«ùÇÓá…s[¶²²Z·n]^^QGYYùòåË ãÓÿ?úz~zúJê•VÿÜW×WÃÇ“S@GN‡D"UÕ}˜ö¢!«Á[AŠ*Íìfâ#qC˜ø©®Œs³ÏŒ?é~ƽ¡¹¡—z¯Q¦£fö™ÉÍÖ‚Üa_íÕç³’gž<¥ÏÌ<Ó6]õÖèÍûQNRnÙeKƒ—¦–¶Ü[iO[N››5€aÀ0Q6É(ËàMê2ízM|QíÖ5Õñù+!²ÄyõêÕùóçS(”ñãÇ[XX444„††FFF~÷Ýw7oÞ€½{÷>}útÍš5öööV%nIð >ž–ÓÕÕ={öìØ±cG-''wéÒ%"÷tx:Nõꕽ½=oÖÑ>iÌÏÏ/,,2d7KÀ€¦M›vöìÙ„„¢pýúõDä ..îä䔞ž^RRÒnâÌËË+..vvvæfM˜8q¢½½}\\\«ÊëÖ­ãfMÁãÄúõë¹áQ(”ßÿ=888::'ú†Ü|ysí “­'ŸO:Ï[N,‹tµt=s ¾0~ÌÑ1à ‡QÉÔèÜèÌòL9I¹Y}g ØÅxËñ'âOœO:™9X°’”RM}MîÛÜØüØùýç÷Öèí÷ØïiáÓzõô¨djÚ›´‡ÙÉ$r»7µüî°¯v#üÌ1θ‚¸WW°9l{û€„ÞCC ‡Sy³*²æÍ·Õ²5R2R )”¼+ þ¾ñ½ ]…w+Á•+¿ ünÉ¥%N&NúŠúÄä ‡³pÀÂobŽO§‰&q–••@VVÖ/¿üÒö(﨤ƒƒƒžž^NNŽ›››±±±€§WTT€™™™H¢ý”·o߀¡¡a«r###¨¬¬ä–´z•7ñª¦¦¦&>Ͷ}2¬¯¯ß6qš˜|xϰàñÂÀÀ íG¢ „¾¿†üÊb³‚’[¿ÙPYZÙZÚF¥ùOó'ÖqžMå„L"ûO÷_sý½Ì{¼©ÑÕˆL6Ho± …{HZ\úç‘?·{ëÆ?àûê Å5Å,6 Î$œiuHFB†HœZrZf*fO ŸòNª²P³Øíº›w¯ƒÁúƒ·ŽÙú{èïw3î%b$±yöó<í=»(ø¯„h§‚‚XZZN›6­íQ{{{îÏK—.ÍÉÉ122:uêÔ”)S\]]9‡KOOÿTÄÔ&“ÉIùùù¸ŠìììVåYYY ȼY>Íæææ¶*o[Ä<)ÁãüÂsrr¸“‰Ü.úV,°°‘ÕØ¶œ»VÒXÙøÎÂ;Ñ9Ñe,ËPÑp¨áPîÎA2ec…¡ÒG¿Œ…¼Ëöh ‡§ΪȊ/Œ¯¬­T”RÔWзӶ#VŒ,¸hn¿¹OòŸÛ,hÈj 5JÌ0"ðîUÛaÀüûê f*f++Ú=Äl¤dtÃóFjiê‹×/ÊkËe$d¬5¬m4Ú™ÿènã>Âhă¬åµåò’òC †ðNÎj÷ 7P4XÁXÑê7G#GE)Eb”úë'šÄ©££cbbRRR2uêÔ^½zqË9ÎÝ»w¹Ã–GŽ9qâļyóþúë/[[[„„ƒO'“É&&&qqq‡&&¢££L"‘ˆù>7oÞ\¶lq(444::š7HbŠ)Ÿ5]]]mmíèèèk×®M˜Ð²ú*>>þâÅ‹4ÍÖÖöS'ò§§§§©©öðáCî›7n´½ÝìD<‚\8aÇŽ®®®Äsàæææ_ý† Ò¹‹B¨[x òê°™Dj8t¨aëÅlÄ¡¶9£ÝB0R2úÔF64*ÍÑÈ‘XÇÒï^µ‚Ì¿/‘3W57W5︀•š••šU‡ÕTè*ÓlÚ¹çO|·DâlUÈçûü ‰lrÐÎ;'Ožlkk;bÄsssIIÉÜÜÜØØØœœœºº:2™œ°bÅ ›Ðh´   ‡©S§ÆÄÄHHHtxúÖ­[ÝÝÝ/^ìïïO̪‰‰ijj¢P(...¿þúë?ü©§§—––vãÆ UTEcFIDATUÕׯ_s#$ž ¯Y³&**JJJŠXÇÙê*6lØàíííæææââbnnž——wùò妦¦õë× 5§•U«V­[·näÈ‘nnn¯^½ºv횪ªê›7oøt N())±°°pqq‘OMMUVVnû „âOd‰ÓÍÍ- `ùòå!!!!!!D¡˜˜ØØ±c)JUUÕÔ©S%$$ˆ»%èß¿ÿž={–-[¶|ùòÇó?¦OŸ^YY¹nÝºØØØØØ–í ˆ D}úôY±bž}û[VDýòË/ÙÙÙ†¾ÇŒciiùâÅ‹¿þú þ]ÇÙê*–-[VXXø×_]¿~ýúõëðïºÉ?þøãs¾œU«V½|ùòرc/^$J–.]ZRRrùòeþù¸Ãx¹pÂþýû×®]ëççG|$ÖqâZ„–(7@˜9s¦››[xxxzz:›ÍÖ××8p 1&11ÑÃÃÃÑÑ‘;!ˆ)²eee¥¥¥jjj|N'xyy͘1#$$$''GNNÎÖÖvÀ€Ü£{÷î1cFdd$…B1b„Mpp°±±1ñ„$%%ãâânÞ¼™™™ÙÐÐ@ÌÖi»WíöíÛ/^ÌÝ©gøðá¼;õ899IJJª«´t—(TUýäì2™ìïï¿téÒˆˆ`0ýû÷733SVVæ†×nËÆ#È…LMM_¼xqíÚµ¼¼<---Ü9!„:‡Ä}?€ ˆÉ;AA­gˆ¡ÅÅÅñN’Ú¿ÿòåË'MšÜÕ]oذaÇŽ‰‰‰}ú´¿gt[$éï¿ÿ7n\—†¾0ooo:þùKKK™L&Ÿ ·nÑW¬PËÌÌúÌŽú|ÆÆFÿ]:n¿?±t:]MMMð6{ú&ï_̈#¬­­ûöíK¥Rããã‰ù;+W®ìî¸B çÒ¿ÿ{÷î=zÔòÖ= Ÿ¶»Ø#„úÊaâüBÂÃÃããã“’’ÊÊÊ455544:>M>5zŠB¨0q~9vvvvvì0Ùœœœœœœ:®‡BH¿W!„B\˜8B!!`âD!„„€cœ!$2M¬¦ïÎg§c·zèêOÕñ¼ài¨hø³ÓÏ_2°¶˜ Ì»w“Š“ « %(VjVS¬§hÈ~¡I‹ß4Lœ!$2l;¶ –÷Ý[mÅÄÕ7Õ±Ú•\œ<ë쬆ænIhF¨ßc¿=ö8™à\Â8 /\¸Ð¡ ¯Jbbbw‡€Dìõë×¼{^¢îrlú1º½{c`62©dª‹…KoÞZrZ•µ•‰ÉÅÉko¬}¸ä!ÿÄ„Nœ?vwwïŠPÐWåøñãÇïî(ˆaâüØëØw\©‹õÑìódùî›JÀÕÒÕí„[zYz|aüãÝÛ×O¸Ä‰»Ô"„º‘O„OBaBÛòùæ4Iüœ÷6/èYPFY‹Í2T2œÜk²…šqˆ;ù㇠É"s"Y}µú~×ï»V·€ÕõÕŸ]L,Jd62Õèj£ÍFóæ’7Ì7D̦¶¼6CŸádâô©Wr8œ1brcÜz¹M·™qrCòâ}6ñìã¼Çl»Ÿv¿¹ýæò¾[ä¤Å[¿—‰J¦Öœ^–Î60O.I¾t¡¨¦HCVÃÝÆ]KV뇫?8›9o÷}×…÷•Ã1N„Ð7#½,=¶ ¶mùœ~sˆn§Ý^}}u«‰ø‘q2þä/N¿Ìí7þ€¤KЗ/¹—y¨ó ëÁÝô»=.RÉT¢$±(qÑÅEoëÞrÛ¿”rišÍ´íc·@FYÆô3Ó™ 6 H˜n3}ÛØmmkhnøñæ·Òn-²œÈšðñ'7¤yóžä?! ïeÞ N >?ç¼MáS_ŶðmÏ_?çÿuù¸úhÊjò¯Ã+¥$E‚"ÑO«·$(9hÓMÜw§¯¶6¶ ÖTÅTðfÿ{0q"„¾k‡­]Ð÷c#«ñ§Û?6=Î|”2K×ÝX×Äjc6fŒùª5";"èYÐaôÓîg©fIœõ0û¡nØÁaÁσ'XM ˆQÀÇŇ›`fô™QS_Ó*Ôô²ô…A šfôÑìà~àœšqŠ›ÚÇšuxÔÍ—7ÿóǧØn¾±¦¡u§­~»y/óÞæÍ£ÍFó^õµÔk¬FO{ÏM#7%ã-Æo¼½1(¹§ÙaâD}{XÖWP–VþÍù7naÚ›4˜a3ƒ·æÌ¾3÷Eí{Yú’[b­aÍÍšÐK½¼­my0›Tœ¡¡1y1Ä#Jpˆ²*²ˆ/?¿¼èâ"·^n½Ô{™©˜IP$ZMCM/KŸ~zº†¬Æ¹Ùç´ä´:¼ U nÖš‚“‰ÓÅg3Ë3{kônÿ”n?ß—7Ö^_;Âxľ‰ûÄHvÅI/K€©½§òVžÜk2&NLœ¡o ›Ã^sm$EòcþÇ;%‡X•Ƚ$ÈIÊ‘H$Þ‹r’r¼ˆ¡M6‡M|¬m¬€ä’ä¶ýŠSÄÀ@Ñ lqصÔk1¹1Çb×3 ?:þh¬lÌÛ&YŒ\S_ó¾ñ½ WÔvù$oØ­ˆjŒ3 !`KègSç½÷7Ó\õÍõmckõíõL˜8B߇³áÖ‡µkü.ÞÛ#P¥«À³’gz zÜ”×)GMFMÀö‰­s¶8oáM„n^‘“”›Ûo.1áè ó×%/ó÷½îsWw*úºù~øýÌ€™G§í«Õ—§eM¬&îì$H)I>a‹dŒó@Ì=÷Œ·¿{Ân2‰Üꨪ´*¼(}¡.ó᥄©¥©üÛì 0q"„¾ç—_ªëªL>@kýýPágÎüõà/SSb4´¨ºhsÈfâ€]Œ6}2þäÕÔ«>®>ºòºD!‹Ã Íe±Yp"þ„¹Šù@½Ä!š]‚þ¦äMîÛ\Þ!X3³À9ç<<Î{š|ˆaÀàÓiùûò?ÂþøÙégq²8‡Ã9"¶ VW^—@[Ÿ9ÆÉáp¶ÝÛv<îøD«‰;Çïl›5€aÀH Øq‡±²1Ify枇{øwÚ`âD}3¶†o=Ÿt¾¯V_s¼åÄ:ÎáFÃê |œ÷xÂñ ú úT25«"«‰Õd¢lÒj Žþ:ý§ÙL JñÏyeiåšúšÂê†æ†Å·‘±5l«´¸´®¼®8E<»"û]Ã;šBÛ$§+¯{aî…yó^\¸Ëu1õ·]FJFŸ]¼ñò†¾‚~É»’2f¬u\Ë'ÎÏã É9wœD"×Ï=7—÷‡Ç³10Âx„†MrI²óag#%#‡•S‘c¦jV\SÜö·–'BHÄÈd°X@õ¿®Á)ÁXÔz?HK ‘H~SüþûãrÊeb"IÌÙÔù1HR$ïåcþg¢lrôÉÑ‚ª‚‚ª ’©ãÌǽ̳ŸÇæ°còb^¾i™p4@wÀ¦‘›hTZÛ¦TéªggŸ]´`åÕ•5õ53úÌh[  Ö9®Ûxkã³’g #!³qÄF>‰öó£§'® ®Õ¡Q¦£ˆÈbä#ÓŽ¬½±öaöCb¢£‘£G?Ï žm÷Oø:±X$ø÷¤‘¸+[BH¥¥¥L&“O…˜š‡‡f||޼<[´]ÇÆÏK[1P4 8 ïßgWd³­'¯Ç;WˆÍaÇÄ)Ðx×ï…ŠRŠ&Ê&¼mr8œ¼ª¼ÊÚJE)E-Y-ÞH¨mªÍ{›Çáp4d5x·)h·‹º¦ºg%ÏH$R?í~d9® Ž.A·Pµ€†æ++'§¦üÓÄjzUþŠÍa›ª˜Š“Å;ÿ5  ü}9ñ»E[z z¼ƒšðúÝë’š55MYÍcqǶ…oÛ9~çdëÉ]¡HTU‘íìôOŸ.4ˆßp/NWStðŽ!$r::Í›+Þ§ˆßb§m'H5iqik ë¶åb$±º)‰¤¯ ¯¯ ßnRT)"ó ÒJã-üÔ^µT2•wQJ—R–VV–Vî°ZdN¤Œ„LÍ>D*ÉÙ½_Œ$6Ä`H×Ç(ÙÙTÐÑim³˜8B"¦­Ý$'ÇNL”yâD_Xú›ô?ïÿ©$¥¤-¯]ú®ôõ»×0ÇvŽ]ˆû³n”œ,)'ÇÖÒjm³bWA!aHààPÞ…{”£/c¨áÐ~Úý*j+’‹“_¿{-A‘ð´÷üeÔ/Ý— Â¤†­ýÄöû‡wœ!Ñsuezy©çåQõôDü”ì?†J¦Ì à³™{÷2U1 œXUWUPU@#* 5ͪ{åæRcci~~¯EÞ2NB §ÃÉAÀb³³®MÃîÝ¥_&*„ZY½Z-9YâîÝügw ;9Õ"„DL†M›*®_§Çŵ³H¡®– yý:ý§Ÿ*D¾& 0q"„ºÈÈ‘ïŒÚßWjhõB|546oVf0jGŒh¯`aaâDu•ß~+/.¦nØ Š#Bè‹áp`ÃÕâbêo¿•wQ˜8B]EO¯É×÷õíÛÒ¾¾ŠÝ ê)|}oß–öõ}ÝuÓ0q"„ºÐàÁu[¶”ûú*lÛ¦ÄjgÏ„D†Å‚mÛ”|}¶l)<¸ƒ7Ã|\Ž‚êZîî5RRì Tss©»w¿¡ÓE¼BÀdŠ­^­-µ{w©«k³¾?Þq"„ºœ«+óÌ™âgÏ$uƒƒepȉ‡ÁÁ2ÎκϞIž9SÜÕYp'BHX‚¬ãlWU•Øž=ŠçÏËõêÕ0~Õ¨Qï©Tü÷u^S)4TÚß_þùs‰3ªW­ªìÜ{„]lj‰!$œN'NBZšøÞ½Š÷ïKKJ² ª³´lÐÐ`áó[$8&S¬¤„üâ…Ä£G´úz±áÃ߯\YinÞØé1q"„ºÖg&NÂë×”ðpéGhiiâååd&‡ ¤¥ÙÊÊ, ‹ÆAƒêœœÞ«©}îî˜8B]K$‰¡¯n¹‡Bu!Lœ!„0q"„BBÀĉB 'B!$Lœ!„0q"„BBÀĉB 'B!$|­BH8ÝB¢$ìiÜr!„>ªE!„„€‰!„&N„BH˜8B!!`âD!„„€‰!„&N„BH˜8B!!`âD!„„€‰!„&N„BH˜8B!!`âD!„„€‰!„Âÿè§$RsO,IEND®B`‚fio-3.39/examples/e4defrag.fio000066400000000000000000000010141476262051600162300ustar00rootroot00000000000000[global] ioengine=e4defrag directory=/scratch nrfiles=1 filesize=100M size=100M bs=32k #group_reporting [isolated-e4defrag] # It is important to disable buffered io buffered=0 donorname=file.def filename=file1 inplace=0 rw=write # Run e4defrag and aio-dio workers in parallel [e4defrag] stonewall time_based runtime=30 ioengine=e4defrag buffered=0 donorname=file.def filename=file1 inplace=0 rw=write [random-aio-32k] ioengine=libaio runtime=30 verify=md5 direct=1 bs=64k iodepth=128 filename=file1 rw=randrw numjobs=4 fio-3.39/examples/e4defrag.png000066400000000000000000002755231476262051600162610ustar00rootroot00000000000000‰PNG  IHDRè¨?Z­bKGDÿÿÿ ½§“ IDATxœìÝwXWÛàgY:Kh¨Ølì±7"Ö£F&{I¢ÆW£’Ï‚D»¨XCl¨¨ŠB‚©Ò{‡¥í²ßcÆu)..èï¾Þë½fΞ9çÙ9FçÙ9g†#‰@ r²Z ä -ä -ä -ä -ä -ä -ä -ä -yY”‘‘1sæÌªª*f÷ìÙ³FFFõÔß³gÏåË—‰¨[·nîîî êK ?~üÎ;YYYB¡ˆŽ9bkkÛØØ›†H$:sæÌõë×333mÙ²åÇd>Ý·o_çÎe ¼‚ü@ö¾úê«;wî°»åååõ׉‰yðàAãúš?þÑ£GÅKJJJ×TZ½zõŽ;ÄKrrrØïXXX(‹  Èdì·ß~»víÚûé+77—MV­Z5räH‡#ó›|>÷îÝÌö‚ &Ož,''ghh(Û¨ VÈd)..nÅŠDÔ±cǧOŸ6ww±±±ìöŠ+ZÈ5zll,3“Šˆ–/_nggGD÷îÝc 1y  å@þÐ,¯\¹òâÅ‹²²2##£NŸ>]YYY¼Nuuõ¬Y³JJJÌÌÌ~þùç &ÔÚTqqñÁƒäää† òõ×_7®SWWWñüÁÅÅEAAASSóêÕ«ÿûßÿ|}}‰hÀ€6l8räˆO^^ž··÷™3gΜ9ÃÂápTUUÍÌÌ äâ⢨¨Xœ|ë:/¾øâÉ“'â»g‰j¬¸ÿ¾··wLLLyy¹žžž££ãŒ3 ê:-ДDФJJJjÍlllžÝ£oç·4±9sæ\¹r…ˆLLL:äíííêêJDñññ£F*--eªEDDlܸ‘ˆfΜ9jÔ¨zZcnhhhìÝ»÷Ò¥Kjjj'NœhD§^^^{÷îe¹råʽ{÷®^½*Þεk×¢¢¢~ýõ×»wïÞ»wÇãÍŸ?ÿÞnݺuèÐ!&þuëÖÕŒ“ÇãíÞ½ûÒ¥KŠŠŠ5ã¬éĉ`w===™¾ÎŸ?_³ò—_~yãÆ "RWWßµkו+W&MšDD¥¥¥_|ñE@@À[»€w%ëàƒòâÅ ö/Øû÷ï3…€¹æ&¢ƒŠD¢òòrfBŽ¡¡ann®H$ªõþƒøt£Ã‡3…ÆÆÆL!ó»¾”ŠD"¶fvv66{ÿAYY911±þïxñâE¦²žž^Í8Ù¾ÊÊÊØõõ܉DAAA5¿{rr2[ÈÜˆŠŠªy6ª««;uêÄŽ;¶þÈàÝaý@S¿Þ°a‡Ãa¶óó󙀀€… ž?>22’ˆ<¨££SWk?f·‡Êl(**:99‰ÿ>>âË-ØÙ”©ºººAÁ 8P__?;;›ˆ¶lÙâå奨¨~éÒ%¦ÂäÉ“øý Á?4%•ßÿ}âĉàСCgÏžmÛ¶miiiRRRqq11Z266f×@×Ô§Oö–ÂÏ?ÿ¼hÑ""úóÏ?-,, £££{öìÚÐNÁÙÙYII©¢¢¢ªªªM›6mÛ¶‰‰iÛ¶­D5eeåmÛ¶ÍŸ?Ÿˆ.^¼haaa``ðâÅ ñ8ß‘ªªêo¿ý6iÒ$¡PøçŸš›››šš>yò¤ªªŠˆzöì¹råʦê ê‚ç·4±1cÆ}úé§\.7??ÿÑ£GOŸ>-..îÙ³ç–-[:tèРÖ.\¸oß>fJRFFFFFƹsçz÷îݬ²lmm===™Gäææ>~üxÖ¬Y?ýôSÍšóæÍ;x𠦦&¥§§gddœ?¾}ûö̧ªªª @„ üüüœ9NVVVXXXUU•––ÖŠ+}$ÞÁ\QQÉår;uꤠ “ššJDZZZݺu“¾Ó°°0fû“O>QPP`¶Ÿ={ÆLÒ××ïØ±£DlUUUqqqEEEmÛ¶eæSEDDÔl¤fœ;wfžŒ´xñbf™xNNû¶iggg999"***bŸàÄ~÷ŠŠ ö¹RÝ»wg2ñÓW^^®««kggÇ´ïòh™™™üñÇ‚ ˜µÚB¡pÛ¶mëׯg> èׯŸL€¦üšÀË—/­­­¹\®•••ŽŽN||<³œšˆ–-[¶k×.Ù†Mù4òòò­[·9r$==-ìÖ­ÛÊ•+ýô'h?€´°à ¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤…ü¤%/ë •ÉÌÌ,))‘u Æãñ e@«‡û -ä -ä -ä -ä -ä -ä -ä -ä -¼d¦²’£˜›Ë--Åoвp8" jss™Y‡#ëhZäð¾Ê]¾¬îã£öÏ?ÊB!.Í EÓÔ¬vrâW2`@)—+ëhZäðþ”•qÖ>|XKNN4lXéÔ©Y;V ÕÔªeÀª«©°›˜¨¦|÷®ê‚FUߟ;dH©¬C1ŽH$’u Кdff–””4â@µ-[ôŠŠä¾ù&úô"ä Њ$&*ìÙ£ãíÍûäþ¦M9––U²ŽƒÇãÊ: €VsŽ Ù‰D´c‡Î7ßõëWvçNÒ¼yH u±´¬Úµ+ÓÓ357—ëâb¨"ëˆdù4¯òrÎâÅF¿ÿ®åæ–µ}{–žžPÖ4’ƒCù… ©ÎÎü9sŒÏÓu8²õÐŒª«iåJÃà`•'ÒËeÀ»RRíÚ•im­óãúªªÕcÇ6f.@«†üšÑ®]:wî¨;–Žä>-Y’WRÂY»ÖÀÌLн;þlÀÇ󗠹ܺ¥öë¯Ú[·f÷éS&ëXšØÚµ¹Ÿ|Â_¸Ð¨ Ou€ òheeœŸÖûì³b—bYÇÐôääh×®,99Ú½[[Ö±¼WÈ Yüö›va¡Üòå¹² ¹ðxÕ+Wæž=«ùü¹¢¬cx?@Ó+,”;rDëÛoó šñiKgΜ±µµµµµupph--7ÎÍ›7mÿÓä—””8;;³í_¼x±ù‚©ªªÚ¹sçàÁƒÛ·oÏ´pôèÑÆÞ"LœXÜ©S…»»Ž¬x?@Ó»|Y]NN4}z‘¬yß²³³ÙkëððpY‡#•M›6¥¥¥½Ÿ¾ÜÝÝ:”””$ÞOÍá¹s îßWËÈÀóHàcüšžÚ°a¥xI\ËwëÖ­Ë—/¿·î®]»ÆlÌž=;***66vöìÙï­÷f2lX©²rõÝ»j²à=AþM¬¢‚óø±²³3¿¹;š>}zllllllhhhs÷õAÊÉÉùñljhÈ!ï§Çôôtf£gÏžòòÈö ¢¾}Ë‚‚ðFjøX| }@˧(p:v¬lîŽÎœ9³aÃ"ÒÒÒbR¡PxìØ±ëׯÇÇÇóù|CCCkkk''§qãÆ0G …‹/þùçŸQQQÅÅÅ<ÏÎÎn̘1S¦L©çŠÖÏÏoΜ9쮂‚‚®®n·nÝfΜٻwo¦púôé=bëLš4‰Ù?~üÎ;‰¨ººúêÕ«W®\yöìYQQ‘ººz—.]>ÿüóÁƒ‹÷•““³sçN__ßÒÒR{{ûåË—7è´HÙ }ÿý÷ùùù›7o¾{÷n­­IÌ[;]±bÅÕ«WÙúß~û-³qýúõÐÐPv÷îÝ{åÊ•¬¬¬())½õ´×gAAÛKll¬ô'°ìí+¼½Õ›µ €–ù4±¬,.Ë`‚û† Î;Ç¥¥¥¥0ëtËÊÊæÌ™ÂÖ),, ¹téÒñãÇy<ž4UUUeddܼyóÖ­[[·nuuu}ë!ååå ,`K üüüüüüfÏžýÃ?0…ùùù“&MJIIav?~ûLš¨¤ï…ˆÎ;çëëKD?üð›\I2é;}«%K–ܹs§®Oë:íùùù®®®ÉÉÉõÇÙ|Œ…Ì{€æ/@++“#",~øóÏ?‰ˆËåzzz>þ<00ÐÓÓsöìÙúúúL777&yPUUõððˆˆˆ8v옖–EDDlÞ¼¹®–cÿóâÅ‹€€€ùóç‘H$rss«ªª"¢3gα‡\¸p©ÏÜ|ø¿ÿû?æ ÛÀÀàôéÓ‘‘‘'NœPWW'¢£GÞ¼y“9jÇŽÌõºššÚáÇ#""öïßïíí-å²—”””Ÿþ™ˆœœœê¹Î–2i:ݹsgll,—ûê"{ÿþýÌɱ³³cÛ)((HHH8{öì³gÏbcc‡ &Íigâd’ððð={öˆßîhnªªÕ|>þ=€þ¾€&&q82èZYY™ˆD"QbbbjjªŽŽŽ££ã?üðË/¿QUUÕ¥K—˜š3fÌ:t¨ššZÿþýçÎËþùçŸ|þÛ—mp¹\CCÃ%K–0»Ïž=«ÿªª*///f{Ù²e½{÷VQQéׯßäÉ“™ÂÓ§O‘P(dWO›6mРAjjjÆ c§B±ìíímÅ0Ó„¤ì¥ººzåÊ•|>_MMmëÖ­uÅ,e0Rv*¥_~ùÅÁÁAQ±–×)ÔuÚÅãœ:uêСCy<Þˆ#ÞçýçÕ{€æ/À‡cÒ¤I‡®®®^»v-q¹\›~ýúÍž=ÛÌÌ,55•M:wîÌÅnWUU%&&vèСfËUUU§Nòññ‰‹‹+**’xühvvvý‰w½nݺuëÖITˆŠŠ"¢œœœ’’¦¤cÇŽì§öööoùæ é%%%…Y.²fÍccãºZ“2);•†‚‚‚ø¸t§]<ÎZ‡šòøp¬ZµÊÆÆæúõëÏž=ËÍÍ …1111117oÞ¼víšHì'bŽØý‘?/Z´èÞ½{u}úîo3æ¾Ç»cza¿ï† ˜…ËâÖ¬Y³fÍwwwGGÇ&ìTjjjrroÜoèi—8šòøpÈÉɹºº2Ëjù|þÓ§O¿ýöÛÜÜÜÌÌÌG 4HEE¥¬¬Œˆ"##GŽÉõôéSfCAAÁÒÒ²f³éééìUìâÅ‹¿üòKMMÍ‚‚‚šo§®+-155UUUe®¤wîÜ9~üøZã×ÓÓãñx̯éOŸ>;v,S^s~T­3¦¤ìEJRÓ´Š“ò´ëëë«««ÑóçÏÇŒÔGFF6U$ ?ÕÀ‡cöìÙ{÷ÈÉÉQTTTS{ýJ/@   ÀΉ?}ú´¯¯/ŸÏ8räS8vìXUU՚͊?×UMMMYY9%%¥ÖÇ ñx<ö'ðÐÐP¡PÈl+((°Ë¶mÛv÷îÝâââÒÒÒØØXooïo¾ùæøñãDÄårGÅTóôô¼wïŸÏ¿sçÎ… ¤ùúRöbii[Ûˆ››[llì˜1c¤ FÊNAÊÓ.''7zôh6N??¿ÒÒÒ›7o^¼x±qý@ýpÿ>‰‰‰þþþ{÷î•(755uvv&¢5kÖ¼xñ"$$¤´´”y’«k×®ëׯ¯µY}}}'''"Ú¾}ûöíÛ‰hÊ”)5k*++÷ìÙ“yÄ“›››››ý÷«üªU«bccsrr,X q ;YåÊ•)))¥¥¥óæÍ#".—ûÙgŸ?^š3 e/R’2˜¦í”%ýi_¹råßÿ’’RTTļ/¢A' ÷àÃqòäɵk×öîÝÛØØ˜Ë媨¨ØÙÙÍ;÷âŋ̋TTTN:õóÏ?÷îÝ[SS“Ëåjhh888üôÓOçÎc9Z«½{÷Î;×ÌÌLQQÑÂÂbõêÕ?ýôS­5wìØñé§ŸjiiqÞ|•ŠŠÊ±cÇvîÜéä䤫«Ëårµ´´Ú·oïâââááñå—_2ÕtttΟ??iÒ$mmm%%¥îÝ»?~œI~¤!e/R’2˜¦íTœ”§]KKëÂ… ®®®:::lœì:øz†#ÍÂAVff&û¸›Z]¿Î[²Ä066î½…PÓÂ… oß¾MDŽŽŽžžžÍÚþÌ·<ÏÐÐPÖQ´z˜¿­Þ¼yó†Ú«W/“ììì³gÏ2ÉMŸ>]¶±|`?@«]ë“^çÌ™Ã>9 šòhõþøãOOÏÀÀÀääd‘H¤¯¯ß£G©S§6Õ[,€…üZ½6mÚüøã²Žࣀç/€´?€´?€´?€´?€´?€´?€´ðþhMŠ60Púì3KY"©Åö.22ÊΟO$¢±cͬ­yõÔ,*ª:v,®K­¤o¿²²Ú×7#1±¤¢¢ú­]@ üZ“ƒ£:wÖn—é-6°w±qcøÝ»DÔ©“æÛò‡Ê½{Ÿþ¹ôùCI‰`„{/_–0»oíZäК,ZÔÞÀ@IÖQÔ¢ÅÖh7o¦Ý¿ŸÙ³§î?ÿä6GûgÎÄ¿|YÒ½»NŸ>z \kkõæèšòhM.´“uµk±5NqqÕÿþ1kV›êjQ3å11ÅDôë¯}tt>¨¼ àƒ‡üZ“šË „BQ``vtt‘PXݦFÿþúJJ\‰£ž<) Ë+)*`¨««Ä{àÀ Þ˜1fqqÅÿUYYݽ»Žƒƒ®D ¥¥‚»wÓÓÒÊŒŒT† 3 EÓýÅ“¾ÙzbkVoíôÿþï©¢¢Ü²evî|Vk '¤AÅÅ_»–‘ODÇŽÅÉËËik+Μi#qÞ³óó+.l§  GDyyå$%•ÊËËÙÙiôí«Ïårê ©æ@“@þ­‰Ä2ƒØØâ… ƒJØ ††ÊûöõîÑC‡ÙÍÉ©X¶,$((›­ ¢"¿qc—I“,‰H ¨Þ»÷ùСƩ©ü;žŠD¯êLžl¹uköÈÈüù󃳳˙]å-[ºKL÷LÊfë­V—/'%'óë?E3gÚhk+Öõ©4>~œwöìË?þè§¢Rû¿'D__yË–îÒw_²wïs¦ðàÁDdc£>s¦ {ÞbbŠxÁT˜;·­‚‚ÜæÍÿzz&TVV³­YYñîË.™fŒ I €Öª¬L0wn`j*ßÄDuÀC¹€€¬¸¸âyó‚nÜb` ,ŠæÍ ŠŒÌ73Ssr2ÐÔTLL,¹s'ýûïÃlm5ºuÓfÚ ÏóõÍ0À¨m[õÌÌòë×SΟO3Ƽ_?}"*-,Xœ]nmÍëßß@(ùùe®[÷ø­áÕ߬”±I¸|9)00»ÖX£G›Ö•?HÓ©@ úᇰ Ìû÷7¨µ‘š'äÁÉRG66¼%K:üõWJ||ñ¢Eí˜ûì±aaywî¤;9tè ¥¬Ìen>øûg¨tï®mjªZQQýüyappöêÕÿxy ¨5$)Çù´VÞÞ©©©ü=tŽﯢÂ%"@´tiÈÍ›©gÎ$,]ÚÁÇ'-22ìX³;ع.‘‘ù“&=8z4vÏG¦$7·âС>C‡¾š„ãäd°jÕ?÷ïg0úÞÞ)YYåÎΆ¿þÚ‡¹–-+Ìš›[Qxõ7+el&N´ppЫ¿ßz–HÓ©‡Ç‹¼¼Šï¿ï\W#ý•’•UîädðÛo}ÿ;!™3ýóò^Ÿ·v´dIûgÏ âã‹¿ù¦Ä|³ÜÜŠ;Æ7/Ü´©«zppvz:_Q±ºW/½œœò°°¼üüJmmÅF4òh­?Î%¢ï¾ëÀ$D$/ÏY¹ÒþæÍTfÉo@@©ªÊ{xD‹D""‰H$ih(DFæ³íØÛk±WùDÄLwÉÊz5&,,ˆ/nÏ\˜‘ŠŠü¢Eí¾ú*¨þðêoVÊØ$LœhñöóR··vúòeÉÁƒ/~ù¥§–V3 ?fNH±Âýæ›öóæ½>!ûv kkžDò@Dááù³g"‰òÜÜ mmÅF4òh­ +‰ÈÂâ—˜›«q8TPPIDyy•DtîÜËúÛ16VßUU}u+C¼SSUñ:ffjo ¯þf¥ŒMÂ;®xk§?ÿ©¢"_²woSÂ\š{{§òò"ª¨zxD¿cð‹í×?¼µÓÏ?·‘X3ðàAFDDþرfÖÖêÌ­ž=t.^LÜ·ï¹øú‡¢ÞýÛÕ…Ãá§À–gûúf°»Í4FP+äÐZkzà@ThhîˆwÙç/ÅÆkj*NŸnMD£G›;wöìKÿ¬~ý tu‹Šª^¾,yô(gîܶ]ºÔþŒ£½˜íÙóüþýŒQ£îöïo VûùeòùB"âHþPÞ‹í×?¼µÓ3¬%)*ªdòö·ÿ1cÌöìyîïŸÅœêjº?£¬Løîß®.Ý»ëÑ‚Á#F˜hk+ÅÄ=x©££˜“ó*Õi¦1€Z!€ÖJEEþ÷ßû1ï8s&)40PÞ·¯3…Ëåüþ{¿5kþñõÍðòzÉhh¨,ý%¬šš¼‡GŸùóƒâã‹ã㋉H__ùûï;¯XªªÚø¿B›$6™tª¦&ÿë¯}æÏNH(aÞ¼¡§§´uk÷¯¿nÚŽXÇ›Œkæíâå•È”¸ºZ©«ËÿñG,RsŒÔ ±@k²hQ{ƒ×óslmÕoÞ]$ŠllÔ ÄŸª­­øÛo}ãâŠCCsóò*ut­¬xºÌ${yy¹%K:ØØ¼±`—)´µUgKºvÕ¾{÷Ó»wÓÓÓËŒŒT†5öõM§7WH‹&e³õÇÖLÚ©³³¡††¢µµºxaçU*4 IDATÎÚwî c^ölh¨}š)h>ÁÁÁo¯µiÛV£¢Bxýz*[Ò¹³öÎ2 $`ŒÞ›¯èÓ§——Ws„ÍÊÕÕUÖ!´VŒ ÊNN.åråìí5{õÒÃ}ZŒÀ{ƒõÓo§¡¡0|¸‰¬£€ú`ŒÞißÀ €ü¤…ü¤…õ-ÝÀ™I“&}ûí·2¥iŽ?žÙvwwïÖ­›lãé!hé{öÌØØxìØ±&LïÔÏÏïøñãl§¦¦¦Íuࣔ]þÝw!Ÿ~jòå—mdËÇ(*ªðôé„ääÒÊÊêU«:ÊÉ‘›ÛÓ/¾h3bÄ«W1Ì™hcÃûñÇ.MØiã=.®øäÉø¤¤ÒòráªU»w×iÂ>È>ýõ×_|‘ŸŸÏ–x{{»¹¹­^½ÚÍÍ-tss[»v-»{ôèуÖ\Š Mk|>Ÿ=Ð××wåÊ•ìáüñÇÆúé'fwûöíëÖ­“è´i¾6UT=ʱ³Óu £ØØâ î "f7?¿B^^îÑ£œaÃŒÙ:!!9åå¦í·ƒž˜X:v¬oee5jÓ†ðñ@þÐêEDD|öÙg•••DôùçŸOž<955uýúõ999¿üò‹¹¹9óÔ¦ÀÀ@ö:~äÈ‘óæÍ‹_¹reãZ·dÉ’åË—÷ìÙsÿþýwïÞ%¢mÛ¶-]ºTKK+00ðûï¿gª7nöìÙ/_¾\½zusžx.\HD_~Ùfà@#¹ví4ˆèôi'KK5Y‡&ÉËëeeeµD¨ÐÈZ=777ærРA'Ožd •””æÌ™CD?ÿüó7ß|Ãáp:$‰ˆÈÌÌìêÕ« D$''·|ùòF´&~ÈÂ… 7oÞLDöööíÚµ#¢ÊÊÊ/^ôîÝ›íÔÒÒòÒ¥K\.—ˆäåå/^Üœ§Þ“””R"Z¶Ì^Míõ¿&½{ëÉ.¢:¥¤ð©F¨Ðøk´Õ b6âââØ—E1qqq¶¶¶?fJÌ$D4|øðƵ&~ÈèÑ£™ ¶0''‡ˆØNÈ$D4dÈF}Q€W""òΟOLMå«N™b¥§§X³Nbb©—Wbtt‘PXmcÃsq±ìÐA“ù¨ªªzÖ¬Ýï¾ëpþüKÿ¬ÊÊêîÝufÍjÃãÉ7´‘%K:œ;—”“Ÿ_ááÑgÁ‚à·¶,ŠîßÏüûï̤¤R.—cg§ñÙg–ÖÖ<‰–/nútBpp¶œgèPc "ÊÊ*?q".*ªˆÇ“wuµüäñ€ +/\H Ë+)©24T>Üxð`cj¡¡¹»v=‹Ž."¢¯¾ zóW_ÿPS#â”fÐëj¶f¨&&*;v84üKò‡ŸÏg6’’’’’’jVÈËË#¢²²2fW]]ýH|»A­‰Ó××g6äå_ÿqbn;°òx¼z:Þ… ‰ßV]ýjÂý¥K‰+VØKÔ¹q#uùòЪªW3Ý<È<~<~ýú.3gÚQuµèÑ£O~ᇾ¾éLû÷3||Ò.\   ×FfÏ ÊfêTVVKÓòôéþÿü“ËFëë›ñDZû÷÷b.vÙ–¿ú*( ‹©ãã“–P;8èž>í´k׳þÉ=vì6;ŠˆÈûå—§uµÖˆ8¥ôú›ur2”UYÏ.h<ä­ÞäÉ“=zDD<øñÇ»wõ^IIÉ_ý•’’ÂLC3fŒŸŸùøø„„„8::–——oݺµq­IiôèÑþþþDtûöíÀÀÀ~ýúUTTlß¾ýݾ1|¼þü3¹²²zöì6?üðêa £G›­^ýÏ¥K¯ï•]¹’T^.ÿ={øpccÕ={žŸ;÷rÓ¦W!–——óôtfg YZª}þùßç1WùR6"ÑÉ“ýÙIM·¶LD§O;=|˜óàAÆ­[©••Õ"))É¥¦ò32ÊŒŒTØðÎ`n®JD–• ÷î}.'Ç9{v€¼<‡ˆ 2zö¬ 2²@ ÉËs®\IÊÍ­X¹²ã×_Û±§bÔ(Ón^º”TWþ°n]碢ªúϹ‰‰J­åÚÚŠ½{ëik+‘££®’Wü$Ô¥qJ9èõ7[k¨Ð8ÈZ .„‡‡‹—XXXœ8qâÛo¿õöö~ðàAnnn=Ú·o¯©©™šššžž. ‡Îð1c^# ¡¡ ^¨©ùÆnEE5ii)IÔáp^}TëQ "ªþïs)12R®dý-{{§øûgYZª}þ¹¥¥šªª<‡Ã9q"îÖ­4‘H¼‘7Ö3iCB9"bÞ½Àç ‰(""ŸjPT¬ó†À»¬hœFÄ)Í 7îë@ã héîÝ»W×GÌ?)**®_¿~ýúõ‰‰‰iiiJJJ¦¦¦Z533»{÷nRRRjjª¥¥¥‰‰É… ˜8{M/Mkl`ÖÖÖÌ†ŠŠ [عsgñšâVUU±ÕØ7^HÃÀ@™ˆž>-d§'¢ÈÈüšuþý7_ü‘‘"Ö>§®ŽÞÚˆÄbÒˆˆÈ#¢ýû{‹ÿö¿{÷³ºŠ±± mÚÔÕÖVòµâ·,$¼Ëú‡ÆiDœÒ zã¾>4ò‡–®Aë ,-----ëúôèÑ£ÖÖÖ´°° ¢èèè~øùhèСzz’l¯§5UUÕšq¹Üº¢µ°°`:%"…})–““áéÓ Û·G¶ió²âQTT¡ÄRZggÃS§âÿïÿžÚÙi0ïKMåoÜNDÎε6[S“4R+--E"zü8—ÉÑÁƒQ¡¡¹o;î-†79~<îêÕä;,,^åÜwÐ #@]WܯŸþ¶m=Äëp8ôë¯}˜«ü¸¸â¨¨B¡Pôé§&§NõWV–öÁ;MÒH­ºvÕÙ¸±‹Š 7)©4""Ã!7·ž}ú4Á ›þ¹Û÷ßw60PNN懅åÅÅWW‹F23¦e]=¿5NfVUqñ«#Ò º4Í@SáˆD ¸·ëêêJD^^^Í4»ÒÒÒøøø’’]]][[[99䋦úï733³¤¤¤ž ׯó–,1Œ«§Î;ÇPž–Æ74T61Q­¨†‡ç*3“[X¥¥‚øøâêj²´Tcf 1ª«E!!¹ÚÚŠvv…::ŠmÛj¼c#Ò´\V&HH(åpÈÖV]AA.)©4=½¬Kmn­T¾xQdeÅ34|½bûåË’ÌÌò®]µÅS‘ˆKòò*utMMUÙ×24“èè¢üüJGG]99Žx¨––jìr…OAâ^G=qFEVÙÛkª«¿±HZšA¯§Ùš¡6¡÷ðgšÇ344”u­ò€Å‡”?´(ø3ßZ høí¤…ü¤…ü¤…ü¤…ü¤…ü¤Õ°÷Oçææ¦¤¤,[¶¬™¢"::ÚØØX]]]Ö@SŠˆˆ03û´à4,ˆ‰‰IIIqwwo¦h Y•••É:hÝ–?ôéÓ‡ðþ¸‡ÃYºtéîÝ»e4%æýqïë@ZÈ@ZÈ 5éÜùÏéÓý[K³ïYzzÙÊ•¡½{_··¿:räÝ“'ãE"YÇœ†­€–)=½ì³Ïîge•3»11E›6EÄÅÿôSWÙÜ€Ö$2rÜ™3N²Ž¢%rs{’•UÞ¯Ÿþ;Þ>wà@o55ùS§âÃÃóe|P?´zÅÅU7o¦òxòû÷÷¶²â))q‡7Y±ÂžˆÎŸOutðAAþÐ;vìàp8÷ïß—²þÚµk9NxxxsïÅŽÄáÔCOkׇCúf ¾P¡¢Bhk{ù믃³²Ê—. éÙóZçÎÞ_|ñ÷óç…l}¶NJ áÂàîÝÿêÒåÏ9sÅëÔôòeÉÏ?ÿ;jÔÝNþìÚÕÛÕõÁ¥KIuBBr. f ~gçΧ……•ì§åÌŸìàp­}û+úlÛYR"hºÓ ),,O  d¤¡¡ÀŽgÎáУG¹Í×/|„°þZ·¢¢ª)S$'ó™ÝÀÀì™3ÿ¾}{˜¶¶"[§°°jÊ”™™¯Öøùe††æœ;7 CÍZÛœ??8>¾˜Ý Ë ËËÊ*ÿúk;¦ääÉøÿý/‚]W|èP1‡ÃY¾Üžˆ<=6lg?MI)ýý÷ØÀÀìóçUTjÿ[÷‹/þ Ì®ÿ›Þº5´M›Úß Ÿ˜XJDvvo|--ECC•ääÒêj‘œ§þƤ„û °råJ‘H4pà@YïÝÊ•$†¾Ezô(ÇØXõÒ¥‘‘cïÜÖ¯Ÿ~AAåÕ«ÉâuBBrŒU.^9îÖ­¡#F˜òùÂM›"êjÓÖV}Û¶·o{þ||XØOOç¶m5<<^…""JH(Ù²å_99Îüùv·o{òdÜ­[CW¬è¨¥¥HDÉÉüM›"44·më4òÙ³ñ7o9ÒôùóÂãÇã›é$07745$ʵ´…BQY™°™ú€î?@릭­øÛo}ypà@»v픕•mll¶lÙ"¼ž““³zõj;;;555##£Áƒ_¼xñÿ'?;›ÌÍIO’Ä&”ûù‘¼<õïO‚:戳+ ާNHY™,-iÓ&zúüsâpèÍ¡UøßпnçÐ!jßžTT¨Kòö&"*-¥ï¾#RV&''úZÖ?$'Ó¼ydnNŠŠddDÓ§SmCOP»v¤¬L66´eËß.'‡V¯&;;RS###<˜.^¤{è›GÇŽZLòÀ07W#¢’’*ñ:ööZLòÀ—çôí«OD‰‰%5,,¬tq¹âD\bb©xò@DååB"Š‹+&"6=SDDK—†´kwÅÎîŠÝ•¶m/·kw%;»<=½¬±ßò-ÔÕˆ¨°°J¢¼°°ŠË娨p›©_øµÊûûöíûã?˜í¤¤¤Ÿ~ú©ººzÓ¦M mgÇŽ§OŸf¶###]\\üüüV­ZÀþý÷ߣFŠ‹‹SVV®yxBBBŸ>}²²²˜ÝÌÌLOOÏ¿þúË×××ÁÁ­ææævöìYöõë׿xñâäÉ“LɨQ£BBB˜m>ŸŸ™™yïÞ½ÈÈÈN:5ôë´úúäåEÎÎäêJþþ¤¨Héé4e ééÑùó$_ïŸÉ}ûè¿¡§¤$úé'ª®¦†=íØAÿ =EF’‹ ùùѪUôßÐÓßÓ¨QGµ =%$PŸ>ôßÐSf&yzÒ_‘¯/‰ =¹¹ÑCO ´~=½xAÿ =Eÿ =ñù”™I÷îQd$}ÀCß<”•߸8漚ç/Õt§–j/&¥§—}ú©ÉâÅí--y**\‡Ö¯÷ôLxóØÚÛ¬®3ÓI‚D6"î×?XZªQtôw] *33Ë,-yXüM¨•Ý`œ9sfïÞ½iiiEEE§N’——ß¿#~³¿|ùò¯¿þš•••››»nÝ:@0zôèÌÌLŸ¢¢¢øøø!C†¤¥¥yzzÖzøwß}—••åììZZZúôéS—âââyóæ‰W»xñâÎ;ÓÒÒòòòΜ9£££sêÔ©»wïQZZZHHH‡>|XZZš››ûàÁƒI“&ÉɵÊqi€>}hçNzôˆ–-#€¦N¥ìlòô$“·xæ íÝKiiTTD§N‘¼<íßߘßì/_¦_¥¬,ÊÍ¥uëH  Ñ£)3“||¨¨ˆâãiÈJK£:†ž¾û޲²ÈÙ™BC©´”ž>%*.¦7‡ž.^¤;)-òòèÌÒÑ¡S§èî]"¢´4 ¡èáC*-¥Ü\zð€&M¢~èeäÙ³‚ÜÜ vW e‘……ZÍÊII¥D´b…}‡šªª\‡*+«ƒƒ__Ü3ñ7n¤ÖÚóéñãŸÄÆN”ø_hèè&ýZ¯uï®#/Ϲw/£¨èõ-ˆ?ÿL‰ÈÑQ·™:€S«¼ÿ°aÆŋ3Û3f̸råÊ… ’““-,,ÔÎÆçÏŸÏloÙ²åÈ‘#ÙÙÙwîÜéÑ£©««oß¾ÝÑÑñÙ³g5---½qㆷ··††ÙÛÛŸ;w®[·náááÑÑÑvv¯f9/]ºtùòåÌö´iÓ„BáÌ™3/\¸0dÈ]]]•Þ½{÷êÕ‹ˆTUUsRZÅ‹)(ˆ¤'OÈ϶m£AƒÞ~Ô† ôßÐÓŒtå ]¸@ÉÉÔÀ¡§é¿¡§-[èÈÊΦ;w¨G""uuÚ¾©¶¡§ÒRºqƒ ÈÛ›44ˆˆìíéÜ9êÖÂÃ):šþzZº”þzš6„Bš9“.\ !CHW—TT¨woêÕ‹ˆHU•œé#zYàó… ­_ßÅÎN#-­l÷îgqqźµ.~01Q!¢Ã‡c–.í ¥¥S´{÷ó„„×3Æ7?tè…‡G´P(š4ÉÒÈH%-ïã“®¨(7gŽíĉÑË—‡®\iß¿¿¡žžRaaÕË—%×®¥ª4Óúuu…#Lÿú+eñâGÿû_7##åû÷3wî|FDS¦X¿KËZeþ ñ$"*..®½vÝįÔåääÌÍÍù|>“<0,--‰(33³æ±/_¾NNNLòÀ——>|øÓ§OcccÙüaøðáâŽ1‚ˆbcc‰HIIéÈ‘# .ŒŒŒ8p`—.] ÀtúQ8|˜ÉÏF¢5k¤:Dâ H66DD ú7®ÔåäÈÜœø|zbF¡¶¡§—/I ''z’—§áÃééSŠ}?¼9ô4bQl,‘’9B Rd$ H]ºÐ€ôñ ý{ç託˜XòÙgØUUîÆ]k­láçŸÛtë¦Ý|ÀG¨UN–PQQßef0³ó—˜É?â+ª‰¨¬¬–e‹«8NÍ’šMլРÌ!ìÓ§OOIIY¿~½ŠŠÊùóçíííÇŒSTTÔÐf[¥JI!"Љ‘6xsè_Í@gç/1“$Æ«¶¡—\ÕÀáÔRR³©š„9„=pútJI¡õëIE…Ο'{{3†>’¡ï45Ξu<؈ǓWUå:9Ôóòcc•S§ú÷é£ÏãÉkh( däå5@b¦Ó¬YmNœè?h‘––¢’×ÖVý›oÚÍkË|:y²¥—×€1cÌ ”åå9ʽzémÚÔuáÂvÍ÷™ÔŽo®££¤¨(gk«¾aC— º4_ðqj•÷êg``@D Ìñùü‡6m/VVVòòòþþþEEEì-¡PèããCD¶¶¶lÍ[·n 2„ݽqãµiÓ†-QWW?~üøñã‰(22²K—.[¶lùå—_š6à'=¦N%}}Z³†–-£Ù³éâÅwm“ñ„úoè‰Ï§¦z²²"yyò÷§¢¢×· „Bòñ!"zºu‹Ä†žnÜ "zRW§ñãiüx"¢ÈHêÒ…¶l¡~èßMdä8v[I‰;Q¢B­…Dda¡öÛo}¥i–ˆ:wÖ>uê EëÖu^·®³xIß¾úÌCœjÕ¥‹¶»»c]Ÿ6Õ;Þ^à´ÊûõëØ±#­X±"**ª¬¬,,,ÌÅÅ%5µö•ަ¦¦6räÈÌÌÌ &<~ü˜Ïç?þ|Ú´iOž<éÖ­;y‰ˆÜÝÝwíÚ•‘‘‘ŸŸïééùÝwßѤI“ˆ($$dôèÑ—.]JHH¨¬¬ÌÈȸ|ù2ÅÇ7×K¦Z €¦L¡œ:{––.¥o¿¥K—hçÎwm¶cG"¢+(*ŠÊÊ(,Œ\\¨©‡žÔÔhäHÊ̤ èñcâóéùsš6ž<¡nÝHlèÉÝví¢Œ ÊÏ'OOúî;"¢I“ˆˆBBhôhºt‰¨²’22èòe"¢~è •ûï?L›6mýúõ:t`JLMM?ýôSæÎ@rwwøðá½{÷zöìÉòx¼Ã‡‹WsqqY±bÅŠ+Ø’3f0w$„Báõëׯ_¿.^ŸÃáLŸ>½iCmqÖ®%rs£ˆˆví¢ÐPZ»–z÷¦þï°ŠtÚ4Z¿žè¿¡'SSúôSjê¡'wwzøîÝ#±¡'Þzrq¡+HlèiÆŒWw$„Bº~Þzâpèƒzhå>ÀûÊÊÊ·nÝ>|¸ªªª††ÆÄ‰õõëœfÐPìÒ›ÐÐйsçšššÊË˵ºÈ IDATL:5$$DüåD´víÚ={ö´mÛVQQÑÚÚzóæÍÇŽc>êÕ«×õë×]]]­­­•””LMMÇwçΗ¦Š¶%º|™vî¤qãhÕªW% äåEÚÚ4eJíK–¥¤¬L·nÑðᤪJ4q"RÓ ýë¥ 66Jsç’©)ÉË“MJ!!ôæÐÓÚµ´gµmKŠŠdmM›7ÓCO½zÑõëäêJÖÖ¤¤D¦¦4nݹCöÐ@ëÇiÐk\]]‰ÈËË«ÙâiÑ6lذyóæàààÞ½{Ë:–æÅáp–.]º{÷nYÒblØ@›7Sp0µæ¡oªÿ~333KJjym3ëúuÞ’%†±±qïØ@k?ó­Ç344”u­Þxÿ¡™¤¦¦z{{‘•••¬c÷+5•¼½‰ˆ0ôðÑCþ •¯¿þÚÌÌ,<<ÜÉÉ ?]|\¾þšÌÌ(<œœœC=äÒÒÑÑ™0aÂùóçe¼w::4aaè>Èç/5YG²àáAz€ÿàþH ùH ùH ë ÕŠ„ØèÚŒé0FÖ±H*©(y”ü(1?QX-´ÑµéoÝ_‘«(Q'¥0%"-"¥0EI^©£aG3ö}”Ô²¿ ù´¡`ïß{‡¶ÚÒ®°7ÜÚp)òR¹ œ-1à컫ef÷eþËÕ­~œúXü¨öí÷OÜo¥mÅì¶Øo ùÀ»ºsWUQÕÙÆÙBÛ¢¬ªÌ/Þ/¹ yþ…ùwÜ1àQjaêãÔÇfšf]Œ»˜jšæñón¾¸•5÷üÜ[ónÉËá¯bh5öVpppJJŠø wøP¹»»»»»Ë: hbfff²áÃä6Ú­¯e_®—ÙŠ„_žý2(1ènÌÝiݧ‘µŽõù™ç{˜ö`Yê´tâñ‰‰ù‰¡É¡ìm €–¯aùCÛ¶mUTTFÝLÑ@ áîîÞ±cÇaÆÉ:hJ×®]ûò‡çYσƒ«EÕæ]»J|š]RQb¦eæhæ¨ÏÓoÖ`ú[÷ßår¸CÛ J âWñ™  ñ:ÆÆÃ톟;]P^POËA‰A!É!¶z¶£Újò°¡aùƒ®®®®®îîÝ»›)h!ÜÝ݇ †þÀ¤¤¤È:„&³ãÁ ×ïõßqü/c~ár¸DTPV0çüœÓÿe?U’WZ9`ålÇÙuµvùÉåä‚äú{œÙs¦¶Š¶”á‰D"ÿ"ênÚ½žj¹ü\"ê`С® §ÃNÿïöÿúZö­'x€÷ “n •yœúøNÌ6Úê·M/J¿õâÖÕ§W­´­÷_LDÇBý›þ¯!ÏppÛÁšÊš©…©’ý“òOýùCàËÀú;Ýaô[ó‡#ð«øe‰±9±³g‹OX’ž~;æöXû±–Ú–5?V ·ún=z|z÷é?ÝȤF-òheòøy¿ŒþÅ¥³ ³‘1ùÄ䣡G}²ˆËáæñóˆèÒ—— y†L…JaåÓŒ§õ48±ÓD3‡ú;ÕQÕyk`GÉ)Ía¶gô˜±ÌyY]5“ ’^Zh©mù¿áÿ«ùiieéwW¿ó‹÷ûaȸó- òhe¬´­Øäˆºwf7ìæ‹›1Ù1í Új÷é™°3<úcr×É6:6G‘«Xÿ<¢‰&6I`_õúª´ª4ŸŸÿoú¿§Ÿ|xfú™šK/ârãfzÎTSP;5픺’ºÄ§Ù¥Ù“ONN.HöøÌc°íà& Þ‹Ì«W¯Ž9RQQò½äÐʘiI®7×2'¢¢Š""êoÝßs†çñÐãSNM©Tt2ê4ÌnØ´nÓTTêj°©Ö?|Õû+vûÈÃ#Ûïmß°ÓðMâuþMÿwÎù9:ª:§¦bí*!1?±°¼°‹Q—^æ½êïZ˜‡kÖ¬ÙºuëäÉ“§OŸnll,ëxš òheR $‚3WÿJÌ®£¹££¹#e•d=J~´íî¶›Q7Ï~~VŽ#WkƒMµþA¢þö{ÛŸe=/ |øõůM4MNN=Y×#¡Ì†·¾öÚÚgfrTšySÐ2Œóóó;{öìÙ³gûí·!C†|õÕW=zÔ¹ õBþ@çÎ;tè»»{·nÝdËZl`­Ë¹s‡îrŸêÞͼeÆXË÷2ÿå¥ÈKâënGßÖPÖh«ß–ˆ‚ƒ;wVST#"žÁ˜cîÇÝ¿òäJB^BÝ6µ6øŽëR S*•6º6â…^ÿz‘žš[rëÅ­¥.µÑ±91í„®ªn=}Mì4QCYcÉ•%SOO=>帱~Én –,Y²hÑ¢›7ož8qbòäÉ X¾|yÇŽe@SBþ@ÉÉÉ<((¨ïìÍíäÉ“¿ÿþû¾}û:wîÜ¢û$ç%?ˆ~PÀ—éøüýïß÷Mß×ÙTl|[@`­”ŽªÎêk«¯=¿f§o—V”vëÅ-¡H8Ûa6ó¢_ƒý'åŸ>–},µ-¸ QYQ~ñ~\WKE«®ßqýCtvô‚‹ zšö´ÑµÑQÕ),/ I‰Í‰%¢iݦ1uB’C–\]R-ªv4w<ýøôÿ³wçq5¥ÿÀ?·…–›ö}ßQ‘RJ)¢˜²4–òc0–±ÍØ×iÐŒ¥Á|E&!kË R–”5)¤}/n©´h½ËïÃqÝêvK©ø¼_ß?ºOÏyžÏ9Çô=Ÿ{ž…ýðÑZ£M•8sH‡3NüúÓôàéA3‚ÚË|P$ àâââââ’””´oß>777WW× 6HKsKB¨Áüf̘annÞ»ßñÄÅÅUWW³ö…À¾3FÌ0×0ïÝïø * â2ãª>¿¿} °~j˜ò0mií£ñGãrãˆ×Á®?ú™øÙJÝêY鳘ì²¾èÑÍ›¹åÿ%Ô$Ô ä ’Š“’Š“ÈB a‰c7ŽÖM|,­)e0ü4˜ãp±b­ó°Pµ8ãyÆû‚÷Ìà™'fœ0V0î¡øQ177?{öìÕ«W}}}7oÞõ"êò²ËâÂl÷7=&ôIhÞÛYrá…ÇߺuKNNŽì7$$dûöíÍÍÍD'N:thÙ²e’’’ŸŸÏž=co™#0;â~•º]uCµÝ_v)EïoJDHRˆ¶¬v\f\ ããýe1½OxŸzÄvkR"Ƽ±êÆ0µa[ž—w5õê¦ÿ6Õ7Œ<þô…Ÿ.x˜{tª‘Ð'¡Û¯lo¢7À`¥ÁÐjšƒÉð:áÏvŸ„î‰ÚSéWÉÏ×Öýmzïäçt?›í²'^8søÖš[rbrd¿!I!Û#¶7Ó?Þß'Í:´lì2H)NɯÈ€gEŸßßÏã±#îW !Ôg1âÒ¥K«W¯ž5k–¯¯ïäÉ“{;"„ê¢Ï6lØ’’¢ªªúÛo¿iiieddøúúr<(ÿù矧NÒÒÒZ²d‰¡¡aSSÓ7<==ÓÒÒøø>,¹¸nÝ:www*•zåÊ•ãÇoذ|2汑­[·:;;OŸ>]YY¹ÍÑA>>>ÁÁÁ"""?ÿü³……??ÿ“'OüýýY,V›'¸qãÆû÷ïËÊÊ®[·ÎÐÐ0??ï޽ϟ?_¼x1ñV°mÛ6''§Y³f EEE¬Zµjüøñúúúûöí;xð```àÁƒ‰ùÓmLôä±#îW©ÛmßR”¢*¥úÛ„ß´dµ2ÞdøFùr<(ÿõç©G§´dµ–Ø-1T4l¢7ÝH»p7À3À3mg¹¤æº°u.C]܇»SR¯¤\9~ïø†ð ä“1l½¼ÕÙØyúˆéÊÊmŽò¹æ,2@äç1?[hXðóñ?)xâçÏ‚vîïïgß—“]ç´ÎPÑ0¿"oôÞç%ÏŸ^þ3Ûý½²ÍÉØi–Å,!A¡¨Q÷V]X5Þh¼¾‚þ>}cÞ<8ë 1ZB¤­ûË[GܯB¨/“8~üøîݻ׬YSQQáååÕÛ!„PWôlþ@§ÓO:%&&öèÑ#eee˜8q¢‹‹ û*C,kÿþý IIIä¨ÐiÓ¦IJJîÙ³'>>ÞÚÚš(œ3gÎñãljŸ'Ožœ••WVV&''Ç{#®®®!!!íÌd2<(((;bIJuëÖ ´q­ètz`` Ðýû÷õôôˆÂ3f\ºt‰F£‘£§\\\ȧü©S§***îØ±#((h÷îÝ&&&ššš`ffFjêrG\®R{gÝet&ýÔ£SbBb6ûÄGö ÜñÞ—«ÔírËsß7½w4r$’‚®œî(¶ûû6¯¼¶œÁdxø{ŒÛ?ÎaŸÃØ}cÇî{5õ*¤¿f»¿–ŸG®> *ê*:ÕÈ\+®÷·<·ò}¥½¾=™< ·sËsëšêÆè!Ÿé@š*í>ÜÅb¥³Ý_›Ïï¯Í|`¯Àïq¹J¡þbáÂ…¿ýö›ûÛc„ê/zöýCCC´5‡}õ‰ºº:(//¿}ûvëÈqüÀ1ƒyÀ€À`0:ÕˆŠŠJ‡ËÈÈp©Ã®±±±u`d ñ[ÇE *ÝuoG\®R·khn€¶F㯠®©ÊkËo¿jëÖ4³ÝßÏg0àÄ’—¼7¢"Éõþ¶4€ •çûÛÒØ:0²„ø-ã"ˆîº·#.W !Ô,\¸°ººzóæÍ¸M5B¨éÙüAII ’““Ù ™L&9”••)ʈ#|}}[· ««ËKG¼7B¡P:l'!!¡¥¥EPP°Ã~àÉ“'L&“œb‰‰‰ðñô OŸ>e›”””DtÇU{S,:ÕÑפ$¡É…Ÿß_3¥˜íþJ(S(”#|hëÖÈóvyn¤ƒû+¡L¡PòZ-‚ü<Ü_qExRð„Éb’S, 1?>ž>áiÁSö±IIùIDw¢‚Žî/Ï!„¾«W¯ÎÌÌ\¶lÙµk×pQW„P?Ò³ã—deeMLLž>}º{÷n&“ t:}Ó¦MÙÙÙdiii;;»§OŸfffZ[[Û¤®®Íã¨ýni¤¤¤lmmsrr,XPYYIÖÕÕýñÇDü­Opذaéééëׯ'–“b±X¼y󦂂û }>>>DÎ+V¬GGG¢„J¥@NNN{ñÞÑ×$+&k¢jò´ðéîÈÝLèLú¦ÿ6e—±Ý_ª´žÝÓ‚§™´Lkmk{}{âêÒêÑ/£yµß-€”¨”­®mNy΂“ *ß¼¿Mu\ûƒˆ¿õ S–þ&}}Øzb9)‹uðöÁ›i7ÄLTÙîï5"g€‚Š‚çV€£ÑÇû+D€œòöï/Ï!„¾|||ûöíزeKoÇ‚Bгùüþûï°qãFEEE EEÅ¿þú‹˜?M.‡zèÐ!QQÑE‹ÉÈȘššŽ9RAAAKKkÏž=¼¼é–FÀÏÏODDäÔ©SÊÊÊÆÆÆ&&&ÒÒÒ›7on3€?ÿü“ﯿþRPP Nð—_~!ÊÙ§\«¨¨XZZ˜˜˜èéé=þÜÔÔtÆŒÄoÍÌÌ`Ñ¢Eööö+W®ìrG_Ù﮿ÀÆÿ6*®Q´øÃBqâ_Ñ« ‘Ë¡šuHt è¢Ó‹dVɘî4¹k¤Â­ Z{®ïá}àM·4~3üDˆœztJùWeãmÆ&;L¤WJo¾´¹Íüþtÿ“Â÷Wô_ k,þ°P\«øËù_àÏþdŸr­"©b¹ËÒ`‹É½ÍzÏKž›ªšÎññþªšÀ¢Ó‹,þ°°ÿË~åù¶î/o!„¾%bbb»wïŽŽŽ¾qãFoÇ‚B¼êñüaòäÉ'Ož”’’*++KLLd2™ÁÁÁĸâKw066~üøñĉß¿Ÿ’’òøñc¦««ëëëK ßçE·4fff÷îÝ5jTccãË—/SSS…„„6oÞÜææààà¡££SYY™˜˜H£Ñ”””NŸ>=gÎöjÿý·««kFFFjjjss³ƒƒÃõë×ÉÀlmm½¼¼ZZZãââ8Ö·íTG_Ùd“É'矔•*«-KÌOd²˜Á ‚•%•€:ðãýU6~¼ññÄ!ß7½O)Jyœ÷˜VCÓ•ÓõýÁw€Ï÷·;35³{ëîÒÕØÒø²ôejqª ÐæI›ÛÛÙ×ÁÐ!by„ŽœNåûÊÄüDZ MIBéôÿžcõùýù·«©kÆ›ŒÔâÔfz³ƒ¡Ãõ_®“ÙêÚzY{µ0Zóã2ã8Ö·íTG¡ǫQ£¦L™²{÷nrƒ „êã(\Æd·Fl#ÀeýÓö477¿xñŒŒŒ˜L¦–––°°p^^Gµêêêììl&“©¡¡!++K–çææš››“)Y8bÄQQÑ.7EEE999¦¦¦Sœi4Z^^ž¸¸¸ŽŽ/s!²³³‰m¡ ØGá¯_¿Þ××799ÙÔÔ´¤¤¤°°PYYYMM­u eee999MMM¦¦¦íÖ^GºJÜQ(”•+W8p€ÇúÍôæ¥/ÀHшÉbjmÐÎÛÓêþ6Tg—e3YL i Y1¶[Sž[XYh®aN¦dá¢E»ÜUå”瘪šrLq¦ÕÐòÞæ‰ ‹ëÈéð2"»,›ØÚ@áóû¶Þ7Ê7yk²©ªiÉ»’ŠBeIe5©¶îomYNYN½IBDÂTÕ´½ÀÚë¨SW©M]þï—F#V,hOd$uÅ ùììvÇk!ôùÂó%%%ŽŽŽ›6mâX@u;*•J.wŽ겯1.âÀ , Ö—¨©©Yºt)F[´hQëšâââÇo]®¥¥¥¥¥ÅKagUUÕ67’“——ïÔ_îu”••Ù—²å ''Ç>U£½ÀÚë¨SW©¸y`íb蚆š¥g—Òjh‹ìÚº¿ÂâÃÕÛº5²ZZ²­"o«°³€ª”j›ÉÉ’'7Uà…ŽœŽŽ\G÷WB™})[rbrìS5Ú ¬½Ž:u•Býˆ²²²››[``àÌ™3ÙWÈ@¡¾ékä[¶lY¿~=ñ-~VVV}}=•J]·nÝWè}[.oY¾žø?‹–Uß\OH]ç„÷u¿F˼óóÌUÍW^ýå­¥ÑÒÎ?;_ô®¨‰Þô«ý¯fÊfï›ßŸzrêå›—U UfÊfkíÖ~y/<*¯+ÿåò/ŽúŽ^æ^=ÚƒÉ~/ï^mS­º¤ú Ó†r†=Ú#â…··÷Å‹>|ØÞ.¢!Ôw|üaíÚµ~~~iiiÄÇ¡C‡;vŒØq}Ö:®õ»å—Vúñþª =6÷±ã2BÝ‹Éb&% j{¿¿NI/KŸzr*9ù¾ª¡ „,H,J$JDˆ|y/¼kb4%%èÉêu\õKz¡7y_ðN(J >ÞË»w.ùœï$_7c·íuHGGÇÄÄäêÕ«¼äC† 2dÈÙ³g¿B`­ÕÔÔܽ{÷öíÛqqq555‹-úõ×_[W{ýúõ¾}ûîÝ»W[[«®®îéé9{ölŽ%¶;¬3jÔ(ÆÏÏ÷î]ŽiiiS¦L“°°°ž9W„PÛ¾Fþ°}ûöÍ›7ççç———+))©««…NûŽŸ~úÉÉɩáMý×ö)Û7»lΛ_^[®$¡¤.ýÝßÑ?9;u8´ õ5ÿ½øÁdx™{ÙkÛ ò êËêT$%êËêÿbû‹¸¸„0çÆˆß€C%%(ˆ),·Y®(¦›{úéé×7Z¨Y( ÂmFz™“““¿¿?ƒÁho¹Ž>bË–-×®]ã^çõë×?üðCYYñ1++kÇŽ999Û·oïTàççg2™áááK–,a/¿xñ¢€€NÿâBuÚWg)  ££ceeõ½% ¥¥eooÏ1iû#À' #§c¥mõ½% %«e¯oÏ1iõ}%Õ%°jô*MK5K a ¢ÄÍØÍQÏÑRÍR_V¿·cìft&ýlòY~>þ“3OÎ0™1ZkôÖñ[çŸÛÌh>›Ü;ßd#vöööïÞ½{õêU‡5Ÿ?Þ[/@\\ÜÅÅeÿþýüñG{u|}}ËÊʬ­­oݺõòåËþùGTT488˜}uA^ꀈˆˆ¥¥%Ç†æææˆˆ‡n?;„/p]y„PÿC<òÆÄ3YÌá*Ãç Ÿ#"øa¸­Ž¶êò*މD¡³óœás’Š“öÇíÏ|› B»ƒ@uc5œK>w'ûl¿…˜PÝXšš\’\×\'O•Ÿ ?a¬ÎXâr>Æ ›ž]xT𨪡êßéÿ q9ŠRšr1åbIM‰â Å&3dDezú¢¥”¦Ô4ÖØjÚjKk“…^æ^'“NÞͽû5'{ 6ikkKHH$%%÷v,Üìܹ“ø!**ªÍ µµµQQQT*õðáà € &Ðh´;w^¼xÑÔÔ”Ç:$5kÖ$&&Ž1‚(‰ŽŽ®®®vwwŽŽî¹3Eµó„P?Ãd1½/x?.|L|ŒÉŽ ~~öyIaIhlil=‘€(4’7€ªú*r9ÛTø®°ð]!Ô4Ö@rIòO¡?³#aÏÃÌc;zzRèsçÎmݺ•Ü멸¸øßÿ}øðáÅ‹………`îܹ>äÞ`tt´¶¶6÷:¤‚‚  HHHÈËË1™L>>>^êåBBB...W®\Ùºu«ˆˆHIIÉÇW®\É1!ôÕ`þ€êgXÀ:5óñ2œ œÇíÕµß~'G1q!),i©fI¼¬¡:b À@¢¼‰Þê’ê–j–DIðÓàŠúеvk[-&Ÿh0Ñîvá/ÂÉü¬Ó3OÊòxÔ•—WšÍÞ#¼79l"~;ÉpÒo×~ Î=ò c6Ô4Õp¯Ãe4ƒÅ€Ö[­%t&ÎCí}***wïÞ½uë¬^½ÚÃÃCBB¢¸¸øÁƒÄwkìKJJfÏž½nÝ:sss(**Ú±cÇ AƒÖ¯_ooo/..^XXø÷ß_¿~ýäÉ“‹/n³Í/Dì/)..ÎQ.!!ñæÍ›††QQQ^ê°—»»»Ÿ?>22ÒÝÝ=,,ŒB¡L›6­'‚Gñó„P?c(gH& ),9Nw\hjhöÛ졊C»±£g¥ÏàfæÍ‡‰¯oYÀ"~È©ø´Ó°¬™<ðrTFyx õ`ïËc¨G‡ù{/]@$Wï›ßs”%_y½ZÔ&*•J 1WWWYYYÐÔÔäqÅs6oÞ¼•+W:99%—.]¢Óé>>>ÎÎÎD‰ŽŽŽŸŸ_RRÒÍ›7‰üáÔ©SÝ{ä».å¼Ôagjjª££úÃ?„……Y[[+**Ö××y´¡.è\þ™™™••Õæ¦ÈèsìØ±ÐÐÐÞŽu§ŠŠ ]]ÝÞŽ¢´ÞÿA\H>¾@h¹ÏC§Ô7×@Êë”Ö¿ 0€üYAL¡SG5Ò¡ÕY§ÀÝÎ Êó«òÙ ›èM¥5¥òTùÖï%Ð×'**úþý{ooï„„„I“&ÙÙÙ››› r?öíÛ·sçÎ]¼x±««+Y˜••+W®\¹rå‡l–õ!›í¹Á?bbbP]]ÍQ^]]ÍÏÏO šâ¥ww÷={öœ={¶¤¤ä·ß~ë‘ÐB¼Á÷¨mí} „P¯Ë,Ïla´óàùëç /&ŸË+ë+?;ämf:R¤;wèÈpîï!À÷é'ÇsX‡GɉÊÀKÚKöÄãù›çÆó…óˆ—3q9q &ƒŸïC¶p/ïIªÔïmP—±X,>>>*•zúôéÌÌÌǧ§§‡††VVVnß¾}Ò¤IíXUU5wîܹs纻»³—3™L`0ÚÈŸ›››‰º}þ±P{fægÿѽ{÷ŽF£©««x©ÃÁÍÍí¯¿þòññ?~<Á „zBçò=====½Šõ eÑ¢Eèí@Pwòððè¸RðöýÛßoý¾yÜæüX,VPRPBQ‚š„šš„H KRRcsbs*rˆ…Js*r|ïøv¡£ úN&¼üòòÞÉ{‰Æ€ÁbÜ̼Éå…F‡GÙjÙžI>³'f¶´¶†¤¤—¥ïëxþôÎP¤8LyØÓ’§ûïî_k·–B¡Ðêh{böÀ£)ö޾‚ÚÚZr="âÿp‰Ÿ—.]ºvíZ›Ö ººzÞ¼y?þø#ǯˆ‡þ“'OŽ5ª'ÿŒ™™™€€À;wjjjÈÓ¹rå ‹Å"Pâ¥{{ûÛ·oOž½<½‰Þd®bî¤ïô…-£nQ[[+&&¶aÃuuuAAÁŒŒŒ¬¬¬––Ö:¨««óööž8q¢··wë§Nêïï¿zõj"ý‘‘©®®ÎÏÏ¿víš¼¼|ÍsrrºzõêòåËwîÜ©  »oß>˜1cïuZ;zôh÷†ŠêÌBýŒ¦”æ¯ö¿nˆÜú:ÄŠm»a¢ÁD²ÂòQ˳ÞfÝÏ»ŸFK£P( &.¹xò‰É]èë§?tet?>^ô®ˆÈ@ù'Lt1réòQü|üî¿^ûõNöÌòL°Õ´]k¿Öõ„+—6»Å0åaþ?øoÞZZSú¦ö …o‚þ„?œþÀu0ûˆ²²2))©7oÞ„„„:tˆýWFFF::œ#â`Ñ¢E©©©©©©{÷îe/'öÐÐÐøý÷ß·lÙ²aÆÖv-È‹/nܸ‘üxôèQâ±~öìÙÛ·o' ×­[÷øñã°o={ölöáx©ƒê›0@õ‚ü‚g<ÏH KêÉêÙ-³Ëz›Åd1õdõð6˜aР AÅÕÅeue*â*rT¹FzãÏ3ìó V^í=›}ÅPÅ¡g<ϨKª³7ÅGá›?b¾·¹wÁ»‚ÊúJ))åAÊäQd<qr? $„%Ühu´ÒêRy1y¥AJMô¦3žgˆ)=Ê^Û>nI\NEN]sЏÊWØ÷ñ.==]__éÒ¥¡¡¡·nÝÊËËc±XJJJNNNÞÞÞmÎ HKKãÞæôéÓ *++¥¤¤444&MšÄ>ͺÛ)**†……íÛ·ïÞ½{uuujjjžžž³gÏîl„PßDéÔ4Ybü4ÎøæQ(”•+Wâü‡oLwý÷K£ÑˆµÛÛI]±B>;;‡K„¾%ÝòožÅb 6ì·ß~›5kVw†8P©Tro„P—µñeB!„¾²ìììÚÚZ##£Ž«"„P¯êþüa×®]AAAÝÞì—ë³ñ¨Ä¿k×ã  V ï}60õ÷øB_èÆ222ÆÆÆ½Buó‡¾hçέÄè#ñïÚô²·£hCŸ ¬µ;:Åj?Š!Ônܸ1~üx~~ÜÈ!Ô×uÿüé7*)µ»y/ê³µ¶sçN{{û¹sç²ö‘ø7n©¤$ÚÛQ´¡ÏÖÚÎííUçÎÌ^ØâGu»ŒŒŒ´´4ÜV!Ô/ôHþÐímv‹>úHü7Zövmë³ñ¨¿ÇúºººÖÖÖ½Bu¬ûó‡]»v)))yyy‘%t:ýöíÛ/^¼`0ŽŽŽBBBG=yòäÑ£G555ÊÊÊÎÎÎrrrä±>>>3gÎLOO¿qãFSS“••• G µµµ***nnn ÃÏÏÏÂÂbâĉ­ã½Y.±µ‡Ëù²÷ûìÙ³ØØXƒaccciùáÙ±°°000Édæææ’ i{yyihhtêÂvê;e×®ÇJJ¢^^ŸFèÒéÌÛ· _¼xË`0 ¤Õ…„8ÿ]=yB{ô¨´¦¦YY™êì¬)''Bëão` 5s¦AzzåùMM ++%eŽjk›#"r jTTÄÜÜt –Ÿß …‰µZÆ{³\bk—óeï÷Ù³²ØØ"ƒec£li©HT(,¬ |Ád²rs«·oHzy ÖÐïÔ…íÔ "„ú¸ÒÒÒ«W¯îÞ½7â@õ Ý¿~+•J577%>¦¥¥M:533“¬ ¬¬|ñâEò[æééCV9|ø0±•fcc£°°°«««••Õ† Èh,X@’””4yòä7oÞ=:eÊ”¥K—>|¸u`<6Ë=¶6q?_²_##£Ý»w“ufÏž}âÄ û÷ïÛÚÚr´yçÎ{{ûN]XO°=\Öo¥Rÿ67Wˆñ1ŒŠ©S/efV±…A½xqеõ‡¡V4Z½§çÕ˜˜B²‚ˆˆàáÃÞÞÆÐØHösuÕ±²RÚ°á.ùqÁ‚!ÈC’’ÞLžüß›7ï‰ŠŠ¢G:N™òßÒ¥f‡;´ŒÇf¹ÇÖ&îçKökd$½{÷c²ÎìÙF'N8 ðÝ¿_bk{Ž£Í;wfØÛ«vêÂòx‚pýV„zÈþ›_¾|ùË—/oܸ! €›2õ,\¿¡nѳªêëë'NœXPP ¦¦æìì<`À€[·n½zõÊÅÅååË—ŠŠŠ ÃÅÅ%))ICCc„ ’’’999—/_^°`¡¡áÈ‘#‰vâãã#""œ\RRrüøñ™3g›VÖÖÖººº¾yóFOOÏÑÑ‘N§GGG/X° Ãð¸7Ëcl:_¢ÚÇ/_¾Lô[TT¬««»uëV55µmÛ¶íܹSCCƒœÿ ¡¡ÑµŽ¸Ÿà—«¯o™81¬  FMm³³æ€ü·n¼zUáâþò¥·¢¢(ƒÁrq OJz£¡!>a‚†¤¤PNλ˗³,ˆ64”9’Œ³4""ÇÙYkð`é’’ºŒãÇŸÏœièà µµÍ®®—Þ¼y¯§'éè¨A§3££ó,ˆî0<îÍò[§Î—¨öðaéåËÙÎΚƒËÕ†‡g§éêJnÝj¥¦&¶m›õÎ54ÄÉùƒºÖ÷Dõ wïÞ½~ýz@@&¡þ¢gÿZ={¶  ÀÚÚúÆ¢¢¢ÐÒÒ2kÖ¬°°°#GŽìܹ3<<<))iÖ¬Y§OŸ&HJJ²²²òóó;þ1¥¡´´”øøèÑ#غu+‘<€ˆˆÈ¦M›&MšÄ=<îÍò[§Î— ««K&`iiéææš––6tèPî1wª#î'øå>,€;Fϸ (È·{·mXXæƒ%pëVP©vï~üñ‹Å’˜”ô†-Nyò!ˆ) ¥¥FÈóÃ7îì½hhˆ³×áøØ…fyŒ]‡çKÐÔäŒ(!ïÆŽ¸Ÿ B¨ïxõê•¡¡!Gá¾}û/\¸ %%Õ+Q!„P×ôlþ )) ¹¹¹ìOº¹¹¹,‹øsITøùçŸee9¿—é`Ž^òóóÉqÿÄÇ/ ½K±ux¾„¼¼<މâpÞcë°£ž&))¹¹ï´´>=1çæ¾c±@JJˆ¬ðóϦ²²œWLD„×{D#ùùÕä¸âã—ÅÞ•Ø:<_B^glD q8ï±uØ"WÛ±Ÿ=lövÇíDÉ}C†( 9ûãÙ^«¨¬¯yhä²QËVجèíXxÒDo¼wð8Ýqþ?ø÷v,¼:uêÔ_ý+--M9r$ `ïÞ½¸á4B¨ßéÙüÁÚÚúĉ;vì°¶¶&ž¹étúæÍ›`Ô¨QàààH§Ó·nÝÊÇ÷i3ì7oÞñØ‹••UPPÏ¥K— ±±‘}u£®éBlž/!++ëäÉ“ìó.]º$!!addD” ±¿FèrG=ÍÚZùĉ;v<´¶V:¹yó}5JÔŸÓéÌ­[­øø>­KøæÍû¢¢Z{±²R záãé’›  46ÒÙW7êš.ÄÖáù²²ªNž|É>ÿáÒ¥l ‰FF„„Ø_#t¹#Ô‹ôÿÔ·T³<5“sŸø~çNÎ&‹9VgloðÍ\Éö\ºtiçÎ åÿûß–-[ˆBÿýû÷ïܹ“}ˆ)Bõ=›?xzzúøøÜ¿ßÈȈ\&(--MRRrÉ’%0}út??¿cÇŽEGG;88ÈËËWUUeeeݽ{wõêÕ#FŒà¥—Y³fmÛ¶-22rÈ!ŽŽŽ #**ŠX_òKÖÒîBlž/AVVÖËËëÂ… ÆÆÆ………ááát:}ÕªUäâ:::ÉÉÉsæÌÑÔÔäãã#öèBG=ÍÓÓÀÇçÑýû%FF'Èe‚ÒÒ*$%…–,1€éÓõýüž;–ïà .//RUÕ˜•Uu÷nñêÕæ#F(ðÒˬYÛ¶=ˆŒÌ2$ÈÑQƒÁ`FEåÕÕµÀ—,•Þ…Ø:<_‚¬¬ˆ—×õ Òe kÃÃ3étæªUæ²P‰ää²9s"55Åùø(Äþ]èµçùšç½B¿“#G•,?¸ãª¨ónß¾Ml)Íb±‚ƒƒ½½½}||‚ƒƒ·oß>kÖ¬Þ!„º¢gó‘ÈÈHb›ÿïš•””.^¼HŒ5ˆŒŒœ?~DDD`` y ²²²……½ˆ‰‰]ºtiÊ”)   °oß¾9sæÓ‹»  ±ux¾kkk__ßëׯ%?þø#ûöÒ«V­òöö&>ÚÛÛsä˜=0›å[›:<_ž=£§O׋+f2Y£F)sì&1oÞàaÃäcc «ªš˜L±ÿC§.,'øMb²˜ çŸ/©)QSð4ót6pæ¨Ã>ÿ.¿eÜß;¾ ¾kx—º&UDP$¡(áøããOKžÖ5Õ)ˆ)LП°|Ôrê@*ÙNbQb`bàÓâ§µMµªªŽzŽ ,d½Íš<æ?ÔÙóaý«3žg,Õ,àÒ‹KÁOƒ3Ë3™,¦–´–ûP÷ÙÃfóQøÚ‹$á—„ñGÇËQå®/¸Î~ eue¶ÿØŽÖàÞ‰%:+¾ ¾¾¥ÞAçÂÎw²ïœH:‘YžY×T§,®l«i»päByê§Í¶Ú¼ âBâ\.r~Uþ™§gä?(¬*äçãד՛e:kÚiTœÄåJ¶×û%Úu{×½¼{ÍŒf3e³ c6ÊsNPîE©©© ,`0dþ@§Ó#""ŒŒŒ.\¸ð…‡B¨wuÿþÓ½"--M]]|Ûðöí[›ŒŒŒ””WDý:Èm¡/]ºÔÛ±pÃeÿé^‘–V¡®>ˆ|ÛðömƒÍ¹ŒŒÊ””y<®ˆúuÛB_ºäÖÛ±´áÛØzKô–sÉŸíáíbèrõÕÕöæO¶#TGVÒêhD…g«žE¤El½±•ã ¡œáÅ9……àô“Ó;oíä¨ð³õÏ£µFO½ìˆ§Þ=wö|œãW“&˜r€K$ÿ<ü'àqÀÙÏZ¨~z±yðþÁƒ÷ͲѴió:Ì=?÷aþCî×*za´¶´6— Û¢·…¿Oü%QH@èNö…¡ 9*8é;žz˜ø¹½ ²zôêöN:êà˜[‘ËÑìZ»µ‹­“ù;âJvØ—…ªÅëÚ×Eï>ME“–¸ùÓMIa^W¡è^ÿæóòòÜÝÝëêê {5‡þù§7bD¸ÿ4BÝäÙí222rÏž=¥¥¥×®]«ªª;vlŸJP—EFæîÙ“àà ¦¡!^ZZwíZnUUãØ±j}*y@_AêëÔsÉ稩[ÆmqÐq 3éQQ»c:^,!±(ÑLÙìŸiÿÈ ½+ÚqsÇ ƒÖYo¯m/.,^XUø÷ý¿¯§_?™tr±Õâ¼Ê<ŸÛ>|¾ÿ³ü?¡ŠƒKªKndÞ(0Ð\Å<{}vëY¿/i/?>.$ ´nÌ:'}'A~Á¸Ü¸ßoý‘1ÉpÒ8ÝqmF³‡ÍL ~Læ ãü³ó:2:í%ÝåNÎkuk"Œ[Y·`õèÕC=$„%Š«‹ä?(¨* jr¹ í]d¢PGZg¡åBssq•FzczYúÖè­þñþ G.lïJòÒWBQ‚…ªÅß®ëÊèÒêh[£·>Ìxùåe/s¯½b¼xýúµ§§çû÷ï9’ ÓéÑÑÑ)))&&&½Bu‹o$ŒøºôâI÷qò!Ç>éÈèøMñK*Nº™ys±ÕâË//3˜ â o¢‚¶´ö+n‹\O¿ËF-›3|Qâ:ؕ·êʪk¯®‘ùG$ ,®,â P §"œõ9gVp‘_™ ¡Éoñ[GB˜g>/:#ú³ Ëm–Àé'§Å…ħOå½÷.¸u›B¡ŒÑC|ôáP”0)p’–±‚±±‚±¹Š¹ ÿ‡Aƒ¼\Ö§VÝX=íÔ´×5¯[Wnliw c^ú¬0˜}¦Šª„*Ô5õòæëÕÕÕ?þøãëׯÛK€N§?xð 11‘ÇB¨úFò˜6mZoGÑíÛ·÷vý’„ÄÀiÓt{;ŠðmßnÝÛQ 6H¶™7“Å“sx °GÞ…ï :<„#‚…ª…¡œáùgçõs~eþãÂÇ -Ó0Úóåób²c†*%Þ6u õô¬Ó™å™ §—¥‡¦†VÖWnwÜ>ÉðÓ‹>îg×úÔž‡½®yí¨ç¸Üf¹º¤º°€0…Bi=ƒ¥MÜû"ÇG}¨ }áë„÷ÞÞÞùùùìÉ9‹ZRRRSSSOO¯¶–× pB¨úvò„Ð7O]RîåÝûÑìG²ðnÞÝζCÔ]AL¡´ºôFææ˜ÂYo³ ߪˆ«˳:8û?ò?ôàè@Ñ zùïæÞÝys'L4˜ØaHSOù3öÏþÍ|›9Nwœ²xáü‡˜œ‹5VûÓh« ‘)8è8¨Kª ò f”gd½Íja´ÐjiâBâ^6) R€€Ç+mWJKd•g¸w ¯2½Në+Ùµ¾z×Í›‡$/^¬ù‘¤dſtB_æ¡~c¨âÐYf³Î%Ÿ[wmYH¬ßÚ©v4$5~wú}Kô– ×7püjÑÈE )¥¹qìFŸÛ>þüýù“¿ýÙúg⇑j#¯¾º:ÖÿÃó7±êèÿYüß¿ ÿn‹Þ¶-z{xãõÆwÒ@3Mgyt¾Â"B·³n+ Rbß0áMí›ÔC÷±W3’7Ò‘Ñ.H›&Mþçá?¡©¡¡©¡D u u¼Þø›™7É:m^É.ôÕ»œœVGFʯ]Û#k#„P_ƒùB¨?Ùá¸C]BØ?Nž*?Ót¦‹Q§ó˜n2Ý@Î 0!0¡(¡²¾RJDJCRc’á$×Á®D…yæóôdõ“K’ZT%T'èM˜oñáûïM›èLz|a|uc5¹MÁ†± ä ‚Ÿg¾ý¸Üwr9¦yšyytÄPÎp„jÏάm¤7>*xD®aEðäšz+ëV^e XJƒ”œô¼Gxï £ Ò&ÅAŠÁ³‚}c}_¼yÁGá®2ü7ûßÈ\‚Ðæ•ìB_!„¾šodÿ8Ô½úÚþq¨[|ûÇ}ÃneÝZ¶x·óní(&;æ§ÐŸNÌ8Á±’ê2ü7ß_àþqu‹Î½¨¨¨(..^µjUEƒúŽ[·náþƤ¤¤¨¨¨ôv¨my•y»nï™dÔã›ÄdLjŠXªYötG!„¾I˲²²Š‹‹ýüüz(Ôw¼xñâÅ‹½êf ½âô¸ðñg?,'õÓÈŸD{|‰''Ÿžî!„зªsùÃÈ‘#Ç/}( À€é½ê^#Göv¨bÅœ œ~±ù¥·A!„:€ó§B¨7YªYf¯Ïîí(B!^ñõv!„B¡~ó„B!„¯0@!„Bñ ó„B!„¯0@!„Bñê»ÎöîÝK¡Pbccy¬¿~ýz …òìÙ³ž !„B¡¾ë»ÎB!„Bò]ïÿ°víÚµk×öv¡Îihi¸}»ø]q3£y²Ñd> ßå——Gk6U2%*ytDŽ*÷Ãz7®a^e^\n\McÍp•á£4Fõ@à!„zßw? „úw ï܂܊«‹‰Æ Æ|ï(F>ûþïáÿ†( Áü¡==q /¦\<žp<·"—ø¸hä"ÌBè[õ]_j=ÿ¡¨¨háÂ…ªªª PPPðôôLOOo}à?ÿü£¯¯/$$¤¥¥åããC§Ó¿^Ð}ß‚ŸW›)›-±Z²Âf…¦”¦º¤ú ›fÊf½Z¿Ñ×ðAþƒÜŠ\ I LB蛇ï>ÉËË9rdYYñ‘F£;wîêÕ«111æææd5__ßóçÏ“‡lÙ²%##ãôéÓ½1BߟÜÊ\8úÃQ))²p…ÍŠÞ‹¨ÿé‰k8ÃdÆ/6¿hIkEeD=Èð¥!"„êÃ0øä—_~)++=zôþýû óóó·lÙ¾páÂääd²ZXXؾ}ûfÍš%$$µlÙ²àà`///‡^ ¡o^NEεW×^¼yAIA|Ÿýùb»ß¦o^$—$×5×ÉSåí´í¤E¤‰r‹ñσ´¤µ\ ]r*rîçÝof4›)›™«˜s´PY_™P”PXU(À/ '£g¥aÅOáoÝÈ+Ú«øÂx> Ÿ½¶½º¤:°X¬ù^•½¢ NПÀþÔÎ=¶n×C׬5¬{(f„B} æ¼ÿþúõërrrƒ ##£ .˜šš>{ö,33SOO¨¹råÊÕ«W?Ïš5‹Á`Ì™3'44ó„zTnEîÁû‰Ÿÿ÷ð¿e»Ïáíû·«®¬zTðˆ,Þ6~›ûPw 3èï§;®¤ºdoÜ^‹EÔ™n2}—ó.òßoý~.ù\3£™,ÑÔðДÒdo$ûmöᇉ »nïúÛíïQ£….J(J ÷ÝÝwaömim^bkÓ/þ+zWÔþu˜3|ޤ°dëòº†!„¾+˜?|ŸŸO§Ómmm‰ä 0a„—/_fgg“ùÄ Øtrr€ììì¯-Bß!-i­6+®¾ºš[‘û³õÏäwçU—_^nï(“±0táó×ÏUÄUlµlÅ…Ä ª neÝÚx}£ŽŒù¸ü¬ôYLvŒ–®Œ.­Žù*òbÊECòkõ{y÷ä¨rfÊfÊâÊMô¦We¯â â»ö[Èœ²¯ä’ä˜ì˜qºã´¤µ2Ë3csb·FoµPµH+Ksê.!,q?ï~zYú¾¸}ÿ›ö?Þcãðß‹ÿæ?ä~­&Nj3èÑkˆBè;ùÃg(J×é¡NÑ–Ö^a³"––[‘»Ôzé@DùÝÜ»\ž}odÞxþúùd£É{]öòó}nôüõs÷Sî'Oüíú7QRQ_qdÚ‘qºãˆ¶š¶¿^ý56'–Ìv8îÐ’ÖŠ/ˆ]ózÿ U‹·ïß&—$W5T‘Oê• •Ç=ŽÛiÙ7^ßx1åbRqRôÂhyª<´Œnq p¼“s‡ÅbQ(cã0Õxjë±UZ‘ú ×!„Ðwó‡444îÝ»WSSC¾‚`07nܲftt4ûP¥ëׯ€¶¶ö×!Äb.¯ˆ ˆ¼?16‰Åb±€5HhÐó×ÏÉjFrFdòöÚöPVWF–<+}æ}Á›Îä\l­â}™? –L&0JcÔÅ”‹? ùH@_ÐBÕ"ìyXùûr9ª±q˜j<µKW¢ëº'B¡o戊Š:;;GDD¸¹¹íÝ»×ÀÀ   `Û¶m/^¼055%/€ŸŸ±´ëÀ£¢¢~ùåpwÇAÀõE•õ•p!å÷jŠƒÙ?ŠŠ™-ÄÄï‹Û7€À8Ýqê’ê"D(@¹—w/¹$™Éb’G)ˆ)°7",(Ü^aCKï±qø’ù]Óµ8B}«0øÄÏÏïñãÇwîÜ>|8YH¥RØ«M›6mÍš5kÖ¬!K~üñGœ|øpAA²²òüùóׯ_ß#„:f¥f’Â`1–ZÆGù´cfy]ùëÚ×<6Bü• ¤’%ññ1Y1½Û—Ìèšn¹†!„¾ßuþPSSBBŸ¾?SUU=~üx{õ÷ìÙ³gÏ055]±÷«B¨˜d4)()èü³ó÷òîYkXK‹H×4ÖäWå'&üŸÅÿ UÊK#fJf°(t‘“¾“¤ˆdÖÛ¬¸œ8)©·ïß~ýؾþü^â|I{y;ë6d½Í€¤â$b¡Ø¡ŠC‰É$!„¾ßoþPRR½ B¨§ðSøÿþïºkëb²cBR>­µ*O•ç1y€ ú&MŽH‹IýЂ‡‰‡Ø±ÀÄÀ^í+à%Ηo^’;KÀ“â'OŠŸÀìa³1@¡oÌwš?,^¼øèÑ£`kk+//ßÛá „xåbäb$o$Àÿéo—º¤ú ›fÊfdÉÏÖ?ËQåÈ’Â’ÇÜåTä$'UÖWJ‰HiHj˜«˜K‘ ð ¬°Y¡%­ÅÞ Q¨#óiáµSxšy¾xó‚B¡ W>DqÈý¼ûÔTbJ@›hJi®°YÁ‘ ØkÛK‰H‰ ‰ó[éökƒ¯°iã­lŸJ„Bu ¹Ù*/<<< $$¤Ãš}ÜâÅ‹CBBF}äÈ…ŽøÎP(€ Ó{;Ô½<ÜÝ»á¿_VWWÇ¥Bd$uÅ ùììœ/ì¡þÿÍ÷T*¿4DèË}§ïüýýýýý{; „B!„ú¾Ž« „B!„`þ€B!„âæ!„B!^aþ€B!„âæ!„B!^aþ€B!„âUçÖo/..¦P(= êKfÌèíP7‹WéíB!Ô¿u.ÐÕÕž4iREƒú???ooo33³Ž«¢þ#00PRR²·£@!„PÿÖ¹üAZZZZZúÀ= ê#üüüÌÌÌ&NœØÛ îI¥R{; „Bõo8ÿ!„B!īν@¡^—^–~&ùLÑ»¢fzó¯ö¿òQø|ïøÎ5Ÿë¤ïDT˜q¾–”Öæq›»¥»îm­‡”Õ•ÅdÇÄåÆU7TOE„B}æ¡þ$ûm¶[I'>V5T ð $%Œ×OÖI,Jlliì®»·µžðÇí?‚’‚X,ñÑL¹™KMô&ï Þ E ÄÇ{y÷Î%ŸóäëfìÖ©:É%É´:D¾ŠtêÎÞEXjql½©;O!„PƒùB¨? }Jgҽ̽ìµíùõeõàŒçuIõê1pz u`Ÿž7RVW&+*;F{Œ° pPRP›u=8”P”  ¦°Üf¹¢˜blNìé§§7^ßh¡f¡4H‰÷: 6PLŽ*šÊž?°X¬ÐÔÐaÊÞ–<íÉsE!Ôû0@õ'ÅïŠ`ÕèU¢DÉBK5Ëžëq„ꈞk¼[lrØ$+*K¡P¢2¢ÚÌèLúÙä³ü|ü'gžÔ–Ö€ÑZ£)Êɤ“g“Ï®µ[Ëc’ûPwß;¾ùUù’DIBQBá»ÂÅV‹1@¡oÞ÷ž?\¸páÈ‘#~~~¦¦¦½ Bˆ›¤â¤ýqû3ßfÀ‚øl#öù­U7V‡¦†&—$×5×ÉSå'èO«3–ümY]YHjHfyf]SЄІÍ8ÝqäF7ìóöÆí}ZÜÆóñÿYþŸƒŽ/}õ9ª÷ )¥)55¶š¶Db@ð2÷:™tònî]"7à¥iªñÔ½±{CSCÉò‹)Å…Äõ7^ߨm'†B¨OúŽò‡Ó§Oÿûᅦ2dYXTT÷îÝ»^ !Ä‹ªú*rh~bQ"ÇoÙç?pH.Iþ)ô§ª†*²$ìy˜‡‰ÇnçÝYž9=xz]SùÛ3OÏL7™¾ËyÙ9ÿ!£<ƒŒÝìá³yé«M»nïzñæE{¿%ì¼—}QgeWd€‰’ {¡ª„ª„°DnE.ïuH2¢2vÚvÿ=ÿo•í*~>þº¦ºèŒè†ü0@`@—ƒD!Ô_|GùCAAA\\\uu5{áŒ3ÌÍÍñåB}Ÿ¹ªùÏ3ûïîRü$hF ¿ QžRšògìŸíU×T·8lñ»ÆwnÆnöÚöâBâ…ï ƒƒBRB¬Ô¬¦ žrþÙùº¦:{m{7c7 !‰âêâûy÷k›jÛlm­ÝÚ ÈÍŒæM×7MП0Ñ`"/}µÙfzyz›9 »†–ª¯Yª,G¹U.³<³¡¥AXP˜—:ìåC=b²cîçß·Ó²‹H‹h¤7z˜x|I!„ú‹ï(h“ªªªªªjoG꘤°¤¥š¥¤°$ŒP1P` QÎ}µŸK//UÔW¬µ[»Øj1Y8Ñ`¢ÝÿìÂ_„O½zõjll,›ÍîÞ½ûܹs544!7nôõõ½y󦪪ª°0µðï¿ÿæp8Ë—/¿ví!dÑ¢ET;;»Ý»wWÿÀãñ.\¸pÿþýôôt þýûO›6MAAúôÈ‘#çÎ;vìXEEÅþýûcbbtuug̘ñÍ7ßHþfJJJ<øôéS@ЧOŸ xyyÝ¿_³°æ’’’#GŽ|úôiôèÑóçÏ—O­.Zsaaá¡C‡Úµk7kÖ,—:þÌ-GXJ!Ä÷“o`B 5逨±Ù±„)ݦ\ÝãŠÇhÛѶz¶VÚVòLyÉÕò¼Ÿnþ¤¥¤µ~ðzéÛª–µ®øCõ n9Wl9µ„ÍbKYFƒÆe3êô›ÓAIAoSß “(hõ,àóù3gÎ|ؽ{wmmíqãÆyxx¨¨¨x{{BÊËË'L˜ðæÍ›þù‡ÉdJ^Âãñf̘qæÌa+W®lÙ²%''‡Á`DFF>}ú´¢¢B4$jaee%!$<<<>>ž&ZFlü—Ë2dH@@€°ÀÅ‹÷íÛ÷èÑ#BÈçÏŸŸ>}ú÷߯]»¶¸øß+m§OŸ¾xñâ„ 5Þ»ÏÏÏwuu nÚåË—;tè 3Uó•+WÖ¯__VVF±±±©5žZ7\Xóå˗ׯ__^^N-ôññÙ»wïÂ… kŠ u(./&„„§†Wýˆê¬oªaúhî£[·ã½ƒ¼S R\L]Vô[a®e^S|ù­å L…C6 ‡YKÓVµš`üµn|n¼è²ʲ”‚]Ž.u‡Aš2b&tàì½äæ&)úŒhÝ,ضmÛ©S§ÌÌÌæÏŸomm]VVöðáãGº¹¹}øðN§»»»¿xñÂÇǧwïÞsæÌYºté«W¯vïÞÝ»woiVß°aÙ3gØlö?þØ«W/ƒñúõëC‡ ™$ÙÎ;½¼¼¼½½½¼¼¨ñÓjjjU‹­Y³& @[[{åÊ•ÖÖÖñññ;vìx÷îݼyó¨Û”•+W>|üøñçÖ­[ÇŽ[½zµ„üaõêÕáááFFF+V¬033ûøñãÖ­[Å2ʯ¿þúÝwßMœ8ÑÀÀÀÈÈHÊx¤ñÛo¿ 2dÊ”) ÷ïß?zôèÒ¥K deeUûÊ-–¾Š>!ä÷Á¿WͨžK„UÕ©=¦Ní1•’Q”1ïê¼i¦=™÷DØEJ”@ XuwOÀÛ9l'FÿÚ¶ªj‚ñ]ô»BžÆ>åñy ú¿™€œ%¿²K».Ò—c¡eÑE¿ËÛÔ·ßZ}Kõ+€¶ aò@ð×_ééé…„„¨«ÿ{;v¬ººú–-[^¾|I% û÷ï ]´hQ\\Ü&NœøÓO?I³º£££———œœÜ?ÿüÓ³gOa•+WRŸjÕµkWSSSBH·nÝjê·SYYéíí­  `iiI-œ4iRÇŽoܸ‘žž.ìL5uêÔcÇŽQ¯GŒýôéÓŒŒ êž@ÕjO:¥¬¬üâÅ BÈСC‡.: ”ШQ£._¾üµñHcøðá”c̘1úúú¿ÿþû‰'6o®qZ€Và[«oO†œ¼qsLjÆjÆÔBž€çûÉ—ÇçBN„œè¨Ýѱ½#õ‘º¢:Gž“‘šŸ/:Ú"<xæ—äï»_x’-}[Õj‚ñú*úÔ“Ýþzö×Ï®?Óh´ô¢ô-~[!#;”¾LU»GíN-Hm¼‡÷@3Ô0ùC\\\ff¦¶¶6u ^ ø·Ëoff&!$**ŠÊ¯\¹boo¿iÓ¦Ž;?~\ÊÕuttrrr $L(**µôQþ*Ÿ?.**úî»ï„'ë„MMÍñãÇ:tèíÛ·ƒý;A¤›››èŠÝ»wúôivvvµùÃçÏŸ¹\î¸qã¨äbaaáìììçç'VxÚ´iuˆG³fÍ{ûûï¿¿}ûVúZ¢^F½&tp9ürÿCýÔŒ´”´ J ’ó“Ë*Ëæ:Îf=ìiìÓ 6(±”ŒÕŒYLÖçìÏ…e…êŠêÂ@Ô†Ç.„]èfÐmÚùi¢Ë©ç?ÔÚVµÖüÓ˜'G_%„ä”äBn}¸ú%”2Øjð ûT™UýW¹u;üòð͈›ºݨ̨²Ê2{C{чfHSFŒ±šqµ_´b “?B233?~\õSá8BˆœœƒÁ „+))I¹zII !DKKë«¢âñj¼àW­ÒÒRB5 [µ„úTt‰‹Å’Ð|ÕîRÂ;-¢ ë˜j# €ª„Š  uÛ8d£…–űWÇ’ò’’ò’!r ¹¡‡ï4œ2³çL¾€˜™I•w0vX3`Øt¥”kï®B¨³sQTUµ¶ÕH2¹™¢= R RS R !–Úÿ»ôÐÝ û¡q‡~}ðkJAJZaFÿÖê[±ñÒ”h˜üÁÀÀ€F£õìÙsëÖ­U?µ°° ^”——?¾  `ìØ±×®]Û°aƒ§§§4«+**Òh´   ŠŠ 99¹ªe¨“ãÌÌLÑãýûÿ I¤ÆKèëëB^¿~Íçóéôÿuk&„´kWÇþÔŠ¡¡ÿ9áàóùÂáÔUƒ”>i6œòæÍÑŽ[!!!„Ñ["-²¾Ëföœ)|ø!¤‹~—³ngE»ÐxOôæÈs„oé4ú¬ž³fÚÏLÈKÈ)ÎÑ`k¨kèkÖ·¯YßâŠâ„Ü@ ¯¢/Ö•_´¶£ŽVÛÉTÃTš¶I¿ýκ­º\WYW¬ØÓùOc³c‹Ê‹ U µ”ª¹"Sk™}cöQ3½VKž!Öí¬è—­OÃäššš®®®Ÿ>}š1cu=žwäÈgggêí’%K‚ƒƒ÷îÝ;þü¬_¿ÞÉÉiàÀµ®.''×§OŸgϞ͙3g×®]Ôµó¢¢¢={ö¬^½šN§wèв{÷îƒÒéôÊÊÊ?þøCì4ššÌ466¶OŸ>Õn…¶¶v÷îÝß¼y³jÕª7ÊÉÉ ‚½{÷úúúêééuíÚµÚµj¥­­Ýµk×7oÞlÞ¼yåÊ•Txžžž111µ®Xk<Òl8eÆ ½{÷¶··'„$$$,^¼˜2xðàºm€¬ˆ^S§¨)ª9;ˆ.éiÔ“TA£ÑLÔMLÔMª­–-Ƕ֩¾‘hmö†öÒ)¹­§ÃÑÑáTÓy²*&a^)iÊt3è&a]!ö[@ëC¯½ˆtöîÝ«¤¤4wî\---;;;GGG===33³-[¶PÝiΞ={ðàÁI“&-\¸Á`\¸pAWW×ÍÍ-99YšÕwïÞÍf³O:e```kkÛµkWMMÍuëÖñù|BÈ”)S9bddäàà §§·mÛ6±3þnݺBæÎÛ«W¯~ýú-Y²¤êVlÛ¶N§oß¾]OO¯W¯^úúúÔïmÛ¶I9P»Zþù'!dÍš5úúúTµÛ·o§ÆOS½¹jRk<Òl8ÅÐÐÐÁÁ¡cÇŽ]»vµ´´|÷îݤI“ê¼QÐ5Xþ`kkûêÕ«¡C‡r¹ÜðððW¯^¥§§[XXlݺ•ÅbEDDÌ;·cÇŽÂi‹ôôô.^¼˜››;qâÄŠŠ É«Bºuëæïïïìì\ZZñöí[…uëÖQçßzzzÇWUUMII b2™×®]³µµ°OŸ>3f̨¨¨~úôiµÓ§0àöíÛæææ999ÁÁÁéééíÚµ;}úôÔ©SëóåŒ1âäÉ“ÁÁÁ|>ÿÌ™3Tß!ê®HMjGš §ìÙ³gÔ¨Q?~|ûömyyù€îÝ»'¼Õ š”ÏO Pó# '­V~~~LL ŸÏ711ÑÖÖ¦~úô)%%ÅÒÒÍû)Å IDATRlAxxxnnn×®]…ƒ‰«]]Tzzz\\œªªª¹¹¹ØXˆÒÒÒwïÞ1™L‹™žžîââ"zë ###66¶¬¬LMMÍÎÎ.)))66ÖÎÎNlxqLL õ¼çŽ;ŠŽIøüùsbb¢½½½èy?µ°gÏžÂáÕ*//§zuêÔ‰Ïç›™™)**ÆÅÅI¨¹Öx¤ÙðU«Vmݺ544ÔÎÎîË—/‰‰‰ÆÆ’¦L¡Ñh^^^C‡•PZœ… r8É¿ÒHOO§æ<¨ÉÝ»œÅ‹ucbj|â2@+ƒÿó-‡Ãùª©Ï Z öü8!UUÕ=zˆ-´´´„T¨jO›jW¥««[Ó¿‚‚‚è¯ÖÖÖÖÖâšuttDgY522222ªZ•¹¹¹¹y5=€ÍÌÌÌÌ̤Y(f×®]sæÌ¡ž¥]PP°`Á‚ôôô¹sçJYIMñP¤ÙpŠÆL@5|þÕòôô\µjuÏ$::º¸¸˜Ãá¬\¹RÖq|…ÿ’ýüóÏŠŠŠ>|/..îҥˣG¨Gb´¸ÿÐDÖ¯_¿nݺøøøÌÌÌvíÚµoß¾öuˆ‡‡Ç!C$tò‡¦Ãd2%ch$Ò Ïú/€´?€´?€´?@röÍÙÁG[o·6ßbîã÷ìó3ó-æ>Á>Âwvv;ë&ÃkUPZðwäßKo-í¾»»ùóíÿl—uDж`ü4´ÿÄþóÛÃßdE}y>ð¼yGÖQ@ÛõÕùÃË—/'L˜Ð¡@³âíí}÷î]YG ),,ÌÅÅEÖQÈÒ“˜'„¯Ñ^ƒ-3éÿîýbVÅÈ4¨¯¦ª :Üzxóþ%•%kï­•u8Ðæ|]þàääÔHq@³bhh¨®®Îápd4$—6þ'œÉÍ$„ô7ï/LZ¢?¾ýƒzqÿã}ÙFmÓ×D—-[ÖHqÔª¬²Ìf‡Í@‹|ûǦǛüãüËyåÝ º­þfµµ®µXÏž[Ÿl LÌ+ÉÛ=j÷’›K¨¶;lŪ];`íÌž3kj4()èØ«co¾¼)*+ÒSÖûÖêÛE΋8òÿf×Obžø„ø|ÊüTTVd jÐÇ´»£».G·¶ YhÁá m*(-˜tfRR^õ60>pê…©¾¾êŠêÂ2ù¥ùOOL/J§Þ ø‚ºµu>ôü¯þ]=9?ùxÐñÀøÀKS/)Ê)>‰yâ~Å]X86;66;6­0mߘ}5U8í´Àø@É>pÐA³CÝhlÈ … J êeÔkϨ=ZéEé¿>ø50>ðfÄÍö3„e‚“‚»tÛ?vGŽ LBÈ›ó®Î{ý(âçy¦UŸdù´06z6Âá„#5#BHQY‘h™Nºê™<B¢³¢ !Kn-Yrk Õ…I@Ô ¡Bföœ”4Ì{˜«™«­ž­­ž­½¡½C®ží4gÈ …¡ú# Q§òbÔÕêß_À'„ðø¼ª•óÊ !yÎé)§?e~z•ø**#êÊÛ+9Å9ë¯f=¬¦:1þZ:äÕ£NâON>élâ,¡˜¥¶¥¥¶%õzÁõ?ÿý³‹©‹ª‚jS„Ðä?ToLç1‡^ZvkÙÏ®?»˜ºh)iå—æÇçÆß‰¼£ËÑç4oõÝÕz*zÌ´Wo/Çû˜ù1:+º‚W‘^˜^Sþ€ñÐÒ!¨ž‰ºÉŸCþô|à¹úÞj±æ:Î%„¤¦]~{yoÀ^Ñ:év2×2o¼¨.…_Zsoðíá—‡¿ @éééEEE ܽËY¼X7&&¶ÉB-üŸo)8Ž®.P_¸HÒBþÒBþÒBþÒBþÒBþÒBþÒBþÒBþÒBþÒBþÒBþÐ\|qð껫²Ž@äÍÅÀWßþ/ذ÷úûë2Œ *¦¬€ýØûGŽŽðí¾À}ÆclÇÈ0$1Èš‹ùNóe@-?@‹Áðö?ßo¦i6Üzxlvl`|`nIî|§ùgÞœ‘gÊ»us£ŠUð*¾8H™ã0‡-Ǧ^ ¿”_šïîàÞùûH@M[!Ç;øâ Gg\çq))WÞ^á ø‰¹‰^^T c;5T5¤^¿O{ú%´¨¼H—£ëÚÁU“­ÙÛPòh1*y•^^-FgFïÜO-œÝkvPRÐ?±ÿŒ¶M¬‡$‡Pçܶz¶ýÍûBÊyåøþá`ìPSþpýýõ¤¼$É­Oí1U]Q½Ú¾*€š¶BŽ!w ð@g½ÎTþ@ÕœŸ,ÌŒ U ³¸YKo-}‘ðBغ¢œâoƒ~ße¼tß"@½ €&ôKè£èG}LûXëZ+0är.&.¾Ÿ|_&¼¤NÖâØrlE9Eÿ8jIpRpie©‹©KMu^=0>Pr»Ã¬‡Õ”?Ô!€ª[!Za;•v‹]ï}¾×@Å`lç±ÔBUŸç~Åý]ê;CUÃ>f}TTrE?Zso¹–¹];;i¾@€ú@þ-LvqöÎ;GÙŒ.¡ÎË⨓uÿ8ÇöŽÊòÊqTê…„üaŒí{C{Éíj°5jú¨TÝ QTþ°?p¿±ºñb—ÅÂå÷¢î½K}7¢ÓˆÃw0è já»ÔwãO÷ öÙ3jäM¨?äИj˜Šv·Woo¤f@É-É̈ße<‡Å¹q3¥ ¥J»€¸ŽŽ…–EMuÖsŽ£:Pu+¤ñ<þ9!„-Ç>ôò@ „¨(¨¼K}WŸMòhaL4Lª.t1u9zþKþ—7_Þ‚>¦}”XJ„€¸€¢2£FÛŒ–Pg=Ç?Ô!€j·¢V9Å9„‹áë°.@ƒ@þ- ƒÆ¨ºÐÙÄù|èù€ø€7Éo T L5L !–Ú–þqþòLy@ ¡ó©÷ø‡:PíVÔJUQ•ò}·ï5•Ä'\R`*Ô¡B€¯…üZƒÞí{3è ÿÏþ¡_BûuèG-t6q¾þþ:‹Á¢ HX½žãê@µX V^Ižè'c§Ëá—yÞBç…t]¸<³(3µ0õkë¨äШ(¨ØêÚ>Žy\Á«ècÖ‡ZØÇ´O°Ïݨ»u:js´%¬^ÿg<×3€j™h˜|Hÿ°üör#5#:>¶óØa†9q!삜o“Þšl͂҂øÜø Ä Ù½fwÑïRÏ­¨òh`4!„ÿ¾h2}Ìú„§†3è §öNÔ’^ƽX V9¯ÜÙĹ%0Ó~æÊ»+oFܤÞRÏ8>ñøÊ;+ýbü.‡_–Ôåè"y¡¦ÿß CÈ ±Ù|BHi)]Q‘ß°53ÌÅ.‹Í4ͪýt”Í(:®®¨®ª J-Q`*ü:è׌¢Œ!VC6’ú a+~ìý£GGøvlç±6z6¯_å—ä ˆÀ@Õ€¢®¨~dü‘ØìØäœâ ¶†‰º‰½¡½p:Whz\.]I©ÿ·4[4j@)¥§§I()?b„჉:T4YT2äå¥~û¶²¯o¢¬Zp8]]]YGÐâÑk/ð5:t(g2ò² ‰|ø oeU.ë(šòh`,– {÷ÒgÏØ² )”—Ó^¼Ptr*‘u Mù4¼Áƒ¹¾¾J\.ö0Ðú=z¤TZJ0€+ë@šŽîÐðÆŒ)äóiçΩÈ:€Æ%ãÇÕúõãêéUÊ:€&‚üžª*ßÝ=oß>õŒ L ­ÙµkÊïßË/Y’#ë@šòhîªü¿þÒ”u ¥¨ˆ¾s§æäÉùÖÖ< mòhŠŠ‚µk³®^U¾vMYÖ±4<>Ÿ,[¦Ãç“¥Kse @“BþåÛo¹sçæ®Y£ýò¥¢¬ch`[¶h>Î>x0MM'ëXšòhDË–å X¼p¡^p°‚¬chñòÒðñQÛ²%£[·RY‡ÐÔ?@#¢ÓÉŽ鎎%Ó¦µCG&hÊÊhË–é8 ¶aC戒ÄÐZ!€Æ¥  Ø»7mö켕+uV­ÒÉÊÂŒLÐR…„(ŒoðìÛÛ;uÒ¤Y‡ È ÑÑhäçŸsöïO T8ÐøèQ5|øÐ³gÏÅ‹c,´Aÿ­_xxøãÇùåY­D§NöìÙ³mÛ¶‡Ê:€¦†ûÐúM™2åÇaaa4MÖ±@ëñÃ?øúú†……éëëË:€¦ƒüZ¹¸¸8KKË“'Oº¹¹É:hUŠŠŠzôèa``àëëË`0d@Aÿ%håvîÜihh8qâDY­ ‡Ã9{öìóçÏ·oß.ëXšòhͲ³³Oœ8±lÙ2&“)ëX ²··ß¸q£§§çóçÏe @Aÿ%hÍ~ûí·}ûö%$$p8YÇ­“@ 5jTXXXXX˜†††¬Ãht¸ÿ­Vqqñ-Z„äF;~ü8Çsww—u,Mù´ZÇŽ+..^°`¬VN[[ûܹs7oÞŸ?pàÀäääׯ_+++Ë:€Æ‚üZ§îÝ»[YY?^Ö@’œœlgg7zôècÇŽÉ:€Æ‚ñÐ =xð 44ô—_~‘u жž”u Ð-^¼ØÇÇ'$$ÄÊÊJÖ±4<äÐÚ„„„ôìÙóáǃ ’u,Е••999ÑéôÀÀ@‹%ëpòhm&MšôñãÇÐÐP&ëX Š‰‰éѣǜ9svîÜ)ëXÆ?@«òùóçk×®­Zµ Éȹ¹ù‘#GvíÚuëÖ-YÇÐÀpÿZ•üñþýûŸ>}b2™²ŽÚºéÓ§ÿý÷ß¡¡¡ÆÆÆ²Ž Á €Ö###ÃÄÄdûöíxæ44\.×ÞÞ^GGÇÏÏÁ`È:€†þKÐzìÝ»—ÍfϘ1CÖBˆ’’Ò¥K—‚ƒƒ7nÜ(ëX òh©‚‚‚^¾|)|Ëår<¸hÑ"%%%F ªsçÎ[¶lùý÷ßýüüÄ>ª¨¨IHõ„üZª'Ož8999;;ß¹sG =z´¤¤=— ¹Y´hÑÈ‘#§M›–••%\xñâEÌ/ -òh©RSS™Læ«W¯†nmm½{÷î3fhiiÉ:.€ÿ ÑhÞÞÞL&súôé ¸¸ØÝÝ}òäÉÏž=KLL”ut_ ù´T)))<ÇãB>}ú”˜˜xáÂ…õë×çååÉ:4€ÿPWW?}úôÇ×®]kooâÄ BƒÁÀì®Ðaþ%h0•••¥¥¥²ŽÚ‰-d0 óçÏŸ?¾ŽŽŽL¨ÖôéÓ©„¡²²’B§Ó]\\îܹ#븇Ѿ0æG‡SZZšžž.ë(  INN®ºÇãq¹Ü;v(++ÿý÷M@UEEEk×®Kø|þóçÏ£££UTTdå«òô_€–*;;»¦~þùg$ÐL„‡‡2äÁƒU?þþþM@} €‰Ëå–••U]N£Ñ–.]:oÞ¼¦  ªäääéÓ§§¥¥Q}–ÄÐéô‡6}TõüZ¤ÌÌ̪ i4Ú¬Y³0…+4†††·oß¶³³£Ó«9àVVV>yò‚€–ù´HUó6}úôÕ«WË$€š]¼xqùòå ƒÉvX\\,“Àêù´H4Mø–N§?~íÚµ2  & cîܹ·nÝ255e0¢ÉÉÉ=~üXVÔòh‘222„—rétú˜1c6nÜ(šQ47VVV·oßþñÇétº0‹¨¨¨¸wïžlø*È EÊÊÊ¢²ƒ1|øðÍ›7WÛ¿ Ya2™?ýôÓ¥K—Úµk'L!222¢¢¢d€ôp¸€)33³¢¢‚Á` º0@ B²ŽZ‰¢¢¢yþtY-$Dáý{ùäd¹‚:Ÿ_ÿ*¡ p—o×£ÇE:ÕÄMs8MÍJkër‡--^·-TM{¶ŠŠ¼ˆˆ¥©©W¿ù&JA¡Lc NTTøFF66eöö¥òò8“l :tè }aäÐ`êŸ?¼}+ê”êƒJ%%t}ýÊöí+ÔÔø4þ‹B5ÂÂfvérNWhú¦¹\zz:36VŽÏ§uëVêæV0|xƒÿ¨P=iölii7¡éé’UÒhyyô„¹ÔT¦¢"ÿÛo¹Ó§çwî\Í=¡Aþ²QŸü!#ƒ¹u«Æ­[Ê:•MœX0`@±ž^5Ïj*--UPAò TRB{ñ‚}ý:Ç×W©C‡Š_Írp(‘a<Ð }ÕžM `1hYÒÒ˜³/]RùðA~äÈ•+sttpìn©?€lÔ98wNeËMMMÞêÕÙƒs<0€F/·i“–Ÿ{Ĉ¢3Ùlt¹B°gƒ¶äáC¥Í›5³³«Ve»¹È:¨ ä uÈx<²q£ÖéÓª äΟŸ‹>”Ðrýó{åJÊ#GÒôõq®MÞ Ú ²2ÚÁƒêû÷«Oš¿vmfµhq?€l|mþPQA›?_ïÕ+ÅíÛ3† )j¼ÀšFr2ÓÃC?/qòdŠ…E¹¬ÃÙÀž Ú²û÷9¿ü¢ãàPrð`šœÎ0[’¯Ê0+È̺uÚ!! gÎ|Á!ZCÃÊK—¾W¸»ëggãâ[…=´eC†9ó%$DaÝ:mYÇùÈÆ¡Cê7n(ÿõWz×®˜±Z‡èP*“)˜3G¿¤caÛìÙºv-Û»7ýÆ Î¡Cj²Ž ò÷ïåÿúKcÍš¬þý‹e @SSã>œš ·¿†¬c&…=¥OŸâ5k²ÿúKóý{yYÇã ÁH9þA nn|>¹pá æ*„ÖêôiÕM›4ïÞM25­u,аgãæÖ®¢‚véþ"Z†¯ÿÀl¼8ªuë–ò›7 7n$c‡­˜›[Áùó*›7k9’&ëX )`Ï͙⋊ÁÁÔë2kkî AMШ§göèц·n)UØÍASBÿ%hj‡©]hmÎÁÕËÈÈèÑ£‡ùÿ[±b…äò¹¹¹Â¯^½úª¶ ¿ýö[sóæÍ«Gìð? †`ÅŠl??¥èh–¬c¦Ðúöl÷ïßîd‹TÎ;GEkooß æåå͘1ÃÊÊÊü¿zôèqíÚ5a±—/_Ž3ÆÂÂB¬ØôéÓ333/<é132ô.T÷ò¢þ)ùú6M»ÖÖe£G>ŒQ­òhRáá ÑѬ©SóeHóµbÅŠüü&ú~Ž?Ka³Ù3gÎ\¼xñðáÛ¦é¶ÀÕµØØ¸âÊeY{¶V)??? ÀÂÂbìØ±óæÍ6l‹Å¢–¯ZµŠÚyBÞ¿ÿîÝ;ƒ1pà@wwwGGGjùóçÏçÌ™Ããñd¶ÿO{Å zSVÄüðCþ§O¬ðpŒ‚hmÐ š”ŸÛаÂÖ¶õ\¢kXgΜ  „¨ªª6AI½6lØÚµk»¹¶†F#C†p}}•V¯Î–u,и°gk:wî¼xñbBˆ‚‚BƒT¨®®~éÒ¥îÝ» —ܼysùòå„>Ÿ!ì/Þ»wïM›6Roûí·³gÏB"""^¼xáââÒ ñÔê™3ì€B_Uµé³ˆÎË +ýü”0#Y+ƒüšTh¨‚£c©¬£ØØØ7oÞdgg³X,sssGGGê:–¨øøø­[·B&L˜TmU~~~iii††† ¨[£?þøñ#õöãÇ^^^„WWWccãÓ§OSË¿ÿþ{eee??¿¸¸8ggçýû÷ ëg2™***VVVÝ»wgTyÖhÕ8=J}4vìXá¶ust,9rD-/®¦Æ—u,ЈiÏöîÝ»'OžB<<}*l4##Ã××·¼¼ÜÉÉ©cÇŽT Ïž=‹ŽŽÖÑÑqrrÒÕÕ•ü=$$$H³±u¸&***¢Éƒ(feeE½4hЬY³èôÿuè˜4i•?Bbbb$ä!!!ÔëaÆUÀJçrU½½i!„ûÍ7e;SË9÷î±¢£ !< ü~¨©~¹øxÍ­[ !&È%$(ÖpXiTŽŽ%aa “ÑAóüšTLŒ\¿~mkfÃäääU«V½|ùRt¡ŽŽÎ† ú÷ï/\Âãñ–/_^RR¢££³fÍš¹sçV[[``àâÅ‹óòò¨·†††;wî¬C£TÂ@yûöíÛ·o !êêêGø‘­­íæÍ›ãââ!3fÌppp]KÈÐÐp÷îÝvvv’ã®ëààÐFòKËrBÈçϬîÝÛbÚÜv4ÒžíÝ»wÔ_šššµµõÂ… ¹\.!ÄÊÊJ^^¾Ú?F‡={öhiiU­¡gÏžóçÏÏÊÊ¢>244}êéé™’’"ºPGGgýúõƒ¦Þ¾}ûVب••ÕÂ… KJJ¨–-[6iÒ$ððpj‰¢¢â_ý5HâpÞ„„„¯ÝXé–,**êáÇååå ~~~„6›ýË/¿ó‡öíÛ‹­"šœp8œšj¾ÿþ’%K*++ !?ýôSµ³ßð•”hêB”/_Nºs‡¯¢¢ª³d Ç#tzŠ·w¡óx:Ë—ÓJJ*ut²×¬Ñ«á°ÒØ,-Ëýýk/- òhRyy MMÙwm2ÙÙÙ“'ONKK#„˜šš~óÍ7ééé÷îÝËÈȘ?¾OïÞ½©’¤¨6lPV®¾Çü—/_æÏŸO@ 4(99yÑ¢EuhÔÆÆfñâÅ×®]KNN&„téÒ¥_¿~Ô ÑªÖ®]«¦¦6sæLeee;;;&“Iu „‚‚‚‚çÏŸÇÄÄ$''»»»ÿóÏ?JJJbqêëë<8))©jœm†’›‹gQ·r½g+))Y¼xq×®]»téÂb±ÌÌÌDÿy<^ffæãdz³³_½zõË/¿øøøˆÕPZZêáááì쬬¬|õêÕòòòäääÍ›7>|˜òàÁêæ'!¤k×®=zôÞ±c‡X%TŽÑ¹sçž={†‡‡¿~ý:##cáÂ…‡½&B…½råÊÑ£Gggg?|ø²k×®Û·o—””Ìœ93 ::º¤¤ÄÓÓ³oß¾òò5v‘oß¾ýWml®–ðö,…N§»¹¹3FÂ*wïÞ¥^0ŒšîäܼysÅŠ<Á`üþûï“'O®©¶œ%K™©©ÚëÖenܨ»t)Ç#„äüôSIÍ77ÔT'„dnØÀ¯á°Ò44xض>È I•—ÓääÚÐ#G:DÇ›™™Ý¼y“ê-`aa±{÷n·iÓ¦¿ÿþ›òþýû}ûöBF%áxvâÄ ê¤\IIéúõë„ 6œ8qâkµ±±±±± æÂópP µ–···èµ4a1JEEÅ€RRRrss=zD]°Æ©¨¨xõêU"Ò!¸Ma±„²2ÌèÙÊ5öž­¬¬ÌÝÝ}É’%¢ Åþ?þL]P÷÷÷OKKÓÓÓý´´´tÙ²e³fÍ"„P¹°çŒ°_b=Î;Ç`0x<Þøñã322D+Ù¼y3u.Þ½{÷óçÏ3 @0{öìgÏžñùü7Ší¾ÊÊÊ6nÜ8zôhBH¿~ý’““Abbâ“'Ottt¢¢¢¨ ²²²âââ:vì¸ÿ~ÑÑÆªªªÓ§O'ÿͤÙد ¸¦v)VVV‹/.**ŠŒŒ|ñâŸÏ?vìØóçÏ/_¾\í@‹ððpa_Í3fèëëW-sùòåµk×òù|yyù]»vÕr'„NOßµËpÄfFçî]ù™ÉÉ„â~ýrü±¦•äß¿Wß·R4jT±iRãa±å娶6ÈѳgϨ***Â#Ê—/_¨QQQ:::žžž•••šššžžžjŽˆpuu¥’BÈØ±cÅò)•&þéÓ§‹õ‘‘‘ÙÙÙåååÔê£èèèªq š0aBÌÊìٳŖ”——¿yó&66¶   ¢¢‚Ïÿß›˜˜˜ª§ÔÂ+ÜÂ>Kùùù%%%<O8•ÂÈ‘#©±L cäÈ‘ïÞ½®ž-,6vìXªF7nµÏIHHHNNíšH£Ñ†J½Ö××§®VôêÕ‹Ú-ˆvûIKK£òj¯B166žÇíÆ~UÀÚ%„tìØ‘¶A¹|ùòêÕ« !‘‘‘W®\ù¡ÊÀƒàà`²²2BHÿþý«€»  `Íš5@YYùðáýzõªZF OS3}ïÞvnn4O.6–Rih˜¾c©ùi#Úžž´ÊJž¦f–Äà @Ý hD¹¹¹Ô‹°°°°°°ªÒÓÓutt¨‹|æææ§N¢– O÷###½¼¼lmmû÷ï/œ‘IØß—¢©©Y·F¥‰¿]»v¢o,X <$‹¡î9B„qж¢­­-M‹P•ŠŠŠX·ÆþùgÅŠ999Õ–/**ªZ›Í¦^‹NÞ òóó…WD÷-‹ѶD‹‰þiggg‹æ***¶äää¨Õî|Dóª¾vcëp­Æ¿aÃj_&–?G ¾ŠèÜ>„ÒÒÒ¥K—B ¨ªªÊãñD§G“\ƒ(UUUákÑ}‹Øùºh:!ZLôO[ìr­º«ãÂH„{ ¡ ˆõ#"uÚØ¯ ¸Úvk"Ü(±;Ç3BÆ·iÓ¦j“B›Í600ˆŽŽŽÿþûïÏž=+͕˗…É!DýÀnÿþåÖÖ’×R|õJ±Êa…ÉŠŒ,˜2ùÔò€FÔ·o_j8A^^Þœ9s„×ÿ!Ÿ>}¢n»Ïž=[ìÚÕ«W©[ÖÖÖƒ ²µµ%„ôêÕ+""‚òìÙ³œœêè(úÔ¯j´>}úD½pww§ÆCgggW¼èàà@Åéï—§¦¦F¹|ùrÝ1©©©Ôù4!dÇŽ={ö$„øûû×­6‡cmmM]¸uëÖäÉ“©ñ·nÝ-¦©©),vãÆ &Pà „» öíÛ×s^µ T]Xç•>àjÛ%„ÚÚÚª¨¨—\¿~]¸¯¦vË”S§NýùçŸTF4{öìU«VU›;QX,Ö©S§ÜÜÜââââââÜÜÜΞ=+y[ùÈH­õë !„Nç~óÒãÇ´²2½… “oܨi`tþìÙôÿV”¯^e~ùB)·¶æT*?À×BþЈæÎ{çÎŒŒŒ˜˜˜Aƒ 0@YY9--->>þíÛ·...Ô¼àÔ FQ/_¾æƒӧO¿xñbqqqQQј1c¨y¨yWëÐhXZZR]­Nž<™ŸŸÏçó}}}«N£>cÆŒ‹/r¹Ü‚‚‚Ñ£G4(!!áýû÷ukıÙìââbBˆ§§ç€233ƒƒƒë\á‚ .\Hyýúõĉíí탂‚ÒÓÓÅŠ­ZµjÖ¬Y</$$d„ ÔtFÔ l:ÞHÏ ¬ÏÆÖ3àC‡½~ýºgÏžíÛ·g³Ù‘‘‘Ôó= !“&M¢^߸qã?þ ^*))íÝ»WX‰]ß¾}ÅjÖÖÖ>sæÌäÉ““’’âãã§L™röìÙjGZBèº?þH++#„äþøcî¢EíÜÜ^¿–KHÐY¹2íÀj×Ê«rXQxù’Êʬ­sþ;àkÕxCêOKKëâÅ‹NNN„ôôôsçÎ>|øæÍ›ááázzzU*’8p€º·þåËŸ¨¨¨ªÓ¢7l£¢~ûí7ê———wâĉsçÎýôÓOfffbÅÚµkwàÀê¶Crr²Ï§OŸ¶oß., ì uÀd2·mÛFM­søðaÿÝ»w×¹Â!C†üüóÏT›ðððãÇ«¨¨üüóÏbÅœ9B ‹zûöíñãÇ©sq}ûöI3jÔgcë°‹‹ ›Í8{öìÑ£G©äF£õë×ïüùóÂ;$&& WINNöú/á„btuuÏœ9CÅ–˜˜èææ&öŠ :¿ü"—”D)µ·ÏY´HÀ`¤ïÞM ~PzøPíøqi¾ €†…ûËÈÈèôéÓqqq¡¡¡,KWW×ÔÔ´S§NÖ7nœ££#!Äú¿Ý[]\\üüüüüüÒÓÓ©®ÀDdGƒ¯jt̘1öööä¿}ÐÐÐV(Ö›ÙÔÔôñãÇ~~~‰‰‰ÇÕÕÕÀÀ@ Pœ‹VâìììççG=+—ŠSô>I­›BHçΩ?ƪó„2ÄÞÞþÙ³gúúú `³Ù¿\sss 5˜šš K “ùyóæ 6Œzþ4õ°ùØØØÅU®R»ºº>yòäõëב‘‘EEEÔãœ{õê%zR8´h£Â½°iaý¦¦¦¾‡úl¬4×ÄÃÃcöìÙ¯_¿NHHÈÊÊ’““k×®]÷îÝź€:88Tý¢„„Ö¬žÁ™3gnܸA½}ùò娱cÅV—KJ*·±)·±!„L˜@ BH¥¾~ÚÁƒŠ/^Bhee´òrȘøšŽWêèH)«mÔ@­hU0ÔMQQQÕûÝbÌÍ;xy¥ZýtÐj„††ZXX¯ÏUTT¸»»SWï:tèðàÁ™Fפð¾-À¯ P“»w9‹ëÆÄÄÖ^dªÚ' ×÷ á?þÁƒNNNíÛ·çr¹Ô-~ƒ!ùÐÌ!€†gooïçç÷èÑ#Ñ…íÛ·_¿~}Go@s€üÞĉGõòåË„„„ââb55µN:uîÜYœ†Ð" €F!//ïêê*ë( aþVòòòòòòòh%îÜIvsóŒÌ—u âšm`õ´n]¨››ÿºu¡µ–.tsó¿z5AÖˆk¶‰‹SìmxxŽ››ÿýû) Ø@çÇA+‘šZ”UPð'©M£ÙV7o&]¼/ââÊZ þ\”UY)¾þuëB/_þ÷xÌåÖÞ@«ÄåVe9:jË:qÍ601bqнÍϯ Ê4H¿›h#?@+1l˜açÎêÖÖª²D\³ ¬ÎòòÊ7mz7i’É… ñQi)ïêÕDCC¥+l45å•”°›‚6ÊÌLùìÙ>вD\³ L²Æ»…~õ„3´úúŠúúÍqÞl«³-[Þs8ÌÅ‹­)HI)æóƒëjÐõ´JJL-YGQf˜dv ý*ê ù´wî$Ÿ=çéÙEx¥ŸÇüýwò³géÙÙeªª,''í1cŒäå¢k½x‘yÿ~JR—ɤuî¬>eŠ©––<õÑ… ñ·n%mÞܽ²’úôç„„"--…qãŒÅîS—–ò΋{õ*S ={jýðƒéÉ“±Ïže>쨬,W50)«•[㩵ÑW¯²®^M8}ÚEAQm ¥¥¼óçã_¾Ì~!_ÕÐêÕo¨±"÷î}yÿ>²hQG''má÷VZÊ»p!..®hÐ ýï¿7#„¤¥•ܸ‘ôñc~nn¹¶¶‚³³Îˆ† M4$É¿@óôùsáºuaãÆ×^¸0((ëï¿““’¸,½sgõÉ“ÅÿHã⊮^Møô©°²’ojÊ?¾½p¯ž³ukÄ´iµNúüöm®¼<ý›oôÆkO£ý§é»w¿-YbÝ«—VÕÀ¤¯VBlM Úï“’‘QzêTldd>›Í8PäH#Ѱ‹‹y·o'……夦–p8ÌnÝ4Ç7VUeI¨³Öß ¥Cþ­„Ø0ƒ’ÞÌ™ÏCB²…îÜI>}:öÔ)MMyBŸ/X¹òÍõë‰Â~~i'OÆž<élc£FIJâeùù¥þõWdIÉ¿]ðoÜHôòêõÝwÿ^/,¬íç—vïÞcc%ÑîþbISm­±UõñcÁᅦKþŠœœ´-êXÓ§Ò4Z^Î_·.tüøöŽŽÚÕŽè¨ú…ܽû¥}{%ézÿ>Z=5µ$5µ„’]Fþÿ{»w/ÙË+ª¼œO±°P&„<{–îîþ‚ÇûßàŠë×/_Ž?y҅ɤURÕß yªÚ·~Ó¦wÞÞ1·§ùøÄ=êÔ½»µäܹ¸ßþE<{–~æÌç»ßžüÿîÝ5·ly—œ\L•yð åýû¼õë» «]¹òp@ð³géW¯&N™b”•“S^m`RV+9¶jM ú×]•šëÀ DU;V!-­dôè'¥ÔÛ{÷¾~,ðô £6GŽ|º~=ÑȈýý÷f:(——ó2.^Œ_º4äþýtú¿WŸ¶m‹èß_oÈ%%æ£G)—.%lß!<Ñß±ãCdd¾¾¾¢‡‡¥‘;.Ž{øðÇòj OrµRÆ&ª°°"((Kr£ÚÚ >•¦Ñýû£ŠŠ*W¯î\S%b_ÈçÏE‡ŠŒüÏ"¹¡M›ºEF¬YófÄÃÉ“M !ææÊÂuwïŽtuÕ:ÔPOïß^aFFJcÇ›™q8¹ôô’»w¿<}š~óf"u9°Î¿@sóðaŠ·w “I›>½C¯^Ú……W®$¼|™¹pá«'OËË3Þ¼ÉY¿>œÍf¸¹™uíªÎbÑß¿Ïóñ‰ñô stÔ¢Îw !ÇŽ}²°PÙ´©»®®BDDÞÏžýìáaÑ®›r÷î—«W™³g›w颖›[~úôç£G£k OrµRÆ&&((KrþPÿëú'OÆšš*/YÒI[[>""ïèÑè{÷¾\¹’0aB{BHE_NŽ>{¶y§Njššò¯^ež?ïåµm[ªµÕúÕ3Z€fù´B<žàòåxyyÆÅ‹}MM9ÔÂaà  òõõMÉÊ*ÓÔ”÷öŽÕÖV¸qãámèo¿m§ªÊ:tècXX®ðBÑèÑF›7w§^÷ï¯Ï ÊÊÎ.ÓÔ”çñ×®%()1¯\é§««@é×|óîС ©å¶„j"el¢¬¬TΞí#¹QêÆKµ¤i4&¦ðÈ‘è]»ìUTªïóÃã ®_ÿBúõÓ6ÌOø…HÓ“I'„´kǮګxà@ý}ûþs­ÑÕU×ÎNãÆÄÛ·“ *xL}ú4=;»ŒÚ½°Xtћۢjýê-@3üZ¡ÄDnq1ÏÕUW˜<BÔÔXß}gpî\\TT~ûöœœœ2 ùE‹‚!¡Q99e„ØØánäH#ÑšmlTƒ‚²òòÊ55å¹%%¼!C ¨SЉ §GÍ/2%G(¡Úääb)c¥¬,WŸ1|µ6Ú­›ÆÚµ¡ýúéRãñúÚž33å=4_¾Ì”²!É·øÇŽïçž;oÞËÒRžØrêqõù𛍍|EEæ¨QÿÛ{Ðhdòd“/2##ó†5Ïe0h»w "\••|BHllp­!C D/„ÛÚªBrs˨·Ÿ>¨©±„É!DNŽ>b„áîÝ‘’Ó\­”±‰¡†[4ª¡C ¨äâè¨mhÈþøñßd)3³tÊÿäd®ØZ5=ЦÖߨ¡Ã äÐ ••ñ!jj,±åªªr„òr>—[AÉÉ) ¬æ$²´”/|-V ‹Å „P÷Ó©sVeeñ?"áeu $T+}l¢ê9þ¡ÖFýýÓ_¿Î¶²Rqsó§RÑRÏN²²Rùí·®5}!¢[·­ÒÓŸÉê×_ÃÊÊx&´wrÒÖЗ“£s¹•/¡‘úýFÍMY_E…)6"™úÏ\VÆ'„óx2u‹­ Æ?X[«®\ù毿>èè(ÆÅU²Ù áxîôƒƒ³Gzbe¥B‰‹+RTd°EgtUëoÐ:àø ­SïÞÚGŽ8¶o¯”—WþömnVV™ŽŽÂÎöÂ91,-U®^uí×O¯¤„™ž›•UfbÂY±ÂFú ZýûëmßÞCM•]ööm®@@vî´§nR+)ÕýÁd ›Lí×OoçN{áÂç ¶më!vBß°[·aC·ž=5KJxáá9Ÿ?º¸èxyõ-ÐH¿@ÓÓÖV8¾o¯^Z¥¥¼ò¹ Ìyó¬6l°£ °ÙŒóçû~ÿ½™œ#&¦044'9™«¬,7cF‡šS•žžâ‰Î:(óÞ½ËMK+vw·:ÔBÝŽ¨›‰­1Œc¼paÇÜÜòwïr‹Š*ML8'Oºÿ;ŸìÌ™æ“&™‚ÈÈüÈÈüvíØÞÞ½© Õªõ7hhÉ·¤VTT”žž.¹Œ¹y/¯ô¡C‹¼õÔÔ’ÄD®µµªØì¢ ܬ¬R55–™™2­š'Š„.Ÿ/04dkhüï{RRqJJqçÿcï¾ãš8߀¿I€°Â {‘¥ ¢8+"* 8qVim«ÖjµÚÖZGµ8ê^¸Ñ "™²DÂF†ì°Iòûãú»¦B@ HŸï§Ÿ~rï½÷Þs¼Üswï{f²T*‰§ÐÜ\–{¼ŽŽvNNBH__ŠÍæLúT\\$2rf· Þ,ŸØ•€+e±8‰‰Õ"¦¦¼¿ýœììzéëK‰‹“òò?|h7N{¡[¯+ÂÎZTU©T¼°Ûý†{ÿ¾¥¢¢UU•¢¤$Ž&''f`ðÏÕ>þßÑ ¼¿y0| Ò·ÜÔÔ™‘Q§¦Fáy=BUUkII³˜Q__ªÛW tt°óò[ZXÊÊ:]v¿®®=;»AKK‚{(¬P[[’û‘}„P^^#“Ù©¥%A£‰mØð2<¼<*j–šµk`}j¶§ØOœ|ÂnhèÈÏo¤REôõ¥»þRÔÕµ2¥¥Å°1ý22êÚÚXØó–ýþŽþ;þúKÒË‹ž››'ì@@/ôôô¯ ù0ÂÍ„åÊ•¼E‹´°ËrLfç¾}¯‹—,Ñùé'¸Ú4\÷;yó «ö-ûûÚÚ*bïm`³9ׯ3~þ9MWWêéÓé |z øTô)€þ|”ßÏ<|8CKKBT”XPÐÔÒÒüÆ" IDATI¥’6nìþ]H@(à; O‚ƒË¾û.YMMBNN¬¨¨©®®!´m›±°ã Ðÿ€²~½¡¸8)7·1+«¾¥¥sÔ({uujïK‚¡ß}âæ¦¥¦F-)iJK«­«kWP ÿö›ågŸÁ»Ïƒû|/¯Q_|a„½VYII{8 +ðÐ'³f©Îœ©ZYÙúþ}‹¤¤ˆ®®ä öR|r àc‘H-- --‰Þ«!ï€>!.ÎÓõ0ðü@P?ù@P?ù@P?ù@P?€‘lÇŽ$}ý€ÚÚvaò_TRÒ´ysœµõc}ý€ùó#B®®‘cÇ>Â+\¼øN_?àÕ«»Þ~|éïß·lÝokû€á š­HÿJÂaÒ ‡ã›êëîã>æøë?¬7ømH(Nè©òöGÛõéëÒoîhÆ ‡óÖøƒ÷Ç…—WBZZ­°£È×_'$$T ; >ìέ¶†æ„â%á¹áQŒ¨ìÙ]+¿(xñ óE”ÒÒÑ2„1ä€WSÓ––Vki)÷çŸ6òòd¬ÐߊPƒê^CCGBB5O¨>NÆž Í •§Ê?íû)zSÈ"äÄâÄó¯Îw­ÙÖÙöCÈ LdUfeUd }¨€ÁÏ/^ee+BÈÊJaøŸ‘——· O$T†ƒúÖúKñ—HDÒåÅ—]L\dÄeÄEÄítì®{\ïZùäó“Ì6æ÷Žß}œ€Á÷ÀÈ‘—×xøpÆ«W8dm­°k—i×:ïß·œ<™]ùáC+&fk«¸eË(==)lî‘#™çÎå9feÕ_¸ð®°©  îæ¦¹eË("‘Ð×FRSk¯_ÏËÏg®\©+"BìµåŽvpp™¿aNNCMM›’eÒ$%/¯Q**ž–““«¯]c”–6kkK|󉣣rK ëèÑÌ'OJëêÚÍÍe÷í³06–Ánjê¼páÝ“'¥%%Í""33ÙM› íì”ã[@9;‡geÕ#„ΟÏ9>‡{–””hJÊÜžìGœ‚|é|šíê‰Ösçª÷k»,/ ^9žU‘E£N7˜þ­Ã·rT9l‹Íº™rÓ?Í¿¸¾˜ÃáhÉjÍ3™·dÌŠ(e‚‰Ì‹líli8Ó„n¿fvUöÅW9£Qh‚´œ]•½Þw};«ýœÛ9 ‹0( #D^^£»{TCC6Yþúu©é¿~´JJš]]#««Û°ÉÚ‚‚JÂÃËoܰ33“Å«]¿Îðõ-À>—•5{{¿åpЗ_÷©‘óçs‚‚J°Ïl6G–CBʶmû§bYY³¯oATTùãÇÓdeÅðò‹ßcŸ³³6oŽ»sgò¡CII?ÁŸ˜X½v틈ˆ™d2 !T_ßîáóî]6·­ ÅÅU½zUuô¨•‹‹F·;31±ÚÃ#ºûýNNêüaÍ¿NŸô#NA¾ô~4 À°’\š|(â‹ÍBµv¶ÞK½—T’°*€*JE:záÕ¼rFyFFy†(QtŸ=5htØk­'  q[ãzš›Qžš¬;ùQÖ£“±'‹êŠè’ô†3¶NÚ*-.WcsØ»Ÿìž¬;ÙÉØI͌̋ü2ðK5µ nÔdÔY ,ðü!~ý5£¡¡cêTå¿þš–žî8ÕÐP:6¶’»Î©ÕÕmÖÖòLMOwž>k–jSSç÷ß§pW{ø°xï^ó/>KMu>vÌŠD"øø08œ¾5\öý÷fÏŸ–›»`÷nsAZ#º»kß½;91Ñ)+Ë%2ræW_WV¶â)æéÓ÷?ÿ<6>~Nb¢Ó¦M†,gݺ—>´^½:)5Õ92rÖĉЕ•­xörèPæ»w ³f©LIOŸ—˜ètℵ´´Øi--üÎ!ú-(È1(È!´q£anîü? Y>Kõ#NA¾tþÍv n>€áæÉÛ'óMæ‡m Kÿ&ýö²ÛFŠFyÕyç^žÃæ†æ„RD)§œNÙ–’þMzÐê uÖQŨƒOMs BèuÙ믿ʫÎë`u”Ô—\I¸²øÆâ¦ö&¼ÚÍä›ï>¼;0ë€ m^K¼¶Ñ£•º•ï _Hþàþ š›Y11ªªÔS§ÆcÝMLhgÏÚ8:>­«û{Ï–VTT…¼<ùÂ…‰’’"!}})oïñsç†geÕçç3ut$±š[·ŽZ¹Rûìâ¢Z\öþ}³ª*UðFÖ¬Ñ_³FŸ'N>-#„fÎTe±8'NdeeÕ74tàw-²³þ݈‘‡‡6öùë¯Gß»WXSÓvýú$BHBBdûv“ "ssBííì  béS§&!D¡æÎU¯¯ïØ·ïuB‡ɓé]÷§••|nî‚þ}ýÓ8ùÒû·ù +ª‡æ"!k ë³®ggœŸœ¼mò6„²´2Bhºát„2¦Óù7Øí(I‚csØ!ÿtÿUV«ÖŒ_#K‘M)MÙ²÷݇w—â/yÙy!„*˜Ǣ혺CYJ™k,6kßÓ}7“o®·bÏ´=$"écb ÈÀHPRÒÄbq¬­å±óHŒ´´èرråÿ®£€÷cH$‚½½Ò»w ……ÿœúO˜ Àݸ¦¦$B¨©©³OLšÔÍSû|ZF]¼øîСŒ®Kµµ±¹'ÇWÄ?‰JKK'–<`ÔÔ¨¡ZBÅÅM­­¬Ü܆Q£ „8Äáp°¡²²á2œb?âäKÿT6>ì´í°ä£AÓБÓɯÉÇ&w;îþ"à dzŽö:öÆt㱪cGÓGj|ÄÄ~eÿ~ ¢¸®8¿&_KV ¯@"¬5¬­5¬B--3ÎÏØõ×®ûž÷)ž šBÃJjYê®'»6ÛnV’TʬÈüñéìÎÙF³±¹î>î LŒ×¯NSï`u¼(xQ×R×ÚÙʧÁìÿ0š>Ú\Å<±$ñçg?cý^—½þ!ø„Ðtƒé!YŠlîw¹³°9i’’®®¤„„HeekLLåéÓÙÖÖ vvJ¡'OJwíJF™›Ëš™ÑH$bFFmbb5‡ƒBÏž½ßµ+…D"Lª¬§'ÕÞÎ~þ¼2!áÃöíI/Úv» ee-ÞÞ½ÜÄwrRç“?TUµÉȈIHüë;vϤªªË!J{Ÿ¶'x‹Í²Ö°6W1¯i® É9ýât¯ ^N¸ÜÜÞì<ÚY“¦©,¥\Z_ºúÞê†Ö U  1±ŒòŒ¸Â¸õ~ëCׇJ’%‹êŠVÝ]ÅlcªÉ¨MÔž(#.“WÈ)k(¯1ÞÍÜÍ/ÍÏFËf¼Æxþë=õâ~¢[  ?0@þF2MM‰k×&‰‹“BÛ·›89…'%U3™’’ÿüå+)‰ß¹3+a±8^^ñ!!eþþEk×êwmÐÔ”öìÙÌòò欬ú††uu‰™3UnÞÌ {åÇŽ½Aíß?fÙ2|©ÄÄjìæÃÑ£™ŠÈíÛö¦¦4l‡ƒ¶lyR–—ר§'Õuªª/¯^úòŒµ­%%Åû/L&!„Z[;»[0,\M¼Êb³¼ì¼ðëý^v^ó®ÌëuÁ–Ž–‡«êÊëb“ûBö5´6쟹™å2îÆ~öóÃ7—Ž]zöåYfÓÅÄåМC¢¤¿à,©/!H*Ò*鋉_ð_ï–‰[z½ÿÐkð€áò0’mÜhˆ%!QQâĉРFcee‹¤ä?gê6àé‰Døê+㲤¤ênó‰¸qãËœœžòÚBåå-LssYîä!„= UYÙš›Û¨©)UUÁáp°›Ø ªu=äT/¯QýÛ| ™Ljkcó¶µ±Bââp`øJ.I¦ˆR¾˜ôÏY»Mcñ˜Å_]ä¿ ‹‰ ž< „^¾ H5Í5§_œæüÿÐÓÔÑ„JŸŽÆ¢¸Â8"x`ÖXXÈÞ»ç€{š•UölöëŸÏìº,Þ¦¾¾Ôœ9Ý\Õ33£u»ÔÇ÷06–)*jzõªÊÑQ/Œ‹û€Íâß2@ˆdÄeÊËYw Q\WÜë‚$â¿RiqévVûú ë»ÖÄ^BG§•6”6µ7}d ýø€üü×?ÿnÚ4ìÚ<‹Å9q" !4n\7ã/‰‹“ð䡽ýûïÿÜLPV¦hkK¦¥ÕÞ¹Sàá¡—'%U[ZÊ«¨P´µ%«ªÚfÏVåî±Àá ØØJSSÙnÃûøþÓ¦©„„”>cgGdžpMH¨Ž‰©•ëi˜)Àp`©nù0óá™çgð炊ëŠï¥Þëk;µ&ÞM½«%«åbâÂ]þ¶ò­Y !d«e{7õîþÐý?;(BüûÄïÿ@&‘Bu-u½®ú?ðùø¯«¬l93ÔÑQELŒøâEÕ»w ²²b®®š]kR©$CCéW¯>,Zee¥ÐØØ]u$À}ýõh/¯ø={R|} ÍÌh$!=½69¹&;{>‰DعÓôóÏãæÍ ·µUÔÓ“"“I%%Í©©5%%Í™™óH$Rו~|ÿggõ3g²SSkœÃ•kkÛ=*ápÐçŸÁËãÎVY­zœõøØ?^¾ÀÇ_ïk;›'nÎþ&è›+ W,T,¤Ä¥ª˜U9rÒß§_^tYMFm£íÆGYî§ß/Š·Õ²•¡È0ªÑŒèK‹.©H«hÐ4ˆ¢ošo'»S–"‹z¿õãû?„d‡dWe#„ÒÞ§!„3_—½FÍ5»U ÿu?þhñë¯é·oçc“Øûº¼!ôÓOc7lx™œ\“œ\ƒ’—'ÿñ‡õòå±x…9sÔêêÆ:”žšZ“šZƒZ[+`¤gÌPùýwëýûScb*cb*±¹D"ÁÁ."B¤ %ž;g³aÃ˼¼FüUË—ë®Z?Æ kæ*æ?Ïþy_Ⱦ„â„„â„…ªÅ¼Ñó~zöSŸÚQ—Q÷YâóMÐ7ååx¹±’±šŒBH“¦yyÑ寃¾.©/ñMóÅ—R•VEÑ(´…f ýÒü|’|°Yƒ÷þ¸§9O3ñIü³¡¢!ä ?€ÂÒRÞËËXMíïÓ'*’É$žþÁX¡¼ü¿ ut$CBf<{VVVÖB§‹ó¼š§YKK¹ÐÐQQååͪªTGG2™èåe¬¯ÿÏÐIK—êÌ«SQ\Ü$%%jj*kañϳIÎÎê3f¨¼xQ™ŸßÄfsÔÕ©cÆÈñôópzzROžLŽ®ÈËk¤PH66Šüy îæîvÚvymú úSô¦äTåxÙyéËÿ}2M—¢ã/CiÉjyÙyUËÓÎhúè¿Öþ•\šœQžÑÒÑ¢,¥l¤hdLÿçÙÈqêãÂ6†½,|™]™M"’tåuítìð~¿~öë¼ÑóÞT¼iîhÔíi8SKV«k9¾½€á€ð÷’|4&“YQQÁ¿Ž¾¾ž·wÅœ9Ý÷0bGŽdž;—ä݈ÁàVó`À· @OþúKÒË‹ž››'ì@@/ôôô¯€ÈÀפIJ“&) ; €O <¿äAAþäAAþäAAþä`„¸óúÎÒ›K k …¯Jfå•„+;ïXuwÕ¶‡Ûî¼¾ÓÚÙÊS'³"óD̉/¿\uwÕ®¿v=ÍyÊáp¸+ Û­ ±hFôÒ›Kã‹ã±IF5céÍ¥þéþÂêS‘Z–ºôæÒ×e¯…ˆ °€ƒ³ƒ…ÿï#Dq]q|q|sG³°ù—ì¯@/›…—½ ºœpùºÇue)e¬ä‹€/B²C¸—òMóµÓ±;ëzV\D+ž[zUMUñÅñ5Í5ØdS{S|q¼–Íà­1»*{ÿÓý‹,Í7?xk³§”¥(eíýØ“õ­õñÅñ3 g j`ôä ¢úÖz5iµÙ£f)Ñ(4F5ãZâ5F5ãçg?ŸZp «SÝTmªl:Ý`º¶œ6U”š\š|5ájl~ìÙ—g¿²ÿJ¸ñ†9]yÝ›KoªÉ¨ Þ*Ûã‹ã'éL¼U ™ðÜð š$Ä$„²ö‘´'Áä ¢ÙF³ÝÍÝ 6é ë0Ûh¶ÃŸ1ù1xÓ OËSåñIG}G#E£m·EæEBþàOBLb‚æaGñi`T3 j <­<…Ÿ<ÈÀHó¦âÍ­”[¥õ¥t)º›¹›•º>‹ÃáD1¢BsB+˜búòú‹Ç,V’T¼`¤Å¥yJT¤U$Ä$HD^Â<`¦èMA±9l>-3ª?‡ýL¥ìŸ¹_ABa` ?ÁÙÁÁoƒÚ  ºžû2ª{‚÷¸š»ºš¹"„RËR‹øm¥ÕJk ëÉ72Ë3•$•~žý3B(¿&ß?Ý?§*§“Ý©#§ãfæfL7ænª°¶0 #àmå[6‡­+¯ënî®'¯÷ ãÁ¥øK!ßTßçùϱš·–ÝÂ>ÄÇ?z󨸮XŒ$f¦bæ1Æ?uÉ"‹E‡Â¹˜º,¶X̽j¬òB³…næn¿ÿ/<7!ä¨ïˆM¾­|{?ý~q}1‡ÃÑ’Õšg2Ï„nÒëéiÓ°ÜÜÑô&èuéë÷ï%Å$Ǫu3w“—Añß“=­ W×Rw=ézÚû4²yªÞTW3WüÊCò0¢DåEýûG«›ôKóÛ7cߊq+°É]Ovù¥ùq×ÿóåŸ!ëC4hݶ†=«Ê¶Z¶[í¶ ›ÃöIòilkt·pçS-ý}:Bh’v÷¸_¼Øò`‹Þ‰÷ŽfDû§û{Œñà®ÀÓÿ{\Þ\Õü@èJf%Bh4}4BèVÊ­ýO÷³8,¼©É7~™ý ~¾~#ùÆO¡?áÂsï$\¹·â^iCiVeB¨¤¾¤¤¾„{ÕÃ^N¸ŒO†å†]I¸rÁý‚¥šeO‘쟹¿¸¾øôóÓnfnÜ—Q®%]K,I<ät¨§ý°âö îŽd]Ñ(´3 Ïð©€Eh¤h„=ëu?ýþοvrTq)þÒ1çc.&.üwˆ…ŠEO;¹®¥ÎáO‡¦ö&¼ÍàìàKñ—î­¸§.£ÎgOòYVRÝ\=ÿê||©ìŒòŒgþÈ{lhmÀæòÙ!=íd„P«C”$ºvüÚÑôÑòTù†¶†W…¯n¿¾íë}ØépO{Ru]|uÑ@ÁààgéRôÌòÌ3/ÎÜL¹¹Áfƒª´*ÿ­`@þFG}GüÔLÙJ’JÞ±Þ÷3îëð­Q„ÃáÌ7™Ÿ—Ï2šµÑv#ŸÇ„Œn.½É]Ÿ>ꪢ±ÏCè’ô Z(¢”nk¶t´l¾¿¹¬¡ìšÇ5YŠ,Ï\6‡ýkø¯—â/¹›»ÿ4û'"üû`$óMõEp9ŸjÏ3™çtÉ)¿&Ÿÿ‚J’J÷=ïãÇ™-[ØöåE—±;¡©úSǨY}wuЛ Í¶›¯$\áp8{¦ïYeµ ¯°Úzu«*JÅ.®«Ë¨sw´¸óúBèМCøPB.&.+ï¬|Yø2,7lΨ9ÝF‚òãqêù)Ÿ$|£î¥Þë`uà«î–ÏžQ­yˆ’Dùï“(F‹Íšfð÷JEˆ"† †{gìÅ+¬²ZÕØÖˆ}æ³Cðú]7M–*ûdí“§ïžF1¢ª›ª±;áb$±ÄâD„šŒZ·{RuiËiû­ôò2]‡vÇÉØ“¯Ë^Cþ„Î?ÀˆÂó쬛¹›w¬÷ÛÊ·!I²¤§•ç½Ô{¢$Ñ šF)R•V#‰ñiMŠ,5 §Lד×kgµ—Ö—d ;˜RšrrþIžjmë}×gVd^Zt ÿ™çöÝ_ßeUd휺sý„õ*œóçWÔÖÚÍŸ?_BB8£¾€OTvU6BÃϳBb$±y£çýûÿgÍæ>¯M}ŸJ"NÄœ@q8â „:Y¡¼ê<„Púût²y…å îFHD•Híio+ßRD)øÓ>!à1ÆãeáˬŠ,<à‰!D£Ð\L\î¥Ý+¬-Ô’ÕbsØw^ß1P0˜¨=‘Ï×Ï“{ö.LABÁ\Ù›Ü`³á› o¶=Üæ¨ïh¬d¬+¯K$¥ÈRØ\AvH×M«bV-¹¹„çÙ$„ž–tKÀuá·tB¦Ê¦¡ÚæÚÞ6zø¨Ž‰‰±³³ƒ>#ä`Dáé¯L£ÐBøûÚ~˜þÃl£ÙOsžž;ÿ¶ê-Mœ¶ÜrùÚñk{:¢ Tÿ%I%¼—¶»¹»ÇM'oŸäUçqwûÐôaõÝÕ…µ…—]¶Ö°î¶2‰Œ*o,çp8pþt4KI):tèÈ‘# .\¶l™žž^ï €Pkg+MœÆSˆÖøS‘VážlnofqX/ ^t³ŠŽV„P«MF\†»CB¯Ú:Û¤ÉÒ<"ì‰Ê¶Î.œóD‚ñ´ò¼›z÷fòÍï§}‘QZ_Šu>æã#û?t²;£ó£?õ°“±ÓhúèGoÝO¿Ÿ]•ÝÖÙ6wôÜo&ƒýˆ²Cºnš÷sï’ú[-Ûy&óè’t1’@øî¯ïøç‚¬‹çQUQ¢(êmŒa&|Íš5ZZZË–-sss“’’v<àcAþF”ÌòLî—°ŽÈtI:^b­a³Ø¬™v>Þ)Jíi8¿êÿÀD$iÉj¥”¦”5”áùCI}‰çÏêæê«W»½ó€90ë€ošïµÄkõ­õ¿9ýF"ôáÇÄ’%¿Ÿ<ùµ¿¿ÿÍ›7}||ìíí¿üòK a†;%I¥üêüº–:îœ!½<½¯í¨H«´³ÚϹžëz’*G•Ã*dUd×w;˜B<)I*åVçV0+¸°Xlt):âËPÑÐVËÖ?Ýÿk‡¯}’|°;üùÈþ¯Š^1Û˜ÜwrB:r:øÕŸŒòŒ·WT1«°$„ÿéIjY*B»æqH b%ÍÍUÌ*qÑ¿ßÚížìߺ>5îý%uãÆãÇÿþûïóçÏ_»v­¶¶¶°£ýùQN¿8m©fi¦b†*­/=z!d¯cbT3ÂrÃ\Í\±ßK‘„=9_ßSþðñý.¼º`¯c?Ji6Éæ°Ÿ½{†½mZWN+Ìý»òÎÊ–Ž–k×ðÑ6ºE öÍØ'K‘õŽõnhm89ÿ$÷m0œÑh´µk×®^½:**êìÙ³®®®ŽŽŽ;wî„{€{ûܹßýõÝѹG%É’¡'oŸföµ™†3½c½ƒ³ƒ¿qø¿’ÝØÖ€]p™n0=«"Ë+ÐëØÜcºòº!6‡ýèÍ#CEÃQJ£¨¢T„PQ]Olï>¼ÛñhÇ —Xg­„â„sqçÐÿ¹üyZynòßtêù©çÏ7LØÐS—0ÜGöÏ '‹¹µ;yØÕÌ¿ˆC—¤‹’Dñ FüwHOk‘—aT3²+³±qk[jwýµ«µ³ÏºÝ“ý[×'ÇÀÀ`ÿþýÛ·o÷÷÷¿qㆯ¯ï’%K¶nÝ*'''ìÐ@@þFe)e×ë®ÚrÚb$±¼ê¼V‡±’±“±B¨¡­á·ˆßŽDQ–R¦KÑë[ëÕ „ŸSöïÿð8ëño¿ÉRdÕiêl6»´¡´®¥!´Øb1þ¾X¯@¯Jf¥ª´êoá¿q/+A–¸àv¡k›^v^4 í§g?­º»ê‚Ûì¬|ˆDâÔ©S§NuôèQ'''OOO///躵nºûé÷Ÿ½{6ñÔD]yÝšæš²†²ÑôÑo*ÞôµÐw¡·RnÝK½§-§-E–ªbV½o|Ïb³./ºŒZk½öqÖãô÷é³/ÎV—Q—¡Èä×ä3Û˜×<®!„täu(¢”ûé÷3Ê3°ç©n-»µ~Âú‡o>/xnÚ^W^—ÙÆÄ^¤ànán¨hØkHŽúŽ4³/Ï’ˆ¤å–Ë{­ÿ‘ýÂÞ…ÙjÙrg)W®ž;/G•Ó i´w¶¿ûð®“Ýé ë€Íå¿Cz2MZBq‚ËU#E#„P~M>E”¢&£†èÚížìߺ>Q’’’žžž+V¬ ½¥£ÅÅÄÅXÉ!$."þ½ã÷drNUvtB)J*Þ^v{¼ÆøÖÎÖ7oŠêŠÄEÄ7Ùnêµ'†H ®·!4Ã`F·}$PNUNI} þÚ8ÌwŽß*Ö4פ–¥fUf D—#s`sù¿z±ÅbâdUfeUf©Ê¨^^t™{$½n÷dÿÖõI#‰ , [¿~ýÅ‹g̘)ì @ßøß@pL&³¢¢‚}}=oïŠ9s˜ü«õCq]qYC™™ŠU”ZÁ¬(«/£KÑ»ŽmÇápÞ7¾¯dVÊRdÕdÔ†fTf³¨®¨Õ®(¡ˆßvÀ¥¾OÅR$" ïËÁ½ux…ܹÕÍÕÊRÊZ²Zƒ<øHüÿæ«««÷íÛ²zõê;vˆˆÀ=áOÒàÙ0yÕyÌv¦M‹F¡U1«5 ìQ̦ö¦Œò 55uu„P]K]vU¶–¬–²”r×v:XyÕy--ØmXü1}\sGsÞ‡<‘¤-§Í}´Ágµt¶p8î³U̪’ú11}y}î'*ùG‚ºœpù`ØÁÛËn÷4bÄ@9ûòìѨ£Ï·<çi®)®+¦ŠQÕdÔx¶Óíá¿iu-u…µ…ÒâÒ:r:¡ŒòŒ¶Î¶qêãxÚìº'_V¨-§Ýu‹†¡¿þ’ôò¢çææu;·ªªêСCnnn?üðÜŒ¢>=O ù0ÂÍžù›ðàÁ?ü`bbâíí­¤¤4d±G¶¾úÐôÁé’“´¸tè†ÐÁ^—»{{g{àê>÷‚þ€ ݳgF;uê”ÁŸõ)€ç—@ÈæÏŸïïïÿáÇE‹1 a‡À òO÷÷¸á1óÂÌêæêUÖ«†`;¦ì8>ïø¬ôÛŒ3>|H£Ñ.\.ìp@ï á344ôóóSPPX¼xñ›7}ë À'¤´¾4±$±¡µaºÁt1C°Fk kl\#0œÑéô›7o:;;oÞ¼ùîÝ»Âôžµ€aF£ùøølÚ´iÕªU·nÝÒ××vD ¼…f m´l”$•´eµ… ^DDD<¨¬¬¼gÏ‹µtéRaGzù  åìÙ³«W¯öôô €¾`äQ—QǺzÐ-///‘ü‘J¥ÎŸ?_Øá€îÁóK0ŒP(”óçÏS©Ô/¾ø¢½½]ØáÀPûüóÏ×­[÷ý÷ß''' ;Ð=È`x‘––>{öì»wïŽ;&ìX@¾ýö[{{ûÏ?ÿ¼ººZر€n@þÃŽžžÞž={®\¹’˜Øãk`¤"‰ÇŽß½{·°cÝ€ü†#77·É“'ïÝ»—Åb ;j’’’GŽ ôè‘°c¼ €ajïÞ½ùùù~~~„ÀÚÚÚÕÕõСC---ÂŽü ä0Lijj.Z´èÌ™3p ðß´mÛ¶†††;wî;ð/?Àðµ~ýúòòòÐÐPaB ¤¤´xñâK—.uvv ;ðxÿ!ŽD9w.hM±’ñG6UX[økø¯)¥)ÕÍզʦV=`sؾüó~úýÒúÒNvg€g€™ŠÙ€„-ˆwÜO¿Ÿðe‚,EvPWä—æw=éz^uE”b£i³}Êv-Y­A]#蕺ºúÔ©Sïܹ3{ölaÅœœ»páBuõa7lVVÖ›7oªªªh4Úøñãuu»yÍp{{{LLLnn.•Jµ±±100ú8û­¥£åXÔ±œòÆr‡“öMÚéç§¹uéïÓ\[àeçåeç%ì`‡©Á؇¥õ¥á¹áa¹a¯Š^u°:./º~üØÛÛ!daaùC¡¦¹&³"ÓRÍòO×?å©òXa4#!tséM+ +Ä·ORî‡Ü³/ÏŠ‘Ä~žýóg£>«m©ý%ì—쟞ýtyÑeaG÷_7uêT‘ÈÈÈ… öºâãã½½½'NœÈ?XZZzyy©©© öÚûäÝ»wyyyFFF4Á`DDDe»°ãú” Æ>T“V›m4{šÁ´à·ÁwSïP¤ GsæÌùå—_Z[[ÅÅÅù×üüóÏ•””†&ª®ž?Î`0´µµÕÔÔž?ÞmÿÓ§O“H¤y󿩍¨DGGgee­_¿þÙ³gøAê „¨T*…BñóóãÉ|}}555‹ŠŠoK!à_*™•!+ +ô÷ôÇ>„½ ÀfAOìíí[ZZÒÒÒÆÏ¿ææÍ›‡&¤n-^¼øË/¿ÔÕÕ î)8yò$öÿ™3g"„¾þúëuëÖÅÄÄܹs¿®!H„‰Drqqñññ©««£ÑhX!ƒÁHNNÞ¶mÛñãƒøÜä`¤¹‘|ãZâµÒúR%I%w ÷M¶›ð;ß}˜ÈÓ‘+Lþ*YZ\ÚùŠsVEBè|ÜùóqçyZÖ?¤¯1þÖ²[¡¦ö¦ ¯.}:v:^YY^WWgnn>qâDž ihhˆ-..533³¶¶î÷>ÑÓã=´±±‘‘‘ijjÂKÂÂÂB_|ñ–< „¬­­ííí£££'LÖW~~ö3öÔMjY*vðáÆ§¯‡ÃñKó»—v/»2›ÅaéÈéxŒñX6vöÈV4#zͽ5»§í«6öpÄáôòt²yªÞÔÝÓvÓ(4¼‘„â„Û¯o¿.}ý¾ñ½¤˜äXµ±m6ŽS‡ÍÅ1V2>}ìmå[q™å–Ë7ÙnB]Oºî“äSZ_ªNSßf¿í³QŸ Û€¤}†žšššŠŠJbb"–?$&&æää0™LuuukkkEEE¼&wÿ‡‡r?»ˆ›:uª™Ù?322RRR˜L&Nwpp——ﺈ€ºôxdgg—””˜ššb‰BˆD"}õÕW111¡¡¡Xn Hœ»»ûåË—===±___ÈÔ¹—çeýý¢™’ú’ãÑÇÕŒcÎÇ|Eõ­õ7<Þ}x‡M¶¡¶¸Â¸WE¯ŽÎ=êbâ‚W;w>èMö™Ía÷ºT^už»{CkV!2/òuÙkSeSþÁ$–$zÜðà_ÇÉØé—?zš[XW(FÓ–Õæ.¥4 !TX[È¿e0ŒŒŒ.\¸Àb±^¼xqîÜ9CCÃC‡•”” „Ö¬Ycgg÷ôéÓÀÀÀ+VpçXáªU«°ü[ÖÄÄäðáÃyyyXæããcllŒ ˆ‹‹Cáoœ?~<–?p÷èBÈÒÒòÚµkaaa;vìhooÇ —-[¶ÿ~<__ß_~ù…Édâ%ÖÖÖgΜ‘••E•••õú¦ CCC>ýÈSSSëëëíìþÉÆ³²²Bû/L/O?y¤ÕŽjéh È(©/¹½ì66·ŠYµäæ¼rmKmxnxT^Ô¥7¬5þIù^—½>~ˆÅaa:J!W5Uá_ÕŒ/¿Ô–ÓÆNÓŒ‡Ña#›ßøÅ  q[ãÚ;‚é_œ`°™˜˜äääÔÕÕ­Y³&-- /'“Éß~û-~VÍÝÿ!(((""¢kSJJJXþðáÇmÛ¶a×M0 eß¾}nnnØd@@@qq1ÿÀV¬XÄñöí[Ôå dffF¡P²³³¯ƒ300077÷óóÃò‹õàÁƒiÓ¦ v9ÈÀˆœüý´ïçÏ%‹£ÑûC÷fºš¹NÔîå’&huPVe–óeç6¹ŸŽu½æÊ¨a¤lKÁKEz÷áÝ,£Y›l6é+è·u¶ÅÄî Ùw ôÀLÙQ wûöí£P(Ë–-#‘HOžpà@`` ©©é˜1cjkkƒ‚‚nݺåáá%'Ïž=Ûµk‰Dš:uªžž^{{ûóç϶oߎRVV†uøãÃÉɉ'HOOˆˆhoo/,, §Óé?üð>·ªªJFFFBB‚{l£ªªªú´ß†Þžé{öLß3öøX]9]üiôÿ{›=-˜˜h¤h´cê  ²9£<ãÀ³wSﺙ»Uûû¯åaæÃ¥c—®¿–.EÏ,ÏÜöp[BqBVE–1Ý!D ìtìVŽ[9š>ZAB¡¾µ>¾(~Çãg_žåÎg=^m½z•Õ*9ª\#ê«À¯¼c½Ùö¯s~¦?H þùòÏKñ—.Ç_>2÷ˆà±}*û 1 ¤¤¤«W¯¦¥¥ÑétGGG™ÒÒÒøøø¤¤¤n{49;;sßg@ùùù©©©¹¸¸ „X,ÖúõëÓÓÓÕÕÕíííedd Ÿ={öý÷ßëëë3!€ÝŒåÃÉÉIðü¡²²!ÄÝÁ !D$UUUóòòÚÛÛÅÄÄ©Ã=ËÍÍmïÞ½oÞ¼=ztDDDUUžÿ ÈÀˆ²Úzõë5ØgçÑÎlû› o‚³ƒÌÔÎjÊ 2P085ÿvÎM¥Ì5ž[ßZ¿/d_Bq>ßë5x<½.e¥a“£*­zjþ)²!dB79ëzÖñœc]KŸx¬Ô­r¿ËåS¡8΀· úGEE!T^^ŽM*++ß¾}›ç´X@ššš×®]Ãú nß¾ÝÉÉ)))‰ÉdJJJ.X° ¬¬ ˬ¬¬ø·£§§wõêUìglÍš5Ó§O÷õõýâ‹/¶mÛ†U?~ü®]»"""°üáèÑ£ åöíÛ¦¦ßOãp8[¶l ÉËËÓÓÓSUUõòêeôLCCCž’ôôt<ëPVVþý÷ß¹Ÿkjkk“’’âY»ÓÚÚÊ]Ÿ(¿t?‘teñ%É¿»ZkXw>>ûâìgïžáç¾v:vfÀ>S·ÁfÃO|[õË$¾uøö\ܹ=Á{ª›ª±; ¡ìª]ûœ¬;y÷´ÝØçÙF³§LÇ®˜¸›»c…;¦ì¸—z/·:·O±ñÈÞÁ{Áu°õ/N0ØTUU?~\SSƒºÿ>NÇÊÛÛÛ333»]dÞ¼=|{êÔ)%%¥‹/b÷iŸ>}šžžîìì|ôèQ¼7Tzzº››Û•+Wþøã„Ђ z=öéJ[[úÿQˆv,mmm¤w¹³³óÁƒýüüöîÝëë뫤¤4yòd¬‘ÁùQìuì¹'±óø§¸®¸µ³5·:wÔ‘Q!‡ÃAôÿ2¼æ$íI‚/URWÂb³¬5¬±ä#-.=VmlDn7w`$Y²¡µÃápß‚hhk@I‘yO¿ÀУR©¡ææflrýúõýKB7nÄ08q"ƒÁ¨¬¬”””ìS;ëÖ­ÃÃÔÕÕµ´´òóó7mÚ„WÀž.--EUVVæææjjjFEEEEEq8ìÏû{ËÈÈ0èÊÌÌÌËË«½½½´´4""bÙ²eß}÷ÝÚµk±¹d2¹ë(VÒë(.Ÿ¨wUïXl–ý{Ä÷Ðd£iý”M!ÔÔþwבäÒäe·–u°:xoíüWÒ5^ã_=YU¥UBÖêÿÜ  It):>Ω€± ݧç„„DssóÌ™3oݺuùòåE‹éêê111AnÃ^¼xñÙ³g>>>øÁëßL¥RÏÞó4 IDATž=‹}¿Ø¡IZZ:==«³`Á‚Ý ,+èz\ÂûÄŽK‚Ôá&%%5sæÌ‡®[·.22rݺuC08ä`$# úÿ9 þÍas×áùEÖ‡ÃÁ/ËqãþÑ•¥Êöc©¾úøþZ4­Ô÷©µÜo{x[ù!¯°«e---ؤ¶¶v¿›Âneà°ŸÒ~¼Ø•§ …"--Í3° úÿe~ì’aQQQ·ýùQû?˜™™áÏ'TWW»ºº>|ØÙÙÀQQQ±¨¨¨©©‰;ÝÂRÁ7ö‚gºí0À}á¾Hþ¨Äo9ž}y¶ƒÕáeç5ßt>]’.F#3/̬i®á^Š·¡Û–ñìŒÇÐ÷è_œ`°Q(”––;;»Û·o_»vmñâÅmmm¦¦¦3fÌX²dI·ï_Ãùøøõᛇ_Ú}‰•´u¶¿ &Ü;aÁÎÂñHÞC7vEª©©‰ûgŒççGˆdddBúúúsæÌé:Kú×ÿ›¼¼¼­­­¯¯oNNölll\TTôêÕ+GGG¼ÖG{ªjäÑ“×ˬÈ|±åÅÇÜ9,®+VPà~sQ]QAM´¸´ÐcŸJœÿ5---Ø1ÐÚÚº­²²2>>þ×_ ¾sç‘HìvÁ»wïÞ¼yóÖ­[øXs츴lÙ²®.á×ø¼ÿèQ£B¯^½â.LOOoiiÁ/…R‡ÇĉÕÔÔRRR,--uuu æc@þF”+ W%ÅDÄ¢Ñ?=û !4Ûèï„ÐÁ°ƒ?;¨&£Æ¨f‰úÂ… øã,yñ=º¸¸8%%…N§+))888|tÿ$ÞÿÀ‡·ÿSVVöúõë¶¶6}}ýÉ“'÷™®síÚµîînÞUïxõôôœ?^CCcéÒ¥Bßç°þ@þ äô6(?óÛ·oçr¹gÏž¬¨Àà‚o6ú3(ùCGG‡ÝüÍCáƒò‡¾çª&Ølvbbâ‡>gF lУ½½½¨ü†µ¤¤¤¦¦¦©S§Š:ÈÈHGGÇ>'9‘€ü†µ'Ož˜™™¾¿*Œ8L&óÅ‹¼3©€ÈAþÃÁ 7ož¨Ѹ{÷.›Íž3gލƒü†¯;wîp8œåË—‹:‹åëëëéé)ü3žÁ'ù SL&óúõëžžžž< #Ø;wêëë×­['ê@À?@þÔOggçÆEˆ@}}ýÉ“'7nܨ¥¥%êXÀ?@þÃQ~~¾¯¯ï®]»TTTD |j\.{°ô¶mÛD àGuøuttìܹӯÆfÙ²e¢ŽDàÒ¥K¯^½ºuë–„„„¨cü €á…Ëå~ÿý÷õõõ—.]"¡—0’1™L …ÂW{òäɽ{÷:::Š$* ä`${Zð4·>w£ÓFŠ!”V•[»Èj‘޼ލCû $Ñ’Êð³7ü½.{Z™ºÜv¹ªŒª¨c–¯¯ï‚ øÖùã??~ìçç§£?¨Õ¶ÕÆ”ÄÔ¶Õrw븭I´$ÞŸózF}@z€“ž““žÓÀÛܽ —“Q‘X‘ØÍîžo9__Q¿Ïj©•©™5™.ÇRÝr¬ÞX"¡l\@ff³_ªBH[^{±Õb¾4DæG"„ìuì] \íØ¾0iiiÿùÏÂÂÂÄÄÄðÂÔÔÔmÛ¶ÍŸ?íÚµ¢ ùÉž>½—uo•ýª¿ò‡Ê4ŸX'=§¡Ë’iÉñåñÖZrŸýd¯sqç*›+½]½EÒúGœÉ¸²¸‹ §›Nÿ\òÿŸ~ú©¶¶vïÞ½xáùóçÿøãŸ~úÉÉiX_ÀO#™–¼>p=³‡‰½Ýà´ïç¼®­Î'ÖÇÛÕ{P®øwoCäðÓÃrÑ;èØ[[-ÛÞù³‡¹íþ¶è’h¼ÄQ×ñââ‹r’rÂ×iélñ‰õAI%¦™L“—”çmâbÂÅ9B›7Cþðqrss×­[×ÞÞ°jÕ*¬0--mýúõcÇŽ=zô¨hÃ@Ï8ø‚ŒÑãíê­-¯=tM$Ñ’|b}ª[«‡®‰O£½»=±"q uЍ1g²?aaa‡BùùùÕÖÖb…gÏž=yòäáÇ—.]*ÊàÀ°áëÃìaÎ5k»ËvoWo1¢ØxƒñÞ®Þ*RC2«^]V}˜'¡ˆ¼ˆff³­–­¹ºyu>9]­@QX9fåZ‡µj2jÉ´äÝvh„®‚n«ëÏÜ?y ÛºÚç?ÖSÐÄãúÒ”••­Zµª«« !túôi&“‰zþüùÚµk]\\Ο?/...êA¿ ÿ|AÆh£=FÔQ|bJczØ=ÓL§‰:‘)66v×®]Øk.—{æÌ™ìÛ·ïáÇGާÅ\qc1U…ê³À/q1pº»Ýj2j¢êrÞ¡‡u•¥”=9”[—Û»BeKehv¨¬„lèÚP¬·yëø­s¯Í}Vø,·>×\Í\È:3U39 ¹ Œ v+ð°·a¬ÎÅÖ‹OEŸò‰êêêV®\É`0X,B¨­­íúõë¡S§N-Y²äðáÃd2\ kðßF”œºœ¤Š$.â:è8XkZómå›ÿ€——“”{Qü¢Œ^6Zc´«¡+B¨µ³5¶,–ÖL#‰YiX9êòÏßbt1^—½®h® ˆQ,Õ-í´íB÷³ïÇ—Ç#„‚3ƒãÊâÐ?GÍVµTŕǽk'/)ï¤çd¬lŒï­ÏHXVfMæë%šrš¼Mc{f›ÏæÝà{^ø\^RÞ^Ç{ÛÌlŽ.‰®cÔI‹K›¨˜8è8„÷žþ ;É¡7Uoòò›˜MªÒªãôÇá]C‚ÏdmáºÙÝQEQeô2i•i&Ó( CrŽ>Ö›7o6oÞÌáp¸\.BˆÅb^¾|yâĉ¢ Ñ%ÑéÕéÍÌf"`£hx žçÃæ²ãËâóòY–¡’á$£Iä¿W°éa÷Ä”ÆT4Wp¹\}Eýñã%É’Ø&¾ùçãÏ÷°{zï•ý*EŠ¢0m w3wÁ¢Š¢8\ÎR›¥øPUe)å5k~{ùÛÓ‚§Xn Lœ‡µÇᧇóêóF©ÂJ‚3ƒÍÕÌùª!555­X±¢±±KBl6ûܹs$é‡~À2á ò0Bp¸œ¤à%¼÷Š0|ó°aĦª¦Ç£ŽW¶T"„Ö;®w5t Êú)ê'Fÿ £®ã¹Eçð¿—A™AÇžkëjÃ+8è8Ü^qû~öý„ò„Ppf0V>Vw,vÕ{âՉˉ—Ù6VN –X/92ó™Hî/7ª6taÛÞ£8u¬Œ^¶ÁiCŸç¡ºµo½?¦ª¦‚ÿs¸œ—Å/'O"H¡€ô€£ÏŽv²:ñ £ÔF]_v]EZEð !ˆý䜺œw–4–à!ˆ[ÇmÝ9q'BHÀ™Ð~¾yðMqc1öV¢pÓó¦€qŸX^^ÞÚµk{zz°äC$ BPP±ñæ„àó]}=å:B¨ŽQ×;0Ï'£:ãÿüöë†Ñ”Ó<¿èühÑØÖ-÷¶40ð­*Ò*§çŸÆ¾ùçâÎáS/x͵˜‹} n«OÄþÁEÜþ¶"„¤Ä¤úû~Ö)Á7 ËYÏ!”WŸ'|Ü<Ëy?Gý’²oê>„PACAfMæéä‹Á`¬^½ºªªª§ç©iOOÏòåË!yø\@þFˆë)×ÒHDÒt“éº ºÅÅ·ÓoãWüx|@Œ(¶Ôf©†¬†¶Ý³Âg{#ö’$7ª›±²q7«ûuÙëdZòw~weÉ„PD^ÄÞð½!kMk+ +‘”]›R™ÂEÜ…£r¸œ„ò|Ö/vCýVÚ­ ñÂêceãʖʧO3•¤”vMÚÕ_$ãôÇ™©še}3áü~^VMVVMÖ:ÇuRbR}NukuïK >³Íg ÎÒªÒš˜MØäfóÇg?v±º&M2U5íbu¼+H¬H¤wбüAÀ éïÐB¥ôÒò¦r#e#iqézF}LiÌÙ¸³ŽºŽ®†®ýIaÚÚ¹ŸD yÚzJ‰IE—F½+:üôpÀÊ4 ”••­\¹²³³“Ãáð–³X¬ÔÔÔîînQ†¡‰Få$å.Ä_P¤(.³ýû1 XŸ^Ÿªj©Z¸®µ³ÕFËÆFÓFœ,ž]›Pž°1xãÓOe$dŽ¿8ÞÀh0W3wÖw&ÉeMe±¥± }Îyø×øñö?t±º|“}WÙ¯2T2¦­>#<w¿“Ò'i•æ í !¾¥°ïzF½ðupò’òÓM§‡f‡îqÛC&’ƒ2ƒÄHbó,æ¥U¥ $Î/Pggç×_]XXˆ÷<àX,–¿¿ÿÆUU?0¾p?€âjâU"xcÙ g}g¬äqþãm÷ßÿÐJ Y;+îH‹Kcoݯ¸SÄ(wVÜÁïŸq¹Üí¡Ûç?.n,6V6þï«ÿ"„Ï<ÌÛ¿‘R™BDÄ…£V·VcW½:øÖ ñBgža:+ɨÉXvsÙõäëÛÆoÃWGå‹!´Úaõ¾ˆ}áyá G/ÄJn¥Ý"ˆ«íW÷w8ZrZï¾lªj*¸BTQ‰@šd4 !ÔÞÝÞÅêZj³ôØWÇð  ø½O'ÛûÐFkŒ~¶éYm[mn}nkg«Ž¼Î “þoüŸ=Çò‡>Ϥ0mé)èÝð¼ÇøŽýÝìk³S«R]Œþ®f>™ÚÚÚ+V0 6»‹'‰tâĉ«W¯~úÀÀð4ÑhâD£‰¾É¾²¼¿Ô]¬.ùÃ¥„K­­‡g^1æïß‘ë)×>;úðíC/;/zÝPÉðÁºx—½ƒŽ¯eÄg븭øëvÏ–-Km–î²WȶúÜçöñÛßÛÿ `«0ºX]!¾aTØÛ.v—ðuxyX{<Ê}ô¼ðùê”ÐìÐa80røc±XÛ¶mKOOïó;!Äf³ÏŸ?àtì| #AUKU£ÎÕÐOB3ÍfZiZeÕd þìF§øum=£¾è]‘ž‚Þ«’W¯J^q¹\l BÙµÙÒâÒeMeÖšÖ|ƒ£x¯qùT·V×¶ÕÚëØãÉBÈFÓf–ù¬‡9³k³ñɼ‘`æ[Îÿíåo·RoaùC3³ùQî£)Ô)º ºý5'Lþð^Ï ŸÕ++!‹R‘V±×±O¬HŒ*Š«;» Ç3Ú¶ZaNHïC#H›C64ð5ý®ý]Q ÙÖfçÍø`n1’Øxýñ%%õŒzÑæ^^^t:½÷]7 ‹ÅzõêUZZÚ˜10Å|¼¸ò8Dï Ÿ;‹ƒµ÷´#„²j²ši6óZÒµÀŒÀ)Ô)j2j!%)%%)%Á»esÙÞ¼ÕeÕN?(|[}Úáºcpµ¥¬¤% $ áëðr1pÑ”Ó Î æ"n³i‰õ’¡‰}Äâp8»víŠí/y@±X¬Û·o¯_¿}3üAþF‚Ö®V„Pï§:èÈë¼70P4À_c7á*š+ú\R£­«­©£ !„õÝ ©…Ù‚ê}Å-ü×ÒÙÒg$I²ä2›e.æÔåXª[gw²:×:¬ÐÜÀç?T4W7{Úzâ%¾Ë|¯&^=}ªð]¡†¬†“ž“——– BHÈÒûÐv?Ú]ÐP`¬lì ã $¥$Fëfw_ˆ¿À;+€mñM7Çò§ï«öOƒÉl]µjUuuuÉ™L&===ÿýïýýý?qx`$¡wÐÙ\öéØÓ½7a³†¾™ðž‚^hNèÑgG¥Ä¥ì´ìæž?kÔ,ûdsØ;î”—>ê~”wá„÷¶Õ§O0ÿAUZ!TÝZOwFUµT!„ðŽSaêð"ˆ G/¼˜p±±½Q]F_éСCááá|C7Ï·BˆH$ª©©EGG{yõÝy†ÈÀH '!‡âÇé]Ò™ô÷oöx ª µÏ¿¦VVŠRŠ¡Rz©ð±ÉSäB´f_yEsÞbïHp+Ǭ¼’xåVÚ­cîÇn¿¹mªjÊÛÇÒÛÀç?Áül½¾'Ø$T$ „ð“„©ÃÇÃÚã|üṷ̀̚ã¶öù(kп}·oßF‘ÉdüÛOQQÑÐÐÐÔÔûö300ÐÓÓã} 5Î #¶¼¶ºŒz\Y\bE"> ðqþã÷v>ðÑ”Ó4P4h`4¸›¹óNàr¹±e±£5F“ˆ$EƒÌšÌ€ôÞ;ô©•©c´Ç¬ã›·WAKNKCV#µ2õyÑó©Ô¿.ʳj²"ò"$É’V)ÁCša6#,'lœÞ¸Šæ ÞI}øü‡çEÏ©*Tü¹HõŒúÚ¶Zl1\q’¸•¦•EánÆÝûÙ÷'OÖÕ|Búl‚@ I1I‘ø¢èÅD£‰$"‰H )(ÜL½’ÒgþÀår÷Gîoïn?³ð þÛ*|[}úó¦P§üøìÇ Ì Uö«°~éÆŽÆ)7BÓM§ _‡ž‚Þiš˜MÖŒð‹u¡ –––¦¦¦ØWö/…BuhàãAþFˆ¯¾>öüØê€ÕøúK/Š_(I)õ7/°?{Üöüëþ¿æùΧ?ÎXÙX‚,QÙR™QQÙR™³+‡D$ý{Ò¿½C½÷GîÊ Â–ÊªÉJ«JËß“OB$}E}„бçÇRh)1 öÔ‚-ã¶zrhKÈ7c7ce㪖ª'OXÖzçõøäiÖ8¬‰È‹Ø¹O¢0ÏržàÊœÿÐÚÙš\‘Ì{󯺵ÚÃÏÃLÕÌBÝB]V½¥³ë Ào|BúlEJLÊTÅ4±"qéÍ¥ºm]mÑ%Ñ|‘û<“Ñ–hegg#´ÈÛ{“——†ŠÊ<0^[ÇoÌü6ì[ßd_MYIÙFCÁ»‚¬š¬kK¯iËko»¿M‘¢8FgŒ®‚n»'¡"¡²¥’w ¯ÃO?Ìy¸ÖqíÙ×gy˱ç?¼·­>÷9ðùóç7ä#„2k2Br¤W§#„fš…õ{èÈë,½ð^Ö½×Ì1Ÿ#F{”û¨žQ?ÍdÞ· LÞVÙÃê¢ÌÙÙ+4ôðƒÅ¢ &ÈÀ±ÖamIcI@z@d~$VâeçÕÉê¼—uïƒö3Ýtúɹ'?=SSƒ ÄIF“°A8³FÍjžÙ|<êxFuFFuVÁQ×›c=Ñh"U…Zô®èrâeô¿§¬³²¶­örâ娢¨¨¢(ô¿ç?`Ï:x/KuËœºœ5kð™ÁC$º4šÍeóvè«É¨ÙhÙdTg`°1ŽºŽ;\þº|Búó£û›‚7¥U¥a *K)Ÿžzå•x…>Ïäǵ%B¶¶¶S©u**Œ÷×`Àtäun.¿ùmطٵÙÙµÙx¹¹š9vA?…:åiÁÓˆ¼ÞôÙ±™WŸw+íúß r¼f›ÏV¤(¾·­!ò¤àɃœø[üµ©ª)>nêðŒÃ Œ†˜ÒìB:¿Îþ•w?ÂÔ'% U@?€‚H u?ºÜnybE"—˵ױ·Õ²}ZðTG^¿æ£3ÆÛÕÿÃ6Þ`¼YBEŠÿ®ð\‹¹ÓM§Ç•Å•ÒK9\ŽŽ¼Ž­–-ï¬\/;¯9æsbJchÍ4Y ÙÑš£m4m°Md‰ûkî¿,~YÞTÞÍîÆÛÚ5i—§­g\Ù_ÏŸvÖwæ}zt‘à,Ô-òêóVŽYÙ_…Áò¼G̰· IDATð¹"E‘÷‰ÎZrZ!«CŠÞeÕfÕµÕ)I)YiZñÝŸpBú;´1ÚcžnzúªøUm[­–œÖê ²„·«7þç¿¿3ù¡ma…ÊÒʃw’øt6;oæ[‰ïç\]VÜÆBÝ"üëð´ª´ìÚlfSCVÃLÕ „â™…g )•)´f𔏔¡’á8ýqøh~Þ½)K)÷×™‰‡$¸­!2ÃtÖ?ɇªü÷¤ ŠÅw™oJeJfM&‡Ã±Ô°tÒsâ›´ðÞ:ò’òÞ®ÞFÊFýEb¨dèíêm¯c?‡Àç„ `µ>ƒÁ¨««\‡J5öñ©›5 îÅ~€êÖê—f¸¸\ô¸8¤ ±¹ì±§ÇN5™ wàüÌ à€þ„‡Ëx{«Áø¥áÎØØøý•þú¾B²BJKå>êduzòõìš™ÍkÖð^àùÃWHfH- !4…:{ô0\ùÃ×bëÅã Æ+ó>»@„ `øZlµXÔ!ü<@ ,È‚ü ,È‚ü ,È‚ü ,xþ9zØ=þoüSh)MÌ&C%ãîG>9XÝZ}Ùã2VáQî#ÿ4ÿ¦ÿ`®f.ÚP‡­¡8‡l.;µ2õyá󜺇sÃó†IlÈŽ€‘£¤±däþÅÖ‹ò(˜è’è ñ¾™øÍXݱƒ[oÕ¿¼øeµÃjw3÷!m¨O QEQ  ݬî=n{l´lø*Ô´ÖDäGäÕçÕ3ê)Š: ­J‰IñU+o*Ê *£—±¹l=½EV‹ÌTÍ>ÕAðÙ€üŒ{Â÷<Ìyˆ½nïnGe×d—ÐKð 5­5I´¤ÖÎVÑÄ÷9ôsXÝZ=÷Úܖμ„Ãå ^¼ŒdíÝíI´$g}ç줡½!‰–Dï VT¡ü†üÃO/µYº`ô¼°¥³%‰–4Ýtú 6$¤ù¾ósêrx#á«p#åÆÑçG¹\.^ö6ìRâ%?O?}E}¼Ð/Õï§g?±¹l¼Ä7Ùw‡ËŽ®;†,v>K?€¢£§ãaÎCyÝn»•¥”¥Å¥BGÜ0{˜¢í³1çÙÃdt3u§R§ÞL»YÕR5xñ0Â)ù{ùkËk‹:~m]mI´$CQò—úöz“©&Sóêó^¿ì]¡±£QSVó«Q_™¨˜¨Ê¨–4–\I¼RÕRõ}ø÷wVÜÁêÔ´Ö`ÉÃb«ÅSM¦’ˆ¤ØÒØ[i·|^ûÌ0›½ð‚üŒØ…é Ó³FÍ -Õ-EÑçg(Ρ¶¼v’w’¼¤óòÌdZr{w;v¯$¥2…ÍeO7þËì_°jS©S{Ø=鉉?À ò0ì ß›[Ÿ‹ŠÈÈ®ÍæÝ$-!ÝïS|y|d~$­™F&’­4¬–Û-W‘VÁ6¤<Ìyøó¬ŸYÖÍÔ›åMå*Ò*‹­ó '¨m« ÍÍoÈob6©J«º¸ÌµœK"øvÒÑÓqûÍíª–*Eƒõc×ëÈë „ž<‰È‹hf6[kZopÚ +!+dlƒnˆÎ¡$YR’,9D10²õ9ÿ!‰–ôçÛ?iÍ4q’¸•¦•§­'ß×Bd~dd^dkW«‰ŠÉ‡5}î¹”^’RÐPÀâ° • =¬<ÌÕÿšÑ„Oc£=Æ/Õ/·.WJ\jšÉ´yó°ëïÐìЫIWBAA¯K_cŸº½â6¾óff³_ª_fM¦YÂÍØm±ÕbüÂ}ˆ`ɃŠE¾y#%£Üú\|D%EŒ‚â΄2P4@QÈ”Á €‘ò0d×eçÖå"„jZkjZkx7ñ]‘óâp9{í¹Ÿ}/‰*Šº‘zã†ç ì¦;­™–DKŠ*Š:}Úê3ßç«Q_ao£K¢7odsþ/{?û~PfÐ Ïd"ßÉãüǧbNõ°{BÑ(:üä0>Ê?º$úVÚ­ŸÜò°ö@ÿ›Æ`¥iuäé‘zF=V'"/âYá3Ÿù>¡ªµ »×PÙRYÙRÉ·óÆŽÆ×àåóg×fšqHÀa®º³Š÷+´7ŠÂ¹EçTøm]måMåÖšÖø÷ÛXݱò’òa9a^v^z z¡:F]`f $Yr¢ñÄÁm€Ïä`$8æ~,·>÷?ÿ™k1—÷åÇð¿½]J¸t?û¾®‚î »ÆÊÆÝìîØ²Ø»éww>ܹ!’Høkuã__þ:…:ÅÝÌ]Z\úYá³ÀŒÀß^þ†ç­]­ºòº‹¬)ɈËÔ1êÂsÃ_•¼zó€÷–ᩘSîfî3Lg ÄÛon¿.{½õÞÖ¢wE[ÇmµÓ¶£wÐÿxýÇ›ª7/Š^¸QÝ„6"Yð‰R•QÉ9 Ü“‚'×’¯‘‰ä5kÆêmël Î N(OØ~û‹-/$Èáyá!Y!1ÊzÇõ6Z6ôº_ªß•Ä+¼;I«J;ô䔸”——¦8I<»6Û7Å÷‡Ç?8ë;cý¢¡)7 • ¿™ðª´jN]ÎåÄËyÁFÁK¬—,°\ +!{äé‘%6KX.à òJâ“c_S—UÏ©Í9wÎÿÿ&çMZrZýW-Ipþ0ý®‡žêbw}?å{¼DNRîÂâ ߆};ýâtS5S"½+’“”ûcÁê2ꃟ5ÈÀH`¥iE&‘BZrZ¼Ã…eÄeêQß×¾\.÷Zò5UÕе¡Øè|„ÐL³™ò’òâ/¤W§ã÷óX.øyÖÏØë)Ô)eô²$ZRcG£²”2Bh’Ñ$[-ÛÐìа·a­­l»‡ÓƒJ¡¥ðæÖ?Îü{=Áh‚³sVMÖ™…gð…ÕdÔÖ®O¯Nw£º /3U3/Á' ‹ùÓŸCÀÀ¤ „ŽÏ:ޝz4ßrþê€ÕñåñÏ‹žÏ5+(#!ôûüß§R§bæYΛ}uv)½ßɵ¤k.çÚÒkø¯§ÕÍVÛvÝÝuaoöŽÛŠªÊ¨Þ[sÒãFusÐqXygåÝô»K¬—hËk[¨[ „täuzOÏ0P2^,A–@M2šÔÃéù#öôêtùÃÍå7yWFêmÐW|>ñêăœû§íç[ÓVWAw’ñ¤»éw±ÎX„‹‹’Áà¶ÀùøBU¶TÒ;èJRJ;Bw „¸\.qBØ*‡ÅïŠñ?®ó,çñ~ÐRÃ2‰–ÔÌlÆ®Å3ª3¶„léduòí¿­«÷íìQ³ñ×RbRzŠzÅż ŽR…ªm«ý ØxÉJÈ~â©–'àãäÕçQÄ(ó-çã%ÁÓÖ3¾<>·.wÖ¨Yù ù €s uŠ¥ºå–-.þ:û×ÀˆùøBiÈjkMëÝ“w÷Þ*d‡u3³¹¢¹bšÉ4|€B¨Ï?ÌŸ ¶ÎøƒrBR“Q+j,ªcÔñÇϪÍB©ËªcJK›™Í¼9V§)§ÙÍø"‰HBÿ¤$¥„¿Î©ÍáÝÔÞÝ^ÒX‚/sD@„àAGÂû4ó:YÞ¡ÞQEQ¦Xm¿ºwZ3 !Ä×Ï`¤d„*o*xŒ$?€/”Ea¬îØZJ)½t±Õb||meKe@z€½Ž½0;ÁúJé¥--Ø]·Âw…ŸIlœÿðÉâ|œ † ßîþs÷ïóÇ$M¦%_L¸ˆmÂþ-zWô}ø÷'朑AEäE<ÈyÀ»“¦3|b}"ó#¿ô-ÞWÐÖÕv?û¾ƒŽ^íiáÓ¬l³‡¹/b_GOÇl‹¿ÆaJ‰I!„*š+å¸>ÁüFccðƔʔÃ3¯³¢Ï:Ø sqçNÍ;…%`Œ.6Ð ŸVÀ@þ¾\§\vkÙþÈý?Gý¬§¨'N¯j­z×þ!´Ãe¶úª`b$±‰Æ_½p=ëjªjÚÖÕVF/³Ô„uK?"¶O?ÿAÈ8·ßߎ͈À–t\{w-vóò¢ÇE+ÃøltÚøðíÃ×e¯'œ`¤lÄèbÐZh\.w‰ÍSUS„Ч ÷²î=+|6þÌx#e#z½ºµÚBÝâmÝ[|'œ6<-|zûÍíÀŒ@%Y ÙFCM[ ›Ã¾¶ôï•aÍÕÌ÷<ÚsòÕI5YµRz)£‹!%&…Ï®6T6¤ˆQîeÝË®ÍÆFLñ>ÿáC |þù¸s±¥±¡²¦2„Ð//~¹!ôÍÄo°ÿ7ú¿É´d ™G¹å>âýìϳ~ÆžùàiëyûÍí˜Ò—³.FJF$"©¸±˜ÙÃ$H«úè¯àKùør™ªš†¬9u,º$_mÃ@Ñ`©ÍRáowu?ú̓o’iÉÕ¡‰FÏ8ìvÁm8Äö 盪7uŒ:ü#É´dì6Ù $UÕ;+îì‹Ø—DKÂRŠeÚwbÔeÔý–ûí ÛUø®0»6›L$¯s\gªbº7b/¾)1©;^w~{õÛ½¬{EBŠÂ˼÷>Ž^8…:åRÂ%ì—×@Ñà·9¿aOE@I’%ÿ3å?GŸ-h(ø4Ç.Xqc1ïèM|ž7vçýoj£‹Ñ{gGOöÂHÙÈo¹ß‘§G²k³±\ „¨*ÔýS÷ÛhÚ iü|vƒ5~ƒQWW'¸•jìãS7kcÐ[ïèéȪÉÒ’ÓÒUÐÅ sêr˜=L¼S¾¦µ¦¢¹Â\Íœoj ö !—£#¯Ã;˜ÖL«n­¶Ò´Â:ëy ­5­y'©i­©cÔiÉi©É¨±9ì”Ê%)%“þv’]›ÝÅêâáÃâ°R+SU¤UøFßöÛPŠsˆzSõ¦›ÝÝ»9{{a:y>wC÷3†!ú_nïnÏ®Í֖׿?ÓÀh¨l©'‹S•©¼‹áŠ‹Ý }}ŠB£¡„^b¢bÂ÷‹ÙÃîÁî¯kÈj¨ËªãOk‰.‰^¸›aÜÚÙZJ/•—¢*S{?Cº£§£ø]1“Åär¹NzNÍÌæü†|}E} Y ¼Vh d0¤P(n,ƺ=ùàG]ÒXÒÐÞÐçgù¾œB Œ†ªÖ*.—«)§É{,àㄇËx{«¿¿*)cãXd ò0hD›?0<ÁÏü—`$ý/óæ¢ŽŒ?|.>(€§Ã„ù@X#ð1„d­iíïå-I}‚üQ (|ú• Ÿ¿äaAþäaAþäaAþä`ä¨l©Üzo«ãiGêqê‚ë B‹o,¶;e‡W¸’x…zœšX‘8(Í îÞ†HN]ŽO¬Ï‚ë ¨Ç©ÔãÔ.VWŸÕ‚3ƒçùγë„d…p¸œÍã6/²Z„¢ˆQNÎ=éVåSSÛV«!«!dŒ£®c~C~pfð|Ë¿û=‚³‚ÇêŽÕUк#ôÖÀh0R62V6u ²&{ñ¼ð¹h#à #Á\ß¹¹u¹¡K —.%\âÝ$+!+  ¢½»ýrâ刼ˆÊ–J2‘l¥iµÅy‹«¡+¶µ‰Ùt)áÒÓ‚§uŒ:iqiª u嘕3Mg„ЕÄ+Ç_÷÷òwÒsʪÉZxcaïý«H«$ìH¦-QIªHBͳ˜‡—H%¾õÕ”IIó,ç Y·Øjñ©˜S•-•:ò:¡ÔÊÔ’Æ’­ã¶æÕç}š#`Ĉ.‰^¸~ßÔ}vÚv¿¾ø5«6K‚,áfì¶oê>Š_K ËSѧrjsŒ”t°‘KÕÔãü}aëÃúë‚àr¹Á™Á™ùõùl.ÛPÉÐÓÖs…Ý ìKÍaû¿ñÉ ¡µÐ¸\®¾¢þ<ËyËm—SÄ(CxÃäàËÕÒÙây˳ð]!ö¶ u%”'$V$ž˜s»}þuà×ø„ fó]û»„ò„ð¯ÃMUM…lÂBÝBȶzK©Lñ¼å)xÿ³ÍgŸžZÈ`úTÞ\.N7P4à-¥6 !„Ϧn‘Õ¢ßc~¿—uÏÛÕ!”$-.ínæù'«6ë·—¿u³»BÌæýìû•-•wVÜá­“V•v<ê8›ËFq¸œkˆËåîús׃œxI^}Þ¡'‡rërúê'„ЉW'.'^Æ·f×fg×f‹ÅVÙ¯êoŸf¿š±9lòÞd|. #Aغ°Üúܹ׿nvÞüÝäïðòÅ7—ÐKúûÔñÇ ßÎ4›¹Åy U…ÚÅêŠ-‹=øøà‘§Gf˜ÎhëjˬÉ4V6þuö¯¦ª¦]¬®Âw…7Rn }̲Ҵ*ú¾ˆ·ätì鸲¸³ Ï Ó–ïÞ1º ìæ"N^R!ÔÖÕ&|œ†¬†‹KHVÈ—L3<7|ŽÅ¸= ÀG{˜óÐËÎëë±_«ËªçÔæì|¸3™–œ[—k®þwBD^Ä›%›œ6é)葈$„ÐþiûíNÙ)áãB¿½üíbÂÅþzóàAÎ3U³Ýn»m4m$ÈÙµÙGž¹›q×ÃÚÃNÛîiÁSŠåÄœã Æ“‰ä2zÙƒ·¤Ä¥†ôðÃäà ÕÍîË 3Q19³à veL£Ì1ŸÓÒÙrðñÁdZ²³¾³$YÒVËÖFËÛê¨ëè¨ë(ÌÎ/Ä_xUüÊÏÓ»n~o[&öÞ‰ƒŽ_NòÉp¹ÜÔYb³Ä;Ô;¾<¾ª¥ª£§c‰õ’A€/‹«¡ë‘™G°×ö:ö›œ7zr(¯!7°Õ²=æ~Œ/ÉÿPÁYÁ$"Éw™¯šŒVâ¨ëxjî)÷+îÏ ŸÙiÛiÈi „¦™N#H!susÞú”¿; !†'ÈÀŠÖLëdu5úmBˆËårýﲸºµZœ$~ì«cžÈoÈwÒs¥6j¬îXmyí÷îÙ7Ù7à¬ï|jî)<1èÍ?Í?(3ÈßËÞ#|[½}šùú ú5eMe¼OrÀæ*è+ê _‡—8I|®ÅÜ€ô€vÏîÉ»@‚,Áû[K¯ŸN=Ø7UŸÓ°¯)su󧛟¦U¦¥V¦&W$ûÄø(J)žžÚLÕ¬¿}ÂüF$ÈÀJG^Gœ$n¥iuwå]դť§™L›f2 !”ß?ûêì³qg÷¸íé³rpf°_ªŸ¿—¿"Eñ#Ú‰±zc3j2¾}ø®ÿ‡•t±º"ó" >XK˜:|–X/¹™z“D$-ÝDzT€aÈXÙ8§.'n{\ŸýŠ„ädö0§_š¾7|ï½5÷>a˜Ñƒü|¡(b”9sîeÝÛùpç‡5FJFd‰Ê–Êôêô;oîÜ^q;¯>Ï'Ög‰õK Kuõffó“ü'!Z3­Ï>Èyp!þ‚ÿ i•mKœ$Þ{‡ŸfþÃb«ÅW“®^Œ¿¨+¯ûÕ¨¯š˜M?=ÿ©ŽQ7Áp‚¦œ¦ðuøX¨[ˆjòàã,±Y’ò(euÀê.;lµle%dëõ ÁYÁ+ìVŒ7¿äæ’…£ŽÕ«£ ÓÃî‰+‹kf6w²:ìæ?0"Aþ¾\û¦îË­Ë {ö6Œo—Ëåp9/‹_¾,~É[N æZÌí½«¸²¸Ýv³9l—3.¼åx×¼à¶~,ýq9ãRǨÃßZž°Ä^$ÿ_2ÖIBU¡n·å\ܹÝvï~ô×X#yIùÓàŸ¦às·hô¢¤Š¤¬MÁ›ø6aÏ~ΩÍySÅÿ8e¶CûXèoþå]Rv}àzìÅ™…gÜÍ܇´i@ _.yIùàÕÁ~©~r•4–pW[^Û^Û~©ÍR ²„µ¦õÕ¥Wƒ3ƒ³j²êõŠÅÑ£×:®§?®÷®òòñÜÖ¢Pþ=ñߺòº~©~%ôŠÅYÏy×ä]|O{¦à³F ~™ýË$ãIwÓïf×fwôthÈjŒRµhô"C„PÈê»w**›+)b#e#kÅV‹E8àS# é½OðEa0uuu‚ëP©Æ>>u³f1>MHˆüÌ à€þ„‡Ëx{«‹:ðÆÆÆÂWîãIXÐ'È‚ü ,È‚ü ,È‚ü ,È‚ü ,È‚ü ,²¨`¸x[÷6­*ÞAW“Qó´õ ̤wзŒÛ‚mM«J‹-]dµHG^G´q ÖÉêŒ+‹Ë©Íá"î6—m$IÔÀ@åÖç>-x:kÔ,ª UÔ± !„ЕÄ+¿¼ü…Ëå"„FkŒö´õ¼›~·„^òwþP™æëã¤ç4ló‡&fÓžG{âÊâ:YXÉfçÍ$2ä€ÏÞÛº·>±>¦ª¦?0@þêa÷üó»$Yr‘Õ"e)e55„Ð2Ûeôº¨CûôzTQ”$YÒê–^•ÞÄluD UµVu²:WØ­8<ã0^¸Ôf©CúÊRÊ=.Ž×O£|uå+È0 #Äë²×©•©Ëm—ËS䣊¢Êèe*Ò*ÓL¦)Pzב“”{Qü¢Œ^6ZctEsEn}.B(¯!Ï'Ö‡wŸâ$q|üRŸZ;[cËbiÍ41’˜•†•£®#ïÖffstIt£NZ\ÚDÅÄAÇ@ êAÿƒEa*uêÐíð‰•7•?Èy0Ñh¢¦MbEbN]Ž´¸ôW£¾º‘rÃVËv¢ÑD¬Z)½4ìm˜"Eq•ý*¬„Åa‹;g¢bòÕ¨¯>Y`ž¶žx<™5™5­522¶Z¶£5F÷þ ­–mbEbfM¦Yb¢ÑDE¾&jÛj_½híj5Q1™d4és93|! #D\YÜÅ„‹––¿¾øµ¸±+T (Üô¼i®nÎ[ÇTÕôxÔñÊ–J„ÐzÇõññ¹u¹¡ÔÊÔÔÊTÞ}ÊJÈ È‚2‚~Šú‰ÑÅÀKuÏ-:§HQD¤}vŸŠ€¥6êú²ë*Ò*}î­ºµ:83Xð1šªšº7¡½„IDAT›¹ ®1Ê›Ê}b}ÄIâ¿Çü[‹²T·\j³Ô/Õ/¦4¿J~óàÌë3$"i¾å|9I9„Лª7>±>»'ïîoÏÄþÁE\MK‰ImpÚðAyÚzvôtl Þ”PžÀ[y¢Ñij ÏRÄ(ø)b” ñž>Ã*ˆ¤Ÿ¿úy‘Õ"ü#A™AìfwcomµlçZÌý4g ÈÀˆ²?r?‰@ò´õ”“Š..zWtøéပ¼u<> F[j³TCVÃNÛÎ@É ·>÷Λ;ö:ö..xµ»éw;z:úkèYá³½{I’ÕÍXÙ¸›Õýºìu2-ù»?¿»²ä ³‡ùã³»X]“Œ&™ªšv±º Þ$V$Ò;èò¾ÞÞf›Ï†ü€/͵äkÝs-æê)èiÈj Äñúã·ßþÞþ‡LFB&hU¬„ljUjc{£IÌ}”{ebeTQoþÐÃî‰Ø¯e÷}ø÷Á™ÁÉ´ä)Ô)¡ë)×Ù¶·«7þ•èíê=ÏwÞ§93a@þF”ÍΛ±ä!$F¯?¾¤±¤žQÏ›?ltÚÈ›<|„zF}Ñ»"=½W%¯^•¼âr¹ØÂ¯D@e×fÏ·œo¯cŸX‘U5Vw,Öºà«aòÀh¾å|ÞKdô¿Ûç±e±3ÍfƕDZ9lWCׂ†l$OKgKvmölóÙ&\ípÝ1 Ä«IW#ó#ùj¾kÇûvÑè¶®kEsÅ©èS½·¶uµ!„|—ù^M¼z*úTá»B Y '='/;/-›þö ó}êý•¥%§e¤lSƒŠ-U“Q3S5s5t É )o*[÷–ÃåðŽÆìm€óú ì|üùÈüH%)¥ †4d5ÄÉâDHÀg2`ø¾¨±¾ü‹º¥³ECVƒïÙ—º ºÂ0ð3äà‹C& ôÇ^^R!DU¡Î5«÷V+ +„”˜Ô×;\wt³»óëóÒ‘ˆ}<ÒÅÀåfêͲ¦²ØÒX즻«¡+@ˆ-‹Í©ÍAïâ?(ózö²ø¥$Y2bC„²”2VÂåro¤Üø ûýò’òµmµl.›7… 5Ó„ øÌ„ùLSNÓ@Ñ ÑànæÎ;*‰ËåÆ–ÅŽÖ]Ϩ¯m«µÖ´F‰“Ä­4­( w3îÞϾß_þó›`8áfêÍ[©·*[*ÿmðo„"EÑ\Í<¦$&·>×XÙ›ÐÜŸA™ÿÐ@ “È$ ¼ä|üù–ÎÞu´ßkŒÎ˜‡9Ͻ>‡²¢5Ó3…üøÏ @?ð1ö¸íù×ýÍó7Nœ±²±Y¢²¥2£:£²¥2gWNukµ‡Ÿ‡™ª™…º…º¬zKgËóÂç¡þ_Bƒ4ÿ[Õ!ÔØÑˆ:w–L$#„6:mÄOŒ NzNd"Ùÿ?@Ào¨O0œp-ùZ»gÃÁ”ù½ÙiÙeÕdÍõ;ÍdB(µ25§6烒„ÐZ‡µrŽ=W‡¯¿$)&)äÇxf€ü€1Ýtúɹ'?=Sƒ-ˆ"ˆ“Œ&‘Id55-›ŒêŒü†|ü#ŽºŽ;\†äo6îjâÕ:Fþö\Ü9ìÅ*ûU?0’H‹KÛiÛ%Ó’-Ô-”¤”°BWC׋ B¢âïíê__ø®Ð7Ù!D&’tÿñö›ÛØóv„d­i}ÔýèÁÇ“iÉÉ´d„–Í<‹y?>ûQ˜Ï3Àù!ÆŒ— K¨H©ô.T–VP!¤"¥âíêm¯cÏ[¸Ìv6O3FgŒ·«·¶¼6^2×bîtÓéqeq¥ôR—£#¯c«e‹Í Ô’Ó YRô®(«6«®­NIJÉJÓê¬øµÓ׼ϳÃákR>#úŠúÞ®ÞvÚv}nÝ6~[ZUïÓñE¨õE˜E!l}XTQT½LNRn¢ÑD-9-—ÓÚÙ*àƒX!6à³Äz‰«ë‹âm]mTêdãÉ Þ®ÞTeªà0"<3|!غ“ ƒÁ¨««\‡J5öñ©›5«k\F$ø™ÿÀÿ2ý —ñöV/**u à=Œ…¯Lº8# äaAþäaAþäaAþäaAþäaAþYÔÞïQî#ÿ4ÿ¦ÿ`®f.êXŸ½’Æ’ý‘û[/^lµ/|Yü22?²ºµšÅf][vM’,)Â(º$úBü…o&~3Vw,V²>p}gO'_µ¯¾žJúÉ£à³ùŸšÖš$ZRkg+ö64;40#ðàŒƒfªf¢ ð9jïnO¢%9ë;ã%r|ö-þ–Ãåˆ"®AÓÐÞDK¢wÐñ’dZ2³‡ÉWmŽÅœO#ä|f›Ï¶Ò´Â;ªZ«’hIm]m¢ ð™2R6ò÷òזׯKn¥Ý"É?LûÁHÙˆH J$DÞ1U5=8ý o‰¡’¡¨‚à³ùŸM9MM9MQG!¤Å¥ôœxK*[*ÍTÍVŒY!ª>Y Y¾£|ÈÀð0çáϳ~îdu¤”ÒK§›L7T2<óúÌv—íã ÆcÕ|“}Ÿ^Uu#õÆ Ï–ê–‚0ÜX¨[¼+¸‘/¸ýæv-é‡i?ào?9Ìæ²±·Ñ%Ñ·Ònýäþv‰ßÒÙ’DK²Ö²>òôH=£Û-úçü‡ò¦ò$Z^ˆZj³”ÖB;ûú¬‡•‰H›¾‘z#¥2åøìãýżêÎ*6‡-à ( çëo+­–ÍO¬cÔa…æþyÙãr{wû7¾Á3<7÷ºíõKó Ê:0ý6ZNR!t)áÒýìûº º+ìV+w³»cËbï¦ßÝùpgä†H"kàs"N_`¹àzÊõdZ²£®#VÈìa>Ê}d¥i…õ0¤U¥zrHJ\ÊËÎËFÓFœ$ž]›í›âûÃãœõuäu°O]O¾n¨dèíê­§ ‡}]ðZe¿jºéô A´ä´ŽÌ<‚R“QÓSÐ;ñêÄË’—øòDy“'ë)èõs-Ipþ Lw¨o²¯¥†å·“¾U¤(F—FßL½yä鑯ޯ9s¦™L#ˆ~©~‰‰W“¯~ïö=B( Àp³ÌvÙõ”ëxþðçÛ?;z:ð‰kI×8\ε¥×ð_p7ª›­¶íº»ëÂÞ†m·+T“Q»·æEŒÒg+úŠúúŠúd"YF\Ÿàiëyæõ™›©7ñü!0#°‡Ý³Öa­€€o.¿ÉårT#‰½÷¨•V`5ݨnùõùI´¤•cVšq«0Nܸ3ãÒ«Ò±·AA¡ßçÿއ:ÏrÞ쫳K饼»U’Rr7s·Ò´’“*n,¾ýæ6­™ö¯{ÿ ßN"àC@þF”EV‹øJ\ ]ýRý°‹uì_- 5‹˜’˜v+bJb°:ýípàóí>"€ÞGñ^•-•ôº’”ÒŽÐ!.—ËE\„¶|añ»bÈøì˜¨˜ØhÚDæG˜~›ì˜H£Ì³˜‡U鬃 H¿ÇüŽx~ëYlB¨¸±ß»™{ÉC( ó-çfb÷>8\N@z€‰Š >³OøÃb†Ù Þ4Ã\Ý<‰–4Û|6^"')§%§UÛV‹½ÍoÈW (ð>ÆAœ$>ÏbÞéØÓ¼» ÿ:\Z\{=…:ÅÓÖs±ßââÆâZ LªàCAþF Y ¾g}g2‘Sãeëõºôµ»™;BÈÕÐÕÿ?›ËŽ-%ˆãôÇõ·ÃÎø¸zÅ{µw·#„èô¸²¸Þ[;YüOM|–Ù.ûOÄÂÞ†yÙy7¿©z³Èj‘Œ„ ¶µ£»ƒÍe÷ý[Ïó¬´[½mÚ»wýÓüÿ3õ?/Š_TµTu?*ø#œÿ€‘“øÇ+2‘Œ»UñÂŽîìu'«SAR¡wC|%xò€‘•a:ãBü…ò¦rÈøP?€…@ ð•H‰IÙiÛÅ—ÇgÕf5v4N0š€r5t½˜p1­2-®<ÎRò÷_Üç?|\½‚ÿ0!Ä;N@CVƒ@ XkZïž¼»w}%Á; Os,æ}v4(3ÈËÎ+0#!Ä;ZSN³›Ý}qñEÞYÎ%)¥6mªj:N\HVÈ¿'ýûfêM¬GBðGeþÇR“Q+m,mf6ó~‘fÕf½÷ƒ5­5¡í™ ÈÀ—ÀÕÐ5™–|æõ„ÝéwÐq ˆQ.'^¦wÐL~@ƒ1ÿa€ôIJ\ !TÑ\ŠV (ŒÕ›BK)¥—.¶ZŒ÷þW¶T¤ØëØh€á@JLj¶ùì Ì ¬š¬ÐìPC%Cü·!4Ãt†O¬Od~ä·“¾ÅïзuµÝϾOŽˆ5k¶„l9óúÌë²×›œ6½÷R{Pæ?|¨ †ŠÞ}þý‰9'°ž™ˆ¼ˆ9xë„ç…K’%݌ݰ»3,+ = ìm‰H”À—ò0ò¹¸žŠ>Uå¨ëˆua‹‘ÄÆêŽ*ŠB'? AzÞÐ@è¶ëþÈýþiþ’dÉÿoï~cšº÷8ŽŸþÁ¶ü9ü2„;4õr¯®‚3º,Ùö`4†›ÙsqKfæB—¹ÅÌ=Y¶ÄÞ,FLœÙ >Ù’ÝïͲ=ðÆ”Øæ`A¤”BùÓ?´…Úö>è !º+Gm{èáýzDÚÓôÛP¾œÏùýÎïÝÿáÔSïþóÝþý‘1Û¸N½Îæ¶9ç‚ ¼ù·7£s$Æ-ÖÎÖoZ§}Ó¯ýõµåOÙ~¤û·î/®ñUßWe9eºŒ)ï”Ýc…CíÛý­÷mÜW’UÒvµM£Ö¼¸íÅÉýêÈö#—º|å·+»þ±ëñÇŸñÍŒ»Ç7åot .301ðÙ>3¤J²JÖiÖÎF—ÃnÙÞÂÖœÀC`IG$”F Ýop;.ª «£ãÚËÏÔ£?R ¸±8æÔךªMwÂw¬vëµÛ×¢ÿ&+ó*-‡-{Ë÷úƒþŸ?÷Ùûœóβì²wö¾k~"R ‚ ÑÜïŠ, ®mˆ-•y•ÃÓÕæ®ÅRSR/5_:´íPŠ&eÈ9tÝv}Ì5–¡Ëx¹öåÍ1ØõE­RþóaATXµçÙùéùŸ¿ðyEn…/èëŸèŸôN¾ò—W^ÚöÒòcžÝôìÓz: ÞœºÙ?Ñï¸ ÅÂ÷¼×Zß*WÙkG(DT Õý‡é¼^¯Ãá¸ÿ1µµeo¿=ÓÜìŽù»ßž»=î®ÍwﳃŽAÏ‚§2¯2Û}Äpý2ùKjJjuauÌ‹yèþß§°»í£s£Uë«–¯Ý>í›] -Šz±j}ÕÒãžÏ­Ù[áH¸8³øÑç@ãQÌÍijkË.\ß¹Ó/w-ˆ£øu¶¨‘Ù‡ÇaH1ÔÖüáÁPpxzØôdägä/í÷2çŸûuê×ÒìÒ»Ve˜_œïŸè/Ê,ZÚ#¢g¬Çb¸w¯ÉöÛÏüëÌ¥C—–Ï›Š“?¬vtnÔî¶×Ö,Ÿ=eµ[CáÐÖ¢­Ë_><=ì]ô–f•f²¦¼S¿Ïü^‘[±¼.ÜYõ,xÖ§¯_úàˆ·‹ÅO?Íéé‘»¬ ¼üöB!? f¤ä‡çŸ/®­õŸ<9˜’yõöê,úî»[ÅÅwä®q¤ÔÎæœw>sþQ/vÿ½[îZ¬>ü0··Wo±ŒÉ]Vð@ù)ÑH¨Í›nÜÐË] }}úÌÌpQáAá”×Ù,?Y:û:o:oºîc{ŽÉ]’غªª¹«@ŒqÿjÏŸÕªw:Ùìk•+©uu¾•ÖãEÒS^g³¹l=c=î€{Åþ¦-Mr—ƒd55¥éëÓ×Õùä.1F~@BÕ×ûÒÓÃ]]âʇInd$åÚ5ÃsÏyå.q§¼Îvl÷±¡CC'†ÚLm•rrÌbE1L~PòJ¯45¹ÛÛ3].¾{P¸³gsŒÆ`}ý¼Ü… îèlÀ½\.u{{fc£[¯çV[¥¡Ó!ÑÞxcV«ÌfÖ‚’õöê¿þ:ýäÉi —n×:p—³gsT*áèÑY¹ Aì‘hiiáãÇg.\tr×ÄÅ‚êÔ©ÜÝ»}ûö1ø°VÐÙ€åtbkëLFFXîZ{äÈÀdrïØhi)˜œd0(M$"œ8±~|<åý÷rׂ„¢³Q““Ú––‚;&S¼6E¼ÈZ-˜Íii‘––¿Ÿ/!ÅlÎùöÛ4³y¢´4(w-H(: ‚߯ni)HK‹˜ÍjþŠ_,ä!Šásçì6›¶¹y×ê  ¡pæÌcfsö8wíbÃ鵈Ά5nrRÛܼÁfÓž;gEf.)ù²1ƒ]]6ŸOÝÐPÄŒa$;¯Wýúë/f~ò‰£±‘!ûµ‹Î†5k`@×ÐPä󩻺lF#°JF~€œŒÆ`gçØÆÁ††¢Ó§sYúÉ(._Îxê)£ÕªïègÃÐÙ°Ö¸\êÓ§sŠ6n vvŽO‰°(/bÃëõ:އxa8,X,âÇçD"«¯ºL&w^^(æå1 ªº»ÓΟÏêï×55¹ŽŸÉÊb¼ÿCgÃZ05¥±XÄööL•Jhm1™ÜÜó¤ÊËË¥L~@Ì}úÔqú®]»˜L‡‘‘Ñž={tuuõõõwîÜù¡Â€É€lÙ²e|>ŸÇãÇÇÇ7õp|>Ÿ)Œ9ÒÙÙ¹©‡«nâĉûöíÓ××g>öîÝ»[·nD$‹9Rw²#::š) :tâĉLù‡~˜1céêê6aÜða!ÙÐìäååy{{ß¾};==]EEÅÞÞÞÍÍ­k×®UšùùùíÝ»—ˆ6mÚtþüùÚ’ÁÁÁ‡JII±´´œ?¾©©i½páÂo¿ýÁ|<þü³gψhÑ¢E=zôøüóÏ™úïÙ³'::ÚÙÙyÞ¼yŸ|ò ;„²²²ŽŽNçΧNÚ¶mÛ*ܸqãàÁƒlœ–––UöéÔ©Ó©S§8{Šƒƒƒ¡¡aFF%''×v?6lØðèÑ#öãàÁƒ«´©²gGvvöÑ£GïÞ½›‘‘¡¢¢bcc3f̘áÇKŽÍ—š__ßW,_¾\²Yvv¶‰‰ õéÓG$ 4ˆiöÅ_H6ûå—_$;ár¹û÷ïg?J9è¾}ûjü‹ÄŸþÉd=<)/Z´¨¸¸¸Æ³”””öìÙ#çÖ­[¥‰³ŠÒÒRuuu¦Íüùók»¥ÞÞÞ5†!iذalûS§NiiiUo3tèМœ©gd¯žhF"""&Mš”››KD3fÌ8þüž={˜}1~ýõ×]»v±-çÏŸŸššª¢¢âå奠Póè!!!«W¯fÊÎÎÎgΜٶmÛòåË0è˜1c»wïΜ2a„ÀÀÀÀÀ@öyÆŠ+fΜyîܹÀÀÀ p¹ÜÀ7NŸ>=gÎ"*//_¸pabb"çªU«˜ò§Ÿ~zúôé-[¶,[¶ì·ëСC€)O›6­¶fC‡ tttd>Ž9’jôèÑU?xð`êÔ©Ì6¨£G>}úôîÝ»õôôˆ( ÀÍÍíQ€ìÉ:Ûo±ß¥‡ ÂVzyy1•ÆÆÆb±øßÿej6oÞÌ´©qe³YXX”——3•þù'û×fÅ„”ƒŠÅâaÆ1•ß}÷ÛRreGË+X;wfïÚµ«Jœfff¥¥¥LåŽ;ªÄYEhh¨††Ó`Μ9ïwäÈ‘ÕoÑW_}ÅT²+;¦NÊÞ´²²2¦òäÉ“l0÷ïßçX [س ¹}û6Sˆe÷•`_¶š––kkk»fÍ"êÞ½{õe’¶aƒÖ˪U«˜DF‡V­Zejjª  ðõ×_ÇÄÄH6377gâ”|¡LõKc½Â;v,S¸råJhh(•””lÙ²¥z‡üñÇìÙ³™LÇŠ+öíÛW=ÓADaaaAAAAAAqqqõ™½—/_¾uë‰D¢õë×3•ÚÚÚ’´@ó„•ÍÈ‚ |}}ƒ‚‚²³³»wïÞ¾}{mmí”””—/_ŠD¢‘#G2ï(éÛ·o•utt˜‚±±1»ïÆ·ß~»oß¾ØØXæÝ´:uJMM­¾û†”ƒ6Àˆ#˜Nûí·Ë—/WTT¤¥¥™››K®4aâÜ¿LLLyyyÿþý;v옒’bggW¥·»wï2I"âñxwîÜa¯”ˆlmm%ßVÛ` ,8{öì­[·D"ÑàÁƒ;v옙™™ššJD篿þÒÖÖ~ÿQ Iae@3¢¢¢råÊ• 6˜˜˜QTTÔÝ»w“““555g̘ñÃ?Ô«7MMÍ€€&#P^^1xðà#GŽ4é ’<<<\]]9ŽX,Žˆˆ(--õóó366®ÒL]]ÝßßèСDTVV1dÈÝ»w³ ÔÔÔHbk¦TYXXXƒã”¤ªªzíÚµÕ«Wëëë37-55•ÃáôíÛ×ßß¿ŽÜ@óÁ‹Å²Žjššª¢¢bjjjhhÈápêhž——GDÆÆÆÕ·ØHLLLII±°°011)++cžÎ "vIˆ4ƒFDDäææ‘©©)»òB(Þ»w);::ª««W=+++..NKK«]»vçáÇùùùU:©§««+q8œŒŒ ƒ¼¼ÒÓÓ‹ŠŠê{VB‚òÏ?ܺ¥6n\Ñ¢E9eM@‹“ ¼s§ž¯¯FÿþÂõë³ðK£…²±±‘uP þ9š\HÏÅÅ,;[ÑÛ;eÇŽt|`YX”íØ‘îí’­èâb“uDòÉhZÇkÍžÝÚÉIèã“Ò³g‰¬ÃhŽzö,ññIqrΞÝúøq-Y‡ÐâaÏhB¾¾?ýÔjáÂÜ… sðâ €:¨¨ˆwìH·²Òûé§VjjãÆÕûa1`!ÙM%2ReõjÃÙ³óÜÝsd @ Àá»{NQgåJC3³ònݰ  ð 4‰¼<Źs[÷í+\±"[Ö±´$+Wf÷ï/œ?ß8//¤h $; Iüñ‡®‚íØ‘×ÊÔ û ç?te @K…o!Ðøž?ç;¦õÃÙ²Ž åÑШX¶,ûØ1ígϸ²Ž EB²ßï¿ëuêT:aB¡¬iBGµµµµµµíÙ³gm5 îª999Ù¾qêÔ©ºÛûùù±ë;VYYÙöíÛ‡Ú¾}{¦‡44ðfÄø›ollm™ÿ —/ÿ0ƒNœXØ©Ó+½3€œA²YZšÒõëêsæäáõ+ÍÁúõëSSS?ÌX{öìILL,//ÿ0#~š>>ê×®}øq9ú꫼ë×ÕÓÒ°•8@½!ÙìÚ5u¯bøp¬º|ùò™3g>Øp.\` ³fÍŠŠŠâóù³fÍú`£7¥ädƒe5úˆUÕ uYÐr!ÙìÎ^Ÿ>ÅÊÊbYò±ËÊÊúé§ŸˆhذafÄ—/_2…=z()µüõ†Ë—+å­[¿²·ÿðã++‹ûö-¾}›÷á‡héZþ_F ™‰Šâ:;7þnG]»v-éèèܽ{w÷îÝ>>>YYY3f̘>}:Ó,88xöìÙìYÊÊÊúúú3gÎìÝ»w½…„„xzzž={6##c÷îÝ***Òô ¥ŠŠŠsçÎ={öéÓ§ššš]ºt™1cÆÐ¡Cv¤ïpõêÕ¹¹¹ZZZ7nô÷÷¯±·¬¬¬íÛ·{{û%K–4lÐ¥K—ž;wŽm¿`Á¦pñâ۰°÷¿ÕÕãÌËËcGáóù5†­ ˜Mœ¨GDÓ¦enØ@DœÒR3nT9;§ïØQã¹D¤ãåÅ»wˆ27mÒùûïÚš5){ûW¾¾š2 EC²YzºbëÖM»eÃâÅ‹/]ºÄ”Ÿ?þóÏ?'$$¬^½ºz˲²²´´4??¿Ë—/oÙ²ÅÕÕµzww÷kµoÊ Mµ)))ùúë¯oݺÅÖäååÏš5ëÇ”¾«úvxüøñ€€"úñÇ kì-77wòäÉÉÉÉÌÇ|ñÅ“&Mjº«hØ­ÎÍÍuuuMJJª;Îê*ÔÕÓví2›4‰S\¬uô¨ÐÉI0|¸þ/¿0™ŽR;»ÌÍ›k;—ûü¹ÞŽDTèâ"4HVÉŽÖ­EŠ2 EÃc,ÐÈJJÔÔšð–¼¼¼ÌÌLÿÐÐÐ3f0•^^^DäääÄ#::úÖ­[óæÍ#"±X¼mÛ¶²²²ê½ÅÇÇ;vìéÓ§|>Ĉõí¡¿ýö“#044ü÷ß###ÿùçMMM":pà€ŸŸ_}¯]Ê“““7oÞLD¬#)ðûï¿3™uuõ}ûöEDDìÚµË××·ƒnß¾Ïç+*¾þZ¾k×.æ¶mÛ–í§Á·ú÷ßg2<oïÞ½ááá;wî”\HR‡Ò¶m3ßlºÑjÕ*-ooíljɃìÞ]Á«ù Ny¹á’%œÒRQ«VYõÏI5"5µ ¡RÔþ L,¦¦~ˆ ,,,tuuüñG}}}¦ò¿ÿþ«ÒLQQÑÈÈÈÝÝù˜——÷ôéÓê½ýúë¯={öär¹ÕIÙCÊÊÊNž<É”¿ÿþûÞ½{óx¼~ýú}öÙgLå¿ÿþ[Û¹ööö¶˜§E¤ì°¢¢bÙ²eB¡P]]}Ë–-µ !‰ØýDÝÜ܆ ¢®®>bĈɓ'7ÖUT×€[-çÔ©S‡®¡¡1jÔ(iVv0 'L(˜:•ˆss[­YÃTfnÝZfm]Û)º*ÏžQæ† ÚÚÒ^^àpHŒÝoê±@ Ãåríì옲²²²]vv6ÅÅÅQYYÙ‘#G®\¹PP娙™™UzSVVîܹ³dM}{¨MJJŠP(dÊ«V­ZµjU•QQQRvU¯“““ÈhÅŠ­[·®­·¬¬¬¢¢"¦Ü±cG¶Þ¾òNœx »Õ’qJž^¥«ºe­]«Áä/ˆ(ÿóÏ‹>ý´ŽöšgÏQј1‚#¤š$;@®|ûí·µ­òušˆÔÕÕ*­q«o Æ&·Cñ›•k×®ev•´bÅŠ+Vxxx8::6â Òxÿ[]åté)äç+ee±¹Ïž‘HDеï…!‘Æ… o•°4OŸÖ<}ºÀÍ-Sv¯¤€wB²Z˜ÒÒR>ŸÏ,î(++{þü9SoeeõòåKöËóÂ… ¿üòKmmí¼¼¼ž={JÙùû÷À255USScrÛ·o?~¼ôçÖø°ÌûtX††³hâÉ“'ãÆ«qèÆT’”·ºU«Vššš………DôìÙ³±cÇ2õ‘‘‘RĉŒÜÝ33‰H¬¨È‰x¡¡úÛ·g/_ÞX×Í ö쀖gíÚµIII¹¹¹›7ofža!¢qãÆ))½Mફ««ªª&''×ëu!ïßKYY™Ýÿâ—_~ñ÷÷/,,|>ß××÷»ï¾;tèPSthaaÁ¯†ídÛ¶m|>ìØ±ŠŠŠ£Gf*½½½…Báµk×|||šô*XRÞj…1cưq ??¿S§NI9Þo¿ñBC‰¨ÔÆ&ÕÛ[¬¢BD:ûö©×ò:^"J¸u+–Ï—ü¯¸W/æP¡‹K,ŸeÍVv@ ££££¯¯?dÈÉÊ/¿ü²k×®D4pàÀ7nÑÖ­[·nÝJDS¦L‘¾óV­Z½g’~øá>Ÿ’••õõ×_W9Z¯]'š¢ÃeË–…„„$'' ‚¹sç‘¢¢â¤I“Nœ8ѤWÁþV/[¶ìæÍ›ÉÉɳgÏ®-Ω_½ª³?‰UTÒ==KÛµË^½ÚàçŸI,6üá‡äóçËÌÌ?4gXÙ-‡‡ÇÂ… MLL”••mllÖ­[÷ÓO?1‡<==¿úê+333.—Û¦M›åË—¯[·®^¿,wðàÁíÛ·8P___QQQGG§}ûö...{÷îýòË/eÛ¡žžÞ‰'&Ož¬«««¢¢Ò­[·C‡9995õU°¤¼Õ:::>>>®®®zzzlœ:t`Ž2/Á­‘rB‚á›gU²V¯.m׎ˆò§Ogv'U((0úî;Niiƒã€f‹#ÆKí >ÒÓÓÙ·cÔÈÖÖÆÓ3}ôèºÚ4ÀÑ£G™í6utt˜·ÀÇlþüùW¯^%"GGGoooY‡ÓT.^Ôpw7âóce¼ƒ¬C€Jð 4wsçÎ>|x¯^½LLL233;Æd:ˆhÚ´i² š!$; ¹‹‰‰©ñ%µ³gÏfß#ÀB²š;///oo襤$±XܪU«îÝ»O:ÕÑÑQÖ¡@s„d´ Ó¦Mà -vZ€wÂÛX@® ÙrÉ+Hv€\A²ä ’ Wì¹¢$뤒‘QrìØ‹Þ½ z÷6u,•4ÛÀÞSXXvHH&ÍŸßVY¹®Ìø³gùW¯¾=ÚÔÖVSúþ33KnÞÌHM-‰Äï ^쀖!=½ØÓó™»{‡æ–Sh¶½ |ñâд´b"š3ÇNY¹®ÆOŸæyz>kÛVKúdGDDî_Ü,**g>¾s€zA²Z##^óL(4ÛÀÞÇo¿=‹ÅææjII¦èßÓóYQQùèѦÖÖš eeNSŒ-$; e04Tuwo/ë(jÐlk°ˆˆÜ£Gã÷ìéãáñ´‰†xþ¼ÐÖVÓÓ³Wõ9$; e¨qkŒÂ²ààô¤$ŠŠR§NÚŽŽU—WˆDâÛ·3££ ÊË+¬¬4 2RQQd%$ÎKrr2rpн{7ëÑ£\''#KK*¼|Y˜VXXfg§9hqLLäU“¾Û:bk:ïT$¯^ý`Ô(“aÃŒkKv¤¥¦¼¾!õ(88=<<7+«DW—ëéED:iÚš½o]»êÞ½›ùäI¾ººÒÔ©–LoññEå¾|Y¬¡¡äà ×©“N•áêž#øØ Ù-Cõ­1üüRV­zXXXƶéÖMo÷îÞ††ªÌLjˆœE‹B““ß>ˆÑº5oÏž>ÌWå„„"OÏg<žâÞ½Ñ×®½d(*r~ù¥»‹Kö”'Ö­ /-­`‡;ÖLr‹Š*IÙmݱÕèÏ?£Äâºn‘ššâœ9vu4fÐ}ûž§¥•:4 ¶NNžLøùç·7ÄÁAwÜ8sé N?x0–ˆÒÓK<=Ÿ‘››ÕС­™ûÆår<<žÞ¼™AD;êLj)ŠæÍ»}çN¦dÿNNF»w÷âñ^ÿöÎ9€ ’Ð"={–¿xqhy¹¸sgÝž=õŠŠD×®¥>|˜óÝwwOœÄáPJŠpÖ¬‚‚²®]õºvÕår?λs'sîÜÛW¯ŽÐÐxý»Ÿ—¿¨¨|üxs##Þ“'y·neüüsøˆ­55•‰èÑ£Ü5kŠDbGGƒ.]trsK/_Nýë¯èw†Ww·RÆVÅ®]Q"Q]Ù•:’Ò š˜(ص+jýú®*5vòèQîO?½½!99¥—/§ìÞ-ý@NNFZZܽ{£uu¹S¦XQ§NÚ÷-V(,7άMucc ewîdvê¤Ó¡ƒ¶JAAù½{YÁÁé»wG/[Ö‘ÞcŽ@Ž!Ù-ÒþýÏËËųfÙ®^Ý™Ã!"Z¾¼£‹KàÇ9wîdöíÛêÿþ/¦  lýú®Ó§[³g<»iÓ£ó瓦M³bjÊÊ*.]ff¦Æ|\¹òOBhhöСÆDtà_$/ZÔaáÂ×»r¸»·?þú;ë»[)c«bÁ‚öï\ÙQÇQi]³&¼{w½I“,jëäàÁX‘HìîÞÞݽSãîÞÁÙ9 ^998À76æUß뤸¸üüù!ÖÖo—chh(Ÿ<9HSSùþýìììWÊÊŠ£F™$' Ò˜dGƒçä’Ð"Ý¿Ÿ­¨ÈYºÔžóæ=ººÜo¾i÷ãïßÏîÛ·UHH¦¢"''§t÷îh±X̤ ‚r"ŠŒÌ%zPpqiæ$ˆhð`cŸ„ôôbæãǹ<žÒ·ß¶c˜™©ö™Å¾}Ïë¯în¥Œ­ öË|üsÐ3g<ȹxqX6Ñ@‹†d´H_}ewáBòÿþÇ ËéÞ]·¨¨Üß?-'畃ƒnŸ>­ˆhþü¶~~©K—†8ÀïÚUWSS93óULLAdd®—W?SSµwAD_~i{áBÊŽOoÞÌèÒE77·ôòå”7_¼ëL<Ô©a±½çžïÔ¨úv¡W¯¦fe½úöÛölåË/m.\HÞ¹óYHH&û6UU¥ú $Õgu릙;nœÿðá&Dtÿ~ö“'yl¦ƒšlŽ EC²Z${{m^«V=ˆˆÈ‰ˆÈa*»uÓÛ½»7³ÁÌLýðáK—†=~œ÷øq{b‡ÚÒßîÚUwýú®6<ºw/ëÞ½,"rpÐ2¤õ6qÝ€T–žž^TTTG[[OÏôÑ£ëjÓ‚<~œ×±£»æãÇyŸ}¤¡¡|ûö§ÕwÓ™ã9ºxQÃÝ݈ϕu ð666²*©ßÊŽ;vܾ}»‰B€¦Ö·oß%K–È:ŠfçÎgqq…={èéqãã‹ÓD"ñçŸ[·ôoÑòsUÔ/Ùqûöí;wîôéÓ§‰¢€¦sçÎY‡Ð"uî¬sýzZBÂÛW™NšdñÍ7ídT9€*ê½gGŸ>}Nž<Ù¡@“ruu•u-’»{‹û÷³_¾jjr{õÒ·³Ó’uPP æªÀ¥ï`f¦ffÖT/IF9I ² 1!ÙrÉ+س£¹é—_º[X¨Q\\áO?…OšÔfÒ$‹F´a“~ýzšŸ_jjª°¼\ìåÕOUU±C€æÉyðßÿ}þùç¹¹¹l¯¯ï¶mÛ–/_¾mÛ6¶rÛ¶m+W®d?8p௿þª¾}†4½ …BöÄ€€€eË–±§{yyýüóÏëÖ­c>nݺuÕªUUmœË ÊÌ,¹w/+'§TÖ|ŒŽñãÙ””$¸w/K(,gj‚ò{÷²úôiÕ¸ã6`ÒÏKZº4L2ToHv´x“&M*--%¢3f|öÙg)))kÖ¬ÉÊÊúõ×_ÍÍÍ™w¸„„„°I‡O?ýtîܹqqqË–-kXo’ÜÝÝ—,YÒ£G]»vùûûÑ/¿ü²xñbÕ«W3ÍœgÍšõâÅ‹åË—7åý€䨱JJœ5kºX[k*(pTT¦Nµrr2²°ÐuhU9W%TYGM ÉŽoÛ¶mLnbÈ!‡f*UTTfÏžMD›7oþî»ï8Ξ={Äb1™™™;wNYY™ˆ–,YÒ€Þ$O™?þƉÈÞÞ¾]»vDTZZÝ»wovP ‹Ó§O+**‘’’ÒÂ… ›ò–À‡œ,h×N{útk¶ÆÜ\ÍÜ\M†!Õ&9YX%ToHv´x·oßf ±±±ƒfÊL!---66ÖÖÖöÁƒLÍСC™L9²a½Iž2f̦`hhÈVfee;èàÁƒ™L 6¬A @Däç—êç—RPPfg§ùÅ65¶¹w/ë¿ÿ’“’\®BçκS§Z¨0‡""r¶m{òùç6}úüóOÜ£G¹** C†OšdQ9‰'U'ŽŽúGŽÄ=y’oh¨âêj!MÏB¡È×7)<<çåËb ¥nÝô'On£­Í­Òsz‡ÅFEhk+»¹Yõì©ODOžäy{ǧ¤ÍÌÔ¿úÊÖÒ²ÒŠøø¢S§bb ËË+¬¬4&O¶èÐA»Qîyu‡Ç]º”RPPVZZ4mÚ*GÙ=;jÔ€8¥™ôÚºeBÍÉy%–3¡ÞzölÛ;¹dG‹' ™Bbbbbbbõ999DT\\Ì|ÔÔÔdI–ëÕ›¤V­^?¯¤ôöljYÐÁª¡ñö[YõA¤´bŃS§˜rppú©S‰S§ZVi³eK¤—ŸýèïŸvà@ì¾}}»w×#¢üü²{÷²ºw×ߺ529ùõOûåË©ç­[×µ^t颻aCDFF ÙÛkò‰É;{ÎË+4è²@PÎöìç—ú¿ÿ=?qÂÉÌLí¹kWÝ#ÒÓK˜6ÿý—¼o__ |ñâP‘HÌT^¼˜âç7¬U+UæãÑ£ñë×G°GƒƒÓ‰Û¼¹Ûäɵî :sæM¶}tt¸ýÕ»ÆC E÷îeÑ›]9ªe÷쨮qJ3éut[=Tü ÿìhñ,--322ˆÈÅÅ¥ÆÇCÚ·oODæææñññDÄüŸñüùó†õ&%333f¸ØØX¶’Ïç×~@­.^L9u*ÇSš=Û¦kWÝœœÒþ‰Ý¿¿ÒÏð•+©^^|%%Î_ØôêÕª°°ÌÇ'áÎÌ î~¢¢òzyÑþý1vvZ[¶t72R}ò$ﯿ¢ÿý7nÞ<;5é;9xoe¥éîÞ¡Mu--圜Wï칬¬BYY᫯lííuôõU ÊîÞÍôö~áéõë¯=Ø«8p€ß±£îÒ¥uu¹ÁÁé‡ÇmØð(;ûÕØ±fÇ·VPàüóOìÝ»YÿûåÊNDôàAκujjŠÓ¦YwíªËå*<~œwàÍšð>} ˜4Ju÷îeÕì`W²T7s¦Íˆ&s愘˜¨mØàÀÖ;ïë›\ÛY ˆSšI¯»ÛꡪÖqÕ ìhñ>ûì³{÷îQPPÐO?ýÔ­[7¦¾¨¨è¿ÿþKNNfžF;vlpp0]¹r%44ÔÑѱ¤¤dË–- ëMJcÆŒ¹qã]½z5$$¤_¿~¯^½Úºuëû]1|¤Nž|ADŽÃ†35ÎÎæcÆøÇDZmŽ{AD[·ö˜0Áœ©?ÞüóÏoÞ¾éïŸ6zôë×[Zjøø bÒƒ••UüùgTxx.“’²CCÞéÓƒx¼×¿‹§¿³g]]•K—†]¹ò2((=;ûUYYq¹ aaÙ’Wjc£yìØ@ee"2Ä8:ºàÞ½¬3¬Ù"}û¶êÛ÷RxøëeV^^Ï+*Ä^^ý™…'ÌYz³fÝòõM™?¿m÷óðáâºrÄP# u u%% ¥Þ½ß¾ÿ•¹ µi@œÒLú;»­1ToHv´>>>ááá’5mÚ´ùçŸ,Xàëë”ݽ{÷öíÛkkk§¤¤¼|ùR$9’yåÊ·ß~»ÿþ˜˜˜òòòþýûwìØ1%%ÅÎήÊ(Rö&¥o¿ývß¾}±±±"‘hРA:uJMM­²å€”¢£ tt¸ì—^"ârœÍwî|ÆÖDEåóxJãÇ›³5Mjyûvæ³gylžbÔ(Svuê¤KD¹¹¯êÙ‰ ›é`ÕÝsff‰›ÛädA•³ Ë$?~ò‰‰d¢¡Cí{÷²ÆŒ1ek´´”MLxii¯Ÿs‰ˆÈUTäxx<%"±˜˜FyyÅÆP-zõúÐßü§4“Þ°Ëù†dG‹‘’’’’’"YüúDEEåÊ•+Û¶mÛ»wojjjTTsTGGgìØ±_~ù%óQ]]Ýßßÿ‹/¾(++‹ˆˆpuu]µj»vCMMMúÞ¤¤©©ðÅ_\¿~½¼¼œtëÖ­ÖÖx'Ô[I‰HG‡[¥²JÍ«WZZJU¶e¶ÿ|õªB¢FY²²2‡ˆ*Þ—²“Ö­kxíHÝ={zF%' úömåìlnd¤Êå*p8œ•+ïVÚäBK«R'JJ6‰J¡°”) …"‘H’Y=ž’’Šê•Œ÷Ù³£a§4“Þ°Ëù†dGsXÛ!&=AD\.wÍš5kÖ¬IHHHMMUQQ155544¬òŽX333ÿÄÄÄ”” æ‡ÃaÒôÖ¦M60+++¦ÀãñØÊÎ;K¶”´¬¬Œmæàðöi€ºªÆÇåå•J~׌̭҆Ï/HO/12R•h“GDFF<é’®“:©IDDŽŽ÷Сþ ¯5 …¢ÌÌWªªŠuŸX·Ö­y¥¥ÿÝGQ‘Såž^ÕLë}öìh˜Ä)ͤ7ìò@¾!ÙÑÜÕk ‹Z_jpàÀ++«Áƒ·iÓ†ˆbbb~üñGæÐðáà ª®i¯£755µê)**Öm›6m˜A‰HYY¹^À8ЈÏ/\¹òÁï¿÷ÔÐP"¢K—RÎKªÜÆðùó‚åËï{x8êêr‰(44ûï¿£™CRÔÔH[[9.®0:º€y+jnnéªUJJDï™ìøä“ÖžžQ~~)K—Ú³ @ ËΜIìÙ³ÖgUÞgÏŽ§4“Þ°Ëù†dÇG$((höìÙ:::666………qqqåååDdhh¸{÷nYGðsæØ>xíÚË~ý.Z[kæä”¦¦ ííµŸ>ÍgÛÌkwþ|Ò­[úY[k•'% ÄbruµlÛVKÊ¥“ Ö:44{üøÀví´ˆ(>¾ˆÇS45U“|mÌ™ÓöêÕ—GÆŸ8ñÂÒRCSS93óÕË—B‘HìåÕH»Æ³>üžÒÄùå—·D"ñáÃÞœòîIoØå€|k七ælΜ9Ÿ~úiAAÁýû÷™J555gÏž^}§R€æÆÈHõŸúÛÙi …¢Çó22ŠgͲ™9³Òþ/­Z©z{;õêePR"zú4?1Q ªªôÍ7í6mªÇSÒIfͲ2ÅR,?{–ÿìY¾‰‰š—W?fñÈûPSSôövš>ÝZYY‘Ï/|ø0'9Y ©©üå—6;ê¼gçHš8ïÝ˺w/‹=EšIo)—G\÷:æÊ\]]‰èäÉ“M49@WTT¤¯¯okk« €„×Ç¢±~ý¦§§ÕÑÀÖÖÆÓ3}ôèºÚ¼ØØÂ¢¢r unffI\\‘¦ž^¥ &23K’“…\®‚­­¦äëQòòJ££ ,,ÔyU*--5$7éhX'Òôœ—WšP¤¥Åµ²Ò ¢Çó^½õè¡_['‰‰‚—/‹»tÑåñÞÆðèQ®H$îÖMO2à²²ŠØØÂâb‘±1ÏÈH•ݤ‰„…eóxŠ’ …¤$ajª°sg]55E"Ê?Î35å™™©Kghh¶X,®¾êDšI¯£Ûê¡¶/j¸»ñù±²ÞÁÆÆFÖ!@%Hv|,ä&Ùðñ@²£¥@² ¹Á¿ê€\A²ä ’ W칂dÈ$;@®(Õ«uvvvrrò÷ßßDÑ@3ÓºukMMMY)""ÂÌÌLÖQ4¹ú%;ž?žœœìááÑDÑ@“*..–uM®~ÉŽ>}úÑÉ“'›&h.8ÎâÅ‹ÿøãYÉÕÕUÖ!|سä ’ W쀖!22×ÖöŒ§gT‹èöà Ëþâ‹[¾]ºœws ¾y3CÖÈ ’-Þӧ߸u+£¨¨\(…†fÏšuëÒ¥YÇ Hv@Ëй³.Ÿ?Ñݽ½¬ivÊÊ*~úé¡H$ž=Û64t̃c¿ÿÞ^,¦µkÃ…B‘¬£$;Z¶[·2RR„ŽŽú«WwÖÕåji)÷]»‘#MrsK¯^M•ut2€dG=üþûïçúõëR¶_¹r%‡Ã oÊ àƒøýwâpHê©§•+‰Ã!L}£ª²¹Fppº­í™øáá¹Ó¦ÝèÜÙ·gÏ ?üp?/¯”=…m’éêÔ©Óù^½.®^ý 'çU…†f/Y6tè•Î9:^˜7ïÎýûÙ’ Äb:u*ÁÍíF·nÿuér~âÄëÇ¿‰ÄìÑ“'_¸ºuér¾cÇócÇ9'7öí¨0ßF²rüxs"ºw/« h®”d@ÃEFæýöÛ“ÒÒ "*.¦3g““ÞÞN’m<ÈÙºõ1“Œ()8‘pÿ~Ι3CÔÔ«w˜™YâæÌ~ÌÍ- x”väÈ@GG}"‹iñâÐ ’%bÈŒÌ53SëßßP,¦eËÂÎKbFEå¯[ñìYþæÍÝj»Švíβ¹’¨Ü¹3º¶£ "jÛVK²²}{möÀÇ+;êaÙ²eb±xðàÁ²>¸eËH,&L}ósþ|ÒäÉþþŸ<~ì|ü¸“‰‰Zhhö³gù’m.]J™0¡¿ÿ'‘‘ÎÞÞÛµÓŠ-üûïè;äp8þßÿõ¹ysTTÔ„»wGÿùg/.WaïÞ×í}|.\HÖÑánÜèpãÆ¨ÈHç3gö™…²²;—tî\R»vZÿû_¿°°1‘‘ÎÞÞN:h?þâáÜ&º EEeD¤­­,YÉ|,,,k¢Aš3¬ì€lÀà ˜rúóæÙ­[•ß¡ƒ6Û¦kW½­[»s8DDŽŽ{÷ö1⊟_ê÷ßÛWïÐÀ@eÙ²ŽÿóÓOáÙÙ¯ØÑÑLáôéD"Ú¹Ó±C¦¦sgÝÎu™²O‚¢"çÀþ††ªL££þ8ŽuíÚµ—ݺéÕxÑÑÞç&ÔøŒL“>8Ð̵°•ì.‡êÔ©“ªªª……Åúõë+**Ø63fÌàp8YY•žTg*óòòªô³gÏžöíÛóx¼.]ºøúú‘@ X´h‘‰‰‰ªªêÀ#""ØNªïÙ‘””4wî\sss.—kllxãêtéRJFF‰ä£%%%¯_k[¨­Íe3U<^ ‰ôk×îlÛ¶gíìÎØÙ5ꥦ pÒÐÔT&¢üüJ‹8 ÊØC›¹²ãÏ?ÿôòòbʉ‰‰ëÖ­«¨¨X¿~}}ûùý÷ßÿý÷_¦éââüÃ?ܺu‹©¼yóæèÑ£cccUUU«Ÿß§OŸŒŒ æczzº··÷ÿýгgO¶Ù¶mÛŽ;Æž²fÍšèèèÇ35£G eÊB¡0===00022²S§Nõ½œ£U+:y’œœÈÕ•nÜ .—^¾¤)SÈÀ€Nœ ¥:&ÿü“ÞL=%&ÒºuTQAõŸzúýwz3õI..L?ü@o¦žnޤѣ)6–jšzЧ>}èÍÔSz:y{ÓÿQ@IL=mÛFo¦žâãiÍŠŽ¦7SO£GÓ›©'¡ÒÓ)0"#Iާ¾ ¨¨TÊØ2I÷IíÝ]VVáîÞaÂs##U.W‘áO>¹V÷ž¦¬Š 1Õ¸GYY­a½çžêDSнûÛ•#QQùì!€M [ÙÁ8zô¨§§gjjjAAÁ‘#G”””víÚÕ€ÕgΜùûï¿322²³³W­ZU^^>f̘ôôô+W®ÄÅÅ 6,55ÕÛÛ»ÆÓ-Z”‘‘áää&ž}Zý\@péÒ%CCC___---"²··?~ü¸ƒƒCxxxLLLÛ¶m™–‹/^²d Svss‰D3gÎôññ6l˜¾¾>ÇëÝ»w¯^½ˆHMMÍÉÉÉÉÉ©úprháBº}›þú‹?¦à`úå2äÝg­]Ko¦ž¦O§³gÉLJ’’¨žSO?ÿLo¦ž6m¢ýû)3“®]£î݉ˆ45iëVrt¤š¦žºt‰ É×—´´ˆˆìíéøqrp ðpЉ¡7SO‹Ó›©'77‰hæLòñ¡aÃH_Ÿx<êÝ›zõ""RS#''úH¦þƒ‹ˆÈYµêÁüùí UŸ<É[·.¢¼\ÿüÖÂ…íô45•32Jbb ||¦O·îׯUƒ¾çžýû2;³nÙ9~;%%Î?ÿÄ]¾œª«Ë1â] DyÔ"“UÞ‡bmmMD………õíG2­   `nn. ™LˆÒÓÓ«ŸûâÅ‹òòò2™†’’ÒÈ‘#Ÿkk"¢úO}¥´‚‚™›“PHSOÌ,Ô4õôâ•—ÓÀ$1õ¤¤D#GÒ“'Äç¿MvTžz5ŠˆˆÏ'"RQ¡ýûiþ|ŠŒ¤Áƒ©K4ˆ>ž©ÿ°F29s&ÑÇ'­±±Ñüúëv56vs³ J_¿>býú×›¶ØÛk·m«•‘QÂ|œ4©MPPšŸ_ê?>”Ñг§þ?ÿ øÀƒ4O-reGÝ:vìHDK—.ŠŠ*..~øð¡‹‹KJJJ㎢®®þé§Ÿ¦§§O˜0áÁƒB¡ðÙ³gnnn?vpp`Ÿa!";v¤¥¥åææz{{/Z´ˆˆ&OžLD¡¡¡cÆŒ9}út|||iiiZZÚ™3gˆ(..®q£mvÊËiÊÊÊ¢cÇhñbZ°€NŸ¦íÛß·ÛŽ‰ˆ–.¥¨(*.¦‡ÉÅ…{êI]>ý”ÒÓiÂzð€„BzöŒÜÜèñcrp ‰©'Ú±ƒÒÒ(7—¼½iÑ""¢É“‰ˆBCiÌ:}šâã©´”ÒÒèÌ""¹Ÿz€¦'‡+;ÜÜÜÖ¬YsëÖ­:05¦¦¦Ÿ|ò ³æ¢yxxܽ{700°Gl¥††Æ¾}û$›¹¸¸,]ºtéÒ¥lÍôéÓ™µ"‘èâÅ‹/^”lÏáp¦M›Ö¸¡6;+WÒ´m DD´c……ÑʕԻ7 xšvs£5kèÖ-z3õdjJŸ|B=õäáAwïR` IL=ihPå©'Zº”$¦ž¦O½ÖC$¢‹©òÔ‡Cr?õMOWv¨ªª^¾|yäÈ‘jjjZZZ'N iÕªæ— 4»Ý†µµuXXØW_}ejjª¤¤dhh8uêÔÐÐО={J¶_¹råÎ;íìì¸\®••ÕÆ<ÈêÕ«×Å‹]]]­¬¬TTTLMM¯]»æââÒXÑ6GgÎÐöíäìL?üðºFY™Nž$]]š2¥æ=A¥¤ªJ—/ÓÈ‘¤¦FZZ4q"…„PãMýÛí6¬­),Œ¾úŠLMII‰ iêT ¥ÊSO+WÒÎdgG\.YYÑÆôfê©W/ºx‘\]ÉÊŠTTÈÔ”œéÚ5’ï©ø 8쾞Òpuu%¢“'O6Y<ÍÚÚµk7nÜxçÎÞ½{Ë:–¦Åáp/^üÇÈ:fcíZÚ¸‘îÜ¡–<õõë7==½¨¨¨Ž¶¶6žžé£G×Õ¤qñ¢†»»Ÿ+ë@à$·â€æ@Wv4‘””___"²´´”u,ða¥¤¯/¦ %@²C*ß|ó™™YxxøÀŒŒd|@ß|CffN¦ %@²CZzzz&L8qℬNO&L L=@ !‡oci {÷îÝ»w¯¬£YØ»—0õ- Vv€\A²ä ’ W°g´ ¹ çžœs²vr0qu,U¥¤>Ly˜œŸ¬ª¤ÚɸS³ÕÛ÷‘\Ž‘1(Ãù€óã´ÇqÙqÖúÖD4Ünøä.“Ûè´aÛ܈¿ñÕ‰¯þ{ößæO7s¹2ˆàÿÙ»ó¸³7àÏíÞöí¶ï«¢¥´Ø©D¶PDù1Æ a˜±ŽÒ0c4a¬ÊÞ"¢B–h²TH‹ö]ºE´owùýñrçj¹ÝÒÊóýÌ÷=÷¼ç<ç=f¹Ï¼ç„¾h]Kvèêê O:µ—¢A„ŸŸŸ¡¡áäÉ“û;Ô“®_¿þe$;˜,f|A|:-]TPt¼öxUÉOÕÂhyÿ è}‹ÅÒÒ°Ô´¢õ^0B­žÈ‹ÉRu3ëf}K=Q2Rid«»l´l´e´sÞäÔ5× w˜ìyRZ]:^{¼‘²QGŽB!„ЬkÉ™ýû÷÷R4h€ðóó›JÁ»‚¸ü¸¬Š,.ÉŽƒñL—eEe;Mv¼kx”Äd1ËkËc²cjšjöOßÏÞ|´­“ 'ßÔ½Ùa¿£Ýoß7¼_¶âÙ«g»wÏ9‡{×!„B¡¶0ÙLZ®x^a¿4ðÛíßþyò‘Ψ¬¯Ô’Öºây…ÄGT¨¬¯¬¬¯äÒà*ËU¾ÙÑiT•õ•þqþÄgAŠàÖo¶N:¥£Ê·snïÝë¤ï4ßx~ÛoóÞæ- YVÕXè8FmL§]#„B!„ÚÂdBh0™n0syˆ‡©ÇчG“J’ˆË)æ< ¸”|i’Î$y1y‘–‘æÒàjëÕŸ•´ˆ´—µƒÉxS÷æAþïÞqùqÏü»ívÎQQk¯®¤3éi´m'±$ñà¿¥E¤C…hJi~~`!„B}0ÙLÔ¨jœ—|$>I•”²ârÍuªzxZøŽ˜""&Ê&ÎÃõ¹4Ø#{vH KyY{ŸLÆÊË+oeÝŠÎŒvÐsà¬v)ùÒÖè­vCíüœý(|íüã÷IÑ“ªÆ*'}' ª÷Ñ×$ÃÏï›››¼¼|G‚B!4h`²!4˜¿/æ¼d±X¯ª^IJ—|$¾9#çÌ9‡ÉbTÜͽûãÕÓÊÒ~šðSG öÈžœÈ|dûaö1Ù1i´4ÎdÇÑGG÷ÞÛë¨ç¸ßy?™Dn÷Þ–+ * Î>;ÛÄhÚi¿“Ì×~5ô•)¸pá‘#GìììÜÝÝÍÌÌú;„B¡A“pñâÅÇûùùw^» ØÀ—‹ ß;ì7ßÏXm`=ÆØw5ýê’1KØ+YN&ž|[ÿv’Î$âònÎÝqÚãÈ|d>Ÿ¶Œ¶¦´fPRPhJ(—dÇgîÙñâõ uª:U˜Ê.ia´\I»²¢²ìÂ=w÷||ºáô½S÷v”é|§øJ I~x¸ª±ê/ç¿ÈL‹¾ö÷ïßŠŠ tuuÕ××ÿöÛoœœÚ.’B!„Bl˜ì€âââØØØ÷ïß÷c AAAÿüóÏFŒ1 ûWÇfž¯ï×ù}ôOÜ?ÜŒPá˜ßØ`$Ì/ì|Òyʰ)rbré´ôø‚x‰ô¿1ÿ#¾]yy¥”°Ô(ÕQjTµFË£¢G%U%zòz\üÌ=;®¿¼~öéY 5ªš¿HymùƒüoêÞHILÕ›JÔ9üððñÇÇ%„$Ô©ê‡âqÞîjì*'&תÍuã×I‰Híº³ë—þwdöQÑω}œ_¼xqúôéuëÖlذÁ¢¿CC!„ 0ÙóæÍ355íß·' ccc«ªª8 B`_€yfóL5Mû÷í‰ÂÊÂØ¬Øª†Oçw6-1[ò ÿñêPø(›m7³O–¤3éVÖ­¨Œ(v}UIÕß~ë½xŒ•#Ò#îåÞã,"3d¯Ó^v£è]T7Vü÷`«Û'Ü6ÙKÌ–H InŽÚ¼ðü€¹RÂR½=lF޹oß¾ï¿ÿÞÏÏoáÂ…VVV7nÔ××ïï¸B!„Lv€šššššZçõúÜ€ lpQ“VS“ˆqÀ6`iHixY{YhX|kñíƒü™å™""†LP•Te×98ó`EmEbIbñûb-i­±cÙÇÐö=»¡v‰%‰9orª›ª%…$  G*ä\bðÍÐo”$”Ú½]VD–st&*&ì¯f˜­ ¦ðôÕÓø‚ø©úS{ohÐ2dÈâãã÷ìÙãììËb±lllV®\éïï}åÊIIIvµ;wî„„„äççóó󛚚._¾\AAøêرcçÎ;qâDKKË¡C‡rrr<<<&NœØª/^ihh8vìXVVÖŒ3V¬XÑîÖ±±±¡¡¡¹¹¹"""£FZ¾|¹´t‡§W2Œ .DGGÓh4iiéI“&-Z´HHH¨U¿555GŽ),,TVV^²d‰µµ5Qaݺuaaa°zõjâûùùµ ŒÇŽ:}J=«¡¥áð½Ã±™±,`ÙèÚ¬œ¸Òÿ¶tjô•UW$…9æ7ãNHRHþ›|~2¿©†éòñË$>NÍýcçŸ;±øD £åÐÝC9å9  –õÚÌ/4´4»,‹–5ÃxÆŠ +ÚÝ#6+64)4·"WD@d”ú¨åã—K‹v<¿LÆ…„ ѩѴjš´¨ô$½I‹Æ.âÿøØ?ö[ÓXs$öHáÛBeªòë%Ö:ç÷Òº°§a°úÜjâ«ûÍ÷kuú”¾TD:€ø<^{üxíñíV““kuJo#ó‘ÍÕÍÙo—´e«ck«c˽ÎѱYkY[kY÷@ˆèKdiiyùòåK—.íÞ½;!!ÁÏÏ_ñ@!„bëõdGUUÕøñã“““‰Ëˆˆˆààà!C†ÄÆÆ¶´´…L&ÓÓÓ300}WDD„¿¿ÿÍ›7Gyyy±±±×®]Û²eK}}=Q'((èâÅ‹...]j$$$ÄÇǧ©© ¡ÍÖ ÃÃÃãÌ™3ìvBBBvïÞ]YYI&·³­`]]½½}\\»äâÅ‹Œ‰‰!Ž $ú öññinn&ꜹøãü&G'‘›ÛÂø8¿,¦çIÏÀ‡S“áÇÿæÚ›£ÔG@^E^lVìµ×¶\ÞRßü1òGA¿½èbêÒ¥FB’B|®ú4Ñ›ÀPÙÚlÁ`2rRaÒ‘Ø#DZùò渜89q¹ öô•ô Þüqã”W)ß}ö=Çü^õ¶nï:ÆUˆ_(:5úøƒãk/®l0y˜â°}.ûüïøÄø»ú”REÚ›_Þ:âþ”B_!eeåÀÀÀC‡mÙ²%##cË–-ìå!„B}µz7ÙA§ÓÅÅÅ>|¨¢¢ŽŽŽNNNœgްX¬?ÿüSQQ111QJêÃ&|³fÍ’’’Ú½{÷£G,--‰Bww÷'NŸ§M›–[^^.//Ï{#ÎÎÎÁÁÁÌd2ýýýùùùïÝ»gffÆngÆ J;ÏŠN§ ÅÅÅ :”(œ7ožžž^xx8Fc/¢qrrb§$fΜ©¤¤´}ûöS§NíÚµËÈÈHKK LLLØk[ºÝ—§ÔѨ»Î¤> ¸é¡ UG8:9ðþt~oý©(©˜¸5QJäãÔŒš%%"µ;j÷£¼G–C>ί…û‰Å#7š–MËŽÍŠ-¯)——ç½gcçàï:ž_Óÿ¶??™ÿÞO÷Ì4ÍØíl°ß@áko~™ô€¸!~¡¸ qC>>vÓyz¿è…?§UÓØ‹hœF:±S3Mf*I*mØ~*þÔ®Y»ŒÔŒ´dµÀDÝ„½¶¥ÛqyJ!ôÅ#“É^^^:::?ýôFÛ¿???…B!ÔŸz÷þäååÕÕÕÙÙÙ™‚®®®••û2??¿¢¢‚Á`¸¸¸|óÍ7¶¶¶“&Mš4iÒµk× ##ƒ]ÓÍͳqbqÊÛ·o»ÔÈ¢E‹¸\YY9aÂv¦ƒ !!ÑQýÚÚÚ‰'² ##3g΋õâÅ vá’%K8o$.9+pÇ{G\žR˫ȫkª³3°#2]y]+Žù}“_QSÁ`2\ޏ|óç7¶ûl'í›4iߤk/®@ÆkŽù5ÿ4rQð¶öm—Y4–ëüVäUÖUN6é Hw0¿yµMµ‡Md' @FLfÎè9,ëE ÇüZ:¿ÖK€³w¼wÄå)!„¾rŽŽŽ§NŠ‹‹ûá‡ètz‡ƒB!ÔŸz÷ÍŽ††hoQûå ¨­­€ŠŠŠÛ·o·m½÷´Ú"T@@ F—QUUm[¡UÀ²²²\êpjlll»„ø–Ðê!ˆîz¶#.O©Ç547@{‹2Ø/_@mS-TÔTÜ~ÙÞÔ4sÌï§[„ €Ádt©U)®óÛÒ²b<ÏoKcÛÀØ%Ä·„V¨@t׳qyJ!dfföÏ?ÿxzznܸqïÞ½œ§!„B}Uz7Ù¡¬¬ Ïž=ã,d2™ìýJ@EE…D"™™™íÙ³§m ººº¼tÄ{#ÜÿËhçÉ“'---¼¼¬¤¤IIIL&“stBB|>áéÓ§œKT‰î8£êh[.uÔ—”©Êð¬èÓùe1“K8æ—ªB"‘Ì4ÍöÌnojx›_žéd~©*$éIþ“F ?™‡ù•T€¤Â$&‹Éy|iBA|>áiáSÎ%*‰‰Dw¢‚Îæ—çŽBˆ»Ñ£Gÿý÷ßÿûßÿ† ²bÅŠþ!„B¨ôî2999##£§OŸîÚµ‹ÉdNß²eKNN»ŽŒŒÌøñãŸ>}š••eii9á# 7nð¸ÓD4ÒÒÒ666¹¹¹K—.­¬¬$ kkkwîÜIÄßv€£FÊÈÈØ¸q#q¸ ‹Åò÷÷¿uë–¢¢¢‘‘»æŽ;ˆzyy€Q"&&¹¹¹Æ{G}IN\ÎHÍèiÑÓ]‘»˜,&Йô-—·ä”s̯˜Ìø¡ãŸ>Í¢eY±œ0lñ—†ŒÆ´<î4Ñ#€´¨´®MnEîÒÓK+ë>ÎoSíÎë;‰øÛp”ú¨Œ²Œ¡‰ÃeX,–ÿmÿ[é·%Ô8æ÷ú"Á…o ½Î{€ÁÇù€ÜŠŽç—çŽB¨SÖÖÖ[·nÝ¿ÿ£Gú;„B¡þÑë¶ÿú믰yóf%%¥1cÆ())íÝ»—Ø ”}’ëDEE—/_.++klllaa¡¨¨¨­­½{÷nÞ×_ôH#àçç'""¨¢¢2|øp###™­[·¶›ì€ßÿoïÞ½ŠŠŠÄøá¢œsOSUUUsss===##£¡C‡¦¤¤Ï›7øÖÄÄ–/_>f̘ &¬Y³¦Ûõ±_€Í—7+­S³sŒÒ:¥½7ögްOr=àz@TPtyÐrÙµ²Æ¾Æ¿Y(®SÔÞ¤½;j7ïë/z¤ð›ç'" ø0På'•áÞöɬ‘Ù¾µÝdü>çw>ßÞ{×)ŽÙ9Fi½Ò~€ßgÿι§©ª”ªùoæz¿èm7ºuhÊ«c5ãyfçWÍ–-³sÌ„½Ö\ho~yë!„xáîîngg÷ÓO?UWW÷w,!„Bý ×“Ó¦M;}ú´´´tyyyBB“Éèõ_®ü²1l#ñ~D6-»¾¹^LPlƒ=Î/êaÉ¥É{îîYdºÈ~˜ýç·v#óÆíœÛe5et=`^€E¨¤ªätâé‚wuMu F-˜ª?õó{áÑý¼ûGY3n͵1½ÚÑû†÷çžK.MfËPÑÐÍØMNL®óÛРÅÇÇ·lÙ² 6¬[·ŽKª!„BèËÓë{vÀúõë………ÓÓÓ“““ëëëGŽ£¥¥Õ]£>°Þn½0¿pzizrqr}sýHÕ‘1ëb´dq~Q«j¬zRüäuõëÏoêì³³+/¯ K ‹/ˆRü„Éb¾kxç|ÒùdÂÉ»9w{ªÞUÔU<)~RY_Ù«½½/rüÇñÏûÞι}'çθÿ8dUdõj§¨ß999III………ñRyĈnnn½RGª««¯]»¶víÚQ£FéèèìÝ»·Ýj¯_¿^¿~½¹¹¹ƒƒCPPPÛ¹Ö±²²ÒÑÑ6lFkuozz:ñåìÙ³{pt!„êc}ñf‡ÏÖ­[ ***”••544ú ÓãÛo¿µ··ÿ‚×KûL÷Ùê´µàMAEM…2UYCæ+›ßqßÚ·J!á` IDATït… P‚“ƒ)|”_¾ùE[F›Ä'H¼–~­ª±Ê~˜ý\£¹‚Auj;»® vë#Ö—×–VíiæI&‘Ï=;÷ ÿÁš«k®-¹ÆGê‹Ä7ê ÅÑÑñÚµk«W¯îïX:ñË/¿\¿~{ׯ_Ïž=»¼¼œ¸ÌÎÎÞ¾}{nn®O—ê™Lf2™aaa+V¬à,¿té…B¡ÓéŸ= „Bõ§>ú\ …¢££3vìØ¯-ÓÚÚÚ&Lhµ+ê†ÂGÑ‘×;dì×–ém9í Ã&´Ú p¯ª^ “¶`Ô‚±cÍÕÍÉ|äWU¯à[‹oÇi3W7W’Pêï{XriòÓWOÕ©ê§çŸ¶f?yèäsO*fUdý[ðoG‡z×”)Srss‹‹‹;­™’’rîܹ>©]’’’NNNþùçÎ;;ª³gÏžòòrKK˘˜˜´´´C‡‰ŠŠž9s†ó3^ꀈˆˆ¹¹yhh(gasssDD„­­m!„B}¬/Þì@¡T^[˜ø’öRD@äÝo¦Lg[s7çîñÇÇ[m~Aþ8þGSUÓ ¤ ¨Œ¨ê¦êæwÍngÿ{]¿¸ª¶ÝØ&Â/ç|ø½—_™ššU‘EgÒµ¤µæŒ˜£¯ O|ÅÞCÄLÍìÌÓ3ieiòbò;ìwp¿‹]ÝT­+«»Øtq/>¬ˆŒÆ\£¹B!¢„L"/µpSÔ¦ûy÷m´lú Ô_LLLŸ)~uÍuÄN©e©œ—çžÛ~s;ƒÅ .ïçÝ?óôÌNûsFÎ{ˆŒTé{Ë—ˆÇ@Á Ó»`Ãõ ¡)¡ìoCSBçÏïtàîçÝL— Taêß³þîèÛœ·9`¤lÄYH\æ¾í汦h°>|xrròìÙ³ïÞ½{òäɬ¬¬ÚÚZ›eË–±1bĈ#ˆ—;–-[v÷îݶ­ùúú²÷õxòäɉ'ž>}Z[[«¨¨8eʔիW÷Þ›ŒÏž=£Óé'N$²„éÓ§ÿúë¯Ož<á½Û”)S¼½½CCCÙÉŽuuõ1czw«`„BõLv „“Ó‰§µ¤µÖج‘•K£¥|<*#*D;Äe¤ /·»vŸÑiäOŠŸpOvÈŠÊrù–Èõȉ~röм˜<¼oxßiïh°ÓÖÖ.,,¼{÷î²eËØ…¹¹¹¹¹¹eeeä± …2tèPâóùóç·mÛÆÞø³¤¤äŸþ‰¿té’°°0,Z´(>>ž{ƒ7nÜ2d½;•JUPP(..f2™|||¼Ôa— 999]½zuÛ¶m"""¯^½Š_³f ûe1„B ^˜ì@ &rbra‹Ã„ù…`¢ÎDSUÓ…ç^|~‘Çd‡†”††”…"& f®nÎ.¿ŸwF(Зÿ°Þ$àI“Å ˜0JeQ2Qg¢±Š±çEψôˆc?ìh(/&ÏŽV]^Åý®àä`ðsö³Õù°)ÀtÃéSÿ™š_™Ï=ò ×vŽœàÄOæçò-ñ¦ ™ÌYH\¶0Z¸w¾=Љ‰€üÑÅÅ…J¥–””üûï¿Dv ­ãÇs^¾zõjáÂ…6l055€âââíÛ·KHHlܸq„ ’’’EEEýõWTTÔéÓ§¿ûî»ÞEmm-HJJ¶*§R©eee ¢¢¢¼Ôá,Ÿ3gÎ… "##çÌ™J"‘fÍšÕÁ#„B¨a²!4˜8ê9²3 @¼.‘Y‘Ùã%¿N&“È~ü€Åb±€t>]÷a?Ìž3žNïʬȤ SÙ™ L7˜þWÜ_ÜãáÜ…¤„)ÂP×\ÇYH\Š ˆ¶ú‚HHHÔÔÔ(**€³³³œœhiiñx —„D«ª0µ´º”Ë-ÜWt¤¾¹žÁbÄ´ó~cK#ûs«s[:½«‘ÞH¢¶úŠ*ܺ¤­ÏܳCER Þ WÎ.$^'!¾B_6QQѺº:OOÏ'OžL:uüøñÇ>|¸©©)??·w‚àÍ›7‹-úî»ïœÙ…ÙÙÙ°fÍš5kÖy‹E|è½5 âââPUUÕª¼ªªŠL&kgx©ÓÊœ9svïÞ}îܹW¯^ýüóϽ:B!„ú¾ÙÚÇý…y„úKZYçe]s]ÞÛ}ÚÊʪ7ÿ„‰‰ …B¹{÷.çp®^½Êb±ØÇ©ðR§YYÙ &ܾ}{Ú´i}0„Bõ|³!4˜èËëo¸¾áÏØ?åÅåó+ók›jEøEØÛ…êËë*¦–¥Žû{œ¶Œö›º7¯ª^)%¿NîjGKÍ—ÞʾuîÙ¹KÉ—4¥5ÅÅ+j+^×¼f0sº}×Ró¥a)a1Ù1–-µe´+ë+K«K  ÒiéÜãùÌ=;$…$½¬½öÜݳ˜7oïuÚ:zôhφŠB¡~‡É„Ð`2søÌI:“Ž=:F«¥€¦”æ^§½Ä @"‘öLݳòòÊÂw…ɥɂÁÇý(+*Ûd‡¿Èy·ó{c÷†¥„å¼É! ©ÂÔ†3  »}—‚˜B kàúˆõÙo²SËR)|O3Ï¡²C7Emêj„]µÌ|ƒÉ8üðpö›l¢yšy®±YÓÛý¢àõë×rrreeeÁÁÁàüÊÀÀ@GG§í-Ë—/ñâÅ‹/þøãÎr___777MMÍ_ýõ—_~Ù´©õÝåË—w/ÈK—.mÞ¼™}yôèQ"±páB¢pÆ ?þ÷ßmmÿÛåwáÂ…ÆÆÆìK^ê „B苇É„Ðà0RiäY·³RŠâŠKÌ–äW拈èÈè´Ú QO^/æÛ˜ì7Ù ômimqAñòÚò³ng‡Ê e×9îrœó˜o<œö8 ) ÎB1A±ívÛ·ÚnÍ}›ÛÐÒ (®¨ ®ÀGâkO«8¹ß† †QK£rßæÖ6×jP5¨ÂÔŠÚŠ³ngue{}ûØïÆ~çaæ‘û6—Éd‘"Â/ÒÛ=¢"55ÕÚÚÚÓÓ3$$$&&&??ŸÅb)++ÛÛÛ{zz¶»“Ezz'oÍ;WOO/ àÉ“'•••ÒÒÒšššS§NåÜÇ´Ç)))…††îÛ·ïÁƒµµµêêênnn .ìj„B}ñH]Ú‡’Xó{v|ñH$Òš5kpÏŽ/LOýýK£Ñjkk¹TÐÑâïOstäV!Ä‹ÈH1//…œœÜΫv¬¥¥eäÈ‘¿ÿþû´iÓz*0Ô ïÛ¬"„B¨o´ó?sB!ôÅHHHhiiÁE!„úªô|²ã·ß~;uêT7ûùl`< ñÿöÛãS§Rû;Šv ØÀx4ØãG Xׯ_>|¸ššZ‚B!Ôw0Ù1ùúú¶ÝÄ~€ÄÿÛoNJëï(Ú1`kË×÷a``ëPQü¡A„N§ß¼yÓÁÁ¡¿A!„êS=¿AéæÍ›•••{¼ÙÏ7`kË××w„ ‹-â, ñoÞl¡¬,ÚßQ´cÀÖ–¯oü„ j‹}r¢Ç Š!4ˆ„‡‡×ÔÔLŸ>½¿A!„êS½’ìèñ6{Ä€ ŒG$þÍ›Íû;„ö ØÀx4ØãG @ ãèÑ£³fÍRRRêïXB!„úTÏ';~ûí7eeev N¿}ûvjj*ƒÁÐÓÓ³³³juWRRÒÇ«««UTTäååÙ÷îØ±COOoþüù7oÞljj;v¬µµu«jjj""" UUUg̘Á`0üüüÆŒãèèØ60Þ›å[G¸Œ—³ßçÏŸß»wÁ`X[[››ø¡[TTÀd2óòò|||ˆBMMÍ.=Ø. °K~ûí±²²¨‡ÇpŽ0˜·o¥¦¾a0˜zz2vvBB­ÿ\%%Ñ>,­®nVQspÐ’—aß»cÇ#==éùóõ22*oÞ,hjbŒ«lm­Òª…ššæˆˆÜÂÂjUUñ3t –Ÿ_Ò˜1ŠŽŽÚmã½Y.±u„Ëx9û}þ¼üÞ½bƒem­bnþágFQQu@@*“ÉÊË«òñ‰' =< 55%»ô`»4@„ÐW+,,¬¨¨èŸþéï@B!„úZÏ=+&&fjjzïÞ=â2==}æÌ™YYYì ***—.]²´´$.i4š››Û;wØDDD<èéé ÂÂÂÎÎÎcÇŽÝ´i;Ú¥K—?~œ}Kbbâ´iÓÊÊʈK%%¥£GNŸ>}åÊ•lÍr­]ÜÇËî×ÀÀ`×®]ì: .ûãÒ¥#ŽŸÂ¾%1±lÚ´ËeeuÄ¥’’èÑ£vÓ§_^¹ÒäàAÛ¶ñØ,÷ØÚÅ}¼ì~ dvízÌ®³p¡ÁÉ“ö _\Ü+›ó­Ú¼{wÞ„ j]z°<°ìëë–˜˜èêêD&“‰»ÇŽëççwᢤ¼¼üòåËÎÎÎÄå”)S/^Iüh?þ|ii©½½ý•+W ¾¾~òäÉåååÜÃãÞ,±ui¼DµŠŠŠS§N-^¼˜¸|üø±µµõþýû7oÞ¬®®îãã³cÇmmmö2–nwÄ}€ŸïܹŒÂÂjKKå›7]DEù ¥…éêz-44ëðáç¾¾VaaY‰‰e®®zAASÉdqWbbÙØ±çüü’.\púgýåË3œu>Æ©¹xqTddñ£ýüùŒÒÒZ{{­+Wf ¾¾eòäàòòzîáqo–ÇØº4^¢ZEEý©S‹Èe<~üÚÚúüþý‰›7›««KøøXîØñP[[ÒÇDzÛ–—"„¾fÿüóÏÝ»wƒ‚‚„……û;„B¡~лɎøøxؾ};ñƒøùùwíÚúï¿ÿ@LL ˆ‰‰íÚµ‹XjÁb±X,•JMLLd·cbbÂþÅÄ6¥¥¥ÄåÇ`Û¶mD¦DDD¶lÙ2uêTîáqo–ÇØº4^‚®®.;Óæææ3fÌ IOO9r$÷˜»Ô÷~¾øøW°}»ñƒøùùví² Íú÷ßWSbb»v=þø ÅbQ©‚‰‰eq*°±± Gié‡E–À¶mc‰LˆˆðoÙb1uj÷ð¸7Ëcl]/AWWŠéss¥3tBB²ÒÓߎ)Ç=æ.uÄ}€¡¯A]]û_l±±±¿ÿþûÆÇŒÓ/Q!„Bõ»ÞMv¼{÷´µµ9 µµµI$Ree%TTT@§»H¨©©q^Љ‰@KK g/­Öz´]úÑÕfyŒS§ã%hiiµº‘(!nïÁޏðó½{×ÚÚÔOà’HPYÙ püø îí¨©‰ç‡w8{ÑÔ”ä¬Óê²Íò§NÇKÐÒjQBÜÞƒq Bè‹—ššêååÁ™ïHHHX½zµ‹‹ —í¥B!„¾x½›ì’’€¼¼<Οåyyy,KZZš]áûï¿—“ký¼ED:9£U/œGë|VèÝŠ­Óñòóó[ÝH”·ó[§õ6))!ÈË{¯­ýßÏû¼¼÷,HK ±+|ÿ½±œ\ë'&"ÂëŸ=¢‘‚‚*ö^ÄåçÅÞØ:/!?¿ulD q;ï±uڀДР×7œyÐ~˜=¤¼N™yz¦—µ——µW‡6DgF¯º¼ê¬ÛYsõÁqòñý¼ûK.-Ùb»ÅÓ ÆCvvö¢E‹ª««Ož<¹jÕ*¢0..nÅŠãÇç²!„BèkлÉKKË“'Onß¾ÝÒÒ’HÐétb[x+++°µµ  ÓéÛ¶mãããcßXVVV\\Ìc/cÇŽ=uêÔŽ;ÂÃÃùùù ±±‘ó¬“îéFlŽ—}úôiÎ=;ÂÃéTªQ"$$Äù‚F·;êm––*'O¦nßoi©,"Ât:sëÖ8°²R[[õ€€:¹mÛX>>ûƲ²ºââ{;VùÔ©Ô;…‡Ïàçç€ÆF:çY'ÝÓØ:/!;ûÝéÓiœ{v„‡çP©‚2D‰…ónw„úEbIâü3ó׎[»ÒreÇò¹îäÜ‘’0U3í—Þ¿¤'Ù÷ŠŠŠ,XP__ÇŽ[¸p!•JˆˆØ°aÃÔ©SwïÞÍÞj !„BèëÔ»É77·;vÄÅŰ IOO—’’Z±bÌ;×ÏÏïØ±c7nܰµµUPPx÷î]vvöýû÷üñG333^zquuõööŽŒŒ1b„ƒÁˆŽŽ&ŽÆ$‘HÞÞ‘nÄÖéx rrr/^>|xQQQXXN_»v-…òa:tttž={æî¥ÅÇÇçááÑjUõ677½;ÆÅ½208É>4$=ý­””ЊÆ0wî0?¿¤cÇ^ܸQ`k«¡  òî]cvö»û÷K~üÑÔÌL‘—^\]õ¼½ÿŒÌ1â”&ƒÁŒŽÎ¯­m€Ï˜ÞîÄÖéx rr"Q/f .[TT–E§3×®5¥P>¤Ìtt¨Ïž•»»GjiIòñ‘<< [­Êá±#ÔÖ¥9sú;ŠÁÉbÞ˽7^{<™„¿Š™²²277·êêj:ÍÍÍ §NòððØ´ig‚!„BèëԻɑÈÈÈ™3gfee9r„(TVV¾té±ä„B¡DFF.Y²$""" €}£ŠŠ ïÛª‰‹‹‡‡‡OŸ>=33333÷íÛçîîÞvÛ6Þu#¶NÇK°´´ÔÓÓÛ³gOTTQ²`Á‚Í›7³+¬]»ÖÓÓóÌ™3Äå„ Z%;x쨷‰ˆðGFΞ93<+ëÝ‘#Éûti±ä„Bዌœ½dItDDn@@ ûF±1cxS\\ <|Æôé—33+33+@QQtß¾ îî‘ìý;»¡±u:^‚¥¥²žžôž=O¢¢>¬WZ°@óæÿ– ¬]kêéuæL:q9a‚Z«d!ô9ž½zVY_9IgR‚º¦²²rÁ‚oß¾%2@§Ó=ÊÏÏ¿oß¾éÓ§÷ox!„BDÏ';6oÞ¬¬¬Ì¾400HKK‹‰‰IMMe0Æ ³··úoßYYÙ«W¯fddHO«¡!Á~ãÍ›këó™™•ÉÉ‹y<̵o46Ò……ýœuÂÃgôw,íè©¿i4±L¬#::CüýiŽŽ=|n½iNàœ—å/Ù%$ÉQÏñúËëmPJüwÐs¸™y“Áb€‚Á+믭¿’v¥UûóŒæítØ ,kÍÕ5×_^oUáôüÓÏKŸ³™³ålÌia´,<¿0©$‰³œD"m·ÛîfâÖQ$W=¯Î:=+÷mîÃÕEøÿÛ(×í¬[JYÊ¿+ÿ•’h÷Q û}ƒÉàò¬dEe­~ĥ؟°—•=ãzöÜÝsüqë“§¼'{»v®ÄJÓª£¡UÔVŒ=8¶Õ-dùŒÛ353v²ƒSÎÆ^úšn8=:#º™ÑÌþÖLÍìü‚óÜÇ;HEFŠyy)äää@CCƒ»»{jj*ûNüüü÷îÝSPPèóÀ!Cú;„B}¢w—±ô™ÈÈÈÝ»wÛÚÚjjj–––^¿~ýÝ»w“&MP™Ôm‘‘y»w?±µU×Ô”,-­½~=ïÝ»ÆI“ÔT¦õ¶À¤À—å/µe´}&û«WÖWtüì³³Þò/ö) IDAT•åbäò­ù·êTu29<5üJÚ•arÃ~žø³‘’‘ E0µ,Õ7Æ÷bòÅ9#瘨˜„¤„\y*L]7nÝ„!¨ÂÔœ79矟ç'ó¯´\i®nÞv[Í §AI%IÊÊ>v>cÔÆÔ4Õ¿>øïÁ·wNÖ,'&×n$°Øtñºˆu—S./µ€¨“ó&çIñ“£t”éèÅï‹sÞäÌ3šG\Þʺ%Ì/ü‡Ó–š–>JAeÁ•ô+"ò/\HGH$’µ–õ¢Ñ‹  dEe««ž=ùùúÏG1S3ëèIòÒ×Õ´«n&nÿó?q…´²´µW×&'¼¤½ÔWÐï½'Öï===;Êt‹Å:r䈷·w†B!40}!ÉCCÃÆÆÆK—.±KLMMÙ{^ ÁÎÐP¶±‘~éR&»ÄÔTñÌ™©ýê{ÑÑ$éÐÌCº²º ")²}ÊöüwùññÜo4V6þÍþ7ö•”2ù伓òbòD‰™šÙþiûíOØÇdǘ¨˜„¥„À_ÎYi~8Ûh„ÒˆJ#¸tù2ügø+€˜ ˜—µWymù…çnçÜžo<¿ÝHÀQÏq÷ÝÝgŸe';Î<=‹F/âÒ]æÏ™\¾åELv °7ìP”P€o†~C,ÑWÐçLðò@ÚMVTvýøõGݽõmÝ[â¥ȬàVý­Å·>7}2*2¾àdGKKËŠ+ž?ÞQ¦ètúùóç—-[ƹà!„Bè«õ…$;JJJîܹ“——G&“MLLÆÿ9G±ô’v·Ò@rpÐ*)ùî΢¼¼÷d2Ÿ‰‰üøñjozÛßJõ”Â÷… b D¦ƒmœÖ¸N“VšVœÿ4È®Èf06Û‹Åb‹ø¥Õ¥û6WRH’ýc›§ØÞR…©D¦ƒm’Τ Ï/¾+ì(à'ó»»úÇù''˜©™Õ·Ô‡§…[kY‘éÝWâïäÜ"3DCJƒ¸Ü2iËÊË+'™d£e£¯ o¢lb ðßæ>¼<¶C{úêé‚s Z­·–h¤s;w™—¾,Ô?ÙäHªuÍu\nä?üðC||<ƒÑzíqÚ:±‰D’‘‘¹{÷î‚ ú!F„B¡æ Iv•J5kVGÑ …âããÓßQ JTªà¬Yº×ëW ŸeGZkµu%“Å€v÷¼hûËœw$è<ýÖî&šn&n‡>óôŒ™šÙå”˵Mµ¦ÜÛùÌ=;jšjŠ–ŒYÂ.ÑWпµüÖÓ’§I%I E þü¥D¤þrþk˜Ü°N†ôQÛ¡yx¤…Ñâeí5cø 1²‰D²;nWY_Éc›¤r^O¾KûO ", à7oÞ$‘Hd2™ÈwÉdmmm--- uuu555þŽ!„Bh ør’¡/›UãEÙ‹ì7Ùœ/wÜÏ¿ßÕv†È I£¥Å¯Šï¨BBqB|A¼¥f;©+>´É•hHiIouè,™D6S33S3€†–†ÉÇ&oŠÜ¶8 :{ )~_,+*ËybNÑû¢‚Êö^$í>Éîõõ»zõW€$[[[---uuuuuuMMM%%%.‡‚!„B!ÀdBh°°×³O~¼òòÊívÛ”ˆ J;]ÃÒ–‹‘KâõÄE­¶Zm¬l,.(^^[žU‘’²Àd¥¦å¬³ŠÖ\]³nüºñÚã%…$sßæžvÞy¸óµ1’B’Pœð¾á=ûuG}Çç¥Ï¸òƒ©ªimsmÈ‹ Ï/lul; ÉÃÔ#<5|cäÆÌŠÌm“·uºï3÷ì¸s›*L5Q6a—¸¹Ì>sŒÚUªj £%¾ þ}Ã{öz^”%”sÞæ%Í>’J’vÞÞI¼VCh÷Iv¯¯/‹ÅrvÞvû¶ÂÑ£¹ý B!„Ð ƒÉ„Ðà°hô¢«iW_–¿t?ïN”H¤©úSÛSÊݬ᳞= M ý6äÛV_§“Ì1;676:3zKÔÎoõ@SJSALáaáCÓ¿L‰òœ9î£Ü£3¢Ÿ¾zº4x)ç-[¿ÙÊ>Š…‹áŠÃG©ŒŠÍ‹›=bv—†ÓU Cv’Î$âÌBZYÚ³WÏZÕœgüá¬î¤#®&®±y±Ûomß~k;Qb `0Tnhym9qÙî“ì^__ª¸óB!„Ð`Á×ß „O)‚gÝÎ.0Y +*+H4P08<ëð8íq]m‡D"홺dž¿•¦•¤$?™_ª6yèäó[iY‰ïÀŒ;v+ ó ‹ Š)írÜe¡ad>ò¡Y‡LUM…ù…Ùmò“ù]½¬½´e´ùÉü¢¢sÜLÜxŒŠ¨é2ÒET@´«#ê’¤WIUU¶ºŸ¼oº(tᨅ:²:B!)a©Ñª£w9îÚbû!ÝÀýtäÝoþœö§ž¼žEH^LÞÕÄ5È5H€üߦí>Éîõ…B!„P+¤.mêæââÁÁÁ½H$Òš5köïßßß žÔSÿÒh´ÚÚZ.tt†øûÓ¹ÕA­ì¼½óTâ©ÛËo«SÕ{µ£]wv&&þØÛYÔ#"#ż¼rrpË@7dHïž „B¡®êÚ2–·oß–””¬]»¶—¢AGLL Nô&99YUUµ¿£@­1˜ŒøÂø³OÏš©šõv¦îäÜ1W7ÇLB!„ú²u-Ù‘]RRâçç×KÑ #55555µ¿£@=¬¡¡¡¿C@Ÿðó÷ó'>/»¼z¼õí­>è!„B¡þÕµd‡……à2–¯‰D¸0·¿A=ËÅ÷=äÅä—™/ëígB!„úzài,!Ôo¼¬½¼¬½ú; „B!„¾4x B!„B!„¾(˜ì@!„B!„Г!„B!„ú¢`²!„B!„B_Lv „B!„Bè‹òU';þøã‰tïÞ=ëoܸ‘D"=þ¼7ƒB!„B!„Ðgùª“!„B!„úòPú;€þ´~ýúõë×÷w¡.(«){÷ ¬¦Œ¬cW<)~’T’äjì*'&åµåž_0W77W7ÿü¾z¶µÞÃd1“K“=nf4;:kHi´[-©$éÅëLÓPÁpŒú>R;Én.uÞ7¼L I•Ù#f·º1«"+:3F«Ž¶Ò´ê±±!„B!Ô-_u²!4¸$',¹´¤¡¥¸\j¾4¾ þ裣“‡N&’´šœ¿—µW¤'z¶µ^²ýÖöë/¯WÖW—ÆÊÆm“ - +/¯¼ŸwŸ]b¦fvtöQ ! ÞëT5VùÇù€ EðÝo$…$9»8úèè•´+°Üb9&;B!„P¿ûª—±´Ý³£¸¸xÙ²ejjjŠŠŠnnnmo¾ÙñŸüü| ‹òòrâ’F£?þÚµkwîÜ155eWÛ³gÏ… Ø·üòË/™™™AAAý1B_™Ü·¹:²:þ3üÙ%VšV½÷¼˜¼—µW/5ÞS|ì|ÌÔÌdDd|nú¼¤½l[¡¤ª$<5\\P<Ü#\URVX®˜0-&;æeùK}y}ë†É “”N^`²€]‘ÑHoœ=röþûû{}À!„Bñ“ÿùá‡ÊËËÇ÷çŸêëëüòË/aaaË–-{öì»Zhhè¾}û\]]…„„¢££W­ZuæÌ[[Û~ ¡/Ûý¼ûÏKŸ¿oxO±˜‚{ÏŽv1XŒ‡3+2éLº–´Öxíñ‚Aö·-Œ–ùŠÞ±X, ) KMK!ŠñU«=;?<ÜÂhiÛ¾ûhw)a)^úê öÃì¹W¸“s‡ÉbÎ5šKd1@FDf±éâ½÷öÞʺE$2x©Ã6gäœí·¶g”gèÉë%!/Bôåõ[UC!„B¨a²ãƒººº¨¨(yyùˆˆ 000¸xñ¢±±ñóçϳ²²†JÔ\³fÍ?þH|vuue0îîî!!!˜ì@¨÷ÜÏ»*ñÐjim“ì=;ÚJ.MþáÊ%U%ì% ¥Ã³WN|û]ØwµìoeEeÿrþ‹Èn´Ú³ãïø¿ÙÛ…pšf0Hvpï«]â°€Åeà"ü"KÍ—r©Ð)âuV‹q,Ô- £<ƒ÷:lÓ §ïº³+4%t‹íȪÈzñúŶÉÛ>'H„B!„z&;>((( Óé666D¦ƒ@¡P¦L™’–––““ÃNvL™2…óF{{{ÈÉÉéËhúÚŒÓ'!$qäá)a©yÆóØåÿü›T’ÔÑ]¯ª^y^ò¬n¬6R62R2 ¤–¥>*|´,dÙ­e·ÄÅvßÝ]Q[¡/¯o¡aA᣼+ˆË˪ÈjwŸŽï-¿ç|³£‰Þt2á¤ûhw-i-^új7ƒñL—ËŠÊ~f²£¢®”%”9 U$U ¼¶œ÷:l’B’“‡NO ß0q…ü"˜ŸÌ?Ý`úÓWO?'N„B!„z&;>A"‘ºwK7nDñnœö¸qÚãN&œTWäÜG£‰ÞÄ%ÙqìѱêÆêívÛŒúoƒ‰S‰§vÄ츚~ÕÍÄ­²¾RKZëŠçö«•õ•ì“MZY1vûs £å»ÐïæÍÝ4i}µÛæ*ËU¾ÙÁå[^4Ñ› ÕjⲉÑÄ{NsFιþòúíìÛ“t&…§†£û U˜ú™q"„B!Ôƒ0Ùñ¦¦&…ByðàAuu5ûåƒqóæMÐÑÑa×¼qã犕¨¨(2dH߯‹ê\|a<™D®¬¯<ˆÅb±X,¨k©€”×)`S†M xp)ùÒ$Iòbò -"--"ͽY‹áuÅKA\Á{²7ï}µkµõêžjÇ>ä,èŸä,>d7È‚¼×ád¥i¥$¡’ÂÖ»†w.#]z'v„B!„º “ˆŠŠ:88DDD̘1ã?þÐÓÓ+,,ôööNMM566f¯aø?{÷×Ôõ÷ü„„½7È’¡2TÀ¢ ਫ¸«âÂ:êB«R÷Öj‹Š£VqáÂI- î: Q–8@dˆd6Iž?nŸ4¿°Â¼ŒÏûÕ?Âɽç|n(‘|9÷²oß>jWZiié;wîüüóÏ„WWWú²@õr‹s¹|îþÐýUŸúZö•²´ßRCëñW=ƒ=å¤äl;ÙŽí>v„ùˆZúäò¸Ë®/“—’÷tñžÒUçXÕj5;4å5 !…‚õD !Ÿ >B ˆsŒ0 †Ä¸î㎆Í)ÊÑVÐv6vnLB€&‡bÇöíÛ÷üùó|óÍ7‚F…ãÇ 6~üø+V¬X±BÐ2mÚ4¬N Ð )É(•sËçÙÏ«ú”™†!D‚!áÚÓÕµ§+Ïû˜ûñAÒƒå×—ÇgƯ¸ªÚy|Þš[k!;GìÜù"æXÕj5;,´-!ÏSŸ2$h K #„öOç®=]<;ó9faß…"/íPìøo¹ “ÈÈÈ­[·Þ¹s‡Íf«©© 4è—_~177>~íÚµŽŽŽLIIÑÓÓ›={öÚµkéup4rôö7R5k5V¸ýMÖEiEBȃÄýMú3%˜ u“ÎjϽ8Xm±ƒÏço¼³±¨¼èฃL³¾cU«Öìd6è·àß.Å\šþÍtjgÙœâœ3‘g!C»ÿ†*†›‡lÎ+Ésí‰ymÐêtèbGaa!!DFFFÐb``pâĉšŽ÷òòòòò"„ØØØxxxÔt´ Þy{gŧ"NYëZ+Ê(fs²ß}yû9Öw’¯ž²Þ¢+‹TeU{é÷2P1¨àV„¥†¥¤ ßÊ!lkÐÖëñ×gõžuèÉ!áöéßLW•U­s¬jûlüšwßÞ}›ý–ó9†r-þÚ«ŒW„æ#¨%úÊú㺻{ùûÓß²%É”ü;áï,NÖ.C³6Ä9¦ªéßLodx€fÒq‹Ÿ>}ºqã!¤sçÎtg€f¡¯¬nê¹7VÄeÆÅeÆ Ú-´,¨êà ³AAï‚n¿¹-|ÊöáÛ«võ&ëÍù¨ó„Ÿg>"O´©*«ZçXÍäŸwÿ\‹¿&øRð¸«fWÁí3[‡mÍæd?N~L]!ÄNßn×È]Âýˆs @[ÑA‹ ,8zô(!¤_¿~ÚÚÚtDZ¸;¸‹l•âØÙQš%­!§A}©­¨íáìaoh/8ÀRÛòÖœ[QŸ¢â2ãJ*Jtuºiv£–¨ „w0›“™™–Ÿ&'%g¬fÜר¯` áÞÔåÔ…·¼&ˆTûXÍdX×aFªFUÛÍÔÿ[(DVRöÔäS‘é‘1Ÿcx<ž•Ž•½¡½ÈBu£,£ìáìa¢nRSc5cgoô¿©é€àöGÓĉ !—.]j¶<-dÁ‚—.]êß¿ÿ‘#GtttèŽÓê0 Bü ™DwhZ]]›àç—Ífs8œZ033õöfQÛ1 Ž[·<<´“èuÀô­MÙáãããã#:Úìí ŠЮ Øí ŠЮ Øí ŠЮÔoëÙ°°°ôôtƒÑLi 5™LÈdº3@ Ó§;@³«_±£K—.²²²#GŽl¦4ÐJìÛ·ïÇ´µµ¥;4%___UUUºS4»ú;ÔÕÕÕÕÕÿøãfJ­Ä¾}ûlmmGŒAwhJ·nÝRPP ;@³ÃšЮ ØÿúóÁÍÏ-06î ‚b@Gô6û­›ŸÛÕ¸«ÂEåEái០>Ñ•  IÔoÍh¾–} O w2vn4Q7ñsóÓSÖ£+@“@±þ%/%oohOw €ÆêèÅÿ#GŽìÛ·ÏÆÆ†î,P·[onÝ}{÷kÙ×.]fÚÍLü’èóÌgiÿ¥} úB¢3¢w>Ø9ÃnFoƒÞç£ÎÇgÆk)hyºxBÂÓÂo¾¾™–Ÿ&Å”ê¡ÛcŠÍ y ªÏ‰Ž??.èD¸qù€åvúvÂ=÷ÒëuöÅÙv‚œ”Ü.CÆXŽa0uÆ®%Xrnr`là»ìw•¼Jc5c×®Ú"gÕ9h-WWíÐvúv'ÃOB.E_z’ü„:òÏi~Èù°ñÎÆ ='Lè1Aø\C‡³/ÎÆ|Ž‘fIkúí„DÔþ}ha¨Øqîܹ“'O8p G‚Æ´´´üü|ƒ€˜Öü½F°væ£c§ÚL O Ï-Î¥ J ÂÓÂ{vêùkЯYœ,Bˆ¥¶%!dû½í¾¾‚~î%Þ;qêøÄã½ôzB²‹²…;¡PyÅyÂ=÷Ðí!è™rûÍíà÷ÁÞc½ë¬wÔìÏ—nýg+—Ï\Ôù¨óÛ\¶¹ötÐÚ¯®Ú¡u•t²!éééé‚s©5;Œ„c÷ÒïåußKpØÝ·wã2ã¶ Û"þ÷ …u bGJJJHHHAApãäÉ“íìì0­ õ»õæV`l ¬¤ìœ>szêöÌ+É;÷âÜñçÇ«y:â´±š±‡³‡¡Š¡’ŒÒ?ïþñðeI°fÚÍìcØçké׀؀°”°ÅW?Xð@š%-~†3‘gŒÕŒ—ö[ª)¯ÏŽ?þüøí7·L&öœ(Îé"Á¢>Emùg‹œ”œ›­›µ®µS*.3îTä©Mw799è+ë‹3¨˜W'2´ª¬ª¢´â¯A¿N´žø½Õ÷µÇ>ñüD.Û‡o×VÔŽÏŒ?üô°ßK¿ùó;)uª×÷ Åt bGµ èNu»}‘²ìþAfƒ¨–1–cFùŽJÊI9RKAëòÌ˲’²Ô—{í%„xðú¾û¿ŸêÇZñ׌g)Ïî%Þa>Bü š š‚ž¿5ûÖNßî‡ ?ø¿ò³Ø!lñ•Å<>Ïw’/5ƒêÓFÏæGÿo¼¾±°ïBqýëÕ_â\ÈÐäÿ§–è+ë×¹HGgµÎ3¨ºÉ“¼Š¡^e¼¢Šâ_ZLo={ÿþýŸ~úiøðácÆŒùõ×_Ùl6ÕžíâââêêZRR"88--mèС?üðCeeeí§ „„„xxxŒ9râĉ;vìÈÍýwŽô¶mÛ(2kƒjäp8„+Vœ}ú°aæL™rìØ±ÒÒRÁ³ÇŽ8p`bbbBBÂâÅ‹]\\fΜùàÁƒ:_™’’’½{÷Ž;v̘1»wï...öòòÎ,è966vÉ’%ß}÷Ý‘#GêÌSç… ÷üòåKwww—Ù³g‡††Ö™ Uy—ýNEVEð‰š"É”m9ºê‘.Ý\„?Õ¿Éz#+);Öj¬ …Á`L±™BI`'Ô+ÃóÂ=Só/Þf¿ót‘`ÑŸ£™ æ¾Çûfü5cú…é?\øá‡ ?zrˆ"\)¨}P1¯Ndèzqéæ"<ÿ¥»NwBˆàñ¿/-¦Éfvðx¼üñìÙ³‚–7nx{{ÿóÏ?½zõÒÔÔœ0aÂüùó•””|}} !ååå'NŒŠŠzøð!‹ÅªýtB—Ë5kÖùóçxyyåææ2™Ì„„„ŠŠ áHT#UI‰ŽŽþøñ#!D¸®Aª¬ÙQTTäââ"\ð÷÷?xð`pp°––!äÇ!!!7oÞܰaCqq1u̹sçüýý'N¬ñO» ˆŽŽ\Ú¥K—LMM…3S=lÙ²¥¬¬ŒbeeUgž:/\Ðó¥K—¶lÙR^^N5ž:uêÀ‹/®)3@kSZYª"£"Ò¨,£\õH]%]á/Ë*Ë”¤•D–Õ N,«,«i8.[µQIFI¤EEV%£0£Öà5+./æò¹O?>­zdiÅ5ÍÚóêD†®‘YRB’Âãóþ*ö÷ Å4Y±c×®]gÏž511Y¸p¡……EYYÙ?ÿüsüøq77·×¯_KHHÌ›7ïÙ³g§Nrttœ;wî²eËž?¾oß>GGGqN÷ôô<þ¼œœÜO?ýÔ§O&“ùâÅ >Ÿ/N¼ßÿÝÛÛÛ×××ÛÛ›Z TEEô·sBÈúõëCCC555׬YcaaññãÇ={öÄÆÆ.X°àòåË‚ÃÖ¬Y3jÔ(WWW…ëׯŸ8qbݺuµ;Ö­[m``°zõj“·oßîܹS¤ìBÙ¼yóðáÃ'M𤧧g`` fqüòË/...S§N•‘‘¹sçÎñãÇ—-[6tèÐnݺիºh)h%ç$ç—ä«Èþ÷ÃÏŽçÄÄœD6‡­­ -hŒÍŒ%„h+j“ÿ¯&äåŸUí|øÌÿ®¨¼èCÎ-­ú]ÉÿÓUÒ-ç–p”)ÁyJMNMÌA뼺š0ƒ"æ[h-ü}h>MSìàóù{÷îÕÑщŒŒTUU¥Ç¯ªªêååFU4:ôòåË%K–$''>|xÒ¤I?ÿü³8§;88x{{KJJ>|ø°wïÞ‚Ö¬YÃb‰u ÖÖÖÆÆÆ„[[[ggçj©¬¬ôõõ•‘‘ íÚµ+Õ8yòdssó«W¯²Ùlmí?9LŸ>ýĉÔãÑ£G¿ÿ>$$$++‹šmQµÛ³gÏ***>{öLOO2bĈQ£F o #0vìØK—.Õ78F%¨Œ7NWWwëÖ­§OŸÞ±c‡øÐȹ³sâ—Ä w6ì¹K^Jžô.èJì•:OìgÜïý—÷«o®Þ7vŸª¬*!$"-âhØQê)Bˆ¡Š!!äRÌ¥1Vc¥ !÷ïûGûWí*è}P`l µ-kIEɆÛŠ+ŠGZŽlØ ë:Ì;ÔûÎÛ;+¬L…øZöõJÜj¿[q­óêj"')GIÍOmXx_šOÓ;’““³³³555©Ù |>Ÿúkavv6!äÍ›7T±CVV6 ÀÎÎnûöí²Ùj IDATæææÔ"✮¥¥•››;tèPA¥ƒ¢¤$:»»1>|øÀáp†.¨,BÔÕÕ]]]}||bbb†J5º¹¹ ŸØ«W¯œœœj‹>|(**š0aUé téÒÅÉÉéþýû"Ϙ1£yÄ1{öl‘/·nÝ#~ôšk?÷rÜå»oï>þðØTÃ4¯8/½ ÝRÛò5ûµ£¶å‡æÙÏ»þúú“Oúêg¢nÂ)㤤ñùü‰Ö»jv%„XhYXi[ÅeÆõ?ÜßDÝäKÑ—OŸ¬u­£?G‹te¡e±æï5{Cöj)j%ç&sÊ8r’r‚•DpEAïƒþ|ùçÅè‹Õ:+J+fs²?ýÌåq}'ý·•líƒÖyu51V7–•”½{9.3ŽºåÏi6ì*ö}h>MSì ÖÂÌÎξwï^Õgk[B$%%™L&!ÄÐÐP^^^ÌÓ©eM544ꕊ˭æ–ûZP ª©©‰´S-ÂË‚Š#%%UËpTøªwÍæ°Ó××o@Õ& @u"¼^,@+§£¨szòéU7W%å$Å~ŽeI°æÙÏS–Q~Í~MM(¨‰¦‚æ…i6ÜÞžþšýš"+);Ónæ²þ˨ ÆÎ‘;]Y”’—-Í’^Þ¹†¼FÕbǸîã™ :vŒÍaB:«vÞ=j751¤ä$å.¸]زûrìåÄ/‰T£Š¬Ê÷Vß[éX‰9hWW–ÌúAë=ïy¾Ë~×°ü”_šOÓ;ôôô FïÞ½wîÜYõÙ.]ºPÊËË]]] ÇùòeOOÏM›6‰sº¬¬,ƒÁ¯¨¨””¬z õI>;;[¸ '| µ€_-7¨ëêêB^¼xÁãñ$$þûƒdDD!¤S§Nµ¼µ N|ùò¥p#ǬWZ5¤øyĹpJTT”ðý;‘‘‘„áÉ&­_OÝžwçÝMÊIâ”sŒTŒTdUæÌ'„tVí,8ÀÏÍÏHÕHäDc5ã?§ý™ÍÉN/H—bI™©› o/B1×2žüþËû’Ê5EiÅ,N–Ÿ›_ÕÉKû-Ý{vrn²œ”œ™º™ÈÊ µ$¯6˜‚´ÂÖa[7Þ˜”“TRQ¢£¨£­¨]uBDíƒÖ~u5 M™j;ul÷±I_’J*K¨÷Fu?7?=e½ZÎ¥;«un©ýûКfޱººú€¢¢¢Þ½{çèè8ðÿݽ{WpsÇÒ¥K#""öîÝ{ñâÅlÙ²%88XœÓÕÔÔúõë—””4wî\Áv³gÛ¶m<bjjJÙ·oõeeeåæÍ›E>ó+((B’’’H 455{õêõæÍ›µk×Rû›ðù|ooï   kk놽8šššÖÖÖQQQ;vìÄÛ°aCbbb'Ö™Gœ §xzzRBHJJЇ‡!dذa »(ZÆff˜ª›ZëZ+É(Ž<}?ñ¾‰º‰àÃ¹Š¬Š½¡½Ž¢Nµ§k*hÚêÙZi[‰T:( £«fWk]kjÙ--{C{j J2JÖ¬»ht³ÒQg0I¦¤¹–¹­ž­®’nM·~Ô9hMWWûÐr’r=t{ô1ècohO‘—’·7´×WÖ¯å\ªQx=Ô:¿/-¬Évc9pà€³³³»»ûÊ•+MLLddd>~üÈf³ !¿üò‹¤¤¤ŸŸß‘#G&OžLmwú×_õêÕËÍÍ-**J__¿ÎÓ÷íÛçìì|öìÙ‹/ššš2™Ì7oÞ”——¯Y³FBBbêÔ©6l8vìØÍ›7õõõ“’’8޵µµðì [[[Bˆ»»ûáÇåäälllöíÛ'r»ví6lØîÝ»Ož!dY¿:î×h)y)ën­«éY;»åý—·džÖj¿/Ða5ÙêqÝ»wþüùˆ#ŠŠŠ¢££Ÿ?Îf³»té²sçN))©øøxwwwsssÁ&&:::þþþyyy“&Mª¨¨¨ýtBˆ­­íãÇœœJKKãããcbbddd6nÜH tttNž<©¬¬œ‘‘Îb±._¾Ü½{wá„ýúõ›5kVEEEDDDHHHµ;¿<øÆfff¹¹¹l6»S§NçΛ>}zc^œÑ£GŸ9sFMM-+++""‚Çã?žº…„šoR“:óˆsá”ýû÷;öíÛ·111åå僾}û6õÚ´®=\õ”ôÒ Òc>Çä—äkÈkì¹s¸ùpºs‘âŠâð´ðšþk䢭_«ý¾@‡Å¨e ‹ª¨ÝR{£V«   11‘ÇãuîÜYSS“j|÷î]FFF×®]EV¾ˆŽŽÎË˳¶¶¬ÖYíéÂØlvrr²²²²™™™Èú¥¥¥±±±,ËÊÊJJJ*!!Íf;;; OÊÈÊÊJJJ*++SQQ±±±IKKKJJ²±±Y¿311‘Íf«©©™›› OÿðáCjjªp‘‚jìÝ»·`ÉÕj•——S7˜XZZòx<YYÙäääZz®38¾víÚ;w¾|ùÒÆÆæÓ§O©©©zzz††µ-©È`0¼½½GŒQË1Ðæ,^¼XAA¡öŸ_q°ÙljQᚘ™™z{³GŒ¨íÇ­[ Ú‰‰5Þ€ ­uW)´Mv‹€²²ò7ß|#ÒØµkWáýSª.„Qíé´µµµµµ«}JFFFxoZ ‘c´´´„7ˆ500000¨Ú•™™™™™YÕvqEüñÇsçÎíÕ«!¤°°pÑ¢El6ÛÝÝ]ÌNjÊCçÂ)zzzX”Ú·¦/v@µ6mÚ´víZj6Êû÷ï‹‹‹Ö¬YCw.€ö¦ÉÖì€Ú­\¹RVVöõë×ÑÑÑÅÅÅ={ö 666¦;@{ƒ™-dË–-7nüøñcvvv§NŒŒŒZlèùó绸¸Ôr @{‚bGËa±Xµ/½ÑLÄYR ÝÀm,Ю Øí ŠЮ ØBIE‰g°g¿ÃýºììbæeV\Q¼ûán3/³„¬ê€ØÏ±f^fÞ¡Þôæ¬Ý§‚Oç^œ›å?Ëb·…™—Ù£èNÐaRè¼C½OGž¦;EcM8;áKѺS´võ.v„……Mœ8±9¢@«âëë{ëÖ-ºS@Szõꕳ³3Ý)hó 颴bÀŒc5c †!dÕÀU«®¢;Wýè)é¹tsÜeð7wü£ýéŽÐJÕ¯ØÑ·oßfÊ­Š¾¾¾ªªª‚‚ÝA )9;;wäálN¶‰º‰©º)ÝA%pf õàÞû{ô&hÍêWìX¾|y3å¨Ý£f_œ½að[=Û]vÅfÆJ³¤¿5ývÃà *²*"ÇXéXýñèøÌxu;};ê–èŒh3/3‘no̾a¡eQíˆ|>? &àbÌÅ·Yo¹|®±šñ›)Ól§1 B—Çõ{é˜VÆçóTÆX™j3UVR¶_Ö쀶$63v÷ÃÝåÜrBHIEÉ•¸+éé¦]>&êS”×}/.ŸKáñy ˆÏ篼¹òZü5AË›¬7[þÙ’ÀNØ6|!dOÈžãÏ žËŒ‹ËŒ“”œþÍôšúì¶«—Ç­eP y°%a (v@[r=þº›­Ûœ>s´µã3ã—]_‘‘ÀN°ÐþovÆí7·'ZOœo?ßPÅ)Á$„l²Ñö[5Ám „Ýw ;ZÓ@×â¯]‹¿ÖM³ÛêoW[ëZK³¤ã2ã~ þÕ?Úßµ§«­žmл YIÙ=£ö8vvdI°>æ~¼öúšœ”\³^>ˆÅhKœýîWêñ7úßÌw˜¿åŸ-o²ß;l:ÙlwÙNÝlÒ`±L æ©É§´´¨–Þ½ÿý‡Ë —à÷Á¶z¶:J:„!]‡0LBˆ…¶…p†j½]ý¶1‘@L(v@[â`è ü¥Š!¤¨¼H¸Ñ©³S#+„÷Ù﹟OøÔBHFa!dà ‹®,ä3¨Ÿq? m ÛN¶–Ú–šŠЖH³¤…¿dùÿ„€`½ÒÆ û¨v‰ n!ÄBÛ"È=(*=êEú‹ˆÔïÇÞªrªûÇîï¦Ù­¦>±f@Ë@± ¦ê¦ñìø§‹Ÿ*J+Öt “Áìmл·AoBHIEÉÐcC×ÝZwyæåŒ Õ@± ­'Fþ9ã¯Kœ–Øt²Q”VÌâd½Ë~0Ívšcgljç&Žë>®A}ý nÅÓOóKòK+Kkékv´ ;ª1¾ûøðÔðÀØÀùóEžšl=™ŸÿòÓKѧl&7kª7Vï†;ûâlêÁÁq]º¹4ëÐmŠÕ`0;Gî`:Àÿ•\f\qE±Ž¢Ž¹–ùøîãŒ!3ý£ýÃRÃÒóÓe%eMÔM\{ºNè1îà@" ûÔŽÍfs8œZ033õöfQÛ1 Ž[·<<´“èu055¥;ü º4%; ]A±Ú; ]A±Ú; ]A±Ú; ]A±Ú; ]A±Ú;è—ÅÉòõ~žúœî íŠôce ;2 3¼C½#Ò"èMÐF¡Ø@?mEmg{C{êKªØžNo*€6ŠEw Z ZÎt§h'P쀶!%/åZüµþ&ý­u­Ÿ§>gÇËKÉ7~&òŒM'›þ&ý©Ã’s“o¼¾¡*«:ý›éTK%¯òðÓÃ]4º 7Þä© J ê Ú«˜b3%‹“õ׫¿ì íí í#Ò"c !ÏRžqy\ªA)„Ëç>ûøìmöÛJ^¥±šñ“Ò,é&¿.€6 ÅhRòR¼C½¥˜Rûï M%„Xi[M²žtöÅÙÇɵ†kñ×>9È”`޵«$£Dyùé¥w¨÷ê«kêù@è>á×2´œ¤Ü\û¹Õ>¥(­X¯Õ^Å›)ÔšÔ,áiá1„°”°°”0ª[ªØýóµŸÓ Òt•tŒ?Ò]§»x¯"@‡€b´%¾¾ÅåÅ£-Gªê(êH0$ï¾»ûµì«¢´"!äñ‡Ç*iùiOSžºts!„;.®sfG-Ï6 @Õ«ÖÛ 7ƒÁˆ èkÔw‘ã"Aû±°c…¥…[‡mÖkš ñtäiÏ`Ï믯»ÙºÕ CA±Ú’±VcEjÔŒ‰Ð¡ßuûîiÊS.ëlìü.ûu“HAiA\fÜH‹‘ £¦>—8/iL¤¨zâxšò”É`æçzzˆÏçóù|BHQE!$ös,±mÌE´+(v@[ÒYµ³HK'¥N&ê&?<&„„&‡j)huÓìæl옒—òšýšÇç9uvª¥ÏƬÙѰU¯B¹Å¹\>wèþªO}-ûÚ€Ú+; -aJ0«6:uv:÷âÜǼ¡É¡Ô< gcgƒú14>3žÔº`iÜš PíUÔIIF©œ[>Ï~^Õ§Ì4ÌÐ!@{…b´yýŒû{qîü‹óééË;/'„¨ÊªZhY<þð8!+ÁTÝ´ê" Â¹fGãT%Í”&„ä—ä 7:9úGû©µ+Üþ&ë µ6*PPì€6ÏÞО%Áò{éÇ`0s(ú÷óð­àVÌ´›Yûé\³£ñª2P1`H\йTÉ«T•U%„x8{,t\xçí7VœŠ8e­k­(£˜ÍÉ~÷å]ìçXßI¾zÊz¼ €vC‚îÐÞÔ¼hs‘—’·Õ³­àVXhY¨É©QÎÆÎÜ BHí v´Î*²*ã{Œç”qν8çêíêMÑWÖ?7õ\.q™q~/ý|žùÆÆ~ŽµÐ²@¥£½âóiøh0³š˜œ¯¸¸é?Ÿ©y8{ØêU¿éÈ"ÇEQŸ¢ºët´ØéÛy8{BŒšŸ|ú$™šÊ*,”àñÈ©Sóß¿ºyó3YY¥Æw@yðàØßïÚ²%\AAî,ÿb0øJJ<ƒJ}ý ƒî4ÐDPìhm° ЃÁ úúúú„ÇÇÄÜ:s挃ƒ!؇šÌÀã=òþøqÿªU«èÎ-7ÊÍ?~¼ÿþ 6888ÐÚYYÙyóæ={öË—/tg€–ƒbÐ)99ùçŸ=zôŒ3èÎíÓ?ü ¤¤tüøqºƒ@ËA±hSTT´páBOOOº³@»%--=oÞ¼óçϳÙlº³@ A±èÁãñ–-[VPPpôèQºã@{6uêTUUULîè8Pìzìß¿ÿÑ£GÞÞÞ:::tgvNZZzÁ‚.\ÈÌ̤; ´;€AAA‡ÞºukïÞ½éÎÂäÉ“555}||è-ÅhiIII«V­rss›ßÖÖÖÜÜü¯¿þ¢; 4=Ìì€æòìÙ3ww÷ 6 Ò­ ƒÁØ´iÓÅ‹£££éÎM3; YdffÚÙÙuïÞýï¿ÿf2™tÇÅçó{õêejj@whb(v@Ó+++0`@~~~XX˜ŠŠ ÝqªwíÚµqãÆEEEÙØØÐšŠÐôæÍ›çïïfiiIw€ÚØÛÛëêê^½z•î Д°f4±øúúþù矨t@ë·yóæk×®…‡‡Óšfv@S ܸq•hs6oÞ|÷îÝGÑšfv@صk×úõëoÞ¼éââBw€†øöÛo™Lfpp0ÝA   Ø4|øðÝ»w/[¶Œî, Ú¯_¿ 8î,ÐX(v@£$''÷îÝÛÅÅåüùótgh”!C†”––†††Ò Åh8‡Ó·o_IIÉÐÐP999ºã4ÊÓ§Oœœ‚ƒƒLwh; ø|þäÉ“=za``@w€&àââòõë×'OžÐ»±@ýúë¯W¯^õ÷÷G¥Ú OOÏgϞݽ{—î Ð(˜Ù qýúõqãÆ:thÁ‚tghJ£Fb³Ùááá ƒjIII)))177§7ˆ3; <ðññnyûöíŒ3¦OŸŽJ´?¿þúë‹/nݺEIKK[°`™™ÙÍ›7éÎõ€™P‡™3gž={vîܹ‡’’’*,,tppPQQyðà´´4ÝéšÞ÷ßÿáÇþýû;vŒÁ`TVVΟ?ÿÈ‘#tçqafÔ¦¸¸øÒ¥K„S§Nõë×/##ÃÍÍ-??ÿÒ¥K¨t@»”­¦¦–pìØ±ŠŠŠòòr÷þý{ºs@=°èÐÒ*++KKKéNÐfP?2\.7**Ê¢´´ôîÝ»ÊÊʇîtM)''gÿþý‡ær¹•••ÂO½{÷ÿÀødddX¬÷k6@«ÒáÞ…KKKÙl6Ý)ڌӧOKHHp¹\BHeeeQQƒÁ Ã,ÐÎ-[¶¬²²R¤ÌAÉÈÈÈÈÈ`2™- Ú"mmmºSth¸j”ŸŸJU:(Ô_¼×­[·aÆj?´Q0`@MëXq¹ÜÏŸ?·p$h0; FÿýwMO]ºtiúôéyyy-™ ùHJJz{{3FB¢úÓÒÒZ84ŠP£Ë—/óx¼šžýúõkVVVKæhVL&s×®]Ó¦Mc0UŸB±  épkv€˜>}úSuV¿¤¤¤„„„‡‡Çܹs±„´3 cóæÍ’’’§NþŸŸÉd¦¦¦Ò ê3; z×®]©ePîvtt vwwG¥Ú%ƒ±~ýú•+W 7VTT ØІ`fTïÊ•+ÂK²X, OOÏÒ  …¸»»BvïÞM}Éçó“’’hMõe¾Þ  IDAT€™Pøøøäädê1‹Å’pssûçŸP逎ÃÝÝ}ëÖ­‚/?}úDc¨Ìì€j\¿~Édr¹\ƒaeeµcÇŽ®]»Ò  ¥M›6ÉdnÚ´‰Ïçs8œ‚‚eeeºC@ÝPìQ\.÷Ê•+\.WAAaýúõ'N¬º9@1eÊyyù+Vðx¼ôôt;Ú;¨¬Œ)'ž.YX(QóîœmONÎÃÜÜ<=½)ææ;?Öxü¸ç*(ðÕÕ+-,ÊííK44¸Í–Ú¤„©W¯dÞ¿—*((/oC´¹ÖÖšÑÑ?nÙR ££Mwho¤¥ùÊÊ<3³r›R ‹rºã´ŒªûJ¶o‡Íf7¦‡˜é³g•ïÞ•/)‘ÐÕ­42ªPQá1ëe„ö-)i²r/ A 8·¨H‚Íf%%Iòx [ÛR7·ÂQ£8L&~@:´œ¦ŸŸR@€RFKA×µk¹Š WZºý_‘ýOqq’‘ÑBºƒ@{SVÆÈÏg¾{'ÅáHtêTéêZ8mZ¡º:ŠÅm›¶¶¶‚‚Ý):4;ê!+‹µs§Úõ늖–e“&\¬£SY÷im ŸÏoä}+%%ŒgÏä®\Q ’75­Ø¼ù‹½}ISŃ6¤²’qö¬òªRR|Wׯ..œîÝËÚîMQ%%%²²²t§€ö‰Ï'qqÒwî((–—3–,É›1£€ÅêX¿¤µ'(vÐÅqýù§’——ºº:wݺœaÊš<@»ôñ£äöí÷ïËÍÙ¶-[Nw|u RK—ê|úÄš;7ßÝ=OV¶cýsÐ0%%Œ£GUOœPÑÓ«Ü·/7¶´Q(vÐÅŽºq¹dÛ6sç”-Ê[¸0¯ÍM½ ÝÇrkÖhiiU;–©«‹ùPÂýûòK—jY[—íØ‘¥¯o:@ý¤§³Ö­ÓŠŽ–Þ·/kÐ ü‰¥íA±€vthí**î.)8À^º4•€8°800ËeL˜ ÿþ½Ýq Ùùù)-\¨3z4çԩϨt4€¾~å©SŸGæ,\¨ãç§Dw€¶3;ê°fÖÝ»ògÎdX[—5_*€Ž€Ã‘˜;W73“˜Žµ÷Ú±û÷å,ÐùùçÜE‹òèÎÐæ:¤º¿šO&æw´-˜Ù@;Ìì¨êÕ«Š{÷²Qéh<žÏg‹?w®nII›]£jõþ½ÔòåZ&|E¥ I,Z”7eJáÒ¥Z ˜P(vÔ(.Nzï^µõë¿ TLw€vBE…wôèç”ÉC‡ÔèÎM¯²’±x±Ne¿ý–Mw€öcóæ/ÖÖeK—êTV¢L .;ªÇç“mÛ4lmKgÌ( ; @»bjZ±lYîÉ“ÊÉÉ’tg&væŒò§O¬;²°_&@b±ø»veed°ÎžU¦; @›bGõ®_WŒŠ’Ù²å Dhjnn…ÆÆ;v¨ÓšRNóàAÕ¹só±")@“ÓÕ­œ3'ÿÀÕœ&ÝYÚ;ªçã£òý÷_-,°TGCìÚµËLHzzzíÇoÙ²…:ÒÍÍ­¾cùùùuíÚUx¸„„„†o2gÁ‚Ý»w¶wï^ºsµL&õêœû÷å±3K{âç§,%ÅwwÇR "üvXûñwîÜ\ß±bbblll„‡;uêTCƒ7™°°°qãÆuéÒÅìÍœ93;wEBˆ»{ž”;³ˆ ÅŽjDG˼/5}:n`iˆÈÈÈ'N´ÌX%%%Û¶mãñx„{{û%K–xxxhhh´Ìèµàp8ÁÁÁ„Aƒ)**Ò§50 ØÐ°" /N;Áç“€EWׯ²²¸¥Þòóó×­[×bÃíØ±ƒÃáBŒŒŒ.\èááakkÛb£×$...66–Éd2dÞ¼yTû“'OæÎËåbÿ&"+Ëwuýˆb€XXthîß—ÓׯèÞÓ:ê­¸¸xÕªU<OEE%??¿¹‡KNN.//§ïÙ³GWW·¹G“¢¢â‘#Gœeee ðõëWºµ: qq) ’_·.‡î,ÐÞ¼‘ÊÈ`¹¸pèÒ&mÚ´)++«eÞ6 !‚éoK–,ùþûï[`D19::nß¾]__Ÿúò—_~ñóó#„ÄÇÇ?{öÌÙÙ™Öt­ÂwßqŽUyóFÊܼœî,­ŠÕxùRÆÁ¡”î­KIIÉóçÏ“““KKK544ìíí «æéé™––&##³råÊ7ÖÔ[ttô‹/ Fß¾}ÍÍÍ6¨¯¯ï»wï_ž={VVVVFFfþüùwîÜ¡ž2331bDRRÒ“'OòóóÝÝÝ###_¼x!8KVVVGG§OŸ>ÚÚÚuæ|øðaLL !DOOo„ µ¼\òòòC‡­å „88”;¦’Ÿ/¡¢Â£; 4ÖË—2 <Ôˆ…ñx¼—/_&$$***öìÙÓÚÚºêa×®]»}û6!dÓ¦M+V¬¨©·ôôô¢¢"KKK''§† z÷îÝ·oßQ_Þ»w/55•2mÚ´ŒŒŒB¨wÑÜÜÜ{÷î±ÙìádzX¬k×® :‘’’RWW·¶¶îÚµk9“’’nݺE=åááQËË5tèÐÙ³gKHü7átòäÉT±ƒ’˜˜ˆb!¤G2ÞË—2(vÔ ÅŽj$&JˆífÿsúôiooïÂÂBA ƒÁ5jÔo¿ý¦   h¼ÿþÅ‹ !K—.566®¶«òòò•+W ~÷%„,X° aƒž}úÔ^ìqtíZNùðAªW/ÔÛ¼¤$)3³r¬è,ðôéÓ7R¥=züþûï&&&‚–ÌÌÌ­[·B¾ýöÛ±cÇÖTì8~üøž={·r899;¶ƒþóÏ?Âe‹Û·oSu—ØØXoooBˆŠŠŠ……ÅâÅ‹©šH·nݤ¥¥©§DØÛÛïß¿_øÎÁjs έ½Øadd$ÒÂbý÷+Šð¿5ƒAÌÌÊ?|ÀjGuC±£ùùLuuÜü¯#GŽüþûï„&“éâ⢣£”ššzãÆìììsçÎ1 BH^^Þúõë !ÖÖÖ?þøcdddµ½yyy *ß}÷ŽŽÎÕ«W©E7ê;èœ9sÞ½{@2oÞŸ¿fÍj †§§gM½Ý½{wçÎÔckkëo¾ù&""bÏž= tذaFFF ê¿Ã‡ïÒ¥ !D]ý¿­‘JJJ<<<¬­­{öì)%%ebbÂb±u .—›}ïÞ½œœœçÏŸ¯ZµJ°¸©pÎ=zØÙÙ=þ¼jNñ þ±`2™µLféhÔÔ¸yyXp  n(vT£¼œ!)‰5ö!$77÷ÀÔcOOω'B~úé§Áƒçç燅… 6Œ²qãÆ/_¾HJJzyy æGˆÈËËûóÏ?©Ç ,X¹r%!ÄÝÝ}ðàÁ töìÙ‘‘‘‚bÇüùóUUUEFüòå˹sçúöí+hqrrù¥ùÂ… ›6m"„\¼x‘*vçœ={6UÄ™3gŽÈ)™™™ÔL+++‘kZHIñ !ee˜ Д—ÿû BȶmÛ¨¢Ã÷ß/ø´?}úôgÏžeggûøøPï9gÏž}òä !dݺuÕÞIG9tèõà›o¾ùóÏ?™L&—ËuuuÍÊʪï ß}÷Ýwß}wèÐ!jòÅÈ‘#]\\D†+++›7oÞÒ¥K…E&e|øðzçüøqff¦ŽŽŽpNkkë‹/2™ÌŠŠŠñãÇ‹äŒNQVVž9sfÕ«ŽŽŽ¦æëBfÍšÕz–d¢´4o›â@±j&X4%%E0YAAZH/$$dذa<¸{÷.!dñâÅÔß «õòåKêwqBȸqã¨ZZZŽŽŽ÷îÝ«ï âä·´´®tPòóó_¼x‘ššZ\\ÌårS¾SSS+**$%%…sR¥BH§Nœœœîß¿/è'33Sdj÷ĉQìèàrrr^¿~M=®¬¬¼K¦°…„„lÚ´)//o÷îÝ„''§I“&Õԇì':f̪”Ìd2ÇŒ[ßAż„9s戴”——GEE%%%VTTOÇKLLÔÑÑÎ9nÜ8*§¤¤ä÷ß/²ø¡C‡ïð„CCêŎˆˆˆùóç—••B ´zõj1“ ØµÉËË<öññ©zõ'»ììlB‹Å*++£~ÉNOOsúôi%%¥¹sç o4 ¹¸¸ÈËËS·œÿ} RSSkÀ âPRRÙ0ûáÇ«W¯ÎÍÍ­öxjÛ‚‚AÎF¾m>xð`É’%Ô‹3tèPooïšf ÔŨð!?ýô“ðrqá%å*++>\µ“Ó§OB¦Nª¢¢"hÌÉÉ|™“ó?›ÖkÐÚ‰üеwï^ê±µµuŸ>}deeSRR+öQ¿¬×”óË—/½éèèˆLí¶²²3´WÂï`cÇŽ­ú~%ò¾Xµ“ààààà`“ …ß‚DJõ´Âû¡BJKK—-[Fퟭ§§7dÈeee.—+¸i…¢¬¬Ì`0¨·Pá·t‘·MBÈ¢E‹Dnc~öÚµk«W¯¦˜0aÂöíÛQ逆A±jcoo/))YQQA144tuu<ÅårÃÃÃMMM !VVV"ûÓÓÓ+zΚ5KIII^^ÞÖÖ–ÅbQwˆ\¹r…Z³#++ëéÓ§ ´[Õ²X,ê–rBHÕõózõê%pãÆ êÞõŒŒ êîzªÅuuu êÞ ‘w‰·oßRïÊÊÊUß@S<† biiÙµkWAoׯ_Ÿ2e µfÇõë×0h|þü™ªtBöìÙÓ»woBÈãÇESPP°´´Œ'„üý÷ßS¦L‘¨¨¨¸zõªÈ‘‹-ªi¬³gÏþöÛoTÅdΜ9k×®e`ƒh(; 6êêê‹/þã?!ëׯ¿}ûv·nÝŠ‹‹322^½z•›› ¥¥eee%2©áùóçÂÅ}}}BˆœœÜ”)S¨Ý[}||’““uuuïܹ£¨¨XRRRßAp9ݺu£TVVΙ3§{÷îoÞ¼Üè. ¢¢âæævæÌBÈ¡C‡¨;Òoݺ¥¬¬,æ4<ïàÁƒÔcÁî¹Ô'™®]»V]Ú 6Ìš5«²²òÊ•+ïÞ½ëÓ§ƒÁøüùsBBÂÇW®\iee¥¢¢RK±cèС‚ý­-Z´xñbBÈ‹/&Mšdgg^õ¶qmÀµÈÉÉB6mÚ4xðàìì숈ˆªG.Z´è§Ÿ~"„<þ|Ê”)666aaa"÷jqõêÕ_ý•z¬¯¯////X©šbccÓ¿ÿä€ Å¨Ã¢E‹äåå½½½ CBBBBB¨vj/ÀZv¨Öºuë¾|ùrçÎBµ¦©»»{QQUi¦AlmmçÍ›wâÄ >Ÿjmm½qãÆª9Ö¬Y“}ëÖ->ŸO¥uwwÏÍͽté!DJJªöø|~Õ›ð#""¨OÕî€í†ƒƒƒ¯¯ï¦M›RRRâãã©ù ‹îݻ׫7—•+WþñÇ\.7:::::ÚÉÉiúôé"Ëv6í ,k×®]«V­*))ILLLLLÔÔÔôññÔb† ¶fÍš={öp¹Ü¨¨¨¨¨(''§©S§R £V½!Q„`­hBHzzºÈ[è¬Y³Pì€zA±ê6kÖ¬)S¦DDD$&&–””¨««ëèèØØØˆÜk-LOOOPAPRR´KKK>¾  @QQQ[[ÛÒÒ’šæVÁû†¥¥¥pû‚ FŽRTTdeeåää”””TõMFÌA/^LÝ*"üÙ£GªCá÷RŠ‹‹‹Ý£G²²²tuu,''']¸“yóæ ><$$„ÃáP9³3¨íikaoo_ËÛ¦Mí§ˆ`–Oï 8N‹Ò›™™z{³GŒà´L$h…¾~ýš˜˜hkk+hyþüù?ü@ý¼x{{1‚¾tí~ÖÚ%K´ !ˆ»å´KOž|øêæö800…î ¢Zm°FòóûàæöØÍíqi)·ö#=b»¹=ÿR¯þ>Ì\»6jÆŒPq†h0Ý:–ÏŸKÂÿÖãuËhµÁãÚµ4ÿ|>).®¬óà8áá_*+ùâ÷¿qãËK—þýœSTT÷ÐEE•áá_4é"ªÕkŒÔÔ¢;âÊʸ|>áñê88;»4<üKnn¹øý_»–¶bE¤àË:‡h0;ZÔÈ‘ú=z¨ZX(ÓDT« Ö`ùùåÛ·ÇNžÜù¯¿>6Gÿ¥¥ÜÀÀT}}ùÕ«­ÔÕ¥ååñ£Ð,LLýüúééÉÒDT« Ö›6½27W*)á¾}[ØýŸ?ÿÅblÚÔÓÄDQB‚!-é¥Ð\ð ­EéêÊêê¶ÆßŒ[m°óòŠSP`yxX4S±##£˜Çã¦;b„^sôyy–½½Ý)ªÑjƒ5Ø•+©áÿÇÞ}Æ5uµ?Ù$!lS6Šˆ8@Á‹Š³8pÖõªÔÑ:ÛZܳµ¸·Hˆ³\¨ ¨€²7a' ÉûáÚk !¤FáùÿúÜœœsî=Í1yrÎs£KoܼbEló¥?I^^MçΚӦYµQý8v|V·nå=›ùË/Ýñ5"‘äï¿ó""ŠËÊ„ššÔ~ýôÇ7£ÑHÒ¯zú´$,¬ 7·šL&8:jO™b©§GÞºp!ëÆÜmÛz54ˆƒ‚2²³ùzzj>>dVV×ÖŠÎË|þ¼D"A..zÓ§[¦GDpŽqe±(;¦dµŠûÖvšmôùóÒì  w55’ÜjkEçÏg={ÆÁ/ÈjhíÚ—X~“ÐÐü„„J„ÐÒ¥]úõÓǯ[m­èÂ…ÌÌLþ°aFØÇú¢"Áµk¹))UuúújýûŒmJ"¤»¤xŒè˜22x?ÿüÚǧ“9~0:ºôï¿órs«©T¢££¶¯¯ì$™É ÉNMå54ˆ--Õ'L0Çgݸ¸ò;gδvuÕ;s&ãÍ› 8x°¡9ðQÓÿü“ûvWokËš5Ë:-wøpê²eö}úè5î˜òÕ*è[Ûi¶ÑŠŠº­[ã-êlk«ÑT%aaaaù\îû òŸ Ê Í//ÖÔ4L‰:Ôhî\üº¹¸èþõWFbb•móæž¡šÑÍ›¹¯_— ÔÕÉ={êN˜ÐIS“*Ýœâ1@GÁŽÏJ&5†@ š3çIll^àÖ­¼  ô3gÜuui!±X²zõË«WsðááEéý´B¹¹ÕÑÑ¥áá…¿ÿž$¼OqíZN@@Ÿo¾y¿â€Ç«—N>^šß©S:E…LÇ”©¶Ù¾5–’Âõ÷S|‰úõÓ_º´KSÏ*Óh]øçŸ_M˜`îêª/7 Iã òÏ?ùææLåJH¨Ä^^X((, „ÊÊ„èßëš\W'FÙÚ²BÅóæ=‰>$¹z5'88+0ÐL&ÈíRã1 cjœcëÖø“'Óð‡÷ï:•~ìX¿^½t°#çÎeúûÇá︈ˆâ¿þÊØ²¥ç„ 桪ªúèèÒ^½t·oÏË«ÁÊܾ]PùÛoNxµ«W¿Ä“FD‡„äL™b!¢B¦cJV«¸or͘ñXzöhLK‹zð`_”itË–7ºº´E‹ìšª¤ññõµP¾¡ìl>–Ê»n!kkú÷ºu﮽qc‡S‹êÚU!TYY7pàmétHaa'N¼»ti€©)³©.ÉŒ:2v¨Òî݉±±e::´ 쬭ÕóóÇŽ¥¦¤pùå5öÉõèÑÔ«WsÌÌÓ¦YY[³êêÄs.^ÌZ¾<6,l‘øþçÂ;== ½¼L˜Lò½{—.eïÚ•ˆG%vï~›”TedDŸ?ßÎÌŒ‘™Y}äHÊÛ·•ÍvOqµJöMWßlÞ~}}5Ï*ÓèÉ|~ÃÚµŽMU"sA22øGޤ&%}tA7´ukϤ$îºu/G6õõµDÙØ°ð×îÝ›4p {äHSCÃ÷›ƒ¸Üz33æ·ßv²²RWW§ þù'ÿÑ£âë×s°ß„?yŒèhîÜ)8y2L&Ìšeݧ>Wùrö³g%K–<ð`8Fzù²ü·ßâ ÒÔ©VNNÚT*1!¡òÔ©´_~yíꪇO>~<ÕÖVcëÖ^l¶ZbbåÁƒ)gÏfÌŸoklÌ@ýóO~HH6Nþî;›îݵ**ê‚‚2Ž{×l÷W«dßdDG—*v(^O§L£QQ%7nä]¸0€B‘ŸD¿ sçZ;9i——×9“~üø;åš1ÃzØ0ãï¿26flÜØ!d`ða¶?}:ÍÒ’åçgß©SCƒ‚ª¯S(Äï¾³éÚUKW—ÆåÖ?^rþ|V@@òνQ Æ;TF$’gÑh¤‹XZªc½½M† »{÷nAi©PW—vòdº¾¾Úµkƒñ…»#FkjRNyýºÿsÜ8³mÛza{zfeUGG—–• uui"‘äÊ•l&“|ùò 6[ !4h<˜=rä}„šY2  Z‰)Ù7i;kœ=롸QlI‹\Ê4š–Æ;zôÝ8c—‰$W¯Ê^AƒØÞÞáøQ¦!2™ˆ26f4Þ´?t¨ÑþýýÊ:p »Gk×rnÞÌãrëE"I}½![æãcÞ’1 £Á²ðlßÞ{Ü83ìÈØ±f3g>~ú´äþý¢‘#MNž|'KNžìÏBƒöè¡3gΓ›7óñ• ê—/Äö È®¯ïÛ—üúu•¸t) !ôçŸ.žž†Xù1cÌF OOç)îžâj•워  w‰Â™ ©¦ÙF…BÑ/¿¼š6ÍRî¼ ÎBíÝë2dȇ âí}?3“¯|CææL2™¨®.'׉ýÊ•tú‡Ï$ÚÚ´ÐÐ!wî>zT\V&ÄæL*•ˆ¯…üä1@Á•ÉÉ©®© ÈÆ#!--ê7ߘœ;—™œ\en®^^.ÔÑ¡-]’Höy·¼\ˆJOçâ(ÇŒ1“®ÙÁA3:º´²²NW—–“S-ˆ¼¼L°oÑ õÞ½uŸ>-QÜCÕæåÕ(Ù7i,¥%ùüšm´gOõë_ Äöòj2i(vÙe.ˆ•«woÝgÏJ”lHÁW„зßÊ.G‹«X¸ðYm­Hæ8Wué“Ç€Ž&9¹ŠN'ûav"¯¯ÅÓ§%II•#GšÄòÀêB IDATÅUH„½{ß"©7oCƒ!”žþá#^^&ÒÙ‘ºuÓFUT±‡©©\--*þ-!D¡G6Ý»7Iq÷W«dßd´0ýD³îÛ—RW'þé§n *IIájiQñHBˆJ%ŽcöçŸ.ȧÆËËX:Ò*)©2%2/¯Z¦$6m¢Œ:v¨ŒP(BiiQeŽkjRBuuâêêz„Py¹0*JÎ7ÞÚZ1þ·L%T* !„-{ƾ`³X²-“ãM.Õ*ß7i-ÌÙÑl£‘‘Å/^”uî¬e¿Ã{›‘Á›:5²sg œšº Ò'ûig‡34”½¯Í¯¿¾ E'š÷맯£C£PˆÕÕ óç?Eˆ€Z6Ft4B¡XCƒ,“ò{³…b„PMH$’4ûæÅfZ…B@‰ÅxI‘¼É¹ù·¤âj•워æìPÜhuuÃñã©úújß…ÏÊâ#„æÎ}B$‚‚ÜI$‚Ü "säÓÎcdÄ9œ—WݯŸþ˜1fl¶•J$kÖ¼àñþ­óÇ;TÛ®œP)K¤3\ÄÇWbÏÒ Ô½»ÎªU_na¡Þø`cØb·o«¤ŠÅ™ÿÕ§õ­…9;šmôÕ«r„PJŠìOˆ55"|Ó;vA?:}‘H’˜X¡|CŠOAækXee]NNõСFøž „ô÷6#Ú%µ´4nqq­ôJ(lÚd³é!##z]øÈWé»att”ý&l` –™É¯¬¬“þ:-3o|‚Oë[ sv(n´®NÜÐ Ás-K“Nž-÷‚ÄÇWH—oÙ•—=Á¸¸r--j``üßÇšQI‰¿ÇVÚ v¨ŒŽÍÁA+1±r׮ĕ+Èd‚D‚ΜIü˜£¯¯fo¯I"úôÑ‹-ËÌäûøtÂweçåÕ\¸Õ»·®’­ØÛk&&V>œ:¾-‘H‰$ü‘”-»6ø?ÑÒ¢~BßZ˜³£ÙFûôÑ•©¿ºº~þüg––ê›7÷ÄnàŠ]·o«HY´ÈŽH$44HvîLÈÍ­iáÙ5…É$“H„ÌL~UUö«ã»wÜ ^ãÚhŒh—<< Þ½ã®Zõbï^mm*B(&¦ìÈ‘ì)„ÐðáFÉaaù+WvÅççñê¯^ÍqvVv?ˆ»»AZoýúW;wöf2É¡»w ¥oÏôi>­o-ÌÙ¡¸Q‹ÒxZ^»öeNNõ‰njj$,ÖàáÁNKã­Yór÷nguu2B(44ÿúõÜ–Ÿ]S45)¼”.vçÚŠŠºµk_ÖÖŠð`GÚ v¨ÒêÕÝfÏ~rìØ»ààìN˜5¥¥Bì8öËØ† N“'Güüó«mÛâ;ubR©Äüü÷e–.íL&“ši!„Ðòå]çϺ{wâ©Si&&ŒÜÜj.·¾sg”.QÑ'äf|BßZ˜³£ÙFuth}û~+Án=Ëd~”oåÊ®óæ=ýã·gΤ›˜0rrªy¼÷¤%g× …8`ûÁƒ"w÷0;;M¯>+‹/swÞ6#ÚŸyóloÜÈ}ò„ãáfe¥Îç7äæVK$hâD ;; „Ð÷ßÛݽ[xî\æ¥KYê,¥¤DXXX#INžtCHS™V¾ÿÞöÊ•œÛ· "#‹­­5**êòòª»vÕ|û¶ª%oÉOë[ sv(n´kWÍÆÓ2;pqÑc0HÿVb{åJν{…nnÿXY±ÊËë j° Ò³kÊ!F11ecÇ>èÜY!”™É§ÓI&& üf´m4Fh7à*¹¹é=êjnά¬¬{󦢴Th` ¶g3~—;;ƒ ¢¤¤ª¸¸ŠÒR¡……úªUŠÊ“æéi¸kWo--jY™ðÍ› ‰íÙ㌭÷f2åß²D­Ò7•4:háž=Îø‹%;wö–‰>´îÙmÞÜÓÅEW ÅÅ•gdðÜÝ úHh£1 ýÑ×W;~@Ÿ>zµµ¢·o«rrªÕÔÈ vÞ¼¹V€Á ??`Ú4+ …”–Æ{õª¾¢¨¨fÞ<Û‘#MÑ¿€OÓ*}SI£l¶Ú™3ýmm5jjD •Ž`Îë3¬Z½!Üœ96“'[H$’¤¤ª¤¤*ccÆÉ“nØZLÚ ‚DñêØv‡Ïç+.cccP&¦¬W/çÏG¦¥¿vmp5¤›­öÝw6çÏ{<}úÍ›7cNêofÆàpj÷íKQI_/¡PôË/¯ÆïdaÁl£&îÝ+d±(·oMM—–6žÁ µQCŠ™˜0¦O·:uªÿäÉ*éä‚•4C"Aë׿êÛWÏÇÇ|Ë–ø¶h[3â쬧«Kk‹ú•ÐGú¡‡‡Áô™0áa\\¹ªºøJíÛ—Âç7¬[ç8cÆã6j¢°P`eŲ¶fµQýJ „ýqÿ~¡J;€@°ãsKOçíÜ™ðüy©D‚\\ôÖ®íÖ¸La¡`ß¾¤ˆNii­–µ_?ý%KºàŸçvíJ|Xôúuy·nZÒeòòj||âY!KK…7oæ…‡ýõ—»££6^ìÌ™Œàà,ìï‚‚š€€d‰ýðƒýªäèÑÔ›7ó°¿Åb‰25ß¾]°|y ^CAAMppÖ£GE·n ‘þ}üø»ë×s±¿SR¸‹=»paÀöí xJˆØØ²ï¾‹zð`8FBUUÕùúF¾{ÇÅž ѳg%ÏŸ—ìÞíyòMZÚøõë»+S3•Jœ8Ñââű±ÞIIc>¾l™=‡S‹ÇG0wînÞÜ3:zdl¬÷Â…v"‘äû–Öž>Ý?.nôÇ#ÜÜô9œZüküöí‰ïÞqGŒ0¾zuP|ü˜ØXï½{]44¨7¾Ú*Á¾2nÜøÆÂB}ölë¦*QfL7tó¦çÍ›ž¡ ìÒÒÆ§¥5êÃ'ìÆcÔìlÛ–Àã}èÒž]ºhÊtIéé¼íÛ㜴§Nµú¯¯ µœ9“‘”TeeÅ:sÆýÍ›1Ž˜:ÕòÖ­<é2AA/^”3Žu}ýztd¤—Ÿ_°eK|II-^ìÆÜ Ìïßž0æâÅÆÆŒ˜˜2üû­’•„†æû­ùÝ»ÃRRÆÝ¸á©LÍÁÝÝàèQ×ǽ’“Ç=>rß¾>T*ñðá²áܺ•7s¦õ£G#âãÇìß߇L&$=›±m[/l.ýî;±XròdVþúõÜë×s;wÖ8qÂ-6Ö;>~Ìùóìí5/^Ìzõª­¶ž)ÓèÙ³™ïÞñ6ntjªeÆTqC?ÿÜ=-m<‹EqrÒÆ¦ÍM›zà¯m£F…'%Uefò--Õ±’K—v™9óý7ð±cÍîÞ- +(,¬16f(_Éܹ6sçÚÈôSAÍ¡áÃE"ÉÞ½IIIU\n=þÃfJ ÷ãJ:ûúZ`¯XÑõÒ¥ìòrá™3ý´BL&ù§ŸÆ˜–ÆCÕÕ‰oÞ̵µÕØ¿¿/¶šN'eZUU¿aÃ똘Òد§³³nZÚøO % /º{·àÚµÁ$’üEáʌ駮ñ)‚Æ]êÚUóС¾žžwþÓ­p³²ø³g?ÑÑ¡:äJ&·åšx Ë'Ð}lm5B Ãß¿Gf&?*ª/óÏ?y¡€€>=zh#„ÔÕÉ~~öNí… Y÷ïás‘»»ÁÆï¿÷î­;¾ío¿Å%'Wa %”¬¤Gí­[{ÊìQ\³žíÇŽIýùç×eeB|a…Ì´9`{ýzGìo//“¡CóÃÂò×­sœ8Ñ;¸jU·K—²±i!tùr6‰D8uª¿vÄÅE÷?\¼¼îÝ»Wس§ŽÜë™’2N¹ /_³×îÙ“¸jU7CCzS•(3¦Ÿvv˜ÆcÔì„…|Ü%毿vÏÈà}B˜_v|>yyÕ"‘ÄÅEû ŠÑРôì©óàAÑÇeô° †D"xx¼{ÇÍÎþ§èÛWOºòNÔBÕÕ ÿ©’þýådÄPP3BèøñwÛ·'4~•P(–~ا>þ7‘H02¢  X¤cbÂ@•–Ö"„rs«kkEiiÜ.]®!„$$‘H°?BmrÃ×f­©mØðzÞ<[éÄ"2”Óž]ã1R<r»ÄbQzöÔ ŸmZd}½XæUµµ-[ëÓGWú¡±1!$½Ï…D"°ÙjØ´‰z÷Ž+I<<œ‰¥F¶‹­¤ÙFûíuçΚÒSfL[rvǨÙ!ÈÎæ7î’‡vTTÔ¹¸ÜŸÒ񢮮z+îT ‚_&Eª1jjÝcû`'ùèuÍW"7W¥‚šE"ÉÁƒ)êêdÿýúéëèÐÈdBIIm¿~¡2•ÐhD™J¤¿{#„^-¶6A"Arw’7þxŠiaÎŽfŒ,.,>œzøpªôS •66W{÷Ö½xq€âÖ•lHñËeÆHÉ!hüeL"iþÿLllÙüùOõõÕ‚‚Ü!Ò¾ʤäl¦¦L‰S&Šðϯ\n½ôæj¬LllŸß€¯Ë‰$ØKææêÊ7ÔÂJäârë¹ÜzooS鴚ş\á¿f`7>P2|Ð*šmËÍÙ\%ÊŒikž]³C ·K|~C\\^ÆË˸©@-]mfÆ r×ÓSå}pÀ˜›3ß¼©x÷Ž+ý«»Ì´cnÎ|ýº".®ÜÉéÃ‹Ð™ñZ¥¹rskôôhÒ7ÉÉ©ÎÊâkh´è>GÖÖ¬Ä΍(¯Ïy¿$Å*¹WN™1mݳkvÌÍÕß¼)OKãÙØ|¸‘­ômmjK6Nà󃥟ƒAòð`Ô,YšÊ+.|†'w@Ñé¤Ù¥¥Â… Ÿ%&V  éé¼eËbRS¹ööšøöÅZ¥¹´´¨t:éÉÎãÇœÚZQIIí¹s™7¾ùä ÿí0yÔ(Ó/Ê–/yýº‚Ë­ Eéé¼ì b78h ËÙ¡ø?·bi¶Q," ýßË—£Bݺi¥¥Ç"Êé§œ]SšƒäînŸ_ãçýîW hHJªZ¼ø¹ÌoÈrýýwÞÂ…Ï,,ÔÏó€HøBxy™H$hñâè§OKjjDyy56¼–Þï€Âîšñññù EE‚ýû“/\È¢R‰C†*ÙP«T"—±1½¬L”ÁãÕóxõ}÷]¾@ã“Mœh.4Ìœù$<¼°¼\X_/Îϯyð hñâç2×GZJÊ8ÅÓ¦‚eÍ6ŠEdþÃv¾y3&-m<¶¬C™1ý´³kJ³C0b„‘D‚/~þüy©@ Êϯٲ%v_5XÙñY­]ÛíÅ‹²Šð„ZZTwwéOT¿üâWñìYÉØ±ðƒ iëÖfn¶'­U*iŒ@@¾¾–§N¥Ížý?8~|§«WsZR-BhýzǤ¤ª›7óðû³àÚn!q«4ªÌ˜¶âÙ)3ëÖ9¾xQvÿ~Ñýûºäæ¦U¢8Õèï¿¿‰$ÉÉUÒ[ÓB,åÕ«Qÿ©Ÿ´–™3­nÜÈMJªš1ã1v„@@ÞÞ¦Òwʘ1Ã*,,ÿåËòï¿*ýÚŸvÒ×Wv+V«T"×”)–ûûÇùûÇaGºvÕ´³Óàpj¿P±o¿5Ž. Éž?ÿ™ÌS“'[´¤æ¶nT™1mݳkvfδ¾q#/9¹jÚ´H¼Kß|cšßl†æ•+?ºEîܹQØû÷÷õò2þ¯]@k•Ÿ•µ5ëòåžž†L&™Á yx\¸0@&-‚™ãÚµÁ'š³Ùj$AW—6j”éÕ«ƒµ›ª¶±V©D®Ÿ~rX²¤‹™ƒJ%ZX¨ÿô“Æ MÞ_PyššÔË—®^Ý­[7-ƒD§“mlX“'[„„ ”Ù²ÞŠZ¥QeÆ´uÏ®Ù!°¶f]º4ÐÓÓˆÉ$3™äÙ/hhH&â›à+C£‘Ξõ˜6ÍROF£‘ºvÕïµvcéR6Bhß¾–fðà !KÆ{”Tã-7+­ªÀ{íkÁf³ÕÕ[”î@ ÁÊÚ¡ÿýïùãÇœòr!—[ÿä gÞ¼§Aƒ——‰ªû_¨­[ã¯_ÏÍϯÁRùùż}[Õ·¯þé€ò`M;íPddñ;ÝMÆÚšõÝw¶ªê|á23ù'O¦Ia0Hë×;ªª?h!XÙ@;täH¿Áƒ Ùl5 …hjÊœ5ËúâÅ F[e?€¯ÝúõŽ>>æææL*•¨£Cóò2¾|yv+|`eí››¾››¾ª{_ õ;z©ºh5°²í ;Ю@°í ;Ю@°í ;Ю@°í YÕèX^¾,ü˜óí·f¦¦Ì/¿Úϯ®NÉIKã2dWW=[[ U÷ bNí… Y}ûêõí«÷åW«/^”½yS)K4ûôÑ# ªî€êA°ã³zù², ©o_½Öv´IµŸYFoþügYY|üÈŒV¿þêD€Ïít`ÅÅ‚€€$??ûÖJ´QµŸ™@аxqtDD1~ÄÅEïÈW Š {ð%€m,ŸU¯^º~~ö&&tUwä‹S_/Æ"ÖÖ¬yól'L0WS#eœ>¦ê®T‰Í¦í!‰¶³aC\DD±–uút«Ù³­ ÔbbJW­z¡ê~¨¬ìø¬zõÒéÕKGÕ½øݼ™—•ÅwrÒ9ÞƒJ%"„||̧N8x0eæLk VwÐA¨ùùuQu/¾Dyy5×®å²X”k×›š2B‹u=:ü޽¤¤*{{MUw@• ØñYÉ$×xò„óâEù”)ššÔðð¢¬,žžžÚСFZZTü%xuuò½{EùùÕl6}È£fW)¿zUž’­¨¨Ó×§õë§obÂ)Àç7-IIá64ˆ--ÕdÓh¤Ö»²Âà ÅbɤIæøyéêÒfͲ޵+ñîÝBv ƒƒ`Çg%“\#*ªäÈ‘T­;ÒÓyX--jP;þ9+ckËÚ¾=!?¿;¨­M=tÈÕÙY~"1±rùòØŒ ~„H$,Zd·|yWüHppöÖ­ñ<^=~ÄÙY÷Ü9,³]ppÖ–-ñ|~þ¬‹‹ÞÁƒ}µµ?Da¤Ô\¾œ£øÜíì4¼¼Œ›z6)© !Ô·¯¾ôAWW½ˆˆâää*vÐaÉ$×ÈÎæ$Ñé¤Ã‡SîÝ+ÄÊH„mÛz}ûm'ì!V†J%îÙ“øôi vL&¬[ç8s¦µÜVjjDóç?}ö¬Dúà€ìúÐéïÿ¡|ýºbÅŠ˜œœj¼€©)óÔ)7KKu„P\\ù?ÄäåÕàÏÑrm1ÁíÛ—,‘(:wƒôý÷¶M=ûï´ùÑôèꪇJN®RT/@ÁÕûùçW$Á×ׂÁ GD§¥ñüýã.\ ]fÆ8 …àëkA£‘ž<ᤥñ-zv÷î0é5 ¸ÌL~v6¿++u&“ÌáÔFFrHqqÑsw7@…†æ¯]û!Ô½»¶££‰DLH¨ˆ-Ã>vß»W¸ví+‰0x°¡µ5«®Nüä '&¦ô§Ÿ^?ÞOî)’Ÿ¦··©‚`GI‰PS“Êd~ô?$¶¥¤D¨¸f@GsòdŸß0v¬›MOL¬|ò„³aÃëaÃŒX,Št™šš†±cÍôõÕ+Ÿ>-Ù´éMçΚrƒ§ÕÕõÏž•të¦eo¯©§Gãr¢£K#"ŠHùñG„PNNõìÙùü†››¦&%=Y\PPci©žŸ_3gN—[ïä¤ãä¤M¥*Ÿ=+™7ïéÝ»ÃÔÕåÿS»²H¤(Ú¡§GSìÀæFcã–«˜˜0BŽ@Ñåè Ø¡z:1û«©‘B?ýäàíþâEŸß ýùØÀ@íÂ…Ø‘Hâç}ûvAHHÎwßÙ4®°[7­{÷†Õ$%Uq¹õ¦¦ÌáÃΞͼ¿ vìÙó!äïßcÚ4KüU±±eزŽÝ»étòùóø’ Z²äùíÛéé33¦ôCìS~UUÜ W­z‘šÊµ¶f9;ëêèP)R]èðáTìówEEBÛdÞXy¹!”“SýÇo?+ãCZËsvèëÓrrª««¤w²`9JôôhŠkt42Ó&¶Bñ´I$LLññr+>—d0HvvÏŸ—NšôÈÙYÇ«ˆ(–ÙÔ½bEW?¿èŸ~œíè¨E"âã+^¾,OIG"V¯îö¿ÿ=3&¼_?}kkFÊË«‰‹+ÏË«ILC"ÉùðÝòœ£G›<˜W>zt¸§§aEEÝßçI$èÿëŒGm@yt:iìØ#Fë뫽}[UB ¹yŽB={êÄÇWŒ}èPc„Ћe‰‰•Ò·»Z°Àîï¿ó®\ɉŽ.ë×OOS“š‘Áˆ(:qÂÍȈ¾h‘]XXÁÊ•±§N¥99i³X”’aj*7>¾âäI7ìÆRµ0g‡©)cüøNW®äŒ÷`Ô(S …xëV‡S;t¨,ˆ€`Ç×á·ßœ¶m‹?>{¨­M=tÈUî}gB›6õœ?ÿéË—å/_–#„tuiþé2}úc¼ÀÈ‘&••=¶o‹+‹+Ǻ¸èa ¶‡ 3úýwÿ¸ÈHNd${–H$ È&“Û*é…B"¨ÜI½ó"ïE^UžY­›a· Ý'¨H—)䆦„&s’±©ÕÙÔy¼ãx…øbÏ|Étt<~ÿÝŽÇãݺuëܹs—.]êÝ»÷²eËúõë§ê®_v|V¹•¹Ñ¹Ñ5õ_ÖnÛÛ)·ý®û‰Ä"üÈÍ·7OÆœ<ã{ÆeˆY|uñí”ÛÒ¯ ~ìné~Øç0ù2Ï|¬­­úé§~ø!88øðáÃW¯^õõõ]°`Aó/íZUmUtnô0»aªîÈGŠùÅï®û°‰àNê£ÏÐÍ ;¸ùþféýY7ßÞ<úüèß3xDøË<;ðU`±X¾¾¾¾¾¾ÑÑÑþùçŒ3ÜÜÜüüüœUÝ5à‹Á€ªj«L4L¼ºxuÖï¬E×Ê(ËŒ Ì(ËØ|oóþñû±2eÕeÝ » µj¡cÁ 0^æ¿<súqæãÃO/óX¦ÚþƒvƒJ¥N›6mâĉ—.]:|øðÅ‹çÏŸ¿hÑ" …¢ê®ð‘ÚúZ ‰2ÙirwãîF,£’ê’à¸àؼؕ¯Œü_$™HF•Õ”±Œ¾éò­ž­¾º~FYÆñçÇó«ò×ü³æü´óª>Ð~ôéÓçìٳϟ?ß»w¯¯¯ïàÁƒýýýUÝ/@Å ØWg¯‰Ý'âRZ ôêì5ðÐÀÈÌH¼Ìoè2tñ‡ž6žõ;/¿±üaúCv€ÖE¥R§OŸ>iÒ¤¿þúë?þ Û¶m›“““ªûÀFF‘ÿ‹¤Sèø‘±c½Ox§—¥§”¤8°Bs\æ,÷X.=µ³6âØˆ˜Ü˜êºj&•©š®ƒvªoß¾çÏŸŠŠò÷÷ÿæ›oV­Z5uêTé­¦@GÁÕx[üöÜ«sùUùl{B÷ ΦJ$’Gî¦Þ-æ3©L]›É=&Ëìo]j2GŒ4Œ˜T&‰HÂHG:0ƒ¬!„ı‚š3Ê26ßßL§Ðý‡ûë1õZ§» c R©sçÎ>|øºuë&Mš4gΜeË–©©©5ÿJÐNqøœ3/Î$'1¨Œ¡¶CÇt#ýE.™“|%þJnU®D"1×6ã0‹8´*‰ŠH!É–:–éeéâû…HÚtm™W™jšZéX%q’ÌœÕuÕ¿Ýù­˜_¼bÀŠÆ=Z»ã sss»qãÆþýû7nÜø÷ßoß¾Ýܲhè  Ø¡ÒýùøÏzQ=öðò›Ë†m˜Ñ{öpmèÚËo.K—?ôôÐíy·Í´ÌäÖ–R’âÇ_q‹ýÌû-u_ªd÷ÄqЋ ž7Ñi¢‚bñ…ñ¡þý›*•µäÚ]†îñ‰Ç!Ò>©©i``àµk×¶lÙòäÉ“C‡™ššªºS@ŠxEãNãðß߬'49ôÞ»{c°xÇ•ø+«ÿY-ãDô‰=£÷ŒuÛT…3ÎÏNTÔ˜]ëà·•ïal^쓬'–:–ÖzÖM•á yÙÙݺ³h,¹ò«òç_žŸW•·wÌ^ˆt€OC£ÑV®\éíí½víÚÑ£GïܹÓË Òßèˆ Ø¡{#÷°0ºëh™‘q1îâæ{›û[ô·ÒµªT†Ä‡h¨i,t]h§o'l¦–¤^Œ»(¨4UOÈ‹ÎVÜ¢¾º~³½ºŸvÿÄóõâú¼ª¼~É›!ë=×7U˜/äûßõ×Wןï:_n‹q ûÕ¥“Ëñ4Õ4›m€¦„ñãÇ;;;/Z´hüøñGŽéÕ«—ª;>·ÀØ@KËeËô™ú‰Å‰Çž M½luyb÷‰¡Ñ'B3{Ït³p#ÉYY7opk¹ *ŒÎVìP&D[À-øñæ$áð9ÙÙ¶z¶ûÆí#HM•ÿíÎoB‘pç¹ÏÆÆ-¸¼€J¢^œ~±‹A—f[@.]º\ºtiãÆK—.]¶lÙâÅ‹UÝ#àsƒ`‡ xÚxâ?·n nð8àJ•þH&’%É8‡qxaDç ú-P°æ¹³~ç³SÏ*n±ñ&”ÆŠyÅxЄ­ÎîkÞWz;º4A½`Ñ•EÜ‚@ßÀÆë´Åñ¶ðm'¢OLì>q“×&,Q-dff¼|ùòY³fß5õƒLkåì0P7ÀÓ Nì>Ñ÷¬ohrhzYºµî‡ýç¥Õ¥s.ÎÉ®È>9餋™‹Üzh$B¨ˆW$‘HàG$кH$ÒöíÛ…BáÂ… /\¸Ð¥ ,õï(çQÖ¢kp °¿½í½»²»þýöï+ñWRJR„ ÂQ]G­°²ñ«p­’³ƒN¡ã±æ1c Ô Ž=?v5þê´^Óð2"‰hõ­Õ×®­²~ŽË¹õÐÈ4„Piui½¨‚ Õ}óÍ7"‘hÅŠóæÁï: v¨@bQ¢ôíW°LŸlu6~ÄÅÌ %ˆÄ¢k‰×VßZM!Qf9Ï’[[kåìF"’̵Í_å¿*ààÁ޼ª¼Yf•Õ”ö=-wMfãˆÁo‚c«j«vxïP°}€O@$wïÞ=k֬ŋ_»vÅRôë=h7‹¥V×Ug”eHߦÊRÇé&%Ì8?£„_¢ ZÑ*9;dXéX!„ y…ø‘Ú†Z¿k~áiá¿ûufï™M½p”ý¨Y½g­ºµjêÙ©§&Ÿ‚ŒÎ Õ5ŠÃáìØ±ÃÁÁÁÍÍMÕÝ>v¨À¨½Lz99"„ò«ò7Þ݈ò°ô@e”eÜO»ïãè£ÃÐA‘ˆ$c c„PtntSÁŽ–çì8öü˜‡¥žO,ß{wïvÊmôïgw„PZiÚÌ 3õ‚@ß@'#'µ„ Ã6hÓµpk¹ûÆíÃ~´ µP(”?ÿüsìØ±¿þúëü¡êî€Ïáî»»!ñ!>Ž>!A½`}èúšúï®Þس;îôqôÁ#³lu6…DQnaÎŽ¿“þfÑX,àë×’Š“Ž<;‚»Áòç]ž›ë?Ü_z­‡\cÆh¨i,¹ºdò_“}M5á®C •Í;÷õë×+V¬ ÓÒÒRuw€6Á0dúœñ±Ð± ’¨éeéõ¢z{{o{o„WÈÝñ`Ç®‡» Y†l»ª¶*£,!¤ ¾Ðòœ·’níx°C›®mªe*‹ó¹ù•‚J„Ðd§É&š&X¿ë~>ÇXÃxGøé×2iÌcŽ5®ÓÏÝO‹®µéÞ¦Ùg›pL¦Þ’ C__ëÖ­ßÿýرc ¤êî€6go`¿úÖêßýnÀ2È,Ïä ù cQ¿Eس§cN}vT‡¡c¦eV×P÷®ô]ƒ¸a Õ@¶0gG|aü‰èt ÝLËŒN¦—T—`{j:ëwÙe$VfOÄž˜Üušú­¤[·’nI¿|ÛÈmæÚæ2u²tÚ÷ô¼ày“‚&úÚêÙ¶¤‡4¶eË–#Flß¾}ûöíªî Ðæ Ø¡¿ ýåTÌ©;©w°‡nn{FíÁ~E´Ò±šï:ÿJü•nöÑY›®=½÷ôïú|×výYØoáé˜Ó±y±‚ ìˆ!Ëpfï™ß÷ý/S[_‹Â{…Spfjš«þ^5õÜÔÓ“OckUh-ƒ 9räæÍ›=<G›®m¢iòyîÞÊòs*sêDuúL}|A.®0ûà.ƒD$áùG¤Ï/VšVVSfÈ2lü3&-|¯åää 6lûöíãÇo¶ð­[·Îž=ûË/¿ØÛÛZs-$‰^¼xqÿþýÄÄD±XH¡ÈÙ(‘žž~áÂ…ôôtƒáêê:iÒ$*Uö~LŠË>>ºººGm¶dFFÆÏ?ÿìãããããóÉ͵Pjjjxxø³gÏêêêššµ*++Ï;'‘H¦Nª¯/›ªLq™âââåË—#„¬¬¬6oÞ,óZ|R3fŒ¯¯¯’=g³Ùêê°¬T Vv|VfZffZfØßlu¶tRRiÁXøq¤M©ÓÔ»²»6õ¬2?0JŸÎFÏÆÙ´´sÈÓ©S§Ñ£GŸ:uJ™`Gaaatt4—Ëý k¬  `ôèÑUUUø±XܸØÝ»wøá‡ºº:ìaXXXHHÈ_ýÅd2•/SRRÊÏÏŸ:uªtP@ =z”Ïç#„¤;ó%Ó¢ká;õ4Ô4œŒ›œ‹t:Ÿy•D•¾_• +]++]+Å5HŸNúÞX´ºÅ‹/X° ;;Ûܼ™!ª««£££UxŸï±cÇ&&~HN,wÖÊÉÉñõõåp8ØÃððð   sçÎÙÙÙ)_¦¶¶›6cbb,X`föч™Ó§OcÏöìÙ³5O@#ªºðé&OžüöíÛäääfKz{{Ÿ={VUË:ŸÏwqqY³f‰‰ìÊ)LEEÅO?ýTWWçããsüøñ]»vYZZÆÇÇïܹó?•ÁôìÙ3??ÿéÓ§ÒÃÂÂø|~¯^MÞM Ðî 8P__ÿÊ•+Í–´²²:{öì·ß~ûz%‡Ã±µµ]¸p¡‚ÜL?þø#‡ÃéÝ»÷þýû:äááQYY¹lÙ2進2eBNNND"ñòåËÒóóó£¢¢`Ú€¯;_1gggccã»wï6[ÒÈȨoß¾Ÿ¡W™˜˜DGGŸ?þûï¿g0äï°æóùcƌٱcÇ AƒÆD§Ó±ãÊ—Á :TKK+$$D¦ kkkøq€ŽŒD"y{{+3m2™Ì¾}ûššªìÞ@ׯ_ ýñÇ›êC\\ÜË—/;uêèåå5lذãÇ;88¤¦¦>yòDù2}}}+W®HABBBˆD¢2ë|i` à+F ú÷ïµtéR‰DòèÑ£»wï3™L›É“'¼ß ³ÛˆÞ¸6--­ƒâŸ>}–››K&“§L™¢§§÷iýTSSSSSS\ûØ=sæLüˆ¡¡áˆ#®]»öüùó!C†(YC¥RGüÛo¿±X,„PNNNLLÌO?ýTVVöighÜÝÝOŸ>Íáp ’““¯\¹’››+‘HÌÍÍÇŒkàÌå IDATãàà€“ÉÙ1wîÜÚZ9Ù»vïÞmlü~ãmfffHHHjjjCCƒ¥¥å„ Z²žŸÀ›‚M‰“&MÂ'X‰4}úôµk×FDDxxx(Y7a„%K–DEE¹»»#„$IHHˆ»»;›-ß1€/;_·Þ½{ß¼yS,¯[·Nfùñ¡C‡nß¾í¾–ÎÙmDo\•µõûü b±xõêÕW¯^ÅŸ  ľ¤¤¤øûû+îX¿~ý–.]ªü‰¼{÷ŽD"uëÖMú ““Óµk×ÒÒÒ°@†2ep&L úûï¿§L™‚ &‰ãÆ;qâ„ò½´?ÎÎΡ„„„ÊÊÊÕ«WKçª?qâÄž={ÆŽ‹å숉‰2U‘Éd"ñý2ásçÎùûû‹D"ìaDDÄ_ýµeË– &`Gf̘?+—LĹYiii!™¬¥ØÃôôtåËà† ¢­­}ùòe,ØñäÉ“üüü5kÖ(ß%_v¾nÖÖÖµµµ)))!!! .´³³ …©©©/^lüÑý»]úÈ£G®^½zøðaìáÑ£G¯^½jff6mÚ4kk뺺ºÇ_¼xqùòåaaaD"‘ÇãÉ —Hk|;Å*++555Éä¦e¬’ÊÊJåËàìíí/_¾yò¤ôþ޼¼¼ß~û?{÷×ÔÕ>ü„ 3̰gØ2¡Š Å…«‚A‘jë–Ö¶jûj]o[µúSKÕºê*nAD†¢,ÙK {…•Üß·ïm !¢ôù~ü#¹9÷œçÞ|8&OÎØ¾oß>MMM„PrròöíÛeee}}}íììh4ZzzúéÓ§üñGWWW|Jbb¢èdGGÏÕÕÕ¡-ÞË]¢8eT*uΜ9/^lhhPRR e0“'O~úôi¿ð!€dàㆯ÷Éáp0 ›;wîòåËñãS§N]±b…ÐMOð‰èÄÓ¸¸¸Û·oŸ;wÎÈÈ!„aØ©S§ÔÕÕÔ””ˆÚ”””Ž=úúõkGGGssóné’žTUUûu!<¯[!„éê꿌 ooïÿþ÷¿¹¹¹¥¥¥•••Û¶mëWH€áJOO¯¬¬ŒB¡˜™™mݺ•8ÐÔÔ$ôgggâqEEÅþóŸ_~ùeêÔ©ø<rêÔ)b-ω'ÚÛÛþùç·oß^µjBèüùó‚£Hzº!·xê„LþÇ®ÏøÓÎÎNñËòöö>sæÌíÛ·gÍšõðáÃ… ö7*Hv>nø‚|>É’%W®\¡R©...ÚÚÚ4­ÏÓ“’’6nÜxâÄ SSSü›Í®­­UQQÁ'¡`†:¯­­Eåçç;::*((¦KÞ :Þm‘Q„PKK BˆXÓTœ2‚æÌ™³{÷îÐÐÐÒÒRww÷÷3à#%''×ÒÒ²|ùòo¿ývýúõîîî–––ÆÆÆRRRx§*‡ÃY²dÉêÕ«gÍšELII!“ÉDÝ&ž„%f‹Œ5êý^NGÿë øSb7nqʲ°°°¶¶ Å0¬££ƒ˜ƒà£ÉÀÇ ÿÍ­££ãÇœ6mÚÇ?ž••Å`0-Z´lÙ2‰ÔÛ¹)))ëׯ?räˆàzø‡àÚÚÚ¸¸¸ž§àëó Æš:::ÙÙÙGp¸uaa!úßè1Ëb0“&Mº~ýzssó¢E‹zŽ ü;Ñh´ŽŽOOO++«;wî\¿~=;;»½½}æÌ™ß~û­ˆ«jkkýýýðUK ­­­<OD·‰aͼß+**\ɨg·Ùg™næÏŸ¿}ûöªª*+++ImX`ààƒ/àã†O/Çç›8;;ã­y<^XXئM›¨Tê’%K„ž˜‘‘±fÍš   [[[Áãššš$ÉÖÖvãÆ=Ï244D Æš¶¶¶ÙÙÙQQQŸ}öqðñãÇ!ñËtãííŽ?èW<€a¬¡¡_·ÂÈȈH˦§§/^¼˜Ãáô–qhhhX²d‰¾ì± --­ŽŽŽcÇŽu›0‚RQQÁ¼÷5;ðÞ;**jæÌ™ÄÁÈÈHôÏn³Ï2ÝÌš5ë—_~©ªªZ¹re¿âðAdàㆯ0×ÔÔtâÄ ///üS5™LÆ·BLLLšìÈÎÎ^±bÅþýû‰éåƒ1jÔ¨/^zyy³µÙlö¥K—FމŒ5;<==¯^½zðàA„Љ'233Y,ñÓ¢8eº;vlpp0™L677ïW<€a¬±±‘Á`üúë¯^^^ÄFTL&“J¥ö–Émjj ˜5k–ÐNuÊ”)AAAáááß~û-±ÚQSSÓ7ðÍ_Ð ¬Ù1qâD:~çÎ3fàÛQ%%%…„„P©ÔiÓ¦‰_¦%%¥+W®´´´ô– ðQ€dàãVVV†¢Ñh{öìÙ»w¯¦¦&“Élhh(((@=¶ÄøûûÓË ÄêmÛ¶-X°`Ë–-»víÒ××§Ñh¥¥¥ÕÕÕ¡uëÖQ(”wX³cíÚµøªl6!€Ï¯9vì>CÞÍÍmâĉQQQS§Nµ²²ª­­e³ÙRRR›7o&*§L7d2ù½//ø¨aVVV¦¡¡ñóÏ??~\EEEOO¯££#77·««küøñ=Oár¹K—.ÍÍÍ¥ÓéOž<|iß¾}ÚÚÚ_|ñEDDDHHÈ•+W 8Nyy9Ç;uê^²¿kv9r$66!TTT„Ú³g¾gÖ×_W¥¤¤¸gÏž+V˜ššR(”¬¬, ÃV¯^ï#f™žºíð àc$%éÚxw#k7«Ž[‡?=™p’µ›•ð6A²Q},vDì±o·SÈö¢¦½Oö²v³2«2%Èðñúõk]]]{{ûåË—«¨¨”••½zõª  @YYyݺuË–-ëyJtttMMMUUUâ?%''ãÌÌÌ®]»6aÂ.—›™™™’’R]]mhh¸qãÆw^–ÿÕ«Wx+øn¸IIIøSÁ]T<8wî\ ÃRSSÙl¶ººúÁƒÇŽ+X8e†½ki×X»YáÙáøÓ´ò4ÖnVPld£úX„g‡\ÿËÄİv³N'–t ÃGAAAcc£­­í÷ßoffV[[›’’’™™)%%5gΜ½{÷ö<¥¨¨èÕ«Wmmm‰=à}š¬¬ìÅ‹ýüü¨Tj^^Þ«W¯Øl¶‚‚B@@€µµõ»Å™ŸŸ7QUU…ÊÎÎÆŸâ‰cÜ—_~ùÝwßÉÉÉåææfffJKK¯Zµê믿¬Gœ2†Ùñot8îð˜—]rÒu’t,•5Úp4J—HëÃéN~¼RSSmmm7nܸaÆòòòªª*eeeÁõ8===mllð¹Ó§O·²²êY•`"ÃØØøäÉ“MMMÅÅÅ|>_WW—˜vþn:ÔÑÑÑó¸àÆrrrûöíÛ²eKqq±ŒŒ ‹Åê9û½Ï2&LÆ'¹åçççîî³Zúåû…ÏŸõãÖ¯½FÒ± Td^¤¢Œ¢“ždz­át'?^©©©4ÍÂÂÂÆÆÆßß¿¶¶¶¤¤DVVVGGGp_'ccãàà`|OƒÞæîásBòòò;vìØ²eK~~>—ËÅÇÙII½ûïj«W¯\Ÿˆ@lž…[¹re@@@~~>ŸÏ711º5•è2L&388XYY¹·Hƒƒƒ‰+ðQ€dÇç —/¾pùBÒQ|²9ÙìöÊO`ý°¯¦¦¦¸¸¸mÛ¶áOI$’¶¶¶ÐÏ£ZZZZZZøcMMM£—)((¼¯ÁÌb–d0 ãËhhhàëöF______Ì`> 6Z6yßçI:Šã?É2Þx<™Ô=þ=ÂÃÃ]\\ˆô®ŠŠŠÐd®œœ1 NVVVÌ qT*ÕÂÂâ½ÄibbB¬'"šŒŒLŸãGD”‘‘‘}u æÀG¦±€ØãÜÇ$Éå.é@€ÄÜ¿ð©S§J:>¯J_Õ¶ÖB·ùoV__3wî\I .Ù1Ôòkòú5¡$Ã0g=çÜèVàdÂÉÝQ»ƒ}ƒ]ô]B{Ÿì=ìöÒÛ)e)ç^ž+¬-ôéÿƒû--'NÜϺÏn`S¤(6Z6+]Wº¹õ´v¶žL8ù ûÁÛú·2kMë/]¾c8Æÿ’\QBÈç‚^r”Þ¨¿„PycùïÏ~)ˆ©n©fП|²vÌZÕ¿~T‰2]y_ô¾CŸšfþ%Í·=Üœ|cÉ ­A\Éüqîãš#4ä5BuܺãñÇ#r"*›+åhr,5Ö"ÇESͦâk@Џ!"nr'¯3<;üZÚµNNmk­†¼Æ£1cµµB"¶×Ó®ŸH8Q\W¬&§æmë½vÌZ)$ûðEEEIÇQc[ãþ˜ýr4¶5šª™ºv+VžöéÙOÝñ—b b–^YºyÒfkMë12*2ŒUÃÂ0 M ½’z%»*›‡ñŒTŒ|ì}üüˆ^ðëé×CSC³ª²x|ž‰š‰½·­÷ÑçGÄ@ˆ9€?@ácIÚºÚŽÇ¿›y·¤¾„F¡ÙhÚ,w]>Öè¯%T„F²ÍcÛüóó9.Ú>e»àUÜ˺øýÄïup_d^$™Do<!Äãó‚__K½VÒP‚a˜²ÁlëÙ í{»!d¹·›ŒJ*IºøúâëÒ×åMåò4y‡®+FêŽDÿ›ú'ôNŠh‹þuÙë_£~M«H“¦HO4™¸yÒf½1P §K—.IKKO™2EÒƒ ’C*¿&þùùmøÓ'ùO^—½¡Ù÷ ùãñÇo¿¹?æcü†¶Ÿ >¹Õ¹ø‘vÔ_Ÿð6aßÌ}s¬ç „ê¹õ .,ȯÉÇ p;¹±…±±…±Ù›²{k‚ÝÀö:ëUÓZƒ?­n©¾ýævd^ä……Ý"ñ±÷9ôìÐù—ç“--aéaŽ:޽e:ð9Û¢/ÙÓÒó·9¿‰(PÝRZ‘8毯=Ë®,K-O%®·º¥:¾8þÞ²{fêfHä !>Iw»4„Ѓœëo­'Z,k,»šr5:?úî²»Êô^göŠÓÖ¹—箦\%ª Š Âö•ÛW¢ï èæÁƒ»ví’t `µwµû…økú¦W¤¯¸¶b†ÅŒ>OL.MÞ¹›‡ñB|ŒaØww¾»™q“(U•µýáöÌÊÌŸ§ÿŒÂ0ìë[_ßͼKH+OK+OÓUÒí­‰N^ç’KK^²_âO;xÏ‹ŸÇ¿ß1e‡¯ƒoo‘8è8ØjÙÞH¿±qâFYêß \xyN¥f'd…œù¯æ<>OÄ%«É©Å¯‹Q!ô8ï±³¾³¢Œ"Bh_ô¾ 'ˆ—Ò+ÒÓ+Ò©RÔÅ##‘7„HÝv»4„§™³0x!qJ·.2/2:?ú‚ïg=çÞ¢§­´Š´½Oövð:BÜNîôìöE¿‹¢¯tÓÔÔtòäÉÏ?ÿœN—ÌZWÀdÇÚ¹«±­q"kâ†ñôzµ??ú9¶0¶ÏóÃÿ3é?ž–žLy&Bè‡û?äVçN5ŸºÒu%KÕÞÕ[»íÁ¶;§˜M¡Séÿ}ôßüš|suóïÆg§m'E’J¯H?žpaèœÏ9¡ËjîŒØYÓZã¬ç¼yÒfU“Ò†ÒO<È~ðŸûÿ¹½ôvo‘ „fYͺšz5¿&Ÿ–ÖÒÑàðo]OQyQ†M2„ªj®J-O5Q5ùÕóW3u³ö®öÜêܳ/Îc%DÜDêõÒhdÚ|»ùÞ6Þ&ª&r4¹ÊæÊ°ô°ƒO^M¹ºÜuyowRœ¶neÜÚê±ušù49šÜ£ÜGïl<ÿò|à˜@âfÐ§ŽŽŽxzzâkŽ‚áêÜËs™U™ÆªÆÛ=¶ÛëØ×¶Öžˆ?üJøB‰‚îgÝŸo7¹Ër}†>YŠ–v3㦹ºùƉí´ì¤)Òéé;í¼œrÙÛÖÛAÇ!4-ônæ]ñí¸o'˜L`ÐyÕy__¤’©kF¯qÑw鹬æùäó/Ù/µµ·OÙ>JoTS{ÓÕÔ«‡žúùñϦêòêB#A-qZòííoo¤ÝðsôÃËäUç%–$ú9úáiˆARR_’W·Ànþ4"'‚N¥ï›¹o´áhŠ¥¨¶èæ››²´¿ò/"nHo7!D"‘ÜŒÜüGú[1­ÔäÔÚß&n¼»ñèó£ÎzνÝIqÚº•qË×ÁwÙ¨eLfFEÆú[ë“J’2+3-™Ðô¾uëÒ¥K%0è Ù1tZ;[Ÿ>ÕVÔ>4÷4E!dÍ´>êuÔý˜{=·^ô¹K—.uþë£I¯ãvÆmS5ÓCsáßéTúLË™ m ÛlK*I¥?ê~Ö}qÖ笚œ~–›‘›à$—n¸ÜèühUYÕÞ'ä¥åB,5VÐÜ ™Î̬Ê,¬-4R1ê .À9àjêÕ É¶yüµHdpr°¦‚æTó^—QpÒuøj‚ók*hZ1­B :C†"c¯mo§m‡¢SéÎzÎįˆm]mâÜž—6Ål Ï;øô`fUfc[#þ»%B(›Óë1ÛZ7fÿHüñë99áÙáåMåÚŠ°Ò»¸öïß_QQñçŸJ:0¸Â³ÂI$ÒáO›ª™"„d•dwLÝQXWˆO"Á^Ûþ—i¿ ÄдP²ùô‚ÓøÄ7„³žóY¦œö(÷‘ƒŽÃõ´ë¡ßæüF %°Ñ²=ï^æ=„PÐÜ {m{„¼´| [`UsÕ¥×—ç=ö±÷ Bh†ÅŒÝQ»ƒ_ÉŽ ÉBD· TöÆ^{1=Ê}„"ìÐTÔDM6›Œ:³dZ &Ĺ!=/MMNí»ñß‹?¶%|KMK >è‰ì6ÅlËÍÈmçᅨԼ#—».ßþp{' ’âKNN>yòäÖ­[7†+Hv v=›Çç9ë9㙜¢Œ¢ƒŽCT^”ès—{(©/iëj˫ɳØkÂ0 Cþ!TÖXÆ®gwð:Æë'¾l÷[›‡ñœõœñLŽL"5›[[\WL$;º-<2W7wÑw¹‘~cÄ ²TÙÄ’ÄNÎwã¿Ô¥þÛ»ÚŸ=›g3J#Ó~™þËÖ‡[³9Ù.ú.£ôFé(éüuuâÝž—†¯Ÿ"´õÞ*³-|A‚¾²>B¨¥£EÄ)@гgÏN:µk×.]Ý^§€á¡¸¾˜)ÏÄ3„qFãúLvŒ1#ø%<—“ËãóÆ‹„u›¡üš|%¥žý€¨ØêŠtžé ¸³Ü/½¾T\WÜ[$!*™ºÐ~aPlPRI’³žskgkXF˜›‘1>nDæEš¨š(ÿµ-ñf÷Íkn¬q?ê>Öh¬%ÓÒAÛOãĹ!=/-¹4Ù/į“×Ù­d[W›ˆzÄiËUßUð©CA·ÙMMMß|ó͸qã|}}û. |ü ÙñqP–ý{…||†aÄ/f‚ˆ˜$4("#!8¬º¾*,=Ì×Á÷ÂË Òiâ'M¡¾fÇóâçÜN®à†³­gO2ô¼øyZyÚ½¬{[lu5p=0둾éó†t»4ŸwäùyiùSv|bð‰Š¬ EŠÂiæ|rèÑõˆÓ– U¦gyü{èSnnn``àŒ3¼¼¼$ øpu[ºï9…®yÑó›¹øÄéi….¢éëàûÇó?.$_pÖs¾‘v£¹½9À)@t=\³£©½)©$i騿ǯY2-#VD$³“_²_&½M z¤,«üÛœßÌÕÍû¸¤ÿéyiGŸíäuºÎ1—)Ϥ‘i$iʉ)µ­µbÖÙÁß t›ýÔÑѱzõꎎŽ]»vÁ|Iÿì:º ]²9©$©½«øÐÖØÖøªôUÿêQÒ¥‘i6Z6—]Z ­«F¦%–$ִ֨ʪö,€¯d!ø¡YWI—L"¿`¿hno&²<>/¶(!Dü Ø›I¦“t•tƒ“ƒ=L=æ<œg3o°WÈÌ‹¤SéÝ~è“£ÉM6<Ùt2B(›“íù§çá¸Ã›&nÒe芾!B5¶76¶5zZzâk¾âb c˹“ïÔ***ª½½}Ú´lôSQQ±téR33³={öH*00” ©©¹Õ¹‚ƒ;ºý%ŠÃDÕ$£2#nmœ‚´ðü&ª&I%IqEq£ G÷|µç;BÈ@ÙàuÙ딲|îIþ$F·©&§æiéyçÍN3'äUˆ¡²!¾CÊà‰)ˆéâwuÛt–L"“þ¸\ã?Üûáú’먯Ò›’ú595ÁsÞÖ¿-ª-"Ö"z'ß­-ЇÃ9{öìwß}'xÏçoܸ1===$$DMMÜ!ŸÀǶº:²TÙ±FcËËÖ†­Íáäp;¹•+¯­ìsÁŽnèTúL«™/Ù/×ßZÿºìuc[c{W{~Mþµ´kÞç¼;x2™éÓë¹õ—¢ ¢ë¸u m ±…±K.-Á?_*É(!„ž>åvr‰:Ç›Œ¯n©^y}eFe·“›_“ÿõ­¯s89––Ä–ÞH‘¤\œÍÉþþÞ÷]ü®%NKD—Ç×ìýOôV,‘y‘nFnDÎ(µ<õ‹«_<È~Àn`wò:9Íœ‡ÙB%õ%¡>oˆP JVô,¶0¶­« ÿB²3b§`™žwòÝÚ=EEE­Zµjÿþý‚¿Üøøø(((=zTZZZÄé`ؘf1 ð57Ö/~îôÛ_[/å}Ÿ·ØqqxVxriòW¿=jÔ(IÇ )Ù1¤LTMBýCÝYîr49| Ç%¿KÄÖâS’Q õÝ4qÓͲTY:•ÎRc-°[pÍÿ>ØA™®|}ÉõÕ£W›¨šÐÈ4UYÕqÆãÎùœÃ 5Q5Ù5}K%¸«ŸC/, l¾í|¦<“L"«ÊªÎ´œy#à†èÍŠ2Š3­f"„úœv>psK‘¤&²&GlµlÿüìÏéÓñ9>Lyæ$Ö¤s>çˆaDßÞl˜°a혵z =™f¨l¸aÂbÇœÐ;ùnmBttôêÕ«y<†aRRRÄ0ìܹs .tpp8þ<ƒ1¸“¤ÀEš"ììçà§&§&M‘¶bZý1ïqÆãú[‰DÚã¹'hnÐÃ1J2JT2U¡çaæñǼ?ÆAI‘¤~ŸûûÏÓ¶×¶§SéòÒòvÚv»fìr5pE‘¥È‡çvÒu¢SéDT2õÜÂsnƪÆT2UŽ&çjàzê³S¾â.‰—œo;_Ž&×ß+ê——¥/Ú𽺠×ü¯-r\ÄRcÉPd”éÊ#uGîš±kó¤¿Ò ¢oHo&›NÞ?k¿…†… EFC^c¡ÃÂó ÏÓÈ4¢€Ð;ùnmBuuµ¯¯oYYYWWWWW×½{÷ŠŠŠÒÒÒfÏž]XX™ÿB¤Ûâ^ÍÍÍ•••¢Ë°X&Ëh³ IDATAA•3f4MHÆasÎÌihkˆZ…OÉŸÏãñð—h4š†††¶¶¶¾¾¾¶¶¶¦¦&“É„e;ükA² ?Fh»ºº‘……¶®®®¦¦¦––––––¦¦¦¦¦¦´´´¤€KUUÕ‹+"9;;ëêêêèè0™LMMMü’’’¤> ìHƸqã*Û¼¹rÆŒfIÇeeå1cž!„~ÿ½RÒ±:Ü |%b‚n$;0¬@²à ¬Ù!o*ß$—&×¶ÖjÈkøØû\I¹RÛZ»ò“•ø«É¥É±…±ólæé*½‡½'Þomƒ§­«-®(.£"CØš1kÈ$rÏ2¼Ž§…Oóªód©²®®¦j¦ý-“Q™ñ8÷1BÈEßÅEߥ۹‘y‘éé¡9Ös ” ÞÛµ¬¢©âiÁÓŠ¦ a«>Y•X’ø’ýr¡ýBuyu„PUsÕ¥×—„þ]¿ƒ÷[Ûàácü”²”„· ¼½ÖKöËÔòT>Æ·fZÒ%Eò#‡ˆ2õÜús/Ï!„t”t¼l¼º˜ÃÉ ÏGÔ9ÆpÌ{»6€ƒdÇP;™prÏ“=†!„FhŽð±÷¹üúrAmÁßÉvrPl‹¾ËûIv¼×ÚC·nÓÝMqEqm]mø‘®+È”îÉŽ‚š‚å¡Ë‹êŠˆ#‹G.Þ:y+‰D¿LFEFPlBÈNÛîšÿ5Áú1 Û±£´¡!d¯mÉ>I%IK¯,åvrñ§_¸|Ww,þ˜‡™žì¨lª Š t |/é‰÷[Û Ù±ãnæÝÚÖZü©Ð^‹ÛÉ]scMLA qÄYÏù˜×1EEñË4´5àݦ4Ez²éd%™ì÷q,þØÍŒ›¡®+ Ù€ $;†T'¯óàÓƒ2™y6óTeU5ä5B ìXß;G]Ç@·@%Aªàj[k#ó"e(2Y_—¾®ãÖõ,ÓÉëij&ª&î,÷:nÝ7wο<¯ÏÐÿÜùsñËàôz)e)yÕy,5qðYѳ҆R}†þÛú·ƒz½€þ Š âvrgXÌ0V5–"IQ¥¨£ GKS¤ÕdÕ£9¦óÏt „îgݯçÖÛkÛ·óÚ3+3…–Ùöp[LA ƒÎ˜i9“"E¹—u/©$iãÝG½Žö« BH¡WR_r'󎟃q°©½éAöè6ða‚dÇ*m,mëjósðÛ1eqð3»Ï¯EGGGÇÁ«àTeUym0šN¥O?9]h²ãö›ÛEuEvÚvý.ÒÈ4„——oˆï‘¸#þNþøœqÊàf[Í>žpüjêÕÜ ^M½ªLWžÈšxöÅÙA¿f@ä×ä³ÔXAsƒˆ#c Ç Þ8 y@·ÀAªü}Ù>e»³ž³ª¬êö‡Û…&;Ø ì°ô0i…°€0|dߪѫfšõ(÷QfU¦¥†¥˜epæêæŠÒŠWS® &;n¿¹ÝÖÕæeëu æÀ _0@?A²c脼 ɬÊDeq²ðQÁ™FLcª±­1¶(¶¤¾„J¦ÚhÚ8ë9 ¾ZÏ­)ˆ©l®”£É™ª™:é:7×ìÀ'¢÷¬\–*û…Ëb¶õÞ1èŒI¬I¢Ë<Î{ŒZ3z žÅ@9ë95Só¢äþ¬8e[ KÛ8q#žihkˆÈ‰ðsô:› )11¯Ë^×sëIˆÔ­ÛDkvÅÃxÏ‹žgs²»ø]F*FãÇKS¤‰W;yO Ÿ¾­‹a˜²ÁhÃÑ2ü¥nkvüñüN^gÏú\¬LW§­Á0Í|šè‘y‘|Œÿ™ÝgÄFUYÕ%NKö>Ù‘'2Ä)Cð¶õÞ±#«*ËBÃ?šj©aÙ­À’Cçâë‹øïo/Ù/_²_ ¾¤ ­ "Ùq5åêÏ‘?7·7GœõœÌ;‚ξôúÒO~"¼@YhXœYpFMN ýsÍ|"zÏú5ä5ˆd‡è¶z*k, M }áfêf}~. ¿oÝF•»ê»ÆÄdUeáÇÅ)Cð¶õÏÊ‹šl:!t+ãV¯ÃÛÖûzÚõÄ x¿b bμ8ƒªlÒ}kvô”R–òÕÍ¯Ø l∖¢Öóþ¡9uåõ•œfñªšœÚos~Ã;Šnkv‰;B,"h–Õ,¼cÝ–P¿ÇþŽ!LÄ…wËA¿ƒÞºD„PVU–øe³­gïŠÜu-íÚæI›B9œœÔòÔ­[$ÀàdÇÐYh¿0³*óâ«‹ÝV­¿üúrkgkog=Ê}ôÃýÈ$òDÖDU“Ž®ŽgEÏ’J’6ÜÙprþIn'÷¿þÛÞÕ>Þx¼™ºY{W{NuNÂÛ„ÚÖZ<Ù!Ÿˆ.x¤¤¾äVÆ­íS¶‹Ó–ÐðÊË„&PyZz0ÙÁiá(É(ÉÑäâ ‘pZ8â—!Œ5«!¯q5å*žì¸’rÅFËÆ\Ý| AÞ»qÆãe>?ªLW^`¿€8þ¬èY·”± Ò†Òϯ|ÞØÖh§mg§eG£ÐÒ+Òã‹ã¿ ý2âËyiùÝQ»9ÍK KWWŠ¥¨®(¶06‡“#tŽÕ£W Žìhïj?tzñÈÅF*Fâ´%4ÂCq‡x|žˆ W“S`²ï÷´µâ]bUs•øeJ2Jfaéa›&n¢HQ®¦^¥’©³­f'—&$N€AÉŽ¡ãëà‹';œt“Ñùѵ½µ/zJ¿èw‘ø‘ðµakd?ȯÉW’QjïjÿÌî³_¦ÿBœ’ÃÉúkg·‰èåå~!~ûgïŸb6Eœ¶LTMzÖ©­¨Ýçäv3u3ÑúÔÞÕ® ­Ðí >J¼­³Mü2²yžÍ¼ñ'ª[ª«š«2«2wLݘqÆãÆ;tZSAS°«iïj‘ì8¼±­qÇ”~Ž/0qæÅ™ŸýtëÍ-_ßÚÖZ#£›Ÿß$f®Õ¶Öö¶PôªOV;y+¯­üÌî3bÅŸ>ÛZçÚÑkûÙ!âUq´wµ£ÿõüi;¯]ü2‚¼m½ïfÞ}œûØå–6Ùt2ƒÎ`œƒ’´ªæª¼ê<}†~tAttA4†aøžµ$DB¥W¤Ï±ž3RwdÂۄȼÈQz£ð_ÅI.T5W-¹¼dÛ:OKO1ÛzçdÇÀIS¤ñå‚ð#2TñËò¶õ>úühXz»-M‘že9ëýÇ „¸â82‰\ÛZ{8î0Ñ•µt¶ „ÒÊÓšj>õTâ©+)WÜYîø®X*²**²*¢«åa¼À›Læ6mâ·%Ô:·uïçR{÷WÎ⟽â_Ù ²´øe1£¥¨šŠ!¬Ž[7ßvþàÄð@²ãƒ†ÿÒø¶þ­Ðµî›Ú›B§œþ3áÏ1r«s54]ô]||í´íDWëÉÙ¨eŸŽø´_mõ44kv¨Ë©¿­ÛÒÑ"8K¥´¡!DÌÖ§Œ CeѺ#¯¤^©i©ñ0õP”QH„€Gmk-ãýû[Ï—ð®ìë±_ë3ôÃ2Â~zô“,MÖAÛaΈ93,fˆ¨“Çç­¿µ^Ž&÷Ó´Ÿˆ ÅiK¨!X³C]N!TÖXF¬'Šþ×%CÿÄ)#HŠ$õéˆOÅ«i©aÊ3ÝŒÜ!À ‚dÇMIF !ÄRc ýn£iƒ’¥Ê®s[·Îm]¯#»*ûÒëKÞç½OxŸ˜`2AhõÜzÿKþ~~ ì§­ž†fÍK¦åÛú· oÜYîÄÁø·ñ!b#qÊtãmãýÃýBÞ¶Þ ðAQ”Qìàu|éòeÏ—Xj,„IÊÛÖÛÛÖ›ñ‹j‹¢ò£¾¹õMFEƆ „VÈÇø›îmBí™±§ÛžM}¶%Ô¬ÙaÉ´DõÙmöY¦o[ï?žÿ‘Zžºê“U°}>dìø i)j*rš9Ó̧ NNÁ0,¶(v„截檊¦ [-[„L³Ñ²aЗS.ßH¿!4ÙÑÔÞp9`®õÜÅ#÷·-¡Íš“X“d?8wØÍÈ ßY6©$éiáSeº²“ž“øeºñ´ò,o*'K‘GŽ`„€ÇhƒÑ—S.(̱ž#x<«* _Ù'*/jœñ8²YŠ$e¬jl¨bxþåùkiׄ&;0 Û¾¥¥£åЧ‡ðͪûÕ–PC°f‡;Ëý¿þ{5õêâ‘‹ñekZkξ8‹ò0ó¿L7ú ý­“·Öqë G €$;>t›&nZ}cõìÓ³?1øÄDÕDš"Ín`§”¥°Øße”5–yŸó6W7·bZ1˜ m s£^&n´t´|~ù󆶆ÖÎVÁáÄxiÑm‘¥ºÊGïiÍŽSI§ðÍnkZkB‡ãS¤(¡/]¾¤Sé¡YV³ŽÄI)K™uj–;˽Ž[wçÍ ÃV^M|÷§L7²TÙ!Xp0ÄV^žþííoO'¶Ó²SQà4srªsÒÊÓN}vJGIgÍ5ÊteG]G=†^'¯3þm<»-8•CÐŽˆ·2n8~vXðøâ‘‹•éÊ}¶%´Î¯Ùñ ûA6'!”ZžŠº™qóuÙk„Ð ‹øˆ]%ÝOG|z=íúÜ3sgZΤ’©w3ïV5WM6LŒÚ§LO=så Hv|è<Ì<öÏÚ¿#bÇÓ§O Ÿâ¥HRãÇSÈ y ;m»”²üS/ÎYÏyÝ!Ÿ¤CSCñOÃÝ&žã¥E·5Hˆú3áÏÊæJâ鑸#øƒÅ#ãÉ*™zÌûØòÐåù5ùù5ùø«‹8g‰Sðo «¤{~áùoo›^‘ž^‘N·Ô°Ä³î,÷ˆœˆûY÷OÜÓŠU•u!ùBèèó£Ý^ò´ôT¦+÷ÙÖ y˜óðfÆMâ)ñØLÝŒ˜>³cÊN3çiáSüBNºN¿zþ*X8e>FìRj²jn#uG \`¿@pËCG]Ç@·@ÁOɳ¬fy˜yÄÅÖò1¾®’®½¶½–¢BH[Qûšÿµ¼ê¼´Š´Ê¦JY-Á_äk³Ó¶:Ap¼´ˆ¶Ï2—eøÈŽnd(ï¢b¢jrÿ‹û11ù5ùt*ÝUßµçì˜>ËXkZº:èô²ABcÆÊÑä ” vA€÷i…ëŠn[¥Œ6-M‘V“ýkSèè¢ïB°bZÝ[v/¹49½"ÛÉÕTÐ4W7Ç—¨@úô§™ó‚ý¢¤¾D–&k¤bô‰Á'Ä ‚µ©Êªö6þ‹It[ƒdŠÙ¡=Kõï…BèTúé§_°_¤–§òù|kMk}—n môYFIF)Ð-ÐXÕ¸·HŒTŒzþ¿ q$|Ÿ¼æææÊÊJÑeX,“  Ê3„|ý¼Gð·6l¬[ÇDýþ{½+`€àoícÁd2ååå%ü«ÁRêV Ù€a’V Ù€a’V Ù€a’V Ù€a’V Ù€a’V Ù†›»™w}ƒ}3«2%| j |ƒ}¯¥]“t ï $;ÀG,,=Ì7Ø7›“-x°¼±<±$±±­QRQÀ+›“íì–&x°¥£%±$±´¡TRQ¼wIÀ»+m,M,Iljo<èiéi£ec©a)©¨àƒÕÔÞ”X’8ÆhŒàAcUã`ß`%IEðÞA² 7ZŠZZŠZ’Ž>r49}IGð>A²c¨µuµ…¼ I(NÀæ¬ç¼ÈqÑÙgc bŽySV@]z}éVÆ­]3vµuµ]z}©°¶ÐÃÔÃÏÑÇçÝɼSSÓZ£$£ô‰Á'ŸŽøTš"W{$îHla,Q‰àÁ“Ÿ”¥Ê ÖÜÒÑò*¤´¡”©Àô¶õvÒu'òÞC=/~ž^R_B‘¢ØhÚ,tX¨&§Öí,ÑŠ¾:¡M×?ÌyˆÚñp~ÕVL«-“·Üͼœü£ÇøàâÜ.~×ù—ç‹ëŠÕäÔ¼l¼\ \ûõ¾$è^Ö½ÙšÚ›LÕL—8-É«Î;úüè×ã¾¥7 !”R–²'j¿“¿³žó…ä ò?Mû !”X’xçÍ’ú™f£eãcïCôNQyQ'N•üfü7xEÔì¨ãxîå¹ÌÊLYšìdÓɳ­f“H¤>ÃXamáµ´k9œœ.~—‘Š‘··%Ó²ÛY}6*âê„6í¤ëôg⟡«)WŸ>ÃK†ø…Ôl ßâeëåeã%x®«¾ë¹—çRËS¥)ÒM&zÙxu @ôû AìRMíM¾!¾™•­™y?ë¾>C?±$±‹ß…,©/I,I¼Ÿu?(6¨ƒ×2U3åvr?¿üù ö ¢ª»™wÏ¿<ná9UYU„P~M¾`%¸¿òºõ5ÿû['¯/šºÍcÛâ‘‹û ^h`|Œ¿éî¦é7ˆb‘y‘g_ž=ësÖši-f£}^Ц³9Ùì6B¨ÛZ¤ÝÖìÀÏ̋ܳŸÛÉņe„Í šn1]ü÷ )›în"ÖÎŒ)ˆ¹–vm¡ýÂÄ’ÄÚÖZü`C[CbI¢­¶íΈUÍU!+¦Bè—Ç¿œJ:EÔó8ïñé¤Ó'æŸpÔqDqZ8‚•àðƒu­u‚5ÛhÙ5#„îgÝ”û(hNPŸùŽÞ y²ãáÆ#.êBò…Ÿ§ýìmë-~£¢¯NhÓZŠZx‡Én`ãý'_³ƒHãç:ê:îŽÜM{ý ½"}û”íâ¿/ÉŽ!µ/z_fe¦–¢Ör—åz ½ÂÚÂcñÇÞT¾éYòàÓƒãÇϰœ¡© ©¥¨µ/zß ö Y•®+LTMJKOÄŸÈædÿþã‘yGúÃÁ§Ç›e5Kš"Ss9åòO~c8ÆXÕXÌÓ;üFú =†žŸƒŸ‰ªI¯#¶(öòëËëo­ÿ"\Š$%N£b^]·¦[Ú[Î%Ÿ»šru«ÇVsus„¢ŒboaÿúäWw–û4óir4¹G¹®¤\Ùûd/‘ìÿ} ±{Y÷®¥]£SéËF-³Õ²­ãÖyþD‰ž%Ï$1R1 t Ôgè+Ê(>Ìyx*éEвÄiÉ(ýQMmM¡i¡ñÅñko¬ZE ÇÙgTŒ¾ûµºœzFeƉ„÷³î‡‡Î·/ÎéÝK.MÞþp»,MÖ×Á×NËŽF¦¥W¤Ÿ~qúÇ?º¸ê*éŠÓ¨˜W×­ieº²‚´ÂΈóíæÏµž+:ì“ 'MÕL™þ S™Q‘q$îHð«àå®Ëµµûõ¾H$;†ã]O».G“ õeÊ3BL&LdMœqrFÏ“M'úôqâÕ”«ÒéË‹.©á=-<=Ž{DäFT·Tã–ÅáÎr'2ȘhÈkÅ]O¿þÝøïÄ9]00 ÃN%R—W S’QÂN5Ÿª$£tôùÑ×e¯ñE7*þÕ 6ÿX1­úœ‰3×zî®»ˆ`Šj‹KkZkTeUûõ¾†Ø•”+¡ßæüæÎrÇ̶š=óÔÌüšün%5ä5®/¹N§Òñ§ûcö#„vÏØ=wÄ_ßêçXÏñ¿äÿ¼øùã¼Ç3,úñ®.¯NÔ<‘5ÑI×iÑÅE—__3ÙÑ-°µ7Öò1þ©ÏN=äDÖD{ûÏ/~ûÍíUŸ¬§ÑK¯/‰suÝšFÿZ¢«¤Ûç"†*†¡þ¡xÞd¼ñøN~çﱿ¿.{';Ä_$¶ž:oëÞr;¹cÆâߨq†Ê†#uGö,<Ïfžà‰­­®ú®D.!Ä 3¦[LÇ0,«*«_aàä»=¿ÁÀØ ìÚÖZŸ·.lÿ%ÿÅ/º¸hÑÅE‘y‘¡üê¿?òŠhTü«lº¿f[Ï|j­iªçÖ£~¾/€!–ÃÉaÐÄ7j„•Le5«gÉiæÓ¿ÕgUeÑ©ô9Ösˆ#$ÉÇÞ!DÌYÓ ‹‚5ãã/ºmz-B·ÀRÊSÈ$òÁ§»ÍÃÏ#„3¢óêº5Ý/Ó̧ Ž¡9!DLðÿ}Ù1tÚ:ÛB=W»$ÆDÒTÐ$·wµ#„t†Ðñ5,„âñy=v›ëWÛÖÕ&2váµt´ „j[kãŠâz–¬SD£â_`ÓýÕ­~™†þwúõ¾†X[WCFxÿÐM·m˜Ú»Ú¥»-«Ÿˆw;B‰Óm"„tFYc™ÈÀ{ ¬µ£•‡ñ„w›½v›Ýóê²5U·›L•¢"„øÿ¯PÅ~_$’C‡©ÀDu[ ‚ñ»­¯‰ü«!¯J¯Hçc|b „PZEñ*þ]½¶µV™®LÈ©ÎéYsFE†à¤´ò4„à ÑÓTÐ$‘H¶Z¶'lìYÒPÅPœFŹºžMÿu‘B†‰¼Pýz_CLC^£°¦°ž[/˜²Ì¨Ìçļš¼ÊæJÁþ ïXð¿z<›PÓR#x–Ðñÿh®¥£¥ ¦@°wê-E­^Ç1¯cd)r·—TdUÄl´Ï«ëÍ{é6ÑÞ€¡ÓX†ŽŠ¬Š%Ó2£2ãèó£øc<Œ·?fq]qŸ'Z3­ókò÷>Ù‹o‚aØÙgc cÕåÕñÝ ” B§“N5|z0‡#$Ùq8î0žk@•6”îŒØ‰k4ö®ˆAgŒÒ•^ž^X[è¨ãè¢ï‚ÿÓQÒyZøßH¥ÏFŹºÞÈÒdBoëß¾Cð„w~_CÀÍЇñ6‡oƇ’!„"r"n¤Ý}Bh¬ÑX Ã6ÞÙXÇýkæERIÒ±øcè>C!t5õjS{^ 2/òrÊåžUEäFÛŽp;¹›ïonílkü.Ý&BhŠÙn'7<;ÜBÂè6­˜VÙœlb˪>íóêzƒïD>Àn à}0²cH­»~yèò}ÑûN'ÖQÒ)©/ilo4W7Ïæd jèiÓÄM—N$œ¸šzUŸ¡_ÖXVÝRÚ4a™DFÍ´œùÑÿwéõ¥È¼H-E­âºâÖŽVK¦eÏ©éš š^ç¼ U idZ~M~'¯ÓRÃÒÓÒóÝ®h›Ç¶l ß²+r—¾²>MŠVÚXŠÇ¶nÌ:ŠEœFû¼ºÞà»Ûn ßœ,C‘±bZm™¼å®âßÀ`ûÂå‹ëé×d?xZðÔDͤ®µŽÝÀ¶bZ½©|#úÏóK—/o½¹õ¬èÙØÃcU›Û›KJ0 ›o7ßLÝ !d©aiÍ´N¯Hwdœ±ªquKuiC©–]JyJ·ª,5,7ÝÝ´?z¿†‚Famas{³,U–XIô®("7"äUÈ•”+†*† Ò œfNyS9Ï;õÙß[ÉŠn´Ï«ë‘ªJ¿žv=½"Ÿ‡âònWñnï ÀЀO$CÊå¾wæ^QÓZ“Zž·Ó’Ù IDATŠ!ìÿfý>äXŽ&'âÄц£{7P6¨çÖ§–§V·TkÈkü߬ÿ#ÖáW—Wß5c—‚´BUsUJY EŠrdÞ35!yœüãdÓÉ5YUY¼Îц£O}vŠJ¦¾Û™©›]ó¿6Ád·“›Y™™RžRÝRm¨l¸qÂFÁ:E7ÚçÕõÆI×ÉËÆ«‹ß•ZžšX’øÎ›Å¾óûlš šgœ1Q5iílM+O«hªøÒåK|·Ñžêòêý.ŽÒÕÖÕö¦òÍÛú·2™•Ÿ¬üiÚOx‰´Çs²AS{SJYJuKõ7ã¾Y`¿ gUŸŽøt혵uܺ´ò´æöfCeó>gñ!ï@–*{Ñ÷¢Ÿ£•LÍ«Î{UúŠÝÀVVp À×N§Ñ>¯®72™ÿ¸ÿGš"ÃÉI,IL,I|·«xç÷`h>q÷ãÒÜÜ\YY)º ‹eT9cFó ÅÐÉëÄWÓ`©²øâщ2™'«žà¯–Ô—”5–ÙhÙàƒ»)®+®n©fÐÆ*Æ=×°hïjÏædS¤(¦j¦T25¿&¿º¥ÚIÏ ±÷ÉÞcñÇn/½m©aYÙ\YÖPÆT`⛊Ct`MíMÅuÅ|Œ¯«¤+8í¼_övu¢›®i­y[÷¶ƒ×¡(£h©aYÞXþ¶þ­¥†%>!_è¹øA[-[Á} D¿/`0 öß2ëÖ1B¿ÿÞGï:ù5ùÍÍ ±›“m l tcN3‡ÝÀ¦Qh,U–àö"8 Ãr«s¹]\cc<_\X[h¦n†¯S³ôÊÒÍ“6îüyc[cam¡,M–¥ÊêÙý %:°N^g~M>·“«© ÉT`"úÕhoW'ºéÖÎÖüê|nÃ0}—–Ž–ôŠt%|?o¡çâ U »­ñ$â}ƒaþÖÀ{Ád2ååå%ü«Á4–¡v:éôgvŸáó/šÛ›·=ÜVÝR½Ða!Q@¡§ÇÐëíte|y¡¤)Ò¶Z¶ÄSUU¡%™òLñ%'0i|cBúl´·«Ý´ª¬ªàú ZŠZ‚=·çÁ>߀¤\K»ö‰Á'xoÆÇøg^œ‰Ì‹4V5&¾Q3è }—ÞNW—WW—WïíU‰$8ïCC^£·•Geí´íú¹èÀ¨dª…†…èúl´·«Ý´,UÖFˆx*G“,,ôÜžû|_$’CmÌþ_Ÿüj l@%S‹j‹¸\Yªì ×’Ž …g‡Ÿ{q®·Wýü§™OÊx†Øû¾Â³Ã¿¿÷½Ž¢ŽŠ¬ÊÛú·õÜz„Ðú±ë%*®+þáÞ½½ê¤çô͸o†2ž!öÁ¾/’CïK—/O'ΫÎßZhXü<ýg|ä°d•7–‹˜¼íaæ1”Á ½ö}xÛxçrrÙ lv!¤&§¶a†éÓ%jílÑmâ3醱ö}@°f‡P°ŽCþÖ† XG€¡k X³$vcÀ°É +ìÀ°É +ìÀ°É +ìÀ°É +ìø˜°Ø«®¯rþÍ™µ›5÷Ì\„×Y/‡D“ 'Y»Y o$cß2*3‚bƒæž™ËÚÍbífµwµK:"À°Åíäþôè§±GÆšî1eífµv¶î}²—µ›•Y•‰H+OcífÅI6NÑJJÏ¿<p9Àr¯%k7+¦ FÒ|è(’ôC`X`jyª¤£üšü9§çH: À¿EPlЙg$Å@yóªn©–tHv|4j[kSËSuÿðúCUV?xmÉ5ÉFÕ_$D²bZM2änâ¾áêìøhT5W!„œôœˆLÇÇÈXÕøÖç·ðÇ$D’l0€aÓÌ1V56Q5‘t Bäµç>–l$ Hv ©½Oö‹?v{éíÌÊÌ 'ŠëŠÕäÔ¼m½×ŽY‹ÿä(X&¥,åÜËs…µ…þ#ýãŠã2+3BÇã?.X§‚´Â«õ¯zk±¥£åD‰ûY÷Ù lŠÅFËf¥ëJ7#7üÕ:nÝñøã9•Í•r49–k‘㢩fSI$HC>11K¯,Ý|D7êiéùÛœßÞ-`*­"m¼„·“{#ý»}Ñï¢`™äÒäÝ‘»y  ÛÄ0ì»;ßÝ̸IɪÊÚþp{feæÏÓFí‹Þw"áñjzEzzE:UŠºxäâÞê4ÿÕœÇç‰hTMN-~]ü» „‚d‡ÜʸµÕcë4óir4¹G¹6ÞÙxþåùÀ1‚ã)³Ãÿ3é?ž–žLy&~$³*sÖ©Y+\WÎ6÷:ëUP[Ð[C»£vçVçN5ŸºÒu%KÕÞÕ[»íÁ¶;§˜MijoJ-O5Q5ùÕóW3u³ö®öÜêܳ/ÎcLàq+ã–¯ƒï²Q˘ ÌŒŠŒõ·Ö'•$eVfZ2ÿq?ëþ|»ùË]–ë3ôÉRd„ЖÉ[8« .o„žë­¡›7ofÜ4W7ß8q£–4E:½"}磗S.{Ûz;è8DäDЩô}3÷6M‘¢ÕÝ|sS–&;¨—ú ’°nÌ:ÿ‘þøã9Ös"r"³Ã˛ʵµ‰2K—.u^:V:x·3n›ª™š{O£Ð©ô™–3Ú¶=Ø–T’äjà*C‘±×¶·Ó¶Ã_uÖsvÖsQ§“®SÞ÷°¤(`¨¹¹íœº¥7J—¡ÛÉëŒ+Š«çÖ·uµ‰¨ÖìzìÎ6OÚœY™yûÍmb[†a|Œÿ$ÿÉ“ü'‚ÇI$Ò,«YƒÕ˜Cc*›+‰§Öû¬ñI_%)Ó:ybÞˆÿgïÎ㢪÷?އ}V‘]6EÅ}×Ü—ÜM---µMò–ÙÍówÍ®7»•¦iæRf¹›v-½*© ⊠ˆ"È"( ìÈ23¿?NwšØEp`x=÷qÌ÷|çûýœs™7ç|ÏÄsIçö^Û;oϼ2›žéøŒ"*5*"%¢ì¦NÏÔkUoýò–öÓpçìúcùê¯&|5¢õˆz ‘"ìÐg6f6{fíùþâ÷‡¢Ýθ­j7·®n]§vœjjdÚÁ¥Ã¦©›ö\ÝsíÞµtEº¹]{çö/t¡·go]º!“ÉVŽ^9 å€—wF¦F”8[9·ql3±ýľÞ}…{gíÝyegxRxrv²¹±¹O3ŸÉ&O ˜¤ëÂð²2 ¼é=…B‘––Vu_ß–«W§¥x2%Mÿ­é œ„kÖTóÓÀc⿵ÆÂÉÉI.¯x¹wÀ“a ëêaÐ+„@¯v½BØô aÐ+„@¯v½BØô aÐ+„@¯v Î\J¹´:turN²® €Æ!]‘¾:tõÙ¤³º.@ßv Î\J¾´:tuJNŠôòüó«CWßͽ«Ûª ÁJËKÓ;îæÞ]ºúüóº­ @v Îtqïäfã&½ý;ºt<›t6*-ÊÒÄrd›‘ß]ø®“k§þ>ý¥nñ™ñ¿\ÿÅÎÜnf×™RK©ªt]غV­F¶YçUå<Ìy¤*Ü‹i¦¥+Òw\ÞÑÓ£gOžçïœß{m¯âLâ¥J) ¢‰B”j噄37ïß,U•zÛ{ð`jdZçû 7;ž¨°„° áüšûý3øŸÒBžsºÏ™Ð~ÂêÐÕÅÊâEIÝÖ†­=ç|;§vš¬á`ÔÁÕ¡«ø ¨pØ»¹w÷\ÝSõÔ~ÍýF´Qá&™=RîE w ´fGOžRØž.„ÐÖ£E)ìØ}e÷ÇÁ+Ššº·è¾nâ:;s»êŽ€&'1+quèjC“/B¾B´sj7µãÔï/~¢ÉDøêôW††ãÚ³6³BD¤D¬]½xàâÊF^ºF-ÔULmalñRÏ—*ÜdejõHT¸Ó:M“Öìîd9wçœô3<1\úù)þv\¹{åoh/ÿìbíòõįÛ;·¯ÙQhr;tàÃ#Oí8ÕÙʹ³[ç6Žm,BãC¥¬!¿8?"%¢…m‹ëé׳ ³¤ 4!ÔÆÌ&À% Â¥Û¼«žt´ÿèÊÂŽÚPf/ÊŒ9¡ý•Zž>¹ÃdWkW!„´–DZ[ÇÞýí]C™á ßA-›µ,.->púüóoÿçío§|[³ã ÉÙ|~sAqÁضc=l=œ­œ d}<û‰9’W”gej%„¹Ò¶Åì;a‰aÒϺø!D w`ec~ö•æŠ 9X:TvÔ®€2{QfÌ-zLî0yÏÕ=½<{õhÑCÓž’“2{×ì܇¹];vtéhbd™ž>wÏÜ£sÊMåÕ;€&‰°Cœ­œzö'KKMK_¯¾¯”’…ð¤ðRU颋Þ8ðFh|èØ¶cEŠË)—‡ú 5U¼ ¬«µkµw}û5÷«l“L&«Eå÷BÛ„öîæÞ•ÂŽnîÝ4í«N®276ÿéÙŸ4T«Õ¯ÿüú‘›Gâ2â4÷Ñ€¶Â’ƒ³ú4óÑ´zþzã×°„°á­‡ç>ÌL‹\ÔÞÂÞßÑ¿²1_ïózµWvT±µ”ß mÝ[t—Éd{®îéíÙûµ>¯iÚ¿ ÿ&÷aî²aËžíò¬¦që…­Ë-?xýàŒÎ3ª( É"ìй=ç–ɽD8pzŒÿ˜ÐøP;s»QmF}zâÓÓ §Ç¶ž®T+«øûdMÂŽªÕ¢€ò{Q­tEzìƒX[“·Ož¼}R­V«Õj!„LÈ„‘©‘„*4®Ý¸2ô)4!txëáa‰aJ•2Ð;0æ~Œt“HÎÜÈÔÈÑþ£e2Yec.\ð8%Õ¢€ò{Qa‰a†2Ã̵̂ak5?6óKò…×î]e¯«€„:áeçU¦¥¯W_!DÈí)kô”ÉdÞ'âNHí¢Ê‹±sÍŽÚP~/ª•Y)„HÊNúüÔçå·æå=ꀚˆò?p\­]}šùH?BãC厭›·ôÜ{mobVâõ´ë*µJúÉV™ÇY³£vÔâǦ"³ S©V~úeùMüب a‡–=ìŽrG¿æ~¡ñ¡)9)ñ™ñ/÷~Yè¸ãòŽØ±¡ ¡¶î6î• ø˜kvÔ®€ò{Q-3!„¯ƒï¨6£Êo p®xE040,ßØ×«ï¶‹Û²¤ˆV!µ¡ ¡Q©Q¢ÊŒX<Þšµ+ Â½¨–µ™u±²xnϹå7ù:øÖb@€¦€°£¡ô Ü|~ó–ó[„ý¼û !úxö140ÜqyGbVbÕwe?æš_@…L M…9s4-.Ö.^v^÷÷G´¡]Z­Må±I?ï~Û.nûáâÉ9Éoz½)„°3·ówô¹ݲYËò‹€j{Ì5;¿€ò¤›Ù…ÙÚ}<ûì¼²ÓÓÎs\»qÚí7ÒoHk£ <ÂŽ†"Ð;póùÍÛ#¶·rhå(wBX›Y·wj¿=b»¨îï“¿fÇcP!O;O!ÄŠã+.ܹ`nlîfã6)`Ò;ƒÞyuÿ«Ooyº·gï–ÍZš™&ç$_¹{%9'9jQTíþì  iêéÑÓÈÀh{Ävé¶;©±Ÿw¿Íç7—(Kžïö|ÕoÌ5;¿€òZض0쾺»TU*= +(0è•>¯¾yø­_ÞÚr~KG—ŽVfV÷÷cÄ\»wmóÔÍÒƒ®PaG*_Ï®õðèabhR¬,ÖŽúùô»ra/^®€þ>ý}|cÄn<»QÑ£EI“†ú ý÷Ø/;º,$>Dz.£Â@f0Àg@-î‹A£¦V ¡£ÿÜPçd2¡R=éI-M,;»u>ç|[§¶ööRc wà†ð âK5®lÍm'LÜsu϶‹Û¤– À w÷mÓ·½õË[‘©‘‘©‘šÎþŽþ$MZ- *~2ø >^VÀÂBUPP/ŸÀúxõ152u°p(¿ÉÌÈìá¦+ÒµWÖ×nœÌÀÎÜÎÚ̺>ê©]•íE÷.AAš_¾ML÷?¿ÿD܉ĬÄbe±¦}lÛ±Cý††%„ÅgÆ«Ô*w÷N®\¬]êyÿÐàäç!äò'þõÀÒRž^/WfyÚyuv«ø¡#¯õyíRÊ%í›àº¹w“®tëåYïqÍ ¨l/œ¬œ‚ƒzzôÔ´|2ò“§Û>}=ízAI¦±­SÛ__üõRÊ¥ÈÔÈÂ’Bg+çÖÍ[û;UúT]è±ü|gçR]W@# “b×t(Š´´´ªû êñôÓy d=™’€¦).Îdøð¿ürÇß¿X×µàq}ö™ýñã–¿þzG×…znÔ¨C†ä¿ùf¦® A5œœœär¹®«€&K!+кuqT”©®«ô\d¤‰‘‘ºeË]‚:ЦMñíÛÆ……ܕԣÂBƒÛ·[·&  z„èÕ«ðÌó’~kêÑ©S]º<41iZ—é«= U*YXX5/ð8ÂÂÌU*YÏž…º.€F€°£C†ä?|hpô¨¥® ôV~¾Á±c–ÇçëºÔæÍ•;?üùg®ÙêÑþýò.]:8(u]aGœKÌߴɶ‰­g<9?þh­RÉÆÏÓu!¨33fä=j™`¬ëBý”`|ì˜åô鹺.€Æ°£b‹eFFšìßo¥ëB=ôàáºuvsçfÛØð(ý1fL^«V%+VTð´)ïã¼½KÆŒQèºÂŽŠµjUÉWêoËR©Ä›o:ªøÛ3Pwöí³Ú»×ê½÷˜›ó+»¾éÙ³pìXÅ;ï8&'éº@$'½óŽãر –& æ;*ek«Ü¸ñÞ™3+W6Óu-€ž¸pÁìý÷›¿ürK“ê«+ÒÝÜJ_|Ñ%7—_€:Ÿo0¾‹£céÇß×u-4&ü2Z•€€¢+Ò7o¶]½ÚžÅJÇtþ¼ÙË/» \ð·¿eêºÔssõÚµ©yy†óæ¹dg꺠qËÎ6|ñE—¬,Ão¾Iµ°àBSaG5ÆŽU,_~Ý:Û7ßt**’麠±Ú·ÏjÖ,×^½ W­J3à^sq)ýî»»©©F“&¹ÅÅñp –ââŒ'MrKM5úî»»..¥º.€F†ÏÕ{æ™ÜÍ›ï:e1y²Û… fº.hd<0üûßßyÇñų׬I53ã*)ýתUñÞ½ÉööÊ)SÜ·m³Q*IŠG Tʶm³™2ÅÝÞ^¹wor«VꮀÆG¦nb·g(Š´´´Z¼11ÑxéR‡Ó§-ÆŽUezy•Ôym€žÉÏ7øñGëµkí¬­Uï¿ÿ`Ø0ÖéhZŠŠdkÖØoÞlãåU²xqFÿþ\ÔTM¥§NYüë_ÍŒçÌÉY° ÓÔ´iýž¦7œœœär¹®«€&°ãÑ?n¹bE³¤$ã= ‡ )èÜù¡§g‰’ßà‰Bašjerê”űc–*•lîÜì¹s³xöJ“•˜h¼bE³ãÇ-=ùzê aM…¡¡á˜1cŒµ¥{XŒŒ¸Øèš±cÇ–Y³£¤¤dìØ±ºª >vЄtëÖÍÑÑQ»ÅÁÁ¡K—.ºª >vЄÈd²qãÆiîd166ž8q¢¿½Â/:‚x IDAT74-Úw²p ÐK„4-mÛ¶õôô”¾nÑ¢…¿¿¿në¨s„49ãÇ722’îaÑu-u°€&gܸq¥¥¥ÜÃô•‘®  *ÑÑ&—/›Ýºe’“cP\,Óu9zÃÉÚºƒâ³Ïzêºýajª¶±QùúwêôÐß¿X×åФv¢Œ ÃíÛ­÷ì±¾{×H.WùùÛÚ*MMÕº®K¸¹M‚ð¨.åæ$%ïÝk¥P¸º–Nžœû쳹͚)u]M‘L­æG@ÝS(iiiµxci©ìûïmÖ¬±31QOžœ7b„¢}û"ŸÊëZzzºÂÑÑQ×…èµZDFš>,߳Ǫ¸X¶`AÖ¬Y9FFüºÕ(Éår''']W¨ Â@½¨]Øm²p¡sJŠÑK/eÏŸŸenÎ?Rh¬ e6Ø}û­­›[é_¤rcKcDØ ”Šà`Ëgžqst,=|8iáÂL’4jææê… 3Nrt,}æ·à`K]W@BØh¶o·~åç±c[¶Üsw/Õu9@Ýpw/ݲåÞØ±ŠW^qÞ¾ÝZ×åÐT°@)@÷‚ƒ-—-kþÆ™¯½–¥ëZ€:fd¤þøãû®®¥Ë–5wqQœ¯ëŠÐ\Ùб[·LÞ|ÓqÒ¤<’è±×^Ëš6-wáBÇèh]×€þcR@½¨á¥¥¥²Ñ£[8:–nÙr'V@¿•–ÊfÏvIO7:tèßí ”@ãÅ•]úî;›”£O>Iç³ôž‘‘ú_ÿJ¿{×èûïmt] zް 3†_}e÷ÒKÙ¬HŠ&ÂÅ¥ôų׬±ËÈ0Ôu-è3€Îlßncb¢ž?_ÇKu¤§§wíÚÕ÷/^\uÿ¬¬,Mç³gÏ>Ò\yyyÇ÷ÕòòË/?Fíu¦ÁV‡ª8Ñqqqšö˜˜˜z-cþü,5Of ^ñ4€n¨ÕbϫɓóÌÍu|ËâÅ‹srržÌ\›6mŠ‹‹BXXX<óÌ3VVV>>>Ofêª5ØÂêГ<ÑU07WOžœ·w¯uP+òP_;ºqã†ÉÝ»F#F(t[Æ?ü*„°±±yŸ„£££¥/FýÞ{ïÕ÷t5×` «+OøDWmøpņ ¶7n˜´iS¬ÛJÐW„݈ˆ0“ËUíÛÕÓøqqq—.]ÊÈÈ011ñõõíÕ«—‰IÙG~&$$¬\¹R1eÊ”ÄÄÄsçÎU8Tnnnpppjjª»»ûSO=U»I£¢¢Ž?~óæMéåÍ›7W¯^-„0`€‡‡Ç¶mÛ¤ögŸ}ÖÊÊ*888>>¾]»v}ûö]»v­f|###kkëÖ­[wéÒÅаì¢åëܸq£´iâĉîîîÖ\Eaöööû÷ï—ÚçÎknn.„ÈÎÎþþûï¥ÆéÓ§7oÞü×_­pðAƒTÛ¡&P‘••UÙêß¿…ãKjx¢ËHJJúù知¯;uêTõ$  H.WED˜vPO;ºgâë[,“ÕýÈÉÉÉÿûßÃÃõ—/_>xð`M‹R©|ë­· —,Y2þü G ÊÎΖ^º»»öÙgµ˜4**J $W¯^½zõªÂÎÎN.—k6µoßþ“O>‰B¼ð ={öÔ~—†»»û_|Ñ©S§ªëÔ¼·gÏžU„•æãã£Ù4kÖ,)ìÈÉÉÑ4:T ;>\áàRØQuQ³³–™™YÙª"‰¨á‰.#..næÌ™éééBˆAƒÍ›7¯&ïª!™Løúß¾]6}u…° Ùن͚)ë|ØŒŒŒiÓ¦¥¦¦ !¼½½ ”––öÛo¿¥§§¿òÊ+[¶léÓ§Ôó믿¾råŠbùòåVVVŽ–’’òÊ+¯äçç !ÜÜ܆šœœ¼`Á‚ZLÚ®]»   }ûö%'' !:tè0pà@é í¡Þ{ï=[[ÛÙ³g[YYuêÔÉÈÈ(((HÚ¤V«sssOŸ>›œœê¤íÚµk׮݅ 4™‚&ÅV•´jÕjóæÍFFþ­é&)))yê©§îÞ½›••uìØ±qãÆi×inn¾wï^GGG!ÄÒ¥K·oß®ýÞ$&&j·Ì™3§ŠÂNŸ>­éi`Pé'óQ£Fi¾Þ½{·fwú÷ï?~üøšt¨áYÓVæ@U¸kr¹¼†'ZÛµk×>ùäé™yóæUûtžÚ15UÕÃuM@AØÐ3§N’¾°¶¶Ö¬X‘’’"}qãÆôôtGGÇ>ø ´´´Y³f|ðA£iw°¾ž8qb™°£†“Ö¤þçŸ^;éB¨Õꨨ¨èè茌Œââb©EÚtëÖ­òuj&š2eJ™°ãçŸ Ñn™:uª\.¯Ia5qðàÁ÷Þ{O*¯W¯^ëÖ­“.ܨ¶C-`™UÙ®ÕðDk[²d‰R©”ÉdK–,™={v÷4 „½’•õÇãZGGG¯^½º}ûöƒÖ<¶ÃÁÁA3B³fÍj7iMêwuuÕ~™””ôÚk¯i•R†t5‡BS§ö,Í›7¯ÉŒJ©¬øæ£#G޼ýöÛ*•Jѵk×7š™™Õ°C-`™U™žèò;hffÖ¾}ûšL €^±³³ËÌÌBtëÖ­üBâ¯ÀÙ³gÏž=[¦CtttttôôéÓlcc#ÝÜñàÁMi)‡ZOZµ2kC|øá‡RÒaaa1zôh'''ƒ]»vI7}h.ñÐÔ©]Ûýû÷Ë >~üøÎ;k·T}Y‡ö­+ÒE%Bˆ{÷î•ïyâĉ… J1A@@À¦M›¤[QjØ¡°Ìªzת=ÑÚí;v¼råJaaáœ9s6mÚÔ£Gòõ€ް Wú÷ï/- ‘ýÒK/YXXh6¥§§ÇÄÄ8;; !^|ñÅ2«oîÝ»Wú›¿¿¿ÿСC¥¿ê÷èÑ#**JqêÔ©ÌÌLéN–}ûöÕnÒZˆ‰‰‘¾˜;w®´àhFFÆ–-[ÊtëÙ³§TgHHHvv¶­­­b÷îÝeºI |ÔœöÅñññÒå-»ví*Ó-,,ìµ×^+))BøûûoݺµL†Rm‡Ç?€•íZ O´¶åË—õÕWGŽ),,|ñÅ7nÜØ«W¯ªg a@¯ÌŸ?ÿСCééé±±±C‡}ê©§¬¬¬RSS®^½(„˜3gN™7†‡‡k>kVè|þùçwîÜYPP P(&L˜ =åDz2k-&­???éFŒï¾û.''G¥R=z´Ì¢Bˆ^xaçÎùùù¹¹¹ãÇ:thbbbdddí&ÕðôôÔÜòóÆoŒ=úÆ·oß.ÓmÉ’%EEEÒ×]ºtùî»ï4› Pm‡ú;€5<ÑÚ ¿üòËW_}588¸°°ð¥—^úæ›o*¼Þ4X„½âàà°sçÎ%K–œ9s&--íÇÔlrqqéß¿ÿ#æîî¾nݺ7Þx#'''%%eË–-îîî«W¯ž6mZýMªméÒ¥³fͺwï^vvöÖ­[ŒŒ–/_¾{÷î‹/jwsuu•êÌÎÎNNN–êüôÓOŸþy©C™…BkHšnáÂ…ééé[¶liÛ¶í_|1}útínÒ%’2K¢:88TÛ¡þ`í}õÕWóæÍ }øðá¼yóÖ¯__ëÀvì˜v£§§çG}Äý ©!ì@L:uܸqáá቉‰¶¶¶mÛ¶ Édº. àI#ì@O˜šš0@×Uèž® ¨K„@¯v½BØô aÐ+„@¯v½BØÐ7sæ„-_~U×UT Áö8""2gÌ™1#$""³êž÷ï?œ1#dëÖ¸G?..̙V“)$Fº.€:vþüƒ‡•º®¢ ¶°Z+-U/Y›«V‹¬¬¢ª;)Ï{àçg]óñóÇŽ ..VI/«@BØÐ7›7÷‘Ëu]Elaµ¶aCLZZáÈ‘n¿þšRãïÞP\¬zá…–:´nýA hÊ;ú¦{w]—P±[Xí$$(Ö­»¹tiǘ˜œzš"9¹@ñ·¿µµ´ä7ðøÕ oæÌ óñ‘¿ÿ~MKbbþî݉11¹J¥ÊÇG>q¢§¿¿ö[rrŠ÷ìIŠˆÈT(JœœÌ‡w<ØEÚTR¢zþùÓݺ5{ã ÿ]»BBÒ‹‹U;Û?ÿ|K¹ü/ÿŒ^¹’µkWBJJ‹‹Å3Ïx¹¹™¿ñÆùaÃ\_x¡eùÂj>lµÕŸšLúþû—;u²›2Åóã+^ˆäÊ•Ì]»5ÄÁÁ¤æ]¸ñï_‰ÉB¼ôÒ™L¸ºš¯ZÕMsÜ‚‚üwîŒ?sæAVVѦM}ÌÌ •Jõ‰i¡¡iIIù††2??ëI“<½½å-©šsôa@ß”Yã·ßRÞ|óBIÉë>œ<™öÝw·?ø ÃÌ™>RKDDæ¼yg²²Š5oÙ»7qʯO>é,„P©ÔçÎ=Ë^yålpð=©Ã‰©ÿýïÝ={ÿ±Ô÷îÝ K–D¨ÕŒ°o_â¢EíÊ,Q¡]X ‡­º¶ ­Xq-22»êC´jUWWW‹Ê¶ÖdÒÝ»""2,“U<Èž=‰K–D¨T‘}ûßz«mÍ'ÊÊ*>wîÔxþü!„•øó¸Ïž}úÌ™ûR‡ÒRµbÆŒ‹34C§nÞûÕW=41MMÎЄ}––öðí·/–”¨FŒp1ÂÕØØàäÉÔÝ»ÿñ«]»6kÛÖF¡(}ùåðììâñã[ èlcc’””¿ukìîÝ ½{;<ýt iœS§ÒlmMÞy§}«VVii×­»•ýë¯)ãÆµBܽ[°téµZLœè1x°³R©þïï}öYTµåU=l k+ãÆMLP™ÂÂJ×I­É¤™™E+WFµñò’W8ÈÝ»~xY¥RkÈo¿¥üûß×k>Q¿~NÛ·÷û÷¿¯_¼˜±uk_cc3³?!wêTª\n¼hQ[[33CssC!„BQ2n\‹îÝÜÝ->TFGçlÝ·lÙU)ì¨õ9a@ŸýüsÒÇJí«†wuq±øòËè;–-ëøóÏIE‹µ{ùe?Í»Fr0àð¾}Iš@ÁÈÈà§Ÿúkî‰ðô´|î¹ÐK—2¥TâàÁäâbÕœ9¾K–HFv÷]£Ý»ª.¯êakX[ï¾›[Rõ¼®®æ•mªÉ¤Ë—_sq1é¥V• rðàâbÕìÙ-ß{Fv_¼øâ¾}I5Ÿ¨gO;;!D÷îÍLM µÇW«Å¶meîEÚ¾½ßÙ³NžL=r$¥¸X¥V SSƒ””‚ÔÔBggóZŸ#ÐvôÙ9BˆiÓ<µ§O÷þòËèèèl!ÄåË™Bˆ£G¥K78¨ÕB­V !ââò4o °Ó^ý¡}{;¡õ$Ô›7s„“'ÿe–‰[TûAºêakX[e"€GUí¤¡¡é‡%ïÛ7Ðа’;X„¸y3W1eŠ—vã”)^ÚaGíöNÒ¦M™ÝT*ÕûÛùôòóòJœÍk}Ž@cDØÐgEE*!„­­©v£±LöǦ‚¥âÊ•¬òï51Qj¿E{“±±L¡úc!­Äamý—>66¬ÇYFÕÃÖ°¶2sÍŽj'ýüóëff†|MÓž˜¨B¬ZuýÛoc—, hßÞ¶’ò——µÛ;‰³³Y™–_~I I÷ô´|î9OOK #™Löý÷qGŽÜ•’”ZŸ#Ðvô™££™âêÕ,OOKMãµkÙjµpr2B¸¸˜ !–-ëèë[v•J#£J¯\¨p–ë×sœÿ¼=$*ªšÄ¡Zµ«í1×ì¨vÒ‚e~~iù)¤'§ää‹ÿ¨¨¿k×þ’k<Α—•[õÊ•L!ÄW_õÔ¾âãóÏÿ\%¤žÎh˜;ú¬§~¸ýé§Q~~Ö­[[ !RR –.½,„èßßQ1|¸ëwßÅ8pgÕªn"J¥úèÑ»J¥ºŠ‘µ:mß¿re¤¯¯•4HllÞçŸG?fñµ«í1×ì¨vÒ•+»”ÉJ¶m»}øpÊ¢Eí:w¶oÓÆZѯŸÓöíñÿüçµ–-åÒ"¦7nä”Y ´N޼†­­‰âÒ¥ )ì(-U¯[wãÂ…?ÎROç4L„}6hs¯^ÍÃÃï?ýt°——ÜØØ ..¯¤DÕª•µ´|CS¦xíÞ0xð[´°pp0ËÍ-IN.(*RΟï7z´{Mf<عcG»+W²† ;Ú²¥•R©ŽW´nm}÷®¨ba‹jÕ®¶Ç\³£ÚI;t°+ó–£Gï !üü¬zötZ rîÜÙ>""sĈc>>VJ¥:!AѺµuZÚÃÇÜ»Ê è´víÍ¥K¯lÚkggš ÈÍ-n×ÎVsíF=#Ð0T߀FK&6ô’r¸¸¼7r”Jõ°a®?ühföÇ>>þ¸Ó’%ŽŽfwîDDdÆÅå©TêQ£ÜÆŒ©éçmCCÙÆ½û÷w*-Uß¼™›×¯ŸÓ¢Eí„––õw…ǯM'“JdÐ çÒRuLLn\\^Ÿ>Í?ù¤KO¤Ñ±£ýÒ¥ÌÍ “’ò¯\É”ÉÄÊ•]{õr(SR}œ#ÐɤeϨ[ …"--­Š 8 !Ö¬©ªOíœ?ÿ@.7.sC~~éíÛy*•ðô´”ny(C­‰‰ŠÌÌb{{77 cã?þ R©ÏŸÏ°³3ñóûsi ©ÑÞÞ¤U«¿¬7‘šZxï^¡““™««ÅæÍ±+V\û׿ºNœèQ¾°G¶²ÚêUÍ'MLÌOM-lÝÚºüMK{x÷nt@ŠŠ”—/g99™I7¶Ôd¢˜˜Ü¬¬âîÝ›üqñE…ÇM£°°4>>_&¾¾VÆÆIIù÷îvè`gnþç“k«>GOLý}ÿ£Éår''']W¨ Â@½ÐaØ¡!!éVVÆ:ýq‹GXØý×_?«P”†„Œpr*ûèèDƒ:Gzöý¯¯; ñâºMêÀÍ›9ÿügd³f¦îî–ii…©©…Bˆçžó!éh88G4„Ôþý޽wñbFFF‘ÂÔÔðÙg½ßy§½®ëŸ8G4„Ô??ë;ûggß¹“ohhàã#×,€Š‚s@ÓAØ@±µ5©põS4œ#š= ô aÐ+„@¯v½BØô aÐ+„@¯vô_rr¾¯ïþ>º¢ëBš¨íÛovÌßÿ€¯ïþàà{§N¥ùúîß²%VÓ! ààŒ!u;iíNúîÝ #Go×î TjÝ–ž#]ôÙ‰©K—6Ž˜)<üþ»ïFèº P;@=úý÷T!ÄêÕ=† s52’I±±tZTÅŽ»'Ê• #ncõèþý"!ÄàÁÎ ?>HM}(I© j\ÙÐ7*•zóæØ;RR œÍfÌð9Ò­|·Ÿ¾óÃq11¹*•ðñ‘OžìùÜs>2!DQ‘²]»ƒC†¸üßÿuZ±âZHHzq±ªsg»wß ð÷·yÔA>ø ÃÊ•‘aa÷³³‹ÏŸݽû¡jGNHPlß~ûôéûIIù††2??ëéÓ½'Nô¶j¼|ùÕðð††²§žrùðÖ–F¡¡é_~}ãF®\n4uªçoøKõHÎ{ðí·±—.e(%ÎÎÇ»,Xà/—×ËïGÞ{å•péëöí–ÙúÞ{³gûVöÞG­³†'½²aË—êãcõßÿyÔ] a@ß,]z姟⥯ïÜ)X¹22**»LŸþ3òÛooi^^¿žóÿw5""óóÏ»kssKžyæä;Ò˰°û3g†=:ÔÎΤæƒääOz2-í¡ôR¥R×däyóÂoßÎÓ ‘‘™žþðå—ý´Gž6íÔ½{…Ò˽{³³‹žyÆë•WÎ*•j!DaaéÚµ7ííMŸ¾¥Ôç§Ÿâ?üð²ZýÇÉÉù›6ņ…Ýßµ«¿¹yſ̚v¿ÂMGŽ iÙÒªê>¤uÖä¤W1lncè•«W³~ú)^.7Z¹²Ë… £ÃÃG}ôQÇ£GÿòX¨¨ìo¿½eff¸tiÇ3gF^¸0ú³ÏºÙÚšüòK²´jƒäܹ..ûö ¼vmì±cCûôiž]|àÀGäüù WW‹={FF>;Aº6¡ê‘…¾¾VŸ|ÒåèÑ¡ÑÑã""ÆüôSÿV­¬×¯¿)¥š‘}|¬~ùepdäÓûö tw·8~<õí·/½ðBËS§†_½úô_t74”mÚôÇCOîÜ)X¶ìеµÉ'Ÿt>sfäõëã2r¤[ttÎwßÝ®‡S!†u‰0dˆ‹"*ê騨 Òÿ6oîSÅ»jQgMNzÕÖ/•Ë:hÔ¸² W޹+„xûíö“&yJ-Ï=ç““Sòùç×5}~ûí®âõ×[Ïœé#µŒ×ÂÀ@ö·¿?t(YúÄ+„°³3ùæ›ÞR<áå%ÿàƒ#G¿q#瑱°0ܰ¡—½½©v‘U,„X¶¬ã×_Ǭ_óÞ½Ââb•¦=%¥ÀÃÃRúÚÞÞôë¯{YX !:t°{ñÅVË–]éÚÕþÝw¤cƸ8pç÷ßS •ææ†?ÿœTZª^¾¼“æþ__«/¾è~áBÆÑ£wµ¯Ñöý÷5;ðu¦uÖä¤×n÷@#EØÐ+‰‰ùBˆ~ýµû÷wÔþÜ›'„<ØE»ÏàÁΚ·KÚµ³Õ^$¢E K!„BQòHƒ´mk[&é¨v䜜â‰OhîOÑöð¡Rk)鸹Y!zôpÐîïêj.„xð ¨E ‹[·r… ž_¸ð¼t+‡Z­–¾5¤å8kQgMNzcÙ}P';MTµqÍÌ µ_þ¯¿¬¢ÆJÙÚš<êÈ{÷&Ý»W8l˜ë‚m<=åææ†2™øàƒËš5)$¦¦DuùF™L&þ·PˆôÿÚ7Âhh_ý4ÒÌÌà©§\”Jõo¿¥¬[wS»ÏÈ‘®ë×ß\³æ¦¥¥ñðá®ÆÆ²S§Òÿïÿ®!Fr¯áDu2H…¤{O6n¼µp¡¿­­É­[¹Ÿ¯xœ1…&x¬_óæ›-jèäà`š“S’ 8t(ÙÉɼá¬ÙQ‹:krÒk·û ‘"ìè•ì¦O÷þé§øwÞ¹¤i3Æý?ÿIÖ¼l×ÎöÅ}7mŠ]ºôòÒ¥—µ» ú—58ªP'ƒThìØk×Þܳ'qÏžD©E.7:Ô¥ÌãE•——üÿèüÁï¾QfÓüù è£~Mêœ=ûtÔZ#T IDATHHúŽý»uk&jvÒËî€:AØÐ7Ë–uôô´Ü±#!%¥ÀÉÉlÚ4¯1cZhîB¼ûn@›66?üp;&&W¥>>òÉ“=5ÏU©¡:¤<ó~\¹2*22ËÀ@Öµk³Å‹Ûi‚Ç1uªg›6Ö›7Çž;÷ 3³ÈÞÞÔËK>z´Û¸q?xªE59ée÷Àã“ý±9uJ¡P¤¥¥UÑaÁ'!Äš5Uõôßÿ‚\.wrrÒu€Ú0Ðuu‰°è W;€^!ìz…°è W;€^!ìz…°è WŒt]uìë¯cM'MòlÃ>yññŠ“'ÓrsKºvµïÛ×Q×åÔ=€¾Y·îF@€]§õ4ì“´kWâ·ßÞº};Oz9¾aÐK„}óê«mMu]ECtútúíÛy^^r77‹Ó§Óu]@}!ìè›W^ñÓu Ô3Ïx½ñF«Ã‡ïv=FØÐ7Ú‹k(•êµkoúøÈÇŒq‹Ë M/.Vuîlß­[3Mí>ÑÑ9áá÷U*Ñ­[³Žíªž(3³èܹIIùFF~~Ö½{774”•éséRF^^‰‡‡¼OŸæ¶¶&Ú[##³#"2ŠR''³œš5«ß Rúôi^¯ã4„}£½¸Fi©jõêè!C\RR V­ŠR«ÿè3uªçŠ]¤¯5}nÜÈY¿>F3θq-þõ¯®åó É?þqõ§Ÿâ‹‹Uš//ùƽ½½åÒËû÷¾õÖ…°°ûš––F+Wv1ÂMñàAÑßþvþÌ™?·š›-]ÚaòäJ×Ù¿?é΂ª÷}æL;;“ªûè=€þ»|9388uÀçV­¬ÒÒþúkò®]‰cƴоÒáÒ¥ÌcÇî àÔª•õ½{…Gޤ8pÇËK¾`A› Ç Iwt4ïÜÙÎÍÍ¢¨H%]²xñÅÝ»!JKÕsæ„EGçXZ ììâb‘’Rpútúõë9#F¸)•ê¹sÏ\»–åînÙ¯Ÿ£Ib¢âر{K–DøúZwêTñ%û÷'iG'=Ú°€° ÿ22оþº×!.ÒË~ýß~û≩ÚaGffÑ¿þÕuâDéå•+¾S§žÜ²%öÕW[WxqDze}|¬ÂÃïß»W`b¢êÑÃáÁƒ‡™YYÅvv&‡%GGç´jeýÚ›SòóK“’ò…ÿýïÝkײƎu_µª›fðkײ&O>¹eKì—_v¯p/&LðèÖÍ¡ê=µ·geVÂ@ж­­&éB è,„HO¨ÝÇËK®I:„;Ú êrøðÝ[·rÛ´±)?æåËY³gŸ.-U—iÏÈ(²³3 ¿/„xçvÚËpXZùûÛ!¤ÅA-,ŒÖ¯Q«ÕBµZ¨Õjkkãkײ*Û‹ <*Ûm„ýçâb®ýÒÂÂPQ&§pw·(ó®-,…¹¹%å ¿ÿÙgQ&&C†8{zZZXÉd²´ˆˆL•J-„ÈÎ.BøøXUXOff±bç΄GÚ Öì¨!„"9¹lŽpçN¾ÂÚÚ¸|çßOB|õUÁƒÿ¼`$::[óµôÔ•Û·ó<<,Ë¿ÝÆÆDñì³ÞÍš™•ÙdffPY…¬ÙPC„!DB‚bß¾$­5;²Ž½gmmܪ•uùÎ2™L!—ÿ™ƒ„‡ßNÕ¼ìÝ»ùî݉Ÿ~Õ±£½&}Öìð÷·éÝÛa÷î¥Rýúë­ þ\äþý‡÷îVV!kvÔaBaooºxñÅC‡’ýü¬ïÞ-!ìè›W_mãèøÇÝFFAAþ>>ríR£¯oÙÕCß~»Ý¨QnçÎe¨Tê®]›uêô—ÜA{X!ÄçŸwŸ1Ã'22[&]»ÚØ…†¦ËåÆšÇ¯8:šýøc¿kײ""2 •–}ú4—VëBØÙ™|óM︸¼ 223‹ííM¼¼äݺ5«ðB’ºÒ®MPùölëoR€'O&=ñ€º¥P(ÒÒÒªè°`“bÍšªú<EEÊvíâ²~}/]ׂ¦¢á|ÿ£ r¹ÜÉÉI×Uj£Ò%ß# WX³ÐÔU¸®/Â@Sgh( j£ë*Pg¸è W;€^!ìz…°è W;€^!ìè•eÉŒí3þ}êߺ.¤*)3¶Ï˜±}FDJ„¦±QTÐ(éºê’J­:w眵™µ® ©T©ªtÉoKb3bÕjuVa–¦½áWÐXpeOÔ†ð iŠ´‘­G꺽EØÀ““•°.lÝßýÝQî¨ëZô·±ôS±²øÇˆÃÃUjUW÷®3»Î´0¶ÐlMW¤ï¾º;æ~Œ¢Hánëè8¤Õ™LVßU½øýN®¦t˜òññ«í¬V«×†­ Kß~üÔŽSë»6½AØÐC*µjöÎÙg“ÎJ/ƒcƒ÷]Û·ã¹vævBˆ˜û1S˜ª(Rhúo¿´}jÇ©+F®¨lÀÇWD¦FV=骱«\­]«è°ûÊˆC/ªIªRTZ´øÐâ_oüº ï’€GBØÐC§nŸ’›Ê\Üʡս¼{ÏnŒËˆ[~lùgc?B츼CQ¤ØràøöãmÍl“s’CãCóŠòªðÆýçzÒÂ’Â*¶fd®<±2(0ÈËΫÚúä?˜¿gþû7>úó1þcªím„=¤êï§}ßÖ©­ôrd›‘C¿z(úÐ?FüÃÂØÂÈÀH±jÌ*[s[©Ã´NÓræV1ໃÞÍ-ªªƒ¢êË:–_îbåòRÏ—ª-þæý›swÏ-*-Ú>c{'×NÕö@„=äïè¯I:„vævCZ ÙsuOìƒØ.¦wž¾?rÿ¼=óÆ·ßÞ¹}ëæ­ML«~æ«¿“ÿãÔzèú¡}/ì3”VÝóæý›S·Mu±vùéÙŸÜlÜgR4p/Nýþûî&L°²²Òu-è€*Ÿ\ؘÙ!ŠJ‹„ÞöÞÇæ;u0,!ló¹Íwsïz.¸Ø×Á·²sÍŽÏO}nflöñ±?%MÌJB¬:¹êÛ³ß.yjI{çöR»±¡±¡aîÃÜüâüê÷–RYhjêüé§Ÿ~úé§ãÆ{öÙgýý+PÚ;z(æ~L‰²ÄØÐXÓríÞ5!„“•“ôÒÆÌff×™3»ÎB¤+Ò_Þûò¬³~ùwS#Ó |Ì5; J ò‹óËs?F‘ó0GÓâcï³füšv¾0}ûôo§|ÛÙ­sÕ“¢‘244oß~õŠAû÷ïß¾}ûŽ;ºwïþúë¯÷íÛW×¥ ;zèAþƒûÇûCÞ714Q«Õ[/l=w眇­‡‡­‡bë…­mš·éåÙKêlgn'7•§ßKOÈJhݼu…>æš+G¯,…l»¸íðÍË,êìÖ¹cíM­›·ÞùÜÎY?ÍšµcÖ׿ô¬É.£1²²²š5kÖÌ™3ÃÃÃ7nÜøüóÏwïÞýwÞéÔ‰µZx,„=Ô²YË=W÷ü'ú?^v^÷òîÝWÜB,¸HÚz2îäòcË-M,=l=LŒLngÜÎ+ʳ3·“¢ =æš\:”i9sTá×ܯ§GÏòý=l=vÍÜ5{çì¹{æ~6ö³QmF=Îìhàd2YïÞ½{÷î}éÒ¥Ï>ûlÊ”)ãÆ[¼x±£££®K ±2ÐuÔ=o{ïÕãWÊ ¯Þ»z_qßÊÔjÅÈšÈ`v÷Ù}½ú”D§G_¹{%¯(¯§GÏ­Ó¶š›ë¶lmŽrÇŸý±½sû…C×åàIèÒ¥ËöíÛ׬YsáÂ…‘#Gîß¿_×ÐXÉÔjµ®kè!…B‘––VE‡ œ„kÖTÕ§TjÕù;çíÌíüšû•(Kn=¸¥R«üšû™š”éYPR˜•¨V«]¬]ìÌíê¶Œj%f%¦æ¥¶nÞZóø[íÊ5Ý K ¯Þ»*“ɺºw­öI.hDªþþ/,,üì³Ï¾ÿþû§žzjåÊ•ÖÖU=*õG.—;99éº @mvꅮ Q¨É÷ÿùóç.\hbb²víÚ¶mÛVÑõ„°/nchˆºwï~ðàA77·iÓ¦÷Üs/¼ð‚££ãùóç/^ü¨}„-Z´(**úÏþ£Ý˜——wäÈ‘^ÐЄ RÅÊâÛ!ƒ}WxCt«OŸ>.\øöî;¬©ëÿø IX!¬€²§à@*8qá+¢U±ZZ¥µjq[”жZÅm«VêBÁTÄ…"Š€A6¨€L#;ÉïÛ_š/ áýzúGî¹çžó¹žÇæÃ|>¿ñjššš’MvüòË/QQQAAA}úôi°BNNÎ… ”””.\¸ðË/¿¬]»öâÅ‹ššš7nÜxñâ…øu(æææÝ»w -¼xñbeeå¤IX¹ÐQ` H¾€$æHÀ“€Ü²\-%­iÖÓÆtS§NÏí={jõ¤&wTÕVußÖ}¤éÈu#×m½µ523²¤¢$aY‚"S1&;æÐƒCss«¸ZJZæK-aÉý·†ÿaöÃ#<Îyü¾ê½®Šîh³ÑsûÍMy—2õøTBHdF¤Éªæ‰i'¨=/.<½püññä‚d¾€o¤fäÚËuÆW3dh2‹$懘QGi²4C熊¾B>7ðÞÁCŒ‡üåúWë ftftyMù“Ôå­W·þŽý;¹ ™[ÅíªÜu°áàyýçqXœÆDY^¹‘AÎ(Î8ñøÄýŒûYÅYtº™†Ù7½¿ùºçׄ؜ØFFòc}‰ÑæðÍéÕ¼jë®Ö«†¯²à|tfA{Ô§OŸÒÒÒÔÔTSSÓšššˆˆˆ¬¬,@ ¯¯?pà@á^ùùùýúõ£òû÷ﯩ©©ßš»»;›Í¦>óx¼¨¨¨—/_ÖÖÖ:TNN®Ùq:::6^áæÍ›|>ßÍÍM¸«ˆššÚ·ß~ûûᅦ……QóAÄ©#äêêêíí””Ô­[7ª$((È¢‘©% eìi³áú†Sq§¨ÏÙ%Ù[om}ööÙ'Ÿ*­,u;æ–ÇÍ£.ù|þ©¸S믯TINiÎá˜Ã‘‘gÜÏ(0!ÇÛxc£°Bjaêþ¨ý4mˆÑõ²åÖ–C /Ÿç=ß¶1.7nÇ„‹DVFÖÍÊí¯ÅdÇôÕí+¬ð$€'à}ÛçÛõ53`fdFdão}mÞ5c5ãF*„§„+0 „Üzuk^Ð<á­ÔÂÔÔÂÔ·ïß‡*ùØ€ü4ä§_š’0?h~Zaš°Ù¸Ü¸¸Ü¸|n¾ÇFûd_e•eSŽOÉ.ɦ.#3"ÝÜÃæ‡±ØI;bff&##“ššZ^^îááQPP ¼¥®®îççGe7êìÙ±oß¾ŠŠŠú­?žJvÄÇÇÿðÃ999Â[ÚÚÚû÷ïïÑ£u¹{÷náÈ7HQQqîܹâ¿55£ÎÜ“þýûB’’’į#4aÂ__ß³gÏ®Y³†’œœœ°~ýzñC€öÉ* oNÅbɱÖ\7ÂdD-¿öêË«¾7}?ùàÃì‡Ö]­÷~½·›f7y†|vI¶w˜wg¹Î+‡¯fŽ>Â%0&ê&;'ìŒÍ‰ Kóàü,˜Çç-¸H8•ÀXÍxစtšJY]XíèÑ£>>>!!!Ó¦M#„,^¼ø“3;šôUUU„:+e¨Kê–˜uD¹ºº^¾|9<<ÜÞÞþÂ… #GŽüØy· •ì©BM4l8X´pˆáO&;,9–¢_ÂSÞ¥B~ ùñÇ©ïu" >Ð’Z˜Jc^w7FdeBêœáJ] çGÔ„ò­Í·×^^;ýäô»%„cŽ)Ë+Oì1QüÞ›!<%œF£ 7N]ζ“3îȸ¡FC{hõè¡ÕÃFdžIgRwÅú¯VZYúõ?_¿){S¿reMåÇÚ§¯îZÝEwWÑUÑ%„p«¸<Ò)**–——;889räÌ™3öööššš„UUUUÕº¿Euðx[Ÿ‘1Ýú¿IøwÓï6µ*à?ÕÁ F*„&…vÓìÖ`¡ÕòjEK T !·^Ý2U7ÞN½- »q3ûÌ\ºêFòè¬hº }ÆW3Ä{•f*à$¾MüqðuÊÍ4ÌÌ4̨Ïߟÿ~ù¥åv†vÊòÊŸegB– ]&̹Tóª£3£EëÔÉæõ%•***”••edd\]]]]]ù|~FFÆ­[·~úé§gÏž­X±¢Á§ø|¾——!dë֭•/”Î;WWWÏ›7¯þS&&ÿˆÓâ{vP‡¤­¯¯ïìì,Zž””¤¤¤D}nñ=;ìíí7mÚèîîN,[XXèïïO5j”øuêÐÓÓ[¿~}qq±««k“â)€dH•^Ú½¾±þæTÜ)¯Ë^ÂB' §K/.5©¶Á&ÇMë®­[ºªÎ­ýB U WÛ¯ö ÷9uà@ÔáÝEQúëõ¿ôâ’ý“'¦è§×oNß9‡co¸¶aõÿvIp²peÖð·5Qr ¹©½§îÚOùGŠ„§„wéÜÅ‚óßßÌß¾˜¸ûÞnÑj–Ku"Æ€4h¼åø½‘{ƒ‚‚‚¨–k”Ù¨°ä0aG²}I%.—«¤¤ôý÷ß³Ù쯾úJWW·¦¦&:::''Gt¹‡(ooïY³fíÝ»W´ÜÝÝÍf/\¸ðêÕ«Ë–-ûûï¿­¬¬””” ’““9B~ÒÔ=;®]»öòåKBHBB!$88øÉ“'„±cÇR³Ettt&NœxîÜ9'''&“yùòåüüü‘#G gmˆS§>ww÷&… RÉ6Þ£½õUôžä–årXœ©½§:Y69ÙAq³rë¦ÙíHÌ‘˜ì˜¢ò"UEU¶Á8‹qÎÝÿý‹÷·6ßši˜yx$.7®¢¦BWE×ÁÌỾÿÎ,X3bM-¿6:+º´²TøgðUö«ºiv;þèxò»d¾€o¤fäÚÓUx8Ë'M³ž¶?j¿…¦…­®mS_§I*k+£2£„'ÚP¶ŽÛ”t#åFzQº€ºtîâhî8Ûv65Û‚|j@¤ÝYä–üA IDATûø7Ç·ÞÞúôíSšL>?ûY˜ø 48’ÍèKúðx¼ÜÜ\mmm{{û°°°ÐÐPá-Í›7×$))éøñã„Ô¹5nÜ86›­££sìØ±eË–=}úôéӧ»T¦£®_¿,¼~633.ñöö.((ˆˆˆ Â#„ØØØüöÛo¢íˆS€Bk|"@óp¹Ü¼¼¼F*,YÂ!„ìÞÝX¨ãFÊ ³¾c|'[µîÑ7_Ýœ4ÿï)×9×ZJ‹üþ§¤¤Œ3æÒ¥Kݺu+((ˆÍÎÎVTT4440`€p—Šüüü€€€~ýúõëׯ  àÔ©†7¥fvPŸÁãÇŸ>}ZQQ¡¥¥ennÞÈì‰OÎì¨C8³C(666!!ÏçwïÞ½_¿~ n´ÑH’’’þùÇÈÈÈÉÉ©ÁHÒÓÓ/^¼Ø§OŸAƒÞ‹§‹ÅápÄ© m ’Ð*ìhqéEésÎÌy÷á]´g´"³i{"4ÕÚ«kCž…Äþ+K—mÕŽ:¬ùý^µjUBBƒ¹º­É€ö ÿ4´u²L?ùïá2óûÏoíL!ÄÇÑÇÇѧµ{Ïmii‰L@}8…  }P’Sšl5ù»$´ <ïÆŽŽŽ’ -ŸÚº~zý^­|%é( m‰ŠŠ*))A² A˜ÙÐþœ|¸ƒƒƒ¤ch»ìh7|||JKK}||$@›†e,íñcÇ÷îÝ«©©)éXÚ4$;@ UÔT„¿ Ï)É©æU·/C“ ~<ÄhHï.½© û£ök²4'õœ$Ù8Û2Œ¡ÅÄÄhiiééé‰FDDøøø,]ºtÔ¨Q’  ½@²¤MIE‰ËQ—œÒ겇V† c×½]JrJÂ/êû"÷õÔê‰/êƒ1” øøø9sæ8::þþûï»wï.Z´ÈÙÙÙÃÃC‚±´Hv€´9þøxNiŽuWëþzý™t¦¡ª¡ MÆÓÎÓº«µ¤Ck70†’òâÅ‹™3gVVV/Z´ÈÐÐöÃ?Œ?~óæÍ8@Hv€´I+J#„œtPUQUXèiç)¹ˆÚŒ¡D¤§§Ïœ9³ªªJ Ðéô]»výñÇýõ×öíÛ§L™òË/¿ÈÈ`ky± ÙÒ#µ0õò‹ËOß>%„=ÊùŸæD÷›hÐÓ·Oãrã¸Õ\‹3Ôx¨š¢UÎðöÞßk¤fädá”Z˜z/ý^5¯Úº«µŽMŠÊ‹b²c²Š³t†™ºÙƒt½~#/ò^DgEËÐd†ÓgëBÁýŒû/ò_°dYæ¢)†Æckq­4†ðI¯_¿ž6mÚû÷ïkkk !µµµ—.]*..ŽŠŠúé§Ÿ,X éÚ$;@z¤¦íº·‹ú¼/r_»¢ûMÔñîû¥!K£2£„% L… £6¸ör%„ÔòjwÝÛ5Òtdniî¶;ÛUÇÍÊmó˜ÍÂG6ÝØt*îT5¯ZXbÀ6økò_†ª†¢¼z÷jÏý=T…Íá›ý\ü Z´ &;†*Ü~wûé§ÕŒÅ‰­A矞Ï.Éþø8Bˆ{w¶»~y+!4îíÛ·nnnÅÅÅT¦ƒB§ÓþþûïJ06€öÉFjFžvž—^\J+L[4p‘pVBfqfð³à=ÅãóæÍK|“¨£¬3Øh°²¼rfq攫CW›¨›¿Û?yýäæ«›C†šª›æq󮼸r&þŒ“…Ó@ƒ¿ˆF¤Gh²4­»ZwUîZU[õ"ÿEtfôÏ—tö—wóÕÍ‘¦#ÔŒ’ ’o§Þ^m}_ݾÏóŸ»örUQP¹—~/)?iûíû¾Þ'~luœz>2#²ñ±g1®ÁdG«Ž!4¨°°púôé………¢™BHmmmYY›ÝÀ ‡dHc5cO;ÏçyÏÓ Ó¾ø½CŽ*¿›v·‘/êד¯'¾Io9~›Ó6ºÌ¿«Nß$ºþãú÷ÿýœý¨’ÂòÂý_ïi:’ºl8xÅ¥·So “Þ£½ÔŒ¢3£ß”½‘¥ËöÕíûîû¸Ü¸âŠbaZ¡¨¢èÐäCC†R—«CWŸ‰?›{mÞ5‹C©R3ú¯Ñ·Ro &fluLì1±þ›:ꯔùcõ•••¹»»çææÖÉtP˜LæÎ;<øåh×쀎î~Æ}Bˆ"Sñ@ôj‰Š@ AgùΉo…Õ,5-…™BÈ0ãa„|n¾°äÉë'³OÏ®å×ýÊZø¡P˜ìèÎé.ÌtB :fRÏIT¦ƒ¤3ûêö=›x¶àC&KSÌØê˜Øcb³F¢ùš'p¹Ü3f¤¥¥5˜é „ÔÔÔ„‡‡'$$ôêÕë ÇЮ!Ù]Qy!ätü鯫iwÖ½Td*B„©èÌèíw¶ËÒeGšŽÔgë+Ê*Ò-"=".7Ž/à ŸÒRÒmD©ð±ÂŠš ñc«ãsöìhžæÅÙÁñxå³fÍJNNþX¦ƒB§Óy<Þ®]»:ô%chï쀎NYA™2ÝzºZ§ºG‡È3äÅläVê-BÈž‰{ìMì……/ò_H$¶ÏÙ³£yZd ;>¿òÑ£ÉEEñÂýnét:F£4Ífëè蘚šêéééééñù|œ; >$; £ 7 0>'à-´X†öß÷ÉnÁ›÷oÄl„F£BXr,aItfôÍ”›‰ísöìhžÃŽ£¶¶6.nfaá]BƒÁÐÖÖ644444ÔÕÕÕÓÓÓ×××ÑÑ‘“““t˜í’Ðѳw4öhÀ“€ˆôˆÕÕÊ*Ë2Š3b²bæôÓK[¬½¬»XB-p4wd+²SÞ¥ÜI½£ª¨úîû/Û—ß³£Eưãxöì‡3ÁÐÐsûv%‡CeÊ !ÙF?ìvØë²×ÍW7ãÿ;&–Ãâˆÿ-ÝÁÜa¼åø‹Ï/&üÛÂd«ÉJ²JG‘xl_@{‰³°²²ÒÑáB´´ò$ €tB²¤“¥“%Ç’Aÿïß8}¶¾§§uWkaÉ¢‹4YšÂK¶ûO×?S Scsb‹Ê‹TU Ø6:6Ô)ª :ÃÓÎÓHÍH´ªÐDÝDX²cÂŽiÖÓž¾}J£ÑútíÓS»ç½ô{,9µEƒªzÚyÖI 3¦ª¨ª,¯,Nl­¤ÅÇàK¢ ·ÅhA\.7/¯±¿Z/YÂ!„ìÞ¿lCG„ßÿvÅbq8IGÍm½@ª ÙRÉ*Hv€TA²¤ ’ Uì©‚dH$;@ª ÙRÉ* IÐò’ò“NÄÈ.É®®­^1l… Mfë­­3mf:š;R¾;ó‘ªÑÚ‘k[¤»–m­•äsóo¾ºy'íNiEé„î¦öžZ¿Ï;—x."=â}Õ{}¶þ”ÞS,4-šZgñùÅEåEtúA׃ŠLEÑ[yܼ¥ÁK !¦¦Þ£½[úþ…dH›Wï^¹u©å×R—ÅÅ FLvÌ(³QÂ:³VÖT¶T-ÛZkø5ü×£±GuiÝÕº~ªÚªÙ§gÇdÇP—é§âNm·Õ¥‡K“êÄåÆåqó!W^\qíå*ÚÅÙ„³Ô³UµU-ùzÿ É6A‰AµüÚY6³†cÒ™ææ„ÓNè³õ[©Ç#nGXr¬Vj¼Eäsó5:i 7®ÀT8{´Á:»ïïŽÉŽÑRÒZb·D[Iûvêíc­]ÝW¯o—Î]įCQ’SÒdi%‰&;APBÐW]¿zœû¸5ßÉ:9%9„¥C–v’í$,ì§×¯õz´Õµm½Æ[Äšk4:iÐh´«/¯6˜ì¨åמŒ;I—¡ûOõ7V3&„ 1B£ÑücýOÆ\>t¹˜u„\{¹n½µ5£8Àm@•ÄdÇd•dy ð@²Z’ =bsbÿ¸óGò»dBÈÜÀ¹4B½+ºgG}¥•¥A Aq¹qÜj.‡Åq0w°7±ÞÍçæ&&$s«¸:*:vv#MGÒhÿ¶/ºgǶ;Ûç4ðe~N¿9#LFˆÓWkÐdi6^!þu|YeÙ`ÃÁTƒ2Ëf–¬ÿÝ´»T"Cœ:B{LÜv{[PB°üLüeyåÑf£W‡®n±h’ =ŠË‹…ÛI<Ì~Xç®èžuÄåÆÍš_\Q,,9›xv²Õdß1¾„ä‚d·ãnÜ*®ðî‰Ç'ܬÜ6Ù,ìK¸gÇË‚—ÂDÍè3Cœ¾´9|óÓ·O?v—²mü6Ñ…$Mõªð!Ī‹•h¡®Š®Š‚JZašøu„Ô;©5z>ñüÒÁKé2tn÷ÚËk“zN’eÈ6;H1!ÙÒÃF׿ĴÜýãQΣ£SŽ2éLª<þuüo·ûØSÜ*®ÇY’Ê—.ÃŒ‡)Ë+g•d}x40>p€Þ€ Ý'< àVq‡séá¢"¯’Sšs/ýÞûª÷ ¶¶|èò¹}ç /«yÕkB×8˜;Œí6Vœ¾l3© ©ÁŠ¨ŠšŠÆ+4®¸¼˜¢ÁÒ¨S®ÉÒL.H®¨©P`*ˆSG´|r¯É7_ݼ—qo¨ÑЋÏ/VÖVN¶šü9Aˆ Élv?½~l6!ÄV×VŽ!G•7~öÇ…g Ë —]î1ÀCX8¶ÛØ¡û†ž{znB÷ !d›Ó6êîÔÞSË*ËlÚ•R˯]xnápãákF¬³¯Û\5|UYUÃÝ }δBOÀ#„Ðiô:åT u´8uDÙ›Ú«)ªÆ5˜ØM³[­å5åŸ'€8쀎îÉë'„°ä°ÈÌHêpVPR S !ßXsþéùùAó]z¸ôÐêa®a.Çë,ß¹ñfyÞÁ?¨wRÿeô/â÷Õ ŽÅg¿å'(2 !ª?Ô)§JeŬ#ŠN£;ww>öøXLvL›aÆ µ!Ù]yu9!$þM|ý[Ô†ª†7Üy™y$æÈë²×v†v?ûÙDÝäcmòüe!Ëäò¿:þ*ÜÇTœ¾ôöì žÍ(Î-¬ª­z]öšÃâPs7Ä©SÇd«ÉGù1øG† Ã¥‡K³Ãh$; £Óî¬Mñí]?yA-`!„(Ë+»÷qwïãNÉçæ{œõ˜0ó–Ç-áJQ`å••<oû¸í24™¦öUßس£—v/BÈÔ;<>.óoÚ""=¢–_Û«K/ñëÔaªnÚK»W›sjyÀ€dttæþ±þÁÏ‚·ß¦§¢Gò¼°ä0ŸG9{´›F·þúý©[l6KŽ•ÿ&?£8Ct‡Š@ Xwm]iEéÞ¯÷ 3â÷Õ /°g‡vgí¯º~õ8÷ñwÿX>t9FËãæm¹¹…2Ár‚øuêÛé¼óMÙ}¶þç„Ð$Hv@G×W·ïd«ÉñöìuUtÕ;©—U–唿TÕV-è¿`œÅ¸;©w|nøt’í¤§¢'ËM+L{_õž­Àf+Dù„û< °îj=óÔLÑò9ýæŒ0ñɾŒðó÷ì¸õêÖ_þ"„UBBž‡ÄåÆBF›že3‹ª³Ò~å´ÓF ~Ìaq’ ’ªj«ltlÍ…íˆS§=½  õ Ù@~uüÕTÝôЃCÙ%ÙÙ%Ù„&9¶ÛX'K'BÈlÛÙ|?23òEþ ª~?½~«G¬®sÒ*å\â9B•JE5õɾZIÁ‡Ñ…0oÊÞ¼){C1Ó0~Õõ«“¬¿¶þuÙë·ïßÊÐdÌêì9"N‰£Q;À´,.—›——×H…%K8„Ý»«Ó<ÉÉÅŶº¶Âý2J*J^¼Ôgëk)iQ%³²äXšÿ3cB d–d•©*ªvíÜ•IgŠÞ-¯)Ï,ÎÚµël?!ÚZlNlƒ R U 5YšböÕâò¹ùéEéõË9J¶h‰@ H-LåVsu”uÔ;©7ØZãuârãxžŽMƒÏòø¼ØœX–«;§{sÞDZ´Þï?´ ‹Åáp$4’Ð*$˜ìhûðûß. ÙÐ~É|º @ûdH$;@ª ÙRÉ*Hv€TA²¤ ’ Uì©‚d€¼|¹!%%EÒQH'$;¾´šš’ÂÂÛãÇ÷õõýðფÃ6Hv@“õÜÞsÚ‰i’Ž¢c2U¼íëë{þüùQ£F?^ H:(éd4Æü7ó™3%…T¢Mœ8ñúõëcÆŒñòòš>}:Vµ´$; É—%žœ~RÒQH•uëÖ;w®ªªjüøñ›6mª€Ï‡d€„õèÑ#00Ð××7$$„ZÕ"éˆÚ7$;@Úðü¿ü5òàH‹ß-†~èÁ¡œÒ“-&¿\ÿ…ªPU[e²ÅÄã¬Gni®çO?“-&å5å„ O/¸þãÚk{¯ÛzLø{Â?þá øÔS™Å™¢ˆúÜð©ÓrNiÎÂs ­wX÷ÚÞë»3ß½È{!Nä“3?h¾ŸM·ßº Û?Ì÷¦/·ŠÛÔNy»»¾›v×d‹ ϋ̈4ÙbBý÷ ëùß=;„Ïæsó þ±ÏÎ>=·÷œ0³NŸü¹tp222'N £VµÌ˜1ãÕ«W’  ½bH:€¶áú†Sq§¨ÏÙ%Ù[nmy–÷¬~µÒÊR·cnyÜ<ê’Ïço¹µåЃC Ïóžo Û—·cÂŽ&PZY:åØaËwÓîÆfÇžžqÚ‚c!æãu;wjýõõ ,sJsǎ̈<ã~F© f§â¼]Ý®ÿ?"Ž²Ê²)ǧd—dS—‘‘îîaóÃØ lªDÌŸKG­jqqqÙ°aƒ““ÓôéÓ—-[¦¨¨(é¸ÚÌì©ÿ:þTÜ)–k븭±?ÄF/‰Þè°1,9¬~͇Ù»(w šôtùÓW+_e–dzpHž!¿aÔ†¨ÅQ±?Än¿]EAåâó‹7Rn4)†‡Ùµ;kŸy6qYâµy×ÍËkʽüÅ\4°âŠbï0ïÎr}ÇøF-Žz¾âùÕ¹WÇtó"ÿ…¬¿˜>Ë{&ÎÛÕéz˜ñ°W+_Ñeè ¾ZùŠú¯Ÿ^¿ÃŽÉŽÑVÒ>÷í¹Äe‰7Üh0°¤¢$øY0uWüŸ BzöìäëëŒU-Í€dH•kÉ×!+†­˜Ôs’Š‚Šz'õiÖÓ¾ô}ýšŠLŃ“öîÒ[ž!O M %„,´Ø½»KCEAŹ»ó†Q!—_\nR ŠLŃ®­ºX)0ŒÕŒw:ï4V3ŽÍ‰}÷ḋváé…Z~­£Ïd«É, Yº¬‰ºÉÎ ;5X¢É‚Æ;óíêtÝ$löŸ®öÒî¥ÀT0`¬¹Ž’”ŸDÝÿçjUË7†þóÏ?»»»§¦¦J:(€vÉ*YÅY„Á†ƒE ë\R,9–ªŠªÂËŒ¢ Bˆ½‰½hê2³8³I1Xr,ÕÕ„— Æýâ·S'°”w)„C~4ÿÍÜl«™ÙV3Ó­¦æ¿™p Þ¼#f§b¾]®›¤»Vw–Kx©«¢Kn,"þÏD©¨¨øøøœ8¦ÛBÈîû»OÄx÷á]ieéÅç©SQÇvKQ`*téÜ%"="0![Å-,/ x°ýÎöúM•×”/Zÿ:¾¢¦"µ0õÇàS Smtl¨tISMì9‘N£ÿòS`|à›²75¼šwÞÅæÄz‡yˆ: f§Ÿ|»F¨(¨¤¼KÉ*ÉjÒá,u4ûç¢455·oß~òäÉœœœ1cÆìÚµ«¦¦FÒA´E8z¤Š•¶•›•Û™ø3Ë/-޳wùÅe&ÙȃÝ9Ýçôs8æð†k6\Û ,w²pe6Šú<·ßÜaW]YµêÊ*ªd²ÕäÀøÀ:MÙêÚfgNúg’°D‘©HíÚ lƒMŽ›Ö][·*tU[ ú/³SqÞîcúëõ¿ôâ’ý÷û81íÄÇdiD³.PŸ­­mHHÈ¡C‡öîÝ{õêUŸ¯¾úJÒA´-˜ÙÒÆÇÑgŰz*zL:SWE×k¸×7½¿!„t–ëÜøƒ«ìWýîô»•¶•SAŽ!gÁ±X7rÝþVpÿÊ}ùÐå]•»2d†ª†6zô÷¨ß޲¼rÀŒ{{–K‘©8Øpði÷Ó‹f¿‘›•[ { “…“&K“!ÃÐdiöÕíë=Ú{စâwúÉ·û˜5#Ö8š;ª(¨ˆ¹çÈÇ4ûçõ1 ÐÐP--­)S¦,_¾¼¤¤DÒA´!4ì ­Ëåæåå5RaÉ!d÷îÆê´”aÿyôÏÞ‰{©Å­§ª¶ªû¶î#MG˜tàÓµÛs§-â‹ý\Ú üý¿yóæºuëø|þÏ?ÿ>>½{÷–tP’=; U´©=;ÚšVýýÏÊÊZ¿~}dd¤››ÛÊ•+Y,VkôÒ`Ï€ö §±H==½£Gúùù]¿~}ôèÑçÏŸ—tD_’Rh̘1aaaööö?ÿüóüùósss%À—ƒd€tRVVöññ9yòdff¦££ãÁƒy<ž¤ƒøìf¶¶¶—/_^¼x±ŸŸŸ‹‹K||¼¤#huHvH9ƒ±`Á‚ÐÐP6›=yòäµk×~øðAÒA´"$;:}}}Ÿ«W¯Ž3æÖ­[’Ž µ ÙÐQÐh477·k×®õéÓgÞ¼yË–-+))‘tP-É€ÿQQSqéÅ¥QvÝÛ•^”žYœ¹ëÞ®'¯Ÿ+ìÚ6ñ¬#SzQúÑØ£»îíºŸq_Ò±@Û¢¦¦¶cÇŽC‡ÅÄÄ8::†††J:"€ÆtmHIE‰ËQ—œÒ겇V† c×½]JrJ½»ô¦ ÷Eîë©ÕsRÏI’ óÎÄŸ9s(­0º\ÐÁ ƒA’ Ú aÆ]¹reëÖ­žžžÃ‡÷ññÑÔÔ”tP-3;þsüññœÒë®Ö ,ô´ó4T5Ôgë{ÚyZwµ–thMp?ã~ZašÛ9hœ’’u6mjjª££c@@€¤#h˜Ù🴢4BÈÁIU°Ür9 IDATU……žvž’‹¨9¦XMùÁî#5£«/¯b |’­­í¥K—öìÙ³~ýú°°0mmmIðYì©ÂðöÞßk¤fädá”Z˜z/ý^5¯Úº«µŽÍÇêDfDW;˜;\{yíéÛ§„£±G2ÿóOä£!Âe, zúöi\n·šËaq†UST½››\Ì­âê¨èØêØj°4Zô¥ëh0°UÛ飠 °bÅ {{ûU«V;ÖËËkÊ”)4MÒq4’ Ujyµ»îíi:2·4wÛm€*w³rÛï‹ÜW§YÑ=;êx÷áÝÒ¥Q™Q¦†Q\{¹BJ*J¾;ó]›á]9†Üò¡ËgÛÎþØ+œz>»$»ñ×tïãÎV`7^ ©úôé²{÷î 6ûúúH:(€æ@²¤Ð“×On¾º9Ôh¨©ºi7ïÊ‹+gâÏ8Y8‰NyˆË»‘rc°á` Ž…~»swgaI7nÏ󞧦}?ð{9†Ux7ín#ÉŽëÉ×ß$Ž·¿Íi]†N&¾ItýÇõï‡û9û•BÎÍ:Çaq¨»Õ¼êgoŸ5üÄEÝ4HtK€giiyþüùÇïܹ3<<Ü××רØXÒA4’ …,5-…™BÈ0ãa„|n¾hCUCÑLGóPÛ*2D –Ìt–ïœø&‘2Úlôɸ“GbޏY¹©Ñh4Yºlãg»Lì1ñ3£ø| cÁ‚C‡]µjÕ„ <==çÎK§Ó%€Xì)¤ÝùÎ’Pd*Bjùµ¢…ªŸß5qãtüéU°3´;5ý”¬ÿ”ãSªj«zhõe6ê›Þß(0>öö쀶£[·nAAA‡òóó»téÒÖ­[---%À§!ÙÖ£VVP&„L·ž®ÖI­Î-y†<õÁV×ÖV×–’ÏÍÉŽñ ÷½št5`F€ ­á}°g´)t:}Á‚ööö+W®üúë¯çÌ™óã?2™LIÇÐ$;šo€Þ€Àø@ž€·xÐbÑäE·àÍû7„èÌèžÚ=;Év"„h²4,œn§Þ¾ðôBzQº±ZÛ `ÏhƒLMMÏœ9ó믿޾}{Ë–-={ö”tP…d@ó³w4öhÀ“€ˆôˆÕÕÊ*Ë2Š3b²bæôÓK»×Áèƒrõ×ï¯ÏÖgÒ™IùIwÓîÒit•µùù{v<Ë{žNIy—B‰Í‰¥NÕí¥Ý‹Ú¾ ddd¦NÚ¿ÿU«V¹ººÎŸ?É’%²²²’Ž  Hv4F?ìvØë²×ÍW7ã…å§—v/BÈýÔ9¸Â[d;­±VM±î²—ôìí3*»Ay”óèQÎ#BÈŒ¯f ÙŸÉÀÀàäÉ“§OŸöõõ ûý÷ß1ÅÚ $;@ª0è O;O#5£ú…&ê&Ô¡8Y:Yr,ôÿþ}Ôgë{ÚyŠžŸ²hà"M–¦ð’­ÀþÓõÏÔÂÔØœØ¢ò"UEU¶Ž uíüþóÝû¸?Èz^”NÑî¬=Ähµajëé®ÕÝÓγ~9•øL4mêÔ©ƒöòòruu;w.vñ€¶†F“в¸\n^^^#–,áBvïn¬€´’Žß@púôé_ýU__ÿ÷ß·°°tD-ŒÅbq8IGÍÑð>ð£¦x\¹rEIIÉÕÕõàÁƒ<OÒA‚d|]]ÝãÇ{zzúùùM™2%==]Ò ÙŸ‡N§/X°àÂ… 555ãÇ?xð ŸÏ—tPС!Ù-ÀÌÌìܹsK–,Ù±cÇ´iÓ²²²$t\Hv€ÔÖÖVU½•tШ)§OŸ...vvv>w#€ ÉøÒ***æÏŸëJNBVVVÁÁÁ®®®^^^‹/.))‘tDÐá Ù_TIIÉ·ß~›`i¹š¤Ã€V!//¿fÍÿ'Ož8::Þ¼ySÒ@Ç‚d|9¹¹¹nnnùùùgΜa³ûI:h] µ³³[°`ÁÚµk+**$tHvÀ’’’2eÊ:`dd$épàKPRRÚ¶mÛ®]»®^½êââ’˜˜(鈠C@²¾„'Ož|óÍ7zzzgΜÑÒÒ’t8ðE3&44TGGÇÕÕu×®]<OÒ€”C²ZÝ7f̘accsäÈ%%%I‡ ¡¡qèÐ!ooï¿þúËÍÍ-##CÒ€4C²Z×Ù³g¿ÿþ{''§½{÷ÊËËK:œ¤€[0íÄ´£±G[¶ÙïÎ|çsçeÛ„‚F£M:õìÙ³ÕÕÕÎÎÎ’Ž¤’Њ<èåå5wîÜ-[¶ÐétI‡Ó±Tñªb²c2Š2Z¶Ù‡ÙŸç=^ºŸrß¾¹e»éfffvþüù9sæ¬]»váÂ…8˜ZCÒ€tâñx6lظqã´iÓ$´˜#nGXr,áeLv †#„¡i †§§gß¾}—/_îää´mÛ¶þýûK:(*˜Ù-¯ªªê»ï¾ ܹs'2RÆV×ÖBÓBÒQ€4èß¿hh¨­­­»»û¦M›jjj$HÌì€Æår¿þú똘[[Û/Ü{ ¯æÛ€omtm<í¾€“Ã’cÍ>=;*3Š*¬åÕÊ2dãW_©ÁÒ „DfF>Èz@¹—~ïëž_BJ*JÎ&œu²túXË›Ã7?}û´ñÞ·ßÖ¥s—&FdÚÉir kÞ|uóHÌ‘=÷PÙრÏ-¼ùê&Uçvêíë/¯Í bÒ™TIPBÐêÐÕ|Ÿº<—xnÙe¢4i‰öaöÃÊšJBÈûª÷1Ù1„²Ê2êõ™—7?h~qE±°÷³‰g'[MöãÛøBÇ4qâD++«¥K—Ž?~ùòå³fÍ’tDÐî!Ù-&--ÍÁÁA DDDhiiåååI*’»iwYr¬åC—[p,äò L…AƒãïgÜwéáB¹—~Oƒ¥Á’eÝϸO}ÕÊŒâ øvvk3© Iø•þc*j*š!„[Åuîîl«k«£¬SY[ù"ïÅÑØ£ÞaÞ¢S!î¦ÝUQPñîeªnšÇÍÛ¹ïYÞ³+IWœ»;B^—½^m=_Àÿºç×ö&ö<>/4)ô»ˆvÝŒh0Z!s óÓN¸Ÿr·Ð´X=b5Uh¡iÁ­âzœõ(©,qéá2Ìx˜²¼rVIÖчGãè ˜Ð}BãC“‘‘ѹsçöîÝ»y󿨨XIí’Ð2bccǧ¯¯ùòe .—+Á`Dplê1 Î[K 2D£Ñ"Ò#„_õí ìXr¬+/®ê!dá µ¹jøª²ª²ÆûýØ´ŽF#„œ˜vâAÖƒ;iw®½¼VÍ«r ¹ÜÒÜ·ïßj)iQu2ŒSÓO ×¶è«èÏ85ãqîc*Ùò,¤šW=Ûvöšk¨ ã,Æý|ùçs‰ç>gŒVHIN©Ÿ^?¦¬ ÜO¯Ÿ°üøãã…å…ˇ.÷à!,ÛmìÐ}CÏ==‡d| N÷ôô´µµ]¾|ùøñãÿøã/¿¤’ÐÂÃÃ'NœØ·oßóçÏ+))I:ÒM£[¯èl¶¥¦å½ô{ ³$3§4gé¥JrJÇK*H²Ð´¸ŸqßDÝ„ÃúèÒ›}çÿÌÀxÞÒ¥T¢¡Ž÷Uï…ÉŽžÚ=…™BH­„âò׉¼,xI™Ük²èã“{MMv4cêG+Ž'¯ŸBÂ’Ã"3#!D@Ô‡ÔÂÔ¦¶Í€.]º´råÊ3f,\¸pÉ’%8µšÉø\'Nœ˜={ö”)SŽ9Âd2%!„s¢ >u © éQÎ#fgh'ÏgÈ0"Ò"äèr¹¥¹³lf5ÒægîÙñ±À.>»‘¡ÏÖŸñÕ }¶¾"S‘F£ýóèŸk/¯Q в¼²èSÔVÂ:*k+ !å;‹Ö©óiú48ŒŸT^]N‰_ÿ–,C¶ BGÃf³ L…Û©·_俘n=*´3´Û¹Âaô×ïßÈã-²gG}* *„Ç9©dG-¿v_侨œØ&52Øhð‰¸[nn1V36`B’ò“þ¸óGjŸ9 ê$×)§4‡/àËÐþMu9˜;øÇú? Þ6~›žŠUÈðÂ’Ãx|^SÛ‡ŽÌØØøÜ¹s¿ýöÛ’%K¦Nº~ýzYYL± ÙÍQ[[ëáááïïèСï¾ûNÒህIgöÕí{'í!ÄÎðß3Gì ìvÜÝq?ã~_ݾuN©£Eöì¨o˜Ñ°½÷÷n¸¾ápÌa¶";£(£¬ª¬;§û³¼gâ72Üx¸uWë¸Ü8ǿԌx|^Fq†¹†y÷ÄùÌh%Ç2:3zØþa]•»Òmݨu}uûN¶šhÀ^WEW½“zYeYNiNUmÕ‚þ ÆYŒkjБÉÉÉ­[·ÎÖÖvõêÕ‰‰‰~~~’ Ú¶2ßÚ‘>8;;„„„4;ÓA§>_ŒU-Šú†¯ÀTè£Ó‡*é©Ý“š[!üòÿ…Yu±Ú0jƒS!«$+þuÌ~È’c‰î0Âð^½{UVYÆð-4-„û¤RǾ•©*ªvíÜ•ÚT(îî] k6n,t íImmíŽ;þüóOggçM›6)(4y"RS±X,ç£'4@[†d4Aff¦ƒƒCUUÕÕ«WÍÍÍ©ùÉdÇÁƒ*ÇŽ)ß»—ÙÒ1´ƒéÏšU:o^‰¤iÂÃý¼¼ÔÔÔvîÜiaÑ*‹Ë„ìh¿°ŒÄõìÙ3;;;ƒÑx¦C=zT½}Ëxû»GA‡óö-#/aiY%é@Ú¥#F\¼x‘ÍfOž<9 @Òá@…dˆ%::zèÐ¡ÆÆÆ÷ïß×ÑÑùüml*øáኟß@ûÞIAok[)é@Ú+mmí'NÌž={ýúõË–-+//—tDÐæ ÙŸloooggª¬¬Ü"mÊÉ >œ9Ó¹EZhGNŸVrtü +‹¥ÄÍG§Ó—-[æïïÿþ}——/_J:"h[ì€O8zô¨««ëÔ©Sƒ‚‚ZvGÀ™3KŸ?—»~½S ¶ ÐÆ]¿ÞéÅ 9w÷RI"  páÂ6›=iÒ¤ÀÀ@I‡m’И­[·Îž={Ù²eGŽa0Zx^½ª&Lxïë«VUõ¥Ï ˆêjÚo¿©9;¿ïÕ v´ --­“'O~ûí·«W¯^¾|yEE…¤#€6ÉhÇ[´hÑš5köïß¿eË–VêÅË«¨°¾o_+žù ÐvìÝËÎϧÿüs‘¤‘*t:}ÅŠ¸uëÖ”)S23qÆ Ù ©ªªš6mÚ‘#GN:åááÑzijÖ®\Y¸?ûêUVëõÐ\½ÊÚ¿Ÿ½re¡¦f­¤c‘B#FŒ a2™ÎÎΡ¡¡’$ŒþË/¿H:h[¸\®‹‹KDDÄ•+WÆŽÛ¼Fª««?|ø NÍž=«Š‹é;wªÚÙ•s8¼æuÐÆ%$ÈyxhóMÙâÅÅ’ŽEjuîÜyâĉEEE¾¾¾ùùùƒ¦ÓéŸÓ ¬¬,‹…<,@»D°8üçíÛ·cÆŒyûömhhhïÞ½›Ý—ËÍË˳2G,ÐŽ•÷óË:§H‚´¹sGñ‡866•¾ù¼oß –àààµk×ZXXìÚµKKK«Ùí°X,‡Ó‚Àƒe,🴴´Áƒ¿ÿ>""âs2ME§“ýûß:8|˜?_Ûß_yxñ÷Wž?_ÛÁáÃþýo‘éø2œÏŸ?_ZZêìì-ép@°Œþkoo¯¥¥uóæM]]ÝÏlMüe,:ŒõÉüö›zT”B÷îÕXÒíÛ‹ržžœÓ§•ú©pÕªBd:¾$UUÕI“&%%%mÛ¶MVV¶OŸ>4Z“O}Â2€ö 3;€BÂÃÃííí{ö쮡¡!©0<}útnn®‹‹Küÿ±wßaM]mÀO{/ÃFp¡ âBÅ­TÔªXGDP¡NJGõs«(.@ŠXD¸P+( ˆŠ"RöFö@Èøþ¸ö6 "yÏ÷|ÏÍÍÉ9oîm­÷Í9ïy÷NÔáè.ì€~§ººzöìÙñññ‘‘‘VVV¢zÔðáÃoݺ5hÐ ;;»Û·o‹:Ý’пäçç›››—””¼xñÂÜÜ\Ôá€(**^ºtiõêÕnnnGŽa³Ù¢Ž@ƒdô#©©©d2ùÙ³gC‡u8 2$ÉÝÝýäÉ“W¯^upp¨««uDº$; ¿ˆ·´´400ˆ‹‹ÓÒÒu8 zÖÖÖ¡¡¡¹¹¹‹-ÊÌÌu8º $; _Ÿ>}º……EDD„¼¼¼¨Ã€ÞÂÐÐðöíÛêêêK–,‰ŒŒu8º$;àÛ`ccckk&)))êp wQTT °¶¶Þ´i“§§'‡ÃuD¾$;àwìØ±µk×nß¾ÝßߟL&‹:è(ÊáÇÿ÷¿ÿ]ºtióæÍ CÔø*ð·^øf±ÙlWWW__ßóçÏ;;;÷ðèd2YFF¦‡ÂÃ2_pàµnÝ:ccãuëÖ-[¶, @YYYÔè$—Ëu º^ssóêիÖ.]*êp@¯óÃ? „BCCE½N^^Þ÷ß_RR6eÊQ‡ 3` |ƒæÏŸ ™ø"zzzqqqS¦L™5kV@@€¨ÃÐì€oMiiéäÉ“?|øð×_Áo’Ð ÒÒÒׯ_ß¹s§½½ýæÍ›¡d)ô9P³¾)999sæÌár¹Ïž=300u8ÐW„_ýÕÐÐpÍš5………AAAÒÒÒ¢ €°`f|;’’’ÌÌÌ_¾| ™øzË–-{òäI\\ܤI“ DaA²¾ÑÑÑÓ§O766ŽŽŽVUUu8ð033{ùòeKK‹™™YRR’¨Ã HvÀ· 88ØÊÊjáÂ…²²²¢¾)úúúñññ&&&“'O u8:ÉèóN:µzõê 6R(Q‡ß YYÙððpGGG;;»_ýUÔáè(€>ŒËåîß¿ÿÀGŽqwwu8ð-#‘H§OŸ622Ú´iSFF†¿¿¿„„„¨ƒÐ6Hv@_Åb±œ/^¼hoo/êp _X¿~½¶¶¶­­­••Õ­[·D€6À2è“.\rçÎÈt@O²²²zþüyVV–……lѽ$; ï©®®ž={v|||dd¤•••¨Ã€~ÇØØ811QLLlâĉ¯_¿u8øA²ú˜üü|ssó’’’/^˜››‹:è§ÔÕÕcccG=uêÔû÷ï‹:ÿÉèKRSS-,,Èdò³gφ*êp _“‘‘¹sçŽÝÂ… /\¸ êpü ”@Ÿommmdd.///êp 2™|áÂuuõ7¦¥¥yyyQ’ÐG„‡‡/_¾|öìÙþù§¤¤¤¨Ãð@øõ×_õôôÖ¯__[[ëçç'&&&ê  ¿ƒe,Ð\¾|ÙÆÆÆÖÖ6,, 2Ð ­Y³æÁƒ·oß¶²²ª««u8ÐßA²z»cÇŽÙÛÛoß¾ÝßߟL†yÐKÍœ9óéÓ§iiiS¦L)..u8ЯA²z/6›½qãFóçÏ=zTÔá耉‰I||<‹Åš4iRzzº¨Ã€þ ’ÐK577ÛÙÙùûûÿùçŸÎÎ΢€Ptttž?®¥¥ennþòåKQ‡ý$; 7jhh˜?~dddddäÒ¥KE€/ ¨¨ijj:kÖ¬G‰:è Ù½NiiéäÉ“?|øð×_M™2EÔáøbRRRwîÜùá‡,XpíÚ5Q‡ýº€Þ%''gΜ9\.÷Ù³g¢@'‘ÉäK—.)++/_¾¼¤¤dëÖ­¢ŽúHv@/’””4oÞ<]]Ýû÷﫪ªŠ:_…@ xzzª¨¨lß¾½¬¬ JM@e,Ð[DGGOŸ>ÝØØ8::2ðÍpww÷DUiL IDAT÷÷ÿý÷ß7mÚÄápxߊ‹‹óððU`𠃙Ð+¯]»vÙ²eþþþ EÔáèJkÖ¬QTT´µµýôéÓÕ«W%$$B/^¼˜5k›ÍÞ´i“†††¨c€oJ¿Hv455ÕÕÕ‰: h—ŸŸß¾}ûìíí8P]]-êp@¿ÐÔÔ„*++u ô'N¼råÊÚµk­¬¬üýý322/^Ìd2 ÂÞ½{:$ê WWPP¾=Ëåv_4½DCCüeÐ;q¹\oooooï;v899‰:иºº"„¼½½EýˇÔÔÔ  ›ÍFQ(”§OŸ0@ÔÑ@ï%##óENBÍ6›½k×®³gÏ>|2Ð;v,77Ït „¸\®¯¯¯h€o $;@4 †““Ó½{÷|}}—.]*êpô„ÜÜÜŸþ™Åbᙄ‹Åºzõ*ÌD€.ÉÚÚÚü199900ÐÒÒRÔáè ùùùË–-£Ñh,‹ï-.—ëçç'’¨à›ÉèiÅÅÅ?üðCyyyhhè˜1cD€žPTT´|ùòšššÖ™„‹Å .//ïùÀà›ÉèQ™™™Ë–-#‘H!!!úúú¢@‘••]¹r¥œœ‰D"­p¹\Ÿž ¾I쀞“œœ¼|ùrÐÐP*•*êpôyyù7¾|ùòèÑ£ZZZHüÏ_űÊ0¹º$; ‡DEE­\¹rܸqþþþ²²²¢€ˆ‰‰-Z´(::ÚÇÇÇÐÐ!D"‘ðw¡rtHv@O Û´i“µµõÙ³g%$$DQ"‰Ó§O ±°°@‘Éd„‹Åºrå LGuðíóñññôôtrrrssu, ÿª©©ihhÀ_Òét„Paa!~FFFFQQQ‘Ð7îÒ¥K©©©.\xôè‘Hliiñõõݽ{·¨C€¾ÀårEC·khh€}Ë"Áf³÷ïßíÚµ}ûöÙÙÙ‰:Я]¿~}çÎ9rdéÒ¥=€OAAÁÅ‹¯_¿N$Ÿ>}ªªªÚ^˦&BLŒÔ³gR©©â……Èáôd¤ôvD"’“ãhk·ŒÑ@{°z¥8ho¯±{·ŠµuÃãÇÎÎ5é@H**lgçšÇ ¬­vïV±·× Ñà)¸_€e,Њ׬YÃårtttDÿjnn7nƒÁà;/!!‘””ûÐ;PÕ >>¥#F4‹:ú°ÔTq''ª´4×ÏN‹¨Ã_æK—±@N ºRJJм¼|XXd:@o#..>{öl¾_ŒÉdòܹs!Ó@ïTP@±±Ñ”’âܼY ™¾ÒˆÍ7oKIqll4 (¢t/Hv@—yñâÅÊ•+‡¤¤¤$êph øj°X¬ ˆ*€4ÑÑQ]S“uõj‰šZÛÕ…_DMuõj‰¦&ËÑQÖ³|Ûàî@×···Ÿ9s¦¿¿¿´´´¨Ã mòòò¼gäää&Mš$ªxíáp«+[½") [HÐe$%9>>¥WW*lÛü ƒdt€€77·+Vxzzò­ W!‘HÖÖÖø?¥ eÁ‚$I´QZ»qC.>^ÂǧætÐåÔÔX>>¥ññ7nÀNdß,HvÀWár¹§OŸ>tèÐöíÛ÷ìÙC„ÝÌ@¯7þ||%KKKËüùóE µ†â‰J«WÓ NÝdĈæU«hÇ+Áb–oüüÇf³wïÞ}óæÍÇ/]ºTÔá ”±cÇ0Û§LUUu̘1¢ŽÀïüyE6¹¸T‹:/‰>|øîÝ»BÞÞÞ/_¾D™ššnÞ¼YÄñ}µîø:ÕÕÕÿýwII ‡ÃQVV6lØÜ¹sµ´´x›?yòäÇåååA]]ÝÂÂböìÙ¼óòDvµ95wwrq1öªÖÙ™>eJÏþu\]«ïÜ‘ññQts«u, ëA²:‰Á`¸ºº&$$øúúZZZŠ:„E ¾ÿþ{„ÐâÅ‹ ‚¨#üGS!$DÎѱV^¾/•ÈËËKLLä=“••…éÉ¢Ý/_¾ôööF‰‰‰taÏ]þu"##]]]Ùl6ßyOOσâ?¢xxx\»v¯Íµk× ýýýUUU»)_ŸrèÐ! Þ–X²ƒËå–——·7ƒÁسgOII BH]]ýÀÒÒÒ¼ ÄÒÒTD\."ªvïn64DlÝJhh@Õ/]Z¿hQ{ñ+yy‰¥¥!©üèQ­>µz…ÏèÑM¯_KŠ: Ðõ Ù_ 99yݺuC† ñññ‘••u8½Zy9ùØ1¥;wd‡oþå—ª3èT*ìžØ‹LCé蔉:ð¯ÒRrt´Th¨ÜâÅZ Ô»»WÞ£ýSq1EW·W¯a)++³³³ËÏÏÇ^FEEEDD 8¯Yë*øyyùõë×ÇÄÄ`çY,ƒÁضmö »}ûö¹sç|}}Œijjrww¿ÿ>o³¹sçž9s†wé —ËÅ_~ÿý÷¾Naaaë5/!!!†††AAA í}ÆÆÆŸ~ú ÿ˜»wïž8qâСC ,0(ÎÏÏﯿþb0ÙÙÙt:]RRröìÙ¼ëSø2¡úúzüXMM­Ín×­[÷êÕ+„¾¾¾§§'_¦!Ä44d"„RÛ²¥(<œ+!¡ºw¯Ô“'¡æ‘#¬­Û [âõk??„P­½}ó¨QÂ|Ó^KO¯åÖ-øKÝ7’ ¬¨¨¨-[¶XXXxyyµþ›àuõªÜÑ£ÊÊÊì³gKa^h藍£#ê?*•µbmÅ Zd¤ô‘#Ê3gjÿòK•]¯~èÝ¡¾ž '׫×û¹»»c™™mÛ¶Q©Ôk×®Ýâ©RÙ¡¿þú‹J¥|È`0ÜÜÜ455ÇŽÛá¥ÈÉÉáMµ´´´p¹ÜÖ“YpÍÍÍ¡¡¡Ø±¹¹y›Ó:h4ÚÚµkß½{‡5jÔÅ‹Ûì­j×.ñ÷ï%Þ½ËÎV9|¸iôh™ðp„[A¡ôÌ.ÏÄ^D:]ÍÍ q8-VoÙÒáwìåää8õõPËòÉJXX˜‡‡Ç¢E‹:Ä»ÓàÃf£C‡T‚‚ä7mªÙ°¡ªÐ ³g7ZZÒÏŸWÜ·O5+KÌãþÔéWØlBo¾ãÏŸ?ÇŽwíÚõÃ? „¦M›fii‰•Ò‰Dºzõª††ö277÷Áƒر——ׄ B–––>|(,,,))¹yóæŠ+òòòîÞ½‹5svvÞ¾};vlmmM§ÓB¦¦¦ØI"‘hjjŠ˜••µwï^Þ¦M›æèèˆÒÖÖÖÖÖæ}KYYyÓ¦M¡ÈÈÈö’999=ÂŽ=<<°ë0cÆŒyóæedd°Ùl___ãb¿ÿþûêêêøøø‹uç΂‚‚ëׯ·^lÈápvîÜYPP€’––Þ·o_ëÀjjjV®\ùñãG„Д)SΞ=‹å‰ÚÄ¥Pʼ½µ, ÕÖÊ]½*{ãvíÊOždýswZS>tˆRP€„ò#G¸íçeú  ±Ù°®óÉ蘧§§“““›››¨céÕZZ6P$½½ËæÎmu8ôaââÜ-[ª‡ cº¹©PΟ/¥P uz…ÔÔTüØÜÜ; P(ãÆÃ266Öày–ÆkU „Nž<‰?äÓhŸg6½yófÅŠ¼Ílllx;ÄJ~ÐÐÐÀ·VEWW;àr¹111qqq………t:ÅbáãÖÔÔ0Œ6“ÉÉÉøñäÉ“±0iÒ¤ŒŒ ¼€q1úúúX±s+++ OOO쳉‰‰¼É„PKKËÖ­[>|ˆ’¸pá‚AëÀ°++«“'O’É<ñ±44ÊOžTwp@¡¹!TãâBÿçµFþôIîÚ5„PݪUMãÆ î‚dÂf³÷ïßíÚµ´Y} ðÚ½[5)IâÊ•âQ£ ¶"]`îÜuõ–ÔØ½[õØ1a3 [555áǼe Z—„@EE…÷%ƒñoAV¬ÌŸÚÚZ„6}ÃWÝ³ÓØl¶ƒƒ>W¥µ¦¦¦6“¼1ó~w™Ö „4}út,ÙÊÊÊâMvÐéô 6ÄÅÅaÃùúúò¥BZKOO¯®®n¯¨/æÀIIbãçe§ÌAƒ4&0™ØDr²F«¿)úøÈÞ¸QãêÊ03ëp\º$; ]L&sÇŽQQQ^^^VVV¢§·»pAñömÙóç?A¦€.4jT³·wÙºuÔ™Îε¢Ä»YAA^ ¯WÚ ZZZø±ž/ÀÉËËó5KMMµ°°~ˆAƒóžÁ¶;yúô)žéppp033“””|ûöíñãÇw¨©©‰çåå9;ƯÖ ½qÛT]]ófXjkk°JJJþþþFFFíu2a„ªªªìì윜œ+V Îw˜Lª‹ žé@©îÜÙlhØ"°Ð BHüýûÖ')99”œÚ?{â BPˆÚF§Óׯ_ÿüùóÀÀ@ÈttèÃñ'”víªœ>ÞqkÀ—˜<™¾kWÕ‰Ê>ôùµñà`bb‚¥BçÎc±X¡øøø6gdÉÔÔ/´kbbbú…—/_Љ‰aÍð)!‡.**ÂŽ+++ñšxŽ€ÉdÖÕÕáCÈÈȘþ¶xÏ/Éd—©S§Ž=K+t3¾-ËÙ³g[ZZBiiix!ï¾ûNÀ¸ØWHKKÃ;,//ÿí·ß°c‰4qâD츬¬ÌÖÖ ICC#$$D@¦!¤¤¤¤§§‡ÊÍÍ]¾|yii©€ö*û÷‹ø€j9’¶lBˆØØHuq!ðLááÅ0 $8˜ïø»µNN%ÁÁ0­ô0³ÚPQQaoo_UUlhh(êpz;.:¤bbÒ´zu]Ç­_îÇë=’Þ¿_%4´¸UÉBz”„„ĶmÛ°Ò˜ÑÑÑ“'OVQQÉÍÍ522JIIétŸGŽÙ°a›Í¾wïžžžN/))illDM:kvôèQggg‹•‘‘1sæL‹•——gjjŠ•>|8‘Häp8!+++]]]pæÌ<1Ág„ bbbL&“ÅbM›6MOO///Ë&))yèÐ!6›maa1`À€ŒŒ ,ûcddÄ[…´MþþþrrrZZZ'''‡ùÏ ‘Í›7ã5MvîÜ™••…º{÷nÞN¶mÛ6®Uá 55µ+W®ØÚÚåççÛÙÙ«««·ŽAöÖ-¬GF¦ìÔ)–ššÄû÷biibééª{÷–ÿ“|áÅ•`´¿‚†©¯/à]zÌì~………¶¶¶!!!éÆ;²oÞHüúk%<ƒo‰ìõëJ§OcÿçùõUTöì©zÿ^âÎYQZ±bž}û°Å&§OŸ5jÔ×ô9}úô°°0 ‰TWW÷îÝ»ÌÌÌÆÆF##£mÛ¶á•8§NzóæÍ©S§’H$‹•žžžm``°zõj¬ººúŽ;°­[ËËË_½z•˜˜ˆ'ZÓÕÕõòò0`B¨¶¶655uñâÅ›7o&æY³fýùçŸãÇ'UUU?~d±Xrrrþù§€=P0{öì=z4FûøñãßÿÍd2 ‚‰‰ÉÙ³g7n܈7ã-’’ø_555mvN¥R¯\¹‚%8 –/_^\\Ì×F,=]uÏì¸âàÁmm®¸xé©S))„ìÍ›rÿÌ— /"p¹ß~e†²²2QGèRRRÖ­[§©©yñâÅö~|¬¬´GŽlîáꉛ7o¾ÿ>BhîܹgΜùú¯_¿îááýˆ¹{÷nEEņ š›ÿ­BrþüùY³f}ýpö믿^¹r!4a„«W¯~}‡]~%“““wïÞý÷ßó8pà‰'Œ±—üñ‡¿¿?> C"‘–/_¾gÏ|ƒç.OHR11êøËòcÇê—,é±ÑÛãî®–’"þàA¡¨ÝkÐ ƒÓ§Ë¾ûö´Ý‹’“C®¨@qÅÅ›FÆÏ‹eg“*+B\ ‰&árX’ÿlÃÔ×g·_”¤wzð@æ§Ÿdee‹:Ð,/)$XÆÿzñâņ Fuþüù/ª*ߟ½{'‘™)æéÙ·÷‰hjj:pà–é0337n@PQQÁ3FFF–––$ _k Ú“‘‘‘‘‘ajjj`` --ššúâÅ „Pnnî† bbb°DƳgÏŠŠŠäåågΜ)''›Íf³¯\¹B&“ùæi÷0Rm­ÚÎ"  =+WÖ-Z¤õî8”|½}ý–¶þ£Æ40@mmj+,]½$;à³ððpww÷yóæ;v¬ÃMéîÉ)-­#£¾ýè•››‹ïøÛo¿aó~ëëëñyãÇY|ÝÉÊÊ ›>Hà^ƒÂ;vì“'Ox7Mعsçõë×B¥¥¥UUUؾaõêÕ;vì’’B¹¹¹-Y²«Õ¼mÛ6ì¼H¨ìÙC*/ç((k{×î'ÆÆÍZZ¬'O¤!Ù›„ 8|øðªU«<<<ˆD¨gôÞ¾•˜8±í‚í=)//ïÙ³gMMMFFFf|ˆu;hРï¾û.;;;..®¶¶ÖÉÉ [LÞa˜wïÞ½~ýš@ ˜™™ 6Løk÷úõkü¥¤¤$•J0a‚S@òòòš››GŽ9|øpa>hÐþïÊÊÊø† ¿üò ï411±Å‹:t!ÔÒÒ’ŸŸ/ b~[)ÊêÕ«ùæa‰efÊDD „¸ÑV­bcûbr¹ þþØÞŠMÆÆôiÓÚë\&<ûxåž=jÛ· ó•{ÒĉŒäd QGôvìôw\.×ÛÛÛÛÛ{ÇŽNNN¢§ïÉÊ¢L*âíf/_¾|äȼ܆™™Ù¹sçdeeBaaaØÿªU«ðdGdddxx8BhæÌ™ÖÖÖ—.]â-íäçç×zˆk×®aëÖ­£P(§OŸ¦Ñhx`mmý¿ÿý«Ø‡ŠˆˆÀ‹MäççŸ8q«“µfÍqqqaz`2™;vìxðàÞÆÙÙYøËòâÅ ¾“D"qùòå{÷îÅ‹bðƉm”ˆòõõ={ö,¶ ÎØØø·ß~”úú"„üü”û !ÄVQ¡Ý¹Ó^çäÒRÕýûBôiÓê.ì…ÉŽ!C˜ÏžuPõìôkl6{÷îÝ7oÞ<|øðÒ¥KENŸT[KRVf‹0€7oÞ$$$,_¾¼¡¡áÞ½{l6ûåË—¿üòËÙ³gy›Úß*ÆÁÁ!###,, {éèèˆÏì¸|ù2vrÙ²eØ„ …rþüùßÿ!D"‘æÎK¥R?~\PP€4 â+)))::ÚÚÚZWW—H$Š‹‹ ÙÃÑ£GñLÇœ9s¨TêíÛ·yK¨ fnnŽM!A1™Ì¨¨¨ææflBy“Ó§OŸ>};ž1c†ŽŽNtttAAAJJŠ]xx8¾!¢QQQØÒŒœœÜ† ZïÈ ÿ²úúúššš­p¹Ü_ý588!¤  péÒ¥¶w ‘ÊNÒ^°€TQ!ýä‰|pp“±±Ò‰ø[,5µ¶#àrÕÜ݉4GV¶âàÁ¿£H()±kjH¢Žèí Ùè¿ †««kBB‚¯¯¯¥¥¥¨Ã高L…"ʽ*++ïÝ»7dÈ„ÐèÑ£÷ïßzôèQVVo «“ìíí“’’ðdÇúõëB¥¥¥x²ÃÖÖÛF¤ººÚÛÛ;yðàA,G¶qãÆ3fÔÖÖÆÇÇ?~üxöìÙ|á‹k„졦¦ßlÅÙÙyÇŽ!''§3fðv^ZZúß­GŒµ™4iÒ¤I“xßúóÏ?÷ìÙƒ m/ÙQUUuþüyüRüüóÏ!WW×Y³fUUUÕÔÔœ9sæðáÃÆÅÌœ9S]]½ªª*11133“F£íÙ³çãÇÿûßÿÚ7 àÕ«W!ðË/¿´NNq8œ;wb·ICCãòåËÖ˰UUËNÒXµ ±ÙÊGް•• ,B¨jÛ6UôäÿøC2.!Tµs'ëKê½÷$11.“ ›<€d Ÿª­­]¿~}NNN``à˜1cDè<###,ÓZ¼x1–ì@%&&vUÅM^ñññL&;ÎÏÏÇg@ÈÈÈÔÖÖ"„bbbø’Çç-#"doß¾e±XØ[‹-ÂÔÔÔÌÍÍ£££ñÞJKKñ0K—.Å“µµµ¯_¿.(( Óél6»  ;_PPÐÒÒ‚á“ÐÒÒ‚w…ÈÉÉÍ™3K¾<þ¼ÃqB3fÌÀ^r¹ÜŸþùÖ­[¡?ÿüsÕªUøýÂ`Õ:BnnnÓ§OoXtt4›ÍF <8  ÃÊ#Œ ª¶mSöô$45‘‹‹uJ< IDATB3gÖ®_ß^{RM²§'Bˆ1ií‡w€^’€þ¨¸¸xíÚµL&344víëTTTðciiiqqql³ØÚö÷ÑÀž™;§¦¦?¾páBëååü»ðò­È²Þøñ¢ž|Ç‚;wîÌ™3xb…Occ£‚‚BëóÕÕÕø1ïµÅyÛuKv „Þ½{Ç—ì8uê>ÕÅÍÍm};ùü® 870h«W+^¸@ü§Ðlíºu¨ýÕLDÐÔ„bQ©JÿÍã „¤?¦7ÌËl•©@/É@¿“™™¹víZYYÙ*•*êpÀתªªÂ±LB{’ÇW¯ð>ócyt¶Â³qãÆÖ»ëêêòÁKr~Q¼™ˆªª*ü%ï÷EQ©ÔŸ~ú‰÷̈#BoÞ¼9U©@hÔ¨Q&L””ÌÏÏÇ*³"„°j©­)))áÇ•••x¡ÐÊÊJÞíÛ&Þ5D¼™&.—»ÿþ+W®`m8`kkÛ^'ƒ úôéScccdd¤««ëéÓ§;Ü"Ze÷n"Ï–:j;wݾÍiUДì­OJGEIGE1õõ!Ùô ìô/ÉÉÉëÖ­2dˆ€í@’’’‚—ç¸yó&~~„ !µJQæää`™™™oß¾íôp¦¦¦ [è¡££cccƒ¿Åf³’ø¢LLLÈd2¶’åÖ­[XÍŽòòò/^ðöÖ:é€Á7Ó%“É¡¡¡XÂåøñã_ôoܸÛÐЉ5°°°0.B(::ÚÒÒÏDp¹Ü   ü]###ì€Åb¹¹¹Ý½{!D¡PNž<9wî\ 4èàÁƒk×®e0‘‘‘...ÞÞÞm®ÄÁÈ]½*Žb«ª¶hjJ$'SrsUù¥ìŸY$|Øòò5­¾‘â?S<gÎd™ ¯€d ‰ŠŠÚ²e‹………———„„„¨Ã]CYYÙÎÎî»ï¾«¯¯¿wïvrÖ¬YXúcüøñؾªñññNNNêêê÷îÝSQQi½ØDøá\\\Nž<‰ÚµkWDDÄСCétzIIIrrruuuXX˜Z{›}|IŠŠŠ¶¶¶Ø¬‡ .äææª««?|øPVV–Á`tçСC±‹åàà`ddô÷ßüøQ˜/¸aìDž ²³³µ´´ž|ˆzôèBÈÉÉ©±±Ë€fbbâèèxñâE.—ûüùóçÏŸ5j÷îÝíMÇàõÓO?‰‹‹Ÿ={–N§?~ü?oddäééÙæ¦°¼fÏžÍûA„˜˜˜­­­»»;~&???ŽçmohhØæ33³óçÏ;991™Ì'OžlܸñìÙ³bbb¼mˆµµT“‰ªurbLš„*÷ôT_¿q¹ÊG6Ý4zt‡×}$;ý‚§§§“““›››¨c]ÃÊÊ {4hÐwß}7}úôØØØ¦¦&###333|ãR2™øòåËôôt"‘8mÚ4mmíGau1ðò´xŸõ###ƒŸäKa¬Y³ÆÖÖöÕ«WYYY CYY™J¥Ž=Z^^¾Í[Ç/LâââgΜyûöíëׯI$’™™Ù°aÞ>}ŠUÍè0éàîî¾xñâW¯^544 >>//¯¹¹YAAaÔ¨Qªrðòöö®¯¯ýúuqqq]]”””žžÞ¸qãdddx›-Y²dâĉíu‚ßšÖáMž<ùâÅ‹IIIØËäädlÉNüãGlGL¬ÎÑ;IŸ6­ü·ß(……!±ÌL!“øÂæðá´ —»x1óèÑÁÁ“MM…ªòÛczm`|øâä{éé™êã“q÷îtCCùŽzv@§A²ðc³Ùû÷ï¿víÚìììDè2sçÎå-ñ §§§§§×^c333ÞÍ_çÌ™3gÎÞ¼Éo²£5 ‰É“'OžÂ07g´õný?;ø ¯õÂô ì|˘LæŽ;¢¢¢¼¼¼¬¬¬D JëÖ ^·npÇíz\¯ L°î»^ z!Hv«©‰#õì™Tjªxa!…F#þ³6€BD"’“ãhk·ŒÑœ9gŽFc#k×®·Xƒ£GS33isæhܺ55%eARÒŽD"åpÿYÌzäȇúú–iÓ¨ÌHI™çÎôaÃäŸ?/ï0<ÁÝ [Ï{ø°x×.ã/¬^¿žwòäx±ððÂ/*°wÅĈK—ê]»6%)i^ZÚ§OgoÙbX^Þ„§uøtxí™m+( 8:ª76nÞ,1¢YÔáÐ'ÉËsöì©\¼¸Þɉºt©–Ÿß'–îôÅ‹6l=zô¹s礥¥»{8 b0Ø11eÊÊâ~~æ22d„РA²§OO°¶~’–V—›Û ©)u÷náàÁrgΘbÛyKJ’¬­µêêZöíK~õªrÊ”Ï{r»º[½Ú;^¸Pûñã’‡K>}¢khHÑéìgÏÊ44¤Îœ™ .NB .þ¼éôé‘55LÁ è–Éä¯q㔳²¾xW¦/µví {ûÏ[eÏŸ¯Åáp·oOzø°ØÜ\!4{¶›ÍõòJKK«£ÑZ8œÏÉ›ôtZë®:¼GÊ´þÉŽ6Pll455YAA¥jj,Q‡@ß6bDóÍ›ÅNNTͰ°ânÍw„‡‡»»»Ï›7ïØ±cd2üù´«¨¨‘ÍæŽ¯‚=EcH$ÂäÉj™™´üü‡ÛÔÄÎÊ¢ v!Äå".—‹ „JJø§ø*VèèÈ „Y<£(c™Œ¬,ÅÄDùÉ“O‚#Ðmaa£±õ¼É“ÿ“gÁÒ.ùùØK¬$GëO57·Qã¬Ã{É€‡~4ÑÑQ]S“uõj‰¤$l¸@PSc]½Zbg§áè¨~ýz‘œ\·ü›pøðáU«Vyxx¡€0 ”v·NÃ&p¹ˆÍn£MKË¿ÿ5— ñ¾…MµàrùÏügTnÇ[¶ èVøØxõLÍ>XØØÿ³ÙÜsçÒedÈû÷63SUR'“ MffûñövôQìø¹ºR AA¥é  IJr||J/Ötu¥^¾\Òµ¹.—ëííííí½cÇ''§®ìøFiiI“H„¤¤ª†>q€ÍæbÕ4tue¨T 11¢±±âµkS¾r”W¯ªš›ÙøäކÖ»w5_¼Ô×ÇÖMž=+ÃV¬`bbÊB::Ò!­…Fk™7O‹·„jllY{]uxºé+ðm€dÇܸ!/qóf1¬^ Ë©©±°|ÇrK—¶±0µsØlöîÝ»oÞ¼yøðá¥K—vU·À·MR’di9àÉ“Rgçø;ôõeJJ^^i4CCyl}„µµÖÍ›[·¾úñÇAúú2ââÄ¢"zrrõŸæ^½:EL¬ãß.¤¤Hj11e?ý”¸cÇ--©¼¼Æ£G?TWUQ 22!4|øðÝ»wÑXl6ûæÍ›qqqUUUl6!täÈ]]ÝÎÆÞezm`]HÀööö~ùò%BÈÔÔtóæÍ_Ô­Ÿýš!¾†«kõ;2>>ŠnnU_ÙUmmíúõësrrÇŒÓ%á^åþý¢ààÜ={FÊ‹:–ÿèµñá‹“ïeHHÞ;…GŽŒÑÕíü¾E}åRÚ¤­-uûö´Ó§ÓbcË*+›ÄÌÌT]]‡Èb äåÅÂÂ,ÿø#çþý¢œœz.— ©)9v¬ò?èòÌÀ@64Ôòøñ ¡qã”wí2Þ³'™D"HKwþa¤KbëÎÎCÆŒQ Ê).¦ ±t©ž³óü]7·ÒÒäðð‚²²& ©¥KuW¬ÐìèðÚÉŽÏšš!!rŽŽµòò¢/Õ±k×®¸¸Ó½ÍÍÌ4ÉËËKLLìÜXaaa¼gètzçºêZ½6°.$àFgeea÷TIIéK»ò³_3Ä×—çØÛ×]¼¨àêZ-!Ñù^Š‹‹×®]Ëd2CCCõõõ»0BÐ{|úÄHL¬¤Ñº}Çâ/ÕkãÃ'ßËÂÂÆÄÄJ:ý«–mö•KÀ¬[7xݺÁ¼gÔÕ%ôƒ¸8ÉÑq°£ãà6ßusáæ6¢Ã“C†ÈùúNÄ_––2RRj ’% m&d·‚cë|q¶¶¡¡ü?´Ùƒ˜qËÃ-[ yOò.®éÄ=´ ’ŸÅÄH54mlº¬Ž@§…„„üõ×_·ë µµµxBÁÑÑÑÒÒ’@ ô†Ù½6°.Ô“7º·±±¡<©+5{vcçzÈÌÌ\»v­¬¬lHH•JíÚð@ï1ož–±±b/œ2Ðk¬;ÂÐÃ6nL°³8|¸<™LLI©9zôƒÁÂÊX@7dÇgÏžIÙ¤¢Âm‡F <833³»‡ËÏÏÇTTT4îI½6°®ÒÃ7ºM®®®vvv¨Çgv „TTØ#G6u:Ù‘œœ¼nݺ!C†øøøÈÊÂÎo™ºº¤ºº¤¨£hC¯ L°î»^ @{ö¬,2²„÷Œ¬ƒCÏÍÈôCìø,%EÜÔ”Ñ}ý¿yóæñãÇ999ÍÍÍ***¦¦¦ ,çmÃápÜÜÜèt:•Jݾ}»³³s›]566^¹råõë×D"ÑÜÜ{^íÄ ...¼9…7’ÉdYYYÞj...¡¡¡ÏŸ?¯­­õóó»sçÎ;w°III*•:qâÄ9sæP(Áq^¹rE˜Ú"Û¿zz:BhöìÙkÖ¬Áœ;wîùóç¡qãÆmÛ¶­¨¨èçŸn³g…sçÎuØ@È ˆþ[ö‚ïBIIIµ÷…¼Ñ| Æž={JJJBêêê–îx™=‡Ã¹qãFLLLSS“‘‘ÑêÕ«ñÔFDD_Í.—ûäÉ“ØØØââb6›­©©9tèÐiÓ¦iii á=ºéõëÎ< EEEmÙ²ÅÂÂÂËËKBB¢Ë½Jëzl6÷Þ½¢ØØ²ªªfyy133ÕE‹´ùÖf¿|YñðaIaa#™L06V\¾| ŠÊçmñ*,'(('?¿AEEbɉÿS©©‰}õjnBB—‹ÆWY¹r```vll¹ÏDYYJëÀ„ìVpl= ½ú?Ö]½Š­-—´±Ñ7N™÷ÝÒRÆíÛ…ééu55LUU‰I“ÔæÏ×"‘íõ)Ì=ô7>>f—/g}üX[]Í0@rÆ ª«ë0))ø“Ð ÙñYq1EW·[Ö°0ŒmÛ¶=~ü˜÷äíÛ·Ï;çëë;xð¿)m__ßׯ_#„<()Ùös`YY™ž ˆŠŠŠˆˆ8p`'}ûömYÙ¿Ûz¿yó!¤  €xª9ÈË˯_¿>&&kÃb± [× 144 Â>. Naj‹ìãÇØ%:t(Þ ;;ëVNN!D§ÓÛ›!Òa$ô]p¡|Aan4ŸÆÆÆuëÖ½zõ !¤¯¯ïéé)d¦ÃÅÅK0!„ž>}råÊ•Aƒ¡¶jvüôÓO|8pàСC?üðƒ0q OO¯åÖ­/ž”æáá±hÑ¢C‡‘Hð7¤o_=ƒ½vm\RÒ¿¥mïß/ Êþã eeq„‡ÃuwÃ[æíÉ“ÒÀÀìÀÀI#F( ªT=ÁÊêólêúú;»giiuxÅ::Ò‰‰•,·ÍÀ„é¶ÃØZKO§íßÿNð%ÂÊÔ nƒk³¾FLLÙ©Si--ŸëU……åïÛ7jÕªÏupbcË_²Ùÿ–×¹u«àúõ¼À@ l…/½G€þÉÜ\ÛŽz $;>«¯'tÉF˜­¹»»cÏÌjjj...T*õÖ­[………=ÂwÓÒÒN:…úþûï§NšÐ^oXAFFfÛ¶mT*õÚµk·nÝêÄ gΜIII9pàö‘ .ÈÊÊ’ÉÿùG⯿þ¢R©ÔÕÕ%‰ÒÒÒ¶¶¶S¦LÁÞmii)((ðóó+,,LKKóôô–””ܼysÅŠL&Û‚TEEEÀúŽ‚‚l½Bh×®]ØíÓ¦M³´´,//ÿÒAMLL°-]1cÇŽmýM"‘®^½ª¡¡ŸÑÖÖÖÖÖæm£¬¬¼iÓ&„Pdd$–ìàÓÝÝ}ÅŠX–––••ÿþÅ=++kïÞ½¼]M›6ÍÑÑQ˜ÀZ?«ã$%%MM?ÿ•:--Í××;ÖÐÐðññ¦PÀ…jï« y£yÕÔÔ¬\¹òãÇ¡)S¦œ={˳´7ï2™|éÒ%yyy„ЀìííBéééIIIãÇ稱ñsù uuõï¾ûÏ×üòË/4Z×Oz"‘›ÝîMäÃf³÷ïßíÚµX·¾ml6÷úõObúþ{m¼¬ýôéÔ¼¼ÆÄÄʪªfeeq6›{óf¾´49,lꀡ©SÑ´i¾û.¡6Ð-—‹„Œ×СrÁÁ“úõÓ%¦OWÇÓ³gk¨©Iž>vófáŽÃB––FVº}»àîÝ"­…Íæbs@’’ªZ';:¼G=¹fý$;º×Û·oñã“'OâèøÓã›7oV¬XñàÁ¬Åþýûñ• ­¥¦¦âÇæææØ…B7nþp.ü ÂÄollÌ›é@q¹Ü˜˜˜¸¸¸ÂÂB:Îb±ðnkjj †¤¤$oœ–––ظ¸øøñãyWI444ð-'éÚýV²²²V¯^]WW‡RSS âû.í5èÄä»Pí}5!o4/|ꇕ•ÕÉ“'ñ.Â\=###,Ó233#\.!ôáÇÖÉŽ!C†¨©©•——§¥¥3FKKKWWwøðá3fÌ011&Ô¯WQQÁb±ÔÕÕyOb¢¨¨(///++«ž‰ôBt:ÛÒrþRP³²Ò¼z5÷ï¿ëtueª«›•”Ä]]B\.ârB¨ºº!”Mà ü'c;b„|bbem-SYY¼  ‘Á`Ï«‰e:0zz2cÇ*¿|Y!8BÝÑ…Œ—¬,ÅÔ´ÛË3ÛØèð½<}:íï¿?¯ây÷®ÆÙ9¾©‰¿zw}}{Ívx,,Ôº:|€¶A²£{1ÿ=Å .ð©­­E1™L„™L DÕ××ãm6oÞ,..~îܹ¦¦&ü$ïB ¾EB* ¾mPØl¶ƒƒ>k£µ¦¦&IIÉö┑‘iëC=´cš››[7ÈËË[½zuMM BHYY9((ˆ/  A'. ûÅy£Û̃¤§§WWW«©}Á£ï§P(   Í+&!!qéҥÇ'&&²ÙìüüüüüüØØØ .lذaûöíÂÛi§NJHH¸~ý:~ètúÆß¿Ø:Aú•æf6BHAAŒï¼¼<!Ädr[BÕÕÍ/^´‘•hjúw¡"_'bb$„V–{ª—•åÿ#>CÝ ¯.¯ÙÑ&9¹ÿ„­  Žþ¹¡½{“››ÙK—êš™©*)‰S(ÄÆFÖúõ/jcfV‡÷èkâø"ìè^¼ÛXøøø´~ÚÇxG±X¬6 gbÅZZZ¨T*~²  _ÜÁ»wÉ—úEž>}Šg:ÌÌÌ$%%ß¾}{üøqÞf¼¿Ìâqæååñ64hoí ÄS2£=ø¼Þ|DNN_³âââU«VaK{ „oðõPðWëðFóžœ0aBUUUvvvNNΊ+‚ƒƒ±|‡0W÷ŒÒÒR,Óâý‰Ve–Á`dggÅÆÆ†††"„|}}]\\ø6êr999¡¡¡\.wíÚµW¯^•””¬¨¨°··¯ªª 644ìÖÑA罹&úð¡–ÃáòV¸HI©ÅÞ¥R% 4r¤ÒÏ?hýq==¡’­Ø„ŽëxOr8Ü´4asÄmê\l=S³#5µ–wû•””ôÏu¨­e4Μ©Ž/ÏAµ™¯Átx¾2TáA²£{™šš*++WUU!„bcc=<<ÄÄ>ÿ䕞ž±`Á„ÐÔ©Sù\?~üˆûôòòRUUUPP011‘——Ç–]œ;wîìÙ³d2³û¦â IDAT9>>žoöƒv^¨’L&»¸¸ÈÊÊ677ð5311QPPÀ¦?øúúž:uŠD"=þœ/N¼v†´´´°eoÞ¼Á–Ìܹs'##ƒ·MyyùÊ•+?}ú„’••½|ùò°aþ¨Á×_Àö¾š7š·’’’———]^^^nnîòå˃ƒƒ©Tª0W/''çþýûóæÍãr¹gΜÁNR(”I“&µn\SSséÒ¥E‹1Kv°Ù쪪*¾E@]îØ±cD"‘Åb¥¥¥mÚ´iïÞ½\.7$$DGG§ãσo’’øˆ ©©µžž©Û· “ \.úãìçÏËUU% åI$„ *IIU¹¹ K–èP(Ÿ+àÑCBòÆŽUÜ?>Š¡¡|jjí… ë×& l6÷äÉ´üüƯ ^AA¬±õLÍŽ³gÓÇŒQ26VDÓx‡š„PttôäÉ“UTTrssŒŒRRR¾tÐN˜0a‚˜˜“Éd±XÓ¦MÓÓÓËËËÓÓÓãk&..îæææáázøðáäÉ“•••srrŒyãì„9sæÜ¸q!”••5}út…’’’áÇcõ;1OŸ>-,,ÄŽeddŽ9‚¿¥  pîܹtßòF·þÔ•+Wlmm‹ŠŠòóóíì삃ƒù [´ièС»ví:sæLcccII vÒÑѱÍ4ÍÍÍ.\¸pႼ¼¼†††˜˜V^!4xð`a†ûïÞ½‹ŽŽÆŽY,V\\Üÿþ÷?mmí“'O ¹õ èÜÝÖ¬‰óó˼~=_GGº¤„^YÙŒ'‘¡}ûF-[»{÷Û#GRtt¤ÅĈÅÅŸÛ¸º%“…*C½uëðõë_?žzùr–¦¦Taa#Ö2t¨\z:­ým :Ö‰Øz¦f•*±dIŒžžŒ˜1;»¾¥…ch(?ož&BˆB!N™2௿J-,"__ß’—×ÐÞF¹˜ÿ³wßqM]íÀO3Œ°d‰âÞ«Úâ@°Öj[m«´¾mµÖõj[µj«M«uµnÅõU±(8DAÀÈ^a†I~\×4@ˆ€ÂóýôÜsÏ=ç¹74’‡{ŸÓá{Ð=ºð‹Ð̸qã.\¸@"‘jjj’““333<==ÿóŸÿ¨<^Ñ¡M›6aV”—————óx¼êtRœ½½ýž={Øl6B¨ºº:--í½÷Þûâ‹/Z÷œ?þæÍ› Beeeååå¿ýö[¿~ý°½*ë¶jnܸqÿùϰû,ÊËË¥RéÑ£G]\\Úë_RR¯äÉ“'vÐÑì4KKË“'Ob‡‚‚‚ ux”££ãáÇ% –é R©+W®\µjU›MLL¾ýö[//¯šš>ŸŸœœÜØØH&“Çøða5ËßhÅ–-[”W–Éd÷ïß÷ôô„LPæïo~ðà0{{ýêjé³gU"Q“…íçŸ}gÏ~YÔÕÕðâÅÑcÆXJ$2>¿&9¹J$jrp`®^íßLÑ¡qã,wîôa±ô**šž=«R(ÐÏ?û²Ùt„¾>¥ÓÁk%6]ذÁk«œœº/jš›åþþæýå‡ôÃÞ~~¦‰,9¹2'§. À‚Ç¢f´ß#@Ïz÷€Ã+¯ï ârà—ñ/¦\ÜÿpXRXN…êCÊ¡yËÃü‡§ŸžÞÿpÿ•´+¢ÕýÞä³t?‚r¡ÇÞª¾¾^(ªïãììÄã §M«×]‰$//O,›šš²Ùlõ_økkkù|>özРA*å¤Rizz:‰Druu%“ÉyyyØ ª”6P?i]]~O„þm3++ {ˆÃÄĤu*¡¥¥%??¿¾¾ÞÁÁ{¬æÅ‹­iç´iÓ°GN-Z¤²lªŠöS>)"‘èââB$³³³±m]]]ËÊÊrssÛ–B¡ <¸Ã­çj謹PšhïnsdåÈÍÍÍñä‘ •cåryfffcc£‹‹ ƒÁè0x,9RUUÅd2ííí;™Rïúufh(;++!ôÏ?ÿ|öÙgmv[·n݇~¨‹€éîó³¤DRPÐàîndhø¯,C~~ƒHÔÈbéõëgÐf"®®®9?¿A.Wp8 “WŸŸ……ââb1—kÌ`T½¼ŒéôWÍÍòŒŒZ„³³\®;ö|çΤ6Ó|X5±é‚Jœj ‹‹Ål6ÍÚšÑæ8Ba£µ5Ý‚&“)?®01Ñsq1l=&®Ã÷tšòç'è­t÷¹ºóÎÎ\]rÕÝâ *†õ´èéÚk³DYʳ=go›ºBzùÙ²7vï‘„#Õ’W”ÈDòÊ€•ŸûŽ·¼™gÞ|ð¹ú¶`2™ØßÝ5ÉŽ—º!ÙѧˆD¢ .a(d2ÙþýûwïÞí=wîœJNô5ø?*2™lâĉ@.oc¥°{÷î3ft„@s½ïóóÈ‘ìyóìõõÉ¡úú–M›’®\)\°ÀñûïõthÀ/å}B_KvœK>·.b—•—›¹‹ÎʩȉΊ–)dK‡,];n-ÖgþÉùÏJžùr|LF¢ 1©8 !´}Úö9^s°>oæÙ7|®¾-^7Ù5;€N466îÚµk÷îÝ666,«  _®õÃ?„LÀ;w®½Læ›o¾qrr‚ÕX@wúå—´;Rííõ)b^^ƒDÒÂ`–-sí鸠wòáøD/潪\ö(ÿÑÂ3 ÿ~þ7žìX1b×’Ë¢¿*ôóÝŸÿxøÇÅ”‹x²”A²脹¹ùŠ+Î;WPPPPP€5º»»ôÑG³fÍêÙØÀ›C,ïÞ½»Íû˰g—&L˜°dÉÈt€nöñÇ®GŽdeeÕa›ýûýø£7‡ÓÆóð–’4KneÞ*ª)b°Ç;7¤*ï­–Tß˹'¬êë默¹ør|uZ½ËÉTµÚ0ûaF4£†¦W+atT]êC¿ÿxø‡òƒ-­Iš%ÇK[¤ ¼˜éë¼ä3àÉ T*õË/¿üòË/{:ðF;|øpMMr²ƒL&Ëd2ccã… ¾ÿþûP ôˆÐÐþŸî&ˆ++›,,h66æô*y•yË/./ªyYìܘnüGà¾_l3,)ì‡[?4¶4âýû[ô?:ÿh{É‚âÚâ Ï.¨ŸÑÕÜuŠÛÍ#L.I®i¬ p PÓ+P:€= ½eõeŸ\ø$K”µkæ.ÈtÐA²ÐSÊ:$“ɰ …ÒÜÜìááñÑGMš4‰DÒh•Pt„D"ØÛëÛÛë÷t  }›þÙD!R‚QÉÔy²DYŸ^ü4ò“H%i–|ëû¦–¦ÑýF»š»6µ4eˆ2â â*Å•j’¼žú§»Oï0Ù‘R’-•Ió«ò£²¢ØLö† Úë¬P(vÝÝE!Q– [Öf~ÿãóËò3!g¸V\õSz%HvzÊ¦ÆÆF@ ¨Têܹs.\ØÞ3Ð ¦EXH“ÊDɲÐðЛé7/¦\\:diƒ´¡©¥iÞÀy[§nÅûg”g˜3ÍÛÍÚÐ:4 TýŒ®æ—=J)MÁ“&––¿¼óKëÇ[p;îìˆÊŠÚ2yK›#ßκýå•/L´2´êpj@¯É@(/ÏAèB¡ptt\¼xñ»ï¾«¼,.tç“¡Ÿ`™„‰@úrä—7Óo& —Yj¦oæÃñ‰+ˆ‹ÊŠb;ë¦>U¡I²C\Knh@¨T&-ª)ŠÎŽ9òíØo—YªÒM¡PlÚz$áÈš±k‚½ƒ[sìñ±K)—Æ8Ù3kƒ¿]ÐwA²Ð®]û ¡Y'O¾;lذžŽè[lY¶Ê›Ø2(55Øæ‘ùGþŒûs÷½Ý™¢LKË¡vCƒ½ƒZlo4mÕìàZqñçM*ÄÇwDï˜9`¦Óï#“ËÖE¬»ðìÂwã¿[â·¤ÍqngÞ–+ä³=gC¦€>’€î&“ÉÞ}÷¿Ož 6 Ö3º[au¡·7¾)¨ „ŒhFØ&ƒÂX°reÀJ©Lš^––6çÄœCsqÓæhÚªÙ¡Ì”a:Üaøùäóåx²C*“~qå‹ÈŒÈ 6|àûA{Çòfó~¾ûó—W¾¬kª›?p¾æ“zHvº‰D22‚h€žq0îàx—ñúzú!™B¶çþ„Ç!TV_VZWêeå…Ò#éq­¸,:ëlòÙË©—ÛKvt½fÇÃü‡¾_ ‰‚·”Ö•ÞϹ2e˜b-âfñ'>‰+ˆÛ½ôéºëª%ÕíU0ôzì )«/›tpÒ8—qz$½Ø¼ØLQ¦1Ý8ˆ*®-žs|Ž›¹Ûö¶»¦±ævæm„š¥[»^³ã§èŸ„õB‹#—Ë5‚û¹÷%Í’AÖƒÜÙîXŸÏ.}ö(ÿ‘›¹[EC…ò$z$½å׫ H§ÐÍ9ôŸ«ÿÙyggµ¤zÍØ5] ð–‚d}È'ýw[Ô¶3OÏ`›Ætã?ÿ`ÑY! ¦Å@ëÉÅÉéåéx?[¿•#Vê.žÇ€cE¤G(7Žî7zçŒøfAUB(½<]90„Õ u²!D!Q~õ«!ÕðPÜ¡šÆšï'O"ªöô-ìйÇ3·oO=ujäСífÄ{ÄXWH¥òéÓoçæÖ{z²ÂÃǪï¼zuâ¥K Óõ4¿¤D²ukÊãÇååšLèŠwvxtàê’«îî=Ë+R™ôvæí+iWøeü²ú2cºñP»¡Ÿùæbæ‚÷)«/ûÿ‘‘¹•¹55VVcÇ~æÿ~?6zSÏлù;øSÉT?ŽßÍoÞʸU\[Ì6`woH3Ä:XZ_\t1K”•Rš"¬š0L¸V\]L}=úëO‡W—_•ßÔÒdÁ´ðáøØÛ+÷ùÀ÷¼„ª2=Ò«ßâ°³3c¼üÍ–H þ8õG/k/a0U˜:ЪÝ«€^ ’ WÙ»÷Ei©Dwãÿç? ºðæ O ÿîÆwøfY}ÙÕçW#3"ÞxG­ _™(HÄûT{|ìÆ‹]°6´îîˆàÿp1ÂaöúwÚëælæìlæÜ]A!„¾žþ8çqj:¨©HŠS>;Ô( Ï‚d‡Î}ô‘ËG¹tܯ۽±uZVVÝÁƒ™«W{üøcŠ.Ư­mNH¨<Øä?†™šRu1àÍG%SçxÍ™Új‹þF4£ÜÊÜ_îý½=zûù÷Ïc}ØLöÒ!K'¸Lp0vЧê' 7ÞÜXX]øÛƒß¶MÝÖ³ñô콄BÖ­{:t¨Y` ½Ž’Ø=#¾¾fé /›å1k–Ç,|ÓÝÂý÷Ù¿{ïö~.|Ž7òfÿkÆ‘Ž#w¿³{Îñ9ÉÅÉÝ(@Ék]£¤DòÛoü{÷ÊD¢FKoøpó+ú;9à‡44´:”yãF‘@ &“ \®ñòå®/×ß¹3íÀŒ«WÇñù5‡eæç×›™ÑæÌ±[±¢?‘HÀÉʪ۱#5>^¤P ??³µk=ÈP.Q¡˜†ÃªMG4™ôÌ™ÜçÏknÜßÞ ÙÙu;v¤ÆÅ½º ¯5ÑÌ™Q|~ BèàÁŒƒ3B{öøÍ˜ÁÁ¯[rrÕñãÙ¹¹õ‹õ[»–ÛÜ,ˆ(¾x1?#£¶²²É‚>b„Ehh++:>]‡ïsòÉÉcÕY0-朻|øráe¹*IÕÁG#3"…õB}=}g3ç…ƒNvL Ô©E$"‰D$ÓÕôégÒ!d@5PÓçÿÚêk«û›÷?0瀚…@‡ ÙÑÝq`àŠŠ&lS$jºzUUzòd—kŒª©‘ÝÏ̬Å:45¡GÊãâÊwíò5Ëçøñœóçó°×ÅÅbï…B¾øâeù¨ì캹sïÖÕ5c›wî”&%Uzz²: Oý°Ʀìñ㊠ {ê'>óë¯~ííÕdÒ²²Æ;Ó¾üÒÃaÔÖ6·» ø®6/H'Îwð`ÆÕ«ìµ\®@ݼY¼jUÞ¡¸X|þ|ÞÝ»¥×®Ç~èk<<ð?þÿ°×‚Áî{»s*r~žù3Ö²ôÜÒg%ϰגf‰¨Aô(ÿÑõ¥×]Í]Ûí±àqÐÉ õ3NwŸþë¬_5‰­YÖœ_•Ï‹áIš%+F¬PÓ[e`ºûôö:üþà÷_c~ê6uçŒT2Ü>Ð%ìèn[¶$WT4ùù™®[çåäÄ,*’ìÞýüæÍâï¾{zõê8„Ðöíi™™µ“'[/_îêìlØÔ$‹‰)Û´)yË–g“&YÓé/ÿ˜ù÷ß…7zM™b£¯O¾u«dõêÄ'rBCݱ¿enÛ–ZW×Y(”„‡îÙÃ?>ï“O\QÞ#úšˆôˆïÆ7Ã}•L½—sosäæ+iW¹þþeõeÏJž9™:혾ÃÕܵ©¥)S”yìñ1"¨ë¨N?=½ñæFìµ9Ó|Ýøuú}Ø^çìŠìíÑÛZ ön½W*“®½¾öJÚ•Ïü?[5rUwÞ“Ð[A²£[I$²»w…¦¦ÔC‡ü™L2BÈÙÙ€Ç2cFŸ_“›[ocøzµÐÅÅð÷߇b¿îÒé¤3855Í›6%%$ˆFbcC­\ÙÑ¢—ßígͲŒ,Žˆ(.)[[3ÄbÙýûBkkÆï¿¡RI¡Œþøcè¸qÿTUIÕG¨fX©T®alÊ|}M³²ÞíôÓdÒ¨¨ÒÈÈâðð±$RÛßZ_ÖþýÃÆû§ºZªùDjâ\²ÄyÉ’-Ÿ4ÉZ&SìÙÃçókjk›±Û=Bééµm†¤ù{@_ó¡ß‡Kü–`¯g˜)WÈ¿ºúUDz„¿ƒ?‹Î¢‘iƒ¬ ´ˆ¢Sè~¶~~¶íÞ)†òåøf}›¥Ý+*æ?œî>Ý‚ÙÆ3}yUy‹Ï.6¡›üø™¨úÏnECŦ››RJSvÍØ5Ûs¶vè³ ÙÑ­‚™Láçg†e:0$aäH‹ÌÌÚüüz¹\ÑØ(Ëʪíß?!¤P …B½@¿ZT¯‚±³c"„Z”f1žEc (ÞÞ¦QQ%ê#T3laaƒ†±iQ‡“ŠÅ²M›’>þØÅÝݨ½AÚ¼ ††oo“èèR 'R爪ßp°’(­{65ÉÛ IÃ÷€¾f¤ãHåÍQýF!„ò«òBz$½­S·nügczyúP»¡ý-ú±bcdÓ Q{{7µ4×_L¹xàÑÅg_]r/&‚á ùžûЀjp*øT›©á+ê›êÌ?¢rš + ÙÑ#ííÀþþ¯P ™¬>ÍÍrü5ö¯ß§±› Õ–ͪhw^M†Õ<6e]¬ÙÑá¤÷ï KJ$û÷gìߟ¡¼+5µÚÙù²éÙ³£ÔÏ®áDêW©'*“)öíKg2É›7>ÜÜÄ„J&Êˇ¿¡Ü­sï}Bø³ïx¼3ÞeüÃü‡)%)×_\ßxsã0ûa»gîfR™m®ÝšT2ÕÑÄñëÑ_çUæE¤G¤–¤b÷˜às}rás}ó N´™é@Í0ëLÒ^ ÏËÊˈÖnÒ¼Hvt+GŸD"<~\Q_ß‚ßÜ!“)°J ööLKKšž‘Ë5Öð+ºšY*ššdøõõ-ÉÉU] žÑõØ´>iDD±ƒ´qAjk›Ÿ>­Ô|¢×R[Û\[Û<}:G¹²é½{Bõ!uý= WºŸ{ßßÁß¼›s!dDzÃ[ôõô'¸L˜à2!”^ž>ýÏé{c÷®»¦;ƒ”ʤ¡zi=Þ½2|¥-ËöÄ‚j–V òj?ô««_Ÿ >2ÿH{9ðZ ÙÑ­ètÒèÑ쨨ÒåË­]ëÙ¯³¸X²g?#£ÖÝÝÈÑ‘‰š1ƒséRÁªU |àܯ“J% ⤤Ê3grOŸ¥§×qÕ=ƒ`q÷®044þë¯=8F^^Ãöí©••M] žÜ‰ØºX³£ÃI§L±V¿¶¶yðàÿyz²ÂÃÇb- iäHö;¥+VÄ+(Å vtúìÚÃbéÑé¤ÊbbÊ|}Mëêš##K~úéÕS-:z蕎$1gšÏtŸ©GÖ»—sïû[ß#„¦¸MA=+yÆ‹áÍõšëaéÁf²«%Õÿ¤ÿƒ*¬.lo´®×ìøòÊ—Þ6Þþþ#Ž\!/¬.<ÿì|TV•LåZr±>ÿãÿï«¿¿r1w9±à„ú%iBÓúO3¤~zéÓy'æ_p\9:’ÝmÆÉÉU•Ïš72¤­[½±×ëÖqùüš«WøR¦8ÍŸqøî;nbbÅíÛ¥·o¿¬IÁbéùû›ÇÆ–“ɝ󝕨zdÒµk=+¢£Kñ",–^@€…òê'Z<;99’µxñ¼ñÝwí._.À7uôÐûLv›¼õöÖ­··â-³yôhöÙ³£ZZ$A_¿ó.­ÄÖ#“:9\¸0zÜ8K}}2ƒA9Ò",l”…Mëá¾ùÆcÅŠþ¶¶ ==¢ƒó›o<6m¨ÜAGï½ÏòáË7LØà`ì@!Q8FœU£V혱Ûåeåõç¼?§öŸÊ1âè‘ôØLöxçñǃŽOv›¬»x~÷÷Ïý?÷`{0©L=’Lj3ËcÖù÷ÏÏ8¿+òt&ä ‚O?)z¢­h@YXRXð©`¬ÆsIeÒ# GBÃCCN‡¬X5&&|wã»ÅgŸ ΩÈéú,šÛÿpð©àº¦:]O”]‘ýãí—œ[²âòŠ“ONb1Þ@„¾P±¾¾^(ªïãììÄã §M«WßííUZ*™8ñ–ãÚµñ= h[Ÿz®_g††²³²²{: ½þó€7 |~öºû\ÝygçG®.¹ênáÞÅ¡V†¯¼ñâeåuOKÏðÅáó¾æ}¼Ãå.s­¸]œEs«¯­¾”r)á‹„ìŠÈŒÈ/®|¡œààZqO.8©¯§¯»I®ÁçêÛ‚Éd²ÙlÍûÃ{­Ï>‹ v0ÀˆL&¦¤Tmßž*‘´L™Ò+2 Á{€·‘¸Y|ãÅ ŽgõØÕ¦ Sì«þ…gB¡¡>2‘ÜÏ´_O‡©eU’ªo®}#•I¹SûO­’Tí‹Ý—R’²ãÎŽÍ“6÷ttUìèµîßþóÏ¿V*qr2XºÔ¥§â­Á{€·QQMBh’ë¤iý§)7Ò)ôЀО‹K·Î'Ÿ¯oªÇ㟦ÿ„µ ·>ñàÄóÉç¿ýM{Kžz $;z­†9’õüyue¥”ͦo¹reCW•5@'À{€ñ\øüôÓÓE5Elö¯9¾_|×¾Ø}1¹1æ0 ¨4žw˜Aa¬½¾–_ÆGÝH¿‘Zúj±9~_*“Ÿ F `X?áe!‡ù#Ò# « ÉD2×’»À{¾ wXRØßio›¶­±¥1,),·2w¢ËÄÁ!êB5¶4žyzæQþ#RøÙú-¼P‡ëÿ=È{€Zä³o±4°œì69<5<®0n¼sï €· $;z-s󞎨ïºßÝ컿ÆüÚ,kÆ6/<»°iâ¦÷}^–ÛȮȎ/Œo‘·(ò²QÖ‚((U˜ÊòB%µ%%µ%*ƒÇÆã¯å ùškk.§^Æ[¢²¢Ž%;t̃í*¬.Œ/Œ¿ñâ/†‡Âp1sé𨺦ºàSÁXÂÛ{ýÅu{–½ú³N/OßüO› ·¾2`e{{3E™$"ÉÓÒS¹q ÕÀðÔð,Q$;xÓ@²€>dÏý=Wé‰ IDAT£úš9`&•L½—sïlòÙný0Âa„†U6¶NÙÊ/ãwã»™f ÂÛ7ÞÜX\[|xîa„¶÷ÁG/§^¶eÙ†x‡8™:IeÒ˜¼˜³IgWý½*â£"ˆÇ3ºßèiîÓ, ,­ ­:}Z¹v퓬¬%8f϶ݶm0…òzùÄNü`œ<™³eË3¹\þÿt^kFÞd±y±˜è:QýCÔšØÿpÿ®»»°×ž–žAƒ‚ò«òVKª±Æ±Nc-˜]œEs‘™‘—R.½ïó>¢«ª$Uk®­‰Í‹Å«.¶ŒD&éh:À[!hPШ~£<,=ö½·OX/,®)f°­ ­UºÍ0s’ë¤ôòt2‘ìbæB!QlY¶óÎÓ§¾üÕÈÞØþTð)•·LÙÒ:‡ÛÏ´ßṇëšêò«òå 9LjcÂ0Q‰{$Dó£Bïx¼3Í}ZzyºB¡p6s¦‘iž–žÜÀÖ…KµK_O׌]ëǯϯΧ‘iΦÎ$"|®ð†‚dè[š›å{öði4ò{ïÙ™šR-,h¡ùó++ÕU W/3³.;»nà@77‹š“S]^hjJ]»V·Õªd2ÅÎiT*Iùt*šeͼBûž)ÃKjüÿgµ¤z„ÈÖÉD2Û€Ýá8o—JqeTVLë<6©(©JRÕÓzž-ËÖ–e‹½f3ÙÊ«·ª ’©^V^ø¦“©““©¾É 0Z?âÁn÷Þ ª§¥§úx4? C&’•gT‰P§Xt¶„ àMÉз‰e!!Ž›7ÄçÍSý{Âkññ1‰Žž¤|È£Gå Æüý·@×ÉŽ’ICC‹ÊéTÕIeү͓^-:˜[™K!Qþšÿ‰Ð;ÿ(gÊ0=0瀿½?BŸzx*$;Ч@²£›¤¥UÇÇW( __S//ã6û‰ccËE¢&##ÊСfNN¯nÃ{ð ,1±rÁ##½¨¨Ò¼¼:33Ú„ V,–^'14¤DG—æå5xz²¤áÈOŸV¦§×VUIÍͩÇ›ÛØ0ZÌd’oß.-*;80'L°"‘¡²²Æ¨¨Òêê&//Õ{Ñkk›cbÊ ("—kìç§®v>Ëç× „^¼¨åñ^(ïÒÓ#à±´IMœÊ3l˜¹‘‘^CCs‡!iòƒÑÞÔ­OgÊkWWÃ'à­#i–ÜʼUTSÄ6`woH{õs~3ýfzyúÇC?V~k\6l•L=ýô4¿ŒzQþ‚ÃÃûäTäa!#›@n Ö^ÛX“SX]H!Q¸–\?[?üy‰ -0¤FgGçUæyZz8¨? “&L‹/ˆW …/ÇWù¥ºÃ¢³Æ;Þ@ìÐ9¹\±qc’råÈÇÖÝvíJ;t(S&S`›š;×~Ëo2™€Š-?p ÃõcGjvöËÚ,–Þ‰îîF¯5ˆ««áöí)!´d‰3…Bìpä´´êU«+Ý$ Ÿ~êºjÕlóÿG6ؾ= ¯ë9x°É±c#nß.]½:Q*•ÿÿ¹÷S¾áüù¼L©¯UÓÏÏlß¾¡ÆÆª©Lq±øÂ…‚ö.5ÆÕÕpÊÕGO1gμÌ$&V$&V(ï20 ¨Iv¼nœÉÉU55Ò€uÏÿkøƒ¡fêÖ§Ó¯’ ÷É«Ì[~qyQM¶iL7þ#ð_Ž/¶ùOÆ?WÒ®¨¿Àû.¦’©g’Î`+$ ‰*ƒcé!¶C°dÇùäó?FýXßTwð³õÛ÷Þ>cº1úÿ"®æ®Û£¶ j¡%~KÔ%WÈ7Þ܈WEE…x‡txÖŵÅž]PßÇÕÜuŠÛ”‡èƒ Ù¡sGf‡…å‘H„‰­mmÙÙu§OçS•ûœ<™³€Æ³rrb âÈÈâsçòMLh_=ï¶~ýS‰äÀ`ïÝfeÕmÞœ6êµÙ¸1‰B!Ì›goiÉðö6yô¨¼Ã‘ssëóóëGŒ°èש¯O.+k¼¿lïÞt??3åïó›6%Óé¤G‰xãFÑ“'•[¶¤\¹RàéÉ4ȤªJzõjáéÓ9AAXåÖ­’µkŸ’H„±c-œ ¤Rùƒe ¢o¾I<|xx›³¸XÂãu°ìÙôéœö’ 8òù5gÎäúø˜Žñ*ò³gsÅâv)Ð0Δ”ªèh¡T*ËÏoˆŠ*e³i6¨ûã­&?ê§n}:é½Ò¦6Qˆ” AAT2õAÞƒ,QÖ§?ü$RÃç¥ ZÀ/ãŸyzƇã3ÂaÞ~6él•¤jùðå!#„ЭÌ[ko¬%HcÇ:™:I[¤ò$&|ó¿oÏ=Œ¸ñæF ‘2oà”6MwŸÉ€6A²Cçþü3“H$;6bذ—OpܼYüùçqÊ}öïÏ@íÝ;tÒ¤—ßÒ““«æÏ¿{ôhÖ矻Ñé/Ÿ'·³Ó?vlFB}óÇôéQ‰‰õõ-L&YóA,-igÎŒÒ×ùÖcÉõ#{z²nÝšTZ*æókjk›9ýI“¬Nʽ}»D9Ùáädpôè=="Bhɧ "ÏŸÏûüs7ü!CÌÖ®}]Š%;víJ£ÓÉgÎŒôô|ùE¡@+VÄݼYœ]×úÙ„µ5=4Ô]ýWó…?8øevÀ××44´?Þ~÷niNN}{GigJJ5žˆ±´¤ÿò‹o›§€ÓäCýÔí½ŒÓ",$ŒIe"„d YhxèÍô›S..²T“ýƒ±d‡/Ç74 o¿›}WÜ,VnÙuwB?r¯‡§P(V„¯¸™~3»"¯{gi`y&䌾ÞË2=SOQÔŸq Äcó ³†u¸™~óóËŸ«ÛÚÐZ9¶6¹šwf%H€¾’ºUT$ ,ð/´¡É“­¹\ã””—µâЋť¥Svvúø^Œ•]¹–³hiQ¼Ö ú¨5##„V¯NÌȨur2ðõ551Ñ£PHR©lÿþ …BeÍN§“ )ø%!ƒŒjl”!„*+›B »w?oO]]Û¥=»X³£4“Ë5ær_Þ—^QÑxgÇŽÔ™39m.«ÉFç.½Êª„#B¨¦±F»³TŠ+BÕ»ïín½·®éUÑ"cͪmªÅcVÆ1â¨Ov@Í€®€d‡nRBX5PeÊ-FF„Pa¡jŸ‚‚|o‡4„L&jûK - ¢Ï­®‚âók°§f:ÍÈH!äìl0mšêw„—Ûö£ø]¬ÙÑ ‹ÓÔ”:|¸Åùóyµm&;4ûÁèÌÔô>…Õ…Þ6Þø&VÔˆö²‚2LC5H”«`׿î,Ø€ÎfÎÓúOk½—kùji2‰¬ùQ†TC|XîëkJ¡¼Ê"•–Jîß"„LM©­ÇDšý`tîÐûŒ;8Þe<öäˆL!ÛsBȇãƒíµ6²FÝɾ³pðB¬%&7¦õª+²2´r0v(¯/Ÿâ6E¹†B¡ˆÉ‹Áëq¼îQ$"‰ÍdÇæÅÆÄ µŠí½™~Sýmjvt $;tnéR—­[S-ŠÁ݈Ž.51¡b)`–/wýï“—/ˆ-ºQT$þçŸâ–Å’%®Ê¨§•AZc0H®®†qq¢yóîúúšÕÕ5ß»'ljjwíÍ­YãùÙgÞy'jøps''*•$ˆ““+qZÚ;$R1wÍMâüé§T¡°ÑÇÇ„ÃÑ—Ëøþý2‰¤eÐ c|ùÞÒRɹsù¶¶ŒwßµÃZ4ùÁèÄ% ÷)«/›tpÒ8—qz$½Ø¼ØLQ¦1Ý[)!4ÎyÜžû{¾¿õ}Ba‚‘M¶(;:;ÚTß´¼¾üu'Z3vÍg—?{çÈ;Ãí‡;™:QÉTA ¹8YP#Hû:Dlûÿ¸Z:téÖÛ[…-ÂWc‰ÎŽ6a˜`À´G+5;þJø [·B\Ú»—L$#„>ú±òJ½½$;tnñb§œœº°°¼ˆˆ"¬%8ر±QvéÒ«Ú ö+-mÈñÄãç“Ïc¯‹k‹y1<R|ðÅëÓõqjk‚NeŠ2±Í&Ôô(ÿQ\AÜ®»fyÌR¬®OVÃØ>:xõùUìµ\!o³QÃPÛJÅcÁc<ÕžéîÓõ«ú>ê/‹V®mWÞ\0ð }Â÷·¾Ï®Èv3w;4çP|hüã/ÔßÁ)BhKä– q…Ÿ­_øâð”¯R">Š˜ì6¹AÚðÝï”ù;íï7Æ®ˆMþOòÏ3&H'O`‹:¾jÔ*„PØÂ°¬o³²¾Í:rº½`ÔŒ£¡íÑÛ3E™“Ý&_þàrÊW)¿x¼gÖCªá–È-’f‰úc»~²Z‰-"=â»ñß=Xñ ëÛ¬uã×µÙ¨a¨m¥#ê/‹V®mWÞ\0pg½_cKã7XtÖ± cfú/WÑp Àž 4Kîfß5e˜šsˆIe"„œÍœy³y3þœÁ/ãçVæ:š8b‡¬±r‘Ï"ìõ,Y‘‘é%u%Ö†Ö¯OǑʤWÓ®º˜¹ü>ûw€¢Sè3ÜgÔ4Ölº¹)¡0aT¿Qí«ë“Õ<¶%~K–ø-Q9\¹QóPÛJ…/Ç7ëÛ,õ}4¡æ²håÚvåÍÉz?Aµ@*“޶g:þµ·F SÈülý°/¨4Òqd¦(3¿*ÿŽª²|¬±B¨AÚðºñtqœÂêÂÆ–Æ¬Š¬þ;û#„ …)°¡âÚb5Çêúd5 ¯–¢L¹QóPÛJGÔ\­\Û®¼¹à Ù@_A@„.Ž@£ÐZøZŸh2ö÷|•Ú-økl—B¡)d­o–5¿n<²=šÇfÌ0nÝ¡ÍÆir”¶jvhåg@Í Ýóæ‚^’ô~G¤__!®0e˜ªî5â¤Ç‚ÇõMõøßäerYL^ BÈÞØ^ÃY°Õ4dò6¾£¾,BAUÒ,I*JRX¤Çµâž]xöu×Öɪ¿Ó±us¨Z§•€µxA_JèýhdÚÔþS«%Õ‹Ï.¾›s·JRUÓX“óAØ2¹ŒN¡v-j-¿´aý„õÏJžñ…ü¥ç–þk!„6LØ\œü(ÿѬ#¯–ödP[§nÕ|Š¡vC Âþ‡û÷?Üb;DÍ‚,jÌ0s÷½Ý‰‚Äɇ&c-l&;À1 &7ï³nü:¾õùU|ÉU\‡ThådÕèJl*tªÖi%`-^@ÐgÁ:wíš 8ø>Ÿ_óV ÛÍd2E|¼hÛ¶”… c‚ƒï77·½$8t§kükÁ§‚ùeüž´Ì˜n|éƒKŸùædê¤GÒ3e˜Žê7êxÐq„²eÙ†/Ÿë5—Íd“$S†é ÷—_æZq5ŸÂÉÔiÛÔmÎfÎ¥+¡RÉÔ£AGG:ޤSèL*s’ë¤ó‹Î«<}cD3º°èš±k<-=Bw6sž?pþÅE©dªúñµr²jt%¶nUë´°/ è³}!1V__/ Õ÷qvvâñ„Ó¦Õk}öÇ3·oO=ujäСm¾~Ó†íNÅÅâ™3£kj^݇––ö•JêÁ@·¹~ÊÎÊÊîé@€èî󳄧†ŸK>·iÒ&7s7¼ñpÜáíÑÛOŸR)À›>?û‚·ús€·|®¾-˜L&›ÍÖ¼?<Æ¢sÓ§s¸\cww£žä#‘Èêë›ýüLÇ·:q"§¨HÜÓúœ¢Ú¢øÂøº¦:åÆéîÓ¹V\w ÷žŠ t$;tÎÊŠneEïé(ÞD66ŒøøiFFz¡‹ z:xÉÊÐÊÊЪ§£ÐyGŽüxûÇöö®¿îC¿ßäñ]É»vMpêTî† ^ØÍaayÿ]¸mÛà–ù‰9ùùõff´À@»aÃÌñCð> -§Oç‰Ùlúœ9ö¾¾ª‹„)+-•„‡¦§×TUIÍÍi#FXÌœÉ!‘þµ”z|¼("¢¸  F#zz9°XzøÞ‡Ë#"Š Èd—k¼`£™™Ÿˆ£ÑH4<´è@|a|Ä‹ˆ‚ê™æié4(ˆEga»drÙÿøÿ»—s¯B\aD3n?ü]ÏwñGyÃ’ÂþNû{Û´m-ò–‰'ò«òÍô͹Ãì‡a¶ÞÞúOÆ?¡Íÿl6  „°¬Ÿ°þÿÚ©'§6LÜ€ÝÜÑá8¡}±ûbrcÌ9€£ÜxxÞa…7>Ì‘QX]H&’¹–ÜÞ Ìô5z±‹'« 5±áã7¶4†%…åVæNt™H"’Z7† Ñ0T•£4Ss^m]ÛN¿¹Ð:Hvè\I‰$>^T[ÛŒm6ÄÇ‹¢¢J~ù…/‘´`áá<Þ©Sm”ûܸQôë¯|¼fç… ù›6 |ÿý~mÎrïžðãÊd¯*°\¾\pþ|Þ±cd2!$“)V¯N¼r¥ïQ¼zbâ ‰ —+Ö¬yrùò«Û+¢¢JË>vl„‡«ÍÓÓk7oNVîÇ›¯\Ù_}hL.[}mõ•´+xKDzÄþGû¿H$I’fɇg?|,xŒï½Æ¿v"ñÄñÇ”6Î IDAT± v…Õ…ñ…ñQYQ¿Üû_1<-œ7‹7µÿT„Ћò‚BH¥iImI|a|mc-¶Ùá8¡ìŠìøÂøy‹ò8/e-ˆ‚Br…|͵5—S/㢲¢Ž%;t̃í¡þRtýdÕë06lü/nðbxØš.f.z$½Ö†ªrT›Q¥—§oþg³úȇÛ_°²½½š\­\Û®¼¹]øÐïCÞ[¡ëñ]ÉŽž±cGÚ¸q–S¦Øèë“oÝ*>w.çÎ4<ÙÙ³çù¨Qì™3m©Tâ½{³gó~øáÙˆæýú´°¶¶ÙÖVÿ½÷ìúõc2™¡PrýzÑÝ»Â+W íB{÷¾¸r¥N'‡„8hL$RS«ÎœÉÃ?x0ãòå[[FHH?''©TSvölÞªU#"Ɖ„Ö3ÖÕ5ÇNjԟ¦¹9­S—BhoìÞ+iWèzÈàV‰bjiꙤ3؉»îîz,xlÂ0Y6l™“©SQmÑ¡G‡ÒËÓ7DlØ÷Þ>|wvŒs7Åmоžþ­Ì[ç’Ïí¼³ûŽºvìÚãOŽŸO>¿qâF¬@©!Ͱ½`ÔŒ£¡ƒ^N½l˲ ñq2u’ʤ1y1g“ήú{UÄGD‚ºõѺ~²Z‰mÏý=£ûžæ>ÍÒÀÒÊÐêlÒÙÖ†ªrT›QÕ5ÕÅƫܜi®¾C‡—E+×¶+o.t’=cölÛmÛc¯Ç³ÌËkˆUT4™š¾zldÜ8«}û^.0i’µ…Çã_ºTøõ×Z8z4{Ð “ðð‚«WµµÍ2™»%äñãŠÀ@{¹\qüx™L8u*ÀËË;dòdëeËÜH$‚Bþú+ÛÜœ>« í52ÒÛ¿?=)©jð`“Ö3º¹ž:5Rýi*Ÿ¼¹B~<ñ8™H>|ÊËÊ kœì6yÙ°e$I¦O>O%SÏ.<ëhâˆíÞúă#3#E "üñÙ³·MÛ†½ç<.¯2/¾0¾B\aÊ0ug»sŒ8¡ì¾_õñ¨G“ÓQ(%üeÎ4_nD3ÂOLjf´ÿáþ¤â¤Á6ƒÛ;V+'«•Ø&¸LøýÝßUWnÔ<Ô6‡Ráfîv*ø”ú>š\5—E+×¶+o.t’=ãwl•7=<ŒâãEÕÕRåìÀœ9vÊ}æÌ±ãñø/^Ô´9`rrÕòåe*íuuÍ¡ÂBquµ4 ÀÏt`˜L2BH WV6™˜PW®ŒG)[¸²² !”]Ûf²ÃÀ€òö®z xóVVKªðL†Ie"„ ª ÄÍâÑýFã_PB,:kjÿ©§Ÿž~Qö"À1k|ÇãåÃ=,=â ã«%Õ&)p]GP#¨Wš0LV†¯D) R „*Å•¡lQ¶šïú>YÍc{û^ëÕ5µÍ¡TP ´²ú¯šË¢•kÛ•7:ÉŽž¡\!¤§GB)WÜ@êýû*B¨u:³qcRS“lî\ûáÃÍML¨ ±¡¡å“O"DÀ26Ök󨆆f„PeeSllyë½ò6‚šjliDÓÛÜÛÔÒ„Â+•â°¿«c• 0*}ôHz!™¼íÏR5:1ŽòÞiB¨R\›Ûº'v²íÑõÉj›¥eëÊš‡ÚæP*º^³£æ²håÚvåÍ€Ž@²ãÍ•–V­¼üJJJBˆÍn£ Fuµ´  aÂ+üÑ„ræ‚ͦ(9¹ª¥EÕ+UfiI'——ÉêÕmQsp`¶Ôìè›É&ÉÅÉ-ò2Qõ_+ ¦B(µ4U®+DH)MÁ÷j‚€!…BÑaOõ°EX*Å•ÊÙ™ QþÚÒÀ’@ xYy­³ºõá&j×ÖɶGóØ„6J8)7jj›C©ÐVÍ5´rm»òæ@G ÙñæÚ»7}ð`.×!TT$Þ²%!4r$»uO}}2‰DÈÍ­¯©‘bE723k7mJÂ;°Xz¾¾¦ k×>Y·Ž‹ÝW"ËŽÍZ¾Ü•ÅÒ2ÄìñãŠÜÜúÀ@; ååo{8,,Ïǧ훟¡f@§Xt–/Ç7¡0aíõµëƯÃþ®.nM8º|ør†‰Û#M˜¶óÎίFE&’ ÅñÄã1¹1æLsw¶»†³0ô¡‚ê?[¿®Dkol:’pdËä-DQ¦ýó[Fù«d‹Îb;äqáãÜÊÜ@n …DÁÚ5‚°¤0ŽšÁµu²íéJl: U[5;ÔÐJÀZ¼€ÐHv¼¹,-iw˜zzÄììºæf¹»»Ñôé6­{R(ÄQ£ØÑÑ¥®®FuuÍyyõ*KÆnØ0pþü{—/\¿^dg§O"°1—-sEmÚ4pþü{ë×?ݶ-ÅÎN_OXT$‰šB+Wº‘ɤ֓j¥fÇŠq••R„@ F-^‹ý©ïÀa”.xÛm˜°aþÉù—S/_qÝŽeG"’²+²›e͈/C­»fñÙŇâvÞŽeW\[,j!„ÖŒYC"´ñ©Õ&lYÐõëO=9E#Ó°¬Ÿ°¾¡ÎpŸñóݟÒ¢²¢¬ ­ò«òÅR±;Û/|µ¨í¦‰›æŸœ¿>bý¶¨mvÆvzD½¢Ú",æ•#V¶¾{E™VNV®Ä¦»PµU³C=­¬Å ­€µÐÞ\6xM˜`•“S÷âEMs³Üßßü¯¿üñÛ.Tüðƒ·ŸŸ©D"KN®ÌÉ© °àñ†(w0À(,l¤iS“,3³öÅ‹*•øùçnز²®®†/Ž3ÆR"‘ñù5ÉÉU"Q“ƒsõjöfÔŠ§O+ããEññ"‰¤!” Â6[ZºzK9 À¶0̇ãÓÔÒ”)Ê|Qö‚J¦~îÿ9Bþþç´7¶¯–T?+y&jY0-~žùólÏÙšOáËñ ä¶È[ž•<‹/Œ.|Þ¹PÍ™æÛ¦m3 ”Õ—%'“‰ä}ïís5sUîãjîzqÑÅ1Nc$;Ÿ\’,j9;¬³¿ =Z9Y5º[7‡ªuZ X‹€î™É‹áIš%Øæ“¢'¼ž FгQiQcKcTVÔo1¿ñbx2Åk×l¼¥]PùÍW__/ Õ÷qvvâñ„Ó¦Õk}ö’IAAƒ»»‘¡!!TX(..s¹Æ Æ«¿a^^Æt: !´sgÚW¯Žsw7 ‹‹Ål6ÍÚš¡fX¼Q(l´¶¦[XÐd2ÅãÇ&&z..†ÊŠDMØÀ€loÏl]¿£®®9?¿A.Wp8 ?„òôi¥TÚFTÓÖ±Þäúufh(;++»§Z »ÏOœ¨A$¨P ìí[ÿ‘<¿*_Ô bÑYýLú)W‚(¬.,®-æZq†J£—•BÇ+ÄUR™Ôfèná^R[RP]ànánH3|­qšZšÒËÓÉD²‹™ …DÉ®È5ˆ|m}Un¨kªË¯Ê—+ä#Ž £å®Ôèúɪ×^ljÆWiì\¨:òZ—E+×¶+o®†àó³/è†ÏUe«¯­¾”r)ዬêÐá¸ÃÛ£·Ÿ >¥»[« æ?œã5ÇÚÐZGS`ª$Uk®­‰Í‹ÅK§}F%ÃsÖà_àsõmÁd2Ùì6ª:´î«Ô9++º•Õ«ß„lm¶¶ª¿ÞµÙˆa³im%U¶u#‰Dhó133ª™Y»ñOOÕ¢ôºãí­“_½Œ™¾™™~»ÏÍÙÛc%3TزlmY¶š4š2L•K?XZYZub*™ª¼P®“©““©SëÀ ¨ž–žíŽz]?YõÚ‹­ã¿V¨:òZakåÚvåÍà 1˜384 ÔÆ¨G§µ%¾0žÃówð×u²£R\•E#ÓÆ:M*Jª’Tét:À’@‹H8þøx{{ù.šâ6åMЛ ¶<ØfpÇýÞ¦ ÓsøÛûÓ)ô©‡§B²€>’@+©-Q³ÆêD׉oøø€·Kš0-¾ ^¾_åûÑ0OŠžÄ䯼Ç}cÄA=È{(H\0h!Í0:;:¯2ÏÓÒ3À1!TÛX“SX]H!Q¸–ÜÖËZÕ7Õ?È{PP]@§Ð=ØÞ6Þ¡Ë©—æ?D]xv!6/!dcdÈ ÔÅ™²è¬ñÎãu12àÍÉŽ7QPã¨Ql{{fO ;Lí?u{@{{Û|¶âð¶+äon K Ã[B¼CTú<<áÅð†Ú Å’±y±p5wݵ«ZºÄoI€cÀùäó?FýXßôª°ˆŸ­ß¾÷öa…?BçŸßz{k]SÞÁ—ã{:äôåÔËò!„.<»€µ±Òf²£¸¶ïÓWsW¸7 Ð&Hv¼‰Ô”ðÐûXXZX¾½ãÞG K #I]&Ú²l³+²O'ÆÓjl¼¹‘B¤Ì8ÏÒÀÒÛÆûVæ­µ7Ö’¤±ÎcL¤-Òÿcï¼ã¢¸¶~·K]ŠÔ¥£ˆAª‚ˆJbA;±ûž’g5X&yj¢FC,ØETP‚‚H/R¥Ko²€tXzÙÝß“7nv—e)Kó~ÿà3sç̹çÞaÎÌž¹÷Ü„Š„ÔªÔCº½î6àuÁkW}y}—û)7’ÆŒÕz«é zReš t°ü 5ÔÏxOî†9è8À`á v@ @ _w’ï`1Xoo3U3¤$¬0ìßÿòDy1ùÇ›‹ˆ »ö·í‰âãMÑŒ¼ cÐþ°Â°Ò¦RMiÍ‹1§—Ÿf9’FIÃìj½Õ5Ô$ØaL6æR©¢¸¢»•;wÃf͘Å]|±À`@ 2ý©n«®ë¨³R·B#€åÚËõôsjs¸Ÿ»Ëté¨ï¨/i,Q!©Ä”ÅÄ”Å0 ƒÀ ÷S®ˆ€HEK…‚Ëî¡ vx v@ È`À`@ 2ý¡öRH&fÈä!ƒj’jèvsW3àcëÇK±—Ø%Û{Û[ºZêRꣳæì€@ £; @ 鸠8I2Ê { ;xÜç_ B-­³W°KêËëK KÊ›ËGc-€9; Èè€Á@ dú£$¡$'*—X‘˜ü1ÙTÅ) + rX â j’j  öÚöÌ)3 F|E¼ž¼‹S“TË®ÍöËôs5tEÒ)éFJF F'hëiã^ÌÙ@F v@ @ _;Lwœ‰8³Õo+ºKTi””°23…wŽ,>ò¯À}}ïksUsMiMA¼ ¥’U“Ei£äý‡Ãâ¾³þÎ=Èýxèñ€ìd5–œÚœ÷Õï âYñúLÄ™´ª4"¨$¡ÄqéÙ1ÉÙq7õ.²>nSWàjâU<Øeº‹H ŽR9™ÌÀ`@ òEàfìVÖTæ—éZŠ”lœ·±g çyÎóaéY:kéïN¿Ÿ?WW‡b1Xk kdÂËŠÙ+Z—·ž‹<—U“•U“…˜(› ILi,Ò’Ñ*i,¹•| °@yÇ`ǘp'ùN]Gº{-ñ²±eþì€@¦70ØÁwÎGŸ¿‘t#x{°Ž¬ÎDÛ™>ZŸÃ‡òær=y½ · ´|ò[@¾@‡~žó<õÛTI¢$àvòísQç|7ú¢C²!\8~: + õÛÔ©òŠŸDÈØ‚Å`±ÿeü É“ Æ|ò|CEÃð¢p²Y/„ȑܭܕ$”] 5 A¼ Œ° ‹*§9NKg-M¬H,o.§3èd ²¡¢¡‚¸*°qÞFGǸò¸ªÖ*1A1=½¹ s‘C‚xÁÀmѥѕ-•}´>´.~°Ãt2²ƒ´½dºƒp5áê§öOmLR®&^½{Éo³ßpMœ„D•DY¨YLT¤c:õ$2¥Ñ•ÓÕ•ÓEw—ÎZºtÖRt×HÉÈHÉݵT³´T³ä¨G/d«eË¥"q!qއˆâW³¿žÝ#b»Éöq¨LB°md‚)i,¹™|ó»EßM´!2všî,ù±ëà…†BJ…û/@ é v|Ñ0Œc¡ÇLULù7O@ “„ˆâ ƒ@¾à4–ñãáû‡ÞiÞÕmÕ²¢²ëæ®Ûk¾‡Á!‡Zº[n&Ý / ¯ë¨Ñ’ÑÚl´yù¬å †¯&=Î|ü¡îÃë¯y”É9rxöŒÙ7ÖÞaº @ cNiSéoQ¿%W%3 e[–œhЇ¬š,ŸtŸòæò­ó·zØztöuÞJ¾õºà5¥‚Çâõô÷šíµR·BõtõwÝN¾Vö±õ£^HW^w—é.K5Ë­~[+®ÿ^=qò‚G›j©µ&ü[ÛØÙH"’ÌUÍ÷[î×”ÖDÄ8Z"I”¼sáÊê+öÚöÌ­8õæ”ï{ßÀmú ú|ëKQ¡'¯'+* xxî Ö!\:¹ŸÖZú,çYQCQsW³¬¨¬¥º¥»¥;2‡ŸKOr© åyÎó[É·*[*eDdÖ¬Ýo¹‹l  vŒ7ÞÝø+ÿ/d›ÒF¹{©¬©ì¢ÓE¤d‡ÿŽìÚld»»¿»±³1©2éÕŽWƒ­žFIC_ÃAÇá•p¨ï¨?}þ? ÿC– S{¨C6áJ•?âÿøJû«óŽçñ‚CÊC È()m*]÷`ê ¢K£3k2õäõ†<ñfÒÍàÁÈ6Aoëis}èZÜXŒ”ô‚ޤʤäÉ/¬Ô] hínuyèRÚTŠt÷wÇ—ÇÇ—Ç)¬ JÅÙÛYÈÐØÙü!8²$òᆇÌ K\ ]¯$\yþ€9ØÑÙ×”d¤d4X¤cL|~cgcö§lwË¿qäþÜáÒ!h˜ž¥i€°¢°ƒ/¢5ÖPk²bJcBv„ Ùd9ÂK]>é>Y¨ZÏxO`|kõ-÷>@ ò%ƒãDhaèÑ%Guñ‚±e±§ÃO¿È{á¬ïl¡fQßQŸ]›­)­ù›Ão³fÌêè-n,öNóæ÷7«ŸÂR“Rs3vR²ÖçñÊãEÞ‹Yüëàƒüo@ g#ÏR{¨‹µ²>¤LR.k.ûïÛÿÆ—Çy"ârtäDå¯=Š‹—k/ßk¶WKF«w 7¾"þTØ©ŸÂZ6k‘@üùíÏ¥M¥Ú3´°þa®â\,›û)÷fòMÀ>®>ÓjþþSSW“‰²É±%Ç4¥5«Ûª/Å] + ;úúhðöàÁ,8Íq È(m*EÇ€åuöuº™¸a×±UÅ`0–Ì\ò¹Ã¥CÀÿžìMÀ ¬›»n­þZMiM‘ºŽº Ü Ëq—²v›í¬'y©ëeÞË“KOÚkÛ‹ˆ¼-~{ø¯ÃÒ¸[ºÃç@ Á€ÁŽqâ“oÐ\ÐNsœè ú÷Á߇†Z¨Yˆ$!¼¡¢á\Ź"h¢lb¢lÂE›1Ù¸äÇ’ÑØY^ä„Ãâ¸K6u6 ;•ó)ç‚ã…Uz«FS)ðNWW\yœ¢¸â•UWÑdºrº^Î^¶7l[»[¹Ÿ»Ýd;êrûh}ÁyÁ3ef^YuùmL$uÛzÚN…J­J] ²àuÁk‘äíêNгR·bžäÂBwwLiŒ´°ô­µ·DEZ2Zž«<ï8æ×ç—7—«K©³[‚àfâððýÃSKO!%¾ï}åÅä—k/¬ºÑû|@DI„¼˜ü¹9îÏž^:„½iËf-£Ñi—ã.ç×çS{¨Èp@aàdx¬ë€å­ó·"Û+uW†…‡†Ö¶×*Š+Ž´? Ls`°cœX¨¾yw‘Æ"@eK%@'pæ«3'ßœ,l(4U1-;{ò¾®7ÞÕßuêÍ©]f»tät†Þ´¿£·ãžË=–&@ _¡´Rhtš‰² ó¼9q!ñyJó¢J¢¸ŸËœî¡ªµªg §¤©döùÙƒÁ dPC­¡´Rúh}ÖÊÖ¼§"¢´Qh š‰² é@Àap Õ7W¶T¢Áöõµgh›ª˜æ²9$LN©J)j(úÁútÊ?èèM¨HX£¿ÙåþÜá±CØ›†äOáXû`Jx¬‹eµI@g_'—S |áÀ`ÇÄ€:þökݯ—Ì\ò®ò]NmΫ‚W'ÃNš©š]rºÄüÍÌ(çoÇ•ÅÕRk½Þyy½ób.Ïý”«uNk>yþ“ÍOЕsV>Î|ìïi ` !$Á{!d¢þœ!_À`0h »d?­ÙÀ¾Lˆ`¶ÅÍØmßó}A¹Açm|˜þP/èjÈÍ¥>gÇ»ÊwÝýÝÌë° ùܲCXšF£Ó®½»&*(zzÙisUs)a)<ßÐÑ`~Åœ»^ê"±Ë#á*@ ŽÀ`Ç8Wg¡fîÆ”ÅTH*h‰ˆ€ˆÝL;»™v€Â†B‡;W¯Y|„Æ _5yÄuž«©ªé÷ÁßoôÝxÏå’Æ@ø ™DÆaq©U©½½èàj5£:cxz$È8}}æ0.3==8”ª”¦®&iaiv$“þ9VB– ã0¸4JZGo ÑiññUIUî&-™¹„,Aö}ï»tæÒ7EoÖè¯!IÃjÔp‰,‰$ˆf*fÌ…ƒ=wÈ$2÷áµ—Jí¡:è8 9_bËc™e8ôäˆê‚@ ì'î¥Þ›!:ÃIÇI/[ûóÛŸH6þìÚlÏxÏuëtåuåDåZ»[ß¾TµV ¦m”ó·íµíYN§öP.éÉ빱˯˜½B\P|ßó}ë¬÷Ùàã@ >!L^¨¾0º4zÐ~æ¥C&ì`H :Îq|žóüà˃ی·iHiâ)m”ÌšÌÇmz$„újöW/ò^¸=qûÁú,›S›s+ùÖÝõwqX2¨-®<Î@Á€H ":­5­#K"÷>ßëaë¡!¥QC­¹w¹¨¡HGVÃ2X vËü-g#ÏþøêÇúÀ6ãmÜåÇ$O“•º3âþܲC8VA" ĄЄøòxceãöžöðâð_£~e–aïÉ‘Õ@ 2$0Ø1N,×^~&âÌ™ˆ3hÉJÝ•ÈX:ƒ]]Í,Á`œæ8³‘\°R·z°áÁÿ.]î»Üמ¡=ÑA 釭G:%=ª$ MÒA"’¬Ô­xY…™cKŽå×åF—JEA¦B·;ž]›_—¿ÃÇ?cÀTŃÁ Sÿ(/x´éÑ »Y5YI•I+ï}È L>óÕÀë Ö]Ž»Sc¦jÆošW—÷©ýÓþ-ò¹Ã½C8‚Á`\ ]ï¥Þs{↮Ö[˜ˆîrìÉÔ@ 2$ü]Ü‚²×|ï »j’j,A>¸èàoŽ¿!‡  óÕ쯱Ör¢rK´–ø¸úpÉÌ?!*>Þô0}7¾¯~?Ñæ@ 馴æÓ­OmµlED~›üF0™NBHâéÖ§GÑ“×& D--—¹.϶>C;H%Ÿo{þ/‹iJk अ¥i,òqõA’†jJkžýꬖŒG@u*“”ƒÜ‚Ö¬“•ÃapÒÂÒŽ:Žnú ú¼˜$.$î8ÇÀËúߣ$¢8‹Á.ÖZŒ– ùÜáÞ!ƒqÈæÐ~ËýÊ$eœ€š¤Ú!›CèŠ3{rduA 1Äë×Fßí½íÈnH~ÈFßùõùkÕTÁ/ÓoËã-ÝýÝm¯øeúmô݈¬“Lo0_B~¯ŽŽŽºº:î2ZZšžžu+VtŒIÈΫW¢îî7W­zïî'FMm ÿ cåý•m=mQ{£LücÕýUx,þéÖ§|­2n@ÿù%0Î~õpÈáç9ÏS¿M•$J‚ÿ­¬ä»Ñ—e!¤1$(7È?ËÿÔ²SÓ`°ðÊ{+ 8ÂDùØôäùèó7’noÖ‘zYÆ/èW§ ¢¢¢rrr¼ËÑd¢ÐJKK[¾|ùÏ?ÿÜÚ:¼, È”¦w ÷ú»ëê>8ë;ó;ÒQßQŸW—·dæ¾Öw ÿ„ðß¾|ý%\M­N©JAÇ’L]ê:ê>Ô@2=OÓ¦''ЯNC`°LÂÃÃOœ8bgg÷èÑ#ÃÊ È4c£ïFÝ º¿Çþ." ²Éh¿«“•->R¼o˜ IDATÏ|¿+‚Œ/ÐBøˆ‚¸‚©Š©¸øD2ˆ,Žd0Ì {C¦,ЯNC`‚R2a„7®^½úÖ­[¿üòËóçÏýõWMM͉¶ á/X VCZã„Ý ¸Ø*dÄ@ÿ 1==3'U&1ÃDÙd³Ñfüß÷¾'–ž@wøeú½Ì{yvÅÙž¿L¿òæò¥3—"±Úw•ïB C«Z«ðX¼¾¼þ†ydDd˜U¥T¥„„~lý(„Ò“×s5t%Ig"μ)z8ýæ´˜ `ŽÜœãvÇ4:í¯ü¿bËb›ºš$„$ÌUÍWë­FW’âh ‡‘ûâGÛ  ˜«F„ÛŸ#7‡_] @di$Y‚Y'—žDÒj"Sf.Ä\H£¤I Kí1Û£)­YM­¾•t«°¡ðDè‰kk® f‰ IÅJÍêuÁëcKŽI K!2Q¥Q5Ôš£KŽ–©½·=¥*…{“gˆÎà.P‘Ð;Ћ$Ejín}–óL\H|¯ÙÞY3fõô5=Éz‚F¸tÈ`MP{©ÊÊkô×hHkˆ ˆÖuÔ½ÊSó"ï…³¾ó`=ÉK]¿Eÿf«ek¯m/" ò¶ø­–ÿùèó0Øýêô; Èd‡ÃíÝ»×ÌÌÌÝÝý믿¾yóæìÙœ?È@ „è?!¼@cÐsEDžn}*'*°Ñ´±Ñ°q¸ë0ä¹v3í®¬¾‚l3Œ»©wgˆÎr ’’@ —k/—’ðzç•Y“i¨hè“îƒÇâ}7ú¢³K–k/ßc¶‡ÁéÈé%È€9rsŒÉƨmY‚xÁ'›Ÿ¨K©#…³–Þ\^ÞØÙˆNa¶ÁÍÄ-®<Î?˯ù^¤äáû‡DqÁºÁš£=CÛw£/÷&9Ó0¢8BTPY³Å3ŒUº«v›íþÜ^ó=t@gйtª½iÖֆІA¹AÁ‚©=TÖOï¤U¥9ë;sìIëZ¥»ê슳ȶ­–mEsEJUJSWœ_‰ýê4; ÈäÂÐÐðåË—pqqùã?lll&Ú"™@ÿ áÎÇ–]ý]öÚöH¤ACZc>y~Re÷s×è¯A·)m”æ®f)a©A ƒ€æ®f@ic©´°tkw«•ºK QAQî¶YkX£‘‰HújöW2ÔX©[±[‚°H}‘†´ÆãÌÇ»Ívc1ØŠ–ЄЄMó6!i,8"&(6Ê…u FtYôBõ…x,iÚ6ãmþYþÁTÅt¶ìlEqEœ"\ÕZÅK‡°7-«&kï³½==,å\–_á±®¯u¿fÞÕ•×M©Jiín…Á _ÒÀ`™tH¤{÷î8qbÏž=¿ýöÛÊ•+'Ú"™@ÿ áBO€=@z|¾¼˜<ºÝÙ× hîjN¬HäPË@òã\’(É»m½½– šdä’Æ‚Ý ³ÅhËéðÓѥѶZ¶¾ï}[çoåRÝèsvdÊnèhX¢õyaïv'ìµíß½¹™t³ ¡€$DÚl´yÇ‚ †ÇaoÚɰ“½´ÞuëÌUÍ¥„¥8Bg_çî§»¹(á±.–®Fâ2ÌÉA (ЯN]`°LFðxüÙ³g¥¤¤:Ôßß¿víÚ‰¶@¦ÐBCNLW—Ç\H£ÓXJ8œ Q^LƒÁ(¶9Ì.©&¥&ˆÄ`0Y5Yôdà«6€0 ´Yµ$÷S.AgN´‘ó)=Ên гóﱿ?H`¡fñ<çùBõ…Ò\š3úœÅ8,ÎFÓ†¹ÐDÙÄDÙ@£Ó‚ò‚Ž„!àÛŒ·É‰ÊqïŽMkínýØúÑn¦:ßÀ`bïIë‚ èW§(ð€@ “—C‡„£G ¯X±b¢Í@ )ôŸv¤„¥tdu>Ô}¸šxuŸù>,;@ø-ê·ªÖªaé!I ”¤U¥•7—;ë;p¤œÒFñËô›OžÇâÉÆ©U©¯<Ž-9† "èêﺟz¯ù^,+, øØú ¶éÊéæÕå>ÿ½õ÷H ŸtŸøòø¢3tät¸›$L^k°ö~Úý+ WÚzÚ܌ݸË>gGdI¤‘’:>¢¬©,¢$ÂYßI’ŠÃâÅ)U)ÛŒ·‘ˆ$î± WÞ\ÞÖÓ†Œp)n,>õæÔ?ÎÖ“#«  ЯN9`°LjþóŸÿtvv~ÿý÷–––mL ÿ„°ó½õ÷»žîº{É'ÍGIBécëÇöÞvíÚ… …ÃÒsjé)—‡.ÇCŸ<«"©"€¨¦V7v6XÀcñ'ìN¸Ô}xøþ¡g¼§_¦À?Ëßëz”Oþgd½°¡ðqÆcÔÔ/è?!,ØhÚ\t¼H"’šºš²k³é úo¿±ü~æ…Y3f=ÛúÌFÓ¦»¿;¿.?«6«±³QMRí°Íad Ç¹9~›ýæ“ç÷ô7Ôâÿmño,ÀŒÉÆÎúÎôìÚ씪”uj7×ÞT•TmínÍ®Ínìl”•½ètq•Þ*^LR&)/Ö\ Ø:+Ç©.cHDqÀVË-ÑÒØm¶[JXª†Z“QQÖT&I”<`u`Ç‚ˆ÷Œ_ì1Q6éîïΪÉ*k*³R·ò\éÉ,À±'GV„G _B`˜§xMW:::êêê¸ËhiizzÖ­XÑ1>&-©U©ï*ß­5X‹Œ—C¸|û\Ô9ß¾£Ì5 ™ü°\ë)qé_½uw—+))åQ¾··wýúõt:= @HHˆ¯¶A†Ë8ûÏÃ!‡Ÿç¶|ì£õ‰ ‰ëÈ~ž¨RÙRÙØÙH"’4¤4˜ÃÜ-ì~º;µ*5aÂ`c…Û·ªÖªˆ=,å £¶½¶¾£^’(©$¡Ä1eÇáÞ´Zjm]G¢¸¢¬¨,NK£¤I KÍ”™‰ Ö“¼×…( Ä‘öÊúÕ©‚¨¨¨œœÜÐrÿNc™¤T¥xÆ{Z¨Y0;ŒÈFîVîJJh2V zzz®Zµêâŋǎ›hs /‘~Zÿå¸ËBx¡5úk¤…¥‘|.†.Èb““ ƒv>ú¼ ^ÙÔ/è?!ìà±xdú‚¦´¦¦´&º« ®  ®€î*“”•Iʃ©Ó“×ãR—ŒˆŒŒˆ ÇCÒÂÒób¨JªªJª²—s·$©2)ª4Êe® ¿#}É“·ma?„Á`Å™_ÈÙáØ!Ü›Æ|EpX{4y°žä½.î@X€~uªƒÓ#%##%£‰¶3TUUOžsxòýê”;ƉŽÞބЄ­‰¢®œî<¥yÌG«Ûª+;%„$LUL™½gBEB:%}ƒá ¢DdIdEs…ŒˆŒÝL;4ùs`nà»Êw€§ÙO‘Ũ”$”œõßW¿/_£¿†,AæE ¬0¬°¡p—é.ælHá³=‚xA´ÚC¯ˆ¯j­"àúòúhþg^Mcy‹m¨~q!ñ¨Ò¨Šæ =y= Ã^h¥nÅ£©ìgñ‰ŒêŒÂ†Â–î–"3ÌUÍ¿Ì1;«W¯>vìXHHÝ×—B^]^ÊÇ`“  8ÊŒ‰cî-z!5s¹QÍ¢‚¢%ÕmÕj’jv3ípX ¾£>²$²µ»Õ@ÁÀBÍ‚Eíh\ñpy”ñ(¿>PÐPàÿã8½æ{¹œ;;y¹èƒ©e7Õ^Û~ÖŒY¼5tÚý'dó¡îCVm‹ûnÑwãp³‹ˆLæ™ÂqúÕɼ*ãA@vÀ™ˆ3í½íh‰1ÙøÑ¦GÈâOb.ÜJ¾E£ÓC fÁºŸ–ÿ„̬K¬H¼‘tCW^÷·¨ßJ›þžHF"’¸>@Vá Ì LªL<Í~Š] ¼ÀYßù=å½g¼§©Š)ìRàMÑ›y/¶ÌßÂì@ ÝŒÝÐ`G@VÀ#ÿÛÑûy©‰²Éµ5×x™J=ÊÆÝÕ\mCôÏš1ë\ä9$Þv“í½ÐJÝŠSÙÏb7©†Zƒ^šÁ˜5c–½¶ý`Góêò¾<ˆäôFÀb°ûÌ÷\t—>™füôÓOË—/üøñ–-†B¦týdØIæì’›æmbÇ2‚[ñÜ5yÿ²k)y»zG”Dþëp­ïï¶ýcœÂp]ñ(}ÑãÌÇùuù€tJz:%ù˜ —`Çpíäñ¢sQËnª†´ vè?!Ó—KOtôv¨IªÍ1Ѷ@¾, _äÀ`ßy]ðÚã•À@Á@_^‡Åå~ÊM£¤1ððýC¯w^ ÆVËVSZ“ÒF / ÷Ïò—–úÁúTÉñÐã8 ÎÕÐU˜ [[ÒXr:ü´ßf?Àj½Õt=©2 MPÊå›?=<ò¶ø­Çk·Xk±¦´fß@_BEBjUê¡¿Ý^w›û¹£oì˜Øv2ì$KX?w½¼˜ü<¥yH¨ˆ¥GSYÎâhU µ†å+(;:\‚åÍå•-•–j–Ò""õõqåqW¯š(›ðu,Éä„L&oÙ²åÏ?ÿ\½zµ¨¨èD›á/÷Óîûeúá°¸¥3—*“”K›Je>bù‘<&Žed·<â=¸kæñþ=vŠH n𷠇Ž.|ý¾úýOoz‘ûBO^ÏPѰ¥»%øCð£ŒG®†®H湸âQú¢ †òëóg<žOžo©öy±½'™Oºú»S8;y¹èÜÕ²›:KF:€þ2}aNÉ Œ'ЯNr`°ƒï\Œ¹8½ü4ó·©4J²ø²bßÕÕW—ÍZ†ʪÍryàr?õþ¿-þްP!©x»z á…‡h‡î:¤W§wôvˆ Š®Ö[]C­A‚Æä!&ŒqÑÃcs.Ä\ ˆ7=F“Q1ŒýAûà ÃJ›J¹O_}cÇÄ6y1ùÇ›‹ˆ »ÈÏ–B$>5¤©,gqDQ\ÑÝÊ»åÜ?9êÉë½ÝýöSû§üú|j•,A^6s™o†oDIÄììÛ·ïÉ“'¾¾¾{öÀåâ§9w’ï`1Xoo3U3¤$¬0ìßÿf–Ç£ŽÞƒ»fï_MiÍû®÷p€í ¶Ûݰ È ø·Å¿Ñ Tx¼òˆ*‰BÞéGàŠGé‹6ÎÛˆDŒÉÆÌzbJcÊšË;kvòrѹ«ÌT€þ@ÆèW'30ØÁ_>µªh©0P0`…‹D%j¨5ŸÚ?Í'ÏG_¯sæ®ÐYñ2ïeî§\tò³=È›4€€#X¨Z”5•ÕwÔó¤=õõ%%*$•˜²˜˜²ƒ,@ˆ@î§\.Á~7–wÛv™îbO0òn*GU,ðòƒ;8 nϳ=E E,å£Q;u‘pqqñööÞ¾};@˜hs ü¢º­º®£ÎJÝ ýÑ X®½\_A?§6ÙÇ2Ê[ž»ËâñþÝiº‰tÈdUIÕòæræ¹!ªHŸ€‘ºâÑû¢á2;y¹è£yA ÿ„@ ±úÕÉ vð—–®€º”:Ç£mÝmöužTH*€¶ž6´„y0ò¶=@®=£Ôƒ¬/ø±õã¥ØKìG™“’°ÃïÆòn›š¤»s!ï¦rTÅÂèsv9\ÔP¤)­iL6––"à}´>¯w^Èûý—ɶmÛîß¿êää4Ѷ@øµ— @²1C– £¿{ÇıŒò–çî²x¼Y” Dq!qæôI€ž0RWÝ¿#sÅ£Ï4\F`'O}O"€þ@ÆèW'-0ØÁ_äÅäÕ$Õ²k³ý2ý\ ]ÑòtJº‘’‘¢¸¢¼˜|:%=¢$b‰ÖäPNmÎë‚×Bx!t*òâÁ???Ž E E@tiôf£ÍHI|y†ÞþËúO[ _œÀ`ßY1{EëòÖs‘ç²j²²j²Be$•Úf£ÍŸÚ?ÝJ¾YY À`0ë Ö¡øya‘Æ"-­’Æ’[É· ”Œ,Ø¡#«³mþ¶ûi÷CòC’ý–û«Z«^ä½@e–ÎZú»Óï§ÃOÇ•ÇÅ•Ç!…X ÖZÃzÈÞcÒX.ŒÆ¶q6uXülÿóî§»ßW¿_ý -,ýÇÊ?6?Þ<þ–L*„„„,X*Ó7c·²¦2¿L¿ÐÂP¤dã¼==Ïsž£2cr·òï–çÓý;†îޝ iç§öOžñžjh°ƒ—‹>Uš?iþ@ÆèW''ð`<Ø8o££Žc\y\Uk•˜ ˜ž‚Þ\…¹èѬp5tM¬Hlìl”’0S5cÎ$o¡f!ˆ”–aVˆJ‹H#»‚xÁÀmѥѕ-•}´>% %€ÙÈÝÊÙæQà¸ÝqÇ9Ž©U©x,ÞLÅLGN'¬0LURU/ˆÊ8ÍqZ:kibEbys9A'K  Y²ë ÆèËî¶qÑÏR82Sù„‘’Qøîð˜Ò˜OíŸÅmµlñ‚îVîZ2Z üóZ³ìNc¬¬¬®^½J§Ó±X,wÉëׯËÊÊ:;$8V”——ÇÄÄP©Ôùóç[ZZr”©¬¬ŒoooWSS³¶¶&9Œ)à.s÷îÝŽŽ,»oß>îß·»ººnß¾ ——_¿~ýصŒ`1Ø_ìÙ0oCòÇdƒ1Ÿ<ßPÑ0¼(œ,AF@cäXF¬„»æ!ï_ŽJ\ ]©=Tæ!¼»•»ö m´d4®xdÈ˸[¹Ï'Ïg.t1tasÁî¸Û)/&ïnåΜ–Ç‹Î]-GS!Ìðî?ùÄdpËéèèHII©¬¬¤ÑhVVVìb¼¸ë)ÄáÃÏsž§~›Êœµ 2>PÚ(ÿøoZUZKw‹ž¼^[³·sYsYÆÁ DàvòísQç|7ú¢“ûÆ„\ôZjí™È3i”´†ŽÄÔ1´gßK'á{)æKXС£££®®Ž»Œ––¦§gÝŠãcò…óꕨ»»\IIéh”äää¬^½úÍ›7Ü%õõõõõõ=z4šêFŒ¿¿ÿíÛ·ËÊÊÝ={ö:tˆ]ìÒ¥Kׯ_§ÓéÈ®‚‚Â7æÌ™3,KKKÄÝݹsÇÚÚšùÜ€€ÀܹsŸ={6f̓þ_ÆÙŽž?ÿü“L&¯^½š¹pbÝò`œxð µµ•D"!…eeeïß¿?xðà¥K—øÙV25àÝò‰‰u˃ñë¯¿š››£c­i4š››Û»wï"""6lØ€òèŠ!^¨ï¨+OþðÁ§öO`Š˜:QÀ÷ÒIø^ ƒ1cžÒ<.©þç)Í›äú!S•êêjd;--­¨¨¨££ƒL&›˜˜0/ýÅ<7òåË—ìª/^¬¯¯îæææfddtttÈÉÉY[[KKüÑnaaÁ] °°B¡èéé!O ‡ûÏþŽ<0x‘AY·nÝÝ»w_¼x±mÛ6¤$ ǯ\¹; â?i4ÚÕ«W544KKK[ZZöíÛ×ÙÙéããc```ccƒžÒÚÚêããchh¸hÑ"˹ñññ}}}óæÍ366Fäkjjž>}J§Ó?~üèéù÷çŠ5kÖÉdf·Ì¬'???)) ‹Å򯯬ªª FBBB~~¾¨¨èòåË¥¤¤X2†îÚÊÊŠy‡ÃÙÙÙ½{÷®«« )–+ž´”6•þõ[rU2ƒÁ0Q6ñ°õ`—©¥Öþ™ðglYlcg#‰H2W5ßo¹Ídt>úü¤ÁÛƒóëòo%ߪl©”‘Yk°v¿å~,;\%Y5Y>é>åÍå[çoÅcñCjî§õ‡†>ËyVÔPÔÜÕ,+*k©nénéŽfíA5¿§¼÷N÷®n«V¬ªV IDAT“TûÞú{[-Ûîþî 1^¼nín5P08µô”Žœjpg_ç­ä[¯ ^SÚ(x,^_A¯Ù^+õüWŒ!N÷œòëò7“nÞLºÉ|HLP ÆÂÎìäå¢sQËnêå•—uGÔîé |/lï¥0Ø3  ù:¶‚ßú!S…‚‚‚ÖÖÖíÛ·ggg£å‚‚‚?üðêj¯]»¦¯¯t-n,FŽö‚ޤʤäÉ/¬Ô]ɱ3Ó(i®‡XzÃAÇá•p—#°“—‹>µvà{éd{/…Á2…‘““‹ŽŽ¾ÿ~vv¶œœœ­­­„„DuuuJJJzz:ÇlNNNÌ‘rÀÓ§O•””V®\  Ñh»víÊÉÉ!“É .”¨¬¬|ûöíÑ£Gµ´´ ‰‰‰Ü sppàý¡R__PTTd.Äb±ŠŠŠ¥¥¥}}}¼È0Z»víÉ“'?|ø0gΜ¨¨¨††ô¡@ àþÙÎÈÈxûöíÂ… utt„„„ïz233###­­­gΜYWW÷êÕ+GGG EEEww÷?ÿüSIIiÍš5ˆ¼’çÅÂ222"##íìì444ŠŠŠ¢££Ož<¹`Á‚>¬]»–D"ÅÇÇ\¼xñÚµk€ŸîúöíÛ]]]­­­‰‰‰%%%ß|ó‘‘rh¸®xr6ò,µ‡ºXkñ!ëCÊ$岿²ÿ¾ýo|y<³ÌOá?5u5™(›[rLSZ³º­úRÜ¥°Â°£¯oFÅ^æ½<¹ô¤½¶½ˆ€ÈÛâ·‡ÿ:ü ý»¥;ƒá]IhaèÑ%GtäDåç£Ï©Y'°núk5¥5EDê:ê‚rƒ.Ç]È Øm¶Õü¦èÍ/ö¿,›µ ‹ÁÞN¹íõÎkgÀN‘tßåþ<¥y-Ý-G_M¬H þ¼Ö`-à\Ô¹âÆâåÚË÷šíÕ’Ñê诈?vê§ðŸ–ÍZF$Œ}B–ào‚óëóî:í1ÛsÈæs†H$Aé`gÀN^.:wµƒ™ a¾—N¶÷Rì€@ SQQÑ®®®ææfÀóçÏÑüÌ}}}yyyOùú믙w¯\¹"++{ûöm$—Ò›7orrrœœœ.\¸€NÛÎÉÉY»ví½{÷þøãÀêÕ«ÑAÚƒ1¬Xuoo/@PP¥yNôôôð"Ã\îäätæÌ™§OŸžµ‡ŠŽ)l(dQâjø÷°‹ï}çŸåßÜÕì³ÁGWN " rÈúÐêŠÕ%M%€>Z_p^ðL™™WV]AB*DÑQDZ­§íTةԪÔE‹ØûÓ˜l\òcÉH¯ÆH¼\ô‘5Â|/lï¥0Ø@¦0BBBÝÝÝË–-{ôèÑÝ»wׯ_¯¡¡Á`ÐQÇ\¸}ûöÛ·oOi^TÉßé)mƒf¢l‚)pÜBõ…ÅÅ•-•hœ‚e%TI@g_ç°”XªY²ÛÉE3øßR¬ìgõüãº,PY€nc1X1…îþn$Ò $¡hìlTµVõ ô”4•Ì>? ÿKàï*@ µ†½º avòrѧJó'?ð½t²½—Â`™Â õööZYY=~üØÛÛÛÅÅ¥··WOOoéÒ¥6lྠàƒ‚‚‚>|(&&†"Áø'Ožp9qÌçF"ËÕÔüãe‚N§×ÔÔˆ‹‹#¡q^dXpvv~ùòå·ß~K£Ñy¡‚‚øOd[MMmÄz˜w………ÃÕ#//ϼ‹8pŽ…HŒ†îzçÎèöíÛ·Ï;wåʕӧOƒ¹âiŒá¿g0þ÷ó˜w$…9<+¹h¦Ñi×Þ]=½ì´¹ª¹”°‹oèh0¿b΢„ù·=ƒÁ°— j‘á! ƒÆ ±ÛÓOëçhüøç왥ö ¾—N¶÷Rì€@ St˜œ‰‰‰‰‰  ¾¾>%%åìÙ³¡¡¡~~~X,–ã‰Ož<ñõõ}ô躂„„`Ó¦Mìi®Ñ(õ˜Ïœ={6 99™¹0''§»»ÆÉ‹ JJJFFFC.ù@¾4˜‡³aC^ÊÑy.,ïµËø¸k‡sçÎ}øðÙ+žTId—Z•Ú;Ћþò§öP3ª?/üA– ã0¸4JZGo:.ƒF§ÅWÄT%Uyªh,”p„ÚK¥öPt˜³fÆ–ÇŽX!j°N@_AÿÉfn¿*'œØÉãEŸÍŸüÀ÷ÒÉö^ ƒd ÓÙÙ)**𔔤¯¯ ù“••uttŒŽŽ *//G“ö3xç·²Ï`477 Ñhû÷ïg~ 544ÔÖÖ"Ûc>7R[[›L&çææ¾yóYÁ‹F£]¾|°téRÞeXÀ`0§NÊÍÍ57gýÞ@ ˆÿ쨌Œ @HJJêééA^©ûúú¼¼¼FP‘€€@kkëÈ „1w× ¥¯¯å< ##ƒìŽÀO*„  ÕF—FïÚÏœ«ÍÝ ˆÖšÖ‘%‘{Ÿïõ°õÐÒ¨¡Ö\Ž»\ÔP¤#«ƒN?áΘ(áIˆD$*âËã•Û{ÚËÃúuÄ Qƒç8>Ïy~ðåÁmÆÛ4¤4ñ‚”6JfMæãŒÇ6=ÀqøR=þ9;F`'}͇°ßKÁ${/…Á2…éìì¹qãFzzº™™™ªª*@(((ˆÅáp,Ñq„üqÍš5~~~ÌåÈzæ÷ïß÷óó‹‹‹³°°––¦R©)));vì000ß™——(..¤¥¥!K0 k:8pàÈ‘#ptt”——‹‹ûðნœœ«ëçñ±¼È°`kkkkk;,k!Èâ?;ŠÅbmllÂÃÜœlllúúúbbbF–LNMMíÇßÿ½²²2‹]³f ™L…á3æîº¨¨hÏž=óçÏ×ÐÐ’’jkkKMM-))lذ+žTxØz¤SÒ£J¢Ð| $"ÉJÝŠymŽv'²j²’*“VÞûk-Ô,|\}r^.úTiþ$¾—N¶÷R옼ÞyÅ–ÅÞX{CLP ’âûÞ÷ÄÒ:²:mÚÀ/Ó/$?äæÚ›üXŒøeú½Ì{yvÅÙьۄpy¨˜››#k¢å"""Çgò8yò$FC>Ö1###£¯¯ÃáîܹsäÈ‘ÈÈHf999ä‰2òòò§Bzzzzz:`óæÍèCÅÙÙ¹¢¢ÂËËëÅ‹H‰‚‚Â7˜§wò"3ýè§õûfø¦U¥µt·¨K©ÿbÿË©7§j¨5·ÖÞB ÿ~ôa}G}H~H~}~}G½$QÒTÅt•Þ*!üdÏÎa†{°pèС÷ïß——————”••ýõ×íÛYÎ’o¾ùæÈ‘#¨ã255“`ǘ»k•Ù³g§¥¥¥¥¥¡…$éèÑ£‹}^Šbª»bMiͧ[ŸþõkòÇdƒ1Ÿ<ÿØ’c7“o2Ë(“”ƒÜ‚<ã=cËb;ID’¹ªù«šÒ>JƘ(áÈ!›C""/ò^Ôµ×)Š+®›»nÓ¼M£vHI<ÝúÔ'Ý'$?¤¬©ŒJJ󕿝Ÿ»ž%ÙÇÄ2;y¹èS¥ù“ø^:Ùœ!æKˆÕuttÔÕÕq—ÑÒÒôô¬[±¢c|L:røyÎóÔoS%‰’ài¥}7ú²dŸC‚rƒü³üO-;¥=C›OUŒ+ï­$àO·>ÚGГç£ÏßHº¼=þCyõJÔÝ]®¤¤t”z¾ýöÛÞÞ^//¯îîîäädä\AAaÑ¢EH’<„ëׯËÊÊ"ɼ¼¼LÑ, tt·´´4--­¹¹YJJJMMÍØØxÄY£Ñ: Ìt„ŠŠŠ„„„öövUUUŽO î2wïÞíëëÛ»w/GKúûû¯_¿.//¿~ýú‘µ…#|õŸß÷2ï%²­'¯ääìí\Ö\–qðïÉÆãà?§:cÞ‡a…aî/Üiôä±ÓÖðqõ‘“ì,ÈX1¶þóêÕ«W¯^ÕÐÐpttd—¡R©áááõõõd2ÙÎή··×ÇÇÇÐÐùñO£ÑØÏE µ´´V¬X&''·µµ1 dd³[樧¼¼<88ØÚÚzîܹhatttvvöÖ­[™?Ž¡»äççøð¡®®NXXXKKËÄÄ„}mEÀ›» ãü^ |áÀ÷R0EÞKEEEÑ%ºxŽì˜8è8è+èóõ—p5µ:¥*¥½·UŒuuê?|¿èû‰2`Úôäô ¬¬ YªH$򯯡øh”}ûö¡Ûƒ9\4559ΫººººººCË ¦¦6äšÜe¸t%îîî¼X2Ièêïz™÷’,A>¼ø°´°´ˆ€à'ûŸºû»'Ú´)?ú°­§MI\É~¶½ö m‘TÖTææ]ÖTöËÛ_®¬¾2v¶Cø â?q8· ..Μ3ŸH$2 s<—c¡¶¶¶¶ö?¾0»eާ¨««³rôócè®:::::C¿ñâ®!È—|/eaÂßKa°cR  ®  ®0´€ÈâHƒa«Ó@N¯¨¨pss›hC ü¢º­°lÖ²³?"Ö•ãé AàGÚkÛ¯3X‡¬Ú°Ö°¶×¶·¾nW7µñúO[ _„À`ÇxÐ3Ðó8ãqRe0L”M6mf`™/¦xèèñËô+o._:sé&£M€w•ïB C«Z«ðX¼¾¼þ†ydDd˜U¥T¥„„~lý(„Ò“×s5t%Ig"μ)z8ýæ4’%dŽÜœãvÇ4:í¯ü¿bËb›ºš$„$ÌUÍWë­Fçæq´ÿÈ}ñ£í ÿ˜*†·;>Gn¿º€ÈÒH²yÖŒYƒS^^×Q'" ¢%­åbè"+*;d‡pïäOퟂrƒ  [º[fˆÌ°T³tÒuÂap.=É¥.”Ò¦Òé*[*eDdœõÍTÍø×Q_ ¥»»{ ?èA&¯<òëó¯ _ç~Êe>$"(‚æ›àW‰Þûô.÷#?À¬¤«¿ëQÆ£ê¶j5Iµí ¶“%È€7Eo^¼nín5P0Øiºñ¼Ø6æð©Å…ÄY„ÄDDpؑπŒ3ÐB ÈØýê$;øN{oûFßÈë& ²$òUÁ+UÒ?UÖRkSªR¨=Td·ªµ*¥*åuÁkÏxÏ>Z`¦ÌL:ƒ~$äsú¥È’HïtooWoäN;røEÞ T ´0Ô+É+ýÛô‚†J€šÐÝßýÍ“oÒ(Ÿq…ä‡Y'—žDÒj"ßå.Ä\H£¤I Kí1Û£)­YM­¾•t«°¡ðDè‰kk® f‰ IÅJÍêuÁëcKŽI ÿ½hsTiT µæè’£X –csÚ{ÛSªR¸7y†è î  ½½Kf.´v·>Ëy&.$¾×lדּzz‹Šžd=A½péÁš öR•%”×è¯ÑÖ­ë¨{•ÿ*¦,æEÞ g}çÁz’—º~‹þÍVËÖ^Û^D@ämñ[ÿ,ÿóÑça°c4$$$˜˜˜ Á ¦'gìÏä×ç}}ÔiŽ“«áçeÌN†¬ï¨ì¬!]%"Æý~äîк.Å]²×¶_6kƒ}”ñ(¡"aßó}%%ûÌ÷ÍSš×ÜÕügŸÕQ%Q‹µón3£ôœ|íÈ’ˆ;Éwúéý”6JCGí%Çlq72y€þ@ÆèW'!0ØÁ_h Z`N ˆ€ÈÓ­OåDå6š666w†<×n¦šéÁ`ÜM½;CtF[„R¸\{¹„„×;¯ÌšLCECŸt<ï»Ñ]²\{ù³=8 NGN\=GnŽ1Ùµ- +@/ødóu)u¤Ða¶ÃÒ›KËÃ;ÑËÌ– ¸™¸Å•Çùgùï5ÿ;§ÎÃ÷‰â:ƒA?ëiÏÐöÝè˽ÉÈp.DGˆ Š"ëà±xƒ±JwÕn³ÝŸÛk¾‡Î è :—A²7ÍZÃÚPÑ0(7(øC0µ‡J£Óúéý€´ª4g}gŽ=Éc]«tW]qÙ¶Õ²­h®H©Jiêj²ÕŽÐéôÄÄÄ]»vM´!~¡¯ ÇáŠâŠÌ«„ˆ ˆÖÎ?Ô‡t•FJFH!÷û‘»@«[k°öçå?#Û 5šyšåÔæ\Y}Å^Û)”•Ýî¿=³&s±ÖbÞmcf”ž“¯}X×^‡bäDåLUM§Êràè?!dl~urƒüåcËÇ®þ.{m{$Ò !­1Ÿ0,Û˜“lGÂw;eEeÑ„Ðë Ö¹úº¾.x]ÚTª) s³Mv ÿ„@ ±úÕÉ vð919@^]s!Nc)Ẫ@^LƒÁ(¶9Ì.©&¥&ˆÄ`0Y5Yôdà«6€0 ´yIÍý”KgЙçŠç|ÊA²[‚âlàü{ìïÒX¨Y<Ïy¾P}¡†´—æŒ>gGDq‹³Ñ´a.4Q61ùöî;®©«øÉ„½‡20  Áª¸E«Tu´u´*}l«>¶ŽÇµj«å«ÖU-*‚÷dŠ ˆˆ„†a@XI~ÜþnÓ$„ &€öó~õrrî9Ÿ“Û|LNî=ÇÒ!$ ¯d_Ùxc#B[â±Ä˜i¬ø‘;´zA}I}Éû øõí!©Oü²¯$Á¾€µ´´Ü¸qcݺuýXºM•D!’ú,6¥¬vÔ#½‹“B¦XëZ?+{VÞX“äOP.È«|1S-=†ž£‘ãKÞ˃‰?÷ùœL"wŠ:wÇîæÖs{Ô‹Îi9ò ÷Iama ;ûµ!TÚPzþùyw w*™êaá‘ÆMÛtsÓwã¿Ã~´léh9•vj•Ï*2‰ÌPc „JêK°©,6gcçl^öž‡{¾ó5¶ÆéôÓ … †LCGcGÅ!1hŒ — SONx| ¡µa©ÇRÅõß~ÍŽNŒ›¹þ{lAMÁ΃@v ¶H*…L1Ó6C¥rS—x,aÑYŠ_¹]`¿ÊÖ6´6`W¸äUçm»»í—y%{×xׯ_ïèè˜9sf–nS%‘Fˆä>‹M)«)=Îc)ÇFï½%‹îçÝ¿“{!4XOѬ7 €rA^°`²Cå¾óõò¨åûâö~rÚ\Ǽ¤¾¤©­iˆáܪܵ³mâ¶yÎÛ|{óΘVºVjdµ²Æ²êæj„ÐZßµT2uË„-óþœwùÅ囯nZ±¬(dJ~M~‡°c¥ÏJ„¶_àæÛ›ÃŸ†kP5œŒ6OؼqÜÆ¥K¥‹ÌŒ´bY•7–c n»QòJì®,v_ö$ìpÒáÁúƒG­¸ò[Þy^ÞXþªòÕÆqñ’ƶƟcÞóp‰–‰±–qCkCAMBÈÕÔ« ø‘‹F¡}`ûA,'Öï Ÿƒ¡CS[SQm‘³É?¶Z”ûJö¢/ÐkB¡ðرc,V÷·ƒ›nSe·-É}[߯ÙA$Î97~ŽýY—®kÁ²‰Deeõ‚z„Ð<×yæ:æ}-èÈŸ \W2øÍYåÆÚŽýeú/,:«¦¥&³"S$íØÝ‹Ï͆_k;VÐ!ÈáådTdT7WÛèÚl»ûåÍÉØéü¢óîîmmyÕy¯*_©SÕWZMFd„‡…G ;°SÔ™Y‘™ÊM}É{‰e3êhÐQk]ëzA}fEfusµÓè—¿Ì6‹HH–,Ëq¶ãB‹Ý˽ÕE‰ä=@ùÛùã%ƒõ¯ð^¡ÇÐ+o,Vö¬ ¦@—®»Öoí§#?Å*(~Aºòã”=-=‚ŒòŒ‚š¿A~¡3C%+È}%{×興ˆÒÒÒ5kÖôw ` ê6UÑmèÇØú@·q®òYåaáQ'¨ËªÈÊæe× êM´L6ŒÝðÔú;vÐ ÈŸó’÷òϧ†&„ž~!t!ãÂá¤Ãø³OËž†&„–6”ö_€ïU¼†9•9³.N:|þùyì7<0ðA^ÈH’K¼¯ø|>ÇS\ÇÎÎ64”7m_E1tŠ:s«rÅb±U#¿&¿º¹»ý!©_¨ IDATTÑXQR_âh䨭¡âÖsËËÙ¦l!ÛTS[Sq]±H,²Ð±ÀîàRÝ\]ÚPª¥®e­k-õSaMKMI]I»°][CÛÑèïUŠëŠ«›«YtÖ`½Á’ÓŠ#A­ˆZ‘ÆM{¼æqW”eiÄRn=÷ÁÊRåb±¸¢©¢’_©K×5×1—ûÓ¨ÜDñÐ*+x|ž™¶™ÓH(>)}¢Çг7°Ç+tõJï +t1uùwnÖxó&3$ĘÃÉïé­­­&L˜¥ÏЗ{w·µ®µµ®µl¹âH’‹“cócç¹ÎSõLGs{sJIÊÇnË>E"‘̴ͰÕ:º"÷Q<4É3B!Sdÿ¡êê•$Þ—â@W:ÔÔÔôÅ_ôw  /0h ÙwŸd.E2ù×Uª$þ~TäÖ—íŽJ¦Êý˜ÛmW"U¼†¦:ÓÉØI)A‚¾ù „:„ûã÷kP5f³gë3ô±éç Ÿ‡m/ ˆPÅk˜W—_“ïjæ:Äp‹Î*¨)ˆåÄ^yqEŸ¡¿É“òbJyu€ƒÉÐ?ÞÿñYÙ³l^6 ‘ï8«,§æ‚þAvvöÑ£G·nݪ¯¯Ìà½ù`ÊËZ;[ŽX¸}ÒßÛZÏuÛ!½sTñº[¸Ç®ŠµÐ±ÀK’‹“[tíå5˜ì° ¯|0Ùzã%ïeFE…Lùꃯ Tݦš&\H ÚÛÛ¿ù曑#GΟ?¿¿c€w äO€9ûìlNeBèUիЄ,E¤FQ[å³JÁ±­ E Üz.Bc›°ñ=éB‹§—¦Ï>_‡®É)ª-2Ð4˜`?ßA÷¬ìYnUn ÎPÓÐÇÚGò8¼¦:óçAYC™®Íû 2!TɯŒáÄÔ ê]L]FÙŒ"›Ò©è5”ýIÏÛÚ[GC§¹­Yy±e‚¼úN€ÉÐ[&ná·ñmtm ™†ý ø·øá‡Þ¼yóǨz5\xÏ@þ˜sÏÏåðrBé¥éé¥é’Oi©k)ø¢™ùSÌOü¶¿×ñ´ô<4û.]!”X”x$ùˆ³‰óîØÝù5­zÀ¢³ÎŸq4þk]³l^öºkë$Ý$“ÈŸû|¾îƒuØC¬C‡]1»ðu=ÝÌÝ‚Ãpl¸¾¡]ØŽ.tûÇ%Šc“UÞX•¥ðuB†S†L‘û”Š^CY ­ ~ƒü‡ ú äÕwLv€Þ\’媭­­¬¬:t¨dá©S§"""¿íÎ6:¾pÄB ™r+÷ÖÓ²§ßßÿþê‹«ÃL† 7^'¨‹~}öÙÙàáÁØgQ‚±I*o,—º"CV€c@W“*} ³*²bócÛ…íÅuÅ1œc¦ñ– °ìe?ƒ¼úNƒÉÀ" ×®][SSsýúu*õ¯·sçÎõë×Oœ8±Ã€ ò'èÖ‚ °/ê!~!xù£üGµ]ntº÷Ñ^:~ná9|Åb±X¼æÊš;¹wòkòñû/¬XVaÁaT „Ðzáú€éeéü6>S‰f2ìþŠûošÞäTæ4¶6ZèXL²Ÿþ,üçäd‡­¾í©àSj5„Ð'#?™pdBdFäêQ«ñ @FZÜtsS,'›ì ›$3m3ɱ˥àm•¾†Yo²ð‰-“_?üV¬ë_Wßu0Ù@~ûí·´´4„Б#GV¯^JIIY³fÍìÙ³—/_ÞßÑÀÀù¨B%¿’SͱbY=*xô¨à‘X,Æö[%!BèÅ›ø·ñ•Þ+±™„Be=ª ¦ ’_‰MvPH”•W¾®z-Õ~usµäÃϼ>Ãf:B:ÖºÖ…µ…’÷†Œ²…*k(ëQl’ˆLv(ñ8Ù&ì¿va{YCYl~ì³ ÿ;Žü´/£’ ¯¾ë`²0PÄÆÆþþûïØ'€ÐÐÐI“&ÕÖÖ._¾|ìØ±?üðCGäO "Øvª%õ%ûâöÉ>ÛÔÖ„ÿ-µƒµ¦š&B¨SÔ‰=ÜpcÃëª×¶ú¶z =…Ö.l?œtûŸ¶«Fè4º¶†6FÇKj „Pkgkb“ô–kvôñ8Ù¦l¶)û»¦¥&0,pwìîN3°ÝmAƒ¼ú€ÉÀ€P^^þÕW_‘H¤¿~î ‘V¯^]VV6eʔݻwS(”þ(ÈŸ@ut4tBvvÓ†N“}–mÂ&ÒHs{s7ÍÕÔõÂâ Ò_ÿCæðr'îûØÞrÍŽ^è]œú }ŸÈŒÈ×U¯a²£ïA^}?Àd ÿµ··¯\¹R ˆD"¬¤³³³¨¨h̘1{öì!“Éý X?J™j›ÚèÚTñ«¦ ™"¹’…X,N(JÀW PŒD"‘H$ š>ÓÑ.lÿ5þ×~‰í-×ìPQœIÅI4 öMÓ›ø‚x„>C_‰Á" ¯¾7`²Ðÿ¶oßþúõk¡P(Y(‰?~Ìår­­­û+0à UÛ8nã—¿øðä‡>Ö>¶ú¶êTõÒ†ÒŒòŒÒ†Òìo²)äîâfÐ)%)sÏÌõ°ôhjkŠ+ˆkëlë—Øú~Í"qþû3Ïs7w·`YˆD¢Ò†ÒøÂxA‡`¸Ùp|û^Ðg ¯¾7`²ÐÏ®]»!÷)‘H´qãÆsçÎÁæ ò'è&þ:ã×í÷¶ÇÆÇÆc…dyÌà1T ѯ?LùaEÔŠ§eOŸ–=Eé3ô›ùÛ¢s‹Bl} Û8ýù…= »{[ò¨1ƒÇ왾§Âýwƒ¼ú>@Yà=VÚPúÓƒŸžpŸÔ ꆙ »²ôJ`X`AmÁ³uϰ ÇSŽïŠÝ¾ ÜËÊ«C°”þ¶ Ûä=¸š}5§2§’_©K×õ²òúbÔööªöêÕ«ÿþ÷¿]=ÛÙÙ™žž9wîܾŒ }œ?߉lœÍË~÷ †óâÍ „Pö7ÙêTuÙjQ™Q§ÓOç×äÓito+ïõc×[ëJÿ¥¸Î…Œ ßÞú!4Äü&K/ƶ"jE '!tbÜ1" ‚^0`„ø…¸[¸KÎ>[Dãfáâb®cŽ—Ìpš1ÑabbQbam¡H,²Ð±n6_Lt”Í(uªºÃ@²M¬P_ó¯[0ÜÌÝî­¸÷(ÿÑ›¦7fÚfþvþêTõ¿;;nlm”,Ñ j„ø… 1B06UPÅkøÍ˜o>÷ù<¥$¥¸®¸­³Íˆiäná.›´ªA^}ÏÀdG_¹’Y‘ÙßQ¼Û”þ^yqû©äWF¿Œ¾÷ú^Xp˜Ô¿^@ušššV­Z%u• ŽL&“ÉäÎÎÎÐÐÐéÓ§3Œ> ?¥ä×äÏ<9³Ûj¿Æýz(ñöw[gÛíÜÛIÅIQ‹£é êQ„•L½þòúwã¿Ã7•DUñ«å?¢’©øV  Aþ½cÈ4”½‰c®ë?¾¹¹™»¹™»IÕÑ jøÛùËmÓׯ×ׯ·ÛB]ºî¬a³$K$#‘ÛHðð`©:.¿‚ØTA¯!BHSM³/GdA^}ÿÀd‡ÊÕ¶ÔfVdº™»ýø;¾ÂÐÅ%û7ªw‹*^CuªzKÐÔ¡S‡ ÕÑÐ)¬-ü5î×XNì®Ø]‘G*#jÐ-ñ† Þ¼y#ù ‰D"“ÉB¡P]]}øðá|ð»»»««+FSÐx_õ}þüÌë³Ï¼>S]ûo„HNÆNãíÇûÛú¯¿±žSÍ‘­Ã©æN:¬FQûqÊS‡N­Ôýôà§;¹w~¸ÿɹ'ˆ×ÁøÛùß}}÷Nî™ÎO²\~qY„Dí&Þ}}W¥ã]€ü Êyõ=“*WɯDyXzÀZʽ¦Š×p¦óLÉîŽFŽf±oÄKÞKeuºó˽{÷BØö]B¡PKKËËËËÛÛÛËËkÈ!°Ø5€ü)k°þàkË®a“ü{†/f]‰E+}VÎfÏFÑiô_gü:®l\|aü›¦7&Z&ë`<-=s«r£2£$sfTVÔHË‘–,KÕ(ù” òê{&;TkÆÉ9¼„ÐÑä£G“J>¥¥®…ßs.«¹½ùXʱ[¯n•6”RÉT¶){•÷*¿A~س{î9’|$ú“è^α”cÅuÅšA.Ak|×I½;„·so_̺øºêumK­ÓÈwoˆo~s ÞÈÓÒ§aéae e6º6_ùÚßÎ_Ð!Øûhï­W·êõ.¦.Û&n“\ZqlJ§¢×P…L¡)ºt]%ºÂá$#ô_„‹Åòñññòò9r¤½½=,øp*zï× êŽ&½÷úÏÓTÓ´3°[ä¶h²Ãdìÿ=É5;²*²> ûH¶}MƒäµÉDúê/©%©¡>ÄKÔ©êS‡N {–Z’ú¡ó‡ëàÙûâ÷•6”ZèX „ÒKÓ j >÷ùüU嫾ù” òêû &;¢†Ö†à?ƒóªó°‡m¨-¹89¥$eïô½’?¬N?™ñ× åå¡ ¡b$þÒïK¬äÎë;ë®­Ã+—7–GfD>ÊtãÓ’ßç§¿š}û;·*÷ó‹ŸŸ_t~Wì®ôÒt¬ðIé“O#?]‹-€G06IOJŸÿ)}Ë¥”Ç€ßfþFèÕ!¦Gqv;ŠëŠCB‚5¾k”«µµõÅ‹»ºsÇÆÖÖ¶¿Ãï•nßûŸ^ø_DÐ!¨n®N.N¾ùéMC‚]8;ìKVßäÃâúb5Šš®dáP£¡¡âºbâup³Ù³÷Çï¿”u »M=23RSMsÊ)0ÙÑ÷ €rA^}Ád‡jE/‹Î©Ì™qbÆJï•ëÇ®Ç˱ݺ:jW쮼ê¼ÉC&¯ò^eg`×ÖÙ–P”°íζïï}?ÉaFǪ]˾¶uâÖ)C¦hªiÞÏ»¿áú†3égB|C°9H5ŠÚ×9Aì [}[M5MŸwåÅ•ýñû#3"Wx¯ÀûºûúîS~œä0‰L"O=~8éðg‘Ÿ±è¬SóN0Q'¨ûöÖ·‰E‰Ñ/£ƒ\‚ˆÇö®¼†gŸÝzg+ö·!Óð»ñß-ó\¦ô!)³fm‰1¶µÍïïXÀÀ¥Š÷~S[SfE¦­¾íî€Ý†mmyÕyaOÂðkâ$±MÙœÿþcEŒß~K,J<øÑA"}©"Äoã³è,©ß£t4tBMmMÄëàL´L|m|/f]\ë»VÐ)¸™ssºÓô~à¿äOP.È«ï1˜ìpÚ…íÑÙÑööfÀ>†ÒiôéŽÓZ¶ÝÙ–ÆMÃwø[ë»v±ûbìï™Î3ï½¾w;÷vES…™¶Bh’Ã$¡H¸?~NeNck£H,ÂjæVåJv·Öw-¾ÒõW|u!ãBmKíéù§BšjšëǬÿ¨è#N §G±Iò°ðú j½‹³¶¹6©8)À1ÀˆiÔ—Ñ”¥Û÷¾·µ·Uc¸ÙpW3WìYOKOOKO"N:ü(ÿÑéàÓØ—üw%âÄbñÛÔ™ã:'äJHRqRYCYKGË—9J@É`²cÀáÖs[;[95œ¡{†"„Äb±‰Ñÿÿ ZÞXŽ×ô²ò’<ÐJ× !ÔÜÞŒ=Äî<—m¿­³MòáH«‘øßdÙTËTÐ!Àf:0ØáÕÍÕ=Š­sÁˆ F,hël+o,¿˜uñHò‘¥K£?‰¦(ý< ×º}ï«QÔvLݱõîÖܪ\/+¯¡FCGZŽÄ²œb'ÓNÞ|uóÌü3Lu&Á¾T6Êî1Õ™­b±XòÂÆ¶F„–ºñ:’&ØO`ÑYQYQ¥õ¥¶ú¶#ÌG¨v o&;ì ±X,ËÙä¹CØÿ­AÓ| [–ûœ- %bª3·OÚîcí£ÇУ’©Uü*Ÿ>R b+qü݉$[‚7K<6I}¿fGOãT§ªÒô͘oŠj‹nçÞ~QñûÕðn!òÞÿÐùÃñö㓊“²*²n¾º¹õÎVokï}3öᳲŸ†GfF†/Çîò Þ—¬¾É‡Ö,댊Œ¢º¢AzƒðBl} k]kâu$©QÔf8Í8ÿü|‡°cÃØ o@€ÉŽÇBÇB¢Æ6eG,Šèu#m­Ž’‹äÅÆ „Øú@¯ãl¶#„øí|ÕÄP-‚ï}M5Í ö&ØO@åVåüp0ñàÆqåVŽÊŒ:~:|A¸ÔVM9Ž´™Q‘qíå5|Éê¶Î¶Û¯n“H$üž"u¤Ìq™s&ý …Lùh˜œMj˜ìpè4út§é—².­»¶n‰Ç’ÁzƒÕ©ê¥ ¥ÏËŸŸ{vîì³jµnai°è4úã¢Ç … –M­M÷òîýûs¿ÄÖ÷÷¨‰ó?Wÿ3Â|Ä(›Q:"±ˆ[ÏÌŒŒáĨSÕÙ&쾌 ,ݾ÷_U¾ Mã2ÇÙÄÙ˜i\/¨¿›{!Ä­çÊmðjöÕÃI‡Ã†hô´¯~̇ìÀ?Rÿ8’tÄRÇrêЩu‚ºŸüÄãóFï>N¤Ž'c§þZp §`²c únüw9¼œè—ÑÑ/£¥ž"²ÂBˆD">™vriÄR¼ð£a]~q¹ßcëÝÆYTWt=çºÔS$iëÄ­ÚÚ}%@Ù¿÷EbÑÃü‡óJ–“H¤N3d›J,JÜpcƒP$ô=à+Yn i¼6¹Û¾Þ~,]ñ=àËãóð‡Î{ÿZe)íË4ìò;»U>«%ÚpcÆÝr¢£¡³uâVü("uÞ]0Ù1éhèD-Ž:~úF΂š1›ë˜»›»Ïu+µ †ëÇ®×TÓ¼š}•×Ä3Ó6›ã:gህo?Ù¡”Øú@·qøè@dFäÃü‡ÅõÅííFL#w ÷Ý?n6¼¿côžâ÷¾‹©ËsÿˆÊŒÊªÈªäWêÒu‡™ [ê¹ÔÇZz=#„PnU®P$g=‚}©lˆ„|õÁW–:–§ÓOÔÐito+ïoÆ~c£kÓÓ:€÷O‡°#üYøî“:AÝ ½A?NùqÛÝmååÇ‚ŽanäܾeâG#Ç·ïN¹­©ˆP,L/M÷ ›—-‰Â‚ÃhšlµüšüóÏÏç×ä3h okï¹®se/âS\'–{,åB(À1`¡ÛB©c%J(L@m·Öàí‘Ô¯ñ*Âçóy<žâ:vv¶¡¡¼iÓ`±úÂÍ›Ìcö3@þ /Aþü7Pi^ý*ú«kÙ×°¿‡™ »²ôJ`X`AmÁ³uϰBlG¿ðáRÿõŽr[S…òÆò'f4´6à%ÙßdËÎYß{}ïË«_bë»aئì?çÿ©©¦I¼Î…Œ ßÞú!d®cþpÕCÉý°Ÿ>ü6>BèÄÜr÷/*yõ]Ád2‰×‡+;øWhéh¹–}ÍBÇbø ú }ìKø÷S¾tTÔc€cÛ”=/ëtøí|OKÏñvãÏ<=SÖP&[§NP·þÆúva{ ;[çèPâ¡¬Š¬ÝwoŸ´xÌóÏÊž%'²…ÞνÍoã»™»=-{ªÒñðï“ü+`ßä'9Lš6t^èl쬺MµM»Zöx€0×1O IÅ6¿˜uQnÈŒH~ÿCçøk½kŸ‰G'FfD®³Û¼œHÌû …µ…³.JNvDfDÚêÛŽ0“( LvðþÛtsSNeBèVî­o^H>¥©®‰¯Ù!WRqÒíÜÛÜz.•Le›°ç˜oS%‹<º÷úÏÓTÓ´Ó·›7|žÓ{VrÍŽ‚š‚Í·7Ë6΢³Í>D¤/UРjhP5×y\ô!´Ø}1^b¢e2yÈä+/®¤pSÆÛ'X£FQ›á4#2#ò“þ§¥®…*©/I+M[?f}MKRÀ¿Lvðþ{Á{‘ÃËAU4VT4VH>…}å–K$m¼±Qr‘ûNLXzXXpvIȦ[›¢2£$ù=é÷;ËïX²,±¾R¹©­¡æöæTnªl¶ú¶û’•[•»ýîv¹Oá|¬}Öú­U\G±¼ê< ™2Ìd˜d¡«©ë•W8Õl"ƒH\KЙô3×_^Ÿ?b>B(2#’L"Ï6ëÔ?Þ&N€$˜ìàý·cÊŽœÊœoo};ÃiFðð`¼|ë­•üÊ®Ž:š|ôò‹Ë–,Ë…#ÚêÛ¶ ÛŠ"žG¬»¶îög·[/f]ÔÖÐ^å½ÊÁС­³íuÕ눌¹‹€ Ö¾ \²äQÁ£Ë/.˜ÆMÃþÜEeÿ‡û·ÝÝý2:³"!dÈ4Ü2aËèA£%Û!RÐg`²£/O9þóßÅb1Bh˜É°àáÁÏ# j þžì(}šêe奜É¥¶¦ u‚º76&%âkM­ô^I¡JOvÔ¬ˆZQTW„—|ìþñÖ [%×»ê¶Nö›ìЄP„«™ëÅÅ%Û‹ÅÛïm/k(C 7“€÷[7-©8)È%»Ès<åø®Ø]á Âá×Eþ ¬u­Ã„8MAñ IDATK&„Ð÷S¾tð‡ŽlS¶äÒ¡ƒõŸs¼©­©¸®X$YèX`7­ „´5´7ŒÝ°~ÌúЦŠJ~¥.]×\Ç\ò ÉÖ¦êdì$•äD†‚¾TçÀGÚ…í²åØeM5ͽÓ÷n¿¹¸¾Xƒªa§oG!Kví¶ÎXÛ±á Â|æ\è¶ÐßÎîj@)`²Cå:„ûã÷kP5f³gë3ô˜F¡yÃçaË©‚›…[ˆ_ˆÜeŸˆÚ–ÚNŒUcœÝ¸çeÏëu²u:„Ø,†­¾­¿ îúËëgÒÏX±¬–y.#^cɲÌ(ÏàTsì ìðÂÇEËʬXV%õ%*/ ©ÜÔЄÐQ6£$¿ç ü2JÄ 1dg6%šj›šj›Ê«¥®5Ìd˜ÜfI$’™¶™ÔŠlk&Z&&Z&DâTЗ*Œ0A°&‹ÎbÑY½®cÄ4¾ tÅŠeeŲ" @1˜ìP¹²Æ²ÖÎÖ…#nŸô÷¶X’«4+›¹›Ü}È}†þ‘ #£¬GÑiô©Ç§Êìˆ~]TWäjæzná9l·ö@và‚³ %Zì±»ç…ḢNM9™¹É^™©K×g7.ìI˜ÊÇ ÒÀÿ' `²CµÎ>;›S™ƒzUõ »™§FQÃoc‘«±µ1¡([Ï¥Qhl6¶¡®^PWÇãó4Õ4í ì=,<ð7$×ì¨äWž~^¶qñ™×gûR:l_qÅup „VZÍb „<-=GW÷„ûûQ‚Hɯ¼¸²aÜl¤¡µáÞë{ Ý’Id  4Ù¼ìÔ’T1{Xx¸˜ºÜ{}/§2g¹×r:Žz\ô8½4}þðùÚÚ±ù±EµEÃL†ù òC•5”%'V7WëhèxYyÙêÛâmÞɽ“[•‹7"Y¸Ò{¥:U]²e¦:ó~Þý²†2c-ãñvãµ5´‰„­ 0)—x§ F'·ëªæª¤â$„PTfTbQ"BÈ\Ç<(µÌ~¬]'†ST[d i0Á~‚쯔ŠÏ @ÿ‚ÉÕ:÷ü¶ºRzizziºäSZêZ &;"3"Šù‰ßÆÇK<-=Í>¤K×E~þÇû?â ^ „† =5ï¶¼“äš¼&žÔ$ ƈi„Ov(îKVycyTf”â;:L2EqŰ×MêJKo+︂¸W•¯°r"upØNæ±œØ öBײ¯µ Ûƒ\‚.e]z›8ª#‹¶ÜÞ‘—,r[ÔÒÑr)ëÒÇîc_ª‹$q0tس [EÿÏOüùí}´÷XÊ1¡HˆH"‘æ¸Ìù~ò÷Øäw_ß½š}oƒ.õXŠMv`-ÛØïŠÝ…-îƒÒ¥ëþø»‡…G·Áw˜â”K°SÅ£“Ûõ«ªWÉÅÉ!<´È”Zæ ;ÖÙÄywìîüš|¬&‹Î:|ß:‘Èyè_0Ù¡Zó‡ÏÏ©Ì9÷윻…»¯/^ñ<¢¥£¥«£îçÝßtk…Dg7ÎVß¶½³ýqÑã4nÚúëëÏ9.èüpÿ‡¶Î¶1ƒÇ8:´u¶½®~R’RÛR‹¯e3Ö2ñ ‘,áÖs¯e_ûߤÿéKnxåår'P$8¼ådGUs•ކަš¦d!vWyUsñ:¸ÑƒF1"3"±ÉŽ ئlXÿ €ìÔ“S2e¢ýDK–eAMAø³p=ºœ•ê¶ÞÙJ#ÓæºÎ5Ñ2a>âϧN:L"‘üíümõmKJï½¾w!ã‚Cï›1ßô(†mw·ÑÈ´àáÁêTõÇE9ÕœÏ/~~oŽnïÙ–Á”«¸S‚£“êÚÑØQ$%'ã ”*X§cóíÍ%xx0ƒÆˆ+ŒãTs¶ßÛ~~Ñ_× ?/ý&;TkÁˆØd‡‡…‡ä¤Ã£üGµ]µ÷Ñ^:~ná9|e&±X¼æÊš;¹wòkòu4tÚ:ÛæºÎÝ1u~Èëª×†LCÙ¦Œ˜F’ýV4V,<»ð×ä0‰H_’×Eã̴ͤ&Pd9:(®Ð­¶Î6ɰ1ØÏ­­­Äëà(dÊlöìcÉǪ›«+ù•9•9Û'oG€ìxÊq2‰|:ø4~¡Öý¼û«.ʹ&ÎDËäÜÂsøÔ禛›B?:ˆçºŒŠŒygæJ;µzÔê]z`Ä4:¿ðñóÐ_`²cÀ©äWrª9V,«G<‹ÅØžµ$DB½xób¦óLw ÷”’”NÌHË‘ØGO"“ •üÊ%KÖú­ p ØW¯';Þž:U½­³Mª+Ñ i¯#)È%èpÒá+/®”6”ªSÕg8ÎP~Ü%)k(«äWú ò“¼%m‚ýS—ÌŠL©Ê˽–ãßêËËß4½q·pÇçB®¦®Ó§]˾öâÍ‹-K´Âk–fBå?£ÿs'÷Nzi:ÁÉÉÀˆ§\d×=µÒ{%6Ó¢Qh£¬GÔTò+™êÌ€þ“¶%mI}ɾ¸}²Ï6µ5!„NÎ;ùGÊûâöåUç™h™xYy-±ÀÕÌUq³‹Ï/þtä§ û¨G}Éê›5; 5 KêKšÛ›%?¬cw°ãwë©#ÉFׯÝÂýB慚暉ö ®2èm!l! Iæ:æ²_ªmtmð¿ !K–¥Tl3¿†Ö†…!ÕñF$#žrtJ|t’]÷”Ô®“XŽíu¢ž€þ“ŽŽ†BÈÎÀnÚÐi²Ï²MØ!±ÖoíZ¿µíÂöÜÊÜóÏÏ :tl¬íX¹mÖ êŸ_¼pÄÂy®ózÚ—¬¾Y³ÃÑØ±¤¾$¥$ÅßÎ/L.IF99¯#%ˆ´éÖ&„PKÐÛ„P5mum„¶¾¦$|ÙNITÊßÿœéÐuBÜz®T’úôÿóvÙBs{³äJÌåå²-së¹#ÌGà±x°FˆøG`„S®‚N‰ŒN¶k%êÑyè/0Ù1à˜j›ÚèÚTñ«¦ ™"ysŠX,N(Jf2¬’_ù¦é‹© BH¢Æ6e³è¬ˆŒˆË/.ËìhjkZ±t–ó¬Ý?îi_r#ì›5;ÆÛ¿“{ç`âA¿A~ØÎ²iÜ´øÂx]º®‡¥ñ:Rœ*š*(dÊ(›Qo!@¥Ìu̘F‰E‰iÜ4üÖŒNL·—˜i›™h™¤—¦?à<Àw¹ÎªÈºõê–UËlf:f¡‡ù¹-Â*$&Hí™…9šrt¼ýxìÒ¡X¸?~?BÈݽ#"žrtJdt]Q§¨£ž_Û"¥×ç /ÁdÇ@´qÜÆ/.ñáÉ}¬}lõmÕ©ê¥ ¥å¥ ¥Ùßd—7–b8ÄÉØÉX˸¡µáAÞÔÅÍíÍË"–5´6´t´H^ŽÁ 1°­g÷E!SdÛTÊš'ÒN`;/Ö´Ô „&ÄvL\îµ[]o†ÓŒC‰‡2Ê3fœ˜áoç_'¨»þòºX,þbÔÒ_Q©#…AcôÁ‚#¥øÄó“]±»]4Ña¢%˲¨®èAÞ}†~MK ¶ÎEWVù¬úßÝÿ­º¸jœí8[}Û²†²»¯ïvŠ:?ñþË0þvþûã÷ÿpÿ‡4nš¹Žy~u~l~¬¾¦~_z#§J~夣“üíýÕ(j‰E‰yÕyºtÝ@v`ïFD0å*î´ÛÑuÅZ×!´ãÁŽ'Ü'tÝ\Ǽwéõyè30Ù1Mt˜øëŒ_·ßÛ__’Iä1ƒÇP)T#¦‘«™kFyFnU.~ˆ§¥çZßµ²MEeF=/Ž’ºñÄ@Ó›ìPÜ—Šˆú#埇?<”xûãc÷±ë4 íHБQ+òkòókò±g¹-Zê±?ŠHÀ»k™ç²üÚüÈŒÈÛ¹·±’…#V5WÝ}}Wñ·úEn‹Þ4½9–r,†ÉA‘H¤9.sÖ}°«àhä¸Ä}É©'§näÜÀJÖø®áÖs¯f_•jê“þ·3fç¹gç°‡ºtÝß'¸ï¬,‚)Wq§ÝŽ®+ þÀÎÀŽSÍ9–r !4Òrdï&;z}^ú Lv¨œà Ä/DêšçyÃça+ÕaÜ,ÜBüBÌuÌñ’N3&:LL,J,¬-‰E:Ã͆c+Æ™i›]\|‘SÍÉz“Åkâé1ôئlÉ%*$[s5s•{!ƒÆ Ò—ê|êõ)ve‡|ý„­¾í­ÏnÅÄå×äÓito+oÙ»cº­ãlââ"y÷»”уFkªib?x ™²sêÎ…#¦rSBîæî®f®NÔ¥ëb›L#„FÙŒR§ª0¤/mûfÌ7ÁË«›«u4t¼­½¥¶—ÚöÈy€­ã)ÇwÅî _.¹k ï‘°}ïÞo|>ŸÇã)®cggÊ›6MÎ×o€ÒÝ¼É 1æpòû; *ÍŸ™™ØE˜3ég¶ßÛ>ÉaÒ¡Ù‡TѤ=÷I>ýItW ¿7öB?žùóß>—¾+&Ü·ïü¢ó¯“ïÈ«ï &“illL¼>\Ù`àZtvÑ£!NFN4 -ëM¶†è2Ïeýz^þ<® ®«g?üÁp³á}O°çúÝg^Ÿaw‹úLv¸\Í\“Š“ž•=êQÔ6ùoÂ7éGÏÊž)Ø„[K]ëýžì°ç“®3óÏdUdåTæÔ¶Ô1üù1ú¦ë®V¾ÀŒ0¡`k'ë½M§G?žÀ[âTsv?ÜÊM‹Åž–ž›ü7I>r)ëRÚ—iºt]$q?]FyÆéôÓ…µ…‹ÝoòßTÑXñÿ/® ®º¹šEgùXû¬ñ]ƒ/ôuô×W³¯âH>ýÏSlá!¼åôÒô°'ae eFL£9®sVù¬êj=I]ÖÜÞ|,娭W·JJ©d*Û”½Ê{•ß ?©£wªxtr»Î©ÌI,JDÿŒUi9òì³R·±àÇæðrŽ¥+®+6Ð4r Z㻆L"?/€ž‚ÉÛ”Í6e÷}¿¾6¾¾6¾]=;Ül¸*®ÝPÜé€Ò_çð6òkò眙ÓÔÖ„=|˜ÿðyùóa&ÃdkM>ý2û[$•6”†Ö´Ô`%ÕÍÕÑ/£c81Îÿ³§©àHÒ‘ë9×±¿KJ÷Åí+¨)øeÆ/— ¬¡µ!øÏà¼ê<¬¤ µ%'§”¤ì¾w¦óL‚T×=õéôÓ‘‘Øßåå¡ ¡b$þÒïK¬„øy“ü+ìŒÙÙÔÖ4ÎnÜú1ë-Y–…µ…;bv$&ÈÖ¼{ûÛñß83B+¢VÔ´ÔxZz~7þ;[}Û²†²}ñûîäÞùöÖ·ÑŸD÷(¬åéŽÓÕ©êqqÛïm¿š}58ÊfñÃñÀ6ÝÚ”W7yÈäUÞ«ì ìÚ:ÛŠ¶ÝÙöý½ï'9LÂ÷ÃVÜé÷÷¾'2:©®Q ”Êu-ûÚÖ‰[§ ™¢©¦y?ïþ†ëΤŸ ñ !‘H¨'ç@¹û*€w\KGK|a¼™¶ÙY è4º“±Óï³—{—Ä'žŸ|âù ö­^Ð!x”ÿHŸ¡,èØ0“atÝÎÀ.tV¨½}NeNamaÂXæ¹ìÏOŒ˜F::3œfl™°!t;÷6ÁÃ%k¶GgGÛØ˜u€mʦÓè,:kºãô¯Æ|ÕÐÚÆM#Ò)ñÑIvÝSk}×.v_lÄ4ÒTÓœéü`ð¡âºb‚‡KÆ­ç¶v¶rj8C÷ E‰Åb1c „ÊˉtJ|tos›¡Ô6´VºV¡æöfÔÃó &;ø·ÀMHÑeô첬Y©•,Z;[»?‘äFÕÉÀ°îÄb±P,”­Ù!ìPV§²]÷”MC6lRæ¯bç@Lvðþ³`YPÈ”4nZ[g~¿ŸQžÑÍ:åIé~¿üA(&% „¬u­Bú }„PiC)öBHÐ!x^ö\¶µøÂxÉå9ÆvLusõªK«²yÙ‚A~Mþ®ýçuÕkG#Gì.{{„ÐŽ;òkò[;[_ò^~qé Ÿ'ÛÚÉ´“'ÒNTñ«Z¢_Fÿpÿ„Д!Sz1":>Ýizziúºkëž—?olmlël˯ɿ˜u1ètP»°H§DF× „P|a¼ CЋø1½>/ÅàÊþ¾ÿmzYú΃œX ‹Îe3*±(‘JVô½`Ë„-åÉÅÉ3Oþ½Ÿ+ƒÆØ1uö÷ §ûâö¥—¦O>6+1fû ò“ÝRdòÉ;ìØñ`^2Óy&Á­Xd}7þ»^NôËh|SXœäM"Š;ívt]ñ²ò"‘H‡“N:Œi9òì³½E¯Ï @¸²¼näÜX¾ §2§¿(“RÞÚ‡“/_ÐÔÖ¤¬¨ºrþùùá ˆ¯±§DB±0•›º3fç¢s‹„/{›z6/{üþ/¯~¹4b馛›î¾¾+ù5—Tœôý½ï—G-ÿÏÕÿx|~Wà=c«o{aÑ;M5MM5Í1ƒÇD,ŠèvRHM5MZ²,¯,½2ÇeŽ1Ó˜B¢è3ô§;N¿¼ô2Û”UP§ªŸ >5zÐh:ÎTgNr˜¹8¿¥EÒ*ŸU[&l±Ñµ¡Qh:ë>X·{úî^HGC'jqÔÆq‡™ cÐØ^*ó\ç]\|Qr½OÅv;º®ØêÛÓÎÀŽF¡õzè-Î @˜)ï˜+/®\ȸ°mÒ¶!†CðŠƊTnjckc?P:¥¼µ j R¹©¢NeE…ºHDÜzn*7µ¥£E‰QÞX>ãÄŒ†Ö¼Dj@„ÐêË«ïäÞ‘,‰ÌŒôäw8ð°U?êë该~=–r,tVè˜ÁcT; 8: :Š?|Óô&ëM–¶üBhýØõëÇ®—=ÐTÛtç´ Z¶7°?9ï¤dÉ/3~ùeÆ/²5—x,YⱤ§‘w˜:U}¹×òå^Ë®¸SÅ£ëªk„PKPKdÉg^Ÿ}æõ™âce »=/€ž‚ÉðŽ)k,Kå¦JýHàÀ6e;9öWTU°om¹‰¨¿:üv¾§¥çx»ñgžž)k(“­SÓ\3ÌdØû 6z6 ãiÙÓSi§ 'þÏèÿ`un¾ºý2šN£æõ™‹‰KKGKTfT|aüƯyL!QúvXUùâÒ F,p2v¢’©Yo²vÅîtz·dP"8/(Lv€÷©¶©©¶iGP2xka®cž’Š-’w1ë¢Ü:g”¼˜ÜßΈáu×Ö=̈Ov$'#„¾óõR¥XÉ”!SNpª9œjŽä5,€wZ|aüÝ×w%Klõm?õú´¿âÁL;ùÓƒŸºzö»ñß-ó\Ö—ñô±{^xwÁdG_híl=ûìlJqЉ=-=¹- {Ww$舖ºBèüóóײ¯íœ¶³µ³õüóó…µ…í'.t[( ¯ç\+ˆ«i©ÑÑÐñ±öùhØGøý‡‡%&àHŸ{œAcH¶ÜÜÞ|öÙÙ²†2c-ã —  "‘wB(©8évîmn=—J¦²MØóGÌ7Ð4:Jq§ŠG'·ëâºbìŸíw·c£v2vÚÖ>kýÖ*®ÓSYY!__¼d’ä“i'ÃÒÃ<-=™êL„P7-©(ÉÑØÑBÇB¹½úÑ(›Q½Þúä-)Xù!´Ìs™*®ÝPÜéÀÑç€÷Lv¨ÜÞG{sx9¦Ú¦+¼VX², k $yÉ{)[süþ1ƒÇLsœf¢ebªmº÷ÑÞ'¥Oôz+½WÚêÛ–5–K>–[•»åö–C³õ(†ýñû?üÁ §êTõ¸‚¸ˆŒˆïÿèkã;X0ÁÃ%;š|ôò‹Ë–,Ë…#ÚêÛ¶ ÛŠ"žG¬»¶îög·ñU”wJptR]7·5Ÿ~z:2#rëÄ­Ø5ÕÚÚ]…½ûán;ÿ)C¦hªiÞÏ»!㞇{ð¯ÄÏ `€è6oì}´7§òï÷uAmÁ‘¤#øœ&æí3ئq›$"Å™GVS[S*7UñÀ ™†½~Ñäâ·ñ·ßÛnÈ4\á½/ô´ôüߤÿíy¸Ç÷ ¯­¾ms{s~M¾£‘ãYH$’rP5˜ìP-¡Xx)ë’¦šfÔâ(c¦1Bh¬íØqv㦟&[y‚ý„ÀŒÌˆT§ªG,Ф7+ 0ñèÄ{y÷ª›«ñ+®‰ð·óÇg&9L2b…&„^zqé›1ß9\20±X|"í„!ÓðÊÒ+Ø-â¡ÉC&ëhèN:ü¼ü¹›¹[·d×ìF'c§nïÄ™å< _UÛß喝(•›ZÓR£ÏÐïÑy Ýæ ]†îå¬ËRï뱃ÇœÀQJït›ˆd¹ãb8$|A¸â±wulï:Ÿ_ú¼¼±<,8L—®+ù”³±³›¹[|a|fE&BˆN£±Ó£n˜ìP­’ºl!eì“7ÆFׯÝÂ=©8IªòlölÉ[:ZÆ ƒ¦G±è¬©C§ž}vöUå+¿A~ÄÃÚ+È%(4!ôUå+‚‡KVÚPZÛR«ÇÐ[{e-BH,‹‘!TÛR‹ʯÎÇ¿*(è”øè$»î©?”|èlâœÊM­Ôë3ô{t^A·yÃ\Ǽ¥£Eê}=X°»…;¶ô&RRSLAæ‘[_K]ËËÊ‹À  MmMË#—gó²ÿ˜û>XÌ£‚G+"W2 7ùo²3°tâ âŽ$‰åÄ^^zY¢ÖgA¼=˜ìP­ÖŽV„ìj—ø/Š’L´Lð¿Û:ÛB,:KîØr EBÙB©{=°f[;[Æ.?°æöf„PmKmbQ¢lMÉ6tJ|t’]÷”TûØ'uìõéÑy Ýæ®Þ×,¿QJSLAæ‘«/×ì¨n®^±¬¸®øÄÜž–žRÏþÿ›P,<|¿Ã»çdÚÉè—ÑìÀ· ÏÀd‡jk#„¤V‚‰Er—µ“¼)Úˆi„zñæ…H,Âï!Ge½ÉŸÅ>Ó×¶ÔJ^‡üºúµlËÙo²%¯µÆÖ¥“üñS1ÉÀL´LH$’‹©Ë†±dkÚèÙé”Èèd»þ«‘Bb±˜`ðrõ輂nóö¾ÎæeK% %K”’Á’¦ÏÖì(m(]r~IMKÍ©àSR×t`JêKhšµÞ?Ös¬7!T\Wüöô%˜ìP-=†ž£±c6/ûpÒáÞ+È$²P,Ü·¯ÛŽz =gcçl^öž‡{¾ó5•L‹Å§ÓO'&2 BÖºÖ¡“i'¿Ÿü=Öòÿ%üßë*9“º™»±MÙ¡²†²ïï}=ht/FÄ¢³FZŽ|Â}R¨¶ÅV IDATX[ȤQhXyiCéùççÝ-܉tJdt]a¨1B%õ%²?K×ëóè/Ýæ ‰âhäø’÷ò`âÁÏ}>'“È¢Îݱ»¹õ\¼¥d0¤¤D„é›5;8ÕœÅç :aÁa®¦®rë˜k›gó²÷Çíÿrô—T2!TÚPzêÉ)„%Ëò-èc0Ù¡rëF¯[µb'ÓNšë˜së¹mC ‡äVåJþ8)kã¸K#–K9™iŲ*o,¯n®Fm»‘B¢ „¦;NÿåÑ/矟áĘj›×·´·8;Jm=€2Ñ2 <h£g£FQ˯Éïv898Èé•€m·ÍûsÞæÛ›wÆì´ÒµR#«•5–a±­õ]‹}Dî¶ÓnG×loÈÍ·7‡? × j8;mž°¹£èõyô—nóÆ×c¾^µ|_ܾÓON›ë˜—Ô—4µ5aïk¼¥d0e%"¤¤5;Ö\^ƒ-;‚퉻4b)víÉ‘ #Ø5€!WC*ù•fÚf?Çü,y ¦ºæ± cØßË<—}sý›ß“~?÷üœµ®µ C_“/ ™ÆS‡t¹› ÀÀ_êTÎßÎÏô=,:«¦¥&³"SŒÄ¿Ìø»ÜZSMSÁ£lF :j­k]/¨Ï¬È¬n®6bý2ã—YÃfa ™†;§íÔRתäWf”gPÉÔC³98È6µe– ö j ^U¾êvŒ²ubî ü'Ížr0t¸¸øâXÛ±‚A/'£"£º¹ÚF×fÃØ ’m*î´ÛÑuÅÃÂ#Ø)ê̬ÈLå¦öz³Ø^Ÿ@é6oŒµûËô_ð÷µH,Ú°ÛÙÄY²¥d0e%"eyVö,•›šÊMtBiÜ4ìa§¨«€-hRÞXŽ•ãÿ=á>Á™5lÖΩ;M´Lêõ寫^‹Ä¢ÑƒFŸ[tŽ©Îì—q”îiÙÓЄPlb´×î½¾šŠ%•z\ô84!´Š_¥êŽäjíláÄü_Âÿ…&„ År–^êu&'}vöpÒá«ÙW±ysYõ‚ú;¹wާ?÷ì\7MÅQþFRÊ-ÇŸÏçñxŠëØÙÙ††ò¦Mã«(†a¶š†¾H,wxœUãáç±g¹õÜòÆr¶)›AcÈ[\W\Ý\Í¢³ë –]â­³-·*—J¦ÚØÓ(´üšüêæjKìwÎ=÷I>ýI´£‘#Ï+o(7Ö26Ó6#¶âÀšÚšŠëŠEb‘…Ž…C/ïQ§]Nq×5-5%u%íÂvm mG#ÇŠÆŠ’úG#GlMA¹Çb….¦.t/T|^€êÜ¼É 1æpòû; ªËŸRomœâ¬Ø)êÌ­Ê‹ÅvvT ,+º[¸ãWm`Þ>ƒI%"â™Géž•=“»p5>ꌊ l¾C …L‘Ú=W,s¸Uü*…f­k Ë6@?ÿ T—W§ß»+|AøÛ\S¶áƆKY—Ò¾L“Ú¾úm¤qÓ’Š“‚\‚$ó­dBVVGDÔ ê6ÞØ˜X”ˆ¯KýM¶:U]²ÎÁă'ÓNÖ êñ*™ºÖoíêQ«%«~~÷ÃÝ­x‰«©ëþ™ûáöÀò껂Éd]wÁm,}ãdÚɹ®s±Ëžùmümw·U7WÏ1¯`ɲTò¬u­±å9äR§ª»˜ºàmõmmõmåÖ4f_””H`ZêZÃL†)n¡ÛN»â®õú’7±›j›šj›*>V¶°Ûóè_Romœâ¬H%S±÷5¦«¬øöL*Ì<ª0Â|„â ]­Ó!‹D"Y±¬¬XVo` r³p ñ 1×1ïï@¤¥rSCBGÙŒ"þ›œêÔ¶ÔÆpb4¨ãìÆ=/{^'¨“­W×ÜÞìcíc£gà1ÒKÓŸ—?߷ϘiŒo^ž^š¾ùöf„§¥§«™kK{ËÝ×w3*2V_^}mÙµ>ÿJ0ÙÑ~ûu÷ÃÝÖºÖ4 ­¨¶HÐ!`Ð+½Wöw\èvîíÓONwõìbÅS†LéËxúØ€=/ªàfî&w?& IŸ¡$èÈ(ëQt}êñ©r';Öø®a›°%·ÿåÑ/¿'ý~1ë">Ùq;÷6Bh‰Ç’-¶`%_}ðÕÔ?¦¾ä½,©/ieT &;úÂr¯å'ÓNrª9ØÃ¡FCšú“…ŽEÿF…ªh¬P°åáD‡‰}Lß°ç@ž–=M(L˜Íž-ù§¬¡,±8±º¹ZGCÇËÊKöj¸l^vjIª‰=,<$/(–ÔØÚ˜P”À­çÒ(4¶ [r³ªÇEÓKÓçŸÏTgÞÏ»_ÖPf¬e<Þn<~‹âå—“Š“BQ™Q‰E‰!só@v ÞB»°=†ST[d ùÿڻﰨ®üàgf†¡Ì ½ E@)¢ØP"Q£X°¬1K²‘Ä|-Ñ$ºfšè&YÒl1!%‚@4‚b)‚"J¯‚€0ô2s\“Yš…2€ï׳Ï>÷ž{¹ûxwæÃ¹Ÿ£5cä ÙCpÓ-¦÷ܧó²†o9½õcܲ/¶´´·B<Ì™.P:Zw´´e¼püÉä“×s¯O6›L·Ô4ÕÜ}tWKE ÿ/0ìøÛÀTÙ NÜ9q(îƒÁ˜f1Í\Ó¼¸¶8òAäéÔÓÊ›=6B~Iú%(%ˆÅdyŽô4åTåœL9Ù¡.é凗·_ÜÎb°¦ZL5×4omo½™3±(qËŸ[Ž-:&í¶ë¯]l&Ûwœ/Gs3ÿfveö;gÞ‰\)à æÛΗP’ø‚xiRÙª"Ÿ\ú„Å`ùŽóUf+ßÈ»‘]™½;rwЊ ÒRQ©ŒÏÜÛÚ»o“E¼~Íb˾ýºõë‘"’2Ë3ÇŒmlkŒÈЍo©ÿöo_zUDx~Hv¼ŠÅ"„|?ÿû™–3é–Ô²Ô%¿-ù%ñ—ºý“Ëæþ”ð“Á XàbâBwˆÈŠøgØÿ,8rðúA.›{jù)iÕgŠ¢Þ /"+"§*GúRŒŽªNÐò z)k1%ö ÷‹ÈŠ8“vfÍ„5ómç—ŠJédG‡%¢!Æãß%%BÈñïãÞ·Kn×·Ôw·*¶Ïà™Sw-µ-Ÿû&=—/¯}•õÙ¬ÏdGf1YŸ¿ö9!äRÖ%úÍq.›û٬ϦZLíÛ«@—ìx唊JÕ=//ÍtBÆêm=ûlÆÙôGé<ƒòúr÷îÒL!d–Õ,;}»´²4z·¢¾"»2ÛX`|=÷úõÜëEQEa!$ýQº4Ù±Îy4=Áb°>˜ôADVÄíâÛk&¬é9Îõ.ëéL!„Íb»™¸åVåVÔWô&Ùч(ŠÚµ÷çÄŸ·MݶÌ~™ì¡ÜªÜ•A+7<žf1ÍBË¢±µñfþÍ­ç·&&|áýÅ€EðÊB²à•SÛTKéüâ½JHms-Mè\»]ÈJ“ÕՄš¯o|Ýùu-uÒí¢‡­m®}fœÖ WQT!„´KÚ»ë?5;ÄñÇ—>¹²cúŽÕN«;ÝwuߣºGG™f1n‘P’ g6œI;ãeå…ùý É€WŸË'„Õuh/¬)$„ð•ø<R\[Ü¡ƒl _‰O±Ð²˜=jvçKØéÙI·‹jŠì í; BŸÞ·¬fG«¸õý?Þ|ùéŒOßt|³s‡ÔÒT6‹=Õü邏Áô´ôŒÊŽºûè.’ý É€WŽÏ@OMïvñí+ÙW¤+­¦•¥]¼QIAÉVÏ–ËæêªêÆæÇ&&8;Ó"²"¤Ó:!ú<}SuÓÇõ½¬¼dËUP“#­âA9’pdúÈéô¼ 1%þ&úBÈxáxú(‡Å!Ï7Ñãy>×Ôìhlk\².¡0a÷¬Ý]®PCQã¨U7V_͹*;³ã¯BèDô+$;^E\7üë¯m8³aªùTsMó’Ú’¿üÕ.i_í²šËæBÖ8¯Ù{eïÊ •ÒÕX®æ\ÕPÖ ß^¡m›ºíݰwçþ<×ÕÄÕ\Óœ£À)®-N-M-®-ÎØœÁb²ènõ3Ìœ6rš"K16?öaåCu®ºt}Yz)Ö½Wö&%qÙ\C¾¡ôЋꓚÇÓ+éV5VB¾ýž^‹w­óZúμún|A¼•¶UUC•ìDE–â× ôöëÖ¯ûý;¡ïx˜yXhY4µ5EçFç?ÉWd)zZzö2Bx&$;^E+V<ª{t4áhTvTTv!„Á`,³hÓäMt‡UŽ«r«rƒR‚.e]¢[–Ù/knoM •âiéùÕœ¯vGîŽÎ‹ŽÎ‹¦™ ¦‡™‡ëïßÿšù¯}QûN%Ÿ¢wÕ¹ê?úü(à èÝÉf“-´,²+³&%„L0šðÒÉŽ>ñSÂOåõåÒÝb 7þ1þt²£ðI!!$ëqVÖã,ÙÕ8jÒdÇ{ß+•„§‡Ko/!DÀ쟽¿s%èsHv vŵş_ù<©(éIÓ[=ÛðUá>>¹Õ¹É›’éÇŽí¿º?pY tzá ”Qžqåᕨì¨ôG鄌Í޼ƒ€aÏO€„~î~†|CiËf;ã|cóc+*ùJ|éú)„&ƒ¹ÇkÏRû¥ … EŽg0.òA¤/”®B™3zާ¥gl~l^už„’ùÂqã:¡1"bmÄå—KE¥ºjºÓ-¦ó”þ~•ƒ£À {3ìZε‚'­âV:B7S7ŽGKYKvºQSE³Ïoެ5Îkè™H?õ›ŽovùÒ"KQºÍf±¾~ð½‰ï%%>®Ìf±GhŒ˜h:‘N—@C²c°ó ÷»[vWÞQôJNUμŸçÉ; xåàù Ѓ¡ƒƒ¡C‡F!_¸xìâβѵ±Ñµ‘îzZzv~ CIAIZ™¢;Êlå¹6s»;Êes_õšlËDÓ‰M'vèÖecŸë¼´J]V$í’©º©©ºio€‡dÇ VÝX}·ì®ƒ¡Ã>?j*?M`ŸyóŒ|£zQ ­;zúÈéÓ̧m9¿%»2[ÞÀð‡ç'À« ÉŽA­¢¾‚âhä(ý¦>™iš}ë,½Í ù¯ˆ,¯/WQT±Ð²Xá°b–å,_£`pÁó`è²ô@C²c€üzû×àÔ`z»TTêãOê}÷÷eû‰?rîÞ9z[BI^îBµÍµ¾'|V>¤w[HK|A|BaÂÁ×γ™GYszô%ö¦¶¦Ê†Êø‚ø k.t·ÞxRq’ï ßž/êmíýßyÿ}¹€z†ç'À60U6:@²c€œÍ8»Ós§—•—Š¢Ê凗·þ¹õ·Û¿ùMô“ý{६K;¦ïð¶öÖUÕ¥[2+2石Þeý–)[¤ÝèÕº»Ðþ«ûV>œe5kƒË -‹–ö–˜ü˜]»>‹ül¦å̺–º»ewÍ5Í¿ôþÒRÛ²¥½åaåÀ¤éßHç'À°dÇpÃW⇬ ùõö¯ç3ÏçVåR„2äŽ7¿xìbŽgŒþ˜Ÿÿr7$­,­¢¾B«n«g»Êi•«‰«¼3æþþå³g×LH¯¸ Týüt³³säôÚÜÞLùtƧ^V^=øëHü‘ûï ”+V¬™°†Á`t9&jvÀóC²þGwé†ç§§¦Ç`0ÆèÙ:ek磦¦ô†“‘““‘!D,‡g„o;¿Íb¿éøf—c¢f·*÷Jö; e B‹É2àBnÝê.Ùšðü쀾·Ës×’K>¹ôɾ¨}ÆêÆŠLÅQIeC%!dãÄ¢ÑW¿8pí€žšž®šnmsmnU.!d¬þØî쓚ï…½G× )®-&„¬ú}ƒ0!‡îa]rì€ù 2³"s­óZ.›ÛWcÞ)¹“³Àn/ì«1›þx~ô7KmË3+ÏìÚ{#÷Ffy&Ýhªnºxìb6‹m¦a¶Îe]hZh©¨´TTJQ窯¿bÍ„5ýUrIry}¹t7±(‘Þh—´÷ëu`€!Ù'òadhZè?Æÿ£/“ÅwücüédGbQb\AÜÂ1 éiÃCO¿ó¹j5[=Û.Cb0<ƒüæfoh?`×9B²†6CCyGƒ’ýîfþÍÛÅ·—Ž[ÊSâ]͹š_o«g«¡¬qùáeokosMsº[L^Ì’;¶z¶Ó,¦Ñ-O þÈøcŠù”1úc,0÷îôÑä’ä¬ÇYOšžh«h»š¸J§NÈžÈçò£²£ò«óµT´fŒœÑaÍvBHFyÆ­Â[¡…Ž>Žò{/tº‹V¶fGXzX\A!$än½¢»!ßÐÇ·MÔ,ŠÉ)ª)b³Øvzvô"g0˜áùÙåós0߀AÉŽ~›{8þ°¥¶åþ¨ýtÍçÕN«çÛÎ÷ño·nöØLwû>öûÄ¢D]éWÒ³gýcü=Ì<º¶TTr7¤çK[j[zYy½P`î#Ü3Ê36ÝDWæ1Ìw\ßÙ4y“ì‰6z6_^ý2§*‡np¿ùþf­ûôM %Ù±3(%H:Èrûå²WgÆ Ý­Ù–_O‘Þ™ FèdGpjðçQŸ×·ÔKp2rúaÁê\õžï!ÈžŸ´ÏÏþ»3Ã’dgÄN6“½xìb=5={CûQ:£´T´bòb诤 ­ É%ÉF£{÷ž4=¡ÇäÇð•øvúv]X**õñïù¢ÞÖÞ=|Yï20BH^u^Á“‚‰¦Í4ÍTU*ê+¢ó¢¿ýÞÉÈIúwKBÈ'—>a1X¾ã|•ÙÊ7òndWfïŽÜ´âé·ó_’~ J b1Yž#=F9U9'SNÊf^îtŽVÖ|ÛùJ_/-PJÿAõòÃËÛ/ng1XS-¦škš·¶·ÞÌ¿™X”¸åÏ-Çëùþ€ÜáùÙáùÙw`Ø@²c€è©éZ~JEQEÚ2ÑtâÙ{gé/ ñ…ñí’öÍ›ßÿãý˜¼˜9£çÔ·Ô§”¤xZz2Ì.4àø¹ûõ|QKmË—ÌVÏöòºËêeVdŠšEB¾pæÈ™ÉW²¯È~Y7ø()(B¶ˆ·x÷¾]r»¾¥^•£Jù)á'&ƒ°$ÀÅÄ…î‘ñϰJOg0/q:G+k¾íüRQ)ìp:JÛ^?ÈesO-?%­ŒEQÔ{áïEdEäTåHç{Àà„çg‡çgÿÝ€aÉŽ²Öym‡Ÿèî#ÜÿÈøãfþÍ×­_É‹QçªÏ5ûÀµ7óoÎ='¾0^L‰e¿wð<_Ö_.0ƒµþÌútèYÙP)»»Þe=ýMÂf±ÝLÜr«r+ê+T9ª%µ%åõåî#Ü¥ßÔ !³¬fÙéÛ¥•¥I[^âtŽö™*ê+²+³Æ×s¯_ϽNQEQ„aBÒ¥#Ù0ÈáùÙùùÙ]½¼3Ã’ÄTÝ´CËDÓ‰„èÜhú+©ûwƒá>ÂýZÎ5ºÒÃWÒÞ¿sÞ]`[Ïo}ðø¹¦¹£ÐQCYƒÍb·Š[Å¢sRÖ£¿p·KÚ !¢!DÈvYÈÊ~Y‰;Ð9Úgªn¬&„Ö~}ãëÎGëZê^t@`x~’NÏÏîèå6ì ¬Ž·ZGUÇRÛ2&/¦¤¶$¯:oƒëBˆû÷ ” ìÊì˜ücqçï»R}õÎy‡ÀöM^ IDATZ‹Çê=½ò4‹Á¢3Ë3ÅêyY<B×̓աå%î@çÛøL|%>!ÄBËbö¨ÙÚéáÅu€ÁÏÏ.[:@z}g† $;äÉÝÔýxâñŸ&„L1‰âfâÆb²‚R‚ ž,³_Öù}õÎy ƒÁ`(±•¤ßÔ[Å­_EõBƒò uUucóc œéƈ¬ˆÎ–ìÍè‡Å!„Ô6×J[ôyú¦ê¦ë{YyÉÞŠ¢bòc¤U<`hÁó³;}þ\Šì'÷îÇ&ŽÔ©£ªCá)ñlum“ɳf÷Õ;ç(³•-µ, ÿ¶ØÑȱ®¥îFî–ö–góš½Wö® Z)]MàjÎU e ú¥©ÞÜ.™¨›Bö^Ù›T”Äes ù†>v>Û¦n{7ìݹ?Ïu5q5×4ç(pŠk‹SKS‹k‹36g°˜¬½ ÈžŸÝéóç*ÀP„dÇS †.:Áx‚"K±UÜ*ûís’Ù¤Ô²T“åbìÒùýçß^ÿ^²îNÉ;%w!šÊšÿ÷ß§V¼Ð «WåVå¥]ʺD·,³_ÖÜÞš*Û­ÏïÀd³ÉZÙ•ÙGŽB&Mð±óñ´ôüjÎW»#wGçEGçEÓ=™ ¦‡™ÇK¼}‚¢äó† ˆò…Ò5È‹Ün£:ø¹ûò é]Ž'ìͰk9× ž´Š[¥ísFÏñ´ôŒÍͫΓP!_8Î`\‡0˜**yGƒžŸÝ=?í*¶žßššø~¢:W]Þ±@¿`t(?,Õ××———÷ÜÇÓÓxîܺŸ LH¯8õsçÔ"# åô sÿòÙ³ëåÀ+áÂU??ÝììyýÏÕ€dHá¹:T¨ªªêêê>fÿ…2´XYµfdpäÀ«âÞ=Ž•U«¼£€á ÉŽ§\\šââ¸mm¨"ÐïZ[qq\W×&yÃ’O͘ÑÐÜÌŒŒT‘w ÃßåË*ÍÍÌéÓäÀ«åÀµû-2+2ƒR‚fÿ4Ûú€õ¾¨}Yû-‚Sƒ¥Ý¶ßf±ßbcøFiËXì·ø3óÏ ŒÒ&n;wïܪßW¹}ç6êËQ“˜¼ýâö2QYçCÓB_;öÚè£'ÿ0Ù?Æ_BýOi°œªœõ!ëÇ}=nìWcß~;§ªã ƒöÎÀKCÒ§ôôÚ§Liøé'Ák¯Õc‘€þCQä§ŸS¦4èéµË;€WÑ‘ø#ç%”ÄÍÔÅdEçE/»ˆnŒÉ‹a2˜qqJÂd0éƒáfâÖå€IÅI¾'|{¾¨·µ÷çý÷…#„D<ˆØtv“´C©¨485øzÎõókÎËÖÚøõö¯Ò”D©¨Ô?ÆŸ"ÔûîïÓ-9U9‹~[$jÑ»×r®¥”¦ØêÙ>3€Þß#$;þ¶ysõë¯ ÃÂÔ,¨“w,ÃVh¨Zz:'<¼BÞ¼¢.e]Ú1}‡·µ·®êÓRcôÇÄÄÒ?àV>,¯/_4vQpjpZYÚXƒ±„›ù7­u¬5”580E–⢱‹Ú-4×4WQT)¯/Oÿ&ú›àÔàu.ë¤'žÍ8»Ós§—•—Š¢Ê凗·þ¹õ·Û¿ùMôc0„}QûDÍ¢©S·xl1åVç~~ù󘼘!tgà% Ùñ·‘#[}}EjΜ٠ªŠE1ú^}=ó?ÿÑôõ­µ¶FuRùXí´zµÓjÙ÷îÉ%ÉéÒÇè¡'/¼ïþþéÄäÇŒ5›õ8«¢¾â Û7ºÐQè˜ýQv6Ór¦X"þ&ú›ÌŠLQ³HúrJÖã,Ùn'n\9~%½=Ïf^äƒÈKY—ÊêÊ xmÑyÑ<ƒïÞøŽ£À!„ØèÚò94í𴚦šgÐË;r„šÿcÓ¦' ùðC r}MúkÓ&¬ñ 7M'vhq7u'„DçEBbòblõlõÔôéé7óovyÖv,áØÆðqq5M5²e8ZÚ[d»9;Ëî«BZ!Å5Åb‰ØÉȉÎtÐxJ<{Cûç `Üx ˜Ùñ?ñÑ£eË–~ñ…æöíUò`XÙ¿_óæMå'J±¼cxu©+«whg8N•£“³ÎyÝ­¢[ôìwS÷¯n|ÕØÖ­¤ ä(tìnÀ¾ªÙÑ!0±DüCܪÕÝ3w»š¸j(k(0×?výεÉJl%Ù]aB(ŠêùrÏ €ôú΀afGGvv-{÷V?.ð÷×xñ'$t¢ˆ¿¿ÆÏ? öﯰ·o–w8ð?X –‹±KrIòõÜëMmMî#Ü !“Ì&µKÚoäÞH,Jt4r”10D-"Q³ÈÃÌcžÍ<U¦!äFÞD(²˜¬Ä¢DÙÉ ¢fQrIòóœ>8ï <Ììèœ9õÌ]»´òòØû÷Wp8Èy¼¼–ÆGé\¼¨²gÏã9sêåta’Ù¤Ë/uã+E¡!d”ö(MeMÿÿæöfúmŽîôUÍŽJ.›{3ÿfL^Œ£‘c]s]äÃÈ/®~ñBƒ(³•'˜t-çÚ{áïÉ(í\°£;½¹3 GHvtmÉ‘‘QÛÆz îÚUé舿E¼Œ¤$¥Ý»µJKÙÇ—¹¹5É;è]xâÁãÓ-¦³,BƒÁ˜8bâÙŒ³DNe) †ï8ߟ^õû*iã|Ûùaéa/4ÎöiÛoß¾š}õjöUºEÀ¸pïrA–Îá€ç×XºåæÖZ¬©)^ºÔðÃuóóÙòŽ`(ÉÏgø¡îÒ¥†ššâÐÐbd:`P9Ÿy~Yà²ÌŠLi‹˜&~ðÇËO.ÿäÒ'rŒ­OŠ;´,pY]ËÓ•Ôs«r—.ëüŸRQ©|ã€ÁÃTÝTÈB&™M’6ÒÓ4•5G錒KT[¦lyoâ{F#E–¢©ºé–)[vyîzÑAÌ5ÍCV†L³˜¦¢¨BOôZ¤£ªóœ§Î;ÏÄx‰Ê=CN}}}yyùKŸ~åŠÊÞ½š……ì šfÌh´·o61iãóÅLdŠdH$¤¶–•ŸÏNIQº|YùÖ-®±qÛŽUÓ§7È;4è_æþþå³g¥w”Ž%Ûuà²@iÿí¶ß ¦·mõlÃW…Ë/º>°õüÖдÐÄ÷չꄴ²´ùó;w‹Xa®i>àÑA¯\¸ êç§›#ï@  Åç*ÀÐ…çêP¡ªªª««ûüýñ˳MŸÞ0eJÃõë*gϪ~÷zm-’=$îyx4²XòŽ +ÞÖÞvúvÖ:Öôns{ó™´3B¾pëÔ­šÊš*Š*ò ¯ŸÌ³™·xìbÙž¼‚èWHv<‹L›Ö0mZE‘’va¡‚HĤ(†¼ãD ŠÇ“µ …m üã€ÁMŸ§¯ÏÓ—î–Ö–J(ÉLË™³GÍ–cTýÍo(É0¼!Ùñb "¶ …mò`˜;™|òÏ{ÃVÏV¶ýtêéðôðíÓ¶ÛéÛÑ-qq—².Õ)0ìôì–Ú/ÕRÑ¢¥Í8»oö¾æöæ ” ¼ê<Ï‘žË–ŸÏ<x'ðSÏO­u¬·_ØN︘u1ýQ:!DGU§¢¾â£iÑ#{iz´Of|2Zwt|di´m'“O–Ô–˜ª›®ž°š~Wü¯]¼±¦©fŒþ˜·ßVã¨IOlno>•|*¾ ž"”“‘Ó ‡ýÀ‚d Fvzv;#vžL>¹÷µ½²í‡ã×·Ô[ëZB$”dÛùm²eù£²£nøØèÚBŠjŠnݺxÿ¢Œ«¸•2Rk$!¤LTv«è–¨YDI/OÏ,ϤËDe„?w¿ó÷Ï$ügΤ#‹%âb`2˜ÝÕ¢Ëzœµû¯Ý=(W×î»;JG‘ñuô×mâ6BÈ rãÂý á«Â& H  »EçEÇÄÿãi…‘º–:Ùb«QÙQî_0˜tÿNÉ¿p¿º–:}žþTó©ÓGNg2ðb& OHvÀ`D×Ô8ŸyþÓŸrÙ\ºñVÑ­‚'o;¿­ÀT „‰?–f$0Zn¿Ü\Ó¼UÜ“ó{Êï›Înºôö%é/ùo¢¿ñ0ó˜m=[OMOöíÚ^¯½™™;.î˜3zŽï8_Bˆ…–ErIòÅû?žþ±†²ÝíjÎÕRQéŽé;ºKÔµÔÝ*ºÕó‡ÒVÕ~æÿ:úk/+¯™–3™ æÉä“7óo¾úNveö;®ïØÚW7V{óÛä’ä«ÙW§ZL%„¼~0³"SŸ§¿Îy‘À(·:÷pÜa:}ÓA|A¼tûtêiW×à +³•ŸÀƒd R‹Ç.Þ¹û|æù…cÒ-§SOBYD¡(êxâqmUíðUá|%>Ýa–Õ,¾ÿPÜ¡”ÒCºqÆÈßÍÿ®»«ØéÛ)°!<iI‹UN«¢ó¢O§žÞàºn9qç—Í¥/Ý%+m«Àe="MeÍg~ê…cþ{Ö¿éíIf“\ü]ÒÊÒ¾›ÿ—•ݨ£ª³úôê”Ò”©SÅ”8,-LEQ%deˆ®ª.!dŠù”)fS¼{wÖLÓì ›7¬t¬ZÛ[ï–Ý J Š+ˆûwä¿÷ÍÞ÷̆$;`šg3ï‹«_œN=M';êZê.Ý¿4^8ž^-µ¸¶¸º±ZCYccøFBEQ¡!ÕÕ„œÊi²cÝ‚½ôä“Í4ÍN¥œZ粎É`æ?É¿™s¹ýrÙJ¨qÔú¤ü§÷¨¿óÊlecu㜪OKOi#ýÍ£ºG„Â'…m^V^t¦ƒf¦i6^8^vÇHí‘×\d1Ÿ.ôÚ¨×æŽžëó«ÏÙ{gÿ5ó_NïÃTì€AЧěe5ëŒ?rªrÌ5ÍÏfœmno–.žÚÐÚ@©n¬ŽÍí|ns{³t[OMïE/Í`0þáðÝ‘»¯å\›f1-ðN !dåø•=œÒûš4>—/»«ÀTPQTa1þ^Æ™ÍbBÚ%í„æ¶fBHçŒ@I »«¤ Ô¡ƒµ®µžMrIò£ºG&ê]øÒì€ÁkñØÅdü|7ø£©ß VQT‘®«§¦Ç`0ÆèÙ:ekçM5L¥ÛŒ—Z ÙgŒÏW7¾úíöon¦n¡i¡“FL2Ó4ë¡_Õìx!ºjº„Œò ÙF±DÜ¡¥3 %)¯+'„Hë¡ 'HvÀàålìlªn–æ=Ê;ýQºï8_ésW0ÁhBRQR^už=ßR\[”4^8¾——Vf+/³ð—¤_¾»ù]msí*ÇU=÷﫚/DCYÃZÇú^ù½ïc¿Çõ&ƒÙ.iÿòê—E5E²Ý~ºõ“›©›µŽ5½[ÓTóŵ/JE¥#4Fè¨êômHƒ’0¨-³ðàõƒ›ÿÜLþiR©]ž»–œXòÉ¥OöEí3V7Vd*–ˆJ** !'n¤Wlé•ãW$Š;d¦i6iĤž;÷UÍŽõÿ·6dí×7¾þ5éWC¾aaMa]K•¶UÖã,iŸ ™öEípB¾°¥½¥°¦°¥½…É`cà]¯ŸðœX,J,îÇñ}ì|X VNUŽ•¶ÕXƒ±²‡,µ-Ϭ<3Å|JS[SfyfjYjeC¥©ºéÖ)[¥=zÃH`4Õ|*!dåø•/÷.̘b>å?¯ÿGÀT5VÝ-»+¡$_zi£g#Ûg½ëúñÂñ5M5éÒV>lio±Õ³ýyÉÏôâµ0´ˆÅ„Å¢äÀ`‡™Ð+jj’ºº~Lk«j¯ njk¢ëSt`¦ivlѱº–º‚'J"ä 5”5¤G}ÇùN6›Ü¹§·µ·¾ôµu“Àe<ƒÎãS„R㨽Äz./¡Ëh÷xíiio‘mQã¨. ÔRÑ’¶Ìµ™;ÛzvÖã,Š¢,´,””lõl}ì|¤…KgZΜi9³®¥®°¦°]Ün$0’½K0´ˆDL55‰¼£èèX±ýW÷. ”Îq;qçÄg‘ŸI( !ÄVÏ6|U¸\ì­­ç·†¦…&¾Ÿ¨ÎU'„¤•¥Í˜ß¹[ÄÚzÉ0;$; WŒŒÚóòú`EÆè鹃GÍV϶s»‘ÀÈH`Ô¹]Ÿ§¯ÏÓ—î*³•»|%¾ þjÎÕ%c—(³•_0ä—Ñe´?—S¡s´ LÝ¿gs˜kšwþ¶­ÆQ“íCT~¾¢‰I»¼£èÈAèàçîgÈ7¤wÅ”øÀµÎ»šÊšÃµ<“‘“«‰«l RɃ’Ð+66-))W6êö\Þ“\’œQžÁ ŒžWœ`))kë–g÷X††ÒÝ2QYCkÃrûå»g>cMî!ÍÉÈÉÏÝOÞQ@×ì€^™4©18˜WYÉÒÒêÏÒë^ù½Ô²T“õáä-µ-åÀS³RS•Ö®­‘w 0$];šö(mñØÅzjz²íIÅI±ù±ÞÖÞÒa¢fQL~LQM›Å¶Ó³s2r’v¾™óvñí¥ã–ò”xWs®æWçÛêÙºp¿Sr'&/fÝ!_x2ùdfE&!äþãûþ1þ„%¥æöæEcÉΪ#„$%ÆÄÉ^ºoI£Uå¨^ɾRR[bªn:cä “E©¨¯ˆÊŽªiª£?ÆÍԭùå· oQ„r:>s‚! BHv@¯xx4ªªJBBx6<‘w,}æäò“ò  gÎðx<ÉäÉò†$ŠPþ1þJòÁ¤dÛ^;˜ö(MºÀvpjðçQŸ×·ÔK;89ý°àºVEl~ìáøÃ–Ú–û£ö×BV;­vá~§øŽŒ¿³±³/<•r*³<“r»øöíâÛ„%c—üžú{S[Ó¶©Ûd/½7jo~uþÛÎowp©¨4änHÏÊRÛÒËÊ«»££%„8:ø\ɾ²õÏ­­âVºq¹Ãß“P$”dgÄΠ” é8Ëí—w9~y]yàÀº–:}žþDÓ‰²Õ”@îì€^QR¢|}EÇó—.­åóQ7 ¿ÔÖ2ç/Y"RRÂj,ð2<ÌÑš?¿ÎÆ¥ú^FçÄ Þž=•XwzcñØÅ‡â§ÓÉ1%K3O0š@©¨¯È®Ì6_Ͻ~=÷:EQEB„AI”.Mv¬u^Û]¦£;ólæ¸vàÄít²£¦©æ|æùiÓº\3‹ö<ÉŽçñ¶óÛt¦ƒ"ä MÔMòªó6¸nvp3q#„”Ô–Ðÿ]^_î>Â]šé „̲še§o—V–öwl|ƒ+®ùBiKhZè¶ ÛÅzËé-éÄ#$; øøˆþüSuýz½ÐЬ‹ З**Ö¯×sqiöñÉ;ÚŒF.Æ.—^®n¬ÖPÖˆzUÙP¹Ùc3ƒÁ „T7VB k ¿¾ñuçsëZê¤Û¦ê¦/zi%¥%c—Ž?œQža£kr7¤¹½YZ(¤K½¯ÙAëP•Ëæò”x\6WÚ¢¬¨Lino&„ˆZD„Ù,MÈÊ&;4•5;tX`·àxâñû÷KE¥O€‡dô&“|ûí£E‹„ë×ëÑNÏNº­Àz™+VK8vâΉ½^{O&Ÿ´Ô¶”=ÑY_Õìx!<"­f*Õ¹9$; oðx’£GË.4\¶ÌàðáG˜ßÐ{ôœŽ’…9D賬f ¸‚Ó©§_·~ýzîuºj)}HŸ§oªnú¸þ±—•—l- Š¢bòc¤U<^š>O¦ÕÌsç\] k ÷¾¶·çþ}U³ã…ò uUucóc œéƈ¬Ùi„ø‚x¡ƒôíBHhZhÖã,W ¯ö?I@^ì€>clÜR²v­þ‚†‡?Bý€ÞÈÈàÐs:BBJŒÛä Š,Åy6ó’>½ô©X"^2n‰ìÑmS·½öîܟ纚¸škšs8ŵũ¥©ÅµÅ›3XLV/¯þ¦ã›ï_üøÒÇ®`®ÍÜž;÷UÍŽµÆyÍÞ+{W­”®Ær5窆²ýšíÀµŵÅNFN†|Öö–»ewï–Ý%„¬u^Ûû»}ÉèKÆÆmÁÁÅ~~z ®X!òó«Æz´/ª¶–éï¯qâÏÕµÙßÿæt¼jŒþÉØ%IW²¯h«jO1Ÿ"{ÈÓÒó«9_íŽÜM72L3—{u¥G¡£®MFyÆ›Žo*)(õ~Àþ°ÊqUnUnPJÐ¥¬KtË2ûeÍíÍ¡i¡Ò>î#Ü'—v „(²×»®_ï²~ Ã…^£¨~ÿGrdô1Orüxé™3¼ƒ5ÎS]½ºÖÇG¤­-–w\CÀãǬ3gxÇó ²gO¥u:^AÊÊ’ÆÆ~üíe©mùñôëZê¬u¬YŒŽÓ挞ãié››W'¡$B¾pœÁ8iO7S7ŽGKY«ÃYB?w?C¾!½«¥¬åçî7^8¾óÕG뎾_q…ʾþX]è2Zßq¾¢æÿ©õ«¤ äçîg¥mEï2Ì=^{–Ú/M(L (j¼pü8ƒq‘"…|¡4A³iò¦·ßN(L(¬)l· Œ\M\\Á|(ès L䔇!½ ÔðV___^^.ï(^9uuÌC‡Ôÿ'1ÇŒi¶·o65mãó%,Ìð!“ÚZV~¾Br²ÒÝ»J<ždÉц O°Êì+ËÓÓxîܺŸÈ;¾W**ydæDÓ‰‡–w,Oùû«Ÿ;§Y(ï@àTUUuuuŸ¿?fv@QS“lÙRµqcõÊÑÑÊIIܰ0µº:–“<d0™„Ç“µÙØ´¬[WãáÑÈá ÿ¿EA¬¬Z328òŽ¢I;“[•{>ó|s{ó2‡eòào÷îq¬¬Zåô=$; ))Q3g6̜٠ï@†—¦4ÚÚlöðI{¹{æVÑ-BÈ4‹ifòà©ÖVF\wëÖêgw…¡É€AdÆŒ†ÿ[+2ReöìzyÇÒg|Æø¸™º™kšÏ´œ)ïXþvù²Js3sútüIfBÍ€Áeýz½ÊJ…b,Ð(Š,\(ÔÒj?|ø‘¼cg{Ñš(ð 0¸lÞ\ž®¦&ï@†³ÐPµôtÎà–á É€ÁeäÈV__ÑÁƒšõõøºÐ/êë™ÿù¦¯o­µ5ª“Oxz :›6=‘HȇêH°1@_“þãÚ´i®ñ 4$;@|ôhY\œò_hÊ;€áfÿ~Í›7•üñ‘@ –w,Ð_ìŒììZöî­8~\àï¯ñ ,*0(Šøûküü³`ÿþ {ûfy‡ýKÏ RsæÔ7T#£ÅƒIDAT62wíÒÊËcïß_Áá çðòZZ}¤sñ¢Êž=çÌ>K;C—0³`ðZ²DtüxÙÊ &%)É;€¡*)IiáBÃ7”/[²D$ïp ß!Ù0¨¹¹5…†kjŠ—.5üðCÝü|¶¼#JòóÙ~¨»t©¡¦¦84´ØÍ­IÞÁ@`P¯ÀûõõõåååòŽ W®\QÙ»W³°=aBÓŒööÍ&&m|¾˜‰¿`ÈHHm-+?Ÿ’¢tù²ò­[\cã¶;ª¦OowhðòTUUuuuŸ¿?’C†XL®_W9{V5:Z¹¶I€žw÷ƹsë<<Y,yG½ƒdGì€a†¢HI »°PA$bRCÞá " ÅãIŒŒÚ…Â6þq /šìÀj,CƒA„Â6¡°MÞ F˜ùà ’0¬ Ùà ’0¬ Ùà ’0¬ Ùà ’0¬ Ùà ƒ¢(yÇÐg0³†$;`XA²†$;`XA²†$;`XA²†$;`XA²†$;`XA²†$;`XA²†$;`XùkÞT›n¾˜IEND®B`‚fio-3.39/examples/enospc-pressure.fio000066400000000000000000000020361476262051600177110ustar00rootroot00000000000000# # Test for race-condition DIO-write vs punch_hole # If race exist dio may rewrite punched block after # it was allocated to another file, we will catch that # by verifying blocks content # [global] ioengine=libaio directory=/scratch # File size is reasonably huge to provoke ENOSPC filesize=128G size=999G iodepth=128 # Expect write failure due to ENOSPC, skip error dump continue_on_error=write ignore_error=,ENOSPC error_dump=0 fallocate=none exitall # Two threads (dio and punch_hole) operate on single file:'raicer', # We do not care about data content here [dio-raicer] bs=128k direct=1 buffered=0 rw=randwrite runtime=100 filename=raicer time_based [punch_hole-raicer] bs=4k rw=randtrim filename=raicer # Verifier thread continuously writes to newly allcated blocks # and verifies written content [aio-dio-verifier] create_on_open=1 verify=crc32c-intel verify_fatal=1 verify_dump=1 verify_backlog=1024 verify_async=4 direct=1 # block size should be equals to fs block size to prevent short writes bs=4k rw=randrw filename=aio-dio-verifier fio-3.39/examples/enospc-pressure.png000066400000000000000000004455451476262051600177400ustar00rootroot00000000000000‰PNG  IHDRËuŸÎ\bKGDÿÿÿ ½§“ IDATxœìÝgxTÕú÷ñߤ‡„tR „¡÷¢T)R R-A@ÏõÀߊ½€JP(ˆˆ( MQJ¨¡) „PÒ)„”y^äadH“!aHæû¹®\göÚk¯uß{öáfíe0Fög‰ƒ­#l…bìÅ2Ø-Še°[Ë`·(–ÀnQ,€Ý¢X»E± vËÉÖ`©cÇŽiΜ9:pà€222d4Õ®];ùùùé矖$µjÕJS¦L±q¤Ê Še€ráÔ©SjÙ²¥RSSÍÚ===¬7J’œœø£.Ëñ'@¹0cÆ S¡,((H³fÍ’¯¯¯üýýõñÇÛ8:åÅ2@¹ð÷ß›>wéÒE<ð€éø¹çžÓ°aÃ$I¾¾¾7=6å—Áh4m€²‘ššªE‹iëÖ­Š—«««6l¨Áƒ«Y³ff}ãââôðÛŽçÍ›'GGGM›6Mýõ—BBBÔ·o_Ýÿý…æIJJÒÂ… µmÛ6%$$ÈÕÕUµk×Ö=÷Ü£nݺÉ`0˜õ?yò¤æÏŸ¯={ö(99Y~~~ªU«–î¼óNuëÖMÎÎÎÅÆ”››«3fèï¿ÿV•*U4hÐ ÝsÏ=…bJOO×’%K´yóf>}Zîîîjܸ±FŒ¡°°0‹îŸ5óuMVV–fÍš¥¿ÿþ[÷Þ{¯ÆŽ[âï§$÷­$}wíÚ¥gŸ}ÖtÝòåËåíí-©àµ‡C‡5›;w®"""Ê4Ç¢lذA“'OÖ¾}û”’’"©`eYýúõ‹ì_Ôže%}FØ%2¨V¬Xaôõõ5J*òçùçŸ7ëðàA³ósçÎ5úøøºî•W^1»néÒ¥F//¯bçéÒ¥‹199ÙÔÛ¶mFOOÏbû‡††Ó'Ÿ|RäµcÇŽ5‹iõêÕÆÀÀÀ"Çwvv6FEEYt­™ÿêk>úè#£»»»éøé§Ÿ¶êû)É}+IßµkךKLL4;räˆÙ¹Ë÷­¬r,΢E‹Š£¨Ÿ®]»š]_Òg€]YìpÍZ€riïÞ½zðÁM«p† ¦üQ³fÍR@@€$é½÷ÞÓŒ3Šcüøñ;v¬–-[¦®]»šÚß~ûmÓ¾Q»wïÖ Aƒ”––&IêÝ»·¾ÿþ{Íœ9S~~~’ V <Øtý”)S”žž.I4h~úé'-[¶LS¦LQÏž=M1å¹çžÓóÏ?¯åË—›­lš1c†–.]*IÚ¿¿î»ï>%$$H’ÂÃÃ5cÆ ýôÓOúè£Ô¬Y3Óü%eÉüW{á…4|øp-_¾\¿þú«ÆŽkÕ÷S’ûv#÷ØÁ¡äL,­‹Ó¥Kýú믺í¶ÛLm=zôЯ¿þjúéÝ»w‘×ZóŒ°3¶.×(}ƒ6­š¹ë®»ÌÎ}ñŦsÁÁÁÆüü|£ÑXxµÐ³Ï>kºæï¿ÿ6;i4ÆAƒ™ÚjÔ¨aÌÉÉ1]³dɳkvíÚe4ÆÞ½{›ÚæÏŸ_(öøøxÓç«cš8q¢Yß6mÚÊsÈ!¦6³ñŒF£1??ߘ‘‘a4Æçž{ÎØ©S§B? VÏõ5£G.•ï§$÷­$}¯^Y–’’b:géʲÒÊñzzôèaºî‘G1;7bĈ"W–YóŒ°+‹J£ààÖ²uëVÓ瘘uîÜÙt|y…$={V111Šˆˆ(4Æ•ûpšKLL”$EFFšÚºví*'§þˆq÷Ýw›]©–-[êî»ïÖÊ•+%IÇ×øñãU§NÕ¯__;vÔ€ŠÍ«{÷îfÇ]»vÕ¶mÛ$¬ º:÷{î¹§PìƒA•*U’$íÛ·O7n,4Ovv¶Õó_íÁ,ÔfÍ÷S’ûv#÷Ø¥•cY°æ`_(–Pff¦és\\œâââŠí›œœ\d{•*ULŸ¯,0H’Ñh,4OåÊ•ÍúxxxÈÁÁAùùùf}ǯ””}úé§:sæŒRRR´}ûvmß¾]_}õ•^zé%íØ±CÕ«W/ÓÕs\yœ••%IÊÈÈ0µùøø“µu,™ÿjAAA…Ú¬ù~Jrßnä_þn¥â‹†e•cY°æ`_(–Pxx¸iÏ®~ýúiܸqÅö­_¿¾ÕóÔ¨QÃ4Ï‘#GÌÎ=zÔT„¸ÜW*XÙõꫯêÕW_Ull¬bbbtèÐ!}ðÁŠU||¼fÏž­7ß|³Ð|ÑÑÑjݺµÙñe¡¡¡’ÌsŠŠºfüï½÷žþûßÿj¿²PXÒù-aÍ÷S’ûV’¾ÎÎÎfóeffÊ××W’tèÐ!‹s*%éñÇ7Ý×!C†è‰'ž°:ɺg€})ùÎÍny4}Þ¸q£¼½½Õ¹sgÓOëÖ­uöìYíܹS^^^¥2Ï/¿ü¢Í›7K’òòòôÚk¯™Îy{{›^y÷ùçŸkñâźxñ¢ÂÃÃÕµkW=õÔSºãŽ;LýÏœ9Sä|S§NÕ… $r/^l:wùµ‘ƒ 2µmÙ²ES§N5[-µtéRS¨iÓ¦f÷åò«««Õó[šï§$÷­$}ÃÃÃÍb[·n¤‚W%¾óÎ;çT9JÒÎ;µqãFmܸQGµzþ¢â°ô`_(–ÐØ±cÕ©S'IRRR’Z¶l© ¨mÛ¶ª^½º|||4xð`SaäFæéСƒ¤‚âCçÎÕ¼ys………iÁ‚’ VD}òÉ'òöö–T°—ÕC=$///Õ¬YSíÛ·WDD„æÏŸo·W¯^EÎçìì¬5j¨U«VjÞ¼¹©p ‰'J’žzê)uéÒÅtͳÏ>«Ý~ûí PÿþýM{®•”%ó[šï§$÷­$}ÃÂÂÌVË1B-[¶Txx¸io7kܬgÐ’8JúŒ°/Ë€ ÈÕÕUkÖ¬ÑäÉ“UµjUI+¡¶mÛ¦“'OªråÊ6l˜ž{ÇÍÍMëÖ­Ó¤I“äïï¯ÜÜ\íÝ»W§OŸ–Á`P»ví´~ýz 2ÄtÍÈ‘#õè£ÊÓÓS±±±Úºu«bbb$IÕ«W×'Ÿ|¢9ß´iÓÔ¿íÝ»×´ŸVË–-õÛo¿)$$D’äââ¢Õ«Wë­·Þ2íɯ;v(==]O<ñ„6lhU¾–Ìo k¾Ÿ’Ü·’ô5 š?¾©`–——§ýû÷kèСš5k–U÷ÉÚË‚5Ï(ûb0^ù>ÒñãÇuúôi¹ººªZµj ”Á`0ë“™™©íÛ·›Žo»í6yxxH*( üñǦsMš4‘¿¿¿ÙõF£QGŽQbb¢\\\T«V-ùùù“ÑhÔ™3gtòäIåçç«jÕª 3ësèÐ!5hÐÀt¼ÿ~5nÜXçÎSLLŒqÍÜãââtúôiyxx¨N:rss»fÿÿZ÷±8–|?—Yr߬í{òäI>}Zµk×V@@€²²²´mÛ6SŸÖ­[ËÓÓ³Lsܹs§ÒÓÓ%¬z«U«–éܾ}û”œœ,I 6Ûëìï¿ÿ6½ZÒ××WÍš5+2Ç’<£ìŠenYÅ«ìe~@™[Âk`·(–ÀnñFØ+^ÃûE± v‹bìÅ2Ø-Še°[Ë`·(–ÀnQ,€Ý¢X»E± v‹bìÅ2Ø-Še°[Ë`·(–ÀnQ,€Ý¢X»ådë…ÅÇÇ+==ÝÖaÀ-/((HžžžV_ÏÊ2Ø-Še°[Ë`·(–ÀnQ,€Ý¢X»E± v‹bìÅ2Ø-'[°K— :rÄEIIŽÊÈàßN°ŒÁ`”—W¾ªWÏUhhŽ [Gpc(–€9ÞAË–UÖš5ÚµËMyyü-7ëy{çëŽ;2uï½éêÔ)CŽŽ¶Ž ä(–€ÈÊ2è³Ï|õÙg>rp0ª{÷ ” F²œ'|[‡ œÈϗΟwÔñãΊŠrÓúõ•4jT°ÂÂr4iR’ºvͰuˆ%b0F[0¯ôôôRkͽñF€ÒÒôÔS)2$â€Ruü¸³>þØO+VxªC‡L½öZ¢jÔȱuXÀNÉÓÓÓÚË—°I TPF£ôÁ~zê©`µoŸ¥uëâ4rd*…2¥®FM¯E‹N))ÉQýú…jËw[‡`ŠeP]¼hиqÁúüs½ûn‚Þy'Ay¶ @׺õE}÷Ý)Ýyg¦þõ¯}û­—­C¸.ö,€ &?_š0!H‘‘îúê«Óºí¶‹¶ €qu5jêÔxÕ¬é§_¬¢J•òÕ·oé¼V ,P,€ fêT?­[WI_~y†B›0¤ñã“•žnÐÿ¨ÐÐ\µhÁ¯GàÖÄk ùå͙㫷Þ:§¶m³l;÷ßÿ&©C‡L¬ÔTG[‡P$ŠePAdeôæ›zðÁ ê×ï‚­Ã98HS§&ÈÁAúðC_[‡P$ŠePA|ú©¯ÎŸwÐþ“dëPÀÄÓ3_&$é›o¼uð ‹­Ã(„bTçÏ;hî\›¢ÀÀ<[‡SaÄÄÄ(""Âôsøða›Ä‘’’bǶmÛn©øn¦ëå¼zõj=øàƒjÒ¤‰©ÏÈ‘#5qâDÓñÃ?l£èí×\PãÆÙúè#?[‡PÅ2¨–-«,£† I³u(€ÍìÙ³GãÇ×Þ½{••Åž}·ƒA1"U¿ý桳gl€ŠeP¬Yã¡îÝ3äá‘oëP›Y¾|¹òó þ?P§NíÚµKÑÑÑúì³Ïl$©{÷ ¹¹åkýz[‡`†Ú å\v¶A»w»iР[‡RáÔ®][ÑÑѶ£X·z|eáZ9ŸÏÙÙ¨ví²´u«»†=oëpL(–@9ã¢Ü\ƒ5ºdëPniÙÙÙjÔ¨‘Y›£££¼¼¼T¯^=Ýwß}êß¿¿ ƒé|LLŒzôèa:^¹r¥êÖ­k:Þ¼y³.\¨={ö())I...ªQ£†:wî¬Ç{L~~%ÛŸ)77W³gÏÖÒ¥K¯ÐÐP=úè£êÕ«W‘ýoV|›7oÖ#<"IrvvÖÖ­[åããSlkÖ¬Q­Zµ$I;vìÐüùó¥ÄÄD¹¸¸(""B÷Þ{¯†*''§bÇY¹r¥öíÛ§/¾øBGÕ°aÃ4xðàB}>¬gžyÆ,æ~øA?üðC‘ù´oß^_}õ•Y[iÇùâ‹/^ÿÆÚ¡† ³µbEe[‡`†b”s Ž’¤\GRþäåå)%%E‘‘‘ŠŒŒÔöíÛõþûï[tíÛo¿­Ï?ÿܬ-77WÔÁƒµxñbýïÿSýúõ-Ïh4jìØ±Z·n©íèÑ£zùå—uèÐ!Ë“*ƒøÚ·o¯ððpÅÆÆ*''G+V¬ÐðáÃMç¿ÿþ{Óç¶mÛš eS¦LѬY³ÌÆÊÉÉÑÞ½{µwï^­ZµJóæÍ“»»{‘óΛ7OK–,±8gk•—8+‚<Ó¯Y· ö,€r.+«à—rwwö+»WWWEGG›~Ž9¢]»viÊ”)rvv–$-[¶Lû÷ï¿îX«W¯6+D=ûì³Úµk—V¯^­† J’’’’4vìXåæZVÄ\±b…Y¡ì…^ÐîÝ»µbÅ mݺµ$©–z|ƒAC† 1/]ºÔô9??ßl×СC%¬.»\€rttÔÛo¿­½{÷ê—_~Qƒ $I;wîÔ»ï¾[켫V­Ò‡~¨={ö(::ºØÕZ}úôQtt´î¸ãS[¿~ý̾ïyíÍŒR¥JùÊÌä??À­…¿­€rÎh,øß+Þ  y{{ë¾ûî3$iË–-×½ö›o¾1}nÚ´©F-oooEDDèÕW_5‹Udd¤$é±ÇSDDD¡Ÿ³gÏJ’~üñGÓuMš4ÑÈ‘#ååå¥ èÙgŸ-Qne_¿~ýäêê*I:pà€>,©àñññ’¤*Uª¨{÷î’¤… šæéÓ§  Õ®][ÿþ÷¿Mç–.]ªK—Š~…èèÑ£Õ·o_yzz–(ÿ’(/qVÃ?¿fÜ*x #Àn¬Y³Fß}÷<¨¤¤¤"‹‰‰‰×çr¡H*(l]©qãÆ2 2þÿŠÀ‘#GÔ±cÇëŽyìØ1Óç«÷V»úØñùøø¨wïÞZ¶l™¤‚âÑĉÍ^Á8pà@ÓÞ^Wư|ùr-_¾¼Èq³²²tüøqÕ©S§Ð¹Ö­[_7®U^â@ÙaeÀ.Ì;Wcƌц tæÌ™bW åääÜð\Æ[|錵ñ]~Å¢TPXJMMÕÚµk%Iz衇¬733³ÈöÊ•+[5^Y)/q dXY° ,0}¾ë®»4yòdÉÁÁA½{÷6[at=uëÖUBB‚¤‚W^éÏ?ÿ4;¾¼iÞ¼y׳fÍš:~üx‘c\}l‹ø$©yóæjР<¨ÄÄD½ð ºxñ¢$©sçΪZµj‘1 0@o¿ýv‰r¸YÊKœ(;¬,ØgggÓg777yxx(--M3fÌ(Q¡L’ dú¼wï^Í™3GiiiЉ‰Ñk¯½f:®¶mÛZ4fß¾}MŸ÷ï߯Ï>ûL.\ÐÁƒ5eÊ›ÇwÙ•«ËÖ¯__d»$ <Øôùûï¿×¼y󔘘¨ììlÅÅÅiãÆz饗4a„Í_ÚÊKœ(;Ëv¡_¿~¦Ï«V­RË–-Õºuk­]»V7.ÑX={öÔ¿þõ/Óñû￯–-[ªG¦•\þþþš>}ºi¯ë¹÷Þ{Õ¥KÓñ»ï¾«-Z¨oß¾j×®Íã»ì¾ûî“§§§Y[hh¨î¸ã³¶=zèÉ'Ÿ”$åååéÍ7ßTÛ¶mÕ¨Q#uéÒE#FŒÐ¢E‹”””T¢ùK[y‰e‡×0ì¨Q£T¹re-X°@qqqòôôT·nÝô /èñÇ/ñx“&MÒwÞ©… jÏž=JNN–³³³jÔ¨¡Î;ë±Ç“¿¿¿Åã Íœ9S³fÍÒ÷߯øøx…††êÑGUïÞ½µpáB›Æw™»»»î¿ÿ~}ýõצ¶AƒÉÁ¡ð¿¿™0a‚:u꤅ ***J rvvVpp°ÂÃÃÕ­[7uíÚµÄ1”¶ò'ʆÁh4mÀ\||¼ÒÓÓ-ê»r¥§ÆRttLG7†_¯@Y *ô6¤XÂk`·(–ÀnQ,€Ý¢X»E± v‹bìÅ2Ø-Še°[Ë`·(–ÀnQ,€Ý¢X°Ú¬Y‡µtéq[‡Q**R.E)*¿«ÛòòŒš6í~úéäM‹°5Še«}òÉ!-]gë0JEEÊ¥(Eåwu[nn¾¦M;XfŲŠ~P>9Ù:@ù5fL}ºÚ:ŒRQ‘r±ÔÍÎÙï1n}ËV=º®­C(5)KÝìœíñàÖG± `µY³+0ÐU>Xì=/Ϩ-[Îéðá4ååå«vm/uìXE®®ŽEŽsà@ª¢¢’•žž«  7uê$W³ñfÎü[µjyªOŸPÅÄ\ЦM ºt)_-Zø©ukÿ"ÇÍÈÈÕúõgtút–‚ƒÝÕ½{ˆòòŒúòË5mê£Îƒ‹ÍÅÚ9-ÉçVQÜ÷wÙÁƒçyNùùRëÖþjÖÌ·È~ÉÉÙÚ¾=QqqrrrPݺ^j׮РÍWÒç(MËVûä“CjÒÄ׬ø}A£GGêØ±t³¾AAnš>½Z¶ô3µ%&fëßÿÞ¡­[Ï™õuwwÒ+¯4Uÿþã^ÞK«[·:•©>øSFã?ý¬¡·Þji6Æþý)zâ‰H;wÑÔè¦7Þh¡iÓjذZfŲ«s±fNKó¹–eËâtâDæuû]6|x-ùúºXÜÿJE}—}ðÁŸš=û°YÛ}÷U×{ïµ2+‚½þú>-ZtL—.å›õ ÷ÔgŸµSÍšž×œ¯$Ï P(–JMVV®FŒØ¢S§2Uµj%uê$ggmÞœ ˜˜ 9r«V­êªÀ@7åå5räVíߟ¢ÐPÝqG ¼½]tüxºÖ­;£I“¢á¥æÍÿYÍ´gO²6l8«N‚U§NeÅÇ_ÔÊ•'µxñqõéS]íÛW‘T°¢lÔ¨‚BYÍšžêØ1PyyFýþ{¼&NÜ]¢œ,Óš|вlYœ¶l9wÍ>WºçžjVËŠ³{w²Ö­;£N‚T§Ž—ΜÉÒ/¿œÒòå'î©qãê›úþñG‚ÝÕ¢…¯ªU«¤ìì|ÓŠ´çŸß¥%K:;OIž ¬P,”š+NéÔ©Lµlé§ÿý¯£ÜÝ ^£—›kÔ3ÏìÐêÕ§´pá1=óL­YsZû÷§¨oßP}ðAk³ÕJû÷§¨ÿš7/Z|›©=))[³fµU·n!¦¶;îÔsÏíÒo¿5®V¬8©„„‹ºóÎ Í™ÓVÎÎ’ Š3<²YIIÙçdéœÖäS”SëÖÇççWú¯wLNÎÖ{ïµR¿~a¦¶½{#4p`AcÆÔ3å÷ÚkÍT«VeEFžÓ™3™rqÉ×í·(1ñ¢¢¢’•’r©Øb^Iž ¬P,”šÝ»“$IO?ÝÀTø$''ƒ&Lh¨Õ«Oi×®‚>›7'H’*UrÒìÙ‡eüÿï84%£Ñ(//gíߟb6~Æ>fE+I¦W)&$üóºÅ¨¨dIÒ¸qõM…2©àuˆcÆÔÓãoµ8'Kç´&Ÿ¢<ð@Øuû”µðpO³B™$5kæ«îÝC´zõi9’¦úõ½%I{ö¤è±Ç6+7×XÔPJJÊ.¶XV’ç(+Ë¥æüùK’¤°0ÏBçªW÷Á ¥¦ôIN.øßo¿µxü÷Bm•*ý³éê8ªU«T¨h¨‡Åó•dNkò)ÊÍܳ¬8¡¡…ï›TðJRZZŽ$)2òœ¦LùS..êÖ-X5jx¨R%' ýñG¼¢¢’•Ÿ_tM*Ùó”Še€Rãí]P´‰‹KWõêæ—'2d4J>>.f}‡­)ÿ¢÷¤rss(²ÝÒ8NÊ,´ßÕÉ“Viéœ7šÏ­°gÙÉ“EëNœ(¸w^^Î’¤_=+Iš1ãvuéb¾úîàÁÔëÎS’ç(+Ë¥¦eK}÷ÝqMŸ~H-[úÉݽෙ¼<£¦NýK’Ôª•¿$©]»-Y«¼<£ÆŽ­'ƒÙXçÎ]Ô™3YVÅÑ¢…Ÿ–.=®™3ÿÖìÙmåäT0vvvžfÏ>lmz×TZùÜ {–ÅÆ¦ëûïã®Ú³,Ekמ‘——³êÔñ’$ 9zz:›]yN6œ½î<%y^€²B± Pjúö­¦™3içÎ$õì¹^:ÉÙÙA›7'(:ú‚¼½]4dHMIÒ=÷„êË/côÍ7±úãµo(¥¥å(66]Û·'jĈ:jÚÔ׊8BõñÇõÛogÕ»÷zu쨼¼|ýþ{¼23ó$IÃu)¡ÒÊçVسÌÏÏUÏ?¿K?ÿ|Ruëzéôé,ýòË)ååõØcrt,¸y-ZøI’FŠTÏžUåëëª#GÒ´qc¼üü\”˜˜}ÍyJò¼e  IDAT…b Ô¸»;éóÏÛkôèH;–®… ™ÎºiúôÛM¯Ett4èóÏÛë…viƳZ²$Öl¬  7« e’äáá¤Ù³Ûê‰'¶êèÑ :zô‚$©J7MšÔDÏ>»S•*•îoe™ÏÍÖ²¥Ÿj×®¬9skãÆxSû}÷Uט1õLÇ=zTUß¾¡Z±â¤–,9nj0 \•+;é‹/¢¯9OIž ¬P,Xm̘ú 4 `DDe­^ÝM›7'èðá4ååU«VeÝyg \]ÍúúúºèÓOÛ)&æ‚vîLRrò%ùù¹(<ÜS­[û›V0999hüøªU˳P —ÏEDT6koÖÌWë×ß­õëÏèÌ™,»«[·mØpF’â~Í\¬™ÓÒ|l¡¨ïêZ9÷éªÞ½«iûö$åçÕª•¿š7/\ìûðÃÛ4dH-8*ƒAjÕÊOMšøjÓ¦yz:ËßßµØù¤’=/@Y0F£­ƒ˜‹WzzºE}W®ôÔøñAŠŽŽ)ã¨Ê—èè ªV­’ÜÝÿ)¸¤¤\ÒCý®£G/è§Ÿº¨~}oFØ~½e!((Hžž…ÿÑ»…–°² P!ýöÛYÍž}XíÛWQh¨‡âã³ôÛoñ:þ’Úµ«B¡ €$^è êÔñRvvžV®n>:yþ¤6Û¤ Ù,šëйCÚ~b»Å±eådYÔ/93Yïþö®Æw¯pßp‹Ç—¤ÄŒDún”;¤ïýP}ô)ÑõP23ôÿWE+VxªK—LÍœyVáá9¶ @9c0HMšd«I“l›¬9s|5uªŸ¾ýÖK}t–×3¢Â¢X¸!FõÕ ¯Ô0¨¡©­Wý^êþiwý|ðg½ÞóuUr®$'‡‚ßr>èó|Ü}L}5¤´‹iÍ5ñ®‰J˶¬¯$‹W•½±þ …TÑãm·xlIúûÜß¹d¤²s³µ`È5¯Ú¼D×@i8sÆIO<¬„'Í{F;gÚ:$€»»QÏ<“¬þýÓ4qb z¨š>ú(A]ºdØ:4 ÔQ,Ü Ì e’äëî«nuºé»}ß):1ZMCšjp‹ÁZv`™žøî Ýßø~5n¬zUêÉÕÉU^n^–ÍÔ Ôãßtl“~þëg}ÿè÷r48Z|ÝßçþÖÀùâ¢EC©šwµR ®çÈ=òHUùøäiéÒ“ ͵uH*˜ÐÐ\Í›wF¯¼ Ñ£ƒõòËç4t¨åÿ˜((–nHq….o7oIûyIRM¿šZ7j~üóGm‰Ý¢/¶¡Ói§Õ±fG=ßùyED\w®²Ø³ìÃß?”›³›Þ\÷¦Yûñ”ãclü@s·ÍÕ¤®“Ô8¸±é¼³£³•v1M—øUn¾¤$G¢°°Í{Fžžù¶ @åädÔ›ožSÕª¹zíµ* Éc…*Še€røÜaåäåÈÙÑÙ¬}ÿ™ý’¤ ÊA¦6o7o o5\Ã[ —$%¤'èÉ¥OêáoÖ¯Oþ*W'×kÎU{–eæd*ãRF±ã>wX’tþây³öZ~µ4ýþézôÛG5xÁ`Í0W-ªµ°86¸ÙÙ=ùd°$£>ùä,…27ÅSO¥(>ÞIÏ<¨o¿=Åf¨0(–nHbF¢^_÷º^ìö¢\]d4õåÎ/µýÄv…ù„)Ì'L’ôåÎ/U¿J}µ­ÑÖt­¯»¯<]=•p&A±)±ªW¥Þ5ç*‹=ËÞ½çÝ"‹jówÍ×ê¿WkB§ jQ­…êÖ/Ô§^•zúvØ·zxÑÃzø›‡5«ß,u¬ÙÑâøÀZÓ§û)&ÆEK–œ”Ÿ_ž­Ã`G^~9QÇŽ9ë™g‚õóÏ'ääd´uHÀ £X¸!µýkë»}ß駃?)Ü7\g.œÑ¹ôs’¤ '˜úmŒÙ¨7Ö½!…ù„ÉÅÉEG“ŽêBöùºûšŠj×R{–5 iZdûÚÃk%Iu«ÔU›°6Å^æ¦ÅÃë±oÓÈïFjJß)ê]¿w©Ç —ÅÅ9ë‹/¼5iR’j×αu8쌓“Qï½— »ïÓW_yë_ÿJµuHÀ s°u€ò­¦_MM»š ŽÚwfŸÎ¥ŸSe×Êz«×[fE£Çn{LÂ;(3'Sjï齺}AmÂÚèËA_ÊÝÙ݆Yܘ@Ï@-ºPƒë™åÏè›=ߨ:$Øoø+<»U½úê«úúë¯%I·ß~».\(Izúé§õóÏ?K’zöì©3fØ,FkU„P:FJÑ¢E^Z°ÀKãǧØ:à†P,XÅÁà`özBgGg5 jxÝë*9WRƒÀÒbi«á[C5|kj¿:ï+¹;»_ó•p£–,©¬5rÔ©S¦­C`çÜÝêßÿ‚–.¥X†òbPNüú«‡zöÌÁ`ëH`^½z©víÚ’¤ˆˆGcŠJOéš3ÇG‡¹¨~ýK¶°Å2 HMuÔ±cÎjÓ&ËÖ¡à {÷îÕ®]»d0Ô®];Õ¯_ßê±222´mÛ6ÅÆÆ*;;[¾¾¾jÚ´©6¼þ›\®¶zõj>|XRAQ«wïÞŠ‰‰ÑæÍ›•ššªQ£FiçÎÚµk—Ùuîîî Öí·ß®   Ï{éÒ%íܹSÑÑÑÊÌÌTµjÕŠ+++KÛ¶mÓ±cÇtñâE¨M›6 ³*WW×NjӤI¶<=óåF± åÅ2 ˆŽv–$Õ­Ë_Hß .]º¤ &håÊ•fíO>ùd±×¬ZµÊl¿¯Þ½{›Î}úé§š9s¦222 ]פI½÷Þ{ªS§ŽÅñ]=×ñãÇ5uêT{Ý=úè£Ú²e‹æÌ™Säõ}úèõ×_—§§g‰ò¡Xvó RDÄ%=êrýÎÀ-ŒbP¤¦,üüòl $éwÞ1+”õèÑCÁÁÁúᇔŸŸ_¢±¦M›¦iÓ¦™Ž»víª°°0­_¿^qqqÚ¿¿† ¢åË—«jÕª%ŽuçÎZ¿~½úôé£5jÈÁÁA®®®jß¾½YéÒ¥K:qâ„Ö­[§ììl-X°@!!!×,^6gνÿþû¦ãÚµk«}ûöÊÍÍÕîÝ»µcÇÓ¹Y³fiÊ”)’$GGGõìÙSÁÁÁZ»v­âââ´bÅ ;wNóçÏ—¡ˆwŽ—lÃÏ/O))¶¸!Ë€ràÒ¥‚¢‹‹ÑÆ‘ %%E .4?ù䓚0a‚$iÔ¨QêÚµ«Åc%%%iÖ¬Y¦ã'žxBÏ?ÿ¼$iܸqêÞ½»’’’”’’¢3fè­·ÞÒÙ³gµxñâBc5jԨȹ5þ|µk×ά½C‡êСC¡þ‹-ÒK/½$IZ¼xñu‹eÉÉÉúøãMÇ]»vÕÌ™3åäôÏ_?ÑŒ3ÌŠWEÉÈÈO±ç¯Ž«¸ù$ÚÏlöìÙÅöMHH(²ýZã€5(–@ \]8JJJ2kKJJ²x,???³ãÄÄDU®\Ùìøê¾ÁÁÁ?~|¡±5jTäŽŽŽ…ÚvïÞ­©S§šŽ›5k¦Ûo¿]îîî:~ü¸–/_n:g4^ûÕŸWçpêÔ)y{{Ù××××ìx̘1…V¡]V£F"Û‹ÊnÅ2(-ZÈÉÉÉô*ÆeË–™ö,KHHЖ-[,«M›6rvv6½ŠqéÒ¥¦±ÒÓÓµfÍSߎ;J*¾XV‡6}vrrÒâÅ‹ME¨>ø DcµiÓF...¦jÓ§O׌3LãFíß¿_M›6-”oXX˜ú÷ïo6^^^ž¶o߮ڵk[”Å2(___ 4H_ýµ¤‚W ;vL!!!Z½zµ*W®¬¬¬,‹Æò÷÷×èÑ£MûvÍž=[111 Õ† L+Ë|||ôÔSO•ZõêÕ3}ÎÍÍÕˆ#Ô¸qc:tHýõW‰ÆòóóÓøñãME¶µkתwïÞêСƒòòò´k×.ùùù髯¾’¿¿¿ÆŽ«?üP’4iÒ$­ZµJõêÕSff¦NŸ>­={ö(99Yß}÷K-g(Å2(¡‰'*11Q«W¯–$ýòË/’¤Q£F)##ÃTH³Äøñãåêꪙ3g*33Sk×®5;߸qc½ÿþû¥ºWW‹-4räHÍ;WF£Q›6mÒ¦M›Ô¬Y3½øâ‹%^¹öä“OÊÃÃCü±RSS£˜˜I’³³³zôèaêûÔSOÉÃÃCÓ¦MSZZš6nܨ7šÎ;::ªC‡ *dà:(–*¬&Sš¨Ip-ºÐÖ¡%Æó ÜÚ\]]5cÆ EEEi×®]rttT»víT¿~}ýöÛo¦}¼®,põêÕËôjÁˆˆ³ñF¥aÆ)22R±±±ÊÎΖš5kVì^d×r­¹.{á…Ô¯_?íØ±CéééªS§Žî¼óN>}Ú¬XæææfѸÇ×ÀµsçNEGG+++KU«VUÛ¶m ­{ôÑG5hÐ íØ±ÃÔ×ßß_ÁÁÁjÞ¼y¡=Ï,ɬe0^owFÀM¯ôôt‹ú®\é©ñãƒSÆQÝšê½WOmÂÚè«A_:G±åYQÏﵞ÷òÀÞ½¸Qü÷€[Ѹq+§O·q$°gAAAòôô´öò%¬,TXûŸÝoë«ñüÜËØ•½{Ý´aC%EE¹):ÚEçÏ;(;Û`ë°Ü‚<<ò§ .©]»,uíš¡àà\[‡€RF± pCvœØ¡/v|¡Ý'wëBöU÷©®»ëÞ­ÇÛ<.o·Þ/þÃôõî¯uøÜaåóUË¿–ú7í¯a-‡ÉÁà IÊÎÍV£©[nšÜc²ÞZÿ–þ8ö‡.å]R‹j-4ñ®‰jÔ@’´óäN úz$iKìE¼óÏûÊ Y 6am ½Æ®$ãKÒñ”ãê:§«†µ¦Wï~Õ,ïËçmý¨^ìö¢Ù¹í'¶kî¶¹Ú}j·Ò³Ó\9X=êõиãäéZòåà¥}ïJÊ’|®œÿ¥n/éÝ_ßÕ–ã[”š•ªOïÐmßVä¹}ÏîS%çJ%α¸qn¦{>¿GiÙiúc̦¶SçO©Ó¬N’¤Õ¯VDÀ?Ïe×9]åèà¨5#×X”˕ϯ%Ï»TúÏP‘Ò?VÖìÙ>:rÄE¡¡9j×î¢îº+S¾¾yruåíô KOwÐÙ³ŽúóOW½÷žŸ&OÐ]weè™g’U¿þ%[‡€RB± `µù»ækòºÉºrû˘¤ÍÚ:KƒAÿ¹ó?’¤w~}Gs·Í5»ö¯ø¿4yídEŠÒ‡÷~hv.íbšúú!H=ajÛ»Eÿ®µO¬•¯»ï Å]–ã/ŠZ¤—×¼lvONž?©Ï·®-±[´xøb¹;»[<ž­ï]Ió9ñ¼Î¨øôÞSžŸŸÍs%ÍñZsçáoÖ–Ø-çýËÈ_TÛ¿ö5ût¬ÙQŸoÿ\1I1¦¾›b7I’ úãØ¦bÙÉó'u<帆·~ù§´Ÿ= "9pÀU“'hï^7Ýÿ½ÿ~‚7ζuXÊ™œƒÖ­óÐܹ>ºï¾ê4è¼þýïdùøX÷{7n¶P>K>¦7Ö¿!ƒƒžhû„Ö>±V&Ð/#ѳž•»$éÏø?5wÛ\¹9¹é•î¯hëØ­ÚùôNMé;E>î>Zñ× ­;²Îlìí'¶+¤rˆ¾ä{ív¿ÖZ§öá핚•ªå.—$µm­èÿFËÑÁQíÃÛ+ú¿Ñ¦ŸË«lŠcÉøÖ8‘zB¯­}M^®^z»×ÛÚ:v«þzî/­~|µzÕ弄 õ¿ÿ³x¼²ºwe™ÏŽ;TÕ»ª¾{ø;˜p@Ñÿ6­h*êÜñÔã%ÎñZsÜLwÔ¼C’ôDZV–ýqôÕö¯­¦!MµéØ&³v© Àv%Ks¹Þó^ÚÏP‘Ìží£~ýBåèhÔ?œÔ»ïR(`gg£zõJ×wßÔÛo'híZOõ즨(7[‡€ÄÊ2€U–ÿ¹\yùyÓ~Œi™$Õö¯­ÑíF›ŽWZ%IÛa¬ÙªšûÝ'ƒƒþýã¿õóÁŸÕ­N7Ó9_w_}ÚÿSSÑ Ü7\/u{I½æöÒ¡„C7{YÿÔ›Ÿ«7z¾¡^õ{™Ú#"ôѽiçÉZ{x­žl÷¤EãÙúÞY“O%çJšóàùUò+4^Qç¬ÉñZsç«A_YÜ×R­«·–«“«6Û¤G[?ª|c¾"ã"u£ûåéê©Ï·®œ¼9;:kSì&9Õ¦ºy!ך\ŠRÚÏPääôâ‹UôÕõÿ—¨‡>/Û’(ƒÔ¯ßÝ}w†þóŸ@ VU3 ¾}Óm¬D± `•˜¤IR¯z½®Ù/69V’Ô%¢K¡s—ÛŽ§7koܨÐêšê>Õ%IéÙ7þ—e5þ‘Ä#’¤g~|FÏüøŒéuxFMŸ ²üojm}ï¬É§aPÃb ?E³&ÇkÍq3¹9¹©uhkm‹Û¦œ¼ýÿ—R³RÕ±fGyºzjÆæÚur—n«~›¶ߪæÕšúnJ+—Ò~ö€ò./O=:X;wºéÓOϨS§L[‡ òôÌ׬Ygõî»þúÏ‚”™é ‡J³uX°Å2À 1XøÏô-í'! ]_ŠÑoéø†‚·e,tîbîÅBmùÆ‚ý*òòóŠûR^É7‚·Õ½³&ŸË¯ß,ʵΕ$ÇkSœ²Ø³L’:„wÐæØÍÚyr§vŸÚ-Gµ k#'yºzjSì&¹9»)íbš:†w,t½5¹¥¬ž= ¼zóÍmÛæ® N©iS^¹ ì8:J“&%ÉÓÓ¨W^ Põê9jß>ËÖa „(–¬r¹°êÐ*Õ¬_l¿p¿pIүѿªN@³s¿Åü&Iªá[Ãê8 2(7/×êë¯%À#@RÁÞ]WÛz|k¡¶Ë÷äƒþ§ánxþ²¾w×SÚùÅÖ9Þ¨;jÝ¡÷~{O›ŽmÒîS»Õ*´•ÜÝ%ImÃÚê£ÈÕÑURáýʬQÜó~3¾+ ¼X¸ÐK_í­iÓâ)”¸iÆKÖ±cÎ7.XßR5jäØ:$”Å2€UîktŸfm¥Ù‘³•gÌSÿ¦ý\9X§ÏŸÖšÃkäâä¢Ýö/õªßK³·ÎÖôÍÓåáê¡u{ÈÙÑY¿ý]“×N–$õ®ßÛê8|Ü}t$ñˆâRãêjZ VÜÝUÕ«ªþ8ö‡–ì[¢^õz);/[k¯Õ”S õ Éš½u¶þóã4¡Óu¬ÙQ:ñ¼bSbõóÁŸädñ¾Qe}ï®§´ó)ÊÍʱ,ö,“¤úUêË¿’¿ÖY«¸”8ýûΛÎu¬ÙQ¯­}MÙyÙªìZYMCšÞð|Å=ï7ã»ʃ„'½óŽ¿FNQÏžìàæ1¤wÞIPÿþÕô꫚7C@ P,X¥¦_MMê2Io¬C³·ÎÖì­³ÍÎi?F’Ô(¨‘FÜ>BŸoÿ\¯üòŠ^ùå³~}ôQ÷ºÝ­Ž£mX[ýtð'u™ýÏžW †,P›°6Vy¥ÇÛ<®Ék'kâʉš¸r¢©}@³Z²w‰Yßpßp½Þóu½ôËKš¸jâÕCI’FµeñÜe}ï®§´ó)Š­s¼QƒAjvÐþ(Iº£æ¦skv”ÑhTtb´º×í.GÇžïZÏ{YW@yðî»þò÷ÏÓÿcï¾Ã£ªÒŽ'½‘NBi$1ôJèuA, * ŠAä'¬«èÂZ°ÐtAD‘‚" Ф… H!=¤'“ùý‘ÍÀ@fRHÀ÷ó<<›9÷ÜSîÜçsÞ×_Ϩï¡!þ†ŒUÌ›—ÊsϹ°¿9ýúåÖ÷„B!„–$X&„¢Ú^îø2¾}Yuz! !äçãfíÆ ßALèFÇŽv̘Ñü¡ŒA!2 – !„¨‘®î]éêÞµÊzO·|š§[>ýÀ:ÆÆDþ_¤NÇ[4féÓK+='ì°·¯P(˜ÒuJ¥Û×ݯ­ÖN­ùzÄו«ŽººvÚÒf>5í¿¦s¬O#[dd«‘•;4õP¥åÚÌåÞû|¿Cíß{B}:¿ýö{ö졤¤___^yå•Jƒ,—.]âÏ?ÿ$22’¼¼<\\\èÞ½;ƒ BOOï¾sÓ¶}]iÛî_ýÅþýû‰ŽŽ¦¨¨Z·nÍðáñ³³Ó©Ïsçαwï^®_¿Naa!ööö0|øpŒujëÞçbÚ´ilܸ‘£G’™™É÷ßÏŽ;رc‡ú…B©©)Mš4¡K—. 4CCÍ_õïÚµë9Ëtyu™¯6ó133Óé5díÚ•¥GB‚!®®Åõ=!jÅýrPÅÄä²iS W¯f£T–âåeÁÈ‘îøû[Uh#+«ˆÍ›c I''§GGS r¢o_'u»siMŸîÏÆÑߢ¨¨”vílyùeo,,*~¥šÁÆÑ$$äáädÆsÏyàâbÊôé§8ЙW^ñ¾ï\ªÛ§6ói(”C¬¨¨”_~¹ÁÉ“)”–B‡¶Œç™™fâE¥RÅ¡CÉ=šLll.úú |}-yæw<=-´êO—ûE!& – !„Y}¯Øªïþ…¢¶%$âáñx}wž)kkk¦M›ÆŸþ©>~èÐ!Ö¯_ÏÏ?ÿL³f͸|ù2gÏžÀÏÏO£½¨¨(u{–––•öcccÃ;ï¼ÃöíÛÕÇ÷íÛÇúõëÙµk—:TPPÀìٳٹsg…q¯_¿žÁƒ³tiÅ|‹*•J«öu¥m»¹¹¹qøðá müöÛo|ùå—ÌŸ?ŸáÇWÙg~~>3fÌ`ïÞ½Žýúë¯|óÍ7|÷Ýwøøøh=»Ÿ +++^{í5±–””§®s¯õë×ãïïÏO?ý„µµu¥íÞ<Ôåy¬Î|µ™Ïã¤ü5).Î@‚eâ±QYª]»˜1ã ÅÅ¥ê²Ã‡“ùñÇë¼ÿ~kÆóR—‡„¤óÚk'ÈÈ(ÒhcË–Föà?ÿiÜÉ¥eaaÀÔ©qà@’ºî¡C7ùóÏD6oî…¡áþ¦MÑÌ™‚Ju§Ý­[c˜9³§N¥âë{ç½®²¹T§Omçó „qñbf•õÊ-\Øgçêý°à~9ÄJKaüøcüõWªºìÀ$¶neýúžØØ©ËÇŒ æìYÍm¯¸ÉªU‘,]ÚY#HXÓûE!6 – !„B!i·oëѨQiÕ¤E‹,Y²„œœ¾üòKRRRHMMeúôéüþûï(îÙ÷íA+»îçÀøúú²xñb’““Y¸p!………¤§§³råJÞ}÷]Þ{ï=u€E¡P0jÔ(zõêEII gÏž%11±Fí×Õ¸ß}÷]u°ÆÜÜœ·Þz 777~ýõWvïÞM~~>³fÍÂÅÅ…:<°ÏÙ³g«GL›6&Mš°mÛ6víÚE\\'NdÏž=˜ššê<§ƒÒ¤Iþýïãîžæææ<ÿüóôìÙS]¯¸¸˜ØØX¾ÿþ{âââçóÏ?gþüùUö¡ËóXÓùÞo>“òפìlÝÿ¿'Ä£"9¹€Y³ÎR\\ÊàÁ. 쌡¡‡ßdÓ¦>þø:ØÑ¼¹99%L™r’ÌÌ"žzÊÞ½›`eeDll.«WG²iS4]»Ú3|¸›ºý#G’±¶6böì–øø4"9¹€o¾‰àÒ¥Lþø##Êê&&æñÁ¡¨T0rdSúöm‚R©âÏ?“øâ‹K:ÍIÛ>«3ŸÊ\¹’Å©S©¬s·üüŠÁ®š:rä&†¼ûn ||,IJÊçûï¯u›ÿû_|ÑQ]7'§˜#ÜèÔÉWW3 ”„‡g±zuóæ]xàŠ:]î!„¨,B!„B<Ò”JÐ×WU]ñ1a``ÀÊ•+±²*û2ÉÑÑ‘ &Á™3gèÔ©“Æ9÷Ï´¡¯¯ÏªU«Ô+±.\¸Ào¿ýÀ•+WˆŽŽV—L™2…wÞyGýxذaäåUžKN›ö«C›v¯_¿Îž={ÔçÌ;—gŸ}€~ýú1tèP®^½ŠR©dÅŠ|÷Ýw÷íïÆüñÇêÇ_ý5;w W¯^\¼x‘¸¸8Ùºu+cÇŽ%22’ýë_ÚêÓ§“&MªtN¿üò ÎÎÎånnn¸¹Uü"ÖÎÎŽ7Þx€?ÿü³Ê`™.Ïcuæ«í|'å¯IJ¥$,¯_¥ @YaÕ AÎ89™±hQ86D3o^~ý5–´´BfÎlÁ”)¾í âB¯^»Ùº5V#¸d` Çºu=5¶÷sw7çÅrî\º:pµcG !gÙÕ«Ù—bh¨™c1,¬ìÚ9:–]ßÐвÕtK—TX÷ÕW—«ìG—ûE!êƒdšB!„BˆGÈõë×Ù¹s'P¶RjéÒ¥êc†††tïÞÐ jœ;wN0Û±c‡z‹Áš ÐX%´`ÁâããÕSSSÙ¸qc­ôU›°µµU?^¶lÅÅe9cÂÃÃ5ò™ 2¤Ê¶î^ÍväÈÚµkG@@€úŸµµ5'NœÀȨl…ƒ………Æñò^^^ZÏ!==]ý·Ó¦M£wïÞ´mÛ–ÐÐP­Û)Ÿƒ¶Ïcuæ+„x<õìéÀçŸ_""âά y|ðÁùÿÕqÊòRl߇““)öê;Ú‘‘QÈÍ›^É{?eãøôÓ‹ÄÆæªË##oóÕWáÕj³*µ5Ÿ÷ÞkÅÚµ=´þW9ËRS ùøã •­êR©à‡¢8u*•¦MÍiÚ´,°em]öš~î\šúÜ’‹‡sæLZņï¡Ëý"„õAV– !„B!Ä#ÄÏÏ9sæ°téRrssILLT›4i’zuÒ AƒØ²e ‘‘‘ôíÛkkkiÞ¼9—/Wý+𪘘˜ðÉ'Ÿ0eÊJJJ¸zõ*ýû÷ÇÛÛ›’’¢££ àÙgŸ­q_µÉÔÔ”ùóç3mÚ4”J%û÷ï'00GGG®^½JII P–nÒ¤IlËÄÄ„ÿüç?L:¥RÉÚµkùý÷ßñðð //ÄÄDrs˾¼íÝ»w­Í¡sçÎQTTDII }úôÁÃÃèèh<<>ÂB%“'û2t¨k½VÔ·oÚ´±!44ƒ÷âíÝ¥RÅ9øùY’˜úúÕ[µv?µ5Ÿ†³ÌÛ»›7ÇðûïñxxX””OJJ3g¶P×ëÝÛ‘eË"øàƒPV®ŒÄÆÆ˜èè²³‹hѺÊU|ºÜ/BQde™B!þVn¤ß`õ™Õ,>º˜cÑÇê{8B¡3OOOþûßÿ’ŸŸ¯”óæ›oòöÛo«ëõíÛ—3f¨W÷¤¤¤PTTÄêÕ«ñññ©µñôîÝ›­[·Ò»woôõõ)))!""‚¨¨(¼½½y饗j­¯Ú4`ÀÖ­[G§NP(¤¥¥qùòeJJJ°´´dâĉ¬[·î¹¾ÊõíÛ—Í›7ˆ¾¾>YYY„††ríÚ5rssiÙ²%3fÌÀÛÛ»ÖÆïîîÎ×_£cÙ/õ333¹té#GŽdúôé:·§ËóXóB4< ¬XÑEàˆŠºÍ•+Y(•*tæçŸ11¹“7rþü¶Ì™Ó ââò I'*ê6¥¥*† qaØ0ÝePûþû®ôìéHI‰Šˆˆl"#oÓ£‡£:Øcn^ûëêj>›§§‹wF__Á… ¤¤Ш‘! ´gÈ;[·icË´ÆÔTŸØØ\BCÓQ(àÓO;Ð¥KÕ¹(u½_„âaS¨j’9Y!DHNN&''G«ºüaAP#‘‘Qu<ªGË’£Kpµvåé–O×÷PD±1t#ÿ=õ_®§ÝÉÓ3¹ËdfõžU£ú{‘×+QWÞ|³,X°dIr=¤îLŸ>]½õâàÁƒYºt)¥¥¥\»v‚‚|||033«ôÜüü|¢££ÑÓÓÃÇÇ===¢¢¢HM-Ë‘bccƒ¯¯/P¶--­l+%[[[ Zll,III˜››Ó²eË }M~~>...88hn§TÓö罹ífggKaa!ÖÖÖxzz¢§Wñ·¥ê§\ùõÎËËÃÎÎGGG­nÕé  ¤¤„˜˜rrrðððÀÊÊŠ¬¬,®\¹¢®Ó¡Cu;mÚ­êy¬Î|µÏã¤Y3o/NfÈí>× ¡úü‹†ÏÑÑñ¾¹tµ°I‚eBÑI°¬æü>ó# ikž_SßC ÄôíÓÙ¾\¬\8}L‚e™¼^‰ºòwøóÊ‚eBˆ†M‚e¢.Èç©ÊߢQ#CÚ¶µQ—?žÂ´i‘“SBpð`Mêq„B<ÞþŸÇEÃWÓ`™ä,B!ÄßÂsmžczàt¼ì¼Ø±[¶`Bˆ.<<œ?þ¸Êzï¿ÿ>þþþaDB!ªˆˆ,>ùä"vvƸºš“œœÏÍ›ù¼ø¢—Ê„BTI‚eB!j,<9œs ç¸]x›¦6MéæÞ kSk”*%ËŽ-ÃË΋aþÈJ‹âxôq2ò3˜Úu*†ú†\¼y‘„rŠrp´p¤—w/ìÌì*ô•ž—Ω¸SÄfÄb o€¯½/]=º¢¯(Ûê!1;‘Í6Sª*%6#–ÅG«ÏÙj$®Vwö×¶Om(UJŽGçjÊU”¥J¼í½ ôÄØÀX£Î½×âè£)‹hçÒŽŽ®«Õwuû¿Îɘ“”ªJéèÖ‘6NmîÛ~Uת.çV[ºyt«ï!!„ÐAvv6§NÒªžBˆ¿·ž=Ù»7‰³gÓHK+ÀØXŸ±c=™=[ûm}…Bü}I°L!Dµ¥ä¤ðÎïïp<ú¸F¹¹‘9Ÿý”Á~ƒ)Q–°øèbúûôçZÊ5–_¦®7±óD² ²x{ÇÛœˆ9¡Ñ†©¡) ø€Q­G©Ë>Þ÷1ëBÖQ¤,Ò¨ëaãÁ÷£¿ÇÓÖ“ÄìDu€,>+^#XÐ4W+WRsSµîS‘©‘LÝ:•é74Ê-YòôÚ»´и Y ,<¼»wC~¶Í³,øÇú®nÿWn]aù‰åõG´ÁgÃ>S­¯UmÎmÛÅmÄeÆi=ÿqÆacjSuE!„x„-Z´ˆE‹Õ÷0ª€€"##ë{B!¾¾–lØÐ“ÌÌ"âârÑ××ÃËËýªOB!`™Bˆj*)-a¦ „'‡cndNßf}q²t"!+cÑǸœ|™Á~ƒÕõCBØwm=<{àïè‰ z =&mžDXR®V®ôðꕉ11ì»¶9»æÐ̾mÛ|# Ú¹´ÃÅÊ…Â’Bõê¨ww¾Ë¦q›p¶t&(0ˆ%Ç–àbéÂÈV#Õcp±rAYªÔ©Ïªäç3qÓD²p¶t¦—w/ õ 9}Œ¨´(&mšÄ®Wwá`á >ç|âyD —W/|ì}HÎIæð?غ‘aþÃtZUþÏ%œcßµ}eý7ö!);‰={Ø~i;6¼ø&@µ®UmÌmÛÅm°2Ԩ˄B!„X[ammTßÃBñ’`™BˆjÙ¾“ðäp|ì}øyÌÏ[òå囫Q?-//žü‚-F¨Ëv]ÙEXRO6’…â¯wçWaIaŒZ3ŠNÿÀ¢e¿¤Ÿ7p^v^œŒ9IRvFúFtvëLjn*! !däg¨ƒeËŽ/£©MS‚ƒ4Æ¡kŸUùíòo$d%ÐÞ¥=?>ÿ#¦†¦@Y0ñ­ío±;b7¿„üÂ[=ÞÒ¸ߎü–þ>ýÕe=<{0ë÷YŠ:¤S°¬:ý§ç¥óÙÐÏ4‰¡I¡<»æY~8ó¯w}…>^ýSçkUs{ºåÓ:mÛhkf«u]!„B!„B!î%Á2!„Õr2æ$³ûÌ®çËÜÈ2O[O@À±èc˜š±üärõ¶}*• *,M, K S×?ŸxžñÆSRZRé˜ÒrÓª\a¤kŸU9—p€é=¦«UzÌì=“Ý»9VãœæÍ5‚I½½{p+ç–Ö}W·@@§6 ðÀîˆÝ\K¹ÆOTëZÕÆÜžnù´Võ„B!„B!„¨ ,BQ-™™xÙyiUßÃÖ£BYz^:B7Tyþɘ“|qø ŒôèïÓwwÌŒÌP  øF0! !”ªJ«lG—>µ‘U@Së¦޹Y¹¡P(ÈÌÏÔ(w²tªP×ÌÐ à¾ÀÚìßÕڵҶܬÝÈ.̪w­jcn’³L!„B!„BµÑÞ¥=›/lfÉÑ%´wi¯Þ Q©Ròåá/èàÚAëötUþ£3¢Ù¶µBβ½W÷bib‰Oc ö¯•¶$g™B!„B!„x˜$X&„¢Z†øỿ¾ãÊ­+ôYÞ‡¾ÍúÒ¤Q³9}”1íÆT,Ú|(«Ï¬fýùõߦ›G7ìÌìÈ.È&:#šS±§˜Øy"­ZÓι“7Of°ß`lÌl¸–zÃQ‡±5³%57U£m[.'_æßÞÁÍÚ =…#[Ô©Om<ÙüI–_Æ™ø3 þï`zyõÂPßcÑLjLÄÊÄŠ1íÆTï"×Qÿ¶f¶¼»ó]v†ïÄ·±/‰Ù‰ì‰ØƒR¥d|ÇñêU€µ}­´UW9Ë.%_bÿµý\K½À™ø3,>º€ÖN­ÕùÕ„B!„B!Ä߇Ë„BT‹ž«ž]Å[ÛßâTÜ)v\Ú¡>falAsÇæU¶¡¯Ðgå³+™½s6"°)t“ÆqG Gu fß žlþ$¿]þMîÔÝf4Œ±êô*sÇwÏì?f³ýÒvuY@Ó\­\µîS¦†¦¬½’©[§r#ý¿„ü¢>æ`áÀ’§–à`á u{ºªNÿí]ÚãmçÍŠ“+8|ý°º|D‹¼Þýuõc]žŸGÁ¥›—Ô±rgãÏr6þ,/¶Q‚eB!„B!„C,BQmü2öÂ’ÂI !¿8Ÿ¦ÖMéæÑMKË@߀ À ¼ì¼*mÃÆÔ†ïF}GTZgâÏž—Ž­™-6tt툾Þ\g_ ÿŠ1íÆpñæE \:ÐÊ©GoÅÂØB#¯ÖÈV#iѤÅþEV~*T¸X¹èܧ6šÙ7c÷¤Ý»qŒ«)WQª”xÙzÑÓ«'ÆÆêzºåÇšÙ7Ó©o]ú¿Û¬Þ³â?„S±§(U•ÒÁµmÛV¨§íµª«¹Õ¦MZtßãRàOÑ0„…eðôÓ‡ ò'(è‰úNñ<ñYñÓ±/¶‘A~ƒ*íãtÜi–ŸXNDJYY¸X¹ÐË«S»NÕÈ)ý8]W!„xÔI°L!DµrjE+§V•ÓWè?0@QÎÛÎo;ï*ëurëD'·NežzV¨ëר¿Æ~5îSú }zzõ¤§WÏֹߵÐö:Õ¤ÿ{µplA ÇZÕ­êZÕåÜj‹.óB!„B<žÞßó>;ÃwjU÷dìI^ÙðŠFYaI!'bNp"æot{ƒ·{¾­q|Cèæîš«Q™Idj$\ùƒ__ù;3;„B4,,B!*±üÄrŠ”E¬c¤oÄ”®SËþ…BT­U+"#ë&ÏâÃö8ÍE[{ÎÇk,„ ‘•‰Ãü‡Ñ·Y_òKò+¶îf g@ g Û§sœ-IÏKgõ™Õüpú¾=ñ-£ÛŒÆÕÊ([‰öù¡Ï˜Øy":OÀÊÄŠðäpþ¹ûŸD¤D°úôjÞéõÎC™«BíI°L!„¨ÄŠ“+¸]xûu7ª³`U}÷/„B!„£}¤þ{wÄîÖ h@@Ó2+æö›Kdj$Á7‚¹xó¢:X–’›Bf~&ÞvÞ¼×÷=õ9í\Úñ¯ÿbì/c¹–z­g#„¢¶H°L!„¨Ää.“µZÙõ(õ_Uþ8!„º¹_ª‚%ß}w•;ˆ‹ËÅÈHV­lxí5_zôpÐhC¥‚Í›£Ù¸1†ˆˆ,”Jðô´àùç=;Ö …¢¬Þݹ´Úµ³ã³Ï.–‰±±}ú4aîÜVX[k¾/deñå—áìÙ“ÀíÛ%øø4"(è 22Š˜=ûK—0x°ó}çR>µOCPU±ãÇSøê«Ë„‡gaff@ÿþM˜9³¶¶šù@OŸNcݺœ?ŸNRR>´kgÇäÉ>tèpg›­Ú¸_„¢!ˆÏŠgþþùœŒ9‰²TIG·ŽÌê5 Gz#òÙ¸šr•œÂ\¬\èáÙƒI]&áháXO£¯=ÞvÞߦ‘q#u™©M•9°,ª~mÏ*ÈbÚ¶iœŠ=ÅGƒ?â¹6ÏÕx¼B!L‚eB!D%ê{ÅV]ôßPr‡ !Ä㬸¸”—_>ÆÙ³iê²¢¢RNœHáäÉæÍk˘1ž@Y`iæÌ3lß§ÑÆ•+Y|øa(ááYÌŸßNãXXX&Ÿ~‰¢¢RòóaÛ¶XâãsY·îNÞÊÂB%/¾x”ðð,uÙÅ‹™Lž|’!C\uš“¶}Vg>•ñóû¥R¥ÕØìí9yrˆ³Ñιsé|òÉEõ8 ”lÜÃÙ³élÛÖã³f IDAT3³²/BSR xá…#çfdqà@‡ßäçŸ{ЩÓýóÒèr¿!DCUÅs?=GrN²ºìÈõ#œ‰;Æ7¨f#2ió$s£Ò¢ˆJ‹âæí›,}zi•}½´þ%ŽG×zl{&í©µœÔU)Rq ò9µ Œy¶Í³¬ YÇ'?a|§ñêm?Úûz<ßöù¶“ä͓HÍMå‡ç~ ›G·ºžŽB@¯¾ „B!„‹Ÿ~ºÎÙ³i8;›ñÝw]8þI‚ƒô …‚ùóÃHI)`ûö8¶oÃÏÏ’•+»qæÌP†³n]Oüý­Ø°!štöwìˆcÔ(wöïÈÅ‹ÃÙ°¡'ÎÎfœ>¦[³æ:ááYxy5â§Ÿ¹pa8‡ dÜ8ovîŒ×iNÚöYù4T»v%ðÔSMÙ¿àÿæÐ??K¢¢n³bE„ºžB¡ 0Ðï¾ëÂÑ£ƒ¹rå)þúkK–tÆÈHåË#Ћn÷‹B4§ãNãdéÄ–—¶öN{&ía°ß`òŠó˜·wžºÞ¾kû˜Ñs'¦ |V8{_Ûˇ?ÄÉÒ©¾†_k>Þ÷1±™±|4è£ ;~|8ðC^ïö:Îo ûÒî´\Ø’Ñ?Æ@Ï€ÕÏ­¦¹cóû¶{*îϬy†e ›Çm–@™BèÀGµU?îÐÁŽ×^óáÃC¹r% +vïND¡€eË:ããc €™™9ÿúWk®_¿ÍÑ£·´ž“¶}Vg>•‰ˆxJë±Õ•6mlùä“öêm#;u²gùò® ð'»w'òöÛe_tÚÛ3sf V¬¸Ê?ÿyž´´BUqÙìG—ûE!3C3VŒZYÙªYo;o¾ñ5CWåLüRsS±7·§I£&Œh1‚Æð´õÄÓVûÕ²kž_Sû¨ /d]È:Þëûý}úW8ŸOhb(¹E¹šåYñœˆ9A'·N•nÕ¸%l ÿÜýOÚ:·åÛ‘ßbmj]gsBQ‘Ë„B!„¢–ÄÄäbmm¤|Ü­o_'Ö¯&&&€kײQ*Uôè±(ÛÆP¥R©ÿHLÌÓh£K—ÆÚus3 7·ä®qäàèhª”Ý­GG‚eÚöYù4T+äWss3ÃÓ³7nÜV—;—ÎØ±Á—VÚNAòýèr¿!DCÐܱ¹:PVÎ@Ï€®î]‰J‹"&#{s{ÆwÏ©¸S ]5”^^½hÙ¤%-›´¤£kG õ ëiô5Sª*eÞŸóX²–ÿëóLì<±BœÂ^Xû™ù™|8ðCú¤‘q#b2bX|t1ËŽ/£¸´˜w{¿«qÞÉØ“ì»¶ÎnùñùÙk$„2 – !„B!D-º7Èr?¥¥e¤åç*.Öø!Cý‡VÙVCÊYVRZ¬ßgñÛåߘÛo.ã;¯´ÞÁ¨ƒÜʹū¯2¦Ýu¹oc_=µˆN‹:±þüú Á2¿Æ~äçs6þ,\ùƒ-FÔÉ<„BÜŸË„B!„¢–¸»›sþ|¡¡é´i£¹Ýà¡C7ÿWÇoïF\º”ÅñãƒiÔ¨vAîînÁ… éDFÞ¦Y³FÇtYU¦‹ºœÏÃvôh o½¥ÈŠ‹ËãÆÛê篼ÌÞÞ˜  '4ÎÍ%::KË_]î!„h.'_&-/McuYIi 'bNÐÔº©F}߯¾ø6öU?~cÛÌü}&žX™X=œA×P~q>ol{ƒàÁ|0àÆuwߺYY÷=e?XÉ)ÊA©R¢¯¸³£© +G¯dÒæIÌü}&™ù™¼ÜñåZ›ƒBˆªI°L!„B!jÉ!®œ?ŸÁôégøðÃÖtìhONN1›7ǰ~}4FFzôëW–ÇeôhwΜ9ÇK/ãÍ7ýhÛÖ–F ¹u«€«W³Ù¼9†±c½èÖ­â6ˆU4ȉÐÐtÞxã/>ú¨-­[Ûž^ÈêÕQu,«­ù4„œe¡¡é¼÷Þ9¦NõÃÁÁ„K—2ùðÃPJJT 쬮çìlJdd6?ýt§žràìÙ4æÏS¯´{]î!„hòŠó˜¼y2ï÷߯¾$f'òÕ‘¯ˆJ‹¢£kGìÍíxï÷hbÙ„~Íúán㎡¾!)\K½F±²˜äÛÉUËBβۅ·yuÓ«œK8ÇG?â…v/<°~sDzœ–?ý wkwú ÄÂÈ‚èŒh/âvámžpxB#PVÎÂØ‚ÕÏ­æÍ_ßäã}“UEP`PÌK!DE,B!„BˆZ2nœ»w'pî\:¯¾z¢Âñþ³ ›0r¤;§N¥±eK ¯½v²Òöž{ΣZãxé%ovìˆçÊ•,ÆŽ V—+ð¸°kWµ»ÿ_]Îça<Ø™mÛbÙ¼9F£ÜÛ»“'û©¿ð‚'‡'3o^(óæ…ªË›7·Â××’[· Ø.÷‹B4Ü:“Ã3kžÑ(734ヨ߼}“M6±äè’ m4wlN3ûfu>ÖûÙº‘9»æh”­8¹‚'Wðbûùpà‡ˆ<ÀÙø³¼¿ç}Þßó~…öîÞ–±½K{ù bOÄžJëë+ô™Ýgö}Çfl`Ì·Ï|Ëì³Y|t1ùü«ÿ¿ÔÛ[ !„¨;7ŸB!j(%'…1kǰúÌjò 'ðï}ÿ®ŸA5P·rn±þüz¦nʘµcX~}}I!D ê±fM AAþxy5ÂÐPssºti̪UÝ3ÆS]W¡€O?mÏâÅéÞÝ++# õps3cÀ'¾ý¶ Ý»;Tk&&úüüs /¼à‰1ÆÆú´liÍŠ]ðñ±ÀÊʨVæ\®.çó°uè`ÇÊ•ÝhÓÆ}llŒ=Úuëz`fvg5@ÿþN|ùeGžx }LxáO~ú)#£ªÿs[—ûE!++Ö¿¸ž¾Íúbal™¡=<{°aÜüýÕõ>ú)3zΠµSk7ÂÂØ߯¾±vÌZôïW’‹ŸZÌûýß§µSkÌ ÍÐWèÓØ¢1ƒý³é¥MôðìñÀóõú|>ôs^îø2?ý‰™¿ÏD©R>¤Ñ !Äß—B¥kvg!„u.99™œœ­êþñ‡AAŽDFFÕñ¨´ŸOïo{kü" Õ­hÕ¤¿Œý¥ÞÆ6nÝ8üü™ÓoNÕ•ëØüýóY}f5w¿Oî2™Y½gÕ㨄¨; ñõJ<Þ|Ó€%K’ëy$ _i©Š§ž:Hxx§OÅÚºvfBˆ;š5ófñâd† Ñîs½ÚÏSBˆ†H>‹†ÀÑÑ ‹jçûÝ$Û0 !„xhV=» ãúMR*îTƒÙÂâVÎ-›7¦wL M+¬ÄB!jbÁ‚0Z´°¦cG;lmˆŽÎeÙ²._΢K—Æ(B!„Bˆÿ‘`™Bˆ‡¦“[§úBƒ2·ß\›7F¡P°;b·Ë„BÔª7rXµ*²B¹™™>s綪‡ !„B!DÃ$Á2!„5šÊÆÐ$d'àdéÄsmžÃÞܾҺ6NÀËÖ‹öÿ'ÅÊb^^ÿ2Ý:Ćó8s‚Œü V>»² ²Ø|a3! !äåàháÈ ¿AômÖ·BûYYl»¸sñç¸]x›¦6Mà3€@Ï@"R"˜÷ç<”¥J.޼ȘµcÔç½?à}üü+´W×,¼-B!Msç¶ÂÖÖ˜3gRIJÊÇÂÂÎí òÇ×ײ¾‡'„B!„ †Ë„BTÛæ ›™³k¥ªRuÙÖ°­¼ÓóJ럎;MAqúq©ª”Sq§°0¶`ü†ñœˆ9¡>V¢,!$9„×6¿FF~†F;[¶0ºÍhþóÿ¨ËÎÆŸeêÖ©¤ç¥ß©xÖž[Ëÿõù?Úº´åTÜ)² ²Õ—?~ûpñæÅÖ¹ÛÂ'âlé¬u}!„¢.xxXðé§íë{B!„BÑàI°L!Dµ$f'ò¯=ÿ¢TUÊÈV#éÛ¬/ÊR%»®ìâË#_êÔÖ‘ëG°0¶`f¯™ø;úcb`‚²TÉ”-SÈ,Èä©–OÑÛ»7V&VÄfƲúôj6…n¢kÓ® o1œÌüL&o™Lf~&mœÚ0ºÍhœ,HÈJàÏ«r»ð6~ýX;f-ãÖÃßÁŸ9ýæ¨û¯jUÙ•”+Áµªäçë4!„B!„B!Dý‘`™BˆjÙqiEÊ"ÆwÏÜ~sÕåCý‡òîÎwÙ¶Uë¶T¨øéùŸðw¼´úùÜϤå¥1³×L¦t¢QÈCèõM/¶^ÜÊðÃÙvq™ù™ ôÈ7#¿Ñ¨;¦ÝnÞ¦‘q#š P(°2µ" i€Öã{¯Ï{d>xõÙÝdU™B!„B!„ – !„¨–ˆ”F·]áØèÖ£u –=Ñø @ÀùÄó콺—ã1ÇQ©T@Y`­ü勤(õ‰¯¼ZiûŒi=–ÊÜ;6!„B!„B!ÄãC‚eB!ª¥ ¤,÷˜¥‰e…cV&V:µÕ¤Q“ eyEy„&…Þ÷<##±Ø˜ÚèÔ¯¶$g™B!„B!„/ – !„¨s.%_ªì »¦S[ …¢B™“¥óΣ™}³JÏ3Ð+{sjTV÷LܳšO}Š“¥žêº! !¤ä¦0Ðw æÆæÄgÅSª*EO¡§ÕX$g™B!„B!„/ – !„¨–>Þ}hçÒŽ„?/;/”¥J¢3¢ñkìGrNrÚïìÖ™ÑmF³)t}—÷ÅÍÚ {s{² ²‰ÏЧ°¤É]&3Ô(]Ü»0Ì¿‡ÿÎ+^ÁÁÂ'K'³IÉIáõn¯«ƒeÍ›s2æ$½¿í‹• ¼?à}ü¬®r–Œ<È÷}@z~:;.ï $!€~y¥ã+uÒ·B!„B!„¢ŒË„BT‹¾ž>ßúžY;gq0ò WS®Ðó3{ÏdÄ#jÜÇüÁóñ±÷á¿ý—¸Ì8â2ã0Ô7dÈCÖ|˜ºîÿÀÓΓէWs+ç·rnÐѵ#ƒü©ëÍê=‹)[¦˜Hbv"ÙÚ¯«M)¹)¶wLÊN"); ߯¾õ1,!„ZŠÉˆaû¥íôôêI[ç¶õ=œZu&þ Ç£0µëT õ ÕÇçy !„¨œR¥dÙ±exÙy1ÌXÕ'TS~q>"—G‘²ˆ'›?©Þjÿ\Â9.ݼDF~6 o1¼ÎÆQÙÙ¬>³šÖN­éíÝ»¾‡CLF GoåvámÓ§3­û4"S#)()ÀÍÊ [3[zmœÚpô£D¦F’]M©ªô«ÊêRoïÞ¬³ö¾Çï½~B!–˜Œ]L#ãFUÐ(·(—·¶¿ÅÍÛ7x5àÕ Á²ÇqÞB!î¯DYÂ⣋éïӿ΂eéyé ÿa¸úý e“–xÚzòñ¾ùñÌêò>Íú4¼`Ya6‹.æÅö/Ö{°ì«#_ñí‰o)U•ªËœ,XñÌ š;6¯Ç‘ !DÃ%Á2!„5æhሣÅÀޱ1M*ÔëäÖI㱞B¯Òz÷R(xØx¨ó¢=ˆ¾B¿Æ~5®ó08X8à`áPßÃB!4|~èsT*nÖnêUÝB!D]ûùÜÏܼ}“v.íèÒ´ †ú†xÚz’’“š³k°2±â©–Oaeb¥Õþ]m Û²ãËÐWè3¼Åpœ9qäúÂo…3iÓ$öMÞ'+Ì„¢,B!„B@hR(¿„ü·Ï|Ë×Á_×÷p„BüDgD°â™;„œŽ;J¥b|§ñLë>­žF÷èXrtIÙÿ>½D»{FϼºéU‚o³þüzÆw_ŸCBˆI‚eB!„BQC¥ªRŽGçròeÌÍéåÕ W+× õŠ•Åß&63•J…»;Ý<ºab`R£Ö¤T)™óÇû ¦_³~Õ –m¾°™ÄìDzyõ¢s›:¥Bˆ† üV8'cNRª*¥£[GÚ8i¾ægæg²æìšJów•këÜ–ž^=‰J‹bgøN.Þ¼Àê3«1лó•eLF gãϲøèbF¶©ñ>{ñæEBBÈ)ÊÁÑ‘^Þ½°3³S¿7çZTZÇ£“‘Ÿ¡‘›³ªvÊåå²ÿÚ~³iÒ¨ |ÔàjÖžˆ”â³âiÙ¤¥:Pe9ÇßêùÁ7‚Ù{u¯Ë„¢,B!„Bˆ(,)äåõ/s"愺Ì@Ï€9ýæðR‡—Ôe¡‰¡LÙ:…”œóíÍíY4b‘V[/9º*­ÆefhÆ«¯j9 øþä÷ܼ}“Ÿÿ±êÊ÷(V3w÷\¶†mer—É´vj­sB! /dù‰åe#ZŒà³aŸ¡¯Ð « ë¾ù»Ê½ÒñzzõäzÚuu à›ãßTÚoð`‚oÐ4W+WRsSy{ÇÛïÁ¦†¦|0àFµhæ\»–reÇ—©ëNì<‘¬‚,­ÚK ãµ-¯i¼Ÿ7¶hÌ¿ÿû×í^Û.nÓi»ãqÆÝ7ßw¹+·®Tú™¢U“V˜š‘¡Ó8…âïB‚eB!„BQ«N¯"¯(-FÐØ¢1—n^âDÌ >Þ÷1~ýÔ_X}rðRrRðwð§‹{ ô ˆÎˆæè£\M¹ªU°léñ¥(K•ZËÞÜ^ë`Ylf,K-eÞ yØ›ÛkuN¹ÌüL¦nJHBŸ ùDã E!„—s çØwm½¼záÓØ‡¤ì$öDìaû¥íxØxðfà›:·éeçEP`¿‡ÿÎõ´ë¼Þíõ +˶_ÚNÏ´si€‹• ÊR%“6O",) W+WzxõÀÊÄŠ˜Œö]ÛÇœ]shfߌ¶ÎmÕm…$„°ïÚ>zxöÀßÑôzZ·“[”Ëä-“IÉIÁÓÖ“@Ï@”¥J_?Ì{¼§Ó¼·]ÜÆñèãZ×ê?´Ê`Ù­œ[8[:W8¦§ÐÃÙÒ™¨´(Š”Eéé4^!„xÜI°L!„B!j ¿8Ÿíã·ãmç­.[uz ö/`å©•ê Xz^:ž¶žl¿=…žºnz^:éyéZõ5­Û4V–iëýÝïÓÞµ=Ï´zFës®§]gÒæIdd±æ…5tvë¬ÓùB!-éyé|6ô3F¶©. M åÙ5ÏòÙx½ûëêÕeÚò¶ó&(0ˆËÉ—¹žv7º½±±úø‘ëGØ~i;=½zjl¸ëÊ.Â’Âx²ù“,¶}½;ý†%…1jÍ(~8ý‹F,R—§å¥ñÅ“_0¢Åˆjµó{øïÜʹEÏ|7ê;õöùÅùŒ[7Në÷s€§[>MG׎Z׿;Ûý–h\¿»•È Š $X&„÷`™B!„BÔÀðæÃ5e¯t|…'Vp6þ¬ºlß VZÅÆÐômÖ  ìË/m¾ªõ‹ýªl»¸s çøcâ:w&þ K-ÅÖÌ–Í/mÆÃÆ£ÖÇ&„¢añ°ñД´qjÃßìŽØÍµ”k<áðÄC˱èc@ÙC–Ÿ\ŽJUöc•J… –&–„%…iœãië©(Óµsñ瀲÷ãò@”m×øF·7˜´y’ÖãºåÓºLW+åA²ò Ù½Š”E˜Ö®T!„hh$X&„B!„5àfíV¡LO¡‡‹• a7ï|I÷V·hjÝ”_/ýÊ¿÷ý3#3Ú9·cDË ybˆV}Õvβ’Bì_€§­'Û.nÓ8Vž‹å›ãß`¤oÄ´îÓ4VÄŠ=EVAÃü‡ání®Õ˜„B<Ú\­]+-//Ì.Ì~hc)_ŵ!tƒÖçxØzÔ¨¬‚,\­*^‡Ê>s¯Ê9ÕaejÀØvc±3·«´Ž‰æ ªÊ¶ˆÔ¥+“²ºñYñêÀT9]_P79ËÊWõýûW…ca7ÃÈ/ΧU“V:S!þ.$X&„B!„5°ãò&tž ±ãg~ -/¾ÍúªËF¤§WOôõôÑSèáeç…‡­?ý‰-a[´ –ÕvÎ2‚ƒ*=öKÈ/¤æ¦2¥ëŒôP Ð8®@ÁGƒ>ÂÊÄŠoO|KVA‹F,’_« !Äc,:#š­a[+ä,Û{u/–&–ø4öÊ~°a¨oÈɘ“”¨ƒMEÊ"õ0jªkÓ®l Ý„R¥¬°úÊVH'ÝNªÕvÚ»¶gKØ–]R!gÙ²ãËt]ä,ók쇫•+o^äÏ«2Ðw ÊR%_ù€¾t§Bü]H°L!„B!jÀÔД?Œ`ß [4æròeŽGG¡P0±óDu½7¶½© í]ÛãfíF±²˜“±'‰ÏŠ×:¿Kmç,354½o°lïµ½¤æ¦òz·×x{§×;ؘÙðŸÿaâÆ‰,f9æFæµ:N!„ ƒ­™-ïî|—á;ñmìKbv"{"ö T)ßq¼zå–žBÞÞ½Ù{u/O®z’ÞÞ½)Rq8ê0…ÊÊóiéjhó¡¬>³šõç×|#˜nݰ3³#» ›èŒhNÅžbb牴vj]kí óÆ¢àEßfÈÊ!zRª*åPÔ!ò‹óu]ä,ƒ²Ï ³wÎæÍmo2¬ù0š4jBð`.'_ÆÑ‘çÛ>_'ý !Ä£N‚eB!„BQ:M øF0Û/mW—è0§ßš¨Ëú6ëËÞ«{Ùue—Æù®V®,øÇ‚‡6Þº0¡Ó¬L¬˜³k/®{‘UÏ®ªr«(!„žö.íñ¶ófÅɾ~X]>¢Å^ïþºFÝY½fq.þ7Òop#ýP–×ëÓ!Ÿ2aã„E_¡ÏÊgW2{çlD`Sè&㎎UÊtmÇÜÈœϬàµ-¯iÌËÞÜžÿXÀ”-Sj<¯šz¦Õ3D§G³üärÏ&N–N¬xf…z‹L!„š$X&„¢ÖÅgÅÓûÛÞ¼ØþE>ø¡º¼Õ­hÕ¤¿Œý¥þ'ÔÒóÒ鲤 ÓºO»ïª‚ÇEaI!-¶ ¿O–?S;Û¾!„»;AAtqïÂk]^#øF0·"032£·wo\­\5ê/}z))9)œ‰?C\ffFfxÚzÒÕ½k…-Ÿ‚Ú¾@jn*†z†ååónçÒN£ü™VÏàháȹ„s>ÎPÿ¡s¸B!ê¾AAxÙy1ÌCü‡p*ö¥ªR:¸v ­sÛ çxÙy±÷µ½ì½¶—[9·pµr¥¿O K ªpΰæÃhîØ}ͯ+ï÷¾`cjÃw£¾#êÿٻﰨŽõãߥH‘fQ:*b/Ø"*–Ø£±`Œ-ÕšhŒQ£IŒåš\IÌÕX¢^ÆÄÅv5±w#*DŽ@T–ýý±?6®´!ky?Ï“'pfΜwfGö=gæN$gãÏr÷á]*›WÆ¥’ ^^š½4ŸŒ¿ º¶Ðо!GäÐõC$¦'bgiG—Ú]P©TLðž S‚®¼}Öá34À©èSÜϼs%g|Ü}$Q&„Ed™BˆWŠÇw´rjůƒÕw(zw$ò¹ª\­ýtžWòº !žGyÞåéàÖnŠ<§šE5zÔíQÞ¡•‰!M‡xüé~?ÉÛÕoWïò K!„* µ~ö×·«O}»úÅžgejÅ€†´Ž¶poÏÞ¶QÔûN÷*îZ{‡>íéøKÛNžŠ*Ò§~Ÿ|ÇŸ§›]*¹àRÉEßa!Ä ã™’e7¥-z IDATÿùÏ ,«X„â…Ò¦M&Mš¤ï0^(¡Ÿ…ê;ñ„DZµ°Õé\!„B!„B!^VÏ´ÖG`` §OŸ.«X„â…qúôi¹Y@¼Ð+sâÆ :Õê„B¡Ðw8B!„B!„BèÍ3/ÃØºuk¶lÙR|E!„x‰øúúê;„çB®*—ÕA«Ùt~ é T·¬Î¦C ]^êé=ËžÜGjF—øñ# &€ÔG©\üì"æÆæÅ±êÌ*Î%œ##+ƒê–ÕéæÑñmÇcab¡Õ~p\0«ƒWs.þ÷³îãhãH×:]ù°Õ‡\¿}Áë@­yµ4ç­²žVN­Øqiëέ#<%œ\U.nUÜØh Ú Óì'STÜAŸñúŠ×±µ°eχ{òArF2í–¶£½{{V\ùì/B)Ž9ÍÃì‡t®ÕYsìHÄÖœ]CxJ8YÔ´®I;×vŒl=; ;­ó‹kkSk^Ûè{Ѭ?·žSѧˆ½‹¡!uªÕáí&oÓ¿aÎÆŸÕéu+.ž'%g$óí¡o9u‚ÇÊÇ4­Ù”é§ãiçY.c-„B!„B!žo²g™BˆR›¹&C6j¾KÃo].Q;i™i úmIIšc¹¹¹l ÙÈ×û¿F¥RiŽÇ§ÅósÐÏD°yøfÍÅ¿ýõsÎѪy'’eËP(´wk_lóŽÌcÕ™UZÇ®$]aÎ9„$„° Ï‚bã®`PA±òÌJ‚â‚héØRëœMç7¡T)y§ù;ÅÆ3bӢЭ—gßÈ}:­¯pèú!ÌŒÍhãÒP'ÊFúÔªy'’È;‘ܺ‹%ý–hŽ7Ö“Úÿ½E̽ÍyºŒõ“ #€ZUj1²ÕH¼¼p°v 3'“°ä0¾Þ÷5ËO/gd둞n%'/ùcß©]µ6II|½ïk¢Øyy'ïz½[–Ã,„B!„B!^’,BQ*û®í`ŠÏ4 9>¬Ù0Ò2ÓXp|Aa§æcnlΊ+¨l^YslÇ¥ääæ0·û\­ekU­ÅÂ> 9–áÓf ;/ïD™«dÜkã´ž"r¯âÎØ6cuŠaO˜zÉÄÛ~ÌðæÃ5ÇûÖï‹Â€Oÿ÷)\ýC+YVPÜ5­kÒ¥vö‡ï'9#[ [„ 9#™Û~¬SLO'†ÊÊÕä«$¦'jÅQݲ: îo5‹j¸Vvŵ²«Ö¹%ëÂÆ`v×Ù, \ÆòÀåÜL¿Écåc­ò„´œlœŠìKIã©dV‰ÿü¯f O—J.Ìè2ƒ«z–V䵄B!„B!ÄËI’eB!J%ïi£v®íò•µwm_¢dY=»zù’)×o_`âÿ&2ñ5Kì©Pi¾V ÔKîôð(x¯4]Dß S­NùÊòŽ=ù„UaqçyÇëö]ÛÇïçg¼÷x@½\ µ©5ýô+uœeáÐõC( :ºwÔ{¯Å{ÅÑku/:¸u Aõ4¨Þ//Œ 5õJ:Ö…QZfýíÏÍô›…ž›™Ylû%§~õúùöºs´q #+C§6„B!„B!ÄËE’eBg>>>š¯ÈÇëödÄË.--¾}ûj¾_¸p!Mš4ÑcDB¼xlÌlòËU©÷µRæ* =ïé'‘ Å3ÇR’6 Š;OKÇ–xÚz²éü&ƵGôÝhÎÄžad«‘š}ÖŠS^{–Ž8L#ûFš'È,L,øííßO çLìÂ’Ãð¿èÏ݇w™Õu½<{iµ¡ë86F[C·r3ý&]ëte¼÷xœ+9cfd†B¡`ƾZ{áéB×xž\Rs.Ï>o„B!„B!Ä‹K’eBgÇŽÓ|-É ¿eggkMjjª£âŸã\É€Q'Út¨VÙñ¨ãÏÜ~^Ògí൴ui«SÝ=a{¨k[·Èº ä(sòw©ìÀ‘ˆ#Ô®Z[«ìhäQàï>ëjDóLß3ƒá9{CC†5V¢6ÊZJF ¡·B™ØnbåuªÕ¡Nµ:šï?Úþ“wOÆÛÕkSëuQbïÅðY‡Ï´|•9s:_ýÂ^·²ŠG!„B!„B¼º$Y&„¢TºytcÅé|ô{LLé\«3J•’=a{ø)à§gn¿_Ã~,\ΤÿMbru²¦jŪ¤e¦}/š?®þ…cÚŒ¡oý¾ê½¯N/G©R2°Ñ@ª[V'1-‘ýáû©`T÷[¼¨Ÿtº~û:±©±8X;` 0 GÝ,\ÎâS‹©hR‘nuºalhÌñÇ™s`=ëö,QúÔïÃwG¿ãç Ÿ ¿N—Ú]¨i]SçóËcϲчQ©Ttr×^nrúŸÓ©nUε:ã\ÉcCc®¥\ãúíëd+³IºŸ„µ©u‰Æº(5¬j°òÌJ&¶›¨~]R®³àÄ¢îFå«_ØëVVñ!„B!„BˆW—$Ë„B”J#ûF¼Ýôm6†läó?>×*ëíÙ›ÝWw?Sû.•\øW÷1cß ¦ï™^`Ñ­GàZÙ•/:}ÁÜCsY¸œå˵ê{mœæëÖN­Ù}u7–ÿ,Z?d=­œZñAËø9ègfî›ÉÌ}3óõéõ:¯—¨&F& n2˜eËx×ëÝ_]?D «xÚyj¿uÿ[.nañÉÅùΩgWZUk%뢼Qï –,Åÿ¢?þý5Ç-L,x½Îë? U¿¨×­,âB!„B!„¯.I–‰r•ššÊÆ $)) êÕ«ÇÛo¿MãÆ <çĉüòË/$$$àââÂØ±cqqq)r_°’\'66–#Fh¾_³f †††,Z´ˆ+W®`ooÏo¼Á›o¾™/¶ãdzvíZ­ØjÖÔý)!^6³»ÎÆÙÆ™Mç7‘ž€…ƒ› ¦w½gO– j<ˆº¶uY´š ¸ î>¼KeóʸTr¡—g/úÖÿûçÂ;^ïP§ZV¯&$!„GÙp´q¤[n¼ßòï'‹¾ìü%9¹9œŽ=MZf*•JS6½ÓtêÚÖeÝ_ë¿N®*·*n l8á͇—ªCšaYà2ÌW1-"ß±ÐÏBµ¾712)°Þ“Ù7baß…:ÅÓÆ¹ mœÛY§šE5–ô[Rhy¿ýè× _‘mèwžËI—õþeúÀ£ìGt®Ý9_™­…-ã^§ó“Xŵ.cÔо!ëÞ^—ïøôNÓ™ÞIûçmq¯Û³ÄS’×S!ž7×R®1{ÿl5Ä› ´oözðøAqA´vn­§è„(½‚æoQó]ñj¾q8ž¶ž|Ñù‹|eÁqÁdfgê!*!ž]Aó·¨ù.„({’,åâÂ… 0€Ç0lØ0 DBB3fÌàöíÛ|÷Ýw8::òñÇ •ŒêÑ£#GŽäÆLž<¹Ì®ó´ &0iÒ$š7oÎ’%K8tèÿþ÷¿™8q"666ðÅ¿1õéÓ‡÷Þ{èèh¦Núì&„x)EÝâÛCßbnlN¯z½ô‡#cnlN+§VúE!D¹ŸuŸ ¸ Úº¶ÍWæVÅõCÖ—h¿L!žÍߢæ»âÕ„B¡(°lõ ÕX˜Xüà Q6 š¿EÍw!DÙ“d™(~~~šVÇŽùí·ß4e&&&¼ÿ¾zY¬o¾ù†>ú…BÁ²eË4Ëj988°sçNŒ000`Ò¤Ier§;–ýë_Ô«W?~̵k×hÕª•VlÎÎÎlÛ¶ CCCŒŒŒ?~|i‡Jñ:{†¡†j¾ÕzæÆæzŒHmn÷¹Ìí>Wßa!„ø‡T¬PQn/,™¿Bˆ’Ò÷²÷B< ™¿BèŸ$ËD¹ Ô|‰æûôôtÍ×·nÝ"22’ZµjqîÜ9ÍñN:ieݺu+³ë<­W¯¿Ÿö°µµÕ*»}û6€Vl>>>šD@çÎù—3BKKº×íÎ'ÞŸè;!„å(æ^ Û/m',9L³ß¥o#_Ü«¸kÕ Š b÷•ÝÄ¥ÆQÁ° í2¸É`ªV¬ª©s!ñ~Güá5‚ÖN­ùõ¯_¹xó"&F&ttïÈ€†47€í¸´ƒŸƒ~`Ë…-œŠ:¥igÃÐ îùT’öŽDa噕Ll?‘–Ž-µú“W6©Ã$¼¼´Ê¢îF±5t+á)áääæàZÙ• âiçYª1.ë±+)]úóäõ[8¶`ݹu\¾u[ [|ùZ–w#KIûXX;ÿ”ÔG©ŒÛ6ŽÎµ;óAË4ÇÏÄžáÇ?RµbU½¹Hs<#+ƒÑ[GÓεcÚŒ)¶/OÏßâæ{ž²ž{Bmi™il¿´sñ縟u§JN¼^ûu¼]½µêÅÜ‹aËÅ-„§„£ÌUâVÅþ úký[ÌVfóΦwðrôâïOØ|a3'¢NðXù˜¦5›òNów4OÚä-êÌUréÖ%†¬¢igÆë3ð´õÌ·çSIÚHÊHâÓŸÒÕ£+ïz½«ÕŸ¼²u{äÛÏ:-3 ÿ‹þ„$„ñ8; ;ºyt£S­N¥ã²»’Ò¥?O^‚÷~?ÿ;1Ü{tå–3Úte?úS#Ó÷±°vþIŸíú €ÞøAs,=3±ÛÆ¢R©XØw!¶®8}Ïtd=`Ñ›‹têË“óW—ùe?÷„xÕI²L”‹‡j¾Ž%66¶ÐºwïÞàÑ£Gšc–––ZužþþY®ó´jÕªi¾62Òþ'‘÷4Ù“±YXhÿ²QXlBˆWW+§V²–B¼"Ö[Ç¿ü ¥J©9v8â0k‚×°yøfÛ7àÛCß²:xµÖ¹‡"±&x +}WÒ¬f3@ý¡GP\Íš1ïð<âÓâ5õ÷]ÛÇ¥[—˜Õu é \M¾ @|Z¼V](xϧ’´ò … ¸ î>Ìÿ»t^Ù½‡Ú{oÙ þ€ç‰19~ã8ëέã›îß0°ÑÀ´å1v%¡kò®ß¨F#æ˜CrF2õìêѵN×BËJÓÇÂÚ)ÊðÃQæ*‹­`cfÃOý‹Þ›ÙÆÌ†›÷o²ùÂf­dÙž°=ÅðyÚçšec9{†>õûèÔ—§çoqóÊ~î !´ýÿc·Õ~Oˆ‚õçÖ3­ã4Í^Ö{Âö0i×$²•ÙšjÇncíÙµÌè2C“lÊUå„…‰c·åpÄaMý£‘GÙm?þ#ü164Ö,à êEÞ×yßCþ=ŸJÒ>@fv&AqAÔ©V'_ßóÊžþy’Â(ÿQÜ{¤ý^¸5t+¾}ùwë0²+±+ ]ûóäõßûý=cþ¾™ýqÎãBËr”9ì‰(y j§¨Oµ¿=ô-—n]Ò¹ßóߘO «EÖ©`T-¶0­ã4ªY¨?K ˆ àLìNF¤Ãþ€ú†’­·Ò»^oûòäüÕe¾—õÜBH²L”’“Õìôïß¿Èe ëÖ­ €££#QQQšÿç¹~ýz™]§441EFFj•EDÈâB!„îRQ©T²ö¾x)œ‰=Ãì³èíÙw¬M­‰¼É–‹[ÈÈÊ`ø~V¯ÆÈÀˆw¼Þ¡¥SKîgÞÇ?ÔŸÓ1§ùxûÇs#M۫ά¢vÕÚ|Ûã[ì,í¸|ë2?üÄúõŒj=ŠV5x³þ›XšX2çÀ|ûòfý7uŽ]—öKã\Â9fퟅys†4BcûÆT0¬À¥[—Xsv 3öÍ µsk¬tj¯¼Æ®<ûóKð/¸Vve‚÷œlœ°2µÒ|°\PYiúXP;Å Š Ò9YöäÓlEñvõfcÈFÓ5ãz*ú-[Ì©èS j<Pˆàí¢ýô‰®})n¾—õÜBhK}”Êè­£I}”JcûÆø6öÅÞÊž„´ö‡ïç~Ö}@ýÖ”ÝSÈVfÓÝ£;ÝëvÇØÀ˜c7ޱåâþuð_4wh®•t:~ã86f6|ÞñsjW­MRF?üÄå¤Ëüö'}ë÷Å£š뇬gøÆáxÚzòEç¿÷•Ï{ʦ0º´_YŒÙ:†ÔÌTÞlð¦æ÷€ØÔX~ þ…-¶ÐÆ©æ&â”ר•gŽß8Ž…‰“;LÆÓÎS#SÌŒÍ -KÏJ/U »FaÂR´LÅy”ý¨Ø:m]ÚªŸlŽ>Å› ÔïA'£NRÍ¢,8}J“, Œ $W•›ï=O×¾7ßËzî !Ô$Y&ÊÅ Aƒ R¿);vŒ¯¾úЦM›jÊ322ؽ{7ñññš¥{÷îÍñãÇØ¿?ÁÁÁ´hÑ‚ÌÌL¾ýöÛ2»NiôêÕ‹'NpàÀxíµ×ÈÊÊbÞ¼y¥nW!„x•äææY´¨Ÿ|"Ë“Šßšà5¨T*¾êò•ÖrMkuä½ï‘¥Ì`ÓùMÌë9Oóá @ßú}±i1Š8DϺ=5e.•]ðá¯Itpë@vn6‹O.æ|âyjXÕ ¦uM͇IÖ%ÚßI—öKcuÐjrU¹¬´Zó4TÞ˜4©Ù„÷~]Wv1¶ÍXÚ+¯±+ÏþØZزímZ~¿q¼Ð²ÿÿO‰ûXP;Åùííß4+gG×'¼]Ôɲ“Q'Ôx‰é‰DÝbtëѤe¦q"êÄßɲ蓸TrÑ~ˆR¥$ : ÐóžÜO¦8ú»ÒôÇÞʾк••¦E]£0e½g€•© «7Ô,7uâÆ Í‡ƒÞ®Þ¬^MèÍP®$]ÔË6>­4})HYÏ=!„¶Ìõ¿ŸJf•Ь—÷óÊÆÌ&_™µ©5 …B·ŸÛ†åüžWÂö {Ïu²¾0Œ*èÔ>èìJÓŸê–Õ ­[PYiúXÔ5 S{–úfåË K ã¯ø¿P(x»zcjdŠ‘'nœÀÄЄ„´­Uò”¦/)ë¹'„P“d™ÐÙ‘#GŠ­“—ĨP¡3fÌ`ÆŒÄÄĘ˜ˆ‰‰ 5kÖÄÖÖ¶À?8tè±±±$$$àììL5ð÷÷×ÔQ(ZÉ©’^ÇÉÉI«/®®ßcff¦UÖ°aÃ|ç=[vv¶Ö9Mš4)vœ„BˆWÙW_}Edd$&L`×®]XZZê;$!JÅÞÊž«IW‰KÃÑÆ±Ðz¶¶D܉ )#)߯¡·B°³´+èÔb)Pÿ®«ëòz%•·Ôwò•]K¹–•=•Y1`E¡IÄÊæ•u¾~yŽ.ʺ?ù§úX{–úƒÃó'Ïs!ñ§cOÓ¯A?Z:µ¤‚aNEŸâJÒ iíܺT±ç)j¾ÿ¯•¯2{KubûlÜÙ|O2=ÉÖ€‹7/â\ÉY«,ôV(*•êÙ~¦©Êÿ=/oŸÉ'…ßÏw,/Ù?»ëljU-xÕ!#Ý?z-÷±+FiúSÔ>Ä••¦¥Ùë¸<ö,õòÃË—süÆqBB¨[­.U̫дfSNEŸÒ<-ÝÖ¥m¾óKÜ—Bæ{YÏ=!„šü«:{–=¿œqvv.¶Þš5kpuuÅÇÇ'''ÂÃÃùòË/5uºtéBÕªÿñ¦ËuÌÍÍ í‹¡¡a±ýtrrÒÄ`llüLc#„B¼j Y¸p!½{÷fúôé,Y²Dß! Q*]jwájÒU&ìœÀ½À­Šú†®\U.»¯ì¦Nµ:Ôµ­K;×v\¿}©»§²°ïBÍ]ùÁqÁ¬8½€v®íJƒ¹±úfµØÔØ2èQ~N6êß{·\ÜBŸú}4ËlŽ8Ìï~ÏW¿k®,:¹ˆ½×öòY‡Ï´îx¿ŸuŸí—¶ãåà¥óõËsìtQÖý)È?ÕÇòس Ô.>¹˜eËH}”ª‰ÕÔÈ/G/ŽÝ8FÄíÛ7ÖÌŸÒ*j¾ÿ¯•¯².µ»ðËÙ_ð;ꇽ•½Ö“¢! !¤lõ!®`CÈ6_ØŒKe,M,IÉHáæý›(s•¬´Zçë—çØé¢¬ûSªå±g¨ï¤·0±àpÄa*V …c M™·‹7ßýNýuK0–TQóýŸx­„x•µvnMoÏÞ쾺›w[ [ì­ìILO$%#…q¯£k®ttïHkçÖœŽ9MŸ5}p©ä‚±¡1‘w"ÉVfS»jm6Xê8êÙÕãa<å3 IDATtÌi|–ùPÓº& Ìx}ž¶e³G•o#_Ö¯¡÷êÞÔ®Z›¬œ,¢ïEÓÀ®q©qZu[:¶Ä·±/[.l¡ÓòN8Ú8RµbUÒ3Ó‰O‹'+'‹Ñ­GÓ˳—N×.ï±+NY÷§ ÿTËcÏ2PßLÒÒ±%Çn´ßÛ¼]¼Yp|§¢OÑÒ±e™ìÇYØ|ÿ'^+!^Ee{ †ÏèÃ?¤G¤§§ó×_NNN–––¼ÿþûœ?žÚµkë;L!Ä+(=3E'q4ò¨¾Cy¡ÄÜ‹aý¹õ,\ÎÞk{u^ÞB¼ZµjÅÈ‘#™3gQQQúGˆ³0±`ÓÐMô©ß bSc ½Ê£ìGô­ßWóÁ]5‹jlº‘–Ž-ÉÌÉäJÒbSc152eL›1Ìí>·Ô1˜™òE§/012!<%œ ¸ -;T…B_/?œ+9s?ë>/pûÁm&µŸÄ[MÞÊWßÜØœC62´ÙPŒ ‰¸AHBñiñXšXò®×»Ô¯^_çë—çØé¢¬ûS}÷ñY* iåØ /G/­Ÿü± å¨Jª¨ùþO¼VB¼ê~èóã½ÇcibIrF2/’‘‚—ƒÝ<ºê÷V¨*õSYaÉa(s•t­Ó•uCÖajdZê¦øL¡šE5Ó Ž &(.ˆôLÝŸ *Îø¶ãñvõ&[™Í•¤+ܸ{ƒîÝ ýYüM÷oø¢óØZØ—GHB‘w"ÉUåÒ³nOz×ë­óµË{ìtQ–ý)ÈóÐÇg•÷ÞfflFs‡æšã íjöb+‹D èù^Þ¯•¯"…êúÍ»xË–-e<àÆdddP¥JjÕª…ävÅó£¼þ%%%‘‘‘¡SÝ?ÿ´`Â;"""Ë%¡ŸÏ2†5Ƭ®³ôÎ aÁñ, \¦µ±´½•=+¬ ž]==F&ô¥ ŸW999ôïß Ö¯__ª= „?^½·ÅâÅIz‹áaöC"oGbh`ˆKeÍrqOKÉH!>-ž F¨U¥&F&Zå©R¹–r çJÎù6Ï+s©ì’oo«¼ë?Êy„J¥¢•S+<~À¥[—¨i]k‡gj_¥Rqýöuå<­²›æƒÒ¨»QÔ©VG³tà“²•ÙDÞ‰äQö#ª[VÇÎÒî™–Ì*¯±ÓUqýÑåú••Uõ)>-ž„´ª[V×ÚƒF¥RŒJ¥ÂËÑ CÅß{‰×—‚æož‚æû“Êzî•V­Zî,Z”DÏžºý^/„.ž‡¿ÿ”*%·#ÈÌÉÄÑÚ±Ðý<~À;7È%ggM"!O®*—à¸`*™UÊ÷m^YeóÊÔ®ª}ÓtÞõÓ3ÓÉUåâi뉕©ÁqÁX˜XhnV)mû þ¹–œ‘Œƒµ¶¶dædr!ñB¾ŸsyT*1©1Ü}x—Êæ•©iU³DKÚ>­¼ÆNWÅõG—ëTVV}Ô§´Ì4Â’Ã076§¡}C­²+IW¸Ÿu?ßïFºôåéù›§°ùž§¬ç^i=¿ agg‡……EiOß"É2!„(I–½z$YV2[C·òùŸc¨0¤W½^Ø[ÚsüÆq®&_ÅÎÂŽƒ£–ɲâÅRØÏ««W¯Ò¯_?fÏžÍ[oåREˆâÈçBˆç‘$ËDy¿ÿ„Ï#ù}\<ž5Y&{– !„¢Ì->¹Xýÿ~‹éZ§+“ÚOâÃ-r"ê›Îoâ½ïé3Dññôôä½÷ÞcÞ¼yøøø`gWº§>„/†˜{1Lÿsz±õ¼½˜Ô~ÒKw}!„¯–‘þ#yõ È:M*²ràÊ—òúBñ¢d™BˆgvéÖ%BBÈxœ…Ü;PżЦ\©R²ôÔRܪ¸ÑÛ³7‘w" ˆàÞ£{Œj=ŠÿžþoecÛŒÅØÐ¥JI@tá)á(s•¸WuÇÛÅ[ki¢¢®‘׎®<~À¡ë‡HLO¤ºeu^¯ózõR¥òë_¿ÒȾ>î>–5©Ñ„öní ŒñjÒUNÇžÆ@a€»f9•JÅ©èS\M¾ŠE ºytÓZÚ$_;ÉW9sš\U.^Ž^4¶o¬s_Ëõ”kħÅÓ zM¢ ÀÐÀ‰í'r"êÂH²Lh™0aûöíã›o¾aÑ¢EúGQŽf?Ôi_µ'—z™®/„âÕr6î,÷³îYÇÒÄò¥½¾B¼($Y&„¢Ôn?¸Í§ÿû”À˜@­ãfÆfÌ|}¦zÓ^ G™Ã¢“‹èR» ×S®³4`©¦î°fà -û åÄÜ‹aì¶±DÝÒº†…‹û-¦YÍfÅ^ブèœ, ½ʨ­£HÉHÑ«fQ­À Ó2ÓXtrÚ Ë—,Ë+{×ë]M²ìÉ#nG°äÔMýo}ËoþH[—¶Œö­õ!ÞÇà÷a¿ã^Å=_;aÉa,\®uí¾õûò]ïï´ö)ÌöKÛ‰K+~`þßðæÃ Ü—æIaÉaùöhX½!fÆf\K¹¦ó5Å«ÁÌÌŒ¯¾úŠÑ£GsöìY¼¼¼ô’¢œ8WrfýõÅÖ+îýæE½¾BˆWËJß•(s•EÖ14(þo·õúBñ¢d™BˆRQæ*é?’Л¡8X;ÐέÖ¦ÖÄÜ‹áàõƒ|±ç jU­E“M4ç„$„pðúAÚ¹¶ÃÓÎS#SM« 2e®’¶|@BZ5¬jÐÁ½ÆÆœŠ>EäHFnÉž÷`ka«Ó5ŠóàñFoMJF ®•]ñvõF™«äØc:-פ«„G¦Kí.¸Uq#<%œ£‘Gùzß×´tlÉ•ä+ l43NF$,9ŒŽýÀOýÒjç\Â9^?H·Ô®V››é7Ùwm;/ïÄ¥’ ã½ÇËöKÛ ˆÐ9ö^ž½Šýð09#€V5ò•( ¨aUƒÈ;‘¦‚a¯-^~:u¢mÛ¶Ì™3‡;v``` ï„åÀÜØ¼À*^•ë !„xµx9è÷&0}__!^’,BQ*ûÃ÷z3”7ê½ÁüÞóµîD ½ÊÀ_²&x ?öýQsüÎÃ;üðÆô­ßWs,+'«Ð²Í6“–@³šÍX;x-fÆfääæ0qçDö^Ûˆ Ll7±Èkèj÷ÕÝ$g$Óεÿø_M’íQö#†oÎ݇wKÜfAî>ºË*ßUtpë 9öÅž/Ø|a3gãϲoä>ì,Ô{6e·Ï¦ëÊ®‰<‚J¥B¡PüÝÎû|×ë;ú7ì¯9váæý:ˆ5g×0®í¸bŸ.ë× _‰þxzr9ÈÂ佦O.“ù¤¼Yfv¦$ËD>_}õ½zõb×®]ôí[òÇB!„B!„%%É2!„¥r*ú ¾;{ùéå¨T*@½ß– V¦V„Þ Õ:ǵ²k¡I¬‚ÊÎ%œà“vŸheFFLö™ÌÞk{ù+þ/¯Qœsñêë÷¯õ4š™±½ö#ýG–ªÝ§Õ·«¯•(hëÒ–Í63 áM¢ ÀØÐ˜–Ž-Ùº•”)ZOѹTrÑJ”4¶oÌëu^gïµ½\O¹N]ÛºEÆÒ¯A¿2è‘¶¼$Y^Òìi•056-ók‹_­Zµ8p óçϧGT¨ U!„B!„B”¯gJ–ݹs‡øøx>ýôÓ²ŠGˆR ÇÞÞKKÙTü3.\¸€ƒƒƒ¾ÃЫ¼§¬~¿ð»Îç¸Tv)QYZfN6NùÊ­Q(¤>JÕùÅÉ»žƒuþ×ÖÑÆ±Ôí>­ºeõ|Çò’E•=Ê~¤uÜÁ¦à9˜kzVz±±”Çžey ½ÄôÄ|e¹ª\Ó±2µ’§ÊD¡>ùävìØÁ–-[:t¨¾ÃB!„B!ÄKî™’eׯ_'>>ž… –UÿãsÆoOïz½©nYQ'¸’t; ;7\.×/[[[ÈòåË4hFFòk«B!„B!ʇ|ê „¢T †ü<èg>ÿãsGfËí§Œí,ìž)Qêeöý™±ÛÆu7Š !4e¶¶,~sq¾åŸEÅ Y1`£¶Ž"ênQw£õdßöø–1[Çä;gJ‡)œ‹?§UßÑÆ¿ž~¼¿ùý2‹­ Íj6ýŠ;+N¯àØcšã}ë÷e\Ûqåzíâ h8€è»Ñ,?½œ—wjŽÛ[Ù³bÀ ÍS‚BeôèÑlÚ´‰?ÿü“>}úè;!„B!„…xüø¶¾Câ™H²L!D©U2«Äþ—È;‘œ?Ë݇w©l^—J.x9xah ~²ÉÈЈ Þp«â–¯¢ÊjU­ÅÞ‘{9uŠð”p”*%n•ÝhïÖ#ÛÑUCû†uCב˜žˆ¥]jwA¥R1Á{B¾ [7Œ:ÀëHÎHÆÁÚ.µ»•“Åï 4©ÑD§]+»Ø>€»•Í+köT{ÒŸ)ôôìIPl¹ª\š;4׺¦>}Öá34À©èSÜϼs%g|Ü}$Q&tV£F ºvíÊêÕ«%Y&^8[C·òùŸ³¤ßº{t ôf(ýÖöc‚÷&xOÐs„`ïµ½|¼ýcÖYO+§Vú§\¿qœ÷7¿Ï—¿ä½ïé;!ÄK$>-Ÿe> k6ŒY]giŽ7ü¡! «7dÃÐ …Ÿü IÏLçxÔq]?ıÇHÏLgtëÑLñ™¢ïЄxf™™ œ8Ñ’õë?cèСúGˆR‘d™Bˆgæ^Å÷*î…–* ýP°¨²'ë´wkO{·ö¥ºFIU¬P‘>õó0_XûV¦V h8@똙±Y¾úEŘ—,+ˆ»>î>…Æ[ß®>õíêZ®O.•\p©ä¢ï0Ä ìÝwßå­·Þ"$$„¦M›ê;!^xgãÏ2xÝ`>mÿ)½ö‘¾ÃѻDZ2µÂËQ÷ý;õA^7!„(ï™Y³f’˜˜È”)’/I– !„xé-\Îcåã"ëT0¬À˜6ù—YBèWóæÍiܸ1¿üò‹$ËÄ ¯¡}C"¦Eè; ñÿòö%íàÖA§}>…B”Lèg¡úá¹bmjMoÏÞtªÕ‰G9ørÏ—úIˆ2åæö)Ç0sæLT*S§NÕwHB”ˆ$Ë„B¼ôVœ^Áý¬ûEÖ±4±”d™Ï©#Fðù矓’’BµjÕôŽâ%’Â݇wéT«“¾CBñ ˜ÓmŽæë½×öê1!ÊÏàÁƒ133cÊ”)˜šš2a‚,=.^’,{ÎÌŸ?Ÿ)S¦päÈ|||J|þ´iÓðóó#$$„&Mž=kÄKfþ|˜2ŽRÌQ¦M?? ™£â2ºõhž,{Q”ÕþlB¼(ºwïΜ9sعs'~ø¡¾ÃBKzf:ÿ9þö…ï#=3ÚUkº¬nA{–=¹TýêõYp|—o]Æ­Š;ÞÝJ¥Âÿ¢?›/næZò5”*%®•]Üd0C›E¡PhÚW©Tl»´ ÿ‹þ„%‡¡ÌUâ^ÕÁM3°Ñ@–.gÁñ,8¾@ó5 yâ-3'“ÿžþ/\ýƒ¸Ô8*U aõ†Œj=Šv®í4õ‹Š{æë3ñýÍ7ßÞ5yþ û“ ;&0­ã4>l¥¿Ó‡#c¨0¤ƒ[”¹JÖ‡¬gëŭĥšR©p®äLŸú}x»ÉÛZ{n7Ö† Ãb_[€à¸`6žßÈù„óܼ‹ 4­Ù”Ñ­GÓÜ¡9K–ûºéÏ“Î'žç»#ßz+#:ºwäËÎ_bcfS~.„xáåªrY´šMç7‘ž@uËê i:„u{Xÿé=˲r²¨?¿>]jwaF—øñ# &€ÔG©\üì"æÆæÅ±êÌ*Î%œ##+ƒê–ÕéæÑñmÇcab¡Õ~p\0«ƒWs.þ÷³îãhãH×:]ù°Õ‡\¿}Áë@­yµ4ç½ ûT ¡O}ûö%++‹/¿üsssùN¼0$Y&„â¥÷²=1V–û³ ñ"011¡wïÞøûûËZâ¹’•“ÅÐ C¹š|UsìÒ­KŒÞ:šžu{–¨­s ç˜wxJ•P ©R©˜¼{2;/ïÔª–Ƭý³¸št•oz|¨“%ÿ71ß^(¡7C ½ŠƒµC±1d+³ygÓ;üÿ—æØcåcc9{šÙ]g3¤ébãnZ³)ì±ýÒv¦vœŠ¹±¹Ö9ëþZ‡™±ƒ*6&ïä›o¾ÁÎÎŽ7ÞxCß! Q,I–=g&OžÌäÉ“õ†…›c{èv†6ª©q;‚ ¸ †6ªIRéC\j·#x«ñ[šcÂ`flÆüÞóyÍå5Œ Œˆ¾ÍÎ+;1¯ðwÂO—±~Rac¤P(ðvõfDóÔ³«GÕŠUIËL#(6ˆ©LeyàrZ8¶(öu+i<ÿ»ü?†4Â-?ÀÎÒŽË·.óéÿ>%8.˜«IWñ´ó,ëáB¼.Þ¼ÈÆX˜X0£Ë :×êLNn{¯íå߇ÿ]¢¶‚ã‚iZ³)Kû/¥®m]LL‰KcöÙX™X1­ã4|Ü}°6³&ö^,?žü‘=a{X{v-cÚŒ!ênsÍÅ@aÀ­>À·‘/öVö$¤%°?|?&F&x9x1-ïSÐp€æø°fÃHËLÓZ"¶8æÆæ¬°‚Êæ•5Çv\ÚANns»ÏÕZÖ±VÕZ,ì³³ñg9~€1mưóòN”¹Jƽ6ŽIí'iêºWqgl›±ÏÒMI¬ Q†¦M›FLL cÆŒaÛ¶mÔ¬YSß! Q(}ðO™6m …‚óçϳvíZ4h€©©)ÎÎÎÌž=›ÜÜ\­úÆ C¡Ppûöí|må•¥¦¦Øþ²e˨[·.fff4jÔˆ]»vðàÁ>ùäjÔ¨©©)íÚµãÂ… ZmÏŸ?…BÁÑ£GµŽÇÅÅ1räH©P¡Õ«WgÈ!„……Úç¥K—âáá©©)nnnÌ;—œœ­:·oßfêÔ©Ô©S‡Š+R½zu:uêÄÖ­[µeEHIGG¨ZbcµËŽ##ðö†§Æ>ŸiÓ@¡€óçaíZhÐLMÁÙfφ§æ(Æ©ë0G5eOÌQ­ö—-ƒºuÁÌ 5‚ÿŸ£|HRRGŽ!44” ”n ^%ÕªÁ–-о=øú‰êdÑÍ›ðÖ[ê$ÚæÍꤙ./†'æ(±±0k–:YVs”ùóá‰9Jh(ôï¯NìM™OÌQNž„ž=!2RÐ*LT´n OÌQ’’`ãFؽ†§æ(~~ðÄ%* fÌ€k×à‰9JÏžðÄåáCuÛGލc—9*„¯Œž={òý÷ßsúôi¼½½õŽeÊÆÌ&ß±¼½­ŠÚ³+[Y¶8(ÈŸÔ)JAqçÒtË—±îœzï­í¡ÛÉÈÊà]¯wun¿<ö,»ŸuŸà¸`Þoù¾ÖqO;OŒ>À¹øsüÿÁ±Á,:±ˆJæ•ø±ïxTóÐ9î'6FË—“­Ìf‚÷Þlð&vvT0¬€B¡ ëÊ®Ü}x·T×+މ‘I¾cy¯»Ü0YÖZR±b%úõëÇwß}G÷îÝõÏ…Ò¾çåíµ˜§ Ê‚ìY&DÙ277géÒ¥ôíÛ—ï¿ÿž/¾øBß! Q WæÉ²<6l`Ñ¢E$&&’žžÎºuë022bÉ’%eò‡ÁöíÛY±bÉÉÉܹs‡éÓ§“““C¯^½HJJbÿþý¤§§sãÆ :wîLbb"7½‰ò'Ÿ|Brr2íÛ·çìÙ³}ú0~üxV®\©ï€„(µ¼Ÿÿ'¢Nä++«÷<€µƒ×úžwö“³Zu÷„í)¶] r”²*úæââÂìÙ³Y³f ‡Öw8Bè•{²ì믿füøñšï‡ÊŽ;ð÷÷'..''§gjæÌ™Œ5JóýܹsYµj)))±šž{ÒÜ©9fúfÄ\‹á~Î}¥§û»zuåäõ“|´å#¾êøþŽþdçf³þÔzÖœ\ƒ®T—öí+t Ãý‡³ùÌf&ÿ5™‹·/òe‡/+4 :ö,Û—°ssšÚ+o2ßoE?z7îMs§æ8š;’'Ë#:9šû9÷•–DT·¯ËcojOÂÝV_A¯Æ½8žzœÿíûŸb†E‘²î[UÅ#T©T‡™3gâááÁ×_ÍÍ›7ùüóÏ«mFŒ T—N :ñË‘_øîŸïÐ×Ö§½G{d…2v\ØÁÏÑ?¿pû½½{q8‚ÿÛú|ü AnAÔ5ªKæãL’ï%³ýüvlŒmÛb,=õdÁáD‰@V(£o“¾ØšØr=ó:»/íFW[—‘òÙÃææ\¾s™«÷¯âhæ¨xø ,bÏ2A¨½zõ"::š©S§²sçNÌÍK_¡@4¡Ö%ËÚ´i£RæîîÀƒ^¸ýç“LZZZ899ñèÑ#E¢¬ˆ‹‹ü©œôôôRÛKNN&??ŸV­Z)eE´µµéÔ©gÏž%!!A)YÖ©S'•¶Š–|HHH@OOE‹1nÜ8NŸ>M›6mhÒ¤ ÁÁÁŠØ„ úõWˆŽ–'ʺv…I“*ÞF c”§c”*£*I&--ù>c=K”)eŒQ’“å3ÓZµz–(+¢­ :Ég™%$('ËJ£-KòtŒ¢§'Oä'_r±MùkÁÁÏbAj•Î;óý÷ßK`` ¦Ãj¹·š½ÅÖ³[9ë<ÃVS”K$ºyucûùí/Ô~hãPŽ]=ƆÓ½~t‰uø  w"#Ùyq'ŸíøL¥^W¯®¸Z¸bclÃá”ÃøÏ}¶LvÂä†ù cç…Ä¥ÅñκwTÚøüÍϱ2¶ªÐ54¶mŒŸƒ‘W"1Ö3¦wŸ ½¾ªÉ dD&FÒΣR-å„ûÙ›g9‘v¢Ä× ð ø³º}]žAMy%’é{¦3}ϳåÖÚ4¤¾U}ne?[⼬ûVUñÕkøðᘙ™1eÊ?~ÌÌ™3EÂLx¥4±k ¦ƒX}b5“¶+×âŸçÿ|¡ö]-\™Ñy_ìú‚);¦”XgÌëcp³tcj»©ÌÜ7“ˆÃDŽPª÷^Ë÷~Ýùuþ<ÿ'í"žÍ&^5xÎ5ÿ9rmüZ¦îP^~î—#¿ðË‘_ê7”¯:~Uãq BMúâ‹/èÒ¥ 3gÎäûï¿×t8‚ ¤Ö­af`` RVôµø2ŒEK¨ÔÏÉÉ)µý’ö“H$¥–—vŽÒ꾈¢6Š·5xð`RSSùâ‹/000`íÚµ4lز²²^øœµNL ¤¦Êÿ|ùrå’[%ŒQŠîYñe‹– ,iü”1FKÜ{L")½¼´s”V÷EµQ¼­Áƒå}úÅò¾Y»V>k-$D¾\¤ð¯4ríHfîYcmWçùA¨Z®®®4hЀ½{÷j:A@O[UƒW1¤éêÕEO[†6 Yº€Öî/> ^"‘0«Û,Â{…ó†ë˜é›¡#ÕÁÉ܉õ;° to¸½È—é›×kÿëò?|í}1Ð1ÀXÏ{¾éú ¯»¼€TKÊüÐùø;úc £ü¹SGªÃòAË4÷:îèHu0Ò5âu—×YÒ ƒ›®Ôu½®_“~é½@¼¸ãiÇÉ|œI{OÕrÞÚÀP¿¡xÔõ@_[  š96ã›®ßðYûgI(uûº}š&Mš0sæLfÏž]å×ô¯uã†|Ÿ2++ùŒ²?†#ä{sU‡¢q™”ôìÏ Ÿ!VƒcWWù ²ƒåÉ«â³Ëd2ùhÏQví’/µXÜÓ1ÊscèÙSþòYfMšÈ—cô_)æZ ó+• [= /k/¦¶±`Kj»¤2A^^­[·fÿþý|ö™ê A¨i¦ú¦Lï4馫{~•·7 “”ÊZ»·V){^×׺ÒõµògI$ø PÌ6+¯½/k†®)ñ˜¾¶>ãƒÆ3>h|™m¨w‘³ég‘H$ k6¬üÊÕlßå}èHuhåÖJ嘗—ÚOô«Ó×êôQF=èѨ‡Jùæá›UÊʺo/OEî§ðbÚµkGXXãÇGWWW¼— ¯-‰ï¾Ã;ª³Kúrzâi¥¿ëië•û»¦‰]Âz†©O —´piQf+c+ÅþžšÖß§?ý}úk: Aи¶mÛÒ½{wf̘APPzzzšI€Z8³L]5`âĉ\¸pœœNœ8Ahh(iii5‡‘‘]ºt!==^½zÇ£G8þ<ƒ âÌ™3øúú*-ÁÆœ9s¸yó&÷îÝcõêÕ|ôÑGôíÛ€˜˜ºuëÆÆIJJ"77—›7o²iÓ&®\¹Rc×ùÊËχàÎX³F¾×ÀÆðÃÕsΧc”‰áÂùl²' 4jpŒbd]ºÈ—jìÕ ââä »óçåû9#ß·ì¹1JXÌ™7o½{°z5<£<£ÄÄ@·nò~LJ‚Ü\yý§c1Fÿµ–ô_¾P*;vín_ÐPD‚ ¼LZµjEbb"ׯ_×t(‚ ”AV ã`ÒAVÅ­"À1góÜ{· ìOØO s Æg¸ µ[§N˜3gË–-cñâÅšGAjÜgŸ}Æýû÷Y²d‰¦C1³¬ƒ â‹/¾àСCxyy)ÊèØ±£bFWM ãèÑ£üý÷ß4kÖL阱±1¿þú«ÊkBCC™8q"'NT*2dˆbÆ™L&㯿þ⯿þRy½D"aðàÊ-³R+Mž,ŸY5k–|?-'‚bcåÇ!(¨jÏ9h|iÂC‡ ØÅÁ:v|6£«&„…Ég³ýý7<7F16–ïåö¼ÐPy¢ï¹1Ê!ÏfœÉdð×_òŸçI$ò%…¥§M‡ ÂK, CCC¢¢¢èß_<+/£ð¨p£ÂÓbŒ£yfÏè=šAèÖ­ééé|ûí·899ѱcGM‡$‚ 5¦nݺŒ3† ЧO¥•ÝASÄ̲Rèëë³k×.:uê„¡¡!¦¦¦ôîÝ›èèh¬¬*¶©ue_GÙÝÝØØXF…ƒƒÚÚÚX[[3pà@bbbð÷÷WyýäÉ“™;w.žžžèêêâææÆŒ3øí·ßuš7oÎ_ýE¿~ýpssCOOzôèÁÞ½{ ­öëüWØ´I>{¬GøÏž•ëèÀºu`a!Ÿu–ž^µçÕ×—/eةʗ?ìÝ¢£åKAV·âk}»»Ëƒ£FÉ“uÚÚò¥!”Ï+aŒ2y2Ì žž « nn0c£4o.O”õë'?®§'o¿GØ»Wžp4.óq&‹-æƒM0üáLÚ>‰ý û•ê,?¾œÁ«³ã•×GŽ`ðªÁD^‰T”ßCìâí‹ ^5YŒ37Ï0xÕ`ÅÏù[çù“ëûö1}ÏtF­Åèõ£ù>ò{’2’ªñÊAК7oÎ4Š å°6¶æ³öŸì¬éPá¥3räHÈĉ9wÃA„5räH,--ùñÇ5Š )|eûõëÀºuëª, ÚîË/¿dÆŒ9r„ÀÀ@M‡óÊH$L˜0Aür­ _~)Oj9"Ÿ1WKU÷ï¿ôôt²³³Õªû×_ÆŒoCBBbµÄR–i'½~4÷rî©ëçÓoº|ÀÃ܇„. åzÖu6½½ ºò=ìö^ÞËØ ciçÑŽ_úü¢xPÀûo¼m½ù}ÈïĦÆ2påÀÏ¿jð*°rÇS«וêòSïŸhçÑNQV¼í²ÊA¨zUùûjÙ²eÌ;—˜˜¤RiD'¼Ê>üЀyóªøá$A„àáQððtºv-ýs½L&cøðá\¿~-[¶`ll\ƒ ¯"MþÿO¡4•ý<¾eË>ýôSvïÞ‹‹Ku„&Ô"666/òYj˜YöIKKcÛ¶m¸ººj6A(IZ<£ˆ1Zëe?Éf솱Ü|Ÿ^{Ö3Œ¥–2½ÓtÜ,ÝX¿Ž­g·`¤kÄüÞóxÓû<Ê{Dʽþóçp4sä»ï”fÔ×Àª«¯BK¢E#›F¬¼Jñãeí¥ˆ¥g£žÌì<“ßüFDŸ> ú¦ï™^3"B $++‹K—.i:AA¨4©TJXX999L™2EÓá‚ B ÁÅÅ…ŸþYÓ¡‚X†ñe1vìX9yò$­ZµÂÆÆFÓ! ‚²±cÁÑNž„V­@ŒÑZoóÙÍÜ}t—‰­'ò}È÷„x…ÐÊ­Cšaí°µê²ñÌFE}º|Ýåkï&ò韟òÁæÈ•å2?t>fúf¥žÇDÏ„@ç@$ ff:*~LõMù ³Žõ;rêÆ)[ÌÒ˜¥N9Œž¶i™iÜ|p³ÚûC„šU¿~}LMM9~\uV© ‚ ¼JêԩÜ9sؽ{7kÖ¬Ñt8‚ ‚Pc¤R)ï½÷›7o&)Il¥!h–¶¦ž±´´¤uëÖ,X°@Ó¡BÉ,-¡ukcTN^? ÀžK{ˆN‰¦hUßB N¼«¼4H÷†Ý‰K‹cÅñ|ÝåkÙ4z¡8d…2>Þú1“–ZçÁ“ؚؾÐyAx¹hiiáëëËñãÇ:t¨¦ÃA„òúë¯óî»ïòí·ßÒºukìíí5’ ‚ ÔˆîÝ»óÓO?±xñbfΜ©ép„ZL$Ë^DDDh: A(]D„üGžz”û€øñ¥ÖÑÕÖU-“ÊË´$Z¸×qá8¶ÝÆÁ¤ƒ¸X¸0Ôo(..ê"‘HX~|9».îâ¶çá%Ö¬Y3V¯^­é0A¡JŒ?ž}ûö1yòd–-[Vê2å‚ ‚ðo"•J>|8ß~û-Ÿ|ò æææšI¨¥D²LA¨;S;¦wœŽG]ëhk)¿Íì¾´›ÅÇäÄ™›g¿y<[Gl¥®QÝòOXH‰I¯¢dÝO½RìaVäÇ?ªs)‚ ¼¢üýýùñǹqãvvvšGA^ˆ®®.ß|ó  `Ë–-ôêÕKÓ! ‚ B å‡~`íÚµŒ=ZÓáµ”سLA¨”N :°åììLí”öówòç^Î=¥½ÂRî¥ðéöOq6w&¼g8?öø‘;ïðÑ–ÈÊ=Ÿ‘ž©™©(•›ÈŸ8ŠKS”åäNljlU\ª /©&Mš •J9yò¤¦CA„*áëëËÀ™={6=Òt8‚ ‚P# éÛ·/+W®D&+ÿ;"A¨"Y&‚ TJs§æôóéG\Zí"ÚÑ6¢-ýVô£Ó¯hòC>ØôçÒÏð8ÿ1ïozŸ}º¦Ã„2e=‘'ˆú ¥M½6ŠòŸ£ÆÛÖ›>Þ}4Û¼¨y8š;Ò»qoÅ𲈿OØÁ0ætŸ£éPÊõ¢÷-_&ßšáMÏ7 ñ ©âè„êÔ«W/f̘AVV¦¦â³’P³ÄÌ2Aá…I$\-\ñsðÃÕÂU‘(Бê訒(+b¢gB s m*Êœ”f ‘J¤4°j@€SÎJ_2èÐЦ!^6^Šó;›;舎A™m—v>A^~ 6äîݻܺuKÓ¡‚ (™¶{®ÀÜÀœ¡~Cî?kckb®ÅðéöO5žð’ÓÑÑa̘1¬]»–´´4M‡#•ò^Ë÷èÓDs‰2€Ÿ¢bÓ™Máe±/aR‰”àzÁš¥\â¾Õ^ݺuC"‘°k×.M‡"ÔB/4³ìÈ‘#¤¦¦"‘Hª*A¨´°°0ÂÂÂ4†P‹8::j:A„Z¯aÆH$Î;‡µµµ¦ÃA 53•Íg6c¢gÂæá›q4“n×rÝ—tgï彜¿u^<¬#”©_¿~,X°€E‹1mÚ4M‡#6®Å8M‡ ³ïò>üü1Ó7Ót(‚P*Ú´ißþI¿~ý4ŽP˼P²ÌÓÓºuëVUñB¥„……ѨQ#:tè éP„Zbûöí"Y&‚ð033ÃÖÖ–Ë—/Ó¦MM‡#ÔR²B‡“sñöEò òq³t#Ø==m=E”{)l9»…Öî­ñ±óáèÕ£œM?‹‘®-\Z”zl ï@}ú0gÎ6lØÀÈ‘#5ŽP˾qšÑFs;û¶¢ÌÊØŠ™g–Xÿù=ËŠï#uùöeæGÏWÔÕ|™3ùxëÇJ¿ÓA¾äþ´ÓèÛ¤¯¢ìvöm&þ9‘èäh¥ºFºFÌê6‹ºFu‰–ÔÌT¥¤K s ŽfŽ$ÜI`ÜÆq$e$)µaclüÞó[ ”÷á”ÃüräÚÔk£’¬‰LŒdÎ9|ÜúãRzõ™Mg6qíþµrëÖljÕÝwyí<Úp?ç>#׎äÔSJõô´õø$øFŒP”•××t.·t¤:ÌØ;ƒÕ'V+}¾pµpå×~¿âféÆõ¬ëåÞ7uâ)î—#¿ð}ä÷>{¯ïïÓŸ¯»|­Vß 5¯mÛ¶8p€±çœPs^(Y&‚ ‚ šæææÆÅ‹5†P ¥e¦1bí²gácںœ¹y†#)Gxwý»ìywÆzÆŠ×,‰Y£ÜGtoØgsglMlËÞvÞø;ú“›ÍÞK{9‘v‚÷7½ÏÚ¡k•–Æ/ëå9uãŸïüYŒ§šØ5!ãQ».îRúâëE-9¶„ÇùéãÝ C %âü­óLÛ=ë™×Ñ•ê2¤é¤ZR¶ŸßÎÙô³¬9¹†·ýßVnçéµölÔ+c+ÎÞ<Ëá”ÃÌØ;ƒV JLV=ï§èŸÈÔŠ»®Q]µ’e·Ê¿H¶7µW9æ`æÀ­l±×¢P>CCCzõêÅÊ•+>|8ZZbëyA3æ>d̆1ÜAnAÈ dD^‰dÊ_S*ÔÖ‰´ì½¼—Vn­ð²ñB_[-‰ï®—Ó7NãhæH+÷V˜é›‘r/…½—÷2uÇT<êzàkïK~A>#×ä|úyŒthçÑ;S;Ò2Ó8”|ˆséçè;ñAã™wh¦„z‡*Îï`æ@N^£Ö"-3 {S{‚룣¥Ã¡äC$ÞMäÝuï²ãŠRJ‹[GªÃÛþoóÁ¦Xj½Ê{Ī«Ð•ê2ÈwP¹ý²éÌ&•PYºyuS?Y–°÷:î¸Z¸ð[ìoœºq cÚy¶ÃLߌ´Ì4Ž]=ÆñÔãŠd™:}]<9UZL:ˆµ±5Mšâ`æÀ“ü'œ¿už#)Gøtû§¬¶{Sû2ï[Eã9yý$ûöìŒg]OÒ³Óùëü_¬_KˆW-][ª°d IDATÝßBÍ155% €}ûö‰d™P£D²LAAx¥¹»»³cÇM‡!ÔB ,$ëqÓ;Ngˆß¥c¿ÅþÆÌ½3Ùzn«Ò²K9y9l±÷:W”zlⶉää3"`SÛMU$Å>mó)¡ËB9‘v‚#WÐÂ¥E™çP×o±¿!+1>h<ãƒÆ+ÊǧÇÒn¯4…²óØ™Ú k#£ë¢®D'GÓÒµ%‹ú-BWª ÈŸœïôk'ö'ìWI–åäå°eÄÅÌ5'оÞ÷5‹-V+YöAË*4³LOòŸ(-ãU¤¨ì‰ì‰Zm ÂСCY¹r%‡¢U«VšG¨¥þ<ÿ'·²oÑÊ­ û.T$@ròr¶z2ÔnëüÐýz6ê©(Ûqa§oœ¦{Ãî|ò=R-©âØé§é»¼/Kc–2·ç\¶ŸßÎùôóxÖõdåà•JK4>Ì}ÈÕûWI—ùÑóq¶pVzOX¿–´Ì4üüX6p:€<94aËv^ÜÉï'~gB« eÆ ÐÁ³ö¦öü~âwF5¥x¯NÍLåÀ•ônÜKCËrû¥wãÞZP6²Ÿdsìê1¥ÙbE÷kãðØÛ(Êse¹œ½yVñwuúº¸Òú`zÇé¸×qçHÊndÝ@WªKs§æÜyx‡i'¸—s¯Üû¶åì– Ç³ toz¾©(kåÖŠÿüùþIüG$Ë^bíÛ·'<<™L†T*-ÿ‚PD²LAAx¥¹»»“‘‘Áýû÷17/yŸA¨Ñ)ÑH%R2e0?z>………Š%~æ=ä_ðÑôÙkz6êYj«¤cÇS#•H™ ú°’WQ:EB,_5!¦H¤IUi‚P’zõêÑ´iS¶lÙ"’e‚ÆÄ¥Æòß™Å÷4Ð1àý–ïóîúwÕnËÍÒM%™r(ù (!âH„âý´°°B 1Õ7•¿§GRŽ0©í$•½ÌŒtÔÚ2.M~=µúH‘(ùR¾Ÿ´ù„wª¼”7€TKÊP¿¡Ìþg6“ÒÚ½5¿Ÿø‚•=JÓ»qoµêUÔ¤ää+–`èX¿#¿Ÿø%Ç–Ðß§?î–îH$t¥º4uxöÁ¥¢}]Z|–׈?F__âñ»ï–;S®¢ñ4´n¨”(hS¯ fx¿ìZ¶lÉÌ™39þ<7Öt8B-!’e‚ ‚ Â+ÍÍÍ €ääd|}}5P›d<Ê@V(cnÔÜRë<¿ÏXÑòG%)éXÖ“,¬M¬Ñ×ÖW9ælî @æãLµÏQžÌǙؚØ"•¨>ÁëdîTévŸWÒÒE_V–v,ëq–Z1iI´p0sàôÍÓjÅR{–YYp=ë:¯Y¿¦t¬(égel¥Ö9 {÷îÌž=›3f```Pþ ¡Š½×8š9ª«èûƒ«¥«JYÑL§?âÿ(÷õ÷ߨôƒ!ðìzŠÞK‹s2sB"‘p?ç¾RyIqà;€y‡æ±2n%­Ý[“+Ëe]ü:œhhÓP­˜ªkϲ}—÷an`®Øƒ È-ˆÕCV³,vVàIþÛ6¦Cý ò¤xO®h_—ÖGGRŽðCäèJuyÓóM\,\0Ô5D‚„ƒI9‘v‚‚‚rÛ¯h<ÅÌ)R4K¼´¤ðrðôô¤N:=zT$Ë„#’e‚ ‚ Â+ÍÞÞRRRD²L¨Q¦ú¦äÊry7°ô§é=êz(ý½ø²RÏ+阩ž)7²nð8ÿ±J¬h©!3}3µÏQ3}3n>¸‰¬P¦’0+é ¼¢˜æ>T9v=ëz¥ãPWI1’–™†©ž©ZmTÇže^6ò'Û^=ªô$?À‘«ò§âÕ™ù EºuëÆÌ™3Ù¿?ݺuÓt8B-Tô^“š™ª´”ü»¸,%=af oHÓ!Ô1ª£rž½ç˜ëËW¸r÷J‰É.u]ÏÕûWU’}×2¯QXXˆ¹òŠ%Å]¼½žz*–w8àÈgY»vŒoö}ÃÎ ;Y3t Z­ ÷ui}ôwâßüÔû'•÷Åó·Î—Ûn‘ª¸÷«A"‘ÀÑ£G5j”¦Ãj ‘,«&üñ , ,,ì•ÿÒæßt-µÅ1°àŸ„ Ã×éÕ¾gÿ¦kAª‡––666ܸqCÓ¡µLK—–üÿ..%.9táÖLôL^èÍ›±åì~<ð#SÚMQ”ßϹÏÂ# uªŠŸ£[ÏnåçC?+-Oxíþ5ÖÆ¯U©oofÀß ÓÇ»¢<=;]­Ù/jë¹­Œl>Ri)Æ¥±K¹ûè®Ê—q¥©Ž=ËÚy´cÆÞ¬;µŽa͆)fbÜ}t—e±ËèP¿ƒZm €¥¥%-Z´`ÇŽ"Y&h„Ÿ£No`^Ô<•=ËæGÏáö[8·`]ü:d…2>xã´$ZJÇogßæÆùg½.-Xwjßýó>ö>J £¢}«ŠHЕêªÌðsðcý©õÌ‹š‡ŸƒŸb&•¬PÆœÈ9@Åß_ßö›5'×°úäj'ÆÞÔžžêÿ®¯Ž=ËâÒ⸟s_e)Â#)Gð¶óÆH×kckB¼Bø'ñ6ŸÙLRFõêÔ«P_—¥h)ic=c•8ö_Þ¯R¿´ûVUñ¯†×_~øAì[&Ô‘,«&×®]#22’û÷U±¿ŒV¬XÁâÅ‹™7oÞÞÞJÇ^µkàZÆ5"/ErÿÑ«qÏV^Áâ¨ÅÌ<o‡çÆß+v-‚ ‚fØÛÛ‹d™PãÆµÇ΋;™¸m"Kc–âc烉¾ ·³oséÎ%Nß8Í’þKp0s¨ô9F5ÅöóÛY|l1±©±ø9ø‘ý$›} ûÈx”¯½/¯;¿^e×4Ü8ÛÏognÔ\¢S¢ibׄŒG캸 }Õ¥ Û6ÆÚØšw2xÕ`||¹óð».îÂPW½ÄÒ‹0Ð1 çÒžtjÐ +c+Î¥Ÿ#:9‰D¨æê=…\{–9š9Ò»qo6žÞH¯ßz₎T‡íç·s+ûoz¾)¾Ì*¬]»vÌ™3‡üü|´µÅ×9BÍ ñ aîÁ¹L:H×Å] r ¢ °€ÿ!'/ç…ÛïÖ°¿ÅþÆš“k8˜t–®-©cX‡¬ÇY$ßKæØÕcŒj>Š&vMèêÕ•…GráÖÚF´¥G;lMl¹žy¨ä(7¬øëjéʹôsLÜ6's'´$Z„z‡Ò½awæGÏ'65–΋:쌎T‡CɇH¸“€™¾ƒ›®Ð5xÖõ¤¥kK–Å.#'/‡Im'Uh¶wuìY¶/aÚZÚ´rSÞïð—#ò½=_wy t¤:\¸uW •H³ê*Ò×eij/ßmÌú1tnÐ C .ß¹Ldb$–†–ÜyxG©~i÷­ªâ^ Íš5ãÁƒ$&&R¿~}M‡#ÔâÓU50`þþþ¯ÌL¬””"##ÉÌÌT9öª]‹àïêÿÊÌÄJÉH!òR$™9%Œ¿WìZAͰ³³É2¡Æ9š9²bÐ &n›È™›g8sóŒÒq/k¯J”4´iHXÏ0¦ü5…øëñÄ_WkêДù½ç+žÖ® Mìš0³óL¦íšF̵b®ÅàcïC†=˜±w†R}}m}¾xó &l™À±kÇ8ví ß ¥½G{¦ï™^e±•ddÀH&dËÙ-Š2m-m¦¶ŸJ s`µž»<Ó;Nçvöm&deÜJE¹¿£?³»ÍÖ`d«ªmÛ¶ü÷¿ÿ%..ŽæÍ›k:¡–1Ò5â—>¿0zÃh’2’HÊHäËÓ~ÝåkÆnûBíK%R÷_Ì¤í“ØŸ°Ÿuñ딎ÛÛÐÄ® ÿ=¿¤ÿÅ{ÏÖ³[õŒõŒ•öá?‚IMRzŸtÄÑÌ‘Åý3nã8’2’øýÄïŠãÖÆÖÌë5Oe¹Iu ÷Ntr4:ô÷é_á×Wµý û tT™ÑÕÂ¥'¯Ÿd‚ò¬.#]#>oÿ9u åKaV¤¯ËÒ©A'º7ìζsÛXwêÙ½íçÓ]–Ä,Qª_Ö}«Šx„WCýúõÑ××çÌ™3"Y&Ô‘,«&NNN89UÝØšôoº–ÚÂÉÒ 'ËÇ=û7]˿պøu,‰YÂÕûWy’ÿ„…}ª½ìQï¼ñ¶õæ÷!¿—Y&‚P;;;.]º¤é0„Z¨¡MCþõqiqœ¹y†œ¼lMli`Õ@±o€‹… ãƒÆÓÔ¡©JeèÜ 3-]Zr é©÷SÑÕÖÅÛÖ[±Ïˆºí¨«_“~¹ñwâßh<u”÷aëòZÛ6æŸÄx”÷ˆF6xÃõ ÎÝ:Çø ñ¸×qW+ÆVn­0Ò5*q¯š¡Í†ò$ÿ‰J¹ž¶+­à`ÒA.Þºˆ¡®!mêµQ,{¨I:,°”ØÔXNÝ8EAAl訲¼˜ ¨ÃÉÉ 777"##E²LÐo;oöŽÞ˾Ëû¸žuÞô|“ÂÂBÆW$³Š¼×ò=¥„“¶T[å}¡8  ö]HâÝDbScÉx”¥¡%®®ø;ú+ÍÒ²6¶æ÷!¿súÆiN\?AN^ÎæÎ´tm©´—g¨w(lqôêQ2s2)¤Pñ ‹G]v¾»“CI‡¸tû²Bî–î´vož¶žÚqW”¬éÕ¸—Êž¢5-ù^2Wî^aHÓ!*ÇF¿>ša͆qôêQEâÓÎÔŽÖî­U–V§¯Õé£{üÈঃ9só ‰„fÍð¶ó&*) c=c¥÷ÿ²îÛ‹ÆStìù}e…—T*¥Aƒœ9s†ÐÐPM‡#Ô/E²,''‡ Iaa!­Zµâý÷ß'<<œ;w²eËÌÌ”ß`öïßÏúõëIJJBGGÆŒƒ¢ÎÂ… ùý÷ßY´hyyyÌŸ?Ÿ„„lll>|8mÛ¶-1žŠ¶““ÃÂ… ¹té½zõbܸqeîóɆ HLLÄÐÐ???ÆŒƒ¥eùk Ëd2Ö¬YÃÎ;IOOÇÒÒ’víÚñÖ[o¡¯ÿlY”âñ=xð€ˆˆRRR°··gäÈ‘)êNœ8‘7ðá‡*úÚ××—°°°R¯¥2±Tä>Ô”œ¼ü³€È‹‘RH+ÏV¼ßö}Â÷…³óÌN¶|°E±Ñl‘ýö³þøz’î$¡#ÕÁßÅŸ1Ác°1-6F,ä÷£¿³èíEäÉò˜ÿ÷|n%`cjÃð–ÃiûZ)㯂mçäå°ðÀB.¥_¢—o/ƵWæ>_‘—"Ùp|‰·1Ô5ÄÏÙ1Ác°4RcüÈX³†gv’ž•Ž¥‘%í^kÇ[-ÞRZ–§x|? "2‚”»)Ø›Û32h$AÅÆßÚ‰lŒ{:þ~ÿPÑ×¾N¾„ +õZ*KEž#)G˜²cJùÿ%Ìn@ s Ë.×t(‚ <ÇÎÎŽëׯk: ¡–’H$4slVæÞ&EI¢Š+bªoJˆWH™uÔiG]v¦v*ËOyY{•º´‘“¹Ú S*kdÓˆF6ÔŽ1È-ˆ · •ôE_-‰ÁîÁ»—ZG“üý+´ ”¥uëÖ:tˆÿüç?šE¨¥ŒtèѨ‡JyI¿Ûǵ§ôw©DªÖûT½:õ”ö¢,‹·7ÞvÞeÖi`Õ€V J<&•HiíÞšÖî­K}½ºqDŽ`ï µêW§}—÷ÐÞ³}‰Ç t hS¯ mêµQ«½²úZÝ> p Pyا´÷ÿ²îÛ‹ÄS‘û)h^ãÆ9sæLù¡ hø€øøx’““8yò¤ÊyKº–ÊÄ¢î}¨I™9™Lüµbã/~ëb×QϪ‘—"É“…ŒX:‚凟#ñÛßÎîwãçütŒÜ¾Bä¥Hþ<õ'ŸmúŒG¹Å®ûÈ þýýüû½PÛë¯ç«­_)ž²mdÿtü•°Ï—¬@Æð¥ÃYyä¹ñw|=ßîü–Œ°Œ2×Ò~øä!Ã:•ðÜ=ùƒŸöÿÄÞ‰{±6±VŠo]ì:¾Úö¹ùÅÆß¡¥Ì4Ú=©ñ$ßMà䵯_ ×R™XÔ½BÅì½¼€ð^át¬ßm-¿­‚PKÙÙÙ‘™™INNšG^*·³o³úäêrë¹×q/7!'‚fùûû³råJ>|ˆ‘‘‘¦ÃHÍLeãé$e$±íÜ6|ì}^ŠåíLí˜ÒnÊK1ÛZ*«qãÆlܸ‘‚‚´´ÄÌ|¡ziü[Í)S¦““Ÿ~ú)îîî\¼x‘Y³f•˜¸™={6Ë—/ÇÝÝqãÆáååÅ“'Oؽ{7¿þú+ƒæÜ¹sJÿx&MšDHH}ûöÅØØ˜­[·²hÑ"¦L™¢”¤©LÛ_~ù%]ºt¡ÿþ888”¹\áÌ™3Y¹r%†††¼÷Þ{4oÞ©TÊñãljˆˆ °°°Ì¾š:u*QQQXYY1iÒ$¼¼¼HNNæûï¿çôéÓŒ;V1C¬È´iÓèܹ3ƒ B__Ÿ;wò믿òñÇÓ¡C4hÀ?ü@xx8K–,!<<ooùSæææU‹º÷¡&MÙ8…økñ8Y:ñi§Oq·rçâÍ‹ÌÚ9«ÄÄÍì³Y~x9îVîŒ ‡—OòŸ°ûÜn~=ð+ƒ̹ÿžSZVeÒ†I„4 ¡o³¾ë³5~+‹.bÊÆ)JIšÊ´ýå–/éÒ¸ ýúã`îPær…3·Ïdå‘•êò^Û÷hîÚ©–”ã)ljˆŒ rÆß¦©D%DaebŤΓð²ó"ùn2ßïúžÓi§»b,ß{nümFçÆÔ|ú:úì<³“_þÊÇ|L‡†h`Û€úý@øþp–D-!|P8ÞOÇŸa㯱¨{„йùà&í<Ú‰D™ U§Ž|Ù–ŒŒ ^l(Aø·¹óèáQáåÖ{ÓóM‘,„—\³fÍÉdÄÇÇÓ²eKM‡#–™¦xŸÕ•ê2µÝT G$×õµ®šA^˜‡‡999ܸqCü?O¨výf3??ŸåË—cbbÂáǾk×®„„„(’6E ™3g¶¶¶ÄÆÆbaa¡8Š……ß~û-GŽQúÐ8lØ0-Z¤ø{÷îݹ|ù2‘‘‘ܺu kkëJ·Ý³gOÖ­SÞt´$„‡‡£££Ã?ÿüC@À³)Ç¡¡¡Lš4 míÒoG~~>K–,A__Ÿ¨¨(¥M  Àk¯½ÆæÍ›IOOWZ.2$$D)iÕ»woììì˜>}:¿ýöß|ó >>>¸¹¹дiS¥%«2uîCMÊ/Ègùáå˜è›pxÊaÌŸŽ?ﮄø„à=­„ñ·g¶f¶Ä~‹…a±1⊅¡ßîø–#WŽÐ²^±ñ÷ú0½]ìº}ºs9ý2‘—"¹õàÖ&Ö•n»§oOÖUcü¾/©ÿüç\‹?¿P&užTf¢#¿ Ÿ%QKÐ×Ñ'jRõmŠÝsÿ¼öÅkl>¹™ô¬t¥å"Cš„(%­z7í™Ó·Mç·èßø&ô|œ|p«ûtü97UZ¢±*cQç>êÛsiã6>[R£ñ÷ùé»ßÝ È×G_·ŠCɇ¸zï*R-)õ­ê3Èw¡Þ•_kzó™Í¬Œ[É¥Û—((,À½Ž;}›ôe¨ßP•ý?b®Å°$f q©q[Û|ÕàU:pìÚ1]D\ZÙO²±5±¥SƒN|øÆ‡**×”'ùOhô}#Þô|“ÿvú/_ïûšƒIÉ•åÒÔ¡)SÚNQÚS§ˆ:ý\Ù¶_Æ~^}EËYß»wOü'JžS×°®ZË ©³ËË¢ªög„Wµµ5ŽŽŽ?~\$Ëá%á`æÀø ñ˜è™ÐΣ..šIþ5о³NJJÿϪF“eW®\ááÇôéÓGe°{zzòÆo°ÿ~EYRR·o߯ÊÊJ1©°°P1#ëöíÛ\¸pAéCãàÁÊkíøùùÉÝ»w±¶¶®tÛo½õ–Úך‘‘A‡”eELMMË}}vv6]ºtQJNüIê¾}ûÁ©S§èСƒâØÈ‘#UÚ9r$Ó§OçÔ©SjÅ^U±¨sjÒ•ÛWxøä!}üú(eE<­=yÃã ö_(6þî$qûÁm¬L¬èQlŒ<‘uûÁÓ1rã‚RBkp` ×íâGä¥HîfßÅÚĺÒm¿ÕBÍñwû 3èаƒR¢¬ˆ©A9ãïö²ŸdÓ¥q¥ä@ã:ômÖ—ˆÈN¥ž¢CÃbã/¨„ñ4’éÛ¦s*µ’㯒±¨s„ª5zýh®Ü½¢Tv"í'ÒNp+ûc[Œ­p›ßþý-‹Ž.R*;—~Žÿîù/'ÒNðcå+ޝà¿{ÿ«4k7ñn" /@"‘ð­ÿ¯Jã\}b5_îþRé|©™©,>¶˜èähÖ[‹NÙKýµæ-¢“£Õ:À®ww©½–Öã,¬Àµû×eÑÉÑ [3Œ=£÷`að,I_‘~®hÛUÑO‚P’¢2224‰ ¼|¬Œ­þu{sTåþl‚ðªiÚ´)§OŸÖt‚ <åhæ(Þ“¡š˜››caaARRR¹<áEi4Y–““”¾Ü_ñÙ]ÙÙÙ€¥,÷W|v@ö“§cäÁmö/cŒä>7þŒJ¸néÓë.½PÛŽjŽ¿¼§ãϸ’ã/ïé=/áZŠ—Õ+RRßÕ-Š©¦bQç>êëP¿ “»a,{/ïåì'gÑÓÖSªãQǃwßÅßÑG3Gç?æÂ­ |¹ëK"ŽDðîëï"•”¾OÞóΦŸeÑÑEèkë3©í$:7茎T‡È+‘ÌØ;ƒmç¶ÑÍ«oz¾IRF3÷ÍDK¢Å¨ÀQôkÒ;S;Ò2ÓØ}i·R¬êÄéïèOÂäÌn@ s Ë*ï-xíþ5¦ï™Ž©ž)“ÛN¦M½6˜˜qõÞUæFÍeÇ…,‹]V©aU9víÍš3·ç\<ëz’žÎ—»¾$:9š-g·0Ü8P±~®hÛ¯B? ¯.ccctuu¹wCA„jU¿~}þøãM‡!‚ 5ÂÍͤ¤$M‡!ÔM–ÙÛÛpâÄ •cÄÇÇ+•988 ‘H`Ö¬Y¥¶ëééYáX*Û¶D"©PûÇŽ#// ÅgggÀñãÇKÜÐ0&&xÖ§EâââT²î±±±Š˜ž¿ŽòöM{‘X^6öæOÇßÕÆ_añ©Ï?ó§cÄ5€Y}Ê#6••l[íñ÷´ýcIÇÈ“å¡#­àø3{zÏSŽSPX ºÔ]òÓ{nþÜøK‰SYV169V“â:¨Àø«d,BÍ›Þq: / âp7²n+ËU:ž–™†³¹³Úíí¸°€Þø€a͆)Ê{6ꉖD‹·~ÌöóÛyÓóM¶œÝ‚¬@Æ{-ßSÌ ¨W§ãZŒSj·*âÜ|f3ùùÌì<“.¯uQ”{Ôõ ¬G±©±ì¹´§Ü$ÐóI¸ªda`Á¾ ˺Z¸òÅ›_ÐeQ.ܺ ¨W‘~®hÛUÕO‚P 1³LAø×«_¿>iiidggcl,–°AþÝÜÜÜHNNÖtB- U~•êcee…qqq|óÍ7ò=±>ûì3”êשS‡àà`âââ¸té-[¶¤M›6ŠvíÚU©åüª³mϪjÕª‰‰‰¼óÎ;J_ädggó¿ÿýOqý%±²²ÂÏÏ .0yòdòòòyr!<<œ={ö`kk‹ÒëfΜ©Hޤ¤¤0~¼|jxÇŽåE°˽–ÊÆò²±2±ÂÇɇ¸«q|ó×7>ù|¶é3n=7þŒë\?˜¸”8.¥_¢e½–´iÐFñãRÇ…]gwUj9¿êl䳪Zy¶"ñv"ï,{‡Œ‡ÅÆß“lþ·ýŠë/‰•‰~Î~\¸yÉ&“'+vÏ÷…³çÜlÍlñqznümŸ©HޤÜMaüê§ã¯a±ñ§ÿtüÝVcüU2¡f‡í޹ IDATe>Î$ty(Ë/'å^ŠJ Tgÿ•'9#€víTŽ•¥ÜKäË-tiÐE¥nuÄyùÎe&l@ƒÙ ¨?«>õgÕÇs–' f7àvömn<¸Qn;Õ©‘m#•ýÀœÌ€g³[¡bý\Ѷ_…~^m–––"Y&‚ üëÕ¯_ŸÂÂB•ïLAáßÈÖÖ–ôôtM‡!ÔY0cÆ zôèÁÔ©S ÃÅÅ…¤¤$îÝ»‡··7§OŸF*}¶L×¼yó b̘1|òÉ'¸»»£¯¯Orr²âÍ´iÓ*­Â3·ª»m€°aÍ bùáå¬]K=«zHµ¤\¸yÜü\&u™¤2K«¸Ù}gÓñÇŽ|·ë;G-¦žU=®f\UÄ6»Ïl´µžŽ~ˆ§'zÚzŠsù:ù2  Øøsz:þVŒáç¿ÆP×_'_–2þ*‹P³6œÞÀ¬t¬ß‘ƒ>ÄÅÂm$ _ìú‚Õ'VWºmugTªS·ªâ,J6—µ¤gI‰¸çUçžeúÚú*eE³:KR‘~V·íªê'A(©©)YYYšCAª•££#\¾|___M‡#‚ ÕÊÆÆF$Ë„¡Ñ™eÝ»wgÙ²eXZZrëÖ-bbb(((`åÊ•Še‹/+иqcŽ=J×®]yøð!ñññ=z”ôôt<==™5k–b¬ŠªÎ¶Až:xð o¼ñ?æìÙ³œ:u }}}>ÿüs¥¤`IÚ·o϶mÛððð ##ƒ˜˜ÒÓÓ±··gÅŠ 6Lå5sçÎ¥gÏž\¼x‘S§N‘››KûöíÙ±c‡Òµ´jÕŠáÇ“——GLL ‘‘‘œyHüµxŽ&%=+OkOfõ™…®v%Ç_5¶ ÐÔ¹)'ä 7xœ÷˜³×Ïr*õú:ú|Þíór÷ŽjïÕžmnÃÃÚƒŒ‡Ä$Çž•޽¹=+F­`X‹ÆßÀ¹ôôíÉÅ›9•zŠÜü\Ú{µgÇG;”®¥•g+†·Nž,˜ä"/EròZ㯱5ë꽫L žˆ—µ†:†H$re¹I9R©6]-]ø;áo•cÿ$þ€‹… €"T´¤`UÅ)AB¾,_¥¼è|Ë.#arB‰?±Ū¼îeT‘~®¨S? /'##£JïÉ*‚ ¯ ‰D‚½½=ׯ_×t(‚ ‚Pílmm¹ÿ>Wl…"A¨¨—bêÅ[o½ÅÀ9sæ 6¤  € &àêêª2“«Aƒlß¾ÌÌL(((ÀÕÕ+++¥z£G¦sçÎxxx¨œ³è˜››[•· 0`ÀüýýUžòòóó#**Šôôt’’’033ÃÃÃCíÙj]»v¥k×®$$$žžŽ¥¥%¯½öZ©3LLLظq#iii\½zœU÷Þ‘H$,]º”Y³f‘˜˜È“'O077/óZÔ¥2÷¡&½Õâ- äÌõ§ãÏ®!…LX3×:®*3¹Ø6`ûøídæd’p+‚Â\ë¸beòÜi=šÎ;ãa]Âu?=æV÷¹ñWm €¿«?¾NÏ?g?¢&E‘ž•NÒ$Ì Ìð°öP{¶ZWï®tõîJ­Ò³Ò±4²ä5Û2ÆŸ¾ ßÛHÚý4®Þ½Šƒ…Ζ¥Œ¿K™ÕwÖÿ³wŸQkÇÿôÞ¤IUAE#vEÅh{‰[ì‰æzãsM±×D½Ñ«±Ü=jT,X°wÅFl ‚ÒQ) ïî®®»ÀÒç÷E™3;ç™Ù]v9Ï™"“"ÉÌÉÄTߴо¨KIž¡ôlŒó÷Œ[wuß´ûS=S"’#Xvaž–lSÖnnÝXsy +/­Ä@Ç€®u»¢¥¡Åù¨óÌ;1€înÝüýµ~»ük®¬A’'a@£Ô2ªÅ£´G?޶¦6cš)vœ¦z¦D¤Dû,;;ÙlÌ~ýXsy ßø–)¦àåäE ƒ¤½N#:5šÃ¡‡±2´ªÔ=ËTUœq.®²'A(ˆ¾¾>/_¾¬ì0A¡ÜÙÚÚ_Ùa‚ B¹³²² 11‡’ݼ+ª¨ɲeË–1nÜ8<==xþü9'N$11‘ñãÇø8š6mZàqgggœ‹}¬´mØÛÛcoo_àq+++Ù½$\]] LÔ)ckk+›©WKKK…}ÙŠêKQ±”æy¨ËN,c\»qxÖþßë/ã9·O$ñy"ã;òúÓ3¡©C!¯‘šÎ8×, ß…+mÛöæöØ›òú3¶Âʸ¯?K×uÊØšÚbkªÂëÏÈRa_¶¢úRT,¥y„’ëU¿«Vã{Çß;¾²rCC>©û 'ÂO»ÍV Ûb,믭gö±ÙÌ>6[îxO÷ž|R÷œÌ˜öñ4œZÀšËkXsy\Ý´ùG‰âlU»‡Bññš7ûymº–µ[2ßg>3Ídê‘©Jãߪàß'UIqƹ¸Í«Í8 U“¾¾¾¸Ë^Aø ØÚÚUÙa‚ B¹“NbINNÉ2¡\U‰dÙÌ™3ùñÇe3¬"""xõꆆ†üðÕžPÍÍô›É{”ͰŠHŒàUÖ+ u ùÁG¼þ¡$¬­ùsÈŸ,>»˜à„`ÔÕÔijהソ—KJ×Ô§âféÆŸÿIxJ8¹y¹8[83ÀcŸ7•_~sd³‘Ô­Y— ×7p3þ&ÙØ›ÚÓµnWÆ´S¢8§wšNNnWb¯ö:¼¼<Ù±Aáf鯆k¸öðO_=Å\ßG3Gz¸÷ Oƒ>%îwE+Î8Wu'¡ê100àÕ«W•† ”ZÔ“(fÁ§>åSO˽íò<Ÿ åÃÖÖ– .Tv‚Pm%§'ó~ÿG—z]ÕlTe‡ó^äJØ´— .ð"óf|öÑg¸[ºWvhÂ{ÎØØ@ìO-”»*‘,›2e Ë—/'$$DVÖ¨Q#Ö®][©Ëó †)]¦°üärB½õú³kÄÚkÅò|‚P„5Ÿ®)𘇵ùS¡|êÇS™ú±ü¬¢ )ÔSVЯa?ú5ì§R|­ZÓÚ¡u¡uŠgMڬ귪À¶Y7byŸå*ÅVQt4u¸ÿãýbSeœKÚvU'¡zÐ××/v²ÌÃöoß^NQ•6mÚDhh(nnnŒ3†nݺUJ}€ØØX¶lÙB@@=";;›š5kbiiIëÖ­éÖ­nnn¥éöéeÖK®=¼F+‡V²²°ä0æŸË ÆƒèÛ°o™¶­¬L„ªÍ‚§OŸë1üñ‹-bÛ¶m´lÙ²œ"+ÉÉɬ\¹’3gΜœŒ……ü1“'OÆÜܼÂëH$8€¿¿?wïÞ%55,--qvvÆÇLJ?þ}}ý2¡âeJ2¹öðukÖ­ìPÞ ™9™ŒÞ9šk¯ÉÊ.<¸ÀŽ›;XÜcq©¾»‚®®.ÚÚÚU>YD¿~ý˜4i“&MªìpJ%>>žÓ§OsêÔ)®^½Jvv66l }ûö>&00•+WrûömrssiР'NÄËË«LêW„*‘,›3g3fÌ ::šäädlllÄ”ÊR*jO5á9½ç0£ç ¢S¢I~‘Œ© âõWEí©&‚ åAOO¯ÚîY¶bÅ V¬X!WvóæM¾þúk~øá¾øâ‹ ­°eË~úé'$‰\y\\qqqܸqƒÕ«WsçÎqá°˜œ-œÙ6t¶&o–±~‘ù‚k¯ÑÖ©m%F&BUajjÊ«W¯ÈÎÎVyô÷Ebb"ýû÷'11Q®lÇŽ\¸p={ö`aaQaõ˜0aÁÁÁråÏž=ãÙ³g„‡‡sôèQÆŽËÔ©Ê—„êl奕\{xZFµøÚëk¬¬9y–­7¶2íÈ4ZÔn!Û3\JÂÈȨJ$Ë€ŸŸóæÍC"‘Я_?vìØÁ7 •]hœ2e îî©UØXUÚ´¬Ý;»ÊE„*ÊÔÔÈOÖ¨jܸqÜ¿¿ÊÏ*ûå—_HLL¤Y³føùù̱cÇøä“Oˆ‹‹cÉ’%Z?##ƒ±cÇŒóçÏçÌ™3„„„pãÆ Ž=Êÿû_z÷îA¹ T59¹9l¿¹ u 6ÞÌg?£½s{f}2‹MG%Ébûͪý}[¨úŒ«D²¬0Ü¿ÿ½ŸUùË=>œ7òÙgŸZ7;;›3f ‘H3f ׯ_çÆLž<™¼¼qâDBBB8vì'Nœ OŸ>%ª_‘D²LAA¨444ÈÉÉò@7n$<<œôôtlmmi×®_|ñVVV²Ç¼»gÙ_|Á™3g <Ǽyó:t¨ìçk×®ñÇpãÆ ÒÓÓ©U«]»vå믿.³þOž<ÀÝ]qsôúõëpõêÕ «æÌRSSiÚ´i‘w~¶ßÜÎÜãs‘ä½IÔž:ÏŸ7þä'ŸŸÐhêjêŒh:‚[0qßDöŒØƒž–‹Ï,Æï®?vükck@q±øçñ„&åï%—G\Zœ\ Ï2žÑ̒᷼_†ôhØQÖ_[Ï®Ïw‰Yj‚PÍðâÅ RSSY»v-'Nœ 11\]]>|8]»v•Íð}wÏ2éÞ*©Q£W®\‘ýüòåKÖ­[Ç‘#Gˆ‹‹CSS&L˜Pfû‹deeñâÅ ìììd‰,)œ¹zõ*·nÝ¢mÛ¶å^Þ\0œ1c†\¢ìCt3þ&_ú~IjFª\ùž = l<…Ýù7‰\{x CCFïÍå˜Ë²ºY9YË‘äpäþ¾=ø-Ù’lYù¹¨slÜÌÌÎ3e‰¨ÂΑ#ÉQùЧï_¦™Fn^®¬loÐ^þÕþ_ u_g¿.p3é±úVõeeoÇ8n÷8.E¿¹Ùåxøq<}@߆}¶})/ß,wvøÞaÖ\O{çöJûz5öÍ÷²Ó÷O³7h/ ÿ 3=ù×´2?Ÿú™à„à"ëI-鵤Èåï?Éß«º±Mc…cö¦ö˜ê™õ$Jås ‚2ÚÚÚdeeqþüyÆŒÃôéÓiРË–-ãîÝ»8;;³ÿ~víÚÅ´iÓXµj>>>rmHýöÛo|òÉ'rí5iÒ„ÿûß¡££CÇŽ™>}ºì•Õ«W³lÙ2–-[&û?Àýû÷•îYövûîîî,]º”{÷îabbÂðáÃe7nÙ²…­[·“'OVXŠ0//___víÚEXX‰'''̰aÃ*mEëׯ(MnõéÓ‡cÇŽqíÚ5ÙñâÖ¯H"Y&‚ ‚ T šššH$Μ9£°ÇVdd$‘‘‘$$$°jÕª·_·î›‹#;vì`Ö¬YäååÉÊâââX¿~=ìÚµ =½ü„Ȉ#Pù\ÇŽÃÅ%ÿÎ\éżÐÐP…z!!!@þRŠRå]ÿæÍ›²?0?d7âo0çøôµõÚd(­£­¡MpB072óØLZ9´ÂÎÄ7K7æûÌç»Cß1ãè –öZÊ‘{GØx}#]êva\Ëqž§oƒ¾é1ïÄ<6Hß}åŽgK²ÑÒÐbl‹±Ô·ª…¾Ï3Ÿs5æ*;ní`ÅÅü»Ç¿Ë{8A¨@Ò}ʲ³³;v,wîÜ‘ËÈÈ %%…+W®àïï/÷ÙUÒ& ÛàÁƒ‰ˆˆ•effråÊ®^½Ê’%Kdµ¤û¹¨ªGüúë¯@þÅPHMM•Kheff•Á=::š¶mÛ–{ýçÏŸ‰­[·V¹OÕQzf:öLàÙëgômØooLtMˆ}Ë¦ë›Ø}{7­k·¦wƒÞ²Çœ:¡Ž!S:LÁÝÊ]M]ÙÍ"ÊŽ=Ï|Îw‡¾#[’O=|Ü|ÐR×â\Ô9vßÙÍü“óij×T.!UØ9Šòèù#f›En^.ý=úó±ëÇHr%¹w„ÿœÿO™Ýù¨ó˜ë›3½Ótœ-œ OgåÅ•üqíNß?‰?tüS]SNGžfÇÍ,»°L–,{·¯ß{Ouxüâ1ë®®#òI$ N.`i¯¥EÆr/ù×^S9öŒìŒ"뤾ÊOžÖ4T>ËÕÒÐ’ðäp2²3T~ná]ššš²#nܸÁ¢E‹d+‹äææôP•ñË/¿È–õÏÈÈ`ß¾}ÄÅűcÇŽRµ pëÖ-¹x322X²d :::$''³víZYݨ¨(þïÿþGGGÙ yyyL™2???¹vïݻǜ9s å§Ÿ~’•׫WOåUWÞ½9¦¸bbb”~ßpss“«S’úI$ËAA„jA:³ìäÉ“|ûí· 8SSSâââ¸téR‘_º×­[§PÏðáÃùá‡hÖ¬>dîܹóã?âí퉉 ±±±üúë¯9r„Í›7—É2„íÚµcáÂ…lݺºw¦&gÏžå×_EMMMnýþò®Ÿœœ €âL¥+V°bÅ ¹²Ù³góù矗zª¢ ×6›—ˆAð´õ”•wtíÈG¶1zçh†ä«Ö_Яa?þŽû›¿ný…¥¡%ÛonÇÁÌ¡ÈD–­‰­ì ‰-kËï7d¦oÆ‘±G8qœsQçxòò‰ìŽ|m m–e·A¨¤É²¤¤$îܹƒ‹‹ ÿþ÷¿©[·.™™™DDD°yófÔÕ Þª^º·Ê»~ýõWX½zµ¬lÑ¢EDDDеkW&L˜€««+™™™\¼x‘Ù³g3oÞ<ºté"»I¤4ÚµkÇÑ£Gùꫯ˜9s&...ÄÇdzdÉRRògß¼xñ¢BêK¶±±Q:–®®®r?›ššX=çî¿»Ÿ'¯ž0¥Ã&´–ÿ~ÓÝ­;þÛ½Á{å’eyä±uðV¹å3s2 <öû•ßyóZn–@×z]±6²æ×‹¿²óöNæv™[è9Tuàî²$YŒn>šé¦ËÊ{¸÷àûÃß³7ho±ÛTFS]“Ãwboj@çddg°ââ ÔÕÔùkø_hªç_¢íèÚ‘„‚‚ÈÉÍ‘•C~_· Þ"—,ìæÖOÖ~ÂáÐÃÌ÷™_ärŒS;Nåy¦êû>5« Í®×PÓPz\Zž“›£ô¸ ¨BKK‹ìì73N9ÂÀùòË/©]»6Ê_ª:pàC‡eìØ±XYYq÷î]&OžÌõë× ÅÝ݉'Ò²eKÌäÉ“™8q¢Êí>|˜Ñ£G3jÔ(ÌÍÍ9wîß|ó +V¬ 77—… Ò©S'ÔÕÕùí·ßX¿~=6là—_~ò÷Œöóó£^½z|ÿý÷4nÜ‚ƒƒ™7o;wîdÀ€4iÒ¤TãPÒå1ML—~—–½ý9\ÜúI$ËAA„jA:³¬V­Z@þÒ}\œœœprr*ìáJ%&&2räH¾ùæ¹e<öïßONN ,[ÃÕÕ•åË—ȉ'ä–Õ(©ºuë2räH6oÞÌœ9s˜3gŽìXÇŽ¹yó&V_xãöãÛh¨i°üÂr ÿŽÏ<ògæHò/E>‰”{̬Ofq7ñ.ë®®CWS—ÕýVc¨Sº%;“Ó“²mˆÂòŒR/2+çMAÊ4Y¦­­®®.}ôç/¦§§GóæÍiÞ¼y±Û]³f çÎcË–-²ÄWVV¤N:¬ZµJ¶Ì“žž={ö$--Ù³gsýúuÚ·oO³fÍ”&áTõÝwßqåÊå–`ÒÔÔ¤G:tHn©©ò®/ä»õè'ÂO ›YŸGžìÿï~æ¹Õt+0‰¥ìؽ¤{ n¬83qH“!üzñWBågÂvŽ¢„%‡0°Ñ@…c ,³d™‡µ‡,Q&åf™?{¢k½®r 1w+wn?¾Mâ‹DlMlß”[ºË%ÊÌôÌè\§3¾w|¹ŸrŸFÖ ¥¤cUi‚îÝå ¥¤åúÚ•·¯šðþ{7YöÑGñóÏ?—Ùïk///æÍ›'û¹iÓ¦|ùå—Ì™3‡{÷î)]²¾8Ú·oÏôéo’ò>>>tîÜ™£G2mÚ4|ó{èûï¿g×®]rŸ¥¾¾¾hhh°qãF,--eåÍ›7gÙ²eøøøpòäIY²,,,¬TñÇÛ+­¨r¬¸õ+R©’eáááDDD`oo_teA(gk×®Å××·²Ã>Ož<¡N:•† ‚ðéÒ£GæÚµkôèу:аaC6lH³fÍdU‘’’ˆ#˜0a‚ÂzéÒe¨¾ùæ¾ùæ›7ŒòÞ\0*Ë m3gΤnݺlß¾û÷§G¯^½øòË/i×®ÖÖÖV_š€Œ‹SL̼½>ÿÆå–©Ž^e½B’'! ºà%6_g¿–ûY]M-õüס±®1VFVÊV,+.­ .-ŽÖùË_YZ¡­¡šš?úÿ(’e‚P ikkùŸ;?ÿü3³fÍ",,Œ–-[âææF‹-°µµ-¢y7nÄßߟ­[·Êí»ùðáC^¿~Íýû÷eË#½ýy'ý÷Ñ£GeÑ5Ø·oË—/çÒ¥K<þ\v'ý±cÇ077¯ú5jÔàñãÇäææ*Ì.{ûBfeÜÍ_‘^e½òo)ˆ¶¦¶ÜϵŒjXWÙ1é¬3S=S…c&º&¨©©Éê¨rŽ¢¼ÎÉÿŒ6ÖUÜ‹ÎDWqÆCa$¹/w¦¬-i‚¬°cïÎÄRçÛm¼;6ʔǞeÒãÑ©Ñ Ç2s2yôüV†VÎ<UhiiÉ-ÃØ¶mÛ2ý{«U«V eÒœÇË—ÊÁÅÑ¢E …2›ü÷λ7·hhh`ee%›Ý ùJ$Úµk”ïçpqI÷QMKKS8&]¡DZ§$õ+’˜Y&T•yA¡råå塦¦†¡¡![·n%<<œ«W¯rïÞ=|}}yúô)sæÌ¡GE¶•ššÊˆ#1b P8.]¿°uà¥ëÝCéö,“úì³Ïøì³ÏäÊ8@Æ Ú(¯úMš4aãÆœ:uŠqã ÞgëC`mlM–$‹ß?ý uå€ÌõÍå~^xz!7âoÐýþ÷ü™|`2m@]­à¥ÒÔÈ¿ ì;ïíG·1Õ3eóàÍrí¼Ê~Erz2ºZºÅíš ï 555z÷îM§N"øÓ IDAT¸|ù2AAAøûû3kÖ,ZµjŲeËä_Ù¶m»wïfÛ¶m Ë"I?óòòò ýÜ“Þñ_š=ˤìííYºTqÿ¥™3gŠŸcåUߨØ"##¹zõê½o™µqþ3s»Ìŵ†«Ò:ïÎ*ìB¶²c–†ù³%î<¾ƒƒ™ƒÜ± „ òòòn2)ÍÅrKƒüóÝM¼«t JR¨/MV=}õTáXxJx‰ãPUxr¸lŸÒ·=ÎU•pÊcÏ2él¶s‘çäJä¾]xpœÜÙ>ãMŠ’››+÷~75ULªÃ›ß Êö0{ýúµB™”ŽŽNm•Å5çÂÚ/èØÛ}PåïÏ·gÞUäžeù¿¯ÃÃÃñôô”;vïÞ=¹:%©_‘J•,«[·.uëÖe÷îÝe ”ˆššãÇgÙ²e•Šðx{z´ ‚P5deeÉî´‡7ßU¥&NœÈ”)SðòòRº>ºTZZ#GŽdàÀ 6Lii"kóæÍ´mÛ¶ŒzP‰dñ™ÅeWAR^¦0ÿä|ftž¶†6yyyl Üĵ‡×¨mZ[î9)HyìYfml§­'7âoðŸóÿaJ‡)¨©©‘˜žÈ¢Ó‹è]¿w­Bá233 L½ÍÂÂÈŸý®Ë—/—:é cUQeÅÅÅ…»wïPå>‡š7oÎï¿ÿŽŸŸŸÂÍ2~~~€ü̺âÖ¯Hbf™ ‚ ‚P-dgg£­­ÍÔ©S©U«:uÂÁÁ---ˆˆˆ ;;›ÄÄÄ“eéééŒ=šîÝ»3zôèÏÕ¯_?Ö¬Y÷ß~+KÀÕ¨Qƒ´´4¢££9|ø0VVVe²gÀâÅ‹qpp }ûöXXXÊâÅ‹ ÇÝÝ]!ùUžõõôô˜:u*ßÿ=Ó¦Mãï¿ÿfÀ€Ô«W===RSS ãÔ©S@Ù.GYÕŒk9Ž'Ø~s;»nïÂÑÜ##’Ó“yüâ1’\ mò/¤ýxøGÍYÔ=ÿÂÑäö“¹óø«VãiëYè@' 'ô´ôØ´—à„`Luó/l¶N®¸þð:}6õ‘]X|ðôzZzؚظ‡ˆ ï/i²,>>žqãÆ1pà@4h€••Ïž=ãøñã€ò‹…oóóócÍš5lÛ¶M¶ä໤{“íÝ»—É“'3räHœÑÑÑ!..Ž[·n±cǶoߎ¶¶v©÷,{ðà+V¬`äȑԫWôôt:Ä’%KøöÛo+´þˆ#Ø¿?aaaôîÝ› &жm[¬¬¬ÈÊÊ"!!sçΑ‘‘Qå.`–¥ö-Øx »oïæã5cojO ƒ<ýœ¸´82s2ßj<=Ü‹žÁ_Ž.iåЊ+1Wè½±7ŽfŽhihù$’lI6ujÔa@#Åÿ¥9_Û&ÜŒ¿‰Ï:œ-œ‘äJˆN¦^Íz$¦'*+üýVZ..øÞñåPè!Íyüâ1ÉéÉLñž¢Rå±gÀÿÈÐmCùýÊïøÝõÃÊЊ{É÷ÈÌɤ™]3|êù݈ "33SîÆÈ‚H·LÙ´i“l?Ï””¶lÙ‰'J‡ôïÈëׯóìÙ3•xeaàÀ2bľþúk>úè#ŒŒŒHJJ"<<___† F›6m€ŠÝ³¬mÛ¶ØØØpýúu~þùg¾úê+455Ù²e ÇŽÃÌÌŒO>ù¤Äõ+’H– ‚ ¥’‘Á©û§ˆ{G–$‹^õ{¡®¦Žß]?Ú;·ç#›du»ü–†–|êñi%F,¨¢²ž«ç¯Ÿ³)p¬áíâ]éñ”§‚úTœ÷” /++ ---ؽ{7+W®T¨S¿~}\]•/0~üxîܹÃ;wdÍÞ6oÞ<†Š££#óçÏgæÌ™L:µÀ¶ÊÊ£GX·nB¹µµ5«W¯FCC£Bë÷ïߟ´´4-Z„¯¯oûÆvéÒEa¿·êD_KŸCwð˹_Ø´—û)o.›ê™Ò·A_Ôj@FvÿÜ÷OrórYÝ5†:ùK¢©«©³¬÷2zoìÍ·¿åÀèÞÁ­«©Ë´§±àÔ“å—zÝb4ž>`×]„&…àláÌÒžK™yl¦H– B5$M–ijjröìYΞ=«PGMM^½zØF@@ßÿ=‰Dé,é·—eš>}:¡¡¡{(KiihÑÝ­;=ë÷,UûjjjüþéïÌ?9Ÿ}Aûˆ| ä^v©Û…ù>óÑÕ,»ÙÒꬰŽïÇ™ûgdŸ¯íœÚ1Å{ }6*~‡ùºí×D¤DpñÁEBCPSS£»[w&´š@¯¿ßÊ‚“¹ßyÇTÿ©Üy|##¦~<•înE¯Pž/µ´´X°`_|ñ6l`Æ ²zjjjÌ;}}}YYqëW$‘,AJìYÆ3únêK\Zœ¬¬a­†hªk²ââ ŒtŒä.ìÿ7à¿xÔò¨V ꪲž«ç™ÏYqqÃ=‡Ë%˪ãkGYŸŠûžäIg–-^¼___Nž<ɃÈËËÃÆÆF-[:C™•Ï7hÐ ÜÜÜØ°a×®]ãéÓ§˜››ãèèH=Ê4I4uêTÌÍÍ9sæ IIIX[[Ó¥K&L˜ t–\y×=z4;vdëÖ­ðèÑ#²²²¨Y³&Íš5cРAJ7Ê®n u ™Ûe.3:Í òI$ÙÔ2ª…•‘•lÿ°'¯ž0§Ë,ô-öy1×7gçðĥő›—¿³…3Û†nÃÖÄV®î&CèÓ°‘)‘dädÈ.Lk¨iðS·ŸøÎû;bRc0Ö5ÆÉÜ €> ÈÌÉ”µ¡¬í‚Î'BÕ%M–yxx°~ýz|}} ")) 3336lȨQ£ Ýc+,,Låe¤LLLdË5>|˜¨¨(òòò°µµ¥iÓ¦ 4H¥‹˜ªpvvfåÊ•lÙ²…444hÔ¨£FÂÛÛ»ÂëØØØ°oß>üüü8|ø0wïÞåÙ³gèëëãììL§N6lÆÆÆe2U•ºš:cšat³ÑÄ<‹áé«§˜ë›ckl+·––†Û†nÃLOqYÏÂŽh°¨û"fvžIÔ“(rÉÅÁÔS=Óbµ£*S=SÖ XGbz"Òaed…± ™9™lºMa0c]c6}¶‰¸´8’Ò“°3±ÃÒÐ’×9¯Ù6t›ÜÞg…Åèiëɶ¡Ûp4wT86ªù(º¹uSºYç:éðÏD¤D›—KÝšuÑÖ(z¶MEðvñæÜWçˆ|IzV:v&vÔ0P>cUŠKÕdÀÂ… 166æÄ‰dddP¿~}¾ûî;¢££K,ÓÐÐ`õêÕ,Z´ˆ»wï’‘Qô¾~eAMMŋӡCvîÜIpp0¯^½¢V­Z¸¹¹Ñ¿ÿJÛ }ûölÛ¶+Vpûömrssiذ!'NÄËË«Ôõ+ŠZ^)ný‘îO ö,*›ššß|óسL¨0åýû/11‘ôôt•êúû2i’÷ïG–K,…YuiË/,§‰mZÕn…–†V¡³`<–zàQ˃íöWx¬BñTÖL®¸´8¼óf¸çpæt™Séñ”'e}*î{ê}SÞ¿¯Ö¬YÃîÝ»eËÿ ޝ¿Î¿˜´r¥ârI‚ •ÅÕÕ…+éÞ]µïõÅBïÞ½9}ú4µk½O‘P}TæßBåÈÌɤÁ’t®Ó™5Ÿ®©ìpA©òþ>ÞµkWzõêÅ?ÿùÏri_¨¬¬¬044,éÃw‹™e‚ B‰E=à÷OÇ\ß\îØ$¯I•’PF¾jýUe‡ §ªÅS”õI¼§J'++K¥uìAá}'Y¦«[vKÒ Buñ…ï¼Ì,| bÖ P\‚Z„ª©83Ë¡¤*4YöóÏ?cccèQ£*ò´å¢:õ¥$ÞÇþÿüóUll 5ªae‡RjÕ©/%ñ¡÷¿*ˆ|ÉáÐÃ'°)pšêŠ)Å™œÌÍø›¤g¥cehE—Xè[ÈŽKò$¬¾´g gzº÷$òI$\$K’EÛ&4³k¦´Ý§¯žríá5bScÑÔФnº´vl†šFm‡&†r%ö êjêx»xã`æäïÃp)ú¡I¡jÒµ^W…„†ªý©,ªŒ<“K’'! :€ðäp$¹\j¸àåè…Žfñ¿´¾ÌzÉ©ˆS_íýŠOÈ=ÞÊЊ•ýVâië©rÌAƒørÏ—$§'ËÊjÖdÏ¥õË#=-=NEœ"êiëtÆ@Û@îøå˜Ë,=·”ñ­ÆËÊJòzHŽ`uÀjYݱ-Æ¢¥¡%×§’¾§Ê2žê@ºg™ ‚ Tw ˜ššŠ ‡‚ Äºë侟†ºF¡Ç«’²ÚŸMÞgéééèëëWvB5W¡É²iÓ¦accS‘§,7Õ©/™7oÞÞÞJ“eïcÿ§Mk…AÑßÕ©/™7/oo{¥É²¡ÿU³…3“¼&q(ôQO¢øG›ÈÍ‚‰IÁï®_‘íHr%|áûAƒ°3±£s;LtMˆIádÄI¦™†k W¹äÀ­G·8}ÿ4œ;P§FÓñõg×í]ôtïIÇ6²º\ÀÒÐ’&¶M°5±%3'“ФP®Ä\áûÃß³ûsù=çnÆßäôýÓt®Óg g“Ã9y–YÇfѾ!I! h4S=S.>¸È½¤{,=·”ÿöÿo‰û£Ì¾à}D¨ô\ôpï¡ÒNÅ·edg0v÷XâÓâ±1¶¡ƒK´Ôµ¸}‰È'‘|±û ŽŒ;‚¥¡e‘q¼ÌzÉø=ãINOÆÉÜ /'/$¹ÎEcªÿT•ú\Vñ j<ˆÙÇgs(ôŸ5þLîØî;ùã1°qþ…%y~oÆßädÄIÚ9µÃÝÊ]M]¥‰©’¼§Ê3ž÷Uvv¶˜Y&‚ |¨U«Ve‡!URA«Ž¼¯ÔÕÔiY»ee‡!•&==ŒŒ ,-‹¾Þ ¥Qáɲê¢:õ¥$ÞÇþO›V}¾XT§¾”ćÞÿªÀÅÂ…I^“I !êIÛL”[öî|Ôy•’eÇÃô8ˆ^õ{±¤ç¹»û‚1`Ë6^ßȯ}~••?yõ„ßúÿFç:eeíœÚñÝ¡ï8yV.Y6·Ë\œ-œ¹s…ÇÏ£­¡M û¤¼LáfüMR3Rå’LO3žòÇÀ?èàÜAV6íÈ4vÝÞE`\ Ǿ8†•aþ¦µÙí³é²® g"Ï——‡ššZ‰ú£L¿†ýŠõ^AKA¾«¸ãñ¶ƒ!‰O‹ÇÓ֓̓7£§¥@Nnßø}ÃѰ£l¿¹oÚ}Sd‡B‘”žD;§v¬°V–¬ÉÈÎàóŸóôÕÓ"Û(«xú4èâ3‹Øu{—\²,íuÇÃÓ¾ŽfŽ@É_¯K{-UºÌãÛJòž*ÏxÞWYYYâ{Aი˜(’e‚ Â!99Ešš5kVr$BuW%ö,ËÉÉáÔ©S#‘Hpss£K—.nTû÷ßsùòež?Ž­­-ݺu“Ë,çää°`ÁÜÜÜW99¹œ:Kpp I.nnté‮®ò·Çß'rùò#ž?ÏÂÖÖnÝœ°´Ô—koÁ‚+¸¹™3x°÷î=åøñh23%´nmƒ——­Òv_¼ÈâàÁHbbžcggDß¾®H$y,_þ7-ZÔ¢{wçûRÒsªÒŸ¢¨2~ïÆwëVgÏ>D"ÉÃËË––-­euccŸ³aC0¹¹yDE¥1gΛÙ5£F5ÀÑѤTÏeiÆJ({—¢/ ¯¥Ïš+kdË*æåå‘GƺÆ=’{L}Ëúr‰2oo’Ò“äÊo=ºÅè£ÉÉÍQzþ'/ŸÈ%‡X5K”´ulˮۻøÔãSY¢ ò—Âhaß‚=A{H~™Œ¥¡e‰ú£L¿†ýЬSŷ݈¿Àÿµû?Yb @S]“)ÞS8v”¿ãþ–•o»¹'/ŸÈµ1Ìsú܈Ëoëk¯¯åf5éié1±ÍD¾ðý¢È¾”e<>õ|ؼðäpêÖ¬ €ß]?2s2Ôx¬~Iž_'s§rKLUµxª‚ŒŒ ‘,A> 888Tv‚ ‚Pî¤É21³L(o•¾gYHHýúõ#<<\®®­­-»ví¢M›73:t(§OŸ–««¯¯ÏªU«=z4ŸŒ™;w.}úô!&&†©S§Êík3nÜ8Ö­['×F`` ½zõ"!!AVfmmÍï¿ÿÎܹs™8q¢B²ìí¾”äœªö§0ªŽßÛñݹs‡… ÊÕ>|87nDSS“ØØXæÎ Àƒdÿðöö–%ËJú\–d¬Ê‚²}®BBžÐ¯ß~ÂÃS߉Ù]»zӦ͛¥&_1tè!NŸŽ•««¯¯ÅªU=úMâjîÜúôq%&æ9S§žç­î1nœëÖu•k#00^½ö‘ðRVfmmÀï¿waîÜ&NlòN²L¾/%9§ªý)Œªã÷v|wî$³páU¹úÇ×gãF45Õ‰}Áܹù ²Òdÿðö¶ÿ_²¬äÏeIÆJ(?ÒD;oïTù1ÖÆÖ eúZù Þ·“@Wb®°ôÜR´5´é\§3fèk룆\àfüMróråÚ©e¤xw®4SرŒìŒ÷G™òس¬$ãñ¶´×iÔ6­­pÌÞÄ555že<“•ýù÷ŸD¤DÈÕó©çƒ…¾…¬-;;ŶLí íGyÄ3¨ñ öïc÷ÝLï4È_‚ÑHÇ7Yý’<¿ŽæŽ*×-®ªOUššŠ••UÑAá=—@‹-*; AA(wIIIhhh`f&öíÊW…&ËÞõêÕ+ºwïNLL µkצ[·nhkksòäIBCCéÙ³'wïÞÅÚÚ‰DBÏž= ÄÑÑ‘®]»bffFdd$~~~Œ7wwwZµj%kÿÊ•+}ú@ݺuéÒ¥ 999;vŒqãÆ«Oªž³$ý)ÍøIàçç'‹ïáÇìÝ»—?ÿü“:uê0kÖ,j×®ÍìÙ³™7oŽŽŽr{–9::–Y,ªŽUyyõ*›îÝ÷óœÚµéÖÍ mm NžŒ!4ô ={îåîÝÑX[ ‘äѳç^pt4¡kWGÌÌt‰Œ|†Ÿß}Æ;†»»­Z½Ý¿G<I·nÎ4h`A||:»w‡ñÇA ìN§Nùx_¼È¢OŸý$$¼¤n]3ºtq$''—cÇ¢7îX±ú¤ê9KÒŸÒŒŸT@À#üüîÓ­› ÔàáÃìÝΟ†P§Ž³fµ¦vm#fÏnüy8:šÈíYæèh\f±¨:VBù2Ñ3`X“aXX(­£«©|–qQÎDž`U¿U|ìú±Ü±Ð¤ÐµY”²êOyìYVÚñ0ÑÍï[ì³X…„Öô‡äååaªg*+Þt¸ÂL.é˜HÛŠK‹SØSLÕ$aYÆÓܾ9ÎÎì ÞÇ÷Þß–Fhb(Ã<‡É=_%y~5ÔÊoãðªOUššŠ››[e‡!‚ å*77WìY&‚ |0’““±°°@]]½²Cª¹JM–mß¾˜˜Ú´iÃñãÇ10È¿Í!Cسg¿ýöóæÍcïÞ½2dȶnÝŠ†Æ›‹=´nÝšåË—ó×_ÉÊ“’’Ø·o}ú¼Yn¨k×®Œ9Y2fÇŽ}\ßêŸ##GÁß?J–ŒÙ±ã¥ããㄟ__´µó_ ¯^eóÉ'»IJz¥rŸT=gIúSšñ“JN~ŦMÝ9òMìêÕÇxyí`Ù²@¦MkIíÚÆÌ™Ó† .ãìlœ9mÎ]±¨:VBùj]»5»oïF’'áŸmÿ‰ºšüŸäôd¿x\¢¶ÕÔò_׆:†råWb®p:â´²‡”ZYõ§<ö,+íxxÚzâ{Ç—•Wâië)›U'É“ðŸsÿ ©]SYýaM†Ü–'{‚ö°òâJ…=ËV¬.2–²Ž``£,>³˜“'¹{@n F(ß×kITµxª‚ÔÔTLMM‹®(‚ ﱘ˜222¨W¯^e‡"‚ å.99Y,Á(TˆJM–äß5?wî\Yr@KK‹… ²gÏ.]ÊßãäÉ“²páBù}9òò055%00P®ý&MšÈ%bÙRŠ=’•]¾|€Y³fÉe¿âôéÓéÑ£‡Ê}Rõœ%éÏ»Š3~RuêÔ‘K”´lÙ’¾}ûâëëKHH5R¹¿¥‰EÕ±*/ñÌÛV–\ÐÒRgáÂvìÙÎ¥KùuNžŒÀÐP›… ¯¾õ|ñ¿çK‡ÀÀ¹ö›4±’KIJ¥=J—•]¾œß×Y³ZËe¿âôé­èÑc¯Ê}Rõœ%éÏ»Š3~Ruê˜É%ÊZ¶´¦o_W|}à yB£FÅ߬³$±¨:VBùêQ¿›7ñ×­¿¸ðàmÛ`¡oÁó×ωNæZì5ƶK#ëâÿ^jbÓ€ñ¾ãñ©çƒ™¾)œ‹<‡¹¾9)/Sʺ;eÖŸòس¬´ãÑ«~/V¬&0.Ÿ?|èàÜ- -.E_â~Ê}LtMÚd¨J±ôtïɯ~åƒ t_ß/'/rór9yV¶¤eQÊ2€þýYzn)[ÿÞJhR(î–î4°’ÿ}Už¯×’¨jñT©©©biA¡Ú ECCƒ:uêTv(‚ ‚Pî’““©Y³ø× ¡¸*5Y–šš¿·³³³Â1gggÔÔÔxú4?éF~ÅÙËÊÞ^qßCÃü;ê³³³âP¶Ä`AË–öœ%éÏ»Š3~RNNNJÛ’–KÛ¬ˆXT«ò’šúúñ)ÞîìlŠš<}š_'99ÿâíºuwTnßÞÞH¡ÌÐðÍŒ§wãpt4Q¨¯¬¬,ÎY’þ¼«8ã'å䤼?Òri›‹ªc%”/ 5 ÖZχàôýÓì¾½[¡U‰/ôw­×•^õ{q0ä »ï¼!Í× IDATiw`ãi±áú†RÅ®Lyö§´J;zZz¬¸ž¯ö~ѧØ~s»ì˜¥¡%+û®TXR± Úüþéï|¹çK<}Àƒ§¨aPƒŸ»ýÌ„=Šl£,ã°Ð· SN Ë_þö³>S¨S՞ߪOeËÎÎæåË—"Y&‚ T{¡¡¡8;;£§§WÙ¡‚ B¹‹ÅÝݽ²Ã>•š,“^ÌˆŠŠRH²DEE‘——‡¹¹¹\Ýüãf’õõõKGtt´ÜžZÒ²òPý)ÎøI=xð@i[Òò’^`*I,•ÍÌ,—¨¨g8;Ë'q¢¢ž‘—ææºruÿñ¨YSùó¢¯_²·“´íèè4¹=µ¤eå¡,úSœñ“zð@y¤åÒ6‹«$±e£gýžÔ·ª¦†üëÅÁÌI^“hbÛD®ümþ¡À0Ó3c퀵D>‰$0.§¯žb®oŽ£™#Íìš¡¡ž?ãRSC“I^“p¶PLÊK¹ÖŸ-¸¬÷2†6JpB0jjj4µmЇµ\ÄPÇP¶ÏSam;™;1Ék’Ò¤ƒ·‹7æúæ²ý³ŠÓŸÊ êx€òçʵ†+G¿8Ê¥—OG’'ÁÙÜ™öÎíÑÑÔ)V,Öœüò$§"Nñèù#¬Œ¬è\§3yyyJÇ»¼ãøgÛR¯fþrF½ë÷VZ§,^¯…õ©¸ï©²Œç}'½qG,Ã(T´ÌœL–_XΑ{Gxüâ1’\ wþu}-Õÿ6 zD¿Íý˜ä5‰I^“ ,A€üdYýúõ+; A(3K=ð¨åÁöaÛ‹®\m—çùA({÷ïß§woå£ BYªÔdY›6mظq#sçÎ¥M›6²äPNN3fÌ mÛü=†:uêĆ ÈÉÉaÖ¬Y ú%$$ððáÃÅѺuk6mÚÄ‚ Ø¿?ZZù³K^¿~ÍÂ… KÚ½B•EŠ3~RlÞ¼Yaϲýû÷cjj*÷…[WWWa6XYÆRÙÚ´±eãÆ`æÎ  MôõóŸ÷œœ\f̸@Û¶¶têT› ‚ÈÉÉeÖ¬Ö¨««Éµ•ð’‡_”(ŽÖ­mØ´)˜ ®°_´´ò_ ¯_ç°páÕ’v¯Peџ⌟TDD*›7ßUسlÿþû˜šêP¿þ› õººš ³ÁÊ2¡lôtW¾¯ôÂþ»¾jýUm¹X¸àbáRàq 5/v¬¹}sšÛ7—+óròÂËÉK¥ÇK“eÊx»xãíâ­ôXQý©,ªŒü\i¨iÐÞ¹=íÛ—:mz7PüÂ[œ×NYÆãn鎻¥jw«•æõ*¥¬OÅ}O•e<ï;éw1³L¨hk®¬aÝÕ’¯ñ> Œ d🃙Ü~2ÛL¬ìpი1c*; A(Wõþ]–µ[²eð–ÊE„J”˜˜HZZuëÖ­ìP„@¥&ˆÊ‚ ¸xñ"õë×§[·nhkksòäIBBB033㫯ò/$ 4ˆåË—³víZŽ;F§N°²²"55•ˆˆΟ?Ï·ß~KóæÍ‹8«¢!C†0{ölüýýñðð K—.H$Ž=JzzþÞEjjjE´RŽo¿mFóæµŠÇ!nÌž} ÿ(<<6Ñ¥‹#I.G> ==9Ê2~ù•IŠ3~R5kê3jÔvî¼GÆ5ˆ}ÁÞ½áäää2yr345ß$]]M¹y3‰Ï?÷ÇÉÉuu5Fj tiÊ’Ä"‚ T/Ò™eUm&»PýŒ8‰‘޾#|q2wB]M½è ‚ ”PJJ IIIb9*¡Z úWPe‡ Bä_§„òV©É2}}}üýýéׯááá¬Y³FvÌÆÆ†]»vÉ–EÔÔÔÄßߟ1cÆpðàA6lß[ÅÖÖ–-Z”(###öïßOïÞ½ #,, €Zµj±téR>ÿüs Šh¥xÊ¢?Å?©6mÚàææÆâÅ‹9r䈬|ذaL›6M®îäÉ“=z4þù§¬ÌÛÛ[i²¬$±T6}}-üý?¥_¿ý„‡§²fÍmÙ1Cvíê%[QSSÿO3æ(F²aƒü9[[CZ´(YÿŒŒ´Ù¿¿/½{ï#,ì)aaùwÆ×ªeÀÒ¥Þ|þ¹?Z%ì¥reџ⌟T›66¸¹™³xñ5Žy³$è°aîL›ÖR®îäÉÍ=úþ"+óö¶Wš,+I,‚ BõòìÙ3ÔÕÕ166®ìP„Ìãçq¶p®’³‰A¨~._¾Œ††7®ìPA¡ÜEDDP³fM±‚ˆP!*4Y6mÚ4llläÊêׯÏÝ»w9yò$ÁÁÁH$êÕ«‡ººò{ Õ¨QƒpïÞ=.\¸@rr25kÖ¤N:´k× ÿíË¡©ÉìÙ³qssSˆAzìÝõ½[¶lIDDàáÇØÙÙѧO:€½½}¡})É9UíOaŠ3~R‹-bРAœ;wŽÜÜ\Ú¶mK«V­ê9OOOΞ=Kjj*¹¹¹²DYižË’ŒUY˜6­66ò “úõ-¸{w4'OÆœ‚D’G½zæøø8¢«+ÿö¨QCúqïÞS.\ˆ#99ƒš5õ¨SÇŒvíìÐÐPû_Ô™=» nnŠw¶K½½Ü @Ë–ÖDDŒãÀû<|ø;;#úôqåСHìí íKIΩj Sœñ“Z´¨=ƒÕãܹ8rsóhÛÖ–V­s#G6ÀÓÓŠ³gcIMÍ$77GGc¥ý/N,%+A¡êKMMÅÈÈH¥ïO‚Pœ\À¦ÀM<Ëx†ë¢ü»]‡4Âü®ó¸þð:;níàVü-¿xŒ¡¶!Ml›0¾ÕxšÚ5-Ñy_ç¼f핵=ÌÃgÑÖÔÆ£–_¶ú’vNíäêæåå±7x/¾w|¹—tI®—. þh0 @CMCå8W¬fÙùe,;¿Lö€û?Þ—Ï÷Ž/»îì",) Iž's'4˜aM†•ùjª:už1»Æ0½ÓtšØ6áßgþMPB:š:ttéÈôNÓ1Õ“ßïPÕq.IÛUuœ„÷Ã¥K—ðôôÄÐа²C>P×^ã«p#þé™éÔ2ªE×z]ùºí×êä¿.×\^Ã’sKø¢åüÐñÙcsór»k,£/²nÀ:Ù’öoï!&]ò :@öù °mè6ZÖnItj4ÛnlãRô%bScÑP× nͺ ùhý=úWÜ`‚Pî"""ÄŒB…©ðd™Ò 45ñññÁÇÇG¥vÜÜÜ”&ZÞnoΜ9Å:‚ƒƒÇ—•¥¤¤0oÞ<Úµ“ÿÃóݾ”äœREõ§(Å?OOO<==‹¬çáᇇ‡ByižËÒŒUi¼;séÍ9ÕññqÂÇÇI¥vÜÜÌ•&ZÞnoΜ6Å:òc†“$LIÉ`޼˴kg'Wÿݾ”äœREõ§(Å?OO+<=­Š¬çáQ å¥y.K3V‚ BÕ•˜˜ˆ¥¥ee‡!2ÉéÉ Ù6D®,5#•Ó÷OsîÿÙ»ó°(«öãßaXÙTPAE@WÈ}Ã}ßMÍåÕÒÜÚLÓÊ~ffei©¹¦o[îk*¦¨H"‚)ˆ² .,¢€0Ìï^F'våþ\×{½pžóœç>ghfœ{žsßòdóÈÍÙjHæ'M•Æ›ÛÞä5mOUO9vž w.0·û\Fº22S÷MåàõƒZcøGûãí½…=mÚ[œjµšf°÷Ú^­ö±7øòØ—\¹Î¼^óòÇå{Tª|ûT6­Ì….¨/€ÿ]~8ýOUOHNKæ÷€ß‰Hˆ`먭š~…YçÂŽ]\ë$ʯsçÎ1|øp]‡!Ê©­¾[ùâØ¨ÕjM[DBë¼×áêÅŽÑ;010aR«IøFú²æâÜíÜé^·;ËÏ-ç¯Ûñ^›÷r­ý\wM$äAˆV›o¤/¾‘¾Ä&Å2¹õä"-„([‚‚‚pww×u¢œÐé6ŒeÉ¡C‡˜?>]ºtÁÁÁ¨¨(çÁã¨ÔÏî˜ ¼˜ÇÙ9;týË.íºfFfLi7…ؤX¶]ÙÆŸÁ2Üm8{ü÷°tÀRÚ:´ÕŒÑ¨Z#U{¶sDqŹËJ=%ÞØ€Ù³»<›×hÎý~¤çÚžœ¸y"ß$Pà'…_—‚jW»_õøJó{Sû¦Ll5‘/}É{74 ­Â¬saÇ.®uåÓÙ³g177§aƺE”CüAzF:ßôü†^õziÚ+;³¤ÿ|"|8t\sW—¹±9+¯dè/C™¼{2÷ßÃÆÌ†ûÿˆžBï…b™Û}.«Î¯bõùÕD'FkîêÍ™IMËš/t !„L³fÍtŠ('$Yö?½zõ"""‚“'O‚R©ÄÝÝ:¼{ÆçU'Lè^¯^µ‰ˆ˜ÌÉ“w ‰G©ÔÃÝ݆jð üùåY'L!„(ÑÑÑtìØQ×a¡q9ò2£~Eš*-Çã)é)…3,. KKMçy;³íÊ6Ââ¸õàÆZ‰²’Œóæ½›¨2T´ÿ)sûzµZµæg€¨Ä¨URZÕÌ^§¹†efmêÇOkÚ ³Î…ûeX'QvyzzÒ¦M©Ï)tâæý›LÝ7•©û¦jž³Ô¨5?+ÐþÃÕÆ•™gòå±/ÑSè±vôZ¬+¼Øç ) þe0щѹöII+ük¬¢ì¹xñ"UªT¡ví‚—~âEH²ì9––– üj-ÉZ`¢xXZ1xp]‡Q"¤˜Bˆ’¤R©¸{÷.Õ«W×u(Bh¬>¿š4USÚMa`ÃØšÙb¨4D¡PÐ}Mw>yX¤qÿýAdY‰3Cg½±ÜrÏ+ÉšeFúFÙÚ²Öóùú;Ï·÷ØÅµN¢ü‰åüùó,]ºTסˆrª Ï_ÿ¾Ã+CÁ‰›'4?_»{-Ç/"ÆnÿÝD'FÓ½nw>h÷µ¬ja¢o‚B¡`öÑÙlõÝšÿ Bˆ—‚··7-Z´Ðu¢‘d™B!„x©EGG“žžNÍš²ÝŽ(;ÂãélZ™)í¦hµß‰¿CèÃPÌÍ =f-«Z\‰º‚_”Mª7Ñ:vúÖiM§JN\ ¿„W¨mrÿÒRaâÌÚ6+§J*9q-æ^ï{QѨb¡çV–f ëUZ'QºþøãÌÌÌèܹ³®Cå”S%'6 ß”ï]ËY–]ÆÙÛg™ÔjgBÎðÍŸßШZ#Wkœï¹ ¤«Ò³µß‰»ÀôÓ51Af¢îBXÁ¿@!„(ÛT*—/_fÆŒºE”#/¶I°B!„:@­ZEûðZˆ’Pݼ:ž<à׿åQê#¥>âô­Ó¼½ãmÍ·ó «·ko>Üû!§o&)5‰»î²âÜ ¶]Ù†¡Ò.Î]Ü(sÇŒ©û¦²Ýo;wÝ%9-™€»Ì:< ïpïBÇialÀ¥ðKÄ'ÇkÚd(ÉiÉŒÙ6†“Á'yøä!iª4""9|Š÷~¯P¯|çøI Á3ƒ ô¿ÂÜUV…YçÂ*®uåÏÞ½{éÓ§†††ºE”Sƒ B©PòѾØé·“èÄhÒTiÜ|ŸæŸËêó«5ý=CÏOæŸËÜãs5íõmëS·J]b“b =æè×FsäÆ.G^füÎñÙŽÞõsª˜UàõF¯ãyË“#G˜uxV¶¾Y ¡ÂÄé`倭™-çÃÎÓlé³BëÁ3ƒÜp0Þw¼Ùí¿›‰»&æÿMÞ(ôœu¡0ë\X¯Ò:‰Ò@`` óæÍÓu(¢s°ràëž_3ûèl>;üYŽ}&µš@dB$Ó÷O§jŪüØÿGôzÔ´¬É}`òîÉLß?µCעȣH{«š­8pýW?»›rËÈ-ô«ß•^+Ùuu»®îÒ332£[Ýn:^L3Bè’··7ÖÖÖ899åßYˆb"É2!„/äFì ¶øn!<>œ§éOù¸ãÇè)ôXpjcš¡§KOMßq;ÆáhíÈç]?/јJë:º›ËÉà“x†x’œ@ÿýî6<ǾI©I :Æ•¨+D$D`¤oDÛ¼Þèuª™WËñœÄ”D¶]ÙFà½@R°3·£ƒS:;ç¾å*CÅÉà“x…y•EZFUL«`cfCëZ­iY³%J=)D/JNhh¨}eN×:]YÜo1?_üY³a—:]˜Ñaon{³Hc( øeÄ/ü|ág\?@x|8†JCUkÄÄ–ñpôÐôÕSè±|àrv\ÝÁN¿Þ D©§Ä©’Ã݆ӪV«BÇ©ÔS²rðJ柜ϵ˜k$§%kŽ) ôY@§l¿²€»yþ¥{R«I|Üñãl}ý¢üùÛHRÓS³310áÇþ?ÒµNW­öË‘—™¸kbŽÛ¢ttêȪÁ«0Pd»ÎGû?",.,׸­+XsæÝ3ëç;Gñj+©ç«±cÇbcc Šu\ñòøà[–/Ñq$BñŒ³³Ë–ÅлwÁÞ×ç$11Þ{ï=&L˜PŒÑ‰—•.ÿý'„¹)Î÷ã>¤uëÖ,]º”ž={æ‚ÿckk‹™™YQOßùBw–=xð€ˆˆ¦M›ö"ÃQ,Nœ8!‹¢Ôøùùaoo¯ë0tn—ÿ.Ò3Òy«Ù[ttêˆÒ—*.@浬tS?hý°õ˜ùű̊MŠ¥Ši:9uÂÄÀ„>sí›ô4 ¥}]ûÒ¸Zcì,ìxøä![|·àåÇŒ38óÎÌÍ5çÌ<4“øäxšÙ7c„û,M,¹sŸ/þÌé[§Ùve£›ŽÖô¸À¨ßF‘’žB-«Z l0z6õ010áþãûÄ$Åp>ì<çCϹ>HÛ¶r'†BˆWϯ¿þŠB¡`øðœwB!^5GŽÁÐÐ:è:QμP²ìæÍ›DDD°dÉ’âŠGˆ"  @×aˆr$999ÿN¯¸ˆø¦yLÃÔÐTëXËšº+ÂÚ¼Fs]»$Íê2‹*¦UP( <’g²Ì­º?¸ˆ‘¾‘V{¿úý¸q ÷ñ‰ðÑl¯›KȃlÌlØ4|“漎°³°cÚ¾i\¸sA“,S«Õ||àcRÒSx½ÑëÌë5}½ìo+&µšD\rœÜU&JL||<±±±Ô«WOס!„Å*99™M›61fÌ*V¬¨ëp„BˆRqøða:uꄉ‰‰®CåÌ %ËZµÊÜç^¶aº–¹ív`˜®CåÆPþ÷X.ùDø°Øs1A÷ƒ¿s< ²ï#ýïše¹IHI`×Õ]øFú’ô4 [3[z¸ôÈV'+6)–Wwt/ˆ¤Ô$ì-íiçÐŽ®uºjícýïše =r9âr®×»åÛtqîRèxJ›™Mûþ;y™Å@i@‡6Þ DͳíM 2ß„ÚV´Í–`s°rÐêàæÅÍû7©aY#×DY–çëQÜþùç\\\t‰BQ¼¶oßNrr2o¾Y´:‡B!ÄËæáÇx{{³téR]‡"Ê¡J– !„(ŸâžÄáî­ùýRø¥ûu«Û-ß±|#}™¸k"qÉqZí»ýw3´ÉP¾ëõA÷‚¶yI©Ú5¶\Þ°&Ãø¶×·Zñ¤¤¥h~¼¨ï¿ý§é O^¾ýó[îüN×…ýRݼzû¿(ÿhŒôhj×TÓVѨ"­jµâRø%NŸÔ$SÒSXsq Ýê<{%ž ÒÑ©#Æ܉¿ÃÆKÙé·“Ö5[Ó¿A¶]ÙFRj:2°á@,-‰Hˆàìí³>>lܸQסˆrJ’eB!tæJÔŽÇ+Ì µ:³†–µæç[n0Â}¿üÎÄ]Øp «6ĥРFúF˜›øš*µŠ÷~HeÓÊ|ÙýË"Ç“W[×ÇSZ\?ÀŒý3èìÜ™¥–¢§ÐÓ:ž¡Îà­íoq)ü}\ûнnw*U$,.ŒM>›xkû[,ì» h–÷ßÏv­ÁÓ²fKß8ÌæË›Kxv¢¼züø1!!!4nÜXס!„Åæ»ï¾£R¥JL˜0Aס!„¥fÆ 8::Ò¦M]‡"Ê)I– !„Й'OŸàí—kCýÌ;—j[׿Ĥì»¶¯P/Ö{¯'*1ŠvµÛñIÇOp®ìœïõ2ÔLß7c}cæõœ‡B¡(r³X“,«oS€óaçé>R«¿½…=ööüóOILI®^½JFFMš4Ñu(B!D±ðññáàÁƒ¬^½##£üOB!^ 8p€™3gfû¬FˆÒ"É2!„:SͱcalÁ覣Ýt4±I±LÞ=™1ÛÆpjò)­­ ÿM­V3óÐLTj‹ú,ʽòX” IDATvgUQâÉMYªY¶Òk%?žù‘>®}XÜ1J…2Ç~áñá8UrÊv¬R…JXšX™‰J­B©PÒ¥N¾:ñÇp7€†U–؄ȟŸ666ØÚÚê:!„¢ÀT*zzzÙ> LMMeöìÙxxxÐ¥KE'„B”¾­[·b``À AƒtŠ(Ç$YVÌ.\ÈÇÌ©S§èرc¡ÏŸ9s& ,À××77·üOBˆ—X—lòÙÄÞk{YØo!5-kjŽ©Ô*ŽG•¡`£ÏFêU©G«Z­4}¬L¬032#6:–иÐlµÉ²¨ÕjfMBr+¯D©—s¨0ñä¥,Ô,S«Õ|{ò[6\ÚÀ€ø¾Ï÷¹&Êì,ìØá·ƒ^õzi’fª }6›KÕŠU5cؘÙ0¦éÖy¯ã­ío1«Ë,úºöÅ@i 3)5‰àûÁÅ>7!²øúúâîî®ë0„BˆBÙ³g|þùçZíóçÏçîÝ»¬Y³FG‘ !„¥O¥R±mÛ6† B… tŽ(Ç$Y&„BgZÔhÁÐ&CÙ鷓Ϋ;Sò•M+“˜’HDB©é©Lj5‰>®}ð¼åÉ7'¾ÁÔДš–51Ô7$äARaeb¥•Øú·oþü†mW¶ánçΘ­c²»åÛtqîR¨xòRR5ËNŸbÍÅÌO&?`ß?ûðô »KwÞjöGƒŽ²áÒ Q‰QŒÞ::Ûxcš¡§KOÚ×nS%'n=¸Eϵ=q´vÄÌÐŒð„p>ɼָã´Îÿ¸ãÇ܉¿Ãñ ã||àcf™MmëÚ˜˜ŸOD|OUO±·°§u­Ö%²&¢üÊÈÈÀÇLJ)S¦è:!„¢ÀÒÓÓY¶lÑÑј˜˜0}út<==Ù¼y3‹-ÂÞÞ^ÇQ !„¥çàÁƒDGGóŸÿüGסˆrN’eÅlÆŒ̘1C×a!ÄKc^ÏyÔ©\‡µ×®ÙÐ@i@ïz½é[¿/c›%CW˜×c¯kÎoY³%ÿ×åÿ010Éõ{ü÷h’Jÿ–uÂÄ£ ÷ß˶½ctb4щÑÔ­RWÓžšž dÞav)üRŽãu«ÛMó³Ò€_FüÂÜcsù3øOn=¸¥9V©B%&·žÌØæcµÎ××Óç§A?±Û7}6r#ö†ÖcckfË0·a¼Ýüm̌̊8k!rvýúuhÙ²¥®C‚»îòWÈ_Ü}t5jÞiýÞáÞüñ7#ÜFPŬ ¹}ð¶+ÛhY³%-kÊßîËLKQT¿ÿþ;111šºdC‡eÆŒ¼þúëôïß_Ç ‘·§ª§œ >IX\©é©ô«ßÚÖµ 5ƪó«°1³áõF¯çÙ&„xõ¥§§³dÉ DÍš¹ ZˆÒ É2!„Eö‘ÇGŒm>Vkë=€ÆÕ³eäjYÕÒj_?l}¶¤‰žBqÍÇ1¶ÙXÂâÃxøä!Ö¬±3·Ó×ÃÑGž¤=!,. µZM5ójX™Xe‹ëß×Y3tMžÛ'>ÿ»‚Æ£ :²eä–\ÛV|V·©­CÛ<ûÙ[3[~üI©I„Æ…’šžŠ•‰Ö9ÖxP( i<„!‡—GTbOÓŸRŬ öò­hQr.^¼ˆ¥¥%uëÖÍ¿³%èRø%Æí§Ur|Ëñx…zñß ÿ¥[ÝnšdYÌ£–]Æ”vS$Áò’“ÇREÖ]ejµÈüRÓ’%K8qâ–––|ñÅ:ŽPˆ¼%¥&1pã@BãB5m «6,t²ì'¯ŸhTµ‘Vb,§6][~v9ö–ö j(5”„()[¶l!&&Fv e‚$ËŠYn5ËÂÃÃùꫯ8rä111X[[Ó¹sg¾øâ êÕ«—ãX+W®dÙ²e„……Q½zuÆÇÌ™3Ñ×—‡MQ6<'Óó,M,süà¨y湎¥P(p°rÀÁÊ!ÏkV0¨€«MÞÛþû:Íì›åÙÿEâ)M6f6ؘÙ¨oeÓÊT6­\¤ë˜™Ñ°jÃBŸgeb•còRˆ’páÂZ´hž^Ή\!J˲³ËHNK¦w½Þ8VrDO¡‡žmÚ`¤oDå E{.e›mE[I”‰BÛ³g111šdY–€€&L˜ uZD™÷›ïo„Æ…ânçN«š­0P:Qö2Yᵂ–5[J²LˆòäÉV­ZŘ1c¨^½øk¹ QX’u)·oߦU«VÄÆÆjÚbbbغu+àäÉ“4k¦ýAî‚ ضm›Ö³gÏ&00_ýµÔbB!„(kÒÒÒ¸páŸ}ö™®C‚[ná\Ù™e—iµ·uhK[‡¶:ŠJ”43¦´“o@‹‚û÷]eÿ¶fÍjÔ¨ÁÈ‘#K92! îæý›ü÷õÿb]ÁZÇÑ!^vk×®åéÓ§Lš4IסH²¬T|øá‡ÄÆÆâááÁâÅ‹quu%44”Ù³g³gÏ&L˜€¯¯vÝ»w³hÑ"FŒ±±1GŽáý÷ßgóæÍ¼õÖ[téÒEG³B!„Ð-ooožyˆw¸7wâî ¯Ô§n庴vhR¡,òµUj^¡^Ý B•¡Â©²íÚåúzr=æ:—#/ó(õ5­jÒ¦V,M,µúägTb»®î"CÁ¸;Z¯ñƒ ÖÚn>àn¾‘¾$=MÂÖÌ–N¨T¡R‘çû¢Tj+ϭı’#}]ûrëÁ-ÎÞ>ËSÕSÜíÜsÝu¥ ë\Ô±¡ì­“Ð½ØØXÖ­[Ç;#¥¥eþ'Q $YVÂ?~ÌáDZ±±aÿþý˜››P¿~}¶oߎ››W®\!((H«æÆÔ©Sùè£4¿1•JÅèÑ£Ùµk—$Ë„BQn9s'''ìììtŠ(Ç΄œa£ÏFb’brM–=_³,7~Q~|¸÷C""´Ú«™WcÕàUšDMX\ËÎ.ÃÄÀ„ÕçWsâæ M_¥ž’ïz}ÇàFƒ5mOÒž0q×D.„]ÈvMGVZ‰‰‰ÖØFúF,ùk goŸÕô]么­£¶’¦JcÜŽqÜ}tWs¬mvŒÞ¡õaZAç“—åg—£&÷¤Âó*T`|ËñùöËš£¡ÒPkŽ l0Ümx¡Ö+·šeW¢®ðѾ¸Gë|{ {6¼±A³]YaóÜb/‡üî*{Þ¬Y³¨X±"={ö,…È„(˜!Z¯s?yý€c%GM²ìë_³Õw+OUOµÎu°r`ÍÐ5EÚ®1ø~0ïìy‡ÛokµÛšÙ²|Ðr^³{MÓv/éÓLÇ+ÔK«¯©¡) ú, §KÏÇ•¥™oDB„ÖÜ[Öl‰½…=÷ßgÚ¾iœ;¯5މ sºÍaHã!ùÎï÷€ß /ÀJdÝtt¾ÛÞ§«ÒYvv]ët%2!’…ž µž{†5Æ·½¾Õ:§ ë\”±‹cÄË->>>ÇdØœ9s°¶¶æÍ7ßÔATBäL’e%,44”ôôtÚ·o¯I”eÑ××§G\»vàà`­dY=²•õf988¸dƒB!„(ÃΜ9#w• ópôÀÜØœÕçWcebÅnoh?zŽ¿#þÎwœÈ„HÆîKbJ"Mª7¡Iµ&êp7€ a˜°kÇ'ÇÌÈLsÎúKëIJMb@ƒØV´åÚÝkœ =ÇœcsèV·›æ.°Ç©¹v†UâjãJeÓÊ$¦&â}Ç›3!gXéµ’fhųÞ{=)é)¼Þèu¬*Xqîö9®Ç^gα9D%Da¨4d”û(”zJ^?ȵ˜kl»²7›½Yäùäd…× Tª=•M+(Yöüú=yú„~õûQÓ²&U+V-òz=ïNüÞÚþI©IØYØÑÆ¡ ÆÜzp‹¿Bþ"*1ŠÚÖµ‹ü˜ç³x9ìÚµ‹{÷îåš,S(( ÌÌÌ;v,­Zµ*å…È›c%G¦´›Âëy»mÞÕÜY–å¯Ûacfƒ»;vv¤¦§r=ö:Â.ðÉÁOØ9zg¡®™œ–ÌÛ;ß&2!’êæÕéàÔ=Î…žãÖƒ[LØ9ÃãccfCzF:ãvŽãzÌuL MéìÜ™jæÕˆLˆä\è9þ‰ùG“,+HœÕÍ«3¥Ý–Ÿ[޹ÖQì,ìPe¨˜°kþÑþØ[ØÓÞ±=ƄŅqâæ þïðÿá\Ù·ênyÎñ÷€ß³%÷òÒǵOkD_‰ºÂÉà“tpì@ÊuˆIŠáÐõCìðÛA_×¾´qhSèu.ìØÅµNâå¥R©2dï½÷ƒ=«ý·oß>Nœ8Á† 011Ña„Bh“dY)Q(Å6FqŒ%„Bñ2 åæÍ›Ì;WסˆrÎÃÑG6\Ú@ÕŠU³Õ¯JMO-P²ìç ?“˜’ÈÜîsõÚ(­c}6ò͉oØ÷Ï>Fº?«c”¦JãðøÃZÛ@Í<4“]Wwq)ü;`fdÆÎÑ;©hT‘¿#ÿæÁã( èY¯'#8|2[òGš#ãPͼªŽ*z¯íW¨mÚ°vèZ •†@æ7Ü{¬éÁÉà“šdYQæ““÷Û¼_¨;Ë #9-™}c÷áXÉQ«½(ëõ¼ÕçWk’˜ó{Ï×Úž2"!B³½WQÖ(·˜EÙ§R¥±bÅŠezzz¨Õjlmm?~ÖºÛ· qf%ËVz­¤¦UÍl¯ñ‡oÆ?ÚŸ~õû±°ïB”z϶™ôögÈ/CØpiK,ÍsŽƒÊsëÂ+L¸O°jð*ºÖéªik_»=ø˜Ó·NkZ…YçÂŽ},èX±¬“xy:uŠÐÐP>þøcâãã;v,qqqÌ›7‘#GÒ®];]‡(„I–•0ôõõù믿HLLÔº»L¥RqìØ1œµÎ;zôh¶­> €““S G-„BQ69r+++š6mªëP„(^a^(J>yÈJ¯•¨Õj͇êÓ™(áþìœÁ µë¥ttêÈ®«»ˆy£iÓSè±Î{GäxíûïgkÔp&Q T(iY³%·Üb|‹ñšD@mëÚT7¯NdBä Í''´û ï/`@ƒ9&в^Ï»v=…_õø*[·ç¯¢¬Qn1‹²ïÂ…­ÄÄÄh%Ë”J%*• '''&NœHÿþýQ*‹^ÓIˆ²àJÔÆnKzFzŽÇ<~P¨dÙåÈË|ØþCM@_OŸgp$ðˆæK)YÛç~ÚéÓlu°L Mqµq-Ö8Ï…ž2¿¬±úÂjÍßjµ5jÌÍ3ŸÇó1¨á |ûU}›úZÉ,È|¯™u7³f ;vq­“xy­[·Nóš÷í·ßrïÞ=îܹƒ±±1Ÿ|ò‰®Ã"I–•0SSSzõêÅþýû8p .¤^½z„……1gÎpssÓÚ‚`É’%T­Z•‘#GbddÄ‘#GøðÃ2DöóB!DùtäÈzôè!*ŠWÆÃ'Q©U,=›û·ª¥>ÒúýùdV–¬»«žÿðoÕùU <‚ukÚ×nOÕŠU1Ô7D‚mW¶e«×丽_Ö‡g¹KLI|¡ùä¤$j–eq°rȱ½(ëõ¼ø”xlÌl054ͳ_QÖ(·˜EY—Æ‘#‹5¿éë듞žN£Fx÷ÝwéÔ©“ì#^ Â.°Ès†JCºÖéJ-«ZT0¬€Ýþ ßH_2Ô…3!%€š–5³«aQ…BA|r<ùü äû¥‚âŠóᓇl÷Û^¨9ý[IÔ,ËRÐ÷ …YçÂŽ]\ë$^NAAA\ºtIó»Z­fÍš5( Ö®]‹©iÞï—„ÐI–•‚%K–pñâEN:•í[Ðfff¬Y³&Û9ƒfúôéLŸ>]«}Ô¨QÙî8B!„("##¹víZ¶÷GB¼ÌÌÍyªzÊ„–ríã\Ù9×cy9}ë4ÆúÆXë›öjµšM>›JäCúâšOIÖ,{~¨ç½èzY[™Éã§óL˜er‹Y”uëIH¸‹B¡@OOž={2iÒ$\]]ó?Uˆ—È©[§X1h…f+à,×c¯iL c ³d ËZÇÂÂQ«ÕXšX™Ï¿!BrLúwœ&™±rE%ÓJ9ö1Ö7Îwœ’¬YVP…YçB]Lë$^Nëׯ×|I$‹Z­F¡P°yófZ¶l‰‘‘Q#Qú$YVBžÿ‡”££#>>>Ì;—#GŽƒµµ5;wfΜ9Ô«W/Ûù3gΤM›6¬X±‚°°0ììì7n3gÎ,Íi!„B”û÷ïÇÒÒ’Ö­[ë:!ŠM›ZmØî·ZVµÐ`@¶ã7boPѨb‘ÆV(è+õ1Rj±êü*RŠüáW^Šk>%Y³,7/º^­kµf»ßvæŸË·½¾E_ïÙ?·³j–U3¯V¢¹(;ÒÒÒ€yèë1rä¼ýöÛØÙÙé:,!JDÖg`fFfZíÂ.pòæÉ"ùšÝk캺‹åg—óšÝkš»œUj‹=3ïØljŸù…ôÖµZ³óêN~8ýMª7ÑJ(eÕ,sµq-tœ†JÃlwU´®Ùš~;Q©U¼ßö}ôzZÇï%Ý#úQt¾s,ÉšeU˜u.¬âZ'ñò‰gß¾}Z‰²,xzzòÖ[o±fÍÌÌÌrAÝdY1KLÌ܂ĨXû›5jÔ`íÚµùž?þ|æÏŸ€››S¦LÉç !„Bˆòaß¾}ôíÛ}}y +^ï´y‡#G˜¾:.m Iµ&T4®È½¤{ÝÂ?ÚŸõÃÖcgQøÙÝ«»ãíO¿ ý4µEþŽø›kw¯•H¢ Šo>%Y³,7/º^“ZOâÀõìñ߃÷oZ×j…‰!B8r†uÃÖQͼZ‰>æ¢ìøóÏ? |óÍ0† ‘×-ñjs¯žYdqÒ®Iôté‰U+nÞ¿‰ç-O¬+Xç[ó1'ýê÷c¥×J|"|è¹¶';` 4à\è9‚ïcalÁH÷‘ôvíÍÏæFì :­îDgçÎT­X•¨„(Άže¤ûH\m\ §ƒµÿÄüÃôýÓ©aY=…ƒ ¦Oý>lôÙȶ+Ûøëö_´qhC¥ •HLI$4.ï;Þ¼ÝâmWkœçK²fYAf «¸ÖI¼|¶mÛ†J•û*• ___FÅÆ±²*Þ;&…(*yÇVŒ"##Ù¿?º F!„ââïïOPPß}÷®C¢XÙ[Øóëˆ_™¾:w¸ uÜÕÆµÈI“)í¦p>ì<7ïßdÃ¥ èëéóuϯùÍ÷7""^8þ+Éù”´]¯š–5Y?l=íÿˆˆ„v^Ý©9foaOuóꚟ_Ö5׳gOÀ‰ b€$]‡#D‰êáÒƒ~õû±ÿŸýZÏ}C› ¥¢aEÖ_Z_è1M LX7tïìy‡Ûoó›ïošc6f6,¸3 ó¹zý°õLÝ;ïpoö]Û§ékfdF}ÛúEŠsl³±|zèSö^Û«ikY³%öö¬¶ŽO~ÊÉà“ìôÛ©už­™íK“*Ì:–R¡|eÖIœJ¥bÓ¦My&Ë sKÆ»wïâëëKçÎóì+Di‘dY1™‹™‘™ÖkÈ»mÞÍ–€É©Í¹²3G&áÜísÝ B¥Váh툇£‡ÖûoÈLìü6ê7ü£ýñò%9-™š–5iãÐFS—«°qn4˜UpñÎE’P£Ö|™ÁÊÄŠŸ‡üÌ­·ð‰ðáᓇXW°ÆÁÊföÍtVkR_©Ï”vSp¬ä˜ë±×Å,è:e첺N¢ä=z”û÷s¿›T__}}}Þ|óMÞ}÷]LMs¯ó*DiS¨Õê‚mŸƒ¡C‡°sçÎ|z¾ú&OžÌÎ;ñðð`ÕªUT­ZU×!•+™ûNo†é:Qn eÈ’{þ‹‰‰!)©`ß@=tÈŒ)Sl ¾U"±äE’eâE5YðE·/ÓtŒVÿ¼’e«Î¯bñ™ÅäöÖ§žM=Ö [‡­™ö^>9ø {ü÷äãœnsÝttæ¤ÔS²fÈ<=4m›|6ñíÉoQeäþÍ»iÓx¯Í{¹Yõù*99™víÚ1aÂ&Ož\Bщ—Ùdþw»|yîÏ'BQÚœX¶,†Þ½åÎ2Q|tùï?!„ÈMÖûñÈȶ\»v-Ûeddd0tèP>úè#¬­‹¿Ÿ¶¶¶/Ro§ÜYVLV¯^ÍêÕ«u†B”*ÿéþºA¼”zJ? ,pL MùÉë'†6Z ;®vûïf‘ç" o6{“ánéeU‹ÇOs.ô‹=s#öwNdט]š;Ì.…_bÿ ”|Üñcz¹ô¢’i%b“b ¼Ⱦkû060Îv½ç甦J#äa?œþÓ·NóƒçšdÙÞk{ùúDfRoHã!¼Ñä êV©‹ROÉÝGw¹ýà6® ‚A…¯Ï«èÀï¶y—¯ŽÅ&ŸMLn÷FÉiÉÌ?9€¹Ýçj¨641¤¯k_Ú9´càÆ\‹¹Æ¿Œzm¾‘¾Œm>–qÍÇiγ·°ÇÞž.Î]ò×@i€K–XÊkK^ãzÌuÒ3ÒIÏHgÞŸó4qe]3‹ƒ•VtrîT€UyµýöÛoôêÕ‹J•²o'„B!„B÷nß^¾¾>éééšÿoÞ¼9Ÿþ9...ºOˆ|éé:!„/¯F‹1rËH­¶ uk.®¡ë»âúƒ+VwbíŵD$Dà<ß™/}©é›šžŠó|g&ïžLlR,S÷N¥é’¦4ZÔˆ1ÛÆp=æzŽ×ý#à†ü2„Æ‹ÓpaCúoèÏ/ÿB†:#DZ#"™òÇš-m†ó|gž¤=À;Ü›‰»&Òli3ê}_Ž«:òÝÉïHJ-ÚV9/¯¸â’ãò¹¸æþ²á6; ;Ö\\£UC&'§n".9Ž&Õ›h%ÊžgibÉÌÎ3ØðlËEscs*U|á˜3· ~.®àS<|ò·ênÙeâ???üýý1b„®CB!„B‘ƒÔÔX¢£wk¶_lÚ´)¿ÿþ;¿þú«$ÊÄKCî,BQ¬æ›ÃVß­šßÃãÙj>×b®åzNbJ"ol~ƒðøpM›W¨£·æøÄãX™XiÚ矚ÏÚ‹kµÎÿ'æ¾:þ¾‘¾üØÿG­c ) ûu˜V ©ŒŒ ¶únå‹c_hÕ¯ŠHˆ`÷:¼B½Ø1zG¶÷ËRØñrŒë ¯Üb.®¹çe̶1x…zxÞG'Å©’Sû¥´ý€™‡f²æâ¦w˜žk߬»ÃzÔí‘瘜:¡¯§O@tiª4 ”´uh‹‘¾k/®Åº‚5:SŬJ¡bMÏHçöÃÛüpúT*\m]Ñ×Ó`Ó  IDATçräå̸\òŽ«¼[³f 6¤yóæºE!„B!DÂÃ×£V§ãêêÊÌ™3iÛ¶­®C¢Ð$Y&„¢ØøEù±Õw+fFfÌî:›.Î]HÏHçXÐ1¾ýóÛ\Ïó÷¦E,°”:•ë“ÃG¿À+Ô‹½×öòV³·¸sµ×b¬o̧>¥§KO ”x†xòõ‰¯ÙÿÏ~ú¸ö¡k®š±/…_ÂÝΕƒWRϦÆúƄLJ3÷ø\ÌÌ™Ùi&:babÁ¸;,=»”Ã7h{¿,E/§¸RÓSs=V\s/‹T*œç;çxì?¯ý‡/»™ã±A ±æâ6úläÍfoRÙ´rŽýî%Ý ¦UÍ<ã0Ò7ÂÆÌ†¨Ä(â’ã°1³¡†e ¾ïó=ŸùœY‡gPͼ «6Ìܺ±á@L M <'¥ž’fhÅUòFžq•g?~œÅ‹ë:!„B!„9HKKãÁOÜÝaÇŽÖÙvUâe!É2!„ÅæhÐQ>îø1¯7z]Ó>Ò}$ ) ,ò\”ãyV&Vü<äǧ̀ÌZM³»Î¦×Ú^܈½¡éwøÆaÞoû>£›ŽÖ´h0=…ÓöMãàõƒZ £ øïëÿꂵ¦í€?HÏH盞ßЫ^/M»seg–ô_‚O„ǃŽ8YV”ñrŠ+¯cÅ5÷üü2ü—÷Õ5¥ž’iÓxÿ÷÷ùÉë'¾èöE‰\§k:8vàøÍãxßñæzìuNŸäxÐqVx­`íе4°mëùz =¬L¬p·sgb«‰¼f÷Z‰Äù*Z·nÕªU£gÏžºE!„B!DT*-ZìG¡ÐG¡ˆÉÿ!Ê(I– !„(6wâîоvûlÇÚ×nŸk²¬AÕšDY–¬»mž¯÷ú0€Îγ‘Õ¦Õ^ß¶~¶dÑÍû7˜ºo*S÷MÕl¨F­ùYAÁ¿ U”ñrŠ+¯cÅ5÷²H©§$ð“À"Û£nØ6`ë•­Œo9>Ç>YÛ&fý}æ&5=•ؤX” ¥ÖÖŸfFf j8ˆA ™—k½×²âÜ ¦í›Æ‘ñGÐS<+[9eÅõüö£â™ØØXvîÜɧŸ~ŠR©Ôu8B!„B!r`llŒB!iñò{¡¿â .!·VŠ2âÿýOˆÒqႽ®C(³rJ4=_ËëßrÚ0¯dUa^w,M,³µeÕSe¨r=ï©êi¯Q”ñrŠ« Ç^tîùyYj–eQ(Lï0q;Ʊìì2†» ÏÖÇ­ºyçãÄVsëÔ­S¤g¤Ó¤z ”y^×ÌÈŒ©í§â≴?áñáÔ²ªU¨Ø_³{ —6p,èZN(Ô¹åÁªU«077gèСºE!„B!„¯¸J–Õ©SúôéS\ñQ$K–,aìØ±¸»»ë:QN¬_¿++«ü;–3Y5¡Î„œaÔk£´Ž =÷Âã;X;p*øu*×Ñ:vúÖi€%,²’;›†o¢­Ã‹-îñrR\sy8zмFs~ø5Zd;ÞÙ¹3–&–øEùñ›ïoŒt™­O|r< N-`pÃÁº®Z­æQÊ#Íù…]ÿNΰ®`o¤/Û®lË1ÑW^EGG³}ûvfÍš…±qÙ¬µ'„B!„BˆWÇ %Ë*UªD¥J•øñÇ‹+!ŠdÉ’%¸»»Ó»wo]‡"ʉC‡aff–Çr¦‡K~¾ð3 =bjhJG§Žd¨38tŒ•^+_xü^õz±úüj–Ÿ[Ž©‘)=êöÀ@iÀ™3|uü+z×Ëÿy`P£A¬>¿šö}ÄŒ3hW»•M+“’@h\(¯ÄÖ̶À5ËŠ{¼’œ{~^¦šeÏ›Þa:Ã7gù¹åÙŽ™˜ði§OùìÐgÌ96‡[n1Âmµ¬jñøécÎ…žcñ™Å„LJÓÀ¶Ú Óœ»Õw+gnŸ¡—K/êÛÖ§šy5n?¼Íš‹k ÅÄÀ„ºUê:fc}cfu™ÅôýÓ™}t6W£¯2¬É0êV©‹žB˜G1„<áàƒ4°mÀØæc‹¾@eÔ½{÷øã?xûí·ÑÓ{¶åòåË©R¥ Æ Ëãl!„B!„Bˆâ!›‰ !„(6Mª5aX“aìðÛÁŒ3´ŽõqíÃÁëóÝÞ./ lðv‹·Y罎9Gç0çè­ã}]ûÒ­n·|Çq°ràëž_3ûèl>;üYŽ}&µšTช{¼œ×Üueñ™Åüäõ³ºÌÊ–ôQe¨pžïœë¹W§_¥‚A…<ÇofߌŽð ñÌñøÐÆC¹›x—eç–±Ég›|6eëãRÅ…Ÿ‡þ¬õ7š’žÂñ ã:žëµÿ¯óÿab`’g|¹Ð`ñÉñ|{ò[vøí`‡ßŽûÕ¶®]¤ñ˺ӧO³`Á<==Y¼x1666ܸqƒÝ»wóý÷ßc`Pôç !„B!„Bˆ‚’d™BˆbõMÏo¨eU‹íW¶ý(šª«2Ò}$ª6âàõƒ˜™¿ÐøŸuþŒz6õØü÷f‚î‘¡ÎÀ±’#C atÓÑgX“aÔ³©Çzïõx‡{óðÉC¬+Xã`å@×> h0 Pq÷x9)®¹ëBV]7}½’{ë1£ã ÎÜ>“k}¼Ú}@§lòÙ„w¸7÷ßÇXߘ:•ëÐǵ#ÜG`¨4Ô:g¤ûHjXÖàhàQî•Ejz*6f6¸UwctÓÑ4¯Ñü…â~³Ù›´¯ÝžM>›8ç<щÑT­XGkGz»ö¦{Ýî/t²êäÉ“èééáããC=X´h¿üò ...ôë×O×á Q`ǃŽs4è(wÝ%##ƒõo¬ç€?ØwmßõþN³Mkȃ>?ò9¯7~×½^bñ”Öut%è^'ƒOráΞ¦?åÓNŸÒ¤z“ûF'Fs8ð07bo›‹•‰Íì›1¨Ñ \¿ˆÆÎ«; }ŠJ­¢¦eM7ŒK—\cz”úˆÃ7s9ò2÷’î¡ÔSbcfƒ…œ:QϦ^±Ì]!tíFì ¶øn!<>œ§éOù¸ãÇè)ôXpjcš¡§KOMßq;ÆáhíÈç]?×aÄ¢8Èc)„($Y&„¢Èü§ûgkÓSè1©Õ¤lwRemøüvuFúFÏ Îq켎 j8ˆA å[^çgi\­1K,ɳOad¼¢Î9Kqͽ´Ý Â@i@wí¤Ï¹÷ WË.¯þ®6®Üüôfžç7®Ö˜EýøzFúFt­Ó•®uºKŒ¹q¬äÈÜs }ÞËìéÓ§üõ×_ddd‘‘ARR'NÄÔÔ”+VhmË(DY¶Ýo;³ÏÒjËPgŽw¸7OÒžhÚ?}Œw¸7­jµ*јJë:º0`îÅ\ÓjKHIȱï&ŸM|óç7Ù¾D±ÿŸýü|ñg~þK¶z“¿üý óNÌC¥Viµo¸´Ú~Àí>Èv]Ww1ïÏyÌNMMeîܹ,_¾WWW]…'Dm»² }=}fwc%Gôz)î6GlɘÒàXÉ‘-#·`gaWê×.i±c©S¹]êtáFì Nß:kßOP­b5zÕëEÊu¨bV…!¬½¸–È„HfšÉÖQ[5ý££5‰²×½N—:]Pê)9{û,›/ofÙ¹etwé®u‡Ùß-š­‘[ÔhA—Ô°¬žBؤX¢£øóæŸÜ{|¯ÄÖD!JË.ÿ]¤g¤óV³·èèÔ¥æ9qËÈ-:yÍ¥cý°õ˜IÝv!Ä«M’eB!ŠUbJ" =²Ðsa¶c³ºÌÊ·öTYâþ£{®ßÏRѨ"¾Ó|K)¢—Ó­·HLIdb«‰ºE”!§NÂÀÀ€´´4­öôôtÂÃÃã[ާ³sg]‡'tÀ¹²3AŸé: QÆ;v,[¢,‹J¥B¥RñÍ7ßàããòeËd[FQæüú÷¯¾q˜ÄÔDžÆ=eä–‘9ö{¾fY^n?¼ÍnÿÝÝ "=#ÚÖµÒh®¶ÚwXÞˆ½Áÿ=„'„£V«©eU‹þ úÓÀ¶¦ON5ËÆí—çöI û-¤ºyõBÇSÚ²eaeb•c»½…=ŽÖŽ\½®©© `b`ããå`åÙGßDÓ¶õÊVÒTi løÿìÝwT×öÀñ/MŠt¥ƒ""‚Š(bÇÞ[,±·hb,)Æ”cŒ‰úL¢&±`LŒ±Å^Ðhì5¢ØEDDA@AEQûûƒW¯÷RQßþ¬õÖÂ3gÎì3¼paöœ³{å›(ËS¹bå"Ç-„¯š ¸ æÌáÊÝÜßéGm…ê/3=_³,?)Sð¿àϹøs¤e¦aclC§šTþ^|’ý„wÖ¿ƒ“Ÿø~ÂÆ>Jfv&õêóNƒwÔV:eçdsøÚa£¹žœû·¨›•o{¾M5ËjÇþ¸ùǬ9·†“±'ÑÖÒ¦}öôñìÀ´;¬<»’Ëw.c\Á˜~^ýhîܼDóyÙžãxßñl8¿±'HNOfiÿ¥èù~Aþ5ËR§ð÷Å¿ Ž æAƪXT¡CøVóUëWœïy~1 !DY’dY ­ZµŠ¥K—²`Á<==UŽÝ¸qƒ€€îß¿_NÑ !Dù1Ñ7á³–ŸñYËÏÊ;”&+Æ„(QQQܺu«À>:::T©R…?üPeâ•›Ëé§§5Â4y¶fY~Öž[Ë´}ÓTêd¹v„ÕÁ«ù¾ó÷ô­Û€-¡[˜¸k¢Z ®¥§—òK_èY»§J<ÏÖ,;sã éOÒ5^_W[m­§ÿ5ž‚ [7ŒìœìBû˜šó[ŸßŠÔ·4<Èx@lr,uíêb¢o¢loäÔ33¶‡mgpýÁT1¯@BZ/lÄ@×€–Õ[*ûŸº~ €>uú¼´Ø…¢<$?JVùœ;sãŒÆ~Ï×,Óä\ü9Fû&9=Y¥}sèfúyõãÇ.?¹õ?Oß8±¾1ã¶ŒãPä!eßÃQ‡Ù±ÿáþèéè)Û¯ÌÙ¸³*ãŠ<IJÓËøµ÷¯ÊÄ̳cÚ4Šc1Okﻲè¤hzÕéŵCTVï¼¼“¥ý–ÒÒåégAQçSþÀÅÛ í—çù\4yvŽ#7ŒäDì 屬ì,Ð-úýÍ5ËÎÆeÜ–q$=JzÚ k‚×ðU›¯ÕxP²ïy~1 !DY’3%K@@))êŤ €¬*B!„ÐàСCèêê’••¥vL[[›œœúöíË7ß|ƒ¡¡¡†„(à £ƒ[Fm…½©=Ó;MW9¾þüz¶_Ú^è8ÁñÁLÝ7£ F ®?/;/*èTàâí‹,ZΔ½ShRµ ŽfŽ,=½€á †Ó̹ºÚºÄ$ÇðOØ?¤>N-ð:Ëú/SYE—ÇÔ}Sù¹ûÏØšØ;ž‚œ¾qºÈɲ—½êj꾩ddgðUÛ¯TÚM LYôö">ßþ9þ耛µZhy7SSôZ R{ófêMjT®¡vfp)á’JÛìî³ ½oBñ*òqòaÍà5Ì92‡³qgY1`…J’*äf³Ï.tœ´Œ4ÆnËýÇ÷éU§­«·ÆÌÀŒë÷¯³âÌ 6…l¢i•¦¼Uû-å9G®ÁÜМ‰m&R£r Òøíøo„%„±ëò.å‹"yã÷¬Ý“†N q4säqÖcÂÂY´‚iû§©­ô:rí–F–Ln7—J.\I¼Â‚À,9½„C‘‡p4sdb›‰˜˜s(êëέcîѹÊdYIæ£ÉåÄËù¾t£I~/¿hräÚŒõù¢ÕxØx` k \I]Üûõ¬ûé÷³y ÷ÓïãeçE?¯~ؙڟϾ+û”å Jú=Ï/f!„(K’,+NNN89•O}!„BˆWÝÈÎVˆ®««‹‰‰ ?ýô­[·~ù Q U-ªRÕ¢*ºÚºW0V«ÕräÚ‘"³ìtnkYÿex;x+ÛÛ¸¶¡žC=FnÉöKÛ×tºÚº¸UvãÛߪŒ1ÂgD¡56Ÿ¯5rûÁm¾Þý5?tùN5;•(ž‚¬´Jm\~ž}àZÖ~ø™maÛø¦ý74rj¤vÜÉ܉VÕ[±áü•íÍ›ãlé¬Ò7#+€ ºÔƹ”pIíÁç£ÌÂW !Ä«ÈÂЂÆU+··mèÔ}]}åñ¼Ÿ‡…Ù¶•{îñE«/Ût¬Ê±®î]iõ[+¶\Ü¢’8ÑÕÖeÝu*ÛV5¯ÊÐuC ŽVI–­¼†S×Op-€½{ÉÌÎD¡P ¯«O|J<·ÜV¾’7ö†¡”5F[¹´"ýI:~~hki³~èztµs¶qmÃ¥Û—½JVNºÚº%š&“ÚL"5£à—^žUت²g)P°jà*Û(÷~=ëï‹s?ý>Ý:ª­\°ò÷’’Ü£‚bBˆ²ôÒ’e‡Âßߟèèhôôôðñña̘1ØØä¾™—˜˜È°aÃ066fÕªU*o߸qƒwß}V¬X®®n‘Æ|V@@›7o&** ###¼½½3f –––|ÿý÷ìß¿ŸmÛ¶aff¦rnÞ±;v`llÌçŸΖ-[øøã•ýëիǼyóò­Y–ÍúõëÙ³g XZZÒ¶m[†ŽÁÓ}w/^ÌÚµkY²d Ožhö=jõ(q<Ñ”ˆ*O …‚gðWÐ_|Õæ+FøŒPë“–À[ËßâQæ#F5E}ûúèhëz;”gVp0ò ›‡o¦z¥ê@îö‘I’¸ûð.fª÷Lé0E¹Ú/o%†Bü¯;ó<û¯ìçxìqåïƒ ʯŸÿŒñ´óT«ŸUǶ»=džlE6Ÿþó)G£æ{ýT’?žvžÊDYwkw:Õì¤L”åñ°ñ äV p0s(Ñ|4)ˤ»•»ÆñKr¿ž•·mdÞV‹ÏËû½¤$÷(¿˜…¢¬•y²,''‡‘#G²råJ•öíÛ·ãççǾ}ûðööÆÊÊŠ·ß~›Ñ£GcjjʲeËÈÌ̤_¿~søðatuu‹<&ä&¨FŒÁêÕ«Uúúûû3sæL’’’ÐÑÑ!<<œ€€…æóŽåmBLL çÏŸW믩fÙÇéܹ3*}7lØÀ¯¿þʰ¶Î-V}íÚ5رc“'OæÑ£§o ®ZµŠ 6Я_¿üoúÿKII¡U«V„„„¨Ü£M›6Q½zuµùæ]×ßߟ©S§’‘‘ûfPíÚµ‹qîå³×Ý´iS§N%33Sylùòå,X°€>ú¨Ðù !„âu°‡œœ§[Áééé¡««ËäÉ“8p`9Æ%Dùx”ùˆlE6ÇcŽçÛ'¯FH7nÔ²©ÅŽK;غ…ˆÄ2²2è^«;Ÿ·üSÓB¯—ô(‰áë‡3Âgo{¾ýBñäUªY–­ÈfâΉl½¸•Éí&3²áHýVœYAÒ£$ftžÁÀzOµumKm›ÚŒÝ<–?NþÁìn¹[Õ²®Åµ{×8yý¤2–ÇÃúéC¾¼•Bñ¿.o…mÈ­|û<¿Z÷ù—àéŠäg·Þ¶£ÑG©jQ•¡ÞC©jQ#=#´´´Xyv%{#öª½¬¥iì¼YADzr²J<MÊ¢fYžü’]%¹_Ïzœ•û»@aŸq%¹GùÅ,„e­Ì“e³gÏfåÊ•¸¸¸0nÜ8<<<ÈÈÈ`ß¾}üùçŸ <˜K—.¡­­Íûï¿Ï‰'X¾|9Íš5cÔ¨Q|úé§œ:uŠyóæÑ¬Y³b9cÆ V¯^‘‘|ð5BGG‡³gϲhÑ¢"o ò¬_~ù???–-[†ŸŸžžž¾ýõ×_ˆ••'NÄÃØ˜~þùgBCC;v¬rµZž‰'Ò½{wúö틱±1ÿüóK–,aÒ¤IEJ–Mš4‰œœœøòË/qqq!""‚Y³fiLòåùöÛoéÒ¥ ýû÷ÇÁÁ''§Å_\ß}÷;wfРA°gÏþüóO>ýôS:tè@Íš5_h|!„B¼ v ££CVVÚÚÚxxx0oÞ<ªT©RÞ Q.ìLíÈÌÎä·ÿ@G[GcK#Kå×Õ,«ñ±ïÇÊ_¼}‘a놑˜–XhÂ)åq ïlx‡õ2¨þ R‰'?¯JͲÇY¿u<‡"ñm‡oÞ`x¾}oÜ¿ –øp±t 69VÙÖÙ½3;ÂwðçÉ?y«Ö[ÅZÝ'„ÿ‹ìLí˜Öq®•]5öy~5WQå%c~íý«Ê sÌ-ј…)­ù”eÍ2---í/z¿ìLrçt#HmåŸJ¿Ü£übBˆ²V¦É2…BÁœ9s°µµ%(( ‹§oôéÓ fΜÉÉ“'•‰°… rîÜ9>þøc¢££ùí·ßèß¿?Ÿ|òI±ÇlÒ¤ ~~~èééqøða6l¨ÒwâĉÊ-‹ÃËË‹jÕr?êׯ_è6YYY,[¶ qssS0`îîîlݺ•„„•-$‡ Æ’%K”ÿîÑ£W¯^% €;wî(WråwÍ•+Wbbb‰'ppp k×®tïÞ]™àÓ¤gÏžlÚ´é…ã/®îÝ»«$Üz÷îÓ¦McÅŠüøã%[!„å/''ØNVVººº|ñżûî»hkk—whB”›Žnñ ôcOÄ>oõ¹Ê›ì2ð÷Å¿ñqô`öáÙ¼íù¶J2ÇÆØ=½B²=ÈxÀˆ #èáуw|Þ)•x ò*Ô,KËHã}ÿ÷ Š bZÇi ñR`ÿ¼·ô;þsßš‹¹¡¹rœ¼m)Í•ý;ºu¤®]].ܺÀ 5ƒø®Ãwjµán¥ÞâNÚÒœ–B¼¶:ÕìÄ_A±-l?÷ø™*æO_–ÊVd³ÿÊþ"¿hñ¼¼ŸÙÁqÁÊäOVN¿ÿ ¸ ^ƒÒšOYÖ,Ëϋޯö5Ú³"h³ÏÂÎÔßjOŸž‹?GâÃD:ºu,Óï¹B”¶2M–EGG“˜˜ˆ•••r%”BñtOÚÄÄD._¾¬L–âïï?üðîîî,]º´DcZ[[“””D‡TeyLM ߦ¤4\»v´´4ºt颒h¨T©}ûöeÑ¢E\¸p:( ¹K#KœÌÈÌÊäêÝ«dådÑÊ¥U¾×H’λßåjâU u 9uX­OÞ–Nʼn§ eU³ì·ã¿»5|Lr ³þÅ¢‹˜Ðr‚òÚ¿ù…37Î`¬oÌÎðì ß©6Þ]¤ªEUÖÈÚsk9}”æ ›ãb邎¶Q÷¢H’ŽŽ–Ã}žþ­¤­¥ÍÂÞ ±a—ï\fКA˜šSż ZhqïÑ=âSãQ(4sn†ƒ™ƒÚõ…âI#§FôóêǦM´]Ô's'*W¬LêãTâRâÈÈÊ`L“1tóèVì±[»´fá±…|·ï;–ž^Š…‘1I1¤f¤RÛ¦6a a¯ì|Ê£>׋ޯ&U›ÐÝ£;;Âw0bì­±3µãfêMÓù ÙttëX¦ßs!„(meš,KKKrXÌ·ß³5¹ ·v…ŽNî–UªT¡bÅŠ%98I‡ IDAT3==wYråÊ/¶­Gvö‹½áðøqî>¾––š·+ÉkÏë÷|û³*T¨P¤˜òæžßÖÏ®È{ž£££Ê¿K¿&Å­)Ö¼±óæ#„xµü~âw¬­5Öž}ˆNŠF -\+»¢§£Çõû×iëš»ª©°±½¼Y3x ΖÎjÇF4A÷.ؘ<-ARÔù¼lÍ1OQïhþ^êhéð‰ï'|Ôü#"ïFò8ë1NfNjß—Òøž !ÄËP¦É²J•*ѪU+¹rå #FŒP®Œ‚Ü-/^LóæOæM˜03gΰ`ÁÆG»ví˜:u*M›6¥}ûöÅSOO-ZpäÈFÅܹs•+•ÒÒÒ˜?>“&MB[[›êÕs÷ýŸ7o¿ÿþ;ÚÚÚdee1}út cã܈¨¨(Z´hQà}°²²ÂÛÛ›àà`¾úê+¾ÿþ{ôôôP(,X°€ýû÷ckk‹——W㇕•^^^óã?2qâD圦L™Bdddე0þâÞË<3fÌ Y³føøäÖ@ˆeüøñtìØ±¤·BQ†>höÖÆùo û:ùõø¯4®ÒX-Yö:8sŒk÷®álጃ™ÇbŽåÛ7>%žàø`Í©kW3’%±'b—ï\æ½ï±÷ý½*E–¿Üù%'bO`f`F§š074çRÂ%£™}x6Õ+W§k»—1Uñš³´t,¼“¯™üêw9™;©«(÷ þ^êhéPÓªf¡×z‘ï¹B¼ eþZà‚ ¨X±"cÆŒ¡råÊÔ«W&Mš`kk‹‹‹ 3gÎTnÍ·fÍ~ÿýw ÀG}„ŽŽë×¯ÇÆÆ†ÁƒWì1çÍ›‡‘‘+W®ÄÁÁ:uêàååE¥J•øæ›oÈÉÉ`РA²xñbœœœhܸ1¶¶¶Ìž=[c«~ýúŒ3†FѺuk&L˜ï}˜={6ÚÚÚüôÓOØÚÚÒ¨Q#ìììøä“O”ÇuuK7wùßÿþ€¯¿þ;;;å5úé'<==”Û]¦8ñ÷^æqtt¤qãÆ¸»»ãåå…››¡¡¡Ô«W¼È­B”‘qMÇ•úª2Q|¼°ïý}s€AõØ·še56ÛÈáq‡ñëåÇÄ6™Õm{Fí¡rÅÊÄ&ÇtãiAçÔÇ©‹9†‘žÛßÝÎ]~àËÖ_²bÀ >kù»Âw•éü„B!„B!„(Kež,«S§§N¢k×®<|øN:EBB5jÔ`Ö¬YT¨P°°0ÆŒƒ»»;K–,Qžokkˆ HNN¦ÿþÊÒÓKY|r1#’‘•¡qŒ‡™ù'ìXÄÖ‹[y˜ù°Ðë^¼}‘UgWñû‰ßÙº…{î©]ß/Ðá;¿Îò3ËYzz)!·T·¡½™z¿@?r9\O¾Ž_ Ÿòq)qj׎ºÅ_Añç©? Š R;^š97+ò›óö¦öx;x«µÛ™ÚÑÉ-w_ùûŸÖZÉÌÎD¡PP£r •-ºå™™Ù™%Œ\!„B!„BˆòW¦Û0æ©Y³&;wî$%%…ÈÈHrrrpvvÆÊêé¶zzzìØ±777µN‹- "99™´´4,,,Š4foooIHH ::333\]]Õj˜ 4ˆÞ½{Š®®.µkצB… T«VQ£F©Ä¥¥¥ÅòåË™5kQQQddd(ku 0êÕ«§2~×®]éÚµ+‘‘‘$$$`ii‰»»»Z°Ñ£GÓ¹sg\]]Õæ’w¬ZµjEº÷ÇgàÀÊíkÕªENN&LÀÙÙYåtÝâÄ_Ü{™ÇÄÄ„-[¶Ïõë×qpp J•*jý„¯M5Ë"ïF2nË8¢“¢UúÚÛ° ÷•DMè­PFoMbZ¢²ÍÊØŠgh¼Þ݇wùôŸO5ÖÎú®Ãwô­ÛP­3vùÎeX¤Ò¿gížÌî>-e² .%Nù5@ã*±ªøôså“ðsÀÏ*õ*û{õç‡.?|£þßßÿV3.Ša †½ÔýÚó’ŽÖʶÊ+SÕ¢*Wï^åVê-ìLí”ÇG cƒ—£B!„B!„¥í¥$Ëò˜™™Ñ æjnnn¸¹iÞûÈwû¾‚Æ|ž 666ö100 aCÕ}x=<<ðððÐØßÚÚkkÕz=NNN899iìàêêšoB ÀÅÅÍ+ :¦Éܹs5jÞÞ¹§SSSùðÃIHH`̘1%»°øó÷^æqppP®|B¼^ÒŸ¤óÞ¦÷ˆO‰ÇÞÔžVÕ[¡§­Ç±˜cDÝ‹âýMï³{Ôn¬­y˜ù1›Ç˜–H5ËjøVó%;'›€kLÚ5ImììœlÞ÷ŸÐ[¡8š9ÒÂ¥ffÄ&Çràê¾Þý5®•]©gÿôE…àø`\=@+—VÔ°ªÁ­Ô[ìØË¶°m8[8ó±ïÇØ›Ú3Þw< Ž-ÀÁÔ>ž}”ç?[säüÍóŠ<”;Vå$¤%°+|C6ÒÝ£;Íœ›zþ¾ø7ÇcŽù~vóèöÒ’eçožgÿÕýô¨ÕC­0÷Ì®3í?šî˺«Õ,ó­æË zoý(„B!„B!Ä«ì¥&ËÄË7eʾúê+åJº«W¯òèÑ#Œ™8qby‡'„xÃl¿´ø”x¼¼ùkà_ê•“Å„mر‡µçÖ2¡Åv„ïàNÚZTkÁ⾋ÑÓÉ]éšþ$a놑ô(Ieì}Wöz+”µzðs÷ŸÑÑ~Zs1ôV(}Wöeù™åÌï9_Ùžô(‰ÙÝf«$ÀBn…Ðe–-çƒæ(“e /¤ŠEÆûŽW¹nÞö‘÷Ýã÷>¿Ó¾F{å±ÕZðŸÿápÔá"%Ëz×é£OQo'–F–Eîû"nÜ¿Á¸-ã¨jQ•馫oèÔŸºÿÄÄÙ²QÙÞܹ9³»ÍF_Wÿ¥Ä)„B!„B!DYdÙî‹/¾`Þ¼y\ºtIÙV·n]/^\ä­…¢¨‚ãƒø¤Å'ÊD€®¶._´þ‚={8w6·o\nß}?V&Ê wKÅ›}Èûþ頻},æFzF,:¹H¹¢B¡@SSBo…ªœãlᬒ(ð²ó¢ƒ[öDìájâUÜ­Ý‹4·ZÖµTeð´f×´;E£wÞEê÷2EÝ‹bغaTÔ«ÈêA«1Ñ7Që3óß™,9µ{S{ºytÃDß„ØäXF¤ÛÒn,ë¿ O;Ïrˆ^!„B!„Bˆ'ɲ7ÜÔ©Sùæ›oˆ‰‰!11{{{ªV­Zø‰/QaµÒ„¯”Ç)T1W¯7èdæ„––÷Óï«ôu4sTïk®¾•mÞJ³ !Š£¹úØÏŽŸš‘Z䱞­Õ•ÇHÏÈ]9W¯ZͲ ·.ðîÆw±4²dõ ÕXì³äÔê;Ôgíàµ*‰Í›!ô]Õ—o÷}Ëßïü]fq !„B!„BQ–$Yö?@WW·ÈuÆÊCqë° !^]ff\¿]-áu#å …sCs•¾q)qjIM %3ÃÜþCê¡RÅJ¯o k òï¸ûqûåoªoZà|JÛ«T³ìxÌqÆn‹½™=«®ÂÊØJc¿ÐÛ¹«õÚº¶UI”xÙ{aclCØí0²ÙèhéhB!„B!„BˆWš$Ë„B”ooü/ø³ pÞÞÊ­³ÙÌ ˜@ǹ}½Ùº™ Ôj–-<¾Pmì¦Uš²)dÙŠl>jþÚZÚ*ÇÓ¹õà–J[Lr [B·¨Õ,Ûe?¦¦Ô°ª¡l¯ SA¹ê­¬¼*5ËöFìeÂ?p±taå •T2Òœ|0®` À¡ÈCŒj4J%av.þ i T¬PQeB!„B!„âµ%É2!„¥¦G­,<¾ ¸ :/éL+—Vèéèq,æ‘w#130cpýÁt÷èÎü£ó9}”®K»â[Í—E‡£“þ$]mìnµº±"hëϯçhôQš97£’Q%R§“Ãéë§y¯Ñ{Ôµ««<ÇÒÈ’/w~ÉÎð¸Y¹q3õ&{#ö’­Èf¤ÏH•³¥3—.ñùöÏq2wB[K›>ž}°ª¨yÅUI”UͲ°„0^=ÀÕ»WŠ Â/Ѐºvu•õÕÎÜ8ÃømãÉQäÐЩ!k‚ר×Ò¥%õìëÐÊ¥&ú&œ‹?GûÅíi]½5ÆŒ‰IŽáàÕƒ( º{t/“y !„B!„Bñ2H²L!D©1Ô3di¿¥ŒÛ2Žè¤hÖž[«hþJß‘>#™¸k"Û¶)ÛWi\ªÉ²²v;L™Ës6î,gãÎ0Ô{¨2Yv3õ&Ù9Ù¬^­q<}e²ÌÜМßûüΧÛ?%>%^-¹Öε“ÛM.Íé!„B!„BñRI²L!D‰}Ðìµzc®•]ÙóþŽEãJâ²Ù¸XºÐÒ¥%úºú*}=í<90ú¯äfêMlLlh_£= …‚ñ¾ãÕ’_†,¨{QÅ‘ô( K#Kœ-œñqôAG[}+Àÿ´þ]=ºrúúir94pl L=«gjÛÖæÔõS¤¤§ @ƒ™º:ºŒ÷K%õÚŠyÇ\+—oMÈÚ¶µï;>ßãÏÞÇšV5 ì Pß¡¾Ê¿›TmBÀ¸ŽÇ'ê^YXZÐÀ±nVn/¼B¼ÆBo…Òû¯ÞŒ÷_èÏV!4‰MŽ¥Ýí ìÓdz³»ÍVëߣVæ¾5W­ÿ¢‹ø9àgæõœ§qõ÷žˆ=ø_ð'ôV()S074§®]]Ô@;Wͱ¤?IçÏS²7b/±É±èhëà`æ@}ûúôªÓ G´´´ò“žŽ6Æ6øVó壿akb«vc1ÇØ²‘àø`î=¼‡Q#lMl©mS›žµ{Ò¤jµm¸…/ßšà5üuö/nÜ¿Á“ì',î»]m]ÞÝø.“ÛMfdÑʾž¿xâiëÉÚ!k ñެë¼l©S9}„ƒWp-€ÔÇ©Œi2†ÿ´þZßìœlNÄž`û¥íœ¿yž¸”8ôuõ©mS›¡ÞCéT³“Ækœ¹q†E'‘AÊãÌhåÒŠqMÇ)ë?ïúýë¬ ZÉñØãÜL½É“ì'XU´ÂÚØš¦U›ÒŽ îÖî¥z/„âed™Bˆ×tœÆv-Zº´¤¥KËBǨX¡"oÕ~K­½ ‡ŽÕ+U§z¥êE޳¶MmjÛÔ.´_M«šÔ´ªYäXt´t^‰‡£E€»µ{‰þp© SÖÕ[+W¨ !„¢|íßÁ˜&cŠü¹þ8ë1Ÿþó)û¯ìWi¿ûð.‡"q(ò=jõ`v·Ù*5JÓ2Ò°z‰*ç]I¼Â•Ä+lÙÀ®÷vøÍ“ì'ĥıþüzö_Ù϶‘Û” ³ÌìL&횤²º 3=“ûé÷¹|ç2›C7³~èúbÕ~B”¾ÃQ‡ùnßwåÆÿŒ){§°3|g‘úž¼~’F¨´edep"ö'bOða³ù´å§*Ç7„l`ònÕ]B"ïFy7’]—w±uÄVµúÖ+Ï®äûß“­ÈViK‰#.%Žàø`_È…Ï/`¤gTÄ™ !īᅓe'Ož¤_¿~¥‹/dÙ²eìÚµ«¼Ãÿ#Ο?¯¯oy‡!„BˆräiçIäW‘å†x4snÆÊ+‹ÜßÑÌ‘¸”8æ™Ã⾋‹tη{¿eÿ•ý˜è›0ÞwLd÷åÝÌ?:Ÿí—¶cnhÎwž> _´‚ˆÄìLí˜Ün2 R±BEâSâ9Ž-¡[4®øzvNž<"äfSöL!&9†%§–ðMûo˜ºo*Û¶a¨gȘ&cèâÞG3G2²2¸õàá áü}ño•Z³Bˆòñoä¿øõò££[GtµŸ>V,ÏÏÃÐÏCËíÚeÉÌÀŒîÝiëÚ–ô¬tµÄÖ³tµuñ­æË[µÞÂËÞ {S{’%±"hËÏ,ç÷¿ÓÏ«ŽfŽ@îJ´ŸÿÀ{ÞãÝFïbf`FxB8ßìù†ˆÄVœYÁç­>W^c[Ø6¦ïŸäÖãîïÕŸšV51Ô3äîûÜyx‡1'Øyy'Zh•áBˆ²ñBɲ¦M›–VB¼GGG,,,066.ïPÄÿ___ù(„B!Ê…»µ;µmk³7b/çâÏ©m¡ü¼ ·.°%t úºú¬¼†Z6µ”ÇìMíy¯Ñ{ø8ù0`ÕV¯fHý!Êm¦ÏÅŸ`Fç´ri¥L ­k[•D™(Ó;MW~½'bO}WiLã*UÚ̘Ün2‘w#9}”‹·/*“e‰¹Ÿ~Ÿê•ª3©í$å9õêóm‡o²vWï^U¶§?IgÆ|ßå{x P¹–©v¦vxÙy1¶©jýq!„x]¼Ð'ÛgŸ}VZq!„¥¦ :cB!DiɯfYÊãæ™ÃÞˆ½<Èx@Ê5ï;žäôd&îœÈ¯½¥sÍιvDY祾C}fÿ;›ÐÛ¡èëêÓ¦z&·›¬V3äqÖcŸ\ÌÎðܸƒ ºð´õdt“Ñ´¨ÖBÙïÙ±kÛÖf„ÝÃ¥’ [GlE¡PàÁŸ6q'‚lE6Õ,«1°Þ@†Ô¢¬AUTE¯ ¸>kùY1—ÖÜߟµüŒýWöósÀϬ¼¦À¾›C7ðŽÏ;*‰²gyÙy1°Þ@V¯fËÅ-|ÙúKL L0Ñ7)Åèsù_ð`DÃ*‰2!Ä«eÿ•ýŒÛòt þ:?kþïõùšeù9}ã4KN-!8>˜´Œ4lMléT³7ÿcý§/Aÿù/˃–s%ñ ii8˜9ТZ Þoò>6Æ6Ê~Ï×,{ßÿ}å*8M¦wšÎàúƒ‹Ïëªz¥ê>ªòsÜÂÐBcÍïg=[ŸüߨINO¦cµD™B¼)ä5!„oœW¥–˜Bˆÿ=Y ];”ð;áʶ‹·/2fóººwÍ÷¼ÐÛ¡ütø'2³3Ü7¸ÿ¾ø7q)q¬²NÙïIöÞYÿgãÎ*Û2³39{‚“×O2­ã4•€ÁñÁÌ<4SY_$G‘ƒB¡à‹_¨Õ‰º|ç2S÷M%7®Žn‹5žâõµîÜ:¾Ý÷- …BÙ—ÇÒÓK9sœÃ6b¨gÈ¿‘ÿò¾ÿû*çFÝ‹"ê^·Üæ×Þ¿–èúºÚº*5‹OA†¯Îñ˜ãEŽaïû{‹UƒûEdfgr(òÖÆÖ4tj¨l××Õ§¿WÖ[ÇÌg2²áHå6ŒÓ÷OGW[—õ*ûç}.t¨Ñá¥Ä-„åA’eB!„BQJVž]Iøp\*¹0­ã4¼ì½Hz”IJÓËXy6ÿšTÿ„ýÃàúƒy¯Ñ{ؘØv;ŒOÿù”37Ξއ«‚Wq6î,ö¦öLí8•FNxñ€M6ñë±_ùþà÷t¨Ñ+c+娻/烈W?F7Mó*èhë°õâV¶…m£¦UM¾ló%^v^èëêsñöE¦˜Î† ô­Û·Ðíýòl ÛVìñ4ÅuäÚ‘|-;³¬Tæþ*:s×™®=»ñyŸ´ø„á;˜sdNɲ»îPÅ¢Jq8™;˜–¨lëQ«a a,?³œÑþ£ÑÑÖÁÙÂ/{/Ú×hOûí5Ö,ËoN•Œ*1ªñ(•¸ò®+„x5upë@äW‘ŒÝ<–WöEúºúÊãy«y sãþ ¦íŸ†©¾)_µùŠÖÕ[cfhÆõäëÌœÏîË»ù+è/Æ6ͽ䮢íW·æ†æÄ¥Äq,æ±É±^çϾªµÅ§Ä3tÝP&¶™ˆ£O±ãy]ý÷À¹~ÿ:‹Þ^D *ǦvœŠ…¡«Î®bÉ©%ÊöÚ6µY1`…ÊJä¼ÏGsGµkøúáè§Òö]‡ïÖ`XiNE!Êœ$Ë„B!„¢”ì‰Øƒ–– {/¤Få™ñm‡o¹–tÀè@çùVóU©MÒÀ±£›Œf꾩\N¼¬L–í ߀_/?êÙ×ÀXߘñ¾ã¹“v‡õç×s0ò ÊÛàõìëñCçT¶UôõGG[‡å–«l³ÔЩ!s{Ì¥ó’θz Èɲ’Œ§)®‚Ž•ÖÜ ñeD‘û–7G3GxåÖÛ±—N5 ^9VR_µùŠá †³ïÊ>ÎÅŸ#ìv[B·°%t ^ö^,ï¿\¹]£&ºÚºØšØâ[Í—›}ˆ­‰m™Ä)„xµm½¸•¬œ,ftžA÷.Êv×Ê®Ì{kAqA쿲Ÿ±MÇ*Nô¬ÝSùD5ËjT³¬Vìë&¤%ðÎúw˜Ðb‚ÊËʼn§ +æÿ2Lyú9àgÖ[Ǥ¶“h_£½Úñ¸ûq„Ü áaæCÕö”8NÄž ¡SÃWö%!„( ’,B!„BˆR›‹±2Qö¬ÕZä›,kR¥­Ž©Ô IDAT‰Z[Þj›gbÅ&Çbnh®L=«­k[ÖŸ_¯öÆ}sçæjÉ¢«‰WÉÎɦÅo¹u¾  ʯn¦ÞÌwžÏ+Éxšâ*èXiÍýUÔ̹Y‰¶~ØìC6‡nfîѹtpÓ¼=Ve£Ê$¦%r=ù:†ùŽuãþ •ÕyyìMíá3‚>#€Ü‡©ÿÝÿ_FdÖ¿³Ô¶Ù,ÊœòâºqÿFq !Þ Wï^`Â?˜ðÏå烅òk-rfl8’Ó7NÓmY7Z¹´¢ŽmêØÖÁÇÑ=½"_óîû _7œ±MÇÒ³vÏÇó:ÉQä0mß4Öœ[ÃWm¾â½Fï©õIËHcКAÜO¿ÏÔŽSéèÖ}b“cñ ôcáñ…<Éy¢¬_™÷¹w?Nm¬gk·.?³\¹å®B¼n$Y&„B!„¥(¿ä̳õPž÷ìvVÊqþÿÝóç÷Á¹¡¹Z[^í®‚js=É~Räk”dËÏ,ç`äAåVºBñ¦‘d™B!„B”’ªU¹pë‘w#q­¬Z¯)0Fóª²âŽþæyBn†¨%=òU-ª:NõJÕ KãøGÇ1Ñ7yá¸J{uúpúúi6‡nf´ÿh}x (r\¥=ž&¥5÷ò2`õÎÆeû»ÛÕVP9ŽëLWçÕ±­ÃÖ[ dѬ Z©¬;ö¼gð ã‡"ñýÁï5Ö”éîÑÉí&«´%=JâÀÕ¬?¿^ã¸+TdRÛI…Æ—Ÿ©§’‘•Á¶°mÌ92‡9Gæhì÷QóJ| !Ä«ÁÙ™ÿvþ/SöNaÒnÍ?7Æ4Àí·Ùta ¨õ©eSKmõ¶Ê›ÇpáÖ.ܺÀÏ?«ŸÞi:ƒë.V<åacÈF¾ÞýµJÛ'ÿà“0Ô{(S;NàPä!ÎÆ`ÊÞ)LÙ;Em¼g·eôvð¦SÍNìØ«±¿Ž–ÛLTiëãÙ‡”Ç)Ìüw&þüñ¿à¯1îŽnÕêà !Äë@’eB!Ä+*1-‘O¶}BÇšá3¢¼ÃBQº¬´š_Žü¾ˆ}¤e¦Q£r ÆûŽçâí‹ìfwÛFFOG•ƒV²øäbv„ïàÆýTЩ€§'£¦¥KË"£¥¥Å¬n³hU½Îoàâí‹»šmaÛˆ¼IFV–-iàЀÑMFk\5<²áHÚ¸¶aÕÙU9ÎÍÔ›dfgbUÑ 'ú×íO“ªMÊa6Bñâ´U™BQ.HKK+Rß]»Œ?Þ†ÈȨ2ŽJ¼lq)q´þ½µÊƒB¼Îäç•(+lÀ‚ åIþr9ôZÑ‹ð;áœsCóòI¼D9Š|æû`clî÷vÉöTÿ#\]«ãç—@×®Eû½^ˆ¢ß§„¯¢×á÷qñæ³±±ÁØØ¸¤§oÊÿ5 !„B!„ÅöÃÁضø”xÒŸ¤~'œñ[Çs)á«4–DÙÿ +‰WH}œÊئc%Q&„B!Ä+H¶aB!„BˆRͲ3ËÔÚôŒÔêA½ÊÂï„ÓcYBûµ¯ÑžEo/z ½¾ÎÆŸÅÁÌ—w(B!„B $Y&„¢Džd?áõïàãäÃxßñl8¿±'HNOfiÿ¥LÞû0ð—¿(ÏI}œÊ¸-ãP(Ìë9kckå±I»'ñ0ã!~½ü^¹¹è“Íák‡ Œäzòut´up³rãmÏ·©fYMãXŸø~ÂÆ>Jfv&õêóNƒw0ÖW_r3„!‰OÇÎÔŽ^¨\±r±c}î»B¼©&·›Œ¥¡%AqAÜJ½…±¾1œ1ÞwX™,û'ì2³3Ùp¤J›nÝørç—l ÝR¬XËê¾ !„B!„Bñ¦’d™Bˆânå®1¹dahA-ëZF¢P(ˆ½K\JŸ¶ü}V]ÅåÄËxX{p,殕]±1¶)ôzš®UZò›K¶"›OÿùT™\ÒäAÆ•d™§§J¢  Žm’%+Û"#èW·ŸÚ˜ýêöË7Yö²ï»B!„B!„o*I– !„x!Ï&ˆž×Â¥‹N,ârâeÎÆEKK ßj¾è «­ËÑkGÑ×É]™5ÂgD‘®W5Ëòä7—íaÛ9}”ªUê=”ªU1Ò3BKK‹•gW²7b/ …Bå33µqòê”=[›ìqÖcL LÕúk£°X¡lî»B!„B!„o*I– !„x!ZZZùóuöeщE¹v„sñçp·r§’Q%ê;ÔçXÌ1eM°æÎEÛ °,k–å7—[!üÚûW<¬UWsÍ=2·Èãkb]Ñ€°„0µXèíÐ|Ï{Ù÷]!„B!„Bˆ7•$Ë„B”™Ž 0Ô3äpÔaÂï„3¤þå1ßj¾üvü7 ·¾W“ªMŠ4fYÖ,˹¡9ÁqÁÊdYVN¿ÿ ¸ »…K Öœ[ÃÌC3©^©:ÎÎ\¾s™9sJ4fYÜw!„B!„B!ÞT’,BQfôtôhäÔˆ€k@n¢&¯³/sÌåXÌ195R®t*LYÖ,ËOk—Ö,<¶ïö}ÇÒÓK±0² &)†ÔŒTjÛÔ&,!¬Äc·©Þ†úõ9ŽÎvÆ¥’ Ù9ÙÄ$ÇPÓª& i ų,î»B!„B!„o*íò@!Ä›-/Qc¨gHÇÊvO;O劭g“9¯"/{/¾ëð†z†\¿›!hii1«ë¬^™¥£­ÃŸ}ÿ¤k²r²¸’x…¨{Q4«ÚŒ»þXâqß„û.„¯º;iwð ôãÔõS¥>vøpüýˆ¼YêcWlr,~~œ¿y¾¼C)PŽ"‡sñçXtb~~Ä&ÇØ?,!ŒÍ¡›Ytbëϯ'ê^Tý³Ù>ʪ³«X´‚C‘‡ÈÈÊ(Í)!„B!ʉ¬,BQ"z:z¬¼ C‹ûõñìC-›ZéQA§‚²][K›•Wò ãnVnenŠ2—!ÞCèãÙ‡è¤h´Ðµ²+z:z\¿¶®mq2w*t¬¼c–F–*íæ†æüÙ÷OÒ¸™rìMíÉÈÊ`Íà5ؘØ+Vx=î»B¼î$àèÇxßñ4®Ò¸TǾ”p ¿@?ܬÜp­ìZªckr3õ&þüiZµ) ªËK–™è›PϾ^™ÇRÓöOcgøN’%)ÛêÙÿ{÷Õµ=|ü;ô^¤‰€ ˆ;6ìšØcIbKÔÄÄé1šÜÜô›Ds£‰QclI,5×hì½‚ŠˆŠ…^æýƒ—‰ã U5ëó<÷¹aŸ}öYû8Ï Ì:{¯ö¸ÛºkõÝ»ŸÏ÷}®3™6¤õ¾öÖÊë“©'y÷¯wµÎq¶ræó!ŸÓÛ³wÍD!\~óýðkêÇÚ‰k;ñêñCjwOq±váÐÌCZýõzl›¶MëoØÓé§ûËXž x†Oªq,«0‹w~ȾØ}Z×q´päý~ï3Üw¸Ö±3gx}Ëë$ç%kó¶÷æ“ÁŸhü®TÝœ‚<ƒø~ô÷˜š©ÛòŠóøtï§l=¿•rU¹Ö9¶ükà¿äw !$Ë„BÔ‹žB¯V_ Z›XWÙÏ×É·¡Ãª—ÚÎÅÔÐT+ææ6ÍinÓ¼VcÕt' 'œ,þNŒkõ”î»B<ìœ,îI¢¬1¤¤³ðèBôõôµ’eƒvWœGûfí)Q–“SeßÓé§Iº–DÛ¦mñ¶÷ÆÁÂøœxöÇîgçŘšòͰoÔý K yqÓ‹äçÑ¢I z{öFO¡GHb³/òʯ°ïÅ}8Z8Þ© !D£y¹ûËò^'îšB¡àµ¯é/¯8i¦‘Wœ‡½¹=}[öÅÎÌŽ¬Â,.d]à|æy.d]Ðú]éö9•*KIÈM`諒Š?Äç{?çóÇ? ·(—q¿Ž#éZú }z¶èI+ûVèpåúrˆÎˆ&úJ´$Ë„h’,B!„Bˆzp´pdVÏY†þ=èßtv댙ÿÞýïj“e¼0¶ÝX‡]Ž$aú†él‹ÙÆç®^™–F^q~Î~OÆ@¯âÏh•JÅÔ S9šp”Cñ‡×nܽ› B<fÎlìÄ#@O¡W§ßŸÌÌéÚ¼+{/ï%*= ÿfþ5ž3gçÒòÓhãÔ†¥c—ÒÔ²©ú˜J¥bÕ‰U|±ÿ ¾Ø÷ÝšwS¯XÛsiyÅyø;û³fâL L4ÆË‰£¬¼¬Vs:šp”ç~Ž¿.ü¥N–½¿ý}’®%áãèÃOþ¨Þ¡ævI×’¸^r½æ#„hp’,B!„BˆzÈ*ÌbýéõtmÞUkuÙõ’ëŽ?LJ^ ÆÆ´mÚ¶Ê[W®_á@ì J ð¶÷&È3¨Úë*UJBC¹˜}‘²ò2Z4iAgÆÆê>I×’Ørn ½={Óι!‰!œÏ<¹±9AžA¸Z»ªûF¤D°)z¡I¡(Ë•êcº¾Ì:ž|œ3g060¦·go^}€ŠÏ¯EÇáiçÉ0ŸaÄåÄ©ßC\èäÚIçu•*%!‰!\ʾ„²\‰—½==zj|îé;$1„kÅט8C}CÎ^9KdZ$…¥…8Y8ä„™]½ïIMãU× ]_`ÙñeÕÆÜs˜½ÙûMöÇîgþáùüòô/Õö½˜}‘±072gÙ¸eZ«! S;O%!7µ‘kù9üg¾ú5׊¯0Ìw˜V¢ ÀËΫÖ1÷ð葾…%…ß*&%/…}±û°0¶`ùøåU®ÒÔµ…´âþd™B!„BÔCU5Ëv^ÜÉûÛß×z*8À%€E£i|9|&˜v}¤‘li߬½ÎQéQüß–ÿ#5?U£ÝÙÊ™ÅO.¦mÓ¶ÀßuÆŒô˜h>¡I¡ê¾zÌé?G½íPxJ8Ïl ,)Œ°¤0ußÛ“eeåe¼´é%ö^Þ«nÓ×ÓçËÇ¿äI¿'k¸[¾?ú=*TµêkfhÆó]Ÿ¯U߆ ,W’Wœ‡³•³FmPÿfþè+ô I ¡¬¼LceÙ¡øŠº*\:Ü·8…¢±üò#~Mý4’eÑÑÌØ4ƒìÂlu›£…#Ÿ ùŒ…G2©Ã$u²¬LYÆÂ£ à=€´ü4暇Jõ÷gÂxÿñ|ñø׌½ËÌÍ3IÈMÐhw²pâûÑß«ßoûröe…,R÷Þe:ù7óyãÏ74>¡b«ý~ÄØvcët/®Þ¸Z«ñª‹kR‡IÕÆœt-©Aæ^]²ì³’—RëyOî8¹ÆúÙ÷B+‡V ÷Ζs[M %Ð=°Ê¾‡ã0ÜwxµÛ†Nï2µ‘kÕýuØÐ¤P¦tš‚¾B¿Þ1KØùÊr%Ý:Óι¹E¹ìº¸Kã‹®JiùiLÝ0•‚›ø7óÇßÙ##Î^9KXR/l|=/ìÁÂØB}Ίˆ•1²ÍH,8wå¡I¡|º÷SZ;´¦kó®tqëÂØvcÙxf#ÝÜ»ÑÅ­‹Î¹­ˆXAaI!#ÛŒÄÉÒ‰sWÎq,ñíþˆ­ê¬3r§B~ÐX¹V{sûûš,[±’«7®òÙÏ4Ú]­]™Ýo6_ìÿ‚Ç~œ Ï  Åß5˺¿‚£Ï}‹S!7Joðâ¦É.̦E“ôlÑe¹’Ãñ‡yûûUžw:ý4ûc÷ä„·½7™…™lÙΆ¨ óFwîß*fzðtÒòÓhfÕŒ ¯ õ 9–xŒ¸œ8^~ÏïÐH^}èäÚ‰ý±û黸/}¼úà×Ô¶MÛÒÚ±5z ½çtKy‹„ÜöÅî`ècCˆÏ¨õëLqÿI²L!„B!ÈÏǦ¬¼Œ©§2§ß ïöy—'W?IdZ$aÉaº²êÄ*”åJfõœ¥±‚kVÏYŒX9BkìŸÂ~¢àfú˜‰&j[ubŸíýŒ?ÏÿÉ„€ êöâ[Ål™ºEcÛ +øbß,_N׿]éìÖ…BÁÆ3 tä•î¯èœÛ-å-v<¿Cc ÇÙÛg³ñÌF"R"èײ_÷çÕî¯ÖieÙý²/vßú†a>ÃxºýÓZǧtšBñ­b¾;ò«N¬R·Oï2—»¿|ßâBˆÉÖó[É*Ì¢·go–ŽYªNÌß*æÙõÏ’S”£ó¼œ¢?¹˜ÞÔm½Zôâmïp0î :Y¶õüVÒòÓèàÒÕO¯ÆÔШXéüú–×Ùyq'k#×òz¯×5Æž?|>#ÛŒT·í¸°ƒèŒh†ûgÞ°yèëý½Z(:#š±¿ŒeeÄJŒ\P«yï¾´»Îã銫r›_]Ç6Dmh¹×dtÛÑUn©K³&µî[•JUe²ìö•ˆwr³qc¼ÿxÖF®e_ì>ú·ì¯³_aI!VÆV5ÆbelE^q…%…X›X£§ÐcåS+ùùøÏlŠÞÄÚȵ꾎ŽLë\q»Ú~žTŽ_ùùy;7k7 yÅyíM<´úæåð{ÔïUÆTõOW\Õk¨¹×¤1j–é)ô4VÔ×…£…#“:Nâçã?³õüVÜmݵúx6ñ*’¹·××»SÒµ$òŠó°7·¯ò—¦–MijÙ”~-û1½Ët†ü<„åáËy¥û+ ¶ÚÌ©2®¨Œ¨Z×zBÜ_’,B!„BˆbelEFA7Ënj%Ì’ó’Ô_ÈX›Xsåú”*¥VÂL×WV&V”*Ky¡ë U^¿²0}uã¨T*ÒòÓjµ=QC{j–- [Ê7¿á‰Çžà¿#ÿ«3i _j ylˆÖ±Á­óÕ¯ˆJºgq !ăªòó,-?M£v@j~jƒŸœ—¬õðGJ~ *• Sv]ïåÖ¦ãL ˜ˆ¹Îkézȥʸê1^UŸ1Uk¨¹×¤1j–Ý­—º½ÄúÓëYpd_ûZëxoÏÞ|}ðk¢› IDAT¶žßʬž³´^›•–‡/W÷¯ {s{ZÚµäDê âsãk\w§ Ï ¾:ð[ÎmáÕî¯â`áP§ó…÷ž$Ë„B!„¢ttíÈ–s[øïáÿò~¿÷ÕíyÅyüö“º@×üyîO~<ö£Æö„)y)lˆÚ 5vw÷îüõ;î¶î:·YºuA«ÆŸçÿdZ—i[1®<±’œ¢cÆúÆê8便fÙW¾bÙñeŒh3‚o†~S팕÷t×Å]tpé qlÇ…@íê¢!Ä£&À%€MÑ›X²ˆ%c–¨Wç–”•°$tÉ]ßÁ¥Ïläû£ßÓÁ¥ƒz;B¥JÉ·‡¾þþL­N`ó@‚£‚Qª”¼ÚãU­zSÙ…Ùd\Ϩu\ =ž. 5÷š4FͲ»ecjôÎÓXxt!ÁQÁZÇs|Œ Ï ÅbÆÆ,»' 'õq•JÅê“«Ywzú }¦w™®>“€“Ö¸1™1œ½rVC]µrhEÿ–ýÙ»6¾À£й39/™ë%×iãÔ¦Î×BÜI– !„B!D™Þe:ÅüÅòðåœH=A—–²/v¹E¹´oÖžnÍ»µÃþŠù‹G’B;çväå²ëâ.L µŸpŸÙ}&;/îä­­o±2b%þÎþXšX’]˜Í¥«—ˆÎˆfÅøÛa™š2råH·Œƒ…ç3Ï’‚B¡ÐørÈÍÆ =…Ág‚)+/S?5^ßm’ªr¯j–íº¸‹‹Ù8“q€-ç¶p:ý4O<ö„zÕÝâÐÅ,;¾ ++šÛ4gQÈ"­ñžiÿŒú‰ïa>ÃØµAãßTO¡Ç™Œ3D¤DTôñvOæ%„²á¾ÃYptãòÄò'èéÑe¹’à ‡)*-ШßYŸñ…,âDê †ü<„ Ï õ 9–xŒØ«±X›X3!`Bã õʪ«Xz=GŽÐÝ£;vfvÜ, ñZ"áÉáLï2½Ö+…z¼{9÷šÜ«še¡I¡D¤DÐÛ³7훵×8V®*gáÑ…Už;3p¦F <]¦w™Î¯'åçþ§óø—O|ɘ_ÆpöÊY,@¯>¸ÛºSTZDHR±Wc˜3`­Z«Ï Kãó}Ÿãaë“Ζ[†&^KäpüaÊÊËèèÚQçö˜µñå_2î×qê¸ÝiåÐ }=}2¯gŸOtF4oô~C’eB4I– !„B!Dñuò廑ßñþö÷‰JÒØž/À%€E£©¿8lç܎φ|ÆG»>""%BxñoæÏß|º÷S±]­]ùõ™_ykë[œ½rVýts%G­º1Ó:OãH¶œÛ¢n3Ð3`Nÿ9tmÞUÝfcjÓ~O²ñÌF~=ù«º½¡“e÷ÊîK»5æhüÜÊ¡•:Y–|­b;Ì‚›üpìã l5P,ëîѹýçòÍÁo´þMõú¼Üãe†ûoÐù!ÄÃÀÜÈœ%c–0#xñ9ñÄçÄà`áÀœþsxkë[wµJØÔДåã–3sóLrX¹V}ÌÑ‘ïG}_å{·ÓWè³|ürÞûë=öÇî×ZädáT§ÄVC§KCͽ±„&…òcÈX[j%ËT*UµÉ²ç»>_c²ÌÜÈœ—_âËý_ê<îháÈÆ)ùpç‡ìݯ^ ^ÉÁÂ9ýæh}~û:ùâãèCLV ‰×µÆíîÑùÃæWš˜5aÓ”M|º÷S¶žßÊ‘„#I8¢ÑÇÃÖ¿¦~õ¾†¢þ$Y&„â¡ã7ß¿¦~¬¸V£=8*˜+HÎK¦¤¬„ŸÆþ¤±ÅÔ?YâµD6ÙÄáøÃ$å%¡,WâeçÅè¶£™Ôq’ÆöSÊr%¡I¡l=¿•Óé§IÍOÅØÀ˜6Nm˜Ôaƒ[¾'1VõïÚ¤X„.'K'fõœ¥‘tÒzÝÝ»s8á0©y©á×ÔÎnµÆ×n==zr î×K®ÓÒ¾%}¼úp)û³z΢¥f 2_'_¶OßΩ´Sœ½r–â[Å4µlJk‡Ö:· 260æ×g~åHÂ.f]ÄÌÈŒ>^}tnûóåã_2Âwç3ÏSt«HÝînëάž³p Ð:§òØÝ~)x·µ„»­{•Ço¿Z ÀÙʹÚñìÍì5~žÚy*£ÚŽâXâ1Ró*êð8[9èø@Y)„ éåî/k½çù;û³ïÅ}ì‹ÝGFAM-›2À{ûc÷h¼ßè0«ç,<í<µÆ®€Ögóô®Ó),)¬ö\C½¿eÓ»N§´¬Tg¿I&QTZ„ m›¶Õ:îdáÄOc"9/™ãIÇÉ)ÊÁØÀo{oº4ï‚‘¾‘Ö9]›weë´­¤æ§röÊYÒ Ò))+ÁÁÜ—m­oñFÉjçt;SæŸÏì¾³9žrœŒ‚ (p²tÂËÎ _'ßZ%„hX •JU» ã…BÜ7™™™Vÿ d¥íÛ-˜5Ë‰ØØ¸{ÕƒCW"#,)ŒIë&iô“dÙßzüЃÌÂLÇú·ìÏÒ±KÕ?K<Ƴ럭r¬Wº¿Â½ßhð"AÕúëÖtmÞ•_žþ¥ÑcÚþ‰ïWâþxíµŠ:߯û}îŸèpüa¦m˜ÆÜþs™Úyjc‡#Ä?RË–^,\˜ÉOÔî÷z!jãAû}*öj,.Ö.êšZ׊¯ñÔoOŸ϶iÛxÌñ±FŒP4†á+‡SZVÊÎçwÞÕVœâá!¿‹““õ==XV– !„xèD¿­Õ¶÷ò^ŽZÈ VƒÔÅ¥E…ÖŽ­™Ñm]›w­Ø«ýVbðñžÙ»£ GéÙ¢'P±=WÏ=á;ÿfþ4³jFnQ.«N¬beÄJ‡.fœÿ8«W!„B!ăë`ÜA–„-¡»{w\m\ɼžÉÁ¸ƒäßÌ'Ð=ð¡J”- ]B©R÷*¦JFúF¼øÒ}ŠèáTXRÈŬ‹|ùÄ—’(Bµ‰u­îGMcT§2±hgfW«x½ì¼8’pKcË:Ï¥&wn}xûÜ?ü _ìû‚# G(U–àÀû}ßW×ç9‘z‚§{€ÄZþçïZk&¬Q'ÿjóBˆGAuuÆ„Bˆ†äıWŽšJJ^ úzúø:ùÒÅ­ËC·ªèÅn/Öje™¨^S˦¼ÚãÕÆC!êL’eB!êÌÔД¡>CÙµèŒhüœý4ŽoŽÞLYyãýÇ«ÛÖE®ã_»ÿÅí¥2SóSY¾œÄ6LÞ ±Ï}þÍ|Æÿ:^£ÎVyyybæ3ŒeÇ—žN·.Çן^R¥äÙŽU׿ª4eýBCj}í]/ìÒYø÷N¿žü•Oö~¢qOârâXº…BÁ›½ßT·Wu?ê2ÆíòŠóI aÙñeØ›Û3¸õàã-U–²?v?ŽŽtvë\ï¹ÔUÁÍžúí)RòRÔm!‰!L^?™=3ö`kj[«qêúBˆ‡Ye²L!„¸×¬L¬jõ÷ăNVŒ !Ä?›$Ë„BÔËSíŸbCÔ‚Ïk%Ë6žÙˆ© ½’—ÂÇ{>ÆÊØŠÙ}gÓǫ֦Ö$_KfÁÑ츰ƒÕ'Vküq‘A€K‹ž\ÄcŽab`¢3Ž­;;–—6½ÄÞË{9÷ö9Œ ŒHËOcEÄ ~;ù›F²L©R²þôzZÚ·To=x¿%ä&ðÙ¾ÏÐSè1½ëtƵ‡³•3iùiì¾´[=‡JºîG]Çèö}7®Þ¸ªþ¹o˾Ìí?WçJ±;}º÷S’ó’Y2f‰Æ•õ‰£.*“ F.ÀÛÞ›ÌÂLþµë_„$†°åÜžëô\;;;–Ö_·¦kó®üòô/cÔç5(„B!„B!þ$Y&„¢^üýiíК­ç·2§ÿu2ëdêIârâ˜Úy*†ú†üïìÿ(+/ã³!Ÿñøc«Çhiß’ïF|ljÔì¹´G#QafhÆÒ1KibÖ¤Þ1ºX»0À{»/í&«0 G Gö\ÚCVaV­·†¸3ñÒ¶œÛ‚²\ÉËÝ_ÖXuåeçÅÌÀ™ZýuÝºŽ¡Ë…¬ O>އ­GµýæšÇºÈu¼ßï}x¸«¹Ô•­©-?ýI½M¢‡­øÇ~œ Yj5F}^ƒB!„B!„âŸA’eB!êmœÿ8>Ûû;/ìdTÛQŸ ÐØ‚ñòÕ˼þçë¼þçëêmðT¨Ôÿ­@s?{_'ß»J”Uz¶Ó³ìº¸‹ßOÿÎk=_*¶ ´6±ftÛÑw=~}ÅåÄðxëÇkèYA×ý¨ëa¯…¡R©È»™GTz_øŠ¹;æbndÎ0ŸaZýËUå|¼ûcÖD®avßÙLï2½ÞsyüçÇÕ¯…JÛ§o§•C«jÏkÓ´V=177 K «=·R}^ƒB!„B!„âŸA’eB!êmT›Q|}àk6Dm`TÛQÜ(½Á_1ѾY{¼í½ÕýÊUµÆ”åÊ*Ǻ³²©MƒÄØÅ­ >Ž>¬?½ž—{¼Lbn"Ç“óB×j]Ÿê^Õ,j]ôººûQ×ÂÙ …[S[úxõ¡™U3žXþDÿ¡•,++/ãmï°õüVæöŸËÔÎSk÷^еg][õy !„B!„BˆI– !„¨7SµĶ˜m$^«HBß*ÖXU¨G«Ÿ^M÷=Î)§ðþŽ÷Ù{i/aÉaèëé3©Ã¤ûÇí*ïÉŽ ;xÌñ±F£2ATXª¹B«øV1¯üñ GŽðÑÀ˜Üqò]DZãùõб.((S–iµ7ökP!„B!„B<¸$Y&„⮌÷϶˜ml<³‘ÐÄPL M櫹Bi´ßh–„.áÍ?ßäí ·éÙ¢'öæöäßÌ'ñZ"Åü…“…Ó=«5¢Í¾>ø5Ë×séê%xÀÅÚ¥Öçß‹še#ÛŒdqèb–„-A©R2¶ÝXšZ6%=?Ý—vcd`Ä´ÎÓdŒ£ GÙ|v3cýÆâeïEÓ&äçq"õßü€ÎnÕã^/¹ÎóÁÏs*íŸ ú„gž¹çsi(6¦6\¾z™ä¼d\­]ÑSèÿB!„B!„.I– !„¸+î¸Ù¸ñÛ©ß(,)dœÿ8Ì Í4úxØzðéOùpׇ¼¿ã}ã¼ØíÅ{£±1O·šÅ¡‹x®Ós÷ìZµÕ¢I æô›Ãgû>cIè–„.Ñ8þr÷—lŒRe)žû“?Ïý©so{oft¡þyì~N¦žàÃ]ò᮵ι}[Ɔ˜KCéÖ¼Ûb¶ÑoI?uÛš kèÚ¼k£¾…B!„B!ăK’eB!îŠB¡`¼ÿxæšÀøvãuöï?žÇcEø ÂSÂÉ-Ê¥‰Y*•J}¬±_ƒB!êîpüa–„.áõÞ¯ÓÅ­Ë]ŸÏ;?`L»1ŒñÓ !Ä?Ç´ ÓðlâÉ>hÐq³ ³ù¿-ÿÇ ÖƒýÁÆ[Ê[<»þY:¹uâÍÞo6j,ÕÉ*Ìbì~Å"¿8ŸmFðtû§uö-,)d÷¥ÝœN?Mj~*ÆÆ´qjÿ18[9ë<§àfëO¯çböEòoæãbåBWýZöÓÙ_!’,Bq×fÎdfàÌûµsnÇw#¿«¶±1±³c«íýV´VÛ’1KtôüÛ¹Ìs@Eý²I { îU¯Íý¨i }…>[ d`«µŠid›‘õJÕGMîüw­nîUs°pà‡Ñ?TyÚ¼uÅ"„¢qdßÈV?àPéböE>Þý1ãýÇ3ªí¨:w£ôá)átsïÖС !Ä#/"%‚›·n6ø¸%ÊÂSÂiåЪÁÇ®Êäu“ñqôaNÿ9íåªrÂS±2±ºo±ÔÕçû>gÕ‰U¸èì•Å„µ()+ÑhßsiKÖòßÿe€÷c§ÒN1cã òŠó4Ú×D®¡W?¹C}ÚB<8$Y&„â‘—›Àû¾ÀÌÐŒ¡¾C;!„BÜ…ë%× O §G‹u>×ÓΓ5ÖÔ©v©Bˆ +ƯÀÂØ¢±Ãhá)á(ŠÆ£^² ³p0w ¯W_L MYubU•} K 1Ô7d˜Ï0Ú9·ÃÅÚ…Ü¢\ÖD®!*=Š··½Íᙇ5’ƒ³·Ï&¯8N®x&àlLmˆÉŒá§ã?q0î ëO¯grÇÉ÷a¦BqI²L!Ä#ëxòq&®¨þyF·ZõÔ„BñÏandN׿]; !„x(=(ÛÙÿÓÍí?s ;/î¬6YÖ¾Y{Ž¿vccöá¾Ãµj³/r"õ„z{ŬÂ,âsâq´pdõÓ«Õçyábí¾AXr˜$Ë„$I– !„xäY[2ä±!ü_ÏÿkìP„B èV[ÏoåtÚi2®g`adA€KcÛÅÚÄZçXÝšwã—“¿p&ã ÆÆôõêË¿1:Ÿæßyq';/줠¤o{ožíô¬VŸÿýË×̱„cêck'®­qºj–Ý~NG—ެ>¹š Y°6±æ™€gèäÚ ¨ØÒy]ä:ÒòÓpµqez—éxØz4Ø¿B<說Y–t-‰à3Á\ʾ„²\‰§'O¶}'­1¢Ò£Øµ´‚4œ­œyÊÿ)ìÍí«¼fþÍ|6žÙHdZ$…¥…8Y81¸õ`ÚY·×{µÇ«¬\KXRåªr:ºvdrÇÉê‡&+·òU–+9{å,ÖLPóáÀñlâ©þYY®dCÔŽ$¡TYJ€KÏv|¶ÑW×9Z8Öº¯¹‘¹ÎvC}Cº{tçböETü½ce-k'K'­[ågÞÝÖ»Bˆ•$Ë„B<²º6ïZc½/!„¢¾òoæžN»fíødÏ'dfàëä‹© ×3صA#Y¶ãÂÂSÂx/ÿ=õv€¡I¡O>Έ6#j¼îäu“Q–+k£© ?>ùã]Í ¯8 ÅAÜ(½¡qÞ΋;Y¾œ “7àjíª1V×ügÿHÍOU÷ßuqg¯œå߃þ­1Î{½Ç¦èMêŸÇfSô&žnÿ´F¿´‚4b²bHÍOÕ»6óÐU³¬òÿfþ|ºçS2 3ÕǶÅlcÙØeÜ(½Áë[^G©úû¾oÙÎÎçwâ`áPÓíBˆG‚®še;.ìàÍ­orKyKÝv(þ«O¬æÃj¬@Úxf#svÌ¡\U®nÛ½™·z¿¥óz‘i‘ÌØ8ƒkÅ×4Ú7Eobœÿ8¾|üKàï:cÆLý}*Ç“«ûîÝÏæèͬŸ´[S[õV¾7 Ôÿ]ùs¥rU937Ïdì~uÛÁ¸ƒì¾¸›S6Öªf×û¾à앳5ö«4oø<šY5«uÿ»±1]:ªÛ,-éæÞˆ”öÇîW'%o–ÝdÙñe ô®]-l!„xØH²L!„B!U´hÒ‚Y=gÑܦ¹ºîGÏ=Y¹Žô‚tõ—_ÇÑÙ­3)K<ÆxÿñM8ZqŽGϯž^ëdYuOë×e.·”·0Ô7dz—éø:ùbgfGAIÇ“Ž³îô:]È×C¿Öëçã?ãmïÍ“¥箜ãÇY¹†Ýf¨ïÉö ÛÙ½ SCS¦už†3r‹rùåä/ü|üg1Gµ…¥±%Ÿìù„qþãÕfTæQ•+iÓ´ o½…­©-‡óëÉ_ùdÏ'äå0Ìw¼ §Ðã—“¿p<ù8Ë#–3»ïì:Ýc!„xTdfòζw¸¥¼ÅÖCòØ õ 9ˆà3Á|º÷S:ºvÄ×É—ô‚tþµë_”«ÊyÒïIúµì‡²\ÉŽ ;øöð·Zc–òÒ¦—È»™Ç¨¶£èãÕkk’ó’Y±Šà¨`›jßÇÑGc,SÞëûÞöÞdfòcÈœË<Çö ÛÙfd÷çBöd\MŠo׺ïÝú=êwN¤žàÍÞobcj£qìÛáßòÚÿ^cÆÆ¸ÛºccjCBn¥e¥¼Ñû ·|ßâBˆûI’eB!„Bq-Ùüìf­m‰zzT$ËŽ&e¼ÿxÒ ÒIÈMàÅn/’3Ÿ# GþN–%ÅÃÖC½Ò¬:¿>ó+*•ªÆ~@­ž|¯Í\lÍlÙ1}»/ïæPü!rnä¨Wéq"å„ÖXM<Ø8e£F½“[å·øþè÷œN?­N–GðÝÈïèß²¿úümF0tùPrÔm.Ö.êUb®Ö®UÖ«jÕñ²óbýÄõê{Ö·e_.f]$<%œI&i¬† t$ð‡@N§®õøBñ¨ùßÙÿq³ì¦Æ*/€Á­ãléÌ‚£ ø=êw>ô1žû“Re)S;Oenÿ¹ê¾C}†òî_ï²9z³æØçþGNQo½­µ=ñ=AÐAl>»Y#Y¦BÅ/Oÿ¢þœxü±ÇøÓ@þŠù‹O‡|Š¥±%]›wE¡P`mj­õ9RRV€žë&®£E“êcî6îLZ7‰Si§j•,{¿ïû”ÔØ¯ÒýZU¶?v?íúˆÁ­ëÜúÙÚÄš Ï b¯Æ’t-‰¤kIttíHûfíïKŒBÑ$Y&„B!„waHë!:“2îèëé«“bGŽÐ˳—²/±ùìfÊU夤“t-‰‰ku½.n]4þÛU5—ìÂlžYóŒÖ¶‡•®—\×9ÖõNÚ6m Àµ¢¿·Ôº˜}SDT$áFøŽ`ÁÑ 6ê j=H+¹èãäCxJ8C}†j´[™XÑ̪W®_©slBñ¨¸u€§ýŸÖ:öLÀ3,8º€˜ÌŠ­s/f_`\»qZ}ǵ§•,;^ñ0žK{I Q?$¢B¥þ︜8s|}4e¶¦¶ ðÀÆ3‰½K;çvµš›Ÿ³ŸF¢ t†UGWͶƶ-foo}›~-û±`äôzÇËUå<÷ûsD¤D0Ôg(ƒZ ÂÒØ’¤kI¬>±šç~ŽyÃæÕ*Y(„I– !„B!Ä]p¶rÖÙneb…_S?B“B)W•s$þ-í[âdáDÏ=Y±‚èŒhÎgž*¶m¬{Q³¬RUsYxl!©ù©ºWlyådá„‘¾ …‚ÙÛgëL–Y›XkµêU$£n¯Ws³ì&6&6Z}+㯪æQ+cí­ ô*þdÖ5=ŠJ‹êœB<"*Waéz¯¶6±F¡P¨ûÜ,«¨u¦k[\]ﱕï¯QQU^ßÈÀHã窶ܭ¿2–ÚÐù¦¯ýV­fÙšSkøxÏÇ j5ˆïF~§þŒ»ÝáøÃD¤D0Üw8ÿñ_cOøzš¨ô(Â’ÃÝv4]šwÁH߈c‰Ç8Ÿy}=}º¹w«Õ˜÷²fYU¢Ò£°1µaõÓ«5žB/ºUDva6&†&õÛÑ‘„œòŠó´¾p¾­Õ_ Ö[Q !„¸7-8“qw[wcÑW¢Q©T8Y:Uô5¯è{.óM-›jõ½SåCú˜–ö-u^ÿÎdÏ¥ìKê›ãgTŒ_ ª{ÿ9ò Õ,[²ˆÿþ/C}†òíˆoÑWèëì—’—TlM|';3;lLmHËOC©RV9†B<¬$Y&„B!„÷H­Z IDAT|ô{‡.&¯8^-z`b`B'·NŠ?DìÕXüý±4¶¬Õ˜÷²fYU¬M¬‰Ï‰çbÖEõ¶R׊¯ñþö÷¹Yvó®’e½Zô"öj,³·ÏfÞ°yX[°ã¶œÛ¢ÕßÌÐ €ä¼äz_S!ÄÝëíÙ›ßNýÆ7¿¡•C+Z;´ -?v}¤î¬‰\Ãöÿ/;/ÀHß•JŪ«O §¹Ms1ÌÍIÍO¥\U®µaCyj–©T*¾Øÿ+#V2²ÍH¾úuµI®ÊÚ©¢6ðøc«“fÊr%«N¬"«0‹¦–M%Q&„x$I²L!„B!î‘—,Œ-Ø»#}#:»uVëéÑ“¯~]ñߵ܂îmͲªôoÙŸˆ”F®©þ24!7SCS\¬]¸Qz£Þc?ßõy6Gofïå½tÿ¡;žvžäå’^ޝ“¯z›ÊJ-ìZ`jhÊæèÍœ½rV½…ãÚ‰kë?A!„uÖ׫/ÝÜ»–ƈ•#ð°õÀP߸œ8n)oámïÍØvcÕ}\ˆL‹dȲ!xÚy¢,W’x-‘Ö­É,ÌÔ»‹[Æù#8*˜~Kúáfㆽ¹=7 HÍO¥¤¬„»½¨QSÒË΋g6²-f¶d\Ï »0€·û¼­1¾¯“/aIaôYÜk(øpà‡x6ñl°ûs¯j–ˆ=À²ãËÈ-ÎàÏó™ TÔà|®Ós캴‹•+Q(¤¤3yÝd­ñ¦tšÂÖC€ŠX¼ì¼ˆË‰cÈÏCðl≅‘)ù)äU\kZ—i÷d^BÑØîÍ£B!„BqŸèëCy¹¢±ÃÐI_¡OW·®trë„©¡©úØí ²=î{lu1µËTžò *b²bˆÉŠ¡™u3VŒ_­©í]ídáÄ/Ïü‚·½7E·Š8{å,Y…YLí<•É´¿Ô310aN¿9s)ûá)áuÚæJˆûA©¬xOÒ×—íBÅ£K¡P°tÌÒŠ„˜ ârâ¸ue¹’A­ñÛ„ß01¨Xy¬¯§Ï²±ËèÛ²/eåe\ʾD\NÝÝ»óå_êÿó!Ÿ3§ÿ-IÉK!2-’¸œ8ÊUå<ñØ ó¦Ñ¿E“,µ}…>g2Î]˜¥±%_<þO<ö„Fßwú¼ƒƒ…ééD¤DžNÁÍÚ¯kLÙ7²ÕŸ}±WcÈ(ÈP·%æ&ªûVÖiS©TêyÞù¿Œ‚ uC}C~y浄žB¸œ8¢2¢È-ÊÅÎÌŽ¹ýç2­³$Ë„&…J6zBˆNff&………µê»}»³f9w£zpøÍ÷著Æä…%…ŒZ5ŠÄk‰ê¶ŸÆþD¿–ý!BQW/n|‘}±ûùw{”ý߯Äýñá‡$%òË/é÷õºyÅy\̾ˆ»­»Vý•ۥ槒–ŸFS˦5]T*©¨T*:¹ujÔ-j;—¼â<’®%aebE‹&-8{å,%e%ttíXãX•Ç<šxàdá¤5~\N…¥…¸Û¸ccjCva6ñ¹ñxÛ{ÓĬ‰Fߢ[EÄ]£¸¬•JE׿]kœÇÒœ½rk\­]kŒ79/™Œ‚ Ú9·ÓHtBEe¹’—€*ï—øçÊËÓ§S'~ý5ÀÀ{W‡Hüó4æïS)X[à㨽bêFé âsâ)§\ý^•ÌÂLÒóÓq²t¢™U3JÊJ8~'K'õöŒ·S©T$å%‘[”K³&¸X¹hl3\RVB›ymà=€%c–pKy‹ËW/S®*§•C+ŒôtÆ¡T)‰½KÁÍÊUåø8ú`alADJ¶¦¶´rh¥Ñ¿\UNDJMÌšàmï]Ë»Öð² ³HÈM¨òøí÷ñê«ÄåTÿZ©ê3³°¤Äk‰””•`kj‹G{¶e¥xø½öZÅïuߟYCO!î''',,,ê{z°lÃ(„â¡ór÷—ÕŤ+­\KâµD\èÖ¼†ú†ê/ñămçÅŒ?HG׎œL=ÙØá!B®®·8pÀì¾_×ÆÔ†®Í»ÖØÏÕÚU˜¹B¡h”-u©í\lLm´¾mÛ´m­Çªé:•µQ*9X8à`á ³¯™¡~Î~ußÜÈ\ëxuçÜYãævíœÛUy!âã+¾Èws»ÕÈ‘ÑpnßJøNæFæZïÉUq²pÒx`ÂØÀ¸Ú÷n…B‡­‡ÎDš.†ú†ø:ùÖØO_¡¯ÞZøvUÅ¢§Ð«Õg彿há¨õ÷pUìÍí±7·¯×u,Œ-´>ã…âQ&É2!„™3µÚ._½ ÀÒ1Kµž<®ë%×ùdÏ'<ÛñYÊUå’,BÔKÛ¶%\¹bÀ•+4mZÖØá!QQ&X[—ãâ"ïIB!„I– !„¨³â[Å,;¾ w[wF¶©u\¥R±$l VÆVLì0QãØÙ+g‰L‹¤°´' '‚¼‚°3³SWª”,:¶O;O†ù #.'ŽÄ®_cfàL õ YºG GÆø!.'Ž¿bþ"*# €U'Va g€‰ 7ËnÒܦ9£ÚŽÒб\UÎ’Ð%ؘÚ0!`BæŸ[”KxJ8É×’1Ð7 •}+=unŸu"õ—²/QXRˆ«+];«Ÿ¯¼µQ×½9šp”Re).tríTeÌ1™1œJ;Åõ’ë4·mNw÷îÕnr¿|sðŒôx£÷Ì?4¿±ÃB<¤:uº‰©i9ûö™1qâÃQoDñhۻ׌޽‹P<˜å…B!Ä$Y&„¢ÎL MÙwyñ¹ñ ð€¹‘¹ÆñФPæšÏ‹Ý^T·]½q•7þ|ƒÐ¤P­±>øQEQh LYÆÂ£ à=€ËÙ—Y²HÝwz—éêòcÈø5õcŒßâsâYxt¡ºÏ!?ài牙KÖÒÇ«VbèPÜ!¾=ü-oô~£Nsÿt溺‹\G©²T£ÝÃÖƒeã–©·~Ì+ÎcÚ†iœÉ8£ÑÏØÀ˜·ƒÞfj穘ššZëo¿7iùiÌ;4ÛKŽ÷Ï¡1Fva6om{‹Ävs#s¾úCZ©v¾œýƒ”¼”ZÜ™ “;NÆÖÔ¶V}O¥býéõ¬¿B«ŒBÔ…±±ŠÁƒo°aƒ•$Ë„.1ÑðpS–.½ÒØ¡ñ`¨oÈš kjýwˆB¡‹$Ë„BÔËxÿñ|´û#¶Ålã)ÿ§4ŽŸ `œÿ8”åJ^ØøÑѸZ»Ò˳Ö&Ö$]Kbïå½ÌÙ1‡–ö-i߬½zŒÈ´Hö^ÞK¯½ðqòÁÄÀD£ˆs%O;OfõœÅ¶˜mÄçÄór÷—1Ð3ÀÖÔ ^ýãU6žÙÈó]Ÿ×8oMäŒôx¦ý3uš÷‘„#8Z8à€‹µ %e%ÄdÅ–Æ»½Kð䊹¯:±Š3gp²p¢Ÿw?¬M¬IËO#<9œ“©'™Úy*Ïvz¶Î1žN?ÍþØýyámïMfa&Ûc¶³!jÃ|†ÑÝ£;eåeL žFLf æFæôkÙg+gÒòÓ8–xŒó™çk•,»3ÑV¡>CkõGjYyswÌeTÛQôlѳÖã !DU¦LÉgÌWvï6gРŽâláÂ&4o~‹  y/â~xPj‰ !„x¸I²L!D½Œl3’ÿø¢6h$Ëòoæ³ûÒnº¸uQ`Þ}i7ÑÑ ÷μaóÐ×û{»ÂèŒhÆþ2–•+Y0rº=§(‡ùÃçëÜæñv^v^Ìê9‹ó™ç‰Ï‰ç•î¯`l` T$éšY5cmäZ¦w™ŽâÿšŸÊáøÃŒn;ºÎõÍ>ô1žvž„%…‘Q‘¾]ܺpõÆU"Ó"¹V| [S[r‹rØüÜfâÕ¥ÊRÎ]9§þy ÷À:ǘS”Ãâ'3À{€º­W‹^¼³íÆT'ËþŠù‹˜Ì¼í½ùmÂoÛ]Þ(½Ar^róÝvtµÛ;Þ©¶÷sIèr‹r™ÓoN­ÇBˆê´kWˆ×ùòK;‚‚Š06VÕ|’B4°S§LغՂ¥K¯ ¯½C·B!„x@I²L!D½X[0¤õþ8û—²/ÑÊ¡[Îm¡¤¬„ñþãÕ}%ÀÌÐŒ%aKÔ[ªT*T¨°2±":#ZcüMZÔ˜(«‰¾ž>“:Lâëƒ_s$á½={°6r-åªržíôlÇ<~š©¿O¥¬\w±öœ9ØšÚ2¨Õ ÖF®eEø Æûdz‰' …#}#\î*F_G_D@¯>df©ÛÂ’Âx¯ï{‰2¨Ø†ÑÇѧÆùŽn;ºÆ>u•x-‘C~äëa_?uÓ„Ž÷ÞËeÀ7~üÑ–7ÞÈmìp„ÿ0%% >úÈžž=‹è×OV• !„BFúF ð€»­;fFf(Pp$á‘i‘”«ÊèÙ¢'ë&®cõ‰Õ<õÛS””•жi[¶È3íŸÑ¨ÑU×­œµÚÌ Í4’xy7󀊭*ëë^Ô,û|ß瘚jÕ›‹L‹`ëù­œ½r–ÑmGãfãV¿À…ÿHŽŽe̞ÿÿí€O)C†6vHBˆ• fÏv$=Ý~Èlìp„B!DI²L!D½uv댧'œýƒwû¼ËÅì‹ÄdÆ0±ÃDL LÔý¬M­˜0;s;cÝÞ@_Ñ0ûÖX›X3²ÍH6Dm¨¨–εâkõZUv î?Œþ~-ûi‹ÉŠÑêßÙ­3Ý:+¾ÂSÂùrß—ì¼°“õ“Ö£§ÐkðogcR±j+>'žæ6Íë5ƽ¨Y–š—JþÍ|DÙí¶žß @G׎’,BÔÙ„ ÄÆñÎ;Ž4kv‹víJ;$!Ä?À÷ß7aÇsV¬ÈÀÝýVc‡#„B!êH’eB!îʸvãøêÀWì½¼—°äŠmÿnß‚ °y ÁQÁ(UJ^íñª:IT)»0›Œë÷,Æg;=ËúÓëYwz¡‰¡4³jÆ@ïu§²ž˜…±…F{XRû/ï×jósöÃÜÈG G†ù ã`ÜAþwö$ä&àeçÕà1Þ.Ð=à3Á|sðü›ùk$±*k–Õ´㽨Y6©ã$rnähµŠ;DTFÃ}‡Ó¢I‹z'ø„bîÜ«$'2eJ3,È$(¨¨±CB<¢”Jøê+;V®´á³Ï²éÞ½¸±CB!„õ É2!„wåI¿'™h>¿žü•˜¬|}hãÔF£ÏPß¡¬:±Šõ§×s$áÝ=ºcgfGÁͯ%žÎô.ÓiçÜîžÄèmïMwî¬>±šâ[ż×÷=ôõê¾r- YE­±7¾ÈÖC°5³åòÕËŠ;D³&\½qUÝwiØRN¦ž¤›{7ÜmÝ1Ô7äBÖÇF_¡¯U««¡b¼Ý>OðÓñŸ¸u¾KúÒ¯e?šZ6%=?£‰G™0¡Vɲ†61`¢Îö‚›êdÙ+÷„¢.ôõañâ+|ð3f83gÎU¦LÉçÿ?ó „ ¢°P7ßtäØ13¾ý6“áÃeëW!„Bˆ‡•$Ë„BÜ;3;ú{÷g×Å]@Eý­;é+ôY>~9ïýõûc÷¬qÜÉÂéž%Ê*=×é9BC054ÕZùV[ƒ[f¸ïp¶žßJð™¿ç0ΖF–¬ˆX¡n tätúiöÇj®8372çƒþ`g¦½eCÄx;=VŒ_Áë[^'<%œ?Ïý©>falQçšmBñ014TñÕWY´hQÊçŸÛ³s§9ÿúW>>²-£âî¨TðÇ–Ì›gGy9üö[:7;,!„Bq$Y&„⮽ÚãUZ;´`„ï}lMmùiìOÄåÄq"õ¹E¹41k‚‡­\;©WQè0«ç,<í<«¼ÞËÝ_ÆÑÂQ£m˜ï0||1Ð×ýÑV™ÕvÖ&Öužc¥ÿŽø/&pöÊY ]:âçìÇÑ„£X[¨k²Íè6ƒÉ's<ù8 ¹ 8[9ÓÛ³7ÿ¯½;«²Úß?~o6³™DPQQDEÓ ÍŒrLsÈ¡ì”Yò”Ç&;}ÍêTVf§Q3;Y9¢v2-œQĉTTgQÆÍþýáÏ];PÑ­ð~]—×%ëYÏZŸçq¸Yk¹;¹—«ÆË½›‹×Bj„Ø´û™ü4gøíÈØ¡„# Ê-ÌU]¯ºêÜñšÞÃõйAgUw­®ú>õí] €JäñÇÏ(22W¯½VCýû©ÿ³1"Káá„f®Na¡A11Õ4s¦—vîtÑСYzöÙÓòò*¶wi*´¬4uù¬‹F´¡W»½zCæ Ÿ®ðZáš3|Î ™nf„e€kævÅíü.jèÛÐæ¬®¿2Œ9ö²cWj4Ò´Øi2[Ì6cÅ¥Æ)À#@‹Z¬ÿÜ¡UcV©cpGÉ=£ïw}oí·=c»æ&Ì•ÉŤɽ&+þñŠ}:V¯v{U1ûbJÔXïõrÏùgmƒÚ*ùÅdŒêÜQÉ/&[´¯Û^©gR5)f’ª»T×[=ßÒÆ§6j÷s»µüÑåêÙ¤§’Ž'iVü¬«ýe€›+Ë\‘»“»¦œ.w›ö¶uÚÊÅÑEë®Ó¨¶£Tl)VìáXõoÖ_&“fÆÍT¡¹PNF'­KY'£Á¨öuÚ_q¾¯‡~}½å’Ï"I“ºMÒg?Ó´Ó”‘QbÛþô¬tÕõªkýØÛÍ[Ÿßÿ¹5„ öÖ+Q¯¨ç=õûñß­ýVìY!Iz®Ës>ÐÚ>¢õeåeiêš©6óTÄ{½Üs^ÿíüŸŠŠ‹ôF7l¶Œ ©¢ú~ ø´xÅì±ëÎ-p-Ë\QSÿ¦¥†.®Ž®jÔV›oR¡¹P»íÖ™Ü3Ь)“‹I¯ÿX[Ò¶¨]vÚxh£Z¶´ûùV—z–¬¼, øz€2²3.yo^ažÍÇÍj5+ñMÛ8Mã–ŒÓø;Ç+²~¤jT«¡¬¼,¥d¦hYÒ2ù›ü9³ À-‹° À51 º£þZ²k‰$Ûs¹"ëGÊb±(ùd²îi|ŒF{•yE}šöÑ'>ÑÂí µpûBk»ÉŤ{ߣ˜½1å»E@ =ÐêÍM˜«–½`s­wXo-MZZâžý^;Ôí ¥IKÕuZWkÛìa³Õ¾n{½Þãu½²â½ôÓK¥Þ;¦Ã˜kžì…° pËùÛ‚¿©Oý+ê_6íûOí×7[¾Ñá3‡•W˜§çº<§V­*lÞBs¡š÷ÚÖi«qÇUظ׳†K½«ÊäxÎqý’ü‹VX­¬Ü,õmÖWC[½ds±Y‹w,ÖÚƒku6ÿ¬êy×Ó–CæV¢oN~ŽVî]©mG¶)-+M.Ž.jæßLÃ* zÀkKHOл¿½+Iþù€ªÇÅÅ"I*(0ÈÙÙbçjJŠ ŽÔ’]Käëîkó÷ë`ï`y)-+í¦Þ‚Q’ªèÛ¾Õäß&kçÑr08¨MP=ßåy›ð¬¼&u›¤z^õ4oÛ<¥g§Ëß䯡-‡ªwÓÒÃ2鯾חï~YEÅEŠ=«¬¼,Y,|ž ެ&~MôeÜ—ŠKÓéó§åãî£`ï`õ ë¥~ÍúUH ¸õäç;ÈÓóÒçÙ·ƒåÏ_ñ7…cÇŽ)''§L}üѤ±cý•œ¼ÿ:WuóŸ®ðZáš3|޵íPæ!õü¢§ÍŸßÿ¹º†t-mˆrÉ/ÊW³÷š)ªQ”¦ œVaã^ÏJ{W•É¿þ·¾ŠÿÊæpc:ŒÑs]ž+µ~Q¾žÿ°âRãlÚ£&÷š¬þÍû[Û$jØœaÊ/Ê/1Ž›“›¦öª¨FQ—¬­¨¸H}¾ì£äSɲX,þùx+ªŠ_¯*Ò–-®2$Pë×’¿És¥Àî¿?P­Zåëå—OÚ»Taþþþ2™Lå½=š•e€[Ηƒ¿”ÉÅö¿èíÑ*0hTÛQêÒ°‹œŒN ­j§ q£Ï9®šÕjꮆwÉÍÉM_ÅuÙþ­ÿHq©qªåQKOG>­ý¶ÿ7}³õMøi‚n«{›õŒ‚œ‚9Ô;¬·Z´P g NŸ?­Ù ³•x$Q㗎ך'Ö¨ºkõRçš;]ÇrŽ©ghOýøûý訂6,”$íÙãLXà¦`±HÉÉÎ8ð¬½K® aà–Ó®N»migÒ$IÏv~VÕœ«Ýè’`'/ßý²jV«)ƒÁ å{–_6,+*.Òœ„92:5kè,5ôm(IêÜ ³ ƒfÅÏÒœ„9çxIRËÚ-µééMrqt±§OÓ>êÿUí9±Gñiñ¥®KÉLѧ>ÕÄ{&j÷À¨Ò¼¼Ìª_¿P±±nêÜù¼½ËíØá¢œµj•gïR€kBX¸j¹…¹³hŒú6ÔÄ{&–¸žW”§Ç=®`ï`½ÚíUk{V^–n_¨„ôåäÈßä¯î¡Ým†?ŸÉ56r¬æo›¯‡6*37S3Ï”«£«Í9\ñiñzõûÚ{òB ñhô£2È wå,Õ IDAT䨞W=Mê>©Ôgx|Ñã ©¢W¢^¹êwP`.М„9Š=«bK±ÚµÑÈ6#åîänÓÏ\lÖo~Óºƒët8ó°ŒF5®ÙXê¾Oýãfåeé»ßikÚVÍ?«ºÞuuO£{®¸ÿ¼ÅbÑ'>ц” êß¼¿G ¾lÿC™‡½=Z{O앹ج¾ 4 ù…ù—<·+1#Q ¶-PzvºªhHÄVÔ?¾ÿ‡º…vÓ¨¶£®ü®?“_™û&ITv^¶:Õïd Ê.Õv”fÅÏÒšk¬aÙ¥BW'£“:wÔž{dQé»Yÿkù¿Ô²vK j1Hÿþùße®¸’»î:§åË«é¹çNÉ`°w5ªºåËM ,R“&Wî ÜÄËWÍÍÉM.Ž.š½u¶F·mݶî¢{VhÝÁuêÒ°‹µ-!=A-|L™¹™6}íX¤AƒôVÏ·$IÅ–bÅ¥ÆÉäbÒÃóÖÆC­}‹ÌE’£´9u³ò /|ÇRæùL›ó§6§n–$5ðm fþÍ4gÛ=|Ûà ö¶™wÉî%ZŸ²^}šö¹êç/¶ëáùkÓáMÖ¶_’Ñâ‹5oľïc› pKÚ=±ø >úÎ¥Ù[gëÅ»^Ô£í-µžü¢|=¿ìyýøûzúާ¯”ýôûO÷Ã8š ­m«¬Ö¬øYz%êl3ÒÚ­ Ë'Øœ ¶xÇb¿s¼âRãÔ¸fãËÎuÑ›?¿©Gw–©¯$½×罟W×*ùT²$)¢vD‰ku¼êÈËÍKN(ÓX;2vÈÅÑEmÛ”¸­„ô-{d™ üï*Ø Agõå—^Z½Ú]]º°º €ýäæ´p¡‡FŒÈ²w)À5#,”Ëàƒõkò¯Z´}‘žŽ|ÚæÚ‚Är6:«³þ’¤œü=¾èqÉ;£þÍû«KÃ.òtõÔá3‡õÕæ¯­ÛëÞ®¾ÍúZÇXs`L.&¿s¼ÂüÃäêè*7'·u´­ÓV³‡ÍÖûkÞ×–´-újÈWr2:ÉÕÑUYôÃî4{ël½|÷Ë6÷ÍÞ:[>î>å Ë.Öö|—çÕ¨F#eœÍÐŒM3´ÿÔ~½±ê Mé3ÅÚ7'?GýšõS»:í䤼¢<%KÒWñ_iRÌ$kXv&÷ŒÆ,£3¹g¡AƒP=@éYéZ¹w¥Îæ—¾÷÷És'5fáý~âwMí;U½Ãz_¶öc9ÇôÜÒçTh.TÐêѤ‡œœ´úÀjEoÖë«^W› 6jêßTG²hâʉ²X,>@]CºÊ\lÖʽ+5eõ”ËÎóW¿ŸøÝ&Ô¼’ÜÂÜ«¿,2Ï_jkšj–zÝÏä§½'ö*·0·Ôϵ‹æ'ÎW|Z¼Æu'/7/›k§ÏŸÖäß&kläØ-P5*P×®çôÎ;¾êÔ)WFcé»Àõ6}º· ><Ûޥ׌° P.]uUMSM-Ú±HOÝñ”uÍá3‡—§{›Ük þ·ë:uþ”Æß9^ßþ¸Í8÷6¹Ww~z§ï\l–YdÑ7C¿)u[À?óvóVûºí­«¹ÚÕigsÆTDí-Ú±Hã:³ [Ó·j÷±Ýú{Ç¿—8ª,,²èë¡_«©Sk[Ï&=uÏç÷hYÒ2½ÞãuëvŒ³‡Í֦Û´úÀj­Ø³BæY,¹8º(=+]GÏU-Zúnçw:“{FÝwÓ§>µ™oX«a¥†e{NìÑèèÑÊ/Ê×ìa³Õ²vË+Öþ¿ÿS^QžÍj>IêÚ]úϺÿh~â|Mê6IKv-Q¹@k÷7M¸{‚µo¯°^zé§—]æwöÒ]/);¿ìy®èUe’d¶˜%IFƒ±ÔëÛ‹Š/}Pú/É¿h⊉êÚ½Äç²$½ñó ð¸ä*@ "üë_§Ô³gÍ™S]#G²¢Àw䈣fÎôÒ¸q§åëk¶w9À5#,”‹Ñ`Ô€æ4=vºÖ§¬·ž©µ q,‹ÍV€ÛŽl“$ÅìцC¬[úYd±þ|ÿ©ý6ã7©ÙäŠAYY<Ôæ!ûaœ–&-Õ ƒ$]XUæèà¨á­‡—kÌ0¿0› LºÚE5ŠÒÂí •|2Y-ZÈl1ëÙ%ÏjíÁµ—ëlþYÕò¨eÝ¢ðR!‹‡‹‡ÍÇ{NìÑào+ z€æŸ«@ÏÀ2Õþûñß%IC#†–¸ö@«ôŸuÿQÒ±$ë’t‹ûKôÐ|ÀU…eñky­.˜ç Εzýb»»³{©×—&-ÕøÆ«kHWý§ßä`p°¹¾îà:-Û½L‹G-¾d T„ºu õðÃYš:ÕG;žWÆ…W¾ *HQ‘A/¼à§Úµ‹ìQi–ÊmpÄ`}¾ésEoVdýH™‹ÍZ¼c±‚<ƒÔ±^Gk¿óöÑOÌH¼äXÎŽÎ6×ò¨U!5Þv¯Þþõm}»å[ j1H§ÏŸÖO¿ÿ¤žMzÊÏäW®1«»V/µÝÓÕSÒ…3Ä$é‡]?híÁµªç]O#ZP=ïzrwr—Á`Ð×[¾ÖŠ=+¬aa^Ñ…3Øþ|ÞÙå8dt0*;/û’áOi.Öö×í/Öo0¬}.ÖTÚó^|Ö²ºÎ,»8^JfJ‰kùEù:’}Dþ&ÿRƒ®Ù[gkRÌ$ukÜMôû@Ž%ÿ 5uÍT¹:¹êß«þmÓ~(ó$é½Õïé‹M_hÂÝÔ¼Vó x"TeO?}Z›6¹ê‘G´xqº||XÙàÆxíµJLtÑüùértd+XT„e€r«ç]Oí‚Ú)foŒÎäžÑÖô­:žs\Ïtzƺ-£$T$Mê6I!5BJë¯áßᅫŽÖj˜>Xû¶Ù¦ØC±*0hT»Qås*4ÊÉèdÓ¾#c‡$ÉßÃ_ÒáàÇ÷}¬0?Û•US×Lµù8ÀãÂ;ŠOW}ŸúW¬¡O}Ôÿ#š?JÌ~@_ úB­[]ñ¾‹áöŒíªç]϶þ£;d±X¬õûU»Ðw÷±Ý%ÂË]Çv]q®?»Î,kÐB’´zÿj™‹Í2:üŠ­=¸VEÅEjQ»E‰û>Ùð‰¦®™ª^a½ô~ß÷/¹jì|áy+8wÉçÜ{b¯$)+ïºÀµsq±hÚ´£80HO>YK_|‘!“©ØÞe¨ä>ùÄ[óæU×´iGV`ïr€ CX¸&CZQ\jœ¾ßõ½bÇÊÁàPbÛ¾î¡Ý5+~–¾ßõ½ÞëóžêzÕµ^3[ÌŠÙ#sñõû.ÈZ= O7|ªo¶|£ø´xED(" ¢ÜãU|Z¼Í˜Q¢ôUüWšüÛdT°nk)I é :q5îfsOhÍPÍ1_Î}PÎ{PŸ øÌæ¾ÒtnÐYßnýVïþö®×l¬Ðš¡’¤ô¬tM\1ÑÚG’"ëGjvÂlMþu²Bj„XŸ+ùdr‰°ïJn†3˪¨u`kmMߪ÷×¼¯ñwŽ—Á`бœczû—·%I}›þéÜ<‹Eoþò¦þ»ù¿ê׬ŸÞéõÎe·WœÜkr©!ß7[¾Ñò=Ë5þÎñjØJMüšTø³ jòõ5kÆŒ =ôPm ¨Ï?ÏPPÐ¥Ïà€ò**2hâÄZ¸°º&N<¡®]Ë¾Ë p+ ,\“¡=ôZÌkš?KéYéêT¿S‰UH·Õ¹Mƒ"):1Z]§uU¯:ªQ­†²ó²•–•¦ü¢|é0F½Âz]—}Ý}Õ»io-Þ±X’4þÎñ×4^C߆Z¸}¡–&-U°w°2ÎfèDΉ cwùcì. ºè“õŸhâʉš7SÞîÞJ9¢ìül5óof³:«C½êÖ[K“–jÔüQò3ù) z€Ždщœz²ã“%Â2IªëUW F.ÐÃóÖè…£5¥ÏÝÛäÞKÖ~Wûԡ^ÅŠUßÿöU°w°œŒNÚj¿ Í…jT£‘5ììÒUJÌHT·Ï»©¡oC™-f:|æ°Ì³G .µß¿{ü[îž ?“ŸRϤ*!=AûOíW±¥X÷6¹W½›ö¾®u^ LüL~êÙ¤ç5Uß§¾>ìÿ¡Œ£¶gl׉œòpñЛ=ß´ ª"jGhâ=åæä¦Ãg+ñH¢ ƒ&ß;Yêu(1SôtäÓòpñÐñœãJ<’¨9'Ô6¨­º‡v¿d=~&?Í>GÍk5×3ß?£yÛæ]²¯Á`ÐôÓ/biÿ©ýúýøï2›Õ­q7};ì[¹:ºJ’ŒFÍ4CtVQq‘öœØ£ä“ÉêÔ “5p¬æ\­¼¯±Bœ8wBq©qŠKSòÉdIRFv†µ-åtŠMÿÖ­5mà4Õ®^[GÏUbF¢ Í…êÚ]ÓN³ÙþóâÙm‹E›S7[ÇüóŒìŒö¬À¥iþü#êØ1W> Ç PJŠÓ•o€ËÈÍ5èƒ|Ô£G]?î¨ùóÓ ÊPi, 'ðÀMæØ±cÊÉÉ)Sß4iìX%'ï¿ÎU]Úéó§µïä>IR› 6%Îû3‹Å¢CgéôùÓòq÷Q`õ@›³¿Š-ÅÚœºYÞnÞj\³q©clNÝ,“‹Éæ°½'ö*37Síê´“ƒ¡ä÷‚ì>¶[}ÿÛWÏtzFOÝñT¹žó¯µš µïä>[ŠÕ¸fc9K½/·0WO”A…Ô‘“ÑI‡ÏVFv†Z´›“›M³Å¬ä“ÉÊ+ÊSÏ:òq÷¹d g{Æv µ j#£ÁX껺è\Á98u@Å*V=¯zÖm#KsôìQedgÈßÃ_µ«×Ö—›¿Ô›?¿©wz½£á®æ5V¨ã9ÇuðôÁK^÷÷ðW°wp‰v‹Å¢ý§ö+§ GAžAªQ­F‰>'ÏÔþS—ÿ}UÏ»^‰•”u(óŽž=ªÐš¡—}ÇUÁÍðõ  ²Û´ÉM¯½VCû÷;)*êœî»/G;ž—›ÿàÊ,iÇ-_nÒÂ…*,4èé§3õàƒYrtäën^þþþ2™Lå½=š° nB·ZXv³3›5jþ(m:¼Ikÿ¾Vþ&{—tËX{p­<\<Ô²vKkÛ†” zêO)'?‡÷‰«Â×+€Ãl6héR“æÎ­®­[]åà`Qƒ…ò÷/’ÉTlïòÜ„òó :}Ú¨ädgåä8(0°Hfkøðlùú^¿sæŠr­ag–*­¤ãIz=æu¥f¥*#;C=›ô,5ؽp´Îå_~j.Õ4ãþ׫ԛ֞ã{ôö¯oË×ÝWA^A:vö˜Žž=*IÑzAp2-ê×ï¬úõ;«“'Ú´ÉMIIÎ:uÊQ99†+ Ê©^½XuêiàÀ³jÕ*OMšØ»$à†",TZÙyÙŠK“$5ðm  ]'”Ú/>5^góÏ^v, ¯ïVйAgÅì‹Ñ–´-:uþ”¤ çÔ o5\/t}ÁÎÕ¸’5ÌêÕ+G½zÙ»n^„e€J«}ÝöJ~1ùŠýžM¸ÕÜš×l¬ù#æÛ» àºq°w€½– Ê",@•EX€*‹° Uaª,Â2TY„e¨²Ë·œð)á6{X‰öèÄhõü¢§š½×L!o‡è—ä_nXMiYi y;D¯®|õ†Íy+ËÎËÖÒ¤¥zvɳjýAk…¼¢w{×Þe  r´wT„ØC±zé§—ì]Ê蕯hYÒ2{—–n=;þ¹£DÛª}«$IöÿPÝw“£ÄÝÌ<]=Õ;¬·º†tUnQ®^þée{—€*ŠÿIT GÏ•$u éJPv x­ûkÖŸ/߳܎• ªãÌ2ÀUË-ÌUÄûêýeïR¯Ÿ:JMÞi¢QóGÙ´Ç¥Æé±…©íÚªÉ;MÔå³.zë—·”“Ÿcí“_”¯·Côø¢Ç•ž•®±ÿ«¶ÿi«·Ct¾ð¼$Û3ËböÆ(äíkàÒü½æ y;D>í¤6´QÏ/z–Zãñœã ªÑ G_Õ³[ŠõŦ/5=Jaï†é®iwiƦ¥ö=”yè’ç˜]¼öƪ7.ùìO,~B­¦¶RÛÿ´Õ Ë^й‚s’¤u×iÐ7ƒ>%\·|»¦®™ªbKq©ã¤e¥YÇi1¥…þ¶àoJ:–tUÏ Tf|ë=હ9¹©WX/-H\ ;ns}ñŽÅ**.ÒàˆÁÖ¶¹ sõ+ÿO‹ÅÚ––•¦™q3µ!eƒŒ\ 7'7뵬¼, þf°Žå³¶ÿ•¥ÆÞa½5cÓ Å¥Æé¶:·Ù\Ÿ·mžÌ³jóP™Ç”¤‰+'jnÂ\ëÇ©gR5ù×ÉÚut×Us9YyY:{¨2²3¬m‹v,Ò™Ü3ÒrˆžXü„ÌÅfI‚ËO6|"w=Ôö¡ã ùfˆÍ;\s`âSã5Ä|…ù‡]±–ç=¨ )Ê\ûŠÑ+Ôзa™ûöÆÊ2@¹ i9D’½=ºÄµ…ÛÊËÍK÷4ºGÒ…@iRÌ$Uw©®·z¾¥OmÔîçvkù£ËÕ³IO%OÒ¬øY6clNݬڞµµðÁ…Ú9~§’_L–ÉÅTb®{ߣä“Õ(J’´kü.%¿˜¬•£WjDë2:õí–omî1[Ìš·mžBj„(²~d™Ÿy{ÆvÍM˜+“‹I“{MVü?âût¬^íöªböÅ”yœ+ÙœºY |臿ý ãwjñC‹ä¤Ÿ“ÖsKŸÓ¨¶£´æÉ5ÚþÏíú ß2:53nf©ãTТiÇ?whÅèêÚCç ÏkR̤ «¸•±² P. ­ªvÿ  wO«£«$iKÚí?µ_·{XNF'IÒÿvþOEÅEz£ÇêÙämCj„胾(>-^1{côøí[¯¹;¹kúÀéòq÷)wžŠj¥•{WêxÎqù™ü$]غñxÎq=uÇSW5ÞŠ=+$IÏuyNÃZÛG´¡¬¼,M]3µÜµþ™»>ø™ÜÜ%I-Zè‘ÛѤ˜IjÔF/u}ÉÚ·wXo}¿ë{ýšü«r smVç¹;¹kúýÓåëî+IjèÛPôû@½föR|Z¼Nž;©Õj\¶–¯‡~]!ÏܬXY(·Aƒt6ÿ¬–ÿ¾ÜÚvq¥ÙŸ·`ÜwrŸ$é™%Ï(ôP5žÜX'7V£ÉúN¨NäœPÆÙ ›±›ú7½¦ ì¢‡Ú>¤¢â"Íß6ßÚöÍ–oäéê©ûšßwUcÊ<$IêT¿S‰këw¾¶Bÿ¤™3kPvQ g $•ØNR’j{Ô–$e½œ: `ï`zj}Êz{—”aà–óÄíO”hÛwrŸ$iúÀéòq÷¹nsߨyn%C"†è‘ÿPßZ¾g9an)„e€«–[˜«›f¨žw=õkÖ¯Äu‹Å¢i±ÓTÝ¥º†·nsmçÑJHOPNAŽüMþº³áòu÷µ^7[Ìúdý'jàÛ@½Ãzkÿ©ýÚ²A™¹™zâö'ädtÒg?“ŸÉOÃjÿ©ýZ–´L‰‰’¤¯â¿’£ƒ£\]•W”§º^uÕ¿yÿ5[Š5mã4y¹yiX«aW|æKÍãíæ­‘mFZû>Zq©q:œyXŽFG5®ÑX·ß.£Á(I:’}D ·/T±¥X‡3ëÃuZï>@AžAeçfÒ1¸£½Kʰ pÕÜœÜôó¾ŸuàôE5ŠR5çj6×7Ú¨)«§hL‡1Ö¶“çNêÙ%Ïjã¡%ÆšxÏDÝßâ~IR‘¹H®ûPQ¢´ïÄ>}²ákßGn{DNF'}ºáS…× ×Àð:pê€Màôé†O%I |È×ÝWÓc§«KÃ.òró²™wõþÕzÍûz¶ó³ezæËÍs1,{}Õëš›0Wæ›{ƒ½ƒ5cÐ Õ÷©¯#ÙG¬ã¤e¥ÙŒÙ¾n{y•iœòønçwJ=“Zæþ#ÛŒ”·›w¹æn„e€r1XWNÔÒ¤¥1ÄæZôöhIÒ ˆA’$s±Y£ŽÖŽŒ ò R§äéê©C™‡´jß*Møi‚Bj„¨eí–Ö1Ò´jß*uªßIaþarut•“Ñ©D |hläX-MZª§èÉŽOZW|Õ4ÕÔSß=¥…ÛêÑöÚÜ7;a¶œÎz åezÞËÍsÑÚƒkågòS«ÀV ô T~Q¾’Ž')öP¬ž_ö¼¢GF«võÚ9V­ÿHÕ5 |€õþ@ÏÀ2SßíüNR6”¹¯°^„e¨ôËåÒ¯Y?½ýëÛZ¸À&,ËÊËÒʽ+u[Ûì¤f“$ BIDAT,IZ¹w¥vdìPŸ¦}ô^ï÷dtøc+Á;tÿ×÷ë¿›ÿ«ÿôûµýÔùSšÒgJ©Û<þYC߆9V»íÖSô÷Ž—‹£‹¤ !]íêµ5'a޹í IVt­9°F÷5¿¯ÌçŽ]nž‹&u›¤¾ {(VÙr6:ë¶:·é乓JHOPfn¦5,ûdÃ'ªë]Wc#Ç–˜«,ã”'ĺ¯ù}jÔ¶Ìý9“ Ua \L.&õí¡ïv~§½'öªqÍÆ’¤ïw}¯ü¢| Žlí»>e½$ÉÝÉ]Ób§Éb±Hºp¶™EUw­®;lƯïSÿŠAÙ•ŒÑz„Þùí­=¸Vt–$ÍI˜£bK±jûÐ5ÿWÛŽlÓÃóVQqQ©×O;U¦«¢Æù«ûšßwÕ÷•a ÜG Öw;¿Sôöh½|÷Ë’.lÁèáâ¡MzXû>Z’4?q~™Çö ®‡´¢Ö¤o·~«Î :«À\ èÄhµ«ÓNMý›VÈ’{(VSVO‘³ÑYQ¢TÏ»žÜÝeAk®UBz‚Š-Å7lœÒpfPa ÜÚÕi§¾ ôÝÎïô|—çµçÄ%KÒðÖÃåêèjíçéæ)IÞj¸|«ù–:ÖŸûK’Ñ`,µßÕòtõT¿fý´ qÒ³Ò—§ÌÜÌ _Uöëþ_%Iß÷±º†tµ¹–t<é†SÎ,J",\“A-iò¯“µjß*ÅŽ•$›-%éöº·+:1Zf‹YOÝñ” 6×OäœPÆÙŒëVãCmÒ¼mó4wÛ\mLÙ¨ÚÕkëžF÷TèÏC3¹˜lÚcÅê—}¿”èïltÖ™Ü3×<ÎÕàÌ2 $Â2À5>@SVOÑ7[¾QÒñ$…ù…©™3›>½šöÒWñ_iÞ¶yZ{p­:w”¯»¯²ó²•’™¢¸Ãqzä¶GÔ" Åu©±QFêÜQ³âg)·0W/Üõ‚Œ³rí¢Vµ[I’Æ,£¡=äíî­}'÷iõþÕòq÷ÑÉs'múûk÷±ÝúçÿT¯:r08h@ø€«çj\¯3ËvÛ¥Ÿ÷ý,IÚwrŸ$)>-^®ûP’Ô" …º4ìr]æ®aÜâþÿB$Y,üüFòu÷ÕÝîÖŠ=+$]8#쯌£fž©–½ _’Qtb´Íu“ÿu Ê.Õv”6¤l›“[‰•o¡{hwõiÚG?ìþAÑÛÿx¾Aƒäáì¡/7iÓÿá¶ë…_Ð÷»¾·¶µ¯ÛþªÇ¹ì:ºËŒ]´%m‹¶¤m‘$h=‚° ’ì÷u àrËàçî^,IÊËs›[±]jxꎧZ3T’Ô·ißRûx»yëóû?×þSûŸ¯ÓçOËÇÝGÁÞÁjÔÖºÒËÑ許‘cÕÀ·Á%ç{²ã“ò3ùÙ´õnÚ[Mý›ÊÑXúmMý›J’ú7ï/OWÏ«~ƲÌ3µïT k5L;î”Á`P›À6 ׺ƒëdr1Ùœ×6 |€šÕj¦M‡7)+7KYèxÕã”ö.n´fµšiläØK^¿ÞA(nçÎ9¨Z5û|¸ƒÅb±Ø»€­cÇŽ)''§L}“’\Ô§OV¬8¬† ¯se·®WW¾ªo·~«%/±gn¬?ôÖ?x(&æ°½K•ˆ¿¿¿L&SyofeÜâ6,££E»v¹–ýEZVšïX¬ƒ§ê‡Ý?(¢vD©AÙ´ÓT`.¸ìXÎFg=~ûã׫T JؽÛE¡¡—ÿ½p£–À-ÎÙÙ¢Ö­ó´f»úö-Ûj´ª"=+Ýz––³ÑYºN(µßôØé:›ö²cy¸x–×  À Ýôüó§í] € Â2¨ºu;§©S}8è/=56r¬<\<Ô5¤«êy×+µß˜cÊ´² @ù­ZUMyyºûîsö.Àg–ÀMèjÎ,“¤¬,EFkìØÓ=úÌu¬ ®žÅ"ÝjÔ(ÒôéGí]¨d®õÌ2‡Š,`žžÅ=úŒ>þØ[Çí]ØX¼ØC;wºè™gØ‚Ü|Ë ’=:SžžÅzÿ}_{—V99š2ÅWC‡f),ìòÛØaTnn½üòI-Zä¡Å‹=ì]¨¸X7ÎOÅÅÒ³ÏfÚ»€R–@%Ò½û9“© j*6ÖÍÞå¨âÞ~ÛWë×»ë³ÏŽÊËËlïrJEX•̸q§u^O=UK›7»Ú»UÅ"}ø¡þû_/½ýöqµj•gï’.‰° *é½÷Ž©C‡\=ø`m¶dpCåç4nœ¿>ýÔKo¼qB}ú䨻$€Ë",€JÈÕÕ¢>:ªG9£^ðÓ‹/úéäI£½ËPÉÅÇ»êþûµf»¾ü2CC†dÛ»$€+",€JÊ`Æ?­O>9ª ÜUW3fxéÜ9¾ô¨X))N7Î_<(__³/NSÇŽ¹ö.  L ‹Åbï"¶Ž;¦œœŠÛº,7× 3¼5c†—,ŠŠ:§ÎÏ«yóÕªU¤jÕŠ+l.•[q±”•eTJŠ“¶msÕªUsSݺ…š0á”î¾ûœ½KUŒ¿¿¿L&Syo&,€›PE‡eee9è»ï<SMññ®2› >€ªÃË«X‘‘çÕ·ïYÝyçyÙíØaTB×+,û³‚ƒ’“uò¤‘­”™Á`QõêŪS§HAA…2¹;»Ö°Ì±"‹Ü:œ-jÚ4ßÞe€]±”Uaª,Â2TY„e¨²ËPe– Ê",@•EX€*‹° U–Áb±Xì]`Ѭ,@•EX€*‹° Uaª,Â2TY„e¨²ËPe– Ê",@•EX€*‹° Uaª,Â2TY„e¨²þ-Rð?äÍ…§IEND®B`‚fio-3.39/examples/exec.fio000066400000000000000000000012031476262051600154730ustar00rootroot00000000000000[global] time_based runtime=30 [monitoring_noop] ioengine=exec program=/usr/sbin/turbostat arguments=-c package -qS --interval 5 -s Busy%,Bzy_MHz,Avg_MHz,CorWatt,PkgWatt,RAMWatt,PkgTmp [cpuload_noop] ioengine=cpuio cpuload=100 numjobs=12 cpumode=noop [sleep] # Let the processor cooling down for a few seconds stonewall ioengine=exec runtime=10 program=/bin/sleep arguments=%r grace_time=0 std_redirect=0 [monitoring_qsort] stonewall ioengine=exec program=/usr/sbin/turbostat arguments=-c package -qS --interval 5 -s Busy%,Bzy_MHz,Avg_MHz,CorWatt,PkgWatt,RAMWatt,PkgTmp [cpuload_qsort] ioengine=cpuio cpuload=100 numjobs=12 cpumode=qsort fio-3.39/examples/exec.png000066400000000000000000003070551476262051600155200ustar00rootroot00000000000000‰PNG  IHDR )—ý;^bKGDÿÿÿ ½§“ IDATxœìÝy|Œçþÿñ÷Dö ¡öµ¶ŠS­})qŠÖÞªQK‰Tµ–FÛSŠVkié†Ã—ÖÞ#U­ê©”¢¥ÒÕcKŠY$„$"$™ßÜL’HLðz>óxÌ}Íu]÷çšûs'Ÿ¹.Ãd2™PÌìl¸7‘¤JIŠ D¤JIŠ D¤JIŠ D¤JIŠ D¤ Ä¬\¹RmÚ´Q… d†å±ÿ~[‡à I@‰xë­·4tèPíÙ³G7Ö… ´ÿ~¹¸¸(##Cýû÷—›››þþ÷¿+==ÝÖá($)(‹/¶<’‹ŽŽÖ¾}û,Çþþþ–ç•+W¶< SZZšåøÃ?T³fÍ$I—.]RË–-•––¦9sæ¹ïèèhíÙ³ÇRÞ¼yó\ñîÛ·OAAA…gAœ={V;wî´תUËòÜÎÎNÕ«W·³í3Pú‘¤ØXll¬Õñ¤I“d† Ãиqã,åééé:qâ„åØÙÙÙjÛå””õêÕKeÊ”)rßqqqVõÝÝÝoop…”3^«cgggË󘘘;€¢#I°±Š+ZOŸ>]&“)ÏGƒ ¬êΘ1CU«VµO›6Íj%ÄÂöíëëkU?99ù¦±§§§«gÏž*[¶¬>ùä“B;/~~~VÇÙWŽ”¤+W®ä[@éC’"`cUªTQÓ¦M-LJÊU§C‡zôÑG­Ê,X ß~ûMP`` $éÚµkêׯŸÎ;W¤¾+W®¬V­ZY^‹ˆˆ°ª›žž.M›6M’´aÃ}ýõ×JJJRHHˆ222 5öœüüü¬Æeyž••eµ’ä Aƒnë\JIŠ@)°xñbyzzJ’>ÿüs­X±B/^T||¼^yåíÛ·O³g϶ÔÿñÇõúë¯ëßÿþ·¼½½µråJU¯^]’tæÌ 8P™™™Eê{éÒ¥ªP¡‚$é믿ÖÂ… •””¤èèh >\åÊ•ÓóÏ?/I2™L–vٟߎ¥K—ªJ•*’ÌIÛ·o×¥K—4kÖ,%%%I’úôéc‰@ée˜Šë7‡nË©S§4gÎ}ûí·:}ú´ìììT©R%=úè£zá…Ô¸qcI’aVí.\¸ öíÛëÀ¹úœ3gŽ&NœXà¾o8wîœæÎ«¯¿þZQQQÊÈÈ¿¿¿ºté¢W^yŲÅtzzºz÷î­Ÿ~úI³fÍÒèÑ£µfÍš|W9ܹs§Îœ9“çëíÚµÓöíÛ%I/^ÔüùóµiÓ&?~\iii*[¶¬š5k¦aÆiàÀ¹Þ¥IŠ D°Ý3($)€A’"($)€A’"($)€A’"($)€A’"($)€A’"($)€A’"($)€A’"(¶ ´X·n­C€R­J•*jÓ¦­ÃÀ]Ä0™L&[P†aë T{òÉ'µ~ýz[‡€»+)d³víZõïßßÖa@©Ó¯_?[‡€»­÷&’@‰ I”’@‰ I”’pß;sæŒ ÃÈ÷‘‘‘aëmbûöí¹Þ‹ùóçÛ:,w’pß ÉdÒêÕ«­ÊwîÜ)“É$Ef[íÛ·—ÉdRݺum €»IŠ D¤JIŠ D¤܆³gÏj„ ª_¿¾\]]åì쬺uëjâĉJHHÈUÿçŸV¯^½T®\99::ªV­Zš3gŽêÕ«'Ã0,zõêúkÖ¬±êÃ0 Í›7OC‡•ŸŸŸU­Z5½üòËJKK+plPT$)Eôûï¿«qãÆš7ož’““µÿ~>|X×®]ӻᆱæÍ›+::ÚRÿ»ï¾SÛ¶mµyófeeeiÛ¶mŠˆˆPtt´Ž=j©7oÞ<9r¤Ðç8p L&“ÜÜÜ,}½ûî»?~¼Ž=ª®]»êÔ©Sš3gަM›f5–‚Æ…A’"PDÇWbb¢$éÉ'ŸT:uT½zu 0@’ô×_éÅ_´Ô7nœ®]»f©ÿÈ#ÈÛÛ[Ó§OW™2eŠå9©yóæòôô´´‘¤°°0«zE‰ n…$E ¢££µoß>˱¿¿¿åyåÊ•-ÏÔ––¦S§NYVG”¤š5kZž{xxÈ××÷¶Ï‘—ZµjY'{ß7%6(’€"ˆµ:ž4i’ Ãa7nœ¥<==]'NœPBB‚U}ggg«ãì[4õyÉyžL&“åyQb€‚ I(‚Š+ZOŸ>]&“)ÏGƒ T¾|y«ú9W>LMM½ísUQb€‚ I(„°°0y{{«J•*jÚ´©¥üСC¹êvèÐA>ú¨$éPýúõ-¯EEEYž'''+...Wûž£¨ŠIŠ@-^¼Xžžž’¤Ï?ÿ\+V¬ÐÅ‹¯W^yEûöíÓìÙ³-õßÿ}•)SF’´aÃíܹSIIIzõÕWuíÚµb9GQ%6¸’pß;sæŒ ÃРAƒ¬Êyä†aõèÓ§åõ-ZèàÁƒzþùçU½zu9RþþþjӦΞ=«üQûÛß,õ;uê¤]»v©gÏž²³³S§NÔ¢E ùûû«N:–z†aékÖ¬‘aVÛ3÷ë×O'NThh¨Uìééé2 CË—/¿eluëÖµ´{á…T¯^½Û|ÇÜ/ “Éd²u¥aZ»v­ú÷ïoëPp Ptt´$iÕªU¹&[ëׯŸ$iýúõ6ŽwVRîÍ›7+ @9¿'§³gÏJ’\]]Õ¹sg[„ÅŽ$EàŠŽŽÖèÑ£õ×_éÊ•+:xð † "“É$}üñǪP¡‚­Ã€bA’"p‡tïÞ]_}õ•RRRÔµkW•+WN­ZµÒéÓ§5bÄýúë¯zê©§l&[Ü/Ô£GõèÑÃÖ¡ÀÁJŠ D¤JIŠ D8Ø:Àý-%%ÅÖ!à&ÜÝ݋ܖ$E€MÅÅÅÙ:ÜÄí$)²Ý3($)€a˜L&“­ƒ( ðuPªèôéÓÅÞoTTT±÷ €âS³fÍ"·u(Æ8îz=zôP:ulËüùóÕ¬Y3µk×ÎÖ¡à>õÕW_) ÀÖaà.C’"@6Ï<óŒú÷ïoë0€\æÏŸ¯víÚiÞ¼y¶÷©3gÎØ:Ü…ìl¸7‘¤JIŠ D¤J„ƒ­ $>ì¨ýûuü¸£.^´ÓÕ«†­CîKîî&ùød¨~ý«jÕ*MåËgÚ:$àŽJO7á¬C‡œtæL]ºd§¬,[GJ ;;ÉÓ3KUª\SÆéjÑ⊜œL¶ ($) Ô{çwôÒK/I’*W®¬3gÎØ8"àÞyGº>gU¹²Äœ½ãíõÙgžÚ°ÁSgÏ:ÈÝ=Kuê\•·w&¿Ôl$.Î^:iÉoeejÖ슾¤ÀÀÙÛóï÷®ƒ´b…—¶nuSZšüü2ôÀ×äí%Ã`î³ÌLC'N”Ñöí®Š‰q‹K–ºuKÕ3Ï\T£F鶸-$) Ä]»vMÍ›7—§§§víÚUèö'NÔĉÕ´iS%$$”@„@×®IÍ›KžžRæ¬&N4?š6•˜³wTF†¡+¼ôþûeåèhÒ“O&«{÷=ø`º PJ…´4C?ýäªÝ5iR}ò‰·^}5A­Z¥Ù:4 XÅÇ;è­·ÊiÓ&5h®É“Õ©ÓeUª”aëÐ@)ë mÛ\µn§úö Ðßÿž¬I“ΫbE~¯€»IЏ#²²²”Å~v¸›de‰=ï.‡;*$¤’¢£”¤‘#/ÈÅ…ª€ÒÆÅŤŽSÕ±cªNž,£™3ËkÈõê•¢7ß<'WW~öâî·j•§fÏö‘O¦-ŠU×®©¶ ÜE*UÊÐ!—4dÈ%}û­›fÍòQçÎU4yr¢¾dëð€B#I%®L™2:tè­Ã ®L‰9{W wSHHE5i’®¥KÏ* €o“wƒjÕ®é“Ob´}»«&Mª¨üõÉ'±òóãß0îN™™Ò›o–×Ê•^zþù =ú‚œœH˜E×µkªÚµ»¬?,«×^« ÈHG½òJ‚ìímPpv¶€ÛñÙgž=º’zõJѲe1$(w¡öí/ëóÏÏ(3ÓÐOèøqG[‡Úµk†FŽôÓúõžzÿý8…„œ'A ''“BBÎëý÷ã´~½§FŽôÓµk†­Ã Œ$E€»TXX˜ ð>> TTT”¥þŒ3,uÛ¶mk)ÿæ›o,ååË—Ï·ÿS§NiÀ€òððž~úi]¸pA'OžT¯^½äáá!???1BÉÉÉ–~6oÞlÕÏ•+W¬Æ‘˜˜¨ &¨fÍšrttTÙ²eõØcéûï¿ÏwìGŽQÏž=ååå%WWWuèÐA»wﶪ“žž®W_}UõêÕ“«««Ê•+§^½ziÓ¦MÊÌÌ,òû~ßjÛV2Œÿ=žzÊ\Þ¹³uyRRþ}„…Y×=yR0@òö–||¤À@)ۜՌÿ«›mÎê›oþWžmÎæêÿÔ)sÿæþŸ~ZºpÁ|Þ^½Ìå~~ÒˆR¶9«Í›­ûÉ1g•˜(M˜ Õ¬)9:JeËJ=&ÝdÎêÈ©gOÉËKru•:trÌY¥§K¯¾*Õ«g®S®œ9ÎM›ÌË2!Oáánúç?+(8ø¼Þ|óœHîVZ·.ZU«^Óˆ~JLä«à¸»„†VPD„³>ý4ZÝ»§Ø:pêÞ=EŸ~­ˆg…†V°u8@‘¤p—êÝ»·L&“üqIRHHˆBBB­µk×*<<\ƒ ²Ô •Éd’›››U?Ý»w—ÉdRóæÍoÚÿ„ ôòË/+66VóçÏ×§Ÿ~ª!C†($$DÓ§OWLLŒ^ýu-Y²D¯½öš¥ŸÀÀ@«~²‹UË–-µjÕ*-X°@ Ú»w¯\]]Õ©S'-Y²$W›””3FS§NUtt´~øá?^;vÔŽ;,õÆŽ«÷Þ{Oï¿ÿ¾uøðaÕ«WO?þ¸vîÜY„wü>·k—´¿äæ&5i"}ü±¹ü«¯¤V­¤Õ«%“Éœp˜ŸÞ½ÍunÌ…ó#:ZZ»V —²ÍY…†šë瘳êÞÝ\žcÎæêÂéå—¥ØXiþ|éÓO¥!CÌçœ>]Љ‘^]Z²DÊ6ghÝOv±±RË–ÒªUÒ‚RB‚´w¯9©°S's_9¥¤HcÆHS§šÇúÃÒùóRÇŽR¶9«±c¥÷Þ“Þßœyø°9aññÇ%ælžŽwÔ„ õÄÉzþù ¶@1pwÏÒGÅÈÁÁ¤  ?¥¥ñmpÜ>ú¨¬ÂÂ<4wnœš4I·u8àÖ¤IºÞ?Naaîú裛ü](EHR¸G©M›6rssSçÎÕ³gOíÛ·O ÅÒÿðáÃÕ¼ys¹¹¹éé§ŸVÆ µeËM˜0AM›6•»»»FŽ©êÕ«ë믿.PŸS¦Lщ'4þ|ÊÓÓSuêÔѪU«äçç§àà`ÅÅÅYµ¹xñ¢fΜ©‡~XîîîjÑ¢…>ýôS]½zUãÇ·ÔÛ¶m›6l¨.]ºÈÅÅE¾¾¾š3gŽêÔ©S,ïÇ}©IiÙ2éÀièPs"ßÈ‘æä¼ ß_PÔ¦9 ±sgóJƒûö™ÿŠÃðáæDF77ó*Š J[¶˜“›6•ÜÝÍñW¯.pÎjÊéÄ sÒc` äé)Õ©cNZô󓂃¥sV/J3gJ?l>g‹æ„É«W¥lsVÛ¶™cìÒErq‘|}¥9sÌý#—Œ CcÇVR£Féš>ýœ­ÃPŒ¼½³ôñÇ1:uªŒ-*gëp€[:tÈIsç–ÓÔ© êØñ²­Ã÷G¹¬©S5w®r²u8À-‘¤phÙ²¥Õq•*U$IgÏž-–þ[´hauìïïŸgyåÊ• |Î7J’zöìiUîää¤N:)--M[·nµzÍÙÙY­Zµ²*kÔ¨‘üýýuàÀÅÄÄH2¯ùã?ê¹çžÓž={,[<=zTíÛ·/P|ÈC¿~Ò+¯Hÿþ·y æÄDóª„E‘cÎêúœU1ÍY嘛º>gs•W®\ðs^Ÿ³Ê1gåädNÖLK“rÌY9;›W›Ì®Q#s<˜Wt”Ì+Dþø£ôÜsÒž=ÿÛâùèQ‰9›ËÿýŸ—¢£4kV<[<÷ š5¯é…ÎkéR/8QÆÖáù2™¤7ß,¯fÍ®hèЋ¶ÜGžyæ¢Z´HÓ?ÿY^&~MŽRŽ$E€{„———Õ±£££$)++«Xú÷ôô´:¶³³“½½½\]]­Êííí tÎôôt]¼xQÎÎÎòððÈõº¯¯¯$ó–ÐÙùøøÈ0roýX±bEIR||¼$iÑ¢EZ±b…þüóOuêÔIžžžêÞ½»%1·aútsÒÝ?š“íŠx[‘cÎêúœU1ÍY嘳²³“ìíÍ[3ggo_°s¦§›WEtv–ò˜³º>g•cÎÊÇGÊcÎêúœÕõ9«E‹¤+¤?ÿ4'cgg§«W¯æ*OJJº£q899ÉËËKW®\Qrrr®×oló\©R%«ò‹ó^¡æFrâdEÃ0ôôÓOë»ï¾SRR’ÂÂÂd2™Ô·o_Í;·8‡rÿپݜ¬×¨‘4fŒy5À’dggÞ9§;ó’££I#G^°u(6µyófÕªUËêñÍ7ߨ4¦½{÷æŠiÙ²e6é~áüÛo èÕK5kÕRÍZµä÷ì³yÖ³KN–Ç¿ÿ­J#Gªj×®ªÞ¨‘j<ø ªvꤊ“&Éé?îpäù³·7éå—î¦ãÇm§>òVïÞɪ_?ÝÖ¡€ûPýúéêÝ;YìmëP€›"Ià>ãçç§èèh«²ØØXýõ×_w<–>}úH’¾úê+«òôôtmÛ¶M...êÖ­›Õk))):#)î÷ß×Ù³gÕ¤IùùùI’¼½½uäÈIR™2eÔ¥K………É0Œ\çC!œ8! .}þ¹´i“äâ"=þ¸tî\ÉÓÏOÊ1g+Ù`ÎêúœUÎ9”ž.mÛf~?rÌY¥¤äNäüýwóÓMš˜Ç'IÞÞÒõ9«2e¤.]Ì‰Š†‘û|÷1“IÚ°ÁCO>™,—û{ÿŠÀÀ@EFFÊÅÅÅÖ¡X´jÕJ‘‘‘ªQ£†­C¹oØŸ?¯Š“'«òÀrüóÏ[Ö÷™9S_~Y&gg]¾\ýðƒÎ«Ì_ÉãóÏЧßàææ¦±cÇjïÞ½JMMUDD„žzê)9::jÁ‚VuG¥ƒ*==]ñññzûí·e2™Ô±cÇ;9Ì{GJŠÔ»·4¾Ô T­š´aƒ9ÙîÉ'¥k×Jæ¼]»šÏ±p¡9†¨(iüøÿ­@x'Íš%U¯.…„H›7›WTgeÒõ9«fͤlsV3fHAAÒÌ™æÄÄaä—^2o«œ˜hn;yrþýGD˜Ë·n•23ÍÏgÏ–ví2?߱ÜgõÎ;æþ0¯8w®4eйý£JeËJááR¶9«;¤zõ¤¥rå¤úõ¥o¾‘/–˜³¿ýæ,w÷,B€ë.Œ«èõë•Þ¨QÛ¤=ú¨LNÖߪ¾ü·¿Yž™™rÙµ«Øb¼]­[§éĉ2JJâ×X(]~ûÍY­[_±uà&êÖ­«nݺÉÙÙY;vTãÆm’¤Ò¸{µn¦ýûm/[€¢iݺµL¦¼·:ͯ\’¼¼¼´xñâ\åî§(çÍÌÌ”¬?‚úøøhÞ¼yš7o^¾m'Nœ¨‰'Z•…‡‡ç[_’š4i¢>úè¦uP š9ÝäšçÒºuþõoÖ——9Q/§<æl¡û¿Ùy33%;;)Çœ•4ožù‘Ÿ‰Íìn1gÕ¤‰Äœ½¥¨(GÕªuU†aëH€Ò!½AƒBÕ?7kVžåYžžÖ…ùù^ÂêÔ1o}÷矎úÿ„0”‘‘eÔ¾ýe[‡nÂÁÁA‹-²u¹”Ö¸ÀÝ«N«Ú¹ÓÅÖaù"I%âÁÔæÍ›U­Z5IRtt´ªV­š+I(5|м…óõ9«èh©jÕÜI੤${ùødÚä܉‰‰Zºt©¶o߮ӧOK’üýýU¿~}ª]»vzë­·´|ùr«vÓ§O׆ tôèQ†¡ÚµkkÈ!zâ‰'$™W¸ÍÙfûöí гÏ>«;wZÊ›7o®µk×8æääd-_¾\Û¶mÓÉ“'•––&ooo5hÐ@O<ñ„ÕJ»iiiúòË/õÅ_èäÉ“JHH³³³*W®¬¿ýío R¥J•¬ú?pà€-Z¤_~ùE©©©ò÷÷× Aƒ _N›7oVHHˆUÙ+¯¼¢?þøC»wïÖ… äëë«=zhüøñrv¶þfpaÆ[˜úy]£[]×›©Öºµìr•ŸÚµK•F’Ó¡C–²*ËÕõ–}Þ®2ÑÑVÇWš6-ñsT¹ræó.ØÛ8Àš-ÿOàNÊïsúï¿ÿ®]»véÒ¥KòññQ·nÝôÒK/ióæÍZ¹r¥¢¢¢äææ¦¦M›jÊ”)ª^½ºUý<^Ôû„¼Ú-\¸PÝ»w׬Y³´téR«×zôè!I*_¾¼öìÙSè8—,Y¢Ù³g[õ9þ|8X1Ÿ|"S+ºÙeÿÌìšmõo???Ëï\s¬ ~ã3|q|/È}Âí*Ž8;tè`uqÓ/¹å¥ cåÍ6÷Þ(8’¸‰„„«ãì„)gggËs'''«×n$ý·sçÎåCÎ8nÔ Ò{ァÇ«S§Núù矩úÙ¶ý5™ÌÛš^¸p!ßþ¤ÜŒ¼9û΋TøñåýÉ©8®«ÉÉIñï¼c9¶»|Y©;ÊTŒ«œÜŒçš5òûÇ?”éã£èuët!8X²ãWE¸5»lŸ øe¹ô¿ÏðÅñy¼ ÷ ·«8â¬P¡ÂmÇQ±rf›{o¿yà&r®8‘’’R¨öW®\±úH—.]’$uíÚUO?ý´ªV­ªªU«ZÚ®^½ZiiiZµj•Ξ=›gÿ¯½öš®oK¼eËíÛ·O—.]Òüùó-Ü»“ 3Þ¢ÔÏ© ×õfœýUåÞ{O±| ,OOŽóŽ®H’bcå;~¼”™YÄw#^Ë—Ë>!AÆ•+ª0mšjÖª•ëá’mUM $Üîçñâàáá¡êÕ«[Ž<¨'NèСC–û³ÒgAqv{÷h(Y†)çr ÷)Ã0´víZõïßßÖ¡¹†¡|WjJZ¿~ý$Iëׯ/ö¾£¢¢ \wÜ8_IÒûïÇ{·rþüyýë_ÿÒöíÛuêÔ)effªbÅŠjÛ¶­ÆŒ#ÿë[öFEE©[·n–vÓ§O×úõëuôèQ†¡ÚµkkÈ!zòÉ'­ú׬Y³´gÏ]¸pA+VT×®]•™™©•+WZÕýúë¯uìØ1…„„äŠó¡‡ÒªU«$IÉÉÉZ¶l™¶mÛ¦“'OêÊ•+òòòRƒ ôÄO(00вÅÙñãÇõæ›oêÀ²··×< >}úhõêÕ:zô¨¥ÿÊ•+kÇŽ’¤háÂ…úå—_tùòeùûûkРAZ¿~½þüóOK›5jèÛo¿½å{¼yóæ<Ç4|øp999éƒ>ÈõÚ[o½¥'žx¢Ðã-lý¢^×¼Ô¬UËêøÄ¯¿ªò!r<|8WÝÄÉ“•”o_žëÖ©ÂÔ©7=_ÜÂ…JéÞ]’ä?t¨\~üñ–1^3Fç'L¸e½;¥V­šzï½8õèQ¸í֒ļÜ/òûœ>fÌ:uJ_}õ•U¹½½½6lØ >}úäjÓ½{w-\¸PRÁ?õ>ÁÉÉé–÷LÐìÙ³õÇèÊ•+*_¾¼zõê¥É“'[în7NÉüe·€ë_JʯÞC=¤ÁƒßÖ=Q~÷hëÖ­Ó‰'$I¡¡¡6lXžqæt¿Ü£p/øúkwû*2²à¿o +ûêÝ…E’"Àu$)¢4#I¶F’bÁåüCIö?FáîÅuµ-’ÁP1/ÀÝâá‡V\œù>zÞ¼y6ßžº8p€5’q'ÜN’¢C1Æp×=z´^|ñE[‡äé“O>ц lîS‰‰‰ª]»¶­Ãy×´iÓ´k×.«Õ /IrqqÑÃ?l«p#I¸K°:€»Y­[ç%88XÁÁÁw ¸÷ÄÅÅéÕW_ÕèÑ£åãã£'NhæÌ™2™L²··×Œ3T®\9IÜ£àÎ"I ›?üížQ*†¡‘#G²Ý3læÆvϸ¹3fhùòåVeíÛ·WÏž=µ`ÁÛ…ÛÆuPÚµk×NK–,Ñ—_~©aÆéìÙ³2™Lò÷÷×€4tèPÕ­[×Öa îÑî>$)PLBCCjë0J¥ÈÈH[‡Pd\W¥½½½Ú·o¯öíÛ¨>÷h¸“ìl¸7‘¤JIŠ D¤JIŠ D¤JIŠ(””Õ®][¶¥ØÜ‹cºŸ¤¤§¨ö+µøþ½sýîÅ1àþF’" Äd2)++KYYY¶¥PÜÝÝÕ¶mÛ<_»[Ç3“ɤ,ÓÝwýÜǺ«í[7™“wᘀü8Ø:Ü<<<eë0ŠÕ½8¦û‰‡³‡¢fÞ[×ï^Ó½âòåLõêµM5jxhñâ6¶ç¶Ýkã)Íx¯§{ígʽ6䕸óÊ«æÇ½à^OiÆ{]\RµeË;:tèL&ÞKܿ)÷Úx7’ŠÙ‘#GÔ»woyyyÉÕÕU=ô6oÞ¬Î;Ë0 †¡   KýsçÎ)88XÕªU“£££*T¨ ¾}ûjÿþý–:aaa–¶†aèäÉ“0`€¼½½åãã£ÀÀÀuêÔIruuU‡´{÷î\õSSSµ{÷nK[‡<Ç}³1åSQ¯Ëv$öˆz/ê-¯`/¹ŽqÕCo>¤Í7«óÜÎ2F2F ú¿ls2ùœ‚W«Úäjrå¨ /TPßújÿélóæ·0K[c„¡“‰'5àãòö–OˆßTÔ¹<ædú>{Tý?î/ŸKÙ’K¬ê\¹–ãú¥$jº ª9µ¦œF;)à¥užÛYË\®´k˜“ÙÚ;ŽrTÙñeõØ‚Çôý‘lsrë;–ó¼ }'÷©Ó»ä1ÖC®c\ÕáÚ¹;WýÔôTíŽÜmië0Ò!ÏqßlLùÅTÔë‚[sssÐ÷ßwÓÒ¥³u(Åâ^OiÆ{]\NjÏžUêÝ»·Ú¶m«iÓ¦éûï¿Wzzº­î¨{ígʽ6ä$E€b©6mÚ(""B6lP||¼–-[¦ èàÁƒrrr’ÉdÒ’%K$I111jÙ²¥Ö­[§>ø@çÏŸ×öíÛuþüyµiÓF?ýô“$©wïÞ2™LzüñÇ%I!!! Qtt´Ö®]«ððp 4È*–¢ö=räH3F§OŸÖž={dooŸ«Nv±±±jÙ²¥V¯^­ (!!A¿üò‹Ú·o¯gŸ}VüñMß³íW­Zei¿wï^¹ººªS§N–÷jâĉ2™LjÒ¤‰’’’4~üx͘1C±±±úá‡tþüyuìØQ;vì°ªïææ¦‡~X&“I&“IyŽ»(1åºÜi‘ñ‘j3«"NFhè ŠŸ¯eÏ.Ó‚ïèà™ƒrrp’i±IKž¹>'/ƨå›-µ.b>òÎ/8¯í/m×ùÔój3«~Šº>ošõ–i±I7½>ö5! é¢è9ÑZ;r­Â‡kÐ'9ædû¹r¤Æ´£ÓoŸÖž©{dogŸ«Nv±cÕòÍ–Zýój-¸@ óôË´_Ô¾n{=»ìY}¼ãsòzûU{WYÚïºW®Ž®ê4·“–ì¼>'»M”i±IMª4QRZ’Ư¯½g(öÝXýðò:Ÿz^ßí¨ÇvXÕwsrÓõ–i±I¦Å&e|œ‘縋SQ® ÜêŸÿüU[¶lÑСCuìØ19R­[·Vhh¨>lëùp°u÷’©S§*))IK–,Q—.]$I 6ÔªU«T­Zµ\õ§L™¢S§Né³Ï>S=,õ׬Y£jÕªiܸqŠˆˆÈÕ.((HmÚ´‘$uîÜY={öÔ† ” òåËßVß“&MRûöí%I­Zµ²$õågÊ”):qâ„Ö®]«ÀÀ@I’‡‡‡BCC­V6¼UûÕ«W[Ú{zzjÕªUªQ£†‚ƒƒÕ«W/ùúúZÚ¤¦¦êƒ>PÓ¦M%I-Z´Ð§Ÿ~ªÆküøñV+EEQb’ v]î´©§*ér’–<³D]\Ÿ“þ µjÄ*U›\-Wý)ÿž¢S‰§ôYÐgêѨ‡¥þšçÖ¨Úäj·zœ"B󘓩MÍëc¯ßY=÷Ô†_6(!%AåÝËßVß“›¤öuÛK’ZUoeIêËÏ”Oщ„Z;r­_Ÿ“Î íjµ²á­Ú¯~nµ¥½§‹§VX¥Sj(xu°z5é%_Ïls2=U ù@M«\Ÿ“ÕZèÓ OÕøõÆ¿f¼ö¿z›s²1I».¸µÿü'F£Gï±ÿñÇßåädo9NJºªE‹Žè»ïb“&WW5mZNÏ=W[­[W°êëüùt-\xTÛ¶Å(..MeÔ²eyWOõë{åy¾íÛ»êí·ÿÐÎñ²·7Ô¬Y9M›ÖXU«ºYõ•¬9sþО=甑aR:ž;¶®–/Ò?ž“$õë÷€:vôËsݾ[ƒ|çßÄœNžHÍLe÷Å|uÒÜ:¯ƒb®ÕPµBUÎÞ=KTB ë¤1vçE¯K""zÓ¹³‹Æº¸¸4zõ:ÀD2mZCNœèÎo¿µÇÒRÁÇaÓ¦ÛyiccÓèÝû ;wF2sf#NêÁúõm‰Ï OŸ`NŸ~TàþÎ3`€Ç޽M` !!qŒ¦ÇíÛÉôíÌùóY±¢ÇwcÁ‚&¬[wƒ+W133&"¢7óæ5)ôxôÙ¯¶ÇTœðð^DDôÖêOÛ!¹çfÇŽ{OÏM7¶mëH‹NL˜pŠ_~¹ÉàÁîDDôÆÓÓžÄÄLfÏ>Ǹqõøë¯nüòK[2ùè£#?þ€áÃ=ˆˆè¥¥zG?¿ÊDDôÆË«B‘eZP|ÚÔQ0ggg>ÿüsöíÛÇÖ­[ñðð`ÆŒtêÔ‰ 6 T*Ë:D! JžG/çóHÛØ6nôã?:bi©ÀÓÓž€oÖ¬iE£FY¶Ì‡ˆˆÞyu9fmž‰B!„B!„¥I:) !„BHzz:IIIXXX`cc£±¾bÅŠéÈÎÎÆÞÞ###µ¿S§NpíÚ5¼ìíÕGÅÈ-(;;»Äy[[[k,+꘰°°ÀÖÖVëí´Ý>w¤Âèèhµå*TÐH 9bccuŽ¥¤1AñçåEKÏJ')- S lÌ ¨“Ö5Ò'¤&­ÊÆ~”=FCŒÔþNÝyZob ¨“–ùŽ]ñôØUÙ%ÎÛÚ\‡:ùt?¦ØZèQ'‹Ù>w¤Âè„|uÒ²:iû´N&– Nê^DÉ-Zt‰ÈȦNmHÇŽ.ØØ˜P«– K—úàädÁ¬Ygyð ýiÚ‹Ü»—ÂäÉ hß¾ VV ÜÝí ôA¥R1sæÙ÷ñÁ5ñö®„¥¥‚Ö­iß¾2çÎ=æñãŒçâ¸Hbb&Ó¦5¤Mç¼¼—.mFjª~µ´Ý¯>Çô"äž›iÓrεµ ŽŽæ îŸ_eô©©JfÍjœwÌ Tdñâfdff3{ö¹R‹O›º#ŠçååE@@AAAtìØ‘™3gòÖ[o±cÇŽ2{ ñ"Éó¨Ç9sss*T¨€‰‰ ™™™¨Tªÿ:tè W,¥•wþýØÛÛ“––FRR’Á·‰‰rF|ÞÇQ©4§aË-ãÜΊFFF/$¦òÈÜÄ[ [Ò2Óx’^@Ì×qÎÜÄœ V016!su&ªoUþu¨«G,żóïÇÞÒž´Ì4’Òô¨“Ål“øôüÛç«“É…Ôɤ§uÒî¹:‰ŽuRϘċ±gOΨ”:¨—¿™™1­Z9‘–¦äðáœs´woÆÆFtì¨>b”““îîv\¸OttªÆ>6¬¤ö¿‹‹%11ÏÒ:”³??õ8*U2§vmÍNÊÚÐf¿úÓ‹{nÚµÓì|ñý÷­0ÀMmYîÈUÏóð°ÃÙÙ‚Ë—ˆM+•ø´©;B{ÎÎÎÌœ9“ýû÷Ó¢E ÆϧŸ~ZâQ–…(ïäyT~ŸGºÆööÛÕøòKvï¾O¿~ÁÄÇg2vl½å«ë3Q!„B!„ÂФ“¢B!„åNyœ;ís®èèh®^½ª‘þ½÷ÞŽË÷ IDAT#++‹£Gj¬[°`5jÔ ++K¯XJ3ïçõîÝ€;wj¬óööfìØ±Zmÿ¿ÿýOmyzz:û÷ïÇÒÒRcúì´´4ÂÂÔ§x;þ<÷ïß§Q£F¸¸<û¢ÎÊÊŠŒŒg£¬xxxðŸÿüÇà1•W¹SçNûœ+:!š«1ÔÉ&ï‘•ÅшêͮԘPƒ¬l=ëd)æý¼ÞÞOëäùêä,oÆn,¦N>Ýþçóÿ¬tö_Þ¥©¥ÆôÙi™i„ÝÊW'ïç~ü}½ÑûçꤙYÏÕÉ©üçP1uR˜DéËÈÈ&))ssÖÖ&ë-€œ)sÓfg«hÜøÜܶ¨ý]¼À­[šŠmmÕó63Ë™j8·_lFF6ÉÉY˜›+°²Räß{{S½ŽO›ýê{LùyxlÕØ¾°¿–-5¯íüŠ;7É>3?s>4ܨ†ºÔ¡ŸªU«Àï¿ÿNll,ݺuã?þ(ë°„(ò<*ÿÏ#]c;¶UäÔ©G¼ývUŒôÎWŸg¢B!„B!„¡I«„B!„Í;—}ûö1fÌìííñõõåÖ­[|õÕWT©REcŠàyóæÌÀY±b­ZµB©T²yóffÍšÅÚµk11Ñï•­4ó.h?cÇŽÅÆÆ???˜;w.QQQÅvRÌÝ~̘1ØØØÐ®];¢¢¢˜4iQQQ¬^½:oŠå\öööLž<™Ù³gÓ°aC._¾Ì Aƒ033#00P-m“&M áîÝ»DFFrãÆ Ú¶mkð˜Ê«¹ïÍeßå}ŒÙ0{K{|]}¹õà_ýúUì«hL<ï½y‡3ð‡¬øp­\[¡ÌV²ùÄffý1‹µÖbb¬g,ż5ös5˜±Çbcnƒ_?R˜»s.Q QŒíRL|ºý˜ c°1·¡]vD%D1é÷ID%D±úãÕyS,ç²·´gò–ÉÌî9›†Õr9ê2ƒÖ ÂÌÄŒÀ¿ç«“5›r=„»îù8’q7hë^LÔ#&QúÌÌŒ±µ5%))“ää,/þ<Èé`æäd™™1vv¦$'gqéRO ÝFÔ,.kk’“³HIQjt 1dçºüû5Ô1…‡÷2`dÅŸ›‚ÄÇg¢RAþxsË/·³"€±±™™šS'&f$¾çëŽ(™úõë³mÛ6.\ȸqãfîܹ˜™™•uhBŒ<Ê÷óHŸØþú+Ž'O²ðð°cúô3Ô­k¯6Ú¯®ùêúLB!„Bñ²ÚÄòåÇhÞ¼95ÂÂBÚEù!#) !„B««+!!!øøøÐ§O*W®ÌСC™4iµjÕB¡Pÿ¢ÎÙÙ™ãÇÓ«W/FŒ““uëÖå÷ßgÛ¶m|ðÁ„††bddĶmÛ°´´dêÔ©@ÎtÆ ,rF.ìÞ½{‰óÎ?EòÖ­[5Ò|ôÑG@δÇaaaôëב#Gâàà@óæÍyüø1‡¦FE–Yîöýû÷gÔ¨QyÛ'''³oß>† ¢± Ë—/gæÌ™¸¸¸àççGÅŠ ¢]»vji—-[FÆ ñôô¤_¿~âéé©Õ1“>çåEsur%dR>µ|èóM*«ÌП†2éíIÔr¬…Â8_´uæø”ãôjÜ‹ëGà4Ö‰ºÓêòûéßÙ6b4{Zon„b4Ĉmgžû—–LÝúô؇±`×ÓcŸåM÷åÝKœ·Ñ|uòôV4­yzþì«6%Œ~>ýùËHÆ8Ð|Ns'?æð„ÃÔ¨TL|º}ÿæýõ˨¼í“Ó“Ù7nCÚP'ÍmXÞ93ÿ˜‰‹¿ ~ ý¨hU‘ ñA´«“¯Nö[FÃê ñœîI¿ÿô#° ž.žZSq1és^DÉüíoU8p@½ÃoFF6ÇŽÅaa¡ mÛœ¤]»VC©TqòäC|V¯¾JÛ¶»P*5§ ×Fîô¹Ól抋KãæÍâGŽÒWiSIåž›ƒ£5ÖõèÄœ9çÕ–¥§+9wî‘Ú²ððDbcÓðô´ÇÙùYƒž³³…Æ´¡qqiÜ¿Ÿ¢s|ÚÔQ2LŸ>ï¾ûŽ   >ûì3’’’Ê:,! JžGå÷y¤kl‘‘)LœxŠ•+[°zuK,, Ê£GêmêŽ0 ???6lØÀgŸ}Æ!CX»v-–––e–!Ï£òÿ<Ò&¶”%Æ…2mZ#ÜÜlX¹²Ÿ|r„áÃÿâ§ŸÚbbb¤s¾º>…B!„B¼¬ÆpèPîß¿OXXaaaìÝ»—o¾ù+++ZµjE»víh×®U«V-ë`ÅkÆHUž¾=B!„(CFFFlܸ1o„A}DGGS¯^=bbb055Í[~ëÖ-ÜÝÝùè£X»v­!Â}m5nܘYÖ¡¼PFFFŒ3FçŽ Ñ ÑÔ›^˜%1˜*ž«“oá>ÙZ~ÄÚR'K¢ñ¬ÆÕ¶ûòKÆ«‡››z‡ãªðí·¾Ü¼ù„… /‡R žžv|õ•Ë–]âܹxΟïQäñ|ü±«^ûÕæ˜ÊJþsS©’9Í›;2fŒ'o¾i“—®G =JçÇÛpŽS§¡Tªhذ"ãÇ×£iSµ|“’2™7ï<Ƙ˜‰—W¦LiÀ´ig¸p!€¡Cëиq%ƒÕ×››+ÿúW ï¼Sò‘Ø"""èß¿?Íš5cÕªU#H ¡-CÖKmÈóèå~ÛŒgùùçyÛìÜÙ '' ||þ§–ר±õ>ÜCë|ŸA›g¢B!„Bˆ—ÓÎ6ŒU™ˆÍöö¸¸8Ž9BPP‡æÉ“'¸¹¹Ñ»woz÷î³sÙ~n/WWýè(…B!ž2T'E ÀÌ™3qppàÂ… Œ9’ˆˆ¨]»¶£~ýH'EÝ;)ºø»0 õf¾;.Ü»ÀÈ_FAØ”0j;I, é¤Xr当âËîoÛGZš’C‡º–u(åVn'Å£Gß.ëPD! Ý,,,Œ?þl<…îT*§Nbûöí=z”{÷îakkK­ZµøðÃy÷Ýw ìDzùòe/^ÌÉ“'Q*•4nܘѣGÓ´iÓÿ‹î¤ø²“ç‘B!„BQzŠê¤ø¼ôôtBCCÙ±c{öì!-- ___ú÷ïO—.]066~A m”·ö³’tR”š%„Ba@UªTaß¾}ÄÇÇãççGÅŠy÷ÝwqwwçøñãÒA±-Z„‘‘gÏžåÞ½{1uêÔ²«Ü«b_…}ãöŸßB?*Ž®È»+ÞÅÝÙãSŽKÅX´{FCŒ8{÷,÷âïa4Ĉ©[¥Nв—FÓ¦ÿ#+Kýwˆ‘‘ÉܾýDFå"ÆŒòe˸{÷nY‡£“””:uêÄ!CÊ:”»qãýúõãÖ­[¬X±‚3gÎðÛo¿QµjUÆÏüùó5¶9{ö,}ûöÅÚښݻwÌo¼Á‡~È‘#GÊà(Äóäy$„B!„B”oæææ´k׎¯¿þš¿þú‹¥K—bffÆÈ‘#éܹ3?þø#)))ef‰HûYùl?“‘…B!ž2ÄHŠB”}GRÂPd$Åò-.. _ß?éÓ§&£G{R¡‚)W¯&2kÖynß~–-xã «²³Ü’‘˿ұ.++‹=zàêêÊŠ+ –¯!4hЀzõê±qãFuÉÉÉtïÞÚµkóÝwß•At†sýúuÞyçŽ?޽½}ÞòÌÌL|}}IIIáÌ™3˜™™M·nÝHHH (( ”J%o¿ý6©©©ìß¿?/}i“‘5ÉóH!„B!„(ÚŽ¤X˜;wî°nÝ:6mÚ„¹¹9#FŒà“O>)·#+JûYÙ´ŸÉHŠB!„B!ÄkÌÉÉ‚lCbb&ýû¦I“ÿ1th(o¾iÍï¿·—!…X³ænn[¸|9˜˜4Üܶ°dÉ¥²K¼ &&&Œ=š½{÷rëÖ­²GkÖÖÖ8pà¥o`…œFÍððpµVSSS\\\ÈÈÈ ===oyXX×®]ã­·ÞÊk`P(tïÞ¨¨(‚‚‚^XüB“<„B!„Bˆ—S5˜6m‡¦GÌ›7¾}ûríÚµ²MgÒ~V>ÛÏLÊd¯B!„B!„0¨V­œhÕJ¦ÑÔÅàÁî ì^Öaˆ2Ô¥KœÙ²e cÇŽ-ëpÄS‰‰‰Üºu‹zõêakk›·<$$Èù¥|~¹ËBBBxë­·^L ¢@ò<B!„B!^^*TàŸÿü'ýúõcÚ´iôíÛ—åË—Ó¶mÛ²M<çel?“NŠB!„B!„ⵤP(èÚµ+{÷îÅËË‹/¾ø"oÝž={Xºt)!!!ÄÇÇðÙgŸñÃ?дiÓ¼éd:ÄÀœ†Ü'N°wï^µ<<ÈÂ… 9|ø0 …ooo¦M›F5X³f óçÏàäÉ“¸¹¹åÅ®‘ßÅ‹177×XÌ‚ 8xð fff´k׎éÓ§“””ĬY³ ÅÚÚš:0eʬ­­ÕÊåÑ£G¬X±‚ýû÷ƒ­­->>>Œ9OOOµ´(•J­ÊÛÑÑ‘ÐÐÐB×?yò„ððp-Z„““‹-R[ýzÎtEUªTÑØ6wÙÍ›7µŠE!„B!„B®nݺ¬_¿ž©S§2xð`–,Y‚™™™´Ÿ=%ígº“éž…B!„B!Äk«E‹DDDкuk"""èܹ3S§Nå£>âðáÃüöÛo( †NDD–––jyøùù———Úò.]º¨åÀ€8vì„„„0f̘¼ôƒÎË¿iÓ¦DDDAxxxù¶Ÿ¹sçòùçŸó×_1uêT¶mÛÆ¸qã`ìØ±„††2jÔ(6mÚIJeËÔòŠ¥wïÞìܹ“™3grêÔ)Ö¯_O||<}úôáôéÓjéÃÃÃóâ,Ö•+WÒ¸qcúõ뇱±1ÿþ÷¿©S§ŽZš¤¤$¬¬4§ Î]–Pè>„B!„B!„öLMMY°`ü1&L nݺÒ~†´ŸéK:) !„B!„Bˆ×–‡‡ÙÙÙDDD¨-:t(-Z´ÀÒÒ’FNÅŠK´¯>øooo,--iݺ5íÛ·çܹs<~ü¸Dùæ×·o_¼¼¼°´´¤W¯^¸»»Ì AƒðôôÄÊÊŠþýûS½zu‚ƒƒÕ¶]´h÷îÝcòäÉ´oß+++ÜÝÝ D¥R1sæLƒÆškøðá\¾|™Ý»wãêêÊ»ï¾ËŠ+´Þ^¥R`ddT*ñ !„B!„B¼®&MšDµjÕø÷¿ÿ­¶\ÚϤýL2ݳB!ÄsÖ­[GHHHY‡!DöíÛÇØ±cË: ñš:{ö,Õ«W/ë0„Âàò¦¤ÉÕ¨Q#ƒï«aÆjÿ»¸¸SâÜç5hÐ@íÿÊ•+síÚ5_ªW©R…Ë—/«-Û»w/ÆÆÆtìØQm¹““îîî\¸pèèè§Œ))SSS\]]™5k<`Ù²ex{{ÓºuklmmHIIÑØ655;;;ƒÇ%„B!„Bñ:S(¼÷Þ{üøãjË¥ýLÚÏt!…B!ž³sçNvîÜYÖaQ  .páÂ…²C¼Ær?À !Ä«ÄÌÌ €ôôtµåù§¤1„ÜFÂüûÎý³¡ØØØ¨ýodd„B¡Ð8&ccc²³³óþÏÈÈÈ›¦qãÆ…æëÖ­¼FV”J¥Vq9::9eÍó:vìÈž={8pà@^#«««+ÑÑÑés—ÕªUK«ü…B!„B!„öILLT[&ígÒ~¦ é¤(„Bñœ7òÁ”uBh022b̘1,]º´¬C¯©¾}û–uBQ*r§ŠÑå—ØÆÆÆdffj,ÏßP«¯²šrÅÌÌ ;;;’““¹té …¢ØmÂÃÃK-Pá²eË–¬X±‚ .лwoµô¹?äðõõ-•x„B!„B!^g.\àÍ7ßÔ:½´Ÿ=#íg9ŒËd¯B!„B!„B”< R¥JZoãìì¬ñk丸8îß¿o˜,--Õq»té†  ’wqºvíŠR©ääÉ“ëV¯^MÛ¶mµþåwqæÍ›Çøñã \ ¨OñÓ¼ysÜÜÜøóÏ?ÕF¾T*•ìØ±:tè`Ø„B!„B!DŽÈÈH~ûí7Þÿ}­·‘ö3i?ËO:) !„B!„Bˆ×ÖéÓ§±µµ¥fÍšZoÓ¦Mbccùé§ŸHIIáÎ;Ìž=ƒÄT¿~}nÞ¼ITT§OŸæÎ;øøø$ïâøûûS£F &L˜@pp0IIIÄÇÇóË/¿°bÅ &Mš¤Õ/ĵµ}ûv–/_Ndd$DFF²páB¶mÛ†———Ú(çÆÆÆÌŸ?Ÿ„„&L˜@\\ñññ̘1ƒ[·n1wî\ÌÍÍ ›B!„B!Ä«*==ëׯ›îñãÇ|ñżùæ›ôïß_ëü¥ýLÚÏò3RzÒn!„Bˆ—”‘‘‘L÷,Ê-™îY”µÜéž7oÞlð¼µiÉ5rde–/1xåÝš5ט??g:†Ê•-8zôí2‰cÇŽHÆŒ ÀÌ̘K—z–Iù<M@ÀyîÞM&<¼W‘i/_N`ñâKœ<ù¥2›Æ+1z´'M›Ü@¦kzaxnn®üë_1¼ó΃ç=bÄÒÓÓ>|8}úôÑX¡±,))‰yóæqðàAñòòbÊ”)L›6-oÚ”¡C‡Ò¥K<¿üòKƇ›››Úò:ðí·ßpãÆ ¦L™Â… ¨P¡Æ ãÿø{÷îå‹/¾PÛ®gÏž|üñÇî§K—.ÓºøûûÓ¬Y3þþ÷¿«-5j£Fr¦ˆYµj{÷î%** ;;;êÕ«Ç!Chݺu¡e©«'Ožð矲sçNnÞ¼ILL ¦¦¦Ô®]›·Þz‹Ï>û í.]ºÄâÅ‹9yò$ÙÙÙ4jÔˆ1cÆÐ´iSƒÅ¦Ò¬—B¼®ÊËûNy¤TªØ¸ñ[¶ÜáÚµDRS•88˜ãéiOûöUèС2Õ«[—u˜¯4}ëg¿~‡8yòaë>ûÌ•©S¸îEhÐ`;©©ðba¡àÍ7mxï½|ú©+ EÙL§W”uë®óŸÿ\%>>“- hLÕªVéFãÁƒ4þûß¶Zçý2•MJŠ’† ·«-Û¼¹ÞÞE>þÖ¬¹–÷ÿرõ>Ü£ÀcŸ8Ñ‹ÁƒÝóþoÝúObbÒÔÒ|ù¥ãÆÕÓ÷0 uëÖ:wÞK£Fùí·öÏ¿$^å²?wî1?ÿ|ƒãÇ—†……gg j×¶¡U+'Ú¶­L†î´l¹“ÒÕ–íÞÝWWÛ¼ÿGŒ8ή]÷8zôm*W~öyaÉ’K¬Zõl:Mÿz æaðµUØ}ÄÈ*T0£iS¾üÒƒ† +¥ûô:”+ä´SÕªeCÿþµøÇ?jSÔL°ÅÝ[ y}ÿôÓõW¾üË¢^÷èÄåË Z§Ï½×¾Êvî´aÔ¨ÊDDßÞΨQ£¨[·.…¦»zõ*#GŽ$##ƒŸ~ú‰HûÙkÞ~æêêª÷¶ÒIQ!„â)é¤(Ê3é¤(ÊštR,?zôâÑ£ô2ÿÒþ“OŽpâÄÃ2ï¤xçN2ç¸?•ÈÈdRS•EvR<{ö1ÿøÇa:uraÊ”˜š³hÑE~ýõ6ß}׊6mœK”^”ŽÒê öàÁüüü˜9sfÞ}NmI'E!JOyyß)OÆŽ ãÿ»‡¿=Þ}÷ *V4#&&Í›oñÍ7W±·7ãĉnßoJŠ’=öS»¶-ß~ëkðü_FºÖÏòÜIr~Ó£G;»ðÍ7-HNÎâÒ¥fÎ<Ë•+ àÊ”)eg~AAQ öÿú—>>ŽŒyœ´4%¿ÿÞ^-Ý‘#± ÂŽÕ:ƒhãe+›ÜxÚµ«Ìwßµ*4m||~~»HIQÒ³ç,^ܬÀ¼ž?öü"#“iß~M›:°q£Ÿá$ŸE‹.òÍ7Wص«3nnºÇáU*ûìl ^díÚt£OŸš¼ñ†5‰‰™\¹’À·ß^ãèÑXÂÃ{•J'Ýo1eÊi pcÊ”jë”J>>ÿ#11“yó¼éÛ÷Mµõññt츇ãÇ»abRö« :ŸII™„„Ä1mÚ2øî»V´ný¬m¡´Þƒ^õrÍÌÌ&""‰3ÎròäC† qg¯BóÐöÞb¨ëûU/ÿ²¨×=z1|x]Þz«jÞ²iÓÎðË/7ùþûVøùUÎ[>ztuêØI'E ;;›~ø… ¢T*±¶¶æäÉ“£þ¥§§óý÷ß³bÅ ¼¼¼X¾|9ÎÎÒ*JÖIQ¦{B!„B!ÄKkéÒK4iR‰mÛ:`mmRdÚìl'žÂÎΔ šàìlAÅŠfÌšÕ˜š5m˜4éÙz§/Ÿõë×cmmM=Ê:!DjÐ`;ýú*ë0„(Ô¹sùãHúö­ÉçŸ×¡JKÌÍÔ¨aÍøñõùðÃZ¥¶o•JEvvÎ_I½Î×Ú–-퉈è­ñWÖ cmm‚³g7`ÆÛde•¯1OÖ­»A‹޼õV5Ì3Æ“sç«uMOW2}ú>ÿÜ]犅)ïeca¡ Z5+‚ƒc8þq¡é¾ÿ>ÍQ'Ë›ìl[¶Ü¡^={~ýõvGT¸W¥ì—.½Äš5ט5«1&xáêj‹™™1ŽŽæ´iãÌ÷ß·¢]»ÊÅgT¹‹ÒüêÙ³ÉÌT=]«±þèÑXš7wÔ¹#WqÏ(C>ÃlmMùÛߪ2yr²²Tœ7H¾ÅyÕËÕÔÔOO{–-óÁØØˆï¿ >>£À´ºÞ[ q}¿êå_VõZè&..Ž2oÞ<²²²P©T>KÛ¶/GG__' ç9Ÿ˜Xú÷‘×¥\]\,qr2G©TqåJÁSëzo1Äõýº”ÿ‹¬×üÑQmÅ¢ú¼ò£(g×®]téÒ…ÐÐPžŸp×ÔÔ”àà`?~Ìš5kèÔ©S¦L¡eË–ìÛ·aÆiŒ²(„¾¤“¢B!„B!^ZÏw,NHH TÐX× Aŧiè^¼<²³³™>}:U«VeРAeŽBQ$GÇœÎôGŽh޼м¹c©Lõ,ÄÍ›9þ*U2§bE³2ŽFÝó_®ç[ät¶úÏrFƒ377üëå¹lúô©IåÊìßU`uë®Ó®]ejÔ°.ƒèt³yómÞ¿& T¤n]{½!II™ÌšužÐÐX¬­MéС2S¦4ÄÚZ½éúÑ£tV¬gÿþ(bbR±µ5ÅÇÇ‘‘#ëâéi_à>ü ^äðáX #¼½+1mZü/׬¹–÷ì>yò!nn[€œ‚ÂÃ{‘‘ͪUáìÜyû÷S07Wд©ýú½Iûö•µúrþE?‹{g)¬ƒÿóå¡Í» èþ^¡olÛ¶ÝeüøjËBBÞ¦R%s½ßkŠªïóæ5´«wúÒ%Gœœ,8|8–1th||4ŽÏÐò_S/¾‹¹¹¢T®5Ðï:/èþ–ߨ±õ>Ü¥R…‡ÇÖ¼åo½U+šë\õ±uë]&O>Í­[É(P·®=~X‹wß}£DùâU”%/>fæÌsXZšäMm ú}Ž).Îää,š4Qoƒ)î¼¹ºÚrõjbÞòü#ŽNŸ~†®]«Ò¦aGž*ªl¼½w:²¢‘üïxçýjË‹;V]™™3dHαjU8ÿú׳7••Ó§O3jÔ(âârÊ­°yܹs‡)S¦Ð¯_?,-‹F ¡/é¤(„B¡'•JEvv6ÙÙÙeŠA¼jÇS7nÌ‘#G4Ö½¬åwÎß«àU;ž¢ØØÒ¸±3GŽô×X÷:•Cy—Fß¾Á¤§g3gNcZ´p"5UÉÆ·˜0቉™ ìÎàÁîôèÄ­[O˜=û“'7 n]{""™4é4}t„uëZÓ¼¹#Ç{0|¸ lWÛ—Ÿ_e""zÓ«×"#S ‰¨àøÒÒ”ÌëMóæNÄÅ¥±hÑE>þøsæ4áƒjÍèÑaøû×ç_ÿò!;þøã.牎NeâD¯¼|oßN¦oß`,-¬XÑ‚&M¸{7™yóÎsçŽv±å*i#§!ä~Yce¥Ù’»,!!Sïô¢| ¥Y³f˜˜ÜìõóÏ?³zõj.\HãÆ L#Dy¥í=¼K""z3lX(ûöE1uêFödáÂ&\½šÄßçïÝK& àË—7§Y3ž<ÉbÍšk ÂÿÛ–-‹=o/ò¨Í;Ë€nn«ë» èö^Q’غw¯ÎÅ‹ñ\½šH` öö9£–E•车¨ú®m½Ó‡®±XY)X¾¼9cdžqèP ‡Åàà`N›6δo_…Ϋ`iiø¯{ò_S…-7ĵ¦ïu^Ðý-4ôÆ?Á‘#±ìÛ×%¯³¤BaDDDoúö æ“O\éÑ#gšl]ê±¾2˜?¿ µkÛ•ªUáŒw‚3g3}zÃâ3(„!îQ¹öí‹Ê뤫vm[-jJ׮ϦRÔçsŒ6qFDôfÀ€£=WèyûøãÚy;?ýÔ/¾åÏ?ïѼ¹#Ë–]ÆË«M›:ðûïw¸t)={|ˆMcêÔÓ;‡)Ÿ~êªóT»Ú–M®sçÞÅÊêY§ë+®°lÙeƯO:v:«>þþ÷7ùæ›pvíºÏõëI¸ºætÞüé§ëøú:áêjˉõ:vmUÚtPøãH¼½+Q½º½zÕ`Á‚ 8ÍÇé88˜cggJDDo<¦Õ5¯ëýW/sÙÇÆ¦P¡‚n?äÒ¶MBÛwT€æÍ°°x6õ­BaÄÑ£±4o©qÞÔ·ÁÁÑŒ•3ýôóSâj{o/î¥Í3LWOždqìX,sçžÇÄĈ©S™¾°÷ }êó«\®YY*®]KdÆŒ³˜˜3cFcll4ß´¹·¦¤×÷«\þeY¯µe¨Ï¨ú|nzѲ²²X¹r%+W®ÄÈÈ¥RYì6ÒAQ”:™îY!„BO¶¶¶\¿~;w–u(ñª¾^Ör°µ5ãúõ!ìÜù~Y‡b¯ÚñèKÊ¡üX´è‘‘)L›ÖŽ]°¶6ÁÑÑœáÃ=ðóÓœö"5UɬYñö®„¥¥‚ *²xq323³™=û\©Å7ujN|66&ÔªeÃÒ¥>89Y0kÖYýÈ鬕ûÎP£†55jXsþ||Þ(Œ‡Ǩ½S”æ½]W¹NÝܶàíý“'Ÿ¦qãŠlÚÔŽÖ­ ñµ¨÷ }êó«\®uën¥G ÌÙ½»3½zÜÑ[—{K~%½¾_åò/Ëz­¯’|FÍõ¢Û€µs™ž={²råJ²³³µê ¨P(.6%%…B!„BˆbìÙs€ví4¿@ÿþûV£þXZ*4¦ôð°ÃÙÙ‚Ë—òF'0t|:¨OKcffL«VN¤¥)9|8€Ž]øïÛjäáéiŸ÷«ó\‡ålãç§ž¯³³E¹íœQ”ÜifRR4ms:íìLõN/ÊŽR©dΜ9LŸ>ììl6nܨ¶>55•‰'²dÉf̘ÁСCË(R!JF—{øó5ªXàòÂîó•*™S»¶aïó ¨ÇP¹²^^êÏË*U,‰‰Qï¿woÆÆFtì袶ÜÉÉww;.\ˆ':Z³ó|Æê£Ü¹¸äŒ ‘?ÿ¢´kW…S§1eÊiΜyœ7móÞ½]t¡Ì®^MÌû20÷oÆŒœ\º¾³FÛw]ê¤>±Ý¸‘ÄûïÄØØˆ©SjL]kˆ÷šÂ껾õ.WQçIßkÏÌ̘޽kðÍ7-9uª;?ýÔ†îÝ«ŸÁøñ'¸t)¡Ðm‹Š©¨XµaˆkMßò.ìþÖª•õêÙóûïwÕ¦þöÛk à¦V—ô½·–Ô[oåŒÀ·T‘éŠ:?¥uR(Œ¨^ÝŠQ£êòî»o°{÷}Ö­»®w~ÚÆÙ¦3vž·O>qÅÄDý0p ÇŽ½Í¥K=ùá‡ÖT¯nÍ‚xã kú÷“«W cĈº8;[бcÚ¶­Ì?Dè},Å•ÍéÓÝóF±;{ö1_}uGÔGðÖõXõñÑG®T¨`ÆŽ‘ܾ̆ ·iܸ’^SùêBÛ2(Ê•+ ܺõ„®]Õï ¹‹~ýõ¶Úrm¯ùõîó²–½³sÎû™®ÓQëÒ&ñ¼Âîá¹rÏSîyËßYËϯ2ÙÙ*Ž%-MÉÙ³ó¦–.«{{ažïtzíZoNœèÆêÕ¾4lXx÷¤o}~UËõèÑ·éÖ­:{öÜgÆ[¦×õÞR’^߯jù—u½ÖGI>£æzÑmÀEQ©T¯šŽ‘‘&&&Zu<ÏÊÊâÀ…N-„¡ÈtÏB!„zغu«Úè;©©©XXXäýÿðáCæÌ™Ã¶mÛ¸{÷.ÖÖÖ´lÙ’ÿû¿ÿ£C‡jyÅÅÅ1{öl¶oßÎýû÷±··§mÛ¶LŸ>=o Âüû»yó&&L`÷îÝ( |}} ÄÕÕU-ï+W®0qâD8@ff&^^^LŸ>eË–±ÿ~ D÷îÝ <}÷«Í1G›2\´h_}õÕªUcË–-Lœ8‘ãÇ£T*iÑ¢´nÝZ#ýÑ£Gó>œ) ²²² r^õ-³’غ5‚Þ½·>÷,,ž½ê?|˜Êœ9¡lÛÁÝ»IX[›Ò²eUþïÿ|èС†Z^qq)ÌžÊöíÜ¿ÿ{{sÚ¶­Îôé¾4nì\àþnÞ„ ‡Ø½û …¾¾U 숫kµ¼¯\yÄĉ‡8pà™™Ùxy92}º/Ë–dÿþ; Ô€îÝ] <}÷«Í1G›2\´(Œ¯¾Êùµaµj6lÙÒ‹‰qüxJ¥Š-\hCëÖÕ4Ò=z#£E@ÎYYã r^õ-3¡.##›¤¤LÌÍX[k÷1º°ŽkæÄƦñðaz^ãiÇç蘳Ÿ¸¸œF±¤¤L¾û.‚={îJb¢útŹï22²INÎÂÜ\¡6UÔóÇróæ­ãôðØš÷edqÍ }Gë¼µ•; OA_pç.«UËVïô¢l¤¦¦2zôh<ä4Ê>|˜ØØXœ¹rå ãÆ#66–o¾ù†Ž;–mÀB”€¶÷ðü,-5ïãÅÝçíí Û ;ÿTkFF9ï=ù§¨566";ûÙó"÷9иñ…æëÖ) mmÕó63Ë9N]¾w™1£ÞÞ•øý÷Û|üñš5«DÿþµøÛß4§ø,ˆ¡Ÿ¹S…æ§Ï;Ka´}—Ñå½Bר³øâ‹¿¨RÅ’àà¶m»KÏžê#âê½&}/I½ËUÔy2ĵ—ó>¯ÕªY±zõUþü3’zõ ÿ‚¼°˜€B—k£¤×ZIÊ» û[®AƒÜ?þ?ÿ|ƒ#êróæÂ²xq3µtúÞ[K*÷óÀÇš£‹=¯¨ófˆ{Tq||Ù¶í.ÇŽÅ2hvKçgŸ¹2iÒiµóÇ‚MŠÝÏÉ“ùý÷;lÝÚcc#nÜHÀÍíÙ;{:vlØpS¯ãȯ¨²¹?…¡CCpq±dÕª˜šjŽS’cÕ†••‚ÜXºô— cõê–É[Ú”Aa~ýõ6ÉÉY4hPð=áÚµDΞ}D£FÏ:IwÍ¿ÈwŸ—µì›7wäÂ…x®\I(ðGѵMâyEÝÃüüœ™3'g¤¹nݪcn®È›Î;g}e~þù‡ÇbkkJƒòò,«{»¡÷T’úüª–kåÊ,\Ø„óçóí·WyûíªÐô¹·äWÒëûU-m”f½Ö‡¾ŸQŸ÷"Û€‹óðáCììœ@¾ú*‚¤¤¤¼¿ÇObb"III$''“ž®þšÀ¥K—¨_¿þ ‰W¼žd$E!„B=ôêÕ •JEÏž=5ÖEGGãããÃúõë äÁƒüõ×_XYYÑ©S'Ö¬Y“—6** 6mÚĪU«xôèäÑ£GøúúRàþÆŒØ1c¸wï7n$((ˆþýû«Å¯¯/'Nœà×_%66–µk×ȹsç077G¥R±fÍšBGŸýj{LEѶ ýýýQ©T4jÔˆøøxFM@@ÑÑÑ:tˆGѱcǼaêsÓ[[[ÓºukT**•Ь¬,ƒW}ʬ¤zõrC¥ò§gOÍ/ ¢£“ññù™õë/Ø‘Fð×_aeeB§N›X³æ|^Ú¨¨œ´›6]aÕªÎù¤6¶¶¦lß~OO{;¥EÛ2(HV–ŠmÛî²iS»ï¹#ïþö۵튻æõ}÷Ñ×ËXöýû×B¡0b×®¢ÛË,¸€»û®_OÒ¹MB®®¶¸¸XráÂc¶m»KÛ¶ê?6nÙÒ SScŠáСÚ¶}Ö±R×{{q·Ý6´VÜ{PIêó«\®ææ üýë£RÁ×__T[§ï½¥ %¹¾_åò/NiÖë²¢KpisttÄÛû]às†Š¿¿?3gÎdÉ’%¬]»–-[¶°ÿ~Ž?ÎÅ‹ ',,Œ   ¶nÝʺuë¨PA3¥K:) !„BؤI“¸yó&Ë–-£{÷îØÙÙQ§NÖ¯_‹‹ £F"&&&/ííÛ·Y²d ï¼ó666Ô¯_Ÿ 6 R©9rdû>ÀÀŽtéR3/ïõ뻑œ¬ßÚÚìWßcÒ· s%'g²jUç¼øš5«ÂÏ?w##CÉèÑAzoIcÒ¶ÌDÁrG÷8x0Zc]AÌ™s^mYzº’sç©- O$66 OO{µ_Ð:;[hŒÔ—Æýûšç°¸øP/##›cÇâ°°Pжme”J'O>ÄÉÉ‚O?u¥R%ó¼ÉôtÍ/sGNÈj%×ãÇܼ©ß³¤,5o›-þyôôgJ¥Š;"qq±T›žJ×ôâź|ù2={ö$""¥R½ñ:++‹uëÖ±qãF¦OŸÎ/¿üBÕª†MHˆ²¢ë=\…ÝçãâÒ -×Ï-]uíZ-ïøó[½ú*mÛîÒz¤Â‚XZš¨u´éÒeoÞqÞÞ;¸~=g$.#Ú´qæ›oZbd¤ùÜ-t}g)Œ6ï2ºÖI]c³¶6¡re ¬¬¬^Ý++Æ…æM™f¨÷šÂê{iÖ;]cQ©r¾è«AiÜ[Ÿ·iÓmzö< ±\¥‚;ïЩ“‹Æzm½ˆ{Ô‰9ç$ÿÔº<t‰ÓÌ̘ü£vÞyÛ¶í.Ÿ}VüŽkÖ\%11“±cŸþ“;-äóÓ_^»–@­ZÖÛ룠²Q*UŒÆõëI¬\Ù‚ZµžMM9bÄqöî}6½·¾Çª [[StÃÖÖ”áÃë4ïÂèRÙ¿?ŠJ•ÌiÒ¤à‘ÌúöÍ™–õ?"IK{ö9@›k^Ÿw}½Œe_«– £Fyrþüc6o¾U`š7’øå—›¼óNõ¼Ù´m“ÐG۶ΨT°nÝuÚµSÿüme¥ iSbcÓøí·;y½ô¹·õŒÒf½¡÷%«Ï¯r¹¾ýv5êÕ³çØ±8މÍ[®ï½¥ %½¾_åò/Ji×ë² Kpy£P(¨X±"5jÔÀËˋ֭[S­Zµ²K¼â¤“¢B!„mÙ²€nݺ©-777§S§N¤¦¦²{÷n gj`cccºwï®–¶J•*Ô¯_Ÿ“'O©±µÿßx#gHüû÷ŸýÊu×®]tíÚU-­““uëê×0¦Í~õ=¦çéR†¹¬­­5¦’nРU«VåìÙ³DEÝW}bíʬ4mÙr €nÝj«-77WЩS RS³Ø½;gš£­[#066¢{wõÜ*U¬©_ß‘“'cˆŒLÒØ‡ú*o¼‘Ó@yÿþ³Fƒ]»röѵk-µ´NNVÔ­[øôEÑf¿úÓót)Ã\ÖÖ¦SI7hàHÕª6œ=GTTÉ:wéhWf¢`þþõ¨^ÝŠ9sÎsà@4ÉÉYDG§òÏž%..Ô똭­)‹_âôéG¤¦*9þ1ãÇŸÀÔÔ˜iÓª¥mÓÆ™ØØ4~úé))JîÜIföìs:ýÒ67¾€€sE‘œœÅÍ›O;6Œ¸¸4¦Mkˆ££9 …-Z8—Æ·ß^ãñã ÒÒ”„†Æ±~½fñ÷¯O… fÌž}–#GbIIQ‘ĸqaN»RÞ1~S2™0áqqiÄÇg0cÆYnÝzÂܹM07Wè^¼8{öì¡OŸ>t‰ó£jca¡`É’‹´níLÍšEw*ŒŒLfåÊ«LŸÞPísJ:v´léÄÊ•áÄÆ¦Cpp º«m?~ü Üܶe³We IDATY|‡ûâÊfΜó<Íœ9Þ´hQü¨ëº«>FެËéÓÝ í˜chº”AAeÿÛowèÓ§f¡ÛÔ©cG£F•HJÊd÷nõöµâ®y}ï¿úzÙÊ`øp† ó`Ú´3|ýõEnÞ|Bff611ilÞ|›>:BݺöÌŸÿlZrmÛ$ôá÷ÿìÝyX•eþÇñÏ<ì»”Y¸¦àž¹‹Õ¸¥v¹¤¿Æ™³ü™¢Ñ˜Û¯©\rÆJÚ['sri4+—ÔÉ%5µQRSedçüþ €œsàx߯ëêêâ9÷s?ßû~VŸó=÷ݧ4a©¸¸¤Òu˸ÜܜԺui²¾-×öêž«ûܚ눵*{’jv<7ä~5¤3ÚJ*M±l”»š\[*S“ó»!÷¿¥ìq\;‚5ï€HÎÕ€¥òóó•™™)WWWyyyUø<(¨ôŸÉÉÉåe%ÉǧêÑŽ?®fÍš™-»º¼ÑX:mGÙ4‡ùùùÊÊÊ’«««<==u5??Û^€[²][ÛTÆš>¼RUÃÐ7mÚT‰‰‰ºpá‚BBlÀÖ˜¤êûÌžòó‹•™™/WWgyyUœÚ%(¨ôÅwrrNyYIòñyµÊ:¿¨fÍÌûàêiˆŒÆÒ/JJLåqdeÈÕÕYžž+ÔéçgÛKJK¶kk›ÊXÓ‡Wòõ­¼MM›º+11[.\VHˆm_<Ø“T}Ÿ¡j®Z·®¿Þx㘞{.NÉɹò÷wQ·nMôÉ'}tÓMîfåÝÝô쳚?ÿ°LWq±I:øiÅŠ^êÜ9À¬ìŒm•Ÿ_¬·Þ:¦Å‹êŽ;|5gN{ýúkŽŽÍPXØZMšÔR~~F½øâÑòõÂÂÖjòäVš1£­Y|Ï?XÉɹrssVd¤Ÿ>ú¨—Ù¯¾ÚM/¿ü“>ú(A/½ô£|}êÛ7X÷Ýw‹Þ~û˜þð‡]ºã_­[×_Í›{hõê¾úË_ŽjÊ”ïTTdRË–ÞzòÉÖZ¾ü„vïNQXØZ}«-ê$Gض-I=¶×lYXXibùÂ…4fŒù èÈH?­^ÝW/½ô£î¾{³JJLŠˆð×Ê•½+ì[ÊÃþ>øà-X°@Òµ§_tvvÖ¦M›˜â Š¥×ð?ÿ9R£Fm/_¯]»Ï%I'NŒ4«ïêë|q±Ô¦·ž~ú-]ú“ÒÓ *Ä`é}ëî»oªÃäÉ­t÷Ý!9ò¿ËÃÂÖ*&¦­ºti¢Øi¶|êÔ6š:µµ\´fM?½ùæ1ýùχ”””+oo£Ú¶õÑÛowWÏž¥_â:t±ÒmΘѶüÞ •ŽÚ׿°Þ{¯‡$iîÜöš3çî¹g³|}ú¿ÿ‹(håÊÞZ¹ò¤¦MÛ¯ÄÄ\¹¸4Òm·yháÂN壭Ô%Ö>³TÅÒgkž+,‰mÆ³ŠŽÞ_^XØZÍ™Ó^;hüøK*ÝÏmÛ®×ðá·Ô蹦ºãÝÒãÎ׊åµ×~VJJžYùNüµjUmÞœ¤?LЋ/UZZ¾\]tûí^š6­þð‡Ûe4ÖnRþæÍIzâ‰ÿ>gµk÷¹†¿E¿ÿ}h­Ÿk59Ï¥Š×·2ÎzàÛôÞ{ÇõÈ#•Pgéq4th³*ŸÇ«2bÄ-òö.ò¡‡v)99W..NjÛÖG¯¼ÒUÆUþnÄR5½FµoÿyùTÅ[¶$•ï?ƒArwwVóæš8±¥y$¬Bò¡¥÷ƒ§Ÿnguœ~~F ~‹V­:¥G ¯ðùÕž{î°zô,ÍíJ/¿ÜEsçRÿþ_ËÛ»±¦Oo«ÁƒÍG ºp!OîîN q«Qß=š¡>J$ÍœyP3g¬Ïðá·Ô¨­U¹2Þ°°µêÝ»©–/ïYeù+ÏÕõëÏhýú3zöÙýþ÷·WÚögž¹C>úßøzöܤóçK¯UߟV~>ÜsÏMVõÁ•}Ÿœœ«^½Jt½m[’¾üòœ>û¬ŸÙºgÏæ¨_¿¯Ëÿ~ê©Z´èˆöî,©úsÞ–gŸê4„¾¿ZLL[ÝsOˆ>ú(A&|«””<¹¸8)<ÜK“&µÔøñ-Ô¸ñï9–¾“°ö^ÚÞ¦rr2¨sç€J,Ù§Oþú×+ŒÔhÍ3‚tí{”%Ÿ[z¹ýv/}ýõÀJÛjísÐK/u±ùxnhý:dH3ÅÆþw°€~ý‚Õ¥K€HSxøÏ9k¯-99Eµv~_©¡õ]8®?ûì´Ùuïá‡wK’¾¯¼«ú÷¢-ÿF-cÍ;`’Át­·¹7ƒÁ U«Vi̘1¯3bÄ­_¿^¹¹¹ru-ý—¯¯¯233uéÒ¥ m&LÐǬ?üP&LŸŸŸ²³³•››+gçê?RÙö$é™gžÑâÅ‹õÃ?”&èíí­¬¬,eeeUHTìСƒâãã•——gQýÖl×Ú6UÆš>”¤ÈÈH;vL—/_–Á`>²ÂÍ7߬ÄÄD%&&–')zyy)""Bß~ûm¥Û¯é~µ¶Ï,a0­W^y¥Ê2#F¬Óúõ'”›-WWçßâ~M™™ùºtij…„¶ ¾ÐÇÿ¤?¤ ÚÉÏï5eg*77ZÎÎÕ¹UÙöJÛ¸S‹ïÓ?L(MÐÛûUee(+kZ…DÅ>P|üEååM·¨~k¶km›*cMJRdä‡:vì¢._ŽÖU‡£n¾ùm%&f+1ñ‰ò$E/¯XED4շߎ«tû5ݯÖöYUF-IZ½zõ5ËÙ"!!Áâ²O>Yúrîµ×*N¯^W ¶MééùÚµk£CŒ°°P-]zNûöýI+W®´x½Æë»ï¾“···£Ã*,,T¯¾z^ƒ7̉ï¹g‹òòеsç½ÕFƒr#>ËÔ¥ã}„ouà@š~úi¸£CêŸÿ<­+~)O´°—K— u×]›tß}Í´p¡c~xu½ÚZ×Ô…¾¿R]ºØ[]ëûú®.ögC8žëb¿ÞHêbÿ×µãº.þ»é‹/<5ujNœ°ü};`­ÐPËfh¨ sÝÔ²‘#Kù¹qãF³åùùùÚºu«ÜÜÜʧ`¾ÿþûUTT¤]»vU¨gñâÅjÞ¼y•SVgРÒ•Mû\&99Yñññ6Õi‰Úh“5}X&//Oû÷ï7[väÈ%&&*""ÂlEwwwü÷w­ZµÒ»ï¾[ë1Õ#G–þÒzãÆ_Ì–ççkëÖ_åææ\>óý÷·TQQ‰ví:W¡žÅ‹÷©yówTTdÛƒ•n£lÚç2ÉÉ9Š¿hS–¨6YÓ‡eòòŠ´¿ùãGޤ*11[f£(º»7VAAqùß­Z½¯wß=\ë1@ývQ¯¿>ZŸ|ò‰UkV¸wø¯””NžžÎš>½ê1ííz´µ®qTßs/¨;Ç}CáÈþlÈÇ3Ç©cq\°’jÙ¢E‹Ô¢E EGGkÆ ÊÊÊR||¼Æ¯¤¤$ÅÆÆ–O¼hÑ"…††êá‡Ö¦M›”™™©ôôt½óÎ;zþùçµdÉ›G#\¸p¡üýý­Í›7+;;[GÕC=¤àààÚl²™Úh“5}XÆÇÇG³gÏÖž={”““£èÁ”ÑhTll¬YÙN:)>>^gΜў={ôË/¿¨wïÞµS]°hQoµhá£èèmÚ°!AYYŠ¿¨ñã7())[±±ä^^64ÔW?ü¥6m:©ÌÌ|¥§çéwâôüó{´dI?›G#\¸°·üý]½M›7ŸVvv¡ŽMÕC}©à`Û¦=¶Dm´Éš>,ããã¢Ù³ÿ­={•“S¨’õàƒe4:)6Ö|ÚÑN‚QgÎdiÏžDýòK¦z÷6Ÿzª6b€úê×_•t—NœØ£’Ë’å5j$yzzjïÞ½Õ¯ÜÀ23 4wîJJÊUnn‘ââÒ5mÚyy5Ö”)­«¯¨G8ÞºëÓOOë‰'öêòåb­\yR™™2¤fÓaW'55OgÎ\ÖÇ÷R` kõ+ÔG´µ®qTßKÜ Ù÷ ‘£û³¡ÏŽî×£û¿¡טî œ5Ó=¯[·®|d½2ÿó?ÿ£+VH’ÒÒÒ4þ|­_¿^gÏž•»»»î¼óNýéOÒ€æ JéééZ°`Ö­[§3gÎÈ××W;vÔÓO?­J’öîÝ«=z˜­7gÎÍŸ?¿ÂôÆC† ц $Iñññš9s¦¶mÛ¦¢¢"EFFjÑ¢EzöÙgµoß>åää\³=S¦L±i»–´©:Öôadd¤RSSµyófMŸ>]»wïVQQ‘ºuë¦ ¨gÏžfå;¦‰'êàÁƒò÷÷×3Ï<£É“'×Ê~µu_UçZÓ=¯[wB#G®»*î6Z±bÈoqçjþü½Z¿þ„Ξ͒»{cÝygˆþô§n0 ¹ÙzééyZ°`¯Ö­;®3g²äë몎›êé§»jàÀ[kc’zôøûUm¼Sóç÷’Á°äª6Þ® î—$ÅÇ_ÔÌ™;´mÛ¯**2)22P‹õѳÏîÒ¾}ÉÊÉ™vÍöL™ÒɦíZÒ¦êXÓ‡‘‘*55W›7Öôéßh÷îD•¨[·-XÐK={š' ;–®‰¿ÖÁƒçåïïªgžé®É“#ke¿Úº¯*ÃtÏÕ[¶ì¸^|ñ¨Ù²É“[iÆ ~ñ ÔÄW_}¥ÿýß@=ôP¦úöm,ƒÁ OOO999ÉÍÍMF£Q...rqq‘Ñh”›››£CÆ ¢¡L÷¼{wŠV¬øE?ý”©óçsåãÓX={6Õ´imÔ¼¹ý~L‚ºçFx–©ËÇû† gm>;ÀèÑ·jÑ¢º1½`oŸ~zZ³g”““AááÞZ¼¸“ÚµóutXvaM[ÃÂÖV[ßÔ©m4u*I–²ô^@ߣ>¨ËÏ6€­êúq]—ÿÝÄtϸj2Ý3IŠ¿±&I±¾kݺµrssuúôiG‡R+Ê’Ïž=ëèPìæZIŠõ]ëÖSnn‘NŸ~ÌѡԊ²$ųgwt(µŠ$EŽÔP’Áаp\€º‚$E\5IRdºg€*99Yþþþ*,,4[~êÔ)%$$T°§ääùû¿®ÂBói:OÊTBBF…Ñ4 $)4`/^Ô¤I“tæÌ]¾|YûöíÓØ±cåíí­yóæ9:<Ü`.^ÌÓ¤I_ëÌ™,]¾\¨}û’4vìy{5o^ê+Pï¤Ð@kË–-ÊÈÈPŸ>}äçç§ûî»OáááÚ·oŸn¿ývG‡XcK–,‘Á`P\\œÎ;'ƒÁ ¹sç::,T"8ØC[¶ŒQFF¾úôùD~~¯ë¾ûÖ*<ÜWûö=¨Ûo÷qtˆ5¶dÉ~ K—¢sç²e0,Ñܹß::,À¡œì'**JQQQŽÃnbbbãè0`¡¨¨æŠŠj¸Ó:ÇÄtULLWG‡Ô)Œ¤ì‚$E`$)» IØIŠÀ*6œUXØZ……­UÛ¶ëõÆi [«ï¾Kut(å¬iÙ²ãåÏ={n²stUsd_Ö•> ¾ IXeèÐf:qb¤îº+ÐÑ¡P¯lÝš$__£ºt pt(å¬éÑGÃuâÄHµiãcñ6._.VTÔך8q­aVàȾ´¥¸‘9;:€ºdìØ±;v¬£Ã*µtéR-]ºÔÑaàÖ¬Y3G‡P¯mÙ’¤~ý‚äädpt(å®GL&“I%%¥ÿÕ–«ãnßþsµmë«U«úÔÚ6êƒÚl÷Ú‡û#Ià ƒVË–-PAirb´¤Ž7¬Wîæè ê­„„,<™­§žjëèPÊ]¯˜<<œõÍ7÷ÖZ}u±/@ÕHR¸Âþð3ÆÑa”&)öÄñ GY­€º3+!@½³eK’ŒÆFêÓ'ØÑ¡”«‹1Y¢¾Æ ÀŠ$E,‘Q 7Þø¶lIRrržüý õÒðá·hÈfZ±â½øâQIRP«ÞzëNýõ¯?*..]%%RD„ŸfÌh«ÎK³=ßxã˜^yå'IRçÎåÓêíÜy^?¼[’äëkÔC$I›7'é‰'ö–dzcǽZ¼ø¨¶oO–Ñ褾}ƒôÿ×AYY…zþù#Ú»÷‚<<«ÿ Í™ÓA毮lORR®ÜÝé¯Ç ×wš•MHÈÒ_ÿú£öîMQq±Ô®bbÚUÙWééùzýõcÚº5IçÏçÊË«±ºvm¢'Ÿl­6m|,êïV­Ö©¸Ø²)!›4qÑÞ½ƒ¯YæêþÛ¾ýýå/?êßÿ¾ ''ƒ:vô×¼yÔ¼¹‡ÙzÖô“%e—-;nÕqe¬½~\}Ýûúëz啟µgOŠ22 $Iû÷‘ŸŸÑæ{BQ‘I-[zkÊ”VúàƒíÞ"I=úV bÑö½½ëË/ÏéÓOOëØ±LeeéÖ[=4fÌmš0áv5jd¨´=5½V¥¶ï?WÚº5I=zÊÝÝÉêçI*((Ñ›oÓ_œSbâe¹¸8©sç{[ù´ÇÖì÷«c²tWKHÈÒ¢EGuà@ªŠŠLÕ‹?þxŸ\\œl¾7_÷•çÆ÷ß§),l­$ÉÉÉ cÇFÔø™«º>´¤ÊXz®Y²ªk·$›,:¿,© €š0˜L&ËÞ¸4pƒA«V­b$EÔIƒAÒ*1’"g´F’V¯^]ë5'$$X\öÉ'ƒ$I¯½v¾Ö㸖””<½Cùù%Z° RÝ»*7·X«VÒ+¯ü¤9sÚ롇Â$IÆmÓ©SÙjÝÚG³g·WëÖ>:qâ’fÍúA YúðÞêÖ­IyÝíÛ®¶m}Ë¿0/3bÄ7:{ö²Yr‚$=þø^mÙ’¤{ï½IO<ÑJ¡¡^úê«DÅÄPß¾Ajܸ‘¦Mk£[oõÔúõ¿jÞ¼Czè¡P͙ӡB{òòеpaGu먔”<-Yò£¾þ:Q tÒ˜1·J’NŸÎÑÈ‘ßÈÍÍI‹wV§N:s&G‹Ñ©S9ºp!W?ý4¼¼î ÊúªX/¾ØIݺêܹ=ûlœââ.jÅŠ^êØÑ¿Ö÷‘¥ÊúoàÀMšÔR­[ûèàÁ4Mš´W-[zkÍš~åe­é'kÊJÖ'7º°°P½úêy œíèP€rŽ:.­½~”]÷ºuk¢iÓÚ¨C_ÅÇgi̘Ú»w°ŠŠJjtO8w.GóçÑÏ?g*;»Ðìž`Éöø!M=¶W11í4nÜm*)‘þõ¯3š?ÿˆ~8LÏèiiùêÑc“ž{.BãÆµ(_nÍsÀìÙµiS¢^{­›ºt Pvv‘–-;®eËŽëïï­îÝ-ßï~~ÆJc²fÆmÓÙ³—Õ®¯¦Oo£6m|•Pý±X–¤xõrKîͶô¥-}miZÓÖ<+X³®ÕîmÛ’¬:¿ªëCu×_xjêÔ 8aùûvÀZ¡¡¡6¯Û¨ã AZ²ä'={YóæuЀ!òðpV“&.úßÿm¥>}‚*”ÏÍ-ÖóÏGªcG¹¹9©}{?½ôR–è…×JL£Gߪ;îð•››“FŒ¸EááÞÚ±ã¼y$\mÚøÈÝÝIãÆµP³fîÚ±ãB¥í™;·´=žžÎjÑÂS¯¼ÒU®zþù8¥¦æÿVöG]ºT¨yó:¨W¯¦rwwR«VÞúË_:ëÂ…ÜJúêG;wY³g·W¿~ÁrwwRx¸·bc»Êd2é¹çâj¥ý55fÌ­åû§gϦê×/H‡_ÔÅ‹åe¬ë'ËË–¹Ç €†É–ëǤI-Õ½{¹¹9+"ÂOÇŽŸŸ±Æ÷„ðpo½òJåæ_3檶/IÝ»7Ñã·”Q~~FM˜ªaÚéƒN(;»¨Òújrt„mÛ’e2™bs»w§(<ÜK½z5•««“š4qÑ3ÏÜ¡-<«\çZý^YLÖn#+«P11íÔ¹s€ÜÝkv/³äÞ\UÜöt­>”,ïkÎ5[öuUl9¿¨m$)P¯¿N”$õí[1!ño»«|Å2nnN¦5nÕÊ[M›ºêçŸ3uáB^cjßÞÏìï  WIÒw˜o78ØMçÏ›'–µ§ÿ`³åFc#ÝuW òòŠõï—ŽV¹sgéÿûô1/Û´©k¥_”oÞœ¤F 0À°æ\³e_WÆÖó €Úæìè¨Ë J”•U('yxXöÏhoïÆ•.pÑ… yJK˯ñëžžæ± ’““AnnæË52¨¤ÄTþwuíiÒ¤4®””<”('§H..NrwwªP6 ÀE'OþwšÓ²º%)2ò_UÆ~êT¶‚ƒÝ®Ù¾V­Ö•!_&M\´wï`‹Ê–ñò2o»ÑXÚ>Óo›´¶Ÿ,-{¥ëqœh˜l¹~¸¹U¼Ž×æ=Áǧò˜®µ}©tº÷ß?¡¯¿NTrr®.]*4û¼ªm½VÇ÷ŸÜÜ"íޢɓ[YGeþüçuìè¯5kNë÷¿ÿV’Ô¥‹¿Æk¡{Òuªê÷ªb²v¾¾e0T¬ß–{Yu÷ækÅmOUõaKúÀ××hÕ³‚-ûº2¶ž_Ô6’`wK–,ÑÓO?-Iºùæ›uöìYG–3ÉË«±²² •“SdQ¢bFF¡L&UøÂ:-­t ¿€—òeTXXR¡Ž«¿D®-Õµ'5µôËñÀ@Wäáᬜœ"]¾\\!)%#Ã|úE£±‘¼½+'§H?ý4\NN•|co¡cÇFؼnm°¶Ÿ,-{%kޏRm]?jóžP¶mk=öØ^íߟªyó:hذfòós‘Á -_~B ‘Édy‚am°Çýg×®ååkàÀŠÓ[ó`0H#FÜ¢#nQQ‘I{÷¦hÙ²ãš<ù;ÍžÝ^?Vakc²ve?N¸š½îe×êËʯd¯g.KúÀÚgköõÚmíùU]`+¦{@µ Õ¡CõêÕ˦õcbbd2™QË‘ÀõQ6bÍöíÉ>6l›,8b¶,?¿X‡§›-;vì’.\ÈS›6>f# 5mêZaúã””<%&^®­ð+(kÏ7ߘ·§  D»w§ÈÕÕI½{—Nm]6ÅuÙŸe.^,ÐÉ“9ê¾÷Þ›U\lÒ÷ß§UøìwâÕ»÷—PåhÖô“5eËXsœÀ•jóúQ÷„””<³‘u-Uv¿ tÕþ*—ò$©üüŠÉdõÕ–-Iºåwµlé]á3kž:vÜ „„,I’³³A½z5ÕÛoß)ƒ¡âþ³5&k·qùr±~þ9Ól™=ïe×êK77g³$Ä»ïÞ¬O>9Uþ·½ž¹,íkÎ5köCUí¶åüª®°IаHII‰JJÎ…ê'ƒÁ|Ê¿ë%&¦­š5sׂGôÍ7ÉÊÉ)Rrr®ž}6N))yzè¡P³ò^^õÒK?é‡Ò•›[¬#G.ê©§¨qãFš7¯ƒYÙ^½šêÂ…<}üñ/º|¹X¿þš£^8l×QôÊÚ3þamÛ–¤œœ"<™­éÓ÷+%%OóæuP“&.¿•m'__£^x!Nß~{A—/ëĉ,͘±¿Òé>cbÚªysÍœù½vì8¯¬¬Bedèÿ8©×_?¦Y³Ú×h„Åëɺ~²¼lkŽ“YÙ9ÏèN¨kyLÖæõ£¦÷„øøKš9ó`…Ñb-áädP÷îM”’’§÷Þ;®‹ ”—W¬½{S´råI«ë«‹JJLÚ¶-YV>E¯µÏóæÒþ“©‚‚¥¥åëÝwãe2I=zÖZLÖlÃÍÍIÏ=§¸¸‹v¿—Uw»v¾:y2[II¹úá‡týúkŽºv (ÿÜ^Ï\–öµÏ –ÚmËùU]¨»*›q¨K ¦ë=_@e0´jÕ*3ÆÑ¡4X‘‘‘JMMeºg I«$q|ÂQFkÔ(iõêÕµ^sBB‚ÅegÍjª œôþûIµGu22 ôÆÇ´ys¢’“såïï¢nÝš(:ºn»Í³¼Ü°aÛ”žž¯>ê¥ùóëàÁt›Ô¡ƒŸžzª­:w6ÿ¢7+«P‹ÑöíçuéR¡î¸ÃWsæ´×¼y‡tôh†$iÒ¤–ºûî›4jÔv³u'On¥»ïÑÈ‘æËc÷å] IDATbÚªK—&zàf˧Nm£©S[WÚ77gEFúé±ÇZVøòûäÉlýå/GµgOŠŠŠLjÙÒ[O>ÙZË—ŸÐîÝ)’¤Ñ£oÕ¢EÊë~óÍÒº“’råímTÛ¶>š81\={6µmÔСC+í¿3Ú*,l­ÙòþýƒõÞ{=$Y×OÖ”µö8¹‘eg7Rdd -_ž¤Þ½í7Â(`­ˆˆš7/U£Fe]×íZzý¨ìº'I'NŒ¬°ÌÖ{Bq±Ô¦·ž~ú-]ú“ÎБ#ìÚþÅ‹zù埴}{²RRòäëkTß¾Á tÕÛo“$Ýq‡¯þüçÈZ½^/ߟ¦±cwêïï­îÝ›TøÜÒ瀧Ÿn§ŸÎÔÊ•'µo_ªsåâÒH·Ýæ¡1cZhôè[e0XÖï׊ɒm,[v\/¾xT’䪷޺SùË:|8]%%ªp,nÞœ¤'žØk¶áÃoÑïjÕ½ùñÇ[^³/ù%KsæÒÑ£åëkÔã·ÒÿüO «ûº²g®«ûÐÚ>(cé¹fÉ~°¤Ý–ž_ëÖõ·¨Ô]Ÿ~ê­… tèPÃøÑê¦ÐÐÐê U$E€ß¤h$)ÚŽ$E8^ÝHR|é%mÝê¡/¾8SëqÔ–²ä‘]»9:Ôa'–KH0êÞ{oÑ¿þuFmÚ8: ÜÝw7×}÷eéÉ'/^×íÖÕëÇ=÷lQ^^±vî¼×Ñ¡Ô)‹ÕêÕ§õÝwƒëÌHÂu1&KÔ׸àzxõU?ýë_^Ú¼ùWG‡‚¬&IŠL÷ €kÚ°aƒ CùyyyfŸ§¥¥iÆŒ •Ñh”ŸŸŸ ¤o¾ù¦Ê:ÿóŸÿhÈ!òññ‘»»»ú÷ï¯]»vÙ»)€Ö­ ôË/•›ËÓÀâèQ£œM -tt(€™V­ ôã5›&¶¾IIÉSçÎUTdþ»÷³gstút¶USß(¶lIRß¾Au*©®.Æd‰ú7\?ýä¢V­ø/ê.’pMC‡•ÉdÒðáÃ+|–œœ¬®]»jåÊ•ŠUjjª¾ûî;¹»»+**JË–-«°Nvv¶&Ož¬Ù³gëܹsÚ¹s§ÒÓÓ5`ÀíØ±ãz4 @=Ö­[®JJ Ú½ÛÝÑ¡¸NvîtW§Ny2™ uËwæjÏ7ÞX S™™š;÷%%å*7·Hqqéš6퀼¼kÊ”ë;•r}°yóÝzé¥.ŽÃL]ŒÉõ5n°·‚ƒöìqS¹Ž¨IŠ°Ù¬Y³tòäI-]ºTC‡•···Z¶l©•+W*$$DS§NÕùóçÍÖÉÌÌÔÂ… Õ³gOyzzªK—.Z±b… 4mÚ4µ@}X¬Žó´n§£C©`Ù²ã [«ŸÎÔùóy [«—_þÉÑa¡Žá8±NNN#mÙâ¡{ïÍqt(@æ(/¯‘6oö¸.Û« ×À@W}ôQ/]ºT¨qãþ­N6jÒ¤½ºí6­YÓO·Ü¸޶lñP^^#EEñ u—³£@ýµvíZIÒ!CÌ–»¸¸(**Jü±¾úê+M˜0¡ü3WWWuïÞݬ|ûöíuÓM7)..NIII ±ðê­ñã/iæÌ@:ÕX·ÝVw¦}ôÑp=úh¸£Ã@Çqb•+½URbЈYލ 8¸Hýúåèý÷}5hP¶ vP±®\?îº+PwÝÅ´ÎÔ&“ôþû¾ê×/GÁÁEލ#)À&ùùùÊÌÌ”«««¼¼¼*|$©tJè+ÈPÉ7¸M›6•$]¸pÁÑhH†ÍRxx¡.lâèPØQjª“Þ|ÓO'fÈǧÄÑᕊ‰I×Ñ£F­][ñyÀÞÖ¬ñÒÑ£.ŠŽNwt(À5‘¤›¸¸¸ÈÇÇGyyyÊʪ8ºQÙ4ÏÁÁÁfË333+­¯,9±,Yªâä$Í›ªmÛܵ};ÓJ Õ’%òò*Ñĉ P¥ðð=ðÀ%-Y ìl^µ€ë';»‘^z)@<©6m pM¼9€ÍFŽ)IÚ¸q£Ùòüü|mݺUnnnº÷Þ{Í>ËÎÎV\\œÙ²#GŽ(11QLõ À"Ý»çjذlÍœÙTgÏ:;:µlÍ/}ö™—æÌI•››ÉÑá×4}úE•”H3f4U ƒ~€ëàÊwÓ§ó#_Ô}$)Àf‹-R‹-­ 6(++Kñññ?~¼’’’[>ísM™2Eß}÷rrrtàÀ=øàƒ2ŠuPKÔG ^ÐÍ7é‘GBtéÿ¼Š\5wn ü¢î½7ÇÑáÕòõ-Ö{ï%iÏw-^àèpÀ àÅ´k—»Þz+Y¾¾ÅލßâÀfÁÁÁÚ¿¿Æ§©S§* @ݺuSNN޶lÙ¢‰'J’–,Y"ƒÁ ¸¸8ùúúêå—_Ö¬Y³¬>}úÈÏÏOÛ¶mSß¾}Ü"õ‰››Io¼‘¬¬,'=öXˆ22œ€Ú¿ßU?¢.kúôtG‡X¬}û|-\xAû›¯^}Õ_&v`2I¯¾ê¯åË}õâ‹Ô±cž£C,b0™xe IƒA«V­Ò˜1cJ4lØ0}ñÅÊÏÏ—³3S«^oƒAÒ*IŸp”Ñ5JZ½zu­×œP£õ7jâÄ99™ôî»I -¬¥È\OkÖxiΜ@EE]Ö’%çåêÊ++Ô?«VyëÙg›hР½øâ¹¸p€Ú‘ŸoÐ3Ï4Õ¦Mzî¹T{ÉÑ!áj󺌤€JÝqÇ:uêTùßçÎSóæÍIPP焇è³ÏÎÊß¿X£G7ÓÇû¨¸Øàè°X(5ÕIÏ<ÓT3g6Õ#dèµ×’IPD½5vì%ýíoIÚ¹Ó]£Fݬ\hpÕ¨Q7kçNwýíoI$(¢Þ!IUúë_ÿªììl}þùç:tèüqG‡• (ÖŠ‰?þ’- аaÍ´}»»JJ€ªää4Ò{ïùjàÀæÚ½ÛMo¼‘¬˜˜tÈ1F=w×]¹Z³æ¬Š5nÜÍš1#H§N5vtX :uª±fÌÒ¸q7+  XkÖœÕ]wå::,Àj ƒ€J½ÿþûš9s¦BBB¬… *&&ÆÑa@•\\LЉIÓèÑ—´pa€}4DÍ›êw¿ËÑwæªeËùù3õ&à ÙÙ”œì¬4jçNwmÙâ¡’ƒ&NÌÐĉ忯¹‰†ãÖ[ õÁIÚºÕC èî»›«[·\ xY;æéÖ[ åãS¬Fü„ü¦¤DÊÌtÒ©Suè«¶lq×¾}njÞ¼Po¿¬¨¨G‡ØŒ$ETª{÷îÚ¾}»£Ã«Ýzk¡Þy'YÇõÏzióf½û®¯£ÃBåH:/évG‚rr2©K—<͘‘®#²äãçh¸¢¢rÔ¯_ŽvìðÐçŸ{êõ×ý”™If"¸6_ßõêuY3¤¾}/ËÉÉÑ5C’" A /ЬYiš5+Mtâ„Q—.9)?Ÿ¹d룃?×òåéµ×’ läáQ¢&MŠV £‘Qqãpr’ ÈÑ€92™¤sçë×_uéR#™LÜ“@)ƒÁ$oïÝrK‘š5+”×h@HR4x¾¾%êÒ%ÏÑa L¦<-_. ”íèPÀfƒÔ¬Y¡š5+tt(ÀuÃÜ"À.HRvA’"° ’€]8;:€ºä‰'žÐSO=åè0€*L”Äñ GIS||¸£ƒ@=C’"PODFÞ®àà`G‡Ô¡C‡ê!’®ðÖ[oi̘1ލÀ`0èá‡ÖàÁƒ nPS¦L‘§§§£Ã@=ÓÈÑ€†‰$E`L÷ p¨ÐÐPG‡€z ((HÇ õ #)» IØIŠÀ.HRvA’"ª•­ððp :ÔÑ¡ê’ IòôôT¯^½*ýÌd2©¤¤D%%%×9*@}æìèP÷yyy)!!ÁÑaêFRvA’"€RRR4uêTÝvÛm2 Ôý÷߯C‡•—éÕ«— Cù>ø $iàÀfË322¬ª·LZZšf̘¡ÐÐP¹¸¸¨Y³f8p >øàåææjþüùåÛ¸rúæ/¿ü²|y“&MÊ—/Y²DƒA999ÚµkWygçÒA·×­[gw^^^•ñFùùùiРAúæ›oÊË\]Ç©S§4vìXùúú* @C‡µj¤Æÿüç?1b„|||äîî®nݺiÆ f}üè£VØî±cÇ4fÌ”/KMMµ¸¶ö­Á`P³fÍ´ÿ~EEEÉËËKîîîêß¿¿víÚeq» ¾!IÀBIIIêÚµ«>ýôS½ùæ›JOO×öíÛ•žž®=zhÏž=’¤o¿ýV‡’‡‡‡"""ôÎ;ïH’6nܨîÝ»ëÿø‡L&“|}}­ªW’’““ÕµkWýãÿPll¬RSSõý÷ß«_¿~z衇ôÎ;ïhîܹ2™Lòðð0‹ÿw¿ûL&“:wîl¶<&&¦¼|Ïž=e2™d2™TTT$I1b„L&“†^¡OÊâY¹rey<ß}÷ÜÝÝ¥eË–UZGtt´¢££uîÜ9­ZµJÛ¶mÓ¸qã,Ú'NœP=tàÀýóŸÿÔ… ´|ùrÅÆÆêðáÃrqq‘ÉdÒ²eË*lwÒ¤Iš­—_~Yƒ–§§§Úµk§O>ùD&“IO>ùdyÙˆˆ-_¾\qqqš0a‚L&“&M𤍍(=ðÀ6×;kÖ, ¿†êâ ’T:•òÕ|||Ìþ6’¤’’’j·™••%WWWyzzVøÜÏÏïšë_=MsY¶¶ÃeÓ{_­iÓ¦’¤ .Ô¨~¨‹HR°€‹‹‹|}}åìì¬ÂÂB™L¦Jÿëß¿¿ÙzÛ·oWff¦Ú·o¯É“'+..Îæz]\\äã㣼¼ûì3}þùçrssÓðáÕ’’bs½#GŽ”$}ñÅÊvìØQÓ§O/ÿ;$$DçÎ3+“œœ¬_ýµÒö¹»»›%ÞµjÕJï¾ûn¥e˔ųqãF³åùùùÚºu«ÜÜÜ*LË\SeS]—Mû\&99Yñññ6Õim;¬í[IÊËËÓþýûÍ–9rD‰‰‰ŠˆˆPHHˆM±@]F’"€…-Z¤ÐÐP=üðÃÚ´i“233•žž®wÞyGÏ?ÿ¼–,Y"gggIRvv¶FŒ¡¥K—ªmÛ¶ºí¶ÛôÏþS‰‰‰5j” mªwÑ¢EjÑ¢…¦OŸ®7*++KgÏžÕäÉ“•””d–¤xÏ=÷(11Q¯¿þº²³³• iÓ¦U9b_§N¯3gÎhÏž=úå—_Ô»wïjû¤E‹ŠŽŽÖ† ”••¥øøx?^IIIŠ-Ÿ.¹¶,\¸PþþþŠŽŽÖæÍ›•­£Gꡇ²yÔFkÛamßJ¥S\Ïž=[{öìQNNŽ8 |PF£Q±±±6Å uIŠjÚ´©öíÛ§#FhÊ”) TëÖ­µfÍ­_¿^cÆŒ‘$M™2E^^^:|ø°†®£G*55UýúõSaa¡vîÜ)£Ñ¨ùóç[U¯T:åðþýû5vìX=ùä“ P·nÝtñâEýûßÿVóæÍËËΟ?_>ú¨.\¨¦M›êü£ž~úi+--MƒAÏ<óLyù¥K—ªC‡jӦƎ«ØØXµiÓFëÖ­“Á`Ðúõë%InnnzðÁÍâ7nœ¦NZONN޶lÙ¢‰'J’öîÝ[¡Ž¹sçJ*fzñâÅ’JGƒ:tè5÷Chh¨öìÙ£®]»jÔ¨Q Ò¤I“4kÖ,µhÑBNNNåe+ÛneÓZ[Ú[ûV’<==õÚk¯é¹çžSHHˆúôé#???mÛ¶M}ûö½f› ¾2˜L&“£ƒ¨ ƒV­Ze–ˆú¥uëÖÊÍÍÕéÓ§Š™ÈÈH¥¦¦êìÙ³6×a0ôꫯjðàÁµ`¹)S¦ÈÓÓS«W¯vt(¸A}úé§;v¬x@ýÂHЍW’““åïïo6e¶$:uJ 0`€ƒ"\$EÔ;/^Ô¤I“tæÌ]¾|YûöíÓØ±cåíí­yóæ9:<ÀoHR@½¬-[¶(##C}úô‘ŸŸŸî»ï>…‡‡kß¾}ºýöÛb¹%K–È`0(..NçΓÁ`Ðܹs\7ÎŽ°VTT”¢¢¢Fµbbbãè0ÀaIØIŠÀ.HRvA’"° ’€]8;:€ºdÏž=ލÒ?üàèpKNNVXX˜£Ã@=c0™L&GP G‡uÚ¨Q£´zõjG‡Ô§Ÿ~ª±cÇŠ×Ô/Œ¤ð’¨]h˜HRvA’"° ’€]¤ì‚$E`$)» IØIŠÀ.HRvA’"° ’€]¤ì‚$E`$)» IØIŠÀ.HRvA’"° ’€]¤ì‚$E`$)» IØIŠÀ.HRvA’"° ’€]¤ì‚$E`$)» IØIŠÀ.HRvA’"° ’€]¤ì‚$E`ÎŽàJ)))Z»v­Ù²H’Þ}÷]³å^^^7nÜu‹ XÇ`2™LŽ LAA•-'''IRÙë ƒÁP^®°°Püãµ|ùr‡Ä ªÇtÏ N1=z´œœœTXX¨ÂÂB©¨¨¨üïÂÂBIÒøñã-¸FR8DQQ‘òòòê¨;vhèС×,ãëë«“'OÊÙÙù:E ¡suuåšÔ2Þ¸"//OçÏŸwt¨£Z¶l©€€¥¥¥UúyãÆuß}÷Uù9Ø"((HžžžŽhP˜îðÿìÝwtÔUþÿñ×d’LzBH]BOAzPŠ.Â+ ,ÊþPéRTö‹T¥ XPAV\ÖÊúµËw‚@!.BØ@(bB2 %½Oæ÷KÖ1’0”ç㜜“¹Ÿû¹÷u'rÛ{›Ž“““þð‡?ÈÅÅ¥ÜëEEE0`À N*‹"EpS0`€ŠŠŠÊ½¤Ö­[ßàD ²(R7¥–-[*,,¬L»‹‹‹zè! ¤•A‘"¸i 4HÎÎÎvmõ À­ƒ"EpÓ0`€Š‹‹íÚ5j¤&Mš8(¨ ŠÀM«qãÆŠˆˆ(=ÚÙÙÙYü㜠TEŠà¦6xð`FIRqq±ú÷ïïàD ¢(R7µÈjµJ’Z´h¡°°0'E‘"¸©…††ªuëÖ’ÄQÏÜbœ€šPP`ÐÞ½nŠ7)9ÙE™™N*)qt*TUaáH ôý÷#õ¯9:ªÈd²É×·Dáá…jÝ:_QQ…ŽŽ¨a)n+šôÞ{¾Ú´ÉSyyN -VýúEòó+‘Á`stP?ž¡¡@¸Å¸»Û4uêmÜxZAAÅzøá:ÚºÕÓѱՄ"EÀ-©¨È ±cCõ¿ÿë£+Ìš:õ‚L& nUaaÅúÛßR5`@¶Æчú8: 8;:U1{v öîuÓ¤¨U«GÇP œmZ´È¢ßý®Xóæ*4Ôª^½Øne줸å¼õ@@|± IDATV-}ù¥·^}ÕL"pš8ñ¢y$SS§éÈWGÇ\Š·”øx“^}Õ_3gžS¯^¹ŽŽ †Ì{N­ZhêÔPE)n6›´hQ€Ú´É×È‘ŽŽ 9;Û´lÙY9ã¬÷Þóut@Q¤¸e|ýµ·öísÓ /œ“Õ€Û^hh±žx"]+VÔÒùóFGÇTEŠ€[Æ[oùiР,EE8: ª`Æ ·ûÚ¸q££cá&7vìE¹ºÚôá‡>ŽŽ¨Š·„Üt옫{ŒcžoUýû÷WRR’ÜÝÝ·ww›† ÉÒgŸQ¤·"Š·„­[=V¤æÍÙE¸Óôí›­”gýûß®ŽŽ¨$Š·„ýûÝÔ¹s¾£cp€- äåU¢ýûÝPI)n II.jÒ¤ÐÑ18€Á …‡êÄ vR€[³£PééFÕ®mut ”Ãb±hÕªUúá‡tæÌÙl6Õ©SGM›6UŸ>}Ô»wo™L¦ uöìY­^½Z;vìPJJŠJJJT§NõêÕKãÆS­ZµªÔáÂ…Z·nݽ ,ЧŸ~ªÄÄD EDDhĈz衇ªå}Aõò÷·êâEþ¿-ÜjødpK(,4ÈÅÅæèø’’=úè£zÿý÷•ššªwÞyGûöíÓúõëÕ´iSM:UŸ}öY…ÆJLLT¿~ýô·¿ýMÙÙÙúæ›o´yófiíÚµ8p Ìfs•úÏž=[›6m²›ï‹/¾ÐªU«´iÓ&5hÐ@ÔôéÓµlÙ²ê{ƒPmL&› ŽŽ¨$Š@•:uJÇ—$Õ®][:u’Éd’¿¿¿&L˜ ¶mÛVx¬3f(==]’ôûßÿ^ 6TXX˜ú÷ï/I:sæŒ/^\åþ¿5nÜ8«N:=ztiûš5ktâĉ çWÆqÏ Ê‚ƒƒåææ¦üü|%''ëP=t×]w©cÇŽúä“O*4ŽÙlÖÁƒK_ÙÍqYtt´òóó•‘‘Q©þnnneæ¬W¯^é÷õë×/ý¾¤¤D;wîT£F*”\EŠ Ê<==µ|ùrÍ;W‹E'OžÔÉ“'K¯wîÜYK—.U:u®:ŽÅb±{½lÙ²r].,,Trr²òóó+Õ?<<¼Ìµ_.šL&»k.\¸j^P1)€ëÒ»woõêÕKûöíS\\œöíÛ§˜˜Y­VÅÆÆjÖ¬YZ·nÝUǨ]»¶Ýë§Ÿ~Z'N¼bÿÔÔÔJõ/ϯ  ì®ùûûWj,P>'G·®´´4EDDèüùóêСƒÆ§wÞyGóæÍ+ísâĉkŽª¨¨¨Ò×G-ÓgĈ>|x•ú—çôéÓ¥ßÿüó촧 uëÖíš™ÀµQ¤®‹ÍfÓäÉ“uøðaÊb±hÏž=¥×ï¿ÿþ ³xñbyyyI’6nܨ/¾øBYYY:þ¼^yåúè#IRJJŠV¯^­;w*55UNNN PÇŽ5jÔ(5mÚÔîÞÊô?~ü¸úöí[úzÁ‚úßÿý_%&&Ê`0(""B#FŒÐ!CjèÂõ˜4)X’´bEÅo•\Zü  zP¤pŠq£ý¶Hqûöí s`"TEЏ(RªÇ=€A‘"¨)€ÛÞÂ… íŽz–¤=zhÊ”)JÀÁÙÑjÚìÙ³5{ölGÇàŽÃNŠ FP¤jEŠ FP¤jEŠ FP¤jEŠ FP¤jEŠ\En®U÷Ý·Y£Gïvt”jq»­ÜÜ(Rà*l6›JJ.}Ýn·õ€››³£p3óôtÖ¶m}£ÚÜnë77vR5‚¸‚èèT[úúðá?Èd2–¾NO/Ô›oþ[[¶¤*55OÎjÝÚ_cÆD¨sç@»±.\(ÐÊ•‰úî»T™ÍyòövQ‡š4©©¢¢|Ëoûö>Z¶ì°¾ÿþ¬ŒFƒÚ´ñל9-U¯ž§ÝØÇg饗+6Ö¢âb›š4ñÑSOEjݺãÚµË"I:´¾zõ -w=U·"kº–ÈÈ/eµVìè逓bcûU¨oE²=üðÅÅ/½gàÀºzå•ö9rgéû&Iûöõ—K¥×üëç#--_þþ®jÜØ[ÖÕƒ†ÉÍÍ(nw›ÍV±  eggËl6W¸xxc½ñ†Yýúe×`ªò«-[RíŠ-–| £ü|«/n£Že±äëå—kóæ3Z´¨­† «/I:{öRß‚«–,i«Ž•’’£çŸ? .ꃺ©Mÿ2óݨƎm¢¦M}µoßy«&M|ôùç=JûþüsŽÞ&ww£–.m§¶mk+%%G Ò‘#ÊÎ.RBÂÀk®§²óVvM7Re²9’¡aÃbÔ —>ù¤»ÜÝ*,,Ñðá;4jT¸ú÷«Ò¸—Ÿ‚‚-ZÔZ:*/Ϫüã”–/OЬY-4jT¸CÞŸ[Õ¤IÁ’¤+*þ{¨¬àà`yyy9:p[á¸gªàå—”œœ«Ù³[ªW¯Pyy9«aC/-_ÞAnš?ÿ€Î+øOßÃJIÉÕÌ™-Ô£Gˆ<<ŒŠˆðÑë¯wÍfÓ¼yÊcذújÓÆ_îîFuí¤=‚uðàE]¼Xø«‡•™Y¤9sZª[· Ò±—/o¯¼}~'IÚ¶-Í®½°°D»vYäæfÔ=÷\:ê·oß:²ZmŠ‹;_fœ·ß>ª{îÙXáÝëòq—}¾ÌbÉ×É“ÙU³"jrM׫²Ù’“sõÜsûôæ›ôöÛåæfÔ¸q±ºpÁ¾È³2ã^~>¶oO+ÓwÀ€­Z´èÐu­€[EŠTÁ´iÍæ¡… jëÖTåäëäÉl=ýôY,ùš3§¥L¥}ëÕóÔôéqЉ1++«Héé…úøã“Z¹2Q3f´¨òn„Ó¦Ý%??W-Xp@;wžUn®UGfjúô} t«Î%ÿfÞš[ÓÌ–›kÕ¸q±š3§•Âýæ©7ßì$³9O'þ¨âb[•ƽü|,ZtHÛ¶¥)'§Xiiyzþù²Xò5jTc‡¼7Üh›Íæ˜m w´ììl™ÍækwüððÆzã ³úõ«¹Ý+::UãÇÇÚµ XW¯¼Ò^’”ž^¨7ßLTtô¥¥åÉÝÝY­[×Ò˜1Mt÷Ýv÷¥§jÕªK}SSóäããªfÍ|5zt„ºv ’$ýôÓE ²Ýî¾ "õÌ3Íþ…]{Ïž!Z½únIÒÉ“ÙZ¶,^»w[dµJQQ>úË_šëµ×tð`ºpÕõ<öXã*Í[‘59JE²½ðÂ}ðÁ‰Ò{þùÏûè¦þÏn¬§Ÿn¦‰#+<î¯3üúùð÷7©cÇM¥ ¼jø¸ýLšti×Ð+*þ{¨¬àà`yyñç¨N)âV(R¼Õõé³EùùVíØÑ×ÑQ€ëF‘"nŠ€êÇqÏÜÂ,–|µk÷vÇKRrrŽ~þ9»ÌŽŽ7EŠÜâ22 5{ö~¥¦æ)/¯X\Д){åíí¢§žjêèxàæìè êÝôÞ{ÝôÁ'4|ø÷2›óäë뢮]ƒ´|y{Õ­ëáèˆàF‘"·¸.]Õ¥ Ç:€›Ç=€A‘"¨)€A‘"¨)€A‘"¨)€A‘"¨)TÐßÿ~\]»~«»îúZ?¾KgÎä–ÛoÊ”=1âûœ€›Eаukª-:¤9sZjÇŽ¾ÊÏ·ê©§þU¦ßÎgµyóÍŸßÚ)¸¹P¤n¸-¾ÖÃïptŒJùûßO¨S§=ð@Õ®mÒÔ©Q:xð¢ââΗö)(°jîÜŸ4fL„7öv`Zn)TÀñãY ÿoáaD„$éĉìÒ¶U«%I&DÞØpܤœàV`³Ù®tEÒ¥"ÆwÞ9¦Õ«ï–Éd¼qÁ¸‰Q¤ÀUX­6mܘ¢O>ùY‰‰ÊÊ*Výúž6¬FŽl$''ƒ$)::UãÇÇ–Þ·yóýZ¾üˆvï¶(=½P’´gσªUËUÇg饗+6Ö¢âb›š4ñÑSOEjݺãÚµË"I:´¾ÂÂ<µ|y‚$©]»ÚúÇ?î•$íØaÖãï’$ùù¹jïÞËÍÓWK—Ækûö4¹ºÕ½{°æÎm©¬¬"ÍŸH±±gåé颞=ƒ5kVKyzÚLpáBV®LÔwߥÊlΓ··‹:tФIMå[îœÛ·÷Ѳe‡õý÷ge4Ô¦¿æÌi©zõ<%IkÖÓ’%ñ’¤¸¸ó ÿB’d4”˜8H’TXX¢U«õϦèÌ™\™LFµkW[?Ü@=zËh4\óçù¥¬Ö+Ú 0)6¶ß5û5nì­£G3K_;véûF.í®8wîOêÛ÷wêÖ-èŠcTæ9AY))kâÄÏÔ¥KuîÜY7vt$À5lWÞ€“-³Ù\áþááõÆfõë—}íÎÕhëÖT«iÓîÒðá TR"}óÍ/Z¸ð<\Ï=×Ü®ÿ¸q±Ú²%U;hÊ”(µlé§£G³4lXŒbcû)3³Hƒo“»»QK—¶SÛ¶µ•’’£… éÈ‘ eg)!a Ý˜-Z|­fÍüJ‹/4h›’“sK‹›¡oßßiüøH5nì­M›ÎhÚ´½êÞ=X..Nš2%Jõë{髯NkΜŸ4jTcÍšÕ²tŒ³gó5thŒ ¬Z²¤­:v TJJŽžþ€¸¨>è¦6müËÌyÿý¡;¶‰š6õÕ¾}ç5vl¬š4ñÑçŸ÷¨Ðš$iæÌ}úöÛ3Z±¢£Ú·¯­ììb­YsLkÖÓ‡Þ£N*õ3¬.ß}—¦ñãcõúëÔ±c€&Mú—rs‹õå—=õùç§µ`ÁAmÞ|¿l6iöìýÚµË"ýùÏ5vl»±®õœP¤XÖ¤IÁ:wn‹||VêÇTvv¶‚ƒƒÕµkWõîÝ[Ý»w—«+ï®Opp°¼¼¼¸­89:7»N4n\ùúºªV-WÙX„iݺ$eg—{ÏØ±MÔ©S€ÜÝÕªU-%&R­Z®zùåÃÊÌ,Òœ9-Õ­[<<ŒŠˆðÑòåí•—g­ÖÜC‡ÖWóæ~rw7jРºŠˆðQLŒYO<¡¨(_yx5|xC……y(&æ¬Ý½/¿|X))¹š9³…zô)Íùúëd³Ù4oÞrç6¬¾Ú´ñ—»»Q]»©G`ýôS1B¿üò‹&Nœ¨N:iúôéÚ±c‡¬Öêý³¨:ЏŠ^½Bõá‡÷”iŠòUq±­ôÈßßjÕªV¹í;v\Ú=òÞ{CìÚýýMjÔ¨z‹ðZ´°Ïì&IjÞÜ×®=$Ä]fsž][ttªœœ êÕ+Ô®=0ÐM>ŠOWZšý=’Ô²¥¿ÝëÐPwI*3þÕtï¢}û.hÖ¬ýúé§‹¥Ç6GG÷vØ.Š—=þx¸víú½jݺ® óÔÒ¥ñª[×SÇ7ÐÑ£™Šµè©§š*(ÈM½z…èž{‚µn]R¹ã]é9ÁÕFµnÝZ&LÐǬ;wjòäÉ:~ü¸žxâ uëÖM«V­Rzzº££ÀÏÙѸ™eeiíÚ$mÞ|FiiyÊÌ,²»~¥ÝÝÝeÚ K”“S,“É(²×}}]ª'ôxyÙÿµß`ŒFƒÜÝíÛœ *)±ÙåÌʺ´ÎÖ­¿¹âø§Ne+$ÄÝ®ÍÛÛ~lW×Kë´ÙTa/¼ÐJmÚøëóÏÖcí”$µoï¯áêOŸßUhŒÈÈ/K‹¯% À¤ØØ~ø+qqçõùç§õå—=åädЉY’¤ðpïÒ>Mšøhýú“åÞ_Þs‚Ê Ò¨Q£4jÔ(%''kýúõZ»v­þú׿ꡇÒO<¡ºuë::&Ü‘(Rà*ÆŒ‰Õž=ç4gNK ¦ZµL2¤¿ý-I‹’­Õw®®NòôtVNN±rs­e ÏŸ/(÷>''ƒŠŠJÊ´ÿ¶`²º¸º:ÉÇÇE99ÅJH(£ÑPís®2¤Á TWƒÕUq±M±±­YsL&ü¨™3[èñÇï9~bâ jL[¾âb›æÌùI#G6RTÔåÝ)/-Ìð«:9ì^£f………iÚ´iš0a‚¾þúk½ûî»Z¿~½FŒ¡gžyFžžžŽŽwŽ{à ¬V›ââÎ+0ÐMþscùû›J‹ë Ê VD÷îÁ’þ{ìóeK¾NžÌ.÷ž  ·2G+[,ù:s&·J*¢oß:¥ëÿ­·ß>ª{îÙXá ËãîîlWxÙ»w´Ö¯?%IjÓfƒŽ¿´#¡³³Aݺé­·:Ë`¶mK«òœÕmÍš£ÊÌ,ÒÓOßUÚvùÈî_~ìX†6¤0îFóððÐ#<¢o¿ýV³gÏÖ_|¡ßÿþ÷Ú´i“££À…"E®Àh4¨S§Y,ùZ½ú˜.^,T~¾U±±}ôQùÇ÷^Ë´iwÉÏÏU ÐÎg•›kÕÑ£™š>}ŸÝʽ§[· =›¯÷ß?¡Ü\«NŸÎÑ‚U»¶éz–wœÍT¯ž§¦OSLŒYYYEJO/ÔÇŸÔÊ•‰š1£Åuí°x×]~:y2[©©yÚ¿ÿ‚NŸÎQ‡µK¯Ï™ó“þýï –èüù½óÎQÙlÒÝwVÇò®[rrŽÞ|ó¨æÎmi·#f“&>êÜ9Po¾™¨³gócVLŒY?áÀ´w6£Ñ¨G}T[·nUïÞ½5iÒ$=ûì³ÊËË»öÍ€ëf°Uæ\*ªIvv¶Ìfóµ;þGxxc½ñ†Yýú•¿Û`M¹x±P¯¾š íÛÓd±äËÏÏUÝ»‡(0ÐMo½•(IjÞÜO/¼ÐZC†l/sRÒà2m'OfkÙ²xíÞm‘Õ*EEùè/i®×^KÐÁƒé:th€]ÿ¬¬"½øâ!mßnVff‘š7÷Ó¬Y-4gÎOŠO—$ÛD½{ÿ®L† "Õ»w¨¶oŸ6­™Ú·Ð#ì°kŸ<9J“'7•$¥§jÕªDEGŸQjjž||\Õ¬™¯FŽP×®A’¤Ÿ~ºXîœÏ<ÓLáá_ص÷ì¢Õ«ï–$8‘¥Y³~R|üEùù¹jܸHÑP’täH†>úè¤þõ¯s:s&O&““4ðÔ°a 5thý«}£Œ½[ƒAï¼Ó¹Ìµ³gó5{öOúᇳòñqÑÿû5vlIå¿_RùÏ ìMštiÒ+*þ{£<;vìгÏ>«½ûî» ¼9 _qs–———£c·Šq«)ÞH}úlQ~¾U;vôutà¦S]EŠ’”œœ¬Ç\V«Uëׯ§Pñ&±}ûv-\¸P¿üò‹¯Ú÷È‘#zå•W'«ÕªÖ­[kÊ”)j×®Ýue H¨~÷ À d±ä«]»ÿSq±ýÿLNÎÑÏ?gß4Ç·³°°0­_¿^F£QO<ñÄ-wôsnn®î»ï>=ÚÑQªÅéÓ§5f̽üòË:wîÜ5û8p@C‡•§§§6mÚ¤˜˜Õ­[WúÓŸ´sçÎ@eP¤À –‘Q¨Ù³÷+55OyyÅ:pà‚¦LÙ+oo=õTSGÇîþþþz÷Ýw•’’¢%K–8:N-Z´ÐÃ?\î5›Í¦’’•””ÜàT5cùòåjÛ¶­¾úê+yzz^µoII‰ž{î9ùøøhéÒ¥ R­Zµ4þ|Õ¯__3fÌPaaá J "(Rà tÓ{ïuSff‘†ÿ^mÛþŸÆŽUƒžúüóª[×ÃÑ;FXX˜æÍ›§>úH‡rtœ óôôÔ¶mÛ´víZGG©/¾ø¢Æ'£Ñx;{öìѱcÇôÀÈÍÍ­´Ýh4ªÿþJMMÕÖ­[k2.€Jrvtî4]ºªKŽunýû÷×û￯+VèwÞqtœ;Ò¯‹ ¯e÷îÝ’.í4ù[—ÛvïÞ­x z¸n준;Ú¨Q££O?ýTááá¥_'NœÐ¤I“Ô¾}ûÒ¶… –~ÿëã˜wìØQÚÞ¾}ûÒöèèh»1“““5yòdµiÓFíÛ·×èÑ£uúôéÒþkÖ¬Qxx¸òòòWz_ddd¹ã”Ûž’’¢É“'«eË–jß¾½ž}öYedd(99YcÆŒQË–-u÷ÝwkæÌ™ÊÉÉ)óž\¸pAóçÏW÷îÝÕ´iSuèÐA&LБ#GÊôŒŒ´›ûj_;w¾®ŸÕñãÇ%I!!!e®]n;yòäuÍ zQ¤€;ZÏž=e4åâ⢤¤$Ýÿý’¤Ù³gëÑGÕ÷߯Ï>ûLF£Q'NTRR’ÜÝÝíÆ¸÷Þ{•””¤æÍ›Ûµ÷îÝÛnÌ… jÔ¨QÚµk—^ýuíÞ½[S§N-íÿä“O–Žß®];%%%ùvªç IDAT)))I‰‰‰åŽw¥y/^¬1cÆèÇÔìÙ³õÕW_é™gžÑÂ… õôÓO+66V“'OÖ'Ÿ|¢×^{Ín¬³gÏjðàÁúç?ÿ©yóæiß¾}ú裔žž®!C†hÿþývýKs^ë+66¶ª?&IRVV–$ÉÃã̵Ëm×5€êE‘"îh&“IMš4QBB‚]ûرcÕ©S'¹»»«U«VJLLT­Zµ®k®aÆ©M›6rwwW×®]Õ£G}Z ,PíÚµ«%Ó]wÝ¥“'O*55Uû÷ï×éÓ§Õ¡C‡jûZ¦M›¦zõêiúô銉‰QVV–ÒÓÓõñÇkåÊ•š1cF…vX¬ NNNZ²d‰2224}útY,¥§§ë…^ЩS§´xñb™L&‡dP>ƒÍf³9:àΓ-³Ù\áþááõÆfõë—]ƒ©€Š;r$C¯¼’ ¸¸ó²ZKÔºµ¿¦L‰R»vÕS¤{“&K’V¬¨øïаÙlúãÿ¨;VC† )Ó'))©L[VV–^|ñEmß¾]™™™jÞ¼¹fÍš¥9sæ”;ýôg­]ÛEݺ9:âm§¦Š¿úê+M›6M_}õ•š5kV­cãÖC‘"Pý8E‹¯õðÃ;ʽf³ÙTRréëNSRbÓsÏí“‹–.m«  7Õªåªùó[«~}/͘±O……%ŽŽ‰ 8}ú´žþyýùϦ@jEŠ Ò<=µm[_­]ÛÅÑQn¸={ÎëØ±L=ð@¹¹KÛFƒú÷¯£ÔÔè¦6mü+´æ'ŸŒÐ“OF¨E‹¯Õ¬™Ÿþñ{í®÷îj·Î+µ/^|HãÇGjéÒvڴ錦MÛ«ôôB¹¸8éé§£T¿~}õÕiÍ™ó“<=5kVËÒ±ªk=‰‰ƒ*´æÊÈÊ*’$yx”ýXår[FFQµÏ‹«»pá‚&Mš¤={öH’l6›~øá¥§§ËÏÏOZ²d‰>ýôSýñÔüùóe2™œn÷ ÀU¼üòaefiΜ–êÖ-HFEDøhùòöÊ˳^õÞ±c›¨S§¹»;«U«ZJL¤Zµ.+Û©S€Æk"__Wժ媑#kÀ€0­[—¤ììâ_ÍŸ ää\Í™ÓR½z…ÊÓÓY&Mœ©{ï ¶Ë™’’«™3[¨GÒœ¯¿ÞA6›M󿍙7è*†­¯æÍýäînÔ Auᣘ³žx"BQQ¾òð0jøð† óPLÌY»{oÆõT„Ívi×FƒáQ­öîÝ«x@qqq*)))m·ÙlÚ²e‹>üðCõíÛWÛ·o×Ê•+µtéR à¡H€«Ø±Ã,Iº÷Þ»v“5òºê½­ZÕ*·½W¯P}øá=eÚ£¢|U\lÓ±c™¥m›7Ÿ‘$uï\¦ÿ»ïvѨQá’¤èèT99Ô«W¨]ŸÀ@7EDø(>>]iiyWÍ[ÝZ´°_p°›$©ysû£šCBÜe6Ûg»×s™··‹$)7·¸ÌµË…«>>.74Ólýúõ1b„222T\lÿ31 Z¼x±-Z¤hãÆêÛ·¯ƒ’À‰ãž¸‚ÂÂåäËd2ÊÃÃX溯ïÕ ÑÜÝËÞ#]:.xíÚ$mÞ|FiiyÊÌ´?ør¡[aa‰²²Šd2åéyå¿Â_î'I­[sÅ~§Ne+$Äýª™«“——}fƒA2 rw·owr2¨¤ÄVúº:×ù¥¬VÛUû\`Rll¿kökÜØ[’Ê-’¼ÜÖ°¡w…æDÕåææjúôéÚ¸qcé–¿eµZ•­¯¾úJQQQ78!@¢H€+ruu’§§³rrŠ•›k-S¨xþ|A•Æ3&V{öœÓœ9-5`@˜jÕ2É`þö·$-Zt¨´àÊÕÕIÞÞ.ÊÊ*RNNñ ]]äã㢜œb%$ ”ÑX=g ;êÈâê\Obâ jLvIçÎZ¹RŠO×àÁõì®ÅǧK’î¾; ÚçÅ8qBcÇŽÕ/¿ürÅÅ_KHH H„㞸ŠËÇ,_>öù2‹%_'OfWz<«Õ¦¸¸ó tÓŸÿÜXþþ¦ÒbÀ‚‚’2ýûôù$iûö´2× تE‹I’úö­S:öo½ýöQÝsÏÆ ï(x™»»³ŠŠþ›©wïh­_ªRcTUM¬§ºtì ðpo}ûmŠ ¬¥íV«M6$+4Ô]={†\e\Í›7kРAúå—_Êï\ƒÁ  6Ü€d€òP¤ÀUL›v—üü\µ`ÁíÜyV¹¹V=š©éÓ÷)0ЭÒãuê ‹%_«WÓÅ‹…ÊÏ·*6Ö¢>:YÎüÍæ¡E‹iÛ¶4åä+--OÏ?@K¾Fj\Ú¯^=OMŸ§˜³²²Š”ž^¨?>©•+5cF‹JïHx×]~:y2[©©yÚ¿ÿ‚NŸÎQ‡µ+½æª¨‰õT''ƒ–,i§ŒŒ"MŸ¾OK¾ÒÓ õ têT¶/n+“©ü£¾Qu%%…JH˜¦ &(77·BŠÒ¥#ŸwíÚ¥ŒŒŒN(ÁV‘3q¨fÙÙÙ2›Í×îøááõÆfõëWùÝ ¯×É“ÙZ¶,^»w[dµJQQ>úË_šëµ×tð`º Iúé§‹2d{™û“’Û½¾x±P¯¾š íÛÓd±äËÏÏUÝ»‡(0ÐMo½•(IjÞÜO_~ÙS’”ž^¨7ßLTtô¥¥åÉßߤŽ4uj”4ð*7=½P«V]ê—šš'W5kæ«Ñ£#ÔµkP¥×}âD–fÍúIññåççªqã"5bDCEG§jüøX»¾ÖÕc5.³þ "Õ»w¨¶oŸ6­™Ú·Ð#ì°kŸ<9J“'7­‘õT·„„ ½òÊaÅÅWI‰M­ZùkêÔ(µkwc 9ï$¹¹¹êÓg®ÎÛ&“é¿Å‰yyy*))»iy–.]ª‡z¨¦"â6,//¯kwPa)âV*R¼’>}¶(?ߪ;ú:: pÛ›4éÒÑë+V\ù÷FII‰²²²ìÚ •ŸŸ/oooùùùÕhFÜú(RªŸ³£p3³XòõÀßéÇûÉÙù¿Ç ''çè石5hP=¦ðkNNNòõõut À¯89:7»ŒŒBÍž½_©©yÊË+Ö4eÊ^y{»è©§š::ÀM‹¸ŠÀ@7½÷^7}ðÁ þ½Ìæ<ùúº¨k× -_Þ^uëz8:b¥„‡qÍ>“'GiòdŠ/Àõ£H€kèÒ%P]º::FµHJìèàÂqÏ FP¤jEŠ FP¤jEŠ FP¤jEŠ FP¤nk{÷žWxø=z·ÂÿPxøêÚõ[‡çùñÇsê¿fͱ›"7UA‘"¸­}÷]ªüü\õÖ[•”4XQQ¾¾77תûî۬ѣwW{žöíkW¨ÿ“OFT:77 ŠÀmmË–Tõè,£ÑPé{m6›JJ.}Ý y¸Õ8;:@M9~ü™LÆ2íÛ·÷Ѳe‡õý÷ge4Ô¦¿æÌi©zõ<¯™§°°D«V%êŸÿLÑ™3¹2™Œj×®¶~¸A…„¾p¡@+W&ê»ïRe6çÉÛÛE:hÒ¤¦ŠŠò­tßÊ>÷\Áf³Uì_¨FÙÙÙ2›ÍîÞXo¼aV¿~Ù5˜ª|lÕ©SÙjÚÔW3g¶PÓ¦¾JJÊÔŒûuüx–þþ÷ÿÏÞ}GGUçÿMz#$F¤W ˆ„•p©ÒD@eî€" ¬ˆ”UD@:‚¾ ‚DTTPéM0t !!^fæ÷›,!”’¹Cò|œã1sïçÞûš¹s˜;7ï|ÞO©iS¿ìñC†ìÒ·ß^RÓ¦~zýõ`Õ­ë£'Ô­Û÷Úµ«23-êÚõ{¥¦šõÞ{ Ô´©¿bbR5sæmÝ©©Sª[·Š’¤³g“Ô¹ówrwwԌ԰ai]¼˜¤wß=¤cÇ®)11CGvÌ‘÷^Çß·/VƒíRhècêÞ½’,),ì¼Þ}÷ú÷¯ª1cjßvÏ>[V¯¾ZCUª”Ð7ßD*4ôwµl(gg½þz°*VôÒÆç4qâ~õëWEãÇ×-ü“s±±izâ‰Íš<¹žºw¯œ½¼C‡p]¸¬ÇóÑ›o+8ØG'OÞû|f)Þºü/)£Áƒ««fÍ’Ú»7VƒïRõêÞúúëgî™gܸ½Ú¼9Rsæ4UãÆ¥•˜˜©… ÿÔÂ…jÅŠjÖì9:tW\\š~úéùìe—/§ªk×ï•–fÖôé Õ´©¿.^LÒÛoÐWµ|ys5hP*ßc³Ž—Ÿ÷}a>rwwT§NT­š·¾ÿ>Z¯¼RMÁÁ%åáá¨îÝ+«|y}ÿýåxµ Fxx”¬V«Z·.“k]BB†BCS£F¥åá‘·óy'ݺUÌ~_<õT€žy&P^ÕÕ«é÷ÌóóÏ1ªV­„š7››£üü\5fLmU®œ·"©™3èâÅdWGÏ<”ýþ˜=»‰¬V«&O>p_c³ÜÏû€›Q¤@¸»;æj[£†·ÜtìØ5]¾œšk›zõ|o»¯­[#%I­ZåXîââ 'ŸôWjªY?þxc¶¸~¸ñÿ§ŸÎ9¶T)W=úèÝ Ùîtü2Z±¢E®åÁÁ%•™iÕŸ^¿ívuêäÜ_` ›$©v휯KP»¢£SîšÍ¶m‹T:¾ p˵ÎÕÕ1×ës¯óy'uë–Êñ¸LwIÊõÜ.OË–AÚ»7NãÇïÓþýW³Û^oÛÖ&Ç,Šw²mÛ%98˜’³ÓßßMÕªyëðáxEE¥ä{l–ûyßp3'£ð0ðöv¾íòÒ¥]uùrªbcÓrù»;柞nQBB†\]åé™ûk¹Ÿß}ÄĤ*=Ý¢¤¤L¹º:ÊÃ#÷¾J–¼}¦»_º1‹àçŸGhëÖHEE¥èúõŒëï4C£—Wμ&“äèh’»{Îå&Y,Ö»f»Y²‹óîÅÏÏU»vµ»ç¸””LýüsŒ†­qÛõ>>Î2™r/¿Ûù¼“%r>—¯»õ¦§t§<“&ÕSƒ¥ôõ×gÕ»÷NIRãÆ¥Ô½{eµm[ö®ÇÍz/IRýúawwæL¢J•rÍóØ  ÷ìÇ÷ó¾àf)ññ²Z•«°-6öF[æÒ¥]ó´•(ᬄ„ %%eæ*T¼råÆÌtþþnrqq§§“’’2•œlÎU¨˜uìü4h—~ûíŠ&N¬«ÊË××U&“´xq„¦N=$«5ï†áøñN¾ÏŸ~ŠQjªYùKîVÏ’² ön•ßóù yL&©S§ êÔ©‚23­Úµ+F þ©¡Cwkܸ:êß¿ê÷éââ oog%%eêèÑŽrt¼MÕåMò36KA½ïÅížȃ´4³ŒË±ìøñëº|9UÁÁ%ó5›\Ö yß}•cyzºE?ÿ#77Gµh(IjÙòÆÿ³Ú>g‰‰IÕéÓ‰ù~f³U{öÄÊßßM/¿\E¥J¹f ¥¥Yò½?{õí·—T¡‚‡ªW÷¾íúäd³Ž»–cÙýžÏÉÓ Á&<™ Irr2©yó}òÉã2™r¿?nçÙgËeŸÓ[}úé µh±%{–ÊüŒÍRï{@ñD‘"yP¢„³þùÏ£Ú·/N))f:tUÿøÇïrvvÐĉuóµ¯ÐÐZ*_ÞCï¾{Páá—”””©Ó§õ替)&&U'Ö•ŸŸëÇ>&½óÎíÜyYÉÉf8q]£Gï•¿þ ÄMjÖÌO11©úì³?uõjºRSÍÚµ+F+WžÎ÷þì‘ÅbUxx”þò—;·KvwwÔäÉtàÀÕ>ŸšgâÄýúãkJO·(66M œÕ*=ñ„ÿ=÷ZK<â©Ñ£÷èû¡øøt­ZuZsçר±u²gMÌÏØ,ù¾O&«­{8 )11QÑÑÑ÷ø_U«VÑÇG«]»üÏø :tW\\š–.m®wß=¨½{ãd6[U·®¯þñZjÔ¨´$iÿþ«êÒeG®í#":çZŸ®yóŽkÛ¶HEE¥ÈÝÝIõëûjР깊ÓNŸNÔûïÖ/¿ÄÈl–‚ƒ½5jTm}ôÑQ<¯C‡:äëøW¯¦ëÃjÇŽ(ÅĤÊÇÇE-[ÉßßMŸ|r\’T»¶&MªŸkC‡ÖP›6eÔ¹sÎå¡¡µÔ¸±Ÿþþ÷r,1"X#FÔÌ•©0íÙ«—^úA+V´P³f~ÙË.üSÓ§–$ºé_ÿz\ï¿DÆÉbQ®ó¹mÛ%½úê®ûîØ±‚z÷®rÛ×eäÈZªZu}Žå­ZiÈê·Í#IÇŽ]ÓÊ•§õë¯W™"WWUªä©nÝ*«k׊2™ræ¾õxÒ÷Òüù7ÞK—.¥ÈÛÛEµj•ÔÀÕôÔS9¶ËÏØ¼¾ïmeøð³ŠÎ™“÷7€ü ”———Ñ1€"…"E€!Æ"ÅŸ~zÞæÇ¾›¶m¿UjªY?üð¬ÑQìÊŒ‡µvíYíÞÝ.×Ì€äÉ;{{ßS¤[ H(x´{ÀŽÅĤªQ£ÿSffο1¼p!IgÏ&æ©%pqóí·—Ô²e ÝÚ[lÉÉèàî®]Kׄ ûôúëÁòñqÖ‰×5eÊ!•(á¬aÃlÛJùa°m[£#ä`oy°%fRà.üSU«®×±cתªU×ëÃÚ4ƒ¿¿›–.m®ë×3Ô½ûjØðÿ4xð.Uªä©¯¿~F*xØ4Š>{xߊ“ÕjµÞ{+11QÑÑÑy_µj%}üñµk—Xˆ©Ø«áÃ%Isæäýß ¿ååået  Ha&E€ÝŠ×êÕ«Õ±cGI³Ž€|r2:7ËÈÈPxx¸¾úê+ýðÃrssS»vítäÈ3FG@>Q¤° þù§6lØ uëÖéêÕ«jР&Mš¤Ž;ÊÝÝ]_~YEm^&) ¯-[¶håÊ•:zô¨*W®¬ž={êoû›Ê—/ot<< Š6•––¦­[·jñâÅ “»»»Z·n­Ñ£GëÉ'Ÿ”Éd2:" EŠ›8r䈖-[¦E‹)66VM›6ÍÑÎEEŠ€BséÒ%}ùå—Z²d‰öï߯5jhèСêÛ·¯üüümtD"Š*«ó²eË´aÃyx:y| IDATxè…^Ð| Ö­[g·sNLL48) EŠ€±gÏ-]ºT+W®T\\œBBB´páBuéÒEFdzK›6]Ðoü&IrqqÐÑ£ N”ÛÃÑÞ;vMÿüçQíÙ+³Ù¢úõKéõ׃ըQi££PèŒxxEFFjöìÙª_¿¾7n¬­[·êµ×^Ó©S§´mÛ6õéӇŻhß¾¼"":ëÉ'ýŽrGw˘œlVëÖ[5pà/${88pU]»~/OO'}óÍ_ôý÷Ï©BOõèñ£vî¼lt< 3)òåævÎëׯ————ºu릹sçªyóæFÇ3T:ÿV­Z>Z³æi££Ø„Õj•Årã?{aOçÀb±j̘½òövÖŒ åææ(Iš2¥¾~û-VcÇîÕöímåâÂߊ.Šyr»vΟþ9휋1OO'}÷ݳFǰ[¿ý«?ÿ¼®>}ªd(J’££IíÛ—ÓÇÿ¡ððKzî¹r¦ pQ¤¸£ÈÈH­]»V‹-ÒÁƒ¬ÐÐP½üòË 2:`×~ù%F’T§ŽO®uuêøþwÌŠEEŠ€RSS¦¥K—jË–-ÙíœçÍ›W,Û9§§[4þqýç?™,WWG5jTZ/½TIÏ<(GG“.üSÓ§–$íÙ«ªU×Kº1cÞñã²÷uòd‚>øàˆv튑Ù,=öXI…†>v_¹¶m»¤W_Ý•ýxëÖ¿hÖ¬cúå—ÅǧK’~ûí¯òõuQ\\šæÎ=®íÛ/)::E%J8«I? ^SÁÁ%sì7¯o=þ‘#/ÈÕÕ±ÐrÅǧkÞ¼?ôí·—•ªR¥\T¥J uìXAýky-_~*OçàNjÔØ ³9om«ýü\µkW»{Ž;y2A’äžk]Ö²Ó§òtLV)$ý¯óŠ+¯V­ZéóÏ?W×®]åȪ¸˜4i¿6oŽÔœ9MÕ¸qi%&fjáÂ?5xð/Z±¢…š5óÓ€Õ4`@5Õ©óoÕªå£5kžÎµŸ³g“Ôµë÷rwwÔܹÍÔ°ai?Ÿ¤iÓéܹä|çjÓ¦Œ"":kÈ]úöÛKš0a¿^=Xï¿ßP'N$¨[·ï%I—/§ªk×ï•–fÖôé Õ´©¿.^LÒÛoP—.ßkùòæjРT¾3ÞzüÂÌ“5Ö¢©Së«Y3¥¤˜µfͽWׯgäéÜM^ ó+!!C’äá‘ûöKÖ²k×2 ü¸Ø£ŒsñâE͘1CÕ«WWãÆõí·ßjÔ¨Qºxñ¢¶mÛ¦>}úëEIúùçU«VBÍ›ÈÍÍQ~~®3¦¶*WöÊ×~fÎ<¢ë×34qb]5o GÕ¨á­÷ßo¤Ë—S8çàÁÕÕ¬™ŸÜÝT¯ž¯Žï$__ÍœyD/&kܸ:zæ™ yx8ªZ5oÍžÝDV«U“'(ÔŒ“ë¨.\HÖĉuRFžžNòósÕk¯ÕÐÓO>ðkg«õƬ&“ÁA(d̤ÅÌÍíœ7oÞ,ooouíÚU‹-*–íœï¥eË ­XqJãÇïS×®•T§ŽMÚ¶­M¾öóÃÑ’¤§Ÿʱ< ÀM•+{éôéÄÊY¯žïm—oÛvI&…„”ɱÜßßMÕªyëðáxEE¥((ȽP2D®­[#%I-[æ.H\´èÉ|g²•%œ%IÉÉ™¹Ö¥¤˜%IÞÞÎ6Í€­Q¤ÅÄž={´`Á­^½ZIIIjÕª•V­Z¥Ž;ÊÅÅÅèxvkÒ¤zjР”¾þú¬z÷Þ)Ijܸ”ºw¯¬¶mËæiéé%%eÊÕÕQ޹֗.íúÀEŠîî¹÷›žnÉn9\¿~Ø·=s&Q¥J¹JƂȕ!WWGyzÞmŒ56Èl¶æi¬ŸŸ«víjwÏqUª”$EEåž…2kYåÊ%ò‘€‡EŠP„]¸pA+V¬ÐÂ… ¡ZµjiܸqêÛ·¯Î6¹¶f2I:UP§N”™iÕ®]1Z¸ðO º[ãÆÕQÿþUsŒ½yz:)))SÉÉæ\E€ññé…’ÝÅÅAÞÞÎJJÊÔÑ£åèx÷Þ¶ʘß\%J8+!!CII™÷,T¼ßöÉÇwº¿ ïâñÇý4w®tøp¼:w~$ǺÇã%IO<áWàÇÀž8P°RSSµvíZuèÐA•*UÒŒ3¢ßÿ]GŽÑèÑ£)Ṗ 6éäÉI’““IÍ›è“O—É$}÷]TޱîîNÊȰd?nÓf›V¯>#é­Š³Z*g¹z5]§O'ZþgŸ-'³Ùª={bs­ûôÓjÑbKö ‚¶Ì˜Ÿ\Y3VîØ•kl‡áš:õPöã»[kÚÔOU«–ÐæÍ•–fÎ^n6[µiÓ•)ã®V­‚î²~)@±gÏ >.zçÚ¹ó²’“ÍŠˆHÐÈ‘¿Ý¶½rA ­¥GñÔèÑ{ôý÷ÑJHÈP||ºV­:­¹skìØ:Ù3Ú2cþrÕRùòš:õ¾û.JII™ŠŠJÑÛoPLLªúõ«’½ß»[sp0iúôFºv-C£GïULLªâãÓ5iÒ9“¨÷Þk(W×Â;÷Ø“Õjµpn×ιOŸ>êׯŸŒŽwW‰‰‰ŠŽŽ¾÷Àÿzì±G5ujŒ:uJ(ÄT¹;vM+WžÖ¯¿^QddŠ\]T©’§ºu«¬®]+æh/|êT‚Æß¯Ã‡¯ÊÇÇEC†ÔPÏž•³×Ÿ>¨÷ß?¬_~‰Qf¦UÕ«{køðšZ¼8B?ÿ#IêÚµ¢¦MkxÏ\û÷_U—.;r-ˆèœkY||ºæÏ?®mÛ"uéRм½]T«VI XMO=•ó}’׌!!eôê«»rlÛ±cõî]¥PrÅǧkÞ¼c£¢RTª”«š6õÓo«R%¯ìq÷:F8zôšþùÏ#Ú³'V‹Uõê•Òo«Q#cŠ'Vƒ•QÉ’f}ðÁe££  ”——×½È3Šà!“’’¢M›6iÁ‚Ú¾}»|}}Õ¥K Q¤vàÖvÎjÓ¦M±jç|/õꥪZµt-_^R3f\6:N¡ŠˆèltÀn¤¤˜´n] õêuÍè(€ûà`t(ÎÎ;§3f¨ZµjjÑ¢…vîÜ© &èüùó S×®])P¼É!ñÚ°¡„Žs5: ùôS_ed˜Ô³çu££îƒÉjµZÅÉõë×µaÃ-[¶,G;çþýû«^½zFdz™ÄÄDEGGçk«UêÑ£œ,iõê‹2™ )»é¤gŸ}D#GÆ©_¿x£ã  ”———Ñ1€"…™À,‹vîÜ©Áƒ«lÙ²4hÜÜÜ´fÍ;wN³gÏ.VŠ÷Ëd’Æ¿¢}ûÜ´tiI£ã(D™™& ²e3Õ»7­žàaådt(ÊNœ8¡•+WjéÒ¥:}ú´5j¤©S§ªgÏžòóó3:ÞC©ví4§÷ÞóS…  I6:€B0eŠŸpÕš5åät£Hxx¸êÖ­Ë¿Ÿð¡H صk×´qãÆìvÎeÊ”Q—.]ôÊ+¯¨nݺFÇ+† ¹ªÓ§5rd ¾ø"Rõê¥ @š7ÏW«W{ë“O¢œ.I2›Íš>}º®\¹¢üãêÞ½»höÎdµZ­F‡€‡ÅbÑÏ?ÿ¬eË–iÅŠÊÌÌÔ /¼ Þ½{ëù矗“#v«ÄÄDEGGß÷ö&½újvïv×\ÖsÏ%`:FÈÌ4éí·ý´n·Þz+F={^ϱ>%%EŸ}ö™þõ¯©Zµjš2eŠêׯoPZEòòò2:P¤P¤àøñãZµj•¾øâ 9sF5RïÞ½Õ«W/•.]ÚèxvíA‹%Él–¦NõÓ²e%õÚkWõê«WåêÊ×\àatá‚“ÆŽ Юúè£Ë IºãØÓ§OkÒ¤Iúå—_ô /h„ òññ±aZU)"Eȧ[Û9—-[V/¾ø¢  :uêï¡QEŠYV®ôÖôé¥Uº´YcÇÆªmÛ;7°/))&}ú©¯.ôQ¹r™úè£ÿµx¾—Í›7kòäÉÊÌÌThh¨^zé%™L¦BNŒ¢Œ"E àQ¤y`±X®¥K—ꫯ¾’ÅbQ‡hçü ²HQ’._vÒŒ¥ôï—Pppš^z)A­[')((³ÀŽ `X­Ò¡C®Ú²ÅKëÖ•PF†IÇ_UŸ>×ä䔿[Uׯ_×ìÙ³µ|ùr5lØP“'OVõêÕ )9Š:Š€‚G‘"ÜÅü¡Õ«WkÉ’%:{ölv;çÞ½{«T©RFÇ{¨t‘b–C‡\õÅ%õÍ7žJIqP™2™ªX1C>>™L|Œ”–fR\œ£""\”˜è rå2õâ‹×Õ³çu•.m~ }=zT'NÔ‘#GÔ³gO9Ržžž”ÅEŠ@Á£Hn¯/¿üRK—.ÕO?ý¤råÊ©W¯^zå•WT­Z5£ã…U¤˜%-ͤßwÓ‘#®ºpÁY×®9Èb)´ÃÈWW«J–´¨jÕt5hªš5óÖÖ9¯,‹6nܨ©S§ÊÕÕU¡¡¡êܹsEEŠ@Á£Ht÷vÎíÚµ“£££Ñ‹œÂ.RP|]¹rEÓ§OׯÕªU+½õÖ[*_¾¼Ñ±ð H(x)(ÖŽ;¦/¾øB_|ñ…¢¢¢Ô¨Q# 4HÝ»wW‰%ŒŽW¤Q¤ °ýöÛozë­·tþüy 4HC† ‘‹‹‹Ñ±`Ç(R EŠŠ[Û9—/_^={öÔ€TµjU£ã)°…ÌÌL-_¾\~ø¡üýý5iÒ$µhÑÂèX°S)"EÅ‚ÙlÖwß}§¥K—jݺu²Z­êСƒ ¤Ö­[Ëd2±Ø¡H€-EGGëƒ>І ¢É“'«L™2FÇ‚¡H(x)(ÒŽ=ª¥K—ÒÎÙQ¤Àáááš2eŠbcc5lØ0 0@ŽŽŽFÇ‚ H(x)(r®^½ªµk×f·s®P¡‚zô衪J•*FÇÃQ¤À(©©©Z°`>ùäU©RE“'OVÆ Ž;@‘"PðŒÁl6ëÛo¿U·nݤ7ÞxCeË–Õ¶mÛtöìYMŸ>E€$ÉÍÍM#FŒÐþóùùù饗^Rhh¨ââ⌎E3)x¨9rDË–-Ó’%K£'žxB}úôQ=˜ ÉÎ1“"{®·ÞzK©©©6l˜úôé#þ¶·8b&E àQ¤à¡“ÕÎyÁ‚Ú³gOv;çAƒéÑG5:òˆ"Eö$!!A}ô‘–/_®úõëkÊ”)ªQ£†Ñ±`c)"E³Ù¬ï¾ûN ,І äî;ªOŸ>jݺµL&“Ñ‘O)°GÇŽÓ[o½¥ƒªW¯^zóÍ7)Z+F(R EŠìZV;çÅ‹ëÊ•+´s.B233•ššjt ÈÅjµjÕªU7nœœ5yòdõèÑÃèX°777999(R(R`wâââ´nÝ:}úé§Ú»w¯yäuïÞ]ƒVåÊ•Ž(&âââ4yòdÍ;W-[¶ÔüùóU³fM£cÀC…"Ev!==]ß|ó–-[F;g€]Ù¹s§†ª?þøC#GŽÔ¤I“äææft,x(P¤ÀPYíœ-Z¤ØØØìvÎ={ö”§§§Ññt£Eý¼yó4qâDhΜ9zþùçŽv"E6¥5kÖè‹/¾Ð¾}ûT£F ýýï×Ë/¿L;g€]‹ŒŒÔ˜1c´lÙ2µoß^óæÍÓ#\½zU“&MÒܹsÕ¢E ÍŸ?_µjÕ2:ØEŠr¹xñ¢Ö­[§Ï?ÿ\‡Rpp°^~ùe½üòË 2:¥={öèÕW_ÕþýûõꫯjêÔ©òòò2:*ŠH’RSSF;g ‘ÅbÑÂ… 5jÔ(y{{kÖ¬YêÒ¥‹Ñ± ÐP¤sY휗/_®k×®©U«V4h:vì(£ãP$]ºtI£GÖ²eËÔ¾}{Í™3G•*U2:8Š€bèâÅ‹Z¾|¹>ÿüsýù矪U«–úô飾}û*00Ðèx;vìÐСCuöìY5JcÇŽ•«««Ñ± ÀP¤7·sÞ¼y³¼½½ÕµkWÚ9`°ŒŒ ÍŸ?_ãÇW¹rå4wî\µiÓÆèXP Œ píÙ³GƒV@@€ºwï®ÔÔT­ZµJQQQúôÓO)PÀ`ÎÎÎzýõ×uðàAU­ZUmÛ¶U·nÝmt4x`̤A.\Њ+´páBEDDd·sîׯŸŒŽî",,LÇ×µk×4iÒ$ 6LŽŽŽFÇ€ûB‘"PD¤¤¤hÓ¦MZ°`¶oß.___uéÒEƒVÆ Žò!99Yï¿ÿ¾¦M›¦Ç{LóçÏ×ã?nt,È7Ú=¹¬vÎêÕ«—ÜÜÜ´fÍšìvÎ(ððñððФI“tèÐ!•.]ZO=õ”úô飨ØX££@¾0“"ð:þ¼V®\©Ï>ûL'Ož¤3EÜÚµk5|øpeddhÚ´i8p L&“ѱàž(Rwjç}ú ra&EÀN\¿~]K—.U›6mT±bEÍž=[íÛ·×¾}ûtäÈ=šE IrppPŸ>}tøða…„„¨oß¾êСƒNŸ>}Çm,‹úöí«øøx&PÜ=ÐLŠÑÑÑJLL,È<@±b±X´wï^mذAÿþ÷¿•™™©æÍ›«sçÎjÓ¦œœœŒŽ¿ýö›Þzë-?^ƒ Ò!Cäââ’cÌš5k4~üx=õÔSZ´h‘ J 0R•*UŒŽ(f(RPTT”fÏž­iÓ¦åy›ÈÈH………iÕªUºpá‚j×®­N:©cÇŽòõõ-Ä´ ¨ÊÌÌÔòåËõá‡Êßß_“&MR‹-$IW¯^UHHˆe2™Ô·o_7ÎàÄ#P¤°5Š€°wï^ 4Hñññ SppðÇ&&&jÛ¶mÚ°aƒ~þùgùûûëùçŸW—.]îº@~DGGëƒ>І ¢É“'ë£>ÒÆ•™™™=î½÷ÞS·nÝ L 0EŠ[£H¸Oëםר±ceµZe2™Ô»wo?>ǘ›Û9oܸQf³9»sÛ¶mi³ ÍöíÛõÎ;ï(..NÉÉɹÖ;::jùòåjÒ¤‰éF¡H`k)ùdµZõñÇkΜ92™Lʺ¤.Y²¤vïÞ-''':uJ›6mÒ×_M;g`˜ÄÄDµmÛVqqq9fQ”$y{{kÓ¦M 2(!ÀÖ(RØš“Ñ€‡Irr²Þ|óM}÷Ýw’¤›ÿæçúõëzçwtôèQíÛ·OAAAêÔ©“þö·¿éÑG5*2(ƾüòK]¹rE‹%×:‹Å¢ÄÄDõïß__}õ•ÜÝÝ H ¨c&E ¢¢¢ôÊ+¯èäÉ“¹f"’n´LtrrRHHˆ:w-[ÒÎ&&&F!!!JII¹ë¸¬ë—yóæÉd2Ù(À(̤°5£ƒ}ûö©}ûö:uêÔm %Él6+33SS¦LQHHŠÀPS¦LQjjê=ÇeffjÛ¶mZ°` R(n(RîaÓ¦MêÑ£‡”‘‘qÏñaaa6Hpg—/_ÖåË—åìì,é3>߉ÕjÕÌ™3õÝwßÙ*"€b‚vÏÀX­V}üñÇš3gŽL&“òrél2™T½zuýßÿýŸ ÜÙlÖ©S§tøða>|X»wïÖñãÇeµZåìì,³Ù,‹Å"éÆuŒ«««¾þúkU¯^Ýàä€ÂB»g€­Ùu‘¢Õ*]¸à¬óçtýº£î?)?iiIZ¼x°ŽùöžcM&98ܘ¤ÜjµÊb1kܸ*S¦faÇ€bÍd²ÊÛÛ¢ 2U¾|†L&£¶w?÷ÏRStöì~=»WgÎìÑ©S¿+)).{}©Rå5zô·òðð)Ää@ÑÅçìEŠ[³»"E³YÚ±ÃSaa^úñG]»FGjØZ¼¤~’öIò””uMZRRV›Ä’Üÿû³ÛM?;Kò’ô¼¤–¶ T²¤E-Z$ë…Õ²e’NžÂ¹vNÒî›þ+-iþwíà~ðù{D‘"ÀÖìªHqûvOæ®\‚ IDAT½÷^i;ç¬fÍRÔºu²4HUÅŠ*YÒ,êÀY,ÒµkŽ:{ÖYûö¹iûvíÞí®GÉиq±jÝ:Éèˆ@³Õý³¬6ÐÎÎγC áó öŽ"E€­ÙE‘âÙ³Îzûm?ýô“‡:tHÔë¯Ç©bÅŒÞ/(^ΞuÖìÙ¥楧žJÖäÉW¸Ç€"ûgÀÃÏ'ØŠ¶fx‘âÏ?»køð •-›¡·ß¾¢ÆSh¿ÿî¦É“ýé¬9s¢ôä“)FGî÷Ï€¢ƒÏ'ØŠ¶fhå5k¼Õ¿=ýt²Ö­»È VP 7NÕºuõôÓÉêß¿ŒÖ¬ñ6:p_¸-|>€âÈɨ‡…yi ~UÇÇÉd2* (Š\]­úðÃhU®\J&øËÃâ¬#`KÜ?Š&>Ÿ@qcH‘â¡C®7.@ýûÇkĈ8#"€bÀd’FŒˆSb¢Icƨ|ùL5hÀLt°Ü?Š6>Ÿ@qb²Z­ÖûÝ8::Z‰‰ùû ÏøxG=÷\Õ­›ªO>‰’ƒ¡ §@q`±HC†éàA7mÙr^>>f£#wÄý3 øàó F¨R¥ŠÑÅŒÍoqΚå+éÃ/sƒØÄÍ÷"fÍò5:pWÜ?Š>Ÿ@q`ÓÛœþé¢Õ«½5jT¬¼¼,¶<4(æ¼¼, ÕêÕ%u옋Ñq€ÛâþPüðùŠ:›)ΜYJµk§«S§[@’Ô¹s‚j×NÓG•2: p[Ü?“6mÚ¤ªU«æøoË–-†fÚ½{w®L‹/64Sqå¶oŸÊwè *U«ªJÕª*Ó¯ßmÇ9$$¨Ä×_+hð`=Ò¶­*ש£Gk×Ö#­[+`ôh¹9bãäwÇç(ÊlV¤å¤;<5`@¼L&[ä…ÙlÖðáÃU§N 4HéééFG’d¿¹ÀÃËd’^y%^;vx**ÊÉè8@Ü?»¡}ûöŠˆˆ»»»ÑQ²5kÖLzôÑGŽRl9ÆÅ)`Ì•ûûßårêÔ=Ç—~ï=ü¿ÿ'«››"—,ѹ~P܈r>wN%¾úJå;w–÷Š6Hž7|>€¢ÌfEŠß~ë)ww‹þò—$[äÑü¡Í›7+%%Eááá:pà@öº¨¨¨³…œ8qÂ.r¡`y~0J›6Irs³hûvO££9pÿ öÈ^¾3øO˜ çˆ]X·NéÕªåi›ÌÀ@]~ÿ}e–-+³¯¯â RRÛ¶7VZ,ò›2EÎ.bêüáó U6+RܵË]?ž"gg«­ ò¨FzöÙgåææ¦Õ­[×èH’ì7x¸9;[õÄ)úåû™¥ ¸ÜÍÕaÃtqíZ¥Õ©“çmRž~ZVW×Ë’Ÿ|2ûg“Ù,÷; ,ãƒâó U6ëñÇ.zá…[䃓““æÍ›gtŒ\ì5xøÕª•¦°°FÇràþpgiµjåk|Ì´i·]nñöιÀj_EÁ|>€¢ÈfEŠÑÑŽ*S&ÓV‡Àæ6mÚ¤7Þx#DzñãÇëСCÚ¹s§®_¿®Ò¥KëÙgŸÕ¨Q£´iÓ&-[¶L'Ož”§§§êׯ¯±cǪråÊ9ö‘ %K–hûöí:sæŒRRRäãã£ZµjéÅ_Tûöíïzü#GŽè§Ÿ~ÒÕ«W¨víÚéõ×_—››Û·›;w®ž{î9M›6MŸþyŽuíÚµ“$ùùùi×®]ùιpáBMŸ>=Ç>?úè#9sFëÖ­Ó¥K—d6›õÊ+¯ä:vV®û}®Y8 yóæiÏž=JJJRÙ²eÕ½{w­]»V§NÊ÷è£jëÖ­Ê«üî7&&FóçÏ×O?ý¤ÈÈHY­V•+WN5kÖTÛ¶mÕ¦M¹Þ4ëGA¿ÆM›6Õ¯¿þšcÜÎ/EM™2f]¾ìht £îŸÅÆÆêóÏ?׎;tþüyIRÙ²e¬öíÛ«eË–š1c†–,Y’c»wÞyGëÖ­ÓñãÇe2™T­Z5õìÙS/¾ø¢$éÝwß͵͎;T¾|yõë×O?þøcöòFiÍš5yΜ×kcIJIIQXX˜6nܨ3gÎèÊ•+rssS¹råôä“OjÀ€ ʱÿ;]Û?¨âö¡ÒãËñÊ•\ËÏîÜ© !Cäzøpö²ÓÊâá‘ÇWòþ9_¼˜ãqjýú…~Ìüàó E6k÷œšê ûú«T Rûöí!w÷ÿµeZ¼x±¨­[·ªFŠŽŽÖÒ¥KÕ¦M]ºtI«V­Òĉ§ððp 2Df³9{û³gϪ]»vš={¶NŸ>­O>ùD¿ÿþ»úôé£üQo¼ñ††*³Ù|Ûã/\¸P}ûöÕ¶mÛÔ¢E ]¼xQŸ}ö™fÍšu×ÜYÆŽ«·´¾úÏþ£ˆˆˆ¿ŒÊOÎä:ÞÇ,'''mܸQï¾ûî=sÝïs•¤Ÿ~úI/½ô’ÂÃÃe±X´lÙ2mذAÑÑÑ9~)8~üø|(æw¿‹E½zõÒ²eËtéÒ%-X°@{÷îÕêÕ«U³fM½ñÆúꫯ õ5Îëù (òð°(9Ùf·E€<1âþYDD„Úµk§ (""B¡¡¡úᇴfÍ=úè£2dˆÖ¯_¯ &è›o¾É±íúõë5þ|}óÍ7ªT©’<¨Ñ£Gëý÷ß—¤Ûn“eñâÅÍΠ!C†¨dÉ’êÚµ«|||ò!¯ÏuÊ”)Ê̼1;ÍsÏ=§&MšÈÛÛ[o¾ù¦œœî’éüî÷Ì™3:yò¤$©téÒjÖ¬™\]]UªT) :T 6Ì1Þ^cŠ“Éî:|†Ü?3fŒbcc%I­ZµÒË/¿,___ùøøhĈªS§Î·2dˆU®\9 80{ùÂ… ¨˜//™ó{mܤIõíÛWžžžòññѰaÃ(IЉ‰Éñ½ï ûázJøïìš²Z0j”œOžTà›o*éÙg•xÓ¬—…Ík˹:$IJ~æ]¾CKh#ñùŠ"þ$€BT¾|ùìŸ=nš¢L™2rtt̵\’¢££%I—/_Öo¿ý–½¼bÅŠÙ?;88äØ÷¦M›n{ü›·ñôôÌuŒ‚P9[µj•ãñï¿ÿ~×_†ÞN^žëÅ‹³Éw»müüüòuÌÙo```vê .è¹çžÓÔ©SµaÃEFFêË/¿T=$ÙÏk €¢%::Zû÷ïÏ~\»ví\cÖ¯_¯nݺÝvûGy$û盯Q-K®Ù÷ Êý\÷èÑCO<ñ„:tè zõê©ZµjªZµjŽï qqq’øÎp³‚üÎ3eŠÒjÕº‘'1Qå;w–)5U±cÆÈþóÂý—_ä?j”¬ŽŽŠ1B—,õ63÷ àQ¤@!rpøßG­é¦)Qî´\’¬ÿ2!&&&Çò¬_NequuÍþùÖ±·s»c„‚ÈéïïÿÀ9òò\¯^½z×mn-Í«ûÙ¯§§§fÍš•ýÜOŸ>­Å‹+44TO?ý´zõꥋ/J²Ÿ×EË•+Wr<¾ù}òâæëÒ[¯³Šþ Úý\0@ü±Ž;¦Ö­[ë×_UDD„‚ojó›õ½ï …ÃêêªË3gf?vHNVRHˆ¬03e~x¯^­2ýûË\º´.~ù¥®Ž!9pkÀV¸€ºõD©©©9§¥¥ÝqlAºµˆòV‘ÓÅÅå>Ó寯oŽÇ·fMNN¶é~Û´i£;wjÕªU UHHHö ›»víÒøñã%îk|¯ó €¢ëÖÙûóµýÍ×¥7_“JR©R¥$ÝýzóÖëÚ¼Èïµñ™3gô믿f/9rd®ë÷›ñ!·‚úÎà;ož2Ë–Í~\jÖ,¹Ý4“gapŒWàˆòŸ0AImÚèBX˜ÒêÕË^_¶G•úðÃBÍŠ°[jÒ¤IöãsçÎeÿl±XtáÂ…ìÇ:t(´·Îè‘™™)IêÞ½»&L˜`79ó¢\¹rªR¥Jö㛳&%%åšI¦0÷¥jÕª)66VMš4Ñ!C´`ÁMž<9{Ì©S§$î{á^çEW`` êÝT°uøðáëÓÓÓU·n]Íš5ë¶Ûß|]zöìÙìŸM&“š7o.鯵ìÍ’’’n»M^å÷ÚøÖYäožQðÚµk¹öÏw†Ü â;CÉ%Käzô¨ÎoÚ¤äI’)3SÆɱfÝô W…çž“gx¸bÞyGÑ,K‰…r,ÜEŠØ±éÓ§«L™2’¤Í›7k÷îÝJLLÔ'Ÿ|¢ëׯK’Ú¶m«Þ½{Z†%J¨råÊÙ<¨Ó§OëðáÃjÖ¬™ÝäÌ«·ßþÿìÝwTTGÃð–ÞDªFlA""¨{7õµEI4V4ØÈ§I,Ø5£&F±§'£QcÁFQAŠ* Jï°ì÷auYÊîRÅçwŽçÈìܹsgçÎÜùjÿm)vúôiܼy™™™Ø¶m›ä˶úJW,ÃËË aaa(,,DJJ nÞ¼)y}àÀ’ÿ×UËóþQÓµ~ýzɪ‡—.]¡C‡™™ ¡PˆO?ý†††xï½÷*<ö›o¾P(DBBöíÛ' Ÿ>}:,--zzzRÏ•§OŸF^^.\¸€k×®)gyŸÛ´iƒ6mÚHŽ=vìòòòpôèQ$$$T˜>?3H«ég­Û·a´};’víB‰„›7£È –”óùó‘H¡<É£Ù÷ßCðìTòóaêë +kk™Ú/­²IDDDDDDDDuGE\þçÄ  …rocmm…íÛ…>\±mcˆˆˆ^'OžÄ‚ dÂ===ñèÑ#üõ×_Rá¿üò F-sÌСC±cÇ@VVöïßóçÏ#..ùùùhÖ¬ìíí1fÌŒ1***•žÿ£>‚¦¦&víÚ%óÚ†  ©©Yáqnnn8zô( 88ëׯGXXòóóabb,]ºT²õWMó ”~)jñß—U•ÅsssäI“”ºÖ1cÆH®gÇŽ Bnn.Þxã Lœ8?ýôbccË—/LJ~Xa>+SYº?ÿü³d…L:UÿäÉ“¸qãâãã‘““}}}X[[ãí·ßƤI“$[¹µ_Æ/绺÷—ˆˆ¨©9uJ^^戎Žiè¬I4ÔøYjj*¾ûî;\ºt =‚H$‚™™ÜÝÝáéé‰7þÛ¢7&&C† ‘·zõjüüóψŒŒ„ŠŠ lll0yòdŒ;V*ýääd¬[·HKKƒ™™ ‘H„C‡IÅ=uê_ºéÓ§Wš–ÁO?ÁtÙ²J_áŽÈ:ðÆûïCûúõ*ã@š§'R-ª6^}aÿDõáå•]‰ˆˆˆˆˆˆê')ý§gÏž …€­[·ÖÚöÔƒ®ð G"""j8œBQc?+?I±¢Él¤~f 2쟨>p’"Õ7n÷LDDD¯• . gÏž(ÿ;gÏž!99 ­­ž={6Döˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆšµ†ÎQ} …øì³Ï0gÎ#66k×®…X,†@ €ŸŸŒŒŒÖå¶'«ˆ——¼¼¼ê:ÛDDDDDÔñ3QÕ¸’"½Vúô都{÷"77~ø!\\\0fÌ$&&b„ 8qâFŽY+ç:~ü8¬­­%Û¶Àš5k0xðàZIŸˆˆˆˆ¨¾øùùImõ }ûöÅüùó(GM?3Ñë@E\~¯C…BdggË×ÚÚ Û· 1|¸|ñ‰ˆˆˆˆˆˆˆêÊ©Szðò2GttLCg…H‚ãgDÄþ‰êƒ••UCgˆˆˆˆˆˆ^3\I‘ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆê')Qà$E"""""""""""""""""""ªœ¤HDDDDDDDDDDDDDDDDDDDu‚“‰ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ¨Np’"Õ NR$""""""""""""""""""¢:ÁIŠDDDDDDDDDDDDDDDDDDDT'8I‘ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆêD“ž¤˜›+€g1cF@Cg¥V4µë!"""""""¢†ÕÔÆ›šÚõ4f,k""""""""’W“ž¤(‹QRRú¯)hj×CDDDDDDDD «©75µëiÌXÖDDDDDDDD$/µ†Î@]ÒÕUÃÅ‹C:µ¦©]5¬¦6ÞÔÔ®§1cY‘¼šôJŠDDDDDDDDDDDDDDDDDDDÔpšìJŠçÎ%bΜ@Éßaaï@SS ù;=½;wÞÇ?ÿ$"11::jpr2ÂÌ™6èÞÝT*­ÔÔìØ‰óç!æA__®®&øøc;tìØ¬Âó]º47†áÊ•d*pv6‚¯¯#Ú´Ñ•J;&& ›6…!00ÅÅbtè`€yólñý÷1¸~=0n\[ôïß²ÂëQö¼ò\Sulmÿ€H$ßv.&&š .W\yò6aÂe=—3rdklÙÒï¿URnpûö¨+|Í/פ¤|iÀÊJ#G¶ÆÛo[@KK"""""""¢WÇÏ^Ýñ³êÆ®~ˆõëCææZøúëîØ´) ÁÁ©():wnŽE‹ìáâb ع3[·†\\Œñã½—/ 1mÚu€¡¡nÝz@íÖ""""""""júTÄb±|£d …ÈÎΖ+®µµ¶obøpùâ×–Ù³ñÏ?‰Re))ù7Îùù"¬]ë 77S¤¤äcóæ0œ=›€5kº`üø¶€ääÒ¸"¬_ßnn¦xú4ŸŒàà4>ìgg#™ó سfu€]3ܾý³f¢Cüö[_IÜGr0zôEhk °aƒ ºt1ÆÓ§9ð󻇈ˆ dg!<|dµ×£èy½¦ú¤HÞ""20~¼?ÚµÓÃO?õ¶¶……%˜8ñ2¦NµÆˆJ¥[V? J°fºu3E^ž?þ‡­[Ãáã〩S­¤|ˆˆˆˆˆˆ¨vœ:¥//sDGÇ4tVˆ$8~Æñ3y(2våáqqqÙ°³k†eË`g× ÑÑ™øôÓ;ˆ‰ÉÂ=áæf"IÛÁáìí %“ËŒuññ¹’IŠejZwHû'ªVVV """"""zͼ–Û=oÞŽøø\,_îˆþý[BOO íÛëaëVW˜šjaÕª`<{Vð_Ü0<}š‹eËзo èè`cc€/¿t…X,ÆÊ•Ážcüø¶pv6‚¶¶={š¡o_s„„¤!-­ð¥|„!3³¾¾Žpw7“¤½ukWä剔º6yÏ«Ì5ÕEòÖ±c3lÜ肈ˆ x{ß‚X ,_~o½e*5AQÑtËꇯoiýÐÕUƒ‰‰&æÎµEïÞæõVDDDDDDDD …ãgyüL±±«¼<V­r’\³ƒCslÙÒEE%X½:¤Îò'OÝ!"""""""¢×Ãk9IñìÙ@¿~-¤Â54TñÖ[¦ÈÏáÊ!€Ò­KTUUпK©¸¦¦Z°±1@hh:’’òdÎáè(ýKê–-µBዸ—/—ž£woé|iÂÒRO™K“ë¼Ê^S}P4oƵ‚§§-ΜIÀ„ þHO/ÂÂ…ö5J·¬~ôé#;¨ûÝwoqE"""""""jò8~ÖxÇÏ»ÒÖÈlOmkk33-DDd 99¿Nò'OÝ!"""""""¢×ƒZCg ¾– +«ššèêÊ^¾‰‰€ÒmIÊ–ӟ•¦—-´¥Âôõ¥ÓÖÐ(Ýî¤lsíÂÂääCSSÊkÖL]þ‹Rð¼Ê^Sy¶¶@$’o·pM¯2޲y[¸Ð×®%ãöíTlÚäUU¥Ó52Ò¬²~5u?küãgŠŒ]T\NÆÆšHNÎÇóç03Ó’+­ê(Rw¨*pq kkktêÔIòÏÚÚ***ÕNDDDDDDDÔȼv³°44T¡¯¯Ž¬¬"ääË –={V:@fjª U¨#'§áá#!ÔÞ††*tuÕ“SŒÜ\‘Ì@ëóçu³åIm^Sdä¨ZÌ™òy»q#ÙÙ۵5ÀgŸÝ…]3©_‡+šnUõƒˆˆˆˆˆˆˆ¨©ãøYã?Stì*=½b1P~n[YùkJÂTUUPTT"“FffQ­äïåºCUi9sæ ,, W®\Á¡C‡PRR‚–-[¢G’-Z´¨>)"""""""¢FàµÜîyðà7/&I…–àúõhi ЫWév)C†´‚H$FPÐs™tvï~€^½þ–û×Ðå•mÉR¶mM™””|ÄÆf+•¦<êòšjJѼÅÇçbéÒÛØ¹³vïî--fÏDjªô µ"é–ÕK—’dâzx\Àš5÷jtDDDDDDDDÇÏïø™¢cW"„„¤J…EFf"99;6“ZEÑÌLKfë””|$$ä*œ?yêU¦¦OŸŽ­[·âìÙ³¸sçŽ;† &àéÓ§ðññ»»;ŒÍ›7#""¢¡3LDDDDDDDT¥×r’¢··=,,tàç‚ ‘“SŒØØl,\x))ùðõu„‰‰¦$n›6ºX²$þþBde!=½ÇŽÅbÇŽH|ú©ƒÒ¿¦öö~††X½:W¯W„2±dÉí:ý5q]^S}æ-7W„Ù³áëÛÖÖú°°ÐÅÎÝ æaîÜ(.+•nYýX³æ.^LBNN1’’òðùçÁHIÉÇÔ©V R6DDDDDDDDõ…ãg{üL‘±+}}ulÙŽ;wR‘—'½{iX¼øÔÕUáëë(×ÝÝ ÉÉù8tè!rsExü8«W‡H­¶(oþä©;$]]]¸ººbÞ¼y8ränß¾ ÿþøóÏ?áááÁƒcûöí …Õ'HDDDDDDDTÏTÄb±Ò?ù …ÈΖïËÖÖVؾ]ˆáÃëîÎ/;w.sæJ…Ù[¶t¤§bçÎHœ;—€¤¤ù¤¶m GHH:îÝó¨òz¦L±Rê¼ò\SC‘'o+VãðᇒcNSS-¸ºþ%•ÖÂ…ö˜;×Vît_ÎÃËõÃÈHnn&X° #ÚµÓ«ã """""¢ºvꔼ¼ÌÓÐY!’àøÙ ?«š¼cWšZ€ƒÝáç‚Û·S!‰áèØ‹ÛÃÅÅX*ݬ¬"¬[w—. ‘™Y„N áãã_ß» MÌšÕNNFµVwHš¢ý“X,ÆÝ»wqêÔ)œúè#ØÙÙÕqnéUeeÅâQýj²“_uƒÿƒü|._ÒÐY!""""""jrJ'|‰ö퀥¥%¬¬¬Ð¾}{XZZ¢C‡Ð××oè,’Äb1nß¾'NàÚµkxúô)ôõõѾ}{Lš4 ï¼óTTdW¿‹ˆˆÀ–-[‘H'''ÌŸ?...õšŽŸ)†ãgÕ+›¤xíÚ°†Î É©&“è qâÄ |÷ÝwˆŠŠÂ!CðÙgŸÁ̬a'ÕRãëŸ8I‘ˆˆˆˆˆˆêÛk¹Ýsc‘’’—¿¤¶%€øøÓƒ®Ž IDAT|ˆ & ..;vìÀÝ»wñ믿â7ÞÀâÅ‹±~ýz™c‚ƒƒ1nÜ8èêêâÌ™3ð÷÷GëÖ­1iÒ$\½zµ®‚^Æñ3"ùihh`ìØ±øë¯¿°{÷n„‡‡cðàÁ8|ø0JJJ:{ cÿÄþ‰ˆˆˆˆˆˆšNRl`…X¾üó—WŒààTÌŸ úúê˜7ÛqÕwxyyaÛ¶m8qâBBBàïïo¿ýãLJªª*Ž?Ž9sæ Gèׯ¼½½qäÈÄÅÅ5tæâàà€ &TøšX,FIIÉ+9¥"Û·o‡455Ѻuklܸ†††8tè %qKJJ°téR`Æ 033CóæÍ±jÕ*´mÛŸ~ú©T|j?#RŒŠŠ ú÷ïS§NaÊ”)ðóóÃܹs‘——×ÐY“Áþ‰ý½8I±™šjáàAwdfaâÄ+èÒå/ÌšˆvítñÛo}ѺµNCg‘ˆˆˆˆˆˆèµ¡¢¢‚V­Z¡ÿþðôôÄŽ;pþüyܹsßÿ=FgÏžaÓ¦M8p ˆÕ«W#00ð•ž@¡««‹‹/bß¾} •³²²Bdd$š5k&®®®Ž–-[¢°°’ð›7o"** C‡…–––$\ `ĈHLLÄ… ê-ÿ$‹ãgÊÙ»7 ÖÖ¿#""Ba>¬­Ç_„7t¶¨žiiiañâÅ8rä‚‚‚0sæL©6°±cÿÄþ‰ˆˆˆˆˆˆšµ†ÎÀëî­·LñÖ[Ü–†ˆˆˆˆˆˆ¨±ÒÓÓƒ»»;ÜÝÝ"‘·o߆¿¿?üýýqàÀXXXàÿû&NœSS~Îol233{{{èëëK”®äU^YX@@†Z?¥ qüLqÓ§Û`út›†Î5...8xð &Mš„µk×båÊ• %úû'""""""z]p%E""""""""¸ººÂÛÛþù'Μ9ƒaÃ†áØ±c0`¶oߎüü|œ;wÖÖÖ’>ÄÇŒ®]»JÂüüü$ÿy»ËË—/K»ví* /Ÿf||<¼¼¼àì쌮]»bÆŒxüø±$þÞ½{amm¼¼<I޳µµ­0½²UœÊ‡?}ú^^^pttD×®]±xñbddd >>3g΄££#zôèeË–!''G¦ÌRSS±jÕ*ôéÓvvvpuu…§§'"""dâÚÚÚJ»ªÝ»w¯ò½ÊÎÎFPPfÍšSSSlÞ¼Yêõ˜˜@‹-dŽ- ‹­òDD¯;;;¬\¹Gž}ûØ?ý‡ýQýà$E"""""""¢°²²Â’%KpñâEÌ;û÷ïÇÔ©SÑ£GDGGcàÀ€åË—ã½÷ÞÕ+Wð믿B `îܹˆŽŽ†¶¶¶Tš½{÷Ftt4:uê$>hÐ ©4ýüü0uêT\¿~_~ù%°`ÁIüéÓ§KÒwqqAtt4¢££Yaz•gíÚµ˜9s&nܸåË—ãøñãX´hüüü°páBÂËË ?ýô¶mÛ&•Vrr2FS§NaåÊ•¸}û6Ž=ŠôôtŒ;wîÜ‘Š)Éguÿ+}_vîÜ '''L˜0ªªªøúë¯Ñ¡C©8YYYÙ-ƒËÂ222*=Ñ«ÄÃÃ;v”´¡ìŸØ?ÕNR$"""""""ªZZZ˜5k~ûí7<}úË–-“z}Ö¬YèÖ­´µµÑ¹sgDFF¢yóæ5:çøñãáìì mmmôìÙ}ûöEHHÒÒÒj”nyãÆC§N ­­Q£FÁÆÆþþþøè£Ð±cGèèè`âĉ°°°€¿¿¿Ô±›7o–”Gß¾}¡££|ùå—‹Åu¶íèܹs3gÎÀÊÊ ï¼óvìØ!÷ñb± ¢¢R'ù#"jC† ‘l%\†ýû'""""""¢ºÆIŠDDDDDDDDrÈÍÍEzzzµñÚ·o9sæàòåËRá;w®õ<9::JýݲeK€P(¬Õó888Hýmnn2+iµhÑBæÜç΃ªª*ú÷ï/njj „††"))©Vó[F]]VVVXµj €mÛ¶áÚµk’×õõõ”¾·åååå ê$oDD ¡U«VHNN– cÿÄþ‰ˆˆˆˆˆˆ¨®©5tˆˆˆˆˆˆˆˆ³’’üúë¯Ø²e >ýôSŒ9²Êø"‘.\€¥¥¥Txù-3kCÙ$†2^¬²T[ôôô¤þVQQ@ ¹&UUU”””Hþ.,,”lYéääTiúqqqhÑ¢ÀÖÖ"‘H®|™˜˜T¹¥æËú÷ï³gÏââÅ‹èÙ³'€Ò­ºT8 ¥,¬}ûör¥ODô*HKKƒ¡¡¡Tû'öODDDDDDDu“‰ˆˆˆˆˆˆˆ*ñï¿ÿbÅŠˆŠŠ‚ŠŠ îß¿_å$Å'Ož`ùòå¸}û6<(÷yTUUQTT$ž™™©T¾Ëk¨-!544```€œœ„‡‡C T{Ldddå€Ôj˜Ý»wÇŽ;ŠÑ£GKÅ ôèÑ£NòCDÔ`oo/w|öO/°"""""""R·{&"""""""*'!!‹-¤I“±XŒ’’„……UÿßÿÅ‚ 0xð`$''ãØ±cpvv–û|fff2«%¥¤¤ !!¡F×QF[[[j’É AƒðÃ?ÔJÚÕ2dD"‚‚‚d^Û½{7zõê%÷ÊTÕY·n/^\ákþþþ¤· ussƒµµ5NŸ>‚‚I¸H$ÂÉ“'ѲeKôëׯVòFDÔÐ"##áïïÿýïrÃþ‰ýQmàJŠD¯°½{£°~}é/gÍ͵píÚ°ÎQã!‰ñãqøý÷LjŠÊD^žÆÆšèرúöm~ýÌaa¡ÛÐÙlÒ”­Ÿ&\FPÐó _ûðC+,_îXákõÁÁáòò*œÖÒ ];=üïmðÁVf%€ª8ƒo¿}€ôô"tëf??'¼ñ†ŽL¼ùóoâÙ³|9ÒKî´_¥²ÉÍÁÑñ„TØÏ?÷³³Q•Ç­_н{£$/\h¹sm+¼ö¥K;aútÉß={ž†P˜/ÇÓÓ‹É¿z…¼ââ²1pà9tîÜ¿þÚ·ÖÓ¯‰¦\ö!!i8|ø!þý÷9RRò¡¥%€™™,-õðÖ[¦èÕËmÚÔ~¿Ó½û)<{V væÌ@XY½ØZmÞ¼ñ÷ßOqíÚ0˜›kI¿ø"»v½X ÄÛÛ³gÛÖzåUY;¢¢jÀÅÅžž¶ptl nŸƒ^‡r U´o¯‡‰ÛcòdKTµˆMumKmÞ߇Å4ùòoˆzíáqrÇ/kk_G¹¹¹Ø»w/¾þúkÉ–”/OP—„…„„àòåË8uêbbbàä䄵k×ÂÃÃjjŠ ¹¸»»ãСC8tèÆŒƒgÏžaóæÍ066–šœ ¬7ß|wîÜAbb"’’’ðøñc¸ººÖ8]yx{{ãÆX²d V¬X.]º@$áôéÓØ±c6lØ × Vò:qâÚµk‡Ñ£GÃÌÌ ÉÉÉ8zô(Ž?ŽN:aüøñ’¸ªªªX¿~=&OžŒ%K–ÀÇÇêêêØ²e âââ°wï^hjjÖZÞ¨be|ãäÉx,Xp@i?^õÖîõåÒ¥$øùÝÓ'9ˆŒUe܈ˆ lÙŽ  ç‰Jàäd„ùó;ÂÅŸVâSãTPPPm[•››‹O>ùNNN:t¨Üi³bÿDDDDDDDTTÄe#îJ …ÈÎΖ+®µµ¶obøpùâ‘ü<<. 5µ€“_²páMüõ×Sx{ÛãwZ£ys …ùøùç8|óÍ4k¦[·Þ®õóææŠàáq––úس‡[®Š×ÏÆ> ›Ïò.\HÄìÙ7°}»+\]MðñÇÿ"?_„ß~ë+ïêÕd̘€“'ûKM‘Ç«V6eù€>}̱oß[•ÆMO/DïÞ#7W„‘#[cË–®¦õòµ—Ÿƒ¾}ÏÂÅÅ?þØ»ö.¤œÍ›ÃðÍ7ÿ=ÖÖŠ½õ¡)•}I‰7†aÿþhL›f±cÛ¢uk]dfáþý ìÙ…k×’‘‘£êd’î?ÆÁÇç¦Nµ†ƒÔk"‘®®!3³ëÖ9cܸvR¯§§¢ÿ³ø÷ß·¡¦Öð“«+z?³²Š_ß»ÈÈ(ľ}o¡gO3É1uõÔÔ˵¨¨ÑÑYX±"AAÏ1c† –,éTiò¶-µu7õòoˆzíáqsçÚaèÐ7$a¾¾wqìX,¾ûî-ôîm. Ÿ?ÿ&:t0hò“OÒƒ——9¢£c%%%8~ü8Ö¬YƒììlWzì AƒpóæM¤§§£U«Vèׯ&L˜€Ž;JÅ»{÷.ÆŽ+s|tt´LXVVÖ­[‡K—.!33:u‚|}}%Û:Κ5 ƒ ’IÓÓÓ‹-‚µµµTx¿~ý°gÏÀÇáããƒÐÐPböìÙ˜~œ?¿$$ä!>>yy¢*')§aòä+0 %|| ®®ŠÍ›ÃðË/°oß[pw7«Q|ªåû§êܼyK–,ÁÑ£GÑ¢E‹ ãdggcΜ9ˆŠŠÂO?ý„ÔÔTöO¯yÿdeeU£ã‰ˆˆˆˆˆˆÅ•Ia'`ooX§,ˆj"$$ þ ÚaæÌ’ð6mt±xñ›ÈÌ,Â_=­“s—nWú¯¦^ç{í÷ßûÂÁ¡yCgCnººjpu5ÆêÕN7Î?üðK–84ЉexˆnÝL0th+À‚1iÒ=—¬QP ÂgŸÝÅÌ™6 OP¬Lc/--Œ5áï/Ľ{i•ֻヒFË–:ˆ‰Éªç*¦¤DŒß {ûfÏÀ/¿<ÂÒ¥•O:jHM¥ì·n ÇÞ½QX³Æ&´“„›˜hÂÝÝ =z˜bæÌøû ë,e‹._ÊLæ NCQ‘ø¿×“e&s]»– 77…ïÉêú¨ÚìÃôõÕ1xðÈËañâ[ðó»‡Ó§Ô8Ýê4õrUWWEǎͰm›+úô9ƒï¾‹Æ¬Y`h¨!WѶ¥6îï¦^þ U¯©rX¹r%>|±XŒê~Ï™˜˜OOOôéÓ§Ê/ùœœ*œðQ}}}¬]»V&ü?þ «,ͪÎeii‰cÇŽÉ„4Háô”9¿¡¡!–-[†eË–U§6èééaܸq7nœBÇÙÛÛcß¾}u”+"ålÝŽ.]Œðõ×л÷ß•®Ž ”ö×K—Þ†:6lè-­ÒÕßV­rÂÍ›Ïñé§·qþü`hh¨*ŸŸ¼¼8vì|}}qäȘ™½?â """"""¢¦©Io÷,‰ñ÷ßOñÓO™¬¬b´m«‹ñãÛáý÷-¡ªZú-йs‰˜3'PrÜÙ³±ukRž^¸yóm4o®˜˜,lÚ†ÀÀ‹Ñ¡ƒæÍ³Å÷ßÇàúõÒÁ½qãÚÂÂB[·†\\Œ%[‚]¾,Ä´i׆†’‰Råóàï?6„âÒ¥$hhЧ9>ûÌYYEXµê“¡««Ž~ýÌáãã]]é·25µ;vDâüùD…yÐ×W‡«« >þØ;6«ðœ—. ÆÆa¸r% œàëë(ùâpïÞ(¬_  zkëß”þÂ:2²t+‘ÂÂìÚ‰S§ž"!!šš¸¸c„vèÛ×\®/çmmÿ{Õ'M—+neÒÓ ±sç}üóO"’’òad¤++}ŒÙo¿mQé€ðËåan®…¯¿îŽM›ÂœŠ’ sçæX´È^²* ¬iÞŽ‚Å‹oI… ƒ‘‘¦Bç—·¾¯[×€|õNYŠäÅÕÕ¦¦Z¸r%Ó¦]ǬYàêj,s}µ­ü=ö45ur¯ÊÝçµoå-\h¹sm!‰akûbëž¡C[aÇ7…ë±2þøã –-»ƒ¸¸€]3LšÔï¼ÓºFéÖFU‘Ü\ÂÂÒ°re´µÕ°zµ“äµ;#êäÉgNN1ºt9)•‡êÞ7++}É›¿ÊžÅÇ]^nCE"àÍ7›ÁÛûM…˯¾Ç²*“>¿–…ÅÆf)ŸÞ­[·àííÄÄDˆÅb™Éõ)))X°`Ο?@€>øS§N…¡¡ìDT"""""""¢úÖ¤')úû'aþü›ðö~Û·»¢¤øóÏ'ð󻇤¤<,]ZúEÛ A-=³g⟱|ù]ÌŸß7vÁƒY?ÞðèQÆó‡¶¶;vtC—.Æxú4~~÷pÿ~&44T>Rrþ¹smáàpB*O½{›#:z4FºˆøøÛ–•ÏÃÚµ÷0gŽ-6lpÁ™3 ðö¾…ôôB¨««báÂŽhÛÖÇ?†¯ï]èêªÁÇÇQ’Vrr>ÆóGAë×w››)ž>ÍÁçŸcìX>ìgg#™súùÝìY°aƒ nß~ŽY³±`ÁMüö[_Àôé6˜>Ý'`oo(`~ÙŠwqút¾úÊ ]»#;»{÷FaÖ¬9Ò Ýº™Tû¾Õô‹>E¤¤”•U Ö¬qB·n¦ÈËáÇã°dÉmdfaêTë -+ ˆ‹ËÆêÕ!X¶Ìvv͉O?½ƒ÷Þ»ŠzÂÍ­ôºå­“5ÍÛˆ Kǃ™øòKW4kVºjÙ… ‰rŸ_Ñú.o½S†¢yÑÑ૯ܰpáM\¾,ÄåËBkÂÝÝ }û¶ÀÀ- ­]ûÍ_ù{ª²ðڸה½Ï+j߇cñâ[¸z5ÿü3H2YR PAtôhŒç÷ß·‚‡Gé6ÙŠÔceedbýú.°´ÔGbb.víŠÄ¢E·p÷n>û̱ú*QmT™þI”LR(ci©Í›]0dÈ‹­çεU¨?7ŸÑÑ£1uê5\»–Réû6eŠ¥dbçXcΜ@œ>ýnn&ض-:ÂÅÅ¿ýöáá8{ÖÉÉùX¾ü®_O:>øÀJá­vå-›2!!ï@GçŤë;îcÛ¶,^ü&:t0PøZ•ñî»íðÍ7‘øûïÄÄdÁʪtòæ¡C1èÑÃVVú¸uë¹R×.ªÊ@ž ŠðçŸñpv6‚……`Ô¨6ذ!/&áùókÂÀ@ÑÑ£1mÚu¹îyEÛ_e¼ÊeŸœœ04¬|bQEÊúøü|Ö®u†››)RRò±ys¦L¹Š5kº`üø¶r?£€››1´´^l}+¨àÚµd¸¹™@]]U²õ­¿¼¼J·Ÿ~yK\yÛöêú(yú0Eegãúõd¬]{jj*X¾Ü¡Êø•=)SŸ›r¹‹•‰+‚¡¦¦Š+œ §'û|$OÛR™šÞßM¹ü²^Ë«¶>£*ó¹©>èèè ukGæX´¨»$\$áÉ“'ˆ‰‰ALL >|ˆˆˆÄÆÆ"7·ô™MEE=Bqq1ÔÔšô° ½&äPô^VæsPuù«îÙ PìójEmè“'9X·î?–/oeês,«2e?¾ÑÑ‘m—ÊÂ22Š”ŽO '//_}õöìÙUUÕJWþˆŒŒÄÿýßÿaôèÑÐÓÓ«çœU®Éo÷Ü­› fÏî€fÍ4м¹†äK÷ï¿Fvvq…ÇÌšÕݺ™@[[ ;7Gdä(4o®Í›Ã™Y__G¸»›AGGlÝÚyyòm %¯qãÚ¢S'Chk 0jTkØØÀß_ˆ>²AÇŽÍ £#Àĉíaa¡éíÏ6oÃÓ§¹X¶Ì}û¶äóË/]!‹±rep…ç?¾-œ ­-@ÏžfèÛ×!!i ­^týz llôáîn--LL4±ti'´oß8Å6oG||.|}Ñ¿KèêªÁÄDsçÚ¢wos¹ÓÉËaÕ*'Iù984Ç–-]QTT‚Õ«¥WØ·N*›·Ò/®£¤DŒ}ûÞ’|©øù«ïÊÖ;y(sïuíjŒóçcÓ& Øùù"?þ ÞD¯^gpòd¼Òù©©Ú¸×”-ïÊÚ·éÓmþ«3QRñƒ‚žC(ÌÇðáÒ[™*Ó¶ÊëÇ{cóæ®xóÍÒ6°tr[Wtîl„ƒcœV}"•¨Í6jàÀÒ/G#2r.]‚#,0oÞ Ì{ÅÅò­¢Q“|~ôQåï[BB.†·„ ÐK—vÂêÕ!èÕëohh¨bÇ7¤§býúPx{¿ SS-,Zt ÏžàÂ…ÁðósÆ_„+|¿Ô¤lNzŠ/¿ŒÀ˜1m1{ö‹É‘Š\«2´´˜6Í%%bìÚ ÈË+ÆþýÑðô´•;—¯½ü¿K—Ë•FeeP_~y„±cÛJþnÞ\ýû·„H$Æ<‘Š+ï=_Ï>M¡ìUÜ£µ¬_¾¼´×ÓSCûözغÕ¦¦ZXµ*ÏžÈWY”nÓëêjŒ¬¬"ܹ“  t²VÙ3C›6ºhÓF÷î¥KVa¼rE(õLQ—m»¢Ê&Z[ÿgç?±lÙ895ÇO?õAÏž•¯øZÕs2õ¹)—«Ýðð¸cgdR^ IDATcMœ93£FU<Ñ[‘¶¥¼šÞßM¹ü²^+«&ŸQË(ò¹©¡´k× ÀÌ™3±~ýz?~!!!ÀáDZråJLž<©©© ]¢Z¡èøC}ßËŠ>;ÕdÜÃÖÖ7º 99¯Ö¯£!‰Å¥ŸÁä}lU4>Õ[·naذaØ·o_…«'–ggg‡)S¦p‚"5:Mz’bÿþ-qäH/™ðŽ›IV©HçÎÍ+ ¿|Y tÛ±—iÂÒ²v~¤ó`n®èÔIz;Á-´!Jœž;—UUôïßR*ÜÔT 66 MGR’ì`«££ô*w-[–®T>ýªôéÓ·o§ÂÇçîÞM“lusîÜ …V(«MdJ¾ ,û·bE鮳gþË·ì ûwß½UéJ…åik d¶3¶µ5€™™""2$+-)R'•ÉÛÇY3æTUU°|¹£ÌÖµŠœ_Ñú®l½+SÕû¤ì½§¡¡ŠÑ£Ûà›oºãöí8tÈ#FX =½‹ßBxxF¥ÇV•§ªò*ڸה-ïÊÚ··Þ2…½}3üöÛ©m ÷ì‰ÂÔ©ÖRuIÙ¶µ¦†-]ïüùÄ*ãUõþÔU%¨ÀÂB^^vxçÖ8s&Ä(ž¼ùtw7ƒ­­A…ïÛûï[AMMº ˜6ÍׯCxøH|ÿ}OXXèbÆP´n­‹‰ÛáÁƒL¦`Þ<;˜™i¡ÿèÕËß­ôµTW6wbœ†O> ‚«« üü¤·…VôZ•ñÞ{V04ÔÀÉ“ñxô(?üðNNFJmå«yË *÷ïg ..C†H· e‹~ùå‘T¸¼÷|}=û¼ªeofVú|¦èvÔe}|¿~Ò媡¡Š·Þ2E~¾W®eŽ«¬ /Sö>•½oå'kõîmŽ’1®]KF~¾ÁÁi’íªm¯ÌË“N£¢FãÖ­·±{w8:V^Õ=)[Ÿ›j¹^»6 o¿m³gðÃqÆW´m©HMïï¦Zþ ]¯•Q“ϨeäýÜÔX™šš¢{÷î˜4i|}}afVùäR¢W‰¢ãõ}/+òìTãffZöǶUÑ×/]Ý;7Wv~ÙÄuu¥ãS}ËÅÆ1qâD$&&V;9(] øêÕ«õ7""""""""Å5é}‰²²Š°o_4ΞM@RR23¥·(©le mmLXaa rrŠ¡©)Ú°L³fµ;hW~«5•҉巨UUUAIÉ‹© K$Ûµ89ýYiúqqÙ2[êëK§­¡Qzb[±¢3œðÛo0eJé X×®F˜8±=–Ýâ³"¶¶H&äTÇÄDëŒS¶Uhyee¥©)€®nÍn…Êm5‘œœçÏ `f¦%wT&o™™Å˜3çZ´Ð†¿¿Ç?ÁÈ‘Ò+â(r~Eê{Mê]™ªÞ§Ú¸÷ôèaŠ=LѪ•vï~€Ó§ãao_ùä•å @¥áò¨é½V“ò®¨}+óÑG6X¼ø~ˆyóì››7ŸcË–®Rñ”m[kªl2Ðó粫‹½¬ª÷­6ڨ긺šàøñ'¸~=}$ßDçšäóíðé§w¤Þ·€€lØÐ¥Úó=Ço¿=Æôƒªª >ÌX[ëKâtè`€~ˆUê:Ê«ªlr1kVZ¶ÔÆ®]Ý ®.û;Šš\«‰˜˜Ò•¸ÔÔTàîn†o¾éàâÅ$¥ÏYWÊV$»tI6o°fÍ=¹Ò)(!$$U*,22ÉÉùèØ±ÌÌ´®“ŠæMWW ææZÐÑ`÷îîÐÑ`öì@É6KŠž_Ñú^—õNѼˆÅ¥_ŽÜ½›Vaz÷WµŠbcPÕ½Vå-¨àíñüyöí‹ÆÉ“ñøàéAíºh[_öÓO0räE™p±8uê)`À€–2¯Ë«>Ú¨[·Jß“ò[7*Ò(’O ULžl)yߎ‚?¬~²åÞ½™Y„… ß”„•m ùòhQQhß^WæxeTT6"‘óçßDLLvîì&µ­Ú¼yÿâܹÛ{+{­ŠÐ×WÇ´iÖÐ×WÇܹvµšve)ƒŠœ?Ÿ##Í 'À¸q¥Û²þùg<òó_L•çžWæÙGY¯bÙ·o¯/¯Ž¸w/ ?ÿWaœ‡³pìX,†·¬VSÖÇ—¿Ÿ Kpýz ´´R­Ñ«—ÄbàÀôé#½u¡ŽŽ..ÆHNÎǯ¿>–LöR¦m¯ª’çõÚVÝsP³úÜ”ËuذV°·o†ë×Spõj²$\Ù¶¥"5½¿›rùW¥®ëuCçsÕ?Eǹ—kc\LÞg§Ú÷HK+DllŽÜùk,ÜÜL`m­Ó§Ÿ¢ àEß,‰qòd7årUQ-²lÚ†²ÅkÒ¶T¤&÷wS.yÕE½nò|n"¢ú§èøƒ"÷rmŒ‹ÉûìTãÑÑYX´èf…[@7vªª*X¿ÞEX²ä6RRò‘ž^ˆ+‚—µk»@SS t|j\´µµÑºuk8;;cÀ€7næÎ ___¼ûî» =""""""""*âìË) ‘-ßê ÖÖVؾ]ˆáÃëo5‡´´B|ñE8.]JBJJ> 5ЧO ˜šjá›o":bÅ 'Œ{IæøèèÑ2a±±Ùظ1)‰€Ž ðÉ'°m[8BBÒqTü¬¬"¬[w—. ‘™Y„N áãã_ß»’­SfÍê€AƒÞɃ§§- j‰Ñ£¥Ã½½íѵ« Þ}÷²T¸—WGxy•®L’ž^ˆ]»"qî\ó`` {ûf˜1Ã={–~‰w÷nZ…ç\´ÈÖÖ¿K…÷ë×{öôPº"Ï]„†¦ÁÐP³gÛbòäö€ˆˆ =‹ÿ}†„„–/¿‹k×’a` Ž?´’ÙÆvÊ”«NÅ;’ɰʔMhh:F’]9óe_݃I¯ž©ÈµV¦|~{õ2Ãþý=+_þ^€Ï?ïŒ)S,+¼ö¥K;aúô“;{ö< ¡0_*ާ§-~C¡2x¹ìSRòáîþ·$^çÎÍñë¯}¥ŽÏAß¾g¥ÂLL48\òwu÷¼¢}AušBÙW4 <$$ ÆàÆgHIɇ¦¦66úððhI“ÚC]]ú·Aåûxmm5895ÇÌ™$“‘•ió²ŠÐµë_èÚÕGŽô’y=""0fL[lØðb⤢Ï(ÕõQÕ½.o;bi©³gVx­Š>mÙÒUéúÜÔÊõí·-ðå—®Raï¾{Y²âíËi[rrŠkíþ~YS+ÿÆP¯ýõ–,¹-òŽdbNeŸ•ýŒªÈç¦úrꔼ¼ÌSïç&ªLCŒŸò(z/Ëû9¨ys*??Êóì(Þö¿Ü†‹Ñ¡ƒ>þØû÷Gãúõ¥«¯[× áÂ…DÌœXákk×vÁøñ²?(ÏÀ–-a zŽ’1:w6‚+mgOuýÕn NDDDDDDõ­IOR¬OƒÿƒüüÿoïΣ£ªÏ?Ž&Ûd!û-4a !‘MP@QDmµH<§`±-=Ú*h*¥GS+‚€µÅ.jm±­Vmµ=¢­U ˆ€Š±"¤lÈ2²g²Îï~I&˽“Ì’ÌûuNÿèÍû}îsï=_çá™ûmÑÎ×ù:xY[þý÷¿æëP¼ÆŸî÷ ÞsiRÑßÿ~RÏ?ÿiû?¶yJUU“¦N}S7Þ8X<⛨óÖ¹úÈýùÓ\àiþ–û¾ÎóÙîgÌk ñÇüûÛ}íß›h?ò÷ú™?>Ë@Ãüo Iàmýv¹gO°Ùìš8ñ_jnvîë,*ªÕÉ“5~¹œ1à.îw oùË_N¸,1ÝÛiÕª| ¢{îéü˜žæsõ7¾Ê=sÿÜ÷ý…/óÙŸïgîSßâ¾èMŠ&UV6êöª¸¸^õõÍÊÏ?«¥Kw+::Twß=Ú×Ὂûð_/¿|RwÞ™§ºº½øâqUV6ê†z¶vwΜ±ëóÏëôç?OWrr¸GÇú"_œ«¿ñUî%æ_æ¾?òu>ûëýìë¼:_ç¿¿Þ× ÿ`¹g“ví²éùç?ÕÁƒ•*-­Wll¨¦MKÑÒ¥ºè¢(_‡/Ú¸ñˆÖ­Ûï´í®»FiÙ²þóö¾ß_½H?üáGNÛæÎªµkýcy=ÀÓ^~ù¤V¬Ø£à`‹FŒˆÑúõ”™çë°<Â̹¦§oêöxK–dhÉš6Œ2:{ôþüß6€»üý¾öçïM,§ ä¯õ3~–þ†ù ÞÀrÏo£Iš@ਟ`~‚7Фð6–{A“"ðš€GФ<‚&Eà4) IxMŠÀ#hR„_Û½»\éé›ôá‡g|J;³1mÜxDéé›”ž¾IÓ¦½éáè:çË\úKºòúëEí5Œ1c^óu8@¿@“"üÚÛo+..L“&%ú:”vfcúþ÷GèèÑ›”‘kxŒºº]}õfÝ~ûî†é—¹t'Þöõ¯ÖÑ£7iêÔd_‡ô4)¯mÝZ¬+¯LUp°Åס´óFL‡C­­çÿ×[.Œ;+ëºùæ½vü¾¢7Ï;Psà.ê)‡&Eø­cǪuüxfÍäëPÚy+¦¨¨½óÎuz晩½r<Ì%€þ&Eø­­[‹¤+®èëPÚùcLFôÕ¸ôm!¾ÀS6n<¢uëöK’RSÃõÔS—êg?; üü³jm•.¾8^Ë–Ñĉ‰’¤-[ŠuçyíŸß¼y–6l(ÔØTQÑ(Iúè£¦ŠŠF=ñĵuk±Š‹ë¢qãtÇ#té¥ÉNq;V­Ÿýì€òòljnvhäÈÝ}÷(ýéOÇ´k—M’4wîPÍœ9ÈÐø11¡zë­Szùå“:t¨RÕÕÍ:4Jóæ Ó‚_QP¥ÃóÙ±ã:­_¿_Û·—(,,X3f¤ê'?ÉVuu“V­*P^^™¢¢BuÕU©Z¹2[QQÆnQ£^UK‹±%‰“’¬ÊË»Þо’ôöÛźì²dEFë‰'iƃ’¤‰õÒKWH’vî,Õm·í’$ÅÅ…i÷îÚ?ßØØª'Ÿ<¤7Þ8¥Ó§ëdµkâÄDÝ|ó°öeÍ\÷ c2:Æ…Ž«ÖÚµûµ{÷57;º½¸QVk°ËöíÛ¯Õ£лï–)8Ø¢ñã”››­‹.Šê2—_|6>þ¸\éé›$IÁÁ:”c:×fsh$mŒ>kF®Cwç-I--CÏ—‘cÐW|ñûwI‰] aJK‹Öœ9Ctà ƒõü󟚪³õ´¶ÐÓ:–»µ»–)33VË—gvš«³gô›ßÒÛo«´´^ÑÑ¡ºä’$-^;M“''µï¿hQž¶n-ÖäÉIZº4CÙÙq:|¸ZóæíP^ÞõjnnÕܹ;d··è‘GÆkòädÙlv=öØmÞ|ZkÖLмyC%I'OÖꦛÞQDD°Ö¯Ÿ¨ uêT­V¯.Paa¥jjštðà§x»ïÞrÝqGž–/ÏÔüùÃÔÚ*ýóŸŸkõêÝv[ºî»ol‡Ç»îº/éÎ;G)--Zÿþ÷i-_¾[3f¤*44HK—fhèÐzíµÏ”›û‰n½5M+Wf{þât¡¼¼A—]ö¦zèbÍŸ?¼}{VÖ?4fL\{q»MNÎ;**ªsjR\±bÞ|ó´~ýëÉš4)Q55ÍÚ¸ñˆ6n<¢^¸\S¦¿îññaÆdfŒÙ³·©¨¨N™™qºçž edÄ騱îïŶ&Å ·Ïš5H ŽÔèѱڳ§\ æiäȽòÊ•=Ê¥;¹6šC39°Ù솟53ס«óÞ¶­ØÔóÕ]ø¯7Þ %KRuôè1_‡´óEý¬íûwCC«Ö¬§)S’U_ߢ—^:¡ jåÊ,Ýzkº$óu6wk =©c™©'tT»ûüóZ­][ 'jUVVïT»++kËU‹Ö­› É““uêT­|0_ùùçôüóÓ5~|B¯_##ÌÖ!ÖRÌäS2V¢žÒ5æ'xCZZš¯C˜€Xî¹¾¾E«VÓøñ ŠˆVVV¼~þóIjjjÕÃïëð3 ŽÔ”)IŠˆÑÅÇëСÅLJé±Çª¨¨N<­™3iÀ€ >@6\¢ääp­Z•¯3g$I=v@UUMÊÍÍÖôé)ŠŒ Öˆ1Ú°a’êë[ºŒ¹³ñ%iÊ”$-Z4R±±aŠÓ‚iš={°þô§£ª©iîðxsçÕØ±qŠˆVNΣ;Jõ½ïPFF¬"#ƒ5þp ©;ÊzíÞ±m[‰‡®¾zÛÇØµË¦#¢5}zŠÂÕ”dÕ}÷Õðá:ýLWyï(&³cTW7iùòLMœ˜¨ÈHc÷bgæÍÚ~OO›–¢+¯LÕ¾}çtî\£Ó~½‘K3ºÊ¡d<fž5w®ugÜy¾è«Ú¾çæžÿþ¢¤$«~ðƒQºâŠT—ýÝ©³™Õ“:VOkw£FÅèÑG'ª¬¬¾ƒ\ЩSuZ±"KW^9°½Ö÷Ë_^"‡Ã¡‡Êï•ów‡Ù:¤ÑZŠ™|~Qwõ!–€hRŒˆvYneÔ¨¥¤„«°°Reev—Ï\|q|‡ÇÚ¼ù´$骫:m ÒԩɲÛ[ô’Î/a#IW\á¼oB‚U_ùJ×ÍS?sæ ½ðÂå.Û32bÕÜìБ#U~.+Ëùx©©á’¤±có2p`„JK]‹°Þ¶eËieeÅ+%%Üíc̘1P{öœÕÊ•{õÉ'çÚ—ÑÙ²å§7ë}Qgyï,&³cX­Á.ctw/v&;Ûù—ùƒEH’Ëõë\šÑU%ã90ó¬¹s­;âîó@_Õöý{Æ ×†Ä?üajû[Û¸Sg3«'u¬Þ¨Ý¥¤„wøÃÇ-[ŠdÑÌ™Î?MN׈1Ú¿¿B%%¾©«™­C­¥˜ÉçuW@` ñuÞÚáöÄD«ÊÊì*/opiàŠˆvÙ¿±±UÕÕM²Zƒ嚺¤¤óǰÙìjllUmm³¬Ö`EFº+6¶ã˜º_:ÿºgž9ªÍ›O«¤¤^UUMNïì 8Çk±HÁÁED8o ²¨µÕø à£F½Ú^ÄìNR’Uyy×w»_}}³ví²é®»FŽ£#?ýéÅ?>A¯¼rRßùÎ{’¤I“4þp]{í—:üLgyï,&³cÄÅ…Êbq=~W÷bg¢£¯]XØùØ¿¸€{oåÒŒÎrØÆHââ ?k’{׺#î>_ôEÐùà RIDATÝÕº:âNÍ,wëX½Y»KL´êøñÿ-»ÝvlI7îŸÆ~âDŒèòüz»žæNÒH-ÅL>/Ô]}% š+*šäpÈ¥1ª¼üüR$‰‰VCÇ Rtt¨ª«›T[ÛìRœ;sæ|A.99\aaAŠŠ Qmm³êêZ\ „mc›uÇyúè£3ÊÍÍÖìÙƒo•Å"ýñGµfMã †½áСœ^?æûïÛd··hÖ,×剃‚,jjjuÙ~a3™tþzçä QNÎ57;”—gÓÆGt×]jÅŠ,Ýv[ºËgÌÆdvŒ¶bö…ÌÞ‹=»-ö®˜ÉµFr`æY“Ì]‡®ÎÛìóÕ]ðgÝ}ÿ:›§j éÍÚ]EE£Ë±cbBU[Û¬ƒç(8Øý¢@o×ÓÜ©C©¥˜­ÏE= ðÄrÏ -Ú·ï¬Ó¶C‡ªTVfWFF¬©_w·ý’øwJœ¶76¶j×.›ÂÃuùåç—Çi[&§m¹•66›Ýé—ØFµ´8ôñÇåJN×w¿›¦„k{Q¯¡ÁµàÛWmÝZ¬!C"5rdŒËßRRÂ]–ͱÙì:}ºÎeßñã_×±cÕ’¤‹¦OOÑo{©,×ëçnLfǨ«kQaa¥Ó6wïÅžÄ-I!NÿPpÍ5[ô׿žhÿÿfrm†Ñ˜yÖÌ\‡ÎÎÛç«»àïÚ¾oßîZǘ={›Ö¬)pÚf¦Îæ©ÚBWz£vwî\£Ž¯u9öu×}¹½~p¡§Ÿ>¬Ë/Ëð{›Ù:¤ÑZŠ™|E= ðD“btt¨~þóƒÚ»÷¬êë[TPpN?úÑn…†)77ÛÔ±–/£Áƒ#µzõ>mÛV¬ÚÚf?^£{îùH6›]¹¹ÙJJ²þÿ¾™Š‹ ÓÃçë½÷ÊTWעÇ«tï½{LÿÂX:¿¬Í”)I²ÙìúýïèܹFÙí-Ê˳éÅ›>ž?jmuhÛ¶ÍšÕñ½Ó§§¨¬Ì®?ÿùSÕÕµè³ÏjõðÃû:}anî'úï+ÕØØªòòýîw‡åpH—]–Ük1™#""X=”¯üüs=¾{wffœŽ¯Qqq½öî=«Ï>«Õ%—$¶ÿÝl®2š3Ïšdü:tvÞî<_Ýå×öý{Íš½óN‰jk›URR¯Ì—Íf×­·¦9ío¦Îæ©Ú‚‘óq·vwôhµ–-û¨Ãe“—/£‹.ŠÒ½÷~¬;JU]Ý¤ŠŠFýå/Çõ›ßÒý÷gõè ‹=áNÒH-Ål}Æê)ÇâèÁúÀ¥¥¥ª©1öFÀÌ̯hÍ›rrªÝÎ-³goÓÙ³ zî¹éZ½zŸöì9«–‡²³ãõ£Ñĉç `Ÿ|rNßøÆv—Ï=z“Ë¶ŠŠF=ñÄ!mÙrZ%%õŠˆѸqñºãŽ‘. QÇ×èÑG÷ëƒlji‘22bôãÕãÔ¾}*(˜mjüsçõ‹_Ôöí%²Ù슋 ÓŒ•œ®ßþö$iìØ8ýô§ã\Žw×]£tÍ5ƒtÓMÎÛ—/£I“’ôÍoîtÚ¾dI†–,í“'}üq¹n¾y§^xárM™’äò÷êê&­][ íÛKUUÕ¤±cã´re–rs?Ñþý’¤… GêÇ?ÎTaa¥^|ñ¸þóŸ3:}º^Vk† ‹Ò¼yÃ5wîPY,ÆòÞULFÆØ¸ñˆÖ­Û/IJM ×SO]ªG= }ûΪµU.÷â–-źóÎ<§qæÌ¢ï|'­ÃkºlÙ¥§orÚ~ÕUµhÑÈ.sùé§ÕZ¹òíßNqqaZ´h”¾õ­á¦s}Í5_ê6‡fsÐÆè³fä:9o£Ï׫¯^e(‡ü×+¯Dë'?IÖþýŸú: ¯êg~ÿNH°jòä$ýð‡6l@û~FëlmzR[èIËÝÚ]s³C#GÆhñâÑúãj×.›$iîÜ¡Z»vBû±Ÿ|òü±‹‹ë¦1cbuûí#4mZŠ{ —tV‡üõ¯ µ{w¹œÓ¾¯™ZŠ‘|š©­ROéó¼!--­ûèE^kRœ:u¨n¿½R·ÞZáîpni+ž¾ÿþ×¼:nw®½v«ìöíÜy¯Cñ+ë×ï×ßþvR~x½Ï~y~!ŒÉˆ¾7xÃþ§gž‰ÕûïŸôu(@;_ÕÏŒò×:º¶`Á{.MŠð_ÌOðšÞæµåžÓÓ›tøp˜·†ó 6›]'þKÍÍÎ} EEµ:y²ÆÔ’ÃbëÖb͘‘êWMuþ“}5nð†Ã‡Ã”žÞäë0'X?àŒù ôG!Þhüx»^{-Ú[ÃùÊÊF=ðÀ^-]𡏏P>\¥U« ª»ïöîRÊ}Á–-×ø:þ“}5nð†¼¼Í™ãÝ%uîjý Àÿ0?€þÈkoRœ9³NEE!*(°ze¼(=}“ +UZjWzú&ýâ½2v›ääp=÷ÜtUU5iþüw5a¿´paž† ‹Ò+¯\©!C"½öí³ª¨(D3gÖú:À‰·ëgFùC æ½þz‘ÒÓ7i×.›[•ž¾I÷ß¿Ç×a¡ ÌO ¿²8G÷»u¬´´T555†÷ÿÚ׆(;»Aë×—¹;$@Ü{oŠ ¬zãÏ} à‚ú¸˜Ÿà-iii¾`¼ö&EIZ´¨B¯¾­ÂBÿú58 ……V½új´.¬ðu(@‡¨Ÿ‰ù ôg^}“¢Ã!ÝrË—ÕÚ*ýõ¯§d±¸;2€y·Üò%55YôòËÔ%àŸ¨Ÿ‰ù ÞÄ›ÞæÕ7)Z,ÒÊ•g´wo¸ž{.Ö›C€÷ì³±Ú½;B>x†ø-êg@àa~ýW›%iìØ-[vV<’¤mÛ"½=<@ᄅGIÔ²eå;¶Á×á]¢~æ'¼Þ¤(I‹SNNµ–-KU~¾Õ!€‘ŸoÕâÅ©ÊɩѢE¾0„úÐÿ1?€@á“&EIZ½Ú¦I“ìúö·¿¬·Þà«0@?öÖ[ôíoY“&ÙµzµÍ×á¦P?ú/æ'H|Ö¤êÐÓOkîÜ*-^œªÇOPCƒÅWá€~¤¡Á¢ÇOÐâÅ©š;·JO?]¬ÐP‡¯ÃL¡~ô?ÌO Y‡ÛÒÒRÕÔÔô8ˆ_ŒÑºu‰JLlÑý÷—ëÚkk{|L˜6oŽÒÚµ‰*/Ö}÷•ë–[ª|ÐcÔÏ€¾ù þ"--Í×!Œ_4)JRYYˆÖ¯OÐ?þ­ŒŒÝ|sµ®¾ºV6÷Êñ@ÿUR¢·ßŽÒK/E«°Ðªo¬Ö½÷žUJ uôÔÏ€¾‡ù þˆ&E€·ùM“b›‚«ž}6Vÿþw”êëƒ4hP³†mR\\«,–½çµ¶ZTY¤'BUR¢ˆˆV}õ«µZ° RYY ¾ðêg€c~‚¿£Iàm~פئ¡Á¢Ý»Ãuà€UEE¡ª¬ Rk«G†}PPÓª!Cš”™Ù I“ì²ZiÐBà ~ø'æ'ø;šÞæ·MŠè]4)¼-È×€þ‰&Eà4) IxMŠÀ#hRA“"ðš€GФ<Ââp8î~Øn·«¹¹¹7〇 0À×!Lš:ÃrÏÀ#hRA“"ðš€GФ<‚&Eà4) IxMŠÀ#hRA“"ðš€GФ<"DÒß|èþ±aeSÀ}×IEND®B`‚fio-3.39/examples/exitwhat.fio000066400000000000000000000020161476262051600164070ustar00rootroot00000000000000# We want to run fast1 as long as slow1 is running, but also have a cumulative # report of fast1 (group_reporting=1/new_group=1). exitall=1 would not cause # fast1 to stop after slow1 is done. Setting exit_what=stonewall will cause # alls jobs up until the next stonewall setting to be stopped, when job slow1 # finishes. # In this example skipping forward to slow2/fast2. slow2 has exit_what=all set, # which means all jobs will be cancelled when slow2 finishes. In particular, # runsnever will never run. [global] filename=/tmp/test filesize=1G blocksize=4096 group_reporting exitall=1 [slow1] rw=read numjobs=1 ioengine=sync new_group=1 thinktime=2000 number_ios=1000 exit_what=stonewall [fast1] new_group=1 rw=randrw numjobs=3 ioengine=libaio iodepth=32 rate=300,300,300 [slow2] stonewall rw=write numjobs=1 ioengine=sync new_group=1 thinktime=2000 number_ios=1000 exit_what=all [fast2] rw=randrw numjobs=3 ioengine=libaio iodepth=32 rate=300,300,300 [runsnever] rw=randrw numjobs=3 ioengine=libaio iodepth=32 rate=300,300,300 fio-3.39/examples/exitwhat.png000066400000000000000000003320131476262051600164210ustar00rootroot00000000000000‰PNG  IHDR Á¯_èbKGDÿÿÿ ½§“ IDATxœìÝw\“W÷ð“„$$ì 2ˆ \îº÷Ñjm]uýªµµµœUÔ׉"Ö­UÄ È!{ϰ I~\û4 CTÑóý¼<¹¹Ï}NÀúoν—&‘H!„B¡Ž‚ÞÚ „B!Ôœ0ÁE!„B &¸!„B¨CÁ!„Bu(˜à"„B¡\„B!Ô¡`‚‹B!„:LpB!„P‡‚ .B!„êPäZ;„ú¢ÒÒÒfÏžM®O:ebbÒ¾ÆoŠäääcÇŽEEE•——K${{{uuõÛ·o@Ÿ>}~ûí·/B}I˜à"„þ[***žü›!„ 888..\\\Z;Y›§§'ÉnuttŽ9¢¦¦¦¡¡±ÿþ–!„ÚLpBÿ-FFFþþþäºUêZɆÀÙÙyüøñäzݺu3gÎ55µV‹ !„¾šD"iíB¨IŠ‹‹/^¼˜››Ëf³»uë6mÚ4kkkònYYÙÌ™3KJJ`îܹsçÎ%í«V­Šˆˆ€Þ½{ïÝ»W¦FöÉ“'§OŸ®¬¬###ÐÒÒòöövuu­ªª€ƒöìÙ¼½½9³fÍZ°`$''Ï›7ètúíÛ·SSS---Éø‘‘‘ÊÊÊxûö­žžÞ˜1cÆGÞª©©1bõјL¦ªªjÏž=§NjnnNOŸ>ÝPlW®\©ûóyôèÑŽ;Þ¼ySTT:::]»v•é#Sƒ[XXxáÂ…—/_æåå±ÙìÎ;5jذa4íã?!ÔfHB¨=¸yóf½³ß}÷ÕÇÇLJ4r8œèèh‰DrüøqÒ¢ªªš””$‘Hbbb¨{###·nÝZïßúúú‰ÄÙÙ™¼Ü³gyÄ„ HËСCIËÑ£GIKŸ>}dÆ?qKªªô°[·n%w‘œµ.99¹#GŽ>ÇV×Å‹ëí/ ["‘\½zUYY¹nggg>Ÿßœ¿<„ú²0ÁEµ¯_¿f±X$ýš9sæ7Ž9¢©©IZ&©‚OOOª±¡Ø2räHÒΜ9T#©¦Np§NJZx<žP($Ò•aaaMyBµA¸È !Ô’‹ÄÄÄ!C†ëÒÒRr‘“““˜˜hffL&óòåË666ùùù¤|ÖÙÙyÇŽŸöÜ^½zikkçåå•••………‘0ìííUTTþüóOUUÕüü|PPP kʨQ£È…¶¶6ÕXPP@.233/]º‘——W]]-‘HRSSÉ[)))ŸpÓ‘‹¡C‡R{‡I—õîÝ»¥Ã@¡–€ .B¨¨¨¨ iiidSX|>ŸºÖÒÒ222"y'XXX0ŒO{.F6lØ… Àßߟ$¸NNNT‚«¢¢Bz2„*¢Ž„\Hï>+‘HàþýûãÇo¨·¡öfDýH•””¨F:.‹¥; „P»ƒ .B¨066ÎËË€ &¬\¹²néíÖ¬YF½|H†uvv&ymPPUÆ*=÷Ù6l Y¬¥¥å† ôõõétú’%Kâãã›>ÈÂ… `úôé‹/þ¨x<ù‘¾{÷ŽjLJJ"Ù-éðQ"„PÛAoíBèè…\OžY‹9992oQ™ë£GŠ‹‹¹\n¿~ýºwﮥ¥U]]ýðáC™nMD*Œ3fÖ¬YÎÎÎt:½ÞÊ„Fb }òäÉ“'O’’’>êé õ#½ÿþ‹/@$mß¾4ª¨¨|ì'B¡¶\„P;àîî>xð`(,,ìÝ»·¥¥¥¡¡¡ªªê´iÓ¨,óíÛ·ÔDæü±nÝ:òR Lœ8±‘ƒsûôéC.|¸qãF ÚÚÚˆˆˆ¬¬,fooïçç7}úôÏBµ<É !ÔΤ¦¦fee±Ùl}}}mmmêÌ­ÜÜ\j‹.;;;j°ììl*#´··‰DÁÁÁ䥭­­‚‚5rbbbvvvmm-èééQûsåääP=zô ûï“]ÃÀÌÌÌÀÀ€\WTTÔ_$={öŒ4öìÙ“ÚL·   ))IYYÙ‚F£…‡‡““Øôõõ»té"ý©ë-44T €‘‘‘©©)éùæÍ²äNWW—šWŽ‹‹ËÎÎ555êì7B"‘¼{÷®  €Åb™ššR[á"„Pû… .B!„êP°D!„Bu(˜à"„B¡\„B!Ô¡`‚‹B!„:LpB!„P‡‚ .B!„êP0ÁE!„B &¸!„B¨CÁ!„Bu(˜à"„B¡\„B!Ô¡`‚‹B!„:LpB!„P‡‚ .B!„êP0ÁE!„B &¸!„B¨CÁ!„Bu(˜à"„B¡\„B!Ô¡`‚‹B!„:¹Ö!ÔÎäææ ‚ÖŽ!„Ј¢¢¢ŽŽNÓûã .B!„êP0ÁE!„B &¸!„B¨CÁ!„Bu(˜à"„B¡\„B!Ô¡`‚‹B!„:LpB!„P‡‚ .B!„êPð$3„B¨­“H #ƒ™ž.WZÊHZ;„>„F“(+‹ k „4Z+€ .B!ÔF‰Dðø±ÂÍ›ŠÏžqKJðKWÔþ¨¨ˆ*ÆŽ \Î`|¹çb‚‹BµE~~ »vi¤¥1û÷¯tw/²±©âñ„**":&º¨Í‹¡¤„‘šÊ —÷óã.Y¢kd$ܸ±pèÐò/M‚_u „>Fnn®@ hí(êÈRS™[·j¾xÁ3F°jŸÇ¶vD}–ÔTæþýê7o*X±}{Á'ü‘VTTÔÑÑizüg B!Ô†p&L0(,d\¼˜¹wo.f·¨àñ„{÷æ^¼˜YXȘ0Á €ÓÒOÄ!„j+¼½•çÏ×st¬ðñÉìÛ·ªµÃA¨9õí[åã“éèX1¾ž··r‹> kpB¡6áæMÅÍ›µV®,Z¹’ß* Ïjil¶dïÞ\õÍ›µ¸\ñ˜1-Uð† .B!Ôú"#Ù7jÏŸ_ìáÁoíXjA4xxðÚúõÚµ66-òM–( „B­¬¸˜±h‘ž½}Å÷ß¶v,} ë×X±l™nqq‹l† .B!ÔÊ~ÿ]N‡½{óp 0ôAýÿýwµ¿%E!„P½{ǺtIyݺBEEqkǂЗ£¨(þöÛÂK—TbbXÍ>8ú8¸.BÍkÉÝ‚9Ÿ \Xö™GŽI®ïܹcnnÞ¢Ož&&¦¸¸XUUÕÐа_¿~cÇŽíÚµk#w½xñâÂ… ¯_¿.,,d±X<oÈ!óæÍSWW‘HÔ¯_¿’’8sæÌÀÀÓÓsß¾}°`Á‚ 6@DDÄĉ€Íf‡……ÉËËÏûÑ­[õÍ›JÍ;&&¸¡/A,†«W•ýU]"E‹Š'M*ÕÔµvPÕO(¤=|¨pK››áÔ©%ß|ÃWUm©orszz_bª¸¸qãÆš5k¨—………………¯_¿>}úôÛ·oºë§Ÿ~:yò$õ²¶¶6&&&&&æòåËgΜéÚµ+ƒÁ°··¿wï‘7((ˆô§.É…­­-f·ÍKOO”—×Ì+ópÚ!ÔâJKéóçwÚ¼YsôhÁƒiK—av‹Ú2&SòÕWŸŒŸ~Ê{ð@ÑÅÅ(<¼¥šª*:—‹õ MrãÆ r±~ýúÈÈÈW¯^]¿~}ݺuì–pïÞ=*»]»vmXXؽ{÷ºuë………îîîµµµ0hÐ Ò‡¤³555ááá¤%&&¦´´¤2]ª3j.\®¸¢¢™3RLpB-+-9y²ABÓ×7ó‡ TT°Þµ4L˜Pö×_iVVU3gvºyS±%ž"‘îŸÐDÔ¼innnjj*“ÉìÞ½û’%Kþüóφn¹té¹°²²Z¶l™ŠŠŠ™™Ù¶mÛHcJJ I[HË›7o***ÂÃë««UUUõõõÅbqpp°P( #}0Ámv44û¦µ˜à"„ZPZsÒ$}.Wìë›Ù½{uk‡ƒÐGST9’3cFÉš5:ÞÞÊ­ÎÚĉi4œ:ujôèÑVVVŽŽŽkÖ¬ mè–øøxrѳgOª±G´¿ÿUñîÝ;Ð××766‘HJ²ÞþýûÛÛÛ@PPÐëׯ+++@KK«ñz_ÔF`‚‹j)¥¥ôE‹ôôõk/\ÈÒÖÆ*CÔ^1°qcáÊ•E[·jpZ;œÿ.''§ÿýï£GÖ××§Óé‰$++ëÆ3fÌxõêÕG U÷”+é*’àÚÙÙÙÙÙ‘ª—T袶™!„Z„X +Wê–—ÓΞÍáp°,µ{+Wò““™+WêúúfðxÂÖç?ÊÞޞ̪ÖÖÖ&''oÙ²%$$D$ݾ}»wïÞuû›››çåå@TTÕM]wéÒ…\888œ;w?~œœœ vvvJJJ'‰¨n-ôÑPóÂ\„P‹¸zU9(Hþرœ»E»wçuê$ܶM³µcùúù矷nÝ™™)‘H”””¨J²V¬®©S§’‹ˆˆˆcÇŽ•––&&&nß¾4“9Z°··—““€øøx¡P¨¡¡Ñ¥K]]]'‘HH%FÃÜögpBÍO  ïÝ«>{v)ÖÝ¢Ž„Í–lß^ðõ×ú~~ C‡âÙc_Zqqñ•+WΟ?/ÓÎd2ɵu¹¸¸ÌŸ?ßËË öìÙ³gÏê- ƒ’¤¸\®MHHyÙ¿ragg—ššJ®»víª©ùÏ?oöîÝ{øða™'ZXX‹û÷ïwîÜùã?%j˜à"„šß‘#j"¸»ó[;$‰|}}_¼xQXXH¾¾üé§Ÿx<Þ—ytXX؃Þ¾}KJ Ç?yòä–{"­ºZÁÏOþÕ+¹ÌLze¥HIIhjZáì\emÝrm›z÷®3F°k—Æ!åŒfÞ¸}À† lmmÿú믄„„œœ±X¬­­Ý§OŸ… ZZZ6tׯÉA|>ŸÉdR=hhhH÷tpp \jf×ÎÎÎÛÛ›\ãþ í­n5B5"77W 4Ò¡ªŠ6p ñ¢EÅK—}±¨¾¼õë×ûøøH·Ü¼y³‘ÿ—ý(‹uúôié·ø|þˆ#Š‹‹¥—/_.½~ó’ËÍ59’^ß/½lò伟~j¡ç¶Y©©ÌaÃŒŽËqvn†I\3³Î人6ößBÛ;Š: ‰ôQTTÔÑÑiú˜8ƒ‹jfOžpú¤I¥­H *..¦²ÛE‹ <˜F£5ãômaaapp0°X,™·jjjÊÊÊlmm‡~üøñ‚‚‚æzhChUUÀ`”Ì™SÝ­›H[[.=]õ?˜éé tåJé„ U¶¶-C›Âã û÷¯¼yS±Y\„PKÀ!ÔÌž=ãZYUuì³Ê¨š<X°`tY^KÓÐÐxùò¥ªª*œ9sæ <±VO/åùs çŸí±„FFæÎ%×r¹¹_ †¶fèÐ OO5<£¡6 \„P3‹Œd÷ï_ÙÚQ´ wwwéwùòårrrJJJÇŽ»téuš(Fãp8ºººvvv#GŽd2™Ô-‰äÑ£GOŸ>ÍÌ̉DúúúNNN0}úôÂÂBÒS(NŸ>\/Z´ÈÉɉÉd’ìöc±bb4ü‘œU¸ysµ¥%ÐËËu¾ù†&@ÙäÉeãÇ×½Q"3‹,‘pþ>³TÌáüצo ›ª’zf&ÓÀ÷ C¨-Â!ÔÌ23™<^G®OÏ•š¶$;Ì“¤3==”H»té’¥¥åÙ³g©ÄÔÃÃãîÝ»2ÝvìØ±sçÎ)S¦H ‘H¨—ãÆûœ°k,-kÌÍUΞíÕ«3®_—ÈËkmÙÂ}ôª­¬£G7r;çùsµÃ‡i55ÌŒ FAÐé•vv…k×Ö~LU\‡al,€ôt9Lpj›0ÁE5³²2š²rG>ÙÁÓÓ322rÇŽäåÑ£G•””ÈfCS§Nutt$íB¡0--í?þHOO‰‰Ù³gÏÎ; 11‘d·ªªªßÿ½žž^vvö»wïnß¾Íçóàüùóžžž ''GÕ!˜˜˜|fä…7²ß¼‘ˆ`%&jîÚUÕ«—âõë RUÍñô”HÍ1×%WXÈ‘ÎÝÅbšP(a³?3¤vJII ¥¥¸—}zùòe8~ü¸»»;»% [i55ºîîTv Z6T[Z ?¦À—&Rç>Ho†BmÈ#„Pó KÄ@NNÎÝÝ}È!½zõŠˆˆéVTTô믿&&&r8œ=z¸¸¸,[¶Œ¼%‰Èaœ¿³Æššš’’’f RsûvvTT[Y•~ý5ÐËËuÝÝiUU Ý¢êåÅ}úþ.;¦UUinßN¾ß= bàÀf !„šÎà"„Póèׯ‹Åª©©©­­urr266NII166–éV]]}ôèÑ£Gª¨¨têÔ‰ÅbÅÅÅ‘·ºt颧§ݺu£Óéb±¾úê+G£Ñ<==ÕÕÕE"ѬY³Hj-ÚŸþ ööö+W®l(B¥k×”½½@¬¨˜»­¶¶ü›7¬˜V\œÖ–-y¿üRï]ÜÇ5ví’ÈË õõ% ÌädzYy«ÂÁ¡ñÍÅB¨Uà .B5·oß>rZzqqqttô„ V­Z%ÓM]]}ýúõVVV%%%111UUUrrrC‡=qâF==½o¿ý–Ô*äåå…„„×ÔÔ‚ÿFµdee‘–„†+bYqqZ?ü@®óüQhh(a³söïs¹ äë«|ùr½7/ZT>lˆD¬ÄDö›7$»òx…ߟsü8ÐñÿGÚ¢¼¼ªb_¾lñ“œ?V› u04‰DÒÚ1 „Ú“ÜÜ\Áßõ—õ23ë|à@®«kc}ЗÇLJ’ËÏ ›]Õ«ÕÎJLd€D^¾ÊÚº¡ÛiµµrÙÙŒü| “Y«¯/RWÿ1·eÍõç¼…þ{‰Œ,?þ±‡‡¥‡G׿ù3µÙÀP+ºsGÑÃC'!!±‘>ŠŠŠ:s¬ –( „ЂÐÔThjZ·½¦sgèÜùƒ·Kä䄆†Âïò‹Ú,އ‡eÿþš­ˆ¬6ê`0ÁE!„:mmù¶9EÚfC &¸!„PG“—WuéRJÿþšÒs¥ee§OsÓÓËÙl¹=Tlme§QE"I``~\\im­ØÄDqð`6ûý±„©©åׯ§;:êôê¥öòeÁ›7El6ÝÑQÇØXQfììJÿœ²2a—.JƒëÆÇ—>xíêªof¦T7°¦ÛHl-D(?{–—–V.‘Hx<…´ååPvçN¦½½¦Ì0;»òÊ•Ô^½Ôu>êsÄÆ–ˆÅ`jªèà #'‡'ä5LpB¡Ž&7·òÀéb€{÷27l/+R}llÔ꯭-O^FDðW­ ÉȨ :èéqޱëÑCRSÄp8Œ£Gã>Ì& ÚO?õž0ÁˆºåòåÔmÛ^×Ôˆ©GŒmpà@Œ¹¹2Ipekâ°ÇV¯ƒc_dÄå2.ìÒлü¥K_æçÿ³}ž¦&{ÿþ~ýûkêêrNœˆü8Ç×wˆô-gÎ$ž8ñîÒ%Ǧ®×¯‹Ö¬ IKûg_j…S§˜˜ÈæÁèca‚‹Bup11%«W‡ÔÖJzöTëÛW] =|˜Î_±âåå˃i4È̬˜7/ ´Thm­nm­ÆbÑ£¢Šƒ‚ò- |ð`¸¢âûlÁË+A ¨us3ÔÑáDG¿x‘·uëëáÃõ””˜ðæMÑ?„‹D[[M++Õ¢¢šû÷³Žû`xÛÄØdxzÆŠDe¸ššìFÜÝ»£óó«,-Uìì´ääh))‚çÏóâãKû÷×TT”›8‘wölRddQÏžj¤uµÈÇ'µ[7•¾}5šø¹ÒÒÊçÎ}.Ôêës ÐVQa&&–={–›•U îçÃ!„êàNœxW[+™7ÏlãÆž4ÀwßuŸ0Á?<œ”oo¯uüx|i©pûvë3þY‰xútâ?¾¹q#}úô÷Ý …â»w‡pÉËõë_ùø¤†„:;ëÀ©S "‘dÕ*Ë•+ßWÙzxtus{üÁ𶉱ÉpwïúÁÜFÞåó«ML¯_w¢ÓiT Ÿÿ~c¾Ù³;Ÿ;—tþ|òîÝïÜÛ·3‹‹k6nìÙôÏuôhIwïîÍd¾ßn/#£œÁÀ­÷š&¸!„PVÈ`ÐÖ®íFû»¼SMµt©Å¦Máaa…ööZù ϯ9t(N"y¿ƒhyy-DF¼O"'L0¢Ò52D×Ç'57·’¼ /âpä–/· :(L™Âûãw‡×ø°MŒM•dš‘#;yy%\¾œêì¬Kª8ÔÕÙêêïÑ61QttÔ¹u+cýúªª,8>YCƒ=z´AÓ?WPPNÛ±£•Ý€Âç„(˜à"„ Éï IDATB\i©P[[ž¬‘¢)@I‰øü‘H²LÝ{¥Ëvõô8Òo‘IÐÚÚ÷3¥%%5ººò Æ¿ÖH5%ck|Ø&Æ&ã3kpW¯¶42RøóÏô|ÃåÊÙØ¨¹¹¹ºêSæÌéüäIîÕ«i ˜EEGDðW®ìÊbýkòµñÏU\\£­-¯ €™X‹À+B!ÔÁ)+3³³+«ªDÒ9.YÛ¤¢Âee¹šñ¢Eõ$|dqXS¨¨°rrªD"‰tŽ›‘QÞÈ-Mñi±}f .N›4‰7iO,–¤¤üýs׬ ‰Ž.^·®;éàà Ó¹³Ò… Ióç›;—$'G›6­þ¹ä†¨ª²23+ÊËk1Çm ø3E!„:¸>}4®_Oÿý÷·6¼/-.®9~<ž¼h{{§ðx nnÿ:Ë#6¶„¬ˆj µ›73Ž‹§ª²²*®\IýÌà?-¶Ï¬Áõ÷ÏqtÔa0ht:ÍÔTÉØXñìÙ¤«WS©—FƒÙ³;oÝúúÖ­Œ[·2F2 ö£h"{{-oï”íÛ#víêMm Fjpe¦~Ñ'À!„êà,èrûvÆÉ“ ¡¡üÞ½Õ‚Z?¿>¿ºW/5;;-X¶ÌüÞ½¬µkCOJ°¶VSRbæçWÇÇ—FFyy Ð×ç~ð0w®ÙíÛ™{÷¾}þ<ÏÊJ­¨¨æþýÌ¿w«m4ÙlÔ§Åö™5¸+V¼TScõî­ah¨ Šƒ‚ò32Ê»vU‘î3a‚ѯ¿FoÜøªªJ4g·”±d‰ù­[¾¾iÁÁ…ööš**¬¤$ÁÓ§9'OÀ÷óa‚‹Bupݺ©ìÛ×oÆWüˆ>i$ûà’eg gÏZ»64*ª8*ª˜ºÑÒR¥‰Ù-X[«mßn½cÇ›àà‚ààèÕKÍÉIï÷ßßr¹Ÿžo4KlËÙY÷Áƒì»w3¥ÃصËFº‡Ã˜<™çå•`c£ne¥ö±02Rðò°fMhFFù•+å?…Û©SK}¨ÿLpBíCddÑøñ=<,ÛÚ9Ÿm602qʼ|ú4wþü€M›zΛgÖ\@­HG‡#}ʸ¸t0@ëéÓÜŒŒ ‹Þ³§š­­†ô-ݺ©Ü¹3ôի¨¨âÊJ‘®.ÇÂBÙÒòýœ%§èáaicó¯[H£•Õ?§-L›f2x°Ž¿Ž@PKN2Û²å5H-·’ ¬‰Ã6[Kðô쟟_Z˜ž^ÎåÊ™˜(ÚÛkQ[†QºwW€ºÓ·Mü\}úhøù Ì‹+a0è¦¦ŠƒiˬÒCŸ\„B¨£ÑÖ–¯ûÏ ee¦Ì>V2h4èÓGƒTåÊàñêX·1*ª¸{wUjÃÚ¨¨âk×ÒÔÕÙ¦¦JõÖÄa­…hiÉõ•~#D"ɉïÔÔX..²Ýšþ¹äähÚÚŸ0’† .B¨}èÙS-!a|kGQ6XãZ"ìvú£@Íhÿþ˜¤¤²¾}5ÕÕYÉÉÿ‘H2{¶i›•|ù² ïåË‚˜˜’ŋͩ%b¨íÀ!„BÍ£gOÕÇsRSÿÙlâDÞÒ¥ÜÒ½|YpèPtêÄ]¼¸Á½ÆP+Â!Ô>ԭשׁ?ûvfzz9©)\¼Ø\ú›>‰||R._N‹+‰ÀÄDqêTã3LɪªêÔÆFã—_¢"#‹Ùlº““î¦M=ÉÑDDIIÍÞ½1÷ïg–•Õvé¢äáѵ¨¨æûï_yzöwqéT7°&Ûxl_@Cõ²ù¿ÿþ6&¦„Ë•6L÷Ûo»S§7@HHáŋɯ_ó³³+åll4–,éB}kü ¿#ÔÁxxXN˜À +ÌήPRbõë§Ñ¥‹rkÕüú÷×ôð誣ÃquÕoú6jèKÂ!Ô. …â9s^„…’—55âÀÀü  üíÛ{‘³é%øöÛÐë×Ó©[bcK¶m‹ˆ‰)Ù¹óŸ¥Ð‘‘Å{öD×Ôˆ ²®]KËÈ(¿xÑ‘¼[]-š9óyLL yU¼dI«kcUŒM¶‰±É°°øóƒ×¹~0¶F¼zÅß½;Š<¥ªJtùrjXÿÚ5'²ch~~Õ´iO©ÎEE5e?y’sÌr%⃿#Ô!p¥Ï§íú÷×”^À‡Ú ú‡» „PÛsölRXXa§NÜãÇí^¿ó왋‡GW¶sgd~~\¿ž~ýzº……òÉ“BCGEF޽xÑÑÒRÅÛ;%<œOsãFú¤I~lc“7îÓ^Mcm­¾{woR&ak«yô¨ýðáÝ»—õÍ7Ý@S“ýí·Ý‹ß¼ùuaa55WZïhüµôÇAýga‚‹j—RSËUUY$s¢8;ë]º”’š*€wïJE"‰ƒÃ=H@"‘ Èʪ n!Ç8Q  ¼¼öï§tt82E„:Lp¶‰±}yƒiIrML”’“ËÈËW¯ø3f< Å2wUU‰ê탿#„j!˜à"„Ú«Æ×c‰Å¨·hU(ü§‘ÍþW¥SúûºO‘4~Â}†mbl2¾@ n㎠ŖãÆêèȳX  FŒxÈçW7tË[3‡BÒ0ÁEµK<žÂë×E|kë¾Ðü8x¿Z(gfVøûç¬Xñ2 ¿‰O9RO"+^¾|YPY)Ê̬ع3òóÜO‹-.n\BÂøFþ÷ùÓ·ü ^¥¦–WVŠBC —- ª­•ÝРS'NaaõÙ³Iee²2áãÇ9 Ùèz}ðw„B-gpBíÒ¬Y¦÷îe¾zÅ_¸0Pº}ófk--y˜0\xõjêâÅA2÷~ýµqŸ2{vç72bcKfÌxFZh4øê+ý»w3?çì¢f‰­%¸¸tºv-ÍÇ'•jéÜYiÉ’÷»ôO›fòäIîöíÛ·G–nÝTÌÍ•óòêßჿ#„j!8ƒ‹j—˜Lúÿþ7ÈÃÃÒÔT‰É¤+(ÈÙÙiyy  6X¥ÑàçŸ{8Ðoà@m“I74ä®wäˆÝÀM=h@^žqîÜ iÓL44Øl6£GÕcÇìÈš3ÖooH³ÄÖúôÑ8yr€µµº¼ø;B-'"+búùé÷âî5Ò'©0iúùéW#¯~±'~±`¾€ó¯ÎO??}úùéUµ²ÿÀ+®,>px‰Ï’Å>‹÷?ߟ/¨çk™°Œ°­÷·Îóž·Üwù©SÂúW—&&þúä×%>Kܯ¹Ÿ >)¨ÆÕ™MEkÊj „¢äææ ý%kfÖùÀ\W׎ù±X,7Î?&¦$$d”ôÉd迦¹þœ·Ð/O“žÎ¿<ÓÐMólç5Ô'2;rü™ñƒ<<y|™'6¢yƒiiiÅi®'\«EÕ‰äÍÚ7\&Wú­©ç¦æ þ)dRå¨^˜~Á\ËœjÙ÷lŸç OéT.쨣¨#Ýx*äÔÏþ?׊k©5ŽZȪæÿ<­íÎE„„ÄFú(**êèè4ÒAÆÇ•(¦§§¸B¨M244´··oí(Ú™]»"»wWíÛWC]•’R~èPÜÛ·%vvZ˜Ý"ÔŒL5LÏO?¯¯¢ßÚ4É÷~èªÝµRX—/{ÊÉ·7¿Íäõ1è3ÏvƒÆ¸~áYò³Õ7Vßš‹N£À‹”ž/<™ 朾súöT .¿¹”ôÝ­ïÎL=Cs+æÖN¿ :c²Õd'3'¶;4=ôÒëK_ôs¶g—àîÝ»×Çǧ…BAµ´I“&]¹r¥µ£hg’“^^ Ò-\.cÓ¦ž­B’K¡¿QÿÖŽ¢I®E] N¾1ïÆš›kdÞŠÈŠx•ùÊHÕèÌÔ3òròàÜÅyÂé ѹÑ/R^8˜8€o¤/¬wZ?§ïr×(ËQ“ÎNz‘ò"&7ÆRÇjŵ;ývÀn×Ýã{Œ'Ý›^l·øK}ÊváÿA"ÔNMž<¹µCh—6mꩮΠ-ÈήTTdöë§ááain®üá;jòyÿ û_Ln —ÅÖeØØnciîNœ|ëí­ôâtƒÕS¯çÔ^S54¥;¤¥^‹º›+–ˆM5L'[Mî¬Ñ¹Þ¡ÊkÊ·ýµ-W»ÆqM¯N½ 6/Ö7Ò7½$]"‘ðÔxc»í®ÓtN*LÚ|oóD«‰{N€ù—çW ëY¼øë˜_;)¿ßÖ#™Ÿ|5òj|~|­¸ÖDÝdRÏI$;lQE•E»üv-³_ÖE³KÝw_¤¼€)ÖSHv cfï™înxšô”$¸éÅéàlæLÝÅ 3›ŽÌŽ|’ô„|„§IOóù½:õ¢²[B‰­¨ip„jŒ±±âÏ?÷ní(ú9e9ãN£êAïÆÞ}øîá· 帻üvy…xQ/ýüN…œúcò½õßÿ'pîÕ¹ÿ{ð"Éû³ë%<:rêò¬ËÖzÖ2Ce–d.öYœQ’±oì>’ÝúFú~ç{é•?'ƒOþ6æ7·înP^Sœldz#o…¤‡T +eÆ”£Ë‘oùàBø…ím§"yšôôÜ«s;]vN²šÔÐOcÖÅY"qý§îªÕÃ7ÒvúíÔPÐXf¿¬Þw ÀºÓ¿~äebáûSy¦<VªR} Ê ¨Û <3FZŒL)J9r*µ(UGQg¸ùða]†5¢`‚‹BuLgBϘ¨›¬vX­¥ ýÇË?îÆÞõ1õ™lUÏ÷9Åÿåâ%G—›ÓwN?£~eUe>‘>A©Aî×Üý—ú³åØ/Ó^n°F[ŽÒyˆŠ¼Jbaâ•7Wê.íÈŽXⳄÅ`yÏôîªýþd“Á'`vŸÙŒÈÑåRŠRnDß(­*­7r¯)^bÉ?‡Bg”dlûkÛ¯£ÕUÒ€W™¯¶ýµËâN·™n­gÍb°¢r¢N…žúáþv<;ƒzÇ Nn<Á•™«®+ %àFôK3/1õnRTQZ ÿ:©[[QŠ+‹ÉK›N6)»í><á°:W‚Rƒ®E]“î“S–ÕµÕn§ÜÊkÊIãÕÈ«nÝÝ~ýkãsðˆÀ!„꘴µ|çør˜p2sêkÐwæÅ™Þ¯½ëMpɦݮ»ÇõGZܺ»Í¾4;05Ð/Áϵ«ë©S‰dó°ÍsûÎ%œÌœæÙΫýë¬æÛ1·¿»ý]Wí®G'ÕRü'Õ“£Ë™kšo¾…j™ÛwnYuY½‘ÛÚR×9e9ïnÜõÕ®‘#I‹W°—X"öšâEM-;™9õÒï5Ï{ÞÍ·7š^=;ílã;G5”¶ÕµÕ?ÜÿaFïÔCë"3Ê :Cº‘¼Š„äåÌÞ3/¾¾š:øÈàÎÕ‚”¢”^z½ÎzMm˜P#ª€cAÇ̵Ìgöž©*¯ú:ëµWˆ×õèëvFv“­±ÞìÃ0ÁE!„:&×®®$»%ÈìfÝ…ÿDl^,‡É!F›Úkj`j`LnŒkW×ÈìH¶{VïYÒw1è .ýŸM²®F^Ëi>ò×1¿Ru¨Äb»Åko®ýæÆ7ÎfΖږ¦¦týƒE¥ù‚ü9—æ,°|L·1TcDvƒÆØ÷lH$ H VT R•uõ3ì×ø³wðÅÁQͺ!ëéÑã5çJ— ,òRKQëüôóîlxõ:*' \,\Æt³âÚ eöûâ~²ï˜Ž¢Î…éØrlp2sê¢ÕeõõÕ7cnb‚Û˜à¶uÛ¶m#vvv...­K󨨨øå—_Èõܹs[5„ê°”åeWCªrT³J³êí\][­ÌV–ùú[E^…¼Õ¢jy™éI$+(/Š„2 î(ËQÝtºÝz{Ë7Ò7.?®º¶zt·Ñk×Ö ’¯àϾ4{nß¹d奢¦B$¤Ô½¥Þ¥iÄçÔà–×”ŸxyBKQkáå…Tc ?æ{ϧÓèg§eÐd›³”¢”º=¨nÉüdÞ­‹fŸÙ>9e9Ù¥Ù:J:”;ýöä7 öÊ5P5€&ÉÏ“j6þ^£†>ܶnûöíäbÕªU&Á¥>Ô!C0ÁE¡-ý²¼¦<©0‰”„Ö¥­¨P˜+È•>n 2't”t@OY/&7&½8]zu”ŒÑ–£çô™óÝí烈Ÿ~êëS2U­&ê&+­$×Q9Q³.ÎÊä7”S–T•Ìñž3µ×Ôi6ÓdÞÒSÖ«Õ›x¬n¶MªZëõ95¸5¢šZqmvivvi¶Ì[¡¡4+=+ðOðm9šêð(áôÔ“Ý[PWI—”W+ÈnC:!o‘E{…å…ÒýÉB4j&5\„B¨czðîÁÕÈ«dú³RX¹éî¦ aŨn£êíì`âð®àÝw·¾Ûç¶O£!é!Ç‚Ž‘·`X—a1¹1×=~ý›©†)ˆ%â[oo™k™S+É`l÷±ÊòÊî×Ü¿>÷õ™©g¨%_¿<þebωԞb:Š:L38=¸Þ`ÊªËæzÏc9†Ú,VÚóž¸woíàµdŽ™Ür-êZ_ƒ¾ ý4>§W‰­t~úy™Æ w6¤§œrR^Nžtp2sâ09·bn¹Zº’ ×ô ᘠ¦‹Å?STǃŽÝëkyAyÁº[ëòyRó¾öÆöÚŠÚÞ=ø+þ¯æ#ȧ#+ü>³Ðâ¿\„B¨c²Ô¶üþö÷{ŸìÕVÒNæ' ª\&·¡5X‹ú/ºñöÆ‹”‡L5LÕ²aídëÉä«ó¶ nÇÜŽÌŽt9áb b ÂQ!cJŸ¿E é<äôÔÓ‹®,šrvÊ™©gÈ–±§CN:®ÎU7T5¬©­yWð®V\;ØtpÝH*…•ó/Ï—ÿŽ#ÇyœøXú-²îÂþ ¼{p!üÂåˆËÆêÆJl¥|A~vY¶H,òšâUw@âsRC9º\Ýs(Ø `khKÕ«"¯â1ÈãgÿŸ—ø,é¢ÙEŽ.›+‘H–XN&k ¯¯½O÷šj˜2é̸ü¸Zq­®’îO®?Q4ÆÃ~XùçÊå¾Ë T Ô¸jI…Iå5åj5<롉0Áí8bbbsssÙlv·nÝœœœØl¶LŸâââ›7offf;*‡m|´‚‚OÏ÷çh/_¾\CCãîÝ»oß¾ÕÓÓsrr20ø×-uŠÐ'H-J½}ÝÑÔ‘ì©Y¯_uýê·1¿íößQ’‘Q’½õ{ïúj—t¢Œ nGœœ¼`ÁéF==½ãÇýOŸŸß×_]Xø¾¦ÇÄÄäìÙ³uËa›2ZAAu£ƒƒÃ† BBBÈK…sçÎ7Žzè”)Sø|¾ôC›í“£ÿ’Ô¢ÔÏ(±•I7sËr±ÍLK+¯)_}}5Ù}saÿ…Ò n¥°rŵO“žR-¶†¶Ç&“^ô8ññ··¾¥vñ×®®¿ùM&QÍ]wkô*™ÆëÎÿ¡Ïg¥gu~úyžOWIw¾íüd~2—Å5Ó0“^Cfªaz~úyéÅO&ê&f\Èäg”d°äXffÒ‹œ@«¾wÌÞ]~L,HdÐÆêÆÔä%õDª³¥Žåy7’ùÉäëûÙ}fÏî3›_ÁO/N粸ú*úÔ½2ÁðÔxuëê3E¶âöÛ7ÝœX˜X)¬ÔUÒÕQÒ©û﮵ËeW…°‚ÍKZj¿t®íÜÄÂD±XÜY³³ôÇ$æö;«÷¬”¢”Šš ž¯¡evnÝÝF[ŽN,LÔôUô¥k£Ña‚Ûîååå9::fdd€¹¹ùèÑ£333¯\¹’=nܸû÷ï:RSSÇ_VV†††ãÇOJJš2eʧ&mΜ9;w^µjÕ•+W²²²ÊËË—.]êââ"///ýP7nܸ”””ºE¨CÒQÒi/Ù-ìy¼G"‘ªÖ]£½õ¯­O“žªrTG[Ž–£Ë݉½’òÝíïŽNãŠ*G•ú³§,¯,s¶¡ÀR¨÷ϧ–¢–ôþµuq™ÜºK¦¤ŸHÑVÔ–YÓ¦ÎU¯w˜t0\&·‰ÿá0Léòß/¬î"/'OB\/ÑÐÇ2ݨ­ÐGÁ·ÝÛ½{7ÉG-,,^½zÅår {÷î[¶l‰DkÖ¬‰ˆˆ€ýû÷“DSAAáåË—zzz°bŊÇÂhÒúôéóçŸÒh´©S§ÚÛÛ@nnn||¼••õP%%¥---X½zõþýû[üç‚PkÓVÔöäÑÚQ4IDvÄ…ð G&!‹JË(Éø3êO%¶ÒŸsÿ$«…– X6ÆkÌÃwcòbÈwÓç^«®­žf3íÿFþ¹kíàµc¼Æ\|}qÙ€eÔ´ÓÆ;+…•3lfl¾…Zü’ò…>$Bè¿ÜvïÞ½{äBMM*¨MMM%oÞ¼ÉÊÊêÔ©Ó“'OHËW_}E²[˜?¾L‚ÛÄѤoY¼x1ùΫK—.TcFF†•••ôCIv sæÌÁ}±Dð6÷­[a°éà†Žå¤”U—=Mzš^œÎ–c÷Ðí!}B!‹‚Óƒcóbű©º©ƒ©ƒ½Á¿}Þød•f 6L¦Ä„"á³ägiÅi‰„§Æ`<€ÚûS¦÷Hàê(#i³úÌ"+Ö@$¦’E'&ê&ƒMË|AÜDÑÆ;],\†š ­›à>Jx$–ˆ§XO¡~Î\9}çìy¼çAü’àÆäÅÀœ>ÿ¬vWçªé>æÄËãÎè=^g½ŽÎ6P1øaøÒ[;Õýu „Ðç÷Ý+(( AAAAAõ|ÙGRRª –Ên@WW¶V½‰£I·PKÊX,Õ(‹€z¨ŽÎ?•CÚÚõoÁˆPST×VϹ4'05¼”£ËmºqvŸÙ õ¿woà ÒÇÚèÛˆúÚôuÖë57Ö¤§Q T N}}ÊDÝDf(¡H¸éÞ&ßHß%vKÈn—YK}—æ ò©>š šûÝö“ŒV¦÷pÀa²>FƘncH‚‘±êú*²š„ÐSÖ;2áH#˰>?HÎpj—É]Øa#à ?rÊr*„É™ï‹íŒì 6/¶ñ‘áïÜH)9ŒêNì´¢4mEmGSÇFvE¡O† n»§©©™ŸŸƒ ª[ g±êêê)))——G½•““ói£Ic0ÞOÆÈœ#ýÐÜÜ\ªQ:„>–WˆWEM…[w7-E­èœèÀÔÀÿ{øZõVìÅäŬ¾¾ºV\ÛS¯g_ƒ¾‚ÁÃø‡á™á+®­¸<ó2FK+N›ë=WP-ÐWÑ`<@E^%±0ñYÒ³¬Ò,™·¸²x™ï²ðÌðÝ®»'YM"»ýwç ò-µ-íxvrt¹”¢”çÉÏãóãë fù€åÒ3¸ÕµÕ§BNÍê3‹<(³$sÞåy¥U¥Ö¬­õ¬Yr¬¨œ¨ Ô E>‹,z ÈV¬÷§áàùÁëOpÓŠÓ<_xn¹½<ÎÖ IDAT¡D3¿<¤Vöd%PžàýË]4»„¤‡œ ;C•(ð+ø7£oJ÷I-N=e=·SnÔQ±l9öæ¡›ënãBŸ ÜvoäÈ‘111Àçó¿ýö[EÅþ0+++**ŠÌ°2äÕ«Wpÿþ}>Ÿ¯®®^^²û6q´&rtt$½wï^~~>©R8sWL£OW)¬¼>ï:µ8Ã+Äk—ß®“Á'ëÍ)O¼99™ÚP ¡O0¶ÛXé¥ÇsûÎ=x,,#¬ÞÎaa cíàµÔ× jµ¥öK7ÝÝ–fϳJ ¢Óè;FîÞÍJ¦¨74#Ôó…§:WÝg¶±š±ô[#-Fz{]ޏìlæLjZ!.M$y\÷ÐQÒÙ:|+ÕÀ 1øüC‡$ 9o©\X‘Ù‘`SÿPÔ©§ŸæZÔµW™¯î,¸ÓHŸ÷¹lmµtãû¬÷ïÝ‘,µ-÷ŒÞ³éÞ¦7ÙoÞd¿}}Aßßþž:V”ŒS^S~gÁj_ª½O÷8ü¿Ðÿa‚‹j^˜à¶/_¾|ùò¥t‹………»»»ŽŽÎ³gÏ-ZôèÑ£ÌÌÌ£GR GŽI®ŒŒ|}}¿þúk>ŸŸœœ¼oß>“3gÎ >œt ´M­‰Œ¯^½:uêÔ¢¢¢ÔÔTòPooo‡Oû! d¨j(ý’N£ë«èGæDÖÛ¹´ºT[I›ZõE]îKªJ ¸ªX[Q»ñ³ÝƒÓ‚KªJF[Žæ©òdÞZí°ÚHÕèÏè?|ø#—ŵédãÖÃ͵«k#£‰Ä¢on|£ÀRøÑåGéª~_$í^ÏúKébŸSƒ[][½Ëo—‰ºÉµ¨kT#©'>p˜Å`¹t§ÓèZ ZUš%½SfI&Hï$5¶ûXGSÇljsÊrt”t\,\.¾¾Ô®¨äÃ͇Kïº:ßvþá€ÃTÅB5LpÛº­[·6ô–¦æûš9SSS??¿øøøÀÀÀ¬¬,6›­¯¯onnncó¯iŸaÆ%&&Þ¸qƒ*æææüÏ!1úúúMMSS“ ŒZ4Æb±¨Fsó÷ûö1"11‘:ÉÌÍÍMúCIŸ†PSÈìÒ*‘H2K2•Ùõo“®ÌVÎ.Í®ª­’ÎqÉz2r ¼ª¼jfifyMy#9î²ËRø)çÃÏW‹ªwºì”Þ€N£O²š4Éj’X"Ná§ø'ú¯¹±&:'zÝuõ%–ˆ¿¿ó=üìú³ÌŽôÊòÊ5¢šEýÕ½ËLÓ¬¡Ø>§·BXQTYTTYDά’v4ð(¬¸,u,àeÚKg3gªCPZÈœ_¥ÊQ×ãý /‰„äÍd94t°ÔW¾BŸ ܶN¦,¡æææTZY¯ÀÀÀîݻϞý~½yMMÍO?½?ùÚÒÒ’Çû×ìTã£ijjÖ ŒÅbÕ­ššõP¢é !7ÞÞ˜ßo>U¥p*ôTaE¡tî%­AŸëÑ×ú;UêZ\Y|<è8y ìyöÞÞÛlßõÕ.jk0RƒK›IÚŽ‘;TäUŽ)©*Ùï¶ŸÅx¿aˆ‚¿£©#ƒÎ Ó覦ÆêÆgÃÎ^¼Zo‚+‘H6ßÛ\^Sî9ÞS¦ÆðxGxóÔxnÝݤÛcób•ØJ ý4>§W^N¾î6½Â/”,µ_Êb°h@g3çÿ{øWÞ\™Õg)Þ(¬(<z†›§n ÍíkЗú¤ûží‹É1R5r0yÿu£‰£¼œüƒø+®¤&q½B¼ N¢ŒBŸÜÿcÇŽùúú:;;›™™•••ùùù%&&ƒÁØ·OvóK„Ú&“ãvÊm¤ÅH-E­·¹oRh4Ú‚~ êí¼ ß‚Û1·OŸ Íí­ß[P-ðKðãWð{uêEf—Ø/¹sË7Ò78-Øžg¯ÂQI*Lzšôô䔓2篼V«öÓ£Ÿ\^ptâQ2ã»âÚ 5ŽZoƒÞ†ª†B‘0(-(£$£¡s•¶?Ø~#úÆ\Û¹‡^’n'ûà.°ì^ܽµ7מ 9e­g­$¯”/È/ˆÌŽôšâ%ýµ¾´Ï©Áå09uÜï”,°œÊŒ T Æ÷ïé;îô¸Ñ–£™ æí˜Ûy‚¼a]†I'¦î×Üu•tmôm˜tf`Z`Ln “ÁüyÔÏÔ„·"[q‘Ý¢ƒÏŽòåbáB-2cÐóûÍÿäOBõÂ÷?dРA7oÞ¼~ýºt£™™™§§çG-C¨Í·ÿ,ùÙõè÷ŒÉ>¸ êÙM§Û>·}îlˆÈŠˆÈzÙ—|-n¤jä5ÅkÍÍ5%WÞ\! T dvÅ¢­"¯²ñîÆ™gzMñRã¨9›9?ˆp7ö.ÕÇ@Å`×W»êÞ›{îÕ9øûÛi£,G©qÔ T ÎN;»öæÚ¨œ¨¨œ(ê]Kmˆ²Û/fûˆíù‚ügÉÏÈG€¾}õ‹tŸ~†ýîÄÞ¡"×QÔùyÔÏ2‡8¬¸2¯,Ï;ÂÛçiá2¹;¿Úi­WÏ)²!ô90ÁýY¸páÌ™3ýýý†††Mß¾}±µ <5žÇ ;žÝb»ÅÏ’ŸÅåÅqYÜ!‡Hoz £¤C¬@¸X¸ à xšü4£8ƒ%Çê©ÛS&ëêcÐÇo‰_`j`\^ƒÎ0Õ0d2ˆ”'ÚèÿS}>±çDEW™¯RFYŽòï™/ÈÍM/N粸&ê&ö<{ª¸V: ®FCÇöR».tÓévgÁW™¯¢r¢*…•ºJºZ¤ö‹™ÖkZAy“Δnä09§¾>šú&ûX,þöÎ;.ªã àswÜqàÑËÑ{GEš ""AEÅ‚Fc!jÄ{IÄèÏš¨D¬Ä‚"ˆ ЀH“Gïí”v¿?ž>OÀã@â~?þñÞ¾}³³;¨Ã¾Ù])]“N1ÄžŽžnL·„Ò„æÖf1•‰J»Ö`#ˆû§í_j¼4¶8¶±¥QFPf’Ê$a>២O¤U¦9ýã´Î|ÝW¨8Y¹üúòSv.3^6Ðc!¸¤ÓÀ×üyèƒûmA¥R§M›6ØZ }s7±ëI*“&©LêÚG’&Ùõ_Aª ½¶=É)|rnιÉj“±þµMµ³|fµ´·Ü^v[ZPš=æÒ+ÚëXä18y »û»õÍõã=ÇÏÒuÔþ(Ö°åÞ1~±ØŸc±ƒÕÕONtÑwùý»ßñ“+’?>œV•ÆËÃ;YuòÎ);Ù£´ãKã¯&_M.O®|]I£ÐôeõW™®ÂBzz«á—ÐÞÑ~ùù囩7K_•²X,EÅYº³\ƹð‘ù8¨ñ¶íí¹Øs÷²î•Ö—bçVš®Ä#£ð(d}Y}+ÀÁ¦}Xsë9@.@ # ‹µéî&<ßd×dïy¸'«:kÿ´ýDñÏ™:\tØtwSв 9!¹öŽöõAë™o˜>ó|:åÈëÂ|Â:t¨Â(‹…¹VQEQD±¶©6›™%˜{Rð&*MÄßJ«J;òß‘–öhnmL,{UvuÑUì)³‘érÙïü²ù壼Gùÿ.ü·ÓÉÑÑ<¬Ùc…”ØŸc?÷ôhÄÑóÏÎã·Xæ2‘¼Øpñç^imoýáÚxQñ–ö–˜â˜Ø’X[öÀwÎ+ÀÙ¦½]ó~\Ï¡ Q@ b¤””¤)¡é=Ï;á—„4÷´«‹®jÓµýRüž—?a>ᓎ'›[›ÝÜZÚ[Ž=9S³Î|ûJ73·kß_€ –ò¶åa8+`®lþâÍ‹ìšl`±XO ŸÎÒÅCäÁ|,ˆ*Œ"ˆ'à¯Üθí<Ö9|Uxú¦t¿ïýdeâK㳪³°§Á\Ùüœó¹(·¨ì-ÙÏÖ=ûËñ/ å}á½ÞkØgBsBùÈ|^N^Ï7x:zŽ“4^Ú:óu55×’¯…ç…/·ëÆyz´i¯Ö¼×sh‚\@ F¹ÌÜöŽv‹SÀb±°’Î, **ðn.ú.O‹ž†0Bè4ú3ÿèÇ´è†r†|d¾'…O~4ù1ª0ŠD MPœó"Çë©×Û¶·ùµùuMu¸c‡ÕÄ‘–€7-o°Û¤ò¤EWµ¶·vèmÛÛþÒ™KvZït t³>cm¡l¡M×Ö—Ñסëp~¥øe±0Ÿ0æÝâX«Y_K¾Vü²oá¼=Ú´Wk>tÖs€èƒV†ê Ã99¹ž;!ˆáO«º4e÷i^¼y‘Tžõoë+*ú±î™D/?>¦8æmÛÛ¨¢(}Y}/Í\ÉüXä±øÒøŒª è”|ºSqàƒgbδ¶·®3_ç8Ú‘N£SH`{Þ¶®©®·º}a ®6];tUhRYRbYb|I¼çO~‘'8çÆ¦ÃÎ+УM{µæý¸žC“Þ9¸êêê|||3fÌ mC„ãÇëëëOšÔM"}ÄðåÞ½{ÈÁE ¾TÅT3ª3¢×F ð |®O{GûúÛë_¼yáaëqø¿ÃnnAKƒ©‚ÝvÆj×qö ;a®lQY™Pš°Æl Œ‘#Ì'ü¤àIfM&™½L`”Ö—Šg/˜RR_RTW„+Ü û ‰@2–7Æc5·6O=7uûýí?|N EÅäŠä”Š=™…©ÿËÿ{Äå ÜØ”û5ïq=‡;½spÅÄÄÄÄÄŽ;6@Ú †ÇŸ4i2ô£¬¬l°U@ _‰¹zsî%,¹¶äç‰?“'À+PÓX“ÃÌñOó_¤¿ÈLÉ Ž=9[»Ñrã"ƒEb£ÄÖ®ÝtwÓÙ9g»ýN‹nÆ—Æ×7×s¹Ñ‹mr¼¥½ÅBň¢©‚飼G •'ò{á„ÈÊäÕæù&ú:Žv€Ä²Äýáû±MÍÞjø…1¸s}ç:v/?^NX®µ½5º(º¾¹ÿ²ß­Óµ§'W$ÿôËÛ=FrF-þ©þ×’¯QH”)jS¸— ›r¿æ=®çpÅà"1Ò˜=zv\IÜÍ´›+ýWvz4_o><Ê{t6ö¬•ªÕO~;M»åÆË}â}ÎÆž]=auWJ"Jt=¦8ÆèÄûŠÍ=¦)PW£Óè9Ì!ªÐ©1X£…ŠE#>MÆ .ú.¡¡X‹]GCB£¦±¦ÏöŒª ,k;óÇÍç ÆbƒÅ!Ù!IåI®7\ÙßÚe³K‚&Áå¸=Úz³æ=®çp¥ C ß µ //¼™v³…ô‹LnÈa有9³ÔoéÂË S*Rz8Äp‡@ šqÈÓÑs¢ÒD!ª™D––Ÿª1õôìÓ•'–½*Ûtw“Œ ÌQû£ø~íVë­ÆòÆØ¶nW$"Ék¶—‘œ™{5°¤c'`îÀ\ɼÓ—بÛü9óO-I-*U’&é¢ïâëâK!Q¾PÃ>psÉÍï ¾WW£òPEøD å L?°sÊNjIäK.—Ö™¯SS!“È£(£LM}æù°'ÁíÎ6Å»q¹æ=®çp‡€/sÃܹsàÆ¦bH@ Ö¯_BFýõ÷·ººº±±‘C55UOÏêéÓ9õØ+3ƒÉðxè1Ooö…®oB:Ý2ª3ð[Ÿy>–*–7‚úëç|Èþ}A ¾÷ïÓÖ­£çååsèC£Ñèt:÷2QˆøVPS¹¼ð²¬,vûúÝë¸Ò8ö!KÍ›uqõ)êS²k²±ƒ)àrpÄ·Â(Ê(“ÁÖ¢/- ÂR»ïy¸g°uA ²j²fúÌüÜSu›3sFHA,Ä0Åàö???++«ääd.ûŸ;wÎÊÊ*/o ª"¾~~`e\›Î++@¦ ë F]é¿rùõ忇ýޱì`uìÞñýÕï ë ñÎmmîwܸöCeC%|/{+ý–ÇC¸‘rcáå…Øì­¦Ö&¿¿í÷·/õ[º6p­wœ÷«·¯¾ö5ûTß„#ƒ‚¶¤öå(@ úäàö‚ùóç7®ç®ˆÆüù`dÈôƒJRyÒž‡{ø)ü õêIëQH”ôªô v?Ømªh*'$§%©õ»Ýï›ïnÞ²ë™g_ˆ¿`«aëjâÚU𣮣¯ÀÞнsõæ:ê~^NHŽ=0W„_$xEðÃ܇µoj±˜%¡4¡ÏšûºørÎWC&‘û,@ ]fî¹sç®\¹ò÷ß·¶¶zyyåååÑéô¥K—Nž<ï³ÿþÐÐР  !!¡NwïÞ¥ÑhìrÏœ9S\\¬®®¾qãF%%% ¼qãF]]±±ñ¦M›p9~~~§OŸ>~ü8¾‰ÛÞÞ~íÚµêêjQQQkkë%K–P©ÔNj?þEFFfùòåææѱX¬ààà[·n•—— èè踺ºÊÈÈ Èò ˜LX¼h4ðõ¾iKKaùr ÓáâEàéîÇòÜ9¸rþþZ[ÁË òò€N‡¥KÍô°?„†BP°™þ}ãÝ»@£}"§±ΜâbPW‡AI 0nÜ€º:06†M›>ÊñóƒÓ§áøñ›¸íípí„„@u5ˆŠ‚µ5,Y]LÏŸ¿EF–/6Ó‹ÁÁpë”—ƒ€è耫+ŒlÓ)•)$éø“ãÀb±XÀ€¶ö6ȯý˜\æ×©¿fTgœvžÊCõrò¢ñÒz5 ³‘érÙ…=hãõ»×}Ö|¼üø>¿‹@ ˆ>0Ì\,ªõîÝ»;wîljjÂ}}}ýüü°Ÿ••ÑÚÚÊþ"ÖØÖÖÆ.' `÷îÝ---rýúõ„„„#GŽxzzbÝŠŸŸßÉ“'ÃÂÂ$%?ž Þ³g6 \¸p᯿þZ»v-v»bÅŠ .°«ú¿ÿý/33SEEå ×jè"!sæÀÊ• (>>--0w.$%Áÿuï݇¨Ö»waçNø`zðõ??ø`zÈÊ‚ˆøÔôï?˜þ½œ€Ø½0£„„ÀõëGŽÀÓÃLß9÷Ͱ³6ÓƒŸœ< aaÀfz†={àƒéáÂøë/ø`zX±>5=üï™ #Øô_FSKS;«=º(ºë£·­oñk"H&’@*HèEÒD ϧže¯Ê&(N˜¥;‹N£SH°íþ¶/qpQ .@|e†™ƒ‹±uëV{{{gggvûöí¿ÿþ{ûöí¸ƒË=»wïž3gŽ““‰D:}útXX˜““SffæŽ;LMM_¼xááásïÞ½3ft}}ÇŽQQQ[·nÕÖÖ.**:zôhZZÚêÕ«ðn¿ýö›‹‹ •J 9þü† ¦Nª©©Y[[{ñâEaaáíÛ·=úíÛ·éééçÏŸÇ}÷Ë?BL \¸ffàê 6À³gpü8˜™õðâÖ­`oÎÎ@£ÁíÛð÷ß°};ôÞô°{7Ì™NN@"ÁéÓNN™ ;v€©)¼x÷îAw¦‡; * $$`ëVÐÖ†¢"8zÒÒ`õj`3=üöØÙ‹ P©çÏÆ 0u*hjBm-\¼°};Œ oßBz:œ?#Þô_€´ tK{ËÙ9gIDR§G¢ü¢øõG’Ê“fhϸŸ}Ãí >ó|ðr> :¤T¤ó ÿ³àü­¦Ö&f#“Jî²=Ï5(@ ¾2ÃÒÁ]¼xñßÿ]Ïœ93777""¢¦¦†}ß”–-[væÌûD}¶¶¶ÒÒÒ 7nÜpvvÆ¥¥¥§M›ÛÕÁmkkóññ¡R©QQQXãüùóµ´´nݺU]]×Û°··Çý]'''iii‹/8p€L&³X¬Å‹oÙ²ë0{öì­[·vttônE†#^^ðü9üü3©S0oüòKÏo-^ L3gBn.DD@M ôÒô°l|0=ØÚ‚´4$$ÀðÁô - Ó¦All7n[øø• QQðÁô0>hiÁ­[P] x©{ûþ®“HKƒ‡\¼™ ,,^ L³gÃÖ­ð-˜¾¯ØjØzFy†0BÜ'¹ QßG¼~÷:0=ÐHî}Í÷ûÙ÷ÿIøÇNÓî„à a…Ó1§=£<×[¬ïV ?™JêKØ…¨BµŒ†6]^6¿Ü~ûÛ¶·_âà¢\øÊ KwáÂOj7DDDÔÖÖöÖÁ?>~M£ÑTTT²³³?ž§ÖÓÓ€²²ÎÑxPPPÐØØ8mÚ4Ü»111ggç3gΤ¦¦N:k\¾|9û‹Ë—/÷ððHMMAAÁuëÖy{{S(++«±cÇ*((ðòòöjÃ>>ð÷##øßÿ@K ¼½¹zëSÓƒDD@mm¯\6Ó** l¦==€îLÐØÓ¦›éAL œáÌHM…¦‡OMË—ƒ‡¤¦ ºuàí  XYÁر  ßˆéûŠ«‰khnè•çW®§\WUà`62+_W¶w´ûÌó€üÚüm÷¶)‰(œ~6XnH­LõŠö25è¶°­²˜2™/ - ½*]˜* W]™¢6%¾4Þᢃ¦„&Öò‘ùd…dÙ‡õ–/Á=}*ª0 Š^À¡Ç‡ÎÄœ€õ–ëQ€/@teXze¿¥P(ÐÞÎé `·OEDDØoÉd²€€[ (™L€Ná¼oß¾íª Þ‚=ÅîÚ¡¹¹»=qâÄýû÷ÛÛÛ:4fÌeeå£GrÞì9É@"((À¨Q\½ÒiÁ)ަïþ駦2> ÿ%“ s8/fÜ.¦ßÂfzøÔôï;|0=œ8÷ïC{;:cÆ€²2= ߈éû?™ÿê«‹ ‘Iä¼yÏËŸ—½*àXj´TWJ·¹µymàÚV‡×ì÷ˈâ±YÇè4úÆ;+*º ¤òPwXïàåáÍaæÄ•ÆÅ•ÆÀ²ñËæëÍg+«&+«» §< IDAT&KFHÆgžŸH×׿&ùµù˜†55À`2°Ûº¦ºÁU 1‚©i¬ñŒò|Vò¬…ô‹Lnè`uÌ©€ââbÌsµµµƒqäÈ&“‰=%‘H Ñ¿ÚEÖ¯‡øxøóO¸~&M‚={ ,ìKeªª?þ>’µ­ ~ýµÿ\ 00€ìlضíý/‹žž RRÀfzØ·>˜Š‹ß{®¶¶ 9L$((| ¦ÿbÈ$²–¤–¾¬¾´ 4~LŒ_ÌDÁ„ݻŒ5Q0ÁŠ¢ŒÂ¯qøÉüc¤ÇŒ—Ïþ?®0Ÿ°žŒæÝÀh©Ñ†r†Øu'!ÝÊìwTÅTMLºþa?]‡@ô/t:»'ZÑPáå‰}èâg×7ד‡EÒ#¾MF ƒëââÂÇÇwîÜ9yyy))©Ã‡³{œýÅáljDâ‘#G¤¤¤Æ/--ýË/¿`íìqrrr&&&ZZZzzziiiãÆÃÂ_¾|¹eË)))EEE333--­)S¦€‰Éþj;$¸|NŸ†ùóaíZ ‘àÚ5 ÓaáÂîc^¹ÇÅøøàÜ9—’‚ÇaL‡‘GŽ€”ŒÒÒïOÈ>üIœƒœ˜˜€–è醤¥Á¸qïÃ_¾„-[@J ÁÌ ´´`Ê€oz1L¤IôVë±ÇvOÌÏ1þKü e [Ä 1\)))ooo!!¡ŠŠŠ¸¸8ž€€€Ñ£G÷û@S¦L¹s玚šZ]]]|||uuµŒŒŒ¯¯ïâŋٻ8qÂÁÁÁ`¤¦¦¶´´L™2%88‹ÖÒÒÚ²e‹„„DIIILL ƒÁÿõ×_ÝÝÝû]Û!DF¬ZZZó!HIŸ¼| óæuöÊ%RRàí BBPQqqÀÃ0¦‡)SàÎPSƒº:ˆ‡êj‘__øÔôpâ88ƒ©©ÐÒS¦@pðû¸a--ز$$ ¤bb€ÁqqøõWÙ¦G _—vV{Ta”wœ÷ÙØ³sâ‘6¬ï8ï¿¢þêtzòzÊuÏ(ÏʆJø4^6¾4Þ?ÕbŠc<£<±?ø[…u…AAgbÎü›ôozU4ë=všvbübƒ­bf1¸+W®´³³SSSëÚ¨¬¬Œ·¸¸¸899¥¥¥ñððèêêR(eeeWWW¬ŒÙçäœ={–ýp =~üOø… Ã|SŒéÓ§OŸ>=//«d¦¥¥E :)¦¯¯P^^^RR"++‹!` :tèàÁƒ¥¥¥âââŠŠŠØÉ¶‘ ™ wÐØJLYX@B¼| O€a¬\ vvð©ÉÞ7²™\\ÀÉ ÒÒ€‡tuBeepuý8V·rΞ…OMBBðøñÇ„_ØÉ06ÓÃôé0}:ä彯d¦¥l¦?о>@y9””€¬,°™„…áÐ!8xJK¡¢ÄÅAQF¼éÄW$¥"å— _ØËòI JŸž}z´Ôh"(-(½îÖ:“qÒé$öôVú­Á;féÎ’”†OãeãJã07¶86¶8ë¿Î|]SkÓJÿ•x †¥Š¥—“™úÄ_Qau ??™ßÕĵoÂßÃÌÁUQQéZâ«ÛF*•jlü1^[[[[[›ó+††¿eÉd+++ü;@&%%Õ©›ššZ'_¹ë(²²²ìËØ! ìŽïGCã“[8œc TTº)ñÕm#• l¦mm`3}÷¯t1=ÉÀfú÷Ⱥ˜ÔÔ:ûÊ]G‘•…ϘPP€oÇôâkQþª|Ùõe oôdôô¤õ(<”ôªôØâØý ý1”ÆK›®5=É(ébÂEï8ïãW0˜ŒÝv«‰«í·ÛßUÚxùñÎcýSýMMÙ3Ó½y÷&¶8v´ÔhmImñQâ ïâJâ" "½¢½6MÚÔ7ÍOFŸì±0 rp=2ÌÜÁâÏ?ÿÔ5Õµ³ÚODèúèõ»×øµ$MÒTÑô^Ö=a…ï4¿ëí(§cN‡0BDùE-”-¤¤(<®%_kio鳿(Ñ/ —+4ºE| Ó#ˆaˆ U°¥½åG“»>bO€y·%õ%‡Þn½½W£ü—ÿ•‡ìŒg-`±Xÿ$üó%Ÿ:Q .¢_@.@ # 3E3¿?EE]ööìšl^üú׿jHhø/ñÿ%èï8oC9C[ Ûnò’x ¾¹ž½‘@ ðx°G§cN¿zûJ˜O¸óû\ƒbpýrpiüdöS#ÄýŽû…ø zÒzTf#3çENZešÏ<Y!ÙÆwnn$"é¤ãI~2ÿQû£¶ÞÛª)¡Ùma[yay"x#õF[G›Ÿ¬3_§/£ŸV™6óÂLuH,KÌ¨Êøïú#÷ãƒÉ€ÔÊTÊJ®H€éZÓ»;DŒTƒ‹@ ÄHCNHÎ×Å×ýŽ{zU:{ñmImY!YØroKñËâ¿ÿRS!ª×l¯y¾óÜÝü—øSy¨ ó Ï3Û?Õß7ÑkYg¾nùº˜â˜Ü¹â/‘çw»ß¯<¿Âž|÷ëó0çaPF~‹_kHh ÷Û9¸bØÐÜÚüGÄrT½®b±X©î©^O½ÎÆž½³ü޶¤6¤U¦9ýã„ý¿;ØÊiB!k×^^xy° ±ºß:tû+î'•'¥W¥7·6K HiJhjÓµ ìU™–¤Öõ)Ó´¦áýuéº^N^©•© &COZ.@ïTª÷À´³tfeVg6µ6a-Â|Âw–ßy”÷¨¨®H*h©b)#(ÓÁêhxÛ€uè$¤«ÌÀVöÛMh51äÝ~C @ <£œV•ÆËÃ;YuòÎ);ÙO‚Ç—Æ_M¾š\ž\ùº’F¡éËê¯2]…öÅ…hKjÿùGvM¶Uè{ƒïWOX —/ù&ú–¿*—–Û`±=䑳nÇ£¼G$i’Ê$¯h¯c‘ÇàXä1ìò¶åõmFø[ššÇž˪Îâ§ðÛ¨Ûlš´I”_´W ô¸8íí—Ÿ_¾™z³ôU)‹ÅRQœ¥;Ëeœ ™ƒLñí€vpĈ…Åbmº»‰ý>ˆ)ù¶ííõ”ë‰e‰KÙs—ö¨@‹s4âèùgçñ§X¢2‘¼Øp1çI!ˆoäà"ˆaÀ.›]»lvéÓWU¹ùÃM¼ýÈGÎÆžýÜ[AAAAšš[&oÑ“ÖãåáM¯Jß¶×/ÅÏy¬³¾¬>ÖívÆí…ú WŒ_A gTel¸½!¾4>«: ;oN ͗̕.Ñ¡ëˆõöU\IÜ–{[ÎÄœawpïeÝ[f¼l©ÑRQ~ш‚ˆõAë=£<;X¦˜¢6…H žŽ9íçíçsÄþ÷ºõ;¥õ¥y/òæëÍ737“ÏÇêíŒ0‚³ƒçŒ™³Æl$M2½*}ÏÃ= &ãlÌÙ –¸W ÇÅ Í å#óµ?j¦dÆCä)ª+ Ê â§ð÷8)ñ€\1bñOó'Iæ_¤Ib-ÆòÆÇf³ûÛ.,7 w"Í•Í÷~·»6”3\iºrÏÃ=ÙÌlÌÁ%¾iÒ¦³±gw…ìª}S‹íh–IÇRÅrç”Øµ¦ºM#dÇ”sǾ ÙbµåzÊõ¼Ú¼^éÖ ÆF·íÜ–ÜÄ¿övFz2z§Ä ŒåÏÌ93õÜÔFîàr£@‹#%(66Ø15mº6f,À@.±ä2sÛ;Ú-NY‹ÅÂêb(+*ðn¦ ¦ìoÉ ËÀ›–7ØmRyÒ¢+‹ZÛ[; Ûö–ýv¼üxö[A0–û¸ÅK"’èôo^ôJ·~çQÞ#U1Õn³„v¢·3Â0W2g!––WU.¬+ì•=.ÎNënnÖg¬-”-´éÚú2ú:tg„@ ¾ƒ‹@ F,¬è6h•ÝaååáeD°%9s¦µ½uù:ÇÑŽtB¢Ûó¶uMuìouB t+¹£££Wºuâ cp_¿{_¿|ürpz;#nàRG›®º*4©,)±,1¾$Þó‰§¿È ‡ššÜ+ƒ@ F0ÈÁ…èèè‡.]ºTIIi°uù„!«Øð":?úaÆÃ¥—*‰) ¶.Ÿ0dI¨Š©fTgD¯àè³ÒúRñQâìÙéKêK°ºMƒ®[o‰,ˆlëhcÀÒ svš{ETQÔz‹õø&ni}ia]!¾_Ë¥Ü,‰@2–7ÆÂ ›[›§ž›ºýþö€bRbØAlŸèèh¢¢¢AÔ!22rÏž=%%%ìCA±@t^´Ç¢Eƒ¨CdNäžÛ{Jê>µïPlÄ3Wonskó’kKå=ªkªkmo-Uþ8ï±[ [tQ4—Bdej›j}}_¿{ýúÝëÿòÿ[q}¶ÅøõuclaämËãð‡s …ð¼pa>a}™¾BT!ˆ/¯o®ÿÂa¤T¤lÞ^ü²¸¹µ9¡,á§€ŸÚ:Úì4íz¥@‹3×wî•çWò^ä½m{ûúÝëÈ‚Èúæú’ú’šv \033ûí·ßw—422ÒÃÃÃÆÆFAAo ŠÌÔÌ~›ù›’¸Ò ê™éqÇÃFÇFA”;C@±ÏìѳãJân¦Ý\鿲Ó#ì?7¸è»DDx„zx„z`-:t šÆšA×­W´w´GäGX«Y“ˆë‡)‰(Ñiô˜â£FX˦ŒµÓ´ LôOýXQULuÕ„U½R ÇÅɨÊx^þ¼ó£qóhRbØvpÁÌÌlÏž=CÐ²Š /ÌTÍöÌÚ3Ƭb# phÆ!OGωJ…¨BdY^X~ªÆÔÓ³OOTžÈ¥u›?gþ©%©Eå¡JÒ$]ô]|]|)$ÊPЭW$–'¾zûjŠúöF‘ä5ÛËHΈÌ×/£ÊzÏõÖ“Ñ£òPEøDæŽ{uÑU, .÷ ô¸87—ÜüÞà{5q5lC9ÃÓà9ú}R×МÐMw7}õû…—¾m{{-ùÚÂË ‹_cO j ^^x3í&g!ˆ”Š”…—&W$³ G¾ÒnRRRDD‹Å²°°066¾uëVrrò–-[øù?¦þ®¯¯øðaaa!™L622²´´Ä………EEE­^½ZDDäÎ;yyyt:ÝÁÁATT´Ó@ܾwï^NNŽ¡¡¡­­m·¡® aaaùùùüüü&Là<Áâââ°°°êêjQQQ+++--­®ã ËÈÈÌš5KXø}¤K—.=zô|||ÂÂÂ@IIiéÒ¥Ý*ÆÍ@=®R¿“T’Áˆ`ËBÝÂXÉøÖó[É¥É[ì¶`i)1ê›êf>,|QH&‘,5ØL“•µzÒj‘Q"wRîäÕäÑéãDGu±/B„ù…ï¥ÝË©Ê1T4´Õµí6Ôµ¡¹!,+,Ÿ™ÏOá7P0˜ Ú“}k‹Ã²ÂªªEG‰ZiZiI±-û‡qùƒ’ƒŠk‹e„eféÍæÿ`ߘK²€O”OXf(‰+-5[Ú­bÜ Ôã*`žoè¼i·Ùjóf«Íøíé1]÷ê¦kMŸ®5½[–*–]ûwmœ¥;k–î,ö–[Koq²Ýzûvëíƒ]ƒ¹×­ß Ï '“ÈÊÚÇÉŒ»öý5ö–/™˜+››+›‰G›®½ÇvO·8Ëü¦ðKñÛ¼¿í`u”Ö—Æ•Æ5µ6a-oZÞĕƙ*š~Fâ=÷²î=¯x®.®Î`2<zÌÓ›ç8ÚqÄ(0X“hÜÁíèèX½zõùóKθ¹¹566þóÏ?k×®Å\Ÿ 6444àÝ,,,ÄÅÅ ,,ìСC[·nÍÎÎÆ:ˆ‰‰…‡‡ëééá¯p#dôèÑ[¶l),,€7b®‡‡‡••îGz{{»»»¿zõ —cnnA$v¿á½cǎÇ··¿?Ð@ V¬XqêÔ)2™Œ«««»yóæââ÷¿7‹‹‹š››À¥K—?~ .\ÀžNš4 sp;)ÆÍ@=®RÿÒÁêXí»úü6ûNvk|×øOô?k­×â®O”φëšÙL£n°&@œ&a™a‡B(lõßš]õAsšXøÆp=y6ûr!d´ìè-þ[ _ÀÆ©mum±PW+M+ÜôŽòv¿îþª™Í¾jæ["°ƒ)]Ù¸ãpÈaüÀ @Xa¾âÔ¢SdWWFw³ÿæâÚö¥‰ºš«™À¥˜K³À…§ì«1i©ÙÒ®Šq3P«„@|ŽGyLLFQF}³ |k\K¾ÆCäÙm³[EL…H ò’xŒ[`©bÉM’8;øîëw¯ãJãèË`)0X“hÜÁ=~üøùóçI$’£££ŠŠ ƒÁ8uꔄ„{Ÿ   +Vððð̘1C[[ûÝ»w¡¡¡Ož<ùá‡îÝ»‡w[µjÏÊ•+i4ZHHHffæÚµkŸ}ú´¡¡APP{!rrrŸM=³sçNðòòZ³f ÞE"‘ºíðàA¸y󦓓ÖòìÙ3 ‹'NìÚµkÔ¨÷{ÒÒÒOž<ÁTmkk›?~@@ÀÅ‹ÝÝÝ—,YRRRòøñãåË—c{º_2çUêwþxø‘@ Ûf¥i…µ%9z}jßÀüþÈ-‘†Šl¦9ã]•…W•P ÝŠÅÌh;0ÖcìÓü§ Í ‚|‚Ü ‘‘‹Ø!@ý¼}w€×"¯5VlöÍ‹Âê!uå`ðA¸ùÓM'ýË^øÌâʼn°»fìÅûÁ¾BÒO¶<ÁTmëh›v~@RÀÅè‹î¶îK&,)©+yœýx¹ùrlO÷Kâ¼J¾‰¾ÁÙÁ ïZ^¶,¼¼°ÓÓÓpØÄ-¬+¼™v3‡™ÓÖѦ,ªì<Ư—R‘rèñ¡%FKLL/%^J­Lååá¬:yΘ9ìÕ=šZ›îdÞI.O®|]I£ÐôeõÇ:c©-Ø…Êþ“øOvM¶UÈEßÅHÎ2ª3®>¿Zþª\NXnÅøJ"J\ê6p<Ê{ÖjÖ·ÒoyÇyÀ”O ŸbO¯,ºÒ·áoÈ\J¼”UÅOá·Q·™¥3‹}1¹Q€›ÅÉ®ÉH (}UÊb±EgéÎÒ¥ëg™Ãšup‹‹‹+**lmmqïŒããã±ÛÊÊÊÌÌLUUÕààààà`‹…åWǶKpßtëÖ­˜ß ÅÆÆ†Á`TVV r/dóæÍ¼Û²²²ÜÜ\cccvï>çw–”””••Mœ8w:ÀÄÄdîܹW®\IJJ²°°À•Ç]Lž½{÷<}úÔÝÝ›•ìÕ@Ÿ[%nêŵÅõ¶º¶¸w ㌕Œã‹>Ø÷UefE¦ª„jpzpp:›iDH(JÀ}Ó­v[ñ!ж £ŠQùªRO{!›¿ÛÌÁ»-{Y–[“k¬dÌîÝÀçüÎ’º’²—eÕ&âN'˜(›Ì5š{åÙ•¤’$ õËn·w1yˆ<{ö$<Í{ênË}{3ÐçV‰›ˆ£ÛÈ]Ä Pü²8®4>DÙvzŠÇàvåÊó+=ðzÔ‘‘ÿ&ý»ßn¿óXgxõöU\iœœÁÁGË^•a}0¤W¥ã!ÑõÍõ“NO @#Ä;ÎûúâërBr¸=½ßC¯n¬ÆúÜͺ{Þùü›–7ëƒÖã£ßϺâ‚ä¬[·,¾º˜s:da>áS³Oqèáyášš²B²·2neÕd@Ù«2|ú}žöÖé1{C÷â)Y‚³ƒÃrÃ<<Ù}ÜèqqÒ¶Þߊ¯ï8ï?fþá ëPÞPþ9™Ãup_¾| Ý}pWRRÂ\&“ ùùù»wïî*=V^þ“+4 Z[[{%D]]ƒÂµµµ ©Ém-l‚***ÚUUU ®îc¡#eeeöØ-özÿÄa•ú—M/ k%q%ÜÁe¾f@>3÷­îLÃ+/ú©æ¼4øPµˆ{!ê’íÛX šR\Û÷ÍKP‘è²ìªP÷†Í¾âŸÚW\>¬OÿÄa•c±áâ©S]o¸ÊÊìýn/Þ~-ùÚÌ;Ÿ{+©É]„O$²0Ò7ÑwoèÞÚ¦Z{{u"x)ñÒ³’gÞñÞÛ&oã^·NÄ•ÆõXùóJÖ7×'•'­2]ŽºŽ¼{C÷ÎÕ›ë¨Ûù,{Q‚¢?™Ï@;!‡fêÍÄ¢#Ú:Ú~ ú&ª}°/>݈íó@1@¤T¦¤ãOŽ‹Åb ÚÚÛ ¿6ïf§i‡y·£¥FÛ+f#Óå²K×ݘ;…c«iËî\jÓµãJãfhÏÀ[©‚2‚2U¯«z¥['ÆËç~úÝž.>J|¬ÔØ{övFÓµ¦³gkÆ6\Ì»0Ü(Ðãâ¬4]é~Ç}Ãí ÖjÖÚ’ÚXV¯Y$|PðCf6lؼyó”)S•••sssoß¾-))YSSƒû‡ž={¶µµµ––•J-**Š‹‹+,,lnnþÜé®Nô‹Ø·oßüùóW­ZåííeQHHHˆŽŽnmmív÷wÛ¶mk×®utt´··×ÒÒ*.. lmmݺu+~ð *++µµµíííyyyÃÃÃ322ÄÅÅ—.]Š=USSww÷¨¨(~~~,nßúÊl°Ù°Ùó”?¦8ê;*‹+çÖäÞN¾-) Yóº†ìë|xöéÙ¿XkYkIiQÉÔ¢Ú¢¸Â¸Â…ͧšÙkq _„À>§}óÏÎ_å»Ê;ÊË¢P”Ýz¶•‡Ð}§m[{e­£—£ýX{-)­âÚâÀç­í­[í¶â¿ òU¥önm{={^Þð¬ðŒŠ qšøR³¥ØS5I5p¿î•ÅOáÇòàöm  šZšÚYíÝVŠ~Ûú¿Æ‹a‰dÀ‹W{>õ,{U6AqÂ,ÝYtB¢„m÷·urpy?96ÀCäé*™‡ÈÓÔÒÔ+Ý:ñ…1¸mm‘…‘Ó´¦uÝþèJogôþ-jçãÂ| ½R ÇÅ™¡=C‡®s7ón@ZƒÉx×öÎ^ÇÞÝÒ½ëè#‰¯áàfeeùøøøû¿¯Ü¸fÍšÊÊÊÀÀ@Ü-stt¼|ùòÏ?ÿüàÁƒ`D"qÚ´iœ# Øé!0oÞ¼ºººÍ›7ÇÅÅÅŽͷ°°ø\\77·²²²#GŽÜ¹sçÎ;ð!=íï¿ÿÎÞíäÉ“›6m:{ö,v‹åÁÅ""ÀÎÎNGG'33óÈ‘#ð!nßúÊl˜º!«*Ë'ÊÇ?ñƒ}­ÖT¾ª |ˆ»eŽúŽ—]/ÿ|õçd|0 8mô4Îìô‹˜g4¯îMÝæ›ã ãâ ?ØWÝâsIpÝ&»•½,;òàÈ”;wR>,»ùŠß?µï“›nl:ñÁ¾4ñ@·@,"ìFÛéÈèdVdyp>äÁíÛ@1@H J·´·œs¶ë–(?·R))Â|Âÿ,øÿGµ©µ‰ÙȤ’©__·/ŒÁ}Vò¬ñ]ãµµ÷°Îa½"£*ƒýöMË›‚ÚIšd¯àfq”E•6ÿ»N¯J_|u1³‘‰9÷ý>©!€;¸$ÉÛÛ{Íš5`nn>~üxMMMqqqì»<†‹‹‹££cxx8ƒÁèèèPRR255ÅÏKÙØØP©T)))vÉX£¤¤ä—33³ß~ûý$ÜêÕ«,XðàÁƒÂÂB!!!N)Xµj^`lòäÉìÆ0444233oß¾]\\,++Ë^É ¨Tj||ü½{÷òòòÞ½{‡)ÓU1Îq¹Jý ‰HòþÁ{Õšˆœ0W3¯<^s—¦8MœýŸ3—ñ.ŽúŽáYáŒ*F«CILÉTÅ?/e£cC%S¥?Õ\džJ¦J J~‰0S3ûmæoì©gWOZ½ÀxÁƒŒ…/ …ø„  L”9ÚwöU“V…e¾/06Yk2{1 ºFæÞÌÛÉ·‹k‹eEdÙ+™•Lß/õ^^MÞ»¶w˜2]ã<—«„@ }ÃVÃÖ3Ê3„â>Éßz|ýîu`z –ñŠ„¨BµŒ–£êeóËí÷·¿m{û…nßtûÂÜGyxyx'*}¬€€.©/éöŸ'47ôfÚÍ9cæ@skóÎàM­M3tfôJçð‡çŒ™£*¦Š=¢ÓèdO¯Ñï“"|R½ñññÆÆÆx ìÉ“'srrØÓ]aðññÙÛÛÛÛÛw•`cccccÃMco…€™™™™™Y§Faaáùóç~NQRRÂÊCp€F£-\Ø9!??§rÝ*Æa îW©‰/Š7V2ÆaO>:™SÃžî ƒÌg?ÖÞ~lw¦Ñ¶±Ñî¢yw½fªffª]ìË/<߸7öSrµèɾ¼´…&Ÿ·/…®Ñ§öíN1q¿JÑ\M\CsC¯<¿r=庒¨’¯³‘Yùº²½£Ýgž—B¦¨M‰/w¸è )¡ …u…|d>Y!YöÄa_M·/ŒÁ Ï Ÿ 8=FVYL™Ì^•.L†/N«-©½õÞÖ?#þ”,¬+l|×ÈOæÇÏÌq©@‹s1þâ¹Øs¢ü¢òÂò-m-¹/rÛ:Ú&©L I ¾†ƒkmm=fÌ}}}2™œðôéSX¿~ýWñ°>j=FnŒ¾¼>™DN(Nxš÷ÖÛ û"„ª×UO žT½®bë§ ?Å•Æ%–%ºŒsÁRKÖ4Ö\K¾f¢`Ò/ÇûWÚÀÑÁêH©HyVò¬¥½ÅA×Cÿâ—ÅIåIÌF&‰Gb”„¬¬ž´÷!숑 ?™ÿê«G"ޤä½xŸÒX˜OØQ×QWJ—K!ËÆ/+¬+¼žzË®ª"¦ò‡ý»ìþB·_të9Ìœ²We+MW²7Ry¨;¬wì ß—ÃÌé—QœF;Y«YŸ‹=‡%ÐUQ:bDAX¡W ô¸8Û¬·]K¾–ÃÌ©kª ‰â ë°sÊΚÔák8¸ãÇôèQLL vËËË{ôèQ<©b¸3^yü£ìG1ùìËÃ{tîQ<©ÑÄ—Æ/¿¾¼¹µ»u5q.Š>{vªÆTÌÁ­~]íå¹Î|]¿¸¤ý+m€ðõ¸—uû ÆÉŒëÖÁe0{C÷>+yÖ©]”_ô{ƒï×™¯pE_ósϳoþÀ‚q ,U,ñŸ1•Ë /Ë Éâh¼4[]Svå׿7·6K HÑèx4íXé±—^îô†5*‰*a·$iÿ´ý›­6¿,¤ *‹*À>»}ïÚÞq²È`‘µšu§2‡fb å¬[¿ƒÕÃòs±ã¢ïâ0Ú!ÿE~s[3ÿÐça¬·X¿Üxya]!?…_ML ?OƽÐÓâ,1\²ÄpI]S]i})?…_VH Kà,s¸ó5Üððð„„„ääd&“)##ckk+--ýÆ"|.öwÄîžP”\šÌ|Í”–±Õµ•ú–ìû™Ø_Ä@àåÙÜÚ<]k:–æ†L$›)™ñòðŠó÷­½oÐèCÜ»€àìàúæúq2ãÞµ¿ËªÎê¶OBYÂ2¿eÍ­Í£(£&*M”–'ˆ55 IeIò!wDÒ58U^XžÝåEÕí7™DÖ’ì|Ò„ù„»öÿ\£0ßÇsX*1ý„°mKvÆJw“ësºõ;áyáºt]:Þõ?™Œôüö g‚TA=½>+€ÃyqDùE9ÈûœÌáË×ppÀÈÈÈȈÛõÆWˆ‚tŒ”ŒŒ”¾Uû¢(دH~m¾š¸š§£'Þ2Qi"û ŒþE’&9ô=¿=¶{ŒåÅøÅö<ÜÓ­ƒÛÜÚüó­Ÿ›[›t²B²nn"|"ròÂò­í­±%±e¯Ê>W È#ÔãvÆí¥ÆK½žz±·cyp{«[™_ƒû€ñ€Ád@je*ea…¦kMÇvŽùÉü9þµüúò›i7ä<˜¨4QAXH Ö6ÕÆ—Æ¿,– Iày|bd€\1b‘’óuñu¿ãž^•ž^õ1äF[Ró8­Õ¬CsBƒ³ƒÙ_ùß´ÿu•]“ýoÒ¿p&æL§G3´gˆð‰ô8Öñ0çaPF~‹_kHhà¡ÆòÆ×¿¿¾7lo|iüƼ3‰Hrí´Åj ‡21A.6¬2]Õ)Å™’/¯8¿8vK ãu0tè:÷WÜO*OJ¯Jonm–Ò”ÐÔ¦kcOO:d62ÊJëKù)üÊ¢Ê'àªìÒÄøÅ>W¶W‰óX„­†­¢ˆb×v5±OµéÚW]-~YœX–È|Ã$ˆ²B²' ½ÛLskó<ÈyPõºŠÅb¥º§z=õ:{öÎò;Ú’ÚV™æôÓ:óuýR’º¥ å¯Êå= Ï Vò¬µ½Õgž¥Še·=ãJãü’ýË_¼yA"’$i’²B²“U'OÓš†e\A qƒ‹@ † «'¬îÔ2QiâD¥‰ø­$M²ë®ÁPÎÐPΰ[™4‰iZÓº}Ä.M‚&ÁÍۜǾÓüî;Íï¸ì¬(¢Ø­7Œ‘xFybõÿ8s.Íyñæç>-í-;ƒwþŸ½3‡zýø3cÆ}ÆNÖPi”"©”ÒžûUiS¤ºí˽7÷×½ÕmßÓB›¤È¥[RŒ%²ïÂØ÷ÝØÍÌïO÷ÓÜÁ"-ÏûåŸóyžsÎ3Ÿâx>ç9'03UHm¤R©*%03ðïu¥Ñ¸|‡DF á„üüUÄT÷{-÷V!äóÑ“Õûú{ÏÊ ËÛjÚZ©[…䆸¥ù 8æ·W¿fâùð›¦l²Ñ°™(:0µ´ÚÊÖÊׯ˚˾°Ï‘\@¾Cêhu$q’ª¸êx;ò°6ù&âCÄ€Ò«ÒŸ¤=Áóáÿï1’È€¼ý˜¦4íKx  F?À%‰&&&oÞ¼uÍŸÉWë—|%þ‰LLdÞ¼Y9¾nôç«uŒK¾uÿ!È×ñðcHrBZešÚ ö2Ìhn˜L¦ºÿãôÇyµyt&]ELe•á*G#G¤§ A÷Iñ H(k)c2™J¢J‹t­6\çÃ~9¸zgô:{(¼º)‰¹9Û/2ëM×öA¾àî×//¯¥¥exxøx;xyÏXZ*†‡¯oG äL&sÏ?{X‹räÖæ}u4§&çyN¿=}óÝMô.R0„‡ï“ÿÇ¥ )¢”8Aœ[¢ù—æQâ·ÇséÌ€$—'æ¨Ïù%¯Ñpi4Ú¨ë¾ZǸä+ñŸFÛ1Þ. ÌWë—|ëþC ¯‡#ÖGŽX1:gD#¡/å§ÞœòŒ÷lVPVPPV¦¤æ¾Yû d p¼¸ÌêÌßÃ÷Kó[¦¿ÌHÞ(,? χ?mwÚ\Ùœ—‡·¸±8(;ˆÀ?p/’ŒÝ¬—ÑÔèÃ/ßYyG/­Qú$†M}G=@Aä?]Í×ø¬I(K@/_lx¡!©ñ¥=ƒ ¸ƒ @ øgøcy°Þ+½Ñ2X¦Š¦çž³½eþ!ÜHÞHFX`­atòÓ–Öæ² ^|Iü¡—‡n/¿M'qik@=yûò>s‡ÑïKN$---Y%÷ïߟ6mš@066¾téƒÁ`ðöíÛ… JHHðó󫨨ìÙ³§µµ¹ÕÕÕ…Á`/^\UUµzõj111AAAkkë´´4V ãÔ©S8NUUõôéÓT*ƒÁ¸¹¹ è—j9û6Ö‹Ú¥R©K–,š7oj—B¡`0:ù$ïvX,÷ .DâKËÿœ<½?{Ú4!¡ Âycã{—.%3ÿi=úömÙÂ…WøùϪ¨ÜܳçMkkÏ¿~öa0§/þ»ªª}õêÄÄ. ^°¶~œ–VǪÁ`ž:•¨¡q‡;§ªzóôéD*µƒ9íæö锫c\ªåìÛ`pX/j—JmY²äo‘KBBæÍ @íR(Ìi:QŠÁœF¾Þ¼)îËý!„K>Ô} 3èW-4ÿÒÔ8©¡~R]ý¤ºí-[@ek%àðìà &cöõÙGBŽø¤ød×ds£6©,8PPp ÀZÝzœü‚ ›1ßÁÝ»wïéÓ§ÑË””””””¸¸¸‡"OOÏ­[·2™sŸ9s&"""&&†@øøâ£¹¹™L&!—VVV¹¹¹«»oÛ¶ÍÓóãk—¢¢¢½{÷&''éÛj¹ñm¸ë466ZXXTTT —!!! …B¡ éó° ¹ÀÏgïÞ·§O'²¸Q›’ò:.®òáC;Dâé™¶ukØ¿!(.n9sæ}DDiLÌjï_?»Éä‡EE-ÿúYjeõ87×YBH¶m ÷ôüšµìÝû69¹fH߆TËoÃ]/ ±±Ë·¢âcJIH•B)§PÖ £Y7††\ pƒÉ ˜äÚKïhKk‡m K.ON*OJ,M¼}Q” zÁþ‚¦¤æ`:Ó*Óví¸²äŠŽ´Î°l ÈÈÁ5V0Ω͉(ˆÐ“Õû=qgôwpYINN>}ú4¿téRUUUCCÃÄÄÄ|}}ƒ‚‚EEEÛ·o¹}ûvUUUWWWVVÖòåËSSS/\¸€êyûö­¢¢bBBB{{{~~¾••UCCƒr7!!ÁÓÓSXXØÛÛ»¾¾¾ººúÚµkÿ=tfÎj¹ômXëEˆŽŽVTT|÷îFËÉÉYºt)FC6›Éd2“ÉÄb±VVVÌaÛ¸åÞç~>ÉÉ5§O'âñ¼—.YUUmmhp{ð`˜˜€¯onPP ¨¨eûöÛ·çVUmíêÚ••µ~ùrÍÔÔÚ >ýòöm™¢¢pBÂOíí;òó7XYMlhèôñÉAî&$Tyz¦ ó{{ÛÖ×»VWo»vmÎß]m‘³Z.}Öz¢£Ë…Þ½s¤Ñvää8/]ªA£õº¹…Èdy&s‹±²šÈdîA¾,-Gfˆó!dX¨Š«âùð)»RÝJÖ¯ËK.#c°¬©¢©Ë4—óöçßl}Cë¦|qp0…Ù5Ù®®ì/ȱoßpck\pÐsx%xåֿޣÏglÜ'Ož~ýõW777111GGÇË—/üüü<èííõôôtvv–‘‘Ááp:::¾¾¾222¬š„„Dpp°©©)@PWWGâKôm{@@àøñãëÖ­—––vqq9räÈîqVË¥oÃZ/‘H 233ÔÒÒòõõÕÒÒ¢P(55CïJËç~>Ožä~ýuš››‘ŒŒ ˜˜€££öåËÖ?¿\ÀƒÙ½½ OÏ9ÎÎz22‚8VGGÜ××NFF5P“À/15•!øÔÕE/\˜ HK«Eî|?>cݺIââxii‚‹‹Á‘#C#䬖K߆µ^"‘/(h‰™™¬  Ÿ––˜¯¯––…RQSÓ1Z,7 „@ a±Ü`ygo§Ó#§×¯;{é½-‘‘®®±Å±€å÷—?LyXP_ÐÕ×ÕÖÝUÕÜÙ\Ú\: ¶üºü-[NÛ°±ß¶$o_^ÿ€˜õë3·o²Kõ–vôv¬¸¿âåR^]^gogw_wekePVõŽo!3—ŒmŠBAAÀÎÎŽUˆ\"·²²²«W¯^½z5’ €ìY‚ÿþ266F/I$ ­­ ¹,,,ÌûŸf•sçÎ=|ø0g÷8«åÒ·a­ÁÐÐPJêS'k>>>$s   @ZZš³ÏÃ2ÄyŸOAAÀÎî?UÄíìH€‚‚f@VV=`õêV¯þÉø÷#¬¡±±´°0?‹Ÿ"€¶¶¹°……Í€¹s•Y­Ì«|øp4g÷8«åÒ·a­ÁÐPJJêS ••RnncAA“´ôÀ™-#3Äy2,&9$”&dlößÌvk¥ÁJ@VuVJE û-êw7t48=rªo¯ÿÉ÷'¶[HÜ!m»Ÿíf­MæüØùæò’˶š¶È÷¿Ïý½Ñ”tr᤬ã) IDATå?/l±^ ‡¢èô,öô|:hˆÇÿçß!¢ÍÍ=_Nj¹ô­?#þÓ}øÏwˆÜ|nȰ(j(:rd©þÒ¥zKÇÛÈ—ƒÁœ\pr¦êL¿T¿ÌêÌŽÞ!-)-‡IÓU¦œüÒüâKãË›Ëñ|x’8i™þ²ÿ©ÔÒjëÛë?ÇÖ8‚ãÅYxf™þ2ÿtÿ¤ò¤ºö: œ°Y…ì4ÙIITi|݃pÉØ¸jjj€çÏŸëêê¢Â/^ ·´´´aaaÖÖ#?™¨ªª  ݺu+* ±B„ø6äzRSSkkkÑMÜÞÞÞˆˆt!ž¾¾¾Ï74Ö¨©‰ž?/ÒÕýtjíÅ‹"€šš@KK ¶ÜÚzä?TUE¡¡Ô­[ QaXXɈ"ŒÀ·!׋šZ[[Ûnâöö2""JÐ…xx0}}œâP. A ŸC^]žÇ++OZŒ Û{Úʦ*MGÇ £EÊ.öÝÖ½–{÷ZîE/õdõ °gdÍך?_kþ€ µ¥µÚÌ«6m)íþšûÃÁÖqfá™3 Ïp3ršÒ4ؘ÷›flsp—/_ððð¸zõjMMMSS“¯¯/ršjÅŠ'''^^^GGG//¯²²²žžžšš …²}ûöãÇsiÅÁÁpðàÁû÷ï766ÖÕÕݸqãØ±cŸéü|r½4ÍÞÞ>!!¡££#77wÍš5¹¹¹d2ÍOËÊÊ*,,d«§6\CcÍò師WSkj:ššº|}s‘Ò]+VhœœtyyyŸ{ye”•µõôÐkj:(”ŠíÛ#ŽÇ¥uÀÁƒÑ÷ïg76vÕÕuܸ‘~ìØç&ZÀ·!׋@£õÚÛ&$Tutôææ6®YóOnn#™,æ'ˆ‰ deÕ6³ÕS®!äshënK(K¨h­`’ÄI>k|s6òí2¶;¸ÆÆÆ»wï>s挫««««+*_µjÕâÅ‹êêê×®]sqqÙ°aÛÜýû÷sieÊ”)7n¼uë–““*\¹r¥ŸŸßÀÅž¸a¾ ¹^ ‹ÂÂÂ)S¦ "‘ˆC˜5kÖ£GнØÈÈH¶B \kŒ¥wï69s潫k¸«ë§ÆÂ«Vi-^¬PW½vmŽ‹Ë« BÙæîßoÆ¥•)Sd7nÔ»u+ÃÉé*\¹RËÏ/—oä¡À·!׋`a¡PXØXî8\h´ýÜÐurÒp0‚©©Œ¯¯Ý€·x™Ì=C yx0û÷›±n¬º»¿Lšô)E•Õ1.Õröm0†\/@UU$8xÉ`wedŸ5mbËÁEæ+Ÿx}ššYÉš‹9äs@ /Ì—¨¢ð¸uëV}}½½½½²²reeåÝ»w¯^½*$$dcc3Þ®AF[·2êë;ìíÕ”•'TVÒîÞͺz5EHˆßÆFy¼]ƒ|9^ä¾ÈÀóá7˜mЗÕoêlºŸtÿæ»›ýGÞI¼£"¦âNvŸ(2QX@øUþ+¯D/^Þµ&kÍ&šµuµùgøÇ—Ä»ºEºDâxqÜûp÷ý]1•;%%³j²n¾»ù2÷¥?ɹþrn¦³9–\‘|ôÕQ?aÑY~,fu¦÷{ï_B™ª4Ua‚7F¹\›iQ¼¨Nè÷°ß—,_¬;D^Ó­w·Ô%Ôÿœ÷§´tVuÖÕØ«>)>›§n––Ös@ /Æwà677Ï6ÒVÓ–5’Ë­ÍÅóáíuíQ ƒYe¸*®$.§&gXî|­ù¬š‘}Ö¼º<.§³9–V•†Å`ÿ™L&0}ô>ktÈÙ(—«c3=,l5mY÷¹'ÉL ÉÜ?ùb|'î„ Ž;öù¥ÁÆšQÉ‚ý™0wìùØ1òx;2?Bì8ÒÕ×%"À^x‚À„þ#e…eY/»ûº…qÂli²ÈÄî¾îÁÌÑ4yf“ˆàE*[+9:>¨c=t&}ÀƤ]½]\årul¦‡Û‡ÌÇÃ`0?1äþ¹@ Èã; p!ÈwQŠÚ@mîlÁ §²j²¸™XÐPPC«‘&~j…Q’ÿF í ¬³ܗͪþ¹öžö¢†")¢Tÿ‘Ü +,ÛCïñ\ê‰åÁ²Ý#ˆqitÈÕ ŒNkÃ?;ƶÑŒde2I?r¸½§‘„å‡f9ÑBÅ‚Édîûg_SçÇ·ê‰e‰žñžÈ-ÀD‘‰€'éOÚºÛ¯ ^û¥ùõWö! -ÐÙÛyøåáŽÞ ’ÅÈVd£aÓÙÛ’¢%¥5eâäKGZ'¯.¯—ÞË¥Ñ!W7> ´¹tdΣŒø¹@ ÈØwp!È·ÁÆ)Ÿf> Í .ŠV•Pmêh*o)בÖɮɿÁpú[}Ó”MÁÙÁ1Å1W,Hâ$Z7­¬¥ŒÉd.7X®!©ЖÒÖ•ÖͬΜquIœTß^_ÑRa kV•ƦJ[J{ÿóýgßž•’¢6RiÝ4= 6‚…}{˜òðqÚce1e!œP­®ª­ŠÎ {­øTö‹³Ñ!W7*â*x>üÓŒ§™Õ™HŽÁCLJ#[ÅÈž Œð§ù6’¹³òŽª¸jGoGFUFu[õ¦)›CT‚ü‚&J%}}Íͺúº²k²K›Kx\¦¹ } æä‚“J¢JmÝmi•iõíõ?Ïøy¥áÊþª–LZâ6Ý­©³)£*ƒÖMSU¾»ê.²<|ß5¾ŽÆŽ|X¾‚ú‚”Š”ò–r!œÐ:“uº2ŸJ s6:äêC€WàÐìC8^\~]~BYBBYÂÈV1âç@ cÜÁ…@ ß ú²ú¡›B  i=4%%¼ÈfÿÍeQet€Ï%Q%¶‰*b*ÖÑêÊ[ÊùyùÕÄÕØÊßjIi…oÿPÿ¡³¯“$F ÕÒj}ÖøôßÝi±ÓÙÔ™ÚH%ðÔÄÕ¸icÆÁ1"ŽèaãqÄêHaCago§ŒŒ´tÿOÎF9¯n0Ó€ÕF«í'ÙÖvöu"ɸ$q’Ïù òæ"Be1eV çç|ëT¶Vú§ûOSšfªhŠ 3ª2–Ü]âNvw'»£o.ùfȘ¦4MU\À`2óºà5Iœ„d"xU]%‰’’DÉÁîb0ÖpVŠ(5Øé1aa9ƒo gÇø°|ZRZœ5 it°Õq6Mà#èÉê¡—‚ü‚¬ƒœÛ_8äs@¾u*[+/R.by°¬®´´;Ù}ÈJÒqaxn|||yy9—;ošóçÏŸ?ËX~o(((Œ· ŸEH^Èä…åÅb¥Í¥ÍÍ€]»ÆÛ/PÒTrðÅÁÁîš(šü<ãç/éÏæ«}.Ș"E”‚{·_-à pÕÕÕñxü‚ ÆÈÈWÂùóçØ À´ñv2ºœSWa©ÿ¯„ezË>Ô}(o)/o)HJìµÜ;OkÞxû:z;8ä°ö/dûñÕ>HUkUdad[w›º„úLÒÌüúü°ü°ùZóÕ$Ô%M%AYA3H3 d Þ•¾ËªÉä\e¸ ÐÖÝUUÖ\†ãÅM’™Äºm™U“ñ!UÂ*\ ½ÙÈG5ëËêÇÇf×d âg’f¢ ¨9ÃÁ1:“W—W—×ÇèSS™Iš‰&äpo”Ãê4­*®ŠT2‰+‰C+d»“ÝkiµR!õOXçʾ+}—^•ŽãÅÍ Í蟫Ãù¹@F…á¸ââââââçÎ#o _ çÏŸ`+ÆÛÈèòD\|¼]ø<æjΫ9w\LÏ Í(8P0Ø]m)mwÇÈè×Ã8>§=>úêh½¹4’7²Ó¶»H¹¨!©¸)ù±üç£ÏS¨€®´î*ÃU!y!_D«æ!s¯,¹‚$ídUg±*A@„ÚRÚh€‹h>óöL\I2†—‡÷Õ!§ÉNCz>˜ci•i;‚v G!È Ë^s¸†t×ãÒ(çÕ hÚFÓÆ?Ý__Ìr'»×´Õ\¤\D³¹x>üõ¸ëá‘aXìñyÇô¸.QæàB ò½‘^•þKè/tÝTÑT_V¿©³)4/ôjÓÕþ#½½:z:ê,œ(2QFH&§6ggÐÎ>FŸž¬ž‰‚ ­‡žžR‘âèúø§ÇÃÊQD4ÛëÚK%³ª³âJâþ/üÿ4%5¹LZes¬¢¥býãõ­]­r²ü¼ü™Õ™ñ%ñ›ü7…m #âˆÜårul¦Õ$Ô–é/óO÷Ÿª4ÕLÑlH·iÝ4{]{i!é¬ê¬˜â˜ß^ý6GcŽNhXÏò™À@ ï ïDo:ƒ¾ƒ¼c;y;"q'»Û{Û÷ÙÙÛ¼>˜$NB.w?ÛÝÇè[oºþÐìCHÀ·ÏrŸÃ]‡”Š”øÒøiJÃH]ëìí Z„ìé¼½þŒøóvÂm.\6Ç~ ý­µ«ÕÃÆÃÑØsçýcáÇ‚³ƒ×­áÆè­w·¸Y›iƒAª(¸š»rv»—ÞûrãK4/âÀ‹þéþ‰e‰³Õfƒá<ÈgëàB ò½‘R‘‚çÃo›¾ •(LPXa0@♽®=k$—Tž„Å`wÏÜngŠâE]¦¹ ·†åÃ"Eh  Xg²Nœ ν6ÇbKb±lcGã•Ø+—c._¢\ºD¹TÝV ȨÊàÒ(—«c3=,&9°fýZªZjÚjKîŸ ä3;¸|o´tµÈÉ`1XV¡‚Èg¼ØŽ@µv·J I ð ° ‘Æ"-]-ÃòAQD‘õ’Ã#?A>£:c°ñœkìh¤3é(údM¨ål”ËÕ}N gYaYÖK¤'v£¹äþ¹@>àB ò½1A`Bu[5Ig¥Ê›ËûÄòü'ØÆ WµVuõu±F¥Í¥ˆN"oïigUÙZÙ_sYsë%“ɬh©Æq[T„Ý1ázϦ)›úd=›ÅÙè«Ðô(Âýs|&?tŠ‚ŸŸŸ¥¥ejj*—ãoܸaiiYPð j†@ ÈŒ‘¼Qgo§gœ'*©l­|’þdȉ“&Ó™ôsQŸÊ%5w6߈¿ÜÈMDD¢jh5~i~ýUg6¢—Þï½:%#À\ɼ³·SIT é†~ÙhØÈ~êÂÙè« ‡ ™ó(#~.áòCïà–••½}û¶¹™Û¯EEEoß¾¥Ñhcê@ ŸÉ:ÓuÏsžŸ:K¡Rôåô›:šBóC‘(3Ì6<Ïy~;áöûò÷ÆòÆ´nZDADcG£¡œáÔ‰S“d&I¥BòBÖø¬1”7¬o¯Í %ðú«Âóáí½íçjΕ$Jf×dÇÇb0˜ fF¶¢­æ[CòBv?Ûíèm k $ TG«Ë¯ÏϨÊðZá…¶ÍãltÈÕ †¢ˆ"†çIú“>FŸ(^0²#~.áòC¸+W®411144oG M d lux½éú15ԟIJħO“+’Ë[Êx&ÉLZk²)Q„ÐÙÛù*ÿÕóœçyuyµ´ZQ¼¨‰‚‰Ë4i/ì*dLYm´z¦êÌÈ‚HZ é˜õk诀åòºßHÞˆm¢­¦­¹’y5ª¼¹œŸ—_OFµ×`žÖ¼I2“Þ¾éèíЕ֮<=»6ÛìÎVyÇ‹»¿ú~45:¯6ÀO°Tµä²“Ù`ŽéHë¼Øð"¹"9³:³³·SFHFSRS[Z{XF9¯n0Ó€ãóŽ/ÒY”]“ÝÑÛH¤…¤Ñ.ƒÍE„ú²ú¨dÈç~è×ÏÏïÚµkçÏŸG7qétú£GBBBjjjÄÄÄfÏžíää$ À61%%åúõë%%%rrrÎÎÎd2ù‹û@¾Þ—¿_õ`Õ®»†,ù(i*Yí³½ìîëŽ)މ)Ž9duÈÙÔ^‹»v5öSaùZZí‹Ü¯ò_ÝXvciÆ—ö2fdVgêJë¢Uc3«33Åb$±a({ 8WX@ØNÛŽƒrEÅÿMþz©+­«+­Û†g&iæLÒÌayÎÁ1 3Ya2ç|Ù!rXgÓæÊææÊæ¨DŠ(Å:xÀ¹ý…C>ȨðC¸l9¸ííí¶¶¶ àççwùòåððp)))TøòåË£Göô|l²çíí}éÒ%77·/é9ò¢'«÷Mô­_x0<*K&-Ñ—Ó—’­k¯{˜òðFüÓoN¯Ð_t{ä´×µ_ ½@CRCBP‚ÚH=y’B¥üöê·H—È!M@¾.P.5™(˜ˆĨÔÈ‚H:“î4ÙiìJpI­Î7Õw°»$qçØú[ç«}.ß?t€ËÆ¡C‡(Ф¤äþýûµµµ‹‹‹OŸ>‘‘áââòôéStØo¿ýfkk»zõj›7oîÚµkΜ9šššãè<E½Wz£— öYîK­HM(K(l,D›o™º…uж”ö5‡kä+䲿²æÎf¼È—v26èÉè½)|SÒT‚J–ê-EšŒ/õõ)»k­ný}¸_ísù΀îGúúú¼¼¼(І†"\¹r¥––Ößÿ]SS#--íììÐxwÉ’%²²²wîÜ9~üøø¸üôÏÁíêëºãyÎó²æ2$—nóÔÍ*è”Ö®Ö³QgCóC[»ZÕ%Ô|óÈd2ýÓý§?Ϋͣ3é*b*« W99"'NÐTZMIÍsÑçrjrükuë=3÷ˆÄWb¯ %‡ÎECk±î4§V¦þùWFuŽ7KuÖa«Ã_>‚äÃòÄ âƒ Àóáå&ÈѺix>üô 2¶¸“Ýô’Ê“ªZ«„„ÌÍÔ%Ô¿Œi™¬ ‚‡Lú·ãlôëaŸË p?RTTD£ÑæÍ›‡F·qqñeË–]¿~===}Μ9ˆÐÙÙ™u¢³³³‡‡Gzzúuùáé¥÷®}´í®ÙCï‰+‰‹/÷°ñ@ºÒw÷u;>tÌ©ÍAdVgn Ø2_k>«&“¹çŸ=èk@nmîÑWGsjrþ˜÷*L®H>y‚Πºúº§=N*O \8ä©çŒêŒSoNõÐ{½™å-徎ƒ¾œhþ¥‰ A‰øíñœí"0˜Œºö:ÿtÿ˜â˜¤Î÷5åÕæÍјƒã…劾+&(py®ktáÉ $J~ÎQÑ‘ýª¯çòCÜtuuÄÄÄØäˆ¹‹ ""Ò@gg瘻@X¸Ÿ|?©pàÀüÁÇÇÇd2/]º&##c`ð© à±cÇÌÍÍMLL%%%îîî›qsù!)i*Á‹ Ñ-ÊlµÙR!§7JšK¤‰ÒlÉm3Tf°¸ê>Ðt‹«&“ÉLä@ek%:Œ¬Lf-¯(¢¨"¦Bm¤é$[o$EE@{Oû0Ö9"TÅU Ðô†Ž†7…oþ|ý§“¯SȦ¶¶¥«e㓹µ¹·WÜf+t @ ß40ÀýÄ_ýeccsêÔ©Û·o«ªª–––ÖÔÔ r^ÞO”‚‚”)SÔÕÕq8\nnnOO¡¡áÊ•+ÇÏqä8uâ“0çµ—Þû™Êl)­ˆÃH=£˜ƒ‹åÁJ¥V¬èîëöóx‘óbóÔÍèÝZZíz¿õeÍe^+¼`t @¾3`€û ++«gÏžíØ±£   ±± ''wòäÉŸ~ú‰uØ… Î;ˆÎzðà??ÿ8x üÀ(‰*¥V¦¦U¦È}zÁò¦ð r  $¢”^þ¡þë&n5ŠU‰ª¸jVMV¬[¬Nˆƒ-J1e§ÅNt·¬¹ŒÚHE¬x0<`(ù+9åFë¡¡’ÒæR'_§æ®æ;«î ˜º@ ß4?t€‹œ cMçÏŸ?þü‚‚¤“™––ë{ÉÍ›7ÛÚÚ=}ú´¢¢¢´´T^^~âĉãà:òÃ3_{~jeꎠGmŽš(˜ÐzhþéþRñcù­Ô¬¶Z¶iUi®®6rÈ!3ÖüÀrƒåwzä´}úvC9C!œP-­6¿.ß?ÃßÑÈmY”V™vðåÁ­Ó¶J¥²j²Ž¾:ÚÇèC›ýN˜H,;ßø< IDATK•"²Ÿ™ƒ{-îZ[w›­¦íD‘‰x>|]{]ćˆóÑçè6m~]þZ¿µÝ}ÝwWÞeýó@¾~è9@&##Ã&WSSSSSë?žD"‘HëóÉËËÃeÈ8ò?ãÿ…ä†$W$o|²‘U~Äúˆ$Qà4Ù)8+8§6羊b0˜Ú žçk|%%p¼8ik×ff°*Á`0'œ¼¸øâtåé&ðaùEçh̹æpmºÊttØd…É·—ß63àÅ‹.×_îëè‹ÁÅò`¯8\1Q0ùº$¸Mwó˜ëa¦h&Nçåá•”˜IšyÞþüi»Óãíò#’_—=îú:¿uk|Ö¤U¦·;??èn~~þ‡¤¥¥ïݻǚ„@¾ZôdõØvFxX›õGX@Øc®‡Ç\VáR=ömËùZóÙ@ô‡¬B&«»k(gøè§G¬’¤ý÷qŽ.B8!G#GG#GcŽÏ?~|>켌9öÞöY5YèeKWË8:ó£ñƒîàþüóÏéé饥¥¬m!@F‹ÚöZu u—i.–ª–ãíËǺƒËÚ@ dÔ Z„4‘9úêèxûòÃñƒ¸|ǤU¦Œ<édâ4uâÔ{I÷Ò«Òq¼¸Yª³–ê-eKÌ£6R2òëòû}*b*Ëô–!öš;›·=Ýf¥nµÁl2ò]é» Ñ$%..¾ˆHhÝ´-[,T,\¦¹ éÒ‹Ü¡y¡mÝmêêkMÖÔ\»¾sÆN3E3V‡MM$?ȪΒ"J³=H(Kø'ûŸ²æ2~,¿ž¬Þ*ÃU‚ˆÎȂțïn¢JX…?ÏüÙDÁ„U³±¼ñ½¤{959~‚µºõ"Ec£ˆ¶H„|y`€ @ ƒò²f!± ¥«%¡,ÁXÁøÄëå-åˆ04/4³:ó¨ÍQtØÃ”‡¯<èÌUœ£Š¢$?øÃöeúËDð"UmUÓ£îËÜ— e €ý-ûå'ÈâJâÞ•¾[¤»hHö?߀Z ÈXm¸:¡,¡±£‘Õa}9ýßÃ~¯¥Õt¤uFüé•è…ê‰(ˆðNô¾¹ü&R¿¹®½ŽU "lêhbÕ¬'«‡jFÖþ!ü¢ýE1îÿ|ÿǹ¾µ^äªÃÕ!×`€ @ È÷É­w·Ô%Ôÿœ÷§´tVuÖÕØ«>)>›§n––$W$}u”ÀOXc´Æ@ր˟YéýÞû—Ð_¦*MU˜ @V!û¦øV¶V"ãcŠcLMËcŠcV¬P¨YyˆÓ,/r_dàùðÌ6èËê7u6ÝOºóÝÍþ#ï$ÞQSq'»O™(, ü*ÿ•W¢/ïZ“µfÍÚºÚü3üãKâÝÝ"]"Ù:ræîû»*b*;-vJ JfÕdÝ|wóeîK’ÿrýåƒMI(K²­ ÷@¾00À…@ äûDYLÙßÉ g’fö2z/Q.¥V¦"«W‚ƒÉðZá…v³›¥6ËPÞp½ßúgÙ϶NÛJV&û¦øR¨”+*[+©Ô-S·´tµDS£?¸ÅeQed7—Ó.Ø_˜­6‘,ÒYdçeWØPÈ6RŠ(õtíS´âÞÙ¨³€óO,ž´‘ØëÚ;=rŠ+‰‹(ˆ²ø +’DITó,µY& &?ùþä—êÇ!À½¿ú>çÆÚ|X>î€|a`€ @ È÷‰­¦-ë6ç$™IôÝ}ZUƒEÝ1™L&`úè}$ôœ¦4 ˃EÂÙhj4À‚d‘_—ÿ4ó)ƒÉ¨l­,i*á\“!¿._/‚F·>,ßB…ˆi6‡YëIçÖæâùðöºö¨ƒÁ¬2\W—S“3¬w¾Ö|VÍÈu^§Æ¬y½oŽá¸HùXEEÅ1òò5± €ÝãídtiÈÏWo È—é#ÂÇÃ`0ÈeGOIgë_ÐÕÛÖ“Ñ‹+‰c0ÑEÑjjÒDi² Ù+Ñ+£*#»&À¡>ô'm}]"ì]¬Ù|C–e½ìîëÆ ³¥É"»ûº37`^°€0›D/RÙZÉÁm˜ƒûMwp!chHêßÄòM“šš:Þ.@ ¯YaÙzçRO,–í–A ùÆ‚d‘JIM«L‹/_2i Àl¢?–?¦8&»&˃ª4uHCRD)jµ¹³Yÿ)Ìeí€ÀabACA ­Fš( 3ª3ÒBÒàß°µ¡½uÖ€û²YÕÿ1×ÞÓ^ÔPĹÊÌÁý¦^€«¡¡¡¡¡ñäÉ“1òò•€Á`œçÏÆÛÈ×››‘Ho/ Èׂ†ÍEÊżÝ3w£û©mÝm™H-Àtåé—(—®Å]kîl¶P±ð ˜(š¼-z[P_` k „ÒY™\P_p8äð_ þä„å‡f9ÑBÅâCý‡}ÿì;o^/ H,KôŒ÷Dn&ŠLVæ2’7"∯ ^ócùMM!Y™ü×›¿wù ˆ¡§™OCóB£‹¢U%T›:šÊ[Êu¤u²k²y0œ:ªnš²)8;8¦8ÆâŠIœD릕µ”1™ÌåË5$5ÚRÚºÒº™Õ™3®Î ‰“êÛë+Z* d ÒªÒØTiKiï¾ÿìÛ³RBRÔF*­›Fà#l¶•ƒõÏÏÁ½{)4QÜT 8yòzÜu[á^ÈXðƒ¶ê…@ ÈÈ`0))×ã®_¤\,i*ow #‡ÀGð]ãëhìȇå+¨/H©H)o) ­3Y§+£‹ŒÁb°S§LMÐCZh\;]y:7†d„d£*®ÚÑÛ‘Q•QÝV½iÊ&䈲¡;’DI_G_3E³®¾®ìšìÒæR^—i.Hƒ9¹à¤’¨R[w[ZeZ}{ýÏ3~^i¸²¿ª%“–¸MwkêlʨʠuÓ”E•﮺‹l… … e e Hýݼº<ä’­p/d,€;¸á0ç9ÏÑ_φr†J¢Jãëd@ôeõ}Öø°=D¨,¦ŒJˆ8¢‡Ç«#… …½2B2ÒBÒl»ª¿ÌùÅÙÌYFèÓ© m)퇎™L¦¡¼!÷þ„n -l(¤õДD”Dð"›ý7”E•98 PSyèø°ŽVWÞRÎÏ˯&®ÆVþVKJ+|sø‡ú}$1’N¨–Vë³ÆÙâee§ÅNgSgj#•ÀOPWë6f€mæÛzjl¨KÀó¾c p!Â-/s_6w6ÊvÓ»sjrÆÛÈ ˆàE¦LœÂÀ‡åÓ’ÒL•Â… ¬ 3Ü7ìÓ”¦©Š«LÆ÷w^¼&‰“кƒù† I””$JvƒÁ°†³RD©ÁN È ËóÏAU\Y2äË\pËQ›£¦Š¦âñ£¯ŽÂ‚PÒTrðÅÁÁîš(šü<ãç¼/È Ë‹ÄJ›K›;›»,v}A7!??z€ûêÕ«uëÖ)++·/„%M%AYA3H3 å ß•¾K¯JÇñâff ¯8QèLz\q\^]^£OELe&i&òN³¥«åîû»†r†3H3‘ÔFê³ìg¢xÑÿMþ"écô]½ª.¡>OkÞ.UµVEF¶u·©K¨Ï$Í̯ÏË›¯5_MBÕaYƒw¥ï²j²ùW®´u·EE•5—áxq“d&¡gwY5Y"P%¬ÂÚ Ý T³¾¬~lqlvM¶ Np&i&Û6ÛX`«i;Ö& ß½ e ƒÝE*y-Ó[ö¡îCyKyyK9@BPb¯å^nþ—A #ã p£¢¢^¿~íììƒÝEÊ{ÍÕœk£aSÛ^[ÕZEä'’ÄIœë'Œ"ƒe÷B¾o~¬×ÃÃÃÚÚš5À577ÿí·ß`t |+x%zѺiöºöÒBÒYÕY1Å1¿½úmŽÆ¤fEKÅúÇë[»Z ä d øyù3«3ãKâ7ùo ÛFÄÍ•ÌCóCÛºÛñÑEÑŠ"ŠeÍe±%±ÈÞ$ÒtÈâGéUé¿„þBgÐMMõeõ›:›BóB¯6 ÐÓÈ+Ñ«£§c¡Î‰"e„drjsvíìcôéÉê™(˜Ðzháùá))®®z<¬S/ˆf{]{I¢dVuV\IÜÿ…ÿŸ¦¤&‡DÆË±—‡,\\Èp!ð8ü«CÁ`0ÒDiÖ– _ÎÙ½ï•(ÀsssssóñöpK/½÷åÆ—è»ø/ø§û'–%"mîoÄßhíjõ°ñp4vD§ÜyçXø±àìà5FkÈ*ä¹/b‹cçjÎmíjͬÉÜg¹Ï+Á‹B¥ .…J#ˆiKisvÃ;ћΠï ïØNÞŽHÜÉîöÞöýGvöv¯&‰“ËÝÏv÷1úÖ›®?4ûÎî³Üçp×!¥"%¾4~šÒ4î?ŠÎÞΠõAè¯D¯?#þ¼p›Ãïr7s·!wp¹w@¾ZF9Àmnn~õê•Jåãã311™1ãã{Àººº«W¯Š‹‹»¹¹¡ƒ»ººÎœ9ƒÅb÷ìÙÃËËËa:Jkkkxxxaa!@066ž6íã/ƒ§OŸ¦§§ïÛ·@øôÓ8p@@@àÞ½{¯_¿xyy…‡‡”••×­[7`nIIIxxxMM˜˜˜¥¥¥–Ö§³¥ááá ÅÅÅETTôÙ³gÒÒÒöööbbbC~8ÉÉÉoß¾e2™¦¦¦ÿýwjj*ê3ªYDDäùóçùùù“'O¶±±áìÏ gÕ,,,TRR"''·hÑ"öÎàÈ×Ã$ÖLSKUKÿtÿš¶ä2¶$‹Á6v4^‰½Âd2‘.Dí½í€Œª `ôqk–RL™«97¶$–Π“UÈùuùH AKWKfuæíCT¤àùðÛ¦oC% V¬¸ùî&ÛH{]{4º$•'a1ØÝ3w£&Dñ¢.Ó\¿<œTž4¬w‘Î"ÖÚëLÖyÆy&•'q˜‚†ãò}3š®——×®]»Z[[Q‰……ÅÓ§O%$$$%%kjjŽ=Êd2·oÿøÖÕÕÕËËËÓÓ‰n9LG.oß¾½{÷î––t™L~ûö-ÏÓ§O}||ÜÜÜØâ<Ÿ;w"ndd$ÀÛÛ¹;sæL$ÀeËÁ=tèÐ_ýE§|‹‡Á`6lØpõêU>>>@xxøÉ“'÷ïߟ››‹Œˆˆ00´òƒÁpqq¹yóÓo>WWWv÷î]ÔgDó¤I“öíÛG¥R?ÿü³ g†\8ªYWWwïÞ½%%«²KHH’É\5¡@¾d…eY/‘Ç>FrÙØÑHgÒ/P.ôŸˆä¼Ê Ë‘ÄIÑEÑ •"E”Ò”Ô$«2JšJ²k²L7µë[ºZd„d°,«PAd€3^lgàZ»[¥„¤xX…Hµù–®0EY/y0<òä3ª38L9¸äaÔÜ    6ðòò.X°@[[»»»;,,,::zíڵϟ?œ?>))i÷îݦ¦¦S§N½uë–——×Úµk7oÞÌÍô'Ožlܸ`jjjjjŠÅb“’’( ƒÁàá:QÝÉɉÁ`DFF®_¿ÉÁ0ïöÊ•+ÇÇ`0vvvÚÚÚÅÅÅÿý÷­[·$$$Ž?ŽÛ²e //ïæÍ›‰DbHHHvv¶››[ttô`ÖÏŸ?óæM,»xñb‰”——wõêUIÉJúmÛ¶ŸŸãÆòòòÓ¦MãÒnpuuåççß¼y³€€@xxxvvö’%KrssÅÅŇ¥ùšî¡÷lš²©ÿ-ôÌÖtåé÷“î7S¨dC—¬BÆ`0”bJVuà®ûè ÕmÕt&5Æ-o.ï?ËóŸ X'\ÕZÕÕ×Åã–6—":ˆ¼½§uVekeÍeÍe¬—L&³¢¥B'ÌÁm˜ƒ @~F-À=tè@ˆŠŠš}zçÎÝ»ws¯ùÊ1W2÷KóSU²×ýO:lnm.rª `¡bq?éþƒ¤å-å?+ÿ Å‹jKiGEçÔæ¨Š«²vl #y£gÙÏ<ã<·™ü‰TÙZù$ýÉ'+LÊ :uîàìuC›;›oÄß@nä&È" "—ê-EÔÐjüÒüú« Îv6sF³¼ß{7t4 ¹Èƒsp!ÈÂè¸UUUÙÙÙªªª/_¾|ùò%šú†ì­¾ÿI8qâÇçÍ›7wîÜ & 1âÓ‰Dâ‡LMMY£[Àè¾a/---//Ÿ>}:M¦L™²|ùò‡&''[XX Âýû÷#žøùù­­­óòòªªª pKJJ*++mllÐè`ooojjš˜˜È6xïÞ½ht˽?ܰÿ~Ô=^^ÞßÿýéÓ§1110À…|Ol5ß’²ûÙnïDoY!¡:Z]~}~FU†× /¤gÒ”‰Sxyx}R|0 ºYk¡bá•èÕKï]k²–CëL×=Ïy~6ê,…JÑ—Óoêh ÍÅaqCNÜ`¶áyÎóÛ ·ß—¿7–7¦uÓ" "; å §Nœ ˜$3IŠ(’²Æg¡¼a}{}h^(€¸χ·÷¶Ÿ«9W’(™]“[‹Á`6˜mà`ýóspCóBóêòéU造¬ ÔÊT[á^_F'À­««þòË/ýï²fÍZXX())Q©ÔÅ‹«©©q9½¡¡ ©©9*ÞFSS€D"±ÉUUU¨DQñ?©oD"ÐÛÛËAmÿŒeeåþ®ºú§þÔÜûà ***ý/ÈwƒÂ…û«ïï~¶;³:3³:•kKi£AùäËu¤uć’UÈžñžnp²6¿‡ÿžP–€”¸7”3œ¥6ë\Ô9Λ :Ò:çíÏ|q0­2-­2 "up‘cg¼¿Xÿ²3h'ª™¬B¶R³òó`SålêMÊ B.‘:¸c]éUþ+Ô"ýž­p/Œ/£àŠŠŠttt–/_Þÿ®©é§&=Û¶m£R©ªªª÷îÝ[ºtéÂ… ¹™Žä‰æåå ærÄŠF£¡'Ò¥¥¥#XEQQ›¼°°ÀMj‹‹‹Ùäý%ä¼÷þp¿p*•Š@.QÈ7’¨’;ÙÝHÞ¨¿P_V•èHë¼Øð"¹"9³:³³·SFHFSRS[ú?e¿\Í]“+’'ÉLB%& &îdwÀT¥©\ú³ÚhõLÕ™‘‘´ÒÉì×Ð_Ë1¸ØjÚš+™GQ£Ê›ËùyùõdôX;™æiÍ›$3éMᛎÞ]iÝéÊÓ³k³ÝÉî¬Õ8^ÜýÕ÷£©Ñyµy~‚¥ªåèdf£a3`Á|5qÝB>UåüØù°Õáõ¦ë¿¤ÝŒªŒ%w—¸“Ý‘ÿÎ_'-¯ ^GD¼+}×KïõZá…¶žaå}ùûK”KiUi CWF×Õܵÿñ€Ñó]2:®¢¢¢ººzUUÕ²eË&Múô;ƒÉd¾zõ M«½yóæ;wÖ¯_êÔ)ccc''§ääd•!§c±XuuõÄÄÄ7n ‡ÒbbbÌÍÍ1 rnìùóç®®®È­°°°˜˜V'‘’6>'Nœ¨  ¼hÑ"Døþý{<oll<²GIIINN.<<<** -|öÏ?ÿôß¾?Ü,áäÉ“ .Dòúúú~ýõWÀôé\mVA _H¼ÈƒÁLV˜Œ¤´Y…Ìö#žË7Ü߈™Õ™ºÒºhÁÝÌêÌÀÌ@1‚IŒÄÁ7aa;m;ÊEÑîÁ]i]]iÝþÃx0<3I3g’fËóÏa®æÜ¹šs¿˜9äûcé½¥õíõœÇDS£7>Ùˆ M,K\ÿxýEû‹¬ÍGkÌ÷ʨ2û믿ŒgÏž­¥¥% P\\œ@¥R;;;±Xlrr²»»»Á•+Wðxü“'O,,,–-[‹Ãᆜ~ìØ±•+WnÙ²åöíÛH…÷ïßÇÆÆöööòòòÚÙÙýúë¯;v숎ŽVRRÊÍÍý矤¤¤ª««Q‘ŒˆÝ»wS(€ÔÁe[ÅÜÜÜ/^lgg§¥¥URRØÛÛ»ÿþaèbc×®]{÷îµ²²Z¼x±ŠŠÊ‡‚ƒƒ¥¤¤jkk9—ÛÒnŽPUU¥­­mgg‡Ãá"""²²²$$$úPG«óMõì.Iœd§mwr¡¨¡ÈDÁDŒ Fm¤FDÒ™t§ÉNle ÈCOV¯à@Áx{1òÂò¶š¶VêV!¹!ží¥÷ 9BgÐM·šoÅb°÷“:÷kè¯3Ug"IP£5æ;fÔÜÅ‹ûøølß¾=44444òððÌ›7——·¹¹yÙ²e8Ù}˜™™;wÎÕÕuûöí7nÜà<°bÅŠÆÆÆ½{÷&$$$$$ ,,,ƒh†††îîî.\ðóûøoå—_~)**òñùÔÛÖÖVGG';;ûÔ©Sàß:¸l«puu-//?uêÔ³gÏž={þ­;ûÿ÷ŸóáìÚµ+''ÇËËËßß‘lÛ¶­ªª*00sÜ<¤?Ü,áòåË{öìñôôD.‘:¸°F2 õõ)»k­nm§m§'£÷¦ðMIS *_ª·ÔešËq|«¬ @¾‰ø1à€˜â˜Š– SEÓCV‡‰«¹kvMvh^hX~R"f´Æ|ÇŒf£‡Õ«W/^¼8"""//Á`(++O:9•’’âäädii‰, %êêêjjj¤¥¥9LGpqqYµjUhh(•J0a‚±±ñ”)ŸŽSœ?~ÕªUÑÑѼ¼¼³gÏ600xúô©šš’™HLL|þüyAAAww7rêËÜÜü·ß~c=vüøñ-[¶ ÃfÍšÅÚ9ÌÚÚZ@@@Fæ?U„¡””Ô`Ÿ ‹½}ûö¶mÛÞ¾} “Éfffššš¨{jÒnŽ ¡¡‘\RR"//;™A  HpÈX@raÝÉîzIåIU­UBBfŠfêêƒM]Ëî…@PÐ,X#y£¿"ÿʨÎÀñâf©Î:luXÿñ‡ÿã´Ç‡^º¼ä2Ò§šUxÍáÚ9¬z´¥´ÏDÉ­Í 0á'㟿åî%Ý»Ÿt¿¢¥BADa—Å®þ/¾c‹cÏEŸË©É!ð¬Õ­÷Ì܃žì0™LÿtÿÇéójóèLºŠ˜Ê*ÃUŽFŽÈ»MÔ´®Œî¹¨sYÕY$qÒßëþæ°êþ9¸]}]7âo<Ïy^Ö\†¤¼ožºÙBåc ":ƒî“âPÖRÆd2•D•é.Zm¸χÿÌÏÿsH,K° öºö¡y¡ ¥ ˆ|´Æ|ÇŒr«^<oggggÇž[6kÖ¬Y³fõÏVök°é("""+W®ìîÔ©S§Nýt@ÄÁÁÁÁÁu@`;ÇfnnnnnΦGYY)@Ûkkkkkkn„l$&z¹Š¼ IDAT&ššš¢éÈ—/_ÎÏÏg­ÿÅA †\8‘H\³f g?!@’(ÉMJ®Â…/p®«?²{!V2ª3N½9ÕCïtövf–·”û:š~3©•©'^Ÿ 3鈞ÓoOãxquíuH g@QCÑŽ ÊbÊÚRŸt&W$Ÿˆ<$€võu=N{œTž¸.y9Îd2÷ü³‡µ(GnmîÑWGsjrþ˜÷Ç”ükšÁd Ëí^zïÚGkÑþÕ=ôž¸’¸øÒx5FkþŸ½;kâh>›; ܧ"—ˆˆ€¢ "Ö[©ZÅ«¯hA«–ª¨x¼m­(^TE/Ôz£X¬‚ˆ*E¹‘û> I~¬¿4E@ÐÀBx¾Ÿ÷ó~²³³;OÒ¬y˜A|rP|ym|ö*‰*>¾ã_?»ZJôOÑгü¾PÕþâ…Ô „²+³%[GŠI8Á­;v¬™™™¥¥%•J‹‹ÃŸ[³f ÑqZ·’o9Y:-¾L]N=¹0yí­µ±¹±)E)Íæù¬»)w‡9/±Z¢$£ô$ãÉš›k|"}BÁ>‡}ã Ç‘0ÒÉç'OÇœˆ ømêo¢£î¿½?ËlÖJÛ•j,µ¤Â$χž©%©<ÿc­ýZ„ÐÍä›7“o«o³Ñ\ÓœN¡'&í|´órÂåÙƒg‹nPÜ{ŽùWk×¾ì¾à~þåùø¼x-y-ωžÃû ¯i¬¹úæê±gÇöüµg‚ÑU–jXZ“Ê<8õ m?[ ‰’UžuóŸ›-N;Ý•j¹µèÿ—6Á7kj$[GŠA‚ÛE†þüùs|“N§T5²ßÈ/ËnBÙÙl&ÏnEÆ޽ôú~û~ëØ­«n¬ë;v”Þ(uK-Ë꿬- Âׯj¨/¬n¬FÉ1ä$[GŠA‚Ûu¬¬¬¬¬¬º¾Ýö  }è”ÿ,! ‰õáá›Í¶645|þ<ÖâÉ‚Œ‘ÅÛmq<+ÿïÊ ¢Gâ¾ þ[c¢n¶<ìeÞËø¼øØœXŸEÅ#ß1VmuåÔ.ƒ‹¯¥’V’6Dûß øß¿Eé²u%[GŠ‘ˆP–UFåVæŠ>Ï~.©óGfEŠßÏ­ÌÍ,Ï­„g lÀ¤2_­}•¾)½ÙÿŽÍ<&‘tu+8¢5±q¿ÿýò‡"cäa}†­±âðw‡ÿþñïÚÆÚÍ÷6K¤õ/†/m(þøhsxßá’­#Å èð‰íÎÆµÐ²0×2/­+=w.,-LRçOø°ùþæGü¨ÆRK.Jö|èÙ$hMI6Ç|NÜݸŗÿ4ò' - 9º\qmqZIZHbÈBË…¶ýšOpôL^xýóÍŸ='zZéXÕrkCÞ„\z}‰F¦3‡šs~ÎÌA3‡÷®ÃÖáñyQYQ•œÊû°Eº` îÈ~#µäµbsc÷þµ÷GÛ)$ʹøsR(2ñ¹Û$XGŠA‚ ôF}Ø}&Ozú`aðǧÉyÆ &µ5×lûM6ž|#éFÈ›Q‰²ÁòËñ׎ƒcrb®%^s qmvà<óVçíEC…¾ }™ÿò‡«ÿ™jsÛømª,U„Praò«üWÍ[·Lë­q¿í.Þ«ºôÊRü…hBb*™º{òn——€Ø€€Ø|/†a^“¼DËIªŽƒº‡Çy˜ö0>/>¯*Aa Ò4{ðlÑSä"•œÊàWÁ „Hhªaêdá„ÿw´´Ú¶oÊ>y†|XZ‡Ç¨>pÃ7²Ê³$•àÕ:ßb¾w„wjq*“Êo4~Ã7D©†a¾=0Ú`ôå×—“ “êyõrÔ8r©7R"PÉÔs Ί>u'åNne.L3Ó4sµvµ×ÿ8…ѵÅ×.'\ŽÎ‰Î«ÌcR™úÊú³Ïže6K"­ {}û § ŸHŸ„ ¡`Æ U¶«ìôì:£Ž´Â:4a¾JÂÕ«W;-Ð-`æãããàà@t @’V¯^Íb±¾þú-**ª­­m£‚¡¡O‘ƒC[uºRjIª×C¯¹æsg šAl$EµEOMlö ;‹Î:1ó„ø ÙœÊœùæ×‹JØLv°S°ø„íí©­w*I}Ï»Ûõ@×»w忦žžþ¾:,K]]½ýçìpn^^Þ•+W:zèq^½j~×ôt………âke÷551¹1’êú ¼*™:Ï|Þ`­Ášrš%u%W®ÆåŹßqXA!}üyýíõŵÅCu†:s&cäàWÁ™kn­¹³ô #µ¿´èµ:œàFGG·±X.gΜ9sæ ÑQ ë n÷¡)¯±2B|™ûïL¿ûöô·ïËÞ§–¤šª›"„>$¼ÌÙ—Ý7p~ ƒÂ@5ëxÖ1¹(ùYÖ³Qz£ÚYZÒ'¥8eZÀ´ÖöŽ7ï;Ë·+ãÝYÇþؽzõªÐcõèñE œ‚œBSCËêËŽDq qݺ ßUÏ«¿œpyó½ÍK./Y}cõé˜Ó¢¹ÍÿLúÓë¡BèjÂU§ 'ü¢sf–g|rÐ5Äué•¥»íJ)JéÔ·@#ÓÄ3<„…DÑSÒCQIT¼äYÖ3„Ð\ó¹xö†"cäï‡|zšñ´ýu u@o™z†ª†ª˜Ü˜ÁZƒw†íÄÇ_âkUr*GŸ->¸345ôtÌé+‹®è(èäWç§§ „òªòòªòÄOü*Øë¡_øqÎö§O/¼¼°gòžÙƒg·â‹‹ÚžãÍdŸp<Ñþ7—÷,뙞’žŠ^‚/vj®e.^ ß|_ö¾ýu u }LÔLÒ7¥¾àz–³±gõ”ôÜìÜú²ûÊ3äB<>J¦.¾l ú@eåêÆêÙ/.¾¾èéóë·¿Î0!G—Û¶sŽùœ¦ÿ>dö2ÿ¥çCOšŒ“¥“¹¦9LK*L:wfûƒí6º6: :-¶“óÙEŒ>û>TX{½ ‹k‹³+²TŒŽÎ8JÆÈøÞŠú „ªìæÀ§¨äT¶¿´èÍ Áô$j,µëÿ».~³[QFñþ²ûß=|’ñ¤¬® _ä“F¦ÅåÆ!„´´ñŽ^ë¾Ö¢£bBAÀÜÑ"–c ÇXh[8_v¾ýÏíGüØbë眶9ó •Lýì[àð81¹1øk:…n§g'žã=ÊdYü|S´~i{ê@ë€Þ \@O2Ùxr³¡œ%µ% ‚4~€ªi¬iã<  dŒ|8â0BH( ‘!ÔÄoBmÞéÞGë[jÉk9ñüÒºÒ'OÎÄžyôîÑÝewñùA™&B¨ÙtZø¦,MßlOhЛA‚ èI4å5›•ø<óɫʡ;bºétu–:LÃ0lÓ½Mm'¸õÜz¾•õé®^« uJd .“Êõ%O7®ÆRó{áw#ñÆÂ! BÚ Ú¡¬Š¬AƒD‡d–gŠvµ³´èÍ Áôl ØLvàü@Ѩõ¼ú’ÚõãSöÂB͆hÊkrùÜ?fýÑìf7BHIF©µ¶$2·}%}„PAM¾9Xs0Bèqúã©&SEuÂÓÃBfšfí¯­z3Hp=›C!£,#µ8ÕDÝ!TÁ©Ø|osCSƒ(ÁÅoçTæˆ5±ÿDŸHŸÐÔP÷Ñî ¼°¦±æFÒ +«ÖÚúÊ1¸wRîÈÑåìõì1 ÃKRŠRþˆþ!d üq&1†c˜Tæ”;&ã Ç!„bscƒ_SÉT|úvÖÖ½$¸€žmœá¸ØÜØïÎ~g¬jŒÊ,ÏdR™Ú Ú¢ašzÊzL*ózâõ¤Â$6ƒ ^üƒõaï‚__I¸ÒO©Ÿ]®¤¶¤ ¦€/àÌ h­­¯ƒ›Xx:æ4“ÊìÃîä0KêJ>T@«; ø¸2¶CÁÍÎíÀãËC–©QH”·%o…BáJÛ•rí¯ƒò óJ-NÝç°OWQ··µèå ÁôlÎÃ3Ë3¯¼¹‚Ïw«¯¬ÿûÔß·?Ø.JpÆ–±[vÿµ;­$Mt” Uæ¢ÓÅßžüv=ñzzéÇ™5ÙLö Ó¦¦êtÓéª??ù®ô¿ó0ç5£ÖˆŸª=uþ)ú'>/¾žWß [!”Rœ–æ0ÀÁPqìu°¶o·@3EEEµµµmT044ðñ)rph«Î¨äT¦–¤ê*ê¶ØQWɩ̮ȖgÈã‹c%&565Õ*ªPÏ«_úžÓÄ …âó…ñø¼÷eï9<ކœ†ºœºh oçáò¹¹•¹U U …~JýD³À6ÓÐÔð¾ì½@ 0P1ÀGYt´Î¨£›Ÿ®|*Zô«÷´Þ$õ=ï¤ë „®%^ó¸ëqlæ1¾ÒÍÝ»ÇrsSOOok­‹¥®®ÞþsB. g`3Ùâ‰é§{ÙL¶hSü{œ U¦Å‡¨dêµ’ ²=hdšhÔi†©úgú’Û¨“_•_P]à>Ú]<¿ì%­@§÷Uèzqyq²4Ù…– {aë=¸ …†ê ½²è ¾šqok „²+²o&ß´×·7×4‘ó"¹(Y–&;eÀ”À¸@ - {}{¼Zfyæín+2 ]„—4 šND0R1š2`J—6ßb>Bˆ/ä?ÏzžZ’Ú$hÒSÒ­?Z||6훂7Õ,:ËBËâÓ5…5…ÓW7V©ÖÝñƒž\B: :½¶u€Ê®Èö‰ô¡‘i‡#GfF"„LÕMçšÏ=."3B”àÞL¾yìÙ12‰üéwø$¯ò_ùDúlüfckg>y_ù¯52T™¬èP`ó-æ'|HøùæÏâKjÊkžt<‰g±õ¼z××èìhñSÙëÛŸy\´´áÕ7Wyð —ÏÅ7-´,¦ œÖÖg¤$¸€t ˆ ¨çÖO8­/»¯†œ #ÙêÚ>H{PÓX#G—CEdDôa÷É­ÌʎŸĊȌ@ÙéÙµvÎcQÇ>»ÜI n‹åWå;_q®n¨6×27×4§QhI…IÑÙÑ.!.a.a,:«®±.:;zÆ 5Y•êÆê˜œ˜§OG_?z=BèMÁ›m¡Ûøþ°>Ãk.¯/úàxÔñ/øÐ€t€Nç–ó-}e}Q‰žÝ½·÷¢²¢&Oªn¨N*JÚøÍÆ€˜€ÈÌH<ÁÌŒT’Q2Q3i휫mW¶·£ýòà—ê†j¯‰^ø¢Í¸³qgw?Ú}ëŸ[N–N,:ëꢫrt¹øüø²º2*™:yÀä¼yáéáx‚{6î,_Àw³ss³sÃw³s›~fúg#Ò \@:}gúxv‹þ¿k62+r’ñ¤¨ì(¾€o§g—V’†¨j¨J*LúÖä[Ñ‚sŸúÉî'‰•EÆÈåõåÇ£Ž …B|Ó:^B(± Y"F:s:45´ÙyJëJñ/ó^2©ÌU#W‰võa÷™g1Ïÿ…ÿ×G z"HpéÔO±_³-y-}eýˆŒ„Pdf¤KÍXÕØNÏîZâµìŠìŠþ#ûlãœ_9·ÅÀÊëËùBþ‘È#ŸÖ¬i¬A|~245TIFi”Þ( 9 …†!ìÒëK¢·U UrÍfVîÃîÓv@ŠA‚ H'2©…¥4Föy>þ|VEVdf$Þ¡k§g‡aXdVdra2js.’ÐÜfÉ3ä¹|®‹µË§5ñEÈþ~ÿ7ƒÂ¸ÿÃ}ee¼\(ÆŠzš …5…|!_<ÇÍ­Ìm; Å Áz‘Qz£ÎÇŸ¿!¯*o]¿u!E¦¢‰šIDFDJqвA‹‹ŠHd n3¶º¶—.ë*ê~gúxùÛâ·øÃp†QÈ:ùßYÃN>?YÕP%ZÞeˆÎ[É·N<;!A‘[™{%áJG#R\ ±îkM!Q‚^a&ꬥ7* 6€ÇçýÏêm.‘1¸Íühûchj¨ûm÷3±gÌ5Íår%µ%i¥i‰‰s´´-µ, §™6Þh/>¹0Y|ñÂ%VKî¦Ü=y$*;J4‹ƒÊh½M å`%3 ‘¥ÉZj[òø<5%%¼ÐNÏŽÇç!„Ú€ÛIttÎ/8o¤b”T˜ô*È÷¹ïµÄk‰‰&j&Ú Ú!7;7#£ÜÊÜ3±gÎÄžù§èŸ]“w‰O·¯ŸÒUÔu³s³Ô¶lqï*ÛU/ó_Нf¥c…O°e£kCH`ÕÞ[vïeþˤÂ$£!§a¬jl¢þq¶26“}{éíðôð¬ò,y†¼½¾½–¼–@(¨n¨aÎà9výì¿\ÓXc¨bøÁ7i%invn†Ê†úŽ@÷ . mð<²µ½vzvÍž$£’©mÔ— 6Ã0l¨ÎС:C[ÜK!Q&öŸ(^‚/ð+NS^ÓÉÒI´i¢fÒÆ„¾@ºÁ U ÁR\@Ïð4ã©á~Ã3±gbrc-üûàggTr*ûè¿þÎzQµë‰× ÷ZûXã‹!!„Šj‹ ÷n°½+ÃwÅæÆ®»½n¬ïX“ßL†æâŸÿé¯?¼v r2ûÝÌêˆÕ†;*9•âç¯n¨ö|è9âØÓƒ¦3ÎÎOoOÝá“¢À\@Oò2ÿåþðý|!!$ ØLö@õ‘™‘B¡Ÿò=2+’„‘ÊêËÞ–¼Å‡ßá‹6µñl¸ñ¯ÆŸ¸>ú§è†*©-Y´@T¡‚Sžþäý“ N†õ&*O,Lüíïßð™8<ΤyUy^Ä÷665. ^˜Rœ‚o&&-¿¶Üa€C×|2ÐCA‚ èI?Ç|Ž«µk_v_|1$;=;ßç¾o‹ßš¨›…Âg™Ï¦›N¿óψŒ<‹ÌŒ$a¤º#º80|’ÑÅCT¨"«RÕP“³ñîFßç¾â î­ä[N–Nˆ/S—SO.L^{kmlnlJQ þüø¹øs)Å)úÊúž<-´-ÊëËý¢ý‚^õ Oº$¸€žÄBËbïä½¢õ9Bvýì|ŸûFfEš¨›¤§”Õ—Mê?)¿*?2+ÒÕÆU(FeG™iš)0Z;gêÆÔÎLEVeýèõDÿ±-t[Y]Þ·ŠJ-ùOsvzv;'íÄ_ÕêjãêùÐómÉ[<Á }ŠaØñ™ÇTŒB2 2^“¼2+2£²¢>À×2ÐCÁ\@O2²ßHñ!4Tg(“ʌȌ@EfF’1òÝvzvq¹q M ÿÿS^_Þwá? ìeþË9ççÜ{¿¸¶X”Ý"„šÄ«ÙôýÏ´£}Ø}BuÜ:|3»2[¥Žg·"özöí  ›|2Ðõ Гˆ/Ή£’©Ãû žý¼¡©!2+ÒRÛ’EgÙõ³ó~ê››\˜Œ¥7ªsJd î§ù>÷åñynvn3ÍPg©ÓÈ4 Ã&úM,¯/¯F§ÐÅ71„!„Dϵ_g|2ÐCA. Ç³Ó³ãò¹O3žÆåÆáÓ×›iš±™ìˆŒˆÈ¬H&•ÙÚzN*·2WEVÅÍέ/»/BÇ0,§2'«<«C'ÑeëÕ½+}'^ø4ói; t6èÁôxx7äáˆÃ\>w”þ(„ #Ùôµ OÿPýa¤ÞH ©­ë$2÷SZòZéeéçãÏÏ4!Ÿ¿ç¯=ø í7yÀä„‚„U7VyMô2×2Ç2ûtnk¾ò“€ þiôx†*†ê,õ´’4†‚™†^8JThj("n¬– žd<ñ óò óÂKªì¯Ú¿¸¶¸ý'Yþ³f×Ϯً.6Þhü¡i‡¨ `Pj,µ– Î/8O#Ó:t:…ä´Ðr¡Š¬ B¨>ð¤ãI{ý2kM7üd¤@C†b0:!ƒ{šñté•¥[ÇmuæÜÚ‰‰3gºÙ¹¹Ù¹µ³­Ïž¶Å`¾ ¡n"0.p÷_»›¥OÚ ÚçæŸÓUÔ•äTæÌ¿0_üŽ ›Év î¯Ú_âuzº{÷XnnêééïÛ¨Ãb±ÔÕÕÛN¢0CC^ZZÇú)èYðo¸¾>—è@ZUÓX“3R¯Ã£Pô•õƒœ‚´´;;˜Îh¨k”Õ—iÊiN0ÅHÅH•¥šQ–áÿÂ?¿*Ó½M¢5Bëo¯/®-ª3Ôy˜3#¿ ŽÈŒXskÍ¥wD·S$U| \€„YZ6ܼ)Gtt¢çÏ™zz<6»c ö²4Yë¾ÖÒÔÄ9s^;j­hÚéÑú£'ôŸ0ÉoRlnl·N–&‹Jøð2ÿe_vßÀù !4Öh¬ãYÇä¢ägYÏð§?%U´\€„[ü¸bb"Ý̬‘èX<=x ;aBÑ´êϤ?OÇœF]M¸ú,ó^¼0XT¡’Sy.þÜ›‚7t }ŒÁ˜Yf³DéZFYƶÐm³Ïše6 !”ð!áÀã‹­ÛôµiíOÕqë<zÕ­³_—UžÕb0­54T{h`|àÛâ· …– ¬t¬BÉEÉ_]̯Ê×aë,¾¬Ÿb?ñæ2Ë3¯%^K+Ik4é)éÍ6›/ØI™ŠÍJttô•ôSŠSDÓ¤<Ëz†šk>ÏJBdŒüýï7ßßü4ã)ž˜Jªh$¸ 37o02â^¸ pà@¦  §xúT&'‡:{v Ñ´*¿:?¥8!”W•—W•×loY}ÙŒ³3DåR$&yNôÄ7ë¸u1¹16ºØ«j¨ŠÉ¢3døþÖiÞzU¾kˆk^UÞáé‡-´,že=k1˜2×2ß¶«¨¶/¼“rÇo¶_·nÍÍ5¢åï¥Ü ý!T•¥Šo¿ özè%Úû4ãé…—öLÞ3{ðìÖ>ŸEµ½¶ ›É>áx¢ ÍÔ4ÖdWdÖ,Gÿxó*½,!d®e.^ ß|_ö^²u@‹ ÁHÞŠ•7ª-YReb¸@ªðùد¿*[gdÔ}àÎ0!G—Û¶sŽùœ¦3šíõáo¤b´wÊ^u9õäÂäQ'‚^¹Ú¸jÉkµvÂö’P°L3gbϘj˜ºvWd*>Í|z>þüΰeõeSNo4ž„‘ÎÅŸ{‘óâtìéMc6!„^æ¿ô|è)C“q²t2×4§‘iI…IgâÎl°ÝF×FGA§ÅVbrc>»xaÛq6ãùг‘߸iì&QIE}BHUVU¼šK !TÉ©”lÐ"Hp’7}zÍ¥Kòžž*—.å·~€ž'(H>3“züx!Ñ´E[A{ ú@„Ž‚Î§ã\û)õ Y‚¯=Z4OÀ;yôõ‡×m$¸í<änÊÝw7Pàëè+êam;˜f ” .-¼D%SBc Ǥ§ÆäÆ|?ä{QoñÝ#Žxÿß ˆ s†hÁKÆŽ±Ð¶p¾ì|ûŸÛ?Žø±ÅVÎ/8ßöRxítðÉÁ›É7·ß6¼ÏpQ!Þ£L&‘Åkâ›<>O²u@‹ ÁH†¡­[KuÎSøßÿªˆÉxÿžzø°Ò²eUzz=8·˜l<OUqƒ4£ù›œ IDAT¡ÿï)üšC®%^K-IÔÒÁiEF;j¢ñDñäÒDÝ$&7æ[“oE%ò y-y­Âš`$$1òáˆÃ!¡P(DB„P¿ µy_<ýB¡p÷_»ã7Ù´Äj‰ø.&…‰ªãþg 6¾‰?…&Á: Eà:Å AëÖ•ïݫҧoìØ¦@ g©¬$-_®©«Ë[µªœèX¾ŠCA|“J¢"„Ú^Dº=‡àpi])ÏûâWž./¾‰/%ݬu ‰RÏýøOJ=·ž/ä·¸xu¯Õ)Š%2—/ä{Üõø3éÏ'Ƨ?˪ÈÂÿÀe–gŠvI°h$¸€Î²bEEf&uÝ:õÀÀææ0ô`µµ¤+4›š0ÿ&³,„! !Ô•k9M5™ú¿¡ÿÛxw£SÓ™ygć±v^0šòš\>÷Y4»‰R’Qjí¨¯ƒÛÐÔàö§[xzøŽ ;]üi…ÁšƒBÓO5™** OG™išI¶h$¸€N´{wIYùûïµû­xòd ¯Õ@×ÈË£¸ºjVV’?(+·•u2T„PNeNW6:Ýtº‡}øj½ 7;·,Yn¤bD!QÞ–¼ …+mWjÈià•%U´\@ç"“ÑŽ¥††Üýû•oÞdmÞ\6qb÷!‘¬,êÞ½*áá2Ó¦ÕîÙS"#Ó)ë–‘ÉB~'t 3(Œ-c·ìþkwZIšäÏÞ&+«`§`ç+Î ‚œž{Ú\Ó¼ó‚‘¡Ê\tºøÛ“ß®'^O/MÇ ÙLö Ó¦¦’mKÝ[ÛX“ÓlW=ïßç \¬]øþÉç'ß•¾C1( çaÎkF­¯/©:=ŸÈd ÷}`]9@ ŠŠŠjk¿d°Aq1åÀ¥[·äLLçÍ«7®NC£Çô‡ÞƒÃÁ¢¢dnÜ`=z$k`ÀÛ±£ÔÚšÓyÍYYõ[·®ÜÉ©º3N^Ï«_úžÓÄ …Ö}­+9•©%©ºŠºâxa?¥~ê,u„P·.©0I[A`ОCZ¬S\[œYž)C• mL{Ê©Ì)¨.¬9˜IeŠ ß¼á ø–Ú–âï”Çç½/{Ïáq4ä4ÔåÔII¢äd”e”Ô•´¸ËLÓ !ÒÐÔð¾ì½@ 0P1h¶Kâuz®  yoo¥¸¸¬6ê°X,uuõöŸ\@Ç|q‚‹KL¤* y¶h÷îwQQY—.å÷]m|9MM_¿þÂIµ¯_Ó%¾ì%ŒÁ€NÖÕÝŒŽ>âãcààPDt8=ž¡áŽU«Ø Ÿ¯ ZWQQýí·ÿý÷ϳgë²FGª¿zU¾´”¬¢Ò3æg@²JJÈ  ¯< =¸nÙ²eÁ‚DÇÀGŠŠŠÞÞÞ>¼víZ—5:zt=‹% ‘ÿ|U¤Ñµkòòò{{ ¯ . « ‚ 6(++oÙ²…èXøkkëeË–yzzfddtM‹ †pþüꀅª*øE½NU) @aÞ¼jCÂÃàrtµ“'OÆÇÇ>|˜Éd~¾6]ËÝݽÿþëÖ­ãñx]ÓâÊ• :z´Õ•·V>>J†V¬¨ø™!Át©7oÞ=ztãÆ&&&DÇ@ (Š··wff¦··w×´(++X»¶üüyùädz×´@wœL¿pA~ýúr99ÉO2 . ëÔ×ׯ[·ÎÖÖöÿûѱЪ¾}ûnß¾Ýßß?22²kZœ5«ÚƦaùrâbxøô ÅÅ”åË5llfÍê”I !ÁtíÛ·×ÔÔ8pÃ0¢c -³gÏþöÛoׯ__ZZÚÍ‘HèèÑBYYáòåü4)Çá–/ו=ZHêœï;\E€.rýúõ[·níß¿_UU•èXø¼;w2 ®YI^^àçWŸOqrÒ‚~\ ÅŠ‹)NNZùù?¿yùNYA‚ è999;wî\ºté˜1cˆŽ€v‘““ûý÷ß###/\¸Ð5-öíË É¯¯'9:jÃx\ •’“鎎Úõõ¤ü¾};ñ9NHpŽÏç¯[·NWW×ÝÝèX耡C‡®Zµjß¾})))]Óbß¾¼«Wó yŽŽÚ»v©ÀÜa@jTU‘víRqtÔ64ä]½š×©Ù-‚Ð:”ššzèÐ!Ft,tÌêÕ«---×®]ÛÐÐÐ5-ÊË >ìÞ]zçk„¾¾¾Š%%ä®i€ÎPRBöõUœ0¡ï;¬Ý»K>tÞÈåè\111þþþ»wï600 ::ŒD"ýþûïS§NÝ·oŸ——WW5ŠæÌ©ž<¹Ö×WÑߟ}èÒàÁ –– ýúñdHwA·Ç磪*rVåÕ+Æ›7 yyÁ¼yÕ+VTtÆŒ`-ºfì<@jÕÖÖ¶³rUUÕ´iÓ|ìØ±Nª—344ôññu;OhhèO?ýtòäÉñãÇwqÓ ØÓ§22IIôÜ\JM ™Ïïâè0 ÉË úôᙚ6ÚÛ×]O§UÂÉb±ÔÕÕÛ_zpÈÃÃC ìÞ½›è@ø*“'Ož={¶‡‡ÇíÛ·µ´´º²iC8qbÝĉu]Ù(=ŒÁt–   ðððƒ²Ùl¢càkíØ±CEEeýúõ|èA ÛƒÐ)ÒÓÓ÷íÛ·zõj¢c@˜Læ¡C‡^½zåççGt,€Ï€ y\.wí򵮮Æ+W®$:$ÆÔÔÔÝÝÝÛÛûõë×DÇh $¸ÉÛ»wo^^Þ‘#G(è¤Ê²eËìíí×®]ÛþG-]\€„=yò$((ÈËËKGG‡èX0 ÃöïßßÐÐÐeS†¾$¸I*--õðð˜5kÖôéӉހN¡¬¬|àÀ?ÿüóæÍ›DÇh$¸‰îîî222Û·o'::‘½½ýâÅ‹·oßž••Et,€@‚ ÿ/^x{{ËÊÊ ËÃÃCWWwݺuMMMDÇh\€d$%%y{{»»»››› ŽF£y{{¿{÷îèÑ£DÇhpt Nÿ´°¾¾ÞÝÝ}ذa?ÿü3‰9€Á`°X,¢£è],,,<==7oÞÕÔÔìúBHAA¡C µ‰Ø¸qc||üš5k^¿~­¬¬Lt8€ £ðµBBBOŸ>­¥¥Et,t5___‰äââBt €A‚ ø*¹¹¹®®®«W¯†yÁ@廊¨xþüù[·nÁ¾tà¾\SSÓ‚ ´´´8@t,ÆÞÞÞÃÃcÍš5)))DÇ@\Àר¹sg|||pp0“É$:ˆäååenn>wî܆†¢c@‚ øR‘‘‘{÷î=tèÐàÁƒ‰Ž‚Q(” .ääälÞ¼™èXà¾Heeå÷ß?iÒ¤+V Ý‚¾¾¾ŸŸß‘#GîܹCt,ôvà¾Ä?þØÔÔˆaѱÐ]Ì;wáÂ…K—.-(( :z5HpæïïåÊ•ÀÀ@¢c {9yò¤¢¢â’%K„B!ѱÐ{A‚ è˜ôôôuëÖyxxŒ7ŽèXèvX,VPPÐãÇ>Lt,ô^à: ±±qîÜ¹ÆÆÆžžžDÇ@7eee…/áûêÕ+¢c —‚Ð[¶ly÷î]PPF#:º¯M›6ÙÙÙÍ;·¦¦†èXè Á´×ǽ½½Oœ8Ñ¿¢c [#‘HîîîDÇ@o . ]JJJ–,Y2{öìE‹ =€¶¶¶¿¿¿ŸŸß¥K—ˆŽ€^\Àç …ÂeË–1 ???¢c Ç˜1cÆŠ+~üñÇììl¢c wðyG޹ÿ~PP‚‚ѱГx{{÷íÛwÑ¢E|>ŸèXèE Á|FRRÒæÍ›===GŒAt,ô0 #888..nïÞ½DÇ@/ . - NNNÆ Û´iѱÐ#™ššîß¿çÎQQQDÇ@o . -?ÿüsnnîùóçÉd2ѱÐSýôÓOS¦L™?~EEѱÐ+@‚ hÕ7N:åëë«««Kt,ô`†>}º©©iùòåDÇ@¯ . eùùù...Ë—/Ÿ7oѱÐ㩪ª^»v-00èX~àZ /^¬¦¦vèÐ!¢c@JL˜0aíÚµ«V­JMM/÷óó+..&**¤$¸€ìÝ»÷Ù³gÁÁÁ222DÇ€ôØ·oŸ©©éÂ… ¹\.B¨¼¼|æÌ™®®®÷ïß':4¤ $¸€æbccwîÜyàÀ ¢c@ªP©Ô   ´´´;výý·ìíÛ¬ˆ™ª*¸é º2Y8thÃĉu3gÖ((>@W6z£'Ož\¸pá÷ß×ÑÑ!:ÀGL&s×®]øæ_ÉîÝ«œ“Cµ¶æ¬^]aiÙ «ËSPà2….¨«#’““éOŸÊx{+ýþ»²‹K¥‹K“Ù-:t!Á ×)--õððpttœ>}:ѱšÓ××ÏΦþò‹Ê³g2Ó¦Õèêòˆ €ædeÞôéµuu¤à`ùãÇCBä¶m+8±Žèèà!3z@°~ýz™;v  QQLGG²2òÅ‹ù‡Av º?YY‹Kå£G9¶¶œU«4T"|¤8ôàлøûûGGG_¾|YVV–èXÍ]¾,ÿË/*S¦Ôíß_L§#Ð**üýû‹‡çlݪš•E;x°ˆÁ ì; =¸ô"IIIÞÞÞîîîæææDÇhîömÖ¶mª+WV:TÙ-è¡kÎûÍ\¿^]@ÜSgàÐ[p8œuëÖYZZ.[¶ŒèXÍ%&Ò·lQ[º´ÒÍ­\l_zžaÃ|} ÂÃe¼½•ˆŠ\z OOÏŠŠŠÃ‡“àlº™ÊJ²‹‹æˆõeDÇ€XY5ìÞ]âë«øà1Ãáàw€^!44ôúõëû÷ïWSS#:@sÞÞŠ$:t¨þüRÃѱfÖ¬š={T8nIÀ•€ô+((ضmÛ÷ß?nÜ8¢c4÷îíÒ%ù ÊX¬n4O>_oƲš’ŸŸb×7 .RŽÏç¯Y³FUUÕÃÃèX-8xPiÐ îŒ5DÒóZYYuv[\.÷ñãÇ[·n2eŠ™™Ù€lmmW¯^×ÙM÷\ÊÊü•++üüØ]¿$¸H¹cÇŽá“'0 ¢c4WXHùûoÙ~¨„˺¹sçι¸¸\¾|ùÝ»w§©©©¸¸844tÁ‚çÎ#:ºîËÉ©šDþù§\· .ÒãíÛ·áááâ%qqq'NœØ²eË€ˆŠ t†üüü\1¡²²2ñ’††¢cíòè‘,“)?žø•ŸÀg‘H¤¹sçÞ¾};11188X[[!$ ÷íÛWXXHttÝ”¬¬`„º®Ô z@z|øðìÙ³gÏž9s¦ÅC8ÎÒ¥KcccE%UUU±±±±±±×¯_ d±XTRR*//çñxñññvvv\.÷Õ«Wxýèèè±cÇ"„ž?Ž—Œ5ªÅ¶233E¯ ¾î½J3 &„PI ÅÄ„ÛeB.RâñãÇ¢.=>ŸßÔÔÄápN:URRBl` 3ÈÊÊŽ;–Bi¡“‚B¡À|p=HCIFÆ'´ìÖ­[!2™|ñâÅ”””¨¨¨‹/:;;«ªª¶vÈðìVFFÆ××7!!áìÙ³ø „„„]»v!„0 9r$^?::!ôúõkѰu¼¤©©I4=‚ݧ ñùücÇŽá¯õôôlmm%󞥑ŒŒ!TW×¥9'$¸H‰¿þú«Ù=k@3eÊ”fƒ5t˜>}:ŸÏoVH¡P&Nœ(##CHHà …ÆµG. ³³³óóó•””† ¶uëÖ_ýµÅú<ïúõëøë… Ž?^VVÖÎÎN´>ù­[·êëë‘XΊ§³øÿ›šš"„Þ¾}[UUõúõk|ô›ÍÆËÅñùü7&$$ „˜L&¬Ù6ü.ìÚ¿ãà¿Ò€Ëå>{öìÓt‡ÇãUWW/[¶ÌÇLJÀ@ç3f “ÉlVÈçó§OŸNH<HþØ–@ Ø´iÓøñãMMM§L™²k×®¼¼¼ëçççãù+BÈÌÌLT.zÍãñ²³³‘بƒÄÄÄúúz|4¬Y³tttð®Ñø„‘#G6K^¹\îªU«nÞ¼‰b2™üñǧ0 $¸HƒèèèÆÆ–ŸSÁ0¬ÿþ]èl4mÊ”)TêžÛ‘‘im¼ =Ά öíÛ7jÔ(eee„ŸÏ÷î]``à¼yó*++?­/ë$¿£%ü¤óPMMÍÈÈ?gDDÞkcc3bÄ„Ptt´(Ám6>¡®®ÎÙÙùÑ£G!99¹€€œÐ=A‚ €4o–è „H$†a .üóÏ? tªiÓ¦‰?gF¡P¦Núé7€ŠD"Í™3çÌ™3/^¼xóæÍÅ‹ñL·¨¨(&&æÓú:::¢Û‰‰‰¢òäädü•JÕÕÕÅ_‹2ד'Or¹\%%%###|ž„'Ož¼~ýß+þcEEÅÂ… _¼xRQQ 6l˜Dß1Hpaaaͨ§R©ªªªAAA;v쀌GZÙÚÚ*))‰6›šš`|&ÎÎÎ>>> ¥¥¥4MVößÅDs~‰£R©³fÍÂ_…‡‡×××?{öÌßß/œ6mšh„º(sMJJBY[[c†'¸YYY\.!d`` ¡¡W+((˜7o^YGGçòåË&&&ð¦dÀ4aôxiiiEEE¢M ÄBá¸qãöîÝ+//O`` ³‘H¤iÓ¦ãÞ())YYY“ñé#ÚÚÚööö-âáᑚšWçêê*¾ËÜÜ|ûöí¢ÍáÇÓh4<‘Eá©­ººz¿~ý²²²ðBñîÛ«W¯fddà¯óòòšÍU²dÉ’mÛ¶uü-‚Î=¸ôxááá¢é¢(ŠŒŒŒ··÷±cÇ »í D£¨TêÌ™3Éd2Ñ 1çÏŸß´i“µµµ¦¦&™Lf2™ýû÷_¶lÙµk×X,V‹‡0™Ì .ìÙ³ÇÚÚZAAL&ËËË[YYyzz^¾|YNNNT“Á`ˆ0-â ¾šC‹„ûtäu/TTTT[[Kt|¡Ù³g'$$…B ÃFŒñÛo¿©««è"B¡ÐÞÞ¾  !tãÆ ñ'ÇA`hhàãSäà¿A@šµç{.ÙÅ2 €ž­²²òÍ›7!æééÙm¯‚aØÌ™3BZZZÝÆàJLc#ÇHJ¢çåQ««IÑÞáÇ'@^~°…ÅÙèh£èèÿìe±„ÊÊM&&\kkŽŠJóYr ׋ÕÖ.A脌ÌâŸ~‚¿m¾J·½^ ®¼yC?wNáÁY‡¤©Ù¤«Ëc³c?@W(-}dhèah¸ ÃZ¸œ‹ŠÈoÞÐýýÙfiÙàäT=uj-™Lä—®‰c±LääijÎ":¯^/€/ îW).¦8 të–ÜÀ›6•W¯¡ÑÂÄ%tžŒ g}}}„ÊÚ¨Ãá`ÏŸËܸÁòðP=uнcG©µ5§Ë"ë¥óDD¸¥ˆPÑç«‚Ïé&× àk@‚û傃å÷ïWVVæ?^8qbÑá€^J__ÿ³u˜LáØ±ucÇÖeeQ÷îUY¸PkÚ´Ú={Jddºnd\/ V/“ îp½¾|¸ººz³“”——GGGçççóù|mmmccãþýûã»|||DççóùxW.Bhܸq¦¦¦›6m_Ÿ™F£9::îÙ³!Äãñ²³³[&ÑË¿á’%Á륓´8Ôµ¦†÷ôiQnnN4HaذæÝ¨|¾ðùó’ÔÔê¦&žkôhu:ýã —ì캛7sííÕ-,_¼(}ó¦‚N'ÙÛ«÷ëÇjv’‚ÎãÇ…55<##¹Ñ£5ÒҪà´ å> ¬ý§m#¶NÂã ""Šsrê„B¡®®¬­­ƒAF¥§×Ü»—?b„J³° €sõj¶……¢½½z‡ÞWLLéÛ·UÒ×g¥N¡À³  n»¤§S¿ù¦ÛMuôóÏ?ß½{!4yòdSSÓC‡ …B„ÐË—/]\\ð_ÙE‹ýòË/x}ww÷›7o"„ÆïëëÛì #GŽôòòjjjÂ+ÛØØœ9s†J¥"„8 ê¯ÂéèèìÞ½ÛÎήýçA={ÖÇǧººZt æNºk×.‹…Ú³gÏ™3gB¶¶¶çÎU›4iÒû÷ïB[¶lYºti{NÕöG$//ßìóäêë3¢£™11!zRRá©S!¶ŸŸò¯¿"„ø**Õ·nµñŸƒöö-ëáCŒË¥dgˆ‡#„22å6ô”Ÿÿþý¹¡Œ Ú!_››vÏëE‚NŸ>]TT$ÚôóóC±ÙlWWר¨¨?þø£Y}‰´`Á‚;vˆȶ}M‰2ZôßWCCÃÔÔT<»ÅQ(ÿþK.''×Zؽü.Y¼^:ɧC]CCó7o~USÃÕ±´T:~ÜZMo&$”ÿüsl^Þ¿¯¦&óäI›AƒØ¡ììZŸ&“ìë›úèQ^LÆöíâèØWtÈ•+Ùžž¯¹\¨‰©Su||Rú÷—ÇÜfµó´mÇÖ¢£Gß Û\9QF†üÃF­íMH(_±âEIÉ¿ÿ}UTèGŽ ·¶VÑÐ`úû§ýýwáõë߈øÞßÿÝ¥Köí_¯_W¬[›“óïæ::²gÎØêé5σAGA‚Û.••deeþçë$..þš:uª®®.‰D¢‹=׌µï!ö—/_>þ|Þ¼yEEE=BEGG_¸pÁÙÙ¹¸¸kH&“§M›¦¡¡QXXøîÝ»ää䤤$<ÁmÏyB'Ožüý÷ßBd2yòäÉaaa999·oß.))9þ<†a ,ÀÜèèè>hii!„ðì–N§;::¶óTíüˆþE&9ÒgútrI‰lx¸BPPƒ™™Ò¡C¢]Mjjm|†ôÔTE±¼‘HÕNN53g¶çóï””ø¡Š ôˆtóëåë-[¶,---$$ßtqqÁ{pB¶¶¶¢o—ËÍÍÍ}ôèQcccPP¦¦æŠ+BŸ½¦ÜÜÜZ|ÈÌÔÔ´ÅxîÝ»‡¿Ð×××ÖÖn5îÞý —, ^/]#%¥j͚ئ&¡™™¢••Rm-ÿÑ£¯^•¯Zõâʕцòó룪«yææJææŠ4))©2:ºÄÅåyXØëc¶^[ÛôÝw}ÔÕ™ÉɕϞÿòËë 4å䨡7o*¶oÅç ‡ S<˜]QÁ}ðàÉ©Ÿ ¯íÓ¶3¶fŽ{Ë緕᪨ÐÛHp÷ïO.)i01Q°±Q¥P°¬¬ÚÈÈâ´´jkk‹2k–îùó‰‰ffŠxýÆF~HHöÀ VVÊí|_99uK–DÖÖ6ikËØÚª)(Pß¿¯‰ˆ(úð¡ܯ n»p¹•Úæ_‚„*--=þüˆ#>ÝE"µkªã’’’ëׯ›™™!„œ#""B±±±ÎÎι¹¹ø“4C‡=xð èÌÌL‡Óþó”——=z¯¶{÷î9sæ „V®\9nܸÊÊÊèèè°°°‰'êëëÛØØDGG ‚7nà?í×®]Ãtpp`³Ùí¶; Ñ„¡ÆF Üëæ×Ë×[ºti\\œ(ÁuuuUTüø#7räÈ‘#GŠW¾xñâöíÛBW®\ÁÜÏ^SnnnwîÜ%¸nnnmsöìÙØØX„†a›6mjûoÚÞü —, ^/]Ãßÿ]S“ÐÙÙpË3ü;²q£©£ããW¯Ê££KFŒP=u*­ºšçåe¾pá¿·Ξ}¿{÷›[·rœôðOpÿþ8ã¼7mz’¬BèÌ™t>_øóÏ&?ýôq”­›Û€ï¾ûû³áµ}ÚvÆÖÌêÕ>ÛƒÛÆÞòòF==ÖÍ›cH$LTR^þñ®ËâÅ.deîßÿñÚ¿{7¿²’»e‹Yûß—¯o*žþîß?„Jýøc—WG&à ®48pàgS·¶ 4ÏJBýúõÃÓÂÂB„•Jåñx111³fÍ266ÖÕÕ8pà°aßüªµqžèèhÑ ÙììlÑ]W‹UYY‰zòä ž•.\¸0::!týúõU«Vq¹\|˜¾«C§ú‚ˆ3|xÙºuÊ¿ý†54PòóBuãÇWºº~ö@î€å>þ›.õªêæÍ!zJŠ|HHÕ÷ß·§i *++ãããsrrêëëù|~NN^ž““Ããñ¨Tj‡®©¶={}‹Ú°aÃØ±c?{|Ã{§øø22sw(ú HQ‘¶b…ñÖ­¯âãËFŒPŠ*!“±òrîñã©B!>˜ ÕÕ5!„+ú˜D::ö¥k¡o¾Ñ É.*úØÙñêU“IY¹òßQ+::²sçêúù½k;¼¶OÛÎØš%Ù_fÒ$­€€ô+W²ÇŽÕÀGq()Ñ•”>ÞŸÑÓcÙÛ«ß¹“·iÓ 6›† ÊTV¦OªÓþ÷]J"a;wZˆ²[„ŽŽìׄ D Á•mÝ”Ãç·z×XCCCôZ4^ïdb³Ùûöíûå—_êêêð½rrr¿þúë„ ÚyžŠŠ Ñ.|p3ÅÅg•š0a‚ªªjIIIvvv\\\qqqUUBÈÄÄÄ¢C§içG„«^¼XÑ×—TSƒoVþðêàrÕ³g+ïþ?öî;®‰û}ø“$„=ÂÞCDTµnÄ[ĽkµÖVkkÕ~µ¿ÚZ«µRm´Vq€GA©ZY‚™²÷ 6I~œMÓ!ÏûŹ»Ï}î¹pOòäò¹Ë×Ä…;Šññ€oÿÆÏ?ÿ|üøq±ÁµBuuuêêêo•S;vLøUƧŸ~ºAŠ"•€GøTSÓ¢««D\#%db¢ ÕÕ-PYÙÌã ŽKn»®è°]}}ºè"â$hkë›3¥ÕÕÍzzJÊ'i*6ÉÝJ›˜nŽÁݶÍÎÄDù?ò¾þú%ƒAuvÖðò2ñôü÷­dåJˇK‚‚r×®µJLä$$T~øá …ÿœ|•¼_N³®®’²2Vbï>­ò í­Ý…#Dßh‹ŠŠ¤é¡íWœsæÌ™6mZLLLZZZ^^ÞóçÏÓÓÓkkk?ýôÓØØXÑu%ô#ü>øàÑËb¦¦¦Ä*•ºhÑ¢'N@PP°Z%Nß¾UWíÖ)í={„ïý »kWþð•ßòSõ?»Oêøs’3qqq?CZ]]]étzNNqq'þy¿•>§Ú%öïßÿûï¿™Lþꫯ¼½½¥ðHU•VTÔÐØÈ­q‰k›ÔÔh ªJmnæ¯_ßNÁG\& 55…ââFO Zãæç×IXE]‹­›cpÉdÒ‚¦ ˜òù‚ìlîƒ%Ÿ|”ÄùôÓ7CáÇŽeYZª\º”¹fÕï¿gR©¤%KÚ?—Üuu…‚‚úººV¬qß|Nå“î?‹dffÒÓÓ_¼xÑ…®êêê^¼x1zôè±cÇŽ;8Έ#€Ëå–””×ujäÈ‘Äײ`bb²`Áá"e)r+Mooï“'Oòx¼Û·o755“Éœ={vºz[ª—.©„„OG§ÅÐP)>ž–•¥óùç%ÿœ*k‹þôiÓ!|‘Û2¨“¹\âqÓ!]õ/Â{{Q©Ô«W¯uªè([‚49%üØÖÚÚÚÚÚ*ú)®µµõÓO?½yó&Ðh´£GzxxH$áÓðáZ!!yG¾ÚµëÍ(2§ùôé4bŒ­{åJ¶©©²——±èŠ))ÕÄQÒpvÖ¸y3ÿÔ©4á(…ÂÂúk×rº|×bëæÜŠÇcQ($2™da¡bfƼp!3((GXà’H°b…åÿþëVþ­[ù3f ïG!¥Q£t®\ÉÞ¿?á›o† o FŒÁ;õ‹º \ùäââBŒ[ŒŒÜ¸q£¾¾þ­[·´µµÛ~wß©ÚÚÚU«Véêê:99(**>yò„X¤®®®££#e?ZZZ[¶l9zô(|ñÅ¡¡¡¶¶¶õõõ………ñññ•••º\__üøñ÷ï߯¯sS///áíëߪ«·¢Èfký5‰Trøp‹¥¥ÑÌ™‡Úxî\õªUí®¥qò¤Rllƒ‹K«©)ŸÁPHNfDD‹Z k/îB$¨?²ýç†Y­­­k×®2dHJJÊ«W¯ÄšI“SfffÄ>ŸÿÁØÛÛ“H¤5kÖ0™Ì½{÷Õ- ><--Mô¦¼3fÌððkíZëÛ·óϞ͈‰©6LƒËm½w¯¸²²ÉÉIÃÍM6m² +ܾ=Æß?ÃÑQCE…VVÖ”–VÃfWùù64”ê×CV­²º}»à‡^ED”ªQUÕ|çNÁ?w«íú…§]‹­›cp7o~®¡¡0l˜–±±rK ?2²,?¿nÐ 5Ñ6óæ™>œôÅq¼•+ßúÄÊÆ6·nå_¿žU1j”¶ššBf&÷Ñ£â³gGcÛ}XàÊ'ooïððpâ]óÞ½{ e÷îÝ Â¯J¥Çd2'L˜q÷î]ÑùZZZGŽ´•ÆæÍ›•••‰›×>|øðáÇÄ| …2f̱;á/]ºôþýûÂIŸ.w%%2‡£·e ©¹876Œ¥ß¯¿aZ6995:9µ]±ÞÝýÍ[þ?ïú$Rýøñe_}ÅgâÝ^ ggçõë×ÿúë¯ """""ÂÑÑqÏž=b·A&§ 4iÒ¤{÷îÀýû÷‰\X´h“ÉÌÉù÷|Xdd$qE¦]G.áÙàÁj?þèºkW\BBeBB%1“¸.1ØÄÈHùÂ÷íÛc9‰‰áŠvvjRV·à許¿ãW_½ŒŠ*Š*'' ô}Å`t½Þè‘ØÞÖĉzááE¡¡¢a|ó³h:²p¡©Ÿ_†³³æÐ¡mú脉‰²ŸßèO>‰Éϯ»v­îŸ­0 ÞÕN (XàöcÓ§O'Þɬ¬¬ÄQ©ÔóçÏ?{ö,55•L&O˜0ÁØØøÎ;ÄàTáâÛíaìØ±ÊÊÊðÏ8&“yæÌ™ššš¸¸¸‚‚‡Ãd2---]\\„÷û”¦ªU«¼½½£££322´´´ôôôœœœÔÔþó±˜Xý“O>!~0BUUÕ¶ÍÍä¥éJÂSÔ–â«Wµóç_A¡zýzbfý„ ¥‡Ñòò@!=½Ý·Ά Õk×*ÅÆRsr¨åå­ÕÀ qذV‘Kîœ100–­¢·>øì³ÏæÍ›Íår­­­ÇWXX(ÖRšœ€_~ùåÙ³gÉÉÉÂï1ˆ_0™?¾››[Gµý!<‹.ú+àáa0z´Î£G%ùùõ d -ÑUVûóÏIqq‰‰œ†žžÝÖVÕÎîÍ+ª©)sëV;gçÿ¬BÌ:ôß_[X²Ä|üxÖƒÅ\n+ñKf_~"—[‰&e·’c{ŽYVÖS‘—WÇ`PÍÍ™£Féo&do¯mOßJ¹_ÇkÝ»7õÙ³²ÔÔj …laÁtw×»Ju I yˆÊÀPRRÂýgxPÌã V¬°³êöùóò§OKŸ?/ON®Þ°Á«Û> \„Bõ õ¿ÿ.ÎÉù÷Ö`ó盾ÿ¾ø³þîùóò'RÀÀ€±aC‡÷C2„.B!„zÆÖ­v󿙯ÆVÕ«¨(¸ºjY[«v¾Z3r¤öÖ­ƒX,º§§¡ô·QC½ \„Bõ##†èïÓÊ¥‘#µE/àC}¹ó&!„BõXà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+XàÊRff­Ïã  Y"®Ï&F,N±É„„JŸÇaa…=¸ $C}öÑgƒù2 $&ø\ô K “Ð&³"Óç¢O;¨×¶ØkÁô‚‹q}.úø\ôilm[Äiàüüôç7n8q¬Œ[ÖvõØüØÿÝùßê+«?¸þ´}K}»[y]ñúðÃÃ7n Þr6ê,·‰Ûó{"§ð‡d©®®5*ªÜÍMGֈ볉‹Sl²ºº%*ª|ÊýÜ’¡>û¿è³‰Á|Pª«£ò¢¦ØL‘Ц®¹.*/ÊÍÔ­×¶ØkÁ¼k¹œÜoïÛÄk|_l‘÷ïÞ¥ÜRbò~Æý ±.ù\²Ñ±¶ùññÇŸNÞM»{!öBÀ²“%Ú•´ÿw¾kå·“a©a'ŸŒþ(ú]í•|ÁW–,,T.^khH—u âúl`’½‹°ûéS!—úìÿ¢Ï&æ êS,´,.ú\4T3”u RÙ¶wî †–†Ô²T±E;nî(å–7¾Úe5…D¹ôâÒã¬ÇÛnl»µæ™D€'ÙOŽ?9N£ÐVŽXéjìÊmâ^}y52'rç­ç½Ï û¹•|ëÀ½2eáÐ…¬&(Rcòb.Ç_îÕýìϰÀ•%eejßü­¿>˜dï"ì~úTÈ¥>û¿è³I†ù‚úeå‘&#e…T‚ƒ£ò¢n¬¾ñÉÍOÄ%&ÄÄ™¨›œ÷>¯DU€‰Öç›—T’ô$ûÉXó±p}>ŸðùÊ+‰µfØÍXpaÁ“ì'É%Év,;hå·¸wzœ;d.Ñl¼Åø nzk/û=,pe)3³vÏžøùóMæÏ7ÎŒŠ*¿u+?/¯NAìà áím®­­(ºVV7(('-­¶µ•onÎ\°ÀÔÎNX”PùÝwI+VXº¹iÿö[æË—UŠŠä ôæÏ7%‘þ³é?ÿ,¸s§°¶¶ÅÚZeåJËŒŒÚ“'Ó¶m³suÕn˜ôÝJˆ­´û|@iião¿½NN®f0¨“'ëÏžm,v}=ïæÍ¼øøÊ¢¢&“ê쬵`‰šš‚„>;ý¡wó¥ga¾ ¥ÜÒßbK.If(0&[Ož=x6Iì@ü¯¨¼¨[¯nåqò( úÞNÞÚÊÿùÐ’S•œœRšÂð-´,]h©eÙnWuÍuûîî+á–|2î''H)M¹Î¾žW'L5LgÛ϶gÙ3+2÷„í™?tþ|‡ù°æêšÆñ±­pxÖaUâqVeV;(­,­•ßj®i¾ÀaQ¾SU UßÜûfÓ¨MÖÚÖm—>É~‹Õ-PH”eÖí Ýõ(óQàæqò`¢ÕDáZ2e¼ÅxvûaæCbe>*ã–98 «[‚Š¢Ê;Û3yƒ®,µ¯öÍ7l?¿ áä½{Åþþ¯Ïœ5l˜&1çÒ¥¬ýûx<1ùèQÉï¿g8à¼`)ü3ŠnØ0­ƒÙùùoF¬ß¹S˜˜ÈÙ·ÏQØígŸÅ ¯yô¨$((wɳ¨¨òÊÊæv“²[ɱµkùòaûv©«+üü³´ŸéÛÿW\Ü0g΃ÒÒ7/”¡¡ýUäëëJ¼Âs8ÍãÇß©«k¶ +<{6ýêÕqFFÊíöÙéÿ½#˜/˜/èm×Ï97G844%ô¯ô¿|½|;ªq¿¹÷_´Ÿpò^Æ=ÿhÿ3 Ï 3FÌù=î÷ÿ ÿ?ž€GLÞϸïíuùUG}G±® ª 6nȯÎÿqöDu{}ý³??þ=†ÏF=2눗½´ƒÝÐÒ Ö'•L%¾å€K/.í¿»_É£ÌG¿Çý~ÀãÀ‚¡ :z6–,çñy-uºúÏó~–ÐÜ; ¥¬µiÔ¦v—fTd€£Áž bòuÅkbR‰¦õÆêÆÂ6åuåÂÕàEÁ ˜f;-»*Û?Ú?§*‡ÅdM±™2Ùz²äð¸}ÈÝ»…~~T*iåJKWWÚÚ–ÀÀœÈȲ-[ž?x0UQ‘W¹o_ƒAññ±ptÔPP '&rüý3öîwsÓ&Þ`à×_Ó¬­U¿ùf‹¥””ÄùùçÔ‹37l°60`ÀŸåÐéÔµk­†U¯ªj¾p!óÌ™ôNÓܭ”±‰‰Š*—ü†Ýý3=çÏ¿67WÙ¶m°ŽŽbRçÌ™ôÐЂÀÀœ… M ¥…O£‘×®µ†ÃÇÙÇQßQ¢Xœèã¿÷Î^7S7#5£vûŒÊ‹’\àŠ«nëiöÓI7./»L£ÐÚmPU_:ÊÿùܨËÔN‡˜t6p~šýôàýƒ?ÏûY“¡ ‘9‘Á‰Á¢mŠk‹ ©µÉËß«®¹Ž˜Äò²÷:<ó°äsðˆ€nrùr6<8|Μ7Ÿê¼¼ŒW¬ˆxö¬ìÞ½bOOC?¿t>_àç7FxòcÂ=''ÍÕ«ŸÜ¼Y°iÓ›+4Í̘ã‰7ñãY--üŸ~J‰¯"ÞY¯^Í€cÇ\&NÔ#ÚÏžm¼“-¼brÙ°eñ1ù1ão©eÉmâfWe;8ÅÆ o˜ÐÌk€S‘§ltl– [¦®¤_ïí’âfâ¶Ð±ƒn’’RM§S½¼þý΂Doo³gÏÊ’“9žž† U éÇ_€@Dž¶¶òàõë?{xŠž2DªªÞ¼¥¥Õ¨«+ l¤ IDATß­€F#ÏšeôãɒÓܭ”±‰!†0¾Sžž†Ä»5ÁÍMÇȈ‘šúæ%µ¬¬qÉ’ÇùùubkÕÖ¶´Û[§ÿ£žuóå]À|‘3žƒ<‰ê–@œÝl{á?!¥4…N£$ÉÛÉûYγä’dÏAžì"¶"Uqù°å¢kQÈ™!œ b¥–¥N³™vxÖaá8T· ÛonÿøÆÇ­&ÚéÚYhYIäN•–qËV^^ùÁèf ž%œ™P”@!Q~|ü# •× "#Úr5v•¼-É~zòS3¯ùÓ÷>•ІN¥€ðœ+˜TVxóÍŒSç¢ÏÅ]îŠ/ŒO,N[YƒgmÞ¬ª¨J´aÐÀb².ù\R¤*À« Ö:ÖÛB¶ÝL¾‰®4°ÀíCššøªªT±oˆ«7ššøP_ÏãñOŸ¶sËèÆF¾È*ÿù J£‘€Ï¶ä©«+ˆ­.¼FDÉÝJ›˜žSØ.UUñ]SWW(,|3´Ë×7%?¿nÔ(Ù³Y,%2‰DúüóØÚÚÖ6=Hñ?B½ó¥-Ì$FUIUlŽ:]½°¦ýŸóhjmRUTûú[MIXM¼&5%5±Ó“bˆj¬¼®¼…×"Vàΰ›1˜5øÖ«[×Ù×SËR›Z›fž¹}Üö¶A UÖW®¸¼bÕˆUÄ•gBõÍõ<ïiöÓ¶«´{i¡;cpëšë~}þ«SgÝÕu™ٰٕæÊ2‰|aÉ ™BÜæ,»*{ˆÞa³¬Ê,½šµ¶uàŠÀâÚ⢚"– Ë@ÕàÈÃ# ¼W®‘ºŒ1C<Ÿ„IV“àŸkÔP§°ÀíCtu•22jJJY¬_Øl°XtÐ×§77óOr£PÄÇßhjvþŽ+ÜJV—Ãi}ÛNJât3ø®ÅÖ c Åv­®®53³VW÷Í3œP©®®pþü2ùMØõõ¼²²&%¥ö_Á;ý¡^ƒùÒæ “Tœ$:Y×\—Y‘I mK—©›Q‘QÂ-ý¹v1X*,ÐWÕO.IÎãä‰^%f¦ÝÌ•ÃWî¼½Óç¢ÿb±Q­æšæºH‹ûá‡Wººô¬¬Z.·•Á /â™4I?:ºÂËë­­*deqétŠ¡!CôFH¢:ý¡^ƒùò.`¾È;]»ÏnöÃÃtUt³*³¸M\ÑÑ5XëG®¿ñêÆ“ì'cOŒµÐ²à6q‰Ö.t\H|u¾ÖeííäÛì"¶Ç¯FjFjt5¢OÑßß"¼gùÞ9ïs믭_taÑyïóÄ-cÏEŸ;yZ“¡i¬nÜÜÚœ^žÞÊoo1¾m$ - k®®I/K§Sé¿þ[tqÜu#×…§‡_zqéjÂU3M3E•2nYQmÏó[ä×¶CBwJC*™Úöw(”•ÀÅØ…2 jJj[Ý·~÷à»­µ­©djJYŠ@ ø`ôÄÉZ‚_´ß~°Ð² ‘i©e©­üV=½o=¿6 ({'ïýð?¸þ‘š‘C#³"³®¹Nƒ®¿õ ¥î~ÜG=HGG) `œ««vc#ïÕ«êÜÜ:%%êûïÛ~ýµÑ€Á Œ[ºÔ‚F£ddÔ¾xQ™Ÿ_§¢B[µÊÒÞ^]Ê­èéÑÏci©R_Ïc³«Š‹ëׯ·öô4âU×ôHlïÂܹ&[¶ ªªjf³«¸ÜV33æùóî&&o¾âY½Újñb3@œ\œ\m`ÀðóMœjjW§ÿ#Ôk0_ÞÌ93wÈÜ-c¶T5T±‹ØÜ&®™†Ùyïó&ê&í6Öaê, p5vmlm|Uò*—“«DUzÔû_{|M4`*2//½<Û~6 H¹œ\v»¡¥ÁËÞËN·ŸWa4â’Ï%¾€¿äâ’„¢ø|âç6:6•õ• … É¥ÉdÙËÞëû™ß·]7»*ûEÁ‹ÆÖƨ¼(±?âæ¸ #À'`é°¥4 -£<ãEÁ‹üê|E•U#VÙëÙ÷ØÓ×%ëG®ß1~‡²‚rzyzri²"EqÓ¨MÛÆnmóþ¨÷Õ”ÔÒÊÒ’J’‡­Çµåׄ?`A˜>hú‘YGt˜:ùÕùì"v]sÝ0ÃaKD e$Iòéú¢¤¤„Ë¿Ÿ(++K_ßOOImº ®®51‘chH»íeYYc~~½‚ÙÊJ¥Ý[E¶´ð_¿®mhàééÑY,%áx8§95µÆÔTYOïßñmÄL33¦è08xýº–Ëm55UVWWذáÙýûÅN34d´ ì­ºí(¶wA,N a×Ô´deÕ2T++Õ¶7äpšsr¸ªª ææLHLä45ñ†×jÛ§P§ÿ£þ¨§ŽsÌÌÌ—ÞïG §“Z–jªaª§¢WÓX“U™ÅP`XiY‰^CV×\—Xœh¨f(vãØ2nY~u¾UÁJËJô"'¡ú–ú×å¯)dŠ™¦™ðä¥è…-K¹¥Y•Y C8µ²¾2“ÇP`ª × ¦¾¥ž]Änw¿†ê½/D ¯åuÅ놖==– Kø3½ƒ]Ä®o©a4¢íPàÆÖÆ×¯ù|¾¥¶¥èn ñø¼ìªìúæzS S —Ùñø¼×¯¹Í\C5CѱÑýŽ4ǹ¥eû?‰×5XàÈ®À••  œQ£tˆûqòù‚ß~Ëüúë—*wïâO¤ h}ü [V0_P»0_’^ï¸8w +üüó8CCeMM…ÜÜ:§>þøÿ„7Býæ Bõ;XàD ˜¦§×äç×7l×ÖVüôSûéÓñ¦ëµó!„ú,p¢iÓ ¦N5(-m,*j`2©Ìw:ò¡~ ó!„ú,p( X,%±ë]BíÂ|A¡þo†B!„ä ¸!„BH®`‹B!„ä ¸!„BH®`‹B!„ä ¸!„BH®`‹B!„ä ¸²ô(ó‘ÕA+ÿh mØEl«ƒV¾¾½¶Å^ ¦|zëS«ƒVV­ê[êÅÅäǬ¼¼Òé¨ÓÐ#C—\\‘!Ö …×ò˳_<~õüýàá?߸1¹4¹í&Áµ„k /,t:êärÌeCà†è¼èwµ?æË»†ù‚DõæÜÍ\ëkÄžº~÷R °ÀErëiöÓ?’þ Óèm=Îz¼ôÒÒ'ÙO¸MÜú–úè¼èÕWW‡¦„ ð¼u×Öyx$£<£™×\ÝX}/ãÞüóóÅÞŒ[ù­°+t׋‚Ü&nUCÕýŒûË–½ó}C¨§a¾ Ébòc¬ZxzBÖt¨ïGˆzþ’z úŸgÈ: ©4µ6í½³wî¹É¥ÉÉ%ÿ9“ÔÂkÙ¶‡Çç­qY³iô& ‰r!îÂÑGG¿¼óåxËñ ®¿¼þ$û ‹ÉúÚãkW׺満ø€Ÿ"~ú"ô‹°ua2…è꧈ŸÂÓµZ_Lúâ=Ë÷©Š1y1§ŸŸ–Á£¾óó¥_ëG0Bmá\$Ÿ~zò·‰ûÅÄ/Ú.z’ý¤ ºÀÅØå‹I_hÐ5T•T7Þ<ÍvZUCUxZ8Ñæ^Æ=Ø?mÿ« Ê ÊºLÝÜ?šb3%«2+27’hSÝX}6ê,…Lñ[ìçe復¤¦DUr7wÿÍû·^ÛM„zæ BHÎàÜ>áiöÓ£&—$3“­'ï¿C“¡ÙQãÆÖÆÓ‘§o'ßÎãä)Pô6¸mk>VØ@ \O¼ø20¥4…ÇçYj[z;y/º€B¢´í-µ,uýµõͼæS N9ê;òø¼‹/.½ ʫΦ¦³íg/qZB|qÉ.bÏ=?w«ûÖ­î[ÀáˆCCKCÛ>﬿c©eIDø2ðêË«©¥©<Ï\ÓÜÛÉ{©óR‰Ôý'M‚Ô²Ô_ŸÿzdÖuºzÛ¥Äצ^ö^¢3½ì½î¤Þ‰Ê"æ—ו€®h;]»ð´ðç¹Ïǘ€¿_ÿÝØÚ8Õfª=ËþÝí j ó¥ga¾È+ G_À_wmÝã¬Ç§çŸž`5h_Q_1Ûov3¯ùÆêúªú¢ð‰§'Ž>: G%€„󻜎«¯ëlûÙ‡g&æ\g_ßy{§C+òÃHâ.á–Œ9>f‰ó’ÿ›öÂã ã=8Ä.f+R'XNØ=i·èa__T[ÄT`::otÛ8Üh8¼m„Ý$!ÔG`+{qqäñyÐØÚx5ájl~lðª`â»?1-¼–•—WÆæÇ“ͼæg9Ï"s#÷OÝïãì`Ûm·“o Wa±ÙEl#5#âmFÔ߯ÿþ(ä#C5Ã3 ΪÀᇇÏTUR•!êÌQ˜/¨#’(2‰üì¼Îyí¸µ#duˆ‘šÏÛ²­¬®Ìo‘Ÿ¾ª~7·®NWÌ‘!ˆr6";‚L"WÔW¤”¥Ÿ…g>ÑDc³¿ÿûûf^34´4'çWç, ––qË–\\"lLŒá~øúáï>¿»»¼UxÝLœŒ½;XàÊ^hJè|‡ùŒþ@—©›Xœ¸ïî¾Ô²ÔSÏN}<îã¶/Ä]ˆÍ5P5Ø7uŸ«±kmSíµ—×Ž?9~àÞ)ÖSt˜:ìÀÛÉ·ÕéêÛÇmÏò=uºzFyF@|Bëê|Ìùoîãnæî;ÇWYA™˜žN§ÑÏ<<Úl4•LÍ®ÌyÂPh§töv¶èäã¬Ç»CwŸ[|ŽøÀ’’b«c»sÂNG}GEªbbqâW}u%áÊ‚¡ œ {à¹kÏŸ‹éåéwÖß騷™ jJj¢3‰ÉÚÆZbrœÅ¸û÷÷ÝÝG!QFšŽä6qâþJÿ jšjˆ6•õ•_ø2˜“_ï푸"Pø”¢ž…ùÒ³0_äU§G”:]ýøœã‹_¼ùúæk+®ùFø>Ëy¶mì6ws÷¶½m½y¤ÉHïß½?÷ñæÑ›¥ ÀÝÜý䳓)¥)v,;@ð$ëÉlûÙ·^Ýzœù˜(p#²"È$ò(ÓQÂUn$ÝðqöY뺖¥ÂJ*NúøÆÇÑyÑÉ%Év,; ‘Hîæî+†¯Ì¬­¬]ÝX•µóöΓÏNº»t!Â.“É;Ý4’¸²çhàxÐó ñ×ÅØåäü“SNO K k÷ ûÏä?Àwޝ“0™[Ý·–rK/Ç_¾—qÏÛÉû:û:ó:&üXì ïà ï Ú ÏûßÝÿ]Œ»¸|øò=“ö/=U=˜l3™ø~ÖŽeG¼²t*2'ò‹Ð/Î.;‘aDzK.M®¨¯˜f3­ º ";bƒÛ@ð4穃¾ƒèg'ws÷¯¦}E<n4|ƒÛ†}w÷¥”¥i¥­¬½cüŽS‘§ö„í©¨«à Þœ‚M-{ë,èfâô`$èÝÁWöÜÍÜEÇØ«›kšgUfµÛ8§*G®N¼[ M´šx9þ2ñMâëŠ×jJjm¿]uüéqn÷ýQïï¿ClÑ7ožxrâXó±v,;gçÁ¬ÁîBl~ìŽ[;N/8-ú=fzY:ÏûóXÀ?ï‹…5…öÙ5ûîî³Õ±õqò‘ÐFEQª«Egç™T”TˆIŠÂEŸ‹'žž¸|»¸¶˜Åd­¹N[Y;81X8Ü“èg¸áð=“÷sF›þ~æ÷ /,|˜ùß°ßÌ—„ù"Ǥ<¢–8/y’ý$,5ŒÅd™u¤|7N§Ñg=^?r}DV…De:*­<íÄ“­¯+^WÖWz;y‹®âfâ&:i¬n uÍuÄd\AÜÒKK[x-bjlm쩘¥Ôw"A`Ûÿ »/@­&>Ê|ø2pÆ b'œìXváÃãòãbóc£s£}ûj04Žy³Õ±í¨·„„B>:1÷„Ø[;q¦ÝqNm_„º34ŠÓÀ!.ë¶þÎZlÑÐ#C õ³T ‰bªa ieià ‡ ¤”¦€©º©pFß1~‡hM³;t7 ÑBLškš€ØH< uvõ&ÌÌ—IÊ#ª¼®<® 8œÂšÂv/4ì…æjìú,çYckcDv„³¡3S‘énæ~ôÑÑè¼è¤â$½Ü©Š¢“Dò ¿.8ùìd ¯e«ûÖ9Cæ°˜,ЉDšzf*1úå­ts nF‚Þ,pe/";bÛØmÂÏÍyœ¼¬Ê,âM¥-S ÓøÂø„ÂGGáÌ¿_ÿM,K-Ëè¼è§ÙOG›îh‹z›FmZyy¥Ï%Ÿ3 ÏŒ0!º”B¢¸»‰Z¦œž²ëÏ]×W^o·«W%¯6o>æuL4‚¥–eRIÒÓ-O‰37½€8EÑ)c—S‘§B’BDO—b¸š¸v´VNUNHR…L™f3˜3Òd$ˆÝ4ôUÉ+ÐVÖ~ûð‘T0_z æ‹|“æˆâñyÛnl+¯+ß?uÿ¡¿mÞ²*¤£kþˆÑ&’ëB1îæî3>Ê|“óÁèÀAßA®þ8óñ«ÒWtý­—çqò´•µEOöçrr³+³…w!®é4Ô`+{ … »BwmµI—©›T’´ïî¾V~«‡­G»=í<ã ã? ùhßÔ}#ŒFp›¹//Ç_V (L²šóæEçEo»±mûøíã-Æ«)©½®xð"Àkˆ—«ñ¿ïFÖÚÖW—_]yyåªË«ŽÏ=þžå{Äü…Î2×ÕØÕHݨ…×ò4û)§ÓÑ×.ieiƒ6žy¸Ý{£,t\s;fÅåŽùÐÉÀIEQ¥”[šV–È\ê¼´£z¢;C£4èmo 3ËVrIòËí/…WÙ1c jýͽo6ÞD%S‹ýíNê ºÆ›)Âßz‘ã¢a†ÃhÚ“ì'_ÿõuckã²aË„×f ª?4&?æë¿¾&ÆÆÆï Û “­'wy/d˜/¢0_PG¤9¢Ž>>™ùɸO–[ª¥¬µ%xËŽ[;NÍ?Õî@b°lt^4§#å‰^âílæ5µ dÙÍÄí~ÆýšÂ1æc¨ä·(B T 2*2.Ä^˜3dÄæÇ¸w€8Qý¶vs n§‘ ¾ \Ùó°õN ^Y –Z–Gml·ñòaËÃRÂâ âÖ][':Ïä=:L˜ï0ÿáë‡a©aÄ÷ƒBžvžb]©]Yveõ•Õï½hÆ¡Ùö³ ©8éEÁ ±–‹·¤¢¾bÅååuåmi“¸¯ç¼!ó¢r£‚ØA7ˆwèØN‡½†F¡}íñõúÀõ~Ñ~~Ñ~ÄL‰´Ú~Ñ[MÅÆ— 6ýùÄÏEçð8à}Ñû\̹s1ç„3ôVŽXùw``Ã|ée˜/ýT§GÔýŒû§"O½gùÞ¦Q›ÀÃÖcË¿h¿S‘§Þõ~ÛÍ4ÌXLÖ³œg#޽ù£Ó»ÌZi[±˜¬´²45%5½7×n޵–ÿ½A˜4–8/y˜ùpøþýáû‰9ƒYƒmtlJ¹¥]ްk:õøKf²7ÜhøÙ…g •¨Jt…C, h÷¦ž@£Ð~[òÛV÷­Z4 MYAÙÍÔÍo‘qSO “È?ÍùéÀôNNt©Èt4püÖó[7S·¶½i+k_ZzÉÙÐyû­í¿ÇýA+‚– [f¥mE3Ühø·žßîž´»íº¥ÜRâîî!‘HßÍøÎwŽï³1jJj4 ÍXÝxŠÍ”_æý2Æüí^×zÜ8‹q}.Ž6­¬ L§Ñ]Œ]üù{úOMszÁéi¶Ó´Zt}ˆÞÿMùŸÿb%ª’h;–]ðÊà郦«ÓÕ©dª©†é¦Q›.ù\"îóÞÌ—Þ‡ùÒI>¢ò«ówÜÚa jpxæaáùÚÏ&~æbìBœÖmÛ!…L91ïÄ£oõÿ"n:6Êt”ð~îfîb¤4Ùzò³~¤;H‰ª¤ËÔ]â¼äÂ’ …nFØF‚úR»·€hJJJ¸\®„VV–¾¾%žž’Ú ÔßõÔqŽù‚Ì„¤'ÍqniiÙƒ[Ä3¸!„BH®à\„B½äÒäY~³:Z:ÙzòÉù'{3„Äà\„B!$Wð .B!„ÞŽ®Ý;ºGB=Ïà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+Xà"„B!¹‚nÿVÊ-õð}žû¼;é‘>¥Áð_¼8ùì¤o„oNUλÞB˜/IóõkXàöo%µ%¢/…5…¾¾ÑyÑÝéDlòÙ¾ßí'·…~x_€PïÀ|AHz˜/¨_÷c©°¶ºoi2’˜$^€¢ò¢d•4BSB9 '';–¬cAæ BÒÃ|AýþToÿ¦ËÔÝê¾UÖQtž©û\Œ]´ZûîîK.I–u8h@À|AHz˜/¨_ÃWöxÞ³ìg©e©­üVsMóñ㩊Àðý£ýë›ë׸®QVP¶¿špµ¸¶xáÐ…úªú¥ÜÒËñ—GšŒi22:/:ˆÏržñø<¢±ðå)«2ëeÑË¢š"¦"ÓÉÀiˆÞ^ßÑÿð°õm¨ŸÂ|AHz˜/hÀÂWÆ > ù(¿:_8G_Uÿ—y¿ ÑB&‘õUõ·þ±5µ,õøÜãÄÒ?ÿø"ô‹Ùö³õUõáŸñLÄ·HQyQ/ 2'22'’h¿Õ}k}Ký†À Â9„qãNÌ=A§Ñ»öO? @ ¡ƒÆX7r]×:G¨#˜/Ió dXàÊRAuÁê««kk õ¨ ‰Å‰‘9‘ëׇ¯g*2=yƈ;sîlÔÙµ®kSËR÷ÞÙk¥muÀã@ÛÞ\] ]ø2ÐÍÔÍÕØU8¿®©.2'rˆÞ;];me횦š¨Ü¨G™N<=±cüŽ®E~üéqá‡øvi+kã êY˜/Ió pXàÊÒéÈÓ55û§î_:l©p湘s_ÿõõW7|œ}à󉟳‹Ù‡²Ð´8pï H}2v1v!‘H/G™ŽÚS‘ymù5E•؂؊º …æ1È#ÿyþýŒû]~Ú2zK§Ÿ°»Ö3BÁ|AHz˜/h€ÃW–žæ<¥(•õ•'žžêZê€]Äg*™úÓœŸfùÍZ¸|çøZjY¾ÕVÈ$òÙ¨³a©abóËëÊ»ù‡îvy]„ºó!éa¾  \Yª¬¯ä xÇ"޵]TÛT+|¬ËÔu3u»|Ûé m IDATDÝdší´·ÝÊ/Ï~ K ÓdhŽ5«§¢§@U érüåf^s—#Ç1R¨÷a¾ $=Ì4Àa+KªJªÍ¼æõ#×·]d¥m%||}xõÉåäzph×Ä]oµ•¿_ÿ­DU ]ªÅÐ"æ‚ó1çI$R—#Ç1R¨÷a¾ $=Ì4Àa+K£MG_I¸bªaêeï%:?¥4EEQEøøË;_ÚèØ®ü(䣳Qg‡ Ÿj3µÝ)ŠÀiàˆÎ$‘HT •XDøåÙ/ÕÕêtõ.GŽc¤PïÃ|AHz˜/h€ÃW–6Þ–¶ýævÿhG}G%•2nYZy»ˆí·ÈÏPÍÛÄݼ™B¦ŸsœAcžyØËßë³ÛŸÙêØšj˜¶íÐXݘL"_{y­•ߪA×€­î[ œÙEìYþ³&[O€Øüؤâ¤î¼ú@OŒ‘º“z'µ,^½€¤øÂxðä)zv!!ÌÀ|ARÃ|Ì— \Y2R3º°äÂö›Û‹‹…óítí Õ `çí9U9?ÍùÉBËÔ”ÔNÌ;±è¢ÍÁ›W*Q•Ä:T§«Ïs˜ø2ðBìbÎV÷­[Ý·>Ëy–^žîíT2õÿ<þïÒ‹K¢7Gì}wÓî†$…'…mtlðµ óE8‰ù‚:…ù"œÄ|˜°À•±Á¬Á®ý3® .±8±¡¥AOEÏVÇ–øùìüêüAºƒ&YOš>hº°½=ËþÄÜ/‹^¦–¥:ê;ŠýV8|;ýÛÙƒg¿*yUßROÌQ§«ß\só~ÆýìÊlU%Õqã T ø~Mc Ñ@¬“¶}¾ Sm¦¶{’ÀJ _}P‡0_Ä`¾ 0_Ä`¾ ($âÖ!\II —Ë•ÐÀÊÊÒ×·ÄÓSR„ú»ž:Î1_Ð@€ù‚ô¤9Î--ßî.u’‘{°/„B!„d \„B!$W°ÀE!„Br \„B!$W°ÀE!„Br \„B!$W°ÀE!„Br \„B!$W°ÀE!„Br \„B!$W°ÀE!„Br \Ù O ßqkDz€e>}[/Ç_ö¹è“S•C,ͬÈô¹èÄ’m}_Ba‚ÏEŸøÂøÀùÒ#d~¸Ê<€ó¥GÈüp•yý¸2v%áʦë›þHü#2'2*/Š/àçqò¢ò¢ê[ê‰uÍuQyQÕ²³ï»|ûEá kmëÔ²TŸ‹>$þ!OÈj§úÌ—ž‚ù2`¾ôÌ—þˆ*ëºËñ—©dêÞÉ{-´,È$²"EÑÛÉ{œÅ8S SY‡ÖÏÜϸ?Òd¤²‚rmSmT^Ôó1ò€¬vª¯Á|é)˜/æKOÁ|é°À•±|N¾­ŽíÒaK…sŒÕÕeR”Y‘™]•½rÄÊÀùÒ#d~¸Ê<€ó¥GÈüp•yý¸2s!öBhJhMSMsU³ÏE±¥ßz~+áCvVeV;(­,­•ßj®i¾ÀaËŽX”P˜ð݃ïVŒXáfâö[ìo/‹^*R'XN˜ï0ŸD" {¨o©¿ùêf|A|QmSélè¼`è5%5±N†?{>¥4EMIm‰ó’F# ©$)àE@Au‘ºÑZ×µffRÆöîÜϸ­&þ‘øÇÙ¨³p-áÚ“¬'ÄÒKK/um„k 3ö[ìoÉ%É ÆdëɳÏ}2¥ @š''¥4å:ûz^už@ 0Õ0m?Ûže’û 0_zæ‹ÜÃ|éA˜/ý¸2“S••ÿŒ‚[*#ÕÖ¥—ößÝÏðˆÉG™~ûý€ÇC@ucuT^Ô0£aï̯Î'ÚÜI½“Xœ¸oê>b’ÓÀÿËøºæ:aŸa©ag£Î^]~ÕHÍH؉£ãÿ…ÿ_ ·„hs+ùÖ™gêšë¶…lnýÏä?ÃÖ…é0u¤‰­]Ë–óø< O”:]ýçy?Kh÷2îÙêØªþ‘ôGri2äWç w¿Ë{D¬å ïðUøW¥ÜR¢AhJè_éùzùоu@§OÎuöõÏþüL ÛŸ:{dÖ/{¯‚š‚Žú80_˜/˜/ÒÀ|!`¾ ä|ÁWf–_>Åfʺkë T ¾šö•pþåøË7_Ýìh­¸‚¸}w÷1>Î>ŽúŽ …ÄâDÿÿ½wöº™º/ðëó_­µ­¿™þ K…•TœôóÓŸ/¾¸¸Ámƒª´ðZhÚZ×µƒYƒµZ5M5ÏsžÄøFøšqH¸-ÿh{=ûíã·kÐ5e=º{á«ð¯*ê+fž9Ùz2™Dþ-ö·ç¹ÏÏFŸý|ÂçÒÇ&&*/Jò ¶²¶äg’ÓÀ‰+ˆÛè¶æØÏQQTù*ü«…Ž çØÏkù¶{D8sÞ\Ó|ÛØm:Ê:I%IgžŸ M ´\8t¡ôtú䟡W _1Úl4•Lͮʾ‘t£¦±¦Ó 0_˜/˜/ÒÀ|!`¾ ä|ÁWfL5LM5L©d*S9Òd¤pþ£ÌGÖò‹òã ø~‹ü†#æL°šàdè´úÊꛯnnµ‰˜i¦i¸"P‘ªã-Æ·ð[~Šø)¾0žxÒ`h„® ½›~÷aæÃŠºŠ^ (PbòbD·e©eyyée…Fl%µ45*/jÙ°eÂOê£LG:>*¾ þ­bsaÉÑ•mHð0ó!Ï›d= Õ ³€‘š‘è³Úµ="è0u®¯¼N§Ñ‰µFX°ìJüá 4túäPÉTm›/§|)\eÕˆUµMµîÔùBÀ|Á|‘æ óe ç ¸ýLBQ…Dùññ  €V^+¼®x-læaëA¼ú†è €ªú*b²Œ[¶äâ’¶_F‡»ÐTÛ©¢ÉoDz‹Ê‹ša7C8GUIÕ@Õ ¸¶ø­bãjì*ýî·ë^ú=meí¡zC;mù¶{DðäI¼úˆÄ©e©o@§Oη ÛonÿøÆÇ­&ÚéÚW=«(ªtºSHÌ—¶0_PG0_ÚÂ|é¿°Àígê›ëyÞÓì§m5¶4  ‡óhdð|bÒ÷‰o~uþ(ÓQ³íg³˜,ЉDúüÏÏÅ^€TUE'©djÛž©dj}sý[Å&¦›c¤Zù­²M4]lT~»ÞvÞ¬¥ôŸµˆ k ß*€NŸœv3³ßzuë:ûzjYjSkÓÌÁ3·ÛÞvëHz˜/b0_˜/b0_ú5,pû}Uýf^ó©ù§(dŠØ"M†¦”$&¨ÓÕÏ{Ÿ'“ÞüÒG}K}·L‰¦Ôû±usŒÔóÜçÜ&î$«IÂ9$ €ä¯¥ÞJRq’èd]s]fE¦.S÷­æÉ1×4ÿÐýCâqbqâò€åeÜ2âÅ·Çwj€À|ƒù‚$À|ƒùÒ¯aÛÏLµ™êá–¶}üváGÃÚ¦ÚàÄ`âŽ$ÒPSRˬÈL-M%î!RÕPµëÏ]­Ý|êZlÝ#u?ã¾"UqŒÙ¿w¨fÐËÉ}»è;žÄšï0Zv‡î®o©Ÿ1xÆ[Ðé“sèïCóæ[jY‹XLB^þÜã;5@`¾ˆÁ|A`¾ˆÁ|é×°ÀígÖ\ž~éÅ¥« WÍ4ÍTUʸeEµE<>Ïo‘Ÿ”L²šíuÎËVDz*³è4º¡š¡è]z-¶nŽ‘º—~o”é(Ñ1LæZætý:ûzbq¢º’:tû–~vºvŸÝþ쇇?èªèfUfq›¸ CxMƒ”tú䜋>w:ò´&CÓXݸ¹µ9½<½•ß:Þbü;Ú©óE æ ’óE æK¿F–uèí0hŒŸ€¥Ã–Ò(´ŒòŒ/ò«óUUVXe¯g/e'«]W/v\,Arirri²šß"? ºF_ˆí­¤•¥åWçO´š(:S‰ªôÅÄ/©ŠieiQyQmïù¶æ™»eÌ–ª†*v›ÛÄ5Ó0;ï}ÞDÝä­èôÉù|âç6:6•õ• … É¥ÉdÙËÞëû™ß¿£ 0_Da¾ É0_Da¾ôw$ùuÑ%%%\.WB++K_ßOOImº&&?†N£?(BÈãäÖ:è;ßÔ5×%'ªŠÝ篅×òºâuCKƒžŠK…%íÄiख¥šj˜ê©è 3Í4ÍXL–èÌœªU%UsMsH,Nljmn4¼£Nr9¹E5ECõ‡Š~š|Yô’Çç9:K[;ùìäᇇŸly"º_„ú–ú×å¯ZÁH“‘]Û£G™Ö\]³{ÒîÕ.«kk²*³ +-+áxéΗüäTÖWæqò C5Câ¦ÏžÒSÇ9æ `¾`¾ôz?ma¾tæKÏ’æ8·´´ìÁ-b ÓuÇ ›[›CV‡¼£þE_€d@/ëûoب;0_zæ‹|Ã|éY½_àâ\Ôí|o§Ck €ôd~¸Ê<„¤'óÃUæôwXà¢~ÌÅØe€€ôd~¸Ê<„¤'óÃUæôwXà"Ô¡qã2>Ïuõ˜/Ióå]û( „B!¹‚.B!„’+Xà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+øC2ÖÐÒpäá‘;iwŠk‹ÁËí/O<9q*òÔÍ57ítí€]Äž{~îV÷­[Ý·vs=ÛÛ;RP]p?ãþ½Œ{ÏsŸ·ðZüù³×n˨¼¨+ñWbócËëÊ)dŠ.S×PÍp‚å„郦ë2u{9lÔ 0_ÚÂ|AÁ|i óeàÀWÆ|#|ÏÅœ“u}Ëüßæ—וKnÓÌkÞº;81XtfVeVVeVDVDpbð«þx—1"ÙÀ|i óuó¥-Ì— \{ðúŠ¢JàŠ@sMs2‰ Ÿ¾÷é§ï}úŽ6ç ïÐ÷ÐPÕÐÃÖc’õ¤°”°+ WÚmó¿»ÿ N ¦ÓèëG®Ÿj3ÕDĤRniaMáýŒûyœ¼^ŽõÌ—¶0_PG0_ÚÂ|8°À•±2n™…–…¥–¥¬éC‚Vî¥ßk·ÁË¢—×®Ñiô«Ë¯_´L5LM5LG™Žê(‘,`¾´…ù‚:‚ùÒæËÀ®Ì|ý××Ä—G … V­Ä– ÇHµ%_^}y5µ4•'à™kš{;y/u^J"‘€Çç]|q1èeP^už@ 0Õ0m?{‰Ó:mÆH9qhhih»‰;ë﯉’·%+Aì Xí²º£§ÉÌ—.Ã|€0_º óEn`ÛÏ‚·v„$…礔¦ì»»/¹$ùÀôpøáá3ÏÏ—&'&'ÒÈ´å×K¹ ]¦®CKšmµËö-ϓп¶²v䇑RÓ®¸ü8˜b=¥; ó0_Ô0_óEŽ`+3{&ïÙ3yóQg M á—&ðýßߟŠ<ÕÑZ!I!!I!¶:¶;'ìtÔwT¤*&'~õ×WW®,ºÀÙÐ9<-œN£žyx´Ùh*™š]™ò*„¡Àh·7öv¶èäã¬Ç»CwŸ[|N®.Ͷzè™xkåõå`¤n$:Óç¢OT^”pòϵÚèØôvdèÁ|é2Ì—ó¥Ë0_ä¸ýL ;B¦ø/öÞ¦ÄÅØå謣¿zü•þ—³¡³žªL¶™L!QÀŽegÇ’ê{–ÈœÈ/B¿8»ð¬…–…”Ûj·ŸÔ©ÝÜG„z æ BÒÃ|Aò Ü~&½,Ççýy,ˆPXS»'îÞ¼yâɉcÍÇÚ±ìœ œ³wÚml~ìŽ[;N/8-ú©´ÓmÉŠ6C»Œ[–ÏÉ× kg^Zz‰xð~Ðû¥ÿ%£ÐPß‚ù˜/Hj˜/€ù"G°Àígø>´;©…×v,»ðáqùq±ù±Ñ¹Ñ¾}5ǼŽÙêØvÔgBaÂG!˜{B쥪Ómµ«ÆH 3–\š|/㞃¾CwúAró0_Ô0_óEŽ`ÛÏXjY&•$=ÝòTEQ¥£6ÅÅØÅÅØZ¦œž²ëÏ]×W^o·ñ«’W›ƒ7ó:æhàØ…mÉÄ<‡yã.úEùyØz Ò$ëpPß…ù˜/Hj˜/€ù"G°Àíg:.Œ¹³âòŠÇ|èdढ¨RÊ-M+K d.u^:Úlô ç™ëjìj¤nÔÂkyšý”ÓÀilml··´²´AÏ<<Ühx¶ÕnŸ½0FÊQßq¾Ãü vТ ‹Ö\?Õvª‰º ™D®¨¯ˆÎ‹N)MÙÞhõ˜/€ù‚¤†ù˜/r Ü~fÞyQ¹QAì  Ä-v\ IÅI/ ^ˆ/rZܶ«ŠúŠ—W”ו/ X&¶ˆ¸Oa§ÛzG¶ßÜ.zï˜5W׎Ï=îaëA<þjÚW­üÖ¤cÇŽE]B¦luߊ÷6G€ù‚ù‚Þæ ñóE>`ÛÏH¤ïf|7Þrü•ø+‰Å‰õ-õz*zƒtÍ2oŒùZt%áJdnd>'ŸN£[hY,º`¾Ãü¶]•rK%ÿ$w§Û’!Eªâ‘YG ]ø206?¶¬®ŒL"¨¸›»¯¾ÂTÃT¶á¡>ó…€ù‚¤ùBÀ|‘$â¢Å®¤¤„ËåJh`eeéë[âé)© Bý]Oç˜/h À|AHzÒç––=yjœÜƒ}!„B!$sXà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+Xà"„B!¹‚.B!„’+Xà"„B!¹‚.’…5…¾¾ÑyÑ¢3ÙEl«ƒV¾¾²Š ¡¾ ó!éa¾ô;Xà"ùA¼EåE‰Îd©°¶ºoi2RVQ!Ô7a¾ $=Ì—~‡*ëz·t™º[Ý·Ê: „úÌ„¤‡ùÒ—QöíÛ'ëd¯®®®¹¹YB__ÍéÓ묭%µé²¢š¢›¯n>ÍyZÓXc¢n’Z–ð"@‹¡¥ÉЀœªœßbS¤*²˜¬ç¹Ïï¤ÝI+K¢7j›jÿJÿë~Æ}v1»•ßj¨f(ì3©$érüea'¢3µ•µÅzÖeê>É~––R–¢ÉÐTUR•&l ñ¼§ÙOÃÓãó¢+ë+ÔŒ¨dªØZnTÂÞµ»é†–† vЫ’W_ÿ<÷ùóÜç#MF–rKÏF#5#ÑuõTôžç>M M*IR£«©ÓÕßêÿ"—zê8Ç|i óEþ`¾`¾`¾HOšã\S³'wÏàÊØÕ„«ûîîkæ½ù—;:Ï´›éák£cc¥m9U9¾¾ …ÿ‘ö,{o'ï°Ô°]îªmªvålè|bî ]¦.$'‰vB fÚéÚYjý{÷ÖÔ¹øü B€°÷ž*"Kîm«X·ØÚªÕ{©£?kkï­öZµ·¶U¬ÖÖ *Žª¨U«âV@Q”-È”½W˜!Éïsï¹¹BÀ@Bø~Λ÷œ÷Mr¾É›ä=ç8Šnù‡?DçESuTUT¿œòåŠ+ºìygK(JøôÒ§µtMsó_æÿB½6IÙ¨ä{'¶é郧‡%†Bç=~œ÷˜Z+Ð/°´¾4(*ˆþ‰Z—­Æ>}èöËÛT5¦ s׬]óÝæKÿ¼€\ /bE^@,äEl£ÈË®<%'þýÆßù¾µ»¹{uSõô«v¬ÜØÚ8gè=3ŽYZYÚúKëÛmnænÞVÞÜVîíŒÛÏ Ÿ­»¸îìÛg †ô} ¶ìïêo¬mœR’ýÏÛÿlüúæ×ÓMã°8Ýz^ /!/È HyA^8 på)$6„/àê÷éßüþF•úú‡øw¬ÙÄkº¼ò²ƒ¡µ¸éʦ6AÛJŸ•_Nþ’ 俉›ç›ÿ¬ðÙãWGÛŽ–¾M¼¦K+/QŸ¹ !Á±Á;ïì<sDÊ vûúÆ×uÍuÛ§o_>|9]çèÓ£;n︜z9À+@šFò»4÷®]Ó„ƒ–6Úvôº1ë$w›Çç]ÿ:õ£!d˵-a‰a±ù±“&“î[ÿÃÑR7u«s‡Î¥_!ïy¿g¨i(ýFÚuìQÞ#&ƒYÕXuàÑŸþ¼?jÿþ¨ý%õ%„¤â$)•òÞµkº[æ›O¿úB&:N$„”Ö—R‹Ò?/З±"/ ò"¶QäeàÀ7¸òTÛ\kÆ1c2˜¢…VzVkÚéÛ‰.ÖµÔ™pL4T5D môl¨mv«ÖzÖ¢‹* K]ˤ’¤ÎêKîXUc_Èßµ¯cMÑ O’•òÞµkº[ÌuÌE5Õ4 !m‚6jQúçúò"¶QäÄB^Ä6м àÊ“®†nI} _ÈÝ× j :ÖdªüOtX:ÅuÅÍmÍ¢)}UóŠÚ&!„*ohm]«¨®¨ã–ókòE…Baam¡Kª]ÅtLC§•ߺf䚎5EçÎKn´Ë{'¶i’þy¾„¼ˆmy±±"/¦(È“—¥W¯é×è_é’¢º¢s‰çº\q„Õ¾ÿSÄOtIMSÍo£n"„XèZBîeÞ£+”rKÏ$œé¸©Ë©—³*³èŧ!••ÔFz`Œí˜&^“­¾m _ è¿éƒ¦{˜{HÙh—÷®3,&‹ªÜ³ÎÓzü¼@¯B^Ä6м€XÈ‹ØF‘—ßàÊÓ{>ï]M»úcÄQ9QîîÕÕ72nP)’lµïê«iWÄyZðt¸åpn ÷NæªÆ*O ÏQ6£!Ã̆™h›„§‡œ ð´ô¬h¨¸‘~CS]³ã¦Øjlÿÿƒgk§–¦>Ê}Ä`0Vû®îÙ=úhÌGáéá›®l ‰ ñ0÷àhpʹåIÅIÁ‹ƒés Jn´Ë{×k=k†Ê¹Äsm‚6}¶>!¤g§àîñó½ yA^@zÈ ò2Àa€+OæÛ§oÿæö71ù1Ô=-<'9Mú)â'jÖNg†šÝë¿÷‹k_$%$%P…Ô™ü¨‰óªŸú÷õ—ÖÓ[ö³÷›â4eû­íí6µÊgUdN䥔KÔ"uÊÀ_xÐJ×*tYè¦+›’K’“K’érÑ3iKn´Ë{×=¶Þ|·ùa‰a¡q¡TIÏ^€zü¼@¯B^Ä6м€XÈ‹ØF‘—\9[æµl‚ã„{™÷¸­\g#ç þqãDd–:õsŒ—¥W»gž9ÆvLDNDAMºªº›™›µh…YCf 3v?ë~#¯ÑÕÔu¬ÝØÔ²Ô@¿ÀvG†²TY¡ËB#s"ÓËÒ5Õ5':N=üS‚Î:6ÔtèµÕ×â ã“K’›xMf³Áƃ]L]ºÕ¨ä{×YÓ„]³vÍ:7µ4µ‘×H•´»V¸Øu©Bwswº¤ËçäyA^@zÈ ò21„B¡¼û ¥¥¥\.WB''Ç  ÒÙ³%Õé™ä’dWSWúƒcrIòâÐÅÚ,íèO¢{o’;%";bÕÙU[§l]é³²W’{£= ÇçEŽdµŸ#/ýºÑ@^a;!/Š y錣££„[» ßàÊÙ¾¨}Ù•ÙÞVÞš9U9÷2ïñ…ü#VÈ}//ç–Ÿ~~º³[ Þty³/ûÓÇöyàöyA^óyàöyA^óyQ2àÊ™›™Ûý¬ûyÕytÉ·ÔI§å«¢±"(*¨³[§:OUî …}^8…}^Å|^8…}^Å|^” ¸rè8ßm~\A\q]1GƒãkíëläÜ7MK˜iD1Ò4’0ƒ¾Ç—x‘ܨâãó /Š yQLÈ‹bB^úæà"×9¸ŠCñç(ä@z}?z¥‚.( p@©`€ J\P*à€RÁ” .ô OÙ•Ù_…µÀ}Á·=ÞHDvÄ¡èCëǯ÷µö•aß:J(JøîÞw+¼WÌ<³Wꨉ×t3ãf\A\Am†ªÆ0³a Ýšh›ˆÖ)®+¾ž~ýEÙ‹2n™>[ßÛÊû-··4Õ4û¸«Ð{)!/Š#£<ãnæÝǯ·¶µ~>és y÷h ÀWžZbòcFÙŽz”7”ÇäÇT5VɪW„ôòôí7·/öXî0ôäEÈ €âðñO)M„,d IDAT¡k›k娙\yr0t8pÒR×RÞi¯¾¥>&?f¬ýXyw„BšyÍjLµ%KÜ-ÜÍ9æå åçÎ=-xºé¯M‘Gªª¨B*+Í9泆Ìr6r6Ö6ήÌþýÉï…µ…[®m9½ü´¼ïÈò" ä@q”5”99Oqžò¢ìÅý¬ûòîÎÀ‚®žâé<õwDvÄù¤óK=—¶Ûì©g§¶ßÜÎòéj'âO|;óÛ…î ɦº™»}së›2nUçú‹ë·_Þòb0…u…iei„‚Ú‚‚Ú‚v¯l¬œwt]~#ýFrIò¶éÛ$ÜÍwN¿Ãð%TÐcëœPB…vž<}˜ûÐÞÀÞÑȱ³:õ-õyÕyîæîGú-ƒ"C^(È HƒÚu‡[ ß}w·„=PÂþ¯ÇÖ+®/>›p–à^q=&?†òyíçÔd¡è¼è'¯žÌuÛe:†q™ç2Ñ ñT‡Ý-Üé¬ 5JºŠ¹ØYõTaucµè–%¤¸³>Ë<ŒÐ—0ÀU 73nÇ«ª¨¾ëý®¯o}s}XRØã¼ÇŸ\üäÞ‡÷Xª¬k/®O:ÏVc¯òYåaáQÕXu<îøïO~ÝH|aü¶›Û4Õ5¼<Ì=Ô™êÉ%É!OCþ~ãï£lGYéZQÕŽ==fo`¿~Üzc-ã”Ò”ÃO_q=Ì!l‘û¢y®ó8,Î7·¾Yä±hžë¼vüýÉïÎFÎ;gí4嘦”¤|tð䳓kG­µÐ±èì~ÅäÇH~h÷•›XEuEŸ]ùLH„eܲ¼êÌ}¸Øc1!$*'Šâgç'¹tWû®v7w¯nª =üäpÇšGcÚØúÚèÙèhètsé )îl™„ä\òÇó?!»gï¦Åöwõ_ñÇŠè¼è;™wf™}.á!d¯ÿÞ)NS¨ s]ç¾q䜪z#Á1Á¡ xq0ý%Ö$§Iž–ž+Ϭ¼’zå£ÑQ…ÆÚÆÞ½@MÔ›ä4ÉÛÊûíÓoŸy~f‘û"K]Kês³•®UÇ)vva+¨—• xÞþ¨ýÏ‹žKxÃ]*z¼vGjLµ.œ&^õÍ!„¥Êò³÷“ðʲçÁžK)—¾šúUoŸ äy‘yŠä=°ËýßÏÎïô³ÓQ9Q‹=ÕåTå|0êƒÚæÚÈœÈps£ìôíº<ôólÂYBÈ>ÿ}“&S%s‡Î}3øÍ¬Ê¬v5M´Mè¬B~Œø‘HŒ¹ô…„w¶ŠLÂò‚®yQö‚­Æöwõ§K ÆRÏ¥ÑyÑi¥i³‡ÌN/O×cëÑïÖ„u¦úÜ¡s÷Eí£KŠ˜ æÞȽ„¡P($BBH¿"úR2{ÈlÑÃP¨ëéåé]vræà™¢š‡™ #„п‰%“wM ‹“'ù~ECŃì!±!·_Þ¾ºúj»3w …Âwv{zlˤ-ïy¿÷úí‚ÂB^$@^€"yìrÿm;š©Â¤†³‘9‘„qã2Ê3.$_EuEyÕy˽–wÙŒò =¶=º%„¨1Õæ C5ݮâYë2æÒ?=H1>òõkà*–¶–N»ù@ººÔM„æ¶f= ½vké±ÿ§¤±µ‘/ä?Ê}Ôqûͼfúo ŽÛ)ª+겓ThÔa+’L‘É4&¶›þzl®ë\m“ÃO_Lº¸|ø_[ùBþçW?ÿ3ùÏ­S¶®ôY)yƒÐß!/ /@‘¼v¹ÿëh踙¹EçE „‚ÈìH'#'SmS?{¿àØà¤â¤ÔÒTBˆŸ}óH'al×7й޹èb—1Kl‚zbÌÁí×0ÀU &Ú&™•™¥ÜRSmSº0©$‰bÊ1¥*äTæÔ4Õˆ¾IShæ:æ­üÖ_üÊTi?ßÎ@Ó€þ;¥$Eô¦†Ö†ìÊlúxOaB$ÿ4#½Þ˜Æä`à@)®/¦KšÛšÿ ¼›y÷Óþ±bÄŠôúäEzÈ ˆ%Íþ?ÎaÜó¨ç E _=~kØ[„__u¦úÃ܇©¥©L¦4×^FÑ+ HXQrÌ©akeC¥èZb¿—•œb±0·_ÃWŒ³÷²âåæ¿6ïõßKÇ'6?ö×Ç¿R7QÿgVdn¹¶eÏ›{´YÚ„ë/®_J¹$º‘郦E…§‡oš°‰þ|\ßR1ù"uÂÊ­—·Î'§N·ÔÄkÚz}k#¯ñ¡oP·R¿c¾ªy%“ûõšÓ˜þJû‹Ã⌷OˆO+M£GÃÎmá® [ó´àéöéÛE¿£%†¼ˆ…¼€ô¤ÙÿÇÚݵÿ—è_jšj¨di¨jx[{?È~Y‘éaî!Í™7üìü2+2·†oý×ÿ¢N´|+ãÖŤ‹]®ØeÌmôl!çÏÍuKõänæÝ3 g:nJrŠÅÂÜ~ \²fäšË©—æ>w`œƒ¡·…›_›/ y,d<ˆòþÈ÷/$]¸ýòö˜ŸÇ8:T5VÕ 5JýNDyäû·^Þ:õìÔÙ„³vv§œ[^\_Ìðƒÿ÷L+.&.Ÿ_ýüÇ?špLrªr¸-\M5Mú{C{¶ûBÒ…ä’dêw%Ñózv×kNcJ*N:s„­Æ¶Ö³f«²ËÊ©•¦'`ýñCl~¬6KûjÚÕ«iWEWß5{®>ª”±ž4û¿—¥—6Kûnæ]u¦ºµUègç÷¯ûÿ"ÒÍO º|áFúÈìHG#ÇêÆê‚Ú*Œ*  +vsWS×ä’äñÇ;:T4TÖz˜{$'´Û”ä‹õúsp>:Hh"·:—òݽïE"„´;q/ôI;ô1cmãÓËOûZû6·5§–¦¾ªy¥¡ªñáè©3]BLµM/;îläÜÈkL.I.ã–­ôYùÎðwD7¢©¦y:àôòáËÕ˜j™™Ï ŸÔpXœ÷¼ßs5s¥«½5ì­OÆ~RÝTTœÄmáÚéÛ[zŒú(LÑPÕørò—,UVFyFL~ }8¶\Ìu;kȬ6A[FyFBqBQ]‘–ºÖ2¯e'NÒOPÓŸ-\ª·¢ÿyrì<ôäE,ä¤'ÍþÏd0GZ$„x[{ÓiÑãÚ±vR]¡ÚŒcvtÉQGCÇF^cRqRI}Éš‘k¨O\’¯œ×eÌ Æwo|g«o[ßRŸP”PÑP±qüÆ%žK:nJrŠ{IVe•,êü»éåéÔb»÷Bo`ÈjÞX¿VZZÊår%Tprr *=[RhhmH.I¶Ôµ¤O·I)ç–Ô¨«ª;:‰=Ï_Ve·•k«g«ÇÖ+ç–gWe;9‹N$„ðø¼¬Ê¬&^“ÇÌ”cJJŽÈŽXuvuXI]s]NUަº¦“¡SÇ“]7ò³*²šÚš„BáH›‘5M5éåé¶ú¶f3ºUhg`':Aª7´ò[ókòk›ku5tí ìÚÑ3»2»¼¡\ìŠnæn펇ÎÈj?G^—@ÁóÒ­=°³ýŸRP[PX[hÆ1£¿Ý …±±B¡ÐÛÚ[Âù•; ãÚ°µw3ï>øèu–1±¦I޹P(|Yñ²©­ÉÁÀÃâ”qËrªr¢f5HŸb™ËªÌªh¨èXÞñ%HéI³Ÿ;:vz1šÀyÒR×êxâLBˆ±¶±±¶±„é¹t*«1Õ†˜ ‘Ü  ÎnÕTÓt3w£õØz{+¶°7¨3ÕEïu;††}Ð #äEzÈ tk”¼ÿ[éZµûTÉ`0ºû ûù¤ó£mGS»¥@(8úôèÝÌ»†ô9t%§CrÌ 5cb¢mÒÙÑc’S,sކŽ’½ \è¹¼ê¼/®}ÑÙ­ÞÖÞÇo Oßrm‹¥Ž¥¦Á«šW5M5„ ã6ôa7a`Áz®‘×(aê9u&¯…n _–¿,¨-(¨- „iýßÄÿ›5dVßõ pws÷“'q 4€4€.ÙêÛž 8ÙÙ­ÔD؃gL4½¬¡¬¸®X[]ÛÁÐAòùd)˜0Àpúl €@^º¤©¦)ML †©¶ioaÙR<0á4a T0À¥‚.( p@©`€ J\P*à€RÁypáuÅæÇ^Hº__P[ ¡ª1ÌlØ»ÞïNvšÜ®ÚÓ‚§û£ö''W3×ucÖùÙûõ Z‡~m ï±ÈËÀ‘±ê쪭S¶®ôYÙ—í&'½uì­@¿À@¿À¾l·[ k ïfÞ½“yçÉ«'<>/xqðx‡ñ«É*6,ÌmÛ¶É»ò×ÐÐÐÚÚ*¡BPÁ¬Y ÎÎ’êô¥§OÇÏTaúZûÊ·'yÕysC榖¦V7Uóü–¶–üšü+©W´YÚ^–^tµÈœÈ÷μ—W×Êoå xEuE—R/99;9w«ZïU²ÚÏ‘—Î ä=yéíí(”¼ê¼K)—Æ;Œ}rû@·ìL™‘6#ùÊÓO¿þâú«šW¡€âïêßñ*k² ‚‚„…H·ŸȰELQ€×¢ÂPg?îÇ9?ÞþàvÊg)÷?º¿vÔZBÈžû{¸-\ªÏû*ü+¾€¿ÊgUì§±ñëã7Œß  ÿqã¼Féë uèïò‹¼@p3wËÜ’©È_ßB,u,ßþvÈ’%KÄVUxX0À…×b­g²$d®ë\;};–*ËJ×jóÄ;־­üÖ¬ª,ªÎÃ܇…µ…>Ö>_NùRŸ­¯£¡³n̺ƒgT7Ußʸ%}´ýÝ@Þc‘ÊùwÏo›¾mœý85¦šØ ²  ¸ò‘á´Û)$6$&?fÙÉeî?¸Ï;:º)6?vã•“MvùÞÅgŸÏÚ°µqqÔMXzb)!䧈Ÿœv;Qÿ¨›„BṄs‹B¹ÿàîºÇõÍà7OÄŸ …}|¿¨ÐjÒ÷…âïê/Z‡ZŒy#}´>À!/Ê·Ç"/½‡ÎËó¢ç'Ü~póÞçýý_MS ]çlÂY§ÝNáéá¢+R…ôˆÞÎã¼Ç‹B¹ýàæwÀïPô!êÖãqǧý6mè÷C©ŸÝ;vãQî£E¡‹†íæäûåõ/««Do•œA ‘ïLRq’Ón§ ¨ º¤¹­9(*hÆáC¿êù“ç;§ß‰Ì‰¤oå øÇãŽû‡øß;Üë'¯yGçÇ7ñšº|x{•¬‚0ÀƒÌä/¾0~÷ÝÝ|!ŸBÍÈ)ç–/;¹Œ®PÝT}7ó'NøXût¶¡PøÙ_Ÿ]J¹D—¼({±íæ¶´Ò´og}ÛÙZƒÿ5˜/àKèž‘–Ñã¿=–掄‚ò†ò°Ä°‡¹Ç;Œ·Òµ¢Êóªó!ƒŒ‰Vb2„’W“'}´y‘ºZBHRIÒ÷÷¿oå·BšxM“/Ôœ^~º»Ûy^ôœÎ]¯iσ=,UVyCùo£*dWfzéS;;z­øÂøÝ÷vS‘ink>›p6® îâ{5Õ4‰Ôìyéñø¼wÿx—þ¸ÛÊo΋~üêñöéÛ¼!{ì9üä0]?¹$9¹$YMEíït¶M¾tFVAàaÁWþ®¿¸¾ÈcÑÚ‘kmôl˜*LBƒÁð³÷[1bÅPÓ¡FZFµÍµ1¯b6_Ý|(úµÏº1ëFÚŒ\zbé†ñÖYGoçRÊ¥K)—ÞóöËÛ½a§o–´ÍhikyVôìEÙ‹á–鱿ù¶+”¦Z‚¼H]­!ÄÏÞï›ßP°±vÔÚm7·½(ÑÝîx‡ñ[§l¥þž9xæTç©áéá_Nùr‘û"ªpóÄÍgÎfVfŠ®åaá±{ön*­>Ö>‡šöÛ´ðôpj€+e;F^z×Ò®B‚æyZxB´YÚ~eܲ?žÿq'óÎRÏ¥f:f„©ƒ¦2LBˆ‹©K—ŒÌ_:’UxX0À•¿±vcÛE7¾0~ù©å<>¯]Íæ¶f ÛyYþ’/à;8Ž" …DHþ³+ÕɸÓÿËÑÐ1sK&_À¯l¬¼ŸuçÝ+N¯_NýòÈaq!µÍµ¢«ÔµÔB8jQš:hòBˆ”uÐ:BFÙŒ]´Ö³&„4´6tw;íN±g¡cAñ±úï ¦ Ó”cZÑP!ZÍÏÎO4­ÖzÖöö9U9Ô¢”ìyéåUçé±õ¨Ñ-m²Óä?žÿAý|¿uòÖu×M>4yœý8S/ ¯¡¦C{Ö– É*<,àÊŸ[¯]É¡èC<>/Ð/pÞ°y¦Ú¦êLuƒ1ýðôvÓóÛ¡&'‰Ôñ½Ÿ&ÃéDL¦‰¶ÉbÅ-m-Ûom¿–v: u†¿Œò ú{BÈ‹²„[½ŸüOš:hòBˆ”uÐ:BXª,ÑEa‘ïð¨Åv[Å~2l¿CìÆ‚nÌ‘•2ƒ#ß-Ô}쌋©Ë­nÅÄÇÄžРРÒ×Ôßç¿o°ñàÎVéƒ9¸²  ΢ ˆòkò´ŒýmôlXª,ƒñªæUnU.]A…¡B:¼.8:²ÕØÏ6<ËÜ’ÙîßÏoýÜ—ý§h fÿB¨}D$ }m|¥¯ƒÖA,äEl´]2Ô2$„ä×ä‹FçEËjûQ¹Q¢?ˆç×äçTåÐ5èƒ ÚêÛV7U'%ˆÞϺOþ3ø#„0LkŸG¸×ïýîs[¸_\ûB&­÷˜¬‚0ÀÂop‘…ŽEfefh\è¼aó!qqßÞùVôC65I<6?¶¦©†þt»ÈcÑÓ«OWü±âocÿæiáÉaqʸeåaIa˽–±#¶­×œNôKô/õ-õ3ϴѳa«±ËÊï¼¼³7r/ùO´!cíÆZèXÄæÇî¼³ó£1©ª¨;~#ý†>[Ú iÒ×Aë òÒ/öXäEQ—³:úô¨§…§‡…GECÅñ§Çex†Ô„¢„/®ñÑèL´MRJS¶ÝÜÖ&h›9x&ukÏ2Ø-³]f?/zþé¥O·MßæmåÍmå†%†ýñüu¦ú§)„E¡‹Þö–¯µ¯•žÏ{”û¨¦©Fòì¦>˜ƒ+« ð°`€«ˆ–y-{ý`û­íÛom§J†šd<¨Œ[F-ÚéÛ™j›FçE{ïó¦J2·dÎ6?æUÌù¤ókÃÖ¶Û`g—Ky}5M5GbŽÐgŠ¡ù»ú³Gý­ÆTÛ1sÇš°5Á±ÁÁ±ÁT!ƒÁØ>c;u²)ëB–œXWweÕêL4ªuè ò"¶‘÷‹¼(>k=ëƒgÜH¿±üÔrª„É`Î6ïÏä?e²ý™ƒg^L¾–F—8:~0úêï>Èà;Ãß _ÿþ¹÷EË¿šú•±¶1!$¥$åYá³ö­{öÖ+eÓ•M¢ßª®:»Šúãç·~¦Fÿ²  ¦((¢©ÎSœóã“!ª&Ú&˼–…. UgªÓ˜*Ìóx[y³ÕØt!ƒÁøîï‚æµ««¡«ÆT³Ö³ž6hÚ/ók?¶—ºúÉØO¶ÏØîkík¨i¨ª¢j¤e4ÁaÂ^ÿ½{ÞÜ#Zm¼Ãø“'ÇØÑR×b«±}¬}B‡Ì2»»u¨¯å¨Ã]ZëÐäE1÷Xä¥_Ø5k×"Ezl=–*ËËÒ+4 ´Ýñd¯c„Õˆ#‹ŽxXxh¨jè³õ¹/:½ü4=´êƒ ª1ÕŽ/;èè`è ÆTÓR×e;*xq0u\BÈùçßþ¶“‘ÕÃV#vÍÞEŸ/BŽd„ÆÀ9a„¥¥¥\.WB''Ç  ÒÙ³%ÕÞ& ¼÷y›j›^[}­ÇÕöÓÖû†¬ösäE /½ yž4û¹£££ [Ä7¸Ðod”gÔ5×}8úC¹¼_Ê·u€îB^` Ã\è7â ã,u-ßúæl »P>ieis‚çtvëT穇êËþ€"Ãúå^Ë—{-˜­tò¸Ð¸˜¸dnÉìºæà€’Á” ¸ T0À¥‚.( p@©`€ J\PieiAQA™8Á!@×àʸeAQAO^=‘wG@qa€ !µ45(*(³oØ]C^`€+­/àÕEÅæÇÊ·W P0À€þÄ”cè8Òf$µH pcòcäÛ+P(¸T/ô'&Ú&~òî(4 på)¯:ïRÊ¥ñã=Ì=ž¼z’R𢥮5kȬcOyZxŽwOU˩ʹ’zEŸ­ÿΈw¨’6AÛÁGœg ™Õg[ê¹”îObqbq]±6KÛÓÂs˜Ù°Ž+zZx>yõ$±8‘¥Êï0ÞNß®]%õ%÷2ïÕµÔ99Op˜Ð_#…Ý+P@йWÔ6×v«…«Œ[öÇó?FÚŒi326?ö|ÒyBHt^4_À§6BùB~tntzyz› ÍÞÀ~‚Ö*Kæ÷ ¸ò”W¤ÎTß¹7*'ŠâjêºØcññ¸ã‘9‘tþ/¥\úùáÏL¦¿«¿Ž†!äYá³ ¨ Í7w¶åýQû…D(¡iM5Í÷G¾ß­Ž-õ\ÚÈk\¶öqÞcÑÊãÆxë[M¯ÈVcŠ>tûåmªS…¹kÖ®ùnóéUÎ%žûúÆ×­üVjÑÓÂsÎÐ9}óÈ@ÿ…¼P‹È HC1óÂaqºÕÎÂEÍÁ¥f)ÄäÇ„%†Bç=¦ãF pŠ>½ôiAmÝsó_æÿ"ú9”¸òÜØÚ8gè=3Ž™ CeŒí˜7ê[ê9,!$2;ÒZÏ:¿&ÿQÞ£™ƒgB"s" !~ö~móçG?ÓdÅ2Ò2’ð†-¶c„†–†Çy‡™ s1q1Ò2ªk©‹y‘qàÑÏ&|&º"·…ëïêoÊ1M)Iy˜ûðë›_O4º;‰Å‰_…Åð}¬}ÜÍÝ««n¤ß8ðè@ß<2Ðß!/È HOÑòÒ³t —(_kß…î ÃÃFÙŽòµö¥Ë k Wž]Y×\çaááaî¡®ªž\’ü8ïñš°5·ÖÜÒfiwñØA?‡®ü5ñš.¯¼ì`è@—øÙû]{qíQgÔ5×%—&ož¸98&8*'ŠÊTN”¦‹‰KgÛüdÌ']~ÂîAÇ´YÚçÞ9Çaqâ ã**Õ˜j3‡Ì,xRp7ó®è6Ï»þþu+]+jq˵-a‰a±ù±“&BŽ>=ÊðýéŸýç†Ìí›Gú;äyé)`^zÐŽ÷B”µƒÁK m;zݘutùo«k®Û>}ûòáËé£Oãrêå¯ %€®üù»ú·Ë-õÉ5*7jÆàòñ|?{¿Œò êšÚæÚä’ä7\Þ`0móo~뎩0TŽÄ KÊ€r$IDATOoW³¢¡Btqþ°ùô»5!d¢ãİİÒúRj1¾ ž­Æ^7ö¿/CÖzÖK<—üþä÷.;ðú ôwÈ òÒSÀ¼ô ï…4å=b2˜UU …B¡ÒÀk „$'¯×¹Ð`€+(±Ð±p0tˆÌŽ$„DåD™h› 6ìgïw>é|^u^jiª@(k7VÂ6_sNagû%ú—ðôpMƒqöãÌ8fêªê Âøãùôì@йŽy»¶!m‚6j±¶¹ÖŒcÆd0EëXëYKÓ×d ¿C^òRSÀ¼ô ï…4ª«øBþ¾¨}oªo©ïÁ¡ÁWþ˜*ÌŽ…cíÆ†Æ…æVçFåDQŸwýìý FTnTJI éjÚœLævìØý¬ûª×ß¿n¨iH•…ÂcOuë ] Ý’ú¾/úž_“/MÈk?2Ðß!/y©)f^ºÛ±÷¢K::­üÖ5#×t¼ÉÉÈ©„þ\5Î~\h\艸µí6BôÙú.&.‘Ù‘ieiކŽ'Ú‹’ɜŽ †*S•Åüï9V~‰þ¥¶¹V­'ýF†[ ¿œrùàÃôï\ù5ùgÎJ¹úk>2 ”—Î /БÜó"óÝ’JYMSháÛ1gÎØêÛú»ú‹–¿({AßÊ \5Òf¤ªŠêÉg' ýYvœý¸àØ`Ÿ÷®÷»’W—ɜ޼,¼’Š“æ„Ì™ê<•W—R’Ò­wkBÈ{Þï]M»º/jߣ¼GôQájR®þš (%ä¥3È t$÷¼È|·´Ö³Va¨œK<×&hÓgëBý?óQxzø¦+›BbC<Ì=8œrnyFEFRqRðâ`K]Ë×¼ àp©^©ôý1ZêZ^–^<>ÏÅÄÅ@Ó€*ô³÷ãñy„yM› ô t6rίɉ ‰ I-MýçÌŠ# ws÷3w¨3ÕcócĹ˜|ÑÙØYôÐWÉó‘QB!!2ÚÕ‘ ò¢Äd˜—¾'÷½BæÐcëÍw›Ïmá†Æ…EEB¬t­B—…:9'—$Ÿ|vòPô¡óI瓊“\L\0ºð ®T45²%³Õ· ô ô²0çº1ëâ ãEÏGímåM*h”í(™wFšŽé±õ®¬ºr7ónnU®Ž†Îx‡ñ:¡ ®¹NŠT¡»¹;]²È}‘Ÿß½¬{õ-õNFN'f”gú::IîEŽŒkhP!„hk ^SÈ yQb2ÌK/Qð½BÊtv/L9¦ÔUè’]³vÍ:7µ4µ‘×H5zmõµøÂøä’ä&^“Çl°ñ`Sœo@`P'ÎàJKK¹\®„ Ó¦ÙÌ[ÿ·¿U÷Y—úXV–úŒÖW®ä»¸´v]["䔞 óâääT:{¶¤÷ €þNšýÜÑÑQ†-bŠ‚TnMIÁÕ«A™%'««ª y¯¿)䔞 ó½\©ŒÕÍæñúç|+)DDhÞ¬®.ƒŸtPz2Ì ô p¥2ujCs³Ê­[Zòî@¯hhP¹}[kÆŒ™l yå&Û¼@oÀW*ffm'69¢‡Ë ”NÒóæÉæê>È (7Ùæz¸Òú쳪ädõ‹qvhP6̃õ׬©ÑÕ•Ù!áÈ («ÞÈ È¸Òrvn]º´nÏC.(•={ 9Áš5²<éòʪ7ò2‡÷žnذ¡Z 7šð¹”Å… œóç9[·V°Ù2žO€¼€òé½¼€la€Û zzüÇ‹££5¿ûÎPÞ}§O5¾úÊøÃ«{ãpä”L¯æd ÜîqskÙ¹³,8X/(ÈÐ@¿«ñá‡æ“'7nØPÕKM / 4ú / C¸To·Í™ÃmlTùúk£œµÝ»ËX,¼oCÿságëVã)S÷ì)UéÍÏ¹È (>Ë È ’ÚK–ÔGDh.\hùô©†¼»Ð Ì-[L>ÿÜdõêšýûK44z}ĉ¼@ÿÕ÷y™À7¸=4fLÓ… _m´l™åœ9ÜÀÀ*;;\³ZCƒÊ©S:èëè(™>½ïæ"/ÐïÈ1/½'¡(á»{ß­ð^1sðÌÎêdWfþÕ÷ ÜÈp³2iHq×_O¿þ¢ìE·LŸ­ïmåý–Û[šjšíªÕ4Õœzv*¡(AH„®f®žÆÚƽTÚÁ·çlmyGß¹£µs§á´i6¾¾MS§6zy5ÛÚòtuùø —«RR¢š’¢¡yû¶–@ÀX³¦fÍšê¾?yŧ8yy}éåéÛon_ì±xÞ°ytamsmL~Ì´AÓ$¬ØÐÚ“3Êv”ômu¹Y±éAC âØÓc;îìŠXp%õÊoO~;¾ô¸­¾-]øªæÕÒK˸eÔâÝÌ»¡q¡§N 2$ó:и¯kÊ”†‰<к|YûçŸõkkñF ‡Éz{7oÜX5o^½|ÏN¼€âSœ¼¼Žú–ú˜ü˜±öc»»¢ƒ¡ÃÉ€“–º–½Ý™Þh¨oT6VšsÌg ™åläl¬mœ]™ýû“ß k ·\ÛrzùiºÚgW>+ã–°±Òg%“Á<õìTdNäúËëÿZõ— CE¶u # pe€É$“'7LžÜ ’ÂBµW¯TëêT„B†¼û@´´FF|'§VuuEù y…¥€yé{ZêZ#mF*SC2·Ògå†qŒ¿jMp˜0mд‡gÄæÇ6´6h©kBŠâ ãmôlŽ-=¦¡ªA™ìïœ~‡/àKxõØzç”P¡ú–ú¼ê3ÄdH—i'$6ÄÕÌuÓ„MúlýˆœˆÐ¸Ðon}SÙXùæÐ7§:OUa¨;þäÕ“#±G¶LÚB‰/Œßvs›¦ºf€W€‡¹‡:S=¹$9äiÈßoü}”í(+]+±­ÄäÇHàiIîg;Ûnnká·l™¼….©n¬&„kýϹL´M!5M5²­ba€  T,u-‡š%„XéZuœçjg`¶"Œ¥Ê"„Lp˜ÀðöGí^ô\ÂWÊU®¦]Ý|uó“!‡æ¢¿a•Ü™v ÿXþ‡S2ÉiRzYzL~ÌÛÃߦ¿-m;zôÏ£Ÿ>§ƒc‚BAðâàá–é’IN“<-=WžYy%õÊG£?ÛJè²P¡Ä‹+RÒž{.¥\újêW¾Ö¾t!õ2S…)Z“Zäñy²­ba€ 0€Ì<“ªR†™ #ÿù¦ðuV9Ÿt>½<}Æ {æì¡'Œv×ôÁÓE—.¦.1ù1o¸¼A—èhèXèX”Ô—P‹ Å Lsoä^BˆP(!!¤ßF$þ‚/:}B¡pÇÇžÛ2iË{Þï‰ÞÄVeBZÿçôÉÔ"uš ë€Xà ºº¢‹j*j„ú訯B€+*x|^¸:,ÑEUÕŽ­«ª¨6¶6R7¶6ò…üG¹:nª™×ÜY+2™ƒËò?¿úùŸÉn²u¥ÏÊv·R§?Ë­Î¥> Prªrè›dXÄÂ@Ù0ƒ"ù‡xÙzÓåÍwG¼»ùêæ€“!KBD§±ö^gÌuÌ[ù­¿.øµÝø„MƒÎÖzý9¸ÍmÍÞͼûiÿX1bEÇ îæî„{™÷Þty“.¼›y—âfî&Û: ¸Ê†ºl쫚W}Ùè\×¹::Ÿ\üdɉ%Ç–£ñê½ÎL4=(*(<=|Ó„Mô½õ-õ“/Rçë5çàr[¸kÂÖ<-xº}úöå׋­3Éi[ýWÚ_³]fOqšB‰Í=õì”S¾ ±¬ê€Xà({C{¶ûBÒ…ä’d= =ò¿çÁí=']zt͹5‹C[zÌÙȹW;óþÈ÷o½¼uêÙ©³ gí ì8,N9·¼¸¾˜/à/îl­×œƒûCıù±Ú,í«iW¯¦]½i×ì]ÔÕzu5tý¿»÷Ýa89«ª¨¾(! ?ó±ÇŒª,«: ¸rÃd ù’~-ï! U/'¹ãÎŽŒò Ùo]"o+ïS§Vž]¹ìä²#‹x˜{ô^g4Õ4OœþþÁ÷’.dVdR…zl½y®ó\Í\eÛšÝËmáÆäÇ´»©‘×Hÿ½fä¾€ÿKô//+^B4T5Vú¬\?n½h}YÕQp|>ƒÂdöé}9AGa•––r¹\y÷oo»«êzcã¼Æ¬Š¬¦¶&¡P8ÒfdMSMzyº­¾­è—T¡©¶)!¤¡µ!¹$ÙR×’š` Í*bë”qËrªr4Õ4é©¢í:#MC¯j^×»›»³ÕØtabq"_À÷²ô½§<>/«2«‰×dÆ13嘪0Tdú@þìÊìò†r±7¹™»Qó1hÍmÍY•YÀÑȱÝM2¯£°jj˜ÞÞv¡¡E£G7I¨æèè(ÃF1À%\“·Þ²òönÚºµRÞè-ññ‹[Þ¿ŸgeÕ&¡šl¸½ø$sumyþ¼‡'Õè4tu––’F·2‡.€ÜŒט˜¨QQÑþ,WJãömÍñãŒ>m\¹™0¡Q[[¦ÓuU€~(7W-&†=gN_OÅ@n44„K—ÖëÖÖâ”PP o„†®«Êâ O\­ªJöïïôÊ[ýT|¼Æ•+Ú[·V2û|¸ò¤¥%ذ¡*4T'%…%ï¾ÈLK ãë¯üü'Oîë¯o ¸r·`AݨQÍ|`VV† 02 É–-&EEjÛ¶UÈ¥àÈ™Š Ù¿¿DKKøÁfMMxk†~oÿ~ƒë×µöï/±µåÉ¥H€üéè..,T °À÷¸ÐñùdçNÃýûõ·o¯3FÒ¥Ëz¸ ÁƆVØØ¨2¾%æãBÄåª|ô‘ÙÉ“º?þXºdI¯\€ZJà( Þ¹sNN¼ùó-ÿùO#œ; ú ¡\¸À™>Ý&1Qãĉ¢¾?ñm; ¡P(ß(‚ÒÒR.WÎÏE çÏëìÙc ’U«j,¨36æË»SâñxŒ[·´ŽÑKNf-]Z»aC•žž Ûqtt”a¯0À%\P<õõ*‡éŸ9£SW§âîÞìåÕlgÇÓÕôý)E:ârUŠ‹™©©¬èhvs³Ê¤I ë×W ÒÚã b€+{à€bjnfDDhFFj&'³òóUëë™||™ @KK`dÄwqi=ºiêÔSÓ¶×Ü ¸²‡.€Év€‹Ùë T0À¥‚.( p@©`€ J\P*à€RÁ” ¸ TTåÝ…Àb±äÝ \ª” ¦(€RÁ” ¸ T0À¥‚.( p@©`€ J\P*à€RÁ” ¸ T0À¥‚.( p@©ü?z—ÛÂóGIEND®B`‚fio-3.39/examples/falloc.fio000066400000000000000000000013651476262051600160200ustar00rootroot00000000000000[global] ioengine=falloc iodepth=1 direct=0 buffered=0 directory=/scratch nrfiles=1 size=100M filesize=100M group_reporting # Run falloc and punch_hole threads in parallel # After activity file will be highly fragmented [falloc-fuzzer] stonewall runtime=10 time_based bssplit=4k/10:64k/50:32k/40 rw=randwrite numjobs=1 filename=fragmented_file [punch hole-fuzzer] bs=4k runtime=10 time_based rw=randtrim numjobs=2 filename=fragmented_file ## Measure IO performance on fragmented file [sequential aio-dio write] stonewall ioengine=libaio numjobs=1 iodepth=128 buffered=0 direct=1 rw=write bs=64k filename=fragmented_file [sequential buffered read] stonewall ioengine=sync numjobs=1 iodepth=1 buffered=1 direct=0 rw=read bs=64k filename=fragmented_file fio-3.39/examples/falloc.png000066400000000000000000003743711476262051600160410ustar00rootroot00000000000000‰PNG  IHDRC›¼¿®`bKGDÿÿÿ ½§“ IDATxœìÝw\Uõÿð×岇ÈDP6Š[Ó™53Ñ9*G64gùË4ËQ™}+5´ÒJq§âHq/J3‘¡âB–€ Ù {ßßÄ‘+ëÞË… Ü×óñèñ¸÷ŒÏyŸÏ½ñ¾çí9ŸH"‘H@DDDDDDDDDÔ¼yi¨:"""""""""¢†Àb(©C‰ˆˆˆˆˆˆˆˆH-°JDDDDDDDDDjÅP"""""""""R ,†‘Z`1”ˆˆˆˆˆˆˆˆˆÔ‹¡DDDDDDDDD¤X %"""""""""µ ©êˆˆˆˆHq.\ÀÁƒñøñcæÏŸ‰'ÊÝÖ‰'°aÀ±±1Ž?^ãòÆàŸþÁž={…‚‚ÀܹsqâÄ ÄÅÅÞyç¼õÖ[ª “ˆˆˆˆ C‰ˆˆˆš¨Ý»wcÆŒ•–7N¡öâããñ÷ßÌÌÌj]®j'OžÄرc!‘H¤–37nÜ@DD`øð᪈ˆˆˆ!C‰ˆˆˆš¨ï¾ûNxýÊ+¯`É’%ÐÒÒ‚“““ £j8_ýµP}饗ðÅ_@[[ŽŽŽØºu«Š£#"""¢ÆˆÅP"""¢&*<<\x=cÆ ¸¹¹©0š†"¼~ûí·1bÄáý¾}û——°··oðØˆˆˆˆ¨qb1”ˆˆˆ¨‰ùúë¯qáÂäçç ËÖ®]‹_~ùàéé‰ääd|òÉ'RûéèèÀÂÂ}úôÁÔ©S•öÈ{hh(8€;wîàéÓ§022BçÎñÆo S§NUî‹àæÍ›HMM………^|ñEÌš5 †††5oÆ 8qâ222¤–íß¿¿Êí«3T‘˜‰ˆˆˆ¨éc1”ˆˆˆ¨‰ Æð,÷àÁáuNNÒÒÒ*mSnïÞ½X½z5N:…>}úÔ)–Ï>û ëׯGii©Ôòcǎ᫯¾Â¢E‹°aÈD"aÝÿþ÷?¬\¹EEE•âZ»v-’““kƒ44žý”[½z5|||àãã{{{¼øâ‹Â{\¼x{÷îÅàÁƒ©©©˜1cF¥É‡ä±yóf¬[·¥¥¥‰DX¼x1Nœ8åË—CCC‰›6m·ß~+ìó믿bÙ²eB!tРAصkþüóO¬^½ºÖ»Bà£>‚´´´„eË–-“:ß6mÚ(-f""""j>D’ºü&""""•ÑÔÔDII ÀËË 'N¬uŸ´´4©ÇãïÝ»'<¾uëVÌ;@Ù¬ñ)))Õ.—H$°¶¶Æ“'OÓ§OÇÞ½{…vçÏŸŸ~ú `bb‚äädhhh mÛ¶ˆ‹‹P6éÑÕ«W¥îÀÌÎΖ© ººº(((P64ÀÌ™3…uNNNÂlò_~ù%V®\©PÌb±X¦Xˆˆˆˆ¨IðâcòDDDDÍÔÍ›7qüøq###EEE• ŠŠRhŒÌÇ EE9r¤Ôú#F…Åôôt„„„ÀÐÐP(„ÀÌ™3+=Š.k!TŠÄܱcÇz‹‡ˆˆˆˆ‹¡DDDDÍÐÚµk±jÕªZ·+Ÿq]^¹¹¹Rj|Ÿ››[©ðÙ²eK…Ž­(Eb&"""¢æ…c†53iiiX»v­ð~̘18zô(|||púôi¥ÃÆÆFêò°°0©õáááÂk‘H„víÚÁÆÆššÏþ-þÖ­[5#;;ƒþóóók𘉈ˆˆ¨ya1”ˆˆˆ¨™ÉÈÈÆ€yóæaüøñ€²‰ˆ~þùgaX[[(»ósÈ!prrBÏž=ajjŠåË—+->eÅLDDDDÍ‹¡DDDDÍŒH$ÂñãÇÑ«W/ew\Þ¸q®®®8vì˜ÒŽãèèˆÀÀ@L›6 :::ÈÉÉA`` 233¡¥¥…‰'"00®®®Â>¶¶¶¸yó&Þ{ï=aŒÎˆˆܺu †††øòË/•Ÿ²b&"""¢æC$‘H$ª‚ˆˆˆˆˆˆˆˆˆ¨žyñÎP"""""""""R ,†‘Z`1”ˆˆˆˆˆˆˆˆˆÔ‹¡DDDDDDDDD¤X %"""""""""µÀb(©C‰ˆˆˆˆˆˆˆˆH-°JDDDDDDDDDjÅP"""""""""R ,†‘Z`1”ˆˆˆˆˆˆˆˆˆÔ‹¡DDDDDDDDD¤X %"""""""""µÀb(©C‰ˆˆˆˆˆˆˆˆH-°JDDDDDDDDDjÅP"""""""""R ,†‘Z`1”ˆˆˆˆˆˆˆˆˆÔ‹¡DDDDDDDDD¤X %"""""""""µ ©êˆˆ¨²ÄÄDdgg«: """"""¢FÅÒÒ††† ïÏ;C‰ˆˆˆˆˆˆˆˆH-°JDDDDDDDDDjÅP"""""""""R ,†‘Z`1”ˆˆˆˆˆˆˆˆˆÔ‹¡DDDDDDDDD¤X %"""""""""µÀb(©C‰ˆˆˆˆˆˆˆˆH-hª:""jx «…˜MdfŠ!‘¨:""jN´µ%hÑ¢ÎÎ…hÙ²TÕá5˜Œ „…i#3SŒÂB‘ªÃ!"R æujnX %"R%%À_ÀÛÛW¯êãéS>@DõÏÞ¾C‡æ`âÄ,8;ª:"¥ Ó†——|| ©¥êpˆˆêó:5"‰„÷56‰‰‰ÈÎÎVZ{—.`Ý:3<~¬…>}ò0lX.zôȇ­mŒK Áº()Qa¡ééb„„hÃ×WçÎ :Z Æå`ÅŠTØÚ©:D¢:‹ŽÖºuf¸tɶ¶E92}ûæ¡}ûB˜˜”@[›—YDÔ<0¯Sccii CCCEw÷b1”ˆ¨RV14:Z «V™ãÚ5}¼öZ6-Jã"jp påŠ>¾ýÖ QQZ˜=û),HƒŽ†RÓSP ÂæÍ¦Ø±ÃvvEX¶,æBħâ‰HM0¯“ª±JDÔ )£úï¿zX° 5Ú´)ªU)èÕ+_IÑ)¦¤D„ýû[`ãFS8:bëÖ˜™•¨:,"™¥¦ŠñÁ­¡%KÒ0mZ&Äb^N‘zb^'U©k1”F5C¶ÀìÙV80‡DZJD‚X,Á[o=…—W,ÒÒĘ0ÁaaÚª‹H&aaÚ˜0ÁiibxyÅâ­·ž²JDjyš*C‰ˆšooC¬\Ù óæe`ÆD>®BDŽ£cމCëÖŘ1£ ž<᜞Ը=y¢‰3Ú uëb9GG9CDTŽyš>&ODÔ)ú˜üÝ»:˜6ÍÓ¦=Åòå©õ‘òääh`òdkhhHpð`<ôõKUQ%yy"LŸnœ¼¼âТ¿§DDUa^§†ÂÇ䉈‘!Æ»ïZ¡_¿\,[ÆB(5~¥Ø¶í ’’4ñÙg­TQ•V¬°@\œ&¶oÂB(Q ˜×©©`1”ˆ¨™Ø¸ÑÀ† IÐà_w"j"llŠñí·Iðö6Äzª‡HÊzðö6Ä·ß&ÁƦXÕá5zÌëÔðr™ˆ¨ ÓÆ-ðÿ— CCÞµBDMËàÁ¹:4«W›£¤D¤êpˆ%%À—_šcèÐ œ«êpˆˆš æujìX %"j¾ÿÞ;bܸ,U‡ÒlEDDÀÉÉIø/44´Q´ÕŽSÑÑ£G1nÜ8tîÜY8î|PïÇU⌠;†ÖóçÃvð`8tì‡NÐnøp˜¯ZÍØXU‡¨°+R©…“'ÿ‰H©Nž4Bx¸V¬àÐ3M2óOuùSyUÌÁÔ˜0¯ScÆ)¾ˆˆš¸„Müõ—6mJ„ˆÿðJ*tåÊ|òÉ'ª£Y³ø¿ÿƒ¾O¥åZQQ0ŽŠ‚ѱcx²{7ò»wWAtucgW7·üñG ¸»óvHõöïo7·ØÙqæøÆŽù‡}@ó:5f,†5q/@O¯Çç¨:Rs§OŸ^÷ìÙ;vì¨Ë,TRd¼ÿ>²ÜÝQjl ƒóçÑê³Ï **‚Fn.Z}ú)bΞUu˜ 7.sç¶FJŠææ%ª‡ÔXr²·nébëÖU‡B2`þaPãļN“'"jâ|}õзo´´$ª…ÔÜ“'O„×;väEX=(èÜ1§O#}Þ<[[£ÔÐY¯¿ŽÌ)S„m´ÃáÕD—ïß?N¸@*wã†44$è×c…6Ì?ìjœ˜×©±â¡DDMÜÇÚ;¶ñ>z‘#G ïOŸ>lÛ¶ =‚©©)ÆŒƒ… B__píÚ5̘1CØÇßß&&&€èèh 6LXçíí WW×*ƒÍ›7#<<­ZµÂ°aðdÉHÅ„½{÷"00IIIÐÕÕ…³³3¦M›†Ñ£GC,Wyn—.]’©}YÈÚÖµk×°ÿ~ܾ}©©©ÐÖÖ†­­-ŒY³fÁÔÔTæcúûûcÏž=¸uëRRR ­­ '''Œ;Ó§O‡¦¦l?:„+VH-Û»w/öîÝ XµjäþLçÏŸ³µÜá¸víZL›6M®m9ÿª¾_wîÜÁŽ;ðèÑ#¼ùæ›X¹re•ÇmqàZý·®T_±'O¢¨];€áÉ“°\¼ ÑÕEìáÃ(ìСÚsH[´¨ÊåÏï#Êή©+-== Š¢W_Uu4¤Î>Ô†ƒCôôø™,ùgòäÉèÔ©“Ô6b±-Z´@ûöíáî'B¤„±†ÉÑŠþ)Ç\s&Õb^§ÆŠÅP"¢&.1Q +«bU‡!³={öà?þÞ'$$à÷ßG@@þøãhiiUÚG‘ ”ƒb×®]Âû˜˜ìܹ زe‹°ÜÃÛ7o†Dòì‚7??þþþð÷÷‡••zõê¥pûÊŒõ›o¾ÁöíÛ¥ö-..Fpp0‚ƒƒqèÐ!ìÚµ j(¦•ûá‡ðË/¿H-+**BPP‚‚‚pæÌxzzBO¯~þ%_uQ×ó÷ôô„———LÇÊœ2º0:v ¹¹°\²q‡AóÉ¡H Ék×ÖX­‰Vd¤ðZ¢­â¶mj§1hݺÉÉü‰Jª•œ¬Ù¤r+ɧ¤¤éééðõõ…¯¯/üüüðÝwßÕ©MEr´¢¿AêJr0©ó:5F|Lžˆ¨‰ËÏ×€¾~Ó¹såÒ¥Køã?pûöm¬_¿^¸ãáöíÛØ¹sg•û(ò£ýĉؽ{7nÞ¼‰9sæËÏž=‹ÄÄDÀÅ‹ááá!\„¸¹¹áÌ™3¸{÷.¼½½ñÎ;ïTYœ•µ}eÆzöìY©‹¬?þ8{ö,:vìHMMÅüùóQ\\óüùóç…‹±XŒo¾ùAAA8wî\]]øöÛoeŠòäÉGÿþý…eo¾ù&ÂÃÃŽ·Þz«Ò>²|¦[¶lÚG@@\\\„õ:::ÂÝ>òl«Œó?sæ 6n܈۷o#<<¼Ö;R’×®EáñèÁôûïa±h4þ»ƒ3sÊd½þz­}RÍ„´8p@xŸåîŽRîNn,ôõK‘“ÃÙàHµòòDÐÓ+UuT YòŽŽŽT~ C`` ~øá!Ç;v wïÞU8Ert]~ƒÈÛÏS·LªÅ¼N‹¡DDMœD‚&5‹üܹsÑ»wobâĉ:t¨°îĉUî£H1tÞ¼yèß¿?Z´h!õhDEE€ðØÚÚÂÃÃÎÎÎÐÓÓƒ««+–/_Žnݺ)ܾ2c=P¡ØÕµkWÌ;ÆÆÆprrÂêÕ«¥¶÷õõ­ñxû÷ï^3“&M‚±dÉaÝ‘#GPXX˜5kœœœ*ý— Øä"ò~¦YYY˜1cBCCZZZøù矫ü|jÛV‘óÞܹsñÚk¯É<&›DO ?ý$)[þötƒ‚”šòÅ2µóáõ!C°víZXZZBCC£G–ºSQQŠähy~ƒ0)Ç %"¢õóÏ?# 9998rä._¾,¬{íµ×vvvRûìÚµ ÙÙÙð÷÷—{¦öšLŸ>]xE‹!""yyy Áš5k”Z|­‹)S¦¯ƒ‚‚°mÛ6dff"""kÖ¬ÖÙÙÙ¡oß¾5¶5uêTáõÑ£Gáé鉔”àñãÇøûï¿ñùçŸcéÒ¥J‹_‘ÏtéÒ¥¸zõªð~Íš5x½šI†äÙV篋%K€ÿîÆI^·Ùÿ]$ŠÓÓa¹`DµL|zׯ£Í›o …ÐÜ—_Füž=,„U£âã纺º000@ff&¶lÙ¢”B( XŽnÈß êžƒ‰ˆžÇb(5¨aÆaÊ”)èÖ­–-[†’’eãfΜ9`bb"u7ÁÎ;ѽ{wL:£GVZ,nnnøðÃ…ÇÓÎ;‡‘#G¢K—.xõÕW±gÏžz}lN£FÂìÙ³…÷ß}÷zö쉑#G w¡˜™™aóæÍµÞÝ:räH|ðÁ€’’|ýõ×èÛ·/:uê„¡C‡âwÞÁüÔÔT¥Å¯Èg(õþ‹/¾¨4yDùD òlÛÐç/**Bë „föرȚ0É_"[[€îíÛ0“áî“Í›¡Qá±Aý«WáÐ¥ œ¤þ3øo^""uW±(wæÌôìÙ½zõÂ… йsg¥C‘Ý¿AÔ9U¥q> HDDÍÖ[o½…_|Û¶mãG`bb‚W_}‹-‚v…IdÖ­[KKKœ?IIIpppÀ‡~WWWìܹSiñ,Y²ƒ Âþýû€¤¤$èëëÃÅÅS§N•z¤_ÕV¬Xbÿþý¸}û6ÒÒÒ ¥¥[[[ <³fÍ‚™™™Lm-]ºT8ï[·n!)) ZZZhݺ5ììì0|øp 6L©ñ7Ôg*‹†<³¯¾‚Îw÷µk‡ä/¿P6yR¢‡¬'M‚¨°Æ»v!ÿ…­Ä‚?‘º{ÿý÷add„}ûöáñãÇ044ÄðáñlÙ2Ì™3GiÇQ$G7äouÍÁDDUIêkÆ""RXbb¢Ì999ÂÃ#£G˶}C‹ˆˆÀÈ‘#…÷§OŸ†‹‹‹ #"¢ÆlÁKÀæÍ‰*Ž„Ô¿‡DDÊÁ¿§T,--¥&¡•““'"""""""""µÀb(©C‰ˆˆˆˆˆˆˆˆH-p%""ªWŽŽŽWuDDDDDDD¼3”ˆˆˆˆˆˆˆˆˆÔ‹¡DDDDDDDDD¤X %"""""""""µÀb(©C‰ˆˆˆˆˆˆˆˆH-°JDDDDDDDDDjÅP"""""""""R ,†‘Ü’’òááñ7n¤¨:”:kNçR“ää|;ö?ý‡(**•kÿªúI]úŽˆ¨¡4§¿«Íé\jÂüJDÔô°JDDrKL̃‡Gp³ø‘ޜΥ:AAéps»€ÿû¿@lÜøÁ(*’ÈÕFUý¤}GDÔšÓßÕæt.Õa~%"jš4U5=––zX¸Ð}ú˜«:”:kNçR`dgcôhk88ACC--‘ªÃ""¢ç4§œÔœÎ¥:̯DDM‹¡DD$7 ],\ØAÕa(Es:—ê„…eÁÉÉ/ª:""ªAsÊIÍé\ªÃüJDÔ4±JDDrKJÊÇQèÓǼÒYYE¸r%119ÐÑÑDçÎÆèÝ»ê»BJJ$¸~=!!™(..…½½! ²„ŽŽXØ&::ÇÇ`à@Ktïn‚7RpçN:tt40p %ìì «lûÉ“<øø$ +«ÎÎF4¨5BC3qáÂŒm ''£jÏEÑcÊr> éÊ•Dܾޔ”|˜˜hÃÃã! sgc j%l™;wÒñäI 5ѽ»):wnY§cËû=ðóKÁÇOQZ 88âå—-¡©É»kˆH½0¿2¿Ö†ù•ˆ¨îX %""¹•eõüãogÏÆaùò[ÈÊ*’Ú¾GSüôSXXè Ë‚‚Ò°h‘?bcs¥¶µ²ÒÃ/¿ô.¢£³áá ==1¶n ÁÅ‹O„mÅb¾ù¦'^½T‡EcõêÛ(,|6‰A¦3ÆÁpqi!\¬Uu.ŠSÖó©ÉæÍ!‘q¨1}}1æÌq®q›+W±sg 11Á€©Sí1t¨rsKðÞ{×áë›\iß-ñÓO/BOOþŸ ò|nßNÇGùãñã©mml àéÙööU_5G̯̯5a~%"RC‰ˆH)‚ƒŸbñbKÐ¥‹ zõ2Evv .^ŒÇ­[iøðÃ8thD" ..³fý‹ÌÌ"tëfŠnÝL ­­{÷2à뛌wß½Ž Ü`hø,MíØŽììb¸»·…¥¥îßÏÀµkIXµê6Üܬ`d¤¸s'Ÿ~ %%ôîmŽ®]["=½çÎÅãçŸCä:'Y©ÈùTeË–‡()‘íjÍÜ\§Ö‹µ-Ñ¢…6¶n ‰‰6ÞxÃ@Ù+“S_ßdtîÜ®®Æ07×Aff1üüRpåJ"~ú)K—v’)žrò|?ÎÁÌ™ÿ ;»ÖÖúèß߯ÆZˆˆÈÂÕ«‰ˆÏåÅ©=æWæW€ù•ˆH™X %""¥øý÷0K0k–V¬èÑO`}òI'¼þºnÝJƒ¯o2úõk…_ EffÖ¬é†éÓ¤ÚÙ¹3_}u'NÄ`Ú4{ayQQ)Μ}aÙ§ŸÞÄáÃÑð÷OÅС­žžá()‘`Ñ"W,Xðl¬²… ;ÀÝý/¹ÎIÖc*r>U™?¿ƒ\w®Ôfà@K h OÏp´n­Wiì6CC-xy ‚‘‘S‘šZ--1FjƒØØ\¾œ ÷Åš<߃­[C„‹áõë{BKKCh'66b±F5G!"R̯̯ó+‘2±JDDJ˜ ±X„?î(ü@m|ðA{|öÙ-¦¢_¿Vø÷ßdˆÅ"¤¥â§ŸB ‘H„‹”œœbÀÝ»éž]ܼþz;©‹&<¸5ŽFbbž°ìÖ­tèéibÞ¼öRÛÚØ`òd[üö[˜Ìç$ë19ŸªT¼¸lÀöíá8{6®Êõ))r·)Ï÷À×7"¬]Û]êB (û¼ˆˆˆù•ùµ ó+‘ò°JDDJ‘™Y ]èêV¾£¢]»²ÞOŸ–q•–Vˆ’ ~ü1¸ÚöžËÊJ¯Ò6åwo?»ÝãéÓB´n­ ±¸òäò^ÈzLEΧ*ÊÓ¬6¿üгgÛ«  IDATã`jªƒ—_¶@ëÖzÐÖÖ€H$‘RcÂÉJžïAFF!,,ta`ÀŸ#DDÕa~e~˜_‰ˆ”‰‰ˆH)Z´Ð“'yÈÏ/©ôC½|ð~cc­ÿ¶ÕDaa)Þ}·ú‹ò äel¬„„|””H*]°ÅÆæT³WÝ(ë|”=¦Ymþú+ººbœ93 ff:Âr‰ص+BêÎYÉó=hÙRqq¹ÈÉ)æQ5˜_™_æW""eâ_F""RŠ^0Ãñã1ظñ–/ï",ÏÈ(į¿† Û@ÿþ8x0 ¶¶pwo[©­‡Ÿ “'È«Gx{ÇbÛ¶P©Gùâãsáå­P›µQÖù({L³ÚˆD"hjŠ £#ÝÖ/¿„àéÓB´l©-w›ò|úõk…ƒ£°fMÖ­ë MÍgW‡åcšUu÷‘:a~e~˜_‰ˆ”‰ÅP""RŠwÞqÆ©S±Ø¾=ièÙÓÙÙŸt)iièÞÝ}û¶Ì낳gãññÇðô G·n&02ÒBrrBC3q÷n:vìèkkýZŽZÙÌ™N8u*6<À?ÿ$¡kW“ÿf»«pQ"㑌”u> =¦Y¦¸{7¯½v Ç·P6&Ùýû ]¨ò}Þß'OÆâèÑÇðóKE¿~æ06ÖÆ£GÙ¸r%Û·÷çÅ©=æWæW€ù•ˆH™X %""¥èØÑ›6½ˆåËo"(( AAiº=LñÓO}„ÇÂll °gÏ|üqîÝËÀ½{Rm¹º+t¡ݺ™`ÍšnX»öüüRàç—èÞÝC†XaãÆÐ×Wnú«Ïó©O vÀõëÉ Ë„§g8@SS„/¿ìýû!66Wî6åù´kg€;ú㣛/¯gYÚØè£M›Æ×gDD ù•ù`~%"R&C‰ˆHn––zX¸Ð}ú˜K-5ª ú÷o…+W› mm téb‚Þ½Í*µÑ±£1NŸ†›7Sqï^òòJкµÚ·oWWca;[[C,\èŠ=*·Q¾®k×–R˧NµÇ A–ðñI@vv1œ0hPk|ñÅmÒ7Tu.ŠSÖóQ…÷ßw†©©n¥å-[jÃÛ{(._~‚¨¨l´h¡-Ц>JK%ÈÌ,¶­ªŸ”ñ=xá3\º4ׯ'#$ä)Äb 88bÀ‹*'é "jΘ_™_«[0¿)‹H"‘uô""j(‰‰‰ÈÎΖi[''Gxx$bôhÙ¶W÷îe S§–RÜ»—É“ÿ†¡¡®_…DÔ‚–€Í›U ©3~«ÆüJDòâßSª–––044Ttw/ÞJDDÍÎ?ãÑ£,ôêeSSmDFfÃÇ'%%¼ý¶/ÔˆˆˆÀüJDDÍ‹¡DDÔìtéÒý•€èè©å&ØâƒÚW³Õ„ù•ˆˆšC‰ˆ¨ÙY¸Ð¯¿n‹ÀÀTï`˜Ó°JË•Ñ7yEy8z±ˆ} ]M]tnÝ»N„…¡E¥íŸd>Á™3x˜ôIÙI0Ñ3A/›^ße<ôµô«¬¬Xˆˆš”‰'ÂËËKÕa’»w ~1~81ë>òþHÕá5IÚèÓ®ªÃI}åþG©•…½fËŽÏ<.¯/} 33Ìí7Wæ}ÊÅ=Ã{‡ßCìÓXl»‰…P""ª3eçWY·+ç°‹U¬½°¶ÖãWåù1Cã2㜠ˆ}‹Ø§±2÷CSÍý—Â/¡}«öRCÈ#<5ªœ\©|YDj„Ôò‰ˆÜ¢\aÙ­¸[€‘íG"*= žþžˆN†¥¡%Ü\Ü0Üyx•ÇWEß$e'aùéåx’õ&z&èݶ7ÆuWib"eõMubp-êìMíáhîXëöYYˆNFW«®Õ—Ë)Ú7²~Šô ‘ºb1”ˆˆ¶+`ìMí±øåÅheÐ ÷ïã·¿áÌÃ38ìp“º–ÝA[~GÈÛ/¼þvý¡©¡‰¨ô(œ¸™ù™2Ë/ÆOæ "ss™Ïáߨqâþ xó´ÄZµïPAГ ¼ø}h‹µqð̓è`ÑA®ý‰ˆˆª¢ìü*o–õø²×iŒtŒ°öÂZLê6 ã:É>RSÌýy¸wï÷}_®v+JÏM´2¨<ûwù¦yRËW¹­BVA–Ô$> Y €‚â¸{ºKMtäî¸wrÇ÷c¾—*n«ªob2b“ñl>ïÞØæ» ;&ٳ¢¤²ú¦\|f<–z/…$e'!:=ÎæÎØåNŸÂ'§>A‹ØúúV´2¬üÓˆˆHÊίòæaY/ kckt´ì ì‘byÆmйÿïG£¤´܇ÉÕvE%’²°X£r1®|YQI‘Ôòò>®¨°¤°Íw\Z¹àÍžo¢¥nKÜŽ¿þ;püþqômדº•}žªêS}SŒj? ]¬º@_K©Øk?b2b0ïè<œžsZ(L*«oÊååÁ/ÆOx¯£©ƒöd*®ÿ÷÷8~ÿ8V_‰Û¾XívŠö¼Ÿ‡"}C¤®X %""…î0ºÒÀó}mûÂÆØFj–Ë÷ú¾‡½?Æ’K0Ôi(\-\á`æ ‘F­•«éG¦¢6_ی’Büßàÿ“k¿#w $9#]Fâû×¾——‰ˆˆ¨®”_åÍò¿¾5ÅÜ)ìÌ ÌѵuW…cÔÓ,ëûŠwr–+_&ËD=å˜[Zbÿ´ýÐÑÔPVÜvnåŒÅÇÃ;Ø[(†ªªoN¿sZê|†: Å”îS0a÷D¤F &@(¢+«oʵiÑû¦íCIi RrRð÷£¿áéaqêS•Ó‰D‚¯.}…]»ðéO1³×ÌjÛ¯KßÈûy(»oˆš3CIf«W¯^÷íÛ£FR]0Hnn.þ÷¿ÿ ïgΜ ;;;ÕDÔ€Z趨ryK½–ˆÏŒÞ¿êú*:ZvÄÉ'qôîQ„$‡  ¸c:ŽÁÇ?®¶Š”=nXNa~¿ñ;Z¶ÂœCs¤ÖE¥Efœ ‘öLÝ#õ¯ìå)9)(*)b1”ˆˆ”JÙùUÞ<,ëñë[SËýťŸy¯tx¥Ö‰¦jR>fdTz:·î,µ.2-Rj›šØ´´¼dÿ’¹aNew –?š®Ê¾©ª@g¤c„.#°õúVD§G ÅPeõM9=-=©»•Çv C üvã7»{ Ó{N—Ú¾DR‚e§–áÏ{â³aŸaVïY5¶¯hß(òy(»oˆš3CIfkÖ¬^/Z´ˆÅÐÿäææJõÍàÁƒY %µq?á~¥e9…9x”ú¨Ò¬©ö¦öX0`ðþ^Â=¼õÇ[HÎN–iÂeVXRˆâÒb<É|‚'™OªÜ& 6 ìÅs×3c\Ç`Æ 3ðÉ©O0mß4x¾á)×XeDDD5©ü*O–çø²ý—He}ä½\SËý7ß@vA¶PhTTW«²»}Â}0ÆuŒÔºòÇ»Xu©µnVe“æ¤æ¤VZ—’“àY!²1öMyïRVVßÔÄÁÔ¡ìøYÒý_œ….ÄåðËøÂí ¼ýÂÛµ¶¥hß(òy4Dß5,†‘Â.„]À‘»G0¡Ëeã.}væ3äåâÕŽ¯ Ûýï¯ÿaB— Rà[ZBK¬%5NSM”=n˜‘ŽöMÛWåºå§—ãqÆclŸ¼ºšºÐ€F¥mÆv‹º-0ÿØ|¼±÷ ìš² 6Æ62ÅGDDTeçWyó°¬Ç—Uù£Æ3˵_SËý—Ã/CGS/Ù½$SÌÕâ4zZz8|£]G E2ÿ쿵Zb-Œj_û)ýìúÁÂÐÂ.à|èyŒp lô5Ênæ(Š@U}súáièjêbˆãá®ÈâÒb¸}Þ¼!Ö£—M/¥÷ÍÉà“0Ò1Â@ûRwª'c›ï6úÿ%» ï~±X3bM¥;Fk¢Hß(òy(«oˆÔ‹¡DD¤0W W,;µ þÞ # D¦E"» úZú˜Ûo®°ÝNÿøÕ÷W˜ê›¢m˶(,.DXJŠK‹1ÈaLÇRö¸aššÕNâ` Sv—Dï¶½«+ªÜ`ÇÁØ9e'Þõz“÷LÆ®)»àlî¬Ô8‰ˆHý(;¿Ê›‡e=¾¬ìÍì¡§¥‡£wâ^Â=´Ôm Ø?}û5µÜ)ìúÙö«4Þ*üüïÏø'òe1À·>ßbëõ­€Å çk¬kŒ…â[Ÿoñþá÷álî M MUéü+¶_×¾QäóP¤oˆÔ‹¡Tƒqýúu$&&BGG;vÄ!C ££SåöðööF\\ììì0vìX¨u\NY“’’‚-[¶ïçÍ›333œ9s<€••† ›ÊwxU‘ºßy<†: ů¾¿"1;`gb‡ïÆ|‡v-Û Û}:ôS¸}¡É¡HËMh‹µáÞÉŸ ûL%±+K/›^Ø?m?fš…©û¦bûäíÂciDDDŠPv~•7Ëz|YéjêbÅÐøêÒWM•{ÿƦªÜ¯§©‡Ø§±Bqñy©•î­8UùçRîÝ>´¿\ÿa)aÊúqVïYXüòâJí?H|€ÀØ@äåJ-¥Ã+øáµ°Þg=bŸÆ"öi, §uO¬{eÒ‹còö͘Žc‹a¥¾V-¬ðnŸwñVÏ·*í£Œ¾Ûi,â3ã+×@Ûc;ÅÇ?–g5¿(@Ù¢Õ=Õô|ß×µo!oß©+‘DÞ[*˜4©lÖ9///¥DWÅÇ-Z„M›6Õ¸}dd$ÞyçøøøTZgee…_ýcÆHeréÒ%¼ñÆHM}6®½½=öìÙƒË|||0xð`…ŽóðáC¸ºº ï/^¼ˆåË—Ãßß_Xf``€½{÷bܸqR±Mž<iiÏ~¨Ô5_õý÷/11ÙÙÙ2mëääDŒ-ÛöÊ‘—äؚآµQkdæg"2-úÚúp2sªvÒ€´Ü4ÄdÄ@_[ÖÆÖ5Þ] JwŸÜEnQ.zÙô’š àùó®();©¬´ô9Q,X` ؼ9QÅ‘:SÕ÷°¾ókmÛ]yt³Í&†©íø9…9¸—pÖÆÖÂc¿U-+—[”‹ˆ”äçA"‘T{ç›*Ô5÷_‹º†ïÿþ׿_ƒ¥¡e¥ö#R#„q:«âlî S}ÓJËó‹ó‘ÒÒR8š;VûÙ>H|€¬‚,t±êRå6%¥%ˆH@va6¬­«Œ±:õÝ7PP\€Ç‘U C ™†RFß–"&#OóŸÂX×v¦v‹Ä•Úx”úÉ9É5ÆS±}eöÍóªû<*’µoó:ÕKKK*º»‹¡$3yŠ¡IIIxá…[ö/...3f âââàåå…ÒÒRˆÅbœ;wÆ•e.]º ++ жm[Œ?=ÂÍ›7ÿlæÊò‚£"Çy¾jmm GGGôèÑ^^^Âq,--]]ÝJ±ÙÚÚbܸqˆŠŠ‚¿¿•±Qó¦îÅP"¢ú‹&j Ôõ{ø|1”d7iÏ$âø¬ãª¥ÑaßTOúF]ÿžRýªk1”ÉS½X¿~½P lß¾=nÞ¼ }ý²êÔ©¾øâ ”””à£>BPPàÇŠ¸q㬬ÊƇùðÃñóÏ•g›Vä8Ï{á…ðçŸB$aÊ”)èׯ€²bThh(ºví*›‘‘üýýѪU+ÀâÅ‹ñã?Ö½Óˆˆˆˆˆ¨Iúdð'0Ó7Suû¦zì"Õ`1”êÅÙ³g…×&&&Rã}FGG ¯ïܹƒøøx´iÓÿý·°ü•W^ ¡0{öì*‹¡Šçyï½÷žp׫³³ôÄ'±±±èÚµk¥ØÊ ¡0cÆ C‰ˆˆˆˆÔXï¶½UB£Å¾©û†H5X ¥z‘’òl<___øúúV»my‘²âXœ ¡ÐºuÕ{+rœçUœ(I[[[j]ii)HÅfi)=–‹……EµÇ$""""j*: Dø§áªƒˆˆ¨^±JõÂÜÜÉÉeL0@¯³*å…NSSSDEE(s´¢„„¥çybñ³A§«”¾bl‰‰Òc<+5N,†R½9r$‚ƒƒ”ÝU¹téÒJƒÛÆÇÇãÞ½{™ƒÆÍ›7çÎCZZLMËfTܱc‡ÒŽ£ˆ ±={ÉÉÉ£ò»víR¸]""""""""j8,†’B|}}±zõêJËÍÍÍ1þ||úé§8tèâããñàÁtèЯ½öŒ‡ÐÐPøûûcĈ1b€²êûí7dee!##½zõ‚»»;ÂÃÃ…Bäó9Ž"-Z„ßÿÙÙÙÈÌÌDïÞ½1~üxDFFÂßß_áv‰ˆˆˆˆˆˆˆ¨á°J ¹qãnܸQiyûöí1þ|XZZâêÕ«x÷ÝwqùòeÄÅÅaëÖ­RÛ¶mÛ#GŽÞ·k×GÅo¼´´4DFFbÓ¦M°··Ç®]»àææ&l[>¶§"ÇQ„Ž9‚)S¦ ==ÑÑÑBlÄË/¿\§ö‰ˆˆˆˆˆˆˆ¨þ±J2[µjU­Û˜›› ¯péÒ%„††âúõëˆ‡ŽŽ¬­­áââ‚=zTÚøðለˆÀ‰';;;¸»»ÃÏÏOj;kkk…cnn.u.'@ÒÖÖ–Zçââ"¼1b"""àíí-Ûó}cggWk?QÃc1”dVÕcñ²pqq‘**ÖäúõëèÔ©Þ~ûmaYaa!¾ùæὫ«+lmm>޹¹yµç¢­­]ãyš˜˜HÅVNѾ!"""""""¢†Ãb(5*Û¶mÃÑ£G1tèP899!++ —.]BDD€²™ß7mÚ¤â(‰ˆˆˆˆˆˆˆ¨)b1”•ÀÛÛǯ´ÎÉÉ [¶l©ÓDHDDDDDDDD¤¾4TQEsæÌA\\NŸ> ¬[·Û¶mƒŸŸBCCë<)Ç•GWà´Þ žþžõvŒÜ¢\¬½°ƒ~„öÿk§õNÈ-Êœ 9‡±žcÑå‡.pZï„ßoü^oq(êÈÝ#pZ!gU b0ãÀ tߨ]芩û¦âŸÈT=‡ùµv̯DDTW¼3”]]]¼òÊ+ªƒˆTlÓ•Mظ»ÒòˆÔ,üs!J$%*ˆªé¹ys¼æ ¤ôYùÇøcÖ¡Yðp÷À+ø÷–ˆH0¿*ó+QÓÅb(5JW"¯ÀHLJß> {S{hˆÊf¸u %’|4ð#Ìé3ÚbmGÚx•aåÙ•()-ÁìÞ³1·ÿ\ˆEbì¹¹¯lÄç¾À ÇAÐ×ÒWu¨DDÔ@˜_ëŽù•ˆ¨iãcòDDÔ(%g'ÃÁÌŽfŽÂ…$e';æ…Z-®E]CÜÓ8ônÛ+†­€‰ž Zè¶À‡ý?ÄÈö#‘ž—Ž ¡T&5 æ×ºc~%"jÚxg(ÕÉ¿QÿbãÕN †¾¶>†;ÇÒAKaªo*ls(èVœY-ã·`TûQRû—¯ûåõ_àæâ†¯.~…;AñApZïTåqÇzŽ^‡H$8|ç0Ý9„¤”HJ`oj)ݧ`zé‰DÊÆd›}h6>ö:µî„W6â~Â}8˜9àÏ™ÊÜdægbÕ 8z™ù™p6wÆÂ •Ò·uåãpïä^i{'wœ 9¿Ç~U®'""Õb~e~%"¢úÁb()ìfÜM¬÷Y/Œ—•_œCA‡ˆc35èãa‰KO.ÅñûÇ¥–?LzˆÕçW#81_¿òuåø/¯ÆG+•”ÊÕNAq¦ïŸŽà¤`a»{ ÷ðþ‘÷1ºÃh¹âoÿ¿öRãŽÕÄÜÀ¾ |kÝ.:=àÒÊ¥ÒºʶɈ–#J""j̯̯DDTX %""…yxºLÀ¼þó`ah{ ÷°úüj„$‡`ÛõmX2p‰Üm®¾+‡¯D=à`ê€#3ŽH­ÿî¯ï°Íw¼g{ÃÕÂUX~üþq¿í[µÇ'C>A7«nÐÑÔÁ½„{X{q-ÄÄ®Ñú‡Tü“ºMÂ{}ÞC»–í ÖãÏ{ÊÜÎîÀÝN †ƒ™V»­FwëîHËMÃo¾¿aß­}Šw¬’dfŒu+­+_–•ŸÕ 1Qí˜_™_‰ˆ¨þ°JDD ëÖ¦Öÿ%Dh IDAT^/<ÖÖ»mol°n¿ºálÈY….Öuøîaˆ5Äð|ÆÂòÞm{cãk1ê÷Q¸vQêb­{›îX7jÔcyò´söáYˆD"ü4þ'8›;ôõ±fäD¦GâߨeŽ?䓺œ~•$‰B눈Hµ˜_™_‰ˆ¨þ°JDD `7@êBÚ¶l {S{D¦E6h,aÉa()-ÁË?¿  ìbD‰ðâ3ã¥öyÉî¥JñËÓNtF4, -… µŠÚ”ëb­>éžæ?­´.³ ³l]£‰ˆˆjÇüÊüJDDõ§NÅP___ÄÆÆVJtDDêÀÆÆFÕ!4"”å‰RIi¥uùÅùJ9FyÛ5 VTR$õ¾¥^K¥´£ õ1¦™­‰- 49=­{J­{˜ô°l›–¶rFJDDókí˜_‰ˆèyu*†:;;COO¯¾úª²â!RȦM›Ð£G 4HÕ¡š8uê‹¡þ‰ú‹_^,õb11ˆL‹.ÀÌÀLX÷¼ëÑו‹£™#î'ÞÇ¿óÿîØ¨ïvl[ÚâN„¥„Uº{åJä…cP–Þm{c›ï6¿SºO‘ZW>Å‹í^TEhDDTæWæW""ª?u*†š™™ÁÌÌ 7nTVVŸ_âÒbŒj?JØ®üBfgÀNtoÓÝÚtCJN vìÆ…Ð J‰eR·I8€·¼/-@÷6Ýa¤c„¤ì$„&‡âðÝØÞc:úÛõWZ;£:ŒBГ |xìC¬±ÝÚt&x÷¾úÓì%»—ЦEøÇøcÝ¥u˜Û.454±;p7Î…œƒ‰ž Ü\Ü”~\úöî<¾¦k àø/ó $$‘A‚ˆŠ†©™zQAÌJM¥¨©Z-žV‹jIék©z†Š©Òšb®)x­D‘‰’41%Ã}\¹r3Þ Üõý||>rιû®sÏJvÎÊ>{ !DéHÿ*ý«BˆçGæ BQb>õ|ؾ…Mç6©m¯cY‡Q-F©¾®eQ‹Õû{£÷20p j»žŽ~ ýؾµÔ±ôlØ“ÐøP6ŸßÌÈM#ó=¦ŸG¿2mgp“Ál¿°È¤Hý:Hµ_GG‡.n]ع«gRv ô ˜í3›÷7½O@Xaª}:::Ìü×LL Lµ¡BˆüHÿ*ý«BˆçGWÛ!„xy5±oŠ>+ð¨é±¾1UMªÒ§Q~økž›€9çÐÇ£&éñºÝ묰–7j•Ícd:::øwñg¡ßBÞt|scs ô ¨eQ‹·ê¾Å{þ—7Þ,ÓvŒôX7`_ˆU%+Œôh`Ó€ÿöü/­[—Éy•VkçÖ¬°oGo*VÂÄÀ¯Z^¬ì»’·ë¿­íð„BäCúWé_…Blܸ±Ì¢$ttt˜8q¢<&/^˜çýó/11‘´´4Žuq©ÃÂ…‰¼ý¶fÇ !Dy6~¼ ?þ˜¨åHDE&y(„eC~žŠçÁÆÆ33³’¾|£Œ B!„B!„BTR B!„B!„BTR -gÖ¯_OÛ¶m9sæL‰^¿lÙ2Ú¶mKLLLG&ÄSë×CÛ¶PÂeÙ2åë%G…B!„Bñ‚I1´œ¹ví‡æÎ;%zý•+W8|ø°Æs Ql×®ÁáÃPÂåÊåë%G…B!„Bñ‚ék;¡®_¿~4mÚ”Æk;!òׯ4m ’£B!„B!„xÉH1´œ©U«µjÕÒvB¬V-å?!„B!„Bˆ—L…yL>ç\š‘‘‘Œ7† ¡C‡òÿõ×_Ó¶m[îÞ½[ྜ¢çlÿÌ™3Œ=šÎ;3a®^½ª:nË–- 0¦OŸž§ý‚æ ÍÌÌdݺu 4ˆN:Ñ¿–-[Æ?ÿüSà9Ÿ>}šQ£FáããÃ{ï½GHHHžc ¿ÿþ;#GޤK—.ôïߟY³fqãÆÛ¹$'ƒôî ©ï»v Þz Þ}22 o'ç\š‘‘0nœ²Ý!C Ÿå믕Çç“£ª}9EÏÙþ™30z4tî &@ŽeË0@ùÞÓ§çm¿ 9C33aÝ:4:u‚þý•ïYHŽrú4Œ¥|¯÷Þƒ|r…~ÿFŽ„.]”íΚ’£B!„B!„(¦ 324{.Í;wòÙgŸñðáCÕ¾µkײ~ýzúôé£ÚÉáÇIOOÏÓVö¾ŒÅ­ìöƒ‚‚˜>}:Ož<`Ïž=lذ“'O2oÞ<.\¨zÍÞ½{9pàÇWmËoÎÐàãã“§˜¹~ýz-ZDpp0ÖÖÖjûvïÞÍŒ3Tq¬\¹’ü‘qãÆ©¶ >œ•+Wæ9Ço¾ù†ˆˆœóù4…šêÕ¡W/e±®JPnòúôS§àÿý"¾Ý²çÒܹ>û rä(k×*‹9r”ÈHåñùä¨j_ÎlvûAAÊ"gvnìÙ6ÀÉ“0oäÈQöî… GŽæ;gèƒÊ‚fîbæúõ°hC®e÷n˜1ãY+WÂ?* ÁÙ†WnÏí›o "$G…B!„B¡¡ 324Û”)Sðññ!00íÛ·3bÄ ÿþ÷¿Ë¤ýéÓ§Ó«W/6lØÀæÍ›éر#‰‰‰ôèуŸþ™iÓ¦±}ûvpppà?þ`×®]…¶9mÚ4BBB¨^½:óçÏg×®]üôÓO899qþüyFç5_~ù%ÿú׿ $((ˆ‘#G¢££ÃG}Dtt4)))¬Zµ üýýÙµk›7ofæÌ™T¯^]­`,Šðþû0l˜²h÷óÏÊm}'N( ŒÞÞš·5eв°۷ÈÊÑ‘e”£LŸ®,ÞnØ›7CÇŽ˜=z(cŸ6Mù¾ààüEä(Ó¦) ¡Õ«ÃüùÊãú œœàüyå(Ôܾüþõ/åy)‹É::ÊÏíiŽ’’«V…øû+ÛݼfÎT¾—ä¨B!„B!Š¡ÂŒ Í6hÐ ~Î.V]»våÒ¥K>|˜¤¤¤<#,‹kذa,Y²Dõu§N°µµåäÉ“lܸ‘Þ½{«öÙÚÚÒ¹sgþüóOºté’o{`llLHHuëÖUíëׯõë×gëÖ­$&&bcc£ÚçëëKPPêë=z`kkËÌ™3YµjsæÌÁÀÀ…BÁ Aƒ˜JÿçŸÊGÔó“‘¡,œ+ ¢9r”~ý ~}غUYpÍ‘£øú*‹ ÙzôP¾ßÌ™Êèœ9`` ,9r”ž=•EcÉQ!„B!„BC…:`À€<Û<==åHÉÒêׯŸÚ×fff8;;chhˆŸŸŸÚ> lïÊ•+¤¥¥Ñ®];µB(€¥¥%½{÷F¡PpîÜ9µ}ï½÷^ž¶²·e[¥J&L˜@@@Ÿ|ò ;wî$>>###LLL49e‘ÍÄ6mR¿ùFY\±¢øíä“£<ÍQÊ GÉ•£˜™)574„\9ÊÓ¥åÊåܤíÚ©B,-•ÅU…rå(ùä¨j[ö±Uª(ç4 €O>QN!ð4G12R~æB!„B!„ªpÅÐjÕªåÙfhh()ÒDaÇU­Z5Ï6*W®Œ~®9# ò—4[öIùÅs{î…”,,, <öQŽE~,XÀï¿ÿNff&þþþ¼öÚk8991þ| Eq‰€žžòÿµkC¥JÅo#¿ký4GÑ0G =.ŸÅÀ*WÎ;¯éÓÍw^ÒlÙ¹W@Žª¶ç^H)ŸU›s!ª ” (ef*•í5åã÷óç+‹¬¢Ü‰LŠdaÈBbþŽQmKJKbaÈBNÄŸÐbdåÓ_ ±2l%+BWðgÜŸd)dijBˆ¼¤-é_…B¤Â=&¯©ìbbrr2VVVjûÂÃÃ_X¶¶¶üõ×_dee¡««^¿  fÍšjÛO:EË–-Õ¶îoh¨9*Ê•ˆÄ†,¤nõº¸X¹x?‘…! ™ÐrÍj7ÓJ\7îÝ`Ó¹M´phW-/­ÄÓ£ôGŒÝ2–#Wލm÷ªåÅÒ^K©b\EK‘ !„(¤ÕŒô¯B!ŠRáF†jªN:üðê¹3322øâ‹/^h1´zõêxzzÅÔ©SU£H  .dÿþýÔ¨QCõÈ}¶Ù³g«ŠŸqqqªÂf§NˆŽŽfÞ¼y$''«ŽÓÓÓ£víÚ>|ø¹žÛ+gâDeáï?ÿQ.NÔ¦rµôààçó~Os”~x6wfF|ñÅ‹-†V¯®|Œ?* ¦N}6ŠT¡P®L¿?Ô¨ñì‘ûl³g?+~ÄÅ=+l>ÍQ¢£• PåÈQôô”£nA9ªx)ØT¶Ñê(oÖ†,$ôZ¨ÖbÈéË}_räÊ,L,x×ó]†6е™5aט¼krÑ !„¨ð¤ÍKúW!„E‘‘¡xçwøì³ÏX¶l;wîÄÞޞ˗/“––†‡‡gÏž}a±|ûí·têÔ‰yóæ±bÅ êÔ©C||<‰‰‰ªý¹Á···§Y³f¸ººbddDTTOž<¡qãÆªyMoß¾ÍäÉ“™:u*öööØÙÙ‘ššªZm¾Y3íýRõÒY·þû_å|œãÆ)·ýö›²H8`€r¤½}Ù¾ç;ïÀgŸÁ²eʹ4ííáòeåüðs”o¿U0çÍSΓZ§Žrnϧ9Ê·ßæ}ßÞš5WWåüŸQQÊѵ?›×ôömåÂIS§*·³ƒÔÔg«ÍK޾4¬Í¬™ÐRFñfK¸›ÀÖð­T6ªÌÖ¡[±7Wþ|øÀûºt%øR0‘I‘¸Y»i9R!„å™ô¯ê¤B¡ )† F¬X±‚>ø€7npãÆ lll "00ð…C;tèÀŽ;øðɉ‰!55P>ïïïϻロç5 ,àûï¿gË–-jíüòË/ª9RëׯÏäÉ“Y½z5ñññªÅ“¬¬¬3f “&Mzg÷ ¸pFR.˜”sø5`ýzhß^¹ªüáÃÏæà, 5j( |7n(ÿÙØ(Ï |±ÅÐ`ÇøðCˆ‰Q,Aùh¼¿?ä“£,Xß9r”à—_žÍ‘Z¿¾²ºzµ²¸š½x’•Œ’£Zwëþ-ÅâÞã{¸Z¹ÒƹM¾Ç%¥%ñÛ™ßhV»™jôJÜí8¶]ØFkçÖxØzp"þ/Pɰý÷ S‘ÉWÿ :9šŒ¬ œª9ÑÆ¹ FúFyÞ#3+“Ðk¡D%E‘¥È¹š3­œ[¡¯«Oص06Ÿß Àq™õl^]mÜDŒ9H–"‹¾}U7j–¦– i:„yÿ›Çþ‹ûåfM!*(é_KFúW!„š¨0ÅБ#Gâãニ‹KûœœœÔ¶¿óÎ;ôèуóçÏ£¯¯»»;†††8991bÄÌÌÌ4jéÒ¥y8077çСCØØØ¨¶e/n”]°ÌööÛoóöÛoCbb"ÕªU£~ýúèèèä{.¯¿þ:AAA\¿~øøxìììT¿g³°°Àßߟ¹sçríÚ5nܸ••ªÅ„ ”#3ëÖU®ÌžS«VÊGÁoßVŽØÌoñ¢l#G‚ä“Cª}¹r”wÞ=àüyåÈKwwe!ÑÉ FŒP§°ö—.Í»À€¹9:¤,²fË^Ü(WŽòöÛÊ11ʡժ)‹™¹rTÇë¯+ ·×¯+‹œvvÏÏfa¡,¦Î ×®) ¾VVààP¶…eQ"Ïmä˽_ò$ó‰j[ãšéÚ kžcó›Ó,îv Cb¨gÈG $6wwú7îÏÙgùpÛ‡$ÜMPk˶Š-ÿíù_Öh¨ÚvæÆ>Þþ1ñwâÕŽµ7·ge¿•„^ eÓ¹Mü÷'Æý©:¦¨›µC~Df‹u™˜2¢Ùˆ"‹LŒÈ÷±Ææµ›•¥Ñ{ !„xµHÿš—ô¯B!ÊR…)†:;;ãìì\ì}ÆÆÆxy©Oîææ†››ú_ k£I“&ùn700 mÛ¶jÛ²DªQ£F¾¯qqqÉ·àZPvvvyLÊMGG‡Úµkç)– Õ­«üWÜseÄÙYù¯¸ûŒ!WŽâæ¦ü§iä(+GU "£¸¸ä_p-(;»¼ &妣£,”JŽ–çnžãó=Ÿ“™•‰W-/Ù6"õa*{£÷òÓñŸŠÕV@XŸ<¤kƒ®Ô¶¨MÊ5¸~÷:Ã6 ãÞ?÷ð¨é‡­†ú†„ß çϸ?yÓûì?fFfÄ߉gèú¡¤=NÃÎÜoGoÌ͹œr™£WŽrãÞ Þ¨õ½õfÓ¹M4whεÞÐ8¾EÇ©t)ŒU%+nÖ’(çÁ­Y¥fž}væÊ´$cBñjþ5Ò¿ !„(K¦ZÞýç?ÿaÉ’%\ºt ''§<£T…кÿü–,K—”#O%G+´U'W‘™•É„–ÔF~Lh9n+»«­GéØ>l;Ζϊä_îý’{ÿÜcf§™ ô˜ç½gÏf{Äv¼>€%,!íqÝÝ»3÷í¹è=5œp7==l«Ø¢£££Zív¬÷Xãç=®X#W4ñ8ã1@¾#fo{œùXÃ…B¼*¤ÍŸô¯B!Ê’Cˉ‹/réÒ%lllX³fMžÇ߅к‹•…PX³&ïãï¢B9•p ƾ©~ÓSË¢ý÷ãç?ðʼº»wW»Q8w==R¦òÓñŸP((ʦé8ó<¼®|,OWG—Yÿš¥v£¨ÍVRã[Ž/u¹©nÈ2òÞ©näôòÞÈ !„xµIÿZ:Ò¿ !„ЄCˉ?þ˜±cÇR¯^½<ó… Q.|ü1Œ õêå/TT8wÿ¹KÊ5ÐÓÑ˳¯–E­bµåXÕ1϶ԇ©d*2Y² À×Ý|€;ÿÜÁÚÌšJ†•Šõ¾šzsšU¯T€÷nPߺ¾Ú¾ëw¯+1«^ÌH…B¼ì¤ÍŸô¯B!Ê’Cˉº…Í9)Dy 9*r076çÖý[d*2óܰ]»s­Xmééæ½á«b\…'™Ox¿Ùû¾ÎÅJ97­…±×ï]çÁ“Ïå†íyÌiæf£œÓ÷Dü Ú»´WÛ÷g¼rñ YéV!*é_ó'ý«Bˆ²$ÅP!„ÅæiïÉö ÛY|l±Úcn×î\cÃÙ ¥nßÛÁ›õg×ãPÕîîÝóìJŠ¢²QeZ8´`ýÙõÌÜ?“o:ƒ¾î³®-çœfÙÅÝyt§X±<9ÍÚ»´ç«à¯Øxn#ƒš R=n˜ò0…Õ'WðVÝ·Š§Bˆ—Ÿô¯ù“þU!DY’b¨BˆbÚt(»"w± dÇ㎫­vkl`\êö?ðþ€=Ñ{˜´c+ÃVâaëAeãÊ$§%sñ¿yž€¾Ø™Û1ªÅ(vFî$è|¡ñ¡´ph¹‰9WR®päÊVô]m[jYÔBWG—ç6’‘•AU“ªj TäçyÌifonO†=:„ß*?|Ý|1Ð3`Wä.’Ò’èèÚQF®!D$ýkéHÿ*„BR BQll1Ûg6_îý’°ka„] À£¦Ýtã«à¯JÕ¾½¹=kßYˤ“¿Nø­pµýnÖnØ™ÛPÛ¢6}øxÇÇ$ÜM`ã¹jíÔ¬R  z¾Ö“Mç6±ö¯µªcŠºY{^fvšIrZ2GcòË©_TÛ›Ú7åÛ.ßj%&!„Ú%ýkéIÿ*„¢(R BQ"}õ¡¥cK]>ÄýÇ÷q±r¡m¶\L¾È„–p±tQkSÙ† -'Ьv3Õ6‡ªLh9×í^Ï·ý6 ø}øïœº~Šð[áúôéÀÆ‹8RˆçKGG‡‰'òý÷ßk;QA<‰‰¤¥¥it¬‹K.Läí·5;^!ʳñãmøñÇD-G"*2ÉC!„(òóT<666˜™™•ôåK52ôâÅ‹\ºt‰Zµj•¦!ÊIJeËØ´i“¶ÃDJJ ®®®ÚC!„B!„Å Ï ˆWF)9 !„B!„Bˆ  T#CëÖ­Kݺuå1y¡u:::Œ5J“/LöcòB!„B!„xyÈÈP!„B!„B!D… ÅP!„B!„B!D… ÅP!„BQ®$$¬aïÞ½deei;!„BñŠ‘b¨B!„(WîÜ cüøñ¼õÖ[¬[·ŽþùGÛ! !„¢„ÎÉW_}ÅÍ›7µŠ€C…B!D9Ó°áìÝ»—-ZðÍ7ßкuk.\ȃ´šB!Š©rewvïÞMûöí™'ÇgæÌ™/MñÈ‘#̘1ƒøøø<û^¶sp<æ83wÌäêßWµŠFŽ\<ÂŒí3ˆOÍ'ÿ^²sBQ¶,--™8q" sçÎüûßÿ¦Gœ:uJÛ¡ !„BCôîÝ›]»vñóÏ?sÿþ}ºwïÎgŸ}FJJжÃŒCŸooo¾üòKµŠFŽ9ÂÌ™3ó-†¾lç"ÀÛÅ›/»~‰£•£¶CÑÈ‘KG˜¹cf¾ÅЗí\„B<æææLŸ>mÛ¶Q©R%úõëÇ´iÓHKKÓvhB!„ÐŽŽmÚ´aãÆ,Y²„cǎѶm[.\È“'O´ž¨ ¤úœx{{3cÆŒW¢€ø*KEá]Ç›Ýfàhé¨íPJíU:—ŠâÈ•# X7€Ðk¡ªmWR®0`Ý6Ÿß¬ÅÈDNgoœeÀºœ¹qFÛ¡†š§ˆxïÞ=‚ƒƒ¹|ù2¦¦¦xzzÒ¢E ?«¸¸8‚ƒƒILL¤Zµj´mÛ–úõë_•*UضmqqqÔ¬Y“nݺaaa¡:vÍš5üðCz÷îÍ´iÓèÓ§ãÇg̘1èêÊø=ñ|h½š••ÅèÑ£Y¾|¹Úö±cÇ’––ÆêÕ«7nœZ14 €>úˆ{÷¦U«Vaee(‹pþþþxzz2eÊ¢¢¢TÇZZZràÀ<<<ÔÚ(nÛ 6dòäÉÄÆÆðñÇ«Š¡3gΤmÛ¶jÄ+V0iÒ$îÞ½«Ö~Ë–-9|øp‘ßìÓ¦q nÝ IDATMãÛo¿%33SµMGG‡ádzxñb ÔâswwçÓO?%..Nu¼••[¶l¡eË–€²zèÐ!V®\©:®M›6ªbh~çRÜXŠs^”,E£×ŽfùÑ\ù×n,iÓX}|5ãÚS+†„ðц¸÷(Wޏ¶"hLVfOs$"ÿ=þx:x2eÓ¢nå8o3K||Z¹ò¯˜m7´kÈäM“‰ýûiþ½õ±²útžÍ¶õÚªW„¬`Ò†IÜ}”+ÿ\ZrxòatuŠÈ¿-ÓøvÏ·dfåºæ-‡³xàb ô Ôâs¯éΧ›>%.%Gþ™Y±eìZº<Í¿?Öp(êiþË‘uÛ(‹¡œKqc)ÎueÏÙÒ™uÖagn§µî?¾OèµPÞtzSk1”'cÒ¬v3*VÒv(…’ë& ceeÅÒ¥KYºt)³gÏ&22’Ù³g£§§§íЄx!¤-¤¢dìììXµjkÖ¬ÁßߟӧOóÝwß© 䢬h½úÃ?°|ùrôôôðóóÃÙÙ™èèh/^LõêÕó¿mÛ6†޾¾>]ºtÁÍÍdzÿ~Ž=Ê!Cصk—ÚkF…¾¾>#GŽÄÌÌŒ={öÁ¸qã8zôh©Ú3f †††Œ1;;»BGxnܸ‘#Fàåå…——zzzüõ×_„„„••Uh1ô§Ÿ~bΜ9èèèàëë‹››W¯^eëÖ­üüóÏXYY1gε׌;CCCFމ±±1ÁÁÁDDDУG¢¢¢°´´dðàÁdeeqèÐ!† FíÚµ },¾$±hz^¤‚`ùÑåèéêáרçêÎDߊfñÿSÝ,Ÿü;³á«‡£¯«O—F]p³uãqúcöGìç襣 ® ¹òoí(ôuõÙz$fFfì¹°‡ˆŒ ÇÑ)GKÕö˜uc0Ô3dD«ØYØ:ÂsãÉŒXý4ÿ½ðrôBOW¿âþ"$&„,EV¡ÅПýĜߟ^óF¾¸Ùºq5å*[Ooåç£?cefÅœž¹ò/p,†z†Œl=cc‚#ƒ‰¸AŸzõU–f– n1˜,E‡¢1ìÍaÔ®ö4ÿ ™#´$±hzÄóQɰÍj7Óvâ©+)W¸zû*CšÑv(B”šŽŽ£G¦^½zL˜0ÔÔT,X€±±±¶C⹓þµ|‘þUˆÒÑÑÑaÈ!4nܘ±cÇÒ«W/V®\©ªQQV´^ ýî»ïÐÕÕ%88˜¶mÛª¶oÛ¶ ?¿¼Ãõ§M›†©©)GŽ¡I“&ªí …‚Þ½{DTT”Ú£ÚuêÔaÿþý˜˜˜0gÎ5jıcǸwïUªT)qÛööö>|˜Ê•+y®Ÿ}ö ,$Ž3Fm_HHH‘£æÎ ÀæÍ›éÑ£‡jû‰'hÕª ,àóÏ?§R¥g…´µµåèÑ£ªsÌÈÈ _¿~±jÕ*&MšÄàÁƒ‰çСC¼÷Þ{ª£e‹¦×áEúnßwèêèüq0mëµUmßvf~?å“[¦ajhÊ‘ÉGhâ+G–ô&èTQ·¢ÔÕ®S½û?Þ‰ÁÓóΘC£™8vù÷Ý£ŠI•·m_՞ߦ²±ù·åiþ ü‰1mså_Lz:Eäßî§×üƒÍôx=Ç5=A+ÿV,^Àç]>§’QŽü3·åè䣪sÌÈÊ ßÒ~ bÕñULê4‰Á-ŸÏ¡¨C¼×ò=ՈѲŽEÓë ŠgOôöDíáÞã{¸Z¹øËÿ•”+|¾çsz5êE¯×zÊy¦üù3¸é`¼jyñË©_¸pëÖfÖÌö™ @lj,›ÏoæbòE2²2pªæDï×zãfã–ç=ânDZ%| QIQd)²p¶t¦O£>Ô±¬ÃÖð­¬]ÀƳ9{LõºÀªÿ‡^ egÄN®Ý¹†¡ž!¯Ù¾FÿÆý±ªd¥:¦°¸ûzôeîÁ¹toØ~ýòĘýÚž¯õ¤w£Þ%øÄËÆÁåÔí]Ú«¶E%Et>ˆkw¯¡P(p¨ê@7÷n¸Û¸çy}aŸ5hvm¦?dGÄÎ\?ÃÍû7134ãu»×éݨ7æÆæ_·¢âÉéΣ;¬ùk çnžÃH߈vuÚÑëµ^èèè”öcZÖ®];Ö®]ˈ#5jË—/ÇÐÐPÛa Q"Ò¿Jÿ*ý«¨È<<<غu+#FŒ oß¾¬X±w÷¼ß3B””V‹¡qqqܸqƒN:©Bºw—aaaªm7oÞ$""‚:uê°{÷nvïÞB¡@¡P¨FUž} äÔ©S´jÕJíÜsõõõ™5kAAA;vŒI“&{YÆRÔux‘âRâ¸qçÜ;©Bº7£aWsäßÝ›D܈ Nõ:ìßÍîð\9òtTåÉ«'Õ –S|¦¨ p†ú†ttëHô­hnÞ½I“*%nûÓ}ªQ!4áv—’.áåè•§ Y€ŒO'ávoº¼©V|hæÔŒ>Mûx"Sñ§håšãšûLQ+2êëê3«û,‚Nq,æ“:• ÿJKQ×AÏ”]SÔl8rå›Ïo¦ãþyŽÍoN³ìy¦ÕlĬý³HJK MO2sßL2ϦB8r応ú…¯}¾V»ÙùåÔ/|µÿ+µcÆdeØJ6 ÚÀõ{׉LŠ án wòÄøÍo PÛv æ+ÃV²¼Ïr<í<‹Œ{f§™\»{ŸŽýDï×z£§«þG†Õ­ædÂIæv™[ØG À _©MQ  ÷\¬Ñ±ÙçU¯z=Õc•A烘òûÕÏœl+BWð]×ïèîÞ]µ­¨ÏÚÃÖ£Èk{çÑÚü· ž}zíæž³V­ZyŽ133 ==½Tm»ºj61vJJ õêÕÓèøÜ²?+ggç|÷ש£üë\jjªÚv''§<ÇfoËnóEÅ¢Éux‘n?|š¬Rîhå¨V M¾ÿ4G’/3}k!9’k>ÎZÕò9o£§ç™^ª¶]­5Ì¿´§ùW£„ù÷àé5¯^À5¯þôš?È•VùäßÓmÙŸÿ‹ŠE“ë 4÷{Ôïl>¿Þózš¤>LeÍ_køùÄÏÅjkUØ*œª91¡åj[Ô¦ŠqN]?ÅŒ}3054eÀëð°õÀPÏð[á¬<¹’é{§ÓÜ¡9öæöœˆ?ÁÌý3ðuó¥m¶˜›s9å2Ïm$íq~î~T6ªÌ¬ý³èãÑ?wõ‘ßû.î# ,}]}†4µßàþ?÷Ùt~Æýɸ-ã84úFúF…Æ­§«ÇÀ×2ÿð|þwåtpé :>åa »£vÓ¶N[j[ý¨OèµPoÖrެ)ÊGw8uý£šRmË2¸É`¼½Ñ×Õçêí«l¿°{ÿ<›ÃX“Ï:§ü>#P~Ïè0üá4°i€¥©%÷ßãDÜ ~=ó+ Còm—o‹¼nÅçç?ãjåÊ7¿Á¦² n]`ññŬ;½Ž‘ÍGR³JM?GQ~¹¹¹±|ùr†ÊܹsUOæñ2þUúWé_…xÆÔÔ”%K–ðþûï3tèPÖ¯__èt~BhJ«ÅЪU«põêÕ|÷çÞž}|ƒ èÓ§Oízyy•8–â¶­¯¯ÙGhii @ttt±cËß•+WòÝùòe€<+³ÇÆÆæ™Ç4{±§ì6_T,åMUÓ§ù—r5ßýWÿVßž}|ƒš èÓ¤q,Aþ•°m}= óÏìiþÝ*aþUzzÍ“ ¸æÉO¯y®•ÙcÿŽÍ3iöbOÙçü¢bekãÙüÐýµ’nîÝè²¢ ±©±·emfMÐ µ‘»ã¶Œ#K‘E@ßÕˆ€v.íhlטa뇱#b´ø€•a+Q(|Þñs†6ªvì0¯a<Î|Œ©©jÔ„½¹}žùÕ~;ósßž«¶¢jw÷î þm0ÄýÁ˜¼]ÿíBãè߸?‹Ž-bí_kÕ>› g7ž™®caÖ¾³6ÏH’‚d/¦‰ÃW“™•I×g±éëêSת._¼õ…Ú±C›åþãûª¯5ù¬s*è3ªjZ•ÝÃw³ïÒ>_9LʃÕ% õ 9yí$væv…^·âÆãXÍ‘Mƒ7©nºÛ8·!=+C~äÌ3r³ö iÒ¤ _ý5“&M¢Q£FtíÚUÛ! ¡é_¥•þUuÆÆÆ,[¶Œ2jÔ(6mÚ¤ÑÓ¹BF«ÅPjÖ¬Ipp0GŽ¡uëÖª};wîT Ê‘…®®®Ü¼y“Þ½{Ó°aCµý …‚}ûö©Í÷©©çÙ6(çuuu%,,ŒeË–1räHµýÇŽÃÛÛ»À9Uj×®½½=ÇŽcûöítëÖMµïäÉ“lÚ´ <==Õ^çïïO×®]U?,222øâ egüæ›ÏVÌ^d ÷hβŒ¥¼q°t ¦EM‚#‚9rñ­ëæÈ¿s;ÕF…‚rd¡«µ+7ïܤw“Þ4´Ë'G"ö©Í÷©©çÙ6(çuµv%ìjËŽ,cdë\ùs ï:…ä_µÚØWµçXÌ1¶ŸÝN7×üêI6ýµ úˆO?ý”:àç燓“—.]bûöíX[[“””¤V ùöÛoéÙ³'žžž´oßžúõëcllÌÕ«W %66–G•h~¨çÙ6ÀìÙ³éׯ£FbÅŠªÕäOž<ÉñãÇIOO/t¤éÔ©S7n~~~øúúR¿~}âââØ²e éééL™2EmÁ"PÎ³êææ†¯¯/FFF8p€ .`eeÅСCUǹ¸¸0iÒ$BBB055ÅÑÑQí˜ÒÆR}Ôñ#>Ýô)¾ë€ßë~8Y9q)éÛÏlǺ²5I÷“Ð!Gþõþ–žÿí‰çWž´¯ßžú5êcl`ÌÕ”«„Ɔûw,?Ê3‘&žgÛ³{̦ßÒ~ŒZ;Š!+T«ÉŸ¼z’ã—“¾4}Bò¯óTÆŽÃï'?|ùR¿F}âRâØrz é™éLñ™¢¶`(çYu›î†¯‡/FúFˆ<À…°2³b¨÷PÕq.ÖOóoÃ$B.…`jhŠ£•£Ú1¥E”­2þÁÂØ"ß}&ùo/ˆmÛ<Û>yH¦"“ãWCú?<Î|Œ¹±y‰¿7g<¦ŠQ•|ÿ ½ØÀã õQùÅmHÓ!¬?»žu§Ö1­Ã4]>Äõ»×U‹hâyÌi–‘•Á‘Ø#t®ßYí\»¸u¡MvFì$è|ÑÉÑ<ÎxŒo_&µž¤zü®¸ŸuAŸÑÂc I¸›@ ‡ts †z†èèè0õ÷©߬7žìk™“®rÔO–"K£6ÄËåÓO?åèÑ£L›6U«Vi;!Š$ý«ô¯šþUTDÖÖÖ,X°€²aÃúöí«íÄK¬\C### `Ó¦MªícÆŒáæÍ›lÙ²E­¨æççǺuë?~<{÷îeïÞ½ª}ºººtîÜYãG×s{žmôíÛ—ÔÔT>ýôSBCC UíkÕª•j‘¦‚Œ;–„„æÍ›ÇŽ;رc üËêðáÃùꫯò¼fÑ¢EyþrbeeÅ–-[TîøøøÐ A"""˜7omÚ´)°Z’XÊ£ÞúˆÈ[‘„°é¯ù×v 7ïÞdËé-jE5¿×ýX7bãÏÞ {Ù{!GŽèèÒ¹ag]Ïíy¶ зi_R¤òéÆO %46Gþ¹¶R-ÒT±íÆ’p;y{ç±ãìvœÍqÍ[ç+¿|òoÀ">Ùø KçÈ?3+¶ŒÝ¢ztÀ§¡ j6 âFóö>Í¿ºm ,†–$Q¶¬Í¬‰M‰åΣ;ynÎÎß:_êöm«Øò$ó K{--ðñj¦ÕTÇF&FríÎ5jYä6[ö6ò{4ÎÚÌš˜”Ó±1³QÛ—}>6•mò¼® u«×¥…C 6ŸßÌÇm>fí_kU#Z4õ<æ4;‚´ÇiyF8Usb|Ëñª¯Ão…3è×A$§%«n5ý¬‹röÆY,L,XݵÚÏž‡éINKÆØÀXµ­°ëVVñˆW—‘‘sæÌ¡_¿~ìß¿Ÿ·ÞzKÛ! Q(é_ 'ýk᤯:///†Î×_MÛ¶m±¶¶ÖvHâ%¥õb¨žž+V¬`̘1>|P®¬þÆoP¯^=¬¬¬Tpg{çwðóóãÀDGG“••…££#Í›7W[¤§cÇŽS£F</÷7OY´ àííÍ—_~™grßÑ£GÓ¿öîÝKll,æææxzzÒ¬Y³|ÛÉmΜ9Œ5Šàà`©V­íÚµS[á>§ºuëÁöíÛ‰‹‹ÃÎÎŽnݺaa¡þË•±±1aaaìÚµ‹˜˜?~¬Š½ sÑ4–’\‡EOWCV0¦í_|š.-yÃé ê}^+3+µ_Þyãü^÷ã@ä¢oE“¥ÈÂÑÒ‘æÎÍÕé騠#ÆÆÔ¨’Ïy?Ýg]%Wþ•AÛÞ.Þ|ÙõK­Õ¶n3šþ^ýÙ{a/±Çbnbާƒ'Íœ4Ì¿žsÕfÁÁ$ÞK¤Z¥j´«ßNm…ûœêÚÔ%bVÛÏl'.%»ªvtó膅i®ü30&ì³0vÛELR 3«b/è\4¥$×A­•S+bþŽaêïS™ï;_µÕî¨Ýl»°­ÔíwªÛ‰…! Ù½‡Im&©8¸ÿø>[·ÐÔ¾)];™É„møÎ÷;œ-•‹ke)²Ø±“ºÕëRߺ>¦ÊGºâïÄç{>—þ¾Ää“ù¡ûT5QÎMv-Œ¥.USCšaôæÑ,:¶ˆcW1²ÙÈ|i+Èó˜Óì`ÌAŒôxÓñMµíßþï[z½Ö‹:–uTÛlÌl0Ð3 ôÚ³?œhúYÅÜØœ+)WˆNŠÆÍF¹*èíG·ù÷ïÿ柌Ô~îvÝÊ*ñjóôô¤sçÎÌŸ?ŸöíÛËêò¢\“þµhÒ¿LúWQ|øá‡üþûïüç?ÿaîܹÚG¼¤´^  ÃËËKm>ÎE‹qñâEzôè‘ïkLLLðõõÅ××·Àv;vìHÇŽ‹½¯´mƒ²€èíÿ¼5ôëׯÀ×ÅÑÑ‘#Fh|¼™™ (ò8SSÓ|*ì\4‰¥¤×áE »†—£—Ú|œ‹.âbâEz¼^@þ˜àÛÈßF…äˆ[G:ºpÞ…ì+mÛÞu¼ñ®S@þ™ZÐÏ«ùgéȈVÅÈ?#34Ó ÿ MéÓ4Ÿü+ä\4‰¥¤×AnD³"øR0Þ‹¼q¶t&õa*7îÝ M"#JÝþþKû <Ȇ³p¬æHe£Ê$§%sóþM2³2 èÀp¯áìŠÜÅù›çñùÙ{s{ÌM̉M%íq«û¯ÀÉÒ ‚Î~+\õbàÀ@Þoö>Û#¶sìê1ZýÔ gKgÒ§qíî5 }<úP·zÝbC{—öÔ²¨Å’?– §«Ç»žïëõÏcN³—СEž›ÆUa«Xöç2ª™V£–E-žd<áÒß—ÈÈÊ sÕqš~ÖEéàÒ°kat_ÕzÕ뛋‰ vævùä&MšÄûï¿O:uŠ~‘¹þ\ì Ò¾}{¼½½;v,'N¤eË–Œ¯|”`âĉZŽN¼êÚÏo÷\oÆ®ËÄß&ÒÒ¿%ã}š%ÿ„È™ kÞYƒ«•+Ó~+œ¤´$†y Ëw²ýâ250å׿2Ðs zÄüÃéë§I¸›@e£Ê m:÷àþÛÀßèæÞ tˆ¿Ïù›çy”þˆîîÝq³VŽŒ0Ö7fZûiéq1ù"¡×BU£2ª›Uç׿òF­7ø'ã"#ˆ¿±¾1£[Œ.Ö\dÙtutÜd0o¹¾Uèh/ÂÅä‹$ÜM ½Kû<û¦¶ŸJÝêuI}˜ÊÙg‰LŠDWG—îîÝ™ç;Ouœ¦ŸuQ†½1Œ~ýP  2)’ȤHjš×$ o€jÔP¶Â®[YÅ#^}´oßž•+Wj;! %ýkѤ-˜ô¯¢¢ðõõÅÉɉ+Vh;ñ’ÒQhúŒ@>²Gnܸ±TAtèЃªm322bþüùŒ7®TmWTS§NÅßߟӧOÓ¸qcm‡óÜéèè0qâD¾ÿþûb¿¶Ãw8•+ÿô˜ßg>ãÚKþ•ÄÔÍSñßãÏé/NÓ¸Ö«™eõó¯ ‰‰‰¤¥¥it¬‹K.Läí·5;¾¬]N¹LÚ“4,°0± 9-™+©WpµrUÍ;öàÉÂo…cgn‡½¹=wÝ!:9‡ªÔ¨œÿ”é™é\N¹Ì£ôGÔ¨\›Ê6Îqû0ý!—ÿ¾Œž®ŽÕU€åwÌ£ŒG( šÕVŸ&"9-™„» êâbé’guTMã à›ßðëÀ_ñªåUè±ÏÛ’?–0ÿð|Ž;–gÞ¶l©S¹v禆¦Ø™Ûåûùe+ì³Öô3ºóèq·ã¨b\§jN€r.µÇibßDíØ¢®[IãÉÞçXͱÀÏE¼XãÇ+¯Ã?&–i»ÇgðàÁç™ú§¼¹rå Ÿþ9½zõ¢W¯^Ú§Ô.^¼ÈÁƒùóÏ?yòä S¦LÁÃãÀãïܹC`` gÏžE¡Pàîî΀¨^½ú ‹ùyåaqHÿZ0é_¥/çõóô×_eöìÙ?~só¼‹x•'Ò¯—}¿nccƒ™™YI_¾±\<&àÀNž<É™3gHNN¦fÍštêÔ [[íþ•ïeVÔœ¦â™“pòêIÎ\;CòýdjZÔ¤“{'lÍ%ÿJª¨9MÅ«%çø@ÛáÍÌ™3éÛ·/~~~jû>>žþýû“””¤ÚvðàAÖ®]K`` uëï‘ê—™ô¯ù“þUúW!ºvíÊ×_;}ûòîïE“~=åµ_/ÅP€¦M›Ò´iSm‡ñÊ(sq¾Lš:6¥©£ä_Y‘¹8EE¶ùüf6žÝÈÅ¿/rïŸ{Lh5AÛ!0¹íd,M-µ†Z£««K»ví8tèP¹(†Þ¿ŸÐÐPÞ|óÍ<ûœY·nvvvZˆ¬l%%%áêêJ‡ˆŠŠâÿû_¡ÇòÉ'$%%ѤI† †žž=z”‰'²sçNtuËÅL_â“þU‘“™™­ZµbïÞ½å¢*ýzþÊk¿^nŠ¡B!Ä«àúÝëœL8 (Wcí߸¿–#R*£g„ж7Þxƒ   =z„‰‰æ«O¿h•*U¢Y³WcDÕ¶mÛ°¶¶`ÆŒ…{öìYN:EíÚµY½z5ÆÆÊ•¯Û·oOÏž=¹páÇŽ£U«â­>.^ Ò¿ !rkÙ²%óæÍ#33===m‡S é×Ë_¿.ÅP!„¢ õ|­'ÍšcmfcUGm‡#„ÈÁÓÓ“ôôt"##ÑÓÓÃßߟÁƒãååÅ/¿üÂ… °¶¶föìÙ:tˆåË—3qâDÞxC}õéì}ü±êɦ³gϪÚkÞ¼9kÖ¬áܹsÑ®];zõê…ŽŽ[·nU-ú°qãFŽ;¦j;000ß¹År¶ß¤IV¯^MTTæææ¼óÎ;ª8.\¸À¯¿þÊõë×±··gô!X² IDATøðáùΑËæÍ›¹xñ"899Ñ»woÜÜÊva”ì&Md}ûöUÝ0èééñî»ïòïÿ›#GŽH1´‚’þU‘›——iiiDGG“žž.ýºôë“b¨BQ†ìÍíU‹X!Ê{{{Œ‰‹‹ÃÒÒ’ÐÐP5jĬY³TsY5hЀäädBCCIMMÍÓNö¾Û·o«¶Ý½{—ÐÐP<==™;w. ª}{÷î%<<\5‚âúõëDFF v,ä?·Xvû|õÕW$&>[ˆbçÎ,_¾œ0qâD233Uû~ÿýwöìÙ£¶HA`` 3gÎT;îÈ‘#üòË/|ýõ×ôîÝ[µ}РAjÇÆÂ‚ŋktl~bbbò]„!{ÛåË—Kܾx¹Iÿ*„È­N:ƒ………ôëÒ¯kLŠ¡B!„¢BÐÑÑÁÞÞžøøx,-•sü­Zµ '''&L˜@íÚµ©R¥J©ÞãçŸÆÕÕ•o¾ù.\¸ÀâÅ‹Y·n#GޤfÍšøùùQ¹refÍšEŸ>}ò,´P˜•+WâîîΤI“¨Zµ*GŽaíڵ̚5‹””|}}騱#ººº¬Y³†'N°bÅ ¦N À©S§˜1c¦¦¦ 0 gåÊ•LŸ>æÍ›co¯,:…††j|ÓdeeUü,‡ì›ÐüV—͉rçÎR½‡BˆW‡žžvvvÄÅÅaa¡\4Lúué×5!ÅP!„BQaT«VMm䇵µ5AAAe6‡¨££#›6mÂÈÈ€6mÚžžÎ?þÈ™3g¨Y³&vvvª‘*öööÅšG¬N:üöÛoЮ];¢££ åÝwßU›¿«E‹´hÑ‚3gΨ¶••E@@žžžªííÚµ£qãÆ 6Œ;v¨™Z»v- …B£Ø²c*©ì›³üæ}ËÞ–žž^ª÷Bñj±¶¶&%%Eíké×¥_/J©Š¡)))$$$ðÑG•U}´‚BˆHKKÓh%Ô웓œÞe‹ŽŽ.uÙ+Ðjú¨ZY±µµåÉ“',]º4ßÇÖ@9•@¶9·X£F媾¾¾¾jû<Àk¯½Vª÷Bñj¹ÿ¾ôëÒ¯›Ì*„B!*Œ{÷îQ¹rå"«]»6 ü£·nÝT¯9xð ëׯ/u¦¦¦ÄÇÇ—º­âèÔ© .dÏž=Lš4ImÔÉýû÷Ù²e M›6Um{‘s‹µk×vîÜÉÛo¿M‡ #00|||JõB!^-÷îÝÓh‘$éו¤_W’b¨B!„¨0îÞ½«Q1ÔÍÍ wwwÂÃÃiݺ5ÎÎÎüý÷ß\¿~Ξ=[ª8œœœ011!((ˆððpÕ*¸¥j·(#FŒ`ÿþý²aé\¹2ÉÉÉܼy“ÌÌLTÇ—vn±Å‹(“ð÷÷gÉ’%Lœ8QõæææL˜0F…««+úúúDEE¡P(3f 5jÔ(U´0Ò¯+I¿®¤«•wBñÒ{”þˆÙÁ³iµ¸®þ®¸ÌuáaúCæýo.s]ˆLŠT{þæy\溰0d¡#®Øg<Æÿ?mÿÛ–zßÖS]/¡}›ÏoÆe® {¢÷ûµò}X<<àÆ¸¸¸y¬ŽŽþþþ888pÿþ}Ξ=ËßÿÍÇL¿~ýJ‹±±1Ó¦MÃÈȈ‹/Jhhh©Û-Š©©)¿þú+ÄÀÀ€˜˜NŸ>MBB•+WfèС¸»»—Ùû]¾|YunIIIªUrCCCIMMU;þý÷ßç“O>¡R¥J\ºt‰ÈÈHŒŒŒøàƒ˜8qb™ÅUžÉ÷õËEú×òKú×WßíÛ·ILL¤^½zE+ýzÙxUúu*„¢D†,dÕÉUÚChhÉŸKX~b¹¶ÃxéœL8Iÿ_úóQëë=VÛáä!߇ÅIVV 4ÀÄÄ„uëÖáààPàñõë×'øÿìÝytMWûÀñïÍœˆˆ$Ä‘ „AcVTi(júUUU´¨ªò¶´úšk¦)U¥¦’˜ª¨„"†b  1Dˆ $‘áþþÈ›[W¦{o†+ñ|Ö²–œ³Ï>ÏÞ÷$OÎÎ9{qåÊ’““qqq¡|ùòܽ{—µk×R«V-UÙ äY_ö>'''µíýúõÃ××—¨¨(’““U¯­¹¸¸°víZµEò«À€´k׎êÕ«çØ7sæÌsƒYZZ2uêT&Ož¬:wåÊ•qppÀÀ hŸ•1bï½÷^žûÝÝÝsl6lƒ "**ŠÌÌL\]]U¯¾ äûºt‘üªɯ¢(d/ \·n] $¯K^ט † !„ÐÉþ¨ý”7-Ïæ›q¶qÆ@‘•hÇ·Ïø6ãõxQЕ \?/QºÉ÷¡v°¶¶V­4ëíí]à1 …BíæÀÞÞ>Çb ÖÖÖyÖ—ß> ‹‹”+W.Gùüê¨Q£†j.´e/^ccc<<<òÜ_\]]quuÕú833³"}’¥4‘ïëÒEòkÙ$߇¥ÃéÓ§qttT-$y]òº¦d0T!„Nâ“âq±uÁÕVûd(JÞíG·åó*ƒäûP;ÁÁÁ´hÑBßa‘/ù¾.]$¿–Mò}X:ìÚµKµ(Ú(ÑÁPKKK7nÌßÿ]’§-e©-º(í·´\@ãÆ•ùûïÂÏ¢oe©-ºxÕÛ¯oÓ‚¦©^:{ë,n3rŸ{oÇàÔ±¯“o]J¥’Íç6óû¹ß‰¸A†2ggú6ìË€FP(Œ>Èàß3©ý$96bÖþYœ¿sS#SÚº¶eRûIX›«Oœ~âÆ ÖŸYÏ™›g¸ýø6–&–4rlÄ'Í>áõj¯«Ê=_wû:Ì=8—ð»áT0«ÀÿyýÚ`õ©Õ¬9µ†›oRͺcZŽá-·tjOIzþóJLNT}^ýõã»Nß©µ¿^åzÌ;8°;a¸Øº°uÐV@ó¾x˜òþÀžˆ=ú^›kiÉ‘%Ì;8€yç©þùe¤Vçx”ò(«o.ïáQÊ#Ußös-©ïÃÒ.11‘þù‡yóæ\X=ü*ùUò«äW¡¹¨¨(®\¹Âwß}§ïPD)$O†Š<ѦM‚‚‚ôŠxÍ¥M›êå=‰(Ý”J%Ÿÿñ9Û¶©m¿Δ¿¦p)îß¿õ½Ú¾ówÎ3ûïÙ<ËxdMn¿åÂbƲ~ÀzU¹ø¤xú­í§vìƒäì‹ÜǨüÖÿ7šTo¢¶ÿÌ­3ÌØ7ƒ e†ªî9æ`jdJü“x~:ö“ªlôýh>Ýö)N6Nª_„uiOnjϪMFfFåìÊÙqlÔ1Ê$ôf¨Zû3•™€v}™šžÊÿ­û?µE.ܹÀ'ŸÐÅ£KžçÖGßkz-åG›ó¦¦§2`Ý­û¦¸Õu[ìÚµ cccÚ´i£ïP„(V’_s'ùUòkIz•ò«¾lذ*Uªàåå¥ïPD)T¢ƒ¡III%yºbU–Ú¢‹ÒØþ¤¤OõB‘)KmÑÅ«Þ~}›Üa2“;L¦Ñ¼F¸Ø¸ðA€ÚþÙÏÆÿ˜õl ÛÆ¶°mÔ®T›/Ú~gOLL¹pçß}ËÆ³éÕ ©ŽÙ¶þúóQÓp(ï@Ø0ÆlÉ'¸w‰:Y¿¼+ |œ}øú@ê:ÔÅ®œSrüúq¾Øù?ý1ÇÍÚÎK;ù°É‡ j< Dà³mŸ±0d!™ÊL¦w™N{·ö( Xvt?ÿ™•ÇW2»ëlÛS ú¼²í ßEoÏÞ õJ ëÚõåêS«¹t÷.¶.Lí8Ϫž$µ:ÏõÑ÷š\K~-üð®áçÚœ÷ù¾™òæ:6$áiË-gíéµEþ¹ç÷ai”™™ÉªU«èÖ­›Þ'ì"/’_%¿J~EëóJ~}5=xð€72nܸ"_ H¼äÉP!„z±ùüf ù¥Ï/Ø[þ;ay“êM˜×mWt&èJÚ/‰>Î>|Ûé[ÕׯW{¡Í†2å¯)„LJ«nÖìÊÙñyëÏñ?æÏäÝ“¹ÿä¾ê©€ˆøˆñ´riŤö“T_w®Ý™îر›¯ÚEï½Uû¾hó¿ŸýÈû‘…jOn"¾È[IhXµ!ÿíü߯liÓ—»#v£P(XÒc îvY+IZT°àë7¿&:!š˜\Ï­¾×ôZÊ6çÝž{ßLí4•˜1¹z¤À󇢺n_výõ111,Y²Dß¡Qì$¿æNò«ä×’ôªäW}Y¾|9ôé#Ó¦ ݼs†®Y³†¥K—ráÂ222ðððàÃ?ÄÏÏ/Ç(ÿ˜3gGåÑ£G8::Ò³gO¾þúk¬¬¬HIIÁÜÜ___–-[ÆØ±cÙ³g©©©4oÞœ¹sçâéé©Voff&sçÎeùòå\»vjÕª1|øpzö쉋‹ ~~~,^¼8϶èrNMÛSMúïùøæÍ›ÇرcÙ¿?øøø0cÆ U|!!!´lÙÈZhàùĽÿ~Ú´iS¨ÏR×¾*¬¼æ™\³æ"K—žæÂ…{dd(ñð°áÃ_Ãϯê¿´8pƒ9sNrôè-=JÅѱ<={ºóõ×-°²2ù_ûÒ17Ÿ¯¯Ë–½ÉرûÙ³ç*©©4o^…¹sÛâéYI­ÞÌL%sçždùòs\»öˆjÕ,>¼!={ÖÂÅe9~~X¼øß‰¡_l‹.çÔ´=ѤÿžoÞ¼¶Œ»Ÿýûo‘‘‰O5fÌh¥Š/$ä&-[f½B|…bŽê\û÷÷¡M›ê…ú,uí+Qô®Ä_!#3ƒ–K³~Þ(•J”(Uÿ¸õè–Ú1Íj4ËQOuëêœ>}<ðõu#:ú!£FcmmÆœ9­éÒÅ…Š͈ŠJdÊ”#lÚÁ‚¡Lœèý\ûnкuu6lèF½z¶Ü¼™Äðá{ ¾ÎÚµ—øôÓ¬‰ž¿¿ÿY¬¬LX° ݺ¹’ž®dË–+Œ»_«6izN]ÚS˜þËvèP,ÍšU!0Зzõì¸qã1“'‡p™‘#ƒ8t¨>>Ž(•Ÿkµ€’.±hÚW¢ø¸ÚºÆ‘‘G(oZ¾H뾑x»rv9V½žx« W±2ÓìÉ{mg{ôI›¾¬Y±&çnŸ#ò^$nvêOà…\Íý©•¢Pœ}o Èz«!·›mÎ[Óº&çîœãʽ+9ž^9s°èÖRY½n³]»vÅ‹3zôh\\\ôŽ%Bòké ùUò«ÐÞâÅ‹¹páÛ¶mÃÐÐPßáˆRL¯3ÍnÚ´ €¯¿þš‘#GR¹relll0`€ê•ô7ðÛo¿‘––†¿¿?ƒ¦råʘššR·n]Ö¯_OåʕٶM}¥6;;;¶oßN“&M°°°ÀÝÝ pöì¿OádMŠ<}út „­­- 6ŒÉ“'kÕ&MÏ©K{ ÓÙ,--Ù¶mM›6¥\¹rxxx°~ýz<<< !.N»' ‹¦}U\6mºü¿˜›3rd#*W.‡Ôañâÿ‹9€ß~»HZZ&þþo2xp}*W.‡©©!uëÚ²~}W*W.Ƕm‘jõÛÙ™³}{š4©Œ……1îîY° ÝÿÚwWU. à Ó§·bРװµ5ÇÁÁ‚aÃ<™<¹¹VmÒôœº´§0ý—ÍÒÒ˜mÛzдiÊ•3ÆÃÆõë»âáaCHÈMââžjÕÞÂÄ¢i_‰âÓÛ³7ÉiÉ Ü0}‘ûHxš@ZF7Þdä~ü¶øéüjSU«ªÜzŸ5§Öð8õ1SówÔß|ôûGª¿Ôµ¢jOÄD~©Ñ¿¢zj%?Úôe§ZP*•ømñãŸëÿœ–Ì͇7ù>øû<_á+ Åy-U0«À‰'HLNÔù¼=:«úæèµ£™5ØÒµk×û²·e—  _¿~ôë×Oõˆ½R©TýÿÅW¼¼¼rÌ»™ýTÀãÇUÛ¢¢¢èÔ©SŽ8:uêĤI“rlÏ‹¦çÔ¥=/Ò¦ÿ²5lØ{{{µmÆÆÆªWÓ###qppÈ¿‘E‹¦}U\"#ü/>×ûºvuù_™¬Ä–5wN¿~ЯߪW˳>¯¬ÿ¿øqyy9ä˜wÓÅ%ë5™ÇŸ©¶EEe£S'§qtêäĤI‡4n“¦çÔ¥=/Ò¦ÿ²5lh½½úÔÆÆ´o_“ðð"#àà ý*¿ºÄ¢i_‰âóîkïrüúqÎ0tóÐ\ËôñÔmRô~úq úS÷NeêÞ©ªíuêR«R-î&ý€wq¶GŸ´é˲ýâvÂï†3`ÝÕv…BÁ[o±+|FEÿ«Gqö½SE',8zí(4Vmü2R«ó|} Ûöséî%Þ_ÿïk] …‚·ë¼ÍÎK;uН°Êêu ðÕW_qûöm12ÒûÌPB”ɯ¥ƒäWɯ¥ñº-N.\ÀÕÕsóœÓ•………ñùçŸÓ¿ ËÑBhG¯O†f+hÐPÍ]’‘‘AFF™™™dffªÍ;òì™úFnßDÙçÊm¾’ÜâÐt^mÏ©K{ò¢Iÿiª°uis¼¶ŸOqÑ$äÌ̬x22”dd(ÉÌÌú÷|˜Ïž©ÿ×Ü<ç/$ÙçÊ­yEsýivN]Ú“—"¼üŠàúÓ¼¬¶Ÿ(z …‚™oÏda÷…¼áôÌ*`lhLuëê¼YëM–½»Œ7œßЩîîø¡ÛxØ{`fd†½¥=ýõcM¿5˜j¶8˜¶Š³=ú¤M_š™ñ[¿ßèר¶¶˜™òZå×ðïé¯zu-ûI¢Tœ}oh`È’w—иZcÌÕó–6ç552emÿµ h4»rv˜™Rס.ËÞ]F+—V…î]•æëvݺuÄÆÆæºoÁ‚üùçŸ,\¸5j”pdBè—ä×ÒAò«ä×ÒxÝ—¨¨(ȯ¿þšcßùóçùàƒhܸ1ÿùÏô(‹ôúgòì=wîÜI½zõÔöýùçŸje<<<Ø»w/:t(Ò8\]³ž&Û³gÇWÛ·wïÞ"=W¶¢h6ý—íÌ™3ܽ{Wíéд´4‚ƒƒûÀÀÀ€ôôôb‹EßÜÜ*°sg4õê©/ÖôçŸÑÿ+“õ¤ ‡‡ {÷ö¦C‡šE‡«kÖ9öì‰aøð†jûöî½V¤çÊVíѦÿ²9s—»wŸª=š––IppV;³ûÀÀ@Azºf£’ºÄ" ïô˜Ó¹nßf<ãÛŒWÛV¿J}"¿Ì}ê….]èâÑ%ßsµri•çñyí{§Þ;¼SïÛ·ÚªqÝÛMdb»ÜçnÞ5dW®Û5i>äõyå×þlšö%d-ñ]§ïø®Ówªm™ÊLæšB¡P›ÏK}¯ËµÔ°jC6ü߆<ëÔô3·2³bj§©Lí45Ǿžõ{x|nJòûðe²k×.¾ùæÞ~ûmæÏŸ¯¶oáÂ…,Y²„ï¿ÿž-Zè)B!t'ùUò«äWÍÏ ’_K»;wîðþûïóøñc–,YBß¾}±¶Îºw;}ú4ƒÆËË‹¥K—Ê›¢ÈèõÉÐÞ½{0uêT–.]J\\<`ýúõŒ9€÷ÞËZ}Jxx8ýû÷'<<µWämll #**JmUÁ¢ŠEßz÷®ÀÔ©GYºô qqOyð …õëÃ92kpø½÷²­¬‡‘‘ìdåÊóܸñ˜gÏ2ˆ‹{JHÈMF fúôtŠãÝw³~q™8ñkÖ\$!!…øø§üôÓ9¦M+žùŠŠ¢=Úô_¶¤¤4|}·püømž>M#<<þýÿ <<GµWämlÌ »GTT¢êIÖ¢ŒEQ<þü_¶…mãæÃ›$§%séî%FoÍŸ‹x×ðÎsU]!4õÏ?ÿ0fÌþøã.\¸d½M1oÞ</^Ì´iÓT¿›!DY ùU”E?fРA$$$ T*IKKcÉ’%ìØ±ƒ÷ߟ¦M›²lÙ2LMMõ­(Kô:¬îååŸqã˜;w.~~~øùù©íïÛ·/Ý»wÀÝÝeË–1lØ0>úè£\ë›0a‚Nqx{{3dÈV¬XÁÀÕöõéÓ‡7bll¬SÝy)ŠöhÓÙZ¶lITTÞÞê«„[ZZª:ÊÖ¶m[6lØ öDçþýûiÓ¦M‘Ä¢o^^Œט¹sOâ焟_Úþ¾}=èÞ=«íîîY¶ìM† û‹>Ú“k}&4Õ)oï* RŸ+Î3pàŸjûúôñ`ãÆpŒ‹öïEÑmú/[Ë–ÕˆŠJÄÛ{­ÚvKKcÕBGÙÚ¶­Á† ḹ­PmÛ¿¿mÚT/’X„Å#æA +O¬Ì±ÝÂØ‚Ií5ŸƒûUuéî%º­ìV`¹îø±ç%ÑËåòåË :T5µ¡¡!ß~û-«W¯æË/¿d×®]|ÿý÷2*„(s$¿Žä×—OJJ ƒæêÕ«ª7RÓÓÓY½z5™™™¬^½š>}ú0eÊy"T9½Ï:gÎ~ýõW¼½½)W®fffxzz²`ÁÖ®U02dG¥oß¾T­ZcccªV­JëÖ­Yºt)_}õ•Îqøûû3cÆ \]]111ÁÅÅ…Y³fñÉ'ŸP±bÅBµ37EÑmú²žöG o_ªVµÄØØ€ªU-iݺ:K—v૯šé‡¿GfÌh…««5&&†¸¸T`Ö¬Ö|òI*V4+T;sSíѦÿ ëiσûÒ­›+VV&XZÓ©“‡õÃÓ³’ZÙyóÚÒ«W-llÌ4š TÛX„ÅcRûIô¬ß“škbbh‚… kwfóÀÍÔ±¯£ïðD)vçÎ>øàRSSÕæ^ ¥k×®„„„ðË/¿È@¨¢L’ü*Ê’ŒŒ >ûì3Ο?Ÿcj>…BÁÎ;™>}:Ó¦M“PQ,ÊB¬T“ýËæ¦M›Š, —ÍèÑ£Y´hª×éK£””ÌÍÍñõõeëÖœsДv …‚Ï>ûŒyóæé;”"5zô>- % ÀWõ:}i”’’޹ù||}ÝØºõåzBXWÅýó/..ޤ¤$ʺ¹¹²pa]ºhV^!^f£FeMÙ³hQœj[bb"={öäæÍ›9nš ¨P¡7nÄÅÅ¥DceWnסBí½øóT©T2qâDóŽoëÖ­¼öÚk%£(}°´´ÔõðM2Äþ?+V¬àÞ½{øúúâääÄ­[·øõ×_Yºt)åË—§cÇŽúQ”a+VœçÞ½§øúºáäT[·’øõ×0–.=Mùò&tìè¤ï…B½HIIá£>Êu  33“‡ròäI B!^rsæÌ)p ÔÈȈ™3g²fÍšŒL¼Jd0ô™8q"'æ\Yï‡~(̈³JLLaâÄCLœx(Ǿ~h‹¥eÑÎY+„B”|úé§„……å:šM©T2{ölºu놹¹y F(„BM­]»ÿË¥§§sôèQBBBðññ)ÈÄ«Fïs†¾,>þøc&MšDýúõ)W®VVV´nÝšíÛ·3dÈ}‡'ʸ?nÀ¤Iͨ_ߎr匱²2¡uëêlßÞƒ!Cêë;>ÿ<÷ûA###233Uƒžvvv¸»»ãáá««+)))XXX”d¸â ƒ¡B!„â¥rýú víZª¶íùAO \]]©W¯îî¹áîî.¡B!ÄKäáÃPBCû’‘‘B¡²?tppÀÃÃZµjáêꊛ›®®®”+WNÏ‹W † !„Bˆ—F\Üv.^§úº\¹r¸ººR·n]Õ€§»»;ööözŒR!„¹yó&ÿ¡R¥Îôî] 777\\\puuÅÄÄDßá‰W˜ † !„Bˆ—B||<÷ïÂÃc:&8P«V-ôB!J)GGGš6Ý À§ŸÆé9!þ%ƒ¡B!tvçñEâÎã;(Q2¼ùpŽß8ΩØSôkØJ–•¸›t— g6à]ÃïÞÅOIG_2•™œ½u–®ÿóŒgøÖó¥fÅšùs*öçnŸ#S™I=‡z4­ÑEÞë'jR>19‘Õ§VàXÁ‘žõ{æZ×åøËìŽØ ÀëÕ^ç §7´i®xUªT‰ºugàã#7MâÕ%ùµdI~BˆW‹ † !„Ðɉ'üû`’Ó’UÛ†xáÈÕ#øóçÍZoªnÖâDZ0d!£}FëMTIG¦îÊÎK;Ixš ÚÖ°jÑ›5!„Ѐä×’%ùU!^=2*„B' C’œ–L.¸Øº` 0ÀØÀ˜N-052Å΢ä1q(ïP&oÔv…ï"19‘†U’š‘Ê¥¸Kù–ÿæ¯o8}kskºÖ銑†ÿɉ'øbçüØóÇB•¨n]‰7øãÒ h4@mßãÔÇì‰ØC ë\O¼^øBˆW„ä×’%ùU!^=… =vì±±±ªÁ„Чùóç3þ|}‡!^!ÕªUÓwzu? 7;7v_¨¶ý §7ôö„‚½¥=£}FëåÜÅmJÇ)4©Þ[ [¦ü5%ß›µØ‡±l½°•ò¦åÙ:h+Õ*d]«Ã[ §ÛÊn] âÒÝKÔ±¯£Sùlµ+ÕÆÊÔŠMg7å¸YÛqq)é)ôlГyçeW!D™&ùµdI~BˆWO¡CÝÝÝ177çí·ß.ªx„ÐIÖ èg@s}‡"^ópw7×wzq0ú gn!19 Õë\/z~N³üd(38zõ(ñ¤g¦ãlãLk—Ö˜™ª•KËHãPÌ!®'^G©TR³bMZ8µÀÌÈLU&·9Í–]FZFZžçÿõ÷©h^QëxJZçÚ5.»/r™ÊLÞó|Ouã`kaË?`öß³Ù{y¯êæKÛòÏëÕ S÷N%ün8öªí›Ïm¦Ž}\B‘“äWýü*„¯žB †ÚÚÚbkk˼yò)¡_Yƒ¡Í÷ôŠxelÂÖVß1èÇÁ胬:¹ €¸¤¸¸JHL—ã/ç;‡Ùˆ#r<¹’šžÊ/'~áý×ßÇÙÆYëxò³øÈb223 l?dÝlÇÍZü“¬›ÚªVUsìs¬àd=å£kùçU0«À›µÞdë…­Lh;##6Û„±¡1ïÔ}‡Ð›¡…kŒB¼"$¿J~}žäW!„(>2*„B+­\ZÑÊ¥¿œø…Êå+ç˜C,5=U£›µŸŽýÄ£”GLí8•^êóa­:¹ŠiAÓØ~q;ýõ'áiÎ6Îlûp U¹„§ j«¿æfxóáj_§e¤1,`ïy¾ÇÄvuŠ'?#[ŒÔêɕ⚞ 뫇ÙÛR3Ru.ÿ¢^ z±óÒN‚¯Óέ[/l¥ƒ{¬Í­uo„B¼b$¿J~}‘äW!„(2*„B/Ž\;‚¡Â„§ ,9²¥R‰R™u“ó$í çoŸ‡FЩv'V_Éïg§[;ì-í°±°ÁÆÂFãsf(3½m4åøæÍotŽ'?£|FiOqQÝ`¥ç¼ÁRݘšê\þEo8½A«*l>¿%J$? wƒÞº7@!„Î$¿ɯBQ6È`¨B½Hxš@†2ƒ! ò,ó8õ1ŸµüŒÖ5ض•iAÓ°0± QÕFø¾æK./#3ƒ1ÛÇPΤÓ:OC¡PèO~^†9Í*•ËšKîÖ£[j‹.@Ö늀Ú|sÚ–‘€¯õÀÿ˜?÷ŸÜÇÁÒgŸÂ7D!„Ö$¿J~B‘? B¡VfV<ËxÆÇÞçYÆÍΠȺèÕ ½ô"S™ÉÕ„«ìÚÏØíc »Æø6ãó=W¦2“ N`f—™j¯êO~^†9Íê8d­0ûÏõhçÖNmß±ëDzÊ<· ­¶åsÓ«A/–]ƹÛçÞ|x®},„¢øI~•ü*„"2ZÄ6nÜȲe˘?> 6ÔúøŸ~ú‰uëÖ±bÅ ÜÜ þ¥@!J«5[°ñìFjV¬‰o=ßûÃï†SÞ´<û#÷ÓÊ¥††( p±uÁÉÆ‰5§Öp> ß›5¥RÉäÝ“yòì ‹{,ÆPaXèxòó2ÌiÖέß}Ǧs›xÿõ÷©V¡÷ŸÞçד¿Y«ëZ>75¬kðu‡¯yü€^ zG³„Bh@ò«äW!„ù“ÁÐ"vãÆ 8@bb¢NÇGGGsàÀ’’’Š82!„x¹ o1œÝ»·c¿œøÏ*ž”7+O|R<—ï]æüíó¬|o%ŽñÛâGEóŠxUó¢ºuuÒ2Ò8vý±cs¼vö¢©{§²=l;ƒš bÉá%9ö¿ÿúûT4¯¨U<ù)®9ÍöDì!">€s·Ï°-lgn ‹GÕ“5Õ*T£Çk=<H÷UÝéZ§+ƆÆì¼´“»IwéàÞAíImËçåý×ß/êf !„Ð’äWíH~BˆW †±>}úиqcž BˆWIµ ÕXÓo ãvŒã \¸sAmû:ª£vníØ{y/»Âwå¨ã¿oý7Ïs„ß ç·Ðßøñè¹–y»ÎÛT4¯¨U<úð×å¿Ø¶MmÛó_תTKí5é§ŸÏ¡˜Cª>h\­1³Þž•£~mË !„x9I~ÕŽäW!„xõÈ`h«^½:Õ«W×wBQì>iöI®+Ͷpj©‘)vvªmåí3ïÞjeë:ÔåÏþ$ôf(î\ 9-™Êå+S»RmÕ<[‹{,&>)ž“±'¹‘x  œmœi^³¹ÚÜY/žÇÖ–Ñ>£ómÇómÐ4}èX«#5+ÖÌs¿›­úÔ*æÆæüÒçNÆžäÜísdffR¯r=¼kxç:ߘ6å+˜U`´Ïh\l] ŒÛÙÆ™Ñ>£y½Úë¶T!^m’_K–äW!„xõ(”J¥f¯ä¢wïÞlÚ´©È*íòš34##ƒ 6°{÷nâââ°±±¡]»v 8333U¹/¿ü’™3grúôi”J%?þø#×®]£jÕª <Y=07Y«VnÞÓw(â•Ñ›^½Šïç_\\œÆÓe¸¹¹²pa]ºÈôBˆÒoÔ(-ŠÓs$âU&סB ùy*Šƒƒƒ–––º¾Iž -b¹ÍúäÉ:wîLHHˆZÙ7²xñb‚‚‚°··WÛ·k×.¦L™Â³gÏTÛ~ùå-ZÄÈ‘#‹·B!„B!„B”A9ŸãE¾"$$„J•*1gÎvîÜÉ’%Kpvvæüùó 6,Ç1ß|ó :ubݺu2tèP cÆŒ!""B­B!„B!„¢t“'C‹Yzz:+W®ÄÌÌŒjÕª¥Ú×§O<<<غu+qqq888¨öuíÚ•ÀÀ@Õ×=zô J•*L:•U«V1}úôm‡B!„B!„¥<ZÌ¢££IJJ¢mÛ¶j¡¶¶¶ôêÕ ¥RɹsçÔö <8G]ÙÛ^,+„B!„B!„(˜ †³””llr®ùüöìrÙ¬­­ó,›œœ\”! !„B!„BñJÁÐbV¥JN:EfffŽý'Nœ jÕªjÛCCCs”=yò$ŽŽŽE¦B!„B!„ež †³J•*áååExx8_~ù%iii(•J.\ÈÞ½{©\¹2žžžjÇM›6M5ø píÚ5F @ÇŽK®B!„B!„B”²€R ˜5k;vdöìÙüüóϸººrýúuâââTûŒÔ?ŠjÕªáíí»»;¦¦¦„‡‡óìÙ36lHŸ>}ôÑ !„B!„B!J5y2´´oßž;vàææFBB'Nœ ..ŽªU«²fÍÞÿýÇ,X°___"""8wîÏž=£}ûöìÚµ =´B!„B!„BˆÒMž -bÙ‹½8`Ù¥KºtéBdd$qqqØØØàááB¡P+7tèP:wîL£F äæÍ›\¿~GGGjÔ¨QbíB!„B!„¢¬‘ÁÐ"–½ RåÊ•sÝïææ†››[žÇ»¸¸àââ¢úÚÑÑQLB!„B!„¢ÈkòEä‡~ V­ZìØ±gggœõ’B¡µèûÑô_ÛŸ€óúE!„(3$¿ !ÄËCC‹ÈåË—¹rå ¬^½:ÇëïB!ÄË"">‚þkû³õÂÖûž<{Âñǹùð¦"B!J/ɯBQ:ÈkòEdìØ±øùùQ»vmYàH!ÄKíqêcŽß8ÎÎoäØçbëÂÚþkq¬ S´!„Úü*„¥ƒ †‘Zµjé;!„¢ÐÊ™”û†·¾ÃB!ÊɯBñòÁP!„:û3üOöDìáqêcÜíÜù ñDÞ‹äÇ£?òY«ÏhZ½)goeæþ™ l<&Õ›ð[èo„Ý ÃÞÒži§püÆqþ¸ø7o`bhBý*õéÛ°/våìTçÛ¹Ÿåÿ,W«ûÅ}c[¥qµÆ9ÎëåèÅêS«¹w  :¸wàºïh=­‰&m‰Iˆ!à|—ã/“ž™Ž³3½ê÷¢ŽC\ëÑ&6Mú)¿WkÌÏÇ`ÓÙMŽ9¬:nÝ€uDßfòîÉôlГžõ{樯Yf¬>µšs·ÏajdJ[×¶ô¬ß3×X5½>„B¨“ü*ùUò«B B¡“ ;'¨-p0ú çè×°Ço'ái‚jßÔ‡¿qœUðíÞo¹›t€ºuøoðYyb¥ZýÁ‘Áürâ–÷^Ž—£ñOâsÔ-{߃§rœ·~•újçØ¾‹ +A,ô]¨Õ [AmYwzSÿšJ†2C­o~ ýï;O¯½tŽMÓ~Ê/Æ*VU¸t÷±c‰}«V_öœfÍj6ËÑf¯j^ÌØ7Cí˜={¸pçS:NQ«G›ëC!Ä¿$¿J~ɯBQœd0T!„Öþ ÿ“€ó˜›óQÓhP¥’°æÔ–ÿ³<ÏãVX…³3£}FSúVfVüuù/VžX‰‘4þ€¦5šò8å1›ÏoæØµcŒÜ2’ýÃöcjdªs¼¿žügg>kù•ÊU",.Œåÿ,gWø.6»l¦wƒÞZ×™[[Bo†2å¯)X˜XпQ<«xbbhÂ…;øåä/ügÏhV³Õ*TÓ:6]ú)·+šW¤¼iy¾Ýû-½={Ó½^wۼ⟸۹óß·þ‹CyÂôÈRÖž^ËÐfC©jUÐýúBˆWäWɯ’_…¢øÉ`¨B­ý~öwø. [;Õöwê¾Cו]‰º•ëqö–ö~ˆ¹±¹jÛ`F—tíßßz¾ Ü0£×ŽL.:Ç[ɲ’ÚyÛºµ¥qµÆüßúÿcã™:ݬåÖ–‘[F’©Ìdå{+UO‘dŸ¯¡cC>Üø!;.î`xóáZǶáÌ@»~Ê-Fø÷)›jªi5™“›nVݶviMZf‹BqæÖÕÍš®×‡B¼ê$¿J~ɯBQÜd0T!„Ö.Ç_ÆÚÜZíqcCcºÕíÆüCós=®síÎ9nÂï†cnlŽo=_µí …‚¾ ûrôÚQ.Å]*ÔÍZ.9ΛýID|„NuæÖ–³·Ïb¨0Tµ_©T¢D @zF:@ŽMcÓ¥Ÿr‹±0:×îœã ¢×*¿ öú¤®×‡B¼ê$¿J~Í&ùU!ŠO¡C/_¾Ì•+W¨^½zQÅ#D!| ŒÓwâ•qŸË—Ýõ„Þ¤¤§`mfë¾ fò<®ŠU•ÛRÓS±2µÊu^±ìºRÓS Œ)#3#Ï}VfV¹n·6·æÖ£[Ö›ÜÚòôÙS2”¹z$ÏãRÒRtŠM—~Ê-ÆÂÈí³560 S™©Ú¦ëõ!„¯:ɯ’_³I~Bˆâ#O†Š2£aC*W®¬ï0Ä+âÌ™3úA¯ì-퉹Cbr"Öæê¿”‡Å…i]WäýHâ’âp°tPÛwþÎyÊgmϾ±¹ÿä~Žzò{%ìNΘž<{Bôýhì-íµŠ7?U¬ªð,ãþ=ý140̵Œ…N±iÓOQuçT*5*¯­¢¼>„âU"ù5w’_³H~Bˆ¢Q¨ÁÐZµjQ«V-6mÚTTñ¡…BÁàÁƒéÒE÷×|„ÐÆÈ‘#±´´ÔwzããäCä½H&ížÄ¬·gQΤ{/ïeËù-ZÕÕÒ¹%Wî]á‹?¾`¾ï|*šWàÄøóW•¨a]€Mç6ñN½w(oZ€}‘ûØxvcžçØ{e/çèY¿'ÉiÉLÚ5‰§iOy»îÛZÅ›ŸŽµ:²0d!»#v3®õ8µ§4§>fË…-4®ÖX§Ø´é§‚X[p=ñºîÍGQ^Bñ*‘üš;ɯY$¿ !DÑ'C…Bhmˆ÷/²'b‡¢ájçʃ§ˆ}K]‡º\Œ»ˆÂ@£º>öþ˜í·søêaZ.i‰‹­ I©IÜxx¥RIoÏÞÔªT €:öu¨çP w.Ðji+\l]¸÷ä7ÞijŠ'goŸÍõuìë0aç~8ðöåí‰Iˆ!)5 c µÅŠ¢_ö^Ù˺Óëøýìï8Ù8QÞ´<ñIñÜ~|›ŒÌ V¾·R§Ø´é§‚8Û:cnlNàù@.ܹ zånÝ€uEÖEu}!Ä«DòkÞý"ùUò«BùI)„Bk•ËWfUŸU¸Úºò4í)çoŸçÎã;|ìý±jì§ Rɲ묧iõ¦¤¤§p1î"ׯcfdưæÃ˜Öyšª¬B¡`æÛ3©Y±&SsöÖYî=¹ÇØVcéÓ°OžçèñZF¾1’É8û˜Ií'ña“y”òˆ˜„,L,p³uËu±„‚hÚ–´Œ4¢îG‘œ–Låò•q(ï ö´Fab+¨Ÿ4ñiÚS¢îE‘œžŒR©Ä»†7Ož=á 8Vp¤Z…jÖ—½ÏÉÆ)Ç\k Ùõ!ÄóFʺŽ-ŠÓs$âUö2\‡’_s'ù5‹äWQZ¼ ?OEÙãààP˜ië6ÉkòB!tp>€æ5›ãjë d­vºêä*öEîÃÅÖEíqksk¼kxXg%ËJT²¬T`9…B‘ã•5{Kûk°2³Â³ªgõçGÓ¶ãaï¡q½ÚÄVP?i£…±õ«ÔWÛVΤ\Žcó«/¯}Ú\B!þ%ù5’_%¿ !DaÉ`¨BìŽØÍ—~‰£•#66\O¼Nbr"cZŽÑstÚ¹öàÿœX`¹ÆÕ3¶Õ؈¨ô+KׇB”¤²ôóSòkÑ+KׇBè‹ †ƒ#GŽð×_1hÐ œœœôŽB‹^õ{q%þ ±c‰} €]9;Æ·Ï[oé9:íïÑ£G………^^^4oÞ\µ?00sçÎñÅ_`aa¡vlö¾/¿ü333V¯^;}ûX¹r%AAA8991hР|ç ½víAAAÄÅÅaccC›6mððP_ 1((ˆ† FÅŠÙ±c‘‘‘888àëë‹=¡¡¡8p¥RIË–-iÒ¤ [·nåÌ™3jí}þ¼ÖÖÖìܹ“Ë—/óúë¯Ó±cGãצ/_<¯••Û¶mãÚµkT­Z•wÞykkk­Ú+„B!„B!DnJd0tåÊ•Œ3†G©moÙ²%ØÙÙQ©R%âââ˜2e J¥’Q£F©Êùùù±råJüýýU¡šÔ™íçŸfܸq<|øP­¬ÀÀÀ€ÀÀ@Ö®]ËÈ‘#sÀ[»v-Ÿ}ö™j0tÿþýüòË/ªr­[·V †æ6gèW_}ŬY³ÈÈÈPmS(|ôÑÈàúí IDATG,]ºccc kppæÌ™xyy1aÂÂÃÃUåmmm ÆÓÓ³À~ÏÌÌdذa,_¾\m»ŸŸIIIüúë¯jíÍ>ïk¯½Æ_|ALL cÇŽ¥cÇŽǯM_>Þzõê1~üx®]»¦*oggÇ–-[ðññ)°½B!„B!„Bä§ØC·mÛÆG}„‘‘o¿ý6uêÔ!55•½{÷rèÐ!>øàvîÜ Àüùó9uêãÆ£I“&4kÖŒ+V°råJ>øà†ªu›6mbÈ!4iÒ„&Mš`hhÈ©S§ !33í¦N8p ™™™ìß¿Ÿ?üPµ€R~s„.Y²„éÓ§£P(èÚµ+uêÔáêÕ«lݺ•+V`ggÇôéÓÕŽùä“O022bèСXZZ²{÷n.^¼ÈÈ‘#9tèPqΟ?ŸåË—chhH÷îÝqqq!""‚¥K—R©R¥<1b&&& 2GGGš7o®SüÚòóóÃÄÄ„¡C‡bffFPP/^¤G„‡‡ckk[¨ú…B!„B!Ä«­ØC¿úê+,,,8x𠯿þºj»R©¤W¯^އ‡&&&lÚ´ ///z÷îÍÏ?ÿ̨Q£hРË–-Ó©ÎI“&Yƒ‘#FŒP‹-$$CCC­Û4pà@®_¿ÎþýûÌ£G°²²Ê÷œsçÎÅÀÀ€   Ú´i£Ú¾mÛ6ºwïžçqÕªUãÀ”/_^µ-{@Y›øµU¥J:¤jWzz:}úô!00U«V1nÜ8ëB!„B!„¢XCoß¾ÍÅ‹quue×®]ìÚµ ¥R‰R©P=‘yòäIÕ¼“5jÔ`ݺu¼õÖ[têÔ‰ * Ô¦NKKK®\¹B“&Mr „%öêõõë׉å7ÞPHðöö¦wïÞ¬[·ŽÐÐPZ¶l©Ú7aÂU»LLLèСܾ};ßÁÐk×®qëÖ-:vì¨6 àëëK“&M8qâD®ÇŽ?^m T×øµ5aµ6ñí·ßÈáÇe0T!„B!„BJ±†ÆÇÇÅþóŸ<˽8—gË–-©Y³&111tïÞ777ê¼ÿ>µk×Ö¹ EáÁƒ¸¸¸äºßÕÕ€„„µíÕ«WÏQÖÒÒ€´´4Ι׫ûNNNy†º»»çZ—¶ñkËÙÙ9ÏmÙ1!„B!„B¡«b ­X±"uëÖ¥wïÞy–kÒ¤‰Ú×#FŒ &&WWWV¯^MÏž=éÖ­›ÖufÏ1Q`¬Ù ý$%%©-¾YOFFvÌÑÑѹÐz•xMÎyõêÕ\÷çµP-Rõb]šÆ¯k_ÆÄÄмyóÛžAñr8û<=~íÁhŸÑŒö]¤uœ`ÂÎ ,ε;iÝÚ:}Á¿fRûI|ØäC½Æ’—›o²/rÁ‘ÁüsýÒ2ÒXùÞJZ¹´ÒwhB!´$ùõå!ùU!Ê®b ­^½:îîîܾ}›^½zñÚk¯©íW*•üõ×_jó~._¾œU«Vñá‡2{öl¼¼¼8p ¡¡¡8;;kU§¡¡!îîîœ8q‚Ÿ~úIµS¶Ã‡Ó¢E  …j¤;wâçç§*³wï^>œ£mÙ+¡kò4d5¨V­‡fûöí¼óÎ;ª}'OždóæÍ˜››ãååU`]šªY³&U«V%((ˆƒÒªÕ¿Iû?þÈó©Ð¢ˆ_Û¾Ì6sæLºuë¦zE?==¯¿þ€7ÞxCãx…B'cOÒ÷·¾Œi5¿~ð’鹺'÷žÜÓwB!„ɯB!^Vž€Ò¬Y³x÷Ýwñòò¢]»vxxx`ffÆÕ«W9~ü8111$''chhHhh(£GÆÓÓ“%K–`nnΦM›hÙ²%½zõâÈ‘#˜ššjUç´iÓèÓ§Ÿ|ò ?ÿü³j5ù“'OräÈÒÒÒ022¢k×®|ýõ×|úé§:tˆš5kÎü½½=wîÜQkWö«ûãÆ#$$ œœœ4hP®ýðå—_2räHºwïN×®]ñððàÚµklÙ²…´´4&L˜P¨Å‡r3fÌÆOûöíéÞ½;ÎÎÎ\¹r…íÛ·cooÏÝ»wQ(Õ¥MüÚöe¶Û·oS§Nºv튩©)ÁÁÁ„……agg—g¿ !ô£~•úD~©ï0àhåHçÚiïÞžÝá»Ùxv£¾CB¡#ɯ/ɯBQvû`h÷îÝY»v-£FbÏž=ìÙ³GµÏÀÀ€·Þz ###éÕ«¦¦¦ª' š6mʼyóðóócÔ¨QüôÓO× ðÞ{ï‘Àøñã9~ü8ÇW•mÙ²¥jÁ¥† 2zôh,XÀÆÿ&ºÿüç?DGG³víZµvuîÜ™ºuërñâEfÏž @ëÖ­ó´óóó#66–Ù³g³cÇvìØ€B¡à£>â»ï¾Óµ‹ó4fÌ.]ºÄÊ•+Ù¼y³jûˆ#¸}û6[¶lÑxV›øµíËl‹/æóÏ?Çßß_µÍÎÎŽ-[¶¨¦<B¡.àƒÕÿƒ¯ë1!„¢ìü*„eW±†ôë×îÝ»LDD™™™899ѬY3Õ"A§OŸfàÀ´iÓFmÁ$@µ|||ùä‚‚‚ˆ‹‹ÃÆÆ†¶mÛâáá¡V®C‡˜™™Q¹rå}™½ÏÞÞ¾À~744äçŸfĈ8pš6mJíÚµ±³³SkS~çÕ&~mû2[­Zµ¸xñ"Û·oçÚµk8::òÎ;ï`mm]`[…%+¯9ÍRÒSøéØOì¼´“‰7012¡~åú m6”–Î-Õêx”òˆþÀžË{x”òw;÷|çGS*•l>·™ßÏýNÄÝ2”8Û8Ó·a_4 zÒýùyÈjWªÍ¼Có¸w  :¸wàóÖŸcc‘5Çñ’#K˜wpóÎSýÈñdΙ[g˜µçïœÇÔÈ”¶®m™Ô~Öæò3J!DÑü*ùU!Dñ+‘ÁPsssºvíJ×®]sÝß¶m[Ú¶m›çñÙ¢ÚÔù5ÂØØ˜“'Oª1úì³Ïô¢,Yº†S±§¨jU•)§Ð´zS§>fÓ¹M,>¼˜ïƒ¿çM÷7©dY‰Õ§Vséî%\l]˜òæ:6$áiË-gíéœSil ÛÆ¶°mÔ®T›/Ú~g•ÿgï¾Ã£*ó6Žß“I'¤@ 0 ui %@¤*¬ˆè"*‚º* òŠèâºÖµ­¸î«×® è (]W@”"½¡“!!&$!½ÍûG^f“Ic’Ì÷s]^fÎ<çœß9x87çºë#uòí$Ir÷r×·¾¡³—Îj{Üv‹m¯8¼BF£æß?_­=þ;LH¿výô¯?üK£þ=J?žüÑâf-,0LïŒ~Çüz_¿vý4ûžÙºåÓ[´þøzýi蟬>¶Á!ƒõæ­oš?÷mÛWG<®×7¼®c©Ç¬ºY;þ—ãVï€+è_¯þP]„¡MÜÆµwï^.Íd2É$“ùgIJÊJ²Xgpð`óÚí¼Û)¤EˆÎ¦Ÿ­Ö±EÜQnY;ï²ñ©s sªµ-ªƒþ€ºEjÂÃÃnë2*UÝqP4\ªnT¥¦RIºæ˜`E%Eõ²oIrqt)·ìʱ^¹Y¬ cšjŠþµrô¯€ê" Ô‰ Ÿ L:¨è¤h…†Y|÷óéŸÍm$)È;H‡’éä¯'Ë=½²åì–rÛîвƒbRb´}Úv5winU=Ûâ¶é™!ÏX<½’˜‘¨³égÍuH’ƒÁAÒµo°úWêa( NŒî:Z“êéÕOëõ‘¯+¼m¸² ³µâÐ -9¸DÎFgè8B’4êw£}!ZO®zRoŒ|Caaæ ~û Ÿ$Ýv¯ö~·W/yXO zJ½{©¹Ks]̾¨©'´âð Mè=Aƒš×‰NŠÖ‹ë^ÔÔ§ªµGkŤÄèõ ¯«¸´X£ºŒ2·órõ’$íIÜ£Œ¼ y»y×ËùaL3@Mп^ý+ ºCuâ¡>iý±õÚ~¿&-ŸTîûW~ÿŠZy´’$=Ü÷a­‰Y£Ø‹±zhñCæ6ƒA·w½]ßÅ~g±îÝ=îÖî„ÝZyx¥_ñx…û¿?ì~‹Ï£ºŒÒª#«´âÐ ‹åZvД§˜?ûËÏÃO;âw(üƒÿ)rê…SV¹m=ûí³Z³ÚbÙcË3ÿüá]ZÜœúWÛ €¦ËÁÖš'£“Œ_ éƒ§«}Ëör2:©™s3EEhÞ}óÙ;ÒÜÖÅÑE_F~© ½'È·™¯\]Ôͯ›>¹û m?´Ü¶ ƒþqû?56Jƒ‚ÉËÕKNF'µón§[:ߢOîþDƒBY¬Ó·m_ͽw®ÂÃäêè*7Ýz¯OX,w'ws;£ƒQÝý‘ÂÛ†ËÍÉ­þN5@ÿ @Ý2˜¬™º÷Þ{¯$iùòåuVPƒAQQQ=z´­K˜6mš<<<êíÏ¿””egg[Õ¶cÇŠŠJÑèÑÖµo궜٢ǖ=¦—G¼¬Gû=jërTÓSOùI’fÍJ±q%°g\‡åÑ¿¨ þ·0WèöÝà}ƒü›û«WyºzjöŽÙòqóÑý½î·Xç—¸_´ïܾ*k9Ÿy^.{TYùY SX@˜œu$ùˆvÆïÔä“õÃääáâ¡w~zG©Ù©êÚº«"‚"äèਸKqÚvv›N¤ž°êfíÃíª¤´ÄªóäÛÌ—›5€Õè_é_õ‡0PcE%EZ7iÚzµ5/{aí Zqh…ö$îÑðŽÃ-ÚçåiÍ£kÔ¾e{‹åCÛÕü=óåßÜ_ÓO·ø® ¸Àª›µOw~ª¬ü,½1ò Mè3Áâ»Ï÷~®·~|KkŽ®QdïH¥ç¦+¤EˆV?ºZs»ôÜt‹Yf¯eÚÀiÕzrkѿҿêa( Æîîq·Åš$ÝÔá&­8´B)—Sʵ¿³ûånÔêÊöøí2ŒJÏM×GÛ?’Éd’ÉTv3•S”#I:|á°Ô[ºµË­š·{ž–E/ÓðŽÃÕÚ£µ$©…{ µpoaÕþžüT½ô¯ÔÂP@x”[vå)âÒârßýv⇺”ž›®S‰>ØöA¥m.\–$=3äÝà}ƒ¾‰ùFoýø–ÜÝÕ;°·îìq§Fÿn´UûcL3@}¡¥ÔÂPÀuct0ÖÛ¶=]=UXR¨É&WÚ¦£oGI’ƒÁAãBÇi\è8•šJ—§ŸNÿ¤kf(&9FÏÝô\•ûcL3@CAÿ €õCMÂÀ Z½TA>Aº³ûå¾?vñ˜y‰ŸNý¤¡í‡Êè`”ƒÁAí[¶Wp‹`-Ü·P+¯´êf1Íö€þÐÔ†š„©§jýñõzöÛg5Ï|…„©¹ks¥f§êį'tøÂaÍ»ožÚxµÑ“«ž”›ú´í£vÞíTTR¤ ;u.óœ~×úwVí¯¾Æ4ûþø÷:žz\’tèÂ!IÒê˜Õ:˜tP’4úw£ÍOàPßè_M a( IhëÕV Ç/Ô³ß>«#ÉGt$ùˆÅ÷][wU¯6’¤á‡ë‡?hݱuå¶ñömo_·š+²áÄ­ŽYm±ìêÏ[uæf pÝпšÂP@µùiúàéêݦw¥ß…„ZÕþŠ)S*œiv`ð@¹8ºÈ×Ý׼̯¹Ÿ¦ž®7 °hÛͯ›ÖN\«ýç÷ëHòååÉ¿¹¿º´ê¢®~]Íí>¼ëC¥f§jï¹½JÌH”»³»BZ„èÆ å`p¨Ö¹¨k#;TOP¥ßwlÉ4Uô¯õ‡þp…Ád2Y7 àºIIIQvv¶Um;vì ¨¨m]{hÈžzÊO’4kVŠ+=ã:€ºÁŸ§¨~~~òðð¨éêËmûÏsp†° „¡ìa(»@ À.†° „¡ìa(»@ À.†° „¡ìa( Ж3[ùe¤v'íI;£È/#µòðÊ:ÙQ]÷¯U¡ÿ€†‡0€(5'U»w+=7ݼìxêqE~©oŽ|SííåæhwânÏ<_—eШTÔ¿Ö§ŠúßÚôç€Ús´uÀ:— .kwân TíuÛ·l¯/#¿T¯6õP¨HEýomús@í†`š97Ó€غ ì ý/4<„¡€j‹NŠÖ?~ú‡XýÚõÓ¢ý‹“£Ö­õçaÖÿ|ý?Ñi„&öŸh^gWÂ.}°õù6óUÔØ(óòì‚lMY9ECB†è‰ŸhPÇòÖ¨·$I¹E¹úöè·:xþ .\¾ gõnÓ[ãBÇÉËÕ«ÂmEÜ¡ûèÐ…CrqtÑÍnÖ==ï‘Á`(WÃúãëµþØzed©“o'ý1üåÚ|säÍÝ=W’´ó¼Úz·ÕÄþì\g¿€2ô¯×¿ÍÈ˨Õy­nÿ[U~ÅÙô³Zyx¥N¤žPqi±BZ„h\Ïqêê×µ¿*‰0P™ù™Ú¸[¡¡zó‡7u1û¢$©›_7y»yëÂå Z½Ìâ¦bݱuæÉ žÏ|ÞüºØŽøÚ•°Kcº©r¿-~H%¥%VÕèíæ­ïþ¸VÇ"•Ý$ ûd˜r s,Ö[|½æîž«e-S[¯¶ÛêÓ¶ÞÙôŽÎež3·ÿþø÷:’|D¯|Ýb;Ï÷¼Å¤ [ÎlÑÊÃ+õ@¯,ÚÏ:¯Ø‹±’¤s™ç,¶mÍq\³,"(¢Ü:aaúÛSJvŠù»ÿÄþGŸûL9…9zfõ3*1ý÷¼¯]«õ“Ö«•G«ªN/ è_¯ÿZÛóZÝþ·ªþ\’¾:ð•ÞØð†Eß»åÌ-Ú¿H3GÍÔ¸Ðq•œu€5C5öùžÏÒ"DÓO× Þ7ÈÓÕS’48d°X¬¤¬$zJ’~‰ûEýÚõÓžÄ=ú%îÝvŸ$iÛÙmeë®r»w[}³æÛÌ·NŽ¥¨¤HNF'Mì?QÝüº©¥{KediWü.->¸XQÛ¢ô¿·ÿ¯Å¶þ½ëßêäÛIoßö¶üšû)&9FoÿX_øRG'k­ÕÊÃ+åæä¦Çú=¦°À0¥ç¦kÁ¾ú÷®[lsl÷±jîÒ\oþð¦î »Wc»­Öq\Ëü=óÕÝ¿»žö¬|Ü|´åì-Ü·Poþð¦ÒrÓtG·;ôûN¿—ƒÁA ö-Ю„]š»g®^¸ù…jc€uè_¯_ÿ*ÕÍyµ¶ÿ­ª?ß~¿^ßðºÜÝÙ;Raar6:ëHòÍß;_ýþ¯ŠŠ0Å€ê# ÔXkÖúú_ËÍÉÍbùàಛŠmg·é¾°û””•¤³ég5%bŠ2ó3µõìÖÿÞTÄmS°O°Uû,¿P&“ɪڜŒNur,>î>Z7q6œÜ Íg6+-'ME%E’$g£³ö&î-·­àÁZñð ¹8ºH’†µ¦¢Ò"ÍÚ6K“šo´–G/—$½çûÑq„yý1ÝÇèö¹·ëlúYó²6^mÌO™´õj[éøc•ǵthÙAK&,1Ÿ³›;Þ¬ãkwân=ØçA‹§mn ºQ7~x£ž?hõöÕCÿzýúW©nΫµýoUýù¼ÝóTj*Õ¼ûæ©O›>æå7w¼Y½ÚôÒ£KÕ·G¿ÕÔ§^s?€Ê†jlT—Qþ¥ÿÆ et0šo¶žÝ*IÒ~ˆN¤žÐ×G¾V©©TIYIŠ¿¯ ½'Xµ¿þíú×iýW«ìXR³S5þËñ¾Æ&•Í[Ѷ®Ü¨]Ñÿ‡$éRî%ó²ã©Çåíæmq£&•ÝŽé6Flû ÎŽãZFvYîæ¶«_WíNÜ­Û»Þn±ÜÓÕSžJ¾œ\íÚÖ¡½¾ýk]œ×šô¿‰¾-£Á¨÷·¾/I2™L2©,¨..)–$N;]ëý€=# ÔX€g@…Ë=]=ÕÓ¿§vÄïP©©T[ÏlUGߎòóðÓàÁš·gž_8¬£)G%•½žfúÓìŠÊŽ%ê—(Ë<§ƒnÔ˜îcäçá'g£³ ƒ^XûB…7kWOúp…“CYØXj*5/Ë/Η·«w¥õ×DeÇq-ž.å_åst(û+BEÇâèà¨ÜÂÜê° ýëõí_ëâ¼Ö¤ÿ­Hna®JL%Ú·½Ò6ùEùu²/°W„¡€z1¤ýÜvPÑIÑÚ™°Swõ¸K’Ôÿ†þr6:ë—¸_t4娌F‹I$ƒƒ IDAT}®¥>Ç4«LtR´¼Ý¼õÅ_ÈÁà`^ž[”«ÔìT¹:¹ÖxÛ­=ZëlÚYeäe”»9;œ|¸\{ƒÊfʵöUF@ÓCÿZµêö¯Rýœ×Ê\«?ð PaI¡æÜ3GFc…ë·poQ«ý€½# Ô‹AÁƒ4kÛ,}²ãeäehHÈI’«£«ÂÛ…kó™Í:õë)…„©¹Ks«¶YŸcšUÆËÕKgÒÎèøÅãêê×U’t)ï’^\û¢ò‹óku³6$dˆNýzJ/¬}AïÝñž<\<$•Í`»:fu¹öîNî’¤„Œ„ïиѿV­ºý«T?çµ2×êÏGv©¨mQZ|½žö¬ÅÓ°— .kÕ‘U o^«ý€½# Ô‹ÞmzËÃÅC›Nm’³ÑYýÚõ378x°þ÷ç²b­}…Oªß1Í*3¢ãíIÜ£;?¿S]Zu‘$M?+7'7µñj£œÂœo{Ò€Iúúð×úñäøá@µoÙ^é¹éJÊJR7¿næ×ñ®i"7'7}}økI>b~ð« _Õü ýkÕªÛ¿Jõs^+s­þ|Ò€IúáäúêÀWZ½LÁ-‚ÕÜ¥¹R³Suáò•”–hÞ}ój]Ø3‡ª›2£Ñ¤ëÞl»®Œ£´+›!5¼]¸Å¤WßH tÝk«ŽGû?ªûÃî—I&Å^ŒUìÅXzjÞ}óäãæS«mûyøiÁøêäÛI¹E¹:’|D³/êÑ~ê¡>•kïê誗†¿$GH=¡Ý‰»µ;qw­jš’ƒŒ¿ \7F£TZj°u¢­ZuûWéúž×kõçîNîZ¹XúL“ÑI§~=¥çè\æ95wi®GÂQwÿîµ®¸^è×ÑL < NJJв³³­j¬3Ò™UÏUýWF^†Ž§WOü›ûWÚî\æ9ÏZºÔSYY ÍWïÞù .’—W)¯²¨Sùù]ºdÔ‰ÎÚ¹ÓMçÎ9ªsçBM™’¡1c.Ë`°u…@í™LÒš5Í5{¶·NžtVÛ¶ÅŠˆÈS—.…òñ)‘‹ ·Yšúu44„¡ÐÕuzE~¾A[¶¸këVw9â¢ÄDG]¾lT Š¢J‰’vJº×Ö… pq1ÉË«T:ªW¯| ž£°0žAÓí¢M›šéàAW<é¬ÌLhè×ÑІ@T_a(PSk×®ÕôéÓuêÔ)[—ÀŽÕ6 e6yv0€] `CØÂPv0€] `CØÂPvÁÑÖÊsqq±u €WWWI’‡‡‡+`Ïkg†@äíímë ^^^’$???W5Çkòìa(»@ À.†° „¡ìa(»@ À.†° „¡ìa(»@ À.†° „¡ìa(»@ À.†° „¡ìa(»@ À.†° „¡ìa(»àhë@ÃráÂ=ýôÓËÒÒÒÔ¶m[Ýwß}˃‚‚ôî»ï^Ïò ÆC€…€€íÚµK å¾[¾|¹Åç_|ñz•µÆkò œGyDNNNU¶‹ŒŒ¼Õ@Ý0˜L&“­‹XÊÈÈPAA­Ë€;uê”|Í6;vÔ¶mÛ®SEP1y{{Ûº Ð8,ç5yh€ ”më2`ÇüýýÕ¹sg=]^^¼Àvbc]ôæ›-µoŸ›fÌHÓOdغ$4„¡ –óš<4A Nš<9@99}ýõyuïÎXl¯k×}õU’,ðÒÛoûêìYg½õVªœœø·y\„¡ÐÄ$$8iܸ6jÓ¦X &«uëb[—fƒôÇ?f*8¸HO?í§´4£æÌ¹ £ÑÖ•À0e4!YYš<9@mÚ뫯’B4XÆåjÁ‚$íÚ妙3}m]ìa(4¥¥ÒSOù+'Ç 9s’忯ø ¶ÐнûîE-Z䥯¾ò´u9°„¡ÐD¬\é©;]5g¯ÆhyI­[—èÿhaëRÐÄñÏïÐ|ò‰JJ¤iÓÒm] êÀ¬Y³´cÇIÒ€ôôÓO7ˆmÙrÖøüóϵaÃIR·nÝôÊ+¯4¨úêBS:–«9;›ô—¿¤éÉ'ýõÇ?f*4”Ô@ý €F.?ß %K<5yr†¼¼'´¡Û±c‡fÍš%IrvvÖçŸ^®Í©S§´{÷nIR‹µ{R®.·eË}X#..Î\ÇÕJ}u¡²c±æºjèFŽÌQ·nZ¸ÐKï¾{ÑÖå ‰" €Fnófweg;hܸ,[—+¤¥¥™Ã,gggWƒ¦¢©\W÷Ý—¥wÞi©™3 rv6Ùº4A„¡ÐÈmÝê®ÐÐ|ùú–غÔ‘§žzJ‘‘‘’Ç“Œ ½Þ†^_u4¥c©Èˆ¹zíµVÚ³ÇUƒåÙº4A„¡ÐÈ>ì¢l˜L&mÚ´I[¶lÑùóçURR¢6mÚ¨K—.ºùæ›Õ¶mÛrëìß¿_?üðƒÎœ9£‚‚ùúújÀ€3fŒ\\\ʵÏÎÎÖ¢E‹´ÿ~988hàÀŠŒŒÔ¢E‹*#ò7ÞÐñãÇ%I#GŽÔ#‹ë¡2õ]ßêÕ«µtéRIR=ôÒK/I*û½1iÒ$åååÉÑÑQsçÎ5Ÿ»>ø@»ví’$ýáÐøñãË]OÓ¦MÓ²eË´mÛ6eddè³Ï>«ðX¬½®®¨îï¿ëÉß¿XþþÅŠ‰q! @½ €Fîüy'ÙîùéÓ§kݺu~÷æ›ojæÌ™ºï¾û$Iyyyš1c†~øá‡rm¿ùæ}üñÇúôÓOÕ©S'óò .(22R‰‰‰æe?þø£Ö­[§ Ljû¬V¯^mQç’%K´nÝ:µlÙ²\­&“ÉbÙØ±cËm÷ê§ÿ+<^©,ÄìÚµ«.\(ooï ÛX£&û¨¬ÞœœMŸ>]›7o.·­o¿ýVÿüç?5sæL3ÆêúRRR©øøx󲫯‡ŠÔw}æí=zTÏ?ÿ¼ŒF£Nœ8a±íèèh…‡‡K’–.]ª‹ËÆÅœ4iR¹:½¼¼ôøã[¬_\\\á±X{]Õä·…";W»P¨ a(4r—/äéi›‰“NŸ>mB½½½õüóÏ+ @.\ÐÉ“'õÝwß)=ý¿3Ü?ÿüóæ ¦uëÖš6mšüýýµjÕ*­[·N‰‰‰š8q¢¾ÿþ{¹¹¹I’^|ñEsêáá¡3fÈßß_K—.ÕªU«ª¬ÑÁÁÁªc©ImWÛ´i“:w¨(¥¤¤è½÷ÞSAAÒÓÓ5wî\ýå/Ñ—_~©;vèÃ?”$9::ê‹/¾0o£²0ïŠx@C‡5.**RBB‚>ûì3%&&*66Vï¾û®fΜiÕ1×÷>þò—¿˜Ã¼fÍšé™gžQ»víôÍ7ßhýúõÊËËÓsÏ=§6mÚ¨oß¾VÕ÷üóÏ›ƒÐš\õQ_Ÿ>}Ô¬Y3åää(;;[111 ÕÎ;-ÚíܹSááá:}ú´9uttTDDD¹mþôÓOò÷÷×[o½¥   988¨Y³fîßÚëª¶×øõÒ¼y©²²¬û} Ta(4r%%¶ÙwNNŽù瀀=Ú"°yá…”•UöÔêÙ³gµvíZówï¿ÿ¾ú÷ï/I6l˜Ž9¢ÄÄD%%%é믿ք o~¥]’^zé%óS¦7ß|³† f•*c0ª<ŽšÔö[F£QóæÍ3¿V}èÐ!}ûí·’¤cÇŽI*{­955Õ¼Žƒƒƒ Pe}W´k×NíÚµ+·¼eË–zòÉ'%I6l¨UZWû8s挾ÿþ{óç—_~Ùük7bÄÝ~ûí:qâ„JJJ4gÎ}úé§:uê”^}õÕrÛºùæ›5yòd%$$Ôúz¨M}•1ŠˆˆÐÆ%•…žW‡¡­[·ÖÅ‹µsçNM›6MÛ·o7¯Û§O¹»»W¸Í¯¾úJU‹5×U]\ã׋ÑhR C  ž†j¬sçÎæ '66V}úôQÛ¶m¤nݺiĈêÝ»·$éÀëþë_ÿ²*¯„¦RÙ˜†&LPLLŒÅ:4ÿìää¤ððp‹€§¦jRÛoõìÙÓb|É«¾téR­k”Ê^Þ¼y³~ùå%&&*77WÅÅÅõ]ºtIyyy5~²¯®öqðàA‹ÏC† 1ÿl04hÐ 8q¢mvvv…¯èIR^5©ïZ† b†Nš4É|,S¦LÑßþö78p@æ1?»ß«õìÙÓª ÔZuqMa( Æ\]]5wî\½ýöÛÚ½{·JJJ¯øøxmÙ²E³gÏÖÔ©Sõì³Ï*/Ïr2”={öTºÝŒŒ IRAAÅòß¾&\ÙkÃW3™LŸ»MI5ªí·~;ÑŽñªÇu[CM”””hâĉOFV&??¿Fah]îã·çô·¿V•¶½Ö>¯µMk®‡úªoðàÁæŸ÷îݫÇ+33S®®®zà4kÖ,eddhÿþýïÕë]Í××תã°V]\ã@S@ ¨•+êäååéôéÓ:wlÙ¢eË–I’>ýôSM›6­Ü¬òsæÌ±œ®æåå%Iò÷÷·Xž óç«'ѹš£ã»·ß†@gΜ)×¾&µ]o?ÿü³EH9qâDÝxãrssÓôÞ{ï5¨}´iÓÆâs\\œBCCÍŸ¯þµ»Ò¶cÇŽúòË/Ëm«U«V’j~=ÔU}׬¶mÛêܹsÊÍÍÕgŸ}&IêÛ·¯\\\¡õë×kþüùæ°ÑÛÛ[Ý»w·ºæÚh ×8p=0:= Æ.]º¤÷Þ{O§OŸ–›››zôè¡Q£FiêÔ©æ6%%%JKKÓ€,žžÜ²e‹z÷î­˜ÿóööÖŽ;äìì,IêÝ»·Å¬åü±Š‹‹%•½Š\ÙÓmW?û÷ï7¢kÖ¬1¿ú|µšÔVSW?MYXX¨ÌÌL«Ö»z"*GGGM›6M7Ýt“zõê¥èèèZÕTû0`€ÅÌí}ô‘ŠŠŠ$I±±±ãuŽ=ZRÙÓ˜WŸó+ÿµoß^RÙõpuPgíõPWõUåê§<¯¬er¤+ÿß´i“¹Í Aƒ¬žà«*U]W×ó2ž ÔXAAfÏž­Ù³gËËËKrvvÖñãÇÍm:u꤀€ ýýï×Ô©SURR¢/¿üRÿùϬÜÜ\%%%™'dºé¦›$•½†ÿ§?ýI¯½öš$iãÆ2dˆ|}}uöìYõèÑC‡.W×­·Þª•+WJ’N:¥áÇËÛÛ[IIIêÖ­›Ž=jÑÞÕÕµÚµÕT·nÝäàà ÒÒRIÒm·Ý¦    }øá‡ÝÕú÷ï/gggª¸¸X7ß|³‚ƒƒ§àààZÕTûpssÓÌ™35mÚ4•””hãÆ={úèÔ©»l]FhJÇb­ë}ÌöxŽ4L< À.†ª­²1 óóK«[oýQݺ­V¯^ßꡇ¶iëÖ‹å¶a2IË—ÇéÞ{7+4tºw_£;îØ¤E‹ÎÈdúo»«Ç²œ¡wßQaa©$)/OZµ*AçÎåhñâ¡æv%zðÁmŠÍ4/;r$CS¦ìÔèÑm«uLÖî³&ÇS‘.]¾QI‰uÉ©¯¯‹vî]£±Îþýézç#æ:òóK´lY¼öíKתU7ËÝÝ(IJMÍ×øñ[,Ö½t©P›6]ÐæÍÉZ´hˆúõkYé~ªs½@]áÉP@X¸ðŒöíKS` »>ý4BþA[·ŽÒôé¿“Á`ÐÌ™‡•šš/IZ½:Q«W'ªKOÍ;P{÷ޮÇÇhñâ¡êÚÕKK—ÆéÀt‹í¯Y“¨qã‚´qãH92FK—U` »öìI³>,8£ØØLµoß\ Ö¡CcôóÏ#õÐCôÝwçªuLÖî³&ÇÓP­[w^cÇÞ Gþÿ1 Q—.ž:}ú²æÌ9nng04xpk}úi„¶m¥cÇÆj׮њ5«¿œ4{öñkì¥z× Ôž Ô‰µk˂ƨ¨þêÕËG’äáá¨éÓ»êâÅ|-Y§“õÀÁZ±"^F£AóçRëÖ®æmôë×RÿúÌ9ËÀ IDATW?õ£~üñ‚z÷naþnðàÖzóÍ^æÏ}û¶ÔãwÒë¯GëØ±Luíê%IZ¿>IƒôÑGýÕ©“§$Éݽ™^}5TgÎ\Ö¶mÖ¿‚mí>kr<9~|¬ÕµÕ—°°zç>2Ê>÷ëç«Ù³oÔ-·lÐúõIúÓŸºI*{2õÏî®9sNè•W*-­Àâ©Öãdz®¹Ÿê\/PWCu">>GÞÞÎæ`ëjÇhÉ’8ÅÇgK’NžÌRI‰IC†¬—Töš¹éÿÖ¼2¾fRR®Å6""Z•Ûn»vÍ$I99ÅWÕ‘-??7szµ!Cüª†Z»ÏšOC5xp+szE»vî i®³g/›—íߟ® ¶ª¨¨´Âíäç—\s?Õ¹^ ®†êÌoC´Ê”––%„׳¨Èò;—ò#»\Ùßo'(ª¬S5g2²vŸ59žŠ4„1C­5{öq•júô®;¶üü\åìl”Á ùc….ý–µ× ÔÂP@ j¦ƒ/)::]aa–¯ƒÿüsòÿ·ñ$uèÐ\11™Ú¾}”š7wªã:çzÛ¶-UÏW?ý”¬'ŸÜ¥íÛSkTÇ­·Èd’ž|r—víúUyy%:>W3g®·0´®Žçøñ±:uê.«þ«¯§B££Óõâ‹ûŸ£¼¼íÝ›¦©Swª¸Ø¤Q£ÍíÝ”–V … Ïèòå"]¾\¤ŸNÖĉÛÍOÊ^Ku®¨+< ¨=Ô^ëן×þýéš4iG¹ï_y%L­Z•M.t÷ÝAÚ½;M+WÆëñÇwV¸½ûï®Q?ÜAk֜ӱc™š0a«y¹Á Ýv[­[w^ŽŽuû~v}Ïõ6jT V­JЊñË;th®)Sº˜?¢Í›SôÆÑzãhóònݼԹ³§.^¼öLðÕ¹^ ®ðd( N899hÁ‚Áš>½«Ú·o.''5k樈ˆVš7o "#CÌm éÿ裨¨þ4¨µ¼¼œåää víÜuË-úä“ ÔºFu¸ºµhÑ`¢–-]äâbTÞš3'Â<©’——sóõy<×[ß¾-5wî@……µ««Q>>κ÷Þ -^@ÿüg¸~÷;/¹ºÕºµ«ÆÑÂ…ƒåì\õ_/ªs½@]1˜ª;› Þ¥¤¤(;Ûº™´;vì ¨¨ÍÌÛ×RZjÒØ±?)66S{öÜ.oïº DÔ§žò“$Íš•bãJÐXxxxÈÏÏÏÖe€Æa9¯Éšœ·ß>¬îݽÞR-Z8+..G}t\Gf*"¢A(Ø)ÂP@“söl¶æÍ;Un¹»»Q/¿ÜÓÂP@“óòË=Õ¢…‹öîýU.äÉÃÃIýû·Ôôé]Õ¹³§­ËØa( É öÐ?þÑÇÖef“`CØÂPv0€] `CØÂPvÁÑÖŸøKñZ³ZCÛU¯À^¶.§N—kgüNüõ¤œŒNêØK=ü{T¹ÞÞs{µ=n»$iêSådt2×Ï4f„¡€j‹¿¯¨mQjîÒ¼I„|{ÏíÕsÿyN‰‰ËÒ|Qéz9…9zfõ3J¾œ,Iš4`R¹0´)'hìCv-&%F.}TyEyjß²½†„ ‘‹£‹ö&îÕÎø×\÷ÝŸß•ÉdR;ïvå‚T@ÃC °k/­}IyEyšÐ{‚^½åUŒæïö$î©t½è ÑúêÀWúäžOôþÖ÷¯G©€Z" ÔJ©©TÛã¶ëhÊQ5si¦a퇩­WÛríŠJŠ´õìV%d$Èd2)È'HƒÊÕÑÕU—9˜tP1)1jëÕV½å¯A¨$õkׯÂõJL%ziíKÕe”FtQ£0tÅ¡JÊJÒ°öÃV£úÕC ¨±‚âýqɵ#~‡y™£ƒ£^ñ’îû°yYtR´žøú ¥f§Z¬ïÛÌWÜùÜ0 Ê}ÍÚ6K&™¬ªËÝÉ]“Lª²Ý•×àÿÐí’¤µÇÖ*áR‚Z{´ÖÐöCåÛÌ·Âõ>Ûù™’/'_s<ÑÊ•éåõ/ëëÃ_kJÄ…„V{€š! ÔØ¼=ó”[˜«;»ß©V­“£ñ;ô·ÿ¦.­º˜CÎw~zG©Ù©êÚº«"‚"äèਸKqÚvv›N¤ž°* ýpû‡*)-±ª.ßf¾V…¡ññ’¤ÏÝ9ÿNO=nþÎÅÑE¯ŒxEã{·X'!#Aþò¡Þ¸õJÃÒÊdäehê×Suàü½3ú W­õµC ¨±¼¢<­~tµ:´ì`^6oÏ<½½ñmÍÝ=×r¦ç¦+¤EˆV?ºZsÛôÜt¥ç¦[µ¯i§UëÉPkäæJ’fÌüL 'o7oE'EkO⽺áUuðí þíú›×ùëú¿ªOÛ>º§ç=VíãŠ3ig4yÅdeægjÁøÛ\„¡€ÓmŒE*I„?¢9;æhß¹}æe·v¹UóvÏÓ²èeÞq¸Z{´–$µpo¡î-¬Ú×SƒŸª»ÂÿŸ‹£‹$)§0Gk'®U¯6æïþ¹åŸúxûÇZ°÷¿Áåª#«´ÿü~­¸¶ZûÙ{n¯>üåCµpo¡¯P°OpÀz„¡€kçÝ®Ü2ƒƒÚxµÑáäÃæeÏ yF7xß ob¾Ñ[?¾%wgwõì­;{ܩѿmÕ¾êcÌÐ+¡ì-o±B%é±~éãí›_/(.ÐÛßVH‹­:²Ê¢í•±P?Þþ±œÎš6hšÅ°»v+3?Swt½CAÞAV î†j,1#±Ü2“ɤó™çåéâi^æ`pиÐq:N¥¦RÅ¥Çé§Ó?iÆšŠIŽÑs7=Wå¾êcÌÐn~ݪlc0$I¹E¹º”wéÿØ»ó¸*Ëüÿã¯Ã²º€"Š ¦¸á¾/e–[i*Ùb–Ú2ù5ÉI››Òƶ©ï·µe*­,KËÜ0Mu\p‹MÄ]AeQDDPáp~øãä D¢óýü ¯ûs®ûs_ã¼»ïëæLáödî)·ö“-Ÿ0±çD‹ñ =&p$çßîþ–‹Æ‹¼5ð­2o®‘Oa¨ˆˆTÙO{~b|—ñÊÏß1ŸÓ§éÒÏ<¶þÀzú÷ÁÞÎ;ƒÁu‚iR» v. &1¦RaèØ3´OP\\X³o “zN²¸;tÞöy„ú†àâàBD¯ˆrçY¸{!§ÎŸâÙîÏâdÅqÞð&^.^|¼åcÎ^8ˬa³p²wªTŸ""""""R=†ŠˆH•¹:º2lþ04@=÷zìÉÜÃæ#›1 <ÙåIsÝÄ&âãêC‡€4ònD‘±ˆ­Ç¶’~6¾-*u®±g¨»³;Ow{šÙ›f3dÞ6hñ%{;{Æwo¾Ö«…¡kö¯áÔùSüOÿ©0ˆÒw >n>¼³îž\ü$ŸŒü„ZNµªýºDDDDDD¤| CED¤ÊÆwÏÆÃYš¼Ô<æ`çÀ«w¿j~“<@¿~¬Ù·†U{WY|>À+€·½}Óú-Ϥž“È:—Å¢øED'D›ÇÝÝxkÐ[„5«Öóï<//^]õ*}÷óFÍÃÇÕ§ZÏ!""""""åS*""V ô $¢WÝ»ñL·gØxx#©Y©¸9¹qgÓ; ð °¨Ÿ3|ÙùÙìHßAZnnNnÕ¢{`w‹ Ù‚ÁŽ·½ÅØÎcÙzt+ù—òñ÷ô§op_¼]½+5Ç#íáÔùS8Ú9ZŒ—®Sû†í-ÆG¶‰Ÿ»»Žïbó‘Í Rm×#""""""Wg0™L•Û€MDDnšÌÌLòóó+UÒ”ÈÈL®\½ˆHM6i’³ggÚ¸¹U¸»»ãççgë6DDDäÖeÛÛqDDDDDDDDDDn…¡"""""""""r[P*"""""""""·…¡"""""""""r[P*"""""""""·…¡"""""""""r[P*"""""""""·…¡"""""""""r[P*"""""""""·…¡"""""""""r[P*"""""""""·[7 ""·žøñ¼·þ=ïô8›¼açYºš_üBƹ ŠÅÌ{h..¤ŸMç«_qäÌÎ_<Ïè£:ä†õQmà“-Ÿ0¹Ïdº4êbÓ^r sY¸{!ñ'â1a¢UýV<ÚîQê¹×³i_""""""7›ÂP±ÚÙ g‰K‹ãž;î¹açøv÷·¼±ú ‹±S g Ï0lþ0Î^8kïÒï†õQUÙ糉K‹#§ Ǧ}Ë=ÆÃßhE—""""""·6…¡""Re_íøŠ ÚALî=™zµê‘œ™ÌgÛ>cÕÞUDGó`Û­žsLÇ1ÜsÇ=<õþžþ¼9àM‹ãßÿö=Ëö,ãíAoèhßu|ÓžŽ›“¶”°a8Ù;‘”‘Äüóùûê¿Ó-°^æÏ|¹ýK‚jÑ+‚ÆÞñtñ´jž•{W“ƒ«£+ã;'Ì?Œœ‚¾Þù5ŸoûܪëŽK‹«tZ·VÝJÕ•Ìõj•}k¼¯»/pùMó""""""· …¡""ReõÜë±ä‰%¸:ºpWÈ]t èÄcß=Æ¢ßU) ô $Ð';ÜÜéÚ¸«Åñ ‡6ЦAB}d}^Ü>°ùÀ2ý[3Ojv*Þ®ÞA(€“½C[eÖ¦Y•îÿ{©VW‡Ë×vþÒù2ÇJÇj9Õªö󊈈ˆˆˆÔT CED¤Ê<]<Ë÷võæDÞ‰JÍQÙGï¥àRF“‘ÍG6_µæBÑ‹?7ðlp]ó\(¾€·‹w¹5Þ®å_ÍØ3´¡WCŽœ9Bëú­-Ž•ÞµZZ#"""""r;P*""U–œ‘\fìü¥ó:}ȼ'%üšž>ºL}uÝAÚÀ³—Œ—øtä§å>PÛ­vµÎãëîËáÓ‡É-Ì-~&f$ZÕÿØ3´mƒ¶¬?°žûBï³8¶îÀ:àòv""""""· …¡""Rekö¯!&1†‘mFPXTÈ´UÓ((*`HË!æºÆÞˆJˆbh«¡x8{—¹Eñ‹ª¥—{︗ÈM‘ĦÆ2¥ï¼\¼ÌÇÎ]<ÇI?Ð) SµÎÓ;¨7Nàå•/óÁ}àîìÀª½«Xš¼ÔªþoÄž¡w…Ü…«£+ËS–38t°ùqþíiÛY¸{!ŽöŽ l>Ъ>EDDDDDne CED¤ÊB}CyiÅKüßþ__ç&ÿb>nŽn/* õ ¥•_+’2’èóQ‚ësêü)ŽŸ=NXƒ0âOÆ_w/Ou}Š5û×°p÷BÇ/¦Ií&x8{ŸÍÉs'1–™7j^µÎóT×§X’¸„µû×ÒcN‚ë“Sɼ´ôkÉžÌ=•îÿFìêåâED¯Þ[ÿ‰þ Íê6ÃÁνÙ{1™LüOÿ¡¾Gýj?¯ˆˆˆˆˆHMegëDDäÖ5¼õpžëùg Ïx2‘ü‹ù4ñiÂWe¾À`0ðÞ÷ô äÜÅsÄŸˆçÔùS¼Ðçj÷PµôâæèÆw~Çè£q´wäÀ©ì>¾›ô³éx8{0¶ÓXZÕoU­óø¹ûñõ#_Ó¬n3 Š HÊH"+?‹qÇ1¦Ã˜j¹®ëõt×§™Úw*µœj±ÿÔ~R²Rp¶wfB÷ Lî=ÙÖ퉈ˆˆˆˆÜTSeŸÉ‘›&33“üüüJÕ†„4%22“Áƒ+W_r sIÍN%Ð'úõÉ»ÇáœÃ¸9¹R'ƒÁPîçL&ûOí§°¸àÚÁx8{•ŸÅáœÃÜQï|\}̵;ÒwàêèJ+?Ë3-7y'hÓ  nŽnåž§ÈXÄÁÓ),*¤¾G}ü<ü°3üþßÿþØÿÕ\kž+<}üKùzâíêMv~6‡rѬn³JíUz£](¾ÀÁÓ)))¡iݦW];[›4É€Ù³3m܉Ü*ÜÝÝñóó³u"""rkˆR*"RÕô0TDäFQ*ÖR*"""VˆÒcò"""""""""r[P*"""""""""·…¡"""""""""r[P*"""""""""·…¡"""""""""r[P*"""""""""·…¡"""""""""r[P*"""""""""·…¡"""""""""r[P*"""""""""·…¡"""""""""r[P*""Õ*&1†wCˆM5%žL$äÝ"7EÚ°³šåøÙã,ع€±‹Æú~(!áÐ[·%"""""ò§æ`ëDDDn†é;xø›‡ùkŸ¿2±ÇD[·ÃȯGrêü)[·!"""""r[Q*""7\›m8ðò[·Q£4ôlÈÀæ¹»ÙÝÄîeQü"[·$"""""ò§§0TDDÄbžˆ1ÿüËþ_l؉ˆˆˆˆˆÈíCa¨ˆˆTIÞ…<þoÃÿ±zßjò.äѬn3"zE”[›x2‘á_ '¢W„¹fá Œ_<žiwO£UýV|¸áC’3’ ®ÌcÄd2Íℍf¥b4 ªÄÃíftûÑ óü&“‰%IKˆNˆfoÖ^Œ%FšÖmÊÃí&¼m8Ÿlù„7|À‡>4ÿ èŽU‘ÛˆÂP±ÚÅ⋌^8š”¬óXRF‰ù ƒ[ ¶j®]Çwñîºw1šŒ”˜J0™LL]>•¥ÉK-j÷fíeúÏÓIÉLá­Ao—ƒÐÉ?MfEÊ ‹ÚÄ“‰$žL$À+ *—hÖüŸÍ1–+U[·V]¶NÚz]ç‘Ga¨ˆˆXíë_“’•Bp`¦ß3v Û‘SÃg[?ãÛÝßZ5ת½«x0ìAžéú ½cogÏI?²4y)Íë5çowý°a8;8“”‘Ä›kßdQü"ÂÛ†Ó¾a{¢£Y‘²oWo¦ô™ÂMïÄÛÕ›§ðÝoßáhïÈÄéÚ¸kz’ˆˆˆˆˆˆÜ| CEDÄj±{c1 Ì>—fu›àæåÆŒ38|æ0›l®ô\íüÛñöÀ·-{NŒÆÞΞùÍÇ×Ý×<Þ¹Qg>¼ÿC~>µû×Ò¾a{–$.`Ö°YôlÒÓ\Û¦AÚ4hs½—JêßR¯{©†ŠˆˆÕŽæÅÏÝÏ„^©OP«ÂОMzZ¡û³÷c,1Òû£ÞÀåGáM˜Ì?œÈ;ÀÁÓñrñ²BEDDDDDDÊ£0TDDlÊÛÕ»ÌX‰© Â½:‹ŒE7¬§+iÏP‘?…¡""bµ@ï@2Øj™»C7ÞpÝó7­Ó”äÌd6?·gkÖnOÛÎæ#›éѤÇUëì v@Å«ˆˆˆˆˆˆü¹) « l1ø“ñLüa"3îA˜˜ùJÖ<"5†=ÈŽ;xüûÇ™ÔsíüÛááìAV~û²÷Íèö£éѤ#ÚŒ`{Úv&ÿ4™)}§Ð7¸/^.^<}ïvǰÖÃèÒ¨ ^.^lOÛNnan¹w¤–G{†Šˆˆˆˆˆüy( «=Þñq~Jþ‰”¬Æ|7ÆIÏ&=ñrñÂÑÞ‘FÞ¸çŽ{øxÄÇô ºüÂ$;ƒ³˜Í[ƒÞ¢;\]qwv'Ì?Œw¿C·ÀnØÛÙ3wÄ\:tÂÕÑõº{‘[ÁTúZ^©1233ÉÏϯTmHHS"#3<¸rõ""5Ù¤I~ÌžiãNäVáîŸŸ­Û‘[C”î ‘Û‚ÂP¹-( ‘Û‚ÂP¹-( ‘Û‚ÂP©QòóS8þ¼­Û‘?!…¡""""R£$'ÿ•Þ½{óþûï“••eëvDDDDäODa¨ˆˆˆˆÔ(;FÁÒ¥KéÛ·/S§Neß¾}¶nKDDDDþ†ŠˆˆˆHâààÁرcY¿~=o¿ý6ÉÉÉ 2„I“&qòäI[·'""""·0…¡""""R#9::2|øpV®\ɬY³ˆgРA|öÙgÙº=¹) ‘Í`00xð`~þùgÆOdd$ƒfãÆ¶nMDDDDn1 CED¤Z¥d¥¹)’§˜Ç²ò³ˆÜɶcÛlØ™\éøÙãe¾§?«£g޹)’ßNüfëVä:¹¸¸ÁêÕ«iÑ¢ãÇçõ×_§°°ÐÖ­‰ˆˆˆÈ-Ba¨ˆˆT«=™{.‡l§Ù2ÏeÚ< =‘w‚ÈM‘lOÛn³j’e{–¹)[·R¡êøÞJÃÐÝÇwWcgbKþþþÌž=›ÈÈHV®\É<À¡C‡lÝ–ˆˆˆˆÜ†ŠˆÈ ççáGD¯º6îj³JCµ¸´8›õP“¬Ý¿–V~­ðs÷³u+Ò÷&4hË—/ÇÃÑ#G²~ýz[·$""""5œÂP¹á|Ý}m†ÊïNœ&ádw7»ÛÖ­ˆ\·úõë³páBȳÏ>KTT”­[‘ÌÁÖ ˆˆÈ­+ã\ë¬'ïbÍê6£opßrë²ò³øþ·ïéÚ¸«9=zæ(K“—Ò'¸a ÂØvlÉ™ÉÔrªÅÃíÀh2²åÈR³S).)&¨v}ƒûâìà\æÆ#qiqìÍÚK‰©„àÚÁôîƒÛÓ¶“À–£[0–ÍŸ‹èaþùÜÅsl8´´Ü4œœi]¿5u¶8OE}w èÄʽ+éؽÌçNæ$*!ŠvþíèÜÇÊÕ®>묧ÄTb†‹Øxx#Çra2™ô ¤G“¸8¸”ù|Ek •ûnç&ád'óNâîìN;ÿv´®ßÚ|¼²ßÛµúù£mǶ‘p2ggú÷¡‰O“ª-¤ÔNNN¼óÎ;Ô¯_ŸW_}•üü|Ægë¶DDDD¤R*""U•Å«ßà’ñ’y¬;îoy™ÚÒ=C¯¼;´tG'{'þµñ_l:Ž ªª IDAT¼ €V~­x¸ÝÃÄŸˆçù¥Ï“~6Ýb®ž øxÄÇ¡Ùo'~ã…Ÿ^àXî1‹Ú¯æ?4Ÿ¸´8¢¢Øzt+[n5×”†j±©±¼²òÎ]ßö9ß?ö}EK ÀìM³1aºf€›£Ou}ªRµë¬ÃÏÝV~­ˆ?ϳKž%;?Û¢®n­ºÌ6ËâŽÞk­uPí k~·E<ýŒÅ÷PªOp柋«£k¥¾·ÊôSª¸¤˜gcžeíþµæ1{;{Þô#ÚŒ¨ôúIÍõüóÏãááÁÛo¿M­Zµ5j”­[‘Fa¨ˆˆX-ád¯Å¾†±ÄHçFiÛ -99¬N]ÍÜÍs­škÞöy\*àþ–÷ÓØ»1õ=êsüìqÆ-GÞ…<ÂüÃk†“ƒIIl=º•§£ŸfÍÓkpwvçXî1Æ.KþÅ|z5¤G“x¹xqðôA6Úȉ¼tiÔ…ð¶áD'DÓ-°]u±è!%+…ÉK'S\RL›mèЉüKù¬Ý·–ÝÇw3ñ‡‰,~l1ƒ¡Â¾ÝÝÙv$ v. ñd"m´1×_,¾HtB4-ýZÒ) Ó5×eÎæ9wBV¤n­º•C//±éð&†µf{wý»dçgêJ·Àn8Ø9päÌ6Þľì}æ0´2k}eøXÞœ¿xž­G·Òº~kB}C©[«.yóˆ;džC˜»y.SûN½æ÷V•~ò/æ3¬Õ0ü<üHÎHæ¿GþË?¿Á=w܃‡sÍ~™”TÎøñãÉÏÏçïÿ;uëÖ¥_¿~¶nIDDDDj…¡""bµ/w|‰±ÄHD¯‹Ç•#zE0tþP«æ*,*ä§q?\'Ø<öÆê7Ȼnj{g0ºÃè2çž¹v&?íù‰GÛ?Ê'[>1\ï~G{GsmúÙtì ö4ðl€Á` :!šîÝ™Øc¢ÅœŸoûœâ’bÆuÇ«ý^5‡ž»óoŒøj»ïfë±­tì^aßw|œov}÷»¿åÝïšÇW¤¬ ·0—Wû½Z©uy®ÇsVÝZY[Žn¡ ¨€»C~D>§ ‡ ÚA,·;ƒÅxNAŽùÏ•Yë+]mÜ݉…‡³;ïäôùÓ8Ú;2°Å@Ò·¥³îÀ:¦öJçF+üÞ¬í§ÈXΧVà`{yåËD'D³=m;ýBšýYDDDpòäI¦NÊ’%KhÒ¤‰­[‘Ba¨ˆˆXmWú.\]™ØÓ2œjä݈‡Ú=ÄçÛ>¯ô\ÃZ +–m>º{ƒ=99ÌÝ<“É„Ét9<_t€Ä“‰ÐþòãÓv;Þð¦EX„^Ù™¾{ƒ=SúN±¸ûÓÇÕ‡g»?Ë´UÓØ™¾Ó" -¯o€ ÚAô êÃò=Ëyù®—ñvõàÛÝßRÇ­÷µ¼¯R=Mê5©RuÖZw`®Ž®×2 ùæÅÍcqübú…ô3o PÛ­6µÝj›ë¬]ë«­‘ÁŽ/â¾ 65¶ÜO?U©k±¶Ÿ­G”¿³éD'D“y.³Rç”[ÇôéÓÙ·o“&MbÉ’%8::^ûC""""ò§§0TDD¬vöÂYê{Ô/sç\D­QÞËkr r0šŒÌÚ4몟+ÝÛ3÷B.¾î¾ÔrªeÕy¯”w1_ßr_ÔØ»1pùš¯Õw©':=Áý‡˜Äžìò$IIÄŸˆgR¯I8Ù;Uª§µgèºëèÙ¤§ÅK¨&÷žLcïÆü˜ü#3×ÎÄÍÉöþíÖzƒ[ 6×Y»ÖW[£·|Llj,µÝjÓ;¨7õ=êãäà„ßÿö½Å>´±¶Ÿž ÊŒ•ÞU[\R\©9äÖáìì̬Y³ö ÛÓ¶A[«×¡:eåg‘”‘Ä_{ÿµÌ±~!ýX³o «ö®²ð àíAo›ÿ\Ùµ¾–ˆ^l9º…ý§ö3û|ìøÇÀ°p÷BÒϦ›k+úÞª«ùóëׯ-Z´àË/¿ä½÷Þ³u;""""bC CED¤Jlû ½šôbýÁõœ»xŽº!ÜÙôNöeï#¢W!uB̵~~DôŠ kã®æ±@Ÿ@"zEоaûrçoé×’•O®d×ñ]$e$QXTH}ú4¯×œP?Ë;»:tä—¿ü–£[HÍJÅÞΞà:Áô êe±§é;ƒÞahË¡ìÉÜCAQÅ›¤G`6Þ@zn:NN´©ß†Î:[Ô]«ï+µªß Àê»Bo„uÖa2™èү̱9ÃçŸÍŽô¤å¦áæäFPí ºvÇÎ`gQ[™µ¾Öy»z³lü2ÖXÇ‘œ#xºxÒ'¸þžþ”˜JÈ»gQ_Ñ÷v½ý”³uX-7Þã?ÎôéÓ™6mžžž•þ\VVßÿ=]»v¥k×®×þ€•””϶mÛ¸téÆ #00°ÂÏìܹ“„„JJJhÕª]ºtÁÎÎîºêsssùúë¯hذ!#GŽ,w®}ûö @ÇŽéÙ³§5—+"""b5ƒÉdªÜ†d""rÓdff’ŸŸ_©Ú¦DFf2xpåêåæ0šŒ<ðådäe°eÒ‹ý,má™ègHÍNå?þcÓ>D®eÒ$?fÏάÖyóóóéÚµ+3gÎdøðá•þ\bb"Ç'""‚ˆˆˆkÀ†f̘ÁŠ+ÈÉÉ1Í›7>}ú”[_XXÈĉÙ°aƒÅxçÎùôÓOË„ÆÖÔ=z”»ï¾ggg6oÞŒ——å‹è¦L™ÂÒ¥KøË_þ‹/¾hÅ_æîŸŸÕŸ‘ÛRÔÕÿ“¯ˆˆˆXmÛ±m|¸áCF;š”Ì {ÐæA(@§€N/‡¹Ý¸»»Ó³gO~þùg«>çççGDDÄ-qWèªU«ÈÍÍ¥]»v•Úõ7Þ`Æ x{{óØc1vìX|}}Ù¾};ûÛß®» Q£F\¼x‘åË——9vîÜ9V¯^MãÆ­¿X‘*²ýÿ;ùÙvls7_~cµ¿§?Ït}ÆÆ]öL·šÑ‡ˆ-õèу9sæPRRRácàWòõõ­ñw„–š>}:;w¦N:LŸ>”””«Ö¦§§óã?âááÁ?þH@@&LàþûïgíÚµ/œ²¶¾TóæÍñôô$**ŠÑ£G[[¶l.\`äÈ‘|øá‡Õ¹""""W¥0TDD¤umÜ•ˆ^øyø1¸Å`<œ=lÝ’ˆü;v$77—ÇÓ´iSŠŠŠØ¸q#ÇŽÃd2H=pqq1¦¼=C?þøcŠŠŠ®zž1cÆàããcþ³ÑhdË–-¤¦¦R\\LPP}ûöÅÙÙ¹Z¯oàÀ•®]·n%%%Œ5ÊlÔ©S‡'žx‚÷ߟ5kÖ˜ÃMkë¯ÎŒ3Ø»w/-Z´0GGGZ©»XEDDDª‹ÂP‘jÔµqW‹E‰HÍѼysìììØ¿?ùùù<ûì³dgg[ÔÔ­[—Y³f™ƒÏÌÌL"##-•ÿè£(,,¼êyî¿ÿ~sÏóÏ?OzzºEMƒ øøãiݺµylöìÙTv;777žzê©JÕ–§ô®ÑòÿïÖ­{÷î­rý•†Ê;ï¼CLL Ó¦M.¿8)!!×_½Ê× """R CEDDDä¶àä䄟Ÿiii|õÕWdggJ·nÝpppàÈ‘#lÚ´‰}ûöU¸GèÿüÏÿ”¹3ôâŋ̟?Ÿ1cÆÀñãÇ7nyyy„……†““IIIlݺ•§Ÿ~š5kÖàîîÀœ9s0•º–ºuë^WZûûû—9Ö°aCàò]±U­¿’——÷Üs?þø#/½ôDEEáèèÈСCÙµkW•¯CDDDÄZ CEDDDä¶áïïOFF999±téR‹ýCsrr,ÞÆ^ž &Xü¹¨¨ˆgŸ}–Q£FñÊ+¿¿¨ìßÿþ7yyy̘1£Ì~™_~ù%3gÎä§Ÿ~âÑGà¹çž³êÎÐëqñâE€rÕ/+­©Jý…‡‡³bÅ ~ùåúõëÇ?þHÿþýñöö®úEˆˆˆˆTÂP¹m¸¹¹QPPÀ€˜7o‹/¦_¿~øúúP»vmj×®]éùŒF#øùùñÆoXÛ¼y3öööäää0wî\L&“9ì<þ<‰‰‰æúI“&]ïåUZEfyÁ§µõÔ³gO4h@tt4&“‰3gÎðàƒVýDDDDªHa¨ˆˆˆˆÜ6\]]),,dòäÉ4nܘü‘™3gâææFûöí6lƒ®Ô\F£‘¿þõ¯ÔªU‹™3gb0,Žçää`4™5kÖUç8wîœù盹gh½zõ8qâ„ÅKàòãýWÖT¥þììì>|8Ÿ~ú)§OŸÆÏÏ^½zU¹‘ªR*""""·ÂÂB¼¼¼°³³#<<œððpJJJ8räëׯç…^ 99™_|±ÂyJJJx饗xï½÷,µ/åééÉ¥K—xú駯:OHHˆù盹ghéÜ·mÛF¿~ý,Žmݺբ¦*õå çã?&!! &”»f""""7šÂP¹mäååqÇw°~ýzúô都½=vvvÓ¤I,X@LLL…a¨Édâµ×^ãüùóÌ™3{{ûrëzôèÁ¢E‹ dذaeŽïÝ»óŸoæž¡ýúõãÿøQQQŒ3†€€NŸ>ÍW_}À=÷ÜSåúò4nܘ×_3gÎ~]ý‹ˆˆˆT•ÂP¹mäççãááÁĉñññ¡C‡4jÔˆ¢¢"¶nÝJzzz™ÇÀÿhÆŒüôÓOŒ;–¹sç–9>fÌ|||˜0a±±±L™2…ùó熇‡ÙÙÙìÛ·ÄÄDæÍ›g~ûõîºzõjRSSHHH`éÒ¥üöÛo <Ø|'j@@ÇgÉ’%<ðÀÜwß}8::²bÅ ²²²èß¿¿ÅžÖÖ_͘1c®ëEDDD®—ÂP©²5ûÖ°zßj2ÎePRR¼‡æñcÒü”üï ~‡@Ÿ@>Äk±¯1²íHF¶iã®o_¿ü•ØÔXNä ØX̼‡æáâàbë¶n{mà“-Ÿ0¹Ïdº4êbõçõ÷°òŒF#ÇÇßߟ~ýú±fÍV­ZeQÀÛo¿}Õ9öîÝË7ß|À'Ÿ|RnÍ!Cðññ! € 0eÊ’’’HJJ²¨ 5¡ÕáçŸféÒ¥cWþùŽ;î°x,ÆŒdgg³qãFó5têÔ‰þóŸeæ·¶^DDD¤&R*""U²(~ÓVM³+1•–›F\ZEæñó—ΗG·Àn7»Mùÿ–&/eʲ)c%¦usëHÍNeÆÏ36ŠZ?pCΑ}>›¸´8r r¬þ¬þZçàÁƒ\¸p–-[2bIJ³³Ù±ciii¸¹¹D÷îÝ-ö²ôóó#""‚®]»P§N"""*<Ï•o£oÙ²%+W®d×®]$%%QXXHýúõiÞ¼y¥î¤´Æ½÷ÞK``àU_„Âå—IÍŸ?Ÿ;v@II ­Zµ¢k×®åîçiM½——_³ï   """èØ±c%¯TDDD¤ê†ŠˆH•|ÿÛ÷8Ø9ð÷þ'¸N0v;œíy¸ÝÃô îc¾Mj†ov}Sî÷%;wñqiqô êiëVÊ¥¿‡ÖIIIÁÉÉÉ Ö«WAƒUø___‹ð³^½z× CÿÈ`0бcÇö 0€Xý¹N:Ñ©S§j­÷öö®ô:•†¡""""7ƒÂP©’ôÜtš×kÎè£-Æy7¢‘w#u%W“~¶üïKnmú{hÍ›7Ó¦MôO`‘Û•þ%(""VY°s«ö®"ïb—Î\âÑo-·îʽ +r8ç01‰1ìËÞGqI1AµƒoN¨ßïÆŸˆç½õïñx§ÇéÖ¸_ïüš„“ 8;8sWÓ»Ùf$ƒÁbÞ‚¢–íYÆoÇã乓¸;¹Ó¾a{ÂÛ†ãåâUîÜvä«_±7k/^.^<Òþ:\¾û)93™ïvÇñ³Ç ðàÉ.OÒħI•®çf*ý¾r r(¸T`þ¾úßÑŸñÇ[\çFùf×7$g$ãëîËÌ3ʯe©•{W²:u5ç.ž£YÝf<Ñé œ:Pf_L[¬½5¿K?&ýÈq_Åÿ×<ÏÂÑ ­:o©ØÔXb÷Æ’w1ϼ6Ua‹¿‡·ºââb~ùå&NœhëVDDDDĆ†ŠˆˆUŽž9J\Zðû„å¹r¯Â«Y¸{!3~žÑd4m8´ov}Ã[ß"¼m8g/œ%.-ŽxwÝ»¤ŸM7ׯN]MRFÓïnË-Ì¥ïÇ}9é¼ÅùbScù"î YL€W€ÅÜaþaücÍ?ÈÌÏ4×/OYÎgáŸqþÒy&/lÑçÊ”•Ä>K=÷zV_OEÆ|7c‰ñšuÞ®Þ|4⣠k®ö}5­ÛøýúÛú·åÍ5o’•Ÿ@K¿–€uk ðÒŠ—ˆIŒ1ÿyá Ä$ÆðH»GÊì‹i‹µ·æwéxÞqR²R€ËwÖ^Ykíy+Z›‡Û=\fÞk±ÅßÃ[ÝæÍ›9{ö,÷Üs­[R*""VÓq ÷ÜqOE=…¿§?oxÓâø÷¿}ϲ=Ë®9Ϯ㻘þótÜœÜx´ý£„5ÃÉÞ‰¤Œ$æï˜ÏßWÿnÝ,‚¶Ï·}N³ºÍx{ÐÛøyø‘œ‘ÌG›?âÛÝßòL·gð÷ô ÈX„£½#Ovy’–~-©ãV‡¼‹yl;ºï~ûŽÈM‘üsˆå›çoŸO«ú­˜Òw >®>l8¼;ðæš79]pšûZÞGÿfý±3ØñõίÙvl_lÿ‚—ïz¹Ê×Sž¸´¸J‡¡ukÕ½fÍÕ¾/_w_‹º/·IPí "zEÐØ»1ž.žV¯åʽ+‰IŒÁÕÑ•'»´åPî›wO,÷ܶXûÊü.5ôjh¾C6À+ ÌÚYsÞ¨ø(þ5ì_Ür÷ïkÓj(C¾ÂáœÃå®ÍÕØòïá­èàÁƒüúë¯|òÉ'¶nEDDDDlLa¨ˆˆØDüÉxì öükã¿0™L˜¸‹Ê„g›4‡W¥Z×o À™‚3æ±ìülùö‘rk†Ëoÿ£{›ß[&\ õ %.-Ž!¡C,Æ=]<ñ÷ô'ã\Æu]OyJ÷Ó¼Ù6X&ëÖr_ö>¼]½-‚P¸ÚÞßò~óÚü‘-Ö¾²¿K±æ¼©Ù©x»z[¡p9PÚr(³6ͪÔ9«[uýÞÖt³gÏ&$$„»îºËÖ­ˆˆˆˆˆ) ›(¸T€Ñddó‘ÍW­¹PtÁâÏ彬ÇÑîrˆVb*1Eþ7’ô³étìÎÐVCñs÷ÃÉÞ ƒÁÀË+_.7 õtö,3æ`çpÕó:Ø9Ppé÷ý«r=å©î=C+«gƒrÇ­YË Åðvñ.wžòÖ°”-Ö¾²¿K±æ¼­·kùã7CuýÞÖd›7ofÅŠ|üñÇe^´&""""·…¡""b <pÉx‰OG~н}¹5µÝjWiîøñx»zóÕÃ_ag°3Ÿ‹£K•æ­Hu]Ouïz½¬YK_w_Ÿ>Lnan™€/93ù†õx#— \ÏÊÛºÀšóV´6‰‰Uê­:Üȵ« .]ºÄôéÓ¹÷Þ{éß¿¿­Û‘@a¨ˆˆØÄ½wÜKä¦HbSc™ÒwŠÅzç.žã‡¤èЩJs{¹xqèô!R³R õ àLá^Yù Š/Ü0´º®§º÷ ½^Ö¬e¯&½8pêÓb§ñÏ!ÿ¤–S-Öì[É?ܰoäï’›£Çr]×y{õæÀ©¼¼òe>¸ïÜÝXµwK“—V©·êp#×®&xë­·ÈÊÊbÁ‚¶nEDDDDj…¡""bOu}Š5û×°p÷BÇ/¦Ií&x8{ŸÍÉs'1–™7j^•æ¾;än¶§mgØ—Ãh^¯9‡sãêèJC¯†œ¿t¾:/¨¾ë±Õž¡WcÍZ>Õõ)–$-auêj6ÚHÓºM9Sp†ô³é´ôkÉžÌ=w—V—ù»T'WGW–$.!)#Éü¨ûÂÑ ­:ïS]ŸbIâÖî_K9=®LNA'òN˜×ÆnäÚÙÚ?üÀÂ… ™5k~~~¶nGDDDDjˆêÿ$"""•àæèÆw~Çè£q´wäÀ©ì>¾›ô³éx8{0¶ÓXZÕoU¥¹ÇuÇCaaÂDJV )Y)ø{ù3oÔ<|\}ªùJ.»‘×cKÖ¬e}ú|ùЗ4­Ó”‚¢O&’q.ƒ§»>ÍàƒÌw‹V§¹ö..¼ÚïUœœÙ—½¸´8âÒâ¬>¯Ÿ»_?ò5Íê6£ ¨€¤Œ$²ò³×yc:Œ©¶µ°Ö­ü{»ÿ~.^¼Xî±;w2mÚ4&L˜ÀàÁƒorg""""R“L•}ODDnšÌÌLòóó+UÒ”ÈÈL®\}uÙ‘¾WGWZùY%i¹iœÈ;A›mÌŸ¿tž¤Œ$z5$À+ Ì\EÆ"ž>HaQ!õ=êãçágqana.©Ù©úRߣ¾ÅgK5©Ý?w¿2ÇŽž9Ч‹'AµƒHÊHâbñE:t¼æÜÇrq2ï$m´-ó¦õ„“ KŒ´oØÞêë±…«}_]ÿ뮵–W:xú ù—ò ôÄÛÕ›g¢ŸaÝuügÂhèÕðšç¾Qk_Õߥ‚¢ž:Haq!&“‰®»ZuÞŠÖ&;?›C9‡hV·™ÕûsÞÌ¿‡7ˤI—×~öì̫֤§§Îøñãyæ™g,ŽíÞ½›qãÆÑ£GæÌ™ƒþÛÿŸ»»›R(è IDAT»îþ‘ÊŠR*"RÝ a¨HybcèØOàò›Ù¿Þù53×Î$¸N0??ý³;”šîZaè™3g9r$iii¸ºº²aü½/o_ðÛo¿1vìXºvíÊœ9spt¼ñûêŠí) +DiÏP©6±©±¼¼òez6¤¶[mŽå#·0€¿öþ«»«ùŽž9Ê++_¹f]§Fx¡Ï 7¡£šåÂ… <ù䓜ýKQDDDªÍ€æÐ|€­Û¸e…ú†ràå¶n£Æ1™LL›6_ý£ÑhqÌ`0ÃŒ3xä‘GlÔ¡ˆˆˆˆÜ*†ŠˆˆˆHöá‡Cy[ÝsæÌZ´haƒÎDDDDäV£×kŠˆˆˆHõÝwßñÑG•„–rppàwÞ¹‰]‰ˆˆˆÈ­Ja¨ˆˆˆˆÔH¿üò o¼ñÆ5늋‹Ùµk¿üòËMèJDDDDne CEDDD¤ÆÙ¾};Ï=÷\…w„^É`0ðî»ï–ÙSTDDDDäJÚ3TDDDDj”sçöðä“Ob4Ë„¡¥oŠ/}£¼››ÁÁÁ´nÝšfÍšqîÜ9¼½½ozÏ""""rkP*""""5Faaqq÷qéRöööæñ+CÏš5kF³fÍðõõµa·""""r«Q*""""5Bnn.ññqs bøð~æÀS¡§ˆˆˆˆT…¡""""R#¸»»Ó­ÛZÞz+ÓÆÝˆˆˆˆÈŸ‘^ $""URXTÈ̵3éýQoš½×ŒwC((*àý_ß'äÝR²R̵‰' y7„ÈM‘7´§›u[8~ö8 v.`좱„¾JÈ»!l8´¡ÂÏìHßÁß?A»ÛÑöÛòÈ·°éð¦ë®?zæ(!ï†òn>pÕùæmŸg®{ÿ×÷+±rÛ*ÝTDDDDäFÑ¿8ED¤J"7EòåŽ/mÝÆmcä×#9uþT¥ë7ÞÈSQOa,ùýÍÚÛÓ¶3nñ8"‡E2¨Å ëªp°sààéƒì:¾‹ ;”9ƒÅ%Å•î[DDDDDäFÒ¡""R%ë®ÇÃÙƒÕO¯fßKû8ðòÜÝxñÎ9ðòB}CozOm´áÀˈèqÓÏ}£5ôlÈccþCóy(ì¡ k‹ŒE¼ûÆ#ã;gûóÛÙ5yíóWL&¯¯~‚¢‚*×—êÚ¸+µœj]æXü‰xöeïãîfw_ÿÅ‹ˆˆˆˆˆT…¡""R%ÙùÙ× ¦i¦Øô?'7ZÌ1L¿w:½ƒzãhïXaíü—ãgÓ¹Qg^½ûU|\}ðtñdb‰ h>€3…gX³oM•ëK¹:º2¸Å`V¤¬ °¨ÐâXTBnŽnåÞQ*"""""b+zL^DD¬2síLóãññ'â y7¤Üºeã—]óîP“ÉDtB4‹“š•ŠÑd$¨v·{˜ÑíGc00–ùv÷·Ä$Äv6 “ÉD O C[ å‘vàêè \Þ3tøWÉèa¾;´Íÿ¶)Ô]iõÓ«iZ§©UýÔtÛÓ¶0¬Õ°2džµÆêÔÕÄ‹3·¶þJámÉJˆ"65–á­‡—÷“]ž²œÁ¡ƒqst«¶ë¹^ CEDÄ&L&S—OeiòR‹ñ½Y{™þótR2SxkÐ[|ðŸølÛguII$e$áhçȘŽcªÔƒ¯»/uÜêXÝOEšÿ³¹Å¾›©[«.['mµ¾ñk8zæ(wÔ»£Ì±¾-.×ä­rý•:t$¸N0QñQæ0465–ü‹ù„· 'ïBÞu\‰ˆˆˆˆˆHõR*""Vy­ÿk¼Öÿ5ÚØžàÚÁÄ<cqüý_ßçÓ­Ÿ^sž¥ÉKY𼔿õšó·»þFXƒ0œœIÊHâ͵o²(~ámÃiß°=kö­ÁÕÑ•îû€Mzà`çÀ‘œ#,ݳ7§ŠïS*׬ˆˆˆˆˆÈM¤0TDDlbö~Œ%FzÔ¸º™0™8‘w€iý¦1ñ‡‰ôû¤½ƒzêJ{ÿö´ôkiÕ9w¦ïdêò©ü;üße ·¦ŸšÎÃÙ€³Ζ9–wñòcë.U®ÿ#_w_ú÷aIÒŒ&#v;F´Qõ ¹A†ŠˆˆM”˜J*Ü_³ÈX\¾ tÍ_Ö°+};Ów²ýØv"7FâãæÃ¬a³h^¯ù5Ï"žç—>ÏÜásË Q­é§"5aÏÐ@Ÿ@öeï£CÃÇöfí½\ãXåúòŒl3’ç~xŽ/â¾ W“^w׊ˆˆˆˆˆÔ CEDÄ&šÖiJrf2›ŸÛl¾3±"ö{:7êLçFËo,¿çß÷ðÊÊWXòÄ’ ?»'s˜È¬a³ó«–~j²Î:óéÖOY𼔇Û=lq¬ôQ]w©r}yú7ë«g Ïð`؃Õq""""""ÕNa¨ˆˆØÄƒa²cÅÿþq&õœD;ÿvx8{•ŸÅ¾ì}D'F3ºýhz4éÁƒ dxëátiԅElþìÝy\•uÞÿñ÷aEQ"›âF©˜’æVf™¥Vf÷Xš¶ÜÔÔL55Íd·mS35Xݶ©iVn9ÖT–[)ᚦ‚»â‚ («ÎïžÛ p8p€óz>=:|¯ïu]Ÿë:Wdï¾×÷{4YyÅy*)/¹âyœ9 ‡—=¬7o{S×…\g—z®¤1Ì:0l :´ê ­'¶ê•5¯èÑÊÍÅMó™¯ï÷¯6^m4¢Ë›ûWÅÍÅM[ßZß—uB pˆ±ÝÇjËñ-Z¶{™ZúP•}îéu$)5#U;NOï{ª=GvQ¶&}1IgÏŸÕ}þ_Uöù~Ú÷Šô¬U=ŽðÔ×OYFi^2eñËçwî|G#»Ž”$¹»ºkæÈ™š¶tšæl£9[çXú ͸y†¼Ý½-mµíMa(À! ƒ^¿õu ެE¿.RJFŠŠÊŠè¨k®ÑØîc50| $iÙ¤eZ´s‘6ߤô¼ty¹{)Â?Bã{Ž×¸ãª=GVa–Ξ?k÷zš‚Aƒ´pâB%&%j穪0W¨{`w=6à1ŇÇ×¹?4Eó¥%rFff¦ kÔ7**R‰‰™5ªfý 1›>Ý(Iš5+ÓÁ• ©ðññ‘Ñhtt iXââè  !†p „¡œa(§@ À)†p „¡œa(§@ À)†p „¡œa(§@ €“9UpJ‰I‰Úzbk¥m»OïVÔkQJLJt@eP¿Cp2—ÂÐ-'¶TÚfô5*!>Aq¡q¨ ê—›£ G€O€â]Ô ÂP€ÍNœÖºÃëtîÂ9un×Yƒ#ëÀÙZu`•F]3JQí¢$IÇriEê Š¤^A½´ùøf¥f¦ª¥GKMè=A’tîÂ9­?²^'òNÈÓÍSÝ»«oǾVçKÍLÕšƒk¬ŽýÛm·FߪHÿÈJçíÔSÉG“µ'sZz¶ÔàˆÁ iRëk®Éµ˜Ì&m<ºQûÏìWyE¹ÂÛ†kpÄ`yºyVyœÚÔV“ût¥#ý#µl÷2IÒÆceª0YöKˆOPVa–¾øõ Å…ÆYF‡^~¼ÞzkóñÍÚuz—<Ý<5(bÂÚ„UYkMŸh(„¡›,Þ¹X/þð¢JM¥–¶ØàXÝ}›“Õ¥}«041)Q®z{ÃÛJJK’$Åc4¡÷­Ü¿RþöÏ:wáœÕ9bƒcõîï*À'@’”š‘Z騗\Úm†^:ï?~ú‡6Ûhéïæâ¦ç†=§I×MªÕu_íZvžÚ©ÇW<®ôüt«ý‚ZéÇþ¯ºv·¹¶šÞ§+ÕxS×›´t×RIÒ¦c›´éØ&Ëqâ”y.S‰I‰V¯Ê_:ž—»—foœ­ÕW[öquqÕ«·¼ª±=ÆZÕT›ç a( ÖvÞ¥¾A¦ “úv쫞A=•[œ«ï÷¯÷rß«v¿9[稨´H£»V¨_¨}µ7k¯žXñ„Ê+ÊÕ#¨‡ú„ôQai¡VX­'wè±åiñ-–Á`°¹ÞKç3Fí}Ú+5#UmÔÿ¬þumßÕ¦ù1«º–“ù'5yñd”¨W‡^êÔKnJÉHѦc›4mé4­š¶J>ž>µ®Í–ûTUQí¢4¾çx-ݵTý;õW¿ŽýjuÍ… 5&fŒŒ¾F¥f¤êç£?ëo?üM#ºŒ¯§¯$ÛŸ¨o„¡€Z›»u®L&=ÿ¸¦ÇO·´'Ä'hÌÜ1ÕîW\V¬¯&¥ÿKÛS_?¥òŠrMî;YÏ }Îæ=}ãÓûÉXí8¹C›ŽoÒõ®·¹Þâ²b­˜¼Â2bTºì½²æ}¼åc›ÂЪ®åoßÿM%šqÓ Ýwí}Výçm›§™«gê«=_ibìÄZ×öÑæj}ŸªªQ’ ƒ–îZªë;]¯ÇvU×’|,Y®WååèÝäwõÎÏïhVÒ,ÍJš¥Œs’¤Ý§wÛT›-÷©ªëbl÷±•æ2½1òFIRæ¹LK›­ÏÔ7F†j-¿$_¾r5¸VÚâWý¢DU-´Sp¡@¾jáÖ¢Ò¶P¿PËùꢣ_ÇJm.·ÖîŒÝUìquU]KNQŽLf“þ•ô¯j÷ûí|Ÿ5­Í–ûTÝÂF¶ jT©ÍÛÝ[’T^Qni³õù€úF ¨µÖ-Z+ã\†LfS¥À+=/½š½..¶ó[­<[étÁi•”—T úŽç·œO’eûùÒó•ŽsªàTµç=‘w¢R›ÙlÖÉü“jåÙªÚý®¤ÊkiÑJ¥¦RM‹›Ví~¿]4¨¦µÕæ>]©Æ†`ëóõ×䵫â²b½¿ñ}«öS§´d×’Zëºëd2›ôÖú·¬ÚóŠóôÁ¦,}$©Cë’¤u‡ÖYõÍ,ÌÔ¢‹ª=ÇW{¾ÒáìÃVms·ÍUvQ¶åØö0 Ó—«S›NJˆO¨ô×M]nR¯ ^6ÕV›ût5ž®ž–}ëƒ=Ÿ°'F†jí¾蛽ßèŸëÿ©¤´$õìÐS¹E¹úþÀ÷– ­¦ì÷ ¾Ùû>Þò±¶¥oÓµÁתðB¡ÖZ£œ¢õîÐ[ýCûK’ºvW€O€Vî_©‰ 'ªwpo=Vßïÿ^ÞÞÕžÃËÝKcæŽÑÍ]oV{ŸöÚ“¹GÉG“e0ô`¿ët/.÷è€GµrÿJ=õõSš»u®zõ’o _)<£gh÷éÝšs÷·®umµ¹OWÓѯ£\ .Z²k‰Ê+ÊÕÆ«¤‹ Ùƒ=Ÿ°'ÂP@­õ ê¥7ÍÐK«_Ò–[´åÄIRï½5$jˆÞZÿ–e.É«éf즷Ǽ­?ûgí<µS;Oí´l‹ ŽÕ»w¾kY0¨…[ ½0ü=±â «óƇÇkXÔ0ÍX5£ÊsLé;EÒ6hEê K››‹›žöœM+ÉW'¤uˆÜ»@O}ý”R2R”’‘bµ=: Ú*­Mmµ¹OWãçå§±=Æj鮥ZðËK»½ÂP{>`O„¡›Ü{¯GÖºCëTXZ¨Îí:kpÄ`ýõû¿J²^lçÒkã±Á±UkdבÐi€Ö§­Wz^º<Ü<Ô#°‡úvì[©ï-×Ü¢îÝõãáUTV¤cŒ† Ôž¬=JˆO¨rõtO7O-¸w6¤mÐþ¬ýòöðÖ‘7VZ½&®v-ÝŒÝôíƒßjûÉíJÉHQqY±}Õµ}WE£ëT[MïÓÕj”¤WoyU·w»]{2÷¨¨¬ÈÒnô5*!>Á*ˆ½Òñ.mëÔÓª½6Ï4ƒÙl6;º€µÌÌLÖ¨oTT¤35jTÍúÛKJFŠbŒ1V£S2Rt÷‚»åã飿ßè°|.Yd½¦,ž¢ç‡=¯É}';´–ßj̵ÙCSx>Ð8MŸn”$Íš•éàJÐTøøøÈh4:º Ð4,ad(À&ÿJú—ŽdQŸ>jëÝVi9iZwhLf“&]7©I]g Ïèó_?¿j¿ÿÝ}[TÔô5§ç@óA °IÀúñð:–{̪}\qzäúGT•mÎUbRâUû ï<œ0´†šÓó ù Ø$!>Ac{ŒÕ/é¿ètÁiù¶ðU¿ŽýÔ¹]gG—fQ“¹3%©w»-TÕ|¤¶ªimMUSx>8æ €F¨)Ì õ9CQ[Ì ja‰‹£+€†@ À)†p „¡œa(§@ À)†p nŽ.ÐôÉ>¢¿¬ü‹Æõ§q=ÆÙõØë¬×ì³õÄ 'Ô¯c?»»¶vžÚ©××½®I}&idב­åJœ9 µ‡ÖjÓñM*-/Õ3CžQ¯½ªì{ºà´¾ÛÿöeíSVa–ÚxµQŸ>º³Çòv÷®rŸc¹Ç´d×Í9*“Ù¤P¿Pí1V]Ûw­ÏË»# ÔÚùÒóÚrb‹úwêo÷cŸ9F[NlQNQŽÝ]•ýgökÆ3tw¯»uG÷;¬¶å—äkˉ-ÑeDƒÔb‹1sÇ(53Õª-¿$¿Ê¾ŸlûD3×Ì”Ùl¶jÿzÏ×ú`óš?a¾:µédµmþ/óõòê—e2›¬Úçn«é§kzüt;\4 ÂP@­EøGháÄ… nìèRêìÜ…sÚrb‹†tt)6É:Ÿ¥Îí:kXçaÚ—µO?þ±Ú¾ÙEÙ ò Ò-×Ü¢Îí:«½O{É>¢6¤“ù'õì·Ïêóû>·ô?]pÚ„Žë1NÃ:“«‹«’Ò’ôéöO•øs¢nêz#D4„¡€ZkéÑRq¡qŽ.’V<°B>’¤xñŠ}'÷¬?Üð KÛàˆÁÑe„nþðfm=±UçKÏ«¥GKIÒ¶ôm2™MÑe„^¿õuË>↩ÌT¦/~ýB›o& Ðd†jíJs†n9±EÿÙóÈ;!Wõê¡ ½'¨]Ëv•޳rÿJ­Ü·R Ô¹]gÝßçþ+ž7-'MËv/Ó3T^Q®ð¶áßc¼¢Ñ–>—ÏóymðµšÿË|íÍÜ+oo ï<\·w»Ýþ;åßúxËÇ’¤%;—èç´Ÿ-Çùì¾Ï¬ÎWœ§ù¿Ì×®Ó»äéæ©!‘C4®Ç8«`Ñ.¡5ÑÆ«M•í!­CÑ6B{³öªÂ\ai÷r÷’¤J¯ÎKRX›°‹}ܼjQ-8a( Öª›3ô•5¯hÎÖ9Vmk­ÑÜ­sõá]êÚàk-íÏ|óŒ–í^fùyý‘õZ¶{™&ôžPå9?Ûñ™fü0ÃjîÊõGÖëÓíŸêå‘/k|Ïñ’þožÏA=ôÒª—”U˜eéÿݾï´úàj%ŽI”Á`ÐÉ‚“Ú›µW’”žŸ®ôüô*Ï]”­;æÝaµýûýß+%#E/Þôâ•n•Åï>ÿL¦«w”äçå§÷ƾW£¾öpîÂ9Ë=¦žA=åëékiï×±ŸZ·h­¯S¿ÖÄØ‰ õ •$efjñ®ÅjáÖBƒ"5XPW„¡»øáÀš³uŽÜ\ÜtŸûÕ/´ŸÎ•œÓÒÝKµéØ&ý~ùïµî‘uòtóÔ·û¾Õ²ÝËäåî¥)}§¨W‡^Ê)ÊÑü_æë£ÍU:öö“Ûõâ/ÊÛÃ[c'ªWP/y¸z(%#Es·ÍÕ ß¿ þú+¤uˆeŸO¶}¢ð¶ázâ†'Ô¾e{¥f¦êÃÍê»}ßiiÄRÝÕó.Ýs‡|=}õÒª—tW¯‹?Wå£Í©s»Îzå–Wdô5*5#Uï%¿§…;ê¡þ©C«W½?[Nl©qZÕ(Úúôâ/ê‚邞ú¬U{«­4{Ül=õõSñþu è"ƒ :töZµh¥YwÌ’ÑÇØ µ@]†ìâ‹_¿$½6ê5«UÙÇČѤ/&iã±ZshF]3JKv.‘$½=æm ‹fé{{Ìíºõã[•–“fuì9[æ¨Â\¡9wϱ]:$jˆz÷ÖäE“õõž¯õèõZ¶µ÷i¯/ïÿÒòª÷¨!êÒGÿõùiѯ‹tWÏ»Ü:XÝŒÝ$]|U¼ºyPÃÚ†i餥òtó”tqžÍ²Š2ÍJš¥_OýZ£0tÁ½ *­â^wW÷õ³‡7zS+RWè/Ãÿ¢~ûUÚÞѯ£GÖ¢_ioæ^KûÀ° kÖ`u€=†ìb_Ö>y¹{iLÌ«vƒÁ  ½'hã±Ú›¹W£®¥ýgöËÏËÏ*•$WÝÞívý+é_Ví;OÁUoox[’d6›eÖÅ`±ÜT.I:œ}ØjŸQ׌²¡—\=ºÿÌþZ]ÛÈ®#-Aè%Ý»K’r‹rktŒª‚FG2›Íš¹f¦>Ùö‰žò¬èó@¥>™…™º}îí**-ÒÔ¸©Ší+WWíÎØ­y[çiÍ¡5Z6i™"ý#þÀ„¡»¸P~A­<[U¹ Pë­-}$©¤¼D~-üª<ŽŸWåö¢Ò"™Ì&%M®öü%e%V?·jѪÚãŸ*8Uíqªr©þ˹»\½yù‚CWÒ˜æ 5™Mzæ›gôï”ëùaÏkrßÉUö›·užrŠr4säL«¹\‡F UŒ1F,{Dïoz_¿õïõV+Øa(À.|t(û2 3+Í#¹;c·$Éèk´ôMËNS^q^¥ðóRß˵ R©©Tï{_®.®Už¿­w[«ŸS3R+õ9_z^G²X­ÀnÐÅ𶦯°Ûª±ÌZR^¢„'hí¡µú눿jÒu“ªí{"ï„$U9ò3¢m„$éXî±ú)êa(À.n¿AÏÔÓÿyZoy[m¼ÚH’¶žØª÷7½oéséï‡ÎÒ³ß>«7o{S>ž>’.®ö¾"uE¥cßÔå&%&%jåþ•zjðSV#5Ï]8§å)ËÕ'¤Õ>«®Ò²ÝË4®Ç8IRqY±žÿîy•éÖn·Zúy»{K’Žç·×­¨Rc˜3´ðB¡¦-¦méÛ4㦺ïÚû®ØÿÒ\¨ï%¿§·nË\^(´LYpù¢UÐØ†ìbZÜ4}µç+ý|ôgÝðî ŠðPá…BÈ?!³Ù¬»zÝ¥.í»H’¦ÆMÕ—»¿Ôꃫ5àŠðPNQŽNœR7c7íÉÜcuì©qSµêà*}¶ã3-Þ¹XamÃäëé«3…gtúÜi™*Lšs÷«}¢¢õÌ7ÏèŸ?ýS¾JËISá…By»{[-´î./w/}¹ûK¥d¤X^ßÿì¾ÏìzêkÎÐ÷’ßSRZ’$éhîQIÒëë^×ì³%IO zÂrî¬ÿ‡¶žØ*O}³÷}³÷›JÇ{uÔ«êÔ¦“$iBï úlÇgÚ¶Aߨˆ¶ruqÕáìÃ*.+–«ÁU“úT?²ÂP€]´÷i¯Ïïû\Ï÷¼¶œØb 4½Ü½tŸûõ‡A°ô5ú5ÿÞùúã×ÔÁ³•’‘"77Mî;Y]ÚuÑŸ¿û³Õ±½Ý½õùÄÏõÆOoèËÝ_êÐÙC–m~^~º#æÅÆXísg÷;54j¨>Øô2 3%IamÂôÆmo(Ô/ÔÒ¯…[ =7ô9Í\3Sΰû}©o‡³kˉ-Vm—/•S”cù|i^Õ …•ö¹¤¨¬Èò9Â?BóﯗV½¤”ŒíÍú¿Õä£ÚEé/Ãþ¢^A½ìrÐ æúž$ Pk™™™*,,¬Qߨ¨H;¸Vò IDAT%&fjÔ¨šõ·‡ó¥ç•’‘¢àÖÁU¾&}¦ðŒÒóÓåáæ¡(ÿ¨J+±_îpöa–ª“_'ùyùéLáÉ9¢Îí:WšT’ÊLe–‘‰¾2úåbp±l_d½¦,žbY¨ ¤@i9iòöðV”T• –×ãwžÚ©¨×¢ª<ç×S¾Vt@ôë2›ÍZºk©ïZ¬ýYûe2›Þ6\zOÐ}±÷É`0H’L&-ܱPËv-Ó‰ü2›ÍêÔ¦“n¹]÷ö¾W^î^ö¹Q€F…0`³Ý»õÆo¨ÔT*éâ"HËS–+=?]Ÿß÷y¥þÛOn×kk_“Él’$U˜+ìV‹ÙlÖÿóG­H]aÕ¾/kŸ^üáEíÍÜ«—oyY’ôæOoêÃÍZõKÉHQJFŠÜ]Üõ»ë~wÕóuý{W™*L5ª­]ËvÚ4}S ¯P_C6û*õ+MŒ¨û=(£¯Q©©úÃWÐÖ[µ7s¯¢Ö#9¿Û÷îêu—Š{H¡~¡ruq•$ýeø_ûV¬"ÚFX½&.Ioüø†ÞßôþUkY‘ºB+RW¨kû®zzÈÓêÔKžnžJÉHÑK«_Ò¢‹4¾çxÅÇjÕUòr÷Ò›·½©aäæâ¦£9GµbÏ y{xÛïÂP€ÍâÃãõÒÍ/Y~¾.ä:=Ôÿ!½øÃ‹Úwf_¥0´w‡Þzeä+–×Õíiéî¥ruqÕÜ{æ*À'ÀÒÞ·c_½5ú-üh¤V\­ØàX¶ ”$ ï2\®†‹l´1ºR½W²ÿéýö½@½# جhÿJmý:J’Ηž¯´m`ØÀz B%éà™ƒ2U˜tÃ{7HºøÚ¼YfËgI:UpJ’ôüÐçõØòÇ4töPÝ~ƒ¢ÑŠí«nÆnõR q ØÌÓͳR›AÃÎKäå._TÉÞ.Í?z¥y<ËLe’.Ž]õð*mOß®_ÒÑÖã[•¸!Qm¼Ûè_cþ¥®í»^õ|Ì Ma( YˆôTjfª’Ÿ,_Oß«öw5¸ªoǾêÛ±¯¤‹‹?ø`„þüíŸõåý_Öw¹ 4 wõºKÛ¾Ù¦I_LÒôÓÕ»Coùzú*«0KÎÐÒÝKu_ì}6@w-¸Kwv¿Sý:öSˆ_ˆÊLeJ>š¬¼â<•”—Ôè|Ì Ma( YÛ}¬¶ߢe»—é¡¥UÙçž^÷H’R3Rµã䎪ûô¾§Þj¬‰§¾~J+RWXµMY<Åòù;ßÑÈ®#º,hCÍ‚Á`Ðë·¾®Á‘ƒµè×EJÉHQQY‘}uMÀ5Û}¬†”$-›´L‹v.Ҧ㛔ž—./w/EøGh|Ïñ×cœƒ¯P_ æªV¸8Tff¦ kÔ7**R‰‰™5ªfý 1›>Ý(Iš5+ÓÁ• ©ðññ‘Ñhtt iXââè  !†p „¡œa(§@ À)†p „¡œa(§@ À)†p „¡œa(õ$«0K‰I‰Ú||³£Kˆ0€z“y.³Rzªà”“µõÄVVΉ0€zbô5*!>Aq¡q–¶Kaè–[X8'7G@sà „øG—øÿCµv,÷˜V¤®Ð ˆAêÔK›oVjfªZz´Ô-×Ü¢O¶}¢ÞzkPÄ Ë>i9iúzÏ×jãÕF¿»îw–öòŠr½—üž:·ë¬[®¹¥A¯#¿$¿Nµ^é>Lè=AY…Yúâ×/§¸Ð8m=±UËv/“$m<¶Q¦ “娗‡¦&³InÔþ3ûU^Q®ð¶á1Xžnž pW ù" ÔÚ±ÜcJLJ”‡«‡ÞÞð¶’Ò’$I1ÆÝÝënÍÿe¾6¤m° W¤®Ð;?¿#WW‰£V-ZI’vœÜ¡Ä¤D=}ãÓW=ﬤY2Ë\£½Ý½55nêûøzúÖ©Ö+݇ ½'Xæ ½ôªü–[´t×RIÒ¦c›´éØ&Ë9/…¡;OíÔã+Wz~ºU­A­‚ô¿cÿWÝ»×èú•†l6gë•it·Ñ õ U o \ .Ði€¾?ð½Î]8'_O_IÒ†#Ôѯ£NäPò±dì:òb{ÚIR|xüUÏ÷Nò;V£)¯¤]ËvW CíUkU÷¡*ý:öÓøžãµt×RõïÔ_ý:ö³Ú~2ÿ¤&/ž¬‚’õêÐK½‚zÉÃÍC))Útl“¦-¦UÓVÉÇÓ§F÷`0`³â²b}5ù+EøGXµÇ‡ÇëÛ}ß*ùh²nîz³ J ”’™¢§o|Zs¶ÌQRZ’%`LJKR[ï¶Šˆ¾êù~?à÷µZö¨µºûð[};ö•Á`ÐÒ]Ku}§ëõ؀Ǭ¶°é”hÆM3tßµ÷Ym›·mžf®ž©¯ö|¥‰±ktmk„¡›‰SexiädÒÑ$ÝÜõf%K–©Â¤øðx8sÀò:y~I¾R2Rtkô­2 W=ßôøéö½;ÕZÝ}¨­äcÉr5¸*§(Gï&¿+³Ù,³ùbø{¾ì¼$i÷éÝRlON‰0`³°6aU¶whÕAþÚpäâkåIiI ð P×ö]¯e»—éXî1íÉÜ£ s…† ¬Ñùì=g¨½j­î>ÔVNQŽLf“þ•ô¯jûœ»pÎ.çgD °™«‹kµÛ† Ô‚_èhîQ%¥%YF`ƇÇË`0(éh’R3R-m5aï9CíUë•îCm´jÑJ¥¦RM‹›VmŸ¨vQv98#ÂP@½¸!ü-øe>ýåS¥ç§ëɰ'%Im¼Ú(: ZŽlÐÞ¬½Šô¬vÁ¡ßª9Cë«ÖêxºzJ’òŠó*mÐi€í\¤Nm:iL̘JÛ÷eí³,ò¨=ÂP@½ˆ “›‹›îX(ƒÁ`5¢ò†ð4gë•™ÊtŸûk|Ìú˜3TªŸZ«Óѯ£\ .Z²k‰Ê+ÊÕÆ«$)!>AxT+÷¯ÔS_?¥¹[çªWP/ù¶ðÕ™Â3:pö€vŸÞ­9wÏQpëà:×ÎÈÅÑê¦ë9DK–Š ŽU™©LÑÑjëÝÖ²-><^e¦2Iªñ|¡õ©!kõóòÓØcUx¡P ~Y Ä¤D%&%J’BZ‡hÁ½ Ô¹]g¥d¤hᎅš½q¶–í^¦Ý§w+: š ÍžÙÜx¯ écd(4qÞÞ**jØä S›NJˆOPlð•—5lÀcÚ~r»ºv·jïÒG ñ ’¤þú×[µaK­W»F_£âgÕþê-¯êön·kOæ•Ymëfì¦oüVÛOnWJFŠŠËŠè¨®í»*Ú]×˽óç]Xîè2ÐLÌfsÍ&_4˜ÌÌL֨ºýösš>=·ž«€ú7jTG ~^O>™ãèRÐDøøøÈh4:º Ð4,á5yhâºv-Ujª§£Ë€:+.vÑ‘#îêÚµÔÑ¥ ™" €&®ÿbmÜ襲2&Ùд%'{©¢Â ¸¸bG—€fŠ0š¸áÃÏ«¤ÄE«Vµtt)P'Ë—ûèÚkKÔ®ÉÑ¥ ™" €&.0°\7Þx^ì'fÐT=ê®Õ«[êÞ{ ] š1ÂPhþøÇ¥¤xhùr_G—6yùåv /Óm·Õlñ8À„¡Ð tî\ª  ôæ›þ*,äW;€¦åǽµn·^|ñ¬\]â€úÃ1@3ñ‡?䪢BzòÉUT8º¨™ôt7=óL€F.dá$Ô;ÂPh&üüLúðÃÓÚ¸Ñ[¯¿îïèràªÎŸwÑÃ)  \/¿|ÆÑåÀ †@3ңǽòJ–æÌñSbb[TÐhåå¹êÁƒ”›ëª>È·7CÚPÿÜ]À¾F.TQ‘‹þö·vJKs×k¯eÉÓ“T@ãqø°»z(H&“AŸ|rJAAåŽ. N‚‘¡Ð ÝsOæÌ9­õë½5~|°¶mkáè’@&“A ´Ö]w…¨m[“–-KWçÎ¥Ž. N„0š©Šõå—éò÷7éÞ{ƒõä“F=êîè²8¡ŠŠ‹+Æ¢W_õ×ĉúôÓSò÷79º48ƒÙÌŒrÐØdffª°°ÐnÇ[³¦¥^yÅ_Ç»«_¿b ^¤ØØuêT¦Ö­Mrá°£  ÊÍuÕÚ´ÉK+W¶Ôñãî6켞{.[:•9ºD4#>>>2Ž.4 KC ²w*I&“ôÓO-õÕW>Ú°Á[ùù$ ê_xx™† ;¯ñãÏ)*ŠWâa„¡ –°€8 WWièÐó:ô¼ÌféäIw?™ÍG—‡Fnûö¯4wîCš5+ÃÑ¥  ðð0«U+“:w.•Ÿ«Ä ñ 'd0H!!e áUUÔŒÙ\¢¹s¥[n±ïˆehH¼# À)†p „¡œa(§@ À)†p „¡œa(§@ À)¸9º@eF£QF£ÑÑe—žÇÈÈHW¶cd(§@ À)†p „¡œa(§@ À)†p „¡œa(§@ À)†p „¡œa(§@ À)†p „¡œa(§@ À)†p „¡œa(§@ À)¸9ºÐ¸ääähÍš5Vm›6m’$-Y²Äª½eË–5jTƒÕua0›ÍfG’’èܹsWí{ß}÷éÓO?m€ª Î–ðš<°Ò¢E ;VîîîWí;qâĨ샑¡ÐH”——«¤¤ÄÑe’¤5kÖèŽ;î¸bŸÖ­[+--­F¡)4„-ZÈÍ™À@µ–ð'h$JJJ”™™éè2IRtt´üüü”——WåvwwwÝzë­ÊÉÉiàÊ zF£Q>>>Ž.4b¼&*quuÕèÑ£«õYVV¦Ñ£G7pUP7„¡ J£GVYYY•ÛÚµk§ë®»®+€º! UŠU```¥vwww;V..ü1@ÓÂÅ€* ÝqÇ•^•çyMa(¨ÖwÜQéUùŽ;*::ÚA€íC@µ¢¢¢nùÙÍÍMãÆs`E`;ÂPpEcÇŽ•›››$©¼¼\·Ýv›ƒ+Û†€+=z´ÊËË%IÑÑÑ slA`#ÂPpE!!!êÑ£‡¤‹£D ©rst€†±w¯‡~ýµ…ôP~¾‹JK Ž. MˆÉ4IÒ3Ú¸ñ~mßntt9hB||Ìò÷/Wtt©ââŠÕ®ÉÑ%À‰†@3–íª… [iéÒV:uÊM>>êÒ¥T~~&yzš]š  qÊÊú^žžAŽ.MLf¦«víòÔGù©¢Â ØØMœX Ûn+”«+¿‡Ð° f³™?…@#PXX¨ÌÌL»«¼Ü ùó[kÖ¬6òð0küøs9²PÝ»_¡°ÑáÇéè2ÐD´q£·–/÷ѪU-Y¦¿þõ¬ââŠ]š£Ñ(G—¯%„¡ÐHØ+ Ý»×CO<¨“'Ý4ujž~8W^^üªÐx=ê®W^i§µk½5zt¡^~ùŒ¼½+]šÂPpKX@ š‘µk[êž{‚P®•+ë‰'rB4:aaeúàƒÓúè£ÓJNöÒ=÷tÐéÓÌÞ€úG ÍÄÂ…­ôè£=ºPsçžVHH¹£K€+ºñÆ"-[–.“É qãBt𠇣K@3G ÍÀÚµ-5cF{%$äèå—ÏÈÍÑ š†r-^|R¡¡eš6-HÙÙ®Ž. Ía(4qzèÉ'4nÜ9=öX®£Ë€Zóñ©ÐìÙ§åæfÖÔ©A*.f¥7ÔÂPhÂÊË úýïÕ£ÇýÏÿœqt9`3?¿ ½ÿþi;æ®wßmëèrÐL†@öÉ'­uò¤›^}5‹Wã4y‘‘eúÃrôñÇ­•–æîèrÐ †@•íªwÞi£©SóX, @³1qbÂÃËôê«þŽ.Ía(4Q ¶–‡‡Y?Ì<¡Õ‚ ”˜˜¨ÄÄDmÛ¶­ÒöÇ+**Êò×l>WmeÏs_MQQ‘Feu¾¨¨(=òÈ#2™Lš4iR¥m£G®·zì-77תöÍ›7;º$»pÔu¹ºšõôÓÙZ»¶%«ËÀîÜ] öÌfiéR_N^^¼ßX-X°@GŽ‘$yxx¨OŸ>®È1>úè#KØÚ²eKÝsÏ=òññQDD„V¬X¡äädI’«««î½÷^µmÛVíÚµsdÉp°Áƒ‹Z¦¥K}õç?g;º4#„¡ÐíÛç¡S§Ü4rd¡£KA´mÛV –Ÿýý›çkÁ{÷îµ|5j”ž{î9ËÏ/¿ü²ås¿~ýôâ‹/6dih¤ iäÈóZµª%a(ìŠ0š ;ZÈǧBÝ»_hÐóšÍfýúë¯Ú³gòóóÕºuk…††*66V>>>Uîsøðamß¾]ÙÙÙòððPTT”ú÷ï/ª_ÍÏÏ׺u딑‘¡ 6L’ôá‡ZúŒ;V!!!:qâ„–/_niŸ6mš¼¼¼$Iyyyš?¾eÛ½÷Þ«öíÛÛT[nn®,X`ùù¾ûŸŸ~úé':tHêß¿¿%I›7oÖæÍ›•““cÙ'99Y¥¥¥’$M™2¥š»,™L&½ûî»VmnnnjÕª•ºvíªk¯½V®®®Õîo«²²2­[·NGŽ‘¿¿¿† b5B³¶÷;++KkÖ¬± C÷ï߯ÄÄDËÏ—¿z}úôi˶k¯½Vñññ–muù®|}}µvíZ¥¥¥)&&Fƒ ªõq/)((ÐÚµk+=ŸµQ_5Öå¹±ÇuÙ[ÿþÅúà?åå¹ÈϯÂÑå ™ €&èðaEE•Ê`h¸sfeeiêÔ©Ú³gO¥mnnn1b„fÍšeiKOO׳Ï>«M›6Uê ™3gjèСVíIIIzüñÇ•ŸŸoi Ñ?þñ«-..N!!!:~ü¸Uû¤I“,á\~~¾Õ¶#FXÂÐÚÖ–““cu¬>}úèÍ7ßÔ®]»,m^^^úç?ÿ©#FhóæÍVý¥‹aè¥×ÁF£¦L™Ré¸#GŽ”¿¿¿ÊËË+í¹½ýöÛêÝ»wµ}j+33SO<ñ„ÕÜ¡^^^zõÕWuÛm·IR­ïwjjj¥ëصk—Õ}»ÜÑ£G-ý|ðAÅÇÇ×ù»êÞ½»^}õU¥¥¥I’xà 4Ȧç399Y ÊË˳´]z>k£¾j´õ¹±×uÙ[—.ÿçÁ‘#ºöÚ‡Ö€æƒ0š ¼|XÅÅÅúãÿ¨ððpÅÄÄÔú˜111JHHЗ_~©ôôtIRÏž=uã7Zú¬^½Úò\………éöÛo—tqd¨=¾«çŸ^~~~šŸöªÑ–ç¦>¯«®Ú¶½ø;.7×þ£ à¼C  *-•<<vá¤ãÇ[>¿ôÒKŠ‹‹»¬žRýôÓO–ŸgÏžm q.-’siaçÎõöÛoËd2é•W^ÑþóIÒ¼yó,AhË–-µ|ùrµmÛV’4sæLÍ›7ïª5º¸¸\µ-µýV÷îÝ5{öl ÝvÛm?~¼$éìÙ³JKKS\\œâââôŸÿüÇ* }ä‘G®ZŸtq!¡ËC­KÊÊÊ4lØ0:uJ¹¹¹Z½zµÆŒS£c^MŸ>},£ Ÿ|òIÝ|óÍ:uê”ÊËË5{öl«Q¿—\í~ÇÄÄ(&&FÛ¶m³ C/¿¶Ó§O[ÂÐððp«m/¿ür¿«Î;kΜ9rss«ÓqçÍ›g m}>«c¯mynêóºêêÒï¸ p<š=ÂP@\sÍ5úùçŸ%I=ö˜úõë§°°0EDD¨OŸ>1b„¥ïúõë-Ÿ[µje5ßçÉ“'-Ÿ÷íÛ§¬¬,hË–-–öÁƒ[éâ¡ö el©í·&L˜ ÃÿŸ£ ,,Ìj[FF†®¹æš:×i6›•ššª½{÷*;;Û2ߨÙü!øÁƒë|žKÆŽkùìå契#GjΜ9’¤­[·Úí<µaïêþûï· m=n}>ŸöªQªýsÓPÿÜa( F¦OŸ®Ý»wkË–-ÊËËÓ?ü`µý†nÐìÙ³åéé©ÜÜ\Kû¯¿þª_ýµÚãfff* @–¶Ëí‘l[eÝdªz[jû­K %I’»»»Õ¶ŠŠº/ôrüøq=öØcV UåÒˆ>{¸Ò=¿üžU§ºû]öø®:tè`—ã^>­=žÏú¨Ñ–ç¦>¯ hŒC5âãã£Ï>ûLGŽÑŽ;tüøq>|XëÖ­Ó… ´aÃ-X°@S§NU›6m,+©÷éÓ§Úù%Y5jݺµåUê³gÏZõÉÎήrßß¾¦}iœtñõëªØRÛo]¾"·¡V±úë_ÿj ´¼½½uë­·Êh4ÊÅÅE‹/¶¼>}ùh¿ºúí=¾üç6mÚH²í~×…½¿«ºז糦ìU£-ÏM}^ІjdÛ¶m UDD„""",í3fÌЂ $I‡’$ 4H‡–$åååiêÔ©òöö¶:^VV–8`eÙ¯_?¥¦¦JºøŠpNNŽå•Ý/¿ü²Êš~;0--Í2ºmñâÅUîcKm¶ºüÕç’’š¯†}ùŠîÓ¦M³,d“­¹sçÖ©¦ê,_¾\ƒ–$kåÊ•–m}ûö•_^ë1 IDATdÛý®‹úú®êù¬ [j´å¹ièë0P#Ë–-Ó—_~©ØØXuêÔIíÛ·Wvv¶¾þúkKŸ¨¨(IÒÃ?¬o¾ùFYYY:tèFŒ¡aÆÉ××W:zô¨víÚ¥øøxÅÇÇKº8oâ¢E‹TTT¤ÂÂBÝyçºé¦›tâÄ íÚµ«Êš:u꤀€eeeI’üqÝzë­Ú·oŸŽ9Rå>¶Ôf«°°0K@õù矫¤¤DÞÞÞŠ‰‰Ñ°aêݯK—.–kúä“O”ŸŸ¯ŠŠ ­ZµªÒÜ’ö²eËÝÿýêÚµ«~úé':uJÒÅQ‹=ô$Ûîw]Ô×wÕPÏgC_»-ÏMC_àhW_v]A¤mÛ¶iÙ²eš={¶–,Ybñ8jÔ(Mš4IÒŹ-Z¤ë¯¿^ÒÅ9 ?ûì3½ÿþûZ±b…vîÜ©ÀÀ@ 4Èrü½÷Þ{jݺµ¤‹‹ÄÌ;Wûöí³¬rþ[nnnš9s¦eÄ\VV–æÎ«üü|½ýöÛUîcKm¶zðÁÕ¢E IGç}ôÑGJLLÔêÕ«¯¸ßßþö7Iº8*pÞ¼yúì³Ïôøã[ʵ§×_]gΜќ9s,#½¼¼ô÷¿ÿ]=zôdÛý®‹úú®êù¬ [j´å¹ièë‘¡€¹óÎ;uçwjïÞ½:xð 222TQQ!£Ñ¨ë®»N¡¡¡Vý;vì¨ (--M;vìPVV–<<|ø_1:t¨V¯^­äädeff*22RC† ѹsç”`éwùâ0µ­­mÛ¶VǺ|awww«mááá–Ï×]wÖ®]«Ÿ~úIYYY–E†bbb®xÜððp­Y³Fk×®ÕñãÇåãã£Áƒ+88Xf³Y”$õìÙ³F5Vå·ý»uë¦+Vhݺu:räˆÚ¶m«!C†Tš‹Ó–û}çwªOŸ>•j–¤áÇ[¼°°°JuÚó»ªËq¥êŸOIVç ®òœõ]£-Ï=¯ h f{®¾°Yaa¡233kÔwút£$iÖ¬šõoêrss-óVJÒÂ… çÀŠ4„¨¨H%&fjÔ¨BG—‚&Âh4ÊÇÇÇÑe€Æk ¯Ép „¡œs†½-Z0w! ÎCž———U €-xM€S àC8ÂPN0€S àC8ÂP@M™’¬™3w9º »hNר7Gh:¶n=«’“£Ë°‹æt-€š! ÔØœ9äããîè2ì¢9]  fC5Ö·o;G—`7ÍéZ5C ¨±)S’᣿ü¥§Uû±cçµdÉ18P “©B>;¶“¢£[W:F~~©–.=®;rTXX&£ÑK7ߤ¡Cƒ,}ÊÊ*tÿý?«O=þx´/>ª ²TZZ¡ØØ¶ºÿþHùøTþWØÎ¹Z¼ø¨Nž,RP·î¹'LÁÁ^züñ­ºé¦zàÈj¯ÅÖsÖäz!+«Äò–)$¤¥âã4|x ©¸¸\>ºY:µÔŒ½+í_\\®GÙ¬¨(_½ðBÏ:ÝŸåËOhûöl;W¦ÐP¤øø€†¸ `…0PcUͳùÝw'õä“ÛTVVaiûé§L}òɽðBOýîw–ö;rôÐC•›[juŒÿÇÞÇUUíÿ1É ‚8€Ê ¢8[N%™³¦¥’fzË[š•Ú­kƒö­nÃ-íf¥¦Ùdj™–¨iæSΈÎ3(‚(¢Ì ‡óûƒÇN ž£è±x?ÉÚk¯ýYëÀƒz·÷Ú ÆÈ4 °ÐHtôÜÝyöÙí¬[wÖÔ÷÷ßÏñÛoIDFvÀÉéê{,8Åøñ1WÇ]´(ž±c}ÐPëÎåf®ié|®çý÷÷sà@ú ûûè£{©YÓíº}ŽËäÑG7]`Ö>wn>Àûï߃««#^^øá‡“ B` »YߥKÙ²å<=äÜÜúìÚu‘gŸÝNjjÞF>Ïܹq¼öZ#ž~º®Åó) CEDä¦%'çòòË»ÈÏ/¤{w?ºw¯‰““=6œcÁ‚xÞ}w÷Þ[• <ÉÎ.`äÈ(ÒÓ¯ððÃµèØ±žž8}ú³f`Á‚SÜw_5úô©eãÆd*W®À«¯6¢nÝJ$'ç2}úQLgùò3ôí[Ô7)é2o½µ£úõ«M§N50ŒüöÛY&M:hÕœ,½æÍ̧4GŽd}ÁâúrrnüÒ§ùóO‘]@ÇŽ5xøáZT®\ÄÄËlÞœLVÖÕ€ô‰'Bøå—DæÎãõ×Íïö;7Ž*UœMah1K×'=ý ÏM›zˆ¯¯+gÎ\æ·ß’ÈÊÊ·xÎ""""""eEa¨ˆˆÜ´Ÿ>Mn®¡Ä]ݺÕÄ××É“óã§xûí¦üüói.^ÌcìØ†Œj6NÏž~tè°’E‹N›…‡ŽŽơ̈מ  «w-TdÈÍìÞj Þ–.MäÊ•BþùÏÆolêÛ«—?ãÆ9²`Á)‹çdé5of>¥7®1™™–ƒ5kºZ0; è.ÒÊ•+˜Ú 4»V³f^4mZ…… OóÒK pu-úׂݻS9t(ƒçŸ¯‡³³ÃŸÆ¶l}/>Mzúºv­Éôé­ÍÆ<8Ha¨ˆˆˆˆˆØ„ÂP¹iGŽd0hP@‰c=Ääɇ9|¸èð={RX½:‰­[Ï›g7Áøÿ¿ˆÍ2£qc/³Ð  Q#/ÒÒ®>z}ôhQ”¬£_¿ZV…¡–^ófæSšÒöU½U=Äâŧ1b?\›F*S¯žÎÎxx8™õ}â‰`^zi'Ë–!"¢hýæÎÃÑÑŽÇ.1¶¥ëSüèÿµ…¯TÉ©Ôv‘ÛIa¨ˆˆÜ´¼¼¢}B+Wv.qÌÓÓ ;»«}._.z¼{ïÞ´kŽW¡‚ù#àžž%3'§¢» ¯nQjÚûóÏA_ÑJ´]¥×¼™ù”ævìäΚ5]Xº4‘­[S˜9óII— ÷æ•WRÉÔ·gO&L8À÷ßÇ@jj+Vœ¡G?¼½]JŒmígâåeÝú‹ˆˆˆˆˆÜN CED䦇eûö¥PÑìØþýéàãSôX·¯oÑ?ß~»)!!æ/3*Vüx÷ÍÖqèP5j˜?F~ð åA£5Êj>·cÏP( ‡ 6½Àêüù\FŽŒâÿØÌúõ]M¿;:Ú1xpŸ~z˜={ÒˆŠJáÊ•Bž|2ÄâšJS¼>;w^(q'©ˆˆˆˆˆˆ­( ‘›Ö¾½ßÇÿþwÐPêÕ+ Ïœ¹Ì[oíùÿ}¼¢}DgÏŽeÉ’>ú¨µk_ O #«W'a0K^Äáá>Ì{’‰RÉ4ö‰Y|òÉá[™â5•Õ|nÇž¡³fÅR¿¾mÚT7µyyUÀÝÝ‘óçs9uê’鳂¢Çê§O?ÊwßŲsçEš6õ¢iS/‹k*Mçξ̚Ëĉñõu#<ÜÛt,&&•””\ºv­yK×±–ÂP¹ië tÇÉÉžØØ,òó ©[×ôg«VÕˆˆdÁ‚Stêôµj¹Q­š ™™ù$&^&/ÏÀ3τҫ—ÿ ®ZR§N5hÚÔ‹½{ÓèÚu5uêTÂ`0ròd6õêy”7w×éµ”Õ|nÇž¡6œã½÷öQ±¢#µkW¤Bââ²ÈÊÊÇË«‚Yp Pµª3½{û³hÑiÆŽmxË5´iSÞ½ýY¶,‘'ŸÜ‚·· ¾¾n$%]&%%—çž«§0TDDDDDî8{[ ""]vvðÅmLgllGŽd`0éÚµ&ߎ‹ËÕ·‘ÿ÷¿Í?¾1ÞÞ.$$\&&&•ØØ, ôìéGïÞÖ¡Pt~õÕ}´oïCA‘£G39q"‹ví|LÁ^ÅŠeÿÿÿn×|nÕ°a!´mëÍåË>œÁÞ½©deåÓºu5fÍj‹««C‰sŠ‹÷öv¡G¿2©cÒ¤Œ]ŸJ•œ8>—½{‹îmÑ¢*ݺ)‘;ÏÎXüÊ[±©ììl’““-ê;z´S§ZÖ¿¬ìØqww§Rïf¼t©€¸¸, !  "•+_ûÅ9F#ÄÇg“šz…*U*àç熓ÓÕÿ?WXhdÇŽ‹xyU 4Ô|?ÎâcUªT nÝ’{už;—ÃÙ³9øø¸P³¦3gžàý÷÷óá‡÷Ò¯_íkÎåV®y£ùØÊåËâã³1‹öð¼ÞˌʠOŸuüë_aŒU¿Äñ[YƒÁȉY俍UË*UJ¾pK¤4!!u˜2%™ž=³m]ŠüEøøøàî®}ŠEDDäš( ¹KüÂл٦Mç©TɉfÍ®îu¹uk £Fm';»€M›ºããSòíèRV>ùä¶o¿ u’»ŠÂP±–ÂP¹Ú3TDDþŽÍ`„T­êŒ¿E’“s8w.€!C‚ð•âðá Þ}w —8{6‡=ü´N"""""ò·¦0TDDþÚ·÷aõê³ìÚu‘‹ópvvàñǃxõÕF6®îî”™™Otô‚ƒ+1~|cW$"""""r{) ‘¿…ÐP~ü±=ééWHH¸„ƒƒ=ÁÁîf/psaažÌÛ'êÖõÀÑÑÎÖ%‰ˆˆˆˆˆÜV CEDäo¥rå ×}y“\åááDëÖÕl]†ˆˆˆˆˆÈcûWÝŠˆˆˆˆˆˆˆˆˆÜ CEDDDDDDDD¤\P*"""""""""å‚ÂP)†ŠˆˆˆˆˆˆˆˆH¹ 0TDDDDDDDDDÊ…¡"""""""""R.( ‹ää2!„‘ GÚº”2͈È´œÜ’Æ“3`Î~>ð3†BÃuÏ‹ÜIÈ„B&„°îÄ:³cÇuù»p´u"""¶ðÕö¯˜¸~¢YÛž¤=ìIÚƒeZø·(õ¼ÔË©LX?W'WròsîD©""""""RF†ŠˆH¹³åÔ&®ŸˆƒcÚ¡_£~T«XN0kç,í¯ýëñ½µïQÅ­ mj·á‡˜î`Õ""""""r«†ŠˆH¹óñ†x½óëüãÞ˜ÚÃ|˜ØkâµNcóÉÍürè~ü«Ž®ºíuŠˆˆˆˆˆHÙR*""VKÌHä¿kÿKT|†B-jµàå/æfÖoý‰õ|»ó[Ž¥#;/?O?Úµcx›áø¸ûؤö³™gÙ{v/Uݪòø=[|^nA.ÿ·òÿx¬Ùc´¬ÕÒê04#7ƒQ‹G}:šwº¿ÃÀ¦­-]DDDDDDn‘ÂP±JFn¿Hrv²©mcÜFv&ìäÇ!?šÑõ'Ö3Àý÷s8ù0ÿ]û_öÝGÅ iS» /´{¡Ô1&ošL¾!ŸW:¾bq=ÅâÓâ9œ —.ðíÀo¹?ð~«Ç‘[§0TDD¬²#aÍj6cz¿é„V%)3‰O6~ÂÊ£+y{õÛÌ2€5Ç×ðRû—ˆhAe×Ê$f$²åÔâÓâmVêåT …›û˜é%Hyy,?²œ q˜ÿø|³»\'ffôL¦÷ŸŽ»³»U׋Nˆæ¹EÏááìAäÐH‚«—ÝdDDDDDDÄ* CEDÄ*nNn|1à ªºU NÕ:|Ú÷Sz}Ó‹‰;¹péÕ*V£F¥ômØ—êîÕªDP• ‹¯5gМ2¯¿ÐXÀŠ£+¸/à>Æ=0Ž ªAœN;Í„õØ·‘÷Ö¾ÇÜÁsMý__ù:]ëuåÁ­ºÖÂý ù¿•ÿG³šÍø¼ßçTv­\æóË) «4ði` B‹9Ú;r_À}Ä^Œ%>-žj«1¬å0¢¢é5³‚;ШF#ÕhD ÿ898Ù¨z¨ä\ G¦=2ÍôuhõP¦=2vÓÛ±#a9ù9¸:¹2g×âÓâùrÀ—V]'êtkޝ¡U­VÌ4Û¦s‘" CED¤LÙÙÙàîìÎw}DZ”cl?½#ç¹/’ÔË©ü§ëèÖë†cÝŽ=C‹ïL­U¹–)-æêäJ@åöžÝKZN®N®,Ø»€ŒÜ ÚLmSêx#"G0{ÐlÚ¶5µ×«^œüv%îbù‘åômØ×âyˆˆˆˆˆˆÈí¡0TDD¬r(ù/_4»;´ °€mñÛ¨]¹¶YÿÐê¡„V5}ýüâç»l,áAáxºxÞ™¢ÿ žw=*»V&!=¬¼,³@4'?‡øôxìðrõ®>Vo-/W/¾‰ø†á‘ûl,é9é<Ñâ‰2™ƒˆˆˆˆˆˆÜ…¡""b•Ëù—y&òÞèü†Ù ”b/ÆÒ¿Õ*V`ÜòqÔð¨Áƒ!à€“ƒGSŽrüÂqò ù$g%ß0 ½{†:Ø90 É¾Þþ5Ï/~žñÆX%дghzN:áAá¸:¹°â饎óÞš÷˜µs_ø’N!Jíãîìά³ýóhÞ]ó.¹Œ SæsË( «´¬Õ’ø´xúÏéoÖîæäÆ[]Þ2}}.ë ö-`êæ©%ÆhàÓ€j!·½Ökuÿ(6Æmdë©­ôžÙÛìXe×ʼÙùÍ2»–³£3Ÿ÷ÿœW}•)›§–“Æ›ß4m' """"""w޽­ ‘¿OOæ™O§N¸;»ãæäF» vü8ôGÂ|ÂLý&öšÈKí_¢‰o*9WÂÝÙÐꡌ ÃÜÁs±·³Ý¯ wgwæ?>Ÿa-‡áëá‹£½#ÕÝ«óH£GøùÉŸ ®\¦×s°sà½þÇ-žà»]ß1vÙX FC™^CDDDDDDnÌÎh4m]„ˆˆ@vv6ÉÉÉõ=Ú€©S-ë/"òWR‡)S’éÙ3ÛÖ¥È_„îîî¶.CDDDî^ tg¨ˆˆˆˆˆˆˆˆˆ” CEDDDDDDDD¤\P*"""""""""å‚ÂP)†ŠˆˆˆˆˆˆˆˆH¹ 0TDDDDDDDDDÊ…¡"""""""""R.( ‘rAa¨ˆˆˆˆˆˆˆˆˆ” CEDDDDDDDD¤\P*"""""""""å‚£­ ‘¿ƒÑÀ´-Ó®Lï°Þ·í:9ù9¬;±Ž„ô®®ðPƒ‡ªÀî3»9xî i9izÒ§aŸÛVÇÍÈÌÍdÖÎY4ñmBÇ:m]'SO²!n™¹™Üë/mÛÚº$›R*"")00eó:×í|ÛÂÐÔË©ôù¶ç²Î™ÚÕhDP• Þ]ó.³wÎ6µ?òÀ݆æe2eó†Ü3ĦaèO{âë诉»gj{¦Í3 CEDDDD¤ÜS*""wïwϹ¬s4÷kN›Úmprp"¨J)Ù)ÌÙ5OOnô0ž.žzںܻ֖S[ˆ»G W ~ž~l9µÅÖ%‰ˆˆˆˆˆÜ†ŠˆÈ]ãTÚ)¾èÿUܪ˜Úw$ìÀh42¬å0Fµe£êþ:6È á/\5˜•GW* ùÿ†ŠˆÈM9|þ0QñQ iQ«M}›šOÏIgή9¥îŸY|¬YÍf´nOìÅX~=ü+Î`ÖÎY8Ú_ýŸÀ®Ä]LÙ<€~ûáïéoêsàÜbÎÄ}%w:Ôé@U·ª¦ãÞó4öb,[Om%-'gï{''‹Æ)véÊ%Ö_KRf5*Õ Kh—[XͲuàý¶.ADDDDD䮤0TDD¬öц˜±m†Y[߆}ù°÷‡8Ø9‘›qÍý3‹=ÙâIÚ·'îbœ)䘾uz©×Ýtr›Nn uíÖø{úsáÒ^\ú"Ûâ·™õuurå­.o1 ÉÀ|ÏÓã)Ç™¶uš©ïS­ž"#7âqöŸÝψ…#HÉN1µUw¯Î{Ýß»îºýÙâ‹IHO°¸ÿÐ{‡âåêeÕ5DDDDDDä*…¡""b•Ýgv³æø:w nõºœÍ<˪£«Xrp ^Œmõ˜ÁUƒ>†e‡—w1Žçî®Ä¡K.¡]P;šû5ÀÏÓC¡á‘ÃÙv?þžþ´ n‡§‹'ñiñ¬9¾†ñ+ÆR-„f5›™ÆŠ9ÚãkhÔŽ0Ÿ0\]°·³·xœKW.ñÌÂgHÉN!¨JáAá lˆÛÀ¸å㬚÷â‹Ùzj«Åý{…õR*"""""r †ŠˆˆUR/§òa¯é׸Ÿ©mïÙ½<:çQ¾Ýù-ϵ}Îtw¨¥êT­Ã˜ð1J>DÜÅ8ž¿ÿyœMÇ7ÆmdÉÁ%´nϰ–ÃLí+ެ`ÿÙý<Ôà!>êýöW¯»ÿì~ÌÀ·;¾erßɦö‹—/2é¡IômØ÷¦ÆYvxç³ÏÓ.¨_øÒôx}N~Cç %õrªÅó~¤Ñ#´ðoaqÿ?î£*""""""ÖS*""V ô 4 Bšú6¥KhV]Éñ”ãÔ÷®Gj)~1›“3¢f`401âáâÁþ³ûÍÎ ªd„Z;ÎîÄÝŒm B¡èqúçïžá‘Ã-®ÿ‘FX3]¹E CEDÄ*þ•ýKm¯U¹™y™w¬–â»0Üû£ÅçV ¼¥q2r3Ì^ÞT¬x ,¥=CEDDDDDî,…¡""b•ÄôÄRÛ‹C=g èNI€Ëù—KôMÊL*“Z<]=x¼ùãT­Xòï.Ž.f_—ö¿5ãxºõMÌHÄÛÝÛ¬5Á&hÏP‘;Ma¨ˆˆXåTÚ)í_TbÏÐÕÇVãáâAÝêu¨V±NNDÅG‘[k ¯®”xýͺ¯ö},Ø»ƒÑÀ¨¶£°·³7;ž’ÂÙ¬³e:Î=þ÷°pÿB¦nžZbÏÐ?¾¡ÞÚ3TDDDDDäÎR*""V©âV…W~}…_ÿJhõP’2“Xut£a-†™î¼´·³§cެ>¶š‡f>DÇ:¹b¸Â†Ø äòʤ–^ z1kç,æï™Ï¦“›¸?ð~ªºU%37“Si§ˆ>ÍS­ž¢‰o“2§wXo&ošÌ¦“›èùMOƒÂ)4ò{ìïääçXUÿíÚ3ô`òAÖ_ Àñ ÇØ™¸“)›§ÐÄ· ët¼-×¹›) «ÜãwuªÖየ/Ø·ÁÔÞ·a_žkûœYß—;¼ÌîÄÝœL=ÉÉÔ“@Ѿš{NäŸ?ýó–kq°sà›G¿áÕ__e݉u,Ø»Àì¸»Ï ƒPkÇ©X¡"_ôÿ‚ G˜Í«ZÅj¼ßã}F.yËóºUÏ4ŸÅv%îbWâ.†Ü3Da¨ˆˆˆˆˆ”K CEDÄ"ŽŽŒ CpÕ`z‡õ¦gXO¢OGSh,ä^ÿ{iV³Y‰s‚«³zÄjV_Íùìóø{úÓ¹ngò ò>¦Ä9½ô¦OÌ=x0&| Íý𗏆—«_ø’Ø‹±ìLÜIêåTª¸U!Ð+þ-p°w(Qi, ±ocÖŒXÃÚãkIÊL§’ëvÆh42&|ŒEìíÔ°FCÆ„¹æq[×'"""""b+vF£Ñhë"DD²³³INN¶¨ïèÑ>LjY‘¿¢:L™’LÏžÙ¶.Eþ"|||pww·u"""r÷Z`ã>""""""""""} CEDDDDDDDD¤\P*"""""""""å‚ÂP)†ŠˆˆˆˆˆˆˆˆH¹ 0TDDDDDDDDDÊ…¡"""""""""R.( ‘rAa¨ˆˆˆˆˆˆˆˆˆ” CEDDDDDDDD¤\P*"""""""""å‚£­ ‘¿¾”ì^Xò]ëuåÉOšÚÿùÓ? ®Ìÿuþ?Ûw—1X´›Nn"+/‹¯6H˜w˜­KùÛS*""·,ÏGtB4¡ÕCÍÚw$ì 7?×FU:o(aÞaŒp¼MëÈ+ÈcØÃˆNˆ6µm:¹‰y1ó˜Øk"7z؆Չˆˆˆˆˆüý) ‘Ûfæ£3qwv·i Ñ ÑØÙÙÙ´†bS·L%:!š•j0:|4¾•|ù=öw¾ÛýãWŒ§UíVÔô¨ië2EDDDDDþ¶†ŠˆÈmÓ²VK[—p×((,à‡˜p°w`ö ÙÔ©Z€öÁí±³³cöÎÙüóc;Œµq¥""""""_ CEDÄ*{“öòÓÞŸ8“y__6Íœ„ý IDATHµŠÕJíûç=Có ù<1ÿ ZÔjÁ˜ð1ü¸çG¶Åo#-'oýG2r3ˆÜIÌ™²¯dããîC·zÝèÒ©Äø¹,>°˜Ý‰»ÉÊË¢¶WmºÔíBxP8GSŽòöooc(4pàÜÏl:ï.oÜñ=:÷&í%37“vAíLAh±'[<Éì³Ù·Qa¨ˆˆˆˆˆÈm¤0TDD,¹/’ñ+ÆSh,4µ-Ú¿ˆ·ÿw©ýÿ¼gh¡±è„hÜÝöã0¶Åo3+0“ÈȤ夙³pÿB"šFðALm»wñì¢gI½œzµãI˜»{.¯=ðÍüš™öæÌÌÍ4Û§337óºó|íû8wàº}þ裇>ºáãí'.ž iͦ%ŽÕª\‹Ê®•‰»gñ5EDDDDDÄz CEDÄ"I™I¼¹êM …ôkÜN!0Xqdoüت±6ÆmÄÝÙ±Ææ†‹£ †B#Ž$=7‡=LÇ:ñtñätúifí˜Å‚½ ¸¯ö}ôi؇ôœtžYø é9é4õmJDÓ|=|9“q†ßŽýFV^õª×cî๥¾@éFw…I9bžÞHN~Î û¤]. x«»W/õ¸·»7ÇRŽ‘“Ÿƒ«“«Å×Ë) ‹,=¸”+†+ k9Œ×|ÝÔÞ+¬¯üú ‹ö/²x,#F¾ôa>WCÉïwÏÅËÛa,#ïiÖ¿gýžt˜ÞEѧaXLzN:]C»2½ßt³¾ƒ›&+/‹JΕh]»5vvvxºzÒºvk‹ë÷À82ó®÷èYòÒ#ƒÑ€ƒC©Ç‹Û ,¾®ˆˆˆˆˆˆXGa¨ˆˆXähÊQ"šD”8Ñ$ª0´~õúfA(Àž¤=¬>¶š­ñ[1@QpZü÷Ø‹±¦GØŸnýt©ãWr®dq-¥ùsmeÁÍÉ €KW.•z¼¸Ý­‚[™_[DDDDDDŠ( ‹äíýéáâQ☧‹§UcÕ¨T£DÛå+—Ø{vï5Ï«àXÁ¬/W/«®k©Û±ghññSi§JË+È#)3 wŸkÞ9*""""""·Na¨ˆˆXÄ»¢7“–3÷ŸÛoÕXvvv%Ú|=|x»ëÛ„T )õ¶CaѾ›ëvfÖÎYLü}"¾¾„…›úÆœ‰!åR ]C»Pѹ"‰‰ ±·³·¨–Û±g¨¯‡/÷øÝÃî3»ùxãÇŒí0;;;’³“™°n}ô±øš""""""b=…¡""b‘ê<@s¿æÄœ‰¡ûWÝ ®Œ¡ÐÀ©´SÔ«^äìä[¿U­VD4`ÁÞtšÑ‰Z•kQ­b52s3IÌH$¯ gÚLzkwcÞ¬äìd’2’ð©äCMšää±'i>•|LÏìHØ»³»é.ÌBc!;vàåêEhõÐkŽo4‰O'õr*UܪàçᇓƒS©} F'.œ · —Zžµ¨âVåš}2s3)4æVê‹ î£ÑHìÅX²¯dãïéOµŠÕlV‹ÈÝ,$¤S¦$Ó³g¶­K‘¿ÜÝÝm]†ˆˆˆÜ½è1y±š»>î>¦¯i]»u‰~-kµ4ûÚÞξÔ~fggG W Y°z-vÔ«^ï–ûÜIvvv×|I”ˆˆˆˆˆˆÜ>zL^DDDDDDDDDÊ…¡"""""""""R.( ‘rAa¨ˆˆˆˆˆˆˆˆˆ” CEDDDDDDDD¤\P*""""w­•+?fÑ¢EäççÛºùP*""""w­ŒŒsŒ?žx€o¾ù†K—.Ùº$ù S*""""w­?dýúõôìÙ“)S¦Ð®];&MšDVV–­K‘¿ …¡""""rWóõõeüøñlÚ´‰#F0þ|ºtéBdd$………¶.ODDDDþB†ŠˆˆˆÈ_‚‡‡#GŽdíÚµôêÕ‹×_~ýú±{÷n[—&"""" CEDDDä/ÅÃÃ7Þxƒ¥K—R±bE Ä›o¾INNŽ­K‘»œÂP¹e‰‰„Lá?¿ýǬ½ñ¤Æ ž;Ø6EI ©—S Ê”ÍSl]Êm—WGÈ„F.iëRä6ªW¯sçÎeÒ¤I,_¾œ¾}ûràÀ[—%""""w1…¡""ò·VïÃzücþ?l]Æ]a}ìz …t édëRnHŸ›X㡇â×_¥F 8ŸþÙÖ%‰ˆˆˆÈ]ÊÑÖˆˆÈß×þï·u òëN¬ÃÛÝ›†> m]ŠH™óññáÛo¿eÒ¤I¼üòË?~œ±cÇbgggëÒDDDDä.¢0TDD¤¸b¸Â¦¸MôiØGáüm988ðÊ+¯P¯^=^}õURSSyï½÷ppp°ui""""r—P*""+423z&ó÷ÌçLæjTªÁàæƒéQ¿G©ýOjLãùáñ€¢}~ÔÎu;óFç7˜¸~"[ã·’ž“ξïÃÍÉè„h¾Þþ5»Ïì&;/›•jЭ^7F·»³»Ùø;v0sÇLv'î&+/‹Z•kÑ5´+O·~šãŽ3èûAl=µ• !¦óæžKëÚ­øùÀÏ|¿û{Ž¥£ÐXHpÕ`4À{†`ogú£_ˆ¦Ë]ðv÷fÅÓ+J¬Áùìó´›ÖŽöuÚóÕ€¯nýC¸IQñQ\ο̃!šÚÖŸXÏ·;¿åXÊ1²ó²ñóô£]P;†·Ž»Ùù×[kOO‹>ÛSi§˜»{.[NmátÚiì­ÊcÍ£_ã~ìLÜiÑçv£zþè|öyÞ_û>›NnâŠá Íýš3îq„ù„Ý–µÛëÛ·/žžžŒ=šüü|þ÷¿ÿ鈈ˆˆ 0TDD¬ðÖoo1/fžéë„ô&®ŸÈÁs­'#7ƒG¿{”äìdS[aa!óbæñæoob4M퉉|ý [Omå§¡?áêä Àw»¾ã5ï˜õ½ËçÛ>ÇÎÎŽöÁíoXÇ„õøzû×fm‡’ñÎêwˆ9Ã'}>¹aÝì+ðhÓGùjûWD'DÓªV+³sæï™Áhà‰{Ÿ¸a=ÿ˜ÿ¶žÚzÃ~ÅV _Eªu,ê»öøZ\\¹/ð> (9ܬOìÅXb/Ær.ëŸ=ò™©ýFkýRû—Lí×úlFDŽ îbœÙ5cÎÄs&†óÙçyŸe/;²¦žÌÜL~?„ôSÛÖS[:(«G¬ÆËÕË¢kÊ_OÇŽùüóÏ>|8žžž¼ñƶ.IDDDDî CEDÄ"ûÎîc^Ì<ÜÝy£ó<ò …¬<º’Ö}`ÕX;vÐܯ9ÓúM£¾w}\]HHOàíÕoãáìÁk¼FÇ:ñtõätÚi&ožÌŠ#+˜½s6#ïÉÉÔ“¼·ö=ìíìyªõSD4‰À××3gøíØo8;:Ó¿'^;A½ëѺvkæ šcVÃÁäƒ|½ýk\]xõWé^¯;NNlˆÛÀ»kÞå—C¿Ð+¬ëv¾nÝCîÂÌ3ù~×÷fa¨Áh`þžù„T !<(üVÿÖ­]Ïý÷›j^s| /µ‰ˆ&Tv­LbF"[Nm!>-Þtž%kýG×Z#€ª! o=œþ-ð÷ô'· —#çðæª7™5ƒám†ßðs³¶žâ€zrßÉÔ­V—äìdÞ\õ&[OmeÉÁ%<Ùâɲ\f¹Ë„‡‡óÉ'Ÿ0fÌBBBxì±Çl]’ˆˆˆˆØ˜ÂP±Èª£«x¹ãËôoÜßÔ>äž!däfðÉÆO®uj nNn|Ñÿ ª¸U1µý|àg x¯û{f݇T áÓ>Ÿ²3q'«­fä}#Yrp †BÏÝÿœÙ]€uªÖáÙûžµ¨†GŠiÕvCïjjïÛ°/övö¼¸ôE~=ü«YZZÝ~ž~t®Û™ßŽýÆùìóx»{°úØjÎgŸgTÛQÕôç௬>˜¤Ì$³:jTªÍ·º{u‚ªT%Èì\k×úZkðv×·ù|ÛçÌØ6ƒ³™g¹b¸bvüLÆjW®}ݹX[—«_øÒ´ÅB W ot~ƒ_÷àÈù#×½–ü=tïÞQ£FñÎ;ïF³fÍl]’ˆˆˆˆØÂP±HñÝ‚í‚Ú•8Ö>¨½UahŸ%²ãŽð¯¥ÿâ_KÿezÚˆÑôw;Šöü‹½ @z¥ïUj‰S©§èҩıâ¶?Þ!y­º‹=Ñâ V]Å{~dtøh èqnOOiôÈM×YÖ_‹ÔyÀÔ6¬å0¢¢é5³‚;ШF#ÕhD ÿ898™úY»Ö×Z£ŒÜ úÍéÇÙ̳×<77?÷†ã[[Oà Kì5[«r-²ó²-CþúFELL /¿ü2K—.ÅÕÕÕÖ%‰ˆˆˆˆ( ‘;®²kåm…Æ¢}% …†kž÷ç; Ëâ…(ÖŒQZÝÅZÕjE˜wó÷Ìç¹¶Ïq*õÛOogxëá¦}NoävíºîÄ:šø61Ý àîìÎw}DZ”cl?½#ç¹/’ÔË©ü§ëèÖËl K×éZk´pÿBÎfž¥khWF‡&À+WGWìììxcÕf{ÑZÂÒzþø˜¾é\ô"òÆÞÞž>ø€ž={òé§Ÿ2nÜ8[—$""""6¢0TDD,àÀ¦“›x¼ùãfÇ6žÜxËã‡z³ͦm`[‹ú®8²‚úÞõ¯Û×; %Ú«E/ª[­®Ù±ßc®ÎÙRÿ¸÷Œ[1Ž5ÇÖu: {†Ü3Ī1ÊZJv ûÏíç_íþUêñÐê¡„V5}ýüâç»l,áAáxºxZµÖ×s:í4ÿîðo³÷Šá QñQ%ú_ës+«z¤ü©Q£cÇŽåÝwßeðàÁX÷ó-"""" CEDÄ"Ýêu㋨/øßïÿÃÅÑ…CÄ`4°âÈ ¦o~Ëã?Òøfl›ÁKK_bl‡¢0®ZÅjdäfp*í¿þwFÞ7’¾ ûí=5ƒÑÀ€&¨Q©IIüvì7*8VàŸ-ÿ Ý©xüÂqN§ŸÆßÓ{;{zÔïÁŒm3˜ºe*+Ò-´NNlŒÛÈ;«ß gýžVÍ¡OÃ>|øû‡|ý Ç.£sÝÎøyúY|þíØ3t]ì:ŒF#ê˜o0nù8jxÔàÁ ð ÀÉÁ‰£)G9~á8ù†|’³’ñtñ´j­¯§¦GM¾Úþÿj÷¯¢Ï%å8Ÿlú„“©'Kô¿ÖçVVõHù4pà@fÏžÍÇÌäÉ“m]ŽˆˆˆˆØ€ÂP±Hß&<Öü1æÅÌãÕ__5;Ö;¬7Ë/»¥ñ½y·û»¼±ê Æ­(ýÖgÚ<½èg|§ñ¼·ö=fl›ÁŒm3Ìú=wÿs¦¿·©Ý†e‡—ÑiÆÕ0pî๴®Ýš§Z=Å7ÑßðÖª·xkÕ[%æÔ%´‹UspvtfP³A|¾ís€»âMåk¯¥¦GMÂ|ÂÌÚÏecÁ¾LÝ<µÄ9 |R-°n­¯ç¡1më4"÷E¹/ÒÔîîìN—Ð.¬>¶Ú¬ÿõ>·²¨GÊ'^xá^|ñEñ÷÷·uI""""r‡) ‹½Ýõm*0Ï|ÎdžÁÇ݇AÍÑ»Á­‡¡6}”úÞõ™=“è„hR/§RÅ­ ^ô ëE߆}M}Ÿhñ¡ÕC™¹c&1gbÈÉÏ¡VåZt íÆ?[]½3ðõ_§ °€¨ÓQdäf˜^Æ0®Ó8ê{×çû]ßsìÂ1 …W f@ãfo˜·Æàæƒù|Ûç„y‡Ñ²VË›_Œ2[˶ømôoܿı‰½&¹/’5Ç×p2õ$FŒÔô¨I÷zÝÖr˜éNL°|­¯Ç××ïûž‰¿OäÀ¹ØÛÙs¯ÿ½¼Òñ³p´Øõ>·²¨GʯnݺáããÃwß}§½CEDDDÊ!;ãÿëBDDl&;;›ääd‹úŽíÀÔ©–õ—;gÍñ5Œ\8’z|@DÓ›Ö²îÄ:FDŽàÛßÒ.¨Mk¹!!u˜2%™ž=³ËtÜ©S§2oÞ<6oÞŒ½½ýOøÿ¾þúk&L˜Àܹsiݺu™ÖTÖ<ÈÚµkY·n0µ9;;_óœÈÈHæÌ™Cll,®®®´iÓ†—_~ùšû«ZÚÿ§Ÿ~büøñ<öØc¼ûŽ7bÄÖ­[ÀÌ™3iß¾½ÕóöññÁÝÝÝêóDDD¤ÜX`ù¿ý‰ˆˆÈuL=ÉûkßÇÍÉ^ zÝø„Ûl݉u¸9¹ÑºöÝÚˆÜi=zôàüùóìÚµË֥ܱ±±ôíÛ—)S¦˜‚Ðùøãyíµ×8tèyyy¤§§³råJúõëÇÉ“%÷õµ¶?€££#Ë–-#77·Ä±””6lØ€££\‘ÛKa¨ˆˆÈ-Ú~z;!BèòeN§ŸfȽCpsr³uY¼×ý=öý{*غ‘»JHHlٲŪóž~úiNœ8q×ßjggGƒ =z4‹/&$$äºýOœ8ÁŒ3¨P¡~ø!û÷ïgãÆtëÖŒŒŒwrZÛ¿X§NÈÊÊbÕªU%Ž-^¼˜ÂÂB:uêTÊ™""""eGa¨ˆˆH©ä\‰ˆ¦¼þ‚­K‘hÑ¢ÅßöÎÐàà`–.]Ê /¼@ãÆ±³³»nÿ… RXXÈ3Ïúè#úöí ÀÎ;4hÅ×éÕ«“'O¾©âãã©P¡%ŽÕ¯_ßÔçfûÿQ¿~ýøôÓOY´hcÆŒ`Á‚T¬X‘îÝ»säÈ‘›ž‡ˆˆˆˆ%tg¨ˆˆˆˆ”;µk×`ïÞ½ìÛ·:uê°páBöïßÏÎ;™7oÝ»w¿îÛæ7n̉'Jü=z4÷Þ{/Ó¦M3õ0aǧ[·n,^¼ØtO?ýÞyçrrrnû¼K“‡‡G©Ó{zz••uÓýÿ¨F´mÛ–… b4¹|ù2Ë—/§W¯^¸ºº–ÅtDDDD®Kw†ŠˆˆˆH¹S©R% èeC...4kÖŒ¦M›àêêJË–-iÙ²¥ÕãΘ1ƒ 60gÎS¸wåÊ~ùåêÖ­ËgŸ}f ]]]éÝ»7¼õÖ[ìØ±ƒöíÛÓ¢E Nœ8QF3½5Ü& ¬úGDD0f̶mÛÆ™3g¸|ù27[¢ˆˆˆˆU†ŠˆˆˆH¹S±bE (¨|ÿý÷yóÍ79zô(­[·¦~ýú´jÕ ???«ÆüöÛoY¾|9ß}÷îîî¦ö„„rss9qâ„é1r£Ñh ‹ÿ™””TS³š»»;™™™Æw{fffWÃã›éÿg;w¦råÊDFF’˜˜H:uhÞ¼yYMGDDDäºô˜¼ˆˆˆˆ”;ƒúôéÖ-[5j...,_¾œîÝ»3|øp²³³-oîܹ,X°€Ù³g›/VXX…žƒƒÁ@aa¡Y ŸŸíz½3ýùÏ /¼pKkÀ•+W8uêT‰cÅ{xÜtÿ?«P¡=ô+V¬`÷îÝôïßÿ–걆ÂP)wþ|cÅŠéܹ3/¾ø"_}õ‘‘‘¬_¿ÞlßÏk‰ŒŒdΜ9Ì™3//¯Çýýý©P¡÷Þ{o©{Œÿ:thÙNÒB­Zµ`éÒ¥fíyyy¬\¹;;;³-¬í_šˆˆòóóqppà‘G)‹iˆˆˆˆXDÉ‹ˆˆˆH¹Sü‚Ÿäädž~úi"""hذ!>>>¤§§óÛo¿E¸_Ï’%K˜1csçÎ¥Zµj¥ö)ÞtÑ¢E¼øâ‹<ñÄãììLbb"{öìaÞ¼yüðÃT¨PáŽïÚ¿¾ùæ¾øâ jÕªE=HKKã¿ÿý/ÉÉÉ´k×__ß›î_š Ü5û¢ŠˆˆHù¢0TDDDDÊóçÏEw†þþûïüþûï%úØÙÙñÐC]sŒ­[·òÊ+¯`0hÛ¶m‰ãÕªU#** €×_ÇóË/¿ðË/¿”:žµ/+ºž¶mÛ’œœlÖÖ°aCÓßwìØaº‹5$$„‘#G2}út^yå^yåS?OOOÞ|óM³q¬í/"""r7Ñcò""b±ôœt:~Þ‘ !¦?ëN¬ccÜFB&„ðíŽoÍú7žÔ˜ÁsÛ¨ZÉÎ˦óK|^rcS7OeñÅ·müÄŒDB&„ðŸßþcõ¹ú9,‡ÂÛÛ›víÚñÍ7ßУGÓãì>>><øàƒÌ™3‡nݺ]sŒ£Gšö½OOO"##yõÕWiÔ¨nnn¸ººÂÀY¸p!ÎÎÎe5=«½ôÒK|ðÁ„……áììLåÊ•éÞ½; .$((è–û‹ˆˆˆÜ-tg¨ˆˆXìûÝß“˜‘Hs¿æ´©Ý''‚ªaogϘð14÷ÓÛ€ï&?ÄüÀ©´S%>/¹±Ï¶~FëÚ­y¤ÑÝ·—¡~ËÆáÇ ÃÞÞž:СC‡žóôÓOóôÓO›¾6lÆ ³øšÎÎÎ >œáÇßTÍÖØ²e‹ÕçDDDQæý}ôQ}ôQ‹Æ7nãÆ³¸k) ‹Å¥ÆðEÿ/¨âVÅìØ˜ð1¶(I®ãø…ã@韗üuéç°lìÞ½›Þ½{Ûº ¹Ã†ŠˆÈ Å^Œå×ÿràÜf휅£}É_!íƒÛÓ¬f3‹ÆqáŸmùÌÔ÷ýµï3ùáÉ´ lË3‘Ïm:6iã$~ò#uªÖ±z>׳øÀbÒ¯ÿÆê?zïP¼\½®yüZŸWpÕ`†Þ;ÔlþÇSŽ3më4Sß§Z=…“ƒ“Åk °ÿì~F,AJvŠ©ÍÛÝ›÷º¿Ç”ÍSrÏSj‹µ·æ{))3É´v‰‰fëØºvkü=ý­úÌK[›êîÕy¯û{XË?‡W+W®Ä××—FÙº¹Ã†ŠˆÈ W fLø–^FÜÅ8ž»ÿ9³;ÒâÓâYrpÉ Ç19œýg÷ãïéO»àvxºxŸÏšãk¿b°˜­§¶ZôYô ëuÝ0ôZŸ×ŸÏ‰9ÚãkhÔŽ0Ÿ0\]Lw…Zº–—®\â™…Ï’BP• ƒÂ1Ø·‘q˯½ïŸ-Öޒ讀5>†©[¦âçáG¿ÆýLçûyúYuÝk­Í†¸ ×]k?×b·óçðï$??ŸÅ‹Ó«W/ìììl]ŽˆˆˆˆÜa CEDä†êT­Ã˜ð1J>DÜÅ8ž¿ÿyœ¯¾õxcÜF‹B˜ßŽýÆþ³ûy¨ÁC|Ôû#ì¯>n½ÿì~ÌÀ·;¾erßɦö‹—/òy¿Ïé\·³©­]P;^^ö2¿Çþn†¾Ýõm‚«ÅÙ̳Tp¨@«Z­¸pé1gbHËI3 SsRù:âk:_}qÊøãùiïOìLÜɪá«ðq÷ ¿}>]¿êÊúØõFìììnj>¥y¤Ñ#×|ì¿47ÚÿóFŸW±‹—/2é¡IômØ·Ä1K×ò—C¿p>û<íƒÛóEÿ/LajN~OÌ‚‹—/–Z£-ÖÞ’ï¥â0tÚÖiÔöª]bÎGVX|Ýe‡—q>û<í‚Úñå€/ÍÖf輡¤^N½ö‡X [þþ,Y²„””†jëRDDDDÄ†ŠˆÈ³åTÑÛݜܘ5Ãô¨²ÑhĈöŸÝovNïfá`zäú|öy³ö=I{öã0 J½þÅKÍÂІ> ÍÂ8€¶mùiïOôoÜ߯898ѪV+î_HÊ¥¼Ý½oj>¥±Õ˃ª•„‚åks&€ÑmG›Â>(zÜú¹ûŸãéO—z¾-ÖÞšï¥k±æº»w­Mxɵyþþçyûß(^š²ú¾ý+2 |õÕWôíÛ???[—#""""6 0TDDî˜â;á~Üû£Åçøzø–hssr0 ê¢â£˜´a*йng¼p«à†vl:¹‰˜31 ÍÆ©Q©F‰±]\ox,'?ç¦çSš²Þ3ÔRUKm·f-3r3€¢GÈÿì/ú3[¬½¥ßK×cÍu‹×¦´u¨U¹–E×»Êêûö¯hΜ9œ>}š3fغ±…¡""rÇxºzðxóÇ©Z±ô7V»8ºÜÔØëc×ðÙ#ŸÑ)¤“Ù±ÃçßÔ˜7RVó)ë=C-UÚ[áÁºµôt)Zƒ3gðv÷6;–˜‘xË5^Ëíü^*«ë¯MbFb‰µ±&ü.k¶Z;[KJJâÓO?åÙgŸ%((èÆ'ˆˆˆˆÈß’ÂP¹cî«} ö.À`40ªí(ìíìÍŽ§d§p6ëìM]ü"wgw³ö¨ø(Ö_wsß@Yͧ¬÷ ½UÖ¬es¿æ,Ü¿i[§1£ÿ Ó }ò ò˜±íöÝ}w;¿—*8T ='ý–®{ÿ=,Ü¿©›§–Ø3tÚÖi7]Û­ºÝkw72 ŒÿíÝyX•uþÿñ×a‘Å#‚²ˆ"¢€¸áJ™…£¹¤©™¹U–~u*µftj²)ëÛâŒ5ÙÏÊ4K+mr4ÑËÒÔÒTL$qÍA@ \X<Ê"œóûƒ/g:‚z@ð€<×5ןÏû|î÷}{F¯ëÕ}îçŸW@@€&Ožìèvà@„¡€fp»ÁZ¿XËw/×–¤-º=äv5öl¬Üü\%g%+.%NÜúˆ:v¬ðÚ]šv‘$MZ9I#ÊÇÓGGÏÕæÄÍjäÙHg.œ©êÓ©²óqÔž¡WR‘kyO»{ôÎÖw´)q“-¤èÿ{›|ÒOºXxQ’ªåÝÕù]’J¶ø5ãW=ýõÓjîÝ\N' ^¡ãi;DïlyG[’¶”\›–Ñ2[ÌÚ”¸Éú¸¿#T÷µ«‰Þzë-íܹSË–-S½zõ݈0pÃ8œµhô"=»æYýpìÅ쉱™0T:€1@÷´»G_ÿúµböþwÝQF©A½úxçÇ×Õ{yªó|©"ײ~½úZ0b&ÆLÔñ³ÇuüìqI’ŸÑOÏ÷}^Oý´u_ΪTÝ×~BÔ=ûí³6ogïÜ]A ƒì>nýzõµpÄBM\5QIç’”t.I’ä[ßW¯Ýýš&¯rÌŠ7ã÷611Q­Zµ*7x_³f>øàÍš5K;Ö®ó@Õ# ØmH»!jÐN.ζÿ|´ði¡©ÑSÕ¥Y›ñ'n¢Ì^‰>>ú`äJ<›¨ø´x»xN<)Ä'DQAQrv*ÙÇÒÅÙES£§ªUãVeú( ó ³{èÛÓeŒöÿ¶_ƒAÝšuSd`¤¶&m•ÑÍhÝñjk·lÔRS£§–õí­Fž¬{AVä|áJ^W;ÿRö^KIêØI'mÔÆc•ž›®& š¨_x?ýp¬ä‘úß¿¸È×¾2ߥá‘ÃÕ¾I{íHÙ¡œ¼Yd±¾$ª"æ‘‘Ú0qƒ6ݨS¹§Ð @ýÂûÉb±\ñ\¯åFþÿ°6HLLÔèÑ£õꫯjàÀ6s7nÔ´iÓ4~üx >ÜA &1X,‹£›H&“IvÕN™ Iš7Ͼz :;sLÍ6³¾ñ]’²ò²tÿ§÷ëøÙãúæß¨vˆÚ*,,TsçfhÐ S¹ó™™™>|¸222Ô´iSmذA®®%{³nÞ¼Y?þ¸† ¦™3gÊÉÉ©Ü5ps Ñh¼v!¨«b¸3\—M‰›´à纽Åí òRÆù mJܤœüõhу Ô ¶/PaqáUkê9×Óä¼ü§Ô… 4~üx9sF‹E¿ýö›>ýôSM˜0A+V¬ÐË/¿L €2CÀu ÷ WAQ¾=ô­Íxd`¤Þ¼çMuU»,üy¡Îœ¿jM·„¡ÿ§¨¨H“'OÖñãÇUTT$©äñsæÌÑÉ“'µdÉMœ8QO?ý4A(l†€ëÒ«U/mûÓ6m?±]©Ù©rvrV»€vºµù­Õò&ù›Ñ¤Û&Ùug($‹Å¢çž{Nqqq*..¶™+((Њ+4gÎ <ØA &# ×ÍËÝK"8ºZ‹;>í7kÖ,­^½Zf³¹Ì\QQ‘,‹"##Ðjž@­°téR}ôÑGå¡¥ ƒÞ|“íP>ÂPÔxß~û­^yå•kÖiÍš5ÚµkWõ7€Z‡05Z\\œþú׿Ú]o04kÖ¬jìµ{† ÆJO?¤çž{Tf³Y‹ÅfÎ`0ÈÅÅE—.]’$Õ«WO-Z´Pdd¤ÂÃÕ——'G´ €Š05TªÞ}w”.^¼(Y,Y,9;;+88XíÛ·WDD„ÂÃÃÕºukÉɉŸpe„¡¨qrrr$ýQnnõuûí]mBÏ9;;;ºEÔB„¡¨qJîðÜ¡—^ÊÖ A&G·€›a( BeÒÒ„¥JÍNUaQ¡žéýŒœ Nšõã,‹§­µ\ñGµjÔJÿÛ﫵§uGÈ4eê‡c?hóñÍÊÉËÑÐöCõ@ç®X_l.Öçû>×–¤-:_p^-|ZèþÎ÷«­Ûë®ÿóÖ¹‹çäì䬅#ÊÓÕ³LM†)CO}õ”$)Ü/\3îšQÉ3G]× AInŽn7ÂP€ÝŽ9¦a‹‡©È\dËÊË’‹“‹âRãÔ¿u›ú©;•)¿ÚûºQǹÑ^ÝøªÇ/¶yiL—f]®X_PT  ŸMP\jœulKÒ-KX¦YƒgiX‡a×UŸp2A¦ IÒ·¿ÕÈŽ#Ëô°jï*ëzE8[¨~„¡»­Ü·REæ"¯Þ¡½åê쪿IÒÒ1KÕ§…CúúxôÇ2ºrìê”iÊ”_}?Ýz§<\=´8~ñUëçm›§¸Ô85iÐDS¢§(°A 6%nÒ¿wý[Ï÷¼n ¾UM½šVº^’¸5¿Ñ_+÷®,†Z,­Ü»R]›uÕ®“»ªì:@U! Ø--;M’ôÔžRýzõmæºwwDK’¤[šßâ°cW§ú¾ ¿ú~2 Z{xíUÃÐ"s‘þ“ð9;9kÉKÚ8T’ô‡VÁ`Ð’ø%úOÂ4­×´JÕÿÞÈŽ#5ëÇYJÎJVˆOˆu<.5N)Ù)šÜc2a(€‰0pMñiñzkó[:ræˆ$éјGe¡LÝå{†^IN~ŽVî]©„“ 2š` ЀˆêÖǦ.Ó”©˜½1:rúˆL&y):$ZýÂûÉ`øïñ/ß3töæÙÚ•vå0î‘î¨oXß ÷s£ùýí®ÝsjrósÕ³eOk°Yj|Ôx-‰_¢ŸŽÿd 7+Zÿ{÷u¸O³7ÍÖʽ+mæWìY¡†î uWë»ôüwÏWäTà† \SÖÅ,›}%w¦î,·îò=CË“p2AWNTV^–Íøª}«4ªÓ(ýóîJ’Žœ>¢ÑŸŽ–©Àö-ÒKw-ÕèN£õÚݯÙôóû=CŸ>lÓïåîöp…û¹š×6¾¦ý¿í¿f]©Ù÷Ì.óøùõ:vö˜$©SÓNeæš{7—·‡·ŽŸ=^éúßó­ï«^¡½ôž/ôTϧäìä,SIë¯ÓˆÈªçR¯*N ªa(àš¢šGi阥zë§·ôKÚ/Z|ÿb¹:»Zç÷œÚ£76½qÍuL&M^5YÙùÙÖa˜z‡öVC÷†JÉNÑ⋳'F=‚{hhû¡Z¾{¹L&õí­a†ÉÛÝ[i9iÚš´Uç Î_õ8ÓzMÓ£·>j3VX\¨¾{A"hP›Aîçj>tÕðõry—ò쮵WÖÅ’0×ÏèWÑ_GNQÞ¥f±¥Xùê/ò­ï«Wîz¥Òý\MÛ€¶v÷S]<]=%I /”;_:îYϳRõ—s68ëÞö÷êß»þ­¸Ô8íMßk4@MD ¸a.–Ü1¸'}ÏkJ÷›lÙ¨¥6LÚ ÕV+69VÇ}¬S¹§Ý2Zëý7…ù†]óxf‹YO¯~Zî.îzuà«6/]ªh?WSö -]/9+¹Ì\AQNåžR€1ÀzÇgEëË3ªÓ(}¼óc=ùÕ“rqrѰîÿD †n˜@¯@IÒŒ»f\1Ì,}<^’º7ÔØnc5¶ÛXI%o—Ÿ¼j²Æ-§'ÿhó¨þå,‹žûö9[Šõæà7ådpºî~®¤&ìÚ1°£$isâf›‹åìôßsKÒ™‹Ô±iÇJ×—'Ü7\;joú^ ˆ`ÝFj*ÂPÀ 3 b€–Ä/ÑW¾Òì{f+Ø;Ø:Wl)Öú#ëUl.ÙËrqübµñk£ÛZÜf­ññð‘ÑͨÌôL%g%—Ù´”ÅbÑ‹ë^TN^ŽæŸoôU¶Ÿ«© {†zªk³®Úur—Þúé-Më5MƒA¦ ½þÃë’¤¡í†VºþJæÜ;Gé¹éjáÓ¢ÊÏ ªa(à†¹µù­Õi”böĨς>jîÝ\¾õ}•›Ÿ«´œ4hÒm“4¸í`mNܬ™fª~½ú öV=—z:~ö¸Îœ—‡Mpy¹™gjùîåêÒ¬‹Æ-Wfþ‘î¨oXß õs5ÕµgèÇ~Ô‡;>”$Ë;'IZýëj%œL$Ýq—ÆG·Ö?×ç9Y:F ^¨¯|¥c€>¤‚¢EEi`Ä@›õ+Z_ž`ïà«þY@MB ¸¡^øªÂ}ÃõÑŽ”šªÔìTI’«³«µ¤!í†H’&Ü2Af‹Y±'bu0ó õó݃»ëù¾ÏËÃÕãŠÇø|ßç’d /WzŒŠôã§/œ.óø}znºÒsÓ%I­ýZÛÌumÖU F,ÐKë^Ò©ÜSúíüor28i@Ä€r÷L­h=ÔvKéëre2™”‘‘aWí”)’¤yó쫯*GNQV^–ni~‹ÍœÙyÙ:|ú°Zø´P“M¬ã;SwÊèfT[ÿ²wNZ,È>¡sÏ©‘g#5ój&Wg×2u/]Ô‰¬²X, ô ,w_ÊËŸÕÇÛ[6j)£¥ú¹‘2M™J:—tÅù€ ñ )3n±X”x6Q¦B“‚É·¾ïUco}ÂÉ[ŠuÕõŠÍÅŠO‹—Ñͨöí¯Z \MXX¨æÎÍРA&G·‚Z" @F£ÑÑm€š+†0jˆÚ†ÀDŠŠ" ×SöÕºp" P'†¨CÔ „¡êÂPua(€:0@@  N P'†¨C€"ߌԘ¥cÝT+ÂPꈈ7"4nù8G·ãâè€ãí{zŸ£[€jÇ¡êÂP€Ý̳>Üñ¡ú-ì§¶ÿ¯­î\p§>Úñ‘ÒrÒöz˜^ùþkmAQÂ^ÓäU“u2礦~9UQïD)ìõ0]¼tQ’ôåþ/5ò“‘êøfGu˜ÝACÿ5TŸüò‰Ì³uY'ʬ}ùÜÌ 3Ë=nZNšÿüquy»‹:¾ÙQ\ñGÌ8Xáó¶ç\âRã4qåDE½¥6o´Qï÷{ëŸ?üS¦Óu÷fÏuºZ?ÿIa¯‡©Ø\¬ØäX…½fýߎ”’Êîúûõ2M™zò«'ÕmN7E¾©qËÇ•ÛkE¾à<&°ÛËß¿¬e ˬ¿§f§êõ_׌WüLN~ŽFÿ{´2LÖ1³Ù¬×|]íøÈ¦ö׌_õ÷õWÂɽ=ôíëê5'?G÷ÿû~›ãþtü'ŧÆë³‡?SÛ€¶•Z³¼sY–°L/}ÿ’,‹u<-'M‹â)69V+Æ®‡«G¥z«èu*·Çß…¦•›Ÿ«û?½_©Ù©Ö±ØäX]>Vë'®—‡u¼2߸‘CvÙsj–%,“Ñͨû½¨¾a}Ud.Ò÷G¾×k_»âçv¦îT—f]4ø|µño#wwÈ8 v|$ww={ç³1P®Î®Ú||³þ±áúúׯ5¸í`õ ïWé~w¦îTç¦õÞð÷ÔÚ¯µNåžÒÛ?½­µ‡×jÆúZþðòJ­yù¹¤f§jÆúòróÒsw>§Þ¡½ÕУ¡R²RôÎÖwôÝ¡ï´$~‰&÷˜\áÞ*sÊëQ’Ž=wLoD¨{pw}òÀ'vŸs\jœnm~«Þ¹÷…û†+Ô¡—Ö½¤ØäX}uà+/©ò߸‘xL`—uGÖI’žéýŒFDŽ·‡·|ëûjL—1úÓºâç<]=µpÄBunÚÙÌ}wè;IÒŸïø³Æv+?£Ÿ¼=¼uoû{õrÿ—%Ik®¹®~=]=µpäBujÚI® mª9÷ÎQhãPŧÅëÌ…3•[ó²sùrÿ—*2iæÀ™Õi”üŒ~ªç\Oa¾aš3tŽüŒ~Zd}¥z«Ìu*¯Çëáãá£F~ Žåáꡟ½ØïEIÒ¡ÌCÖºÊ~?àF" Ø%%+E’Ô³eÏ2så•jÐN<ÙŒ%ŸK–$õ ëS¦¾tìD։ʶj=ncÏÆ6c.N.êÑ¢G¥×/ï\Žž9*Izrõ“Šx#B­gµVëY­>+\oDè´é´ÒϧWª·Ê\§òz¼í›´—ÑÍh3ÖÜ»¹$Ùì‡ZÙïÜH<&¨ƒ eÆ~¿Wæå¼=¼¯¼–¡ìZ—s2”üw;‹Ê#¿(ÿšŸ¿žc_®¼s)ݳØ\|ÅÏVè8—÷V‘^¯v½+£¼»KËû\mîj߸‘Cv ö –Tò¢Ÿ‡º>d3·-y[…Ö i"IúñØ ÷ ·™Û”¸I’Ô§…$É·¾¯$Ù¼À§ÔöÛ¯xŒ_3~ÕÙ‹gmîÀ,2Y?ì\¡ž¯$´q¨$iÉKtGÈv}ÆÞÞ*rìaAEÅEv×WDU~? ºð˜<À."H’fož­/÷©ì¼l»xNËw/×üØùZëî6wK’æm›§¥ KuæÂåäçèë_¿Ö+ß¿"IÔf$ÉÃÕCM½šjKÒÅì‘©À¤³Ïjùîåzsó›W<ÆÅK5iå$í9µGy—ò”x6QO~õ¤Ï&**(ʲ^¯û"ÁY]ýWÅì‰Qznº._Ò™ gŸ¯ëghÁö•ê­"×ÉÞÞ:zæ¨R²S®ë óå©ÊïTî Ø¥S`'î4Z+ö¬Ð´o¦ÙÌ n;Xk®‘«³«]kµh¯Gn}D‹âéåu/ëåu/ÛÌi;Dý[÷·þþh÷Gõ÷õ×ôo§kú·Ó­ã£:RÌž˜rqKó[t"ë„F|2ÂfÜÓÕÓúò¡ªâ¢ ü‡^\÷¢¦7½ÜšI·MªTo½N×r[ðmúæà7ê³à¿{.³T݃»Û½Æ•Tå÷ª a(Àn3ÎT Ÿúl÷gJ?Ÿ®& šhL—1Šl©5×ÈËÍË÷™®6þmôé/ŸêÈ™#2[ÌjÕ¸•FFŽÔØncmjÇv«‹…µl÷2eœÏPsïæšpËÝrÇÃÐ†î µüáåš¹a¦âRãd6›Õ-¨›þvçßÔÖ¿íu]‡Ëî4ZmüÛè㸗§sÏ©‘g#…ø„hpÛÁº·ý½•î­"×éZ^èû‚ŠÌEú9ågåäçTù^žUùý€ê`°ðV¨L&“222ìª2%@’4ož}õÕíïëÿ®O~ùDóï›o}\ÚQ Š Ô~v{õ ï§#\û7PMî­:Õ¤ïj—°°PÍ›¡AƒLŽnµD@@€ŒF££Û5W w†ì¶bÏ »xNý[÷W³†Í”iÊÔçû>×Ò„¥ª_¯¾z¶êéèá@|?Ôt„¡»åæçjöæÙš½yv™¹ú¾ OWOtUy]Þî¢óç¯ZÓÀ­žJ¸AÕn7Û÷À͇0`·û;߯܂\m<ºQ)Ù)rvrV;ÿvz´û£êÖçÚ à¦Æ÷@MÇž¡PCÔæ=C :°g(*Š=CÀ5Ä89º¸CÔ „¡êÂPua(€:0@@  N ØíýíïkÕ¾UU¾nn~®æn«M‰›ª|íŠ*¶kîÖ¹úæà7Žnåš’Î%iqübÍÝ:WÛ’·9º¨ñCv{/ö=­Ú[ ahÁCçm§/öQf¼¨¸¨$ ýµæ†¡+ö¬Ð]Þ¥þô×Ì 35wë\Å&Ç:º-¨ñCv{âö'4¢ãG·Q%Þ}·Ü0´6Ø–¼MÇÏWˆOˆî¹ÃÑí@­áâèµÇã=wt t§ûõ—迨UãVZ{x-È€Cv{ûûò7úkD¤íݡŖbÅ&ÇêÈé#*6+Ô7TÑ!Ñrsq+³Æ… Úxt£NåžR“MÔ¿uÿkwÿoû•p2A¦B“ŒêÚK=Ûþ¶ùjÕ¸•†´¢ƒ™õó‰Ÿe¶˜ÕŸýÂûéPæ!-ؾÀ¦þÞö÷ê!oÈÙà¬S¹§¬hZNšMÚ=¸»Mºðç…š½y¶,‹ult§Ñzíî×®~¡þÏû¿Pjvª]µ’4¶ÛXùxøØ]¨ÂP@¥å]ÊÓ#1èdÎI5õjª^¡½äêäªmÉÛ”x6QÅ<ÀÙçúIDAT¦ïýNþF](¼ I«&é´é´Z6j©è–Ñ*6kóñÍšþíô2k›‹õØÊÇ´/}Ÿ‚©g«žjèÞP'²NhÃÑ zþ»çæ¦ÎM;[?³ëä.m8ºA½ZõR¸_¸ÒsÓµîð:}uà+…ø„hJô5õjª©ÑS5oÛ<5ój¦á‘íŸoÖ°™õçݧvë‡c?”¬å® S†¾=ø­VìY¡!m‡Øuwæû¿¨Ð‹·L Õˆ0Pi_ÿúµNæœT×f]µä%òpõ$™‹ôäWOjíáµúOÂôdÏ'õÍÁo”iÊTÏ–=õÁÈäêì*©$P»l¬Î]»ê7a( Òròs$IÁÞÁeæš7l.ƒÁ ì¼l›Ú †Aek½›—+½Sô³=ŸÙÝOwÙµ¿~nA®Ýkz–ótõ”Trç«=Ø3jÂP@¥5to(IJÉN)h¦æ¤Êb±ÈÛÃÛ¦6-'MþFÛÚrÆ%õuyHë7.3/Iî.î6¿§e§•[Wº¾—›×Uϧª±g(Ô,„¡€JëÚ¬«Vî]©y[KÞ_ú¨|±¥Xom~K’Ô-¨[ImPW­Ú·Jó¶Î+³gèüØùeÖîÜC1{bTl)ÖŸïø³œ N6ó§M§•~>Ýf,9+YŸïû¼Ìž¡ë¬——»—Âý­ãõœëYïZ­.ì 5 a( ÒîiwæÇÎW|Z¼~4P½Zõ’«sÉÛä9¦†î 5¦ËIÒ¶CôΖw´%i‹-¤è–Ñ2[ÌÚ”¸Iy—òʬ=¸Ý`-Ž_¬å»—kKÒÝr»{6Vn~®’³’—§Gn}D;Z?Óȳ‘þ¶æoZspZûµÖ©ÜSZwxŠ-Åš5AΆÿ¾„)¤Qˆ~ÍøUOý´š{7—“ÁIÃ#‡Ë¯¾_•]ŸêÚ3ô@Æm<ºQ’tôÌQIR|Z¼æn+IêØÑº¿)à¿C•æáê¡E£éñÏWÒ¹$ý'á?Ö9£¿æ ›g}$¾~½úZ8b¡&®š¨¤sIJ:—$Iò­ï«×î~M“WM¶YÛÙà¬E£éÙ5Ïê‡c?(fOŒÍ|€1À&•JîT mª…?/Ôæã›­ã÷¶¿WOÜñ„M턨 zöÛgõÕ¯¬c݃»WiZ]üvÀ|–ú%íë˪îú0a(”ƒ0`·'n¢Ì~Ÿa¾aZûØZmKÚ¦#§¨ØR¬VZé­þ 77›ÚÈÀHm˜¸AnÔ©ÜS h ~áýd±X45zj™pÓÇÃGŒü@‰gŸ¯sÏ©‘g#…ø„(*(JÎNκÜ3½ŸÑ ¶ƒ—'³Å¬nAÝÔ¹iç2uÃ#‡«}“öÚ‘²C9y9²È¢f ›ÉÅÙES£§ªUãVe>S:æV™ËWeÚ7i¯©ÑS¯8ùu”0X,‹£›H&“IvÕN™ Iš7Ͼú›]AQÚÏn¯~áý´`ÄG· Š„……jîÜ drt+¨%d4ݨ¹bœ®]µa(€:=CµÞÕöù a( Ös68_õ…BH<& Ž P'†¨CÔ „¡êÂPua(€:ÁÅÑ ê¶C™‡´4a©R³SUXT¨gz?#'ƒ“fý8Kã¢Æi`Ä@kíWüQ­µÒÿöû_v\=2M™úáØÚ||³ròr4´ýP=ÐùG·7ÂP€Ã;sLÃS‘¹È:–•—%'ťƩëþ6õ;Sw*ÿRþn³Ú½ºñU-Ž_,‹ÅbëÒ¬‹;€›a(ÀaVî[©"s‘ÆGWïÐÞruvU„_„$i阥jáÓÂÁÞ™¦LùÕ÷Ó¡wÊÃÕC‹ã;º%¸)†&-;M’ôÔžRýzõmæºwwDKñBßäWßOƒAk¯% €jB °Ë¥âKúŸåÿ£¨æQúKô_´bÏ mIÚ¢ÂâBuiÖEÿÓídt3–[?5zª>Ûý™¶ŸØ®¬¼,ýéŽ?éÝ­ïêÈ™#’¤Gc•A†2Ǽ|ÏÐ+ÉÉÏÑʽ+•p2A¦B“Œ1@}ÂúØÔeš2³7FGN‘©À¤ ï E‡D«_x? e£øývl¨KCv1[ÌŠK“ÑͨÇ?\?ûÁ:·)q“¾?ü½VŽ[)Wg×2õ>› í'¶[ëèô€âR㬿ïLÝYî1/ß3´< '4qåDeåeÙŒ¯Ú·J£:Ò?ïþ§$éÈé#ýéh™ L6uKw-ÕèN£õÚݯ]óX¯m|MûÛͺR³ï™­¦^Mí®T/ÂP@…ütü'y{xëÙ;ŸU¸o¸2Lz/ö=È8 o}«{Ûß[¦ÞèfÔ´^ÓÔ6 ­Ü]ÜÚ8TKÇ,Õ[?½¥_Ò~Ñâû[CTIÚsjÞØôÆ5{1˜4yÕdeçgkX‡aêÚ[ Ý*%;E‹w.VÌžõî¡¡í‡jùîå2˜Ô;´·†u&owo¥å¤ikÒV/8o×¹:}È&Ľ–¼Kyvתa( B\œ\´ì¡ejÙ¨¥u¬…w =¼ìaí:¹«Lj‘Eÿ~àßjÐÖfÜ·¾¯|<|$I·4¿En.nÖ¹‚¢»zùòÀ—:{ñ¬¦õš¦É=&ÛÌ j3H½Þë¥Ï÷®¡í‡Êũ䟼ÙCfËÛÃÛZ÷@ç”›Ÿk×ñ¦ß9]¹öÕJâ®P¨aCi„JR‡&$IY³ÊÔ·ñkS&­*»Oí–$­?²^±'be±X$•°¥?'žM”$=ØåA}±ÿ M\9QÃ: S‡&á!77y¹{Ùu¼ê:ÀA ¨†î ËŒý~ŸÐË5iФÚz¹XxQ’´'}Ïkê¹Ô“$µlÔR&mÐê«›«ã>Ö©ÜSŠn­¿õþ›Â|îy<ö €Ú0P­ªó-í^’¤w͸b˜Yúx¼TäŽí6Vc»•TòvùÉ«&kÜòqúqò6ê—‡=C v# ÔZ"hIü}uà+;g¶‚½ƒ­sÅ–b­?²^ÅæbIÒâøÅjã×F·µ¸ÍZããá#£›Q™é™JÎJV„_ÄUÇž¡P»†j­[›ßªQF)fOŒú,è£æÞÍå[ßW¹ù¹JËISAQ&Ý6IƒÛÖæÄÍš¹a¦ê׫¯`ï`Õs©§ãgë|ÁyùxøØ©WR]{†þxìG}¸ãCIÒ¹¼s’¤Õ¿®VÂÉIÒ]wi|Ôøj96Ô%„¡€ZíÕ¯*Ü7\íøH©Ù©JÍN•T²é 6ƒ4¤ÝIÒ„[&Èl1+öD¬f´~¾{pw=ß÷yy¸z8¤I:}át™ÇïÓsÓ•ž›.Ijí×ÚmÀMÇ`)}Ý.À¡L&“222ìª2%@’4ož}õUÁl1kgêNùxø” çJçy6R¸oø5ëK9}DYyYº¥ù-r28Ydzó²uøôaµðiaó¦©;et3ª­Ù;4-‹NdŸÐ¹‹çÔȳ‘šy5³¾Øé÷.^º¨Y'd±Xè(ŸJ]ª”iÊTÒ¹¤+Î4PˆOÈk¨!ÂÂB5wn† 29ºÔ2ŽnÔ\1Ü °‹“ÁI݃»Û=wµúRW I½=¼Ëýì-Ío¹âZƒA!>!× =]=Ë SÉßè/£¿£Û€›žÓµK ö# P'†¨CÔ „¡êÂPua(€:0@@  N P'†¨Cp°´œ4…½¦W¾ÅÑ­ÀM0@@  N P'¸8º@íPPT ö³Û«_x?½ØïEÍúq–bOÄ*;/[{ŸÞ«QŸŒRnA®¶<±Åú™“9'Õëý^’¤µ®U˜o˜u®ï¾rvrÖ÷}_ãÎÅÓÕSq©qúhÇGÚur—L&5iÐD"hÊSdt3Z×JÎJÖÒ]Kµ-y›R²Räìä¬Ö~­õ`ç5ŽûXËw/×ÉÜ“jÒ ‰Æt£»ÛÜ}£/ÔI„¡€ ÉÉÏÑèV†)Ã:f6›Ý2Z‹â)ñl¢B‡J’¶&o•$9œ´%i‹5 MËIÓ‰¬Ûmì57nù8Å&ÇÚÝߺÇÖY_ÙsY–°L/}ÿ’,‹u<-'M‹â)69V+Æ®‡«‡$iâʉ:~ö¸Íº '”p2A™¦LMî1Ù:þò÷/kYÂ2ëï©Ù©šõã,øí€Ýç¨<ÂP@…ìLÝ©.ͺhþðùjãßFî.î’¤ž-{jQÜ"mIÚb #·/ù¹[mMÚª ·L°ŽKRtËhÇœÄÿ)ï\R³S5cý y¹yé¹;ŸSïÐÞjèÑP)Y)zgë;úîÐwZ¿Är†5ÓcÝSTP”‚)¿(_‡2é¥u/iÁÏ ôØmÉÙଽé{µ,a™ŒnF½ØïEõ ë«"s‘Ö^«þðO‡^¨+Câéê©…#ª‘g#›ñ¨æQrsqÓÖ¤­5^f‹Y?§ü¬aí‡ÉèfÔ¢¸EºT|I®Î®Úš¼UÎguoÞýšÇûäOªëTÊ=—/÷©"s‘fœióøz˜o˜æ £ø´x­?²Þ†Î¸k†Þßþ¾l_ ôÜtÚãdÎI{kÝáu’¤gz?£‘#¬ów}X9ù9zû§·«í<%CÒ. ]™ T’Ü]Ü¥);t©ø’~ÍøUÙyÙŠn-£›Qïn{W¿¤ý¢[šß¢í'¶«s³Î6{o:ByçrôÌQIÒ“«ŸÔ“«Ÿ´>*o‘Åú³AI%Ùÿd¸ÒsÓ¯xŒüKù’¤Y'$•ÜA{¹?´üa(Ü„¡€ ñöð¾âÜ!wh[ò6ŧÅk×É]ªç\O݃»«žK=݌ښ¼Uî®îÊÍÏUtˆ}ÈWçž¡å‹Ùb–$›‹¯ø¹Ò»?Wí[¥ôÜtÝÕú.M‰ž¢>-äáâ!ƒÁ ×½h³?(ÀñCU¦g«žzcÓÚš´U»NîR· nÖ Ý|›¶ß"7g7IŽß/ôJJƒÔ%,Ñ!w\µ6%+E’ôt¯§mØÂâBý|âg›Ú>-$I[’¶è¡.ÙÌý”ôÓu÷ ¸6ÂP@•iã×F=kýÑõJÉJÑSxÊ:Ý2Z3ÖÏPAq¸5PÇÀŽv­Y{†–ç¾Èû´`ûýuõ_5­×4E·Œ–o}_åäç(9+Yk®Q€1@“{LVS¯¦’¤w|¨'{>)oo=}Tooy[Iç’lÖ1@ ^¨ÿ·éÿÉÝÅ]}ÃúªØR¬ï}§÷bß»¡çua( Ê ÝÑò­>°Z’íþ˜Ñ-£e±XtìÌ1õoÝ_ÎNÎŽjóªB|BôÿЋë^Ôô聯[3é¶I’¤{ÚÝ£ù±óµrïJ­Ü»Ò:ot3ªëþZd½u¬c`G=ØåA-KX¦g×}.8ºÜdC 2¤‘#ÏkåÊÊË«™/R€Êúé'O¥¤¸jäÈóŽn7ÂP¨¥z(G……-\èãèV ÊôÆÕ§Ï…‡³_(ªa(ÔRkÊ”,}ø¡·ÒÒ\ÝT‰¥K½””äªéÓÏ:ºÜ„C 7.GAAEš>ÝOEE<. vKLtÕœ9ôÈ#9jÙò’£ÛÀMˆ0j1‹Þ}÷7íÛç¦_ôst;PiÙÙNš4)P-Z\ÒŸþtÎÑíà&E µ\xx¡Þz+S«V5Ðüùì  ö1™œ4yr ŠŠ úè£tyxXÝnR„¡pèÓç‚^~ù´æÎm¤^à‘yµGZš‹Fn¦”W}øaº7.vtK¸‰†ÀM⡇rõþû¿é믚0!Pii.Žn ®jÓ&O$gg‹V­Jãíñ¨v„¡péÓç‚>ûì¤23]4p`°æÌi¤¼<îP³$'»jâÄ@=úh n¿=OŸ}vJEŽn u€Áb±°)Ô&“IU²VQ‘AŸ|ÒPóæùÈÕÕ¢‘#Ïkà@“"# d àyyÅÆzê‹/ŒÚ°¡¾BC/饗Ψ{÷€æ¨¦®®®®ÚE@9ôîÝ;/¿ürƒ×ä‘Gò…/|!IrðÁçÏþs’ä€È-·Ü’$™9sf;ì°Ü~ûíKÝÇ&›l’;ï¼3›m¶Yé²Ù³ggàÀ¥ý}ؘ¡C‡.1ï~ûí—¹sçæž{î)­ûþûï§uëÖ+\Ãi§–_üâË<öÏ~ö³yà²ÖZk%YÔôiy®ºêªuÔQ…n²¬Û~úôéùÚ×¾VïöX\ÇŽó»ßý.‡rHé²"õ->ÿþûïŸöíÛç†n¨·ÝÚk¯Ñ£G—½ùæ›éß¿ÆWo½vÚ)={öÌÕW_dQ“¦‡zh¹ÇYdþrÞ+ó¼)r@sÖ¢Ú@¹\wÝuùÍo~Sï²›nº)ÇÏðáÃó—¿üe…÷ù­o}«Ô8g½õÖËW\‘»îº+ H’¼òÊ+Ùk¯½2sæÌÒ6Gyd©IOMMM¾õ­oå–[nÉM7Ý”ïÿû™7oÞRçúûßÿž—^z)¿ýíoóÀdøðáYmµÕ Õðío»tÜÇÏ}÷Ý—+®¸"›l²I’ä¹çžË~ô£ÒúÇÏ™gžY·nݺÞö{ï½wáÛ£¨#Ž8¢Ô,¨S§Nó™ÏdôèÑ©­­Í/~ñ‹Üyç…o«ÅµlÙ2÷ÜsOÖYg$É“O>Yº?Ÿþù$Éøñã3lذÒ6^xai__þò—³ñÆgâĉË<¶åiÈüå8ÎÅ}Þ¹ ¹ÓÔ –áñǯ7>묳RSSS¿ÿþû¥å‘#Gæ˜cŽYb›.±ßÕV[m©óm½õÖõ:­!IêêêrÏ=÷äþûïÏ+¯¼’3fdÁ‚õÖŸ|‰ë»uë¶Ü¹6Úh£zã±cÇf›m¶)ǷĺEê+bƒ 6¨7þïÿ›.]ºÔ«µ’Šç£>š3Î8£46lXÚ´iS¸Ž"÷4w-ª]4Uýû÷Ï:ë¬Sß{ï½Ù~ûíÓ¿ÿÒßZk­•|0mÛ¶-m³îºë–¶9ñÄóꫯ–Æ'NÌÕW_]Ñ&Ož\Z¿uëÖ9óÌ3³×^{e»í¶Ë“O>¹Ì¹:tèPZž;wnÞÿý•®eõÕW¯wý½zõúÈã^{íµKãóÏ??óæÍK’Œ5*·Þzk麃:¨p}El¿ýöYk­µJã_üâY°`A’E’yä‘Âûnˆ¢Ç9yòä<üðÃ¥¿… ®t+z@s§©,CûöísÍ5פU«VI’+®¸"ݺuËç>÷¹ôíÛ7«¯¾z>ó™Ïä¼óÎ+5@jß¾}~ÿûß§uëÖI’Ñ£G§gÏžùÌg>“>}ú䓟üdn¾ùæŠÖ°ÓN;•šùÌŸ??Ý»wÏöÛoŸO~ò“™0aÂ2çêׯ_Z´ø¿SŠ6Ûl³ì¼óÎéß¿ÞyçBµÕ¡C‡üîw¿KË–-“$wÞyg6Ø`ƒl¹å–ÙvÛm3gΜ$ÉV[m•“O>¹ðmUD»vírÁ”Æýë_³á†f‹-¶ÈW¿úÕl½õÖ…÷Ýy?,O‘ûš;M`9öÙgŸ<þøãÙc=Ò²e˼ÿþûyòÉ'óïÿ;Ó§OÏV[m•óÏ??›nºii›½öÚ+O<ñDöÚk¯´jÕ*óçÏÏ /¼1cƤwïÞ9öØc+ZC=rÓM7eýõ×O’¼ûî»yæ™gòÍo~3gŸ}ö2çÙ`ƒ rÁ¤]»vI’·ß~;#FŒÈÃ?œ¹sç¾=ŠÚo¿ý2bĈì´ÓN©©©É¤I“òì³ÏfþüùéܹsN:é¤<üðÃ騱cáÛª¨£>:—_~yÖXc$‹n« &ä/ùKz÷î]Z¯C‡+5ϲ4æý°‘÷ß?Ï=÷\iÏþóiݺu½íf̘‘—^z)3gÎ̧m¿ýöiÛ¶íJßKÓÛ`Ê”)?~|æÌ™“µÖZ+={öL‹ËÿM»†Ö·¼ùÇŸ×_=IÒ©S§lµÕVõ¶;wn^xá…´lÙ2}ûöMëÖ­³ùæ›gôèÑI’c=6C† Yî<+3ÿŠçäÉ“Ku%ÉN;íTº ‹>oWä>€æFS'€4qâÄüþ÷¿Ïw¾ó¬¹æšI’ÚÚÚ\pÁ9óÌ3Kë92;ì°CµÊ™¦N+èÕW_ͧ>õ©´lÙ2o¼qÖ\sͼòÊ+y÷ÝwKëœp »èÆ439è ƒ °*ªtþÍœ93óæÍ[©}<öXûqÄziÕª.—]61NMçÎ ËT!PT›6uÙj«99ðÀéyýõֹ袵2o^M¶ß~vjjª]Ý"òš&ù%?€¢äP”üŠ’@Qò(J~EÉ (ù%?€¢äP”üŠ’@Qò(ª’ù±æškÞVS'€šzS§?ÿyõœpºÙm·YùÝï&dà ”±: :t¨Ën»ÍÌ'?¹ ]´V^z©mvÙefZµªn]òš>ù%?€¢äP”üŠ’@Qò(J~EÉ (ù%?€¢äP”üŠ’@Qò(ªù±2MjêêêêŠn<`À€$ÿ×Üàã¢Òù7qâÄ̘1£Ð¶wݵZN}zƒjƒ¦à¢‹ÖLß¾ó²ß~Ó?zeV cÆŒÉ!C²ï¾û¦G¥¿Áƒ/uý§Ÿ~ºÞzKû;餓ù((b­µjóÝ゚«®êœ©S+ÿRM~4?+šö /¤W¯^õ¶}ã7*\5å ?XY+šóçÏϰaÃrì±Çf=öHß¾}Ó§OŸì¸ãŽ9úè£sÇw¤®®®‘‚"ä+kEócÊ”)¹í¶Ûòýï?ýû÷OŸ>}²Ùf›e·ÝvËO~ò¯=V!òƒ•UäýËʾç¡i¬¬¢YððÃ稣ŽÊ6Ûl“M7Ý4;í´SN;í´¼úê«S8+M~PI?þx ”í¶Û.½{÷ζÛn›ï|ç;yâ‰'ª]e ?¨”ÚÚÚÜpà 9ôÐC³í¶Û¦W¯^éÓ§OvÚi§|ï{ßËÈ‘#«]"+I~P ¿ùÍo>ò=zdóÍ7¯v©¬ùA¥ý÷¿ÿÍ™gž™]wÝ5}ûöÍ6Ûl“äÚk¯]âüWV-òƒJ9üðÃ?òõÇk¯½Ví2Y òƒÆ2hРzÙqê©§V»$V’ü R^{íµ 2$x`¶Ûn»ôêÕ+ýúõ˾ûþô§Îkä•PWW—çž{.]tQ8à€l¹å–éÕ«W¶ÞzëvØa¹í¶Ûœ£Þ È*eÆŒùûßÿžüàÙb‹-ê½w©­­­vy”ü ’¦Nš_þò—ùÒ—¾”¾}û¦_¿~0`@n¾ùfÒ 4v~|@S'*æôÓOÏÎ;üå/yýõ×3oÞ¼LŸ>=O<ñDŽ?þøì²Ë.™5kViýººº 0 guV^yå•Ì;7/¿ürŽ9昜yæ™e›çîºêª|õ«_Í¿þõ¯Ìž=;¯¼òJ.½ôÒ 8p¥kƒÆ0aB«<ôPÇuÔ”ÔÔT»>Êßþö·Ò›À>}ú,u &dß}÷Í!C2f̘F®¦àC¦¥E‹ºÜ~{§ŠÎ#?V-‘sæÌÉÉ'Ÿì æ*L~°4•ÊÛn»-ßýîwsÏ=÷ä•W^Éœ9s2oÞ¼¼ýöÛ>|xN:é$ï—V!òƒ¥©T~œrÊ)9å”Srï½÷æ7Þȼyó2wîܼú꫹ᆲ×^{eÔ¨Qå<*H~°4•ÊŸ™4/òƒ¥©äçƒΑG™‡z(ï¿ÿ~æÏŸŸ·Þz+·ÜrKöÙgŸ<úè£å: *L~°¢öØcR¶,ëG{.»ì²|ãßÈý÷ߟɓ'gÁ‚yï½÷òÀäÐCÍUW]ÕÈUS òƒÕü8æ˜cò“Ÿü$O<ñDÞ{ï½ÔÖÖfÞ¼yyë­·rß}÷å›ßüfn¸á†F®œr“¬¨†äòƒÕÐü:thöÜsÏÜtÓMyíµ×2gΜ¼ÿþûyöÙgóÓŸþ4¿þõ¯±j*A~°¢¼þàòƒµ¢ùqË-·äþûïo„ÊhlòƒÕü8äC2dÈŒ5*“'ONmmm¦OŸž1cÆäÚk¯Í¾ûî›ñãÇ7rå”›ü`E}T~Œ=:p@®¼òÊ<÷Üs™6mZjkk3eÊ”üóŸÿÌ)§œ’ãŽ;Nc§f@~°¢òúã§?ýiŽ?þøüíoËŒ3¹B‹ü`E5$?^ýõì»ï¾ùío›ñãÇgΜ9™>}zž}öÙœqÆùÎw¾“ùóç7rå”[cåÇâ4u¢"n»í¶üìg?K’´lÙ2W_}u¦M›–1cÆd‹-¶H’<úè£õ:òßtÓM¹ãŽ;JãóÏ??ï¿ÿ~ž~úé 6¬ló|Ø7Þ˜ûï¿?ï¿ÿ~N>ùäÒåýë_óæ›o.µ¶ /¼°ôð|p…n(·ûïï˜öíf·ÝfV»ʤ¦¦&›nºiŽ=öØÜqÇYýõWhûdܸqKüýêW¿ªPÅ”[ÇŽ ³ûî3sß}+:üh~V6?.¼ðBÿ[ÅÉŠ*’mÛ¶Ío¼1ÿüç?ó /äæ›oΆnXZç/ùK¦M›VÉÒ)ùAQE_tìØ1'žxb~øáŒ5*^xaZ·n$™5kVN;í´J–MÉŠ*’+ûž‡¦E~PT‘,x衇rùå—'IÚµk—ë®».£GΉ'ž˜dQ£ëüàyï½÷*Z;å!?(·§žz*—^zii|ÁäùçŸÏ•W^™–-[&YôÙéÓO?]­)ùA¹½ôÒKõÎ9úè£óÜsÏå‘GÉV[mUºü7¿ùM5Ê£Œäåö½ï}o©çuüë_ÿJûöíKë}pþ«.ùA%<úè£ùñœÚÚÚ´hÑ"ßþö·sÿý÷ç…^ÈwÞ™ã?>ŸøÄ'ª]&+I~Pi>úèR_l´ÑFÕ.•$?¨¤7Þx#çw^µË Bä•гgÏœ{î¹¹ï¾ûòïÿ;=öX Tº~úôé¹ù曫X!å ?¨”Ï}îsùÃþ^x!Æ ËöÛo_ºîž{îɽ÷Þ[Åê(ùA%têÔ){ï½w.¾øâœqÆÕ.‡ ‘”[]]]~ðƒä­·ÞJ’ì¹çžù׿þ•üã¥ïÉ-~*«®ÆÊÅiêDE,Þ¡îë_ÿzŽ<òÈtêÔ)½{÷®÷!îµ×^›¹sç&I½_&ìׯ_N?ýôtîÜ9[mµU©qS9æù°ÿøÇÙu×]Ó¹sçwÜqõ®;vìµm½õÖ9å”SÒ¹sçl±Åˬ Ë?ÿÙ>Ûm7;­[ë.Ý\¬»îº¹ë®»rüñÇg³Í6«v9TÉŽ;ÎÊ3ϴ˼y•ká+?šŸ•É‘#Gæúë¯O’ìºë®•(F"?(¢H~|õ«_Í/~ñ‹l»í¶éÒ¥KÚ·oŸ­·Þ:ûí·_i… ú”Uˆü ˆ"ùÑ·oßÜ}÷Ýùîw¿›õ×_?«­¶ZößÏ#kà IDATÿ|ðÁ¥uÆ—7Þx£ReSfòƒ"Šä‡ÏLšùAE²`ñ¤ï·ß~Ùa‡Ò®]»sÌ1Yo½õ’$S¦LÉM7ÝT‘š)?ùA9Ýzë­¥åM7Ý4 H‡²Ûn»eÇwL²èÄßþö·Õ*‘2’”ÓìÙ³ë¿þõ¯§cÇŽéÖ­[¾üå//s=VMòƒÆ0tèÐz™qä‘GV±ÊE~PNuuu9ï¼óJÿƒ8p`N=õÔl¼ñÆiß¾}úôé“c=¶Þ—¤YuÉ (ùA%,\¸0§žzjfΜ™nݺ¥OŸ>Õ.‰ ”Ûµ×^›C9$Ý»wOÛ¶m³Î:ëä„N(ý¨Fç˜6òƒrjÕªUN?ýôÜpà ù¾öíÛg“M6É%—\’-þï+ñ‹ÿð«.ùA¹ýøÇ?Î¥—^š}÷Ý7:uªv9Tü œFŽ™çž{®4>묳²ÆkäSŸúTŽ9æ˜Òå×^{­s@šÆÈÅiêDEŒ=º´ü§?ý)555¥¿}÷Ý·tݬY³2nܸ$ÉþóŸÒå[o½u½ý}x¼2ó|Øç>÷¹Òòk¬Qïº3f,QÛ–[nYo~ýú-u¿ÐX^z©MúôYzÓ2š–=zä?øAi믿þ—÷îÝ»ÞøƒÏehúä‹óù+B~°¸JåÇ”)SòÌ3ϔƟýìgKË555ùÌg>S;áoÕ!?hˆ!C†¤Gyå•WJ—]tÑE¥\ùüç?Ÿ$õÊvëÖ­Þ>>hü–,:ygÁ‚®šJ“4DCóc³Í6+ý"c’ÜtÓM™9sfÞ~ûíÜ}÷Ý¥Ë÷Þ{ïÆ+žŠ‘4DCóci.\˜?ýéO¥q=²óÎ;W´^‡ü !šÏ?ÿ|Æ_ZGó·æM~Ð+óúƒæK~Ð+š¿ÿýïóä“O&IÎ?ÿü¬¶ÚjZ/C~ÐE_ÔÖÖf„ ¹øâ‹S[[›$i×®]8à€F©›Ê’4DCócÓM7ÍÀ—Ø~­µÖJ—.]Jã™3gV¾h*N~Ð>ÿ`iä ÑÐü>|xéúnݺeuÖ)·Øb‹ÒòŒ3òÔSO5BåTRcäÇâ4u¢ê–ö½Å;æVrž$Y}õÕ+:/TÚĉ-Ó­›Èù?÷Þ{o>ûÙϦW¯^Ù~ûí3hР<úè£Õ.‹Ôµë¢çõ;ï´ªØòƒœ}öÙ™0aBÚ´i“Ÿÿüç^­âäíG?úQzôè‘Í7ß<_ÿú×ó¿ÿý/«¯¾zÎ;ï¼\tÑEÕ. ?¨¶ÿþ÷¿¥å6mÚdƒ 6¨b5¬ù%?h ‹ÿpG’tíÚµÞxÝu×]æº4]òƒrZüËG&L¨wÝÛo¿]Zž7o^^{íµF«‹Ê”S›6mrã7fŸ}öI«V­rÕUW峟ýlvÜqÇ<óÌ3YsÍ5sì±Çæì³Ï®v©”ü Ò†^¯Ùä‘G™ššÆùeP*K~PN‹7®^c5róÍ7çK_úRúöí›-·Ü2Ìc=VÅ )'ùA%í¿ÿþéÕ«W6ß|óì»ï¾÷¹Ï%Iz÷î]ÚfÔ¨Qõö÷ôÓO—mž"zöìYZ^üŸâIòì³ÏÞ/”Ü9-Ò¡C]µË Æ—K.¹¤4nÓ¦MÆWú;è ƒÊ2ÏôéÓ3sæÌÔÖÖæwÞÉý÷ߟ#Ž8"_|qYöOãèÐaa’dæÌʽ\“«ŽJæÇ=÷Ü“;ï¼3IrÜqÇ¥{÷î+]/Õ%?X\c½þø°iÓ¦åŠ+®¨÷¡MŸü`q&LÈÍ7ß\õ«_MÇŽË:•#?X\µ^°j’,®Rù1eÊ”zãvíÚÕ·oß¾´<{öìÌë—µVòƒ†8î¸ã2nܸz'óž|òÉ¥\9rd’ä‹_übéú_|1ýë_3kÖ¬<øàƒ1bD½}úrãªO~Ð ÍdQ÷iÓ¦•~Y~q³gÏδiÓ²páÂF©›Ê’4ÄŠäLJ]wÝu¥åµÖZ+_ýêW+Z+G~Ð ÍwÞy§týÔ©S3dÈŒ?>sæÌÉ´iÓòÈ#ä›ßüfn¸á†F?ÊO~ÐE_Lš4)µµµ™={vÆŒ“Ë/¿<ûì³O½&“¬ºä ÑÐüX°`AN<ñÄÌ›7/k¯½vN?ýôj•L#4ÄÊ|þ±¸‡z(×_½ÏO› ùAC¬l~\vÙeY°`Ñð[·ní<´fB~ÐåzýAó"?hˆ†æÇâç„-ïÓdÉsRYõ4F~,NS'*bРA¥å?üá¹ä’K2qâÄÌ™3'ãÇÏ=÷Ü“AƒåðÃ/­wÈ!‡”–Ÿxâ‰\rÉ%™:ujþõ¯åÇ?þqÙæ)bñÚž~úéüò—¿ÌÔ©S3jÔ¨eÖ¥®.ñÃ|´jÕ*{î¹g®¼òÊŒ1"/¼ðBnºé¦zMé~ó›ßäù矯b•¬ˆž×u|Ï'?˜4iRÎ<óÌ$Iß¾}sôÑGW¹"ÊA~ÐØ.¸à‚Œ7.O>ùd† ’.]º$IÞzë­uÔQ™3gN•+¤¡äÕòÞ{ïåè£ÎŒ3’$Ý»wÏ~ô£*WÅŠ@Qòƒ¦ îCÀ˜U‚ü œ8à€|þóŸ/øÃæ3ŸùL¾ýío/Ѥ¥M›6]e&?(§éÓ§çk_ûZFŒ‘ººº 80O?ýt†ž-·Ü2³gÏÎÿøÇœtÒIÕ.•2TÒøñãë}áàßø†×͈ü œæÏŸ_oüéO:ÿøÇ?òôÓOç+_ùJ’EŸuüìg?«×ŠU“ü ÜÖ_ýœ|òɹãŽ;òÜsÏeäÈ‘9î¸ãJ׿ýöÛ9çœsªX!å"?(§K.¹$cÆŒI’œ{î¹Yc5ª\•$?¨„®]»fܸqyñÅsï½÷–Y/\¸0×_}þøÇ?V¹BÊA~Pi7Þxc®½öÚÒøÌ3Ï̆nXÅŠ(ù%?h,Î1m~#?§©…\z饩©©Yâ¯wïÞI’ý÷ß?§vZ’¤¶¶6'œpBºvíšöíÛ§GÙk¯½òÛßþ6“&M*íóàƒ®÷ c'œpB:w·Þ:»ï¾{½ù?»"óqÈ!‡dŸ}ö)O=õÔtîÜ9ýúõË.»ì²Rû(‡-¶Ø"¿þõ¯³Ûn»e½õÖKûöí³Í6Ûä²Ë.«·Þ°aêT!Ð=üðÙ2eJZµj•ŸÿüçiÙ²eµKVak®¹föÚk¯œqÆ¥Ë&Mš”G}´ŠUMÝ[o½•¯}ík¥7ÜpÃüñÌꫯ^åÊ€æ¢sçÎõƳgÏ^æ¸]»v¾8 C-[¶Ì5×\“ÓN;-½{÷NÛ¶mÓ©S§ôë×/Gyd½u×^{í*U 4EwÜqG©YBçÎsÚi§¥sçÎÙ`ƒ rê©§–Ö»çž{òæ›oV«L`pÝuו–Ûµk—Ã;¬ŠÕMÙ‡ÿò­o}+ŸúÔ§Ò¹sçœ|òÉ¥ËçÎë×é%\pÁ4hP6Ûl³tìØ1ë®»nŽ;î¸ìµ×^¥uFŒ±Äg¨ÀÇÛí·ßž$Ù{ï½—ø^ÀŠhÓ¦Mzôè‘_þò—éÑ£Géò[o½µŠU«‚+¯¼2guVi|ÒI'åC©bE@s³xëåcúáu¡!4u¢b.¸à‚Œ1"_ÿú׳ñÆ—N~íÝ»w¾ò•¯äꫯÎõ×__Z¿¦¦&C‡͹瞛O}êSiÓ¦Mzöì™Ë/¿<ßÿþ÷ëí{ñ°[ÑyЍ©©É_ÿúל}öÙKÔvÞyç­Ô¾*©{÷îiÛ¶miüî»ïV± ©ù Kð‚ ²Ï>û¤GéÑ£G=ôÐzëõïß?=zôð+Ž@ƒôéÓ§Þøí·ß®R%@S7~üøtÐAùïÿ›dѯIß|óÍéÚµk•+š“ž={ÖOœ8q™ã^½z5JM@ÓÓªU«uÔQùÛßþ–ÿûßyöÙg3tèÐz¿îÚ­[·¬»îºU¬hj^}õÕÒr·nÝêýxÆ'?ùÉzë¾öÚkU°Š™1cFn»í¶Òø€X¢9-À>ýéO×wëÖ­´üá÷+Ó§Oo”š€UßâçyÔÖÖfÊ”)U¬hj>8Ïôïÿ{éÓ=zäÉ'Ÿ,­së­·¦G9óÌ3«U&° iÑ¢Ez÷î];ÇXžŸÿüç¹è¢‹’,úŽïé§ŸžcŽ9¦ÊUÍÍâïQ–wŽiâ'P@óÑØùñÒK/Õ¯½öÚŸ¨ŒJæÇóÏ?Ÿo}ë[¥‚·Øb‹\sÍ5~µš ï_€¢*‘;wN¿~ýòì³Ï&IF•”æ5jTiÝ]vÙ¥,sMËâÙ²",Xë®»®4ÞÿýËU°Šø¨üèÔ©Siùí·ßNmmm©±Óo¼±ÌuæoE^ÜrË-™5kV’E_j8p`¥ÊV•Ûo¿}Ú¶m[:lñ/?øKl°Aù š¬¢Ÿ$É‹/¾XZnÕªU>ñ‰O”£$`±2ù|¼Í… æå—_.c ? ÉÚÚÚœ~úé¹å–[’$-[¶Ì/~ñ‹ì·ß~•.h¼Šú¨üøâ¿˜?þñI’ &dâĉ¥ÓøàÜÓ$騱c¶Ùf›ÊJ³Ô¢ÚÀâ~øÃæì³ÏΨQ£2cÆŒ¼ýöÛùýï_¯‘Ò7¿ùÍtèСŠU·úê«—–çÏŸŸQ£F•åËIßÿþ÷sÁä©§žÊ¤I“2{öì<õÔS9î¸ãJë´lÙ2{ï½÷JÏTG%òã ƒʸqã–ø»á†ê­÷ÐCeܸqþi«¨J½þØo¿ýò‡?ü!cƌɌ32uêÔÜwß}9ï¼óJ묱Æùüç?¿ÒsÕQ©üxüñÇsØa‡•:í¸ã޹þúë5t‚f¤Rù4•ÊÅ¥ñŽ;îÈc=–9sæä׿þué ;wÎÁ¼ÒsMÏâTžþùÌž={‰u¾÷½ïeèСyã72{öì<÷Üs8p`ÆŸ$Yo½õrä‘G6ZÍ@ÓðQù±ÓN;•–§L™’ /¼0S§NÍ믿ž /¼°t]—.]Ò§OŸÊ 4 yý‘,j4û§?ý©4Þu×]³ñÆWº<  û¨üXc5òõ¯½4þýïŸW_}5S¦Lɯ~õ«Òå]»vÍöÛo_ù‚&ã£òcäÈ‘9âˆ#ò׿þ5ãÆËìÙ³3iÒ¤ 2$wß}wi½=öØ#íÚµk´ºêkH~,í<Óm·Ý¶´ÎþûïŸqãÆÕ;o hþ>*?®½öÚœzê©yä‘GòÖ[oeÞ¼yùïÿ›ÓN;-cÇŽ-­ç;.ðñóQù1oÞ¼{ì±¥†NíÚµËW\¡¡Ðàÿ¿|ØGåÇ;ìÍ7ß¼4>ÿüó3uêÔ¼òÊ+¹òÊ+K—qÄiß¾}å ¦YiUí`q'NÌÿøÇœsÎ9K½~çw®÷g€UÍ[l‘:”~eñÀ,]÷裦k×®©­­M¯^½–ºýå—_žË/¿<É¢¯/½ôÒ$‹~uíÞ{ïÍ5×\³ÔíZ´h‘3Î8#={ö,çá¨Rù4•Ê1cÆdôèÑËœ·}ûöúh}ôÑeî£W¯^õ~ˆøxhèû€û¨ü˜5kVn½õÖÜzë­ËÜÇÎ;ïœoûÛR/Ðt|T~<ûì³6lXiý9sæ,5+6ÝtÓÜu×]S4Ð$4äýËàÁƒKç}ØâçœÝwß}éÞ½{…+šŠÊ-Zä’K.É¡‡š &äž{îÉ=÷ÜSo;î¸c¾÷½ï5zí¬ú4u¢I¹è¢‹Ò§OŸÒ¯€Ì˜1#k­µVúõë—ƒ>8‡zhZ´hQí2 ëÔ©S®ºêª <8/¾øbÙº_qÅ6lXxàüïÿ+ýº|×®]³Í6ÛäðÃϦ›nZ–¹€ê¨T~Í_¥òã®»îÊwÞ™Ç{,o¾ùf¦L™’Ž;fã7Î;ìÃ;,]»v-Ë\@uxý%?€¢*™'Ÿ|r¶Új«\ýõyþùç3cÆŒtéÒ%;ì°C ”M6Ù¤lsMË1Ç“3fäÞ{ïÍ;3ÚÚÚ%Ö¹òÊ+sÝu×åŸÿügÞ|óÍ´lÙ2ŸúÔ§ò¥/})ßøÆ7Ò±cÇ*TT[Còãì³ÏÎöÛoŸ[n¹%£GÎ{ï½—–-[¦k×®ÙvÛm3pàÀe6¤š¯†äG’\wÝu¥åÏ~ö³Ùzë­«D ‰jH~´oß>×]w]n¸á†Ü~ûí?~|æÏŸŸnݺeçwÎÑGõÖ[¯ ÕÕôQùñùÏ>×_}î½÷ÞŒ5*&LÈ”)SÒ©S§ôìÙ3{î¹g>øà´iÓ¦JGTKCß¿|ØGåÇ·¾õ­l°Á¹ûî»3nܸL˜0!uuuéÒ¥Kúöí›}÷Ý7_úÒ—RSSS¥#ªÅë (ùÕüØh£ò·¿ý-¿ýíoóÀäÍ7ßL«V­òéO:ÿïÿý¿|ðÁ~ЋBjêêêêŠn<`À€$ÉСCËVÀª Òù7qâÄ̘1£AëöèÑ=C†LÌ^{5l}`ÕQéç·ü€æK~EÉ (ù%?€¢äP”üŠ’@Qò(J~EÉ (ù%?€¢äP”üŠZÑçw÷îÝ ÏÕ¢ð–”hêPš:”¦Ne ©@hêPš:”A«•Ùø?ÿùOÆŽ› 6Ø \õ@!ï¾ûnV[mµ´mÛ¶Ú¥ð1ñî»ïæÓŸþtµËšÕ.ÊaöìÙ™={vµËàc¬ÕÊlܳgÏôìÙ3C‡-W=PHMMMŽ:ê¨\|ñÅÕ.…‰T» ‰iQíšMXa“&ÍÉ!/å‰'&W»”•ÖœŽey&L˜¡C_Íe—½”!C^Êüù 3rä¤ òRÞygNi½ËíAõ4§ÇXs:–å‘4Íé1ÖœŽeyäMEszŒ5§cYùASÑœcÍéX–G~ÐT4§ÇXs:–å‘4Íé1ÖœŽeyäMEszŒ5§cYùASÑœcÍéX–G~ÐT4§ÇXs:–å‘4Íé1ÖœŽeyäMEszŒ5§cYùASÑœcÍéX–G~ÐT4§ÇXs:–å‘4Íé1ÖœŽeyäMEszŒ5§cYùÁGÑÔ €6qâì 2¦Y¼phNDz,O=59»ïþüèGÏæÒKÇdÈ1™?¿.=öN† “É“ç–ÖmηÇ[oÍÊ!/å©§Þ­v)kÍé1ÖœŽeYäÇ"ò£ihN±æt,Ë"?‘MCszŒ5§cYù±ˆühšÓc¬9˲ÈEäGÓМcÍéX–E~,"?š†æôkNDz,òcùÑ44§ÇXs:–e‘‹È¦¡9=ÆšÓ±,‹üXD~4 Íé1ÖœŽeYäÇ"ò£ihN±æt,Ë"?‘MCszŒ5§cYù±ˆüøÿعóøšîÄÿãïì»%"±•X+ö}« EKÇ”Ñ*ê×­VKMéÐi£´¾EK«ºLW]ÑVJ-{[‰­*±ÕRDK„H"¿?ŽÜæ’È=G¸7×ëùxxL{î9ŸÏ½ŸórçŸkp§5æNs)ý0Ð×àNkÌæRúa ®ÁÖ˜;Í¥ ôÃ@?\ƒ;­1wšKAè‡~\Ÿ·³(~""4th”Z¶ söPn˜;Í¥ S§îÒ… ÙºÿþŠªV-DžžòññP›6eåç祰0?gñ–8rÄøÁëå塿ÍË8{8·-wzæÜi.¡úáÜé™s§¹„~è‡kp§gÎæRúa ®Áž9wšKAè‡~¸wzæÜi.¡úáÜé™s§¹„~è‡kp§gÎæRúa ®Áž9wšKAè‡~¸wzæÜi.¡úáÜé™s§¹„~è‡kp§gÎæRúa ®Áž9wšKAè‡~¸wzæÜi.¡úáÜé™s§¹„~è‡kp§gÎæRúa ×ǦNÓÂÃý5thmg£H¸Ó\ ²oß9Õ¨¢©S[Ø¿ë®pÝuW¸“F…Û•;=sî4—‚иwzæÜi.¡p%îô̹Ó\ B?àJÜé™s§¹„~À•¸Ó3çNs)ý€+q§gÎæRúWâNÏœ;Í¥ ô®Äž9wšKAè\‰;=sî4—‚иwzæÜi.¡p%îô̹Ó\ B?àJÜé™s§¹„~À•¸Ó3çNs)ý€+q§gÎæRúWâNÏœ;Í¥ ôŽ`S'³nÝ:-Y²Dýû÷Wdd¤é÷/[¶LkÖ¬ÑÓO?­råÊýuë¤%K¤þý% kTË–IkÖHO?-±F‹­ãÇ/êÛoªe˰kvÈB~~^¶sÏkîÜÃj×.B•Ö† 'ôÛo©òóóT»vŠŒ Î÷ÚG^ЊÇtî\¦jÖ Qûöå´gÏY-]zT÷ß_Q5j„8«÷td>·ÒªUÉúõ×T>}IÆŽŸùéÛ7ReËúz=3óËÎÎQ\Ü íÚuF—/KÕª+::BÞÞ’ì?ㆠKkÆ%$œQP·úô‰4}¿ÒôÛo©:zô‚‚ƒ½Õ¨Q¨êÕ+e{}ãÆ“úá‡DIÒ/¿¤(;;ÇöZÞÿSàjß¡;¢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~¸6ur1ëÖ­ÓØ±cÕ¡CË›:Mœ8Q=zô`S'ÜëÖIcÇJ:XßÔiâD©G6u*Æ’“/hêÔ:4ÊîGá¢EèÅ·êܹL»ó7Õûï·TxøŸ?<¶m;¥çžÛ¨¤¤t»sË—ÐþÓÊözbbš¦NÝ©€/}øán-[vÔv®——‡Æo¢ž=+Û]ãûï5f̯ºté²Ýºu«¤©SwªV­¶…ùÍÅÊ=Ïõ¼ûî.åäzš$)0ÐKOÿ¼ªV ¶}ƾ¾š2e‡Ö¬9.Iª[·”úô‰tø~ééÙ8ð­_Ÿr͘۵‹Ðûï·P@€·ââN(6ÖøQ¸~}ŠÝù¹? ‹â;DáèýÈE?`ý ¹èÌ¢ô#ý€Yôƒ~ä¢0‹~Ð\ôfÑú‘‹~À,úA?rјE?èG.ú³èýÈE?`ý ¹èÌ¢ô#ý€Yôƒ~ä¢0‹~Ð\ôfÑú‘‹~À,úA?rÑ÷Á¦N.¦M›6zå•W,mèÜmÚH¯¼bmC'¸µ;ÏhذÊÊÊQýú¥Õ¬Y¨ÒÒ²µlÙmÝzJƒmÐ÷ß·—‡‡ôÇézì±u:{6S †ªaÃÒòõõT|üi­_Ÿ¢'ŸüEK—vVpðŸÿLM›¶WiiYêÞýED(!á§,œˆ IDAT´Ö®=®W^ùU;—WHˆ$é·ßR³UÙÙ9jÞSë×§¨^½RŠŠ*©°0?=›¥¸¸Zµ*Yï¿¿[#FÔU‹azè¡*ŠMT«VeÕ¢E˜å9¢èÑúA?`ý ôVÑúA?`ý ôVÑúA?`ý ôVÑúA?`ý ôVÑúA?`ý ôVÑúA?`ý ôVÑúA?`ý ôVÑúA?Š7÷Y1Õ¦MµiÓÆÙà ֦ñ¸Ê§Ÿþ®¬¬=öX ýûßõåáaÿ׿êªgÏÚºõ”Ö¯OQëÖeõñÇ{töl¦ÆŽm¨~ýªÙ]ç‹/öiܸß4oÞa=òÈŸ?b23/káÂŽªT)ÐvlÔ¨-ŠMÔÆ'uÏ=å$IŸ¾WÙÙ9zî¹( RÛvîСµÕ½ûJSsrôžV擟Áƒk›Úé³0íÚE¨]»}þù^•+`ÛÑ2WFF¶C? ÍÌïÃwÛ~HO˜ÐD>>ž¶s“’ÎËËËÓîý.diÞ¼»U­ZˆíØ+¯üêðý‚ƒ}4kV{…„øhóæ“:y2C>>^êÒ¥‚’’ÎëçŸiĈºjÞ¼Œ<<¤ØØDµn]VƒÝiyŽ(zôƒ~ÐXE?èý€Uôƒ~ÐXE?èý€Uôƒ~ÐXE?èý€Uôƒ~ÐXE?èý€Uôƒ~ÐXE?èý€Uôƒ~ÐXE?èý€Uôƒ~ÐXE?èý€Uôƒ~Ðâí¶ÙÔiÙ²eZ³fž~úi•.]ZóçÏ×Þ½{¡îÝ»+44ÔîüÙ³gë·ß~Ó¿þõ/æûÚ¨Q£äïïÍõK”(¡yóæ)11Q5kÖT÷îÝååe<¼GÕüùóuêÔ)5oÞ\;v´»öºuë´dÉõïß_‘‘‘v¯%&&jÙ²eJNNVhh¨:tè Úµíð¼ÒÓÓ5wî\%&&ªB… zàTªT©kÎ;yò¤/^¬?þøC!!!ªS§Ž¢££å‘[t\_JŠôÁR™2ÒàÁö¯]¼(Mž,yyI#FHÞ×yä–-“Ö¬‘ž~Z*]Zš?_Ú»WŠˆºw—®Z£š=[úí7é_ÿ’®Z£¶×F’®¬Q»ë—(!Í›'%&J5k׿²Fuô¨qïS§¤æÍ¥«Ö¨Ö­“–,‘ú÷—®Z£JL4lŒ·Cé:kTééÒܹÆû*Tx@ÊgêäIiñbé?¤©N):Zbº”Í›OÊËËCÇױûjJ—öÕÓOß©—^ڪ͛Oªuë²Z·.E^^:uê’Þ·rrrl?†ÎŸÏ’$mßž*éÏ€{ö¬l÷ãL’:t(§ØØD%'_°Ûº5UÞzöYûô+U ÒÃWÑ'Ÿüî𜽧•ùä'ïXWbf~ëן§§‡^}µ‘ÝBÉø®Ö½ûv?ÍÞÏÓSúì³½Z´è|Ç~âDF‘ÏE~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý °Š~ÐúQ¼ÝV›:Mœ8QMš4ÑÈ‘#µk×.ÛkeÊ”ÑòåËÕ°aCÛ±Ù³gkúôé]Æ ³ÛÔiâĉª_¿¾FŒ¡ƒÚÎoÓ¦–.]ªyóæ©ÿþÊÈøs>óÌ3úàƒl_·nÆŽ«:Ømêôïÿ[o¼ñ†²³³mÇ<<<4`À}ðÁòññ±ãï¿ÿ®=z(11Ñv,,,LsæÌQÛ¶mmÇ>þøc 6L.\°{ƒ ´dÉEDD\÷s…¤²eMŒÆŒ‘rr¤!Cþ|mÐ iÚ4飮¿¡“dl†4q¢Ô¤‰4r¤”gªLiùr)ÏÕìÙÒôéÆFRùmê4}º4l˜ý¦N'JõëLåY£jÓFZºÔØè©)ÏÕ3Ï›VåZ·N;ÖØ°)ï¦Nÿþ·ôÆRž5*iÀãýW­Qýþ»Ô£‡±¡S®°0iÎ)ÏÕÇó¸jªAcs)Ö¨Ë8{6Sááþò÷¿vÊÊ•gÎdJ’Nº¤ìì½óÎίwî\¦ÝßË—¸æœÜÝ.³²þÜóÌ™K*WÎ_^^×nú•ß’ëqôžV擟wßÝeû!R˜À@/=ñDMÇN¾Afæwúô%…‡û+(ȱŸ‘‘Á7t¿ÿüg-úC¡¡~ŠŽW¹ròõõ”‡‡‡¾ýö€.]ºìÐ8Šê;„5ôƒ~HôÖÐú!ÑXC?è‡D?` ý ý€5ôƒ~HôÖÐú!ÑXC?è‡D?` ý ý€5ôƒ~HôÖÐú!ÑXC?è‡D?` ý ý€5ôƒ~HôÖÐú!ÑXC?è‡D?гÛfS§\O=õ”¼½½5pà@kÑ¢EÚ±c‡¬Õ«WßðõŸ}öYéÙgŸ•———fÍš¥uëÖiÈ!š>}ºš6mªV­Zéĉš9s¦>üðC 8P5*ðšï¿ÿ¾Æ/uëÖMQQQ:xð ~üñG}úé§ ÓøñãíÞ3hÐ ùúújàÀò÷÷ײeË´cÇýíoÓ®]»T¦L?^Ï=÷œ.^¼¨®]»ª^½zºxñ¢âããµråJ¥¤¤°©“£¦L‘6o–†—š7—Zµ’>ýÔØÐéÿtüZO=el5p ,-Z$íØalÞTkTÏ>+ÿëå%ÍšelÔ4dˆ±TÓ¦ÆøOœfΔ>üÐËuÖ¨Þ_?ÞØÄ©[7)*ÊØ4êÇÏ!,Ìx=¯Aƒ$__ãÚþþƦS;vHû›±¡U™2ÒùóÒsÏI/J]»Jõêÿ/­\)¥¤°©“ )QÂGG^ÐÅ‹Ù×ü0ÿüóªU«–¦M›¦—_~Y¯½öšíÜvíÚé‰'žÐO?ýtÝM&L˜ Iúá‡ô·¿ýÍv|Æ ŠŽŽÖ;ï¼£—_~YAAî`W¾|y­^½Ú6Ÿ¬¬,õîÝ[³gÏÖ_|¡áÇ+--M/^ÔO<¡O>ùÄîžñññ*W®Ü }·__cs¤&M¤^½¤Ï>36IjÐ@úÏÌ]«zuiéRéÊÕøñÆuÖ®•Ξ•np**JZ¼Xº²FõüóR­ZÆT/¿,åY£j×Nzâ é§Ÿ®¿©Ó•5ª~06eʵaƒ-½óŽqíûl¯6m:¥&MJ+--KË—Ó©SjÔ¨´Zµ*+Izæ™ZZ´èˆ†ߤÏ?ß«† K+$ÄG))ڳ笶oOÕ´imT±b éqôï_C?ýô‡Þzk‡Ö¬9® J+5õ’/þ#Ïy9¨¨æ3dHí"WQ13¿§žª¥ ’4{ö!ÅÅTëÖa*YÒWû÷§iÕªcúì³6…þ(4s¿ÆCµ}{ªþú×åêÔ©‚$ióæ“JH8m÷ƒP’î¸#Hžžš5+QYY9*]ÚháСµoêšDáèý °Š~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý °Š~Ðú«èý ÅÛm·©Ów\»{Wpp°$)33ó†¯_©R¥kŽ©téÒ ºæ¸$¥§§x½ÔÔTIRµjÕò}½zõê’¤S§NÙ¯Zµê5çæ˽¦$-Z´Ho½õ–bbb” J•*©}ûözæ™gÔ¢E‹Ç…DGKUªHH=zH5j˜¿F>kTWÖ¨Š`*Ÿ5ª  ©tiã¯>.I×Y£Ê]O¬Q]Y£ºj*Ÿ5j;–gjÑ"é­·¤˜)!ÁûöÒ3ÏH¬Q—R§NIM™ÒB/¾¸EÛ¶Ò¶m~ç‡êý÷[Êãʦ•*éë¯ÛjøðMŠ?­øøÓv׊Š*iù߆ KkìØ†zõÕßwBqq'$I•ÖÝw—×ÛoïP``Ñþów3çã Ì̯rå M›ÖFÏ?¿IIIç5kÖù<× T… …fî7thmýòKŠ~ÿý¬>ÿ|¯$ÉÛÛC¯½ÖX3fìWRÒŸý*UÊW={VVll¢¾þz¿íøÐ¡µÝþ;tuôÃ}×ý(þß¡«£î»öèGñÿ]ýpßµG?Šÿwèêè‡û®=úQü¿CWG?ÜwíÑâÿº:úá¾k~ÿïÐÕÑ÷]{ô£ø‡®Ž~¸ïÚ£Åÿ;tuôÃ}×ý(þß¡«£î»öèGñÿ]ýpßµG?Šÿwèêè‡û®=úQü¿CWG?ÜwíÑâÿº:úá¾k~ÿïÐÕÑ÷]{ô£ø‡Ž¸í6urT` ñŧ¥¥),,ÌîµC‡ݲq”.]Z’´ÿþ|_ß·oŸ$)44ÔîøÔºuëkŽå½¦dlh5zôh=ZÚ¾}»>þøcµjÕJ ,Ðý÷ß_ds¹-<û¬±¡SõêÒW_I>(ýõ¯7ç^WÖ¨ÒÒ¤«Ö¨náUîz*`êÊÕUkTHW­Q]Y£Ê³F,müÉȶo—>þXjÕJZ°@b:EDD€†RË–ök¯K— jÓ¦¬V­JVRRº|}=U¿~i5o^æškÔ©SRÿýoGmÙrRññ§uáB¶Ê• Ðw–PTTIÛyUªkèÐ(5n|í5r_kР”Ýñ¾}«ª}û­XqLiiYªY3DíÛ—ÓèÑ¿J’ÝN“ùÍÅÊ=3<õTM…†ú_s¼M›²òóóRX˜ŸíXAß­™ù5mZFË—ß«_~IÑîÝgäåå©jÕ‚Õ¶m¸¼¼Œÿgp½ÏØÌýJ•òÕüù÷èçŸêàÁ4•(á«víÂU¡B ._ÎÑÙ³—ì®;~|=ðÀÚ±ã´ÒÓ³$yXš#¬£ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~À*úA?謢ôƒ~¸œœœ«oîÕ«—$iÖ¬YE6 ›eÔ¨Qš8q¢¶nݪFåûÚöíÛU¯^=IÒ¸qã£÷Þ{Oƒ ²»téRuéÒE—/_VjjªJ•*Uèõ›5k¦ƒêĉvÇOœ8¡²e˪_¿~úæ›o$I“&MÒ /¼ +V¨C‡’¤;î¸CIIIš;w®xàÛû7mÚ¤»îºK^^^JIIQPPm 4К5k"IÊÊÊRïÞ½5{ölMš4IÇ×Ñ£G•””¤æÍ›Ûkÿþýª^½ºz÷î­o¿ýÖêG~Kyxxhذazûí·7ˆO>‘”{LzóM©IéìYiË©jÕÂß?j”4q¢´u«tÕ²½¶}»tejÜ8)&Fzï=)ÏÕÒ¥R—.ÒåËRjªte^÷úÍšIJW­Q8!•-+õë']Y£š4IzáiÅ éÊÕwHIIÒܹRž5ªM›¤»î’¼¼¤”)(èÏq4h ­Y#]Y£ÊÊ’z÷–fÏ6î1|¸tô¨qݫ֨öï76ÎêÝ[rÒ½ÙýKNNVZZšCçÖ¨Q]S§&ëþû;ÿvZuë–²í,š{ìá‡ÿ§à`ýòKWÛÀ•Ýìç›~\‹~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]Ð[~À]˜}¾«W¯nù^Þ–ßéæºuë¦Ñ£Gë¹çžÓêÕ«U¥JíÚµK ,Pxx¸Ž;vËÆ2jÔ( Ǹ8éª5ªvíŒM­€|Ô¯_J+WSbây»ã>XEO?}§“F 8 ¬¢¬¢¬¢¬¢¬¢¬¢¬¢¬¢¬¢¬¢¬¢¬¢¬¢¬¢€y·Í¦N:u’¿¿¿Ê•+WàkááávǧL™¢>}úhõêÕòööÖ=÷Ü£† jöìÙªQ£†üýýºþÀuúôékŽê•W^Qƒ lDz²²$I^^^vçŽ?^O=õ”–-[¦ääd…††êî»ïVíÚµóK»ví´cÇÍ›7O‰‰‰ªX±¢xà•*UÊvnåÊ•µaÃíØ±C›6mÒ‘#G¦fÍš©Q£F×û8‘×Ö­Òßÿ.uè Õ¨aÿÚ³Ïÿ›’"%'K_§S'Éß_Êg Ù^»jjÊ©OiõjÉÛ[ºç©aCiölc,yÖèu¯?p ±9ÕÕ¥W^‘ò¬Q]Y£ºjjüxé©§¤eËŒ¹††Jwß-]µFmãh×NÚ±Cš7OJL”*V”x@ʳFU¹²´aƒqÞ¦MÒ‘#ÆÆOÍš›Z:4J={VÑæÍ'uôhºBB|Õ¢EÕ¬YÂÙCàâè«è«è«è«è«è«è«è«è«è«è«è«è«è«è`Þmµ©S§NL¿ÖªU+µjÕÊîXÏž=Õ³gO‡¯1pàÀ|j̘1vÇöïß/I ½æüÈÈH=ñÄù^« q<òÈ#×=_’êÔ©£:uêz p÷ÝÆŸ‚änìT˜NŒ?f_kÕÊø“WÏžÆG¯QÀU` tÕÕ•5ª|Ö¨"#¥BÖè5ãp`ªNã`B¥JªT)ÐÙÃP ÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑÀœÛfS'W·`ÁÍ;W_}õ•J–,©Zµj9{H€½ ¤¹s¥¯¾’J–”X£`‡M\Ä‚ ôé§ŸÊÓÓS¯¿þº|||œ=$ÀÞ‚Ò§ŸJžžÒë¯K¬Q°Ã¦N.¢[·nª[·®Ú¶m«Æ;{8Àµºu“êÖ•Ú¶•X£p 6urݺusö€ëcÀuy:{î€MŠ›:ogàVØ“²G?ïýYë­×¥¬Ky÷H5¬ÐÐÙÃP ÐVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑëcS'€[Ù²[c—ŒÕà Vz=œ=¸ˆîŸwWBr‚ݱ3Ï8i4pUôù¡pý@~èA?úGÐä‡~Àôù¡pý@~èA?úGÐä‡~Àôù¡pý@~èA?úGÐä‡~Àôù¡pý@~èA?úQ¸ÚÔéäÉ“JJJÒ?ÿùÏ¢`Ù²eËX‹¸e¶mÛ¦J•*9{ÈǹŒsŠ;§»ªÞåì¡À…?\5ÃjªcÍŽÚu|—Vî[éì!ÁÑä‡~Àôù¡pý@~èA?úGÐä‡~Àôù¡pý@~èA?úGÐä‡~Àôù¡pý@~èA?úGÐä‡~Àôù¡pý@~èGánhS§ßÿ]IIIš2eJQ°,>>^ñññÎn#.\pö8hnÿ¹ —$Y2ƹƒP¬ÐVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑVÑÂÝЦN­Zµ’$Íš5«HXåáá¡aÆéí·ßvöPp›èÕ«—³‡àS5'~ŽvߥË9—U­L5õjÐKÕËT—$m;²MWLÔß›ý]Íïh®o¶|£„c ׸.ã$INÐÛО”=ʺœ¥ª¡UõPý‡ew¯ôÌtÍß1_¿þñ«Žž;ª`ß`5®ØX5xH%ýKJ’~ŒÿQŸÅ}&Išµm–ÖXk{ÿŒ~3lÿíè=w8N v,ÐáÓ‡åëå«úåë«O£> ³“÷³hU¹•¾Úü•~;ú›ü¼ýtwõ»õ`ýåááqKîߤb}µù+íLÞ©@ß@uªÙIÔy ßû;òYÝ̹•Ü„pôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý îà†6uܾ¾Ùò^[úš²s²mÇ~Þû³>ßø¹¾ô{5,ßPg.žQÜá85¨Ð@¯.}UÇÓŽK’êDÔ‘$ÍØ:–ƒ«H IDATCc—Œµ»Æªý«ôÍ–oô]þO5xH’túÂiµÿO{¿tÞn ‹v/ÒgqŸéûG¿W¥’•ôÇÙ?´óøNIRÒ™$%IºfÜŽÞÓQ¯/]Ó6N³;¶|ïr}¾ñs}Òë5©ØD’lŸE“JM4áç vc[¼{±âÅk̽cLÝÛÊýë—¯o÷]HÒÂ] µì÷ešÚ}ªÝ7G?«¢œÛ£3UöåìÂO”T* ”>èùCçµÐý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~¸ 6u˜¶áÐ]:V’Ô-ª›:Tï ’þ%µïä>Íúm–Ò2ÒìÎÿbãªZUCÛUåR•U¿„¶ü±Ec–ŒQ o iüˆ–o(_/_Å‹×ç›>WÌ⵪ÒJ•JVRfv¦|¼|4 ÅÕ‰¨£2et6ã¬6$nÐÌ_gjêš©zã/o¨GÝ ñ Ñ«K_U¯†½Ô£n»q˜¹§#–ìY¢i§ÉÛÓ[ÿhöµ¨ÜBç.žSìöX­O\¯ÁskÅÓ+äçíg{ϧ>UͰšz½ë늉P±}°îMß:][ T…þ¬ÜÿËM_ªjhU ‹¦²Ae•œ O6|¢…»*¶Z¬z5èeù³*йÅŽsøGaÞLQ|Ðý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~¸6u˜öùÆÏ•““£—;½¬þÍúÛŽß]ãn=Öü1edgØ®Ùÿ˜­ŸÛ±ÁsërÎeM{xšm7ÊÜk4ªØH}÷˜æï˜¯gZ?£Ò¥µpÀB-ù}‰þ·ÿ:yþ¤2³3%I¾^¾Útx“$©bÉŠ¶]D+•¬¤–•[ÚcZÜ4‡ïéˆoýV’4áþ êQïÏ Ýëv×ß¿ý»~IüEË÷.×ýµï·½©Ø¿ÇÚ~¨µ¯Ö^™—3õîšwõë‘_Mý(´rÿ²Áeí¾‹»kÜ­f•šéÿÍüúî×ïl? ­|VE1·¯û~­œœ‡æïãåãÐyp-ôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý î„M¦m?º]~Þ~z´É£×¼æåé¥@Ï@»c]îìb÷ƒP’¶Ý&//MY=E’”““£?²²³$IûNî“$¥¤¥¨ïô¾J:“”ïxÎeœshÜfîéˆ]Çw)À'@Ýëv·;îáá¡>úè—Ä_´3y§Ý².wv±ÛyS’ê•«'IJMOuøÞVïíû¯ù.rwìܲÛvÌÊgUskqG ‡ÎCñE? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0ÐúáNØÔ `ZFv†Jú—”—§—Cç—/Qþšcé—Ò•“­u×ø¾‹™%IS×NUÒ™$µ®ÒZÔ}@Áòõò•‡‡‡Fýw”Ã? ÍÜÓY*áWB×¼VÒ¿¤íœüŽçåãiìXy9ç²Ã÷¶zÿþ%ò½V©€R:röˆíïV>«¢˜Û£3Uöål‡Î-PJôüÀ¡sá:è‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?Ü ›:L+_¢¼v&ïÔáÓ‡uG©;,_ãRö%}ôàGþ¸ •$m;²M¥JéË>_ÊÓÃÓözzfºRÒRäïão;æ!ãRNNÎ ÝÓáÁáÚ{r¯’Ó’a÷ÚöcÛ%I!ù½µHX¹±„k®sþÒyí?¹_áÁá¶cEýY9*îpœÃ? Šüþ¸ùè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?Ü ›:Ý$“&MÒ /¼ +V¨C‡ÎÎ q§¹Ü.&-ž¤b_Њ+ÔáÎÎÎ q§¹¸“N5;igòN ;T“»MVµ2Õ$»9.ر@µÊÖRíðÚ׽ƽµîÕÔ5Sµh÷" o?Ün—Èsç4'~ŽšUj&ÉØArÿÉýÚ}|·¢"¢$I©Rõâ_ÔŬ‹v? }%I‡Nº¡{:"ºj´~?ñ»þµà_šÒ}ŠJ”–$m<¼Q­ÿÈvÎÍbåþK_ª¶ÿ ë?(IºyA/-|Ié™éúK¿ØÎ+êÏÊQ_÷ý:ßôùññò)òûãæ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èýp'lêIÒ¸qã£Õ«W«mÛ¶În3ã~§˜c´zäjµ­Áú+4 Ÿvþ¤íG·«Ë§]T©d%• (©§(-#M_öù²Ðk<Ñò -ý}©fl¡ï·}¯ÈÐH…ø…(%-EGÏUöålM{xš$©cŽÚxx£ºÑ]w–½S’tàÔø¨bÉŠ:é¼íºUËTU€O€foŸ­øcñ*å_J’4£ß S÷tÄ“-ŸÔ¼ó´öàZE¿­jeª)-#M‡ÏVNNŽz5ì¥Zek™ùhM±rÿ¨ð(üi¤Þúß[  ·}g>z¦õ3¶óŠú³rT‹;Zù5%éƒuhÍ5’¤ƒ©%IWLÔ‡¿|(IÖnØM»7ìÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~¸OgÀ]1B999êСƒ³‡rÃÜi.·‹÷PÎ'9êpgg冹Ó\ÜI°_°¾í÷­¨û€<ä¡C§iûÑíºyAÝëvWTxT¡×ô ÔÌGfª_“~òñòÑÞ{µõ­J:“¤¿õoÖ_uËÕ•$=Öâ1õnØ[9ÊÑÎã;µóøNU(YAÓžfÛÝ2—¿·¿þ}Ï¿åçí§=){w8Nq‡ãLßÓeƒËjf¿™jqG ]̺¨É;tèô!ù{ûëéÖOk\—q&>Uó¬Üÿoõþ¦Áw Vê…Tm?º]iiŠ,©/û|©Ê¥*ÛÎ+êÏÊÙöÜg[ ÇÓŽK’v§ì¶;•~ÊÉ#¼}Ðý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~À<úa ôæÑý 0~èý€yôÃ@?èÌ£úA?`ý0Ðúóè‡~ИG? ôƒ~¸œœœ«oîÕ«—$iÖ¬YE6 8Ǹqã£Õ«W«mÛ¶ÎŽi6l˜Þ~ûmgŒûiœb~ŒÑê‘«Õ¶FñX7»ÉÉÉJKKsèÜ5ªkêÔdÝ¿cçµôÌtí;±O^ž^Š T O íµÓNkwÊnU)]EåBÊxÌìLí;¹O2/¨\H9E„DÈÓãÚ}O_8­ÄÔD•ð/¡ª¡U%IñÇâ•‘•¡¦•šæ;® Y”““£–•[Zº§£RÒR”t&I¾Þ¾ªQ¦†ü¼ý®{AŸEîk‘¡‘Šޏ)÷_µ•ÿþq½Ôñ%=Öü1½xVNP o j”©!¯]Øgu³çVöܧçOøzÍ°š ½…#rÌÍ~¾éýpäþôƒ~8ãú…¡úA?núA?rÇN?è‡Yôƒ~äŽ~гèýÈ;ý fÑú‘;vúA?Ì¢ô#wìôƒ~˜E?èGîØéý0‹~ÐܱÓúaý ¹c§ôÃ,úA?rÇN?è‡Yôƒ~äŽ~гèýÈ;ý fÑú‘;vúA?Ì¢ô#wìôƒ~˜eöù®^½ºå{¹Ä¦N;vìШQ£ô¿ÿýO999ŠŽŽÖäÉ“5aÂ}ùå—JIIQXX˜íüsçÎéÍ7ßTll¬8 5kÖL/¾ø¢:wîl;oÔ¨Qš8q¢¶nݪmÛ¶éÍ7ßÔÞ½{¡Ç\111òô´€•kÇÅÅéÝwßÕž={4dÈMš4I“&MÒ /¼ +V¨C‡¶÷¥¥¥iòäÉúᇴoß>ªI“&zá…Ô©S§B?«Ã‡ëÕW_Õ¢E‹”œœ¬ÐÐPÝsÏ==z´j×®ïøÖ®]«©S§*11Q*TÐã?®Q£FÉÛÛ[’Ô©S'-_¾üš{µoß^+W®,p.VÆâè÷`Ölê´ãÈš=JÿÛseýÕŒÖä‡'k úrÝ—Jy;EaÁyÖßÅszsñ›ŠÝ«'ÈÇËGÍ"›éÅ®/ªs®˜n1×üdåÚqâôîÏïjOò ¹gˆ&õš¤I‹'é…Ø´bÄ u¸³ƒí}iiš¼d²~Øüƒö¥ìS o šTi¢î{A¢X§ëÕ¯jQü"%ŸMVhP¨î©}Fÿu´j—ËóçßÚ½k5uùT%žLT…RôxÛÇ5ªë(y{^YouÒòù¬¿Zíµò…•ÎÅÊXýÁ¦N(n®þQˆâÁÝÿO%ŠúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ѸúQ<ÝÊM¼-¿³ˆìÚµKmÚ´Ñ™3glÇþûßÿjÆ jÚ´é5秦¦*::Z ¶c/^ÔŠ+´råJ}ýõ×êׯŸÝ{Þ}÷]M›6Íö÷C‡i̘1º|ù²ÆŽ{C×~ã74sæLÛß/_¾\à\Ož<©èèhíܹÓv,==]K–,Ñ’%K”™™iÛh)?P«V­tüøqÛ±äädÍœ9S ,ÐÏ?ÿ¬fÍšÙ½gâĉúöÛoí®£Ý»wë믿.ð^…±2G¿‡[i×±]j3¡Î\ȳþ¶ÿWlPÓ*ù¬¿ôTEOŒV‘uHcæÑåœËûÀغö‹ÞÐ̸<ë/ç:ë/í¤¢ßˆÖΣyÖߥt-IX¢% K”ùQ¦m£¥ü8q@­^o¥ãçò|çg“53n¦ü¶@?ÿYÍ"¯Z 'êÛßÚ]#æÇí>¶[_¸õga,Ž~@bj¢^üï‹…ž×ìŽfz¾ÝónwÖ9ûùuöýXçìç×Ù÷`³Ÿ_g߀uÎ~~}Ö9ûùuöýXçìç×Ù÷`³Ÿ_g߀uÎ~~}Ö9ûùuöýXçìç×Ù÷`³Ÿ_g߀uÎ~~}Ö9ûùuöýXçìç×Ù÷`³Ÿ_gß·/§oê4|øp9sFùË_4aÂU«VM»wïÖðáõdÉ’kÎ1b„Ô³gO½øâ‹ŠŠŠRFF†–,Y¢gŸ}VC† Q=d{ÏŒ34uêT=ôÐC Ö¼yóÔ¿½÷Þ{3fŒ<<<,_û‡~ÐäɓջwoU¬Xñºs6l˜vîÜ©úõëküøñjÑ¢…¼¼¼´yófMœ8Ñ6Ž‚<÷Üs:~ü¸Úµk§·ÞzKQQQ:xð bbb4{öl=ùä“Úºu«Ý{rÇ×·o_ùûûkÑ¢E+Ÿ+ë¯rcÍyvŽjü»†N¤åYYš¹a¦êV¨«Ø§ó¬¿ õiÞG§ÎŸÒ éƒ´ú÷ÕêR/Ïúë6ZCîÉ3ï–ýôãÖ»9V‡S«rheË×þg§êùά¿Ì šµi–BƒBµôù¥Š(‘gýÕé¬Îu YçµpûB…‡„kþàù*på;¯PGß=õm¤_ÿª=É{T+"Ïúë4Ìn|}[ôUöål=úÙ£ŠÝ«ŽQ֟ű8ò=’T¥tMdz¡ç•(]¬îß |Mdºª”®buh A?XE?XE?XE?XE?XE?XE?XE?XE?XE?XE?XE?XE?XE?XE?p»rê¦NTvv¶ÚµkgÛÐ)WÉ’%ÕªU+-X°Àvlÿþýºpá‚vìØ!IRNNŽrrrlÿ-I‡²»V‡®¹wµjÕ$Içλ¡k¶S®(##C]»vµÛÐÉQTVV–¢££m›(åòööÖ}÷ݧ„„íÝ»×n#¥ûî»ïškånJµwï^Ó㸑±8ò=ÜJOTöålµ«Õζ¡S®’%ÕªZ+-ø-ÏúKÙ¯ ™´ãèùè¡-‡¶(ýRºvÝ©¾ŸôUüñjtG#ÕŠ¸jý-›¢·–¾¥cgŽ)5=U3ãfê¹o¯¬¿¦yÖ_Еõ—°Xé— YÇ7›·³0yòd­]»VóæÍÓ¼yólÇË”)£Ž;jùòåòññ±ûí·µmÛ6Íœ9S3gÎÌ÷š999–Ær3¯{ý¸¸8mÛ¶M÷ß¿ékO™2E6lЊ+Ô´iS»×‚ƒƒõÉ'Ÿ\óžž={jøðá>|¸Ýñ~ýú©cÇŽ¶¿·oß^š0a‚&L˜`;¶råÊ"‹+šüðd­Ý·Vó¶ÍÓ¼myÖ_puŒê¨å;—ËÇ+Ïúëý¶¶Þ¦™q353®ˆ×ßM¼vîõãÄiÛámºÿ|ÖŸ Y½§hÃþ Z±k…š¾vÕwî¬OþžÏúkÒSÿ®áß_µþZöSǨ<ë¯Ö•õ·p‚&,œ`;¶ò…•E6¸Ù<=€¨¨(­]»VݺuSHHˆBBBÔµkW­Y³FYYYòööVHHˆíüÒ¥Kë—_~Ño¼¡¦M›*88XªS§Žž|òImذAþþþ–Ær3¯-IaaaŠ‹‹ÓK/½¤ÚµkËÏÏOáááêÒ¥‹–-[&oïëï±U­Z5mÚ´I PÅŠåíí­ððpõéÓG7nT³fÍ®yϨQ£ôÎ;ï¨fÍšòõõUÕªUõÚk¯é‹/¾°;/**JŸ}ö™êÔ©#__ßBçbe,®(ª|”ÖŽ\«n º)Ä?D!þ!êZ¯«ÖŒ\£¬ì,y{z+Ä?Ïú ,­_^üEo<ô†šViª`¿`úªN…:z2úImø÷ùûX\7ñÚ’¦¸—âôÒ_^Rírµåçí§ðpu©×EËž_&oÏBÖ_ÙjÚôò& h;@KU”·§·ÂCÂÕ§ym|y£šEæ³þºŽÒ;}ÞQÍðšòõöUÕ°ªz­Çkúâñ/ì΋*¥Ïþñ™êT¨#_oÖŸ…±þ?;÷U•ðqü7“ @:D@ÄiRDŠˆH³‚¨«h°—U_ÁUAWW@A,T)Jˆt1tDJ^ɼd' 3‡$7¾ŸçÙç{oÎ=ç’ûõî?´¼wq)$ 4Ðìٳݎ¥¥¥iÕªUŠ‹‹“Ýî¾÷Thh¨ž|òI=ùä“yŽ;bÄ1§sù1¶$=ñÄzâ‰'<Ž—.]Z/¿ü²^~ùå<ÇÏMÕªUõá‡úô3‰‰‰JLL¼èu Ѐ<Žç¶oçbòïP˜Tn Ùÿí÷ïpšVí\¥¸Šq²Ûþöûª';>©';^äw¤çè™Ëºs9—cKÒŸÐsøý +­—»¿¬—»þþEUÕ‡wùøû×>Q‰í½øýk1@Zäðû—ËZ¼‹É¿˜°_ü’‚×£G-X°@Б#G´páBuíÚU§NR¯^½¬žйc{hÁ†:pü€Žœ:¢…›ªëÛ]u*: Þ IDATó”z]ÍïÀ;EbS§ ¨cÇŽ*_¾¼"##Õ¡C­[·NõêÕÓc=fõôPÌ-ظ@GvTùÇÊ+rH¤:ü·ƒÖ¥®S½+êé±øýrsæÜ½–üšÚ¼ÛFu_¯«Ú#jëÔÙS>‘²7EµGÔÖèŸFçy @ñB?˜¢LѦèSô€)úÀý`Š~0E?˜¢LѦèSô€)úÀýŠ—"±©ÓÌ™3uã7ªråÊ V5”˜˜¨Ÿ~úIáááVOÅÜÌÁ3uãU7ªr™Ê  V²5”Ø>Q?=ý“ÂCøýr3nù8}°â¥M“#Ëaõt Ôê´Õª=¢¶Æ,cõT€b~0E?˜¢LѦèSô€)úÀý`Š~0E?˜¢LѦèSô€)ú/VO@’Ú·o¯öíÛ[=beĈ1b„ÕÓð íãÚ«}¿ùiDÏѓ߿ânáo ¡iwNSLTŒì¶"±O ?@?˜¢LѦèSô€)úÀý`Š~0E?˜¢LѦèSô€)úÀýŠ—"±©Àÿì=¶W5ËÖT­²µ¬ž ?C?˜¢LѦèSô€)úÀý`Š~0E?˜¢LѦèSô€)úÀýŠ6uøäå…/kâꉒ¤#GT{DmIR¿„~úwÇK’V¥®Ò”_¦è—?~ÑÞã{®„Ê º¿ÙýººÊÕF÷=}î´Þ_þ¾¾ÞôµR¤*80X ¯h¨ûšÝ§V1­Ü®u:š¾~º¦ý:M›Ó7Ë‘åP­èZêßW½®ê¥[€×ó³tŒÞúñ-IÒ[?¾åú³$m{f›ë~Ó~¦Ïý\[Ò·Èát(&*F}ãûê¶„Ûd³ÙŒÖ|©~Üñ£~>PϵN •ôzòëJÙ—¢Àµ­ÕVϵNeÂʸýŒ·ÏÙdì¢úœPxèý0»¨>'úA?LÇ.ªÏ …‡~ÐÓ±‹êsBá¡ôÃtì¢úœPxèý0»¨>'úA?LÇ.ªÏ …‡~ÐÓ±‹êsBá¡ôÃtì¢úœPxèý0»¨>'úA?LÇ.ªÏ …‡~ÐÓ±‹êsBá¡ôÃtì¢úœPxèý0»¨>'úA?LÇ.ªÏ …‡~ÐÓ±‹êsB66uä«'¨ß§ýÜŽÎ8¬ï·}¯EÛé“þŸèšª×ø4æYÇYÝ5õ.ýœö³ëX¦#SËv-ÓòÝË5ì†aêŸÐ_Rö‡Ç#³Ñ×›¾v#eoŠRö¦¨Jé*jQ£E¾ÍÓétê‰9Oh憙nÇ7§oÖÐCµiÿ&½Òù•‹ŽS÷õºrd9.z$E—ŒÖò‡—{u­$¥ìKÑ~ø2™’¤Œ³š±~†ÒަiÊmS\×ùòœ};¿žŠ7ú‘~ÐøŽ~d£ô¾£Ùèý€ïèG6úA?à;ú‘~ÐøŽ~d£ô¾£Ùèý€ïèG6úA?à;ú‘~ÐøŽ~d£ô¾£Ùèý€ïèG6úA?à;ú‘~ÐøŽ~d£ô¾£Ùèýð7lêðÉó×?¯ç¯^ o%¨fTM}y×—nçm6›ZÆ´ÔWß©++\©è’Ñ:zú¨Vî^©§¾~Jã–óù£pÒšIú9ígU*UICoªTý‡ŽŸ9®/~ýBï,yG¯|÷Š:ÄvP¹ðrš–2M_oúZeÂÊèñÖ«M­6*VFÛþܦ)¿LQP@OóÜ|°šVkª¾ŸôÕ£­ÕàæƒÝæ6sÃLÍÜ0SuËÕÕSmŸR£Š¢õûÖ륅/é³uŸ©×U½”P9áÒü%˜µa–ú'ô×=ÿ¸G"*hþ ztÖ£Z•ºJ›öoR\…8I¾=g_Çö‡ç„‚G?èý€)úA?èLÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô¦èý 0E?èý€)úA?èLÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô£xbS'@¾Š.­'®{Bï-OÏÏ{^O”Ãù×–[lñyÌo6}#IÝ}´â+ÅK’ÂC•Ø2Qé'Ò5õ—©únÛwêßWÓS¦K’FÝ>¯Ù ¾özý÷¦ÿª^ùz Uùðòê—ÐO“úMRp@°Ñ˜AAú¸ßÇJl™¨šek*( H%ƒKªYõfJê¤þ ý]×Úmv½Ýým½ÒùÅWŠWXP˜ÂCÂÕ¨R# ï2\ͪ7óyžöé1FMª4QXP˜Û9›Í¦×n|M£»V‹-T:´´‚‚TµLUu¨ÓAïöxW-bZ­»°ùòœ}Uœž ýðß÷‚~ÀjôÃß ú«Ñÿ}/è¬F?ü÷½ °ýðß÷‚~ÀjôÃß ú«Ñÿ}/è¬F?ü÷½ °ýðß÷‚~ÀjôÃß ú«Ñÿ}/è¬F?ü÷½ °ýðß÷‚~ÀjôÃß ú«Ñÿ}/èÇåÍæt:¦?|ë­·J’¾øâ‹|›`Âf³é‘GÑ[o½eõTp™(èþíß¿_'NœðêÚÚµkiôèýêÒÅ»ëø‚~¿éP|ѦèSô€)úÀý`Š~0E?˜¢LѦèSô€)úÀý`Š~0åëû]«V-ã{Ù.lê uS§Î;ë‘G)Ì[˜â´þ¸þοÔ#|oõ4òEqZ‹‰Ë}ýЦÀ¼ÙâÅ‹•‘‘Q˜·,0Åi-¹iß¾½âããõæ›ozœóÇõ/^œ¦ŒŒsVO#_§µä¦}ûÏ_^o¾ÙÆãÜå°~þ§P7uš;w®""" ó–¦8­%7‹-’ÍfËñœ?®îÜžŠˆ¶zù¢8­%7‹¥*—_¿ËbýüO¡nêÔªU«Â¼]*Nk1áëoÕªŠÕSÈ7Åi-&.÷õ(š uS§Î;«nݺ9r¤ÛñmÛ¶iüøñZ¿~½‡êÕ«§»îºK5òãðáÃJJJÒ²eËtìØ1U®\Y={öT×®]]×dffê†nPË–-5lØ0}øá‡š?¾Îœ9£k¯½V‰‰‰*Uª”ÇØ+V¬Ðøñãµk×.U©RE÷Þ{¯jÔ¨¡¾}ûê–[nÑ!Cr]‹é=½YÏÅxóü.œß /¼ qãÆ)99Y‡C-[¶ÔàÁƒ.IJIIÑÃ?,‡Ã¡ŸþYmÚ´q3räHÅÇÇ_Ò¿¥é³ºT;©ºu#5rd»¿ÍùˆÆOÑúõÊáÈR½zQºë®jÔ¨œÇ‡ŸVRÒz-[¶GÇŽQåÊêÙ3V]»Öº`}ÝpÃ4µlYYƵЇþªùówê̇®½¶’«T©`±W¬Ø«ñãS´k×1U©¡{ï½J5j”Rß¾stË-±2¤q®k1½§7ë¹ožß…ó{á…k5nÜ:%'ï–ÃáTË–•5xp‚ÂÃ$I))êᇿ“ÃáÔÏ?ïW›6Ÿ¹Æ9²­âãË_Ò¿¥é³€‹)ÔM/^¬ŒŒ ·c_|ñ…n¿ýveffºŽÍ;W£FÒ¨Q£ôÐC¹Ž/[¶LݺuÓŸþé6ÆÄ‰5pà@?^’”••¥E‹©T©RêÞ½»æÌ™ãºö›o¾ÑŒ3´lÙ2ÿµqKRR’ $§Óé:öÑGiøðáZ´h‘4hçZLîéízòâíó;?¿ˆˆuêÔI?üðƒëú9sæhâĉZ¼x±¢££uôèQ-Z´H’täÈןÏÿ=§õ›ÌÅ—g•/NSFƹ¿Íy‹n¿ýef:.˜óï5jFj§‡Jp_¶lºu›¡?ÿt_÷ĉë5p`CßñësjÑ¢T•*¬îݿҜ9Û/Xß͘ñ›–-ë¯àà×ñ¤¤ 4_üúé£ÖkøðÖZ´(U D繓{z»ž¼xûüÎÏ/""X:MÓ?¤º®Ÿ3g»&N\¯Å‹û)::LGžÑ¢EÙçùëÏçÿžÓúMæâ˳oØ­¼ùü¡»îºK™™™êÙ³§¦L™¢/¿üÒµ¹Ò!C´víZIÒ±cÇÔ½{w*Ijذ¡’““e·ÛÕ¸qc%''»þŸosñöY”?þ8¡»îš«ÌL‡zö¬£)SºêË/oÖ A ÿ7çïµvmº$騱Luïþ•ÌÐw\©)SºjÞ¼^3æzÕ©©¤¤Mž¼éoëû]«VíÕë¯_§¯¿î¡÷ß¿AÕ«—Òš5ûõùç[\×íÞ}L>¸PN§t×]õ5mZ7MÚU½zÕÕsÏ-öiMÞÞÓd=—òüΛ?ÿwýúë½öZkÍ™ÓCï¾ÛA5k–ÖæÍ‡ôè£É’¤† £•œÜGv»MWPrr×ÿâãËçÛ\¼}Và­@+oþÉ'Ÿ(##CÔøñã]Ç{ô衪U«êÅ_Ô| ±cÇjÒ¤IJOO׫¯¾ªgŸ}ÖmœÞ½{+&&F'NTÿþý]Çõã?ªN:®cµk×V»ví´téRÝ~ûí’¤O?ýTgΜÑc=¦7ß|ÓumŸ>}tÏ=÷())Éë5y{O“õ\Êó;/++K .TBB‚ëX¯^½T¯^=}öÙgz÷ÝwUºtiµiÓF6›M‘‘‘jÓ¦ÍE×m2oŸUAùä“ÊÈ8§jüøŽÌ9VU«–Ò‹/.Ñüª±c¯×¤I”ž~J¯¾ÚJÏ>ÛÔmœÞ½ë*&æ}Mœ¸^ýûÇ]°>»~ü±ŸêÔ‰¼`}eÔ®ÝçZºtn¿ýJIÒ§ŸnÒ™3=öX½ùf×µ}úÔÓ=÷ÌWRRŠ×kòöž&ë¹”çw^V–S öVBÂ_›3õêUGõê%é³Ï6ëÝw;¨téµiSU6›™ýç‹1™‹·Ï ¼eé¦NëÖ­“$Ýÿýçî¿ÿ~½øâ‹®kV¬X!Iš9s¦¾ûî;9NI’ÓétýyóæÍnc4iÒÄmà Iºúê«%ItKIÉÞ4gÀ€ó¸ûî»}ÚÔÉÛ{š¬çï|y~çÅÇÇ»mè$IÑÑÑêÖ­›&L˜ M›6éšk®¹è:óc.Þ>«‚²n]úÿæw•ǹûïo¤_\âºfÅŠ½’¤™3·é»ïvéÿDr:uÁ¿×!·1š4¹Âmà Iºúê+$If¸Ž¥¤$ ÐÀcwß]ß§M¼½§ÉzþΗçw^||y· $)::LݺÕÒ„ ëµiÓA]sÍ[f¾ÌÅÛgÞ²tS§Ó§OK’¢¢¢<ÎEFFÊf³¹®9qℤ¿6CÊIHHˆÛßs788X’äp8\Ç22²7p)S¦LŽóð…·÷4YÏßùòüÎËiŽqþYøÊd.Þ>«‚rú´ãóó8"›í¯kNœ8+é¯Írâþ:EE…z\l—$9N×±ŒŒs’¤2e<ÿ½##=ÇÈ‹·÷4YÏßùòüÎËiÎûü³ð•É\¼}VÈÛ¾ãû´xÇbí;¾ON9õÀµheêJýœö³úÅ÷S¹ðr’¤ôéšúËT5­ÖTM«5-°ùÖ}Š‚Õi«µtçRIÒ×>  € ×¹]‡wi憙j]³µâ+Å[5E OôÃ:ôþŽ~X‡~ÀßÑëÐø;úaúG?¬C?àïè‡uèüý°ý€¿£Ö¡ðwôÃ:ôþŽ~X‡~ÀßÑëÐø;úaúG?¬C?àïè‡uèüý°ý@~³tS§J•*I’V­Z¥Úµk»[½zµœN§ëšªU«J’ÆŽ«¸¸¸Ç Êñ¸·óX»v­ªT©âvnÍš5Fc^L~¬Ç—çwÞúõë•™™éÚ<éÂë%©råÊ®c6›MN§w›Û˜ÌÅj•*…K’V­Ú§ÚµÝ7»Z½z¿œÎ¿®©Z5B’4vìõŠ‹+›ãxAAöKšÇÚµéªR%ÂíÜš5ûƼ˜üX/Ïï¼õëÿTf¦CÁÁ×KRåÊ]ŸýûçÅb ç‚K·*u•~>PgÿÚ nPÓAZºs©Þ[þž:Ôéàú(Ü|¿Fÿ4Z‰- ôc­°îcµ“™'õÈÌG´ïø>IÙÏýï…£­ˆ> Q$ÑëÐø;úaúG?¬C?àïè‡uèüý°ý€¿£Ö¡ðwôÃ:ôþŽ~X‡~ÀßÑëÐø;úaúG?¬C?àïè‡uèüý°ý€¿£Ö¡ðwôÃ:ôÁÒM:vì¨1cÆè™gžQƒ Ô°aCIÒ®]»4xð`IR§N$I=zôÐèÑ£õÉ'Ÿèã?V­Zµ\ãœ;wN3gÎÔ¹sçŒæÑ¡C;VO=õ”®¼òJר7nÔ /¼p)KÌU~¬Ç—çwÞþýû5dÈ9R!!!r:9r¤-Z¤Zµj¹Í#<<\;wîTVV–ìö¼7ø1™‹Õ:v¬¡1cÖê™g~TƒÑjØ0Z’´k×1 ¼P’Ô©S IR±=z>ùd£>þ¸‹jÕúkã sç²4sæ6;—e4jhìØ_ôÔS‹tå•e]coÜxP/¼°äV˜»üX/Ïï¼ýûOiÈï5rd;…„Èé”FŽüY‹¥ªV­2nóÒÎG••å”ÝnË÷¹àÒþi´2Îf¨K½.ªY¶¦ì6»‚ìAj^£¹BC]"ºÐçT!¢B±ÿ ”¤ÿüð9NU-SU©GR­žà3úaúG?¬C?àïè‡uèüý°ý€¿£Ö¡ðwôÃ:ôþŽ~X‡~ÀßÑëÐø;úaúG?¬C?àïè‡uèüý°ý€¿£Ö¡ðwôÃ:ôþŽ~X‡~  Xº©S×®]Õ¶m[%''+!!A±±± ÖæÍ›•™™©úõëkàÀ’¤ë®»NTRR’j×®­š5kªB… :|ø°vîܩӧOëé§ŸVŸ>}|žÇM7ݤ¦M›jÅŠŠ‹‹S½zõäp8´uëV5lØP»wïV@@@¾®=?ÖãËó;/..N&LÐÔ©S«ÔÔTíÛ—½SÜ«¯¾êvmBB‚’““£êÕ«Ën·käÈ‘Š÷Ü5Îd.VëÚµ–Ú¶­¦ääÝJHøH±±‘ ÐæÍ‡”™éPýúÑ80{sªë®«ª*))Eµk¨š5K«B…’:|ø´vî<¦Ó§Ïéé§ÿ¡>}êù<›nª¥¦M+jÅŠ½Š‹KR½zQr8œÚºõ°6ŒÖîÝÇ÷¦F¾Êõøòü΋‹+« ÖkêÔÍŠTjêqíÛwR’ôê«­Ü®MH¨ ääÝŠ‰ù@Õ«—’ÝnÓÈ‘m_>_æ‚K·ýàvÕŽ®­ÑÝG»oQ£…ZÔhaɜʇ—WbËDKî]XÖí]§Ék'ëÝžïjäâ‘VO0B?¬A?PÐkÐôÃôÅý°ý@q@?¬A?PÐkÐôÃôÅý°ý@q@?¬A?PÐkÐôÃôÅý°ý@q@?¬A?PÐkÐôÃôÅÒMl6›fΜ©!C†hÒ¤IÚ¼y³$Én·ë–[nѸqãæºþƒ>PýúõõÆohÇŽÚ±c‡$)88X½{÷Vß¾}æ Ù³gëÎ;ïÔ¼yó”’’"IêÒ¥‹~øauîÜY—¸ZO—º_ŸŸ$Õ©SGÇ× Aƒ´jÕ*IRéÒ¥õÆo¨wïÞn×>\Ý»w×îÝ»µ{÷nIÒ‘#Gòm.V³Ù¤™3»kÈï5iÒFmÞ|H’d·ÛtË-±7®ƒÂÂþzE>øàÕ¯_Vo¼±J;vÕŽG%IÁÁêÝ»®úöõ}C'I °iöì[tçs5oÞïJIùS’Ô¥KM=üp‚:wþRÁ—¸ZO—º_ŸŸ$Õ©©áÃ[iРùZµ*{3±Ò¥CôÆmÔ»w]·k‡o¥îÝ¿Pøñ¯ IDATÒîÝÇ´{÷1IÒ‘#gòm.0÷ãŽõËž_t$ãˆl²iôO£s¼®_|?• /wÑñN‡–í\¦-¶è\Ö9ÅDÅ躚×)$0Äíº³Ž³Züûbí>²[N§SÕ#««yæ u]“~"]S™ª¦Õšºvû|wÙ»:ë8›ëýï¸úE†Eú<+8œý뛩SÝNj_»½ÑGá´_§iϱ=º®æujT©QÌÈý°ý€¿£Ö¡ðwôÃ:ôþŽ~X‡~ÀßÑëÐø;úaúG?¬C?àïè‡uèüý°ý€¿£Ö¡ðwôÃ:ôþŽ~X‡~ÀßÑëÐø;úaúG?¬C?P u—“¹sçzlŽ¡¤¤$5J[¶l‘ÃáPll¬¢¢¢<~Þn·ë±ÇÓ£>ªmÛ¶éÀ*W®œªW¯®àà¿6½ Vrr²¢££=Æ8®\9÷P•+WNsçÎUZZšRSSU¹reU«VMÿýï%I±±±y®ÅäžÞ®'/¾<¿ón¾ùfuîÜY6lPVV–4h ÏØ5mÚT©©©Ú´i“>¬¬¬,ÅÇÇç¸~_æbò¬òÃܹ==6GŠˆVRR'ÕN[¶’ÃáTll¤¢¢B=~Þn·é±ÇšèÑG›hÛ¶Ã:p CåÊ…©zõR ¸` JNî£èhÏM¬ÎŸ+WÎý\¹r%4wnO¥¥WjêqU®®jÕJé¿ÿ]-IŠt»þïk1¹§·ëÉ‹/Ïï¼›o®­Îc´aÃAee9Õ A´BB<ï×´iE¥¦Þ¯M›éðáÓÊÊr*>¾|Žë÷e.&Ï î~Üñ£&®ž(IÚb®…êt¸èGáº=ë4dæ¥Ms;^±TE½Ûã]5¸¢ëºNÿ§œ8àv]tÉhºy”ëpÿñìù$¶Lt»t¬2Îfä:‡›®¼ÉõQèí|òòöOoË)çE¯“¤A%4¨é ¯®•¤– }Ç÷飾yý3çuœÕsóžÓô”麿ÙýºªâU>\*ú‘7úäŽ~ä~¹£y£@îèGÞè;ú‘7úäŽ~ä~¹£y£@îèGÞè;ú‘7úäŽ~ä~¹£y£@îèGÞè;ú‘7úäŽ~ä~¹£y£ðW…º©S«V­r=¡&Mšx5ŽÍfSll¬ÇFKçÙívµiÓÆ§sóçÏWéÒ¥Õ¬Y3U©RE’ôÝwßéßÿþ·ìv»®¿þú<×brOo×ã _žŸ”½yRBBÂE¯ TÆ =Ž_Ê¿å¥<«KѪU•\ÏED«I“+¼ÇfËÞdéï-g·ÛÔ¦MUŸÎÍŸ¿S¥K‡¨Y³ŠªR%{³¬ï¾Û­ÿ{™ìv›®¿¾zžk1¹§·ëñ†/ÏOÊÞ<)!¡üE¯ ´«aCÏÍ¿.åßòRž²µ®ÙZ¥BKiܲqŠ ‹TŸø>nç—ì\¢ŸÓ~¾è8ýC> c§©Q¥FjT±‘‚ƒµ~ßz-ßµ\÷N»WßÞû­ÂCÂ5"y„œ8 ¸òqjV½™íÚyx§~úý'm=°Õõ˜“›?è±Óç™sg4aÕÝqõЉŠñy>yygé;rd9.º~)û£ÖÛÂÝGvë%ïhXÇaŠ.éù^äåHÆ=0ý­ýc­Ft¡^WõòéçüB?è`Š~ÐÀý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~ÐÀý €)úA?Sôƒ~¦èýLÑúâ©P7u*ÊRRRôä“Oª|ùòªQ£†öìÙ£´´ìެʕ+[ø ^{í5‹g‡â®S§}õÕ6-Yò‡ÒÓOI’BCõàƒñzíµÖÏ(Kw-U€-@‡NÒ˜¥cät:åtfL<{R’”²7EJ:Öí¨¤•Iú|ÝçjW»Ê‡——$E•ˆRT‰(¯ïép:”83Q"*èÅ/Ï'/·|ØëùxkÆúZóÇ}sÏ7>ýÜê´ÕzgÉ;Š*¥iwNSÈù>7À ôÃ{ôpG?¼G?wôÃ{ôpG?¼G?wôÃ{ôpG?¼G?wôÃ{ôpG?¼G?wôÃ{ôpG?¼G?wôÃ{ôpG?¼G?wôÃ{ôpG?¼G?wôÃ{ô…Mþ§Aƒúé§ŸtèÐ!íØ±CªW¯žÂ¬žZ¾Vrr²¢££­ž rРA´~ú©Ÿ:­;Ž( À®zõ¢V<^Ñàà%'÷QttñxŸ?:$‡Ó¡Q?ÊõšãgŽK’iõˆª•©¦¯6|¥—¾¬Á%”P)A77¸Y]êuñê~Ž,‡õ¨J—ÔË^–Íf3žO^ÞþémŸvúÔtPž×œ9wF¯~÷ªb¢b4cý ·sN$]:VÁÁz¨ÅCn;¡®Ü½RGOU׸®ª^¦ºWsüý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~ÐÀý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?芖â±cL>ŠŠŠRT”÷»Æù »Ý®6mÚX= \DTT¨¢¢®°zùÎn·©M›ªVOEL©ÐRÊtdêÞ¦÷æzMíèÚ’$»Í®^WõR¯«z)Ë™¥‡v*y{²›õ˜6ìÛ 'Û<™ç½²œYzú›§%I¯uyÍíÃÉd>yygé;rd9.z$E—Œ¾èGᩳ§t8ã°gÖÆýs¼fܲq’¤Á-» ùÚyh§>]û©Î8Îè•N¯(ÀàÕÜ€¢Œ~ÐÀý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~ÐÀý €)úA?Sôƒ~¦èýLÑú˜¢ôE ›:,Ѽzs}¶î3U¬®›ëßìq~súfE„DH’’·%«uÍÖ °Èn³«fÙšªUC“~ž¤/S¾Ìó£ÐétêùyÏëdæI½sË; °åüQäË|òòPó‡|ÚéóbBC•Ø21Çs“×NÖŸ'ÿÔ?¯ý§‚‚e“ûî¥6ÙôRÇ—T:´´Þ]ö®Žž>ªQ7Rp@°WóŠ*úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~ÐÀý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~Ð-lê°ÄÍм-óôøìÇ5aÕ5ªØH¡:p‶þ¹U){S”Ô;I•KWÖàƒ©ÆU«j™ª:ë8«å»—+íhšê•¯—ç}†};L³6ÌÒÝ×Ü­1KÆxœ¿ãê;éÓ|òòpˇ/é¹ü]XPX®…ßþö­þ<ù§lþ`ž˜_÷¸"KDjø÷ÃuÏç÷h\Ïq*\2_ç &úáúx¢Þ¡€'úáúx¢Þ¡€'úáúx¢Þ¡€'úáúx¢Þ¡€'úáúx¢Þ¡€'úáúx¢Þ¡€'úáúx¢Þ¡€'úáú¦NKT)]E“úMÒã³×ú}ëµ~ßz·óqåã\`íj·Ó·[¿ÕÜÍs=Æxµó«¹Þcsúf}²æIÒ¸eãr¼æÆ¸éÓ|üÑÀkªthiýkî¿tû”Û•Ô;I‘a‘VO 0B? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ý@qB? ýÀŰ©ÀÈýÍîWT‰(ãÍk4WH`ˆ¢KD»ŽUˆ¨ Ä–‰jZ­©ÛµWV¸RßÜóÖü±Fë÷­WÆÙ ]q…ê–««¸ q®ëÞ¹å8q@«ÓV+õHªJ—PLTŒ®­~­ì6{®÷)[¢l®»džwá¼OQÑ/¾Ÿþ<ù§‚ìAnÇ«GVWbËD%TNp;Þ³aOU¯ 5¬ÑÒKucÜ…9]À…~X~À_ÑëÑø+úa=úE?¬G?à¯è‡õèüý°ý€¿¢Ö£ðWôÃzôþŠ~X~À_ÑëÑø+úa=úE?¬G?à¯è‡õèüý°ý€¿¢Ö£ÈO6§Óé4ýá[o½U’ôÅ_äÛ„6›M<òˆÞzë-«§‚ËDA÷oÿþý:qâ„W×Ö®]K£GïW—.Þ]ÀôûM?€â‹~0E?˜¢LѦèSô€)úÀý`Š~0E?˜¢LѦèSô€)_ßïZµjß+Ðø'%mݺU¿ýö›ªV­z)Ãùâý÷ß×´iÓ¬ž.Tll¬ÕÓP„\Ò¦N@QrêÔU:uªŠÕÓÀec¹ÕPÄ\Ò¦NuêÔQ:uôÅ_ä×|#6›MÒ£’z[=\6nU:VÏ@Qb·zÅ›:ä6uÈlêØÔ °©S>[ºt©†ª;wýüÂ… 5tèPíÛ·/' ›:å³¥K—jذa—´©Ó°aÃØÔ ?æNù¬yóæzñÅU£F «§ Q Õ(nš7o®æÍ›[= ðKßnýVó·Î×¾ãû”••¥¤>IújýWšµa–†w®ê‘Õ%I;îÐóóžWÏ«zªgÞÏ:eœÍЂ­ ôsÚÏJ;š¦ÐÀP5¸¢z]ÕKåÃËçø3[lÕ÷Û¾×òÝË•y.SO·}Z*5ÊñÚ½Çöjî–¹Úœ¾Yé'Ò©&Ušè–†·¨DP ë~>P§ÏžÎq¬{šÞ£öµÛ{?’qD“×NÖº=ëä”Sõ¯¨¯þñýU.¼œOð ý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~ÐÀý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?è¬Ã¦NùléÒ¥Z°`î¾ûnÕ¨QÃíÜ®]»´páBíß¿_QQQjÓ¦êÕ«—ëX§NÒÌ™3µk×.UªTIݺuS™2e x`ÏÖ}¦çæ>çv,Ë™¥Ô#©Z™ºR§Îžr?™yR+SWªYõf…=͵ÿÄ~Ýðþ :™yÒíø‚­ ôþŠ÷5ö–±j^Ã}ãÀ›'ܬ û7¸;zúhŽã´ú#½üÝËr:nÇgoœ­÷W¼¯û~ìúð>oUê*eœÍÈq¼®Wvõ8¶ûÈnõý¤¯ÒO¤»Ž}¿í{Múy’&÷Ÿ¬:åêä8p)èýLÑú˜¢ô0E?è`Š~ÐÀý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~ÐÀý €)úA?`-6uÊgK—.Õ°aÃÔ¦M·Mþõ¯éõ×_—Ãáp³Ùlºçž{4vìX¹óÛo¿©{÷îÚµk—ëXtt´f̘¡–-[ø: °MýeªízáúT³lMÙmv…„¨o|_µ®ÙÚãc¥8:}ö´‚‚Ô§Q]Ué*UŒ¨¨'è‹u_huÚj=>çq-~p±íýç;ýdºb£cÕ>¶½6§oÖÛÈuüƒ§ªbDEu®×Y±Ñ±*^N;îЇ+>ÔGÿÐ3ß<£)·Mñø¹:åêèÅ/z‰Šñ8öÄì'”~"]WW¹Z® [€&¯¬Å¿/Ö#³Ñœsd·ÙÍ úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~ÐÀý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~ÐX‹M Á˜1c4|øpÙl6uíÚUqqqÚ¹s§¾úê+}øá‡ŠŽŽÖðáÃÝ~fðàÁ Ö}÷ݧÐÐP-\¸P7nÔ-·Ü¢Í›7«lÙ²­ FÚ‘4Õ-WW·5¾ÍíxÕ2UUµLU‹fU¸*–ª¨Å.VXP˜Ûñ›ë߬Çߨí·kË-ª_¡¾ëÜÌ»gª|xyIÒÐCóÀ5ôh«Ge³Ù\Ç®«y:Ôé ŽtÔªÔU:™yR%ƒKºý\DH„šVkzÑù¯Û³NkþX£jeªé£¾)40T’Ô.¶zLì¡ û7hÉÎ%jÓê¢c¾ ô0E?è`Š~ÐÀý €)úA?Sôƒ~¦èýLÑú˜¢ô0E?è`Š~ÐÀý €)úA?Sôƒ~¦èý€µØÔ©Œ1B’ôå—_ê–[nq_±b…Zµj¥Q£FéùçŸWÉ’½„+VÔâÅ‹UªT)IÒ¹sçÔ§OMŸ>]'NÔã?^¸‹€ ¬Û³N¯%¿¦;›Ü©fÕšéãŸ?Ö¯{UH`ˆÚÖj«ž {º}x\xý5U¯Ñ'k>ц}T>¼¼ê–««¹›çêØ™cÊ<œ©þŸöÏñžÃ» ÷j·Ïßý®/S¾ÔÖ[u.ëœb¢bÔ«a/ÅUˆs»nsúfMO™®Ô£©r:ªY]Ýêwsûà*lÁÁR€çñ@{ b¢b´ýàvÙƒÜÎÿ ôFdXdŽÇ«”®¢šQ5µ)}“²œY>ÍùBKv.‘$õnÔÛõA(I¶ÝÞøv=;÷Yý¸ãG> /sô£`Ð\èGÁ ¸ЂA?p9 ƒ~àr@? ýÀå€~ úËý(ô—úQ0è.ô£`Ð\èGÁ ¸ЂA?p9 ƒ~àr@? ýÀå€~ úËý(ôVbS§¶{÷n¥¥¥©E‹n:IRÓ¦Muë­·jòäÉZ³fZµúë%yúé§]:IR`` ^zé%MŸ>]K–,aS'–:zú¨V¦®Tã*5âûJ;šæ:7Ë|­ß·^CoêqýU•®ÒKß¾¤ôé’¤++\©ÐÀP­L])I:™yÒõç¿;uöÔEç5yíd [0L§ÃuìÇ?ê“5Ÿè•N¯¨×U½$IÓS¦ëéož–Óétûùñ+ÇëÍ›ÞÔÍõo¾è½î˜r‡YŽ‹^'IeÂÊhl±^]›“Õi«µdçÅDŨVt-ãqrsüÌqí:¼KWU¼J!çÓO¤ëÙožÕÞã{©kª^£î º«DP ·ë¶Ü&IjT©‘Ççm?¸=ßçÿB?èý€)úA?èLÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô¦èý 0E?èý€)úA?èLÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô£øaS§vøðaIRÍš5s<_«VöË}èÐ!·ã111מ?v~L°Ú‡+>Tlt¬^íüª*DTІ}4véX}ºöSÝ×ì>U*UÉíú‰«&*&*F‰-U­L5• -¥ˆu¨ÓAƒ¾¤J¥*饎/¹ýÌÔ_¦jöÆÙËš?Öhè‚¡*\Býú«QÅF Öú}ë5aõ½0ÿ5«ÞLUJWÑø•ã%Iw^}§š×h®@{ vÞ©YféØéc^­}eêJ¯? £KF{uÝy{ŽíѳŸSN¥ŸH׮û«·»¿­[[^¢¡ †êŒãŒži÷LŽçS¤*õHªëï³7ÎÖ{ËßSRï$Õ*û×GêáSÙÿ}*W²œÇçw$=’q$?§?F?èý€)úA?èLÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô¦èý 0E?èý€)úA?èLÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô£ø`S§)IÚ±cGŽç·oÏÞñ,**Êíøï¿ÿ®k¯½ÖãØ…c€ÕjDÕд;§)$0D’t]Íët6ë¬Þþémý²çÂòáå5ý®é s;^=²ºí WÓjMÝÎý¸ãG¯æ’´2IYÎ,%õNRãÊ]ÇÛÖn«øÊñðÙÍÞ8[\û€íª]Gÿ×áÿÜÆ¸»ÉÝ:~æ¸W÷›Ôo’ÇN¡¹ òêºó2Îf¸íx¢–1-}þ¸ôÆ‹ÞÐÌ 3õüõÏëUÿáq>ªD”:Õí¤†ªDP m?¸]“×NVê‘T=8ýA}3èׇêùVìž®çuœÍ÷5À?ÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô¦èý 0E?èý€)úA?èLÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô¦èý 0E?èý(>ØÔ©€U«VMUªTÑ’%K4kÖ,uëÖÍunõêÕš6mšÂÂÂÔ¸qc·Ÿ{íµ×tÓM7)""B’tîÜ9ýßÿeÇ«E‹…·ÈC§º\„ç5¸¢¤¿v}üûõÿ Ì/ëö®S€-@#”$9N9•ýÑvÎqN’´ý`öFz÷5»OÏ~\ÎzTíj·S\ù8Õ,[Sv›]!^Ý/§¨üR©T%}ÚÿS9²úóäŸZ´c‘&¬š …¿-Ô×÷|­A%.ùN§S/÷²>Zý‘žiûŒînrwŽ×}sÏ7*\Òõ÷vµÛ©o|_õü¸§¶ܮթ«]òaÙÿ¶'3OzŒsþØ…cáòF? ýÀå€~ úËý(ô—úQ0è.ô£`Ð\èGÁ ¸ЂA?p9 ƒ~àr@? ýÀå€~ úËý(ô—úQ0è.ô£`Ð\èGÁ ¸ЂA?`6u*Ï<óŒzè!uïÞ]]»vU½zõ´k×.͘1CgÏžÕÓO?­’%Ý_’½{÷*..N]»vUHHˆ¾ûî;mذAÑÑѺûî»­YüMéÐÒÇ‚ìÙ»Zf9³<ÎU,U±Àær*ó”N‡–î\šë5§Ïž–$Ýw£®¬p¥ælœ£é)ÓµåÀ9wF]¯ìªÇ[?®R¡¥.z¿;¦Ü!G–빕 +£±=Æz·IaAan;žv«ßMåÃËëƒhFÊ ÝÖø6¯ÇʉÃéÐÓ_?­¯Ö¥çÚ?§× ÈõÚœ>â"B"tC4nÙ8í:¼Ë5×Ê¥+K’vÞéú?çý~èw·kúA?èLÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô¦èý 0E?èý€)úA?èLÑúA?`Š~ÐúSôƒ~И¢ôƒ~Àý ô¦èý Å›:‚Áƒ+--MÿùÏ4{ölÍž=[’d³ÙtÏ=÷èßÿþ·ÇϼóÎ;zâ‰'ôÞ{﹎EGGkÆŒ*[¶l¡ÍüEÅR•éÈÔ{=ßS€= Çk¢JD¹þ£‡[>ìúûú}ëuÇ”;tàį>àV¦®ôú£0ºd´W×å¥fTMIÒÞã{/iœÓçN+ñ«D}¿í{ý_‡ÿÓWßi4ÎÞcÙó¸pçÖ«*^%IJÞ–¬®q]Ý®ÿ~Û÷’¤†Ý(HôÃ;ôðD?¼C?OôÃ;ôðD?¼C?OôÃ;ôðD?¼C?OôÃ;ôðD?¼C?OôÃ;ôðD?¼C?OôÃ;ôðD?¼C?OôÃ;ôðD?¼C?OôÃ;ô¹aS§|vîÜ9IR@€{†®ûï¿_ .Ôþýû¥¶mÛª^½zn×]ýõ UëÖ­µqãFÍš5K»víRåʕխ[7•)S¦ÐÖþä†:7hôO£5oË<=~Ýãn»?s\3ÖÏP“*M$I¯ÿðºz6ì©Zek¹®©^AAAZ™ºÒ«ûMê7IN§Ó«kƒ‚¼ºnΦ9ЉPë˜Ö²Ùl®ã›öoÒ{˳7ù»pÁ«* IDATξ:qæ„îv¯V§­Ö°†]tÇÐo6£ÐÀPµ­ÕÖ5ŸsYç4õ—©š½q¶ì®g*Imk·UXP˜ælš£.q]Ô¾v{IÒªÔUš¼v²‚‚Ô©n'ãù…~\ýrF?.Ž~9£G?€œÑ‹£@ÎèÇÅý;weu}æ{û[Ì`¡ˆÎà€Æ8DMƒÅâ±qˆéÄ8ä¤Õh.›,LÛP‰Š9ôIމIPAÆ8 6ÄyFpBD#*“@QçE=VÄÀþQP‚×µ–kUíýîÿvÕ§Š7·~ÀªéÇê鬚~¬ž~ÀªéÇê鬚~¬ž~ÀªéÇê鬚~¬ž~ÀªéÇê鬚~¬ž~ÀªéÇê鬚~¬ž~ðXêÔÈ^zé¥$IÇŽ?öÞŽ;î˜ÓO?ýžß·oßôíÛ·þû“O>¹qØH¾ÿé¹÷ù{óû‰¿ÏM“nÊŽwLûÖí3wþܼñÁ©Y^“_ð«$ÉuO^—k»&ÛuÌv¶Ë’eKòüÛÏgÙòe9xçƒ×è~_Øî þ “ߘœ_>ñË´mÙ6ÛuØ.m[´ÍÜsóúû¯'IvÛb·ôß½ƒs~úÈOóÐ̇’$/¿ûr’dÄøùù£?O’œwÐyõ³Ž|`džœõdª[WçOÓþ”?MûÓÇføQÿe‡ÍwH’L}sj~ñØ/êçiÕ¼U^÷jÞ_ü~’ä¬ýÏÊÖ›n]îfm6˹½Ï͈ñ#rÖØ³²Kç]Ò¢Y‹LŸ;=µµµùο“­ÚoÕˆŸ4ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôƒµc©S#¹ãŽ;rÛm·å7¿ùM6Ûl³ìºë®M=ÀgJ»–í2úäѹìÏ—å–É·ä…·_¨¯CÛ9vÏc³çV{&I†:$7<{Cž›û\þ¶ðoI’VÍ[å_öü—\tØEM2’³ç1yýý×sßó÷å¹¹ÏÕ¿¾I«MrÌžÇdÐAƒÒºEëç¼øÎ‹ÛN:cîŒú¯W<_’,^º8IÝÆÏOÚhºpéÂú¯Þãè¼òî+›gëM·ÎûŸ‘S÷>õc矱ÿ©Y^“Ÿ=ú³<ÿöóI’6-Úä›û}3çõ9oµŸ4ýXI? 2ú±’~@eôc%ý€ÊèÇJú•Ñ•ô*£+éTF?VÒ¨Œ~¬¤PýXI? 2ú±’~@eôc%ý€ÊèÇJú•Ñ•ô*£+éTF?VÒJTÕÖÖÖ–ž<`À€$ɘ1cm  Õ·¿ýíüâ¿H³fÍrõÕWç;ßùNSô™RUU•äÆ$'4õ(|f Èñǯ»þÍ™3'óçÏ_£c»wï–Q£æ¤ÿ5;¾1Ì[4/3æÎÈ›ïð±Í+ÞÛ±ãŽÙ²zËÕ¿ÂS³ŸJÛ–m³ç–{6x}Ö¼Yyýý׳×Ö{¥]ËvI’KdÊ›SÒu³®Ùv³m?v­¥5Kóâ;/fÑÒEÙªýVÙ²ý–iVÕìcÇýmáß2kÞ¬´kÕ.]7ëZý¦¶¤fIfÍ›•÷¿—ÍÚl–;î˜æUÍWyì‹ï¼˜·¼ý‰×Ú¥ó.騮c’ä¥w^ÊÜsÿá½?ú9¯ðá²óê¼WóÁ‡¤Ku—U~æoñ²Åyñ³|ùòtëÜíSóÙnhÖõÏ·~è‡~l¼ôC?*¥¬ úQ)ý`ýÐJé+è‡~TJ?XA?ô£RúÁ ú¡•ÒVÐý¨”~°‚~èG¥ôƒôC?*¥¬ úQ)ý`ýÐJé+è‡~TJ?XA?ô£RúÁ ú¡•ÒV¨ôç»[·nÅ÷²Ô©‘ÜqÇ™9sfz÷î^½z5õ8Ÿ9–:±þ}¶—:ëÇÆøJ`ýР”~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(¥@)ýJéPj}.ujQ|& }ôÑM=Єš5õK¥NÀR'€F`©@#h±6'¿óÎ;™={vÎ?ÿüÆšÖÂ/’<ÚÔCð™1)ï¼³mS|ЬÕR§çŸ>³gÏΕW^ÙXóÀZøŸÿÿ?X?ž~QS|ЬÕR§8 I2f̘FJUUUeÔ¨Qéß¿SÂgÄÙgŸêêê¦øiÖÔl ,uh–:ð™²hé¢\rß%éóÓ>ÙeÄ.é>¼{.]˜Ë&\–îûgÚ[ÓêüÆätÞ=£Õ„¯¯½÷Z®úú|ãÆo¤Çe=Ò}x÷<ðÒM=|ªéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGý€ÊéGýàïµhê`}õШ\÷ÔuM=F“ûêo¾š·¼ÝÔcÀE?êèTN?êèTN?êèTN?êèTN?êèTN?êèTN?êèTN?êèTN?êèTN?êèTN?êèTN?êèTN?êèTN?êèTN?êèÏR'>SÆ¿8>í[·ÏدÍNwJ³ªfI’Á‡ ÎàC7ñtëO×M»æ¨ÝŽÊa»–»§ß'ÝØÔ#Á§ž~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔѨœ~ÔÑþž¥N|¦Ì?7;wÚ9Ý:ukêQšÔÍÿzsý×÷?Ný¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£P9ý¨£ü=KÖË/¿<ƒÎøñãsÈ!‡4õ8ëÄâe‹sÍc×äOÓþ”Yóf¥U‹VÙk«½ræg¦ÏN}ê{à¥rÚM§å¢Ã.Ên[ì–+¼"ÓæLK»VíÒw—¾¹àà Ò±]Ç×®­­ÍØ¿ŒÍM¹)3Þš‘šÚšìÔq§œØóÄœÒë”TUU}ìÚ½ºöÊ¥ã/Íä7'§u‹ÖùR·/å¢Ã.J‡¶’$—ÜwI®{êº$ɤ×'¥ûðî«|®?žöÇôèÒã>ûšÎW³¼&¿›ø»Üü—›3ë½Y©­­Í›ïcö<&'õ<)m[¶-úìaC§ú¥ôC? ”~è”Òý€Rú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôJé‡~°q±Ô©Ð%—\’¡C‡æÁLïÞ½›z€õjiÍÒüë ÿš§g?]ÿÚ’š%yô•GóØ«åâ#.ÎɽNnpÎ3¯=“á㇧fyM’º?*oštSžžýtnýÆ­iײ]’º?¸.¸ã‚Ü6õ¶çOkz†–is¦å¿úýWƒ÷&¿99—M¸,Kj–$I-]”[§ÜšÙïÍÎèSF7ê³W2ßå¾<×>~mƒã¦¼9%SÞœ’–ÍZæÔ}N]íýv»t·úÏlu:oÒ9óØ> 4 ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôƒO³¦`ctÁ¤¶¶6‡rHS°N\ÿÌõyzöÓÙfÓmrÍñ×äÙóŸÍƒßy0çö>7U©ÊÝÿ_™;nƒsîš~WŽÝóØÜÖý™ÃûOUUU’d¿íöËÏ¿úó~Íá¹{ÆÝ9ÿ ó“$c'MófÍóþßt©îRþ~Ûí—+þ×9êÿ;*÷=_zuíUÿ^ïzç‡Gþ°þû}¶Ý'gpf†–és§§Ç–=íÙ+™o«M·J’ôݵošW5O’ôزGEóÌø÷6;|è‡~@)ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡l|ÖËR§>ø —]vYÆŽ›™3g¦eË–Ùwß}sá…æðÃO’Ì;7{ï½w-Z”gžy&Ûo¿}ýù<ð@=ôÐpÀ™0aBZ´h±F×\aþüù9rdn¾ùæ¼øâ‹i×®]öÞ{ï <8}ûöM’|ík_Ëï~÷»Ì;7;wnpþŠ÷Þ}÷ÝtèÐ!}ûöÍý÷ߟ$éÓ§Oýq|p&L˜Ë/¿<ƒÎøñãsÈ!‡Ô¿?kÖ¬üð‡?ÌÝwß9sæ¤cÇŽ9ôÐCóƒü »ï¾{ýqC† Ɉ#2qâÄLš4)—]vY^xá…l¹å–9í´Ó2tèÐ4kÖl>û¿þõ¯2dHþüç?§¶¶6}úôÉÈ‘#3|øðüú׿nð¼½ïO<‘«¯¾:Ï=÷\Î9çœ\~ùåk<%Ÿåßß÷á‡ΨQ£òÊ+¯d›m¶Éi§–!C†¤E ûÇàÓä•w_I‡¶êÿ ü¨C»šž½!¯¼ûJƒ×{ïØ»þ¶ë°]vê¸SfþmfýkÏÏ}>5ËkÒç§u}­­­Mmjë¿N’×ß½ÁuØþ€Í±]‡í’$ –,¨ôñþ¡Jæ»èЋòo·þ[ýù¡é³SŸôزGzmÓ+{l¹G£ÎýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôƒÏ:ß”óî»ï¦OŸ>™:ujýk‹/Îøñã3a„\ýõ9å”S²Å[d̘19è ƒ2`À€<øàƒiÕªUÞxã 80;wÎM7Ý”-Z¬ñ5“äwÞIŸ>}2mÚ´úc.\˜qãÆeܸqYºtézY4sæÌpÀyë­·ê_›3gNF;î¸#ÿó?ÿ“}÷Ý·Á9W_}u~õ«_ÕÿꫯfذaY¾|y.¾øâÕÞsúôéù⿘÷Þ{¯þµ;ï¼3?þxöÙgŸO<ïÒK/ÍèÑ£ë¿_¾|yÑü•1bDn¸á†úïgΜ™¡C‡fÆŒ¹þúë×êÚ@ã«JÕê*°¼vy’¤fyÍ'³´fiƒï[·hý±cVÌ·âµÆRÉ|=¶ì‘{Ϻ7ÏÌ~&OÏ~:O¾údF=8*›·ÛüðÃŒ7.ßùÎwrÎ9çäØcÍ&›l’8 #GŽÌ¹çž›óÏ??W]uUN<ñÄÌ;7÷Þ{o¶Ùf›Š¯yÞyçeÚ´iÙk¯½ò£ý(_øÂÒ¼yó<ýôÓ1bÄǶέ‰ûî»/—\rI†š|0½{÷^í9ßýîwóÖ[oå ƒÊüãôèÑ#/¿ür†š[n¹%gœqF&NœØàœßÿþ÷5jTŽ?þøTWWçöÛoÏ7¾ñüä'?ɰaÃV;û AƒòÞ{ïåË_þr†žwÞ93fÌÈ Aƒ2nܸO<ïæ›oÎÈ‘#3pàÀtíÚ5IrÌ1ÇT<¥VÜ÷¤“NJ›6mr÷Ýwçì³ÏÎoûÛ|ãßÈa‡¶V×Ï›ïg_6“^Ÿ”ÏoóùïMxqBý1õÐËå¼>ç5h׬y³2óo3Û­S·L35œýHÚ·n¿î¢P¥ó5¯jžý¶Û/ûm·_’dÑÒE9üšÃsáæ–½e] Ÿ:ú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? ”~èŸuºÔéÃ?ÌèÑ£³çž{fìØ±õ!Ød“Mrâ‰'æoû[þíßþ->ø`Ž:ê¨$É9眓G}4?ýéO3eÊ”<ðÀùÑ~”/}éK_óàƒΘ1cÒ±cÇÜ{ï½ÙrË-ëg;üðÃsøá‡¯Ëǯ·`Á‚Üu×]éÒ¥KþøÇ?fÓM7M’ì±Ç¹ñÆÓ³gÏ<ûì³yî¹ç²ë®»ÖŸ÷ƒü çœsNý÷§œrJþð‡?dìØ±™5kV¶ß~ûO¼çüùósÏ=÷dûí·ÏرcÓ¦M›$I¯^½rë­·¦{÷îyûí·Wyîù矟ï}ï{k=¥Î;ï¼÷=餓RSS“SO=5cÇŽµÔ >Eú÷èŸg_6ß½í»vİì»í¾™¿d~Æþelnxö†´jÞ*‡uoø3;éõI¹ð® ó¿üßéRÝ%SçLͰqòlù²µÛQõÇ øü€<õ§§òõ¾žsþùœôܦgÚ·nŸ·æ¿•çæ>—±“Çæ”^§ä‹;~q}?vÅó ¸~@¾ò¹¯ä Û}!ÛvØ6Kk–æ‘—ɼEó²xÙâ5ºßŒŸ±ŽŸÖ/ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôƒÏ:]êôÒK/eÑ¢Eùë_ÿš–-[&IjkkS[[[ÿu’¼úê« Î»öÚkóÈ#äHÿþýóýï¿èš3gÎ̇~˜~ýú5Xè´¾½üòËY¶lYúôéS¿i…-ZäÈ#ÌÔ©Só /4XŠtÈ!‡|ìZ;ï¼s’äƒ>Xí=kjjrÐAÕ/tZa³Í6Ë;î¸c•çþý²«Òù+uä‘G~ìµ˾^xá…âëïÔ½OÍÝÓïÎ3¯=“ÓÇœþ±÷ÿ£ïd‹ê-¼vÔnGåÖ)·fì_Æ6x½[§n9ëÀ³ê¿?îsÇå‰WŸÈÍ“oΙcÏ\åý~~`#ø ~™PÉ5«ªªV;k³fÍ\ÿ£-Z´Úó×ÄšÌñQmÛ¶ýÄk¬X^UzÏt~§N*ºÖßkÌÏrÅ=+ýì೤uëÚ,Y²~FZ6o™ßœô›\óØ5¹cÚ™5oVZ5o•½¶Þ+gîfÚù ³Ï¶ûäÄž'抯Ȍ·f¤m˶é»Kß >dpÚµlW\UUUF|yDîvpn|öÆLysJ.]˜­Úo•Ý»ìžã>w\þy§^ŸÛ@%óÝüõ›sã¤óØ«eö¼ÙiÛ²mvî´sŽÿ§ãóÕ½¾ÚdÏÀ†añ⺟ë6mÖìw~ ýX¿ôƒõE?VÒý 2ú±’~è•Ñ•ôC?¨Œ~¬¤úAeôc%ýÐ*£+é‡~PýXI?ôƒÊèÇJú¡TF?VÒý 2ú±’~è•Ñ•ôC?¨Œ~¬¤úAeôc%ýÐ*£+é‡~P™õѪª]Óí@«0`À€$ɘ1cVùþÂ… Ó±cÇì»ï¾y衇Öèšo¼ñFzõꕪªª|ÿûßÏù矟ãŽ;.7ß|sÅ×\´hQ6ß|óTWWç¯ýkºtéò‰Ç^pÁ9rd{ì±ì¿ÿþ ža×]wÍk¯½–wß}7:tH’ü÷ÿw.ºè¢Œ?>‡rHƒk]~ùåÏüùóÓ¡C‡l»í¶™>}zÚ´iSÿÞû￟îÝ»gîܹ™;wn:wîÜàÚßJç¯ô³\qßÁƒçÒK/mð¿ýíosê©§æÛßþv~ö³Ÿ}âóVUUeÔ¨Qéß¿ÿ'éì³ÏNuuõ'öomÍ™3'óçÏ_£c¿øÅrÆïå›ßœ·NfY[¼ô@N»é´\tØEùæ~ßlêq`ƒñæ›-Ò»÷¹é¦×²÷Þ‹×É=ô6Nú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? ”~è”Òý€Rú¡PJ?ôJé‡~@)ýÐ(¥ú¥ôC? TI?ºuëV|¿fÅg®víÚåÄOÌÃ?œ“O>9=öXæÍ›—Å‹gúôé¹îºëràæÃ?L’,[¶,ÌÛo¿n¸!çw^Î>ûìÜrË-9rdÅ×lÛ¶m wÞy'GqDîºë®¼ýöÛy÷Ýwsï½÷æðÃOMMM’dÏ=÷L’ 4(Ó§OÏ¢E‹2qâÄwÜqyíµ×>öl;vL’ÜsÏ=Y¸pá?ü6Ùd“ôë×/sæÌɱÇ›gžy& .Ì´iÓrÒI'eÊ”)éÙ³gvÝu×Fûì«««sÄGä•W^ÉÀ3uêÔ,\¸0“&MÊW¿úÕÌ;w¯Uéü•~–+\yå•ùñœ7ß|3ï¾ûnFï~÷»I’ã?~-> ظuï¾4Ï=ת©ÇÙŠŸëw^²Îî¡°qÒ ”~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(¥@)ýJéPj}ôã£Z¬ë\qÅ™4iRFÑ£G¯ò˜ÚÚÚ$É!CòàƒfĈ9øàƒ“$?þñóÔSOeÈ!ÙÿýÓ»wyÅWä‰'žÈ¤I“Ò¿ÿO<NÊСCóðçGõïwíÚ5GqDÆ×༃>8UUU>|x†^ÿÚ„ V9Ï•W^™Ç<ãÇÏ>ûìÓà½êêê\{íµ«šK/½4ûì³Oª««Ó®]»ì±Ç9ãŒ3òøã§M›6¹õÖ[3räÈsÌ1™}÷Ý·‘>ñ†3>üðÃ9úè£Ó¾}û´oß>ýúõËC=”eË–¥E‹iß~Í~‘T2¥Ÿå C† ÉUW]•]vÙ%­ZµÊN;í”ÿüÏÿÌu×]·¶lÔ=tafÏn‘É“[7õ(@#Y¾<¹çžMrè¡ Öé}ô6>ú”Ò ”~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(¥@)ýJ­¯~|TUmmmméÉ H’Œ3¦ÑbÝ›={vvÛm·tëÖ-ùË_šzœ 2$#FŒÈĉÓ³gÏ¢kTUUeÔ¨Qéß¿#O«vöÙg§ººzõoΜ9™?þ߯ßvù§ú0#F¼µNæÖ¯ ÚåôÓ·Î]wÍÊ.»,Y§÷ÒظèPJ?€Rú”Ò ”~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(UÚnݺß³Yñ™lŽ;7.sçÎͼyórß}÷åè£ÎÂ… süñÇ7õx@#ùö·çåhŸiÓlû„ ]MMU.½´S=tÁ:ÿe¢°1Ñ ”Ê`TÛUIDAT~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(¥@)ýJéPj}÷cK6rãÆË‘G™.]ºdóÍ7ÏᇞI“&e÷ÝwÏ÷¾÷½¦h$ÇóAöÞ{q† ëœÚÚ¦žX¿ûݦ™9³e.¼ðõr?ý€‡~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(¥@)ýJéPJ?€Rë»+Xê´‘»í¶Ûòå/9]»vM«V­²ãŽ;æÜsÏÍC=”êêê¦h$UUÉE½‰Ûä7¿Ù¬©Ç ½øbË\yeÇ|ë[ïe§–®—{êlô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(¥@)ýJéPJ?€Rú”jŠ~¬Ð|ذaÃJO3fL’ä„Nh¬yhd;ï¼sN>ùä|ï{ßËСCsÞyç¥_¿~i×®]SV¯oß¾6lX¶Új«âk\|ñÅéׯ_vÙe—Fœ >ÙwÞ™V­Z­³þ-X° K–,©èœ.]jÒ²erÙe²çž®÷_(ÀÚ™7¯Y¾þõ®éÒ¥&#F¼•–-×ß½õ6lú”Ò ”~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(¥@)ýJ5F?:vìX|KØ(XêÄúöi\ê”$ûî»8³g·ÌOºy€O¥K.™›}÷]œ¯}­kî¾»º©ÇVcöì9á„®yõÕ–¹öÚ7Ò©SÓýcN?`â@)ýJéPJ?€Rú”Ò ”~¥ô(¥@)ýJéPJ?€Rú”Ò Ô§¥͇ 6¬ôä1cÆ$IN8á„ÆšŠ\|ñÅéׯ_vÙe—¦…ψ;ï¼3­ZµZgý[°`A–,YRtnóæÉ—¿ÍK’¤Y³äàƒ¦sçš\}õæ¹å–öÙf›eéÖ­iÿ`ê¼ürËüû¿o™«®ê˜¾}æg?›“Ž›nCðGé|ºéPJ?€Rú”Ò ”~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(µ®ú±6KªjkkkKO0`@’•Ë ©TUUeÔ¨Qéß¿SÂgÄÙgŸêêêuÖ¿9sædþüùr­·Þj‘#:æöÛÛ§G3pà9ì°Ùj«er}`Í,ZT•Gi—[o­Î}÷m’nÝ–æ?x;û│©GûDúŸú”Ò ”~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(¥@)ýJ­~tëÖ­ø\KØ(XêÄú¶!-uZaòäÖùõ¯7Ë=÷l’E‹šeë­—e‡–¦C‡å©ª*þU¬ÆüùÍòæ›-2sfË,_^•½÷^œ“Nz/G½ Í›o?{úMC?€Rú”Ò ”~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(¥@©õÙ&]ê4vìØâ›lÈŽ?þø j©Ó ~X•§žj“©S[göì–yï½fY¾|Ü HR]]›N–¥G%ÙÿEéܹ¦©G*¦°~éPJ?€Rú”Ò ”~¥ô(¥@)ýJéPJ?€Rú”Ò ”~¥ô(µ>ûÑdK}ôÑÌš5«øæÐX}ôÑìºë®éÔ©SSÂgÈvÛm—Y“-u`Ý°Ô šÆÚ,ujÖˆs|fYêÐ,uh–:4K¥NÀR'€F`©@#¨ª­­­mê!hhñâÅY¶lYSŸ9ÕÕÕÅçZêК5õK¥NÀR'€F`©@#°Ô  XêÐ,uh–:4K¥NÀR'€F`©@#h‘dLS°¡ûÀìiúêeçIEND®B`‚fio-3.39/examples/filedelete-ioengine.fio000066400000000000000000000006701476262051600204530ustar00rootroot00000000000000# Example filedelete job # 'filedelete' engine only do 'unlink(filename)', file will not be open(). # 'filesize' must be set, then files will be created at setup stage. # 'unlink' is better set to 0, since the file is deleted in measurement. # the options disabled completion latency output such as 'disable_clat' and 'gtod_reduce' must not set. [global] ioengine=filedelete filesize=4k nrfiles=200 unlink=0 [t0] [t1] [t2] [t3] [t4] [t5] fio-3.39/examples/filedelete-ioengine.png000066400000000000000000001004221476262051600204560ustar00rootroot00000000000000‰PNG  IHDRÕüFºc©bKGDÿÿÿ ½§“ IDATxœìÝg\×û6ð{é]„E©RE°£¢Q ÁØÐ¨¨‰ÆƒF ¶¨ùk4j,±$vMìÑŸ&6Pˆ±$ Š Q " ½•" eŸçYXXv¸¾Ÿ¼˜=;{æÞ9\Y<Ìžá ‰Rumæß$óï’‡ùwÉÃü;€äaþ@ò0ÿ y˜<Ì¿Hž’¬ €6E œ9sæÏ?ÿÌÉÉ©ªª"¢7~ûí·Ì³{÷îíÕ«mذáæÍ›D4lذõë×7ó »wïöóó#¢¾}ûîÚµ‹û %[†DÈaIbȪZŽ?f²…ùw¤+VìØ±C¸%???$$„Ù~õê³Ã4òùüæ4>>ž=D£4¹Œ›7onذˆTTTnܸфCK¼$™UµÌd óï 1¯_¿Þ¹s'³=wîÜ)S¦(((tîÜY¶Uµ„ÜÜ\f¶WUUUÖµ´;íçÇ Z;Ì¿€Ä$$$TWW3ÛK—.µµµ%¢ŠŠŠàà`¦«‚4híÚµóæÍ#"Y×Ò0™T‹3h-0ÿ’1sæÌÇ ?TSSÙ§Á…¹ïܹséÒ¥¸¸¸²²2CCCWW×éÓ§‹ôS\\|àÀÛ·o+((Œ9’™ÿmroMx¡««knn.³ýæÍWWWf{ùòå£Gnæ¡/\¸PçŠêÿýw@@@|||yy9ŸÏwttüøã;uêÔØ·,²bûo¿ýæëë[YYÙ³gÏE‹ O£×>ÏYg¿vµÜûoÚYjÂÇS yIèÖ­[ƒ¿|Þºu‹ÙÙËË‹iù裘–’’OOÏÚ/±²²züø1{”ôôtá\\\æÌ™Ãl6¬Q½5­ŒúÞÝáǹº>µK***5jTí555OŸ>;°±oyâĉü±ðž999:ϵ«åØ“ÏR£~Ì8ž:€¢Ðà/¯\œ{öìK—.‘±±ñÁƒ&OžLDÏŸ?ÿðÃKKKÙ݈HGGgÏž=¾¾¾ššš'OžlZoM+#88xÍš5ÌþÊÊÊÁo1¿7ùÐõ™5kÖÕ«W‰H[[û§Ÿ~ºtéÒ¤I“ˆ¨´´tæÌ™·oßnÚ[þã?bccÏž=»sçNæò¼¼¼üQä³-¼^ ÷Þš\†{èÞ½{pp°p;»„Žsssv;>>ÞÑÑ‘Ùfß2³Có+fffÆn'%%±ç9>>ž{'bp¯6,,ìÛo¿e¶oܸ¡¢¢Âý(O@ËÁýW@ö\]]Ù%J®]»6xð`×·ôõõoÞ¼©ªªJDƒîر#³ÛæÍ›+++‰(88Xäj޽5¹ "ÒÐÐ`6***ØUS¸÷ ££ãú®nݺÕW{!ùÆß¼yCD=òõõe§L™Òœ·\§Áƒëëë3Û[·n­ªª"¢7nܺu‹{'bp¯6???ä­šššÆ…Ë©h9˜ÙSWW?zô(³JÉÁƒŒŒ Ô³gOÞ½{ÿý÷Ì·ººú¦M›˜—øûûwéÒ¥oß¾£Gîß¿zkrDäàà  ðßïÒ=zô6l˜««k^^^“] C‡)**2oÙÌ̬_¿~,//'¢þýûýõ×ÍyËuRSSÛ²e ³}ñâEæ<?~À€*¾>?KuâxêZæß@.Œ3&<<ÜÝÝ]QQñÅ‹÷ïßòäIqqqÿþý7nÜhooÏìöå—_îÝ»—Y±$;;;;;ûìÙ³ƒ jZoM.ÃÌÌlË–-jjjD”••RQQÑœC×ÇÓÓ344ÔÅÅ…Çãåææ>|ø°²²RWWwÙ²e!!!šššÍ|Ëuúâ‹/8СCæ fggŸ;wÎÎÎŽy–½ü¿É$~–êÄñÔ´s$€æ+**zðà³ýÞ{ï1ÓÓáááL£ƒƒ3¥“››KD=zôîäõë×Ïž=+--íÔ©“‰‰IS½ÑÑÑŠŠŠ={öTVVŽÏÈÈ "]]ݾ}ûrï­™e”””<}ú´´´”ù¥zðàÁÂ˼pé¡61%½|ù211±¼¼\__ßÖÖ–½_DÞrbbbZZikk ™@ä<÷êÕëñãÇDôÕW_íÙ³§ÎÞÕƒÕæçç3G$"æ-sÿ1kì©,Ì¿€¨œœœcÇŽÍ;—¹juuõ–-[Ö¬YÃ<{ûöm'''™Ð `þD%''[ZZ***ZXXèéé=þ¼  €yjÉ’%?ýô“lËh0ÿ¢ÊËË7oÞ|äÈ‘¬¬,¶±oß¾_ýõÇ,ÃÂZÌ¿@ÝAFFFZZšªªª¥¥eÇŽe]@k‚ùwÉSumæß$óï’‡ùwÉÃü;€äaþ@ò0ÿ y˜<Ì¿Hæß$O©Q{‡‡‡§¥¥µP)ÐÒÌÌÌ,ë*Úž@ à¾÷äÉ“/\¸ÐrÕ@‹š4iÒùóçe]@»Ð¸ëß ów­ÖäÉ“e]@;‚õß$óï’‡ùwÉÃü;€ä5úþ« eëÖ­c6Þ{ï=™Ö"¯_¿Þ¶m³=kÖ, ™–Ð"0ÿ.ïÖ¯_Ïl,Z´¨ÍÌ¿³oÊÕÕóïÐ&aýÉÃü;€äaý™¶#666<<<''GUUµ{÷îÇWUUÙçåË—ãÆ#¢ú–bß[~~þ¾}û˜íùóçëëë_½z5&&ÆÈÈhøðᦦ¦â Ðæaþ½-HJJúüó󃃅ŒŒ:4f̶%((ÈËË«  €yhiiyêÔ©ÚK±sé-??Ÿ}¡³³óÿýßÿEDD0555ÿ÷¿ÿyzz²2eJaa¡ðA%öÎäÖŸiõrss]\\˜ér[[Û¥K—zyy)((deeyzz1»¥¤¤L˜0™|733óññéѣǔ)SšÖ›°O?ýT]]}Ñ¢EÆÆÆDTZZ:oÞ¼òòrö Ì仹¹ù¢E‹z÷î]û m®oõ~øá‡ôôt"êÖ­Ûƒ444ˆ¨Gk×®­®®^ºté¿ÿþKD»wï...&"MMÍ{÷îÑ‚ 8ЄބõïßÿÒ¥K<oêÔ©ƒ&¢œœœgÏžõîÝ›=¨¶¶vDD„-^¼x÷îÝ-~^d óï­ÞµkטŽ;²‹¹§¤¤0QQQ™™™ÆÆÆ!!!L˨Q£˜Éw"š={¶Èü;ÇÞ„_âííÍãñˆ¨k×®lczzzïÞ½…ÊL¾ѧŸ~Šùwhó0ÿÞêåçç3wïÞ½{÷ní˜svvvòˆ ›Ö›p {·U¶±¦¦†ˆØƒvîÜ™}ªS§N ¾)€Öóï­ŸÏÏËË#¢¡C‡Ž9²öÌ$»žž^rr2åææ²Oegg7­7aŠŠŠÌs¼0ö 999l£pн|ù²¢¢BÖUÈ€ð¥Æ Âü{«÷ÁÄÆÆQaaá×_­¥¥Å>•™™ùøñcæútWW×Ñõë× õôôˆèرcMë#æ ×®]ËËËc– ùõ×_›ú^A.TTT”””Ⱥ Àü{Ût÷îÝuëÖ ·ðùü… ~óÍ7çÎËÌÌŒ‰‰±³³;vl‡222ž={áîîîîîND‹-:|øpqqñË—/ 0~üø„„fr\ÇÞ8Z´hÑ‘#GJJJŠŠŠ'L˜””Ñì“ ï0ÿÞjÜ»wïÞ½{Â-ݺu[¸paçÎoݺõÅ_ܼy3##ãçŸfw033ûàƒ˜í.]ºøúúzyy&%%íÚµËÒÒò×_}ÿý÷™˜ÕÛ9öÆ‘……ÅÅ‹§NúâÅ‹””æ gÏžuvvnÚIh-0ÿ.ï¾ûî»úžâóù̆••UPPгgÏÂÃÃ333UUUMLLlmm„÷wssKLLô÷÷ÏÈȰ°°?~üýû÷ÙgMLL¸÷ÆçóÙÂØû©ª¨¨°¶¶¶Ì†»»{bbb@@{Pá7eaaÑ´Ó çx€ûÞ“'O&¢óçÏ·X=ЂÂÃÃ{ôè¡££Ã<|óæÍرcoܸADööö1112­Zœ¤ò›““ƒõß }²¶¶æ¾3®oG~ùå__ß#FØØØ%&&‘¢¢â®]»d]@›‚ù÷vdèС—/_n´±±Ù·o_£îª Âü{;2gΜO>ù$888!!¡¤¤D__ßÁÁaÀ€<OÖ¥´5˜o_ÔÔÔF%ë*Ú>YÐáúw¶òr^HˆÆ­[Ož¨¦¥))ÔÔȺ&"MÍ>¿ÚÞþÍàÁe#G–Vɺ""ääòÀòÀòÀòÀlóÂÜ÷žy¢®^^®0|xéâÅ…vvodUòò yàyàyàyàNây±¶¶æ¾3®i¨©¡‹uvìÐè‹/^NšTÄçW˺(€ºUVò5Ñ?ÞlêÔWK–êêJõš äZä€;ä€;ä€;ä€;™ä׿´2¼þ½¨HÁÇÇ0<\í“OŠ|| ;tÀ×Ï ÈÏO{Çýš:x0ÛÁ¡\:ÇE^ 5B^¸C^¸C^¸C^¸k~^uý;¾-+5UyòdÓ„e_ߌ5kòña ­G'߸‘Ú»wù'ŸhIá È ´RÈ wÈ wÈ wÈ wR΋âºuë¸ïÍ\9;eÊ”–*ZŒ¤ò[ZZúæ ײRS•'M2Ñׯþßÿ²,-+›yhéSQ|øaIQ‘ÂÖ­üΫ{ö¬h¹c!/ÐÚ!/Ü!/Ü!/Ü!/Ü5'/zzzÜwnÜúïwïÞMOOçñxzÈ SSSi®¨Há‹/ŒLLªÎœÉTWÇŸÁ¡µRT¤U« ´´ß}Ç73«tr*k‰£ /Ð6 /Ü!/Ü!/Ü!/ÜI'/[ÿ}Ĉééé£Gn‰R@~ìÚµËÁÁaذa².$éÊ•+¦¦¦7oÞlf?ׯ©¡Ï>3NLTöõÍèÔ©ª™9€–.íªáë›nn.á‹;hcîîîîš—F­ÿŽû¯Bx<ÞâÅ‹wîÜ)ëB@’¤|ÿÕóçu¾ý–ïë›Ñ£G ~ß @š**x“&™ðùÕÇgI¶gäÚä€;ä€;ä€;ä€»Ææ÷_+)Qøé'½™3‹ða m‰ªª`ýúü°0  M v‹¼@›„¼p‡¼p‡¼p‡¼p×Bya4nýw.ìX]M ʺöbóæÍ?®ó©;wvîÜYÊõ´aýú•[²y³¾«k©¢¢dúD^dèèÑ£AAA̶‹‹Ë¼yód[Oƒ¼´ """444--íÅ‹¦¦¦ƒvuuU”Ô !/mBeeå½{÷îܹ“””ôúõk---;;»ñãÇwéÒEÖ¥µ5ÈKÛ››ô÷ß3-§N‡‹Ä!/mFhhh```FF†²²²§§§¬‹jkZ"/ Ì¿€„•—ó~ÿ]ç‹/^vè€{°HÒ×_™™IDS§N7nœðSOŸ>½ÿ~¯*//—FqíÉ¢E…nn]BB4GŒ(m~oÈK “Ö£G¶mÛV]]Í<”òªÛ ä¥U“OOÏ'Ožˆìâĉ=zœ:uJGGGzU¶ÈK«P_^?úè#‘E¯_¿¾ÿþÕ«WϘ1CÚ…¶uÈK« æóeçÎhÔzÈÐdÈK« &/ååå>>>Â7ó <|øð’%KpýÄI6/,Ì¿€„…„h””(LšT$ëBÚš¨¨¨çÏŸ‘‹‹K}ûìÝ»WOOO¸¿Kœ¹yå AeZùù2ýþûïÓ§OŸ>}:.<”‡òW¯22”›ßò"q\òÊüKoéÒ¥ÆÆÆ²)´Ý@^äYƒyž|'¢û÷ï³ß6l˜4Km'y&>/¶¶¶û÷½½½¾¾>³-ý‚Û<äEž5øùb``À“àÌ4y‘gâóòçŸ2íºººÌä; :”ÙÈÈÈà>K I0/,\ÿÞiii!!!/_¾ä¸ÿóçÏCBBD„V)-BBˆóÐÓóçBíuè32”ÍÍñe4IÊÈÈ^Þ===¹\·öÚ2ßÿ}II‰ŠŠŠ¹¹ùðáÇ "ÕBÛ ‹J"JKS25­lfWÈ‹Ä5˜——/_~óÍ7DÔ·oßY³fʤÎöy‘g\>_ .\XSS“›››ššJD¶¶¶_|ñ…›››ô nóy&>/ªªª"ûWUU½~ýšÙÆz€-y‘gÜÿýÒ¼È3ñy‰ŽŽfÚ…ïV%| ÑãÇûõë'¥ZÛ æ……ù÷Fðòò0`¾9ØyyÑ€„¡ç¦¸˜§£ƒ;±HÒĉ ôõ×_gee‘——s?‘=¯_¿ÎnŸ8qbĈ{öìQSS“fµí¶v Ià;dÈ‹Ä5˜—µk×æææª¨¨lݺ_Õ”äEžqù|yóæÈ-¾ËËËÕÕÕ¥\j;¼È3î¿1|}}ËÊʘm,ÎÛyÖØ¼@KC^䙸¼äçç3»ijj²/ÞfwI‘`^X˜o333333YW²`fFzΪ«yŠŠ².¢m155555e';ÌÌÌ $¼ƒ‚‚‚³³³³³³……Eqqñ… ÂÃÉèæÍ›?üðúuë¤_sÛ¦¨( ¢êj |gy‘8ñyñ÷÷g¾ÂùÕW_Y[[˦Ävy‘g ~¾‘žžÞéÓ§ß¼y“ššzòäÉÄÄÄÔÔÔ¯¾úêðáî®®Ò®¸­C^ä—¼°¢££7nÜÈlO™2eÀ€Ò(±A^äY£òR€¼È3ñy©¬üïlá+‡…ÆàÍ›7R)³‘`^X­ì²/vEõØØØ… zxx|úé§ÁÁÁÂûlÚ´ÉÕÕõÕ«WµÙ¥`Ø~=z4oÞ¼Q£Fùøø$''3ÏúùùMŸ>ÝÃÃcÍš5ÂýÔ^ÿ½ººúôéÓ3fÌpwwŸ:uê¡C‡ÊËëXëáÇsçÎõðð˜={vXX˜ðSàÏ?ÿôöö=zôÔ©S7lØÀ.ùÔfå呇MšDo¯!"JK£÷ß§O>¡ªªº_Å®¨K ’‡}ú)½;ô´i¹ºÒ»Cÿ_#» ÛÏ£G4oE>>ôvèÉϦO'Z³æ~j¯ÿ^]M§OÓŒäîNS§Ò¡CT×ÐÓÇ4w.yxÐìÙôîГ@@þIÞÞ4z4MJ6P›zh1»wï>~üøìÙ³GŒ1~üø_ýÕÁÁyÊ××·ª¾X´?;wî$¢=zx{{˺€ÖAEEeРAÎÎÎüñùóç ˆH :tH֥ȩ{÷î}òÉ'Ìâ3#FŒØ°aƒ¬+€ÖJKK‹Ù¨¨¨`…·µµµ¥]4^+»þYQý?þX½z5»šÞ©S§Îž=;yòdæalllHHû"áFvŠéÇ××wÍš5Ì_Š®]»vîܹÈÈÈíÛ·ïÙ³‡ÙíúõëAAAwîÜaЬÿ^ZZêáá!<Ÿ~öìÙ}ûövêÔ‰m¼zõêºuëØ¿G?~|ïÞ½ì]G>ÿüóãÇ —ºyóæ˜˜++«fž+ùe`@}DÞÞ¤£CÇŽ½yC“'Óƒô÷ߤTÏÏ$³¢úÐêÕôvèéÔ):{–Þ=ÅÆRH½;ôÿ5²óL?¾¾´f 1ƒrí;G‘‘´};½zº~‚‚èíЋ®ÿ^ZJï̧Ÿ=KûöQ` =]½JëÖû§ÈãÇiï^boøùçôîÐÓæÍCmxè¡ÅtèÐAø¡‚‚ˆ#>|HD¯_¿ÎÏÏ744”Qiò…ù8.--1cÓËl„††NŸ>ÝÍÍmöìÙ2«@¾éèèôïßÿÚµkD”˜˜(ëräQ`` óqãáá±sçN¥úþÐKKËQAAÛ(¼Ý–çÛVvý;cåÊ•gΜñ÷÷Ÿ3gŽ@ ø¿ÿû¿&ô³fÍš>úèܹs/^tssËÉÉ™0a‘#GV­ZåïïìØ1ssóððð+W®ÔùòU«V………ìØ±ãÊ•+û÷ï·´´ŒŽŽž7ožðnß}÷Ý|pæÌ___ooo·dÉ’¸¸8"*((8qâ„®®îÖ­[¯\¹rñâÅõë×°Zh³¾ø‚>ûŒŽ§#Gˆˆ–,¡{÷hûvrrjà…+W’‡9Cþþ4g Ô¤¡§5kè£èÜ9ºx‘ÜÜ('‡&L #GhÕ*ò÷§cÇÈÜœÂéž¡§U«(,Œ hǺr…öï'KKŠŽ¦w‡ž¾ûŽ>ø€Îœ!__òö&–,¡¸8"¢‚:q‚tuiëVºr….^¤õëÉÀ€ÚüЃ´äåŒ) IDATå±ÛÂkÃ%''ß«¸¸˜iÌÏÏ¿ÿ~RR’lks………Ì–€¨íâÅ‹ ,`&ß§L™²{÷neeeY­ØàÁƒ™ôôtv¶½„HQQKœµ ­òOñ3fÌ8ÂÌÛ;6>>>$$$77Wøªs.>û쳟þ™Ùvww722ŠŒŒ<þü¤I“˜F##£Q£Fݽ{wôèÑ"¯­ªª:v옚šZXX˜­­-ÓèååeggwéÒ¥œœö¾ÞcÆŒñõõe¶'L˜`dd´~ýú'NlÙ²EYYY ̘1cÅŠÌ'N\¹reMM;¸—Åþýôð!}õ%%Ñ4e -ZÔð«fÌ ·COcÇR|<…„Pn.5rèé³ÏèíГ»;Qd$?Oo‡žŒŒhÔ(º{—j =UUѱc¤¦FaaôvèÉË‹ììèÒ%ÊÉ!ö–îcÆÐÛ¡§ ÈȈ֯§'hËRV&€fÌ ·CO'ÒÊ•Ô†šŠ½ªÈýUžÓ(ò5öÙ³g¯_¿>**Šˆttt|||Ž=ª¢¢âêêÚ»wï.]º¨ªª6ê]´Vêêtá @›7“=ÊéUï=õëG!!TPÐèùw¡¡'--²²¢§OIhè©O"¢º†žž?§’5Š„†žôõiÒ$úùgŠŠ¢·CO"+ÌžMë×ST‘ŽùøÐÑ£¤¢B®®Ô»7uéBídè¡©zöìCD'OžüçŸÔÕÕ‡þÅ_ìØ±cÇŽzzz&&&ÅÅÅìÝ,455qóUhŸêË {kû*Ü Ú§úò¿sçÎU«VñùüÌÌÌÜÜ\æ%ÆÆÆ‹¸\9ÐæÔ——ÿýwÓ¦MÌ>jjj>þG«¹¹ù–-[dS1€ìÔ—":þ¼ŸŸ½;ÕøÉ'Ÿðx<"Ú±c‡±±±Œªúò¢®®þÃ?Ì;·²²rÇŽüñÇ«W¯²²²ˆÈÄÄdõêÕ².8i•óïzzzÂUTTˆ¨ººZÌKê|¶cǎ•••µµµ…—çc¾-(²”<ƒ¹ÏªH%l‹ð]XuuukïPööÖ£»wïþè£üüü¶nÝ¥§§·`Á‚eË–1Ÿ:mœ²21·lîÒ…8®!rÂUTˆˆÄ}ÝϾ;ô¤¬LÚÚï,=Ï|Q´®¡ÿï>«µ†þ¿á»°¾;ôÿíÀÞuv÷núè#òó£­[)*ŠôôhÁZ¶ŒÚÃÐC“|õÕWÑÑѱ±±555ÑÑÑDdnnND={ö\¸páµkרe”••GŒ±lÙ2,íS}y€ÚêË‹‡‡Gffæµk×ÒÓÓÙëQtuuÇŒóÕW_éëë˲h©//Âÿ,//g¿)Â`×:hWÄü>–––&"Šˆˆ`6Ø €öCL^\\\N:µy󿍍¨§OŸ‘’’’»»ûêÕ«ñåÝÖ¢Uο‹ÇÌwçååñù|¶ññãÇ’=Š‘‘ýóÏ?555 ÿ}æCøOµ<:t(û022’ˆLLLØ"b¾BòÙgŸ©¨¨øøøH¶`¹óæ MšDEE4q"ùúÒÆ´fMsûdæ»óòHhèIÒCOFFDDÿüC55$4ôÄü® üWúHhè)2’ˆHhèÉÅ…\\ˆˆª«éÔ)úì3RQ¡6?ôÐTFFF©©©ÌWψˆù¢™žžÞâÅ‹/^\ZZšýòåKmmm æo“íS}y©mÍš5EEED$ük@»R_^¬­­7mÚôý÷ßççç3—Yéë뛘˜´‹ËDêQ_^ìííOŸ>]ß«˜EœÚ1¿M™2EÌ:f¸øÚ!ñÿ~0`€¯¯onnnVV–’’’……nóÖº´Áùwkkk"Úµk×Áƒªªª6lØ ñùwƒ~ýú=xðà›o¾Ù´i³’ûÞ½{ÿúë/CCCfáÆÆœœ˜û!¤¤¤0ëîîîDçïï?kÖ,&TŠŠŠ]ºt!¢¶?ÿ¾x1EDÐÞ½ôå—4r$­[Gƒ“›[³ú´¶&"Úµ‹$ªª¢ $?ÿn`@ýúуôÍ7´iÓ+¹ïÝKýE††$4ô´q#99s+Œ””ÿ&ÖÝ݉ˆââÈߟfÍ"æÿ§ŠŠÔ¥ QHæßA¼.]º0ÿ£¨MSS“ù 0Ää…eoo/bä\}yQPPèÔ©®®V;/:::XÄ  Nu~¾˜šš²7¯–ø¿àW²ÖK¡á]Z›iÓ¦©««:tÈÌÌlРA†††Û¶mž—”mÛ¶)((lß¾ÝÐÐpàÀFFFÌ:˜Û¶m^ÄÆÔÔtРAvvv}úô±µµŽŽîÛ·/³ôü‹/V¬Xahhhnnîäädgg7räH"jû¿º>M’—-\HŠŠôûïÔ¹3MŸ^÷zëÜM›Fêêt虙ѠAdhHÛ¶Q =mÛF ´};ÒÀddôßÍc·m{gSS4ˆìì¨O²µ¥èhêÛ÷¿¥ç_¼ +ÈÐÌÍÉɉììhäH"¢6?ôíFœ744ŸÖ®¥¶=ôíI+[ÆÛÛÛÃÃÃÆÆ¦v£¥¥%Û2mÚ´ &DGG+))õèÑCEEÅÒÒrΜ9ZZZbúùå—_„o›CD:tîܹ3ó¹ˆð’Ê~øá‡~˜““£§§ggg'¼ &s__ߌŒŒÔÔTá/’èêênݺõ‡~HKKËÌÌäóùæææÌM_Û2eeúã²µ¥·ÃADäìL‘‘ôâ•”ˆÞ•áíMôîý×(4ô4mM˜@ÑѤ¤D=zŠ YZÒœ9ÿÿXuöóË/ôîÐS‡Lo‡þ¿›¦ ¯¦ýá‡ôᇔ@99¤§GvvïÜ7•9ŠƒùúRF¥¦’‰ ‡HW—¶n¥~ ´4ÊÌ$>ŸÌÍ©Í=@{ÒÊæß­¬¬¬¬¬¸4ª©©9::²ííí…x­ó%ýû÷iQVVvuue2÷V544ÙÍÆÆFd*¿öQLLL„ï¹*ŒÇãqY ¶í°µ%[Û:ÚÅ/ceEµ†¬îF55z²·'áµ}ë|I­¡'eeúÿî­ZkèÉÆFt*¿öQLL¨ž¡'ºt¡ö3ôíI\¦%üôÓO¶¶¶–––ÂÚCÛ÷ÓOdkKdiIzà óïœ<{ö,>>¾sçÎ'Ož^aÚ¾gÏ(>ž:w¦“' Cœaþ“¥K—FEE¥¦¦:TÖµ€t-]JQQ”šJzhŒV¶þ»¬ØÖ¹^9´zh\ÿ y˜<Ì¿Hæß uˆŽ~acã·gÏSY"Jn «­¬¬jãÆ(gçk]»úÙØø½~]½}û¿ØØWÌy//¦ØØø]»–ÉqÿVt[¹=«r[XmÈKû!·gUn « yi?äö¬Êmaµ!/í‡ÜžU¹-¬6ä¥ýÛ³*·…Õ†¼È3Ì¿´{ö<=q"1+«L u)ÍY`cã·œ¬ 6yàyàyàyày‘gJÚûÙ³gñññfff-T ÈC‡]¸pAÖU€$tíÚUÖU4]¯^&ȺŠ:Èmaµgkk+_¸0ÌÒRKAGDË—÷X¾¼‡¬ëÉ“ÛK¹-¬6ä¥ýÛK¹-¬6ä¥ýÛK¹-¬6ä¥ýÛK¹-¬6ä¥ýÛK¹-¬6äEž5nþÚA«þ{Ô%/¯ÂÊJÛÚZ[Ö…´È wÈ wÈ wÈ wÈ‹ coWòøñ˹sï~ø¡iƒå‰ï–cm"ºu»T]-î‹)|¾êÝ»6Xw ÖYQQýñÇ·ÄŸŸÆ¾Ù¦œ¦½ªý@^jC^—ú /µ!/ÈK}—Úä¥>ÈKmÈ òRä¥6ä¥Uç÷_€VéÔ©çÿüS`l¬qèÐ{½uËÃÇÇŽÇãmÚ—WND—/§]¾œÖ­›ÎÑ£N‘‘£££Çýö›‹½}‡³g“>,dûñ÷O›4É<(ÈýñãqgϺkDD°0'O>}ee¥}êÔШ¨qÿí>c†õ•+é –'¾[޵IзßöNH˜ ­­Ü§OÇ„„ ìsçÚŠyUƒu²ççäIæü|0}º¥Èùi웿ÿ‚Ý~ÿÝ…ˆ–,éξ‹&¥½A^yiç—FA^Ú9ä¥Q—vyiä¥C^y‘˜€VéÏ?Ó‰hÏž#Fii)©ûøØO™b^QQ”MD.¤(*òŽ2lXg]]uuEGGý;‰(00‹ígèÐN6ô57×TSSìß_ßÛ»+=}úßçµk™<íß?pð` ESS͵k{Ú©Ž‚Þ%¾[޵‰ˆ‹óþ(­ýŸdÿÎ¥Îk×2˜óãäÄœõëû:94ª“Æ´i¥¶sÈ òÒüWµÈ òÒüWµÈ òÒüWµÈ òÒüWµÈ òÒüWɬ?­RJJ©®®Jß¾…GŒ0úý÷ä””"Š/ª®8;_#"à¿[ 3÷ÎÌ|;ä½÷Þùð03Ó$¢ÒÒª·G)éÜY½kWá}œ;‡…åŠ/O|·k“¹ëLI)­}~\\:ß¹“ǽ“Æ´i¥¶sÈ‹ /mò"ÈK›¼HòÒf /R€¼´È‹ /Ò„ùwh­Äßg£¦F@Du. VYùÿUUßùÓ§@ Ú"L ¨£Oâ»åX›é¯×´:›ÙIÓ*‘RÛ6äEò‚¼ˆ¼ˆ@^1È ò"ò"yA^Ä@^D /­:/˜§;wîܸqcÖ¬Y²®år[Xër'ñÎ'7f ™e¡o!ëZÞ!·…µææš½ø÷ßÂ>}ôØÆ¿ÿÎ&"ss-"²¶Ö~òäÕ;ÚÚÊÍ8ŠVTTaBB±6ÛØàÃ$‘Ú¤ Á:ÍÍ5£¢^ÄÇ ÿI<44§Q4ö  <ªõÑÛZN©¬ /R€¼´È‹ /mò"ÈK›¼HòÒf /R€¼HÖ§;wî¬_¿>99Y†5„††®[·.55U¸Q kî$ÜY°>9?Y†5„> ]ç¿.µðÝñ•ƒÂZ5æ¦Û‹EþýwvIIUvvÙ¾}Oÿ=YEEaäHC"š<Ù¼¬¬jæÌÛ7ofVTVÖdd¼Î^°àžð·¥Äûà#€,¸wï^~YYuFÆëM›¢›ÿyÜ´Ú¤¿\ƒuzx˜´`Áýðð¼×¯«ÓÓ_÷Ý#‘·ÐØ7Ûàþ:(QDDþË—oš|”öyA^îäyáyA^îäyáyA^ÚX^pý;999}÷Ýw²½Æ<44týúõnnn]ºtaå¡°6ÀÉÆé»±ßYð-dXCh|èú€õnÝÝºè ¯֪͘auíZƃ…sæ„ ·ûm5"š8Ñüþý‚‹S¼½ïмÖËË‚ãQfδö÷OúôÕÇßbZx<5ÊäêÕ %%±_‡K"µIAƒuΜiåïŸûjÆŒ0¦Ç£Ñ£M…o‰ÞØ7ÛàþZ;«…‡ç p…iOH˜ÐZN©¬ /R€¼´È‹ /mò"ÈK›¼HòÒf /R€¼HæßÉÉÉÉÉÉIÖUÔAn k]œ¬œ¬åñ4Êma­…²²ÂÉ“CŠÿãô´´R…^½:z{wuqéÌìÀãÑÖ­ý† ë|ölòãÇ/_¿®24T³³ë0q¢ù! ßМ¡¦¦ø¿ÿ ýñǘ72KJªºvÕöñ±{üøÕÕ«:¨4¹x‰Ô& Ö©ªªxú´ó?>¹~=³¸¸ÊÚZËÇÇþÕ«7ŸÇ}³ ÈÛ¿ÿ½~ˆ~òäeYYuÓŽÒÞ /R€¼´È‹ /mò"ÈK›¼HòÒf /R€¼HËX“'O&¢óçÏ7ö0< ÎÎÎŽŽŽ—.]zôèÑŠ+444Ø}^¾|yãÆ¤¤$ee常¸°O†……Í›7¯cÇŽ ;w?~¼žžžÈ¸t¢««{åÊ•gÏžõïßßÝݽÎeÖ‹ŠŠ544úõë7xð`ño0%%%000''GOOÏÕÕÕÎήöqutt._¾œ’’bllc®·°°˜5kV…q9Pƒg©A<oñâÅ;wîä¸ÿƒÔ!q!8wuv´p¼ôðÒ£´G+ãt5ÞŽoøÉwN? þlÈgÌõï|‹YN³ê,ŒËŸOD[·níׯßÊ•+Ÿ>}Êì ¯¯Ô§Oö%\:éÙ³çŠ+’’’ˆhéÒ¥Ìüûúõë]]]Ùiî£G.[¶ìÕ«Wl?C‡ QP¨{¹üU«VmÛ¶­ºšý³ ïóÏ??pà€²²2{Ü=z,_¾<%%…Ù‡Ïçûùù :”ˆNž<LDÇgž6l3ÿ.R—5x–$«FP3ïԼ÷„Æwø‚’Š’_ïüºpÄBvþýXر%ç–• MWgßù¾|->Æn½¶µŸy¿•V>Í~[¹–~ÐÒ >fBãË¡“ž&=W\X‘”ŸDDKß_êÞÃYfݵ›+;Í}4ìè²sË^• ¯ÍÐ! ¼zÆ×oÕ¶kÛªk„NûÐÏ||@YQ™=nãË/,O)x;¾Z|¿~Cm†ÑÉð“ÁOƒ‰èøí·ãk;l–Ó¬Ú…q9Pƒg $nóæè=t Ð×ÓSIN.Ý¿?.&æÕ{ïàà6ä€;ä€;ä€;ä€;䤣ÅçßwíÚuøðaEEEOOO++«¸¸¸ïsùòåÏ?ÿ\IIiôèÑöööýõ×­[·>ýôÓ+W®°»Í;WIIÉÛÛ[KKëÚµk111 .¼uëV£:™?¾ŠŠÊœ9sLLL꼪ýüùósæÌ!"GGGGGGEEÅþù',,¬¦¦¦Îù÷ýû÷oÙ²…Çã3ÆÞÞ>99ùÒ¥KGŽáóù[¶law[°`ŠŠŠ···ššZ```LLÌ„ ž>}ª¯¯?sæÌšš‘ëß›| ñgIâvî:|ë°¢‚¢g_O+«¸ì¸0Ðzw|]þü×Ï•”F÷mod_QYñWÌ_·âo}zìÓ+>Bã{j®’‚’·‹·–ªÖµ'×b2cžYxkå­Fu2ÿô|E•9ÎsLtM꼪ý|äù9¿Î!"G GG GEÅRþ K«ÔÔ9ÿ¾?xÿ–?·ðx¼1½ÇØÙ'$_zxéÈ­#|-þ–‰Bã{fТз‹·š²Z`l`LfÌ„ýž~ÿT_Kæà™5‚‘ëß›| ñg ZBRRɱc Â-Š«W÷’U=ò yàyàyàyàyéhñù÷üQAA!00ÐÕÕ•i¹|ù²§§§ð>«V­ÒÐÐ íß¿?Ó"&MšäëëûôéSv‰kkë¿þúK]]ˆ¶lÙÒ»wïÛ·oéèèpïÄÔÔ4$$D[[»¾‚W¯^MDû÷ïŸ?>Û¦¨¨Xçþ?üð]¼xq„ L˽{÷œwïÞýí·ßjjj2FFF·nÝbJ­ªªòòòòõõ=qâIJeËfΜ™šš<{ölæŠøæHüY’¸oü¨ÀS\èÚÍ•i¹üè²çþwÇ×o•†ŠFèŠÐþæBCóó$ß¾O³Ÿ²K¬XXÿµô/ueu"ÚRµ¥÷úÞ·o•é¨ëpïÄ´£iÈòmµúÇ×o5íÿxÿ|W¡ñMSäÕ3¾W ¢‹_^œàðö´'ÝsÞê¼;p÷·£¿ÕT};¾Œn­¸Å”ZUSåõ‹—ïßwN,s_6sðÌÔÂÔà§Á³‡Îf®ˆoÎÄŸ%h «W÷ÒÓSŒÌÏÊ*ÓÒR8PßÇÇÞÖ' È wÈ wÈ wÈ wÈ HGË理¤dffº»»³“ïD4~üxGGLjˆæaVVVLLŒµµõÕ«W¯^½*˜%陋Í###Ù©ó•+W2ÓÊD¤¢¢âææ—••¥££Ã½“åË—‹™|OOOwttž|'¢ú¦ÅSSSÓÓÓ‡ ÂΉÑ Aƒ&Ož|æÌ™8;;³Å³3àJJJ6lðõõ½}ûö²e˸œÉF¨¾³Äå@’R’ù2Ó½‡;;ùNDãûŽw´pŒH~;¾¯²b2c¬ ¬¯>¾zõ±ÐÐðˆ(29’:_é±’™V&"%7{·¸ì¸¬WY:ê:Ü;YþÁr1“ïé/Òãsã-…'߉¨¾iñÔÂÔôéCl†°sâD4ÈrÐä“ÏÜ;ó õs×·§Ýc%;®¤ ´aüß¾·n/sç6¾9P}g‰Ë  ,,´¶ní'ë*Zä€;ä€;ä€;ä€;䤣eçß_¼xAu­¦baaÁοçååQbbâš5kj÷ ¼»™™™ðSZZZDTYYÙ¨Nºví*¦à‚‚"êÖ­›˜}„1oÐÊÊJ¤Yƒ¿°°m±´´Þyȼ\²s–$îÅëD$|ûP†ß‚Ï+Î#¢Ä¼Ä5—ê¡EØÍôÞ­\U‹ˆ*«+ÕI×NbÇ·¤€ˆºrßÒDdePë´XQa©Ðøòß_¾%½=?’=˜³r¥eçß;vìHDÉÉÉ"íÂ-Ì>Ý»wŸÅÅÅq9({ÜçÏŸ‹´'&&‘žžÛ’””$¼Ü¹]CcÁm|9w¢¤(v|µô‰(.›óøjv$¢çyµN{^"éi o~’ðróÌ `™²%{ h-ZvþÝÜÜÜØØ800044ÔÅÅ…iüã?؋߉ÈÌ̬k×®YYY“&MêÙ³'Û.nܸÁ.æ.žD:!"SSÓ®]»FD€~Ò% IDATD:tÈÛÛ›m¿}û¶““ÇÙ¿K—.¦¦¦·oßö÷÷7nÓyáÂuuõ~ýþÿwX¶nÝ:vìXf雪ªªµk×Ñ!C˜gÕÔÔèÝËØ›| i2×77Ö5Œ }êbûv|£þ`/~'"3=³®ºf½ÌšÔRO“w‡&滘»x鄈L;švíÔ5"9âPè!o¡ñM¸íd]×øêu1íhz;á¶ÿ¿þãú¼=íÉ‘þ¹ ®¬Þ¯‹Ðø^Û:¶ÏXfé›ªšªµ—×Ñ›·ã«¤Fï^ÆÞä@kÑâ÷_]²dÉòåËGŽéééiiiïïïß©S§ÜÜ\vºsÛ¶m'Nìׯ߈#ìììÔÔÔ’““ïß¿Ÿ””TVVVßOEH¤"Ú¸q£——×ܹs=êè訨¨yçÎÊÊÊ:¯ÿæ›o.\èéé9fÌ;;»””??¿ÊÊÊ•+W²÷D%¢¬¬,{{û1cƨªª=yò„ÏçÏš5‹yÖÆÆ†ˆ–-[¦¡¡aaaÁ>ÕØIÙ·%Ë/,ùãHOOK¾e|n¼ÿ#ÿNÚr‹syôv|'m›xpb¿ïû°agh§¦¬–\|?é~R~RÙ2Enã+‰Nˆhã„^¿xÍ=5÷hØQG GEÅÈäÈ;‰w*©TâÕ5¾£¾Yxf¡ç~Ï1½ÇØÚ¥¤ø=ô«¬®\é±’½'*e½Ê²_c?¦ÏU%Õ Ø '™OøZüYN³˜gm:ÙѲsËÂâÃ4T4,øìS=´Ò˜=vìØ… ˜–ùóçgeeùùù±³Æžžž§OŸþꫯ®_¿~ýúu¦QAAaÔ¨Qâ—‹&‘NˆhÊ”)………Ë—/¿ÿþýû÷™FgggæV®µ-X° ==}ûöíDÄãñ>ÿüóï¿ÿ^x·}ûö}ýõ׿üò óÏçûùù1ËÝ‘‡‡G÷îÝcbb¶oßNDÆ «=ÿÎñ@R¶äý%±Ù±ÇÂŽ]øçíøºÎÏz•å÷Ð5ötð<=çôW¿}uýÉõëOÞ OaTÏQâ—‹&‘NˆhÊ€)…¥…ËÏ/¿Ÿtÿ~ÒÛñíêÌÜʵ¶Ã¤¿Hß~}{À¿ÿ¾=íC?ÿÞóÝñ¾ïëó_ÿòv|µø~ ü˜ånˆÈ£§Gwãî1™1Û¯o'¢a¶ÃjÏ¿s<´->ÿ®¨¨xôèÑùó燄„ÑСCØ­[7>ŸÏ,ºÂ˜6mš§§gPPP\\\MM……Å{ï½ÇÞJÔÍÍMMMÍÐÐP¸g¦±S§NÍ鄈œœœ¾ûî;á›ÄΛ7oêԩׯ_OJJêСC¿~ý $æ=nÙ²eîܹ999zzzÇ·³³ÙÇÖÖ6&&Æßß?%%ÅÄÄdܸqºººì³jjjW®\IHH¨¨¨`Š©]˜øqZZZÓ§O¯ïY ‘›ÇÖY˜˜q?K’‘áháÈ.Â¾ïæ¾g9Ï&8Ô_eõ1½ÇŒé]×ÐØ»¹Ùת¼®ÆÆvBDNÖNNÖµÆWC×˱1ã«o1ǹ¡ñUÕš>¨þñUј<àÝñ­«01â~–@Hcþ}Ĉ½zõrppPVVŽŒŒ¼}û6-^¼X ‡)±cD/Ó^fÊŠÊ‘)‘·nÑb7Œ/´ˆìâì[Ïoeg Hðåà/ï§Ýÿ'ýŸi}§hQnIîï~ÔeР.â¾ÓÀ‘d{“‚ÈôÈ;ÉwˆèËÁ_*+*3)/R.?¹ìbåÒ׸¯L«@^Ä@^@ò"ò"1¼ˆ¼€äE ä¥U“ÆüûÀoÞ¼ÎC}$ò *ÙÞZZé›ÒÅ—ggÑœAs„?÷„íÑVÕÆçq{ƒ¼ˆ¼€äE äD /b / yyÈ‹ÈKk'ù÷   ÈÈÈGååå»»»Iá¸r¢¾uçÛŒ eA‘É‘Òåçë»÷p7êОƷžuç¡%ì ÛSVYö¡Ý‡VúV <ee' 'U%U¾¿%×Y»skù0&¢íofºfi/Ód] ÈäE äD /b / yyÈ‹È ˆ@^Ä@^Z;i̿р  cÉ)¬À.s, °h¯ã‹Ø¥(± цo³ÇsÛ2ÄbÈ‹!-t¸NZ|†ú´Pç’õoÖ¿gž9øÑÁ]·vɺÈK}¨ y©òµ!/õA^ 6ä¥>È Ô†¼Ôyi¤4ÿСÏCe>zYö’G¼=a{Dže׃«Sµ :<9<./®ª¦ÊRÏr˜Õ0U%UöÙÊêÊ[I·R_¦ óŽæNNjJjÌS"ëÁ ?XY]Y»ÿýgtTïÈåX-¤ZP½êÏUÝË×äï¿›ùYîÀìRtÂÆvË|‹?Vö†í@Ì×PÖ˜3hŽ˜ˆèðÝÃÙÅÙ¿NýUünŒÊêÊÕ×VûFûÎ}ono£Þ\^­ò"ò"1¼ˆ¼€äE äD /b /ÿ¯½û«ùþÿ?þ<ÓO¥ŸJR‘ÑäG‹™ 3F ï™ß ñž5oì‡Í¾ÞoÛ0Œ±ŒÌˆY„ÌÌ*†ØV-¿-FQ‘DBH¿Î÷×vœO?N¯êôCÝ®—ýá<_Ï×óùxÝw\žçÕóU?°þà Ыu¯Æ&¿úõ+kSë‘FjÚ^>úGÚeuõÎÕñß¿›{׳¹§g3O#•Ñ™ëg~»òÛäí“#'Gš›rð“ÌœÌvMÛuwî®2P]¾}9&9æBæ…R÷€›æ3MûûðG6Ämxý™×]l\äÌUj…«Ž­*,*Ôqávìt§d§¬:ºjAÿvÊß/ûaöÔð©Ç¯ÿdà'Ã;/·?žPä¥,ä%‘—²”D^ÊB^Py) yAIä¥,ä¥Þ`ýÀ Wë^½Z÷Ú·ÁÁÂA{¶Gt|¯ýmíÝÜ» ú-ã5FÓøMü7 £Fœ‹ÝytÖƒ,—Ýãw( ¤£Y²²d•:ÚÔS5Î/ÌØ0Âsļ>ódÎUê˜>å~®ã¨⃟>ðrôÖa˜înBˆ¤[I“·O¾“{çÛQßvuêZn<¹ÈKYÈ J"/e!/(‰¼”…¼ $òRò‚’ÈKYÈK½Áú;€zëØ•cJ…2ëA֗ǾT«ÕjµZq?ÿ¾âtúiÑYôoÛ?$6äû“ß÷qëÓÔ¼©ÂÆÌÆÆÌF÷°…ê™»gÚ[ØøÂ‡òç*Õ ßU¹Àgv&\MøqâåöŒO‹_ut•™Íö±Û[Y·ªÊ¤¨¯È‹yA¹È‹yA¹È‹yA¹È‹yA¹È‹y©û*¶þ~ëÖ­´´´Y³fUS5¨;¢¢¢ø‹®gNž<éèèXÛUÔ¨¬Y…êÂ1+Jº÷èžâ­žoµ´j¹ëì®…Q ÍŒÌ:7ï<øéÁ=ê³°¨pVĬFFX¨P(äÏUªªì÷¨àÑÿ¢ÿçbã²óÌNM£´·Ýêc«”FÏj¾çM‰½“{gP»AÎVÎ:¦CCF^È ä#/äò‘òùÈ y|ä…¼ø©æ£Næ\¥ªÊ~pòÜ~xûöÃÛç2Î;ôÕ¯_ !¦?;]Ó2Õgêå¬Ë¡ÇC>úï€ÿ* ”:&EÃD^4-äå"/šò‚r‘M yA¹È‹¦…¼ \äEÓB^꾊­¿wïÞ]V=Å ®P(o½õÖ²eËj»è“¿¿m—PÓ|œ}¶Üælí<¸ý`íöĉÆBˆƒöjÝKi 4P´¶mÝʦզ?6í8½£ÔÏcµZýþOïßÏ»¿jè*¥¢øçY¹s•ª*ûÁ™¨L´·Æ“l9¾åæý›=Œ”F ñøëz…P|ÜÿcKË5¿®¹“{gÅàFJ#ó¢"/švò‚r‘M;yA¹È‹¦¼ \äEÓN^P.ò¢i'/uû¿¨·¦úLýéüOA{‚6Ämðlæiab‘™“yáæ…Óé§CF„´°l1}çtkSk/G/'+§üÂüßR~K»“æÑÔ£ÔÑD.ˆ81Î{Ü—G¿Ôný™×­M­Ë«Ô1«²œ©¡iÉÏãÈ¿"oÞ¿9ÍgZ©äAÏY›Y/:°hâ÷¿öU#£F•žõy)†¼@òR yä¥òÈK1ä:—bÈK]Æú;€zËÑÒqÓ¨MA{‚Î\?sæúãý”Ú5m'}@öqëy!r_â>íSþ÷âÿJ•x#qsÂfñϯzi{©ÝKÖ¦ÖåÎUGLðž`ibùî¾wÿµõ_!#B¬M­k»"Ôä¥$ò‚²—’È ÊB^J"/( y)‰¼ ,ä¥$òRg±þà‰ñf÷7‹=¬Ü§•±ÊØÎÌNzioa?Ówf·–Ý4ž²êlj?&\M8sýÌÃü‡m›´mgßN:ºjèªÌœÌø´øÔìT3#3—Î=4½ifkf[òËg‰¦$ÝsÕŒQFݼÓÐÀPÓâlí<ÓwfçŸÈ>¬Ã0{sû„« Ç.{©ÝK5Yjy)yy)yy)yy)yy)yyr)Ôj][#íÍþïõû¿×KúÊoFFFNNŽŽnn®_|‘1p ®>À“N_?çä yä#/€|ä¼òÉù9wuu•? Aù]@±þ€þéýÝÜܼwïÞz¶êêla2Õ‘úÍÍWôî½­¶«(E-L¦'½~Åpÿ{]¤R©úöí[ÛU º¨TKûöý¾¶«P½TzQ÷ƒkQ-L¦:RNοk»„ÒÕÙÂdzÒëP ÷¿ 5±ÿû¦M›zôèaaaaffæååµråÊ¢¢"í‡zùå—íì쌌Œ\\\Þyç»wïJ‡rss Å!CÒÓÓGeccÓ¨Q£¾}ûž—Ÿ_ü„ +ŸzÊvëÖA´×‘íìL#"†z{;˜™º»[¯XÑGqòä éèŽ !-ê5nÜÓ¶¶¦ööfžï¿ß£Üòt+³¶ ]¯ÄÜÜp÷î¡]»6kÔÈÐÃÃfëÖA611W32èë•sjWõ®¿_¼xQ1hÐ íFé¥tèìÙ³BˆQ£F©T*¥R©T* T*Õõë×SRR4§xyy5nÜXó²uëÖBˆ{÷îI//]º$„èß¿¿ö,Å^–J÷°2k«ÐõJ:uêÔ´iSÍKCCC??¿b}t“9‘î ¬º‹o ! rý¿e´B\¼˜-„8{ö¦bÔ¨Tª¥JåR¥r©Á•jéõë÷SRo£ïåe߸±‘VVBˆ{÷þÞ‡ýÒ¥l!Dÿþ­´g)ö²Tº‡•Y[…®WÒ©SÓ¦MoOdhhàçç¬9]™é¾@µ«Ú÷B(вIÏ -,,,y(/ïñ2¢©éÿÙÏZP³-{©³;Z*ÝÃʬ­$׫[EO,·¿œ÷­êtT!=/´°°”óò?ƒ×ÔôÿüJ+³R¿º†•Y[I•ýë­Äßo9ä¼oÐy!rÿ…ý×ï]/** ²ëÌ®ˆ³‹.r¶vB$ÝJzÿ§÷‡u6¬Ã°Ú®´LéwÓ÷ß—x#ñFÎ kSë.Ž]†vjfXüqÙ³·ßròÚIµP·wh?ºÓè&æÅ? §2òRÑ>hÈÈKEû !#/탆Œ¼T´2òRÑ>¨IÕ»þîææ&„Ø»woûöí5?þø£æ‡‡‡"22²oß¾•žÅÕÕU±ÿþ©S§j###+= ¤µ•{½’'NܸqCs |~~~tt´æB„UŸ¨º¹¹Y !öîMjßþñ]ü1Iáæf%„ðð°BDFú÷íë\éY\]­„û÷'OÚIÓy¥ÒJ*Q[¹×+9qâÆ4·ÀççEG_Ñ\ˆÂÀ@QP k™\æD¨m'·½·ï=ÍË"uQjvjljìƒü¿÷ºŸw?65¶»s÷Z*°|ã7.Œ^¨ýåÓžs{Öþ¾öÛ×¾•þI!IÉNymók7rþÞ‰èÀÅ›þØ´eô–6MÚT¨2òB^ y!/¼ÈG^È ä#/䥎«Þýgüýý… ,X½zuFFÆíÛ··nÝ*=htĈBˆ±cǪTª1cÆ„„„¤¦¦æååeddÄÄÄ̘1cÑ¢E2gyõÕW…óæÍÛ´iSVVVffæÚµk.\XÅâ+Q[¹×+ÉÉÉòB^ê¸ê½ÿÝËË+((héÒ¥Ó§OŸ>}º¦ýµ×^2dˆÂÝÝ}Íš5'N,vîœ9sdÎÒ­[·I“&­[·nìØ±šÆ‘#GnÛ¶ÍÐаÒÅW¢¶r¯WÒ³gÏK—.uëÖMÓbnn.==UòüóÏ÷Ýwš;Ù<Ø»wïJLTݼ¼ìƒ‚º,]?}zÔôéQZex â&„pw·^³æ…€€Ÿ'NÜ_ìÜ9sºÊœ¥[·f“&uX·îôر?jGŽôض-Ñаò_ U¢¶r¯WÒ³§ã¥KÙݺ…jZÌÍ ¥§§Jž¾åwß%º¹­“^<8²wo§JL„ IËNkÛ¤í¯1š'+''+'§Ô5ã½ÇÏê9K³‘Ñs­Ÿ{¡Í ý¿î—w?ï~#£FBˆ“×N&\MhiÕrãkMT&Bˆ>î}^ýæÕ³g^>ÚÓ¥§Ì>hàÈ y|ä…¼@>òB^ y!/¼—:®Ú÷_²dIÇŽW¯^}æÌ™Â¶mÛN˜0AºS[2iÒ$OOÏÏ?ÿüðáÙ™™Mš4qww9rä˜1ct [Lpp°››Û×_ššêèèÐ¥K—mÛ¶Y[[W¥øJÔVîõ !lll6lØ0kÖ¬C‡=û쳟|ò‰§§§¦Ã²eË 8pûöí²6:—3Q X²¤wÇŽMV¯>qæÌÍÂBuÛ¶Ö&t ì¬é0iROÏ&ŸøpZfæƒ&MÌÜÝ­GŽl;fÌSòg îçæfýõ×§RSï9:štêÒÅ~Û¶Dkk“ª_‰Úʽ^!„Ɇ ¯ÍšuðСԢ"õ³Ï¶øä“^žžwÚZ¶ìù‚‚¢RnßÎ-k»v954'¯üôà§c»ŒíÞ²û·|{*ý”±Êøy×ç‡u¦ùˆÒôñvòÞœ°ùìõ³MÍ›¶mÒv_â¾»îæÝÎ:ºØ°šýàJ•œ•¼ãôŽ ™ Š \l\†wÞξæhâÄðÓá©wRÕjµ³µó+í_ioß¾¬¡ªÎÚ´øÿÐ-[Û´þóÆŸšï±^>*„á9Bú B(ÊyýkÞ¾y‡“KŸµrúàIG^È ä#/äò‘òùÈ y|ä…¼Ôoú_ÏÉÉ)Ö2vìXí;ÓKòööÞºuk©‡LLLJ.@—l400˜3gŽömé3gÎB<ýôÓ¥&sXݵ•¥ÜëB¸ººFDD”uÔÁÁ!,,¬Xc…ÞXùXQ99ÿ.QFû±cuý?ÈÛÛaëÖA¥21Q©Õï”Ûh` ˜3§«ömé3gB<ýôãíѵ “9¬îÚÊRîõ !\]­""†–uÔÁ¡QXØ+Å+ôÆÊ¿ÀúäNîØÔX/G¯O|’v'MjÜ~ÿ™ëg>ê÷‘vŸŽÍ;~ù±´ÙÙSöO™¨LbScÅ?;¾V³\I[ŽoYðó‚Bõßa>œtxsÂæÿøïðŽÃ…á§Ãçü8G;Sëc×/}yéàöƒËðõ­¯•òHg +S«Õ¯®ÖÑ¡˜{î]¹}¥c³ŽÆRËÅ[…žÍ=µ»I//ݺ$¿žtä¥$ò‚²—’È ÊB^J"/( y)‰¼ ,ä¥$òRŸTûýï5cݺu7oÞnaaÔ¯_«Ú. 5mÝïëÜíÜÿ÷âÿì-ìÏ^?»úØêÐã¡SºOiÞ¸¹¦Ï7q߸ظÌôÙÒªec“ÆÆ/´yaRؤæ›ÜÿcM·ïN|·çÜž²&J¸šðÑÏ™™î<Ú³™§‘ÒèÌõ3â7|°ÿƒîÎÝ-×Ç®BŒ}f¬O+•êòíËg#îæÞÕQ|lj¬îÏc»Fv:Ž–ôÑÏ=*|4·Ïãýàn?¸-„hÒèÿ<Ù¼©yS!DöÃlù}P?m云m云m云m云mä¥>©'ëïÙÙÙóæÍ›7ožvãçŸnnn^[%A²³sçÍ;2oÞíÆÏ?Þܼòûûã ÕʦÕö±ÛUÆBˆçZ?—_”¿2få‰k'´?›š7 #ÜÔÐTÓâlí¬2P™™wkùø¹ ‡“ë˜($6¤H]2"Ä«…—Ôò¼ÛóZt¿müžs{¦ö˜ª2Pµ±k3ÿ…ùšSÆuwïÑ=cnµI÷ï *+ð#½äÐ’Ýgw¿ß÷ý®N5Dúö^i Ôî)½Ì/Ì—ßõyÑ /(yÑ /(yÑ /(yÑ /(yÑ /õL=YŸòB^ê«z²þúÕ¬q³¼Â¼àaÁÅ~oKacf#ýÁÅÆe†ï éÏg®Ÿy}ëë™9™:>P«¾\nAîÌ]3\<0ÿ…ùcŸ)åñË›uB¼xpP»Ç>pñ€¢C³òûB^ùÈ yä#/€|ä5Œõw(E¿6ý¾ˆùâ§ó?=¤ùþÞ£{;ÏììâØEñÙ/Ÿ ë0ÌÕöï}ìÍí •†%Ÿ·®­ŠûÁå<Ê™¼}r|Zü‚~ Æx)µÏónÏ›šþðçÛ ôsóBÄ¥Æm9¾ÅPi8 íù}€ !/€|ä¼ò‘@>ò‚Æú;”bR·I‘En9¾åû“ß·²ieal‘™“™~/½°¨0dDˆ⛸oÖþ¶ÖÆÌÆÉÊ)¯ ﯛ<×ú9cVq?¸¥‡—ƥƙ›ïýsïÞ?÷jZ4p‘³µ³ÂÒÄr¦ïÌO~úæö7ÝíÜUªÄÌDµZ=Ígšƒ…ƒÔYN BÈ yä#/€|ä¼ †±þ¥034Û:zëâC‹ÃO‡_¼yQj´2µÒ~H{‡öBˆ¹}æ~wâ» ™²d !Œ”FƒÛ~Ïï½ê+IÚ‡.çQNÉoÝä?Ðüyr·É…E…k~]ó×Í¿„&*“ñÞãßêù–v9}ùÈ yä#/€|ä¼ †)*ô8P!DXXXµÕƒ:A¡P¼õÖ[Ë–-«íB OúÊoFFFNNŽŽnn®_|‘1p ®>•ý0û|æygkgíïl¥ÆV6­ìÍíËê#‰O‹754moß^Ó’šzíîµÍ:˜š !îçÝ?sýL ËŽ–ŽÚ'ææ_ºuéaþC { {…öѬY©Ù©fFf-,[HãTŸ¤[I™÷3K=¤¹ Ü‚ÜK·.¹Ú¹–U˜œ>(‹¾~ÎÉK5!/u y!/¼ÈG^È ä#/äòÉù9wuu•? ëï(ëïõÒ“¾þÔ)uü߯@B^ùÈ yä#/€|z_¯Øþ3¿ýö[ZZšB¡¨ÐYx-_¾|ùòåµ]ôÌÑѱüNô¡bëïîî¦/½ôR5Uƒ:bùòåB¼%DÚ.úµÌÝÝ´¶kŠŠ­¿ÛÚÚÚÚÚ²-I½·|ùr!z1¢¶ ~…ÙÚÖv @ƒaP~PA¬¿ ¬¿ ¬¿ ¬¿  zý}Û¶m½{÷>qâ„Ìþk×®íÝ»÷Å‹«µ*@=Р×ßSSS:”-³RRÒ¡C‡rrrªµ*@= ªíjÓÈ‘#»téÒ©S§Ú.Pß4èûßœœz÷îmeeUÛ…¨9§ÓO»}âöEÌ¥¾”ãpÒa·OÜ6Äm¨žu‰O‹ã»7:-ëÔqiÇQ¡£b’cj¾4(ä¼ò‘@>òÈG^P75èõ÷’û¿†††¾þúëýúõ{íµ×Ö®]›››[òÄãÇ¿ùæ› ˜0aBL yPŽ$³eÌÑËGså<È—7þûñû÷Õv]@]D^ùÈ yä#/€|ä¥~kÐûÏÛÿýþýû Ð^Oß¶mÛªU«¢¢¢š6mªiÜ·oßG}”——'½Ü°aÃÊ•+k²rúÒ¡Y‡‹sŸ€‡*çæ¿ÿÓû…E…¼'Lõ™ªT(7%lZvxÙüýóŸs}ÎÌЬ¶ Dƒ@^ùÈ yä#/€|äuDƒ¾ÿ½˜wß}7&&¦I“&K–,Ù»wï—_~éâârúô退ín~øaÿþý·lÙ>eÊ…B1kÖ¬óçÏ×VÙ‚£—^½sÕÛÉû]¿w­M­›4žî3½Ûþ·Þ޼YÛÕu yä#/€|ä¼ò‘—zõ÷¿„„„˜˜˜ÄÄÄ 8pÚ´iqqqvvv»víÊÈÈÐô4hPDDĨQ£†<þü‚‚‚o¾ù¦öj„ïO~ïö‰ÛOç*Ù¨ù@ÒìÔvâډѡ£;,íÐeE—Ù?ÌÎ~˜]Ö°Åöƒ«ÄBˆó™ç{­îÕ}e÷“é'«|¡¥‹KB n?X»Qz›[M“âÉE^yläEÈF^yläEÈF^y©×ôþ3Ú’’’rrr^|ñÅ6mÚhmmm‡þÕW_:uê…^'L˜ }â„ ,XpêÔ©-@ÙN_?½ø—Åy…yBˆ‡ùwžÙ™v'm똭Õ4Â/—~ù÷î·°lñõð¯[X¶(k̶Ÿµ-,*Ô1©]#»ßfüVÖÑ+·¯!Ú4i£ÝèÑÔCq%ûŠÎ«t!/€|ä¼ò‘@>ò‚'÷¿ÿMzΪM±v©Eû)¬VVV%;<|ø°ÚK OÄÙˆá‡G¿}æ3Ûþµ­yãæq©qfüY#lŒßøæŽ7»8v {=LLJqÕåäå!,M,µ¥—÷rïUß¼¨÷È yä#/€|ä¼àIÄýïkÖ¬™â?þ(**20xüµD\\œ¢yóæš–„„___ÍËøøx!D‹Õ˜Câëâûqÿ¥??ãøÌ”îS>úù£ÄÌÄvöíô8BaQá‡?šúú3¯¿ï÷¾Ò@©{Ìóÿ©ÒS"ÔjµÌF BÈ yä#/€|ä¼àIÄúûßš4iâåå•0wîÜÿþ÷¿†††jµzåÊ•‘‘‘žžžšž .ôññéÒ¥‹âÊ•+3gÎBôëׯÖJðuoÙ]û¥“•“â~Þ}ýŽ°êØªœG9=ÞyîÊ×*›…±…âNîíÆ»î !,L,j ÔWä¼ò‘@>òÈG^ð$býý±Ï>û¬_¿~‹/^¿~½««kJJŠôØÕÏ>ûL¥züF9::vëÖÍÝÝÝØØ8111//¯S§N#Gެ½ÂA!Bˆ"u‘vcnAnÉžÆ*ã’'Vè«c9#ôqës8éðöSÛ_òxIÎ7íUÜÎÙÚYq!ó‚W /McâD!„³•s¹³£¡!/‚¼@6ò"È d#/‚¼@6ò"È d#/‚¼Ôkìÿþ˜ŸŸßž={ÜÜܲ²²âââ222š7o¾iÓ¦×_]»ÛŠ+|þüùS§NåååùùùíÛ·ÏÈȨ¶ÊÛF¶BˆÔìTíÆ_¯üZK制ŽÙj 0½et|Z|uOçíä-„Ø}v·v£ô²kË®Õ=;ž8äEÈF^yläEÈF^yläE—z­Aßÿ.=4U{é|àÀ¼xñbFF†‡‡‡B¡Ð2eÊ€:wî~õêÕ”””-Z´lÙ²Jw;w!Ä7ñßtjÞɳ¹çÍû7¿ÿ6òBdí–ôýëß¿ñÝã¾·jèªÞ®½ut®â~p϶zVz,Ìÿ¢ÿ7ÕgªÊ@õíßî?¿ßÚÔú…6/TedÔKä…¼@>òB^ y!/¼ÈG^ÈKýÖ ×ߥg«:88kwsssss+Ù¿uëÖ­[·–þÜ¢E ž¹ Ô$'+§þmûï?¿Ì–1R‹R¡òô]gvÕbUŽ–ŽÛþµmü¶ñ;>{é³WÚ¿RM* X8yû丸©Q¡P,è¿ÀÌЬš&Å“‹¼ÈG^È ä#/äò‘òùÈ y©ßèþ3Ÿþy›6möìÙãâââââRÛåõб±:/OQ~¿Š[ôâ"O+S+c•qç7ÞÔÕ©öË®‘Ý–1[:·èôCÐæ„ÍÕ7Q¯Ö½BG‡ú´òidÔÈÔÐÔÛÉ{È =Vߌ(Kn®Bab¢‡çÑ“—jB^êòRiä¥"/•F^ òRiä¥"/•F^ =æECQ¡gøûû !ÂÂÂôXA­¶··ß¾}»¯¯om—Sç( !¶ 1¢¶ ~ù®‡üfddäääèèàããyA½G^ùÈ yä#/€|zÌ‹F]P}úôy–¦:}Ú¸¶ ªEQ‘Ø¿¿QŸ>÷õ2yAýF^ùÈ yä#/€|úÍ‹ëïôÌÓ3×Ý=oófËÚ.¨‡›¥¤~O/£‘Ôoä¼ò‘@>òȧ߼h°þ@ÿ²wí²øóO¾G}SX¨øì3Û>}î»»ëm38ò‚úмò‘@>òÈG^ùª#/Ößèß+¯ÜóòÊýè#;µº¶Kô*4´qr²á¼y·ô8&yA}E^ùÈ yä#/€|Õ‘ ëïôO¡ï½wóøq“o¿å·ÒP\ºd¸|¹Íĉw\\òõ8,yA½D^ùÈ yä#/€|Õ”‰B]‘¯«<==ÿúë/[[[½×:%--MˆÆB4®íB _·:vt?yòdGÉÈÈÈÉÉ‘Ó󫯬—-³Y³&½OŸUœ¨uÙÙÇ;ZXmÙrÕÔTÿwzÔ'ä¼ò‘@>òÈW‰¼¸ººÊ_UÙÂPÏuêÔÚÁÁ¡¶«€>8q¢†g ¸œløöÛö7^óô|Tóz”“cЬ @±n]zuüãUÔ#ä¼ò‘@>òÈWy©ØýïþþþBˆ°°°ê(u‡B¡øâ‹/XÛ…@ŸÍÍÍ«ž_ù÷¿ !òóS§:üþ»éâÅ7 {P§¤¥©¦Li–­Ü¸ñšÞâ¼  /€|ä¼ò‘@¾Jç¥B÷¿³ÿ;€jdh¨N÷÷¿;c†ýòå6)j»" b~ùÅlØ0G¥R½cGZµþãU<ùÈ yä#/€|䝯òÂú;€ê¥TŠùóo.Xb9`€ÓÏ?7ªíŠY._6œ2¥Ù¤IÍ||nÛv­Y³‚˜”¼à E^ùÈ yä#/€|5œöPF¾Û·ïƒO?µ™>Ý¡]»G#GÞóó»ïàPÿ *äáCűcf;wšGE5ruÍ ½Ö­Ûî¼àIA^ùÈ yä#/€|µ•öG)Øÿ½^ª•ýßK:}ÚxãFËýû=|hЬY³s¾•U‘BQ-¸*$'ÇàúuUr²aQ‘ÂË+wÔ¨;ƒÝW*k󇓼 Î"/€|ä¼ò‘@>½ç¥Bû¿³þŽR°þ^/Õ‘õwÉ£GŠøx“³gÓÒ ïÜ1(*ªâx€˜›«mm ÚµËëÖí¡]am—óyAD^ùÈ yä#/€|zÏK…Ößúþ3ÇŽûùçŸÇתU«Ú®h@ŒÕÏ>ûðÙgkú×â€'yä#/€|ä¼ò‘ ˜ôüÕÇôÑG)))ÚÇŽ[°`ÁåË—k©(@ýÔ°Öß,XPlýÝÇÇçÃ?äæw€~5ôýg||||||j» @}£çõ÷ìììŸþ999ÙÐаK—.½zõ’Ú333W¯^mkk¨éœ››»téR¥RùÎ;ï¨T*§kܽ{7**êÒ¥Kfff^^^=zôÚÃÃÃO:õŸÿüÇÌÌLÓYjœ;w®‰‰É·ß~{àÀ!DHHHTT”¢U«VãÆ+uÿ÷+W®DEEeddØØØôîÝÛÃÃCs(***&&& ÀÚÚzÏž=/^´··((èÎ;š¾¾¾‡200 ,¶ úÖ[oIëïBlذA:úÜsÏIëï ,èÝ»·fýýÝwßýì³Ï ÿ~®B¡˜8qâêÕ« …QQQŸ~ú©——ל9s¥>¶¶¶ÑÑÑžžže½3EEE_ýµ¦eúôé9997nÔÔ,üôÓOÿç?ÿINNB¼ýöÛýúõÓ]O¹®¹}ûö³gϾråŠÔÇÎÎnçξ¾¾eÿ}*Ooëï»wïž8q¢J¥z饗ڵk÷èÑ£ÈÈÈ#G޼ñÆ{÷îB,_¾ü?þ òööîÞ½ûºuëBBBÞxã)S¦È9=,,lÒ¤IBoooooo¥RùÇÄÄÄ”¿‹ýرc‹ŠŠ<8~üø–-[ !JÝóýË/¿\´h‘B¡4hP»ví._¾¼k×®uëÖÙÙÙ-Z´HÓíÍ7ßT©TS¦L177ÿé§ŸÎ;xäÈ‘²f_¾|ù×_­T*‡ Òºuëóçϯ^½ºI“&%{N›6ÍÈÈhÒ¤I-Z´èÑ£‡Ìzä˜>}º‘‘Ñ”)SLLL¢¢¢Î;7tèÐÄÄD[[Û Coëïï¾û®™™ÙáÇŸyæ©E­V><<<<11ÑÃÃÃÈÈ(,,ÌËËËßßýúõ3fÌèØ±ãš5kdžþÞ{ï !¾üòËiÓ¦i&‰‰Q*•rÊ;vlJJÊÁƒ'L˜ ã¦ïO>ùD±cÇŽ¡C‡J-¿ÿþ{Ïž=W¬Xñþûï7jÔHjtuuŒŒ455B,Z´¨cÇŽG½{÷nãÆKvéÒ¥QQQ½{÷–ZvïÞ=dÈ’=:daa!½”¾r(·9š5kväȩ‚‚‚‘#G†‡‡óÍ7AAAòȤŸõ÷ôôôsçιººîÛ·oß¾}jµZ­V !¤;Óããã¥-Ë[¶l¹eË–_|±ÿþ–––;vì–°Ë=ÝÜÜü¯¿þòööÖ^|Bèwû””””´´´gŸ}V³Ø-„èÖ­›¿¿ÿ–-[zöì)5Ι3Gª\addÔ·oßóçϧ§§—ºþ~åÊ•k×®õë×O³ø.„øàƒ’GµwlïÙ³§³³srrò!CÜÜÜdž~ëÖ-!DÛ¶mõRmYnß¾-„hݺu±vWWW!DVV–¦ÅÉÉI»ƒ¹¹¹"??_ǰ%·»iÕªUÉõwww÷JÔ#‡‹‹KÉ—Ò½ÓÏú»µµµâ©§žò÷÷/yÔÛÛ[óçiÓ¦%''»ºº~ûí·Ã† {ùå—åœ.íQ~þüù² ž>š““£yX«"%%¥W‘””T¬ýÒ¥KB› VlØË—/k/Ù"„E+¿ùžœœÜ£Gí—š)€ ±´´¬ÐÞG@äŸõw'''ww÷ôôôáÇ?ýôÓšvµZýóÏ?k¶tÿú믿ùæ›ñãÇ/^¼ØËËkìØ± ...åž®T*ÝÝÝãââÖ®]+=¯UrôèQ…B!=RuïÞ½Ó§O—EFF=zT»H¡ó¶ñ–-[:::=z4""â•W^‘ããã·oßnjjêååU¹7ÇÙÙ¹yóæQQQ‡îÕ«—ÔøÃ?”¼ù½õȹpɧŸ~úòË/K›ÛÌŸ?_ñì³ÏVî¢ÐIQ ›Þž¿úÙgŸ½úê«^^^}úôñðð011¹|ùrlllrròÇ•JeBBÂÌ™3===¿üòKSSÓ°°°ž={>üرcÆÆÆåž¾pá‘#G¾ùæ›ëׯ÷ööV*•ñññÇŽËÏÏW©Tƒ š?þ¿ÿýï#GŽ8;;'&&þðÃM›6½~ýº¦Bi»›   ˜˜33³V­Z7®ØUÌ;700pÈ!ƒ òðð¸råÊÎ;óóóçÌ™S•~gÍš5{öl??¿!C†¸¸¸üõ×_M›6½qã†B¡Ðqb¹õȹpIzzz»ví dll}öìY;;»’ï@/ô¶þ>dÈÐÐÐ3fìß¿ÿþýR£Á‹/¾¨R©²³³‡nll,Ý»-„èÚµë²e˦OŸ>cÆŒµk×ê>]1bĈ¬¬¬Ù³gÇÆÆÆÆÆJzöì)=£µS§N3gÎ\±bŶmÛ¤C|ðARRRhh¨¦Â<õÔSçÎ[¼x±â¹çž+¹ú<}úô´´´Å‹ïÙ³gÏž=B…B1qâÄÿ÷ÿþ_UÞœY³fýùçŸ!!!Û·o—Z¦M›–žž¾sçNÝËúåÖ#çÂ%«V­zçw‚ƒƒ¥—vvv;wî”6öèÞÖß…£F2dHttôùó狊ŠZµjÕ½{wéQ¥Ç;vlïÞ½5Ï\BL›6M‘™™™‘‘aoo¯ãtI@@Àk¯½¶ÿþäädKKK//¯nݺiŽ._¾üµ×^;räˆJ¥êÓ§§§gxx¸›››f¯ “¸¸¸½{÷^¼xñÑ£GÒQ}||>üðC퇣.Z´èÍ7ßŒŠŠÊÈȰ±±yþùç=<<4Gûöíkbbâàà }áRcÓ¦MËzg”Jåúõë§M›vèÐ!!„¯¯o×®]Û¶mkgg§)¯Ô‘Ë­GÎ…KÚ´isîܹˆˆˆ+W®´hÑâ•W^±²²*«`@)ÔjµüÞÒóQê­žz+..Nû9´«V­š1cÆÐ¡CÃÃë{ê¹sç~úé§ÇïÔ©“ÌS Å_|1pàÀj- 5,00ÐÜÜœü5CŸ÷¿C‡>}útèСsçΆ††ñññÒ#Rßzë­Ú® P-X¯!]»v=pàÀ¯¿þ*½466^²dI¯^½j·*@5aý½†DGGÇÇÇŸ8q"33³yóæýúõkÖ¬YÍL]ÖÎò€êÃú{ÍéÒ¥K—.]j~Þ¾}ûöíÛ·æç€†Ì ¶  býýcýýcýýcýýSUô„´´´ï¿ÿ¾:JArüøñÚ.zvýúu77·Ú®h(jµZ~oÿíÛ·žiók—IDATW_5ªÕðáÃÃÂÂj»  A¨Øú;ƒýßÐ?ÖßÐ?ÖßÐ?ÖßÐ?ÖßÐ?ÖßÐ?ÖßÐ?ÖßÐ?Ößпÿ•^ÀâI1ïIEND®B`‚fio-3.39/examples/filestat-ioengine.fio000066400000000000000000000004111476262051600201550ustar00rootroot00000000000000# Example filestat job # 'filestat' engine only do 'stat(filename)', file will not be open(). # 'filesize' must be set, then files will be created at setup stage. [global] ioengine=filestat numjobs=1 filesize=4k nrfiles=200 thread [t0] [t1] [t2] [t3] [t4] [t5] fio-3.39/examples/filestat-ioengine.png000066400000000000000000001461521476262051600202010ustar00rootroot00000000000000‰PNG  IHDROüQìÞbKGDÿÿÿ ½§“ IDATxœìÝy\ÔÕþÇñ ‹ ®¨ (¢H¹•få¹ æ–æ–e‹-Z™šu[o.üÔ²¼¥æ™-¦e&\K¯šQ&î&¨äžâ†¢(;Ìï‰o‹ì‹ø~><ó]æ|ÏÎÀgæó=çX™L&""""""""""""""·¶•Öå]‘Š@ÉS”<”<”<”<”<”<”< JyW@DDDDD¤,lÙ²…¥K—ò×_‘’’ÀóÏ?Opp0gΜàé§ŸfäÈ‘óá‡P³fM~øá‡ò©xr«¼&7C; ÛŸEDDDDD¤`”<‘Jï¿ÿý/ýû÷Çd2YìïÛ·/Û·oçØ±ctïÞÝ8vöìYBCC¨[·n™Õ5..ŽAƒÛ ,àöÛo¯å–×kRÖ*z;‹ÒŸEDDDDD¤`”<‘JoúôéF¢©cÇŽLš4 ;;;š5kÆ¢E‹Ê¹v–RSSÄÀ•+W*t¹Rön¦þ,"""""r³QòTDDDDD*½C‡üqüýýíeË–‘””€§§g™×ífÒ¿|||°µµ-çÚ”žŠÞNõg‘ң䩈ˆˆˆˆTZ~ø!ÁÁÁÄÇÇ[ì[¾|y®çfÈãÇóÍ7ßðÇOÍš5iß¾=O>ù$ 4Èqþ®]»X¹r%‡âÚµk4lØooozöìI»ví˜0a;vì°xÞ /¼@5èÑ£o¿ý6;vìàµ×^³8ÏÞÞžúõëÓ¡Cyä‹éf Zn~víÚuõ@>Ì·ß~Kxx8—/_ÆÉɉ;aÆѢE‹b¿Ž¹­EƧŸ~Jtt4M›6å™gž¡uëÖÏËÌÌdùòå„„„@Û¶m7nþù'“'O6Îûå—_nØÎ¢^¿°íÌKIôç¢üŽDDDDDDn)&‘JjôèÑ& À?ÿ÷ÿgmì¿þü¬ºß°}y)ÈõcbbŠÝÎ’P”ßÑí·ß^jõ©È”<) ÄÄD‹íððð<Ï‹‹3/^¼'''‚‚‚¸vígÏžåìÙ³„††2þ|î¿ÿ~6lØ`1ë0yòä|ÏKJJ*PyÅ‘ý5qrrºávbb"VVVû ú:^¯V­ZT©òÏGÚë˜L¦íϯn…Q뵿”´¢üŽDDDDDDnUJžŠˆˆˆˆˆ»»;666dddæ$fçÎs=×ÚÚÚx\·n]¾úê+–,Y‘#G8~ü8{öìaÆŒ$''Ê/¿üB=ò­C\\Ævß¾}5jµk×&))‰|°Èíûßÿþ—côjÕªUoøœì¯É‘#G,Ž=zÔxleeEãÆ©Zµj‘^Ǫ_¿>vvv¤¦¦pâÄ ‹ãÙëZÒŠÚ_®^½Jß¾}í÷ߟ»ï¾»ÄêQß‘ˆˆˆˆˆÈ­ªèŸBEDDDDDn1NNNôîÝÛØ^»v--Z´ÀÏÏÏøñöö&""Âb$áäÉ“ ÅÆÆ___úôéÃë¯¿Ž»»»qNÖ´ªÕªU³¸æùóç-¶ããã$À /¼ÀÀñóó»áÈÆüÊèÒ¥‹E[üüüèСÃ^œœœ,¦¯]¸p¡Ñ–ØØXæÌ™c»ÿþû©_¿~‘_ÇÂrpp {÷îÆv`` /^ÌSÙ.^¼¸ÈeDQÛ™žžNhh¨ñSÜQ©Eù‰ˆˆˆˆˆÜª”<)„¹sçâêê ÀöíÛiÔ¨mÛ¶å®»î¢~ýú¸¹¹1nÜ8þüóOã9Ë–-ÃÏÏGGG|}}騱#îîîÆˆ¿ªU«âçç@5ðòò2ž;räH:uꄟŸ6lÀÓÓÓbÒrÏ=÷àééÉš5kò¬w~åÇœ9sŒ„Û‰'hÞ¼9íÚµ£iÓ¦8p€Úµk³`Áã9Ey‹âÝwßÅÁÁ0°lÖ¬wÝu¾¾¾xzz«ì‚(«væ§(¿#‘[‘’§""""""…àééÉž={xúé§©^½:)))üñÇìÙ³‡‹/Ò¤I&L˜ÀÀç̘1ƒ>}úžžÎŸþÉÖ­[wÝu?þø£ÅT© .4]W¯^å÷ß'44”èèh¬¬¬øá‡h×®)))lß¾___V¯^}úߨÜâhÖ¬»wïfĈØÛÛsíÚ5vïÞÍ•+W°µµeðàÁìÞ½__ßb½ŽEѪU+Ö¯_o$ŽˆŒŒä7Þà©§ž2ÎËozâ¢*«væ§(¿#‘[‘•Éd2•w%DDDDDDJÓ¯¿þj¬åéãニ‹‹qlûöí$%%æD—‡‡gÏžåðáÃØÚÚÒ±cÇåfddpøðaâââ¨Y³&nnnÔ®];Ïz¤¥¥Źsç°··§I“&8;;çznV¢5..Ψ»¯¯/ 40Î9yò$çÎÃÝÝwwwL&¡¡¡Æñ-ZP¯^½B—›—‚¼&))):tˆ+W®àääÄm·ÝfŒüÌKA_Ç]?66–ˆˆc»sçÎØØØÛ&“‰ÈÈHðññ¡fÍšŒ;–ùóçвeKcÚã¼®Sœë¦ééélÙ²ÅØnÕªuêÔ1¶‹ÒŸ¯W”ß‘ˆˆˆˆˆÈ-b¥’§""""""R©M›6¡C‡âíímì[·n=ô)))LŸ>·Þz«¼ª(""""""ƒ’§""""""R¹5iÒ„“'OâêêJãÆ9wî§N2Žßwß}lܸ±Ô¦î‘›ÆJ­y*""""""•Ú”)Shݺ5çÎcûöíFâÔÝÝ©S§òóÏ?+q*""""""€Ö<‘[Dll,'Nœ 33WWW5jTÞU‘ŠEÓöŠˆˆˆˆˆˆˆˆˆˆˆˆˆ i{EDDDDDDDDDDDDDÌ”<AÉS@ÉS@ÉS@ÉS@ÉS@ÉS@ÉS@ÉSªçÉaaaDEE•T]DDn*5âÞ{ï-ïjˆˆˆˆˆˆˆˆˆˆˆH )VòôÃ?äûï¿/©ºˆˆÜTÌÊ•+Ë»"""""""""""RBŠ•<%DäÖ4dÈò®‚ˆˆˆˆˆˆˆˆˆˆˆ”0­y*"""""""""""""‚’§""""""""""""""€’§""""""""""""""€’§""""""""""""""T)ï ÈÍcÊ”)Æã{^½z•_e*ÄÄDÞÿ}cûÉ'Ÿ¤I“&åW!)%O¥À¦Nj<?~¼’§KLL´xmüüü”<¹ iÚ^”<4m¯”ÈÈHÂÂÂˆŽŽÆÞÞžÛo¿x{{û\Ï'$$„3gÎФIú÷ïﺢ½NLL óæÍ3¶_xáêÖ­ËO?ýÄÁƒquuåÀÝݽÀu‘›Ÿ’§RjNœ8ÁÓO?ÍæÍ›ssuu%00¾}ûZìß´iÆ #66ÖØçééÉÒ¥Kó\W´°×‰‰‰±(«sçμùæ›ìܹӨW½zu¾þúkzè!‹º :”¸¸¸u‘›Ÿ¦í•Rqáºtéb$4½½½™8q"Æ ÃÚÚšsçÎñÐC±iÓ&ã9'OždàÀFâ´Q£FŒ7Ž-Z0tèлNvO<ñU«Veüøñ4lØ€k×®1fÌ’““-ê–•8õðð`üøñ´jÕ*Ϻ‰ˆˆˆˆˆˆˆˆˆˆˆÈÍE#O¥T¼÷Þ{œ>}€Ûn»={öP­Z5Z´hÁ¤I“ÈÈÈ`âĉìÛ·€9sæ˜G~nß¾WWW^|ñE,XP"×Éî®»îbÍš5XYY1|øpî½÷^¢££9|ø0­Zµ²¨›““;wî¤^½zL˜09sæÿE‘r¥ä©”ŠuëÖk×®m±^éÉ“'Çáááœ={–† jìïÝ»·‘85jT®ÉÓ¢\'»çž{+++š7onqìôéÓ´jÕ*Gݲ§`¹ªä©ˆˆˆˆˆˆˆˆˆˆˆÈÍOÉS)111ÆãmÛ¶±mÛ¶<ÏÍJj^¿–èõ‰S—»NvîîîÆc;;;‹c™™™ukРÅ9õë×Ïóš""""""""""""róPòTJ…³³3/^ S§NtëÖ-Ïs³£uêÔ᯿þÌk™^ïüùó%vìlllŒÇY#P³»¾nÑÑÑDz×U¤$ÄÇÇ“’’RÞÕ¹©Ô¬Y‡"?_ÉS)={ö$220Ú|õÕWqtt´8çìÙ³ìß¿ßùéççÇž={X¿~=qqqÔ©S€%K–”ØuŠ¢K—.FÝÖ­[ÇÅ‹©{¿üòË"—+’—””®^½ZÞÕ¹©T¯^½XÏWòTŠdÛ¶mL™2%Ç~gggÆŽËo¼Áwß}ÇÙ³g9xð >>>ôëך5kræÌ>ÌÎ;ñ÷÷Çß߀ñãÇóé§Ÿ’@||<íÚµcÀ€=zÔH\fW”ëÅøñãY¼x1W¯^åÊ•+´oßžrâÄ vîÜYärEDDDDDDDDDDD¤âPòTŠdûöílß¾=ÇþÛn»±cÇÒ A~ûí7ž}öY~þùgΜ9âE‹,ÎmÔ¨={ö4¶7nLPPÆ #..Ž'N0{öl<==ùòË/éÑ£‡qnÖÚ¤E¹NQ4iÒ„U«V1|øp.]ºÄÉ“'º­X±‚Î;«|)JžJMž<9ßsœÇM›6eÓ¦M>|˜°°0Ξ=‹½½=nnnx{{Ó¶mÛÏïÞ½;ÇŽ#88˜3gÎФI ÀŽ;,Îsss+òuœ-ÚR¿~}ã±Å1ooo㱿¿?ÇŽ#$$Ä¢nÙ_›&Mšäû:‰ˆˆˆˆˆˆˆˆˆˆˆHÅce2™LE}ò!CX¹re‰UHnmaaa´hÑ‚5jûRSSéׯÿûßÿðõõåàÁƒåUE ôÿþEGGkÍS‘BjРŽŽŽE}úJ<• å“O>!((ˆ®]»âååEBB›6mâØ±cØØØ0{öìr®¥ˆˆˆˆˆˆˆˆˆˆˆˆTFJžJ…Ò©S'BBBøá‡róòòbÞ¼yøûû—CÍDDDDDDDDDDDD¤²SòT*”gžy†Ç{ŒÍ›7sôèQ®^½JݺuiÛ¶-íÚµÃÊʪ¼«(""""""""""""•”’§Rá888лwïò®†ˆˆˆˆˆˆˆˆˆˆˆˆÜb¬Ë»""""""""""""""FžŠˆÜbΟ¯Â¦MÕ «Jd¤116\»¦{iDªWÏÄÙ9_ßTî½7‰nÝ®áâ’^ÞÕ*´äd+BC«ñÛoÕ8pÀž¨([®\±&3³¼k&R¾ìíMÔ¬™Ióæ©´i“L×®‰´n\ÞÕ*’}ûøùçjìÝëÀÑ£v\¾lMJŠ–·[›µ5Ô¨‘I£Fi´h‘BçΉÜ"¦ò®Z¡)^Éâu‘ÊMñºHåv³ÅëV&“©È52d+W®,± ‰ˆÜ Jûï_tt4W¯^-Ñ2ÿüÓŽÙ³ë°ysu2¹÷Þ$Z´HÁÅ%GG}J¹zÕšóçm8pÀž°°ª$'[óÀט0!ŸÔò®^¾¬Y´¨6ß~[ƒ«W­iÕ*™¶m“ñðH£V­L¬õ«ÜâRR¬¸tɆÇí sàôi[š7Oe̘xú÷OÀª‚—a2Ap°‹ÕâÈ;ÜÝÓ¸÷Þd¼½S©];{ûŠùS¤¬dfB|¼5'OÚ²w¯áá8:f2|øÆŒ¹„“SÅw¯‹Ü˜âu‘ÊMñºHåVÖñzƒ ptt,êÓWj䩈H%oÍGÕáÛokrÇ)ÌžM÷î×°µUÐ&’—´4+6n¬Îâŵ0 Ç_æå—ã¨U«â}q™™ «VÕ`Ö¬:˜Lðì³ñ |gçŒò®šH…¶¿=K—Öäµ×ê³lY &MŠáŽ;RÊ»Z¹Ú¿ßž€göísࡇøàƒ ¶®"ELŒ ß_ƒ%Kjòý÷N¼új?|¥B&'¯‹žâu‘ÊOñºHåVÑãu<)‚›eäéÞ½<ÿ¼ ÖÖð꫱ XñïÔ©HL&X½Ú‰Y³ê’™ ž§mÛŠ3mЕ+ÖŒçBX˜=v…qãâ¨Y³â}a$R‘EFÚP—Ý»«2qb,cÆÄ—w•,,ZT‹?¬Ë]w%1iR,¾¾úF¤0._¶fîÜ:|ýu î½7™¹sÏS£FÅù_©x]¤x¯‹T~Š×E*·ÒŠ×‹;òTÉS‘"¸’§!!޼ñF}:vLäÃ/hª/‘b¸zÕš‰ëóûïÕxï½ ôëW²ÓjÅ©S¶<û¬+×®YñÉ'çiÑBÐDŠÊd‚¯¾ªÉŒÎ<ôPÓ¦],÷_iiVüûßõX³Æ‰·ÞŠáñÇ/+¡"R Ø3z´ Õ«›øôÓs4nœVÞUR¼.R‚¯‹TnŠ×E*¿’Ž×‹›<­ `ED¤$­XQƒ‰ð裗Y¸ð¼¾ˆ)&GÇL.<Ï£^fâĬXQ£\ësê”-ƒ»Q­Z&AAgôEŒH1YYÁO\&0ðë×Wçùç]È(Ç™ô22àùç]X¿¾:çxâ }#R\-Z¤t†jÕ2<ØS§l˵>Š×EJ–âu‘ÊMñºHåWÑâõbMŸ>}ŠZ„H‰˜={6mÛ¶åþûï/ïªÈ-bíÚµ¸»»óóÏ?—JùEMžžõ”+116|ÿýìíËwí‘Ê,%ÅŠÁƒÝpvÎàóÏÏ•ÙuW®¬Á¿ÿí¬©¿DÊÀGÕáóÏk²qcT™}ñyáBºwoÄSO]æå—5M¤48`Ï AnL›Ã!e÷¥«âu‘²¡x]¤òS¼.R¹7^ך§""ÀÆÕÙ²¥“&Åê‹‘RfoobêÔ¶l©Æ¦MÕËäšW¯Zóá‡uxüñ+ú"F¤ ¼øâ%ê×Ï`æÌ:evÍ™3ëR·n/¼p©Ì®)r«jÑ"…‘#¯0kV®\)›¯F¯‹”Åë"•Ÿâu‘Ê­<âõëU)ó+ŠˆH‰ËÈ€wß­K¿~Wiß¾ì×t‘â›1cû÷ï¿á9}ô 4(£I~î¼3™~ý®2cF]üü®acSº×[¸°60v¬în­ .^¼È«¯¾JZÚ?ÓÈÍ™3‡zõê•c­äzvv&^{-–_tá‰'.—úZFááö;2þy%UnR)))lÚ´‰={öpæÌ’’’prr¢iÓ¦tíÚ•Ö­[—w%›—^Š#8Ø‘O>©Í¿þ[ª×R¼~óKKKcûöílݺ•'N˜˜ˆ££#>>> 0€Æ—w%ÅëRXìÞ½› 6pðàA²&l8p 1™TŠ×¥(RSS &,,ŒØØXœœœhÓ¦ ƒ ¢víÚå]=ɦ,ãõì”<©~ù¥:§NÙ²dIÙMG$÷ꫯröìY†Nÿþýsœó矲cÇŽ–“œœ\*õ“¢?>ŽîÝZ®]¯•Úu’“­øöÛ<ûl<5kf–Úu¤hÂÂÂøøã°³³ã‹/¾È÷9o½õ¿ÿþ»Å¾”P¨hüý¯qûí),]Z“>¸Pª×ú꫚Ü~{ þþ¥÷·DŠ&>>ž^xÁØÀËËËâœèèhzöì™ç² óçÏgÈ!¼ûZW)œš535ê2‹×⥗âpp(½/B¯WlùÅëÇŽãá‡Îõ=¾~ýzæÏŸÏÛo¿ÍÈ‘#ˤ¾RpŠ× ¯ÇÅÅáïïO|||ŽcíÚµ+í*J)^(X¼ÅSO=Å_ýe±ÿ§Ÿ~bþüùÌ;—N:•vu¥Ê2^ÏNÉS‘J $Ä‘{îIÂÃ#-ÿ“¥Ì…‡‡süøqºté’ïùü1uêäœvF£N+4:tH"$ıT¿Œ ­ÆÕ«Ö \vk²IÁÅÆÆ7?ØÙÙå{þ·ß~ËæÍ›K»ZRB†½Â{ïÕeút+ììJçƒZJŠë×Wç7ÊöNZ)˜´´4‹œrKž$''cccÃO<Áí·ßNýúõ‰ŠŠâÓO?%** €•+W2hÐ Ú·o_fu—ü |…>ªÃ¯¿V+Õ/C¯WlùÅ뉉‰\½z•ZµjñÈ#жm[¢££™?>çÏŸ'==€€Z¶lI›6mʺúrŠ× ¯§¦¦’@ûöíéÑ£ÄÄÄ”e5¥ˆ¯KAâõ””Fe$Nýýý6l;wîdÑ¢E\¹r…矞µk×j6‰ ¦¬âõì”<¹É™LðÛoÕ45P%Ò¶m[\\\Ê»R@ݺ%2o^mL&°²*küö[5ZµJÆÙ9£t. eæÔ©S̘1€æÍ›säÈ‘r®‘ä§[·D&O®ÇÎtìX:SmîÜé@R’5ݺ%–JùRú\]]Ù²e U«VµØß¸qcž|òIc;::ºŒk&ùqvΠU«äRý2FñzåàïïÏŒ3¨U«–±¯M›6ôëדÉÄš5k”<­€¯KAÔ­[—íÛ·ïñ/¿ü²œk$¥x] â»ï¾ãĉÔ©S‡Ù³gcggÇý÷ßÏþýûÙ²e IIIÌ™3‡ÿüç?å2êÓª IDAT\[¹^YÄë¹Qò´‚Y±b .döìÙE ¸Y¾|9‹/ÎuhºH±­X ÂìÙP”…°|9,^ ê£%"*Ê–Ë—­¹óNM÷XѬZµŠU«VS€yÄÙ¯¿þ ˜ƒµyóæ•Wõ¤„´m›ÌåËÖœ9c‹»{éŒ&‰ˆ°§C­V1‚ØØî>NKKcĈÆö³Ï>Ë<@ff&ÿú׿HLLÄÅÅ…W^y…1cÆ”y¥p\\ÒqqIçÀûRû2fÿ~{\]ÍבŠeÚ´iìÛ·ÏbߤI“ptt S§N¼ð ¹Žb1™LlÛ¶ÍØ®ZµªFVPmÚ$³{wÕüO,"ÅëWAãuoooæÏŸU¶Ì›¯¯/uëÖ5bóçÏ—]å¥À¯ßÚ ¯ÛÚÚZÜ!7Åë·¶‚Æë?þø£qüî»ï¶ˆß;uêÄ–-[øßÿþGFF6¥½P¶JiÇë¹Qò´‚‰ŠŠ"444×ùõ âøñㄆ†æ¹ÖŽH±EEAh(±rü¸ùùê£%&*Êü§\S€U¯h ¯gÁ´iÓŒí¡C‡Ò®]»R©§âõ[[Aâu¹ù)^¿u$^Ï>˧µµe.û½©©©%\K)®ÒŽ×sS¶©ÚrˆŸŸG%22’±cÇÒ«W/žxâ 6oÞœãüéÓ§ãççÇåË—ó >œ€€‹õ>$/B¯^0x0$e›W?* zô€Çƒô|æÄ ??8z"#aìXs¹O<¹ôQ¦O7ŸŸK5Ž]?5îõåÿñŒ½{øqp]eõj1Â|íwÞÉYþŠær²õQ22`Ù29üýaøpó5oÐGÙ»F6_kÔ(È¥b2Á?ÂsÏAŸ>ær@}T*™9sæðùçŸ3jÔ(ºvíÊ€øòË/iÛ¶­qNPPéùý-‘ çÇäСC€ùX­¥$Ry9;;Ó¡CºvíÊØ±cùì³ÏŒcW®\áÛo¿-ÇÚ‰HIÙ¾};=ö˜1eo×®] (çZ‰ˆˆHn²,MII¹á¶“SÙN+Ó-3ò4k-Ðÿþ÷¿¼ýöÛkR,]º”+V0dÈc_dd$¡¡¡¤¥åœË<ëØõ_`g•Ä;ï¼cܰnÝ:¾ûî;víÚÅ|Àܹsç¬_¿žM›6±uëVc_nkž^»v^½zåH~®X±‚yóæ±qãÆw/ÿôÓOL™2Åâ.‰Ï?ÿœ?þ˜±cÇûž~úi>ÿüómœ1c¤iÓ¦¹¼šb¡^=xøasr¯F X²Ä¼?5† ={à—_ J>o·¬µ@ÿû_xûm¸®²t©9iy]%2Ò|~.}Ô8v}’%«ü  sR4«o¬[ß}»vÁÀu}”õëaÓ&¸®æºæéµkæhöäçŠ0olÜÙï°ÿé'˜2åŸz|þ9|ü±9qœåé§Íû³›1õQ©$jÖ¬™cŸµµ5]»v5ÖnHLL$&&—²®žˆCV<–5EXÖ4a ç?{{{,X «H%Ѻukj׮ͥK—8zôh9×HDŠkãÆŒ7ÎøÿÞ«W/>úè#ªä÷™_DDDÊ…­­-îîîÆšæ±±±dzo+'"p <Íòúë¯Ó«W/–/_Npp0Ï<ó &“‰7ß|³DÊçwxøá‡ùî»ïXµjÝ»w'::š²xñbÞzë-‚ƒƒY²d „……±víÚ–ùÖ[o±eËêիǬY³X»v-óçÏÇÓÓ“ˆˆÆŒ“ã9“'O¦gÏž,_¾œ   ž{î9¬¬¬xùå—‘±±±|ñÅÔªU‹™3g²víZV­ZÅÔ©S©W¯žE‚Yòñì³ðÔSæ$ßâÅæ}/¿ Û·›’÷ÝWð²^Ýœˆ\¾‚ƒá™gÌ£/K¨òÎ;ædïwßÁªUн;DGÃÀ溿õ–ùºK–€‡„…A>}”·Þ2'NëÕƒY³ÌçÏŸžžaåšÝäÉг§¹AAæä³••ùuû» _|µjÁÌ™ærW­‚©SÍ×R•[ÀõÓ AλåDäæ‘žžÎŽ;ŒŸÈÈH‹ãûöícÇŽ¹Þ¼'"7§´´4‹‹®ŸTDn>«V­âÅ_4§C‡eΜ9ØÚÚ–sÍDDDäFî½÷^ãqV~$ËÁƒÇÍ›7§N:eV/©¸n¹ÛâFŽÉâ¬äЯ_?Ž9Bhh(.\(öú3O=õ‹-2¶ýýýquue×®]¬\¹’ÁƒÇ\]]éÝ»7Û¶m£OŸ>¹–—žžÎ’%Kppp`Ë–-x{{dž †kÖ¬!::š ÇúöíKPP±=pà@\]]™:u*_|ñï¾û.¶¶¶˜L&FŽÉk¯½fœ;hÐ ^ýu23µv¡ÌŸož†ö¥—àÄ X°†…ñã WÎÈ‘ÿ$`úõƒ#GÌ£=/\È9‚³°žz ®ë£øûƒ««yäéÊ•æé‡³¸ºš§öݶÍʰaàãkÖ˜´×õQúö5'M³ h¾ÞÔ©æ„é»ï‚­­9qJ‹-8~ü¸³wéÒ…áÇ—gS¤¹å¦íÍmȵ*ãFçÕ®];Ç>[[[œœœr¬‘5­Ë¦fKNNr¯÷õû³ÎË’Ûˆ…¬s“’’Œ}sæÌáÇ$##ƒ™3gÒ²eK<==™5k–q7¥‚­-ü}§9CQ¦×Ìíwýw¥€}ô†çåÒG±µ'§œë²fM=t£é³ú^^ÓdíÏÖGÉmTMÖ¹×õQæÌ4·iæLhÙÒ<ð¬YæQ©"7—^z ___233‰ˆˆ`ÇŽ?~0Y3vìX¼¼¼ˆ‹‹#""ÂHœÚÚÚÒ³gOV¯^ÍwÜQ^M‘puuåÕW_5n>»pá;wîdÇŽëÏ‹ÈÍ+ €ºuëæ5ÈwïÞÍŽ;Œõ‘ž}öYºwïNFFÇŽ#<<ÜøÆÃÃ×_ÀÀ@¬­o¹à"7…üâõìß¹$''[LÅŸõ³ÿþ2¯»ˆä¯ ñúõïçë÷Ÿ={ÖØ¯õËE*¦üâu€ &0cÆ \]]IOOgß¾}$$$àääĘ1cX´h‘âu1Ür#O *+ùxñâEœ-Ž•e0ìêê ÀîÝ»ÉÌÌÌñæÝ¹s' 6´Ø¿gÏ:uêd±/ë)777‹ý]ºt¡K—.€91¼téRžzê)ììì7n\É5¦²KM5²¼rÅ<­lPL›f^c´4d%/^„l}”²üÀöwe÷nó4ºÙÿÁüÝGÉÖGÙ³²õQþî£dë£tébþsuéRóôÃvvæ‘©"œ««+!!!œ:uŠ .7áÔ«W0ßÜ2aÂ&L˜Àµk×8þ<ñññ899ѤIã&©¸ž{î9{ì1Ž;FRR’qÚÖJñõõµ˜Î7ëo‚ˆT<;vdëÖ­;vŒË—/#Wš5k˜G•vîÜ™ôôtÎ;ÇÅ‹±µµÅÍÍMk&‰Üò‹×³ÿÏÎKµjÕJµž"RtùÅëÖÖÖzŸg%gD¤bÉ/^Ï2tèP†ÊÉ“'‰ÅÑÑ‘fÍšKoˆdQò4YoªÙ³g³páB¬­­IOO'  L“§õêÕãÎ;ïdÏž=¼ñÆLŸ>ÝX«ôã?fÆ ¸¸¸Sg™6m÷ÝwíÚµàäÉ“F"Ôßß0/ŒÌ“O>i| °±±¡qãÆ„††*yZ&˜… Ï?ݺÁ”)pï½Ð½{É_/ëÿìÙ°p¡9i™že›<­WÏ<­ðž=ðÆ0}ú?k•~ü1lØ..ÿLœeÚ4¸ï>ó4Ç'Oþ“ý»rèÓOš¯摽÷QBC•<•›JãÆ¿±y©^½zŽÀNDnÕªU£eË–>¿FtèСk$"%ÉÆÆ&ÇR*ÙU©R…FѨQ£2ª•ˆ”¤¼âuýÏ©n¯[YYé}.r“+H¼žÅÃÃR®‘ÜÌ49<òU«V%00FÑ¡C\\\xÿý÷s$*KÛû￵µ5|ð...Ü}÷ݸºº2~üxãxö)ÝÝÝéС>>>´nÝooo"""hÓ¦±.ë¥K—xíµ×pqqÁÃÃûuë €¡0–-3'0‡ ƒ±cÍ ¾o¿… Ìk˜ÞhÍТzäó:«Ð¨tè`NR¾ÿ~ÎDei{ÿ}sòöƒÌu¸ûnóˆÔ¿û(￟sJ`wws}|Ìõõö†ˆhÓæŸuY/]‚×^3—éáaN¶úø˜Ó`~¾ˆˆˆˆˆˆˆˆˆˆˆH Qò4...|öÙgÔ¬YӘ׾J•*•ùšsݺu#$$ÄX oçÎDGGÓ°aC–.]j±˜y–9sæ0`À:Dxx8©©©tëÖŸ~úɘþÑÇLJ×^{zõêqêÔ)ÂÂÂ8tèÎÎÎLš4‰W^y¥LÛyÓ:pF6'õ/þg¿‹ ¬XaNzãuC‹ÂÅ>û jÖ„³gaÇs‚2(Êz]ÄnÝ $¼¼ .Î<7:Ú÷ÜsôêÕ //¯!999Çþš5k²yóf4h`ìKJJȱ¾Ýƒ>ȃ>ÈÑ£G‰ŽŽ¦N:øøø`ee•k[Ú¶mKPPgΜáÔ©S¸¹¹å˜z¦V­ZÌœ9“÷Þ{¨¨(Ξ=‹³³3ØÚÚæõRJv¶¶ðßÿšGN^×'èÜÙ¼Žç¥Kpõ*Ô®w9Ï=½z™yËÖGyä8ÐJö5|Ðüsô¨9qZ§Ž9ù™­õhÛÖœè=sÆœusûg:Þ,µjÁÌ™ðÞ{eN;;›G¡ªŠˆˆˆˆˆˆˆˆˆˆH »e’§M›6¥iÓ¦…>æàà@ûöí-öùúúâëë[à2îºë®\÷ÛÚÚâççg±oç΀yäkn¼¼¼rMÐæU777ÜÜÜò<Ìsúd>Ƀ··ù'/B·iSóOa98@¶>Н¯ù§ eäÑG±µ…l}”¿û(yôQ¼¼rOÐæU77óÏXY™«ê£"""""""""""RŠ4moñá‡âííMHHžžž9FÁŠ”»?4'‰CBÌ#[ÕGEDDDDDDDDDD¤’Qò´‚8|ø0GŽ¡Aƒ|õÕW9¦ã)w‡Ñ#æ)|¿ú*çt¼""""""""""""79%O+ˆ‰'ΩS§èÔ©SyWG$§‰!<ܼ>©ú¨ˆˆˆˆˆˆˆˆˆˆˆTB·Ìš§÷ÖÌ©ÔGEDDDDDDDDDD¤’ÓÈS”<”<”<‘bhÙ2˜#~+ïj”ˆÊÔ–¼,[vÿøúþ€—×j~þù¿þ—×j>ÿü¨Å¹·Âë!ù[¼ø^^«Ù¾=¦¼«Rl•©-y9}úÏ?¿öí×â嵚‡Ú ÀÃÿBÛ¶ÿµ8÷Vx=$—ðòZÍܹ–wUŠ­2µ%/IIéL›NçÎëhÞ|5^^«ILÌàƒà嵚ÈÈËÆ¹·Âë!S™bºÊÔ–¼(^—ªL1]ejK^¯KaU¦˜®2µ%/Š×+%OEDDn¿üržÉ“÷qüxii™å]Ãm·­áñÇ·T˜rDnfãÆídÆs\º”ZÞU1ÌŸ/¯ÕìÚ[!ʹ™Íû'_|qŒsç’0™Ê»6f»vÅâ嵚ùóUˆrDnfŠ×E*?Åë"•›âõÊ¥Jqž|øðaŽ9B£FJª>"EÈ÷ß_ÞÕ[Dll,Í›7/ïj”»ˆˆþå]…S™Ú’›Í›Ï0wîÝøû7¤J+ãØÑ£Ë«ZRÁ=óLsžy¦rü­«LmÉM\\ áá—¸óÎ:,\xuëÚÇV­ò+¿ŠI…Ö²eíJó? 2µ%/›7ŸÇÉÉ–ï¿¿OOG¬­ÍÿËÿõ¯üë_-ʹvRQU¦·2µ%7Š×¥(*SŒ[™Ú’ÅëR•)Æ­LmÉ‹âõÊ¥XÉS‘ŠÄTQnç©€.^L kW‹/bD¤r¸p!€víœ-¾ˆ‘ÊãâÅš6u¢Y3§ò®Šˆ”Åë"•›âu‘ÊOñzåR¬ä©··7ÞÞÞ¬\¹²¤ê#R$VVVŒ=š>ú¨¼«"·ˆ!C†”w*„–-ƒiÙ²6Ë—w¶Ø¿fM_}ŒÃ‡¯™ M›:2x°=ÖÔ¸ë*ËŽ1,^|”={b¹z5 —jôìéÊK/ùâèhþ7•’’A‹ÁtïîJ@@f̈à·ß.ššIÛ¶µyóÍ–øúÖ´(73ÓÄgŸeÅŠ¿8s&}´)½z¹áç·žÇkÊ”)­ólKQ®YÐö”¥ ÎñüóÛŒí;îÎõ¼·ßnÉSOyå[^AÛ·yóy>ÿü(‡_áêÕtÜܪѹs}ž}Ö› ص+–áÃ`ëÖ‹xy­6ž»lYg:tp毿®²lÙq~ÿý"§N]ÃÆÆ oï<òˆ'ƒ5(P9Rt‹á½÷öçx-ÏKâã#ùõ× ÄÄ$S«–÷Þ[±c}r|H¸v-O?=ÂO?áôéDªT±¢eËÚŒãM§Nõó>øàŸ|r˜®DF^æÓOpòäUœ<¸1cÇúäøûqôhï¿¿Ÿ;b0™ }{gÞ|ó>ùä0AA§Ø¹³µkÛåÙ–¢\³ í)Kýúýl¬x˜ÀÀÃ9Îqr²eïÞ¾ù–UÐö]º”J`àa6l8Gtt2Õ«ÛàåUƒÇó¤gO7¬¬àñÇ·°uëEã} p÷ÝÎ,_Þ™´´LÖ­;˪U'9|ø qq)Ô¯_•Žë3nœ®®UüË‘¢‹ˆ¸ÄÀ¿0nœ/ãÆùû““3 <ÌÚµgˆŠº†5-[Öæ¹ç¼éÜÙ²Ÿ›Lðý÷ñÝw'9tè2àééÈðáMxôѦXýýúõ×hFÚÊÛo·¤mÛº¼ÿþ~""â±··æ\xûí–ÔªegQöåË©|øa$ëן!!!æÍ7·K—Ryýõ=Ì›×^½æÙ–¢\³ í)KÓ¦…óÅÇØ·/ÎâÝõBBºæ›\¯ íËÈ0±lÙqV­:ETÔ5L&ðð¨Nÿþxä‘&T­Z…ùóñÑGøè£ƒÆcøg”Üα|óÍ þø#Žsç’pt¬BÛ¶u=º9wÝU @åHÑ)^W¼®x½rS¼®x]ñzå¦x]ñºâõò£‘§""R¢Þ{o?‹±ØwðàeÂÙ»7Ž>joìÿæ›Lšô‡Å:§O_ã³Ï޲uëE¾û® U«þó¯êÊ•4† %**ÑØ·uëEFŽÜ† =Œ]“'ïã›oNÛQQ‰¼÷Þ~ˆ/T{ sͶ'7×è(ˆõë»—ÙmmßæÍçyöÙ0‹ç;–À±c œ?ŸÌ¼ywèzÏ=·ãÇ,öíÝÇÞ½q\¸Ì˜1ÞÅn“ÞéÓ‰<üð/ÄÆ¦ûbbR 9ÍÏ?Ÿçë¯;ѲemÀüAjøðß8räŠqnJ lÛv‘íÛ/2kV; °\þá«¯Ž³rå_ÆöÙ³‰Ìû'&Œïkì?v,!CBIHH3öýòËyþø#Ž;î¨U¨6ôšEiOv×X}ú¸3gNûüO,…ißÓOo%<ü’q^RR:11Ù¶í"?þØ oïù^oýú³¼üòN‹}gÏ&²rå_„†žgíÚnc¥l¤¥eòÄ¿³{÷?ëU¥¦ffþýNÚ†#<óûW_ÝÅ?DY”ñ矗™2e‘‘—™>½­Å±ˆˆx>øà©©æõü’’`õêSœ>}o¾ébœ—’’Ácm1¾hØ¿?žÑ£·ñàƒî…jSA¯Y”öäæ¶ÛÖ‘Q°YqœíÙ¶íÁB´¦è Ó¾Y³ðé§–ñÜþýñìß­­5#G6Í÷z/&óÈ#–ï.]JåçŸÏzž¯¿îLûöu‹Ù*) ÅëŠ×¯WnŠ×¯ƒâõÊLñºâuP¼^¬Ë»""Ry8ÏâÅGpp°aòäÖ„…õf×®>üç?í¨UËŽÓlÜx092uê>jÔ°ãÝwÛÖ›ƒ°n]wz÷v#2ò2_~yÜ¢ü;bpu­FPýظ±÷ÝWøøT‹Àbß¾8¾ù掎U˜9óNvíêömІ ΪM½fQÚSzôpåèÑtïî Àý9zt ñ³dÉ}*§0íËúOœx;aa½‰ŒÀ† =˜2¥µa„£w IDATqgj»vu9zt 66VÜw_=‹:eÝeìååÄ»ïÞɆ =ˆŒÀÞ½}ùæ›.4o^ƒE‹‘‘a*P9R²ö›BûöuY³æ""ú±n]wzölȵké¼õÖ^ãÜ÷Þ;À‘#WèÙ³!«WûÑŸ]»ú0{v{jÔ°# œ¤¤ ‹òƒƒ£˜4©[·öfß¾~üç?í°±±béÒã_¾ûî~Òxà~ü±ýîŠOM¶l¹P¨6ôšEiOY éJHHWFö¶x=:Ö­k¨œ‚¶ïÂ…dÂÃ/Ѭ™«VÝODD?víêÃ7ßt¡W¯†ÆÝÿ_}Õ‰—_¾€o¿íbÔ'ëîs;;k† iŠ]ص«‘‘øå&LðåÂ…dã ²üÊ‘’µtéqvaÃjÞÃôã·ßz1nœVVVLŸÁÅ‹æiç~ø!Š~ˆâ¶ÛjðÙg÷±kW""úóÍ7]ðõ­ÉбwoœEùÁÁQ ìÁ¦Mþìßߟ+ºÐ°a5vøâ嫯Žy™¦MXº´ááýùåFŽlÆÚµ§ Õ¦‚^³(í) ÿþw+Žˆ““-­[×Îñ=º`ɉ´oÆsT­jÃüùØ»·/ý éÊ3Ï4§Úÿ³wßaQëÇ¿ËÒ›Hì¢X–(1blQïõš˜båÆãM1ÆÄSÌ/±Fc,‰½·kl£¢F@…(ˆŠRDÁ†€("í÷²²4w‘¢ø~žÇçIΙóÎî,¼Ìœ3c¬`üø¦¬[W0˜5iR3µ˜ `u ~þ¹ÁÁ}ˆŽöçøñW˜7¯úú:,ZtN£zDå’|]òu|½¶“|]òuÉ×k7É×%_É׫ƒÜ…´´l¾ÿ>Rã6izÍŠ´§4¿ýæ£qlÕI›öÙÙ ¸ôïïD½z†@Á#..¦Z]sÆŒÖüôÓy-:GRR¦êÄBW®Ü£A“'l™ÐFff.^ÃÊÊ€%K¼Uß 773æÎ퀟_ÁrT±±Ô¯oÌΗiÜØœùó;ª––12RâççHZZ6Ó§‡z“®]mUט8Ñ‘#]Uÿß¿¿û÷_eÏž«$%ÝÃÁÁ˜{÷r9|øÆÌŸßƒ‚? š5«ÃO?u¤G}ܾý@ãvirÍò*Ôžâ Ÿ6Ú´¯S§z*iÓÆ’Ö­-–//+­îJíÝÛÜÜ|~üñ,gϦ‘žžM^ޣѯsçÒËyµ¨*¿ÿ^0Ð1wnÚ´)È35Õ%  `lݺ8‚‚’yýug6mŠG©T°|ù ØØªêðò²â‡¼èÓ'ÀÀ$Ú¶µTóñ±á‹/Ú¨þ¿];+Þy§1ŸAttšj«={®¢PÀ‚hܸàÉcc>û¬—.ÝÑjÐUÓkV¤=¥9wÎ_ãØª“6í+ü]îëkRYðÁãÎc—+ÊÚÚ€>hÎâÅçùôÓpnÝÊR»Ã_¾ã5CòuÉ×%_¯Ý$_—|]òõÚOòuÉ×%_¯2y*„¢ÒÄÅ,ÙÔ£‡}‰s=zØ@µÌÌ{ï…òÞ{¡ª»EóóóUÿ]|Ÿ‚æÍ-JìCääTðÇxFÆ£¥€ ®Q|Ÿ‡ÂcÚ ÆhzÍŠ´çY¢MûÞxÛôíD·nv´haA‹´oo…žžf‹^¤¥=àµ×þ$))³Ì2÷ïWÿÃÏ»ÄĻ俿ãåe]â{¡T*èÒņ Ò‰Ï //Ÿû÷s‰‰IÇÝ}P°MþÃSØo®^UÿŒK{¡Aƒ‚¼»wsŠÅa¥ˆ)df¦GÛ¶Vüñ‡æO­hrÍË—ïV¨=Ï mÚ§¯¯ÃW_µå³ÏÂ9w.Ž­qw¯C‡ÖÔ¯o¬ñ5 ÷µ*KVV^™çDÕ‰¿‹……¾j ¦¨=ìY·.Žøø  àwCnn>]ºìÊê3÷ÔêèÔ©^‰z ¯~ß âÈÀÖÖH5ST—.¶Z ÆhzÍŠ´çY¢Mû>ù¤%ãǧG}tébƒ‡‡mÛZÒ¬™æƒ1'O¦0bÄa²³Kÿ.Ëïñš!ùºäë ùzm&ùºäë’¯×~’¯K¾’¯W™<BQé4t(¼[±¼=Šß¹lh¨,QæÑµJ^TQJ …I‡¦4½fEÚSš§u%mÚgjªËÊ•>œ?ŸÎñã7‰ŽNcÓ¦xRR²øüóÖôíûø½/6oN ))“Þ½˜8ц M12R¢PÀ´iájûc‰šðøïQaŸÉÏ/¿ßOÒËûÎÿú–õ³¦2¿ç…UU´=Å=­{(iÛ¾W_u¢gO{Ž»ÁéÓ·ùý÷+|öY:YóÃ^%ëŠËÍÍgáÂs˜šê2cF:w®‡¥¥ºº nܸOçλ+¯qBkšNhò»!;[ýœAÉAùªþŽkzÍŠ´§4OëJÚ´Ïãû÷÷âäÉNœ¸IhèMæÎ=Kݺú̙ӦM¿OÚ¢EçÈÎÎ# À'lm Ñ×/ø]Þ»w ))Y­CTÉ×K'ùºä뵇äëe‘|]òõÚ@òuÉ×%_¯z2yZEŽ=ʾ}û5jÎÎÎ5ΩMmy^½x”}‘ûõÂ(œ­œk:œ'R›ÚòСªlÏÓ "íkÒÄœ&MõƒñãóÁ'ðñ±¡N}  ÎÉ)™>0yr3µÁ¦òøë¯’ŸaYõˆÊåèh‚R© ,ì9jpçææ«î,mØÐ;;CôõuhÙ².ë×w­’8BCo‘••«v7{FF·+õz×4®²ö< *Ò>]|}íU{´;—Nß¾A,XÍÔ©-Tû)ÿã/==›ôôlúöu¤'µs‡]+q­²ê•¯aCÂÃo‘¢Zæ­Ð£ßåOz¸ºš™ÆÑ£}03Ó«ä8Lùûïbbîàæ¦>é í>išªÊö< ´mŸR©P[Þ/33‡^½ù裓lÙÒ(ÿ»yùò=¬­ pW;žp—¸¸ ÌÍÅ ßñê#ùºäëEI¾^ûH¾.ùzQ’¯×N’¯K¾^Hòõª¥ÙZBkGeÆŒÄÅÅÕt(9tèŸþ9 %Î=kmp4æ(3vÎ îf\M‡¢‘CçñùŽÏIH)¥ÿ=cmyÞ½ü²óæcõêXnÞÌ"-í;w&òùç¼òJÁ]Ì4@©TðþûalÜGRR&ÙÙyܼ™EXØ-f̈`Ñ¢óŠã¥— â˜=;ŠmÛ.“šú€””,Ö­‹cÁ‚s•ÐÒ’*«=¿ýæSbcùòþUÇ]ì ]û>úè$sæœåÌ™TîÜÉæþý\""nsá²³ó¸ví¾ª^ }.\H'!á®ÚÞ){7,YrääLîßÏåôéÛŒó±±%â+«Q¹ŒŒ”tëfËÍ›YŒó‘‘©dfæpñâÞ{/”óçÓñ𨃋‹)FFºøù9râÄ-&M %<ü6ééÙdeårñâ6oŽgР?5z£8cc%>>6\¹r€€.\H'33‡³gÓ?þx•ÜYYí)ÜCIÓÕq»¶íûûïÛ¼õÖ1öî½Jbâ=²³ó¸qã>ûöì£wùò£e’êÔ)øcëðáëdf>ZnÉÂB##%GŽ\'8ø:÷ïçrãÆ}Ö¬‰å‹/þ._YõˆÊWø{úßÿãÏ?“ÉÈÈ!99“ùó£Y·.}}zö,XÚsðà†dfæ0räþø#‰””,²³ó¸rå$3~üq­žÎ*꥗ìÉÏ/È?~ü&™™¹\¹rÿþ÷t• ÆTV{Îó×ø;^]w±ƒví<ø kÖÄs‡û÷s¹s'›C‡®“šú@5a¾›¡¡7IMUß»ÎÁÁˆ[·²X¹òwîdsçN6þ™ÌèÑGKü®.¯Q¹$_—|$_¯Í$_—|]òõÚOòuÉ× ÊJ¾^ÕäÉÓ*âííÍôéÓŸ™'5:ÄŒ3ðõõ¥Aƒjçžµ¶ðvófz¿é8[;×t(9tá3vÎÀ·™/ ,‹õ¿g¬-Ï»æÍ-=Ú¥Kc˜>=œéÓÃÕÎûù9Ò«WÁÎΦ|ùe[¦M;ÅG*µ¾wßmR¡8Z·®Ë! Ù°!ž>S;×·¯#»v%j¼—¦ª²=OmÚ—œœÉÆñÌ›]¢L³fuÔîHìÔ©ÿû_"=zìS[½º ýú9±`Á96mŠgÓ¦xÕ9SS]zõ²gÿ~õýqʪ§´½qÄ“™6­5·ùë¯ôï@휱±’¯¾j«úÿO>iÉÙ³iìÜ™ÈΉ¥Ö§ír>…>þ¸%'NÜ"((™  dÕq }¼½ëqôè tu+w㲪lÏÓ@ÓöååÜÑ\xWsQ ôë÷h©¿Ž­Q( –Z´¨`0¼CkÖ¬éÂ믻°|y £FQ«cÀ€lݪ~CUyõˆÊõÏ6bÏž+œ<™Â[o+qþÓO[S¯ž!¯½Ö[lÞÏ;ïüUj}C‡:W(Ž‘#]Ù±#‘èè4FŒ8¬:®PÀË/×g÷î+•þ¯Êö< ´i_dd*§N¥”[ ò[[CŽ»Aûö»TÇcb0l˜ ^cÆŒf̈PkÖ¬Mš˜sýú}ê•KòuÉ×AòõÚNòuÉ×%_¯Ý$_—|$_¯òäiñööæóÏ?¯޵©-Ï oWo>õóZ±ÌmmjËóâ£ZòÝwíhݺ.FFJ ”xxÔaÚ´VüßÿµW+;dHC6n솟Ÿ#66†èê*°±1¤CkfÌhÍØ±M+ÇÌ™m™2¥9 ˜ §§ƒ““1S§¶`Ø0gµ¥'*KU¶çi iû¾ù¦ï¿ßŒV­êbf¦‡©©.Mš˜àÎêÕ]TK}@Á}ú8`a¡¯¶W†½½«VùЩS=LMu17×ãÅíØ¸±›j™·¢ÊªGT>''c¶m{‘ÁƒbkkˆR©ÀÊÊ??G¶n}‘–-ëªÊÖ©£Ï¦Mݘ:µ-ZX`l¬ÄÈH773†ufóænjKxiÃÕÕŒ ºÑ£‡=&&º˜˜èÒ­›-ë×w%''¥R‰IåÞ'X•íyhÚ¾V­,XºÔ›—_®¯Z>ÌÖÖž=íøí7ÕÓDPð9͚剛›Y‰Að)Sš3a‚;NNu8;›2eJs¦Oo]"¶òê•KOO‡ß~ó! ÀƒF Þo]:uªÇ²eÞ î¢*«PÀ7ßx2wn^x¡`‰ÇÂß¹½zÙóÓO*¼4¦¡¡’U«|6Ì++ ”´haÁâÅTK.)YYª²=OmÚ·yswþñF¸¹™ah¨¤n]}Úµ³bÖ,O>ù¤¥ªN¥RÁ‚hßÞ ##õŸ¾¾öüßÿµÇݽ††Jll 6Ì…•+}Ð×Wÿ—W¨|’¯K¾.ùzí&ùºäë’¯×n’¯K¾’¯WEþÜn3xð`6nÜøÄœ55•}ûö‹žžíÛ·§kWõõÞ f̘1Ô­[—;wƒ­­-ýû÷ÇÒR}MðŠÖmaaÁ®]»8þ<íÚµ£wïÞåîšžžN`` /^ÄØØOOO:wî¬ñ{O`` ×®]ÃÒÒ’îÝ»ã.uÑøÌÍÍÙ¾};ñññ888ðꫯbaa¡*ûÛo¿±bÅ 8Ào¼¡zòÔÙÙ™Q£F•ÛmcÑæsІB¡à½÷Þã‡~¨ÐëO&œäใä“O—Æ]ðröbÛ©m„_çÃ>b¬_¬ÿÝKe_Ô>boÆ¢§Ô£}ÃötmR¬œ $øB0cº¡®I]vFì$æz ¶æ¶ôoÓK“2úŸ–u[[°ëô.Î'Ÿ§]ÃvônÞ»Ü}BÓ3Ó <ÈÅ1Ö7Ƴ']µè·â <ȵôkXšXÒ½iwÜíŠ}æEâ372g{øvâoÅã`áÀ«­_ŸHÿ;ö+Ž®à@ôÞxá Õ“§ÎÖÎŒòUn[´E›Ïáq*óç_i®]»FFFÉ¥ŽJóûï¦Øs±Jb©m¾øâo~ûí" tTûƒAˆ'áææÊܹ×xå;·O[ýµIrr&½zÒ 1»võ¬épD-1q¢-óæ•ÜßéY¨¿6ÉËËÇßÿgϦÚ ‹ÊϧªÎ§%_׎äë¢*H¾þô|]TÉן’¯‹ªP‘|ÚÖÖSSÓŠ^rc/Û›——ǘ1cX²d‰ÚññãÇ“‘‘Á¯¿þÊ„ Ô&O—-[ƤI“HOOW{M—.]زe ÖÖK~òÍ7ßàééÉÔ©S‰Ž~´‰••AAA´n­~§Œ¶u·hÑ‚?üØØXÞÿ}ÕäéŒ3èÞ½»Ú„ãÒ¥K™ì½Þ/˜<}¸Oh÷¦ÝÕ&—/eò†É¤eën>üð :ŠÇô¿­óížoÉÍ+ö™ûŒfህè)õÔâkîМ)›¦«Hÿ3µfëø­ø¸=ìÇ~ã@ôÃþw¤HÿkÒ­`ò´Œ¶h‹6Ÿƒ¨6lˆ'%å>½z9P¿¾1ׯßgË–V¯¾„‰‰.]ºØÖtˆBˆ'4nÜq†w¡Y³:èêêpúôm¾þú ™™9ôéS¿¦ÃB<¡¯¾:Móæ´oo…¥¥>qqwY°àQQitêTOb„xÆI¾.Dí'ùºµ›äë¢6«ñÉÓü‘%K– T*ñ÷÷§Q£Fœ;wŽ… R¯^½å·oßÎèÑ£ÑÕÕ¥oß¾xxx••Åþýû9|ø0ÿú׿صk—ÚkÞ}÷]tuuyçw055eÏž=DEE1aÂ>üDu7}}}Þzë-êׯ_î¤7nä­·ÞÀËË ///”J%'Nœ 88˜¼¼¼r'O,XÀ¬Y³P(øùùáááA\\Û¶mã—_~ÁÚÚšY³f©½füøñèëëóÎ;ï`hhH`` QQQ 0€èèh¬¬¬9r$yyy¥>yZ™±hú9T§dÉá%(u”ø·ñ§Q½FœK>ÇÂ?RÏ´”þ¾Ñ¿ŽFWG—¾­úâaïAVvû£ösøÂaþµì_ì (ÖÿV¾‹®Ž.ït}SSöDî!êjÖLàðÔÃOT÷¸ÕãÐWêóV—·¨oQ¿Ü'H7†mä­_ö?g/¼œ½Pê(9‚à˜`òòóÊ<]p`³~ø™·òÃÃÞƒ¸[ql;µ_ÿ‚µ©5³^+ÖÿÖŒG_©Ï;]ßÁPÏÀ³D]bÀ‚D•©#;$/?¯Ô'O+3M?Q{¤§?`öì(fÏŽ*qî“OZalü|,1!Dmvøð5öí»Z⸫«£G7®ˆ„•)66ƒeËbJ76Vª-E%„x6I¾.Dí'ùºµ›äë¢6«ñÉÓï¿ÿéÞ½»êøöíÛñ÷÷/Qþã?ÆØØ˜C‡Ñ®];Õñüü| Ä–-[ˆŽŽV[:ÖÕÕ•ýû÷cddÀ¬Y³hÕªGŽ!==ssó ×íèèÈÁƒ133{l[?ùä `âqܸqj炃ƒQ*ËÿÃà믿`óæÍ ðh#ÞãÇÓ¥KæÌ™Ã§Ÿ~Љɣ½%ìíí9|ø°ª999 :”-[¶°bÅ &OžÌÈ‘#IHHàÀ¼ù曪'R+;M?‡êôý¾ïÑQèø~ Ý›vWß¾ÿ¥ô¿­c¬o̡Ѯa±>²h[Nn!:9ZméX×z®ì?FzÛ3‹V3ZqäâÒ3Ó172¯pÝŽu98å f†ô¿­û߈Œë^¬ÿÅ£T<¦ÿí~ø™ÝÌ€¶E>óØãtù¦ sçðißO11(ÒÿêØsøÃê6æäå0tñP¶œÜŠ£+˜Ü{2#;$!%ÑxÓçMÕ©•‹¦Ÿƒ¨=†u&==›  $î¢T*hÖÌ‚·ÞjLv5ž¢,^Ü™åËcˆŠJ%%å¶¶FôìiÇĉî2à*D-ðÉ'-±´4 ,ì&II™˜šêÑ¡ƒ4i"¹›Ï:É×…¨ý$_¢v“|]Ôf5:yÏÕ«WéÝ»·ÚÄ)@ÿþýñòò"44Tu,))‰¨¨(\]]Ù½{7»wï&??ŸÂm[ ŸÚ S›àœ:uªjÂ@_____Î;GRRæææ®{Ê”)Mœ&&&rá¼¼¼JLœ°LHH 11‘^xAm² cÇŽ <˜5kÖpòäIºté¢Öö¢“’ººº|ñÅlÙ²…#GŽ0yòäÇÆ^™±<îs¨Nñ·â¹šz•ÞÍ{«MœôoÓ/g/BãŠô¿´$¢®FáZÏ•Ýgv³ûL±>òð©Í°¸0µ Ω}¦ª&ìôuõñõðå\ò9’Ò’072¯pÝS^š¢ÑÄiâíD.\¿€—³W‰‰Sà±– ) $ÞNä·Ô&+:ºtdpûÁ¬9¾†“ 'éÒ¸ÈgÞgªÚ¤¤®Ž._ôÿ‚-'·p$æ“{W ÿ=A,ûDíbf¦Çûï7ãý÷›Õt(Bˆ*âí]oï’+E!jggS¾ùƳ¦ÃBTÉ×…¨ý$_¢v“|]Ôf5:yzûöm ìåaÕ&OoܸÀÅ‹™6mZ™õßOÔÉÉ©D™Âb³³³Ÿ¨îÆ5[bâÖ­[4mÚT£òžW5*õ¼««+)))jÇ]\\J”-ûì3^xáU9CCC äÓ¢•ËÓ¦¡UC,Œ äÐùCtmR¤ÿýý?µ§N¡àÉÅÆ6IJMbP»A´¨_J‰Ú§¶_©¦ª²n(ص±McBãBùùÐϼӵXÿ‹9‚·k9ýϲŽu9s„;xµu‘Ï<.ŒM'6a¤g„gƒbýoÏ7ôkÝOµ´pN^ŸmØÿÜŠô?݇ýï®ý¯‚±!„B!„B!„B}úЬY3¢¢¢øî»ïèÖ­[™“§‰åi4©×$Î&ŸeYð26(Òÿº#)-‰­§¶ªMÂù·õgõ[«™¸v"{#÷²7²HQèðr‹—5^J·¸ª¬`Hû!¤ÜMaÊÆ)„Ć[¤ÿ5â1ýïÅñ$ÞN份߱3b';#Š|æ>£ùÒ¿”þ7|>lü€Å‹ô?Sk¶ŽßªZJ O‹>4shFÔÕ(¾Ûû°ÿ5éVæäiEbB!„B!„B!„xœŸŽƒçö?7:¸t é§M±6µÆP¯Xÿë0 ÿ¶þ â\ò9òòóp¶r¦S£N8Yé#Í|1Ô3Äμ”v?Œ#1ûŸ¯ô?!'3;“ ˜ Syû€~Íú¡£Ða{ävº6êJ‡6ª²?û S¶X¥1U×ujZòd6Dl _³~¸Xº¨Îåæç²àÈY5ÂÏ£ì›1„ÐDÔµ(N^9IʽlLmx½ÍëlˆØ@ʽÆt£*wòÊI‚cƒy­åk8Öq¬²xªë:Oƒí‘Û‰¿¯zß‹:w„‰'ÖfõLëÕP„¢6H¾“ÌáK‡I¾“L>ùŒí<–Ë!%ú×õŒë¬ _GÇéØ@³•K*¢º®ó4K ãhÜQÆv‹žROu.þv|©ù”Ú’|½æH¾.ª‹äë5GòuQ$_¯9’¯?¿žŠÉÓ:ðÇpìØ1Õ1fÏžM×®]k02ñ<èàÒ?¢ÿàØÅ"ýO×€ÙƒgÓµ‰ô?!Ê“š™Šÿ ÓUÇZص@WG—¹Ás130SK]HK»–U>HR]שiÓ÷N'(&(xß‹Æääæ07x.¾}e0F<‘_ŽÿÂ7~C~~>PÐ×^oó:ëÃ×s)å’ú`LâIæÏ¥cƒŽU;SMשi§“Nóá®ÉÍËU½ïE;Êâ¿Ó«I/Œz9”77¼Ifv¦êØ[ß*µ]»s¹Ás ð ¨ÒA’êºNM»ûà.ïmä;É@Áû^|0¦´|JmH¾^³$_ÕAòõš#ùº¨’¯×ÉןoOÅäiPPaaa„‡‡sãÆ èÝ»7ööö5Ú3ëq{²ŠG‚&Føåpnܹƒ…½›÷ƾŽô¿ŠzÜž¬¢öXur‰i‰´­ß–N :¡§ÔÃÅÒ…>´­ß¶Fâç=ÓÚ½—ížs{øóÒŸ´slljÄ5ލ¥²s³ùñðêòZË×°2¶R}·†¶Jʽ”‰ËÓÑ“Ÿêש_#ׯ¹ù¹|¼ûc<ë{z9´¦ÃµØÜà¹dfgòŠû+4²j„ŽB==¼½1Ð5ÀÚØºÚc²5³­õ1ßýùùùù8Y8q9õrM‡#j)É×kŽäë¢:H¾^s$_ÕEòõš#ùúóí©˜<hß¾=íÛ·¯é0j§a/ÑgI{çö´w–þWYd/ÑçÇ¥”K,¸KcKµs>5P°ŒFmv'ë_ìÿ‚µûyùy2#ªÌ•ô+ÜϹψ¶#˜Ñ{†Ú¹!­‡ÔPTàYßÏúž5výê°ôøR.§]fÃ?6ðÊÒWj:Q‹]¼u7k7æúÏU;þ‚ó ¼àüBÄdcjS£yDuˆHŠ`Í©5ü4ð'~<ücM‡#j1É×k†ä뢺H¾^s$_ÕEòõš!ùºxj&O…B<;.޺Ȯ³»8“|€a+ÐÕ)ù+E›5ÿÏ$ŸáÔ•Sd<ÈÀÖÔ–n®Ý°2¶*Q.,1Œó7Γ‘•£…#^Ž^%–¿)¾‡ÒŽÈÄÝŽ+óÚ/º¾HKû–Ч&|÷çwè+õ™Ôußü^ë׋?FèåPܬÝxÅ]þÈ¥[sj g¯Ÿ úF4sƒç–(£¯ÔW[¬<é÷Ó Ž ærêeô”z´´k‰—“W‰r©™©ºtˆk×0Ñ7¡±ucÚ;¶G¡P¨ÊßC©p¿•²ëóVÇ·*OMHLKdÞ‘yüçÅÿ`g¦ý*™Ù™üvâ7ä<`XÛaX›TÿÈâéwèÒ!¯†“š™ŠE©ßq@ã=ºrós9wŒs7Α“—ƒ‹¥ ÝuÃ@×@­\vn6‡c“š@~~> ë6ÄÛÙC]CU™ÒöPúéØOdçf—yý¶û'uêjOMÈÍÏåãß?¦OÓ>ôtëY¡Á˜MoâjúUº5êFk‡ÖU¥xÖI¾^³$_ÕAòõš#ùº¨’¯×É×Èä©Bˆ ¸të’ZÒ¶ðèÂRËi²æÿÍ»7™´cÇâ©7Ò3bz¯é j5(øíÍ oòwÒßjå t ø Û¼áõ†ZH¾^>É×Em ùzÙ$_µäëå“|]T5™<B¡µFVð àgÿÇ¥[—ç=NíNöøÛñlÜþØzróry{ÓÛœN:cGº4êBÃ:Äߎ'ðB ïþ7k7Ú8´aEØ þNú[z4îAÃ:\I»BHB'O”;°ÐÏ£-íZ–8¾éïMÔ¯SŸþÍûkOy¶žÙÊѸ£m¡¾}5ŒÉÉËá“ÝŸàßÂ뇂¶}õÇWüö+ÃÛgzïé(J­êÏ—am†qöúYÖžZK;Çv%–Z¾ž{Ù÷[Oà…@>ÚýJ…’Ý^ÄÕÊ•98w„ÐË¡Lùß~ü ™Ù™|ø%Y9YtkÔ&õš•“Åù›ç9žpœ”{)e,î·RÜåÔËìˆÜÁç½?×:žò\M¿ZîàOq}=új<³=r;Ç޳óÍjwïkâìõ³¼½ñmòòóX;bm‰'t„(ªk£®˜š³èØ"êÕeh›¡jçÄÑh™É+iWxcäßO§µCkZÛ·F_WŸ3Égø+þ/ÞÞô6ûßÞ©)_øš7ð°ñ SÃNèêèw;ŽàØ`Îß8_îžIã¼Ç•¸“=+'‹å¡Ëùg»âbé¢u<å™t>¹y¹m? &i:“šÀü#ó™ñÒ ­KS3S»e,§®œâëW¾Öh‚H<¿$_—|]Ô~’¯—MòuQH¾.ùº¨Y2y*„Bk®V®øu-ŠK·.1Þ{¼Ú²‡.Òh0fßù}œN:M¿fý˜í7¥Î£ÁÓI§ôÛ –‡.gNÿ9¤ÜK`˨-ØšÚªÊ=È}@drd¹×yµù«%ŽÍ?2S~ü‹êŽpmâ)Ï€hï¨ù>ÊÅ÷Ÿ*Ë¢c‹H¹—ÂÇ=>Ö¸n€»îòïíÿæÐ¥C|Òó¹ƒ]hdxÛáªÁ˜öŽíK v¼xPµZyfœ‘žkG¬U»{4??Ÿ Û&°÷Ü^.ÞºHÃ:dåd1¤õ¾zù+µ:Îß8_î´¥í·’”žÄˆ5#ø¿WÿÞMzk«•k™×s0wÐj—&õšhT.53•ÿý—ñ/Œ/÷ú¥ Š â½íïáléÌÏÆÞÜ^«×‹çO×F]éÚ¨+ËC—cgfW¢Ogådi4óó_?“~?½g0Âs„Ú¹a+˜8“Q;Þv8)÷Rp±taûÛÑQè¨Ê¥ÜKQýž/Kñý³s³³y CZá£U(žòLðž Õìšš¶gžŽžª§í4uéÖ%ÞÞô6i÷ÓømØotpê ÕëÅóGòuÉ×Eí'ùºäë¢v“|]òuQ³dòT!D9w(Hbýµˆüü‚¤'??Ÿ|ò174çtÒiz7éÍšSkX²Œ!­‡ÐȲ …}¥>më·Õ꺿ÿ…À ¬¶}“ ÅSž-h&ânDZðèB¾õû # _wãî †¬ÂåÔË,¸ˆn=*=6!Êr=ã:17ch`Ñ€ƒ—rðÒÁ‚ïÓÃï–‚‚;µÏ$Ÿ¡óþ´slÇñ„ãüóœ:¨î4Õt0£èuÿµþ_Lô™H_¾Ч2c4õõ¯©gRw;½«Õë~ û•-§·Ðݵ;?öÿQ«? …xRGã¢T(I¹—‚£ Ô¾Sw³ï´…—š¾Ä²elˆØ@·ؘÚ“šNL@ÁDÛ°5³ez¯éާ<}&j¦¶žÙÊÉ+'ù}ôïZ½.,1ŒùGæcilɦ‘›p®ë\é± QÉ×5'ùºxI¾®É×ųHòuÍI¾.Šz¢ÉÓ[·n‘˜˜È¤I“*+!*,00Pú¢¨68::Ötϼ»ÖÖG¬lYÖŽX˯a¿2tÕP²r²haׂ^Mz1¬Í0÷Zyb%Û"·±jØ*Ì Ì*Oyªb¥ÿý#=£ûWºr €Q;9“|†-àdá¤:;ž´ûi´²k%w½‰jWøJHMà‡C?”Y®pŸ åC—³ôøR~8ôn^ÀÎÌŽŽ :2¼ípZ;´Öøš#×dt‡Ñ%Fµ§,U±‡ÒßI³éïMônÒ[m_º¬œ, ` inð\ìÍìÜz°Úkƒ.‘—Ÿ‡ ˆÕ.å^ ¹ù¹Ì .û)¯ÂïÔ{]Þ£E¶EncfàLŒõiëЖþ-úóŠû+]/7/—I;&a¢oÂÌ>3K,—§M<å©ì=”²r²ø*è+\,]Øzf«Ú¹Â=¥]ˆ¾RŸ /LP»Ó?$!„´ûiøyøÑТ¡F1 QY$_/ ùº¨­$_/ ùº¨Í$_—|]TÌMž^¸pÄÄD~üñÇÊŠGˆ ;sæ gΜ©é0Äs$3³ìMÐ…fêÕ`DÛX™X•ZÆP×Põß^N^x9y˜„\aVÐ,öDïaÝ?Ö©%.¥Y±žÕ§V³føšRï×6ž²TÅJ‰©‰¤ÝO+sß–Q;hçØNm0¦½c{^júÿÙõF¬Áò¡Ëµº[Pˆ'Qǰà;åfíVîZ…{œë3Ñg"}&ò ÷箟c]ø:­Ä’AKèîÚ½Üë¥f¦2rÝHF´ÁÐÖCKœ×6ž²TÅJWÓ¯Ëî;¿¯ÄùÂÁ˜vŽíJ ÆÌõŸË÷¿ç½íïq'ëN©m¢ª˜šó ÷ow|»Ì2nÖnè(tÔjƒZ "/?¸”8\<Àû;Þ'29’)ݧ”{­¼ü<¦þ>€o^ù¦ÔßûÚÄSžÊÞCé^ö=ngÞævæm¢®E•ZfѱEŒa¼Úñ±Þc‰K‰cõ©Õdåfñß>ÿU[ªTˆª$ùzÉ×Em%ùzÉ×Em&ùºäë¢bžhò´S§Nlܸ±R‚¢¢ ï½÷?üPö]iBT¦Áƒ?¾x¬Î :³1b#¹ù¹%îÚ‚‚;»’î$ðWü_´´o©Z¶ËÆÔ??þ¼ø'ÛÎl#6%¶Üe{¶žÙÊÒ¥¬¶ªÌÁmâ)OUì¡ôvÿàÖÝ[%޼xˆ¤ú5뇋¥ ,”¹¡9Ûx}õëü:ôWÙ_ET {s{œë:s#ã}šö)±œW~~>ÁqÁ´°kÁõŒë$ßI¦•}+ô•ú´´o‰…‘ë#Ö³õÌÖrcîdÝaÔúQø7÷çŸíþùÄñ”§*öPr³r+µÎ¬œ,ÿµS^oó:öf%¿»F¬¶’±[ÆòÉîOHÍLÕz)1!*Ê»¡7ë#ÖÓ°nCú7ï_â|ôõhÕ“cbеQW”:Jt:4²j„³¥3+O¬dóéÍåÆäççóéžO¹ûà.óÌG©(}0B›xÊSÙ{(ê–ùscÍ©5ܼ{“1Ç ¯ÔW-IXH‚/^ú‚:†uøéØO¤ÝOcNÿ9è+õ5ŠOˆ'!ùzÉ×Em%ùzÉ×Em&ùºäë¢bdÏS!„5¦o³¾¬[ÁºðuŽ=Œ·³7VÆV¤ßO'îv! !Œî0šVö­Xü×bN$ž SÃN4¬Û=¥Ñ×£9téJ…²Ü}…vÝÅ~ÿ¯µ|uáëJœÑõEZÚ·Ô*žòTÅJ#ÚŽ(õxúýtÕ`Lyû#õtëÉò¡ËygÓ; Y5„CW”;x%De™úâTÆmÇ«Ë_¥sÃθZ¹b k@bZ"W#HLK$òƒH®¦_eÐoƒhZ¯)Íl›akfKÚý4‚.wŠ–å¼±þ Òî§q/û^‰»Ì‹.Ñ£i<åÝ%Z{(¹Y—>“~?]5SÞ5ôŒX2h ïï|ŸïþüŽÔÌT¦¾8µRc¢4c½Ç²çÜ&ïœÌòÐå´¶o™¡72npþæyN'fÙeÔ¯SŸñ[ÇSר.žŽž8Y8‘›Í_ ‘˜–ˆ»{¹×™±;"w0Êk Ž,(q¾pIMmâ)Oeï¡d¤gTæwxÿ…ýܼ{“qÞãÊØ™Üm2uë2ëYŒÞ0šE©í)DU|]s’¯‹g•äëš‘|]<«$_׌äë¢8™<BQc” %K‡,eꮩüó#ÔW2°5µU |tnØ™ð«áüó‡Z}>íù)VÆ¥/ÛðÙÞÏÈÍË-Q!kkZÚ·Ô*žgQ§¬¾š7Ö¿Áë«^gùÐå½cWˆ'Õ«I/þ¯ßÿ1cÿ ÇæpìaÕ9…ÝuCW©‹© ­Zq5‚s7ΩÕáåäÅÄÊþÃhÓß›¿Pêò\E—èÑ4žg‘žR9ýç`n`Î’ãKH»ŸÆ—/})ˉ*åXÇ‘•ÃV2yçdÎ$ŸáL²ú66ªn=Ø~?»£w—¨ã«—¿*óÑ×£Yurðh©¬â —ÔÔ&žgÑ›^oRǰïþ˜¬ýˆ,{ìR¢B< É׫—äë¢&H¾^}$_5Aòõê%ùzíñlþ¦BñTðkæG3Ûf%þpiX·!>´­ßVíø8ïqؘڨ«kT—ŸýÌÅ[ K #å^ –Æ–8×u¦½c{Õïtz‡¶û'ÇŽ› ,éÓµQ×w}¿ÎÛßæAîƒ2ÛQt¿MãyZtmÔsCs\,]ÔŽë*u ð  ‘U#µãÍm›³þëÙµ“Ë!xØz”¹”ŠÖÆÖøÐα]‰sCÛ %å^ŠÚ1OGO|Jü¡Ó¯Y?z5éÅѸ£Ä¦Ä’—Ÿ‡cGÚ8´Q-Iç`îÀæ‘›‰¹ÃéäÓ\»s KcKZÚ·ÄÃÆ£Üë´vh]î]ÞÅFhÏÓÂ@×€Ÿ€?;¼½1Ð5ÀÚøÑ]þ: þûòiåЊkw®qæÚZÛ·®ÎÅ3æÝNï–ºeiýËÖÌ–Ÿ:6è¨V¶™m3~ý;'¯œäLò2³3±3³£i½¦xØ>úþÎ0Ÿ7K ãrêeŒõq±t¡sÃÎjKo¿Ž•±ÕcŸ)ÚMãyZ k3Œ›wo¢§£§v¼¬|j`ËØšÚròÊIŽÆ¥¯Gßê Wmõ !Ê7q¢-óæ]{&ëB”¯ªóiÉ×…¨y’¯ Q»I¾.DíV‘|ÚÖÖSSÓŠ^r£ÎãË!„B!„B!„B!Dí'“§B!„B!„B!„BA5OžšššÒ½{÷ê¼d•©Mm©ˆg±ý¦¦sèÞ}}M‡Q)jS[*âyo¿B!„B!„B!ª†n\ ‹?š4¾t))Sròä5­Ú£Í5µmOi´yÿRRîÓ¥ËZ®\y´ìóž=±'<œÖ­ëiÕÞ'‰E›÷J!„B!„B!„χ]¶÷äɓ̞=###æÍ›GRR·nÝbÕªUXZZ²víZ¶oßLfNœ8 –.]JRR÷ïß'22’ÁƒΜ9sÔê?xð NNN„„„p÷î]Ο?OÏž=¹uë«W¯V• añâŘ››³|ùrnÞ¼Irr2?ýôÛ¶mÓªMš^³"íy’÷¯ÐáÇqrrâøñãdddpöìYHFF†êéZòóóQ*•ôìÙ“üü|Õ¿Òž6­h,š¾WUåäÉkÌžŠ‘‘.óæõ$)i,·nM`Õª¾XZ²vm4Û·Ç“™'aaaÈÒ¥/‘”4–û÷'ùƒ7%<ü:sæ¨O´>õÉÏÿ¥RAÏž ÈÏÿ@õ¯{w§J‹EÓ÷J!„B!„B!„Ï<ݸq#Ÿ}ö&LÀÎÎKKKFó&sh IDATŒÁüùóX¿¾`iÎU«V‘ÍâÅ‹yóÍ7±³³ÃÀÀ€fÍš±víZìììJLÎY[[³cǼ¼¼066¦qãÆª É¢KÃnÞ¼€Y³f1jÔ(¬¬¬°µµe̘1|úé§ZµIÓkV¤=Oòþ255eûöítèÐÜÝÝY»v-îîîsíšvO:>I,š¾WUeãÆócîÌ„ m±³3ÁÒÒ#<˜?ß÷aÌѬZEvv‹÷âÍ7[bgg‚’fͬX»Ö;;““sÖÖFìØ1//;Œõhܸ.sæôxؾëªr›7_`Ö¬®ŒÕ++#lm3¦5Ÿ~ÚY«6izÍŠ´çIÞ¿B¦¦zlß>€ì11ÑÃÝÝ’µkýpw·$8ø ×®ÝÓª½O‹¦ï•B!„B!„B!ž5:yS09ãççWâ\á±Â2‘‘‘ 6 ]]]”J%J¥tuuINN&!!A­OOOÌÍÍÕŽ5jÔ€;w]¼x€—^z©D¥+¦×¬H{ŠÓæý+Ô¦MlllÔŽéééѳgÏRËkª"±hú^U•˜˜Ûãs-qÎϯÑÃ2©DFÞ`ذÿ¡«û=JeÁ?Ùèê~Orò]Ô÷©õô´ÅÜ\_íX£FܹóhOÑ‹ ®ñÒKÎ%â(íXy4½fEÚSœ6ï_¡6ml°±Q_ŠZOO‡ž=ªÕ©­ŠÄ¢é{%„B!„B!„BˆçGïy  P([&//€ÜÜÜ2ËáadTrÏÂÂkÝg´¼8J+WM¯Y‘ö”E“÷OSOZ—6¯×öó©*š„œ—WOnnÙq=x§öÿFF%¿^…×*­y•Óÿ4»fEÚS–Jì~•Ðÿ4/«íç#ªOôõhVŸZÍåÔË<ÈyÀ”îSÐQèðÍoÙ~$}šöQ•}sÛ4²lħ¾Ú­ð´ËÈÊ`ßù}„_ '1-]šÛ6g`ËØ›Û—úšÜ¼\¶œÞÂáØÃÜɺCú Úf(6•R^ˆÊ’›ÍêS« »ÆíÌÛ¸Xº0³ÏL¦ï›ÎÕô«,´DUv×Ù]¬>¹ši½¦Õº¾y-’ýç÷›KÚý4ìÍìyÑíEz5îUæïË·.².|o]ÄXϘN ;1¤õô•ú•R^ˆÊ²ÿü~öžßKòdòòòX6tÛÎlcGäf½2‹†u nœ»tëŸîù”­2°åÀŽºr%¥'±ûÜn¢¯Gs=ã:uêÒÞ±=ZÀXϸÔפf¦²æÔ"®FO>Ííš3¼Ípê™Ö«”òBTÉ×%_µ›äë$_µ™äë’¯‹Ç«ÑÉS777víÚEóæÍÕÎýþûïjeÜÝÝØ¿?¾¾¾•‡«kÁÓj{÷îeìØ±jçöïß_©×*TíÑæý+Îõë×Õž>ÍÎÎ&((xô^èèè““Se±Ô47·ºìÚu‰æÍ­ÕÎýþû¥‡e žDtw·`ÿþÁøú6¬Ô8\] ®±wo,cǶQ;·|¥^«Pe´G›÷¯Pxøu®_¿§öôivvAAí,|/ttääh6‹Y‘XÄÓ)æf þ+üÉÉ{ô³çvæmtut ¹B¯&½Ôʇ^å~öýê³JE\`øšádåd©ß~?‹ÿZ̯þ€ocõßY9Y¼±þ B.‡¨ŽŽ=ÌÚSkù¦ï7ø·ð¢òBT¦©¿OeGäÕÿß}p€3Ig¸”rI­lRz!—CH¿_þjÏšñ[dz÷ÜÞÇ7þ½ \„¡®¡Ú¹ýç÷óïíÿæAëöœÛÃæÓ›Y5l&ú&OT^ˆÊ²>b=ŸìþDíX^~—S/r9„{Ù¶i¸ûà.!—CèÔ°Su‡Y¥~ û•™A3Kܹ3j'?ÿ™ß^ÿM5 U(!5×W½ÎõŒGÛGüó+O¬dÍð54©×ä‰Ê QY$_—|]Ô~’¯K¾.j7É×%_š©ÑÉÓÁƒóõ×_3cÆ LMM8p úúúìÙ³‡€€† ÀÈ‘#ùúë¯1b³fÍ¢W¯^ØÚÚrûöm.\¸Àúõëqppà£>Ò:Ž×^{o¿ý–>úSSSúöíKnn.[·neæÌ™•ÚæB•ÑmÞ¿Bôïߟ9sæÐ¢E ˜6mÑÑÑøøø`kk«*kiiIdd$/^ÄÅŲWy®H,5mðà&|ýõqfÌ8†©©>6A__‡={â(˜L2¤`’{äÈæ|ýu#FìbÖ¬.ôê匭­1·ogqáÂmÖ¯ÆÁÁ”>ê¨u¯½Ö˜o¿ á£cjªOß¾ÈÍÍcëÖfÎü«RÛ\¨2Ú£ÍûW(##›þý·2gNZ´°&!áÓ¦‚O}lmMªZZy“‹Sqq©ƒŽNÙ•V$ñtÚtz9y9Œj?Šî®ÝÑSêÑ´^SV_]"q©2d §ÔÃÏÃVö­¨_§>)÷RX}j5W#øàÿÏÞ‡UUífEÁYq"ç*‡4µÔ´,Ê2åæpój©uÓèv3µÔ§ÊÊ)Mó:¦9–CÎæ,"("€( ÃùýÁ“'@9 ÇÏëyîóÈZß½÷Ú»»Ïùžµö^k$[ÿ±•NM{þåŽ/Ù±›rÅË1´ÕP¼Š{ñë™_ù~ß÷¼»æ]«øåK”Ïw¼HA¹•r‹•GWâíæÍ;íÞ¡´KiS§À‡>$1%±ˆ[X8®Þ¼JÝruyÒïI*—ªŒ‹½ û.ìãÛ=ß²=l;3›É[­ß2Å_O¼ÎÛ«ßævÚmzÖëIçš¹žxé;§s8ê0Hp‡à|Ç‹¤ÅcgcÇûO¾OÕÒU±1ØàhëHß}y¼êãÄwùÕ[Wñ*îEçšñóð£ŒkÎ^=Ëœ]s¸wÑÿÍ¢~‹Ì¶¹j$—.ÓØ»1ýúck°eáþ…l ÛÆ[+ßâç×~ÆÆ`“ïx‘‚¢|]ùºX7å딯‹5S¾®|]r§HO5jĈ#øì³ÏÛËàÁy0jÔcùjGÓ¦^ P9sø?³º>}j²dÉqìí öƒ´ Î'/×/SëÖÞœ9KÓ¦ ÌÊ]]íùê+ó'sÛµ«ÈâÅÇñõc*Û¼¹mÛúH[äÁ ÀðLJgyʲiż?œð0jP¾»†îÂÑÎѬü™ÚÏÐãÛœˆ9ÁÞȽ´÷m@jz* ÷/ÄÖÆ–ù}çS­tÆ W}ƒÁÀü½óY¸!#ÛŒÌW¼HAºw€Õ;ðtͧÍêêxÖÉn«4í¹i”v)mVÖÞ·=5ÊÔ`øÊáüzæW³Î˜ƒ!$$'ЭN7&t™`*o^©9O}ý!Cx»ÍÛ¸:ºæ+^¤ EÆFR£L ú5êgVîãîƒ{Ö<ÎõèÏðÖÃͦôkSµ OUŠŽ³;²'b7oß4å:/dß…}Tt¯Èü¾óMo²´÷kÏsß>ÇÑè£ì8·ƒÖUZç+^¤ )_W¾.ÖMùzåëbÍ”¯+_—Ü)ò5O?ýôSêׯÏôéÓ9räiiiÔ¨Qƒ×^{!C†˜Å0&OžÌÖ­[‰‰‰¡L™2øùùѧOúõë—ÃQîmÖ¬Yøúú2{öl"""ðöö&((ˆ&Mš°dÉJ–,y¿§šEAœO^®d¼MúÍ7ß0|øp¶lÙBzz:-[¶ä“O>Áßßß,vÊ”)¤¦¦²iÓ&®_¿~Ïõ7óÚ–Á§Ÿ¶¥~ý2LŸ~€#G®–f¤F’¼öZ=† ih;`@=üýË0yò^¶n$&æeʸàçW’>}jЯ_í|·cÖ¬øú–döìCDDÜÀÛÛ•  4iâÉ’%Ç)YÒéÞ;É£‚8Ÿ¼\?Èx›ô›oú2|øf¶l‰ =ÝHË–øä“Çñ÷7Ÿë}Ê”v¤¦¦³iÓy®_Oºç:¤ym‹Ü¿”´^Yü M|šðÏVÿäǃ?²-l·ÓnÓ°BC^iüŠY¢gü°VÃXr` ¿…ÿÆõÄë n9˜¯¶ÅÉ+'2Yß6þûJ9‰KŠc顥쿰Ÿ„Û xºzÒ±FGSF¦Ë — 9Âɘ“$$'àíîM«Ê­xÒïÉ]O:/rššÇÞÖž•[p"æFþº!^{ϸråŠÒ-Ûºûùo™ßk%Y¥ÓÙ±WGWþú6Þdªûõ̯¬?±ž¥K±·µÏßI~ ÿÍß׿¯Ùz>{"öd{Ì¿¯¡”ýö3pé@®'^7+_vx½ý{3¾óxNÆœäùž'!ÙüólÁ¾<ïÿ<wþøžÇúø—³ýA™“OŸùô¾¦×:uG;GWhl*;}õ4þåý³Äû¸ûàîìÎÙ«gó/¶Ì5O6ÞÄ䭓ͦéZqt_tÿ‚Î5;g‰_s| _lÿ´~Ÿ‡G¢p,:£3&*>Ѝø¨,Ç+îXüžmJ7¦3jõ(–YnV¾éô&æÿ1Ÿù}ç›~„Y3†¥‡–fÙÇŒßf°îu÷|ªöDÌ ‚×ç~º¬æ•š3´ÕÐ\ÇÿÝá¨Ã´¬ÜÒ¬üÔ•SØÚØR·\Ý,Ûø{ù³âÈ N_9mê\Ék¼<ºâ’âØ±›FÞødÓ'DÆEšêÖXÇ‘KGø ÃYâ뗯χ>4­ßSÛ³6NvN¦ïò̵‘²sçJ9Y¸!ÁëƒI3¦™Ê¶žÝÊû~à¿þK¯ú½=ʨÿÊòûaîî¹|öÌgt¯ÓýžÇzyÑˤ¥§Ý3ÀÝÙéÏMÏUlvn$ß üz8õ½ê›}ÞÝí»9³ìÌÕ3ùŽ—G—òuåëbý”¯+_ë¦|]ùº"óôA1gή\¹B÷îÝ©\¹2/^dþüùLŸ>âŋӡC‡¢n¢X±9ssåÊ-ºw÷¥re7.^L`þü£LŸ¾ŸâÅèСrQ7Q$G[ÏnÅÝÙQíFáçáGtB4ÓwNçhôQþwüY¡­g·âêèÊÈ6#©åY ';'ª•®Æ‚0yëdþˆüƒoû|kêÄŒ'ç&þ:ñžmIHN hY±I±ô¨Ûƒ¶ÕÚâæäÆùØó|»ç[B†Ð¼bsºÕéÆâ‹IHN mµ¶ô¨Ûw'w"ã"Ù¶É7ruîÇcŽç˜lfç~Ö‡Yrp {#÷ò¯Çÿ…»³»©üú­ŒN§2®e²Ý®¬kYNÆœ$1%g{ç<Ç‹Lüu"í}ÛÓ©F'Š9cã©üxðG&ý:ɬ3&ÓÔmSiSµ O×zšrÅËáU‹nµ»qìò1Þ]ó.ÏÔ~†¾ úšm3vÝXÓ»»ùú÷¯Y~d9>î>ôkØj¥«q;í6ÛÏmgÉ% _9œµÖŸϲÃË(áT‚ fAT/SäÔdNÆœdÉÁ%¹ºo$ßÈÓ=žÓ}• É o¦Œk6hV›‹›“v6YS÷ÌcÆ&Ææ;^dή9øyøñqçñ,îÉÑKG™¾s: ö/``³Y¾Ýó-UJUaX«aTt¯H §w,ÎSÕŸb@ÈÊ—(χ?4ÛfñŬúsÕ=Û²ïÂ>>Xÿ..¼ØðEü½üq°uàÈ¥#|³÷Þ_÷>Í*5ÃÛÍ›¹»çom´¨Ü;;Î]?ÇÊ£+‰OŠÏÕ¹ïŽØëΘ;ß”ÉÖ@rZ2£Û6+7}7Ëú’ùÖÍ÷l^ãE”¯+_ë§|=w”¯ËÃJùºòu)|<ý±±±Œ3†1cÆd©›?×ìÇg&g{ç,Sf2ݳö.ùŽéT£“Ù Üý»¼SN{Ûé`ÔAl ¶LÝ60¿ÇSÓ2:3¿Ë6ȈU#¾r8í}ÛS«l-ª–®ŠÁ&WÓ Y:F šÑhä£_>bþÞùŒn7šW›¼š%ÆÙ.ãZf÷ÝœYvç‹yQ¾nYÊ×åA |Ýr”¯Ëƒ@ùºå(_—œhðôÿ¹¹¹ñÑGñÑGuS,Â’k‰Êýsssä£ZñÑG­Šº)¡µD­ÛO’fºsݤ¿+W¼œÅÚrëvƺ £æã`—ñ#¬J©*l´‘•GW²óÜNæížÇÅø‹´ªÒŠwÚ¾ƒ¯‡ï=gé5”ì[@ð†`:TïÀÔîS³}25s箟ËR—œšÌÅø‹xºzšžPÏk¼`ö¶G¦Ìì¦Ï±Ô}žù#ãÚ­kì<·3Ǹ¤Ô$Þò}:ÕèÄú“ëùú÷¯9sw'w^jô¯?ö:ƒá®Ç³ôJWn^¡ÿ’þ„_gÞóóð È6®B‰ œˆ9ALBL–©ÆÂ®…eĸUÈw¼H¶ßå69—{•ð²X[nݾEš1íî÷xJÆ=Þ¥Vj{Öæç?&ôp('bNœšL×Ú]ñøˆ\ ®Xr ¥4c£VbÅ‘¼÷Ä{ôèŸm\æýxîú¹,kŸe{ç1^Dùºòu±~Ê×sGùº<¬”¯+_—§ÁS)T÷úñs?2“ÃàÁ9v¦ÜÙ¡áæäÆË_æåÆ/p9á2AË‚\Èæ ÍYžêû;K®¡4mç4¦lB—Z]˜ÜmrŽ#õ½ê°åÌÒÒÓ̦Ù¶ÔôTê—¯Ÿïx‘ü°Ô}^®x9 õ½êóNÛwrŒ«\ª²éß>¦NŽ´ô4V]Á¨Õ£°·µç•&¯Üõx–\C)2.’W¿ÂÕ[Wù¶ï·Ù>Áž©~ùúœˆ9Áæ3›yÞÿy³º_Ný@½rõò/ò ñ*áÅí´ÛÌê9+Ûi®J¹”2ý»J©*f G.áåE/““«ŽK­¡””šÄ°ÃØtzcŸK`ãÀc3¿›7ŸÞL×Z]Íê6Þd¼9˜ßx‘¼R¾ž;Ê×åa¦|ýÞ”¯‹dOùºòõG…OEDÄjt¬Ñ‘ù{çóÓÑŸøô™O©è^ÑT—fLcÃÉ ¦„ëÛ½ßR³LMšUjfŠ)é\WGW.G]æÜõsÔ(Sã®Ç³ÄJF£‘7}Ì7{¾¡{îLì2ñ®O•{•ð¢Q…Fì»°É['3²ÍH Ñ Ñ|²éºÕî–ïx‘‰»³;ù<ÆÞˆ½„] £g½žfkšDÆE²øÀb{7æìÕ³ürúzÖëiúáfkckºwGì¾ggŒ¥ÖP:}å4‹ILId~ßùø{ùß5¾KÍ.„ aê¶©4­Ø”J%+0{×lŽ]>†¯‡¯Ù´„yyt¨Þ/¶ÁÚkÑf„ÙSö7’o°üÈršx7`â¯éY¯'ÕJÿµÌ…§«'ö¶ö¹îHµÄJ É ¼±ô öFî%¸C0ýõ»k|;ßv8Û;óó±ŸyºÖÓ<áû{"ö°pÿBìmíéT£S¾ãE$Êו¯‹uS¾®|]¬Ÿòuåë žŠˆˆÕxÌç1zû÷&ä`íg¶ÇÇÝbÄ'ÅIrj2ƒš ¢K­.l9³…6~D1‡bTt¯ˆƒg¯žåFò J:—4ëÈɉ%~̬;¹Žoö|ƒÁ`àbüE^^ôr–˜À&fIÖèö£yqÁ‹Ìú}?ý OWOŽÇ'95™&ÞM²$dyyŒ{j}~èÿ×þ›ñ›ÆS±dEl¸+7¯0´åPâ“ã™°y“~D¹âåð,îI\Rg¯ž¸gXn ¥a? ãrÂeÊ—(Ï„M²Ôs,Æì^³M·ªÒŠv¾íØ|z3gw¤¶gm®ÝºFd\$6Þ{â=³íó/ò ÐtNm`áþ…üxðG*—ªLqÇâÄ$Äu#Š´ô4æ=?€o÷|Ë׿M)—Rø¸ûp;õ6§®œ"5=•6UÛäêx–XCé³­Ÿ±'b®Ž®¬>¶šÕÇVg‰ÿôxSG©›“ÃZ cÂæ Z:??ìlì8s£ÑÈ›-Þ4›^1¯ñ"åëÊ×Åú)_W¾.ÖMùºòõG…OEDĪü·Óñóðcή9DÄFd<}ötͧéZ;cºŒþýI7¦³3|'Ç.3mß´bSÞ}â]œí‹¤ýÉ©É@Æí{"ödóTõ§ÌþnT¡3{Îd캱\Œ¿È¥—°1ØÐ±FGþÛé¿Y¦dÊk¼Èƒ¤z™ê, \ÆÇ›>fëÙ­‹þëþ­\²2Ïû?½­=UKUe`³„åbüE.Æ_2ÞXy©qÆJE%sý—;Ûu§âŽÅ³”Mí6•qëDZêÏUŠ:dL;öþ“ïÓºJëûŽyP¸Ø»°èÅELÚ2‰Ð᜾rÚTçîìN:=¨S®1¸°øÀbNÆœäÚ­k@ÆúnÝët/ÒNÇÌ{ØlL屉±œˆ9A¥’•ÌžÌÊ|J¬VÙ¬O”FÂcùvë¥\JQ¡D…l§ï¸•r‹ðëáF¼JxQÒ¹d¾®GA¹ró g®ÞýJû´È IDAT¿å߯C&£ÑÈ™«gH¸€·›÷=×zÈk¼äÌ×·_|ÍÓOçî¾}ÐöŸ“ˆØ.Æ_¤žW=\ì]²­«ïUßÔyy·xȸßG¦|‰òø¸û˜Õ>JbJ¢iz€¨ø(ÎÇž§VÙZ”p*‘e7’o~=œtc:ÞnÞfëªd2D݈ârÂeJ:—¤‚[³µÔŠÂÁ¨ƒ¦kÙ±µ±5»wŠMŒ%<6';'|Kûæ¸ÆL~ã%{C‡zðå—Ñåþs’Ó÷ëu•KUÆÓÕóžñ™öFîÅÙÞ™:žuÌʳû|¸yû&G.¡‚[¼Ý¼³ì+%-…3WϘ’hz#åÎü Óµ[׈ˆÀÅÁ… n²ýü)Lg¯ž%æfÌ]crúœLJMâÌÕ3¤§§SÍ£Ú=Ï%¯ñ’=KçÓÊו¯gR¾^t”¯+_Ï åëåëÊ×óBùúÃ'?ù´§§'®®®ù=dˆOÅ*hðT ›OEäNÖÚ#"¬µ3FD2XëੈüEùºˆuS¾.bÝŠbðô¾ãùý÷߉ŒŒÔt!ò@˜:u*S§N-êfÈ#ÄÛ;ëW"""""""""""òðº¯ÁS???œéÒ¥KAµG$_2MßšuSä‘1?¿¢YcGDDDDDDDDDDD,ã¾OK—.MéÒ¥5Uª¹ŒÁÓæÀóEÝyd„PºtQ·ADDDDDDDDDDD RÖÕ{EDDDDDDDDDDDDDA<Aƒ§""""""""""""""€OEDDDDDDDDDDDDD žŠˆˆˆˆˆˆˆˆˆˆˆˆˆ<-pK–,¡mÛ¶8p _Ûýõ×´mÛ–Ó§OpËDDDDDDDDDDDDDän4xZÀ"""زe ±±±ùÚþìÙ³lÙ²…„„„n™ˆˆˆˆˆˆˆˆˆˆˆˆˆÜ]Q7ÀÚôéÓ‡&MšÐ Aƒ¢nŠˆˆˆˆˆˆˆˆˆˆˆˆˆäÞ<-`>>>´mÛww÷¢nŠˆH‘INMÆ÷_‚–uSò%2.ßO|ù`ýEݑ֤_'áû‰/Ç.+ê¦äË;«ßÁ÷_®'^/ꦈ<¶žÝŠï'¾|³ç›¢nJ¾,;¼ ßO|Y{bmQ7Eä¤|]Äú)_±nÊ×E,Kƒ§,§5OÓÒÒX°`/¿ü2:t oß¾|ýõ×$%%帯ýû÷3hÐ :uêÄk¯½ÆöíÛ-Ý|‘<©1±‹‹º"b!ÓvNÃ÷_öFî-ꦈˆìÜ‹ï'¾LÛ9­¨›""¢|]ĺ)_±nÊ×EŠŽ¦í-`Ù­yzóæM:uê”eðsÉ’%|õÕWlܸ‘²eËšÕ­Y³†>ø€Û·o›Ê¾ùæ¾üòK† bÙ“yéÍÓBðî»ï²}ûvÊ”)çŸ~ÊêÕ«™6mUªTáðáÃe&gܸqtìØ‘… ÊÀ1 >œ'NÁYˆˆˆˆˆˆˆˆˆˆˆˆˆX7½yja©©©Ì›7'''¶oßNõêÕMu}úô¡fÍš¬X±‚èèh<==Mu]»v%44Ôô÷³Ï>‹——ÁÁÁ|ûí·Œ?¾PÏCDäN{#÷Ò÷‡¾ì<·ßO|Mu ^\@ƒò L_N¸ÌÇ¿|̶°mÜN»Mà Ón µm{àâ&nžÈáK‡q´s¤]µv¼÷Ä{¸;»›b¶žÝÊk?¾Æ{O¼Gru˜²u G/¥j骬xuF£‘¥‡–òã¡9qùiÆ4ª”ªBß}é×°ƒÁ´¯={Xt`. êF®®4¬ÐAÍÑØ»±YÛâ“♼u2ëN®#>)??†µf‰K&òPQ¾.bý”¯‹X7åë"EKƒ§vöìYèܹ³ÙÀ)@éÒ¥éÕ«3gÎäСC<õÔS¦º×^{-˾^{í5‚ƒƒ9tèÅÛ-"Râ“âéóC"b#Le;ÏíäåÅ/³aàJ:—4‹KŠãùïŸ':!ÚT–žžÎ¢ý‹»~,F£ÑTÉÜÝsÙyn'?¾ü#ÎöÎ \:³WÏšíwÿ…ýì¿°ŸË — jþ×ÛþãÖcÑþE¦¿#b#˜°yG/-˜ òøîï9búûbüE¾ØþFŒü³Õ?³Äýû׬ús•éïtc:qIqôý¡/§®œ2•'“Ìïῳëü.>íú)Ýët`ÝÉu _9ÜlŸã/r0„-g¶°úõզϖ3WÏÐûûÞÄ'Å›b=ó+. n¹ºsD¬ÜáK‡™ôë$n§e,'’˜’Èò#ˉŒ‹dQ¿EYâ÷]ØÇ'›>!͘dÜãF£‘‘?ä§£?™Å¿|œÖÀ±ècü·óˆIˆá…/˜Å]O¼Î¦Ó›Ørf ?¼ø>@Æ`N¿…ý8vù˜)öÈ¥# Z6ˆ§k>]pAÄŠ)_±~Ê×E¬›òuËÐà©…%%%PªT©lë3Ë3ã2¹»»ç›˜˜XMɳ&ÞM8=ú45&Ö iŦ|×÷;³úäÔdvGìæ1ŸÇø¼ûçøyøÍØucÙyn'?ý‰W›¼j¶Ýžˆ=4¬ÐiÏM£fÙš8Ù9Að†`J8–`t»Ñ´­Ö7g7Î_?ÏçÛ?gÍñ5Ìß;ßÔÉâ[Ú—7š¾Aï&x»y“”šÄñËÇ»n,3ŸÉÍÞÀÖ`Ë¡¨C,Ú¿WGWÞò}žð}‚ÔôTÖžXËøMz»_仾ߙžt]üÒbšx7É6nåÑ•Œ}j,jt¢˜C16žÚÈ;?¿Ã÷|ϰ–ÃÌžNX{b-ï>ñ.]juÁÓ5cÖ1kÆpêÊ):ÖèHP³ |=|INMfû¹íŒ[7Ž7|H‡êp¶wÆÁÖÞþ½éU¯ÕJW£˜C1¢¢YqdS·M%ä`› `ü¦ñÄ'ÅÓηo·ywÎ^;Ë7þ—íaÛ³œ‹È£dp‹Á4­Ø”¾?ôeøãÃÜbp¶q+®äņ/òúc¯ãYÜ“£—Ž2|åpöDìáXô1³7ÓÖ_CoÿÞ l:Šî±µ±eÅ‘ütô'j”©Á;íÞÁßËG;GŽ\:‡?dÉÁ%ôªß‹†b0hU¥©íYbÄ%űûünÞYý3›iêŒùîï8vùUKW僧> A…\»uÙ¿ÏfÁþ¿†"2åë"ÖOùºˆuS¾.R´4xja^^SQüñǤ§§ccc¾Ììž={(_¾¼Yù¾}ûhÕª•YÙÞ½{¨P¡‚¥š+"R J:—äë^_›¦éª\²2ï?ù>çtæøåãYâ]ì]˜Õs¥\þzàdÅ‘¤¦§òQ§Ì¦çòõðej·©ì܈“L1Á‚™ñÛ fþ6“¨ø(Ó“w™.Ä] ¢{EÖXÀÛmߦg½ž¦ú—½D\RœÙt("’³¡-‡Ø8Ðôw÷:ÝÙprkO¬%êFåK˜ç8¯¼ÆkͰq;í6«Ž®ÂÏïz|eê¼q¶w¦k­®Ä%Å1nÝ8öDìáñªÓ¡zÒÒÓ˜ºm*Ç.#>)žtcºi'b2Ö†¿•r‹maÛ(_¢<_õø G;GêxÖafÏ™´ŸÕžØÄX‹]kѪJ+>ìø¡éïÆÞØl ¬ÿ€ã1dztÆ4(߀;}lÖ»ôðRlmlù¦Ï7”u-k*ð `Ê3Sè4§Om¤a…†xó`d›‘Ìú}ÿ^ûo®Þ¼jz*þºÇÖ_‹Á``Ú³ÓðóðÀÅÍ…àŽÁ„]3Me("9S¾.bý”¯‹X7åë"–¡ÁS +S¦ 5bß¾}Œ=šÿþ÷¿ØÛÛc4ùòË/Ù°aåÊ•Ãßßßl»>úˆ-ZФIÆScááá –1x‡ ýJв ­Ÿ$Â_÷øžˆ=½'zû÷&1%‘ÀÅl:½‰k·®‘’–Â…¸ l>½™ÁË›¦ì*_¢Ëò#ËÍÊÆ´Ã‘°ùôf³õ’ÜÝiU¥Ûöèyˆ] Çy®îsì>¿›e‡—1péÀlcúøg,MòBÃØrv Á‚ Þlª¯íY›êeªs9Ჩ,°q +®äØåc¼¼èeS¹Á` K­.¬>¶º@ÏCäa¤|]ĺ)_±nÊ×EŠŽÞ<- “'O¦zõê¬ZµŠ*UªP¥J•¢n’ˆ<"3Ö/¸};絉,å½'Þ£SN¸;»gYl¾ =ïÿ, \fšÆëí¶o3¤å|Ü}p°u rÉʼÝömÆ=5.Ûö/ \J{ßös(fzº}q¿Å”u-k±ó드lc•÷¸­-Óž›Fï&8Û;[ì8ƒ ]&ðE/hY¹%nNnØÛÚããîÃSÕŸbÆs3hY%cªÏ'ýždò3“©Y¶&NvN”u-Ë _àû¾ÇÁÖ|vG;G¼¸€~ ûáQÌG;Gj{ÖfÆs3x¼êã;±>II‹ßã |”¯KÑP¾~ÿ”¯ËƒNùúýQ¾.:KçëÙ1³[58—z÷î @HHH5èaĬY³ðôôdéÒ¥´jÕª¨›ôHÉø¸x¾¨›"ŒÞôêe¹Ï¿èèhrûÇNôéS;Âñô´ìzF"’Õ¥Kv´jU‰¼@£FI9F‹•xã8ú÷×ÔU"E¡W¯ 4l˜Ì{ï]±Èþ?úȃƒ ¹`‘ý‹ÈÝÍ›çÎܹnìØn‘ý+_)ZÊ×E¬Ÿòuë–Ÿ|ÝÓÓWW×ü2Dožýë_:tˆóçÏkàTD Uµj)œ8ápH±„“'3Uo[ì¾¾)¦ãˆHá2áôi‹ÞãÕªÝæÔ)òÿX«ˆÜ“'ðõM±Øþ•¯‹-åë"ÖMùºˆõ³t¾ž žêÕ«S¯^=”(‰HárwO£J•~ÿÝrÓwˆHÎ~ûÍ™*URpwO·Ø16Lâ·ßt‹…ÇIH°¡aC˼©РA 6>ìh±cˆHÎ~ÿÝ™ ,w+_)ZÊ×E¬›òuëgé|=;<±íÚÝdíÚbzN¤¥§ÃºuÅhßþ¦EÓ¾ý-"#íôCM¤¬]ëJ… ©Ô¬i¹'ÙkÖ¼Mùò©¬[—ï)…D$Ÿr$2ÒÎâßåÊ×EІòuë§|]ĺV¾þw<±½{ßàüy{¶lq)ꦈåë"ÖOùºˆu+Ì|ýï4x*"b%þýï«„‡Û³pa‰¢nŠÈ#aÁ‚„…Ù3fÌÕB9^·n7hÔ(‰>ðД"…àâE;æÎugذë”.fñã•.ÆÐ¡×™=ÛÈH{‹ODà?ÿ)MýúItëfÙ7Ò2)_)\Ê×E¬›òuëWØùú4x*"b%*VL¡ÿ8¦L)Å™3JâD,éÌ{¦N-Åë¯ÇQ¥JJ¡Ó`€÷Þ»ÂþýN|÷¦±¤ÔT£F•¥|ùT^~9®Ðއ·w*cÆ”!5Uo¦‰XÒüùnìÝë̸qW0Òí¦|]¤ð(_±nÊ×E¬_Qäëw2ùÊßߟS§NQºté‚l“HžEFF%þÿ"…á*õëûqðàA‹ì=::š„„„V>sfI¦L)ÅŒQ´o«P-ò¨;¶ +V¸²dÉjÕ²ü4w:uÊÞ½+йóMÆ¿\¨ÇyTlÛæÂ€å>üAA…;˜òuËS¾.bý”¯‹X·‚È×===quuÍoBìò»¥Èƒ¦Aƒª”+W®¨›!ˆu²åèhdæÌKôìéÍ›o–cΜ(\]Ó‹ºY"V#!Á†  /RS Ì™Uè1AA× ³ç_ÿòdþü‹øû'zD¬Ù´i%Y¼¸3g^*ôŽÈXqòäË•ÃÛ;…Áƒ¯zD¬ÙÁƒŽ êI …>p Ê×E,MùºˆõS¾.bÝŠ:_Ït_ožöîÝ€kH~ ¾øâ ž~úé¢nŠ<"† ‚«««Å>ÿòûæi¦S§xå•ò¸»§ñõ×Qx{§`ëDM‘‘v èEl¬-óç_Äϯð¤eJI1ð”c×.g&MºL§Nùÿ¼‘ ©©Æó`éÒŒC¿~ñEÚž Jðá‡eèÕ+žàà+ØÙiñ4‘ûµv­+o¿]–¦M™1ãööEw_)_)xÊ×E¬›òuëWùúý¾yª5OED¬Ÿßm–-‹ÄÖÖHÏžÞüú«KQ7Iä¡öë¯.ôìé­­‘eË"‹´#ÀÞÞȬYQôîÏСžLZŠäd­·"’_‘‘vôïïŪU®Ì˜q©È;búõ‹gÆŒK¬ZåJÿþ^DFjÒ ‘üJN60uj)†õ¤wïxfÍŠ*ÒSP¾.RД¯‹X7åë"ÖíAÌ×5x*"b¥¼¼RY²ä"-Z$2`€zqîœ}Q7Kä¡rîœ=z1`€-Z$²dÉE¼¼Œ7ClmaìØ+Ç0ož:ù°~}±¢n–ÈC%11ãZ§N¹|ÙŽ%K.оýÍ¢n–Iûö7Y²ä—/ÛÑ©SE¦N-Eb¢:^EòbýúbtêäüynÇ0vìlm‹ºU”¯‹Ü?åë"ÖMùºˆõ{PóuMÛ+VAÓöJa{Чíý»]»œùðCΜ±çÉ'oòì³ ´hq«HÖyÐ%&عӅåË]Ù¸±Õª¥0vìš6M,ê¦åèòe;&L(ÅʕũU+™>}nðÄ7)WîÁè8ypø°#k׺²tiqRR zÀÀ¸vª­ÔTß}çÆ—_–ÄÞÞH¯^7èÔ)zõ’1¨oF$‹K—ìøå—b,YRœcÇéÖí£F]£lÙ÷{QùºHî)_±nÊ×E¬_aäë÷;m¯OÅ*hðT ÛÃ6x –fàçŸ]Y´¨ûö9acc¤jÕ<=SquM/Ðc‰<Œl¸tÉŽ°0{ÒÓ 4j”Ä /ÄѵëMlmÌhwø°#óç»±n]1mðòJ¥R¥ÜÝÓ1Žs±”äd×®Ùrú´ 6T¨JÏžñôëOéÒiEݼ\¹zÕ– J°ti .^´ÃÕ5?¿Û”,™†££îqy´¥§ˆ‹³áÜ9{.]²ÃÙ9NnG½zÉEݼ\Q¾.rwÊ×E¬›òuëVØùºOEÐ੾‡qðôNW®Ø²k—3ÇŽ9põª z NÄÕÕHéÒ©Ôªu›¦Mñðx8~œe'9ÙÀÞ½N=êHd¤=qq6¤«ÏUqŽŽFÜÜÒñõ½MÆIÔ¬Y´k¡Ý¯cÇ8pÀ‰Ó§ˆ‹³Ñ:jòȳ±%ÒññI¡Ndš4Iz¨;)•¯‹d¥|]ĺ)_±n…¯ßïà©V1¶€;w²~ýz^}õU*W®\ÔÍÉÂÃ#.]èÒ¥¨[""–àèh¤eËDZ¶|p§.‘ûS«ÖmjÕz¸;”D$gÊ×E¬›òuë§|]äáfSÔ xXmݺ•>ø€óçÏg©Û¹s'ÁÁÁœ;w®ð&"""""""""""""ù¢ÁÓ|Úºu+ÁÁÁÙž¶hÑ‚qãÆé­S‘‡ˆ¦íµ€-ZТE‹¢n†ˆˆˆˆˆˆˆˆˆˆˆˆˆäA¡ žÆÆÆ²~ýz°··§I“&<þøã¦ú˜˜¦OŸNéÒ¥2dˆÙ¶III|öÙgØÚÚ2räHìììrµÏ;ÅÇdzqãFΜ9ƒ‹‹ 5¢yóæ¦úÐÐP:Ä;#‹‹‹Ù¶™u£GÆÉɉï¾ûŽM›60oÞ<6nÜ@åÊ•yõÕWïºæixx87n$::šR¥JѶm[jÖ¬i³qãF¶oßNPP%K–dÕªUœ>}OOOºwïN©R¥òpåaß¾}lÙ²£ÑHëÖ­ `ÅŠ8pÀìP°Ó ×IDAT|ï<®»»;«W¯æäÉ“4nܘ:äºýy¹–?n‰%øé§Ÿ§|ùòtëÖ ww÷<¯ˆˆˆˆˆˆˆˆˆˆˆˆH~Êàé¼yó>|8ñññfå­[·&44Ê”)Ctt4|ðF£‘¡C‡šâ̼yó˜5k–ià47ûÌ4wî\FŒA\\œYl«V­Ø²e 666„††²`Á† ’í€ß‚ xë­·Lƒ§›7oà›o¾1ŵiÓÆ4xLÛ¶mÍOß}÷]&NœHZZš©Ì`0ðúë¯3}útìííŒÁÄ &ШQ#FÅñãÇMñ¥K—æ—_~Áßßÿž×===   fÏžmV>xð`˜?¾Ùùf·nݺ¼óÎ;„……ð¯ý‹:äºýy¹–w·N:¼ýöÛ„‡‡›â=<Z·nmª5j”é¼xòÉ'9qâQQQw< çâÅ‹tèÐÁlà {÷î°gÏžl·}ûí·ÍNóÛþ¼5j”Ù9ÙÙÙñá‡ÊŽ;4x*""""""""""""eÑÁÓ˜˜Μ9Ãû￟cÜß×"mݺ5•*U",,Œ=zàë뛯}^½z€5jäû ÂõëרZµj¶õÕªUàÚµkfå>>>Yb]]]HIIÉÕ1sšJ¸råÊ9žúùùe»¯¼¶?¯ªT©’cYfDDDDDDDDDDDDD,Å¢ƒ§%K– víÚôîÝ;Ǹ€€³¿ß|óM¨V­ß}÷={öä™gžÉó>3×ȧrÈxã3»}å¶ýù½–aaa4oÞ>>øùùE¯^½¨[·®Y½Ñhdýúõfë–Ξ=›o¿ý–þýû3iÒ$5jD`` ûöí£J•*yÚ§­­-~~~ìÙ³‡¯¿þššÅîØ±ƒ-Z`0¨X±"«W¯fðàÁ¦˜ 6°cÇŽ,ç–yásó¶eÅŠñööfÇŽ¬\¹’nݺ™êöîÝËÒ¥Kqvv¦Q£F÷ÜWnUªT‰òå˳qãF¶nÝÊã?nªûùçŸs|ë´ ÚŸ×k™i„ <óÌ3¦)ƒSSS;v,-[¶Ìu{E¬Áý~¸‹ˆˆˆˆˆˆˆˆˆˆHÞYtð`âĉ<÷Üs4jÔˆöíÛS³fMœœœ8wî»wï&,,ŒÄÄDlmmÙ·oÆ ÃßߟiÓ¦áììLHH­[·¦W¯^ìܹGGÇ<íó£>¢OŸ> 4ˆ¹s瀭­-{÷îeçΤ¤¤`ggG×®];v,ÿüç?Ù¶m•*UâøñãüüóÏ”-[–K—.™WæTÂ#FŒ`ûöí¸¸¸P¹re^}õÕl¯ÃèÑ£2d=zô k×®Ô¬Y“ððp–/_NJJ £F*ð·Ì†ÎÛo¿ÍOœcÇŽ1oÞ<–.]j*óÍ7‰ŠŠbùòå¹°ÍKûóz-3}õÕWŒ9’Y³f™Ê<< _|ñO?ýt·N${C† ÁÕÕõÿÚ»cU¢ Ãg—'Ö ±©0È`Ú‡…X‰c š‰É€a X„›m¶|¸y{âĉԯ_ß¼B§NÌÛ_}õ¾¾¾iÆ©¶ "òèQR#"òk×®¥mÛ¶F‹ýmÚ´aÏž=œ:u €V­ZY#¼Gεk×øã?2|^XXXšç-[¶Œ1cÆ0yòdüüü([¶¬Å9þù'Ï>û¬yû·ß~³8¾aˤfûöíæãƒŠ+¦£Ú‚ˆÈ£IÃÏDDàóÏ?7‰mÔ¨6l`Ë–-á—ì7vìX¶lÙÂܹsñôô ..Žrúôi*UªDñâÅÍçìØ±Ã¢ŽŒl{{{S¸pá4cR[y4©§FDäNœ8a~ß­[7žyæóöÂ… ‰ŽŽ B… =¶ÇY5hÞ¼9ÅŠãùçŸ 66–Í›7Ó³gO7nÌòåËSÏK‚{÷î±ÿ~œœœˆŽŽf÷îÝÄÅÅakk X&57~`Lj ""&%5""©˜'&&ÆØ¦M›dõ—,YÒ8qâD‹}éµeË–d÷“àèÑ£Ç~ùåó±}ûöYÛµk—Ñh4šã°³³3þûï¿æãÓ§O7Fã¦M›,Î;uêTª±=jmADD,iNˆH*>üðC¶lÙ‚½½½yß!Cزe‹ùUªT©Ïýúë¯7nñññ ú÷ï¿¿?ü1666F¦NÊĉ3[XX&L`ìØ±¬_¿ž-[¶Ð¸qcêÕ«g_@@ ,0ã åÍ7ßL6Ñ=Á­[·5j3gÎdñâÅ”+W0 ùúä“OÌå¾üòKÖ®] ˜&Ø4^{í5FŒ‘©{JËìÙ³ÍïÝÝÝyá…ÌÛ>>>¸¸¸˜·† % -«S§*T råÊû=+Y²dš‹<ÊmADDPOˆÈƒ8::šÿª>g΋cžžžÉþ:o,Y²¤y×®]-ÎéÛ·¯ùX¡B…Œ±±±F£Ñhlݺµ±Y³f¯.]º˜ÏKÜ£—,Y’î{ µ8÷È‘#©Ö»fÍó±ï¾ûμßÉÉÉÜ›àáá‘êý½òÊ+)öÔ<èþ’öÔT¯^ÝØ¬Y3cÅŠÍû<<<’õ4Fc«V­Ìe^zé%c||¼±H‘"FÀØ¿£Ñh4öèÑÃK—.m4Æ-Z˜Ï騱cº>LJÕDD$c4§FD$›;wŽË—/›·/1 ðÌ3Ï0cÆ n޼ɉ'¨V­Û¶m3?÷$Aª_IÙØØÐ¾}û>ޢ̙3gRœÇakkËsÏ=gÞ.V¬˜ù}tt4QQQDEEqáÂóþ¤Ë·lÙÒ<Ç%±ŒÜÀÑ£G“ÅÖ£Gžxâ‰de7nL@@;wî䨱c„††š4iÒ„Ù³gsñâENž<Éž={Ìç§5Ÿ&+2ÛDD$c”Ôˆˆd³¨¨(‹mWW×4·“–OB… áààlÿ˜1c,|™š„Uº’rssÃÎî¿_ ‰ßÆdç&úÉï/³ÆŽK½zõؼy3_~ù%qqqŒ3†3gÎ0wî\‹²‰W.»qãßÿ}²c‰Ë|óÍ7DFF¦x~vzmADD”Ôˆˆd;lmm‰‹‹àäÉ“ǃƒƒÍï eË–`ãÆÉzTœœœÒ}Ý7n0fÌóv›6mèÑ£… "::ÚbJV+V {{{bbbÌœLøþËèýÕ¨Qƒgžy†gžy&L˜À¼yóèØ±#mÚ´1—mРvvvÄÆÆ0kÖ,ÀÔ”ð///J–,ÉåË—ÍÇÁ””Õ©S€ˆˆ‹z¿øâ êÕ«—Ƨ‘¶Ì¶É- "’Í\]]-†p}ûí·æ!H¡¡¡L›6Í|¬Y³fæ!^M›6¥yóæ¯úõë§ûºaaaæ/Ïï½÷/¿ü2Í›7çðáÃY½-³|ùòѲeKóöwß}Ç•+W¸xñ"?þøcŠçeåþ>ýôSŠ-jÞ6l˜ÅbùóçÇÇÇǼÐã‘´&a˜Yâ‘úõ뛟[Ëüa~ݸq#]ñ¥&³mADD2FIˆH˜6mšù êéÓ§©T©¾¾¾T¬XÑ>êÉ•ÜOÃÏDDaa¶ôêU’§žŠbÈPk‡#"°¡CCiÔ(Š>}J¦õž%÷SR#"ò˜˜2¥660yòU-Ñ,"iJüoÅ”)…¬ŽH–éמˆÈcàäI~þ¹}Š‹K¼µÃ‘\ÀÅ%žAƒBùùç‚?î`ípD²DIˆÈc૯ S£Æ=Ú·¿míPòŒ¸¸8fΜIëÖ­ñööÆËË ///fÍšE‹-ÌÛ3fÌ0Ÿ³hÑ"ó~__ß,Çpùòe,XÀ›o¾IÕªUÍuwêÔ)Ëug§ヒ§——ùUlð`k‡$÷½üòmjÔ¸ËÔ©…­ŠH–h¡‘\îÊ;¶nÍÏÔ©!Zéì!š={6“'O¶j ]»våܹsVáA\—-#@€µÃT ðöÛa Pœ+Wì(Q"ÖÚ!‰dŠzjDDr¹€€ü89ÅÓªU¤µCÉSV®\i~ÿÊ+¯püøq‚ƒƒéÙ³çC‹¡T©Rüßÿý?ýômÛ¶}h×M/» p;ÖÚaÈ´nI¾|ñlÞœßÚ¡ˆdšzjDDr¹Ý»hÐ {{£µCÉSΟ?o~ïë닽½½yû÷ß(1,X°ÀüÞßßÿ¡\3Ýâã)6x06‘‘Ä–,I\¡B8;fí¨$ööFžz*š?ÿt¢k×[ÖG$SÔS#"’Ë9P­Ú]k‡‘g >///¢££Íû>þøcó|–¤¯ÄsjÒÏÊ•+yóÍ7©[·.UªTÁ××—=zäx’dIÙgž1Ïy):b„ù˜áÞ=Ê´ic>VüÃÓU§ÛìÙ8íÝ ÀµÏ>#ÞÅ%Gb—ìQ­Ú]NœÐb’{)©ÉåBBl)YRãàs³;wîðÖ[oñÑG±sçNnÞ¼I\\aaalÛ¶Þ½{óùçŸçØõãóççÊ7ß`tr À¢Eæy0EÆÇ!(€{•*q-q8œÎÎñDEék¡ä^j½""¹œÑˆV=ËÅbbbXºt©y{À€Ô¯_'''6lÈk¯½f>¶páÂåvûö„wî €íÍ›>Ü|ìÚ„ ÄT¬øÀ: MŠãñã¦sÆŒ!¾`Áœ V²•Á`ú·D$·ÒB"""VtñâE¢¢¢ÌÛü1üqŠeƒîËI×GŒÀñï¿Í‰ À­n݈xþùtïºj/¾HdëÖ9£ˆHRJjDDDr‰ÄÉON±¹u »ë×-ö9?qq`›Ž9÷ÿÜïò미üúkŠE\W¬ÀuÅ Â_ÝbÈ›ˆHf)©±¢Ò¥KãììlNX&MšD»ví¬‹!.Žâ~~Ø^»€ÑÖC\NûöQdÒ$B¶J\""¢95"""VdooÏ«¯¾jÞ?~<›7oæöíÛDFFÌš5kèÛ·/sçÎÍÑX ù%NûöpÏÓ“K‹cttÀí‡È¿yóë8»s'§‚ƒ“½¢ëÕ3—¹Ý¡§‚ƒÕK#"ÙF=5"""VöÑGÌ®]»¸~ý:ï¼óNŠåjÖ¬i±Ý©S'8¬ÜðòòÀÝÝÝ»w?0†ü›6á6kFGGB¦Oç^•*„†ûÈ‘`4R죸àïOŒ‡GFoQD$G)©±2'''~úé'Ö¬YêU«8vìaaa¸ººR¢D ªU«Æ3ÏeíP$óôôÌô¹šS#"""""¹š’ÉÕ”ÔˆˆˆˆˆH®¦¤FDDDDDr5%5"""""’«)©‘\MIˆˆˆˆˆäjJjDDDDD$WSR#"""""¹š’ÉÕ”ÔˆˆˆˆˆH®¦¤FDD2ìêÕ;LŸÄž=×­J–=N÷’’”î/¥}gÏF2}zýuó¡Ä "’”ÔˆˆH†…„D3}úñÇâKêãt/)IéþRÚwölÓ§çСЇƒˆHvRR#""V¼¸~~ÞÔ¯ïníP²ìqº—ôzØ÷œ?cy¸ì²rrÇŽY¶lYvÅ""’«¼úê«,]ºÔÚaXE±bùðó«jí0²Åãt/éõ°ï9/~Æ"òpe)©hР ÈŽXDDr)S¦X;«ºzõ?ÿ|†úõÝ“ýõýöí¶m áüùHí¨Q£ uë¦üú¸8#þy'‰§Bš5+Ž££­¹ÌÙ³‘¬^}ž¦M‹S§N!öì¹ÎáÃ7qt´¡iÓâ”/ï’bÝ—/G³eËnߎ¡R%Wš5+Á?ÿ„³iÓe^x¡4^^®©ÞKf¯™žûy¤õóˆ7²k×5Ž #~{š5+އ‡sŠu>ÁáÃ7¹|9;êÔ)Lné¾^FÚ‹ˆHj²œÔxxxðÚk¯eG,""¹F^í¡I0G"é¢õë/òñLJ¸};Æ¢¼Oaf̨O±bùÌûþþû|° ¢,Ê–,éÄ·ß601N˜ëáädËÿþw‚€€Ëæ²¶¶Æ‚ÊZÔñË/g5ê/îÝ‹·ˆ¡M¦O?NåÊÌIMJ÷’™k¦÷~Òòõ×A,€³³-={VJ_á$RûùܽÏ›oîäÏ?¯™÷ÙÙ6¬&ݺyš÷EEÅÑ»÷ŸìÞ}¤š6-ÎŒõpr²Kózi/""iÉrR#""püø-ú÷ßGl¬‘š5 áë[˜ˆˆ8.qèÐ úöÝÃ/¿4Ã`€‹£xë­]„‡ÇP»vaj×.„ƒƒ GŽ„±{÷5zõú“M›Zãâò߯©Ù³ƒ‰ˆˆ¥]»2/îÄÑ£aìÜy•‘#ÿ¢uë’¸ºÚpøðM†?D\œ‘ºuÝ©UË›7ï±aÃ%fÎ<‘¡{Jï53s?)ùæ› ââÒ—Õ¸»;f:©IËìÙÁDE™î¹hÑ|=ÆŸ^cìØÃT©RМ”DFư{÷5jÔpÃÛ» î‡Ç²wïu¶m aÆŒ T=Õëd¤½ˆˆ<ˆ’ɳf$6ÖÈ[oy1lXMó—ÑÁƒ«Ó¡ÃºÁîÝ×xê©¢|ÿý?„‡Ç0ztmºv­hQÏO?â³Ïãïž.]*˜÷ÇÄijn]K‹aPC‡dÙ²³ìÛJ‹%˜3'˜¸8#|àM¿~ÿÍãðó«J»v[3tOé½ffî'%ï¿_5C=59!::ŽÕ«ŸÆÓÓÕ¼oöì`Æ äǃÍI‹‹=K—6ÃÕÕžB ½‹½½-Ï=WŠ "ùý÷+i&5i/""¢¤FDD²Å¡ØÚ8°šÅ_× ràÝw«ðÉ'‡8p ”§ž*Ê®]×°µ5pãÆ=fÌ8Ñh4™ŒŒ 0ð&ð_СCÙdó:š7/Á²eg ‰6ï;tè&NNv¼÷^‹²ùyíµrüðÃÉtßSz¯™™ûIIâ$ÌZÚ¶õ°Hhºw÷ä»ïþáÀÿ–{¶± fýú‹)ÖsýúÝ4¯“‘ö""ò JjDD$[„‡ÇP¬X>òåKÞƒP¶l~nÝ2͸qãqqF¦M;žj}IçY”,锬LBoElìÝ·nÝ£D‰|ØÚ&·äá‘?w’ñkfæ~Rò°æÔ¤¥L™äŸ‘Ò¥ï'f&ß~ûë×_¤paGš4)F‰N88Ø`0øùçÓó™R’‘ö""ò Jj$Ý ‰þ”öÁ0uêT+Fóè¸~ý:E‹þ÷—Ä-[¶Ð¼ysë$b% Øsùr4wîÄ%û¢zî\$ Úß/kǽ{ñôê•ú—ò„‰üU° W®Ü!.Θ,±¹p!2Su>HvÝÏ£0§æüù䟑Ñhš7T €ƒyßÖ­WÈ—Ï–uëZR¤ˆ£EÙ¹sO=p.LFÚ‹ˆÈƒ(©‘lñä“EX½úŽ c×®k ðöÛ^ær>>… ¼ÉK/m¦U«R€ižÌÑ£aLh cíEDäA”ÔˆˆH¶¨V­ S§Öããò÷ß7øûïæc ÏI’äᑟùó3pà~Ž ãÈ‘0‹º¼½ f*¡¨]»£G×f̘ÃìÝ{½{¯P§N!ž~º$S¦ÃÙ9{ýåäý}°··ŽÄ øé§Ÿ¸xñ"åË—§ÿþ¼úê«iÎ[ÉÈu‚‚‚ðöö6oòï¿ÿ2fÌŽ;FÉ’%y饗;v,®®ÿ ¿H+6‘¼¦xq§ÜøÜs¥hذ(Û¶…páB6Ô¬Yˆºu“#ªV­ ¿ýÖ’ƒC9r$Œèè8J”p¢J•x{4—+WÎ??o||’בp¬V-Ë[¾þzš5+Ζ-Wˆˆˆ¥R%Wš5+Áˆ– ¤t/™¹fzïçaKéþÒºç ŠÒ»w%¶o¿Ê‰·pv¶£yóÉVsss`ÍšüþûeΜ‰ @š6-F©RÎÄÇ ¿—æõ cíED$-£1½£w“ëØ±# 'kç](à“O>aܸq©oܸ16lÀÙÙô‹Òh4òòË/³zõêdeß}÷]þ÷¿ÿ™·'5½NÒ¤ÆÏÏéÓ§';ï•W^aÙ²eYŠM_9ýï_HHé*ëååÉôé!¼ðBúÊçGŽ„Q½º›Å_ú ãµ×þÀÅÅž?ÿ|>ÅÕÑDòªß~sÁϯ8ÁÁ§¬Šäažžž™>×&ã1[¹r¥9ѰµµeÖ¬Y„‡‡süøqêÔ©ÀŽ;ù777ž|òÉT{b2s¤† FË–-qssÃÏÏÏâØÉ“'“ÅæëëËG}„››uêÔI³—HD¬£fM7΋dùò³üðÃI.gä•WÊñî»U\ˆˆä*šS#9âÈ‘#æ÷ ,`Á‚)–‹ŠŠ"88˜êÕ«óÏ?ÿ˜÷ûúúZ”Kº•ë$U¿~}óû‚-ǽ' ÿIÛOžÿúüd==©Iorr7ö.Ã7 §ë]y¢ôé: S!¢Ã¾Ì‘+G¨W¦^ºÏ‘짤FDD2í…ª/˜š Ê5À£ '®0ïëÝ 7× d€ÿZxµÀ»˜7‹TÄÆ`“î¥s"qøzç×Ü‹»ÇGÍ?ÊÐy•‹Væ'ޠߪ~¼ýËÛÌé4_ßlODDÒ'KIÍ?ÿüÃÉ“')S¦LvÅ#’)¡¡¡¸¸¸àèèhíP$ ¥R¥ôO(\¥6ÄÍÉKá—ÌÛ/z¿HµâÕX{l-+WpâÚ îÆÞ¥Mµ6 l:0]óQ²{NMä½Hfí™EQ—¢ôü¥§Å±37ÎÐcIl 6Ì}>¶6¶eZWnÍ´vÓð[åG%=ø©óOêí‘죞y,DGGckk«¤Fä!;zåh²}‘÷"ù7ô_й³Ø_¡pú5îgÞ>råo,~ƒk×Ò5©?»çÔÜ‹»Gl|,—Ã/s9ürŠeö_ØozcHñ0ÏVy–©í¦ÒuzüÒƒ¹çR»dítÅ(""Ù'KIMåÊ•©\¹2K—.Í®xD2Å`0гgO¦L™bíP$èØ±£µCx$l:¹‰åËy¥æ+DÇDóɺOˆŠ‰âÅj/šË}±õ ^©ù žE<ÍûŠ»ÇÞÖž½ç÷¦ëZÙ=§ÆÕÑ•…]¦xìãß>æ\Ø9~|íGòÙåÃ&Ǻ=_õyâñ|¸æCºÿܹçR«d­tÅ)""ÙC=5""’iÞżòë&ÿ1™b®Å8}ã4w#p¶w¶Xù§}?ñýîï)ì\˜2ne¸{“×OK³ŠÍÒu­ìžScgcGý²õS<–ß1?uËÔM×Êf/z¿H\|ýúÝ—tgþëó‰çäéd²ˆˆH/×x™÷½ÏÍè›^$ânå •gnç¹”u+k.7´ÅP*­Ì¨ü}éoŽ_=ŽÁ†vÕÛñe›/­xÙ§mõ¶|ñâDÜàÍŸßäøÕãÖID$ÏPOˆˆdX­’µXØe!å •£„k zÔíÁé§qvpÆ«ˆ—ù¡› º=ÙnOvãFÔ Î‡ÇÙÁ™ÒK?²Ïw÷Ü8¢b¢p´µœ§Wܵ8 »,¤€cÊ ´«ÞŽÊî• ¿é)'""Ù@Iˆˆd˜›“›ÅЭù P»Ôƒ'Èv.LaçÂ9Z¶¨Y²fŠûóÙåKuÈZïâÞ9’ˆˆ¤AÃÏDDDDD$WSRóˆÙµk£FâÌ™3™:? €Q£FqåÊ•ì L$Á®]0jd²`:_mTDDD²‰’šGÌ®]»=zt–’šÑ£G+©‘œ³kŒµ¤fôh%5"""’m”ÔÌàÁƒqvvNñØÐ¡CÉ—/_²ú (€¿¿?gÏž¥R¥J´k×[[[._¾Ìš5k¸qãuëÖ¥eË–uïÚµ‹7Ò½{÷d½5gÏž% € .LóæÍ©Zµjª÷ÅêÕ«9{ö,¥J•¢mÛ¶¸¹¹%+ʆ ¸xñ"®®®T«V&Mš$[’URqíÌœ EŠÀûï[»s&M[[4ìÒø_. vì€wß…B…`͆âÅ¡];HÒFY±†Áƒ!I5:î·Q‹ú 8{*U2Õ¿rù²éÚ7n@ݺ¤²klÜÝ»'ï­9{ÖtS¼Í›Cm”¨(X½Út^©Rж-¤ÐF … àâEpu…jÕ IPòXR3qâDžxâ † BPPùX‘"Eؼy3µkÿ·éŠ+X¸p!ï¿ÿ~ŠIÍÂ… éß¿¿ER3qâDj֬ɠAƒ,æÄ4lØM›6áïïO÷îݹ{÷®ùXŸ>}˜9s¦y;aNMóæÍ-’šaÆñÅ_gÞg0xûí·™9s&ööö1žwwwV®\IãÆÍû¾ÿþ{ú÷ïOtt´ÅùµjÕbãÆ/^<ÍÏU€¢EM_âG£úõûïXß¾0{6|÷]Ú ˜’‰á‰'`ÈHÔF)R6o†Dm”+`áBS"•RR³p!ôïo™ÔLœ5kš¬Äsb6„M›L‰N÷î¨Ò§)iK0§¦ysˤfØ0øâ HÔF1àí·Mç'i£œ< íÛ›šîî°r%$j£|ÿ½é>’´QjÕ2%Wj£"""y^žIj¼óÎ;ØÙÙÑ»wo\\\X¿~=ÇŽãý÷ßgûöíY®ÿ½÷Þ#þü¼÷Þ{ØÚÚ²téRvíÚE¿~ýX¸p!O>ù$ 4àúõë,^¼˜ÿýïôîÝ›:uê¤ZçŒ3?~<ƒ6mÚàííÍ™3gXµj³fÍÂÝÝñãÇ[œÓ·o_èÝ»7ùòå# €cÇŽñòË/D‘"EˆŒŒäƒ>àÎ;<ÿüóÔ¨Qƒ;wîpäȶnÝʵk×”Ô¤×Ô©pà hêÝhÐfÍ2%4o¾ ½{§¿®wÞ1%@½{ƒ‹ ¬_ÇŽ™’—lh£¼÷äÏoú¯­-,]jJTúõ3%BO>iŠÿúuX¼þ÷?S,i´QfÌ€ñãMIL›6àímJšV­2}îî¦ã‰õí ¦ºóå3%]ÇŽÁË/›º"E 2>øÀÔãõüóP£†éý‘#°u«©—LmTDD$ÏËsI§§'›6mÂÉÉ €ñãÇS«V-vîÜIxx8 ¤ü”èôòööfÆ 8:šžBýá‡R¹refϞͧŸ~ÊØ±cÍe›6mJÏž=ùõ×_ÓLj&L˜ÀòåËyùå—Íû÷ìÙC“&M˜6mŸ~ú)ùóç7+Y²$Û·o7ßOll,:ubÅŠüôÓO 8ˆˆîܹCÏž=ùá‡,®yäÈJ”(‘¥Ï"Oqp0%O<;Â?š’„ZµàÛo3V—§§©×ä~eüxS=;wBx¸ièXVx{›†rÝo£|ø!T®lJÀ>ýµQš6…ž=á×_ÓNjî·Q–/7%% öì1 ›6ÍTw¢6JÉ’¦$-á~bc¡S'S/ÓO?™ĈSÓ³'$i£9j£"""B\ýlÈ!æ„ÀÁÁV­Za4¹|ùr–ë4h9¡(_¾<žžžØØØ0tèP‹²­Zµ°"–Ô¹sç¸pá5²HhêׯOÇŽ‰ŽŽæàÁƒdž b‘ ÙÙÙ1fÌvîÜ @ñâÅiÔ¨[·neíÚµ„‡‡›ËרQww÷ŒÜº”- ‹Á¥Kð쳦¤aùòÿ’“ô2ÄòhÕÊ4´-Ú(ƒý—Ѐi™§'ØØ˜æà$v¿’FåÜ9¸p5²Lhê×7%yÑѤ2dˆe‚fg÷Û(÷Û(Å‹›êݺÖ®5%u jÔ0õ‰ˆˆHž—ç’š2eÊ$Ûçââ@LLL–ë÷ððH¶/þü*TÈ¢'%a?˜&ô§ææÍ›T¬X1ÅãžžžÜ¸qÃb… ’•MØ—P'Àúõëyã7>|8îîîT¬X‘·Þz‹½{÷¦“¤¡I(WÎô¾}{ðòÊx)´Qî·Q²¡’B%~ÓâIÚ¨y;6JB{J¥r¿’¤’B5ïKÔFY¿Þx†7%1+Â[oÚ¨ˆˆˆÜ—ç’šôJX """Ù±sçÎ=´8 *À¿ÿþ›âñS§N$[½íôéÓÉÊ&ìK¨L ݈#8tè·oßæ—_~ÁÞÞž ðÛo¿eË=ä)ï½§O›¾ÈÏ›gZE,§$,Bå!¶QÚS*m”ûm4Ùêm)´Qó¾Dm1‚Û·á—_L‹4hj£¤åËñšàÅúëÍû/â5Á‹é;¦[1²GÏþ ûyóç7©3¥µ&Õâõ…¯³ãôk‡%"’ë(©IEÙ²eøõ×_-öoÚ´É<|ëaÅáááÁÎ;ñ÷÷·8¶ÿ~–-[†““O<ñ„ű‰'rûömóvll,#FŒ Q£F€iyé}ûö™Ë8::âëëËСC1Ì›7/§nëñôæ¹ o½ešKR¦ të–ò—÷ìp¿’¤²iÓ÷†²eM½?;wšVOKlÿ~X¶Ì4œ.IeâDS’’ 6Ö”¼€iȘ†Û%j£8:‚¯¯i˜œÑhJEÒiÿ…ýxMðbÆ®Ö€í§·ÓuQWvžÙIÄÝ¢b¢Øw~oýòë‚ÖY;<‘\%Ï-^mÚ´aĈ|ðÁlß¾råÊÄÚµk)V¬W®\yh± :”÷ߟöíÛÓ¦MªV­ÊÙ³gY¹r%111 2$Ùж˗/ãííM›6mpttdóæÍ=zwwwºwï˜æò<õÔSÔ¬YJ—.Í7Xs¿wA+ŸeÀÁƒàçgZryÆ Ó—ø¥KMÃÑ^}Õ´ºXây,Ù¡MSðÁ¦ ÷åÊ™V [»Šƒ‡ØF:Ô´:[ûö¦¸ªV5ÍÃY¹Ò4dnÈäCÛ._6-ZЦé³Ù¼Ž5 1»ßF9{žzÊ´ µ”.mƖЦ6škÔ,Y“à¡ÁÖã‘çë?%.>Žu{Чal ¶Ì?8Ÿ)Û¦0bÚy6ÃÙÞùÁ•‰ˆˆ’šÔÔ©S???¦M›Æ’%KÌû‡οÿþËÂ… Z,}ûöåÂ… |ùå—¬Y³Æœt$<§&ñŠj ¾ùæ Äwß}gÞ—ðœš"EŠPªT)êÕ«ÇÞ½{ ´8¿iÓ¦æžy€°0Sââèø_¯@½z0eŠiéâ~ýLÏ[ÉNu꘩iÓ QeøpÓP°‡ØFéÛ×´XÀ—_šŽ„¤#á95)´Q¾ùÆ´hA¢6j~NÍý6J©R¦Ïqï^HÒFiÚô¿ž‘\fç™\¼u‘ºeê2¬å0óþ¾ ûr,äNl`Ó?›hW½£É=òLRÓªU+òåË—â2Å ÇŠ+f±êÔ©tîÜ™íÛ·cggG‹-¨]»6+V¬ÀËËËüàÍÕß»woÂÂÂ’íwvvfäȑԪU˼/66Û„§»ß7~üxÞyç ¡páÂ<ýôÓTMò´ö„8š6mʱcÇð÷÷çìÙ³”.]š¶mÛâ–èiíeË–eÏž=;vŒýû÷séÒ%ÜÝÝñõõMs‰iIâÐ!Ó0³æÍ“/ ðÞ{¦ÿ^»fz@gZ= ­Z™ž×’Ò2Å Ç’´Q¦N…ÎM=5vvТ…©·hÅ S,‰Úhšõ÷îmJÎ’rv†‘#MKJ'¸ßFIÒF?ÞôŒ€Ó½. O?mêµIé^š65=—ÆßßÔ#Sº4´m ‰Ú(eËš†ò;fÊvé’)ññõM{‰iy(Âï„3yÛd6ü³ð;áTr¯„_c¿Ë^äå¹/ãרÏ\fÛ¿ÛèñK>iù ÕKTgʶ)½r”ŠE*²ªû*ŒF#Ë/ã—ÿpâê âŒqT(\Îu:ÓÕ§+ƒÁ\¿ÑhdÅ‘,;¼Œ «AÄÅÇáéîIç:yµÖ«üïÏÿ1eÛ¦l›b~X¥ißyÓ°Ê”’–vÕÛ±áÄöžÛ«¤FD$òTR“°„rFŽ5hЀ XìëС:tHw½Sy𢳳3£F²Ø—° @Ò‰ÿ`ZºgÏž)Ö•Z]ºtI³<@µjÕ¨V­ÚËI*ž~ÚôJMBbó ­Zý·„rFŽ5h`z%Ö¡ƒé•Þ:R{8¨³3$i£æRh£”/oz¦LZ’Æ‘Ž6Jµj¦—<2îÆÞ¥ë¢®¿zܼïÈ•#¼³ü^¨úB†ê:xñ ~Ÿ@œ1€xc¬\À´vÓhT¾‘¹lÍ’5©Y²fVo•ƒOd¹Ž¤ŒFc¦Ž‰ä,gÎ;ÇóÏ?Ï|À[o½•l8¼È£JIÍ#¢M›6T¯^ÆãããcípD’kÓªW‡ÆM+‘Ižv6ì,Å]Š›šÄšVh𡤦QùF ÀÉk'‰‹£ÉÌ&€é‹¾£ù=À¥ðKœ =EÁ|-šG«£+·îÜJv,ün¸©L>ׇ“4`íÚµ|÷ÝwLž<™Í›73iÒ$J•*eíÀDHIÍ#¢M›6ÖA$mj£’Cܜܒí‹7Ƥ9—%&.&ÇbJ,'æÔ”+T€®ýÃ¥-Ÿát5ÈTÆ­\#É:{{{Þÿ}Z¶lÉ€hÓ¦ &Là™gž±vh"iÒÃ7ED$Ãʹ•#$"„“×O&;¶íô¶,×ïYÄ'{' 8DðÐà_ß¼ü¹ì­;·Ø;dc0ýÊKo‚’“ê–© l!„Äûê•­÷PcIÌÛÛ›U«Vñâ‹/Ò·o_¦NJ||¼µÃI•zjDD$Þ«ú_þ›¾+û2ú™ÑÔ.UÛ¼P@F†ž¥¦cíŽìÿu?Ý~îF¿Fý¨Sª®Ž®\¸Ê?×þaYà2ºút¥aù†t¨Ù}ç÷Ñß¿?› ¤YÅfÌWS¡§X|h1íj´£^™zæ øûÎï#,:,Å¢”äÄœšFåQª@)ößǸÍãèÓ°v6vÌ;0 '6PÈ©­+·ÎöëŠdD¾|ù;v,5jÔ`Ô¨Q1uêT‹GZˆ<*”ÔˆˆH†u{²þGý9~õ8o,~üß`0ð¢÷‹É–WΨ5:°÷Ü^–.§÷²”—ïT»¯Ô|…?NýÁúëùdÝ'ÉʽàmZbº|¡òw)ΟgÿÄwš¯ù¸5žScokÏgÏ}F¯e½˜½o6³÷Í63 Œ~v4ÎöÎ=.‘”têÔ ///ÞyçºwïÎ÷ßO¬–ˆ ?‘ s´sda—…tõéŠ{~wí©V¼ßvø–¦›f¹~ƒÁÀÄ'2½ýt•oDÁ|±·µ§Œ[ZWnÍ·¾¥QÓÂ6¾nÿ5Ÿ?ÿ9uJÕÁÉÞ Gj—ªÍøÆÓ œé9N¶6¶Ìè0__œì²cV5­Ø”…]Ò°|Cò;äÇÉÞ‰ºeê2çµ9~ÖHN{òÉ'Y¼x1çÏŸ§k׮ܼyÓÚ!‰X0³°vdÇŽXºti¶$’ƒþýû3eÊ”É9ýï_HHé*ëååÉôé!¼ðBúÊ‹ˆ$õÛo.øù'8øTšå.\¸ÀÿýßÿáææÆüùóquÕ*}’}<==3}n–†Ÿ…††rá •jD²E@@€Ú¢<4ÿý·N'"yއ‡óçϧS§NôêÕ‹9sæàädýžO‘,%5'OžäÂ… L:5»âÉ´#GŽpäÈk‡!yHtt´µCyèÊ”)üyóèܹ3C† aÚ´iÉž5%ò°e)©iÐÀ4NYÃÏÄÚ4üL¶„ág""y‘——ß~û-ݺuã›o¾¡_¿~ÖIò8- """"V·n]FŒÁôéÓÙºu«µÃ‘Ã`0°cÇk‡"yÐg¿~†¡—Áj""¹Ù+¯¼B¹råÔ[#’š2hÐ ŒF#Í›7·v(Yö8ÝK^1èÙA0Ò¼Jsk‡’eÓ½ˆˆ<îlmméׯkÖ¬áÌ™3ÖGò%5""’)ûÎï£æ¤šxMð2¿¢b¢ørë—xMðâøÕãæ²—ñšàÅôÓ­qÞ–‘ŸW^°*~\‘Ï~ýŒØøDíor+†¯ºßþ&6ÁÐË€¡—æ_6Oó^2Kz’>ÓwL':&šª¾ÀûÞǯ±ö6ö4,ß¿Æ~¸;»[;DID?¯ìáQпÆ~ø5ö£gýž4*߀E‡±ä¯%æ2¥ ”"ðr Ñ1Ñ矾qš«W)æRŒýö'û7èðåÃDÇDS¯L= Ãù©lfkkËo¼Á²eË ³v8’GØY;€   6lÈ­[·Ìû~ûí7öìÙÓO>™¬üÍ›7iÒ¤ G5ï»sç[¶laëÖ­ÌŸ?Ÿ®O¢Ì’ IDAT]»Zœóõ×_3{ölóö¹sç5jñññŒ=:KuñÅ,^¼Ø¼ÖôÐÐPš4iÂñãÿý5,**Š7²qãFbbb°³KýGrúôi4h`ñÄÞ/^ÌÚµkùý÷ßñõõµ8gâĉüüóÏu >œ'N0þüT¯õ ™‰%½?‡‡)èJ '4äVt¢öø{NïáÉr)´¿¨›4™Ø„£—µ‘˜;l ÚÂÖ[™ÿö|ºÖOÒþ~ÿšÙ;Ý÷sŒòE¼1žÑmGg©î/ÖÁ⽉Ú__ÐC#BiòEŽ_NÔþîE±ñèF6ÝHÌw1ØÙ¤Ñþ®Ÿ¦Á¸\½ègÂ⽋Y{x-¿üßòIÚߺ‰ü¼ïg‹:†¯Ή+'˜ÿvÚ_&bIïÏAÒïTè)¼Ü½˜ÞÞ²÷¥QùFæ/zòèÐÏ+{”-T¿Æ~û¾Þñ5ÓvLcÓÉM¼îó:õÊÖcÕ‘U¼xÐâóÝ{~/½ê÷âóÍŸsâÚ ¼‹yÿwüœéxý²õsúVrTÇŽ™2e kÖ¬á7Þ°v8’X½§fàÀܺu‹_|‘ÀÀ@"##9xð µjÕbãÆÉÊ4ˆ£GÒ¡CöíÛGDD¡¡¡,^¼777úõëGdd¤Å9‹-búôé\ºt‰ððp,X€ß|óE×nfê^¾|9“&MâÂ… F&Ožœê½öïߟãÇS³fMÖ®]ËÕ«W eãÆ´lÙò‘ùàƒ¸zõ*M›6eÿþýDFFšã½}û6½zõJvNB|—.]âÆ,Z´ˆÂ… ³`Á6oÞ @@@cÇŽ`ûöíFŒFcš«e&–ôþ¦¿ äVô-^¬õ"£‰œÉÁá©åQ‹GShKqôÒQ:<Ñ}Ÿì#â›B§†²¸÷bÜœÜè·¨‘w“´¿=‹˜þút.}u‰ð¯ÃYÐsv6v|ó{’ö—‰º—\Τ×&qáË 02ùµ4Úß’þ¿|œš¥k²¶ßZ®N¾JèÔP6ØHKï–x@ûûù®Þ¾JÓÊMÿŸ½óŒŠêÚðC—‚4{ï5±×hK4]4ÑÄtã{/–¨±Ä5&±aÔhì€J ‚ŠJ³‚Š(u˜÷c2WÆËýÖbÉœsî¾ûÆ»ï9{o¢¿æÁŠÄÏ–ë{¿à>“+gýý«ß…7ÈYšÃŸ“ÿIJŽ%¿GüÎá„×ßg‡øïà×ßÌ0dkeÈÖÊ8öù±jÕEÝyy:¡WCYv|wóïr¿à>ËŽ/+÷'+/K-yR™”ã׎³>j=k"ÖpàÒ K •Ú¤ÜIaÙñeœ»q€ÈÔHÖF®å·Ó¿‘|'¹BÙ×r®±'~«ÃWóû™ß‰»§Ò¦¬ìRY)ǯgmäZvœßÁýÂûB»üâ|ö^ØËêðÕìKØG±´Xãþûì³§ö5??Ÿ;v`iiÉÁƒ±µµêz÷îMïÞ½Ÿxýƒ ÄÆÆ†½{÷bjj @“&Mضm>>>œ;wŽK—.ѨQ#áºiÓ¦)é÷æ›o"•J…máž={>U÷êÒEyx–äæL}Ëú|€î¿ë¯¾/»>Ú…Û×nJGÏ K Ù¹/{/>(³Fôë0ºõhräðñv9Œ¾Mˬ¿7¾gJ2ýn;–Ýgwp:€´;iÔ·¬¯±ìO{}Êg½ÕXÅùìˆÞeK~v[Ó2ë¯Ioz7yÊú+|@`l 6&6ìýd/¦†ÿι}¶½¿ ŸÙ>œK;Ç¥ŒK4²-³þzMSÒïÍ6o"-•òöú· 8@OO ÖŸ†º¨3"êz5”ÑÈÈ˨ÐO¦w£ÞÔ5®ûDY17b˜ºg*é÷Ò•ÊíLíX5tMë5=Ìê²:|5‡.?:2)Ñ–0·ß\†zÊ?ä½€÷ˆH‰P¹g×.¬²C]C%Ùú:ú, [Âñk¢ð- YÄ–±[(–3qûDnÝ¿%ÔyÙz±ýííèëèWº?Oâ—ã¿ C=CÛH׈Im'=±¦ót1ˆ¯ö¥dØø:ø²bÈ lŒmÔÒQ1¾z=¥ñõ²õb´ÏhæJÝu°ãüfÏ¢HZ$”ùØû0 ÉµôWEŸœ-…2Á¨I{̨I‹¢S, -pµt%*5Šñ­Æ -•ræú, -p·v¯6ýj‹Áƒ3~üx®]»†‹‹Km«#ò’S«FMrr2R©”.]º333ÚµkǾ}û„²«W¯’ŸŸÏ… ÐÕÕv¿*±ÑË‹Úåêê È}hª"ûiƈ‚k×®QXXH¿~ý” uINN¦¤¤„Î; F„^{í5âããIJJR2$^{í5Y £,))©ÒzTEuæáY’|;i©”.º3C3Ú¹¶cßù2ë/ë*ùÅù\¸yÝʬ[#9­¿r¢v¹Öý·ß÷«$ûiƈ‚kY×(,)¤Ÿw?%ƒF]’³“))-¡³{gÁˆP £­Ãk^¯#ž¤Ì$%Câ5¯rÖß¿FYR¦†ëOC]Ô™õèâÚSSV‡¯ÆÂЂQ>£”êO$Ÿàtúé§Ê¹~ï:¶O · —æöÍin×==ânÅ‘Áä€Éœ|c}cáÿSþäæ1Èk¶&¶ÄߊçDò f˜EïF½1Ñ7äÆoDJMë5ÅÓÆë:Öäæ•EèÕPVœ\ÁŒ®3”ôñò§ ¤€aÞð0²àĵ$d&0ëÀ,nÜ»žD±¾c‘hKø'áâ3âÙzn+ãZÓ¸?å±üärµw¬ëX?Õ¨Ñd¾2˜¶gšÜiÝΛVŽ­È+ÊãÐ¥Cœ½~–w}Ìö·¶WÊçÃÿ”?‹2 Éê›×§žI=@ùRsœ¿yžoƒ¾EZ*¥µSkšÙ5#çaÁƒYqr…Úº—%õNª`æçs!ã'SNb¨kÈ»mÞÚ)ús#†Â’BôuôI¿—ÎÍÜ›´©ß€ÖN­ ¾ŒL&CKK‹øŒx= SãN/¬?MYÚ·oOݺu âÃ?¬muD^rjݧ¨ð÷ñ#! ™L†TZñ~QQ‘ÒgCCà 喝‡¦²­¬¬*l[Uý’ªŽ/9…Œg­‹:óPT¸þ{SªðW‘ÉdHeOX#%­?½rúÍcëOCÙVÆ•\O9böÔë«cýQKëOyQ.®]èâÚ… §6PϤžŠAaI¡ZFͯ¿’[Ëì>³ÛBÙ_lcôFþwèü}áoÆøŽÊ‹¥ÅN ÄÑÌQ(ûrÿ—œàTÚ)z¸õÀXߘoïÀDß„Ó×O“ý ]‰.}=ú’™Î‘¤#*Ê2dM ÂÎÔi7)ý×õçdòI:8w`݈uèIôx»åÛ¼¶ö5Ž$ŒMúSŸtø¤R;5OC“ùZ¹Ž’Ò&´žÀ×=¾þÞ¾èöC7 åìõ³D¤FоA{µô¹ð÷„¿qµrU*×d®Ô]£7"-• Žý ü:ù1pÃ@µu/Kú½t•Ý®†V ùeð/4ªÛH©¼mý¶ì‰ßCÌÍÚ8µŽ–µvl-ÿש5[Ïm%); wk÷—ÆŸFD"¡k×®„„„ˆFHS«F³³3‰„ÐÐP ”vkrss‰ŠRÞ²uqqA__ŸV­ZU{’Èš”]V~hh(™™™ØØ¨·m¯ÀÙÙÂÂÂÈÍÍUÚ!‘J¥‚ÿ‘›››ÒuÁÁÁ*GÌhذ¡P¦­-w¯*­ºuyÞp¶vF¢-!ôR(ÅJ»5¹ù¹D]{lýY» ¯£O+çVŸYÍë¯e¸Ô•˽JæýLlL*¹þ¬œÑÑÖ!ìr¹ù¹J;$ÒR).ü;ç6­¿ø`•#fqÿ®¿ºeÖŸÖ¿ëOªÆúÓP‘ç“)'‘hIÈy˜ÃŠ“+”vÇËýÇboÆ‚ï£k†6ªô Эa7Îq?C(ÓÖÒf}Ôú ÃõÞ~p[¥lHÓ!‚A ђж~[®d_aR›I‚Aàb邽©=×ï]¯RÊcJ§)Onð 8~‰–„é]§+½@°0´àƒöðMà7œN?MûíÉ/ÎgmäZ¥ë t x¯r¸âA^ƒT Ðl®Ô]gÒÏ`¨kÈÇ?VjëdîÄ(ŸQ¬‹\'”©ÛG3Gáˆ[Öƒ,‚/s%û ¡WCUŒš6õÛ°'~‘)‘´qjCTjÖu¬…qhã$ß±‰J‹’5ÿUS”¿ tíÚ•]»vq÷î]ÌÍÍk[‘—˜Z5jNdŒ5Š9sæàââÂåË—™1cYYÊN‹FFFŒ=šM›61fÌüüüðððÀÀÀ€ääd"""X³f ÇŽC__¿‚»–OMÊù.ň#øý÷ßéÓ§sçÎ¥uëÖH$¢££ùé§Ÿ B"‘”{}:uèׯ{÷îeðàÁ,\¸RRR˜5kqqqøøø(÷X²d‰jY__Ÿ   ¦N ÀðáÃ…v–––€ÜjÓ¦ FF¿ýÓT—ç c}cú4éC`\ £ÖŒbÎÐ9¸X»p9ã23vÌ ëþcëOψÑmF³éä&Ƭƒ_O?<êy` k@rv2W#X²†cŸS:c¯5)ÀP×­Fð{ÄïôY܇¹CçÒÚ¹5m ÑÉÑüôAÓ‚hW°þôëÐÏ»{cö2xå`ŽXˆG=R²S˜õ÷,â®Çáãä£tÜ `É¡%Ô3«Ç˜6cÐ×Õ'(.ˆ©[ÿ]-ˬ¿:ÿ®¿ø`Ú¸´ÁHï ëOC]Dž?ræ •IYz¼âÌãûs”5:(v+ʆ _¾Š ‹AXYÒÙ¥3õLê¡§£‡Zl=·UÉ¿Bâ8TY¾Õ•u פ?åQÝ>5š[˜‹‰ :*uõÍåþg÷ äQ# J Tv.Ì ÍUŒg çrï¥É\©»îÜ£žI=$ZªßmNæNJŸÕíÇãÑϦtœÂ°ß†±àØ:»v¦qÝÆBÝã~5‘©‘´vj­Ô3"S"yÓçM¢Ó£174W’ñ¢Ó±£<ò[DD„’O²ˆHuSëÇÏ-Zĉ'øûï¿ùûï¿…r+++zöìÉáǀŋÖ-[”B)—EÓ£$5)[!?**Š˜˜ú÷ï_iÙK–,!22’£Gª„»666fíÚµ*× :”éÓ§3}út¥ò±cÇ*íàtíÚ---æÍ›Ç¼y󄲊" i¢ËóÈ¢‘‹8qåÇüÍß1eÖŸ±=={r8á0º’2ëoÔbbÒbصE)”rY4^5([!?êZ1i1ô_ZÎú{ÊCÔ’QKˆ¼ÉÑÄ£´üïcs®oÌÚwÊY-†2}ût¦olýµ«´ƒÓµÑ¿ë/póç eE@ÓD‘çSSФELn«­N›µf;nÇ®Ã@Ç€ÀIX=:¦)“ÉØ½©Füª«?ÕíS£ ¦ú¦Ü̽IAIŠa“zWîÛgf`Èw3?ÒVž1TÑK“šœ+33nÝ¿…T&U1lÒè¬N?ÇÆØ†¯{|Í”ÝSX¶„UCW uÎÎØÛpöúYR漣~/]ÉïäGÐŽ_;NBf¹¹ôiÔç¥ð§Q`jjJ£F8wîœhÔˆÔ(µnÔxzzrâÄ ¾úê+BBBèÔ©?ÿü3|ð:::˜˜˜í-,,ç—_~aÛ¶m\¼x‘ÒÒRœéر#“&MR : .5)ÀÚÚš¨¨(,XÀÎ;¹vífff´hÑ‚3f<1G È꣣£™={6AAAddd`iiI=˜5k*×|ùå—tèÐåË—“’’‚ƒƒ'NäË/¿TjçééÉúõëY¸p!III*¾CÕ¡Ëóˆ§''fžà«¿¾"äÒ¿ëÏ­?ú™6€Ž¶&eÖŸ‘á_…óË‘_Øvjo]¤TVгµ3vdRçI*AÔ¥&eX[õM ‚°óôN®Ý¾†™¡-´`FŸOÌQr§úèo£™½w6AqAdäf`YÇ’=˜5põÊYý¾¤CÃ,?²œ”œÌ˜Øi"_ö{lýÙy²~ÜzXHRf’ŠïPuè"òüÑ¡A¶Ål£Ey R©OÌL¾+‹––:ô%Ê;›«ÂWq¯àæ†Õ ¦ºúSÝ>5šÐÒ±%{â÷°8t1_õøJ(¿›—_#~Ú€|Çêqc 2Ôä\µplÁßñ³òÄJ¥c}iwÓØ³]©mUúÑÏ£ž6žº|ˆ„Œg¿?‹Ó˹þjòûäÉlóòòÔjëæÖeË2èß_½öÕ…ïb_\-]Ù9n§Rù‚c X±†½÷ IcoÆ2dÓ%‡íô{é Ú0ˆ{÷hZ¯)Ííšcb`BV^—n_"öf,þ#ýéâڅЫ¡LÜ>‘oz~ÄÖ”›Õ{o·”'ùûÏÁÿðÛéßp2w¢—{/@î'+^xQ=5ZéúòdÏ=2—õQëÙÿî~‰~ëú‘[ˉONTº?µAeæëBƆnJIi Íí›Ó¡y…yN:LÎÃ|ì}Øñöµvž4¾P}sUÞ:8ó<#6(7ú™®9sX>d9}?}!åN =×ô¤ƒs~ý›J}`b SvO¡oã¾,²\(ßrv ߇®D#]#¢§F+ÛÕì«ôYÛ]‰.ÅÒböNØ«d=+öï7ÆÏÏ–¤¤+Õ.; €~ø˜˜˜ Ù‹ˆ€²¿we©õ‘úàƒðõõEWW—èèhf̘ÁÇ•ü>DDj‚¡+‡òA×ð­ï‹®D—è”hfì˜Áâ‡J~"""Õ‹£™#›ßÜÌô½Ó‰»§’lÑÓÆ3dûuò#<%œË·/³áÔ@òû¿}ÿËŸgÿTÉ#SÔdž5Ml›°dоÚÿ17bˆ¹#Ô)òÔTשšœ«fvÍø_ßÿ1+x§ÒN ÉC›Û7g`“ü÷Ы¥¯5~†V ¾ÌåÛ—…<3ŠðÍÅÒbZº´T7W+W¬Œ¬È~˜¹¡96/ßN³‡‡¤¦¦ŠùjDjŒç¨9pà»víR)÷ððP+±¥ˆHU8pá»Î–³þêyðYqý‰ˆTÄûíÞÇÒÈR¥¼ƒsôuô±6²ÊlMlñëä§r´¦‰mö¿»Ÿ3×Ïw+Žüâ|ê™Ô£qÝÆJo«X4À¯“¾ª¡ÃuÍìš eæ†æì¸—#IGHÎIÆÔÀ”.®]°7µ§TVªäàÿ$Ù]:SG¯VuTç¿Õò- K 5êOmP™ùèÛ¸/t ôZ(éwÓÑÓÑûž·Êñ©§ñ¤ñ…ꛫòÖÀˆf#èä܉£WŽr¿ð>nÖntkØKY—ðë䇛•z~[fføuòS 0 @[K›ÿõýá)ádæe FMC«†|Öå3JJK*ŒjöU¯H½›Š£™ãKåO£ÀÕÕ--­" çªU«°±±aذaµ­J•)--åäÉ“$&&òçêöíÛ?q·,%%…ãÇsÿþ}œéÚµk¹)94m_“<ÇÏ>ÌâÅ‹9wîYYYØÛÛ3pà@¾ÿþûJç‘#?SŸÃ ‡Y|h1çRÏ‘•—…½™=}òýßW:ŒˆñøYÕyŽŸ‰ˆˆ¼<Ôäñ3GA›8q"ï¾ûîÓ×0¿üò ŽŽŽ 2D¥ÎÛÛoooþüóÏZЬúHIIáÃ?äÒ¥KJåžžž¬Y³{{{•k/^̪U«„Üvvv¬Y³†&MšT¹½:¼ðÇÏzöì©’KE¤j”b&òdzzöTÉ¥"R5æ ›Ç¼aâú‘ãììLjjjm«ÀòåËiÛ¶m¹FÍG}Té\‚Ï%%%Lž<™«W¯booO÷îÝÑÕÕ%,,Œ„„Þ{ï=öìÙ£´c³sçNV¬XD"aàÀØÙÙJBB“'OæÐ¡CJ;0•mÿ,x.Œ‘—kkknßVM¤ú¼ñá‡Ö¶ UæðáÃ\½zOOOvìØ!Dî•J¥¼ÿþû;vŒ   ^ýuáš_~ùEø·OŸ>|öÙgLš4‰°°0¶nÝÊ„ 4nÿ,Ð~¦wyå°¶¶&;;©TʲeËØ·oW®\aóæÍ,[¶Œââbî޽˲eËÊÍ“§¨ ÊÊ“·iÓ&Ö®]Ktt´Òõ7nÜ`Ù²e”––’ššÊ²eË„Ÿôty@ŠU«V±sçÎ å'$$°aÃ6mÚDJJŠÐN&“qüøqÖ®]Ë–-[ÈÉÉ©p,âââØ¼y3«V­â¯¿þ";;»’£ùd>4£GVJE"‘H;v, O¶®àâÅ‹¤§§Ó´iSÁ@Q´Ÿ6mÔ¸ý³BÜ©©Q¬¬¬ÈÎΦ¤¤„eË–Ñ«W/._¾ÌŠ+„6ï¾û.÷îÝcÙ²e¼õÖ[tëÖMI†¢nüøñté"^VÞõë×Y¸p¡R¢ê‘#G2gÎà‘QòÔ!ŠßÚ¶m‹££#+W®ÄÛÛ[PV~RRË—? ×=gΖ.]JÇŽyÿý÷‰ŠŠê-ZĶmÛ”|Dn߾ͧŸ~Jxx¸R¿ ™5k–RÄß]»v‘–¦œ öI¼ýöÛXXXê%êNHH~WAmÛªæHòööÆÐЋ/jÜþY!5"""""""""5б±1<>Ÿ={–C‡ѹsg<==100@WWWcùçÎãÈ‘#tíÚwww222Ø¿?Û·oç7Þ C‡ØÛÛãççÇ/¿ü‚ƒƒC‡®wpxr¸õ³gÏräÈzõê…««+—.]âØ±c|ÿý÷´iÓ† .0|øpÌÍÍ9~ü8‰‰‰,Z´ˆ•+WòŸÉ“'‹££#;wÆÌÌŒ””:Ä×_›››Üi×®]œÿüsŽ;¦dÔ¬X±‚úõëãçç§¶üœœÖ­[G×®]…²¯¿þšíÛ·Mpp0¶¶¶Ó§OŽ=ŠL&CKK‹Ë€X¸p¡’“~ll,ÇgÆ ,]º€!C†ÐªU+µõ³´|®½gÏžØÙÙ‘@Ÿ>}”dffR§N „öŠyÑ××/W¶Â0)((PšGuÛ?+D£FDDDDDDDD¤Fyܨqqq©6ƒ I“&J _+»+¡)^^^J ÈÃToß¾aÆ  €®®.mÚ´açÎdeeaccÉ'022bõêÕÂ1™L†L&ÃÔÔ”ØØXAFy‘ÙÔÅÀÀ€_ý•?üôôtawF__Ÿ%K–àççG:u„ö ã¤ìü”¥¨¨H«IûgE•ŒšˆˆÒÓÓ_ÊDQ"/K–,aÉ’%µ­†È+„££cm« """òB §§'<ì‚<Äsubgg§RfddÈýbªJ½zõTÊ!‹ŸT—ŸŸ ضm›Z÷«ŠO ÈóÑùä´µ•³ªdeeqóæMásU|jbbbðòòBGçÑ£~HHþù':::Œ=Z(oܸ1ŽŽŽÄÅÅqàÀ!L³T*NÀ”}i\ÙöÏ Ñ§¶ IDATFDDDDDDDD¤Fyøð¡pìIhkkÓ­[7<È€èÖ­EEE„„„TèÃQYœ¹páÓ§OÇÉÉ mmm†Z£»ï¯¿þ:7ndëÖ­„……Ñ¡C¬¬¬ÈÍÍ%99™¨¨(Þ}÷]š5kTͧÀßߟsçÎѾ}{¬¬¬¸páÇG&“1cÆ 4h Ô~Ê”)Ìœ9“)S¦ðÆoP¯^=¸pá¶¶¶JF&ퟢQ#""""Ri®f_åÛ oÖlü‡U«ìЫ¡¬_Í´.ÓhãÔ¦ZeW–˜1Ì?:ŸwZ½C߯}kU—'q)ëG’Ž‘AQI3»Ï¤¹}ó'^s%û »âvq9ë2º]||Õ|ÆúÆÏHk‘W uwj>ÿüsΜ9õk׸víNNNÌŸ?Ÿ‰'VY— &0sæLöìÙ#”)òÔÔ‰„õë×3sæLŽ9ÂŽ;”êmmmƒ¦:ðõõåàÁƒeL›6I“&©´6lÉÉɬ^½Zi\ìììX³fÊÜU¶ý³@4jDDDDD*̓¢D¥EÑ®A»§7®$Y²ˆJ‹"çaŹ«“‹Y™}`6#›dpÓÁJu÷ î•EïFϯ¿Þ  ƒˆÏˆW*»Wpï‰×l8µùGçSRúÈ:èb«ÃWsjê©ÑSäÕ&??###tttðóóÃÕյ¶®®®úè#Áþiò]\\ðóó+×éÖ­–––‚/ €……¿þú+W®\!::šœœ,--qvv¦U«VúiÂøñãéß¿?'Nœ ##;;;ºv특¹y…×LŸ>aÆqâÄ îß¿Oƒ èÖ­[…JeÛ×4¢Q#""""Ri\­\ùcÌ8˜=9aÝ‹ÀýÂûD¥EÑÑ¥cm«¢™2q·v§§{O39våØÛïKØÇ‡D¢-aD³tw뎾Ž>ÑiÑl=·õÙ(-òÊqûöm,--‘H$jå‡155eØ0å]`CCC•kŸ$ïIu7¦qãÆ*å~ø¡Ú2FMytëÖM)ý8 6¤aÆåÖU'666•>Ææìì\©Èt•m_“ˆFˆˆˆˆH¥©£W‡¶õÛÖ¶"Àžñ{°1–¿YþáÀOl[RZ‡`^ÿy iúè§«kWÞk÷^é)òj“žž^®!"R]IJAËÐÒÒâzîu2H¿—Nú½òCug?ÌfðÆÁJõÁƒ‰»Ç}~xÒP ¼½åm¤¥Ò§7Ì ÍY9t¥Zm+ÃÙëgx­ñk$ßIfé ¤ÜIÁÖØ–ÞzÓË]|è©~Š‹‹ß‘šâ™5˜˜¼o^¦¾TDHHH…o _ÄþÃÄäÙf·­)^¦¾TDHH½úÿ"ràÒüOù££­Ã¸VãhS¿ ÷ î@DJŸìú„£E_GŸý‰ûÙ»C]C&¶žHsûæä<Ìá·Ó¿±.rŠì3×ÏðÃ0Ò3bŒïšÛ5GO¢GÜ­86Doà»àïh× Žfš6EoÂÅÒ…i§Q·N]â3âY¹–ÀÄ@\Ñlƒ½c¢oÂþ‡ÍåŸËc]ä:Ü­Ý™Óo¶&¶ÄߊgåÉ•üqöÞk÷ö¦öOŸ¨´(µšòvµªƒ[÷oPXRÈ  ƒxPô@¨Û»“A^ƒXøÆÂZß}y¹¸~ý:¥¥¥¢Q#R£­½cÉ’%øøøTi.5«ªR‘FRÒ]Ö¯%.î6Ri)–Œ×”æÍëªÈ¸s§ÿ8ÂÃo›[ˆƒƒ ƹóÆ¢˜IéÓ'€N˜=»#ëÖ'88™ÂB)íÛÛãç×SSÕ]†ÈÈ›¬_KJJ.ŽŽ&LžÜ ggSFÞÇ!îLúèAîñ¾hzOuúó4Ô¿²ú}÷]{V¯ŽáèÑT¤R:9ðñǾËâbco3eÊa¤R§OgЭÛ6AÎ’%Ýññ±©Ò\j:V"O'13C]Cy R*×ÒÒb´ÏhÂSÂIÈH ¿G.f]ÄÜÐ\É Гè1°É@–_ªTs3‰–„%aòï™L† ¹P"•E¼’}EéšþýƒFb7çbÖÅJõ­o㾂A£ i½¦ÜyxG-µsÀHWžüÐÖØ–?Çü)ô©»[wÜëº3mÏ4ö&ì‘jåôéÓ4nÜX­ä›""šRë>5;vìà­·Þ¢¨¨H( déÒ¥,]º”O>ùD(gàÀܾ}[IÆÆ™8q"ë×Ë=KKK ÁÔÔ”Áƒ³oß>¡íþýûÙµkáááèé=zpñ÷÷gÒ¤IJoÑ6mÚÄܹs ¡iÓ¦Oì‹&÷T·?OBÝñSègbbBß¾}9vì˜Ð~ß¾}lܸ‘°°0¬­­¹wï!!!ܽ{Wø]ñ¹¼þk¢Keƪ:(ÏcÇŽ‹¼õÖ~ŠŠ ¼ÆÒ¥gXº´Ÿ|â+”‡‡ß`àÀ]ܾ­Üïã˜8Ñ›õë_û·2BBÒ05ÕcðàÝìÛ÷èAkÿþ«ìÚu™ðð1èé=ŠGïïˤIÁ”}‰»iSsçv!$$¦M•¢<ÞMî©nž„ºã§ÐÏÄD¾}8v,Mh¿oß6nŒ#,ìM¬­ ¹w¯yýÝ»~W|.¯ÿšèR™±QÂ’BLõMË=ºdf`&´(()ÀÜ ü| 憪å‹"•I9™|²Âû(}65(ÿ刹¡97roT(§<ú—EW[nˆ—ÊJÕ’ñ<øÔ8šËw9;ºtT1ÒfÚÝ4•ëDDªÂÙ³gñõõ}zC‘*P«!¯_¿Î¸qã(**bذa >===Y¿~=S§N¥cÇŽøúú’››ËàÁƒÉÎÎæí·ß¦ÿþXXXpåÊ–.]Š¿¿?={öd̘1‚ü   ,--ùé§Ÿðòòâúõëüøãœ9s†íÛ·óÖ[oššÊG}„L&cܸq 0€’’víÚÅ7ß|S©>©{OMúS•ñSŒ‰‰ óçÏÇËË‹´´4,X@bb"Ÿ~ú)›7oÆÛÛ›£G–( l«ªê¢îXÕׯç1n\ EER† kÄðáÐÓ“x•õëc™:õ;:àëkCnnƒï&;;Ÿ·ßnBÿþ®XXpåÊ]–.=¿,={Ög̘G˜‚‚®aiiÀO?uÅËËŠë×óøñÇΜÉ`ûö‹¼õ–üÈKjj.}t™ ÆóbÀ€†”””²kWß|V©>©{OMúS•ñS| =æÏï‚——5ii÷Y° ŠÄÄ>ýô(›7÷ÇÛÛš£GG•(Àǧü(Ošè¢îX‰¨± IÙIdäe`kl«T{+[[¡íµìkÜÍ¿«bÄ(Ú–ÅÎÔŽ"ik†­A¢]¾Áiid©ô9þV¼J›E¸š}U)b˜r#LÝ£ašò<øÔ4·“ïšg?ÈV©»ý@þ‚­Ž^¹·È«IQQ.\àí·ß®mUD^rjÕ¨ùý÷ßÉÏÏWÙ•:t(NNNÌš5‹µkײråJ6oÞLff&sæÌ᫯¾R’3räH\\\ظq£’ ££Chh(5ÊÜÜÜèÑ£'Ožšÿøã ùì³Ï”àGŻヒ¿¿r$Ÿ'¡î=5éOUÆOAii)‡R2.†އ‡Û¶mcÕªU˜™™Ñ­[7´´´°°°¨0yTUuQw¬jŠß¿@~~‰Ê®ÄСî89™2kÖ Ö®=ÏÊ•½Ø¼9žÌ̙̇ә¯¾R>s?rdc\\~eãÆ8%#@GG›ÐÐ7iÔÈ¢LÿÌéÑc;'OÞšÿø#ÂB)Ÿ}ÖJé~Ô(Þ}7Õ¼ŠP÷žšô§*ã§ ´TÆ¡C#•Œ‹áÃááá϶m‰¬ZÕ33}ºusBK ,,ä¿? MtQw¬DÔ§³Kg.ß¾Ìû¾`É %XÊÇöTÚ)ÖD¬Ú(þMºÄ—û¿dá 1Ö— L dOüÙ}õaÙñe] bz×éJ;'÷ ï³+n­[)]sðòAvÆîBNççóMà7<,~ÈëM^Ú)Žd¥ÞM­®¡(—çÁ§¦½s{lŒm8xù . O£>€| gœ <ÇäD^Ο?OQQQ…/EEDª‹Z5jbbbxÿý÷UêÞÿ}fÍš%´‰ŒŒ`Ïž=>|XøA&“ ¿'&&*ÉhÕª•Ò3@Ë–-ÈÎ~ô–*6VþÐ8aÂ=Æ_)£FÝ{jÒŸÇ©Ìø)ðññQÙ¶¶¶fàÀlذ„„Z·nýÔ~V‡.êŽUM“ù¯~ÍTêÞ¿9³fÚDFÞ`Ïž$NމÉd”™¯%­ZÕSz`hÙ²ÙÙŽ|ÅÆf0a‚òG€ñã½*eÔ¨{OMúó8•?>>6J €µµ!6dÆ8²iݺÞÓºY-º¨;V"ê3¹ídþ¾ð7'’OÐyEg\­\É+Ì#í^2™ŒÍGШ®üo~RÛIüû‡.¢Ãò¸Z¹’ó0‡¹7hbÛ„ ”dOj;‰ƒ—òçÙ?Ù³gKgLôMÈÊËâæý›HK¥øTþ®ö´ñdæ?3ù9äglLl¸–s¼Â<Œt” ¸X¹`¨kÈ_±w+N8÷xžšªRSÆÂÊ“+9~í8Éw’˜t>«ÃW0­Ë4áÞ- ßõúŽ)»§ðÑ_áh戅‘W³¯ò è†bN‘jåðáÃ899Ñ AƒÚVEä%§Vš‚ùùgKKK•: ´´´„6yyyÀ#c <ôõ•Ï—'Wá§!•>: ð 17W=Çmaa¡Rö$Ô½§&ýyœÊŒŸ‚òúXV†¦¹g4ÑEݱª) ¤ÿêa¨Rga¡–Ö£6yyÅÀ#c <ôõ•ÿœ,- TÚèéi •>z[«ð 17Wo UOBÝ{jÒŸÇ©Ìø)(¯eõÖ4÷Œ&º¨;V"êS׸.[Æná›ÀoˆJ‹ C]CƵǧ]>ÚÚÛòÛ›¿1cï .ß¾LÜ­8t´u˜Ðz¬ñU ò¶‘®[ÆlaAÈþŠý‹¤ÛIB¹¡9ƒ½ãUÏKéš!M‡Ðí¿FüJF^ÎÎ,xcõÍë í t øºÇ×üïðÿ¸”u©ÚÇ¥¦¹’}…¨´(¥²²r*¿ èçÑE1ïè<¥Ü<-Z0§ßê™TþÅ‚ˆHEÓ¿ÿÚVCä V{{yÌS§Náææ¦TL&Ú89É ¬\¹OÏòÄèêj¶]¯¸ÇÙ³gUb¨Ÿ9sF#™O£:úS™ñSGQQ‘Š~tt4B™–––ÚG%4Ñ¥¶±·—w9uênnÊÆ^tt2Ù£6NNòœ<+WöÂÓÓª\yººÚUÒãìÙL•sÿœ9“¡‘̧Qý©Ìø)ˆ‹»MQ‘TÅ ?:ZÞO‡GíåëOÎh¨‹HÕpµrå1à`æ TîbéŸcÿ$+/‹ô{éèéèáfå¦â”àeëEà¤@®d_!¯(æ 074'+/‹?Æü»µ»R{c}cf÷™Í·=¿åJöò‹ó©gR[[´µÊ_¯Ó:Ocbë‰\˹†‘žnVnå2xÓ÷M5Ä•ÛWÈ/ɾûšÙ5ã1ÐÀBõ-³¢ÎÙÒYÝa«>êð#›¬°þñqy˜í7<߯ÞÁÌAÅJD¤ª$$$ššÊk¯==ðŒˆHUÑì)¬šP,ò/¿üR8’’ÂÇ @ß¾}¹oÈ}7œœœèÖ­›ðÓ©S'²³³IO/?ôÓèÝ»7_|ñW®<Š„tá¾ûî;d>êèOeÆOAFFS§N¥°PH&“±xñbBBBhذ! > åkllLrr2¥¥O죉.µÍk¯9ðå—¡ÄÆ>Š@—’’ËÇ o_y›¡Cå¿ÿ~''ºus~:ur ;;ŸôôûéÑ»·ü_|•+w…ò ²ùî»É|ÕÑŸÊŒŸ‚ŒŒ‡Lz„ÂBù®‰L‹Ÿ&$$† ÍiØð‘Abl¬Krò=JKŸnÙh¢‹HÕ¨£W‡¶õÛ*%»,K]ãºø:øâeëU®AS–†V in×\P׸.më·UqüW +ÑÅÃÆ__ìLí*4h˜˜Òܾ9îÖîOL*i¤k„·7mœÚùjÌ Íi[¿m¹»ŠºÚ6Z5¤mý¶þT4Žm ê6¢…C‹ZïƒÈËIPPvvvx{{×¶*"¯µºSóÆoн{wŽ=Н¯/îîîèé鑘˜HQQ^^^Lœ8€®]»2qâDüýýqssÃÕÕ[[[îܹCrr2Ìœ9“Q£FUZжm["##ñôôÄÃéTÊ¥K—ðöö&55‰¤zûVG*3~ <==Ù°a[·nÅÝÝ´´4nÝ’g˜ž3gŽR[___Ž=Š‹‹ 4@[[[ÈSSºÔ6o¼ÑîÝësôh*¾¾›pw·@OOBbbEER¼¼¬™8QþEܵ«'zãï‹›Û:\]Ͱµ­Ã;$'çRPPÂÌ™m5Ê£Òz жm툌¼‰§§?–H¥2.]ºƒ··5©©¹H$՛ݻ:úS™ñSàéiņ qlÝšˆ»»ii÷¹uKžÑ|Îå„®¾¾¶=šŠ‹ËZ40E[[KÈSSºˆˆˆˆˆÔR©”Ý»wÓ¿ÿ'¾L©.ju§FKK‹={ö0a´´´HLLäüùó”””0dÈŽ9‚¡á£3òk×®eÑ¢EØÙÙqõêUÂÃÃILL¤´´”‘#G2zôhôH$ìÝ»—¾}ûR\\Lll,.\ OŸ>ƒ¾‰‰ÉS¤Tžªö§²ãШQ#¶mÛ†ŽŽ§NâÖ­[˜™™±víZFŽT>¾0wî\êÕ«Gjj*aaa„„„yjªC—ÚFK öìÌ„ MÿÕ9‡óç³())eÈwމ¡á#»íÚ>,ZÔ ;»:\½zðð$&æPZ*cäÈÆŒ]yƒ@"ÑbïÞ!ôíëBqq)±±·¹p!›>}œ…}“êOYÕþTvü5²`Û¶èèhsêÔ-nÝz€™™>k×¾ÆÈ‘•ÚÎÛ™zõêššKXX:!!iBžšêÐEDDDD¤ææÖ­[5ÉTDD–¬ ùGŒgÞ±c‡ZíÃÂÂ011)÷Mÿýû÷¹xñ"R©ww÷rÈÈd2’’’ÈÊÊ¢nݺ4hÐ@ÉG¤´´”ÐÐP¬­­U’f*êêÖ­‹——×ã¢IOO'-- êׯÏÏ?ÿÌôéÓÙ¸q#ãÆ«°/U¹çÓú£O¿‚‚ 4h»w令¨ˆøøxJKKiÚ´i…A JJJHHHàÎ;”––âãヹ¹y•æ²*cUZZZL›6Å‹WØ&,,½rßôß¿_ÄÅ‹9H¥2ÜÝ-Êu"W “ARÒ²²ò©[× L•|DJKe„†¦cmm¨’4SQW·®!^^ªy(ÒÓï“–vcê×7å矣™>ý7öcܸGãñx_ªrϧõGž6~%.aÐ 7vïLQ‘”øølJKe4mj¾~ù÷+))%!!‡;w (-•áãcƒ¹¹~•æ²*cU–Ê~ÿU–ŒŒ ! ÈÓpskȲeôï¯^û—»ùw¹˜u‘ D§w5Ù¿ß??[’’®<½±Œ1V¬XQ-òD^ ʺAT–gjÔ<ÏcffF»v턲Ç3|øprssIMMUr¢ÑxܨyÙPǨyž NÆÌLŸví섲ÇS>|¹¹E¤¦¾¯äDÿ¢ñ¸Qó2 5"""/ÕiÔÄÆÆ2dȶlÙ¢Qš‘W—ª5âyŒ‰åóÏ?ÇÆÆgggnܸ!8êüñÇ/´A#òü›Å矇`cc„³³7nä ŽúìûB4"""""¯¿üò ÞÞÞ¢A#òLšéÛ·/»wïæÄ‰dfÊ“ôðÑG1þüZÖNäe§o_vïNâĉëdf>ÀÀ@‡>òaþü.µ¬ˆˆˆˆˆˆzDDDpäÈ6nÜXÛªˆ¼bˆFÍ¿4mÚ”ãÇ“““ÃÕ«W‘H$xxx1HÁ‹Š¶¶6ݺu«m5Dž‚¥¥––/Ÿc³¶¶ݺ9Õ¶"""""5ÈÎ;¹xñ"?ÿüsm«"ò R«!EDDDDDDDD^|233ùé§Ÿ;vl•œ½ED4E4jDDDDDDDDD4F&“ñõ×_cbbÂgŸ}VÛꈼ¢ˆÇÏDDDDDDDDDžJnn.¦¦¦*å›6m",,ŒíÛ·S§NZÐLDDÜ©©ò‹óùß¡ÿÑyegÜç»ã6χÅYplnóÜHÈL¨mŸ);cwâ6Ï ‹AjµO¹“‚Û<7¥ÏžtYÙ…Ï÷}εœkBÛˆ”Üæ¹ñéߟ–+kئa¸Ísã?ÿSn}Õ=hüScò _Ý\PÇgôèÑäçç+•'$$°`Á>ùäš7o^KÚ‰ˆˆFˆˆˆˆˆH­°ìø26FoäfîMª[¤ ÅÒbnäÞ`WÜ.†n*6¾¾èIôˆLT¹&¿8ŸøŒx´´´ˆJ‹R©ÏÌË$õn*ž6ž뿚9Ãòóóùꫯ¸té3gÎÊ333™ªE EDªxüìÒ¥K\¾|''1ª‘Híó믿PÛjˆ¼"dggãîî^Ûjˆ¼À½r}Þ ÀÅÒm-ù{ÆÏ»}ÎçÝ>¯eí^:8wà·Ñ¿råBƾþž‹YY¹Žûýˆ¾Ž>Íí›s*í)wRh`Ñ@¸þtúiJJKèݨ7‡.ânþ]Ì Í…z…!Ô¶~ÛgÛ±çˆ%K–9üÙ°a£GæÃ?¤N:,_¾‰DRËZмêˆ>5"/ 6ãáCÇÚVCä•!¢¶yÁÉÊËÂÕÊ•†Vb¤¨êÂP×–Ž-ùªÇWŒß6ž‹Y…º¶õÛr*íQiQJFMTZz=&·ÌÁK‰N¦—{/¥zÅõ¯" lܸ©T ȃÌ;—C‡‘––ÆÎ;133«e-EDªhÔ4jÔˆF±cÇŽêÒGDD#´´´€O‘µ­ŠÈ+Ã5ªmjЫ¡LÜ>‘oz~ƒ¯ƒ/?ý‰Ø[±èëèÓ½aw¾éùÒÛn€Si§Ørn 箟ãæý›ëãëàËûíÞ§¥cËre{Úx²(t‰™‰˜˜ñV: ôç IDAT‹·ø ýüvú76ŸÞÌõ{×q4wäÓΟÒÏ£ŸÒ=e2çØ~~;3/"•Iq±ta´ÏhÆúŽý÷»ãÙò¿CÿccôFbnÄà6Ï­Üv{'îÅÓÆSø\PRÀ¯¿òOÂ?¤ÝMCOGïzÞ¼×î=:»tVûþeÇ׫ž‹C+W+Wvß h6Wꮃ܂\~ý™àKÁääâníŽ_'?µõWòã|uô9­·qjÈw^F4!”G¥FÑܾ9Ííšc¬oLdj¤²Q“…¶–6­ZW«Ž/R©”3f”ûwÏÂ… ÅÓ:"Ï âNˆˆˆˆˆÆÄÞŠeÁ±I‹ùñŸ]q»H¿—Ζ±[„vYyY¼ùÇ›J×ÞɿѤ#„\ á÷1¿«<4ž»qŽyGæ!•IÙ C¢¯£OÖƒ,~øUh{5û*S÷LÅÙÒY0d23öÍ`Oü%¹‰™‰üpà2ø±ßOícãŸ#-•ª5Öu¬‰˜Rý»xÅÒbÆmÇéôÓBY‘´ˆð”p"R#˜Ýg6c|ÇTJæ™ëg”Æ·TV h6Wꮃ’BÆþ9V)BÜ­8Þßù>ý=úWJÿòP?›wd]vêZ8¶@W¢KTê#¿™Â’BbnÆ0¹íd$ÚZ8´PªÏ~˜Í•ì+xÙza¢oReý^4Ö­[ÇåË—)--U*/--¥  €åË—Ó¥KôôôjIC‘GˆFˆˆˆˆˆÆüÿ7c|Çðn›w±5±%þV<Ÿþý)§ÒN‘‘€§­ÜÀÐÒÒ¢“K'ÞiùMl›`]Çš{÷ˆJ⋾`uøj•åþaBë Œo5K#KB®†0mÏ4–_F©¬”¹ýçÒÓ­'ÚZÚ¬ _Åú¨õøGù³àì‰ßÞø=4®Û˜/ºAs»æèëèw+ŽÿúÛb¶1¼Ùp||Ÿé˜}Ûë[¾íõ-¾‹}qµteç¸Jõ Ž-`MÄ¥²Íg6s:ý4ö¦öüÐçÚ8µá~á}vœßÁòËùñðôvïM]ãºjë˜Ȉæ#x¯í{Ô7¯D[î¡É\©»~;ý ™ ¸Z¹òCïðqð!çak#ÖòÇÙ?4NN&ŸTÙíÒÒÒb¨÷PÞiùŽPf c@3»fœN?Mú½tÍ9{ý,ÅÒba§µSk‡.æ~á}LôMçU££ËP×o;oÎ^?KÐÅ K Uv[;µfMøŽ]9†L&{åüi¾ÿþ{òóó•ŒQJJJpvvfÀ€ <˜úõë×¢–""ªˆFM5sòäIfÏžM·nÝ46jæÏŸÏàÁƒE£FDDä¥ÁÞÔž¤ì$6ŸÞÌঃyÒÃÿ(ì¨T7#š úŸhÞÙúS:NÁÇÞ}2ó2¹”u‰€ØÆúŽ¥ƒs‡'Êy|jú{öçÜsLÝ3•úü@+ÇVäåp>€­ç¶¢'Ñ£§[Ïj¹WMÎU_¾ÄÜŒáÿíÝyXÕeþÿñçaGEÜEÄwMs¬\SÓtr¯)K[¾*¹M:MVN‹ÚdãRSjf.©e.ãžM.@îˆ;¢¸ ¢ˆ¬²œßü8uDðõ¸.¯«sîÏýy߮伽·ÑkG3­û4ZToaÚ( ¸ÖÓ¸;º3¨Å –þ¶”ï}o¶a@»Úí8pñówÏÇ`0˜mQ 9ÓçïžoÚ¬áÑJj6²yófà÷DÆËË‹þýûÓ»wo%2òPSRSÌ:vìÈ{ï½wO ˆHy5´ÕP~=û+Ó¶OcÚöi¦òÆiP¥W“®û34@èùP~8ò¯®y5ß:ƒ[ .öç–„Z¿À–ã[Øq?#WÌsý®ïiç³;)ÉŸÕ_û+ë#Öy5’Vü>íË`0ÐÛ§7ÿüï}ÅþG¯µ•WòŸ½ÿahË¡¦µ5íj·ã‹=_pêÚ)¹7ÂÙÎüàÈÖ5[ciaÉ©k§©óiÒÓ“€œ3 êÔ©C¿~ýèÝ»7õêépX),J;€ò¦cÇŽ¼ÿþûJjDDþ ký®|öÌg4ro„•îŽî m5”¥C—bcY2g\ föžIà³tò섳3Ö–ÖÔr©E·ÝX0`êv*‘g7kKk¾ú-¾xUöÂÚÒÚ×iÏ¢A‹Š|FÍ”äÏÊÖÊ–eÖ1¼ÕpÜܰµ²¥±Gc X€¿—1õ GÕŠUÐtWn]aÕ¡U¦òÇj>†¥!gûêü– ÖhìÑ€†UæIzÊ«={–/²qãF~þùg”ÐH™b0ÞÇ ¾s¶Ó\½zu±TÖÝiMMtt4;vì 66–J•*ñÄOШQ#³:S¦LaæÌ™8p€ °nÝ:¢££©^½:}ûöÅÅ%ÿ…ºœÅÃ߃J;yd ä¹çJîï¿ØØX’’’ U×Û»±ôêU¸ú""¶i“#œ>}¦´C‘GØý$Òš~VÌ ZSóöÛoóÉ'Ÿ˜íùn0xå•W˜?~žmO:ųÏ>Ktt´©ÌÍ͵k×âëë[âý)+”Ô<óæÍcúôé úôéƒçÎã§Ÿ~â믿ÆÍÍéÓ§›Ý3zôhlllxõÕW±³³cÇŽ;vŒþýûsüøq*W®\J½y¸(©yf̘äfÕ¿Sù¾}ûðóóãóÏ?çwÞÁÁÁÁt­Zµjá䔳ufff&ƒæÇä›o¾aâĉ¶""""")mPÂΟ?OLL :u2KhÚµkÇÀIMMeÿþýf×&OžlJh gkÅþóŸ„„„”|à"""""e„’švãÆ ¼¼¼ò½ž» êúuóšëÖ­›§nnYn›"""""¢¤¦Ä¹ººpöìÙ|¯Ÿ9“³ËH¥J•ÌÊ£¢¢òÔÍ-ËmSDDDDD”Ô”¸ÚµkS³fMBBBX¿~½ÙµððpÖ¬Yƒ½½=­[·6»6sæLnݺeúœ™™É»ï¾ @§Neã\‘A<S¦La̘1<ûì³ôéÓ‡FÍÚµkÉÈÈ`òäÉf›\¾|úô郭­-?ÿü3¸¹¹ñÒK/•NGDDDDDBJj€Ñ£Gÿþõ/6lØÀ† €ßÏ©ùàƒòÜ3wî\&MšÄ—_~i*Ë=§FÛ9‹ˆˆˆˆüNIM1ËÌÌÀÒÒÒ¬|úôé¼öÚkìØ±ƒØØX*UªÄ“O>I£FÌêuíÚ;;;üýý9vìëׯ'::š5jзo_\\\X_DDDDDÊ%5Å,wC€?/üðôôdäÈ‘w¼¿k×®tíÚÕôyذaÅ ˆˆˆˆH9£ŠÉÆ5jK–,ÁÙÙ™ ”vH""R†E^$08Ó×N—v(""=%5ÅdãÆ|ýõ×dffòñÇcmm]Ú!‰ˆHv,öXNR¯¤FDän4ý¬˜ôéÓ‡&MšàëëK«V­J;‘G†’šbÒ§OŸÒADDDD䑤¤FDDŠ,úF4ë"ÖáïåO‹j-Øw~±8Ø8ðt£§Y¾„–Õ[âïåoº'êzŽmÀÕÞ•{ÁTž™ÉüÝó©ïVŸ§=ýPõeHË!fñ¾|˜Ë‰—q´u¤eõ–4­Ú´À¶ZVoɾóû8|ù0¶V¶ø{ùãéê™o Wn]á—Ó¿˜žH}·útöê\äXËÚ{)NJjDD¤È¢oDˆ¥ s‚æ @& j1ˆoû– ¨ ³/×ë"Ö17d.––ôkÒ';'\<@`p o=ñÖ]ŸûïàcÄX¨+XW`d»;ï8y·¾ i9„”Œ^]ó*{£÷æ¹×ßËŸyýçaomoÖ–½µ=_ìù‚§v˜êZZX2ýéé h6À¬Õ‡WóÞÖ÷¸uÛTÖ²zKžiüL‘b-É÷."ò°SR#""÷lQØ"Rn§ðLãg¨íR›ª«ba° cŽl=¹•[é·¨h[€ ³AÔr©Å…„ ìŽÞMφ=sÊ£‚ð­ë{×çÍÝ=—¬ì¬BÅææàV¨¤æN}HNOfoô^šVmŠ»nn$¦'z>”]gw1o÷<&už”§­¤ô$ú5é‡GE"®Dr.„÷¶½G·ÝLïäðåü³å²²³h[«-Í«5çzÊu¶žØÊ¼ÝóŠkI¾w‘‡’¹g©©¬±¯Ê^få¾u}Ùt|»Ïí¦GÃ$¦%r4ö(o=ñ‹BlúrL¥ •ðq÷¹ëóÆtS¤‘šâè‹£­#«_XMEÛŠüvñ7â“ã±¶´¦g£žÄì‹açéy’šŒ¬ 6ÜLM皦²)›¦°æðÂ.„ñ”÷S|þ YÙYøà`ªà@ßÅ}‹kI½w‘‡’¹gýšôËóÅ~ÿ×ÿàsÁôh؃ÝÑ»ÉÊη®/'ãNš¦MÝL»ÉÑ+GéíÓƒÁp×çõ[¼øƒ‚úba°`aèB¶œØ’ï}×’¯å)Ðt€YBðD½'Xsx ±·bMeûcöcomÏèN£ÍêÖr©Åà–ƒùzß×Eе¤Þ»ˆÈÃî¾’šøøxbbb?~|qÅ#r¾ö”vòÈ8D||Í»W+ç Zø^Ý©:^•½:›3Å)8*wGwViˆo]_~8òÑ7¢9{Œlc6<;êy%±¦&WA}Y°g[Nl¡R…JøÕõ£jŪØXÙ`ÀÀʃ+ÍÖÂäªæT-ßx g~®›i7©Z±*–Ë<õk¹Ô*r¬%õÞEDv÷•Ôœ:uŠ˜˜æÌ™S\ñˆÜ‡ÿÿȃqêTji‡Pê,-ò~ÏÕɳK[ʹçŽ 6"øÖõÅ`0|.˜ˆ+¦²Â(É55õågþ‡•›Gn¦r…ʦr£ÑÈ’ð%÷5ÒálçÌ•[WÈ2fåIl.$\(r¬P2ï]Däaw_IMûöíX½zu±#r¯ ôêÕ«´C‘GĘ1cptt,í0j~uýXúÛR¾ûí;bnÆ0Ás®ö®ø¸ût6ˆÈ«‘Ô«\Ï´(ÿnJrMMA V–VØZÚš•/س€›i7q±w¹ç¶[×lÍúˆõÌ™o6µîBÂVZuOm–Ä{yØiMˆˆ”ˆvµÛaeaŲË0 f£~uýX¶ˆŒ¬ ^lób¡Û,É55iU½G.á™ÅÏе~W~‹ùˆ+÷•Ð¼Ôæ%þù_>þœÝÑ»Ív?³³¶»§6K⽋ˆ<ì,J;)ŸlhU£Yø¸ûP©B%Ó5ߺ¾dde<ôë:|¨ïVŸ X¶˜Åa‹9{Œz~g3€¢j^­9öüKÂ.„±0t!k®¥~•úŒî8úî 䣼¼w‘¢ÐHˆˆY×:øЪF«;ÖÝq4û/î§iÕ¦fåmj¶1maܾNû‹³0îÖ{6¼¼§wrîú9œìœð÷ò§ºSu²Ù$¦%ª­ÜkÍ«57+Ø| ¾ž¾üræn¥ßÂÛÍ›'ê=Áɸ“øà]ٻбæ* ï]D¤8ŒFcá&'çcàÀ€ÖÔHéÓšyÐr×Ô”Ôß±±±$%%ª®·w=céÕ«põEDþlÓ&G<8}úLi‡"°zõêÝó½š~&"""""eš’)Ó”Ô”€O?ýƒÁÀÿþ÷¿ÒEDDDD¤ÜSRs>üðÜCÌ‚ƒK;‘Gš’š0iÒ$ŒF#O<ñDi‡"""""Rî)©‘2í$5·nÝâÝwߥqãÆØÛÛãääÄSO=ÅöíÛMuâââ¨U«nnnœ?Þìþ]»vaee…¯¯/™™™…n3WRRÓ¦M£yóæ888P¥JzôèÁŽ;Lužþy ×®]Ës„ºvíÊÔ©SðóóÃ`0`0L#3­©¹pá£F¢V­ZØØØPµjU† ÆñãÇÍêM™2ƒÁÀÁƒY²d M›6ÅÎÎŽ:uê0mÚ4²³³ ùæáرcôíÛgggœœœèÝ»7Ç祗^ÊÓß?>÷?ÿùÍš5ÃÖÖ–I“&)þ¢¼Ë??wÞ¼y4lØ;;;¼¼¼øðÃM?s‘ü”øá›7nÜÀÏψˆSYZZ¿üò ÿûßÿXºt)ǧJ•*¬^½HPP666\¾|™ÁƒãææÆªU«°²²*t›ñññøùùiª›’’¶mÛØ¶mXY•ü¤QQQ´oßž«W¯šÊbccY±b7ndçδiÓÆìžÿûß,Z´Èôùüùó¼ÿþûdgg3mÚ´»>óøñãtìØ‘›7ošÊ6mÚľ}ûxì±Ç ¼ï“O>aÅŠ¦ÏÙÙÙ÷QÍœ9“•+Wš>GEE1uêTNœ8ÁÒ¥Kï«m)¿J|¤fÒ¤IDDD0`ÀÂÂÂHJJ">>ž+VàââÂØ±cINN }ûöÌš5‹ÐÐPÆOff&C† !..Ž+VP½zõ"·9nÜ8"##iÖ¬7näêÕ«ÄÇdzmÛ6ºté‚Á`(rŸvìØÁ|@PPF££ÑxÇÝÎÞ|óM®^½Š¿¿?ááá$''›úpëÖ-F•çžåË—È¥K—HLLä»ï¾ÃÊÊŠ¹sçR˜3S'NœÈÍ›7éÝ»7GŽ!99™ýû÷Ó¼ys¶mÛVà}?üð³fÍ"&&£ÑÈgŸ}vOñUîs/]ºÄõë×Y¾|9•*Uâ»ï¾ã矾ïöEDDD¤|*Ñ!ŠôôtV¬XA“&MX³f)ppp`È!\¿~Ñ£GDÏž=;v,{öìaþüù=z”]»v1}útž|òÉ"·Ù¹sgV¯^M¥J•ؾ};¦ØºuëF·nÝJ²û&ÉÉÉlÞ¼www6lØ€““7æûï¿§eË–|8?ýôkÖ¬áÂ… Ô®]»Àg&%%±uëVj׮͚5k°³³ U«V¬]»ooï|§‡Œ?ž &ÜwüE5nÜ8³ç:”¬¬,^xáÖ¬YC—.]î¹m)¿Jt¤æìÙ³¤¦¦rìØ1¬­­±²²ÂÒÒ ,,,=z4@ž54_}õuêÔa×®]ôêÕ‹É“'ßS›QQQ¤§§ãïïo–Ðáûì3ÂÃÙ2e íÚµÃ××·HmΞ=›ÐÐP:D¯^½ ¬7tèP¦NJHH>>>¦ë5jÔ {÷îyv ëܹ3ƒ3f0cÆ SYA; Í™3‡}ûöñË/¿äÙNÙÑÑ‘¯¾ú*ßûîǬY³ aýúõ¬_¿ÞT^¹reºtéÂÏ?ÿŒµµu¡Ú*JüE}—¹ Àĉ™8q¢YùðáõI€ˆ™ƒíj·+í0Ê•ÌìL>úù#fôšAÿ¦ýM×:{uæÕö¯šÕ?téû/î§¶Km– Y‚Uά§ê?Å€oAȹüêú=¸NˆH¹Tâ[:»ºº²gÏ>ùä{ì1©P¡7fÔ¨QìÛ·;;;Ö®]ˬY³èÛ·/ûÛßL÷[[[³zõj\]]%žÏƒ?çÕ5¯òΖwHHM`زa, ]hvϾóû¶l?˜•'¥'1|ùp¾ØóEž¶ã’âøô×O¹z$7L$<&Üt_Dlïly‡ß`êÖ©œ»qάݳñg¶l?É™¾œmÌæíÍoóüŠç‰ºeV73;“‰&òâʹœxù®}Ìu=ŠOý”W×¼ÊË«^æƒÉŸ¥d¤ðý¡ïùû¦¿óÒ÷/1fí†.äfÚÍb=K‡.¥Cf×NƤ×Â^ø{ù³hÐ"¤tmÚäH@€§OŸ)íPäv?k¨K|ú™”®ðúë¯ÓªU+¬­­ gÒ¤I¤¤¤hŠˆÜ·o¾¡n¥ºøPÛ¥6Nv9‰øÖõeÅ\J¼Du§œƒ“C΅жV[Â.„r.„A-•³é‹¯§¯YÛ‹ÃÓ¤j&vžˆ«½+»¢v±ô·¥üsû?‰O‰§Oã>t­ß ƒßþö-ûÎïcaØB¦<9¥Àx¹7⃞ð·ã-ï0ë™Yl>¾™Åa‹éÞ »)¡¹[÷_ÜÏûÛÞ§‚M†µF‹j-°±´áè•£,_ÌÔ­Si_§=5k’‘•µ¥5¯<þ =S¹BeÓÙ½WÈ'½?`ÓñMüp$'Ùz¹íË´¨Þ‚ë)×ùö·oùzß×EúÙ„^-tRãæàV¨zWn] =3~‹û™%j?ù~MúñiŸOM;VÞH¹@‡¼£ôîŽ9É$¤&êÙ""w¢¤¦œÛ¶mk×®ÍSÞ¨Q#³ƒ.EDî…»£;?¾ø£iÄ#—¯gNRÌ ƒ¸”x‰¨ëQ¼Öþ5n¦Ý$(*è÷¤æ\0ž®ž¦‘›\õ*×cåð•X[æ¬ý{ÒûIN\=Aè…Pžoý<ïwßT·Ct˜ÛƒÞ5æþMûó[Ìo¬<¸wGw–XN×:¦Ä¢0}³v ÙÆl ZDë­MåOz?IË-ñý6ÛÀÞÀµ‚+›_Ù̶SÛøõì¯Ä'Ç“‘•€¥ á~ŸR·úPÎÈßœ~sèâýûZ¾MúÒ{aï<ÓæîdéÐ¥…Þþ?÷ßÍí¬œã¾Üû% ª4àùÖÏãbçÂÁKY¶ˆuëh_»=[äÌäÈŲ´°ÌÓVnYJjʹuëÖ1{ölÈ¡K‡Ø{~¯i·¬Çk?Ž¥ !çB8{ K Ë~@æôÓÙq?½}z³éø&ƯÏ¢A‹°0nSÐjNÕ¸u›/ÿòe¾S«*UÈ9ÏìÐ¥C¸Ø»°dȳöS2RˆKŠÃÎú÷]ÁÜ݉Š"!5!OsäÊ‘"õ±$ÖÔ´¨Ö€øäø<×®%_ÌG^šWkÀ/§¡O³ú;Oï Yµf…z¶ˆÈ(©‘Ñɳÿþ7 ö, !5Át‰•mjµá׳¿rúÚiZTk‘g+à’´éø&–„/¡gÞ|Þïsj»ÔfÁž2Îo\¡ÚèÞ ;Ál9±…‰'šÝJ¿ÅÚ£kiS3g«{g;gÎÆŸåÄÕøxäœÝu#õßôwÒ2ÓÌ’¿º~œ¾vš)›¦ðiŸOMSâ6ß̺ˆuEêgI¬©éàÙwGw¶ŸÚζ“ÛèÞ ;ÓçiÛ§æÓÞžô~{k{6Fn¤—O/ÓhNØ…0–X޵¥u¡vr¹%5""R"ZÕh…£­#;OïÄÆÒ†¶µÚš®ùzúòÉÿræç7õ¬¤œ‰?ÔÿNÁÓÕ“½r¦½Ž÷Ïᡙ·{­k´ÆßËÿ®íŒl7’í§¶³üÀrVZ…g%O*ÚV$.)ŽË·.“•eÚ¦¸‹wÂ.„Ñï›~4¬ÒÈ™zeomO çfëMF¶ÉG~dÇ©tœÛ¯Ê^\O¹Î¥ÄK4öhlš®W%±¦ÆÒ`ÉÔ®SûÓXþïÇÿ£¦sM\+¸r6þ,É·“qµw5;€ÓÙΙßfþ2“×Ö¼F}·úXYXq<î8F£‘ÿëøT­XµØã‘GO‰¾)""&Kƒ%íjµ M­6f‹íÿ˜Ètòìô@âIÍH5íZ6oÀïX,˜Ýw6ŽLØ0¡P]V°®ÀŠa+Þz8Ö–Öœ¾všs3†Š¶y©ÍK4©Ú€`p‹Á1y5’È«‘Tw®Î¢A‹pµw5k×Ãуo‡~K}·ú¤d¤pôÊQ®&]eDÛ¼Ðú…â)÷àéFO3ë™YTq¬BÌÍŽ\>BòídZ×hÍŠá+ò$)£ÚbRçI8Ø8pêÚ)"¯FbkiËÞ(ôȘˆÈÝèðM)tø¦¿œþŬn|J<æv¢íçm¹œx¹Xûðç÷“_lóvÏcÈwC˜½k¶i=Š÷ oÓ3ŒF#«­fàÒ4ŸÕœ&Ÿ6¡Ï¢>|·ÿ;³XJˉ¸|½ïkÞíö..ö.Ö »@¿&ýò\Ë- =Z2AŠH¹¥ég""rÏö_ÜÏŒ3È2f9‰ƒ‹½ =ŒÑhÄ`0|. ƒñ)ñ;Ž»AgƒèäÙɬ탗šµš‘Ê§¿~Š­•-qÉqügïLuÏÆŸåÍuoâYÉÓÔîŸY,øì™Ïè÷M?&mœÄºë¨é\“¬ì,Æ­G\r‹-¢šS5€béC~ïç^Æœ˜#Ö™•¿zœ÷·½Odl$=ýÑ]ÛiøIC²²³ õL77öŽÝ[¨ºÙÆlþ±ùø{ùÓÛ§÷ëF߈ A•y®5ro”S'!ºPÏÉ¥‘¹g›of@ólu;'Þ:Áúëð­ë˵äk¿zÈùRBß&}±²°2%ÁQ9‰B‡:ÌÚþoäùk›¿òë¿rdâæöŸ‹•…Á,Û¿Œé½¦Jø›á¼òø+d³YºèŽñºØ»0÷Ù¹¤f¤2úÇÑÜκÍì Ùì‰ÞC€o¾u}Mu‹£½Ÿ?Ýq4+Ÿ_ ÀxÿñœžrÚô`]Ä:ÖE¬£a•†,´ð7Ã92ñ+†¯ÀÇÇï}Ï‹îØ÷’´lÿ2N];Å?{üó®u“n'àlçœçZnÙ­´[Å ˆ”{©‘{Ö²zK>îù±i$#—¯gÎT±àsÁøxøy5’ø”xz4èÁÅ› >Ì«í_Åh4²;z7ͪ5Ëó%×ßËŸtù‡ésφ=éZ¿+[Nláí.o3°ù@Óµ·žx‹U‡Vq:þî‹ï›UkÆÔ®S™ºu*/®|‘ð˜p:{uftÇÑÅÞ‡‚ÞOQ­9²K K^Œ»£»©¼m­¶Ì~f6=¿îÉŽS;hU£ÕÛ9ñÖ‰ûŠ#?±I±ÌÚ5‹·ž|‹ª«Þµþ¦Ê= ÓèD¤lRR#""÷¬“g§|¿°?Vó1ì­í Š bT»QGci°¤Cœ¼v’y!óHËLãLü®§\gHË!yÚx¼Öãyʪ;U mͶfå––xTôàZòµBÅ=´ÕPBÎ…°åÄ<=˜õ̬<ý(Ž>ô~ŠêTÜ)²²³ð›ïä|ù7b4ý7À¥ÄK÷ýœ{ñþ¶÷iX¥!ÃZ+Týж¸™v3ϵÄôÄœ:v‹/@y$(©‘{VЂpkKk¯õ8{¢÷–™Fð¹`ZÕh…£­#¾ž¾ÌÞ5›° aD\‰À¯®_ž6l­ló”å&ù^Ã@vváÖ¬\K¾Æþ‹ûHHKàRâ¥<})Ž>ÜiÁ|Qä®Å¹Óz˜Œ¬Œ»¶SÜkjRL;•ÕŸY?ß:Íg5àÄäX,©ãZ€“q'i]£µYÝÜ©~u\ê*F‘\ZS#""%·®/·³n³ëì.Â/„›Ö«4«Ö {‚Î|.{kû»N›*NYÙYŒ[?ŽkÉטÖ}VVŒ^;šÄ´ÄR탅ÁÂߟի\{k{Œ?`¶ÞææöŸ{_Ï¿¹£EEѶVÎ(ÛŸ7=øcÙãµóŽÒ‰ˆÜ‰FjDD¤DäŽ\Ì šÃí¬Ûøyå|¶0Xоv{vžÞÉ¥ÄKtªÛ +‹÷ëhvÐlöFïe‚ÿ†·Ne‡ÊŒY;†I'ñå_¾4›.ö û»'ìB © f£<[ $ü¿áüuå_Ûi,-«·¤¢mE®&]ådÜIÖYÃðVÃéèÙñŽÏ(î55®ö®"úÌâgˆŒäðÄÃfivòìDu§ê„]ããŸ?æŽo`eaÅ·¿}ËÖ[qµw¥[ƒnŧˆ”JjDD¤Dx»yãáèÁɸ“8Û9Ó¬j3Ó5?/?¶œØäݹ$í<½“/÷~Éõžào9¼Üöe…-â˽_òz‡×K¥ž®žx8z°'zm>oc*?=å4š ô|(?ùW×¼šïýƒ[ ¾ïkKk>ìù!£ÖŒbQØ"…ý¾cÁ``ZifIˆHahú™ˆHgkkäöíû_Œ^r§ku¨ÓÁ4½ rvËï¿KRÌÍ&mœDu§ê|ÚçS³™ÉOMÎÙIìÿâüуꃥ…%óÌ£MÍ6Ø[Û›]3 Ìì=“ÀgéäÙ g;g¬-­©åR‹n º±`À:Õ}pÉáýò÷ògÙ°etô숃öÖö´­Õ–ŃÓ«Q¯Òï‘”–fÀÎN»ÏIÙe0jÿD‘‡Nll,III…ªÛ±cFºÉˆ %•ˆ”W‹¹°p¡3!!:øTJO½zõîù^Ôˆˆ”qÞÞœ%5""åÈë¯ßàÙgo1a‚‡i}ˆäuè-cÇzðì³I¼þºÖÒHù ¤FD¤œùðÃ8Ú´Iãùçk°e‹ci‡#"‘-[yþù´i“ƇÆ•v8"ÅFIˆH9cmmäË//3p`"cÇz0gN%ÒÓ5a^äQ–žn`ΜJŒëÁÀ‰|ùåe¬­µW””ÚýLDä!TÔÝÏ ²|¹3fT¦rå,þþ÷xºw×áz"šmÛ˜>½2ññ–L™ϰa‰¥’H¾îg÷3%5""¡âJj®^µbæÌJ¬__Ÿt¾E—.ÉT­šY,í‹ÈÃçÊ+~þÙï¿Ï9¿ªoß[Lž|wwý//%5""åLq&5¹Ž±eÉg¶nu 5Õ‚jÕ2©S'—l ý*)ë²³ ܼiÁ¹sÖ\¹b…½}6={&ó׿ޤY3íp&?%5""åLI$5¹ÒÓ „‡ÛaKLŒ57oZ]"‘Èœœ²©U+ƒ&MÒiÓ& [[}Í“²CIˆH9S’IˆˆÈÃè~’í~&"""""eš’)Ó”ÔˆˆˆˆˆH™¦¤FDDDDDÊ4%5"""""R¦)©‘2MIˆˆˆˆˆ”iJjDDDDD¤LSR#"""""ešÁh4K;1—––Ffffi‡!""òÀ8::Þó½JjDDDDD¤LÓô3)Ó”ÔˆˆˆˆˆH™¦¤FDDDDDÊ4%5"""""R¦)©‘2MIˆˆˆˆˆ”iJjDDDDD¤LSR#"""""eš’)Ó”ÔˆˆˆˆˆH™¦¤FDDDDDÊ4%5"""""R¦)©‘2Í X]ÚAˆˆˆˆˆˆÜ«ÿùs™´§—)“IEND®B`‚fio-3.39/examples/fio-rand-read.fio000066400000000000000000000002751476262051600171670ustar00rootroot00000000000000; fio-rand-read.job for fiotest [global] name=fio-rand-read filename=fio-rand-read rw=randread bs=4K direct=0 numjobs=1 time_based runtime=900 [file1] size=10G ioengine=libaio iodepth=16 fio-3.39/examples/fio-rand-read.png000066400000000000000000001074061476262051600172020ustar00rootroot00000000000000‰PNG  IHDR@5AqNbKGDÿÿÿ ½§“ IDATxœìÝwTWð»ô¥×¥KA4`QbC#ŠKÆ(–ˆb‰Š%*&*bÁ^QD,XT¤+EéÈ‚ )»ûý1:ßJY,‹÷wrrfß¼yïî<•ËÌ›7‹!„Bˆð:„B!Ô6˜À!„BñLàB!„ø &p!„B|8„B!>ƒ B!„ŸÁ!„BˆÏ`‡B!Äg0C!„â3B¼!Ô)ž?~åÊ•ÌÌÌÚÚZX±bE```^^,Y²dÁ‚¼ð¿ ݱc±ýôéSžÆÂI›âìñ£†ê(˜À!Ôݾ}{Ê”)ì/Ê›|øýû÷CBBfÏžÍë P+pÔBÜÃ+põ@)))ÄÆÂ… ÇGl_½zµ¦¦tttxjŽBˆ{˜À!Ô£:t(00°´´”üxíÚµFuͦJMM½~ýzBBBYY™””T¿~ýfϞݷoßVû |ðòòzýúuii©ŒŒŒ……Å¢E‹”••É¢¢¢¸ù:펳+G !ÔC°B=ÈòåË[ý[¿{÷n²þ–-[O¥ P(k×®e2™œûòðð ê+((üý÷ßäáþþþ÷îÝk¶k…ˆˆˆf[8qâ{$BBB>$ªÕ××Ož<™½UUUWWW.ÿã'‹ÅÚµk—  `£8%$$|||ȸü:펳+G !Ô3`‡P’’’",,LüPwvvùFMM­Q*àîîÎþ³?00póæÍdf°oß>Î}‘‰‘   ””ÔîÝ»ƒƒƒCBBŠŠŠŠ‹‹É~=zäééieeET644$“ ²!!!vòäI///---¢pРADµ½{÷’q:99®Y³FTT´ÕĨÕ8Oœ8AìÙ±cÇ;wþúë/â  ÇÆÆ-pùuÚgWŽB¨gÀ¡ˆL.\¸@êéé±§L&SUU•(™7oYmåÊ•D¡œœ\CC‹Å;vì(6öööDM21oooÎ!“•“’’š¶Dž:uŠ(¡R©Dn¤¡¡Ñ4ÎéÓ§7JŒÚ'“ÉTWW'Ê]\\Èò… …³fÍjÓ×á2Ζtì¨!„z6œ‡Ð*;;ûãÇÄöøñãÉòqãÆ?~>þœ’’bllF,KF S ’€€ÀÔ©SÆÅż{÷®´´´¾¾žÉd’»233ÍÖœ0a±M£ÑˆšššêêêêêêÜÜ\¢„}) kkë›7o²7ÒÖ8³³³‰%ÖÀÏÏ/$$„,'6^¼xÁý×)**â2Îÿ‚ûQë¨BÝ&pý ª««Ém))©f·Ùëp '''""Â^²k×.rõÚ¦ˆÇ*ÙÉÊÊ }ýçˆÜ‹Å^YRR²Ù8¹Ô(Nöo—д~II ±ÁÍ×éÀ89èÀQCñ5LàúAihh 2 xÿþ=Yž––FlP(”^½zÀƒØ/8Q©TÎ-—””ìÚµ‹Øž##ÃÀÀÀÜÜ\WW÷Í›7 ''G>¡ÙV:::äü³iÓ¦ 2DGGçÖ­[íŽsïÞ½Ä2NCCùÎäîîN<©©©9`À€Ÿ~ú‰F£©««¯^½:99¹M_§óâd×I£†â/˜À!ôãÒÓÓ‹µ··­ªªŠ-//ž1cFll¬‘‘Qûš¥P(æææP[[iddäïïßî8 ¬«« •••oß¾uvv^·n]»$éèèÄÅÅ-Y²DBB¢¶¶öõë×qqqEEEÚÚÚk×®6mZ›¾NçÅÉ®“F !Ä_(,¶'#„B¡î¯À!„BñLàB!„ø &p!„B|8„B!>ƒ B!„ŸÁ!„BˆÏ`‡B!Äg0C!„â3˜À!„BñLàB!„ø &p!„B|8„B!>ƒ B!„ŸÁ!„BˆÏ`‡B!Äg0C!„â3˜À!„BñLàB!„ø &p!„B|8„B!>ƒ B!„Ÿâu!>C§Ó+++yBõ(’’’ÊÊÊÜ×Ç+p!„B|8„B!>ƒ B!„ŸÁ!„BˆÏ`‡B!Äg0C!„â3˜À!„BñLàB!„ø &p!„B|ßÄ€â  rs…sr„ÊËY,^GƒP—aIK3 êde™¼ŽñLàB]ŠÁ€§O%‚‚$Ÿ=/+ÛŽNý˜1U3fTÔñ:Ä7(,üÍ!Ôÿå]¨KìÝ«-,¯§Wwòd‚ƒ×¡®ÓÖï[ „:—··´ƒƒª¥eµ¯ofoq (ÈZ° ÌÇ'·¤Dpút÷ïExê¾0Cu¢  É¿þRúãÒC‡èxK!nèéÕß¼™§¢Òðë¯j?Ⳇ¨y˜À!„:Kb¢è–-4‡ÒÕ«K(^Gƒÿ•eœ;÷QNޱl™Ju5þ¤FÍÀ?¡NQZ*øÛoªC‡V;;ó:„ø„óÔ©……B[·*ñ:Ôa‡ê‡Ë À¡C…¸DBí£¡ÑàêZ$Iåu,¨ÛÁYBïý{‘ë×¥7l(–”Ä%æj?+«ê1cª]\ œ…€¾ƒ B¨ãýû¯|¿~uS§Vð:žÁ`œ8qbìØ±FFFúúúúúúgÏž3f ±}üøq¢Úµk׈ssó¶vññãGOOÏ_ýµOŸ>D#³gÏîèïZ´e˧Œ áÛ·%yê^ðñ„P+(zúTÂÍŽ.tóçÏ:t¨S»˜7o^vvv§v8ÐÖ®;¶ÊËKÚÖ#Bÿ×¶îСC/_¾ì¤PBmèСþùgg÷òè‘•ÊüùçªÎ¿?±1}úô={ö Àµk×:° 555KKËŸþÙÏÏ/00°[F\š:µrÅ •OŸqi_ôUÛ¸—/_FDD 2¤“¢Aužˆˆˆ®êˆ:dH°0®úÖrrrˆ sss"{€'Ožt`žžžÄfo¼2lXµ€+2’:iR;_CŒzž6ßB2dˆOg„‚êT3gÎ욎’“E¦LÁ{=nÛ¶m^^^äÇÍ›7oÞ¼¹QuëÖ­\¹²¥˜Lf@@À­[·Þ¾}[^^.%%Õ¿ÿùóç3¦³‚FíB¥²tuëSRD&Mâu(¨ÛÀ9p¡F§ ªª6ð: ÔŠ/_¾,_¾üÅ‹dIiiiXXXXXØâÅ‹·nÝÊÃØPS** EEø#ý>…Šê`_¾ˆ‹ãýÓN·{÷î´´4‘¯¯ËtuuMû¦W¯^­þÏ?ÿÙF»zõjbbâåË—¥¤¤àÂ… ÁÁÁ„þ8„Pc±Ÿ?íæêëëÉÉ0ëÖ­(**vÙÑ!v˜Àõ¥¥¥^^^/_¾¤Ó颢¢ÆÆÆsçÎ555mTíÙ³g/^ÌËËÓÖÖ^±b…¶¶v³ÓÑZm-;;{áÂ…Äö… ÝÝÝß¾}«ªªúË/¿L:•½Ó°°°K—.‘ª««wÖY@qJ¥^¼x1((ˆXÈ·´´TJJJEEÅØØxܸq#FŒàu€!N0ë nß¾½páÂÏŸ?“%AAA®®®7ntuu% ]]]7mÚD~¼pá‰'šNG㦵êêjòÀ'Ož899‘‡Ÿ?~ÇŽ...ÄÇýû÷³?àFtÚ1_!ðöíÛ¦…M_¥eoooooߨP@@ÀÖÖ¶Õ pÞÞÞÿ%B„PgÀ9p|/>>~úôéD¾5þüÀÀ@EEE8pàÀ±cLjjááád"5qâD??¿½{÷:99µ¯5v«W¯^µj•¿¿¿µµ5Q²oß>"Ÿ ß²e Q8eÊ"ìès€BýXð ßsuu­««€Ñ£G_¹r…(upp€¿ÿþ{åÊ• ÅÃÃÅb€††F@@ñÒk?ÿü³­±²bÅŠÝ»w€±±±¡¡!ÔÕÕ¥¤¤ <˜ìTKKËÏÏOPP„„„;ó” „B=&p|ïåË—ÄFzz:¹h\yy9±QPPžž®¯¯G”Œ3†ÈÞ`üøñíkýIßÞ®L£ÑÈÂOŸ>Ù©••‘½y¡!„Bíƒ ß#×ÛÌÎÎÎÎÎnZ¡¤¤jjjˆÄ»›n·©5vJJJĆÐÿÿ8ÞÈN%%%9tŠB¡6ÁŽïikk€]³·&ûôéššš@üŸðþýûöµÆ% ¢»ôôt²0--ûB!Ô>ÄÀ÷È—O‡††ÊÈÈX}cnn^PP#-- “'O&ª=xð ::¾|ù²wïÞöµÆ%òîêÇÃÃà¶¶vÿþýíÿ¶!„ÂŽøúúZ}X‰mÕªU£F€âââ 2DSSSVVvîܹ="ÿã?z÷î Ç0`@¯^½È[œ$.[ãÒü¡§§ cÔ¨QD§ÿùd „B?4LàøF^^^è÷¢¢¢@TTôÁƒ»víRSS€äääÈÈÈÜÜ\))©ùóçoذ8\BBâñãÇcÆŒ€úúúøøøÑ£G?~œl_\\œûÖ¸$%%õäÉâaˆ†††øøx+++OOÏ9!!„Ð çÀuw!!!-í"R.Ù¶mÛ¶mÛ²²²òóóEEEÕÕÕi4Z£õ>444?~œ——§¥¥¥¦¦æëëKì¢P(ºººÜ·Ö«W/20bƒJ¥’…ä{xˆšìÖ×דÕÈw? „Bˆ{˜ÀuwäZÜÐÒÒÒÒÒjiï… ttt¬¬¬zõê©©©[·n%výüóÏÄj½\¶&..Þ40AAÁ–¢íÕ«Ñ) ·éK!„B¨Là~ ¡¡¡²²²zzz>|hhhÆ~/!„BÝÎû,]ºtâĉååå±±±©©© RRR¯_¿600àutµ¢°ð‹»{rdä'^ÒX· ¬‘Fq6ú˜•Uåîžüúõç–hs¡Îƒ ÜdĈwïÞ-//OHHOII)--=wª*¯CC¨utz»û»n˜tÛÀig£YY•îîï^½*îÀ.Bo¡þp$$$È' â#ÊÊÔÕ«n)ûö ´³ëErãF–‹Ëëº:&ÙÅäÉîîïz÷–&¸FqÙ,çØšuôh2‹Å鉋 .]ÊíIMÏ'ÔÖ2ýõÅË—EÄG!!Ê–-& ê««Ë–½Œˆ(boÇÒRùøñATªP³m¶:F¡öÁ!Ä—Þ½+[»6º¡eb"gn._YÉxô(ÿÕ«’•+#oÜE¡@^^õâÅáååõ¦¦ò¦¦r""II¥E¿ýöòáñ’’_ÿõ;>­²²ÁÖVSY™úæMé‹…;v¼;VUJJ>oÛöŠÁ`YX(öï/ûùsÝýûù'N¤´çf¹Œ­‘cÇ’ Nœ¢¢(÷ \KaWW7ØÚj*)‰½ySúòeÑîÝ ††2DBVUUQÔ¯Ÿ¬‘‘Œ¢¢hyyCTÔ§°0úñã)NN}›¶Öê!„Ú 8„_:{ö}Ckñbý-[LˆT`ãÆ¾vv!¯^•DD ªtútjyyýΦóæé’G]¼˜¾gOB``޽ý×7ˆÔ×3ïݳ&onÚçë›]¶¶O[ s³\ÆÖȪU}Z½×j`œÕÔ0FëéIÏŸOÛ»7ñܹ4"“”öñ%%%[\\\+,,8a‚ZnnÕ“'Í&p­ŽÑŒ¡&p!¾[,(HY¿Þ˜¼#''òûï†[·¾Š-:T)<¼HPRRRwüx ‹Å"RŸªªHLü ð5I²³ëÅ>ÍËÊJÅ×7‹N¯!>¾zõ™JúãC²‚††Ä¬YZgμççf¹Œ­2‰ìà†ŒŒHAÁƒÅžÃåæVý§ÐÛ[ÌËÉùX—W---B||ú´@LLðÞ=kQ²Â¥Ké-ÍfkuŒBíÖ¶nÈ!àããÓ9Á î‚B¡¬]»öðáüu¤™3gò:„ŽôÓO 9‡¿Ý¼ùëÂÔ¥¥u§O§»`Ø0š·w¦––„­­&ûÉÉeÄ“Ü0@.((÷Ô©Tò.j~~µOÖ ¾}±uÁ¸ÀÀ\}ò.ê… iÅŵcÆ|}Y …B¢°¯uâá‘RVV'++Òlk­ŽB¨ÝpBˆ/-YbpçNî¹si11%ÊUV6<~\PRRkf&7dˆ¬XÑ;88ýú˜ ÒLM夤„‹ŠjSSË?Ÿ??L]½ñòfÍZ´HÿμC‡Þ>^Ø¿¿ÜçÏu÷ïç}Ë`8&Sµ/¶.˜G¥ ÚÚ†Œ¯¦¤$öömixx…K–è{ OLüüË/þY bc‹ß¼)m){.Æ!Ôn˜À!„ø’±±Œ›Û Í›ãâãKâãKˆBb1⎞††Ä•+#Ö¯IJ*MJ*%42’á2{SS¹;MwíJˆŠúõ ÌÌäFV=|ø­¸xûÿýìØ:ƒƒƒþ³gô€€â#±¹¨ÛêÕ}^¾,zÿ¾üÂ…4bïîÝ®]ûÀ¾š»VÇ!Ôn˜À!„øCÓ÷lN˜ 6l˜RX=7·ZDDÀÄDÎÂâ»sÆÆ2wïZÇÅ'%•ÖÔ0TT¨††ÒFF2Ä^--ÉÕ« øî¢°ÿÿ¯¦;w®Î¨QÊ!!•• Ä›¶o l)4 ŒËf9ÇÖÅÙlØC†(-[fðìYaJJ™¸¸•• û³´²²"AAcž<ù˜™Y)--biISSg2YååuͶ \ŒB¨}(,ÎS*¾GÌ¡Á9p=Îë‘:êï/N¯¬¬äPA__ÏÝncéIJ*íÛW–¼b””T:kV¨¤¤ðË—=ŠPçqtT€£Gé¼uIIIeeeîëã8„âäÈ‘w>T˜›+ÊË‹ddT†„0¬… u1{Cñ&p!ĉ‰‰ìÓ§YYÿ__cút­ß7äpBu6^ÀOþý÷_ …òôéS.ëoÚ´‰B¡¼~ýº3ƒB]âßB®‡6m pè{„Õ«BBÆKàÈYe—.]êׯŸ˜˜˜––ÖÎ;™Ìÿ¿Jyþüù åÓ§Oì…¥¥¥ÚñððèÓ§•Jíß¿PPTUU­Y³FMMMLLläÈ‘ñññd#MçÀåääüöÛoššš"""***öööÉÉÉMÃ>~ü¸¡¡¡˜˜˜®®îž={È]Ÿ>}Ú¸qcïÞ½%$$TTTÆŒsóæÍ6­íŠŠ@S!;ûÿ…aa $#FÛÉù9«ìÒ%è×ÄÄ@K vî¶¡‡ùóBï‡þká·¡ÿ;ЧP©Ð¿?TUÁš5 ¦bb0r$° }3sàrrà·ß@SDD@Eìí¡¹¡‡ãÇÁÐÄÄ@WöìùîÛ}ú7BïÞ !**0f ܼ ={èBu¾œwôèÑóçÏÛÙÙÙ...L&sçÎmmçßÿ½zõ*±˜˜hgg¶aÆ/^…ÏŸ?·±±IOOkzxFFÆ!C ‰t:ÝËËëöíÛOž<177'«¹ºº^¿~>`i 3g³g "?ÂìÙ ¨7n€Ç?“G·¡‡ìlpq&Ú>ôðï¿ðmè!1ìì , 6l€oCÏŸƒ ¤§CsC0d|z ÓÁË n߆'O€mèÁÕ¾ =ddÀ¶m’߆llàÛÐCu5Ð鉉Ѓ‡!„Pá³+p„k×®¹»»ççç———{zz ;v¬W­üýýO:UXXX\\¼y󿆆†I“&Ñéô”——øðÁÚÚ:??ßËË«ÙÃ׬YSXXhiiSUUõæÍ;;»ŠŠŠß~û½ÚÍ›7<˜ŸŸ_RRríÚ5yyyOOÏÇ@~~~tt´‘‘QdddUUUqqqhhèŒ3ør\Ú`È8x¢¢`Ý:hh€9s ¨¼¼@M­•¯]wwÈχòrðô!!8v¬=W­üýáÔ)(,„âbؼ`Ò$ ÓáÁ(/‡ÀÚòó¡…¡‡5k °,-!&ªªàͰ³ƒŠ ø~èáæM8xò󡤮]yyðô„Çòó!:ŒŒ 2ªª ¸BCaÆ èñCB¨#ðå¸íÛ·;::ÛóæÍ»uë–¯¯oNNN¯^½ÚÔÎŽ;–-[FlïÙ³çìÙ³EEE=8p HIIíß¿ßÂÂâíÛ·M­ªªºwïF ’––cccooo33³×¯_§¦¦öîÝ›¨¹víÚ?ÿü“Øž;w.ƒÁX°`¯¯¯µµµ‚‚•J77wÛ¶mT*õÆÆÆÆ“'O.//ok³|):rsÞ¿ç6 û~è8ä-Tâþc£ñjnèÏl£Pš)iÚTÓ mBBho¹¹°mP©pãÃäÉðƒ }»ÄçÇÛ_µN æu œ\»jÕÞþªý—†/d!½’nÕ~ïã½*§Û_µ_}kuEmÛ AýØø2ãŒF£@FFYR]]Ù±½hkk ={öŒ=Ùb0<}}}²ðþýûìÞ»wôôôÈ)))[[ÛÝ»wß¾};""âÎ;{öìéØh»£aÎPR‚Çáý{X¼¸Ú¤Ñ؆ª«¡£‡´µAHž=û.Ùb0àÁ¶¡‡ï‡îÝ`z’[[ؽn߆ˆ¸s~„¡o¯²/eQ9QË?ò:e—fï{²/:7:*'ŠÉúöÿ¥þKTNTrÑwÏ)û%ú­ X“õ9kíȵR¢R],Bˆ¿õÀ®oß¾°~ýúäääšššW¯^ÙÙÙåååul/'N¤ÓéS§N‹‹«®®~÷îÝܹs“’’ÌÌÌÈ pàæævèС‚‚‚ÏŸ?{yy­Y³f̘ÑÑÑ“&MòóóËÈȨ««+((ð÷÷€>tl´ÝNCÌž Ÿ>Áõë°v-¬Z~~pðàm¶o_€õë!9jjàÕ+°³ƒŽz€‰N‡©S!.ª«áÝ;˜;’’ÀÌ Ø†ÜÜàÐ!((€ÏŸÁË Ö¬˜1 :&M??ÈÈ€º:((€?ô=Ú¶àm}h}z+önµæÕWWï:«J©z/ðÖUÐí‚ØB= _>ÄÀÙܹs·mÛöâÅ ###¢D]]}ܸqĵ±äææòÓO?‘…’’’gΜa¯fgg·~ýúõëד%óæÍ³¶¶ƒq÷îÝ»wï²×§P(öööj·³i<{®®0jÀ¡C›6ÁàÁ0bDû›;¶mƒ/àÛЃº:Œ=ôàæ‘‘lC’’ðýЃ¬_lCóæµ5ƒwïÂ÷C ôø¡ï¹ü“ü£r¢þô'çš§#Nxz@OAïÊÜ+4IZׄ‡êazà811±û÷ï?^\\\ZZzÚ´iáááJJJÕ>9}MWW7&&fÉ’%êêêBBB4mΜ9ÑÑÑì‹ÀÀ¦M›Ž9b`` ""¢££³{÷î‹/» t÷îÝ™3gêèèˆŠŠª««O™2åÑ£Gvvvmwäï”)°aÃ×aaðñ99˜=»ùç¸$&÷ïÃøñ .ÒÒ0m„‡CÇ ýÿ§¯éêBL ,Yêê $4Ì™ÑÑðýÐæMp䀈èèÀîÝðmèaÐ ¸{fÎuu˜2=‚ž=ô¤°²ðßЗÜXâxË1àM@£%„’ “÷>Þ»ÂoÅï7ß÷dßú›.ésÍç½÷®ºÂ@Ñ€sM·gnž0¢yÍóÂì !Ôn”6-Ÿ6sæLðññé´xºµíÛ·ïÞ½;""bðàÁ¼Ž¥sQ(”µk×>|˜×tÛ·ÃîÝü<ôõ÷—N§WVVr¨ ¯¯çîN·±áT§Â>„9ÜpX2hIÐÛ ÂÊB²|bŸ‰î¶îÄoV~‰~Îwý³v𗃶}m[jvדÁ¡_Yªì »œcsºí”T´8HXPø— ¿¼£¿KXŸ .,NìÍúœe}Êz˜ö0C%à ÑÌÔÌÎÏ:/-&͹M„Ø9:*ÀÑ£ÿáW\Ô½IJJ*++s_¿ÞBí$yyyÄ»¶´µµy êZyy_ßµ…Cß \й¤#¯³väZ% ¥7ô7g"ÏÜK¾ç«ë;³ÿL8uþ´p˜ö0!¡ÌÏ™oË¿pz¶7*'Šs§(¡È9¤ðÌðÀ7×ç_æP-2;2<3ÜDÕäòÜËdn‡Bíƒ W~ÿý÷S§NÀÈ‘#Û” #¾÷ûïpêÀÈ‘€Cß (I*ùýêG¦ÀhýÑææó½æ{¿ö&8!¡Þн·ÝNÖ_d¾ˆó"Wæ^á|#‚sZVÛP»íþ¶yç TÈ¡ÈQåJkJÓ>¥%$ ÒĹ2Bq† ·äåå---=<¼Ž ñ>…ŠBñqqq''§   ‘©S§zxx0™L^…º&p!„ÿÑÓÓóòòrvv>zôèâÅ‹‹ŠŠxêR˜À!„B|I@@`ñâÅ>>>yyy¶¶¶ ¼ŽuLàB!>Ö·o_CCÃyóæó:ÔE0C!„ø›””ÔÙ³g§OŸ¾fÍš›7oò:Ô0ooo++«×¯_ó:ƺm`üÅ;ÚÛê«×9Ýî4vÛÀBüHPPÐÅÅeùòå›7oöòòâu8¨Óa999¡¡¡¥¥¥<ŒáÊ•+VVV‰‰‰ì…Ý!° §$'45´´š§ãûòŠÕ?V‰yßo7 !ÔÃüùçŸkÖ¬Ù±cÇÝ»wy ê\ø*-˜={¶¹¹¹™™cÈÊÊ -++c/ìõ³-f›k››iòt|K²BSCËj¾ßnB¨çY¹reii©“““¼¼ü!Cxê,x455­¬¬ºá;Iºm`üES^ÓÊÐJV¼ÛÆn¹™xS¿~pÊ׉ۉõ÷ë»?wçmT(&7æ×뿚6ë°ÿÜ«sŸg<çuDˆlÞ¼ÙÚÚÚÑÑ1??Ÿ×± ÎÒWàjjj<<šš:uêÔ+Vx{{{xx¸¹¹±_ë ½yófzzº¸¸øÀ—/_./ßâ»± Æõë׃ƒƒétº¼¼ü˜1c.\(&&Ö¨ßŠŠŠ“'Ofee©©©988Œ1‚¨°~ýz???ptt$Nˆ™™™››[ÓÀ¸ì¨Õ³Ô±jêk<žz„¦„²€5Ò`äÊÑ+Ý»'¬ ¡²oòßXߌOÂ‚ÂæZæËG-W–þ64a§¯E^;ûëÙzFýñãi…iÊÒÊ‹†-Ý§ÉørÑHM}Íé°Ó©ôÔ©fSWX­ðŽööxêá6ÇýZWhjèÍØ›éEéâ"â{ \>j¹¼DËãËd\¾œL/§ËKÈé3fáÐ…bÂßNû·~+¾Tœ =™Uœ¥&«æ0Âa„þ·ñ½±Þ/ί9'ÄLÓÌmŽ[ÓÀ¸ì¨Õ³„:ULnÌÏ9ë,×­¶²³ûz–ñl©ÏR“A|ŒÎ‰^|c±»­ûÄ>;»kÄ×8`ggçèèxýúuaaa^G„:^§'peee£FŠ'>ùøøèéé…††Ö××…L&sñâÅ—/_& rwwðàÁÀàÇ¡¡¡·oßÞºukuu5QçÊ•+ÞÞÞ3gÎlS#¾¾¾...µµµÐ·o_h2ÕŒÁ`,Z´ÈÓÓ“lÇ××wÿþý%%%;r®ªªj„ ÏŸÿÿ×booïcÇŽ=zôˆF£‘ýúøø¸¸¸ÔÕÕu.\¸pôèÑU«V@|||ff&4z^¡Q`\vÄù,u¸²š²QÿŒŠÏù6¾ñA>1>zJz¡©¡õŒoãËb.¾°øòK¶¡‰râþ`݃½À‡¢¡©¡·noõßZ]÷-òˆ+Þ˼gšÏlS#¾±¾..µ µÐW­/4™jÆ`2]XäÁ6¾±¾ûƒ÷—¸• 47¾µUÜ&7>³8=¯Ð(0.;â|–‰ªIÚ¦4^GÑ1êõÿÅ`2,V [!H¼wåpØáí÷·Ò%.,ÎëQ·F¥R?>uêÔcÇŽ­[·Ž×á Ž×é ÜæÍ›ããã5557nܨ««›’’âêêÚ(S9pàÀåË—uuuW¬XaddT[[ûàÁƒ3gÎØÛÛ¿}ûV@àë}^ggçÉ“'Ϙ1CRR200ðìÙ³›7o&S.Ù¾}ûĉgÍš¥®®®©©Ù4à={öxzzŠ‹‹ÿñǃ Œ=yò$‹Åjö nÙ²åùóçJJJÎÎÎFFF™™™ÿþûobbâï¿ÿN\W#ìØ±c„ sçÎ >sæÌºuëÆŽkhhxðàAww÷óçÏ»»»›˜˜@³·M¹ìˆóYêp›ý6ÇçÄkÊkn¿QWI7¥ Å5صQ¦r øÀå——u•tWŒZa¤jTÛPûàíƒ3agìÏØ¿ÝõV€òm|o:Oî?yÆO3$E%ãÏ>;»Ùo3™špÙÈö€íûMœe1K]V]S¾¹ñ½³Ç3ÂS\DüÑ Ò$( ›{2ô$ Z_ÿ-ÏÓž+I)9Op6R5Ê,Îü÷þ¿‰y‰¿_ùÝï¶ñ Ü1¡ß„¹ƒæŠ ‹'Ÿyvf÷º±Æc U Î<èþÄýüóóîsÝMÔM ÙÛ¦\vÄù,¡žäE拼²< M‹-Ö[ˆ’•ÃV¾¥¿½ŸrÿaêCÛ¾¶¼ uººº6lسgÏÏ?ÿLüpA=Iç&p —/_–’’zùò¥ºº:ØØØLž<™ýO‹Å:t芊JLLŒœœQhgg'''·ÿþˆˆˆaÆ… ,8{ö,±ýË/¿¼ÿ>44´°°F£q߈­­­OK3™Lwwwaaá§OŸZXXí8;; 5s®Ο?/&&öüùóÞ½{…³gÏîÓ§Ï­[·èt:ywòäÉdš5mÚ4UUÕ;w^¼xqß¾}¦¦¦:::0`Àò¾j»;âp–ZúÖíÖÀl¸üò²”˜ÔËÍ/ÕeÕÀÆÄf²éd“ßïÃC*2*1Åȉšvrârûïíø1LïÛøYpö×o‘›þòžþ>45´°¢&Eã¾[3[Ÿß[_Óý±»° ðÓ O-´-Èvœ'8 47¾Ì†óÏÏ‹ ‹=w~Þ[ùÛi7ŸÝg[Ÿ[¯oÑËéä ÜÉý'“iÖ´ÓTeTwí¼~qŸÝ>SMSEÐky_µÝq8K-}랤üKù¡°C÷Sï—)7P4X=bu£ ‰§]š¶zÄjbW؇0‡[­·öUé{8ìð›‚7º º·Ýb±X¾ ¾7n¤¦0X y9fsæ ˜G¡PˆvX,–_’Ÿo‚ora2ƒÉÐSÔ›c6gFÿ'_ž<v‡&6 “®ùEçD@£DͶ¯íý”ûQÙQ˜À!nÌ›7ïîÝ»;vì¸yó&ùÇõ ›À}øð¡ªªjúôéDöF000>|ø“'OˆEEEJJJÄU"‹E\ë"^ë–œœLæ^öööì8044´¸¸˜F£qßÈÂ… 9\RR2vìX2{#HKK·T¿²²râĉdR 3fÌ8yòdBBÂØ±c‰BövîÜÉýkO¸ïˆÃYâ²/î}(úPU[5}àt"{#Ð †ë’üm|?eU)I)Í<ùmh€EEü1™Ì½ì¹ÖÀÐÔÐâÊbšûFå8¾EJªJÆ%³7‚4µ…ñ-úPY[9±ßD2©I…?Í8z2!7a¬ñ·ññýøŽpØ´3!—ëñåº#g‰Ë¾øWmCí¼kóÞ¾#>&$-¿¹Ü¦M«ÆåÅí²ŸÁb“Åd±XN·Þ’ “]¸¼£¿û{âßÀb±Ö®½óîY!ñcbâÇD 6lxÀœ¾Ö,E ÅLj–öf}΀ÞJ½Ù ûÐú@ViV›"A?,;vØÚÚM™2…×á ŽÔ¹ \MM 4wC¼H•••PTTôøñã¦-s¹ Ñc"""À`0ÚÔˆ†§‚‰€9Ôa÷åË—¦‘%Ä^B£“@T ºëØŽ8œ¥WSWÍÝ$/’@em%U=~×ÜÐÔ±ï÷ˆŠñóûF4ä8Žo} (Jr=¾õ_šF–{ NQè®c;âp–z¼Ë±—ß¾ÓUÐuëb¦nVR]r&âÌÕWW[=ð^ò½™¦3— ^ÖK¶— €à­¤[o • 7ŽÞhªj**$šT´ëÑ.ïxïýg Pà›è{çÝYªìzËõVzV²TÙ´Oi^¯½„…W[9¸×à®yˆ¡²®dÄdØ ‰_*:µkÔ“ôéÓgÚ´i‡²±±iöVâS;–jjjðêÕ+öB&“I>Óêêê ÅÂÂÂÕÕµi ÜtÄ}#œ¯!íDEEÕ××sóØŽªª*ÄÆÆ2™LršDGG÷¯Oˆ‹‹c¿=CtÇUKÓìÚÔQWR“U€WÙß/‹ŸË6¾²ê ÅBÛÂuzsC£ÌÝørÝH+ã+«N¡P¢2¢êõ‚\Œ¯Œ*ÄfÅ2YLršDgF÷¯OˆËŠc¿=“Ct÷5*hm|¹îèGœL¡PŽO;n hâ2â;ÇïÌøœžÎù@35³½ö’6|}/̾@“üzÙÒBÓâð/‡'œðèý£êüýàˆí‘áÚÉ &ª&&ªmžB”²1¥­‡°kö ‡?EµÄÑÑÑßßÿÎ;¶¶xç½çèÜuà”””LMMãââöíÛÇd2 ¡¡aëÖ­iiÿŸ2¢  0jÔ¨¸¸¸ÔÔÔaÆY}£¥¥uÿþ}.oüuH# //?räÈôôô¥K—–””…•••ÿý7Ó/8pàÀäääM›6Õ²X,ww÷‡ª¨¨˜šš’5÷ìÙC$m••µzõj7nQ")) ééé-Æ}G]IIJÉTÓ4.;nßÝ}L˜ [ý·¦²¯¤Â¨Þ£â²âRé©Ãô†YZÿi)hÝsŸËÒÈKÈ4™^”¾ôÒÒ’ªoã[[ù÷¿‰ø›~Á½&$oº¹‰x¨–Åb¹?vøö¡ŠŒŠ©&ÛøÞÙC$mUœµÚk5Œ3þ6¾b’^ÔòørÝÑ,«4KYR™ÈÞH–:–­8\{8{fÿ¾è=ƒÉyb¤áÃÞ®½ \ \ &œùåù^œ.#&Cfo¼"%*e_¾[ÿ¹¼¶¤Ä¤xâOêêê666äôhÔ3túÕÔÝ»wO™2eË–-nnnZZZŸ?611ILL$Wå8zôèˆ#–/_îä䤫«+&&–™™I§Ó`ÇŽ\.`Ó!€››Ûˆ#._¾|ãÆ ===AAÁää人:gggöK_¤Œ7îŸþ9wž^vv6ÑéØ/Vkhh <ØÀÀ@TT”hÐÌÌlöìÙÄÞÀòåËOœ8!..N¬×¾ŽºØnÛÝSŽMÙâ¿Åí‘›–‚VƧŒÏÕŸMÔMóÉU9ŽÎ=:ÂuÄò+Ë|œt•tÅ„Ä2‹3éåtØñËn®„uT#à6Ûm„ëˆË//߈¹¡§¤'( ˜\\×Pç<Ñ™ýÒéÀŒãûçþ?瞟ÓSÒË.É&:=0ýûsrƒ÷6P6%4Ó4›mñm|5Àò+ËO„œ'Ök_G¨d©ßÝà&’õfï;“kßtˆÿ8NKN R‹Rª$ “ “@KV«ãÂD?„E‹MŸ>=>>žW¿ð£×éobøå—_.]º$//_XXÍd2===‰[‡Äe'èׯ_dd¤MUUU|||dd$N700puu%¦pq£C€<{öløðá_¾|yóæMBB‚˜˜Ø_ýÕì"p`mm¤¯¯_RRM§ÓÕÔÔ®\¹²`ÁöjGޱµµMIIIHH¨««³¶¶¾wïØÈ‘#-ZT__Úì ì¹ì¨‹ýbúË%‡Kòò……Ñ™ÑLÓs©§ºœ:HŠ~_õ~‘["mLlªj«âsâ#3"éåtšëtW!®Ç·#€½:3:45´ÙØsÙÑLKV‹^Iÿé={aXFX[ÛÑSУ S_­{•¶)­ÑǦ#*”})kéÎ,‘èwÁ¼C M `Ø‚ü8¨× Îîõ0¦¦¦·nÝâu ¨ÃPÚ4£‚xÆ“Ã2-©««KJJccc&“©««K¥R322U+++KKKc2™ÚÚÚJJJdù‡²³³ÍÍÍÉœ,´°°hw#“““žžnffÖè9:ž‘‘!##£¯¯Ïͼ´´4â }úôa¿_³iÓ&WW×W¯^™™™åååegg«««÷êÕ«i ………éééµµµ²²²fff-ÖRGm:KœQ(”µk×>|˜Ëúu uIùI`¬jÌd1u7ëR…©û›ŒoMYZa“ÅÔVÐV’bš¢Ù%ÙæÚædÎGZh[HˆJ´»È)ÉI/J7Ó4kôœ½œžñ)C†*£OÓçæ^Zañ‚„>*ßïÍM®Á®¯¶¿2Ó4Ë+ÍË.ÎV—Sï%ßÜøV¦¦×6Ôʊ˧ä)+ IDATšišµXKµé,5«Ý¡ÓéÄcC-Ñ××sw§ÛØpªÓg"ϸ†¸ê*èî·ÓTÍ”ý!†cÓŽM0œ-/#²Øb1ÙÎÍÄ›ÎwœMTM‡;š©™I‰JV¦¥ú&úÎ0o˜ö0ŸŸÍw7ˋ˯µ~”î(1™ôât¯W^¶ýliJ/NfüP­¡G§mtm¯cÕ3ê­OYç—ç ù ]޽|8ì°U.ôP\È÷Gãè¨ GÒÛÝ‚‡‡Çùóç#""ZºxKRR’\Œ]qkæðáÃK—.%^‡P^^¾råJ:¾|ùò¦5edd~ú駦庺ººººÜ¶µÐÔÔlvE_eeå6J}}}}}}ÎuÔÕÕÙWTi„F£±O×k)°–:jÓYê@‡^:r)ñ:„òšò•×VÒËéËG57¾T™Ÿ´š%]]¥&‘7WØÖF@S^³Ù}•¥•ÉÅÕ¸¡OÓ×§µ6¾²êì+ª4B“¢±O×k)°–:jÓYê‘þ´0ðMà»Âw ¼¾^•¤P(“Œ&±¯÷Á »~vQÙQ7o.ó]Öh×lÓÙ0ÝdzhzhpJðÖ{[Ù÷ÚÙ€¶œ¶²¤òˬ—æG̉òNZNXPxÏ„=¿ùþv>úüùèóD!…BÙ9~'fo¨~þùçƒ&%%á]Ôž¡+^f¿mÛ6EEž}ûš™™©ªªzzzJJJ:;;wAר l ئ¸N±ï޾f»ÌTT=#<%E%'àø¢&*$zÕþê¼ó%E…D•=ì<,u[ˆ¡ …â:ÉÕ}ªûpíá2b2‚š²šc{õ°ó®3(G§ý{âßfjfTaª¤¨¤©šé>›}C´†€ €àq»ãææTajÇÉïYêZ^µ¿:L{˜„ˆU˜j¡iqaÖn–¾C¨)UUÕgÏžñ:Ô1ºâ œ“““››ÛÛ·o‰ýû÷?}ú4ñîÔ8sr{äö6ÿÛøjô?½ð4ñî„:–´˜ôÎñ;wŽßÉ^8Ýd:¹Ýè]¨–º–-]³écÃ!¢P(³Mgäš2S3»>ÿzÛBo/s óËs.·^!. :4**ŠW½'&&N›6mõêÕÄ: ÝG}}ýÙ³g²³³©Tª¹¹ùÚµkŒŒU‹‰‰9zôh||<“ÉìÛ·ïÊ•+›¾<‰›:¥+®À¹¸¸|úôéýû÷ááá™™™ñññƒî‚~»‰eË–…„„´zw•¹LqùäöéýßïÃ7…gîÏŒß?XçG_Ëe!N!­Þ]E!ž311yóæM¬&£¯¯üøñÎîè¿c0K—.=xð`ZZZ]]]YYÙãǧOŸN,³JzöìÙ¼yó^¼xQYYY]]½xñâ{÷îµµNꊄ„„ôõõ‡ª¥õÃ=ý®««keeÕèɉFH@HŸ¦?To¨–Â7¾JºV†Vžœ@¡nÈÈȨ¬¬,??Ÿ'½›˜˜¤¥¥u·Ëo~~~/^¼PVV>sæL|||xx¸££c]]Ý–-[È—Õ××ÿõ×_ ÃÁÁ!:::..nݺu,kûöí䫞¸©Ó±º(C!„oï%úðá¯éFˆ7pîܹsôèÑ4mÍš5cÇŽÍÈȈˆøºLã‹/òòò,,,¶lÙ"'''--½råÊñãÇþüùáÇÜ×éX˜À!„B? ‰‚‚‚°°0}}ý .DEEÍ;·ÿþS§N€7nèëë³E’YyìëׯíííMLLÌÍÍ7lØPZZJT8~üøœ9sàðáÃúß@bb¢¾¾¾»»{£v"""fΜibb2bĈ“'O{/_¾’s ¹©Ó±p…w„BèG¡¢¢òñãGb‘¬¸¸¸ýû÷7 ›}]$‰‰‰ÿüóO]]ÔÔÔøûûçææzyyµ5ž×¯_“1ÔÔÔüûï¿¢¢¢EEE§OŸ&*|øðaÍš5ÚÚÚDRÅb±œœœþ¿Àurr²‹‹Ë»wïþþûo¢ÄÐмûÙ,EEEòêš¼¼<¼{÷Ž}‘¯wïÞ@ff&ñ1++ z÷îÍÞHŸ>}È]\ÖéXx!„úQÈËË“—ÊîÝ»ggg÷ðáÔ””ÀÀÀ6µ8cÆŒÇ'%%y{{«©©EGGyÏÊ•+¯_¿ëÖ­Kû¦¥vîܹ³páÂÐÐÐÄÄÄcÇŽ ¹»»_½zuß¾}QQQ111K–,a2™çÏ] 1 ÀÐÐðܹs111‰‰‰^^^FFFÞÞÞ¯^½jÇ ±´´—êêêÂÂÂ#GŽ|x„ ="^,ž’’Â}³fÍòóóKHHøí·ßÈÂiÓ¦ùûû“/@oöþl£Bnêt¬¶%p©©©ïß¿oöõ¨‡9}ú´¯¯/¯£@©¸¸˜˜ÂŒúaQ©T2>|xû²72dûG"1¨ªªjk;ƒ}÷b_555°°° K•••‰™jðþý{ƒ1räH`±XD†Dü¿}O׊ˆˆ\½zõøñãwîÜ)((PVV^ºt©¢¢¢¿¿?qw¤¤¤ ¬¬Œý@âú±‹Ë: ¯À¡æuÁBA!„º“É$“¶F/ÚbW£ùpdÂÇNTT´éíøÁÑl;M Ɉf§¸Õ××mšT*ÕÉÉÉÉɉ,!. öë×øH¬€–ššJ¼”œœLîâ²NÇj[×»wïÞ½{ÿ÷—a£nŽB¡,_¾œû—Ù#¾@Þ’@ý°*++UTTZÚ«  999ì…/_¾lk/ÄÍGÎYTûèéé½yó&<<¼“.k@VVV@@€  àøñ㉠‹S§NO׈)È+ˆÜÔéXx!„úQTUUIHH´´—˜eqñâE333SSÓOŸ>]¾|¹˘“÷£££KKK›^çû/fΜ³páBGGG333))©ÂÂÂÔÔT__ßyóæ 6 Ú8~ÿý÷Y³f 8PXXøÅ‹{öìùòåËüùóUUU‰ Ç'žÒØ»wïŠ+„„„._¾|ÿþ}99¹±cÇr_§ca‡â'Ï><+¨(`kÅÐQ9Q±¹±sÍæ*I*@aeáõ××÷<¸×ô>·¶â|ùÈ»ÂwSÚô±ÑWìï²ënñ4‹s÷¿öî3.Š«íðYv—ºôÞ‹€0¨H“ˆ"`A¨`¬AM¢¢&y[ FM¢"‰ÑXÀˆ]@±ìHÞ;² ½l{?ŒÏ¸.°»Ô½¯Ï={fæ?‡Çx;s挦¦æœ9sîÝ»·bÅ ¬…H$.\¸ðæÍ›ý:ŠŽŽŽ²²r||¼¥¥%ÖÂåAÔ~Y¼xqbbbXX؆ 8¾Z¶¬÷—ó”––†=vг¶¶Þ±cþ‘L&ûûû¯_¿>((–@ øùù‰‹‹óßghÁ2"€1#©"iö©Ù;£v‹=HcÒâJãcß´¿›àLm¡Æ¾(!Øœ£Ï1C²©Ù±…õCS ÞhËÓ«ºº:|n~¯8àîî.###""baa2€;€D"ñøñã–––bbbƒÛ pèСÀÀ@iii2™¬©©9{öì'NØØØ lŸ§Nš3g޼¼¼˜˜Ø„ |||‚ƒƒEEEÙûØÛÛ_¼xÑÚÚZBBBLLlÊ”)ÁÁÁ®®®ýí3„à `ÌŒ ì u¸¹êÉë „ÈBdkk’ˆ‚¸‚ £0†Ÿ2*•ÚÚÚª¯¯?eÊ”¾.‰III8pàÀxËÔ©S—.]Š´··ï¹mÏFsssl58ö.TîûÙ¹sçÎ;9{¾ÞÕÕu £I“&?~œg7KKËóçϾÏP0fÕé+è. Ä[ltlltøÏîOŒá§ +˜Æ'è ` }÷믿ª©©­Y³fÈ÷Aåýo ßÉ$ÕIq¥q9µ92b2Îã%E$B´Ž˜‚˜ª¦* 9†sÈD2ŸÙ†\¿Æ°¥«åiñÓŠ·"$‘ *¦hNA¼àã`¦jö¢üE5KBXb¹ù»'òø@ž¿…š–šG…š»š  fèÍà笹¤â9ø\28`ËÈÈp¿… ÆŠa)à,--^gô4jƒõ´oß>U«V±7Ž’ü¿þš`i©2 ëŒQ¬§}ûâut¤V­2eoCùâiñÓsÉçBÔVjÏâc¶áì¾ ¸ôêô­[+›*ñU)Õ‹O`—5–ÆŠ‘ÅNÆŸŒ)x7‹™(D<àr`ñÄÅØÇvZû†Ð e 컵׳?¾è¸Y ߉I$àY@lI,Öáð“×W\¦1hë®­«i©ÁM•M¯­¼†W ܳõêÏØ?YˆÛR[âdq¯i^½~ÅÿFçEïŒÜÙÒõþý?êÇW¢(q946ÂDa|L•M—›/çs¹ÿB×_]÷¹çÓÍèÆ>š«™Ï7™Ï%÷TÜŸgæç¬ÔÔTSSSÞýÀX0ôÜ®]»°•”G›Q¬§}ûö988pp£$ÿ®]Vjj}>Á$@£6XOûöÅ98hrpc(¿@ØëÙK‰JŒ?)+&»Ìüý³fÏKŸ§T¦ôµUUSÕÚkk›;›ÍÔÌÌTÍ„I™5™ e ëC×ÿ·þ?Šë”ÔÚÕêfê¦,©œU“õ¼ô¹Ï}ŸÙ†³±Khm]m e T&++H(4w5'–'>-~z<îø3Þ¯ü”ÔIïübâ²â²ÏKžçÔæøÜ÷©nª& ¯°XA"Þ͹›Eͺ’veµåjþ³qø+î/“ë ¥ }p|ŽaNmζˆmt&}¢êDK ËÖîÖ˜ü˜ÔªÔM76]ûòÏ…ûƒ’‚Ú»Ûç›Ì×’ÑR‘TéÇrý-¼zýjOô“1EsÊ$ÕI í ÷òîã=o©×T<ŸgæAæ&“ùüùs/¯ÞÿïÆœa)à†|ŸCbÔãÓ(É¿k×(]aÔãÓXÏ?Üìõìíõ샓‚U$U¼m½ñö.z—îT©æÎf?'¿“Wàç’ÏùÇøßʾåiትд(¯( i ìãŽÈ¡¯B“*’fêÏDQD(×W^—‘L©J©o«'ÉÎFΕ/*>d¯?Xˆí­*¥Šb80\ϸƕÆYëXŸq?#LF­ülåœÓs>Ä 8>³qØl½™ç¸AŽá™gèLúÚ)kwÍÜ…•k?:ü¸øßÅ©U© å Óµ§s9:B¨ƒÖqkí-=y=¼…Ïäþ[8—|ŽÁdxÛzãɽm½/যT>÷|¸>Ï̃Ì#ÙÙÙõõõØK¨ÀG`$æÀÑéôdff2 ###'''ާsB)))ñññÍÍÍêêê...øKjétº¿¿¿‘‘ÑòåËsssïß¿ßÕÕ5}út[[[Ž=´´´Ü¾}»¬¬LCCcáÂ… # `êÔ©øƒ*ìÁøß-—l}ár¾ìÇMKK{üø1ƒÁ°µµ6íÝ_ÞåååAAAL&³¸¸Ø××k\³fŽŽN¿¶_'Ø/=§jÑéÌÊ33ß0L##y''mQQÎÿ_¥¤Pãã«››»ÕÕ)..ºJJâø¶þþ FFrË—åæ6Ü¿_ÚÕŘ>]ÍÖVc--Ý·o••5khH.\¨Ï`°R¦NUquÕëŒÿÝrÉÖ.çË~Ü´´ÚÇ+ –­­ú´iïVƒ,/o Êd2YÅÅM¾¾qXãš5¦::ÒýØ~à§,®,ŽH 6´7;Ž¿6±Ö†Êx,Þu[wË=[¯¸Ÿ/~ÜW¯^±?¤ýå—_“H¤òòr???„PII öBÈÁÁ+àøX>Op8¦jeg×/Zt3?¿‘-åÚµÖÖïîöR©ížžw>,Ç;ˆ‹“ÿúËqíÚw•–Ÿ_œ››~YYóÎOñ×èyyM<}z¾IrrÍüù7jjÞ½&YUU⟜üüâ6m²`+àÞãs·Ü³õŠûùâÇ}õªîÀ÷K‘}ù¥Ip°3‰$T^Þâç‡*)iÂ~@98hêèH÷k`ù…NFL†½TêùäŸÈý·ÐÔÙ¤"©B$ÙûhÊhâ?÷+ÏÁç™™gžÑ†ÅbݸqÃÅÅeÀo¯£Íð.#ÒÞÞîêêZVV¦¥¥åââ",,“““3oÞ¼¬¬,UUUƒ1oÞ¼ääd9sæÈÊÊEDDxyyYaûIHH¸}û¶‹‹‹©©iUUÕõë×Ïœ9³|ùrGGG„PKK‹››[MM¡¡¡““N¿wï?·ù¹ï–Ïlý:_¬[\\\DDvÜŠŠŠððð .ìÝ»WKKËÇLJã!ˆû ^{;ÍÕ5¬¬¬YKKÊÅEWX˜S–“S?o^xVÖZUU ƒ5o^xrrŽŽôœ9:²²¢EEo#" ½¼îË[Yá9«oß.rqÑ35•¯ªj½~=ïÌ™Œå˵B--Ýnn7kjÚ eœtètæ½{¥^^÷xÆã¾[>³õë|±nqqÕ…..º¦¦ -ááù.dÈîÝ;]KKÒÇÇzß¾8i|œŽŽÔÀÄýBHJTª›Ñ½~Úúž_ñ¿Vþã¢Ç¢$Ñ(¯(yqy¬…Åbý›üï ÿ"X¶ÁÌã7˜ˆÔëæ×ôNö®üm9BHZT!$Je¿ËQê…>¨iÐ  ´¨tMK ƒÅ`¯™*Þ¾eg¿Rñ|ž™yæmJJJ9^c×ðp—.]*++³¶¶¾ÿ>öîæáávâĉ}ûö…‡‡'''{xx„„„‰ïþ$''OŸ>= _°¶¶öÆnnnØÇ9sæ¬^½:22+D._¾\]]íìì!,,ŒjooŸ={vmm-÷xÜwËg¶~/Ö­®®îܹs«W¯Æ>¾xñÂÖÖöèÑ£»víÒÒÒòõõõ÷÷×ÓÓÃo¡ø@ÜOpð.]Ê-+k¶¶V»ß]B‚Œ¢Ñ˜wÂÂòOœHÛ·Ï&<Óø,"+âèÓ£;g¾[OõmÇÛS §°¯Bbd1öR‰§!ÀÉ“oeÝúûùßøM䊷×Ò¯áú•ŠçàóÌÌ3ÏhsõêU cccACfx ¸¸¸8„ŸŸþæ52™|àÀ°°°çÏŸ#„°·Q(”`·ù°é222ÉÉÉø~,,,ð*!„Ý­®®Æ>ÆÇÇ#„öîÝ‹Uo!qqñÝ»wÏ;—{<î»å3[¿Îc``€Wo¡iÓ¦-\¸0444;;{Ò¤IÜ3÷ë@ÜOpðââªB~~6X‘"“…° Ëþ¼ !S†¢P„xñ¿1D,KFF$9¹†-§2^… „°»¢ÕÕ­ØÇøøj„ÐÞ½Ó±ê !$.NÞ½ÛjîÜpîñ¸ï–Ïlý:_Œ,^½!„¦MS]¸P?44?;»~Ò$¾Þ5É縟 @}cýMt^ô÷·¿N 6S5“•¬k­Ë“Ÿñ:#hiº4_S-Ô,2^gÌž?Ë`B(¥2%«&kÕÛ€³À¸¯¦~u7çîÙijɕɓÕ'·vµ>(|ÐÐÞ`®fn¥ÕËž†d×X®¹›s÷X챸²8ü©OQ2çtj>ñ|ž™‡6Ïp+//¿wïÞþýû ¥á-àBzzLhÕÓÓ# ¡ºº:„ÏYYššL, P(!Æ~ŽûŒ=o;öw·|fcÇó|1ºººb-ØæCx î'8x!=½þC¬§'C  ††N„P]]BèôéWÜ÷£©ùÁõ åÝ5'ö£èèH³÷áø8€Ýò™ÏóÅèêrfÃZ°Í‡ð@ÜO „4¤5B÷|’*’’*’Bfjf LüóË"ñ|ž™‡6Ïp;|ø°¦¦&û¿çÁG`x 8YYY„Pqq1{©Q\\Ìb±°• ±ß~û­¢"ç• qq~o`;)--Åç~a}@Ùxž/¦¤¤„cC¬Ûœÿl<4ÜdeEBÅÅoõôÞ—,ÅÅoY,$''Šwøö[sEEÎç÷ÿ{ØNJK›ð¹_ØÇÁeH6žç‹))á̆µ`›óŸç>A­6ʉðÿpŽ÷x*K*{ÛzOÓz¿&‹‰²IäW‘/«^fÖdvÐ:T$UÆ+Ž7V~w#I[VÛÛÖÛBýƒg>±ÆIªï.‡ËˆÉÜ^wûaáÃÒ†R)Q){={5)5&‹‰?ŽÐëNìtí$„%ä%äÙ¿üìË.zŸÙ† Ï1D9w¶Ö¶~Zò´òm¥0Ix¢ÊD~ÞÄÐë8  Ço!ä>ÉÝVÇöQÑ£–®}}‡qùuùÞ¶Þúòܦ3ö•ŠûàóÌ<à<#/'''**꯿þÂçÃðpÖÖÖÁÁÁ~~~ÖÖÖXÑC§Ó÷ìÙƒ²±±A9::Ñéô½{÷ áÖÔÔTTð;túôéçÎó÷÷¿yó&™LFuvv²?ã90ÈÆó|1ÿþû/û¸›7oÊÈȘ˜˜`-¢¢¢ìÒ| áfm­œéçgm­&.NFÑéÌ={bB66ê!GG­   :¹wït!¡÷ÿv¯©i«¨èó9;Ó§«;—éïŸpóæB2Y!ÔÙIgÆs`çùb ÿý7‹}ÜÍ›…22"&&ïþ.%±_Hð>A_Oÿš£…ã=žJ¥ž¡ÂgŸaó·8`»ól$ ‘œ Ø[ð7Dõµ[][[]ÎU{VX¬àhá’m˜ðCŒ”¨Ô<ã^f‚rÑë8`0€½6ªJ©²¯g¬dl¬Ä£Þå’ŠûàsÏ<à<#ŒÉdúùù™™™Íž=[ÐYÀÞÎÓÓÓßß?66ÖÄÄX2;;[VVö›o¾A-]º4 àÔ©S÷îÝsttTVVnll,((xúôéwß}7e ïó!„<<<|||"##'NœèääÄ`0¢££[[[BƒyLlÙxž/FQQqÍš5W¯^0aByyyxx8Nß¾};‰ôîס¯¯ŸššºråJ]]]!!!l¸h¸yzùûÇÇÆV™˜ãKfg×ËÊŠ~ó9BhéÒñ)§N½ºw¯ÔÑQ[YY¼±±³  ñéÓÊï¾³œ2E…ç!BF>>Ï##‹'N<çä¤Ã`0££KZ[i¡Á<8€l<Ï£¨(¾fMÔÕ«¹&(”—·„‡çÓéÌíÛ-I¤wÿ Ð×—IM­]¹2RWWZHˆ€­7€wgΜIOO‡Õï2“ IDATC>>Ã[À‰‹‹GFFbË•bëÀ à@ÀEaaá±cǶnÝ Ÿ~”†ý]¨&&&YYY111Ø ÆïììÌþ&…[·nåææ>{ö¬®®NQQÑÀÀÀÎλ[O"‘|||ŒŒŒ>M"ùøøà7BÓ¦M+((¸uëVEE…†††››Û;wЇ³øÙƒñ¹[îÙzÅó|1\ºté“'O˜L¦ Ǫr«W¯žæt1±77ý›7 :K/†êÏ/•JŦ(ôE_\` ÕÕ4`ÈlÙ¢ŒúóOjϯ’’’”””´µµñƒ±qãÆ¬¬¬ÐÐPuõOzâìB¡P”••ùï?¼·PGLddäÁƒuttª««ïÞ½ÛØØ8sæÌQU½‹Œ,>x0ÑÑQKGGºººõîÝâÆÆÎ™3µFUõ#J¥~óÍ7†††/^Ä'ºùûû'$$\¸pª·ØGRÀ™ššvvv^»ö~lKKK|ëLM:;é×®åá-––*.ðX¨>n4í›o¾immMJJ Å®²\¼x100ÐÜžyú˜}$œ‹‹KeeåÇ‹‹‹‰D¢……ÅŒ3FáC7½NM<¹¸èVV~ýðayqñ["QÈÂBiÆ ÍÑ÷ëí}j “_~ù%++‹Á`„_~ùÅÞÞ>((èܹsû÷ïwvvt:0¼>’!$##³xñbA§àD"qyÃ)àBFFdñbA§àDâò†SB—.]Â~f±X4mÕªUeee‡ž7¯kø±HˆwŒ&999;wîdo¡ÑhEEE6l€êí0–455mذÁ`p´ ]½zµ¥…ß÷Ü€1 8`Ì`2™[·n­««ëYÀ1™Ì¦¦¦#GŽ$aPÀƆâúbÏ‹žaaƒÙÉÓâ§ž=+‡*U_Ò«Ó=/zFçE÷z•_—2þäš«kIוÓ]2q‰±²1öUzuú¡G‡VY®š¬>ù|Êùjޏ°ø,ƒY L`K…ß̼y6ñ,Bèzúõç%ϱ­.­¸„ïümÇÛó)ç_½~%Bù|Üç_Lüb¸×Ǫ7.ž?­k­3W3Ç«7Œ¤ˆäp惒‘±©­-_NNÎÊÊjÊ”)–––†††D"Qй€ÀÀ8ÀØÐsܯ~ J Â?>(|œ|ÚýôdõÉXËOwÂzxZü4,#l¹ùrŽÝ^J½äwßÁbàÝ.¼¼°ßyÿ’IKÐÿ¦²MT¸ï¿}µ­µXŸ¨Ü¨˜‚˜@·@PÕ\•S›ƒªlª¬lªäØy}{ýÂs ñö{y÷2k2}|¹œæÊË+LΧ ÙɈÉü½¸ÏYPüH­JEÍ?§´±48)¸¬±L™¢<Ûpö,ƒYƒÙ->¥¥¥ŠŠ³Ç÷=sFTÐYÀh`LºŸ?()ˆ$DZm¹zªÖԖΖЌЄ²„Í76?úú‘I$272,#LŒ,¶nÊ:35³†ö†ó)çϼ8þ“—U/}ïûŠ ‹{Zxš©š …3k2ƒ“ƒ¾÷³•¶•†ô»)ƒÿ&ÿ«+§»Ín›¢„b5ëô‹ÓQ¹Q¡z¡î“Üš.”‘Ü÷ß>w3÷…¦ 9BžyqÆ@ÁàW—_•%•³j²þŽûûbêÅ VÔ¤Ôú:¯ÄŠDîÇ%ƨi©Auѻ܂Ýں۰ưŒ07S·?æý1 _BtttÔÕ±ùTG£p€1 ›qÐõ þì§›©Ûª+«âËâ>p5r½ž~!àà¨ïˆuX`º`îÙ¹% %øN‚ƒ˜,fÐÒ ü¢ÝçúŸ›«›¯½ºövöío¦ƒ5*RÃW‡‹‘Ű––_^þòjÚU÷IîêÒê&Ê&! ižSôtätBW…ŠDB3ôfИ´?cÿL«NãRÀ…x„àSÔ{E&’ù¥^u3ºBÿ$üc¨høåä/eDeÒªÓ‚’‚"²"¬´¬ÜÍܹÀ€0&åֿБÅÜLÝð°Ü|y|Y|5ÇÕÈ5¯.OFL¯ÞBÂDá& ŽÅÃ[Ò_§ Ä€g!‹ÅB,„AGÕáÝ\\±ê ƒ]œË«ËãÒy¼3V½a&¨L@5¶7rÙdªæTž»$q²8BH™¢|ÉóïsýÏ  ¶El»s 8Æ(àcR½KJDŠã~Ÿ´¨4öB¨“Þ)#ʹ˜‚ŒØ-íÝí #®4®çþ;iøÏR¢R=÷SÝ\Í3$–G"#„˜,&—MF`œ†ŒBÈF׆½¸Ä*ÝŠ·ƒÙ3`Ä@“”(J…õ…ÔVª2EǫÉ@)K*cJêKÞv¼e/Ú°8U)ÕnF÷?_üCâ|šON\ÿ9«&‹ý«¶î¶âúbüaO" „¸ß÷äßÌ3S5CÕ·Õ³7¾i{ƒ’–äÎ#ã“.àþøãÿû¿ÿ{ô葃ƒ?ýwìØqèСÔÔTssóaŽàÁN×®àMÁw~ p “E%U$ý“ðöö¿…o wDîøcÞ B(*7*"+‚}'N†N±ÑyÑßÏø¿ZÖÒÕr#󆥆%Þí¿‚ÿÂ2°åK:h»£v·ÓÚçšÌžÅîH–¿-’ó9pÓu¦+Q”þ+øï~þ}'C'„PKW‹ß~hDnà†Ä']ÀÆ®õÓÖßʾõ¼ô¹Ýq;=y½Ö®ÖЦ ‹ånæn¨hˆòšæžScý—µž¼^C{Cusµ‰²I65߉×4¯ÿ þ»”zéZú59Iɺֺ×-¯LFÐÒ÷ ”+ÿt÷§#OŽ(I*•4”´vµŠ“ÅñGtåuÅÈbáá™5™ØM[öuàúkð%ÔßqÇ–Ä"„JKB‡:!´Í~¶s"øó¬Ÿ·ÜÜòmø·Ò²â²ÅõÅmÝm²b²°–/cÅ'ý2û~øÅbñyù 0ª(R/¯¸é®ç¸ŠŠŠ}ûöEGGS©T99¹™3gîÝ»×ÈȈcÃãÇ–••©©©­[·nÇŽ$Ò'=’Œ€¾Þ…ªHQT¤(rÙpœü8žÉD²‘çŸtR¢Rfjf}}+NŸ¨:ÿ(#&Ó3m¯Cnœü8öSæ‚(DÄn7Æ(;Þ+))±²²ª­}÷¶*•zùòå;wî<|øÐÒòýtæC‡]¹rßäçŸÎËË @b|’>é9p¶nÝZ[[kooŸœœÜÖÖ–••µxñâ–––õë׳w ;|øpuuuCCÃ¥K—äää.\¸ðàÁAÅÀ§®À½ÓÖÖ¥¤¤tûöm)))„‰‰ÉÕ«WÍÍÍÓÒÒòóó ßÝhضmÛwß}‡ýìááÁ`0V®\êèèØçÞcS¯SÙ@àà Ü;¥¥¥t:ÝÎΫÞ0$iΜ9¡ÂÂB¼kÁ9;;st|4°Ykðl&`´îO–ñ¿É6(àÞÑÑÑ!‘HÏž=knnÆ Æýû÷Búúúxã½{÷Ø7ŒŠŠBÇ×3_ƒÜ;...T*uáÂ…/_¾looÏÉÉñððÈÌÌ477Ç'À!„Ž9RSSÓØØxùòå­[·"„–,Y"¸ìø´ÀC ï¼xñâÑ£GŸ}öÞH¡PNŸ>ÍÞmñâÅßÿý÷ß·¬X±ž`Àˆ+p璘ééé%''õÕWêêê$IIIiùòåIIIì‹À!„vìØqìØ1aaa]]Ý_~ùåܹsÈ €OÕ'}›î&**Š·hjjž9s¦¯þ÷ùnÇÝ2b2x·¤Š¤Ëi—ÓªÒ^·¼¦S,Ô-6ZmüLã3Ž+~z8·6WZTúËÉ_~=ýk„Ðù”ó!)!UMU2Ûí¶»¹à»e±X¡¯B¯½º–W›Ç`1tåt—›/_a±b˜^£çãÝv3ºãËâÊüœü<-Lñ=€Ü ]ô®—VàOZdÖdn ÛèjäÊçIq¤â9ø<32£p€±äVÖ-O ϯ¦~¥,©œU“µýÖö¤Š¤jޱ²1Bˆ@ ØêÚ®úl•‰²‰‚„BSgSbyâw<’½þ¸›sw픵k,×ȉË=)~²-b[`l “Å<àzÀQßQˆ t"þÄÙijA‰A¿Ïû!‘‘1^qüŸÿh¦j&BɬÉܳïjúÕ%“–X¨[ ùigϬ=G-ôäôÂV‡áí¿?þýŸ„ð!/CR*SÔ¤Ô||§jNméj¹þêú_ÏÿÚÿ`ÿlƒÙŠEîG‰Êr7sß0mƒ–ŒQˆˆø@î¿…ó)çsjsôäõ|gûš«›7´7œN8}1õ"ŸçΑêfæMîƒÏ3ó ó0:AKlum÷ÍÙ‡ýü™Æg¬6øÞ÷Í­ËÅJ …füðOÂ?{¢÷Ô·ÕcWqByuyì;±×³ßí¸ûÙy¼ó,ƒYÑyÑ»w¹OrÇtøñZúµÂúBìchF(Qˆ¼,X‰¢„µLÑœrtþQç3Î11}py?æõÚ>„"s"B ÍÕÌBŠ·­wmkí•´+ ,7_Î}ss5ó_e¿ Ìçrÿ-DçF„㋎( „Ä¥Åýæø•4–Ä•ÆñsR©x>Ï̃ÌÀè`,±Ò²bÿ¨)£‰jënÃ>¾¬z¹âÒ ƒÆ±U'½“ýãTÍ©ìÕ¤ÔBS4Þ_a" •%•ß´½Á>Ô0˜ »¿íB,‹…XØ¡êæê!8«*k,““Áª7ÜLý™WÒ®”5–!„;§{^2b2É[“ñ6:6søø@î¿…²·eÊe¬ZÂÙëÚãS¿Rñ|ž™yæ`,ê_—PYY9L“vÁ(³ ¡e‚ΆXB‚† # –I„ý#Ðÿþ:GŒ?Icмm½NX¨LQ& §ÓN í ÜvB ôºg&“‰ýŒÍëuB[Ϻ7sàÐÿF``Ø;À p?ü- G*žƒÏgf>2ý+à ÄÄÄæÎ;LiÀ(°víZ ‹¡ŸÙ(((HVVVÐ)†WÅÛ  ög Ëß–—6”J‰J f·ãäÇeQ³â6ÇIŠH:ãPÒ–ÕN«NK¯N7S3Ã=ƾBÉŠÉî(ä‡C2€Ú2Ú¯j^¼)`¿èõ´ä)þs¿Rñ|ž™yæ`,ê_'/////ôèÑaJF‰€€ WWxJë£I¡Pbx©I©Ö†¤„,œ°!”R™²ÿÁ~ìÎ`¸›¹'ßM^ueÕ›-æjæ’"’µ­µùuù¡¡+,VXëX÷ºÕÌs5vM«NÛ±Õ×É×Ròµ»5ôUè•´+ÂDaG}ÇìpHÐÙÈ9ýuú¦›üœüÌÔ̰‡|¿’çàóÌ<´y%`àãáaáñ¤ø‰ß~~ÿùa-&Ê&†Š†µ­µƒÙíâ ‹ËÃ2Â6„nàøj™™ g¬œ¼2:7úeÕK¯ë^ìí{fíáùj¯†dW}¶êVÖ­œÚœ•—Wb-a®ñÜ»9w‰çàóÌ<´y%>Ñ—Ù>J³ f™ÄHÉH”$ªDQò°ðñ& r·áÐÜC mtl¤E¥ÉD²¦ŒælÃÙ'Ÿ°Ñµ’äC&’Ï{œ÷¶õÖ“×#ÉÂVÚVAKƒøY®WC2€"$‘‹žWX¬PP!‰˜(›œX|Â^Ï~`‘x>ÏÌC›€Q‚Яi§îîî¡ëׯ[0*„ÀÀ@¸…ú‘Ù¼y3…BüŸ_*•ÚÚÚÊ¥ƒ¾þ¸À@ª«+·>€~Ù²E!ôçŸTAÃ…B¡(++óß®ÀŒ1PÀŒ1ŸzwõêU‡´´4Aà×'TÀ…„„888ddd°7VTTúºwï^—¥K—ª««kjjò™‡>>>ÎÎ΢¢¢ÑÑѧOŸÞ¾}ûìÙ³Ç߯ý@à†¦€c±XGŽQQQINN–••Å/^,++{ðàÁ„„¬J;~üxjjê–-[JJJþþûï¥K—nݺ•ŸÍ­¬¬ÉdòãǧL™‚wøé§ŸH$¾NÁÌÌLWW!daaakkÛk:$**khhˆ5.[¶ÌÈÈèæÍ›T*_"yåÊ•gΜÁ~ž?~AAÁ“'Ojkk±«b=w{þüyIIÉøøxuuu„««ë¼yó°:’ƒ››¾P>ÿyø1oÞ<¼æ[´h‘ªªªŸŸß¹sç8ÀÿN0 ͸’’’ºº:ƒáîî>kÖ,GGÇ™3gΜ9óÎ;¡ÜÜ\¬›˜˜Xhh¨¨¨è¯¿þjdd„MJãgóââↆ¼zÃHII I~Lqqqkkë矎WK!yyù%K–°X¬W¯^ážž¼g»É[__ß×nÛÚÚœœœ°ê c```cÓË+W­Z5€<üX·n]ÏýÝ Fƒ¡¹‡Í—¯««{ðàAÏoñ¹b!2™L$BZZZ|nŽ=ú   Ð¯T £_ý±‡äää8Ú±öG8ú s9¾ç[üZ#; äáÐkŽØNØŸ)Œ9µ9ÿåÿçj䪯 ÿéÀnh 8uuu0eÊ”C‡õüÖÀÀû¡»»{É’%ÍÍÍ‹/÷÷÷ÿùçŸùÙ\LLŒ@ $&&Òh42™Ü³VÔÕÕ±y™™™ì}BˆËœ9UUU„PJJ “Ézm2)) !¤¦¦Æe¸À6LMMeod2™ø3 =CòŸ‡ŸǼ|ù’ýÞqrr2Bˆý¢ `¬È¦fÆ*Ž|%ÀCØ Í-Tyyù3f¼|ù2??ßÚÚÚá´µµïÝ»‡Ï Û¶m[RRÒ‘#G®]»6cÆ __ߘ˜~6—““³ 0Y$‹IDAT³³+**òòò—immÝ¿?“ÉD7!€}¤Óé{÷îå¨c( B¨¨¨¨¯³PTTœ-Ñ«_~ù!´k×.UUUl·¿ÿþ;övC¹/<óðsâ iÓ¦™™™fdd˜››/[¶lÀ'A²n„ /^¼puumkkKOOñâ•J5008tè°°pVVÖÆŒŒð‡7UTT®^½ÚØØ¸téRÆ}s„……ųgÏlll:;;³²²^½z%**ºgϬRQQ9{ö¬´´tuuubb"‰D Ÿ0a{B;;»5kÖÐh´¤¤¤'OžôºŠ‡££ãíÛ·õõõ’’’¨TªššZHHÈÊ•+38óçÏÿ÷ßåääjkk“’’˜Læ… °Û—ØuÁ¾ðÌÃωcŽ;æææ–——÷êÕ«îînGGǨ¨(llÊËcÓªÓX,VBYÂÙijWÒ®4u6Æ>-~Šw+i( Œ I Á[èLz`l`TnÔHcÏ‘q2þä…—2k2{Ý!ô¢üÅé§Ï§œ/m,íyˆš–šË©—ÿIøçaáC“s’+— #¶$ölâÙþ¹Ÿ¿‹Þű-—xü (Cù*­ñãÇß½{·©©©°°Édêèè(**b_‘Éä;wî²×+vvvÉÉÉ­­­²²²\6ÇLž<966–J¥–””HKKëëë³Ï‡óððX´hQFF‰D255ÖÕÕõòòÂH ‚ƒƒ:TTTÔÕÕ…Íëù.TWWWWW×ÂÂB*•*''gddÄ>/mÆ ÎÎÎúúLþÀ±eJú²jÕªåË—c77MLL˜Læ¶mÛtttðSèuÏ<óðsâIIÉðð𪪪òòruuu---.i…°2E˜(ð, ¶$!dªlºÔléù”óÏJžÙëÙcÝ"²"þzþQˆèfê&%*…J­J Œ üÑáǾöügìŸ,ÄmEIq²¸×4¯~[n¾¼Ö¾!tCBY{g{=û㋎‹‘Åð ÅÈb'ãOÆÄ`ˆBÄ.O\ŒorýÕuŸ{>ÝŒw«p›«™Ï7™ÏO€ôêô­[+›*ñžªRª'Ÿ˜ 2!Ä3?‡Êп UZZú³Ï>ãh444d_ ×óf_¯›³SVVîký3QQQöuFŒ9ú())±¯ÖÖ×»Põõõ{ÖR!======~9=zÔËË [p¤¹¹yÓ¦MT*uãÆ|<~N£®®.€1-()¨½»}¾É|--I!‚µ¶õ½ü{-]-’"’¡gÅÏ4e4+ÞVÄ•Å9wF=+y†²Õí}H„Ð_qq¿¶¤ ¡À¥€ë5B¨­«-¡,a‚Êc%c …æ®æÄòħÅOÇÿaÆì¶vµº™º)K*gÕd=/}îsßg¶álìt^½~µ'zƒÉ˜¢9e’꤆ö†{y÷ŽÇç ª©jíµµÍÍfjffªfÂ$á̄̚²„õ¡ëÿ[ÿE„Â3ÿ‡Œ¼Oýeö#æçŸÞ±cvÕ°   ½½B¡üôÓO‚ÎÀÓA븵ö–žüûíØêÚFæFÆ•ÆÍ?§¹³9“šù£ÃA‰A±%±X[+'.g¬Ôû¿jB›­7ó¼7€`Êõ•×%E$SªRêÛêÉD²³‘så‹Ê‡…Ù 8ƒå¥!ýn ¡‘;B_…&U$ÍÔŸ‰:—|ŽÁdxÛz{Ûzc¼m½/àÀçžOsg³Ÿ“ߊÉ+ð>ç’ÏùÇøßʾåiáÉ3ÿ‡Œ<(àFÈ?ü}œ4iÒ©S§¸ßuôäfêÆ^$¡ÿ]Z‹-3~N\YƒÉ°ÕµÍ¯ËÇn&6u6eÖdÎ5žË1÷€ÝÛ-ÃLˆ t6ñlt^4GÏ7moØ?.ž°¯ÞBãB_…R[¨ØÇ—•/ÅÈb›l6á4e4—™/;óâ ÷qeqD±¡½áxÜq‹…­ ÔFkCe¼Î@¼ãñhÀȃn„øúúîÙ³§´´´®®NMMM[[{ÄÝ×ì:Æ"YŽ5)5=y½gÅÏB±%±J¥ñŠãmumÃ2ÂÊ˲©ÙLÓF§—Ÿà9®¯`'âODçEˉËÙéÚ©Hª“„ ˆp%í >¥ £*¥Êq,„IÇ>6u6©Hª <®®)ÓËÄŽ í ãX챞=[ºZø‰Çÿ¡# ¸‘C"‘¸Oe&üLÑ`¬ õ²òŽŽMHJHicilI,vAÎV×–@ Ä–ÆfÕd!®àÐÍëìqÑcQ’h”W”¼¸<ÖÂb±þMþ—˵Àž¤E¥kZj,{!Uñ¶‚g)Q©nF÷úië{öÄÖàåÿCFp€1ÏN×.$%äBʅʦÊït¾CÉŠÉ+?+~–S›3N~öTA_†d\OD$‰Eð–ñ'š:›dÄ8_¬ÇÅdÉ·²nýýüoü>oÅÛŠké×xnh­m}5ýª¶¬¶›©{{nm.öxÏx>4`@ó¦iM# ‘.¦^$øÅ6;]» ¤ ƒ¶Úr5÷͇d\Oj¯3æÏŸe0 !”R™’U“Õ¯ê !´ÆrÍÝœ»ÇbÅ•Åႊ’Eynøõ7ÑyÑßßþ>8)ØLÕLRT²®µ.ÿM~ÆëŒ ¥AêÒê<ã øÐ€0d ù¦?w‡†„°„…ºA3V2–—Ãmumi Bˆû¸áãmëm `Pñ¶"8)88)8›šý‹ó/ìÏ+ðc’ê$ga¢pREÒÙij72o(l²ÞÄsC iƒÌšÌ‹©OÆŸ ËËxa¬d¬.­ÎO¼ K²ÀhWàCL\œÙÞ>ôÕhËj{Ûz[¨[ôúí&ëM/«^bKÔb,5,±õ/¬´­†< ?ÁdÄdn¯»ý°ðaiC©”¨”½ž½š”“Ålîlæ²!Ö8IuÞâ>ÉÝVÇöQÑ£–®}}‡qùuùÞ¶Þúòúܘ(›D~ù²êefMf­CERe¼âxcec>ãñsh0bÚÚ„TTè‚NFöl9ŸÜÝÝBׯ_¶<`T ®®®‚†ÒæÍ›)ÊàÿüR©ÔÖÖV.fÏÖZ° eË–ÆA€suÕœ5«í»ï  …Ò×{ zÕï+p X>nAAA‘‘‘‚N†RZZš­-·‡1‡ÊøñÝYY"¼ûøÓÑ!T\L?¾›wWðÉè_7}úôaÊF YYYŽ·©‚±ÎÖÖvdþ[Yuüþ»F “ûqЗ¸81&“0mZ‡ ƒ€Q¤·P€ç-ÔšÒŒÚGR]]¹uðiófå7oHW®T :Fý½… O¡†˜Š ÝÁ¡íìYøç!ƒWZJމ‘ððhæÝ|J € ½~hÈ̾qCRÐAóöïWÐե͛׳Á € =ƒîåË›ÿøC¾µþ#ÀÀ=~,þ葸¯ï".hƒÀ[ÃbûöF&}÷“)è(ŒM••¤Ÿ~Rš?¿_=A22ŒÓ§_ÇÇ‹:$/è,Œ=mmB7ª*)Ñ÷ï¯t0A.'výúkmPL` <ÐÿÞ¾%~õ•jc#ñÔ©qq¸ˆ z¯Ò £ùó[ÛÛ…||JJÈÖŠˆ@EEä T ¿ÿV«ªÂë³@ïà `x-[ÖôúéSñ%KÔ““E€Ñ‹Á „„H»»kÈÉ1ÂÂ* àÕ  OPÀ†µuGxx¥¼<ÃÃCý»ï”KKÉ‚NÀèÂd¢ÇÅçÏ×8p@ÞÓ³ùÂ…jyy† CQ ÞÄèžobàâÁ‰_•//'OÚ1kV»…E§¶6MZš!ÿ–Ÿž®.Bc#1?_8!A,:Z¢¼œìèØ¶kW½¶6MÐÑ€ô÷M PÀúg0BˆÁ@OžHܺEyöL¼© 7®.ÍѱmÉ’}}¸gúé‚0¼YÀáX,TUE./'57 ±X„ÁEX˜%%Å00è–‘çLA¿ 8x  ÒРihÀÝ"è7¸0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0ÆÀ«´Æ¸0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æ@0Æü?v‚˜ØÐðÚIEND®B`‚fio-3.39/examples/fio-rand-write.fio000066400000000000000000000003011476262051600173740ustar00rootroot00000000000000; fio-rand-write.job for fiotest [global] name=fio-rand-write filename=fio-rand-write rw=randwrite bs=4K direct=0 numjobs=4 time_based runtime=900 [file1] size=10G ioengine=libaio iodepth=16 fio-3.39/examples/fio-rand-write.png000066400000000000000000001133201476262051600174110ustar00rootroot00000000000000‰PNG  IHDRE5§XÜ bKGDÿÿÿ ½§“ IDATxœìÝwTYð%ôz)‚]@Y+XVÑÕuUÔµ`/«»Š®‚¨‹míˆ(bÁ‚Š":*`éH@z“’äûc–|1@JðþΞ=“7oÞ»™'z™yó†Äd2!„B ,¡®!„B}ÌçB!„æs!„B‚ ó9„B!Á†ùB!„`Ã|!„BH°a>‡B!$Ø0ŸC!„l˜Ï!„B 6rW€⿌ŒŒãÇ¿y󦺺šÉd—‘‘¦¥¥E”üòË/Ä·Žˆˆ`2™¯_¿%vÍ™3çÖ­[¾¾¾JJJDÉáÇ»Ã8"„zÌçêiÆŒCü[þóÏ?³ ‰‹ìyÀ¬Y³ˆ††¢u—âãã™Læºuëì¾VXXÈü:éYºti›Q÷:àÈ‘#D { kÖ¬! Y“Æ **ŠÉdÓň8‰j‡æÈçZ‹óåË—D5ii醆†×¯_€¸¸8q90<<œÁ`°ßºåþÕ8ò9¢ÐØØ˜(Ù³g{e¢|Ĉ¬ÂÓ§O…ªªª £ÓÆ!Ô³áóý ¢¢¢ˆ ÖâìóÞ¢¢¢¬¬¬Y+têêê8šš:u*GI^^ÞåË— ëêê˜LfVV±+33³y0ãÇ'6¨T*«ðóçÏÀJÈìíí………Y1s´ÐZœT*µ°°°²²2>>>22,++{ãÆ°°099¹¢¢"””2dH›_wD_žžÎšáWQQAl¤§§~sûÇñ;{Aus˜Ï!ôƒª©©!6¤¥¥Y…’’’BBB ƒ½B›TTTØ?Þ¿Ê”)­Í¢k±œu…Œ}Y5&“É^_JJе‹=fîH$ÒO?ýtéÒ% #r¬#F°ò9YYY¢¦½½=ëöhk_­]X'0;;›X ŽCIIÉ77Þ¼—ïG„àÂ|¡”ŽŽNaa!|øðUøñãG" *À¾}û6lØÀ~ +÷jÍÆ‰$ÌÄÄdãÆBBBK–,IMMý†8555322 ==U˜––ÆQKœ£G&ò¹ÐÐÐøøx9r$‘ÆEEE±&Ÿ±_Óâ ]]]â ;;;¯X±¢yÖS«‹-"¾‘««ëâÅ‹ÛÕ ãˆêÙ0ŸCè5cÆŒØØX¸ÿþ‹/†J§ÓwîÜIì•••%ò›~ýúµ·eâ>)Lœ8qîܹðôéÓo³òbüøñÏž=€‡FDD 2¤®®Žõ” —8Y‰ÚãÇ™L¦„„Ä€Èd²²²rQQQhh(Gµö’ 6 ØËg̘ááá[¶l±´´$Ê«ªªnß¾››Ëº —ƒ joï<Ž#B¨gêêB]cùòåC‡:noooaa¡­­íçç$éŸþa݈l¯Q£Fû÷ï·°°èׯߴiÓX¶×o¿ýf``@Äigggii©­­]YYÉ{ jjj}ûö…¦¸Ã† !‘Hì«Öiii5_ãGýû÷'6>lcccoo¿ÿ~X¾|¹[YY™˜˜ 4HKKKNNÎÅÅ…•G~§ŽG„Á|¡”¸¸xhhè¦M›òóóI$ÒàÁƒ=zô=ï!õööž>}:‰Db2™ õõõ!!!ªªªßÖš´´ôãlj܋ˆÓÞÞþâÅ‹íj„ýÕˆ#86àûn¶nÛ¶X˜Á`ÄÅÅ…‡‡O銉‰=xðà?þPWW€äääèèèÜÜ\iié9sæ¬[·î›{d×q㈠ø~„B!Á†×çB!„æs!„B‚ ó9„B!Á†ùB!„`Ã|!„BH°a>‡B!$Ø0ŸC!„l˜Ï!„B 6ÌçB!„æs!„B‚ ó9„B!Á†ùB!„`Ã|!„BH°a>‡B!$Ø0ŸC!„l˜Ï!„B 6ÌçB!„æs!„B‚ ó9„B!Á†ùB!„`Ã|!„BH°‘»:„€¡ÑhUUU]Bõp¼WÆës!„B‚ ó9„B!Á†ùB!„`Ã|!„BH°a>‡B!$Ø0ŸC!„l˜Ï!„B 6ÌçB!„æs!„B‚ ßêL&äæŠää+*„™Ì®Ž¡®F"1edZZšš $RWGƒ æs¡NE§Ã“'’ÁÁRÏžI”—ã-„8ÉÊ2†¯™4©ÊήZX¸«£Aó9„PçyôHò¯¿³³E¬]¾¼ÔÒò‹ŽNƒ¬,]ó:ôÃc0 ¼\8+KäÕ+ñG$–,QÕÖnØ´©ØÁ¡º«CC€ÄÄû¡ö ÑhUUUí=*+Kdûv¥/$&N¬Z¹²DG§¡#bC¨ÇÈÊ9tH!8XjèК;?ãÌÈÀÀ€÷ÊøK1B¨ÃEDPœ5‹‹…ýýó¤á¿LµIG§áàAš¿^q±°³³fD¥«#BÝæs¡Ž ãæ¦fk[˜gmý¥«ÃAHX[ ̳µ­qsS éêpP÷…óçB(8XjËå+JW¬(ÁGöúbb̃izz [¶(KH0&Nl÷lô#À|!ÔQ’’Ä6m¢º¹•¹»—tu, 0 ÜÝKªªH6P55--ñ:7â„÷[B¢¬Lø—_Ô®ñð(îêXê 6l(:´féRÕ²2\ÅqÂ|!Ô!¼¼ä…„ààÁB\‹!¾`ý@yyÉwu,¨ÛÁ¿hBü÷áƒèåË2ëÖKI1º:„z))ÆÚµÅ—/˾/ÚÕ± îó9„ÿýý·Bß¾õ“'Wvu ‚N§ÿóÏ?£F211144444]¼xñçŸîÝ»7ÑÈÌ™3ùý=Z¥ú믆†ÄÔõë;­ßiʔʾ}ë¼½º:Ô½àó!>+( ?y"éíMÃZytúôéƒvh³gÏÎÎÎîÐ.Z#(Ú%]÷H$,\X¶zµJAYUµ±«ÃAÝEûò¹ƒFFFvP(¡Ž6xðàßÿ½£{ •¤P?ý„/)âÕõë׉©S§îÞ½[DD.]ºÄÇ.ÔÕÕmmmúé§   [·nñ±eîȹ¹J»vuZw?ˆQ£ªÅÅIΞ]ÞÕ± î¢}ù\dddTTÔ Aƒ:(„PÇ‰ŠŠê¬Ž(ƒÕŠˆà»y•““ClX[[É<~ü˜]\¼x‘ØèÌd êúõBÕÕjjtyy±wï:¯ëMD„9xpmd$ó9ÄÒîû­ƒ ºzõjG„‚êPÓ§O’“E'M™s<Ùºu«¿¿?ëãÆ7nÜÈQgõêÕË–-k­ƒqóæÍ7n¼{÷®¢¢BZZº_¿~sæÌ9rä÷‡'T]­9eŠÈÇPáêZôÇ@ª¯×tvMN€ªI“h­ß)–;}šE»wË?þýñ SÓºà`鮎u#ø<BˆÏh4a55œÖÓ¾|ù²`Á‚uëÖ½xñ¢´´”N§—••=}útñâÅþùç÷·Ï”,8r„I¡€Ì¥KÄ48Å={ˆd®ÞȨ¨õ^D?|P8x*kìì¾?ÄNM^Xˆ«Ð¡ÿÃ|!Äg_¾IHàÍVžìÚµ+--MTô¿µ'<==Óšhkk·yøþýû_¼xT*ÕÏÏ/))éüùóÒÒÒpæÌ™ï°¾W¯¢¦ pÊ7ÊøûË^¸Dªwô(ƒÒòKâIÔß'Õ×Ó••?oÞüýa Œšüýþi@ñ“ ødk'hhh`Í~Y½zõÀ)Ê!Cf̘Aúùùñ¥£ÊÉ“+fÍáÒRå­[‰Â¢½{ôõ[;DÞÛ[ìý{(úㆬ,_Â@ìH$`â/Mˆ ®W‚B)//¯¦¦†Ønqâ]rr2¿úú¼m›XB‘¢@ù¼yUãÆq©/}ãT_=j¿b@qù\wgooOlL›6mùòå] ”——;99ÛÞÞÞ]B=+Ûû~BååäÏŸYEß¿:„[Ÿ¿Åd€Ô;Rwîpì‘ ’ ªpq)ÂuLâÌ纻ððpb£Çä= ¬/UVVÖµÁ $¸444$$$ˆ¤íÀ¬_“øŽD§«¸» SX˜D§Sbc(Æ7= Ômàü9„H"""Ó¦M#¶÷ìÙóèÑ£ÊÊÊêêê´´´àààeË–;wŽ/)ìßO‰€zƒ|¦˜È<)ùèQk‡d½x‘ž–Æþ_í€Ä®Jgçô´4¼8‡áõ9„TëÖ­KKK‹ˆˆøüùó’%K8öš™™±¶gΜϾ7>>ÞÐД””¸¬5-ùð¡Ü©SÀ£ùøÔoÚ¤´};0™ÔuëroÝjÐÔäçWB}Ìçzˆ²²2ÿÈÈH&&&fjjêââbnnÎQíÙ³ggÏžÍËËÓÕÕ]ºt©®®n‹SÙÚl-;;{Þ¼yÄö™3g„……}||Þ½{§¦¦6qâÄÉ“'³wúôéÓsçα:ÕÐÐ訳€Ð†B¡œ={688˜XO¸¬¬LZZZUUÕÔÔtôèÑÆ ûÎöE²²¨M7U?oÚTol å³g‹GEIÝ»'TQ¡²lYÞի̦õVB]…ÄlÏÏÄúòø~ˆÎDjZøaåÊ•ÞÞÞ-Ö¹}ûö¼yóJKK9Êׯ_ïééÉúèéé¹aÃÖGQQÑþùgÑ¢EÄǰ°0âÙ ^ZKNN611!¶O:µvíZö™pÛ·oß±c±½wï^öÇîZëu~ýüÒh´ªª*. ||hŽŽÜê „¾ÇÝ»Rîî*iié]ê@¼WÆùs/!!aêÔ©Dú5gΜ[·nùúú*))À¾}ûŽ9BT‹ˆˆ`åUãÆ ú믿֮]ûm­±sww_¾|ùõë׈’={öé]DDĦM›ˆÂI“&]¿~ÝÓÓs=ΡF!„ø ï· |[k<ÒÔÔ$ºKOÿÿ¤Ý´´4Þ[@!„P›ðyÇz÷vxx¸¬¬¬}kkë‚‚‚¸¸8˜0aQíÁƒ±±±ðåË—¿þúëÛZãëVìÇ#"" ®®nïÞ½ßþmB!Ô æs#00ÐþkÄ pË—/·³³€ââb+++“AƒiiiÉÉɹ¸¸„††‡ÿöÛo½zõ€ÆÆÆ¡C‡ZZZjkk³î‡²ðØ~ûí7âqk:nggGtZYYùÝ'!„Bÿ‡ùœÀÈËË ÿZLL ˆ‰‰=xðà?þPWW€äääèèèÜÜ\iié9sæ¬[·Ž8\RRòÑ£G#GŽ€†††„„„#F=z”Õ¾„„ï­ñHZZúñãÇÄs ööö/^äË A!„çÏuwaaa­í"20ݺuëÖ­[³²²òóóÅÄÄ444¨T*ÇÂ"ššš=ÊÎÎÎËËÓÑÑQWW $v‘H$}}}Þ[ÓÖÖf¦§§GlP(V!ëECDMöNXÕXo¤@!„Ð7Ã|®»k×ëttttttZÛ{æÌ==={{{mmmHMMݼy3±ë§Ÿ~" æ±5 ‰æ ·­¶¶6Ñ)ˆˆˆà;!B!>Â|îîææ&''g``PYYùñãÇÆÆF R©ì7^B!$XpþÜdÑ¢EãÆ«¨¨ˆOMMmll”––vss{ýúµ‘‘QWG‡P ¿øø$GGîê@8uÛÀ8pÄÉñ1+«ÚÇ'ùõkÎ7O¡NƒùÜdذawïÞ­¨¨HLLŒˆˆHII)++û÷ßÕÔÔº:4„ÚF£Õúø¼ï†¹B· ŒGœ³²ª||Þ¿zUÌÇ.Bï·þp$%%Y+ $@TT(îî&rNôìrÝ60î:"l=õ˜Ï!„•*îîގדtšnw¶€ž „zÌçB‚¡°ðËåË™*±_þ©¬lxú”–“S-&FîÛWÖÆ†óÊÎŒŒ,JI©hldèéIÙÙ©ˆ‰ »²²ªoÞ̱µU±°Žþœ˜X*&&dk«¢«+ÅÑȧOµaa•• FFÒvvª©©~rtÔ04”nïÍr‰­´x>€Á`FD½{W&))bg§¢©)Áq`FFUbbé§OµRRd …¾}å¸·Ùæ!„¾æs!Á@ÌÍb¿’·qã«ÊÊVKK…£GR©âÄÇ„„’•+csskXÔÔ(¾¾ƒˆ„˜1F¡;–ú‰¨ ,LÚ³ÇÊÙY›uÈ•+Y;v¼®¯g°º˜0AÓÇç}¯^2D>ÇÍr­E‡'3™ÜN‘„„ð¢E¼>ÛÔü|@]ãçŸ_DFÉdÒ¦Mfóækjè‹GFE±·ck«rôè …Üb›mŽBˆ/0ŸC ¤÷ïËW­Šmldš™É[[+TUÑCCó_½*Y¶,úÊ; òòj,ˆ¨¨h07W07—zó¦,*ªè—_">%%õßß~§O§UU5:9i©¨PÞ¾-{ñ¢pûö×£F©IK‹@bbéÖ­¯èt¦R¿~r¥¥õ÷ïçÿóOJ›áqo–ÇØ89’L§sKè””ÄxÏçZ »¦¦ÑÉIKYYüíÛ²ÈÈ¢]»e‰ü¬ºº!*ª¨o_9Y%%±ŠŠÆ˜˜ÏOŸÒŽMY»¶OóÖÚ#„¿`>‡H§N}hld.X`¸i“‘¬_ßÇÙ9ìÕ«’¨¨¢Áƒ•OœH­¨hعÓ|öl}ÖQgϦïÞxëVŽ«ëï5ih`Ü»çÀº«¸aÃËÀÀ¬ØØâ‘#UàÌ™4:¹r¥ÉŠÿM swïíäô¤Íð¸7Ëcl–/ïÝæõ¹6ã®¶–~óæiâãéÓiý•ôï¿iD>'%%rõª´´H||qqqˆˆðر깹Õ´˜Ïµ9Fß-Bˆó9„@Š/&­YcʺÌ#//úë¯Æ›7¿Š/þ¿EL„„àßÓBBò8Žúü¹®ÅÖÚ#þ„~TíË犋‹sssW¯^ÝAÑ n"55UMMMZZºíªHp$$$hjjvu|SQÑ@¥Š‹‹uEJ[[ÊË ¤¤žNg:ô¾ù±ìÓ¹ÔÔ(컈K\ÿ]+/¯WUæx²d›áqo–ÇØ8ðwþ\‹´´¾újBB$ ‰¤¤ÿöõM ÉSP>œªªJ"‘H—/g°&rhsŒBüÒ¾|îǹ¹¹ÞÞÞ B¨CÕÖÖvu|###òéSí—/töt!;»deE@F†\_Ïøå—òâ9^ÈÊŠ|¡Ó™ì)]nnõw…þ­±uÂü¹œœ¯¾“ yy522¢ÄÇ'O ÄÅ…ïÝsPTcU8w.½µ™pmŽBˆ_Ú—Ï 4®^½Ú1Á î‚D"­ZµÊËË««Aü4}úô®Ÿú÷W¼y3ÇËëÝÆÿ­]VVâD*± † ¡dêèH:9i±˜œ\N<”À KKùààÜãÇSY·\óók®^ÍúÎà¿-¶N˜?wëV®››!ë–ë™3iÅÅu#Gþ÷ ‰D&“ØUñõM)/¯—“m±µ6Ç!Ä/8!$.4ºs'÷ßÓââJ¬¬ä«ª=*()©³°4H–.í’¿fMÜ™3iææòÒÒ"EEu©©II¥§OÑÐà\V­EóçÞ¹“wðà»çÏ ûõ“/-­¿?¯)¡áš[qõm±uÂü9 EØÉ)lÌueeñwïÊ""ŠH$X¸ÐØki©”T:q⣟~R€øøâ·oËZK怇1Bñ æs!dj*ëí=`ãÆ— % %D!±¶qûOSSòÂ…akÖĽySöæMë@Y“907—ß¹Óü?cb>ÇÄ| ù#Ô¼¼ÞIH|ûߟ|‰­#¸¹>{F»y3‡øH¬?ÇZLÎݽwddчgΤ{wí²¼té#û*zìÚ#„¿`>‡ Íß :v¬ú!ÊOŸÒrskDE…ÌÌäml¾º‹gj*{÷®ÃË—ÅoÞ”ÕÖÒUU)ÆÆ2&&²Ä^)wwK˯! ûõûÿ¢¾..zvv*aaUUÄû!¶m{ lO>4GGnuÈ›7e}úȱ®'½yS6cF¸””Hdä8Žç^ê4wïJ¹»«¤¥¥wu ¨ð^¯Ï!„7‡½ÿø±ÒÚZIAA4#£*,¬€NgΛ§ÉB¨ûÀ|!„¸13“{ò¤ +ëÿ yLªóë¯Æ\A¡N&ÔÕ’¿ÿþ›D"=yò„Çú6l ‘H¯_¿îÈ P§øûo ‘€ç¡‡ €DúÁÝÝ$,lÌÖkךîÜiq§§™ŒçBÝ^ŸC¡6hjJ°?€BÝ ^Ÿk‡µk×2™L{{û®uºµkÉz„BÝæs!„B‚MÀò9ÖŒ´sçÎõíÛW\\\GGgçÎ Æÿß=gΉôùógö‰Â²²2Žv|}}{÷îM¡Púõë ÕÕÕ+W®TWW>|xBB«‘æóçrrr~ùå---QQQUUUWW×äääæa=zÔØØX‚€ IDAT\\\__÷îݬ]Ÿ?^¿~}¯^½$%%UUUGŽyíÚµv-"#xŠŠ@K ”” ;ûÿ…OŸ™ ÆÛÉù kFÚ¹sз/ˆ‹ƒŽìÜ lCsæ‰_ý…MCÿÿv|}¡wo P _?¨®†•+A]ÄÅaøp`úæÏåäÀ/¿€–ˆŠ‚ª*¸ºBKCG‚±1ˆ‹ƒ¾>ìÞýÕ·ûüÖ¯‡^½@RTUaäH¸v zöÐ#„ê9îðáçOŸ&¶³³³wìØÁ`0vîÜÙÞvþþûo???b;))ÉÙÙùéÓ§ëÖ­{ñâQøüùsGGÇôôtqqñæ‡gdd 4¨°°øH£Ñüýýoß¾ýøñckkkV5OOÏË—/³ÙºukJJÊ… ˆGGÇØØXb»¦¦†F£………%%%õíÛ·½_G`(+ÃÕ«`k ӧóg * Ÿ>ÁÌ™ ¤W®™ëŸÉÇ¡iè!;vìÚ?ôð÷ßÐ4ô”ÎÎðô)¬[MCÏŸƒ£#¤§CKC0h4 =Ðhàï·oÃãÇÀ6ôàé MC°u+¤¤@ÓЃ£#4 =ÔÔaa”=xèBu »>G¸té’O~~~EEÅÅ‹Édò‘#G¾ášÖõë×?^XXX\\¼qãÆÆÆÆñãÇÓh´TTT|üøÑÁÁ!??ßßß¿ÅÃW®\YXXhkkW]]ýöí[ggçÊÊÊ_~ù…½Úµk×8ŸŸ_RRréÒ%…‹/>zôòóócccMLL¢££«««‹‹‹ÃÃçM›&$$ãÒƒÁ«WCc#ÌšEEàïêêmxéøø@~>TTÀÅ‹@&Ñ#ßrMëúu8~ ¡¸6n„ÆF?h4xð**àãGpp€ü|heèaåJ(,[[ˆ‹ƒêjxûœ¡²¾z¸v €ü|()K—@A.^„Gòó!6LL :ª«¡¸ÂÃaÚ4èñCB¨äõ¹mÛ¶­X±‚Øž={ö7srr´µµÛÕÎöíÛ/^LlïÞ½ûÔ©SEEE¡¡¡VVV --½wï^›wïÞ5?¶ººúÞ½{T*588XFFLMM,,,^¿~ššÚ«W/¢æªU«~ÿýwbÛÅÅ…N§Ï;700ÐÁÁAQQ‘B¡ 8pÀ€ !!akkkkkû-'Eà¬X‘‘ðÏ?ðæ <} {öÀˆmµm4 =Ìž 7n@` ää@;‡¶o‡¦¡‡Ý»áÔ)(*‚ÐP°²–†½{ÁÆZz¨®†{÷€J…à`‘05…€°°€×¯!5š†V­‚¦¡ Óaî\ PT „$$ÀÖ~¡G!Äoy1€ã S}}}¨¬¬lo;왓–––¤¤$‘Ìttt€F£5?633³±±qøðáD2G “ÉcÆŒ€´´4V!QÂ2vìXV11±S§NY[[¯]»öüùóYYYíýìäIÐѧOÁÑ<|à5'ûzè8¬û­ÄÍJŽñjiè9gÅ‘H-”4oªy…v!aèê ¹¹°u+P(på ˜šÂ„ ðƒ ý7IÈOpõs I éê@¸ñ{éçêçêêçú¥ñ «VEsõsýëÑ_•CRB\ý\Ýo¸WÖµÿw„b#ùwT*222X%555ÑÑÑüíEWW—L&?{öŒ=÷¢Óé<CCCVáýû÷Ù¼wï|ý’]iii''§]»vݾ};**êÎ;»wïæo´ÝѧO0k(+ƒ—|ø ð¡M*€m衦ø=ô « d2<{öUîE§ÃƒlC_=Ü»Àþ~eiipr‚]»àömˆŠ‚;wàGúoUþ¥<&'æSŧ®¤UÙeÙ{ï‰Íɉa0ÿÿËÀ—†/191ÉE_=”´òæÊ¬Ò¬UÃWI‹Iwz°¡¥æs}úô€5kÖ$''×ÖÖ¾zõÊÙÙ9//¿½HJJŽ7ŽF£Mž<ùåË—555ïß¿wqqyóæ……kòx{{òööŽŽŽ ëß¿?«PJJêäÉ“ì՜׬Y³fÍVÉìÙ³€N§ß½{÷îÝ»ìõI$’««+Cív6l€gÏÀÓì세8ذ„aþ½Yغ^¼€¦¡ =ø=ôàí ÑÑlCRRðõЃ³3¬YlC³gƒƒwïÂ×C$ôø¡ï¹®¿¹“skÁ­ßƒç^óDÔ‰}Oö(\p¹@•¢vNx¡ž­^Ÿ¿ÿþ˜1c$$$ddd¦L™¡¬¬Ì¯öYSßôõõãââ.\¨¡¡A&“©Tê¬Y³bccÙŸ€ 6:tÈÈÈHTTTOOo×®]gÏž%v 0àîݻӧO×ÓÓÓÐИ4iRhh¨³³3¿¢íŽ®_‡`Ò$X·î¿¸zäåaæÌ–Aà‘¸8Ü¿cÆ€„ÈÈÀ”)üúÿO}Óׇ¸8X¸44€L*fÍ‚ØXøzèaÃ8tŒŒ@Tôô`×.hz0îÞ…éÓAOÄÄ@C&M‚ÐPèÙCÏ'…U…‡ÿ½ðÊÂ7VÜ|{“c­¢äÂä¿ýµ4hé¯×~ÝóxÏ[ÚÛN©´¶ô¯G-¼ÔHɈ{MïgÞûžì3¡šøÏöÇd!Ä/¤v-Û6}út¸zõj‡ÅÓ­mÛ¶m×®]QQQìêX:‰DZµj•——WWÒmlÛ»vATòÐóëç—F£UUUq©`hhàãCstäVç<ýøÔíŠÛ ƒßV²ÊÇõçãäCü¢”äq׃㯵8õqj­Ù¹þsé :—~å(rÿ8ÿÃ=¶µ·×¾)x¼ XDXd♉ïiï×$JˆH{³J³Ž; Ñb¬l|&öŒ…ºÅé§eÄe¸·‰wïJ¹»«¤¥¥wu ¨±OµoS¼ßÚAòòòˆ‚éêêvu,¨sååý÷B0únà\Ü9=½UÃW)K*¿¥½=}ò^ò½@ýÀéý¦À¿1ÿÀ¼þó†è! ‘3K3o½½Uñ…ÛSÃ191Üó9%I%î!EdFÜz{ëòœË"Â"\ªEgGGdF˜©™w9ÏJõBˆ/0Ÿãɯ¿þzüøq>|¸ŠŠJW‡ƒ:ѯ¿ÂñãÇ}7 ,¥ôsE„# GXkZÏñŸð:€ÈçÈBä^J½¶Úƪ?ßz>÷Õ@.¸\à~›‚{–V×X·õþÖÙV³­4¬¸TyŠ|YmYÚç´7oh à^!„Úó9^)((ØÚÚúúúvu ¨Ó)(€­-àÐw޽‰dŽ0Hg¦¬fJQ ñqñ Åk‚׬¾µz¤áHª‰¾¢¾Iˆûj ß™Z~q¸ž^¿Î~]›5{)÷šk5wÅ ¯,<3󌵦u›‡ „0ŸãɱcÇŽ;ÖÕQ ®pìàÐw'ͧÉQäò+ò‰íñ&ãMULo¿»””R”R×X7ÁtÂÛ5\&«}Ïü¹êúêSѧ”¥”]YÄ*Ì,É·7!’З ÂB¬]£z:ätÈý†»[€ÛÙYgÛ¼¤‡B<Â|!$HÞ|õ¼ju}õÇâìŠê)è­ößK~ß¼™ë?·¨ªˆË ß3®ž^ßÈhüTñ©ù*Çq¹qÍ^#2ÆxŒ·“÷ª›«Ü®¸›uÎ\ÍœK×!Ä#ÌçB‚äᇇג®M5› µ µ›ïm®i¨o:žØ»ïɾ©fS ÿ{(LEJEDX$&'†Kƒß3NZLÚÏÕ£pãÝÙeÙÿÎøWœ,.ÔÒšPãzc0¿ÿ>ÿòüs³ÎõSëÇ¥w„âæs!AbB5ñ¸ãq0ü UššQ’QUW%!"±tðRbïÙØ³'¢N(H(hÉiÕ7Öøü¡‘Ñh§oÇ¥Áï™?G"Ôæ\ÂFRLl´l¸<Ä:Þd“áÔÇ©—R¯Šº hDzî!ÔÌçB‚AŽ"Ǻ¹)#.c®Þê“   '353Žq²xóÛ²“ËâÁ»-[výöÛoêêê] êzíË碢¢rssÙF=•·····wWGøLSS³«C@ñKáóçϯ]»6sæLwww….ûuíË猌Œ(Êøñã;(ÔMx{{÷éÓgÔ¨Q]â§;wî`>‡Pbxøðá[·n-_¾|Þ¼yd2ÞvûAµoàñ5í=ž··÷¨Q£p {˜ÜÜÜ®!ÄOd2yÖ¬YNNN'Ož‡Bõzzz£G^¼xñ¹sçº:ÔIðA„B¨Góôô411ùóÏ? <<<º:"ÔáðúØÛÛ¿~ýº«áÔm,±öûí_çt»ÓØmCõ óçÏß·oßéÓ§wíÚÅdâKHz8Ìç '''<<¼¬¬¬ c¸pႽ½}RR{aw¬È)É O /«éÒñ¼`¿ß>)ïëñí!„z¶É“'{yyùùù8p «cA ï·ÂÌ™3­­­-,,º0†¬¬¬ðððòòröÂîX0Óf¦µ®µ…V—ŽoIVxjxyí×ãÛ CõxŽŽŽuuuëׯ§R©óæÍëêpPGÁ|´´´´´´º:ŠtÛÀ‹–‚––Bw<Ý60Ár-éšÇ#SŽŒ5 IŸ’¦œ›â>ÌÝ}˜{W‡Æq¹q‡ŸNø”À`0ú¨öY6dÙ0½a]0S¦L),,üóÏ?õõõ‡ Ã??=Sgäsµµµ¾¾¾áááL&søðáË–-óññ ¹y󦬬,«ÚãÇ322DDD¬­­—,Y¢¢¢Bì:qâÄ¥K—N:ÕÐÐpôèÑ´´4•ùóç1‚£/^©­­=qâDjjêäÉ“—.]àëëëííÍ~%,<<üÚµkéééVVVK–,áòj<:~ùò妠 0räÈy󿉋‹sô[YYyìØ±¬¬,uuu777ÖÕš5k‚‚‚`ÅŠÄ ±°°ðöönµy–ø«¶¡Ö÷‰oxJ8˜Ã†/±Ìç‘OÈ››ËoÊRØÆ7ùq`|`Æç akë%vKTdš†æé‰KÑ—Ný|ªÞp4ìhZašŠŒÊü!óGôn6¾<4RÛP{âé‰TZêd‹ÉKí—Äø>ñõžåÍ~%,<5üZüµô¢t Q +m«%vK$[_ýrìå7!´ š‚¤ÂÈÞ#ç ž'.ÒtÚ›ú­üRy,üXVq–ºœºÛ0·a†Mã{eMÐË XqiqB,´,¼gy7ŒÇŽÚ·qãÆ„„--­õë×ëë매¤xzzr$.ûöí;þ¼¾¾þÒ¥KMLLêêê>þرc­=´iÓ¦çÏŸ+++{xx˜˜˜dffþý÷ßIII¿þú+qÕ°}ûö±cǺ¸¸ˆ‹‹‡„„œpà€ÏéÓ§}||ÌÌÌ@NNî›;â~–øncÐÆ„œ-­õcÖë+매x†xr$.ûBö<¯¯¬¿Ôn©‰šI]c݃wN>=ézÒõÝï„HMã{ÍcB¿ ÓúO““º•pëÔ³Sƒ6²2ÙvsÛ¸¾ãfØÌÐÓhñnæî;»/F]”•ømÄot ÇgÅ ?Æ„VÆ÷ú¦çiÏ•¥•=Æz˜¨™dgþ}ÿ祿¤_/üôÛøÞÚ>¶ïX—.â"â!oBN>;¹:`õ(ÓQƪƦðyìsúùi3 3“hi|yëˆûYB=É‹Ìyåy6Z6›6%ˆ,{G{w?åþÃÔ‡N}œº6<$p$$$¼¼¼¦L™âçç7wîÜ®ñYÇæsçÏŸ—––ŽŒŒÔÐÐGGÇ &Y Édò¼´¸täÆH 9 p4sœ`>Álû×ãû𠪬jÜ–8y‰¦¡±r–—ß{ooÔǨ!Mã;h›"7Ÿøö!<5¼°²*Må½' §«¿¶>¾L†Ï#a‘'ëžØèÚ°ÚñëAji|§ŸŸîñ¼—JÓi·žÙ{kï¯oÐ*h¬»½úM`e]S,§¨Éªí Þy6âìç=æZæzJz`©mɺ ûÍq9K­}랤âKÅÁ§ï§Þ¯øRa¤dÔ|’Çü¹§Ÿº]qÛì°¹j¯§^o Þê+êߘƒÉd&^I¼’R˜BgÒõôfYÌšm9›D"í0™Ì 7A‰É…ÉtÝ@É`–Ŭiý¦‹<æõÔ ¼žzÐAWcsb€#osêãt?å~Lv æs蘘˜,Y²dÿþý£Gfý«z†ŽÍç>~üX]]=uêT"™# :ôñãÇÄÇŒŒŒ¢¢"eeeâ“É$®„@rr2+suueoÜÊÊ*<<¼¸¸˜J¥òÞ÷§{>~üXRR2jÔ(V2G‘‘i­~UUÕ¸qãX9(**N›6íØ±c‰‰‰£F" ÝÜÜØtssÛ¹sgbb"—`¾­#.g‰Ç¾x÷±ècu]õT«©D2G0¢ 5ú8¹i|?gU)K+O?Ö44À€¢Ê"Hþ”ÌJÅ\~¹ŽUxjxqU1UšÊ{#ósߢ%Õ%£LG±’9‚ ¥•ñ-úXUW5®ï8VŽŠRŠÓúO;~,17q”iÓøûz|‡¹í Þ™˜ËóøòÜ—³Äc_‚«®±nö¥Ùï ßß¼Yrm‰coÇ6|™÷rïã½t&L“É\{{íÍ·7Y’ “w<ØñžöþÏq“É\ukÕ÷wX’>%%}JÒ”m߬#ã}Ƭ©o-R’TŠZÕÚÞ¬Ò,è¥Ü‹½°7µ7d•eµ+„X–/_ìíí½gÏž®ŽñSÇæsµµµÐÒÝCÖ%4¨ªª€¢¢¢G5o5 8žH:Þ®F¸Ï%VRRâR‡Ý—/_šÆ*!ö8NQ莿q9K|W[_ -Ý=d]B€ªº*(ª,zô¾¥¡©g߯ŸHâŸCÞÑ”ç:¾ µ $Åóø6|i«„ØKà8 D¢;þvÄå,õxçãÏ¿/|¯¯¨¿cÔ ‹’š’“Q'ý^ùµyà½ä{Óͧ/¸X[N[XHøÆ›7ßÞ4V6^?b½¹š¹YìMÁ›?BÿH˜Öoš¥†e`Rà÷wä(rklרØËQäÒ>§ù¿öY6dÙ@íó¾ã^ž½Œ<Œ<Æž ùù^œ.+.ËJ溊´˜4”ùjꊺ —P@"‘.\xûöíüüü®ŽñM‡?ߺk×®I“&mÚ´ÉÛÛ[GG'##£´´ÔÌÌ,))‰µüÇáLJ ¶dÉ’µk×êëë‹‹‹gffÒh4ؾ};/×ÉøÕx{{6ìüùóW®\100NNN®¯¯÷ððhñï}ûö=zÿþýÿþû¯Avv6Ñé¾}ûØ¡ÐÔÔ8p ‘‘‘˜˜Ñ ……ÅÌ™3‰½–––°dÉ’þùGBB‚XîÛ:êd»œvM:2iÓõMÞ¡Þ:Š:Ÿ3JkJÍ4Ì’ò’XËv9<ÌsØ’ KÖ^]«¯¬/N·U' IDATÏ,ΤUÐ`ûÄí¼\'ãW#à=Ó{˜ç°ó‘ç¯Ä]1P6N.H®o¬÷çÁ~aŒeß´}£½Fï¿¿ÿßçÿ(d—dý MyÍ 4R1#‹ ZhYÌ´i_-KXraÉ?aÿHˆJëÏ}[GèÈQ¾ºNäî-Þ¤f-²Ãß9NG^R‹R­4¬X…É…É #§Ã¿0Ñhâĉû÷ïX½zuWÇ‚ø£ÃW ™8qâ¹sç ccc ÆÅ‹‰ûŒÄE)èÛ·ott´££cuuuBBBtt4F322òôô$¦ñ‚/€¥¥å³gφúåË—·oß&&&Š‹‹oÙ²¥ÅÅçÀÁÁ!88ØÐत$66–F£©««_¸pãiðC‡999¥¤¤$&&Ö××;88Ü»wØðáÃçÏŸßÐÐαžK»:êdÍ'žs;§ ©PXY›Ë`2..º¨!¯RbMã«Ñ7zS´£™cu]uBNBtF4­‚fD5òœê)Jæy|ùÑXj[>óx6Ôpè—†/oóß&æ&Š‹ˆo¿E˜ÔÊøš8¯6¤–T—ÄfÆÒ*hêrê^˜;øëñuÈÉÂ)¥ %17±¾±ÞÁÄáÞÊ{¬À† Ÿ?d~½!636<5œc=—vuô#Ó‘Ó¡UÑ>|þÀ^ø4ãi{Û1P4 ˆP^­~•¶!ã¿#SŽÊ¿”·v—Èû;a΢– °?·Áú8@{@G÷Žz62™ìäätãÆ ¼ƒßcÚ5–ÄÓ£\ÖûhM}}ý›7oÀÔÔ”Á`èëëS(”ŒŒ Žjåååiii CWWWYY™UþñãÇììlkkkV È*´±±‘””üæF '''==݂㑖‘‘!++khhÈËå½´´4âµ ½{÷f¿¹³aÃOOÏW¯^YXXäååeggkhhhkk7o¡°°0==½®®NNN΢µÀZë¨]g‰;‰´jÕ*///ë×7ֿɦj¦ &C£>E„’±·ÙøÖ–§¦1˜ ]E]ei¶¡)ú˜]’m­kÍJY…6º6’b’ßÜä”䤥[hYp<²@« e|Î¥ÈR y¹¼—V˜F¼¶¡·ê×ã{mƒgˆç«m¯,´,òÊò²‹³5ä5´ZßÊÂôÂôºÆ:9 9 -‹Ök­£v¥}óÏ/F<ÔCCš£#·:ßàdôIÏ0O}Eý£wš«›³?ÑÚû¾Xë•,°YÀj‡xE˜™šÙŠ¡+,Ô-¤Å¤ « S‹R“g[΢;äjâÕw7*H(¬±[c§o'+.›^œîÿÊß©¯Ó­éÅécNެ3øðäÃWþø«ÞàpÜ!¿"ŸXO˜,D>Þë©—ü·p\Oøw÷®”»»JZZ«³8Ú”’’2~üxŽõP÷a``À{åθãååµhÑ"â% Ë–-£ÑhK–,i^SVV¶ÿþÍËõõõõõõy)lo#ÐúkRUTTÚµ<¡¡¡¡¡!÷:ìK·p R©ìSýZ ¬µŽÚu–øÈë¡×¢á‹ˆ—4TÔV,»´ŒVA[b×ÒøRdûë´44ÊúúÊÍ"o©°½@ë¯IU‘Qa-êÆ Cª¡!µ­ñ•Ó`_º…UšÊ>Õ¯µÀZë¨]g©Gš×Þ­··Þ¾Ÿëÿß5K‰4Þd<ûÂ"¼pîë“s-éÚâÀÅ»fšÏ€©fSÃÓÃCRB6ßÛ̾×ÑÄtåuU¤T"³"­Yå´þœˆ°Èî±» üåtìéÓ±§‰B‰´sÌNLæÐ÷366ÖÓÓ Ç|®gèŒ7~lݺUII©OŸ>jjj/^”’’òððè„®Q'Øzs«Òj¥>ÛûXüa¡¶VíbÔE)1)±8¾ˆÏÄÈb~®~³-g+I*‰‘ÅLUL}}mõÛ~‚‰Dòïé3Ùg¨îPYqYa-9­Q½Fù:ûÕ B$¡Ã“ÿ9îO u ŠEJLÊ\Ý|ãžA:ƒ@XHø¨óQkMkŠ…ÿ_òk¶ú¶~®~Ct‡HŠJRD(6Z6gfœáeÉ=„x1lØ0öwH"Ö×çÖ®]ëííýîÝ;âc¿~ýNœ8A¼õkG¯õõ~—ß4¾šýNÌ;A¼!þ’—Ù9fçÎ1;Ù §šMems¼¿ÕVß¶µ‹g޽¹$F$i¦ùLâr]sê—ç\n_èßÊZÓúü¬óm×C¨ý†êççWQQÑÚšùÍÌÌÌÌÌìÒ¥K]Ò;wïÞ={öìû÷ï wïÞnnnãÆã¨óéÓ§<{ö¬²²RGGÇÕÕuΜ9kfñR‡_:#ŸÛ±cÇ–-[233‹ŠŠÔÕÕut~¬'³/^>>>>>¬¯^½Z±b…‡‡Ç/¿üÂ*üôéÓÔ©S ‰>|عsgzzúŽ;ÚU‡:ã~+ÉdCCÃÁƒÿhÉèëëÛÛÛs<„ÑÅȆTÃÁƒ´dô•õíí9Â@¡îJ¥*))±îžu¾¤¤¤îvq.33óÈ‘#d2yÇŽÑÑÑñññ”––>pà@vv6«š§§gaaá!CBCCß¾}{ôèQIIÉ‹/²/OÁK>ê¤|!„BÝM¯^½ØWøGaaa cîܹsæÌQTT”••4iÒÊ•+‰:•••!!!RRRGŽÑÕÕ3fÌš5kàÊ•+¼×á/ÌçB¡”ššZAAA]]¡¡á¯¿þš——çîînmmmhhXSS“••ehhÈq(ܽ{7ñ‘ulaaáªU«ú÷ïoff6oÞ2'OžÄÇ~"‡ÚÚZAG È"**Ч)&&&ƒKæÀÔÔ”ý~–' b›©©)–Ìa°•¬¬ÞÛ°X]]Þ¼y£¥¥•ŸŸ›6mÚ´i–*±X,ìÅ —yûùçŸ /]ºTPP ..>{öì5kÖ888¨©©a¤¥¥ ±±‘ãÄÆÆF"‘ˆ=ä奡ûsHïÐ&Í‚ =‹…äâØ+°·8~à÷󨉉‰±:—í·kÞ‡ý?6´ŽCWWöb@ãç0‹-Z´èÝrâ7nÜ€qãÆa‡ØÊkyyyì-444TUUéèè`ÆKþX>ghhhhhøáûy##@X»víáÇÂO‚A‘¥µµURR²¯wŸå€‰‹‹Ä:>ˆ¹Ã’°sçÎÙÛÛó½qLWW×ñãÇÀÍííŽ2$éáÇì[kܸqƒÅbá›áòR‡¿Ð|AùD577s™÷ ..®®®ÜÒÒR[[{åÊ•C‡ âƒÈdr~~~ii逦ÍökÞ¼yD"qË–-ÁÁÁ¯_¿îîî~óæMRR’–„Àùóç úÃ~sîàÁƒW®\©¨¨èììLIIY±bE^^ž±±1žÏIKK»¸¸´´´lܸ±¤¤¤³³óÎ;X·àwõx©Ã_èy+‚ £IeseLaLes% Xߨ~“P–\žìiî©$¥Õ-ÕWR®Xk[[k÷>{þúpɮξ—wÏÍÈM_qh7Üûˆ®Z[[¹ÏcõòòÚ·oßöíÛñ ƒxLgccsóæÍiÓ¦a‡/^ìkŠë€P(”_~ùåçŸÆÃí]»vpmVTTœ:uнDMMíèÑ£D"/ùé§Ÿž={öôéS'''¼ðË/¿477P>Bù‚ £FbYâêk«Û»ßßö²öŠ-Ž=bºát,©j®ò§ù{S½?¾ß»üÒoŽ"YUYþ4C%áÎç8~®*š*BÒBlul'k Ƀ³áTSS£  À¥Â²eËÚÚÚ._¾\UU¥¥¥µjÕ*{{ûAäs;wî¤ÓéñññüŸ½páB##£€€€„„„ºº:yyy …2sæLww÷Á5¸}ûvyyù‡VWW«©©9;;¯[·Žcå55µÐÐÐC‡ÅÄÄ´´´hkk/Y²äË/¿h>Bù‚ £†?Í¿½»ÝÍÈMOAOˆ $,$lG±%‰*J( :´Qõá ¨H«°ÿ‘PÑTáOó' ?‚|®  ÀÌÌLTT´¯]¿ºuë°…?ØÏÂ_÷znÏB%%¥#GŽpTKOOçÞδiÓz²¯$‚™0a‚ŸŸ_¯ñ‚ªªêž={öìÙýšººz¿žy©Ã/(ŸCdÔxYûR_Qß®?^bO±·§ Õ8èêÃAP–Rö¦z :Š!QTT4oÞž~äé¢ÑÝÔ]FL^¼záOóß긕Ë%°ŸK(KI €ø’xü¢°|n_¨`%''‰D޽ç‘QŠÿùÜŽ;°µ›GšXOûöísttäÈçFHü;vب«÷¹X‘ØÀzÚ·/ÖÑQ‹#ŸEñ Ľ)2b2ÇãŽË‰Ë-27ÛÿiñÓäòä¾ÎzÕøjÕµUMMfêffjf"$‘ŒÊŒø’ø¯C¾¾÷õ=)Ñ·ÓúZ:[ÜMÝU¤U2+3Ÿ?ÝswÏtÃéØ ¶ÖÎÖø’øqªãŒ•%›:›Jž>9{ô‡©?àŸÐAïøbürrO‹žfWgï¹»§¢±B„(²Ôb)Qˆx+ûVfUæ•”++,Wð‡#±Gð{B½R”Tì+Ÿã±³«³7…o¢3éãÕÆ[jZ¶tµDçE¿xõbýë¯}y­ßubÚºÚf›ÌÖ&k«J« ¹~ i¯ÓvEíb0“µ&OP›P×Vw'÷ÎÑØ£Üƒ"ÙéØÝÉ»ÓÜÙŒµS£EÖ*k(‹-‰uë1E1@Õ¥r¹vVZV &,I ±Ñ±±Òz·oÁà¾PÁЉ‰133ÃWGCFµ!ÉçøÞ&_ŒØÀx4Bâß±c„N±ñh´Ç?Ô¦èM™¢7%01PUZ•}$S'½“K>w2þdSG“³ÏÒ‰Kñ³Ig}£}odÝXb±+éftßöº­)«‰n‹Ü’’X–8MH‰J/ –•N~•\ÛZ+Lv1r)Vþ à{:ÂV”W”šŒ0n§Ýb‹cí(v§=N‹E`Ù¤e3NÍxPðËçxŒÃ» ýÞŸûÀ><ýì4I_5yÕŽi;°ìm«ãÖùçæ¿xõ"¾4ÞVǖ˧@{wûU7ôôð;û·p6é,ƒÉð¦zã‘{S½çÎá Pu©‘9‘±Å±3ÆÎhêhÊ¨ÊØê¸5 !€VDÃò9ZM^BÞXùÝ=ªž—Àn²Öd€Ío]o·/Ü*X4mÁ‚‚Žáá?G§Óïß¿Ÿ‘‘Á`0ŒŒŒœ96€ää丸¸¦¦& WWWeeeü\___##£Å‹çääܽ{·³³ÓÖÖ–J¥r´ÐÜÜQRR¢©©9wî\ƒáççgee…/ÈïÍr‰­/\®—ýsSRR=zÄ`0¨T*¾ Oiii@@“É,,,Äçï¬\¹’B¡ ¨ctÒs˜μ¿4#ã ƒÁ42RpvÖãü¹JN®Š‹«hjêÒÐruÕUV–ÀÏõõ72’_¼Ø('§îîÝâÎN†­­:•ªÁÑBssWDÄË’’&MMé¹sõ –Ÿ_²••ª››^ÏÀxo–Kl}ár½ìŸ›’RýèQƒÁ¢R5¬­ßîúWZÚÁd² ÷î}»ÿÌÊ•¦Šì€:v@ø)‹-‰%ˆumuGcâ»:¶v·@úët°x[mþ¸ùxŽcCÒBªš«°C!‚Й„3Q¹Q¿i}Ã~8oÜ<,™"h­mý²ö¥—•–Ì€®¼®ºŒú«ÆWŠÃFêÆAöÏ’Ë“‰â÷S¿ÇoÅɉ˭³]·óöÎäòd[ÛöîöSÏÞ­Î%F[c³?t7uçÈ„xì@îßÂóòçâÂâëíßåOZd­Eæ‹N?;övãVL›1vFlI,ƒÉ êRójò°Ç©•3g²ßwìy ¼Ü*@¹¹¹‚á!?—••5oÞ<ö-Ì444®]»fgg‡VUU-Y²äÁƒx ‰#GެZµ ètº»»{IIÉöíÛñEk¼¼¼Ø—ûKJJš={veåÛA*jjj'NœðññY¿~={>‡Æc³Ücë÷ëÅ?7--mÿþýx/¿ü200D"•––úøø@QQö±|Ž÷Žåñc˜WVVí¼y×óòêÙºvmŽÝÛGÃUUmK–Ü|ð ¯ !!|äˆÓªUo/ŸXwwý’’¦íÛŸàkyy?uj~JRRåìÙÿUV¶b‡jj’'N8ûøÄ®_oÁ–Ͻ ŒÇf¹ÇÖ+î׋nZZÍþýÏð:_~ièB" •–6ûøÄ@QQ#öµ(Ùu,ˆÔµÕ1XŒ¿i÷|‹}pž‡a°[\tæÛ½‰ŽÅ‹Ê’—wÐuP•V!‰€p%å > Ãñ`Ö³°©£i@±qøñsüŽ,NfÏçzNbà±¹ ªÒªD‘½ŽY ÝWTê2êz z1…1@+¢)K)UKÕ¥†¦‡–Ô—dUe1YLŽé½=/ƒûB($$DKKËÌÌLÐ ü1´ë•´µµ¹¹¹•””hkk»ººŠˆˆDGGgggÏš5+33SMMÁ`Ìš5+))‰B¡Ì˜1CNNîåË—ááá^^^ÆÆÆ666X;ñññ®®®¦¦¦¯^½ >}úôâÅ‹±5—›››ÝÝÝ+++ étú;w¼¼úÿ/÷fyŒm@׋U‹ Ç>·¬¬,,,ìÂ… »wïÖÖÖÞ³gÇ| …2¸â~®­­ÛÍ-´¤¤I[[ÆÕUWD„]’];kVXfæ*55Iƒ5kVXRR%…";cENNìåˆðð/¯;ÆÆ 66xœ/]]õLM^½j Î=}:}ñbc''mhnîrw¿^YÙjh(çìL¡Ó™wî{yÝé7<îÍòÛ€®«[^àêªkjªXVÖ–wáB–ÜîݶÚÚÒ{öØíÛK¡Èâãç(ÎÁ+<~÷ D@FL¦‹Ñõµõ×=ßâ}ÚG/‰‘Än{ÝVx»ì*‹Å:—tnÐ;ŽHl2~Ž×ÀDe^7½î w°§t¥ ¥ +& b$1öǵ™Qè½” øÔ²b²•Í• ƒ=¥+kx·¯(—¨ì)öAÉAÅõÅ´"v»ŽªK%´bZfe&¼?x®×Kà_~؆MWW×õë׿úꫡ؈¡Íç.]ºTRRbggw÷î]lÇßîînOOÏÐÐÐcÇŽíÛ·/,,,))ÉÓÓ3((ßI#))ÉÖÖÖÏÏïÊ•+XIuuõÿý‡¯õííJ í 'ãObo€¸°ø€cãKNÔœx#óÆ¿OÿÅŸ8—5”]K½†Wà•ƒ®CPrÐ…ä åå[([@N\ÎXÙ8¦0&»:{ŒÂ˜ž“¸Ã®¥¡½½/?lÃæöíÛÍÍÍ_|ñ… Aøfh󹨨XðññÁrÞ¿hhèÓ§O ::¤¤¤öïß=ĆÉ䤤$¼ ö;°G¨Øa\\ìÞ½Kæ@BBbçÎ3gÎä÷fyŒm@׋100À“9°¶¶ž;wnHHHVVÖ„ ¸Ç< â~.6öøøØc9 íßïš÷ôé+ˆŽ.))‘ýûŸý¿Åb‘É¢II•lqªàI `P+*Z°Ã¸¸ ؽÛKæ@BBxçN›™3ø‡Ç½YcÐõb äðd¬­ÕæÎÕ ÉËʪ0§ý”xü îˆÀ7vßDåF}ñ}`b ™š™´˜tMKMÞ›¼ô×é 4dynh¡n‘þ:}vàìÏ >€äòäÌÊÌLæÛ0ŒŸûÊê«[Ù·Î$œI*Oš¨1±¥³å~Áýº¶:susí^žKô‹/¸Òrå­ì[ÓþŽ-‰Åç·Š sÅ¶5IˆtñÅE€ßŠsÐuH èftcÓSD‹¬%D N ¦3érâràMõæËÛð`0ÇŽsuuURe;¼üŠ+, IDAT!\ m>W__zzï ,ÕÓÓ#uuuPSSýŽèÒÒÒb?Ä6îîîfÿއ’=ŸQ´Ycc×ïõbtuu9NÄJ°ÓùøAÜ/ðÃÕ×w€žÞ{ÿ]ÖÓ#PW×55ípêT÷v´´ÞûãUJêí)öO¡PÞÛ;ãpÍò»~¯£«ËV‚ÎÇâ~hÊjy}ñ}FeFFe^n¬lÌûïWoªw\I\þ›üÀÄ@ ‘~qùåÒ‹KìËŒ *¶¡`¢bâçî·=r{jEjjE*Vˆ­?7¸GÌ|éÀ j|]|÷ÜÙ“X–˜X–fêfsLæüýK¿çJŠHZhX$–%š¨˜ÈKÈc…T]ê‰ø0ˆ½1Èâäùã燤…%á×8b¿ÐžBCC‹‹‹?.è@~Ú|NNN Ù3ÂÂB‹%//WøöÛo{þ• !ÁëS¬‘ââb|ÜvøA¡*¶~¯STTÄq"V‚Î{lý~ÐP““€ÂÂ=½wLaa‹òòbx…o¿5WRâì1 ^ö°FŠ‹ñqcØá‡Å>˜Øú½^LQglX v:ï±õûAŸ µ6kñßÇ޽G9öÙ“ȯ"Ÿ¿zžQ™ÑÞÝ®*­:Vi¬±ÊÛÅ)tät¼©ÞïM>Ä '¨½½YN'G¬ŽxP𠸮XFLfŠÞuu&‹‰Ïlèµ]IIÉ÷v:ÿrÒ—ôNc"ýö!¸Œu±Ó±{Rô¤¼¡\„$2^uAël×q”pì=Úë>›a’æ$lìì÷w¿…$!’³¡3{ ¾U_Pu©£ì`©ÅRŽ.± ‘~û##&3˸—Q¤\ôÚ˜At`¯…j2jì ¹+³¯ÇEϯC˜(Ìã‡Bo?WÁŽbgGá;ü_è@ýóÏ?MMM6lt Ÿ m>·dÉ___fbb‚OÃÌÊÊ’““ûæ›o`áÂ…~~~'Ož¼s玓““ŠŠJ}}}~~þ“'O¶lÙ2yrÿ€§§çž={"##ÇïììÌ`0¢¢¢ZZZàC&  "¶~¯£¤¤´råÊ«W¯Ž7®´´4,,ŒN§oÞ¼™Dzûuèëë¿xñbÙ²eºººBBBØúsƒø ¡¶d‰‘¯oöÊÄ$Ÿ†™•U+''öÍ7æ°páX?¿ä“'ÓîÜ)vrÒQQ‘¨¯ïÈϯò¤|ËËÉ“yƒìéi´gÏÓÈÈÂñãÏ:;S fTTQKK7|ÈüÂAÄÖïõb””$V®¼}õjθqŠ¥¥Íaayt:sófKéí_úúä/ª—-‹ÔÕ•"`ëÏ âƒAäÅ‹§NÚ·o9÷ñÚ|NBB"22[& T¯®®~íÚ5ìÙ(‰DŠŒŒ\½zuDDD@@~¢†††••Uïö --}ýúõ9sæäæææææ€ªªê¡C‡–-[†O„AÄÖïõbìì쌌Œ]`[¿×‹±³S72’?x0áöí·Ö—.5fßþaófËU«n_¸…bëÏ âƒAx×ÞÞþã?ÚÚÚ.\¸Pб ü7äû·š˜˜dffFGGcÛŒ;ÖÅÅ…}EEÅ7näääÄÄÄÔÔÔ())888`K„H¤={ö½4‰´gÏüé$X[[ççç߸q£¬¬LSSÓÝÝýæÍ›ðþ„öÀxl–{l½ê÷z1X¸páãÇ™L¦½½=Çjv+V¬˜8qâ£Gêëë™L&–Ì ¨cy¼ÀAàØfÔÄD!3sUttIFƃ5v¬¼‹ …}EEñ7æåäÔÅÄ”×Ô´+)‰È98hbK„HB{öؽ7š+ÄŸN€µµZ~¾×eeÍššÒîîú7o¾„÷'°Æc³ÜcëU¿×‹9p`ÊÂ…c?.g2Yöö«Ù­Xa:q¢Ê£G¥õõL& [n@Ëã"‚`X,ÖO?ýÔÐÐpéÒ¥\:™øÎ¼ððð€ààà!‹g²²²tttð»qoÞ¼¡R©¹¹¹©©©<®2<:::ÄÅÅÝÝݯ_¿.èX¸!›6m:|ø° y++«VGG¿÷æM;•z97·.5u+€ Žº¸¸Ÿ»»þõësK/øõï·ªª ÏÐ}ý1þþUnnhå*‘‘RÞÞ*/{¾ÕÐа}ûö#GްßzøóÏ?OŸ>€o΄Œ|cÆŒá½òÐ>o6‘‘‘prr¢P(·nݪ¯¯Ÿ6mÚˆJæA‹Œ,

¾ä€3UÙØÑ®]Cbc3ùøã²³Ÿ]¬,)}t“ŒŒ<=­ktæþää\¶n½ÇÒ¥7˜9Ó¹ÚåËg0NJÊå“OHJÊeÄÛ:]q ¼óÚ³'ŒcÇb«€È¥§çóÙg·),”•ÙfCÑ÷;#$×®];vïÞÍÕ«WY±b…ºÃ4˜»{Qûºví¢£ŸÝW‡†¦³iSP™Ç%&æòé§·ÈË+úL–É`÷î0üüiÞÜXñ·×¨‘&&:\¸ðX©Ý KgíÚÛUŠYþ`ÍšÛJ÷^÷î=á«¯î–Ø_~täH M›*µÙ]»Z’’ËãÇÊI':—W¨H2ÖÒ’ÔØàŠÊÆ¿gO˜bÕ9ùï5>>‡ÈȲûCä–-k_©{m›ŠR<Èâ¿ÿ !1Q¹O&+úŽVX(#/¯ìÁEòÄÞ²Úm++^Ý©TÆ›oúpøpt‰ï„†Vmp™œ| ë¢E×xøðY?Ga¡Œ~Ã×7ssýûΛ+å÷ßc˜2å2ÙÙEß :v,}¦ýʯä·sç}ΟL‹&têT½•QÞy?ÿ˜={ˆ‹SþŽUP ãçŸ#¸s'-- vv¥¯P%¯'ϯô¨ Ù±c¶¶¶Ì˜1ƒäädu‡$h(Ñ?.úÇEÿ¸è¯I¢¼t¢üÅ'¦Tøì³ÏX±b—.]ÂÝÝ]Ýáÿ2Ÿýñ+~_Á¥%—po)êŸ ‚ gggDzeËX¹r%^^^¸¹¹©;$AAJ!‘Høâ‹/>|8›7ofÉ’%êIÐ0|ІwÞù› Ù½;[[#bb2IK˧U+3‚ƒÓÐ*eЧ&M ;ö/LÐÓÓ",,üüB\]0b„­b¿‘#mÙ¸1}û"9wî1M›•AVV®®  *9 cE.lÃÛoÿͦMwùßÿ°µ5"::“ôôg1÷ñÇ™8ñ"}äÏ—_Þ¦yscôô´xð K‘h3wn+ttž=Ô7®96ÜeÑ¢ë@Í­8PÙøÓÒ X»öë×Ò¤‰!ÖÖsæ½{ÿ‰££)ÉÉy<|˜¥ˆYyNŸ~Ä/¿D°$&˜šê’Ë£GEíË®]½gíËĉ-8p ŠE‹®“””ËŒ-+gMÅ¿gO(ß‚¹¹>Íš“—WÔžÈðô´.ã]”ÕÆ,í‘‘¬^ÀÇм¹199Ròò Y¿þYYR uÊm3ôô´Êm³µ´$üç?=xóMîÝ{¤IiØPæÍ‘H ))—²É woKlmKOL­Èòåí™:õ2{÷Fðûï188£§§MHȲ³¥i³dI»*• E«:Mž| €¼<)II¹ÄÆf)¼Æwàí·]Ê=îyŽŽ&|öY§Ûdzç×_#Ù¿?êéÏUŽ»"•=¯+W8sæÚÚ,- °¶6 ;[JTT&¹¹E‰è³f•ü=ÈåçK15ÕÜtŽ;²yóffÍš…ƒƒ3gÎTwH‚0 ‰¢í2ä4NN¦H¥2""2hÕÊŒ‡)uE<''SŒâøñXL”¾c/Z¤<³ÿøñìÞÊÈ‘çpv6%7·ÈÈ ÚµkX"™Výû7¡S'süý“:ô ŽŽE1GFÅüü ƒîÝ3~¼D2`À)š53¢qcÒÒò‰Í"7WÊÌ™.ŒñlE¡Cmøä=~ø!Œ²ð𨹙Û+ÿ_=æ³Ïnal¬ó´@›ððtÒÓóiÔH¯ÜÁreÝïVGff7²yó]lm05ÕåÁƒ,zöü“¤¤¢ûßÑ£›—y¼ž^Q¿FyÉÁ‹·#::“Ó§±xñuV¬¸I‹&j“ššOll&yy…ØÙÓ«—e•ÎãÝw[ñ矸~=‰þýOѬ™1ææzDEe*ÎãÃÛ£§Wµ9Å¥R™¢m+,”ñäI>‘‘Šónß¾7v-÷¸ÒìÚÕ»Ä Ý!Cl05ÕU¬4vlÙ¿ÿêªìyEFfðùç·ùì³[˜›ë+VðŠÍâÉ“¢$ó‰”ý‹“¿{~u2MallÌ÷ßÏØ±c™5k?þø#úúU_ISø÷ý㢼ªDÿ¸jDÿxÑ?.úÇ_dšùmR,Z´™LF¿~ýÔJµ½Hçòo±Èk²í2úµê§îPªíE:—ITJ[.oáæÃ›ê¥FÊ ñàÏ·Ë–Ë[ˆJ‰ªø A„:4aÂzõêÅŠ+JËžyLž'•IÙry ÇƒŽ«;”‘Ážk{Øry >‘>êGA‰ Ë–-c×®]„„„¨;Aà Єõë»Ð°¡II¹Üº•‚L7vÅÚº(™ÀØX·Äq+Vt`Р¦„‡§sïÞòó éÝÛ’]»z+%XZðå—15Õ%>>‡€€dtt$|óM\\ª6«Y¿~Mظ±«RÌ……2Ö­ëBÛ¶ KìïâbÆ¡Cžôëׄìl)AAOH!11þïÿÚ–H€;Ömm aaé´jeFÇŽ57 leâwt4áw\07×ãáÃ,üý“ O§Q#=æÎmÍŒÎ5WeMêÈÀMÈÊ*àÖ­RSóˆŠÊD")JRÚ½»ZZÕ{HÕ»·%ÇŽ dìX{LLtxð èw˜JjjîîVüò‹Gµ€gÍjÅgŸuÂÚÚ€ÔÔ<’¹wï ZZFjÆÏ?{TkæþØØLüüñóKäÖ­r07×güxŽéÏ„ ¥?P/~ÜóÿŠÏ6^ÜèÑÍ¿ó‘#íÐׯ½ú+{^Ë—·ÇÃÊÂBÑÑ™øû'‘D"¡O+~ýÕGGÍ›¸2>ýôSÚ·oÏìÙ³IO¯ÞÌÛ¿S“&†ìÙÓ''S²²¤Ü¾ÂãÇY¼ý¶3Ç%Ü—LÄ=º9sæ´&%%Û·SÈÈ(ÀÁÁ„~pWJx•H`íÚÎØÛ“žžO@@2‰‰¹,XІ‰«–üammÀÿþ×gg3²²¤Ü¹“J||6Ó¦9•š°bd¤ÍÞ½}™2Å]]mBCÓñ÷O&66SS]Þ|Ó©D[éæÖ3ÂÂÒÑÖ–0fLÍ%*U6þ¥KÛáâbFrr.É=kOÖ¯ïRcqU–§§5¯¾ê€®®!!iDGgòøq6ÙÙRºu³àçŸÝ±³«8ù¹¥ÖSUtëÖ˜ô ]»†dg<ýN—LNNÑyüú«gµfºOKËW´m7o¦“…6ýú5açÎÞ|ùe'$¥|µ)~ÜóÿîÜI-õ½:u2W´{ŽŽ¦¸¹U%ƒš:¯éÓ[2jT3ŒŒtxü8›€€BBÒ ]¦ IDATÈÍ•âìlƶmÝ5ªY­Å[ôïߟeË–±qãF|}}ÕŽ ´µ%lßÞ‹¾}­)(œFhh:ÖŠÁ=¥}¶ha–-ÝÑÖ–(¾c›šêòÅ>ÜViß¹s[ãînE~~!wï>!<<¡CmKˆX™˜û÷oBAŒ4ÂÂÒéÝÛ’/¿ì\ê1ŸîƇ¶ÇÊÊ€˜˜¢{µ°°t e nËÈ‘vJûëëkóÒKvDGg"•ʘ0Á¡J±ÖDüÓ¦µ¤O+²²žµ'ééùôèј={ú¨mµ3;;cæÎmMÓ¦EÉÑò{ߤ¤\ìíÙ´©ÆÙV\P9Šúdz²fMgZ·n@NNQ?ÉÊý Ç e˪µ«é±_ *JÄŒÌàÆdÅylÛÖƒW^©^["oÛ®]Kâþý4 etèЈի;rð ' ê•{\iÿ KÉË60ÐV$÷kiI=ºvW¨Ìy ДiÓZbccDrr.©¦òäI––|ðA>ùäÅžôÑÜÜœ;vpÿþ}>ÿüsu‡#h(Ñ?.úÇ«Jô«Fôýã¢üE&‘Éž_4MuãÇàÀ5 š¾RD"aþüùlÚ´IÝ¡U ‰+Õöç_\\%—š,MË–NlÙÇðáªí_.†_dúþé,¸œiݦÕÙûÖ†Õ§WóGÐ$g=[Æxׄ]ôuì«Æ¨Ax‘üù§ óæYV­rÂÂÂ1b«W¯fâĉ5P—æÎ-š‰vëÖ¸:{ÏÜ‚\ÚnhË çA|;öÛ:{ßÚ°?`?;üvž®Ø6³çL÷[¬Æ¨AxÑÔÄýUaa!ãÆÃØØ˜ü±£êJM}«ªüüBBBŠfàkÙÒ”ÂBýûŸÂÀ@‡ †(ö[¿>ï¾ áØ±¸º6 ..‡‡³°¶6ÀƦìYßss¥§¡££…³³)ººE³'&&æÒµ«E©³$W¤(¹ê 2YQÌÚŠ2»t±@G§d™ééùDEeRX(ÃÎÎsó²g½u+…ìl)ÖÖ88˜T:>€G²‰ŽÎÄÕµffÊ+¿LeŸK£FzØÚ•z~êŸ_HLL&sçú±`A[úöµRi–Ù¶mÒ¶möï÷Té}ä³k±6-ZchXõYîåqÈiiI06ÖÁÂBkk•+MÓ¦†eÎ\BNŽ''S7®ú ¹eý«z^rùù…ŠY u°·7®09<88#ÎòÖ[Î,]ZõÜ5¡º÷WIII¼ôÒKtîÜ™mÛ¶ÕdhBSGÿxqaaE«ýØÛÓ°¡ï¼ó7çÎ=毿¼³/Æ1}º/Ë—·gÚ´–¤¥å‘Ž‘‘-[š•:¸ŠÚœû÷ÓÈΖâèh¢H\ŠˆÈÀÅÅŒFJO°¬lÌ 9„‡gàìlZj{œŸ_HXX:ÙÙRÅlÀe%ÓDFf—ƒ¡¡6:TmpEffwî¤bkkXê™ÊÄŸœœKLL&FF:ØÚ—Ú^©Ca¡ŒÇ³ùúë{XZðî».* Й>Ý—‹ã ¥òLòò§%°µ5*u†úœ))˜™éVzµ…øø=Êd4onRåzY<9‰¤(¸aC=ììŒÊ¬wÏWccÚµ+™”žNBB.––úÕJü)ë÷XÕó’+,”=]¥+‰D†­­±Jß-ºvýƒfÍŒ9|¸_•Ï©&ÔÄýÕ‚ ðññáØ±cXYYÕ`tB]RGÿxqgóèQ¶âžy×®P¾øâ6ëÖua̘¢Grs¥´m{”Aƒšòí·=ÉÏ/äþý¢Á5..f宦›I||.vvE³ÆËÿö›41ÄÞ¾j>Ÿ¿ÏÏÍ•rófJ™÷Æ2DEeœœ‡¹yÑýjYíErr.÷ï%–uß®ŠþIÄĤôö£2ñgeI‰Š*š½iSÃjµ'5-99—'àíýM›º©ôüÝw!¬_Èž=}pwWís+%¥hļ¼B,- °³+ý>Úß?™üüÂJ¯j˜‘Q@ddyy…XYéW{ ²¿2yyÏFïèéiaf¦‹Q¹‰¿ÏWš²ú§s KÇÀ@[¥)ÊSÖﱪç%'¿Ž¹¹…XY`kkTæ÷}¹÷Þ»ÊÉ“¹}ûeµ „“«îý•··7sæÌaÓ¦M¼ôÒK5PWDÿ¸èýãåýãψþqõýã/.''§*[/Ö‹¾{÷.K—.寿þB&“áááÁÆY³f ?üð 4nüìKxzz:ëׯçàÁƒDDD ««K×®]Y¶lƒVì·téRÖ®]‹¿¿?¬_¿žÐÐP¬­­™>}:+V¬@ë¹5«R¶ŸŸ[·n%$$„¹sç²aÃ6lØÀâÅ‹9þ¼Ò ;lܸ‘C‡†‘‘;wfñâÅ 4¨ÂßULL Ÿ|ò ÞÞÞÄÅÅann΀X¹r%­[·.5>¶lÙBTT666LŸ>¥K—¢£Stù ÄÙ³gðððP”áééÉ… Ê<—ªÄ¢êu¨KwÞeéoKù+äiýsö`ㄬ9±†| aSMŠÕ¿œtÖŸ\ÏÁë‰HŒ@W[—®]Y6lƒÛ«#‡–²Ö{-þ+ý ˆ `ýÉõ„ƇbmfÍt÷鬹-Ésõ¯ eûEø±õÜVBâB˜;`.Æo`ÃÉ ,>¸˜ó‹Î+­°“‘›ÁÆS9týa aéÑÙ¾3‹½3ÈU…ú—Ã'Ç?ÁûŽ7qiq˜›3 õV¾´’ÖMŠ]óbñù„ú°å좒¢°ihÃt÷é,¶­§õï«Aœ zZÿÖ«.ž\X|¡Ìs©J,ª^áßåĽ¤f§âfãF®4— ¸ u‡$‚P*'''¦L™¢èD52ª\§ h:ŸH“Âqhä€m[±J õ–––~ø!“&Mâüùóôïß_Ý! d÷î0&L°WÌ—‘QÀÇß$11—I“lÊ=ÖÚÚ@¥úú%“tœL«5›»ŽŽ¤ÄÌ•ijª[fbæóªšT\\Ó¦†4mjXêk•‰_"£r,«‹®®ŽŽ¦˜šêÒ¬YÙÉ_ÏkØP—û÷Óyò$ *N¼ÒÖ–¨T_¬¬ °²ª¸N–ÆÞ޸ʉs5Gu⪠TQÕOWW‹æÍË|h[š7’êU‚^UYXX°~ýz¦M›ÆáÇ=z´ºC4Ì¡CQôêe©ø<,,”±gOçÎ=ÆÑÑ´Üd33]•fö•H(1[quÿöŸá––XZ–]¦®®­[«6PÄÁÁ¤Ê JrÆÆ:ôèQv’keâ77×/7±J]´´$ØØѤ‰¨¼büó÷úõ$zö´Té[ÛŠ“ ´Ëý—§&êduã¨NüP´BPMÌ\VÕOKK¢òw}¹°°tRSójä{t}°zõj^~ùe>úè#¾ÿþ{u‡#h˜K—â15ÕÅÍ­MšÝúú&°mÛ=´´Šf/‹®®mÚ¨ÖÚÙ+ ²¨îß>”¼Ï××/¿L‰DÞW\¶¹¹>=zT¿ìÖ­ìx*¿‘‘v¥¦Öss}Z´0¥A=•Z5*Úïúõ$•5j¤§Ò½V§NU[!ÂĤì²UQÕ8ªz@ãÆúÕJ*V%ŽêĪ_G¹¼¼BŸ`` ]­Õê‹¡C‡2eÊ>þøczôè!ó •&úÇK'úÇU#úÇk6Ñ?^’èê;µ ºwï½{÷æÉ“'Šmþù'W¯^¥K—’Ë·§¤¤àááA`` b[NNçÏŸçÂ… üøãL™2E阭[·²k×.ÅÏÑÑѬZµŠÂÂBV¯^]­²×­[ÇÞ½{?–¶†éSIIIxxxô,á<++‹S§NqêÔ)òóóuJAÏž=‰Wl‹‹‹cïÞ½?~œsçÎѵkW¥cÖ®]˾}û”ÊX±bÁÁÁÕš­¶*±¨zêÒ½Ç÷车7O²‹Õ¿Ûr5â*]ìK©Y)x¬õ ða±:’ŸÃù{ç¹|güÈ”ÏÕ¿s[Ùu¹Øy'G³êè* e…¬~yuµÊ^罎½~Å꟬œú—‘„Ç:‚«yYœ <Å©ÀSä—¯¨SšˆÄz~Ñ“øôb×<-޽~{9~ë8瞣«ÃsõïÄZöý³O©Œ¿¯ øq0?ΨFý«B,ª^áßgÕUtkÖ # VZ% ‚P¯Í™3‡°wï^f̘¡îp¡NMì8‘÷ÝßÇÑÂï`o1(H„z­k×® 0€mÛ¶‰AAB¥|õU ëÖÝÁÞÞ]]-"#3ÉÎ.ÀÈH›™3]ê$oï‡üïÏùúëN ZþƒØÚ¦I±Ö¥Šf }^§Nx{? _¿S8:šðÆN¼ür³Ú ®†húµ×´øßÿBCÓ³´º¹U/Iª¾èÓ§“'OæóÏ?ÇÓÓsó㼄ºáíý¥Ko`kkŒ¹¹ÑÑ™¤¦æðÁ®uCTT&˖ݨp¿®]-X° MDT6Mе.U´BÌóÜÜÌ9r$†7ßôÁÅÅŒ>}¬X²D½3ÓVDÓ¯½¦Åÿí·Áœ<ùˆû÷_¬6ÛÔÔ”µk×2eʼ½½:t¨ºC4HpðÖ¬¹ƒ…EÑÊ(qqÙ<~œ Àk¯9VjÀ]u¼ýößdf”»±±Û·÷ª“xÊ£I±Ö•ÊÎsìæV”»uë=þüóMšòÃ}j!²š¥é×^“â¿x1Ž­[ï™AJJÝ»7®tN}µtéR.^¼È§Ÿ~ÊÖ­[ÕŽ aDÿxåhR¬uIô?S_¯½¦Å/úÇM¡öAA .äÉ“'Œ1‚5kÖàèèHpp0 .äÔ©S%ö_´hŒ3†eË–áêêJnn.§NböìÙÌ;—W^ycãg£÷~ùå¶lÙ¸qã011áèÑ£¼ùæ›lÛ¶U«V!yÚ T¥ìC‡±qãF&Nœˆ­­m¹ç:þ|‚‚‚hß¾=_~ù%Ý»wG[[›ëׯ³víZEeyÿý÷‰§oß¾|õÕW¸ººÉŠ+øí·ßxûí·ñ÷÷W:FߤI“000P,ÓùÓO?ñæ›o2pà@Μ9ÃgŸ}ÆŠ+¸téîîî^·ªÄ¢êu¨K ÷/äIöFtÁš1kp´t$øq0 ,äT`)õïÀ"2¦ó– [†kSWr r9u÷³šÍÜ_æòŠÛ+ë«Waˤ-Œë2}ŽåÍ]o²íÜ6V½T¬þU¡ìC7±qÂF&v›ˆmà ê߯ó zD{Ûö|9æKº·è޶–6×£®³Ö{-*¨ûÞ'>=ž¾.}ùjÂW¸6u%21’GVðÛßxûoã¿ò¹ú÷4¾IÝ'a k€÷oæü2‡Ÿ®üÄ›½ßd ë@Î,8Ãg|ÆŠßWpiÉ%Ü[ªPÿª‹ª×A¨¼BY!¾‘¾Ü»‹±¾1žŽžØ5°+±_¾4ŸK—ˆNF&“aßÈžÞ½1Щ›ŽÖ² m¥úƒƒ¨”(Ž¡¯c_:4í€o¤/AñA44lÈÐVC1Õ/š ;?›3÷ÏðàÉìÚáåâ…®¶n¥ ‚ T¬Q£FLš4‰;v0eÊ Ôû*hž ø ®D]¡PVH×f]騴c©û]‹½FHB¹Ø5´£›]7,MT›¶¶ôvè­ò¾R™”ÿøüG GFºŽ$(.ˆ+ÑWÐ’hÑÏ©öìÉdøDú„‰ž ^­¼07‚ Ԍٳg3vìX|}}éÝ[õÏ0áßíí·]ؽ;”ÐÐtŶ֭ðùç°³«›™÷=ÊÂÏ/±ÂýnZÑ”O“b­K+Wv¤Y3Õg·ûàW‚ƒŸ‘A@@ fÕbt5CÓ¯½¦Åóf2d¡­-aüxûjÏx^Ÿ,Z´ˆ3gΰnÝ:Ö¬Y£îp 2nœ=÷ï§›Ill&P4sùâÅm6¬üç55%+«@¥Ï33õ÷MkR¬uiìØæèêª>#ü¸qÍ9wî—.Ås÷î,,êß*HÏÓôk¯iñ‡‡gpûv ]ºXðúëŽjލætïÞqãÆñÉ'Ÿàáá¡”³!åéÛךӧqýzII¹@Ñ S¦´¨Ó•×®%‘žž_î>¦¦õã³D“b­+mÚ4äý÷[«¼¿‹‹3gº°sç}ÂÂÒ‰‰É¬Åèjަ_{MŠ?!!ÿd hÅeËê÷@ïÊ044ä“O>aÚ´iüõ×_xzzª;$AƒˆþñÊѤXë’覾^{M‹_ô šB­ƒ‚2228yò$Í›7çàÁƒŠ¤ÆN:qøðaZ¶lIbâ³?üÜÜ\öîÝKÛ¶m9xð "‰ßØØ˜W_}•äädÞ{ï=.]º¤4;ÌÊ•+™;w®âç)S¦ðûï¿sðàAbbbhÞ¼y•ËþàƒX°`A…çšÍ077çôéÓX[[+^­Í;qxöaZ~Ø’ÄŒbõ¯ —½W÷ÒÖ¦-g«#úƼÚíU’3“yïç÷¸tÿCÛ«#W2w@±óî1…ßýçàõƒÄ¤ÄÐܼy•Ëþ`Ð,¬BýËÏæÀµ˜›szÁi¬ÍŠÕ¿6ƒܦ‚ú—›É‰Û'°2µâØœc˜>½æ6møu毸­vãfÌMBâBp±.VÿÍWŠoR÷IH ¥LÝ9•ƒ×2е õ¯Š±¨r„ÊË-Èå}oðwÔߊm:Z:|8ðC^ïòºb[ÀÃfý6‹„Œ¥ã7æëQ_Ó£y ßkëå­È©—‘®oõxKųP]TJ[.oA_GŸÍ—6s9â²âµmdäKó™¾:Ó+^kkÝ–ýS÷£¯SÿÐ ‚Pÿ͘1ƒŸ~ú‰cÇŽ1~üxu‡#h màÛ¿¿UÚ6ªí(Ö\‡¶¤(%5;•éû§sëÑ-¥ýôuôY么iݦUø>‡ï&&5F带v™J#ÚY:Z®@ZÀ–Ë[ä<ˆÐÄP¶ùlS¼öÅÙ/øú•¯éãЇ™gâã§xmãÅüúÚ¯8Y8Õh<‚ ü;uìØwww¶oß. *›7¯5óæ©–d²xq[/n[ã1L›Ö’iÓZÖx¹µA“b­K®® *µ¿““)§O—ß?Xßhúµ×´øÿúËKÝ!Ô–.]Ê‚ ˜6m­ZµRwH‚†ðò²ÁËKµ™Jûöµ&4ttÇàêÚ VÊ­ šk]²³«Ü CCvï®ÿ« §é×^Óâ_·® ëÖuQwµfÉ’%x{{³sçNæÍ›§îp áâbƯ¿öUi_}}íZû›÷÷Y+åÖMе®˜™éVzhmõÛÔ&M¿öšÿرöŒk¯î0j‡‡^^^¬[·´*»Ü–ð¯%úÇ+G“b­K¢¼þÓ´øEÿ¸ )Ô:((22©TJß¾}KÌrÞ AzöìÉñãÇÛÂÃÃÉÎÎæîÝ»èêÝlÉd2d2™âÿÑÑÑJeõëׯÄ{;:ÍŠ“žž^­²+Ì#Ann.Æ S¤ªÈÈH ðððP ‘ÓÑÑÁËË‹ÀÀ@BCC•âxy•ü0’j ­tÕ‰E•ëP—"#‘JéëÒW1 H®az:öäø­bõ/!œìülî>º‹î¬bu„çêHòsõ¯U¿ïíhùô¼sÒ«UvEƒyä""È-ÈeXûaJ‚T™IAaΊA8r:Z:xµõ"ða ¡ñ¡Jq¼Ú–Rÿžj ¯bý«b,ª\¡òvý³‹¬¼,Fµ…¥‰%ù;êo>=ó)­,[)û¬9¿†„Œ\­\éiß-"S"¹q™„•mó݆´PªR\×Ê  ¹]~»È)Èalû±42j„ODÑ Ÿú˜‡O¢§­Ç”NSÐÖÒæ ?Œ dßÍ}¼ÑõZ‹I„+++¼¼¼Ø·oŸ$¨ìƃœ¹OGOœ-y”öˆ“Á'9x‡FÌu/<½çÚn=º…µ‰5œÐÀ ž<À/Úë±×Uäé«rl#\GÔø  9ÿþœ =Ç çA8Z8’Â…° ¬<¹’îͺs7þ.ã:Œ£¡aC.G\æ^ü=6þµ‘oÆ|S+ñ‚ðï3eÊfÏžMtttO†"‚ ‚jFŒÁ÷ßÏÆùþûïÕŽ ‚ ehذ!ï¼óß~û-¯½öææbÅoAA¨¯,XÀðáÃ9rä£GkÎ kAAø·ýã/µ ’“¯Šò<ù@¹ÂÂBÅv©´ìÄð¼¼<¥Ÿ Ë|Où{Tµl ‹2÷-MYçZWÇ/£®cQå:¨C™õï¹I eÅꈬœ:Rð\ýÓ+å¼y®þU±l “JÖ?êAýCMõO…ë T^v~6G¦QšM×?»øâììôÛ©쓜•L ó™v-ɳ@’³’IÎJV齿ôžS©•‚j“ ÞoyÓÔ¬h‰Ji?)Ãw Ç7Ò—Þ½Ù1~zÚz@Ñê^Û½8zN ¡ÆL˜0×^{   \]]ÕŽ ’³’Y7bcÚQl xÀ„ÿM`÷µÝÌî3m‰¶¢]þíÍß°6y6˜9;™ãwàéè©Øöá‰Ù°Ÿk±×8ùöIÅyæ÷ÍgÈö!œ;L&«‘ツ  ÀÒÒ’C‡ñÁ¨;AAJ!‘HX°`o½õ–¸ÏA„zîÍ7ßdÏž=üðÃâ>[Aê1'''^yå¾ýö[^yåñÜMAê)Ñ?þâPë  ´µµ¹xñ"999J«¥¥¥áçç§´‹-Ð××§k×®\¾|¹Fc©Í²‹—ñâEâãã±²²ªÔñèèèpéÒ%ÒÒÒ”Vè‘J¥œ:u €–-•—T;yò$TÚvâÄ  èË·œ|™Î‚‚‚Z‹¥¾qh쀶–6C.’“Ÿ£´ZPZv~ÏÕ¿Æ-Ð×ѧ«CW./©áúW‹e´°,*ÿâý‹Ä§ÇceZÉúgဎ–—î_"-;Mi…i¡”SwŸ^s«çê_àIº>Wÿî<­–ÅêßÓA"Rê_cjÇËm^Vðf×7ùîïï¸{]±Í«•»üv±?`?ZÀʤ¨š™«œ,_Á >Ýn´b@€¶D›Í{–Æ[ÝßR haÞ3«†¬âxÐq|;€î[º3óàLþ¼÷§ÊïµõòV¶\Þ¢Ò¿WwÔÈù•¥‰i“Û u Ë}-;?»VcáßE"‘0tèPÅ`lA¨ˆ]C»R·ËÛry»íÞ½SöòàÉ&þ4‘_u`ÒÏ“ØõÏ.•Û²Ãw«Üfo¹¼…”씚9ÉRT¥ÍD»-B:t(±±±Ü½{WÝ¡‚ ‚PŽ©S§rìØ1RSSÕŠ ‚ å˜>>=z”£G*¶[XX0pà@Ξ=‹®®®bû¦M›s­¶ IDAT`ïÞ½ìÝ»·Ô2e2Y•b©Í²ååûùùÀðáÃ+]öæÍ›¹zõ*çÏŸ§K—.J¯™˜˜°}ûöÇŒ3†… ²páB¥íS¦LQZAÈÓÓ‰Dš5k£ü<==¹páBÅRmœ°Ÿ0Žåh@±úgbÁ@ל :‹®v±ú7q1ìõÛË^¿®µX¶¼|¿?bþu)õ êßÄÍ\ ¿Êù{çéòés×\ß„í¯—Rÿ:aáþ…,Üÿ\ýë1Ei!O—§õïÄÖœX£Øvañ…‹E¨1©1%¶Éd2#¿?¾<û%Þ÷¼Ù÷Ú>Å*e9|ç0¾‘¾*Ç6Âu ©¼¿ ‚¦i×®666œÿüsþüóO&Ož¬îpAA(ƒ¥¥%ýû÷çÈ‘#Œ;VÝá‚ ‚PŽ &°`Áiܸ±ºÃA¡ ¢\ó©u¥ WWW|||9r$¦¦¦˜šš2lØ0._¾LAA:::˜šš*öoÔ¨ÿý7ëÖ­£K—.˜˜˜`ddD›6mxûí·¹zõj•—ˆ®Í²7nŒŸŸË—/§uëÖèëëceeÅСC9sæ ::åÑrttäÚµk̘1[[[ttt°²²âÕW_åŸþ¡k×®%ŽYºt)_ý5ÎÎÎèééÑ¢E >ýôSöìÙ£´Ÿ««+;wî¤M›6èééUx.U‰¥>rmêŠÏFv‰©)¦¦ k7ŒËK.S -@GKSƒbõϨ/û›uãÖÑž &ú&éÑÆ¦ o{¼ÍÕ¯b [ÅúW‹e46iŒßr?–XNë&­Ñ×ÑÇÊÔŠ¡í†rfÁt´*¨–Ž\ûè3Üg`ÛÐ-¬L­xµÛ«üóÑ?tu(¥þ [Êׯ~³•3z:z´hÜ‚O_ù”=Ó÷(íçÚÔ•oì¤MôtT¨UˆE¨Gï%,)LiÛîk»IÊJ¢‹Ý³[çCÏ+ôhI´p´pdZ·i41m¡ۇTz¯9½ç0Ï}žJÿÞê. ‚ðâëØ±#\¾|YÝ¡ 2%’ßnÿ¦´-àQ§CNcf`†³¥3W¢®™—©ØÇÊÄŠ‘®#éåЋn‘Qá{n7Zå6{žû<ÌÌködAê‰DBÿþýE›-‚ õœ¡¡!䨱cêEA„ ¼ôÒK\¹r…¸¸8u‡"‚ B9 „¡¡!þù§ºCA¡¢\óIdÕXzdüøñ8p Æ’‹¥U«V899qëÖ­/ÿE·téRÖ®]‹¿¿?nnnê§ÖI$æÏŸÏ¦M›j¤¼Ø”XZ}Ô 'K'n­õ¯²–ZÊZïµø¯ôÇ­Ù‹Yÿjóó ..ŽŒŒ •ömÙÒ‰-[â>\µýkÂÅð‹Lß?s#s²ò²ðjå…¥‰%wãîâé‹D"á§I?Ñ£yÚ¬oC#ÃFt¶ëL³†ÍÈ—æs%ú AqA´¶jÍñéÇë,öç >IpB0Â.pëÑ-Fµ…}#{†·NËÆ-gç½|àr¦u›¦TΗç¾d§ßNþœñ'.–.J¯ Û1Œ´œ4|æøÔÁ ‚Pßüù§ óæYVñΕôÞ{ï!•JùöÛok¼l¡æÍk ÀÖ­u÷ :· —¶ÚbndNrV2žŽž¸Xºð0í!'ƒORPXÀûîï3×}.Ó~ÆõØëô´ï‰}#{tµu¹‹áÑ–hã;× #‹:‹¿¸À¸@ÎÞ? ÀýÄûœ¸w‚.v]èãЀM;ÐÏ©ŸÒyrÄ·c•ÿ>Î…žãƒïðñà™ÚeªÒk«N­â§?qvæYÅwAþ]jëþê?þ`Á‚øûûcddT£e 5¯6¿¿ ‚ 5£¶î¯Îœ9ÃìÙ³¹rå ææbM ŽþqAAuµu•››K÷îÝY²d‰˜ÁXC¨£\A¨œÚº¿Z¸p!qqqüôÓO5Z®P;Dÿ¸ Bý'úÇ_\NNNU>¶ü¥AêȘ1c˜5k:uBWW—k×®±hÑ"²²²7nœºÃ^pc¾Ã,ÏYtjÞ ]m]®E]cÑEdåe1®‹¨‚Pžéݦs)âG(¶éhéðáÀ‚´ÀéÓœ¸wBéx»v|1ì‹:‹·4§BN)Å(ýìbé¢$‚PßtëÖmÛ¶!“ÉH$êG¨Ç:ÛvÆÉ‰ï®|Ç_á)¶j;ŠÙ}f+~îeß‹›or.ôœÒñÆzÆ|4ð#µ |È–Ë[”¶]½ÎõØë¼Öù5Å  A„ú¦[·nH¥RüýýéÓ§ºÃA¡ ½zõBKK ___FŽ©îpAA(ƒ¾¾>=zôÀ××W A„zÎÝÝ?üììl ÕŽ ‚ eýãš­^ :uê‡.±½uëÖ,X°@  ÿ&§îžâ°)õ¯Ik õOJcßÈžyîóèiß“wz¾Ã¥ˆKÇc¤gD?§~Ø5°SÚÛèm$d$p-ö1©1éѼ½ì{¡%ÑRÓYâ2¤Ü•ZZ<$?ïN¶JìçÑÂc=c,ŒK&K¿Öå5r rk&`A„b:uêDjj*±±±4kÖLåãþûßÿbeeÅØ±ck1ºšÁ_ýEZZ]ºtÉÔ• £­Ã<÷y8Z82Òu$Ã]‡ãíG¡¬.v]p³Q^Õñžï0µËT®F_%"9€¦fMéëØ#]õ®lѶI[æ¹Ï+óõM;(þ_ü¼Ÿ×¼óÜç)í/×Ï©æFæ40hP3A ‚ ž· /gggBCC+uÌ7زe =zô¨×=SRRX²d ¾¾¾äää(¶Ïœ9S<ôü K cÔîQêC¡Êºvíʹsç*Þ±˜¸¸8¶lÙ¼yóêýCÏÕ«WóÇœœ¬ØæææöB<ô*oìÿÆ’˜™¨î0Aª¤[·nNô šhÅÉüô‡ºÃA¨+++š7oÎÍ›7+=(Hô šFô ‚ éDÿ¸æªƒ‚ÈÀÕÆ eÍš5¬Y³FÝah„®è*ê_MZ3v kÆŠú'‚ µÍÈȈ¦M›€T>nöìÙXYYÕbd5ÃÇLJððp°µµÅÇÇGÝ! ‚ B•9;;ãëë[©c:wî̼yó°µµ­¥¨jFrr2çÎÃÀÀ€þýûsóæMRRRÔ– &$´±nÃ@ç pÀâ?šX¹q‚ êäêêÊöíÛÉÍÍE__µ\­­­5â'À‰'HMMÅÍÍÜÜ\‚‚‚Ô’ F¶f¶ m5”Îñ¾çͯ¿ª;$A•9;;£££CPPP¥‰þqA50hÀHב h9€ì‚l–ŸX®îA*ÅÕÕ•{÷îUêÑ?.h"Ñ?.‚¦ýãš«^ AA¡j‰ŠŠªÔ1ï¾ûn-ES³&NœÈûï¿££#ÞÞÞâ¡§ ‚ ÑÙ·o_¥Žéܹ3;w®¥ˆjŽ……ß}÷½{÷ÆÐÐaƉ‡žÿbŽŽvTñ³‰£A¨¼Ö­[#•J ¥m[ÕV+µ²²bÞ¼ÒW$­oV­ZE·nݰ°°`ÕªU/ÔCO¡ò½qHñÿ³÷Ϫ1A„ÊÓÓÓÃÉɉ{÷î1räH•ýã‚&úÄëÅÿ½ƒ½Õ‰ BÕ¸ººrèСŠw,Fô šHô ‚ éDÿ¸æƒ‚AAAƒYYY‘ øùÚµk„„„‘‘ݺuÃÒÒRé˜ÿþ÷¿XYY1vìXŽ=Jddd™ïѿڷo¯´íÎ;øûû“‘‘µµ5žžžXXXÔ܉½{÷Vy_©TÊþó9r$AAA\¹r­ÿgï¾£¢:ÚŽiR¦ "‚${ï½Åhì?kzbšñ}¦h,1FE5Ql!&Qc!*‚b‹ F”ª"Šˆ(E—ýýÁËêJ[Š®˜çsNÎÙ;;÷™«ñî>sgFW—Ž;ª¶yU*•>|˜sçÎajjJ=°²²ªÖ¸…Bˆ’ØÚÚ’ÍÝ»w166&33“ƒ’––†‰‰ 7ÆÏÏD'Ož$,,ŒÁƒãààÀµk×ÊœXdll̤I“Ôʲ²² #99}}}¼½½ñ÷÷¯Ö¾YXXThðÇsâÄ ^|ñELMMÙ·o©©©8;;ÓµkWôôô¸víû÷ï'33“æÍ›Wè»AM·þäz~8þ©·R±5µe˜Ï0^iý z:zª:7snòÝ‘ïØs~iÙi˜˜ÐȦ£[ަ‡{µ¿KO³/ÿú’UGV±cÂN¦œä‡…ýv¶tæÍo®‚|/‡…²3v'™9™4¯ßœ9Ýæàiç©íð…Ï '''tuuINNÆËË‹{÷îqèÐ!’’’P*•899ѦMj×®­úLÑ=: @µâ·ß~˽{÷J=Ϙ1c°´´T½W(DDDÇýû÷qqq¡C‡¯Æ¨©ž={j\711‘Ú·oOóæÍ çܹsXXXгgOÌÌÌÈÉÉaïÞ½¤¦¦âàà@=Ð×ׯָŸVá á,>´˜siç060¦k㮼Õá-¬Œä 6œÚÀÖ3[I¾•\ø÷ÈÒ‰þ^ýyÑ÷EŒô´ØÍ¼x Áø ËxÚz²èà"b¯Åb^ÛœÑ-GóJëWøñĬ;±ŽÔ[©8X8ðz»×éÕ¤—–£B<«œœœHIIQ½—ü¸äÇK“r+…O÷}Ê‘Ä#( ø9úñv‡·‹ý® ½ÊÚãk9Ÿ~žì¼lìÍíiçÒŽÉÏOÆÎÔNKÑWLÞý<¼zѵqW>êúóöÍãHâôtõèÒ¨ wûÂ.…±4l)±×b154exóáÌj7 ]]mwAñ jذ!©©©( ôôô$?.ùñ2I~\òãBí‘üø5-?.“‚„B!„¨Álmm‰%33“ &pæÌµã†††¼õÖ[Œ?^U¶bÅ ¼½½Uƒž;vì 44´Ìs z^¿~×_ˆˆµ:FFFÌ™3‡¡C‡ªÊ¶oßNrr²Æ}yô_EÜ¿Ÿe˖ѵkW.\¸ÀòåËUÇæÏŸÏÒ¥Kyá…˜2e ‘‘‘ªc‹-bÓ¦M¸¹¹Uê¼B!„¦lmmHOO'""‚yóæ‘››«V§I“&accz.[¶Œ€€HKKcÙ²eežãáAÏÍ›7óé§Ÿ’­VÏßߟ+V¨î»—/_fË–-÷ÅÝݽB ÓG…‡‡³jÕ*ÜÝÝùì³ÏÔàjÙ²%?üðûöíãwÞ!??_u쥗^bîܹ•>oM±*b¿ûMõ>åV ‹.æâ‹,ê·HU>1x"g®<øî—s/‡ëw®s$ñLü÷ºîežçxÊqF®©q\}<û°tÀÒ ô¤bV]MHLˆê}\z¯n}•£7òYègœH9¡:v<å87O$ô•P kUï`€BÔªU kkkÒÒÒ8}ú4¯¼òŠÚb666,]ºT5ÀYtž9s¦ªlÅŠäää”zž~ýú©îŧOŸfÖ¬Yj÷D€úõëóí·ßÒ¬Y3UÙ×_R©Ô¨/%=U‰‰‰,[¶ CCC–,YBXX˜êØ¢E‹øù矹wï&LàêÕ«ªc^^^Wû€íÓædêI> ý E€Üû¹ŸæDÊ ¶Ûޱ¾1 ,äû£ß«}6új4ÑW£Ñ×ÕgÌscÊ=—Ǫó”ÇÆÄ†#3ŽT°7šûûòß|¶ÿ3ÊÂxŠN2¬eHút¾;òªîÅ™2 g+gûŒôôt<==yþùç©U« „……qþüyÕgI¦NZl%ļ¼<Ö®]˘1cpqq 55•ñãÇ“••…>>>Í‘#G˜ý<3™É¾ û8žrœq~ãë7 # ö_ØÏ›;ÞdMä™$„x,êÕ«>\+ùñB’/™äÇ%?.„Ð>É««)ùq™$„B!D fhhHnn.lÛ¶ ;;;Õñüü|bbbÊl£ÿþÅÊ–/_Ž­­-«W¯ÆÈÈ€?ÿü“¨¨(úõëÇÂ… U[—DEE1tèPÖ®]ËÒ¥…+ä 4???ûbee¥qÝÒddd°zõj:tè *{ÿý÷ æøñãìÞ½[u}îÝ»G÷îÝ E©TÖ˜-Ä…BÔLE+eff’——ÇðáÙ?¾ZóçÏS·nÝRÛ°µµ-6èyåÊ^zé%¾úê+ºwï®*_¸p!FFFüüóÏj«')•J¦OŸÎîÝ»‰ÇÍÍ ”8˜Zw÷²WØÓ”››AAA0aºvíÊæÍ›™6m¯¿þºªn«V­˜={6¡¡¡Ïü çxÿñLðŸ z߯i? ”¼¹ãMvÅí¢s,Œ,¨]«6¾ |ñià€‘¾þŽþø;úkt??.¼wá±ô¡2f¼0ƒ‘¾Vf|£ýŸ&ãn?¾ø#^v^˜˜ðv‡·”0ˆ 7žžø…ÏîܹCFF...„„„ «ûà’ŒŒ ÕïðÒ¼úê«jïïÝ»Ç+¯¼ÂðáÙ={¶ªü»ï¾#++‹¹sçòÒK/©}&((ˆyóæñ믿2jÔ(¦OŸ^¡•«ƒR©d×®]Ô¯_(|(ºwïÞ„‡‡Ó¦MV¯^­ºŸ3†=z°ÿþg~RO>ëý™*ŸàïèÏÊ!+éö]7vÅíRM ªW§ðá·®î]ÑÓ)Ì¥xÚyªv%ÐDÜ;qÕ}åµwmÏ]>P½ïéÑ“®»ªÜÖ|˜êØ;ß!øt°Ü³…™™™êž ’—üxÉŒõY5tÖÆ… ¶¸Y»±dÀú¬éÃñ”ã\¿sê™Þ³x  ®ia~ÆÅÊ+ÏõãÈ«¿•delÅ·C¾Uí^ؼ~s&¶šÈÜ=syÎá9fw~ð´¯g_BbB½JνŒô´¶âUô oFF†äÇÿGòã%“üx!É !´IòãêjJ~\& !„BQƒ’——G÷îÝùé§Ÿ døðḺº¢££ƒ-Z´¨P›«W¯fïÞ½¬[·UùáÇÂM+W®TýÈR*•(•JêÔ©CTT”ªþ Aƒª¡‡ãåå¥6à ð /Ì!CÔ„õõõiÕª[·n%==[[Û'®Bˆ‘¢IA†††<÷Üs=z”ýû÷ÓªU+Õ€hE¯]»ÆØ±c™1c}úôQ+¿pá 6äÀ8p@u¿TúDGGWjгºLš4I• pppÀÉɉK—.ñÊ+¯¨ÕmÓ¦ P¸ZÔ³®K»beí]Û¨V&6Ð3`~¯ù|üçÇÄ¥ÇÐ0€&¶MhåØ {sû'ouiÕ°•Ú{]]ê›Õ'ç^ŽjÀ³HQ¯ß¹þÄâBü»Ô®]›ÜÜ\zôèA`` ÁÁÁtîÜYõ»ÑÊʪBî* fΜ‰sæÌQ;Žžž|óÍ7j÷ì;wî¨ýÖž1cFU»Waƒ R xèéé@|||±û¹‹‹ 4øWܳÛ:·-öµ£…#.V.\ʸ¤*û óLÛ>Î+;ÓÎ¥žvž´hЂ¦vMŸtÈÕ¢•c«be ê4ÀßAýá+=]=ìÌìäž-„xl ÉÉÉ‘üøÿH~¼dM횪&©¥[‹ÖN­‰¿OâÍDlLlï?žÈäHúö¡ƒkšÕkF³zÍðsðC_O_KÑWž——jBP‘¢ßÓ%ÞÏÍ ïç×ï\ÇÑÂññ(„øW©]»6 ùñ‡I~¼d’/$ùq!„6I~\]MÉWiRБ#GHIIy¦W 5Ç’%KX²d‰¶Ãÿ"ÚA!„ÀÐÐüü|Ú¶mËÏ?ÿÌ?üÀˆ#ÈËË£Y³ftëÖ_|QµšayÖ­[Ç/¿üÂúõë133S;V´ÊæM›4jkûöí$''kÜ—1cÆ`ii©qý’m=ÿ°¢¾—u,''§JçB!ÊS4)¨h[ô5kÖ°xñbþùçêÕ«G@@£FÂÇÇG£ö222xùå—™8qb±ŠîÙIII,^¼¸Ô6nß¾ ÀåË—Ù²e‹Æ}qww§gÏž×/ÍÃÉÓ"FFFÔ©S§Øw—¢•œrss«|ÞšH‡ÂüëÃyØþ^ýéÒ¸ ‰D]‰âØ?øx÷Ç<ïô<‹û-ÆÔдÌ6§gäú‘eÖyXÏ>,°´rЀa-Ãbe:::¥–¯&„U4èùÚk¯Ñ°aC~ùåæÍ›‡±±1-Z´`À€ôîÝ[£¶ ¯¿þ:&&&Ì›7¯Ø˜ZFF …Bµ«@IŠîÙ_ýu…VBœ4i’FuËR™ßÚYYYU>ï³ÂÓΓ=Söp2å$'RNp,éË-ÃÒØ’¥–âQ×£Ü6<¾ð@Q Ðè|6&6äM‹Ï IDAT™q¤ªa—ª¬{s‰ÇС  à±Å#„øw«]»¶äÇ"ùñÊ)º™š²îÅuœO?ÏѤ£Ä^‹eË™-dÜÍà“îŸÐdzO9-ÁË_&øÕ§OŸ*z !„O«¼¼< pr±±13fÌ`ÆŒäççÇÆ:t(ßÿ=;v,³­ÌÌL^~ùe^zé%FŒQìxÑ=»Q£Fe&d½½½ÂAÏeË–iÜ—>}úTË §(Ù¡K‡hãÜF­ìÀÅ4´h¨Vnb`Bׯ]éÚ¸+qéqôYÓ‡o¿áÝNï>™€…â”››‹ ººº :”¡C‡RPP@BB¡¡¡¼ñÆÄÄÄðöÛo—ÙNAAï¾[øïñçŸ^âïò:u꟟ÏäÉ“Km§Q£Fª×Ë—/G¡ÐprˆMµ zŠ’…%„ñZ»×Ô²“3“¹”q 'K'µºz:zø;úãïX˜·É¹—C·ïº1ûÙl»í‰Æ-„ÏÉ MœM;Ë»7Ôv º_pŸˆÄ øom÷ºî¸×}°[Å´íÓxë··hëÒóÚæO&h!„xÆäçç…÷JÉ‹²H~\!´Oòã5S•&Y[[cmm]æŒj!ž„%K–Э[7ù»(ž˜””m‡ „Bp÷î]LLL8räÞÞÞ˜˜˜`kkKß¾}ù믿øå—_¸ténn¥¯6·}ûvÖ¬YÃúõëKÝâµuëÖlÞ¼…BÁôéÓ‹ýXKOOçÊ•+ª÷ƒ ÂÏÏOã¾TdkY!„¢¦)ÚÞüÞ½{œ9s†æÍ›…+$z{{caaÁ¦M›Ø¾}{™ƒž·oßfܸq 81cÆ”X§~ýú8;;“žžNÏž=qwwW;®T* £Y³f4hЀ™3gjÜ—GÛÕkí±µÔ5­K?Ï~Ô2ààŃüwïèéQ8Ø|æÊ–…-cXóaxÕóÂÎÔŽÌœLþŒû(| ¹<~~\xïÂãëˆBÔ`wîÜÁÙÙ™ÐÐPÚ·ožžººº¸ººâìì̺uëØºuk™ƒžJ¥’?ü;wî°|ùrôôôJ¬×¦M6mÚ„““ (v<66Vm§‚éÓ§Wh%Dñøœ¾|šÙ;gójëW±5µ%&-†Oþü„û÷U÷l€aë†1¨Ù Z9¶ÂÁÂ{Š{„'„“™“Iî}ÍVyŽ{'îquC!j´ììlÌÌÌ$?.Êt÷Þ]¦l™ÂG]?½®;—³.³øàbâoÄãçà‡‰ ³ÿ˜M½:õèÒ¨ N–Nèëé—Ç?×ÿážâi·ÓÊôãÈŸD—„¢Æ)Zá_òã¢<’Bí“üxÍT¥IAB!„Bíº{÷.ÆÆÆ¬ZµŠ'NðüóÏãä䄾¾>±±±±qãF:D›6m°¶¶&++‹„„"##™8q¢*‰ûèVíþ}ûøçŸ8~ü¸j¥¦æÍ›—»R”Bñ´¸{÷.P8h9uêT<<>>˜™™‘žžÎùó牊Š"00{{{f̘Q¥¾íÞ½›¸¸Â &gΜ $$„¿ÿþ€Þ½{«­¼(J×Ó£'Û£·³å̵r7k7¦´ž¢zs5†S©§Jlc„oñU­Ÿ¤7w¼IHLˆZÙ„à ª×Ë-W›à$„O›;wî`bb"ùqQ&Go&2äÇ!jåÆúÆÌé6Gõþêí«l>³™¯Ã¾.ÖFS»¦4²ÑÞw¤àÓÁ¼¿ó}µ²UGV±êÈ*F·Í'Ý?ÑBdB¡™¢E³îܹÃàÁƒ%?.J%ùq!„Ð>É×Ìü¸L BQ­^<Èʈ•¼Öþ5Z9¶àâ‹|¸ëC†4Âï!å´ðïq>ý<û/ìçHÒòïçón§wñià£í°„5LÑNA­[·æï¿ÿfÿþýjÇMLLøðñ¶¶.µ?þ…BÁæÍ›KgË™-ìýg/—2.¡DIƒ: èéÑ“ñþãÑÕÑ-ã,B!ÊR”wtt”ü¸(“äÇ…Bû$?^3óã2)H!DµJ¿“Ndr$w3Tewòï™ÉóNÏk-®¸ô8æþ9—á>ÃØl Öâ(2`íbÒbÔÊnåÞÒR4BˆšìÖ­[˜ššòÿ÷Œ3†£GréÒ% pkôöíÛÛuêÔ©ØÚÚªÞOž<™üüüRÏáíí­zmiiÉwß}G||<Ç'##+++œñóó+u»×Êðòò*sU¦‡XkÕªÅÌ™3quu-VÏÅÅ…™3g–8 Û±cG¬¬¬077¯ž k%èxÚöÃ-ì[h1"!DM•••@£Fغu+.\ **Š´´4¬¬¬ðööÆÓÓSí3-[¶dæÌ™ªD§O™÷ÆGïùýúõ£[·n„‡‡séÒ% pppÀ××—úõëWkÿ&Nœ¨Z ±$µk×V½nÓ¦ †††%®ú8räHÕµzôó3gÎÄÃãz~ ½ÝñmÞîø6ž¶žŒõ]]]:¸v ƒk‡'^…ž~Xãº÷ûQ¿Œû¥ÄrK#K.¼w¡R± !Dy ×®]£^½zL™2…ôôtŽ?Nrr2ÆÆÆ¸¸¸Ðºuktu<jggÇÌ™3 ÀÚÚºÜU†­¬¬T¯›6mÊüÁÉ“'‰ŽŽ&''‡zõêáááQìûAUuïÞ''§R?<àéääÄÌ™3iÑ¢øo víÚabbRâCÖ£G&//¯z~ µwm¯vjëÒ¶ÌúžvžOíÊý‹ú-bQ¿EÕ}´ß›Ýy6³;Ï.ñØÎI;K,BˆêššJ½zõ$?.ùñÖ2T»w}7ô»2ëÛšÚ2µÍT¦¶™ú¸C«°á>Ãî3\£ºöûau.õØ'Ý?yj¿³!j¾””tuuiÚ´©äÇ%?^"É'ùq!„6H~¼ææÇu”?ÙTAÆ (uÅ!ž^{í5/^¬íPÄ¿Äãþ÷/--­Ì‹kÔÈeËÒèÝ[³úÛÖ¨­¼ûû»,´œž=ÂIAÑW£±7·ÇÁÜA+qO9ÎÈõ#y½ýëLk3M+1<¬õòÖXÔ¶ Kã.Ä^‹å¯ø¿H{×öÚMQÍþøÃ”™3í¸p!þ±´?nÜ8êÕ«ÇgŸ}öXÚÕgÆ ;¾þ:­œšOFÊ­:~Û‘Ñ-G« ôK>†©¡©Ú ‰OšÇ4 àÇ‘?j-†"³Bfq,ùÜ:a¤oDÐñ ¦>WÚB!ÄÓ£  €„„&L˜ íP„BQŽøøxµ•÷…Bñt’üxÍõD'õêÕ –,Yò$OûX§ÒNñ[þ›97ÕÚÙµ•a>ÃXÐkªìDÊ ^Ýö*w3T¼Nnà½NïákïKdr$Y¹Yª×EïË2ß|¢¯F—Yça û-¤A×BˆªJHH cÇŽÚC!„å8qâÞÞÞÚC!„å8~ü8xxxh;!„B”áÎ;œ;wNv÷B!jÉ×\OtRÐÎ;133{’§|lž¥¾”æÀèèè”x¬&öçÎ!˜™h;Œjñ,õ¥4$SÊ_¿EÿŸvÄþÁÖ¨­é1Á> |ȸ›Á'~dõÑÕj+èX.V.Ìl;“† ©S»'SOòÉŸŸ`l`̨£ð©ïƒžÑW£Y{|-íþˆçžÇÁÜ£IG™»g.}=ûÒÑ­#æµÍ‰¿Ïæ3›ÉÎËf ×@Ì ÍøÏžÿ0Ìg½j_dr¤Æ“‚JÛqA!—¿ÿþCCCY Q”êrÖe>Þý1Ê{¦s£Î( ìŒÝÉW¿ªP[/ÄÔД·:¼…§'µkÕFQ à•­¯™›ÉÀfU÷á¤Ì$‚ޱùôfZ7lM¯þdæd2eë2s2ñ©ïÃ0ŸaÔ¯SŸÔ[©üyþOnçÝÆ£®Fm`ÌÏcð´õäý.ï«Î_Þ.A±é±j“ˆÊ“s¯f-r „¨ÙîܹÃ?ÿüÃôéÓµŠB!ÊpïÞ=Ž9Â{ï½§íP„BQް°0üüü022Òv(B!„(CDD´iÓFÛ¡!„¢ ’¯Ùžè¤ víÚ=ÉÓ=VÏR_*£&ö¿];m‡Pmž¥¾TÆ¿½ÿOƒÍ§7°dÀº4ê¢*ïïÕŸ>kúp)ã’ÆmÙšÚ²mì6Œô$ì§oŸN²€Àá´´o©*ïÔ¨¾ö¾Œß4žgwðjëWY{l-J¥’»~È8¿qjuÇû'O‘‡±¾±j"shߺסT*5ª«¯§¯q»BQ"##iÙ²%†††ÚE<¥~ù•|E>ãýÇóA—Tå}<ûðÎïï°-j›Æm)Q²nä:<íLÎYr=7îÞà­oñJëWÔê÷nÒ›+:°-zý½ú³=z;™9™twï^lg½Q-Fq;ï6f†f4 @GGs#ó ݳgwšMV^Ù» =Lv Búè#V®\Ihh( …‚¶mÛ2mÚ4LMMˆŠŠbÆŒ( Nœ8AÇŽUí,Y²__ß*ýYVöZUU¯^[ñð°dÉ’ÎĜɚ5QDG_G¡( I+ÆŽm†OÝbmܼ™K``4—ÉÊÊÃÞÞŒ!CÓ·¯ÛCýSнûÚ¶µgîÜX½ú »w'—§ uëْ̜:uŠïrsôèÖ¬‰"11 3&On޳sFŽüAƒ3kÖƒ‰ö¥²çÔ¤?åÑäú=ßGµfåÊÓ„†&¡P(iÛÖžiÓZ`jZ8™"*ê:3fìC¡PrâD;nRµ³dI'|}m«ôgYÙk%ÔÅ¥Çaad¡6!À@Ï€þMû³4l©Æmõôè©6!àô•Óèéè±äPá¿1J¥%…sî+î#€¨+QÖ2dLË1ÅÚÖÓÕÃX×XóŽ• •c«*}^!§£G2dÈm‡!žbqéq k>¬Ø±a͇UhRP“ºMÔ&ü}ùoöœßCxb¸j"­¥êuÑ=;új4“&•ؾ™aÕv"}46!„xšDFFÒ¨Q#ôB!žrÄÉÉ GGGm‡"„Bˆ2ÄÄÄžž.* !„5ÀÁƒéÝ»·¶ÃB!D9$?^³=ÑIA‡"''G­lóæÍŒ=šüü|UÙÎ;Yºt)K—.eúôéªòˆˆú÷ïÏõë×ÕÚ b„ ¬Y³€‚‚8@:u8p ¿ýö›ªîüÁöíÛ‰ˆˆÀÀàÁƒÿLš4Im7ˆ~ø pàÀš5kVf_*sNMûSM¯_Q|fffôìÙ“¿þúKUÿ·ß~#((ˆC‡accí[·8pà™™™ª×EïKêeb©Èµª‡¥“sÿ‘˜ã=úòóÅ|‰¥KO²tig¦Oo¡*ˆ¸LÿþÛ¹~]½ßAAÑL˜àÍš5=þ×?%$S§ŽþÂo¿Å?Ô¿‹lßþ£00ÐS•F1iÒnތ䇢Y° =$Ó¬™M™}©Ì95íOY4½~Eñ™™гçþú+YUÿ·ßâ ŠæÐ¡±±1âÖ­<(<ž™ùàuÑû’ú_™X*r­Dq¹÷s±¨mQâ1 £’ËKS¿Nýbewóï¢P*O/=†{¹ä)ò0¯mŽžîãù3óóŠò+RØ÷Gw>BˆÇåòåˤ¤¤ ùN*âß'÷~áý²Níâ“îÍk›W¨­zfõŠ•ÝÍ¿ Nè-A-µX,,+t^MÍß7_5ñH û-”Ý‚„OÌÑ£GiÕJB!žf …‚;vпm‡"„BˆrlÛ¶† âé)  !„O³cÇŽ‘””D¯^½´ŠB!Ê ùñšï‰N zTjj*cÇŽ%??Ÿ!C†0tèP عs'kÖ¬aÖ¬Y¼ð ´hÑ‚¬¬,È73f ½{÷ÆÒÒ’øøx–.]J`` ]ºtaÔ¨QªöwíÚ…••_|ñ^^^¤¦¦òé§ŸròäI‚ƒƒ=z4IIIL:¥RÉØ±céׯ÷ïßgûöí|ðÁꓦç¬LªrýŠìÞ½333>ÿüs¼¼¼HNNæË/¿$66–×_uëÖáííMhh(]ºtÁ××—E‹©>ïëë[m±hz­—ÔÔlÆŽÝI~¾‚!CÜ:Ô=vî¼Èš5QÌšµŸ^°§E [²²ò8ðnÜÈa̘¦ôî튥emâã3YºôQtéÒQ£$wíº„•Um¾ø¢^^Ö¤¦fóé§G8y2àà8Fn @RRS§îE©„±c½è×Ïû÷ ؾý|p¨B}Òôœ•éOU®_‘Ý»/affÀ矷ÇˈääÛ|ùe$±±¼þz(ëÖõÆÛÛ†ÐÐt錯¯-‹uT}Þ××¶„H*‹¦×J”ÌÖÔ–K7.‘™“YlPÔÕ¨*·_¿N}òù¬²ªÔÉ>VÆVªºçÒΑœ™Œ£Eé3”uÐP›ü©‰ÈäH'٘ؔ_I!ªÉž={055-qwM!ŠØš~ÿ‰I‹)6©§¢÷lbeE“{çvŸK#›F%~®–náÏÎúf…u'ÇÅÊ¥ì“)+~ÏŽM%29Rãú9÷rʯ$„Õ --¨¨(^}õUm‡"„Bˆ28p€+W®0lXñV…BñôÈÍÍ%$$„)S¦”˜³B!ÄÓcÓ¦M4kÖ ///m‡"„Bˆ2H~¼æÓꤠõëד““SlWœÁƒãèèÈœ9søþûïY±bëÖ­ãÚµkÌŸ?ŸÙ³g«µ3|øp\\\ R›DS«V-<ˆ»»»ª¬Q£FtîÜ™ððpÕ¤“ 6——Ço¼¡6fĈLœ8‘ÀÀ@û¤é9+ÓŸª\¿"ìÝ»WmrÎСCiÒ¤ ›6mâÛo¿ÅÜÜœŽ;¢££ƒ¥¥%;v,·ß•‰EÓkõ¸¬_–œœûÅvÅ<¸1ŽŽu˜3ç0߆+º²n] ×®ÝeþüvÌž­¾ÿðḸ|GPP´Ú$šZµt9xðEÜݬ„Þ¨‘;~Y5édÆsäå)xã ?µ 0#F4aâÄÝjþ°¦¦ç¬LªrýŠ(Ù»w¸Ú䜡CÝiÒ$M›bùöÛn˜›Ò±£#::`iYøº<•‰EÓk%JÖÎ¥®_à½?Þcaß…˜š°3v'!1!Un¿»{w–…-cWÜ.Þìð¦ÚN·ón³=z;~~tmÜ•siç˜2“E}ájí @²€ßÎþ†{]wšØ6ÁX߀¤Ì¤ ŲîÅu?”¬¯§_¡¶…¢*BBBèÙ³'†††ÚE<ÅÚ¹¶cé |¶ÿ3ܬÝp¶t öZ,_øªÊí÷ðèÁÇ $&„…ýÒТ¡ê˜B©`Ïù=ªÉµ]w%èxŸÿõ9õëÔ§­K[UÝS©§H¿“Nw÷r+…eº:ºÅ2»Ól²ò²4Ž]v B<);vìÀÌÌŒöíÛk;!„B”aãÆ´iÓ'''m‡"„Bˆ2ìÚµ‹;wî0pà@m‡"„Bˆ2ܾ}›Ý»wóþûïk;!„B”Còã5ŸV'>}€)S¦;6eÊæÌ™£ªsôèQ ðáÇ}ûö©ÐV*•ª×±±±jmøùù©M8xî¹ç¸qㆪ,*ªpÒÅøñã‹Å1nܸ M Òôœ•éÏ£*rýŠøúúªM°±±¡ÿþ¬]»–sçÎáïï_n?«#M¯ÕãrúôµÿÅ׼ر)S|˜3ç°ªÎÑ£W ¹À¾}‰ÍP>´‚yll†Z~~õÔ&œ<÷\áêì7nýœ•+x­ýkíÜBˆš/11‘¨¨(Þzë-m‡"žrÜ:Ѿ§ROÑóûž¸Z»¢(Pp3º¤e§U©ýVŽ­æ3ŒÍ§7Óyeg-±1±!+7‹”[)äÝÏcÊóSèãه瞧¯g_~;÷ã6ÃÖÔ–úuês9ë2éÙéLm3U5)¨©]SŽ$¡ã·±7·G>êöž¶¥OZ÷´+ýXU„^åû£ß‘Søù׳¿r*õÝ=º3ÎoÜc9·âÙBïÞ½100Ðv(B!„(ÅÅ‹9pà‹/Öv(B!„(ƒR©$((ˆ®]»bkk[þ„B¡56l@GG‡~ýúi;!„B”AòãÏ­N ÊÍÍÀÊʪØ1KKKtttTu²³³“iJòè*é%µ[ô†B¡P•åäN°°°(1ŽŠÐôœ•éÏ£*rýŠ”ÔLJÛ(ºU™X4½VKn®âq;fiiˆŽÎƒ:ÙÙ÷€“iJbh¨þ¿“•Uíbu W9W(ì:’“s ‹âÞ––ÅÛ(‹¦ç¬LU‘ëW¤¤>>wѵ¨¨ÊÄ¢éµ%³3µãÇä­oñÏõˆ¾M-ÝZŒ÷»;³wÎ.¿‘2ëóó¨ŸùòÀ—l‹ÚÆ…ëTÇ,Œ,è5¯z…[ ›š²ñ¥ÌÛ7ßÏþ^¸P&èéê1Àk€êááÚµjó~ç÷™·oçÓÏW)¾ê#žÈäHµ²¸ô8Õ댻eOÌBü»ýòË/Ô­[—€€€ò+‹5=]=¾ú=oÿþ6¡BU÷Àv.íx«ã[ X; Êçø´ç§4¶iÌ꣫IÎL&93(ÜA¯w“ÞômÚWUwQÿE¸X»t,ˆkÙ׸–]8qÛÏÁv||»ãÛ¼²õ.g]ærÖe²r5ߨ:¥ßI/vϾ’u…+Y…ߥÝ뺗ô1!„àŸþáܹs|üñÇÚEÔp{ÎïáܵsL˜Œ‘~aþãdêIÂ.…1Ø{0æZŽðé‘{?—ð„pb®Æ DÉ´¦¡§£§í°„O¹¯¾ú gggzôèQ~e!ÊpîÚ9öœßCï&½idÓ€kÙרø÷FÐPr9E ”œ¾|š£IGÉWä3ÀkN–²©¢lüñgÏžeÁ‚ÚEÔpY¹Y¢yýættë¨*ÿ6â[lMmâ=D{Á=….e\âÀÅdåfñœÃs¼àü‚¶CB<å²²²X½z5'NÄÔÔTÛáˆNòãš“ü¸¢2$?þlÐꤠ pìØ15j¤vìøñã(•JUGGGV¬X§gÉ+@ëëëW)ŽS§Náà þáäÉ“•j³<ÕÑŸŠ\¿"ÑÑÑäçç[öøñãØÛÛ«ÊtttT»Æ”§2±h[ƒ…?8Ž»J£Fê“¥ŽOC©|PÇÑÑ €+ºâéi]b{úúºUŠãÔ©k88˜©;y²j+·—¦:úS‘ëW$:ú:ùù ôŠÕ°·P¿ðd,¢ê¼ì¼Ø9i'ñ7âÉÎÏÆÉ # Ò³ÓÙ0jm«êºZ»²aÔìÍüÓ¼~s6ŒÚPê Ÿ©¡)s»ÏåÃ.#žœ{9Ô3«‡™º:ê?­Œ­øªßWÌë9øëñèéêál匱¾±Z½[¼È€fˆ¿OÎýÿ{¦¶™ÊpŸá¥øú !ÄÃòòòظq#C† AOO’7¢|F|?ô{Ò²Ó¸|ë2vfv4¨Ó€¼ûylµ;3;µúÃ15|ðÝI_OŸ £6`iTò‚ º:ºLðŸÀx¿ñ$f&’q7+c+ìëØ£¯§þ›FOGYmg1ý…é\¸~Üû¹8š;be¬¾`€O}¦…qáú²r³(P”¹KÐãÔÑ­#Fm(õø£×O!„““~~~ÚEÔp{þÙö¨mŒyñAÏ”“, [F@í zK>FDbC›¥AíæþnæÜäÝßß%c!„¦²ò²X¶ŒÑ-G«M Z¾ïzÞZôuØ×8X80¨Ù ­ÅP$øt0«#WsñÆEUÙ”ç§È¤ !D¹V­Z…ŽŽ'NÔv(â ùñòI~\QY’vTnC5)šQöÞ{ï¥*OLLdÚ´iôìÙ€Áƒ°~ýz騱£ê¿¶mÛrãÆ RRR*G·nÝxçwˆW•Ÿ={–>ú¨Rm–§:úS‘ëW$--Y³f‘——n¯½xñb8€››nnnªº¦¦¦$$$PPPPn*‹¶õèá À{ï$*꺪<11‹iÓöгgaÁƒ Î_¿þ,ŽŽftìè¨ú¯m[{nÜÈ!%åv¥âèÖ­ðï¼s€øøLUùÙ³7øè£Ã•j³<ÕÑŸŠ\¿"iiw™5k?yy…»ö(•°xñ HÆÍÍ7·zLMõIH¸EAAù“6*‹¨>nÖnøÔ÷Á¨ðϯ®i]¨=Ükb`RìG˜…‘ ¨gV¯ÌöõõôibÛ„ö-¨_§~± A3Ö7Æ»¾7Míš›ôhVŽ­´º*£›µ›jeÈ’þ{ôáh!„(²yóf²²²xùå—µЍaìLíhaßB•4¬eH@Ü-Õêù;ú«MÀÑÕÑ% a@¹;âèèèàléLKû–8[:›ô0==<êzàSß§Ô{^QGP§v {Z½lMm˼g?zý„¢ÈÕ«WÙ¾};S¦LAGGGÛáˆgPK‡–Ìl;SmŽ'-29’eaËT;ûiSÆÝ ö_Ø@§FJÐ,„S*•|ñÅøúúÒ¥Km‡#žQvfvZ…“‚–…-+¶®¶ìŒÝIfN&¾ |ñ´“û…šÙ¸q#IIIÌš5KÛ¡ˆgØÔ6SÒ\»»-_ÎöèíZ¡Èá„Ã\¼qgKg™$„ÐØ•+WøñÇ™:uªì$É«“ü¸¢2$?þlÑêNA}ûö¥S§N„††Ò¢E 7nŒ±±±äççãååÅ„ èС&L 00FáêêŠ7oÞ$!!ÜÜ\Þ}÷]FŒQá8úõëG@@GÅÓÓ“&Mš P(8þ<ÞÞÞ$%%Uûì·êèOE®_OOOÖ®]ËÆiܸ1ÉÉÉ\½z€ùóç«ÕmÑ¢¡¡¡¸¸¸àää„®®.K–,Á××·ZbѶ¾}ÝèÔ©!¡¡I´hñ` Gllùù ¼¼l˜0Á€™0Á›ÀÀ(5Z««9vv&ܼ™KBB¹¹÷y÷ÝVŒѤÂqôëçF@@}޽‚§g MšX¡P(9þ&ÞÞ6$%e¡§W½UG*rýŠxzZ³vm47ÆÒ¸±%ÉÉ·¹zõóç·S«Û¢…¡¡I¸¸|“StuuX²¤¾¾¶Õ‹BQÝ¿ŸÕ«W3|øplm‹ß…BñôX½z5VVV ¤ýU]ų©¥}KZÚ·ÔvO kckV ]E§6éÑku/næÜÔvXBˆ§\pp0‘‘‘k;ñ ³5µefÛ™Úã©òI÷OðwôÇÚØšOþü„siç´’â)wùòe¾üòKÆ£££¶ÃϰW[¿ªíž*#|F0«í,\­]Ù·‹Ã ga[!ijC©T2{öl4hÀ¨Q£´Žx†I~\äÇ…•!ùñg‹V'éèè¬Y³X·n±±±èêê2hÐ V®\‰‘‘‘ªþ÷ß—— .äâÅ‹\¼X¸=­ÇgäÈ‘•ŠCOO;vðòË/³k×.ÕN7½{÷fÆŒôêÕ 33³*ö¶¸ªö§¢×ÀÝÝ 0iÒ$Ž;€¹¹9 .døðáju,XÀÀIJJ")) €ÌÌLJR™X´MGBB2kÖ~Ö­;Kllºº: Ô˜•+»adôà‘ï¿ïŽ——5 ãâÅ[\¼x =†÷`äÈŠOÐÓÓaÇŽA¼üòNvíº¤Úé¦woWfÌhA¯^[133¨bo‹«j*zýÜÝ-Y° “&íæØ±ÂÉhææ†,\Ø‘áÃ=Ôê.XÐŽ!))‹¤¤,23óª-!„¢&Ú¾};W¯^eòäÉÚE!„eHOOgÓ¦M¼ùæ›èë—¾sš%‰I‹!2)%Jüüh^¿y‰õN¦ž$ìRƒ½«væ=œp˜)'xÑ÷EêÔ®Ch|(  4«×Œ¶.mÈÊÍ",!ŒäÌdôõôñ®ç¿£‰çÈÎËæpÂa’2“0Ò7ÂË΋ö-ؽˆÄ¶œÙBxB8öæö ñ~ò«*[YÐ¥‘¬b&„Ð\jj* ,`òäÉøøøh;Q]½}•Ð ¡dåeÑØ¦1\;”XïZö56þ½Qµã,@âÍDBbBhïÚŸú>M:JLZ &&Œô-T(D$D—Çý‚û¸X¹ÐÁµ†µ ‹CQ  29’Øk±( pµr¥k;jéÖâXò1¶Fm "1EBõ9mMVêéÑS+çBÔLJ¥’>ø;;;Ù%HTÊü;ìûg—³.SϬÝÜ»•Z÷Ûˆo±5µUý®U(|sø\­]éëÙ—øñ„'„s3ç&¯¶~}½Â¼OôÕhN¥ž";?;S;:¸uÀÚØºÄsœK;ÇÉÔ“ÜλMCˆ´qjƒ…‘—³.³åÌ ”$ÝLbYØ2Õgþíÿ$µqnóÄÏ)„¨Ù~þùg"""ÆÐ°øo!Ê#ùñÊ‘ü¸¢¢$?þìy¢OÉïܹ³Øä333Yºt)qqq( 7nŒ••U±ÏëêêòÆoðúë¯sáÂÒÓÓ©[·.NNN<˜4a``@hh(666ÅÚ(:V·n]µòºuë²sçNRRRHNNÆÞÞž† òÕW_иqã2ûR™sjÚŸ²Täú0`½zõ"&&†‚‚š5kVâ—ð€€’““9wî7oÞ¤  @µKPUþ,+s­ªÃÎCŠM®133 0°'K—v&..…BIãÆ–XYÕ.öy]]ÞxÃ×_÷ãÂ…›¤§çP·®NNu00x°“”¡¡#°±)> ªèXݺêÇêÖ5fçÎ!¤¤Ü&9ù6öö¦4lX‡¯¾:@ãÆêÛ9>Ú—ÊœSÓþ”¥"ׯȀèÕË…˜˜(iÖÌCÃâç ¨Ïÿ³wßQQ]ÝÃÇ¿3CU¤‰ ˆŠìˆÆÞ£±ÆKb4yÔË“XbbOŒ¿$>“¨±$±÷^°WTì‚"ØP@,€tæýƒ—‰#Å¡èXög­¬åÜ»ï™}‡èaÎ=ûœ°°Ï zÌ“'Éddh´»ægYÏJ!„xÄÅÅñóÏ?Ó»wo ŽB!ò0kÖ,lll ´£µxweh2øÎ÷;Ö\\£s¼Ÿg¿ãχŸgÞñy4(ß@ûÐÓ/Ô…§âZÊ•YgÀ'õ>Á§¢ë/­gæÁ™Ä§Äë´U¯\=~ïö;6æÿŽA­¿¼žï|ÏÓ”§:±u겪ß*6næÔS@æCÏ,õËÕÏó¡gÖ$'}¹–r•‰ÃBˆ"—‘‘Áøñãqpp`äHÙÁEäßúËë™ì;™TuªöXmÇÚ¼_ýýl±‘O#™w|#}FêÍ;>• ÿ;ö?Žß>@25è]»7—î]âË­_jûò,–üÑíjÚ×Ô»xï"c¶ánÌ]X'+'–}¸ ÿ0mß{êÎ)mÿ /. úõø¯hÐèó‘P̸Ÿ6øT¯X!„ÈU«VáççÇúõëer±È·€û Ý8”èøhí±R¥˜ÑnFŽñ¿ûýŽ»½»ö{mº:yÇçÑÊ¥×£¯ó›ßoÚØÁõ›Ëèm£µ“‚³˜›3¹õdzxôЋŽf쎱ÚIÃYŠ›çÇŽ?bWÜN[®SôìwÿœlÜLXLØ‹>­þuúëŒ!DQ ãÇ”ÉÅ¢@d|.„xd|üíôJ‹‚š4i’ë¹%JP·n]½ÚQ(¸¸¸d+ÔÉ¢T*iÖ¬Y¾ÎùúúbeeEÆ qrÊü%áÀLŸ>¥RI«V­ò¼—‚¼§¾÷£ü|~Y|ãééùÂ8###ÜÝݳ/Ìϲ0ŸUa4i’ûI‰&Ô­k¯W; Ef‘Îó…:Y”JÍšå¼eynç|}C±²2¥aCœœ2‹­¸Ëôé'Q*´jU!Ï{)È{ê{?úÈÏç™Å7žž¥_gd¤ÄÝ={ñXa~–…ù¬„BCúå—_Ðh4Œ=ÚЩ!„"gΜaÛ¶müþûï¯Ý®Éâõö×Ù¿Xsq *¥ŠÖ.­)g]Ž›n²êâª|OÔùÎ÷;Œ•ÆôªÕ ûöx–õdÿõýLØ=•BEó*Í©\²2©é©œ=Á™°3|µã+÷\ Àîk»™°k¸Û»£Rª|ÈÙð³hÐеfW24œºsŠ=p´Ì,\/kU6ÏÜîÅÝÓ™Øô"Ý:ÊCO!D‘ûé§Ÿ8wîëÖ­Ó{‘6!²\¾™I{&¡ÎPS¯\=<šŠ¶ñ©èƒ:CÍ‘[G´ßyõu!âû¯ï§IÅ&¸•qÃÌÈ ¥BÉ C¸€“•M*5ÁÊÌŠ;Oî°ÿú~&îžH»*Ôv¬MzF:Ÿ¬ÿ„ È Š›§E•8X:Á‰Ð\¼JïÚ½é3’_OüJY˲tsï¦}ÿ}×Þ¸9[±Q^:ºu”¢ !D‘JHHàóÏ?§|ùò2¹XˆŒçLÆÇ…/ƒŒ¿^iQÐë, €¯¾úŠÒ¥Kãìì̽{÷Ϭ>|8eËæÝY QÑ|õÕJ—.†³³÷îÅžYe>|¸'eËZ8C!„BR`` «W¯fÖ¬YXYY:!„BäB­V3eÊš4iBëÖ­ ŽxÃ,9½¥BÉßþMà µÇ}ƒ}¾yx¾Ú²/aÏê~«)nR\{¬Ýâv˜›³ºßjÝ4 #¶ŒÀ7Ø—›nR¹de~>ò3SÛNͶãÙð³(QÒµfWîÅÝÓ>ô¬ë¤ß‚EŽ–Ž/Ü•àY®¥\õŽBˆ,jµš3f0a„l57oÞÌ¢E‹øá‡¨Y³f.-‘»¿Îþ…:CÍHŸ‘:}ÚHŸ‘t^Ö9_m%¥%±íãmT*YI{l²ïdâ’ã˜Úf*ý¼tûá¿ÎþÅŒý3Øvu}=û²àäâSâéR£ ³:ÌÂXe¬ G¥Pá`é€B¡`Ãå 4ªÐˆáÞúÿ^1Â{D¾v Bˆ‚X¹r%Ù+ˆˆ`ذax{{3bÄe'Þd;‚vE“ŠMXÔc‘¶ŸLJK¢ÿêþÿüsãŒ3†G±iÓ&™\, DÆÇs&ããBˆ‚ññw“ýíÚµcË–-œ8q‚¨¨(ÌÌÌ6l?þø£³o»ví*²eË Nœˆ **33#† «Í?65pvB!„0¤””&L˜€——|ð¡ÓB!DæÎËÝ»wY¸p¡¡So˜ˆØ"ã#ñ©è£óÀ mÕ¶¸;¸p?@ïö†4¢óÀ3*>ŠoPÞº¤¸IqBŸ„âáà‘í'¯IF9ÉïCO!„(ˆ °|ùrLMM?~¼öø™3gøæ›oøüóÏéÙ³§3o²óáç176gxcÝIIå¬ËñaíY|z±Þmu©ÑE§ ÀïŽ*…ŠÇ‰ùÍï7>;!-ÈœhŒ'œºs ¥BÉ´¶Ót ‚œ¬œ r{:¾ðù¢Ðm!D^‚‚‚˜1cŽŽŽìܹ333âãã:t(¥K—fÞ¼y¨Tª´$DvçÃÏ™ýÙ³ý¤¹±9ý‡3dý۪h[Q§ àDè ³0vÁ©ÚþZ£Ñ Aƒ¥™¥ö»ü©;§×|œNA@q“⸕vËçÝéêZ³k¡®BˆIKKcĈ„„„аaCj×®­=7{ölŽ?Ί+ptt4`–âM%ããBQ´d|üÝ$EAÿ_Íš59~ü8?æÖ­[¨T*ªU«†¹¹¹¡S+&&&:t;;;C§"rP³¦Ç÷áñãdnÝŠA¥RR­š-ææoÇ_Q‡}ˆÝÛñ÷I!„x•¦M›FDD[·nE¡P:!„BäâäÉ“,\¸iÓ¦áäTø ˜âÝ—ä>y×ÉÊ)_=mœu^g­~|7æ.sŽÎÉõº§)Oy’øÈœðô2Ü‹»Ç†ËôŽw-åJ»ªí^J.Bˆ·Ó¹sç˜;w.K–,¡eË–Ô«WóçÏ3dÈZ´hÁ˜1c œ¥x“Å&Çb_•"ûõrÖåòÕÖó}6döÛjš¹ÇçæzÝÓ”§Ä$ÇPÚ¢´Îd§¢ôëñ_óµSЧ >})y!ÞNIIIŒ1FCxx8³gÏæ»ï¾ãéÓ§|üñÇåÊI_*„BZHHHŽ}vtt4cÆŒ¡]»v|øá‡ÈL¼é,M- Ïñ|nÇsc¤Òöµ2³ Š]:TëëuîöîØËœtûñí|½§¾îÅÝcÞñyzÇwtë(=…z‹‹‹cäÈ‘ÚE5 £FböìÙ >œzõêñË/¿ T* œ©x“Y™YñàéÔu¶Â üLÆP)³YšY’ªNeHƒÜw/¨bWk3k"â"HHMx)…Aóýæ£ÎPëkWÜNŠ‚„ù2uêTÂÃÃQ«3ÿùçŸhР‹-âÞ½{,_¾\v…’õ]8<6œÒ¥uÎå»ÏΡØÊ<³ý~žý(Y¼d¶ófF™»_Y›YpëÑ-Ê[—Ï×{ëcsàfüBýôŽïèÖQŠ‚„z;vìK–,Ñ¾ŽŒŒäûï¿ÇÎÎŽùóç3uêT:wîlÀ Å›NÆÇs'ããBˆüññw› !„Ba@7ndÖ¬Ylß¾íñàà`&L˜À AƒhÛ¶­3B!ÀƒèÕ«S¦Láƒ>ÐOIIá‹/¾ÀÒÒ’~øÁ€Š7YY«²”±(ƒ_¨§ïž¦AùÚs¾Á¾ùZ1'–8Û8M»ªíp-¥[ܦÑh8zœšö5Q)U8Û8sùþeÖ\\CïÚ½ubÏ…ŸÃ«¬ …S•)ðïêËúp´td¤ÏH½ãŸÏU!ò2iÒ$=z¤\œ‘‘Á£G2dÍš5cÞ¼yÉ£1Q8^N^l»²ßOüÎ>_h‡Å„±îÒºB·ï]Á›µ—ÖRÁ¦]jtÉvþZÔ5J˜– Q…F¬½´–©û¦ò}ûï1Rþûÿwxl8*… KmŸ““¯\FxÈ×NAB¡¯={ö°aƒî éJ¥’Ñ£GcmmÍêÕ«qvv6Lrâ­áåäÅÆ€üzüWõX„±Ê€¤´$~óû­Ðí7*߈õ—Ö£Ö¨ÑxJ…îĺèøhî?½Ÿ[¡ë/¯çÿÿµkéä$¤&p7æ.n¥Ý0Q™ä»ÏîZ³+uêÆë€U IDATêo[ìí[,Yñrâ<Áã‚Q¡¢‚M¾?ð=gÃÎbnlNY«²twÏ}"@~zæÇÒ3K‰O‰àQâ#~óûM;AzHƒ!˜›¿”÷BÞêÕ«Ù½{7nCzz::u’ž¢H ª;ˆA;™{|.~wüðpðàqâc|ƒ}136+tûÿñþ{‚÷0vûX–YF-‡Z”0+At|4!C¸ÀÒ^K)kU–Ï}ÆŽ l Ø„ÿ]Uh„•¹·Ýâè­£,éµKÊY—C©P²þòzÒ3Òµ‘_Ô'?[ôT”|ƒ} ŽàòýËl½²•‹÷.СZínHBˆ·Ïýû÷7n …B§ßÎÈÈ ##www)E¢“['æ›Ë±ÛÇè°¤>}ÈÐdpøæa’Ò’ Ý~Çêùëì_¬¹¸†c·áíìMÉb%‰KŽ#ôI(þwý\0tpëÀ¢Ó‹¸uæ šÓ¢J ìKØs/öÇCÓ׳¯¶(ÈÙÖ™«‘W»}¬¶ïæÞ '+§\séZ³k¡ï''W"¯pàú®?¼ÀÙð³Ú<RçØï~¿kÿÜ¿Nyè)Ä[êÆLŸ>=ÛÏ, …‚I“&Q¿~}ììì^qvâmãáàÁŒv3˜ì;™3ag8v€Z޵è\½3Ó÷O/TûNVN,ﳜ±ÛÇø À:çÝJ»QÖª,å­Ë³´×RÆlCxl8ë/¯×iÇÑÒkskº¹wcÃå ,?·\ó²&"½ÈÞ½l½²UçØ³¯]K¹JQo)µZ͈#HIIɱßNOOçÀìÚµ‹: Cñ6)nRœ…Ý2tãPn?¾ÍíÇ·°+nÇ÷í¿çóŸª}•BÅ’^K·sodý¥õ:çËX”ÁÃÁ#¥K{-eÔÖQø‡ù³íÊ6mœ…©ÕËT×¾þ¸îÇŒÛ5N§olP¾AžEA/Ë•W´@YÎ…Ÿã\ø9>òúHŠ‚„x‹ýù矜>}:[Ad””ÄøñãY°`²o/<âÝ%ãã¤(H!DÛ°‘q;Ç1¿ë|ÚUm@ÀýºþÝ•‘># öQd7ïø$øëàcò×Ù¿ð¿ëÏć˜›SÅ® Ý:Ò§vŒUÆzçWަF¦”0-³3^N^twïNå’•s¼.§|ŸoO¥Tamf»ƒ;ƒê§¢O¶¶6ld⮉X›[ãåäÅÄ)g]®@÷#Þ\ÑÑÑL›6Mû:==0pà@®\¹Âï¿ÿN½zõ ˜¡x[(Jf´›AÏ>œ¾{FC§:Ôv¬Í¾}8Y9afôïî^N^Œô© àíì©‘)vÅrпúû´vm_¨Ÿ¶p²r¢¶cm,tbûzö¥“['ŽÝ>FXL%LKPÓ¡&µjicLLÙ¨*mÜí sõÎ\¼JbZb"ùÓÆµvEåœ<ûù !Þ.sæÌ!00µZkŒB¡`„ xyyaooÿ ³o#wwöÝÏë¸w2%ÊÐÊ¥†‘>#µE;Y†y£´Eiík#•#}FR©d¥Û·1·aQEÜ|t“³ágyœøÛb¶8Û8Sש.*å¿}qi‹Ò¬ê·Š€û\¸w¤´$Ê[—ÇÛÙ+3+m\7÷nÔ°¯Áé»§‰MŠEƒÆ`ßµkØ×ÈóùþóŸŸâíÀ/¿ü’çwíôôtöïß϶mÛèܹó+ÌN¼d|¼ðd|\ˆw“Œ‹,R$„âp6ü,½WôftÓÑ ÷nètÞH«/¬fÑ©)Ì­²¼°’Ó“½m4ûBöé˜ðƒ7rðÆAÞ¯þ>³;Î.ð$ãg%¦%’˜–Èý¸û¹u„_OüÊ´¶ÓèR£KÚKS§q/î›7³ÿú~6 Ü”­0Hƒ†4u±¬8¿Ûb¶R0÷Žyòä Ó¦MC¡Pèü]R(„„„°páBJ•*eÀ …0¬ª³«Ò |ƒ\ GEÞB¢C¿k¼öµ‰Ê䥽×'ÿà—£¿èü[–ªNÕ®¹îÒ:–ôZB‹2…~¯”ôRÒSx˜ð³ágùóôŸ|\÷cÆ·R¡Ìw{ê 5qøæaß<ÌÿºüNn²Çi2ãö…ì#.9Ž•}Wú^Ä›å»ï¾#99Yçÿóôôtèß¿?-[¬`]ˆÜÔ(SƒejèkíÚšÖ®­uŽy•õ«¬—αÆÎiìÜ8ÏöÍŒÌhQ¥…^¹XšYÒÑ­cž1æÆæ´¯Ö^¯ö^¶Oê}bè„0sæLnß¾çäb€´´4<ÈÆéÞÝ0+¶Š·‹ƒ¥}=ûês+í†[iÝ¢Ò¥³ýeåE¡PPÇ©uœê¼0#¥M*6¡IÅ&y¶çíì·³÷ Û{ÙÚVmKÛªm †âóóócáÂ…/|¾¤ÑhHHH`âĉ,Y²…BñŠ2o«â&Åé\#ûdõœúâÿ4úÎk•B¥×3¼Ê%+縀QNÜÜqwpÏ3¦j©ªT-UU¯ö^¦œÆ(„o¿øøx†×^Í·ß~Kýúõ¥˜W /8âÝ$ãã"K¡Š‚BBB¸~ý:åÊÉ*¹Âð-ZĆ  †xGòúˆQMFé¬2ù,•R•ëî?úذ‘ŸüŒB¡``Ýô®Ý› 6HHMàDè ~9ò ×¢®1týP6 ØP bÞgsTkÔÄ&År-êÛ®ncSÀ&–žYŠ±Ê˜¯š}•ïöÒ3Ò¹óäsŽÎaOðþw4{QPw÷î|PóÂb°zç#Γ¡É(P’x3íܹ“}ûöåxN£Ñ°råJ:uê„——WŽ1B!„x¹öíÛǪUyïrjddDzz:fff4nÜ##Y/O!„xÕ?~ÌèÑ£Q*•¹NT222B­V£P(¨^½:µk×&!! ‹Wœ­Bñn›4iQQQ¹öÙJ¥…BZ­¦L™2´hÑ‚ÇKQBñŠÉø¸x–üdÅ[#1уÄD'C§!Þ§ €ù–¦N£÷ÊÞEé¿ukQ׸ýø6ó»ÎÏõú¸”8 Ü:élu_”.߿̦€M˜™²²ïJª—©®=çhéÈàúƒ©[®..ÿçWÐϳUìªê=MT&8Z:âhéH»ªí˜y`&ËÎ,ãûƒßó^å÷ò=é×ÜØœ:Nu˜ÐbƒÖ"8:çÉÖ¦F¦4vnŒ­¹-±I±…ºñf9pà{÷îÍõ|zz:wîÜaâĉ̙3çf&„xLÙ;…UtoÂcÃÙpyû¯ïçì—¹”Æ¥ÄЮj;¬Í­_J~IiIÌ:8 €©m¦ê¬ŽmbnB'·Nø8ûðÁ_p%ò ë.­£ŸW¿B½§J¡Â¶˜­veëUZ0|ópŸ^LÏ>8Yåïû ‘ÒˆÊ%+óþ}×÷ú$”Tuj¶•T Î6ÎÔv¬Í®k»HJK¢¸IñBÝ‹x3ÄÄÄ0yòd”JežÛ­>œ]»vaccó ³B!Drr_ýu¶]xIOOÀÕÕ•fÍšáííMýúõ16.ü®ÓB!„È/ ãÆ#66Vgr±B¡Ð ÙØØðÞ{ïѲeK5j„µõËÓB!DÞNŸ^ËŽ;²766&-- ¼¼¼hÒ¤ 7¦fÍšÈR!„2>.žW¨¢ WWW\]]Y¿~}Qå#Ddn>èeèTÄ;£'®®†ÎÁ°â’ãøåè/ø†ø—‡‹K®[§Ü ëß]é3RsôÖQ>Y÷ ß´ü†ö5˜stW\¡RÉJl´FÆËXwyÁQÁ¨5j*ÚV¤wíÞôóì÷ÿÿÞgÒh4l ÜĆ˸u u†šÊv•é]»7=½˜óç‰O‰Ç¾„=m«¶å‹Æ_`aª»’ç™°3,=³”óáçyšò”rÖåhãÚ†O|Êõ‡×é½¢7~¡~T™õoáçʾ+iP¾[·°âü B¢CÈÐdP©d%zxôà#¯´Åœyåíÿ¥?­¶¦´Eivº;ÛgE“ߚдrSþìñgáù›Ëš‹k°0µà‡ö?`fdÆúËëùªÙWœ ;ËŽ ìcž•¡Éü÷ÅHõòÖ9tóO’žP˱–NAг¬Í­ßb<#6`Sà¦B=¯kZ»´foÈ^ö†ìå“zŸª=c•1FÊÜ?³¬ŽÔyo»-Þ“'O&>>>Ï>[­VóðáCFÍÒ¥KQ*e)!„âUÐhÔ\¼8§OŸ¢P(P©T¨ÕjJ•*E³fÍhÚ´©L(B!^s9tèðï Ŧ¦¦4hЀæÍ›ãããCÅŠ œ£B! „uëÆÿîàP­Z5š7oN“&Mðôô”„B“ñq‘ù M!D¾¥¤§ÐoU?‚¢þÝq&ðA ŸmüŒÕ:ä«­óç™upjMæ`B†&FÃwü—­W¶êÄ^‹ºÆ”½SŠ bfû™@fAШm£Ø´S'6à~÷ôZ1>MÆÀ59~N{,UÊÉ;'9u÷T¶ÕïsËÛ³¬'lÜÌ×Í¿¦˜q1kVœ[¹±9½j½¸€±êìªzO8µ+nÇ©/^¼{ULR ý‡SÇ©'BO`¢2¡z™ê¹à<+!%!ÛÊùEí|øyÚº¶Í3®mÕ¶¬8¿‚ Š<• M*6aSÀ&îä»(()-‰«‘Wµ»'¼Wù½¼ßÏÈ„„”„ç+Þ,Ó¦M{áäâ¬U–,--¹víF§Rˆüš¼w2«/¬Ö¾‹ ãÇC?råÁ•|µ›K¯å½ˆŒÔËÈÈ`õ…Õ|·÷;•GÂcÃYâ¿¿P?Öõ_‡¹±9ËÏ-gÚþi:±7Ýä“ P(hZ©é ó˜uh‹O/Ö9v5ò*ÓöMãBÄætÖÝa+§¼M”&ôªÕ‹?Oÿ‰˜?õËÕ×¹fÍÅ5¨5jÖøÂ|¬€_¨ß ã²øñ¥rÉÊyÆ.r"EAB!òíŸsÿD¥’•˜Òz µËÖæqâcþ<õ'+/¬ÌW[»¯í¦g­ž m0”òÖåQ)Ul ÜÂÖ+[©Zª*_7ÿšZµ052%ðA ÓöOcí¥µôðègYO6l`gÐN¬Í­Ût,Í*7ÃÚÜšo°úâjŒUÆ ÷Nƒò è½¢7£›Žf¸÷p–Ÿ_ιðs8Z:2¥Íê—«ÏÓ”§¬¿¼žù'æ3óÀLZ»´¦”E©<ó†ÌnÆnËæ€Í:«áßxxÿ0úyõ3Ø$ÒÚŽµQ)U»}ŒvÕÚé}]bZ"~¡~\‰¼‚K)—Æ?¿³C–5­¡®SÝ<¯}˜ø€ò6yO¦,g]à…»TY«²¹ËÜãsÙ}m7Ÿý›Ï}ÎíÇ·™q`J…’Á ÓÓ£'–DÄF°7d/¦F¦ÔuªËñ7¨:»* Ê7àŸÞÿèäp%ò ‹O/ÆÌÈŒqÍÇÑ®j;ŒUƹu„éû§³ýêv:ºu¤•K«<óøÈë#–žYÊŠs+tŠ‚Ô5k.®¡Š]|*úâÓ/¸²–e±/aÏùˆóÄ&Çê}]ª:•o°ëÚ.TJ•¶¿Ì:CcŸÓïKÏËêƒ_Ôg›™RÚ¢4÷âîñ$é ¥-J¿à.ò§¬eþúìÜî¹–c-f´›‘絬+ðçé?æ= [s[)Ú|K%%Å1mÚ79îì—U¤T*iܸ1­[·¦M›6ØÚÚ([!„âÝIFFõëï௿*abòr±B!DÁdddtø‹Ó§«Èwg!„â5vüøq ?'þO>q4t:B!„È…Œ‹ÜÈ,C!„ù¶çÚ ¿uý »Ì"‘bVŘÚv*·ŸÜÎ×jùµkó}»ïu&TnØ€J©bÙ‡Ët&ŽÖ+W9ïÏ¡Ýâv쿾ϲžl ØÀÜ.siìÜXëîàŽ»ƒ»^9ì ÚÀ¼æQÛ±6¦ŒôIT|k.®áÀô®Ý;ϼ:TëÀ¬C³Xya¥NQЊó+^X ’%øë`½âò£rÉÊLi=…fpøæaÌÍq±sÁ¾„=+6ζ³À×;¿Ö~Æl*0©å¤"ÏëuôìUɶ£šŒÂH™÷¯[ãšcìö±üwÇhR± Ë>\Vè÷¯›X&L˜ 3¹ØÈȈôôtlmmiÓ¦ -Z´à½÷ÞC¥R8Wñ6ñ öà«f_Ñݽ»öøG^›Ëœ£sr»4›bÆÅXØ}!¶Åþ}x¿%p ééÌh7ƒöÕÚkW±«Âÿ:ÿ³ágÙ²Ï}ÎÖ+[Qg¨æ=Œ1MÇhc+—¬ÌýG¯v_Û ÀˆÆ#è_§¿öx—]P*”ŒÞ6šA;uŠ‚rÊ2 @[¹´boÈ^¢â£´¿sì ÙGT|#Ð+§ç —Š‚B¡`~×ù Û4 Ÿß|p¶u&5=•M›ð©è“caÍÆ€ŒÛ9ksk&¶˜ˆ¹M‘çöºÑPø>»˜q1Æ6û‚¥>ž}8qŽåç–ó÷Ù¿1Q™põ««…~ñúÙ¸q111:}¶Z­F¥RѸqc:uêDëÖ­±°bn!„ÂÊ”)ƒ«ëw˜˜D¾ Z!„†¢T*iÝú ¶o/ƒ­íMC§#„Bˆ<´hѨŒ½}$oèt„B‘ ¹‘¢ !„ùv'æe,Êh ‚žÕ´bÓ|5vnœ­°æzôuÔjšüÞÈ,ÐÈšð™U¬q/î7ÝÄÊÌJ§ (¿î<¹ƒµ¹µ¶ èY-ª´`ÍÅ5Üyrç…y«ŒéS»óŽÏãLØê•«GbZ"[®lÁ§¢•Kv‹Æ>ž}hW­®`Ý¥u\yp…¡'0R1©Õ$zzôÌõZscsJ/•ëù,ÞÎÞž mWÌŽèøhî>¹›çDæ°˜0Ý›ŠRDl@¶ ä¹yöž£ã£ùçÜ?üqò†nÊæ›1Vçz­m1Û ²ÄÛf4>D©TPªT):wîLûöí©U«–ì4!^š¬þ«IÅ&ÙÎ5­Ø4_EAÕËTÏöïâõ‡×µm£¶ÒöÓ4Ú?+Èüÿûæ£Ìÿí«¶§ B‡™ýóó²Ž=ßgç”w–uâìËÚ‹kùÂç –Ÿ[Ž•™]kv-pžE¡¶cmÿç0Goe÷µÝ¾y˜™fŸχµ>dJ›)(ʯ5Vã`éðÂ÷P)U.DÎêƒï>¹›g\Jz QñQ¨ª—R¤”ß>ûÙ{ŽO‰çàƒ|³ç>Ûø;祿uî;7)þïî@…¯E¯-_üýסP(P(˜˜˜Ð¢E :tè@³fÍ0777t‚B!„B!„B!„B!„ZR$„ ¬Í­³ËÐd®È­ÎPçz]š:­HóÈš°¬¯œòÎÒ׳/œüƒçWP¯\=6l&>%žAuéÝ~ÕÙUó¼ÿgÙ·ãÔ§ôn󮆠=¸wsºÖìÊ体ùf÷7T-Umì쎳™Øb"[¯leúþéÌ<0“%½–èý^ùåYÖ“ ¨ |C|©åX+׸¬/<Ëzy©êTއ ¦}Í|__Ê¢cßKT|6²êÂ*Ö˜kü/G~á⽋ŒôIÿ:ý߉]Þ5×®þÂÑÑ‘Î;Ó¶m[ÜÝõÛÉLˆ×IAûìTuªÎë¢(‚ËOyõÙõËÕÇ­´k.®aXãa„>åôÝÓ i0scý&þX3 _ѾC|õ.6Q™ÐÊ¥%LK’žÂÜ.sY~~93öÏÀÙÖ™Oê}¢íîÞÕ:p.ü#¶Œ`ÜÎq4¯Ü<ÏÂÔÂÈ*¦ö ñehá¹ÆºyˆôŒtj9Öz)¹¼q(XŸmajAçIÏHçë_3ëà,~ïö{®ñÛ®lccÀFZViÉ·­¿ÅÑÒ±Ày‹×SBB0SÓb´mÛŠöíÛÓ¤IÌÌÌ šB!„B!„B!„B!DŽr^VX˜ŸŸS¦L!44´@×ïß¿Ÿ)S¦ðàÁƒ¢ML!ŠPë DÆGjwxÖÑÛG Ý~å’•176çÂè Ü#ÇÿæwÏE» IDAT¯MŽ}ádܬ•ôsš´\Á¦O’žpéÞ¥lçß<¬Ñ—]q;:ºuÄ7Ø—èøhV]X…³3ïUzOï6^% S ºÖìJ†&ƒSw²Y›[3°î@œmœ |øRséîÑ€ÎþÃÕÈ«9Æ\º‰µ—Ö¢P(èV³[‘çð‡ÿèøh*ÚVÄ­´[ÛûÞXLLYxj!)é)¹Æ>ÄÚÜš/!Ao©'O"€ =z”ÿþ÷¿R$^©¬þëØícÙÎUŸ ðwï¿sí³Ï~yV'v÷µÝ/lW‚tuz¶ãζκq(Û¹‚ôÙê 2>’ý!ûYq~*¥Š¼>ÊW¯ŠJ©¢¯g_” %'nŸÈvÞÜØŸŠ>t¬Ö‘§)O¹“÷.>…Ñ¢J ¬Í­¹tï«.¬Ê1&&)†ýðRúì½!{Ùw}*…Š6®m ÜNך]©^¦:û®ï#(*(׸¬ßƒF7“•S®;5‰7W@@ð;?üp_~ù…Ö­[KAB!„B!„B!„B!^k2ƒ¥ˆùùù1uêÔBM:UŠ‚„¯µvÕÚ¡Ñh¾y8'ïœ$1-‘ðØp&ûNÎ×Jù¹éY«'IiI X3€ƒ7ò8ñ1iê4"b#8tãÃ7×¾O7÷Ì ¦£¶bí¥µŠµ—Öæ—G‹2E²s†x=5jÔÈ}ç+!^¦¶UÛ™6“ãÄG¬8¿‚ßýrßE_]Ý»¢R¨³m ë/­ç~Ü}ÒÔi »{wŽÜ<žà=|³û›lqY?Î6Δ±(ÃÉ;'©;·®öüñ7èïÕŸ=×öp>â<Ÿ®ÿ4[“ZM¢”E©|ÝCMûšx•õâÈ­#X˜ZÐݽ{¾®’Ó“Ù°‰M›€ÌÝžÝ9©‚M:¹uÊõz•R…ÍKÏsF»µû`¬2Γ‘‘R)uÚBˆ—ÃÃÁƒ>ž}X}a5ãvŽÓ9×É­;‚vª}gg¦·›Î·¾ß2a÷„c>køm+2±ÅDf˜Á‚“ ´ÅBY†yÓþ¹aù†ìÚA‹ÿþ[¼²ïJ”oÀàúƒY⿄ɾ“™ì;9Û=µvm¯{052¥wíÞüqò ³°×Ð24¿}œã·ÿöÙ{Cö™9ƒëÎõz•R¥mçeêéÑ“q˜wbŸý›¿Ïþ-¦j©ª,ê¹(Ç>Pê u®}¶B¡``Ý|õÞWjûYm]ÛâbçÂÞ½„D‡àZÊ5[ŒF“ù{ì$„B!„B!„B!„B!^RTļ½½ñöö6tBñR™™²²ïJ~>ò3¾!¾©÷Ižy*x5;Ù˜›³°ûBöïaýåõ>$.9+3+<=ø°Ö‡´riU¤ïgef…‹ ÞÎÞtsïFÉb%‹¤mûöt«Ùµ—Ö²îÒ:úyõË9ðå×Z !ÞaSÛL¥‚uÖ\\CD\e,Êлvo:U/|Qdö/ÕJWc©ÿRüÃüyœøÛb¶8Û8ÓÑ­#]jtÑÆ¬;×R®,=³” HJK¢œu9Úº¶å“úŸhã¾iù é霺{ŠØäXm1À„¨Vº+έ äaš *•¬D÷ô¯ÓŸ‚èëÙ—?Nþ[i7ê•«W𣈸ع°¢Ï 6næÒýK„Ç„™EX^e½ø÷(o]>×ë_UŸ ð…ϼWù=þ>û7þaþ˜¨Šf×c•1–¦–8Ûf~ÝÜ»ábçR$m+ þÓè?ŒÙ>†ù'æ3ïƒyyÆ !Ä«¶àäŽÞ:Ê )aZ€A;Yy~%ß¶þ·ÒnÎPd™±ƒê Ò{»ôŒtÖ_Z¯ý=ª»{w:×è¬=èÆ!þ<ýg®×·©ÚF[Ԝ۫V/>¨ùAŽñW"¯°ûÚnn>ºIrZ2¥-JÓ |:ºuÄÔÈTÿ}Æó9ª”*Š›§d±’T/SæUšãhé˜ëuÏçû|{ …3#3œ¬œhåÚŠ&›ä˜Ç¨­£ˆO§œu9ºÖ슇ƒGîG! ãè­£,8¹€QMGQ¿\}n=ºÅ¤=“èîÑýµX^˱Ü:QÚ¢´Þ9?ëù ÅMŠcif‰«+*4ÂÝÁ=×ëžÏ7§{612¡TñR4(߀Î5:ç8&°ðÔBNÞ9Ii‹Ò´¨Ò‚vUÛè~„¢0¢ã£ùrë—:ß©>Y÷ •l+1©Õ$Ã%'tE±7d/_ú|©÷5!Ñ!¬¿¼žÐ'¡¤©ÓøëÿtÎØ<‚ljs½þÙñ—›G›Ëò>ËsŒMJKbÇÕÚñqscsªØU¡}Õö¸•)øxͳ9* LL)aZ"ó9“>Î>Úž¿.§|Ÿ¿g#•ÖfÖ¸;¸çú|üè­£,ö_Œµ™5^N^ô©Ý§ÀcBQ2>þæñqBŽ1???öîÝË Aƒ²ítçÎöïßOdd$¶¶¶4kÖŒjÕªåÚVbb"[·nåÎ;8::Ò¹sg¬­­_ò!„~,Í,™Úv*SÛNÍvîù›îîÜCçXÓJM³{^‡jèP­Ã sQ(|XëCíîA¹©íX›5­Éñœ™‘#}F2Ògdžmè“w–+‘WP(ž \ÔLLy¿úû¼_ý}~9ú ¥Š—Ò;?c•1ê 5IiI˜›g;_Á¦‚ÞŸÍ‹b í«µ§}µözµ§¯üä¨Ïuú´7³ýLf¶Ï¾ÛQ–§)O±/aŸïœ„B_J…’O|ʧ ²ï†—Ó¿act^›™¾ðß:þ×åzåÓ¨B#Uh”gL)‹RÌï:?×ó]kv¥kÍ®y¶¡OÞY®D^2wC|( Vh¨-n>z‚ÕVçù™<+kWž§ÉOs91â„Þù¼(ÖÃÁƒŸßÿYïöŠê}ó{Ý‹Úë\£³Î óóž¦d~žEUä$„ùqëñ-üÃüIÏH×»wÿ0â’ã –×–À-¬»´ŽÉm&SµTUƒåñ:¹y•ÄÔD½ãgšÍÒ3Kµ¯Ÿÿ=):!ÿ0ÿ\¯vw»¬Ø¬…Tž•ªNeÒžIÚ݃Ÿµ1`#sŽÍa^—yx–õÔ;w}sœºo*ïWŸïZ‡•™Õ óÍ«½•VÒͽ³;ÎÎvî½ DÄF°æâv ÞEEÛŠù¾!„(Œ¬Þp™š€˜¿ö;ž!G3uïÔ<'Ƽk"b#°1·Ñ;þàƒ Ý04×óÉiÉyö‡O’žd‹5Råü¨~Ù™eütä'RÒStŽï ÚÉœ£s˜Øb"}<û軾9Bæs”YfQÅîß]{sË7¯ö6næïs³²ÏJ,Í,uÎÝ|tS»;ò¦€MüØñG)˜B¼r)êüÃü³í~&ì ÉiÉÊ*SÿÕýq+í–káè»&.9ŽëÑ×õŽŠ¢Ç?=HLËünžÓxî…ˆ DÆGæÚƳã/".ð0ñaŽq§îœbÌö1DÅGéß²—?NþAïÚ½™Üz2FÊüOÏ{QŽö%ì™Úv*-«´Ìv]NùæÖÞ®k»Xprÿôù‡ej蜋NˆÆ/ÔOw5òjŽßÇ…âe“ññ7‡Œg'ããBˆWEŠ‚Š˜ŸŸS§N¥Y³f:EA'NdöìÙ¨Õjí1…BÁàÁƒùý÷ß166Öiçúõë|ðÁܹsG{ÌÎÎŽÍ›7ãããóÒïC!DÁ©3ÔøÝñcåù•Ôsª—çJþ†¤T(óŸµúàòsËéëÙ S‹—‘Ö;#)-‰=Á{HLK¤L‰2†NG!ÞY·ßæûßS̸«w4t:9*hŸ½1`#îî”,VRv·)„4uÁÑÁœ ;ƒ•™•¬„(„xmtt눻ƒ»AWAŒˆ‹À?Ì_[8ù®Rg¨Ù~u;§ïž&8:˜){§P·\]:Wï¬3¡6'¾!¾¨*Æ·‹ •JVÊ1®g­ž|P#û$n}¿O~¹õKö…ìÃDeBOžx;{S̤·ßfÝ¥u\‹ºÆ€5Ø0`C`?›cbj"÷ŸÞçÔS컾­W¶róÑMV÷[ãB#/j/&)¿P?V]\Ŧ€Mt­Ù5Ûâ¹]æò8ñ1ë/¯g_È>Þ8Èàúƒ t/BQ”*•¬Äʾ+)kUÖ`9&MFõ2ÕéU«l*šÀ‰Ðl¸¼ÕV“˜šXàEµžÍ1=#¸ä8®E]cgÐNBŸ„òùÆÏ™ÓyÜ:廽4uwcîò×Ù¿¸õè3öÏ`u¿Õ:ñM+6åïÞÎÌý3ñ ö•¢ !ÄkCÆÇ_2>ž=GB‚½¿ýö?üð …‚N:áææFhh([¶lañâÅØÙÙñÃ?è\3|øpLLL:t(fffìß¿Ÿ«W¯ÒµkW®]»FÉ’Ù·mBaxóŽÏcÞñyÚן5úÌ€Ùä-¿ƒÉM+5eÝ¥uÌ><›Ù‡gÓ¤b–}¸ì%e§¿ ¨ Þ_úþ ãZ¹´bA÷¯ £ûzç×:«O4­ÔÔ€Ù!Ä»éôÝÓô[ÕOûzhá3.fÀŒr§ }v£ 0V³'x{‚÷`¢2áêWW_Rvùã9Çó…ã%LKpaô…W”QÞ6ldÜÎqÚ×Y;. !ÄëÀÁÒ!×ɨâÕyšò”~«úq5òß¾Ö?Ìÿ0þ8ù?uú‰.5ºäz}t|4Ž|\ïã<ßÇÉʉå(ÇA;Ù²¦%XÑw…ÎÊ¿M*6¡ŸW?ÆnËŽ LØ5M³¯–¨œrìëÙ—è­Dàƒ@–žYÊpïáj¯mÕ¶ÿ½;«²Ê8þ¹\ö}_Ù]Mܷܵ´L3uF³EmZ­&kœš´ÅIMÛË•´PÍÒ²¬7@Á]@6YDáÞûûƒw¼Â…Ë&6}߯׼^ñÜóœç{Î}Îs¾çpK}‹ˆø¢Ó£k¼ôìÞ¦;mlÛ°ïÂ>rnæ4ªBÑܬL­ý7\4¯Wö¼BD|„α¤¼$6Änàáà‡ëÜñ=§¸ª_Y2|I‘í,ìýûÎ*Êâ_ß`Ùèe5’~&u™Äæ¸Íüã§ðÏ}ÿdXÀ0-|ÚbœÔeð7žÚñÑéÑücß?Ø8mc£ê0„6¶mxa÷ K;V£¼¿“?þNþ ôHx\¸ôÙBˆ{J¯v½Z;DœŠ`ÉÞ%:;Bl;µm§¶±öÐZ~žÿ³Þs«ûì'û>YgÒ¯B¡htŸ­ÑhXüÃb*TLî:™e£–¡4Rj?Ùq$SºNáÑ-²óôNÆuÇ`ÿÁ ¾Nm1Žê4ŠEa‹XþërÖŬãß`°ß`ƒ’Ùj«oˆÿ|4€ãÇQiT(ÿm‡‹µ .Ö.üžô;?]ø‰ÒŠRƒ'3 !DK’ññ{ƒŒ×£Œ !î&I º –/_ÀöíÛ™4i’öø±cÇ0`«V­âµ×^ÃÊÊJû™‡‡ÄÖ¶j;õÊÊJ~øavìØÁúõëyþùçïn#„B4ˆ«µ+óBç1ÈoPk‡¢×3aÏ4¨üÈŽ#yaÐ D&F’^.+T5‘±‘1mlÛ0¶óØF¯è(„¢élÌlÙidƒûÅ»©wúx÷1¸¼«µ+k&­áãÃs!ç*ªþ“„^J#%N–Nôõî[ëjÏBÑœÊ*ËØrb GS¢AC¯v½xô¾Gk-ûýÙï gɈ%ÚÕ·žÜʮӻX6ze•el=¹•”üF´ÁŒûª’a¤aïù½¤¤cldLW÷®<Ò㜭œk\#:=š½çö’V†¹±9]Ü»0­û4ì-ìyû—·ùéÂO,ýi©vÝÎnymøk@Õ »Ïîæ@òòJò°3·£¯w_&u™¤³óZ]q+Ù™¸“—‡¾L7n5b¬>÷µá¯ÑÙ­sî~ãl<¾‘3Ùgðuô寽ÿJø‰p&w™ÌÍ[7Ù}v7EeEuž¯Ò¨Z|2ͦãU«¿0èžÕ” %ËF/ãHêNe">+ž`àf»~—¼5ò-ßö8[On5ø¥gm<í<P«ÕzËTßÏJU¥Þ2BÑöžßËÞs{)*/¢½s{f…̪µ\r^2¯í}»=¨Ý %þJ<ïüú…×V¨*˜µu!íBX¶ˆoN~ÑÔ#\/½Î—}‰¹±9…e…l;µ™'(¾UŒ›µt|€¡CkÔ_XVHdb$qqÜ(¿—ƒ#Ú Ì7Œó9çYúÓRTj‰W™>]{ÞíÏþ©×S‰8Q5ö«VáçäÇä.“u¾#Ô÷ÚÉkùÛοámïÍÒ–Öˆ±´¢”'¶?A€sK†/iÒ½oŒòÊrÞÜ÷&*Š=fàfãÆäLì2‘ØŒXŽ\>RçùÕãáæ&æ-ã‘Ô#\ʽDÛ6¼5ò-„ jÁm‚ùÛ€¿±lÿ26ߨ¨¤ }”FJ^ú*±±$d%°çܦ7î}³«µ+¦JS*Õ•Uý¶ž)ÕÏÚª I B´—ññ– ããBˆ? I jaiiidddп„ €ÐÐP¦NÊ×_M\\ Ð~¶xñbmB€±±1ÿüç?Ù±c‡’¤ !„¸G- [Ä¢°E­F‹y¢ï<Ñ÷‰ÖCG k —^¾ÔÚa4È»cÞ•­Õ…¢•…z…þáú†0ŒaÃZ;Œî•€ õ`×ÿNÚBˆ–v£üÓçsöÚYí±ý—öóùð¶÷®Q>«(‹èôh—jééD§G³çÜVG­æ–êíÛ£Ö¨Yüýb"#uêÙi?Žo`ô Úb*µŠ—¾‰§wê”Ý{~/Ÿý„ãÏç\Î92 3tb®VZQÊœo曫süû³ß³éø&6>²'K§zã~¤û#¼¶÷56Än`Ÿ:u©Ô*>:üF #:¹vªãî¢\e¨¾Þ}Y¶°ÞrÉyÉ|6å3|}Ùuzý}úÓÁ¥O÷{ºÎòTjj#…‘Áq5TYe'¯œD©P2¹ëd½å,L,8†Ç7r4õh³¾ô„ª•‡í-ìÉ*Êâ꫸۸7¸Žìâlþ“ø jr•>Õ“±*T V! °øûÅlOØ®ýù@ò¶'lgZ÷i5ÊÞ¼u“èôhÅ Ë ‰N¦[›nüsß?¹V| @;çë_WM ¾m‘‡ÉØ·™ü—NRÍæ¸ÍÚ‰³Õö_ÚϺ˜u|;³jtu_Q˜¡í¿o÷ö/oóUÌW:Ç~¹ô ëbÖñùÔϹ¯í}õƽôþ¥¤¦³öÐZ¦tRcrì†ãˆÍˆeù˜åuÝZfn™‰JmØöö|4ù£zËU÷Ù‹‡,fZ÷i¬ŽZƒ…3{ÎdN¯9”Ôy~…ª¢Eûl€£iGx(ø¡:Ë=ØõAö_Úϱ´cÍšàdéD˜oû.ì#.3®QIA¥¥lˆÝP뤵Û)”Òg !ZÔ¶SÛxuÏ«¨5ÿ8¹#aϬ}ÎMLz eeÚŸÕ5ÑéÑX›Y3ç›9IýoBJ¥ª’Ù'x|Ûã\/½®SÏö„íL žÊ²QË´ÇŽgçÉO’_’ÿß‚)ÎËC^¦{ÛîD§GPTV¤ýïêŸöœÛÃsß=§ó·ó÷äßÙ»%×0³çÌzã6Vã`áÀ×'¿fNï9ø8øèľëÌ.]>dЮéoÿò6‰Wë-WíýqïÓÆ¶Me®Þ¸JIE ã:céK9–vŒ3Ùg˜Ö}ÓºO«·Ï®N6½}Ç›æVÝg_gÂðƒ]dù¯Ë‰IA¥VÕš<ÔX …‚ AHÈJ .3®QIA† Ç7pKu‹ · ŒôO#¬þ$ɼBˆ–"ãã2>Þd|\ñg"IA-ìúõª??¿Z?÷÷÷ ??_縯¯o²ÕǪëB!„B!„Büoxÿ÷÷9{í,¶<ú8íìÛ‘œŸÌ§G>ålvÍ—ŠuYyp%ƒü1:p4î6îxØzðÙÑψLŒ¤};fô˜¿“?·T·ˆºÅ7'¿áÙ]ϲwî^ŒF¬=¼–§wbabÁŒûf쌑ˆī‰l9¹ðÊWØ·‘ˆø^ñ:]:`kn«mOlF,Ž–ŽÌï3'2‹2ùüèçœÏ9Ï’½KjLà­-n/{/Â|ÂØsnöw-µåMú•+EWxuØ«õ¾8¼Q~CgBU}\¬] *ççT5î[ÛŠ‡ …B{?jsèò!4 nÖnõ^çΠêåÞ¦G6Õy^NqŽvw‰úV\ìèZõ;¼Rx¥ÞxJ¡PàçèG\fÙ7² zéy{›‹Ê‹¸”{‰Ju%t|€!þCôžçdé„ÒHILF e•e˜·ÜêÐBˆ?§ÎýÀö„íX˜Xð—^!¸M0ù%ùl<¾‘/Ž}Ñ ºÖǬÇ×Ñ—Ea‹ð²÷ÂÖÜ–¸Ì8þñÓ?°4µdzé{cª4%ñj"ëb×±äÇ%ôñ'ÇÒŽ±t_Õ¤ž±cì?;s;’ò’ˆ8Aqy1ƒ&bcfÃ?÷ý“©ÁS™4Q'†Ÿ.üÄW1_ald̬YôöêͲlKØÆÑÔ£,ˆ\À¯Oüª³Šqmq+”Ìè1ƒ÷Ÿß’ÓY¨"¯$=çö0Ø0^ö^õÞ—±¡—Æ IDATèôhƒ“‚ôíôp§ºúl¨J.Ò'§8‡ó9ç ê³ïÜÙ¡Ú÷¿¡ý¾¤Ï•¢ª>¸ƒK‡:Ëiûì¢æï³œØÇ>²odTþö6—U–‘œŸLqy1~N~<Þçñ:Ïu±ráìµ³¤¤ôoC!âJÑ^ÿñuÔ5“»NfhÀPTj{ÎíáßþÝ º$ÀÚÌš½@ [ æÆæ¨Ô*žØþeLì2QÛ§¤±>f=ñôõêËø ñ”0û| J öfjðT=œ™[f訳ky k ÙÅÙ¼¸ûE*TŒì8’‘FbbdÂïÉ¿q*‚7~“žž=uv ¨-n  f…Ìâ»3ßÎ߇ý]§­áqá8Z:”t.ç\ƒžµK+Jë-ÓÖ®-æÆæê³+Õ•Ú„ê{®W©UµöÙ?ÄÄ.k9㿪ûàúúv{ {\¬\¸V|²B1æà MÔ®Ïím®TW’Q˜ÁµâkXšXòúˆ×ë<×ÕÚ€ƒ)™4¡ Q !Díd|\ÆÇë"ãã2>.„¨Ÿ$µ0’““ký<)) GGÝ¿””úöí[ãØíu !„B!„B!þøT‘ ‘X™Z±í±mÚ—`ƒý3Øo0c¾Ó ú†·ΚIk´?k4¾Šù kþ3û?Ø™Ûi?{ ãØ™ÛñÉ‘O8yå$ÝÛtgãñ>=\gu÷:>Àü>óQ*”ºâiç Tíâ¢ÓžˆøÌŒÍøæÑoðuüïHc:aÄg#Øwq¹7su&òÞwµÙ½fs0å ߯«³{íæ¸ÍX˜X0µ[ý«áVO®2Tõ*õ™Õs»ÏìfÖ7³×yWo\åbîE¼¼ô¾l{fç3\̽ÈÅÜ‹X™Z1ý¾š“îTÛΆ¬0\^Y 3‘[3eU™rUy½e£:†ê•.ëS[›ÇgÅØ( ½çY˜X0£Ç 6ßH¿5ýðuðeVÈ,Æo|ðBq›ˆøVNX©“ø2>hz¹ÎØ AxlëcI=Â/—~at§ÑuÆ 0­û4ÖZæã›tîÍ·ñßR¡ªÐ‰±.›Ù„F£1¨¬‰ÒÄ r!ž!Lì2‘Vp*ë…e…ºRPZ wrñ'G>aïù½\ʽD¹ªœg<[ïuîÜÙ¡Z]«#W3´ß®î³oßÉ¢95´Ï®­ÍþNþDÌŒ¨sÀ_zÿ…çv=ÇŸ?@{çöô÷éÏâ!‹¸BÜa×é]ÜRÝbN¯9:‰/cÇðÒ÷/±#a‡ÁuiаiÚ&ݵÇ6Çm&¯$½ ó¬ 0ºÓh}4ˆ‰;4žÈÄH J ¸¿Ãý5&Oï1å7°1³!Ô+…B…]>{ËÑ-”U–ÕØèŽàaãÁª¨U|ÿ Kïÿï.µÅ нMw‚Û³=a;Ï |NÛ§ÇeÆq&û O÷{Ú çÈW†¼BQyíÉ;µ©o— c#c–ŒXÂ’½KxhÓCø8úW’Gfa&míÚÖzÎ䬎ZMêõT®—^gT§QÚ1‹ºÔÖg÷÷í_ïy zÖþÿ2e•Íßo7´Ï†šm¶4±äë_ÓŽKç=ØõA"NEðüwÏóÑáp·qgô Z!j!ããµÇ]MÆÇe|¼šŒ !ê"IA-ÌËË OOO:Ä®]»?þ¿XcccÙ¶mÜwß}:ç½óÎ;Œ7*++yýõªUú÷¯ÿT!„B!„BñÇv=’ŠFvYcUñ5ç®#Ì7LoÜÕúÄÏÉ-'·ðxŸÇ1Rqùúe]>ÄŒ3°1³©7¦êÉUÍÍÚÌšÈÙ‘ì:½‹ý—ö“s3‡gv>ƒ¹±9#;ä•¡¯ÔxzòÊI2 31R1·÷\‚=‚ë½Nm;;Ôõâ¯Zõ nCV ®.SתËM‘s3G'¦úT·Y¥V‘z=•ÏŽ}Ʈӻñ azº_?Þçqâ¯ÄŸUõ¿–ÚIAñçt>ç<öö:I/¦JSÆwϪ¨U×5²ãȉ5ñYñ(JV\ èöÙ•ªJ’òªLÈJÀÌØŒ™÷ͬQ·ÒH‰¥‘e½1œ»v ‹+¾+ ¦uŸÆ‘Ô#œÍ>«“T[ÜPÕ‡LšÀ·§¾%õz*ÞÞ¨5j¶žÜJ{çöôóéWo<½Ûõ6¨\C½?ö}ÆtÃç~ .3Ž#©GX»žÞ^½yeè+¹é”OÎO&ñj"#:ŒÐû]åvAnA:;;T«o'¨ºù%ùäçÔÙ_V÷Ù–-³dNqÃúìÛÛœs3‡-'¶p,íK~\ª uÿÿáþ÷3©ë$¶ÚÆ™ì3O<BCœÏ9PëD٩ݦ6()¨“K§‰5'¯œ`ß…}N=¬MhÕ ÑþwuŸ]ÝŸÌ [ký†<מ»v€iÁÓj|öHGXµªÆN µÅ]mVÏY<÷Ýsì>»[{ÂãÂ162fÆ}3êÐ[wS=ü0ÝÜ»±#q‡.âBÎ}<'†-dlàXò97s´¿çƒyFµî.`H2Qõssõs®>jš¼›y:ç4§Ü›¹€á}öím.¾UÌþ‹ûù&þžÙù »æìÂÊÔJï¹~N~<3àÞÜ÷&IyI¤¤7½Bñÿd|¼ö¸«Éø¸ŒËø¸Â’t¼üòË,X°€‰'2vìX:uêDjj*‘‘‘TTT°xñb¬¬t¬²²² dìØ±˜™™ñË/¿púôiœ™={vë4D!„B!„BÑìªWy×÷òÎÞ¼a/¡ÜmÜu~¾yë&PõróðåÃúã¨,Ó®\ë`ÑøI¦Õ«ïé{yVýÒëÎñšB¡`æ}3Yºo)¿%ýÆÐ€¡„ÇU­jøXÏÇ Šé|Îy–þ´´þ‚ÿ¯¯w_†-4¨¬¹±9?ÄCÁ1=|:ø72 3ù×/ÿ"9/™mmÃHa¤-¿rüJÒ Òø2úKVE­ÂËÁ«ÆDì;Õ¶³ƒ!\¬]pµvåZñ5ÎfŸ­sÂÖáÔª];7ø:õɽ™Kr^2¦JS¼¼ :çö6÷óéÇ€!Œþr4Ëö/cDû¸X»è=÷™ÏŸÏœ^sèëÝ—N®š¥BUý¥¾¾¹¡G¦Æ¦:±´Ô³¶¹ …¢FŸ­ï9`tàh–ÿºœÍÇ73µÛTòKòÙsn£:ÂÕÚÕ ˜Þþåmm“!Þ÷¾A»AUÂÑßÝþα´c¬]ÏÂþ ùøÈÇ<»ëY,L,t´úä‹©_p<ã8ŸûŒyÛæñËü_ê¬_¡P4©ÏˆJ‰bFý T'¯œ¤¤¢,MêOÖn¨ê òí] ë³ïló°€aؘÛðű/XupU­‰ÍÕ]>Ä?¾Ÿ“óûÌ7(yJ! %ããUd|\?—ñq!Dý$)è.xúé§ÉÈÈà½÷Þã»ï¾ã»ï¾ª:ë¿þõ¯¼ùæ›5ÎY³f /¼ðŸ~ú©ö˜³³3‘‘‘89É IB!„B!„Bü¯p³©Zýðtö韩ԪZ×åÎI½î6î( ºytã¥Á/é=ÏÇÑ3¥ …‚ø+ñTª+16Ò?„¬ ê:Õ+ W«ž<”x5µF­ó áj‚N9}qßîÁnòïÿfÓñMôóéÇŽ„ ð€Ÿ“ŸÞsnw£üÑéÑ•ê|¡V{s{z·ëMJ~ þˆK¹—èàÒAûy¶=èѶ®Œþr4’ÔûÒ³)îïp?›ã6óïƒÿæ³?«õ>K;ơˇ°0±` ßÀfaÅï+PkÔôñ±Y£êp·qgAÿ¼ýËÛ|vì3þ>ìïµ–+©(áxÆqB½Bõ–Bˆ¦pµv%%/…‚Ò‚|ªû¸¦ð°õà–êŸ>ø©ÞdGKGmÙ³ÙgI/H§};½uê볡ª=—ò.‘]œ]cEæêöTW1D—ôõîËö„í<7è96ߤÝAÈPÑéÑ'9[9\ïÌÍ ó C¡P0kë,~¹ø 3{þw×%'üüÞa8±±H>Ðèkbd§‘ì>»›Ï~ÎÄ ‰µN Ë+Éc}ÌzFuÕì1ì<½“K¹—°3·£{ÛîªÃØÈ˜×G¼Î¤ “XypeIASbabÁšIkjÝ}J!šÂÕªê™ótöé“lÚg×öU$»ôþ¥z“9«Ÿ©=lªÊƦÇÖØ1 þ>àTÖ©“I®& ÑhjôÙu=g3½ÇtV\ÉÉ+'9šz”[ª[Ìî5»îøns.ç\ƒžµK+J .{;¥BIg·Î¬·‚ÏÿHdB¤NR‹µ ƒ­3Ø0)ù)ì=¿—´‚4¼ì½u½ú k?Œ¥û–²ÿÒ~Ndž GÛ5ʨ5j>8ðPÕÇ7·ä¼dv$Vív5Øp£ëy&ìvÞÅ×'¾f^è<½ã!SðÖÈ·ZlWG!ÄŸ—Œ×÷íd|¼ñd|\ñg!IAͬ²²¥Rw~Ù²eÌŸ?ŸŸþ™ììl2d:éf`>sssÈ™3gصk©©©´mÛ–ñãÇcoß2[Ó !„B!„B!Z‡£¥#®œÉ>ÃÚÃky²ï“)Œ¨TWòî¯ï’^Þ¤úí-ª^ÂŦǒ’ŸÂƒ]ÄDi¢ý<£0ƒ­'·ÒÓ³'ÆFÆ„x†“Ã+?¼Â߇ý];!µ¤¢„õ1ëy¢ï)Œ°4­Zå6­ ^ízé´'È-ˆÓÙ§yï·÷x~Ðó£ÑhØx|#Q)Q¸X»Ô¹*ß,M,™Òm ëc׳æÐ Ë ™2Ûàó;ºt$|z¸Áå, [˜)<.ooúûô×y™˜]œÍþKû¨PWÔz®¿³? …‚ë¥× Ž«1ïó8ÿ9ý~½ô+Ûõ7– _¢@­ÑhØ{~/¯îyFüÐy Þå¢.IyI¬=¼–]§w¡4R² ÿ‚&Õ7½Çt>;ú[Nla~ŸùµN¿^Ru?ëÚaA!šb€ï.å^âå^æý±ïcmf Àžs{Øyzg“ë¿¿Ãý¬ŽZÍÞó{y~Ðó:;Ü(¿Adb$!ž! o?œ³ÙgY´s+Æ®ÐNRkÔì>³›.èäÚI»2}ZAZ­í¹˜{‘—v¿ÄÊ +µ«!ǤÇðéÑOµebVÈ,žØþk­áÐåC<úxƒ>6=²©ÖÉе¹ý;M]¦äZñ5ÆŽÁÜØ\{¼´¢”ÈÄH@Ÿ­T(ñ¶÷n–¤¯ºŒh?‚.î]H¼šÈÌ-3yw컺þ÷ûRâÕD^Üý"y%yôn×›0ß°f»v~I>áqá|t¤j×¥ù}æëܧ†êâÞ…!þCØi?û/í×›t½ä:mlÛHB¢E ð@ø‰p–ï_Ž¿“¿v7²s×ÎñïßÿÝäúèøb7°óôNÞ÷¾NŠJ£bß…}Ú$×á퇳>v=ïüö¶:ÃOdž çf÷w¸+3+2 3jL"è7Íq›yï·÷èàÒŽ.È,ÌäßЖiˆGz<ÂG‡?bÓñMÄfÄìL°G°Áç¿2äŠÊ‹ .oÈ.A™…™ì:³‹©Ý¦ê<ói4"NE Ö¨kì¬p;'®—^o±¤ WkWföœÉº˜uÌÛ6·G½Íˆö#´ã׊¯±tßRޤÁÑÒ‘9½æ4ÛµË+ËÙsnïüö¥¥ òÔ ßÙ,L,˜:—·y›Ï}®w· êgíêû+„ÍIÆÇë'ãã'ããBˆ? I jfÉÉÉ8::ÖøÌÇLJ¹sçÖyþðáÃ>|¸öçéÓ§7o€B!„B!„Bˆ{ÎóƒžgÞ¶y|pà6Æn¤­][Ò Ò¸Q~ƒŽ.9Ÿs¾Iõ¿1â Þü0¯í}eû—áåà…©‘)™E™äÞÌ`aÿ…³døÞü0‘‰‘üpî¼ì½P)IÊK¢BUÁü¾ór ൽ¯޹±9Ý:óÚð×X'âT^ö^\)º¢½ÖâÁ‹Q*jßý@ŸÇz>Æ†Ø |räüœü4AÙÆÌ†P¯Ð]ÏGRðÆOo`kn‹ƒii<¹ãI2 2PiTtté¨3™÷vJ…Rûr»%µ±mÃÊñ+Y¹€ïÏ~ÏÞó{iïÜ  R¯§’_’TMh{ºßÓ¾ND|‡RPVYFÖ,rŠs€ª ÛKï_Ê}mïkR[ÌÍùK¯¿ðîoïòEô¼<äåeªï§‰‘a“Ä…¢¡æ†ÎeGÂ~¾ø3ýÖôÃÏÉü’|®]¡³[gÎdŸirýû.îãë_ómü·ø8ú`cfCNqY7²P©U|õÐWüµ×_ùþì÷$d%0ò‹‘xÚybgaGJ~ ÅåÅl˜¶_'_,L,Ø‘°ƒÄ«‰Ø›WMpùzFÕŠð»ÎìâÐåC X[µÊpqy1é…éh4¦OÕYÑ×C†ÒξŸù¥‘’Gï{´Aç·Äêó—ó/³tßRÞøñ ¼¼(«(ã–êïýö%%X˜Xh'c×ÆÔØ´Åûl¥‘’5“Öðè×röÚYÆ}5/{/œ­œÉ¹™£çïäÏÊ +}Ä«‰L¯z}Ku‹¼’<2 3´‰XSƒ§2/t^“Û³ ÿö_ÚÏšCkô&U¨*°1·iòµ„¢6Cü‡Ð£mNdž`äç#ñsòC¥Vqùúe:ºt$»8»Iõ÷n×›©ÁS‰ˆ`è'U}Ÿ³•3EeEdfP^YÎü>ó8†>Þ}8–Ýgw3û›Ù¸Z»âaëÁ•¢+äçðT¿§´ýPg·ÎM=ÊàÓÖ®- ,±„!þCèã݇£©G¿n<>>˜(M´ÏêíÛ3¥Û”µÁÉÒ‰±Ç²#¡jÇ™½Ð ó2™ÙP7oÝdÅï+Xyp%mmÛbcfCfQ&}>ìC^I“ºLÒ{¾©±)PÕÇ´¤¿ÈÅÜ‹D¥DñÔŽ§p²tÂËÁ‹’[%\̽ˆZ£ÆÊÔŠµ“Ö<±úN*µJÛg«5j Ë ¹|ý²¶m]=º²bÜŠ&·å‘îðÉ‘OØrr Oô}B»+åíäY[ÑÒd|¼~2>Þ82>.„ø³0ª¿ˆ0ÄîÝ»™7o6lÀÎÎŽ68.„BÜîìµ³¬ŽZÍ¥ÜKwåz׊¯±:j5ÇÒŽÝ•ë !„÷š|Ìö„í­†Bˆ?±ÁþƒY1vööä•äq*ëjšwǼK{P“ëïàÒímg°ÿ`J+J9›}–ø¬xroæâãàÃKƒ_Ò®ŽØÙ­3[­Z±¼²œ‹¹9wífÆf<ÝïiŒþX9Ä3„»>H¥º’SY§ˆNÖN„îçÓϦ|†·ƒ7¥œÊ:EîÍ\\­]Y1n»LlpÚÙ·cˆÿ êèí+¶–™=g2,`%·J8•uŠ‚ÒR¯§¢P(˜Ôeë^§³²skì?˜í³¶34`( œ»vŽ™'È/ÉÇÓΓ7F¼Á‡?DiÔ°Ñ·Ë(Ì :=šèôhNe"§8GKG¦Oeçì<üP³´åÑžboaOx\x‹¯")„µq³vcã#iïÜž’Н&r­øszÍaæ}3›\¿¥‰%[¦oaÆ}30Qšp)÷'2OQ˜™ ³Cfk¿X›Y³uÆVÆG‚´‚4²(­(eBÐíÄscs^ú*fÆf\ȹ ý{ àbí–[èÝ®7e•eœÉ>CZAæÆæ<Ñ÷ ÞùVƒÛ`¤0ⱞU»ßxØz4ù¾4Õ ÿALë> ¥ r.VÆÕW)­,¥W»^„OÇÓγµÃÄÓΓÈÙ‘Ìè1k3kÒ ÒˆËŒ#½ [s[æôšCÄÌ\­]}¢²"í¿“WN’^޹±9ƒýóåC_²lÔ²fùžÕÍ£a¾aœÊ:ÅïÉ¿7¹>!„h(¥‘’ϧ|΀!Tª+¹s¤¼$úy÷cÙèeÍrü¯{WkWÒ Ò9‘y‚¤¼$Ô5£;flç±Ú²+Ư`aØBlÌl¸V|ø+ñäçâÂЖ{qð‹¸X»p¥è 1é1D§GSTV„B¡àÓ?­JüÑT­<îÚ9Tj÷w¸ŸÍÓ77j—·ê]\­]ÕiT“ïISyÚ{²0l!6¤¤q:û4¥ä•äáíàÍã?¸'â4UšòåC_òÊÐWp·q'¯$™'8Ÿs¥‘’û;ÜOä¬H#£ºÏŽÍˆ­J6R«éæÑ¥÷/eÛcÛše7  æôšCiE)_DÑäú„¢1d|¼~2>Þx2>.„ø3Ph Ý{½S§N ""¢Ùú£zâ‰'øôÓO122âÃ?ä©§žjíþTª¾à|4OÇ)Dý¦2eJËýýËÎΦ¸¸Ø ²þ¬^Íèц• Û¶³øûŬ™´†‘G¶øõ²˜´a‹Â±(lWŠ®°íÔ6úz÷mò`¥f?ü`Í¢En\º”ÔÚ¡ˆV¶p¡~Ø´ÕEË躢+]Ý»òõŒ¯µÇ>ŒúO{Ï:WBüo‘ç+­ÿý­R]Éùœóh4œ076')/‰Ü›¹ôô쉱QÕæïYEY¤¤èˆ­¹-éé\)ºBW®XšXê½Æò¤^OE­QãiçYë °Õroæj'!{;xk¯»¼’<Ò®§qKu [sÛ+ÿ¥^O%÷f.ööø9úÕxYihÜo{œ˜ô-8ToÙ»©BUAzA: ÿ³ç=Ç@ßÚ—Èu z?ˆ · ¾ùm­Ÿ_+¾FJ~ žvž´µk[g]†–½yë&ii”U”ábíÒä ÐÕ×­f¤0ÂÊÔ '+'ܬݯ!í¸˜{‘ü’|œj¬¸|>ç·f%eìØ±F=Z;!„¢AÜlÜX¶Hç%ð•¢+¬ŽZÒHyO½´B!ZÂSýžª±ÊîšÃkõ •¤ !„w•±‘1Anº+ú;ùãï¤;ìaëQcÕývöíhgß®ÞkؘÙÐŽ‹Añ8[9×;éÆÉÒ©Æ‹§Ûy;xãíà­÷sCã>šz”_“~åáà‡ï©ž&Jüœü°1³¡];ƒ^xØ›Ûs1÷"…e…Ø™ÛÕøÜÕÚÕà -kejUãÅtS4$FCÎ3¤¾öÎíõ~—€ƒ…CƒcBˆ†ºLrD IDAT³v±vÁÅÚE瘕©Uä{ ûÇjc¢4¡“k'ƒb±4±¤«G×&•©-þÛwîÍ\>=ò)¾Ž¾÷ÜØ²‘ˆ6¶mp·qÇÙÊÙ „ øo¿r<ã8}¼ûÔøÜÜØÜ {Ó²ÆFÆ8Tgs^×Ðó ©ÏÍÚMï$¨¤¼$ J èæÑ­Á1 !DCÝù÷ÈÌØ¬Ö¿awö[F #ƒþv* ||tŒôQ*”tt騤2V¦Vuö醯­R«X¶F #¦O­·üÝæh鈯£/væv%Ám}væq½IA=Ú>¯Ëв†Žm4÷u =¯¾ú,L,ôþ›¹¥ºÅé«§176oÔnTBÑ2>®ŸŒ×MÆÇ«Èø¸^’ÔLÆŽ[!!„âåjíªÝ!H!„ø3z²ï“­‚B!ôxëç·8‘y‚ÓÙ§Q à±žµvHzݹÊc}z´íÁÞó{üñ`üý˜2‹ñAã[(:Ãí=¿—±ë-÷XÈcwe‡cC<³ó.å^âBéÞÊ !ÄŸÏö„íDÄGp!÷EeE,pïŽ9Õ¾+Ž>ÝÛtgçéÌþf6\:Ðß§?‹‡,n¡è —z=•W~x¥Þr!íBxnàsw!¢ú}rä~¼ð#s.Òg !Dk8{í,oî{“ôÂt²Š²ÕiT+Ù·&};ÙéSݯ|õ!?œýww6LÛС5ؼmó¸Y~³Î2VfV|>åó»QÝ$àÃCr9ÿ2×K¯Ó»]ï{!„h:¿ûd|\ñG$IAB!,õz*;Oïd ß@‚=‚9–vŒÓÙ§±2µbT§QlˆÝ@÷6Ýè7P{NJ~ ßù föœ©=^©®ä£ÃÑÞ¹=£:º§Ú2­û4øOe"«( k3kº·é^cÕˆÛëêÞ¦;ÇÒŽq*ëfÆf ô¨we¨«7®òë¥_)*/¢½s{ù ªQ¦°¬°I÷µ¾v^+¾ÆÖ“[ õ %Ô+”˜ô¶'làHêTj•¶îÛ“‡TG.á|Îy*Õ•ø:ú2ÈoP[– !„¸{Tk­ÅÏɱcIÊKâðåÃ\/½Î“}ŸdsÜf̌͘Þcºöœ Uù€¹¡suVú6þ[ Ë ™:ï®·e]̺FÇZß}0Qšðñ‘qµvåÁ®r¥è ÛNmC­Q“v=ÕQ«µõNî:Yg ñÄ«‰œÈÛÖÜö.Dc˜äüd²èéÙóžžÐ&„ÿ«ŠÊŠ´ý‡Ÿ“¯}µ•#Ò¯³[gžðŒÁå;¸t`~Ÿù|ý%IyI¤¤·`t ›Ëòu–±1³¹KÑÔ/çf'2OÐÆ¶ ¯ ­?Y!Dó“ññ»OÆÇ…D’$„¢ÁR¯§²:j5¦JSV\ITJAnA<üoä`ÊAä•§w²æÐ”FJ&Mо€:‘y‚ÕQ«yiðKõ^÷èÑ 1(FKKæ†ÎmR[¦uŸFIE o{œ£©Gkœ;Ðo k'­ÅÂÄB§.  >9ò ?_üY[Vi¤dÙ¨eLî:Y§ŽˆS¼ñãÜRÝÒëÞ¦;ã:Ó)gcfÓ¤ûZ_;³od³:j5‹ÂêJtz4ÛNmª¶Ÿ½½ýÕIAñWâyfç3dfèÄêaëÁÇ“?6x«]!„-§RUÉê¨Õ o?œ‹9Y{x­ö³¿öþ+ÑéÑü–ô»LÔ&ÔÄfÄj“`º¸wahÀPn©nñÏ}ÿ$Ô+´Þ¤ ÈÄȽh›Ùsf½ÛW7%Öú҄DW÷®Ú¤ êz3 3t’‚B½Bñ´ó$÷f.Ïîz–#©Gtâ´0±ào0¥ÛƒÛ/„Bˆº-±„âòb||p±viípêèØ òþNþü4ï'Ò ÓÉ)ÎÁÃÖ£…"k˜QFÑÙ­s½å¼¼ïB4†Y=q5 ø8øÜSŸ…âÏdr×Éôñµ«ÞE²î·/øa  Ö=¼ŽÜ›¹dfhß ´6oo§‡×[®¾q—»i~ŸùLë>6¶mp·qoíp„âO)Ð5ðéáØšÛÒÞ¹=ÆF÷îô1[sÛ?ã½8øEžê÷)ù)”V”¶Pd ÷ùÔÏuã¬ÒHy—¢©ß@ßl}t+N–Nx;x7x×&!„ÍCÆÇï>BüÝ»OuB!îy_Å|EÉ­Æu‡—½î6î)ŒèçÝ/üÈòÚ•l&¤};Ò Ò9œzX»uæÁ”ƒ„ù†Õ{½5‡×Ô;HVÍÙÊÙ ¤ ºÚp³ü&GSÒŽ ®8[9ST^DtZ4’°öðZ^ôBºŠË‹™477N_=͡ˇxã§7Ña„öžœÊ:Åk{_C¥VÑ«]/ºyt#¿$ŸÏÿ¨3Yh¶ûª¯wêÝ®7SºMaÛ©môñîCïv½u>Ï,Ìdηs(*+"¸M0ÁÁ˜›’x5‘£©G™·mûæíÃÚÌÚàßBˆ–s"ó?_ü™¾t ÄÜØ¥ a>aì»°£©Gµ 5Q)QXšXbabÁÁ”ƒÚã1é1”U–ÔgG&Frøòaƒã8¦ÞÉ)Í«¾ûp§6¶mX¶ˆ}H[Û¶:I½míÚ¢R«˜·m Y xÚy2Àovæv¤^Oåç‹?óêžW p-¹…BˆfÒЉ4 …/{/¼ì½Z;-w÷?Ü$Ý`àÖA!þô<í<œlóGãl匳•sk‡¡eibù‡[ý×ßÉ¿µCBˆ?=[sÛ?\ÿÑPV¦V÷Ü"–!ž!­Bƒ¸X»Üó“Ï…âÏ@ÆÇï>BüIRBˆF+­(eל]ø9ùéó ã‡s?pøòaèøEeE$f'òÒà—ø*ú+¢R¢´É+Q)Q8Z:ô³ ß‚íÔm±6³&bf6f6Ï[»ž·~~‹]gv1½Çô:¯#„âîÈ+ÉcŸLš s¼:i&*%JÛ?L9Hï>ؘÙhw–«.sû9u™ÔeRƒ^n9Z:Ö[¦9bÕwîT´öðZ¼¼túi€=çö•À¸Îãxìû:+÷%d%0eãÖŬcÕ„Uõ¶K!„B!„B!„B!„B!K’‚„B4Ú„  µ&—h'í^ŽâŽp8õ0*µŠ0ß0.ä\ÐNÔ-,+$ñj"cÇ P(ê½Þ°…ÍÛ€Ûèk‹‘ˆ/£¿dïù½µž—{3·Æ±É]&×X q°ÿ`¶ÚFölí±¸Œ8,L,xº¿nÂM;ûv<Üýa¾8ö…Îñ港úÚÙP‡S£T(É/Égíáµh44šª„­›7ªIÑôhò¥„B4_GßZa¼¼igߎ¨ËU}ÈõÒ뜽v–)ݦ`mjÍÎÓ;¹Rt…6¶mˆJ‰ÂÕÚ•öÎíë½Þ¤.“š½ Í«¾ûÐP‡.ª’?9ú‰¶Ôh4hÐ`kn[Õ !„B!„B!„B!„B!D jRRP^^<ûì³ÍMð)p¤µƒñäåyÖ_윃O­ÇÛØ¶ÁÏɃÉ´s;ºt$Ì7Œí ÛI½žÊ™ì3¨5júûô7èzF}Ø ‚æ†Î5¨,èoËÇG>fïù½8Z:2Àwî6¢@ÁÖ“[¹¥ºUã[Zã¨TWj–ânãŽR¡¬Q¾}»Çšã¾êkgCå—ä£Ò¨X¥„å7šåZB!šÎÇÑGïga¾al9±…ÌÂLâ2ãÐh4 ð€•©PÕß k?Œs9ç˜4Ñ ëE&F’^np|3{ÎÄÁ¡ÞrMµ®ûÐù%ù|ÿM³Ô'„B!„B!„B!„B!„Ѥ¤ ‹/’‘‘ÁÊ•+›+!š`ÿÿÿOˆ»ãâÅÒÖ¡Õ)j&³TëïÓŸMÇ7qùúe¢R¢´»Ü„ù†¡P(ˆºÅé«§µÇ ±æðTj•Ae­œ”¤¯-¿%ý†¹±9{æîÁÉÒI{\£Ñ°!vƒA;écgnÇÕWQiT5ƒôM¤nê}­ëwÖ¶æ¶ÜRÝb^è<½eœšåZB!š®¶Ôjý}ú³åÄ¢.G—G[»¶ø:úÐÁ¥Sbfl†F£1¸ÏŽLŒäðåÃÇ7&pŒAIAMµ®ûÐvvÌè1'+§Z˘›7˵„B!„B!„B!„B!„BŸ&%õéÓ€ˆˆˆf FˆÆR(¬^½šÑ£G·v(âObÁ‚X[[·v÷´¾Øt|›o&£0ƒç|žÀÁÂ@×@&äìµ³ø;ùãnãnP ú-hÐNAÍA¡P`¬4ÆLi¦süã#SXVˆ½…}£ë¾Ïó>vÞÅG‡>baØBíñô‚t¾ÿ¶ÖsZâ¾êSÝæ‚Ò‚ŸõóîÇ7ñßàíàÍ„  5>?wí6f6Mº¾Bˆ»£Ÿw?”FJ&äDæ ûÖ~Öß§?‘‰‘˜*Mµe 1©Ë$BŽ>œÉ>Ãóß=¯í'w̘ÎcX»ž­'·r0å ý|úádéDQY—¯_&:-š¿öþ+Ý<º59!„B!„B!„B!„B!„ÐǨþ"B!DÃY™ZÑ£m*TºêìæF…ª¨ZÕÿ^¶(líÛ“^κ˜u¬‹YÇ™ì3¼9òM<í<›Tw7n¼5ò-L•¦Ä¤Çðeô—D&FÒÞ¥=O÷{ºÖsîæ}µ·°gr×É—³éø&VG­fuÔj<í<ÙôÈ&Ú;·'ñj"á'ÂùäÈ'lOØNBV®’$„ üP¡ª@i¤¤¯w_íñÞ^½1UšR¡ª¸gúì»ëœ9( vžÞÉšCkXµšÌÂL” %_>ô%C†’Y˜ID|Ÿù„¯O|Íáˇq²t’„ !„B!„B!„B!„B!D‹“‚„B4˜·ƒ7‹ÂÑ£m:Ë=Ýïiâ2ãèâÞEçxˆg‹ÂÐÇ»O‹ÅiˆúÚboaÏwùŽý—ös9ÿ2¶æ¶ ôHÛ6¨5jŠÊŠ ª«ú³;'Oí6•0Ÿ0~Mú•å7p`°ÿ`.ä\`QØ"œjÔÕ˜ûZ_;ÝlÜX¶ˆP¯PãËF-c|çñœÉ>CIE‰ÎgÝ:óÃ_ .3ŽÄ«‰”V”ânãNG—ŽºÖz!„w—±Ò˜Ea‹ðsò«³Ü„  )Œp°pÀÎÜN{ÜÜØœ×G¼ÎµâkŒì8²¥Ã5Hcb5ä><Õï)\­]uŽMî:™ ÷ Ž¥£°´ mÒ«ƒ…ŸMùŒ¤¼$b3bÉ/ÉÇÑÒBýj=O¡PÐÓ³'=={ê­[!DëQ*”õ¹¾Ž¾zËÝÙßµ¶ÆÄjÈ}x²ï“µïèÒ‘Ž.õžçïä¿“u !„BT[{x-ø€­n%Ä3¤µÃB!„B!jÕñÝŽ„z…²qÚÆÖE!„B!D=$)H!„B!„B!„hfsCç27tnk‡!„B!„BÔ)áù„ÖA!„B!DµvB!„B!„B!„B!„B!„B!„Bˆ†‘¤ ðþûï£P(øí·ßZ;!„B!„B!ÄÀ{¿½GÀòÎ^;ËÖ“[ýåhß dÙþeüxþG–¡sÎâï°<€…ÿY¨s|çé,`÷ÙÝw³ Zuµ BUÁwg¾cö7³é·¦ÞíÄÀòÊžWÈ*ÊÒ[׎„ŒúbßëÌÀ²:j5jºÆõ“ò’˜¿m>Ý?èN𿃙1—¤¼¤åšz_ëkçǾ `yÇÒŽðØÖÇøàÀLÛ<€å,`zøtí5nÞºÉʃ+yàóz?ˆàóè–G‰J‰jÐï@!DË9|€€å¬‹YGtz4„?B·ݘ¸~"¥tx§/ì~Açœ ;X@èêP4öxvq6ËXòã’»Ý  î¶T‹Iá¹ïžcè'C |/^«zñø¶Ç9žq\o]'¯œdzøtº®èJȪ^Üý"¥5®_TVÄ?~ú}×ô%èý &®ŸÈþKû«F£!">‚©›¦ÒmE7‚ÞbìWcÙ·Yçž7¤M Q!Ľ¥¼²œ€å<±ý 2 3YôŸE„¬ !`y%%Œùr > sNfa¦öYíRî%φ}:Œû?¿ÿn6A«)±Öwº®èª}6͈%`y*µŠÃ—k¯qûó-@tz4o{œU!tz·ƒ?̲ýË(./nÉ[!„âÔŸi|ÜÐ1à†Œ£Ãÿ±wçqUUûÿÇ_‡yPAPQQÌ ‡4ͲÔLË!»Y7«ß-ËÒ²î-ófeÝ43-lr,±A+ÇœÀ M%@EQDD‘Iç÷_N€AA{?׳öÚkÖêq[îµ÷g¯+_‘›“MMp£š>}:/¿ü2„……Õt8"""""""""røxçǬ:°Êü»ØTL÷¦Ý±¶²&"1‚íG˜E&Fbe°bGÒŠMÅX¬ÌåƒîMºÿåµö¤ìa䢑WÛ  A¼7ä½*õ`íáµL\9Ñ¢njv*Ë£—³åè~zä'ê:Öµ8þÕ¯_Y<ôMÍNeNäL˜x:ìisùÑÌ£ŒX8‚ìülsÙæ£›ÙŸºŸ¶õÛZ´Y]ãZQ?+++?‹‘‹FräÌsYìLÚÉ®»xç®wÒfÈUµ-""ÕoïÉ½ÌØ8£É”ü÷ßÝÑÖ>­‰LŒÄd2a0ˆ<^2·dæfr(ãAÞAD‹ GÓ—½^Ë·[b,6^Ql^Î^ì|jg•ú‘“Á¨Å£,êžË;ÇÆ„l9º…E£ÑÙ¯³Åñ˜Ó1üoóÿ(4w)ïb¿#%+…¥c–šë0fɦ4—ÅžŽå±qg«;+«ÉdbÒ“ø!‡ÒñêºW9˜v×ïx½Ò}ºÚED¤vÉÊÏâ¾…÷‘–“f.+..&Ì?ŒQ 8šy”fžÍ€’9ÀÊ`EDb^¤d¥t.‰±Æ^öz.{íÇ·_q|k]k¾~Eª#ÖŠÆáj,Ý·”WÖ½b‘x›’•‚¨l?¾oÆ~ƒ£­ãUµ-""o7ûúxeÖ€+³Ž^™uq¹9))è˜4i“&Mº|E‘?X¿†—ú½Ä  Aø¸ø˜ËÛ5hÇö¤í懛GÎ!-'íG°ÏÂ_2¡ÇóK×on|“ìüln ¼•ɽ'ãçîDZ³Çx}Ãëe¾´èjïZ-ãZQ?ÿì«‘_1oû<ÞÝú.ËXF¨o¨Åñ›fpäÌnoy;w}œ@¯@ Š ˆ<ÉÔµSùïúÿ2 Å½X%"RK¬>´šíG0¾Ëx»7ÆÚÊ(yiwþŽùJ?DO&“‰m‰ÛÜf0?ø‘ˆc椠Ò˜º5éV“]©°/ƒ0ÿ0ìô ­}ZãåìEV~Q'¢xþ§ç™¿c~™¤ •q+2šGnyWâNÇ1qåDv'ïæ`ÚA‚|JúþÕ¯_q0ý ž¼ÚÿU:4êÀÙܳ|²óï[\©X¿ýžâ~ e½–<ëó´oÐ{{bOÇòß ÿåëè¯Þn8!B*Õ§«QDDj—ÝÉ» i¼aóhåÝ zú÷dAÔ"#̉6ÇJþìjïJdb$ã:3—CÉ<_ª#ÖŠÆáÏB}CI˜’@Ë·[Ò¥q¾ù•ÅñäóÉL[?:öu˜rëú4냛£'Îà½È÷X}h5_îù’Ç»=^Ýà ""7ûúø‹«_¼â5àʬ£Wf]\DDnNJ ©%îü0w~¸Ly˜ûNî#öt,í´3¿DütØÓüû‘Ç#iß°=ññ¤ç¤3´íÐË^«ôEŸk¥¢¾ h1c±‘Ù³9˜~ìül‹Ýuâ3âËœóT§x°ÓƒæßCÚ aýáõ¬‰_é §hX§!¹—r‰HŒ a†Ì:{{Úø´aþ½óéûQ_Îç·h·:Ƶ¢~VF¡±Uq«hîÕœ¹Cçš“œm¹+è.²ò³˜ºv*»“wÓ+ W•®%""Õ£Cü1ð ó³K…5-I Š<IOÓ’™›Éí-nçdÖI"G2¾ëxL&Û“¶Ü 7·Ë^/þù²ócu©¨/^Î^Lê=‰v~ÄÖü‡Ì‹™æz ü9;Ì?ŒÿÞþ_óïN¾ßu<¯®{µd—¤ÿK Zsh ƒy÷Ì£¹WsœÜœ˜vû4Ï%V¸ÃBy±†Ç„cmeÍç÷Ž·‹·¹¼³_gÞ½û]~: G6Ò(¤R}ºÚED¤vq²uâ£{?*óbp¨_(ö6öD&FòPèC›ŠÙyb'CÛ ÅÅÞ…Q ¸d¼„­µ-‘Ç#±6XÓůËe¯÷ç$šêP±V4•õ}ì÷1}àtîhu‡¹<Ð+Ùƒg³'eë¯WRˆˆ\•›y}¼²kÀWºŽ~5ëâ""r󱺹p᯼ò ­[·ÆÑÑ‘:uêзo_Ö¯_o®“‘‘ŸŸ^^^œ8qÂâü­[·bccCXXEEEWÜf©œœ¦M›F»vípvv¦^½zÜ~ûílذÁ\çÀ`0pæÌ™2ç—;¾db¼í¶Ûxùå—èÙ³'ƒƒÁ@Ÿ>}xçw0 lÞ¼Ù¢ääd}ôQüüü°³³£~ýúŒ=šC‡YÔ›2e ƒýû÷óå—_Ò¶m[hÒ¤ Ó¦M«Ôö½`ðàÁ¸¹¹Q§N Ä¡C‡x衇Êô÷×ýøã ÆÞÞÞ¼ëÑ•Æ_™±üóuçÍ›GË–-qpp €éÓ§›ÿ‹ˆˆˆˆˆˆˆˆÜìz4íQnyXÓ’/üF$–|ñ721’¶õÛRßµ>¡~¡æ¯ým;¾í/Û¹ž*ŠáÓ]ŸòÔ÷O±#içóÎ[<È((*(sN—Æe_¼j\·1 /r>c±‘Î~Í>KÕq¨CH£2mTǸVÇX'ŸO&¿(Ÿ„ÌZý¯-ßnI‹·ZÐü­æ4«9S×N 5;µÊבêÑ£i2I4P’ãhëh1·X¬éÖ¤aþaìIÞC~Q>Òp6÷l­™³ËëËÞ“{±p«­&='Ý"y ¿(¿Ì9]w-Sæçîü>g$OÂÇÅÇœlóG½ü+N€-/Ö#G0éùAÏ2sèÀO¿Ï¡•éÓÕÆ(""µKkŸÖå&Â8Ø8êÊ®»¸d¼DÌ©Îç'Ì?Œ0ÿ0ò.åñkʯ‹ìHÚA‡Fp±w©TO¬Ce9s€gV>cžwKçÞ–o·$#'ƒSNUù:""ò÷t3¯Wv øJ×ѯf]\DDn>×|§ sçÎѳgOâââÌeùùùlÚOÍJ IDAT´‰Í›7³páBÆŒC½zõX¾|9½zõbĈDDD`ggÇ©S§¸ÿþûñòòâ›o¾ÁÆÆæŠÛÈÌ̤gÏžûì3óï'NðꫯR\\Ì´iÓ.{ÍC‡ѽ{w²²²Ìe?ÿü3»ví¢S§Nž÷öÛo³téRóïââ⫊¿²Þzë-–-[fþ˜˜ÈË/¿L||< .¬RÛ"""""""""7‚ºNuË-/}¡'21’ñ]Æ•eþÊ`XÓ0fmUòEÀcæ—….gOÊF.yű Ä{CÞ»âúåõÅXläƒàbï´ÓèÖ¤NØXÙ‘“A·¹ÝÊmËÁÖ¡L™’‚M&ÓÇôgÕ1®ý;«ŒÒº&“©ÌËÉtÉx©Êבêáîè^n¹­µ-·øÝÂŽ¤äåy<’F!¸Ø»Ö4Œw·¾ËîäÝÄ.yÎÙÓ¿ç]¯åÛ-1W¥sèÕôIDDnlÍsPò²î¶ãÛØ“²‡½'÷bgmG—Æ]°³±+¹W<‰ƒ­ÙùÙæ—‘/çÁeVj7¹µ®¥™g³ËÖ«j¬5•q%ón¡±°Z®%""?7óúxeÖ€¯v]DDþ¾®ùNA“&M"..ŽaƱ{÷nrrrÈÌÌdéÒ¥¸»»óÔSOqñbÉW¡ºvíÊÌ™3‰ŠŠbâĉ1räH222Xºt) 6¬t›Ï<ó $88˜ü‘ôôt233Y·nýúõ+÷«W—³aÃ^{í5"""0™L˜L¦2;ýÑÓO?Mzz:½zõbÏž=\¼xÑ܇ .ð裖9gÉ’%Ì™3‡ÔÔT²³³Y´h666Ì;÷ŠÍŸ{î9²²²4h111\¼x‘½{÷Ò®];Ö­[Wáy+V¬`æÌ™¤¤¤`2™˜5kÖUÅ_Y¥×MMMåìÙ³,Y²-ZÄ/¿üRåöEDDDDDDDDnTÖkº6îʾ“ûØrl y—òó/yɧg@OŠŠ‹Øzl+»“wêZî ¹µAvA6ÙùÙôèÍ6CðvñÆÆªä£M[·V©m_w_¬­¬Ù¼»ÌnCÙùÙì;¹¯Ì9×{\­ %Kò~yÊ×Í;k;:ùv"aJB…ÿŒí4¶Jבë#Ì?ŒBc![meOòóÜÜ wGw"ŽEy<G[ÇZýÅÞäóÉx9{1!lÝcocÁ`àÄù?{¼Jm7qoBZNšy·?ªìß šy6ÃÑÖ‘}÷U8‡Î½gn¥ûT1ŠˆHíÔ3 $9721’ÈÄHóŽ¥÷ŠÇ"ˆ8V²#Aé|^S®w¬ ‹Ê”—&0}9òË çÝ=Oï©òõEDDþèfX¯ÌpeÖѯf]\DDn>×t‹œ‚‚–.]J›6m7'à8;;3räHΞ=Ë¿þõ/"""8°dëö§žzŠ;vðÁËÖ­[yóÍ7¹õÖ[+ÝfïÞ½Y¾|9¬_¿slýû÷§ÿþײûf/^dõêÕx{{³jÕ*êÔ©@ëÖ­ùúë¯éСû÷ïçðáôhÑÂ|Þ+¯¼ÂSO=eþ=f̾ÿþ{ÂÃÃINN¦qãÆ^3''‡µk×Ò¸qcÂÃÃqp(ù’fHHß}÷œ9s¦Üs'NœÈ³Ï>[åø+ë™gž±¸î¨Q£0Œ;–ððpúõëwÕm‹ˆˆˆˆˆˆˆˆÜèzôdÑ ÌÚ: g;g:úv U½Vx:y2'rùEùWüõâPßP¦$\ËËpwpÇÑÖ‘mÇ·™I¨_(ò/°þÈzÞÚôV•Úv²u¢§O6ÝÌ“ß?ÉäÞ“ñs÷ãØÙc¼¾áuÎç/÷¼ê׿âæà@Dbí´ÃÑÖG[Gîj}߯|ËÄ•ùGè?ðÀÞÆž”¬ö§îgé¾¥,³;k»*Ç!""×Véî?³#fSh,4¿Äke°¢kã®lLØHjv*=ü{˜_깜øçã¯Y¼iX§! ™ ,üu!CÛà×”_yý—×Í_8¾Z[ $úT4ÿúî_L0ö Ûs6÷,Ÿìü¤R»+Œh?‚=?íáÁeòT§èа®ö®¤ç¤s8ã0á1ጠC÷¦Ý+Õ§êŒQDDj§Òû¾õGÖsâÜ &öšh>æÆ´õÓ(0àjïJ»í®¨Í¯F~uÃÄúWÜÝ9ræ'ΟÀ×Í×ü‘‹{‚ïaþŽù<»òY&õžD˜^Î^dågqüÜq~:ø>.><Þíñ*Ç ""òG7úúxeÖ€+³Ž~µëâ""rs¹¦IAÇŽ#//`kk `ÞU§ôÏ'Nœ°8ï“O>aûöílݺ•;3^xáªÚLLL¤  €;î¸Ã"!èz;~ü8EEEôìÙÓœPSÊÆÆ†Ûo¿¸¸8,’júôéS¦­€€.\¸pÙkFzõêeN*åææF×®]ùñÇË=÷ÏÉRWeÝ~ûíeÊJ“Å®ïË """""""""µM¦=8œq˜~ý°6X`0èá߃•q+-êÕFƒ‘FòùîÏyèë‡,ŽÝÓö¾‹ý®Jí¿Ø÷E~Mù•M ›Ø”°É\îîèN˜‘‰‘eιžãÚ¥q ówÌgþŽùÜâw KÆ,áßýþÍÁ´ƒ¬:°ŠUV•{þ•ì /""5/Ð+gÆÍÁàúÁæc=z²&~ P»çl€Q!£Ørl ÓÖOcÚúiæòÖ>­iQ¯é9éWÝöƒdeÜJ¦dìÒßwÂ3 ÄOºâ¶†µFÔ‰(VĬ`|øørëÜßþ~ r}ªÎED¤vúó}_ib/”$Ú˜L&Î$пE¬­¬k*LàúÇÚµqW~<ø#}ç÷5—-½˜.»ðÚÀ×xyí˼¸úÅrÏ}¬ëcU¾¾ˆˆÈŸÝ ëãWº\Ùuô«Y‘›‹Õµl¼¸¸äkJ&“ £ÑˆÑh¤¸¸Ø"‰ °°Ðâ¼Ý»w“’’À‘#G,`®¦ÍÒÝ„þŠ•••Eû”——wÙó¯Ä•ÄñGŽŽŽ¶q¥+ºæ_ïééY©¶þ¬:Dzôš•;©9ѩь^<ÚüPóF³õØVF/MTrTM‡"""rM]2^bôâÑÌÚ:«¦C¹*9Œ^<š/ö|QÓ¡ˆˆˆ\7Më6Å×ÍÀ¼ã@©Ò¯z:yÒÊ»Õu­2&÷™Ì“=žÄÏÝ;k;šÖmÊä>“™Új•ÛnæÙŒðÃéØg;góW—Y†·‹w¹ç\ÏqmæÙŒ7ïx“@¯@l­m-޹9¸þ`8/Üúmë·ÅÉÖ G[G½¹¿ýý¬xpö6öUŽADD®0ÿ’9¤[“næ/ë_,®Ž]è®¥ÛšßÆ¬»gÑÊ»6x»x3*d G-¬òÎuö6ö,½˜1!cðröÂÞÆžÖ>­ùp؇ô èU©¶ o z‹9CçУiÜܰµ¶ÅÏÝþ-úóá°éáߣÒ}ªÎED¤öúã}_w¹ü÷Š¥ózM»ž±þ»ß¿Ør îŽîeÞÙ¹¯ý},»œ»‚îÂÛÅ+¼]¼¹Åï¦ ˜ÆÝž¨–DDDþèfX¯ÌpeÖѯf]\DDn.S>-8bÄ–/_^îñÜÜ\<<< %2òÊ2MO:EHHƒ^x‰'2lØ0V¬XQé6óòò¨[·....8poïŠ'·I“&1sæLvîÜI—.],úТE Nž<ɹsçpwwà7Þàßÿþ7›6m*³£Ï;ï¼ÃäÉ“ÍÇ.^¼ˆ»»;žžž>|Øb·£ÑH‡ˆ%>>ž-Z0eÊÞzë-öíÛG‡,Ú.=CÛ¶m+ìONNîîîøúúrèÐ!‹Ý‚²³³ $##ƒŒŒ ¼¼¼,Úþóu+eDzôº“'Oæí·ß¶èÇ¢E‹;v,?þ8~øa…ý5 Ì™3‡;ï¼³Â:"ÕéÉ'ŸÄÅÅ¥ÂÿþUUZZ999WT70°sæ¤qçWV¿:ÄgÄ3mÝ4îkCÛµ8¶õØVþæaþÝïߌë<îºÅT]VÄ¬à…Ÿ^`î=sØr`M‡#"7ŸvaÂŽÖt(RÞzªd÷Ò÷ßO»®×»t,AÞA¼Ôï%‹ò‚¢Ú¼Ó†ÛšßÆü{ç_טªCJV }>ìÃàÕ¯Öt8"r“¨‰û+©}ô÷7‘Ú¯¦î¯¤öÑßßDDj7Ý_I)ýýMD¤öÓý•€þþ&"r#ÐýÕÍ«Y³fW}î5Ý)ÈÉɉ‘#G²mÛ6FÍÎ;9þ<ùùù:tˆ/¾ø‚nݺQPP@QQ÷ß?gΜaÙ²e<óÌ3<ùä“|ûí·Ìœ9³Òm:::2bÄ2330`«W¯æÌ™3œ;wŽõë×Ó¿ŒF#mÚ´à¹çžãСCäåå±oß>† ÆÉ“'ËôÍÃÀµk×’››û—ãàììÌwÜAZZC‡eïÞ½äæærðàAFEll,:t E‹Õ6ö... 0€¤¤$î¿ÿ~âââÈÍÍ%::š{ï½—ŒŒŒ+n«²ñWv,KÍž=›Y³fqúôiÎ;ÇÒ¥Kyúé§>|xFCDªÛ…‚ D%Gq2»âÿO‹ˆˆHí•Å¡ŒC5†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆT3›k}wß}—èèh–.]ÊÒ¥KË­SºYÑ”)Sˆˆˆà­·Þ¢wïÞÌš5‹={ö0eʺtéBXXX¥Ú|÷Ýw‰ŠŠ"::ºÜ]dJë5Š—_~™mÛ¶ôû»5bÀ€¬[·Îâ¼Þ½{c0˜1c3fÌ0—mÞ¼¹ÜxfϞͮ]»Ø´i:u²8æââÂ'Ÿ|RîyU1sæL¶mÛÆÊ•+Y¹r¥¹ÜÓÓ“~ýúñË/¿`kk{EmU&þÊŽe©aÆñÜsÏñÜsÏY”3†~ýú]Qœ""""""""""""""""""""""""×<)¨nÝºìØ±ƒ÷ߟ¯¿þšøøxŠ‹‹iÚ´)=zôàŸÿü'|÷ÝwÌœ9“Áƒ3yòdóù¶¶¶,_¾œŽ;rÿý÷³wï^|||®¨M///¢¢¢øßÿþÇŠ+HLLÄÍÍŽ;2iÒ$llJ†ÀÁÁµk×òÜsÏ ýúõcöìÙ¼ôÒKeúÄ‚ xçwHHH °°ð/Ç! €={ö0mÚ4Ö¬YCZZôíÛ—©S§ÒªU«jõßcܶm/¾ø"[¶l ,,ŒY³fñøãcccƒ««ëµU™ø+;–¥¦L™B÷îÝ™;w.III4jÔˆ‡~˜)S¦Tm D¤Z}û= ¢°örÿ— ð0ÿ6ù&ú"#(4Ò(„tú.ö.æ:—Œ—øÇ²êÊ„° |½ÿkv$íà\Þ9Ü·²ò³ÿ-œ}'÷‘S˜ƒ‹··¼¾}-b3Ù|l3‘‰‘œ8wk+kZÔkÁ½Á÷âïá_¦/Ñ©Ñ|ý '³OÒ Nîo?^Î^×`ÔDDDDDDDDDDDDDDDDDDn×<)J’D&Ožl‘ìóg÷Üsyמ?óõõ%==½Òm–rsscúôéLŸ>ý/ëµiÓ†5kÖ”)_´h‹-*S>nÜ8ÆW¦|Ò¤ILš4©L¹ŸŸŸ~úéeãýãîC•9Vž¶mÛ²jÕ*‹²””vïÞMPPVVVWÜö•Æ•ËR&L`„ Wt ©'³Or0ý )Y)¤d¥”[/37“¡_ µ8¾6~-±§cyuÀ«æ²¬ü,¢’£h×°ÿ]ÿ_ÒsJþ{ßÚ§5Kö-)y¡Ùd4Ÿ³õØVí]Äë_gx»á@IRï{s±ð¢Ekâ×° jߌý_7_sù ?½ÀŠ˜m®ˆYÁÈ#¯fXDDDj ˆJŽ ;?ÛüçÒߥŠMÅ<ñílLØh.Û|t3ëâ×þ`8¶Ö¶æzQÉQ¸Ø»0îëqìHÚa®_d,b_Ú>Ƈç\Þ9‹8VĬ`Dû¼yÇ›æ²ÑKFókʯõ6&l䳨Ϙ{Ï\‹$¢ðßÂyiõK›ŠÍe߯|Ës½,wù»¹.IARs† Æã?NHH¶¶¶ìÙ³‡I“&‘››ËðáÃk:<¹ m3W{Wþ»þ¿Œh?‚¡m†–[ïÓ]ŸÒÜ«9oÜñ>®>ÄŽãƒí°xßbÆwOÃ: -ê±û ü=ü™6Æî©ãP‡½'÷òêºWq²sbtÈhÚ7hµ±§cù|Ïç¼¼öeº6銯›/—Œ—°µ¶å‘[¡µOk<<É.ÈfWÒ.–î_ÊœÈ9¼=èm~>ô3+bVàhëÈæ}ÃöœÍ=ËW¿~ŧ»®,ùQDD¤¶kY¯%‹G/fìÒ±yñR¿ßwí òþ}·½­Ç¶âîèÎ ·¾@s¯æ¤å¤ñÁöˆK‹ãçC?3¤Í‹v·ÛŠ‹½ “zO"È'ŒÅF_ñ8çóÏ3´íPú4냛ƒ'Οà‹Ý_°º÷#¬­¬Ë­ãáä@tj4îŽî|9òK¬ Væã¹—rÉÈÉÀÁÖÁ\æíâMbf"çóΗIŠ9s z"""RƒLÕ;g †2e¥É½ÓL#Ð+°Üól¬Jn?K‡æÞ3— oˇÞÝú®ÅoogoâÒâÊ$#iΑ¿;«ËW±ädëÀ‰ó'®éu´@Þ¥<Öį¡•w+º4îbþ§µOkâ3â¹d¼”ìSC|z¼ùüsyçxv峿]Jõôï‰ÑddÊÏSÈ)È1—¯>´šâ~¸¦}¹ÞœíIÉJ)wןêr{ËÛø!îÔi`1g‡ú…r.ï§/œ~ß•ooÊ^óùEÅẺœÃž”=íö è ÀŒ38~üPú!fm™uÍú#"""""""""""""""""r#ÐNA""Riþžþ8Ú:òmÌ·ÄžŽÅÝ¡äåÞ%c–TëuþÙ埬?²ž%û–ðMô74õhŠ«½+9œºp c±‘Ïîû €~ýؼ›!_ ¡e½–$žMÄÑÖ‘Fn¸XxÑ¢Ýoc¾eÑ tŸÛÏÎæž%5;•Ö>­9v Zû!""R“Zû´fgÒNú|؇Fn0`àåþ/àPm׸ÅïF´Áòèåôß?w?¼œ½ÈÎÏ&%+…‚¢ëúƒ‚Ñ' ó¶Íc꺩,ˆZ@]§º?{œì‚lÚø´!.-ÎÜî­Ín%¤QûNîcà' ð ÀXläø¹ã´¬×’´œ´j냈ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÈF;‰ˆH¥9Ø8ðRß—°·±çpÆa¢’£ˆJŽªöë8Ù:±tôRÆtƒ­µ- gØwr)Y)¸Ú»òPèC´©ß€q·Œãþö÷cÂÄÁôƒL?HC·†|vßgÔu¬kÑ®‹_úŠæ^Íɽ”KìéXÒsÒ×yc;Ž­ö~ˆˆˆÔ¤É}&SÏ¥©Ù©ìNÞMTrÙùÙÕ~×¾ÎKý^ÂÛÅ›äóÉì;¹£™G)6sg«;¹«õ]´oØž©ý§âhëȉó'ˆNÆ`0ðÖoѵIW‹6­­¬ùdø'Üx+EÅEÎ8ÌÑÌ£toÒ7ï|³Úû ""R[m;¾9‘sÈÈɨéP®ÊúÃë™9‡¼Ky5ŠˆˆÈ5•t.‰9‘sØŸº¿¦C¹*Ó2'r gj:‘kÊh22'r?ü±¦C¹*ÙùÙ̉œÃ棛k:‘kNëã"""—§‚DD䪌 ŶC8zæ(yEy˜L&Ú5hÇâÑ‹iR·I™sJ5õhZ¦¬¼ú.ö.L0ÿôûG3’w)ú®õñqõÁÊð{n«µÁš×ïxÉ}&“t.‰:uð÷ð`úÀéX´ÛƧ «ÿ¹š£™GÉ)Ì¡‰{ÜÝÉÈÉ`ñèÅ4÷j^Õ!©Ú7hOä¿"I8“@v~6Ŧb‚¼ƒ°µ¶eñèÅe’gó1'2eåÕ°2Xñpç‡:ޤóIœÍ=‹‡“ê4ÂÖÚ֢c<ŒÄ³‰0舭µ-'Ο o`ÉNC¥ÜÝùdø'¤å¤‘š•Š« ë4¤ ¨€Å£ããêSM#%""R³v'ïfGÒ†·NÃ: -Žm?¾v~Dÿý©çR¯†"¼zë¬çÛ˜oÛi,޶Ž5ŽˆˆH•¤f§þ[8Ýšt£³_g‹c¥IA®ö®thØ¡†"¼zÒ0'r-êµ Ð+°¦Ã©²÷#ßÇ×Ý—{ÚÞcQ^d,bNänk~wÝUCÑ]½ì‚’¤ :>@Ÿf}j:‘*Óú¸ˆˆHÕ()HDD®š“­Á ‚-ÊÜÝéÒ¸K¹õË;öWõÿÈÖÚ–VÞ­.[ÏÝÑwGw‹²¶õÛVX¿™g3‹ßõ\êÝ7"""ÅÚ`MËz-Ë”W4[¬Ê+¯¬<ƒ¦u›Ò´nÓ¿¬çhëHkŸÖeÝÓØ½q¹õ}\|ðqù=ÈÞÆþŠâ¹QD%G1'rÝ›v/óÐSDDDjÔìTæDÎÁÚʺLRˆˆˆÔ.s·Ï¥Kã.e’‚DDD¤vÑú¸ˆˆHÕT9)(<<ƒÁP±ˆTÉ„ ˜0aBM‡!#ǯéDDDDDDDDDDDDDDDDDDDDDDäoªJIAÏ>û,#FŒ¨®XD®ÚŽ;hÑ¢žžž5ŠüøùùÕt"""""""rø.ö;v$í ü·p¶ß@#·FÜ|¯EÝBc!6rüìq¼œ½¸­ùmevÌÝv|¿¦üʨ£¨ãP‡MG7qüìqÚÖoK˜ÙùÙD$ù|2¶Ö¶×®p·ƒ}'÷ŸϹ¼sÔs®G·&Ýhä֨ܺqiqDˆÂ„‰PßPÚ5hW¥±©Mv'ïfEÌ v$íÀXl4›VöÃu»Nìâ·S¿aocO¯èª IDAT€^evÕM:—Äq?Ð+ í´g׉]Ä¥ÅálçÌÈ#0šŒì8¾ƒøŒxŠŠ‹ð÷ð§w@oìmìË\/ñl"¿úSÙ§p±w¡Cô­ß¶Ü¾œ¾pšM ›È.Ȧ¹Wszô¾Úa©uR³S ÿ-œbS1'Î`Näó±aÁèç\Ï¢þÑÌ£D&FRh,$¤Q¡¾¡Ç&#ó¶Í#À3€»‚îâhæQ¶ßι¼s<Ñí l­mˆ=˾“ûÈ)ÌÁÇŇÞÍzãéTö=–³¹g‰JŽâĹØXÛЫÝšvÃÚ`]¦îÅ‹üräR³S©ïZŸþ-úWljˆˆÔZ©º*%uëÖnݺUW,"Wí¾ûî«éDDDDDDDDD®Êw±ß±3i'PòгÔ-~·X<ôLÍN噞áhæQs™»£; G.$È'È\¶ýøv>Úù-êµ`ÆÆ¤d¥ðpç‡ ócyôr^ßø:99qtöëÌÃ> ®c] äæÄ•9–yÌ¢ž•ÁŠ'º=ÁÄ^ÍeŦb^Yû Ëö/³¨;&dÌU‰ˆˆHm•ež«w&í4Ïß`™TT\Äã+gÑ æ2k+kÞ¼ãM†3—%KbNäì¬í˜1›ÈÄHÚø´ad‡‘D§FóôO›çòR ê4àÃaš~r/å2>|¼E<¥zôbÞ=óp´u4—-ÿm9S×N¥ÐXh.ëаw·¾ûªÆEDD¤¶IÍN5'¥d¥X$uiÜÅ")è£ñΖw0™Læ²ûÚßÇw¼aþ]d,bNänk~G2Ž0oû<ó±Gny„¬ü,&®œh~¡¹”£­#SûOex»áæ²×6¼ÆÒ}K-æa€¦u›òɈOð÷ð7—ÅœŠaüŠñdäd˜Ëê¹ÔcúÀé•‘ÚJëã"""UW¥¤ ©š{ÚÞC±©˜I;Þn8 ë4(óµÁÿ¬ùÖkFv‰“­[·’p&ië§±ìeeÚ}eí+ØZÙr_ûû¨ïZŸF!l8²W¿ˆµÁš[o¥™g3 ‹ Ùv|»“w3ùÇÉ|:âS d·¤sIôhڃϜíœIÏI'"1‚yÛçÑÙ¯³ùËŠ_ìù‚eû—ameMÿæýñs÷ãhæQ–ì_b~ˆ*""r£»ÅNøoátmÒ•[ün)·Þg»?#§ ‡!m†àãêCÜé8¶߯ÔuSéߢ?®ö®eêçærwë»iìÞ˜ú®õ9™u’qߌ#;?›ö ÛÓ¾A{ìlìˆ=ËΤ<þ(ë]‹½  .²3i'më·%È;/g/² ²‰:ÅÖc[™·}“zOà·S¿ñŸ5ÿÁXl¤³_gÚ5hÇÙܳ¬_kñ‚³ˆˆÈ¬a†L›ÀûÛÞ§QFI¹¼×ÞŸºŸ éЛæ^ÍIËIãçƒ?óMô7ÜtÝ›v·hwßÉ}l8²žþ= ò ÂÁÆ+ƒ†?JÌ©|Ý|éÐ77’Î%±áÈ^Zý^thØ€ˆÄ¼]¼ iB#·Fp0ý ;“vòüOϳ|ìr d‡ ÇVßý9ï y€i¦àÀΤœÊ>…µ·øÝ™‹gØwrçòÎQ×±.?ü‘ôœtzú÷äãáckm ”ü½aìÒ±œÍ=[½ƒ&""RC´>.""RuJ ¹<Öõ1óO[k[º7éαÌc¤ç¤—yèùh—G-x¦ç¤“p&ÆîÙrl [ŽmÁd2a2™0` öt,Í<›am°æ±q8ãp¹ñœ¹x€“Y'IËI#Ì?Ìâ'Àí-o'¸A01§bª>"""7ˆam‡Y$ôiÖ‡ðßÂI»V¦þ6C,‚¶'mÇÚ`ÍÙܳÌÛ>Ïbξxé"Pò¢1!`e°bAÔÖį)7žÒ9`oÊ^mùWË—’üÜý¸¿Ãý|ºëÓÊwXDDäÕÚ»µEB”ÌÙPrýgþþ AÛŽoÀÉÖ‰ù;ç›çk“É„ uêXÜïOÝϸ¯ÇQT\TnL™3©ëX—½){x*ì)sBP2wÿ†?ZÉÞŠˆˆÜØ´>.""R1%‰ˆˆˆˆˆˆˆˆˆÜÔiP¦¬ô¡fy/5­ÛÔâwéW„Oœ?Á»[ß­ð: .ðüOÏs8ã0Í<›êЇ“¶Ö¶ ™¿ã÷² ²ʼü\Ê×ÍW=EDäo¥¼9ÛÉÖ ¸²9Jæm£ÉÈ{‘ïUxÒ9ûò&~ NôôïI}×úØÙØaÀÀ²ýË(4šÏÉÊÏ¢¾k}¬ ÖeÚós÷»lßDDDn&•ž³=š–)+½×þ:úëË^ogÒNfn™‰µ·5¿&u›àd焉ì;¹bS1P2gCù÷Úš³EDäïHëã"""SRˆˆˆˆˆˆˆˆˆÈMÈÆÚrù×ÍÁ €@¯@îlug…ç׿báEv'ï¦}ƒö|óà7/L;ÈüóÍ¿ëØ× %+¥Üö**‘ÖVetê8Ô¡ÐXÈ£]*Þ Ð+€ÍG7ã`ãÀê®ÆÓÉÓ|Üd2ñåž/1 æ277N_8Ñd,“”|>¹ª]¹©•—TëæXr¯=&d žÎžeŽæ] 6ÝÀÜ{æÒ7°¯Eƒé-Ûý¿{ø”¬¼]¼-Žiι<­‹ˆÈ߉’‚DDDDDDDDDDj˜½µ=ðû—€¯…uдnS2r2Ør -êµ°8n2™ˆ<IÛúm)0`0p°u°xàYh,dVÄ,‹ó¹5ÂÇŇíÇ·³ëÄ.º4îb>¶6~­¾‚(""7•Ò9û|ÞùkzîMºóuô×4©Û„!m†”9~(ý®ö® l¬m̱•úpLJdågáîèn.ëèÛ‘•q+ù`Û<ö”¹<ù|2ßDsz#""R3ì¬í®ùœÝ­q7–G/Çh2òd'±2XYÏÈÉàÔ…SæD]{‹:;“v²ñÈF‹²Ž¾Y³‚÷#ßçãáckm @Þ¥<æmŸw­º#""R#´>.""R5J ©aMê6à_Þ`OòmiäÖˆ{ƒï­Öë¼pë ü¿ïþƒ?L·&ÝhæÙ {{R²RˆN&%+…¸Iq8Ù:Ñ«»Nìâ¾…÷êÊ…‚ l=¶•‚¢‚2í>ÒåÞøå \ö ý›÷ÇÏÝ£™GÙttNœÍ=[­ý©)~î~X¬XþÛrŠŠ‹¨ëX€ aªõ:Ot‚5ñkxnÕs|¾ûsÚ7h«ƒ+9>s˜˜S1|vßg4rkDHÃbNÅp÷çws[óÛø5åWâNÇY$<ú?ü‰÷"ßc{ÒvÚ5hÇÙܳ¬_‹ƒ­CµöADD¤¦5õhÊ´<·ê9ó>,xõœëUÛ5µÄ{¾`ÙþeD$Fнiw<<ÉÎÏæø¹ãDˆâ‘[¡]ƒv„4 à±ðÇØr uêrä̶݂‡“g.ž1·{WÐ]¼ñ‰ܹàNÂüÃ(6³ùèfò.åU[ü"""µÖÇEDDªFIA""""""""""ÿçÿ>Ú‹ÉôûŸ¯‡^½ô $áLŸìú€[ün©ö‡žý[ôgÖݳ˜¶~‰D$F˜Y¬èÐë’eã×¾Æøðñì=¹—½'÷àéäÉ{CÞã¥X´ûPèCË<ƲýËX¿Æ\>:d4ùEù|ómµöCDþÞL&°²º|=¹ù]Ϲº”»£;‡þ[8 ]h.¯î¤ _7_ŽZÈs«ž#öt,±§c-ŽyÑÈ­‘ùÚ;’vpäÌ>ßý96V6¼6ð5–ì[BJVŠù¼v Ú1}àt¦®ÊîäÝìNÞ @û†íÜz0¯mx­Zû!"o×û¾Jj/ƒŠ‹¯ÿuÇ…Žã…Ÿ_à‡¸Ìe]w©Ö¤ kƒ5 î[À ?½ÀÆ„,^nqÜÇŇv Úp{ËÛ¹»õݬ:°Šå¿ý^oDû¸Ú¹òÙîÏÌeÎvÎ|tïGŒ_1žÄ³‰$žMÀËÙ‹7îxƒÇW<^m}1™JþWó¶h}\ëã"Rûi}\Ê£¤ ¹aÄœŠáž/ïaBØ‹¬EÌŽ˜ÍêC«9uáÆb#¿=÷N¶N5mÍZ³‚~z¹÷Ìe`Ëæòà™Á~9ê¿·ÿ—Ñ!£¯Wˆ""r“ žLpý`–ŒYbQ¾<Ðñ^ðª¹üÑðGÙ”°©Üs â½!ï]§EDþ~œœJÞRÊÏ·ÂÑñú½±docÏwÿøŽÍG7“t.‰Bc¡ùEßîM»coc—“W™óJy:{–)+¯>Àݭ曆þl?¾Ä³‰›Šñuó¥CÃ4¨ÓÀ\¯c£Ž¬¿ž-G·púÂiÖiHßÀ¾ØÛØ3!l^æºV+¦œÎ¨Qì:± “ÉD'ßNthØõ‡×ãëæ‹ƒv‘êqñ¢õëÕtR 89“›{ýßZ{óŽ7Üz0Ò{)×\Þ¤n&„M ¤QH™sJ•¾|¹ú­}Zóó#?³÷ä^bOÇ’w)ú®õiY¯%A>AæzîŽî¬zx6rüìqê8Ô¡W@/ÖiH±©˜ìül‹vG´AXÓ06ÝÄ…‚ zÒ§Yg.™ã=ÿŠˆÈU¹xÑ gçÈ‘ZÇÙÙDzºõu¿î°àa´©ß†]'v‘•—… Üacmİ x”9§ôØïyÿª>@]Ǻ|<ücŽfeOÊÎæžÅÃɃ¦u›êеÕï}wð»ŒMìéX u"¸A0‘‰‘¸Ø»XÜß7fÃø üräR³Sñqõá¶æ·a2™Êü½BD¤*.^,y³ØÅEóößÖǵ>."µŸÖÇ¥."RËi}\*¢·¦EDä†w*ûž4ól¦„ ‘Zìô…Óô ì«„ ©µììLtì˜ÏÖ­N5Šˆˆ”cûvGŠ‹ té’WÓ¡H-еk;v8ré’¡¦C‘?),4°c‡#ݺiθå–<Š‹ lß®{m‘ÚhëV':vÌÇÎN‰›wZ©Ý´>.Ñ›Ó""R)QÉQÎäµ ¯•{|müZg2Ç|s™ÉdbyôrF,A»™íhóNîúì.í]„Éôû‚ÂÖc[ œÈç»?'*9ŠQ‹GÑnf;†~Q² kÌ©g2'rÓ7L'pF çóÎMàŒ@gr×gw8#W×½ZnŒ?ú™À|ºëÓj•Êùc?w&ídÄÂÏ &l^˜Å¸}õëWôÿ¸?­ÿךŸ `õ¡ÕeÚÊÎÏæÕu¯Òmn7Ú¼Ó†¡_ ecÂÆëÙ©¥ò.åÑ~V{îúì®rgæfÒêíV<ôõCåQÉQŒOè{¡´z»}>ìÛß$§ Ç\§ ¨€À<¾âqNfdÂ÷}/”Àä^Ê xf0£`ýáõÎdMüÚ¾Ó–Àôü 'fwâŽOËnž“NË·Zòhø£UŽ«òç~>ñ턼Bè{¡¼ðÓ \,¼@db¤y>ï6·ïn}—bS±E[Ŧb>Ýõ)·}tAÿ âÖù·òÉ®Oj¢[""r ¸ÈúõÎ\¼¨åS‘Úæ»ï\èØ1//cM‡"µÀm·]$?ߊõëk:ù“ œÉÏ·¢_¿‹5ŠÔõê Éçûï]j:ù“‹­Ø°áÿ·wçqUÕùÇß—ËårÙ7QÜI)÷PKkp/uÌ=iȦ!hÊ©ŒÉ­ÍG¹õ³åa¹åØŒŽK)¸TŽšZV“‘Q¦èŠ#nˆ ²ßûûÃdbÔDËëùß=ç{¾ç}xð¸ß{¿÷|Î×]ýú1fãæÇ úb~×£™7¤KH5ók¦õûÖkÂo'ÈÅìRfÿê=«ev2khÛ¡’.Å}§õûÖ—i÷cÆzù“—•r*EÓL+³ïûcßkæ§3Uâ¸ôÁåoª½žŽ:ÊÅ좵{×ê¹ß>'7KÙ§W,ûn™l›F¶yݾZ½ÖJ%öò}€ pPâ¸Ärçüáøe®3¯(O³?Ÿ-«³U§sOëÝÄwKÛþçÌôÔú§ÔÔ¯©ÂÃ$]ºQ9rE¤R2RJÛí=¹W1 1º¯õ}×<ï¡3‡± BÇÏ—Ÿ›Ÿ:‡tVÌ]1º½þíåΨþl›î»_«v¯Rò‰dµ j[fÿšä5*¶—WîZ©?y±LÑnzvºï\¬i;´ê÷«d³ØJ÷eçgkä?FêTΩÒmv{ùÇm›Å¦aµè›EÚùÓNu éRfÿû?¼¯G‰¾óáëöõ~”v¤í(÷¹7GoV ÿåj›Ÿ­ÑËGëÄù¥Û’”•—¥QFéñ5—~^È+ÊÓÜsåçæ§‡Ãÿ›û¥O^ÒÊ]+K_ÿ”õ“f}6KûNîûÕsýûPÌ<(›Å¦;ܡȎ‘êת_¹¯P1º÷Þ\5hPltTcƜׄ õ”–fQÓ¦EFÇülÅ /Ùí& rÁè(¨&˜€ê‰ùqüJy7lx»áÊÊËÒ–[Êl?•sJ_þR÷4¿G’¤õûÖký¾õjU¯•\¬¤§’”ül²VF®TXý0}°ûí:¶«L?ܨ¡í†jËc[´ÿ¹ýú𑯚ãùÞÏ+ubª<­žjÔ^©S•:1U¯ô{E‡?¬ÜÂ\­M^[æ˜ÔÌTíüi§†¶*/W¯Jü«Ü¸ )¥Ïÿ\ÉÏ&ëÞ‘³“³æükŽ–¿\3Þ©¤§’ôh—GewØõÞÎ÷J_úÝR¥d¤¨¹s-½T{žÝ£íoטc´!eÃ5Ï›•—¥£YGUl/VFN†6¤lÐÐ%Cµyÿæ[qÙ€[hT‡Q’.íþ¯ø=ñò±ù¨OhI—ŠT¦n™*/«—f ˜¡¯ŸüZÿþË¿µé›4 õ¥d¤hIÒ’2}|ûÓ·jèÝPñQñÚ·W©Såa½òI}në£Ô‰©êÚ[’´/nŸR'¦ê“èOôP§‡dv2kÙwËÊSâ(Ñû?¼¯–-Õ£YJù{TÔ·?}«æ~ÍõÑ>ÒÞ¸½Zóð{k[ê6ýåã¿hløX}ñ§/´çÙ=zëwoÉìdÖâ‹KßsbVîZ)«‡fÝ?KIO%)q\¢^îû²¶Üò+g–öÚ§Â’BeçgkGÚ=±ö Mß6½ª/ê=Àè(€Ÿefš5ož¯¢£³äí}cìEíÅü8TOÌã×°Rà† k;Lo|þ†VïY­ûÃî/Ýž°'A%ö’2+Ä'ÇËìdÖßFý­´PH’:‡tÖ›ƒÞTÿ¿ö×Öƒ[Õ±QÇÒ}vÐôþÓeº‰Ç:Þ×ú>Íül¦–ïZ®ÈN‘¥Û—}é†ã¨;£ÊÕÏþçöW8ÃõôlÞSSzM)}Ý¿Uõí­Mû7ir¯ÉÑnDé¾çî}N«v¯Rê™ÔÒm›~Ü$“ɤ¹ÌUh@¨$ÉÍÛMSûMÕás‡¯ºZB·&Ý4ªÃ(µmÐVn.n:tæÞM|÷Ò97NVf=äîâ^e× ¸µÚµW«z­ôÑ¿?Òä^“åêì*Iú.ý;:sHt~D³E’´nï:Û‹õjÿW5 õ€Ò>Z´Ô[ƒßRRz’¶آػcK÷¹YÜ´pØBù¹ùU8c#ïFêÚ[ŸøD9¥Ÿ¶Ø¢Œœ =ÙýÉrõ³tôÒ g¸?7?Í6¿tõÁvAíôh—G5uËTÝ|§&EL*m;0l Öï[¯ÏR?S^Qžl[iáí_îý‹†µVÚö¡N);?[o~ñæçlêÛT3.»(Ð#P'Οк½ë´ qÞûö=õmÕWáÁáUvÍ):úœâã=õÆþš93Ãè8Pçmßî¦Ï>sÓòåÇe6;®êŒÐÐB}^³gû«oß\yxp#)'ÇI¯¿î¯Ñ£³VhtT#f³ôü󙊌l¨íÛÝtnuÞìÙþòô´+:úœÑQPÍ0?Õ óã¸V ܰ÷E„Fè«´¯t,û˜$Éáp(~O¼êyÔÓo[þ¶´íÁÓUb/ÑoæýF­^k¥ÛfݦÐY¡ ªþí/I:~þx™þ»7í~SA’d1[ô`‡uàô}ûÓ·’¤‹Eµnß:õhÖC-ü[ÜTÿ•¡KH—+¶5ôj(IêܹÌv³“Yõ=ë+37³tÛ‘¬#ªïQ¿´ è—z6ëyÕs.¾P-#TÏ£žÜ]ÜÕ.¨Þò¶îjr—²ó³•x4ñf. P h?B .hÓ›J·]^9è—…¼3J’žþðéÒ1ûò¸ÝêµV:sZ'.œ(Ó÷íõo¿©‚ ËXÅöb}ðÃ¥ÛþñÝ?äíê­Ú¶Ü}´z­Õ¯fÿ¥÷%Ž+QÕÙzŶËÅPWÝ'“ìUð‹¶ÉdRxp¸$êtÎéJï`¬!w ÑkŸ½¦U»WiH›!Ê-ÌÕ†” êаC™ÂÒòŒÙ…%eŸìYYcv—. Óû?¼¯?uÿ“ÒΦ難ß(ºk´l[¹úˆz?ꪫä]ËæèÍå.¾Ú¸ükû.ç—ÿ¦•©sÈ¥Âá_ ªN¿~¹Š‰9§É“ë©aÃbÝuíp«åæ:)&&HÅš6¹+\O‰-:¡1ciÖ,MštÆèHP'͜鯯¾rÓ²eÇåãS¾ß×P÷LŸž¡ÈÈFzôÑ ­^}L^^TôÛøE4IDATÀ­–”äªçŸ¯§ØØsê×/×è8¨¦˜ã1?Žò¢(P!=›÷Tϊ߯'»?©U{VI’†·^¦] ÿÚwjŸv<¹CžÖ[ûäˆ÷Ýv¿>þ÷Ç:sZ+v­PSߦº§ù=·4GUiâÓD{NîÑÁ̃W¬ôÅá/ÊÝÃáPRz’$©žG½JÍ0žÍG}oë«S>VÚ¹KÅ6yEyeV ’TZ ³dôuoÚý–猺3J“6NÒÖ[•x4Qf'³êôÐ-ÏQšø6‘$}yøKEvŒ,³ïFÆlI¥+ ¸TN8ÀuVii.zòÉš?ÿ„:wÎ7:ÔYYfÅÆ6йsf%$¤ËÍFqmmÛhúô __îîwV7¹ = œéí·ýô·¿ùè7N©cG¾7áÚl6‡æÎ=©aÂõØcAZ°à$Edp }û­«±[O¬}BSûNUû†íuöâY-J\tÕ•&.ÔÙ‹gu_ëûÔÄ·‰\œ]t(óÞýæ]%I”§ÕS]Cºp%€ª6²ýH}œò±â÷Äëë´¯e³Ø4ðöeÚ<Ðö-øzÆ8^q÷Ä©G³ pPv~¶ÒÎ¥iCÊÕ÷¨¯Ø»c«$ãà;ëµí¯iñÎÅ:y@½C{«‘w£r¿tôÒ*ÉUúµê§…‰ õÛÿO®Î®êÕ²—J%ÚøãFÍÛ1ïŠö;ÒvèƒÝhdû‘jÐR>®>:qá„Ö&¯Õ‚Ä’¤>·õ¹Õ—u–““4{ö)ÅÅÕWTTCM›vZC‡^0:Ôz‡YôØcA*)1iÉ’ã *6:j€Aƒrtñ¢“^z)@‡[4sf†¬V‡Ñ± V+(0iâÄ@mÜè®W_=­AƒrŒŽ„ (¨XK–Wtt† k¤wß=¡-ŠŒŽµÞš5žš2¥žzõº¨Ù³OÉÉÉèD¨î˜c0?ŽEQ ÂF´¡y_ÏÓ ›^PAqÁ+HÒÐ6CµóèN%$'è±øÇ®ÚϨö£ª,c›mÔ©Q'}þŸÏåaõа¶Ãªì\·ZÔQúp߇JÉHÑïWþ¾t»ÉdÒýa÷kCʆ2íÏçŸ×⋵xçâ+ú2›Ìš6`š<¬UžpëÝÝän…ø„hÙ÷Ë”S£íGÈÍâV¦MSߦz¥ÿ+zaó š´qÒUû‰¹+¦Ê2Z­Ýa´æ=_Ò¥ÂÞÚ¢]P;=ØñA­ÜµR6L(³o`Ø@}œòq™mÅöbmHÙpÅX~YÔQêÒ¥Êò®äêêÐÛoŸÔë¯ûi„@íÜiS\Üð$c¨l%%&­Xá¥7ßôS‹…Z°à¤üýy¿Eùu^!!E7®†o¤—^ÊTx8O2€ª”䪩Stü¸Eï½wBݺå 5Hhh¡ÒÛ@#Fë™gÎj̘ó2›)è€Ê–™iÖìÙþJHðTLÌ9=û,+«¢ü˜€[‡ùqTµÞPÃY­óM=Ø;XÝ›v×…‚ ò´zªëþW´1™Lšuÿ,Í2GÝ›v—·«·,f‹B|BÔç¶>š?t¾º7ë^¥9Çt#IÑn„Ü]Ü«ô\·’ÕÙªåc–+²c¤Üdu¶êöú·kþÐùêÙ¼çí¿ûq½Ü÷eué,_›¯œœÕЫ¡~wÇï´vìZÝ×ú>®¨ýòóMruå,;f›L&l?R9—žÒ9²Ý•…¼Ò¥…Vÿ~µ† T G œœè¨.!]4µïT=~÷ãUšóò˜¦Î!«ô\·ÚÔ¾S5ñ·ÕÔ·©,f‹‚½ƒwOœâm÷fÝ5oèFvЊÈFGPMœ¨'œµdÉq££À`+WziÖ,íÚu˜§o]Å᳇õèªG•™›©Ä?'ÊÍâft$uÌ_¸éRRÒaùøðƒÊ';ÛIk×zjËw%%¹ª¤„A*¢Y³"õê•«áÃ/¨eËB£ã *)‘>ÿÜ]~è¡/¿tSv6•@P>>võèqQƒ_Ð=÷\”Ùlt"ÔFº(>ÞSŸ~ê®Ã‡Yé*Âlv(<<_}ûæjÈ òöfΕùq¨Ìã²›) r®Ät옯õë=ŽQíÌù×ÍùלÒ×1wǘ@]–˜hÓï~wÁè¨:tÈWNŽ“’“­j×®Àè8ÕÆ7G¿QäŠÈÒ×ÝõA ñõ×65kVDAnˆ··]cÇfkìØlš”šê¢ÌL³rs¹Ñ®ÇÅÅ!/¯…†2þ¢Ê™ÍRDD®""råpHÇŽYtô¨³ÎŸw’ÃÁMKðkL&‡¼¼ì )VppŒÙ¨8‡n¿1€êÎd’‚ƒ‹\dtp>>v…‡ç\óãËäp8( €jæÔ©SÊÉÉ)wûBÔ®]fÍʨÂT€5aB ’“­úç?2: ª‰9sü´|¹—¶o?"›¯bP]lßî¦?þ1H7þ¤ÐP–d·N‹-*|,ëô@-›¥uë<•’b5: àg))V­[穘˜,££ ‰Œ¼´túÂ…¾FGü¬¤Ä¤×^óWDD.A F¡(jÁƒ/¨S§|½ür€Xÿ ª‡W^ñW»vù<ø‚ÑQPøû—hܸsZ´ÈGéé£ã$-_î¥Ã‡-š4éŒÑQnEAP ˜LÒ”)™ÚµËUK—zê¼%K¼•”dÓK/eÊd2: ª›¨¨lkÒ¤z*.æŒtèEo½å§GÍV³fEFǸ!@-ѦMÆ?«éÓôé§nFÇ€:ëË/Ý4}º¿Æ?£6m ŒŽƒjÈÙÙ¡wÞ9©äd«^x¡žÑq ÎÊÊrRLLš4)ÒOœ5:À £(j‘ØØs2䂯¯¯Ý»­FÇ€:g÷n«Æ«¯!Cr›etTc¡¡…zã %$xjî\_£ã@““ã¤ØØ ›ô׿žÍæ0:À £(j™W_=­ðð|=ôP#mÚäat¨36mòÐC5Rxx¾^}õ´ÑqPDDä꥗NkÎ?M™ROÅÅ&£#@žî¬‘#éèQ‹-:!ÿ£#TEAPËX,-\xB#Fœ×¸qõõÖ[~*(à&c¨*&½õ–ŸÆ«¯#Îká²XXmåy^óçŸÔGyè‘G‚”žîlt$¨Õ¶owÓ°aÁ2›JHHWhh¡Ñ‘*Ìäp8¸cª™S§N)''ç¦ûY±ÂK3gúËß¿D“&Qß¾¹•pÙ'Ÿ¸kÆ 9cÖĉg4fÌy£#¡†JIqÑÓO7бcÎúã³sN6_Õ ²¤¥Y4}z€>ýÔMƒåhÚ´Órs³ @-Z´¨ð±@5TYEA’”‘á¬Y³üôᇞ +ШQÔ«W®4(®”þ ®9yÒYÛ¶¹ëƒ<•’bÕàÁ4aÂYò¾Š›S\lÒÒ¥Þzûm_Y, ~Aýûç¨mÛ™XônX^žI;v¸iíZmÝê®-Šôâ‹™êÚ5Ïèh¥( €Z¦2‹‚.KN¶jÉomÞ쮼<'«I“"ùøØe21À¯±ÛMÊÎvRZšE'O:Ëf³«ÿ\EEe«mۣ㡖9sƬå˽ï¥ãÇåáaWhh¡|}Kdµ2fÀõää8éäIg>l‘ÝnR§NùzðÁl ˜+³™÷QP½PµLU]VP`RR’«öí³*=Ý¢ìl'ÙíUr*¨5œœ$//»BBŠtÇ ϧ8·DJŠ‹~øÁU©©.ÊÎvRAKÀõxx8äï_¬°°Buíš§€€£#\EAPËTeQ z¸™¢ §JÌà (¨a( jŠ‚€†¢  †¡(¨a( jŠ‚€†¢  †19‡Ñ!eåç竸¸Øè€*äááQác) j'£¸15 EA@ CQPÃPÔ05 EA@ CQPÃPÔ05 EA@ CQPÃPÔ0Î’V@ùý?üO-Û»iïIEND®B`‚fio-3.39/examples/libcufile-posix.fio000066400000000000000000000013171476262051600176530ustar00rootroot00000000000000# Example libcufile job, using POSIX I/O # # Required environment variables: # GPU_DEV_IDS : refer to option 'gpu_dev_ids' # FIO_DIR : 'directory'. cuda_io=posix, so the path(s) may point # to any POSIX filesystem(s) # [global] ioengine=libcufile directory=${FIO_DIR} gpu_dev_ids=${GPU_DEV_IDS} cuda_io=posix # 'direct' may be 1 or 0 when using cuda_io=posix direct=0 # there are no unusual requirements for 'bs' when cuda_io=posix bs=1m size=1G numjobs=16 # cudaMalloc fails if too many processes attach to the GPU, use threads thread [read] rw=read [write] rw=write [randread] rw=randread [randwrite] rw=randwrite [verify] rw=write verify=md5 [randverify] rw=randwrite verify=md5 fio-3.39/examples/libcufile-posix.png000066400000000000000000005014511476262051600176660ustar00rootroot00000000000000‰PNG  IHDR ík7Éœ9bKGDÿÿÿ ½§“ IDATxœìÝyœåÿÇñ÷9³ï3Œ1dÍ KÈ’h“-E*$†H¥Í¢R(Eö,#$ùþÂ|-‘i¨d)”} E2öuf0cö13çüþîïfÎ0¯çãáñ8÷u_÷uîûÔ¹æ\çúÜ—ÉjµZÀnÌŽ¸Û´ØI;€‘´ØI;€‘´ØI;€‘´ØI;€9;:pç:zô¨ºtéblÏš5KåË—¿îò‚àСCš>}ºþúë/%''ËjµªAƒ*R¤ˆ–-[&IªS§ŽÆ')ïk/,nçõ_ï{P´nXJJŠÖ¬Ycl'''ßP¹£8qBµk×V||¼M¹···‚ƒƒ˜ÿ÷ÓJA½–Ûåv]ÿ¼7¿^€B/,,ÌH )^¼¸¦Nª€€-ZT'Ntpt…ï ¸S‘´ì®L™2úõ×_íòåË;0škÛ·oŸñºqãÆzþùçí¨sçÎ’¤€€€Û[Au»ÞcÞp§"iØÝ™3gôñÇÛ³fÍÊ3©cÿþý Ó¾}ûT¬X1uèÐA-[¶¼¢^RR’.\¨?þøC'Ož”‡‡‡ªW¯®W_}UeÊ”‘$mÛ¶Mýû÷7މˆˆŸŸŸ$éĉêÔ©“±ï믿ÖÑ£G5lØ0íÚµË(_½zµ5j”k¬uêÔѸqãòuâããõßÿþW6lPtt´ÜÜÜTµjUuìØQ5kÖÌW—=zT]ºt1¶gÍš¥ÌÌÌ|Ý·³gÏ*<<\›6mRLLŒÜÜÜT¡BµlÙRM›6•Éd²©üøqÍž=[þù§Î;§"EŠèÞ{ïÕc=¦¦M›ÊÅÅERîïq`` :wî¬óçÏK’^~ùe½üòËF>}úhçÎ’¤Úµkküøñy^óêÕ«oú½¹Þk°'’v€Ý¥¤¤hÍš5Ævrrr®õÖ­[§*))É(›3gŽzöì©É“'eË—/W—.]csüâÅ‹õùçŸkóæÍªU«–âââlΛ™™i¼NMMµÙ—””¤˜˜›2IŠŽŽVttt®ñ:;çï§•¥K—ªK—.Š‹‹³)ŒŒÔ¨Q£4pà@5*_mIWÞÏŸþ9_÷mñâÅêÖ­›®hsâĉjܸ±¾ûî;c•šÍ›7«I“&6í^2räH•*UJÇŽË5¦ääd•/_^]ºtQ»víŒö|ðAU­ZU3fÌФI“$Iþþþš5kÖU¯ùfß›ë½v{3;:Px 0@TDD„ÍJ2aaaZ´h‘$i÷îÝzöÙg„råÊ),,LK—.Õ„ T³fÍ\“L$Él¾úO!7Ö¯¿þªzõêeO>ù¤~ýõWãßÓO?}]×´sçNµmÛÖHØéܹ³~øáM:U’¤Ñ£G+,,ìºÚÍ)?÷mûöíêСƒ‘´òôÓOkñâÅš2eŠŠ)"){嚎;Ç7θ—:tÐÒ¥Kõý÷ßkܸqjÑ¢ÅIH¹iÛ¶­ÞyçIÙ‰R¡¡¡úóÏ?2“ɤٳgç¹òÒ%7óÞÜȵØ+í‡éÝ»·,IjݺµöíÛ§M›6I’¦L™¢¶mÛjäÈ‘JOO—”½B˦M›dÓFjjj®í›L¦«ž?((HAAAF"‡$«Q£FÆöœ9s®ëšF¥ .H’žxâ Íž=ÛØçææ¦W^yE’4|øpõèÑC&“IÔæÍ›¯hkáÂ…*V¬Øåù¹ocÆŒQFF†$©lÙ²Šˆˆ0V£ Ò /¼ ){£íÛ·«víÚ6ÉO-[¶TË–-í~ýú]±ÒQ^F­Í›7kýúõÚ¹s§4h ´´4IÒ| V­Z]³›yonäÚì¤à0Íš5³ÙnÒ¤‰‘|²}ûvIÒ† Œý-[¶´IØ‘²s<==oq¤ù—3ÞØ$™\ZùE’NŸ>­($$D»víÒš5k®hëR²Òåòsß6nÜh³ÿRÒŠ$5oÞÜæø7ªvíÚjÞ¼¹~üñGIÒK/½¤Þ½{«bÅŠºï¾ûôÈ#É.×ââ⢠èPll¬‘°Ó¸qc 6,_mÜŒ¹v{#i8ŒOžÛ—VÏINN6Êüýý¯«}«Õj¼Î+ÆÞRRRŒ×GÕÑ£Gó¬{îܹ:G~î[Î8.¯ïåå%³Ù,‹ÅbS·wïÞŠ‹‹ÓW_}¥S§N)..N›7oÖæÍ›õí·ßjðàÁÚ²e‹J—.}Í‹+¦2eÊ(66Ö(«\¹²œœœ®ój¯ß\;€½‘´&**JuëÖµÙ¾¤T©R’¤råÊ)&&F’´cÇŽ«¶çââb³’’¢€€IÒ?ÿüc—˜¯%g¼mÚ´Q¯^½ò¬{ß}÷I’F­÷ßÿŠýÅŠËõ¸üÜ·²eËqìß¿ßæøƒI+—êJÙ«}üñÇúøãuøða8p@ÿüóÆŽ«Ã‡+::ZÓ¦MÓðáÃó¾õë×OÛ¶m³)›:uª{ì1uèÐÁ¦üµ×^3®!44T¯¿þú5Û¿š¹v{3;:Px?^‰‰‰’²“j,X`ìkÙ²¥$Ù$x¬_¿^ãÇ·YAgÑ¢EFBN¹rålÚ_¹r¥$)!!A#G޼%×p¹öíۯ׬Y#???5jÔÈøW·n]>}Z[·n•¯¯¯$©F6u.ýsssËõù¹o9ãX¾|¹þøãIRVV–>ùäcŸŸŸŸš7o.Iš9s¦,X ´´4•+WNMš4Q=ôè£õO:uÍ{®)S¦HÊ^iôèÑÆ¾îÝ»_‘@µuëV­Y³FkÖ¬ÑÁƒ¯ÙþµÜȵØI;Àa\\\T¶lYÕ©SGµjÕ2QõÁH’zôè¡ÆÇôïß_%J”Ѓ>¨ÀÀ@µk×NgΜ‘$•)SÆfšW_}Uµk×V¹råäééy[®©gÏžzüñÇ%IgÏžUíÚµU¥J=ôÐC*]º´üýýÕ±cG#¡èFäç¾õìÙS?ü°¤ìd•F©V­Z*S¦ŒæÎ+){e/¿üR~~~’¤ 6èÅ_”¯¯¯Ê—/¯† *$$D³gÏ6ÎýÔSO]5¶={öج”3cÆ 0À(KJJRÛ¶m•œœ|Ã×-7ríöFÒp˜I“&©]»vÚ¹s§ÒÓÓ%Iµk×Öo¿ý¦%JH’\]]õóÏ?kĈ*]º´$)::Z[¶lQRR’^ýuU­ZURv"ÆìٳĬ¬,íÞ½[:uÒÔ©SoË5¹¹¹é—_~ѰaÃT²dIIÙ«álÚ´IÇ—:wî¬Üð9òsßÜÝݵråJ 4HE‹Uff¦vîÜ©“'OÊd2©AƒZµj•BCCv»wï®—_~YÞÞÞ:|ø°6lØ H’J—.­/¿üR/¼ðBžq]žóÆo¨]»v’¤‰'êþûï—”ØóÆoÜðõ_Ë\;€½™¬V«ÕÑA€;SJJŠ6oÞll׫WO^^^×]«(00P!!!W=çÑ£GuòäIyyy©bÅŠrww¿¢ŽÕjÕñãÇuòäIU¨PAJMMÕ¦M›Œ:uëÖ•···$i×®]:wîœ$)88X÷ÝwŸQoß¾}:uê”$) @5kÖ¼êµ_îÈ‘#:yò¤ÜÜÜtÏ=÷(((H&“éª×x¹þùGUªT1¶wïÞ­êÕ«çû¾Y­Víß¿_gΜ‘«««î½÷^)RäªõO:¥ãÇËb±¨dÉ’*S¦ŒMÜ®?))I{÷î5Êzè!›÷çÔ©SÚ·oŸ±Ý A¹¹¹iëÖ­JJJ’”½ZÒ½÷ÞkÔ¹‘÷æf®À^HÚ(àòJÚ@ÁevtÀ݆¤ÀΜ®®L™2úõ×_íòåË;0ä‡ÉjµZp71;:ànCÒ`g$ívFÒ`g$ívFÒ`g$ívFÒ`g$ívFÒ`g$ívFÒ`g$ívFÒ`g$ívFÒ`gÎŽp¥èèh%%%9: (Ô*T¨pÃDzÒ`g$ívFÒ`g$ívFÒ`g$ívFÒ`g$ívFÒ`gÎŽpûY­Òñã.:vÌY N²Zl&“U¾¾•.©R¥2d29:"ÜÍâãÍÚ¿ßU NºpÿØàZ¼¼, ÌRHȹºòå$í@!‘•%ýö›—"#½µn§ÎŸg±5¸~~=úhŠZ·NÒã'ËÉÉÑán°¿«.ôѯ¿zéÐ!G‡w$''«êÔISóæÉzþùDùùY(äLV+ë+@A­¤¤$»µ·j•—FŒ(ª£G]T¿~ªš4IѤ©lÙ ùùeÉLþ\•Å"?ï¤#G\´c‡»V­òÔ¦M*S&CƒU“&ÉŽw¨#G\4bDQ­Z奲e3ôä“Ézè¡TU®|AY¬ùœlÖéÓNúûo7­]ë©+¼d±˜Ô½{¼ºw“‡Ÿ¥àÆU¨Pá†%i {%í9⢡CõÇžzæ™$õésNeËfØ!BÀ‘#.š8±ˆ"#½õðÃ)úä“3|Æ"ßÒÓMš<¹ˆ¾ùÆOåÊeè½÷Îê±ÇRd29:2¸ó%'›î«)SäëkÑGQóæ$Ø€CÒÜeì‘´³~½‡zõ VÉ’:ôŒêÖM³St€œ¶nu×'ŸêäIMž|Z ¦::$pgÏ:éÍ7ƒuà€«úö=§ÐÐ99ñµ ìíÌ'[T‹ùè7âÔ¿ÿ9’#Àu»™¤³ãóçûê•WJè±ÇRôÝw'HØ€[¨nÝ4}÷Ý =öXŠ^y¥„æÏ÷utH(ÀöïwUÛ¶¥t.<®—^:OÂÜ"Y92F£FÅhæLõꬴ4²vÀíCÒÜe"#½õÑGÅôöÛñ?>ZnnL€[ÍÍͪñã£õöÛñúè£bŠŒôvtH(€NrV×®%œ©E‹N¨B… G‡…B›6‰úöÛ“Ú¸ÑCï¾[\‹£#…I;pÙ½ÛMƒé•WâÕ»÷9™xˆ4Ü6&“Ô»÷9uë¯÷ßÒŽîŽ HjªI=zËÇ'K_}uJþþYŽ •zõÒ4mÚ)­^í©/¾(âèp@!AÒÜ%âãÔ½{ 5h¢÷Þ;ëèp Ðzÿý³zøá½õV°âã ˆAƒ‚tℳfÎ<%__–xG¨[7MŸ}«iÓ´|¹—£Ã…I;p—øâ‹™ÍÒøñ12óé“ó³ø‹/ €M›<é­Q£bTªT¦£Ã€B­M›Dµm›¨áÕšÊÒ¤àÖbZ7ÜöïwÕ¼y¾0଼½yz?8š··Eï¾{Vóæùiï^WG‡ÊÊ’>ý4P'«Q£G‡4`ÀY%&š5cɵàÖ"iîcÇQõêôÜs‰Žwˆ?þX!!! Qhh¨£Ã¹BŸ>}Œøzöìi³/&&Fýû÷Wƒ T©R%£ÞÞ½{íÕ™“’ä½l™Š¿óŽÊת¥ !!Æ?SVÖUu9tHÅV™&Mtoõê*W¯žîyáùÍš%s"ÿ¿tÏ?Ÿ¨êÕÓ5aBG‡ZºÔGQQ.4謣CA!nôuëÖµÙ—‘‘¡qãÆ©qãÆºï¾ûŒz³fÍrP´×æ¶w¯&MR©gž±éC‹ŒÕãLYYò]°@%;wV¹ºuuoµj*Ó´©‚ú÷—ûöí·)zTE‹féí·ã4c†¿ÎŸgh Ü:ÎŽpsNŸvÖo¿yi„h™LŽŽ¸õÞ~ûmýù矎#ߊ.ß… ¯û8Ÿ… Uì£l{œÒÒä'÷;ä|ú´Î~ð=C…™LÒ«¯Æ«oßâ:}ÚYÁÁ™Ž î«fÍ’U®\†£C4aÂMŸ>ÝÑaä›óéÓ*õÌ3×}œS\œ‚_{Mî;wÚ”»>,—Çå¡C»vÉâéi¯Pq MPXX€–,ñQ×®ç¸K‘´w¸•+½äáaQӦɎ¸åNž‹]û«UŸ~š°#)¾[78ÐØ^µªÒ«Vµ{œ¸5\\¬jÐ U6x´SmÚä!³Ùª R ‘ÐÐP…††æº/g?Z§N‚°#)³xq‹Œ¼®c¼úI›7K’,^^:9{¶²‚‚²·}}•Ù¬™’›5³{¬¸3=úhŠÞ{/H.˜äêÊ÷)äíôig­Zå¥ <´w¯«ÎœqRr²ÙÑa@çæf•ŸŸE+^P­ZijÜ8E5k¦9:,ÜEÒÒLZ³ÆSëÖyêï¿Ýt옋̲Xlf³äëkQéÒªV-]>š¢ÇO‘»;ßa?;wºkõjOíØá®¨(W?oVzzÁþM //‹³T¥Ê5hª&M’œéè°pa¼n ãݸY{†àšþùÇU­[':: \Ô§Oã)ö-Z´Ð!C4bÄýþûïŠ×öíÛ5}útMŸ>Ýæ8롇R÷îÝU¦L™«¶;bÄ=ZË—/Wff¦*Uª¤wÞyG 4°9îï¿ÿÖ¸qã´mÛ6™Íf5lØPƒr$‘äôâ‹/jÛ¶m’¤×^{Mï¿ÿ~ž1´jÕJ&L$%%%iöìÙZ±b…<¨´´4+VLõë×W÷îÝU¹råë¾Gƒ¶©¦‡~XÑÑÑ6mÕ«WO’äïï¯Ò¥Kk÷îÝ’¤Þ½{«wïÞ6u_{í5ýöÛo’¤:賎ðÏ?®º÷Þ yxðc÷ÝnüøñúòË/%I÷ß¿¾ÿþ{›ýááá2dˆ$)88XkÖ¬‘“““,‹"""´dÉíÙ³G òññQ5Ô¹sg5nÜ8Ïvüýýµ~ýzMš4IK–,QLLŒ¦L™¢ØØX›:[·nUÿþýaÓVÏž=×>ú¨Ö­[');!6<<ܦîŒ34jÔ(IÒ½÷Þ«_~ù%Ï{á;ožŠ}ô‘$Éâé©ãK—*ãâß5ÞK—ªø;ïH’¬îî:þÝwºpß}W½·×ËgñbãuRëÖF›êÕ/(3Ó¤\T¥ÊG‡ƒèŸ\5aBýú«—ÜÝ-jÐ UÏ=—¨àà,y{3®%=ݤ¸8'ýû¯«""¼5eJ€*V¼ 7ߌWëÖ‰,~ˆ–˜hÖ´iš7ÏWIIfÕ¨‘¦zõRÕ®]‚üý-23×®Êb‘âãÍ:rÄE;v¸káB_y{[Ô¡C‚Þ|3N>>|ßÁ±Z¥~ðÑ´iþÚ¿ßU¥Je¨Aƒ4=ñDв俯X9\KR’Y§O;éï¿Ý4zt ¨'žHÖ;ïœÓ}÷1ŽÇx7ÜÆ»q³HÚ€;\t´“J”à©Q||¼Ú·o¯ãÇ_³njjª:¤C‡)""B ,Ð}yLbMLLÔ‹/¾¨ýû÷eÛ¶mÓË/¿¬%K–¨J•*FY×®]•–ö¿ŒîåË—kûöíªY³æ톆†I;0`€œœœ$I Z¹r¥Q·S§N’¤#GލK—.:qâ„M[§NÒ’%K´lÙ2?^O=õÔMߣkéÖ­›úõë'Iš7ožzôèaįßÿݨûâ‹/æÙŽÅËK§ÃÂTªm[™RSå®”ÇSrÓ¦*úùçFÂÎ…Š;|øMÇ}9÷íÛÿ‹ŸŸüæÍ“ײer9qBVWW¥Õ¬©øîݕڰ¡ÝÏ[£D‰,ÅÄ89: 8@l¬3}t!Ñ¡CMŸ>]YYYÚ½{·þý÷_UªTÉØ¿(ÇJk/¾ø¢œœœ”––¦7ÞxCüñ‡M[ñññZ»v­Ö®]«nݺéÃ?Ìó¼½{÷¶éŸoT×®]µ~ýzeeeióæÍŠŠŠRHHˆ±ÿ‡~0^·oßþªm%tè ÷mÛäóý÷2§¤¨xß¾:±`œO2’y$)vØ0»'ìH¶ý¨)=]%ºw—Û_ɯÌ{îQò“O*î­·dñö¶û¹qç¹ôtÂØXg’v`#>Þ¬/¾(¢yóüT½zº&LˆVӦɬp 7鯿Ü4{¶Ÿ Òܹ¾2䌪WOwtX¸ƒX,Ò¢E¾;¶ˆ¬V©{÷xµk— ÀÀ,G‡w´3gœôÝw¾úæ?}÷Þ}÷œÚ¶M ×寿Ü4lX vît×sÏ%j̘þÖ€›”‘aÒÊ•^úúk=ûliuèp^}ûž“¿? È?Æ»àÖ`¼׋a¸Ã¥¥™åéÉ©‚hãÆª\¹²V¬X¡ÿýWQQQòõõÕ€eüÛ»w¯–/_®Ç{L’”’’¢qãÆåÙîü¡ZµjiÓ¦MŠŒŒTÐÅ'ÈgeeiöìÙ’$«Õª>øÀHØ Ñ²eË´mÛ6uîÜ9× ¾O=õ”$I±±±Z³f±oÙ²eJOO7ÚªW¯ž,‹zöìi$ìÔ«WOË—/×®]»Œ'ügddèÝwßÕ©S§®ëåuÝóæÍ³)Û²e‹¢¢¢´uëVµlÙRÁÁÁ’¤˜˜­X±Â¨÷ã?*33{Rf•*Utÿý÷çy%éB¥JŠýôSc»ØÈ÷¿ÿ•ßÅûkñòÒé)Sdñð¸j;7Â96Öxm>^“&ÉõÀ™ÒÒdNHçºu*Ùµ«|çεûÙµ· IDAT¹qkxzZ”’Ÿ݅QjªI š%K–Ôã?nlçLÒ9xð vîÜ)Irrr2GÇŒc$ìiîܹڽ{·¾ýö[ùød¯Î5kÖ,ýüóϹž3>>^‡Ò¼yó´gÏEEE©Y³f¹Ö7nœ¢¢¢ŒdVI 3þiÔ¨‘ž|òIcßÜ}Ì´wï^I’‹‹‹Ú´isÍû;l˜.\LZrÛ¹SEÆŽUPŸ>2'%IÊNìIÌG;×Ë”ž.sâÿV ôY¼Xž¿þ*§ØX™22ärø°ü§O×=mÛÊo÷óãÎãé™ýœL?ÿÙ±Ã]-Z”ÑŠÞúüó}÷Ýq=õT?`€T¯ž®Q£b´dÉq99YÕ¦M)M›æïè°p‡HH0ë•WJê£ÕªU’V¬8ª7ߌ#aì 00Ko¾§+ŽªU«$}ôQ ^y¥¤ø¾Œü™6Í_mÚ”’““UK–רQ$ì€=¸¸XõÔSIúî»ãúüó­Xá­-ÊhÇwG‡†;ãÝpë0ÞëÅ( Üá¬V±´^  &¨|ùò2_åqd...ªP¡‚ºvíj”mܸQVkî_’‹-ªO>ùDE‹U•*Ul& >|X’´{÷n¡ÁƒÏÈχd€½ùùY4xð-^|BQQÙŸ½Gº8:,`&½÷^¾ø¢¨>üðŒÂÃOªJ’uÀÞL&©M›DýòËQÕ¨‘¦ÎK*2ÒÛÑa¡€c¼nÆ»‘_$íp‹T­ZU¹¬Ä«Q£F©uëÖzàT¹re…„„ØL–MMMUÒŧÑ_®J•*6“s½½ÿ7“’’"I:tèÍ1ÕªU»"¶ÜtìØQ¦‹ßÒW­Ze<ÅÿÏ?ÿ”$yxxè¹çž“$ýûï¿6Ç6nÜX!!!Æ¿¿þúËØ÷Ï?ÿäz¾¼îÑêСƒÑÞ† tðàA:uJ[·n•$¹»»«õ¥Ä—|83dˆÒ«T±);ߥ‹’žzÊn1_ÎrÙJCñ¯¼¢Œòå•åﯳï¾k”›ÒÓåyq…€ã=úè£*Uª”$éÌ™3Z³f,‹–,YbÔ •$8qÂè³%éƒ>°éCgΜiìË«uqq¹æÊq×£fÍšzà$IIIIŠˆˆd›´si• üÈ(_^±#FØ”Y¼¼t:,LV;$åÆâé)åXM(³dIÅwë&‹——RzHÉO?mìó\µê–ÄàÎ5¾¯úõ+®NÎkêÔÓòöf"0ÜJ&“Ôµëy}õÕ)-_î¥·Þ V ¦ Gº¨]»{äéiÑâÅ'T­àV«V-]‹Ÿ§§EíÚÝCâr••%½õV°–/÷ÒW_R×®ç™ ·˜··ES§žV§NçÕ¯_qÍŸï{íƒP(1Þ ·ãÝÈ’v¸E|||®(KHHÐóÏ?¯3fhÏž=JLL4žÄ¹ÌÌÌ\Ës&éHºéjr*]º´yäIRFF†"##mVÉyæ™gr½®kÉ919§iëjüüüÔ¶m[c;<<\K—.5V-zúé§¯ëœæóçå|æŒM™ëÞ½º•U_¨XÑf;«D ãufñâ¶ñ%&Þ²8×Çl6Û¬æ¶xñb­_¿^§OŸ–$•+WN 4¸îvóêC½¼¼ìú7€d»ÚÎܹsµk×.9rD’TªT)=üðÃ×Õžë6ÛæÔT¹^–XlWf³.T¨`l^ÞoæÜ¦Óúõ:4P½zÅiР³9óÿ·Øã§èÛoOjÓ& èèpPÀ$$˜Õ½{ ÝsO¦ÂÃO*((÷ñR€ýeöÞsO¦ºw/¡„¦–ÀÖðáÚ´ÉCß~{R?žû&Àþœœ¤AƒÎªW¯8 ¨õëí÷TÜïÇa¼WÃÈ ·ÑêÕ«É»f³Y_}õ•þúë/EEE),,Ìnç)_¾¼Íößÿm³½gÏž<íÔ©“ñzáÂ…6+äÜWñ²ä’µk×****×ß|óÍ ]Çxùå—IÌ‹/ÖâÅ‹}׳B€)+KÅ{÷–Sl¬$Ézq$ÃcË7ÎŽÛJmÐ@V77cÛéÔ)ãµst´M݌ҥoY€ë×¾}{¹¸d?ytÕªU6ý_hh¨±šÝ=÷Ü#OOOc߸qãòìC/ïÃo¥fÍš«íÝ»WÇ7öµoßÞˆ??<×­SÀÅ¿m.õ¡²XÔ¯Ÿœsômö–Ò¨‘ñúò~3çvf™2·,w–#G\Ô«W°žz*Y½zst8P(Õ¨‘®1cb4gŽŸÂÃyJ0²Y,R¯^ÁJN6iúôÓòðà©Àp»yxX4}úi%'›Ô«W°,|ã¢ðp_Í™ã§1cbT£«à€#ôêuîâ˜f°ŽaUñÄ*qqu—={öIF5kÖTµjÕŒzµjÕR•*UŒí>}úhçÎJKKS\\œþþûo}ûí·êر£víÚe·k»–råÊé‰'ž”½²Ñþýû%I*TP:uòÝN‘1cä±e‹$éB… :ùßÿÉ4þ3fÈkÕ*;GžÍâç§„Žmÿo¾‘ËáÃ2ÇÇÛ$ e+õVlÜ:EŠQ‹-$e¯X·víZI’›››Ú´icÔsqqQ»víŒíÏ?ÿ\«V­Rbb¢’““¥ÈÈHõèÑCÿ÷ÿwÛâwrrR×®]ímÛ¶å9ã½ç“'Ô·¯.Íäˆ1BI­Ze·§â½zɔNJ‚7ëüK/Ér1!ÊùäIùÏš%sJŠ<6m’×?õs¼ ·?TÉ’92Fב›°³-’ôÖ[q9²¨bbœ¯}îz‹ùjãFwMŸ~švÀ‚‚25}úimÜè®E‹˜l)&ÆY#GÕ[oÅ©E‹$G‡…–É$£’%3ôñÇ<ÉÙñn䆤n£GyDAAA’¤¬¬,½øâ‹ªZµªÚ¶m«ÚµkÛíG‚,€ÂkåJ/ýþ»§† 9+77«£Ã€B¯G8eiÔ¨"Ž–”dÖøñEÔ¥K‚ªUãéýàhÕª¥ë¥—4vl%$0Ť°5ª¨ŠÍÒÛoÇ9:(ôÜܬúä“3úýwO­ZåuípWc¼ Æ»q9Ò·¸üýý®qãÆiË–-JJJRÅŠÕ³gO¹»»kÁ‚v;W½zõ4oÞ<7NÛ·o—ÙlVÆ 5hÐ }}1!%/íÛ·×äÉ“•••%IòóóSË–-¯¨W®\9ýøãš3gŽV®\©(%%EE‹U‰%T·n]5oÞ\5kÖ´ÛuåGýúõUµjUíÙ³G’äêêªçŸ>_Ǻ9¢ í3ƒéBåÊ’¤ó:É}ãFyÿô“Ì *Þ£‡N,\(«««]ã·zxèÔ·ßÊwî\ù,Y"—dÊÈPf‰JyüqÅwï®Ì‹ÉR€‚¥^½zªX±¢±Ò›”{"‡‡‡þóŸÿ(22RK–,Ñž={/«jÕªjÞ¼¹yä‘Û¾¼½½Õ¾}{Íš5Ë(Ë-™7/E?ûLn;wJ’2Ê”Qì§ŸJ’,^^Šž4I÷¼ð‚L.ÈïÿþOiuê(éé§í{’’›5ÓñˆLŸ.÷ ätžžJ¯ZU íÛ+©uk»ŸÀ'+Kúüó¢zæ™$Õ«w{$qçÛ¼y³Íj¹ááá·õü«V­ÒÌ™3%I>>>š>}úm=ÿ­ä#¯U«äùÛo2'&å'gÏ–œœò<Δ™)¯Ÿ–ÇúõrŽŽ–ÅÃCåÊ)¹eK¥çX%›««UžUÁêÚõ¼jÔ Y£°š:5@YYRÏžç îpÿùÏôË/¿H’ªV­ª>úÈÁ]GÇO¿Œœzõ:§~ðÖôé0ଣÃìÚå¦~ðÖ”)§™ »›9Öt§sÝ¿_^+VÈcóféÂIÒ…Ê•ufèЫç/ï¥Kå¾}»ÌçÎ)+0P*VTÒóÏ+3ŸÚÂݯví4=óL’FŒ(ªF’¯ögîbŒwãN‘˜˜¨7ÞxÃØ¾Ýcëý2nÆ»q9“Õjå›40ÑÑÑJJÊßrâ!!4iR´ž~šåÇœÂÂÂŒIT­Zµ²™PÜN?þè­Þ½‹+*êÀµ+ã®Ò«WqIÒäÉÑŽ¸>[¶lQÇ‹+Ñ/^\k×®•¿òà.Å÷©ÂkÕ*/½ùf°V®<ª²e3î0?ÿü³zöìilGEEÝÖ󇇇kÈ!’²²uëVIR||¼Þ~ûm£Þ°aÃr[c»E¾øB_~)åò“ÅÁ}ûdÍãï×½{Ü£‡\ŽÍuÿÙwßUü›oÚ5VÜZÏ>[J•*]И11Ž–fÒ×S÷îñzóMžà›óñÇkΜ9’¤|Ð!“n†#ã§_Fn¦M Ð×_ûë÷ßËÝi&…Ñ»ïiÿ~WEDwt(¸ õéÓGË–-“$µhÑBaaa’¤ 6hòäÉ’²ÔøŸÿüÇQ!Þ{:v”û–-W”§Õ©£óççyœwD„Š *s.óF¬NN:9gŽÒêÕ³k¬¸s9⢦MËhúôÓjÜ8ÙÑáÀïÆ"..Nõrô_·{l~ŽÀx÷Ý¥B… 7|,+퀻ŠÕjÕ±cÇôý÷ßeݺus`DÜ9âããm~ôìÚµ+ ;îJ‘‘Þzè¡T~ÀÄ]%##C›7o6¶óû@˜‚Â)&FYÅŠ)¹qcÉl–o>&&»=ª{BC§ÿ§=ð€ÛµSfP\–çªUrŠ¿Õ¡ÃÎÚ·OÐÈ‘E5|¸I®®L.lÖ¬ñTR’YíÚ%8: P£_FnÚµKÐ_ÑÚµžjÞœ Á…MzºIË—{éý÷Yi ·×Ù³gﺮ®®Žæú9ÅÄèBÅŠJnÚTîþ)‹« ]÷O?©ø»ïɳIÏ>«äÇ—ÕÝ]®ûöÉ'2Òf< lÙ Õ¯ŸªÈHo’v )Æ»ü¡_†#0ÞKHÚw¥K—êwÞ±){öÙgU³fMEÀ!66V 4°)+_¾¼^zé%E·ŽÕ*­[穞=Ï9:à†4mÚÔx’—³óÝ3Ä®_?ÅŽ!™LòY´(_“ƒ‡ 1~Myâ š>]2›³·%ÅwëÆ¦w &MR4th1mÙ⮇Nut8¸ÍÖ­óTi Ìrt(@¡F¿ŒÜf©F4’v ©-[Ü•šjV“&)Žw©^½z)44T’T¤HGc?'þû_eI’‚¼f}sjªŠ lL >;`€âßxÃØŸÜ¼¹âzô9•ïJ°Õ¤IŠÂÂdµJ&“££ÁíÄx7ôËpÆ»qÉÝó‹ÀEf³YÅ‹W«V­Ô¯_?G‡À% @ 4Ð| G‡vw옋Ο7«vítG‡‚ˬZµJ3gΔ$ùøøhúôéZ·n–,Y¢˜˜õéÓG...5j”Íq®®®*Z´¨jÕª¥gžyFþþþ×lwÇŽš?¾Îœ9£Ò¥K«}ûöªR¥ŠÍq‹E?üðƒV¯^­äädU­ZU]»vÍ5öýû÷kèСF<3gÎ4V«;v¬¶oß.I4hªW¯.Iúå—_ŒîBBB4lذ|݃óçÏ_Qç³Ï>ÓÎ;mb2dˆ¼½½%I<òˆÞ~ûmcß±cÇ©={ö(11Q>>>ºÿþûÕ¶m[^õ}ºÄœœ¬ ~ýŒÉ·‰mÛ*±m[cà§ŸÊuï^IRzµj:ûá‡Wm/«X±|÷—#GäùûïÆöÙŒ‰Á9Y||®«]8^pp¦‚ƒ3õ÷ßnüˆYíÞí¦úõyß ºÉ“'kÃŧÑÖ¯__={öÔ‚ ôûï¿+>>^3fÌÐ?ü ~øÁ8Æd2ÉÃÃCÁÁÁz衇ôä“OÊÅÅåªíöéÓG‘‘‘Z¾|¹233U©R%½üòËWLäMNNÖœ9s´mÛ6™Íf5lØÐ˜ô{£ñ{zzJ’¶oß®+VèàÁƒJOOW`` êׯ¯Ö­[ËÍÍͦÝyóæ]÷5ßHü¹¡_ÆíR«Vš¶mc¼¨0úë/7•(‘ýw ˆˆÍŸ?_’T½zu 4H’dµZõÚk¯)55UÎÎΚ9s¦ÑÇMœ8Q›6m’$=óÌ3êØ±c¾úÞŸ~ú銿BCCuöìÿVwÊÈȰé#»wï®'žxÂØ¾ž~;/®{÷*ð³Ït)óáìG)ýâx99YÅûö•éâʶ‰/¼ Ä矿j{—&ç—÷Ò¥2_\™.«X1íµ++™Í²xy]W»¸û=ð@šÎŸ7ëÄ •*Åj+… ãݤ“'OêÝwß5¶G­´´4Í;W‡R“&MŒ‡5&$$(22R;vìЙ3gäêꪊ+ªU«VWŒ‘gdd\1&îââ"U®\Y­ZµRùòåsiË–-Z¼x±NŸ>­R¥J)44TÁÁÁ×u]ô˸0ÞKHÚwV­Z©U«VŽ€;N±bÅåè0à¶8v,{H´lY~¼.h¢££µyófI’¿¿¿¦NªqãÆû»té"777£Îå"""4qâDÍœ9ÓfÅÕËÛ;w®>ùäY,£Nxx¸¾ùæ=üðÃ’¤¬¬,½õÖ[Z½zµQgÍš5Z´h‘^~ùå+Î]¶lYíÞ½[©Ÿ¨·gÏÝÿý²Z­š?¾âââŒ6.%íüøãF\÷ß¾ïAll¬MKçÛ±c‡ML{öì1^—(QÂx¦É“'++Ëv‹ŸþYaaa3fŒZ´h‘Û-¶añòRâóÏ+¸gOI’û®]J¯YSBBä;¾üþïÿ²ëùú*vôèk¶w½<.N»t§sçTlèP9?.«««ÒjÖTbûöʺ‹žÐ\˜”/Ÿ¡ãǯœØŽ»ß‰.*[6ÁÑaࢢ¢Œ¾ÈÏÏO¯¿þºÖ¬YcìÏÌÌÔ±cÇòì³çÍ›§*UªhöìÙ6ɶ9Û Pÿþýaì_¹r¥æÍ›§Ÿ~úIE‹•”Ýw†††êÈ‘#6õ~úé§<'å'þÔÔTõë×O+V¬¸âø%K–èË/¿ÔW_}¥Š+å7rÍ7nè—q»”+—¡ï¿'ùª0:qÂEåÊñ=º°)Y²¤Ñ·íÙ³Gï½÷žœœœôï¿ÿÚô;wîTݺu%IóçÏWLLŒ$鵋[óÓ÷æ¬s)A÷ò~ÕjµÚ”=÷Üs’tCýv^.T©¢ •*ÉoölIRÐ;ïèxD„¬îî*6dˆ]¯¿þºæXÆb±äù=÷ÒxòСC¯xðÄ´iÓ4vìX›²ï¾ûNÆ »®ë¢_ÆÝ‚ñnH$í(D’’²Ÿøíãc¹FM8Rbb¢¦M›¦¾}ûªFruuU¥J•d2™4wî\£^VV–bccµ`ÁmÚ´Iñññ0`€–/_.“É”k»“&MÒ'Ÿ|"3F'NœPVV–Æo$í̘1ÃHØ1™LzõÕWõàƒjýúõš0aÂíºººª^½zZ»v­$iãÆºÿþûµoß>#açRy=Œ×—<úè£ù¾?ýôÓu¬£GmKÒ'Ÿ|bü{iõœ¹sçñ»¸¸è­·ÞR5´cÇM:U©©©zçw´hÑ"U«V-×÷&§ä-t¾[7ùÍš%SZšŠ÷í«˜Ñ£³Ÿ~˜}ó=v¬2J•ºf[×Ëùøqãµ9!A%;w¶Ùïµb…ü¿þZ§¿úJiµkÛýü¸µ||,JH¸r…ÜýMòõ¥¾“üúë¯ ÖgŸ}¦²eËÊl6ËËËK:tÐc=fÔËÈÈÐÑ£G5cÆ ;vL{÷îÕ˜1c4|øð\Û]½zµ*Uª¤I“&)::ZcÇŽUúÿ³wçqQ•ûÇ?ðïÈ®¸*î¦"ˆ™æšÞJ[l¹·¬Ìò’¶þÔÊ´2Û®‰Vj¥f¶˜š™-š™æ¾à‚¨ Š,² ²/Ãüþ920È@ƒ }߯W¯ËyΙó<ß9Þyæœy¾ÏS\LVV_|ñ…2ˆè•W^Q^ìííyþùçñòòbݺulÚ´©ÞíŸ9s¦2ð×ÃÃéÓ§ãååŦM›øí·ßHHH`Ê”)lÛ¶MY¥¶>1ÿÝöW&ý²¸ËÉÍ•>úŸ(7×Lî£ÿúôéƒùùùäååqúôizôè¡w? ºûÛ~ýú«$옛›3pàÀj笩ï5ä믿æÀ,]ºT9ç—×Q%Áõ•W^©s¿}#™³gcuò$ÖXÆÆâ¶`E½za-™XãìLÊÒ¥h ¬ ÷wUîSmwíÂv×.½ýö[¶à¼f É«W£¹–Ä,\Ö)÷Òÿ<ò¼[òÞ{ïqÏ=÷pûí·coo——QQQ<ûì³”–ê¼&L˜ÀرcIIIaÑ¢E\¹r…+Vàíí­¬Êcaa¡÷<^«ÕrõêUvíÚÅ÷ßF£aÞ¼y :”–-[º•ï*ODuÇw0qâDy÷Ýwë‹ôË¢9çÝ$iG!„B!„Bñ¢Ñè9Ôjm#·D܈F£áwÞa̘1Õö 0 ZYHHˆ2«o\\111gЭ8ï°aÃÈËËãÕW_àìÙ³hµZT*k×®U^3~üxþïÿþ€aÆ‘’’ÂÖ­[«;88X/içÉ'ŸT2yxx––ƱcÇ())áâÅ‹ddd`eeEÿþýëôTåïï¯$æTèÖ­½zõR¶µZ-Ÿ|ò‰²=mÚ4BCC:t(ÉÉÉlÚ´‰²²2–/_NXXX­õd¾ò VX;†eT­&NDU\ À•§Ÿ¦àÚ{mjfzÛåNNd¾ô\–.Å** uv6^Ó§¿cZ#f‰¦C­ÖRe1(ñ¡Ñ¨P«»¢.Ôj5ß|ó28§BëÖ­iݺuµã]]]•$Óßÿ½Æ¤µZÍÊ•+•uNž<É–-[ˆŽŽàÒ¥KìÝ»WyÍìÙ³¹ï¾û¸ýöÛ Q×¥ý.\à×_U¶?úè#n»í6@÷ãÔ©S$$$œœÌ?üÀC=T¯˜MÑþª¤_ M­¾~O%þY4¹þ'R«Õ 8;vº{ÝÊI;÷ºdúôéìß¿_ymŸ>}°µµ5xNCß 0`éééʶ™™Yµgõí·oDkaAê’%øŒ:;Ço¾ÁaãÆŠF¶heF´¿>ªö©%]º5}:êœZ¼ÿ>êìl,£¢pŸ5‹”+¤ âÖTñ-ýô?<ï†Lš4‰yóæé•Íœ9SIØ8p ^b¥¥¥ò ü“O>áá‡F¥Rì{î¼óN"""8{ö,†?ÿü“‡¯MÞðõ×åH IDAT_£Õêþ=¶jÕŠO>ùõµ‡=æææÕÚUé—Es Ï»HÒŽB!„B!„Bˆ&ÆÌÌŒ#FÜwúôiþøãbbbÈÍÍ¥´´”òrý™$ &í¨ÕjBBB”m×J³ßQTTDaa!)))Jy`` Þ9 d0i'((HùûÈ‘#h4e Ó<Àš5kÈÎÎæÄ‰DEE)Çöïß++«:½õ‘œœLjjª²ýûï¿ëÍŽœœœ¬ü}ôèQ£Ï«57×ýhz×]¨³²”Á…ƒ‘5c† ZnXy•Á_W¦MãêPÖº5>ãÇ NKÃvï^òMø^ !„¸. Àà [­VË_ýž}ûHHH   €²²2®^½ªsåÊ Îx ×OWþ»b»Ó§O뽦rŸmaaA¿~ýôñÛþãÇëm/Z´Ho¿Ê1;vLü[טMÑþª¤_BajÁÁÁzI;O<ñ‡`êÔ©¼ùæ›?~œââb8 ÷:CjúîP_õí·kSÖ²%i‹á=e ”—_O‚>‚b3…ª}jÚ;ïPè»^KþµÛµ uv6gçk‹Bˆ[×È‘#«•Uî3/]ºÄäÉ“•í¼¼<åïôôt.]ºDÛ¶mHMMåçŸ&**ŠÌÌLJJJÐjµ$%%)¯I¬´"Må{Ý( ;PýY»±¤_B4’´#„B!„B!„¢IqttÄ¢Zù’%KX¼xq­¯/¾ö£]Uz?ª«,ç Õj)**Ò+³³³ÓÛ¶··7xîŽ;âééIjj*DDDpäÈ@—è­$Êœ9sFy]ådŸÊjzê«j\«’““S§skZ´ ¬eKÔYYJY©¯/ ¹\Fi›6zÛ%:üÀüòåk‡BüÓU]é t«ÅM™2Eo™šLÚ©œ¤ú}vÅŒ½µõÙU· 1ÔþÂÂB½íŠþÜììl ~1›¢ý†H¿,„”*ß³†‡‡INNÖÖÖ<ðÀ,Y²„ììlŽ;¦$óT}]e†úÞ¿£>ý¶±JÚ·§ÜƳüüëe:Ô­uTÚ¦ Ö•&Ò¨ÜWîSËËQ§¦Êà`!„Õv¯›œœ¬7‰SUÙÙÙ´mÛ–={ö0mÚ´j÷¯UUÞ_ù磌îÕ÷>¤_BÜú$iG!„B!„B!D“—ÍÒ¥K•íaÆ1qâDœœœ(**bÊ”)&©ÇÕÕsssÊÊʈ×Û_u»²   6nÜÀÊ•+ÉÉÉÁÆÆ†^½z1hÐ ~ÿýwöíÛÇùóçõ^s3xyy¡V«Ñh4̘1ƒþýû<ÖÌ̬Nçv}ûm¬NÒ+süúk û÷'oܸú5¸E‚J×nWþ±VUéoÐ ^BqóìÚµK/yeÊ”) 4Ž?Î|`’z¼¼¼ô¶/]º„‹‹‹²}£>ûF|||ô¶—/_^cÒ®““P¿˜ªýÒ/ !„0¥víÚáããCbb"|öÙgôíÛ+++ÈÖ­[Yµj•’ãììL·nÝnJûêÓoCUR‚×ôéz}€û¬YûûSÚ¾}Ýk„ÂqØ´IÙ6ËÏGsmuÞªm‘>U!D]øøø™™ èVâyôÑGk<ÖÏÏ€÷ß_IÂñóócÚ´ixzzbffÆ«¯¾Ê… ª½ÖÛÛ[YyçÒ¥Kzûê{Ÿ+ý²¢9¨Û/oB!„B!„B!D#ÈÍÍUNzè!î¼óN pÃUcêÊÊÊŠÀÀ@eûÛo¿%==€ÔÔT¾ÿþû_[9gÛ¶m€n “……àèÑ£\½zwwwºtéb’vW]¥ ¢Íììì Q¶wîÜIÇŽ0`€ò_ûöí9{ölf¶ÿé'œÖ® ÜÑ‘ÌW^Qö¹ÏžEll}©U©C‡*Û?ü×þ}8®_¯”kml(<¸AÚ „°¬J+¼˜››3}út†J¯^½ˆˆˆ0Y=½{÷Ö|ûÉ'Ÿ(I·¼áLû72`À½•~vïÞMïÞ½õúLggg8€¥¥%P¿˜¢ýÒ/ !„h†îu+îq+þ÷Ï?ÿTŽtèzýe@@éééDFF* °W®\Q^sÇwð¯ý‹Aƒaff¦$æT5´Ò½á¾}û8vì ëÇ—-[V¯¶K¿,„hd¥!„B!„B!„MžmÚ´Qfç›6mþþþdffâææfÒº^|ñEKÒ¦M”WI*ªÊqýzì¯ÍZhž‘¡·Ïûá‡u³÷i|@YË–ºúÞxƒV§Ocž–†íδ:”rGG,ÏžU^›1{6šJ«!„hx·Ýv–––”””PVVÆí·ßN»ví¸xñ"íÚµ3Y=ÖÖÖ<ÿüóÌ;€;vŒ››.\ {÷îDFFÖë¼ï¼óÓ¦MC£Ñðõ×_óóÏ?Ó®]; HNN&ÿÚŒºƒ‘곩Û/ý²Bˆ†Äwß}Pí^·â«o*]»vÅÌÌŒòòrFMÛ¶mQ©T,]º”-ZԹ߮æM8®[@¹½=©‹SæáõÉ“XFEayö,NÚ{ïÕz.·yó”¾Ð2.N)·<{––“'ëêpv&å“OtÛØöî»x=ý4ª²2\߇͛1ËËÃ<9YwŒ­-éóæ‹BQá‘GaÇŽ>|˜ììlÆŸŸööö¤¦¦’žžŽF£!88˜'žxÐõéë¯%ª|öÙgìÙ³‡òòrÒÓÓñöö®¶’ÀÃ?̺uë¸té†|N:‘––FÛ¶mëÜné—…Í…¬´#„¢ÎÒÒŠ ‹æÐ¡ŒÚnâšS,†ŠÏPY||>aaÑœ8qÅÐinº””BÖ¯¿È’%Ñ„…ESZZξ}i„…E“ž~}v„æ~ý„¢>>ýô7ÖoY馦9Åbˆ¡øª–i4Z¢ùùgÃ3Ýl……eüüs"Ë–#,,š òjüÑܯŸBˆ›O¥R±|ùrÝÌ|øùùñé§Ÿš´®®]»²jÕ*Z·n @AA111L:•ǼÆ×¹¸¸ÐµkW½²Ê˜  ·/88Ø„­†ùóç+3 pôèQ>¬$ ùøø°yóf&Mš„ %%%DEEqúôi²²²ðññá±ÇãÎ;וּ®Š¿f……\}ðAòF ãµ×(éܸ6€øÕWk=ŸyB6‡csø0•~0°9rDÙ§ºV@Y«V$­_Oþw¢U«1¿|Yùѵ¤S'R–-ãêƒÖZ·BÓjÛ¶-}ôžžždggsúôiî¹çž{î9“ÖõÐC1wî\eàôôtÒÓÓ £gÏžõ>ï°aÃØ°aAAA¨ÕjrrrˆˆˆàüùóäççÓ½{wžþyüüü€úÇlªöK¿,„¢!¢V«•m[[[zôè@‡ªM¤aÊ{]ooo^|ñE¬¬¬HKKãÈ‘#>|˜’’ îýöXž=‹ûk¯)Ûéo½EiëÖh­¬HY¼˜r[[@·ªœã Vâ­`uæŒÒoª+%šåå)åÖ×V ¨P0t(—¿úŠâkÏ?,ÏÓ V©( "iãFŠ»w¯µn!„¢2KKK¾üòKf̘‡‡±±±DDD’’‚&LàÉ'ŸT^óꫯ2zôhe¢ª¨¨(JKKYµjî5¬,cggÇÚµk•gá†èèh Àÿþ÷¿ºµYúe!D3¢ÒVL „¢ÉHMM%//Ϩc;tð#,,•1cŒ;Þ"#¯p÷Ý» õ'4´ËM«·!4§X 1Ÿ¡²Ý»SyüñýÌ™ÀcuhÌ&säH?¾ŸÂBRvòäx>þ8šåËϱeË0üý€æýDóðë¯ö„†zÛØM7Ùÿ«¤±dIêM­7 à'\øæÓm Í)C ÅWµ¬¸XC·n?1|¸7Ë–UŸ±ðfÊÎ.á_ÿÚEbb¾R¶bÅ@ÌÍÍ ~hî×O4q?%Ÿ|?Â4ÔXÆ^ÿÿQQ¯^h¯ ¢P§¥ayáÂõý½{£µ´¬ñ|‰‰˜'%ÕZoQh ¬`–›‹E|<ªÒRÊZ¶¤ìÚ iqkj¬û)Ñøäû™õ#ý²¸Yä~êŸK¾Ÿ‰'NP\\ è’v*&ÔˆŠŠâêÕ«¨Õjúõë§÷Ú˜˜e2‰-ZбcÇjç¯í˜‚‚bcc),,TVûéÝ»7–Uú³ÂÂB.^¼HAA®®®xzzbSË s•YÄÅažž€ÖÊŠ¢^½ôö[ÆÆ*ƒ|µÖÖÕ’dkuæ f¹¹7÷™§¥ažœŒÖÌŒÒví(wt46ñ$÷SÿLòýL4gÒ/‹æBî§šc&¨‰¹ Û!„âÂÓÓ†ÐP p«ýà&®9Åb¬¦sXX4……ÆŒi…¯¯ff*,,Tºce¥ÆÍͪö“!Ä?Ø3ÏtÁãy|V6§XŒÕ”c^»6ŽÄÄ|z÷nÁÀnXX¨iß^×W‡†úÓ»·kc7Q!„7‘ÆÍB·šŸ-h<<(¼6c£1J}|(õñ©w{ÊdFC!„ÿXÒ/ !„hh½ª ’­Ìßßÿ†¯íС:ÜxâÈÚŽ©š(T›ZÛs#¥¾¾”úúÖ¸¿ÄÏê0P¯¸Êj¼uUæáAYúp!„¢9‘~YÑœü­¤I“&±aÃSµE!n)'NdýúõÝŒFááaÝlV5iN±«©Ç›K‡„…ݦW>x°ƒËBÔfÚ´NÝ“iN±«)ǧ›™mùò´h¡ŸXÔ”¿[!„B!„B!„B!„BÑXþöJ;dæÌ™¦h‹BÜ2-ZÔØMhTiiE|÷ÝE p«¶ZKnn)»w§’••9Ý»;Ñ¿¿áÙÝ4-¤söìUÊÊÊißÞžO¬¬ÔÊ1ññùlÞœÀ!žôêå¡Cœýt Ý»;ŸGXX66j–-;Ë\VŽU«U¼óNî¹§Þ9¾ÿ>ž7Þ8AII¹^Æó!,,ŠN•C±Ô§Nc㹑%K¢Ñjk= [[5O<ÑѸƒ«¨éú—óïïãÀt¥ÌÜ\ÅìÙ<ú¨þr¢'N\áùçpéR¾^¹«VÒ¾½=§OçT{Ï+Tìó÷wR’vV¯Ž½ÖÆ"¢ ¶ÄïZ“vLq=„âVõÉ'Ѹè%}ÄÄä2mÚA.\ÈÓ;ÖÓÓš%KЧO ¥,#£˜™3èõ66æÌÛƒ‰uç-++',,ŠáýIJ*àƒNëõc÷Ý×– úè#2ò O=uôô"¥ÌÃÚ·ÞêMXX?ì«—@R5–úÔil<7²iÓ% j=®Â#øââbiôñ•º~>øà4Ë–Ó+›0¡5ï½×µZ¥”¥§ñ áì߯³9ï¾Û‡Q£Z‘“Sjð=”}ÿùC†x—§×/òÉYƒmwp0¯5iÇ×C!„B!„B!„B!„Bˆ[ÅßNÚB!@7“ûŒG(+ÓàB¿~-ÈËÓðÇÉ?žÅ³ÏâûïCP© )©€ÇÛÏÕ«¥ôìÙ‚ž=]°´4ãÔ©lLçÉ'°}ûìí¯wS+WÆ—WÆ„ ­ñô´áôélöíKcîÜŒჃ'O^áµ×Ž£Ñhéßß=œ¹r¥„mÛ’k`Zcë¬O<†,]Fc\ÖŽ››U½“vndåÊ t1»»[sút6¤óæ›'éÜÙIIò¹t)Ÿÿüg/yye´jeK` NNÄÆæ²gO*ÉÉ´ooxE¢š ≣£%Ë–ÅÅÅ’ûïo¯·ß¾4Žͬõ<¦ºBÑ\–1eÊ~’’ hÙÒ–O,,ÌØ·/ØØ\ž|ò¿ývÖh4Zž|ò‘‘Wðñ±#8Ø''KâãóøãËÌž}œõ3NœÈâÏ?S ñ¢cGRS‹øõ×D¾ÿ>žqãZèèVØ™:U—°Ó¾½=AAh4ZvïNeÖ¬cuŠÉØ:ë!›6]ª–s#cǶªwÒNMŽËâ?.âIÇŽŽ\¾\ȶmIlÞœ@»vöü÷¿](+Óòøãû‰ŠÊÁÎΜaüðö¶%)©€}ûÒ8s&‡Q£ZÕ©n__{BCýùùçDââryæ™Îz+íÄÇç±ysB­ç1ÕõB!„B!„B!„B!„âV!£U…B˜Ä矟§¬LËcu`öìT×&{ùånÜsÏNŽÏâàÁt rgÅŠs\½Zʼy=yè!_½ó¬^Ë[oä§Ÿ˜<ùzÒFii9¿ýv>>¶JÙÿýß16lˆçÈ‘L† ÓÍ¿jU –çžóW¯„†va„]uŠÉØ:ë!Ó§w©ÓJ; ¡°PÃæÍ·ãçw}Uœ•+cX° ’/¾ˆQ’v–-;«$4-\Ø ‹ëwóQ«Íª»6C†x2dˆ'«VÅàåeChh½ýÅÅ£’vLu=„¢¹Ø²%‰¤¤úôiÁ—_ac£ëCÊʴ̘q„­[“øæ› ̘áÏï¿'y…»îòáƒúé­Þy…‰ÿbÕª/gfóé§>Ü[) öà¥—Ž²kWŠ’@³eK"iiE âÉò啾£°°Œÿ{™™ÅFÇdlõ‰Ç»ïnC¿~n7<¦²-¬Œ>ÖXYYż÷^_½Õþ"":pß}ºžy¦3jµŠ_~I$**‡ŽY»6W×ëmÉÏ/«¶Bž1üü í™3ÙÄÅåòì³±²ºþ]d÷îT£’vLu=„B!„B!„B!„B!„¸UHÒŽB“8z4µZÅ /tUv\\,yúéÎÌ™sœ£G34ÈýûÓQ«Ude•ðñÇgÑjµJ²J~~ ¸ ד*î¹§^ò ÀС^lØOjj¡RvüøllÌyæ™ÎzÇúøØqß}mùì³óFÇdlõ‰ÇÊIFeüx½„€ÿüÇåËÏé%Ì<˜™™Šùó{é%ì€î½nL¦ºBÑ\;¦ûü~î9%aÀÜ\Å‹/veëÖ$å3~ß¾4lmÍY¶ìÚk Z-hµZ-®}†^×µ«³^ò èúK€´´"¥ìøñ,@×ßUî;*úí'ž8`tLÆÖYŸx ¹ûî6µÓÐÚµ³×KØèÙÓ…#¼Ùº5™óç¯Ò¥‹êVzå•nz ;vvæøû;Ý´6Weªë!„B!„B!„B!„B!Ä­B’v„B˜ÄÕ«¥xxXcm]}˜6mtI99¥de• ÑhY¼8ªÆóåæ–êm{{ÛT;¦bµ™²²ëËÓää”àåe­7s{…º&“[g}â1dÉ’è:­´óÄ;¸Z·®þ™™©hÕÊVomvv ÖØÙ5½¯¦ºBÑ\ää”Ц}µ}­[Û¡Ré>×A÷ °nÝE£Ï_—> U+ÛjÇ7d u‹ÇM›.‘P`ôñ<â‹‹‹åߪ³ªª‰Ä*úî«Wu}[ŵôõu0x|c2ÕõB!„B!„B!„B!„âVÑôFÚŠ&KUiéŒçž{Ž>ú¨[Ótdddàîî®lïܹ“¡C‡6^ƒ„h$ŽŽ\¾\HQ‘¦ZâÎ¥Kù89Y\;Öœ’’rž|²æ¤“ê7ÐÔÉÉ’””"4mµÄÄÄüz³6¦ŠgéÒh4ã²vÜܬ$i'!¡ú{¤ÕBRRŽŽ×;;[’”T@~~Ù w¬­u+)äçWO’IN6~ðs]4ä¿/!„¸99é>¿/]Ê£ukýÄ„„|´ZÝçzåcz¨=®®ÖÏWñÙ^ßv$%àá¡î†ê£MϦM—Ø¿?ÝèzÇŽmeò¤ÄDÃýfEßíè¨ûžUq-ãâr•ÄiC*V]*((«¶¯¡úè†ü÷%„B!„B!„B!„B!DS$I;B!L¢o_W6oN`Ñ¢3Ìš ”gg—°bÅ9å€À@Ö­»HÛ¶vL˜ÐºÚ¹¢£spp°¨W;z÷vaË–D–/?Ç3ÏtVÊ““ X¿>¾^笩â™>½KVÚi?ý”ÈãwÀÏïzR˪U1df3l˜·R6h;ëÖ]dÞ¼,胹ùõ©ÄÄ|Ôj3¼½mhÙR78|çÎî½·­rLjjQƒÍ²ßÿ¾„âVÔ§+6ijdI4}ú´ÀÆFw¨ÑhùßÿÎ×ûèAƒÜX¿þ"–éÓ;cf¦Ÿ›ž^ÄåË…õjGïÞ-ظ1ž?>˲e•¾£¸XòeçêÞ ™*ž»ïnC¿~nF×Û¢…UÛZ›‹óøá‡KÜsO¥,"â Û·_ÆÑÑ‚Ž]½~}<ᅳž=[è%åç—qéR>þþN¸¹YaaaÆÁƒzI×%%åMþz!„B!„B!„B!„Bq«¤!„&1eJG~ù%‘/¾ˆ!<<‹>}\ÈË+cÇŽ²²ŠéÕË…u«RM›Ö‰­[“yá…pV­Š¡gO,HO/æÜ¹«DF^aåÊ@Zµ²­¥ÖêþóŸüòKÿûßöîM£G®\)aÛ¶$¬¬*]ŒÌŒ1’©âùﻘ´]õac£f„ŒÙwwkΜÉfÿþtT*˜2¥ƒrÜÔ©øùçD~øá‡g2hNN–ÄÅå±{w _|ˆ·· Ý»;ãáaÍÖ­ÉLž¼‡^½Z‘QĶmÉØÚ6Ì׆ü÷%„·¢»îjÅÇGžÉ¨Q; ñÄÂÂŒ}ûÒˆ‰ÉÅÉÉ’É“Û0v¬«WÇòÝwÙ³'À@\]-¹zµ”‹ó8|8ƒ)S:Ò£‡K=ÚáÃâÅQìڕ˜1; ò@£)g÷îT 4¨Tµœ¤ŽLÏÝw·¹áþ›¡E +^~ù(¿ü’H§NŽ$'²m[–Çë ¬08fŒ+Vœ'::‡Ûo߯°aÞxyÙœ\ÀÞ½iLžÜ'ÌÌT êÉöí—¹ë®?:Ô“’-ý•Jq±¦AbhÈ_B!„B!„B!„B!„B4E’´#„Â$ºvuâ£ncÖ¬cDDd‘¥ìëÝ»<@ˆëãcÇW_ñ áœ:•Í©SÙzçò÷wªwBEÏž.̛דùóOrøp‡gЫ— ·ßîÍ¢EgLž,ÒñÜl?Þ={RÙ¼9A)37W1{v\_a M;V® äùçÃILÌgýú|eŸ­²Â޵µš×^ëÁŒGô®GPwÜáͼy&¡9]!„0s¾ø"iÓráBß|sAÙçáaÍ’%·ááa €Z­â‹/yå•£üùg ë×_Ô;—§§u½*ììÌY¶l O=u€¸¸\âârpw·föì^x!Üä}tCÆs³õéÓ??–/?Ç_¥*å&´Ö[]ÐÜ\ÅÊ•JßûÓO×ût{{sºvuR¶_z©ÇŽeqáB.äкµ-ï¾Û‡ÇßoòšÌÑV IDATÓõB!„B!„B!„B!„Â’´#ÔîÝ»ùøã9pà©©©XYYѵkW&OžÌ´iÓ°°°Ð;¾´´”… ²zõj’’’h×®3fÌ`âĉ¸»»+Çíܹ“¡C‡Ö«žèèhüýý•íÈÈHâââ˜?>gΜÁÛÛ›»îº‹7ß|£Ú&Ä?§§ ¡¡þzI£Fµ$0ÐÝ»SIL,ÀÒÒŒ€ú÷w­vŽ®]øõ×;8v,“S§²),ÔàåeCçÎŽøû_LÚ¶­=¡¡þôî]ýûzôpÖ+ðÁö„„x²sg yyetìè@Hˆ¯¿~oo›ÆRŸ:çf3ßb8ЧžêÈž=iœ=›ƒ­­9C‡záãS=É¥o_Wv츓Ò9{6µÚ __{‚‚<”ÙþFnE÷î.ìÚ•BAAݺ93x°gÎd꯯½Þy§NíH‹ÖÕê tÇÊJ››Õ c¦{=„âfxæ™.xxXé•uèàÀÖ­ÃÙ·/s箢Ñhñõu`ÈJ+Ñ鸸X²bÅ bcs Ï$+«„-,i×Ξ~ý\•Ïxss3ƒŸã•÷uèà WÞ³§ ;vÜÉŽ—¹|¹//†÷æÏ?/ú}´¡XêS§±ñ4C×êF1çØ1­8|8“òr-}ûºÒ«Wõ$k¾ù&˜ÈÈ+?žEa¡†6mì tÇÉÉR9Î××íÛG°}{2iiÅøøØ2|¸ÅÅ儆úW;÷¸q>tíꌹ¹™^yMß Å×”¯‡B4´Ï??ÏÂ…§øúëàj÷0·šæ‹!†â3Töþû§Y¾ü[¶ kô{ÍÄÄ|Þ~;’ððL®\)¡{wg~üñvî½wqqy?>N9¶¹_?!„¨«ÈÈ+Ü}÷.BCý müÕÐÿŽæ‹!†â3T¶{w*?¾Ÿ9sxì±7:eƒ+,,ãÃϰm[2))…hµpòäx>þ8ºÚ÷ˆæ~ý„¢>~" À…o¾ nì¦ümÍ)C ÅWµ¬¸XC·n?1|¸7Ë– l¬¦*¾þ:Ž/¿Œ#!!ŸÒÒrV¬ˆ¹¹™ÁïÍýú !D]5§gŒÍ)Cäy·B4 ’´#Ìœ9sX°`^YII ‡âСC¬_¿žmÛ¶ak«®Õj™4i›7oVŽ?{ö,Ó¦M#"¢æ•êZOUŸ}öaaaÊv\\‹/&11‘ 6ü­¶ Ñ\yxX×øƒ‘££ãÆùu•J—øÑ·oõä˜ mÛÚÕXWMûNʦ[7gzÈW¯lÓ¦K´ha…¯ïõÁ¼†b©OÆÆs³ŠÏ˜˜CB< ñ¬õüææ*‚ƒ=ö¸áq­[ÛòÈ#¾zeݺ9Ó­›sµcŸ~ºsµ2€Áƒ=`ãÆ$%%ѪU«jm{ï½÷xòÉ'¹xñ"÷ßÿßÄ&µxqqq¹ôëçF‹–\¸ÇÎ)h4Z}ÔWfpB!É®]),[vŽÀ@w||ìHM-d×®TrrJ4È.]d54!„Í×Otä‰':6v3L¢9Åb¬¦sVV1'O^¡OŸ|úé@\]¯¯t·qãÐÆk˜BÜ"\ˆ‰¹»±›aÍ)c5õ˜wîLÁÁÁ‚ BhßÞ33Ýï/½Ô—^êÖÈ­Bˆ¦/2r|c7ÁdšS,ÆjÊ1ïÜ™@XØmÜygKÌͯ!hÊß-„¢©hÊÏKëª9Åb¬¦³<ïB4WfÝÑ<-[¶LùûÁdÊ”)888Ð¥KÞ|óMeߪU«(..à믿VÊ{÷îÍœ9spvv¦oß¾ÕVÒù;õT5{ölî¸ãœ ÕÛwþüùjmëׯ/½ôÎÎÎôêիƶ !O@€3—.å³qc<Ÿ}vž?þ¸ŒF£åÞ{Û֏ЋB!^ÇŽŽkøõ×$V¬8ÇæÍ ää”à‡ökìæ !„BÜ’ÒÒŠè×ÏMïL!„B4¾ôôb|}u«ÍV$ì!„¢ñ¥§ëÆ 楗°#„BˆÆ%Ï»…Í•¬´#Ä©S§”¿×®]ËÚµk WPP@LL ݺuãܹsJy¿~úöªnÿzª0`€ò·““þÌÞyyyzmëÓ§Þ1½{÷6X§¢ñ„†úsÏ=m9z4“Ë— pp°ä¶Û\éØÑ±±›&„Bü£…„x²oßhH'!!µÚŒ®]¸í67Tò›˜BˆfîóÏϳpá)¾þ:˜Ü”òË— Y²$ŠÝ»ÓÈÈ(ÂÙÙ’AƒÜ™>½ ~~zçÈÏ/ã³ÏÎóÛoI$&`n®" À…§ŸîDP‡rÜûïŸfùòslÙ2Œ¨¨>ûì<ññy¸¹Y3qb¦OïRmÐhLL.ï½wŠÃ‡3Ðj¡7fÍêÎòåçøá‡K92Ëc©OÆÆÓÔtý*¬]Ç—_Æ’”T€‡‡5“&µãé§;U[í· @Ã矟cÛ¶d.]*ÀÚÚŒnÝœyòÉŽ ¬‹ù…ÂÙ¼9Aï=¯P±ïرq8:Zp×]•ÀŠçX±âU98Xpüø¸Zc¼•®‡B˜Rdäî¾{¡¡þ„†vQÊ‹Š4¬XqŽ_~I"!!KK3\xê©Në.jµ°aÃE¾ÿ>ž³gsÐh }{{x =ä«ÜóîÞÊãïgΜz÷vå½÷N™••·ßîÅœ98;ëöçä”ð¿ÿE±m[¹¹etìè@hh®\)á•WޱtéFjYc,õ©ÓØxš‚š®_…ýûÓY´è QQ9ØÚš3|¸/¾Ø-ôþhµðÃñlØp‰èè4šrüüyàvLœØµZÅ÷ßÇ3{¶þ{^¡bß§ŸdÄoÞzë$«WÇ‘E‡› ¶Ë–aøûßxåá[éz!„©üD@€ ß|¬Wþã ¬]˹sW)/__{&NlËÃûV»÷<|8ƒÏ?áØ±LòòJñò²eäHoþû_ìíuÃ¦Š‹5tëöÇ{3~/,ˆdÏž4JJÊéÝÛ…Y³ª}^——kùâ‹Ö­»HRR^^Ö<ô/£FµbèÐm<ü°/o¼Ñ³ÆXêS§±ñ45]?€ÄÄÞ~û$f Ñ”Ó¯Ÿ/½ÔÍ`ÌGŽd°re ÇŽe‘›[JëÖvÜy§7O<Ñ''Kâãó¹ãŽß«½ç€²ï?ÿñãÕW{°}ûe¦M;¨ìïÞý'ƒmŸ3'€ÇëPkŒ·ÒõBS’çÝò¼äy·Bԅ܈FW‘S™™™é2T€£ãõAü Q¯¢qøøØâãcÛØÍB!DŽŽŒÙ²ö…Bˆ€ÄÄî½w™™×WˆÎÈ(fË–Dþü3…µkƒptvx`çÏ_UŽ-.†ƒÓ9t(>èÇ„ ­õοfMë×_T¶““  ‹F«…çžóWÊccs™4é/rsK•²]»R8q"‹îÝ등uÖ'žªÂÃ3yàÝF·mìX/îo|0FZ¾ü?ÿœ¨l'&°hÑâârõVÌÎ.áþûw›«”ÂÞ½iìÝ›ÆÙ³ÿªö£çÍbŠë!„ÍIii9ÿþ÷>ŽÍTÊJJÊ9p ƒÓ™7¯“'·t /¾¨dRYtto¼ATTo¿­?\dd6ᅳ’’r@×lÚt‰ÄÄ|¾ývˆr\q±†‡Þ« X8u*›©S2fŒOb2¶ÎúÄcHçÎ?¢Ñhj›››Ž©C4Æ9v,‹… O)í(*Òðý÷ñ=šÅ¦M·ck«t1Ϙq„_~IÔ{}dä"#¯àãc« 6ºÙLu=„¢9Y¸ðŸ~^¯ìÌ™æÏ?ÉñãY,Ztý¾ïÛo/ðúë'ÐVê’óùâ‹öïOçûï‡`cs}èÔÕ«¥Üÿ_$$(eû÷§óÈ#{Ù¾}„Þ@Ó¹s#øöÛ ÊvBB žâôéì:ÅS—:ë!>º—ýûÓnß¶më ²þ»rrt1§¦)e»w§žÁºu!z‰;_}Çüùz1ÇÆæòé§¹¨T*ž¾«IÛV¦¸BÑœÈónyÞ-Ï»…¢f’¡ Dåm¦L™‚V«­ñ¿Š•nºt¹>ûÕ‰'ôÎn²zê£S§NÊßÇŽÓÛwüøñzŸW!„B!„BüsÍŸAff1ýû»òã·y[·gäÈ–äç—1{öõçN žæüù«ŒÙ’M›†9žðð±|ôQ-™?ÿ$……½óÿôS¯¿ÞƒýûGq~صZÅW_Åé (yçSäæ–rûí^üúëDFÞÅO? £K'öîM«SLÆÖYŸxšª­[“˜=;€ýûGsôèX-ê³³%›7'è „zóÍ“ÄÆæÒ¹³#Ÿ}6ˆÃ‡Ç>–Õ«è^¯º·lÆ–-Ø:µ11wëý׳§‹QçiN×C!L᫯â8z4“–-mY±b 'NÜÅž=£ í‚J¥âí·#IO× 2ݼ9Í›èÜÙ‘/¾$<|,‘‘ãùöÛ!øû;±nÝEŽÏÒ;ÿO?%0qb[v츓S§Æ³nÝZ¶´åÈ‘L½5k∊ÊÁ×ׯ¾ âäÉñìÚu'<âW-Á¤6ÆÖYŸxšªß~Kâ_ÿjÃŽw^‹!˜Î‰Íeùò³Êq6ÄóË/‰8;[ò曽سg‘‘ãÙ´i(÷Ý× ‹ºÿ¤þê«=ˆ‰¹ zöt©ÖGOÚ©ö“쮇B˜ÂéÓÙ|þùy¬­ÕÌÛ“F>–?쇳³%[¶$òÇ—]ͼy8:ZòÎ;½9p`4gÎL`ëÖáŒÝЍ¨¾ü2Nïü‡gàímË? %2ò.þøcîdg—è%PFDdñí·°·7çÝwû>–ƒÇ0~/¶o¿\§˜Œ­³>ñ4UGŽdàímÃÆ!DFŽgÛ¶áŒÕŠ‚ óæE(Ç]¸Ç[oÄÌLÅSOubûöœ:¥;þ…ºU[-Ð#Fxs7Ç{púôx½>zåÊ@£ÎÓœ®‡B˜Š<ïnÏWåy·B4 Iç âé§Ÿfûöí¬^½šîÝ»óàƒâääDRRçÎcóæÍ°fÍ&OžÌÏ?ÿ À¡C‡øè£xì±Çˆ‰‰aöìÙ&«§>&OžÌ¯¿þ èˆÞÿ}žzê).\¸PcÛ„B!„B!„¨Ia¡†¿þJÅÕÕŠÏ> ÄÞ^÷¨¶CÂÂncܸ?‰ŠÊáÂ…ñrö쿌n[CéÙ³ öQú¶þýÝX¶l#FüÎÖ­ÉÌœ©›™ÿ‡.°xq½u\”Y ‹©®‡B4¿ý– Àôéyä_¥|„֘™©˜9S·rÚðáÞüøã%ÊÊ´¼õV/Fn¥Û¡ƒ}ÔŸððL¶oOæé§¯'Rº¸X²bÅ å½];{^{­£Gï :úz’ë¶mºÄœ—^êν÷¶UÊ'OnONN)~xÚ蘌­³>ñ²fMÑmk(¶¶j–/„««îÞØÏOÃØ±W Ï$#£77+6oN@£ÑòÌ3õVÔñós`Ú4Ó®þSW¦ºBÑ\ÈónyÞ]Ažw !„a’´#êeñâÅ,^¼¸ZyçÎ‰ŽŽæž{îáÿþïÿX¸p!†™3g2sæÌjÇ9Rùû`ݺulÞ¼@ï5S§Neùòåʱªk=i}ê©É“'óÝwß)IE/¿ü2/¿ü2 K:wîÜß:¿B!„B!„øgILÌG£ÑÒ¿¿›òfµZEp°çÏ_%>>òr-EEbb®Ò¥Ëhµ ½6•_ÅŒ~ÉÉ…zç0À­Z½mÚØŸ_V¥®Ê˜,èÝÛ•?ÿ4~–`cêLHȯWªWjèÏ”÷Ñ•ë¬O<†<úè^öïO7º}Û¶ ÇÏïæ®jSõ}­íz›™é0ôÖ7Ä}4˜îz!Dó#Ï»k"Ï»åy·âŸM’v„Ñêú… 88˜àà`£·°°àµ×^ãµ×^Ó+¯¼ª••:é/[—zºtéRc,ööö5î³´´dîܹÌ;·Ú¾ú¼7B!„B!„âŸËÇǵZExx&yyez³j4Zeæü¶míñò²ÆÒÒŒ€Ö­Ò í8r$“âbÞìƒyyeDD\1i}º:m,žÆ°gO*ú«üõW*mÚèfG®ˆùðá 23‹«Í(\YžÄĽã Ë8q"ËÔÍov×C!L¡m[;Nœ¸BDD={¶ÐÛ·kWʵct3ëúù9pútû÷ÂÁÁÂÄí°çäÉ,bbréÐA°l]VÙ©‹†ŒçfÛ»73ô%$páB®rý@ó‘#ìߟ^­O¯¬¢_NHȯ¶ïÀã?×EsºBa íÚéúÃ;Sª­Dw½Ö݇U$š|ùå`“¯¦Vq¯·{w =ä«·oß¾†ë aâ¹ÙΜɮvo\V¦UúÓŠ÷·"æß~K¢K§ê'º¦b†ÿ›ÝGCó¸Ba ò¼»ù<_•çÝBÑ0ªO©$D#zå•Wxã78qâyyy\¾|™•+Wê%ÊüûßÿÆÖÖ¶[)„B!„B!Äßcc£&$Ä“ŒŒbž~ú §OgSXXFll.3fáܹ«øû;Ѿ½=66æŒçÃÑ£™Ìœy„'®põj)ÅÅbcsÙ¸1ž‰wÕkW[[5AA$%z˜óç¯RXXFTTÏ>{ˆ¬¬âˆÝ4ñôëçJLÌÝFÿ×P³®ZÃÊ•1¤§‘“S–-‰¼ùæIFjèfd=ºÙÙ%üç?ûøë¯T®\)!'§„½{Óø÷¿÷)³þU <[° ’ØØ\ŠŠ4œ9“Ã3Ï"5µÈäíoÈ_Bq«3Æ€çž g×®òòÊHI)déÒh¾ûî"––fÜq‡“&µ¥°°ŒGÝÇŸ^&+«˜ÒÒr’’ ع3…gŸ=T§Ùì+9Ò­ž}ö‡ePX¨!)©€·ßŽl°¤SÅsö쿌î£j•ˆˆ,fÍ:F||>……ÂÃ3™6í eeZFj©wÏ=m˜1ãëÖ]$%¥ÂB §Ne3gÎqΠcGÝ`áÕ«c9t(ƒ¢" ‰‰ù,XÉöí—$††ü÷%„·¢Ñ£uŸßK–œåë¯/‘Q¬Ü‡½ñFp½¿ûî6¨Õ*ž>œõë/rùr!¥¥åddžÉ¼y,[v®^í9R׎>8Ã?&]BVV1ß}w‘?>k‚H«3Uøà4/æQT¤!..—eËαre  {ÆÒ²¥-{ö¤²~}üòK"¦G¹!ã¹Ùú÷w#>>{ïýK¯ÜÖVÍܹ=•íöíí™=;€·Þ:ɲeçª%Á<óÌõþü‰':0þIfÍ:ƬYÇ”òI“Ú±~ýE“ÇМ®‡B˜Š<ïnÏWåy·B4 YiG4)|ðï¾û.·Ýv-Z´ÀÒÒoooÆŒÚ5køóÏ?±··¯ýDBˆfg÷îT&OÞ£Ìh×ââr™WW«‰¡9]!„0 3Ö¬ "4Ô__,,̰³3gà@wV® dòäöʱ*¼ûnÂÂncð`œœ,±°0£uk[FŒðæÓO2x°G½Úam­fíÚ |°=®®VXY©éÞÝ™åË*3Õ:9Yš$æ ÏÍÖ·¯+_|HÏž-°¶VãâbɤImùöÛ`lm¯÷kff*–,ÀÛo÷¦W/llÔØÛ›Ó³g Þy§^”ôÎ;}˜4©ÎΖXY©éÝ»_}Äm·¹jÂßÖœ®‡B˜Ê¬Y¼ÿ~_zöÔ}f[Yý?{÷^E•>pü{sSoz'=$! ”ÐC/""RDl?qQ‘ÐÅ‚°´µFccAÄQ$(êÒ›@„@‚ …H%ô^~\sárSn(¢ò~žgŸ]fÎÌœs2{ÏÌ™óž£$ Àš×^ëÌ»ïöÐJûÈ#^lÞ<ˆÑ£Ýqr2ÅÐP““)½z9°xqžþž&®Ò²¥K»ñòËñô4×ü6/XЉÇ÷ÀÊÊèfŠÙ¨ÛYž?’µµ›6 dèÐ6XX¢R)0À‰oU_&¡ IDAT¾D@€µVÚü×õëû3dHMûëçgÉÌ™÷0eŠŸ&ݤI¾Ì›×77†† Ú¶µà­·º2}úí œù»ü=„âV‘þî¿Gÿªôw !Äí¡¨¿‰pÁ‰'°yóæ[–!!„ø+¸Ý¿YYY”””è•ÖÏÏ—ÐÐ,FÒ/ý_Õ–-É,XÍGõfäH×Ûr˜˜+Œ€BBÚß–küÝH ѲÿýÏ‚goo@ƒøó™=Û€?̺Ã9¹½ÒÒJéÛoviù€¸À@[6npÛ®ñw#u&DËî–÷)¡MžÏô—™Yν÷îÁÓSÅÏ?»ÓÙBÜEî–÷)¡KžÏôSWWϸqû‰-äøñ°±¹µ;BÑyŸº{Éó™þÞzë4ë×'Ö›ûî»=ßµ…¢1ò>uw’ç3ýI·âN‘÷©¿__ß>öÖ†‹ !„a>>–lØ077³;•¿ ©3!„”µkƒ±°¸õ3þI !„h3ŽñÄméÐÁCCbb®°bÅÊËk9ÒíNgO!„¸k-[CÇŽ6ôèa1—.•Ϲs…ôéã(;B!Äòí·ÉäçWpï½®¸¹©Èή <<… .`nnÈ€Îw:‹B!Ä]Kú»…BüÙHÐŽBñ;ssCz÷v¸ÓÙøK‘:BñGéÙSÚ›Ö’:Bчe±kW†Îv__K¦Liwr$„B€‹KX»6Qg»J¥äŸÿ ¼9B!@QQo¿}Ž·ß>§³ïŸÿìŒJ¥¼¹B!H·Bˆ? ÚBqÃ’“KÙº5…¸¸BêêÀÇÇ‚‰½ðõµ`ÿþLV¯>Ïœ9ôê¥=h´aßܹèÑÃ^kߎìØ‘NQQ5íÚYò4½¤\YY-?þ˜Êo¿åsùr9†tëfÏÃ{bmݺ/\(fѢߘ0Á“ ¼´öEFæòÓOi¤¦–bll@` -=Ö“V]ãV:u*Ÿ•+ÏòÔS¾Ù±~}±±…¨T† î˜1(ºÇé[–¸¸BÂÃSHM-¥¾¼¼Ì3ƃŽm4i®¯³ººz-:IJJK–t¥m[ MÚššz,ˆ"7·’+‚pq‘Õy„âv),¬bëÖT¢£ó(.®ÆÓÓ‚{ïu¡'²²*xñÅãŒáÊäÉÚílþûïwcÒ$­}§Nåóí·É¤§—áâ¢âÑG½qph¼½­­­çÀ,Î"%¥¥R¿¿&xiµúzæ™||,X´¨³ÖöääR6oN&!¡ˆÚÚ:||,xè!/¬[}[¥ººŽüã=zØ3kV{6n¼ÈÑ£9ÔÕA÷îvLšäÛè[}Ë’]¡IWRR»»9ýû;1|¸‹VÛ}­_ŸÄŽLšäÃý÷kÏ õé§ üòKÏ=çÏ A2¤BÜ>û¬/_|‘ȹsäçWáìlưam˜=»½ 4B!î þ3;;NœÈý½܈^½ì ÀßßêNgO!„¸k=ú¨7EEÕìÝ{YÓÞ¡ƒ S§¶cèÐ6w:{B!Ä]Mú»…BüÙHÐŽBˆòßÿ^`É’ÓÔÖÖk¶íÛ_|‘ȷߢK[rr*‰ŒÌ%?¿Jçø†}W®hï[° š-[’5ÿþå—,¶lIá±Ç¼uÎQPPÅ A;)-­ÑÚ¾cGkÖœçÛoâîn®w™JKkˆŒÌ¥OG­íË–ÅèÌd¸wo&_|‘ÄêÕ} ²kñÜ“&Öª«æØØóñǽ[LWXXMdd.6¼õÖ)²³+4û¶oOgϞ˄†öÒ¼«oYÂÃSX° Šúë²¼fM"ï¼Óƒ±c=Ý:30PðÔS¾<üðAfÎ<Æ–-ƒ03S?n¬\y†~HeáÂN°#„·QTTÏ?ŒüüÊk¶f³aÃ.ìÄÔ©í¨¨¨%22·ÑÁ= û:tÐùî»d^}õ$uuW‡ððd^z©C£ùxâ‰CDEåimÛ·/“µkùè£^ êÒªr?žKEE­Ö¶íÛÓ™;÷ÕÕušmfñå—xíµÎ:AGY¶,†3g ôÎÇÛowÇÕUÕlšººz"#s±°0âé§pìX®fß¾}— OaÓ¦ØÚ^ xÒ·, E<òÈAJJ´Ÿ6l¸À#x±lYfÛõu6a‚6\dþü(Úµ³ÂÏOh½gÏeÞ~û,C‡º0p ì!ÄÝ*8Ø‘à`Ç– !„âåímÁÊ•A-'B!ÄÊÒÒˆ¹s;0wnã}äB!„¸s¤¿[!ÄŸí!„hµcÇrY¼ø£G»3xp¬­HJ*fóædJJªoè¼ÿû_:[¶$cffÈ3ÏøÒ¥‹-ùùU¬_ŸÄþs^'}uuFFL™âG‡6ØÛ›PTTͱc9|ýõ%BCãXµªûÍ•]»2X»6CCÿø‡/½z9R\\Íwß%sôh³fcÿþ˜˜4? Cdd®ÞA;­]½çË/“hÛÖ’9s:àèhÂÙ³¬^}žíÛÓùî»d&NôjuYÖ¬Q×÷SOù숡¡‚K—JÙ¶-•¢¢æÿ¾íÛ[³dIW^~9ŠE‹~ãwz°}{:_|‘Ȉ®L*ËÌ !ÄíRPPÅsÏ¥  Š.]l™8Ñ3ÒÓËØµ+ƒââk£32Êxýõߨ««ç¡‡<:´ µµõlߞλïžkô˜’’jÆŽõ gOÜÝUTTÔ[ȺuI,^|ºÕA;×Ëʪàå—£¨®®cäH7FŽtÅÈÈ€ƒ3Ù¼9™%KNÓ½»½NðÑõââ ‰ŒÌm6͵ÊËk[Nô»_~ÉĈùó;Ò®—/—³zuIIÅ,]zšwÞéÑê²lÚt‰’’nøqØØ“–VÆáÃY×4›ssCÂÂz3~ü~fÎ<ÆÖ­CÈÉQ_ÛÝ]Å¿ÿÔè*}B!„B!„B!„B!„Bˆ#A;B!Zí‹/©¯‡E‹:3y²¯fû!mxúi?*+ëš9ºi›7_àý÷{2lØÕ%ÃÇŒñàörñb‰Vz[[¶oÆ®]—9x0‹¼¼JÍìôÆÆœ8¡=»ÿØ´I§+º3nœ‡fûر<õÔa~ý5‡½{35Ê­Ùó|õUUkšbddЪ<::š>33uàÐ!mèÑÞ'Ÿ<Ì7ß\Ôí´¦,††øû[ñúëµ®5y²¯^¾Ç÷$**M›.áädÊÆñò2¿é *!„ÍÛº5…‚‚*FŒpÕYµí‰'ÚÞpÐζm©TUÕñôÓ¾üóŸWÛ†pgþü(ÂÃStŽÙ°aÇŽårð`&;w¦SUUG}=˜˜ž^Fff9mÚÜøÊkߟBEE-'z³|y7ÍöûîsÅÅEÅÄòÍ7—X¼¸K³çyå•ÀR¯åꪞëëaýúþZC÷ßïÆ½÷îæçŸÓX²¤*•²Ue14TGÕ¼ývwll®®ÔóØcÞz•ÃÏÏ’eË‚xñÅãÌŸErr UUu„…õÆÚÚ¸Åã…B!„B!„B!„B!„ú“ !„­s%“&ùèìS*¨Tͯ:Ó”øø"llŒµv@€3fŒ|«µ='§‚Ç?DZZi£ç»ÑÉ׊‹+ÄÌ̱c=´¶+êÁ±¿þšCllA‹A;½z9Üt^š2j”›&`§AŸ>ޏ»«ˆ/ÖlkMY¦MkÇK/àÅ3t¨ ÖøøX`` ÀÒÒH¯|½þzΞ-dõêó˜š* ë……0[!„~**ju`Èjªýý·¶ÖÝöãi:”——9O>郗—9*•! …‚õë“Ø¹3CïèšÒÐfÙØè¾X[¡Pè×F/[£ vÒÇÛowÇÕU¥WÚ¦Úˆ:kÈ_kÊÒ¶­{öÜ˶miDDä°vm"eôïïÄüùðó³Ô+oÆÆê•ý øøXèuŒB!„B!„B!„B!„¢udº{ñ·P^^ŽR©” !þ ..fÄÆ’šZ†‡GÓƒVªæåUèìk˜±ÿZNN¦\¼XBAA•NNLÌô§NåcccÌ—_öÃÀàj$JYY-99•˜šÞØŠ?×ç)1±ˆ¬¬ œM¯Ë“z€¯>Á(‘‘¹zí88´î·ììYÝÆ¥¥5\¸PŒ“ÓÕ<·¶,mÛZ0{v{ͿϜ)`Ò¤ÃääTèT´|y ÑÑù<ð€;ÿû_/¾xœµkƒµþVB!n-õïø‰¹´mÛt FCŸ_©³/!¡Xg[C{röl¡Îê8MµÑ}Ô[g%›÷Þ;×\ôÖ§Ó§¯àåe~]ž ¨¯×¯Ž‹+$22Wïë–—×ê6!¡ˆêê:ŒŒ tòhÚãÖ–ÅÚÚ˜I“|4«fgW0}úQžzê0û÷ÀĤùg ]»2X³&‘þý8s¦€H¶mÚêg!„B!„B!„B!„B!Dón*hÇßß6oÞ|«ò#Ä Q(L:•÷Þ{ïNgEÜ%&Nœx§³pG îBll!!!‘¼óNw||Ô3º×ÕÕóÓOiøû[Ѿ½5žžêA§›7'3fŒ––êÂûöeòÍ7—tÎ;`€3‰‰Å,\ÍÛo÷ÀÂBÝLmßžÎ?¤ê¤·¶6âÂ…bâã‹4‚¯\©â•W¢©¨¨½%A;8qþ|óçGñþû=5+?žÇgŸÅkҴ䫯úë½¢Àõ{[²{w[¶$3a‚ LüÏž¤¬¬–p¾¡²¬Zu– <ñõ½:[¿³³)FFz lþßÿÒùòË$FŽtãƒzâé©â“O cΜ€V•O!„þ†waݺ$V®<‹‹‹Šþý¯¶Q'Oæ““SÁˆ®ØÚcaaÈ™$%k~ï“’ŠY¹2Fç¼8³aÃEV¬ˆÁ××oou@P\\!ᆱ„Ó|§i£kjêùøã8NœÈ»%e8Йÿþ÷ÿþ÷Yüý­¸ç+ÒÓËxãß~OÓrýÊ+Uë}]WWýWŽËÍ­dÉ’Ó,ZÔccêëaݺ$"#sñô4×<+µ¦,ëÖ%Ѿ½}ú8j®Óð÷ÌήàÒ¥RÍñIN.eþü(<=Í íÅ©SW˜2%‚^ˆdýúþ7µ’¢B!„B!„B!„B!„B›¬´#„¢Õ¦LiÇÏ?§s…‘#÷âî®ÂÚÚ˜‹‹))©áË/û`MÇŽ6œ9SÀÀ;ññ±$7·‚ôô2ºt±åÔ)í™ù§NmGxx {ö\&8øøøX’Ÿ_EFF:Xsî\¡VúaÃ\8~<±c÷k§^¼X‚™™77¥¥57]ÖgŸmǶm©9’Í€;ðñ± ¤¤†ÔÔRêëaâDoüý›Û W/‡›ÎKS¬Y° šwß=‡““™æï R)yþyÿ*˺u‰|þyvv&xx˜SUUËùóEÔÔÔ3hsSYÔ¾.ŒÂÛÛ‚+‚xñÅœ>]@XXAAv Øü9„Bܘ>}=ÚŸ~Jcòä#89™ââ¢"#£Œœœ f̸‡#\õïþ_$2zô>Úµ³¤²²ŽK—JèÔɆÔÔ2­óÒ†nÝì8y2Ÿ‘#÷àãcImm=—.•pÏ=Vdei¯ª7x°3aañ¼ñÆ)Ö¬IÄÖÖ„K—J(*ª¢cG›FW‰k­!CÚЧ#Gæ0fÌ>¼½-022 )©˜êê:Úµ³âᇽZ<Ïõ+ÝJ¾¾–|÷]2?ý”†··—/—““£®«yó:ÞPYÌdéÒÓ˜›âéiޱ±’ Š).®ÆÖÖXÔ˜ŠŠZfÎÚVç¼ÎΦ¬_ßví¬(+«åÌ™²³Ëyúi_&MòÑIÿôÓ~<ú¨7õõõÄÆ[ˆ««Šµkƒ5«ÈÜ,GGS¾þz ½z9PQQ˹s…¤¤”bjjÈôé÷°ti×[r›1~¼'³fµçÊ•*bb®PRRƒ··_~Ù_kànkʲpa'üý­ÈϯäÔ©|bc 10P0v¬ÿþw÷&óR^^ˬY‘ÔÕAXXoÍjI Þ{¯ÎÎfÌ{‚ŒŒ²&Ï!„âæ¼óNfÏn¥¥ÙÙœ:¥^a§G{î»ÏU“nöìöôïïDuuçÎráB1#Gº±ti7s*• V¯îË!m¨©©'!¡ˆ¤¤b‚ƒY¾û,ž}û2oSm!„¸vï¾Lhhåå7?©ES¢£ó #-­ô¶]ãïFêL!Dll!¡¡q$&ß¶kdgWDZc-¯œ.Ԥ΄BUÇ··Ÿô“Oز%ù¶^ãïFêL!„ôwÿ9I !„~d¥!„7ÄÎ΄wßíÁÒ¥ÝHJ*B©4ÀÛÛ•J{ hûöÖìÙ3‚óç‹(/¯ÅÇÇB3ˆxÆ:«ÔtìhÃöíÃHJR¯ãåeŽ199êôíÚYjÒ*• þõ¯n¼ürG’“K°²2¦m[ –.íFeem«ÊäãcɆ ps3ÓÚÞ¶­7 '§‚´´2Œ ðó³ÄÄäξ֜9<óŒ/£Râçg…B¡›Nß²<õ”/O=åK~~%©©¥¨T†¸¹™ëü}¯¯³²²Þ|³ öö&øùYj¥µ³3á›o’–VF]Ý­-¿Bˆ«”J/¼À¬YíIL,¦¢¢vv&Z鬬ŒX·®ii¥dgWâî®ÂÉÉ”ŠŠZ6l@›6Úí¡1«W÷%+«‚ŒŒ2œMquUQY©Nïìlª•þÿþχ‡òäâÅR ðó³ÄÈÈ€””R†uÁãéa³vm0FZÛÌÍ Y±"ˆ×^ëÌ… ÅÔÕ¡yvø³>Ü…Aƒîçüùbêêêñ÷·ÂØXwþ }Ë2p 3:SVVKrr õõàâbÖhÀòµuV]]Ç„ ^<öX[‚‚ì´Ò)ðþû=9w®KK#ó!„øëÚ½;ƒðð&MòÁ̬åô7"::ÐÐXz÷vÀݽuíûÝJêL!Ĺs„†Æâïo¥Óz«de•KHH½{ß¾•àÿN¤Î„BUË“Oú0xp›Ûv?Ž#0Ж Z^-^¨I !„þî?'©3!„Ðí!„¸)*•’À@ÛfÓ(èç89™âädÚÄàë«ý¡ÒÑÑGÇÆÓÛØcc£=ø´S'›fóÔssÃf?Ä5—‡?++#ºt±k9!ú—ÅÎÎDg÷µ®¯3{{ìí›Nïæ¦ÂÍM¥W…BÜ¥RÁ=÷Xµ˜ÎÝÝ\«óÌÔTÙl{èìlª cbÒtz33C:t°ÖÚæéi®µœ¾zöl:Oææ†->ÜIFF:õÐ}Ë¢R)µVËi̵ufddÐìßÕÒÒH$ !„¸!AAö„„èL€!š&u&„âàìl&Á'­$u&„â2cF{œœšþ¦*tI !„ø#HßmëI !„~$hG!ÄßZrr)¯¼Ýbº=ì™;·Ã#!„B4xöÙ_)-m~ùrssCV¯îûåH!„­d§³Š›hžÔ™Bˆ?‚““)!!íït6þR¤Î„BüQžÞÿNgá/GêL!ÄAún[OêL!ô#A;2ìÚµ‹É“'ãííÝêã÷ìÙÃáÇ™>}:mÚܾ¥zÅ],"ví‚É“áîQöìÇaút{TüÊÊjˆŒÌm1••Ñ!„B\ëĉ<Š‹«›Mci)m´Bˆ¿—’’ŽÉ&%¥33%;ÚЭÛÕZ;wf_ijÏúaf¦Ý}Û°ï¹çÚab¢ÔÚwöl‘‘yÔ××Ó£‡=;7¿rÛÉ“ùÄÇqåJŽŽ&ôíëxC+£FGçsøp6=䡵z@zz9äæVbm­^Õíú•uÿhGŽd•Ïã{caaÈž=™¤§—âìlưa.Möè[–‚‚*~ù%‹¬¬ ÌÍ i×Ί=ìQ(®¦¹¾Îòó+ùï/`kk¤I>Z竬¬eÍšD àÙgýQ*!„¸=jk뉌Ì%.®º:ðñ±`Àg Õ¿½gϰwo&£F¹áç§Ý4ì{à7ö!3³œýû3)*ª¦];K jþÛÈÅ‹%œ>}…˗˱°0¤kW»ZY>;»‚M›.Ñ»·ƒÎÊ1ÅÅÕüòK©©¥˜˜Ò©“u³+Üþ’“Kùá‡Tt¦sg""r8w®ss# rÆÝ½ñç}ËR]]Ç¡Cêg°úúz¼¼Ì vÂÔôê3ÕõuVWWÏ_$QVVÃ3Ïøan®ýlöí·Édf–3q¢..2£°BÜN±±…DG«û“==-vÄÆÆP¿‡­_Îmù$''&LðÒÚ^[[ODD EÔÖÖáëkEÿþŽ:}¤ÚÚzÂÂâññ±`ôhwbc 9z4‡º:õĘ]º4ÞÿК²œ8‘GBB%%Õ¸»›Ó³§=ŽŽ¦Zi®¯³íÛÓ9¾˜‘#]ñ÷·ÒJÛðîß·¯ÃÆBˆ¿;éï–þnéïBýHÐΟLDD‹/fðàÁ7´³råJÆ'A;âöˆˆ€Å‹aðàÚY¹Æ“ ñ‡ðò²`Æ-¦³µ5þrskuîlˆ ðò2o9±Bñ'´zu_jkë›MóWì¨322`ÆÉç !„·×æÍÉ,[£´Ú£‡=7ÀÀ@Á®]üðC*“&ù`vÝØÏ†}“'ûj>bÖÕÕóú뿱iÓ%­´ÿ÷mÍÃÙ³¼øâ .\(ÖÚn` àùçýyñÅÖ­BGhh,½{;h}Ä|ûí³¬^}^«­W(`âD/Þz«›ftS22Êøî»½óáïoÅÈ‘®-¦‹ˆÈá³Ïh×Î’+Ξ^¦ÙgkkÌ'Ÿô¡G{­cô-˦M—Xºô4µZÇ·ooͺuýpp0tëÌÎ΄¼¼*BC㨯¯ç©§|5Ǿùæi6o¾ÄÒ¥Ýþ’ÏEBñWñÛoW˜;÷8))¥ZÛÝÝÍùâ‹`Ú¶µàìÙBBCcñ÷·j$hG½/ ÀZkËæÍɼñÆoTUÕi¶uíj˃zè䡬¬–iÓ~åèÑ}:ÖKg€Ss²²Ê %$$@+hgÇŽt^yå¤ÎóH·nv„…õÆÉÉôúSéøðÃ8ê›×P©”LÚ®ÅtÉÉ%„†ÆbllÀ;ïœå×_¯Öƒ¡¡‚W_ Ôj#[S–S§ò™>ý99ZéLøàƒ^šú¹¾Î ¸¸˜I||}ÔKsì÷ß§òê«ÑŒã!;BqåäTðÒK'ˆˆÐnÍÍ Y¹2ˆ‘#Ý(,¬&44–'ŸôÑ ÚiØ7y²¯VÐNL̦M;ªÕ68:š²ti·Fó±dÉi¾þú¢V›àímÁêÕ}iÛÖ¢Uåúøã8mµ‚v‹yþù£\¼X¢•ÖÙÙ”?ì­× ö[·¦šZÖbº“&ù´Ø]SSGhh,Ç»WȧŸ&hí;ÖƒU«ºk½³ê[–‚‚*žy&‚Ó§¯h¥31Q2o^Gž~újÛ}XóÊ+Ñ|ÿ} ß?D3(9)I}í6mTL™â§w]!„h=éï–þnþn!„Зí@[¸Ó IDATüÉóÆoÜPÀŽˆà`xã ØâP©”:³þ]ØØÿmË&„âîp}áß…BÚh!„:¶oOç•W¢õ$ 6(•œ9s…'òôøz½uë’Ø´éJ¥‚{ïuÅÃCERR17^ÄÖÖD'ýÅ‹%$'—ЯŸ>>˜›’]Á¡CÙ„…ÅÓ³§ýû;ÝLQùï/ðé§ (0t¨ ¾¾¤¥•±{wß~›Œ)óæ5ÿ±4#C=hV_<à®×GÌo¼q ##=扉’#G²5ƒŠvï¾W3c³¾e)/¯eÉ’ÓTVÖ2h3þþVTVÖ‘Pıc9äçWj>b6fÑ¢@Μ)`Ù²:w¶£kW[¾ý6™Í›/ñÐCž<ö˜·ÞeBÑ:))¥Lž|˜’’ÜÜT;ammDRR1‡e‘‘QÖ긧O_aÑ¢“ÔÖÖÓ³§;ÛŸ_ÅÎé„…Åë¤/-­æèÑ:u²! ÀŠŠÔ+ÉÿòKaañÌ›×ñ¦Ê[Èœ9Ç©©©'0Ж=ì()©eÏž NžÌgæÌc|ûí ­sóÑGq-NÂÑÀÁÁD¯ k×&RVVÃØ±8:šröl¿þšÃ’%§¹çkÍûvkʲbÅYrr*°¦OG \ºTÂáÃÙ$$5û?j”ÑѾ¬[—Äš5‰L™âG||¯½ö~~–üë_îBqójjêyæ™bc 177dèÐ6¸¸¨HO/ãÈ‘lÎ+däH·VŸ·´´†çžSì´mkAÿþNÔÖÖsð`–æ½ýz‡eãädF·n¶¸¹©¨¬¬Ó¬83~›7º©²–—×0eJéée¸ºª4È##ŽÉ&)©˜gŸý•íÛ‡µ\»ukŠN€SsxÀMïɧ¢£óÙ³ç2ƒ9Ó®—/—³sg:?üŠ··³g·ouYÖ­Kâôé+8;›2t¨ ÖÖF¤§—™KTTžVÐÎõ¼½-Xµª;3fãå—Oðé§})/¯eÆŒcÔ×+ 륳JžBˆ[Gú»¥¿[ú»…¢uäíäO&88˜ààà; !š¬þB!„B!„ÐÛ;ïœ`ñâ®:³ž8‘‡ÁÍ*·fÍy |ùe?úôqÔlß¹3ƒ™3é¤ïÔɆ={F™YFll!EEÕ¸»›3b„ 6\dïÞË7ý³aÖݰ°ÞŒqõÃâ©SWxôу¬[—ÈÌ™÷`f¦lò®®f„„è}M«VåÑÉÉ”M›ba¡î"¯­­'$$’;3ز%E3¯¾e)-­¡²²–GñbÙ² ­k%$áèØüÀ*##>ü°'cÆìgÖ¬c¬XÄâŧhßÞš·ÞêÚª² !„hO?§¤D$²bEFFš}ii¥(•ÍÝ´uë’~o_Úkµi!!Œ³O'½……›7ÂÒÒˆ¨¨<òò*12R2r¤+ii¥ìÛ—yÓA;ÿùÏyjjêyúi?^}5Pœ3~Gzh?'Oæsôh}û:6{žY³Ú·j¥Ö(/¯å‡†h­X´vm"˖ŰfM¢&À¦5eÉϯ¤m[ ~øaˆÖ3W~~%ùùU-æiáÂ@bb Xµê >>üë_1(õ„…õnöyF!ÄÍùùç4bc i×Ίÿþ·?ööW†––Ö謧¯Ÿ~J#;»‚œøü󾚶¿¼¼–I“‘Ÿ_©sÌâÅ]ðñ±äèÑ._.ÃØ¸Ž^½ÈÍ­àäÉ|®\©º©•×ü1ôô2‚‚ìøòËþšö¥¦¦ž9s޳cG:7^dΜæß“Ç÷¤Gý'”²³kz°íõòó+Yµª;=ä©Ùvꔋ'6¶ˆ¤¤bÞy§íÚµ®Ÿ@!DëH·ôw7Gú»…B×]´³gÏ>ÌôéÓ±µµåÇ$11gggÆŽ‹ö2²áááœ>}šùóç£R©Ý·páBLMMuÎoeeŶmÛHNN¦]»vŒ;¥RÝ _¾|™ü‘üü|zöìɰaôÎÁ®]»˜ÿï÷(—/«¯Ÿ={Âu÷(°kLž¬»ÚNr²ú:YYêü ÍÜ£”•Á?¨su…1c ‘{”¼<عÒÓÁÒ:t€hqª7!„B!„Bˆ?ÌÌr.]*¡sg[˜pã«Ï¥§—‘•UAÿþNZ0î»Ï•À@[bb®hmW* xî¹_IH(jôœ¹¹ºƒ“Z##£ŒÌÌrºw·×úèÐ¥‹-£F¹³m[*gÎ\¡gϦ¹ºª i¦_é&M›ÖNó@©T0gN;wf•Ç”)~­.K÷îö;–˾}—éÕËQs~}?°ººªxÿýž<óL“'ÁÒÒˆ°°Þ˜šÊ``!„¸ŽÍÅÀ@Á[ouÕ Øpw7¿áóFGçcffÈÌ™Ú홇‡ŠGõæ?ÿ9¯µÝÀÖ¬IdÇŽôFÏw³m4@TTJ¥‚—^ê õ‰ÅÖÖ˜éÓïáŸÿû+¡¡½tò)„âÖ:zT½bÌ‚µvÌÍ °¾¡óFGç0{v€VÛof¦dæÌöšßúkýöÛž~ú55G­æåUÞTÐNt´º{á…­¿†† æÍëÀŽéZí`SÆ÷l1Íòö¶Ð Øõ»ñ½÷º°cGçÏѾ½u«Ê2b„+7^díÚó<òˆ7>>–(`ll@·nבi¼y9uê o¿­<þÿ×–±c=nE‘…B4Aú»Õ¤¿»yÒß-„Ú•+WÄ‚ ˆ‹‹Óì³··gïÞ½téÒE³-<<œ 60kÖ¬Fƒv6lØÀœ9s´‚vV®\I`` óæÍãÒ¥KšôÁÁÁìÞ½›mÛ¶1yòd*+¯><ÿüó|üñÇšGDD°xñb¬´óꫯ²jÕ*jkk5Û S¦Láã?ÆÈÈH+çÏŸgܸq$''k¶988°uëVú÷ï¯ÙöùçŸ3gÎÊË˵Žïܹ3»víÂÙÙ¹Ùz€££:HåÍ7¡¾fϾºoæLX»>û¬ù€P»¬\ AA°`\sbo{÷Â5÷(áá°aƒ:P¨±  `Îí •+!0P@tÍ=Jp0ìÞ­ä™<®¹GyþyuPRƒˆX¼XsmÐΫ¯ÂªUpÍ=ŠBS¦¨¿îåüy7N°ÓÀÁ¶n…kîQ>ÿ\]ŽëîQ:wVÉ=*„B!„Bˆ?¹+WÔ3¸·mkqKÏ[TT €»»ªÑýîî*˜óçG‘P„¯¯%=zØcggŒ‘‘’ªªZ>ý4AïYó›RX¨Î“‡Gãyòô4×J×”ŒŒ2¾û.Eïëúû[1r¤kË çá¡;»¡ «´ò¨oY¾ø¢kÖœç½÷b9þmژѻ·#O<áM—.ú 6êÑÃWW3ÒÒʸ÷^¼¼n|°¸BýTáädйù­ýlZXXE›6¦(•º5Ö}òI;v¤cgg€N´ic†±± …‚M›.RUUwÓy**ªÆÉÉ´Ñ2ú¶Ñ~ת•v¦Nm§w«nnÚÏ5­)Ëœ9xzšóý÷©,]z•ÊnÝl;Ö“Q£ÜôÊ—““)}ú8òóÏixzšsß}ú?w!„¸1êw3Ÿ[$ÙðÎר»tcíÐÑ£9¼óÎYŒ >¼ ^^æ¨T†( ÊâäÉ|êênîeº!Ožžºýæ(Wë£9[·¦šZ¦÷u'MòÑ;ب©¾‡†:kè£hMYú÷wâë¯òå—I<úè/TVÖÒ©“:èñǽ13kùùL©T0z´;‘‘ê@ì©Sýõ*Bˆ'ýÝWIwó¤¿[!®ºk‚v<÷Üs2mÚ4,,,رcçÎcÖ¬Y:tè¦Ï?cÆ ÌÍÍ™1cJ¥’Í›7ÁìٳٰaÝ»w§OŸ>äææòõ×_óé§Ÿ2mÚ4ºvmzÉ·°°0–/_ŽB¡`ôèÑpéÒ%¾ÿþ{þóŸÿàààÀòåËµŽ™9s&ÆÆÆL›6 SSSöìÙùsç?~Ó¦…ìØçΩƒsnÁ=ÊŒ`n®þo¥6oVâÌž­ôéÞ]ÿÜ\øúkøôSu^š¹G ƒåËÕA:£GC@€:(èûïÕõàà Þ­™3ÁØX}nSSuPѹs0~¼:`ÉÞJKá…Ô+Ý?tê¤þßgÎÀêUŽäB!„B!ÄŸ\Ø‹KZLÛ0ð´´´ZgàLF†ö¤&VVêIRÒÒsýöÒÒŽÏ¥K[¾ývÖ âØØB>ý4¡ÅüµÄÚZ§¦ ¥¤”j¥kJFF9¡¡±z_÷Ü[õ35µTgÖÞ†ú²¶6ÖÊ£¾eQ©”̞ݞٳÛSUUG||!›6]âᇲzu_nÓb¾Þxãiiexzš³uk #Gº1thËÇ !„¸q66Ƥ§—QZZÓlàŽ©©z&þÒRÝ8ºm…µµ1™™ÔÖÖë–ê¤?p SS%Û·ÓZM ¾¾ü2Ik5™eeeÄåËåTTÔê»èÛF|ôQµµú|rp0iUÐNcuS_¯žqÙÊêê³QkÊb` àᇽxøa/êêê¹t©„ýû³˜;÷8gÏðòË[ÌWxxŠ&`'%¥”U«ÎðÊ+z—K!DëÙØ¨÷/\(Ö "mLÃj.ee5:ûšj£AýذúZƒÆÚ¡ýû3øè£^ ꢵ/6¶ ¹"è­!O))%:iSSK©¯¿ZÍÙº5…ˆˆ½¯ûÀnzí4Õ÷ÐPg }­-KÏžöôì©^‘!;»‚ÈÈ\–/aÇŽt6mˆAóA‰‰Å,_ƒ››ŠÌÌræÎ=Î×_ÄÐð<< !„h”ôw_%ýÝÍ“þn!„¸ê® Úñõõe÷îݘ™™°|ùr:wîÌ‘#G(**ÂÊJ¿¥ÛšÀÎ;11Qw¦Ï;Ö®]Ë¢E‹X²d‰&íÀ™:u*?ÿüs³A;+V¬`Ë–-Œ?^³ýرc 0€>ø€E‹an~µ“ÂÅÅ…C‡iÊSSSã>Jxx8ë֭㥗^¢¤¤„ŠŠ ¦NÊêÕ«µ®yæÌÚ´‘ÆQoÆÆêà—  ˜8Ö¬QÁtî Ÿ|ÒºsùúªW½ùýeùrõyŽ¢"¸É{”€Ø¹~¿G™;üýÕF‹Á5÷(ÂÔ©ðóÏÍíü~²e‹:è¦Á±c0`|ðúÜ×Ü£¸¸¨ƒÊSS>ª^%hÝ:uTI‰:HgêT¸îåÌ{T!„B!„mÚ˜áímÁéÓWØ´é=æ­µ?**  { puUh9p ‹'ŸôѤ9|8›¨¨<­ãÜÜT8;›‘ñc¹ôîí Ù·sg†Î¬ƒ ……Bý¡ôÚ˜UUu¼ûî¹[RVWWmÚ˜•ÇÞ½™ vµÿ&&æ Û·§cjª¤S'ÛÎcFHH€Þ×õ÷o]ŸÙ矟gØ0ÍàìÚÚzÞ_ýÑ´{wûV—%;»‚ÌÌr:wV—ËØØ€À@[llLøæ›KlÝšÚâGÌo¾¹Ä–-É<ü° vb̘ýÌ›w‚mÛ†69»¤Bˆ›×·¯#ß|s‰Å‹O±lYÖÏ´´R”J\\Ì4môþý™L˜à¥I“•UÁ7ß\Ò9oPÛ¶¥òñÇñÌžÝ^³=5µŒo¿ÕM¯P(04T`b¢€òÉ'ñVé5P·%Ý»Ûóé¼÷Þ9­€“‚‚*>ÿü0–Ï?ï‹‘‘:0·¼¼–°°8ôŠß#g-,´ã=šÃ¾}™·¤¬AAö|÷]2~GPf…™ÚÚzÍûº>môøñžôèáÐbºvv&-'úÝ¥K%„‡§ðÐCžšm§N]a÷îËXYÑ®U«Ërôh¶šws''SFvçÀL¾ÿ>•‹K´ž ®WVVËÌ™ÇX³&˜}û.³jÕYV¬ˆaÑ¢Îz—M!DëH·šôwK·B´Æ]´³`ÁMÀ€±±1Ç'>>žË—/ßtÐμyó4;ÞÞÞøúú’ÀÂ… µÒ>€äää&Ï—’’BZZýúõÓ ØèÝ»7'NdãÆDGG3`À­r^[CCCÞzë-ÂÃÃ9rä/½ôÎÎÎôë×ðÓO?1pà@Í1:uºñJ¸[yzÂÆêa­ÕA,×ÜozY°@ûcc>âãáòå›Ú™7ïjÀ€··:P(!®»Gùý¥™{””HKƒ~ý´vz÷V1mÜÑÑêž h—ÅÐÞzK´säˆ:hÇÙY}Þà§ŸÔAD ÇÈ=*„B!„Bˆ¿¹s;É¢E'Ù¼9™À@”J11WˆŽÎ'>~J¥‚¡CÛðþûçX²ä4Ççáæ¦")©ˆýû³°·7!'§Bë¼S¦´cÙ²žzê0÷Þ늇‡Š¤¤böïÏÄÎ΄üüJMZ•J‰¿¿ÇŽåòÈ#éÑÃââj~ù%‹ÊÊÚ[VÖéÓýyóÍSLŸþ+C†´Á××’ôô2víÊ ¦¦žgžñ×Ì„ÜWW!!í›Ms3²³+1b7C‡º`ll@DDçÏakkÌ„ W é[–øø"~ø÷ÜcE‡68;›RXXÍÞ½—õ*Í9{¶€·Þ:M@€5o¾ÙSS%~Ø“Ç;ÄÌ™ÇØ¼yÆÆ·­>„ânöÜsþüôSáá)DFæÑ·¯ÖÖÆ\¸PÂ/¿d²fM0..ftêdƒ““);vdðćèÚÕŽÜÜ vîÌ@¥Òýä:y²/?ÿœÆÄ‘CçÎ6äçW±sg:¦¦ºé»u³#&æ >¸—áÃÕ QQyœ=[pKv@ýÜðóÏi¬Y“ȉùÙRRRÃÞ½™äçWÒµ«-}ú8¶xžkƒn533%cÇîç¾û\qt4åܹ""rP(`Ê¿*Ë̙ǰµ5&(Èsª«ë8z4‡´´RÚ··n6?%%5Ìœy ¥RÁGõB¥RòöÛÝ;v? DsÏ=Öxy5½úƒBˆ7j”;Ÿ~ž¸¸B† ÙÉС.´icFFF‡góÄm °ÆÀ@ÁàÁÎìÞ}™ÜÇàÁÎTUÕsð`ãﺣG»óÁ±:”ͨQ{éß߉º:õªwååºéf­î¹£Œ銭­ çÏqð`vvÆäæVêÓZ>èFXX'Nä1rä^ rÆÈÈ€#G²IL,ÆÚÚ˜'žhÛâyÆ÷l1Ͳ³3aþü(~þ9 +22ÊÙ¹3ÚÚzž~ÚO3Xº5eùì³¢¢òèÓÇ //sŒŒ ˆ‹+ä—_²P*->-\ERR1ï½×??Küü,9y2Ÿuë’ ²gÔ(·ÛVBq·“þnéïnŽôw !„®».hÇÃÃCg›……ÕÕºËÙ·–»»»Î6ssslmmµVÂiØPVÖørsW®¨£ƒ}||Ýïëë @~~¾Öö¶mu_Ö¶5œ`ÇŽ¼ûöÚkœ={www ÄóÏ?O¯^½šÌ—h€àå/¸qàç×ò1×käå÷{”[pÒÈ=й9ØÚj¯„Ó° ™{”†û©‰{”ßïQ®»GiäÕl»æeÇx÷]xí58{VÿAƒàùçAîQ!„B!„BüEŒåFAAWV¬ˆáÔ©|NºÚWÒ³§¿OÜK@€5ÿø‡/ëÖ%ñóÏiš4³fµ'5µ”~HÕ:ïäɾ\¸P̦M—ر#]³ý‰'ÚRQQKxxŠVú%Kº1mÚ¯DGç­Îƒ½½ |Г'Ÿ<|KÊúä“>dfV°zuûöejfV(`âD/^|±Ã-¹ÎÍxóÍ.,_Ã×__Ôl³µ5æ“Oúh Ò·,NN&tébÇ©SùÄÇi]«gOûf7U3sæ1Œ øè£ÞšY¡»t±cѢμñÆo,^|Šý«Û-+¿Bˆ«<=ÍY»6˜¹sO–VÊæÍ¥š}îî*ͬÀ¦¦J^{­3sæ'22—ÈÈ\ú÷wbØ0/>¥uÞÎmYº´o¼ñÇçrü¸:}—.vŒãÎ’%§µÒ‡„´ç×_Õƒj¾ø"CCK–tcãÆ ¤¥5ó­FO:Xóþû½xå•hç‘nÝì ë­y&¹SžyÆC‡²´žy ¼új Ö,Ë­)ËСmؽû2Û·_}Vpw7gÙ²æÛ×ùó£HN.åÃ{á㣞éßÚÚ˜°°Þ<òÈ/ÌœyŒï¾¤i¿…BÜ:†† Ö® Ö´½Û¶]m,, éÐájàåË/w$::Ÿ‹K¸x±+WñÌ3Zç577ä³Ïú0mÚQ­ô&,[ÖéÓj¥¿ï>W|ÐLcóæ«žNœè¥¥!k×&ÞtYÍÌ Y³&˜çŸWçiãÆ«ïªNN¦|øa/œœLoú:7#(È__K>û,ƒ³4ÛÇŽõ`ÆŒ{4ÿnMYúöuä·ß®°oße­k™›²hQ ööM^·.‰ÿý/'ŸôáÁ¯ŽƒYµª;ãÆíç•W¢ißÞJÓ~ !„¸µ¤¿[ú»›"ýÝBѸ».hG_*•º¾¤¤í¥cSRR;ä¶°µU//wáÂ…F÷'%%`gg§µýâÅ‹ôíÛWgÛµçuÀÒ믿Î믿Nee%111|þùçôéÓ‡Ÿ~ú‰Q£Fݲ²ÜfÌPìøúÂúõ0a<øàí¹Öï÷(%%pÝ=ÊxÒp?5qòû=Êu÷(/Âu÷(¿ß£\sba¯¿®þOe%ÄÄÀçŸCŸ>êÕwä·À–-É,XÍGõfäH×;bb®0~üBBôšeáÏ–ÿÖ ÃÖÖ˜I“šü»Nmm=ï¼sŽ;Ó¹|¹œ>}Y»6¸Ñ´‘‘¹|óÍ%¢¢òÈÍ­D©TàädŠ››Š!CÚpÿýnšáääR† Û¥u¼‘‘ÎΦôïïĬYíiÓF½ ÚO?¥1gÎqž{Ο—_îØèµçÏ"<<… h}HnIcùP©”X[ãïoEß¾Ž<ô§ÎRõw½‡òdÕªî¼ðÂq~þ9Õ«û2dHÓKÕîÛw™iÓŽ2z´;ï¿ß³Uùvdýúþ7].€òòZV¯N`çÎ ’“KQ*¸¹©èÖÍŽqã<èÑÃAk Á‚ÑlÛ–Š““)C†´aÁ‚Ž˜™É#¯Uii¥ ¼‹'ŸôáÍ7»Üéì¸À@[6nÐbÚ?cþõuìX._}u>Ò?Pþ»ï’Y¿>‰‹K¨«ƒ³gÇ4š.%¥”õ듈ˆÈ!#£ŒêêzMqr2¡o_Gî¿ßMk¦ã~ý¶“•uu–-¥R­­1ݺÙ1mš¿f¦Ëœœ úöÝN—.¶lÙ2¸Ñk7<7éûœu­ëóab¢ÄÒÒoo ‚‚ì™0Á__ÝÀ×w=77ÞÇÆyýõߘ:µ 6½²hAA}ûnÇÎΘC‡Fb` ßˆº~ý¶“›[I|ü¸[R®úzOæ»ïRˆ‹+¤²²3Ú··æÁ=2Ä“«ƒÖ¶lIæÕWObccLP¯¾Ú•^yâïä‰'Ú2z´;‡e‘šZŠ¥¥:ÙÒ¥‹­VºE‹:3z´Ççbhh@Ÿ>X³sg^^˜˜\ÎÀ@ÁÒ¥Ýxüñ¶;–K}=tïnO×®¶ìÞ}wwsLM¯¦ ²c÷î{9x0‹ÌÌ2\]U ꂉ‰!!øùµn0KP=!!¸¹i¯6=o^{Ì‹ˆˆ\rs+°¶6¢OÇFSî„¶m-عó^öìÉ #£ggS† sÁÊÊH'­>equU±eË ‹‰‰¹BVV9vv¦Ú =ƒÿõuvî\=äEïÞ:MÏ`¢ IDAT3õÿßÿ©'¹ÉË« 7·²Å …BܘîÝíÙ»w¿þšC||!J¥>>ôï酪5àþûÝèÔÉ–2)+«¡cGúõsâܹBBðñ±Ð:ïĉ^ôïïÄþý™WãçgÅàÁÎ$$é´»66ÆüøãPöí»Ì¥K%XY3p ®®*êêê)*ªjU™œÍ ÐéŸ9Ò•à`G~ù%‹´´2Œ  ´¥gOû¨¹[ÏÄÄ€¯¾êÏ¡CÙÄÇ¢R2xpÜÝußô-ËGõ&'§‚'òHM-E¥2¤m[ úöuÔz§º¾ÎÒÒÊhßÞšaÃÔýÉ×êØÑ†°°^œ>]@||‘ÎóœBˆ[ÃÉÉ”s…“'ó)/¯ÅÓÓœà`G¬­¯@õñ±d÷î{Ù½;ƒììJÜÝU Þ†ÊÊ:BBèÚUûw:0Ж={îeïÞËšwÂáÃ]¨¯‡:w¶ÑJÿÞ{=yâ Μ)@¡€îÝí ´åðál,,Œš .iÌŒíqrÒ>ÆÏÏ’;†säH6 EÔÖÖããcÉÀNZýlwÒË/wdÔ(7þŸ½ûŽ‹ºþ8þ:ŽulPd .4\aŽ\™©™Í(KÍŸi–ZY®LÍUi¥eÃ4ÍÌ ¦¹W¹Š Y2D†lŽûýqzÜȲ>ÏǃGñ]¼¿w_ïó½Ï÷óþ¼ÃÂîQ\¬(é(Mßs3¦)Ç{rêTê?ÉSœœLéÒÅ33õs~ô5+,,&7WδdôhõÉt--X¾¼;wÆ™!’vAª‘èïýÝ ú»Aô%F0êàæ¦, ·cÇÆ_²|ß¾};v¬FãpqqáØ±clÛ¶þýz:sæ !!!Èd2Z·n­¶ßçŸ΋/¾ˆ¥¥²!-**â“O> cÇŽ$&&G»vʸ&&&´mÛ;;;V¬XÁ¯¿þ*’v*bÅ øå9-‚Ö­áõ×!<\{U™ÇõÏ5ÊŽðÈ5ʾ}Pƒ×(nnÊê7ÇŽÁ¶mðÈ5Ê™32™òõxÔçŸ+šþ¹F)*R&æüs’˜qqðÏ5Љ ´m«LZ±B™%®QAøOY¿þ6?ýt½äw…B¡±MAA13fœcËÍFÕlYG&³eËþø£›Î¿UXXL\\6D³o_"[·v+IÜ©I99rrrrILÌåС$¾ýö*Ÿ~êÇK/i©Ì¦‡À@wvìˆ#4ôN™I;ªÙIÝ+õwÊ£Ïy=xPÄË/Ò˜µãúõL®_ÏdãÆhvîìAÓ¦V%ë ……ÅÄÇçðÛo·°³3fÂïj9Aá¡ë×3™:5¼äw]åÌý5Šùó/!—«·áqqÙÄÅežÆwß]ãâÅþeUär©©ùìÛ—ÈÁƒwY±¢]º4¨º“ÑS~¾œü|9©©ùœ9s+®3rdc¦N}JïDšGõëçÂüù—غ5–?l©60ðQÛ·ÇQXXÌÀn•ú;åÑ÷¼¦L9«1›YLL611ÙìÙ“À¬Y¾‰Ùr¹‚{÷”ï]ff!ëÖ•Ÿü&ÿFVVFôí«¥r)~~¶_ž¾!Ï?¯}²†–-mhÙR}PÑsÏ9ñÜsNÛÚÚ3`€æwŠŠ&4‚ò¡hëÖvZ×¹¸˜3t¨¹Öuu™™”þýõûn¥ï¹4nlYîƒàÒ¯Y@€=ö:·W=ÈAª—¡¡„ÎèÜÙ¡Ìí\]Í4îuµµÃ*NN2‚‚Ô?˽½­5¹¨bèÕK³­6Ì£œè598˜êlÛ­¬Œèׯüû‘Úb` áÙgðì³å×Ó÷\ìíM5oJ+ýš¹¸˜•yÔµ«#]»êîcAªŽ->>e'HZY1x°ús-™L÷w]ssC­ß umß®]=ÄÐNèÔ©ì{mÆkªu¹T*¡K—µÒß©¯²î{¥ï¹Èd†ÿ´©eïÑ×ÌÈÈ@çkÊïæ•éãA*Nôw×¢¿[¡nI;:ôë×O>ù„‰'räÈÜÝݹzõ*Û·oÇÁÁ»wïÖX,S§NåwÞaÀ€ôë×æÍ›Ö-[(,,dÊ”)˜›«7 ‰‰‰x{{Ó¯_?LLL8pà—/_¦~ýúŒ1€˜˜:tè€þþþ8;;“––ÆŸþ @ƒu· Î ‡ À×¾ûNÙó ;C` ?®L8©Jýú)“\&N„#GÀÝ®^UVŸqp€¼F™:Þy PÆÕ¼9ÄÄÀ–-PXS¦@©k”ÄDðöVnobÀåËʪAÿ\£ÄÄ(«ñøø€¿?8;CZüs"®Qá_ÊÇÇ–›7ÖvÕ&;»ˆ•+o°"7nd¢PÀÆÑtëÖ€áýÊ,í– À—_¶¥W¯†ÈdšƒygͺÀ–-wɤüïMéÕË 77 $ÉÉù$$äpðà]bc³5ö}´BLNŽœ Ò˜9ó<ÑÑX¹òܪŠ^…²=GAA1©©y\¼˜ÎÚµQœ:•ʇžÅÊÊH#é¦t…m:v´§ASH$#£@m2•ŒŒ¼‹££ŒgžÑýEººÏë—_nríZ&NN2fÌhE»võ077$>>‡sçÒ ½£1Xù‹/Ú0w®gÎÜcĈcœ9s¯ÊâA¸tI{õ˜ƒâbüËÆÑ\½šAvv]»î! Àž7ÞðÒ: LåôieýÚkžLšä­µ}Ùº5–O?½ÀÀn êA³fVÈdRRSóINÎãĉvìˆS«¢Ê¼ª 1……Åܺõ€E‹.ó÷ßwY´èr=Ä~4¹\AFFW¯f²m[,¡¡wXµê&FFÕøÝO++#ž{ΉíÛã8r$IçÀ¯Í›•‰2¥ <ŽŠž×éÓ©„†Þ)Yö ÎÔ«gBrr.×®e±m[lI©{•ÁƒÝ0ÀØØl^ýáái+ª%ñH„Çwþü}N*w».]hQWA„ê‘’’ÇúõÑånçéiQ§“rAáßèǯQP 9á࣌%ŒÛ¬†"AD· ‚P7ˆ¤üüü˜0aK—.eãÆ%ËgΜɭ[·X·n]Å2~üxâââX´hþùgIRD"áÍ7ßdîܹû,[¶ŒÉ“'³|ùò’eõë×gË–-Ô«§œù£aÆ´oßž°°0.]º¤¶—.]J*óåHOW&昘<¬*о=|ýµ² λïÂO?UíßõóS& -] \£Ìœ ·nA ^£Œ¯¬ˆ³h‘2¡F•T#‘À›o‚–k”eË`òdxä¥~}e¢Ï?×( *_ǰ0(uÒ¥ËÃÊ<‚ <1 ‹6ì0‘‘j˯^ÍàêÕ nßÎfÙ²ö:÷ÏÌ,D"QÎD¯möù‹ïL&eÓ¦g5»»âînN‡å'¢˜™IéÐÁž™3[ñæ›Ç¹t)]ϳ¬ZÆÆ4lhFÆfôîÝùó/±zõM,¸Ä³Ï6¨ð@W ºñã×Ù¾=ŽW_õÔØfûöx Š8еÚÒês^çÎ¥0ož¿Ú¬š^^–xyYê¬db"¥cGììLÈÈ(¬–øAþfϾÀï¿ßV[—CHH û÷'ræL_ûffлwCll4vrs‹˜7O™°3¾?/¿ì¡¶ÞÉI†““ __[ÆŽÕ=C"(gQlÖÌŠ¥KÛѺõv"#3(**ûaxuJ%ØÙ™ðÌ3ö<óŒ=Ý»;2~ü)V®¼Á+¯xàâRñ™¶ÝÙ¾]YO[ÒŽª}ëÖv4jdQ§¡AŸóRµÑ#G6fÔ¨Æ%ûº¸˜ãâbNÚޤR øùÙ²sg<¹¹rÌÍE×” ÔEçÎÝã›o"ËÝÎÒÒP<ÄA„”šš¯Wݳ§“HÚA„¶|ù ²²Ê~.eii$’vA¡†‰þnA¡.øÏŒŒèÙ³'¦¦¦8:jQ­spP/Y»dɆ Æ‘#G044¤{÷îøúúJãÆ155Õ8†¶ã3†ôt;fffÌš5‹V­ÎÚ_T¤è$•ªÏH»páBÞzë-öïßORRvvvtëÖæÍÕKø©âèÒ¥ W®\aÛ¶mÄÄÄàììLÿþý±±yX2ÐÍÍS§NqåÊΜ9CBBõë×§mÛ¶øùù•õr :w^ºv…ÆÕ×½ý¶ò¿))”Tve˜ž=ÁÔ´\C%ëJ]£,YÆ)+íB÷îÊj?¡¡ÊX¹FË<þ˜1Êä£ÒÌÌ`Ö,xäåŸk”R×( Â[oÁþýÊsµ³ƒnÝ”Uw´K—.på lÛ¦¬¨ãì ýûÃ#×(nnpê”r»3g !A™ØÓ¶­2iI¨U|õU${öÄ“•UD“&ÊÓ÷ï0eJ8Ë–=MïÞʦ‡'1jÔqfÌð¡Y3k¾þú ‘‘˜™Ò³§#“'·ÄÎîa5ªM›b˜>]ý¥×ýðC€Ö’§eÉÌ,䫯®°gO™™…%1ë¢P@HH4›6ÅpíZr94jdÁ°a¼úª'‰²òKPÐÞxË™35«°ìÙ“Àøñ§˜<¹e¹PU.]ºÏÀ3a‚·Z|‰_.W°nÝ-6o¾Cll6 ¸»›Ó¿¿+¯¼âLV;·‡'™AÓ¦VÌëÇ¡CIX[Ó¡ƒ=‡%‘’’WæþªÙص%ìÀÙçGŽl\f5€'Ù‡¶dûö8nß~@dd†^åçK<ؼNhh¬Ö¤Í›cJ¶«)ÚÎËÊÊP>À¨ CC ÅÅ5?ˆ[j[q±‚Ÿ¾ÉÆÑÄÇçàèhÊ«¯zÒ»·3]»îáµ×<™=Û€ü|9-[n£gO'>þ¸óç_ääÉTäòbÚ¶­Ï‡¶Tû<‰É¦G½jÇ(½nį W&+.V°jÕM6lxsP'/¼à¬sŸ°°TV®¼Ixø=<(ÄÑÑŒçŸwâÝw½±°0$7WN@ÀN\]ÍÙ¾½»Æþ÷îåÓ±ã.ìùå—ŽzÇêã³ [~ÿ½s¥ãÿ믻¬^}“ë×3yð gg3:wvàÿkJƒº+ÎU§ŒŒ6lˆÆÂÂ… [cj*%88†?lÉ™3©lß_æþªÏ[CC­ëÿú+‰û÷ hÓ¦žFÂNeIJ—ã©e½z5ä¹ç²wo{÷&ª%³èë™gìqt”±¿öŠxµÑFk;/++e\•m£Œ”׉\.ÚiA¨«üýë1a‚·^Û=ižyÆ)õëWqUlAA¨õë›èÕF{zVO’urw·`Âï'òþBAÞz«‰^•vž4††L˜àýDÞ_‚ ˆþnA¡nøO%íôìÙ³ÂëP[6hÐ  ¤÷1ÆŒ£u¹™™³gÏV[vëÖ-ììì4¶÷ðð`ôèÑZ¥+Ž   2·hÑ¢-Z´(w;A‡nÝ”?º¨wÊÓ³§ò§¢ë”?4Hù£ï1t\£˜™A©k”®Q´\£xx@9רFz\£´h¡üêŒü|9¯½vT­ZJDD:o½u’>}tÏÞžÆgŸE” ÎËË“³iS gϦ±eK7Ì̤:÷­Š˜_}õˆÞ1+0yò¶nU[~õj³g_ 22ƒùóýiß¾>Y°uk,S¦<…±±ú@Õàà¤R ƒ¹Õhü‹_fÅŠjË""Ò‰ˆHÇÈÈ€áÃ55JkÖì½RÖ¯oÂÉ“}ÊÝ.==€ñã›Ñ¦M=ŽKÁØØ€-¬iÑ¢ü$›ìì"Œu_'áá÷*œÐ¥Mn®œ‹ï3¾²Ò—OÅ“cªƒ±±;;z‡K—Ò+•´Ó¨‘­[ÛžFTT^^–%뢢²¸xñ>mÚÔÃãæ:ßµW÷îNüùg3gžãƒZàP¡Ï cc²³‹ª1jA¨›fͺÀúõ«¥ÄÆæðÙg\¾¬»bXFF!/¿|ˆ¤¤‡É“‡'qæL*7jV.«‰˜?ÿ\wÌë×ßæ“OΣx¤™Š‹ËæçŸorüx ›6uA&3¤o_g6mŠáÒ¥ûøø¨ÏŠz‡¢"C‡zÔhüýu—ÿýï„Ú²¨¨,¢¢²¸{7¯ÌŠs*¯¿~”ãÇSôŽoÏžžjŸõÚdeR\¬ W^xÁ™S§R10Ш‘Y0dˆG™ûçä(?oKß ©¨*³TE]T¤àöí,-ºŒ\®ÀÛÛCúñ°»GGöîMàÒ¥û•Ú_YÏ•~¸ÎŽñ5*Y'—+غ5SS)}ûÖìŒÙ¥Ï«cGLL¤¬\y;;cºwwÄÞ^ÿ„3Õý\NNQI’® u‹ŸŸí¿vFÁŽèØÑ¡ü A¡²·7-s"ª'™»»ù¿öÜA„ÿ†k©T"ÚhAá‰&ú»A„ºà?“´S×mß¾­[·ò믿bmmMÓ¦úUc„³};lÝ ¿þ ÖÖ ®Ñÿ´_½Eddžž–̙㋯¯iiy¬Zů¿FéÜo×®xvçí·›áà`JDÄ}fϾÀµk™,_~÷Þ«¾ä¬Gcž=Û??;ÒÒòY±â:ëÖÝÖØ~ëÖX¶n¥Y3+>úè)|}m11‘‘ΧŸ^`ãÆhÝñ÷·#0ÐE‹.³o_‚Úʤ¤<ŽIâÙgààðx³æW4þ}û‘ɤ,^Ü–gž±ÇÐPBtt6[·ÆVkrTyüüìJ%9’LïÞº«'”–“#çøñd._N§I+Û¥¦*“‚\\Ì5Ö!,,UmÙÎ=hÚôáñŽO¡qã-ûÖ«gÂèÑMôŽ·º9;›pÿ~Úr]ñ•«v'<<-[b™<ù´ÐPeµ¢ÀÀš›Á_¥ôy½ø¢ —/§³zõMÆŒ9‰T*ÁÃÃ__[zöt¢gO' tÒvw·àرdþø#–ž=°°·¾Â¿ß… i¬_ CfÎlEN)Ø»7 .éÜïôéTüülùþû§iÚÔš„„¾þ:’Ý»ã™3ç6t©¶˜/^¼¯5æÝ»ãY¸0BcûØØæÌ¹€••1S§¶¤kWG¬­¹s'›¥K#Ùµ+ž5kn1vlS^~¹›6Å£‘´ƒñc'‘T4þýûxÿý âŽ1qq9;–LLLöcÅò8œÍqt”žFFFAù;ü£  ˜›7³Ø¹3©T‚««f ”TÓÓÖFóÍU’ô³fùª%Ëå ­mœT*aòä–zÇ[ÝtµÑºâ4*W ìÎ?\'44F-içØ±d’“óxé%×oÓJŸ—««_|Ñš?>ÏŒçpr’ñÔS6têäÀ€n˜›ëŽÑÝ]y¬Xqƒ·ßn† u¬p’ ‚ ‚ ‚ ‚ ‚ ‚ ‚ B•#ëˆíÛ·³råJ X°`FFb¦Y¡ŽÙ¾V®X°Ä5úŸ¶{w |÷]û’ 33s>ù¤·neqôh²Öý|}íøì³Ö%òÚµ«Ï?và¹çö²{wBµ&íìÞ¯%f3æÌñãöí³Õ‡„(+ä¬^ÝQ-á¦]»z|ýu;z÷ÞÏþý‰øûÛ1x°;_}u…à൤͛cË«fÿŠÆïè( gO'¤Rå îím]¡J ×® xì¸KóòR&Í›w‰¿ÿ¾‹L&¥I+et쨽ŠÊG-I$qw7çã[Uy\ÚJpt4£S'{Æo^òšÖ ý •©o_æÍ»Ä–-1¼ÿ¾7Š‹üñÇd2CúôÑ?©ªªh;¯©SŸâõ×=Ù»7‘sçÒ¸|9ÐÐ;„†ÞÁ×׎իŸÑ9Cÿ”)OñÁg˜<ù ;;°zuÇê<A¨u{ö(B>üð)~˜|ÔˆŒŒB¾üò²ÖýÌ̤,_Þzõ”e³½¼,Y²¤}ûfræÌ=RSó«­¤öž= Zc~í5O22 ùúë+jÛÿñ‡²Bμy~¼ðÂÃϪƕ1Ÿ9s}û;¶)¾¾¶4kfÅŸÆ1}º¦¦ÊvæìÙ{DEe1rdcŒŒ´W†©®øUíÉK/¹–T&QU³Ñׯ¿vz¬˜µ‘H” žo¿}’NvãáaAAA1¡¡wèÔÉAkòæÍ1L™€1Ó§û`kk\展f` ÁÖÖ;ÆŒiJëÖZª€Ö’ªh£=<,hÓ¦gÏÞãÖ­,<=•U’6oVÞ=zÕmçÕ·¯ Ï>ëȾ} „…¥™ÁÁƒwÙ·/‘eË®±re_yѳgï±ví-Ö¬‰ÂØØ€+W^ªæ³AAAAAAAA¨y"i§Žèׯ-[¶¤S§Nøûû×v8‚ ©_?hÙ:uqþçÅÄ< A™ÖŠ';7Й´Ó©“½Æ Ú®®f4jdÉíÛYÕj‰˜˜l1wéÒ@#éåÆLär;ï”ÿŒVT ZLHÈ ~}ºwwdÿþDâãspv6C¡P&þØÛ›Ò­›cÇ?c†ãÇŸ¢{÷½tî쀷· þþv´h¡ÒNuyå•Fôîí̉lÚÍåËé;vCC ÜŠ!CtD•É ±·×=h¼~}RRòˆ‹ËÖ4üûïKþìØ“%•õÌ3öå„64T^Ä……Å:·Q­Sm[Õâã•מú9꿊……!½z9±uk,ǧЩ“ÇŽ¥””Ç€®eÎŽ_]tWÆfŒáň^ÄÅe3wîE¸ËçŸG0¾övÉÎΤV+K Bm¸sGY©¥sgÍØ;;èLÚiѦ$aGÅÐPB‡öDEeó Ú’vTÕe´ÅÜ¥‹ƒFÒË™LštšI“N—´Ë …¢äÿ½ß2ăyó.²{w¸ÀСŸüPÑøGŽlLXX*}ûàÙgyê)žzʆ¶më=vÑãòó³å￟çðá$víŠçï¿“˜?ÿòòËÌží«³Â™‘‘NNº\U JqqšÕ„&Lh΄ ÍX½ú&óçkV…’J%å&«^¿¢"Ý™3……ÊuÕßF«ÿ{Ñ'þGºsöì=BCï0yrK²² Ù¿?gg3:t°¯Ò˜õ¡ë¼,, 8ÐÝx𠈕+o°lÙUÞ{ï »w÷Ðz͘›‰ê:‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ü'ˆ¤:¢_¿~µ‚ ”M\£B)ºØ)ª`zq‰DyŒâbÍcåå=öñõ¡úÛryùƒ>†õ`ß¾D6o¾Ã„ Í9u*…;w²;¶YI¥›šäím;}ÏžÆÙ³©œ>Ê7ßDbkkÌÒ¥íiÖL3ù§´fÍþ(óüU¿¾ 'OöÑ;>[[cÝIHÈÅÖÖ˜ݘ5ë<3fœ£Y3+Zµ²-Ùö‹/Ú0}º[·Æ2wîEæÏ¿ÄÏ??£õ¸­[×#22ƒîâãc«u›Çec£L(Q%mi“ P-Õ ŠKãžzJûìõú<Ø­[cÙ¼9†Nؼ9¦dyM«Èy¹¸˜óÕWíð÷ßÎßßÕ¹ÝW_]áüùûL˜Ðœáýj¤úƒn'Ù½û,½{÷®Å„ÿ‰–†úqÚhÕñTƒïµ*/O^éãW„>mtAÁÃÄÊ\ùâ‹6mŠfÀW²³‹Ø±#??[­É°Õ͵k;qýz&§N¥rõj!!1¤¥å3{¶¯ZÕ>]^ý¨FÂnYöì鉗—¥^Ûг§––Fäç³ti;Ö®½Å¼yñð°`Ô¨Æ%ÛìNŸ>Μ=›Æ;ïœbÊ”pºusÔš|äïoÇêÕpàÀ]Fn¢wìaii„T*)§V®«®6áàAe»ô¸mtŸ>Î|úéEþø#–÷ßoÁöíqäçË8ЭV]ô=/ C&MòæÐ¡$.]ºOllîîæÛmÛ¦¼ÿèÑÑ™3[Ѱ¡YµÄ­Ÿ<öî]J·nAÈdu§²¢ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ÿµ;¯ ‚ðDrw·àîÝ\nÞÔ¬Ž£«ÊŽr]ŠÆ ߨØnßÎÂÝÝ¢d™j¦ÿØXÍ™ØOœÐ€ªzÌæ$%å–ÌÎÿ¨Ã‡“4–yyY"“rî\?nÞ¨õgÙ²ö%ÛwéÒGG!!1+Ø´I™üèV©x7~PÎèÞ®]=ÆŽmÆ’%íøûï^nü*M›Z1|¸'óçû³gOOÚ·¯ÏäÉgÉÈ(¨’¸ªŠT*!(¨©þì IDATŽÓ<™ÌNèÛ×…¬¬Â’jO¥uëæˆ­­1§O§]m±6kfÅýûœ>}Oc½\®`ÏžZ¶|¼¤möîM`ß¾¤R ½z9=Ö±ÌÍ yþy'îÞÍåøñBCï ‘<¼×©I=/…‚’{¤ôô|­Û¨îçÞ{¯..æ:+8ÕŒøž^x¿ÿþ»ãAAAAAAAáßH$í‚ öüóN(0~ü)NJ%7WN||óç_*3içÂ…4¦M '&&›Ü\9gÎÜcܸ“)èÝ»aÉvMš(ìÿòK§N¥’—''..› .±o_b¥bîÝÛùŸ˜Ã8q"…œ9qq9Ìšu^ëLõC†¸“›[Äë¯ãàÁDÒÒò),,&>>‡¿þºËøñ§Ôö“J% ìFBB;wƳgOíÛ×Çãj’6*ÿ!~ÿý67of‘—''+«Ã‡“IO/Ð9˜¶´k×è ]úGß*;ÁÁÑ|ôÑYNJ%=]9(9?_ÎéÓ÷X¼ø2ÖÖº“+40-s0³¯¯-ƒ»““#gèÐC|ûíU®]Ë$7·ˆü|9 9lÝ[’ÐS™™ê­­éÑÑÌÌB†?Ê©S©df’—'çäÉÆŒ9‰\®`à@·*©²TPPLbb.»wÇóÚkGY½ú& L›æóØ\%8м<9'†‘—'gРš™Á_Ÿóš>=œ?>Ç¡CIܹ“M~¾œôôŽIf̘jU™JËÌ,¤AÓZ©H iëׯ'66–Þ½{óË/¿Ôv@¿ÔóÏ+ÛÓÅ‹¯ðDZ¤§––φ Ñ|÷Ý5ûåäÈyë­\¸FnnQQYLšFTTmÛÖ+I֑ɤ4lhÆ‘#IÇðàA÷î)ÿå——+æE‹"ؼ9†ôôîÝËç·ßnñý÷š1«>_ßÿ ÁÁÑ$&æRXXLjj>gÎÜcΜ üøãuµ}†õ $ä›6E#“IéׯüŠ6Õÿ´iá,]IDD:YYÊöãÂ…ûܸ‘Eaa1IIyåþÍ_í¤w}óæ@½ªìܼ™ÅˆÇؽ;»wsQ(+¸q#“©SÃ).V”ÛF:“)e2)Ó¦ù0}ú9¦N çÌ™{deRT¤ %%£G“9p@™pVÙÏîAƒ”ÕâÞ}÷Û¶Å’œœGQ‘‚ë×3™8QyM7mjUfû¡/¹\Áýûœ8‘´içxç0 9²1..šÕe*JUùnéÒHÎK£mÛz% tÕIŸóZ¿þ6ãÆdÛ¶XnÞÌ";»ˆìì"""Ò™4é4ÑÑɤ4mª=73Sy?çèX*Û´åãÒ¶m[FÍ»ï¾Kf¦f¢¼ ‚ ‚ ‚ ‚ ‚ ‚ ‚ BeÖv‚ “çõ׽ض-Ž«W3xõÕ#%Ë%xágvíŠÇÐPs¤eïÞ Ù²å!!1j˽¼,yë­f%¿»ºšñüó Ù³'AíøR©„\ùãØJÄìɶm±DFf0|øQµ˜ûöuaÇŽ8µí r',ì›7Ç0fÌI­Ç|ùeµß‡ qçûï¯1sæyòóå%„«BEã¿|9sçÒôŠ»&ååz‡ÐÐ;€ò=•Ë–_rw7/sµT*ѨÖTÚ§ŸúRTTÌÖ­±,]ÉÒ¥‘Z3aBs½1kóÉ'¾\º”NDDºÚ5ªÒ¤‰|ТRÇ8~<…Æ·h]gf&eöl?ºww¬Ð~O=eÃtÓX>x°;ß}w•ðð´fðw¯tÜå©èy¥¥°"6DkÝÇÜÜiÓžÒù÷Š‹µ11<øÚr33)³fùª-=º1Ÿ~z‘iÓÂÕª· âQ© *­ZÙòÊ+X¿þ6S¦¨Wƒë×Ï…íÛÕÛ8 æÎõgæÌsL›vNë1ßz«©Úï:ØãêjÆo¿EñàAC†x`f&­p¬UÿÝ»¹Çðí·W5ŽÕ¢…5W®mz\ÅÅ ŽM.IÀVµÑ{÷*+ÓÈd†¼ùfcûK¥%ÇÑeÐ 722 øì³BBb4î UzõjÈK/¹Vê<†÷äàÁDŽOáý÷Ïh¬·´4â‹/ÚTêØ LhÑÕ–I$ðÆ^|øaË ípñbk2 Àó’{ºÀÀêk£+z^yyröíK,3¡~útd2íÿÎT÷su¥¶´´gñâżð LŸ>þýûóå—_Ò¦Må¯AAAAAAAAI;‚ B%˜šJùí·N|ùåöîMàÁƒ"š4±d„æDDd°kW¼Ö™ØÛ´©Ç°aøúëH®]Ë@&“Ò³§~ØRcâÂ…­±²2fß¾rså´ha͇¶$::»RI;&&RÖ­ëÌ—_^fÏž²²Šðò²`Âo22 4’^$øüóÖ<ûl6nŒ&""œœ"MiÞÜšAƒÜéØÑAms:vtàèÑd,-Ôª=®ŠÆ¿ysW6nŒæäÉâârɤxzZèÎàÁnUWE êŽ1þËõë™$&æbj*¥qcKºusdԨƘ›ë¾=‘è1í¾‰‰”/¿lK` ;!!1œ=›FJJ6”Ñ©“¯¿î…»{ågªwr’±uk7~úé:ý•D|| ¸¹™óüó yóÍ&XXTÍm–LfˆµµMšXòÌ3 äF½z&UrlP&ɵkWŸ°°TÚµ«««Y•»,úœ×Â…­éÞ=‘ýû‰ŠR^/œÍèÐÁžÑ£›àâR3ñVccc>úè#ºvíÊäÉ“y饗øî»ïðññ©íЄ‘yóüqw·`ãFeGGS‚‚<ññ±aÇŽ8¬¬Œ4ö±¶6bÆ.Ì›w‘°°TŠ‹´iS>z ooõJÇ{‘“#gýúÛ$%åâêjÎÈ‘éØÑ¡RI;sæøâînΆ ÑÄÇçР)ÆyЯŸ«FÒ (Û“æÍ­Xµê&aa©¤¥åcgg‚‡‡}û:óÒKêmDC‡6*©4thÕ&?T$þÏ?oCHH û÷'rûö  šÑ»wCFŽl\kI MšXñÛoز%– Òˆ‹ËŠñð° uk;ÆkVf•}+ãŒÙ˜nÝY»öǧCAA1öö¦´m[¡CÝ °¯ôyH¥V­êÈÚµQüùg7ofRPPLƒ2:v´gìØ²Ï£"ŒŒ °²2*y r£I«*96ðO2­ß|‰L&å…ª¦:Tyô9¯  F¸ºš³gOé$$äŸ/ÇÁA†ŸŸ-Ç{Ò®]ýrÿVݨ†÷P=رcÓ§O'((ˆ©S§2räÈÚKꬼÆáÃÉ,_€¥¥æýEMÛ±#Žuën3sf+ûmêZü1oÞEFŒh¬÷÷¡¢"ÁÁÑÿÜ70x°ýûkOÍaÏžx._Nçþý,,Œ°·7ÁËË’^½âà`Z²í_ÝeÅŠ%¿K$ÊïzîîæôîÝP­-Xµê&û÷'2eJK|}í´þí‰O“’’Çï¿wÖë¼tÅ!•J077¤^=Z´°¦[7G6Ô|­Jï§ÍرMéØÑ±cORXXÌŠ´&Á«lÞÃæÍwxí5Oúôq®PüC‡z0`€«ÆòŠž(rwìˆãøñîÞÍÅÂÂWWs:wn@@@}{ÎI“NóàA®®f èV%U «Â•+ñçŸMéׯŸ^}B‚ (>œÄ?^gÒ$oÚ·/ÿ¾¼ºÝº•ÅÇŸgð`·’Š¢e©kñWÄæÍ1XZÑ«—þÏJbÏžxsñö¶á£4'‚ÈÊ*d×®ÂÃï‘’’‡T*ÁÁÁggsºuk@óæï’’òxï½Ójûàè(£cGúôq.©âD ß~{•þý]6ÌCëßVÝ7é{Ÿ¥+‰ÌͰ²2¤iS+:t°ÇÇG³ÍÑi]º80vl3/¾Bxø½rc‹ŒÌ`îÜ‹´nmÇäÉÚ_c]q<õ” Ó§ûh,¯èy©„…¥²{w11J•ýÝþþv<÷œ2™ús…å˯sâD ¦tïîT¥ÏÏf¾øb/ãÆÃÒ²v& „'QJJ'ž¦W¯†ŒáUÛá0jÔq<=-øøãVån[ã×Wdd{÷&0q¢·Þû\¿žIpp4ÑÑÙóË/µn'—+8xð.Ç'“Ca¡{{SLèÐÁ§Ÿ®_Òî¼óÎ)ÒÒ J~74”`kk‚¿¿²/Võ '=½€·ß>E“&VÌ™ã«ñwáá}“¾÷Yz4‰DùŒÝÒÒsZ·®G§Njq늿4{{S–.mWÒOèΠAºÇ'ó¿ÿÀØXÊ?<­õoêŠ?#£µk;UÉyDG?à?b¹z5ƒü|9NN2š7·æ…œ±·7UÛöðá$V®¼1­[×ã•W<01©šÉâO«VÆËkÍš5+sAJÔµþbÑß­›èïýÝ¢¿[xR‰¤A¡RllŒ™;×¹sýJ–+X²$‰š4ÑÞIß©“:9h]÷(++#.ôgáBµåíÛׯô@[++#æÌñcÎ?uº:±úôqÖû¦ÐÙYW>>¶Ü¼9PcyEâ÷ö¶fölíwµÉÄDÊ‹/ºðâ‹ÊA§_}u{{S†÷Ôk##är¹¹r3·«tè`O‡ú úuw7×úš—¥^=¦MóaÚ´ªK¶¨L³ŸJE¿ V4ŽÊÆgkkÌСî•þ7Ÿ•Uˆ££¬RûV·öíÛ³mÛ6Þ{ï=† ÆìÙ³2dHm‡%üKHxë­¦Õf>ýô"M›jO*ps3ç§Ÿ:”{|‰DÙ™3vlSu•ý,200ztFn¢÷1[µ²eÉ’vzÿqãš2nœfÌuéRe‰ßÁÁ”·ßnÆÛo×­‡%‰²²‹*aæØ±dÖ¯fÙ²özí¯êÌËÊ*,w[ fÎ,ÿ!°Ê±c/è½-(rŽÙ˜‘#uWªŒŠÆñ¸ûL˜Ðœ šWz}â¨L|&&Êäûž=*KVV 4V×Ô¯_ŸåË—³|ùr>ûì3.^¼ÈÂ… 155-gAø¹uëaa©•Sµ†$&æ–JffùmÔ½ø+âÊ• rrŠôÞþ‹/"XµêfÉï:h€.*RðÙg—X»ö–ZEÜGÍ™s>zŠÿýOyÏ“’’OXXªÖm׬‰âÍ7—|g¾}[ùzgdè~ΟO#>>GïóR)+eÜyñE>ù¤•Ú$3åí0x°R©[[cBCïpðà]ž^÷`ÙŸ¾É™|ñEë Ç_zr˜Êž×ýûŒyŒˆˆt}V¬¸AãÆ–ìÞÝSmù¹s_û ¢Ù¹³Yè}ÕA¡#—góÁ°fÍfΜ‰¯oÝë넺(%%¯dàJ]]DXXªÞ4Ôµø+">>[[¹ÞÛ<˜È˜1'ËÝ.$$†ùó/éüÎýå——éÞ݉Ÿ~ ”ÕQuµ!!!1üþûmV¯~SS)÷î)Û탌àá}“¾÷Y*eÅ¡âçgËgŸµQ«<¬Ï~ªÁ\™óã׎á“Ot÷5lÚ¤Ð5dˆþ}ͪ8 %Z——EÛy+˜>ýœÖÊÃk×ÞÂÌLÊŽ=Õ&ÖŠŠÊ*©Šz‡Ï?o]áAÙÕ#M›6Â{ï½ÇË/¿ŒAÝûŽ/uM~¾òóCW}m8}:•¼<ýÚ®º¿¾23 ¹q#Kïí““ó ü›œåk£«óÂ…4Þÿ 11ÙZ×ÿðÃuììL8|øyLM•϶ÏK#))OcÛ;âøé§ë¬[×™F,(,,&,,•ü|Ýï꾩2aéŠCÅÑQÆœ9~ôèáX¡ýœ•혯¯-“&&#£ Ì¤9z4™À@w½vTq¤¦æk]^™óÚ°!šÙ³Ïkí'š?ÿ‹·-ãÊ×þøñvîŒçÊ•t¾ø¢.TnOåÞ½;ôïߟ!C†0yòdlllj;(Ax"ÔµþbÑß­›èïýÝ*¢¿[xÒùóç3dÈ^{í5>øàÌÍ«îõ¡úyzZ²n]gœën?Ýã:y2…ýûùûï$¤R ÑÑèÖ걆 ÌvïNà•Wѽ»#NNš¯Ñºu·™5ë< œÔìùçâêj†„ää|r8p ‘”Í6ºeˇb²³ ¹x1U«npút*kÖDiLøR]£  ˜ÔÔ<.\¸Ïöíqœ?Ÿ¡Cò,žž–:÷+­~}峂>}\˜3çÛ¶Å2mÚSZg.,,æÏ?ã03“Ò»·þ“´Uõy…†Þ!$$##^~ÙƒöíëcnnH\\6çÏßg÷îxrsÕª½õVSúõsáÌ™{|ÿý5öìI¬#I;¯rà€7Ë–-cΜ9„††2þ|š6­™kJ„ª³jÕ3XX¯¿î…­­æØ‡ˆˆt^}õ(yyrÜÝÍ0ÀæÍ­‘ɤ¤¦æ“””ˉ)œ8‘Bq±ú¾’’ 1……Åܺ•ŪUQÄÅe3wîEV­z¦J_]£¨¨˜ÌÌB®^Í`ÇŽx¢£0vì ¾þºýú¹èܯ4UŸ¯‹‹9íÛ×çÔ©T._N§eKí‰#¡¡±€îIV+£¢çý€Y³Î#—+èÞÝ‘>}\¨WÏ„ääÜ’ýÒÓÕÊ»tiÀš5‰‹Ëaþü‹ìÙ“PG’vš2yòn Ö±hÑ"öîÝËôéÓ0`@m&B‰þnÝD·èïÑß-<™k¤ë7ˆ‹‹cÉ’%U TZDDµ†ð’››[Û!ÔªÛ·¨e­«˜™I™1£ê*”%22ƒ_……¥–Ê?\cñâ¶¼ô’ö‡p œýµU+[FŽôÒº~çÎxvîŒÇÊʈ_~éH«VÚ:~üq+ÒÒ4g±uq1ãé§ÎfØ»·3EEÅüñG,G&רCÌÒq5âúõLFŒPÎÄ·jUãÇ7+w¿ÒÚµ«««‡%qï^>õê™hl£ú.Xµi+z^Þ`ݺÎxy©?à5ª±Ö÷ÐÏOù5l(cß>í¿kK‹-øí·ßزe .dïÞ½|þùçtìX·ûƒAxÈÜܰÜÏÙ'Ù´içŽV[•Åš5Q¼ü²óçûëÜWõy;sf+­‡s™7OY9yþ|^~ÙCëq&MòÖ:Ó¼µµ‘Úkß½»ÎÎ2¦M;DZcÉ5–´S:€ݘ4É›·ß>EXX*³g_à×_;•»_i2™”>}\ ‰á¯¿îÒ«—æ`£ƒï’ž^À!ÈdU×/VÑóRµÑŸ|ÒŠW^i¤¶ß«¯Âœ9~”.Vãåe‰——%]º4`ݺÛuª¶¶¶fÆŒ <˜3fпÆÏÛo¿-ú·á Үݿ·ŽaæÌsjBBb ‰á»ï®±ÿs:÷U}ÞŽ×Lk®B~x–¼<9ƒ»3¾¿Fe6P&_Þ¿_€©©ú¼D‚ZÒ©“]»:Ò½û^ŽO¦¸¸fª$”Žà…œ™0Á›Ï>»ÄêÕQÌšu®]Õ&ÓÔ¶Ÿ6îœ:•Jhè­I;÷îåsèÐ]ÜÜÌiÛ¶ÞãŸPñ•u^‡%!—+è×Ï…%KÚioêT~x{{Sìí•“™:”ÄÞ½ äæÊ«ô^£²$ÈsÏ=ÇâÅ‹ùè£Øºu+Ÿþ9e'• ‚PwˆþnÑß-ú»E·ðïóX5Š D¡PˆñS«?“&Mªõ8ÄÏç'00€€Úœ^›fÌðað`wÜÝÍ166ÀÎ΄޽Òõ_›å/T½‰½>ÜSïí{÷vfòäxyYbll *’ZJps3çí·›1dH]˜u°|ƒfÅŠìÚµ‹I“&!—ë.u/åyùeÞ~»ÍšY!“I±°0¤}ûúüôS†}2þMµ/ ÀžeËÚë½½ƒƒ)Ë–=ŸŸ-ffRÑF ZI¥Lyé%W>þ¸Um‡£OOO‚ƒƒ‘Éd[Û! O¸¼<9«VÝä­·N0fÌ V¬¸Ann?þx  #j6lˆ&(è11Ù\¹’ÁÇŸcäÈcLΙ3÷4Žýý÷šÇ(½.'§â÷™yyrV¯ŽÒˆ¹,'N¤0kÖF:Θ1'øöÛ«jIÿý6AAGˆˆH׺ÿ¦M1áÒ¥ûzǹcGAAG4fU«Hü üý÷]fÌ8ÇèÑ'˜8ñ4ß~{•ääÚ} ó믷¸r%ƒF,˜7ÏookfÌðaÒ$o¼¼,ÉÌ,;S.W”9hdÍš(¦M{JçLPzÑöðNåŒ}99e_+5¡iS+æÍó`Æە:†Dƒ¹#—+ض-Nc}Q‘‚?ÿŒÅÜÜçŸwz¬xõ¥ë¼ †0Uììt¿‡ªÙ ‹ŠŠunS$ ƒ bÏž=øùù1räH>ûì3 ÊßY*`çÎx&N<ͨQÇY¸ð 9>œDPÐÂÂRK¶»p!  #ìÞ@rr‹_æÍ7óî»alÝ‹¢ÔË¿þº«qŒÒë´µíúؽ;I“Ôc.ËíÛX¼ø2cÆœdÔ¨ãÌ{Q­í<þ>AAGŽÑºÿ¥KÊõ›6i_¯Í­[YaófÍ}*ÿÕ«,Xp‰qãN2vìI.¼ÄåËÚï%jÊ™3÷ŽÆÒÒˆ÷ßoÁK/¹òÊ+˜1£:9‘Qöç”\®@*•èœéýúÛ3`€«Î„Uå™ò¨ÚèììÚo£mlŒùöÛöÈd†?žBllÙׯ.ª™ùµ]c.4H÷ ¯ª¤ë¼ÿ|8øúÚiÝÏÌLŠ©©î{6SSƒ:×F4oÞœàà`¦L™Â?þHPPqqš÷K‚ð8.\¸ÏŒç1âÓ¦ãüùû¤¤ät„_~‰*Ù®°°˜  #|õÕ Šùå—(ÆŽ=ɘ1'Y¾üºÆwâ¤$Íc”^·ví­JÆœ¦sY22 øù盼óN#FcÊ”pL,YŸ›+çõ×2gέûçåÉ1â³gk_¯Ë¨QÇKD+rrß}w‰Oóæ›Ç™5ëûö%jÜÕ¤ü|9sç^@.Wðê«xÿý´m[yóü0ÀµÜ~ Õc:]ŸËÇ'sãF&®®f:vTlmõªlïìl†‘‘EE j÷ó^*•0}z+||lÉÈ(`×®Ê}®÷îÝssC¶m‹UKžRÙº5¹\Á AnžH¬2t—êZÕÕFK¥ll4«-©¨ú\ ëV;maaÁìٳٸq#wîÜ¡oß¾ìÛ·¯¶ÃþeD·’èï®ÑßýxD·:Ñß- CC /¾X5ŸmqqÙ%ƒcÝÝ-ªä˜«[7'llŒILÌåîÝ\+>Kå An|óM$¡¡1³8<˜Èýû â^ò °&h;/??;NbåÊŒѸÌÁc¥I¥ÊmëÚ@#;;;–-[Æ–-[˜={6'Nœàûï¿ÇÙÙ¹¶Cþ¦L Wðøp›7ßá•W< K%-íáCóŒŒBÂÂRññ±áÓO/¨ vÙµ+žýûùæ›ö%SRò5Ž¡¢Zwÿ~ÅÊëŠyØ0­ÛÿþûmæÌQ^}tŸß~»ÅüùþºÓ¢…5ׯg²|ùu­“áüþûmÂÂR™9Sÿ$üìì"ÂÂR °¯tü¡¡w˜2嬯àߟ¾É—_–=¯ÊðáGÕν,66Æ|ÿýÓånwëÖ¦LyŠaÃ<øæ›«ØÚ3|¸'#Gz‘ž^öûZXX\æ ÞS§”‰^ƒUÍw©ìì"V®¼<pTÛêÕ3¡S'{öíK$<ü^¹÷[Ú´kW77sJ"--_mÀNZZ>‡%áîn^£Õ$´—ŸŸûö%òÓO×™3Çkk݃µ‘J êlm``ÀÈ‘#éܹ3ï½÷ýúõcñâÅôìÙ³¶Cþ‚ƒ£™>ýœZÃäÉ- K¥iS«’åÅÅ ÂÂR±°0bäÈc%Ÿ£ ¼g ½Ã† ]°µUþûËË“kCEµ®E‹ŠOVÃôéçÔª¥„†ÆðÁÚûìÏKc̘÷›7Ç0dˆ ú#“I11‘²nÝmþ÷¿&4l¨þy¹gOG&ÓµkÅúgOŸN%/O}ÀsEâ¿~=“¡CñàúÖuën1t¨»Öïü¥-XpIç gm/n£qþ¥Ý½›GNŽœ_taÎ?NJåÊ• † ó`Ø0rÛhÕÀNÕw¤ÒT×Vÿþ®úÎ¥Kq±‚å˯SXXLƒ¦˜šJË­°^Ý$xé%W.]ºOxxC†xTø2™!}ú¸Í_Ýå¹çÔý††Þùgа[E]>mçåï¯LÖ ަk×4jT±û$Õý\]¬âïïÏŽ;X´hãÆcذaÌž=CC1lTx<¢¿[ôw—&ú»kŽèïÖèïêq÷%‚ ‚ uDûöíYµj£FbæÌ™,X° ¶CA°¶¶fÍš5¼ñƼñÆ„„„`g§}æEAÐeñâ+DFfàä$c̘¦¸ºšqûv6Ë—_ãÊ݃S–,¹B—. xñEWLL 8|8‰£™7ï";Úãé©}v±êŠùÖ­,_~ÈH͘úé:[¶ÜÁÕÕŒW_õÄËË’‚‚bŽMfãÆhÞ{ï »w÷ÀÇÇookvìˆgæL_µYñÂÂR‰‰Éfôè&=ð¥"ñ§§°ys VVFŒÛ”¦M­ÈÏ/æúõL6nŒ.w¶EP>4ÕVEA{{S½¶S½Ç™™šƒŠ$°²2Ò¹ï±cÉ(Рö‡v))ùÈå <=-µÎ tDíwKKC–/ï ¶,88†cÇ’åìÐ7of!—+pp0¥OŸºñpI"OO ÂÃÓHJRˆùhü¥-_€¥¥òõuv6# Àž'RˆŒÌP«4ª|p_Ó ªÚÎkæÌV¼òÊa>û,‚o¿½ŠŸŸ-ZXÓ¦M=:ur(sÿzõLJ%œ>}¼=Ñøª11‰ c{ó&1–Tk,‰X¢FÅBl¨ˆ(H·Ð{_öûcÝ•…–&œûº¸.˜=sæwvsfžyÊ}ÕŒËë×·ÅÁá¥ÓÕ½{Iʵ<3SÊãÇ©¤§ç¡­-aâDU‡œê¤aCSNŸ~Êóç™*Û ê/Ìüùžtèð2gÄG6oäèÑ(¦Ly9¶—ü_}‰Âãš:µ!§O?áøñ(||¢iÚÔ‚fÍÌiÑÂ//ÛR3<[Yé˜LDD:ŽŽEòj 6äÀ¬X±‚wß}— 0{ölQ‘YPnž<É`Õ*d2ùÿy¯^¶H¥2NzŠ·w@±û]¸ð ]Þ¿)îîf<}šÉŽ IeÍš;x{·«RÍ+WÞ&?_¦¢ùĉh6mº_¤}ZZ³g_%))‡aÃàåeK:zDD¤³gO0û÷‡ñÚkõ:´cÆ8sîÜ3Œ(â»o_zzZ V1çÔ²êÿå—0ÒÒòðò²eذ˜›ë•Á¥KÏIMÕ,ýƒÉez–ÎÌ,½ª‚½½ÚÅÞ'”´Fçåɸr%_{Õñr.ðuð`8ª:wO™âF¿~vÊ¿¥R™rËËË'""]Y±aêÔ†Åj{Õ4l(¿)\‘¡ þÂôëg§²Ñ€ýûÃ8t(\%h'00™’éÜÙªÔ ¬Ê¦ð¸Z¶´`êT7vï¡oßÓ¸¹™Ò¼¹9ÍšYЭ›u±™ýX[Ëí;/ÆhL^°bÅ Z´hÁòåˉŒŒdË–-˜›k@ FØ»…½»0ÂÞýêönaïÔNDÐŽ@ @Pƒhß¾=Û¶mcÖ¬YÔ¯_Ÿ¹sçV·$@ ÈwvïÞÍèÑ£™>}:?ÿü3††eÏ\%øw"•Ê8t(ccðÂÆFþòÊË zö´aР?õN¤½zÕWÉôÞ¯ŸÖÖ†/2 E²xqéÕõÊ«ùðaõš½¼l<ø¬Šf™ ví ÁÊÊ€ß~ë©’9¼;êÔÑ㫯‚¸};‘6m,3ƙիýùý÷(Fzùâgß¾0€ ;:—U¿ŽŽ2 æÈÛo{¨hŸ5ËC%Ãpq4jdÆO?uÓXciŽ™ &Ovãøñ(&Oöåõ×ðìY&¥àèh\ìK¦yóþæÑ£=JÁØX‡ñã]Ô¶ËΖ;;ééi©ý¼ðKYuŽMQQéDE¥«lëÔÉŠ?n‰‰IÍy¡¯/ÿ®rrT³ê©Ó¯ p&ÏQ£œ¸r%–C‡"X¾¼9 Ïàþü3œMh×®®ºnª”Âãrq1áÔ©¾ìßÎÙ³O¹u+_ßvìx„¹¹ÿùO‹bù µ™0Á•ï¿¡s縸˜0y²C‡Ö<§#WWW<ÈâÅ‹™4iÞÞÞ 0 ºe j)еgË–öôêõ2;ýС 2ä,!!©j÷³²2àÐ!/¥3NÏž¶´kW—·ÞºÄ¯¿†ViÐÎþýrÍ›7·W©x:thþ“ÐÐ4•ö»v="?_Æ®]]hÓæeðyÏž¶´jeÉÔ©¾;Í;ïx0v¬3{ö„°o_˜JÐÎñã‘ddH+e\eÕ¯££…‡‡+WªVø™2ÅMã,ô?üеH¥žâÐÕU¿.¦]»º Öoïûܹ“DrržžuHJÊ)Öø«¯‚ðñyBpp*ÙÙR,(þ^.;[~mW·Nß¿_ÔÁ9#CÕé*%¥¨ƒ•‹‹ ~ØœV­,4ã« ¸5Z~…+WÉ3?ààÁpGáC‡"ÐÒ’¼Ò þ KOO‹_íÁï¿GqâD4·n%àïŸÀO?ŽŽ„É“ÝxÿýfÅVu˜6­! ^§ÿ3¸»›Ò¥‹5|Ðì•GSôõõY¿~=Íš5ãÓO?%""‚5kÖˆªò‚rqôh99ùL›Ö?l®Ü>x°Ë–é(דÂÈdðý÷]Uªä hOß¾§ùý÷(>ù¤5FFU3'$''Ÿ©SÝX¾üåº5x°ï¿Cé©à·ß"ˆÏfñâ¦Ìží¡òÙ AöôèááC Ú€^½l±²2ààÁæÌi¬¬ê!¯\0hC‰Á(U¡_á|¼qc[•c¿ù¦³ÆµË–5׸-€]éö8 +V´`ÅŠÛŒóÎÎ&ÄÇg½½ú‘ ž³uk ááé$&æ0p =êƒ$KZ£££3‹¬_uðU÷¼=s¦;3f¸—:¾W…¾¾||…×h(ª_AáÊUíÛ×ÃÉɘsçž‘˜˜£¬t¥¨XPÕÙÕkùòôëgÏÁƒáøùÅqäH$¿ý Èï™×­k£Rͯ #G:²8‹]çË/ƒ°µ5ä»ïºTý@ÊÁo¼»»;ï¼ócÇŽe×®]"›¿ \{·°w«CØ»_-ÂÞ-ìÝ‚ÚG͹‚@ ¼¼¼Xµj«V­¢aÆ 8°º% @ ,,,رccÆŒáý÷ßgÛ¶mÕ-IPKˆˆH'3SÊ€öÊ—i œMhÛ¶®2‹kaF*ê`8j”#[·òàA²š=*‡ˆˆt22Ôkvu5¥mÛº\½úRsTT ÙXZê3w® ±©pŽMHgŒ I¡MKÞx£ëÖÝcß¾0åKÌÔÔ\||žÐ¶mÝR³˜V¶~&Ovcß¾0tu%tìXÆë`ggTì ¾Â˜šêÒ±c½Ò–öâèÑ(Ξ}Jllóæý6رlYó"/DoßN ::-- 3f¸Ó²¥zÇÜ:uäYõââ²Ô~^ð¥ìŒ—Õ¶=Ú™aà ‘È_œœLмìÔzñ–ô2X*•¡¥UuYØccåc,ø‚^êW‡"ë ‚þýíXµJ‡£G#YºTîT{ôhyy²jq4õã23Óeúô†LŸÞ™ ?Nåôé§üïA¼ÿþ œMŠuÖ~ûmwüýð÷OÄß?Q™Aº&bbb—_~Éš5k˜7o+W®d„ Õ-KP yø0ss=•€n¼þº›7ªÝoÐ {•ì¹ wâpp0"(H} Oe$×\0àäN)C‡6`ËUÍþþ‰hkKؼYž!¿à—'w‚ Iäã[¶´ÀÇç +W¶P^ ÷í“WÆ© dž²êûmw-ºÎ‚Ó«W}<=ëàêj‚––¤Èµº8 Ve©L6nlÇàÁüñG47o¦råJ,{ö„СC=–-kFÓ¦ªÙË?NãÞ=yä¾}ë—Lbn®GBB6qqÙEÖ¯+Z(œ7mºÏñEöoÚÔ\é䮫«…AGeE€Hik4¼\Ï+›âÖè‚ú S¸ú:ÕãòåXÜ‘¹?Yc‡¸êbÒ¤I8::2wî\âããÙºu+šeÞÉŸy :¾*PTïP‡§g•€ =úô©Ïá§Ð¢EÕ/É×ÓÑ£‹|6z´s‘ —Û·8}ú —/Ç(×gùZ-ÿC@¬­-Büúë‡øúÆÐµ«5 w–É`̘Š?“”Uÿ¸q.>ÁÛo_aØ0Gš53§Q#3ôõµKÌ’_ŠVð+ޱciÑ‚C‡"ðõááÃzô8‰››)sç6fÈ•ö±±YܾÈ+±,XàYlߊg^Euœ‚ŒÑ@i8q"š|\¤––„~èúâw°´ÔÇÙÙD%pSñ{IAÇùùŠþŠoSã+¼FÔ_˜Â6€#œøâ‹û=ÉäÉnH¥2ŽÂÄD‡þýíÔôRµ7®öíë*ƒÖÓÒò¸~=Ž;ƒ9wîï¿“o¿}­H_ ·3Í›çÉ'Ÿø’Jd¤zGéšB“&MØ¿?Ó§OgôèÑìÙ³Òw ìÝÂÞ]„½»rönaïÔ>DÐŽ@ @P?~o½åÂôéîÊ,ÆÅ”ÂêÕþk|í5+æÎm¬Q[mÆŒqbÌ'Æ¿ÈüùžDGgðé§wyü8z¨¼Ü¼¹=éìÜùˆ-[qt4æ7о¨³²2ÀÚÚ€˜˜,‚ƒSiØPõåqÁ—²::ê_æ:8•úòÖÔTþ}ÇÇuhùËͤ¤¯ËJ\\6§¡§§…““j¦dMô+00ÐfÐ {öí çüùçôîmËÁƒáhiI>üÕgç+i\ $ps3ÅÍÍ”ºuõX¶ì„ûsÞ¼¿ñ÷OdêT7^{͊ƫƮ²ÐÒÒbåÊ•XYYñÑG!“Éxë­·ª[– –‘•%-6+}Y×h¯1Oždjtl©´hÖrM(I³ºíR¤R™Fk4Àر.|øáMŽ‹büxBBR¹u+#+%«lYõì@“&æ?Å¡Cá¥Ï!,ZÔD#§à‰/i|Odn®§’ù¹4zö´¥gO[¶n}€¡¡6žžuX·î“&ùrìXOìì^ÊÌšåAïÞõ9~\^måÓOïðÙgmÔöÛ¤I?NåêÕ¸"^œë S§NéV&&ò﮸5ºàgUµN_»&Ït\8Gý9҉˗c9x0œåË[(Ë«£Ê?®‚X[0b„#íÛ×£gÏ“ìÛVlÐζm8p œ=l=ÚggõkMÂËË‹~ø3fðÎ;ïðõ×_£§W±* ‚Šç:u×ù’×hõ×+…§¢JJITd.NƒâøÉÈ·÷÷O,¶O=½—ÏþcÆ8óÍ7Ù¿?œ®]­_T:ˆÀÁÁ˜Î­Ë¥¹ eÕïâb™3}9z4ŠË—cÙµ+˜'O2èÚÕš÷ßoVäSŸ}vWЪ 7¶UY[KÂӳ˗7çÚµ8öì fî\Oþ÷¿ ,øCC•âîÝmøöÛ׸q#žo¾yÄÌ™WøóÏ~jûU…]¹[$Ó¿ƒƒ±²BÏýûêÇ%‘P+Öh…ówáµLý1‘-[9x0œÉ“Ý8wî ÙŒë\lE…ª¤¸qÄÄD//[ºvµ¡oßSœ?ÿŒ˜˜,¬­‹%ùúưjÕm\]M™5Ë½Ø M5 kkk~þùgfÍšÅ[o½ÅO?ý„»{Í©ò$¨ù{wÁ~…½[°w¿Dػˇ°w {÷?´#@ ÔP–/_ν{÷xï½÷8|ø0úú5;{¢@ ÿ:uêÄüùóY·nmÚ´¡eË–Õ-IPÃQd¾»¿h¦Àü|Å;§$Ñ®]]•mwï&ªô /4²‹8n>|˜RnÍEµI¥2TŠlm ‘H E KÞ¿i±ý:;›(3Æ™#G"Ù¿?œ¥K›±8ÆÆ: äPìþU¥_AÁ¬ªR©Œß~‹àƒn¢««ÅäÉn%355?¿85ZY•?Ó¸¹¹:Ô#44/¿ "883åç­[[Òºµ%žžu4èO.\x®ö%&ȳ¶ÿøãc6mº_&å²àæ&?ïW¯Æ©ÍÐwófYYÒ"Õ* oïòóetêd¾~Å‚Frfß¾p ÇÞÞP™ÁßÖöÕgð/ë¸s®¸`‚Œ )7nÄÓ±c=–/oQ©Z«šwÞy---V¯^®®.cÇŽ­nI‚Z„µµ¡¡i$%åqrQ·Ž”ôYzz§ª8ó)œ^ãã‹fyUd³¯LÍŠû„‚Ô¯oHNN>_ÝI%ƒ{A,-_ö3dˆkÖø³8ãÇ»°o_£GWN–Õ²ê¹SpAçŸ{÷’˜8ñ±±Y­_~~q;vÕ«W~œ6]»Z#‘4còd_þüó'º*?W8–ôéSŸë×ã¹p!¦Ø¾ °çøñ(vìxÄСUâì£X£ýüâÉÏ/š833Û·ÐÖ–¨ÜÇUGŽDœJ:z´jeY¡¾ú÷·ã£t9z4ŠE‹šrôh$¦¦ºôë÷ê3ø—u\––zhiIJ ø»x1CCm¶oïX¤ÊWM¦U«VìÙ³‡I“&1gξüòKtt„›Š@3ëéýûÉEî·KZ£>L!77]]UGÌ»wåû(žk´"S¾j嫚§ÐPTsqk4ÀêÕ-iØÐ¬Èç::/¯ÍNNÆ´o_Ó§Ÿ””ÃÍ›ñÄÄd1¾g©Ž·U¡äŽÙ'º*×»˜˜,fϾʤI—8w®_©Ï*$—éY:3S3‡îÂhkkѤI¼½ÛqòäŽP Ú±²2ÀËË//[BCÓññ‰&""GÇ¢£½{×çãïpêÔîÝK¢Y³Ê–ÕÓÓÂÁÁˆ¨¨ "#3hРh ÒåËòûM‚£ÊÊãÇ©: €——m)­K¦~}C:w¶âÒ¥‚‚R”µêªhU5e—ŽŽ }"#3xú4SmÐÎÅ‹òó°fM«*«îX˜šš²sçN¦M›Æ¤I“øé§Ÿpuu-}Gaï.ˆ°w¿DØ»_"ìÝåCØ»_"ìÝÿLª¨@¦`ãÆH$Ο?_ÝR*Ì?i,ÿ6žÜˆd¦„óAç«[J…ù'E ‚²¢§§Ç–-[xòä ›7o®n9@  0{öl:uêÄûï¿Ovvñ/KK}<=ëÄW_=$?_î0*•ÊØ´)ððôb÷ýïƒTc¢£3øøcyv»nÝl”Ûœä/‰vïVéóæÀr½ÄTh¾?™ÿþ7HÙg^žŒuëÒ^ñRíÞ½DBCÓhÓÆ’Žë)ìí¸x1†ºu_:ÁvìXggŽàîÝDîÝKâõ×*Å ±¬ú?NeÇŽG*ÎZÚÚeö^M^N6jdÆO?uÓøGÓ¬ƒ?ýô˜K—bò3~þ<‹³gŸ›«> ´››) $&æÛÿ¬Y˜™érêÔæÌñ#,,­H›€€¤b¡ ^^¶èéiqôh$¿ü¦òYtt}$ŸÓýûW®SmHH* ^gÿþp´µ%Ì™£Ùw^mÚXââbÂÙ³ÏØ¹3@í‹Ùª¤¤q}úé|}cŠ8¦GEe°ys €Z§3€ÄDùü/ÎY°¦3kÖ,æÎËÊ•+9wî\uËÔ"Yê—/¿EzzžrûéÓO9|8¢ØýNŸ~ÂÁƒáÊ¿33¥,_~‹Œ ©Ê­øŸÛ¿?œÔÔ\åö³gŸñë¯aåÒÜ­› R©Œ¥Ko’–öRó‰Ñ9Y¤}¿~õÉÌÌÃÇ'šÆÍTÖè&Mê”LnîË놑‘6ƒ;p÷n"wï&òÛo‘¸¸˜Ð¾}å8!–Uÿúõ„„¨:OÛØ ««¥±Ñ?tÕxþòËNõyñb †É™™§œ;Å­ŸÚÚœœŒK\£ûõ«O‹DE¥3nÜEþþ;¾H›§O3‰‰)¦)vvF4kfNTT:«Vù“™ùò|ddHùÏn“––G6•š ?!!›mÛ°téMfÍr¯pÿŠ ÁññÙ|ü±?ññÙ lÿJ3ø—4®={B8v,JYUCAjj.kÖÜ%?_Vì òû9;;£Z°£ Y³fìÞ½›k×®±bÅŠê–#¨Etí*_O×­»GDÄËçæààT¾ø"°Øýââ²ùä“;ääȯÁ2ìÞ‚Ÿ_ŽŽÆÊÿ5 =LLt8þ™Ê:’ʺuwË¥Yq°ví]•g«’Ù´é~‘öŠg #G"©_ßPen×®.‰‰Ù<{¦ê„8v¬399ùJ§`--I¥?”Uÿž=!ʪ% ßkLLaaÅÛ;,[Ö¼LÏÒvv¥;FGgð¿ÿ=$.NÕf'“ÉïÉòóeääü£pÄ-n¶¶6`Ò$W¤RS¦ørøpD‘5?--ààò)Pž.^|'O^Ú1òóe|÷]—/Çbi©_i÷hÙÙR~û-’ .‘™)¿hÙR}æú² ¨|·sç#Î\åVù IDAT{†‹‹ ­[W,`·,”4®sçž±gOÏŸ«ÞSååÉøé§PîÝKBKK‚ƒƒú OŠyR¸2bmÀÐÐo¿ý{{{¦OŸNBBBuKÔ„½[Ø»…½[Ø»+aïV°wÿó)L¬Y³†+VpñâEºvíZÝrÿ2Öü¾†¿­àâéÚPÌ?@  âààÀ²eËX¹r%ýû÷§U«VÕ-I  ‘Høì³Ï4h›7oæƒ>¨nI‚΂Mxûí+lÜÀîÝÁØÛ™NJJ.™”‚–šK¶¶ŒùÎÎ&èéi’Jnn>žžu<Ø^ÙnÈ{¼½øå—0Ξ}FýúF„‡§‘‘‘‡§g‹f=,E‹š0sæ¾øâ>ß‚½½餦¾Ô\U«Z2vìþóŸ[|þù]ÑÓÓ"::Cé(3wn#tt^¾¤5Ê‘ï³xñ  ò2ø—UJJëÖÝcÆlm ±±1 99—Çå6š8¨˜šêÒ±cågT½r%ŽU«ü13ÓÅÙÙ„ˆˆtÞyç*QQH¥252ÃÓ³ŽÚ}µµ%hiIÈË+þdýú†lßÞ‘wß½ŠO4>>ÑØÛamm@NN>ÏŸg*Ï_ÁJeÁÂB÷ÞkÌÆ÷ùÏn±qcNN&dgKyô(E9Žñã]ÊÕ?ȯ|}åÙm³²¤<}šIl¬ÜáFWW‹Õ«[ѦMQ‡ ‚ûfð`{&L(:æ‘#ظ1€Ã‡#^dð¯_nÝ¥QÖq8ÁîÝ!èéiakkHݺú$%å–†L&wÄŸ4IýyÌË“½è·RtWï½÷OŸ>eþüùüòË/xzzV·$A-`Æ wŠàäÉ'\¼ø773sˆŠJ§I¹CŒº5ÚÓ³|p“M›îcmmHhh*iiyióÎ;*íš65çÞ½$ºw?‰««)qqYDGgв¥þþê³áj¢ùÌ™§tîü®®¦$$äðäI†R³j{NŸ~ÊÏ?‡²o_ÎÎ&˜šê›ÍÓ§òõd×®ÎÀËõdìXöïgñâÄÇg3}zÃ2ë¬,ý{öóÍ7±´Ô§AcrräëG^žŒ=lŠ9Š*U‘õ<,,Õ«ýYµÊGGc²²¤äää³aÃ=22¤ꔸFèéi•¸FkiIøï;2eŠ/$3nÜÌÍõpt4F"øøl¢£3É sg+ìíÕ;’–ÆòåÍ™8ñ{÷†òÛo‘8;£§§ÍÇÉdfJ12Òæƒš•«oWE?þ"99Râ㳉ŠÊP:híÌÌ™%îWWWÖ¬i]dû¨QNüúkûö…¿øÛ¹ÜºK£¬ãºz5–3gž¢­-ÁÊÊ23¥„‡§“-wŸ=»è÷  7WŠ©iíuïhÙ²%›7oföìÙ8;;3kÖ¬ê–$¨ôêe«\+ûõ;››)R©ŒÐÐ452ãÉÔVss3åÀpŽÂÙÙDåzñbÕLù£G;³{w0C†œÅÝÝ”ìì|ÂÂÒhÖ̼ˆó«&ôìiKë֖ܺ•À€gpu•k “k.СC=Fvfÿþ0zõ:EƒFÔ«g@JJ.QQdgK™5˃Áƒ_fè0ÀŽ?Öã»ïBˆŽÎ [·ÊË„^VýýõŒ5kî`l¬ó ÍãÇ©¤¦æba¡Wb0¢‚âžg+BzzÞÞlÞ|{{#LMu‰ŽÎ S§?ˆ—?ßîXìþzzr»EIμK–4#""Ó§Ÿ²dÉ V¬¸‹‹ ††Ú$%å•NNN>ƼöšU¹ÆñÎ;øãhn܈§gÏS4h`Œ¥¥ááéÊq|øasôôÊ—³[*•)ײü|Éɹ„…¥)Çݼ¹ÞÞíJÜO»vu.4Û¯Ÿ¦¦ºÊ*;#GÿýW”²Ž+,,O?½Ëš5w°´ÔWVÀŠŠÊ 9Yî>v¬³Šc~A÷s…«{ÕŒùæ›o9r$³gÏæ‡~@_¿ü•'ÿ„½[ػˋ°wk†°wËönaïþ'Q;ïk‹/F&“áååUÝR*Ì?i,ÿ÷_Œl‡ ¯F^Õ-¥Âü“ÆòO"<1œ­—¶rûÉíê–R)äËò¹}‹¯®|ÅÖK[ O /}'@ x…Œ3†×^{+V •ŸùK ʤl½´•ãÇ«[J¥šÊžë{Øzi+¾a¾Õ-G T°³³cÙ²eìÚµ‹‡V·A §W/[6lh‹¹¹ññÙܹ“ˆLÞÞí°±‘;ëÙoÅŠôéSŸÇSyð ™ÜÜ|:w¶b×®Î*ÎVV|þyLMu‰‰ÉÂß? _~Ùòeóò²ÅÛ»Šæü|ë×·¥iSó"í=<Ì8x°^^¶dfJ LÆß?‘¸¸lœMxÿý¦EFŽtB[[BHH*™Ñ²eåeY-‹~WWÞ~ÛKK=ž<ÉàÖ­?NÅÂB¹s3}º{¥é*+'ºÒ»·-yܹ“HRRááéH$r'£Ý»» ¥U±—N;[qìXoFŽtÂÄD‡èhùwDRR]»ZóóÏÝ*ä°;{v#Ö¬iII9øû'ðàA2ZZÞx£?ýÔ­B™ð£¢Òñó‹ÃÏ/Ž;w‰ÍÂÒRŸÑ£9r¤'cƨA^p¿Â?³ydøpGåw>dˆúúU—ñ¾¬ãZ¾¼9ݺY“Ÿ/#""[· MC"‘Ð¥‹5¿þÚW×Ú—ý·,|òÉ'4oÞœwß}—ÔÔŠe¶ü;°µ5dÏž.¸¹™’‘!åîÝDž=Ë`æLw ’;Èu”>Ü‘9s“˜˜ÃÝ»‰¤¥åáìlÂwßuUqP•H`ݺ689“šš‹¿qqÙ,\Ø„±cËç¼accÀ÷ßwÁÝÝŒŒ )÷î%“ÉÔ©njNŒŒ´Ù»·;&¸¢««Mpp*·n%•Ž©©.S¦¸Y[µ²ÀÃÃŒT´µ%ŒQyŽFeÕ¿ti3<<ÌHHÈÆß?ÀÀ—ëdž m+MWYéÑÆ7ßtFWW‹‡SˆˆHçÙ³L23¥´o_—Ÿ~ꊃCéÎÊ%Q¿¾!‡y1gNcåzçN"þþ‰DEeШQÖ®mÞ=]ÔÎSMhß¾?üÐfÍÌÉÌÌ{q—@V–|¿þÚ£B™ãSRr•kÙíÛ‰DFf`` ——-;wvæóÏ[#Qs+Sp¿Â?÷î%©=VëÖ–ÊuÎÕÕ”V­*^ ²Æ5mZCÞx£FF:<{–‰¿"¦-ÅÝÝŒíÛ;ðÆ ªLoM gÏž,[¶ ooo._¾\Ýrµmm ;v¼F÷î6äåÉ J!88•nÝl”Á7ê®}..&lÝÚmm‰òÚÔT—Ï>kàAö*mçÎmL×®Öäææsÿ~2§2`€½ÚÀÀ²hîÙÓ–¼<¦’JçÎV|þyµû|úi+>ü°9ÖÖDFÊŸÅBBRÉÏ—1h=C†8¨´××׿õ׈ˆHG*•1fŒs¹´V†þ©SÒ¥‹5/×ÔÔ\:v¬Çž=]ª­:˜ƒƒ1sç6¦~}¹3³âÙ6>>''c¾ø¢=Ú—ÞQ Èm.X»¶ ×!+Kn¹ySÕžpüx/6,ß:ja¡Ç¾}ÝéÓGî8–ÆÍ› ÊqlßÞ‘aÃ*¶v(Ö²ë×ãyô(…ü|-ZX°zuKè¹¹^‰û©ûÉWãGm` ­tÆ×Ò’0|xÕfð/˸zõªÏÔ© ±³3"!!›€€$’HNÎÁÊÊ€ šðñÇÿ줊–––|ûí·gÐ ÍÚW_`Ú¾i,|©í§¾²ãV«O¯æ÷ÀßIÈxYæwט]twí^ªÁ?‰?þ0á½÷l©P?!!! <˜Õ«W3vìØJR'¨JæÎ•gzݶíù+;fv^6M76¥{¾ùÕ+;nU°Ïßú}ËãøÇÊm³:Íb‰×’jT%þiTÆóT~~>£FÂØØ˜~ø¡Õ ªŠÊº?+/¹¹ù<|(Ïx×°¡)ùù2zö<…çÏ÷S¶Û°!€¯¿~ȱc½ðô¬ÃóçY66ï§Žúõ ‹Í íïŸHV–77SêÕ+Úâ¾ÇòŽKAnn¾2K¡¡¡NNÆ¥:s¥0xðŸÌ˜áÎÒ¥åa]Tôy*>>ž×_6mÚ°}ûöÊ”&¨bªÃÞ]yµ''cÌÍõxûí+œ=ûŒ¿þê¯ü½pá9Ó¦]fùòæLÚ””\BCS12Ò¡aC3µÁ _c=J!3SŠ««‰Òñ(44 3,,Ô;D–Usll§áînªvýÍÍÍ'$$•ÌL©2ÛnqÎ0aai<ž…¡¡6-Z”/ø!=={÷’°·7TÀRý ÙDF¦cd¤ƒ½½±Úõ©:ÈÏ—ñìY&[¶<ÀÊÊ€wÞñÐ(€fÚ´Ë\¸ðœÀÀ74ÎÌ®Èè,‘€½½‘ÚŒïYYRüý13Ó-sõ‚˜˜,ž>Íd8:š”{^Ô¡@"‘;ìš›ëáà`Tì¼+¼Ÿ:ŒuhÖ¬¨SÀãÇ©ÄÆfce¥_!Çâ¾ÇòŽKA~¾ìE•«L$ööÆÝK´k÷; sø°W¹ÇTTÆóÔÂ… ñõõ娱cX[[W¢:AURöî‚<{–ÉÓ§™Êgâ]»‚ùì³»¬_ß–#ä;²³¥4mz”>}êóÕWÈÍÍçÑ#yð‹‡‡Y‰ÕH¢¢Ò‰‰ÉÆÁAž…]ñ¿nkkˆ“Sù0 ?ÇggK¹};±Øg_™ ÂÃÓHHÈÁÒRþOùøø0gξøâ ^ýõJV'¨*„½[Ø»…½»d„½û%ÂÞ]}{÷?77·rï[#ê'ß¿Ÿ¥K—ò×_!“ÉèÖ­ÞÞÞ¬]»–ï¾ûŽØØXêÕ{y“ššÊ† 8pà¡¡¡èêêÒ®];–-[Fß¾}•í–.]ʺuë¸uëþþþlذàà`lll˜6m+V¬@«P ¾òôíççǶmÛxøð!sçÎeãÆlܸ‘%K–pîÜ9• 5iiix{{sðàABBB022¢M›6,Y²„>}ú”ú]EFFòñÇãããÃóçϱ´´¤W¯^¬\¹’Æ«ÕçëëËÖ­[ ÇÎÎŽiÓ¦±téRttä§¿OŸ>üùçŸtëÖMÙG=8þ|±c)MÏëäþ“û,=´”¿¾˜îÝðãÍÚkùîòwÄ~K=“ó/+• '7pàÆBãBÑÕÖ¥s;– \Fß&æÈÁ¥¬óYÇ­•·ðôgÃÉ Çccfô®ÓX1dZ’Bó¯}û…ú±íì6>ÈÜ^sÙ8z#OndÉ%œ[|N¥BMZvÞ§¼9xã !±!éÑÆ© Kú/¡§ó/!’ŒÏ=ž§<ÇÒØ’^{±òõ•4¶-pÎ èó öeëŸ[ ÇÎÜŽi]§±tàRt´^Ì¿M}ø3ðÅü[W`þyôàü’óÅŽ¥`µ<”WGy÷¨WO¿BNÀšè¨ˆ>Ðü<*ÈÉÉ' í US¨) 0€ &°jÕ*:vì(‚k¥"ìÝêönÍöîÊÕ!ìÝEönAM£Úƒvúˆüü|V¯^]¡¾×¯_ÏÞ½{•ç««ñù‚øøxºuëF`àK‡ðŒŒ N:Å©S§ÈÍÍUÒ¨#44”N:£ÜöüùsöîÝËñãÇ9{ö,íÚµSÙgݺuüòË/*}¬X±‚    e-MÏëäÁ³t^Û™äÌóïî\ ½F['5ó/#‘nëºð¤ÀÉÍâ܃sœ:ÏÓ`BÇBóïì6v]*0î„>:úù²|V]]¡¾×û¬g¯_ù'+aþ¥ÅÓm}7Ÿ˜9œ 8Å©€Sä~« ¤QGh\(>ëDLjsžòœ½~{9~ç8g¥s¡ùwb¿üý‹J+~[Aг ~˜^ùW-šžÁ¿ú}Dûí©kT—N}$‚vAfΜ9ìß¿Ÿ½{÷2}úôê–#T)c[Že^×y¸ÖuÅ'ÈGí‚M»víèÕ«Û·oA;‚Ù´)€õëïáädŒ®®aaédfæad¤Í¬Y¯DƒÏ¾ÿ¾ô¬‹“&¹1`@É/V«šÚ¤õURZ†×´n]Ÿh¼¼NáêjÂäÉn Ú jÄUµýÜ×6ýóæýMppŠ2+j«Vsrª)téÒ…ñãÇóé§ŸÒ£G,-ÿãT >>OXºô&ööÆXZê‘NRR x¾ ááé,[v³ÔvíÚÕeáÂ&¯@QñÔ&­¯’Ò*¬¦U+KމdÊ_<<ÌèÒÅš>¨Þ̯¥QÛÏ}mÓÿÕWAœ<ù”GþYk´©©)ëÖ­c„ øøø0`À€ê–$¨Á%³ví=êÖ•Wyþ<“gÏ2xë-×2ÀU„™3¯žžWbccvìxí•è)‰Ú¤õUQÖ<­ZÉV·m{ÀDckkÈwßu©e•Km?÷µIÿ… ÏÙ¶íaai$&æÐ¡C½2Ûkj*K—.åÂ… |òÉ'lÛ¶­ºåj8ÂÞ]6j“ÖW‰°w¿¤¦žûÚ¦_Ø»5•jÚY´hÉÉÉ <˜µk×âêêJPP‹-âÔ©SEÚ/^¼˜€€FŒÁ²eËðôô$;;›S§Nñî»ï2wî\† †±ñËhºŸþ™­[·2jÔ(LLL8zô(S¦Laûöí|ôÑGH^\õËÓ÷ÁƒñööfìØ±ØÛÛ—8ÖùóçHóæÍùüóÏéСÚÚÚܸqƒuëÖ)uǼy󈉉¡{÷îlÚ´ OOOÂÂÂX±b‡bæÌ™ÜºuKe…¾qãÆa`` ,cùã?2eÊz÷îÍ™3gX³f +V¬àâÅ‹tíÚµÔóV-šž‡WÉ¢}‹HÎLfp‹Á¬±W+W‚ž±hÿ"N¨™ûð$€mF°là2<ë{’—Í©û§x÷Çw™ûó\†µ†±~ùwíg¶ŽÛʨ¶£0Ñ7á¨ÿQ¦ìšÂö³Ûùèõó¯}¼yï1ÞŒm?{óRæß¯ó |Hsûæ|>âs:¸t@[K›á7Xç³ ¥Ì¿_æ“Cwîl³ Ïúž„Å…±âÈ Ý<ÄÌïgrke¡ù÷B߸ã0Ð5Àçžs~žÃWdJç)ôöìÍ™…gXóûVü¶‚‹\¤kC æ_9´hze'_–Ïå°ËÜ~c}cz¸öÀ¡ŽC‘v¹Ò\.†^$")™L†“…;c ój ©Å1 ‘æ/ÂÃ9p„î®ÝiQ¿—Ã.ˆ¹¡9 ÀT_•Ÿ™›É™GgˆNŽÆÁÜþýÑÕÖ-¥w@ ( ÆÇ·ß~Ë„ 00¨Þk¨ æÈÕð«äËòi× -ë·TÛîzÔuÆ>$-; sÚ;´ÇÊD³ ¯UEgçη•ʤü×÷¿¸ÖueˆçŸr5â*Z-¼Ü¼p²p@&“áæK`L &z&ôoÔK#aÈ•ûï¾ËÈ‘#¹|ù2;k~ ü»˜9Ӄݻƒ NUnkܸŸ~Ú‡W“éîéÓ üüâJm×·oýW ¦dj“ÖWÉÊ•-iÐ@ólr x”Lhhþþ‰ºÈ€fæß•ÌíU`Ü'ðÛ­ß8p㑉‘8Z:–»ï}°°¯ó/7“ý×÷cilÉé…§±1+0ÿšô¥o“Ræ_v:'îžÀÚÔšcsŽaføâœÛ5á×Y¿Òju+nGÞæáó‡xؘ}æ«è×aÒ|)wNäÀôö,Çü+§M΃ ìdçe3ù—É\ ¿¢Ü¦£¥Ã‡½?dRÛIÊmþOü™}h6±i±*û×3®Ç–7¶Ðѱc©ÇÚvi2dé2Ò5bFÇŽBsÂÃÙzi+ú:úl¾¸™K¡—”ŸyÿåÍÞ {É•æ2mß4ž¥>S~ÖÔ¦)û&îC_§æ¿p5ŸéÓ§óã?rìØ1F]Ýr5˜mä«+_©l{£é¬²m‰Ü$)3‰iû¦qçé•vú:ú,©í§–zœÃ÷™©±®‰m'baX9¥•äIóØzi+}ÜûÌvßíÊÏ>ûó3¶ ÛBç.Ì:0 ¿H?ågÞ¼ùõ­_q«ëV©zÁ¿“–-[ÒµkWvìØ!‚vÅòÞ{yï=ÍœD–,iÊ’%M+]ÃÔ© ™:µa¥÷[Ô&­¯OÏ:ejïæfÊéÓ%Ûÿ£å‘ü IDATjµýÜ×6ýýÕ¿º%T&&&,]º”… 2uêT5jTÝ’5”þýíèß_³L Ý»Û<¼Ò5xzÖ©’~«‚Ú¤õUâàP¶ CCvï®ùYû RÛÏ}mÓ¿~}[Ö¯o[Ý2ªŒ>øvîÜÉ{ï½WÝr53~ýµ»Fmõõµ«ìüÖ­!UÒoUP›´¾*ÌÌtËYUv™ª¤¶ŸûÚ¤äH'FŽtªnUF·nÝèß¿?ëׯ§[·nh•µ\•à_ƒ°w—Ú¤õU"ìÝ5ŸÚ¦_Ø»5•j Ú C*•Ò½{÷"YÂëÔ©C§N8~ü¸rÛãÇÉÌÌäþýûèêʦd22™Lù;@DD„J_^^^EŽíê*ÏB“ššZ¡¾K ¶QJvv6T ØÑ”°°0òòòèÖ­›2HFŽŽýû÷' €àà`•@™þý‹^|AGÁÁÁeÖQ-šœ‡WIX\Ò|)Ý=º+vÔ1¬C'×N¿S`þÅ>&37“ûOï£;»À¡ÐI(4ÿy9¶«Õ‹qg¥V¨ïÒ‚m„Ɔ’—ÍÀæUv4%,>Œ¼ü<º¹wSÉ(ÐÑÒ¡Óþ< 8&X%P¦S5óïEÐQpL9ç_9µhreg×ß»ÈÈÉà¦o`ebEÀ³®„_á“3ŸÐȪ‘2gí¹µÄ¦ÅâiíI'§Nèhé–Æ¥ÐK<Œ}¨QÐÎöËÛ‘æK5ÒUϸ^•í(Øå·‹¬¼,F6‰…‘¾¡òŒý«N­âIòô´õ˜ÐzÚZÚüø;Ïøåö/Ln7¹Ê4 ‚ÖÖÖôïߟ_~ùEíŠåfôMÎ<:C׸[¹ó4å)'ƒNr$àÎÎÌí*fÞs}wžÞÁÆÄ†^cP‡èähü"ü¸uCã Ëa—5Ö6Øsp¥í(¸}‹³ÁgéãÞ׺®<Œ}Èùó¬<¹’ :p?æ>£ZŒÂÜМK¡—xóùrÄ—U¢G üû˜0aï¾û.¯<9‰@ õ <˜o¾ùooo¾ùæ›ê–#àæææ¼ýöÛ|õÕW¼õÖ[XZŠŠØ@ Ô.\È Aƒ8räÇמ g@ þé{wí¥Zƒv(ªŠF¨  ??_¹]*-Þq;''GåoCCÃb©8Fyû®[·n±mÕQÜX_ÕþûxÕZ49ÕA±ó¯PE|Y9"+aŽäšzjÆM¡ùWξ뚔qþQæÕ4ÿ48‚²“™›É‘©GT²Óïú{Ÿýù;ýv*ƒq2p±táÈÔ#hI^fàHÈH !#A£cÍé<§L•vª2|føPßL^ÒQê%eзƒ¸v™ÎÎùvô·èiëòjýwôçlðY´#*1cÆðÖ[oˆ§§guËÔ@2X?x=#šPnóêϘïǰûúnÞíò.Úmå:|hÊ!lL^wçHsx Ñ±†7N;‡vk³4ªº—ï ™ |;ú[z¸öPnûðćìóßÇõ¨ëœœyR9ÎÜî¹ôÛÑs!çÉd•r¯+½zõÂÊÊŠƒ²`Á‚ê–#¹-yá…̘1CA><Š}DcëÆôóèÇÏ·~f—ß.Æ´ƒ«¥+‰=m=ZÛ·ÖèXÛ՜ìZMmšªìtqîÂ>ÿ}Œl>R%0IW[— :pðîAbÓc•÷'@P´µµ>|8GŽÎF@ Ô ¼¼¼hÔ¨ß}÷k×®­n9@ ^`hhÈøñãùñÇyçwT|F@ T/3fÌ`РA\¸p=z”¾ƒ@ ‚W‚°w×N´JoRu˜˜˜Ð¯_?ÂÃÃ;v,dddàïïÏÈ‘#‰UioddÄ›o¾‰¯¯/ãÇçêÕ«$%%‘••Ńسg¯½öÙÙÙeÖR•}ƒÜØ4zôhâããéׯ'Nœ ..ŽÄÄDNŸ>Mß¾}K¬ðcllÌÀyþü9Æ ãæÍ›dddȸqã¸wï­ZµÂÃÃCe¿Í›7³iÓ&ž={Fbb"{÷îeÞ¼yŒ5JÙNQjúäÉ“ddd”8–òj©i˜è›Ð¯I?ÂãÃûõXž‘“¤?#ÿ7’ØÔBóOψ7;¼‰o°/ãwŒçêã«$e$‘•›ÅƒgØsy¯}þÙyå˜UØ7€¡®!£Û&>-ž~_ôãĽĥő˜‘Èéû§é»©/Òü柾1›äyÊs†}9Œ›7ÉÈÉ ði ãvŒã^ô=Z5h…‡M¡ùwf3›NoâYò33Ùë·—y¿¼˜m Ì?ãó/à$9¥Ì¿rjT ÌÙ¦%ѾŽ=)Ù)Êmó»Íç£~q<ð8½¾êE‡­˜u`<øCãcm»´­—¶jôóíµo+e|Åakj[d›¡®a‰ŸeæfV©&@ðïB"‘0`Àe°´@PsµÛk·bîêÒ•½öÍØÇÒbS Æý4Ž]ïÒxí:|ï°ÆkôÖK[IÌL¬œAª¡a aœ 9Ç£ xÀ¯%¥kûåí%—¤žq=ftœ¡ù@ Ò¿vìØAPP5ªn9‚FTR”Ú튵»à:ݾA{Ú7h@LZ ~‘~|þççø<ðá—·~QVE,ŽÃ÷s9ì²ÆÚ{ÆÂÐBãö@PÛhÖ¬vvvœù„={ö¨´óôôdçÎ4iÒ==½RÇR-5Ïúžø~àËC050ÅÔÀ”ÍréƒKäIóÐÑÒÁÔ Àü3²àʲ+¬µž¶Nm1Ñ7ÁHψ&vM˜Ùm&×>¼†n9ç_ö PϤ~ËýX>x9m£¯£µ©5š àÌÂ3èh•2ÿ¬\¹þŸëLï:{s{t´t°6µæÍöoò÷þ¦³šù7p)[ÞÜ‚»µ;z:z¸Ôsá“aŸ°gÚ•vžõ=Ù9y'Mìš §£Áü+‡AÕpôþQBâCT¶í¾¾›øŒxÚ:¼ ¨:|Np£%ѵ®+SÛOÅÖÔ–ƒwjt¬9çð^×÷4ú™ÑAì‚>-[¶¤nݺ\ºt©º¥j a‰aº{He›ÿSN?<™îVî\ ¿JzNº²µ‰5C<‡ðšókÜŒ¾IhBh©ÇÞl¸Ækô{]ßÃÒȲr+5 ‰DBÏž=Å-A ÃÐÐÞ½{sìØ±ê–" ¯¿þ:W¯^åùóçÕ-E Aúôùöî3 ªcmàøA:(¦ "‚ bï½+j£±$^‰˜DS4Õû&–4KKbÆØ‰‰]ƒ ÁŽ QDDi.¼¸¬¬´Á}~ŸvçÌ™ó̆xvŸ93Ó###þúë/m‡"„Bˆ$ß]ý(rŸ`뎡C‡°qãÆ (_BB¸¹¹qæÌ™ oÿY÷Á0gÎNž<‰¯¯¯¶Ã©t …‚·Þz‹¹sçVH{ wðøÈ77Î|&eõÁ昳s'?9‰¯ã³ù÷W™ÿþ$&&’––¦QÝúõÝX° ‘Þ½5«_^:ÈØ c±4¶äAÖzxôÀÆÔ†ÿ!äJ …‚5/­! ^¾j„…‘ÍšáhîH¶2›cWq6ñ, m²}ìö§ûãvÅî"6)€¿/þÍ™gà5' 'z7ìM}ëúÀ£~ØåCÆøQkgÖþY, [Æ_¯þ…»»Ú±^K{‘š‘Ê‘7<… !ªš¿þ2%(ÈŽ .–^¹ŒÞxã ”J%‹/®ð¶Å“›4É€ï¾{zÍ™3ñúÚ KcK’$ÓÁµî6î\O½Î®Ø]<ÌyÈä¶“™ÔvcÖáD Z:µÄÉ =]=bnÆpðÒAtº„L ÁÊØê©Å_Ptb4ûÎïàü­óìˆÙAs‡æ´qn@“:MèèÖQ­ß]teq úÿû/ìç?›þçÝ>edó‘jÇ>Ûýk"Ö°oü>Õ½_ñ|©¬ßSþù'ï¼ó'OžÄØØ¸BÛO®2¿Ÿ !„¨•õ{jïÞ½Lœ8‘cÇŽai) TEÚÈw !„Ð\eýžÊÌ̤E‹¼ÿþû²Bp¥|·Bˆ²©¬ßSS¦L!11‘5kÖTh»¢bH¾[!ª>Éw?;ÜÜÜÊ}nÉ[k<%ƒf„ 4mÚ===ÂÃÙ:u*<`È!ÚO<ã/Ì„hZ¯)zºz„Ç…3uãTd=`Hsùû¢$cýÇrèò!¶EoS•ÕЩÁô.ÓUv:×ïÌžs{سCí|‡ZÌì5ó©Å[”Ýçv«Å¨½w·qWMÚBˆªÆßߟï¿ÿžÜÜ\ …¶ÃUH3ûf¸Y¹±äØ‚/«Êx `b›‰ª÷­œZqêú)ö_دv¾‰¾ uùHkv¢ÿfÁáje'Np"á#šPMÚBˆªÆßߥRÉÉ“'iÓ¦¶ÃB!Äÿ´jÕ BBBèÛ·¯¶ÃB!Äÿ@HHˆLÚB!ª˜¶mÛ2}útÒÓÓ122Òv8B!„øÉwW/UbÒÎîݻٺuk¡ò† òÎ;ïh!"ñ<ÙýÏn¶ž,âï¯vCÞé.BÅɉ ¶A´tjÉZþ‡C—{3c}c:ºuÄ¡–ƒZýï}ORZá áħÄc¬oŒ‹¥ ­œZ¡£ÐÑR/òtwï^âÊúõ­MØÉïwSû¦…êµsi‡‰¾ V&…nÑ|™3+&`!„( iÓ¦¤¤¤€£££Æç-Z´[[[+1ºŠsùòe‚ƒƒIMM¥yóæ=ü|çÎBCC¹qãYYYØØØ`kkK³fÍžéjèÖ ¨m®V®ôõìKoÏÞ„] #'7‡æÍñ­«¾ âZþ‡‘ÍGz5”ËÉ—¨S³í]Ûc¬§ÝÏÉ«¶AmƒŠ=Þ¤NÕë‚ý~œ‹¥ AmƒÔêçëèÖKcKjÖª˜ …âlmm©[·.‘‘‘eš´ÁáÇ}šÐÐP²²²0`NN¥ï.GDDIIIÔ¨Qìííñññ)õ_•´Ãzusíî5ö_ØÏ¾ û½J¶2›åÖÓÞµ½¶CBˆRµnÝšï¾û¥RY¦ûŽä»ŸÝ|wI;¬W7©©¼|}ç÷|)˜ÔŒTÆ·Ï»ßÕvhBQª6mÚððáCÂÃÃi×®ÆçI¾[òÝÕ…ä»…Õ•ä»KVÕòÝUbÒζmÛ˜;w.§N"))‰ºuëÒ¿>ùäLMMµžxÆm{cs÷ÎåÔÕS$¥%Q·V]úûö瓾Ÿ`j B%òJ¾®èàÚ¡ÄslLmèÕ°We‡Vf=žžžlÞ¼¹ôŠH¾[òÝÕä»…Õ仩êùn™´#„B!D5fkkKRR’ê}xx8çÎ#-- üýý±±±Q;gÑ¢EØÚÚÀï¿ÿΕ+WнF§NðööV+‹ŠŠâäÉ“¤¥¥aggG‡°²²ª¸Ž­[·Ö¸nll,û÷ïÇÌÌŒåË—‹¾¾>ݺu«¨…BˆbÙÚÚ’––ƃ066&%%…ƒ’˜˜ˆ‰‰ 4ÀÏÏ…âÑPDD‡fðàÁ888póæÍ'þóÚk¯©•¥¦¦røðaâããÑÓÓÃÛÛÿ 훹¹y™vÍ^²d 999L˜01cÆ[ÏÙÙggç ˆ°ê[±†U᫸v÷¶¦¶ õÊ„VÐU<ܽ“~‡ýÈžs{HLKÄDß„úÖõÑl=Ü{¨ýíTe_ýýKŽ-᱑Áªyýv¶pfJ‡)y« g§óuð×ìˆÙAJz Mê4áÓnŸâiç©íð…Ï '''tttˆÇËË‹ììl:ÄÕ«WÉÍÍÅÉɉ֭[chh¨:'ÿž Z}pÑ¢Edgg{‘#Gbaa¡z¯T*9zô(±±±<|ø:tè ñꇚêÙ³§Æu7nÜHRRÍ›7端¾BGG§ÈzææætìØ±‚"¬ÚB®„0÷Ð\Î&žÅXߘ® º2µÃT,-Uu”9J~9ù ›Ïl&þn|Þß…ý½úó’ïKéi±š;xé c7ŒåÃ.âiëÉ7¿!æf µ k1¢Ù&´šÀÏ'~fõ‰Õ\»{ sÞn÷6½öÒrôBˆg•““ ª÷’ï–|w¾„» |±ï ŽÅC™£ÄÏÑw;¼[èwã X¾‚sIçHËLþ–=í\Ú1®å8ìLí´}Ùd>ÌÄëk/º6èÊÇ]?æó}Ÿs,îº:ºt©ß…Oº}‚‰¾ ‡/fþáùÄÜŒÁÔÀ”aM†1¹ÝdtE§Bˆ'Q¯^=®]»†R©DWWWòÝ’ïV#ùnÉw !´GòÝTõ|·LÚB!„¢³µµ%&&†””ÆŽË™3gÔŽ0uêTµ„áÂ… ñööV bþñÇ8p ÄkäbÞºu‹·ß~›£GªÕ122âÓO?eÈ!ª²­[·¯q_ÿWÁÁÁôïß¿ÂS…Bˆò°µµ ))‰£Gòù矓‘‘¡V§aƬ\¹kkk osÁ‚ààà@bb" ,(ñ17nÜÈ_|AZZšZ=.\¨ºÏ^¿~M›6iÜww÷2%D R*•>|…BQâæódÉÑ%l?»]õ>ánsÎåÒíK|ÓïUù«^åÌGßíÒ³Ó¹uÿÇâŽñ׫ánã^âuÂÂyqÍ‹ÇÕdzóÌ/COÊfièR¶EoS½MŠåõͯ³nÄ:f˜Í‰„ªcá ἺñUL8€AŠMî !D5°²²"11‘Ó§O3aµÅ0¬­­™?¾jÀ2ÿž¤*[¸p!éééÅ^§_¿~ª{ïéÓ§™‘žÎ!?`ilÉ(¿Q•âùV»vm”J%·oßfÿþý’ï–|·Šä»óH¾[¡-’ï~¤ªç»eÒŽB!„Õ˜••ÉÉɬ\¹’3gÎ`ggGçΩU«×®]#,,Œ'N”˜4ìׯ_¡•6mÚ„½½= ò’ãÆ#22ÚµkG­Zµˆ‹‹cïÞ½LRðL) IDATŸ>úõëãëë ä b†„h>¸Õ§OŸrb^ºt ŸBÇBCC U+ëСC‘u…BˆŠ’ÿPÍ7ø¿ÿû?233éСîîîdffrîÜ9BCCINNV b>ÎÎήȭÉãããùý÷ßùì³ÏTe{÷îeÚ´ièêêÒ©S'ÜÜÜÈÊÊâÈ‘#?~œwß}—¥K—yƒ˜% Ž>®OŸ>åÄLLLäþýû888ù ÑãqòŸÿü§\ת.vÆîdz—éôõì‹A ^:ÈŒ=3ؽ@ï@Z;·æfÚMÎÜ8ƒ›•_öùww2frþÖyV…¯ª–«æî>·›Ï{~Nw÷îè(tX¶”ÅGóÚÆ×072gå +ijß”;éw˜¾c:!WBøãŸ?ÒdHé !DÙÙÙ‘˜˜ÈìÙ³IJJÂÓÓ“–-[R£F ®\¹ÂáÇ9wîœjÀ²('N,´ò`ff&+V¬`äÈ‘¸¸¸píÚ5ÆŒCjj*>>>øøø ¯¯OTTÇŽcܸqìÙ³SSS¾ÿþ{”J 'sX[?Ñ æÅ‹hÒ¤I¡c›7oæÚµkje/¿üò3ýàðŽ˜z2±õDlMm‰ú7ŠÏvFlR,KŽ.áíöo°çÜŒôŒøºï×´vnM \I¾Â¶¶a¬o¬å^”ÝŸgÿdŒÿFûÆÒØ’àKÁ¼µí-^@Nn³zÏ¢Ký.è(tXttË–±ÚÎ:22’!C†°bÅ æÏÏ[±fРAøùùiÜKKKë>.…%33³BÇBCC %H-,,žéAL!„Ú—¿õwJJ ™™™ 6Œ™3gªÕ9wî666Ŷakk[hóƼüòË|ûí·tïÞ]Uþõ×_cddį¿þª¶zQnn.o¾ù&»víââÅ‹¸¹¹Q·nÝ"G‹ãî^ò w%¹ÿ>Pô= bš››?óƒ˜cüÇ0Ö¬ê}¿FýÈÉÍaÊSØ»“Öέ172ǰ†!¾u}ñ©›÷ÅHÏGüý5ºŽŸƒ>¸P)}(Im&ñ¢ï£•ßiÿNo ùA2?¿ô3^v^˜è›ðn‡wtenWø…Ïîß¿Orr2...lÛ¶Mmå½äädÕïìâ¼þúëjï³³³™0aÆ cÚ´iªòü‘ÔÔTf̘ÁË/¿¬vÎÊ•+ùüóÏùý÷ß>|8o¾ùf™V|%ݧ7oÞLXX˜ZYÏž=ŸéI;>u}˜Ý{6 …G.¦ÛÝØ»S5i§vͼ‡ÕººwEW‘—ñ´óT­ò¯‰Ø÷b+8úòkïÚž»|¨zßÓ£']tU=x5´ÉPÕ±÷:¾Ç†Óä-„¨4fffª{4H¾[òÝyŒõŒY2d VÆyßCܬܘ7`}–õ!‰üïEÝ£µ8/^üTbÒ¶v.í •µwm ZùW_WŸ™½fòÉîOˆMŠ% ^ mÒ±öµìŸj¼¥E½jïu:Ô1«Czvºj3_~oÝ¿õÔâB<_ ÉÈÈ G,_¾œ 6йsglmm¼‡lËò ­R©$((;;;>ýôSµc!!!èêê’œœÌ?ü vÎD,ø[zÒ¤IOÚ=™˜˜pçÎîÝ»GÍš5ÕŽÒ²eK¶oß®ZñÿYÖÖ¹­ê{S>GsG\,]¸œ|YUöaçycët^Ü™v.íð´ó¤iݦ4²kô´C®-[*«[³.þêOéêèbgf'÷h!D¥100 ==]òÝ’ïVÓÈ®‘jÂN¾:5håÔŠ‹·/w'kkÆø!,>Œ>ËûÐÁµk7¦qíÆø9ø¡§«§¥èËÏËÎK5a'_þïå"ïßfy÷ï[÷oáhîXù !ž+†††€ä»%ß]˜ä»óH¾[¡M’ïÎSÕóÝO4içØ±c$$$J` ¡ óæÍcÞ¼yÚCž}˜?`~ù: ƒ…Ê E±å€Æ+o !DYåb¾õÖ[Ô«Wß~ûÏ?ÿcccš6mÊ€èÝ»·Fm)•JÞ~ûmLLLøüóÏ ™%''£T*U«ô¥àÃ>ß}÷]™V|íµ×4ª[777ˆŒŒÄÞ^ý!™ÀÀ@Õëþù繘´£)O;OöŒßCDB'NpüêqZ€…±óÌÇÃÆ£Ô6<¾ô@™£ÔèzÖ&Ö›tìIÃ.VI÷â"¡ ''§ÒâB<ß %ßä»Ë*ÿ¾ej`Êê—Vs.é¡WC‰¹æ3›H~ÌgÝ?£gŸRZ‚WÖ½BÈ•¯½kÜ.ܬÜÊ{IŠº—t,ÿsÈÉ•û´¢âéëë‘‘!ùnÉw—JòÝ…ËAòÝBˆÊ#ùî}Ê=ˆ©««K›6mؽ{7+W®dÊ”)åjçYrèò!Z;·V+ ¾ @=ózjå&ú&tmЕ® º›KŸe}ø!äÞïôþÓ X!žAX[[£££Ã!C2d999\¹r…ðÎ;ïÍ»ï¾[b;999¼ÿ~Þ¿ÇsæÌ)òwwÍš5ÉÊÊbܸqŶS¿~}Õëï¿ÿ¥RÃÉÖÖO4ˆÙ¾}{‚ƒƒY¹r%Ý»w/5oð¬;|å0oµ{Km :>%žËÉ—q²pR«««ÐÅßÑǼLãÆ¨[·®ÚŠ¥y¼½²?~<{÷îåÇÄÖÖ–áÇ£«««VçáÇäää*­8¾SúyöC¿†>/äÿöþ==ò‹ÏÜ8Âà Úd(^µ½°3µ#%=…ݱ»¼ˆKãçàÇ….T^G„¢»ÿ>ÎÎÎ8p€öíÛ£««‹ŽŽ®®®8;;³zõj6oÞ\â fnn.}ô÷ïßçûï¿/öÖºukÖ¯_““ (t<&&Fmåÿ7ß|³L+>‰¡C‡²hÑ"ÂÃÙ6mŸ|ò‰*¯PPvvö]§º8}ý4ÓvLãõV¯ckjKtb4ŸíþŒ‡9U÷h€¡«‡2¨ñ Z8¶ÀÁÜle6!WBHIO!ãa†F׊}/¶²º!„ÕZZZfff’ï–|·šÙ¿i<wýww®§^gîÁ¹\¼}??¬M¬˜ö×4j׬M—ú]p²pBOWؤXÎß:O¶2›Ä{‰¥NÚùùÅŸŸF—„¢ÚÉ_1_òÝ’ï~œä»…Bû$ß§ªç»ŸhÒŽB!„B»ø€Áƒ³nݺBÇ;uê„··7}úôaåÊ•¬[·ŽC‡Ѻuk¬¬¬HMMåÊ•+„……ñꫯª’´oe^VÑÑÑìÛ·€óçÏ®Z)©I“&jIßY³f1tèPΜ9C×®] ÀÃÃCCCRRRˆ‰‰áÔ©SèééáââòD± !„¥yðà79qâD<<OWuÐã3÷Ídæ¾™j弨V$ÌÉÍáï‹ó÷Å¿ ¯P(èרßÓµXm¾oCbZ¢Z™××^ª×Ç'Ǩ|+J !ÄÓ––†‰‰ o¼ñ4kÖ GGG²³³9vì 4lذÄ6f̘Áï¿ÿÎèÑ£ùᇠ9r$¼þúëìܹ“)S¦°bÅ |||033#))‰sçÎÉòå˱··`Ò¤IOÔ·]»v›7!äÌ™3lÛ¶S§NлwoÕJ‡ÆÆÆ|÷ÝwŒ;–Í›7³k×.Ú´iC½zõÐÑÑáöíÛ?~œ¸¸8lllʽ[@uÑÓ£'[£¶²éÌ&µr7+7Æ·¯zýo4'¯,²| ¯ý4Mùc Û¢·©•Ý0VõúûAß«M@Bˆªæþýû˜˜˜H¾ÉwäïèOÜ8T+7Ö3æÓnŸªÞÿ{ï_6žÙÈw‡¿+ÔF#»FÔ·®_¨üiÙpzÓwLW+[rl KŽ-`D³|Öý3-D&„šÉ_¤êþýû >>œ>}Z•PÌçïï_b¢rÓ¦Mª„ãã÷DPß"¼[·n|ûí·Ì˜1ƒC‡qèÐ!U=:tè `¬Ë–-#1Q}káÂ…ª×#GŽT b¼öÚk888ðå—_rõêU¶lÙ¢v®™™AAA¼þúëcU5¡ÕšÙ7cõ‰Õ\K½†©C}†2¡ÕU&uš°lØ26ÙDäHn¦ÝÄÂȂƵ3Ú4­œZi±BQýåbvîÜ™={ö°cǵãÌœ9³˜³óV \³f ‹/.²NŸ>}°°°ÀÁÁÕ«W3eÊ¢¢¢ˆŠŠR«çéé©À¬»wïfÛ6õIß»»»«1!ïûȆ øïÿËñãÇÙµk—Ú¹ººº 4ˆ÷Þ{›g;oÙÜ¡9/ú¾ÈÜCs‰½‹‘ž]tåÝŽïb¬÷h•Çͯlfýéõ»zŒ„”ŒôŒpµreH“!’ÿBˆ'”?iGòÝ’ï.¨–a-ÖXÇç{?',>Œœœš;4ç½Nï©ålçô™Ã¦3›Ø{~/—“/“K.ukÖ¥§GOÆøAG¡SÂU„B”$?ßíèè(ùn$ß]ä»…Bû$ß]=òÝŠ\M÷*ÂСCŠMvñ´( Þzë-æÎ«íPÄs¢²ÿýKLLT­àPšúõÝX° ‘Þ½5«_Ù6Gnæý?ßW[±/òF$ƒV "¨mAmŸlu‹òŠMŠeÆî óÆÀƵCAWS®òâš¹™vS­ÜÜÈœµÃ×ânódÛñ !ªŽ¿þ2%(ÈŽ .VJûŸ~ú)çÎã×_%==ÐÐP._¾ ämÞ¾}ûBÛ‡.Z´[[[ó$Y¼x1YYYÅ^#åÁ‚.^¼Hxx8ÉÉÉXZZâì쌟Ÿ_…nñ]påÁ¢<¾ò`AÉÉÉ„……qýúu²²²°¶¶ÆÏÏggç ‹¯4“&ÙðÝw‰¥Ô|:î&ÐqQÇB+öyãwmoÖ¾¼Vk±üu$ž¶žLï2½ôÊ•,óa&cÖ!,>L­\W¡Ëœ>sªÄ÷!DÅ©ÌßS¡¡¡¼üòË;v kkk.\¸@dd$‰‰‰XZZâíí§§údÀˆˆ>ÌàÁƒqppàÔ©SŒÚfµ™ÔvuÌêð÷Å¿Y±šé;¦Ó¢^ êÖ¬«í0…Õ@\\ÆÆÆªÕëׯ_lÂ0_³fÍhÖ¬™ê½¯¯/¾¾¾eº®¡¡!;w.{Àe4vìØr§££ƒ>>>‘B¡™«W¯’••¥úMkccC¯^½J<ÇÖÖ–  G‹ÙØØ¨½×„B¡ yóæ4oÞ¼ìA—A=èÑ£G¹ÎurrRå„Bm¸xñ":t$ß]ä»…BhÛ¥K—¨[·®jâŠä»óH¾[!„¶I¾»xU-ß-“v„BT:}êh;Œ*ãôõÓD\‹ žy=V½¸ Ãy«ktnЙÁ+Í‘+GhçÒNË‘ !ªƒ+W®Ð²eKm‡!ª1Gm‡Pe<ÌyÈÚ“kÑÕÑeÕ‹«p³ÊKj´wmB¡`Uø*Öž\ËÔSµ©¢:ÈŸX[U&% !„"ÏÅ‹Q(¸ººj;!„B““Õ+WÊýЬB!*ÏÅ‹K¤#„Bˆ§OòÝÕÇS´Ó«W/<<<˜7oÞÓ¼l¥x–úRÕ±ÿ½zmÆÃÂyó*ö}e{–úRÏ{ÿ«’±;Ù³“ÔÌTX7`”ߨ"ë]º}‰v~D`“@½ó¶¦?}ý4sÌá¿WðwôgMÄ¢ÿÆÖÔ–Ï{~ÀåäËlŽÜ̹¤s<Ìyˆ‹¥ C¼‡àiWx ½¸;qlÚJÌÍrrspµreh“¡¸Y¹ñ[Ôo, [ÀÆÓ9rùˆê¼µ/¯­è¥TG®ä]˜Ï0Õ„]….#š`ÚŽi¼tP&í!J•Í7ªÔª¢j8}ý4NoàZê5êԬà >/`mb]dݱÆâjéÊG]? [™Í¨u£ðsô#¨mëO­çhÜQî¤ßaÙ°eÖ0änÆ]6ÙÄÉk'IËJÃÎÔŽ=è\¿ð÷³»wÙµ•ˆ„îeÞ£žE=º5èF[—¶Ä&Å2c÷ ”9J¢þbø/ÃUç}Üícu o›_vñöEcB<¿®^½ŠR©”‚…šMg61}ÇtrrsTe["·0¥ý”"ë?NFv†ê}Nnaña˜˜2fýŽÆU{¨|ÈÉÄ“ügÓ¸“~G­Í‘›ê3”Y½f©ÊN$œàõ-¯“ü ùQÅËðKÄ/|Ðé|í} ‹ 5#Uõ:ÿ}Ifî›IÔ¿Q%Ö)èë~_S·fÝë”tv4wÄÜÈœK·/i|M!ÄóíÊ•+tìØQÛa!„â1'NœÀÛÛ[Ûa!„â1áááèëëãáá¡íP„BQÀýû÷9{ö¬ì†'„BTA’ï®>žê¤;v`ffö4/Yiž¥¾'88…BQä±êØÿ;13Ó×vâYêKq‚ƒã)æÏï¹èU÷WÌ_lŽÜŒ‘žcýÇâSׇäÉü|âg–†.-S[+¯ÄÅÒ… ¶AÔ3¯GMÚD\‹à³ÝŸa¬oÌð¦Ãñ©ãƒ¾®>QÿF±"|ïú˜–N-q¨å@èÕPfì™@_ϾttëH-ÃZ\¼}‘g6’–™Æ@¯˜˜ñß=ÿe¨ÏPz Ô8¾°ø0'í·ƒÁãî<È{ÈÙÆÄ¦Ð1[S[RÒS4ŒPñ<;uê²ò P¹žzOv}BNnƒ½Ó¹~g”9JvÄìàۃߖ©­ƒ—bj`ÊÔSñ´ó݆!Ê%6O %#…ªî»WS®²òøJ6žÞH«z­èïÕŸ”ôÆoOJz >u|ê3”:5ëpíî5vŸÛͽÌ{xØxðËð_ùëHø@Û¡!„â1‡ÆÏÏ##É» !„UÉÑ£GÉÉÉ¡uëÖÚE!„H¾»zyª“vÚµk÷4/W©ž¥¾”Guì»vÚ¡Âêú£ýF«Õã?†Le&Æzƪ|j9P/@ãøV¿´šÜÜ\êêéêiT/G ]ÝBÇò˲•ÙF(„xž………ѬY3 ´Ѝ"~þ,ecüÇða—Uå}<ûðÞŸï±%r‹Æmå’ËêWãi÷hòÌšˆ5Ü~p›©¦2¡Õµú½ö¦ÃÂl‰ÚB¯þlÚJJz ÝݻډnxÓáÜ˼‡™õP(Ô2ªU¦{ô´NÓHÍ,y7ž‚JÛe Ü£…ïÑËæÈ®Bˆ’?~œœœüýýµŠB! ˆˆˆàÁƒÕrŒC!„x–åææÂèÑ£µŠB!søða5j„•••¶CB!D’ï®^žê¤^½záááÁ¼yóÔÊ/\¸À²eËˆŠŠB©TÒ°aCF…O¡6îܹÃòåË9zô(©©©ØÛÛHß¾}Uu²²²èÞ½;mÛ¶eÆŒ,]º”]»v‘™™I«V­ ¢fÍš…Ú eÙ²eÄÅÅáààÀ¸qãpvvæÅ_dРALž<¹Ø¾”÷ššô§4š|~ãûøãY¼x1@©TÒ¶m[Þxã LMMˆŒŒdÒ¤I(•JNœ8AÇŽUíÌ›7__ß'úoYÞÏêIõêµ æÍëüXÌ),[ITÔ-”Ê6´dÔ¨Æøø^]ûÎ –/âèÑ뤦fbooF``úöu+Ð?%Ý»o¢m[{fÌhÃÒ¥gØµë ™™JZµªKPP3jÖ,¼KLhè –-‹$..3Æk‚³sM^|q;ƒ5`òäGïKy¯©IJ£ÉçW0¾?nÅâŧ9pà*Je.mÛÚóÆM15Í›ìy‹I“ö¡TærâD";®Wµ3o^'|}mŸè¿ey?+¡.6)s#sµ ;úºúôoÔŸù‡çkÜVOž…Vª?}ã4º ]æÊû7&77—\ò&Î={nâï¿ãUõ·o¿ÈÊ•Q:ôÖÖFܽ›IppÞñ””G¯óßÕÿòÄR–ÏJ–ñ0sCó"™]^œ:5ë*{õe®’+!ÅÇ@¦2“Z†µŠÜµ¦"Œüu$ÊeéÉëûã; ž–=Wî\¡qmõûKþ.Eùu„¢8ׯ_'!!€Íw&ϾŒ‡y÷Çš†…'Á×2¬U¦¶j›Õ.Tö ë7Á¶8ú5ôÕb±0²(Óu55sßLÕÄ M|ÝïëRwÛÉ?~åΕBÇ2fr=õ:v¦vÅîÄ#„ùBCCiÑ¢âB!Dù)•Jþøãú÷ï¯íP„Bñ˜-[¶P¯^=<=+~¡!„B”ßñãǹzõ*½zõÒv(B!„(@òÝÕÏS´ó¸k×®1jÔ(²²² dÈ!èëë³cÇ–-[ÆäÉ“iÓ¦ M›6%55•rûömFŽIïÞ½±°°àâŋ̟?ŸåË—Ó¥K†®jçÎXZZòå—_âååŵk×øâ‹/ˆˆˆ`Æ Œ1€«W¯2qâDrss5jýúõãáÇlݺ•?ü°L}ÒôšåéÏ“|~ùvíÚ…™™sæÌÁËË‹øøx¾úê+bbbxûí·Y½z5ÞÞÞ8p€.]ºàëëË7ß|£:ß××·ÂbÑô³ª,×®¥1jÔ²²”º3dˆ;úúºìØq‰eË"™izÍòôçI>¿|»v]ÆÌLŸ9sÚãåeM|ü=¾ú*Œ˜˜dÞ~û«W÷ÆÛÛš^ K— øúÚòÍ7UçûúÚIùbÑô³E³5µåòíˤ¤§š¤ùoä·_§f²”Y, \RìdKcKUݳ‰g‰O‰ÇѼøà j“35¦ñ¤këÒ+Mê4àÀ…ôõTßYmÿ…ýx×ñ.C”BˆçÑž={055-rwJñü²5Éû¾]hÒMYïÑ …¢PYþdÛÝgPߺ~‘çÕÐÉû™YÇ,¯nx|8.–.%_,·ì÷蘤ÂâÃ4®Ÿž^jü{tðÅ`”9Jµï!‡.âaÎCšÔmR¦8…ÏŸÄÄD"##yýõ×µŠB! æÆ ZxgR!„BhOFFÛ¶mcüøñEæ$…B¡=ëׯ§qãÆxyyi;!„B ùîêG«“vÖ¬YCzzz¡]eŒ££#Ÿ~ú)?ýô .dõêÕܼy“™3g2mÚ4µv† †‹‹ +W®T›äR£F <ˆ»»»ª¬~ýútîܙդ_~ù…ÌÌLÞyçµ */¼ð¯¾ú*Ë—/׸Oš^³<ýy’Ï/_NN{÷îU›<3dÈ6lÈúõëY´hµjÕ¢cÇŽ( ,,,èØ±c©ý.O,š~V•eÍšHOXhW™ÁƒàèX“O?=ÂO?aᮬ^ÍÍ›˜9³Ó¦©¯f?l˜..?²re”Ú$—5t8xð%ÜÝ­,^¿¾9;o $äºjRÈ/¿œ%3SÉ;ïø©MPyá…†¼úê.–/×üáJM¯Yžþ<Éç—/''—½{‡©Mž2Ć —³~} ‹u£V-:vtD¡ ‹¼×¥)O,š~V¢hí\ÚqáÖ>øë¾îû5¦¦ìˆÙÁ¶èmOÜ~w÷î,8¼€±;™ÒaŠÚÎ÷2ï±5j+~~tmЕ³‰g ÚÄ7}¿ÁÕÊ€œÜ¶ÿ³wwÚ6ÄXÏ€«)WËËê—Vkü±ž®žFõ:Õï„‘žÛÏn§·goºÔïÀñøã¬=¹=]=zzô,SœBˆç϶mÛèÙ³'ÚET!í\ÛñËÉ_˜½6nVn8[8s3†oƒ¿}âö{xô`Uø*¶Eoãë~_Sϼžê˜2WÉžs{T“]»6èÊÊð•Ìù{ujÖ¡­K[UÝ“×N’t?‰îîÝ010!án9¹9è(t4ŠeZ§i¤f¦j{i»ì@Þ¤¤fö͈¸Á·¿ej‡©( Ó™½6ýÉ*%Bˆ’ýñǘ™™Ñ¾}{m‡"„BˆÖ­[GëÖ­qrrÒv(B!„(`çÎÜ¿Ÿj;!„BpïÞ=víÚÅôéÓµŠB!#ùîêG«“vNŸ> Àøñã ?~<Ÿ~ú©ªNhh(÷pâ¾}ûTPçææª^ÇÄĨµáçç§6! yóæÜ¾}[U™7)b̘1…â=zt™&íhzÍòôçqeùüòùúúªMذ¶¶¦ÿþ¬X±‚³gÏâïï_j?+"M?«ÊrúôÍÿÅWx¥ìñã}øôÓ#ª:¡¡7ضíûöÅ‘ÿü~nÁcb’ÕÚðó«­6! yó¼ÕÎoß~´ÊwddcÆ4.ÇèÑ^eš´£é5ËÓŸÇ•åóËçëk«6aÀÚÚˆþýÝX±"гgoãﯾ"¼&Ê‹¦Ÿ•(Úk¯±%r {Ïï¥õ÷­qµr%ùA2×S¯ÓÈ®ÿ$þóÄíï9¿‡µ'ײáôœ-130#)-‰÷n ÌQ²|X޿ͯú¿ÊŸgÿ$òF$=—öÄ¡–µŒjq9ù2i™i¬zq.V.é±%r QÿFan˜·CÐÚ—×–K ÇOÔ—¢Ô2¬EPÛ æ˜ÃøMãi`Ý€:5ˆIŠ!77—‰­'ÚA! Š‹‹#22’©S§j;QÅtrëDSû¦œ¼v’ž?õÄÕÊeŽ’+w®àaãAbZâµß±C}†²ñôF:/¹#Ö&Ö¤f¤’p7̇™Œo9ž>ž}héÔ’¾ž}Ù~v;£×ÆÖÔ–:5ëp=õ:IiILl=Q5i§‘]#ŽÅ£ã¢ŽØ×²G‚»}Œ§mñ“È=íŠ?ö$>èüÃÎ’cKؽ ;S;b’bÈ|˜‰ŸƒŸL¬B”jÛ¶môîÝ}}}m‡"„Bˆÿ¹téÁÁÁÌ;WÛ¡!„¢€ÜÜ\V®\I×®]±µµ-ý!„B<5¿üò …‚~ýúi;!„B ùîêI«“v222°´´,tÌÂÂ…B¡ª“––<šìR”ÇW/ªÝü&”J¥ª,==ï}ssó"ã( M¯Yžþ<®,Ÿ_¾¢úX°üÏ¢¬Ê‹¦ŸUeÉÈPþ/£BÇ,, P(ÕIKËMv)ŠúÿN––†…êèëç­®T>Úµ#=ý!ææ…ÿ{[Xn£$š^³<ýy\Y>¿|Eõ±`ÜùŸEY•'M?+Q4;S;~~ég¦þ1•ó·Îõo5tj0Æ îÖîLÛ1­ôFJ`¬g̯Ãå«à¯Ø¹… ·.¨Ž™™3Ðk ^µó¶Þ550eÝËëø|ßçüùÏŸy;餀®Ž.¼¨ö5¬aÈôÎÓù|ßçœK:÷DñU„qãPæ(Yttçoòbã?†·Ú½¥åè„UÝo¿ý† ¥WÏ]]~òïþù..PÝóÚ¹´cjÇ© X1à‰¯ñEÏ/h`Ý€¥¡K‰O‰'>%ÈÛq®wÃÞômÔWU÷›þßàbåÂÊã+¹™v“›iy©ýüèáñh‡Äw;¾Ë„͸žzë©×HÍÐ|ŠÔ̾‹óÉ®O¸žzïý‹ŽB‡=ø¢ç( ­Ä%„¨Ο?ÏÙ³gùä“O´ЍföœÛÃÙ›g0#½¼üFĵ_>Ì`ïÁ8ÔrÐr„UG–2‹C—qáÖŒõŒiéÔ’Ö ´–¢ŠûöÛoqvv¦G¥W¢€³7ϲçÜz7ìM}ëúÜL»ÉºSë¨@@=ÉÍt"ágnœ!'7/;/ZÔk¡ñŽºBˆçÓ_ýÅ?ÿüìY³´ЍfR3RY¾’&ušÐÑ­£ª|ÑÑEØšÚ訽ઠ¸;q¾|˜{™÷p¶t¦ƒkUþA!þŸ½;éz8þ™™¬d—È.!‹5²)bßÕRKUiU]PŠo‹¶ßZª¥ý*¥ª´J[Tì[µÕK,%A,!’ID!ëÌüþÈ/SÓì Æò¼_/¯vî=÷ÜçÞ3÷ÜóœSœŒŒ -ZÄo¼………¡Ãéï.?éïBT†ôw?ž š´ãââ@xx8ÞÞÞzûŽ;†V«Õ•qww`þüùÔ¯_üŒÊÆÆÆUŠãäÉ“¸¹é!8qâD¥ê,Ëý¸žŠÜ¿B‘‘‘äææ™íõرc¸ººê¶) ݪ+e©L,†æâRð@~ooýd¦cÇÑjÿ)ãîn Àüù©_¿F±õWî¥Cá9NžLÂÍÍRo߉U› ½$÷ãz*rÿ EFÞ$7W‰‰ªHyW×Êüý+ÇÅT2Qu ²õÍ­D§D“™›‰‡6æ6$g&³|Ðr½ˆ:5ê°|Ðr\­ÿùÓØ¹1Ë-Çöøåù,L-˜Òy Ÿtø„è”h²ò²p²tÂÑÒ±ÈK>»jvÌê9‹i]§}3•R…§'ÕŒ«é•{)ð%z7êMôÍh²ò³Êý;îAy§ù; m:”è”h4 ^ö^EbBˆËÉÉ!44”~ýú¡R©Ê>@h9¶æÅO` T(y½éë¼Öä5®¦]åÖÝ[ØU³ÃÕÊc•þ3ŒJ¡btÈhF¶É¥›—ÈÎÏÆÝÚ»jú üþÎþq€K7/‘‘F«)u•­­W[ö¾»W÷=ÇÍÚ ûêö‹GñøøùçŸñðð I“&†E÷ãz*rÿ Õ¯_ƒ%K" ÂÇÇ–¸¸Ûܸq€/¾h¥W60Б={b©]ûG<<¬P*|óM;jÞ—X„BˆÇQ~~>‹-bÀ€Ô¬Y´MB!„á,Z´;;;úôy4fQ¿ × ‚\ƒ Æ#cóÙÍĤÆàïâÏŠÁ+0Q¬$Þϯƒ~Äü°ù i2•BfBücÕªU=z”U«V:ñ©iQ“Q!£ Æ##>=ž ‘°4µdÃÐ ºÉ»Þmñ.=÷dçÅœK:gÐu…ž„„þ÷¿ÿñÚk¯áîînèpÄäÝæï:„GÊ·¾-øoŸoéìÛ€±­Çòæê7Ùe?¡‡òZÓ× ¢â£Õj™8q"... 4ÈÐáˆ'ˆôwë“þn!DeH÷ãÍ I; …‚72zôh–.]JTTJ¥’>}ú°`ÁÌÍÍuåüñG6lÈÌ™3¹|ù2—/_ÀÄÄ„0pàÀJÅ¡R©Ø¼y3C† aÛ¶mº•bºwïÎ{ï½G·nݰ´´¬âÕUÕë©èýðõõeúôé¼ù曄‡‡`mmÍÌ™30`€^ÙéÓ§óüóÏKll,iii§2±šB7>ÏèÑ»Yºô,QQ·P*ôéãÂ07ÿçŸÈ?v¦aÃÌœÎåËé\¾œ€‰‰Šê2p`ÅvT*›7÷aÈ­lÛvE·RL÷îuxï½@ºu[‹¥¥I¯¶¨ª^OE¯-Ó§·âÍ7·^,fmmÊÌ™m0 ®^ÙéÓ[ñüóˆÍ 66€´´œû‹Bñ8Z¿~=7nÜ`ذa†E!„÷HNNfåÊ•Œ7cã’WàLâŽÆE‹–&nMhìܸØr'®àÀ•ôõë«üz0æ ÇãóRÀKX™Y±'z1·bhäÔˆÚ!ddgp æqiq«Œñsò£©{ÓbÏ‘™“ÉÁ˜ƒÄ¦ÅbnlNCdžº°>r=‡®`Íé5„Å„àjíJ?¿‡?kñ®K»Ñb„î&¬تv+ö]ÞDZ¸cĪºBˆGõkט>}:Æ ÃßßßÐáˆÇÀÛ7Øsi9øØûЦN›bË%e&úw(Áµ‚uíÎÕÔ«l<³‘ÖuZãïìÏ‘Ø#œIù<ñéñ4rj¤KØP)U¼ßú}ö_ÙÏŽ ;$iG¡gÅŠ:tˆU«VajZôYEˆ“þîÊ‘þn!DEI÷ãbߺuk‘äKKK/^Ìœ9s8þ‡jlÝÚøøÛÄÅÝÆÕÕ‚Zµ¬˜5ë>>¶¥^KeÎYÞë)MEî_¡Þ½½éÖ­6gΤ ÑhiÔÈSÓ¢ç v&.îmλEjj6V·ÊNU~–•¹WB!Ä£ ##ƒ¯¿þšâââbèp„Bq3f`kk[© ÅÓC£ÕðéöO ý;ToûàÀÁÅ–?‚¹æ\+X÷3,&Œ…‡âëàËŒÝ3ˆOàõ¦¯R;„Õ§VóùîÏÉÌÉÔ««©{Sæ÷­ù?}L«O¯æ‹]_p;ç¶^Ù&nMømðo¬\Ï᫇‚—˜…š¹7+õ%fá ¥òòuðó- IDAT¥kÝ®e–;—x Ø—”ÏÖz–}—÷•%/1…h4&L˜€³³3£FÉŠ(¢l«O¯fÒöIäªsuÛ\èÙ g‘²‰·™{`.£BFé%íÌ=0• ßìÿ†WÐб!r*á£7ŽÖµÝ…œ­œù¾ï÷4rj¤ÛöwÂߌÝ4–Ø´X½²nÖn,yq GãŽêÚÚÃWëÚk(;içÛߢE[ž[B5ãj¼üf™åÊj£¢’¢ÊuN!ÄÓá·ß~#,,ŒÕ«WË``Q¦ˆë¼µö-’3“uÛ,˜ÖuZ±åç‡ÍÇÏÉO÷Üš¯Îgî¹tôéÈÅä‹|ö®ìÍÞ =;1›Æèñ276gR§IôoÜ_·-93™q¿Ó ò-Tݤ:_>÷%öÕíu‰:ñéñzI;÷>Ûg}äzâÒâʺ:¯<óŠÞ3~q ÛßâÚh?'?ÌÍ9Ÿ|¾ÜçB<ùâââøòË/e0°(éï.žôw !éï~2<Ô¤V­Z•¸ÏÒÒ’&M𔫅BO‘DšBJ¥’¶mÛVhßöíÛ±¶¶æÙgŸÅÍ­àKÁ®]»øì³ÏP*•tìØ±Ôk©Ì9Ë{=åQ‘ûÉ1e–322ÂÏϯÈöªü,«r¯ª¢U«’;@,-MhÒÄ©\õ(I4ÿN¤)¤T*hÛ¶ø%¼KÚ·}{ ÖÖ¦<û¬3nnÉP»vÅòÙg‡P*tìèQêµTæœå½žò¨Èýƒ‚ä˜ÀÀše–32RâçW4¹«*?˪Ü+!„ÂfÍš…V«e̘1†E!„÷gÓ¦MÌŸ?ÿ‘[eXö3¡‡¢RªèäÓ ww¢S¢ùíïßÊhóoŸnÿc¥1üàdéD k ;/îdâÖ‰¨*Úy·Ã«†¹ù¹Œ9Hx\8üþ‹^XÀÖ¨­Lüc"ãçä‡J©"òF$Çâ¡EKŸF}Ðh5¾z˜þûãbU8îjíZjl  z“Êò\ýçÊõ3ùN2ÖfÖT7©^d_aLÉw’‹ìBÿüs†NãÆÅÏÂ.D¡;¹wx{íÛ$g&SÛ®6!µCPkÔì½¼W÷L[^'¯dçÅ´ªÝŠúŽõ132C©P2lÍ0"®GàfíF«:­°6³æjêUv^ÜÉG[?ÂÛÞ›—ò5ù¼¾úuÎ%ž£ºIuÚ{·ÇÙÊ™ké×8s³‰g0Q!£øöà·¸Z¹Òׯ¯îüe=K¯\_$¨4Ïծ̾„Âö·¸6Z©PâbåBtJ4¹ê\½þ…O§;wîðÎ;ïP«V- ,ÊEú»‹'ýÝBˆAú»Ÿ 5içQÁ|@Íš5ñôô$!!øø‚ÌÝ#FàêZzã,DUDD$óÁ{©Y³žžÖ$$d_õ=bD ®®ŽP!„†ÉŠ+˜1cÖÖÖ†G!„ÿO­V3yòdZµjE§N ŽxÄýtä'” %¿¼ø Ïz<«Û¾ýüvF¬Q¡ºœ,X1x…Þ ½®‹ºbnlΊÁ+ôfë×jµŒÜ0’íç·W /¾Þû5SºL)2óá±øc(QÒ§Q2t/1›¸•o +—2gù¿—¯ƒo¹Êåäç`ijYì>S£‚Ù¹³ó²Ë}^!ÄãM­V3mÚ4&NœXä%åúõëùᇘ>}:5*¡!þñó±ŸQkÔŒ ¥×† E¯%½*TWV^›^ÛDutÛ&mŸDFvS:Oap~»û󱟙¶s›ÎnbPà Z@fN&½öfF÷«ŒueãÓãQ)T8[9£P(Xsz Í=š3¢Eù¿GŒl1²B+í”GN~ðO{|¯Âm9êœrF(„x,_¾œÆ™ôÚµk >œ-Z0räHE''¿Ÿû¤Ì$ZÕnÅýе‹YyY¼²ânݽUîºRî¦ðuϯéݰ·nÛÖ¨­D\ gƒžÌì1•R¥Ûq=‚þ¿ögIøæôžÃ–s[8—x{– ZFj5teïäÞ!6-V÷<ü]ØwÔ²­U¡gã>ú”û¹À®š]™eJk£]¢Nv^¶$íñ”ˆ‰‰aÛ¶m¼óÎ;zÛ5 cÇŽ%%%…uëÖÉ``Q.Òß]<éïBT†ôw?$içÿuíÚ• 6pðàA’’ f›033cøðá|ùå—ŽN<éºv­Í† —8xðIIw033bøð¾ü²µ£B!„!åää0qâD‚‚‚xþùç ŽB!î1gÎbccY¸p¡¡C¸ké×HÌL$¤vˆÞ L€.u»àçìGÄõˆr×7,x˜Þ ̤Ì$.ݼD-›Zì½¼—½—÷¢ÕjÑj å*Py#’ê&Õ‰I¡±sã"/0 *NE_b–—©‘©nÀÑ¿n736»ïçB<š,XÀÒ¥K155e„ ºíááá|üñǼóÎ;¼ð ŒPkµZ´h±2³Ò=«¾z€ñíÆë%ìT7©Nýšõ+xuúú4êS¥ã‹SZ «ÎäYZˆ§E^^#GŽäÂ… <ûì³èö}õÕW8p€eË–áâRtu.!þMú»«Nú»…÷’þ$íü¿FqàÀnݺÅåË—Q©TÔ«WsssC‡v_˜˜˜°gÏìíí Š(F£Fö8ð·nesùr*•’zõì072þ‰š˜¨Ø³çEìퟌOB!ÄÃ4uêT®]»ÆÆQ(†G!„ÿïСC,\¸©S§âæVõ”âÉ–‘“”<ØÖÍÚ­B/1=m=õ>Î.›Ëì}³K<îvÎmR練„„ŒÖœ^Sîò¾¾t­ÛµÌrÕˆM‹åNPð’À¾ºô} ñ48~ü8sæÌà§Ÿ~¢C‡4mÚ”'N0lØ0Ú·oÏØ±c ¥xœ¤g§ãdé„JQt¹»{…êúw í´Z«fÎ9%w;ç6iÙiÔ´¨Y¤­»_¾=ðm…VÚy3øÍ2Ë9Tw ¾Ô«YOo_aí`áPÁH…£¬¬,FމV«%>>ž¯¾úŠO?ý”Û·oóÚk¯‘ššÊš5k¨V­|+y ‘žÿ,]á6ÚγȶÂgé•§V–y|Zv@‘äÜûe}äzâÒâÊ]þ•g^ÁÖܶÔ25-jmô¿i´2°2³’Uv„xJÌœ9“‹/0zôh¶mÛ†¹¹9sæÌañâÅÌœ9“ÀÀ@G)Òß]2éïBT”ôw?=žŒŒ€ûÈÎÎ;»²—‘}Ü(•JÚ¶mkè0Dìḭ̀³s2t÷R© mÛŠuš !„O ­VËÅ‹ñõ-ºLò–-[XµjóæÍÃÝ]ÚR!„âa»páB±mtrr2cÇŽ¥k×®¼øâ‹ˆLëÆ§ÇëP U¸.&9×Ú¼ þÁƒ©Q½F‘ýfF3ÜÛ˜Ùp9å2µljUèÜå±>r=a1aå.ÿ\ýçÊLÚ)L¦={¤È¾ˆdåeáçäW±@…¥ýû÷óÓO?é>'&&òÅ_`ooϼyó˜2e ½zõ2`„âq#ýÝ%“þn!DEH÷ÓE’v„B!„0 µk×2cÆ 6oÞŒ³³³nûùóç™8q"C‡¥K—.ŒP!„x:ݸqƒ0yòdžþyÝöœœÞ{ï=¬¬¬˜>}º#WkW- ‹ ãHì‚këöm?¿½B³ÇÙÊO[O’3“éZ·+¾úÉfZ­–1häÔ•R…§­'§¯Ÿ&ôïP Ô+{<þ8A®A( LU¦À?³—‡‹• £BF•»ü¿c-Iïl?¿ï¾#¤vˆn&àð¸pö_Ù­¹-MÜ›”û¼BˆÇÓ'Ÿ|BJJŠn0°F£!%%…aÆѶm[æÎ‹‘‘¼úäĦ3›˜p>ï…¼§Û—ǪS«ª\ ¬<µ[z7ì]dTR–¦–4÷hÎÊS+™²c _tû#å?ŸãÓãQ)T8[9ëÚè´¬´ Å2²ÅÈ ­´Sí½ÛóÙÎÏX}z5¯<óŠn¦å”»)ürì:ùvªPœBˆÇ϶mÛX³Fr¥Rɘ1c°±±aÅŠxzz&8ñØ r bmÄZ¾=ð-?ôÿc•1YyY|ö]•ëo^«9«O­F­U3²åH” ýpÉ™É\¿}½ ¬GsVŸ^Íÿþúþ.þz 3wrXk¢2©pݧQš¸•ÿ™Ö®ZÙ“×u¨‹›µ‘7"ùóŸtöí €Z£æ›}ßÒF ñ4HIIaìØ±(•J4 ùùù¬X±…BÁŒ3èׯŸ£éï.™ôw !*Bú»Ÿ.ò“B!„Â@’’’˜:u*YYY >œÕ«WcddD||<¯½ö~~~Œ?ÞÐa !„O¥‰'rçÎ>þøc6lˆjµš±cÇrñâEBCC©V­|…x#ø ¾ØõCB‡Ðɧî6îD§D³'zvÕì¸u÷V•êßn<Ã×§×’^4÷hŽW /LL‰OçTÂ)âÓã9óŸ3¨”*ƶ˨ £ødÛ'¬>½?'?TJ×#8qíçÇŸG… [¾ØõÇâŽanlŽ«µ+ýüJ~‘_Ñ—˜åÕ³AOæ‡ÍçTÂ)z.îI{ïö¤f¥òûÙßÑjµ o1¼Ø™“…OŽ+V°uëV´Zý„ƒüü|zôè!/0E¥ m2”-ç¶0çÀ®†Ñع1·îÞbûù혛U¹þw[¼Ë¶óÛ·yK—àï쥙%É™É\¸yˆë,°WkWÞnþ6¿Ÿûuë8{”æͱ6·ærÊeö]ÞÇO~ÂÙÊww” %«O¯&_“¯8\V|oRÒýâfíFŸF}X±Žç~žõ{`¬2f˹-$e&Ñѧ£Ì,ÄîúõëŒ?…B¡×Nk44 ~~~’°#*¥GýÌÙ?‡ýWöÓý§î„ÔA£ÕðWô_dåeU¹þç<ÇÏÇ~&ôïPö_ÙO ÏÔ¨VƒŒì bRc8{”7š½AcçÆt¯ßŽü@TRí´£½w{œ,HHOà@ÌÒµwžvžœM<˸Íãtmv_¿¾ºÄÖâôiÔ§Ê×Sœ÷BÞcü–ñ¼·þ=z4è“¥û¯ìçlâY-‹ lB™™™º„B … :tè` èÄãNú»«Fú»…Òßýô‘Ÿ¦B!„òÉ'Ÿ››‹V«åìÙ³LŸ>‘#GòÆo`kkË÷ß/`B!„¬[·Ž ÕjQ«Õ 6ŒÍ›73cÆ öîÝË’%Kðññ1t˜â13´ÉP.§\&ôïP¶ß¦Û>(pÙùÙ¬‹XW¥ú;ùvbVÏYLÙ1…ýWö³ÿÊ~Ý>¥BI›:m0R|·ì^¯;i]Ò˜±{§Nq*á”®lS÷¦(PкNk¼í½¹tó?ù€fîÍJ}‰ù «ŒYØ!o­y‹è”h¢S¢uû^z™¡M†>ô˜„Ï¥K—øì³ÏмÀ,¤P(øä“OhÖ¬ööö9:ñ¸kìܘi]§1iû$Âã ÀßÅŸ^ zñÙÎϪT¿›µK_ZʸÍ㈼IäH½ýõkÖÇÕÚ€Z6µX<`1c7%>=žÕ§WëÕãb倹 }ýú²æô–_ª+ó •Ç”ÎSHÎLfÿ•ý,;±L·½‰[¾zî+ƒÄ$„x8Ôj5#GŽ$''§Øv:??Ÿ]»vñÇн{wD(gÕMª³°ßBÞZûWn]áÊ­+ØW·ç‹n_ðÎÚwªT¿J¡â§?1~Ëxv_ÚÍêS«õö;Z8ÒØ¹1FJ#XÌûßçhÜQ6Ù¤+gajAǺϯ5yñŒg㙺mÁµ‚KMÚyPúùõ#æV /ЋÇÙÊ™…ýbnlþÐcB<¿ôaTÈ(ƒ½4EÍ=0[s[^yæ•r•WkÕ|½÷k¶ŸßÎõŒë<ëñ,‹,Öí¿šz• Kž…ÅÇÞ‡­onÕ+Û³¿üµØòÛÎocÍé5D\ =;s;7æÅ€éà]¹Ù^Š‹±šq5¬Í­ñµ÷¥¹Gsúúõ-²¤|IñWŸ±Ê‡ê× fx‹áÔ¶«]$Žñ[Ƴéì&jZÔ¤W;Æ·/âO¡7²{÷nÝgµZÍ/¿ü‰'ÈËËcÙ²eXYY0Bñ¤‰O§í÷my9èe&wž¬Ûî÷µ~N~ü6ø7Ã'ô‰=ÂÒãK™×g^¹Ysz ¿ÿ•+·® Ñj8óŸ3zû[ÎkIbfb‰Ç‡×ÍÌÜr^KnÞ½ÉùÏ[6òF$?û™£±G¹yç&æÆæxÛ{ó\ýçx)à%ŒUÆåŽ»´ML±4µÄÓÖ“ · úùõë†W±Çï¿ëS)UؘÙàçìÇÐ&C ©R¤®µkùè°1·!È-ˆÚ„»{¥®G<¾’““™:uªîs~~>7nÜàÕW_åÌ™3ÌŸ?Ÿ¦M›0Bñ¸R*”Lë:—_âHì´Z-ϸ=C€K;.ìÀÍÚ 3£fór bTÈ(Ý ^€ž-052žZñô=ô¤“o'ÂbÂtm‚›µ.8[9ë•8ˆõ{°ÿÊ~âÒâ°4µ¤‘s#üýueLLYÿêzþŠþ‹«©WÉUçêÅó°yÕðbë›[ÙwyÑ)ј›ól­gñuð5XLBˆ/''‡‘#G;ȨPá`£>úˆ~øá!F'ž/4~ÏöDïávÎm¼í½iëÕ– É2 ïÞº²Ž–ŽŒ Ep­`Ý6[F…Œ"Ð5°Øú86à7þàĵDÞˆ$+/ 'K'ê:Ô¥¾£þ*4ϸ=î·wqèê!Î'G¥TQ§FBj‡èͲ;½Ûtz5èÅÙijÜÍ»{ŸïHŘ›³äÅ%‹?Æéë§Ñh44tjHp­`” ¥AcBr=;/îdÝ«ëŠ$îhÑ’§ÎãZú5–X†]5;Ih{ʤ¦¦2uêT …Þ¿%…BÁ… X¸p!ŒPˆ‡«îWu ®\b"§(Ý…ä Løc‚ÊäëûCß3kß,½ß]¹ê\ŽÇçxüqVZÅO~ÂѱÊçÊÉÏ!'?‡›wnr,þ?ù‘ך¼Æ„ö*5èK­Q“r7…¿¢ÿâ¯è¿ø¦÷7ô¨ß£h9mA¹v‘ÁòAË«|-âñòé§Ÿ’­÷÷úˆŸ~ú …Bñ"OŠê&ÕéÕ°è`òâÚÞw›¿«÷Y¥P•ëœW ¯b' *ŽŸ³~Î~¥–©ëP—ºuËUßÃài뉧­§¡ÃB<$™™™ŒQþq1ÿýïiÖ¬™$׊J‘þþn!ž>ÒßýôªRÒÎ… ¸xñ"îî2ë¬0¼~ø5kÖ: ñ”HIIÁÇÇÇÐa<6üœý¸4á’¡ÃÀÜ;,:ºˆwr1ù"Z­–•§VÒΫ¯<óŠÞÌSÿv4ö(_÷üšÎ¾Kœ}©´ÕsÊãÓퟲãÂ,M-2Š®u»b_Ýžä;ÉlÚÊœýsØ|v36æ6Lê4©Rç¸7Æ\u.7ïÜäôõÓ,=¾”#±Gøà÷°2µ¢w» ×—•—ÅÙij|ºýSÎ'ŸgÑ‘E|Þís½ò_=÷ŸuùŒcñǺr(ÇâUê:Äãëã?æÎ;E^fjµZÔj5Ÿ}ö6lÀÜ\f9^ĸC‡ VÃ†È ¬<µ’¨¤(îäÞ¡í÷myÖãY^mòj‘Ab÷  –J¿Õûz³:ÞK¥T•¸zNy¬XË×{¿F¡Pðj“W0[îäÞá`ÌAfíETRo­~‹5CÖT*¹öÞÕZ5éYéD%E±éì&ÖE¬cqøbŒUÆ|Ðöƒ ×—¯ÉçjêUfï›Í¶óÛøf_Ѥ~~ýx¾ÑóÄ¥Å1dÅN\;F«‘™¡Ÿ"[¶laÇŽÅîÓjµ,_¾œ=zTl!„BÜ_;vìà·ßJ_ÔÈȈüü|ÌÌÌhÙ²%FF2_Bñ Ýºu‹1cÆ T*Khddd„Z­F¡PРA¸sç9Z!„âéòÉ'Ÿ””Tb­T*Q(¨Õjiß¾=·nÝ’¤!„â“þî§›ü$ÅãîÝÆÜ½ëfè0ÄSã°¡¢ÂòÔy \>s‰çô¶G%E•Å•[W˜×g^‰Çgäd P(èQ¿‡ÞRð÷Óéë§Y±S#S–ZNǺ}.V.¼Ñì š¸7áÅ¥/²ìÄ2ÆÛÞ»Jç4Q™àbå‚‹• ]ëvåó]Ÿ³$| _ìþ‚6^m*ëò{/ïÅÚÌšæÍÙ{y/əɥ_8ËüƒJØ‚ü^mòª^Âνüý0e'–±.r¶ýð¾ÆðAÛøýÜï\¹u…sIçŠ,ã[^Z ¾\—5È×Hi„†’…Š'KZZãÇ/s0p~~>›7o¦E‹¼ð 1Bñ$Ðh5,>º˜Ð¿C¹–q 'K'*q™o¿¯ýðsòã·Á #9ù94œÙŽ>ùoÇÿòåž/ »FZV§Ç¦šq5ŽÆeÑ‘Eœ¸v‚ÌœLœ,èR· ïµ| Sý™2ÃãÂY¾˜ñ'¸sww:ûvæÍà7¹xó"—  ,& ïÿ$b.´œàZÁlˆÜÀ²˸|VCuè߸?/½¬K®,-Òia'jZÔdë›[‹Üƒ¤Ì$Z}׊Ö^­ù±ÿUÿ!TPzv:¡‡bajÁônÓ132cõéÕ|ÐöŽÅã÷sE_®ÜK£-ø}b¤zpórì‰ÞCjV*þ.þz ;÷²1·aBû Œ\?’u‘몜´óo};Óɧ^ø“?/üÉëM_¯R}Æ*cŒ”%߳•‚ÔšÒ—¥OŽI“&‘™™Yj­V«¹yó&cÆŒañâÅ(•² “Bñ hµjþþûUnß¾B¡@¥R¡V«qpp mÛ¶´nÝZ !„3‡={öÿÌljjJpp0íÚµ#$$„Úµk8F!„âitU«Æÿ¬xP¯^=ÚµkG«V­ ”û…Bˆ‡Lú»ÈJ;B!*!'?‡Á¿ æ\Ò?+¶DÞˆäíµoÓ½^÷ ÕuâÚ fìžZ[ÐY ÑjÐjµüç÷ÿ°ñÌF½²QIQLþs2çÏñy·Ï‚„÷7½Ï–s[ôÊF\ âzD¹f`ÏSçñjè«?®Û–«ÎåÐÕCŽ=\d6ù’ât ¤±scÖG®çÃvR͸šÞ1ËŽ/ÃÜØœþe'Öýªn¹ˆÚW·çð{e¯þ”–•Àˆ#xÆíÆÄDeBÇ%&ÈÜëNÎ"3Ñßo'âOÐÅ·K©åºÔí²Ë8yíä}ÁDeB«Ú­X±ŽˆëNÚÉÊËâlâYÝjm¼Ú”~>#îäÜ©t¼âñ2uêÔ2ÎrdeeETTZ­V/QQˆ²Lús+N®Ð}ŽK‹ãË=_ræÆ™ Õ“žÎ€¥HÌLÔmÓh4¬8¹‚OÿüToæøôx~:úa1a¬zeæÆæ,=¾”©;§ê•N‰æûCߣP(h]§u™qÌØ3ƒEGém;›x–©;¦ròÚIf÷Ò_‘ª¸¸M”& ðÀG~ähÜQš¹7Ó;&ôïPÔZ5¯>ój™ñ BXLX™å m¶¯^¥–¹sVC¯½èV¯Gb T(©mW›ÚvµyÁ¿ôä½»¹wh;]Øæ–ÕF·ój‡‘ÒˆÈë‘ä©ót‰/÷KŸüyáO"®GTøØ|M>WS¯2{ßlÔ5m¼K_QÏĨà~ÞÍ»‹•™U¥c‡]»v±eË–R˨T*]»¬P(ˆ§V­Z)B!„âéý©©G055¥Y³f´mÛ–¼¼Jÿn-„Bˆ+>>B¡À××W78((HfB! (77x™¼¼ljÔ¨¡k£[¶l)€…B“þn’´#„¢~=þ+ç’ÎQ§F&wšL€k·îÞâÇÃ?²üäò Õµ5j+/ø¿À[ÁoQ˦*¥Š ‘Øxf#uêòa»ñwöÇÔȔȑLÝ9••§VÒ¿q]Y±†-ç¶`cnøÖãhëÕs.ݼĊ¿W`¬2fD‹× fಌi=†-FèŰôÄRŽÇÇÅÊ…É'Ó̽·sn³úôjæœÇç»>§“O',J Vˆ·yë#ÖëÍ.éæ%ŽÆepÐ`ƒ ú p @¥T±ÿÊ~ºÖëZîãîæÝ%,&Œ3‰gðqð)³ü¿WJ(úr(MÜš”zìÍ»7¨e[úàGww€2Wª,WkWR³RËU¾¸kV(ôõëËg†”z¬‡­c²!r}:Y¡B<9öìÙæM›ŠÝW˜¨ciiI‡èÞ½;­[·–YŽD…¾~š'W`ajÁ;þ—ÞÈ×ä³íü6¦ïž^¡ºÂã t 仾ßQ¯f=̌̈K‹cÊŽ)X™Z1¡ÝÚzµÅÚÜšØÔXæ˜ÃÖ¨­ürìÞiþWn]aÚ®i(JÞ~ƒ¿€³•3×Ò¯ñç…?152¥‰[.M¸Dݯê\+˜_þªÙÄ3,:²3#3Æ·O׺]1V³÷ò^>Ûù›Ïnæ¹úÏÑѧc©q¼ô2‹Ã³ìø2½¤µVMèß¡xÛ{R;¤ w¿ò\­\q²tâĵ¤g§—û¸\u.—n^â¨?P)Uºö±$jºØ6º¸ïGÿVØæ–ÕF›™RÓ¢&  ¤f¥RÓ¢fWQ1®Vk£Kºf¦uVê±6üxäG†·޹$Q>¡²²2˜:õãbWÂ+LÔQ*•´lÙ’N:ѹsgììì ­BñäKLLD£É£Y³ßùùç:˜˜<ØId„BQ>†sçþ~æÈoy6B!!^᣾áõ×] ŽB!þŸôw‹B2 P!D…m‹Ú†B¡à»>ßác_ÄQͺSºLáJê• Í>àÀ]¿Ð¹&b *¥Š%/.ÑèÙÔ½)³{Φ뢮켸“@×@ÖE¬`Nï9´ôl©+ëç쇟³_¹bøãÜÌ}~..X˜Z0*dI™I„þÊ®K»0°Ô¸º×ëÎŒ=3X~r¹^ÒβËÊLà(tþÃóå*W^5¼˜Üi2ÓvMã¯è¿076ÇÇÞ'K'ZÖnYde €·|¨»Ç¶|Òá“û×£èÞ!*«Ž]Þoõ>FÊÒ¿no7žq›ÇñŸßÿ@«Ú­Xòâ’*Ÿ_•Žó~p à¯wÿbßå}lÚÊ_Ññù®ÏÉÌÍäEÿ™Üy2J…²ØcUÆ8[9—y•RUéÄàÂ6765¶Ôr9ù9$e&¡R¨HQEÛè{¯93'“Ý—vóñ¶y{íÛlyc µlJ^9¨ºIõVשz®xdmçèÑU(  &&&´oßžîݻӶm[ÌÍÍ  B!„B!„B!„B!c’´#„ lÌmŠlÓh f¸VkÔ%—§Î»¯q0.¯ââ.4(pßúže'–ÑÔ½)ë#Ö“™“ÉÐ&CË]ݯê–zý÷²¯nÏá÷—»n[s[ú7îOBF¶æ¶ôiÔ‡INâã­Sס.ëÊ~õÜW|Ôþ#6žÙÈg;?ãó]ŸóÓ€ŸÊ}®Š t ä\Ò9¶_ØŽ¿‹‰å W’t ¼ï1äªs9s€FN*|¼ƒ…ãÚŒ#)3‰µkùíäo¼ÚäÕËÏÚ;‹¿þfTÈ(^yæ•§b•„§MTÔ^àg\\\èÕ«]ºtÁϯ|+ aH•m£sÕ¹zŸïGRZEê(­næÞŒú5ëúw(Ã['æV Gb0,xæÆå˜?$tH…”·Û^î¤]• }:bijIN~szÏa鉥LÛ9 O;O^oúº®l?¿~t¯×ãñǹa$ã·Œ§W»RE«¢0¹yû…í¼õì[%–Û½‡|M>þ.þ$–Ý—v•k£-L-èÕ°ùš|>Üò!3vÏ`~ßù%–ßtfk#ÖÒÁ»ÿíô_\¬\*·x4ݹsx SÓjtéÒ‘nݺѪU+ÌÌÌ šB!„B!„B!„B!žÅOÓ+*-,,ŒÉ“'S©ãwîÜÉäÉ“¹qãÆý L!î#3u³íßkß•}U®ß«†æÆæœs’K.ûg^Ÿyº²éÙéež-œ™¾¸Aƶ¤f¥r*áT‘}Eÿ¥+S^öÕíy®þsl?¿äÌd~;ùž¶ž´©Ó¦Üu=žIÛ'Uhæù’¼àÿYyY ÂîK»¹u÷yê<®¥_cÏ¥=ŒX?Bwž¾~Bßßô>+O­äÆídåey#’·~ÌѸ£X›YNZVšÞùº×ïÀè£ù+ú/2s2¹qûóÎ#ôïPLT&tðîP¡kÚd(ùš|&ü1óÉçÒdH…V 8ÿáùCÿûOyWÙY}j5nù#±Gt÷ '?‡ð¸pfî €µ¹u‰Ç;Z:’ž^îk¨ gz7ìMv~6ƒÌ’ð%ܸ}ƒ|M>×3®óÓÑŸ²byê<ÆÛÞ»ÊçÌUçr=ã:ÛÎoãå/³$| …‚‰í'VipnM‹š ð@Rf+O­,±\FNŽŽ÷e% ñhjÞ|PòÊQBÜO]êv ×F¬%-+”»),;±Œùa%¯(R^}üú R¨»i,«O­æzÆuòÔyܼs“cñǘ²c - wÃÞ¨”*^À̽3‰I!;?›Ë)—Yph‹Ãëêµ1·áâ͋ĦÅêVóèV¯ßü–å'—sóÎMÒ³ÓÙ|v3“ÿœ @÷zÝ+t ½öÂÖÜöÿػ﨨®µÃ¿aè½#Š€±£ÆÞ{Ç[ЦM7×›b’o£‰iFØP‰-¢F“ØPDA”&"Ešô™ùþàcÂÈ M¼É~ÖÊZ2çÝû¼çhØsöÙ…C$(*ˆ¡žCieÑJëòÛflÓºŽ{'N«]vâ2㘿{>Á±ÁÜË¿‡B¡@®s+óïüúr…¼Ö6hÒvÚHψeƒ–°úøjÞÿí}â2ã(“•‘S”Ñè#LÙ6…äœd¼¼™æ;­Áç”Ée<(z@HbË.gqÐb  z.ÀÉ©ÞõJ$^êó …‚ ç6hŒË+É …Y‹zŸKx²õêÕ ƒ®®~s§"‚ ‚ ‚ ‚ ‚ ‚ ‚ Âß”ns'ðwÓ§OV¯^««ks§"‚Ðdæv›ËÁ뉾͜s”ŸK$ÆxáHô‘Õ?¹ãdB“BÙ¹…{ª™î;€)>Sø3þO‚cƒy÷è»Õâ*'ä¸Z¹â`ê@HbÝ¿ì®<÷NsºÎ!8&˜+©Wx.ð¹ju¬º;S»:]CÇéÚª+&ü‰©)S|¦Ô©|S(./fä~öGî*Vï¯ºó‹• c½Æj,/Õ‘¢@Ñäy~0òòKò9wŠO~ȇ'?¬3Ök,ï©þ÷­­ówÎãñ±ú ?ÆzÆükø¿ì1¸ÞõWZÔk»®îâ» ß1³óLô¤zÕbär9::bµ £“c'fv™ÉÎð,;²LåØX¯±Ž>Ü ú]­\yäû¬:¶ŠåG—«YÔkm¬Û°bð >8ù›B6)'óTz©ÏKÊ?÷rîÅáèà Þô×ïÞ€Yø9ûñlÏgù1ôGV[Íêc««]Ó°¶Ãêt ºÌè<ƒoB¾*&Ú67¹BÎÙÛg9{û,ðW}üæq bÂ̳=ŸÕX^ª#UÖÓ”ü;ùs/ïëÏ­gkØV¶†m­Óήßù§¶ÍÓ†L.ÓØFK$æuŸÇ[ÞªWÝUh;O[OŽß<ÎÍŒ›´µk[-F¡¨øÞ#vØAAAAAAAAêKLÚid}úô¡OŸ>͆ B“2Ð5 `Vëþ\DZ›ÇÈ/ÉÇÝÆ%}—[œÛàI;‰„OÆ|Â÷쾺›¨{Q–Ò¬ííÛ3¹ãdžjóP1ˆò«‰_±çÚ#‰ÍˆEª#ÅÝÆgÐË¥P1˜uãä||êc®§_§¨¬Hy>=©Ûfnã» ßq8ú0É9ÉèKõñqôa¡ßBú»õ¯×uÌê2‹+©Wðï䉾IƒîIc˜æ; K#KÝ8ÄÍŒ›¤å§a¨kˆ‡­ƒ<ñLgjÌSÂãÙ ÆHψo§|Kpl0׉ºE^q†tjÙ‰é¾Óê9´QÏgah§­'}\û0Ùg26Æ6Rw ³Lî8™Ý»Ù±‡Ù]g«lú¹P‚ üƒ¬¾Kv]ÝEj^*¦Ìè<ƒ±>i*Ú“ööíÙº™ÐäP² ³±6¶ÆÕÊ•1^c˜à=A;¯û<ÚÚµeó¥Í„§†STVDkËÖŒh;‚gz>£Œ{wÈ»”Ë˹tÜâ\åd €åƒ—ÓÞ¾=Û/oçfæMä 9n6nLõ™Êœns¨Y]fñMÈ7xÙ{Ñ£uúߌFâiëÉö™Û Š ""-‚”œ b’T×V]y±Ï‹8[:k,ÿ¸Úh€Wú¾Â÷l ÛJhr(™31Ô5ÄÓÖ“1^c˜Ùe&úÒÆÙµDOª‡¹9®Ö÷a²Ïd`~ùZïúV./'0"Pù½iŠÏÆ{Wÿ=îw¾¿ø½ÆòÃÛ WN2®Œæ;‰'ª¿ž~£1G‰ÏЧ¸¬{S{üœýã5]í/´ŠGs”êH1Ñ7ÁÆØ†ä1ˆ–æ-5–{4ßGë“H$êâdáÄжCéצŸÚ<^=ð*¥´¶lÍ¤Ž“è䨩^×#‚P§N³)d¯ö•ž­{•ÀÊà•Lé4å‰X¬I¨°/rff o;\ë2&üɱØc¤å¥áåàÅÛßVK/H絯i,ÛÚ²5ŸŒùD%¶c‹Ž¬²Bmü½ü{ºqˆÈ´HòJ*ú»}[ú2Ök,ö¦öZç\Õ£9J$LôM074§­m[z»ôÆÇÑGc¹GóUwÍúºúØ™ØáçìÇxïñjŸù¿½ð-!‰!Ø›Ú3Øc0#Û¬×õ‚ ÔEFAK,UyfxfÏ3¸Y»±rèÊæKNP}?šã7³´ïR­ËÜ̸Iàµ@î<¸C™¬Œ-Ó·¨_´˜ìÂlå«ö¯,ZLnq.?ÏüYmlQY‡oVöwéáaëÁ¨v£ðr¨LÕ% º˜˜Uôû;u¥¯k_å‚\–S—ï£×¬+ÕÅÒÐGï·O'œæ‡Ð°4´¤«SWfvžYï¾A„ºýÝÿ;D·èïáñ“vÙùóç9~ü8óçϯ¶ÛNbb"¿ýöéééX[[3pà@Ú·o¯±®ÂÂB8@bb"-[¶düøñXZZ6ñ‚ hÇÜМ5#Ö°fÄšjÇ}QéãèCÜ;q*Ÿõwë_í³Gn?šÑíGך‹D"aºïtåî;štnÙ™]OïR{ÌP×%}—°¤ï’ëÐ&ïJ×Ó¯#‘Hê= ¸±è0®Ã8ÆuÀOÿ;;­óÓ“ê!“Ë(*+ÂHϨÚq+­ïMm±‰„QíG1ªý(­êÓV]rÔ¦œ6õ}8êC>U}· Jù%ù´0kQçœA4Ñ‘èðœßs<çW}÷8u¿³"߈TùÙ@× Ößm;ñÅ„/´Ê§·Koz»ô®1ÆÎÔŽ “6h<>©ã$&uœTcÚä]ézúu b÷À'D"¡—K/ådãswα3|g÷¤ªÊ]mò‹ó5Æœ[|Në|j‹í䨉uãÖi]_c·®åj«o¼÷x•NäGå—TÜÏÆš„$‚P“„ìB“C)——+?KËK#49”¼â¼fËë—¨_ر‡ÕÃWÓή]³åñ$¹‘~ƒÂÒB­ã?ýýS6_Ú¬üùÑïE3MÕX¾ênp•±• ™TU*+eeðJåîºUí‹ÜÇçg>gý„õtiÕEëܵÍq͉5Œë0Ž÷†½‡…¡E­ùÖT_@x“}&óé˜O« ¿Njn*»®îâ×g¥u›:_ B]TþΪ:@òaéCB“C•ÏpÍ!6#–5Ç×Ô8°åŸ&57+#+­ãOÅbáÞ…—רþ=(zP-VWªþÕûO—~â³??£¤¼Dåó#ÑGøüô笼‚™]fj»¶9BÅ{‘GŒ‡í_»ÚjÊ·¦ú‚¢‚Øzy+3074W9Ÿ¯Ü=xä~>ó‰˜Ð&B“+‘•šZmíKÉ—(.+n¦¬*ÌÙ9/{/9ÿiòŠó¸•qKëøû÷™ºm*…eÏÞêúgÃSÃI/H×XGÕþ•ðÔp2 3ÕÆ]H¼Àë‡^ç~Á}•Ïß<Î7!ß0£ó V[®N݇×Õ–c ³¬±†!Cª•S—¯¦ú~ù•M!›Ø6sÞÞ*Ç2fpþÎyeÜôjŸ·A›èïþß!ú»«ýÝ‚ 41i§‘?ž5kÖ0pà@•I;+V¬àÓO?E&“)?“H$<ûì³|ýõ×èéé©ÔsëÖ-&NœHbb¢ò3[[[‚‚‚èÛ·o“_‡ ‚P2¹Œó‰ç ¸@§5®Œßœt$:uН\íïçË?3«Ë,L L›"­Œ¢²"‚cƒ),+ÄÁÌ¡¹ÓAøÇ¸}›N~„±ž1c:ŒiîtÔªo½/r>Ž>ØÛˆÝa LVFlF,—’/aah!V¡ÙŒñƒ£O³®:˜š—Jhr¨r"ã?•L.ãÐC\LºHlF,ÿ:þ/º·îÎøãUÀªsìæ1¤)ï ~O[OÜlÜÔÆùûú3Ñ»ú kmŸ—Xʉ›'ЗêãßÉŸ>®}0Ö7ævömöDì!æ~ swÍeïܽõ~!]5ÇÂÒBÒôøò IDATòÓ¸x·Npàúâ³âÙ9{§Ú…>j«/§(‡ówγãêöGîgRÇIÕ^ø~9áK² ³ ¼ȉ›'8wŠg{>[¯kAh77fÐÊ¢U³å_’¯q`Ë?Í…Ä üvë7þˆÿ©Ž”;î0È}}ÛÔü>586€™]f2Ø}0ŽæŽjã¼¼ÕºÖ¶½Û¶…OV,ê4Äc£ÚÂÖÄ–Œ‡9Ê©¸S¬:¶ ]©.þüµª³¦Ke¥d>Ì$ân‡£sõîU¦mŸÆÞ9{5~©©¾ÂÒB¢ïGóCèD§G³ùÒf^í÷ªJü¢^‹ë5–°”0¾>ÿ5Çb‰I;‚ 4›ÍÓ67û;ÌÐäPÑ? Üyp‡ý‘û¹”|‰ø¬xÞùõåÊø5-”tæö Ë ñsöcn·¹X«Ÿ”«#ÑѸ{Nå®5‰¸Á‚= (“•ÑÁ¡Ó|§ábåÂÃÒ‡œ»s޽×ö²3|'…¥…õ^ĪjŽåòròŠóˆ¹Ñè#Üyp‡ö½Àçã?g¬×Ø:×W&+#)'‰-a[HÈJàƒß>`çì*ñýÛôg댭¤ä¦ðáor,ö˜˜´#B³ýÝOÑß]=GÑß-Âã &í<7ndíÚµH$ÆŽ‹——wîÜá—_~á‡~ÀÖÖ–µkת”yùå—Ñ××gáÂ…òÛo¿qãÆ &MšDLL 66Õ·5Ašßú³ëYv½òçE½5c65«kgq·þì‰ØÃ§|ʧ|J¿6ýøiúOM”ö¢ïG3nó¸Zã†zeÓ”M!£Ú½}äm•Õ ú»õoÆlAþ.&]döŽÙÊŸöZˆ±žq3f¤™„ºµÑ½]z£'Õ#86˜àØ`ô¥úÜxëFeW7]>ïRkÇ·™ᯅ?¦Œj¶/rËŽ,Sþ\¹C¡ Bsp4wÔ8xTx|òKò™½c67Òÿj[C“C Må›oølìgLðž ±|FAZvbA5žÇÉ ?g¿zåx$ú'nžÀÌÀŒí³¶«¬¬Û¯M?fwÍßàpôa–ÿºœýóª¯N¨ u9Îê2‹›7™¿{>Q÷¢Ø|i3/÷y¹^õh7‚Ry)„&‡V{‰Ù¹egZš·äÄÍd<̨×u‚ 4”‰¾I½g kùÑåFª|ŸÏÖ°­L÷^ãèíȪ¡«j8ladQï¿ï´¼4>ùýÖŽ^[mRÎ¤Ž“Ø~e;ÿ:þ/þ}âß ñ‚µ±uÏ£.ÇI'ñj¿WyiÿK„&‡ò¯ÿbÛŒmõªoÇ Zš·äÍÃor1ébµxwwÜmÜéïÖŸ€+¢¡YõhÝ£¹S€Àk¬ ^¥²ÃÂÞk{Ù{m/Ïmä·E¿i,[ÙF¿ØûÅ'áJ$’z·Ñ …‚e¿.£LVÆdŸÉ¬µ©ŽTy|d»‘Lõ™ÊÓ;ŸæÀõŒë0Žîë|u9Žj?Š%}—ðñïóÓ¥ŸX}l5Ýj5ÙL]}ƒÜÑïë~\N¹ŒL!C*ùë:ìLí°3µàÏø?9~ó8EeEZ>AhL¢¿ûÉ ú»kÎQôw ‚ДĤÇàã?`ß¾}Lš4IùùÅ‹éׯ_~ù%+W®ÄÄÄDyÌÑÑ‘3gÎ`n^±½xyy9Ó§OgÿþýlÙ²…7Þxãñ^„ ‚P'ö¦ö<ï÷<Ü4w*-í»´Nñ#ÛäÍoDrN²X!ªtutiiÞ’±ÆÖ{EA¡îÌ ÌÙ~dÛÁÇ©—K/z¹ôÒ:ÞÞÔž “6ðÍùo¸™q™BV{!A#©Žcz»ôV»š² BC—³3|'/ @AÖ=xºëÓjcD!àJ«†­R®>¸ëê.^?ÈÚÑk)./f×Õ]ÜξÍ0ÏaÌîZ195$1„àØ`’s’ÑÕÑŧ…3»ÌÄÖĶÚ9B“C Ž &)' C]C:¶èÈŒÎ3°4²ä£“qüæqÖ_£\¥¶ƒCV] T¬Èw8ú0§N“U˜……¡½]z3©ã$•ÊjÊ[WªË¨¼3ø:9vª–ceÙ•CWÒÁ¡Cî~ýl»¼é7hc݆g{>K@x“;NæaéCG&¯8¯Æò2…¬ÉÃü|¹b•Ý7¼©ò³’T"eí资$†p-íiø:ú6ÚùÛڵ僑°pïBv]Ý¥õKLuœ,œËåc*ïg¹¬\cŒ B}ÇL^Iž¶žÌë>Om\BV+ƒW2¥Óån"w#øä÷O˜Û}.=Z÷`û•í\¿w{S{>ùP±óë¾È}Ü̸I¹¼œ6Öm˜ê3/‡ê« '>H$(*ˆ˜û1ÈrÜlÜðïä»;¿Dý¡?ȹÛç”åvÌÞ¡üshr(‡o&9'}©>>Ž>ÌèfBÇ L÷^-Çʲ“}&3µÓÔzÜñ† K #0"33ž÷{žø¬xŒõq³vãÏ„?É-έ±¼L!Cª#­qÂNCíºº‹2Y£ÛÖØüt×§9pšSq§¼È¢^·˜¥‘%_MúŠß äüó$ç$ÓÚ²u½êr²¬h£ Eq†º†*´ACÄÝöDì!5/GsG¦ûNWûŒ ðÌžgp³vS>·–Éʘ·kÝ[wgIß%쾺›Ä=àÇi?b¨kHnq.{¯í%<5œ‚ÒLÑnƒ=W«?·8— ¨ ®¤\!¿$g+g†y£o›¾ÄfIJæødrQ÷¢˜0KY®ê³}âƒD¯VôåÊe¸Ù¸1¹ãd•ï5å½qòF^=ð*.–.¬±¦ZŽEeE¼°ï ºAhlù%ùÌ ˜Eôýhåg§âNñk̯¸XºT‹OËK#49Tå%YrN2¡É¡9Êú³ë)••àië‰\!gÙ‘eE©Ôs*î[/oe댭Ê\2¹Œ·¼ÍëTbƒcƒÙta——^&&#†”Ü•œ+•±`÷ÂRÂT>?}„Ÿ/ÿ̶™Û°1¶©5ï™g²2x%[ö²nÜ:•ºdr_Ÿÿ‰ííÛ×pwQŽÒVo—Þ¼Ò÷•Zã²ønêw´±nÃÁëyÊõ)ÚÚµåå>/׸£œL.C®£#ÑÑ:¯º*./æêÝ«H%R&ûLÖg¤gį1l»¼ ‰õ%&T¬ìkidIZ^÷òïѬEëH/Hç—¨_€ŠÁQšT¦*“•Õ/YA5–YƾÈ}ÊŸO'œf_ä>ftžQ-öaéCB“CU[È-Î%49”N-;ñïÿæ~Á}åœá;*ñVYdátÂi¶_Ù·#?T™ô²ýÊvå@×J§âNñÓ¥ŸØ3§bÀreÛœ’›¢l¯«úèäGl¾´Y峓q'ùéÒO|ïÿ=][u­5ï5Ãל›ÌÆs™ê3µÚ`Ö­—·–ÆÇc>®éÖ0gçdr혰4²äëÉ_×WÙF/´Œg°þìz¬Œ¬˜Óm z, §(§Æòe²²&m£.$]`šï´ã¦øLáTÜ).&]lÔI;6Æ6ômÓ—7Op%õJ½&핱5l+€ÚAgUIu¤¢¡Qí½¶—GW Wü5Ðqä~Þè¯~ÌÌ¥äK—+–+ä„&‡bj`Ê‚Ý IükÂH¹¬œðôpî]ȃ¢*õì‹Ü‡¿¯?kG­U~v9å2/î‘ìÂì¿oCÀ•Þô[u&49€¼â<åŸ+8s”×½®ò»òÏ„?Ù¶•UCW1§ÛœZóÖ•èbedÅŽ«;XÐs®V®*¹¼qswÎiµ‹øG'?"ê^T­q•>÷-Í[Ös/ÿ…e…Œë0Ž5#Öp1é"7Òo0£ó ftžQk]9ù³êŽ1­²ï=¾Æ ¼S|¦ðñïs)ù2¹Líäžú’H$Lðž@dZ$WR¯ÔkÒŽB¡`ëå­”ÊJñvðFWGó0ÀÊï=br­ Eôw‹þî¦ ú»Aø;“všØƒönnnj»»»­òy›6mªÅV~VY§ ‚ ‚ ‚ ‚ ÿ>ûó3¢ïGãhîÈB¿…´¶lMBv߆|Ktzõ—„5ùâÌ pÀh¯Ñ´0k£¹#ß]øŽ ¨ Z[¶fv—Ù¸Û¸S*+åì³ì¾º›×¾FðsÁèHtØx~#®ÀHψÙ]gãë苎D‡¨{Q켺$°|Ðr¶]ÙF`D ï {vví074W^OXJÖÆÖ,êµwwRóRùþÂ÷ÄfIJ*xUµ·êòv¶t¦¯k_ŽÆåÝ!ïbml­Œÿ=þwîæÝeŵ¾Ì/ÉWU;S;­âÜl*úuÕ­0(‘H”÷CswΡP(p0u¨õ<î”/ë~žùså2 2”»5Ô¶Âa;ûŠ¿Ã»¹wkͧ®$ nÖn\I½Bz~ºV/1«^s^Iq™q”ËËÑnƒÜi,gclƒTGÊ¥”K—c¨Ût«/ ‚ðÏðk̯ì‹Ü‡‘žÏôxß–¾df³íò6~¸øCêÚri m¬Û°¤ïœ-174çJêþuü_ë3«Ë,|}Ñ—êu/ŠŸÂ~bÕ±Uôré…“…“.²æDÅ œ±^cè> C â³â ¼HAI½'bf`Æ¿Oü_&zOTÉáøÍãl¾´]]æuŸGOçžäç³7r//°8h1¿¿ð»Ê*Áêò–êH™Ýe6Ÿýù$ü¡²PDVaGcŽ2Ð} ΖεޗÐäP­'íhÚ9áQ5µÑP1ùG“Œ‚ b3bµj£Ý)¡Òêá«•ß4¹›WÑæ¶µk[cœ²Îkü6ÀÃÆƒœ =?]«øª×\\^LBv%¸Ù¸±°×ÂËÚ™Ø}?š¤œ$­þm‚ ÔänÞ]Þ;ör…œÉ>“ì1™\ÆÑ˜£ü÷ôëT×é„Ó˜˜òæ€7ñrðÂP×™\Æ û^ §8‡‰'*Ûݤœ$¶\ÚB`D ½{3Þ{<9E9,Ú·ˆœ¢|}ñ÷õÇÑÜ‘ÔÜTŽßíìÚ0+€9;çàe沈‹·—½éé¼uø-ÊdeŒl7’‘íG¢§£ÇŸ x-÷{ŸnNÝTVÝW—·‘žóºÏãÐC\ àÝ!ïª\kÀ•¬­µš´“S§g颲¢ZcZY´ÂP×°^mt¹¼\¹OmÏí2¹Lm=Íw;NTSâ/•mnmm¹¥‘%v&vÜ/¸Onq®JŸEcð°ñPNœ®MÕk.——“’›Âý‚ûëóÞ°÷j,kojÀ™Ûg˜à=¡Y ‚ TýÝ¢¿»&¢¿[ôw ‚P˜´ÓĬ¬¬HHHP{<>>kkÕ»Û·oÓ»wïjŸU­SAAAA„'ŸL!#(2}öÎÝ«|©5Ð} Ý2fó˜:Õ7Ôs(&mPþ¬P(Ø|i3v¦vü2ÿ, -”ÇF´…¡›B6qõîU:·ì̶ËÛÐÕÑ%`V€Êjé#Ú`Q¯EH%R¼¼p²p*VÛïîÔ]åz#1Ð5`÷Ó»icý×DcÚaØwÃ8që™3UÞ>šw¥ù=æsæööDìQÙÝuû•íéáß©öÕf+Gi«rUÄÚÌë6Ã73o÷<Æuǽü{Üʼ…³•³Æ—gK,åVæ-neÞÂDß„Y]«"z”º´YÁ·¤¼@eàµ&ÒŠ˜YI­±õQ™CåÊ’µQwÍã½Ç³nì:$‰ÆrFzFÌî2›m—·ÑgCÚXµa^÷yŒ÷_ÿäAøG Œà‹ _¨LLï=ž1?Žávöm­ë²7µgÿ¼ý*K-F®³yÚfå7ƒ<ѹUgì^À¡‡x±÷‹üté' +‡®d~÷ù*± z, DV‚±ž±r0¯“…~Î~*9캺 €G¬2`u‚÷æîšKHb'ãN2ºýèó˜ÑyÎmàçË?«Ü›={(“•©äX“ŸgþŒB¡Ð*VOª§U\w§îLì8‘u§×q-í¹Å¹xÙ{‘S”£q0ð¦MÇ—G‰¬„×ú½VëyÝ)¡RM«WÒ¶®l£«î јêÚF«»fwwçÖ8€ à™žÏðúÁ×ñýò6û#÷k]—?Ïø//ågÛ¯l'«0‹7¼©ò, 0ºýh|=€ýQûï=ž ¨ rŠrÞvxµ»³ºÌ"¿$33üœýH$XYTk£w^ØIqyqµ|F´£™#_žý’Ý»Y3ü¯UõÕå йeg|[ú²/r¯÷]Ù†_I½Âô¼Üçe­ž—ZN^‰úÉ5êÔ¶Ë€®Ž.«†­bUð*¦ý< WkW² ³HÍM¥•E+µeN'œfýÙõ$>HäAÑFµ¥ì“¨‰º6ú©6OÕZ®NÏÒÿS\Þøít]Ûh¨~ÍÆzÆì˜½ƒŽ-:ÖXnŠÏ¯òÆ¡7øúü×´0kÁÖ[ëž´ ¢¿[SÞ•D·èï®$ú»A¨JLÚibÎÎÎ899qîÜ9<Èøñý" cïÞ½ѵkW•rŸ|ò ãÆÃÌÌ €òòrÞ{¯bU„§žªýSAAAA„'CÒƒ$ Ë ÙndµUèÜlÜèæÔ ‰´®o²Ïd•ŸSrSÈ.ÌÆÚØšW~y¨x±© bplvaÅ.ßñ™ñØÛS”Cß6}U^`V250Õúz¸ Py «ÐŽj?Šá;ˆ¹Cß6}5æ]©›þ¸Ù¸±óêNöZˆŽD‡;îpîÎ9fw™™Y­9UŽjl¦¦ÍâàõƒœŠ;EÆÃ –XŠ¡®!#ÛdùàåÕ^ˆ^½{•ÔÜTt$:<×ó9|}k=ºjz‘W©ò…µ6«òVÆÔ´ªqCd<ÌPÉ©6•×,“ËH|Èw¿ãàõƒtwêά.5¿ø]Øk!w#ˆH«ø¯©v&áŸ!6#K#K•I)úR}ÆwÏ—g¿Ôº®‘íFV›ø‘T"å‹3_ªmt¹¬€ø¬ŠEþ"Ó"1Ð5`N×9Õê–êH1Ö1®5‡˜û1éU[A]"‘0£ó BCˆNV™´£.o¨h3&xO`ϵ=$>HÄÅʹBή«»ð´õ¤kŸZóèÙº§VquõÙØÏÓ~ ¿ÆüÊ•Ô+„$†°%l ={²|ðr¼¼UⲈºÀ°¶Ã4~7©ÊÛÁ[e§„Jµ­Ì÷/»0›Œ‚ŒÛÇÊ6ÚʸinÌ(¨[]õš3f°3|'“.²êØ*¾œPóÿÃÛg’Ï$ö^ÛËôZAP'6#@íÀVÿNþuš´ÓÞ®}µ‰/Wï^àÄÍœO<¯œ`ª@¡üse]Ù~<ç÷œÚúµyn¹À ßÕŽÍì2“/Ï~YmguyWš×m¯zÃч•÷(àJº:ºÌî:»Ö|u7ÔtßétjщýQû9wç73n2à›¸Û¸óJßWë5V%>ãa†òïÃÃÖC«‰µ:µ«õk3Ù§ò¹¸ò9V¹BNÖÃ,•2)óa& }]õš J 8uë»#v³ôÀR.8ˆ‰¾‰Æ²n6n,í·”÷O¼O|V<É9É ¿Aþ±D·ú¼+‰þnÑß-ú»APGLÚy Þyç/^Ìĉ;v,íÛ·'11‘   ÊÊÊX¶l&&ªNiiixyy1vìX 8yò$ׯ_ÇÖÖ–ùóç7Ï…‚ ‚ ‚ ‚ ‚Pg•«¦kzgiX·—J-ÌZ¨üü°ô!Pñ²òüóšó(/V® keTÿA¡•«ÝizVùëÑèÍ»’D"aN×9¬9±†?âÿ`°Ç`®T¬"8·Û\­rŠÍˆeÍñ5µþ¿Þ.½y¥ï+ZÅê2ÍwÓ|§1+`¯ö•ÔÜT><ù! Y 컉Ž2þ‹ñ_”“Ä¡?òåÙ/q¶r®6púQêvJІ©ö¦öÜ/¸Otzt®Î'VüÛè`ß¡Îç©MæÃL²Зêãbå¢U™ª×Üǵƒ<1úÇѬ=µ–ažÃ°3µÓXvé¥D¤E° Çz»ô¦½}ûF¹Aþ™ŠË‹5¶ÅuøáhîXí³ÂÒBd YÍmôÿW(‘•`ah¡Õ곚””—`n`®v0Le]Ù–×”w¥yÝç±;b7WX1d¿ÇÿNjn*Œü@ëœæìœƒL.Ó*ÖÒȲÚ5ä1ˆAƒXv=FzFxÙ{ñÉïŸ0wç\=sHeG€E½1Äc‡£s4æ(žüF}TcýêvJÐVû$d%pöÎYÏÉE'k¬_"‘4¨8{û,³»hžàtõîU Ë qµrÅX¯öÉÓuU9 ÝÓN»6úÑkâ13C3~¸ø_žùRíDãJçîœcõ±Õ¸Ù¸±¨×"­&7 ‚ h"ú»+ˆþnÍD·èï¡:1iç1xùå—IIIá?ÿù‡âСC@Eãüì³ÏòþûïW+³aÃÞ|óM¾ýö[åg¶¶¶ac#V$AAAA„ÿf« ^O¿^í˜L.SûyM„Û¬‰„NŽx{àÛ˹Z»b 5@"‘q7‚ry9º:š»ˆ%Tœ§r…áJ•ƒ¢îE!WÈU^àDÞ‹T‰Ó”wUS:Má¿§ÿËÏ—¦köGî§_›~¸Ù¸i,SU~I>¡É¡ZÅ5¾ «¥¡%=[÷ävöm¾>ÿ5q™q´µk«<Þ¥Uº´ê‚—½£Íé„Óµ¾Älˆám‡³ýÊvþ{æ¿|7å;µ÷ùbÒEÎÝ9‡‘žýÝú7zëþ\‡\!§—K/ t êUG ³,~j1üˆï.~Ç»CÞUWXVÈå”Ëø9ûiŒA¨ {S{ngÝ&§(§ÚÊ6­!Í)••òí”o5NƱ6¶VÆF§G“œ“LkËÖëÔÔFCÅõÄeÅ‘^^mÅãÊë©ün¢¶vméíÒ›}‘ûx}Àëü|ùgå<Ú MÕzÒŽ­‰­Öõ>ÊP×¾mú"‘H˜·k'odN·¿v-r·qÇÝÆ¡m‡–Æé„Óõ>—6F¶ÉáèÃ|á{&zOT;,«0‹-—¶0ªý¨FÏáÀõÄeÆaahAçVëU‡®Ž.ï {I['ñÅ™/jœ´sæöŒôŒØ0iƒÚÝ›AêÂÞ¤â™òzúõjƒbëÚF«{Nªœ´ºfø“++Ÿ™Í*bÒê­À_Bs p-íZµÁŸ‘÷"Q(ÕÚèšž£uut™Õe_œù‚«w¯r!ñ¥²Ræ÷˜_s~UÄdÄÔéYº¨¬HëØª¤):°nÜ:ŽÅ#(2HeÒŽ©M2Ð} ·³oLRNΖÎõ:_m†xa͉5œŠ;Exj8]Zu©#WÈùüôç@E›ÞزØU±[Ô@÷õ®giߥ¼~á;xÞïyýgnŸàƒ‘4Ù.ˆ‚ üsˆþnõyW%ú»ëOôw ‚ðw%&í4²òòŠmì¥RÕN÷µkײhÑ"~ûí7ÒÓÓ±¶¶fРA´o¯:#rèСÒ¿nܸÁÁƒILL¤U«VŒ?K˦ÙÊMAAAA„¦aml—½7Òo°ñüF^ìý":Êåå|úû§$ç$7¨~K£Š—jaÉaÜξÍŸ)èIõ”ÇSrSØuuÝœº¡«£Kw§î\J¾Äò_—óîw•H Ë Ùri /ô~‰Æú«È&å$Ñ£u•ëñvðæzúuþóÇxcÀ÷× ³ IDATèêè¢P(ØvygoŸÅÎÔ®ÆUðe¬gÌÔNSÙ¶… ç6[œËüîóµ.ßή³´Ž·1Öna¤€+¸X¹ð”ëS*/Ó Ò9w €2y™Ú²î¶îH$=Ð:¯úXØk!¿\ÿ…ßã~çÕƒ¯²jè*å€g…BApl0+Ž®@¡Pð¼ßóuÞ5¢&ñYñl<¿‘ƒ×"Õ‘²ø©Å ªoV—Y|wá;v†ïdQ¯Ejn?(¬¸Ÿ5íX ‚PýÚô#.3Žw~}‡ÏÆ~†©)GcŽràú×?¼ípÖŸ]Opl0o xCeg€ü’|‚¢‚èîÔ€¡žC‰NfÉ%¬»N9˜G®søÆaÚÚµ¥½}{åJïI9Ij¯çVæ-Þ>ü6_LøB¹Úð¥äK|{á[eL]Ìë>ö½À†s8wç ýÖiBÆÏ3V;xYªßajræöîÜgŒ× u •Ÿ•hn£¥).–.2)«&Ã<‡Ñ±EG¢îE1gç>û)^ö}?ŠºÅ[‡ß"«0‹ž­{Ò·MßF;wva6Wø:¤b×¢E½©Ü§ºêØ¢#ƒÜq*î§âNiœ¸ó ð-Í[Š ;‚ 4Š~nýàãSãnã®Ü½+æ~ ÿýó¿ ®D»l ÛÊëølÜg*Dd 'nžPN:ê9”-a[øäOp4wTùžNÆÃ †·€‰ )¹)ÕýöwëÏö+ÛùÏÿ¡­][ÚÙµ 57•ÕÇV+cêbf—™|}þk~¾ü3a)aø:úâëè«uù僖“W’§u¼6»ì¤æ¦rðÆAü;ù«<Ó) ¯"WÈ«íTP•»;Š4Ù¤{S{æt›ÃO—~âù½ÏóѨæ9LùÜ¿à>kN¬!$1kckôXÐhç.)/áhÌQ>ùãŠÊŠà6 Ng2Ò3â9¿çøèäG|ñ{»íT>KWÞ_A„†ýݵýÝõ'ú»Aø»“vYBBÖÖÖÕŽ¹ººòÜsÏÕX~èС :Tùó¬Y³7AAAAAA»7¼Áó{ŸçóÓŸ³-l­,Z‘”“D~I>íìÚ›Û úW[ÍôíÓY¼’µ§Öâl匾Ž>©y©d>Ìà•§^AWG—UCW1}ût‚¢‚ø5æWœ-‘êH‰ÏЧLVÆ¢Þ‹ðvð`eðJ®`¨kH‡¬º’eƒ–1÷|¾¿ø=×q¶tænÞ]å¹– \†T¢~7Mæv›ËÖ°­l Ù„›[›˜áçìW§ói#$1„ÕÇWcnhŽ«•+I9I¼¸ÿERrR)d´³k§2ø¶*©Dª|YÝ”Zš·ä‹ñ_°8h1G¢Œ§­'FzF$>H$»0¨örŸ—ë}žÀˆ@ÎÝ>@qy1iùidd¬× _C×V]t-†º†<Óã>ýãS~ýw½S-¦ò~êéh7¨[¡6Ïù=ÇþÈýüvë7úl胛Ù…ÙÜÍ»K‡ÜH¿ÑàúOÜ:ÁŽðì‰Øƒ«µ+ffdd–Ÿ†L.có´Í<ÛãYŽD!2-’‘?ŒÄÉ # ngߦ ¤€­3¶ÐƦ FzFìÜOÔ½(, +¨ì˜]±ÂúÁ9wçý6V¬â[PR@rn2 …_•sµ1Øc0­-[³)dR)Ow}ºNå›b5÷;ÙwXsb «­ÆÙÊ™â²bJe¥üçÿPXVˆ‘ž‘rð´:úºúMÞFKu¤l˜´§wˆ.­ºžÎÈïGâfã†L.ã΃;´³kGzAzƒêïÙº'þ¾þF2xSE[gkbK^q)¹)””—°¨×"Æx¡—K/Æzåpôaæïž½©=ŽæŽÜÍ»KFA/õyIÙîtpèÀ…Ä üf ­,Z!Aªa«ä>ˆ^.½¸xñ?ÇÕÊ=©žòYÜÓÖ“©¦ÖélŒmÛa,û#+vlysÀ›u*_—ÁÇÚzXúu®ã‹3_Ðʼff¤æ¥Òë«^df0©ã$åõuõŠ6¥)½5ð-neÞâìí³¼´ÿ%lŒmp¶r¦°´[™·+ä˜è›°qÒF­B?J&—)Ûh¹BNnq.wÜQ^›£ëÆ­kðµÌì<“M!›Øyu'/ô~A¹‹cUâYZ„Æ&ú»k'ú»ëGôw ‚ðw¥S{ˆ Ã‡óüóϳuëV,,,hÛ¶nÝ‚ ‚PUôýhÖŸ]O\fÜc9ßý‚û¬?»ž‹IËùA¡¹}ò û"÷5w‚ Â?È@÷¬»K#K² ³¸–v ¹BΧc>Å»…wƒëok×–}s÷1Ð} EeED§G‘AæÃL\­\y{àÛÊÕ;8t`×Ó+–”—p+ó1÷c0Ð5àå>/£óÿÝÆÝº3Åg åòr®¥]#49T9p¹k¾›ú.V.äåp-í™3±7µgݸuLì8±Î×ÐÚ²5ƒÜ/4«®ô×\æt›Ã!–r-í9E9$>HD"‘0©ã$~šþ“ÊÊÉÍe û@öÍÛÇ`ÁHs?†ðÔp² ³q²pbõ°Õ|5ñ+¤:u{±\UJn ¡É¡„&‡r-íX[ãïëÏù˜æ;­Q®åénOcidIÀ•€&_µQÀÁÔm3·áiëIaY!Q÷¢¸_pŸ=0§ëœ×o¬gÌÎY;™Ýu6zR=â2ãO '%733æwŸ¯ü.`j`ʮٻï= ’r’ˆL‹¤¨¬ˆ Þ”g u Y1xºÜ̸©üý `gjÇÎÙ;éÙº'ÅåÅÜH¿ARN†º†¼Ðû>ùA¯AG¢ÃÜnsŠÝcÍ|_j€ûftžžT›7IÊIâ^þ=ŠÊ‹èѺ³p²pjî4q²p"h~³»ÌÆÔÀ”¤œ$®¤^!9'sCsôX@àœ@ìMíë}޼â<å¿«w¯’œ“Œ¡®!Ýòã´Y;jm£|¯ê䨉¾múr-í&üÙàúAj#Õ‘òýÔïä1ˆry973nŸO—>¬½¶QÎñáÈY1dö¦ö$ç$žN|Vw#È(È »SwF´¡Œ{kà[Ø™Úq7ï.—’/šJ^q‰„o§|[11GQ±’{ÌýdrÃÛgû¬íõÚ­rÕ~{S{FµÕà{ÒPN–N¼Ò÷ÍIÊIâzúurŠrÈ*ÌÂÅÊ…ÏÇþDä©/ÕçÇi?²|ðrZ˜µ «0‹ðÔpb3b‘êHÞv8Aó‚Tvb¨Ê6:,%¬b2\N'ÇN¬¾†½s÷6ÊîFzF,è±€¢²"~ý¡Áõ ‚ hCôw×NôwןèïáïH¢Ðv/r5üýý l´„þW½ð |ûí·èèèðÕW_ñÒK/5wJÿ(_hvÓP Bíü™:µé~ÿ¥§§SPP U¬‡‡;ë×§3z´vñÂÿ†}‘ûXvd&m`d»‘M~¾È´H&mÄ’¾KXÒw wóî²÷Ú^z»ônpg¤ ü“ýú«)K–8ßÜ©Ù+¯8ðÕW [íOh>ë|ðiáÃŽÙ;”Ÿ}uö+œ,j\åO„¿ñ<õÏÔÜßÏÊååÄfÄ¢P(ð°õÀP×ø¬x2fÒÍ©º:›£§å¥‘”“„—½æ†æ$ç$s7ï.>Ž>ëk‰‘+ä8Y8©]aµRæÃLå a+åù«Ê*Ì"éA¥²RÌ Í«­´—ø ‘̇™XYâfíVí壶y,Ü»KÉ—8·ø\­±S™¬Œäœd^ùå^ð:ýÛôW¾®‰÷gÞx;x³gεÇïÜçvömœ,œheѪƺ´}Xú¤œ$ŠËб3µkð€åÊóVÒ‘è`¢o‚‰ ¦uÎW›ë¸•y‹ìÂl3©ŽWkWµíbeLQy …¢Ú*¼¤ä¦ ¯«‡º*ǵÍ`ó¥Í|tò#vÎÞùDõËrîåßãË3_bgjÇ‹½_ÄDߤÖrÏìy†Ó §‰~+Zm›^\^LÄÝÌ ÌkÝ…@ÛØry9w²ïW’‡…¡®Ö®u^©YÝy+I$ u ±4²ÄÉÂIã¿-MùjsééÜɾƒ½©=m¬ÛT;ÞýËî´¶lMм z_—ðdkîç)¡ù4÷÷³ô‚tîæÞÅÁÌ–æ-))/áêÝ«8˜9àj媌»”| SSås«\!çRò%¬Œ¬jÜiN¡P˜S±r»µ±5­Ì[i|æ“)dÄeÆQ\^Lk‹ÖjŸ¹+còŠó+ä*ÏöPñ}"!+9rå÷Žª´ÍàFú Æÿ4žWû½Êâ§×û¸efs4æ(Á±Á|>þslMlk-óí…oùÏÿaËô-ômÓWmLxj8eò2­vóÓ669'™Ì‡™êâbåÒà>‰ðÔpJe¥ÊŸõ¥ú˜šãdáTí;™6ùÖvEeE\K»†¡®!¾-}«9èeŽÅ#òHŒôŒêyU“®¹Ÿ§„æÑÜßÏD·èï®Jôw‹þnA½æ~ž»»{½ËVo‘„z;v,ÞÞÞôíÛ—.]º4w:‚ ‚P'f,é»Då¥îݼ»¬?»©Žô‰z +‚ á¥>/U[ÅvÃù ø9û‰I;‚ B“ÒÕÑÅÛAu¥AwwÜmT;yÍ«­bßÚ²5­-[×z33:¶è¨U>¶&¶µš±1¶©ö"©*+\¬\4×6ï ‰ø=þw¦ûN¢^`èIõp³qÃÌÀŒÖ­µz `ihÉ­Ì[äçbahQí¸½©½Ö+ëkk¢oRíEsCÔ%GmÊiSŸ§­§ÆcWR®`edUçœAjóh{lgj‡©Êg&ú&Õ&ÇXYVûL=©ííÛk•‹±ž1>Ž> ŠQ—UÚæù0“oC¾¥u›'®¯XG¢CKó–´0k­‰­Vvà¯värÊez¹ôªvÜP×P«{S—X]]+žœ¢:9vªsN‚ µyô÷®ÚßY¶S:­~WJ$\­\U&i"•Hig×®A1&ú&5¶áÚæ-“ËX{j-:ü}ýkܬ­icÝ C ­&ì@•6:õ²ÆI;]Zi?.KÛXmû.û¼Ú–«­>#=#ÿfJe¥\¿wC]Ãzíæ$‚PÑß­™èï®™èï® ú»áŸCLÚi$cÇŽ­=HAžPö¦öÊvAáŸàÅÞ/6w ‚ ‚ ü¿~û€ðÔp®§_G‚„¹Ýæ6wJ=ºªbmº´êBpl0¿ˆ›µóºÏc¼÷ø&ÊN{Á±Ál ÛVkÜÜîsËÀÚXz`)q™qÜ̼ @ç–›9#A„¿¿}‘ûŒäfæMòŠóXÒïÉíCÖÑQ¿«Œ&[væÀõÌß=Ÿ¶vmyÊõ)– ZÖDÙi/ñA"Ë]^k\÷ÖÝy½ÿë!£Úm Ùı›Ç¸•q m´ Âã}?š÷O¼Orn2iyiŒj?ªÆ•ᛓ¦ß4©lG¾:û¿FÿJ ³l±µ)R«³ç÷>ÏÃ’‡5Ƙ˜ðýÔïSF5;pš¯Î}Åì;<(z@ÏÖ=ëܯ!‚ Ôèï~üD· ÿ ĤA¡Î$ràúú»õÇ×Ñ—‹I¹ž~}FµÅÖ°­tnÙ™þný•engßæÐCXY1§Ûåçåòr¾>ÿ5ž¶žŒj?ꉺ–g¨ä-íiyi˜˜Ò¹eçj«8T­«sËÎ\LºÈµ´kèÐß­¿Æ•™îåßã÷¸ßÉ+ÉÃÓÖ“nªÅäç6è¾Öv÷ î³ëê.üœýðsöãRò%öEî $1™\¦¬»êä™BFÈb3b)——ÓÆº ÜÔ¸¥· ‚Ðtd ÏmÄÍÆ±^c‰ÏŠçüó<(zÀ‹½_dû•íè0«Ë,e™2Yß„|Às~Ï©¬ò³'b¹Å¹<ï÷üc¿–Ÿ.ýTï\k»zR=¾ ù{S{¦øLánÞ]ö^Û‹\!'éAëÏ®WÖ;Ùg²ÊÛQ÷¢O § ´S¸¨q%&AAjw#ýiHu¤¼ÞÿuÚÚµmî”4zoØ{uZy÷µþ¯›ËíìÛD¤Ep7ïnf§½´¼4B“CkÖvØcÈF;Wï^%57©Ž_ÿzí, ‚ ÔMjn*a)a õªÒgþ¤™â3E땦všÊ©¸Sœ¹}†é7ž˜gû²B­ÚhsCóÇv²ˆL‹ ›S·'z@š ÂßE^qž²½p³qcÅàÍœ‘f:°´ßR­ãÛÚµeQ¯Eüú#ñYñ$ç$7avu–F~I~1ff)›Úe<Ì <5€–æ-Y>¸ö‰Á‚ BÉþîÇOôw ‚ð¿@LÚAê,ñA"ëÏ®G_ªÏg¾àìí³x;x3ÍwÛ.oãÌí3*“K\?À†sêH™à=AùB)<5œõg×óöÀ·k=ïWg¿BB«õŒyÎï¹]ËŒÎ3(,+dáÞ…\H¼P­l·þlœ´#=#•ºŒôŒØ²‰ßný¦Œ•êHY;j-“}&«Ôx-ÕÇVS*+U~Ö¹egÆu§gf`Ö ûZÛu¦ç§³þìz–ô]‚Ÿ³¡É¡ì½¶¨Ø®µêõWNÚ‰¸ÁÒKIÉMQÉÕÑÜ‘o&£õÖ´‚ Bã)—•³þìz†zåVÆ-6žß¨<ölÏg Måø?˜Øq¢rÂKXJ˜r’JÇì1€RY)ÿ>ñoüœýj´T§gsºÍ©u{ç†äZÛ}Гêñõù¯ñiᣜ´SYoJnŠÊ¤?g?œ,œÈ|˜Ék_#$1D%O#=#V[ÍÔNSµ¾~AAT­¶Š‚’\­\±3µkîtjäeïU§xwwŽ?œäÜd2 2p4wl¢ÌêfTûQtpèPkœ‹•ËcÈF;ë'®G‚W+×'j ² ÂßÙdŸÉôré…½©½ÆE©žUÜІ‘ž?Mÿ‰Ì‡™¤ä¦(ûù››‹• ³j«­_åqZÔk3:Ï ¥yKZ˜µhîtAþ¼ì½˜€¹¡9ž¶žèê<¹Ã¿Ì Íëü ÷ÖÀ·x©ÏKÜξMQYQeVwßû¯²Ø¥:RécʦvýÛôg×Ó»°1¶ÁÅʥλ ‚ õ#ú»?Ñß-Âÿ‚'÷©MAxâm¾´™ÂÒBÆu‡³¥3-ÌZ #Ñ¡KŽÝ÷çý9QÉQ„ø‡\µ¿¹1s¯º Vʳ¾g¥’v®4€‹Ù–ºöÚä„g}Or rˆ=Ëæ£›™3)}§”i+· —aí†áíìMâÉD¶¤láuo0°Õ@óœüvâ7þ±æ‹tõíJÇÆ9›w–µÖZ<\ ÔÚ¼V4Î?êæÛQGù[$=š÷ ›o7‹ëÙLüv"9ù9tjÒ‰N;agcGÂɶ¥nãñÈÇYÿøzœì*ýw ""µgwÆn6Ú@¨(AÞA8Ø8`kmKˆ_ë®g[ê6sÂKtr4õlëáhëHTr”¹<.-Žü¢üJ­Ñ+V“Séø† ¹êÃ%µkEóðGM\š0)dnù¦.M-’l›º6ÅXläñÈlj?«¡¡¸:¸’z.• ‡6ðêêW ô Ô‘Õ"""ÕTÕ/o6ƒfnÍhæÖ¬®C1käÜè¦{¨¶SãNu‚ˆÈŸŽ«O•“an6žõ=ñ¬ïY×a˜Õ³­wÓ½]·…G‹ºADäOÇÅÁå¦[/ªª¾]ýî%‘Á>ÁuB•4tjxÃ?,."r+Ò~÷õ§ýn¹(iGDDªíRá%VN\I€G€Eyˆ?íÿ‰˜”îj}9ù9$œJà¥~/ñEìD'G›“K¢“£q¯ç^©,Ïôz¦J'íÔÆXœìˆ˜³½3;3v’u1 [k[·Lúöt6ÞX&i§ÐXÈêÇV[|™9í§iDþI\Zœùã;`,62)d’ùô(9Éfè—CËÄXóZÑ8ÿ¨«oW ‘¿EÒ³yOžîõ´Åõÿnû/9ù9L4ñ··¸¶`Çfl˜ÁÊ}+×eÜû‘k#+/‹Y÷ÍbX»aå¥I-ÑÉÑæõ(*9ŠÍ{àlïl>‰­´Îïï¹’íGTéË*÷zîW­S±V4Tš´3/fÍ4³X—Vï_Mü‰xîk{ïÝûžÅ›òâOÄ3êëQ|÷% ûàªã‘?%툈Hµ k7¬ÜäóC¶)ÑÜÕú.bRc0 ñá`æAóƒµÙùÙ$œL`HÐ ÃUû{6äÙÚÀïT4+ƒócç³æÀšrï;sñL™²‘íG–yû`¿ýˆü-’SN™Ëv¥ïÂÑÖ‘§{[&Äøºùò`çù|ûçåµ1¯³ªbRc°6Xs6ï,óbæa2™0™Jª.^Jb¦K»‘jðw÷/7Q¥yƒæøºùR²fœ»tޤÓIŒê8 ';'¾Oüžã9ÇiâÒ„èäh¼œ¼héÙòªýh?¢ÖÇP±V4Uµ%e P’üɶOÌkžÉd„ —’uODDDDDDDDDDDDDDDDDäwj”´“••Ezz:“'O®­xDjàS`k]!{ÉÊò¹zµ[œ_¿rË›¸4!À#€¨£Qæi[7lMˆËâ—‘z.•}§öQl*¦·_ïJõ÷aô‡U:iç±îUª.T<–·~Ìškp¯çN¨(œagc‡K÷,å²ñr™{»4.7€¢â"sYv~6œam°.Sß×Í·LYmÌkE㬪³yg1šŒ|]ñ‰ .ÔJ_""Ru~î~^ ñ!|w8ÙìÊØ…Éd"Ô?”úvõ’õe@ËìÏÜÏðvÃ+Õߊ„¤O«t|nŸ@ÇW­WÓX¯4Uq6ï,ßìý¦VÚ‘?‡%í:tˆôôtæÌ™S[ñˆÔÀÆÿûOäú8tèR]‡P笭Ê&›”êí×›…;’r.…èähó)1!þ! ¢S¢I<™h.«Œ¹1s1+U׳¾g•’v*˦#›p°q`õc«ñ¨ça.7™L|µã«JTWWN^8‰Ñd,“¸SуÏ5×+ýU…‹ƒ ——y¼ûãÖ ô ¬•¾DD¤êÊK-ÕÛ¯7á»Ã‰N‰fWú.šº6ÅßÝ€V [•…½=&“©ÒkôŠ„ĤÄT:¾!AC*•´SÓX¯4Uáêè Àø.ãñ¨ïQn‡ZéKDDDDDDDDDDDDDDDDDn5JÚéÑ£µŒHu ¸çž{ê:ù“xæ™gprrªë0nh¡þ¡,ܹE;‘žÎ ~/ÐÀ±A^AD"ét-±åzéÒ¤ ñ'â¹ïËû¸³åìLßIâÉÄ%ì<ü?&ýÈÑ“CÇÆ9›w–µÖâ`[þÛú¯Å¼VÄ×Í+ƒ¿EPT\d>aRÈ$žêõk¬áÅU/òeÜ—tjÜ gg2s39xæ ñ'âùâ/hêÚ´ÆqˆˆHírqp¡½w{~>ü3…ÆBBBÍ×BýCù2îK~Úÿm¼ÚÐЩa¥ÚÑ~ÄMë•ø¹û±ïÔ>^\õ¢yÙa$CÚ3IZb IDATaÁŽ,ݳ”¨ä(zùõ£ž9ù9¤œK!öX,íöW:6îXãDDDDDDDDDDDDDDDDDäÖauõ*"""UWß®>]šv¡ÐXHWÅõCüC(4%oÉ¿‘M ™DKÏ–¤Oã˸/ù2îKöÚÇ¿ÿ WŸµÝ±qGf žµqiqÌÏŠ„´lØ’§{=]î=×s^ÝÝÙa$¹¹,ܹ°è0¢ÃðqõaáØ…´ôlIÂÉï^Ì'[?aYü2âOÄ䤄‘Xh@(…ÆB¬­¬éÙ¼§¹¼[³nØYÛQh,¼aÖèëëÄà‰ ¾Oüž¹[æFFvÖkæ?0ŸþýÉÈÎ boŸlý„%»—“ƒG=%숈ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆH:iGDDª¬yƒæL ™D—¦]®Xïé^O³+cíµ·(ö fRÈ$z4ïqÍ⬌«ÅÍÑU®bãᤜMÁÅÁ…>}hâÒ„bS19ù9•j«ôÚèÝq4!~!ürä.\ Ð3~-úq0ó “B&èX¦­êÌëÕÆéíìͤItoÖÝ¢üí»ßfhÛ¡ì;µ¼Â<‹km½ÛòÓ_bWÆ.N&p©ðœѺak‚¼ƒÊíGDD®-k&…L"À#àŠõ†µ†•ÁŠŽ pup5—;Ø8ðúÀ×9{šÁ­_ëp+¥:±Vfþ_¯ÿ‡—“—EÙÈ#iרÛm'ûR6&Læ$ÔŽ øï¨ÿr$ë;Òwp6ï,îõÜñkàG°O0ÖVÖµ8j©Ž—~|‰åñˉ{.Î|ZìµôùöÏ™ùËL[\æó´ˆˆˆüϲøe¼üãËÌ1÷†Ùoø£›!F‘Št˜Õ:°dü’ºEDDDjèzïs‹ˆÈõ¡¤©²Ò« ñ!Ä?¤L¹­µm¥î¿*3+µT¦|Lç1•nëJ×»4f\—qeA^Ay•ŸøRy½Ú8½œ¼Ê½n0èå׋^~½Ê½Ï`0p»ÏíÜîs{…m‹ˆÈõcm°®Ôëïî_a½?®ou­:±VfžêùT¹å­¶¦uÃÖÞ×£-õ!,:ŒbSq™þdáo‘£óûé4»E<Æ‘¬#eêÕt^¯6ÎÏ·NàÌ@¶ÛÀÃKæýÍï0fÑg83q‹Ç™û¸xù"s¢æp×gwÑî½vtšÝ‰‡Â":9ºJ""R{6ÝLàÌ@¾Œû’Ø´XÆ.KÇY¾`8ç/§Õ;­˜òË{–Ç/'pf Ýúc2™Ìå§rO83×Ö¾v½‡\y,¥âÒâxaÕ ôÿ¤?Aÿ ¢ë]y"ò v¦ï¬°­=Ç÷0nñ8:Ìê@ðÁLýa*ç//ÓN~o®{“žs{Òî½v _0œ‡7V+V“ÉDÄÞF/MÇYi÷^;îýâ^íZd1çUSUc‘ºUPT@àÌ@ž\ö$ÙLúnÁ83¼Â<†ÌBèG¡÷ddg˜?‹>sØâÚ€O0è³A×sf5‰õjóÐaVógÏé;œˆ±ØHLJŒ¹ß~ˆM‹å‰È'þ ˜6ï¶¡ßÇýx{ãÛää^Ë©‘[ÄŸi¿»²{ºUÙ‡Êïs‹ˆÈ­Á¦®¸Y͘1ƒ×^{¨¨(BBBê:¹ üwÛYµo•ùçbS1½üzameMTr£;6_‹NŽÆÊ`ÅÖÔ­›Š±2X™Ë ½š÷ºb_;Òw0fјJÇ6$h û FcX{p-“WN¶¨{<ç8{#øõȯüø×iàØÀâú×;¿¶ø÷xÎq¢Ã0aâ¹çÌåG²Ž0záhròsÌe›ŽlbÏñ=´oÔÞ¢Íښ׊ÆYUÙùÙŒY4†Cg™Ë (`[ê6¶ÛÎ{÷¾Ç°vêնˆˆÔÜ®Œ]ÌÜ8£É”ü{ïæèF[ï¶D'Gc2™0 D§”¬%YyYìÏÜOWQG£èí×ûªýµ~·5Æbc¥bó¬ïɶg·Õh,™¹™Œ]<Ö¢î¹KçØxx#¿ù•EãÑÕ·«Åõø“ñügÓ¸l¼ À¥ÂK¬HXAzv:áãÃÍõ Š ¿dñ{‹ºûOïçÍuo’t*‰·î~«ÊcªnŒ""R·²ó³y`áœÊ=e.+..&Ä?„ù±ó9’u„-€’5ÀÊ`ETrž¤g§“z.• ·O¸j/}˜˜”˜JÇ·öñµæþ+R±V4Õ¾;œ××½n‘›žÎüØùĤÄðí„oq´u¬VÛ""òçr«ïwWeO·*ûâUÙç‘[ƒ’v®)S¦0eÊ”«W‘?•5Öðê€W4o'osyÇÆ‰I1YyèÌ!Nåžbt§ÑDì þD<št`KÊ‚¼‚p¯ç^WÃ*‹µ£;fT‡Q´ðhA}»úœÊ=Åw ß1'j{#x¢Çm­L\Éë_gpëÁÔ·«Ï†Cx釗X¸s!“zO2?$ýöÆ·ÉÉÏáŽÀ;˜Úw*¾n¾={”·6¼UæÍ†Îöε2¯ó¾ó5óbæñþæ÷YúÐR‚}‚-®Ïüe&‡Îâ®Öwñd' ô ¤ ¨€è”hÞXûÿ\ÿOµ¤£DDêÈêý«Ýi4Ot‚fnͰ¶²J²ýdë'ì?½Ÿ ï L&[’·0´ÝP~Ø÷QG£ÌI;¥ õlÞ³.‡RáX !þ!<|ûôõn‹g}O²ó³‰=ËK?¾Ä'[?)“´³2q%㺌ã¯ÝþŠ·³7‰'™¼r2qiq$J"È»dì_ïüš¤ÓIxðæÀ7éÜ´3góÎòÙ¶ÏX¼{q•bý.á;¾OüžÖ [óÒ/Ñ©q'ìmìI8™À?7ü“oö~Ã¨Ž£èÒ´K•ÆTÝED¤nÅ¥ÅÑ¥iæœG¯68Ø8êÊüØùD%G™a¢Ž–üÙÙÞ™èäh&vh.‡’u½.ÔF¬ÍÃûsxÚaZ¿Ûšîͺóõ˜¯-®§Ocúú鏨»0íŽiôkÑWGWŽ;ÆÑ°zÿj¾ÚñOö|²¶§ADDnA·ú~÷+«_©ôžnUöÅ«²Ï-""·%툈ˆˆˆˆˆˆˆˆ\'v}”G»>Z¦<Ä?„Ý»I8™@ÇÆÍý>òß'|OtJ4štâ@æNçžfxûáWí«ôAk¥¢± j5c±‘9QsH:DN~ŽÅé42”¹çÙÞÏòðí›Önë®gÍ5œ¸p‚&.MÈ+Ì#*9Š&.M˜;|.ö6ö´ónÇ'÷BÿOûsþÒy‹vkc^+gU\6^fUâ*Zz¶dîð¹æ$$G[Gî º—ìülÞXûqiqô èS£¾DD¤z:7éÌ¿ÿÛüot©¿’¤è”h‚¼ƒH:DV^wµº‹Œì ¢S¢y¢Ç˜L&bRcèи®®WíïÀKe×ÃÚRÑX<ë{2¥ï>Ýö)ÿXó².f™O¸ò×èÿþy×?Í?ßîs;Oôx‚7×½YrÊÐÿ%í¬Ù¿ƒÁÀ¼óhéÙ€z®õ˜~×t’Ï%WxbAy±FÆGbmeÍ—~‰—“—¹¼«oWÞ¿ï}>˜ ‡6Ð¥i—*©º1ŠˆHݪg[Oïÿ´Ìƒ¼Á¾ÁØÛØÍ#ÁPl*fÛ±m o7'{'æÇΧÐXˆ­µ-Ñ)ÑX¬éîÛýªýý1É¥6ÔF¬ÍCU}—ðEÅEÌ<ƒ»ÛÜm.ô dÎÐ9ìHßÁúƒë•´#""•r+ïwWuO·²ûâÕÙç‘›ŸÕõèäÂ… ¼þúë´mÛGGG\\\èß¿?ëׯ7×ÉÌÌÄ××OOOŽ;fqÿæÍ›±±±!$$„¢¢¢J·Y*77—éÓ§Ó±cGêׯOÆ ¹ë®»Ø°aƒ¹ÎC=„Á`àÌ™3eî/½vþ|ÉBxçwòÚk¯ŠÁ`À`0Я_?Þ{ï= ›6m²h'--Ç___ìììhÔ¨ãÆcÿþýõ¦M›†Á``Ïž=|õÕW´oßš7oÎôéÓ«t¼í¾}û:t(®®®¸¸¸0dÈöïßÏ#ûNïãlÞÙf.o,»2v1záhVï_ÍéÜÓÉ-ùEùeîéѬG™2_7_àk4@êùT¼¼ÍÉ0¿×Ç¿â„Ôòb=”yc±‘ÐBˬ™ƒ? üoͬʘª£ˆˆÔ­¶ÞmËMTq°q Ø'˜íǶSh,$þD<ç/'Ä?„ÿ.^bgúNŒÅF¶¦n¥sÓÎ8Ù;ÕÁj'֊桪9Àó+Ÿ7¯³¥kmëw[“™›É‰ 'j܈ˆü9ÜÊûÝUÝÓ­ì¾xuö¹EDäæwÍOÚ9wî¡¡¡$&&šËòóóùå—_Ø´i .düøñ4l؈ˆúôéÃèÑ£‰ŠŠÂÎÎŽ'NðàƒâééÉ·ß~‹M¥ÛÈÊÊ"44”¤¤$sݼ¼<Ö­[Ǻuë(,,ÄÆæÚ8”œœL=8}ú´¹ìÔ©S„‡‡óÃ?°qãF‚ƒƒ-îùðÃùâ‹/Ì?;vŒ7ß|“ââb¦OŸ~Õ>÷ïßO¯^½ÈÎÎ6—ýôÓOlß¾Ûo¿½ÂûÞ}÷]ÂÃÃÍ?W+þªzçwXºt©ùçääd^{í58ÀÂ… kÔ¶ˆˆˆˆˆˆˆˆÈ A½å–—>ÍÝŸ 6-ÖüV¿¿fož]ò¾£Qæ‡}®fGúÆ,S騆 áƒaTº~yc1ùhëG8Ù;1}Ðtz6ï‰{=wl¬lÈÌͤçÜžå¶å`ëP¦Ì@ɼ&“©Ò1ýQmÌkEgUQú­Éd*ó0ñï kÜ—ˆˆT›£[¹å¶Ö¶tóíÆÖÔ­äåM—¦]p²w"Ä/„÷7¿O\Z‰'K¾· õ­T­ßm±¸â5á÷<ë{²íÙm•å“­ŸPh,dRÈ$†·Ž·“7vÖv }6ˆ³ygËÜóLj vÖè+ÅZºn^i~J×ÌêŒIDDn.­kPòpí–”-ìHßÁ®Œ]ØYÛѽYwìlìJ> ¦Dã`ë@N~Žùáá«yxéÃU:}míãkiáÑâªõjë•æ¡**³Î^6^®•¾DDäÖw+ïwWeO·ºûâ""òçqÍOÚ™2e ‰‰‰Œ9’¸¸8rssÉÊÊ"<<777ž}öY.^,y S=˜5k±±±Lž<™¢¢"ÆŒCff&ááá4iÒ¤Êm>ÿüó$%%Ñ¡C~øáNŸ>MVVëÖ­cÀ€å¾eêj6lØÀ¿þõ/¢¢¢0™L˜L¦2'ëüÞsÏ=ÇéÓ§éÓ§;vìàâÅ‹æ1\¸pǼÌ=K–,!,,ŒãÇ“““âE‹°±±aîܹ•ÚñÅÉÎÎfÈ!ÄÇÇsñâEvíÚEÇŽY·n]…÷-[¶ŒY³f‘žžŽÉdböìÙÕŠ¿ªJû=~ü8gÏžeÉ’%¸»»³hÑ"~þùç·/""""""""r£²6XÓ£Yvgìæ×£¿r©ð!þ%é„„RT\Äæ£›‰K‹#Ø7¸Üho99ääçÐ7 /ÃÚ ÃËÉ «’—&mNÞ\£¶}Ü|°¶²&.-®Ìi=9ù9ìÎØ]æžë=¯V†’-÷?>üäãꃵ·ûÜÎái‡+üoÂíjÔ¿ˆˆ\!þ!\6^fóÑÍìHÛa^K:4£QG£ˆN‰ÆÑÖñ†~#nÚù4<ë{2)dÍÜšaocÁ`àØùc¤œM©QÛÍÝšs*÷”ùíý¿WÕßZx´ÀÑÖ‘Ý“wW¸fÎ1·ÊcªÍEDäÆP’,Mtr´ù„¼ÒÏ‚QG£ˆ:Zò†ÿÒõ»®\ïX (2•)/M0újÌW®³;žÛQãþEDäÏíVØï®ÊžnUöÅ«³Ï-""7¿kzÄLAAááá´k׎ÈÈHs‚Lýúõ3f gÏžåé§Ÿ&**ŠÁƒKŽ2öÙgÙºu+}ô lÞ¼™·ß~›;ÊmöíÛ—ˆˆÜÝÝY¿~=ÞÞÞæØÈÀ¯åðÍ.^¼ÈêÕ«ñòòbÕªU¸¸¸Ð¶m[¾ùæ:wîÌž={8xð ­Zµ2ß÷úë¯óì³Ïš?~<ß}÷‘‘‘¤¥¥Ñ¬Y³ ûÌÍÍeíÚµ4kÖŒÈÈHJÞTÙ¥KV¬XA`` gΜ)÷ÞÉ“'ó /Ô8þªzþùç-ú;v,F£‘ &É€ªÝ¶ˆˆˆˆˆˆˆˆÈ.4 ” ‡60{ólêÛÕç6ŸÛhÓ° õ<‹#¿(¿Òoö æð´Ã×2ä2ÜÜp´udKÊ¢“£ ö æBþÖZÏ;¿¼S£¶ëÙÖ#Ô?”MG6ñÌwÏ0µïT|Ý|9zö(omx‹ó—Η{_mÏ땸:¸•EÇÆq´uÀÑÖ‘{ÛÞËòøåL^9™¿ÿ…÷ìmìIÏNgÏñ=„ïgÉø%ØYÛÕ8©]¥§ç̉šÃeãeóC·V+z4ëÁÆÃ9žsœÞþ½Íå\Í—\³x+ÒÄ¥ ‡³³pçB†·ÀÎô¼õó[æ7W×à6ƒÙ{b/O¯xšéƒ¦Ó©I'Îæå³mŸUé´€ÑF³ãÇ<¼ôažíý,›tÆÙÞ™Ó¹§9˜yÈøHÆwO/¿^USmÆ(""7†ÒÏuë­çعcLî3Ù|-Ä?„éë§S`,ÀÙÞ™Ž;VªÍ¯Ç|}ÓÄz%nŽn:sˆcçáãêc~ÉĈ#ødë'¼°ò¦ôBˆžõ=ÉÎÏ&å\ ?&ýˆ·“7Oö|²Æ1ˆˆÈŸÛ;ß]•=ݪì‹WwŸ[DDnn×4içèÑ£\ºt‰}ûöakk `>•¦ôÏÇŽ³¸ï³Ï>#&&†Í›7sÏ=÷ðòË/W«Íääd ¸ûî»-v®·””ŠŠŠ 5'¼”²±±á®»î"11‘Ç[$½ôëׯL[\¸páª}FúôécNØ)åêêJ=øá‡ʽ÷ÉLÕ¿ªîºë®2e¥É\‡_߇ DDDDDDDDD®·Þ~½8˜y°6X`0èíß›•‰+-ê݈ c:á˸/yä›G,®h?‚ +jÔþ+ý_agúN~9ü ¿þÅ\îæèFˆÑÉÑeóÚ½Yw Ÿlý„O¶~@7ßn,¿„¿ø;I§’Xµo«ö­*÷þÊœ°.""×_ g ÞNÞÌ<ˆ«ƒ+u0_ eÍ5À½FŒí2–_þÊôõÓ™¾~º¹¼­w[Z5lÅéÜÓÕnûáÛfeâJ’N'1!ü'Ç † áǤ+ÝÖÈö#‰=˲øe<ùD¹uìô Pµ1ÕfŒ""rcøãçºÒD[(I„1™L>s˜­bme]Wa×?ÖÍzðCÒôÿ¤¿¹lñ¸ÅtoÖ þ¯­}WV¿Rî½ëñ·÷/""r+ìwWvO·ªûâÕÙç‘››Õµl¼¸¸äíE&“ £ÑˆÑh¤¸¸Ø"ÉàòåË÷ÅÅÅ‘žžÀ¡C‡,TªÓféiàïLì:ñºÅT[–Å/ãå_f n=¸®Ã‘[ÀO?91i’7‡©ëPä:{öÙ’Ó>?üðÔuíwBø‚¼‚xuÀ«åE´{¯w¶¼“OîÿäºÆTÒ³Óé÷q?ºí!Þôf]‡#"·ˆºø<%uO¿Ÿ‰ˆÜøêêó”Ô=ý~&"rcÓç©?/ý~&"rãÓç©?'ý~&"rãÓç©[G‹-ª}ï5=i§^½zŒ3†-[¶0nÜ8¶mÛÆùóçÉÏÏgÿþý,X°€ž={RPP@QQ>ø gΜaéÒ¥<ÿüó<óÌ3,_¾œY³fU¹MGGGFMVVƒ bõêÕœ9s†sçα~ýzˆÑh ]»v¼øâ‹ìß¿ŸK—.±{÷nFŽIFFF™±¹»»°víZòòò®8õë×çî»ïæÔ©S >œ]»v‘——GRRcÇŽ%!!Î;ÓªU«Z›{''' Djj*>ø ‰‰‰äåå±wï^î¿ÿ~233+ÝVUã¯ê\–š3g³gÏæäÉ“œ;wŽððpž{î9FUƒÙ‘Úv¡à±i±däTüÿ´ˆˆˆÔØ´Xögî¯ë0DDDDDDDDDDDDDDDDDDþôl®uï¿ÿ>{÷î%<<œðððrë”ö3mÚ4¢¢¢xçwèÛ·/³gÏfÇŽL›6îÝ»R¥6ßÿ}bccÙ»wo¹§°”Ö;v,¯½ö[¶l!(èGÐ6mÚ”Aƒ±nÝ:‹ûúöí‹Á``æÌ™Ìœ9Ó\¶iÓ¦rã™3gÛ·oç—_~áöÛo·¸æääÄgŸ}Vî}51kÖ,¶lÙÂÊ•+Y¹r¥¹ÜÃÃðóÏ?ckk[©¶ªUç²ÔÈ‘#yñÅyñÅ-ÊÇÏ€*§ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÈàš'í4hЀ­[·òá‡òÍ7ßpàÀŠ‹‹ñóó£wïÞ<öØc888°bÅ fÍšÅСC™:uªù~[[["""¸í¶ÛxðÁÙµkÞÞÞ•jÀÓÓ“ØØXþóŸÿ°lÙ2’““quuå¶ÛncÊ”)ØØ”Lƒƒk×®åÅ_$**  Àœ9sxõÕWËŒ+((ˆùóçóÞ{ïqøða._¾|Åy`ÇŽLŸ>5kÖpêÔ)ÜÝÝéß¿?o¼ñmÚ´©ÅYÿ©à¥m IDAT_Œ[¶lá•W^á×_ $$„Ù³góä“Obccƒ³³s¥ÚªJüUËRÓ¦M£W¯^Ì;—ÔÔTš6mÊ£>Ê´iÓj6"R«¾KøŽù±óˆØÁ–ä-ækKÆ/±¨{þÒy¾Þù5¿ø {{îhq÷w¸ƒÁ`®³÷ø^Þùå~˜®¾]Y´k‰'ñròbÆà$ŸMfYü2f¤¨¸wFuEwEy…y¬Ú·Š={8qáNvNtiÚ…QGáêàZf,k¬aÍþ5ääÐÒ³% þK­Í“ˆˆÈõv óÓ×MÇXl$ádã3_{màk¸˜6ùvï·D%GqÙx™.M»ð—Ûÿ‚“½“¹N¡±¿,ý Á¾ÁL ™Ä7{¾akêVÎ]:Çüæã`ã@v~6‘¿E²;c7¹—sñvòæ®ÖwÑ?°¿ElÆb#›Žn":9šcçŽameM«†­¸¿Ãýø»û—ËÞã{ùvï·dädÐØ¥1vzÏúž×`ÖDDDDDDDDDDDDDDDDDD®kž´%IS§NµHÆù£#F˜O½ù#NŸ>]å6K¹ºº2cÆ f̘qÅzíÚµcÍš5eÊ-ZÄ¢E‹Ê”Oœ8‘‰'–)Ÿ2e S¦L)SîëëËçŸ~ÕxzOU®•§}ûö¬ZµÊ¢,==¸¸8‚‚‚°²²ªtÛ•ª>—¥&MšÄ¤I“*Õ‡ˆÔŒœ ’N'žNzvz¹õ²ò²¾`¸ÅõµÖ’p27½i.ËÎÏ&6-–ŽM:òÏõÿätnÉ¿÷m½Û°d÷’’MFó=›nfÑ®E¼5ø-Fu”$õý¸//_´ˆcÍ5ÌÏ·¾ÅÇÕÇ\þò/³,~™E›Ëâ—1¦ó˜êL‹ˆˆH»PpØ´XròsÌ.ý¹T±©˜§–?ÅÆÃÍe›ŽlbÝuD>‰­µ­¹^lZ,NöNLüf"[S·šë‹Ø}j7OD>Á¹Kç,âX¿ŒÑFóöÝo›ËÆ-ÇÎôõ6Þȱ_0wÄ\‹$ŸÈß"yuõ«›ŠÍeËã—óbË9EDDDDDDDDDDDDDDDDDnt×%iGêÎÈ‘#yòÉ'éÒ¥ ¶¶¶ìرƒ)S¦——ǨQ£ê:<¹ o7g{gþ¹þŸŒî4šá톗[ïóíŸÓÒ³%ÿ¾ûßx;{“x2‘b>bñîÅ<Ñã š¸4±¨¿ nþîþL ™D3·f¸8¸°+co®{“zvõ×ewÂÎÚŽ„“ |¹ãK^[û=š÷ÀÇÕ‡Bc!¶Ö¶üµÛ_iëÝzää°=u;á{ ‹ãÝ!ïðÓþŸX¿ G[Gíú(štâlÞY¾Þù5Ÿo¯\r¢ˆˆÈ¦uÃÖ,·˜ áò âÕÿ;å2Èë§Óm>º7G7^¾ãeZz¶äTî)>ŠùˆÄS‰ü´ÿ'†µfÑîæ£›q²wbJß)yá`〱ØÈ“Ëžä|þy†·N¿ýpupåØùc,ˆ[@ÄÞz6ëÉÐvCÈ-ÈeX»atõ튫ùEù$JbÁŽL_?Ýœ´s<ç8¯¯}bS1#;Œ¤`ŒÅFVï_Íìͳ¯Ã,ŠˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÔ%íÜâÖ­[ÇŠ+Ê”·iÓ†^x¡"‘›]SצæSp|\}èÞ¬{¹õüÜýˆ|8{{úô¥°¸£?dÏñ=e’v¼œ¼Xþ—å8Ú:šËžYñ Ŧb¾xà nkz›¹üŽÀ;èÜ´3¿™Èª}«xªçS4¨×€Õ]ͺCëøõè¯d]Ì¢ÐX€µ;Òv˜ïØÀœas8À\>´ÝP†ÌBòÙäšL‘ˆˆHp¶w¦{³î \]ˬÑEØXÙ>>wóµænÍy(ü!veì*“´cÂÄÂ1 òþ_âÏ¢]‹ÈÊËbJß)<ÙóI‹ú÷´¹‡¾õeyÂrsÒÎâq‹Ù~l;¿ý•µÖrÙx“É„½=Ùœ¼p’FÎX™¸’ËÆËLì:‘¿ø»¹Í!ACxéÇ—X¿¼v&KDDDDDDDDDDDDDDDDDä:PÒÎ-îûï¿çý÷ßgÏž=dffÒ¤I†Êë¯¿Ž““S]‡'"·°Á­›vJµoÔ€syçÊ­ÿû„€½'öbm°fNÔL&&L‹8’u€ÌÜLÆ.Kzvz¹ñ\(¸`þó̸9ºY$ì@IrÏжCù úƒJSDDäfÓ¡q‹„¸òݦa‹„€=Ç÷°þàzbRc0™JÖg&óŸK×h£ÉÈä•“‰JŽª0¦ hä܈™Ýqt™:£;ŽVÒŽˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÜT”´s‹0` ¸zÅ:4sæLfΜY×aˆH-sup-Sfke @±©¸ÌµÆ.Ë”å]ÎÃh2“Sa?ù…ù„m #=;žÍ{2´ÝP¼¼±³¶Ã`00í§iI;ùEù¸9¸•Ûž›cùå"""·Šr×hëŠ×èFÎÊ”å]ÎJl+bgcÀªÄUD%GѼAsºí!š7hN=Ûz ¾Þù5k¬5'ú䕬ë..•Š[DDDDDDDDDDDDDDDDDäF¦¤©2ó¶×Jc—Æ\6^æÓû?ÅÚʺÜ:îõÜØ{|/nŽn|5æ+¬ Væëy…ydæfâ`ë`.órò"9+™ó—ΗIÒ‰? F"""r™jw6 eÊJ“m§šN g`¹÷ÙX•|Ü,Mì™;b.A^–'ö¼¿ù}‹Ÿ½ê{x*±L²Öh¹ÙX]½Šˆˆˆ¥z¶õ8vþØ5ígP«A\*¼ÄškhãÕ†îͺ›ÿkëÝ–™(4%oßÏ-ÈåÀéæûÏ]:Ç +_0¿µ¿T¨(F“‘i?M#· ×\¾zÿj¾OüþšŽIDDäZ«o_ŸôìôrOÍ©-wµ¾ €ï¿§±Kc‹5:Ø7˜s—ÎqòÂIà§ØíJße¾¿¨¸ˆ°è0v¤ï°h74 €™g’r.Å\¾ÿô~fÿ:ûšGDDDDDDDDDDDDDDDDDäZÐI;""Reþþ8Ú:²<~9 'ps(ywÉø%µÚÏcÝcý¡õ,Ù½„o÷~‹Ÿ»ÎöÎdæfrâ ŒÅF¾xà  .-Ža †Ñºak’Ï&ãhëHSצ\¼|Ñ¢ÝåñËÙph½æö"À#€³yg9žsœ¶ÞmÙwj_­ŽCDDäzjëÝ–m©Ûè÷q?šº6Å€×¾F€{@­õÑÍ·£;&boý?鯛/žõ=ÉÉÏ!=;‚¢þÖão B¿€~ÌÛ27Ö½ÁüØù4¨×€”³)ääÐ뉧ÍíÞÑâº4íÂîŒÝ þl0‹¤œK¡uÃÖœÊ=Ukc¹ÖtÒŽˆˆT™ƒ¯ö{{f$6-–Ø´ØZï§žm=ÂÇ…3þ¶ñØZÛrøÌavgì&=;g{g ~„vÚ0±ÛDìô &L$N"étM\›ðÅ_ÐÀ±E»ÞNÞ|=ökZz¶$¯0„“ œÎ=ÍÄ®™pÛ„Z‡ˆˆÈõ4µßT:5äxÎqâÒâˆM‹%'?§Öûykð[¼:àU¼œ¼H;ŸÆîŒÝÉ:B±©˜{ÚÜýmï S“N¼1ð m9vþ{ïÅ`0ðÎ=ïУy‹6­­¬ùlÔgÜxEÅEÌ<È‘¬#ôjÞ‹·ïy»ÖÇ ""r£Ø’²…°è02s3ë:”jYp=aÑa\*¼TסˆˆˆÔªÔs©„E‡±çøžº¥Z’N'Æá3‡ë:‘Ze4 ‹㇤ê:”jÉÉÏ!,:ŒMG6Õu("""µNûÝ"""e餩–±]Æ2¬ý0Žœ9Â¥¢K˜L&:6îÈâq‹iÞ y™{J¯ù¹û•)+¯>€“½ÓMçþÁ‘¬#\*¼D#çFx;{ceø_Áš·î~‹©ý¦’z.üÝý˜1xEí¶ónÇêÇVs$ë¹—siîÖ7G72s3Ye`«4tjXGVßúCëY¿œ ·OÀÑÖ±®Ã©’ã9ljü-’žÍ{ÒÕ·«ÅµÒ¤g{g:7é\GVß¾Sû‹£UÃVzÖu8"""Uöaô‡ø¸ù0¢ý‹ò"caÑaÜÙòNî º·Ž¢«¾œ‚’¤‡n{ˆ~-úÕu8"""U¦ýn‘ªQÒŽˆˆT[=ÛzthÜÁ¢ÌÍÑîͺ—[¿¼kWªÿ{¶Ö¶´ñjsÕznŽn¸9ºY”µoÔ¾Âú- [k[:4êPáé»3vs óç.£aý†ôlÞ“¦®MË­›x*‘Øc±˜0ìLÇÆk47"""u).-ŽeñËØšºc±Ñ|mRHÙÅm?¶ßNü†½=}ú”9u6õ\*ß'~OŸ€>tj܉íǶ“x*‘úvõÓy F“‘­)[9y€¢â"üÝýéÐ{û2ý%ŸMæ·¿q"çNöNtnҹ“åO^8É/‡!§ ‡–ž-éзºÓ"""RçŽç'ò·HŠMÅ;wŒ°è0óµ‘FÒ°~C‹úG²ŽÍeãeº4íB°O°Åu£Éȼ-óðàÞ {9’u„˜”Î]:ÇS=ŸÂÖÚ€„“ ìÎØMîå\¼¼éÛ¢/õÊ>‡r6ï,±i±;w kZy¶¢§_O¬ Öeê^¼|‘ŸýÌñœã4rnÄÀVkcŠDDDêŒö»EDDª®FI;={ö¤gÏžµ‹Hµ=ðÀu‚ˆˆˆˆˆˆˆˆH¹V$¬`[ê6 äKÌRÝ|»Y|‰y<ç8ÏÿÝö)­¶bæÆ™¤g§ðh×G ñ!boom|‹Ü‚\‹8ºúv壑ÑÀ±Pò…ää•“9šuÔ¢ž•ÁЧz>Åä>“ÍeŦb^_û:K÷,µ¨;¾Ëøj͉ˆˆÈ 6-Ö¼6oKÝf^¯Á2i§¨¸ˆ'—=ɆCÌeÖVÖ¼}÷ÛŒì0Ò\–z.•°è0ì¬í˜5‡èähÚy·cLç1ì=¾—ç¾μv—jìÒ˜G~lNÈÉ+Ìã‰È',â)Õ' óFÌÃÑÖÑ\ñ[o¬}ƒËÆËæ²ÎM:s_Ûûª5/"""uíxÎqs¢NzvºEÒN÷fÝ-’v>Ýö)ïýú&“É\ö@§ø÷Ýÿ6ÿ\d,",:Œ;[ÞÉ¡ÌCÌ‹™g¾ö×n%;?›É+'›@.åhëÈß`TÇQæ²møá»Ã-Ö]¿~|6ú3üÝýÍeñ'âybÙdæfšË:5dÆàUž‘…ö»EDDª®FI;""""""""""re#Ú ØT̶ÔmŒê8Š&.MʼÝïkþµÁš1ÇP϶›“7søÌa¦¯ŸÎÒ‡––i÷õµ¯ckeË ‘s#º4í†Cxeõ+X¬¹#ðZx´àrÑe¶¤l!.-Ž©?LåóÑŸ%oïO=—Jo¿ÞxPß®>§sO•ż˜ytõíj~“á‚ Xºg)ÖVÖ l9_7_ŽdaÉž%æ/EEDDn6Ý|»1ªã("‹¤GótóíVn½/â¾ · —aí†áíìMâÉD¶¤láuo0°Õ@œíËÔÏ»œÇ}m[397"#;ƒ‰ßN$'?‡NM:Ñ©q'ìlìH8™À¶Ôm<ù8ë_“½ .²-uíµ'È+Ïúžää{,–ÍG73/fSúNà·¿ñ5ÿÀXl¤«oW:6îÈÙ¼³¬=°Öâd‘›I—&L ™Ä‡[>¤©KS‹$Ùß–Þs|o¤o@_Zz¶äTî)~Jú‰o÷~˽A÷Ò˯—E»»3v³áÐBýC òÂÁÆ+ƒG>Nü‰x|\} ÅÕÁ•Ôs©l8´WW¿J g ›t *9 /'/º4íBSצt:‰m©ÛxéÇ—ˆ˜”œ°ó·e#37wBüC0ùõ诼òÓ+×aEDD® íw‹ˆˆT’vDDDDDDDDDD®¡íGp<ç¸ùKÌ`Ÿàrë5skÆWc¾ÂÁÆ€©Æ© ùb;3v’[‹“½“EýFÎN}»úæ²ÁŸÆÑÖ‘ðñáæ·õ˜L&žùîÖXË‘¬#´ðhAûFíÙðÄN^8IÒé$ròsðqõaPËA,Þ½˜ŸÿlþsþöùX¬øêÁ¯èѼ‡¹ÝµÖòôЧkm®DDD®§®¾]1 DþIÏæ=yºWùkZ¡±Õ­ÆÇÕÇ\6í§iDþI\Zýû[Ô¿Tx‰•Wà`.{cíääç0}ÐtÆßfùæÞ;0cà Vî[ɸ.ãp²w"bBÎöÎìÌØIÖÅ,l­mÜf0éÛÓÙxx£9igÁŽ‹L ™dq:ФI ýrhçHDD¤.”&íÌ‹™G³Í,Ö8€‚¢²ò²øxäÇÜÙòNóµPÿP¦þ0•MG6•IÚÉÊËbÖ}³Ön˜¹lõþÕÄŸˆç¾¶÷ñÞ½ïamem¾"žQ_â˸/ù`ØL4¶¥nãDÎ ì¬íèæÛ3ϰ;c7ç.£c~HúÓ¹§ õå¿£þ‹­µ-Pò{„ð œÍ;[»“&""rh¿[DD¤ê”´#"""""""""rø[¿™¿Àäÿ·wçqY•ùÿÇß77û¾‰"( ¢âŠšJfî–šiZicömP›²™ÌI­™©~•KÓ^¦fÚXj¥¨m¦¦•K!.YŠF*&* ⊂ì÷ýûüëÌ 8¯ç?u_ç:ç¼\œë¾>çHr2;©SƒNúåÄ/ÊÎÍ.ó%fB‡»/0³s³•vÈ®`G’ºFtUâŽD={´LÿÛ›ÝnW°#II’d6™uòÜIMOšn7FççI:¿0X­%“ƒælž£•»W–›çÂ-IÛ2¶ÉÍÉMu¶_T榻ZÝ¥w6½så Àu¢iPS»‚éü-¿Gþ£†þ í v$é»ôï$IîNîš™<Ó6>[­VYe•·«·Ý=ïG~ÔýݯKI¹™N䟛Ÿ¶el“$k+Ø‘t~Üîô®ðj¸¾0ß Ào(Ú€j Ø;¸LÛ…/)Ë[ în÷ùÂSzž>¨WÖ¿rÑóœ-<+Iz|ùãÚsl""'w9™TTZ¤™[¨t¦ðŒ$•Y¬|A¨O(_bj´òÆhw'wI—7FKçÇéRk©^ûöµ‹žçÂ=c㠭ܽRþîþº©áMªçUOÎŽÎ2ɤüPE¥E¶}r rTÏ«žÌ&s™ã…ù†]òÚ¸ž]ñí^¦í½ôGÛ?ºäù’$ë¥u/ÉÙì¬Q=ÔÀ¯ÜÝe’IöoЇÅj‘t~Œ–Ê¿—fŒÔÌwðŠvà:äh¶ŸÞõqõ‘$EFêÖ&·^t¿Øz±Ê+ÊÓ–C[Ô2¸¥Xd·Ð7õhªfnœiûìíâ-IÊÈÉ(÷xk ¶2;”- ñvõVQi‘:\ü©ú‘‘’¤µûÖÊÕÑU+þºBî¶íV«Uó¶Î“Éd²µù¸ú(ël–J­¥e w>t­—@R^‘«Ûù{éá­‡+À# ÌvI¶·|³ïIÒ›w¼©n‘Ýìú¤f§Ú÷×{ôŒœ yÙmcŒ ,æ»5E;PÉ\Ì.’~{ÒneöV¸_¸ŽåSŸè>j\§±Ýv«ÕªoÓ¿UózÍUXZ(“É$W'W»/0‹J‹ôò†—íö ñ Q]ϺJJOÒ¦ƒ›Ôᆶm«v¯â©ƒ€ëÚ…1útþéJ=O§ôÑöÔÀ¯nov{™í?gÿ,//I’Éd’£ÙÑ–í‚g(§ G¾n¾¶¶6¡môé®OõÖwoilüX[û¡Ó‡´hû¢Jºª†³Ù¹ÒÇèŽ7tÔâí‹Uj-ÕÖƒÉÁnû±ÜcÊ<›)I¶ÂYOO»>É’õõÞ¯íÚÚ„¶Ñ’”%zãÛ7ôöoËÉì$IÊ/Î×ô¤é•u9T 滸2í@%kà×@’4ù«ÉÚzh«ÜœÜâ¢Á±ƒ+ô<n™ ¿-û›¼;@tTD@„\]”‘“¡íG¶+#'C»Æï’»“»6Ö¦ƒ›4ôý¡Š ‹ÓÙ³ZÿËz––9îÐä¯&kć#Ô3ª§Â|ôïÄ>}³ïù»ûë乓zT•0ß09˜´xÇb•XJäçæ'Iz$þ‘ =σÔÊÝ+õØgéÝ-ïªepKy¹zéXî1í9¾G)™)š;t®B|BÔº~k¥d¦¨ÿ»ýÕ#ª‡$éûŒïµ+k—]ÁŽ$Œ©å©ËõÚ·¯)é@’Z·ÐÉs'µj÷*¹:¹Vè5PÕÂýÃõÓÑŸôØgÙÆìA±ƒTÇ£N…㶦·é[ÿ§üPöoP§ðN pЙ‚3J?•®Í7ëö¨Ep µ®ßZ’4:q´úD÷‘Ÿ»Ÿöß«uûÖÉßÝ_ÇóŽÛŽÛ/¦Ÿ^Ûðš6ìß [çܪø†ñ²X-Z»o­ò‹ó+,?F`¾€+CÑ€ZãׇâÊjýíÿ«B—F]©´ãiš½i¶$©}Xû ÿ³gãžz¹ÿËzfõ3Ú°ƒ6ìß`Ûæ`rÐÍn–£ùü´ð³}žÕ¨ÄQÚvx›¶Þ&I pÐk·¿¦{?¸×î¸#ãFê—¿èÃ?ÔÊÝ+míÃZSAI–¦,­ÐëP»Y­’ƒÃ¥û¡æ©Ê±ù_7_ Фĉzÿû÷mí]´êª÷ïy_}ö˜vfíÔάvÛc‚bâb;÷Ƶ÷ø^½»å]I’£ƒ£žíó¬þ°P9¶ýZ·Ðs}žÓS«žÒ–C[´åÐIRËú-5 é=»æÙ ½µ[UßG¡ú0™$‹¥êÏ{ÜýšðÅ}²ë[[‡:ThÑŽÙdÖœ¡s4aù}öµo_l·½®g]µn!IêÝ[ý›ö×g?}¦Å;~ë7¤åy9{iî–¹¶6gͶöØ—b/úä¦ÿ×ûÿiXëaUPÃľ«Øz±Z8|¡]ûâí‹5wË\<}P…%…zûηÕ-²›A)—‘“¡®3ºêÞ6÷êé^OÛÚôMÚ7åîs[Ìmzíöת(!Ô|îîçW8ÈÍ­êV¹8ºhÙ}Ë´vßZ8u@E¥E¶…¹Â;ÉÅÑEîeö»°-À# L[yý%©ÓþêÙ¸§’Ò“´ÿä~Y¬…ú„ªUýV ö¶õkÒF«G­Öº}ë”u6Kõ½ë«[d7¹8ºè‘øGiëë`rÐs}žÓ=­ïѦƒ›dµZÕ6´­ZÕo¥Õ{V+Ô'T®Ž<Í@ÅÈËsP½z%FÇ€ÜÝ-:w®êW™Mé;EšÐOGÒ¹âs¶ö~ ôHü#jÒºÌ>¶]XÄ{©þ’Ô´nS}ñÀÚvx›vfíT~q¾êyÕSthÅÔ±õóuóÕgÿ÷™¾NûZé'Óåíê­wbŠ— IDAT.º¨¾w}Y¬)8cwÜ!-†(><^ßìûFg Ï*20R]#ºjϱ=çÇô€È?F€«’—ç *7`8«²³ÍU~ÞA±ƒÔ¬^3m:¸I9ù9²ÊªŸ9šõHü#jШÌ>¶ýþžöÏúK’Ÿ›ŸÞ¾ómí;±O[3¶ê乓òw÷W¸_¸âBãdvøíÚ_ðŠ†µ¦Y;e2™Ô6¤­bƒcõíþoåéâiwÿ«5£Ö諽_éÈ™#ªëUW=¢zÈjµ–ù;®E^Þù•ÀžžŒÓµ óÝÌw¨þ˜ï†DÑ ˜™<ÓöÔP}$HÖ¤“ŒŽ€  RIÒ‘#fEDTí—ØnNnêÛ¤o™öÎáÕ9¼s¹û”·íÏú_àêèzY…²~n~Ø|`™ö‹½] YÝfjV·™][ÏÆ=Õ³qÏKž .×Ñ£ŽŠ-4: TªÌ̪ÿúÒd2©Sx'u ïd×~¡§<åmû³þ¿?WÛжjÚöOû9:8ªWã^eÚïnuw¹ýƒ½ƒË<”)&(F1A1åö€«‘•eV:¥FÇ€K´}»‹!玮­è:ÑeÚ/6æšMæ2ÛÊk+OD@„"".Ù¯]X;µ kg×ß0^ñ ãËôõpöЀfÊ´Wô[ýÔnGž¿ dApmÃ|·=æ»TGÌwC¢hp‰ ŽUÚÄ´2íkö®‘—‹—G$ª¡C9˜x—àŸiÚVÝû‘Ñ15LÊc)eÚÖì]#Iz}àëêÕ¸—¸½”ÝvËlªú'V@mQ$GG«vírQDD±ÑqŸï _~qRtt‘ÑQ`€èè"íÚeÌ‚`À¥ýô“ ct-Õ¤I‘fÏöU~¾InnV£ãþ`çNg9:Z™ï¬…˜ï€êùn\ÀªfÀu/óL¦4RD@;T#Yg³$IÝ"»Q°¨6œ­jÓ¦@ë×»Pޤ$7Y,&uèotàÆóµq£›Š‹MFGüAQ‘I7º©cGÆèÚ¨}û|Y,&%%q/ ÕÑúõîjÓ¦@ÎÎVÖ6Ìw@õÆ|7.`e3àŠl>´Y‘S#õìšgËݾj÷*ENÔÌ3mmV«U‹·/Ö÷‡¨ÅK-ÔìÅfê7·Ÿæo›/«õ· ƒõ¿¬WäÔH½»å]m>´Y÷,¸G-^j¡ÿ;ÿÚÒ”ÌENÔëß¾.IznÍsŠœ©Óù§µýÈvENTäÔHõ›ÛO‘S#õô—O—›ñ‹Ÿ¿PäÔH½³é ú©\™ß_gòd yˆb_ŠUüôx»ŸÛ{ß¿§žo÷TÓÿ6U¯Ù½´âçeŽu¦àŒžþòiu|³£š½ØLÿ7P_§}]•—¨&ò‹óÕòå–ê7·_¹ÛOœ;¡&/4ÑÈFÚµo>´Y£G)îµ85y¡‰ºÎèª)_OQna®­OaI¡"§FjÌ’1:œsX|üˆâ^‹SäÔH+>'IŠ})Và “$­Þ³Z‘S#µr÷JIRó›+rj¤nzë&µ}µ­ú¾Sö5é’”›­èiÑJHL¸ÖÇUùãu>¸ôAµ~¥µâ^‹Ó„å”W”'Iúvÿ·¶ñ»ã›õÊúWd±Ú¿nÞbµèMï¨Ç¬ŠùoŒn™y‹fošmÄeÊÑ«WžV¯öP^Ó£PÝ,[æ©6m Xjt G<8hõj££þ`Í8¨{÷<££Àuꔪuë}ü±§ÑQ—ç 5k<Ô»7ctmÅ|7T_Ìwãu ¸"íÃÚ«¡C}²ëM¸e‚œÍÎvÛïX,³ƒYƒbI:_°3þóñúd×'vý~ÎþYOù´R¦êù¾ÏÛmÛvx›¦~=U¥Öó¨üq쥴i-g³³–í\¦Çoy\îNöO“˜ÿý|¹9¹ihË¡—¤ißLÓ®¬]zîAÿ¤½Ç÷ÊÍÉMÍê5ÓðÖÃÕ;º÷e_'àòÜqÇY½ôR€.ôVBÂi£ã~•žî¤5k<4mÚ1££À õꕨk×<͙㫾}seâ…;P-X­Òœ9¾êÚ5Oõê•6ìŒ&L¨£ôt'…‡ð«… ½e±˜4pàY££À Ìw@õÄ|7~ÒZÀ»³Å:Z«÷¬¶k?š{TöoÐÍnVg$é“]Ÿè“]Ÿ(ºN´æ £­ߪ”ÇRôÁðS7FmÿH?þÁî8+~^¡A-iõ¨ÕÚýøn}zÿ§åæøW)mbš¼\¼Ô2¸¥Ò&¦)mbšžíý¬î‹»OyEyZ–²ÌnŸ´ãiÚ|h³Å’·«wþT®ÜòÔå7Bë\§”ÇRôæoÊÑÁQ¯ûºl[ )·NÑæG6këß·êöÈbµhîæ¹¶ýßûþ=¥f§ªQ@#½w÷{ÚñØ­}p­†µ¦å©Ë/zÞÓù§uðôA•XJ”›­å©Ë5hÞ ­Ú½ª*.P‰îju—¤óE´”¸#Q¾n¾êÕSÒù"’gV?#ooMé;EÞ¨Ÿþù“Vþu¥ú6é«ÔìTÍÛ:Ïî[mQ}ŸúJ‘¨ãw*mbš<]Ê>Y±gãžJ›˜¦Q=$I»ÆïRÚÄ4}™ð¥îms¯ÌfÍÿ~¾Ý>¥ÖR}øã‡Š ŒT|Ãø ùy\­-‡¶¨‘#}öŸiçøZzßR…ú„ê«´¯ôÏÏÿ©‘q#µþoëµã±zõöWev0kÎæ9¶ýwdîÐ?| OOM»mš¶þ}«’Ç&ëé^OkõÞÕrfi×Ñ]**-RNAŽ’Ò“ôв‡4ù«É•}ÉPëøøX”pZo¾é§ìl³Ñq¿zþù@5lX¬~ýr/Ý5Öøñ'µs§³–-ó2: àWK—ziçNýã'ŽõëwVQQÅš<9Ðè(€_?nÖ[où)!á´||®ì¸¨9˜ï€ê‰ùnüoÚ\±Á±ƒõòº—µxÇbÝs›­}ÉŽ%*µ”Ú=Á?1%Qf³Þ½ë][!$µ k§Wú¿¢>ïôÑš½kÔ:¤µm[«ú­4¹Ïd™®á1Š·6¹US¿™ª?,Ðð6Ãmíó·_ <¢íˆË:ÎîÇw_u†KéÒ¨‹žìþ¤ísŸè>êÕC+w¯ÔÝŸÐClÛïú¸m_¤´i¶¶•?¯”ÉdÒô;¦+*0J’äîã®gz?£ý§ö—ûöN :é®Vw)¶^¬ÜݵïÄ>½üöùs®xBñ ãåáìQi× ¨\-ƒ[*ºN´>ûé3=Ñý ¹:ºJ’¾Ïø^ûNìÓýíî—“ÙI’ôñÎUb)Ñs}žSß&}mLj ŒÔ«^ÕÖŒ­Z½gµÆtcÛæîä®YƒgÉßÝÿª3†ø„¨GT}¹çKeçfÛþ>X½gµ²s³õpç‡/ë8ïÝýÞUg¸wÍ<Ãö¶¾Á-ô@ûôÌêgÔ6´­&u›dëÛ/¦Ÿ>Ùõ‰¾IûFùÅùrsr³Âþ³ë?58v°­ï½mîUNAŽ^YÿJ™s†û…kê­SÕþ†ö ò Ræ™L}¼ócÍLž©¹[æªWt/Å…ÆUÚ5@m”pJ‰‰^zùåMšmt¨õÖ®u×7߸kÁ‚#2›­—Þ5VTT‘î¾ûŒ^|1@½zåÉÓ“…g`¤Ü\½ôR€î¾;G11EFÇÌfé_ÿ:®áÃëkíZwuízÎèHPë½øb€¼¼,JH8etŒùn¨^˜ïÆñ¦À ôT·¨nú.ý;Î9,I²Z­JÜ‘¨:žutKä-¶¾{íU©¥T7½u“¢_ˆVãi5-JQÓ¢Ôç>’¤#gŽØ¿sxçk*Ø‘$'³“îiuöÛ£-‡¶H’ΟÓÇ»>V|ÃxED\Óñ+Bû°öeÚê{×—$µ mg×nv0«®W]Ï;nk;pú€êzÖµìü^—†]Ê=ç¬;g©[d7Õñ¬#gµn¡7¾¡ܨœ‚%L¾–KTCZÑÙ³ZùóJ[Û…7ïü¾°vïñ½’¤|úÛ}aœŽ~!ZÇr)ól¦Ý±›ÖmzM;ÜwŸJ,%úèÇlmïÿ¾|\}tGó;®ùø×ªYÝf¶‚ B|B$]düö:?~_§œ: Iº©áMeú^lŒ~²û“º³ÅºÁ÷¹:ºª¡C=ÚåQ=Ôé!IâxP ÜܬzòÉãZ²ÄKK—ò$0RF†£&LRÿþ¹êÐ!ßè8¨}ô”,iܸ Y¨ÙÃüþwñ£²R‡ùêß?W&)#ƒç€‘–.õÒ’%^zòÉãrsc1pmÇ|7TÌw£<ÜA®ÊÐCµzÏj-IY¢GâѦƒ›tðôAé8FfÓo¯ZµXÏ£Zj)½è±ŠK‹í>ûºùVHÆa­‡iÆÆš¿m¾Ú…µÓ²”eÊ-ÌÕȸ‘—}Œè¢ÿ4ûïz*yì彸8º”i»P¬Tî6™d©„o¨M&“âBã”| YÇrUøñUk`³zá›´hû" l>PyEyZžº\­ê·²+ô¼œ1º¨ÔþÉ™5F·k¯˜ }øã‡ú[ç¿)ýdº6ܤ„ rsr»¬cŒøpD¹o•»˜U «.»h·¼qøÏ¶]¿/üL+R»°ó…¼¿/ÜTœÞ½ó4zô)=ñDÕ¯_¢odâªZ^žƒFVPP‰žž¹)œçë[ªÙ³35lXˆ¦M ФI'ŒŽµÒÔ©úî;wÍŸD¾¾—÷}j¾É“³5|xˆx X‹–·7¶PÕ¶nuÕ¿þUGcÆœRïÞyFÇA5Á|7ùn\ E;€«Ò¥QÕóª§Ä‰z¸óÃZ´c‘$éÎwÚõ‹ˆÐ®£»”ôp’¼\ªöIº-æ6}þÓç:–{L X¨p¿pÝÜèæ*ÍQYø6ÐŽ¬Ú{|o™·í¬ß¿þ²cµZµ5c«$©Žg ͨz¾n¾êÕ¸—>Oý\é§ÎÃäçÛ½eG’­€eÞÝóÔ9¼s•çÑv„&­˜¤5{Ö(ù`²ÌfÝÛæÞ*ÏQø5$mØ¿AÃ[·Ûv%c´$Û=+& ŒqãN*=ÝY?\O3fdª]»£#@­qú´YcÆÔÓ©Sf-Y’!ww|â7±±…š<9[ãÆÕ•‡‡UcÇžÔ5¾ p™¬Vé7üõzùå£jÝšû$üÆÍͪéÓ³4xp¨F ÖÌ™Yu@Ú²ÅU>¬nÝÎéÑGOÕ óÝ`æ»ñg(Ú\³ƒYƒckzÒt}ñóZµ{•Ú‡µW¸_¸]¿!-‡hëò­ñáíá~áz¶Ï³ú÷ªkÒŠIågô£+-£‹£‹înu·flœ!é|¡mMÑ"¸…îi}>øáMX>Án[¿˜~ú<õs»¶K‰–§./3v_0¢íµk_iy’««Uo¼‘¥—^òׄ AÚ¼ÙMãÇŸP` O €ŠVZjÒÂ…ÞzåEDiæÌ,ðûw×]gV¬±cëéÎ;CôÔSÇÇ“‚ 2lÝêªgž Ô‘#Nš;7S:å ÕXTT‘–,ÉИ1õ4dH¨}ô¤† ;#³™[¨hÇ›õâ‹Z²ÄK£GŸÒcñ&R\óÝPu˜ïÆå¢Ö®s..Vs'êªÎáu¶ð¬¼\¼Ô§IŸ2}L&“¦Ý6M¯|]Ã;ËÇÕGNf'…ù†©gãžš1h†:7ì\©9‡µ&IÒbˆ<œ=*õ\UÉÅÑE †-ÐðÖÃè(G5­ÛT3ÍP—F]Êô°ãƒzº×ÓjÖN~n~rtpT}ïúº½ÙíZ6r™nmr«WÔ|&¹ºòUmdäm2™4´åPåž æÐe k¥óoäYü—ÅêÓOAžArtpTgÚ‡µ×3½žÑƒ¬ÔœÆè˜ µ kW©çªjÏôzFo™¨p¿p9™êªñ7×ø®ãËôíܰ³Þô–ºEvS°w°åçæ§.ºè­Aoé?=ÿcÀ5_AÁùßьӸÀd’Æ?©éÓ³””ä¦=nÐìÙ¾ÊËc *‚Å"­]ë®þýC5eJ€† ;£ùóð&.K§NùZº4C¥ºçžWWééNFÇ€#=ÝIãÆÕÕ=÷„(  TK—fP°ƒËPªùóhذ3š2%@ýû‡jíZwY,F'€š!/ÏA³gûªG””ä¦éÓ³4~<;¸4æ» r1ß+e²Z­¬L€jæèÑ£Êͽ¼WÍwêÔ@ 9ºÿþÓ•œêúõüWÏë[ÿ§¯F¥|o0:€Zfî\_Í™ã£ï¾;`tT±çž Ôöí.Z¼ø°ÑQª­5{×hÌ’1šÒwІ´btµLV–£âãhÑ¢ÃjÓ†'µÃ^~¾I³gûiöl_98XÕ£Gžºt9§æÍ‹T¯^‰<øÀ[Ó¦è‡öó´«rì?¹_,z@ÇóŽ+ù‘d¹;¹ @-³~½»þïÿ‚µuë~ùúò…Ê—“ã e˼´zµ‡¶nuUi)ƒ:\† ‹Õ½{žî¼ó¬"#‹ŒŽƒ ´TZ·ÎCŸ~ê© Ü•“C¥\ __‹âãÏiÀ€³ºùæs2›N„š`ï^g%&zéë¯=´?oÆ€«a6[W ^½ò4pàYùø0‡kÇ|7T æ»k¯k)Úq¬À´n] O>ñ2:Fµóú·¯ëõo_·}Ýq´iÔfÉÉnºýö³FÇ€Zµ*Pn®ƒRR\Ô¢E¡ÑqªM7iøÂá¶Ï£nEÁClÜ覆 ‹)ØÁŸòñ±häÈ™£¢"“ÒÒœuü¸Yyy, €Kqv¶ÊÛ»TQQEŒ·¨pf³Ô­[žºuË“Õ*>줃u挃¬VÀŸ1™¬òö¶(,¬D¡¡Åk–ŸÑQ¿*-5é…Ô­[; RQ´5À€gÕ¦Mž~:P¼? ª‡gŸ P‹0à¬ÑQ` €€R{J³gû*#ÃÉè8I xkÿ~'MštÂè( †£hj“IzòÉãúáW½÷žÑq Ö›7ÏG[·ºé©§ŽËd2: Œ6bDŽBCK4iR•”ðŒ´oŸ“^}Õ_<£† ‹Žj8Šv †hÞ¼PãÆÔäÉúúkw£ã@­µaƒ»&Oиq'Ô¼y¡ÑqP 8:Zõæ›YJIqÑ¿ÿ]Çè8Pk>í Ñ£ƒÕ A±zè¤Ñq@-@ÑÔ cÆœÒÀg5n\]mßîbt¨u¶owÑØ±u5p`®ÆŒ9mtT#QQEzùål-Yâ¥éÓýŒŽµNn®ƒÆŒ VI‰I3)77«Ñ‘@-@ÑÔ0Ï=wLqqº÷Þ­\éit¨5V®ôÔ½÷†(.®@Ï=wÌè8¨†ºuËÓSOÓë¯ûëÉ'먤Ädt$¨225thˆtÒìÙ™ (5:¨%(Ú€ÆÉɪY³25dÈ[W¯¾ê¯ÂB@e),4éÕWý5vl] rF³feÊɉ§÷£|ÇŸÑŒYúì3Oݰ22Ž5ÚÚµî<8Tf³UK–d(*ªÈèH 1Y­VV@5sôèQåææ^óq.ôÖÔ© (Õ¤I'Ô«W^¤\ðå—š2%@'N˜5qâ vÆèH¸N¤¦:ëÿ¨§Ã‡õ׿žÖèÑ§äæÆ­T”ôt'Mž¨¯¿vWÿþ¹zþùcrw· \‡"""®z_Šv ª¨¢IÊÎvÔ´iþúôS/ÅÄꮻΪ{÷<Õ«WR!Ç€Ú&+ËQ_}å¡>òRjª‹ 8« N*(ˆß«¸2%%&½÷žÞxÃONNVÝyçYõé“«ØØB™xI\±ü|“’’ܵl™§Ö¬ñPDD±þóŸãêÐ!ßèhà:FÑÔ0Y´sAJŠ‹æÍóѪUÊÏwPpp‰4(–¯¯E&Cü‹Å¤œ¥§;)+ËQnnõé“§#rt<\çNœ0kÁo%&zëÈGyzZU$?¿R¹¸0FÀ¥äæ:(+ËQû÷;Éb1©M›ÝsOŽúõË“ÙÌïQpm(Ú€¦2Šv.(,4iëVWíÚ墌 'åä8Èb©”S@áà y{[V¬fÍ W@1*Ejª³~üÑUiiÎÊÉqPa!¯Ü€Kñô´*  D11EêÐ!_¥FG5E;PÃTfÑàò\KÑŽCæ Šv€ GÑPÁ(Ú*E;e¬©mîIDAT@£h¨`팢 ‚Q´T0“Õjµ`¯  @%%%FÇ€ZÍÓÓóª÷¥h¨`FjŠv€ FÑPÁ(Ú*E;@£h¨`팢 ‚Q´T0Šv€ FÑPÁ(Ú*E;@s”´Øè@MòÿÃpðãÌ”ãIEND®B`‚fio-3.39/examples/libhdfs.fio000066400000000000000000000001601476262051600161630ustar00rootroot00000000000000[global] runtime=300 [hdfs] filename=dfs-perftest-base.dfs-perftest-base,9000 ioengine=libhdfs rw=read bs=256k fio-3.39/examples/libhdfs.png000066400000000000000000001000541476262051600161750ustar00rootroot00000000000000‰PNG  IHDR«ü‘2WbKGDÿÿÿ ½§“ IDATxœìÝw\•åÿÇñ ‚ p îI–9PÉ‘ KÓêkš™šš–¦–•£eŽJMÍLmXþráʆ{ 9Aeˆ¢¸p ç÷Ç‘PQPßÏÇ£Çãœë¾îëþÜÜWê‡k܃Á€ˆˆˆˆˆˆHþ±È2¯#IOɪˆˆˆˆˆˆä;JVEDDDDD$ßQ²*""""""ùŽ’UÉw”¬ŠˆˆˆˆˆH¾£dUDDDDDDò%«""""""’ï(Y‘|Ç:¯‘'KLL ¯½öšéû?þˆ§§g¶Ësrœºpá;v4}Ÿ}º)QõôôdòäÉ.\—\½Î´iÓL‰jÉ’%ùî»ï(V¬ÎÎÎL™2%W¯%""’(Y‘|¡\¹rlذÁôý~¦í>L¦Ï­Zµ¢C‡ä:ááá¦ÏÍ›7§S§N¦ïÆ ãÿûÅŠ{ ×yØ”¬ŠˆH¾pæÌÆŒcú~·u¦GeÚ´i„‡‡S¼xqºuëFÛ¶mïÚ~LL S§N%44777Ú·o¿¿†z7näçŸæäÉ“xxxðÖ[oQºté õV­ZÅĉÙ·oŸ©lÅŠ„……0xð`:uêDll,óæÍcïÞ½$&&âääDùòåiÒ¤ ~~~ØØØÜ5îõë×óÉ'Ÿ°ÿ~³2__ßLëg¶fõìٳ̟?Ÿ;vpúôiììì¨P¡mÛ¶ÅÏÏ ‹»Æ ""’”¬ŠˆH¾Õu¦›6mbøðá$%%™Ê~ýõWÈ·ß~›é9;vìà½÷Þ3[ï9wî\Fm– ùå—|ðÁfçþøã̘1#C›§N2‹ ..ޏ¸8:wîÌÎ;iÑ¢…Y¬i¯U¦LNœ8‘iÌ©NŸ>á:ñññÄÇÇgZ?ýšÕ€€^ýu.^¼˜¡î”)ShÞ¼9‹/Öˆ¬ˆˆä;zuˆˆ}Ïû-Q¢%J”0%—®®®f×ùõ×_3=wâĉܼyÓtOË—/7¼–(Q‚.]º°víZöìÙc–x‹ˆˆä5¬ŠˆÈ#å¹çž3ûžv¤tÏž=™ž“6I,Q¢„Ù±3gÎd8××××”¨¦¿Fv´lÙÒô¹{÷î899Ñ AzôèÁ?ü€­­mŽÚͪíÛ·›>·hÑÂlŠpÚØÒ×É”¬ŠˆÈ#¥P¡Bwü~õêÕLÏ)^¼¸ésú5©£©iÏutt¼ë5³jРAŒ=777Î;ÇÎ;ùå—_èÓ§ÞÞÞ÷\³z?Ò¾û5ý=,XKKËL늈ˆäJVEDä‘’öU1é¿—)S&Çí¦=÷رcw½fVYXX0fÌââ∌Œ$00iÓ¦ááá7Jš9s¦©~ïÞ½ñõõÅ××—Y³fåèši¹»»›>=zÔìØñãÇIIIÉ´®ˆˆH~ dUDD)_ý5—.]àðáÃ,\¸Ðtì^¯¯¹›´çþõ×_lݺ€ëׯóå—_æ¨Í9sæ°páB®]»†‡‡-Z´`À€4nÜØTçÔ©S¦Ï!!!ÌñãÇsx'ÿy饗LŸ×®]Ë–-[HNNfìØ±¦cEŠÉ0-XDD$¯iƒ%y¤ØØØàî§'‡âúõ븸¸dxíLvôïߟ~øcÇŽ‘œœLÓ¦M©^½:qqqT¬X1GmnÛ¶9sæ`ccCéÒ¥qssãôéÓf#·mÚ´ÉqÌ÷2pà@–-[Æ–-[HNNÆ××—jÕª‘`zÅŽ……3fÌ H‘",‘œÐȪˆˆ>;;;ªV­J³fͰ³³Ë´þùóçY¹r%'OžÄÃÃ:Üs]hV¯sæÌ¦M›fúÞ¿œY½z5¡¡¡¸¹¹Ñ¬Y3Ê”)“åØDDDDD$w)Y•&22’7Þxƒ 6d8æææÆ¬Y³h×®YyPP]»våìÙ³¦2OOOæÍ›wÇu¡Ù½Î™3gÌÚjܸ1|ð»ví2•,X_ý³Ø^zé%3Ä&"""""¹KÓ€å8}ú4Mš41%^^^ 2„®]»biiÉ©S§ð÷÷'((ÈtNtt4:u2%ªeË–eРAT«V—^z)×®“^=(P ƒ¦T©R\¾|™~ýúqíÚ5³ØRUwwwLÍš5ˆˆˆˆäœFVåøòË/‰ råÊìÙ³ªU«Æ¨Q£HNNfÈ!ìÛ·€)S¦péÒ%À8²¹cÇÜÜÜ0`3fÌÈ•ë¤W¯^=–-[†……ݺuã™gž >>ž#GŽP³fM³Ø *Ä®]»(^¼8ï¼óS¦L¹ÿšˆˆˆˆˆ˜(Y•bÍš5¦ÏÅŠ3[omú¼ÿ~âââ(UªÁÁÁ¦ò6mÚ˜U€^½zeš¬æä:éõéÓ *Uªdv,66–š5kfˆ-5QãȬ’U‘Ü¥dUˆ3gΘ>oß¾íÛ·ß±nj™v-hÚDÀÕÕ5×®“^Ú”lmmÍŽ¥¤¤˜ÅV²dI³:%J”¸ã5EDDDD$g”¬ÊáââBBB5¢E‹w¬›šˆ:99×¢¦õï¿ÿæÚuÒ³²²2}NaM/mlñññfÇÒÇ*’Ο?Ïõë×ó: ‘+R¤ööö9>_ɪ<­Zµ",, 0ŽJ¾÷Þ{8::šÕ‰‹‹ãàÁƒ¦‘M___öìÙÀÚµkILLÄÉÉ €¹sçæÚur¢I“&¦ØÖ¬YCBB‚i*ðÏ?ÿœãvEîäúõë$%%åu""""9V°`Áû:_ɪäÈöíÛ3fL†rÈûï¿ÏÂ… ‰‹‹#44oooÚ·oO‘"E8yò$GŽa×®]´lÙ’–-[0xð`~øá.]ºÄùóç©_¿>;v$""”(¦—“ëäÄàÁƒ™={6III\¼x:uêDdd¤Ù+oDDDDD$w(Y•Ù±c;vìÈP^¹reHÉ’%Ù´io¾ù&ëׯçäɓ̜9Ó¬nÙ²eiÕª•é{¹rå k×®$&&ÉäÉ“ñôôäçŸæ¹çž3ÕM][š“ë䄇‡K–,¡[·nœ;wŽèèhSl , qãÆ÷Õ¾ˆˆˆˆˆ˜S²*Y6zôè{Öqqq1}._¾·lÙ’cÇŽ±råJ³ØÒÿl<<<îùs‘»³0 †œžÜ¥K-Z”kÉ“mÛ¶mT«VÂ… ›ÊnܸAûöíY·nUªT!444¯BüŸñññZ³*"""´’%KfØO&idUò•ï¿ÿž€€š7oNÅŠ¹téAAA;v 0îÜ;yòä<ŽRDDDDD4%«’¯4jÔˆ•+W²|ùò Ç*V¬È´iÓîk£$y4(Y•|¥wïÞüïÿcÆ DDD””„³³3uêÔ¡~ýúw|ªˆˆˆˆˆ<^”¬J¾cooO›6mò: ÉC–y€ˆˆˆˆˆˆHzYy‚\»fAp°›69pè'NØpñ¢%))y™ˆˆˆ< vvŠI¡R¥Ô®}æÍ¯P«Öµ¼+SJVEDž—.Y2sf1~ÿ½0II–Ô¬y Ÿ«tî|‘¢ES°Ô<‘'Âõëœ;gÅ‘#¶,_îÈôéŨTéýú§C‡Kä§-b”¬Šˆ<ÆRR`É’ÂLšä„Áo¾yžÎ/â⒜ס‰ˆˆH>pð óæaøðüö[aF:Cõê×ó:,@kVED[/ZÒ«W)>úÈ…ví’øë¯úõ;§DUDDDLªW¿Îøñ§Y¶,++/¼P†™3‹æuX€FVEDK116¼ù¦—/[p’jÕòÇoHEDD$ªRå:óçÇñË/Eøâ "#mùì³ll y“’U‘ÇLLŒ ;—¦té[Ì›÷/%JÜÊëDDDä`a=z\ÀÃã&ƒ—äìY+¾ÿþVVyÁ`Èqª\¶lYbccs3‘GF™2e8qâÄi;>>ž¤¤¤lŸwñ¢%]º”ÁÁ!…ùóã(P@ÛüŠˆˆHöíßoÇ«¯–¦K—‹Œu&Gm”,YGGÇœ†°è¾FV+UªDhÛ¶íý4#rß&OžL:uhÚ´i^‡"OˆU«VQ¦L™¼ÃLJ ¼ý¶+—/[0oÞ¿JTEDD$ÇjÖ¼Îĉ§4¨$+Þà•W.>ôî+YuvvÆÙÙ™o¾ù&·âɑɓ'Ó´iSõEyhò㬒%K ³}»='5õWDDDî[ëÖI¼õ–-_~錟ߕ‡þï í,"òHJ²äë¯xíµ‹ÚLIDDDrÍ€ç(Q"™ñãúµµÁ’ˆÈcà»ïŠ‘œ &æu("ò|ûí·lÛ¶ € 0xðàûjï§Ÿ~bݺuT­Z•>úÈt,99™€€¶lÙÂÙ³gIN6¾îjܸq¸»»ß×uEäÑckk`øð³ àJ¨YóáýR\ɪˆÈ#îÚ5 ~ÿ½0o¾yž"E´NUäqÁÎ;prºÿѨ¨(S{é}øá‡,^¼8Cù•+Wîûº"òhjÙò2U«^gÞ¼"Lœxú¡]WɪˆÈ#.8ؤ$K:w~øˆÈãåüùóf‰ê›o¾IÓ¦M±°°Ð¨ªÈ.òå—Î|þ¹¶¶çÝ«Z³*"òˆÛ´Éš5¯á⒜סˆÈ#.::Úìûo¼ÁÓO?Mƒ pppÈ£¨D$?hÑâ W¯Z²k—ýC»¦FVó™ ðÝwß1yòdj×®íógÍšÅüùó™={6+V|ÊoÁøî;˜<rÐG™5 æÏ‡Ù³A}4W8`GƒWó: yÈV®\ÉÚµk¹uë^^^ôìÙ3ÃáË—/ó믿²{÷n,--iذ!¯¼òJ¦í 80C²Ú¿¬­­)T¨ßÿ=ƒõë׳qãFNžûpþÝ¡d5Ÿ9qâÁÁÁœ?>Gç?~œàà`’’’r92‘ÛNœ€à`Èaåøqãù꣹æäIÜÝ5XäIa0:t(Ë—/7•òû￳zõjœˆç•W^1K@Y½z5žžžÚý矈7+Û³gE‹`РA¬^½:Ó¸>ùä>ÿüs^zé¥û»AÉ·<=okóЮ§d5ŸéÚµ+õë×ÏѨªÈCѵ+Ô¯Ÿ³QUy .]² pam¬$ò¤X¿~=^^^L:•øøx&MšÄõë×ILLdΜ9 >€#F˜UGGG† ‚««+ ,`éÒ¥Ú6mà“O>1•Íœ9“B… ammͱcÇL‰jÑ¢E1bnnnœ:uŠ£G²jÕ*µ#¹Èã¬P¡.^|x+I•¬æ3eË–¥lÙ²y†È•-küOòäd ¬¬ò: yX¬¬¬˜;w®iuÿþý¬\¹€Ã‡ÃæÍ›MçŒ9Ò4âÙ¬Y3š6mÊéÓæ;zÖ©SÇôššTõêÕ£X±b¦ë¤rssãù矧`Á‚¦²÷ߟ‹5ËCäqfee ù!n‘ñÄl°4kÖ,|}}‰ˆˆ ,,ŒÒºukzôèÁ† 2ÔÿüóÏñõõåÂ… w<–vªmÚö÷îÝK¿~ýhÓ¦ ƒ "**ÊToéÒ¥¼òÊ+´nÝš?þ8Cû ,À××—½{÷š•'''óÛo¿Ñ½{wZ¶lI·nݘ5k×®]»ã=ÿóÏ?ôíÛ—Ö­[Ó«W/³¿´R þüóOúôéCÛ¶méÖ­Ÿ|ò qqqwlWÒIH€Ö­¡sg¸šnþþ‰ðÜsð¿ÿÁ­[wogÖ,ðõ…ˆ ƒíöè™ôQ>ÿÜX?“>j:–vªmÚö÷î…~ý M4ÒôQ–.…W^1^ûã3¶¿`±t}”ädøí7èÞZ¶„n݌׼K埠o_ãµzõ‚Lú(üù'ôémÛÛýäP‘'T5L‰*`öùܹs:tÈ윆 š>ÛØØP¿~ýl_×ËË‹%JFݺuiÑ¢½zõbÒ¤IìÛ·Ï4]XD$7<1#«©k9ÿøã>üðC³w…Í›7 Ð¥KSYXXÁÁÁܼy3C[©Çn¥I>RÛàã?æÆ¬Y³†… Âĉ™:uªéœµk×ÄÖ­[Me™­Y½|ù2­[·Îl.X°€iÓ¦húË#ÕêÕ«3fŒ)€ü‘o¿ý–šÊÞxã ~üñÇ ÷øÅ_Jùòå3ùiŠ™âÅáÅÉTáÂ0w®±üÆ èÒöì¿ÿë{üï–º–ó?àÃ!íûìæÍ3&‰iú(aaÆú™ôQÓ±´ rjûÆ$4µo¬Y BHLœiú(k×BP¤é£™®Y½|Ù˜p¦O6,€iÓ 0ÒõQV¯†1cþ‹àÇáÛo‰zª7Þ0–§÷Å ê£"ò„I›œ‚q¤5•Á`|Dú_f§Íì{VØÛÛ3gξøâ vîÜIrr2ÑÑÑDGG³qãFfΜÉ[o½ÅСC³Ý¶ˆHfž˜‘ÕT#FŒ uëÖÌŸ?Ÿ+Vлwo |ðA®´ÿñÇóâ‹/²páB–,Y‚ŸŸñññtêÔ‰Ù³g3räHV¬XÁܹsqwwgÛ¶m¬Zµê®mŽ9’Í›7S¼xq&MšÄªU«˜>}:žžž8p€~ýúe8gôèÑ´jÕŠùóç@Ÿ>}°°°àÝwß%<<€³gÏòÓO?Q´hQÆϪU«X²d cÇŽ¥xñâzùwv¼ù&¼þº1©š=ÛXöî»°c‡1Lóí{1˜øÍŸ+V@ïÞÆÑÅ\ê£|ü±1¹^¸–,??ˆ‡NŒ±i¼îܹàîÛ¶Á=ú(#GÕâÅaÒ$cýéÓÁÓ0Žâ¦7z4´je¼Ï€c²oaaü¹Ý= ?ýE‹ÂøñÆv—,±c×RÉ”«««Ù÷˜˜³ïéwýͪ*Uª0oÞ<öîÝ˲e˘6mšÙ†J³fÍâúõë9j[D$½'fd5U÷îÝ™šLíÛ·çèÑ£súôé #”Ùõúë¯3sæLÓ÷–-[âææFHH‹-¢sçΦcnnn´iÓ†íÛ·Ó¶mÛLÛ»uësçÎÅÞޞ͛7ãååe:ÖµkW¼½½Y¶lñññ”,YÒt¬]»v˜¾wêÔ 777ÆŽËO?ýĸqã°±±Á`0н{wÓf /¼ð#FŒ %E¶dËôéÆi­o¿ ‘‘0c¼ô œ½vºwÿ/áhߎ5Žfž>q„2»^ÒôQZ¶77ãÈê¢EÆéÌ©ÜÜŒS…·o7NÁÍÌ­[ÆÄÖÞÞ˜°¦é£tí ÞÞ°l™1!NÓGi×Θ¤¦êÔÉx½±c ê¸q`ccLÔ»w‡4}”^0&õê£""™ªS§EŠ1-7š1cÓ§OÇÚÚšíÛ·³k×®l·yîÜ9æÌ™C§N¨P¡Õ«W§zõêT«V… ÆeKgÏž¥T©R¹z?"òdzâFV3{·XݺuãHãýêÚµ«ÙwGGGÊ—/­­-þþþfÇjÕª@llìÛ;~ü8III4kÖÌ,Qã4 Î;c0Ì6=èÕ«W†¶RËRë.\˜Aƒ1wî\Þ{ï=þøãÓo^íìì(P @VnYR(‹“¶/¾0&isæd¿ÌÞw»’ }”t}GGãTZ[[H×G¹ÝG¹KåøqãÚØfÍÌUggcòk0@º>J&}ÔT–Z·paãšÚ¹sá½÷ŒS¤SGììŒ?sÉÀÞÞž!C†˜¾ѸqcÚ·oOïÞ½©^½z¶Û¼~ý:3gΤU«VÔ«WöíÛóâ‹/Ò¦MSJ•*áææ–+÷ "òÄ%«é_– `kk a¼;¹[½ÔóÒ²±±1mûž¾Èt]lªÔ5'™Å¶<ýÚ”Ì68H­{5Í&@S¦LáÏ?ÿ$99™ñãÇS£F <==™4i’iÝ‹dƒ ¦mYË•ƒ¬ "³g}»fyûµ»Õˤbc… e\W{»fº.6Ujß»C5•§ßh)³M8Rë¦Ý¨jÊãKÉÉÆ©À5j§OšdL‚ED$S¯¾ú*£GÆÑÑ€„„˜:uªéæÙáääÄûï¿OÍš5¹páaaaìÛ·k×®ammM‹-˜={6¹}+"ò„zâ¦gUj²—€‹‹‹Ù±ƒ>´8R;¹{÷nRRR°´4ÿýBê4žôÓmöìÙC£FÌÊBBB(]º´Yy“&MhÒ¤ `LÄçÍ›Çë¯¿Ž­­-ƒ ʽ›yÜݸaE¼xÑ8M5 >û̸FôAHMö ]å!öQRƒ¾{·qZnº>JêT³ôSÂöìt}”Û}”t}”&MŒÿ1i7Ï8ÙÖÖ8ò*"ò˜›2e S¦LÉôØ|pǽ7ºwïN÷îÝ3”7oÞœ1cÆd(¯_¿>™¶ekkKïÞ½éÝ»wÖ¹OÜÈjVU¨P€É“'›ÖnÞºu‹Q£F=ÔdµxñâÔ­[—Çóþûï›Fa S§N寿þÂÕÕ5ÃoH?ûì3Sr ÆRÏ–-[ÎĉIHH0Õ³²²¢\¹r?Ð{{ì¼óŽ11ûúkãæEM›w» |0×»ÝG™<ù¿µ›·nÁ¨Q7Y-^Ü8MùðaxÿýÿFa ãÎÂý®®ÿM)NõÙgÿ%§ÑÑÿ%ž·û(ááÆ ªÒôQ¬¬Œ£Ö`\Ç+""""%%«wðòË/S @fÍšEÙ²eiР®®®L˜0!GSgîÇ„ °´´dâĉ¸ººòÔSOáææÆàÛ÷L˜0!Ãã2eÊРA¼½½©U«^^^8p€Úµk›ÖÕž;wŽáÇãêꊻ»; 6ÄÛÛ›-ZРAƒ‡zŸ´ß~ƒï¾3®8ИPýþ»qC¡W^¹ûšÏœzùeãšÍY³ lYhÐÀ˜N˜11|Ð&L0ލNœhŒá©§Œ#®©/ ”_ IDAT›KM˜qŠq™2Ƙ½½ñzyw®]û¿uµçÎ7Vru5îLܰ¡±þí>Šú¨ˆˆˆÈcKÉ긺º2gΊ)B\\;wîÄÚÚš€€€mJp?Z´hÁÊ•+©X±"‰‰‰ìÚµ‹øøxJ•*żyó2Þ3eÊ:vìHxx8û÷ïçÆ´hтիW›Öèz{{3|øpŠ/NLL Û¶m#<<F¥÷¤eÕ¡Cз¯1‰J»‹¯««ñ=£çÎw¾ÛºÏœpu5nàT¤ÄÅÁÎÆ„0 r¥E X¹*V„ÄDãs|¼qêï¼yÆÝ|Ó›2:v4ŽžîßoœFÝ¢…ñý«©kt½½ÉjñâÆ•¶m3Öwq1Ž «Šˆˆˆ<¶, ÷±‹N—.]X´hQ®ô ?~œ˜˜êׯoÚh ý1Ÿ /ɾvíÀÚÚšjÕªakkKXXñññ4jÔÈ4¢y·öwïÞ͵k×xöÙgÍÊo޼ɖ-[(Y²$UªTàÓO?eÔ¨QlÙ²…†™¼›3""‚øøxœœœðööΰ‰Aú8Nž‘Š—ðòËž|úim’“ üöÛq–,‰áĉË àî^ÊòòË( ßÅ‹ˆ<ô§¹ˆˆäŠ›7SèÑc »wŸ5•ݸ‘¶m lßžÀرµyåOÀ˜Ø½÷^Ë—Ÿ0kãðá Œ³°° |þy³cœgâÄCܸ‘ÀÕ«°ti ±±—ù¿ÿkbªwýz2ÿûßfÂÂ.˜ÊK©RÌšõ4{÷¶gÓ¦Ö ä……Ÿ~€„„k,_~‚åËOP¹raæÌiHHH[èÀÿý_ªT)‚QüóO¢Yû+Vœ sgw‚‚Zrð`,hB©RìÚuÖ,úå—ã„…] |ùB̛׈ýû;ð÷ß-éÞ½«VÅfëž²zÍœÜO~µzõIüýËÔòö=4¦råÂ;v‰ï¿ÏP?'Ïå—_RŸK+^yÅ3Ãsù裚DDt¢P!jÕ2®¯ˆèħŸÖ௿NQ €Ó§7àŸÚqà@{V®lNïÞ•2$Ó""òèÒȪˆˆäŠ?ÿ4&S§>EíÚÅpt´fР*œ>}ß"(è_ºuó`ñâh¬¬,øñÇg)QÂÞÔ†3ß|ãCëÖž¢N'Ó±FJðÉ'µMßëÕs¦OŸJŒ³Ã‡/P¥JÖ¬‰Ã¦OŠJ• ààPQ£jrüø%6o>å{Êê5sr?™ ÷ÏrlJ­ZN|ùe]Ó´efÎ|†çž[Çš5q¼ûnU³úY.'3y.Œ[›ÈÈ$¶nMÈrŒ®®ðósÃÊÊh•*ELבǃ’UÉÑÑ—)ZÔÖ”¨¦Õ¼¹¿ÿEttG^$9Ù@ãÆkã4ÚÔMÒR÷J‹‹»bÖÆÓOÏÐnÙ²¸|ùVš8’(Y²€)!J«qã’ÙJV³zÍœÜO~Õ¨Qñ ëkË–uÀÓ³‘‘—2ÔÏús¹|ÇçÒ¤IÉl%«~Xƒvмù:7.A•*E©SljªU•¬Šˆô îìÜy–%K¢éÓg{¦íuíê‘£8^{­+VÄrøð^}u“©ÜÂÚ´)ÍêÕ'±¶ÎÝ—ž>ÈûyØZ·.ÅÒ¥1,^mV^¡B!úö­œãv_{­<+Vœ ,ìÝ»o6•[X@Û¶e²µSó¡Cç︻ò£òs‘{S²ú€4l؆ æu¹âqº—'Eà iXáñxfÓ½<îll,ùå—FÌšu”?þˆåÄ‰ËØÚZR£F1úô©D“&%Mu-,`üøº4mZ’ ¢8xð["GqØÛ[ñë¯øê«PÖ­‹#)é•*bÐ o¼ÀêÕ')RÄ6·nûßÏÃV¯ž3ݺyòÍ7a„‡_ @+üüÜ6¬Ú}½ÆÎΊß~kÌW_bíÚ8.]ºE… Ž T… nd+Y]²Ä— ¢Ø¾=ØØ+(`Eùò…èÜÙ_,wïDDä‘`aÈînitéÒ€E‹Ýw {öì!88ƒÁ@ãÆñññaÙ²eìÝ»—áÇãàà`Vÿüùó¬[·ŽÈÈHlll¨_¿>Mš41«ÈæÍ›éׯÅŠcåÊ•DDDP²dI:v숓Sæ¯ÈnÛE‹eÕªU9r„zõêѲeË»®ó¼xñ";v êÖ­Ë3Ï<“åŸUtt4ÄÇÇãä䄯¯/ÞÞÞwŒ¯páÂ,_¾œèèhJ•*E‡(Z´¨©î/¿üÂO?ýĆ xýõ×M#«ôìÙó®÷’ÝX²ó²Ã‚wÞy‡o¾ù&Gçï‰ÙCpx0 4®Ô–ý³Œ½'ö2¼õplÓõ¿+çYºŽÈ3‘ØXÙPß½>M¼Òõ‘°@6ÝL¿¦ý(V°+÷­$ât% —¤cíŽ8¼CÿËfÛEвêÀ*Žü{„zîõhY­å]×y^¼z‘À°@Ž%ÃÁÖºåêòL…lô¿³Ñ†1§‚NøVöÅÛ5Ý3O_á…Y¾w9Ñg£)U´ju ¨Cšþ·í~Úúoàõg_7¬z¸xгaÏ»ÞKvcÉÎs¸—Üüó/3ñññ$%%e©nÅŠ˜:5žçŸÏZý'UJŠÿ „…]`×®¶-š» «ˆˆÈãîí·¿xþöÛ¬í5P²dIs¼ßÁ¢<YMII¡_¿~üðÃfå ))‰Ÿþ™š%«sçÎåÝwßåâÅ‹fç4nܘ€€\\\c’4~üxê֭ˈ#8|ø°©®³³3AAAÔªUˬì¶]½zu†Ndd$C† 1%«cÇŽÅ×××,Á›3gC‡åÂ… fí7jÔˆàà`,-フxäÈ‘L˜0äädS™……o¼ñ3fÌÀÆÆÆ,¾jÕª1lØ0¢£ÿ›ÎåââÂÒ¥KiÔ¨`LV7lØÀ?þhª×´iSS²šÙ½d7–ì<‡‡%ÅB¿yýøaSºþ×lIדøyëÏ l>Ð,Y»y.ï.|—‹WÓõ‘J 耋ãí>Èø5ã©ë^—‹Gpøß4÷íèLÐ j•M×ÿ²ÙvõÒÕ¾x8‘gn÷¿ç†“ÕÛë<}+ûš%xs6Ïaè¡\¸š®ÿUlDðð`,-îÑÿ–Ždš $§¤{æÞ`Æ«3°±²1‹¯Z©j [<Œè³iúŸ£ K,¥QÅÛýoÛ/l8|»ÿmIÓÿ¼š“Õ;ÜKvcÉÎsGß_ Zµ¢Ô¯ïŒ““-QQ—™>=œÐÐ <ýtq%ª"""€>>øøø`eeÅîݻټy3)))wMV§OŸÎ¸qã°°° ]»vT©R…¨¨(–-[ÆìÙ³qqqaܸqfç 0[[[úô都½=„††Ò©S'>Œ³³3¯½ö)))™Ž¬æf,Y}ÓäÀÉü°é¬,­ð¯íOùâå ÿ7œÏ ¸c&ýoïrÞøù ¬-­i[³-Uܪpýæuþ ý‹MG7ÑcnV J×ÿæõÅÚÒš>MúàhçÈšCk eàül±é¾Úîÿ[l­léݸ7¥‹–¾ëé¢EôþùvÿóðÁÇÃ+K+vGïfsÄfR )wMV§o˜Î¸?o?óší¨âV…¨³Q,ûg³7ÍÆÅÑ…q/¤ëó`keKŸ&}°·±'0,иP:MïÄáOãìèÌkϼFŠ!%Ó‘ÕÜŒ%«ÏA‘‘IÌ‘¡ÜÁÁŠ?¬‘‰ˆˆHvåy²úÕW_aiiI`` ¾¾¾¦òåË—ãïþÈ‘#qpp`ãÆÔ«WÏTn0èܹ3>|Øl*j… øë¯¿(P ãÆ£fÍšlÙ²…‹/R¸pá·]¦L‚ƒƒ)TÈüõ™ùðÃc¢×¿³c›7oÆÊêîk¾üòK–,YB§NLå;vì qãÆL™2…>úˆ‚ šŽ¹¹¹±iÓ&Ó=Þºu‹®]»ÀO?ýÄСCyíµ×ˆ‰‰aÆ ôêÕË4âšÛ±dõ9 ýoéíþ÷êtúû¦ë›±²¸Gÿ[}û™¿µ„NuÒ<óÈ4ߘ)Sø¨íG´KÓÿЏ±iø&Ó=ÞJ¹E×ï»°'€Ÿ¶þÄЖCyí™×ˆIŒaÃá ôjÔË4âšÛ±dõ9ÈãáÃkàädGHÈNºŠ££ O=åÌ AUðòÒ³yäi²M\\-[¶4KT:v숻ví2•:uŠÐÐP*T¨ÀêÕ«Y½z5ƒÁô’÷ÔQɳ„rĈ¦ ÀÖÖ???ÂÃÃ9uê… ÎqÛÆ ËR¢ËÑ£Gñññɨ÷LcbbˆåÙgŸ5K4h@—.]˜?>{öì¡qãÆf÷ž6 ´¶¶æ“O>! €-[¶0tèÐ{Æž›±Üë9ЇO†D¸g‚“Cì¹Xž­ø¬YrÐÀ³]êwaþŽùì‰ÙCãJižyëfI µ¥5Ÿtü„€=l‰ØÂЖ9è÷˽žƒ<><<?¾n^‡!"""÷!O“ÕsçÎwžnêááa–¬&$ßÃvìØ1>þøã;¶›~=hÙ²e3ÔI]è{óæÍûj»R¥Jw¬›ÖÙ³g¨\9gÛþ§þ¬Ê—/Ÿéñ *˜h¾•¿§§g†º©e©m>¬X²ò¦sWn÷¿t›ö¤òpñ0KV.Ýî# ÇøxÙ]úHºõ e2¹o»Û÷|ó¾Ú®T"‹ý/évÿsÍaÿ»|û™¿Ã3/~û™_N×ÿ\2é·ËRþ+–¬<É?ò4Y-V¬QQQ™O_žZ¿jÕª¦83ããã“ãX²Û¶µuÖ~„ÎÎ΄‡‡g;¶´ñ?~<ÓãÇŽȰ³nddd†u´©›A¥¶ù°bÉoŠ9Üîg£2=uƼ<µ~ÕRUéRï.}Ä#ý/‡m[[e±ÿ9Þîÿæ°ÿ¼ýÌîðÌn?ót;ëFž‰Ì°Ž6u3¨Ô{~X±ˆˆˆˆÈ£%O“UwwwJ•*E`` 7n4{=Ìüa6ª Æ‘¹J•*qêÔ):wîLõêÕÍŽ Ö­[g¶Þ4«dÛ`\ÛZ©R%víÚŬY³èÓ§Ùñ-[¶Ð°aC,,2Q}¹rå(S¦ [¶laÅŠtèÐÁt,$$„Å‹S @êÖ5Ÿö6~üxÚ·oošª|ëÖ-FÀ³Ï>kªgood ÍÍXòwgwJ-E`h l4{=Ìûÿ0UãÈ\¥•8uþëu¦zéLúHè:³õ¦Yõ ÛãÚÖJ%*±+j³6΢O“tý/b +Ü¥ÿ9•£L±2l‰ØÂŠ}+èP+Í3 añîŰ)@Ýréúßšñ´¯ÕÞ4UùVÊ-F-¿Ýÿ*¦éÖ·ûßå,ô¿Æ"""""–<ß`éÝwßeذa´hÑ<==9zô(+V¬ D‰œ>}ÚìÐ&Là…^ nݺ4oÞoooìí퉊ŠbçÎDFFrõêÕ{nV”™Ù6ÀgŸ}F×®]éÛ·/sæÌ1íÂÖ­[¹yóæ]Gjßÿ}ˆ¿¿?íÚµÃÛÛ›èèh–.]ÊÍ›71b„Ù†F`\ç[¥JÚµk‡AAA:tzöìiªW±bE†ÊæÍ›qpp0½g5·bÉÞõ{—a‹‡Ñâ«ø×ñÇÓÅ“£§²bï J*ÁéK§± Mÿë<¾{ºŸÖ¥¹ws¼]½±·±'êl;#wy&’«3®be™ƒþ÷Ûø¬Ógtý¾+}çõeÎæ9¦Ý€C¢BØzl+7¿¿‰µÅ]ú_›÷8 þÓýiW³Þ®ÞDŸfé?K¹™|“­G˜mhÆu¾U>®B»Zí°³¶#(,ˆCq‡pqt¡gÞ¦zKÜî ‡²ùèflLïYÍ­XDDDDäÑ’/’Õ°°0æÎËâÅ‹Måýû÷çÔ©S,]ºÔ,éñ÷÷ç·ß~ãí·ßfíÚµ¬]»ÖtÌÒÒ’6mÚdyjnz²m€—^z‰ÄÄD† ÆÎ;Ù¹s§éXãÆïùŽÕËĉY¹r%+W®þ{·é§Ÿ~šáœiÓ¦ñÞ{ïñý÷ß›ÊRß³š:5 uëÖT­Z•ÐÐP&Nœü÷žÕÜŠ%?z÷¹w û7Œ¹›ç²xwšþçÛŸSN±ôŸ¥fI~ëýoÿßÛ¬=´–µ‡Òô KÚTo“婹é=ȶ^ªÿ‰—¶h;#w²32Mÿ«ÔøžïXÐl±çb™¸v"+÷­då¾4ϼÑ|êŸIÿ{eï-zïƒÓô¿ÛïYMš кzkª–ªJh\(×Þî·ß³š[±ˆˆˆˆÈ£%Ï“U+++æÌ™Cÿþý Œ;ã>õÔST®\ÓÕT/¿ü2þþþNJJ <ýôÓf›øøùùaoo««k†ë¦+Q¢D®· аaCFaó¨~ýúÑ­[7Ö®]Kdd$EŠ¡nݺ4hÐ K?¯qãÆÑ·o_‰ÇÉɉfÍš™íPœ–——¡¡¡¬X±‚èèhJ—.M‡(Z´¨Y={{{víÚŪU«ˆˆˆàúõë¦Øït/Y%'Ïáa±²´bN9ô÷íOð‘Ûý¯b#žò|ŠÊUÆÅÑ{›týï©—ñ¯ãOPXáÿ†“bHÁÃÙƒ§Ë?m¶‰_U?ìmìq-œÉ}ß>V¢pºþ— m4¬ØÑíGgxWi¿¦ýèæÓµ‡Öy&’"ŠP×½. <³Øÿ^Gߦ} $þbãÇçŸþ¡víÚyÎgaaÁ;ï¼Ã7ß|“íswEíʰqÑ´õÓxûÿÞ¦SNôWÿË®÷—¼Ïø5ãùgÔ?Ô.ûxö¿ÜúóïNâããIJJÊRÝŠ+0uj<Ï?Ÿµú""""9ñöÛ%øöÛø,Õ/Y²¤éí9°(ÏGVš7oN5¨S§666„„„°eËÞyç<ŽNwÍ'5§F™Ô)[+B¢CØq»ÿù©ÿ‰d&ú\4Ë-§Iù&Ô.õèÿBâPü!Ÿ>LBRE ŧ¬œ+dZ÷»mßÝñuGÍ*4£†[LÝJ¹Åöèí=s+j—ªMuWóÍÔ·Ÿ«ˆˆÈýÈÉêSO=ÅúõëÙ¶m›©ÌÎÎŽI“&™í,ò <åùë¯gÛ±4ýÏÚŽI]&™í,"ÿ‰>ÍÔÍS)dWè‘NªÖG¬çó Ï‰>áXëÊ­™Øn"l ˜•ÏØ:ƒ«7¯fÚžKA—L“ÕØ†ý1ŒçO˜•?ëñ,?wûÙôýqù¹Šˆˆä†|‘¬ÂÞ½{IHH T©R´lÙ77·¼í‘u¯5µòŸ ¡A„D…°÷Ä^.%Pªh)ZVk‰[õ¿œº×šZ‘üboÜ^¢ÏESݵ:•\*Qܱ8ÇÏg}ÄzÖ„¯¡€M&¶›˜á<·Ânt©™ñÈ5\3&ª‡âñú‚×¹zó*åËÓØ³1vÖv„œa{ôör_"""ƒ|‘¬Ô¯_Ÿúõëçu ???üüüò:ŒGF}úÔ÷PÿË-~Uüð«¢þ'ùŸ_%?:×ìL¹¢åÌÊ7Enâ…oðGØ|Þæsl­lÍŽ—*\ŠAeé#ÿÉÕ›WyµÎ«Œzn”Ùë§vØu—3EDDžlù&Y‘GSŠ!…­Q[ ¥ ]Aš–oJ™"e2Ô»™|“M‘›ˆ9ƒÁ`À½˜; =bomŸI«GM·š™–7ölLyçòDœ‰àòËØÂôgÑ IDAT°Í´Þ½ìÛË¡øC”)R†Ÿû8Ã{’}ÊúÜáÌŒï_LÜÅ8š–oJ­RµrˆˆÈ£DɪˆˆäØõ[×éñ{¶Eÿ·æÛÚÒš‘-FòZ½×LeûâöÑ/  I fç»taJÇ)4(wï×'}»ù[ dm{z7èÅ»È(9%™óWÏãVØbŠe8~õæU–ZNÜÅ8Š(vÇ ™R§ù¶¯Ú€?ÿI̹J8– Iù&¸t¹g,7“oòáš 8@ß§ûÞ1ÁyÜ(Y‘›»k.Wn\¡cµŽw,Ρ±-zŸ~Jåâ•MIè—¾$!)*%ªð´ûÓX[Zu.ŠÍ‘›9’p$KÉê´­ÓHNIÎR\.]î+Yýqל¹|†ÏZ–éñÐøP†®jVÖºrkÆ·OAÛ‚¦²èóÆ›Ü »ÑñÇŽ„'„›ŽÙYÛñQ‹x¹ÎËwŒãüÕó¼ðÿœü‡/Ÿÿ’Î5;çøžDDD5JVED$Ǯ޼Êò×—›*ÎÝ5—/‚¾`ÎÎ9¦$4ñJ"žNž,}9––¦º‰WI¼’˜¥k l80[#«9ÄÄà‰´«ÒŽnµ»e8nÕ]«Sí¬ p<ñ8›"7±&| 7’o0«ó,SÝ+7®0sÛL.\»@çš)Z (ûâö±ëÄ.F­E— ŒWÿïUÖG¬çðéÃx—ðŒ£§—o\æÏ7þ¤t‘Ò¦s¾Þø53¶Îà—Œ‰hHlÓ¶LÃÉÁ‰Å¯-Æ£˜G.Þ¥ˆˆÈ£á¾’Õ³gÏ˻ロ[ñˆäX`` ú¢<4ûöí£L™Œ›=iÊ-›¡ÌÒÂ’ÒEJsàߦ²w¿C¹¢åXvhŸ~†ƒ­uJÕ¡cõŽ<ïý|–®õ ×¬.Ü·Ö|DK¯–Lî8kËÌÿŠLŸ¨T)Y…NÕ;ñsÈÏŠ?dJVS“ò缞3KTzùôbÆÖfSƒSíŒÙÉ…khW¥îEݳu"""‹ûJV=Jll,“'OέxDrìàÁƒ=ž}—öñÁ–ˆJŽbJû)ŶUžkVƒþbÖŸ³èîÕy}æa¨0,þEZhèØ°Ø: …¢PÙ{mÞ#>=žµÇ×r?ï>_wûºÐNÂB!DeWªdµU«V„††–I0B””B¡`âĉ̛7Oß¡ˆÄÀõÂ3aËÙ-¶Ô¸xå‘•ÜȾAGŽê²}÷ñ²ûËb 0ÀÝÞ:vuX}t5OoÔ*Y-¯5«3÷ÍdÙ?Ëèݨ7³zÌzj¢z:é4µlkÚ!ø\Ê96Ùh&¨/»½Œ™‘»Îïb|ÛñWWƒРzƒBí(Pðe×/±1³aÉ_K¸uï ú,(ô¼W!„¢2“5«B!JÌÜØœ>+ûе~WªYVãlÊYÅB¡Pðv‹·ÕõÆþ:–ªæUñ­å‹‹­ 9y9üð7Wn]Qß2[œòX³ºä¯%,ûgÖfÖÔ¶­Í÷‡¾/TgHÓ!T³¬ÀŽ˜üxäGZÕnEíªµ114!6=–ý±ûÉËÏãe÷—5’OKSKÞiõ #Ò#¸ÝêwÓØ`ÉÐÀÀOŒoR»ITµ¨ÊŒ½3xû—·ù¡ÿ» !„•™$«B!J,Ð/qصY]¦zÎ꣣éèÑ‘]çw±=z»ÆëkÙÔ⿯þ·Ââ}\ÂÍ2ïe²èà¢"ë¼Rïu²Ú¤FlÌl /T¯ký®|Óý›BåãÛŽ'õv*ëO®gé êr c ¾~õë"×À>*Ð/3>Þþ1o„¼AðëÁE>ûU!„¨l$YB¡3ת®LðŸ@+×VŒj5ŠqˆIÁÂÄ‚öuÛSËFsó©Eý‘–•Æ‘+GHÌHÄÂÄ7;7Z»¶Öx”MEë\¯35¬k<µŽƒ…ƒúï]ëw¥s½ÎD&DréÆ%nß¿Mµ*ÕðsñõjÑ!( øúÕ¯á7‚¿/ÿMÖƒ,jZפ{;lÍm5êªÆÕÇÙG£¼ãþ8Z:rìê1Å¢Gƒ%ì±BñüdU!„ÎTI•J;÷v´so÷Ô×T³¬Æ«^¯–wh:éäщNtz¡ÂÖ®­iíÚZ§×y:xâéàùÔ:ë£üÝüñwóשM!„ây¦¿_g !„B!„O ɪB!„BˆgN…&«–––´oß¾"›,7•©/%ñ<ößÒríÛ¯×we¢2õ¥$^ôþ !„B¼äʪx"###:wî¬ï0Ä ÊÈh;ÿ¢ï0„B!„žTèKYYYÙ\¹ªL})‰ç±ÿYYÿÖwe¦2õ¥$^ôþ !„B¼äʪB!„BˆgÎ3±fuõêÕ´nÝ+++,,,ðõõeáÂ…äççªN¯^½pppÀÄÄ777&OžLff¦ºÎ½{÷P(ôíÛ—¤¤$† ‚UªT¡sçΜ¾¾?±pá1òó•…ꆇ'ҫׯ88|‰É\ÜÜ–1yòŸdf>x¤¹(³éÛwIIw2ä7ììQ¥Ê:wþ…“'Ó 7?_ɬY‡©Wo¦¦ó¨[w³g&.î ÅlÆÛóÔ¾”¤MmûSmÆïÑøâânѯß&lmbeµ€W_ݨ_DÄUŠÙäå)Ù³'…b¶úÏŸ&Ùÿ’Æ¢ËX !„BˆŠ¥÷ç¬N™2…Ù³gk”?~œãÇó×_±nÝ:uyPPï½÷JåÃ/žñññÌ™3‡={öpðàA,,,ÔÇ222ð÷÷'66V]¶gÏ:uêDtt4ô>fÌ‚‚‚Ô?ÇÆÆ2eÊŽ;¦StiS×þE—ñHOO' €«W¯ªËvìØADDx{{ëÔßÒÄ¢ËX•—)S™=ûðc1§rüø^þúëëÖõT—ä½÷vñÈÛE|ü-æÌ9ž= <8 cõ±ŒŒûøû¯#6ö–ºlÏž:uú…èè@ÌÕåcÆì&(èa’{‹)SÂ9v,E§þèÒ¦®ý)Š.ãž~€€®^}xùŽqDD\!"b(ÞÞÕtêoibÑe¬„B!DÅÓëmÀÇŽcöìÙ˜››³páB’’’¸qãkÖ¬ÁÎÎŽ6oÞ $ãÇÇÖÖ–+V””Ľ{÷ˆŠŠbàÀœ8q‚ hœ?<<"##¹sççÏŸ§S§NܸqƒµkתëEFF„µµ5+W®äúõë$''³dÉ6mÚ¤SŸ´m³$ý)Íø©8pþùç²²²8wîýû÷'++K}õØßߥR‰¡¡!:uB©Tªÿת¿ˆˆ½˧;>¥“þôoÜ_ÏQ‹GíÝÏýÀÄ—'ÒÂ¥…Ʊ?/ýÉŽ˜\˼Fn^.Áƒ‚132ÓS¤eëyíÛÉk'™¹o&Û§[ýnú§\Èœ|¾úVÙæäÑ+GÙµ…„ŒÌÍñsñcPÓAX½LÆÝ Ö_ÇÉk'Q¢¤‘S#†6J5Ë¢÷á(ïú•^“U¶mÛF£F4Žýþûïu¼¼¼Øµk;w.Ó8êÖ-¸³sçNÞ{ï=c»ví*Ó¶TÊ¢?ºŒŸÊ‰'HMMÕ¸ºš““Þ=»ÍªÆÀÀÀ€ÜÜÜr‹Eß<<ª°m[,inæôûï±ÿ«Sp¥ÍËË€]»Ò¹³k™ÆQ·nA;wÆñÞ{M5ŽíÚu¹LÛR)‹þè2~*'N¤’šš­qu5''Ÿ={ ú© ¹¹Úe%‰E”Þú“ëùdû'eùÊ|3‰LŒ$;çámÝwÜ!21’V®­*:LQŒ´;iD&F’ž®Q¾9j3“¶NÒ(ËWj÷K¬g]Q};—rŽYÎâuï×éûRßr!&-†éL×¹½[÷n™É+õ^)ÇèôKæd™“oþù,:¸H£ìó°úèjBÞÁÑÒQãXBFƒ× &5ëáò¡½÷²úèjÖ ]G½jõ*´~e¤×Û€ÀôéÓY¼x1)))ܼy“õf?¯¿þ:ÇÇÈȈaÆLbb"< %%…ˆˆÆÏŒ3JÇk¯½ÀG}ÄêÕ«IOO'--¥K—òÕW_•AO +‹þè2~*YYYôéÓ‡ÈÈH²³³‰ŽŽfèСDGGãïï£ãáQQQ\ºt©ÈÇ•6}8°à>}ú_,^|‚””lnÞ¼GHH´úQ1¯¿^ðK…áÃaddÀ°aÛ>Mbâm<È#%%›ˆˆ«Œ¿‡3þ)Q¯½æ ÀG`õ곤§ß#--›¥KOñÕW—AO +‹þè2~*YY9ôéó+‘‘IdgçÎС¿Ž¿¿3ŽŽ“X;;3¢¢®séRF‘*m,¢ô~>ñ3FFLï2ÕCV³vèZL MÜt0k‡®U_Uϧ5ÇÖùþVEõ-'?‡ÈÄH®f^-þeàöýÛÚ^e s²|½èsò`üA\„±¡1#[Žd逥Ìí5—V®­HÈHàÃß>,ôšÉ['“š•J³ZÍXÔoK^[B€[w3˜¸eb¡_¦”wýÊH¯WV}}}™4isæÌaìØ±Œ;VãøàÁƒéÛ·à7;žžž,Y²„Ñ£GóöÛoy¾©S§–(Ž–-[2räH–/_ÎðáÃ5Ž 4ˆõë×clüôGxèª,ú£Ëø©péÒ%Z¶l©Qnii©ÞI¥C‡üüóÏWD÷íÛWäŽÀ%‰Eß|}™4©9sæaìØÝŒ»[ãøàÁ^ôí[ÐwOϪ,Yò £GÿÁÛoï,ò|S§¶(²¼8-[Ö`äÈÆ,_~šáÃ×86hë×Gcl\¶¿W*‹þè2~*µ¸t)ƒ–-5w{¶´4Vo„¤Ò¡Cm~þ9åê²}û¹#pIb¥w%ã õ«Õg˜ï0r[\l‹Þ¹Yvõµmk³jð*õ-Û=;òÚ¯•ÅÁøƒ¸THýÊJïkVgÏžM“&MX¼x1gΜ!//úõ먾"§2räH¼½½™;w.û÷ï'--jÕªáééÉ Aƒ6¬äÿxáááÁ²eËHLL¤V­ZŒ=šæÍ›³~ýzªV­ZÚ®RýÑeü àjéÊ•+yÿý÷ '??Ÿ¶mÛòÍ7ßzÆê¼yóÈÍÍeï޽ܼy³Øõ“ºÆò,˜=»=MšTcñâœ9s¼<%õëW%0°1ãÆùhÔ9²1ÞÞÕ˜;÷û÷_!--›jÕ,ðô¬Ê Aõ6¬a‰ã ꂇGU–-;EbâmjÕ²dôè¦4oîÈúõÑT­ZökVÊ¢?ºŒ\-]¹r0ï¿¿ððDòó•´mëÌ7ß¼\è«óæu 77Ÿ½{¸yó^±ëHuE”Ü꣫Ù½Ìû™<¸ù€¡k‡YïÑ5«O—ÇÆÓ9ŸvžÜü\ÜìÜÐx€ú h®‰jU»?ý‰SI§052¥CÝôoܿКçìœl¶žÝʉ«'Hº„¥‰%>Î> h23›"ÏÝ̹«Ž®":53†ø ¡y­æD¥Dr<„«·®R˶o·x›:U딨?ú²#f;¢wy?OO/d*ª÷7=;ìÙê÷·s½ÎúMØé0o%¢T*q­êJïF½i䨍ÐùŠòè˜û:ûòÓÑŸ8—r  :{v¦wÃÞE®a×u®ø¹ø±æØ¢’£¨nYúÕêÙ·Û÷nêz2”ƒqÕ?¯¶N§öµŸMg6±"rE±í'5+U«±Óö³ Mì*‹¹.sRæä³2'3èèÑQ£ÜÐÀvîí8tšðØpõ¹ÆŒÑëÞ¯k¬-6Tò†ï|´ý#öÇîW'“å]¿²ªÐd5++«ÈòáǺ¢ù$~~~„„„<µŽ™™Ù«'300`êÔ©…®fN˜0€—^zI£üñ¾”¤MЮ?ÅÑeü `]ê–-[Š­çää¤~$ÍãJó^–t¬J++ëßE–ÞˆáõûÏÌÏωÂ;?ÊÌÌ¥r²NÇ LÚ¢ÐÕÌ öðÒKšë0ïKIÚíúS]Æ Ö¥nÙÒ¯ØzNNU í]ä±Ò¼—%+ñÐå›—‰LŒ®E-Ê£kVŸdÝñuLÿc:yʇ›ÍíÝÏšckøºÛ× h2x¸&Ê·–/ßìý†+·®¨ëïŒÙÉ™ä3|Ñå uYÆÝ Ú-iÇw4ÚÛ³ƒ‘+øåÍ_¨eSKãÜÞ5½ù¿]ÿGJÖÃGxývî7– XÆw˜¸y¢Fœ¿Ÿû#whlr¡mžæÍ7ÉËòæ{²5·eñk‹µª;uÛT6žÞ¨ׯÓÜt°F½'½¿u ö4;ÆÔß§ú·zEä æôšCŸF}ŠE5æk4æË]_j¬ÇÚ½Ývó]Ÿï4¾àê:WšÔl¢q 132+vî^¹uEc~éÚ¾6ãs5ó*çRÏ=µ½â$ßN¦ï}‹;]> º¼·e1×eNÊœ|”¾ç¤™qABx#ûF¡»ƒ®ß)xŠÂÅŸl¡ú»wMÍ‹=–]ºq©ÂêWVz¿²ú¬X¾|9ׯ_§OŸ>Ô©S‡k×®±jÕ*/^Œ••]ºtÑwˆ¢[¾ü4ׯgÓ§uêØpíZ«VE±xñq¬¬LèÒ¥Ž¾CBíÍfoòJ½W:’šÖ5ù²ë—Ç>ñ3[Ïn-ö<Ç®ã‹?¾ÀÂÄ‚¡>Cñ®á‰¡ g’ϰòÈJþ³ó?´rm¥þÒ°üŸåx:xòßWÿ‹£•#QÉQ,>´˜µÇ×2ªÕ(jZ× '/cCcÞnñ6 boaOæýLþ¹ü!'Bø.â;¾íñ­F<+¯¤‘S#&µ›DUóªìÛÏ꣫ùr×—ÜȾAφ=éìÙ…?ý‰þaÅáLë0­Äý)Jdb¤ÖɪC‡â+¿GÿÎÆÓ176'Ð/ïšÞ¤g§óÓÑŸXþÏrºOz«[ļºú2¼ÙpÚÔiƒ‘ñ7ãÙµ…Ì{OäÕãVY…›&R­J5¢R¢XöÏ2¶Gogƒû6)Ø¡$cûãáq³sc‚ÿjÛÖÆÚÌ+S«"û–“—Clz,_îú’ÞéÛHsÙŠ.ík3>}õÅÊÔê‰í•åØéòYÐö½-‹¹.sRæä³6'}júp(þßìý†Å¯-ÆÎ¢`3Ê¿/ÿͯg~ m•›ÙÍ«V¥ð®¼ª¹Y‘õ++IVÿ'##ƒ>úˆ>ú¨Ð±¹sçbii©‡¨Ä‹"#ã}t€>:PèØÜ¹°´,Û5ÓB”†kUW\«ºbd`„¥‰%-kk®ß»_«óG“¯Ì'øõ`|}Õå<:ÐÔ¹)o­‹­g·ò^뇻´×±«Ã†á05*ØT¥{;ròsX±×N¨“ÕªUÙþövþ¸ðá±áܸsƒœ¼L M8’Xx-X]ûºü<ìgŒ ÕqĤƙɾoh\¹míÚšÖ‹Zsâê‰Rõ§(«‡¬ÖúU¬Å =Yp—Ìü>óéäÑI]Þ»Qoz¬èA\zœº¬¸÷×ÈÀˆzõøì•Ï4ÊG4¡që¢6ªYV#ì_a˜<ʬƒGš×jÎ!o°þÄzõ—Û’ŒmuËêç~´EõMuU¥–M­B}Ö¥}mÆÇÙÆ™†Ž ŸØ^YŽ.ŸmßÛ²˜ë2'’9ùlÌÉ7|ß äDG®¡Ý’vÔµ¯KÖý,âoÆÓ´fSN\;Anþçd¨®à:—ªL՝Ѝ_YI²ú?ï¼ólÙ²…ØØX ñññaÒ¤IôêÕKßá‰Jîwš‘qŸ-[.{ CC>>›õêU·øñ:™tC…!óÌ ž+¬¤ IËÍ+øBðø-NÝêwS'ª*/9,ÓPý -+!k‡<ñV¶¢¾Àv©ß¥Pò×À±‘‰‘ôhÐC£ÜÚÌššÖ5I¾\ªþåñçJ–…˜´lÍm5’(øbØ»aoD,Ðú\£ZbÒÖI¼¿å}:zt¤Aõ¸Û»c 0ÀÊÔ (ßw7¼«ñ:+S+‚i”u÷ê^è‹»êêGLZŒº¬¤såñs—”.ík3>OSÖc§ËgAÛØËb®Ëœ,™“e?'«YVcíе|ôûGœ¸v‚3Ég€‚÷­WÃ^Œýu,Ö¦ÖêúæF}}üvæG˪˜T©°ú••$«ÿcccÃW_}UnªÑ·ò\ *JÏÆÆ”¯¾ò端üõJ¹µ ¢(Ù²ÉSæq(þÐëÜ˹§ñóão$˜náÿÝÁï¸rë ­][Ó»Qo-114A¡P0í÷iE&«~ Q120zb»FFd?x¸.·$ý)Jy¬Y½—{[³¢Ÿ5lk®Û3ˆ{4èACdžüvö7ÂN‡“ÃýÜûôlØ“I/OÂÚÌšÜüÜBkïŠjÇÚ¬ð˜«ê^˼¦þ¹$c[ú†.Ýz*]Ú×f|ž¦¬ÇN—Ï‚¶±—Å\—9Y:2'Ë~Nx:x²aø’o'“”™„£•#5­k2'|€ÆsMmœˆ¿¯þ¥©ŠêÎUЍ_YI²*„B/jX×àAÞ‚úy› ^3¤«“×Nbkn˪Á«0P<|ôSvN6iYiêÛëÊRYõ§<Ö¬V·¬NÜ82îfú’y:ù´Vçx”›ãýÇ«>“|†7CÞ$-+ů-ÆÊÔŠµC5Q¥Jü•U¨ì΃;ÄÞˆU¯É‚ò+* 6)껺¶_Üø<­½²;]? ÚÄ^ï‡ÌÉâÉœÔ>öLGzô½IDAT²~?œ¬œp²rRÇ¥Ú¬}Ýöê:Mj4`ßÅ}ôl ¹YåÞ‹d6®Ñ¸ÂêWVeûðF!„BK]êuánÎ]vÄìÀ«º-k·TÿièØ˜´˜¯Ç±1³!ë~1©o=»y÷&lù€{¹Åÿv½$ʪ?«‡¬fíеZýÑv'à·ò”yLû}Y÷îæ¾=z;›£6ëÔÏoÿü¶ÐítŽ–Ž«¯¾iô¿eí–4«Õ¬Ð¹v]Ø¥±ìÝœ»|²ý²s² pø8†òœ+*Æ$d$:¦KûÚŒÏÓÚ+ë±Óå³ mìeñ~Èœ,žÌÉŠ“Kÿ^Ê­{·Ô?_¿s±acIÍJ¥m¶W8;xtÀÜØœßÎýÆž‹{Ô凳îø:Œ éV¿[…Õ¯¬äʪB½Ùr$».ìbÝñuüròêØÕÁÊÔŠ´¬4’n'‘—ŸGðëÁ%:w'NNÌÜýsq·wÇØÀ˜˜´rósq²rbF÷ýµ1³a‚ÿfî›É»ÞÅÓÁ##¢Ó¢Q*•Œi3F}u¶"êWVreU!„^X[24„a¾Ã064æâõ‹¿zœ+·®`ejňæ#hä¤ý3|õV‹·ä=%JÎ¥žã\ê9jÚÔ$øõ`ªšW-ãž(Ïþ”–£¥#? ù OO²s²9“|†Ô¬TÞò{‹7}ßÔé\Ó:N£^µz¤g§sòÚIÎ¥žÃ@a@ŸF}˜Õs–Nçê÷R?ƵÇÍ»79tš¬ûYÔ©Z‡UƒWQÛ¶¶º^EŒ­™‘wüS#SΧ'21R}åF—öµŸ§µW–c§ËgAÛØu}?" ÷MædñdN–ßœ<›r–ÈÄÈBÏÝz46f6œO;OTJJ¥’nõ»úf¨z·ùG½Óò&·›L“*\¸~s©ç054å½Öï11`b…ׯŒÊRìº3p`ÁÔ¡¡¡e%¡P(˜8q"óæÍÓw(âQÞÿþ¥¤¤••U|EÀã.ß}—B÷îÚÕ/+G®ÁÜØœFŽš_È3¹–yÆ5«o+»óàg’Ïàlã\äsîròr¸tãwsîâdå„£•£ÆZ¦Œ»ĤÅàZÕµÐo’UÇêØÕÁÑұбË7/cmf›P°Þé~î}õmlO;wBFI™I4©Ñ¤Ð.—§’N‘—Ÿ‡³ÎýѧK7.‘õ W[WlÍmIËJ#6=OO5]OzUÒ³ÓIÌHÄÂÄggõ{­ý±û ü%O:}Â[~o‘y/“¸ô8,L,ð°÷@¡P<ñµ¥™+Úô-;'›K×/q7÷.J¥²Ð#<´}oµŸâÚ{ÜãýÓvì´ù,è»¶ãq8ñ0J”O¼k@æ¤ÌÉŠž“‹¸Ÿ{Ÿýcöcf¤¹F6/?ø›ñd?ÈÆµªk±PAÁ†a—n\"??Ÿºu‹{å]¿<_ðÿìÂ…)ZÕwtt,Í#@C%Y•‚$«¢¢I²*DÉ=ž¡o2'_Wo]¥Ý’vLj7©Øç^‹Â*:Y-ÕšÕ¿ÿþ›+W®<õ·MBT”ùóç3þ|}‡!^ µj¾B(„Bˆgב+G¨bR…a>ÃôŠÐB©’UOOOÌÍÍéÑ£Gñ•…(GIêD µ¾C/Œyxz–ÍÃÝ…BQ1šÕjÆ/oþ¢Õí½BÿJ•¬ÚÛÛcoo/·^ ½+HV[¯ë;ñÂÅÞ^ß1ñ|zÙýe.N»¨ï0„P“9ùâ(jßñìz6v{B!„B!!ɪB!„BˆgŽ$«B!„B!ž9’¬ !„B!„xæH²*„B!„â™#Éj[¿~=íÛ·çĉ%zýÒ¥Kiß¾=/ÊŽtB!„Bˆ—$«e,11‘ððp222JôúØØXÂÃÃÉÊÊ*ãÈ„B!„âùQªç¬ŠÂ DóæÍiÚ´©¾CB!„Bˆç–\Y-c...´oß[[[}‡"„â9´ñôF<¾ñ`GÌ}‡"„Bè•$«eìIkVóòòX»v-o¾ù&]ºtaðàÁ,]º”{÷î=ñ\ÇçÝwߥ[·nQÞá !„B!Ä3An.cE­Y½sçݺu+”l®_¿žE‹±{÷nªW¯®qlûöí|ñÅÿüsºvíʺuë cÔ¨Q( Þÿ}bbbôÐ !„B!„¨8reµœåææŒ™™Ô«WO}lРAxyy±iÓ&RRRpttTëÙ³'aaaêŸûõëG5˜>}:?þø#3f̨Ð~!Ä£öÇî'ð—@>éô œ1oÿ<¢’£p·wçÇA?Òâ»ônÔ›Ù=g«_v:Œ·}ˆ½…=ÿ…B@JV mµeˆÏþ¯ëÿ=S}Ù4bJ¥’ §6ðË©_ˆI!O™‡›ƒ›f˜Ï0u?'&äD'®ž év–&–ø8ûðn«wiV«™F»™÷2™».;Ïï$ó^&žžLðŸPÑÝB!žY’¬–³ØØX²²²xõÕW5U{{{ À?üÀ©S§xå•WÔÇ +00éÓ§sêÔ©r[!´qìê1¾Ùû yÊ<ò•ùØšÛÒб!q(•Ju2€Ù7ˆN‹¦Aõˆ=@Û:m‹m¯þ·õÉËÏÓ*6‡*ü=þïRõE©T2ù·ÉlŽÚ¬Q7:5š/þø‚s)çøúÕ¯HËJcÈÚ!õnÞ½ÉÞ‹{ ¿Κ¡kðsñà~î}†­ƹÔsêºg’ÏðîÆwéîÕ]똅BˆÊL’Õr¦Ú@ÉÎήÈãªòÇ7Z*j7aUÝ»wï–eˆBQbÛ£·3Ð{ £ZŽ¢¶mm ðwó燿~ :5šŽ P*•Œ;HïF½ùíìoˆ= NV#â ’ØÖ®­õÙ•"û²éÌ&6Gm¦~µú|ØáC¼kxcjdÊ™ä3|¹ûKÖŸ\Ï€&ðqöA¡PàïæÏðfÃièØ‡*ܺw‹È„H>Üö!?üõƒ:YýéèOœK=‡»½;_¼òM›’žÎ²¿—±öøZ½ŽƒBñ¬dµœÕ¨Q€£G’ŸŸæ2áÇP³fMòcÇŽáïï¯QväÈœË+\!„ÐIÓšMùo·ÿjÜ à_§ Yˆ cÎ¥žãFö ºÖëÊÕ[W‰ˆ`T«Q(•J]>Dã±1³)¶½˜ËoÍ~Q}Ùpz††¬´’ê–7Âósñc^¯yt[ÞÝvããìƒC&·›LÐßA|ºãSnܹ¡¾J “ö0öÑ;P(|ßï{<<°°±`z×éÄÝŒãPü¡rë§Bñ¼dµœU«V ___Ž;Æ´iÓøúë¯166F©T²páBvíÚ…““ÞÞÞ¯ûꫯhÓ¦ Í›7àòåËL˜P°–©K—.Þ!„(JÛ:m %ªÍj5ÃÜØœqx§å;DÄE`¨0¤µkkÎ_?Ï÷¿ç^î=.ݸDzv:ƒ›ÖCôšŠêË…´ äåç°8¥R‰¥úï×2¯·[7Œœ¼œ"Ï/÷á4—3.ãhé¨NTõ²ÛË’¬ !„H²Z!¾ýö[ºté¬Y³X±buëÖ%!!””õq##Í·¢V­Z´lÙOOOLMM‰ŽŽæÁƒ4mÚ”Aƒé£BQˆ­yá% ƆƴpiÁ_—ÿâ^î="â#ðqöÁÒÔÿ:þÌÛ?ɇ‰JŽ À-@«öÊsÍjQ}ÉWæ<µMUrúÃ_?“—Ãÿ ô}©/Ž–Ž˜š P(責 éÙéZÇ"„BIV+D§Nغu+ÿþ÷¿¹xñ"éé_XjÖ¬ÉÌ™3yã7 ½fÁ‚Ì›7_ýUãí<No`˜Ï0ÚÔiCMëš\¼q‘ÕGWÓ÷¥¾½r”¯÷|­¾B«ÒÍ«'“N2ö×±Lï2ïšÞê –ä`!„¢€$«eLµa’““S‘Ç=<<ðððxâëÝÝÝqwwWÿììì,* !žK8Z:r>í<6f64vj¬>àÀŽ˜€v¬Ñ—×^zÈ„H6žÞȨ £Š¬3È»`iÆŸ!„dž3}×t¦ïš®>Þб!õªÕ#5+U]6¼Ùp¶Dmá\ê9Þ yS]®P(èÑ ÛÎm+§ !„σâ«mÌ;—zõê±uëVÜÜÜpssÓwHBˆ„©©’ orô,ðw+ØÕ¼µkk ÿËñ¯ã_äߟ5 …‚™=fò]ßïh[§-6f6ãbëÂ+õ^aÉkKhëVlwöìÌÜ^sñªî…™‘Õ-«3Äg«‡¬ÆÄPónS#SÖ]Ë0Ÿa8TqÀÔÈ”†Ž YòÚ^vY]B!Šuÿ¾ffÊ kO¡TmgX 44´Ìz^=š   Ù°aC¡ÇΈòUp;õzàu}‡"^0 üþýKII!++K«ºmÚ¸òÎ;·xë­Œr‰E!„`Àg||îóÉ'×µªïè舥¥eI› •+«eäƒ>àÔ©S$$$H¢*„¨P9œ?/¯ !„¢ü(•pñ¢ îî*¬MY³ZFêÕ«§ï„/(Ÿ{lÞüôj…B!JãôiS²² ðñ¹W|å2"WV…â9×±c6W®qú´©¾CB!D%µc‡%ÎιxyUÜ•UIV…â9çí}OϬYc£ïP„BQ ݽ«`Ã+ú÷ϬÐv%YBˆJ`ôè 6m²âÜ9¹º*„Bˆ²T•œÆI²*„BG½{߯×÷_|á@É÷xB!„Ðtíš+VØ2aÂMìíó*´mIV…¢P(à“O®sü¸?ý$· !„¢ôrsLZš5syóÍ[Þ~©v>þ<.\ÀÅÅ¥¬â¢Þ&é;ñ¸ÁùóžúBÃK/ÝçƒÒùïpqÉ¡cÇl}‡$„BˆçØ—_:pò¤)ë×_ÅȨâoÝ’G׈J£iSwœœœô†xAœ8qBß!iôè›ÄÅóÁެZu oïûúI!„ϡ￯ÊÏ?[óÃÉ4hPq;?ªTÉj½zõ¨W¯¡¡¡e%¢P( ¤{÷îúE¼ Ƈ¥¥¥¾Ã(ÒW_¥qã†!o¼á̬Y©të–¥ï„BñœÈÍUðùçlØ`Í矧ѱã½Å"kV…¢’16V”ÄÀ™ŒïÈüùvÜ¿¯ÐwXB!„xÆ]¹bÄ[oÕ`ëVK–,I®ðÝ'ɪBTB††ðÙg×™>=à`ºusá?ªè;,!„B<ƒîÞU0¾ݺÕ&5Õˆõë¯êõŠªŠ¬YBˆJlèÐL:wÎfæL;ÆŽu¢Aƒû t›Nîà䔫ïð„B¡'J%œ>mÊŽ–lØ`ENŽ‚>Hgøð[zÙL©(’¬ !D%W½z.sæ¤2bÄ-V­²á›oìøüsjÔÈÅÕ5[Û|Šgã?%!„B”¯û÷¤§rñ¢ YY8;çòÆ·6,³ÂŸ£ZIV…âѸñ}fÏNåë¯9bFT”)W®së–ùùúŽN!„ÁÚ:—\ú÷¿Ï=¼¼ô³Ó¯6$Y-‡â?þ`ĈÔ©SGßá!„SS%mÛÞ¥mÛ»úE!„â‰dƒ¥Ú¿?_|ñ …Ž:tˆéÓ§_ñ !„B!D% Éj íß¿ŸéÓ§™¬¶iÓ†Ï?ÿ\®ª !„B!D ÉmÀå M›6´iÓFßa!„B!Äs«Â’ÕŒŒ þøãâââ066¦yóæ¼üòËêãiii,^¼{{{ƧñÚ{÷î1gÎ ™ØÙÙé0òpìØ1ÂÃÃQ*•àççǦM›8qâ„Fm×ÖÖ–mÛ¶qþüyš5kF—.]´Ž_—±|¼]kkk6oÞÌåË—©Y³&½{÷ÆÖÖV§þ !„B!ž’¬óþûï“™™©Q@XXT«V””¾øâ ”J%ãÇW×;v,ÁÁÁ©UmΩ²bÅ &MšÄ­[·4êúûûŽaaa¬]»–qãÆ™`­]»–‰'ª“Õ}ûö°råJu½víÚ©“ÕéÓ§Ó¾}{dõã?æÛo¿%/ïá–Ð …‚·ß~›Å‹cll $o3gÎÄ××—©S§­®oooÏž={ðöö.vÜóóó=z4Ë–-Ó(;v,YYY¬ZµJ£¿ªv_zé%>üðCâââøàƒèÒ¥‹Öñë2–¶Û¨Q#¦L™ÂåË—Õõøõ×_ñ÷÷/¶¿B!„BˆÊ£Ü“ÕÍ›7óöÛocddD=hР÷ïßg×®]8p€ýë_lÛ¶ €ùóçsôèQ&Mš„ŸŸ­Zµbùòåó¯ý‹Q£Fé|ÎÐÐPFŽ €ŸŸ~~~rôèQ"""ÈÏÏÇÀ@·¥»Ã‡'??Ÿ}ûöñÖ[oQ»vm€§®Qýþûï™1c …‚ž={Ò AâããÙ´iË—/ÇÁÁ3fh¼æÝwßÅÈȈQ£FaiiÉŽ;8{ö,ãÆãÀÅÆ9þ|–-[†¡¡!}ûöÅÝݘ˜/^LµjÕžøº1cÆ`bbÂÈ‘#qvv¦uëÖ%Š_WcÇŽÅÄÄ„Q£FaffÆîÝ»9{ö,ýúõ#::{{ûR_!„Bñü(÷dõã?ÆÂ‚ýû÷Ó¬Y3u¹R©dÀ€„……——&&&„††âëëËÀY±bãǧI“&,Y²¤Dçüä“O€‚dq̘1±EDD`hh¨sŸ†NBBûöí#00P««~ß|ó 7n¤_¿~êòþù‡€€,XÀ§Ÿ~J•*UÔÇêÖ­Ë®]»077`ÆŒ4iÒ„ƒ’™™‰µµõSÛœ3gìÞ½›öíÛ«Ë7oÞLß¾}ŸøºZµjŽ•••ºL•ðë¿®jÔ¨ÁÔýÊÍÍeРA„……ñã?2iÒ¤Ÿ[!„Bñ|)×d5))‰³gÏR·n]¶oßÎöíÛQ*•(•JõÍ#Gލ×=Ö®]›uëÖñꫯҵkWlllظq£:aÓ圖––\¸p??¿B‰*Pa·–&$$påÊÚ¶m«‘è´lÙ’²nÝ:Ž;F@@€úØÔ©SÕý011¡sçÎÄÄÄ””ôÔdõòåË\»v.]ºh$ª}úôÁÏÏÇùÚ)S¦h$ª%_WS§NÕè“‘‘_~ù%aaaéÖä:uê<1Yõôô,ò\ºÆ¯+77·'–©bB!„B¼Ê5Y­Zµ* 6dàÀO¬ççç§ñó˜1cˆ‹‹£nݺüôÓOôïߟ^½zé|NÕǘ˜˜bcUm”••¥±9Pä³Tu¡Š966¶Èã—.]Ðy—_mÚŒ/òø“Êõ&VŸKÛøK:–qqq;4«ÊAˆ…M©n«B!„Ð7Õ†ª%U®Éª‹‹ žžž$%%1`À^zé%ãJ¥’?þøCcÝé²eËøñÇyë­·˜5k¾¾¾ >œcÇŽáææ¦Ó9 ñôôäðáÃ,]ºT½A“ÊÁƒiÓ¦ …B½IÒ¶mÛ;v¬ºÎ®]»8xð`¡¾©^›«‰µkצV­ZB+äʪПŽ;Ò¸qc|||066æÈ‘#êMŽ&Nœ¨çè„B!„¢h’¬Vr-Z´`ïÞ½üõ×_ê2SSSfÏž­±C°B!„B×<Ÿ9ç{ F£ÑˆˆˆˆˆˆˆˆHÞ,´³u"""""""rQ1ADDDDDDD¬¢b‚ˆˆˆˆˆˆˆXEÅ±ŠŠ """""""bDDDDDDDÄ**&ˆˆˆˆˆˆˆˆUTL«¨˜ """""""Vq°u"""÷³£Gòú믛ß÷ÝwT­ZÕêöü£(¸›Øbcc™={6þù'/^Äh4Ò¤IÜÝÝYµj5â‹/¾¸'±‹ˆˆHþ©˜ ""r.]ºDhh¨ùýÅ‹óÕžŸcùíĉøùùqöìY‹v777Ê—/oÓÁAÿT)Šô_h)t3fÌ0¼¼¼øÏþC™2e([¶,Ó¦M³qt"""r'*&ˆˆˆÜ•+WfÆ æ÷ws[BAŽUÐòÛÁƒͯ[µjE—.]Ìï‡Î?þñÊ”)S@‘ŠˆˆHAR1ADDä8uêcÇŽ5¿Ïm-Ç3cÆ }wwwªU«F‹- ÄÑÑÑâX©©©,\¸ððp(^¼8<ò½zõ¢råÊæ~yךy¬_¿žO>ù„?þøÃ¢- Çþ9­™’’ÂüùóÙ¾};ÉÉÉ+VŒêÕ«Ó¾}{1 ·=¾ˆˆˆ DDDî¼®%°yófFŒAjjª¹íçŸfàÀLŸ>=×±vìØAëÖ­-öÍðùçŸãããñcÇÌmk×®åõ×_'99Ù¢oPPãÇgÇŽ<þøãVkíš ÉÉÉý’’’HJJʱÖ5‚‚‚xë­·8þ|¶¾Ó¦M£U«V,Z´HW4ˆˆˆÜcz4¤ˆˆˆ >œ#F°lÙ2‹§"̘1ƒÅ‹çºï_|a>áïÑ£+W®dÉ’%|ñÅ´mÛ–3gΘûîÛ·^xÁ\HðõõeÆŒ¬\¹’©S§Ò AóXÖŒk­V­Z±aÃüýýÍmÏ=÷6l0ÿyþùçsÜ722’=z˜ Ï?ÿú€N:qðàA¶oßÀÌ™3y饗n»oæ+Ú·ooqkÄ!C,®@øüóϹzõ*¥K—fûöíxzzZÄqùòe«Çµ–§§'žžžæ“€òåË[ÜæðóÏ?ç¸ï¤I“¸~ý:UªTaÙ²eæ+<==éÖ­`º#22??¿|Ç)"""¹Ó• """6ôì³ÏZ¼oݺµùuddd®û¶iÓÆüúµ×^ÃÝÝ'Ÿ|’7Þxƒo¾ù'''óö­[·š_·oßÞ¢`0pqq±zÜ´mÛ6óëÖ­[[Ü‘9æ¬}EDD¤à©˜ ""bC%J”¸íûŒ+ngРAŒ3oooΜ9ÃŽ;øñÇéÓ§uêÔ1¯my-ƒÒ¥Kظ…éÒ¥Kæ×Y?7WWWìììrì+"""OÅŠŽŽ¾í{Ÿ\÷5 Œ;–„„bcc fÆŒøúú¦… ¿þúksÀîÝ» lÜÜôîÝ›€€˜3gÎûßI•*U̯>l±íÈ‘#¤§§çØWDDD žŠ """64eÊ.\¸ÀX°`y[æµ r2wî\,XÀ•+Wðõõ¥uëÖ 0€æÍ››û$&&¦…3lÙ²…)S¦`4Ím‹/æÀV››ˆˆBCC åÈ‘#wì'/¿ü²ùõÚµk  --qãÆ™·•*U*Ûm"""R°´£ˆˆˆ 9::R¥JªV­Ê_ýe^$ÑÃÃ?ü0×}·nÝÊܹsqtt¤bÅŠx{{“œœLLLŒ¹O»ví0`+W®dýúõ :”‰'R¹reŽ9BJJ ›7o¶zÜÂ4pà@–.]Jxx8iiiP¿~}Nž}0=²N:æm4ßFQ¦L4hcl‡æÔ©S899Q­Z5‹ÇMŠˆˆÈ=µPűÆBÝæ """""""VQ1ADDDDDDD¬¢b‚ˆˆˆˆˆˆˆXEÅ±ŠŠ """""""bDDDDDDDÄ**&ˆˆˆˆˆˆˆˆUTL«¨˜ """""""VQ1ADDDDDDD¬¢b‚ˆˆˆˆˆˆˆXEÅ±ŠŠ """""""bDDDDDDDÄ*w³óÖ­[9vìXAÅ""r_©T©Mš4±u"""""… S¦LaÑ¢E‹ˆÈ}¥k×®,\¸ÐÖaˆˆˆˆˆº»*&€þ1-"§nݺÙ:›Ñš """""""bDDDDDDDÄ**&ˆˆˆˆˆˆˆˆUTL«ÜõŒòð;v¬ùõSO=EÛ¶mmLréÒ%&Nœh~ÿæ›oâëëk»€DDDDDDî1$ÏÆg~=xð`nºté’Åg b‚ˆˆˆˆˆ<Ðt›ƒˆˆˆˆˆˆˆXEűŠns{nÿþýlݺ•¤¤$Š+F½zõxæ™g(V¬XŽýÏž=ËŠ+8qâ¾¾¾têÔ àŽëäõ8§NbÆŒæ÷ýû÷§lÙ²¬^½š¨¨(¼½½yæ™gðññÉsl""""""䞉¥W¯^lذ!Û6oooæÌ™C‡,ÚCBBèÞ½;)))涪U«òÓO?Ýv]ksêÔ)‹±š7o·~ÈÎ;Ím®®®üüóÏtîÜÙ"¶—_~™Ó§Og‹MDDDDDäa¢ÛäžHNN¦E‹æüZµj1dȺw‰‰tîÜ™ó>ñññtéÒÅ\H¨T©ƒ ¢~ýú¼üòËvœ¬Þxã Š/ÎàÁƒ©P¡/^¤_¿~\¹rÅ"¶ŒBB•*UÿüsŽ?@íÚµ‰ŒŒÄÅÅ€úõëóñÇ“––Æ!CØ»w/Ó¦MãÂ… €éÊ€íÛ·ãíí À€˜5kV'«F±téR =zô I“&$%%qèÐ!{ì1‹ØJ”(ÁÎ;)W®ï¿ÿ>Ó¦M»ûMDDDDDä>¡b‚ÜkÖ¬1¿.S¦ŒÅzñññæ×üñ T¨PÐÐPs{»víÌ…€·ß~;ÇbB~Ž“UŸ>}0 Ô¬YÓbÛñãÇyì±Ç²Å–QHÓ• *&ˆˆˆˆˆÈÃDŹ'N:e~½mÛ6¶mÛvÛ¾'ù™×"È\H(_¾|'«Ì -:99YlKOO°ˆÍËËË¢§§çm)"""""ò R1Aî Nž< @³fÍhݺõmûf ÜÝ݉‹‹Lk!dö÷ߨq²²··7¿Î¸B!«Ì±%%%YlË«ˆˆˆˆˆÈƒNŹ'ž{î9öïߘ~Õ6lnnn}øóÏ?ÍW ÀÚµk9}ú4îîîÌ›7¯ÀŽ“-Z´0ǶfÍNžû¬¹oÆÚù9N~øúú²xñbzôèÁ™3gˆ7Çö믿Ҽyó»_DDDDDä~¢b‚äÙ˜1cîØÇÃÃÃüºZµj„„„pèÐ!¶nÝJBBÅŠ£bÅŠÔªU‹† fÛ?00˜˜–/_Ή'ðõõå…^`ÇŽý*V¬˜ïãxxxXÌ%óŠNNNÛjÕªe~ݦMbbbX±b…ElY?__ß;~N""""""÷3ƒÑh4æwçnݺ°pá Hn[·n¥~ýú”,YÒÜvíÚ5:vìȺuë¨[·.QQQ¶ QÐß""""òP[¨+¤H™={6AAA´jÕŠ5jpáÂBBBˆ‰‰LO^˜:uª£y¸©˜ EJ³fÍX±bË–-˶­F̘1ã®R‘»§b‚)½{÷æÿø6l ::šÔÔTÊ–-KÆ iܸ1ƒÁÖ!Šˆˆˆˆˆ<ôTL"ÇÙÙ™víÚÙ: ¹ ;[ """""""÷DDDDDDDÄ**&ˆˆˆˆˆˆˆˆUTL«¨˜ """""""VQ1ADDDDDDD¬¢b‚ˆˆˆˆˆˆˆXÅánvÞ¶mÇÇ`0T<""÷ [‡ """"bwUL¨Y³&Å‹§}ûöH¾L:•† Ò²eK[‡"‰U«V©˜ """"­»*&”-[–²eËòå—_T<"ù2uêTZ¶l©\”Bsüøq[‡ """"b3Z3ADDDDDDD¬¢b‚ˆˆˆˆˆˆˆXEÅ±ŠŠ """""""bDDDDDDDÄ**&1¿þú+ìÙ³'_ûÏ™3‡€€¢££ 82‘›~ý Ÿ9Êœ9¦ý•£"""""÷-Š˜cÇŽÊÙ³góµÿ‘#G %55µ€#¹éØ1 …|æ(GŽ˜öWŽŠˆˆˆˆÜ·l€XêÞ½;7æñÇ·u("9ëÞ7åè=•””¤¢ ˆˆˆˆÜ3^^^¸¹¹å{Š˜J•*Q©R%[‡!r{•*™þˆˆˆˆˆÈC롹Í!óZû÷ïgàÀ´mÛ–7Þxƒ 6dëÿÿ÷pîܹÛnËü«aæñ÷ìÙC¿~ýh×®ƒ "..ÎÜoÉ’%ôìÙ“¶mÛòÑGeÿvk&¤¥¥ñË/¿ðÚk¯Ñ¦MzôèÁœ9s¸råÊmç¼{÷núöíKÛ¶myûí· ËÖÇh4òÛo¿Ñ§OÚ·oO=øä“OHHH¸í¸’Åɓж-tí —/[n;v ž}þñ¸q#÷q2¯%°? h÷7 ‡åÿþÏÔ?‡5oËüËvæñ÷ì~ý ];42å(K–@Ïž¦côQöño·fBZüò ¼ö´i=z˜Ž™K޲{7ôík:ÖÛoC9ŠÑ¿ý}ú@ûö¦q?ù”£"""""6óÐ\™±–ÀÊ•+ùç?ÿÉ¥K—ÌÛ~úé'~ýõWºuëfnÛ¿?¡¡¡\¿~=ÛXÛnd:9Ì?((ˆ>úˆk×®°fÍ,X@DD“&M⫯¾2ï³víZBBBزe‹¹-§5.^¼HÛ¶m³~ýõWf̘App0žžžÛV¯^ÍØ±cÍq|÷ÝwLŸ>šÛzõêÅwß}—mŽŸ}öQQQT«V-‡OS,”+/½d:Ù-YæÍ3µ_»ݺAd$lÜwø¿[ÆZ+WÂ?ÿ ™r”Ÿ~2ÄgÊQöï7õÏ!GÍÛ202Æ 2 2rcÍX°""`Ò$È”£¬] !!)Gs\3áâESA k1à×_aÆ †,9ÊêÕ0vì­8¾û¦O7R2ôêejÏê³Ï * ”£"""""…2!ÃÈ‘#iÛ¶-óçÏgùòåôîÝ£Ñȇ~X ãôÑG¼ôÒK,X°€Å‹HRR]ºtáÛo¿eôèÑ,_¾œyóæQ¥J¶nÝʪU«rsôèÑ„……Q®\9&OžÌªU«˜9s&U«Veß¾}ôë×/Û>cÆŒá¹çžcþüùѧO |ð %%…ï¿ÿžÒ¥K3aÂV­ZÅâÅ‹7nåÊ•³(¸È¼ó¼õ–é¤÷ÛoMm|Û·›NЛ6ÍûX#GšNÌçχåË¡woÓ¯ó”£|ô‘©ø±`,^ ”]º˜b=ÚtÜyó Jغm*$”+“'›úÏœ U«Â¾}¦« ²3ž{Î4Ï  S1Æ`0}n7s””øþ{(]&L0»x1Œg:–rTDDDDÄ&š+2¼öÚk|›q²tìØ‘Ã‡Jrrr¶_ø­õÖ[oñõ×_›ß·iÓooo"""X¸p!]»v5oóöö¦]»vlÛ¶öíÛç8Þ7˜7oÎÎ΄……Q«V-ó¶îÝ»S§N–.]JRR^^^æm:t ((Èü¾K—.x{{3nÜ8¾ÿþ{Æ££#F£‘×^{#F˜û¾øâ‹Œ9’ôôô»ú,:3gš.Ûï=ˆ…Y³àå—að`ëÆyíµ[ €ŽáðaÓÕÉÉÙá·Ö[oA¦¥Mðö6]™°p¡év ÞÞ¦[!¶m3Ýb“7L…ggSA!SŽÒ½;Ô©K—š ™r”LE„ ]º˜Ž7nœ©€0~<8:š )¯½™r”_4]”£"""""6ñÐ]™Ð³gÏlm~~~€é—ú»Õ½{w‹÷nnnT«V ''':wîl±­Aƒ?~ü¶ã9r„ÔÔTžyæ‹B@Ù²eéÚµ+F£‘?þøÃbÛÛo¿m¬Œ¶Œ¾%K–dРAÌ›7aƱråJŽ= @±bÅ(^¼x^¦,ЇE‹L'ÕŸ}f:‰ž;×úqrÈQnæ(£dÉQÜÜL· 89A–åfŽ’KŽräˆim†gž±,$”-k*N%GÉ!GÍm}K–4­é0o fºäfŽR¬˜é3‘B÷ÐÜÝݳµ999¦Eó"·~eÊ”ÉÖæèèH‰%pÈrϼ££#@Žë2dÈX`1§¸3·g]ˆ±téÒ·í{9Ó"Ó¦Mã·ß~#-- &ðè£RµjU&OžŒÑh¼m\rŽŽ`ooz]¹2¸ºZ?FNßõÍ%9šk¿rGG(Q"ûº7s4Çu2däÞmrÔÜžu!ÆrÔÜ7óB–Ó¦™`LK3Ýêð裦Û'&O6)DDDDD¤Ð=t·9äUÆÉøÉ“'ñðð°ØöçŸZÞÞÞìÚµ‹ôôtìì,ë?;wî B… í‘‘‘4kÖÌ¢-""€Š+Z´·hÑ‚-Z¦BÉO?ýÄ[o½…““ƒ *¸É<è®]3ý þ¼é2ü  øôSÓ÷BÆÉøÉ“%G)Äåf޲k—鶃,9ÊÍ%KŽ Yr”›9J–¥E Ó0~úÉt»†““éÊ)TÝ• yU½zu¦Nj^;àÆ|üñÇ…ZL(W®~~~8p€Q£F™¯b0|õÕWüþûï”/_Þ|ËD†O?ýÔ\<ˆ7Ú´iÀÁƒ™4i'Ož4÷³··§råÊ„††ÞÓ¹=pÞßtâ}Úü´‡'Ÿ|²ÐæxßûåøÏLëd<Öðÿ3d÷ìiúÞǧ`ùÊ+¦GHΙcZKÀÇbbLë4h…˜£Lœh*LšdZ'¢zuÓÚ7s”‰³ßBáãO> 5kšÖ?8pÀtuÇãßZ×áÌÓ‹£F™úW¬§OßzÚƒrô®\»fàða'RRì¹xQµe[2Œ”,™N¥J7ðñ¹ŽÁ`ëˆr§bÂm”/_ž¹sçòî»ï’@BB^^^1þüB-&´nÝš+V0xð`¢££9}ú4`ºµa„ üãÿȶϴiÓøòË/Y²d‰Å8?ÿü³yˆ:uê0bÄ~øáŽ=j^|ÑÃÃþýû3tèÐB˜Ý௿ o_Ó‚‹™ŸÂP¾<üú+´jezªChè­5 Bùò¦÷wß…„Ó//Óíóçn1¡ukX±ÂôäŠèhÓ ?˜nm˜0rÈQ¦Mƒ/¿„L9JëÖðóÏ·Öˆ¨SÇTLøáSq"cñEèß”£V;wÎŽ%KJ°n+»v9“–VÄÿ+%"""ò*U*æÍ/Ñ©S*-[^4/ËV”Œw±Ê^·nÝX¸pat¯9r„£GÒ¸qcÜÜÜrÜæïïk–ó®\¹Â¾}ûppp ~ýú899±ÿ~’’’hÖ¬™ùЀܯߵkW®\áé§Ÿ¶h¿~ý:áááxyyQ·n]þýïóñÇNÓ¦M³Í#::š¤¤$ÜÝÝ©S§†,媬qœ8q‚£GR±bEóí YFŽ;FBBT©Rż8äýÂ`0ðþûïóå—_þÁ2Èת•}]0ÔŸ9cºZ §Å39b:YnÜØô„…œ¶ùûg_ÔñÊØ·ÏôËýú¦ñýûMW4kvëŠ€ÜÆßµË4N–åúu7)næ(ÿþ·éVŠðpÈ!G‰Ž6ÛÝÝT ÈZRÍlj¦÷+Þº}!+£Ž3}ÎP¥JÁfòá^ÿý—””Djjjwù²o¾)Ã7ß”ÆÎÎȳÏ^¤E‹KÔ¯•òåÓpuÕc6EDDDl)=γ'>Þ‘Ý» qaûöâT®|Ñ£ShÝúbÏËË+Û¹«>4Å„ûE§NX±b111T«VÍÖáÜ7lZLxØtêdº !&ÆôHɇÔýTLX·Î•O?õàüy; 8CÏžçU<¹ÄÇ;2mš;+V¸ñôÓ—7îUªäò¤5+Üm1A7ÉS¦L¡V­Z¬X±‚ªU«RµjU[‡$biÊÓÕ+V˜ͨ-òŒF˜<ÙÊÓ´ée‚ƒòÎ;gUH¹OT©r)S’øïO’bÏ‹/ú°eKq[‡èiEÆ¡C‡8|ø0^^^üøãÙn_±¹C‡àðaÓ-?þ˜ýö)R®\1ðÞ{å™;·4&$óùçÉxx¤Ù:,ɇƯ°hÑ Z´¸ÄÛo{óë¯%m’`,*† €¨]»¶yD‘"eÈ0j×¾µ@¢Iéé0l˜Û¶çÇð÷¿bëDDDDä.+fdÊ”$ªVuç_ÿ*‡‹K:;Ü[ÖR1¡ˆ¨U«–­CÉrô¾1eŠ;ÁÁ.|ÿ}¢ """"ƒ :MjªQ£<ññ¹Aƶù÷žnsy€¬]ëÊìÙeøì³“<õÔe[‡#""""÷À¨Q)<ýô%Þ}·{gçtBB\yõÕs…v\=RF£ÑÖ!ˆØÄÕ«"#éÑ#ÙÖ¡ˆˆäIõêÕ‰ŽŽ¶u9*ʱ‰ˆäÄÑÑH“&—ÙºµøýSL¨U«µjÕbáÂ…H¾ úöíË—_~iëPä!Ñ­[7[‡`ãÄê׿fëPDDò$&&†çž{Îüþ·ß~£V­ZCv‘H IDATüþûïüòË/ìß¿Ÿ³gÏRºti*UªÄO—ñƒœÁ`Û8DDî–³³³ùuRRñññT©R…úõëS¿~}úöíkÞþóÏ?›_W©R…¯¾úÊ\<¨[·.uëÖÍ׸""÷#ƒáÖ¿ ‹ )""""EÂK/½„áfeô»ï¾£C‡<öØc´hÑ‚!C†aî{èÐ!óë'Ÿ|Ò\H¸ÛqED$oTL‘"á™gžáǤC‡T¬X;;;ŒF# ,_¾œW_}•ÈÈÈlûîpiV~Ç‘ÛS1áÙ²e cÇŽ%..Î֡ܵi.‹-1[»|,q)q¶å®=Hs‘;kÒ¤ S§N%44”¨¨(V¯^¿¿?iii¬Zµ Àâ Û¶mãÆÜ¡Íë¸""’7*&Ü#[¶laܸq÷Í ø¦M›;v,GͶí~›‹À–è-Œ[1ޏSq¶%O6ÚÄØåc9z:‡ü»Ïæ"""ù7aÂÆŒÖ-[8qâF£‘%JX\yQ4xõÕWÍmñññ <˜˜˜._¾ÌÁƒ7n{÷îµz\É-Àx4mÚ”1cÆàëëkëPòdÓ¦MŒ7ŽÀÀ@*W®l±í~›‹@ÓMÓq ¾¾¶%O6Þĸã¬He÷,ùwŸÍEDDòïìÙ³,\¸_~ù%ÇíŽŽŽ¼ôÒK€éé  `Ö¬YFÖ®]ËÚµk-ú·oßÞêqED$oTL¸Gš6mJÓ¦MmFxæò°hZ½)M«?ßÙƒ4É݇~ˆ¿¿?ëÖ­#::š¿ÿþ›ôôt<==iÔ¨½{÷¶xJÃ|@Ë–-™?>$''ãââB­Zµxå•Whذa¾Æ‘;+2Å„ÈÈHBCC14oÞ–.]Êž={1b...ýÏž=˺uëˆÅÑÑ‘ÆÓ¢E ‹>ÁÁÁ„……ѯ_?Ê”)Ê+ˆŽŽÆËË‹^xww÷c±vìÒ¥K³jÕ*:D£FhÓ¦ [¶laݺu¼ùæ›Ù~Ñ?þ<ÁÁÁÄÄÄàâ₟ŸMš4ÉógOpp0III¸»»@:un_É’%Y¶lñññT¨PN:Qºtisßü‘õë×0oÞ<‚ƒƒðõõåÍ7ßÌu.ÖÆbÍ÷P˜"Fz0#Fš×lŽ¿¯?Kw/eϱ=Œh;§,ùwé,ë¢Ö{*G{GWiL‹ZYrd0a‡Ãèײe\˰bï ¢“£ñ*éÅ ¿€»ëmòÏʱK»”fÕ¾Uúûª4¢Mý6l‰Ùº¿ÖñæÓoâ[Ö×bßó—ϼ?˜˜“1¸8¹àWÙ&Õ­È¿”x‚÷“t> wWwjP§|–ïÇ'>>ÞÜßÃÃ%K–ЬY3ÀTLذa`z\R†–-[š‹ 9ÍÅÚX¬ù Kº1~?õã›ÍYò^Må‡-?0°Õ@‹b¼°y|°àÎ_Î’#5›Ô?·›9Ì„5ð«âÇÈE#9ðw¦y»•%dH *eÉ?+Ç~¤â#ŒX4‚ØS7óïÙ!¦bÂÍujXœ€Ï ›ËÐC9w9KþÕhFèˆPì wÈ¿%£™¸f"iéY¾óf½˜õê,í-â«_¡>à '>%Sþ¹y°dÀšÕ¸™[dÛùž)ÿjµ4n3kc±æ{‘ÜÙ¼˜0uêT¾ùæìííéܹ3ÕªUãàÁƒÌš5‹råÊeë¿lÙ2zõê…ƒƒíÛ·§nݺ\½z•ßÿÍ›7óÆod[·oß¾888ЧOÜÜÜX³f QQQ 8Í›7ßÕØýû÷ÇÉɉ޽{S±bÅ\¯0X¸p!½{÷ÀßßìííÙµkaaa¤§§çZL˜9s&ãÇÇ`0СCêÖ­K\\K—.åÛo¿ÅÃÃñãÇ[ì3`ÀœœœèÓ§ÎÎÎE—.]8pàeË–åõ×_'== 6ðÖ[o™×LÈm„üÄ’×ï¡0M žÊ7›¿ÁÞΞÎw¦Z¹jüû ³6΢œ[ù·g½~è…ƒíkO]ïº\½~•ߣ~góáͼ1ï V Ê’?õÅÁÎ>-úàVÌ5­!*!Šó²yäæ»»ÿ/ýq²w¢wóÞT,]1×+ F,¤÷7óÏ×_ìíìÙ¿‹°è0Òé¹fn˜Éøßn~çu ®w]âRâXº{)ßnþ7Æ¿˜%ÿæÀÉÞ‰>-úàìèLðþ`¢¢è2³ þ}€²ney½Éë¤ÓÙp`o=ý–yÍ„ÜÖHÈO,yýDDDDDäÎl^Løâ‹/°³³#88˜€€sû²eËèܹs¶þ£GÆÅÅ…M›6ѨQ#s»Ñh¤k×®qàÀ‹Kí«W¯Îï¿ÿNñâÅ?~<=öáááœ?ž’%Kæ{lBCC)Q¢ÄçúÏþ0ˆ÷ïßßb[XXööö¹îÿù矰xñbºtébnß¾};Í›7gÚ´iüë_ÿÂÕÕÕ¼ÍÛۛ͛7›çxãÆ ºwïNPPßÿ=C‡åõ×_çèÑ£lذ·ß~Û|ÅBAÇ’×ï¡0}±î ì v & v€¹}Ùžetž™Cþ-‹“ ›Fl¢Q•,9òuW‚"ƒ8ð÷‹Kí«—«ÎïC~§¸ãÍyßÏcã#<&œó—ÏS²xÉ|íSƇÐá¡”pÎCþ-¹™¯Î¤@–ü‹ÃÞp‡ü[}ó;w1]fúÎc·Ó|Bs¦Oã_íÿ…k±LùWÊ›Í#6›çx#ýÝgw'(2ˆï·|ÏÐ6Cy½Éë=}” 6ðv³·ÍW,t,yýDDDDDäÎlZLˆ'!!6mÚX^xáüýýÙ¹s§¹-11‘¨¨(ªW¯ÎêÕ«Y½z5F££Ñ`þU?""Ââ„äÈ‘æX'''9x𠉉‰”,Y2ßc>ù„   ÂÃÃ:tèc/ÈXîô=¦ø”xÎ&Ц~‹BÀ ¿€¿¯?;ã2åß¹D¢¢¨^®:«ÿ\Íê?³äÈÍ_õ#â",NøG¶i>prp"°n ÿ>Hâ¹DJ/™ï±‡?7Êñ3ÇyºÆÓ'ïOV}’n»1û|"FÒ¼f¦ï¼íH‹“t;>yá‚"ƒgh›|äß]Är§ïADDDDDòƦń3gη¿œÞ×××¢˜pòäIbbbøè£n;nÖõ*Uª”­››ׯ_¿«±kÖ¬yÛ¾™¥¤¤P»ví<õÏ*㳪V­ZŽÛ«W¯ÀéÓ§-Ú«V­š­oF[Ƙ…K^¾‡ÂtæÒÍü˲¨___‹bÂÉ 7säd -Í%G²¬GPÉ=‡y»9ï´ëw5vMÏ<æ_êÍü+ŸÏü»xó;/w›ï¼ÜÍïüb–üóÈ!ÿn¶e|þ…K^¾É›Ê”)@\\\ŽÛ³¶gô¯W¯ݺu»í¸þþþùŽÅÚ±òö–-[€ƒZ[æøŽ9’ãö˜˜€lOFˆÍ¶ŽCÆb‘cV,EM—›ù——ãö¸S–íýëU¨G·F¹äˆo>ò/Ÿc;Øç1ÿÜnæßßùÌ?×›ßùÉÛ|ç'o~çYžŒ{*6Û:‹Ef̹°b‘‚cÓbB•*U¨P¡ÁÁÁlÚ´Éâñ‹+W®´¸*L¿l׬Y“ÄÄDºvíÊ#þøcž~úis?ggg ûÕKQS¥l*”®@pT0›m²xüâÊ?VZ\•¦_¶kzÖ$ñl"]u告9äHÔ:‹õòê^Ž ¦µjzÖdgÜNælšCŸYò/:œ¦ÕsÉ?÷Êø”ñ!<:œå{—Ó©A¦ï<.‚E»Qܱ8~•³äßš tlÐÑ|+Æô|¼ìfþÕÈ”7óïbò/Ÿ±ˆˆˆˆˆHÁ±ùŒ|ðǧuëÖtîÜ™ªU«røða–/_ާ§'ÉÉÉ'8'NäÅ_ÄÏÏV­ZQ§Nœ‰‹‹cÇŽÄÆÆrùòå;.f˜“{96À§Ÿ~J÷îÝéÛ·/sçÎ5?Í!""‚-[¶pýúõ\¯t5j¤sçÎtèÐ:uêÏ’%K¸~ý:#GŽ´XðLëLÔ­[—:P¬X1BBBøë¯¿ðððàÍ7ß4÷«Q£C‡%,, |}}-úÜm,EÑ0|ÑpZњΠ;SÕ£*‡“³|Ïrû:†\ò¯Ý(ÎHç™éðXꔯC|JLy<~ü8“&MbÅŠ¬X±ƒÁ@¯^½ø÷¿ÿmŸ3f0lØ0fÏžmnóðð`É’%æ[/Ú¶mK½zõˆŠŠbÒ¤I´lÙò¶Å„üÄR}ðììÿ{?óÂæ±hW¦ü èOâ¹D–ì^bqRÚ¹ag~éý ïý÷=Öþµ–µeʃíi—ç[²º—c¼ÜøeN_<Íð…ÃÙ»ƒ±™ò¯fó\ 0à™?sœIk'±bï VìÍô7ëÅ¿;ç=g0lá0f‡fÊ?7– Xb¾õ í#m©W¡Q QLZ{3ÿjµ¼m1!?±ˆˆˆˆˆHÁ±y1ÁÞÞž¹sçÒ¿BCCÓ“ žxâ j×®‡‡‡ùü ¯¼ò ;w&$$„ƒ’žžŽ¯¯/O=õ”Å"8;;S¾|ùlÇÍØæééYàc4mÚ”1cÆd[\²_¿~ôèуµk×K©R¥ðóóãÉ'ŸÌÓç5~üxúöíKpp0III¸»»óÌ3ÏX wWwž©óŒÅ&2«åU‹¨O¢X¾g9ñ)ñT,S‘N :QÚ%Kþ9:³óŸ;YõÇ*¢“£¹zãª9öÛÍ%¯±äç{‘ÜŒϞˇŒ… .\xWAìܹ3Û†3fÌà½÷Þ£K—.ÝÕø£Q£F1aÂvïÞÍã?nëpî9ƒÁÀûï¿Ï—_~iõ¾;ãvf[ØpÆú¼÷ß÷èÒ° Aý•ÖµxÖL`÷Ç»y¼Òƒ™õ÷ßí$%%‘ššš§¾¿ýæÆ A^DGÇÜ“XDDDD¤hËÏ¿½¼¼ÌOס…6¿2 U«V<úè£4lØGGG"""àý÷ß·qtò k5¹ú‚ðè›ù¨üÉÍþsOÏb¼ôR[‡rפ¹ä$§ùemKK32sæAªUs£CŸ|k+E)‘]‘(&<ñĬ_¿ž­[·šÛŠ+ÆäÉ“-žð r/Zæ8y{æ’“œæ—µíÆt¾új?Þy.&¥Ï­(Å"""ò +Å„"""سg'Ož¤B… ´iÓooo[‡vߺӚrKÈÐ"â"Øsl'/œ¤Bé ´©ßïRÊ¿üºÓšòàèß¿žžÅlFxæ’W1ç¢ô¹¥XDDDtE¢˜Ð¸qc7nlë0Ú:ŒûFc߯4öUþ”ÀºÖUþ= Þ}·–­C(0Ò\òª æ\”>·¢‹ˆˆÈƒ®ÈDDäþs»{ÔÓÒŒlÙr’C‡Î“––Nõê%i֬ŊÙç8Οže÷îÓ¤¦ÞÀËË™–-½([¶˜Åx™ï剹@XX2×®¥Ó°¡;—ÍqÜ‹o’HBÂeÊ—/γÏz“–fäûïcxì±ÒܺzæNëäõ˜y™OQq§5öï?Ƕm'IO‡ÆËÒ A™<‘¡CçIM½Ž+þþe)WÎ9ÛþljŒLáÂ…ëT®ìFÓ¦å(]ÚÉêñ´f‚ˆˆHáQ1ADDò-§{Ô££/ðî»Ûˆµ|…——3Ó§?‰ŸŸ»¹íÔ©«|ðÁN¶n=iÑ·xqÆŒyŒ®]³ßËâÄ%&Oþ‹ÌÏ"zùå*|ö™ŸÅûö¡OŸmœ9Y²äh¶“ëÜ´o_1ßńۉŒqúôU&NlÄ‹/V6·íÝ[ƒ—_6Í¡ÿÚó˺/@PÐ3xyݺ áÚµtþúë¬ùýªUÇÙ¿ÿ5k–ä矛YÜrñâ Ž½hÕx"""R¸TL‘™ÀàÁuÍ…ÆÕcÍšìÚeêž €‹‹_}ãÍ{ŒF0”,éȾ}–—¶×«WÚâ¤0ߪœ|ëv†Ý»OðÞ{uÌ…0Ýnпmz÷ÞJ^åõ˜ù™ONºt©|Ç>÷𝝛E! Aƒ2<û¬7kÖ$pøðyêÔ)•ã¾mÚT`þüXæÍ;ÌË/ûR­Z pr²£aÃ[·¸lÛfºúbäÈúÙÖ“puu nÝRV'"""…뮊 )))?~œ>ø  âÉ·àà`墚½{÷âããcë0Šœsç®P¹²[¶m•*¹b0˜î©8}Úô¿¿þ—çñ½½‹gksq¹uõCÖ8*VtÉÖßÇÇ5Ïdzæ˜ù™ON sÍ„ÛññÉþ¹é;8þúm÷mÖÌ“ÿþ·?üC÷z5G1"^yÅ—âÅMÿôÈȃjÕJäK^Ç‘ÂuWÿ>|ø0ÇgêÔ©H¾ýùçŸüù矶C"—/_¶uEN©R¦“Ú£GS©TÉò„ôر‹˜WéÏèûê«U)[6çUþírlÏk'N\ÂÓÓrìãÇ/æk̼ónçSÖL8~<çbƱc¦Ï®dIÇ\÷÷÷/‹¿¿éiÉÉWرããÇïcÍšüï-°³3˜óàÈ‘ T®œ{'/㉈ˆHẫbÂSO=ÀÂ… $‘ü2 ¼ÿþû|ùå—¶Eݺu³uE’Ÿ_Y-Šgúôøù¹›5NK32eJ™N ›4ñ`áÂ8ÒÒŒ X;Û áÉ“WHLÌ_Á¦aCw/ŽgæÌƒ|ýõS88˜Æ¾z5-Û JAͧ(¬™—JPÐÑ,k&œá÷ß)YÒ‘š5KÞvßmÛNòè£epu5}÷žžÎtèàÃÆ³té1bcS©^½Mš”cáÂx&Mú‹ Ü- "k&Ô­[*Ï㉈ˆHáÒµ""R`:v¬ÈÌ™ˆˆH¡mÛ‹§9DG_ T)'zö¬ @ûö>|ÿ} ÿû_›7'Ó´©'eË:qþüuââRÙ±ã½zÕä±ÇrúAÎqø0mÚ~6nü›çŸ¹ù4‡t6mJâÒ¥4 ücvAͧ(¬™àî^Œ#v±jÕqjÕ*IB‚éiiiFÞz«Æm_˜=û»v¥ðÔSžT©âŠ££œcÓ¦$ìío]‘ðüó>Ì™s˜ÎñÌ3kiÕÊ›òå‹“p‰°°dzö¬Jݺ¥ò<žˆˆˆ.DD¤À/îÀܹMy÷ÝmÄÆ¦2~¬y›§§3Ó§?a¾íÀÞÞÀܹM9rë×ÿÍÂ…qcyy9竦ü¾þú)úôÙÊ‘#8räåÊ93zô£ ‹KÁþ'ð^Χ°ùù¹S½z fÏ>Dhh’¹ý…*Ñ¿í\÷mÒ¤{öœaýúD‹vWWþõ¯GÍ‹-:8˜7¯)ï¿¿“;N±|ù1s_77êÕ+eÕx"""R¸TL‘|ëß¿žž–'s5j”`Íš@ÂÓ9tè<ÿ|EvìH!=ÝH£FeyüñìŬcôéS‹×^«Æöí§ˆM x{;Ó¢Eyó•<=™?¿9ûöa÷îÓ\¾œFåÊ®4mZμ…5ãå4G¹7 ÆŒgWåCÆ=ÃZ3AlMk&Ha»×ÿ%%%‘ššš§¾¿ýæÆ A^DGÇÜ“XîWÑѨXÑÅâ•gÎ\£{÷M9r•+[Ýöñ†""""÷“üü{ÐËË 7·ì?šäÑB]™ ""¤ÿæë¯Ñ´i9||\IJºÌÆIœ;w&MÊ© """rTL‘RÍš%¹z5ß~;aÑþè£eøâ‹Æ6ŠJDDDäÁP¨Å7777nÌÆ ó°÷ă4—ü¸çïæ6ÆË³qcw[‡rפ¹äÇÃ>É›–-½oÇÖ­'9vì"öövÔ«WŠ'žð(ð'9ˆˆˆˆ=’ôôìOM =FÇŽKð𘉓ÓªVý†aÃ6rþüµLó»Á0™Î—’˜x‘W^Y‰»û \]§¸€½{Of7=ÝȤI;©Uk.ÅŠ}Iõêß0yòNbcÏa0LfàÀ\ç’Ÿcæu>w’—Ï/s|±±çèÒe)¥KO§D‰i´k·Ø"¾°° “IK3rƒa²ùÏÆÇrœ~c±æ³‘[l¾fÂðáÙ;t¨‡Z=ssAAõQ«Çiÿz˜,CûJ!„BQ\•N&DFFðñÇ3jÔ(\]]qrrbÈ!|óÍ7DDÝÊüóÏ?“——ÇÂ… 6l®®®XYYѬY3V¬X««k±“UgggÖ­[G@@¶¶¶x{{kOм•~ÕªUL›6¡C‡R«V-\\\ ãÃ?TÔ&C·iL{ÊÓvvv¬]»–¶mÛR½zu|}}Y±b¾¾¾ÄÆÆ’ž®ìJxyb1´¯*Jdäé?c~šQ£ZãêZ''k† iÊ7ßtý3æD~þùyy…,\ØaÞÀÕµ:VVæ4kV‹+zâêZ½ØÉª³³ ëÖ½H@€+¶¶–x{;2o^—?Û—¡-·jÕ¦MëÄС-¨UË[ÂÂüøðçµÉÐmÓžòôŸ†%k×¾HÛ¶nT¯n‰¯¯+VôÄ××‰ØØK¤§ßQÔÞòÄbh_ !„B!Š«ÒÉ„¤¤¢“•ž={[§Y¦)süøq „……æææ˜››cff†……W®\!55U§ìííu–yzzpëÖ-í²³gÏн{÷bqè[VC·iL{¦¤ÿ4ZµjE:ut–YZZ¤·¼¡Œ‰Åоª(II7þŒ¯q±u={zþY& €ãǯ0hÐoXX|‰¹yÑ?3³YXX|É•+·IMÕÍsáï}5ežžܺõWN‚³g‹¶Ñ½{Ãbqè[VC·iL{¦¤ÿ4ZµªC:ºîXZšÔ@§N¥Œ‰ÅоB!„BWå9T*U™e4 ü J,sÿ¾î €Mñgž5Ûz0OAiqè+WC·iL{JbHÿª¼u)ù¼ÒýSQ Y“À¯  ä¸îß×MjcSüÏK³-}Í3Í÷ϰmÓž’˜ðëg‚ïŸáe•îQ²ÄŒD¹uûù÷83•3vÌ ´M(=|zhËûï0<<ù°«²»¾„i%±Ó%Ç0C”w<û'+Oß™z?>¬¼Ç“ÇU•N&xyy°aÚ7o®³î÷ß×)ãëë ÀÖ­[éÚµ«IãhܸèjææÍ›yë­·tÖmݺդÛÒ0E{”ôŸÆ¡C‡ÈÈÈй;!//è袷húÀÌÌŒüüü ‹¥ªyy9°aÃ9š7×Möøûïçþ,St¥Ú×× €­[CèÚµIãhܸh›7'óÖ[­tÖmÝšbÒmi˜¢=JúOãС 22îèÜ—WHttQ;5}`f¦"?ß°³zcb¦‘t5‰¾Ëû’_ø×Xq#÷fÄ]ˆ£[“n:å÷_ØÏݼ»•¦øÓ£ÔÿÆRǮۓ¶sìÊ1žp{Bq]{Îïá)ÿcÄS#J]þyôç,_®3QÛº^k½uN;Ìà_s/ÿžÎò­§·²pïBæôžCWᅫßwòîw!®Ô8 mÛ½ü{¼ñšN}»’w±"a3^˜Aß}+µ%ýö ‡ûÿQùþ)Ý· ¼/é³}©û¹z$Y¹ÝI·#i‹ö.bÍkk žR«1}ñ8Qz 3DydzªðÊŠWhZ§)“ƒ&WiÆö]EìLJ•çxò8«ÒÉ„¦OŸÎ”)S°³³£_¿~T«VM›6ñÎ;ïðòË/ÊôéÓ2dÓ¦M£[·n¸¸¸pãÆ Îœ9CDDuëÖeÒ¤Ò¯ èóÒK/1sæL&Mš„/¼ð¬^½š©S§š´Í¦h’þÓÈÉÉ¡OŸ>Ì›7-ZššÊG}Dbb":tÀÅÅE[ÖÉɉãÇsöìY5j„™YÉOÅKU iÂôéû˜2åØÙU£_¿&T«fƦMçyç¢É•—_.šô mÎôéq ²iÓ:Ò­[C\\l¹qãgÎÜ ""‘ºuí˜4©â8^zÉ›™3ã˜4ivvÕxáO Y½:‰©S÷š´Í¦h’þÓÈÉÉ£OŸÕÌ›×…-œIM½ÅGÅ’˜xêáâò×$ƒ““5Ç_åìÙ,5ª‰™YÉ3ÔÆÄ"LcåÑ•äæ3´ÍPbin‰Om‡ÓÀÑ´“o¢|–¾¼;+»ªÐ¥sãΘ©ÌØ~v»Q?¾£ÏDckiËSõŸ*uyFNµ«×¦sãÎØXÚ°<~y‰uæÜÏÁÒÜ’žM{ÒÒ­%õjÖãúë„'„s8í0ã~Çηvbo]ô¸^DŽ֟<øË˜/9xé ý[ö7¨=_ïþš¸ q¸Öpet‡Ñ¸Õpã³ðÓÁŸ˜¼q2më·¥®}ÝJ«GI¿=èáþT¾J÷-(ïK¥}–š•ÊðÈáäæåòLÃgx±Å‹8Ww&éZ?ø™Û÷oÜ>%±Ó“Š8†•w<« q≻(Œí»Êø-RžãÉã¬J'üýý;v,_~ù%#GŽdäÈ‘:ëHß¾E³§ÞÞÞ,X°€°°0^ýu½õM˜`Ø­ƒk×®ÇgñâÅ„††ê¬0`XZ–þŠ<¥LÑ%ý§Ñ±cGΞ=K»vº'‰vvvÚD‰;wæ×_Õ¹£`ÇŽzßè`L,UÍßß…±cÛðå—ñŒ¹‘#·é¬8З¾}‹ÚîííÈ‚Ý ÛÂë¯oÖ[ß„ mŠ£];7†‚Å‹ú»Îº|‰ˆHÄÒÒ´éMLÑ%ý§Ñ±£;gÏfÑ®în;;Km¢DÎëó믉xy-Ö.Û±c€Þ7:‹0‹YÓi Õ«U×Y×®¾òÉ5Q±<ª:­cq²u¢UÝVDŸ‰æÝï*ªG­V³ãì:yvÂÒܲÔå}@íêµQ©Tl:µ©Ô­ê¶bßè}XYXé,ïÕ¬}—÷åTæ)â/ÆÓÅ«(q«­¥­Þï|VnÇÓãW×ogï2Û“_˜Ï/ ¿`nfΠq­¢;;yvB¥RñCüü’ð ãžW)õ€²~ÓÐ×ÿÊ÷Oé¾5¦/•öÙÌ3ÉÍË%Ä/„iÏMÓ.ïШ¯<ù ÷ó {ôUi¬JûâqSǰòŒgÿtÆö]Eÿ)ïñäqVå9fÍšEË–-™?>ÇŽ£  † ¦}U¡ÆðáÃñóócöìÙìܹ“ÌÌLj×®··7 `È!FDZpáB¼¼¼X´h.\ÀÝݰ°0Ú´iCDDŽŽŽåmj1¦h’þƒ¢» –-[Ƙ1cˆ‰‰¡°°gžy†éÓ§ãçç§SvΜ9äçç³}ûvnܸQæóûJcyÌšHË–µ™?ÿÇŽ]¥ @#Æ=Á¨Qº·* þ~~µ™=;ž;/’™y‡ÚµmñövdÀ† ift ãååÈ¢EG¸páîîv„…µ¢M""qt´.oS‹1E{”ôÝm°lÙ@ÆŒÙALÌ Õ<óL=¦O_m²sæt&?¿íÛS¹qãn™y ”Æ"Ê'þb<³cfsújÑ›4†GGEñ«†>§xóîMVYIÂ¥rîçàbçBwŸî:?`ó òxõ×Wiãцw;¼Ëÿ—]É»¸_pŸÖõZóꓯ»êYPXÀçþ 69–Ô©˜›™Ó¤vú=ÑFNôÖ=ú™Ñ„'„³7e/f*3ºzwå¥'^Š®DüxàG3±«fGˆ_Ï4|ƨöT}Ϭgädy$’Ó™§É¹—ƒ»ƒ;v «w×bWªnÞ½Éêc«9xñ ·îÝ¢¾c}ºyw£C£Šë{8–.^]˜3‹+·®àZÃUg»‘G"Y}tµÞïÓ±+ÇÈÈÉ(Ö·ú–×±ÓM@\š‡jXš[Ò¾a{NežBMÙb­9¾†{ù÷è÷D?ƒ¶{8í0Ùw³éب£öDPch›¡üÿ;Ïí,sÀTõ€²~ÓÐ×ÿ%åL8œv˜ÿþ/—²/áfïÆ¿Ô³¯Ç»kß%Ø'˜¡m†Æú(Ý·Æô¥’>˾›ÍÖÓ[±¶°fRçâw¤š«Ì±±,žgJ¥±šê{®aÈE9F4ãDAažµ>¬<ûÒØ¾*¯œý3œ¡¡Í m®wÝÃ\Y±¢ø+dmmZ­ÿÇYIëÌÌTL˜Ð¶ØÝï¼³€-tó<Üc¶ †µ§,JúŠò"¬[÷b™å\]«Ù[ïºòìKcûJèºqç†Îó¸û/ì×[Îç.%0bånäê¾ÍcÕÑU:Wé Õ…Ä]ˆÃÎÊŽ·¢Þb{ÒvmÙ?ÎþÁ–S[XºRçêôà_sàâz·'mgiÜR¾yñíƒë9œÝçwkËo9½…äëÉômÑ—!¿ áêí«Úu7°$d <;)nOiþýŽ]9Vf9Y½ft»úÃϬŸÎ<ÍË?¿LÎ=Ý1=ü`8/û½ÌžûvÙ‹x+ê-®ß¹þWÁ䢲;Odx»áŠê{8– ï fÅÌ"úL4Cüu'Ó/d](ñ¹×è¤hÌTf64h¹)½|+ +ž¬÷d™e#GbmaM¯f½ ª;éZÑ›üêú[çáàƒ箫´zŒ¥¯ÿõåLXyd%“7N¦PýWÒߨ£QŒí4–¸ q4©ÝD»Ü˜1@)}û¶¢ûòÈå#¨ èØ #óbçq8í0Õ«Uç©úOѯe?¬- »¨`ÊX•|ÏÁ°1`câFÞ_ÿ>yyÚb1çbø!þ>êú¯<ù `ÚqùaÆà ]éxfÈØiciƒ£#¿ú…×Ú¾FCdž:e×XÇîó»µc!uÞºwKÛÙw³uú$ûnÑ[½Œ9F—g)黊Þy<ù»«ò;‹/æêÕ«ôéÓ‡† ’––Æ?üÀüùó©Q£ÁÁÁU¢xŒ-^|”«WïЧ Ö$--‡~8Îüù Ô¨Qàà†U¢:Úx´!|p8³wÎæÀÅ,°\çüá´ÃÌücf™õäÜË!lUYw³èÛ¢/©i]“Ô¬T–ï_NäáHž®ÿ4½›ÿ5±´óÜNl˜ÐyÞÎÞ¤ç¤3Ï|ާç÷ÄßéÓ¼Ný}š÷!À#÷šîÜÍ¿ËÉô“,_Δ­SŠ]ÍÞyn'N¶N|ôžµ<9yš¯c¿fqÜb¶'mǽ¦;:OÀÁÚíg·³"asvÍÑþ2¦=ú$f&–™ÌïA¹y¹—}Я‡~%ç^éÛ¢/Ö\¼y‘ØäXnÝûë½Y¹Y¼¹êM²r³ðsó#Ä/7{7.ݼĖÓ[´e ­Oogo<<Øž´½ØÈ—ý^晆Ïè}î5úL4­ëµÆÉÖÉ ååq8‚ø‹ñ¼ßé}lJOìz(í§2OѧyjXÕ0¨þwŠ~°×¶«­w}»:œÎÞü1…êB^zâ%ºxu¡ °€‰™½sv‰ŸS2(QÒ¾­è¾¼rë nön„üÂÙkgµë6&nä—„_^æ÷Í”±*ùžƒácDzN:ãO^A=|zÐ÷–f–Äœ‹!òH$ŸmûŒ'ÝŸ¤™Ë_wG–w\Öǘc˜’Ø•Žg†Ž¯¶y•õ'Ö~0œ‚>Щ7ü`8N¶NÚÉCêô©íCøàp½ ›Öijô1º<ûKIßUô~Ô¨¨ãÉã@&þ”••ŤI“ô&<œ={6vvUŸ0H<¾²²î2iÒ.&MÚUlÝìÙ±³3mÎ!ÊËÑÆ‘võÛáhSôX€G€Î3·g/Éšãk¸vçãžGØÓa:ëž÷}žgç?KÔ±(*f¬²Bç1… ø×ŠqðÒA‰ðÁáìKÝG̹6ŸÚÌý‚û¨Õj¬,¬¸tóR±Û(-Ì,ˆøWE¹9žõ|–ܼ\¾Šý 3•¿þëW,ÌŠ½:sâÊ Ž^9J~a>fFµGŸI'‘}/Û > º+AM[fõœ¥sÂ0°Õ@íU)€ÕÇV“•›Ep“`æ¿4_§ŽÁ­k˜Z_I‚¼‚ø%á—b':î5Ýõ¾ïÊ­+œÌ8ÉøÀñ-/¯íIÛùdó't÷é^lÿêq8ÀàG ÔE¯Œ6W™ë]¯Yþ`ÖòЬdžöÿºãë¸_pŸ×^Ó91z¡é ü{ÿ‰:¥÷sJÆC•¶o+º/ïåCXsl öVö|ØõC95"õF*‹ö-âTæ)¦FOeVÏYeÖeŠX•~ÏÁð1bͱ5ÜÍ¿[ì.­î>Ýq«áƼØyDŽ`Jð_·ñ—w\Öǘc˜ÒØ•Œg†Ž­ê¶Â¯®«Ž®âýNïkë=xé 'ÒO0²ýHm; ©³†U ÚÕo‡J¥¢¦MÍbù~>ø³QÇèòî/Cû®2öcEO2™ð§7Þxƒ¬¬,Ö­[ǹsç077§uëÖŒ;–^½ »5Qc½ñFK²²î±n]çÎÝÄÜ\EëÖEI{õj\vBüMJ;½†lOÊícNjÔÚÿ~ð*½^ïÁ“€®E¢i®ÊAÑê1ëÆ°+¹ø$Æ­{·t&žp{BûH÷NÑ›@ºût/öô©KS_>Lú­têÕ¬gT{ôÑ÷ÌfEÔz«­fÄÊômÑ—®-ð©íƒ•…•NövÍ#šÛ”¦¹ênh}%éâÕ…åñˉMŽ5è™è3Eok ò 2hyyüvò7Æ­G¯.Ìë33Ué‰qo߿͆p¯éÎÓ ž6x;¶–¶ÚÏ—T/€m5[½ëM]1 íÿS™§iRl]HË'  UÖ¾­è¾Ôä-¸ŸŸŸ†þ„g-OíºÎ^龨;›71í¹iXš[2aÃ.d]ЩcfÏ™¸×t/w¬J¿ç†Ž‰‰ ôX¬Ì Öƒ˜;“é'u–—w\6¥±+Ï”Œ¯>ù*ﯟßNþ¦ýÛ ?Ž…™…ΕüòŽÇ`ü1º¼ûKé±@ ¥û±"Ž'™LøSÍš5™:uj…½ ²ªUd.Q~5kZ1uj¦NíPvá¿!ÉE Jrçþ_>\b™jÕtþ¿¦uÍbe4·5>øÜõúãëÙ•¼‹Ž ø—ÿ¿hàØ[K[T*?ø‘ͧ6õÕ­ùáSÚ:ÍU>cÚ£OEåLxX#§Fl{s뎯cÏù=,[JZvuàßÿÆË¹è-(wó‹žs×\ý)o}%i[¿-5¬jmØdBR4Åê-i¹±Â†3eë‚›3·Ïܯv>hý‰õÜÉ»Ãð'†+zåšf?ž¿q¾Øº{ù÷HËNÃÅÎ¥Ä+Ϧ®Ç†ö¿æ{¥ïÄFßß[iëô†0dßVt_jN :5Ô™H€¢+±>µ}8rùWo_ÅÍÞ#—pæêrš±§<±ó=×0tŒÐ\)Ö÷èDM뚨TªbW“Ë;.›ŠÒØ•ŒgJÆÎç›>ÏôÓùùÀÏ„´ áúëlLÜÈs¾Ïé$,ïx ¦;F+Ý_JJ(ݦ>žHóã盿Ñf¤Ö˜³sŽQu–ÅTí©¬œ Pôãé•'_Ñ&œÊÈÉ lU¡¿†²#lVV¸Õ(jWü…øbW„©¯$ftòìÄŽ¤ª K½*š›—ËÞ”½Åž©-i¹±¾Ýó-svÎá…¦/0»÷lƒO#G R©´Ì ÕÒ­%1gc((,ÀÜì¯ííJÞE~a>-붬´z”RÒÿuªøO?^,kûÑ+GMÛà ݷÝ—Í\šQͼ7roûÞ«Õjm²:ÍÝ3^˜Qìo^s%ØØXýžk:FhNv\>R,ÊÑ+GQ«Õ¸ÔpQ´íÊ¢4v%ã>vZ˜Y0¸õ`æîšË¡´CìMÙËý‚û jt¨Ñ{ѱ"Ñ¥QÚwJ(Ù¦>ž<ŽLûòz!„Bî>ÝX{|-nön´«ßNû¯GnäÞÐ&'SJsÕáàŃÚeù…ù|ûñã˼¦jϤΓnð?cs&,_ÎÞ”½:Ëm±³²##'C{u³«wWfü1ƒØäXò —Ørz‹¢úJÓÅ« ×î\ãÈå#¥–Ó¼ðá$š%-WJ­VóyôçÌÙ9‡>Íû0»—á'X'ÓOrôòQžnð´Þ\¥q³wÿž?iÙiÌÞ9[û?='éÛ§лYé97LYRJú¿£gÑÛ ¦oŸ®óÝHÌHdvLÉ ËKé¾­è¾´µ´%È;ˆëw®3+f–6ïAAa_íþŠ´ì4|jûh¯ê¶tk©3¶´«ßNû\¹ÒXËó=¡c„&ÉÞ|¡}ÌàÒÍK|²ù2cb7t_Òr€I;X´o×s‹^_·îÄ:.%ìÌÐ6CØ|z3Ëö/C¥R‘–Æ++^)VŸ¾w—Ã_‰û?Ñ¿Ô¶ÎØ1ƒÃi‡ù$ø|jûh—Oì2‘ÁáƒY¸w!k¯ÅÅÎ…ÄÌDîåߣ{›bÛ¬èz”ô[iýÿ°Î;Óº^k.%ÐcQr9û2—³/ФvírÍ3³jµÚàw—CѳãëN¬£†U ‚}J­tbFÑã,¿6Ó¿ž?ßõûŽ7LZvWn]ÁLeFwŸî|Þãób9*ºCû­¬þ˜¹™9‹ú/bü†ñìHÚÁéÌÓtlÔ‘qãè³Ì¸W<–Õ&cö­Ò¾Tò]hàØ€ŸýĤß'q2ã$××t烠½ß^I¬ÆôEIßCÆ•JÅÂ~ ùlÛg¬>ºZ›¼ÏLeFp“`>ëñÖÖ·ÕP%Ŭ„1±2žqcçÐ6C‰:E»:<çû\±õJê8ž°Ua¤e§‘– }ãCUÓ í;¥ ݦ<žT–¢ß•›#O¥.GV¾¢ ¢‘‘‘& Hc¨T*Þ{ï=æÌ©˜ç …xXEéééäääTvÏBC럌ƒƒ²äcåu:ó47roà óLcVn§2OÑÀ±Î³Ðû/ìÇÎÊ®X(ú1›’•Âõ;×q²u¢ž}=÷Eª Ùa?Ž6ŽÅÒšuN¶Nx;{ë¬ËÍË%ùz2*Tx9{ainIjV*—³/ÓÒ­%6–6¥Ö­iKC§†¸Øé>Ë{þÆyÒo¥ãWׯØÈ²ÚSJêÿ;ywH¹‘‚Z­ÆÍÞ­Ô$jê’®&q7ÿ.5=ô¾wÛúJû.,‰[´íÓøã­?p¯éÎÅ›¹tó’öû”p)ŸB˜Ýk¶Î+ÉJZ®‘‘“AòõäÛæRÃ…†Ž ¸zûj™oÞxøû EÙò]9†½•}™w˜$f$róîMš¹4Óf»Z­æìµ³äÜÏÁ½¦;ÎÕ«¤Cû­¬þ/mŸ§ç¤“v3 —.Ôµ¯ËÅ› \È¿üÿŧÁŸÆúÚdì¾ÃûRÉwía².y;k95R”ÀSi¬ÆôEYß7CÆ(ú[9wí…ÒÀ¡A±„x¦—KŠYé1ÌÐØTÖxö %cñ‰ôô^Ö›÷:¾Ç¨gF•XÎÐ:5û-ûn6…êBšÖiª“µ<Çhc£†ö]EìGSO*Kx¸=sæ8Þàϸ¸¸`gggì&#e2A<d2AT¶Gi2áÂK:w®ÏÊ•—hÕên…Ä#DeJ¾žL·ï»ñq· }2´ØúY1³X´oqïÄéd/i¹¨¦ì}“ Bü•5ž£ °€¡CÙ—º]#w;A\TDßêïx<ùüsg´fÕª‹¦¼“ åzÌaïÞ½\¼xÑèS!LiîܹÌ;·ªÃÿ îîÊ«Uw÷lÍoTîïÀrM&ÔªU‹ZµjÉ­å¢ÊM&< ¼\Õ¡ˆŒHjUþDy‰zõÊ!,Ì•”K4È«êp„¢\Ükº“41©ªÃâ‘Ò®~;ù»z­Ze½}!:Ý©Ôíš•]D!Ä£.0ð6õëç1ožþDWB!„âñsó¦K—ÖdÀ€l¬­+÷m2™ „ss˜<ùë×Û±ÿ£ñø…B!„¨X_}å„Jaa7*}Û2™ „‰  Ûtèp‡ÿû¿ZÜ»'‰q…B!gÇ[ñóÏöŒw5*÷õà “ BñXùôÓ«¤¥Y2qbŒñ¯B!„x”edXðæ›®<õÔ]úõË®’d2A!# äñõ×Wظ±:_-ù„B!7¹¹f¼ù¦+Õ««ùúë+˜UÑY½L&˜XDD:tȨÏÿý÷’”$™Z…Æiß>—)S®òõ׎üç?µ((¨êˆ„B!„)ddX0xp].]²`Ñ¢ËØÛWþã åz5¤(îÂ… ÄÄÄ•eÜ;>Ï;GLL 999&ŽLñO2`@6¶¶…LœX‡óç-™=;;»ª;Ø!„Bˆò9~ÜJ{GÂÊ•—¨_¿j_.w&˜Ø€رc­ZµªêP„ÿp½zåðóÏi9bMpp}¢¢jH!„Bˆ¿™›7Íøì3g^z©^^yDF^¬ò‰;LÎÃêC!hÝú.›6¥2gŽ“&Õ!<¼&¯¿žE·n·±´”™!„BˆGUf¦9«VÙ³tiMT*˜:õ*ýúeWYŽ„‡Éd‚‰EDD°`ÁæÎ«swBAA¿þú+›6m"=='''ºtéBhh(ÖÖÖzëJHHà»ï¾#%%…ºuë2lØ0:tèPYMB<& ™2å*ƒe3w®cƸ`m]ÈÓOçÒ¬Ù=ÜÜ ä!„Bˆ*VP7ošsþ¼ Ö9b½}!dv£J^ÿX™L01}9nß¾M=ˆÕ)Á7ß|ömÛ¨S§ŽÎº7òé§Ÿrÿþ}í²eË–ñõ×_3jÔ¨Šm„â±äë{Ÿï¾»Â•+DGWçÿ³aݺ\½jNNÎ#2Å-„Bñeföö…xxäѼù=FŒÈâÙgï`eõhÞM*“ •`òäÉÄÆÆR»vm&L˜@Ó¦M9þ<³fÍâèÑ£„……¥ó™O>ù„=z0hÐ ¬­­Ù´i‹-b̘1tëÖ Ÿ*jâïÎÕ5Ÿ!Cn2dÈͪE!„BüMÉdBËÏÏgéÒ¥X[[K“&M´ë €¯¯/kÖ¬!==íºž={êL0¼øâ‹¸¹¹1eÊ–/_δiÓ*µB!„B!„†Ü×ZÁÎ;GNN;wÖ™H¨U«ýû÷G­VsäÈuÆ +V—fÙÃe…B!„BˆÊ$“ ìîÝ»899é]¯Y®)§áààPbÙÜÜ\S†(„B!„B("“ ÌÍÍ €PXX<ûæþýû¨[·®Îòƒ+@½zõL¦B!„Ba0™L¨`µkׯßߟÄÄD&NœH^^jµš¯¾úŠ­[·âêꊟŸŸÎç¦Nª<HIIáwÞ 88¸ò „B!„BÍ™3gpqqáÇ,öø‚B(áààPÕ!!„BQ"IÀh"ï¿ÿ>GŽ!55•:Tu8B!„B!D…‘;L¤I“&U‚B!„BQ)äÎ!„B!„B("“ B!„B!„PD&„B!„B¡ˆL&!„B!„B™LB!„B!„"åz›ÃéÓ§9sæ ¦ŠGˆrx[ÕAˆŒkœ>í]ÕA!„BQ%äÕâ±Ñª•'®®®U†ø‡8tèPU‡ „B!D•)×dB“&MhÒ¤ ‘‘‘¦ŠG£¨T*† ÆóÏ?_Õ¡ˆˆQ£FaggWÕa!„BQ%$g‚B!„B!‘É!„B!„B("“ B!„B!„PD&„B!„B¡ˆL&!„B!„B™L¨{öìáÓO?åüùóUŠB!„Bar2™`¤;wòé§Ÿ’ššZlÝž={˜2eŠL&!„B!„x,Éd‚‘vîÜÉ”)SôN&´oßžO>ù„† V~`B!„B!D³¨êGíÛ·§}ûöU†B!„BQ!*m2!++‹-[¶œœŒ¥¥%mÚ´¡S§NÚõ™™™ÌŸ?ŸZµj1jÔ(ÏÞ½{—/¿üsssƇ………Au>(;;›mÛ¶qöìYlmmñ÷÷çé§ŸÖ®ŠŠâÈ‘#üûßÿÆÖÖV糚u'NÄÚÚšü‘íÛ·°téR¶mÛ@Æ :t({öìaË–- :´ØÝ )))lÛ¶ôôtœœœ Ä××W§Ì¶mÛˆ%,, GGGÖ¯_ORR...ôéÓ'''=$&&µZMÇŽ `Íš5:tH§½n×ÁÁ 6púôiž|òI‚ƒƒ Ž_I_>¼]{{{Ö®]KJJ uëÖ¥wïÞ888(j¯B!„BˆŠU)“ K—.e̘1dggë,ïØ±#QQQ8;;S»vmÒÓÓùôÓOQ«ÕŒ=Z[näÈ‘,]º”… j' ©ScÉ’%Œ;–›7oê”íС111˜™™Exx8£FÒ{Î{ï½§LرcË–-Ó–{öÙgµ“ S¦L!00Pg2aòäÉÌœ9“‚‚í2•JÅ믿Îüùó±´´ŠN®g̘¿¿?&L 11Q[¾V­ZDGGãççWf¿Æ¢E‹t–9’œœ~øáöj¶Û¢E þýœ Àûï¿Opp°Áñ+éË·Û¼ysÆOJJж¼³³3«W¯¦C‡e¶W!„B!Då¨ðÉ„µk×òúë¯caaÁ /¼@Ó¦M¹wï[·ne×®]¼úê«lذ€¹sçràÀÆŽK@@O=õ‹/féÒ¥¼ú꫌1Bq‘‘‘ >€€€077çÀÄÆÆRXXˆ™™²Ô¡¡¡²cÇ^{í5êׯPjŽ„o¿ý–iÓ¦¡R©èÙ³'M›6åüùó¬Y³†Å‹ãììÌ´iÓt>óæ›obaaÁˆ#°³³cÓ¦Mœ8q‚Q£F±k×®2ãœ;w.‹-ÂÜÜœ¾}ûâééÉ©S§˜?>µk×.ñso¿ý6ÕªUcøðáÔ«W§Ÿ~Ú¨ø•9r$ÕªUcĈX[[³mÛ6Nœ8Á‹/¾Hbb"µjÕ*WýB!„B!L£Â'&OžŒ­­-;wîäÉ'ŸÔ.W«Õôïߟ¨¨(ñõõ¥ZµjDFFâïïOHHK–,aôèÑ´lÙ’ Uç|Ì¿ýöÛ:±ÅÆÆbnn®¸M¡¡¡¤¦¦²cdž fÐUóéÓ§°jÕ*^|ñEíò}ûöѱcGæÍ›Ç‡~HõêÕµë7nÌÖ­[±±±`Ú´i´lÙ’Ý»w“½½}©ÛüòË/133cÛ¶mj—¯]»–¾}û–ø9wwwbbb¨Q£†v™fBFIüJ¹¹¹±k×.m»òóó0`QQQ,_¾œ±cÇ]·B!„BÓ©ÐɄ˗/sâÄ 7nÌÆÙ¸q#jµµZ  ½# >>^ûÜ}ýúõùå—_xî¹çèÞ½;5kÖdÕªUÚj%uÚÙÙqæÌŠM$•vë|jj*/^ä™gžÑ9h×®!!!üòË/}úÀþýûõ~vüøñ: ÆÆ¯Ô„ tÚdaaÁÿýßÿÅîÝ»e2A!„B!:™™™ ÀÙ³gùè£J,÷p.ƒŽ;Ò A’““éÛ·/^^^FÕyíÚ5|||Œnƒ)ܸqOOO½ë7n Àõë×u–{xx+kgg@^^žAÛ,éÑ‹† –8™àíí­·.¥ñ+Õ¨Q£—ibB!„BQõ*t2ÁÑÑ€fÍšRb¹€€ÿûí·INN¦qãÆüøãôë×^½z)®SóŒý©S§ÊŒU“(0''G'y#]™/MÌçÎÓ»þìÙ³ŠßÒ`È6ÏŸ?¯w}IËm’ˇë24~cû299Yç šeÆ „B!„¢êUèd‚‡‡ÞÞÞ\¾|™þýûÓ¢E õjµš-[¶èä=X´hË—/çµ×^ã‹/¾ÀßߟÐÐPîîîìÞ½›uëÖÑ»woíºøøxV®\‰ þþþeÖe¨ P·n]¶mÛÆÎ;u^™ùÛo¿•xW‚)âWÚ—3fÌ W¯^ÚG,òóóùøãxæ™g ŽW!„B!DŪðŒ3gÎ䥗^Âßߟ.]ºàë답µ5çÏŸ'..Žäädrss177çàÁƒ¼óÎ;øùùñí·ßbccCdd$;v¤ÿþìÙ³+++EuN:•ðæ›o²dÉíÛâããÙ³gyyyXXXгgO>þøcÞ}÷]víÚEƒ HLLä·ß~£N:\¹rE§]šG/ÆŽKll,¶¶¶4lØ¡C‡ê퇉'2jÔ(úöíKÏž=ñõõ%%%…Õ«W“——Ç„ Ê•¼PŸ1cÆ0~üx‚‚‚èÛ·/5âÌ™3¬[·Ž:uê‘‘J¥2¨.%ñ+íKË—/Ó´iSzö쉕•ÑÑÑ?~ggçûU!„B!Då«ðÉ„¾}ûÎèÑ£Ù¼y3›7oÖ®333ã¹çžÃ‚¬¬,ú÷ï•••öJ7@Û¶m™3g#GŽdôèÑ|ÿý÷× ðòË/sýúuÆO\\qqqÚ²;vÔ&llÕªï¼óóæÍ#""B[æ£>âܹs„‡‡ë´«G4kÖŒ'NðÅ_ðì³Ï–xÒ;räH.^¼È_|ÁúõëY¿~=*•Š×_Ï>ûÌØ..ј1c8yò$K—.eåÊ•Úåo¿ý6—/_fõêÕO`(‰_i_j|óÍ7Œ7Ž… j—9;;³zõjy-¤B!„BÚE9ìß¿Ÿ 6””Ľ{÷´ÉÛ·oÏ'Ÿ|R,ùá´iÓxóÍ7Ù¶mééé899ѹsgí›,4ºv튵µ5®®®ÅúR³®N:eö»¹¹9K–,áí·ß&&&(zƒEÛ¶mñññÁÙÙY§M¥mWIüJûR£I“&œ8q‚uëÖ‘’’B½zõèÝ»7e¶U!„B!DåQ©5ïT4‚&bdd¤É¦µÿþb .¿ùæFÍ‹/¾HTTTEö—‰'2cÆ hÕª•Qu¨T*¾úê+žþyG'„~£FÂÎÎNÆ?!„BñOY)w&ˆªÓ¥Kžxâ Z·n¥¥%ñññÚ$ˆï½÷^G'„B!„âïH&smÛ¶eûöíüïÿÓ.³²²bÖ¬Y:oxB!„B! %“ ¹èèhâãã9tè™™™Ô­[—àà`ÜÜܪ:4­²r5!„B!„x´ÈdÂ?@›6mhÓ¦MU‡Q¢®]»ÒµkתC!„B!„̪:!„B!„Bü½Èd‚B!„B!‘É!„B!„B("“ B!„B!„PD&„B!„B¡H¹ßæpñâEþûßÿš"!Ê%!!¡ªCÿ W®\ÁËË«ªÃB!„¢J¨ÔjµÚ؇„„°råJSÆ#„ýû÷'22²ªÃB!„¢²E–k2A!„B!„ÿ8‘’3A!„B!„ŠÈd‚B!„B!‘É!„B!„B("“ B!„B!„PD&„B!„B¡ˆL&!„B!„B™LB!„B!„"2™ „B!„BEd2A!„B!„Šü?5Ó*mK¿>¿IEND®B`‚fio-3.39/examples/libpmem.fio000066400000000000000000000031521476262051600162010ustar00rootroot00000000000000[global] bs=4k size=10g ioengine=libpmem norandommap time_based group_reporting invalidate=1 disable_lat=1 disable_slat=1 disable_clat=1 clat_percentiles=0 iodepth=1 iodepth_batch=1 thread numjobs=1 runtime=300 # # depends on direct option, flags are set for pmem_memcpy() call: # direct=1 - PMEM_F_MEM_NONTEMPORAL, # direct=0 - PMEM_F_MEM_TEMPORAL. # direct=1 # # sync=1 means that pmem_drain() is executed for each write operation. # sync=1 # # In case of 'scramble_buffers=1', the source buffer # is rewritten with a random value every write operation. # # But when 'scramble_buffers=0' is set, the source buffer isn't # rewritten. So it will be likely that the source buffer is in CPU # cache and it seems to be high write performance. # scramble_buffers=1 # # Setting for fio process's CPU Node and Memory Node. # Set proper node below or use `numactl` command along with FIO. # numa_cpu_nodes=0 numa_mem_policy=bind:0 # # split means that each job will get a unique CPU from the CPU set # cpus_allowed_policy=split # # The libpmem engine does IO to files in a DAX-mounted filesystem. # The filesystem should be created on a Non-Volatile DIMM (e.g /dev/pmem0) # and then mounted with the '-o dax' option. Note that the engine # accesses the underlying NVDIMM directly, bypassing the kernel block # layer, so the usual filesystem/disk performance monitoring tools such # as iostat will not provide useful data. # #filename=/mnt/pmem/somefile directory=/mnt/pmem [libpmem-seqwrite] rw=write stonewall [libpmem-seqread] rw=read stonewall #[libpmem-randwrite] #rw=randwrite #stonewall #[libpmem-randread] #rw=randread #stonewall fio-3.39/examples/libpmem.png000066400000000000000000003515641476262051600162250ustar00rootroot00000000000000‰PNG  IHDR]ý<¢®hbKGDÿÿÿ ½§“ IDATxœìÝw\S×ûð“„°÷Þ+(‚"  CÜZ-Zm­âž­?-µÕZG‡ÚZm¿U+u¶*µŠ8P‹VŽ)4€ì%È›$¿?n{› a£Ÿ÷«Ü{î¹ç>ç$ÕÇsϽaˆD"o<¦¼€WòB y!P!È €‚¼A^ä…@òB (É;xäååÍ™3‡Ú¶³³“¥D>±ÊONNÎþýûSSSëêêD"‘¾¾þ… !ܶm›¼€7òBèõõõ·oߦ¶ëêêd,y£0 ªªŠ.ÑÔÔ455¥ÆDI €üáO"€—a×®]TRhbb²wï^===ƒ;wÊ;.€!/€amm}óæMjû ¼eÜVff&µ1räÈ÷Þ{ÚþüóÏgÍšEÑÓÓ“[dÿ@^=âéÓ§6l ¶Ÿ»šðñãÇ»víÊÌÌ422š>}úøñã©r‰eˆ­­­Ï­–““3þ|ºZuuõ®]»ŠŠŠÜÜÜV¬Xall\WW·wïÞ;wîhhhøúú~ôÑGl6›¾zUUUhhhtttii©ŠŠŠ³³óŒ3\]]é ]l_Ü76mÚ”’’Bï>\¢ŽÄúÂŠŠŠcÇŽÝ¿¿¬¬LEE…ÃáŒ?~ôèÑ £ý¡è4@—¥§§Óªp¹ÜvKöìÙ£©©)þgÑòåËÛ6%¥—Ë¥ wìØ¡¢¢BïZ[[?zôÈÅÅEüÄáÇ …BêÜóçÏ?w~nõêÕtºÒ¾„ÐÐжג0jÔ(ºþéÓ§µµµÛÖ9rdeee|zC^Ý £y¡††Æ¦M›ÂÃÃé©ABHXX˜ìÕÄó6]]ÝŸþùäÉ“&&&ô‰NNN'Ožüî»ïèj/^‰D>þ¹ÏwH||üíÛ·oß¾Ýéð._¾|ïÞ=Bˆ@ ظq#U¨££#~O {!/9`³Ù666tss£2?CCõk×v®Z‡,_¾|ذa„ŠŠŠ899y{{[YYéêêΘ1ãÚµk]i¼ë–/_>xð`Bˆ@ >|¸›››µµuHH!„Á`ìÙ³GGGG¾Àk y!ÈAPPÐÔ©S“““›šš! ¸uë–™™YçªuˆŠŠÊ•+W6mÚdnnNÉÈȸÿ~AA––Ö¬Y³>ÿüó®4Þuªªª×®][·nAkkkrrrQQƒÁðññ¹~ýz@@€|Àף[JÀ®¾¾>66–ÚöôôÔÐÐ¥¤¼¼<++ËÐÐÐÁÁn*##ÃÉÉ‰Úær¹ýúõ{nµººº¸¸8ñÖ!¹¹¹999„555ú½6 Ô\£••‡Ã;77·¨¨HEEÅÂÂÂØØXü×DºÒ~||<ŸÏ'„X[[ÛÛÛSÕRRR¨'ZLMMé%Œ™™™ÅÅÅ„===ñ_[!„ˆD¢Ç?}úTYYÙÞÞž~ö ç /€WKÛ¼P¾ñ¼9pA^¼¿^-ÖÖÖ7oÞ¤¶íììä Àë €ÜG òB y!P!È €‚¼A^ä…@òB  /By!‚¼(È €ä…@A^„¢$ï@Á”––òù|yG2áp8²WÆ|!‚¼(È €ä…@A^„ / òB y!P!ø½‘ˆ°óó•jjX"‘¼£x]0"mm¡•U«¥e ƒ!ïh@Ñ /€—J ·niœ?¯y÷®zu5nYôá!õ'ò‡ «c±ä (ä…ðò\¿®ñý÷yyl/¯†åËŸ¹»7ÚØ´èè˜Èº‰PHª«Y¹¹ì¤$Õë×Õ?üÐÔÚºeݺŠQ£êä(†÷o #JKKù|~GÏÊÍeóá½{êï¼Ãÿä“J›–žˆ $äæ²wîÔ?^sðàúŸâ½7‡Ã‘½2þ‘=.*JmòdËŠ Vhháöí¥ø› ॱ±iÙ¾½44´°¢‚5y²eT”š¼#‚WòBèY'Nh/X`6th}XX¡‡G£¼Ãxyx4†…Z¿`Ù‰Úò^]X_=èüyÍ/¿4úøãg\‰G#äHEE´}{©þ—_©« ßy§Ã«AàM€¼z —«²nñ‚U•òŽƒA+ù|Æš5Æ––­îI¸ =¢ªŠµx±™Oý_TÈ;ø×š5ƒ×/]jZU…·×€$ä…Ð#vìÐc2Éöíex À+…þsÇ=yǯü Ýïñcåãǵ?ÿ¼BSS(ïX@’¦¦pÕªŠãÇuÒÓ•å ¼Z@÷ûé'ý~ýšß}·VÞtFVV–Ã?=z$c ( |v”÷Þ«íׯéçŸõå¼Z@7+)QºuKcÑ¢*<€ Šâ­·Þ¢2Å}ûöÉ;–—„Á Vݺ¥QR‚'Pá_È  ›]»¦¡¦&=?ºðJ3¦NUUxýº†¼Wþ•Ý,&FÍÛ»Í~}~c“Ãáðx|¸µµ•®ÐÅöŸëêÕ«óæÍóòòrttôòòš:uê?þ˜‘‘Ñ¡À!---AAA#FŒpvv~ë­·Ž;öìÙ3:Úû÷ï ‚R»÷îÝ£ÎÚµkU²e˪$99™*éÛ·occ£Äȇ……ùûû÷éÓç»ï¾“8äààMµóÓO?Q‡Ü¡Ž((gç¦ÌL>>44”Ífw¢ÚÁƒOŸ>Mm'%%Í™3ç‡~øê«¯êêê!uuu—/_ær¹—/_VSS#„lÛ¶mïÞ½ôé---ÉÉÉÉÉÉ—.] ¦êt¥ýç:wîÜgŸ}FïVTTTTTuêÔ‹úÒ®ŽŽ°b13”•á-†ð/Ì@7kldª«¿>7‘ÛuýúõÐÐÐlݺ•ÅbB¨ ©sÕîß¿þüùØØØ>}úBZZZ>ûì³!C†ÄÆÆž8q‚ÉdBŠŠŠ®\¹B¹rå •²°X¬-[¶$''_¾|ÙÉɉÿÃ?´¶Cí¿È¹sç¨5kÖp¹ÜÄÄÄðððÏ?ÿ¼wïÞT¹Œ;wŽN ¿øâ‹ÄÄÄóçÏÓÍÏÏÚ ²Àæææ¤¤$ª$==½¦¦†ˆ%ˆteÚ¥K—vìØñàÁ÷å—_J äñxöööÔîªU«x<Ç£æ&;1ŠE]]X_Lþ…ot3‘ˆ¼QO"/]ºÔÓÓSSSsêÔ©#Gޤ é̩՜œœôõõéü†Á`|ýõ×úúú¤Ó—ÜÜ\BȱcÇ¨Ý &L›6MCCƒÃá|úé§TáéÓ§›››»Òþüùóþ«¤¤„BOÈ•––æææ²Ùì¾}û~øá‡þù'U.c`çÏŸ§J\\\/^¬­­íää´råJ‰˜‡ Bm¤¤¤Ô××'%%555éêêZXX…ÂØØØ–––„„ªNÛ¼péÒ¥ï¼óަ¦&é¸NŒ°ba0ˆè úG´÷‘º¤oß¾ô¶³³óÕ«W !999«æèèHmÐyŒ¾¾¾±±1µ­¡ñ÷££Ôm_z±cxxxxx¸DS ¹¹¹½zõêtû/2eʔ˗/‹D¢ààààà`ƒaffæááàáá!{`t÷ÅG|›baaakkûäÉ@OMzyyiii………ÅÄÄèèè444BŒŒŒ¨yPqTHÓ‰Ph˜/è†l³£2VSWW—¨Oçj„@СØèG[º·ý#FüñÇ&L°°°`2™"‘¨¨¨èܹs3gÎLLLì\`Ò‰ßJ¦n{{{{{{S%ô­gñ‡EhZZZºV‡t´#¯8ÌtIZZš»»;µM?uagg×¹jÒ»wï²²2BÈ´iÓè's»Qppð‹ùøøøøøBZ[[srr¾þú븸8@pá…Ș½½=uÃ:--.ߦ 2äèÑ£„[·nQ³ŒÞÞÞT—™™I§³ôçŽzQÖÞÓ# ðªÁ|!@—ìÙ³'>>¾®®îôéÓôSï¼óNçªuÈŒ3¨3gÎ?}ú´©©)//ïöíÛ_}õÕªU«ºÒ¸?üðÃ7ß|UXX(‰´´´è¼Šz{‹ŒM˜0Úàr¹¿ýö[mmmzzú¶mÛÚ^ÑÇÇGII‰òèÑ£––ƒ^½z™ššÚØØˆD¢ÇB Æsç eAÏ)¦¤¤P·¤)òayÁ|!@—Œ5júôéâ%®®®óæÍë\µ;vìG}´oß>@°yóæÍ›7‹íôäY»ªªªN:"QÎf³§L™"{`'N¼pá•%ÿðÃÔã½m—]ª««»»»So[$„xyyQÞÞÞÔŒ#!¤OŸ>†††ë‘ŸŸßƒ!W®\qqq!ÿLÊk„äy!@—Ìž={РAû÷ïÏÎÎÖÓÓ?~ü'Ÿ|¢¬,ù®`«uÔªU«† vìØ±¤¤¤²²26›mjjjkk;zôèQ£Fu±ñY»v­§§ç•+Wx<^II‰P(4668pà¢E‹¨w¸ÈƒÁؽ{÷Þ½{Ïœ9SZZjii9oÞ<ú)`qC† ¡óBje!µqâÄ j»í“Ȳ[ºt)ŸÏˆˆ(//—Xd)—†O¨@G”––òù|)8AA¥þþÒê¼!²²²ÆŽKm_¼x‘~½HñìÙ3OOOj;$$„ž„žpñ¢f`  —%ï@ q8Ù+c}!‚¼(È €¬N4 ‚¼RzzõŠq­­"=}>_píZQRRå²e÷OžÆ`ÂÂúùó£jjZ\]õ]]õ”•™©©U11å‹G_½:FSóï?ýâñù­“&Y™˜¨¥¥UÝ»WöÍ7ÆŒ1£&¢RRž}õU’@ òô4ìß_÷Ù³æË—‹öìÉl7<éÍÊ›„]»2i‰¡¡¡Šìyá‹Â®¯o4ÉÊÈH5-­*:ºüÛoSuÄsGë46 ¦L±ÑÓS¾w¯,=½ú›o5(+3gδc±˜.¤¥U?þdî\ŽìÒÑf £€B:pàqk«hþ|‡uë\ BY½ºïäÉ7“’*cbÊ}|Œ~ýõQMMËÆ®3gÚÓgýþ{Öwߥœ;—`G•´´/]Eß ]³&1,,7.®bäHSBHp0O }ò‰ÓÇÿ½/0°Ï¤I·Ú Oz³2Æ&aùò>íζ˜t ‚ðð޵{èïûï¹òÄs>YêˆD$"b´™™!D ùû_Š*÷õ5:pÀWY™I™=Û~ìØk7n”P œŒÒÑf £€BJH¨`±+W:SI!!DOOù£ׯOJH¨ðñ1ŠŠ*g±••Í»wgŠD"*£ª«k%„p¹Ïù;Õ˜<ÙZ|yÜðá¦aa¹¥¥ß”LJz¦¦¦ôÿçHW°´Ôxÿ}›ß~{,=<éÍÊ›:7í9'ZÒ !dÞ<Îþý*:Zç½÷¬¨ìÂb1¼¼ ³²j-êEeo„;;Mssõ¿ïË8 m: y!(¤ššccUUÕÿÌY[kBª«[!••ÍhçÎô¶çŠ/I¤ó 5åÖÚú÷¼\uu³©©*‹Å¯ci©ÑnxÒ›•16 Ý»¾ð¹¬¬þÓ5&“aa¡Îå>ëhSÓÿt_MõÜššfj[Æéh³ÐQÈ @!ik³‹‹â©a^^!DG‡MÑÖVjn.^üœ<‰z^D::Ê%%H<5,(¨ëRèí%¬/ÌÏÿO×D"RXX¯­­ÜÑ:Õ-tòBPH„‡çïØñpíZª¤ªªù×_Q‡!¾¾Æ'N<±±Ñ˜4ÉJüÄŒŒjêáY¸»ë?_°ÿ#úVrQQý©S¹] ¾s±½„õ…çÎ,Xà@ß&æUT4iÖÑ:Õ-tòBPH öºp¡ààA^||å€z|~ëõë%••MnnzÞÞF„¥K{GD­\ÌsuÕÓÒb——7=zTÃå>;tÈ×ÂB½ÝKBæÍs¸p¡pûö‡‘‘eýûë={Ö|ùrá?ï@‘š£IÕ¹Ø^ÂúB55Ö¤I7ÇŽ572R}ø°**ªœÁ :t´NGuˇ]‡¼’³³ÎÏ?Z»619¹29¹’*¤Þ_H=‰bi©qäˆßÊ•ñ©©U©©Uô‰NN:²ç®®z7ºnÚ”û46ö)!ÄÍMoij;ª«wþÏÏn‰­',Xàp÷nixx>µK½›PâÅײÔé¨Wv@Þ4È @1´ý=ßqãÌ}}îÜ)-(¨WVfº¸èyzˆŸâì¬sñâ¨ÄÄŠÔÔª†©©š££¶““uÔÆF30ÐÉÝý?§P…ýûÿûré3ì† 3¹y³„Ïo¥~ïä믱'K$“±Yé±õ‰8Ÿ¶··Ñ’%½îÞ-Ë̬VWW>ÜTü©jŠŠ óÈ¿Õyn÷‡ 1ÑÐ`¨ˆΚeßÔ$ w;ñaÉÒ,tC$}¹ À•––òù|)8AA¥þþÒê(ÔÔª¾}ué·á¤¦V½ÿþmMMvtôÛÏ)¿öîÜ)]° jýz—ùó»t×^/jšðxYòz‡Ó×yb¾@š;Ó³³k=< õõ•srø7o–¢9sìß´¤ÞÈ ¤qqѽu«$7÷ß—³L™bóÑGŽRNPPÈ ¤ tš<Ù&!¡¢¸¸^KKyÐ ƒ^½´å”|šQ–q†{&¿:_$ÙèÙLì;±¯IßžéYóﯿÔgi/Ã^²Ô¯k®ÛpeC)¿ô³¡Ÿ¹™»õtx2B^Ф¤¶äÝßß-ã—Q»—2.]{|-hR•žážùââ"‘ˆ®0öà¶w¶Mê;éE Î- ¤\QWMwÏä=Ò£Ú|}³†ÁRŸ¥²t¡°ºpIØ’‚ꂟ'þŒ¤^)È @‘Ž?l§o·bÈ # £´Ò´ßîÿv)ãR˜}Ø´þÓ!cBæ œãkë«ÄTzòìɹ´s55RŒÍ•žjJ)êIÔ¹´sÇgg³ØíÆŸ\œüa؇Ê,å³Nô1îÓn}€— y!(#M£3sϨ±Õ!#FxXzÌ uâÁ */Tb*õ6ìýõ˜¯éúó<æÕ6ÕJiðÈŒ#âó‹mIÏöšZ›¾ºüÕÌ3X h7ø éV_XÝǸϾÉûŒ4Ú­ð’!/EâßÇŸJ )Þ6Þ–:–™å™Ôîï%+ϯüôܧ#F:;ÙØ3L--) ²Ô•x~¹÷K³ ùó៷[ó4÷tfyæØÞczç'U%Õ®\ ‡ /E¢­ª-Q¢«¦[TSDmwïlâü×ÿÎpÏd–g6µ6Mpž°rèʶgѺ²¾°®¹îÀýFšF‹N.¢ ŸT>!„,8±€É`™q„ÅdQå*J*„§uO[-È àÕ„¼IZIšøn]s]vE¶±¦1]b§o÷±ßÇÔvjIêìÐÙåür)Žte}a³ ¹UØZ\S\\S,q(¾ žBþ}NšLpš0wàÜÕV„Üî²E€—y!(’«¯žæžžâ2…ÒÐÒ°þÒúú–úñÎã©£?ÞúqŠËއÚ5Ñ4a³Ø±ù±RìÊúB-­€‰Âµ׿Uå|ÿ ª’*ó¿ïˆØw¢¶ªöò³Ë?8úÁáé‡-u,¥\àåC^ŠÄÉØé‹ _l¿½ÝXË8§2‡ßÄWg«Ó/ˆù=î÷_c~ÕW×·Òµjnm~üôq«°u˜ý0) ve}¡SÉËÚK¢PCEƒâiå©ÎVo{ÊpÎðß§ÿ¾øÔâ÷¼xúaßwðrà½ü HÞë÷ÞòÁËŸ5<ãsùM|[=ÛÃÓ[ëZSG׌\ÓÛ¨we}erQrzY:“ÁœÔwÒÿ&üO¾1Kð°ô8pL(Ι‘\œ,ïpþÅ~@Bii)ŸÏ—RÁÁTêï/­N'T5Te–gÚèÙ˜j™Ö4ÖäTæ¨+«;8ˆÿØ ¥²¾2¿*_]YÝBÇ⹓v=Š[Ì­o©÷°ô Ÿ8œ®VÆ/Ë©ÌQg«»˜¹¼äh/jšðxYòz‡Ã‘½2î#€bÐUÓ¥oÚj«j»š»¾¨¦¾º¾¾ºþËŠKRÛkxvõÑUyGðšÀ|!( ‘Ht&õLXJXFY†@(àr¦»MŸÚ*‹Áj[9.?.ôAèƒÂŵŚʚîîz8Ðr !dwÔîwvBvÜÙAmB¤OžÝɾ³àä‚õ£Ö;9#½4]]Y}t¯Ñ«†­ÒW×0,%ìdÊÉ̲LH`§o7ÝmúL÷™ C¼‘¾¦}wÜÙ‘V’fo`ÿç¼?¥÷KÆ6Ý-ܼù#·„«¢¤2‚3bý¨õºjºR:Ë-æ¾wø½@¿À@¿À¶”ë „‚¤Ó)§ó«óE"‘žÍľg¸ÍPc«uðS•U\~!dRßIâ…“úNºœy96/V¢:y!(‘H´âÜŠ éèn1—[̵Աl;X¢r9¿|FÈ z÷Yó¼·³n 8êiåÙé ·ÞÜ* !­'“O&$œw–º‰)‰Výµ*<-œ®ŸQ–±áʆôÒôÍooþO#7¶ DBˆP$”Þ/Ûä–pÿwëÍ‚fBHCKÃÙÔ³Õ¡3C;ÝÓv¯ûÓíŸ~»ÿ}4µ$5µ$•ÍdÏ8ûEm:þèH Ý‹jÆ|ó¢£¹Ïr !½z‹ö1îCÉ­Êm¿K ä… ¸aÒ/èªé®ºr8g¸®š.ï)/ôA(›Ån[™Á`øÙùÍ8ÇÙÄÙPðº±:6/võ…Õû¢÷yZy.ó]æeí5ýèôO‡~ºÌw™ì1\ʸ4ÅeÊÿùþŸ±¦qjIê†+2Ë3÷Gïÿtè§„ð´ðð´pG#ÇÕ#V»š¹ª(©¤–¤nº¶éDò‰©ý§º[¸ÓLs¶Äk‰µ®5‹É:•rJJ¿dló\Ú¹÷€…ƒšh™¤•¤}zîÓ¸ü¸ôÒt'§Îu¶Ýë^}tU­öÓ„Ÿ|m}•˜JO*Ÿ„? WWîÁE~üf>!DGUG¼Ú­m¬í¹ë¼Q€b8Ã=CÙ9i'=;èbæâbæòÜʆ†«†­Ú³ÿˈ/+ê*¨É9BHfyfWbp5wÝê¿•º‘êiå¹oʾ1¿Ž‰ÈŒ òÂ0n‹É þ ØXÓ˜ªïiå¹ã㌻öøù™»}?î{ª‘vû%c›~v~›Æn¢¶Z\â½dÕ åN&Nëi»×5Õ6%„Œî=šºÙídâÔîµ2WwiðE"‘Œ…ÐiÈ @1dUdé¨ê´½eü\‰…‰3Íl´H”7¶6v%?[?:Ÿ#„XéZÙéÛåTæP»Ë „‚!{†BD"‘ˆˆÈ?‰KQM}Ö`ÛÁâHï—Œmz[{‹Ÿe¥kE©k®ëtOÛ½îú‘ë—]6rßÈ!vCœLœÜÍÝMœ;}9Yh©hBª«Å kšj!ZªZ=zi€7òBx í‹Þ×"h ô |·ß»&š&Ê,eƒñÖooUÖWöÜE…"!!ä¹KèÄ3TêqîmSEIEüƒ0H׿ÒÚ½®“‰ÓÕ¯&$&$ÄåÅÝ ÒS×Û9i§£‘ã‹ÚìâúB=BÈ£òG,Ð…e„]›ö»2@^ŠcÀ‰Ë‹zåkëÛnåüª|C Cñ'móªòžT>ÑVÕ¦v™ &yAÞ#Eä“ÈCVг}ùUù9•9T¾BE˜Všµ<ŠšÙ’‘ô~u®M è¬,×e1XžVžÔs< - c~³öâÚ3sÏt:Né<­<÷ÇìO Ÿî6.¤žŒd=¨‡. ð¦Áû @1Lv™LYqnʼnä%µ% - ©%©ë/­Ím[Ù\Û¼¢¾âH‘ڦÚÚ¦Ú[Y·ž\HÍQ¨çâò㪪d!¹(yí¥µ¹ÏrZâ â—žYÚ*lç8Ž::ÍuZCKÜãsnðnTÖW¶Z « oòn.;»,êITçúÕ¹6%t¢³í^wÚ‘iÇ’Žñžò[k›jïdß©j¨Ê«Ê“ÒfæêLÞž”ÿ¤LBÛ6×6Ëûþú÷ÏžÕ6ÕîŽÚ}9󲞚ޘÞcdìH‡ùBP S\¦Üκ‘±þÒzñr'ÿ¶•g¸Ï¸}{ãÕ¯n¤JœMœ{õ.ã—Q»¶z¶&š&ѹÑ;=¨Y~ücœã¸³©gÃRÂèŽçCŸ©íÉý&ÇæÅžæž^¶DâÄ\?è\¿:צ„Nt¶Ý릕¤%&Ir“5¤N`³ØßûnqØâCq‡Å¢  ÆÆ±ñc'Ýó… ˜ æ/ïþ²ùíÍnænjl5MMWs×-þ[¼m¼ÛVÝkôöw¶÷1¤j¬i<Ã}Æ‘G”YÊt“µ{ònK½‡y åÀƒÓºš»ª*©ê©éMë?-tf(”0ŒÆÿônÐ`ÛÁ:ª:lÛJ×jLï1{'ïl÷ÂÇe¤÷«smJèDgÛ½îé9§g ˜å`è@ Å@Ë[ü·¬µ¾Ý–»b¨ýЀ_[_ e 5¶š§•gðûÁþ}žóèò€)--åóùR*88p‚‚Jýý¥ÕQ8ôÏŠÌ÷œ/ïXºÍÅ‹š&<^–¼Äápd¯ŒùB ë !éeéïzçEGG÷àð2ã Ì!˜/ „8;µûˆ®,,(4Ì!È €‚¼A^ä…@òB  /B¼eü² È ûy÷Ÿ»û*H/KŠ â=}I¯i|õ¤Û½]…ƒ¼àe(­-O$v_KEñ*^R^øêH·“Þ墚¢ È ¸ü8ù€¼^&Z&~^Ö^òäå‘è2•ÆæÇÊ7*xÃáwð@þŒ5ýåÅKõv^}È @‘„‚ØüØŒ² ¡Hh¯o?Ä~ˆS‰’û,7<-|¨ýÐþfý£žD=,}¨¡¢1Ì~˜¥Ž%}nZiÚõÇ×ýûø;:HŽwÏ1àP%-‚–»9wóªòD"‘ž¯­¯ª’ªŒáåT椧×kªhº™»õ3íסÞÕ6ÕÞɾ“_•¯¢¤ÒÏ´Ÿ§•'U^ÝX}8þ°›¹ÛPû¡ô…Î?<¯§¦7{àlª¤Uغ'jO/Ã^o÷yûï± ¢ŸDg–g¶ [íôí†ÙSQR¿\ImÉMÞÍš¦š^†½†Ù“=NYF[zÚ*ã—pÜËÚK|Êð¹7ï)ïbÆE‰ÖŠkŠO¥œ¥n'å»!û˜<·Ëqùq§¹§ !ѹÑ¡€ª€¬^>ä… 0=øìÜgyUyt‰¥ŽeðÁvúv¹Ïrƒ"ƒ”YÊÛno‹Î¦Ž*1•ÖZ7gàj7­$-(2¨·Qïÿä…%iA‘ANÆNT^˜\”üÑ™ÊùåtC Óv¶{³¾¥~IØ’˜Üñ¡öCw¿·[­&Kï"2#Ö^\[ÛTK—¸[¸ï~o·±¦±–ŠÖ Ü͹Kg<áiá»îíb1Y“úNÒVÕ&„$&E­¾šª\”üIø'ÕtkfÚf{'ï¥SÕS)§¾¹üM³ ™Úu3w{ÇùYâ$„È2ÚÒ{Ô¶Mj±ø}Õ}ܦZ¦î¸•uëÌÜ3â-N8|àþ㳎¿(ì_"‘”~©³Õy-zÑQéß ÇäE]ŽÍ K #„ÄäÆÐß"ä…ðò!/ÅW•7ïÄ<~ßBÇÂ×ÖWGU'«"ënöÝ¢š";};ªÎ¡¸CõÍõ“úN2Ò4J+I‹ÎþöÚ·ŽF޲¯ZÛzsk9¿ÜÉØÉÛÆ[‰©ôäÙ“ÈœÈGåÚm¡®©.&7¦Ÿi?'c'C Ú¦šØ¼Ø;ÙwvGí^5lU»×M/K_¾¢UØêbæâaéÁoæ_{t-©0iÙÙe'gd2˜¾6¾—]®mªÕRÑ"„Ü;k¥k•_••5Îq!änÎ]BˆŸ!¤°ºpþÉù55®æ®®f®ÊJÊ©%©1¹1‹Ã_]|USE3¥8åˈ/B§•g³þ•õ•—3/ïŽÚ-ã(Q¤¶ô1 éKÿ¸§ôŸr$á·˜ëbæBÕojm K s6qö°ôxQ›»¢vÑSqÏe¨a(%/”å»Ñéoà «ASûO K ó¶ñd5Hze€žƒ¼þè}ü&þ¤¾“¶úoe³ØTaAu‹Á¢ë4´4„ϧïŠ;ôýõïÆ”=/¬¬¯´Ó· ŸÎd0é’ÊúÊvOÔTÑ<5û”–ŠVBaBE]›Å×g\Áý‚¼²ä…îh¶Î÷œ¿nä:*gZ=|õäÓ“ “bòb|l|üìü.f\Œz5ÖqlMcMjiêêá«ÅŠÌ‰¤òÂÈœH}u}'c'Bȯ1¿Ö4Öl|kãÌ3éKüÿûw×¾;÷ð\€{Àïñ¿ „‚@¿@zF*Ð/pbðDG‰"}´Ûí‘ôÆ¥ÜsÎ9šx4$)d«ÙVêÐ…ô U UëF®“ÒærßåíÎJ9*Ëw£Óß@O+Oƒ–æcã³Ìw™ôÊ=y!(†˜Ü&ƒ¹iì&:K „H,Þšè<‘þ+™2ÏcÞþèý  ²_e¬ãØC±‡N&Ÿé0’ºÝ©¯®¯¯®ßî‰Ló`ìÁˆÌ‰ò§uOe¹nBA‹ÁZ9l%=‘¦§¦÷‘ÏGë/­O(H òBBHä“ȱŽc£r£BŸß£òG‘9‘„êÆêÔ’ÔñNã©Ó£r£X Ve}åî¨Ý"‘H$BêZê!Üb.q'‰‰jlµeƒÿÍ?¬t­>pûàÀý²DK‘>ÚíöHzãÒ?n;}»¡vCÿzø×šktÕt !!I!êœ'Hióc¿eï][²|7ºþ /ä… ª«Œ55”5¤Ô±Òµße2˜:Ü®ìWY1d…µ®õŸi~wí;ueuws÷Iý&ù÷ño÷ĽÑ{#2#ôÕõ‡Ø 1Õ2UVRfÆñÇé|ÒÕ4ÕkK<àb­kM©n¬&„˜k›ÛØß;K‰Ì‰4Ö4v4rô³ó;Í=û,÷aéC¡H8Øv0ube}¥@$ع³í…¨Õ~ÕÕ¦Z¦âS­¤ÍèµKúh·Û#éÚý¸çz̽}û4÷ôÂA SKR“‹’?öûX™¥,¥Í.®/”å»Ñõo €|!/Å «ª[XSX×\'%WȯÊ߉D…Õ…Ú*ÚÔ.•£Ô5׉×)ª)ße2˜SûOÚªP$|RùäfÖÍÏÎ}–V’öùðÏ¥‡w+ë–ª’ê¥E— Ô è«Ž?ÜîB:жŠvqMqck£x"E=r¡£ªCí¶|$ᵬš>ô³óc0‘O"ÓJÒÈ?‹ !ÚªÚÍ‚æÅ^‹Û^ˆzæFGU§¤¶D ˆ§†£×.é£-K¤h÷ãb7„cÀ9–tlç‚£‰G•˜J3ÜfHo³‹ë eùnH€WÞk ŠÁÇÆG l¼º±UØJT×Ó»çžËªÈ¢wƒãƒ+ê+Z¤vÍuÌ !7y7é ¥üÒÉ'įr“w“J˜ ¦½ý|Ïù¦Z¦Ô D¤c0J,%Ö¿/‚Ù½W–‰1Ê@Ë‘`ÇtIUCÕ¯1¿R‡¨’!vC!GŽTøÙúBôÔôœŒîfß½÷äÇ€cªeJÕôµñmhi°Ñ³¡VÒÿ½Õû-W3WBÈË - {îí¡/—_•2ù¤ŒÑR¤¶,=’¢Ý›Á`Ìñ˜“û,÷¯ô¿þzø×x§ñÏ}ÌYÜrßå"ñߢA/L ‰lß éc"õå©j¨’¥2@Á|!(†}>ü+ý¯3Ü3±y±>6>:j:ÙÙw²ï|ÿ ™¶UG­6)xÒXDZFšFKF=‰b0 -¤Žö3íg¬i‘àfáö´îéåÌËêÊÿyÔ`ÙÙezjz,XéZµZbòb ª ú÷i7Ú²ôH Y>n5¶Ú´þÓÅr·pïoÖ_öÈ;G–ï†ô1‘NWMw²Ëä°”°# G¨ä…ðò!/…1Ðràõ¯GçFg–e²˜,{{?;?ñr*J*Gf¹›s7³,S]Y}8g¸ÄËo÷y»Ÿi¿[Y·ê[êûšôl;øaÙÃ@¿@{{ªÂ®÷v•óËã âó«òÕ•Õíôí|l|è÷’H¡«¦{~Áù¼O*Ÿh«jµj®m. kk¨ ?†Ûöç€Ç9Žóµñ½“s§ ª@YIÙÅÔ¥í¯ƒ,ó]–X˜(þ3*–TöàmóŸI8gç‹ /&&¦–¤6´4˜j™:9:™8ѦõŸægëw3ëfmS­ƒ¡ÃpÎðGåý ˆlÚmé=jw@Úý¸ !}MûBd™,ì:Y¾ÒǤÝ.oy{ËDç‰KÖ·Ô¿„´Å Þ_ £ÒÒR>Ÿ/¥‚ƒ'(¨Ôß_Znw'û΂“ ÖZ?ßsþ˼î›émHðîïï–Ô”DMý¢½"cÒQ/jšðxYíW…ÅápÚ¯ôÌ´¯œ_ú ôEGí ì'8I{sžbi·³rÀö~Þý¨'Q÷óî§—¦/ñ^"÷¤àµÿ—Ú÷´þiPdÐ‹ŽŽî5úuÊ Ûíl€{ÀËŒ§­ûy÷©_í3×6_âµD¾Á¼NÀë€z'‹»…{µo¨n(å!zyâë¡ÝÎöôh·ËËÚ+Ð/ÐDËÄ¿?õƒÑr'÷1èX_ój®/€NÀúÂ7A‡Öâ½Ö@òB  /By!‚¼(È €ä… Ðîdß  ˆÍ¥v³+²BNsOË7ªnô¨üѾè}óNÌ  H.J–w8ðšÃï€+¯+Í­¬¯¤vëšëbóc½m¼{噯l|ßõýwû½ÛsW¡L ž”VšFïV7V÷ôà ‡¼^öö!!:=w‰Ú¦ÚØüØÁvƒ{î´²º²^†½Fõ•Q–q+ëÖK¸"¼áÀëCCYÃËÚKÞQt›ðyáÆšÆ„ W6È;x# /E‘‘QÓTÓ˰×\¹G³+²¿ŒørJÿ)S\¦B’‹’¸ùÃ9žVžG¦•¤k7î;BHNeÎiîéGåZ…­vúvS]¦:™8‰7•û,÷lêÙŒ² ¡Hho`?­ÿ4ŽçÏÔ?Æ$„œJ>u/çUóØÌc=ÔY*)xi€ÂøâÂô3%w²ïœæžžî6]¼‚ÄúÂêÆêØüØþæý7]ÝTÆ/#„8›8BŽ%Ûxe£@$ ›:šxtó¸ÍSûO¥JŽ&ýöê·t…¼ÁqÁ'gŸ,¬)L/K'„TTHvvèlP ¥‚®šîžÉ{:2= y!(†‹OsO«±Õx.p5w­¬¯ü#á÷´{âïq¿ÛéÛúZëZk«j'&n¸²A]Y=À=ÀÕÌU™¥œZ’üÕ导m¼-u,ïçÝßxu#!d‚Ó„áœá:ª:YY§RNñ›øïö}WKEkÓÕMÓ\§½Û·çNbóc¥ç…††€ž†¼éäS„Ÿ'ý<ÊaU2±ïÄñÇçTæH?ÑXÓøÌÜ3jl5jwùÙåB‘ðÐû‡X  JF8Œp³p›bþù‡ç—ú, Ž ‰D_ŽþržÇ<ºÂ|ÏùM‚&u¶:5ãh©cÙîBÆ#3ŽˆD")Ø,¶ô^2ä… 2Ë3uÕt餢ÌRžè€Ü!/ÅÐØÚ¨«ª+Q¨«&YÒ–™¶™øn}s½@$ˆzõœK´4BšM:ª:,&« Á‚õ… €€b0Ö4Ωȩj¨Ï¹%ÜŽ¶c¦mÖ,hÞ?eÛÌO_]Ÿª^šž_•o¥kÕötaB¤ß ¦`}!(ä… †Ø á=å­¹¸æ§ ?iªhB.e\ O ïh;oõ~+(2("3bå°•:ª:TamSíÙÔ³–„ѽF§—¦†n›°ÍÞÀž" ÿzøWo£Þ}Œû¨³Õ !yUyí^ë @á /ŰÈkÑî™k¯ùîòµ7°¯¬¯,ª)r6q~Xú°£í\}|õXÒ±“É'mõmµT´ÊùåŵÅ¡àÐû‡! =^H¿À-æŽ;0ÎRÇRGM'§2‡ßÄ?<ý0!ÄÎÀN­v†{&µ$•º¯ý¢÷v}}ឨ=‘9‘„'ÏžB~¸ùþè}„CW`ñ"ô¦¼‰‰¦É3þèeØ«¾¥>µ$µŒ_6ßs¾ÄÓ!²Pg«‡„Î0“Íbóžò’ “ ª ´T´æyÌëkÚ—¢©¢y|æñ‰}'2#¯*[Ìmhi˜Ôw’“±!DUIuÝÈu*J*ÊÅæÇÆæÇvWÿ‘U‘E]‚zùbfy&µKÿ4@÷bȲJ€VZZÊçó¥Tppà•úûK«ÓYYüf¾®®šn9¿<»2»—a/ji`]s]jIª…Ž…¥Ž%!¤ª¡*³<ÓFÏÆTË´m;-‚–¬Š¬†–S-S-&CòßÉõ-õYO³XL–­¾-uûXâPCkƒH$ê¹_Þ˪ÈzZ÷´m9Ý_€.ºxQ30ЄÇË’w Ѓ8Žì•q Çàß?ãŒ4Œ4è]‰ßGÖUÓ•’´±Yì>Æ}¤\H­îbæÒÑC݈cÀï,@OÃ}d y!P!È €‚¼A^ä…@òB  /By!‚¼Úiîi‡­™Ô.·˜ë°Õ!(2H¾Q)ŠˆÌ‡­÷ó€ä…_ï°ÕawÔnyÒ nðnh«j{XyôÜ%¤×K:DIÞt3Þž¼£P B‘ðVÖ­aöÃX Ö›´…ùB€7QRaRe}åH‡‘olÐæ @aÔ4Öl¿³ýò£Ë55½ {úJTàsß;ü^ _ uèNö'¬µ¾¯ißwv¤•¤ÙØÿ9ïO‘H–v2ådfY¦@$°Ó·›î6}¦ûLƒAµ#‰Î¤ž K Ë(ËCÎt·éSûOݽoÇ„wvP„j†²±µñט_/¤_ȯÊWVRv1uYâ½dˆÝªÎs#ùfÌ7ÓŽL›5`Ö†·6ˆ÷âbÆÅÀ?׌X³ÈkQÏ æ Þ ƒ5Ì~˜xxNÆNÛîlË(ËÐQÕ™5`ÖG>BþHøãH‘ÂêBK]ËO‡|úvŸ·%:ånáþã͹%\%•œëG­×UÓ%„ìŽÚý¢ázQŽFŽ;îîH/MWWVÝkôªa«ôÕõ%.ס !Ò?îN7 ðZB^Š¡©µiæ±™éeéÔnjIꇧ?ôïãß…‰[olˆ„¡H(‰Výµ*<-œ®Q–±áʆôÒôÍoo&„ˆD¢çV\H¿@Wàs¹Å\KË]¢EÐ2÷øÜ„‚j·YГԷÞ, IDAT³ñ­î/ŠÄݽ¿Yÿ³©gWX­ÎV§«M8ªÆV{ßõý]ÎñGGP ¥Ë††1ÇH©@¹Î»îií©­ªM—<(z@‡×ÐÒðÓíŸT”TÊëÊù•ª]‘ýIø'¶ú¶NÆNôYÜîÿný¯YÐLu6õlAuAèÌPéWn‰…‰[on¥ºÖØÚx2ùdBAÂÙygŧ£A¶ûqw¥ï¯ä… þHø#½,ÝÞÀ~Ø nn•õ•¿Åü’Ò2.Ms¶Äk‰µ®5‹Éú3õÏð´pG#ÇÕ#V»š¹ª(©¤–¤nº¶éDò‰©ý§º[¸‡qÃ.¤_ÐUÓ]9tåpÎp]5]ÞS^èƒP6‹½Ìw™—µ×ô£Ó?úé2ßeô%Ž$I(H0×6ßðÖ†AVƒj›jO¥œÚuo׿ë›Çôc¤iôÜH!s=æ®<¿ò,÷ìÌ3©:¼§¼ØüØ™fŠ'LÝ.¿*Ÿ÷”÷ëâ…Ò/Ì÷œ?Ïcž¾ºþíìÛ+ÂWE EÂ-þ[F9Œb2˜{£÷Œ=x(öÐÿ&ü>ë\Ú¹÷€…ƒšh™¤•¤}zîÓ¸ü¸ôÒt'§ ׋¸”qiŠË”ÿóý?cMãÔ’Ô W6d–gîÞÿéÐO;dxZ¸ô»+}xý /Å‘Á`0v¿·»—a/BˆºŽúƱsžåD=‰’~¢›¹Û÷ã¾§ï‡qÃXLVðÁÆšÆT‰§•çŽwvŒ;0îÚãkîîg¸g!;'íl;˜ªàbæâbæ"åÓ/B‚Þ r3w#„hªhú–ñËŽ?8~w}ºÛôçFBñïã¿õæÖ¤:/<šx”2gà)—Ë\)½Ëíºöø!DbmßPû¡ëG­§¶Ç9ŽÝktDfĺQë¦õŸF®¾údòI^Åžìñ³óÛ4vµ=Ðràï%®lÈ(Ïp2‘6¯öÜ\Í]·úo¥ÆÇÓÊsß”}c~‘!žv4Èv?î®ôàõƒ¼CnU®‰¦ •Ò†Ú m7/l;X<{\þX  Ù3„"‰DDDmBŠjŠ!YY:ª:tR(SlÏruÕt©¤6ÒaäñÇsŸå¾(B›Åžá6#(2(.?ÎÓʳ¾¥þÏ´?ýìü8Ù¯Þ 7x78=ñÂAVƒÄwÍµÍ !ž–žt ‹É2Ñ2yZ÷T¼š·µ·ø®•®!¤®¹®øÙú‰•®•¾]NeNW‚l÷ãîJß^?È à5G=AŠ„„ç®Ïk´tú* Âh·ŽD$”÷€½Ñ{&õ´ò<Ë=ËoâÏó˜'½.®/¬mªË[0hD¹Š’Šø.•¢I†P(”va¯Ž ‹Ž)ãÇݹ¾¼~€b°ÑµI)Iyüô±ø”áœ;m‡cÀI+M‹Z¥¥¢õ¢ qùqQO¢|m}Ûe2˜¤Mža£gó èArQ²«¹+]x+ëuHz<††ãÆÿõð¯r~ù±¤c¶z¶Ô#º=çNöVaëËyAÌs‡ëED>‰\1d=e˜_•ŸS™ÓîJ×îÇ âðþBP ãúŒ‰DËÎ.‹Î®o©/¨.øæò7íÞDnkšë´†–†9ÇçÜàݨ¬¯l´VÞäÝ\vvÕÚd—É„çVœH>QR[ÒÐÒZ’ºþÒúØüXBˆŽª!$.?®ª¡ŠnÓßÉŸòIø'·²nñ›ø%µ%»îí:þà¸2Ky”èvCšç1¯UغæâšÌòÌ9s$î5·•¹:“·†'å?é#_ç]×UÓu7wo°ºì¹Ãõ¢’‹’×^Z›û,·¡¥!¾ ~陥­ÂÖqŽãº@»7ˆÃ|!(†9çœK;—^–>;t6UÂ`0Æ;¡Œ,&÷››{š{zI؉CÔã±S\¦Üκ‘±þÒzñ£Tòg«gk¢ií±óï_oã­áÍ0;"#"±0qÑ©ÿ¼qðËÑ_Ò#KÑÏ´ß‹·³okªhNq™Ò¡ît”@(¸u{¤ÃHêèžÖv¸2Wg¾(€qŽãΦž K £K8œ}>ìJí~Ü ó… T”TBBfºÏ4Ô0TQRq6qÞ;yïPû¡m‡Á`ü0þ‡ wƒÛÖQÕa³ØVºVczÙ;yï`»Á„&ƒùË»¿l~{³›¹›[MSEÓÕÜu‹ÿooB‹ÉÚ=y·‡¥‡[n“Íbÿ1ã@¿@{{6‹­¡¬ámã}èýCâ//”Žª9­ÿ4 eŽö¨C ª«Gõj³[´.) ´xpÚAWsWU%U=5½iý§…Î ya'´ûq€8†ôÕÁJKKù|¾” œ  Riu@Âæë›ÿýú‡×­u­{ôB[nlù#áøOâ{:íPôŽÌ÷œ/—¨ÞX/jšðxYòz‡Ó÷tì>rttt~~~ã€W…•••¼£€ÿQ¹Q!‰!ž–ž=BnðnxY{É+)|):–nß¾=,,¬ýzðJš:uê©S§äü+(2((2ˆÚîâB:]]rõ%\åU¤èðs'ø{@AM›6MÞ!Àók/öZÜÓ¯§hžG›@¿À@¿@yG!Cí‡òÖà'æäÏ#!È €‚¼ÁúÂW߆ ¨ ooïqãºô{P¯ˆúúúü‘Úž7ož­­­\À¿!/|ÕmÜøÿìg\TG‡Ï²°´¥/½÷*‚i*bCQ£b‰ ìÆBb¢F{T^5(¢€ J(¢ô.,½HGú²ï‡«×ue! ‚óüüpïÜ™9çÞ£øgæÌŒ+v±uëÖQ£ ñ—²²²Bº@ ˆo4Œ@ @º@ æ‘G111ÜÜÜ:::S¦LáææfªSWWXRR¢¤¤4oÞ<è-Õuoïß¿?wîv½qãF11±   ôôtiié)S¦ÈÉɱ6Š@ •!Ù!³µf«QÔ ²©òŸ·ÿLP˜0AaÂïœZKõOó·P±+3¶·:ƒk‘_ÍÐÀè¢w%•&½*|ÕNk·ÓµSQnÄ@@ºp4ŸŸ¿fÍš°°0ÆBiié+W®ØÚÚâ%ÏŸ?wtt¬®®Æn•••½½½»§ú±ÓÛû÷ïñ†æææûöí‹Çnùùùÿ÷¿ÿÙÛÛãF/^\SSÃhtÐÞñÝ“^‘îå®!®éÂŠÆ ÷(wg3çÁÒ…îQîÜ,táàZdA •6”ú&ûNRœd"o2¤Ž€kˆëãŒÇ5Íÿ™•‹t!1BAóÈ#žÊÊJ LÆihhìØ±ÃÑÑ‘ƒƒ£¬¬ÌÞÞþùóçX5*•êàà€‰Byyyggg]]ÝÅ‹¬7FV®\ÉËË»uëVøðáÆ Z[[q£˜(TTTܺu«¾¾~w£Ä`!) ù$Úˆ ´¡Ô=Ê=®(î+Ø Ê ªk©+3V[Rû+˜C C/ñ?~¼¸¸455ùøø@WW÷СC4mÇŽIIIpæÌ™ÆÆFàççõê•´´4lÚ´éÂ… è‘qãÆ=|ø@ üðÓ&M€ŠŠŠììl}}}ܨ€€@||¼¸¸8lÛ¶íÌ™3Cþ]ß%d t¬Ü×çˆÍy1>±#ÏŽdTd ·;bà ]8â Æ.DDDðdA*•Š]$''—––ÊÈÈ„‡‡c%³fÍÂD!¬^½šI²Ùc“uëÖPWWÇ ‹‹‹õõõb¢V®\‰t!bÀ”7–‡å†5´5¨SÔ-U,™žvOÂë uDæGÖÒétEES%SNÆ&ù5ùÉeÉe ednòX™±zRzÝvÑ»¢ ¢Ó+Òù¹ù-U,å„äº×a„F§ÅÄdUeuvu*‹*[ªXrs2'ûöÚ¶‹W—Y™ÙEïRU1W1çäèõuoÎÇÅßO¹1ÔZ +:ÅúüNËx'žñžÍíÍvºvâdñ´ò´jÌo¡¿iŠkö˜ÅXR_²êÖi')µ<5–û“ïO!?…¹É,¼-¬+tòqjjk’’5U2âʫ΋|YÚPÚ]²v~¼üø…ú }“}'*N/?žõ‡=}Sì ?éBâ;éÂÏŒ3222 ¦¦fçÎdòçÿxJKKSSS±ñ<++«ÄÄDxúôiMM¨¨(xzz¬76±°°ÀŒWUUaSÉ7nÜè»"¾k®'\§uќ͜ñq/g3çy^¬v>ªi®QUö_åÏAàÀKðe³dnò½å÷¸^—¼®þPÍEäš©5³øUñ‹ÜŒº°¥£Å•¿ª˜*vëïùÇó?<âÇ Y÷€@ F HŽbccñ³’1(ÊæÍ›÷îÝ{÷îÝÒÒÒôôt--­¹sç •””dggÇÇÇÛØØØØØÀÖ­[¯^½ÚØØXWWglllgg—››‹‰6FØìM¶nÝzíÚµ¦¦¦††‡üü||G¢_$'òrñnšüYåÈ Ë;Žu¼öêZoMfhÎðŒó¼›twªÚT ²ˆò‰Šò‰bO9qÁYÁL­ÞxÏx;Og. ÀÉØérÌå×ů{´M&ˆ5Í5ç£ÏÓét::>@JY ²zÁXj,ã׿â¢zËedÓyvØb¶¥¿MÄhéÂëW¯^½zÅX¢©©¹yófIIÉÈÈÈŸ~úéÅ‹%%%—.]Â+ÈËËϘ1»VPPðóóstt¬©©ÉÏÏwssSVV¾qãÆôéÓ± Xv ›½±‰’’Òýû÷øá‡ÚÚZ*•Šõññ177ØG@|ÏÔ·ÖK H1 žÉ ˳h²Í|›‚°Âô‡GCò‘ø e íôìfkÍÆž^Œ¹œ,Ê'j®l.% Eâ$€ðÏÛðüÅMp8d…dSÊSz´XÓ\C£ÓÎDõ°²ª±­‘õ ÖµÖI%øIü¬«õËyv@ù…éÂoÇ÷öˆB¡`***ÏŸ?ÏÎÎŽ‰‰)--åææ–••ÕÐÐ04übtÂÚÚ:/// ;zÄÎÎ..îóÞf²²²ì÷F¡PpÇðu$$ /ÔÐÐÀ.lllòòòðóNììì_Šñ„‚5B;¥,Ås±§¬, o×OZÿ(ã‘_Š_\aÜ$ÅIB¼BïªßE¼‹ðXìÑ]öé¼¼°<ã^ò½Î®N^è}Ÿšÿž_ø4ëiVU$—%€šÿÛÒ·€Ÿ[@ F H~G˜™™úûû3ª©©;w®_«IˆaA_ZÿèÌ£‡ŸŽ/Š/Šƒy:ó~ ý­·&SÕ¦†d‡eá%rBrÌú»v6sŽ¡Æä¼ÏñŠ÷NÎßfþvûÍmÆ­`µÉêÈüHÿ´ÿp°ý {;jONHÎ{‰·K Kjyjjy*^®-¡ÍZ€‚°‚çbÏ;Šë‹ï%ßÃ;””é^¹Oç…y…ç™ï›ìëýÚoÂÚó,ûþ}¿ÆÏ­F #¤ ¿#Ö®]ûã?†……åææ655‰‰‰ ! é/2S2 Ë klkT£¨Y©ZeWe;›9«‰}Lç#Ÿs8WÕT•PœPTWÄGâSUž¤8 ß³F˜W8puà‹Ü5‚<‚*2‚2]ô®†Ö¬‚¢ˆ¢³™óDʼnë&®‹Ì̪Ìâ#ñY©Z1®î~"³Ž¤Î“5OKSËS[:Z¤¤4Å5Ù<8xœÜ¸çëŸÇPc²*³ˆD13e3,Ÿ’ÉPŸÎÀ±YÇæéÌK¯HoîhØg EÅîåx\ÄH€m£À&‹-€{÷î ™?b¨¬¿MMM,*¨©©º»W̞ͪøxò„ìì,™››7ÜŽ †UUÕ¾+}"Ä× ª©êÎÛ;½=US±Õ¶ýšþ Dw.D ˆ¯Áûæ÷îQî½=µV·Fº@ ;H"Ä×€ÂGa±òCELåk:ƒ@ =‚t!@| ÄÉâC·"@ Žáv@ ñM€t!@ éB@ Fÿò ccc‹‹‹Ñ6ÈÄENN®ïJø^éŸ.TWWçåå3gÎyƒøFpss344´´´nGƒÉãÇ‘.D  ú§ ÅÄÄÄÄÄNŸ>=DÞ ¾ÜÜÜ,--Q GÅÅÅ}WB Äw Ê/D @ ]ˆ@ F4ï"–ÞZW‡Ý¾«~·ôÖÒû)÷¥ó¤Ò¤¥·–g³¨3ˆ×ùA'»*ûRÌ%'§¥·–&•& ·;bH@ûZ#ˆLÕ‡ª¸¢¸šæìöCû‡¸¢¸‰Š¥óúÖú¸¢¸éÓYÔD‹ýí*«*Ëõ™ëbƒÅözöÿÝ:kì¼ìÒ*ÒðÛúÖú¡¶ˆ@ †¤ ÄèAELåÖÒ[²B²ÃíÈ× ±­1®(n²òä¯`«òC¥:E}šú´ÌÊÌóþý İ€t!=ð“ø'(Ln/F!þNþd 8òìÈpû‚@ †¤ ûÏÅ‹ÝÜÜÆŽËNý+W®Ü¾}ûÚµkjjjCíbhññ‹ÁÍ Ø =\¹·oõk€B?Øgg7´5¨SÔW¯dzú®úÝ/Á¿,Ð_°`̬$³2Ó/ů¨¾ˆN§+Š(ÎÓ§+©‹×oîhL|[ò¶¬±ŒL"Ê.Ô_(Ä#ÄÔmeSåÍ×73*2øH|ÖêÖótæ±ÞÆ5¿&ÿ~ÊýìªìήNeQå…cjKjàeY¸÷0õ¡GœÜKº÷2ÿ%Vÿö²Û°Â˜(D £¤ ûAQQQxxx]]›õß½{ÞÔÔ4¤^!¾EEl‡Þ½ƒðp@¡lö<Þƒ/ˈxq?åþc`¬À”¢ç—â·çÉ:ŽWðˆóøkî_vºvP×RgyÑòCûüipV°GœÇÝåwå„>oôXÞXnݾ²©» Ê Í u·sïMÞ~sÛõ™+NÃýü_âÿ~ŸùûBý…ýzYÖî•4”dTf@q}qq};-¿³œÖEcQA˜WøÂü ýr@ŒJ.ìŽŽŽÆÆÆl"FŽŽ`lÌî`!bhx’ùä~Ê}^.ÞÕ&« d jškn¾¾yíÕ5M°µãV˜*™rrpÔ¤4´6`O;h\D®5ã×èHêˆñ‰5´5¼¢¾ºóöŽ{”ûŸsþÄ;¹‘pCYTy›ù6q~ñ´Š´«¯®eùªø.Ò_ÔÝbbIâ‘gGøH|K —Hˆ¤ÔòT¯¯ƒONTœÈ(7û„µ{öºöÜ¿†üºÈ`‘½nëNâŠâXëB ?…}ÇÄ(éÂ~ /////?Ü^ †yy@¡nî%Ý7;·ijÓ°’yºóæxÌɯÉï­ '§EãÐôCx‰“±Sc[#v-Â'´&èYγðwáÕª;h@"’Š;'‹û­ôãåâ€)jSŒåŒ¼ó£Ï[Ÿu¡gœg½Ës±§‘¬V2EmÊXÙ±«|V¦þ<égöß—µ{²B²:’: '$×gJ¥÷oÆAÓîp¹Øw @ŒbF˜.Ä3ö:::Ο?Ÿ››+))éää4eʼÎï¿ÿâïï/$$ÄTøèÑ#2™ÌØOSSÓ¥K—¨TªººúŽ;”””àÁƒ÷îÝ«©©111Ù¹s'ÞO÷üBöÏ?ÿWTTˆŠŠN:uÅŠ<<aºËØ{ôèÑš››±BoooŸE‹>þîž‘‘ÞÑÑÁØ+ìììdìÇÏÏïàÁƒííí|÷îÝ„„„“'Oº»»cÕž>}úüùóèèhì–)¿ðÇ3gÎŒŠŠÂ­øøøœ;w.44TBâsŽvPPБ#G0+àååuöìÙÍ›7c·kÖ¬ñòòbtõ?þHOOWQQùßêÛE\,€uë@P<=ÚÛaÑ"HL„ÿíY§Œ½GàÀøzðöøzÈÈ€ðpø2ô ?…þc?~~pð `A †»w!!Nž„O¡‡§OáùsøzæüÂ`æL`=øøÀ¹s ¡‡  8r>…¼¼àìYøzX³¾ =üñ¤§Ã(ý£µ³U˜G˜©P˜—¹„‘9Úst$u¥?òKñ˪Êjël³Õ±u±pä÷—îÅõÅ“'ÍÓ'I–$IaL «Ìd´´¡´G‹ÍíÍ4:-º ºû£ÖŽÖ>ß‘6Ýc”_ˆ@ Ød„éBŒ={öØÚÚ.\¸L&\»vmß¾}¸.dŸƒ.X°ÀÁÁH$^¼x144ÔÁÁ!==}ÿþý'N|ÿþ½««kLLÌãÇç̙ӽùþýû£¢¢ÄÅÅ÷ìÙ£­­]PPpêÔ©””” 6øùùáÕ>ÐÓƒÖVHM…«WaÔ‡þ? A–ȯίk©cÔ‚)å)¬[)‹*o1Û‚]§–§.¿³¼ª© Ó@I¥I¼Â7› =C IDAT~¸ÁAøxòSsGsUS×ã¾iåiŒ·Ú?¼«~×Ûú\iAévZûå—‰D¦G¢|¢}¿$}ºG°ž Æ@ù…‚MF¤.\¾|ùµk“ÍçΛ““^YYÉ8JÇ«V­ºtévmcc#--pïÞ½… ?.”––ž5kVlllw]ØÙÙéééÉÃÃ¥¡¡:::jii=|ø°¢¢BRR+´µµÅe¢ƒƒƒ´´´««ëõë×;ÆÅÅE§Ó—/_¾{÷n¬Âüùó÷ìÙÓÕÕÕ¿/29Þ¼-[ ?.\€Å‹aëÖ¾[-_ŸBsçBN„‡Ce%ô3ô°j| =ØØ€´4$$À½{ð)ô - ³fAllº°³<=‡¢¢àSèÁÑ´´àáC¨¨€O¡[ÛÏ2ÑÁ¤¥ÁÕ®_‡cÇ€‹ ètX¾>…æÏ‡={à{ý@1W6Ï}Ÿ»÷ÉÞS¶§ÈÜdÊ òOógÑäÏÿ\0fª˜*v+I–ä"rá‡æ ñ½«~—U™…m"SÛR»ïɾÖÎV&]’r?å>¶ñMKGË ÍÍstzú…ÀFÃÆ=Ê=8+ØÅÒß鈴­ñAêc9ã~½oŸîñqñ@a]aŸ]¡üBÁ&#R.]º”ñÖÈÈ(<<¼ººº¿ºÐÑÑ¿&“É***™™™ööŸWö@qq{@¼{÷®©©iÖ¬Y¸(11±… ^ºt)99yúôgg­^½š±áêÕ«]]]“““@PPÐÙÙÙÃÃD"YYYéëë+((pss÷ë-F*¼¼àë ÆÆðÇ ¥lµú2ô`dááP]Ýo]Èz “AE23!ô``ÐSèáÝ;hj‚Y³€!ô & Â¥Kœ ŸB_†V¯WWHNggð𠬬@_à; ý@Y;a­_Š_hN¨é9S1•šæšÒ†RIôŠôÞš\¿~%öŠ(Ÿ¨¼°|{g{ÎûœÎ®NKKìé4µiñEñv×í4Å5 ¿&Ÿ—‹WVH–qkЖÐÞóxÏßáKHä×ä7µ5ñqñõ¶‚d턵!9!·ßܾ›tWITI€[ ª©ª¬±ŒÖEó\ìÙ¯÷íÓ=e1e^.^¿¿ÔòTl†½·ý ÿ{~á…è QùQPP['ÂN\йÛ,¶¡äEb4Á1Ü QÑ/¦cH$Ðh¬fIz|*""ÂxËÅÅ% ÀÉ߯ÅÅL©Š­­­Ý=ÁK°§ÂÂÂÝ+´´´`·gΜyòä F;qâĘ1c”••O:ÅÎÄÐh€‹ ˆDàçg« Ó'‘X†¾ç§_†¸¸@@à‹ÔF..`NUÄÀ‚Û-ôKB_†þc…O¡‡3gàÉ ÑàÄ 3”•áÔ)øNB? $É’7—ÜT§¨7w4§–§V6U®2YµÜh9‹&{§îÕרi®I*MʨÌà pØéÚ´=‰=]5~•£#è••2B2ž‹=ExE˜:qÐsØòŠq+VŒ[QÓ\STWÄGâ“’Åæ^1ˆâï³~ßeµ‹ZKäTU€£3¶u¶aô¥õo-½¥(¢(% µÚdu~M>‰OMLqGëî'2“¹É®6®¿Lû%¯:¯¥£EJ@JR@ÏdSW}ºK —ØéÙå½ÏkélÒß'7šn\l°¸{9þåÄè`êBUUUpss»xñ"Ggg篿þ:èºP\\ÜÈÈ(11qïÞ½¿ÿþ;–)xöìÙ)))lãèÑ£¦¦¦ÆÆÆ@¥R1ÁgccYYYNNNâââ@$ <<|ôëÂmÛ >Ξ…Ÿ†iÓàȘ4 ¬­ÿSŸªªnnpñ"pp@g'üúëàëBqq02‚ÄDØ»~ÿýc¦àÙ³RRÀz8zLMÁØ€Jý(øll²² œœ@\€H€ðp¤ ûÏq²¸8Y¿íñ|dQ>Qk>„y…²èIé1>Â{ä41`nÜû‰Ì\D.- ­>Þ„®X¸‡ÁÇÅ7FzL¿ U1UÆÏŽ@ F+£P.Y²äÀW®\yô葜œ\^^^SS“ARRÒàúóÏ?mllNž<éáᡪªZXXXQQ•3NFËÉÉM˜0A]]››;33³½½}ìØ±XjcmmíîÝ»÷îÝ+'''++[SS“••&ô±KíˆçÖ-¸x?nÚòÏ?`dK—Bb"Èõã@f–,àÊxôää /ššÀÀ;ôðçŸ`c'O‚‡¨ªBa!TT|,gœŒ–“ƒ @]¸¹!3ÚÛaìØ©µµ°{7ìÝ rr + 55•0êCÿC­¥î{²¯·§ÆòÆ;,v|Mœ,ÜDŒVFd~!k¤¤¤<<<„„„JKKãââ899ýüüôô˜ÉþïL›6-00PMM­¦¦&>>¾¢¢BFFÆÛÛ{ùò/žÎœ9cgg—•••œœÜÞÞ>mÚ´   ,'RKKk÷îÝâââ………111YYY åСC...ƒîí7DZ¬_ZZŸWKIÔÖÂâÅ=§ô±‰”xx€”–B\pr‚Ÿ AèaÚ4 55¨©øx¨¨ðö†/Cg΀deAr2´·Ã´iô1'RK vïqq(,„˜ÈÊ ‚Ñúï›æŽf,'¯Ç?ÙUÙÃí â»%~Ê”)W®\ù.¶Â@ô¡_))Ø÷îÝ2úàÝ»w………ÆÆÆØ±%Œ…&&&ü kZ[[SRR899uuuI$RFFFEE…™™6’×c?¯_¿nmm|øpáÂü¬WÄè _ºpÎ#ÿý·††F`` ²²²²²òp»ƒøŠüý7hh@` (+ =¥èêêb9WK—.õõõnwÃÒ…l‘““#))yóæMÆ™bÄè';rr@RnÞz1z¸téÒÚµk÷íÛwþüùáv1<ŒÂõÈCÁŽ;6mÚ¤©©‰­A|GìØ›6¦& Ð#ˆÑÇŽ;¤¥¥9RYYyøðaÆ zßH²ãawˆï zñ±dÉ11±mÛ¶uvv=zÍ’}W ß@|Í¥K—(G¼‹P;®æïÅ¢ÎàZü €’úï×ÞN>NÚ'µÕŽ«E¼‹nƒÆ¢E‹~þùgWW׸¸¸áöñ5@º@ F! Å jÇÕÎGÝFÜ\àâ•ÕAûçX"¾UvìØ1mÚ´­[·VUU ·/ˆ!§둱müäåå‡ÈķÕ+WÐÖ¦£Œêêjuuõáöbh#=&woîp{ñÝ!+(;Ssæ4õiÁ™Á>I>Ãíb!þù§ƒƒÃ¶mÛnÞ¼I$‡Û#Ä‚Æ =ƒ !6¹¿òþ›#æÊæ\Äá?Þ1ðóó»¹¹½}ûöêÕ«Ãí bhéßx¡†††††Æw{>ò÷@X¿~=Zƒ6ÊÀÎGÑ4´6üñ÷Óì§ ­ êug3g¦ )e)7œÍœ±G´.Ú­7·î'ß/ª/¢ÓéŠ"Šótç-»„—‹«_çí·%oËËÈ$²¡¬áú‰ëÇÉcê6º útä錊 >ŸµºõNË¢|¢½9I§Ó}“}ï&ß̢ͪÑiÊ¢Ê?Œýa™á²>7ëÓ[&X8>úüéˆÓp:â4vh$ñ_ÐÑÑqvv>sæÌ´iÓFýÌÃ÷ Ú×@Œ Ú:Û–Ý^–Q™Ý¦–§®¿¿~¶ÖlMN…ŸºúêóðFjyjjy*×òqË ª©jÉ­%øÓÚ–Ú¹/ÂóÂÿ·ô&ò&xybIâñ°ã´.´v¶ÞMºûºøõ§|\|Ý-Òéôvú§ùã%™•™GžÉ¨Èø}Öï¬_µ·L°é<;hþ©‰½]oPø)±[bûÕ'bT²víÚgÏžíÝ»÷îÝ»h6y´‚t!Ü|}3£2CELåÈô#ceÇÖ4×\½zëÍ-MB²Cx¹xOÙž2U2åäà,¨)ðO÷ç#}ÔsÁLÙlŸ:’:~J}k}\aÜîÇ»/Å\b”VA™A Æ,ØhºQ‚,‘ZžzäÙ‘¬ª¬Ë1—·[lïnÑ?Íß?Í_S\s÷”ÝÒܜܩ婿†þê“ä³P¡¡¬á€½e‚µó›L7MP˜ðÃÿ~Øn±}“馾?.ÁD"ñرcsçνÿþâÅ‹‡ÛÄ€t!g„óçÕ)êÀ'Äç:Ã5¿6?º º·&R‚R`­aM$@[R[[RJá§ì´Üy9öò/Á¿T¨¦Ñ?Ž™eUe1vb cp|öqlØDÞäÒ‚KÓ¯LÎ îQú¦ø9ˆ^Ž^d ¬ÄDÞäôÜÓ3¯Í Í e­ Y{˛γCÖî~7A|·hhh,[¶ì¯¿þš5k–€€Àp»ƒ|.D #jU’,‰‰B e ºðÀÔ›lšziª¹²¹¶¤¶¡Œ¡Ž¤þ4±$qÙíeÝ·Viíle¼5S2cL ”–WUίÉïÑbNU­‹f~Áèt:èðiWiC)ëdí-l:@ :ÎÎÎþþþ—/_Þ¹sçpû‚|.D £mIíõ!‰Å‰¯‹_ÇÆ»Gº‹ð‰œ±;£)® —b.uÐ:œÍœíõì%É’$"‰@ Ø\µ©i®°Å.zô˜®×çÞ~¬½ebGù…ˆ~!,,¼aƳgÏ®]»VXXx¸ÝA 2HBttô³gÏœœœ”””†Û—/øfYDçE?K{æ4ÙIILi¸}ù‚oÖ±oEaÅäòäœ÷9ŒC†ù}­A$MäM°|Á–Ž–éW¦ï{²Ïo¥ÕQø)Œ‹š ë j y{ˆ*ˆÚf¾ 2,ª+ʯÉWQìÑœª˜jZEZôæhîL±±ð–‰>ç p@/ øüøãW¯^½~ýú¶mÛ†ÛÄ ƒö/„èèhWWׂ‚‚aô!""âÈ‘#………Œ…ß‚c£€èÜh×@ׂ÷ÃèCDvÄ‘€#…5_Æ÷pld1Sk&Nßô`S 5¦¹£¹¸¾øðÓÃ,&‘`‘÷¢Ûonç¾ÏmílmlkŒxQ×RWX÷12‚2ÕÍÕÞ¯½ÛÛÿÍûwÍÝ5Ø€#I¥Iû‚öQk©-- Å ?ûýÜÙÕ9SsfÏ µt´¬øgÅ‹Ü5Í5´Ž’ú’°Ü°M6±vµOo™èÓy!!ˆ/Нk©cm7kwVîÞ\Ð`!‚ ^^Þ•+WÞ¸q£©©i¸}A 2h¼LMM><¼cr®®®ÖÖÖ xá·àØ(ÀTÍôðÜÃJ¥aô!"'Â5ÐÕZÇZA”!¾ß€c#‹ãV¤dTf,¿óqß0G{ÎãŒÇ½5I+O{Sò†©Ðq¬#v±ÄpIø»p×W×W¬DGRGC\£²©’±þLÍ™Rø&>þGULuý¤õ=Zœ¯7?®0î~Êýu¾ë˜í8²~AÖÞ2ѧóJ"J’dÉjŒñc¬dèö/t taÜšgõÝÕØÅ9‡s½ hÄHgùòå—.]zøðá?þ8ܾ 4^¦¦¦GŽùå×7ëØÈÂTÕôȼ#ßà\í7ëØ7 7'÷­¥·–.£ðS¸9¹u$u.οh¡bÁ¢Éý÷4úQ¢ÆÃÉ#Â+2NnܱÙÇL;€=µV·þ{îßZZ<œ<d‰%†K¼—x“ˆ$¦NÆÉóXäa c€u²HÑewzܼ‰9'ÜíÝ'+Mââ"rÉ ËOט~qþÅÉÊ“Y¿ ko™èÓy"ñüüóÆrƽm‹@ümmmÿ÷¿ÿ ·#ˆA†Ð¯ãΰópÞIbbbxx8N777711yøðáÛ·owïÞÍÇ÷ùgk]]ݳgÏòó󹸸Œ-,>ÿ¸ ŠŠÚ°aƒˆˆH```nn®¤¤¤¨(ó‘ìt",,üøñãìììqãÆÙØØô˜Æ×ÐК——ÇÇÇgdd4iÒ$Ö/H¥RCCC+**DEE­¬¬´´´ºÛô÷÷§R©222óæÍÃÓuoÞ¼yýúõ°°°U«Vaã…JJJNNN=:ÆŽ¡>¿RŸ„mÛ¶±ÞIbabxV8èæêæ&J&ß<|[ôv÷ÌÝŒ[¯Õ5×=K–ÿ>Ÿ‹Èe¬hl¡ÁšŒÐ¨œ¨ –DøE“s+s%%íÆÚ‰òw‹/ó ?Nyœ]ž=Nqœ®Mi| - ¡¡yUy|$>#£Iª}Å·ššZÑP!Ê/j¥i¥%ÅðÙ?ÙäôëO­¦ÊËÌ3˜'Ì÷)¾17¯G_Ë [5y6^¨DQr2uêÑ1v õù•zcÀÿ~™¨¨¨`=y¤¦¦êî^1{6š`B ¾už@Xc¶æÂ² ØQ°˜]]Ý]¾»¨ÕŸâK¦<ØôÀLÍ nÆÜ Ë ¯—Ÿâ«aédêÔÝ1v õù•âë0fÌmm퀀¤ GC® ÝÜÜ®^½J$íííUTT²²².\¸ ..ÎXÇßßÍš5œœœsæÌÑÖÖnkk ‰ŒŒ\¹råãÇŸ3‡Ö¯_ÏÉɹnÝ:2™œžž¾yóæÈÈÈ~u²qãF‰´víZYYÙGïÝ»·víZ011111!‰¯_¿ŽŠŠêêêêQž?þرcÁÖÖV[[»  àáÇ׮]£P(ÇŽëmÚ´‰D"­[·Ž‡‡'444==ÝÁÁ!33SLLlÅŠ]]]Lã…6Äú+ :n¡nW#¯9ˆöcíUÄU²Ê³.ü{Aœüe|ßú¯¹±†“ƒsŽþmií¶Ž¶ôȜȕž+;3Ä×{='ç:‹udnrpZpziúæÛ›#÷Dö«“·6’ˆ¤µæke…e{¼—poíµ`¢db¢dBä ¾¦¾ŽÊê¢wõ¨ χ?öä@°Õ·Õ–Ö.¨.xøæáµÈk2åØ|†øÞÞD"’ÖY¬ãáâ ÍM/Mw8ïù[¦YlŤ]ô.¦ñÂbý•ß2•s=çööÔZÝúÒ‚K_Óâ¿3kÖ¬ëׯ:t‹7jr]ø×_qpp„††ZYYa%þþþöööŒuöïßÏÇÇÿÎA§Ó.\èçç—™™‰O•ªªª†„„ðòòÀ±cÇôõõ_¾|ÙÐÐ ((È~'rrrááá,vi?pàœ?~ãÆxaTTToé?÷ïßwppÀJ^½zenn~æÌ™_~ù…ŸŸ+”––ŽŒŒÄ\íììtttôóó»~ýº‹‹ËŠ+ ÃÂÂV¯^ þC¬¿Ò ó׳¿8¡;B­4­°ÿ·þö翌ïƒý|$¾ˆÝãBsi¡_¢_fy&>Uª*®²#Ë…:ÖyLßUÿeÞˆ–A^Aö;‘‘ ß.ÀÓ{|€óËÎo´bˆonvÂDwŽ€û?ßw0üôÙó_™Ÿ0?zæ—9¿ðsНtäîHÌÕήNÇËŽ~‰~×£¯»Ø¸¬˜´¢°¦0,3lµÙjlñ¿bý•âkbkkû÷ßÇÅÅõ™m…) ­.¤R©¥¥¥666¸(;;;“øøx춬¬,==]UU5(((((ˆN§c)Øà\BB.éöìÙƒÉ ‘HÖÖÖYYYeee‚‚‚ìw²k×.¢°¸¸8''ÇÄÄ„Q@or­°°°¸¸xòäɸV€ &,Z´èöíÛ‰‰‰æææ¸ó¸2ãääüõ×_ýüü^¾|éââÂΗ엡޾;†úµšZZWj£kƒ‹B°kg¢d_ð)¾õeé¥éªâªA©AA© ¡!p@BA.éöÌ܃'È“8IÖÚÖYåYeõe‚¼‚ìw²kÆ.¢°¸¶8§2ÇDÉ„Q@or­°¦°¸¶x²Úd\«Àå ‹ŒÝ~u;±0Ñ\ýÓgŸ¹Wfœœ¿Úýê—è÷2÷¥‹ {ñí¡Þ¾;†ȶ„öЭF †--­/^ ]8jZ]X[[ =ÍŠ*))Ằªª òòò<ؽÆ$?yyyÆGd2:::úÕ‰ººz÷ 8ÕÕÕ ©ÙÃé=‚½ ŠŠ S9–ãYSóùàeeeÆ Ø-Ö|p ±øJƒNms-t_Q«DQÂuaUcäUå|ØSh’üäE¿ôœ› ŸŽˆ`¿u –ñmªM)¶ãû¡TÄ»}vqU¨ùÀ_Ê—ñ¥(çï3¸†X|%øúLžÅ—“¾ö°!ø¦011áä䌉‰±³³n_ƒÀ¯;Ù¾}û®]»¦M›foo¯¬¬œ““ !!QYY‰ÿ7üçŸΟ?ßÈÈhêÔ©ZZZ<<<qqqùùù---l®r”NàèÑ£ŽŽŽëׯ÷ððÀÖ#'$$DGGwttô8Ö¸wïÞÍ›7ÛÛ¯!È£ IDATÛÛÚÚjiiQ©ÔtttìÙ³_ eeeÚÚÚ¶¶¶ÜÜÜÏŸ?OKK£P(NNNØS555pqq‰ŠŠâããÃö/˜¡¯Ìvëí»|wMûk𽡽2E9§2'àm€„€Dec%>ÅwáŸó/Î7úÍhªÖT-)-.ž‚ꂸü¸ü÷ù-ZˆìÅw0:€£G/;®÷^ïå­GN(HˆÎ‹î¸ÜÁIè)¾³ön¾½Ùþ¼½­¾­–”µšúà̓ZÇž™{ðµ PV_¦}PÛÖÀ–›“ûyÆó´Ò4 ™âdê„=U“P—».Q9Q|$>lÿÂB ˆo ^^^--­ÔÔT¤ G_Cfddxzzúú~yòd````` |ÚVð·ß~c¬vîܹ;w^¾|»Åö/Ħ­`æÌ™:::ééé'Ož„OûÌÐWfûôíåžQž¾¯?Å×jcY}Ùƒ7p5cohkí­-w¶Ô캷+.?..ÿS|ÕÍ{Û¼pÓ”MŵÅ'Ÿž L LúôÙÍÖüfÿe|—žÛyoçåðOñ%Slz€M[ÀL½™:2:é¥é'Ÿž„OûÌ@|kŒ3&%%e¸½@ C® ‰D¢‡‡ÇÆÃÃÃÀÌÌlüøñššš ›<ÅX²d‰½½ýóçϳ²²ººº”””&Nœˆ/¡°¶¶æáá‘’’bì+dLh@'ÐÓ1Ä6løá‡ž>}šŸŸ/$$ddd4aÂïxìØ±õë×ãÇL™2…ñ ôôô€€*•*++ËxÞ ðððÄÇÇ?~ü877·­­ s¦»c¬ ±ù•"Ñc¥ÇF«áÙá`¦f6^y¼æ/š2…‡‹!¾ã—ØÚ?ÏxžUžÕEïRSš¨2_Ba­cÍÃÅ#%ø¥ç:Ö<\<‚ÿ¥èéâ –~0ùáiÚÓü÷ùB¼BFŠF”YÆwþ±õ–ëCÓ?C2Ek ã1$’鿦¼  VSeEdÏ;.žøñ“çVæ¶u¶aÎtwŒµ!6¿@|eôôô>|H£ÑÐ.†£€¯q^||<ãÊsçÎmÙ²ÅÁÁÁÏϯ_ýŒPöîÝ{âĉ7oÞŒ;v¸}a—~ƒ_ϸòãÜ‹s[îlq0tðÛø}Ä÷þÞÁ'Þz3Vþ[/:@0ñ_ÎÁÃIJJZ°`AXXÓ†ˆo„oë<˜:uê˜1c ¹¸¸^¾| Û¶mû ¦_©§¦Ž‘c(oÈEäJ &¼Ì} Û¬Q|â»@QQ¨T*Ò…£€¯¡ ÇÿâÅ‹˜˜ì–››ûÔ©SøòdÄHg¼òø™/bò>Å—“ûÔ¢SøòdñmRÚPê›ì;Iq’‰üçñþ”²‡ÎfÎÎfÎÃèbd!,,,,,L¥RYÙ5¤¬^½ZEEå—_~ë½ÑÕÕA¥R»ººTTTìííµµµ™ªÑh4??¿ÈÈÈÆÆFEEEGGÇÕ,¾†.|þüyBBÂÛ·o«ªªdddlll¤¥¥¿‚Ýo„ÞòG Ï]ž'$¼-z[ÕX%#,c£k#-ô=Å·—¼Fâ§´¡Ô=ÊÈAdÔ…’’ÎfÎXeÜ"ÝQTTì¾WñP°|ùrmmíýû÷3ÆÇÇ·¶¶~ëýÂÞÞ>==¿ óòòrqqY¿~=^ØÖÖ¶jÕ*|‘kddä;wNœ8Áx\0;u‘¯¡ ÀØØØØØøëØúÖ°¶¶¶¶¶n/†c%cc¥ï5¾ÚÖÖÚ£<¾ˆï ²)D qqñ÷ïßCqqqÝ÷šõôôÄ÷ú¦hhh°±±™0a‚‚‚BKKKXX؃N:eii‰¯={öl\\œ””Ô–-[¤¥¥ÿý÷_ooïýû÷?^FF†ý:ƒÈWÒ…1(”5”…å…5¶5ªSÔ-U,³ßg‡d‡ÌÖš­FQj-Õ?ÍßBÅÂ@ÚàUá«´Š4~ÿc€Æ¶ÆˆwEuEÜœÜzRzŒƒdiiÏsžã0ÎÑž£*¦Êس¾´~tAtzE:?7¿¥Š¥œ;n³pŒF§ÅÄdUeuvu*‹*[ªXrsr3µêÓ(‹·ëÑ´ª˜êý”ûC¡uѰšÎfΕM•ÿ¼ýg‚ÂlÈo;Vfì«ÂWÉeÉÜœÜ*J"JýŠ bÔ#&&V\\<\ÖÙ<í+óðáCÆGfÏžÍÅÅu÷îÝèèhLvvvÞ¾}›H$Þ¸q[baaA nܸqûöí;w²YgpAº@Œî&Ý=òìH;­»5”5´Õ¶ur××Àu¡{”;‰Hr‹t‹Ê]IÝÆþœ¼ïɾƶF¼+CYÃóç%ÈVžÆØ V¨-¡ëB¬ç¿ÂÿŠ¡~̦åäàÜ?mÿŠq+úô¼7Ç’J“¶úo-®ÿüª´ ôÅùõ¤ôØ7Êúíz4m£iã›ì ±ÔØXj,ÖÊÙ̹¢±Â=ÊŸJÆÚòrñ^йšŠU#rÍ:6Ì|öã‚õˆŠŠ&''wtt¬\¹ÒØØØÙÙÙÇÇ'&&¦¶¶ÖÃã¾¾~ûöí666Œ[óVTTlß¾}Ö¬YË—/¼íÖ­[ïÞ½ÙÞÞnhh¸råJl,0++ËÕÕ•F£¥¦¦.]ºëäàÁƒÚÚÚŒù…x?[¶l¹uëVll,‡µµõüùó ²²òæÍ›™™™d2yÑ¢Eø©cõõõ¾¾¾oÞ¼ijj’””œ1cÆÔ©SüME!†ºº:pqqa·III æææŒë…œœnܸi>vê .H"ˆ‘ArYòÁ§i]4y}iýÚ–Ú§YO/Ô^è^Ó3Þ³¹½y®Î\a)©ŒÊŒmþÛ:»:ÇH1–3njo Í}SòfÓƒMw¼Û}NŠXÏvºvâdñ´ò´jÌo¡¿iŠk²™ÇäXI}ɪ»«Z d ¤ Hœ¤ÔòÔXjìO¾?…üBæ&³c”Í·c2­FQ[¨¿Ð7Ùw¢âÄñòãût»©­ÉN×NR@2­<íeÁËÃÏOט.À-Я¸ F1"""uuu]]]qqqd2yÕªUøbÓÎÎÎÖÖÖ¸¸8 Æ&X¡ŽŽv‹·ýùçŸ_¼xþûï¿Ïž=óõõåââjllÄrìðd»††ø2¿ïgíÚµØþ'ðìÙ³üü|{{ûeË–áóÝ?öððÀWÁ¾yófݺuµµµ¸‡÷ïß_´hѱcǰÛ?þø#55•õw8uêTos»>>>œœœ–––XInn.0V“——~÷îûu¤ ÄÈÀ+Þ‹ÖEÛj¶u‹Ù¬ÄÙÌÙΫ‡£·Z:ZV¨ˆ©`·..]«LVퟺÓI»­vÏ¿1ÿMÉ›ØÂØIŠ“Ø÷¡¥£Å•?6‚žñž<ÿÃ#΃M]ÈäØá§‡Z\m\—-Ãë\O¸~4ôh@zÀRÃ¥ì½öê;oÇd¶y“é&ÖnwÐ:‚Öá“×{ŸìõMö/ŠŸª6úÄ(†››»­­ »Žˆˆ “É;wîÔÖÖæáááååe¿Ÿˆˆaaá={ö¨««WTT\¸p!--íÉ“'vvvššš·nÝbZwÒ۲܈ˆQQѨ¨¨dggŸ={öÚµk/^¼““Û³g°°ð‹/îܹsúôiL655mذ¡®®ÎÞÞÞÊÊJHH¨°°ðúõë÷îÝ›4iÒ¼yó 33×£½ÑÒÒÂT²qãÆºººúúúÜÜ\AAA777ì¦AÅÅÅ™šHHHdgg·´´ðòò²S§¯Ú?.D #ƒ7%ox¹x7NÞˆ—È É-6X|õÕU¦švºvŒèuñk"èb邞‰ðŠl˜´á@Ð×ůû¥ çéÌÃõ8;]޹üºø5›Í™‹¦F ÄšæšóÑçét:vÊÀ‡ŽR–†leóí˜L÷‹ùzó3­T­|“}++°[öã‚ÅH¤öö‰t:ÝÛÛ{`©prrÞ¹sGYY»UTTüñÇíìì&L˜@ „„„XB†õãããƒí§hiiÙÒÒâîîÎÁÁñÏ?ÿ`GãN™2%===%%¥³³“““óáÇÕÕÕ;wîܰaÞÉìÙ³---ýüü0]¸oß>lx’Ý ñʉ'2žaF£Ñ û!1XIgg'›u—þéÂêêêâââíÛ·ºˆoÐÐPèQFRR’œ[‹$¾Mê[륤ˆ„/~>Ê ÷ðFL«"Ú$$x8y „°>û僼ðÛör8d…dSÊÙ=–ɱšæv&êL÷šŒÉ‚¬²ùvÝWа´à;Oñqñ@g×ÇÿØ bC"‘ðñB--­ï®7fÌ\€žž|Wëo?Œ›lcë>>øðáS¬{ÊNÁ¥º0''§¸¸ØÍÍmÐý@|k¤¦¦ö™HqtŸãAñ•7–Óè4F R\×ÃH"ÇE[°¬¡¬µ³•Q<Öb}Vþ¡ý‹Ÿ¼¥ ¥Ý{.ª+b¼¥Óé%õ%‚Ü‚l¾³c<‚í´öŸ&üÔ½&ãr ÖFû|»M"ìÇ1Š!‰]]]Ø5›ûõb#aL 1ÞbK4ðžÙ‡©LöXˆ ¹577@RRR÷®H$v1°üB###ìbæÌ™&LX»ví•+WÜÝÝáÓà"Ó¾mmm¥¥¥’’’؈ ;u—þé‰'Â`œ¯ŠøÆé×ùȈ‘v>òÈÅPÖ00=ðrÌ妧,KJï%÷ýãhœÜ8ÿ4ÿÓ§÷M݇•ÔµÔ]‰½‚=!Ë [0fV¡¢©Â'ɧ{Wé«Ç¯Ægu½¼ª›«±4»`ªhê“ä£(¢h§ûE6^fe&¶¤ƒ£}¾]op¹±ÊsgÀqAŒ&ZZZ¸¹?î¯Ô}-—   ÔÔÔ0fggÌ6Œ7¸`Çm¸ººª©1¯ Ç‡–_ȶ¦¸´ôãïœúúúN£Ñp…ÙÙÙ‰=b³Îà‚ò ÄÈÀÉÄéqÆã¿#þŽÊҗѯm®}šý7¬Y3~ÍãŒÇq Å F²FMmMÏsŸ×4׌•;Qa"èIéI%‚³‚—ÞZ:VvìûïŸf=å#õ0AÃËÅkçe7Cs†8Y<½"=º š@ ¬¿f`oô³éÏÁYÁ..^ñ^Ò<UMUÙï³SÊR<{Ê É²c´Ï·ë yayǽä{]"¼"0°­Äh¢¥¥…Åœ¦ˆˆ™Lþ÷ßóòò0m”——wâĉâçç/..îêêâà฻ݘ1cÆ7üýýO:…¯ ¡Ñh!!!ø¸f¿ò SSSÓÒÒìììxx>äWUU=zpé)--mdd”˜˜ø÷ßïܹ“@ TTT?~°ŒF6ë .H"ˆ‘´«ë¯¡¿ÆÅÅÅÀX™±SÔ¦œŽ8e¼õ†Ž¤Ž›Û¾'û’J“’J?Îa;üa<œ<­nó߆÷l¦l6Mmškˆ+SW«MVGæGú§ùc·ØV‚>5NNHÎ{‰·K Kjyjjùçù)m m\öi´Ï·ë a^áùcæû&ûz¿öÆJ¦ Äh¢¥¥@=²hÑ"///[[[uuõ¶¶¶‚‚==½¢¢"MzDGG'66ÖÊÊJVV–@ `ûþÇ?2~üøE‹Ý»woêÔ©òòò ¥¡¡¡¸¸¸­­mýúõsæÌ~æVVV8pàðáò²²¢¢¢õõõ]]]üüü?ýô9udïÞ½K—.½|ù²¿¿¿¤¤dfff[[›±±ñÌ™3ûUgAº@Œ–.±Tµ Ë kjoÂÎÕ8ôô0,ŒPQt6s6”5dj8Ss¦©¢iD~Dq]1‰“4Fj ㉠0Kk–ž”Þ¿yÿ6w4ëJêNVšœ^™îlæÌ´†—›“Û{‰wd~dVe‰ÏJÕŠÍóNzsLGRçÉš'‰%‰©å©--RRšâšÚ’_ü÷Ó§QÖo×›i86ëØœ1œüÛ0½<}þÙùtQzÜê¸þ[WAˆÉ‹ñ¼à¹Õ~ëR«¥ýÚ‘À;íþ^P/ݼI÷öfäääö²Ý»w'$$„††&$$ÈÊʶÙšT\\\YY©®®®¤¤ÔØØ˜’’¢¬¬¬©© l6»ýµD¡œœñ¥‹ÅÊÉÉ©««c³ÙFFFRRR t:xž×a;µµµÙÙÙZZZ ƒ,|õêUEE…©©)÷“N‡SPPPSS#''§¦¦F~›¤gØlviiiEE…„„„––Vg{ r8œÜÜ\&“©®®®  Ðã:áÎD»„Ï BŸ±òªó,Õ-å$äòkòïçÜgqX£<ž|T1«‚“ƒ;;«#¯3è'>Ÿìï ˜êêjYYY!!!Þ; ª««“»e‰‰‰qWîðÚ ©Tªw ÷÷‘;¼DFF¦}¡––÷n‚ …ÒayÏ q¹3 ¥ýz—Ôé˜"„>#•Gþ“ûOÁ›²dîȹ+Ç®äqÉÀx]ÿÚ7Ö·³³Sô§ î¼ð“ý½ SRRÂýH}¾ú>/¤Óé–––ÿüóOŸ·ÜKŸl`|úDâ§ÓXZ*ÿó›`Ãhï“ ŒOŸ{üÃÛÆ{ÎÈ9‰Å‰eue’b’ÖÖú ôOYz  ¡ÀcÑF?4»ÓO‡/èQRRbgg'è(PÀç…Ÿ"aaa;;»ÈÈHA‚ú…°ð^;;ÈÈù‚䳤.­ÎçR¾E¤hU¤+öl1oo:ý¤ê÷‚>,«¼¼\MM­ëªè“×÷y!ï éôÉƧO$~&óA‡Ð±O60>}îñ#„¾Xeee,ë³þÌ&"õå¶!„úÒû°p}¾ú>/¤Óém&œ={vìØ±’’’ló­Ãèèè™3g*((ˆˆˆhkkoذܑ¨±±‘B¡¸¸¸”••-\¸PNNnÈ!S¦LióC6›½gÏžaÆ‰ŠŠêêêúøøäççS(”Õ«WwŸÍòŽ­3<ÆKö›ŸŸ?{ölIIÉéÓ§“ýÆÆÆR(‹EùÄœÂnÝXþØ]tú;»}ììÙçcÇIJØoaqæàÁ$6û_›EGÍœyYAá°ˆÈ_ÚÚ'6lø§®®ùÿãl¥P|\\®”•½_¸ðºœÜ¡!CL™r!%¥Š»6›³gO°aþ¢¢ûtuOøø$äç¿¥P|V¯Žê00>›å[gxŒ—ì7?ÿíìÙWddJJ˜>ý"Ùoll …âÃbq¢¢ )â¿þ)êîå€!ÔßRRRˆÝ›êý>¿pãÆ>>>äá³gÏž={wîÜ9¢ÄÏÏïûï¿'·Q|õêÕÞ½{£¢¢>|Hn’Y[[kcc“——GFEEÙÛÛgee‘[ø¬ZµÊÏÏø9//oãÆIII]ÆÖe³üÄÖÝñ@MM­­mII qkjjÚeÌÝê¨ËöÞÆÑ>> \aT>{v/.®ôܹ«/ýüR¾ÿþ.¹Kæ«Wo÷î}UøðáB ÚÿÇÙdcs./ïíÿÇYho!+ËSAáÃVO«VEúù}ÈhóòÞnÜ”TÑel]6ËOlÝ/ÔÔ4ÚÚ—”|xï‘[»ÈÔT±Ë˜»ÕQ—D¡œœÜ­¿Ð§¬ß#'%%ùøøˆ‹‹>þýû÷/^¼°··¯®® "ÎÆÇÇûùùIII¾~ýº¼¼üèÑ£W®\é2<ÞÍò[·ÆKxðà††Æ“'O˜LfffæÜ¹s™L&ñhÓÆÆ†ÃáP©T{{{Îÿk¿È‹ÏŽx°÷’’*||ÄÅ…´/+û¾ºzõß%''œžyyo׬‰’‘ó÷ŸVVö}c㺌Œ¥®®ÉÉ•|LÜ££‹44¤âã¿~ÿþ‡/–ÙÛ­®n Ê$ÎÆÇ—ùù¥HI‰:¾~íU^¾êèÑ©W®ätïfùŒ­[ã%cëÖx t:=<<ÜÚÚzÈ!†††ÁÁÁ†††±±±]?ëVG¼Ø{¡¡/à×_Ç®^m®¬cëÖx t:-<|¶µµÊ!4CC¹àà††r±±%õ}ucù B €âââׯ_c^8hôo^˜““m¾-H§222`áÂ…ÂÂÂT*•J¥ ———’—XXXHII‘‡:::ðîÝ;â077¦M›ÆÝK›Ãñn–ÏØº5^‚™™™’’yH£ÑìííÛÔáÏŽx°÷rrÞÀŒÿúÀÎŒ:“S ¯`áÂëÂÂ{©Ô½Tê^!!aá½ååï ?NÓ´°`HI‰pÅ)ïÞ}˜ç—›[ Ó¦iq÷Òæ°C¼›å3¶n—`f¦¤¤ôqš&do¯I^Î>;â=@„‰‰‰4møðá‚õXÌãÓÎÄ: ‹Åb±Øl6›Í&'ó57üç­Í'‰Û|Ù¹M/ü|÷™w³|ÆÖ^?eÝÝ »¬ÏÏ}ë=Që$X,‹Åa³9\·š›?®=ÿ×ck¯Ç_*ïþï·‹ üÜ·Á$¯:oQТ‹iØ)?1ÄäÅ, Z_? ö½U/ŽÅ[²dQТ”Ò>{½€«ÈÈÈÑ£Gwöå_ôÙéß¼ø–ß7¸ oÞ¼Iž244€»wïrÚyýú5Ÿ½„¾}û6wáÝ»w{|bër¼„äääÊÊ/ûZZZ¢¢¢€ëËÖBBB­­­Ýí¨¿¹º€íÛãŽI®¨¨ó¦188‹Ø;fþ|Cðð.,,äî~# ­¨è]s3«¢¢>6¶dÍš¨]»žðÙËœ9ú°e˃³gŸ×Ô4VUÕ?žºcÇã^߃غ/Élqv¾_V_ß’•U³hÑõ¬¬5ãÃËe99±ŒŒ×¹¹µm6ôénG_y EAsFÎd1¼kz__R7 ùng*ßWê+读ÒN×Nб Ï@\\\}}ýäÉììh± IDAT“ê3ý»O……Åúõë÷îÝëååååõñÌ‚ \\\@__ÿèÑ£+W®\¶lY›k7mÚÄg/£G^¾|ùÉ“'=<<ÈB77·­ãÝFøÑƒØº/ÁÖÖ677wôèÑd N'V&MštþüyòÉßýû÷Û,Iæ³£þfaÁX¿ÞrïÞ§^^‘^^¿Ú·`¡‹‹èëË=:uåÊ;Ë–Ýnsí¦MÖ|ö2z´Êòå#OžLóð¸Iº¹†„dÑh=ÿ?6=ˆ­ËñlmÕsskGþ¸î›N§«F“& =>KOï$qxÿ¾[›%É|vô¥"2dôÐÑ]×ì1ô«ð%áJt%Øvg› cAŸÈÈÈ#F¨¨¨:Ôgú}ÿB“#Gޤ§§³X,OOOîí¦—/_njjú×_ÅÄÄTUU)**êë뻹¹¹»»óß‹ŸŸŸžžÞ‰'ŠŠŠÔÕÕW®\iii"++Û›à{[—ã99¹ÀÀÀuëÖEGG³ÙìñãÇïÞ½›{1×¾}ûZ[[ïÝ»÷æÍ›Î&ÒñÓÑðñ±31QÔ·Ô_{~-¹$¹ì]]„n®f>Ïdž´˜4?1"²#"²"êšêôô[.n.®¤_ñ÷€Ð”Їù‰úçÜ?ìBš_“1í⋪­ìVm9íy#ç1Œz}#y!’B„øÑÔÔáéé)è@P_ˆï#{xxp?ÉkÏÊÊ*88¸ÃSbbbí£ö…BBB›6mâ~Œçíí #FŒè00>›å[gº/èêê^½zµ³³ÊÊÊÄN4ܺucù`wµÿŒ¯‡Çp^+Ѭ¬”ƒƒgtxJLL˜ÃÙÐe¡eÓ&kîÇxÞÞ÷`ĈtsÆg³¼cëL—ã]]™«WgwvVYyHhè¬6…ݺ±üp0!æöÑC¾m|_o¡n±ûÞîâ·ÅDáíìÛéåéÛ¶€1ÃøÅë~q~mòÂsÏÎÅÅÿgÊ ¶¡vâщï›ß“g#²#üãý/|sA]ºƒ½¶‰6ÝØD.C‰É‹¹˜vqÙîKxwQRW’Y™ Åo‹ÉQqn¿³Åa‘ÿô÷NÇóLæuv‹¾ þ†ÅfuvdÄeŽÌ9£Bü»~ýú»wïæÎÛuUôùè÷ç…ãäÉ“¯_¿vvvÖÒÒ*--=}úô‘#G$%%ê'O¦½~]ï쬧¥%]ZÊ<}:ãÈ‘g’’"Z‚ ØÉ''õôŸþ;C’‘QžqäÑ‘ gA+ƬP•R¡Š¸ w9õôTBQ‚•†Q¿¡¥áFæ‘*#‰o-¬•¶Ìz™1ÃX^B¾®©îIÁ“àä`ßXß?¿ú³ËÞofݼ˜vQœ&îiåiªjZS_s&ñÌÉ''¹ëðîÂe¸‹¤¨äows5uuþqHRIÒ¶;Û$D$™/2U1¡Š¤—§> üÏíÿŒÑÓaÎ ñEñ¼óB…!}ö­#„‚‚‚¦OŸÎ½íI^X[[»eË–-[¶pþõ×_t:]P!¡>T[Û¸e˃-[pþõ×$:½çóGÑà %§æ&*, u&¶°[ÆL.MV•R73·SOO]H¹@æ…ן_¯o©'Ÿ ÊJÈÞZvëÎË;ÑyÑÕï«[X- ByZô”ŸÞCSB`¿ó~{={¢dÖðY_ù•_óqù<ï.ԤՌƠ.­Î=s1 >€Ía̰P³ J&éM2S3[²ôÚókßý¾ÃxÎ.<ËûŠdPßHIIIMMݺu« A}lä…ß~ûmmmíÕ«Wóòò¨Tª¹¹ùúõëgΜ)è¸Pßøö[“ÚÚ¦«WsòòÞR©ssÆúõ–3gêv}%ì ‰¤0By¼©ÿ°…¸¾‚¾©ŠiDvįS••€ ©ÄiⳌ?¼Ç¯bV- ZØæ.¼kâkû÷ìªlq2)ªÈ,ãYb?~*³g]¤”¥P)Ôýö‡ÃáZY­[ÛÙUÖü.çB¨—Μ9cdd4jÔ(A‚úØ É ¥¥¥wìØÑû½iú[ŸÌðûIK‹îØa³c‡ é Ÿá÷ j³@„&D6çãOnfn?ßúùÚók‹ÌåVç>+y6gäºè‡7 ¾}‹ßÕ;kø,!B¡P(›onæ3/llm”k»£¤Œø¿JzÖE}s=‹ÃzôêQ¶4vvÎ/DãÅ‹ׯ_ß»w¯ A}oä…!Ô¡Æ3vDîM ]d¾èBÊà^†’Rš"#.szÁi!ʇ=ê[꫘Ub4¾–º+Ñ•ò«ókj¹sÁ´ò4î:]vA>D¤"¥ÒÌjö›ëG¢¶éTNB®³xp~!>>>Æ srrt ¨ïa^ˆÌ$h_}ššV–v%ýжœ69פŤóªó²+³‰e(oÞl¹¹¥±µ‘ϼÐVÛ6çuÎæ››}føÏ oeÝ Ïç®Óe4 (¬ý×W׆9øÆúFdG¬Ÿ¸ž|&ú®éÝåôË–ê–Ńó ÑHII¹ÿ~@@€Ð@|J 0Ì Bƒœ›™[hjè†ëªë«—Yÿk›z{=û„¢çSΊ_“/NW“VãÞV†‡å£—_J»ù2rÜ¡q:ò:5õ5¥u¥Æ ãçÏùïB[^[œ&~)íRzy:ñVúœû¹å£—ß}y÷ܳsR.hÉiIŠJV1«ÊÞ•±Ø¬€ùÅÓûù…G‰Í€Wo^À÷ÿ8w ÖNX‹“p8œ]»vY[[ÛÚÚ :Ô/0ÙG rfªfÇåVçR)Ô6Ÿ°[j½ÔÍÔœÌÊÌÌÊLUiÕ€ù²âüî‡Ï 3Î,<£¯ _ßRŸ^ž^ɬ\jµô‹oºÕ…˜°ØÏ“}Qõ"¾(>¾($hÁ‹‚Ý-ÜiTZÎëœg%ÏŠßKŠJ.±\2\¹‹í3{#·:—ˆ¡’Y ÙUÙÄ!ÿŸ{FƒÛùóçŸ={Öf÷4˜Pºµ ‚ø,oû-—Ñ C¡PÖ®]»oß>A‚úR_ýù­¨¨h¿Ë:7==]_ß ''^uzà}óûôòt5i5b÷¾Ú†ÚìªlMYMeIe²Q¨%§Å 3¸¯}õæUÅ» qš¸‰ŠIû–kj ÞH‰IiËi@zyzSkÓ(õQí;msHÊ­Îe635e4eÄeª˜Uy5yú úÜytA¨o©Ï}ÛÐÚÀáp¸7¬iaµäVç6´4(K*3$ä$Å~’[ûúýëöåm†ƒ›7éÞÞŒœœN¹s+))qrrúæ›o6lÀvŸ]Ýnlßï‘BŸ‡6ß&–—iÿ©â @KVKKV«³–eÄe¸Ž›ÝtØigßGÖ•ÿø×®"]Q‘®Ø¦.4‰‘*#Û·L£Ò • ;‹¼ÏéÊër!‡Ãùå—_”••׬Y#èXP?ê^^øøñãââbâÛ£hpÛ¿ÿþýûêcêê'!„¸©¨¨Lž<™»äÑ£G.\åq!úÜu//Ô××ÿꫯú)ô‰Ø¿?ÀZ€±‚õ­}úú₎!ô©«­­õññimm 544€¤¤¤;wzyy™šš ::Ô¿º—ÊËËËËËã´³Aoÿþýcæ :Ô·BååBè“çëëÛÐÐÀáp–.]kÖ¬™0aÂêÕ«êw8¿!„Bäææ±X,¨­­]¼x±˜˜Ø!C|||pÃÂ/æ…!„úà·ß~#W´´´äççÓéôóçÏKJJ 60400÷G!„Àýû÷>|ØÚÚJ–´¶¶¾{÷.  ÓÝÔÑ ƒy!B!„ µµõ·ß~kÿ²˜Åb…†† $*4À0/D!„œ={¶¤¤„Íf·?Åáp~ÿý÷;wî |Th€}ÑyaHHˆ]rr2Ÿõ?ngg—““Ó¯Q!„BìÍ›7û÷ïï0)ÆápNŸ>ÝÜÜ<À¡öE¯;)**ŠŽŽ®­­å³~^^^tt4ï/€!„BŸ¿þú«©©©M¡‡Ãsvv^´h‘±±±@bCé‹Î ÝÜÜ,--ÍÌÌB!$0999!!!Ü i4ZKK‹»»»³³³¸8n‰ÿ¥ø¢ß#khhØÙÙÉÈÈt]!$hieiz»õ|c}{ÓÈÅ´‹z»õ"²#ú*ªÎÄäÅèíÖ LÀTý’·%gÏ. Yb´ÇHo·^L^ÌÀÇ€>/Û·o'–› Q( ‰¹sçÞ¸qãÚµk ,À¤ð‹òE?/ 9zôèþýûÉG†,ëüùórrr“'Oöððksá³gÏŽ;VPP ªªêééicc3à±#„>O‹Ÿ.ø{Áº ë¼Æy :€¹gæ¾~ÿZÐQ ÏHx\\P(KK˯¿þzêÔ©4MÐQ!Áø¢óÂ6ó ß¿ïèèKV 9tèPdd¤’’YxëÖ­mÛ¶‘so<ˆ_B¨¿T™³W}uMMJÍÑÀÑ^ß>"+"$%DÐá OZkk3À99977·ùóçkhh:"$`_t^ØÆÏ?ÿ«¨¨¸iÓ&##£W¯^ùøø¤¥¥­\¹òÒ¥Kdµÿþ÷¿ŽŽŽ .‹ˆˆ8qâĺuë¦Nj`` ÀàBˆpqñE⇨—Q‚}úŠ‹Ó|â⌨Tª cAŸÌ ?hmm ‹6lQèææfhhxåÊ•ŠŠ ƒAΘ1ƒLgÏž­¢¢²}ûöS§NíÚµK0¡#ôeH+K›}z¶···7QÒØÚxüññ™7Šj‹D„EF*\1f…­¶-yI]cÝ_1Ý~q»®±N_AŸ¼‡Ã K »z!»2›ÅaiËi/0[ànîN| ,&/Æó‚çVû­ŠûìˬȔ‘˜¢?eÃÄ rrpøÑá}1û`_Ì>âà~®™\šüçý?ÓÊÓD…E'éNÚj¿UFç4£O…–Ö(•š+è@ЧóÂòòò˜LæôéÓɤäååçÍ›wìØ±ÔÔÔ©S§…žžžÜzzznß¾=55u@ÃEè‹×ÂjY|~qbq"qØÌjŽ+ˆ{\øx»ÃöEæ‹ ©µÉýœ{fe&Q!½<ý»‹ß9:q7Âáp6\ßžN–dUfm»³-³"sçôdaRIÒîû»Yl4¶6^H¹XœxyÉe šï ÓÊÓöü³§™Õ - —Ó/¿-væq‰ÁŸDGQ¢ðxÍcÞý"„PÏ|Ñ둹566€œœ\›r¢„8Kh³~™¨ÐÐÐÐï!"„¸œM:›Xœ¨*¥z|ÞñäuÉV=ð¶ñ¦egÔÎ*fœI<“Y™©#¯sfÁ™Ôõ©ÿ|ÿÏ"³E72op7žžn hà?ßÿéOÓÖ§»1ŒBRBž•<#«Ýʺå2Ü%ê»(¢‚¢Anu®_œxó:ÿõyX7a]Îæâ?ò«Wç™Ì‹ú.*}CzÈ×!ªRª E ™™tB¨›ðyá***˜˜Èf³¹¿™ªªªdIRR÷ä§OŸ€ššÚÀÅŠ¸™y|]|ÍTÍ€.J÷¶ñ®dVžO>•µÀlADV…B9<û°¾‚>HHKlŸ¶=ÿMþ£WÈFÂÒ¨BÔ@·@%ú‡µeVVûfîs<éù2Ò\Íœ(4U5Ýí´›x³l¥aulǧFdG¬›°Žw6Ú6¿Mûøy”ú¨cVl»³-«*ˈaÔÙ%Ù?e÷øž „P/a^ø¢¢¢……ERRÒæÍ›wîÜI|óçàÁƒwïÞUVV655%kîØ±cܸq–––PPPàíí  ¡/RÁ›q")$MÖ›|>ù|Á›(¨-`ÐDRHš =;/|Yõ’ÅfÙ±‡Ãñ”Ö•’Õl´lˆ¤ !£¡-§_“ßec†Žá>ÔÑ€÷Íï»1N„@˜~ôçŸ:88ìÙ³Çßß_WW·°°°¢¢‚(þx£ÔÕÕG­¯¯/**š••ÕÜÜlffæææ&¸ÀúBQ€Òu%žØ6t8Ÿ¯…ÕÒËÆ@TX”û˜È;;ƒó B„yáGööö×®]ûá‡rrrjjj@UUõ?þøú믹«8p`ß¾}—/_&¯úûï¿EDD1B_0MYÍäÒä”ÒSÕóÿÉý‡8š2š©å©/_¿ä~d“ÿ¯èÊëfTd/B±×³GCÇ”²¯Ë^Û¶›ªšÖÔלx|‚û%2¸šº>½ñÔã¼ÇšñkÌTÍ$E%+™•/ª^„¥…¹›»ÓGTK)MÙrkË÷c¿W¢+eTdl»³­•ÝêhàHœ•“€„¢„Ú†ÚÞïAƒó BôEç…Äšeeå6åzzzzzzíëëèèèèè?«©©áZ„è‹o"²"’J’–‡.ç.ÿeÊ/ŠtEðåq5ãjfeæ7Áß§(ÊWF_q/Iž3bN|aüÅ´‹+ÂV´ißÍôãäGÇËé—ÃRÃÈ]yÝïÆ~Gü¬%«Å 3â â,X%‚ý.Ëúkë¹wÞñ¼ðak­C³‘¹,Buè ݧ毿þ6lصk×´µµµµµB¨ÛhTÚ™…g¼m¼uäuhTÚ‘!c4ÇÌ 6/QaÑ EAîæî CD…EÆGç 3» …òÇWøºøŽ×/-&M£Ò4d4¦›ztÎÑñÚãÉj£ÔGù»ú›ªšŠ ‹ÉŠËºš¸»“›R…¨‡ç¶T·§‰ØðB¨?PxÏ€nÃÕÕBCCû-ž²råJ???ƒƽé "P(€€ù‚õ-×yóúàÏoEE“ÉäQAOO××·ÂɉWÏù½“¥VK B}ïæMº·7#'¿w2˜éêêò_ù }^øã?¦¦¦bRˆB!DøBçrì!„BÁû¼!„Bµñ…>/D!~LЙ ØÅÅ!4ðy!B!„À¼!„B0/D!„BÝ_øâÅ‹—/_jhhôS4èSò-ÀzAÇ€úVõ‹ú]×B!ô¥Âu'¨cff:í¿ˆ>kÉÉÉ‚!„Ð'­{yá°aÆ 6¾w‚x£P(žžžNNN‚õ¥Õ«WÓétAGBèÓ…ó B!„æ…¡ÏE%³Ò7Ö÷Iá“Þ4’Y™éë›óºß·$,xSàë›\ÚÃw÷½¼¼ÇÕ/Ía?+yv,î˜o¬oÁ›Ä€Ðç"„>ï*|c}½m¼GÝãFžW<÷õ¦8LOA¯¯+­+ K «9ÖJÊ,$,IQI3U³´ÙËËy6ýöÌö»ÛodÞ¨©¯!ÍTÍ4e58„>/D}’Œ^&…ý¤´®Ô7Ö7¾(^дõÉÖ¡[Y·jjÍTÍŒF‚Ž¡/>/D}”èJÞ6Þ‚Žõ—mÛ¬4¬ä%ä·ÝÙ–Y‘)èpúB}éyá£Gîܹ³dÉ---AÇ‚⥒Yy>ùüè¡£¹¾kz“ST[$*,:ByDû¦åïÊïçܯkªÓWП¨3±Ã–YVÜ«¸ìªìVv«¶œöD‰¢Â¢Ä©‚7áát&˜¨˜)|’Z–**,:Ag‚–¬V·FÍæ°;ì—”_“ŸZ–ZVWF¥›©šPÁO`,6+¾(>«2‹ÍaëÈéØêØ µýç 7a÷€£cwêÒ”ÆÄÄÜ»wÏÓÓsèСdá£G¶oßngg‡y!BŸ¸öó #²#¶ÜÜò®éYÇ\ÍüðìÃJt%â045ô¿·ÿÛÌj&ÍTÍfÏlÓlJiÊá?¿-&KT¤TŽÎ9J$XÄ|;ªÈÞè½qqDa!áŸíöåñEña©að¸àñã‚ÇD2ýje·®¼¸2òe$qH¢îš¾kÎÈ9|¹©µiñùÅö õ-õ+ÂV&èL8<û°8MœG`É¥É?^ý±°¶¼J]Z=Ð-P[N»ÇaŒ=È 4‰å£—ó9p„ |YyáöíÛ§L™ÂŽ7î¿ÿý/&…}v2+3׆¯me·ŽTi©nÉlfF¾ˆ|VòÌë²×…¯/P(”Ô²Ô_"~a±YVV&*&5õ5·³o~t˜»‘’·%K/,­k¬3U55U1I/O\ðøÛ°oï~{—.úa»Ç€„€úæzçáΊtÅŒòŒ¸‚¸ÿEþÏ@Ñ`ôÐÑÖÖóLæ…¥†Ñc­aÝ&È€„fÓy¸3C’‘QžñðÕÃÿÞùïÔaS%E%ù#~à}ÓûÇG(0R2R¢P×T_“søÑá 7tXamá’%Ì&¦š´Ú8­qÒbÒ¹Õ¹ò”Ö•’yaÂ>ôèùT²C C0/DèÓ÷å…7nܸqãB¨ÛN>9ÙÊn]jµôçÉ?S(øÉî§9§ç<+yö¸ðñXͱ§žžb±YÞ6ÞäÓ;oïY³¸9þøx]cÝv‡íîîdá©§§vDî¸úüê"óEDICKCøÒp]y]â0 !à÷¨ßýãýGm¥aE¡Pˆe¿^ã¼ÚÙÂj¹µüùòwóÍÍa©a E “õ&ó3Fý]”úM¨¤¨dbIbõûj•æhèXü¤ø^ν 7tر¸cDηÛi7J# ‹ßS)ÔÞ„½zÜê.Ÿò3d„`õq^X[[{çÎüü|fii9a¢¼ªªêÈ‘#òòò«W¯&+766îÝ»—J¥nذAXX˜Ç夺ººÈÈÈÜÜ\ ‹±cÇå—.]JMMýé§Ÿ$$>þÕCnÞ¼YLLìÌ™3÷îÝ€€€€ÈÈHÐÒÒZ²dI‡ó "##+**äääììì ÉS‘‘‘±±±+W®”••½víZNNƒÁpvv–““ëòæ$%%EGGs8[[[++«+W®$''“1“-ËÈÈܸqãÅ‹£FrppàO—çnYJJ*<<¼  @UUuÖ¬Y222]ÆŒÐ'+±8‘J¡®Ÿ¸žH @V\v娕[omM,N«96©8Iœ&î5þcJ¤!£áfævòÉI²äQÁ#*…ZS_søÑa‡Ãápà}Ë{H+KóÕfÏ"“3Xb¹Ä/Î/±8±Ë 猘Ã=#ÐN×.,5¬â]ŸcäݯEÈ?Þ?";¢ÍU¯ß¿æÑæã‚ÇB¡ß¦ýF&…ÐfÚbÂ^c³¦«Ñ „>}™¬[·®®®Ž,±µµ½té’‚‚‚¢¢bEEŶmÛ8Κ5þúðòò ðóó#’B—‡þþþëׯûö-YÁÆÆ&::ZHHèÒ¥KAAA«W¯n“­]»–È ïß¿ÄÙ‰'ya›ù…?ÿüóŸþÉb}x!B¡P–-[väÈ‘‘‘üñ‡……ŦM›²²²ˆ:òòòQQQ¦¦¦Ý6›½råÊ'N%^^^L&óôéÓdÌDË#FŒøé§ŸòóóàÇtppàO—'[>|øÆ >l«  pùòe›ÎŸ}Òêšê”$•ĄŸ ‡Ê €·o‰ÿU–Tæ~ 2܇5õ5,ë@ìöísO[ls•EHMZ-­<­Ë U¤T¸‰gf­ìÖ./ä§ß£qG#²#ä$älµm•%•E„E(@9Ÿ|žœOÙ¡ÚÆZ%ºÒ‘!}6Î/Dhpè³¼0<<|Ù²eÂÂÂ_}õ•‘‘QSSÓÝ»w/ߺu+>|xÕªUd§±±±T*øàááQXXxÿþ}OOOÉvïÞ /^œ={6QòäÉ[[ÛüòË/C†|økTWW÷îÝ»âââ°k×.“‡ÖÕÕIIuüïÄÞ½{…„„"##íì숒ððp—ö5ÕÕÕ£££%%?Lî&Rá.ãᇊŠÊƒˆ[[[ÝÜÜ.]ºtêÔ©õë×óßBŸŽQê£Â3Â÷ÅìÛ2y QRÛP{üñqâX¨[\͸zäáògQmÑ…” ܌Ӓ¢)«é<Ü™»<«2‹{ÅÕçW=­=ÉWºO«ë«ÉÉv¢TQ¢÷>#ï~)Š0U˜èp4îèÛÆ·2â2<«96$%dûÝí¿OÿÜ›†˜_Øæ1a·àüB„‡¾É ËÊÊž?®««{ëÖ­[·n‘Ótˆ'yOŸ>%¦Ä :ôܹsÓ§OŸ6mš´´ôÅ‹‰ÔªËËétúË—/­¬¬¸“BèÛ× ………ÅÅÅãÇ'“0=z´««ë¹sç’’’lmm‰ÂM›6‘€ˆˆÈ”)S²³³ËÊÊ:Ì JKKȤœ­¬¬ÚTÞ¸q#™ò?6mÚD†',,üÛo¿]ºtéáǘ¢ÏÔ2ëe72oøÇû?-~j¡fÁlbFåDÕÔט©š:–X.¹‘yã@ìGÈõÈb´½wþ~Ü÷Ù믭L4U1•“¬bV½xý"­,-`~€š´QMœ&îè<Í`š"]ñyÅóG¯Q(”eÖˈ³2B¡ÐÔÐVv«¬¸,´Û¿°Çx÷k®jžV–63pæý)Xœ˜QžA&…öÝØï®g^¿”v)¾0~¬æXiqé¼ê¼˜¼ÿùþ½É {?¿ðvöíìªlH-K€ðŒpâ3ÍN†N}øÑB„o}“VUU@nnîþóŸög¹gÚÚÚjjjæç绸¸èééñyyuu5ôI´yóæ èèè´)×ÕÕ€šš²DCã_“~èt:´´´ðh¶ýkk--­öy¡¾¾~âᇶ¶vûC¢ „>GÆ ãýÎû·ÜÜ’Rš’RšBû/RMTLv8îøïíÿ&%$%€©ªé,ãYÿ‹üÙˆº´úÙ…g×_[Ÿ^žž^žN–)‘I!xZy>ÈžNû’Û(ʈËÌ9',5ìlâY¢¤¯òBÞýzÛxÇĽ|ý20!8û?Çÿ{vŽÜ‹±ÃÀ†Ê ˜ð㵋߇¦†’÷AUJµObî±;/î#òç¾ý˜5Bˆ·¾É eeeÀØØØÕÕµýY+«_ XµjU~~¾®®î™3gæÎ;sæL~.'æÀeggw±ê‚Éd’‹T °°°³ú0¥>*껨¸‚¸ìÊlªUG^ÇFÛ†˜…Ù˰{Ãa˜ƒ¦¬fûrî_B¨¿õM^¨¡¡¡¯¯_VV6oÞ¼#FåçÎ;ä”Á'Nœ:ujéÒ¥{öì±°°ðððHJJÒÖÖîòr*•ª¯¯Ÿpüøqb ááÃ‡ãÆ£P(ÄR’7nxy}Ø“âîÝ»>ä’XœËã1ÛСCÕÕÕ>|xõêÕY³>lröôéÓ°°0qqq ‹žÝMMMUUÕÈÈȘ˜rçëׯ·X؃xø8á?þ˜9s&ñ’ºµµõ×_€ñãÇ÷lP ¼¿,%&5Ãh«T¤TÈmÀHÉÈHɨM …2J}1+±3B¡‰:;û’…B§5nœÖÇÍP‰\ªMµ ;Ä]“G¿ÂBÂøK˜-ày¡­¶­­vÛ¹(½ »7¦L›f0­¿{AñÖgëNþüóÏ9sæXXXLž<ÙÐÐPLLìÕ«Wñññùùù T*5))ÉÛÛÛÔÔôðáÃâââ¡¡¡¶¶¶óæÍ{ô葨¨h——ïØ±ÃÍÍí»ï¾ó÷÷'Ö#?}úôÑ£G---ÂÂÂ3fÌøõ×_øá‡hjjfee]¿~]II©¼¼œŒxm½~ýúØØX bÿÂ6£Ø¼yóêÕ«]\\f̘ahhXPPpùòå–––M›6uk‘GëÖ­Û¸q£½½½‹‹‹¶¶öË—/¯^½ª¤¤TYYÉ{å`—ñð3pBYY™‘‘ÑŒ3DEE£¢¢222Úß„ШbV'wvVG^‡w²‹Bý¤ÏòB—   5kÖܾ}ûöíÛD¡ÐôéÓ………kkkçÍ›'**J<ëkkë}ûöyyy­Y³æøñã¼/€ùóç×ÔÔlܸ1>>>>>ž¨`kkK¬M133óöö>pà@HHqê?ÿùO^^^PP¡£££±±ñóçÏ÷ìÙÿ¿a›QxyyïÙ³çÚµk×®]ƒÿß/ðÿûôºuë233ˆ’U«V•••]¾|™wºÙe<ü œpèС 6øùù‡Äþ…¸I Bñºþµo¬ogg§èOÁ¼!$}¹¯õÂ… ]\\¢¢¢²³³Ùl¶––Ö˜1cˆ%Ïž=óðð°³³#ך±¸¸ªªª¢¢‚Á`𸜰råÊ ܾ};??_ZZÚÂÂbôè3öïß¿`Á‚ Ož<ÙÔÔôÒ¥KzzzÄëcKHH¸qãFNNNSS±¤ý÷‘wíÚõÝwߑߙ4i÷÷E¦L™"&&¦¬¬Ì=p¢PII©³;C¥RýýýW­Z 666ÖÖÖ dx¶Üe<ü œ0lذçÏŸ_½zµ  @MM ¿w‚?:œo×{  <ÞÌêÈ·]m†BƒBìÃ'b]Hhhh¿Å3h%$$p¯¿9tèК5kfÏž}éÒ¥þîzóæÍüñdzgÏÌÌÌø¼„B¡øúú:99õk`h€­^½šN§÷þÏoEE“ÉäQAOO××·ÂɉW„ЧàæMº·7#''WР~Dlc§>þ>2êÌäÉ“GŽinnN£Ñž>}J, Y»v­ ãB!„úóÂbmm}ïÞ½¸¸8âPTTÔÇLJ\žŒB!$p˜¨¨¨§OŸ&''WUU©ªª:88¨¨ôüÓÝÒÙÌE„B!n˜KKKKKËïwÊ”)S¦Lø~B!ôyt!„Bè“€y!B!„À¼!„B0/D¡~“³(hQ|Q¼ A¡®a^ˆBý¨ê}U|Q|M} A¡®u{=rqqñ… ú#ôIyöì™ C@}¬¼¼œûC”!„PÝÎ ?~ìææÖ¡ OJ`````  £@} óB„B# L®<|ýÄõ²â²1ù1gÏþv÷·êúêÆ3¦èO¢I<ó¤ð‰‚ÿæI›ÉÆ»{Ÿ£>ýô´¶œöZÛµŠC3*2N<9q+ëV˜N˜«‰k?ý–B‚‚y!Bès¢%§æFäOu&¶°[ÆL.M&2³óÉç`·Ón—.D}çáÎç=â â¢r¢œ ˆB%ºÒ¥Å—Äiâd³²²·–ݺóòNt^tõûêV ˆPEž=å¿÷ДPØï¼ß^Ïž¨?kø¬¯ü¿Ê¯É'[à3B]yÝóîçiTLÒ›”]™_ÿµÅ×ä³É±šcÇ›\’Ì^w¯âsÔŠtEòvMÒ›d©nùuð×!É!˜"4ø`^ˆúœ88’Õ`„òxSÿ†8̧̪‰;w&+P(”f â â2+2ɬËÑÀ‘;)€*fÕ …ä bÒ»¦wü÷ž]•-#.C&… B™e<ë@ì²„Ï ˆôŽ`Ä0Š/ŠÿÊè+²DJLJUJµü]9wxݽŠÏQ;:qß®1šcÔ¥Õ³«²!4è`^ˆúœK"4!°9lâ°©µIJTªÍ¼7â’¦Ö&²DEJ¥M³¾}‹ßÕ;kø,!B¡P(›onn“!ñî½±µQFL¦MË2âÿ*á3B)Q)î ÂBÂí{®o®ç.éîU|ŽšxÕÞfP¥u¥€t0/D Jt¥œêœ fƒÎ ÓÊÓ€!Éèü:H)M‘—9½à´åÃnÿõ-õUÌ*1šX·zϯίm¨åΉÞ{aàsÔå܇ï›ßçUç)Ñ•.P„Ð@Áï „[m[‡óÓõŸÞ4|x·›P”à÷Ø8ÅãBi1if3»òûÑ7 o~¼úcckcw{gqX›onf61‰’[Y·Â3Âû$ÂþÀç¨ï¾¼K.²nhiØzkk}K½­Î@G‹ø¼!4x|;ú۫ϯ>|õÐö°­Ž¼³‰Yô¶ˆÃḚºSÆãB{=û„¢çSΊ_“/NW“VãÞÃ¥KËG/¿”v)òeä¸CãtäujêkJëJÆÏ+ž÷>ÂþÀ稔Œ6ÝØôWô_J’Jù5ùÌ&¦Mâû±ßp´¡€Ï Bƒ‡"]1Ø=ØZú±µñyÅóÂÚB1a±•cW;Wó°Ôz©›©8™•™™•™ªÒªódÅe»Õ;ƒÎ8³ðŒ¾‚~}K}zyz%³r©ÕÒo,¾é“ûŸ£ž=böêñ«ß4¼I+Kc61µdµN/8=TfèÀŒêo‡#èBŸ“ŠŠ &“É£‚žž®¯o…“¯:=PÛP›]•­)«©,©Ü¦PKN‹{ºT1«Šß‹‹èÉëq¯ î°î³o ¤Ä¤´å´ ½<½©µi”ú¨îöž[ËlfjÊhʈËT1«òjòôôå$äzaamaY]™‰Š ÷ºàÔ²T›e®fÞ㫺uL^ŒçÏ­ö[—Z-­k¬Ë¯É—‘Г×í›7éÞÞŒœœ\A‚ú‘®®.ÿ•1/Du òB4ð¸óBAÇ‚úæ…_‚nå…ø!„B`^ˆB!„¸!„PÇLTL‚iÊj :„ÐÁ¼!„PÇdÄeF-è(Bß##„B!Ì B!„óB„B!€y!B!„"`^ˆB!„0/D!„BÌ B!„æ…!„zìbÚE½ÝzÙ‚¤ O‹Ÿ.>¿ØlŸ™É^“…A cócBŸ(Ì B fò¸Ÿsøê!³‰YßRŸP”°ôÂÒ[Y·BŸ"Ì B Z-¬–_"~a±YžVž ?$$­MZ7a‡Ãùõö¯õ-õ‚Ž¡Oæ…!„­‡¯–¼-±Ò°úÙþgYqY)1)¯q^Ó ¦½ixs÷Å]AG‡Ð'óB„Ðç!&/Fo·^`B`riò¢ E#÷Ž´<`¹ñúÆÚ†Z²Î…” í§»…d@¶ó¸à±ëYב{GÚ¶9wŒ8{&ñÌÔãS÷;œphóª1¡(áÇk?N>6Ùh‘Õ«a+‹ù žÃá\L»¸0h¡ù>s“½&³OÏI aqXÜñS‚!„º!­`ÏŒ=@¡Pl´mã´Æ ¿ªyþ<\B¤Ïrßö˜ÍL“æ.$ß5¾ë¿~úLa^ˆúœØhÛü6í7âçQê£VŒY±í欪¬îæ…t&lµßJüìhà8EJDvÄÏö?»š¸…?Ùýt!åBNuq¨0DaÃÄ ~ý~‰ø¥ú}5ñ ²«²»ìëRÚ%8à|€|:8ReäH•‘ÜuLUMw;í¦P(`¥aulǧFdGôa^ÈûÖÝ̼ ¾.¾fªf@¥{ÛxW2+Ï'ŸÊ‰Z`¶ "+‚B¡ž}X_A$¤%¶OÛžÿ&ÿÑ«GdaiaT!j [ ]‰(±Ò°Ú7sŸãIÇÈ—‘æjæÊRÊ0eØ*… F £.qÙ?u}‡y _awYˆÌ BŸ—1CÇpjÈhÀûæ÷ÝmÇZÚûPUJ¬Ô?>ù£ Q’Œ×ï_‡I%IîçÜ[X-mÚilm첯Üê\i1i2)ì– ‘4d4´å´ókò»lœ¼o]Á›q")$MÖ›|>ù<ñ*¶ ¶€AgI!i‚öî¼ðeÕK›e{Ä88ðÿIXi])l¼Õë²×äc“mµmFæªæÆ ã>c{’¢’ð¶ñ-wa]SHŠIök×}Ž0/D}ND…E¹)@®Ç?Ä!›Ãæ®ÓaêÖ¶ ¥ÃÆÙìM‹;ÖÂjñ¶ñvá 3D¨" Åá„÷êþÃÿ¸xà}ëÈ’Þ "ìp: ‘R1Œî~w7©8)±81¡0Á÷¯¬„ì犵ÙËù…š²šð¢ê……šY˜U™š2š] ¡/ æ…¡ÁC~ˆ<ÕqÆÄõ¾å¢Ú"…! Þ6ÞdIam᫚WRbR]^«+¯›P”ðèÕ£qZã:«û*v­íZò‘aQmQ~M>‘Ó@Ž‹¤)«™\šœRšbªjJþ“ûüj¥)£™ZžúòõKîG†1ù1ÜèÊëfTdóôLŸlS§*¥šSs6ñ¬ËH,Nܵ³Í¼ÎÌ9'¡(aíÕµë'®Ÿ¨3QZL:·:7øY°ógòuvJiÊ–[[¾û½])£"cÛm­ìVGÇþÉÉÈ)¹4ù‡ð¶9l³T·d63ÃRÃÎ'Ÿ¡ŠØëÙ€£¡cJYŠ×e¯íÛMUM‰u'Ü/‘ÀÕÔõé§ç=ÖŒ_c¦j&)*Yɬ|Qõ",-ÌÝÜ}œÖ8׳®³G̶ְV—Qoaµnòâhàx9ýrXjY¢+¯ûÝØïú{\¤o,¾‰ÈŠH*IZºœ»ü—)¿(ÒÀc”ÇÕŒ«™•™ßØS†B¡|eô÷þ;sF̉/Œ¿˜vqEØŠ6í»™º@FyƳ’gmO™¹õÕ(Ú£Qi;w|öm@B@@BùöiÛûp „ Ü×!4¨ìš¾ËÕÔUF\FTXÔ\Íü좳m–˜ôÌý)ÍüËPÉPLXL‰®´Ð|áÙ…gE¨"ü\+D:èrpçôfªfâ4qº(ÝTÕt—Ó®1š‚ŒRåïêoªj*&,&+.ëjâì̸ôÓ¸H4*íÌÂ3Þ6Þ:ò:4*mˆÈ1šc曀¨°hТ wsw…! ¢Â¢Æ ã£sŽNЙÀÝ…Bùã«?|]|Çk—“¦Qi2S‡M=:çèxíñpÑãâ×_ë)èÃ¥>j—Ó.rax?™ 3!hQÐ8­qCD†ˆÓÄ­4¬ç¶Ùy!D àr}„P·TTT0™Lôôt}}+œœxÕA¤˜¼Ï ž[í·.µZ*èXÐçæMº·7#''WР~¤««Ëe|^ˆB!„p~!BõRfeæÌ€™¢?åØÜcƒ;„Ð Ï B!„>/Dý{÷×Ô¹ÿü›„a†!™Š2Å£j+ÒÖ=*¶jÕjýUik{;´÷Zm÷ÖÛV´ŽVÑVq‚ŠuкYŠŠ€ˆ²÷d„eHòûãôææ Ãý¼_ý#çÉ“ç|ŸÚç<ç:ÉÝÂ=달|”ó¨Î|¼óHá|!!¹ˆ €\DÈ…À@."äBèB‚ŠÐØÐĂħnö@ùóCcCï”ÜQЧ«f‘Q‘šõ¨ý‡M&%ï½±wOÒž„ü±DÜÉý(¹ºLy}¹l„’Ûì˜\x»ø¶‚>]5‹{å÷BcC³ªåÂ&aÓ£ g˜½þâú—6¾}èí¹çÖ5×ur×JB.€îbihâßÛ_Ý…tÊóœÅš?×ÄäÄðyü·¾½Ào…ÅŸùì9ì€ð=xÐ}, ,BBÔ]Eg=·YÕL;i¨cxrÁI;c;"Z6|Ù›ao^xx!£"ÃÝÂý9Ô/9äBÐ ùó£Ò£F9ò±ñI,H¼[zWGKg”ó(GGiŸôòô‹/õ r5w•k|Ýýu3Ùq¼¬½âòâ2*2ø<~ [ ¡Ž!5 ›.<¼P\[lÇ·›Ðw—Õ­!·:÷néÝÒºRO+O•*’YY IDATïÀEQ|^|fef«¸ÕÉÔi´óh-ΫL÷ÊïéëèvÍYõ-õ191…5…:Z:žVžƒí?kÌ AÅá;‡ý{ûËžl‰EI…I÷+î‹%bgSç‘Î#µØZY²ÎÞ?;Ìa˜Üh¥u¥Çîó±ñå<ªÝ)t†X"~Ö¬åf¡Ì¯"£¬¾ìrÖ庖º>æ}F;n»Óc)ÇJëKçøÌéeЋˆ.e]Kij¼gI÷n¦g6ßoþwW¾;ÿà8úöQ‹¥xð‚š‚GZ¶Æ¶Ã‡ëgWe_˹VRWâdê4Ýkúþäý©¥©¬0ý[Z["îFô·ìïgç÷¬1·Åm‰E vj®oÞn.T<ëg}DÁ¯âÝÒ»_E%‹Ûö²öªn¬þ#óŸâ~’dÆ€#G˜ë™3›• •Ddcd#ÛÇÖØ–ˆ*ЧÐ% @“EÂs‹ÏI¯²}qö‹ˆ»7 oŒu«Ò8’D/޶6²&"ÑQÐî ¸¼¸áŽÃwÏÜ­ÍÑ&¢w½3á— —².1qÊ@ÇàØ;Ç u “‹“«ª¸n`¿À¢Ä¢KY—”Ì…ªîñ焟ëšëÖ¾¶vîÀ¹ÒAöÝÜ÷í…oOÝ;ìܱaÛÕ$lŠz7Š9·JDa7Â6\ܰ'i“v'în·¾;øÝUcW1)ð³1ŸMûuÚíâÛ  Æ)|güN&Km Ú$½´]T[ÄaqˆhÞ yn¿¾ÉzóÖ™Œ35M5«Æ®R0æòáËÛ=_ØÉY?•â_Å}7÷‰Ä¢€éÂÄ€I{'É 2Ó{¦ìfKk ÉÙe6[D-íΠó @“Lóœ&»ðkŒË˜ˆ»åõ媎3Õs*“¥ˆˆÃâø÷öÏ®Ê^xô µ45lVsjwàqy“÷Nžà6¡—A¯{å÷âòâX,Ö¢!‹˜w Yt&ãÌž¤=7‹n´(h\̺XÝXícãÃãq¾žäBxqèjéþ}üß?Šú(©0)©0‰ˆœƹŽ[{~m'G ‰ÏøèáÞ{‰H‹­õMà7o”}¸`ײ3¶Û?gÿ'¿’V––V–&mw·pï¾PHD /¼–{-*=ŠÙdžä'½-·¿eÿ'ÿøåÙ/SJRRJR˜Fæù…Ê\RïÍï6+låï+‹j‹ŽÝ=Æ4ÚÛÉ>™…ÇåÍôšv#Ì×Ö×ËÚ«+çölŠgÝ^Ö^ß~»æ57 oÜ(¼ADÞ6Þ“úOúæÂ7²Ýäž_HDk_[[)¨¼–{íÀ­L‹Ÿß¿^ÿW‡+P r!h‡€_[ß¶²éab¿‰žVžW²¯4 =,=F8ޏWq/$ ÄÙÌYÁ8#Fêkë›é›É6¾=èmé¡|ÿ÷…¿_ʺ”Wg¤k4Êy”‘X"Væ~ŽŽí‘ˆú[ö?»èì­â[ieiMÂ&+C+·^nÌ´Î «˜Ž–Îþ9û¯å^ˬÈÔÓÖã2FîûN݇; É)ª)ÒÖÒ`5@öJä¾J¸í7 ²tqéÅøüøÌŠL›ãlæà w†‡•)ù`NbãP‡¡K†.yÖ¬åf¡ä¯âL¯™Ž—³/×·Ô»š»Žqó òAH@ˆ«Ù—‡Ê=¿ˆx\ÞÞÙ{oݼ[zW,{Xyø÷ög³ØÝ5€ÿÅbž} ¤òòr@  ƒ««KhhyP¢>ÐÅäÄ,<ºpõ¸Õï~Weˆ$¢)û¦”Օůˆ—®A„nrö¬AHˆeVV¶º näââÒ~§ÿÀ9€N©TºsèYï:›9¿á®èñ{ÏM»uvæöÛ.‘X——X˜Qž±dè„B€çê:åQã£ÐØÐg½;¾Ïø’ Û­Sú*ê’XÈ|Sœ‘Íÿ%ê-àå„\Ð)æzæÒï:kKº®QíÚ­ó©Ëæž'ÿÞþ!!–†–Aý‚ºõY<ð,È…ÒË —‚¼Õs(S§z'âßÛ¿3·@çá' B.r!!¹ˆ €\DÈ…=ANUNpxpdj¤º €—r!€ú5¸öϵ"É_ÕÆäĸu`}àú^3Ú;~íC.M²ïÆ>'S§€ÞüÞFºFDàpèö¡’º#"ºžw}°ýà…7®ç]Ÿå=‹ˆbsc‰(À1àYc&&)Î…æúæ Þí@mg!kŠÇCÃuç×Íôž9ÅcŠ´ýVñ­¯ÿüZO[/Ø7ØÛÚ[›£V–¶÷æÞ¿ÿñ÷¡CíŒí   äBÐ$ÇççqyÒ–Ç€C·ÅæÆÎòžURW’[»tèÒÚæÚk¹×þŠey±Ž&ŽÒ[:ÚÚ?g¿D"Q°S.‡«àÝÐv²lm™“ˆvÆv²‹Ã’ÂÄqج°¶™–W\_ñ±õy÷È»¿ßû}Ù°e ŠPr!h’@·@¹85Ìa‡ÍaBصÜkD4ÒyäƒÊÇÓŽ‹%â’º’üÇùs}ç*sˆýΔÔÚÎB)¥)çÇk?‘D"‘„ˆZE­D”]•Ý™)0 @“XY˵é °Ÿ/–ˆ¯å\s5wµ4° p »–Zšz¯ü8=ó"2un}aÇ h; e4>iIDqyqmßj6w`@9È… ñF:¼{'¥$%¡ aªçT"Ò{ˆ6GûzÞõ{å÷8ls?dztr}aç h‹E,"’»ºmmdýDôd×ô]6G®¿©ž©Jã<r!h¼Ž#¶ÆnÝ¿£¦©f¤ÓH"ÒÕÒõ³÷»šs5ëQ–·µ·¡Ž¡‚wr}aç hK«GD5²¯õ}-464:3ú“ÑŸë3õ-õ'ÒNøÙù©4>ÀS!€Æóµõ5Ð1¸”uI›£=Ø~0Óàð¯+ÿ¢ö."S§×v¾€¶œÌœx\ÞñÔãiei|]>œ{p±ÿâóϼ}ðhÊQGSGCÃJAei}©H, ›ÖÉ)žk /‹ãoïOD~ö~Òû9¤il„c·›\— «¥»jì*-•’ “˜"êqõš;p.—ÃÍz”u»øvQm‘¡Žá¿V]7xy±_=S^^.tpuu - RÔ§jšj2+3L¬ ­Ú¾[T[T\[lehå`âÀ´H$’E7$‰Ÿ½‡%¿ ¯Ë)YÀ³fÑð¤!­,ÍÖØVö1„ÂÆìGÙM­M‰Dö5B‘0»*»IØdeheihÉfá_øÐAgÏ„„Xfeá~ö™‹‹‹ò‘ @5êÊ…Ðå _*åBü+ˆ €\DÈ…À@."äB` r!0 €¹È…@„\Ðåbrb\7¹î½±WAŸÔÒT×M®¡±¡ÏgwJj6®;¿nôŽÑnÿrsÝäÚ(l$¢?2ÿ˜´wÒ€pÝäº;qwç÷ò<×ïOÞ¿àÈ÷ïÜ]7¹ÆäĨ»"€MKÝ@OñcÌ¿%ÿ&Û’]•r2D$©«¤NšþÛôG Ô]€Æ@.€¿ÄäÆêFÌ‹p2ub³ØDt=ïºH"Z9jåbÿÅÚmu¨2[#Û@·Àq}ÆEß>’rDÝåôtÈ…ð—JA¥³™³‹™‹´¥BPADc\Æhb($¢Èù‘Ì‹‹/ª·€\šA$…ß¼YX[(‘HL&yLšã3‡Çå1$Éñ´ãw#îW܉E.æ.où¼5Ãk‡Å‰É‰Yxtáêq«=¬<~ˆù!½,ÝÙÌùä‚“Dt£ðÆ¡;‡îß)­/5Ð6ðµõ]:té »A̘Òº[¸ÿ;æß÷+îë¿=ðí÷‡½OD¿%ÿ¶?yqm±ßîã‘Oì7Q®æ¸¼¸®ýQž¡§­7¾ÏøOGjªgú¬ J$’ˆ»GïͬÈIDN¦Noù¼5×w.‹ÅRò)ØÝÑ”£«Î­Ú6u[ [ ´?Ó¸cÚŽWû¾úí…o÷ÝÜGD)%)®›\åFž´wó"달vK}ÖÑn÷'j‡\šaóÕÍ¿$þ"ÝL+KK+Kã²¹ï z‡ˆ$ÉG§>:“qFÚ!µ45µ4ÕÎØn„ã¦åVñ­M—61KåÄ1U *ç„Ï‘~äqÓãKY—®f_=|`°ý`iû’;Ò6 ›6_ݬ£¥SÙPùsÂÏL‡œªœ£>t4ut·p—~êVñ­M—7‰Ä""jnm>šr4¹(ùÄ‚z\½¶³“H$Ÿžþ4*=JÚr¿âþ×~Qž±~âzeŽJ»ë %Km{´ÿŸÊí_nÌŒžÅ\ßã2†Ïãg=Ê:tç—ÕŽpîþ¹™Þ3—ø/éÍïÍasˆˆÅb8Ì4¯¿es}óÚæÚ¤‚¤ÏÎ|¶3~§l.<“qæÝÁï.ð[`ªgz5çêGQ…ƆŠ%âAǹŽc³Ø;âwìIÚ–öÝßÉînú€éÿ7üÿ, ,ÒÊÒ¾þóëÌÊÌ]ñ»>õqÛÙE¥GE¥G¹õrûì•ϼ­½u´tÒÊÒÖ]Xw$åÈ ¯¾¶¾í•v×ÖWã¿újüW¾?ø:›:K¯½ÑwW¾Û•°ë÷…¿K#¯’¥¶=ÚŠ‚Ð €f°2²"¢ñ}ÇsX"r·tw·üïɹã©Ç‰hËä-Ò³ƒ¬ ° ;‚φÀ ²—eÍõÍ?ý鮄]_EUÕP%½ë6³2Söƒ£œG­·šyè8¾ÏøèÌèUãVÍôšÉ4~6æ³£)G³ª²d?åmã½)h³»ÁöƒwNßùêϯFgF?5¨E¤FpØœ½³÷ZX0-ƒíÿðæ»/<¼ L.Tiw¡d©m¶âŸàSe~–©¸t-äBÐ «Ç®þàÄcwŽé4ÒÝÒÝׯ·¿eé»ÙUÙÆºÆÒPøT#GÈ­Õ»U|kîÁ¹B‘P®gsk³ìæû!²›6F6D4Øî¿'9lŽ¥¡¥ÜóPdwgÏ·w2uÊ­Î}jm+ŠÄ¢‘ÛG‘D"‘„yAD%u% &Õ±Ýu†’¥¶=ÚŠ‚Ð €fp·t?¿ôü­¢[ÉEÉ7 n„^ 5Ñ3Ù2y‹[/7%Gàóør-;ãw E€)žS, ,µ9Ú,ëµ_^«n¬–í¦£¥#»ÉÄùFb‰Åb•gõÌ ¼§®¥k[;€E,é^¤ä⯒”,µíÑîÀOë ž3äBÐg°ý`få_“°éÕŸ_ýòì—Çç'"3—…7âòâ†;W~ÀšBs}ó€iKAMA^už‘®Qç«Í‹ýhäGÒsf…5…¹Õ¹&Oíìbæ’^ž·<ÎPǰ;vg¦oÆ4Ê~$>?¾;êL© ~‚Ð €f˜¹æTÏ©Cì‡Øñí„"a\^\MSôŒ×´ÓnÞøèÔGŸŒþd´óhc]ãìªìC·Möœ,wX–‘MVUÖþäýS<§QrQòú‹ëåNªuXJIÊ—ç¾\6l™…Ezyú×~Ý*n•}LÌÿÌÎ{æÍ37çž·bÄ Cà AŃÊ©s}ç*vï®y"ÚwsŸ·÷£†G¿Ýüíüƒó˜W‡KUü|*¬/xÎ @3¤—¥ß.¾-×8Ûg6óbú€éW³¯FgF¯>·Z¶C{‚1çøÎ¹šsuíùµkϯeZú[öïÛ«/ó0çN t <‘v"ân„´ÅÅÌeé°¥Oí<ÍsZRARdjä’ˆ%roÍöžÝùÝÙóí'¸Mø#ó¹ç2-gŠç”“i'•ŸQ'KUüì&Ÿüþ‰ì#u]ȼ{”#0Øê.@)‘ó"ßø¶«¹«®–® ÏdÝ A¥· ³Yì­S¶®Ÿ¸ÞÇÆ‡ÇåèxÛxo Ú8Ôa¨‚1Ç÷ÿý›ß÷³è§«¥ka`1ÇwÎþ9û»ê‹=Ù Ú3s·7SðL¯™‡æzÖÓY,Ö?_ÿgè”ÐŽ#Œu¹®=ßþÕ¾¯î˜¶c„“¢›i”ßÝÆ‰gzÏäóø:Z:¾¶¾ûƒ÷+8“ª@‡KUü€ž€ÅÜD ¤òòr@  ƒ««KhhyP¢>М=kb™••­îB ¹¸¸´ßé?p¾ˆ°¾ ‡Ë¨Èx3ìÍg½;¾ÏøÓw>Ïzà†ó…@„ó…=œ»…{ÖYí÷è4œ/"äB` r!0 €¹È…@„ç¨X"N)II,H|"z2Ùc²ƒ‰ƒº+€—r!€:­=¿öLÆ™êÆjfÓÇÆ¹ÔבÔéÜýs5M5>6>î–îê®^vÈ…êôõk_ǯˆ˜1Èvºk€—®#€ÆŠ„×r¯ÔH$‡áŽÃuµt‰(ëQÖÙûg‡9 l?X¶i]é±»Ç|l|F9Êœ•5Êy”ObAâÝÒ»:Z:£œG9š8ÊíE$%&ݯ¸/–ˆMG:Ôbwã_•nÝ78€J @3¤”¤¼üýJA¥´Å\ß|Ëä-þ½ý­ ­v'î¾’}åøüã²ù5ù×݉»¿}˜ˆòç‡Æ†ò¸¼ñ;/<¼Àtà°9'nœ6`šô#wJî¬<µ² ¦@Úbgl·wö^'S§§Vµ5v«„$ ÊÖãê-ö_¬útÔ¹4æ˛*•îîC†j±µòçÅæÆ>¨|àßÛß@Ç`º×ôýÉûSKSX`ú·´¶DÜèoÙßÏÎO:HØ0A‹`²ÇdKCËô²ôëy××ü¹æÕ¾¯êQAMÁ‚# -[cÛáŽÃu³«²¯å\+©+yV.Ü·M$)(Û\ß¹4r!h†êÆj'S§¨w£Ø,¶´Ezï¼AóÜ:~;|“õ&¦åLÆ™š¦šUcWÉ" Ï->gglÇl~qö‹ˆ»7 oŒuKD;ãw2©qSÐ&.‡Ëô)ª-â°8Ϫjùðåíž/ìÈlÔ¹4÷ aIaGSŽŽuka`AD¦z¦¦z¦Ì»N¦N£œF¾wú‹W¾àóøD~;ÜLÏìþoÈ2Ísš4Ñ—1w#Êë˙̈́ü6‹½nÂ:i($"Ùþm­XÑEóP?äBÐ ü¨7¿÷Éô“ß^øVO[Ïׯw²çä ~AÒóýæ_͹™¹hÈ¢´²´”’”+´9Ú²ƒXYËn2'óZÅ­ÌfMs……¾¶¾òUa}!¼H @3°Yì^3fxÍKÄyÕy—³/¯<µ2½,ýocþÆté4ÒÅÌåàíƒ /b}!¼H @3\κ<Êy‡Ía³ØÎfÎŽ¦Žû“÷G¦FJs!‹Åšç7oÍkNgœ>}ïôëî¯3—›•7ÌaØ‘”#kϯÝ0qƒôÙ4ÌúB¹RX_/äBÐ œøÀ„g2Ðn =ß^(&$Õõ³è'Ûgšç´ÍW6¯:·ª¹µy¾ß|Uw±tØÒÓ§§O*Hæ0̘gœS•“³gÖžgåÂί/ü#óÌÊL"º[z—ˆ¢Ò£î”Ü!¢ ~A®æ®@%È… ƺŽ=ÿàü¹ûç¤-vÆv&níÃãòfzÍ »ækëëeí¥ê.zó{‡Í [ùûÊ¢Ú¢cwI÷bcdÓÉâøóÁŸQéQÒMéë¾½ú"Às†\šaÛÔm•‚Ê›E7 k õ´õœL†9 “>³FÊÃʃˆÚž,t0q ñµõmÛ(› Ù º¸ôb|~|fE&‡Íq6sp PðœšÎ{­ïk&mÛ]Í àycI$ŠVÆÈ)// :¸ºº„†–)êÓMDÑ”}SÊêÊâWÄwë—×¼Ξ5 ±ÌÊÊVw!Ð\\\”7àEX——X˜QœÒ@ IDATž±dè„B€À_ð"H,Hü)î'"²1²Yâ¿DÝåh$äBxø÷ö ±4´ êÄ|Ù1¨ ¹^þ½ýý{û«» Í&+¼œ €¹È…@„\ äB B.r!h°”’”àðàèÌhuò—˜œ˜àðà¤Â$uÐÈ… 2+3ƒÃƒO¦”m¬m®M*L*­+UWUr**“ “ª«Õ]@G €f¨o©O*L*®+Vw!/,äB Â÷#€F8™vrOÒ":–rìzîu¦ñà܃Ò5M5¿%ÿv·ô®Ž–Î+.¯L0Åb1o¥”¤üóò?çùÍl?øÀ­éeéß~KD¹Õ¹‘©‘*´Š[Lf ˜áné.³QØøû½ßïß)­/5Ð6ðµõá5ÃX×X¶°èÌèèûÑu-u}ÌûÌ÷›ßÝÇ [!€(®+Î¨È ¢¢Ú¢¢Ú"¹w««¦ì›"mÿ#ó´²´¯_ûšÙdÖ zÙx­;¿®BPADý-ûÑÁÛ×þ¹V$1ÝbrbÜ:°>pý ¯DTÓT3zÇè†' Ò½DgFïIÚsô£vÆvLËçg>L”~<25ò-Ÿ·ºeþÏr!h€)S u ×_7Ó{æ)rïîNÜÝǼφ‰, -ÓËÒ·Çm¿¾dè#iŸ}7ö9™:…„ôæ÷6Ò5ºU|ëë?¿ÖÓÖ ö ö¶öÖæh§•¥í½¹÷ïü}¨ÃP;c;¡HÈåp YÔß²¿™žY]K]b~â¡;‡BcCÿõú¿ˆèìý³‘©‘<.oáà…Þ6ÞÕÕ¿%ÿ¶;q÷s=.] ¹4€­±-s’ÏÎØÎ¿·¿Ü»Ž¦Žó"t´tˆh´óh¡X¸5vë’;²¹ÐÂÀâøüã<.Ù\~b¹X"›6Ðv ÓòŠë+>¶>ïy÷÷{¿/¶ÌDÏäÜ¢s>üójÎÕª†*¡HHDÚí›…7™þÇRŽÑ“ç:Ži™ä1éõ=¯çVçvßqèVÈ… ñÝ™PÈð´ò$¢ÇåúHC!¥”¦pXœ¯ýHD‰DB"jµQvU6U *ç„Ïi{ͺ¾¥žy‘Y™Éçñ¥¡ˆ´9Ú“úOÚ»¥K'ðü €Æ“»„Ëæ‘X"–m´6²–Ýl|Ò(’ˆâòâÚŽÖ,l&¢Ðë¡EµEÆMò˜di`©ÍÑf±X_œýBš ›[›ùº|¹Ïòyò-¹4‹XD$‘Hºd4k#ë'¢'»¦ïâ°9ro™ê™QJI ŸÇÿõ­_Ù¬¿žçÕ(l¬Têru™M ‹ÜªÜš¦Ù,˜Z–Ú%娞_šA«GD5]2Úk}_k6EgF÷³èçßÛŸù¯¿eÿÌÊLf)¡±®± EY‘ÉôÜôxå©•Í­ÍÒF:ID_œýBÐ"`ZÎÝ?•Õ%å¨Î€fp2sâqyÇS§•¥1peŸ_¨ªÅþ‹Ï?<ðöÁ£)GM u +•¥õ¥"±(lVsw£ðÆä}“Ýz¹Qnu.˳5¶•>¹f±ÿâã©Ç/<¼0|Ûpg3çêÆê’º’þ–ýï•ßëŠé¨Î@ãp$"Q׫«¥»jì*-•’ “’ “:3šWïPð¡¹çr9ܬGY·‹oÕê.ð[àaåADïyw¶÷l I2*22*2lŒmÂf…™ðL¤#XXþ6ç·>æ}…iei‚Šw¿ûÎÀw:;O€çH$"§kÖfÀ‹ÕU‹uà%Q^^.tðós\¹²:8¸®;öÞ(lÌ~”ÝÔÚ$‘Hü{û×4ÕdVf:˜8XZIû0ަޖ–ÒM¹>RB‘0»*»IØdeheih)]M(*ÿq¾‘®‘“©¥•¥µ´¶ ²$Û'»*[ðDàÀwàóø•‚Êœêœ>æ}˜EŠ=\x¸Ñ?˜Þ¼™§îB ¹¸¸(ß¹TÓn.œ:ÕÎϯiõêªçVtÌúõæ·néFFÊ? ^$*åB\G€.æáÑr玮º«€öݹ£ãîÞ¢î* A.€.6rdãÝ»ºÉ?ÿz”ÊJNJŠî¨Qê.zäBèb£G7ˆ#"ŒÔ](idd$F.YÈ…ÐÅtu%o½Uf\[‹¿az¨ÚZvX˜ñìÙuºº¸Íþ k@×û¿ÿ{¬¥E[·âž\€*4ԔŢ÷ßÜ~Wx™ @×Ó×üqõþýFéé:ê®䥧ë8`ôé§Õ††âö{Ã˹ºÅôéuC‡6/]jUQïUèA**´–.µ:´yúônyÈ(h4äBèl6mÝZ¦¯/YºÔª© ÕôMMì¥K­ôõ%[·–±ñçÚÀ/t##ñ/¿”kÛà¬!€ÚUThÛkýòK©‘® ÃS @7êÝ[QÜØÈž6Ík Ô(=]gÚ4ÛÆFvDDqïÞBu—=r!t¯Þ½…ÇŽ¹º §M³ýæs<¼à9«­eóù´i¶®®ÂcÇŠ A|?2¨¦ÝïG~*±˜"#6o6•HháÂÚéÓëzõuGy UYɉŒ4 3f±èÓO«§O¯ÃšÂ—Jߌ\ªéX.dÔ׳wî49rĨ®ŽíåÕìëÛìè(46sðy]D$¢ÚZN^žÖíÛºwïê‰gÏ®{ÿýÇx$ÍK ¹ºQgr!£¹™£wíš^ZšNa¡V}=G„S‡ Šˆˆ&«¹ h›MFFb{{¡‡G˨Q£G7êèàô/5äBèFÏ… ‰V¬XAD[·nUw! •r!r!0 €¹È…@„\ äB B.r!i©»Ð0:::ê.Ô@KK‹ˆ Ô]t#äBP ŸÏWw  ºººDdii©îB á:2!¹ˆ €\DÈ…À@."äB` r!0 €¹È…@„\ äB B.r!!¹ˆ €\DÈ…ÀÐRwÐݽ{733SºYTTDDÇŽ“¶¸¹¹yyy©¡2è6È…ðyyy³fÍ’kŒ—¾ŽŠŠB.xÁ°$‰ºk€G(š››×ÕÕ=õ]CCÃGikk?窠[á|!¨¦¦¦¦¥¥EÝUÀóðæ›o=zT(ʵs¹ÜÉ“'?~üX-U€J,--•ïŒ\ªiiiꮞ‡‰'†‡‡·m …'Nį€FP)â~dxº!C†˜™™µm755õóó{þõ@wC.€§c³Ù“'Oær¹²\.wêÔ©G]U@÷A.€gzóÍ7åÖ …Â7ß|S]õ@·B.€g0`€l‹§§§ºê€n…\ŠL›6MK믛¹\îŒ3Ô[täBPä7Þhmme^ …Â×_]½õ@÷A.EœÝÜÜX,‹ÅrsssqqQwEÐ]  Ì Ègêԩꮺr!´cÒ¤I"‘H$½ñÆê®º¾ïž·æfÖÕ«z׮饧ërëêØb±ºk‚v¸ '¢€€ê®ÚÁf“‘‘ØÞ^èáÑ2rdãèѺºu¹žŸúzöÎ&‡ l/¯æÁƒ›f̨ãóÅl\ºèñ®_ŸLÄ1¢\Ý…@;Äbª©aççsoßÖ=vÌÈÀ@üÖ[uï¿ÿØÐÿü‚ö±$ü3TP^^Þ/Æ‹)2ÒhófS‰„.¬1£ÎÜ\ÔåA7©©©!">Ÿ¯îB@q""ŒÂÂŒY,úôÓêéÓëðo°—J÷Š!€j: ëêØ!!Vññºo¿]RmlŒóÏOm-;4ÔôÀ£aÚCCËŒŒððå‚\ÝHÕ\XPÀ}ï=ë†Ö®]e-ÝW(ž®³t©•¾¾ä—_J{÷¶ÿxQ¨” qBºQAwÆ [==ññãÅ…jäáÑrüx±žžxÆ Û‚®ºË ¹ºK]û½÷¬mm[,±°hUw9/; ‹ÖƒKlm[ß{Ϻ®ž¿Ð-ÄbZ±Âй|Ìãa=@Àã‰wí*kh`­Xa…çCA[È…Ð-"#twí*ÙB€Å¢u×®²„ÝÈH#u×=r!t=€ýý÷¦óæÕaM!@äáÑòÎ;u›7›âj2ÈÁs­ ëíØa"ÑòåÕê.¤³¶nÝODþþþ~ø¡’-ð¢Ú·oߟþIDýû÷ÿꫯÔ]N§¬XQ}ê”Á®]&û[•ºk¹ºXs3ëða£÷Þ«yžS˜•••””DD¦¦¦Ê·À‹*//ùY¿ŒÅ ÖîÞÍ_±¢_”R8 ]ìêU=€=cFº Ef̨«¯gÇÄè©»èAp¾ºØµkz^^Í/ê×Ü­X±"88˜pv4Ÿ¹¹ÈË«9&Fïµ×Ô] ôÈ…ÐÅRSuüý›Ô]Ew9wՄb±822òêÕ«ÍÍÍžžžóæÍ“ÆGÙeˆ+V¬xV·-[¶$&&2Ý>øàƒýû÷ÇÇÇëééMš4iìØ±DtçÎ#GŽTVVÚÛÛÏž=»_¿~²ܺuëüùó999---æææþþþ“&MÒÑÑ‘vèäømI$’K—.ÅÄÄ‹D"[[[77·W^yÅÎÎN¥ÂˆH 8pàÖ­[l6{øðáÁÁÁ[Ï'{—/_~ôèÑØØØššš_~ùEOOO™>|øÔ©SÌk‹Åãñ¬¬¬†:aÂ.÷žöÜÐÐpàÀäädi=Š…&òñiNNæ©» èA  ‹s^Ø‹È VŠÅâåË—39†ˆ®\¹røðḺºÊ~Ïç+èöðáC¦›±±ñâÅ‹ccc™n§OŸþüóÏ ÿñˆÿóܹƒ†……1‚ˆšššV®\yþüyÙ’Nž<¹}ûöŸþ¹OŸ>LK‡Ç–sçÎÉ5®[·nýúõ³fÍR¾°ÒÒÒàààÂÂBfóÂ… çÎsrr’[Ï'=ŒÆÆÆK–,¹zõ*ÓÞÚÚªäŽ Û®<|ø°»»ûþýûù|>ÓR^^œŸŸ/W‚C¡‰…'Nª» èA°¾ºX}=ËÈHãï8é€Ë—/WTTlݺuãÆ½zõ"¢G}øá‡r_C¯|7‹µsçηÞz‹iùþûï¿þúëÅ‹ïÚµ‹9'‰¾ÿþ{æÝÏ?ÿœ‰DëÖ­ûùçŸ'NœHD………‹-jj’?ƒ«êøO•Í„B>Ÿ¿qãÆ}ûömܸqáÂ…ÕÕÕ*öå—_2¡ÐÀÀàÿøÇöíÛõôôNœ8¡àhgggûí·û÷ï×××WrGo½õVøìÛ·oݺuöööD”‘‘ñÝwßIÇÿüóÏ™P¨d=ÊÈH\_$ÿ…ó…ÐÅD"‡£î"ÔAKKkÏž=ÆÆÆDdii¹páB"ÊÌ̼yóæàÁƒUí¦««»}ûvçççwøða" …ãÇÿì³Ïˆ¨¶¶–y‘™™)‘HòòòΞ=Ë|ðÇ2d=:--­°°°¤¤äøñãsçΕ­V¥ñ³³³ÿñÈ~ü•W^yï½÷þZ—fmm¤¯¯Ïl~ñÅuuuD”››«LaùùùÒ3—«V­bN4¾òÊ+£G®¨¨xêÑæp8´±±a6•ÜÙÛÛ3APÊÌÌìƒ> ¢?ÿüsýúõDTPP j=ŠÃ!‘ˆ¥î* A.èžžžLÚ#¢aƱX,æ`ZZšlàS¾Ç#">Ÿ/íãïïϼkffƼhnnnnn¾}û¶ôƒ?üð‹õ×ÿé™pFD·nÝ’Ë…*/䮽:88Qß¾}-,,***222hggçààпÿqãÆùúú‘’…¥§§K» >œyÁårýüü¤iO΀¤¡Pù‘D"¹zõêõë× [[[¥}?~ÜÔÔÄãñ:PÀ‹¹ kH_s¹\.—ûäÉ"jiié@7éB7"b³Ù"‘ˆd52› ‰D"{™øÆmk«©©‘kQiü§M—ˆHWWwÏž=6lHJJ‰Dùùùùùù111;wî\¶lÙ'Ÿ|¢da²s—žt”{-ÇÜÜ\vSɉD¢E‹I϶ÕÜÜÌãñš››U­àÅ€\Ð5¤÷(QYY“öˆÈÊʪÝT"{óï®]»d£'Cz†²c\]]ÃÃÃe[˜•‘DÄÜ®ÑÔÔ”]TTsôèQ"úù矗/_®da²s/((011a^Ë+Å”ÜÑ•+W¤¡pÑ¢EÆ ãñx·oßÞ¼y³lçÎ× ¡°Ú käääœ9s†ˆ$ɶmÛ˜F.—+w?¯’ÝTâïï/½òãëëëÿ|>?>>^[[»Ãƒ‘ÿÿrvv&¢ÇoÞ¼9;;›Çãyzz.[¶ŒùˆH$ªªªR²0___éùËíÛ··¶¶QBBÂSÏüuæHï†ÑÒÒZ¾|ù˜1c|||RRRäFóõõ•&éŽÕ ¡p¾ k¸¹¹­ZµjÛ¶m %%%Lã{ï½'=µ¦R7•èêênܸqÙ²e"‘(<<üôéÓŽŽŽ%%%Ì­!cÆŒéðà ´´´ìܹsçÎÆÆÆ666ÚÚÚ™™™Ì[}úô±¶¶f±Xʦ««ûñǯY³†ˆ.^¼8räHssóÜÜ\OOÏÔÔÔ.<C† ÑÖÖ~òäIkkë+¯¼âè蘗—çèèØv´•+Wv¦ …ó…]ÃÉÉi÷îÝMMMLÚÓÑÑY±bÅÇܱnª;vlDDD@@‡Ã©­­MIIyøðaCCƒ§§çÊ•+]\\:9þS™šš~ñÅ^^^µµµ)))ÍÍÍZZZãÆÛ½{7só‡’…Í;wÍš5ÌõßÊÊÊÊÊÊÐÐPooï®=?þø£¥¥%ÕÔÔ¤§§O›6­íóÉ»¤MÄR°  ­òòr@  ƒ««KhhyP¢>š"++«ªªŠˆLMM™#·Û"‹>|ØÜÜܧOæ8~ø!sù800pÛ¶mÏêöðáCæZ§t|"JJJbþ®vqqaî·¨©©‘ž™óóóãÈ<¨©©)//¯±±ÑÌÌÌÒÒ’¹é¸ Ç*&æ>~üØÀÀÀÁÁAn§ÊÆxòäIff&‡ÃéÛ·¯––Ö×_}àÀ"2dÈÁƒŸzü;°£ÖÖÖüü|@àèèhll\[[{ÿþ}æ­Aƒiiý÷Jš\=yyyåååDdddäîî®ø˜h„³g BB,³²²Õ]t#•þYˆ\ªy©ra’Ë…ê.G3´Í…е _*åB\G"äB`à:2¨ב^¸Žü2ÀudPr!!¹ˆ €\DÈ…À@."äBЩ©]]O„†ÞWw!òzlaräê”ÛŒ‰)wu=±wo–ú õC.""-u ”L²²¦ª»Š§è±…)¦¡e@·ÂùB B.MÑv_s³(44c„ ýûGùøüþÎ;±×®UÈ~D"¡cÇòfμêåuÊÃãÔo\:p G"ùë]銺;w_0àw?¿3û[rMÍÙAjkŸ¬Y“2tèYSS¦\¾t©422ßÕõDttÉS SrXŵ=ÏZW9sæUOÏSC†œ]µêVuu‹ô-éÔ”é“P9sæÕ~ˆÞ¹3“y÷·ß²_}õ|ÿþQ¯½váܹbÙý*ùÃRuXP ®#€F Åóç_ON®b6Ÿ<ÇÇW&$T®]ëìDD }úéͨ¨BéGî߯ýú딌ŒÚõë}¥©©5ß}—þ䉘ˆššèĉ‚¢¢†C‡F1ï¶´ˆÞ~;6#£–ÙLK«Yº4!(È®Ýò«dmrÜÜNŠDŠ’£¹¹NBBP»µ)pëVõ¦MiÌ^š›EGæ''WŸ8ñŠžG¥>wî<–öijjݼùžŽŽVeeóÏ??`:ääÔøá GGwwcRú€¨:,¨ ç @#íߟ“œ\ec£÷óÏCïÜyóÚµÀ~,kýúÔÊÊf"ŠŠ*ŒŠ*ts3Ú³gøÍ›¯§¦N:th”»»ñ‘#y·oWKÇ9uªpÆ ‡‹_KK›täÈ(½7ª¤Að·ßr22j ÷ï¸{wÒ•+¯½óŽË™3Eí–§xX%k{þÎ+ž2¥÷Å‹¯¥¦N:th¤››Qvvý®]™ªö9s¦hÞ<—«W'¤¦NÚ¶mˆ–+44#<_û³Ï< ¹YYõ*U‡Uá:2h¤üü>_ÛÇÇD¶qìXëÇóòóDôðaH$92šˆ$’H$Ì "*)i”~dèÐ^²#ØÛëQCCëö"°´äõéc$ÛgäHËØØÿYÈØ–âa•¬íù èÅbýwÓÞ^ÏÉÉ07·^Õ>C†˜ÉnÚØðˆhðàÿ6r8,KKÝGš™M%ˆªÃ€ª @Sɦ“¶Äb =uAžPøßFÿ¹lÂŒ){ÿGÛ½H”¸=Dñ°JÖ&ç9¬/ì*::ÙMfúmYÌq ~Xª ªB.äà çÎã””jooSiã•+eDäà`@D..†ééµqq††ÜNìÅàîÝꬬzWWCic»' ÛÕ%µu‡ØØÊ>úo.,lÌÍ­gާJ}TÕcÀËë @#17øáÍ+Wʂֲ²¦mÛî>œ§­Í7ΊˆfÎthjj7ïú¥K¥ÕÕ-B¡¸¸¸ñòå²>HŒ‹«Tr/&XK$ôÁ‰‰‰ššDÅÅë×§v>v¬¶ç°¾0%¥úË/oåç745‰nÞ¬Z¶,¡µUh£jUuÉ :ç @#½óŽsttñ­[Õ‹Ç˶õ•w¯^ºD4mšCRRUddþ’% rŸ=ÛQɽ̛çrêTÑýûµsç^cZX,š8Ñöܹb--…—±ê’ÚºC` Í‰ùÒÃ¥KÝTí£ª{@^68_‰Ëeÿö[@Hˆ»³³!—ËÖ××:´WXØpæá…DÄbÑ?ÿ904tȈÆÆÚ\.ÛÞ^ïÕW­wì:bDû73tu9Ì™ãdf¦££ÃñôäïÚ5”¹ ÅØX»ÃÅwImÝaÐ ³={†{{›êêrLL´gÎt8th¤ìƒ •죪{@^6,ePH•—— \]]BC˃‚õÑ\b±dʔ˵7n¼Îçw<j¢˜˜ò… ãV¯ðꮺÆÙ³!!–YYÙê.º‘‹‹‹òq@‘ R=<ø~~f¦¦Úyy ?ý”yï^íС½^¶P/äBErsrߟ¡§ÇY½z€ºêè>È…Š¬^=ÀÔTçæÍG¥¥MÜ!CÌBBÜûö5jÿ“š¹@GGƒþs º«èF²ÌÊšªî* á~d B.r!!¹ˆ €\DÈ… )òç‡Æ†Þ)¹£îB¹Yt346446T(J5¢rÂs­@S0éÊPÇÐÇÆGݵ<]Ó†¢>*«/#¢Åþ‹¹.ÓÞó+`à|!@×øîÊw‰Äžo¯îB:¹  ¤”¦¼}p]à:u×ÐA¸Ž F,ÇåÅÝ+¿§¯£?Úy´±ì»B‘ðZš‰Dâ`â0Üq¸®–nw—$’ˆV]è8ÎuÜ×~Tæ#w#JêJF;ö¶ñîîò”„\𤥵eþáùñùñ̦[kÕ¸UóÍc6SJRÞ?þ~¥ RÚß\ß|Ëä-þ½ýŸ5àŸÈW° IDATÖØ­’(Ø£Wo±ÿbÅUý’ðKY}Ù¯oýªÌ„"áêèÕÇS/ºÔËÚK™<È… IÂn„5>iœì1¹—A¯ô²ôøüøo.|ãÖËI~›.oªTº[¸uªÅÖÊ{œ›û ò‚\¸-n›H,R°Gs}sʰ ¦`Ûõmk'¬5×7o·þš¦šeÇ—Ý.¾½)hÓ ¯íöxž @“4 ›¢Þr1sa6Ãn„m¸¸aOÒ&ùU7V;™:E½Åfýµxºº±ºº±ZÁ€Ë‡/o÷|¡â’þý÷v§˜Þnñ9U9ïE¼WÛ\ûۜ߆Øi·?Às†\šdRÿIÒPHD üìŠß•\”ÌlNp›–v4åèX×±Ddªgjªgª`À+:Sω´·Šo]t¶Ýž7‹nn»¾ÍTÏ4b^„£‰cgv ÐM @“È=†ÍbÛÛ¦–¥2›ü¨7¿÷Éô“ß^øVO[Ïׯw²çä ~A ìÌú–֖ 78™:H;!mdV7nÛ®ÍÑ^>b¹ôÌeRARmsíîo8ð”˜(€ €&)¬)”Ý”H$ŵÅF:FÌ&›Åžá5c†× ±DœWw9ûòÊS+ÓËÒÿ6æoϰ3ë …›?nz|¯üžÜ[;ãwÑ#>¶,¾,¯:/üvx‹¨e}àz›£p¢j€\šäÔ½S ‡,”^JÞ{soUcÕX×±Ìæå¬Ë£œGqØ6‹ílæìhê¸?ydj¤‚\Ø™õ…ºZº!!ro|Ôðèýaïks´YÄ’¶³ˆµnÂ:c]ãñ;j›k·LÞ¢ÍÑnw¾Ïr!h—7yïä nzôºW~/./ŽÅb-²ˆy÷ƒ˜ðLÚ ´çÛ E„‚„¢Ú¢~ý Ø™õ…<.¯m.<ÿðü£†Gÿ7üÿž(?ý‰‰žÉÆK]´súN}mýï Ë!€&Y8xáµÜkQéQÌ&óüBéchƺŽ=ÿàü¹ûç¤ýíŒí6LÜ †BŸmáà…ÆºÆ«Î­zûÐÛa³ÂLx&ê®à/È… LBB†: ]2tɵÜk™™zÚzc\ÆÈ~ßɶ©Û*•7‹nÖêië9™: s&½óãù˜ã3çQÃ#.›+W¹¯­¯´eú€é––·ŠoÅåŽîþúó,@–D¢ha €œòòr@  ƒ««KhhyP¢>М=kb™••­îB ¹¸¸´ßé?žë?£ ÇB."äB` r!0 €¹È…@„\ äB B.r!¼rªr‚Ã#S#Õ]ˆÆ;bšrkšj¶Çm_±tIÄ’-±[*•ê®à…‚\/‚†' I…IŵÅJöÏ¬Ì >™v²[«ê!ž:Y¹#¦êT‹‚š‚ =AßÇ|1ë⥬K[c·NÜ3ñAåu×ðâ@.€—Q}K}RaRq]ŽA]å©“u6sŸ6`šºªê€Oÿ´BP1Ènж©ÛvLÛ1ÒidMSÍG§>KÄê. à¡¥î@ þŸ½;kêÊÿ~’ ‘%ì²ï* ›Š ¢V«–¢iªÕ.ÚÖ–ÑÚŸµ­3U[­ÚZSױ₈"`µ (.…C”Õ°#È&{ÈïÛÉ7ƒ‚l¾_OŸyrÏ=ËçÜ0ÓÏÜ{îÉÕžžÃEd–ff”dXp,Ž.>ª®¢N™i?sá‘…ÙÙ7 oNµž:ܼ€2)zRt†&§2§SÒi£gèh«gÛmͦö¦?îÿq¯ä^YC™†ª†»©û"—EÚêÚ„ßù¿J=D9yúfÁMªþ‰àrÆÍ,ÍüáÚË&,g:îXú1A…€­Êže?ËÏÑF£ÉÖ,¨)ˆæE?¨zÐÑÙa­k½Èy‘ƒ‘C—N<Ì=ŽgÏ.Ï6Ô0üÎç»^ç¥HŸ^^ÇÒe•e©©¨Í°à@ÖÓdó«ó7Æo p pèiÖrÆ%„äTæÄðbDu"‰Db©céçäçdä$çöÓÍ›„7]ߤ’BBƒÆx{ÜÛ_Æ}™˜Ÿˆ¼`@ /¥q<ãø· ߊ%bêðjîÕÃi‡#—Fº»v©YÛ\;}ßô§mO¥%ñÂøC©‡"—Fši›•Ô—*„âºââºbE†®k©K¥:;oIØRÙXIÆåÄ]~x™ëÏ•¦†'îžØ|i³4ÂÄüÄãÇ·úl]ä²HÚ‰‹‰‹´G#Ç^ç¥HŸãÌÆm¿º]:—‹Â‹ürþ¦9›!=M–ZPèeéÕÓ”åËù"ö ‰D"­(õÐOoüäïäßS‡K#–Š;År.2‡ÅÙ»poOgs«s !®&ÿó]S‡yÕyrºÅ!/åpûÑíÍ › !óæ½bûжºv^uÞé¬Ó­ÏVn·3Ì÷&¾çhä¨ÇÖ«o­¿]t;â^7‰ûï¹ÿžï4_SMsK–@×ÀùNóáè£ÖºÖk¦®1a]‘}ðöÁ¸œ¸(›¨@—@BHFIƦK›Øªì ÷ WcWU†*¿œøÎá^ü§—¥—™¶ÕÉ‘´#ÖºÖ!Þ! -u-ùóR°Ïßnÿf¯o¿íõmFšFÙåÙ{“÷†ß _éµÒDËäù&Ûë¸Ô=Èeã—M¶š¬BW)|Rx.û\}K½œ>SE©òóBýúrÎ>izB1a [h¨aH©m®Up^ òBP‡ÓK$’³6.Ÿ°œ*™a7c…ÇŠVq볕uØ:qïÅ]zxézþõê§ÕíâvBˆ*CõŽè!ÄTÛ”ºQg¦mÖ§5v1ïݘ,jô fÞŽxûÔ½ST^šÚ)é }3tœé8i„n¦n+N­øãþMúˆ*4Ô0”vBù0úC9óR°O+]«¨eQj*j„é6ÓÛ;ÛMúõ^é=-“ç›l¯ãªÐUFéú×ìI›,Ÿ°¼¡µANŸaKÂdï/>‹É`Ê9Kݹdв…Ô!õý@ÿ!/åÀ+ã©©¨-·T¶Ag°éìg+W5V- _òì3bù‰K¯|ÇøJó9BuçLX%¤3Ë24Æ/7~!„H$ ‘B:ÄätúŒö‘íDþ¼ï“J )cGŽ%ÿ½Áö|zw¥×Êu¬[{níL»™†6z6t]SMSNŸÍ'>w<„– ‹"»6@z8BuDz)ä… ZÅ­ÚêÚ]nõ„{“[\W<Ér’Ÿ“Ÿ‘†‘*C•F£mˆÝÐϼPK]«K ‡Å)­/¥>7µ5‰%âäÂäg¶´·H?kËž’?/û¤Þ§‘bÒ™„þìÞÒë¸sæ:9ž¿>†#¬¶v´Îsœ·nÚºg/‘T?ךj›B ŸRY/¥ ¦@z úy!(c-cA…@T+2ç˜÷Z9³4“Ãâ]|”Nûk—Ö¦ö¦ªÆ*uæ_¯²Ò"ÿ±æ³²Ë³eŸ¶=ͯΧ–¸Q¶‰Ûx6ÉÓeëöÔ§üy=_Ÿ]<Çd×Z×úSïO©ÏürþÒˆ¥UUr»~®/t1v!„\˽6Ïaž´ðjîUBˆ³±³¼É€Â€r˜e?KP!9òÓ¼Ÿlôl!’Îó÷Ï25ÆpL—ÊÚêÚùÕùÂJ!µ¯Ê“æ'_Æ~ÙÒÑ"Í ÙL6!äQí£>Åð0!šMmìÒÜÞüuÜ×MíMsçRg猚ÃMâÆ ã×M_'½×ÐÚp†f‚Ù„ç›×óõÙÅsL¶×qÿý翜¤›éi1ÌTQªœ>û¹¾p†Ý “u^pÞ×Á÷U»W !i¢´wO0LŸÑ>ŠO ä@^Êá=÷..ðÊx>¿ù˜i›i³´ j [.>úlåWí^M¥ùñm0šRPSÀb²LµM¥«Ó¬õ¬YLV /†_Îç¨sHoûR ¾¸ðÅÏ×6Ô4¤Fg3ÙÒ—?Þ÷|?áa‰»'"3#­t­4Õ4««ÊÊÄâÐ7CŸo^Ï×gÏ1Ù^Ç=’vä?·þ£ËÖ5瘷u´=|ü°£³cºÍt9}ös}¡¶ºvˆwÈ×~XµÊ^ß^…®’S•#‘H>žüñHÍ‘ýé¤ð;x 4Ô4NŸôsò£Ú£ÚG¼2^s{³¿“¿ƒ¡Ã³•WL\ñ–ë["T •m“Ð7CuX:Ò ê*ê_ÍüJMEíAÕƒTQªü]R Æ.ødÊ'OšŸðÊx­V:VGµàXPgÙLvDPDð¸`&ƒ™û8÷nÉÝâºbM5Íå–;ìqÃgùóz¾>»xŽÉö:FŒªiªÉ,ÍT è4º¿“ÿó~T0¤çóçŸOÿ|„ꈇ *j µ&}´fêšAà¥BëëòxÉUTT46v³e ”-—[áë+¯N4µ7å=ÎcÐVºVÔRBÈÓ¶§ür¾©¶©tK?BHmsmÑ“"-u-k]kB¿œßÚÑ:Þl|—®š;š%‰ü=\óß|÷ëW¿^á±¢¾¥¾ ¦€­Ê¶Ó³ëòc'”vq{^u^s{óHÍ‘FšFÒ5ŽµÍµÂ*¡¥Že·÷·º×óõIZéZiõ4Ù.W¬Û (g\JMS¨VÄVe›j›>ó iéhÉ«Îëìì´Õ·²A_T±±!!F¹¹ØüEfkÛýBu y!ôͰç…ÃB6/îX ò—AŸòB¬/ EOоŒý²§³Ì'(þ’€òB^@šÚ›ä¬ºÓR×B^/ä…ÄRÇ2<(¼§³:,C Ãð pKË¡Œ `ˆ!/ l&»×ßîÓ/)(#ìS„ / òB y!P!È €‚¼A^04xe<»ívÜ$n·‡Ѽh»ívñÂø¡îïAÜK8eP:È †ßâ;vÛíö$ïî@ॆß;€áçl윻!w¸£R/á”áï÷ €Ü/%"‘Hbø1QYQ9•9âN±­¾íb·Å‹\1hŒÄüÄw#ßýúÕ¯GŒÞyc§ BÀVeϲŸõùôÏuÙºTóÈÌȯâ¾Ú½`·ÏhiŸTá¾…ûfšMwŠÃï†GgE‹êD‰ÄRÇÒÏÉo‰Û“Õkxi¢´ˆ{÷Jî•5”i¨j¸›º¯òZ5Þl¼‚³kéhùÏ­ÿ\\ÕŠTUTG:¯ôZ9Õz*!¤¶¹v"w¢Ÿ“ߎy;¨Ê1¼˜õÖë±õn}z‹F£B*+¦ìž²Ä}É·¯}K]«¨¬¨È¬Ha¥P,[ëZ/v[ìLU&„Ô·ÔÿœøóÅë[êíõíC¼CŒ“¢ÈÕ–?£gñÊx Ž.ñ‘FÒÓ×Ušøö¸·7ÍÙ$ÛClNlÈï!flxßó}Åç¢8ù ^“ž¦¼'yÏÎÄ„‰;©„ÜM„¡‡¼”ƒD"YsnÍÁi ¯ŒÇ+ã™i›M±šB•d”dl¿¶]Ü)&„´t´DfF¦§ŸY~†Íd+8ÊŽë;Þ>(=ä—óùå|&¹tüRù ««–„/‘>i~r5÷êõ¼ëǃŽ{˜{ô:n»¸ý“蠟S‡mâ¶”¢”[nmž³9È=ˆÃâ89&$I$*±K*L¢ÓèÕMÕ9U9†„ù7!Ô¥H$ŸŸÿülöYiÿ9•9›.mT¶¾¾•ÒÚÑ|"XP)NsUô*ß1¾ ]£ÿ’µåϨ×ÎåÝ.Æ.gøgÖÏX/ûÍO?Îb²Þt}³§>Gÿ{4mOôGèßúôVOgùÛèÿ_ ÀðB^Ê!ŠuApÃ⬛¶îÛW8,Nîã܈{LSZ'.'.À9àãÉjòËù›.mV ¤X;m­‚£$—^v7uω§Ñh{ì±×·'„°µÙ›_Û\𤠹0YÁ Ez»Ú½ÎH~çò¿nß1¾Û¯m¿.Í g'„,¿LNŸÂõ }=Qäo£ÿà ï€rÈ«ÎÓV×–f Ýò¶ò–®Ÿ#„˜sÌ­u­‹ž)>Ê×3¿î”tÎÜ?scüÆð»á÷+î+Ø0£$#0,0.'®²±RšBZ:Zi^ô¤ˆÃâP)”ÔL»™Ô)BÈx³ñ,&ëFÁ BHRAƒÆ˜d9ÉÛÚûŽèNKGËýÊû5M5Ò‹ó°ê¡¸SayGgÇ†Ø Â*á² ËdàvK¸^øl¢,ûœ›…D±¿ ù×D>jmhš(­¶¹V‘úƒÏ‘@98\Ï»/Œÿ:îkÙr*ÿ øŒö9Ã?•%-±Õ³]5iõÙœcþÚè×. /Ÿøëe1ìüßù¿Këg—gß-¹Ûeè·ÜÞê5¼%îK®ç_ßœ°ysÂfªÄÑÈq”Á¨ÊÆJEf·tÜÒøœøŒ’Œ÷OÿÏÞ{gm”¾ºk§og¤aô ê¶º¶óÈ¿ÞÀ˜j3•úEcÙ¥x Ç.L}”Í‹^µ²ë\\ß"„,¿ì\ö9A¥`iÄ_{¬Ðh´¹se÷…é•ü«­ÈŒäPäë;rì8Óq×ó¯k¨i8(ùóQäoCþ5‘ÏJÇÊHÃ(¥(e® T ö/„¡‡û… è4ú¯óÝúúV77“¥¡¦ájâú½ï÷^–^Ò:ãÍÆ <äj⪮¢®ÃÒ t ŒŽÝ:îû׿t ä°8j*jî¦îaAaÍ'ÊŽ½,úíqoÛéÛQ=Œ7ÿ½ï÷_¿ú?©I·fÙÏúùŸÇŽQWQ7Ô0\â¾$lI˜*CUÁÙ1ÌcKŽ…x‡ØèÙ0̪#¼,½Bß í²Õõøx’å$ê™#!ÄÛÊ»ËBFûaîÜùÜ)VS´Õµ™ ¦9Ç|ö¨Ùûî›b=…¢¦¢ì¬?B_MEÍÑÈqßÂ}ÓlúöÞ‰ü«­àŒz¢È×M¡z t ¡:¢OÁ?Eþ6zý ”ƒAgìY¸g‚ÙE6Q$4Ù•½ª¨¨hll”SÁÎΖ˭ðõ•WgÀImb…ÇŠ¡÷åô÷¹Ú[¯l=rçÈ•UW,8ÃÉßçšôIl¬FHˆQnnÞpƒÈÖ¶ïéã92(q§8¹(9<#ÜÃÌcØ“B€òB€Þ *o„¾ÑÓÙYö³öìÊxU¯“UðYðàá&q¹I\곂«÷@È @)j~àùÁlOðòÀúB蛿çúBxX_ø2èÓúB¼ „ / òB y!P!È €‚¼Á¾Ö Ô•‚„ ¾c|íôí!••'ïô´ðô´ðîÐF§¤3³4óö£Ûmâ6'KËáŽ^dÈ @‰Ý¯¸ÏMâŽ2Eå… Ü$nˆwÈàå…¥õ¥QYQ“,'y˜{ ÒR›6_\¨iª¡ÝLÜÀ Âsdxqi jRH)­/å&qSE©ƒ7„T\N\ms­›‰›ƒ‘à €û…ðâ0Ô0 ñî(̦9›<Ì=ôØz›.mT†;xñ!/eRÞP~-÷Z}k½½¾ýt›é]ÎvY_Xô¤èlöÙi6Ó\]o?º]‘=BuÄb·Å„±DœR˜"¬vtvXëZO·™®¦¢&Û•¸Sœ*JÍ©Ìé”tÚèÚLµ™ªBWI¥Eó¢ !)E)âN1Usð2QŸÑ>ƒÔ3@·€Ò8uú›‹ß´‰Û¨C7·7ß­Ðe}aÑ“"nW•¡úË_’ ’!NFN‹Ýg–fþãì?ŠëŠ¥ µŒ÷-Ü7väXêð^é½ÏÎ}ö¨ö‘´‚™¶Ùá·§ŠR£²¢!·ŠnÝ*ºEê)/ü5éW ‘È™›É~ßóý>^€A„¼”CVYÖÆøâN±‡¹‡‹±KMSÍEáÅ=É{zmšÚÔÖô†ã‹‘š#KêJVD®¨o©w5qu5vUUQå—óoÝú ꃄ4Ô4Õ>Z~jyck£©¶éd«ÉÚêÚyÕy7òo”Ö—N4Ÿ¸ÈeQTV”—¥×Dó‰òÇݼ[zO±[ú#ô‘Àß òBPGîwŠC¼C¤÷çB¼CüûõÚ°¹½ùÜŠs6z6Ôá7¿©o©ßšüQ¼0~Ýë§v5vÕT׬j¬zðø¯Œúf¨©¶éªI«Î ÎÇðbR¥N²œ¤ÍÒίÎOÌO<ôæ!c-csŽ9F?uº£³C‡¥CzÞ§¦ÿë / / «„„¬²,BÈÙì³÷JïB¤¿ 0°€rp1vùÎç»o.~“&JK¥B\M\ýý¾½ümŸú1Ó6 [¶îuür>¿œ/-w0ÏÈZà IDATt0Õ6%„Xp,Bß ýìÏŠëŠOg–¶2Ñ2!„pXœ…Î £²¢ÂÒèSƒ·¯õ¥—ÎfŸ•J?K``!/¥èèmå}-ïZCkƒ¾Ý+¶¯<¨zâb§÷W’Ôå÷‘-u,C¼CÜMÝ»ôãhäû^lFI¿œßÜÞ>'¾¾µÞ^ßþ ït9›_¿1~c€K@€s!$³4ó‡k?,›°ÌÃÜãxÆñìòlC Ãï|¾#„ÔDó¢T=èèì°Öµ^ä¼ÈÁÈA¶«¢'Egøgr*s:%6z6.¶z¶¿ó?”zˆr:óôÍ‚›TÍÁ'¨©¢Ôó÷Ï‹jEª UgcçÅn‹õGèS§ºäM×7·_Ýî?Öÿ-×·d‡¦*/t^¸ÈeÑÀ_Áÿºš{•2Ón¦lxãMÇM?šS™£­®½Ä}ɳ „ìŠìˆ»%u%f³÷&¾g¥cÕeR^^ÇÒe•e©©¨Í°à@£Ñ!ò/W·Œ3w,ý˜ BÀVeϲŸåçèGuõÜARä|ÝýéàѼ”ƾ¾S’˜ŸÍ‹^ì¶X¶µ¾ÐËÒ‹:¬k©K¥º˜¸lIØRÙXIq4r$„œ¸{bó¥Íb‰XÚÕñŒã[}¶Jó°ãÇ¿MøVZájîÕÃi‡#—F–Ô—*„âºââºbÙ¡·]Ùš*=¼’{åpÚáƒÇ™Žë)’Ís6‹êD{nîY伈AgHÛM?z§øÎö¹Û{ºK#–Š;År.‡ÅÙ»p¯œ T„£ F›j›JÃs5qý6áÛŠÆ ªÂyÁùƒ‹>m{ºæì饈ÄÆ¿o a m5ÎlÜö«Û¥Wã¢ð"¿œ¿iÎ&BˆœËÕmÎÆÎÒëC‰Ë‰»üð2ןK¥†Ï$éíë~în^HÈ @9ÄæÄFó¢YLÖ»ﺚ¸Ö4ÕK?öÛíßzmx$툵®uˆwˆÇBK]+£$cÓ¥MlUv{«±«*C•_Î?|çð?/þÓËÒËLÛìö£Û›6Bæ9Ì{Åömuí¼ê¼ÓY§[ç;Í×TÓÜ’°%Ð5p¾Ó|é—\ M U¡«¼3á‰Z¢xQ·Šn}ræ“k^SSQë6ì¼ãúŽ?óÿ”>N­nªŽË‰{Åö ŽEO3J¥ÊÏ ¥÷){RÛ\›Q’±Êk•láá´ÃN#ÖM_§ÃÒI,H KÛ’°¥º©zžã¼Yö³è4ú±ôc·Ý>”vhÃŒ ÒV¿ÝþÍ^ß~ÛëÛŒ4²Ë³÷&ï ¿¾Òk¥‰–IO—«§ŽÞ9j­k½fêƒÙÙoŒË‰‹²‰ t |î {ýºû3w€òBP§3OB~ñÿEšBù9ùÍ=4· ¦@~CC ØwbXLuøÉ™O:%¡o†Rwò!3ìf¸™º­8µâû|4é£Ãi‡%ÉÆY—OX.­°ÂcE«¸•ÍdSwÍ´Í<-<¥Cœ¼w’²Ýwûü±e?þNþËN.K)J¹’{ÅwŒo·‘B»-Þ}swXz˜tR‘™‘íâvéÐÝ [&‘HäT`2˜ò¯ÉõüëâNñ«öÿ³¶ÏVÏödðIªí »ÂJaª(õíqoS7ÿ!“,'MÚ=é^Éÿl+c¥kµ,ŠÊ}§ÛLoïlÿ5é×{¥÷L´LLµM»½\=` a ½>3ìfL0›ðvÄÛ§î’Í ûdhj¨ü¯»?sxñ /å ¬rXÙ×Tª~Ž~»’vÉoè3ÚG6Ë,ËdÐ¿Üø…"‘H$DBéwBòªó!¼2žšŠÚÒqKe;aÐl:»§!r*sXL–¿“¿´„F£-v[œR”"¨HóÂ.‘B8,Ž¿“dVdÑ“"KËNIçÉ{'íõí'[M–3£‰æåO¹WW^Ñ¡ï2ÒE¶pÎè9² ¥ƒ‘Cª(u®Ã\i‰–º–‰–IyC¹l+ŸÑ>Ò¢„±#ÇBž4=yŽ|ÇøÊ^ê~ž°JØŸ {ýºû3w€òBP--uN—B«kɳŒµŒe›ÚšÄqrar7C´·BZÅ­ÚêÚ² þzÕÚѪ¥¦%}C‚¢­®Mê)Ê;Þ9•y*<#ü«W¿º–w­¤®„z3FŽ~®/ìèìH,H|}Ìë]ÖRÓ’=T¡«Hg![ØÔÖ$[Ò¥“Î$„tJ:å„×cêZ]jrXœÒúÒþÙë×ý|ݼ¨€r0Ô0,¨.¨m®•Íyå¼¾öc¬eÜ&n;pàÙÌO—­KUTDµ"sŽù³Íi„Féò×PÃ0·:·¢±ÂHèKlFšFD®Q£&YNŠæE6ý³°ô0ê¢ü&ý\_xûÑíÆÖơ٠¦ÛËÕSÙåÙ²‡OÛžæWçjö'€^¿n…¼”ÃT멹s7ÄnØ1o‡†š!$.'îlöÙ¾ö3gÔn7^¿nú:é ¡†Ö†3ü3ÔÖ$³ìg *!gC~š÷“ž !¤SÒyþþùQ£ÆŽa3Ù„GµºÄöðñÃõç×ÿâÿ‹K‡’&J;pëuª×Þ™ð·Ñî¾¹ûfáÍ•ž+»D·—«§ ¾¸ðÅÏ×6Ô4¤®9›É–¾ò|zýº@~‘†Ñ±%Çìõí›Ú›øåüÊÆÊ+º¼¢6“<.˜É`æ>ν[r·¸®XSMsù„åN#!j'ƒOú9ùÑíQí#^¯¹½ÙßÉßÁТ®¢þÕ̯ÔTÔT=H¥¦ŠR !ÁÍ'¶t´Ü¯¸ÿ¨ö‘ºŠú‡“>ìu¥ …N£/¿Œ2Û~v·kЃªÅuÅÔnÒCàÙË%'€c|2å“'ÍOxe¼ÆÖF+«£‹ÊÙ¯G½~Ý ‹&ÿa@r*ØÙÙr¹¾¾òêôG^u^c[£%Ç’ÃâT5Vå×äÛëÛSkÅž¶=å—óMµM©}éj›k…UBKË‘š#Ÿí§]ÜžW×ÜÞ*«/s1v‘½±—U–%î»›º÷ÔŠ*´Òµ’í_örÝ-¹ûl‰ù‰ïF¾ûõ«_¯ðXQßR_PSÀVeÛéÙɾ˜ò|AJõôu÷³[e«b”››×{UPZ¶¶¶ŠWF^}3ìyá‹çñÓÇsÍÕR×JX™0Øc†¶u´]Ñçu™ƒ€l^8\½œ¾ ú”b}!À°‰æEŸÎ<ýàñƒú–ú©!C0âúWÖë±õ†` ¿m òB€aSRWr§ø!d–ý¬.¿õÄ;¤K^oÁÑ!Þ!Ô)q§8ünxtV´¨N$‘H,u,ýœü–¸-a1YTý4QZĽˆ{%÷ÊÊ4T5ÜMÝWy­o6¾K·É…É;oìTتìYö³>Ÿþ¹.[·§ %ITVTdV¤°R(–ˆ­u­»-v¦Ñh½NP"‘Äðc¢²¢r*sÄb[}ÛÅn‹¹,bÐÏV–üžä=;wBv&î¤>Bp'z…¼”CkGkð‰`A¥€:ä—óWE¯òã+§ÉŽë;Þ>(=ä—óùå|&¹tüRBHUcÕ’ð%Ò³OšŸ\ͽz=ïúñ ãæÒòŒ’Œí×¶‹;Å„–Ž–ÈÌÈôâô3Ëϰ™ìgG”H$ŸŸÿülöYiINeΦK›‚­¯o•?A‰D²æÜš ‚ Ò^WÆ3Ó6›b5¥KeƒWÄè¦f×ýú·>½Õ§>@I!/åp,ý˜ R`£g³iö&7S·š¦šƒ·†ß —Ó$áA‹ÉÚ1oÇd«É*t•š³÷ϲUÿÊçh4š·µ÷²ñËõGè×µÔ¥>J]aýþ”ý²©U\N\€sÀÇ“?6Ô0ä—ó7]Ú$¬H9°vÚÚgG<›}ölöÙÑ£×ÏXïj쪦¢Æ/ço¹¼åTæ©E.‹ÜMÝåDÅ‹º ¸ÀaqÖM[÷Ší+'÷qnĽ&ƒùleùÁ¯ž¼ÚÓÂsÈÞ;€òBPñ9ñ4mÏ‚=öúö„¶6{ók› ž$&÷Ôd¤ÖHBȬQ³¨ç°FFÒ³ú#ô?Ÿþù[6Æo¬~Z-–üuÏLX%”íÄÕÄu»ïvê)°‡¹Çþ€ý³ÿ3;^ßm^Å‹bЇß:l¨aH•x˜{ì|c§Ïo>—^–ŸÆðb!»üwIï:;;;w[YÁà!\ßç&ð¢B^Ê¡¨¶ÈHÈJ ¥¦YO““~=óëÕgVÏÜ?sªõT#wwG#GéÙŒ’ŒàÁíâö.­Z:Zd½­¼e—šsÌ­u­ j ºñaÕCq§xêÞ©„‰D"!ê!¤´¾Tþóªó´ÕµŸ}dÜ-ƒèä…ðÂr0rHX•Qœ‘^œžö({ƒ«ÃÖÙå¿k´ÁhBÈþ”ýíâöïùcçi©2Ti4Úœƒsjšjž{ÄNI'!¤ÛåzÏæpý1€Ác}!H!/å`ɱÌ*Ïzøø¡ì-ÃÄ‚^~ZƒAcx˜{Pë›Û›gÿgö—±_ƼCÕŠôGè˾Ôü¨öQaM¡–º–lI…Ik¦®‘Þ2ÕŠ j ,u,»ÎVÏ6»";ù“dM5;NÐVÏ6M”–\˜<Ùjr¯•{ žN£“2T€ž /åà3Æ'³,sõ™Õ›çlv5q¥Þ;‘ó™¸`삉æÍ8fíâöäÂäÚæZé“V-“Üêܰô°ùcçBÒ‹Ó·^ÙJÝð“•YšùeÜ—MúÈPÃ0»"{Ó¥M>£}ºÑ5ðÎ…;ËN.ûtʧn&nšjš••ªDñ¢‚݃å'| ¦‰ÒÖœ[³núºé6ÓµÕµóªó"îFøõŸh>±Kå^ƒ×V×&„¤‰Òj›k9,Žœq±¾¤€rX6~Ù¹ìs‚JÁÒˆ¥T F›ë0Wvc—.²Ë³ï–ÜíRø–Û[Ô‡%îK®ç_ßœ°ysÂfªÄÑÈq”Á¨ÊÆJÙú>£}ÎðÏDeEIKlõlWMZÕíˆ Ç.L}”Í‹^µ²ë¸®oÉŸ`€sÀõ¼ëñÂø¯ã¾–-÷uèf/ž^ƒ·Ò±2Ò0J)J™°kU2xû®ûcìÖ<ïF¾K}ؽ`wO 4ü=ч;…¨©¨……»ëÐWSQs4rÜ·pß4›iršD/‹~{ÜÛvúvê*ê:,ñfã¿÷ýþëWÿʺfÙÏúùŸÇŽQWQ7Ô0\â¾$lI˜*CµK'ãÍÆ <äjâJuèÑíæ…„öÃܸó¹S¬¦h«k3LsŽùìQ³÷-Ü7ź—Jè4ú¯óÝúúV77“¥¡¦ájâú½ï÷^–^ÏVî5x±gáž f¤›xôŠF½(  ŠŠŠÆÆF9ììl¹Ü __yuàï 6V#$Ä(77o¸Adkk«xeÜ/B°¾`h*o„¾ÑÓÙYö³öìÊxž…û…@î C‡Á{#`@à~!‚¼(È €ä…@A^„ / òB y!(5A¥€›ÄÍ}ü×¾€••Ü$îíG·¤ó¢'EÜ$î½Ò{rê àˆü€ë”tÞ-¹»?e?7‰[ô¤h¸Ã€A¼”ØýŠûÜ$nnõ_yaECÅ€ç…wKîÊ©3€#öµ«ÒúRn7M”Öÿ¡{µ9a³×¯^a;®ï@^ðC^/#M£ïO Ïád(Pyaª(uƊˉ«m®u3qs0r‚á`¸àwðàÅa¨aâ2ÜQ¼€6ÍÙäaî¡ÇÖÛti“ B0ÜáÀ`A^ʤ¼¡üZîµúÖz{}ûé6Ó»œ­l¬õQjb~âžä=ŸOÿ\ÚIhZhS[“¿“¿†AvyvJQÊ·—¿m0ºÛUŒ%u%+"WÔ·Ô»š¸º»ªª¨òËù·Šn}õA jŠÏW~xÍ'.rY•åeé5Ñ|¢ü®v'ï–ÞSì–þ}ä…@€²8r爸Sâ"½+ââwØON“š¦k]ë³+ÎÒitiIMS õYCMãôÒÓšjšé%éÕO«™ ¦ÏŸâÛÅWs¯Êæ…ÍíÍgWœµÕ³¥CÓB·]Ùv(õP·yáný§¾¥~óœÍÁã‚e#ÿîòwçîŸ rR|¾òÃó0÷ ÑhQYQ“,'­ž¼Z~WŸLþ¤×û…Š/0ä… 2Š3XLÖê)ÿ—™sÌßr{ë·Û¿õÔäµÑ¯…¦†FfFδ›i¨aHÑeëê²u©³týPê¡xa|—VŸ>–=ôsô“&…„å–H9^œÞíˆÉEÉ £¦©fOò‰D"‘H!OÛŸBxe<âÞ‡ù*ž">õþ´¯Mà儼”C]KÝHÍ‘ C¶Ðœc.§Éš©k,8¿gÿþÝåïØªlwwÿ±þ¾c|©³ûRöÅ ãuÙºS­§ŽÔ©ª¢J#´“÷NJ×/v;F7Õ6å•󺱦©F,ïJÚõ쩆ÖE¦)¥`xŠÀúBPòBPÚêÚå åb‰X65ÕŠä4¡Óè‹\-rYÔ)é,¬)¼–wí³sŸe—gÿ¿Wþ!äϼ?ÕUÔãÞÓcëQõ%ÉÑ;Gi4šl']†H$%u%ZjZÝŽ¨¥®Õ&nûÀóƒgOÙéÛ)6Ñ¿(ž"°¾„¼”Ã8³qç²Ïí½¹WúTTT+ŠÌŒ”ÓäZîµi6ÓtF·Ñ³±Òµ K‹æESy!FSa¨¨1þo™})ûêZê8,Žl'çîŸ{wâ»ÒGɇï®nªži7³Û'[N>•yÊRÇÒßÉ_¶<§2GSM³Oóí5<êTmsm¯]a}!(y!(‡å–_\Ø•´+¹(Yú>²:S]N“ÕgVë°tÆ™3瘷‹Ûo=ºU\W<Æp uÖÝÄWÆ{ãð³ìgBҋӳ˳»$…„“åØÿµÑ¯hܯ¸Ÿ\˜L£ÑÞ›ø^·#~4ù£xaüº?ÖN;ìj쪩®YÕXõàñ^/ôÍPSmSÅçÛkxæs:~:ëtGg‡K‡ô¼OMÿ×^^V !YeY„³Ùg©ŸöãÛ×û ðw†¼”ƒ‹±Ëw>ß}sñ›4Qõ£À®&®~Ž~ß^þ¶§&3íf&ÜÀpb0!!!GŽINN ,..î½ ¼ ™4iÒï¿ÿN§Óx¼î^xÈ €BLMMO:åììtýúõá†òBø ‹ÅÚ¿ÿk¯½öá‡^½zu¸Ã¡†¼þŠŠÊ?þðÉ'ŸüùçŸÃ )ä…ð?h4Ú–-[üüüV¯^}ûöíá†òBèŠN§oÛ¶mæÌ™üq^~(ïe¼”Xb~bPxPª(•:̯Î ŠæEH癥™AáAñÂx9uvÄ¿Ã@ÏçAÕƒý)û—ŸZ”Yš9ÜáÀÀ Óé?þø£Íûï¿_]]=ÜáÀP@^J¬êiUª(µ¦©†:|Úö4U”ZRW2 ×µÔ¥ŠRËêËäÔØp a•0(<èwþïƒÅÿ°¿ï!ß×w$$¥ŠRëZê†`Pêêê „¬]»V,w80èÀ‹ÃFÏ&<(|¡óÂádø5´6¤ŠRKê=a%„T>­´×·ÿpÒ‡¯Ø¾2ÃÁÓÕÕÝ»woFFÆž={†;tø<xqŒPáiá9ÜQ¼tÎ.?k¨aHÙtiÓpǃÂÁÁáË/¿Ü¼y³§§§§'þ+ö"C^Ê$^Ÿ_ßZo¯oÿ΄wºœÍ¯Îß¿1À% À9€*ɩ̉áňêD‰ÄRÇÒÏÉÏÉÈIZ¿©½éûÜ+¹WÖP¦¡ªánê¾Èe‘¶ºv—n++¥TتìYö³üýh4šœ j ¢yѪttvXëZ/r^ä`ä ÈìäGÛ…œàçÿ~(õ!ätæé›7©ú'‚O(Ãs ’Bx±'%%mذ!66? üC^J>y¼ IDATã‹ _H_¼HÌOŒæE/v[,[Z„çeéEÆðb¾ˆýB"‘H+J=ôÓ?ù;ùBj›k§ï›þ´í©ôl¼0þPê¡È¥‘fÚfÒÂò†òùGæW6VR‡q9q—^æús{J OÜ=±ùÒf±D,óxÆñ­>[¹,’?;ùÑv!?ø’úA¥€R\W\\×ËoÝ.X*î”·nŒÃâì]¸W~'ð2زeË믿þã?þë_ÿîX`° /å›Í‹f1Yïz¼ëjâZÓTs,ýØo·“Ó„ºg¶lü²ÉV“Uè*…O ÏeŸ«o©§Î¶‹Û™ æ{ßs4rÔcëÕ·Öß.ºq/‚›Äý÷ÜK;9z稵®õš©k FdWd¼}0.'.Ê&*Ð%ðÙ3J26]ÚÄVe¹¹»ª2TùåüÃwÿóâ?½,½dÓ;FÛ…üàç;Í×TÓÜ’°%Ð5p¾Ó|ù6U”*?/Ô¡/¿xIlܸqýúõóçÏwqqîp`P /åp:ó4!äÿ_^µ{•*ñsò›{hnAMAOMTè*£ôGýköÿÝÛX>ayCkõY‡­÷^Ü¥‡—®ç_¯~ZÝ.n'„¨2TïˆîÈvb aóN ‹É"„̰›1ÁlÂÛoŸºwªÛ¼045´SÒúfè8ÓqTÉ »n¦n+N­øãþMúHÎåGÛ…üàMµM !fÚf½.¸ [&{“òYLS~ðò˜?þ©S§¾ýöÛÈÈHù«)@I!/å ¬rXiRHQe¨ú9úíJÚÕS“•^+×ý±ní¹µ3íf::ØèÙÐitM5MêlUcÕ’ð%Ï>fí’ŠùŽñ¥’B uÛOX%ìvÄ̲LñË_!‰DB$„q!$¯º—åGÛ…‚Á+b¢ùľ6—Ù?ÿùÏùóçÇÆÆÎ;w¸c‡¼”CKG GÓ¥ÃêZ"k®Ã\G#Çó÷ÏÇðb„UÂÖŽÖyŽóÖM[§¥®EáÞä×O²œäçäg¤a¤ÊP¥Ñhb7tI­¨Ê]-­/ívĦ¶&±Dœ\˜ÜMüí-ò'(?Ú. ^X_}âèèèçç÷Ë/¿øøø0ŒáòBP††ÕµÍµ²¹ ¯œ'¿•µ®õ§ÞŸRŸùåü¥K««¨,'³4“Ãâ]|”Nûk'צö¦ªÆ*u¦ºlÙåÙ²‡OÛžæWç÷ô®±–q›¸í@À½ë¿/uÙº½ÎQN´]ô<Ð!òS°¾ú*$$döìÙ±±±o¼ñÆpÇ y!(‡©ÖSsçnˆÝ°cÞ 5 BH\NÜÙì³ršüûÏ8ØêÙR‡FFLSú£yÚêÚùÕùÂJ!µ‰Ì“æ'_Æ~ÙÒÑÒ%/Lx˜Í‹¦6¾inoþ:îë¦ö¦¹ŽÝ?A›3j7‰/Œ_7}t¿›†Ö†3ü3Ì&ÈŸ üh»è5x6“MyTûHþ ë ¡ï,,,æÎ»wïÞ¹sçÒéøŒ òBPï{¾˹üðòäÝ“môljšjJëKïWÜï©É‘´#ÿ¹õ]¶®9Ǽ­£íáã‡Óm¦Sg_µ{5M”æÄ´ÁhBHAM‹É2Õ6•Ýü…â`èðÅ…/~¾þ³¡¦aAMAck#›Éîé ’÷=ßOx˜pâî‰ÈÌH+]+M5ͪƪ²†2q§8ôÍPù”m½o­gÍb²bx1ür>õü½§ý û¿¾poòÞ¤‚$BHá“BBÈ×~ØŸ²Ÿ²fÚ,^|Q}øá‡¾¾¾IIIÓ¦MîX` !Íå`¤atlÉ1{}û¦ö&~9¿²±r…ÇŠ¥ã–Êi²aæ†Q£jšj2K3•:îïäÿ㼩³+&®xËõ- ‘*‚J‰¶I蛡:,.,»à“)ŸeÊ”wß}÷Ã?ðÀ`õ)/ÄúB€¡Pô¤èËØ/{:;Á|ÂgÓ>Êxú‰Édúøø\¸pyá‹y!ÀPhjo’³È¯ÛM þæ^ýõ'NäååõéŽü!/ –:–áAá=}ö}€¿¿‰'êéé]¾|yá y!ÀP`3Ùƒ÷æÀ°`0ÞÞÞ7oÞ\µjÕpÇûÔÀsš2eJzzzssópy!<'ooïÖÖÖôôôáòBxN†††wïÞî@`` /€ç7vìX>Ÿ?ÜQÀÀ@^ÏoìØ±YYYà ä…ðüœœœªªªjjðsØ/ä…ðü¬¬¬!………à ì_á•ñ]ââ2ܱ€Ò066VSS+**7nܰ°oß>CCÀ€€a]ŽÆÆÆÔÔÔ¢¢"±Xlccãíí­ªªúlµ¢¢¢¤¤¤††++«éÓ§³X¬ç«3 ¼ŒîßY||ñÚikWO^=ܱ€r£ÓéæææCs¿ð×_533[°`láÞ½{ÿnyá¿þõ¯˜˜˜––i‰¡¡áÏ?ÿìåå%[mçÎûöíëìì¤8àèèØ×:y!üÅÙØ9wCîpGÊÇÄĤ¢¢bÚ½{·§§g—¼ðã?644‚ÑûäÊ•+l6{Ú´iÍÍ͉‰‰"‘håÊ•—/_–F½gσáççgllœ˜˜(>øàƒË—/Kï*Rg!/€~ÑÕÕ­®®®Ñ?úè£áZŽ~øaÒ¤I ƒ:‹ÅË—/OII¹råÊ’%K¨Â_ý•úÏ9sæB>ûì³÷ßÿÆ'Ož\±b…âuÞ;¥Q×R÷Í¥o¼~õrÚá4ÿÈü«¹W£yÑvÛíâ…ñT…ÄüD»ív‡Ó§ŠR—„/qùÉeþ‘ù„–Žn÷µƒ¯9þèè¶ÓmiÄÒ7¤ÝFfFÊv"[˜ð ¡KÏÉ…ÉacwŒÈøUÜW5M ½ƒÙS`‰ätæéÀ°@—Ÿ\œv8Í w<ã¸D"éÓ òg×íÐ{’÷,>¾˜²3q§Ýv;êB¯Œg·ÝŽ›ÄíÒö^é½ ð 矜'ìšðÿÎÿ¿ÚæÚ>}/ðÂÓÓÓ«©©‹Å\.÷üùó„¼¼¼°°0.—ÛÞÞ^[[ËårÿüóOÙ&Tabb"uØ¥íÑ£GÃ?S\WAUü{˜®®nMMMGG—Ë5kÖÇ÷ìÙCzï½÷êêê¸\îÛo¿ýÊ+¯H›P…Ë—/Ÿ6m!DÚ¶¤¤dÇŽÒÿwôæ›onÛ¶ü7/$„S!žžžfff²ë ¥ýäææîÞ½›ª¶mÛ¶]»vM™2eÕªU©©©TáO?ýtêÔ)[[[êðñãÇk×®MII‘FÈb±¾ùæ›E‹Q‡gΜ‰Dò¯ÃÒ¥Kuttº=%‘HnܸAqww§Jrrr¨)ÈVsvvf±XB¡Pñ: y!(‡céÇ•=›Ís6»š¸Ö4Õ„¦†K?öl͸œ¸@×À•ž+-8 :#4-4½8ÝDËdÓœMÍ'6´6œÎ:½ûæî­W¶Î¶Ÿm a x q9qÎOþØPÃ_Îßti“°Jx åÀÚikl.ØïüßÏfŸm0zýŒõ®Æ®j*jürþ–Ë[NežZä²ÈÝÔ]‘AÃ2™]—¡ !žž ¾wr.û\{Ð{ß3Ò4Ê.Ï^{nmš(MPñÿٻ󰦮ôà'„$„}dYTpE°•bE±Õºw:¶ÔŽmkSíªÓÚZ*j[wQG[wEdQ ¬dÙ÷%ä÷ÇíÜfBX”¿Ÿ§Ï<¹çž{Î{[ß9÷Üs³¬u­I~Á”••é,}útƒ€€€Ÿ~úiôèÑÞÞÞTýÑ£G÷ØÎƒnܸáîînfföðáÃ[·nýë_ÿšWUUíÞ½ÛËËkíTUUíß¿ŸºßJ™9sæ?ÿùÏ[·nÑyaPPИ1cúØG©ººúàÁƒnnnÔá'Ÿ|–””tùòe]]]BHGGÇܹsoÞ¼)‹ Æ•+WÁ‚ ¾ûî;úæ¯@ XºtiHHÈ?þHY¼x±“““ô~544º•øó¿Ô7Æápº]B¥z­­­ô·*½Žôú y!ȇ‚š]ž.•|ÐfšÎ|6ÿ˜a2C2*¨)àsùTÚD{ÕâÕДЂš‚~Åàbâ"Ù²ßÈTÃ4¯:OÆË»ö¨ò‘¨K4sßLBˆX,1õRR_"c§2Ž®[×ý2uÌÿl«aÄ7"„4µ7ÑÈø»ÀÆf³ÛÛ۩Ϧ¦¦K !666tRH¡î;SsfýbkkK'…„3f„……-Y²„J !,kòäÉgÏž­¬¬ÔÑѹ{÷.!DYYùÀÔ¿ƒb±X,«ªª ê’nAËhݺuMMM555iii'Nœˆ=yò¤¶¶6ùo¶GçÓ4ê›TRR’±ÎÐB^rãÙ̆^„$‰Ïåw¿HK‰¨³ÝVݵv¶öR}àºFõH-ì¦CÔ!{³ÒG×c×ýÂQüŸ¹ ª;Éo^ÆßF0‹Eç…ÔëOF___òPYY™ÒÙÙÙßvôôô$©ý\z,lii!„PÏ œ>}ZJ›[_¸nÝ:úóÁƒwîܹwïÞ;vB¨ÝjJJJ$ëwuu•””¨ªªR²ÔZÈ @>«§•¦ Ÿ -´,è˜ü¾'¥ŒÕSJRRKR èÂ[¹·¨S„ÍQš„ÂÚÿù/~\AyFL~̦™›è4¨°¶0¯:jdÌ5Í3Ê3bßUá¨H©&½Ó>G׆é%+í—ÿ.0’H.t“|—Be`ôs¸”n¹ÎðRSS#„øûûkjjv;EÏÉ l}a·³;wîÌÌ̤ÇG¹wïžd@ÐÒÒbgg'{¡…¼äü±óRKR7žßøù¼Ïíõí«›«'–åf¥§µgJIÊûÞß>w»“¡Sc{cxZxhJ(›Éžm1›BÝ=œtØÑÀÑÁÀáiÓÓ£IGéj$¥–¤~ùñ;ÓÞÑáéd”gl¿²½³«ÓÃÊc`#òqðIº”´2tå{3Þs4pTá¨T4V<¬|.÷Ÿà?Ýdº,ö9ºÞ¨)©B k[j3›8àßF’––)÷4µ´´X,V|||kk+U­½½ýÀèˆÍf×ÖÖö]¯Ÿ¦M›væÌ‘Hôî»ï*(ü¹…_eeeii)õ¹_ë ‹ŠŠÚÛÛÍÌÌ$Ïž9s†¢¥¥EZYY¦§§_¹r…Ú†F$íÙ³‡2gÎÙë -ä… V:­¼˜y1»"Ûÿ¤?UÂ`0^÷Zdv¤¢‚´ÿ”­˜¸"*;ê~ñýugÖI–êþ)õ¸®ßhžÕ¼Ë9—é–™ æ¢ñ‹þ“þŸnMyXyœO?žN—˜kš¿=ííÈ{¼w“„³‚³Â7t;õ†Ã2vÚçèzc¢n¢ËÓ+ˆsúñ¿êö¦“ÿ.0’´´´P÷|{¤  0kÖ¬«W¯.X°`Ö¬Yííí·oß~vÍœ,LLL2337oÞldd¤  àíímhh8ˆÀÿ0þüLJ††Þ¹sgúôéšššõõõùùù k×®µ··'ý\_øðá÷ß~{Ò¤Ifffuuu‰‰‰B¡BojMyï½÷¶nÝúÞ{ï½þúëzzzwîÜÉÌÌÔÕÕõõõíW!„i@>()*_~|wôî+9WÛ-µ,\ÒËÒ#I$5õÕ“utùÑ_âù=ë÷ÂÚB6“m§o·aÊW3WºÎ7¯}£ª¤zõáÕ–Ž]›Îúg~uþ³yá$ÃI¾Ž¾?Üù!§"‡Ëâº[ºÿsÖ?eܼðY c×ü]næn§SN§—¥7w4ë©èÓç=Þ{†é ;•et=b*0ƒ¼ƒvÞØ™QžÑÒÑ2°!Aü.0’´´´H'Û?ÿùÏû÷ïçåååååBŒŒŒvíÚµfÍšþv´zõê­[·^¸ðÇ®ŸÔþ…‹Y“É–ü2e©3„X ýR^^ÞØØ(¥‚……y``¹§§´:C¢Kܵè𢬊¬Ä€ÄÁÜ •Eôãè5ak¶ÍÞ¶Úyè_<õ—êtð^äïƒÁ Ð sÙηß~{÷î]êM¾fff¯¿þú³uêëë¯^½ZQQahhèîîÞÖÖvôèQGGG*O‰DÏ^KZXXxzþ¹SzNNν{÷êêêÄb15_¸ÿ~j_ëÛÉËËûí·ßÜÜÜ$–áÞº•––¶råJ>ÿÏ?¥¹¹¹IIIÕÕÕ&&&NNNÏ.—”]VVVfffyy¹²²²………³³ó³;ÎBòóóïÞ½ÛÐÐ`llYêô†Þ»[˜/¹ñõõ¯mõl 4”5òkòƒîe–gN5žŠäcxáw††Çd2¥ì,¨ªªJ¥n.—+Y¹Çk{,´²²²²²’,‘|?r—˜šš>[8kÖ,É÷¯PÌÍÍû•EIgmmmmmÝg5“>â–¥Î@^r#¯&/81X²D™¥¼mö¶áЇ–U‘µ xAogÝ-Ý,È{yñ—ý]à…)..îöNSÈ @nl›½Mƒ«‘T”TZ_Êãð&Mp «=v¸ãzÙáw¢¢"É[´ ¿€Ü0Q7Ù5×°tíjæ*åq]kë=Ì;˜Nÿ:†ñw¿ˆ’’ÌŽ }WèEuuuKKËèÑ£‡;È `਷à É~10ìÀÀ¥§§«¨¨`¾pd@^—ššjoo/ùú8_ø`àRSSñ0òˆ¼¨¡¡!//yሼ(55µ««ËÎÎn¸¡¼äCEcE`Là½'÷†±SYbÈªÈ Œ >•ƒ}{Ô%îzPüà@ÜÀ˜À‚š‚áþênݺ5vìXá†òBå å/>/ìÖ©,1d–gÆ «dÍ KêKc ëPØquÇÔŸ¦úóùîöwÈ A×®]swwî(`È /ù «¢à0eÌ”•&& a›™YÛRëhàh­k=ܱ€ÈÊÊ***B^8’à=x tx:.ˆá¹Ú>w»³‘³¦²æö+۳ʳ†;ø«»v횎ŽŽ$È @>T4V„¦„N3…š®+¨)¸qÁÕÌÕÑÀñÞ“{i¥iEŽ«™«‰º UÿÑÓG‘Ù‘ÓM¦;:I¶SÖP–æ`ààfæF•äU祕¦•Ö—ò8tû°ÏÞÓJÓ>úTÔ%r6r¶×·¯n®¾œs9(6H²Žô.&M^j¿4<-|ªñÔÉF“髊ëŠW‡­®o­w0ppÐw`+²ÓËÒã âׇ¯¿ºþ*Ãë1ž½±{éIÇiÒB^Cåøñãöööà %ä… Ç:D‘ë" Õ ©Ã"> O O,L|ÕâUBÈ2‡eÙgÒÎl™µ…ªý8º¬¡,À%@¡@áqxgVœQá¨$'W5U±˜,qE÷ŠnoÈ’N:,ê¸Ðw~\†,”¬#½ g#gƒž>ÍxÚÆéé«~‰ÿ¥¾µ~ÇÜþý%»ûòÚ—3/úMðë1žw§¿Ûç|aŸƒEeeååË—1Y8ò /9æ=Þ›N !³Ìg…§…—7”S‡3LfªžO?¿Ùm3“Á$„œI;£ÀPXb·„ª ÀP8”p(*'ª[³O›žÊÒûý¢û\wãŒ?ó9#¾ÑŽo¼w.X±±L³º¹:(6H,‹ÅbBHSG!DP* z¾ê=—÷d `ðNŸ>Íãñ<==‡;bÈ @Žé«êKRóa]Ô!ƒÁXj¿tÏ=7…7Ý-Ý«›«¯?º>ÝdúhµÑT…ýqû£r¢4”5fšÎÔSÑc+²„šJ¯”®®µNOEÊ8iF|#ÉÃuQÝ\-‹~ŒùñÙS m ½]…õ…ðb444>|ØßߟÃy¾BÁ‹‡¼F2ŸŸîþ–æné~>ý|gWç2‡eôÙ[¹·”•"×Ej*kR%b±øHÒŸ¯TSR+k(‰E’©aam¡du¡ª¤Ú.j_?eý³§,´,z» ë áÅøõ×_Åbñš5k†;zÈ `$ÓåéÎ4yûñíŠÆŠ3igÔ¹ês,çÐg †"S‘ÃüsÎcÜþºÖ:>—/Kã '^̸¸ïî>únamaXj˜d>» NÕ¶ÔJ^5ÝxúéÔÓÆêÆ^¶^’åÙÙ*•ÞâÁúBxªªªŽ9òÞ{ï©©© w,0ôÀ·ÌaÙ­Ü[ÿõ§ÂÕΫYL}j‚ÁA©`AÈwKwBHrQrFY†ŒI!!d•ÓªKY—~Œù1¶ –~Y‰¥$Y§Ï.ŒøF …3ig:»:չꄗ€w¦¿•µù·Í!‰!ú*J*••Ÿ>” ‚—Ó÷Á»üúÂË9—s*s!i¥i„ RJR!žã<¥ÌSÂK%00Çãùûû÷]äòBáf[ÎÖæi_^'„HÞD&„¸ÄÄ=zú($1„¢¨ ø…Ç'œ”Ü5P {}û/=¾üìòg‰…‰Ô Ž Ú,üâÚ²wÁçò½í¼ÃÓÂ%£/1T3<¶üØæß6§—¥§—¥Ó­YëX÷–FyC IDAT‰+¯\ȸ@ÒŸÇjE^„ôôôÐÐÐ/¿ü’ËíaƒO€|èönbcuã—€ £ÿçÑ\ªÐ^ÿ6Tc2˜ŸÏý<«"K…£b©e)yŠÏåÿ¶æ·ÂùÕùªJª®f®ª]â®úÖú;}öýÈ>ö>.&.7so6´5XhYÌ2Ÿõ°òa€K€…¦…Œ]B¾yí›…6 3Ë3›;šéB]›ˆµ÷‹ï§—¥·t´è©èYi[=ï×Ï;×XÝøÙrz8ð2ëèèØºu«³³óÒ¥K‡;x^Ôö2*//oll”RÁÂÂ<0°ÜÓSZø+ˆˆàè …¹²TþþûïCBB.]º4f̘ç !sssÙ++<¿8@¥§§WVVv+ùù矷nÝŠ¤pdÃ}døSWW×ÇL £ÖÖÖÖ¾÷Þ{“'Oöóëù];0b`¾þtþüùìì쇈D"‘H´yóf‘H´gϤ #æ àÍÍÍ»ví"„ˆD¢èè课úŠÅbÅÇÇŸ:uJSSs¸£ƒçy!üaß¾}õõõÔ3©"‘èØ±cŠŠŠ;wî´··ïóZ0! „RTTtèСÎÎNºD,wvv*+ãM9/ ä…@!_~ùe»×¤¦¦¾øxàÅC^äÞ½{×®]“œ,¤ˆÅâ®®®õë×K`ð"!/xÙ‰D¢íÛ·3™ÌÞÎVWW¿ýöÛííí/80xÁðÜ ÀËîÌ™3B¡ðÙ›ÈL&S$©««/[¶Ì××—ÍfKxð /x©555íÞ½»[¡¢¢¢H$rvvö÷÷Ÿ;wnoS‰0Âà>2ȇÇUýNøœL#Ñ£ýNø%& UT½I-Iõ;á•õ¼;êÑÃʇâ¬:½Êï„_j €>644P“…ŠŠŠ„MM͵k×Þºuëøñ㯽ö’—æ @>4µ7%&L5ž:˜F*›* ª›«‡**BHNeÎŽ+;–9,[4~]X×Z—P˜0gìœ!ìHF^!^å’‘¼ø@®<:|ø°H$¢’¿W_}ÕÏÏoúôéxµÉË y!È3M³~'F«î@ºkhkH(L˜a:c¸ùCES…¥–ålËÙÙÙ·ro w8ð×÷¡H$244ô÷÷÷ööÆKM^rÈ @>Œbš2fÊpG!.¬º ÃÓ!„l¿²}¸c¿ºÜÜxBTNž<éììÌ`0†;~È @><®züiÔ§Kì—,±[B&&üžù{am!›É¶Ó·óuôÕ¥%yUTNTTvT}[½¥–å[NoõØr^uÞYÁÙ‡•;»:M5L—Ú-µÖµ¦N¥–¤îº¹k¥Óʉ£'M>šUž¥ÌVv·t_h³úKô?éÿ9”pˆr&õÌݼ»ÔU'ýOÒ×¶ÔM>šVšÆQä¼bþÊ»%Ïûo_*)…™ÙB¼&OÎî@à¯y!ȇg×~}ýëàÄ`úðºðzHbȯ>¿N=‘*Ùzi+ýœJôã賂³¾Ž¾Ýš=ùàäŽ+;Db]íøýã_y|µÔ~)ùï2A;}»Ï¯~^ÑXAՉ̎¼öèZ W ƒÁ(®/ΪÈ"„ÕÕuk¼ª¹jÑáEtùåœËéeéÛçn—2̧VˆºDR*ð¹ü}Þû¤Tæ¡ä… —®<¼œ¬¨ ø–Ó[“ÇLnhm„ÇÄ¿{þÝ›»ÉQäDdGœœå²¸kœ×88T7WM>zðÞAÉFîßß~e»2[Ùo‚Ÿƒ¾›ÉN/KI ù¿Ëÿ7Õxª¡š!UíHÒS ÓM37iÒÎ(ÏøõÞ¯‘Ù‘áfá>ö>‹l©pT>¿ú¹ƒÏ"ÛEÝ‚»üÑDÃ$|e8G‘Cq3sëèêø)æ§”’)yá±åÇz|A-ÅdÉþ-ô òBKÙÙ\×ËÖ‹.a0¾Ž¾qqYåYžãBØLöB›…?ÆüH—¤–¦2Ì=wöBÄb±˜ˆ !¢NBHnÕŸ+®<ÇyRI!…šJÌ©Ìé3H+*)¤Œ×O©i®‘rÉd£É}6 ðœ /¹ÔÖÙ¦ÊQí¶:JMI:Eiílå+ñ»]ÅçþOIs{³H,ŠÍ}¶ýÖŽVú³ª’ê³í”Ô—ô$¥À"„t‰»¤\‚õ…0Œ€\Òáé«„ååº<]ºPP& „èªèRòªòj[j%sAªM_U¿]Ôþó’Ÿ™ Ý_ç ¡¬AÎ(Ë<ÕÔÞô¸ê1ýØ/ƒ0!ÒoþÊë `!/¹4Ót棧¶ü¾e×u®:!$±0ñçøŸ©SÔÿ Ÿ ?Šøè»×¿ãqx„ÈìÈ $™;vn`L`TNÔf·ÍôÜ^C[ÃùôóN†Ntµ«®žœ¥öÇiéhÙ¹­¹£y¾Í|ê¬2K™ò¤öÉŒ ë `!/¹´~Êú‹™ïæß4ÓLÓ¬±­±°®P,û8øŒÕKY7eÝ9Á¹k®Mß;ÝLÓ¬º¹º¤¾ÄF×&³<“ndÝ”uW]=ùàdXj˜‰†‰ G¥²±²´¡TÔ% ^öç8Ö:Ö[/mýþö÷:*:yÕymÊ,eú©SMS.‹{Np.½,ºs-¹a ~}á¾Ø}1y1„üš|BÈ®›»Ä „lr݄ŋ Þ~rI›§}ÊÿÔd£É­­™å™OjŸ()*ýmÚß¾ôø’ª ËÓ=ºü¨¥–esGszYzEcÅjçÕ+&®lD™¥|Êï”ÿD“%|*|Pü ¨®H…£²Êi•­ž-]mñøÅïÎx·¦¥FP*hlk4Q79â{d  uVIQé“W?á(rV>L(LH(Lxa_Br«r©0¨ s*s¨Ã¡}+4ŒHŒ¡Z/‰òòòÆÆF),,ÌË==¥Õ€¦ö¦ô²ôÑj£ém)••EuElE¶…¦…äÿ´ÜªÜÆöFc¾1ŸË¯l¬|\ýØRËRrù !¤CÔ‘[•ÛÒÑ¢§¢§«¢«Àøãÿ3G?Ž^¶fÛìm«W×·ÖçUç)³•-4-žÝ ¸¹£9÷inKg‹X,ž2fJmKmNeޱº±žŠ]‡*4Ñ0‘\9är«rŸ6=}¶üÙQDDðt…B¼ïd$377—½2î#€|èíýÈÚ2@¯ìõíOø0V7î@^ä…½z1+þ"pA^ä…@òB  /By!‚¼ä… T`±Ó"0&p0œœµØi•5TQõ&úq´ÅN‹Äa¹|À†«_BHq]ñ±äc«N¯²þÖÚb§Eôãè /”¤¢$‹A±AÃHwÙÀz´äè’WwÄäÅtˆ:†;€—ÞwòÁNßNø‘p¸£€çe´êh+Ù–³£²£N§žîp^RÈ `ø}ë,õáú£ëà ÀË y!ÈA©`ñ‘Å..TIkgë/ñ¿\ʺTX[ÈVdÛéÙm˜ºa¦éLú’úÖú¿üðr}k½¥–%}¡$±Xž––S‘#‹L5L}}ý'ø3 BHôãè5ak¶ÍÞf¥mõòʳ”ÙÊî–îº}¨¡¬A Š ú!úBÈÑ?P!’óš)%)ÿ¾ùoA™€£ÈyÅü•m³·ñ¹|ÙG›Ûc¿”ÄÂÄS)§RŠSJJylÞ„ÑÞžúö$ÃIÒ‹ÅçÒÏ…§…gWd‹ºDæZ澎¾Kí—2Ì¡ äòBK¢Ž·BßJ.J¦ÛEíqqñOâwÌÝá7ÁÒÖÙæÒ?«"‹ª^–þöÙ·=ÇyJ6"‹?üýà è’ìŠìíW¶g•g}õÚWtáýâû;oîu‰!­­a©aÉEÉçWWf)KRP&øöÖ·í¢vBHKGËùôóEuE§üOÉ8FéýV6V.?±œ®\ÓRsCxãvîíã~Çœ{kS,oº¸éRÖ¥?ƒ,J†j†3Lf 8l«[QqöFk”Vü{ñ2 †òBKÇîK.J6P5Ø>wûd£É m gÒÎì½»÷«ë_ͱœ£ÍÓ>š|4«"ËLÓlûœíŽ£«›«ÿõă’\ȸp!ã‚•¶Õ–W¶8è;p9éeéŸ_ûütêé¥öK'Œž@U‹ÌŽ\b·äïÓÿ®ÃÓI/Kß~e{NeÎÏq?àúÁÆé§Œ™â{Ü—úÜ-È‹ý&ø­¼VWE7£,ニ$&f•gYëZË2F)ýB †‹©ËÊI+mtm´FiÕµÖ%žJ9Åb²†*l_È @.EdEB:8Bx^€K@EcEhJèuáu_Gߨì(ƒ´8ÈRË’¢¬¦¼cÞŽ¼š¼ØüXº‘pA8SòFˆO‡*q6rþaÁ=®=ºFç…;=wRw–œ,90ç—9Q9QT~&…‹©Ëçó>§>O2œ´aê†íW¶gWf˘`IïWk”Ö‡nþÿó§QŸV5U‰ÄL×åTæHióœà!äG¯éÙA;};;}»A†³EZ§ /€\*¨)àsùTRH{ÕâÕДЂšBHAm.O—J i®¦®’yá£ÊG¢.ÑÌ}3 !b±XLÄÔBHI} ]ÍÅÄ…JÎ(F|#S Ó¼ê¼>ƒœ:fªä¡߈ÒÔÞ$ã¥÷{¿ø¾ÿIÿgwuiíl•ÒfnU®š’>°@~!/yÅ Œ¾+IÕ%î"„ô¸0nHvÑã(r$©€©¼sðÄèu¸,¿H—§Ëf² ÆÜ_çV7W²å„õ…#òBKÆêÆ)%)©%©tá­Ü[Ô)Bˆ1ß8­,íÑÓG’S†Ñyÿó sMóŒòŒØwcU8*RúŠÉÙ4s=uWX[˜WGõBQ`(^’ËA’Þoam¡Ö(-ɇ¬ŸÔ>ɯÎWUR•˜¹¦ybabl~ìt“éC0È;¼ïä’§µ'!äý ïßÊ½ÕØÖXÖP¶÷îÞДP6“=Ûb6!Äcœ‡X,Þx~c\A\sGsQ]Ñg—?“¼‰LñqðiéhYºò†ðFusu‡¨£¸®ø¦ðæÆó%k¦–¤~ùqAMAKGKRQÒ;çÞéìêô°ò Îª)©B k[j‡vŒÒû5P5¨j®:–|¬¡­¡¡­áVî­µak©P)yÛyB6]Üt:õtYCYKGKzYú¶Èm … ƒ 5gKŽð#¡”0Y 0_riÅÄQÙQ÷‹ï¯;³N²üS÷OµyÚ„•“V^̸˜U‘µâÔ êƒÁ˜o=_r‹ïñÞ OÎ ÎnßЭý7Þ ?{XyœO?žN—˜kš¿=ím곉º‰.O7® ÎéG'ªd¨ÞË"½ßå–ß~|{ÇÕ;®î JltmÆj­h¬Ø»%·soGåDm‹Ü&Ù•g£Í¿m–Ü0hMØêÃÞÅ{éTž7Ì€\b1YG— p 0Ó4c1Y£Ø£¦O ^Lm^Há(rNøðŸà¯5J‹£È±ÑµÙï½ßÕÌU²ƒ±kþ®ÀE3Lf¨)©±˜,#¾Ñœ±sö{ïŸaúç““ 'ò9ä`à ¤¨¤ÎU÷±÷9åŠÞ¼©À òr2tⲸC;Féýº[º¿àûq:㔕tx:Ë',?¶ü›É¦/ï10†ÂO‹~ú굯 ¹,.Ãs0pøÆó›©ÆS»w/ÆP­€€—Dyyycc£” æåžžÒêÈ ú}'«Ww,C/"‚ +æw ð™››Ë^ó…@Ö¼xYY ‚ôvÖÝÒýÀ’/2 æ €ÌHájæ:TK²Ö±~Í æ €ä…@A^„ / òB y!P!È ž«¬Š¬À˜@áSìVry!Às”Yž(¬B^ry!‚¼(x?2ȇ‚š‚ \Í\ ï=¹—VšÆQ业¹š¨›t«ÙÐÖý8º°¶£È¯7ÞÙÈùÙFôî=¹—Qž1Š=Ê×Ñ—:›W—VšVZ_Êãð Çë@ïe e7…7ëÛê-µ,ÝÌÜz‹,ÚëÛÇæÇfUdñ¹|+Ž !¤¥£åÚ£kÅuņ|Ãyc籘¬Á\%û¨©f3Ë3GqF¹™¹ªÊð‹€üA^ò¡ ¦ 0&Ëâˆ;píÑ5ª©Àüæµo¼í¼éjQ9QG|ÜÐÖ@—L=!hqO‡n„Ídï¹³'&/†b«këëèÛÜѼ!|C|A¼d®f®A‹ƒ¸,®ì½ŸI;óÙåÏÚEíÔ¡£ã›Ý"K„E!!d÷íݧüOuˆ:Ö„­)k(£ mumÃV„q9¾JÆQ³™ìÝ·wÇÄQ?™ýÉÊI+¥ÿ^ €< N nlkô²õÒUÑÍ(˸›÷³+ŸÍ;‡š˪ÈÚtaSgW§¾“¡Sc{㵇×?Øx~cØ›a ƒn¤¹½yÍ‚1ü1z*z„¦¶¦ø‚øñzã­u¬µFiÕ·Õ'êæöf/[/mžvFYF\AÜ×¾°Ò¶š2fÊsú•`¸ /yÒ!êˆ\IßÇü(â£ð´ðÄÂÄW-^%„¼w°³«sµóêO^ý„ʱ¶ÌÚâ}ÄûAñƒø'ñÓŒ§QWµt´\\}ÑLÓŒn–ÇáYqF…£’\œ\ÕTÅb²<ÆyÝ+º!¼!™!IïýpÒaQ—(À% À%€ªà°0d¡dü2F(&â¨uQúªú„Ñ,‘çAÏØüØé&Óúd3Ù„“VÌûuÞ á ɼ°¿WÉ8ê–Ž– «/˜kšS‡Á‰Á__ÿúPÂ!ä…#òB'Þã½%·Í2Ÿž^ÞPN&%3ÌÍn›é‰7u®úߦým[ä¶ä¢d:ëò²õ’L ! …C ‡¢r¢ºu÷´é©ì½ß/ºÏeq7ÎØHW0â½áøÆÁ{é#\<~1•ÞB˜ æ”1Sr«r×M^G¥w„S SUƒâºbÉðú{•Œ£^h³N !«œVý÷srQ2€y!È:ï¡(³” !]Ôa}[½ŽŠŽ’¢’d1ü1„ºÖ:ºäÙ‡EöÇíʉÒPÖ˜i:SOE­ÈfFhJ(½RP–ÞëZëôTô˜ ¦d#¾‘䡌Rw·iÔj¿g ë[ë%Kú{•Œ£î6†ÂhµÑ‚2€y!ŒªÕÒúÒÖÎVÉÄëIíBˆš’]ÂT`v»ðVî-%E¥Èu‘šÊšT‰X,>’t„žÕ“…š’ZYC™H,’L k á‹!㨻 A,׫rT_\ ð¢`ÿB9&N‰E?Dÿ@—Ô¶Ôþÿ uJÊ… C‘©Èarè’ýqû%'ðd1ÑpbKG˾»ûè’ÂÚ°԰!‰ðyqÔ3/æVåÒ‡!I!UÍU/>Zx0_#ÇÚÉk/e]:”p(©(iâè‰mׅ׫›« §Ž™*å ¥‚! Ü-Ý !ÉEÉe|.¿_½¯rZu)ëÒ1?ÆÄÒÏ#+±þç–ñ€#|d5—Åõ ñšg5O›§Yž›Ë`0ÖN^û‚£€y!Œ6º6{¼ö|ñqjIjjI*UHí(ýŽp€K@\AÜ£§BC!Š Š_x|qòÁÉ¢º"Ù{·×·ÿÒãËÏ.–X˜˜X˜Hq0pXh³ð‹k_ >ÂçAÆQ¯q^s'ïÎ…Œ Ô!µ!F‘€|0V7p ˜0z³…öúöt‰‡•ÇtãéÑyÑEµElE¶žäÛDzl„Âçò[óÛ áüê|U%UW3WUƒ.qýˆ†Œ½ûØû¸˜¸Ü̽ÙÐÖ`¡e1Ë|ÖÃʇ.šƒ‰p¦éÌQìQš£4% ßœôf[gÛ`®êsÔŽ"çØòcwòîäTä(³•g™ÏÂûNF*†X,î@ž”——766J©`aaXîé)­È…èÇÑkÂÖl›½mµóê᎞‹ˆ^@€®P˜ÛwU[æææ}Wú/w`“ë¦ÉF“‡;ij[jO>8™Z’*&b[=[?G?mžöpðW„¼¨²©2¡0¡º¹z¸‘æIíßã¾Ôá ácÉÇNú«=vxø Â}dÉ>üíÊƊI†“ö.Þ»ß{ÿLÓ™µ-µ›.nêw wh9˜/€+µ$õ~ñý1ü1G|()*B^µ|Õû°wFyÆÝü»3Mgw€-È @>¤–¤îº¹k¥ÓÊ©c¦M>šVšÆQä¼bþÊ»% ƒªsSxó×{¿v[îFþÃíN†N’íL=éHò‘ìŠl5%µå–Sg3Ê3N=8U\WlÈ7\;y­‰º ÝNsGóo™¿¥§”6”òؼ £',µ_ª¦¤&cü5çÓÏgWdw‰»Ì4Í|ì}Ì5Í%ã™8zâÑä£YåYÊlewK÷…6 û5®A~u”„„ß3/¬-d3Ùvúv¾Ž¾Z£´$+DåDEeGÕ·Õ[jY¾åôVÝåUçœ}Xù°³«ÓTÃt©ÝRk]kúlvEö9Á¹ÂºB±Xl¬n¼Ðv¡­®­ŒßáÜÍ¿KYæ°ŒJ !Ló͉o~ùqôãhä…Ý /ùP×Z—P˜0ÑpâÎ;‹êЍÂË9—ÓËÒ·ÏÝNö¸Ü*¬i®‘lÇÁÀá‹«_”7–S…¿gýþëÒ_›Ú›6]Ø$‹¨Âˆ¬ˆ¨uQÔ µ-µnûÝšÚ›èf£r¢% [f¨fØgðÇïÿâêtË7„7BCÂV„9è;PñØéÛ}~õsz \dväµG×½©¼M–q ò«#„|}ýëàÄ`úðºðzHbȯ>¿N=‘*ÙziëYÁYêsôã賂³¾Ž¾Ýú:ùàäŽ+;è‘F?Ž>~ÿøW_-µ_J9'8·5b«X,¦ëJ8´{Án/[¯Þ‚_qj…¨K$et|.Ÿ÷¾ÞÎ «„„ÉBê0·*WJ³/'ä… OÞ;h©eùõk_ëªèf”eì‹ÝwâÁ‰ S7¨ô«Ä[=ÛÍn›Õ¹êÑyÑÇ’}~õóªæª×m^w·tW`(M>zïɽC‰‡>zå#BH‡¨ƒÅd­¼ÖF×FSY³¾­þ^Á½S)§cÿ=ÿßÒûº÷äÞŽ«;!¯[¿>Ë|–š’ZnUî™´3mt#IGL5L7Íܤ=J;£<ã×{¿FfG†›…ûØûôÿKê™ô¯îÊÃ+Á‰ÁŠ Šo9½5yÌä†Ö†pAx|Aü»çß½ù·›ENDvÄYÁY.‹»ÆyƒCusõÑä£ï”ìâ~ñýíW¶+³•ý&ø9è;°™ìô²ô¤ÿ»üS§ªJ8DY9iåt“éŠ Šù5ù3.Ö·ÖK ;¡0Az^ØmF³*oÖõ?Oëðt!µ-µ}|e/ä… OL4LÂW†s9„73·Ž®ŽŸb~J)Iéo^h®iêÊb²!¯X¼’S‘“P˜ðæÄ7éù³iÆÓ¦í–RœBª+«G®¼òèÊíÇ·«šª:D„6“T˜Ôg_!‰!b±øS÷OW9­¢J^±xeµóê6Q]G›§}î­s\—:ëdèôæ©7O§œ¼PúWšJÙé¹sÑøET}/[¯•¡+ã â® ¯{Žó<“z†²ÇkÏl‹ÙT……¶ 皟WGwœÜ%î ^LO1¾bñŠ5Êü IDATãhÇÕ§Wÿ–ùÛ;ÓÞQTP«5ö_sþE_²ÊiUC[ƒ”°-?&9¿ø,êGì 5sÉT`JR‡Ô’€<ñ°ò 2Êx½ñä¿sBý2×j®d>a­kP˜0ßz>]¢ª¤j jPÖPFV6V.?±œ¾ K“žÓP¥Ž"gÅÄ’…L¦²‚2}è9ΓJ )ÔìZNeNÆÔé_]vE6—Å•¼ŸË`0|}ã â²Ê³<ÇyæTæð¹|:)$„°™ì…6 Œù‘.I-Me2˜{îì!„ˆÅb1B:Eä¿7m7Lݰù·Í\üàU‹W­u¬Í4Í *)argD®"—"¹€>Å5˜–F$ä… Oº=çÁR`B¤o8Òã]HUŽªä¡¢‚â³+*(6·7SŸïÕM3ž¶Ðv¡.O—Íd3Œ">’%/lµ©)©u›²ê’j·>—_R_"åéwWŸ%ý«këlSå¨v{ …º¤­³ÒÚÙÊWâ?¤äas{³H,ŠÍ}¶÷ÖŽVBÈ|ëù6º6¿gþ~Np.§2§­³íu›×7»n~vø´A®/­6š’_“OåÁjŽ“:’ÀÈA¥UMU’…C2ë–Z’ÊçòøQ`ü±íksGsec¥K©ÏkõUõ³Ê³ k øF½ÕÉ(ËzúhËï[öxíQçªB Žÿ™:Eý¯ð©ð£ˆ¾{ý;‡G‰Ì޼qA²‘¹cçÆFåDmvÛLOO6´5œO?Om¦óï[ÿ^b·„Ú ‡¢ËÓe1Y … RäúÂW,^Ჸ¿gýîiíIÝO,L<ùà$‹Éò°òèãKxù /€‘ÃZÇÚV×6½,ÝuŸ«™¦ÙÓ¦§ÅuÅú©¥©ƒly¶ÅìÄÂD¯Ã^VÚV„¼ê<.‹;Zmt·…k=Zë¼öRÖ%A©Àã ‡¡š¡W-¯:¯±­ñˆïÉÈ·^ÚúýíïuTt¨³Ê,åw¦½ó¼ÇE[?eýÅÌ‹wóïÎ ši¦iÖØÖHm1èãàC½/nÝ”uçç®=º6}ït3M³êæê’ú]›ÌòLº‘uSÖ]}tõ䃓a©a&&*•ÊÆÊÒ†RQ—(xY0!äpâá_âÑPÖ0âµw¶?zú¨³«ÓÍÌMJ`ƒ\_¨¦¤à°ëæ®·Ãß¶Ô²TTP̮̋şþw=½Á´ 0"á=x0r0Œ]ów«7´5¤–¤>mzú×¼áøÆà[^=yõoˆ‰8«"+«"Ë@Í xY05¯Ö'‡êºÐv!ƒ0žÔ>” Z:Z¼l½¬uþÜíyñøÅïÎx·¦¥FP*hlk4Q79â{„š&|®ã¢ió´OùŸšl4¹µ³5³<óIí%E¥¿MûÛ—_RtyºG—µÔ²lîhN/K¯h¬Xí¼ºÛÃ4Ê,åS~§ü'ú³˜,áSáƒâEuE*•UN«lõl !½úÑXí±ÕÍÕ©%©YY /[¯o_ÿvò¬õSÖèöá(ö¨GOeUdq˜œw¦½³iæ¦çÚ)€œbHŸŸ覼¼¼±±QJ óÀÀrOOiu ¶¥6§2ÇXÝXrš‡*4Ñ0‘\'‹=}ÔÒÙb¦a¦ÂQ©h¬È«Î«=–JãzlçIí“ÒúR{}{ɇ‚ÓJÓD]¢ £'HvWPS ª¤jªaJI/Koël›d8IÆ!4w4ç>Íe*0M4L”Y<Œý8zMØšm³·­v^]ßZŸW§ÌV¶Ð´èöHŸã’¯ŽRÙXYTWÄVd[hZH>¿LË­Êmlo4æó¹üÊÆÊÇÕ-µ,é僔QGnUnKG‹žŠž®Š.½(“RÝ\]X[¨ÌV­6šþž·ÖÎÖܪܮ®.s-óÖé__D/ @W(Äß#™¹¹¹ì•‘@ÿ W^8RIæ…à ¼t¾ ú•b}!À Ô|ñqogŒœþáú‘ŒÈ ¥¹£YʵRvæ1Àˆ¼`PŒÕOøèílŸ‹ÿìõíOø0V7®hÈ E™¥Ç|ìvÛ¹¹ˆ;@=š|tÎ/sl¾µ™ûëÜn7ï ÿñÛ?^=ðªõ·ÖÎ?:oß\”ܯÈûÛ£X,>“zÆç˜ýn{Ûïl_~ýøýãb±xÍögl~¬Ï1Ÿñߟ8ù“ÈOª›«%«µv¶ÆÎûužÍ·6Ž?8®8µâNÞÞÚ|vežX,>+8»üÄò ?L°ßm¿øÈâÓ©§Ebуâ;-¶_ÙÞ­…ˆì‹ï”eƒ!eÔÝF!ËEBH}kýö+Û§ífûí¢Ã‹no<ÛéÇß°Øi‘U‘E&&B¼l½$ëP‡ O†t¸=Ã}d'‚2Á··¾mµBZ:ZΧŸ/ª+:åª¿í¤”¤ì¼±S$Qí|wû;Ž"§²©ò—ø_¨ «¿á} kkBHecåòËéËkZjnoÜν}Ü︳‘óóèQ,øû‡2.Ð-dWdo¿²=«<ë«×¾p³}º_|çÍ¢.!¤µ³5,5,¹(ùüªóÔMÌQÇ[¡oÑ q»¨=® .þIü޹;ü&øõÙ¸X,ÞtqÓ¥¬Kt‰ T (ªÎ0™a¯o>ýü–W¶HÞ0=ž|œËâ.sXÖ[›Vÿ¶¢¢íÖ(­ø÷â3êIÿ£ØÖÙæÒŸNøÒËÒß>û¶ç8OéaÔBÆj•,§3ŽRP[ ýZ€!ùB'3..µ_zýíë馟~ó´ªAbabVyVÛ¹”ui¥ÓÊÛïÜlì]¼WQA10&ðÄýßx~“ô~ÒÚÉk»Ä]Á ÁT}ƒábêòËÒ_b6Ædoɾpï§E?±ÙôüÜ÷x!ãÂ…Œ VÚV‡–Jz?I°YpÊÿ”µ®õéÔÓŠ ¸Ù>EfG.²]týíëTVÚV¹U¹?ÇýL=vÿXrQ²ªÁ/KIù åÎßï¸0ã«ë_U6VöÙx¸ üRÖ%>—ÿż/îüýŽ`³àü[ç—9,c1Y„·œÞjjo:/8O×>&&xÛy«*©ÊÿÀHu¤ÿQ<š|4«"ËLÓì¨ïÑ´Íi·Þ¹åçè'™SN¿yZø‘NÙÛ !jJj’u¨Ã†Ö†¡,€˜/yâbêòù¼Ï©Ï“ 'm˜ºaû•íÙ•ÙÖº2M†Ñ\Í\·ÍÞF}ö°òp·tʉúdö'>ö>Tá–Y[ÂRÄUêIÿ£XP[ ËÓ¥’Bš«©«ô¼P…£B©k­“,¬o«'„¨(©È2€AB^ò„£È‘ÖÐÖÐÐÖp+÷ÖÚ°µÝ&&‡–ƒOKGËÊЕ7„7ª›«;DÅuÅ7…77žß(ý^ä ¥–¤~ùqAMAKGKRQÒ;çÞéìêô°ò ÎzZ{BÞ¿ðþ­Ü[me e{ïî M e3Ù³-f÷Ù¸·7!dÓÅM§SO—5”µt´¤—¥o‹Ü–Pøç&,«œVuvu~ñQNeÎJ§•’·w{”³%çÙÔYòY& ¥z<ÆyˆÅâç7ÆÄ5w4Õ}vù³>¸&3¨çW¾¾þuMKMC[CPlÐåœËê\õ9cç 8Ùá>2ŒF|£yVó.ç\ö?ùǃ LsÑøEÿIÿÏ [^>aùíÇ·w\ݱãêªÄF×f¬öØŠÆŠA¶ÜïñÞ OÎ ÎnßÐíÔo<§N !VçÓχ§…Ó%æšæoO{›ú¼b⊨ì¨ûÅ÷×Y'yÕ§îŸjó´ûl|‰Ý’Û¹·£r¢¶En“,§ÒMÊx½ñGO¼ýø6Ã[b·dPƒ‘™ôQÀÊI+/f\̪ÈZqjUÂ`0æ[ÏïöHòÇßH.JþmÍoÔ#É,&ëK/ׇ¯N NüóYøóvàe'ðb`¾F”o^ûÆÇÁ‡Ïås9FO8æw¬Û“ãnéþý‚ïÇéŒSRTÒáé,Ÿ°üØòcl&{ð-÷†Á`ìš¿+pQà “jJj,&ˈo4gìœýÞûg˜öüÜÆ˜d8éÏ!%E%u®º½Ï)ÿStRÂb²Ž.?à`¦iÆb²F±GM5ž¼,X–Í ! …ŸýôÕk_98rY\‡ç`àðç7Sÿçª5{ŸQìQC>ÀIõp9'üNøOð×¥ÅQäØèÚì÷ÞïjæÚç…®f®'üNL7™>Š=ŠËâ:9‡, ésãC€¡ÂÀðÐ/åååR*XX˜–{zJ«Aѣׄ­Ù6{ÛjçÕÃÉW׿:œtøúÛ×ÇðÇ o$#^D/ @W(Ìî@à927ïÇý¸ ¢.QlAì‰û'œ ‘¼xÈ %«"kAð‚Þκ[ºX"ë;Qž«>ã”ñ^ðóH¿ƒx0kû`ÀÀ_ˆOgý”õ/f{èë  °¾`ÄÀú—A¿Öâyd y!P!È €‚¼A^ä…@òB9’U‘(|*î@`dB^ 72Ë3c…UÈ à¹@^„ /Šâp “‚š‚ \Í\ôî=¹—Qž1Š=êµq¯I:âhàèjæJUË«Îû-ó7u®úŠI+¨’ήÎ}±û,µ,_÷Ú Ì×Ñ—"‹âòãr*s:»:M5LÝÌÜ8ŠÉkóªóÒJÓJëKyž£ãx½ñÝ/k(»)¼YßVo©eéfæö<â !/ùPPSÈf²÷ÜÙ“C±Õµ]æ°ìhòÑ;ywè¼ðBÆ…½w÷2˜^¶^ªJª„Åc·ÌÚÒ[Ë?Åü$&b)]+³”×MYׯÀ|}SKRß¿ð~Q]]S_U¿÷~*ùkîhÞ¾!¾ ^²)W3× ÅA\—:<“væ³ËŸµ‹Ú©CGÇ6 ¤}Gƒƒ¼äIpbps{ó›cøcôTô Ó§_~x¹¡­A…£B¹óøŽߨ°¶0¶ ÖÃʃr'ï!ÄÅÔ¥·6÷Æîu‰¤tª5JKJ^Øc`ÅuÅ«ÃV×·Ö;88è;°ÙéeéññëÃ×_]•Çá5µ5ÅÄ×o­c­5J«¾­>áIBôãè Ø Ý>$„¤•¦}õ©¨Käläl¯o_Ý\}9çrPlо4!/yÒÒÑrqõE3M3ºÄÅÔ%";"6?vžÕ¼úÖúôòô-³¶'ÇäÅPyaL^Œ†²†µŽuom¾;ýÝ>ç ûØg—?«o­ß1w‡ÿDºÎá¤Ã_^ûòbæE¿ ~<ïÌŠ3*•äâ䪦*“å1Σè^Ñ á */<œtXÔ% p p  .p X²°ÏH y!È/[/ɤüw"0&?fžÕ¼Ø‚XQ—ÈÅÔåaåCê–n]k]zYú|ëù £·6ßsyoÈ‹-ˆe2˜ÕÍÕA±Ab±X,Bš:š!‚R™@ ‡EåDukçiÓSêÃý¢û\wãŒô)#¾ÑŽo¼wpðÑôy!Èu“n%ªfšfwßùÿöî<®©3Ýø“„°„%a‘E@viD@­Z Öb¯ã­»X­Žµ3ýô–kenÇÞvª­¶c;íÜÊLµs­ U\AGPÄâ^* Bˆ‚€Ù÷–äþq:™4‚,!úûþ•óž÷œ÷9'ì¯'ï9‡ˆÒJÓlÍl½Çx¹%ˆÊ›Ê j ”*å ®/hÙç ç>´°FY£B¥Ø™¶³o϶®6"Ú¾;¥(ÅŠgõ¢Û‹öæö††,b¹uD=›°¥³ÅÞÜžÃâhnë,pÖ^À` €>á°9}_p}á@Ö²¦²´Ò4æòa[‹ÅJ+K˯Î'­“ iˆæö*ÌÂØ¢[ѽáù }{zÚxÑå’ËÆÆgß2ÃõS\NÜ–s[Ô‹J•²©£)<6¼¥³…i™í9{𣌤ðØðüš|õ¢ú@à¡ àÇs° þú'wkw6‹mÄ1:]pº¥³e®÷ÜeþËŒ ŒÆ ÆéºÆ©m¯õ²ñzÙëåÛµ·/—\Öu9£r!ü¢²¥Ò{Œ÷ªÉ«4[ˆè­éoù9øé®®'wjí)[3["ÚúãV]×  @oÜ®½}BtBÒ"Q©T.–.a>a>v>šÊ›ÊOŠOÞ®½­T)Ý­Ý—ú-õ°ö ¢Ü¹_\úbMàš©ÎSf̯η5³Ý>w;É䲤‚¤[•·ªÚªÌ Í–ø-áó™ª7œâ8eÖþÛµ·ùÆü•+‰(¿&ÿpÎáÊ–J'Óúië]-]{\+­ý!ë‡ÂšBž!/Ô+4lB‹ÅÒr€¥¥ ¢„;uwz”=nVnK|—í„ý??Z†»T|iÏ=ƒ7Nsž¦îÏ4n Ùèx ëÀÙÛg[»Z»›º#â"Ô}$-"úøÜÇ<.ˆ­:ôØRµœíÇ~ƒCŽ …ÐOÈ… NˆNü1ù*•Jݲ7cï× ¿÷ gfÜ–ºM¡R0‹‹/ÆfÆ[}ÌßÁŸ™ç7ÖïÓÔOk¥µD4Án5w4‡ìiïnWï3¥(eoÆÞc«9ñè_S÷üÇúoKÝV#­aúœ.<½gÉžöîö§6ª‡K.LNy3eŒÙõ®ªÛª_Ý÷*3½}öüÝóÑáÑŠ†‡r}òã'ê^½wõ`öÁÏæ~¶ÄoIÎöáêÚë2$²FÍM˜Æ&Y•7•gH2è_{í\\-î©:ÛýûZ}xµB©ÐrÔÁ®E»´žäBÐ{3öÑš)kfºÎ4`”5•%æ'¶v¶2koÜ¿ñIê'D´@¸`–Ç,¾1¿¤¡äxÞqi—T½‡}™ûܬÜ"ƒ"Ç ÆY[‘\!çr¸ë§­Ÿ`7ÁšgÝÚÕz£üÆá[‡£Ó¢¿œÿ¥zÃØÌX{Ÿ¨(KË«¥Wdø4õÓY B½BÙ,öY?ܸcoæÞÍ/mVoµÿæ~7+·/nc:&¿&Ï=goŸw_ê·´ïÑeWfoýq+ÏáïàoÈ1W‹coÆþéÜŸ¦»LgBªv®¯ÕSVÏ?çÍão޵ûé|ªn?rëHRAÒç¿ùÜÅÒe@¥ö=ÛÚ¿Á‡ÊdhÏ…6¦6ý9:è'äBÐlƒñ6ã?žó±ºemàÚ¶®6æslf¬J¥ú(ô£µk™–—<_Z7u]—¢KÝßÖÌöÄ'L¸&êKžåÙõg¼ûã•{WÚä 9r oJnjíaíqdÕ.‡Ë춨¶(C’ñúä×·¾²•é0ÃeÆŒ¿Ï¸UyKs«1fcÔýäùR Sàë‡_?zëèCƒZLFŒR¥ŒY3Ùq²ºþIŽ“Ö]—TôöŒ·{~4\_.–..–.l3C³çÇ=¯n¿zï*ù:ø m…*µïÙÖþ >Ô•4¯/öÅ|)0T @?¼5ý­¨¤¨÷ß›í9[h+dn˜572gÖŠªDFF«'¯ÖÜ„ÃæðØ<õâ\﹚1…ˆê¤u+ãVV´Tô«WXyÅûÍü!´fH2æ ç«[,Œ-ÆZŒ­n«ÖÜjÞsó4‡c®¥Õ=ôèr«r9,Î7?}CD*•JE*"êQôQICÉ#Nɯ h¸Áèg©}϶öoð¡4gCÀ@.ý0_8‚݄ӧOˆNÕuõt-˜° *8Šù²KÑÅ7æsØ-{p°pèÕýstEKÅ —a>avfv†C‹µ9ys¯\had¡¹h™K¼LIDATÀ6 "õ½)êFY·ìW[ÿj+"˜´>xhm²n™B¥¸Vv­ïªNy§–ƒz²áÚ¢}”~–Ú÷lkÿ ó Fr!è 7+·wƒÞe>‹«Å«¯®“Ö1±ÀÁ¡°¦PÒ,q8÷‡¹r&‚ý+ö³Y¿¼üI&—ÕI댹ƃ¯6¿:_s±½»ý^ýGÝë`áЭèþÇâô¶V<«ÁÇd¯†öÍ>Ov5q0¥jù ó Fr!è‡//¹Øw1óÜ"²3³ãr¸ê;gC½B k #OE~½àkwkw"Rª”§ N3þ9ÛçµO¾1ÿ^ý¢Ú"æ+MM$ÐÙÓ9$¹0õnj‚(a±ïb"êw|xöC™\6Âü‡v~eü+ÑiÑ)E)Q!Qê+‘m]m'Å'™gâ r8æyÔÇóއù„1?Ý^,¾x4÷è×—ªý|(Ì/aÈ… öeîû¿ëÿgųr8w÷tß­¿Û£ì qaÖ®ŸºþLáQ•hî÷søN|~ic©´KºÅ~-û|ÙóåLIfø¾pï1ÞDTÚXjÂ5qä;j>¹æ‰ m…<óÇ¿^ù«­¹-S Ë{Ô$o>ÿfêÝÔC9‡Žåsµr572¯“ÖUµU)”Š˜e1ƒNh+ô±óW‹ƒw»[»×·×W¶Tú;øçV ø}ÁO\ªöoð¡?¿p×µ]i¥iDTÖTFD_\úâ»ôף€ÁÖuý²yöæñcÆ7ÊsäÖ²YìpŸð¿,ø ³ÖÌÈìȪ#a>a,bÝo¾/ªuÈ;Â}ÂÕwÑ>Ôºië–û/W‘ª°¶°°¶p,l̲KË!)øµ‰¯ýç ÿÙÔÑ$ªI»¤®–®ûWìÔ{äx\ÞáˆÃ«&¯âr¸ÅõÅ9•9-æFæk×úØ÷ëÉÏÚ‡c±X_ÌÿÂÅÒ¥­«-÷An}{ý¦àMË'-‚ãzâRµƒÃ¤¤¡$C’‘!É`ž¤XTWÄ,öz”#0XÚ/ÑôRSS#•JµtðôôˆŽ®™7O[Ÿ'Ö(k”4Kx†ýßÍÍš›¨TªQÂʸ•ÿà÷µßkû_;š{T¡RŒÔQ讀~øêÊW{nìQ/Š«Åâj1—Í]=eu€c€ŸƒßIñÉ÷_zŸÇå©ûÌ:hÂ5Yæ¿LÝ"ªýåò_ºÝDÔ!ï8)>YÑRqxÕaf­J¥Ú˜¸ñLá™÷¯‰ªDN|§\_xhUÞ_z+”ÚR£©Íõw¯?ÑŒ4äBЩwRM¸&_-øj¦ëL¶AYcÙ©‚S<Ã_RàoD%E\5yÓR\_œ!ÉX5y•…±…z'‰ù‰ë§­·3·Ë¯Î/ñ½LIfaM¡ÐNHDñ¢ø3…g&‚¨à¨Y³&‚âúâ÷s9Ü‘?^€‘‡\úÁÞžˆBLJrX"Ú ™0ǘ÷ܼ—vÄåÄ©sáÁìƒD´fÊ͹}úŸ2Ÿ§8Mykú[[Üz»î6³«¢D´3|§úê ¯ƒ¯¯ƒ¯–ªŠÞ/¢ãÐ=Ì/ýðáì•*åìïf”òQ\N\AMæZ.‡»rÒÊ;uw2%™D$“Ëþ™ÿÏ · kÍnÓÇM×\t8Q{w;³XÒPÂ7æ?ê'c€§®€~Ú S—š]‘U‘•y?3ú§hKžåÎðÞc¼™»ÓwÌ>8ÕyêIÑIi—tmàÚ^;120Ò\d‹ˆT*ÕW…ù…ð4ÁõBÐgªóÔßÏøý7áß\~û²´KúAòêµ6¦6ó…óÏ«“ÖÊ9äjéâ2 ý{X{´t¶\+»6Ô…è\/ý°ôÀÒ×&¾6Íyš“ÀI®_+»ÖÜÑÜÙÓ©ÙgmàÚŠÿ¹9ysQ]ÑÇs>f±Xb‘ï¢LIæÆÄQ!Q!î!|c~ICÉáœÃáç9O{è&˜_OäBÐùÕù9•9½—OúÕ;B&ÚOœì8ùʽ+fFf‹}tˆÅ¾‹¯”\I)Jùð쇚íó„óž à~ŠJŠ:•J½øÛc¿e>üýµ¿Ïõž;|ãô…\ú!aMÂÑÜ£×ï_¯h®0ᚸ[»/ñ[Ò7üEDdWf/õ[jjh:Ð!Ø,öß^ýÛ±¼cÇsÕqØk“VLw™þøôk0®àTSS#•JµtðôôˆŽ®™7O[ŸáóÙ…ÏöÝÜwáwÆ Æé¤=’œliW\\¢ëB`yxx<¾Ó¿àz!<%JŵòkqÙqS¦"<äBxD§EG§E3Ÿ7ãwº-@O!ÀÓÃÖÌvÃóúx` ÀÓ 2(22(R×Uè7<׈ €\DÈ…À@."äB` r!èµò¦òè´è[néº_ÖF§E×뺀'\úáAëƒè´èLI¦f#“ s*stUU/5ÑiÑÅ È… — @?0¹0C’¡ëBžZÈ…@„÷#€^È”d&ˆˆ(½<]¡T0½^ˆ|ãþ¼ª<#£`÷`WKWu{ySù©üSÁîÁþþ7îßȯÉ754]1i)TŠô²ô¢º¢e›•[ˆ{ˆ‘‘æ>KKóªòªZ«ÌŒÌ&4Ñ~b¯ÂªÛª/_jíjõ²ñ q†C9È… 2$ñyñDt½üúõòëL£:ö({~ŸðûówÏ3‹6çÏ¿ùó"ßEÌ"3ÑcøÍOߤ•¦‘ÏŠI+räþשÿªh©Pâ`á°{Ñn&üÉä²·âßRÅvþöµoM¸&Ìâñ¼ã[ÎméVt3‹“ÆNZ8aá𜀑€\z`šó´%~Kâóâ§»LŸæ<­×Ú˜Ìi—4Ü'ÜÎÜ.¿:ÿ粟·ü¸eÎø9æFæš}dݲ…ŽŒ³7·¯l©\wl]kg«ÿXCCqµøzùõ ñR7¤š™µwµ_/¿>Ñ~¢ÐVhcjÓÚÕšq?ã꽫ß^ûö! ¢¼ª¼R>R(S§ú9ø5ÊÏûöÚ·#z^†r!è©ÎSY,V|^ü —ïÌ|§×Z¹B~öͳN|'fqsòæø¼øLIælÏÙê>òŽÄu‰îÖîÌâ–s[Z;[?yå“U“W©û컹oûù퉉fFfÇW772ϪÌjhoàr¸sŸ›[q£âbñE&O¡TDEª/[FE†Å† ßInÈ… ÷M\¤…D4ËcV|^|M[fŸpŸpu($¢kå×8,N£¬ñÛkߪT*•JEDíòv"U‰(€Ø,öÞŒ½)E)½Æªo¯g>dWd›pMÞyáß!ÕYà¼|Òòïo|?ÔÇ0B @ï9X8h.ò¸<"êQöh6jÞ‰BD²F…J±3mgß½µuµÑîôÝ)E)V<«Ý^´7·740dëÈ­#êÙ„--öæöGs[gó€Ž À3ÃþU€³0¶èVtox~Cßžž6žDt¹ä²±ñÙ7ÏZó¬™v•Jµÿæ~‹Å,òùÕmÕ •B3Jš%ÃuùôƒLjˆš;š‡do3]fÍ=êbéî®Ù~»ö6s· ‹Å2à0ƒ2v§ïnél˜˜ÅÉN“ówý¼ëÝ w™I³äXî±!)@' @?8 œÙ,öñ¼ã=ÊKKêóüÂy{æÛ)E)QIQ±™±þþæÆæuÒº;õwDU¢˜e1Ž|Ç€±¢*ÑÂØ…¡^¡D”U‘•_¯…D´6pí™Â3;Óv^+¿¦¾Ù˜k<ø#ÐäBbÿú¡uˆ L‹|ÅçÅÈ:À´ &:ñ¬<•%®‹«Åêv¡­Ð‘ïÈì<½<ýnýÝØÌX"2`l›»íPÎ!õóýü¶ÏݾåÜ–LI&óÖfÿ±þa¶ßöÄUŒ0•j¸þ`AO!Àãñ”2Ù°ü§æÏ¿ùsØ„°‚š™\Æ´¸XºDE8hvcýü´ô!¢ v’×'gWf‹«Åò{s{ï1ÞB;!³V`"HúmÒÅâ‹eeÆÁîÁc-Æ*UÊÖÎVõ–ú- r ºTr©­«ÍÓÆs–Ǭ;uw"ƒ"=­=‡ãð†\{;ÛÔT©ë*`a1Ogè§šš©Tª¥Ãœ9ãÂÂÚÞ}·iÄJ€'m™”džšz_×…À0òððègöðÕÏ&oïîü|£Ç÷]+(0òöîÖu0Š À›>½#=ÝD.Ǭ%€Q­»›•žn2cF‡® Q¹†Xhh{g';5ÕT×…€6çÏ›vv²_~¹]×…À(‚\CÌÞ¾gÖ¬ö½{˜½ 0j©T´w¯`Ö¬v{ûžÇ÷†gr! ½?ü¡Q,6Dù”)SÊËË›lóŸþÑÓÓ±BNNÎåË—ãâ⊋‹Y,Ö AƒæÏŸÏd2›‰\hµY@@À… òòò¶mÛ&--½nÝ:²¦ŒŒ ‹Å²±±™5k–à}a¡"##O:Åf³ŒŒþ÷¿ÿYZZ’5y<ÞÅ‹ýýý+++ûõëçææÖL`‚^¼x±|ùr"†Û·oÓh4ظqcdd$}ZVV¦¤¤4pàÀï¿ÿ^CC£™°:tóæÍ²²2r÷Ò¥KBu„ÖØ%''_¾|ùÙ³gååå ½{÷ž1c†………ˆ !ÔñB›‡‡ñת¦¦&JÉÁƒÿÆétúåË—‰jͬœKJJ½>Ÿ¿oß¾ÆóOêêꢟˮ]»È}}}ïܹÓd`jjjQQQM¶püøq*õãýt:ýÞ½{Dµ††GGGÁv´´´öíÛGî6ä»wïäääˆj111|>ŸÇã©««%;vì ªÍœ9“(Y³fMó§&4^vvvMžéœ9sˆ–·oßNd“‚äåå½½½› {ñâÅM6+ˆ žÏçoÚ´Iðê(ÊÊ•+y<^óãˆê´0±C¨³kQbG§Ó»wï~êÔ)ooïÁƒ…rrrYYY|>ÿÑ£G!ïy{{EÀ`0òòòDoçĉd*`ggwîܹÿý÷·ß~300ñ\h4š‚‚ÂŽ;îÞ½RXXX\\LÆvÿþý .ØÛÛ•MMMÉTC0B‹åéééå奯¯O4ˆ¨¶{÷n2SY»víÍ›7W¬X!##C†Ý|œãÆ#ªíß¿ŸÏç'$$Ž9’¨CΟ4jBãïããC6xìØ1â¬_¾|Éçó?N”KKKoݺõÖ­[¿þú+‘III=yòäS1¿~ý:$$„̶ׯ_O^ÏîÝ» %vGŽÌänÞ¼¹qãF2ÏÛ³gOó×!Ôiab‡PgעĎÌ3ø|~qq19ó´mÛ6Á6KKKûõëGü$##s÷î]ÑÛáñxÚÚÚÄî7ß|#8»SYYIl888Ø ˜={vãö¯\¹Òü‰“•Ÿ?Þ¸???¢L4 ŽŽQBNƒñùüéÓ§ %vŸŠ“¸s ãÇçóùîîî ¥¥²²²ïÞ½KLL$*ÈÊÊÖÖÖ6jÇ+??Ÿ¬IÖ¼¶¿ýöY>oÞ<¢ÐÕÕµù‹F&¯gΜ! ;Gœ‹Ðõ!n@€ŠŠ ‡Ãi¾#„Pç„kì’(T*uäȑĶªªª••UDDÄÅÅ‘u*++Çt:ýêÕ«cÇŽ½ììlâ¥hðý÷ßS(ò(r]XXñ5™X¶?uêT¡Â¸¸¸7n$%%•••544ðx<ò§ŒŒ ¡µ_4œWc±XÄFmmmMMMMMMNNQ"ø‚Q£F N•5'ùØÁÇ9NHH,Z´èÏ?ÿ,))‰ŠŠ"çðlmmeee?{j"ÊÊÊ"¯íõë׉~‰rb#<<¼u- õBf–‚C?f̘cÇŽ@iiéëׯÛñ%,¡/;„$ ƒÁ Ó?ü]+((ÄC‘PSSC¼Ø h4ÚÅ‹'OžÜ¢vª««ÉreeåÖÅ©¢¢"---X²}ûvòíÁ‘ñ vMF(*ŸÏ¬,ø0yŸeaa¡­­››[UU£Fzö왯¯oHHÈÓ§O‰šd ØÌ©‰®¦¦†Ü~öìYã %%%­kùS½^ÁmÁ:¡.;„$JuuõÛ·o555‰]âµ´@Üš¬««›:u*‘¦P(”¿ÿþÛÕÕµ¥íèèèÐét‡ñññÎÎÎ œoc0͇]RR²}ûvbÛÑÑñ‡~PQQ©­­0a‚H§ý1‹%%%ÕÐÐ 9¤¤¤ˆ§ƒƒÃÙ³gàСC¥¥¥rrr666#GŽôõõ½ÿþ‹/ˆj»¶ÐÑÑ¡Ñh\.¶oßnkk+T\WUUE>²ÿþAƒµ®—7oÞåäõ¡P(‘Fu ø­X„$ÍöíÛù|>\¼x‘üWõĉ9޳³ó½{÷€B¡œ8q‚\¹Õ¢vÈ|ëÈ‘#ä·¹êêê~ÿýwb{øðáölll𹬬ŒÈ3`Ù²eÓ¦M³··orÊJ²²²£F"¶Oœ8ñöí[ÈÍÍý믿„j6'™±]¿~¾ùæiié#F@xx8ñVMM;}û¶"BrÍ"áÆOlߺuË‚Œ­gÏž‰‰‰äŒ‡Ã }¯¥Óx ä]lâ¶lqq1ñö°³³#ïn#„ºœ±CH¢(**>|øÐÀÀ@AAáåË—D¡­­íÔ©SÓÒÒüýý‰&“yñâÅ‹/’ ½Ç®™vàÈ‘#Ož…BqvvöóózcYeeeèÇ„ÖT5ߎ¾¾~\\Ü¢E‹ˆUY©©©ñññL&sÇŽ­ ›B¡Ü¸qÃÚÚêêê?~lffæëëÛʫЯ_¿»wï@UUÕË—/ׯ_¿jÕ*Ñ[PWW'†÷‰/a¶Ý‡õðð fŪªªÂÃÃCCCÙl6ÆÅÅ-X°@^^¾®®îéÓ§qqq………+W®œ6mZ«{dllüäɓٳgËÈÈTWW?yò¤¢¢BJJÊÙÙùÉ“'fffíÒ BèË£ð¾B!„º.œ±C!„’˜Ø!„BILìB!„$&v!„B;„B! ‰B!„„ÀÄ!„BHB`b‡B!$!0±C!„’˜Ø!„BILìB!„$&v!„B;„B! ‰B!„„ÀÄ!„BHB`b‡B!$!0±C!„’˜Ø!„BILìB!„$&v!„B;„B! Aw¡.†ÍfWUU‰; „ú*0™L ÑëãŒB!„„ÀÄ!„BHB`b‡B!$!0±C!„’˜Ø!„BILìB!„$&v!„B;„B! ‰B!„„À/O „Ħ¾žòætq1­ºÿ#! …¯¨ÈÓÕåèè4P(âŽuA˜Ø!„¾´òrª¯¯B` ü“'²\.þ» ¡&()ñlmk&O®²³«¦ÑÄ ê:0±C}9µµ”S§TNR¦RùÕ3gXXÔijrååyâ ¡NǃòrZf¦T|¼lPÜâÅšzz ›6U-îÐP×@áóùâŽ!Ô•°Ù쪪ªV(¿s§zEuùòÒÙ³+0™Cè³23¥Võóc~óMͶmEúú âŽ}iL&SCCCôú¸®!Ôáø|8p@uùrÍ¡CkïßÏZ¸° ³:„D¡¯ßpèÛË+·¸˜æä¤ÁwD¨³ÃÄ!Ô±Þ½£üô“æ_)ïÛW°woº:WÜ!ÔÅX[¿»v-wøðš~кrEQÜá N ר!„:k×jDE1þù'oàÀwâ¡®JF†èÛÐPõ×_»ÉÉñ&MjÍrô5ÀÄ!ÔR½_îìÙ|Ìêj# ÜÜJªª(6°tt8ýúáßjÞŠEu”€ù'Tvï.<¸Vܱ $!6l(þ曚¥K5ËÊð%(¨ ˜Ø!„:Dm-e×.õéÓ+œ*Å B’ƒJ…C‡ ¨TøãqÇ‚:#LìBâäI•òrêêÕÅâ!IÃdòÖ®-¾|Y))IZܱ Nßc‡jQÞcW^N6ÌÀÍ­dá²/U×UZZ:pà@bûâÅ‹666íÛ~UUUhhè½{÷>>_ ;ކF¶Ÿßg«1ïÜaDGO^>ïüy.‹ P(³gÏ&ê“÷Xy<Þ¿ÿþKlÏ™3§Ñnß^ß³'È$$¨8ÀZ±‚ZU3gV:9µ¥eJ]µò¿·*\¿.B+,¤44Hed(Ÿ8¡=}:µ ¦‰œ¯¦ÿ=Ž>‚ÿ@ „Úñ%\þÞØÍ›7‰>}ú,\¸PQQÑÌÌlÍš5BÕÈû³ŽŽŽ...òòòÆÆÆ«V­" }||êëëÀÉÉIFFž?žœœ ááál6ºuëæÐæ•j|ãí±cuŠxС®wï¢-[ÚØ2¥¡Ap·ø—_Òò.\ ž„•NMU=z´]|%(ÀW–!!˜Ø!„Ð’žžNlXXX…‚Û"K€7n æ-ZDÖÖÖfff€²²ò„ ˆBbÒŽ¼ëêêJ§·ÃJ›CÃÂÝ»É]ž¼üÛ£GùÒm]ÔÅ““ƒ÷oÑãtï^6>O^¾vðàê÷§#ÔÆ.újab‡B]LMM ±AÞo½qãFYYÙ½{÷€J¥Î˜1£½ú’NM%·©µµÒïsÓ6¡Rë‰MŽÀ›WÉmòF-B¨¥0±C¡/ÄÐÐØxñâY(¸MèÙ³'±áââ’ÒKKK¢‚••±ö®¨¨hýúõïÞ½{{ûîÝ»·KÀrª= |b‚Çc­^MÏÏo{Ë5ööÄÍ& ÉmŽž^Û»@è넉B}!“Þ’!11ñÔ©S•••IIIª6kÖ,bãúõëgΜ)**ª««ËÊÊ Ý¼yóÚµk+““vAïo_¶ý± =/µjðxP¸{w•£#ÐJK5~ú‰Âië#Ïåsç+êèyyÊgÎPkjËß¾MüÚÆ‡3úšá·bB-óÙoÅÞ¾ÍtsÓHIIm¦Î׉Ïç/^¼888X°pöìÙäÓä·b8àééÙd#¶¶¶gΜ!wkkk‡ BŽˆŽŽNpp0•úá?Ú:tüøñO…`üþ®¨ JCƒöÌ™2 P5y2ûÐ!juµÎäÉR™™PþÝwE›77Ù …Ë525ýTwU'²&¶åïÝÓpszªÙB‡}ÊV’àßÚ× ¥ßŠÅ;„úB(ʱcÇÜÜÜttt¤¤¤ ·mÛF>î*híÚµ^^^“&MÒÑÑ‘––&Œ5jÔž={„fø ÆÔ©SÉÝ™3g fu­¦¶s'‘Õ5èéîØÎST¬<˜}èÛݳ:„Z gìB-ƒ3vuø·ö5À;„B¡¯&v!„B;„B! ‰B!„„ÀÄ!„BHB`b‡B!$!0±C!„’˜Ø!„BILìB!„$&v!„B;„B! ‰B¨+ñðHöñÉwMè´ ŠSp—Ëå9òÊß?§Õ·½„Pab‡êJŽåã“%î(šÐi"§à.‡Ã;r$©-iYÛ[@µ]Ü „P ,[Ö‹Å’wMè´5¯‹†úLìB]ÉÒ¥=ÅBÓ:m`Íë¢a#„>;„PWâá‘ÌbÉLŸ®O–p¹üˆˆÂää .—gl¬8lX7šÐQÏŸ—ÅÇ—TUq44díì4ÔÔdÈc{mdÄttÔIM­|ô¨ ¾ž×¯ŸªµµšP ÕÕœ  ü¼¼ZMM†ƒƒ—Ë?{6µo_e{{ÍÆ‰Þl3±}¯'!)©<*ªÇkk5KK²üæÍ쌌êÆíŒ¡Ñ§Š`ɧZ¬W\YÙ §Ç:´›²²t{œB_;LìB]Éñã¯úôQ!‘””Ê¥K£ÒÓ«È ²þiÓ¿¿*±[TT·jULdd!YÁ oÝÚ×ÙYÞ¯ =Z+7·æÀ|þu\]õwïîO’˜XºhQTaá;b—Œݹ³ß‘#Iß~kD&v‚‰Øló±5É×7+;»¦ùK4w®‘ŠŠ¨I’Ðõ$8ðÂÓ3™Ü2Ewÿþ4üürBBÞ6n‡Å’Lìši ß­YñáÄååéûöõ7N[İBŸ‚‰B¨«ª­å,X‘›[Ó½»œ†”5<¼ 5µráÂÈ;wF±X²\.áÂÈÄÄRy[[–’’tffÕýûù›6Å›˜(ZYý—ˆ<}ZüÖÎN³G6ûÝíÛ9W¯f::êÚ ª«9‹G¾34dÆârùaaìã>^óÍŠ›_ß,Á|¨I'j‹žØ5Wrÿ~¾FŠùùµ¹7nd0ú©Lš¤#43wíZ¦¶¶Ü”):"¶Àáðø!")©\^ž>r¤¦––\nnMxxÁË—å˜Ø!Ôv˜Ø!„º*?¿ÜÜÜšþýUÏÆ`ЀÃá¯\s÷nî¥Ké+Wšæ%&–Nš¤sà€59]”˜XêìzæLÊáÉ’ââ:Á£Gk»¶¶¬Ÿ~òàÁ["óóË)(x7|¸Æ‰ƒ¥¤¨P[Ëùî»ðââºæÃk¾Yc2mšžµµzóýªª¶éfnIIÝþýœœôˆÝ„W×Ð3gR–-3¥Ñ(“'ë V>zô‹%súôƒ.b ·nå$%•÷è¡xáÂ0ò¾su5'+«‰;¼¡–ÂÄ!ÔUÅÅÀŠfDVt:eíZó»wsŸ<)€ðð“£{z&óù|àóÏç+*J%&–’혛+“éwW þ»ñ_?ýÔ‹Èê€Á /[fú¿ÿE6^óÍŠ›iÓô>]ÚÆÀ€Iæd`i©âà u÷nÞ›7½z) Ö<}úÍýûùçÏ“—§‹ÞBTT!¬_o!¸šP^žnföQã¡ÖÁÄ!ÔU•—×€žS°PWWžB²²z()©€+W2šoGK‹!¸+'÷ßäŸ`/ÚÚr‚uttä?^óÍŠ›v_c×˜ŽŽœP‰®®<TT4ž?Ÿöï¿Ù. SPjQ ÄÐ)´:B„P30±CuUJJÒ•U¥«û!“ÈήæóxÄ’¨0gŽ¡šš¬Ð±²²¢¾žh$7·†ÅúÐHNN[ï¶.¶/°Æ.'G8qÌήEÅ Ü•+/¦]ºdÛ䣬ͷ@’–V©§÷ùä!ÔR˜Ø!„ºªþýÕ®]ËüóÏWýû«k¼¸\þ¡C/`À52DÝÛ;ƒËåÿø£)•J!,,|—Ÿ_+b/ýú©úød;öÚÓs0N€º:®à#Ÿ­ÓºØ¾À»ŒŒªë׳Vȕ޻—¯¨(Õ£‡"Qâë›õ×_). ûTGÍ·0dH7oïÌßai©J& Ä;¼‹PÛab‡êª&MÒ>vìUllñ¸qAäS±))•JJÒ³gÀĉ:gϦ^¾œñðaÁС,55銊†ŒŒªèè¢ zôíÛô“§zÑ9|8éÁƒ·& Æâryaaìš.P(Ÿ=ú“ZÛXc§ª*³nÝ“[·rzöTÌË« Èårùóç›Oxܺ•³aCœ““þåË‚G ¾Ç®ù&LÐ9yòÍ«Wå#FŒ©¥©ÉÈË«yô¨`ölCLìj;LìB]ƒAÿ믡Ä{ì.]J' Y,Ù?ÿDÜ6¥Ñ(ý5týú'ÁÁo½½3È54dEÌê@^žîé9xѢȴ´Ê´´JèÖMvÓ¦>kÖÄÊɵþBÛ%¶ŽÐ¿¿ª±±Â‰É¡¡l¢dÊÝeËL‰í-[¸\¾`Àuu2±k¾:ò÷ßCW®Œ‰Ž.ºy3›(d2éææ˜Õ!Ô0±Cu%Bß651Q¸{wtxxArr—Ë72R>œ%øå é“'‡¤¦VÆÆ—”Ô«ªJ0­­ÕˆÙ#:êæffdôÑãD¡‰É‡Õý––*AAc‚‚òóók55£GkçÃÇG&b³ÍÇÖA„.`“a;:êL˜ ]Ìãñ P|©ÞÂ…&õõ|áFúôQ±`±d/]²ML,/©­åêéÉÚXtˆj# ŸßÄŸ(B} ›Í®ªªj¦ÂíÛL77””Ô/RGKI©ÔÖ–#_ªRZZ?cFXZZ¥¿ÿH¡7€ ô%IÞßjŒÉdjhhˆ^¿e3v‡ŠŒüÌ«›BÖ!CV¯^-î(ºžÞzz&ÚMGGžÍ®}ð€]^^?dH7ÌêBMË»ÈÈȨ¨¨ÁƒwP4¡Ž%=ë긷oç’%}ú¨>2²0;»šF£š›+ ¤Þ–GbB¨ƒàÃ!ôyŠŠRcÇvw!ô¢¾{!„Bur˜Ø!„BILìB!„$®±ëììíí‰ ggçüQ¬±´òòò)S¦ÛîîîVVVâ!„’˜Øuv¡¡¡Ä†Ä$@ äI•••‰7„BH’à­X„B! ‰B!„„À[±¢¬¬ÌËË+22’ÍfËÈȘ››Ïš5ËÒÒR¨ÚÇÏž=›››k``°téRƒ&—»}¶µ¬¬¬yóæÛgΜ¡ÑhGŽyùò¥––Ö¤I“¦N*ØiXXعsçÈNµµµ;ê* I×ÀmøîòwÖºÖ«‡w®£=—'T8DÈOÃ~,)¨*N M -¯-Ÿl1y¦ÕL¡Cªêª“Ÿæ=Í)ϑŅY  IDAT¡ËXhXLï3]KQK°Î¾?–¿+??ë¼`ajqêŽû;x|Þ/£~1ífÚ~g†êb0±“þþþóæÍ+--%KüüüöíÛ·nݺ}ûö‘…ûöíÛ°a¹{æÌ™ãÇ7^î&Jk555äÁÁÁk×®%ÿûï¿·nÝúÛo¿»{÷îݸq£P§ísÚèëÃãó¢³£eň°×…¯£³£… »1» îî Úu6ö,ŸÏ'vûi÷ªŸ—0ûÒì:NYr/ùÞ‰¨LþctÑda|n|QM‘à/Ù/¿¿ò}e]¥ûdwÌêúÊab×å%$$LŸ>½¾¾¾ýö[WW×ÜÜÜÍ›7íß¿_WW—x–6""‚L°Æ¿pá´´´µk×¶®5Annn«W¯0`ÀÑ£Gƒ‚‚`Ïž=+W®TVVŽˆˆØ´iQmòäÉóçÏÏÈÈX·n]G^„ÄæŸ™ÿШ4rWMNMðׂª‚nòÝF`H1ÎÆžm|xU}•MÊṈ̃¯V_m%í’š’‹ñòÖú¯ [ö©t6>7~÷‚zNý‰é'† o×Bu=˜Øuyûöí#ò°#Fœ?ÿßÝ™~øvíÚµ|ùr …âááALèèèܸqCJJ ¨TêêÕ«[Ñšà!K—.ݱc˜›››šš@}}ýëׯmllÈNõõõ¯_¿N£Ñ€N§ÿôÓG÷§’ 6ú64 íS¿þ2ê—nòÝ(ÊÝ×w›L쬺[=þé± ]†,™d>iêÙ©¯ _ÇæÄŽ4ÙøÈÌÈÅ×S(”¿gü=HwP{œB¨kÃĮˋŒŒ$6RSSÉ—ÞUTToß¾MMM511‰‹ûoÐÈ‘#‰¬ÆŽÛºÖ™8q"±Áb±È¢¢" ;µ··'²:5jT«N¡ê¹õ—â/EeFñø¼:æ˜+'%GþZPUàýÌ;¹0¹ª®JGYg˜Á°Ñ=F ýÉ—Çb²š¯ /-/T"E“j0ôuák>ð×ú`¹ïrYºìß®[v^P‹ú:ab×åÕÔÔYYYYYY+”””@mm-±«  @þ$¸Ý¢ÖuëößB":ýÃ?NÄDÙ)“Él¦S„Z„ÇçÍ¿2ÿqÖcb78%øzâõËß^Va¨@ra²ëתº*²þŸ‹®–®»ÇïþTƒ»ƒv?û¼ùNL:Ð]±{óuöïM)JaH1,4-œz; =ôÐ:‰ù‰2t™Ú„Êï¾¾»òÆJ%Y¥s3Ïõbõj{G!É€‰]—g``PPPNNNMÞâìÕ«èêꦧ§ñÿ oÞ¼i]k"ÒÑÑ!ºKMM% SRRDo¡ÆÂÒ˜2Ìuöëz¨÷ȯÌ?õøTjqêÎû;N:—Ÿ^®ª«²7¶ŸÚ{ª²¬rNyΣôG•u•Í4øªðUãG„Ô6Ô~6°31gˆÀä@ÏHÏßg:NäÓj•„+±9±«‡¯Vf( –syÜ7VÈIÉyÍñ2R3jK! ƒ‰]—çêê ¡¡¡¿þúk¿~ÿ=jWUUåï“CÜQutt €ÀÀÀ˜˜˜¾{÷n÷ná9 [Ñĉ>|÷îÝ‹ˆˆ:th]]ÝÞ½{ÛvÆèkÇþ?3ÿ1×0'vÇ÷ïpÒáVÒ­ãvÈIÉÑ©t8àx€L†fZͬxWÑLƒGl¬¨k®4?]'E•šÖ{Ú ½A,&+¿"ÿßçÿÆæÄ®º¹Êb¡…®²n ÎM@pJðÖ€­cMÇ.²Dè' …¢.§Î®b¥ab‡„‰]—qíÚµ§OŸ –èééýóÏ??þø£ŸŸ_hhhqqqÿþý{õꥤ¤”›››ŸŸÏårÇŽK<úºlÙ²Ó§O'''s8œo¾ùÆÂÂ"77·GB½ˆØšˆ–-[vêÔ©ÔÔT.—kgg×»wï¼¼<¡%zµ”ËŒÌê@…¡2ºÇèkÏ®¥¥ôÕê;«ß,ß羋®-šÚ{joÍÞ¦ÝLeè2Í¿!ÅLì!ýîø»à ¹™V3WÞXéŸäïûÜ×m˜[+ôOò_ë·v¤ÉÈÃSS)Âo’§R¨ç\œ}qö¾}t*}þÀùmŠ!$A0±ë2rsssssKˆGPedd÷íÛçéé™——÷êÕ+âWeeeGGÇï¿ÿžØ•—— úî»ï‚ƒƒ\\\6nÜHÎÉÉÉɉޚˆ‚ƒƒ¿ûî»p8¢Ó½{÷áj½ÆYš’¬o€3T5¼¿øþÍ7#2"þŽþ;¯"o˜á°uöëLÔ?ù_m_c×ø¹ç¾ÎþIþ™¥™Í7Û¤‹q·ÝÛ6¦ç÷)îÄdc*f]˜ã5gWÐ.•6oÀ¼Vt„’<˜Øuv!!!Ÿú‰HÅ@ZZzóæÍ›7oÎÌÌÌËË“‘‘ÑÖÖf±XBêèèeeeåææêëëwïÞýÚµkÄO …L¶DiMOO ÌÐÐØ`0daŸ>}k vÚÐÐ@V#¿uè’ “¸ R4)²$1?44ˆ]%Y¥¹æÎ0 ª –ø,™wy^È’Á7‰j¯5v‚ò+ó€!ÅhÑQp,âØaL4›xhò¡f^žFjFf]˜siÎö{ÛiTÚœ~sZÚBHò`b×ÙµhM›¾¾¾¾¾þ§~=s挡¡¡½½½žž$''ÿòË/ÄO£GVWW½599¹ÆÑh´OE«§§Gt RRR-:)„„Uí¸¿ã×Ñ¿JÓ¤ù|þÙØ³ÑÙÑzÊzzÊzp6öl¯n½ë&*«0T˜2Ì‚ü‚ŒÒŒO}•¡kì^²_>Í{:­÷42‹ÈˆØ²lôlD?/>Ÿ¿;x÷™˜3S,¦ìŸ¸¿ù¬Ž`¬fLäv¿þF£Ð£ !ôµÁÄî+úÃ?(++WVV¦¥¥q8`±XÇŽwt‰ÊXÍøÚ³kþIþ*ù•ù…U…°Öþ¿ÕŸ¡©¡;ïï”—–×SÖ“¦K§§UÖUª0Tˆ´¯Im\cWT]´%`Ëö{Ûµ•´•e•ó+ó ª  ¿vÿ ½&ÕBRBN=>%µ%póåÍøÜxc:æ{ëï 9àLÌ …’W‘7×k®`ó¬ç}ê[u“ó³ÎϹ4gsÀf•æÒ×¥-ç‚êê0±ûŠüïÿ+((xòä Q¢  àââ²sçN-­vxáB_†¡ªáÏö?o¼½ñYþ3PQØ8r#™BÍ8ŸÇçEdF$$%6z6›FmjÅ]QYhZ|gýÝ¿ÏÿÍ,ÍÌ„L—–wîë¼zøjÁ/ŒV ÞðͯÈϯÈ€žÝz%ÄA>Ÿ“#Ô…CO‡fèÙ­çùYç¿õúvÓMT uzŸéítf¡®‡B~‘Z...àííÝañ W]]––VUU¥¦¦fbbB¥ ?p‡$U{ýý²Ù쪪ªf*ܾÍtsÓHIIm¦Nëðø¼˜ì†JÏn=¸ oŠÞðø¼žÝzJÓ¤…jÖ4Ôd–fòù|-E-âÅÅËãæUäV*È(©5¾‘ZPU^’Þø@  (ª.J-nú¢é«èk*hÛñ¹ñ ¼†ÆË-ÏÍ)Ï¡R¨Ö:ÖbÿÌú2:îo uL&SCCCôú8c÷Õ‘——'Ÿl@¨k¡R¨äª5)š”àKO„ÈIÉ™±Úú“¡QiºÊºÍ¼µŽÅd5ÿU1uyuuy᥮õÓî×d¹¶’¶¶’ögGI6œ­A!„’˜Ø!„BILìB!„$&v!„B;„B! ‰B!„„hÙëNŠ‹‹srrV­ZÕAÑ N"99YKKKAAAÜ ö” ££#î(Bu –%voÞ¼ÉÉÉqwwï hBª¶¶e_²G!Ôµ´,±û̾8[|µ§ŠwþIþ«n®êïÞßd¯Éï~wD¡N­ekìB€é~S=›fþÓÑmØ|+éVG÷‚’˜Ø!„$MâšDq‡Ðn”d•ÍGšŒ¬åÔþrçq‡ƒêì0±C¡ÎkûØíÄÆÝ×wÅ B¨KÀ5v-pàÀ …òàÁëoذB¡<}ú´#ƒB_Ä@¡€ÈC6…8ô€Çç~|zô‰Ñf¿›ðqêñ©ÆuרÕqêLöš,ñY’[žëö¯›õak“½&5 5½èÚ"ëÃÖ½ö÷²÷°ß¼§ª®J°˜ì˜¥×—Ú±1ÿÝ|쩱C–¿+͉5ÙkÂåq#2"Löšÿ÷8ëñ8w„ú,œ±Cu%[·zÅ{ÛÙeÙûBö½xûâ³G•¿+w=ïÊ®b»<Ï+ÞkKà>ŸO”ä”çüýWDFÄÕ¹WR 8ÿäüöûÛÉ ©Å©‘ e¸ÑpÑ£wy^DFDóu«‹Þ&B5»X»víÚµkҵk‡¾x–ÿÌ+Þ‹)ÃÜlÛCß~  |<ôÿ¾úíxx@¯^À`@ß¾àçP] +V@÷î + ¶¶ 0ôM¬±ËΆ… AW¤¥ASfφ¦†ŽSS•##عó£³+*‚uë gO—MM9||@²‡¾Í2K3ÀÖÐV°p¸áçïšk˜“Y¼)z+o®4ÝoÚs_ÏžûzöØ×Ãt¿iaUa~e>¤§ÀxÓñí?Bu´.9c÷çŸþý÷ßÄvVVÖo¿ýÆãñ¶mÛÖÒv8pñâEb;11ÑÉÉ),,ìçŸ' =z4a„ÔÔTYYÙÆ‡§§§<¸  €Øe³Ù^^^þþþÁÁÁÖÖÖdµ}ûö]¾|™>>ÌËË+))¹té’ªªê… ‚‚‚ ///&&ÆÌÌìñãÇÕÕÕÅÅÅ¡¡¡ÎÎÎTj——<„èhXµ 8˜9 ÁË ºwÿÌ—.Á‘#—páÐépôhkf¹|}áÄ ((€âbظ8˜8Øl „Š HKƒQ£ />1ô°bÀðá ÕÕðâ89Ae%|<ôàãB^””À¥K ª .@P@^ÄÄ€™<~ ÕÕP\ ¡¡àì ?ôm£¯¢Ó †¥‡µ´"‘:7ó\ʆ¡ÿ‹]KV¸óêΧZ …ÃýÄì2B‰O—œ±Û²eËO?ýDlÏ™3çßÿ½víZvv¶žž^‹ÚÙºuë¢E‹ˆí;wž>}º°°ðþýûýû÷…½{÷8ðåË—­®®¾sç‹ÅòóóSTTssó+W®XYY=}ú499¹gÏžDÍ•+W®^ýß2Y³fq¹Ü¹sç^»vmÔ¨Qjjj ÃÆÆfРA ''7|øðáÃ[ðÌ]öÓO ÇÃóç{öÀˆŸ?jËx?ô0güû/\»ÙÙС‡­[áýÐÃÎpú4Âýûп?€‚ìÝ BSCÕÕpç°Xà犊ææpå XYÁÓ§œ ï‡V®„÷C³f— sçµk0j¨©ƒ660h€œ _ÉзÁXÓ±'¢NüþàwYºì(“Q\>÷Ϋ;Ç#Ž·´i}¦yFz®¾¹z­ÝÚa†ÃÔåÕËß•g”fÜJº¥ÁÔX2dÉ‹)‘žQž\>×¹¯³¦‚f^y^`r 4]ú‡?€2CùMÑ›¬²,%*å“é8®±C}a]2±³··Ü522€ÊÊÊ–¶#˜BQ©T]]Ýšš"«#èëë›Ín|lFF‡Ã±µµ%²:N;vì‹/RRRÈÄnìØ±‚Ž7RRR@FFæôéÓK—.MLL´··ïÛ·¯ÑéWáÔ)ˆˆ€°0˜0֯里ŒZ>ô¥PT*èêBM  =£ÐÔÐCFp8`k Ct:Œ /^@JʇÄî㡇qãRRddàôiXºÁÞúö;;øz†¾µújõÕo–W¼×ú[þq4sôOòoQ;*;ÆíذyãB?-¼ U 7Ü´3h§g¤§g¤'ù벡ˈÁzƒý“üGzŽ$v/ξh£gÓŠ3ú¬« W7ÝÙD:q"ê|ÛÿÛ߯üÖ="„º´.y߇Á`îë`È[±Ä}LÁÇ) ¶¶¶q;B+ç(Jã’ÆM5®Ð"Ä!ä³gÏÎÉÉÙ¼y3ƒÁ¸zõª¹¹¹££cEEEK›í’bb 'àÍQ“³‡ˆËHÞŠ%îc WSC/¼rŽBi¢¤qS+´qyàìÙ“›7ƒW¯‚¹98:ÂW2ôm°m̶ #6¨HѤt”tÖÚ­]kßš7ѸZºzÏõv4sd1Yt*Åd Ò´mÌ6òÑ×﬿ûgæ?#LF(3”eè2&ê&ˇ._0hñë/£~g:N™¡Üöux!ÔŽºäŒ]óX,¤§§PSSóøq;¿ÞÀÀ€N§?|ø°¢¢‚œ´ãr¹`bbBÖ 5j¹{çÎ06þ°VZAAaÊ”)S¦L€ÄÄľ}ûîܹsÿþýíp§“Ÿ3gB·n°~=¬ZóçƒO[Û$F<=Þ=ÔÔ@{=BEŇI;.†@`èáΡ˜2¦LHL„¾}açNø¡o*…ú?›ÿýÏæ‚…)Rw¿+C—ú•ÔW«¯û÷fú¢?dˆþ&êÆìvtÚQQƒnWKWWK×/ÐBH2tÉ»æYXXÀš5k^½zU[[ïää”››Û¾½ÈËË?žÍfO:5..®¦¦&))iÖ¬YÏŸ?·²²"ïÀ»»û¡C‡Þ¾}[ZZêååµbÅ pvv€˜˜˜‰'^¿~===½¾¾þíÛ·¾¾¾––Ö¾Ñv:̘EEpù2¬\ ?þׯÃÁƒmmÖÂ`Íxõ jk!>œœ ½‡äåaüx`³aêTˆ‹ƒšHJ‚Y³àùs°²¡ww8tÞ¾…ÒRðò‚+œbb`âD¸~ÒÓ¡¾Þ¾__‰z„BIgìfÍšµyóæððp333¢D[[{̘1Ä\Z;rwwüøqHHÈ€ÈB&“yêÔG¯trrZ³fÍš5kÈ’9sæsx\.÷öíÛ·o߬O¡PfϞݾ¡v:6ÀǰoØÙ:±±°aØØÀ°a­ovÖ,ؼÂÃáýЃ¶6Œí=ôàîCH =0™ðñЃ“¬YCsæü7‡ÇåÂíÛðñÐ…?ô¡vvqÁ‚S{öì!oR¡¯œÎØÉÊÊŒ;VNNNQQqÚ´iݺuk¯öÉ%5FFF±±± ,ÐÖÖ¦Óé,kæÌ™111‚/±€ 6>|¸GÒÒÒ†††;vì8{ö,ñÓ Aƒnß¾íââbhh(##£­­=yòäû÷ï;99µW´‘¯/<“'ÃÏ?ÿW"%ÞÞ ¢3f4ý¼‚ˆde! ÆŽ99PT„iÓ "Úoè?,32‚ØXX°´µN f΄˜øxèaÃ8|zôii04„;àýÐàApû6¸¸€¡!ÈÈ€¶6Lž ÷ïƒd=B¨ý馦¦Nš4éÞ½{âŽu ”½þÍÅż½½;,žNmË–-;vìˆŠŠ²±éÇß: …²råÊ?þøÌgš¾"[¶ÀŽ]yèÛëï—ÍfWUU5Sáöm¦››FJJj;B5ø[{ú4a×®]×®]ûþûï7lØ@£ÑÄjOL&SCCCôú8c×Arss‰oŽˆ;ôeåæþ÷Í1z„PçÃd2÷ìÙsàÀË—/ûí·………⎉&v"Y²d‰ŽŽÎÓ§Ommm[”8£.oÉÐѧOÁÖpèBÕ”)S®]»VPPàââ’šŠóå_/LìD¥ªª:uêÔ«W¯Š;ôÅ©ªÂÔ©€CêÜLMM}||X,ÖŒ3bccÅLìDâééY\\ìëë«©©)îXЗåé ÅÅàë 8ô¡NOYYùŸþ±±±™?~dd¤¸ÃAb€‰B!$9dee92f̘… †‡‡‹;ô¥ab‡BI¶ÿ~‡%K–<}úTÜá / ;„BHÒÐh´ 2dÑ¢E™™™â}9˜Ø!„º˜Ú†Zÿ$ÏHÏ#ޤ—¤g–fytäiÞ‡i HŸÄ6zXÒñø¼£áG¤>hò׊wGùÔ¯×oóG…cÝ vøða ”••‰;ô…`b‡êJÊjËÆŸ¿òÆÊ¡»øÜx²Îñˆã>Ïð_öŸ‘—àþнâ]E“¿VÔuTb×|¿ÍkŽuó ÆÉ“'ëêêÖ®]ËãñÄú$ð[±! v!îBNyN?í~ƒõKѤ U ©ªÛ0·~ÚýÄZ”D£ÐìŒíºt¿Ë†.c1ñ©ÍQWW?zôèÌ™3===—-[&îpP‡kYb•““C~,I0wwwwwwqGÚ™ŽŽŽ¸Ch«´’481ý„ªœ*Yè6ÌM|uUAo‚¬u­•d•ºt¿K‡,m—v$›¥¥å† vïÞmcc3`Àq‡ƒ:VË»=z0Œ‰'vP4¨“pww·°°pppw ¨=ݺu«K'v©Å©·’n=ûÎÆž¥S?úŸ¯áFíº[5søó·Ïãsã«ê«4˜vÆvjrjD9—Ï=~ÌHÍÈÑÌ1µ8õQú£zn}?í~Ö:ÖB-”Ô”DgGg•fÑiôžê=‡ ¡QhIb'EeEQ)T{c{}}àóùááIILiæXÓ±‚)ió±uœœòœ7Eo6ÚD–T×W½ Ê«ÈÓTÐtèùÉ¿ý&C­m¨=õø”¾Šþ‹)‚•ù|¾g”§¢Œâœþs>ÕolNlrarU]•޲Î@ݘÝ[ølT‘,&kzŸé­º _‘ï¾û.,,lÆ ~~~²²²âu –%vjjjjjjømx‰çîîîàà€-arrrÄB›¤§yt„Ø>q\èW…O%vEÕE«n®ŠÌüð²V†c«ÃVç¾ÎÀárŽ<:2ºÇèÜòÜ¡ø|>QÇÕÒu÷øÝä!;îïðŠ÷ªçÖ“%*§\Nª 6’R”r4ü(QawÐîÃScðÍâk‹£³£‰Âƒa¯|{ÅXÍX”ØšäûÜ7»,ûÓ× `* •f*½ €‘&#‰ÝÄüÄE>‹ «þûÆh7f·ãv ÒL¨ )FЛ ´’´Ñ=FËKË“"3#†\ذeî —/û:+3”¥?zUðê`èÁãNÇEMˆïs߈Œˆæ¯ÕD³‰ŸIìR‚ŒÔŒ T  º¾z±ÏâªBCUÃa†Ã¸t¹ ]†(K k&± LLÌOœd>é€ãõ¿;§‰ù‰Îÿ8Ÿ‰9sxÊa¢¤¸¦ØÃÉctÑÄ®­¡íÏþ??H}@&vÛÆl3R3ŠÊŒÊ¯È—¦IÒTT]Ÿ_Z[J¦P%µ%§]NÛý÷XÀ¦;›®&\͉ X ÁÔ€†á cN I áóù EÄØ„Lë=­ñmb!ïö ªª«ŠÎŠ&'Æü“ü ª l mO:Ÿ”¢I@mCí\¯¹%5%¢_Æ)Sö†ì½šp•LìÊß•&ÒD¤qû%Ú¿þýuââ@=·þÅÛ¢G…ZÊÙÙùòåË;wî¼pႸcA;„$ Ï9)9Ï(Oâ6+ŸÏç_QV11?‘¬fÎ2'³:°7¶€‚ª²äiÞÓùWæsx¡ö‹«‹ÉÄÎBÂÌêàƒo®&\Þg:™¸HѤéòIô)¬.d1Y"Æ&dZïi­º„¥‡qxò>l\Nü4ì'"†cùÐå ¯-$ùl¨Læ8Óq¾Ï}“ “{vë 7^ܨãÔ¹Zº~ªß1=Ç\Š¿ôwôß®–®FªF Eš&M>Ý,JT¨¥(ʯ¿þêêê8fÌq‡ƒ:&v!IFLð\I¸Ò|5-E-Á]9)9 Ó¸¨Ì¨ƒ¡¥iÒ£{ŒÖWÑ—“–£åaúÃøÜxÿûÁ44aH1>UXÛP+zlBÚ¾Æ.èM2C¹¿vb·ü]9è(}ô`®²®à®(¡ºZºú>÷õ~æý˨_Àû™·‚ŒÂ¸^ã>Õï0Ãa^s¼ÎÅž›qaF§®·fo‡ž³¬f—H”¨P+ôë×o„ üñÇèÑ£©T|—­ÂÄ!$É”J0§ß5yáGMeé¢>’G§%g› © I,±µq±XÍÎÈŽ¼£J¼y$§Z}ˆ§hYL–£™ãƒÔÿ>ÿ7½$ÝXÍX”¨Pë3æèÑ£cÆŒÁÓJLì ;;;44T¼ßÑ;þü_ýõçŸöéÓ§S&²K²C“CËjÄ:¾‘çÿzôן³ÿì£-0¾ °¯ÁDó‰gcÏ^~zùaúáCÕäÔ*ÞUd”fDgE/´ ¯V_Qé×½,¾¶xœé89•7EoBSCUåT‹ª‹¾|lm\c”D§Òm mÉG3ÇÃ?L8ᯠà ‡ñø¼©ˆ›Å- Õ©ÓÁЃ矜O*H2c™YhX4ÓOrž Ö¬¯¢/E“zUð*,-ŒF¡)3”EŒ µÚÒ¥K§L™mcc#îXP;ÃÄf̘amm-ÞY±ÌÌÌÐÐÐòòrÁÂΘ˜1p†µµxgÅ2K2C“CËk?ßNØ×€F¡ýåú×ú[ëƒS‚½>¼šDƒ©!bVcMÇN2Ÿä÷Òx¸Xº(H+üó·Øck©à”`=ÁÙGyiùÓO,òY”^’ž^’êòê»Çï^ⳤ¥¡ªÉ©ê1*àṵúðÞ“&û¢?„xËŒ`$¿Žú•xé±(Q¡V³°°°´´¼xñ"&v’;ÐÕÕÕÕíŒ r;m`]‹®ª®®jg¼Œ6°NÎÑÜÑ\ÜNûð¿]ú*úBߊú~¨ Cå¤óÉÔâÔØœØ’šU9Ukkb±Fwæf¤f$Ø Qh¢nB–ü1ùÙýf?ûœB¡ ÐÐG«Ï£ôGL&±æ¬ÉF U ݆¹ ¥höÆöªrªäµš­Ýe”f¤§Íé7G¨¼VŸû‹îßxÐPÐÝc4ŸÏ ^ÄPüæGÓn¦0Ù|róý.¼h³y›–¢Öp£áÄc+¢GÅåq;èZI¼9sælÚ´©  €ÅÂíJ ùšuQ¸¸¸€··÷gk ª­­õðð åóù¶¶¶Ë—/?räÈÝ»woܸ¡¤ôásÁÁÁ×®]KOO—’’²¶¶^¼x±†Æï8yòä¥K—NŸ>ÝÐÐpìØ±”” ï¿ÿ~ĈB}‰ÒHmmíÉ“'“““§NºtéÒ&—²…††úøø¤¦¦ÊÉÉõïßñâŪªŸ\³Âår/_¾|÷î]6›­ªª:räÈyóæ‘ßl!û­¬¬ôôôÌÌÌìÞ½û?ü0lØ0¢Âš5k®_¿ž‘‘aeeE\+++ww÷ƉØÑg¯ÒgQ(”•+WŠøå‰Ú†Z¡¯CùÀ·ía»|Äò#AGî>¿{ãÇÄ‚kBð«àkO®¥¥KѤ¬õ­Û-ÖP|?4a'/=¾tú»Ó ܆c!ÇR R45¾úýˆ^ÆW„FjjO†Lf'OµšºÔ~i“KÙB“C}žø¤¦ÊIËõ×ë¿Øn±ªü§Ç—ǽsùîó»ì ¶ª¼êÈ^#ç ™'+õþ²¿ï·ò]¥g¨gfqfwåî? ûa˜Éûñ½ºæzÜõŒâ +]+â‚XéþŸ½ó‹êøúøYzYzïKo¢ (Ò‚" Šì ŒFÑhôbG‰ŠÑŸØbdžQiEQ!  Hé–ÒÙòþqÍu]`Yp)â|žkííí6lðððà¸0!‰x$Ã>bרØhcc“’’‚]†††jjjFEEuuua…4ÍÃÃãúõëø]¡¡¡'Ož|úôéøñã ???**êáÇ;wîlmmÅêܸqãÎ;ØwûF‚‚‚öíÛ×Ñц††Ðm)•JuwwgLÞtøðẺ:nî~¶´´8::ÆÄÄà%wîÜ9}útDDö3ó¸oß¾ÎÎOç]¹råÔ©S¿þú+¤¤¤À»wï-3 cÓë§ÄqÛmþ²I)ù¯SB“5e4£²£º¨ÿõ/æqÅãzCפ„ž|qòéæ§ãUÇ@~u~TvÔÃÔ‡;ïîlíüOyü;?ß™g:¯_F‚Þí{°¯ƒÒ†Š†Ðm)•Fu¿âîÏпo‚?9\ç[×ãïþ–ŽG_ǘ\†Çžxçô‹Ó["dEdq¿IûB÷uRþëßWWN-:õ«Ý¯RšRX[ïJ¾ìß/…±éˆõSB X£ ªàiç9ÄQÝ`ømíjý;öïóÿ€Á›¶ÝL:õÑ£G(°e z`çéé™’’¢¢¢òÇhhh|øðÁÇLJ)‚9räÈõë×544Ö­[§¯¯ßÑÑñôéÓ‹/.^¼833O´³mÛ6777"‘øàÁƒK—.yzzâ! ›FöìÙãää4þ|%%¥':±”ÜBBB¿üòˤI“¸¹¹ß¼ysîܹކ6wìØ###³mÛ6}}ý£G¦¥¥­]»6$$¯¶wï^GGÇE‹ ½øïÅÅgîÏÄwØm Þæ2ÖÅm‚‘Ÿø åÁ¥èKž!žxȦ‘=÷÷8qš?q¾’¸RÞ¼ýãý…ø„~™òË$Ò$n.î7EoÎE£C/ý{wGLnŒŒˆÌ6Çmú ú…µ…Gæ•¥­½±6ä†þ}°×qŒã¢I‹xž¤?¹}qóÍÓ ¦éÊë›wìä‹“~1~'Ä6Oˆ õÔ¿ì9bý”Ö8ë9¿--çâ΀¦”&Ób>û8;;¯^½º´´TYy¨c}Äà1¸…B¹~ýºˆˆH\\œ’’8;;»¸¸0îý¤Óéÿûßÿäåå“’’$$>%^š;w®„„ÄáÇããã-,>é³lÙ²K—.a¯gΜ™““…­`߈««+‹©(vòäI^^ÞÈÈȉ'âv¶mÛÆÃÓó¢P(~~~111:::Xá‚ ôôôîÝ»G&“ñáS<üš3gŽ‚‚‚——×Õ«W:4nÜ8uuu011ÁçgìˆÅSê­Õ†B£\»." ç§$®ÎFÎ.ã\Œö~Ù¿Ïþ'/&Ÿ´+IBè¿®?WBHâðãÃñùñšÿõïäe—Vü§|ÜÌrNTvTÕÇ*YYö¸»®í½é´“ÏOòróFþ_äDÒDÜÎ6ÇmøÁ£L ô‹ñàˆÙ£#÷ßc7] ·[ïÞ»{ä&2>ì2Ö¿æ˜ÌQSð õº{õÐÜCãTÆ©K«€‰ª >?;`G,žRo­F FÂü¿ÿ𻚄š––Ð1¬¬¬DEE#""ÜÝ݇[ ‚c nÖéüüü––,ªÃÐÖÖ¶´´Ä/ ª««©Tê¼yó¦Njoooggggg÷ðáCÈÊÊÂk.^¼˜Ñ86ÁZ[[Û/#Ë—/g-¸®®ÎÖÖê0DEE{«ßÜÜ>>Ý-hkk³ãˆ}#¬³lcvºººxyyûô«  oÞ¼¡ÑhŒ‡î%&&ÂÍÇxûö-ã4kRRæŽQ‹Êì;JÅ ¹øËþ¥ÓRJúW\‰@ L$Môù±§®‘c¯Ù6ÒGÿŠ+„„‚„.j~²8 ÄàMÑƘm?±0þk>ÆÛ¢·ŒÓ¬I…I˜»Oª ¯þeÛ@p++«¶¶¶””¦y*Ä·ËàNÅÊÈÈŒ7îíÛ·‡¢Ñh@¡PvîÜ™››‹×‘’’²±±yûömvv¶………í¨©©…‡‡³¹2Œ#F@RRÒÚÚ://oÕªUuuuXassóŸþ‰éïÞÀñãÇgeemß¾ÛäK§ÓOž<ùìÙ3yyùqãÆá5½½½±`ŠŠŠ6nÜX ‘H€¼¼^·¬³ïh(‘‘§2îmñÛCa‡°£Ð)4Êλ;s«ú—(e£có¶èm69ÛBÓÂV×ûOMJ-<#œÍ•a1’Â’ÖÚÖyÕy«®­ªkù¯;šÿ|ô'ãQîŒ ¯:>«2k{ðvl“/N?ùüä³ÌgòbòãTú÷‘7Ì@QmÑÆ[ÀÁà¿þ @^uïý˶#à ***rrrLã/ˆošAß{àÀY³fíØ±Ã××WMM­   ¾¾ÞÈÈ(-- ÏrêÔ)++«5kÖlݺUCCC@@ °°L&ÀÞ½{Ù9ã”ðõõµ²²º~ýz@@€¦¦&77wVVVggç¶mÛ‡ÊpŽ9âààð×_]¾|YSS³¸¸szäÈÆýÊÊÊfffÚÚÚüüü˜Accã >mæ211€5kÖüý÷ßBBBX»9b¸˜uzÖŽ»;|#|Õ¤Ô j ê[딌ÒÊÒðì!§²ò±ZscÍÖÀ­2<…µ…ä&2ì¹—‘3Nß¾V>V×ã®$hÊhrsqgUfuR:·9mc*Ã9âvÄá¸Ã_á]޹¬)£Y\WŒ9=òãÆýÊÊfÍ´å´ùyø1ƒÆ*Æ &þ׿*&°æÆš¿_þ-Ä'„屘#à,cÆŒIKKnŽ1¸#v0sæÌk×®IJJVUU%&&Òh4l ¦€1cƼ~ýÚÙÙ¹¥¥%%%åõë×d2Y[[ÛÇLJýYŽ“èèhKKËöööŒŒŒÔÔT]»võ˜ÄìííCCCµ´´êêêÉd²¢¢â7–-[ÆXíĉ®®®>|HMMíìì´··üø1.ÌÚÚÚÝݽ««+111**Š)L¿ 13Çͼ¶òš¤°dÕǪÄÂDæ¿Ê_IB NL£4æõŽ×ÎFÎ--)%)¯ ^“›ÈÚ²Ú>?úðñ°Ý¿œ0&ª&ÑÛ¢-µ,Û»Ú3Ê3RKSxvÍØÅMè¥õíC7„jÉjÕµÔ%&’›ÈŠâŠ7~º±ÌüËþ]xÂÕØõCå‡ÔÒÔNJ§½¾ýãß㬵­Ý-Ü»¨]‰…‰QÙQLé`úå@ 8˘1cÒÓÓ‡[‚c ÅÉÐÙÙ‰½o h4š†††  `AASµÆÆÆÜÜ\F"‘dddðòüüüââbSSS<Ä 'Nœ(,,<`#PRR’——gllÌ´¿L&ˆ‰‰iii±3à—››‹¡§§Ç¸Òkûöí>>>ÉÉÉÆÆÆeeeÅÅÅJJJªªªÝ-TUUåååuttˆ‹‹÷&¬7GýzJ¬é×ÉÐIéL/O¦á©!È+Xp¸[ÿ¶5æVåÒè4’IF„¡kªó‹ëŠMI¦ŒçHb…I…ù…lJêJòªóŒUŒ™ö7›È5b‚bZ²Zì øåVåbBèÉÙ¿ÁÛ}žø$ïI6V1.k(+®-V’PR•ì©?VåUåuP:Ä…ÄUŒ{Ö›£~=¥A'O £ Ž|Ö^¼x±fÍš·oߊˆˆpJ‚ƒŒ¸“'àøñã«V­Âòn455­_¿žL&¯Y³¦{M11± &t/×ÐÐÐÐÐ`§°¿F ÷#Yåääúõ(µ´´´´´X×QRRbÌü„¬¬,ãrÀÞ„õæ¨_O‰ƒv|•õ*ìø‡¦¶¦õÿ¬'7‘רôÔ¿‚bÔzê ™nÊ{*ì¯èýHV9Q9<9;hÉjiÉöÕ¿âJŒ™_˜‘e\Ø›°Þõë)!›hhhÐéô¢¢¢1cÆ ·ŠÀn÷îÝÛ·oÇÆ½rrrZ[[‰Dâ¶mÛ†À5bØ}÷öíØ¸W9§µ³•ÈOÜæˆúøVY°RCRc×Ô]Ã-1¨¨¨ððð ÀnÔ0èkì`ëÖ­‚‚‚™™™)))­­­cÇŽˆˆÀÎZ@Œ¶:läÌ,ÏL)Iiíl«<6bKvÖá,»µìàóƒL…‰%‰™äÌaуz¸¹¹±#ˇ###¦Ôú#ÂÂÂcÇŽ¹ººÍž=ûÚµkÝ“ÂVTTlݺÕÌÌÌÀÀÀÉÉéÆÝW¸±S‡ƒ ňݾ}ûvíÚUXXX]]­¨¨¨¦¦6NG?ÿü³££cŸ³´ß.ûfíÛ岫°¦°úcµ¢¸¢šÔwÖ¿?üì8ƱÏYZbd’P’Ð=û£ß|?¦µªˆÑ²²ryyù8ÒÕÕ533»~ýúøúJ–,Y‚¥žÀHOOOOO=þ<^XQQñã?VUUa—999^^^yyyûöíëWÎ2#vÀÃ㥥ennþ½Eu ¡¡akkË´cc”ÁÃÅ£%«e®iþ½Eu !£a«k‹¾£‰‰*õeõ‡[bè’’ÂS·=iiiÿüóÏpyï ]]ÝÝ»w?|ø0--íõëׇ|þüyLL ^ÇÇǧªªÊÂÂ""""##ãÌ™3ÂÂÂþþþŒ©-Ø©ÃYP~,ñ‘R‘ð. ¬©LATaÁ¸J¢J¿ÝÿÍA×ÁÝÔº¨]+n¯0U1Ýhµñλ;qEqõmõ—ç_à(ª/ L ̮ΦҨRsÇÌÕ—û¾›É›ïoÆ0:é9-›°ŒÑò¯–¿þ“üO|Qyò„H$ž>};P~úôéd2yÿþýÆÆÆlÖá8(°C ß);žìÀW¨„¤…lµÙšP’ #£ƒ•Ðè´„’"?ÑãŽG\QVH¡Rç>þ=ôwì`ˆÊº–tm÷ÔÝXÐÖÞÕÎh+43ènùuñk¬ðEî‹´ÛKoKJKz–LNþ9èçú¶z¼fpZð¼qó9bßéã,V­ëÑu}[}BI4µ7a/°×X’ˆŸPŒß».dÝ‹ÜXad^äÓOƒ–á©‚úìÄHFRR²®®®££ÃÐÐpêÔ©»wïöññ‰mhhHMM­®®¶··_ºt)ãìaQQ‘½½½»»û®]»¿wÿþýŒŽŽîìì411ñôôÔ××€¤¤¤… @ll,¾6éæÍ›fffFFFFFFØ £ooïøøxnnn{{û={ö ÇÄÄœ8q"++‹H$Ο?ÿ·ß~c<8 !!áÒ¥Koß¾mnn–——Ÿ>}ú† 88]† %%…]&''S(”)S¦`ƬY³8À~Žƒ;ñÍPÞT¾÷é^:>×h®–•F}šýôXÔ±î5ÿÍÿ—ÈOÜj³U_N_€G ©£éÿþ_µËQ×ÑQÏ‘—‹7*?*05ð@Ä ÊðÐ0ËØþ¡-­]ñ±ââë‹yµyÞÞÇfö £OaT:umðÚ†ö†ÙcfÛjÚŠ ˆ7_M¼˜h®j>Ëp;NÉÍdvZÇäZWF÷æâ›Ën-Ó—Õßa¿«ÓÛ ì¿ùÿŠ Šo›²M[Z›ÜLþ;öï rFXV˜«¡k¿ú12iiiÁ^766Ο?_^Öãqš½ÑÔÔ´`Á‚’’ì266vÙ²eÏž=“èãg .¬¨¨À.ƒƒƒ,X°nÝ:lûB[[Û™3g$%%W¬XÕ¹uëÖž={🥥¥—/_Ž €åË—ÇÆÆ²ö®©©Ù½¼¡¡!66öâÅ‹ÒÒÒÓ§OÇ ‹ŠŠ@G狟.ââârrr%%%ØÁîìÔéדaØ!ˆo†:©+'®Ä‘ú3<{¦0g]¦ýÆÂø\äùøóí”v| ¦ëNWQ8sâNÊ//ö5Ð~}áuþ<))ÉÝÝ}ÅŠâââ/^¼Ø²eËåË—±À®¤¤ÄËËKTTtûöí¶¶¶bbbÅÅÅ'Nœxüøñµk×Ö®]ËÚ &Ož\SSƒ½ž2eÊÎ;ñ4ÎXžv111¦[ÄÅÅ+++ÛÚÚ„……Ù©3`m½;ñÍð¡ú¸uc,œ;fn÷BOF1‚ɪÊ€…ã2ÖYd@š<Ç IDAT²èD̉÷ä÷ýÒ /«Ï8Â'!(1U{jPjPnMîX…±}ÞÎ$ì]ù;x–ý,¶(l {‘Wûù8ÖNÙl“ë~a¤`„Gu0F~ Ô·~š>f¿_#>>¾ŽŽìµÐùóç%%%`GBBâÂ… Øì'‰DÚ½{·““SVVVíHJJž={VHHÆŽûÓO?yyyM˜0ÁÓÓ«àâârÿþý—/_¶µµ Þ»wB¡x{{;99a´´´|}}“’’ž={†v_¿7++ëõë×$ »ì-e c9;u8Nÿ»ìì윜œC@Œ2.\¸4Ü*œ¤¶¶V[[{¸U|í”ve,`þ5 ò"òŒ—”üâô611€ý©G¨4æœUݽãXØa!¬µ³R*Rº×d<™µS6[Çäº_0=dliþi’Žý~AŒLøøøð;ƒEu`hhȸ¦ ‹XŸ@Ø›,ªÃÀNlš4icEEE¨©©QQQÉÉÉ€M›6mÚ´éÓ$ú§Hݳùô‹øøx:ÞÐÐ’’âãã³sçNaaaÀ†î™nilläææÆæÙ©ÃqЈ¢gõ÷10d…e “œÉ£d3º×dú×\–( ©©jŸ3ò¤U¦Ñét99ø/(©ký"ãCvMvwËÙÕÙ]Ô.Æó…Ó*Ò³Ó'LÂDÀËÁKKš9"×çŸY;í³u=ºþvöû12¡ÑhøÛƒétrÀÖ1½OÚÛÛ»ÛÁ¦nqTñóó÷YˆÇ–bÿïž=ð€uÀkì‚„„„­­­¢¢¢³³óÝ»w±ÀKß–ýÅ¿ d2YMM {hìÔá8ý ìtttttt¾þqć@ ¬Y³æøñãÃ-ÁIæÍ›7ܾ+u«›É7}^úhIk©Š«@nMîñû~£þ ñƒÿ[ÿ¿"ÿÒ‘Ñѕр²Æ²½á{±?€„ ‘Ÿ™™W›§)¥ yµy>/}º›ªi©9q`×Ô]|Ü|t:ýjÒÕ„’UqULO™®;ýZÒµû÷Î<Š[ Ò©Ï²Ÿ1޲vÚgëX Ì/\ÚXJ£Ó¸ÿŽp¿ FmmmŒ#dLHKK¾%#..nŽ…BÀ¬Á¢±k×®YZZrÜ8#â&&&<<xð€N§Oœ8‘ý:Ø!ˆo;-»q ãR*R.8hJiRéÔ‚Ú]YÝò¦rn.n7NÑœ2Ymr|Qü¬+³H$^nÞ¼Ú¼.j—¶´6¾2lÞØyW¯¸ø¹hKkwP: ë ÇÈ)i(a2¥)¥”ôðýC’©âcEus5lµÝ:°MR™4oܼÀ”@»sv*â*ÒÂÒMíM¥¥”Ž5“×ÌПÁŽSvZ×rñEñ¶gm•Ä”@ÀòØõ·îÄ¡­­i°AAAEEÅèèèÀÀ@''§ŽŽŽgÏž;6]Ïâââ999ÅÅÅÊÊʯš3gιsç~ÿý÷­[·ZYYIKK766>zôHNNnkìbbbBBBÜÜÜ455%%%’’’þúë/À2GGLJnذaÿþýòòò‘‘‘ØcY°`ûu8Î<@ _7÷ÅyÐøB£|¨þ[“k­a½Õf+ó±Ú\F ÎÿxÞm¬Ð!¯6/«*‹J£:è8ø/öàùô}¶Árƒ•ºUµ+“œ™_—ï¨ëèíèÝÝ”º¤úÉÙ'¹ Ü©©ÕÍÕ"ü":ë9¸Q:þ¹Ã~‡,Q¶¤¡$¹,9¯6F§9ë9»¸°é”ÖõÆÿÙþŸ Q¦¼©<±$1¡$Ëc×_Ü/ˆB{{;‹;XµjN÷ôô466633Ûµk6Ù_&Ož\__ogg§£££¥¥õúõëJþ‰tàÀ††OOOkkk}}ýÉ“'/\¸ðÆ?~€ÁÎÎÎ,_¾ÜÒÒR__ßÜÜ|Æ ÅÅÅÚÚÚ?ÿü3^mÛ¶m222¯^½²··744\¿~}KKËÒ¥K3³S‡³ ;ñ-!)$é7߯òceES…œˆœ¢¨¢_¢$HX^nÞ›‹ovO,Ì'|Øùðî©»ókói@SWcÚm * zuÁÕÒÆÒªæ*e1eY¢l;¥ýæâ›Ý÷LÕžjó«MNMNÓ‘Ñáãæ6èMkåÄ•¦E Eu­u’B’J¢JŒËéØqʺu½¹€q ãbÖÇäÖä6µ7Ñè4l¸Žñ¬ØïÅ %…>/±ï³_#lo)‹ Ë–-kmm½uë™LVQQñðð°´´Àº¬;wR(”øøøÆÆFήäž?¾žžžŸŸ_BBB]]¤¤$‰Dš1c†««ë¬ÙØØœ={688øýû÷•••šššK—.e|P ÁÁÁÇŽ‹ŽŽnnnVUU]¼xñÒ¥KM±S‡³úõd±5:hݨ‡@ lÚ´ ­±epêóK&“Yos #nÜ(—››Ç¢Î€‰.ˆá1Vüôc7¶0ö×{¿6w4G¯–#²µ}aÀtP: NÕžzîÇsƒêhØ€aì—ïN}ÖþüóÏwïÞ¡/÷‘ ‘H”“ëLJØ!ˆo‰U¿<,%$¥,®LþH®üX KÇ/ ÑÃê Õ--=þI˜_ø¢ÛÅ!Ö3”Œä~AôIUU•ŒŒÌp«@pÎvTTTtwwç¸å¯dÄ c“¢ÿàÁ׊ŠÂîîc†WFwF¬06ùÖõ?hüð,çÙ›Ò7µ­µÀÏÿÄdÉ6»mí ©$écGÏ zDøE†XÌ3’ûÑ'¥¥¥ãÇnÎ0(©©é°Çݱº³ÿ~‰´|ùrÆÂ¢ÿàÁxSSùŒXaÝÙ¿?ŽD]¾Ü±ðÒ?¼èÈèÜYzgX\óóðçnÏeQ!ysòÐ;! c¿ ¾žòòò™3g· gà|`·cÇ,ôHcÄ ëÎþýûmmm™»¢ÇŽÉŠŠ#q›ÛˆÖýûcmmU˜»oH?MtttÔÔÔ`§; FƒØqÜ&G±ÂØd„èß±£Ã‡‹+ŒM¾uý⥼¼œN§+++·gŠ5v åùóçéééT*UOOÏÁÁ¡{"Ä7oÞÄÅÅ555)))999ÉÊÊâ÷z{{ëéé-\¸0++ëéÓ§æææVVVL>~üZTT¤¬¬<{öl*•êëë;iÒ$ggçîÂØ7ËB[o°h/£ßwïÞEFFR©T+++3³O_êÅÅÅ~~~4-??ß¾}X¡»»;‰Dê׃íWûE÷¥` íùóâôô*•¦§'åà & Àü¾zó†WÞÔÔ©¤DtrR—•ÂïõöŽ×Ó“\¸P/+«îéÓÂŽª¹¹¢•óoÇ;CCóŠŠš”•EfÏÖ¢Ré¾¾o&M’wvÖè.Œ}³,´õ‹ö2ú}÷®*2²„J¥[Y)™™)`Š‹›üüÒi4z~~ã¾}Ÿ·qw7$‘Äúõ`ûÕ@`AAA@@ݨóéNˆD¢©©idd$v™™™9gÎƃҔ””,,,°K2™¼xñâ/^à„„„NŸ>íááííí‚‚‚®®®æææžžž¸ÚU«V]¼øy‹YRRÒÌ™3+++±K…óçÏÏš5kýúõ§OŸî.ŒM³¬µõëöâ~ :„×Yºté•+Wxxxbbb¬­­™l¾|ùÒÖÖ¶_–Íö‹t'Dâ SSùÈÈÿɨ3ç^vv=ƒ b@À, ‹O³ÆdrëâÅ_¼(Æ+ ñž>mïá1ÚÛ)‚‚¾®®ZææŠžžÿâoÆU«Œ.^œŽß’”T9sæÝÊÊOû „ÏŸw˜5ëîúõ&§OÛwƦYÖÚz„u{q¿R‡}N¼¹t©Á•+Ž<<\11eÖÖ·˜l¾|¹ÀÖV¥_–Í21:Ò Ž|Öþ÷¿ÿ…‡‡‡‡‡sJ‚³Œ¬t'­­­ÎÎÎEEEªªªNNN|||ïß¿wqqÉÈÈPPP R©...III$iúôéyyy÷ïß_µj–9³êäädhhXVVxéÒ¥… ÚÛÛÀÇ]]]+++utt(JxxøªU«ú”ÇÚ,›ÚúÕ^¬Zllìýû÷1¿%%%!!!þþþÚÚÚ{öìQUUÝ»w/Óæ ‰40G¬øõ´¶v9;5©ªŠ:9©óñqGD½_ëâ’‘á¡  L¥Ò]\B’’*I$±éÓIyy ÷ïç®Z®¯/5y2®³<44ÏÉIÃÐPª¬¬90ðÃ¥Ki êÛÛ«ÀÇ®®÷*+[tt$H -<¼pÕª¾ÿ bm–Mmýj/V-6¶üþý\''uCCé’’!!Ùþþ™ÚÚ{ö˜«ªŠìÝk±,‰$†¯±#‘Dæˆu‚RRRÆ7Ü*cp»þù§¨¨ÈÂÂâéÓ§ÂÂÂÐÕÕµhÑ¢ààà³gÏîß¿?$$$))iÑ¢E7nÜàæþt¤`RR’¹¹¹¯¯ïíÛ·±’ªªª»wïâù£§OŸ¾bÅŠ°°0,@¹uëVyy¹££ãýû÷ùøø µµuÚ´iUUU¬å±6˦¶~µ«V]]}õêÕ+V`—¯_¿¶²²:~üøŽ;TUU÷íÛçíí­¡¡OÅØë~=ÿü“UTÔda¡øôé Üº•U^Þìè¨~ÿþl>>nhmíš6-°ªª•µ<ÖfÙÔÖ¯öbÕª«[¯^uZ±âSÜöúu…•Õ­ãÇ“vì0SUÝ·ÏÂÛ;NCClß>‹?Xvˆ@ }B§ÓÓÒÒ†[‚c n` ^^^Xð¼¼¼‡ ~õêDDD‘H6'2y),,Ä×–a—_%}@Úúl/FAAÓX v;ûÚút4ØHH@~~ƒ†ÆçP&?¿NII¼Â/¿ËÈ0?1!!vß{˜‘ÂÂF|mvùuÚ¢­Ïöb0kÃJ°ÛÙ×Ö§#ÁšÂúÂàÔàóÿ-j(¢Ò¨šRšsÆÌY:a)7áÓð?•F+Š Í }Wþ®´±”Ÿ‡ßPÎpéø¥Óu{Ý„4ʈˆˆ°²²âåån!Ž1¸……Å•+W¼¼¼,,,°`ˆB¡ìÚµ ,--ÀÞÞÞÏÏB¡ìÙ³‡‹‹ ¿±²²²¤¤„M/æææW¯^õöö¾wïöîloogÜs:0 ­Ïöbäää\»vqݽ{÷ÄÅÅ °Æ·;l,,”®\I÷òе°Pâ …¶kW XZ*€½½ªŸ_…B۳ǜ‹‹€ßXYÙRRÒóÉKÝ17W¼z5ÝÛ;þÞ½Ù¼¼\ÐÞNaÜs:0 ­ÏöbääÔ_»–Á¸ÆîÞ½\qq~)¬D@€‡qàmÀŽk–Ü\Bn&ã—é•éé•é±…±çÝÎc%ñÅñîwÜñ ”ޏ¢¸¸¢¸õë7ÿ°yˆÕ=mmm¯^½òòòn!N2¸ÝâÅ‹½½½cbb ðÍ›™™™ëÖ­€ùóçûúú^¸p!<<ÜÞÞ^NN®¾¾>''çßÿýý÷ß'NœÈŽ—E‹íÝ»7,,ÌÈÈÈÁÁJ¥>yòKÇ@ ú¼½7 ­ÏöbÈÈȸ»»ß¹sg̘1ÅÅÅ!!! eóæÍ<<ŸºCKK+99yÙ²eêêê\\\X»8l/ÖóöŽ‹‰)30¸‚oÞÌ̬•X·ÎæÏ×õõ}sáBjxx¡½½šœœP}}{NNý¿ÿ–þþ»éĉòìxY´HoïÞWaaùFFWHT*íÉ“‚ææ.øŠîˆ¶>Û‹!##äîþøÎ¬1c¤‹‹?†„dS(´Í›Myx>ý<ÐÒON®Z¶,L]]Œ‹‹€å±€#Á]YÝŸ'ÿl¦j¦&¡ÖÚÕú2÷¥×3¯ç¹Ïc b¬Ô­€‡‹ÇJÝj–Á¬qŠãEëZë®&]½’xålÜÙyãæ)‹òÔnQQQ ÅÎÎn¸… 8ÉàvBBBaaaXºµsçÎa…ŠŠŠØ´)OXXØÊ•+CCCýüüð•””&MšÄ¦‘{÷îÍš5ëÇ>|yyùcÇŽ-[¶ ß[0 ­ÏöbXXXèééùøø<~ü+Y²d ãÁ›7oöððð÷÷Ç.mmm™;6 6BB¼aa?béÖÎKùO1 `&6mÊÃÃöãÊ•OBCóüüÒ𕔈“&±«SD„ïÞ½Ù³fÝýð¡îÇ:—>vÌvÙ²0|oÁ€¶>Û‹aa¡¨§'éã“ðøñ§9÷%Kô–ؼÙÔÃ㱿&vik«Âرé@°ÆoþçºyÝÆº•7•ŸŒ9™AÎÀ;3U33ÕÏŸM%1¥ö;skr£ ¢Ó+ÓG}`1~üø¡\Àƒý¬XƒŒŒŒˆˆì€]]]GGGÆ“'¤¥¥|_î`ƦYÖÚz¤Ïöb>|xþüùQQQ4ÍÒÒ’)+ÞŠ+ÆY__O£Ñ°¨®_–ͦ#M ¤22<""ŠÒÓk¨Tº®®¤£#‰ñä iiÁædeÕEG—VW·ÉÈjkKX[+cFxx¸öîµÐÓû⟬Ÿ¸33…œœUä–”|TVquÕzø0¾Ü=À(ŒM³¬µõHŸíÅ8|ø‡ùóu£¢Ji4º¥¥SV¼+ Ç—‹Œ,®¯ï ÑèX»~=X68úè t5œª=u÷ÔÝÞϽã‹â¹¹¸íµì÷LÛ#Ì'Ss"æDVU‘Ÿ8ìü߬ã"|%-¬/¼ùöæ«ÂWÅõÅÜ\Ü:2:‹ŒÍ5š‹ýõ\ܹ£QGW›­Þ6eVB£Ó~ ø)¦0æ¢ÛE[MÛ>…ÝK¿çÿÖ?»:›F§iHi¸u[:~)æ×¼kê®?Ÿÿ_O¥QMULÿÏæÿôåô$”$\z}émÙÛæŽfyùéºÓ7Xn ò쟾ÿàóƒÑÑÔN%Ï)žLFzduÐê—¹/»—±Ébö›Ð§wM€—¹/¯$]É®ÎnîhVS²V·^=yµ±™W¿.bõ1єҌ.ˆáaQgÐÖÖöâÅ‹ 6 ·‡áüÉÃBff¦šš>>WSSceeõáÇ””6ˆ ø÷îÝn-¬`qòİ™Y«¦&ŠÏÕÔ´YYÝúð¡.%e› D†ü@ˆ{÷f·–'O`ÆD•‰¥¥Mx¹½–ýãëBÖQiT¼p÷ÔÝ+L?­du¸è_›Ïdm«ÍÖµæk€N§¯ ^û<÷ùßsÿvÐq€1'NÅœbs¡Õá—‡/½¾ÄT8Ó`æñYÇ5×3®÷⺳ôÝJ¾µçé¦õeõ–ò bF&©LªøXQÒðy¯¸ ø³ŸŸIö±ïªÇÀއ‹Ç±¿©²)›MèÓ;ë&¼Ì}¹:h5“ G]ÇÓsN÷&{ùíå±…±¬›¾:\SJ“uŒ†¶†Ø¢Øwòóð?ûùYoq['µÓñ¢c;¥=r]$7;–‡‘¯ù¬ÝºuëÏ?ÿŒ‰‰ï»6bøY'O aaa‡¶··'‘Hååå=ª¯¯·³³QQbÀ„…å>œ`o¯J"‰•—7?z”__ßng§:¢¢:Ä‘X’hI²¼àvA]R=»:{ã½ÏsŸ'•&¹›º¯0]!.(þ"÷Å–Ð-—.ã–”Öj³Õ¦Ê¦ÊbÊí”ö¬ª¬=á{ÎÅŸ[=y57›@ üåò×쫳·=Ú¦+£[ÜP|æÕK’åoÖ¿õ)&ƒœqéõ%mS¶9ê:òróFåGˆ8š:CÆTí©¸fcEã¿çþ­#£SÞT~üßãO><ñzæu{ém(i(ñzæ%Ê/º}Êv[M[1A±âúâ1'g=¾–t ‹> ¡$a’ʤ®'´¥µÉÍä=á{b cïgÜw7ug-ò¢Ûi›ÊË–ÞZºmÊ6,ªc³ ¬½÷Ù„ˆœøý‡ßç'.(^ÚXúªðUQ}›þ5L>5¹¦¥{=EkÊNû,FãD(n(>÷㹑Õ}%7oÞtqqAQÝèc”v†††íííx‰©©)¾F ñ­ch(ÝÞN ø€—˜šÊûû÷‘€1Z‘’<ûãY!^!«0ö§I?y=óš <ÁÓΫà¢ïr?ãþËÜ—m]m‚¼‚àåàu6î칸sMÔNÜTYc™ª¸*ˆ ˆž™{fÞõykƒ×V·TËeÏ:ŽÏä²àqÖcøÕò×e–a%®†®\®Í6?zÿŠ„x…λÇf5¥4}]}g\ž‘TšTÓR#-,}/ý…FñvôvÒsÂêkIkùÎòM*Mz–ý ì$%.¸]Àf6I¤ÝSw;]rʪÊê×Ó#7“WÜ^±Éz“£®c¿šÀÚ{ŸM‘Ç,Ëe@]R]]’9£'×^ïWÓØ!«*ëuñk’©Ç¿:z+ù–§'ÞêÑJbbbVVÖ×§@Œ@FI`çääTZZúâÅ‹üü|nnn›¯Ù;Hô¸ô Ñ'NNꥥk_¼(ÎÏoàææ21‘µ±QyÝÛóÒ7Ç1”3Ä¢: %1%˜¤òÅ–&EE¨i©QWiloœ{}.ãÔ-N{×ç¼3ú²úÛí¶ï{º‹ÀuiÙ%I!¶ú±°®ì´¾ØWˆ]2GÈ0®ëâáâ1W3Ï«Í+ª/’–ΩÉ€M6mz°éÓ9(@Ç^àóÝPÞ_¯*â*ÐÜѳFjZj–ßZ¾Ö|­«áç3iØlkï}6Ác¢GBI ¿66cäÇŒ‘cªlÊË=éÓâ7ÄÓéô†ö†”òŸ—>;ïævÑÿâØ@æõÔëfòÍíS¶ÿ4é§!P5¼\¿~}ܸqFFFÃ-ÁyFI`âââsçÎn}ÀÃÃÃâX ÄÅùçÎÕn}ÀÃÃÅâX§àçáï³û]G£Ó 8-¸¢©ÂAÇaƒÕ5 5AA°;|÷­ä[Œ·Ðè4lºF§eTf+ö#³Ì€F2êd\ ˆÃ8¾(ÀóÅ6,ƘêÛê—ß^¾|Âr·±n½)akï}6ÈO¼±èFvuöëâ×YUYA©Au­uûöÍÐïuèƒkì‚„ „­¦­¢¨¢óeç»iw; òÿ/43t§ýN‰}ZûÖyÿþ}xxøÉ“'‡[bP=@ôHq}1l±Ù‚GÔÎø¢x¦j'cNÆĬ™¼æßü½Ÿ{)Uè{‘.I’/s_jKþá™ jjxI&9³¶µ´£Ð(qEq€Mc®-¼fI¬ãí+n¯˜7vÞ’ñKÖÖ°Ùìõú»ë·>Üj¥n%&Ð÷ œ‹2›;?s¶uµ­¿»>º zï´½ødôèæÈ‘#cÆŒ™>ý{9]ã{vb”£(ª__Üd½I\P<§:çxôñ‚º/Nö‹Ê:{ÆJÝj‹Í–Æ f_½áÞ†ûî÷ÅûXZî¤çt.îÜ©W§„ù…§ëLçåæý7ÿßýÏö€³ž3^­µ«uMКÝSwã›'òjóL•M¥…¥`ŽÑœsqç~ðûV›­VêVÒÂÒí…õ…Þ?’#ÊákìLsG³Çg=燣Ølkúl‚g˜§L(å½ IDAT¼¨¼½–½š„/7ï‡ê959]Ô.òGroÝW®±‹)ˆ Iq3rÓ”Ö””lhkH*Mú+ò/˜¨ò)ÃüÇŽ«W½-{»ßaÿ"“E_ãî[!111::úÆ#pµ‚# À@ŒrfÌ<{&(5((5+!ò§éL{–ý »,k,ÛºE^DÛ0¡*®ú—Ë_kƒ×n ÝriÞ%Ö߆r†?MúérÂå½á{÷†ïÅË]ô]¦éLÃ/'ªL,ª/úñúx‰¯ÐÞiŸê“$HìßíùØ“ÉþšÉk¾¢éÿ ^“Z‘šZ‘z4ê(c9–ÇŽÍ&°¦Ï&T~¬ L <sŠñOrZÒZitR;dóÛo¿UUUýðÃÿûßÿôõõ wïÞ²zõêääÏç0;vlÑ¢EOž<ùõ×_ýýýÝÝÝííí‡Q<ñ=@¥Sϼ:£!¥á¢ï’W›SÓIí4Q21Ufœ¨k­K(I(®/æáæÑ‘Ö1'™s¸»yO~_ÏEà²Õ´U“P:þªðÕûª÷D>âtÝé’B’L–Ó+Ó“Ë’›;›åˆr6š6RBC:Ïu6î¬,QöG#æA»÷Uïã‹âitš©Šé8…qxùƒŒ…õ…ÝíLÑœb¤`ÄŽ…ÏÈïß–½ýØñQUBÕBÍB\P¼7‘LÝ[[ßV¿Î|/7/°Ý5¬û·¥³åyÎóò¦ryùi:lí ¸’x…Ÿ‡±Éb첋Úu6î,¬2[%Ä+„¤4¶7®6[Í¢ x”7•¥Ñè´âúâ“1'1 sæ*‹)c¯‡à­RR’ ð"*J@ pÜ8âvŸhiiyüø±¬¬lhh¨¨¨(ܹsÇØØøÝ»wÙÙÙ:::XÍM›6ýþûïØëE‹Q©ÔeË–¡Àl°5aSµ§–5–:J§Ó±òùãæt:ˆW;qàVò­Nj'^B’ ]œwQ]RÑHnMîéW§± Ÿ<1û„%ÉrMК„’¬ðØ¿Çî,½£)¥‰]Ö´Ôl~°9®(7+È+¸wÚ^·±n½ ¾›~·¤¡„u£–MX&!(Áæø;öo#y#¦ÀîhÔÑsqçðKWC×#.G°h)ô}èËÜ—ÝíÈe; º¹zËÃ-±…±xa>aŸ>ŽºŽ=ŠÄŸpNuΙØ3XáO“~âåæe³kX÷oZEÚÏÁ?W7Wc—2DoGï^Ù$”$DæEÎ3 ã’J“°hlŒü;-;è¤vî¶ßLÕlµÙjMÀ» ¼©³PÚXŠvfªfÊbÊx« 3³7oÊyœ5‹ø¦AÝ' )еµ5ÕaðððLŸ>=###77ì¦OŸÎx£££#äææ¥Zâ{æ]ù»¹/l4l´¥µÉÍä°÷a).ú.$ ¬BtA´,QÖDÉDIL©ƒÒEýñèÀe¸‘ä²ä¹/¦jOÕÒȮΎܾ̋g’ʤ̪L·±nâ‚â11YUYÇ¢Žý=÷o Ò¨«ƒV§U¤)‹)[kX‹ ˆÕEäDìx¼CKZËXѸG©wÓï2ÆC=2Cû]wÞ–½È‰°Ñ°Ñ–Ñ®hªÿ~?ã>I‚´ÁjÌÔŸi$ÿÅÈ\Pj’˜’«¡+›(4ÊÊÀ•ïÉï…ù„í´ìDÊË^¾Ê$göØa$—%GäDX«[ëËé ð`Ãuìt ëþmélY¼¦º¹Z]RÝJÝŠJ£FåGy†yöù ¬HVϲŸÅÅca\LAŒ¯ ¯`tA4V’X’ØNi·R·bÝEQÅVO½:¥$ª4×h.V¨$¦4°· Á)P`÷ÍÆnAÃàÄQÛZ{vîÙ©ÚS±Kkuëÿ{ø‘y‘x`çåà¥!¥__ÑTÁÇÍ7IeRMKMrYr}[=BÕµÕ]šwÉFûÜñxG@J@RiRøêp9¢týÐåpÑáeÞK:N žf?M«H›i0ó¨ËQn®OCYiin×Ý®$^9áz¢G©sÆÌé>ÈD÷ÙÞ~Q×ZwdÆ<°H©H™}þ•¤+¿XþÂMàže8‹±òéW§e‰²—æ]ädÓ£÷Þ“ßkKkû/öÇ'[:[ŠŠY «m­=6óc ìu ëþ}øþaUs•µºõ· X¤ÕÖÕ¶ìÖ²ºÖ:Öz°ˆ-¦  㢠¢'«Má‰)ˆÁ*`/»›€ƒvgbϨJ¨n´Úˆ—?Îz<€· Á)P`÷ ‰ÄÃÃÝÔÔ„ÚQ©Ô§OŸ€––^3<<œqÖõñãÇ ©©9´zˆïYü[l5m ª¹ /yWþÎ㎅Ƽ]½¶¥ å ñ¨,I–)?ýˆEuÀËÍ;IeRpZpuKµ,QöUá+â:›"¤Óét ‹ ˆ¦U¤õ&uΘ9_×Ö¾!Ið˜ Æ)Œ›¦3íɇ'9Õ9z²zŒ5/½¾‘qcÑ a>aö-ÄÅÀ¶)Û—ˆ ó ëËêÀÍ䛵-µxù’ñKðjê’êÝC"vº†uÿ¾-} ¬6àãg‚¼‚ë-Ö¯ZßÒ£*5 5q•˜Â¨o«_õÞm¬‘x?ã~yS¹¢¨bLAŒ,QV[Z¿±Ç&ôÉÀÞ*§@Ý'„……œœBCCgÏž}ôèQ==½¢¢¢½{÷¦§§ãó°àëë‹eBáççòäÉo¿ýnn^9@ zCATñ[2…Ç ñEñÇ¢ŽñqóMÕžª&¡&Ä'DBtAtrY2þù|ty‘/öb#X=¶uµ6 t'åN¿¤r|]w”Å•™JTÄU ©£‰±ðÆ›÷2îù/òáé—…†öÐÒèÑ»ÿÿœšüÒQ×ìH’$¦Êlv ëþmlo|ƒ£à>UY©[ÝJ¾UÖXö¶ì-N·V·Æbܘ‚{mû¬ê¬Ù†³íto; ì­‚@p Ø}Æ××÷õë×/_¾œ0a^H$/^¼ÈXmîܹ[¶lÙ²e ^²dÉ´s!¼Ì{ §çœÆfÜ0ÞW½ÿJ³b‚b°Äd‰”0óÞFÞî‚5v¥ ¥L%X()Êÿy¹ð”;7“oþ³øŸ·²²¶ . ùµùªâªÝï]:a)ãØãÃÁ÷^àp¤kÄÄ ´±T–(Ë$¸OU–$Ë[É·b cÞ–¾USÂvlèÈèDDóóðÓétÆyØ›À–½UN»ÏËã444’’’¼¼¼ž]TT¤¤¤´råÊíÛ·‡pÑØ'šÈOÄKâ‹â_ä¼øJ³æªæ)T:õWË_¹ŸS»W7WW|¬èí®!XcWX_’¸BîYö3QQm™OSŠwÓï^N¸ì¿È¿7G¬-˜«™¦þù×8ÅqxŠ­±Ó—Õ_b²„}©éšñÊãƒÓ‚OÅœb\c‡o\ÅèM•…š7wt~trY26à –$Ë»éwù¸ù° ý|Ü| m Œ%{« œâ»ìššš@@àóO(•K—.õVÿðáÇccã7öV @ #&Š&°&h£®£„DNMNT^”¤dMKÍטa0ãjÒÕÛïnGD[,¤„¤šÚ› ë Š~šôÓX…±=Þ5kì$…$ÿxôÇ£÷tdtÊ›ÊÃ?„SéTSl´éÑûGÛöÏ5š{ûÝmÆ»󨱶à¬ï|áõ…¬ª¬)ç¦ØiÙɋȗ7–ÇÆ,6YŒ-³cŽt‹¾Ë‰èÑÑΗ­Ô­htZd^$6]Þ'¢¢cäÆ<Ï}ÞEí²Ö°Æ ­Õ­¯$^ Ë Ó“Õ“!Êô«E@’$e’3·„nQWá"pÍ5š;°· Á)¾ßÀ®¬¬,44H$ÒpkA cºîô™3C3CS?eИ7nžŸˆ_¢ßטå&p_žyÛ£m/r_¦|ÎÍ!G”Þ¯êñJã5¥4ÏÇŸÊÂJ\ ]±ü{½'|•FeŒ!-,v¬-ðpñøÍ÷ÛtSBIƒŒX!‘Ÿh gÐ_©éa>áó?žÿ9øç‚º‚‚º¬-® ^ËÎíÖÖ))Ü\ÜæjæXÉ$ÕI|Ü|ÔNK’e?àaê±-lÛýŒûØ%–Çnd¾Uß ßi`·víÚóçÏ€µµµœœÜpËA lÁÃͳÑj#ÓB~¬PKúóÖõ㳎/6Yœ^™N &(M0R0Š)ˆ!ò±5O=Q—Tßhµ‘é{×VÓVRH[Ô‚Ü.äÕæ%•&ÕµÖI I’$H¦Ê¦xJ‹Áà‹_“1^â qÑwqÖwN(N Ñi”'0fJ[m¶š10–ÜŽ K”ýgÉ?iiÉåÉm]mªâª$ ü±t§Ç'Œ1€®éÞ¿F F?G`'OȉÈMÕžJ§Ó»w_¸ºr¸$%pý<{¦í©j®bLËÇ¢ L=2×h®¡¼áëâ×mt +‰)Á0½U žÚ›æÍ›Ì?þ¾9Ö®]øÃ?œ={®×p`þp Ap–ynnøü’Éäææfˆ7Ê忢løÄà‚>kßD"±_#PßéˆÝ¹sçÎ;×w=@ ˆo®¾« @ ¾P`‡@ 1J@@ Ä(v@ £Ø!@ŒP`‡@ 1Jè_º“øøøÒÒRüpUĨfÀ‚áÖ€à0ññÊÃ-@ ƒHÿ;mmmAAÁ3f ’ÄÁ×××ÃÃÃÄÄd¸… 8‰ŸŸŸ„„Äp«@ Ä Ò¿ÀNJJJJJêøñヤ1Bðõõ511qvvn!NF$‡[@ ´Æ@ b”€;øö¨n®^|sñÕ¤«œ5»2`¥w„7gm"ˆ¡vñíÑAíH(I(¬+ä¬ÙÄ’ÄLr&~¹ìÖ²ƒÏrÖTú·Æ@ £¿ù~DþÏ 1JPâÛvøÄD•‰Ã-@|ß{`wçγgÏúúú·Ñ]Ô®·W˜ª˜n´Úxçݸ¢¸ú¶úËó/ï|¼ŽÍ<†UkjoZ²ŽN§ûºúÊe±BÏÇž--'gŸJa<T52?2¦ ¦¸¾˜›‹[GFçG£Õ%Õ™nüÍê·€”€è‚èNj§‰’ÉŠ +GÎ ¥<% % ¬©LATaÁ¸ÒÂҌݺ…ý'ÀBíÊ€•’»¦îúPýÁë©•FM¯L_|s1fa÷´Ýú²úÐØÞ””\–ÜÜÙ,G”›®;ÝNËn0,è/ßQ`wãÆË—/Ÿ:uÊÈÈ/,))‰ŠŠjhhFa‚MhtZBI‘ŸèqÇ#®(+¤P)|<|)Û§l—!Ê@lQìëâ×ÿßÞ}‡5uý? ‰„ö"Cˆ³îR¥ZµÎ¢­Z´¶ŽÖYÛjë׳ ¸p‚ÔUq¡¸APd«eɆ$¿?ni  "ñýú£9÷Ü{?÷>öͽ眸ì¸ÑΣ !¥Õ¥ÇSpÑÜ‘½ô냤Ÿ}ýÈõFF­*Œ0È„CîÜõ¼œy9,>l먭Tí8;jöåÌËTŸ«YW/<¾99’©Ä¤Z"S#—ž[* ¨Q÷£¾ëóx­ºRªMÈO¨©¯!„¼©}ŸO)¯)§~ ~&„$&ùUIu‰èìÇïë2ö·¡¿I¿ð|DÁ.77766¶¬¬L¼1 ÀÃÃë:kO¯±•Ù }:pT*,&«·Eˆ97>ëò!$.;N­Çîľ‘sƒŠ5·ro „o ïæŽ™^”.Š/Í©®¯nma„ŠÚ ?'?OSOŽIMCÍ#Þ£½‰{WŬÄuíé5M–æ¢~‹lumy¼í7·§ñÒΦŸõsò#„<+¶8áà¤Ã“ô–XJ5:è;TÔVÌ:>«´¦ô³.ŸõµîËQá䕿íMØ‘ÑÓ¬ç§NŸJ¿EÐÖ>¢`×$SSSSSÓö®ZAH„>?àÀuµô¶èM£Ñ®g_Åo o¶2û죳B¡ÚDémÙ»¹c.é·¤¼¶\úy›{\'¥0BÈÁ ïä݉}ý8ºŽ_' •Ê…e…/Þ¼0P7 ú0èŒÃ_½Ÿ5×4ŸxxbRaìN¥ªã×Mõœú〩Æÿð÷Q÷£Þå4Y­ˆº²º—™Fã°8^f^¢öð¤ð×U¯ú.œÕs–¨q˜ý0ßí¾Q¢ìÚœƒÝåË—###³³³™L¦‡‡G`` —Ë%„Mš4‰Íf8p€ÅúçïÂüüüiÓ¦q¹Ü½{÷2 )»‹ÄÆÆ?~<++KUUÕÝÝ=00P[[›òË/¿ÄÄÄœ½øÙëÙKÄ-––£¾c\vœP(Ì-Í-(+˜ßg¾º²ú»Ò‹ÒônäܰѵᲹͳ¹|óŽ…ñ…üù§æS¡J›Ú7¢`çlè,Ju„.]!%Uÿ¼ë|\ô˜2¶ëXñÝÇv+ìÞâ4®V÷žÝ#„ÄdÄÜ̽) !B"¤~ÈzÕÚ£€ÜÉ-Ø ‚©S§îß¿_Ôrúôéààà .¸»»ëéé3櫯¾ÒÐÐ #„ÔÕÕ;6))éêÕ« Cúî„>Ÿ?eÊ”ððpQ‡ÈÈȵk×+))=zô(66¶¾¾^¼$ª±¡¡’’’’““C¹wïžx‰1v•••C† ‰‹‹u8zôèÖ­[/^¼¨¯¯Oyúôillì™3g~üñǪª*ªÏŽ=:vìþÙWVVæëë›’’"º´ˆˆkkkñš©#GFF®\¹²¶¶–âääÔb=-^¸èÈ+W®¬««£÷ìÙ³eË–9sæ4W3ÀK”‡ÄùXùì¼µ3½(ýnÁ]æmé­ÂPaÐן^WVR.,+œâ1EÊ1ßqŒ]s…N;}=ûº¹–ùD÷‰æZæªLU¶ÿîþèÇÑT¢pT8â{QCëD#êjj!*â}$v!­¿MÞÆUÕUBRž§4ÞÔ‰Ñé-ò%·`÷ûï¿ïß¿ßÊÊjöìÙµµµ.\ؽ{÷„ >|H§ÓgΜyëÖ­={öôêÕkÆŒóçÏ¿sçΦM›zõê%ËîkÖ¬ WUUýú믻wﮤ¤t÷îÝ;wŠÿã(Åÿþ÷¿ààà°°°àà`jò„¦¦fãnK—.‹‹ÓÓÓ[´h‘ƒƒCNNÎúõëïß¿?kÖ,êeÑ¢E#FŒð÷÷g³Ù§N Y²d‰”`·dÉ’””SSÓ~øÁÊÊêñãÇëÖ­“ˆ˜”åË—:tܸqÆÆÆ¦¦¦2Ö#‹+V 2düøñ***çÏŸß½{÷üùó Ô¹sçV Ý5¹²š·…÷Î[;¯=½–\˜l¯g¯£ªCq3v»‘sƒ=ÖÛ¢Ù÷°DNcìF ­£¶R“I)¯µîë¶õÕô !i¼4ñ(vÿÅ}‰n­½2-P'$ÿÆjBV}²ÊF×F¢/ƒþ±íøÈç÷P(nذÁÀÀ 11QKK‹j=z´––ÖÚµkoß¾M¥·mÛ¶%''Ï;7;;{ûöíãÆûöÛoeÙ½GÁÁÁL&óêÕ«žžž¢‹-¢Þá¶ÈÅÅÅÒÒ’âææÖÜ+Ȇ††°°0•¸¸8;;;ª1 ÀÞÞþĉ<Oô^xÒ¤I!!!ÔÏ#GŽ|òäIllìË—/©§h»ÿ~uuõ[·nB† 6bÄñɹ"~~~­­G#FŒeÁQ£F®ZµjïÞ½¿ý†‰l º™tc1YW³®>zùè ·/¨FoKïí7·BtFóRv—Ë»Æ4Yš„¤‚$*Ø5¶ßÜžXتƒøXùL>¸öòZkk - BHúËô ±$º½ãh’š²ZAY@( Óþùš¢ÁïKÜw2íäú‘ëÍ4ͨF¾“Ãð[{|;ù»ìì좢"===ê©•PøÏ‹¢¢"BHzz:ìX,Vdd¤‡‡Ç¯¿þjoo*ãîúúúÅÅŃ ¥:ІÆÞM¼£§OŸVTT :T”¢!:::þþþ;wîLMM4hÕ8aÂñÝÝÝccc_¿~Ýd°{úôieeå˜1c¨TG±µµíÝ»÷åË—%:Ož<ù-ê‘Å´iÓ$>®Zµ*55Uö#|ȘJÌî¦ÝcŸÆB¼-ÿùãÍÛÂ{ãµ7rnt7í.1ëS‚\ÆØ5Öתï¶ÛV\Xª¥ª•SœS^[îÄuJã¥É~~Öý܌ݒ “‡ìb¥cÅðsJr:ëuæUðÄ»½ãh’#×ñvîí¾;úsŒi„¶lвî¦ÝǺŒH‰è¿³¿©¦©®šnyMyAYAmCm`ÀáÃ[{ /ù»ŠŠ BHQQÑ¥K—oE#„0™L%%%Bˆ™™™šššŒ»WWWBtuuo•‚ÏoÝŸ555„j6†{Š—ëðIDAT8ª…Ú*Þ"Ò©S')§£ŠoüæWôlRœ‰‰É[Ô#¡ÉJ$  BÕ ¼-½cŸÆ²˜¬n&ݨgCgM–fiu©(è¼g.F.+­X{em^i^^iž&Ksݰu‹·*Ø)Ñ•vûïþþïï¯d^É(Ê „øXú,ì»ÐoŸDO¹ßïû~?ëø¬gåÏž•?#ÿ¿ŽÝ/C~±Õµ ¹’_šŸ_šOa*1‡Ù“²L ¼7ò vÆÆÆ4ÍÓÓsݺu·ÚÚÚR?ÔÕÕùûû———=:**jÍš5Ë–-“ew‹E£Ñâããëëë™Lfã>Tj)**üg(45 Dʘùäí.  ]Ðit/3¯æRG…ãeæåløŸÑ«Ž\G/3¯æ²àû)ŒÅd9r¸Tú1Ó4ó2ó¢^Œ6¹#Õh«k+q.›ëfìF õSf({™yQCîDd¼Rªõ4õŸçAQ¢)uÖëìiêéeæ%>3—F£YhY¸»[hY Õ|8äì![¶lQSS ÔÕÕuuuíÑ£‡••ÕÚµk©7ƒܱcG@@Àœ9s”””Ž9Âår'L˜PPP Ëî›6mRUUÝ¿¿±±q—.]\\\ttt~úé'*ÐŒ?žÅbíÚµËÔÔÔËËËÀÀà÷ß—ˆbnnn„ÀÀÀîÝ»÷íÛ7((¨ñUüþûït:ý?þ000èÞ½»¡¡!5½ã÷ß—q–F“~þùgBÈÒ¥K ©ÃþñÇÔä êÅtsZ¬G– §˜˜˜xyyÙÛÛ»¸¸ØÙÙÝ¿ßÕÕ5 à­/ >4r v]ºt¹sçΰaÃ*++SRRîܹÃãñlmm×­[שS§´´´ÀÀ@{{{ÑdRƒ£G–””Œ7®¾¾^úî„77·ëׯ÷îÝ»¦¦&---55UEEå§Ÿ~¢‚‘Ahh(‡ÃyöìY||<ƒÁˆŠŠêÒ¥‹x…>>>S¦L©¯¯OHHˆmrµ‘œ>}ÚÆÆ¦¸¸8!!Çã8p`Ò¤IïrsF޹oß>mmí—/_&$$‚ððpê5(õ±9-Ö#Ë…S6oÞìçç÷øñãÔÔÔºººœ;wŽº· h2®G¡f­ŠÖãhRYYYff¦@ °°°ÐÓÓ£322ž={fgg'1R-%%¥¤¤ÄÅÅE4“ ÉÝÅñx¼ììl‡ccc#1Þ®¦¦æþýû ÃÉÉ©S§N=âñxÞÞÞâÛ^¾|™••U[[«©©éêꚟŸŸ••åêê*1· 33“ú¦{{{ñqoOŸ>ÍËËóððdT£§§§h:H“êêꨗ¤ŽŽŽÀÊÊŠÅbeggK9r‹õÈrá‹/^·n]rr²««kaaa^^ž±±±™™™”Ri4Zppð°aäôgΜ9l6[úï¯,x<5á©9gϲçÍãffâ{Ú~×>l6»U«›É=I‡Ó­[7‰F;;;ñ5;D¿4lrwq\.·¹+TQQ_ÅÁÁÁÁAr }}}ñEIšû®XÉå7 !VVVVVV²4JظqãŒ3¨oÑ(//ÿæ›ox<^`` Œi®Š,N166Æ„ E……Âß“eË–-^¼˜zÊøäÉ“ªª*6›½hÑ¢ö® ‡ÜÆØt .d±X>LII©ªªêÚµëÅ‹©/à <±{OV®\ùÓO?åää™››¿·SõÕWC† ‘ò&‚ÝûÃ`0¤•k#² €W± Á@A Ø(;€TAYÍZ›•V¶w!ͪm¨µYk3ëø¬Öîøá_@…`  Z=+ööíÛÔ‹b ;{öl{WòtïÞ=ooïö®ÚPë‚]Ïž=Û¨ø ˜˜˜hii5ù­µÐqy{{ãW@±µ.Ø-X° êhÑÌÈ™W2¯4n_=xõ· ÔÏ'œO Ï(ÊV:Vþ]ý'ºO¤Óè„Ú†Z§õNm®¼ú×K¿^Ͼ^ǯs3v[Òo‰÷?_¯Ÿr'$©0©¢¶Â@Ý`pçÁs{Ïe+³Å²là²5—ÖÜν­DW`3`ù åjÔâ²ã6ÇmN™ÎVfë:î[Ÿo©S·X!D „Ň¹w¤°¼Ð@Ý`‚Û„¡öC_¬”ÚÚ‚,÷œRPVðË¥_nçÞæ ø¦ßû~/~Ke¼4xwX :6a§gGý¼öÊÚ;!¢MyWǬN.LÞøéFQcyMy@x@~i>õñfÎÍIG&Å|£ÅÒ¢Z'^~a¹P(¤>”„ƇÞ̹ylÒ1“E5–Õ”}~ðóçåÏ©Çï/­. p ˜5›/àBªë«·Ýܦ­ªý¥Ç—2Ö¶âŠÃɇ©ŸóKó×]Y—ö"Mâbe©MÂä#“oæÜ”~£gF[ëXKï#NüžBÊjÊð*xÔÇkO¯%æ'xT”íd¹4 ;è0vûïÿXXV8ñðÄEýy˜xBÒxi!wBT*‹ú-ÒyS‰û4öç‹?Ÿ~xz¸Ãð¶©½âóã»›vßì·ÙV×–WÁ[½üfÎÍ“i'§xL!„ä—æ¯ŠY¥¡¬±¸ßâ¾Ö}9,N^IÞæ¸ÍçÒÏíKÜ7«ç?Ó?òz[ôÞå¿ËRÛ2£(cÞ‰y—2/%$Nñ˜ò¥Ç—š,ÍË™—¿;ý]h|(ìZ¬-õyêáäÃleö²ËØ h4œ|þ·Ë¿‰_¯Œµ½Ï{.º®F®ÛGo·Ó³{VþlãµçŸ_³êÈÄ#„Y. äÁ:$^ïË#_ù é<„j9—~Ž2§÷œIÝ&Q-~N~t}þ©ù?ú[ì´XZ»üwQï.-´,– \64dhúËtjë‰' k†¬½+´ÑµÙôé¦Ä‚ĘŒQxÒVÕÞ1f‡*S•ÒÕ°ëôîÓWŬêfÒmIÿ%T‡#N¦¼’y¥º¾šÅdµX[ôãhBÈ÷}¿ã<†ê0Ñ}bYMÙÆkÿ>k”±6 û?ßÿ·ù?ßsŠ*SõOÿ?uTu!Ö:Ö›ü6 žXøªò•®š®,—ò‚`Ï«ÊW“OžÕs–Ÿ“Ÿ¨1§8‡Òߦ¿xOêcnI®¨ÅÉÀI|Dš©¦)!¤¢¶‚úøäÕBHЩ  SAÔO!R?Ðí߃p¨TG1æBº›v?µ‘ºUª©¦i‹µQÿõ±ôïÐDzxú‘±¶6Òä=§8r©TGaÐ=Í{f½ÎÊ-ÉÕUÓ•åÒ@^ì ƒ)©.™|dòän“ý»ú7ÞJ£µqT*ÿéÿßH$ !Ô89 uü:ÑÏÊ åÆ$©J¨ÊX›t2Ö&A.cì¤ßóæ¼ãõÀ[@°€Ž¤¬¦ìË#_Ží:ö ÷/$6Yh[B®d^±Õµ5^ͺJ1×2—ñøT¾Ù÷ù¾Þ½åQ¯¬µQÿ½ž}ý ·¯ëZöµ÷P[‹¤ÜsÊCÞÃ×U¯Eí ·roBÌ4͈l—ò‚`FEmÅÔ£S‡Ù›ê9µñÖ¡öCwÞÚ¹åÆ5eµÁvƒ™JÌkO¯­ŽYMf?LÆSŒrµóÖΧ,ô]èmé­«¦[VS–S’ó÷£¿¹lî[OPh±¶ÁÿyûÏ?®þ¡ÂP`3€/äŸK?·ýæöw¯íÇØI¿ç”ªúªÀÈÀe—‰&Od½Îò0ñÐUÓ•ñÒ@^ì Ã<˜ú<5õyêúØõâíÔšjN\§éݧ‡Æ‡®ˆ^±"z…h뇃ìÉx -‹Ÿ‡ü¼,zÙ’sK$ÏÞ#ð­+o±¶®†]Ç»?œ|xÑߋķžyt¦­k“Nú=§~ö4õÌ-ɳŒh«*SuÅ .S–KyA°€ã!ï¡ôKú/±×·¿žñêÿvöMD•Ñ8—qöúöañañùñÅUÅÚªÚZÆ7ž4Ð*-Ö¶ê“UæšæÔ*¾\6÷s×ÏG8J¦Ÿ6ªMŠï9!„£Â92ñÈš‹kâóãA7“n?ôûÁAÿߊe¹4 šh¡KYðx¼ŠŠ )ΞeÏ›ÇÍÌÌzo%|œð»ö1`³Ù\.Wöþô–»@G€`  ì‚€‚@°Pv Á@A Ø(;`  죽 P(;níÐgëqÓÞ…HSPVò,¥ ¬@™¡ìÄuò0ñ ÑhâN¥Ê)É‘ØËNÏnHç!–ÆKK.L®©¯é¬ß¹—y/%º’hSXBXEmFŸÝs¶x;!¤ª¾*äN!Ä@Ý`œË8y]ÀGÁ@ž¶ßÜîlàüÁ»œ’œÎüT˜$Þh¯o¿uÔV - QËéG§¯d^‘Øw¸Ãp‰`÷²âå‚Ó nçÞµXj[î ØcÂ1¡>†Þ åUð!ΆξV¾âûþýèïà¸`Bˆ‹¡ ‚€¼ ØÈÓ×½¾Ögë·wÍ*,+L*L2á˜t5ìjÌ1.®*>ÿø|úËôéǦGÏŒfÐÿó?…9½çÐiÿŽØ±Ó³ßZYW9áà„œ’-–Ö@»:ª:Y¯³.?¹üâÍ Q°#„¨2UYLVdj¤D°‹H‰0Ó4Ë+Ík› øH!ØÈÓìž³Û»i,µ-M:ænì.j ò µoTnInb~bóâçzÏU¢)5:Æ?6_ßœS’ãbè²'`†ŠÕ˜Wš§ÂPï¦DWòsò;t ´ºT“¥I5>}ý4©0i~Ÿù¯m”Ûµ‚t Mü"„ô³îçlèLýÌòoæÜÌ(Êà øÖºÖÞÞÊ eѦm7¶YéXp‘õ:+.;®Ž_çfìæaâÑø˜^[ŸÊI™¯2gGÍÎ.Îmâ²¹[Fm¡P5ð‚ã‚Ú,,+\»^(R}ƹŒûu询]^U¾šjþ­Ü[¢“µbÐ ÿ®þ„ÒêÒiǦ¥>OmUf(/ô]8Õs*õQ|Œ]‹K?W“þzðW~i¾´ÛDȤn“´XZÒûˆ{]õšâ ï Ñ~%óJæ«L“ådàÔ͸›ø‹´ioj߸»[j[Þνò<…­Ìö2õ²Ñµi||[]Û®†]#S#©`ÇòO¤`;@[U[ö"@vÐaŒtélà,Þ™iÌ1ösò#„T×WO˜^XVh¤aäkíˤ3oäÜÈz53bæ¹çDãÞî=»w9󲯕¯­®-¯‚wöÑÙc)ÇF8ŒèeÑ‹ÂðgFμÿü¾ ÇÄÇʇ£ÂÉ-ɽøäâÒsKmtm\\÷&îM}žÊesûÛöç¨p Ë ãóâïÜ;Ù nñ\MÞ„¿üu3ç¦ô5Üa¸ìÁîÞ³{1ObF:Ž4×2—Ø4ëø,ÑÏ\‡MŸn²Ö±¦>æ–äBœ œ‚NytFÔmœË¸Ÿÿ,1–âßÕyôò‡¼‡Ž\Ç+™WŠ*Šü› ¯ðÖì ÃøÔéSñ[olÕg뇌 a1Y„ÓO–º»ïû|ÕÒ h:tþñùCɇ‚|‚¨½^W½Þ1zÇ@ÛÔGKŸïÏ|5ë*ì.d\¸ÿüþHÇ‘ëG¬¥“ûÏïûï÷ß“°g³ßæâªbBHÔ”(.›Km­ã×¥½H{‹‚[/~9óò#ޣɇ'GÏŒf+³ !UõU„KO.½xóbÝ Km˼’¼˜'1ÇRŽªÎõž+q´‘Ž#½ôkdjäòAË#R"ôÙú}¬úÔòke¬d„`RÈ‹O.@­“ÕB-áñ­Ï·Tl"„0茅}ž|þnÁ]ÑŽŽúŽ¢TGékÝ—ò²â%õñFÎ Bˆ*SuçíÔ»Z¡P($B ûÏïB>±ûäPò¡°ø°q.㬴­h4Z'¥NnÆnoQp‹çjÒ¨.£d¼E-Êz5éð$5¦ZøøpueuñMs{ÏíbÐE4%¶¬¦lòáÉi¼´ã÷S¯S©‘‹ÏÊŸýéÿç›T·¸ì¸©Ç¦î¿»Nï9 ã©+«Òù“SOÍðšq5ëê ¯Jt%—ץÀ?ì ã9p÷À‰´q¤¬¦Œ4¼oÊ1¥Ñh¥ÕÿN 0Ô0ï ÊT%„4¨Ô¹£)G›;µ·¥÷á/ïKÜPÛPÛÅ Ë »Aã]NjҤì·x®&ÉkŒ]êóÔiǦi«j‡o¼>KWîâ9*œozóuÔ×i¼žMR,M8&¢TGñ¶ô¶ÕµÍ(Ê(ª,j|Ì1ÎcN¥úöä·|!ÿƒ]ç £C°€æhÊуÉM8$Z;ƒÂQáBòJóL5MEùeùB¡P¢§‡ò…Û:j’SSE«xxšzzšzB^V¼ŒÏÿíÒoçÓÏ™xD|É7™ –á\ÉeŒÝÍœ›³ŽÏ2âøü€ø”^ÙÙëÛK<“£Pi¤‰M½Ì{sŒ“ “ÝÝ­t¬Þâ¤Ð";èHþzðWh|høøðÆÃÈÜÝ#S#·Ämq7v§žŸñ…ü ±!ÝLºÉxüžf=#R"øB¾ÄÚ¼EEÏß<'„ÜνílèL½NÕgëpq5ëê‰'²‹³E d,¸Ås5éÝÇØE?Ž:d¥mµüþ&—V),+¬i¨¿œ²š²m7¶±™³ºjºnFnI…I—2/‰¿ŠÍ|©«¦««¦Ûø°4mÅ ^<èiÞSzýðÖì ÃøûÑß‹Ï.í<úȽ#âíÔ²p#Gn»¹-± qHÈ_+_¦óFÎÌW™Î· 2žb¸ãð½‰{Ü;r=ûz/‹^:ª:å5å9%9ñyñÓ»OïjØõÏÛÞ-¸Ûü‡¹–9S‰™þ2ýÚÓkJ4¥& J/¸Ås5Yá;ޱKÈO˜wrž@(ð4õ<˜tP|S«>ÔTܬ×YÓ#¦»»[ëXk±´ž¿y~éɥʺJ=¶žø+Ô Ÿ /~9ûøì¶-´-¨ÉB¡p¦×Ì&æBúÛôïoÓÿ]êéì@Ψÿ§ …¤™ÿ¹¿½åÑËù~DJ„D»®š®³¡3‹É J­cw(ùµIŸ­¿å³-²Ç—M)t\袿]μ,~".›K%­žæ=©SD›Ô:©ý4à§&}I/¸Åsµ…gåÏø>!$<)\b“º²:ìŒ9Æõ:ß-¸+>éÄë°aäñµˆ{YôZ3dÍê˜Õ2.P-t}ªçÔižÓÚ¨xпeÐÑ!Ø€œ©ª !55tK ß#ÏôšYǯkÜ.Z+ÎF׿üÌó7²odeð…|+m«>V}Dß<ÁPbÌóž'1º‹j_VW‹¥µËWÖë¬Ä‚ÄâªbmUm - jE’¯z|5©Û¤;yw¨e 5 ûXõ¡f`PÄ¿+¶Å‚¥Ÿ«-tÖë<Ï{^“›Ds{­u¬ÏL;“ÆK{øâ᫪WêÊêΆÎ.†.w p èoÝÿjÖÕWU¯4U4{[ö–˜¼2Ýkz]Cw€Â¤3çyÏ3P7x‡ ú¨UVÒÕÔäü[M´ö:€,x<^EE…”)igm]ÿÞªøk>­“×Þ…@b³Ù\.WöþMÏáxkÖÖu †0-M¹½ Pp*wîÜìQø8!Ø€œuê$tw¯¹vMµå®ð¶êêh·n±zö¬nïBàÂ`ò÷É'•11j••ø ­\¼¨VSC0 ²½  þÙù5ê@@;tH£å®ÐzB! ÕìÛ·ÒÀ ¡½k ‚ȇ#˜9³tëV­—/Ûjv'ÀÇ,*JýÁå  âö.>8vÐ&fÎ,áp64±º¼‹Š úÿþ§óùçe˜9’ì M°XÂ|uü¸zT”z˽@6Y°@_ óç—´w-ð!B°€¶2xpe``ÉÒ¥z·o³Ú»±v­Îª;v¼ÐÔä·w-ð!B°€6´`AñÀUsæ$$¨´w-›PH‚ƒµ÷ìÑ\»ö¥›[M{—(;hCt:Y¿ž×£GõäÉFx' ðÖjki p·o×\³¦häHi_ý9;h[**Â-[^LŸ^ºh‘þâÅú¯^až,@ë$&ªøû_»¦ö<  ¼½Ë‚´9,\X¼mÛ‹›7YšíÞ­‰µ‹d‘“Ã\°€;~¼±Ž?*ª W/|Ï´€& Û»èHx<^EÅ[¾ ª®¦íÞ­µ{·&.8°²OŸª.]ê ÔÔò- ƒHY™RNóÞ=•‹UããYffõK—¾Æ7L|´Øl6—Ë•½?‚´Î»;JYý¯¿ÔcbÔUø|š¼ P$ššoïªO?}ãë[¥„ñ 1;h[ïìDêêh™™^½R›Y &ÔИš6˜˜ÔÓðW´>Ø1Ú®é:u::Ö¶wŠ%(;`  ì‚€‚@°Pv Á@A Ø(|¥€‚À;`  ì‚€‚@°Pv Á@A Ø(;`  ì‚€‚@°Pv âÿ{Þž}[±¬IEND®B`‚fio-3.39/examples/libzbc-seq-read.fio000066400000000000000000000005241476262051600175200ustar00rootroot00000000000000; Using the libzbc ioengine, sequentially read 40 zones of a (zoned) ; block device, reading only written data from the 524th zone ; (524 * 256M = 140660178944) [global] name=libzbc-seq-read rw=read bs=1M direct=1 numjobs=1 zonemode=zbd zonesize=256M read_beyond_wp=0 [dev1] filename=/dev/sdd offset=140660178944 size=10G ioengine=libzbc fio-3.39/examples/libzbc-seq-read.png000066400000000000000000001341751476262051600175410ustar00rootroot00000000000000‰PNG  IHDR…ñx‡bKGDÿÿÿ ½§“ IDATxœìÝwXW×ð³ô]zïR‘Ž» (ŠX@k$ÆÄ»[bK|ðSƒ«ˆQ,Q£"ˆ AÒA¤.MÚÒ—ýþ¬€ë²K9¿'Ož™;wî=;WäxçÎ,…ÍfB!„ê8!A€B!Ô[a"…B!Ä'L¤B!„ø„‰B!„Ÿ0‘B!„â&R!„B|ÂD !„BˆO˜H!„Bñ )„B!>‰:„ú£_ý5,, lmm÷îÝËcIgõ…:Ýáǯ]»VVVÞÞÞ\j²Ùì‹/Þ¹s‡Á`477À¾}û~ùåâè‘#GÌÍÍ»!`„PgÁD !xóæMDD())ñ^ÒY}¡N—žžN\ä/Ú²eË8KJKKÉs+++;?8„PWÂD !„ºImmíŸþIl¯X±bîܹBBBªªª‚ !ô50‘B¨Gصk×Ê•+@YYYб ®’‘‘Áb±ˆíM›6 4ÂÃÉB¼¯‡P¯ƒ‰B=B`` —•L---gÏž½sçN]]ݰaÃÖ®]Kä[ÙÙÙß}÷]» *((ñØéŋ׮]{óæ “ÉÔÑÑ™œó³ó°Ùì»w†feeÕÔÔ477“uJKK™L¦¤¤$q~¥ØØXr{êÔ©Ä…B±··'VYqV@ &RõtÒÒÒ䶘˜˜˜˜XCCÔÕÕ…ééé“'O&n¥©¨¨„††¶M/¸·CÞÞ999Þc£R©wîÜñððˆˆˆ`±X!!!žžž;vìøßÿþW[[KVŽŒŒlÛByy9Ô×ד%DêÖ6fµz›477OŸ>ýþýûŸk¶®®NRR’¼æ_'œ1s¶LnsV@ &Rõtœ·“òòòˆì´´´ ''gÒ¤I………   ðï¿ÿw´Îwu¾|ùÒÞÞ¾Õ¹&&&ä#úòf–••Õƒ˜LfJJJvvö½{÷üüüÀËËkçΜÏîݸqCFF¦UËÄdñY™™™d<œ1sãsx àÎ;dåááaggG£ÑbbbvìØÁY™Ç8 **Š|_ùýû÷[=÷ÇŽŽ¹žžnmmݪÎ !ð­E„ú¥­‘€Ë—/³Ùì–––åË—%bbb………ùùùäZYYÙ¸¸8.}qi§¶¶–œÈ133#—ï‘ktÚURR²}ûöääd²$33“ì.''§¶¶–|\ÕªUõõõdÍׯ_ïܹ3%%…Íf×ÖÖ’·gÍšÕØØÈf³ÃÂÂÈ;q¼?µG^@œ:uЍ#**ZQQÁf³ëêê8Ÿõ+))!Z#or“xk¡®®Ž(äq“É$_K1kÖ¬††6›ýòåKòu {öìá~5BÝ)„ C‰”¹¹¹´´´©©)çÒŸŸþ™ÍfŸa"…B!Ä'L¤B!„ø„‰B!„Ÿ0‘B!„â&R!„B|ÂD !„BˆO˜H!„Bñ )„B!>a"…B!Ä'L¤B!„ø„‰B!„Ÿ0‘B!„â&R!„B|ÂD !„BˆO˜H!„Bñ )„B!>‰:„P/Ã`0jjjBu )))UUUÞëãŒB!„Ÿ0‘B!„â&R!„B|ÂD !„BˆO˜H!„Bñ )„B!>a"…B!Ä'L¤B!„ø„‰B!„ŸðÍæ!Á`³!/O47W¤ªJ˜Ít4u=IÉ%%–A£˜þ‰ï;0‘Bu+ >” –zôˆVY‰“â¨ßfV?e söìjYÙA‡ƒ¾…ÿDuÄ×|×Þƒ’¿ÿ®øîèÈ‘u“&ÕR¯£Ó$+Ë„ õL¦PQ‘pR’xd$íß%[Z(Ë–U,[öžJÅ_Ä=HG¿k)„PÇð—HåäˆîÞ­ôø1mæÌšõëËutšº"6„z &SèâEy™–_~)2…)èˆÐø¥Å¡':šêâ¢UV&|éRþ¡C Ì¢’”lY¶¬"4ôݘ1u«W«8 €Ó½&R¡®åï/³t©ºMm``þðáõ‚¡DI‰åéYìåU|ê”ÜÚµjõõAG„: )„P –úåå¬8tˆ!.ŽÿâF¨..ÕçÎÄÆR7oVmÁÕç½ &R¡®’ ¾c‡ÊÒ¥ëÖ•Sð_Ú}žµuýñã…aa´?ÿTt,¨c0‘Bu‰Š áeËÔG®ÝºµLб Ô ^¿o_Éñãò÷îI :Ô˜H!„ºÄŸÊ Á¡CÅøj„xäâR=gNõÿþ§TW‡S¸½þ ‡ê|ééb—/ËüôS™”®ø@¨~ú©¬ºZèäIyA‚x…‰B¨ó8 `fÖèì\-è@ú…={ö,\¸°+ÚONN¦Óé3gÎ4øèСC]ÑEEÖ?¾?yRßûß[à8!„:YQ‘ÈÇ’?üP Ìû€¢¢¢™3gÒéôäädAÇÒ_,\X%$ľ~]ZÐ ž`"…êd¡¡’TjËäÉø¦æ¾€B¡¯]»öÆššš‚§_”l±·gâ’óÞ¿´!ÔÉbc©£FÕ‰Šâ[£úUUÕàà`AGÑïŒ_»u«Jc#EL Žz:œ‘Bu²”1“AGÑg%%%-]ºÔÒÒrÈ!«W¯ÎÏÏo·ZMM¯¯¯‹‹‹••ÕàÁƒÇ¿yóæÔÔT²Â¼yóˆOžžžœ'®_¿ž(ß°aC×~ôyffÍÍ”ÌLQA‚¾ )„P'c0„ÕÕ›EßôüùóyóæEFF2™Ìêêê{÷ºµª–““3}úôƒ¾~ýº¦¦¦¹¹¹°°ðúõëÎÎÎwïÞ%ê+ÓoܸÁb±ˆíªªªÐÐPb{Ñ¢EÝò™P;ÔÔš ¤ïõ˜H!„:Y}½†÷#:›ÍÞ¾}{}}=ܾ}ûùóçß|ó ™úZZZÖ¬YCÌTY[[ß»wïõë×»v퀦¦¦Í›7À´iÓäåå ¤¤$""‚8÷öíÛ DûÖÖÖÝûùÐh´`2ñwt/€ƒ„êdl6àóz]!!!!++‹ØÞºu«‘‘‘¬¬ìêÕ« ÄY->>ž|ÂÎËËkàÀ4ÍÝÝÝÌÌ ®^½ bbbnnnDµ   bƒ88%hÄOÿ=Òà´!BõÙÙÙä¶©©)¹mbb’––FîrnÛÙÙµm'%%…ØX°`ÁÉ“'Ùlöƒ***Þ¿ÿêÕ+ R©ÎÎÎ?B}ÎH!„PÿR[[Klhkk7ššš‚ƒƒÉ騙3gJKãKŒâ ÎH!„Pï §§Gn'%%©¨¨ÛoÞ¼á¬fhhHnGFFjhhpisÑ¢E=€€€€òòr²°³bF¨ÏÃ)„êÌÌÌÈ\jÿþý©©©UUU>>>œ÷òÀÊÊÊØØ˜Ø^¿~}|||}}ýû÷ï“’’Î;·`Á‚ׯ_“•'Nœ¨®®oÞ¼!žþ³´´ä¼oˆâg¤B¨wúý÷ß—,YÒÐОž>}útPVVžýðáÃôùê•pF !„z kkëË—/7ŽF£IIIM™2% @MM­U5]]Ý;wîlÞ¼ÙÊÊJZZZXXXEEÅÒÒòûï¿÷÷÷·´´ä¬a"…B!Ä'L¤B!„ø„‰B!„Ÿ0‘B!„â&R¡Þ¡¸¸žNOyò¤TдÖck¥Uœ­vsr˜tzÊ«Wïùnÿë[@¨7ÂD !Ô;0utzrÌWzl`­´Š³ÕnNN žüòeßí} õF˜H!„zUUêºuÆ#G* :Özl`ÜõÒ°êiDBñDEEbݺÁ‚Ž¢=60îziØõ4˜H!„z‡ââú˗ߎ©Ä9‰R]ÝÉÈÍeŠ‹‹˜™ÉZ[·ž_a±Ø11%©©UÍÍ-zzR¶¶ªââÂÄ¡œæ¹66ªVVòOž”¾~ý^\\ÈÆFUWWªU#……uááEÕÕM††Ò¶¶jiiUÿþ[èè¨i` Ý60Þ›å[7h÷z@K ;:ºäÍ› IIQ[[U--yÈ×7­©©¥mS‹ëËË‹ñÒÅb?}Zš’RÙÒúúRãÇ«ŠˆP:õÃ!Ô}0‘BõÄšλQ!!ùÛ·¿¬®n"ë ¢àã3REE‚Ø/_¿>./¯–¬ ®Nõõef&×ôP©Âǧ††„…)ü1ÔÅeyÊ•+9{ö¼jll!»˜1C‹NO4H†H¤ZÆc³Ückב#)l6·KD£ ÿðƒ!·Ú^OhhhùöÛÇ11%Ä®ˆeÇsw÷Äî±c)uu¬¶MÍœ©E&RÜ[€W¯ÞoÚ÷î“,ÑÒ’üíwútFMM³““¶ª*5)©âñãâÝ»_ÙÛ«KK‹Àë×ïwî|Éb±­­•,,äÞ¿o¼w¯àرÔ/†Ç½YckåèÑ‹[&¥¤$Î{"õ¹°kk›œ´••%’’*bbJ~ûíµ‘‘,‘lýøã`Ω†Ö™3‹ësæ@Ü[x÷޹dITMM³¦&mÌYYÑÌÌêGµ˜H¡^ )„P¯äç—ÞÜÌþî;ƒ;Ì)€-[L]\Â_¾,-=Zùĉ´ªª¦½{--Ò'Ï:{6sß¾×7oæ.\¨G”45µÜ½;‰¼ý´mÛ‹ÀÀœ¸¸2;;58s&ƒÅb¯_o¼ví‡åDëÖ vrzøÅð¸7Ëcl­¬Y3ø‹3R_ Œ»º:Ö”&vOŸÎøý÷„S§2ˆ4hÕªAdͦ¦–•+cçÎÕݾݜ÷ŽO%òKOÏ¡¢¢žvÊËc ã“O¨·ÂD !Ô+=^&,Lñð0¡|\]#//¶r¥ÑÏ?¿|þ¼lôhåèèaaJyy£O*›Í&R&³Þ|HV\\p.â™0A-00‡Á¨#v_¾|O¥Šüø£YAKKrî\“'Ó¹‡Ç½Yck…LæºÎ¬YZdK– ü믴çÏ[¿Ñ€Åb¯[÷TUUb÷n˵[*$DùõW+2‹--ÉNþu#L¤B½RUU“ŠŠ„„Ä's0H@ee”—7²XìÇ“۞˹¬J]Êyˆ˜Ôinþ0óSYÙ¨¦&!,üÉRh^~ñso–ÇØZéÜ5RíÒÖþä£ Q45i Ÿ¼c“ÅboÜ'))²oßJ›5âÜ[¨¨hTQ‘”Ä_=¨ïÀ?Í¡^IFF´°°®¾žÅ™KK˜eeE@FF¤±±eÙ²v b‘8/deÅŠŠêY,6g.•—Çär /ø‹­ÖHåæ~òÑØlÈϯ•‘ù䉼­[Ÿ€—×0!¡vµãÞ‚œœX~~-“ÙŒ¹ê3ð2B¨W6LñÆÜ?ÿ|C®Ñ©¨hztd«Y:[=ZÙßÿíÞ½ñ¿ÿ>”|å±FªÕB½&R¡^éûï oßÎ;u*ãÙ³ò¡Cåkjš<(*/o°²’5JV­RàáñìÌ™ KKyiiÑ’’†´´ª„„÷§OÑÔlýr£v-Ybpûvþ¡Co¢¢Š-,äß¿o¼w/ÿãÛž¸&5\ñ[7¬‘¢R…œÂ§NÕPV–xó¦":º„Bï¿7 ŽîÝófÞ’%}|>yn‘ó=RÜ[X±bЭ[yAAïž>-=ZIVV,+«&2²èÔ©1˜H¡^ )„P¯db"ëí=bûöññåññåD!ñ)b᎖–äùóã<<ž%&V$&V'Ëò˜E€¥¥üÞ½–¿þúúéÓÒ§OKÀÊJ~âDõ?ÿ|C£ñÿ÷g§ÄÖ–.5xôˆqãF.±K¼Šxà.%¥òÂ…,8~<­ÕYÓ§k’‰—`ÀÉÓ§ÇlÚô,/ðá& –MCCŸ¡¯‰B¨whûÝpcÆ(GF2òòjÅÄ„ÌÍå­­9O11‘½sgÒ‹e‰‰uu,55ª‘‘Œ±±,qTGGjÝ:ã!C>9…(´°øï­˜ èÙÚª†‡ÕÔ4o6ßµëp,'oÍr­+´Š³Ý°GR^¾ÜðÑ£âÔÔJMdÂ5òÙCEEñuëŒÛmYAAœ—Æ)>x0%&¦$5µRXXH__jÜ8•ÏÝ(D¨ç£°¹ßrG¡O1Œšš. Òé GGnuz‘ÄÄ SS9òñ´ÄÄŠ¹s#¤¤Dcb¦á¯ÔuúØÏQ/"%%¥ªªÊ{ýŽÍH:t(&&¦ƒ!!„zŠÑ£GoÚ´IÐQô2‡'geU®¤  –]^Äb±ÝÝõ1‹BAG©˜˜˜ØØØQ£FuQ4¡®+èz%ss¹‡‹rrþ{ªÎ•+¸œ‚ê?:¼FjÔ¨Q] B¨K¹¹¹ :„^iÝ:cçÏË k¥¥ÅFŒP44”tP¡ž›#„ÐhiÑZ­˜F!~O$B!„Ÿ0‘B!„â&R!„B|Â5R=Ý„ ˆ WW×5kÖ4–ÎQYYéääDl{{{[YY 6„Bˆo˜HõtÄFŸI8šššÈUQQÁ½2B!Ô“á­=„B!>a"…B!Ä'¼µ×GTTT\ºt)&&†Á`ˆ‹‹›˜˜,X°ÀÒÒ²UµG={6??_WWwÕªUºººí.WúbkïÞ½sww'¶Ïœ9#,,L§Óß¼y£®®>sæLgggÎN###ÿþûo²SMMÍ®º ¨O‹/ˆ÷ ÷rîî`ä èXZK+I Ë‹}ÛØÜ¸uâVKO~ô5Œ76€¾¢þ>‡}­Î Ï?ùä$Ì25ßj~·ÅŒê˜Hõ·nÝrwwÿþ=YìååµeË///²ÐËËkÛ¶mäî™3gŽ;Öv¹/­ÕÖÖ’'†……mÞ¼™<ýôéÓ»wïÞ³g±ëéé¹}ûöVvÎÇFýLe}åÓܧöƒìHkNgœ’Iäne}e« õMõOsŸ@\^ÜŠQ+´å´9ž}v–8:DsH׋êdxk¯×‹Ÿ3g‘÷|óÍ77oÞôõõURR€ýû÷=z”¨M&4Ó¦M úý÷ß7oÞÌ_kœÖ­[·fÍšk×®Mš4‰(ùã?ˆ¼*::zÇŽDá¬Y³®]»F$d} ¤bf±¡’áÊÑ+' œÀ¥š¥†¥E(ðu ga~e~tNôPÍ¡]"B¨ËàŒT¯çååÕØØ'N<þ€ˆˆˆ_~ùeÈþÔÔÔܺu+//¸C7cÆŒÈÈH¸ÿ~\\œµµu}}ýï¿ÿÎ_k<š>}ú£GàßÿŽŽ3fLCCƒ§§ç×}bÔ¯)K)}D¥ÀDƒ‰Ãµ†séÿWþD"%"$2HiÐ.û]dý%×T7Tsiðü‚óœ3Xm‰ ‹vRì®®gŸ ~<Ódæý´û †,èÜöBÝ ©^#00ðÕ«Wœ% 8wîÜš5k‚ƒƒ#""ÊÊʆ:xð`YYÙüüüÂÂB‹5uêTâѼüÑÏÏ/--­¹¹yìØ±¦¦¦ùùù†††­zá±5ýøã'OžÌÌÌd±X¶¶¶fff­–X!Ô!Žƒ‰,Š0Jg”–¬VjI*±»|Ôr`77ÚØ«ë+ê Q„¤Å¹ÝM¡=¢k#þÔ`•Á¦ª¦¯Ùlv#«ÑÕµ;{Gu:L¤züüüüü|Îâ9qqñû÷ï{yy?~¼   %%…8*''7cÆŒ%K–»’’’<øöÛoÚššâããÝÜܶoßNÎ9Ñh4Þ[ã‘´´tXXØ·ß~ûðáÃææf¢SOOO}}}¾¯êçd$dZ•ÈQå ª ˆíéÆÓMTMn½¹””Z’ÚÐÜ0Ãd†‡GÛ³HݹFŠàfé¶çþžâšbUcãNl!Ôý0‘êéÂÃÃ?wˆH}@LLlçÎ;wîÌÉÉ)((×ÔÔTQQiõž--­¼{÷.??_GGGCC#0ðÃ+m( ™ÜðÒÚ€ÈÀôôôˆ *•Jš››sÖäì´©©‰¬Ög¾‰u›¤¢$Î]f#3«,‹ó¹9=½µã>,ïK,J\|iqIM —L¨;×HfšÌüýÁïÅ5Å+G¯ìÜ–BÝ©ž®Ck’tttttt>wôÌ™3zzz&L0`¤¥¥ýüóÏġɓ'oÝä±5Ö60aaáÏE;`À¢SíЇBˆÓ¿éÿ^M¸:Ç|Ô5Õý|÷çÚ¦Úé&ÞÁ±ÿáþ9æs*$vU¥TE…E‰÷†N7¯‘Y Ù+‹¯0™æêæÛ2B¨ûa"ÕDDD,]ºTNNnàÀÕÕÕYYYÍÍÍ ¢¢âãã#èè≱ŠñÖÛ[ER‘VÉ.Ï®i¨¡‰ÒV^E=wöDì š‚¶œvcsczizsK³­¾-—¿~Ô±ècQÙQðöý[ð ÷:s6Ølø\ãfjf_Ù)B¨‡ÀDªùᇊ‹‹ïÝ»÷üùs¢DZZÚÍÍmß¾}êêê‚ !Í6›mg`w"ö£†ºòºÿ7ãÿÈ}˜ïÜf·íò«Ëi%iåµå &,ædêô󤟻4¤Ì²LÎI/rå;B¨oÃDª7nÜ;w˜LfVVVMM¢¢¢~ß"ê,Ô-þYøŽ¼Žš´ÚRë¥ÙåÙ41š¢çê=÷aîîÃÜËkËs+rib4MYMš(­«ûqÌs-ç¶-7TúðT¬ª´ê? ÿ‘§Ê®…¡šCÿYø†ŒFW…ˆê2˜Hõ;’’’äJp„z9ªÜÈ#‰m K ËÏÕT )(к+.¨8\•Õ.  2òvq~4„P!„B|ÂD !„BˆO˜H!„Bñ )„B!>a"…B!Ä'L¤B!„øÔ±×”••åååmܸ±‹¢A=DZZšººº´´´ A)>>^KKKÐQ „PŸÒ±D*===//ÏÛÛ»‹¢Au©ºº:A‡€B}JÇ©Q£F@@@@׃z …²aÆ?ÿüSРÎäææ&èB¨¯Á5R!„B|ÂD !„BˆO˜H!„z±« W < BRCˆÝ„ÂOz]°Qu–üÊüóÏÏ/ñ_büÆž‘Y‘‚Ž!Ô~i1BuÀ³¼gó/Ìßh³qõ˜Õ]ÝלssJ™¥]Ý Bèk`"…ê;ÌÕÍ3¶e:ŠN£)£é`ä0ÉpRHJˆ¼¿ ÃAµ)„ê¡®~{•Øxþ@°‘ „>×HuÀ(ÊÇy¬¿mÛ6 …òêÕ«® u‹€Bž‡¶m pè;[U}Õžû{FmzÀÔù¬sXFX« ­ÖHEfExœ‰;ó4÷é‚X´p>ë l6; >Àí¼›ÅA Ó¦3Nϸðâ›Í&Ûa³ÙW®.øgÁ?‡X´˜ý÷lÿx›åí3ÿÂ|ø3òOOâ¿îúô¡žg¤B½CCsâ‹‹’‹“‰ÝÄ¢ÄWW8vüâ‰/ò_x†y²Ø,ha·°ÙìÍ·6ßHºAVH)NÙsO2#ùÓþl6{ÃÍ ·“o“  ´d;ö^x£ýF¬— J’J±kc;Ô&B¨§ÁDª6oÞ¼yófAGaófÀ¡´sÏÏ%'ë+êï±ßc¥iU^[~2öä?/ÿùâ‰wSîºYº-¹|€Üa!áë‰×o$Ý0R6Ú2q‹¥º¥¸ˆxbQ⯡¿úÇû»Z¸Ñ˜x;ù¶UÎÃÆcÂÀ rT¹ŒÒŒK¯.‰ ‹®³z䀑ݶØ!Ôóa"…êBRB(ŠÏlC%C ÉÒöNÝ›ý>;úm4÷­4¬~wøB¡» ÂBÂgæQ‘R!J¬µ­ÿœù§ƒŸChzèÍ!A ApØéðXݱDsussu󎜺%µ£§ „z^¶FŠ\uô÷ß›™™IHHèèèìÝ»·¥¥…¬óÍ7ßP(”ÒÒOž& +**Zµãëë;xð`*•jaa L&sýúõãÇ'i»F*77wÙ²eÚÚÚbbbjjj .LIIi¶‘‘‘„„„¾¾þ¾}ûš››ÉC¥¥¥[¶l4h¤¤¤šššÝÕ«W9×jôA%% ­ JJðîÝ…‘‘ "ãÆÇÅù¹êèï¿ÁÌ $$@Gö‡o¾ >ú…‡þ¿v|}að` RÁ‚ƒ˜LX¿44@BÆŽ¡ogTn.,[ÚÚ &jj°p!´7ôàãFF !úú°oß'Ÿ®´¶lAƒ@RÔÔÀή^…¾=ô_'§"GUJ•È¢H6z6_|8YÍËËëòåËä);wîLMM=þ=8:ÂÇ¡‡ÚZ`0 < ½€ÈQå8w[Ø-Ðîê¥&VS'ö‹k¤êzÙŒáâÅ‹t:½   ªªêÂ… """GåcçÚµkýõWqqqYYÙöíÛ›››§OŸÎ`0îß¿_UU•••5iÒ¤‚‚‚K—.µ{úúõë‹‹‹mllž={Æd2“’’\\\ª««—-[ÆYíêÕ«,(((//¿xñ¢‚‚Â… …¡¹æÏ‡’¸t 44¾pâÅ‹@§CATUÁ… "Gò3‹síüõCYlßÍÍ0}:0pÿ>TUAVLš𙡇õ롸llàÙ3`2!) \\ º>z¸z„‚(/‡‹AA.\€ .ŒáÉ`2¡¬ ""ÀÕúüÐ9F #½4³02»Ã/û¨8*J}¹ñeƶŒVÿ}”¨PY_ù¹;†B!øL†ê‡zåŒÔ®]»Ö®]Kl/Z´èúõë¹¹¹ èP;»wï^¾|9±½oß>??¿’’’ÐÐСC‡€´´´§§§µµõ›7oÚžËd2ïÞ½«¢¢,##&&&þþþVVV¯^½JKK4hQsÆ ›6m"¶,XÀb±/^8iÒ$EEE*•:räÈ#FF³±±±±ùò­Š¾`íZˆ‰cÇ 1"#á?`âÄ/Ÿµk|zX´®_‡À@ÈÍ…=ìÞ ‡öí??()ÐP:@Z<=ÁÚÚz`2áî]PQà`‘01°²‚W¯ - >=l؇, /†À@˜4 J…‘#aÄ ll Ÿ =¿;ÄƯ¾¶z––Äbó/.jËÍÒíÙígî—Ý׎]k¥a%-.]\SœV’˜¸hÈ¢1ºc\Ì]ârã6ÜÜàaëa«o++!›Y–yéå%'3§Ú#d%d .7®¢®¢Õ\W+¸F ¡þ W&R&LàÜÕ××€êêꎶÙ² ikk×ÖÖYAGG FÛsß¾}ÛÜÜ<~üx"‹"ˆˆˆL:5)))##ƒL¤¦NÊy¢ƒƒddd€¸¸¸ŸŸßªU«&L˜`aaakkKtÚ/œ< ÑÑ ŽŽ°u+O§|:ô ¯Ðñ¡ÿ$emm¨­Ž¡bÚzxûš›aüxàz©S!) 22þK¤>zppÈÈ??Xµ `°°[[è?CÏ÷aî7“n&'/¾´˜(¡P(Ó§s¾§€.f.Oß=½špuyàòV‡æY΀9æs"2#BRC~¾û3çQGcGЕ×U•Rɉ~øÃmÜ®{—ºG°çk–^YJl}ÔÁÈ¡‹:EuH¯¼@¥R9w‰e¤ä­=â¾çòs¨««kÛN«•O ¥mIÛ¦ÚVèâòÄ… æååíܹ“J¥^¹rÅÄÄdÆŒUUUm¶WŠ‹ƒ¼<€ôt^“¡O‡ˆËHÞÚ#¯ö†¾õÊ' ¥’¶Mµ­Ð!Ä)ä‰ B^ìÜ T*\¹&&0cô“¡ç‹¸ˆø? ÿY4d‘’¤’¸ˆ¸‰ª‰¯‹¯~‡§ñ(Š×t/º3}¬îXY YQaQm9mûAö¾.¾cõÆ€Eèˆó‘ÿMûŸ•†U”*%.e©aù‡ã£tF€°°‹Ïp­áTQê—ºBõ}½rFŠ;ÈÎÎ&6 ¶¶öÉ“'Û‹®®®ˆˆÈ£GªªªÈI)‹uÿþ}00øïeÇ÷îÝ›4i¹{÷î]8p Y"--íäääää ûöíÛ¿çÜãÂüù ¬ [·ÂÆðÝwpõê×¶IŒxv6|z¨­…ÎzÐÕxôªªþ›”b±àþ}Ž¡‡{÷€cèáî]Ž¡iipr''€„°°€}û ÏýW‘Ù;uïÞ©Ÿ<^0Ç|¹Ýê»ölôm>7]ä8Ø‘ËË<)Ê<ËyÄU[VV—¿¹Üî¡ÎupæÁƒ3vCG!¾õÊ)îLMMÀÃÃ#%%¥®®îåË—...ùùùÛ‹¤¤ä´iÓ †³³ó‹/jkk“““,X˜˜heeEÞ×ooïC‡½ÿþÒ¥KëׯWWWˆ‹‹›>}zPPPvvvcccQQѵk× ++«s£íqš›aÞ<(-…Ë—aÃX³‚‚ààWÿÂ05ðð€”¨«ƒ—/ÁÅ:{èAR¦MœáÅ ¨­…ädX°ÁÊ 8†¼½áÐ!(*‚÷ïáÒ%X¿ÀÕ .¦O‡  ÈΆÆF(*‚k×úüÐ#„xVX˜Êbác =]œ‘Z°`ÁÎ;?~lllL”hjjN™2…˜+êDÞÞÞOž< 6lY(%%uòäIÎj...dÉ¢E‹ˆ9*‹uçÎ;wîpÖ§P( .ìÜP{œmÛàÑ#ðò[[€C‡àÙ3ض FŽ„qãøovÁع?†Cšš0e töЃ·7lhh(&&¦§§÷Ûo¿={–84bĈ;w¹éé鉋‹kjjΚ5+44ÔÅÅ¥³¢í‰®]ƒƒaÖ,øé§%¢¢òò0o^ûë»y$!÷îÁÔ©@£Œ Ìž ÑÑÐyCÿßò&}}xö ¾ÿ45ADTT`þ|ˆ‹ƒO‡¶mƒÃ‡ÁÐÄÄ@O~û >=Œwèé¸8hj¬Y }{èB ¶jÕźºº3f :ôY”½~ÉÍÍ º,žm×®]¿ýö[llìÈ‘#K×¢P(6løóÏ?H±küöÄÆBoúÎúùe0555\* ¤ÓŽŽÜê „¸#~Žìíß8pàôéÓ .üå—_DEEWß'%%¥ªªÊ{ý>8#ÕEòóó‰ïÑÕÕt,¨{åçøz„P÷ݾ}û‘#G®_¿¾hÑ¢òòrAG„ZÃDŠ'+W®ÔÒÒzõêÕøñã;”¨¢^oåJÐÒ‚W¯`üxÀ¡G ‚ƒƒCPPPIIÉܹssssú&R¼RPPpvv¾r加AÝNAœ‡!$8 ’’rssKNNt8è?˜Hñäøñãeee×®]SSSt,¨{?eepíàÐ#„JIIéâÅ‹ƒ rwwOMÅ/ ê)0‘B!„zö×_ 4hñâÅééé_>u=L¤B¡^ƒJ¥úùùéëë/]º´¸¸XÐá L¤B¡^…J¥žàHÔz½‰Õôøícz½¤¦„8Z\SL¢?y×Ù_°ØçäWæÓ£è¥íarq2—£]×/w¼DÕu‘÷4ÒÒÒýõWQQÑO?ýÔ¡÷A¢N‡‰B¨×ˆË³?a¿ýîöÃQ‡éQô¦–¦è·Ñô(zim)QQÍÀDŠÁo‚éQti év¾a¼¡GÑ3Ê:?áÞ/w¼DÕu‘÷@ÚÚÚ>>>¡¡¡ä·e èƒßµ‡ê«èQôº¦:ÇÁŽúŠúB!Q!Ñ1ºcÄEÄ•hJ‚­— M5U5U•êîW£ ªß¾ÊÚÚzãÆû÷ï:t¨¥¥¥ Ãé§:–HÅÆÆæåå‘_6‡ú0ooooooAG:™––– Cø*™e™Jtg:Y2VwìXݱ ©7*«-{]øzÍØ5ý¤ß¾mùòåOŸ>ýé§ŸnÞ¼)!!!èpú£Ž%R†††T*uúôé] ê!¼½½MMMíííêL·oßTdVä«‚Wu Ð£è­Ž.°Z ,õÙo§f±Y1ocRKR›[šõôlõmÅEĉC9ïsn$ݰѷ±Ò°zòîÉëÂ×â"â6ú6ºòº­É.Ï~]øº°ªPJ\ÊJÃÊLÍŒ¯ò¿Ï®.£îëâKdB9ïsèQtª(õxÌñÐôP¢‚°ðÓþp1w!vk›j—.͉ålÖF߯g¶U”J6"."îýÈ;*;Ѝp0âà¥E—šXMK¯,-ª." MUM¯,¾B¦JÜckב¨#là¶²˜&Jûaä\*@XF˜ª”ª©ª)±ð:`÷½Ý¬Fb×JÃj¦ÉÌV§p UYRùxÌñ˜œ˜K‹.qžréå%ŸhŸÓsO·Ûo|AüÊ •äS $©tØéðÈ#yŠ—:ýŠŠÊ–-[vïÞíèèhföÙ?<¨‹à)„P/`£o##!s<æ¸çsýN5šzúéé+ñWì ìT¤T@¦ @Sà=*^êô+&&&NNNû÷ï···Á_îݯ5B¨Ï*¯-g±Y‡£·=TÝPMn“ ˜Ôini&v}c|CRCh ãõÆ«I«‰‰ˆQ€rùÕeriAMú“¯µ&–Oµ-¬ª¯êPl­|ý©°Œ°±ºcÉuZ•õ•jÒjDöCÒ–ÓæÜýb¨ ÅÕÂÕû‘wxFødÃÉåµåҌѣ)«ù¹~7Œß0@nÀõ¤ëûB÷ÑÄhC4†8™99vä=*^êô77n´³³»~ýº««« céG0‘BõY22¬Æe#—µ=d dÀc#3JˆHÜýá®"M‘(a³Ù?ûû+W¢ðÛW®‘zÃxSXUÈyoTVB¶¨ºˆÅfqf$¹¹ ÕÍÒíÈã#Wâ¯L6œ|-ñZsKó\˹\ú¢¹Z¸ºZ¸¶°[Þ–¿ Ï ßtsSRQÒO~â1*^êô7ÎÎξ¾¾³gÏþò ¨3`"þþþ¾¾¾ÞÞÞVVV‚Žå=6°ÞÅ?Îß÷¡¯÷|o+ížu{l`}É1þñþ:ò:N¦Nœå)Å)ÄBr^P(aqáÿÞJàã[Y_)G•ëþؾrÔƒô eâÀ‰dÉP­¡7“n{|Œ¼i˜[‘{%þJGCU•R¯7>"+¢¸¦8àu€Ì|¸3dgFiÆwÖßq¾1«m¿«¯­–§ÊÕª-§ÝÄjŠ}›W™7Xe0ïQñR§ÒÓÓŸN‚ IDAT›8qâ… 0‘ê6˜HÁ¼yó†.ØYŸœœœˆˆˆÊÊJΞX0ÏzÞpÝá‚õÉ)ωH‹¨¬ût|{@`}ž–¬Öùç=‚=‹‹Ércc³(X7n]LNLziú™¸3 "$ò›Ão_^ä|©’ bëâšâÄ¢Äã7rZ¨[ìsØ·ûÞî¸Ü¸¸Ü8°Ô°œe2ë·Ðß:ê$ÃIÊRÊ2ç}½vûµ3°û7íß»)w9{ù}Úï¼GÅKþiþüùË–-ËÎÎÖÓÓt,ý&R ­­­­Ý×'öØÀzmmm…žx{l`=ÙŠQ+È»­¾kOUZuݸuäKÀDÕäÎ÷w^ä¿H,J¬kªS“V3R62V5&ŽêÈ묷nˆæ'ÏÈ…êÄ®U.xipXFØÛò·226ú62-ìrÙx»Œ×/)&©(©ÈYøÍ°ošxŒ­Ó…e„±ÙlâœÜ,ÜÆéŽ Ï ¯n¨6P2˜0pBZIÚºqë ÿ[ªÅK¨Âá_§üš\œ,-.m¨dȽߣ³–Ô”<Ë{–[‘K£é)èÖM¾ Ǩx©ÓÙØØhhhøûûoÛ¶Mбô âAV¹¹¹@@@@‡ú¨««óõõˆˆ`³ÙãÇ_½z5N ¹qㆬ¬,Y-,,,000;;[TTtøðá+V¬PUýðÅ–'Nœ¸xñ¢ŸŸ_SS“OFF†ªªê’%K&NœØª/^©««;qâDZZš³³óªU«Ú]ŠqõêÕÌÌL6tèÐ+V(((Àg°X¬Ë—/‡„„0 ;;;wwwò;È~«««?ž““£¡¡±téÒqã>¼§ÎÃÃ#((èíÛ·VVVı²²òöön}ñ*}…BÙ°ao6¯kªó}è‘ÁöxÃñ«'®¦? ‡$†ÜXsC–Ê1¾)aϳK³E…E‡ë _a»BUæãÐDž¸øä¢ß·~M¬&ŸpŸŒâ UÕ%c–LÜf|yh¤®©îDä‰4Fš³•óª «Ú]Š‘qõùÕÌ’Lšm耡+lW(H~~|[X—ã.‡$†0ª ’ vƒíÜG»“wÈ~«ë«GÏ)ËÑÓX:né8ƒã{Å#èEÐÛ²·VÚVıҶòžïÝ60;úâUúþ~~Ûb0555\* ¤ÓŽŽÜê î·Ád2¢¢¢Èÿ£G†††ª¨¨ýìÙ³§±ñÃóÒgΜ9räÈš5k >>þíÛ·ðêÕ+Ζ[ÆcGܯR§«¬«´ý?ÛøÜãð,` òÀˆ´ˆ&ÖÇñe·|wæ»s1CL£ßßx耡U’‘qëõ­Ÿ¯ý\Ûø1òØóþËý݆»u¨‘Àç{nî!þÑoªa m–"±ZXKÎ,¹Ë1¾Ï=C<˽˅…Úߦƒ·CTÇeó?v4Ô#TEZ…ì7àYÀžà=ÍÇ÷ñ™# ެ±[ñyñoËÞÀ«ÜOÇ÷ÓÀxìˆûUBˆ‹áZÃÉï½éýögGŽyùò%ñëu©.O¤¶o߯­­½eË}}ýÔÔT//¯VÃþýûÏ;§¯¯¿jÕ*ccㆆ†û÷ïŸ|øÐÚÚšlgëÖ­í¾(¶¹¹ùôéÓQQQƒ " çÍ›7xðàëׯ3 rzpÆŒdº3{öluuõ½{÷ž={ö?þ°´´$–2„¼ßÇwG\®Òç>5ßš[šÏÅœ“–ŽÙ£)§ ŽæŽ3,g˜ïþt|ÿ=¤&«öì—gò´C3ÔEž&ïy×36+vÌÀã;j±ß·#·œ™ÎHH‹(®.V‘Vá½'+§€•Ÿ_v ý]TXôáO­u­Év¶:ljo|[šOG–•ˆÚ5Hõãe>oðÎÁ×_]gT1È‹3,féÎì!³ÕeÕ÷ï=}ö—?,µ-õ”ô`È€!äý>¾;âr•>÷©Bý½½ýÝ»wþùgAÒ÷ }¹ÊWÈÊÊb2™S¦L!²(‚¡¡áرcÉÝììì’’‹åææ6yòäI“&ÙÙÙÙÙÙݺu RRRÈš ~òåSD¢]VVÖ¡FÜÝݹ\^^>aÂ2‹"ÈÈÈ|®~MMÍĉÉä]]]ÙlöëׯÉÂ¥K—ržHìrVàŽ÷ޏ\¥N—U’Ål`N1™BdQCñã[š]R]Âja¹w›|hò¤ƒ“ìÚÙ´»õú¤rŒïÈO#× e5ejÄ}4×ñ-É*g–O0š@fQêgÆ·$«¦¡f¢ÑD2¹E)E×ÿgï¼ÃšJ¾>~BB zï)"Eš6,ØÀÞ *¶Ÿ»ê®¾®«®X°­º"êZVAE,4E”"èª ÝBï½HQz‡$ï—½FJ¦ÎçÙgîܹg¾37˜ÃÌ™3c2™Ì„"–÷kùåûµ\¬ØÃ}ClF @ pÆ—ŸŸ_TôU{KÜ0°3RMMMÐÝB>iXÔjEEųgϺZÀc} S¸7™L:Þ+#ŠŠŠ]+t,))ɦ+ÍÍÍ]…á%Ø]ŒNƒ€UÀšë߆،R¿ÓÔÚÝ-Tá“FPßRuÏR»{5­,ï÷Ëpoì„2,‰3÷FÅØ¾ß¶&¤rý~Ûš» ÃK°»«€5׿ ±%À122âç犊BÇÅ 4ëHÉËËÀ»wïX  { ÁÄÄääÉ“]-hhht-ì ÷FØoaÀìÄÄÄ´µµñòò²©‰!''oÞ¼a0xÄÆÆÂÝÇxûö-ë²]\\Ö«*6;(¹oh0‘•€w_¾_&#¾ˆåýŠ*U““ º{52ܽ_®px¿¢ !&7¦ÞÆš-°'äDäàMþ“Áº1;6/þë>ÆÛü·¬ËvqyqXsª€Óûåº!à>>¾1cÆDFF"Gj Ø¥=)))}}ý·oß?~œÁ`@{{û¾}û²²²ð:&LxûömFF†……ÅÄÿPQQ æ2²§_Œ€¸¸¸••Uvv¶ƒƒCee%VX__ôèQL×¥¥¥íÙ³Û„Èd2]\\BBBdeeõõõñšNNN˜óùùùÛ¶m€iÓ¦a%T*²³³{Æ}Cƒ‰””¾’þÛ‚·ÇŽ3˜ hg´ï{°/«œåýR%&hNx›ÿ6£,Ãb„ÅÄ‘±ÿT$T‚“ƒ¹Œìé# .(n¥a•]‘ípÓ¡²á¿÷ÛRôÉQL×)¥•¦íñÙƒmBd2™.Ï\BRBdEdõ•XÞï'Ìy€üOùÛîn€i:ÿ½_~*dWôü~¹n@ ¸ÄÐÐ011q¨U|ÿ ¬#GŽ€½{÷ÊÉÉ™ššÊÉÉ:u 6dz œ?^PPpÓ¦M’’’æææ²²²4íĉܯIõ‹pvv¸uë–‚‚¨Q£ôõõ%$$öïßß­#þù'Ï©S§dee±nß¾+gOWTT433ÓÒÒÒ×××ÔÔLLL400X²d v×ÐÐ6mÚdjj:qâÄ;vô¹¡AæˆÝØû`¯ÜN9Ó£¦r;åNŸÂö¦áÙÎ/;/È'¸É}“ä/’‡ Ì™ËýN;x‚û5©~1ÎKœÈ·"o)üŸÂ(ÇQú‡ô%vH츿[G þ\ø'çTð)Ù²¦GMåvÉm¿·þ\ð'k|º¢˜¢Ù13­?´ôékî×L,N4P2XbòßûU2€Mî›LšN<5qǽîÞ/w !—èêêæåå544 µïœw¤æÌ™sóæMqqñòòòØØXƒqûömlI ›†€Q£FEGGÏœ9³¡¡!>>>::º¬¬LCCãäÉ“Xˆ7ô‹044 7n\sssrrrBB??ÿþýû{:IÛÚÚÚßß_]]½²²266¶¬¬L^^ÞÝÝ}ÕªU¬ÕÎ;ggg—žžžÐÚÚjmmˆ ³²²²··okk‹}ùòe§ô½jh™£?çæº›â‚âåuå±y± &ã¶Ãm1 òý÷~FEïž©7³¡¥!¾0>:7º¬¶LCZãä‚“d×ï·?Œ€¡²aØoaãÔÇ5·5'—$'%ðóòŸõyV¬µ­ýöW—V¯l¨ŒÍ‹-«-“•w_ï¾jì—ïwé9;»ôÒô„¢„ÖöVkmëÀí¸0+ +{ û6z[l^ìËŒ—ÒCôª!à’Q£F1Œ”””¡ò3™Í µµ5)) ttt F£P(¹¹¹ªÕÔÔdee1 UUU)))¼<''§  ÀØØ÷½ðBAAÁ>€ÂÂÂììlƒNñàeee¹¹¹"""êêêÜÄKeeea ǵ´´X#uöìÙsòäÉwïÞ((((++wµP^^žÝÒÒ"**j``Г°žêÕ(±§W™Í µ½5©$ tätLíw…—’{¢ËûmªÉ*Ïb0ªªRB,¯¦"§ ²ÀXÕ÷½ðBUA>Á>€ÂÊÂìŠl%ƒNñàeµe¹sE("êÒêÜÄKe•ga ǵd¿|¿>{N|wà’AquqÁ§1eñîÞo]yvyvK{‹¨€¨’AOÂzj¨W£Ô-(³9ñ Ñ/¿GÆÆÆ;vìX¹re©úv™ÍàìÙ³Ø>üÚÚÚ­[·–••mÚ´©kM‘1cÆt-§Ñh4›ÂÞž´“‘‘éÕPª««««s8àIAA5D'¤¥¥YùzÖSC½¥~älÈY+,½xmSíÖ;[ËjË6MèîýRDƨt÷j¤h4©.Ê»+ì­èùH;a<97¨K««Ksz¿¢ ¬™ :!-$ÍÎÕ“°žêÕ(!¨¨¨äç絊ïœ_Ú€?þøCRRRWW×ÀÀ@NNîöíÛT*õ·ß~„¦ƒÀ~Hþ"©ë¨kpØ@n—Üí¨ÛT>êo6èý"_EΧœåË}}º½Œ/‰_î±<(=¨Ïö¿ÞÂË«œWË=–ÇÆ µÎ Gj Gj×®] %%%%>>¾±±qôèÑ¡¡¡X.oÄwÀ®i»(¼””’”øÂøÆÖÆÑŠ£Cw†b¹¼DŸihmˆ)Œ)®)îö²¦¹&¦0æCí‡>Ûÿz ?, 1…1••C-„3ÊÊÊÜ8R×®]SWWŽŽIÝ’œœìââ2wî\lÉ;·+ÞÞÞ¶¶¶ºººÆÆÆ?ýôS·]£Óé<ذaƒ………¶¶¶±±ñÌ™3úé§Ç³&•ìGciïàÁƒû÷ïÏËË«¨¨——WQQ„F‡7n´±±á¸ê÷írÐöàþÙûó>æUÔUȋʫHü`ïwüF›Q6Wýˆ¯„&AóXî¡ ÒãÚ1ÑyyùÒÒÒ¡VÁììl;;;ŽÕþú믿ÿþû¹¥¥%(((22ÒÛÛ›u^¦´´tóæÍXL6FuuuuuuFFFPPÐúõëÿý÷~×?HÛªI$7!Dß%ƒ¥4äxHÜ„}— (%Äà H4S6jˆo qqñ†††––>>>6ÕMU'‚ŽŽv¶Ûÿýßÿ±fšÄÉÊʺ|ù2™Lvrrš1cFUUÕÑ£Gƒƒƒ9âêêŠÕijjZ¿~}zzº¢¢â¦M›,--eddš››ËËËsrr‚‚‚zµéŠ{P~ñm_òß“«W›+›ßzs+áC‰oÒˆI ô°nollkôOñ_üþCÝ*™j¨`¸pôB~‘NFÆ(Œ¹ùæfZyš¿È2ÃeÆŠÆ\–|÷ÝÝâšbEQÅõ¦ëUÅTYäVæú$údTd´3ÚÕÄÕê-Ô–Ñ´îç|ÊÙ´Áè ô°–—×—ßzs+µ,U€,0EcŠ­Ž->ë<×±ž/„szÎiyayn,`äWå?HzVžÆ`2h´E£ÁFjZyšo¢oaM!“ÉTS±ÕµÕ•Ñe­Àq$ƒÒƒ‚Ò‚j[j5$5Ö¯Éú˜u9òòŽñ;L•L{j³&J&·ßÞN.M–¦J;Ù8qlŽý¦[=lú>ÜÀ «ªª’••j-=B£Ñ=z„ýÜÓé>>> cÓ¦MóçÏ …ò×_Mš4),,¬´´ë»»{zzº††Æýû÷ñrÉd²°°°ºº:ž»ßAŽø6ÀbzŒN[¬(EôïùsÙ},FÊ\Åœµ°´®tî¹åõåØe`Z`hf¨‹ öm[ÛõÀG‰õ"öàöÛÛGBŽàžõÜ-ÖÍs•§¾\÷ ÷}} ø5±Îõ˜ëg朱ÓíX»á8’¿=ù ©•óÊ'Ñg©ÁRŽ1IØ›-?úpÈa¬;:2:›ãøéI%à ܑâãã»zõjHHHYY™   ººúÊ•+§OŸŽ½èk×®8qÂÃÃÃÌÌ,11qÞ¼y]MIJJFEEa?744üóÏ?EEE$IOOoóæÍ¬Ç õ;111`kk‹—ðññ͘1ãæÍ›111X¹ìß¿÷¢äH!ˆo‰kÑ×4$5ŽÍ8&#$“\šüwÄßï<6šoĦX°S×›®×‘Ñ‘¨m©Î¾ûþ®K¸ËŸ³þĸźéÊêSŒ"ö*÷•û÷Ã!‡?5~š­3{ŠÆÏ­7·¢ ¢¯Ç^ß3i¼-~{ðéA²ÀrÃåúrúd"9©4É-Îíà?ÌUÌñoÜNÄưw¤$¹=?»'nÆÝTWÛaµCJP*¹,ùŸèÓ½iÞ‹F/×Å®¬)û‹jŠ>=xzöiY!Y.-DD 9³µgO1Q„_$ûS¶W‚vŽx·\¹«Ç¬¶Pµ ñòªò%?ªm®ÅîrÉ€´ŸD /eÉ:}yýÊÆÊ[on]‹¾Æå€Üˆ½¡&®¶Ír›²¨²0¿0Çæ8~`¾Rσ-f544¬_¿>!!+ljjúøñcTTT@@€¦¦&—¦ttt°jjj–.]𙙉]¶´´DEEEGGŸ>} uŠ‹‹[º”ƒ¯9kÖ¬sçÎqß‘üü|2™¬ªªÊZ¨¥¥…Ý€ÚÚÚììlAAÁ±cÇro¶_@Žø–PWõ^íÍG†´ mŒ¶óáçß—¼Ç)1±ÀõO3Ÿ¾Ìyù©ávp!™HŽ+Œc52BbĽ÷°D¬“Ô'¥—§ÇƬ4Z‰ÏlU;öÂØ÷Å9è]c\L†ëbW##¬d’ú$ƒµ÷×ú§øo»¥[©îËÜÙg<æ&,{¤¨R¾k|)¼L’±¢ñÊ»+ï¿¿¹A&J&xÍÒºÒ½{Í86}ätî-¸Åº1™ÌýSöÛÛcõ'©OZk²¶…Þý¦* ñ4%5L=€—ØÛ×µÔa?sI¯x/p¶s¶V·Æ*ØêÚκ>+·²s‚ßn‘¦JãÝ€Ÿüľ9Ž˜¯Ô3ä`çg”••%$$Œ1âÏ?ÿÔÔÔliiÉÌ̼yó&O7;÷õôô:E);w.""ââÅ‹Øå‰'233§OŸ¾yófl‡]xx¸££ãáǧM›F¡P¢#õõõ¢¢¢þDDD ®®>~üòòò:Åœ-**ŠzÛ G @|KØŒ´Á¼(ŒQ²£ ª± »¬¨¯Xæ± _øÃÁ¿È1¦œÆêÄhËhÇÆÌÒž…—ó Ë Ë—ÖulwŠÿO$Ü€Éd2 íôvÈþÔãYÔlzú‹™Z3q§°Y–ôŠôNÕ*ê+ÖÜ[ó?‹ÿÍÑ™Ó+ ‰ùH|«Œ¾8§ˆÈCà¨k©Ûäý9ﮟЕ…W`£ùÆþ;yôËdõÉÚÒÚ4 GˆO«Æq$Ó+ÒE)¢¸×d"ÙVÇö\xÇìEOíbØŒ´aíÇæ8~`8êæ`Ž??¿vÂ=…B111111áô4ÀåË—_¾|yëÖ-ÌCjmmõ÷÷×ÐиpáæÖP(”Ù³g×ÔÔ8::ÆÆÆŽ?ÞØØ¸Û€ñ~§WG³ ½s¤222233»M·øÎ¸zõª··÷P«@ô'Ÿ>}ÒÐÐj_K§(`^^À°\^»ÕUk«k+C•!ÉaOÀžNŽ”0ß!رÐ,“xH­Yg[éLzD^DW=ÝFscôoŒT·ówŽ¥ˆ–Ô–°–T6V®¾·ÚÞØ¾S”:7Zè-"ü"ø䬴3ÚY3RŠR:N:š¥=KGFçqÊcßDßôŠô–ö–Ù:³wŽß‰5Äq$›Û›EùE;ݳiCNXŽõ’cs?0õ s0GŠN§;vìÀéééfffZZZ¦¦¦lŽÙÀqss pwwÇO+,,lnnÎÊÊ–՘L&æÍ`ÿ/))acík R©µµµL&“uRª¶¶„„„@RR>|øÀ`0X'¥p—ÎÐÐp€´¡)D÷ Oèñ%ñ¢Ñ›KoâñÔmõü¼ü_cVNX®•ÞzeÁ•®.…¸€xOO BŒTri2ëeCkCΧiê瓈jškÖÜ_³Ô`é2Ãe}° ',—Z–ZX]¨$Úùïg!>!åø%æŒb¨‰«ýlù3ösRiÒª»«*ê+0—‘ãHJS¥s?åV7U³:+‰¥‰Ü´ÛŽÍqüÀpÔ3ÌÁþ%çáá±µµµ¶¶ŽŒŒLLL 8pà€¹¹ùÙ³g;>ËŠ‡‡‡———‡‡¶‚†Á`00³tz7Ÿí¶¶6˜)•øøø¼¼<Ö¬QiiiØ-1bDvvvttô ‡IõΑÒÔÔÔÔÔüúCOðiÓ&î-F|`‡߈ð‹ä|ÊI/OÇö·W5Uýð{s{óW:RÓ4§¹„»¥휰Ÿ¸ªk©{ôË›Ð-ƒ#’â“èƒM55µ5í ÜרÖ8Kg®Ðþ¾ýí9lvì³·0EcJjYê6¿mgfŸ¡IЀÁdϘè—ì‡Û'ñ¸Ï§Å±9ŽŽz†9MMM€­Ê N™2eÊ”)žž>kÖ¬‹/öt\›··÷­[·<<<ÄÄÄXËÉd²žžÞýû÷^þgLMMããã=z´}ûv¬ËÉI ð5ÊùóçŸ:uÊÉÉéÞ½{Ø4Õà€f¤Ä÷ƒµºula¬Ý »‘R# ·2—ÂKQQ`ÝßÞÌB2Cî¼»ãï©*®*Ä'TQ_ñ¡îAw]ìÚÓSƒ#¥-­ýÛ“ßþzù—´tnen}K½¯üÞÔÖ´Îs]fE&…Dy‘ý‚õ)Ö6»Ëq$Ì|}C3C-.XÐ$h••%µ%:2:)e)}ŽÍqüÀô¯žÁs¤Š‹‹-Z¤««+##S]]ýôéS(,,ìö)??¿Ë—/{xx`ëe¬`Q¾¾¾¿üòËš5kh4_QQÑû÷ïïÞ½{çÎ2™<1R ,¸~ýú•+W”””ð„œeeeVVVrr빫W¯~øðazzº­­íæÍ›Ç'##ÓÚÚZZZúòå˦¦¦ò®#…@ ¾Öš®Í­ÌõLðL-OšíÌì3ÿñ•Ž”¯ÀÝåwO½<å›è›õ±ãB”":Ww®®¬.ûg”y£æMVŸ|5ê*–KULõÔìSÊ¢ÊW•÷®øt=[—5¹ @å£Þ[qÏé™Ó“”'ÕP D¢®¶t™H÷LÞsïý½ŒŠ ,í™H¶ÓµÛg½»Ëq$e¨2·–ÝÚå¿+ócfRi‰‡´Öd­¦¤æï}9Ùƒcs?0ý«gðinn^^Þ/^¼xñ‚õ@˜3§ó戈ˆØ½{7N7nk9žGjß¾}©©©þþþþþþžísLȸqãÊÊÊðK]ÝŽ_«ØØXlJL]]}óæÍÿý÷îÝ»wïÞÝ9pàóþP …rýúõÍ›7§¤¤ìÛ·¯S"""Çï›<özÕmli-í}÷„;v ¥½ïŒþúý-++«¯ï1¨«pq)›9“]>PÝT^‘®"¦Âš +TW•¡Ê°æWå ó «‰«@RiRK{ËÅ1=)¨.øPûa´ÜhÖ _ è º¡Âªmô¶ìOÙMmM²B²2B2¬™-û†Ö†¤Ò$,OU§KÖŽÔ6׿Væ Ô%ÔñPÜÆ¶ÆÄ݇ò`=åh•ƶÆìÙD¢ª¸ª¯Gñ••…Õ…d…nësÉìOÙõ­õ*¢*¢QŸDŸßžüvaÞ›‘6=µØí›å²96˜nõTÔWäTæhHj°‰ûzúå÷[ *..öööNLL,//5j”½½=KÄšÓÍÍíèÑ£]M±&älii¹uëÖ“'Orrr˜L¦‚‚˜1c/^Œí ì)Ü‘ÂðòòºuëVNN…B177ßµkW§ÌR@§Óýüüž|ëÖ­N…ÃDÿ±cQ7n$s®7è [a]9|8òÖ­ÎR¿!ýÄ 3^m¼ÇrAØùýQ\\ÌMâMÄ×Ðÿ»ööîÝ;<×b‡­°®>|xâĉ«W¯f-&ú÷î5——jÝ0l…uåðሉ•V¯þb·×7¤d¤¨RRT©¡VñMR\\<¾8¾oÄ‘êw›ý°Æ%ÃDÿ޽ܦÂd†­0.ùÖõ#ˆaHII —gê!úLÿ;RÇŽ“——···ÇKÚÛÛŸ={–””D§Óµ´´¦M›ÆÏß9Ëð›7o"##kkkf̘!--?ëä䤥¥µtéÒ´´´§OŸ¶´´Œ;ÖÒÒ²“…ºº:ÿüü|EEŹsçÒétgggSSÓ™3gvƽY6Úz‚MYÛ}ÿþý‹/ètº¥¥¥™YÇ—hAA««+ƒÁÈÉÉ9xð Vhoo¯ªªÚ«íU{űcÑòò‚öö£Xd0ž=+HJúH§3´´$¦MSáçïü¹zó¦,2²¤¶¶UA:c†š´´þ¬“S”––øÒ¥Zii•OŸæµ´ÐÇŽ•·´ì<]W×ê_«¨(4w®:Îtv~cj*;s&­«0îͲÑÖlúËÚîû÷å/^ÒéLKK3³Ž|qµ®®I 3'§æàÁŽó¿ìíuUUEz5°½ê øa)((˜?þP«øÎéÿôT*ÕØØOü•’’2oÞ¼ŒŒ ¼‚‚‚‚§§§……vYVV¶|ùòçÏŸã.\¸°víZhnn¦P(vvvcÇŽýý÷ßqµÿüóþH\\Üœ9sJK;Žj—““»r劭­íÖ­[/\¸ÐU—fÙkëöýÅÛÕÑÑaÍ ¶råJ777‰neeÕÉæ¿ÿþ;qâÄ^ ,—ì 6é¨ÔsÆÆ²/^,ùOƧyófdT±È zzÚZXtL&—•5._þøùó¼‚€ï… Ök׎€ææv ÅÙÎN}ìXùß…ôþùg:þH\\éœ9JK;RäÉÉ ^¹2ÍÖöÁÖ­†.XwÆ¥YöÚº…}ñvut$ŽÆë¬\©ãæfC"ñ„‡[YÝídóß—Lœ¨Ô«å²ƒ@éˆoˆ¯ÿ=*((˜}º˜˜Xvv¶ŸŸŸƒƒƒ¶¶¶¹¹9f'**Êß߯ŒºººÅÅÅ^^^×®][ºt©µµ5ÔÕÕÙÙÙ•––jjjN›6­½½=88ØÁÁ£<öf¹ÔÖ«þbÕ"""üüü°v }}}oß¾­¡¡qàÀeeeGGÇÇ«ªªâ1R]ŽqÙû~=m3gúäç×*+ Ϙ¡F&CCóSS?͞훜¼VNNNgΞíWªª*2}ºª˜vvµŸ_–ƒC°¶¶„¹9®³Äß?{Æ š®®Dqq½—Wúµk‰K—j[[+@]]«ÝÃÒÒMM±iÓTÛÛÁÁyÁå±7Ë¥¶^õ«Qâç—5c†š®®daa¯oÆíÛ)bŒUVrt´8|8BUU‘RUíœ#ŽË†Øw@üàÄÇÇ“H$míÓÐ#ú…u¤îܹ“ŸŸoaañôéSAAAhkk[¶l™Ï¥K—>ìëë·lÙ2www"±ãt¸±cÇ:;;ß»w+)//ðàv9}úô5kÖ`ÁÝ»wKJJlllüüüÈd2466N:µ¼¼œ½<öf¹ÔÖ«þbÕ***nܸ±fMÇ1¢ÑÑÑ–––gϞݻw¯²²òÁƒœœh4¾´×ç†Øwðë¹s'-?¿ÖÂBþéÓE‚‚¼ÐÖÆX¶ì±OÆ¥Kïçë›Wºl™–»û,"±#]r\\騱wœßÜ»7û?̵³SÿO§êš59˜Cp÷nZII½šŸß\2™mS§z•—7²—ÇÞ,—ÚzÕ_¬ZEEã3Ö¬éð“¢£?XZÞ={6nï^3eeáƒ-œœ"i4‘ƒ-ú<°Üt@üà$$$hiiu¥Aô/ëHEDDÀ¡C‡°/{àåå=~ü¸Ïëׯ 44¨TêñãDZå'&“Éd2EEEãââp;†††¸7XØSII v À¼(Ø·o߬Y³ØËco–Km½ê/†††îE€™™Ùܹs½½½SRRFÍ^s¯bßÁ¯'"¢‡}Ù//ÏñãV>>¯_@hh>P©äãÇ£ÿC`2™¢¢|qq¥,:epo°°§’’Ž íÈÈ8p`,æE€€ï¾}æ³fù²—ÇÞ,—ÚzÕ_ 1Ü‹33¹¹sÕ½½3RR>ÍÕÎ#.bßAñƒ“˜˜Èåw âkXGªªª h4k!F#•••PQQ£v”””X/©T*´µµ±¶Òiý«ërXoÍr©ŽýÅPSSëô V‚=Þ ±ïà×SUÕ 4šè—2D ¨¬l€ŠŠ&øçŸöv””¾8‘›J혃amEUU„µN§Ë>˜åR+û‹¡¦ÖYV‚=Þ ±ï ø‘ikkKNN^°`ÁP ùþXG KKŸ““Ãú•q(..ŽWøßÿþ'%Õù/uÎçb²¶’——‡Ça—_%½OÚ8ö#77·ÓƒX ÷Yü¹lh ã€œœjí³ë“SÍd‚¸8?^áÿ3’ê|ÈËË ÍÍͬ{âúF´qì/FffæÍ›7Yc¤>|(**ª££ƒ•ðóó³N,õ¹¡ÆÂBÁÍ-éС y^hogìßãÆ)€µµ²«kb{;ãÀ±<<Ÿ”/-m(,¬ã²•±cåoÜHrrŠzøp.//47·³î‰ë}ÐÆ±¿™™U7o&³ÆH=|˜%*ʧ£#•ðó“X'–úÜ¢+ίœo½ùâT€ìOÙÛn£3éýÕD\QÜÒÛKÿËV‹­ýe³'ÜZð±á#—•#ò"&?¤ðRšÚš:Ý Ë sðr 3:!¶0v­çZ;—Z3ð:íŒöŸþ’‚—<Ïzþ2çeúîô^Õ᦭^õ«cU>{»ïz”ü¿L*MJ*Mzžõüú¢ëèLºƒ—Ã뼎€‡Vz볬ga¹a7—Þìäüa°Ã^Õ<{öLGGGQQq¨…|ÿ ¬#µ|ùr''§ððp|sYJJŠ˜˜Ø–-[`ñâÅÎÎÎW¯^ ¶¶¶–‘‘©ªªÊÌÌ|õêÕ¯¿þÊe±eË–9::èééM›6N§aÛ³±ß¥¾Ñmû‹!%%eooÿþýQ£Føúú¶··ÿòË/$RÇëPWW÷îݪU«ÔÔÔxxx°$#DB@b¯õÞ‰#&ò‘øâ ã®F_e5ű—mqì×Z“µkM¾È2ÓÔÖd~Þ\ADAON+I)Ky”üˆL$;Ù8YkX Äð¼ð={^å¼z÷›óMð}÷Z†*ãdãdªlÚÐÚp÷ýÝóáç÷î r"ò¹Ã^Õ&¼xñeÖ‘ÀÒ]¾|+”——÷ôôÄ–áH$R@@Àºuëüýý]]]ñLM¹=VIHHèáǶ¶¶éééééé ++{æÌ™U«Vá±Ø} Ú8öÃÂÂBKKëäÉ“XÉŠ+X—ÿòË/k×®½}û6v9qâÄNŽ— 4¼ °tG—/Çÿ'ƒêé9[†#‘x¬[äïŸíꚈ?¨ @55åV§ùáù¶¶ÒÓ+ÓÓ+@VVðÌ™‰«Và±Ø} Ú8öÃÂB^KKüäɘÀÀŽ5Ü+´Y—ÿò‹ñÚµ·o§`—'*ur¤¸lÑ•Šú šm„祿¾&Ž˜øÍyQà³ÆûáYæ3ö5Ï¿>_ßR¿wòÞU÷Vuºõ:ïuqM±‰’É^ëŽd¶ZlM)K Nɱӵ€šæšë1׉ü¹'Fþ9êIAɨŸ£ze³+ &c_à¾ñ´ñ³´»Oø’_•šRš¬…ZÒZ_]&•&ÀxÚøÇ©Ï‡Ÿ/¨.¡ÊLÕœú󸟅ù…¹¯ÃM[} £"#þCü4ÍiâŸUÍ•Í5$5¼¼ ä ¦hLá!ð„ç…»ÆºÊ ËOVÁê§–§*ˆ|.L-O€¼Ê<¼„ãrYg˜@§Ó½½½çÏŸÿ5Á-îØ¥½A# àĉÖÖÖªªª%%%Ož<©ªªšfVdÒt«¿­;Ì:N5€’Ú~; ¿8øôàH©‘Ë Ø­l ñ @MóéͰù!~!Ö:cÆìŸ²+±Pµ85ûÔ"÷E/s^bN÷uØ·Õ[‚Òƒª›ª7šoì´É.¾$~ƒ×yaù닯Êyˆ‰„Ùî·ÊGż.2‘ì±ÜãbÄÅ'©OJëJe¨2f’‚’’à«„ÜŒ!7u† ÙÙÙQQQ½J%øJ¾G DEE‡ÿVÏ~‰Rú1å›?_c¨Upà»RrÐî³¶ŒvȦ·Eoß½‰-ˆu s;gwn¤ÔHøoÞ¥ÛØ¦6zïNè©ê¦j,¥“ÆÉο£ÏŒ€ôßÒ‰¢Š˜ dTd)|ÊL+OQìRM\ Xgæó/?5|â¾7mõÏxOX¨·°S¹W‚ƒÉpœêˆÏT™«˜Ÿœurî¹÷Þßà )¼”]víš° p_à>%; ¸úæ:nƹo½ëw®^½ª¬¬<~<»Ä­ˆþåûq¤Ä÷Š˜Êû’÷ñ%ñúòúxá‹ìðß÷7÷ D%,%cS[ÓÔ«SøÝw/Œ‘\–ñS6¹ÒlIˆ½‡48`³e1Q2¹uÅ/Ùuõ‹¦7UîÈäb¦l#¥”¥Ëæ8nêpÓV¯È«Ê‹)Œ1R0¢IÐ:ݪnªîZ󃻽…‘_•ï—ìGä!NלÜ!—ã<ÈÉÉyøðáéÓ§Y“H#äH!ˆoƒ™Ú3ß—¼ßî·ýഃƊÆõ­õÞ Þ÷Þß#ÉÖêÖÜÛYä¾hÞ¨y¦J¦Š¢Šmô¶ˆ¼ˆê¦êæöŽ\ó‹ôÅ=‰[}oõÏã~67â*¯/ϨÈðNô^a¸ÂBÕ Ž-Œ­nªf¿ ~ c¤Ä(b]3/Ìq›“Z–ÊztÉ8ÕqòÂò±…±ÇžÛb±…ÄCºõæVpz°ElªæT¬ŽŽŒÎh¹ÑqEqN¡NXüÓû’÷ýS4¦p_‡›¶z…g¼'“ÉìfŽ¡+«”t(ä‘‚‘‡_8ä0ü7O†±ÙgóbýÅF F¼DÞ×y¯BšÛ›W­”–ãr ¹çáÀéÓ§ÕÕÕgÍBñ£ƒ r¤Ä·Á*£UAiAo‹ß:x}qXÞþ)û¥¨½Ø¿™\šü®ø]§Â%[œæšSã“è³Ñ{cç:úK@ULU†*™i|Î+¸x_òÛ¦‡c¡j±gòžî†êÛ&111$$äêÕ«h:jAÃ@ ¾ x‰¼·–ÝÚf¹&Aã%ò ’ÍUÌ]»ö*‰ø¬öYi´R]RŸÄ/F£8æøÌãû¬÷aw ÂÉY']溌S'Â/ÂKäUUšª9õÒüKãÔÆ‘‡xqþEcEc|ýðgÀâ¡‚è_}y:6øÆxòäɼ½½i´Ž|W®\yûö­//ïÐjûaAÁæ@|455=z´®®níÚµUUUæìì¼oß>]]Ý¡V÷ã‚)@ ¾._¾\YYÉd2ËËË7lØ‘‘±}ûö9sæ¬Zµj¨¥ýÐ G @ ˆáNIIÉ?ÿüC§Ó ­­-11qÙ²ejjjÇŽji?:È‘B b¸sèÐ!ƒ_ÒéôÚÚZ2™<„ª€)@ †9‘‘‘Ïž=koog-d2™×®]óóóëé)Äà€)@ †/t:ýàÁƒD"±Û»»wŽdIV~hGêôéÓáÅ‹\Öß³g@xÿþý@ŠB â3¹¹¹XtTW ÆÖ­[ YZŒ@ Ä0¥ªªê¯¿þbŽÂ!‘Hííí4mÅŠ"""ƒ¯ ñC;R»víÚµk×P«@ ¢{Μ9ÓÜÜÌZÂÃÃd2ÙÎÎnÞ¼yÆÆÆC$ ÑÁ½´‡@ Ýâ“è£~B=(=ˆcÍW9¯ÔO¨»Åº ‚ª€ûž~+4µ5­ó\§~Bÿo™Ç²ÚæÚ¡ÖÕŠ‹“<==ñs,wùÈ‘#>{ôèQäE ~hGªkŒTaaᆠ”””Èd²¬¬ìòåËÓÒÒº>xñâÅ‘#GòóóÓh4''§N;)1T8>u|•óJ”"ºÒh¥½±½4U:¶0v÷“ÝC­«/xyíe2™X˜¹˜˜ØúõëCCCýýý—.]J¡P†Z¢ƒzi¯¹¹¹æææåååØeYYÙÝ»w?~üüùsV¯ÿäÉ“÷îÝÃùã?ÒÓÓÝÝ݇@1@ X(ª)z˜ôPˆOè¡ýCEEØb±eŽëœÐÌÐÔòTmií¡Ø+f¤ŒUk¢dÂZÿCí¯/yƒñ´ñXI]KÝ«œW…Õ…|$¾Q²£Xëãƒc o]ð!Ä7ž6^ULµ_zZÓ\s3î&«˜ÜÊ\ÿ1ŠØª1ç“´3ÚÿŽø[CRc†Ö \Ïh¹Ñ쇥yžõœÁd,Ö_Œ7$! ±ÆxÍ©§B2B¾!Gª©© àš­í¿ÿ>SJJj¨å Ø©¥¥¥ýýý………@GGçþýûïß¿ÏÈÈÐÔÔÄjîØ±ã×_Å~^¶lN_µj•··7r¤ˆ%¿*ß%Ü…L$;‡9‡ç†€®ŒîRƒ¥ñ%ñÛý¶Õá5å„å.Í¿„yKm½7FåG±šOqÞE oÇâˆW‚—c°c+½»47˜£3§WÚZÚ[ÖÜ[™‰]’xH{­÷®³¯ÀF¤¬ìµèk/²_ø®ñeµyóÍÍkÑ×î­ì˜ÿJú=à÷º–:¼‚¡‚áÅy¥©ÒøàPx)—#/‡f†bˆ<Äã3ŽÏ×›?Òçž ñ Ýzs+,7 w¤ü’ý.¼¾@ä!ÚéÚ ó À»âw.á.»'î–—uæå6ÃÒ•óáç™ÀdSA€WÀÁÌ¡§»©e©`¦lÆZh®liåÝÄi [H$ÀÓ)Sʤ¤ê‡Z ‚È‘ê //¯½½ÝÊÊ ó¢0H$ÒôéÓ“““³²²pGjúôé¬ÚØØ@VVÖ`ªE ~X\c][çèÌQU–’-®)^ë¹¶¶¹V_^__NŸL"'•&EåGmðÞ²!„ÊGmhiˆÊ%;J[Z[RP²¶¥6¦ æUΫ‹wMØ öí§3è&J&£åFW6V§_Œ¸ØUvºvRT©äÒäÈüÈ#¡GFJľÑ9Š\0zû÷ĉzrz˜Á–öïocEcH-OÝᷣѮ'§g¬h\ßZšú®øÝÖ[=Wz\F}K½®ŒLriòë¼×ŽO§jNâúÊžòx,T,‚3‚ëZê0ka9aJ¢J…Õ…ù6#m ,7 ,Õ,¹–n¹qÎè>a†¤ $Gª¢¡ä…åY D ¼¾œ›ž°¸rÄ7r¤¾ÿ÷¨·ôáAÑšÚš­}D“ a—ŽÁŽµÍµ‡¦Za´¯s#î†S¨Ó£”GË —Sù¨^«¼„ø„Þ¿ùÔð‰—Èk£eS]ô<ë9æH݈»AgзYnÛf¹ {|›å6[7ÛÞªò[ë7BbvéëzìÙ±ë1×1ájÔUö"WY}ûímw'äN`wŸ¤>©nªÞ;y/vy-úZ;£}­ÉÚ½“÷bÿÚ잸{þÍùïŠßEDU‹Uk£·:â«Z{öx'xÇÆNVŸüõ=µT³ H ˆÈ‹˜>rzmsmRYÒ]c\ÃsÃ1G*<7\\@œuùŒý°tËO?qœ‘bs·¥½:-ìb—-ôÎD zr¤:PUU%‘Haaaµµµø¤Núô)¨««ã5ƒƒƒYWñ`Ĉƒ«øA±ÓµÃ½(ˆÈ ˆ••#.2™L&“ m ø! ‡Às=æz×íý>b?¼-zKá¥l·¿¥$ª´Ä`ɵèkÜ«²Õ±Åݰ7¶¿yåMÑ.Eª‰«Wÿ8åñžI{D)¢àñÎCB@b¶ÎlÌ›¢7Dqç„øßlb±Íc7ï Ü÷¦è îHÍ5Ÿ5iâˆ‰Þ ÞeueýÒSlª)­¥¥•ŸŸïè蘔”d``€¯ë€³³3–/((hûöí°pá¡ӎ@ü@tŠž®l¬¤3éçÂÏu­‰…]м”$. n¥f%+$K&‘ @¸÷þ'TÓ\#+$K$|±JIT©Wª:Õç!ð(ˆ($–&r)Ö¯y™óÒ'Ñg½éú¤Ò¤ø’øŸ-&ÉØÝÚ–Zi!i~?ë³Ê¢Ê˜~¼DNX޵6yÓÎhï—žÊ ËÓ$ha9až.M•)5ÒRÍÒ'Ñ'¿*?¥,…ÁdŒSÇÆx§aé–¯Œ‘’”€’Ú-i-¼°¸¦¤¨(d1 Gê3ÎÎÎÑÑÑÿþûï˜1cðB*•úÏ?ÿ°V›?þÎ;wî܉—¬X±Eš#ƒ‘ç ?@˜_¸•ÞºÁlCךê’êð"û?‰?Ð!PB@+g2™7ãnâ'"ü"¥u¥t&ÕÃ(¬.앪Nõ™LfqM±0Ÿ0—"ÀJÍj„Ĉ;ïî¬3Ywûími™Á²ÏÝäþPû¡¹½™Õ—*¨.Àôs)òë{:Nuœû÷¼ª¼ðÜpl‚ÊRÍ’@ „ç…'—&×R]w–nùÊ)mmˆ.ˆÆV31¢ ¢àÚ²‡ø¶@ŽÔçð&wèС   ²²2qqñÉ“';::jii±Öß³g……Å… òóóÖ­[·gÏž¡Ž@ ÀBÅâ~ü}1;];Öò´ò4,&š@ ˆ$ÖeK‘—jšk°40R4z”üèï×ã‹J…Õ…žñž½’ñ(åÑ:Óuø2–[œÛ§ÆOøw9G‘˜ÎÕÆ«ƒ§>~œòx–ö,l;ÆÅ1~É~g_ý}òïXIuSõÕ¨«Ø-.E~}O­Ô¬Ü߸ß~s»¨¦èWÕ_@Œ"¦-­––Zž:Bb„¬,÷ÃÒ-_#5Y}ò‘Ð#^ ^«Æ¬ÂV9?5~ºw¦jNå®—Dïø¡©ÚÚZàçÿüž’’Òµk=† œ8qâĉ```°mÛ¶APˆ@ سÅbKPzÐNÿn±núrúBüBõ3?$º.vUQ0”7Lü8ÇmÎ)ð¦èMri2îE€½±ý“Ô'çÂÏEäGà{Ùøyù{n³(¼;7»é#§KQ¥RÊR"ò"ÂzÓõ\ŠÄªÍ5ÿô‹Ó{÷6·7¯1^Ãj½éú'©O®Ç\+Š3R0ªo©–õ¬²±Ò@ÞÛÛÏ _ßS3e3Éã@À'Ÿ¬Ô¬\c]Ûèm4s–nùÊ)EÅy£æù&úν1w¶öl^"ï“Ô'åõåS4¦ )Äñã:RÅÅÅþþþ ªª:ÔZDQQt_æ¾ÓgRiRRi^®-­9(Û,·EæGf~ÌÄŽÃ#ñŽØ¹óîžÒi´Üh''Ç`ÇØÂØØÂXЗ׷ձ=z„{ëLÖ…å†ù%ûa—XÂ$|oG‘^ʢы\c]  GËfµ¯#£ãlçü{Àïñ%ññ%ñX!–GŠû-Ã_ßSA² ¡‚ala¬ŽŒŽ¸€8Vh©fy%ê t NÃ2@šv¨¢¾",7ìöÛÛX‰±¢ñŸ³þÐF?2?¨#µyóæ+W®€•••ŒŒÌPËA œQSÙf¹ÍPÁ°S¹ŽŒNÀú€·Åo“J“šÚšd…dGJÄbe@”"ê¿ÎÿyÖó¼Ê6~t wééî)ýåHaGµÈ Ëo4ÛøõûÀàôøþ@Ž@ôˆ¤€$~ JWXs¬ fÊfÛ,·ÉÉÌÔš‰'Ddú·§=´!ßÈ‘B ˆ‘¢J±q/ú 3e³ÞËÆ‘þí)æHõ—5b8ƒ62 @ôäH!@ôäH!@ô‘ÞÅHEEEqŸHñ-³`ÉPk@ô3QQž@ ~(zçHihhP(”Y³f Ä0ÁÙÙyíÚµ††hÇÍw…«««˜˜ØP«@ ˆïŠÞ9RgÏž 5ˆa‚³³³¡¡áÌ™3‡Z¢?  R©C­@ ¾+PŒ@ DAŽ@|3¼ÊyµÜcyLaÌP A  G @ ¾**b c*+‡Zè9R@ }9R@ }äG?kïþýû—.]rvv600j-‚ñ%ñ'ÿ=¹Úxµ‰’Éí··“K“¥©Ò»&ìúŸïÿ¬5¬×›®ÇªEDŸ ;')(é2×+©o©ßä³ÉJÍjóØÍƒ&ÌÉÆ r+s}}2*2Úíjâj õjËhã6¶5ú§ø¿/~ÿ¡î•L5T0\8z¡¿«ñ ô  ´ Ú–Z I5ÆkB?ø~ GÊÝÝýúõëçÏŸ×ÓÓà _¾|Y]]=„Â7Ô4×ÄÆŒ–}8äpy}9èÈèˆRD?Ô}ðŒ÷Ä©À´@,û·šßD 2?2º ÚV×¶'˫3èlš¥ˆþ=ÿï^ €;ïîzzˆÎì°ü*çÕí··Ú]8z!T7UO¸4¡¡µ·”t=æºç*OE‘޼©¿=ùÍ'ÑÜ'Ñg©ÁRNã„@ •È‘ÊÏÏùòeMM ká’%KŒÑtñ­p#ö†š¸Ú6ËmÊ¢ÊÂüÂ`©fy÷ÝÝ’Úyayx÷ÚDÉ$¶0öuÞëÅú‹ <7,U-{²SÃÞ‘’”ì­°·Åo>=(@Xn¸\_NŸL$'•&¹Å¹ýü‡¹Š¹¢ˆb½—È»Þt½ŽŒŽ„€DmKmt~ôÝ÷w]Â]þœõ'¤ø$úPx)ëLÖéËëW6VÞzsëZôµ^X~ Gª[””””””†Zàiª´ï_ //±Tµ¼ûînxnøbýÅ%µ%¹•¹›Ì7Õ4ׄå†u8RyáªbªØìT·¸/sg2™lå%òöVØO~b0®‹]Œ°’Iê“  ÖÞ_ëŸâ¿eì1±ÀõO3Ÿ¾Ìyù©áS½ ÈDr\aVß+Þ œíœ­Õ­±[]ÛY×gåVærƒ@ ~v¤ž?îíí››ËËËkll¼iÓ&¨¨¨Xµj•Juww§P:þ¡),,\·nŒŒÌ7H$›Çq^¾|éãã“- `dd´iÓ&qqq8zôhHHˆŸŸŸˆÈçð¬ðñãÇT*uçξ¾¾ðóÏ?cu œ»ÆHÑéô{÷î•••‰‹‹Ož522’’’Z°`ÁÆ………]]] µµuÑ¢Eoßþ{w×ĵÿ ü„°¾„ »¢€Ê"‚ZEªµ*jÕkjµjÝ«u_ð^­(¶Z\«[—Ö´U¬h© €eD4 l²‡$Ïã377@ˆ)(i?ïWÿHΜ™ùÎô|œ9sæÞÍ›7UUUe¯N …Ó§O?~ü8Ý!:::<<¼¢¢‚ÉdfggÇÇÇ É’¨Æ––BÇ{òä !äÁƒ’}¤ÆHÕÕÕ'&&ÒN:µgÏž¸¸8SSSBHAAA||ü¯¿þºvíÚúúzªÏ±cÇN:5a„öNNuuõàÁƒy<}hgΜ±··—¬™ÚrtttXXXSS!¤W¯^ÖÓáÓ[>sæLXXXss3Õxäȑݻw/X° ½šº's]s©]MÝÞf½“Š’DbÑ­‚[Æ6ÇßÎ?*%*ãyÆCþCBˆ¿¬6üÅ1RmVß\/ o?¹Ýºg£ ‘ùgdIuÉÛõúˆÃæ¨3Õ ƪ˫è ÕØÒ¨¯©ßºÙeÀ;ÖiAjûöíGår¹óæÍsuumjjúý÷ß:4eÊ”‡ª¨¨Ìž=;))éÈ‘#~~~³fÍZºté;wvíÚåçç'Ïê›7o>~ü¸––Ö_|áííÍd2ÓÒÒ8 û‚<í›o¾‰ŒŒŒŠŠŠŒŒ¤›ëë·ñûhÍš5‰‰‰&&&+W®tuu}òäÉŽ;222æÎK]Т¬\¹rÔ¨Q¡¡¡l6ûâÅ‹?üðÃêÕ«e©Õ«Wóx³Îeœ‹{ç·ÇkÄ­¨¯(­)íÉéIݬ€n¢s‚Tmm-!¤¼¼üúõë­—Òc‰!jjjL&“bcc£­­-çê „cã·»º.ʺVßZcc#!„½.‰j¡–J¶ÐÔÕÕeìŽ*¾õDúÚ›$+++ê‘Òf%RP¡jPvLÓÇÚçzÞõþÖýéßþvo‚ÔÀß}IZjZ¿Lù%">â\ƹ¼—yT£>Kÿã^÷2ëE™á=£°¢ðtúéì²lB׈ûͨoÖ_]O)›stòÑå—–?~ù8óE¦ªŠê ¯NÆN«¯¬~÷‡íéœ eiiÉ`0¼¼¼¶mÛÖz©££#õ¡¹¹944´¦¦fܸqçÎÛ¼yóúõëåYÅb1Œ»wï 5µ6®±S)¡¼¼\2leffJöa0„ðÍÍÍ !iii"‘HEå¿/ÏIII!„XXXÈ82P+Þ¿_²Q$ÑcÏ[)=ò8åÞ½{’÷4SSS !’ɺ¹>æ}NL9ak`ÛæÒõAëgzÏ4Ó1£[\M]žú³X,ö°ìÚ‰âÚ+Œ­ÁÞ4|Óºaëò_å7ÌtÌ8:zD“ÁÜ2rËWC¾*ª,ÒÕÔµ3´#„lÞÜÔÒDo¡§×•YWò_å×6×ÚêÛê³ôËkËOL9áhìØ¥Gòëœwí <øÞ½{=òóóòÿÙÚÚ^½z•¾áµdÉ’”””o¿ýöôéÓƒ ‹‹‹“guCCÀ€€üüüY³fUT¼yíymmí–-[D"!ÄÞÞž²k×.êkKKˆ ¤ò5@~~~{GabbÒ·oßœœœU«VQÏÁ‰ÅâÈÈÈk×®™™™¹»»+vrLLLÜÝÝïÝ»·uëVº¼µk׿ååu¸b‡õÈsà”Í›7Sá‰RTT´hÑ"BÈðáÃ;(€wOŸ¥ïcã#•$YéYùØøH¦ƒámíícãÃdH÷~—…©1Õ\L]<-=ÍuÍé%¹®»…;•¢!nfný¬úIõ±7²w7w§†œ›°M|l|¨áêÐtÚK‹wïÞ­­­=gÎccc___333.—NÝi:qâÄþýû'Mš´`Á&“yòäI‡3eÊ”’’yVßµk—––ÖÑ£G---ÝÜÜÜÝÝŒŒÖ­[GˆÉ“'³X¬ƒZ[[ûøø˜™™mß¾]*úxzzBæÌ™ãíí=dÈ%K–´>ŠíÛ·«¨¨DDD˜™™y{{›››SÃá·oß.ç¨ö6ýç?ÿ!„¬Y³ÆÜÜœÚlDD5ØœºÑÙžë‘çÀ)VVV>>>...îîîNNN“&MRø  Ó‚”››Û;wBBBêêêx<Þ;wø|¾££ã¶mÛÔÕÕ³²²æÌ™ãââB?ìfffvêÔ©ÊÊʉ' Ù«B<==oݺ5pàÀÆÆÆ¬¬¬ôôtMMÍuëÖQAÄÌÌìðáÃzzz¥¥¥wïÞUUU=w››d…Ó§O)))ñññmÎ>0lذK—.988TT2V¦öIDATT¤¤¤ðù| ‹cÇŽM›6í¯œœÑ£GÿôÓO†††eee)))"‘èøñãÔm5ê:Y{:¬Gž§|÷ÝwcÆŒÉÍÍMOOonn6lØ•+W¨s ŠaÈ9…zªŽ~>¿MÕÕÕyyy"‘¨G&&&Tã£GJKKœœ¤Fñx¼ÊÊJwwwzäu›«Kâóù………zzzRã¥322TUU{õꥮ®žÍçóýýý%/&•••åçç755éëë{xx<}ú4??ßÃÃCj,v^^5“¸‹‹‹ä¸¥‚‚‚âââþýûK ªÑËË‹>ߦææfê¦[Ïž=E"—Ëe±X………2¶Üa=òøªU«¶mÛvÿþ}gÏž[ZZÚØØÈ(•Á`DFF†„„ÈèJgÁ‚l6[öϯ<ø|>õ€H{ì##ù!!²ú€lø9z_Ølö[Í.ÔùïÚÓÓÓë×Oú¿“““ä3ü´Ö7¡Ú\]‡Ãiï555%çGpuuuuu•êcjj*9IA{ïÚsppppphÝÎår¹\®|ÈãñêëëûôéGM¶J W¤Þ‘°°°uëÖ=yò¤¼¼ÜÂÂÂÖ¶í¹pºÂçŸ,ãÎ (AêÝQUU•=Ô©‹È3„ €[{ BP‚€‚¤º£³gÂbscßw!íJ(Hpw8’rämWìþ‡ ?)½õS{ÉÉÉÔ‹bàï-**êòåËï» èL<ð÷÷ßUü­¼]0`@ÕÝŠ•••ì*ƒÒñ÷÷Ç0@çz» õå—_vQ²õþ¦wƒ ¡uûÕÙWíì !-“þ–ýÛÓª§êªê½Ízîûy€]Õ-¡ aæé™k‡­õ´ôÜþÇöŒªØ°vØZ}ÖßY.‹£Ó£O§ŸÎ-ËŠ…v†vŸx|2Õs*õ²pz#®¦®ß$|“S–£§©÷¯¾ÿš;`.!ähÚÑciÇžU?³Ò·Z°t¤ËHz³²k#„Ô4Ö|›ðíÕGWkkù/j}¤²kë žsÊí'·wÞÚ™ÍÏÖR× t \>x¹¡–!½TžCP^˜”˜)ÛÔHˈ" þïäÿ¥•¤QíÍÂæ¤¢¤äâäMÃ7MñœB÷Ïx‘q3¢YØLi4œÏ<_R]òËÔ_¨¥b±xù¯Ëc²bèþ9e9a¿‡eó³·ŒÜB7>(}~#\(RÙ¿CCU£¼®ü`òAªCÁ«‚Å1‹{öp5u•§¶¦–¦©?OÍ.˦:d¾ÈœsvNˆKˆä‘ÊY›çíÎB‘PÆ 4Ö6N^˜,£Ckô9§Ü{v/üpj/-§y§ÓJÒÎO?¯¥¦%ç¡(5)PË2$¿Þ*¼µöÊÚ'ýH]O:vïXZIš…®EØð0okï×M¯Ï¤ŸÙóçž-×·9™°M¨µ.f]œâ9å3ïÏ8:œ¬YK/.Myš’ÍÏvå¸Bb²bb²bœMœW|°ÂÝÜ]CU#óEæ¿ãþ}Šw*´O¨§¥'µ‘ß²›á5czÿé†Z†ññKb–D&FŠÄ¢­![‡9 Sa¨ìOÚøîᨻQ£"ä©íhÚÑì²l®7,(ÌÃÒ£¢¾âPò¡÷OH¯œµ½ËsN¹’se|ïñ_ø}aÊ6Í|‘ö{Xnyî÷Iß/´”"Ï¡(5)P>ÉEÉk®¬9<á0×èÍë.g_&„D~éaáAak°ù/*«-;ùàäõ¼ëŸx|Buó·óÿ÷ˆSŸûYõûÜ÷ó°ßÃrÊs¨ ÍTa™tÄ”mJõñ²öÚ9zgðÁqãè°2ˆ;hí°µÔç`çà@ÇÀØÜØ5ÃÖLèóæAœCVœæÎ{•'gm±9± cïØ½ŽÆŽ„-=­M#6VÞ~r›>d9k“’»"÷¯éÿj}Î)îîá!áÔíE/k¯ã ŠÍ¥‚”<‡ Ô¤@ɤ•¤-ÿuùÁЃN&NtcQe‘>KŸJ*´¡CO>8YTYD·øÚøJv°Ö·&„Ô5×Q_—?Š„û!b±XLÄÔBHiM)½–·µ·äF,t-!^V^t S…ÉÑἬ{)gmEUE6‡Š´Avƒ$Ó†œµu‘6Ï9Å¿‡¿ä -k}k;C»ÂŠBê«<‡ Ô¤@™ðJy‹cï»·'§§Ô"éx̵†ªFëU¨8B‰E„6 „‚v7Â`´¹e‘HôVµÉ&gmR:eŒ”ŒsR 4òÎ??ÿ»1ß¹[¸K-²5°}Pú€WÊ“\t3ÿ&µHÎíÛÙgñ³n/¸­£¡ÓI%ËU›­¾mú‹ôÇ/K^¹I(LxµuHÆ9§$>I\°„¾(õ´êiaE!}Îå94¥†™Í@9<*4ç윣vô³ê×ziˆk!dqÌâ›ù7k›j_¼~±çÏ='œTgªs&ç.&¸Oh4|zòÓy7*ê+BÁ³êgäý1ÿüü¿r+ªÃÚ‚]‚Åbñüóó“Š’êõ%Õ%¯n”Ú£bµå®ÈÍ[•'ã?Ù—£dŸs ¯”·úÊê¢Ê¢ACjIê¼sóZD-ÁÎÁÔRy @©áŠ(Wõ¯>=ùé˺—ÿúå_R‹¨9¦õ›{ïÙ½YgfI.]¸Ž~d¯CãÜÆÝ-¾{6ãìçÑŸK-šä>Iáâ;¬íÓ~Ÿ^̺˜]–=í—iÔ"ƒñ¡ë‡¿eÿÖÕµÉÐá9§>;ŸÏ<M/µ7²Ÿ3`õYžCPj¸"J ¬¶Œ»Ý&5¦ÚÑÉGù/âqÕ˜jÚêÚ¾¶¾Q£$'‘êƒÁØöá¶È#ö¨§©§ÆT³Ö·r Ú?nÿ@» ßamª'¦œ˜ê9ÕXÛXCU£'§çþqûq½ƒÚdèðœSúYõ;<á°»…»¦ª¦Ë`BŸ ¿Lý…šDJÎCPj z”%€<ø|~mm­Œö‘‘üY}@6ü½/l6›ÃáÈßW¤„   )!H(A @AR BP‚€‚¤„   )©¾ïþ&ÊjËN>8écããcãó¾k‘%‹Ÿ•S–S^[®ÏÒ÷²ö²7²—ê°?i¿@(jüÀþƒÞæ½¥[D-ÉEÉ_>VcªyXx¸™¹Ñ‹ªªŽ¦%„XêYŽï=^jÅGåbsc !ý¬ú ìÑ%/]x7¤:ÿ5?21r‘ÿ¢n¤näÝØr}KQe‘dc°spĨ–‹nÙw{_ƒ Aj]cmc© •Z’úÕ¯_=­zJ· ì1ð§O~¢>W7VG&FB4T5õ4õ$×ý>ùû˜¬BÈß9R Ô¤:G‡ÓS!äA郢Ê"737GcG¶IÁ«‚y7bscYj¬ˆQ’=ÍuÍ'ô™ ÙÒÛìRT?kÆ© ‚®7À.@CU#õijrQ²Ô­õ­ŸV=ý5ûשžSéÆ×M¯¯æ^µÑ·)®*îìCxפ:‡)Ût‘ÿ¢÷]…,Ž¡}Bmômè–[…·>;ýٯٿn¹E©N·[èZÈ>–5—×4¦zNÝ´©Â¤Sž¦Hus6qÖÕÐ=Ã;#¤.=¼ÔØÒ8¾Ïø ;;á¨Þ+)PmÜ!„Lë7Í€e@}~Ýô:¡ áiÕS U 737/k/º[QeQLVÌ î  ;ÅwÒŸ§k¨j âêaÐCjƒB±0éIRnyn‹¨ÅÎÐn0w°†ª½T Ü*¼U\U,‹m lýzøiªjR‹¤ÆHÉS°ì}uº>æ}¤Zì¸Fܼ—yuÍuê,õ6×jíAéƒ,~–•žÕú õtŠ"„HžpZhŸÐM×6å”帘ºP-ÑéÑ®¦®®¦® @÷‚ Ê¡Í;„Ñ=GS¹$67võåÕ¯›^Ó‹<-=÷ŽÝkÊ6%„UE&F²ÔX’Ä=Ž£:0U˜[Gn×{½ ¯”·8fqIu Ýb®k¾Ü~j5¯”7÷ÜÜòÚrz©±¶ñwc¾£’“Ô© –½¯6íNÜ-&bgIKMk–Ï,¤Eª†*s]s:ÛQ 1Y1¥5¥,ƒÖÒ©[x£{Ž&„\ι\\YlÊ6Äd¬mÜzõúhë­g3ή¶–ò¨üQúóô Aä/ ;Cåð…ß’xšZšŽ¤™Öoš¡!$»,{IÌ’QKoóÞý­ú×6ׯ=Š»ÿìþüóóOÿë4ƒÁ ÖŠJ‰ªmªÓk G‡“õ"ëÏ'nü}cSކ!äYõ³§gÔ4Ö¸[¸»›»««ªg¾ÈL.Jž=ûÚìkl vøáåµå®¦®¾¶¾ª*ªO*Ÿ$&>*Ôæ¸(Ùw¸¯6OžÛ{„"¡Œ³d¬müVAêHÊ‘—u/7o–jȸìÒ2úk°sð¶·i«kS_‹ªŠ!æºæcŽŒÉ-Ï¥5T5Ö [7Ùs²Ô¦ô4õ‚œ‚.d^XùÁJUÕ3égÔ˜jõüèÞ³{ò× Ðm!H€r˜7`ýY Ì=;w¢ûÄÕCWS-?Üù¡EÔ2ÃkÆš¡k¨Ø´bÈŠq?»ÿì~rqòÛôŠWf]±Ò³¢¾®º¼*:=:åiÊP‡¡„ƒÉkk6 ß4µïôü˜úãæ¸Í^œâ9¥¢¾ÂÎÐ.fFŒ ãÍ$|õõ Üá¾ÚÜæ¿^‘’±TÊõ¼ëñ£\G}âñ‰d;ƒ0ÜÌÜz›÷f©² * nÞŠÍm6 =Hu¨o®'„H:PÝXÚ'TŸ¥Ï+å¥K_þ:º3)P2B±pQÌ"ŽgcÐFº1­$É`.¼Œ¾ødÀ2˜;`îÚ+kÓJÒè 5Îm¢!Cì‡D§Gó_󩯷‹n3ÌŠúн·÷ŠÅb±XL©ÔB2žgO2ÂyDÔݨӼÓC†Rw µ µ (¸Ã}µi¡ÿ·9U²\ɹ²ôâÒ¡CwŒÞ!µèØ”cîæîô×l~öÔ_¦ÞÈ»As¢rÕ5×]þì²¥ž%ÕíÛ„o÷ÝÞw4õhë 5°Ç@s]óèŒh1W6TJ= Ô¤@™EÂ¥—j«koÞLg&BHMS©Ž)=î›B=žVÝXM·˜ëšKv ®ß´ˆZ¨¯õB±ð»ÄïZï—zµ$`‰¾Í…¬ ›ã6k©kyZxŽqâ¢@Áî«M5Fê4ïôºØuÆï³KUEúdŠ"„¸r\Ǻý)õ§,~¤¨äD§(BÈL¯™ûnï£ïôIRa¨Œuû}ò÷¯ê^qØ;ÿ+PR 4DbÑÊË+ !ÛB¶Ñ7×(ººÏkž7¶4Jf)jš"©© eÐÕÔm6Ïö™Ýz‘ƒ±!D…¡Ú'4´O¨H,zRñäü?¾¼øeÖ‹¬¯†|õÖw´¯6uʩ¸â²sÌN&ƒ)»s›zrz¶·H2,J íº?iúóôyæI ¥† ÊA,¯‹]W×\·gìžÖþûYõ‹ÉŠÙ™°“„TÕPu0ù µHÎ]øÙúâ²5°ÓkŒd{NY5ý¼?q1U˜* ®·‡aciÇÎfœm3HÉ.¸Ã}µé¯‘ÚöǶCw}Ô룈#ÚLQÏ3¬ô­$âËæg_ȼ@$òÓ »Ašªš×][8p!}Q**%ŠÒÞ¤6ú67T6T†ö •]!€rAå°éÚ¦‹Y§{Mßûç^ÉvjZ¦Ï¼?û-û·Ãw§–¤öµì[ÛT{=ïzE}…‡…‡¯¯œ»˜ç7/67vÙ¥eGRޏ›»ëhê”×–?zù(ãyFÔÄ(K=Ëùçç° úZõµÖ·ÉÅÉ%Õ%ôôHoUp‡ûjs›qŒÔþ¤ý‡îÒÕԵѷÙ{ûªšì1Ù„mB‰Íý1õG__u¦zAEABA‚P$ÄD‡$¶{¶ïì݉»?Œú0Ø9˜lÎTaÎôžÙÞÞ§õ›öWŠèž¤ “µsoç/É)Ë9~ï8!ä@Ò©Eº~hÀ2èÉé¹k̮՗WóJy¼RµˆšGª½›M­YéY›|lÙ¥e™/23_dÒí®¦®T²ê0ôÚ£kWr®H®òõȯ(¸Ã}u…âÊbBHMcÍž?÷H- r ¢‚Tó>zšzññ’KG8 —lY8paÙë²S¼SÑéÑT‹–šÖ–‘[¤ÆWbÄbBºæG :‚t2--Q}}'ÿ0Ò2jï%ôCsÁÎÁ~¶~ … %U%êªê½ÍzKN´mk`»È‘§åÿ<G5JÎ÷Ý“Óóòg—ï=»—ù"³AÐ`¦cælâìÊys%fÏØ=åµå©%©O«žj©kÙÚ °@ø‘|מ<ËÞWWt ”nO3Öz3—æçNw‹ïæ¿ÊÝôÚDÛÄËÚËÖÀVª¿ CeËÈ-Ó½¦'%×6×ZèZ æ–œÔ@OSo‘ÿ"®·½bì íù/’ÿÆë?J] !„ͽïB c ê™[9ñùüÚÚZ‚‚l>úèõÂ…•ï¬$€¿™ü|õ#¬/]zêêÚü¾kùÇa³ÙGþþxt:™³ssVV¾0ào/3S]UUlo߯»¡»A€NæëÛ”Ä0¾@A Z}û6ª«ã–‘@€NXר¨ríšöû.@)ÕÕ©ÄÅiQ÷¾ ¹ H@'33k2¤îða}ŒÀPÀÏ?ëŠDŒ?nw‚{èV¤ ó-_^‘™©~þ|»K@›^¾dîÛg0{v•žÙSRÐù›?ù¤fÇ£ÚZü’x ;véèˆfÏÆC¯J¿ã K,]Z)‘/¿4áßÕò9wNçìYµk_²X¸/®4¤ Kèë zž”¤µm›Ñû®@ ¤¦j®[g2wn%†™+)è*½{7}ýuYT”~d¤!žÈ’¢9w®ùСõK—V¼ïZàíà1Ð…F®­¯WٸѸ°P-<¼LCy @Ú¹s:kך V¿c_×7” þ@ך4©&*êyB‚Vh¨ejªæû. yù’¹j•éÊ•¦Ÿ}Vµ{÷ MMüKCù H@—óók8w®ÄÈH8y²å—_ržB¡¶Â|!„Bm…ùB!„Ú ó „Bµæ!„j+Ì'B!ÔV˜O „B¨­::„P§SRRâàà@l»»»›˜˜4S955õäÉ“111l6{ðàÁ²²²þþþпÿýû÷ÿŒˆB ó „~ ³gÏÎÈÈ€… :;;7_¹®®.((ˆØ...n¦fvv¶©©)gqqqEEEbwü ƒÐ¯?íýÞ¼yvvvwî\IIÉ‘#GrrrLLLV¯^M£Ñ***Ž?þüùs11±!C†,^¼XPPðüùóçÏŸ'.vÀ©S§@^^ÞÛÛ›(|þüù… ²³³555—,Y¢¢¢Òb0OŸ>ý믿¢¢¢È—ÖÖÖõêÔ›?QXXxõêÕׯ_çåå ëèèŒ3æ·ß~£P(m:.¡Î€ê"¢££ÉOîÁƒ………É—êêê FFFœŸnkkk‹µ}ûöF?û***D³»wïæ,òôô$_6̵k×ZüõbkkKÖ÷õõ•””lXÇÆÆ¦¨¨è'=„P»ÂûEê’vìØáæævãÆ ÈÈÈèׯƒÁ¸qãÆ®]»ˆ:Ïž= ˜3gN`` ššQ¸`Á‚ÀÀÀÀÀ@âäDHHȦM›ˆ·ÆóæM77·õë×·€M`` ¹¹9ñrÔ¨Q_ÙÛÛ׫1}úôÒÒR°··÷óó;zô¨¬¬,<}úÔÉÉ©í!Ô±ðzB]Òš5kV­ZÏŸ??räTTT\½z•¸·ÓÓÓ3-- ¢¢¢F­©©)**J쨭­Íyaâøñãl6444üüüøùù@@@`ÅŠÍ@£Ñh4‘€¢¢"ÙìåË—ëUþ÷ßëêêˆ^nݺEÜ÷A£Ñ¦L™<ˆˆˆ055ýñÃêhx~¡.ÉÒÒ’Ø——'6¤¤¤È…"h4±QPPÐ|;Ƶµ5‘L€­­-o£ %[&o"9rdà ¡. ó „º$òÄß—Oq=Èw™L&±Aœ{hFUU±!..NJHHð*NBeeeÖÅÄÄÈàÉ ¡. ó „~iªªªÄFrr2Y˜””Ô°æüùó­­­­­­O:ÕÚ^444ˆÄÄD²0%%…ÅbÕ«€ê¢0Ÿ@è—@ΟÈÍÍå,3f ±ñèÑ£¨©©Ù³gO‚‚RRRZÛûÔ©S‰¼|ù˜LæŽ;ˆB)))Îk¡®ó „~ ýû÷'6>lnnnmmýï¿ÿÀÒ¥Kutt€ÉdZYYõë×O]]½¬¬Œ·½/_¾|èСD/ÖÖÖ&&&êêêW®\ …rìØ1)))ÞöˆúÉ0Ÿ@è—°mÛ6ccc`±XÄ™biK r)*ƒimmÝð6yüøñ¦M›äääˆ^rrr(ÊàÁƒŸ€ŒŒ ‘ÄØlvbbbAA¶¶69«!ÔÕa>B¡¶Âë!„j+Ì'B!ÔV˜O „B¨­0Ÿ@!„P[a>B¡¶Â|!„Bm…ùB!„Ú ó „Bµæ!„j+Ì'B!ÔV˜O „B¨­0Ÿ@!„P[a>B¡¶Â|!„Bm…ùB!„Ú ó „Bµæ!„j+Ì'B!ÔV˜O „B¨­0Ÿ@!„P[ tt¡.†N§———wt¡v§££Ã}eB¡¶Âõ1BƒÍ†¬,ÁÌLÒR~6»££A¨ëcõèÁÔÕ­ê€O桟ŠÉ„gÏÄîÜñB´¤O‘"Äcüüìþý«Gެ˜8±LJŠõÓú¥°ñï„Pk´åùOžˆýó\F†àÀU¶¶•ýúUkhÔII1ù0¯@¨Í**ørsù?|~þ\ôÑ#1‹²`Añ‚Ÿ©Ôü¢oÕó;0Ÿ@µÎåéé‚Û·÷xùRtܸòU«Š44êÚ#6„¡¢‚ïêUÉ£Ge$%Y[¶ŒYñàóÀBKHÕÑQµ°ÿÚµìè˜L ÔÞÄÄX ?~œ1dHÕ²eŠûöɶ÷ÙÌ'BíËËKrÞ<%KËJŸl3³êŽ¡_HÌ={òÜÜòΜ‘^±B±ºšÒ~}a>jGwîˆoÙ"¿tiñtaa¼ºŠPpt,»x1'4”ºv­«Ý&hb>j/ÑÑ›6ÑæÍ+^¹²ˆÒŽ!„Z`n^}âħ§OE”m§.0Ÿ@µ‹âbþ ”®Ü°¡°£cA™Yõ®]ù'NÈjÊðñÁyx/(B„£cÙ¤IeÿÝ£ªŠ÷' ñƒŽâ½ÄD¡ë×%×­+ÿyËé „Z´n]aYßéÓ2µ %9YÐÀ –WmâóÊB}àÀ?VUUut8¨»¡´ê”±¾®ù3‘—^ÏÝ»wgÏžýùóçzåëׯwss#_º¹¹¹¸¸/…„„Ž;6þ|âe`` 1÷“›Öâââ ˆmOOϵk×r΄ؾ}»««+±½gÏž7¶Ø)ú xõù¥ÓéåååÍTÐÕÕñð ÛÛ7W!Ô±¸ùœêèèpß ÎŸèò"##'MšD|ýÏœ9óöíÛÇïÑ£ìÝ»—XBBBÈïõÑ£GûùùýóÏ?k×®ý±Ö8­\¹rùòå7oÞ´µµ%JvïÞM¤!!!›6m" ÇóæM77·õë×óú „ê`x½£Ësss«­­€áÇ_ºt‰(ž7oüý÷ßË–-£P(Ç'ÎE©ªªÞºuKPPøøøê=m’ËÖ8wY²dÉÎ;ÀÐÐP__jkkãããHvª¡¡áççÇÏÏ+V¬hÏC‚BègÃ|¢Ë#Ÿ ŸœœL^;(--%6rss“““uuu#""ˆ"™€Q£FýXkœ»Œ3†Ø ÑhdaAAZ[[ɧ1Bu˜OtyÄlmÈÈÈÈÈÈhX¡¨¨ÈéWœëÕ4\»†ËÖ8ÉËËßþ9§%ÈNÉ%ní!„PW‡ùD—§©©™——ŽŽŽ^G –¿USSKMMâÿ„ÄÄÄkKªªªDwÉÉÉdaRR÷- „êp>f—G>0((HJJÊú+33³ÜÜÜððpbò=> €êêêþùçÇZãy)äÑ£G!!!PSS³gÏžÿiBuJ˜Ot>>>Öß#V€X¾|¹••ššš 4HMMMZZÚÉÉéñãÇÄîK—.íÙ³'0Œ¡C‡öë×O]]½á=è\¶Æ¥¥K—·1™L+++¢Ó²²²6 „B æ]FvvvÐ÷Þ¼yÂÂÂ>ü믿”•• ..îõë×YYY3gÎ\·n±»˜˜Ø“'Olll ®®.22røðáG%Û'Èek\’xúô)1¯“Á`DFFZ[[_¾|™'!„Pçó':»ÀÀÀ¦Þ",$$´uëÖ­[·¦§§çää «¨¨Ðh´z7vªªª>yò$###;;[CCCYYÙÇLJx‹B¡hkksßšºº:˜––±A¥RÉB###ΚœÖÕÕ‘ÕºÍCÎBè‡ùDgתå#544444šz÷ܹsZZZÖÖÖêêê°yófâ­ß~ûX´ŠËÖDEEÆÏÏßT´êêêD§ ((ˆkb"„P7ƒùÄ/$((hÞ¼yÒÒÒ:::eee))) h4ç…„B¨µpþÄ/dþüù£G.--}ûömBBƒÁ˜7oÞû÷ïõôô:::„Z—Wíá÷úuAGR_§ ì'‹-ñðˆKJ ׿(Ì'~!Æ »wï^iiiTTTHHH|||qqñ™3g”””::4„ZF§WyxÄv¯íNOääTzxÄ……¶XóãÇbXÌ'~Yx½ã—#&&FN–D¨ QP ®\i0p`ý‰>®ÓÆ99U±üüss¹ŽŽuj˜O „ºMdåÊV,ÏúÓtÚÀú™0Ÿ@u yyÕׯ§ ؃óL@YYÝóçôÌÌ aa>}¤ÌÍëŸ$`2Ù¯^åÇÇ—2,--q++aá/¦KO¯¸u+ÓÒRÁÄDæõ남¨ÏÂÂ|–– ššâõùô©*00·¬¬NOOÂÊJ1!¡ôÑ£Oöö*ºº ã¾Ùfbkd`}ûJ‡„äÇÆ–HK ÙÙ)KH@UãñãÜìì UU±Q£”ù ,¬Ð×7^½Êg2ÙD;dò”›[˜[Zúå°´_ä¨KÀ|!Ô5Ó8¯,doÜø®¬¬Ž¬Ó¯ŸìÑ£i4âeddѪUaYY•d%%êñãƒúô‘€ôôrX*•ÿĉøÇ?øù)»w›::ª“»Ü¸‘îêú¾¶–Ev1v¬ª‡GlÏž’D>Q/0.›m>¶F>Çf7wˆDEùçÏorn5˜°0Ÿ»ûÇàà<¢pÿþ×®YÖÕ±æÍ ÉÍý²`nïÞÒ7nX ó¿ySàã“¡¡ù¡¡ùÄ»D>áí¾}û·Ãbb"3nœZsÁ¡îó „P—[²zuƒÁ62’13“-/g>~œóî]Ѳe¯oܰ¢P ;»rîÜÒÒ:ccYcc!!¾˜˜âÐÐü ^=z4B\üËo¿³g“ÊËj ÔŠ_¾ÌÛ¾ýýˆJÄ_íQQŸ·n}Çd²ÍÍ{ôí+ýùsíƒ9ÇŽÅ·^óÍr[=GŽÄ‘' Õ£‡p3ùXu5sÒ$ ¡—/óbcK¶oŸ“S%$Ä7c†??Ÿ¿Ö‡Åׯ§ýþ»Î€=&OÖðñI4H~À€oç~¢¢>oÙòí°Õ>x}ôhˇuc˜O „º$OÏDƒ=w®î¦MFÄÚ­ë×÷vt |÷®(44ð`ùS§JKëvì0ž1C›Üëüùä]»¢nßÎtvþ²®k]ëþ}[UÕ/«Íº¸Døø¤‡…ÚØ(À¹sIL&{Õ*ƒ+¾œä_¹²—ƒÃ³Ãk¾Y.c«gùò^-žŸh106~SR¢“ɶ·’?dˆ¼§ç!!>˜5K{Ô¨ÇOŸæþþ»Ž¹¹…>>éƒË/[¦Ï*“É^¹²×Ê•DÉÊ•ãÇ?m±wÔa>ê’Þ¾-ä秬YcH./##´x±þæÍïÞ¾-$$ŸŸŸRTT{ôh<›Í&¾‰+*ýàËw¶££:ù­ÖÖŠ>>étú—3ÿïÞ}¦R–.ýöUªª*6uªÆéӉ͇×|³\ÆV™Ó´ÅĉjD2üü”{$'—ÍŸ¯G$ ¥%®¬,š]ÙtQD¥ ,[ö-55ÑiÓ4==[8,¨k]>QXX˜••õ矶S4¨“HHHPRR’èè@/EFFªªªvtt(¶á¾œS.È/Wñ'>ƒñå<@II­¢¢?½Gስ^óÍr[=mœ?APTü.0*•¿ÑÂÒÒÚfiô°¨©µ|XP7Öº|"111++ËÝݽ¢Aµ«†O¨ïº$%?}ªª®fr¦ %%’’µµ¬ ù~%æQrCJJ(7·šÉds~wfeU´)ô'ó'x¢ÑÃ’™ÙÖº´Öåƒ ooïö u eõêÕìè@/M™2¥£Cà¥þýånÝÊê>&ÃÎNyÈùçÏéYY•BB|FF2õž1ah(uïžmDDaLLqUSQ‘ª¯/i` E¼«¡!¾r¥A¿~ßíBöíûmQ)''-++…ÀÀÜòr±ä¶mïcÆe½À¸l¶ùØÚC£YX(ˆ‰ ÊÉ sΜ©]SÃ$_îÞm:~¼ÚÇÅ•• €/&¦LÑ6ŒF,ª«+im­Pºr¥÷sSP7Ca79î{ÄõWœ?Ñíáü‰n‰WŸ_:^^^ÞL]]º½}suº˜˜âÞ½¥É»RcbЧN |õjt½êB¸ùœêèèpß žŸ@¡æ:›’RffÖCVV(5µ<00—ÉdÏž­ÉBœ0Ÿ@¡æI?{–›žþífÈI“4/Öof„~A|@W²oß> …òìÙ3.뻸¸P(”÷ïß·gPè§Ø·(àzèÁÅ(À¡ïV®4 µ¿ÙÚµ†;v˜Ü¿oëæf* €''úžŸ@¡¨ªŠr.žjÏO´ÂÚµkÙl¶µµuG‚~ºµkÍz„jæ!„j«.–O3.\¸Ð§O ;v°X,²ÎÌ™3)JAAçŽDaqqq½vŽ?Þ«W/*•Ú·oß;wî@EEŪU«”••EDD,,,"##ÉFΟÈÌÌ\°`ššš¢¢¢³³s\\\ð=ª¯¯/""¢­­½k×.ƒA¾UPP°~ýúž={Љ‰)**ÚØØøúú¶ê&Þ®'?ÔÔ GÈÈøVøü9À°aÀqp¾CÎH¸púôÐЀ;€cèaæL Pàû¡ÿRøu迵sü8ôêT*ôí wîTTÀªU ¬ ""`aCßÈü‰ÌLX°ÔÔ@HÁÙz8zôõAD´µa×®ï~º‚X¿zö11PTðõ…î=ô¡î«KΟ8|øðÙ³g‰íŒŒ WWW‹µcÇŽÖ¶³oß¾+W®ÛÑÑÑŽŽŽÏŸ?_·nÝË—/‰Âàà`{{ûääd‘†»§¦¦4(//xI§Ó¯]»v÷îݧOŸš™™‘ÕÜÜÜ®_¿Nî²uëÖøøøK—.%öööaaaÄvee%N ŒŽŽîÓ§Okœ.C^¼½ÁÒ¦L/@H>}‚iÓ G¸qšý7yø0|zÈÈWW`± õCûöÁס‡èhpt„çÏaÝ:ø:ô ööœ =¤¦Â AðuèN‡k×àî]xú8†ÜÜàëÐCj*lÝ ññðuèÁÞ¾=TV ÝxèBÝW;?A¸zõª‡‡GNNNiiéåË—Ž9òÓß¼yóäÉ“yyy………7nd0cÆŒ¡Óé>,--MII±µµÍÉɹvíZ£»¯Zµ*//ÏÒÒ2<<¼¢¢âÇŽŽŽeee ,à¬æëë»ÿþœœœ¢¢¢«W¯ÊÊÊ^¾|ùÉ“'““f``ðúõ늊ŠÂ   É“'óñuÉqi…Aƒ`ÿ~xóþü ˜>òóáÚ5PVnaÇ«WÁÃrr ´._8räGþ¦¿yNž„¼<(,„Á€1c€N‡‡¡´RRÀÖrr ‰¡‡U« /,-!<**àÃpt„²2ø~èÁ×ö(*‚«WAV._†'Orr , àõk¨¨€ÂB ‚É“¡Û=B¨›ê’ç'¶mÛ¶bÅ b{ÆŒÿý÷ŸOff¦ººz«ÚÙ¾}ûÂ… ‰í]»vyzzæçç?~üØÔÔ$$$öìÙcnnþñãdžûVTTÜ¿ŸF£Ý¹sGRR ½¼¼LLLÞ¿ŸÐ³gO¢æêÕ«ÿ÷¿ÿÛNNNL&sÖ¬Y>>>¶¶¶rrrT*uàÀ QQQKKKKKË9(]Ίðê;11ðü9ìÞ Ã‡·¼×¶mðuèaÆ øï?ðñÌLhåÐÃöíðuèa×.ðô„ü|xüLM$$`Ï07‡Æ†**àþ} ÑàΔ04//01÷ï!!¾=¬^ _‡œœ€É„Y³ÀÇlmAN¨T8 KKøE†!ÔuÉ?†êÝa¡­­ eee­m‡ó››OMMMLLŒH&@§Óî›––Æ`0,,,ˆd‚ 0jÔ(HJJ" ‰’YAXXØÓÓÓÏÏÏÌÌlíÚµ/^LOoës»’Ó§ACž?{{ذ«]êÝa¡­ Ðú¡ÿî››ÔÔ@L 8†44zHK,,€cèA@ˆæzø~èÁÎî[aaðô??03ƒµkáâEø¥†!ÔítÉ|‚J¥r¾¤P(@^ï .pÎЀªªª†íÔ›A¡P–4lªa…V!v!wtvvÎÊÊÚºu+•J½qㆡ¡áرcKKK[Ûl—¾Ñ‰à IDATYY‰‰Üæß=‡‘¼ÞA\,¨7^ }ýYJ#% ›jX¡Uˆ]È!+ ¶n*nÜCC;~‘¡o‘‘EÎÎ/ršª’RæìüÂ×—7y[‹Ýý°çÏéÎÎ/ˆg™¶«„„Ò'æÌyéìü‚|@+B?¬KæÍ£ÑhššJ–TVV¾~ýš·½hjj ¼xñ‚ó»ŸÉd>|øtuuÉÂpîxÿþ}øþ!+;wî¼{÷nhh¨¿¿ÿ®]»xmgôéLŸòòpð $&Âܹçóu$$ÀÁvî„»w!4üýáWúöQRR÷æMÁ§O•MU¨¨`¼ySÝX~ÙÝý°üüê7o ŠŠjyÞ2'‡@{û'ûö}Î{ó¦ ¤¤®]»C¿‚n˜OôîÝÖ¬YWUUõîÝ;GGÇììlÞö"&&6zôh:>a„ˆˆˆÊÊÊØØX''§˜˜rò¸»»8p 77÷óçÏ×®][µjLž<ÂÂÂÆŒãçç—ššZ[[›››{óæMHIIám´ƒÓ¦AA\¿«WÃòåàçû÷·µÙÞ½Ö¬¸8¨ª‚wïÀÑx=ô &£G&@DTVBl,89AL ˜˜ÇЃ»;8¹¹ðù3\»«VLž cÆ€Ÿ¤¦Bm-äæÂÍ›Ý~è;޶¶Ä•+ŽŽjH§—W­§'¹x±¾µµbGÇ‚º‰.9³yNNN[·n}ùò¥Q¢¢¢2räHâ̹»»¿~ý:00°ÿþd¡¸¸øéÓ§9«9::®Y³fÍš5dÉŒ3lmm€ÉdÞ»wïÞ½{œõ)г³3oCít\\àÅ ps++€ <\\`à@6ìÇ›ur‚­[áåKø:ô ¢#G¯‡ÜÝáõk Ž¡qqø~èÁÑ֬ޡ‡3ÀրɄ{÷àû¡ ºýÐw11{ttÅ­[Ãi4pul±2BÜè†ç'DDDÂÂàû¡8tôô@H´´`çNø:ô0`Ü»S¦€– ƒŠ ŒC÷ú6‹‹+ùçŸè%KB/ݽ;úÇâf*WT0Ö­{;{vðû÷Ÿ¡Áü rD^^õ¾}þø#dÅŠ7·ne¶öîãæw¯¬dzy¥mÜ1gÎËåË_Ÿ9“TRRÿBF@@ÎêÕaóæ…ìÞ“Ãû ("’ „xˆÒªe¦L™ÞÞÞíO§¶mÛ¶;w†††8°£ci_ eõêÕìè@:mÛ`çN …®<ô¼úüÒéôòòòf*èêêxxÐí훫óüü26lx[ï7Öþýfjðü9}޼͛æÎÕ€ììÊ… _eeUº»›®ÑÑŸ'N|¶r¥ÁÊ•½Èúü¡{çNV^^5ÙàèÑ*ZœnËÍîÅŵVV**¾[ò•F¹qÃRUUŒx¹aCçQii¡éÓ5OœH8rd ]“˱̚Ìd6÷«[ZZèØ1®þ­ººF^¾œröìKKnê£nƒ›Ï)çT¿uÃëí$;;›X[SS³£cA?Wvö—¹qè;Ô™3‰0{¶Î!ò”´´ŠÛ·3KK™HùyÑ¢WBBü^^–½zI5Óæ… ÉZZ«WÊË øP|útâýûÙ>>éS¦hpRó»×Õ±ùþøC×ÐPZNN¸´´îõëük×Ò<<âöîí÷îeûú¦S©óæéËÕ^¼˜ì陨b¿oÞ4ŸOôè!ÌMüñæ\Y¼xñÉ“'ÀÂÂBA³ø_ÉâÅpò$€…àÐw(¾ž=%·mëK–Ì™£SVV?Ÿð÷ÏZ¿>¢W/©'ÊË·pV_^^ÄÏÏšJå€áÃÍÌäfÎ öòJå2Ÿh~wáû÷m>üD/,¬©«c€_xx!±»·w¸»›ÛÚ~™9~¼Ú˜1ORS[8µséÒ°æÏ, vÃkÙ¨“Ã|‚[²²²–––Çïè@ÐO'+ ––€CßÑ.Ô[³&üÏ?Ãll” ¤´µÅùø(‚œu|}3âãKFRÙ·¯¿ˆ‹mÚÛ«ÙaÐ yUUÑøxnWHk~÷üüj'§YYõö"s øøRii!2™!!¾ñãÕŠm¾ßpb)êt0Ÿàʉ'Nœ8ÑÑQ ŽpâàÐwcƨJß½›åç—_ZSÃ;VuÍCIÉo)…°0?T×Õ±¸É'$%…ê•HK åäp»FEó»{xÄeeU ,?~¼š‚‚ˆ…Bqqy[VöeFEu5SZº‘Zì—‡ó'âÌ'B]†––øŠ½ˆí˜˜âY³‚óó«9¿8ÇŽUùýwíõëß:;¿8wnh‹ÓêÝ!RQÁHI)ãþÞ‡æwŒ,’–ºpa(ß—é••Ìüü2Ñ¡ÑDRSË‹‹k9sˆèèÏ-ö‹ó'P'„ùB¨kØ»÷äIê::ÄKAA¾†ëR¯&))¸|ù›iÓ‚.\JÞIѨGr|}Ó'MÒ€ª*ææÍï*+™cÆp;Q¦ùÝ¥¤SRÊâãK ¤àóçÚ#ª«™d>aa¡”Tæâ±oŸ™¸¸Ü¿Ÿ}ëVf‹ýâü Ô a>êΟO:u*AVVXMM¬¶–™˜XÊ`°­¬ùî·¶V<~肯¦N}~áÂP==ɆuR6D8ð‘F£¦¦–•—3DEù—,éÙTýVínk«Vèਯ/ ©©åT*¿ŠŠ(yéüùz~~2äž¶¶DQQmNN¥¡¡ÔÇ%Í÷ÛöùÇŽÅç@ZZ9¸¹Åœ8‘«Wàä ôc0‡Eu ..}zö”,*ª‰Œ,Š-áã£88¨ýûoÿF+›™É]½jÁb±œ^DF6yaâDõåË{}þ\ý¹¼œ¡©)~áÂ0uõæNip¿ûܹºÓ¦i²ÙìØØ’ØØeeѳg‡ÈÈ|»´¡  rñâP==ÉÊJfLLq^^Õܹ:³fis}H~\rrÙ›7oÞ‹gÄÇ—/Ûû¹!¨Ãó¡®aölÙ³uŠŠj23+DETTÄDE¿Í¸ìÛWæÊ o©€ÔíÛ6©©åÄsg‰çw¨¨Pë5»zµÁ¼yº©©e¢¢ºº’\>8–ìNQ‘ÚÔîüü”¿ÿî·n]ïôôrII!--qص«_M “¬Ó»·ôýû¶ÉÉeåå 1ii¡üüê+W,ôô$Z„ZaéRý©S5–·w¿¨Ã|!Ô•ÈÊ ËÊ62ÙPZZ¨áã9h4rvd3Ïï”46–mUœÝ5¿»´´´ô·wûô‘nX‡œòò"-.›Ñv::œ"Ôv­Ë'BCC³²²(\&ð¨+swwwwwïè(©ªªvt]CzzÅÆM½kf&÷¿ÿþÌxêüZ—OèééQ©Ô1cÆ´S4¨“pwwïÝ»÷ˆ#::ÄKþþþ˜Op©²’ÑðÎçŠ!Bëò 999999|LT·çîî>bÄèn&++«£CèD,-’’&6õ®T3ï"„Âû;B!ÔV˜O „B¨­0Ÿ@!„P[a>B¡¶Â|!„Bm…ùxyyY[[¿ÿ¾£©¯ÓÖµx…yYÿký>³ÓÆNBýÌ' 333((¨¸¸¸åªíæÒ¥KÖÖÖÑÑÑœ…!°n ³(3(!¨¸²CÇ÷Õ%ë­£³¿ßNBñ ®· Ó¦M333311éÀÒÓÓƒ‚‚JJ¾{¨`g¬˜f>ÍLÓÌD­CÇ·(=(!¨¤êûñí!„¯`>jjjjjjE#:m`]‹š¬ššlg<Œ6°NëyÊóy7æm¶Ý<×|nSu¢?EO¼0qå°•+‡­ü9=6ƒ·Á´£ýFUuUõ ÿõ—s?gòevIöÓ¤§O’ž¼Îx]Ǭ;;õ¬¥¶%gýªºª‡ ýcýãóãóÊód¨2fªf‹/6ThaUòŽí½Å– l6Û'ÊçFÔÄ‚DA>Á~*ý \`®fNVË ó‹ö‹ÈŽÈ*É飨çw³ßmtm8a±YÿÅüwõÝÕ´Ïi,6K]Z}rßÉÓM¦ ð5þ-¼î17 jM”¨ hó?H'ñ3ò‰ªªªãDZÙl ‹eË–yxxܺuKJJЬöôéSŸÔÔTAAA33³E‹)((o:uêêÕ«žžžuuuGMJJRPP˜3gÎðáÃëõÅM#UUU§NJHH˜0aÂ’%K¼¼¼Ž?îîîÎy& ((È××799YTTÔÔÔtÑ¢E²²M>ï‡Éd^¿~= €N§ËÊÊÚØØÌž=[DD¤^¿eee'NœHOOWVVž7oÞ°aÈ kÖ¬ñóó€+VÄÄÄÄÝݽa`\vÔâQâ­ªºªãώűm¡g±lø2'1·–ß’¢rŒoÜSŸ·>©©‚ü‚ff‹¬)H~šç§®¾¾êù»g³îhàѤ¼$I…9Cæ ïÕ`|¹h¤ª®êÔóS ô„ &–X/ñ ó:þì¸ûtwÎ3A A¾o}“ó“E…DMÕMY-’kz|YÌëa×bè¥tY1Y›^6³ÏüzØ¿ö[V]v"èDzaº²´ò¼aó†é~ßkü"ü`ÅÕÄ1Q3qŸîÞ00.;jñ(!Ä[“.N*¨hrõq8þêø±cä˼ò¼{q÷&<<5ùT£ßФ÷[‹±â¿‘%O“ž¥ů'^¦NwºâD¾[èy™öòeÚËM¶›æ™Ï#Ë×Þ]{ûÃmòeLnLLnÌÓ¤§g¦œiøH¬´ÿ>üG¤6L¶:³vÏ'JJJ¬¬¬"##‰—wîÜñööÖÑÑ ª««# Y,Öܹs/^¼Hîuç·ššš@JJJPPÐÝ»w7oÞ\YYIÔ¹té’——×”)SZÕˆ««kMM ôîÝLS`2™sæÌ¹|ù2ÙŽÏž={ŠŠŠøù¿=™TQQaggL–xyy9räñãÇ4ì×ÛÛÛÕÕµ¶¶–¨sîܹÇ/_¾"##ÓÒÒ ÞÔËzqÙQóG‰çJªJ¬þµŠÌü:¾‘w¼Ã½uäu‚‚ê˜_Ç—Íš{nîÅWCyÇã©ÇÃ?šª›@J~JPBÐݨ»›on®¬ýyè%¯…^Ș´ªŸ·>®·]k5Ð[¹74˜¦Àd1眛s9”c|ßúì ØSä^ÄÏרøÖTعÛ'qö0¯#O<^ó˜&A#ûõ÷v½ãZËø:¾/Ïv:¼Üf9DfE¦¦@½©—õã²£æêTŒ”Œ’\’::Š–õWíï5Ó«™ *’*vúv¶z¶q^‘Ôsèí0Æ`LOùž=Äz¤¥ºº§o¸=pq`§í½Å–àpðáG äDå6Ùn²Ö±Ï ?õúYÂg¡e1±ÏľÊ}•$”ò+ò¯¾»z*ôÔ¾gû¦ö*.,éo¸-Ä/´Ën—­ž-?…?8-ØåžËó”ç/Ó^ÓÆÙc £f냭ûLŒÍ‹¥Ç6gÓîùÄÆ###ÕÔÔÖ¯_¯­­ïææVï‹sïÞ½/^ÔÖÖ^²d‰AMMÍÇOŸ>íììüñãG>¾/“F7lØ0vìØÉ“'‹‹‹ß¾}ÛÓÓsãÆä7%—lÛ¶môèÑS§NUQQiôj®]»._¾,**ºtéÒðóó¿}ûöĉl6»ÑpÓ¦MÁÁÁòòò6l000HKKÛ·o_ttôâÅ‹‰³„íÛ·ÛÙÙ999‰ˆˆœ>}úÏ?ÿ1b„¾¾þþýû=<<Ξ=ëááaddÒÒ<јˎš?J<·Ñocdf¤š¬ÚúQëµåµãsãÝÜê}qî Ø{ñÕEmyí%VK ” j5?><ýü´óiç}ä£|_ß cûŽÜ²¸°øíÈÛž/<7úm$¿)¹ldÛ­m£ûŒžj>UEZ¥Ñ« »üw]½,*$ºtøÒšøùøß¦¿=t‚ MŒïÍMÁIÁòòì6(¤¦í{°/:;zñ¥Å~K9Æ÷öv»>vNœDEbN¿8ý§×Ÿ# Gè+êßã©ÇÙà³NF*F -ÚØør×QóG ¡öàû»/±ñ$ñI£ ZÄùÒ€fpÜñø°£Ã2‹3‹«Š¥©üƒï ½·ØrIuÉ™7gøùøÏN;Û[¡7Q8Lkg &­vnÚ9ò¥ª”êzëõï³ß¿É|“\”l¬d ‰‰0¹ïdG#G¢š¾]B~‚G°GbAb½|âðËÃå5å›l6ͺ>«©È;§öÍ' ÆÅ‹%$$^½z¥¢¢öööcÇŽ%¾5 l6ûÀŠŠŠááá222D¡£££ŒŒÌž={BCC‡ BΚ5ËÓÓ“Ø7n\bbbPPP^^Fã¾ooï¦f±X‚‚‚Ïž=377'ÛÙ°aƒ€@#ÇŠÁ`œ={VDD$88¸gÏžDá´iÓzõêõßÿÑétòjËØ±cÉoý‰'*))íØ±ãüùó»wï666ÖÒÒ€~ýú‘A~¸£fŽRS?õc°_]”‘xµñ•Š´ ØÙ5k´ýûñ}t@QJ1|K¸Œèס1u”•ÙsOhJè¯ã;h–çï_#7—HO JÊ+Ë£IиoÄÁÄÁ{qÓãËfy<ñä|¶î™¹¦9Ùλ ^Åd°gƒÏŠŠoî©ðõ°›Mëµµ×ïÿ£—ÒÉ«-cûŽ%¿õ'ö›¨$¥´ãÎŽó!çw;î6V3Öê¡ýÔû‘A~¸£fŽRS?u÷’rðÅÁXz¬¨èoz¿­µZ++ÚäåªjFõ©ÐSþ±þ™Å™BBFŠF -´Ð² +°Ùl¿?Ÿ(Ÿ¸¼8&‹©ÓCgºÉôÉ}'óS9_Ÿ¿À{A-³öä䓯JÆLóÊ»+¾Q¾™%™l6[CFc|ïñN&NTA*4˜?Ñè\x°àŽœp\§Ï‹g²™Z²ZÓM¦Ïè7£áùðÎ*HU–R.¯)'EíýYò³jFõÈž#Éd‚K‚ü‚ '*G¼ì!Ö£©š4ñï>¹ñùñž¯=÷Û߯$¬C´o>‘’’RQQ1iÒ$"™ èéé :ôéÓ§ÄËÔÔÔüü|yyyâoh6›Mœ ÈÏÏ€¸¸82pvvælÜÔÔ4((¨°°F£qßÈìÙ³›¸¨¨hĈd2A””lª~yyùèÑ£Éïx““›MV .Š ò ÎêÏí_–4qñ­Ãf³×Þ]{ëÃ-ò­¸¼8ׇ®±ôØ¿GÿÝÔîú{õ‰CÑ”b=BW„6Cra²Í ›œÒYQYs5óEƒµ8“±E)…)ñyñ#zŽî̽7/&7,µ-ïÆÞ=|8£8CA\aDÏ+†®iä—‹ÍʯÈ÷‰òy™öÒRÛRUJ•(¤>H¯‡žO”‰²Éoz¿ñQø‚ӂφU–T朶Éb³6ßßl©m9Æ`L[Âî(í›OTUUAcgïÉSP^^ùùùOž4rƉœõfD “ÉlU#ªªª-Ü£G“¹d=ÕÕÕ #Kˆw õQ获5s”x®ª¶ ;{OžB€òšrÈ/ËÛØÐÔrŒï÷3"…ø…€ø]É}#ª2ÍŽo]ôçz|ëªF–ïê¢÷s©¸ï¨™£ô‹¸w’Ѥ¥C–ÒÄi1¹1®]ãóãO¾:ù§åŸ +_Џô6ë­²¤²ëH×jÊjʼ£¼¼<ò÷“¿Gè—÷‰öñõ—¦J¯±\c­c-M•N*Hºöþñ÷%§ áþyúÏ0Ía<ĄĈÂG ¨‚Ô}c÷ Ñ"À'V”vëã-Q¡ÆgãG¯ùn’©/6ßß|~Úyâ/Ñ[nÝúpK_^ýðõÆJÆÂÂ1¹1=þË+ÒkrßÉýTúñàØ5¡¸ª¸¸ªòÊóücýÄ?8äph”þ¨n°ª®êÏÛJKl´ÙØÉ{o^Qe¼ÏyïåC”d•d ;œì3Û‡ügÉ…É£N‰YX@xF¿l6ïòóñ_rº´ûén—{.,6‹(ÑsÄfÛÍœgP®D\I,H|°àAÃî(í›O(++À»wï8 Y,9=TTT(й¹¹››[Ãôôô¸éˆûFš?sH´óæÍ›ºº:AÁú¿PRRR€·oß²X,rŠ„……ÁןÁy-#<<œèŽ3ª¦¦h´ª£ŸIYZÞe|?¾lVdÇøJ«P(sMs·I wãËu#-Œ¯´ …By“ú¦ŽY×ð £!%)%x›þ–Åf‘S4 ,- ¾þø„ˆôÎkáiáDw_¢‚–Ɨ뎱²ñû=Ä@›«™Ÿ˜tbÄ©ñæ÷bï€Çe_9le^yÞõ÷ן$=™n2Ý/Ú9"ÏF))q6Âd1·?Ü~%âʬþ³¶Øn᜷«(©¿õü¸8b `` `ÀÍOšºéþ¦3SÎhËi%>Ñ>ü|üç¦#O€›«™wÐÎÓîqâã¦ò ò.ƒ6DcÈ4“iFŠF¢B¢É…ɧBOÄlº¿i˜Ö0ÎïKîUÕU-ò]”R”rvêYòôÎÙ{‹ˆï~ßhß9fsæ ˜'C•y—ýnÛƒm‰‰gÞœiê6àFÍ»œwqyq¦*¦dáú‡ôd2qyq‘9‘dôrúþçû×_¯(¡ØÆ°;Jû®)//oll±{÷n‹ cóæÍIIßæ<ËÉÉYYYEDD$$$ 2Äú+ py–ž'€¬¬¬……Erròüùó‹ŠŠˆÂòòò¿ÿþ›ˆ¿áhjjçââBÜ®Âf³=<<=z¤¨¨hllLÖܵk‘C@zzúÊ•+`äÈ‘D‰¸¸8$''7÷ýLòòÆjÆ»ïí&>' cóÍÍIyã+.gÕÓ*"="ž0Dgˆµ¾5ñŸ†œÆƒ¸i£k#/./&$ÖW©ïá ‡i *©. Íhá*I£JªKf_Ÿý.ûÝ™©g8Wh蜽·HBXú«ôßòÛeIeª uˆæÇþ A)Aœ5uät’\’â×LJ,ùgô?ų¯ÍÎ*É"Þ̉\འº®úÌÔ3«#"ÿyÙ鲨 èª[«Èv\ºêËë;›8C—Õî÷wìܹsüøñ›6mrww×ÐÐHMMýüù³‘‘Qtt4yûåáLJ ¶hÑ¢µk×jkk‹ˆˆ¤¥¥Ñétؾ};7ç xÕ¸»»6ìâÅ‹7nÜÐÑÑáçç‹‹«­­Ý°aç‰ÒÞ½{GŽùï¿ÿž9sFGG'##ƒètïÞ½œS8UUU¨§§',,L4hbb2mÚ4âÝ~ýúÀ¢E‹Ž;&**J¬?ñcýd;vŽ?2~ÓÍMîÝ5ä4R R?W~J`¯ IDAT6R1ŠÎŽ&óv:<ÌmØ¢K‹Öz¯Õ–×I+L£—Ò`û¸íÜœ'àU#à>Í}˜Û°‹¯.Þ¿¡#¯ÃÏÇ—W˨Ý0zç‰ÒÞÉ{GùïƒÏŸÑ‘×É(Ê :Ý;i/çNUÕÿ ÔSÐ&4Q3™fþu|ÕúÀ¢K‹Ž%ÖŸø±ŽPk'‡ÚÂF׿yÊsŸ(Ÿ1½ÆÔ;ý` `ðhÑ£ˆ¬ˆ·YoÃ2Â<^xȈÊr8¤/¯ßTk‘9‘«n­::ñh½YDFÛè¥+òÖë†x2‚…B1S5 MÍ/Ïç~/B^yÞ\¯¹™Å™g§žý±¯óŽí½!-Y-¨7èÄÀV6¬ÏÏÇO§M5žZèÙñhǽØ{ -ï(o›µ}Äv+m+¢æ AncÜ&œŸpýýu+m«âªbb‰ =·ú§lûîï ñâ Ü©´ûó;ÆwáÂYYÙ¼¼¼°°0‹uùòeâ>>**ª¶¶ÖÖÖöþýûd`sæÌ©«« jô`\vô“3waÞY1Ù¼²¼°´0›uyþe n¼€>*}^ozmod_QS™ù:õ5½”®GÓs›ä&$Àõøò¢è§ÞïņCu‡V×UÈù•%"(²eÌ–¦>«¶¶wVÜÑ¥éU…¥…ÑKéÊÒÊ—þ¸4kð÷ã;ýƒ‰C|n|TVT-£ÖÖÀöþªûd`zs†Ì©cÖ…¥…%5ú 0.;BÁiÁœWŽ2‹3S‹R5d4­¬!£ñ¹êsdN$gá³ägÄ[ #§SR]’ÒLFŠF×f\ã£ð9_uÏ ¯÷.?…ß\Í|ñàÅîîÏ–<+¯)ßx¯ÉËöé—Ý\vÈá±rýsN:r:TAê»?ß%¹$ÕûïÈÄ#Í„Ç[l6›øåÅå[µcFqÆÔKS³K³ÏO?ÿÃ_çÛ{CÕ@½E ˆ³PÍܲµÌZ(¯-'^Dê!2Hâ­¦îWïZ~Æß=³gÏž>}zLL ²X¬Õ«Wkjjrž3Ð××÷÷÷/))IJJb±Xšššòòßþ=-\¸ÐÎÎNWW—³Y¢¸Óò‡Æ“ajjL§ÓSSS¥¤¤tuu›?½aoooooŸ””D,[Ù«W¯†Wñ%$$üüü²³³322TTTÔÕÕ9ߥP(çÎsssKNN®©©!&o6 ¬ùޏ¨ P•V­cÖ…¤…WW3ª &!?a‘ï¢}c÷õWíßðÝ)ÆSÂýÃg_Ÿ½bè e a‰¼ò¼„üŸhŸýf ÑÒh›mœ?q2ôdQe‘}/{  !¡ä‚äS¯O…¦‡JK TÈ}; ù ¿{ý^è¹0íBÃT©söÎ CþJ}óÂw=ÞEÌŸxŸó~kÀVøMï7¢ÎñWÇËjÊìôíÔ¥Õ©‚ÔüŠü'‰OÜ_¸™ÙôVì°ãÑ>>>SS~>þȜȿý_ÏvÈPe.}6îܸXz,®·ýƒΟ?ŸX¤²´´tÙ²et:}Ñ¢E kJIIõïßÈ'M[[[[[››ÂÖ6M?&CAA\Ôººº “•zTTT8o­‡F£qNõh*°¦:jÕQ⡃η˜O,RYZUºìê2z)}‘UcãK•ê¯ÑØÐÈkkË7ˆ¼±ÂÖ6M?&CAR\Ôº4݆ÉJ=*Ò*œ·ÎÖC“ qNõh*°¦:jÕQêÆìôínÆÜ$çÛ€ŽœÎ¢Áü{€Y¦³â"²#æ{Ïç,ßòÛâ/àIF“‚’ƒâ6ßßÌYÁÞÀ¾^SªRª^3½æzÍ]ì»xã{€¹Þe¿«WsšÉ´†‘Vξ>» ¢`æµ™õÞ"ÖŸpìãø&ão´ïBŸ…õ4n¤Až(­.=óæÌ™7g8 ù)üþ›<¿kî¬á¼‘uÞ/wG™x„ÈäÎ…#®PLº8©^wæÝ1 }¹^0íò´·YoÉ’Ží›–ào»¿§_™~>üüùðódM#%£ßÍ~'¶‹«ŠÏ¼9s*ôÛŠ™‡Þä2'ÎýœoDÞÈ,ÎüãÆœuäÅå‰ "ÝÃÏÈ'¶nÝêââBü•Ÿ˜˜XYY)..¾aÆ–÷D]ÁÖ[[]ü\ˆ¿ò鉕µ•âÂâìp|Q»è¯ÚºÉôƒ/ÆçÅS©¿éý¶Îz]SÀ ò ^tºx*ôÔÝØ»™Å™BüBFJF .$ëÀGá;<áð¨Þ‘Þñùñü|ü:r:ÓM¦ÒÔ°µb=®Î¸ºÐgáš»kJkJgšÎôíëéššUœE¤jËiOî;y’Qýo5È+ÏkþQ ÅmŒ›•Ž•×{¯˜Ü˜ÊºJE Å^´^Ž}‡j57]´-– ^¢$©äëŸTTVSF§™«™ÿ1දÑ(â ?ym±c{ç’‚ÁÍßo|qðUú«òšr)û^öK‡,%ïó\>t¹ºŒºÿGÿäÂä’êiªto…Þ&Žéõm )©›¿ß<þêx`r`VqØJJZˆ.«·žU—Fi涆ˆÕ¢šY_²Q®®®îîîäøûöí{êÔ©[q:«Ksqqqss{÷î]zò8…BY½zõÁƒ¹©ìzÛÕý±;ù0}OÍ>5Pë—__··wÛÞuþ'ÿØç·!:N¬øÒ]]º½}suЯ†Åf™2SW¸÷ǽŸ¿âgÇöÞ9qó9ÕÑÑá¾ÁŸq~ÂÕÕuË–-iiiùùùÊÊÊϜꮚš·Ñm¸ŽwÝ2vKZAZ~Y¾²´²†Ü/6¾MÌÛ@qJÈO(­.Ý>b{‡|wl￈Ÿtš€€Àÿٻﰦ®6àoHØ{ï=Q†E@D¥¢2(•:жýª´Z¿Ö.k먭”jEëD,.Ä…€ •=dÈ”€²wHòýqýbB$÷÷ôé“{rî9ï‰b^Î=÷\~–¼“Þ †!G£ð³¼à4 W0 4éU麊ºsÆÎ…½x_;B!‘[f¿l™ý²ÑÙû(!òý'B!ôÎÃ|!„B‚Â|!„B‚Â|!„B‚ØzÌÂÂÂgÏžqÝ´½cŽ9Ù=4r¼zõÊÜœ¯Ä#„Ð@áüân@!„å6?aaaaaa!øþzh˜#‘Hü1Ÿûc¢‘‚Ø!„Dç'B!$(ÜÏ !4’Ô´Ô<(yPÓRÃæ§“>M©HI¯L÷·ó'žZÛZþ4ÜÉÀÉÉ`´Zr©¹¡ ¡êBÿÖçÝo¿ª›«#3#'Nš¨?‘wÍÞCè u|vñ³û%÷Yu&êO<üÁa)…Áƒ8`>1BB;hÞ–Þ&ª&b$1q1q#IФšŒÚP‡6ÂÄ=‹³Ö´Ö”ÓYýV7W‡&„’ÅÈýæ½m½¹õ~É}%i¥9Vs(b”ØüØÔŠÔ¯þùêЇ â€ùBhÄ(~Ul¦f:?”U2Ùhòd£ÉCÒHôªýUæ‹Ìu“×’~ ²©òRö%yIùK+/é)êÀ§.ŸÎ ›÷,.¯6ÏJÃêí‡ôî~>ñóÏ?ëèè¬\¹Rè- hØƧaÿÏ??ÒÑ‘]¹rÜІÑÛ° ŒO#=~Q»_rÿiõÓÆŽFBB9Þe­ŸàŠÎ¤'=O*¨+èaô«O3™&I‘$Þ*k(»œsyªÉT;»Gå2_dJR$§šL5R6âh¤´¾4óEæ‹ær’rv:vã´ÞüI±±Ñ¶I|ž˜W›§$­ä9ÆS^R:hqÏ⪚ªô”ô<,<ÄÉâ|Æ&:wŠî0˜ wswVIMKÍ¢;Í]ÍæjæÓL¦q=«¯PŸ½|v-ÿš‹‘‹ƒž{ýš–š lulY ²÷;ˆ-µ"5*+ ’Ê’è :Ñfk?Cˆ/Šg0‹lɨʨ®pXñËÝ_nÞÂ|B(D’O888 ù×^oÃ6°Þ¶oßnddôᇲ“øþ9ÙÁAk~í ÛÀzÛ¾=ÉÈHáí٠GPüCâ~Éýi'€ÚJíO°ÖOô–QñùåÏ+›*Y%Ú Ú} AYCYhB¨´¸ô¡¤CqÏ∠d1òN¯¾ã}‰ÃvZûÚȵÉeÉìÍN5™z`ÁiqiV#’É! ¥ D…_ïýznÙ9¶úÂêš–¢ÐZÓúBÀVÆÀ;6®þHøƒ ¼ö†‘— t äQâ‹â5å4­5_ÿ ŒÈŒØzck7½›8´Ó±›;v.Ç)G>1‚âSM¦*H)J:¤,­Ì¾šïáó‡é•é}UÕTµêªæÎf[[[m[ ŠDvMvrYòšÈ5·ÖÜ’“”#ª…¥†µvµúXûhÊkæÔä<|þpëÍ­3-f¿+·uµ%—%Óg¥a¥&«ÖÜÕœRžr¿äþÄ›¦mbõ–ÖÙÓùÁø”e”–>Ì«ÍÛzskuSµYb™ý2²ùŸ¼r¨9áOÃW8¬à?6û÷³~5çJMVw>ÑMïN(MðçCf¾Èüþú÷t}¢þDm›úöú7$àÿcT’Vša>#6?¶´¾ÔXŘ8…ÁdDeEé(踻ríwš£¾ãB›…‘™‘ΆΎúެFøB][è(üëŸP]E]¨m­åñq!þ‰$Ÿz›B1lãÓ0‰ÿÛo‡é²ùaŸFzü¢6ÕdêT“©ÇSkÉk±¦¸ «§‹G>q$ùHsgsð¬àe–± O¤Ø·ãJî•¥öK‰v-ðk&|sìæÈÌÈÔŠÔéfÓ@NR." B^R>½*ýUÛ+q²¸§¥gå£Êø¢xö|‚ Ìë×µ´€îF÷>æø<ÑÅÈå˜ß1 ²¼àqÔ#¾(žÈ'øŒÃ:—uýÎOðx’Ê’Úiíîfî¬é zkëS r šw|Þ€>ÆE¶‹bóc#2#¾rûŠx÷~Éýš–š × Ö ™ýâC›¨?‘D"÷w|æò{$ý¡«§ 8®%‡]ô.ÞŸâÓÛX?ÑÓÓsûöíììl:nii9kÖ,)))޳ÒÓÓ“’’š››uuu½¼¼444XçîØ±ÃÒÒrÉ’%ùùù7oÞìêêš4i’««+G ---111eeezzzóçϧÓé!!!ŽŽŽÞÞÞ½ã¿Y±õ…ÇxÙû}úôéÝ»wétº«««“Óëï’òòò°°0ƒQRR²mÛ6¢påÊ•FFFú`4Àé}™¿§‡qûvyvöK:ai©:k–¡”çß«ôtjRRuss·®®œ——±†† ëÜ;’--U–,±Ìϯ¿yóyW}Ò$WW]ŽZZºcbŠËÊšõôäçÏ7£Ó™!!鎎ZÞÞ&½ã¿Y±õ…ÇxÙû}ú´öîÝ :éêªëä¤MT(/o Ëf0˜%%MÛ¶%…+WZ)èƒÐG³Ä²D2‰\ß^ ñ“É$v‘o£µ@Ö‹,°]Íwœ/+™7S·ÈÌHj •8#‰ý•ò×õ‚ë¿l{É~¸`Üâ{È$²“Sñ«â@Ç@â{ŒUŒutªšª‡õ®ëùYü_|Q¼´¸ô$ÃIÄáãÊÇÒâÒŸM~óõ¬¯¤¿Ønñ±GÇX%ý†:Ùh²ž¢ÞÅì‹_Nû’L"@Df„IìƒñôÕ/a Wü áuêÐó¯Ôáu’Aù‚•QBäë'rss,XPXXȪ ««{áÂâJ¥.]º4>>žUAFFfÿþý«V­€žžžàà`Ÿ²²²o¾ù†õP‰ÀÀÀ£G²NIKK›;wnMÍëëmÚÚÚ‡þì³ÏØó V`|6Ë;6®x—ÕoffæÎ;Yu–/_~üøq …R^^ ¥¥¥Ä pss#ò þ?X>8—ùss_-Xp©°°- ¹ 湸¼žW¤RÛ—.½_Ϊ ##¾¿ûªU¯¿øƒƒ}|ÌÊÊš¿ùæ>ë™!ãõ`’–V3wîÅšš6âP[[öðáYÁÁ‰Ÿ}fÏ–O¼ ŒÏfyÇÆïñ²úÍ̬۹ó«Îòåc÷¤PÄÊË[‚ƒ ´´‰xnnúFFŠú`ù ªo¯§3é¿'üÞû­–®ÖkÖWø¿‡ÑCL:x½àºŠŒÊã)ZòZ Ÿ†³®Ö´äµØ‰¥½ ›;›Á×OÄÅO6šÌúM½©³IK^‹HXô•þõÐÇ~C%‘H m†<¹Stg†ùŒúöúÛÏn»¹¸öKè‡Æ?CP—U€êæjK KV!‘¦ðXÉ‹D´÷‹¶··{{{—••xyyIHHÄÅÅåååÍ™3'''G[[›N§Ï™3'--ÍÈÈÈÃÃCYY¹¸¸øòåËVVVÎÎÎD;ÉÉÉ111^^^ÖÖÖUUUÇŽ[²d‰»»;´´´øøøÔÔÔXXXÌš5«§§çÆý¬Hê·Y>cÐx‰j‰‰‰—/_&ú­¨¨ˆŽŽ>}ú´¹¹ù–-[ ¶nÝʱÓÈÈhpñ àÚÛiÞÞQeeÍ ^^Æ丸²¼¼WsæDçä¬ÒÖ–¥Ó™sæD§¥Õ)zx)+K7^¾\xÃÊJÕÙ™guLL±——‰µµjUUkDDÁ±cYK–X¹»@KK·Ï¥šš6 åY³Œzz7n< ¼Ñox¼›å3¶—¨–˜X}ùr‘——±µµZEEKttáéÓ¹ææÊ[¶L20ߺÕeûöD##EÖú ##Îítøìˆ÷(H)tÓ»×8­éýÿ;5Ý-¾+E‘ºxMUF•(a2™§ýM"‘Þ~l®ŸÈ¥æ¾h~Á~ÁHQJ±¦¥†Î¤³W4V 4T?[¿?þq!ã ó³/ö0zÙ.âѯñ3+M+xTþˆ¸†EH.O¼¹CXD›Oœ={¶¬¬ÌÅÅåæÍ›²²²@£Ñüýý£¢¢<¸}ûöèèè´´4ÿS§N‘ɯÿ*¤¥¥Mš4)$$$<<œ(©­­½xñ¢Ïë…<+V¬ˆ%¾Ï;W]]íééyùòe hooŸ9sfmm?«lx7Ëgl/Q­®®îĉ+V¬ =zäêêºoß¾o¿ýÖÀÀ`Û¶m;vì011a]ïtG¼(¸³góËÊš]\tnÞô“•áï5*ªðàÁ§Û·OŽŽ.LK«ñ÷·ü“u%¥¢±âBÆ…†ª)§9Åxʽ’{µ­µ™ÊÒÊ3Ígòèwpˆ?…ÆŽFöB~†0Ýlúq?FdF¼@\ÛzÕþêï´¿`¦ÅL@ Ú|"11‚ƒƒ‰ï<ß¹sgTTÔÇ ..ääävîÜIÌÉç”””ÒÒÒXíØÛÛ³¾€¸„Q]]M&%%À–-[ˆdddd¾ûî»Ù³gów³|Æ6 ñÌÍÍYÉ899ÍŸ??22277×ÆÆ†wÌêˆ÷—˜XÁÁ“‰ï<Û¹sJTTáÇUWrr;w>úÿgL&SII2-­†-NMÖ—"—0ª«[‰Ã¤¤jزe‘L€ŒŒøwß9ÏžÍ;<ÞÍòÛ€ÆK07Wf%àä¤=¾Yddanî+¾fVùìˆ÷|êòéõ‚ë_Æ|y<õ¸­¶­¼”|]k]áˬYa‹ÂØgãy°×±Ïz‘5÷øÜæ3 ½2=§&GÀdbб ¸~"¾8ÞFËFMöÍv¢+Vþ“÷Ïï ¿'–%²nŽÿ×7>C]d»ènñÝ®ÿPô²hÕÄUì;môîwpô•ôÅHb™=Œeier âgzŠz Æ-ˆÎŠžbþ«9âdñòþ©m­a>ç'„E´ùDCC˜˜˜°š˜˜H¤úúz¨««€~¯èëëÿëJ˜œœÐh4ö^8. ô¾F0ÐfùŒ]¿ã%sœH”§ ±#Þ\CC'˜˜üëV% êë; ®®ŽÍäÝŽ¾þ¿~““{ý9{/FFŠìu8Ñ,Ÿ±±ëw¼ccÎØˆât!vÄ{€ôõNùŸú2æËìšììšlV¹•†ŸÉ¹%•%={ùìxêq ˆQ~ôüñ쓳ì›1 UlRÛZ›]“½aÊöBm›ž;¶ÞØšZ‘šZ‘ ¶:¶óÆÎû1îdžênî®.§~»è6°_ìàÚïà(I+ùŽ÷ÌŒ<•~Š( r âg<+¸®µîAéƒÓO%z{fï<*Dm>¡¬¬ %%%ìß|%%%L&SEE…Uá?ÿùº:çïm22ý,³çèåùóç¬uÄ¡@¡*¶~ÇK(--å8‘(!Nç?¶~;5ee)()i41yó ZRÒÈd‚ŠŠ«Âþc§®Îù‰ÉÈðûwhäùó&ÖºâP°Ø[¿ã%”–rÆF”§ó[¿B;¬"ó¯¿áÏïД×äxØXͱ±Å>®zœ]“ÝAëÐ’×£>†¸š†Ê†A®Aöºÿº›‚(´Ñ~=Y¨$­³:&¾(þyýs)…©&SutLk‘ ×F¦O‘•U•Ue/\þÞrö[ xÇ&tñEñL&“}ÁÏÆÏÕÈõNñ–®3537S·ÂºÂ × 3Õ7³_ü„J&‘·ÏÚžW›'/)o®fλßAh;½vÎ;/—šÛN{sÅ“Ÿ!H‹K_|<­2-óE&ƒÁ°Ö²v2pÂç‹ ‘hó —ãÇ»¸¸ßÁ===ßÿ=Lž<ÜÝÝÃÂÂzzz¶lÙ"&öæÏµ¦¦¦¢¢¢¯f9Lš4éĉ;vì¸té’¸¸8tvv²ß=18ƒˆ­ßñž={ö÷ß³¯Ÿ¸té’’’ÒØ±c‰)))öi†Aw$j..ºÇg'º¸èÈȈ@Oãûï`òd]pw7 ËêéalÙ2ILìÍâµšš¶ŠŠ>W°s˜4Içĉì;’/]š/..=ìwO Î bëw¼„gÏþþ;‡}ýÄ¥KEJJ’cǾþWRJŠÂ>Í0èŽF¡O&}ÂQÂñü 9Þ‹þH$Ò{zï½§÷^ï‰oµ~ )b”Y³ØK–Ø-á݈«±+k+'–eöË8JxÄ&tñEñºŠºì78°h+h³ïxa¥aÕû*?¡Î´˜Ù{9×~ý¡‘H$##ÎåGü ô8öGÂ"Ú|béÒ¥;vìHHH;v,ë6„ÜÜ\eeåO?ý-ZräÈ‘7n¸»»kjj644<{öìþýû7nœ8‘¯'Èùûûoݺ566vüøñ³fÍ¢Óéׯ_ommA`"¶~ÇKPWW_¹råùóçÇW^^ÝÓÓ³aà åõ‡™™Ù“'OŒÅÄĈý'Ñ‘¨-]j¹cGRBBÕØ±ÇY·!äæ¾RV–úôS;X´hLHHú‘#e>L IDAT™7nýú"±ÿÄ :5ñØØˆmÊør.Ì%®MP(b±±¬^}=&¦8,,‹u¢®®œ£#¿qÊËK\º4Þ¼‹õõ ¥%ûë¯n±¬åŠƒ0ˆØú/ÁÅEÇÒRe÷î”k×^_ØZ¶ÌŠ}ûË V­ºvút.qHì?1ˆŽµÎkGU¿è-ùó;ÆŽ›““Glã8fÌOOOöý1ÕÔÔ®\¹’ŸŸÿàÁƒºº:uuussó)S¦·hR(”­[·ZZþk¢Œ(d]''§gÏž]¹r¥¢¢BOOÏÇÇçêÕ«ðï‰ìñÙ,ïØ¸êw¼„]»v-Z´èÞ½{ còäÉ»Y¬X±b„ wïÞmhh`0D21 –ÏÇc&ÆŽUÍÉYW–ý’NgŽ£âéiľ?¦ššô•+ òóë<¨¬«ëPW—67Wž2E¸E“BÛºÕÅÒò_WĉBÖÕprÒ~ö,ðÊ•¢ŠŠ==y³«W‹áß Ùã³YÞ±qÕïx »vM]´h̽{• sòd]ŽÝ,V¬°ž0AóîÝò††.ƒIì?1 –Ï"„Ð[CbíœÈ???ˆˆˆY<ƒ”››khhÈšxùò¥««kAAAFFŸw`¾ÒÒÒ>>>—.]êXx!‘H_|ñž}û†:×rs_*°f#^¾ìpu=WPPŸ‘±‚Ï;0ߎÎÎié³K—æu,\ëç—J¥×ûbffJõöÆ;W¾øù9555å¿AÑ^ïxkbccwíÚåîînddT]]ýÏ?ÿ444LŸ>}X%hÐbcKvíJqw702R¬®ný矒††ÎéÓ †U2B£Ù;’OX[[wvv^¸ðfC4Öú4ÒY[«uvö\¸PÀ*qpÐ:}ºŸýÊB½5ïH>áååUYY_RRB&“ííí§M›&àîú¢ÀuYê———qeå'ññå%%d²˜½½Æ´iúÃï—û²„ Þ‘|”””|}‡û-I …ÇS9JJ’¾¾æý×RЧr „Ð; ·C!„ 0Ÿ@!„ 0Ÿ@!„ 0Ÿ@!.î—Ü_zfiJEÊ;ß©ˆÖJ:´òüÊ¥g–fTg u8HäÞõ˜!TPW|3x‘í¢ùãÝR¬®­.¥"¥¾×“ù„nH:Ÿã>9ÔÖaS§ FÃßÀò‰W¯^UVVnØ „ÇØ£a...ÿ ß1zzzC…hµtµ¤T¤L6~{OÙE\Õ¶Õš«™»›»ç׿ß-¾;Ôá ·a`ùijgÏ*++CBBD >²³³³³³‡: $dC.¯¼¬!§ÛnnêXÐ[2°|‚xlÕ0|~.‰p`ÑP‚„Ëïßž‘bócoÜhéj1W3_á°¢èeÑ¡¤C_LýÂQßñRö¥¿Rþ€ˆŒˆ‡¥‰úg—%^¤T¤\ͽZÑX!A–¯=~‰Ý5Y5ö–¯\¿ž½¹«™h™ÿ2ª3vßÙý¡Ã‡õ'ž~|:§&GCNc‡ç(­/ÊŠ*¬+ìaô«/¿ÐJÓŠÿNïÝ9úè(1:ŽÂÓ6:è9° ËÊ.f_̯Íg0&ª&~6~¦ªož¼ÐoBG$hTÁõ¡ã뾎ʊ"^ß/¹•åoçÏZpPÕ\•W›•M••M•ì'þ|ûç°Ô0Öáí¢ÛÇSõ;:AwB_-/±[ÂgTMM))6:6Ûom¯m­€±šcà쓳Á7ƒéL:«ÙÓOÿäùÓB›…|vÊu9QØÐÞÀ*9ýøô·~du_<õø…€ ¶Ú¶ü„Ñ[À¹:ƒÎcÈJÒJúþÙï'ƒFÌ'B#Cl~lTV”´¸ôGŽÙhÛ4t4œJ?uôÑQV…ùÖóå%å·ßÚîgë7ßúÍzÌ›…7ÃRÃ(b”+ [:["³"“Ë’×]\wç“;’IVË«'®¶Õ±­o¯?™~òØ£c ïDê cã × %)…ÇU·ÝÜ&#!³Ô~©­¶­Y"»&ûxÚñnüàl謧¨'”NàQù£à[Á0ÇjŽ›©›¢”bñ«âˆÌˆÖ®Vè7 ®m¦T¤ðÎ'8¦vÌ'B#Å…Œ ð»ÏïÓͦ%óÆÎ›6§øU1q¨«¨KL è)ê98±N »¼w±núð±öù0ü䲤ÛE·½-½#2" Ä'ÄÝÌýuËÖófÿ5»´¾”ÿð4ä4¢WDK‹K‡ë.®c0a‹ÂXS o§k·êüª˜Ü˜O'}*”Nàxêq&“ùýŒïW:¬du´jâª.z„¥„ñƒk›§üO1™LŠ“Å$ 0Ÿ@ …u…JÒJ¬dÄÉâsÇÎ yÐÏ ñüÚ|iqikV ‰DZb·$©,)šçmé]PW $­Äú^ ²Ä¼±ó~Oøÿð<Çx²’ Èx‘A&‘‰Ø˜L&˜ÐCï"J§õ"K’"0!€½,F–“á' ®Ø—k Ä'Ì'B#CgO§’”G¡¢”b¿'võt)H*p4ä4J_•6v4²é²oš$ Ç\½†œFÑ«"j+USN“U˜U“šòš}µLT4mínz÷á÷þ¦W‘Qá³S)xÕöн° ®€££eP!î\\éLúw׿kën#JnÞº˜u‘½ŽŒ¸ ”7–³N1žÂd2¿ºúUCÇë{"R+R'&Þ"þOgÒ7Çn&Ö0Àµük—s. í,‹Y´Žë×-5, œˆÿÆjŽ-¨+ Ñi|vj d™-]-DI|QüùŒóìuf˜Ï€ ËA%¯Jˆ“q%çJ~m>?apuÊÿÔ™¥gxü‡“¨7œŸ@ NÑÙÑ7 n<(y`ªfÚÐÞPÙT9Vsl.5WŒôúW#cUciqéè¬èìšlâjÂÙeg×8­¹’{åáó‡SL1Q5iíj­hª`2™~¶~ê¯[ΊŽ{ç²ßÅDÕ¤¾½¾º¹šhYho=»uöÉÙ ŒTŒä%åëZë^´¼ 3èa‹ÂøìÔJÃÊZÓ:»&{êŸSMTM^¶½¬jª²Õ¶ÍxñæqMü蟼²^dyóÔSÔS”V,­/míjý{Éßü„Á•àë'þLü3¡4ž7<€ÝwvJ:{i wɨžŸØ´i“Étssê@BýÓ’×:±ø„©ªi;­=ëEVMKͧ5Þ–Þ +!KÔ‘¢H};ý[IŠda]aJE ñ`-u9õsËÎ9ê;vötæRsËË¥(RŸLú„Ør 4å4OúŸ4W3o§µg×d×¶Ö®š¸Šc…ã@Ɉ˜[znÙ„eâdñ¢—EOªžT6UÊKʯtXi­eÍg§$i÷ì݆ʆ-]-Õ/Û^nœºq±Ýbö:r’ráËÂçYÏ#©¼±<ëEV­ÃÇÚÇJÊŸ0D¤øU1ñùrÔ‡ïÀ£IP_H¼o âàçç£xÌÍ›7ïÞ½ûÉ“'vvvC‹háþ˜ï(¿… …ðóK¥R[[[yT033 ¥z{óª#ˆâWÅ­Ý­†J†JÒJk#ׯÅßûôž®¢.«B;­½øeqGO“Éd¿q´®µ®²©R‚"a¦j&I‘äÝr]k]I}‰¹š9u„ÆŽÆ‚ºCeC-y­ÞïÒè´âWÅ´-y-MyMÖT ÿ2™Ìg/Ÿuôt˜¨˜ÈKÊ×¶Ö–Ö—Z¨[(K+³·CŒš,F6R1"®û ( á*~Uü²íeïr~>OôvðósjjjÊã]£úzÇÞ½{ÿûßÿÞ¹s‡5EQQQ±}ûöëׯS©T•éÓ§oÙ²ÅÒÒ’ãÄ„††–••éèè¬^½zóæÍʨþ$z;¢²¢&N"v’f0'ÒNÄÅ›¨š°' #.3^{|ïÓÕåÔÕåÔy´Ï¾Gu¿•Y”¤•سâdqK ÎCÔ)‰D"®Ë4ä4¸îfÝרù C¸LUMÙÇ…Fü|£´´ÔÙÙ¹¶¶–8¤R©çλzõj||¼ƒÃ›}òwïÞÎ:å‡~(((8uêÔDŒÐ(s½àúæØÍº º*2*åå°aŠh„[ÖPöMì7}½ë ï°qêF‘€Ðˆ0ª×OpøüóÏkkk§Nš––ÖÖÖ–““ãëëÛÒÒ²fÍöjQQQ¿þúkuuu}}ýÙ³gUTTNŸ>}ûöí¡ ¡Ñcáø…º º•M•™/2;ÕdÕvÏÞíeé%ÒNÛiíĵ®ÿÖŠ´w„F œŸx­­­íÚµk111 0vìØóçÏÛÙÙ=}ú´°°ÐÂâõ|ã_|±qãë_Güýýétz@@@dd¤»»{Ÿ­#„„ÁcŒÇ,‹Yµmµ/š_ÈIÈ™¨šˆz*žYz¦¯w91 4ja>ñÚóçÏ{zz¦L™B$ …âáá‘““STTÄÊ'<<<ØOôôô€¢¢¢·-B£‰DÒ”Ódß™JÔdÄex,@ðzÇ¿pìÈËÿ)ƒ8!„zg`>ñš‘‘…ByðàAss3«N§ß¼yÌÌÌX…7nÜ`?ñÚµk0À›jB¡w æ¯ÉÊÊzyyQ©Ôùóç?~ü¸½½=//Ïßß?;;ÛÎÎŽu±BBB~ûí·ššš†††sçÎ}þùç°pá¡‹!„b¸~âGݹsç½÷ÞcÊÉÉ=z”½š¯¯ï—_~ùå—_²J–-[†‹1Bf8?ñf郉‰IZZÚG}¤««K¡P444–,Y’ššÊ¾ùlÞ¼ù÷ß777—066þñÇOœ81q#„BÃÆ¨žŸ –JHII±Jôõõ;ÖWý]»víÚµ ììì‚‚‚ÞB„!„Ј0zç'ªªªbbbÀÈÈh¨cA!„F¶Q:?ñÉ'Ÿ>|¦L™¢©ùöndG ZÖ‹¬/r rÅÙÁ‘¡¬¡Ìý0÷µe¾ã}÷ÌÞêãbärrÉIŽ:× ®GfFf½ÈjêlR’V²Ñ¶Yl·ØÝ « S£4Ÿ•©S§]ô3Ëaó „ÐÈõ"Ël—YhB(«¤©³iëÍ­Î8[ﵞb~|Q|TV”Ù.³ë׉ ÷Kî›í2;žzüiõÓ¥g–Žÿu¼Ãïÿ½ú_âAç,=¡ ¡G=Æþ2ÖnŸ]À¹€¥Xï²I©Hñ?ãoó«Íüó€ÉdFdDøò³ùÕÆz¯õœ°9§Ÿf2™üŒ…÷¹\{ì+ŒÁ?œEeEÀ ‡c5Çr¼e«m»Än “ɌΎŠÐ/£ôzBh¤ëêéZ~vy^mq˜]“ýqÔÇÞ–Þ½kfÕdýr÷—nz7tÐ:.f_¬lª<·ìñ.N[¾"½28ì¦w'•%%—'Ï ^j¿”ÕÈãªÇ»âwÑ™t`0L&sÓÕM—s.³*ä׿o»¹-š÷“×O¼#çó\޹.ø¾³g A繚¬ZòúdÞ£ÜãÊÇàaáÁõ]1§Ÿ~RõDÔa Â|!4"L?™W›g¢j<+ØVǶ¾½>,%ìd:—ëôWr®,µ_ú‘ãGšòš959®lH­HÍ£æYiZÀ©Ç§Ò+Óut¶ÍÚæ¨ïØÒÕ‘±ÿáþŸnÿ4Ó|¦ºœ:Ñȵük~¶~kÖ(ÅÈ—²/]ιO4ÛeÆQ¸Á~Ï1ž\ë¿l Ê\ßÕWÒ€ºÖ:¡Æˆ„ó „Јt½à:‰D:°à€¹š9È(Êl™¹¥¤¾$¡4£¦«±ëvíÄë÷ôÞ[ë¼vÛÍmùuùD>› ¡óCítì@NR.È5¨¶µ6üiøí¢ÛKì–'ÚéØýìù3k;ÝȬH²ùøâãrDÉDý‰ûæîó<æ÷,Žw>Áç¹=r-\ð})øª€w„xÀ|!4"•5”iÊiÉËã)½ó ggöCâܶî6V;JÒJÄ÷1Ët³éáOÃËÊX%“&³?«{FgЧü9˜L&˜Ä ¨n®æ9ŸçrôȵppÁ¿e½¿CMF­®µ®¼¡\YZ¹÷»ÀšzAÃÇÀò‰äääÊÊÊ!ü{‰Þ¢Å‹‡:$dÉÉzC‚0õþ·ˆërHIŠä¿ÎGM¢„7%i%öCb×Õ4:wS|žËÑc_…ƒ¾/Ãdý„½®}^mÞ¶:¶½ß½Qpƒ¨#ê0Ð@ ,Ÿ077—––ž={¶ˆ¢AÃDHHȪU«ìíñ'ö¦¬Ìå¾ÊPÙ0óEfÑË"3µ7׿žsNNðÓÎÓê§Õìß^w‹ïoõu–©ªi5'q]¢¼¤ü@{ä\ƒ ~˜ûÀ想OΞL;9ÇjÇ-/2Îgœ'‘H¾ã|‡*<ԗ媪ªªªªûöíQ4h˜ ±··÷öæ²T\±±±rrrC…ÐxXxdTg|vñ³íÛm´mêÛëO¤è}±£_ÞVÞO«Ÿ~~ùóm³¶9è9´v·FfF†? — KðØÚÙÏÖ/ퟴÃ?\?y½Ž¼¤|mkma]adVä2ûe.F.½8½2=fuŒ•†«ëýã´Æ]Zy©¯vvxîhéj‰/ŠÿéöO?Ýþ×ý·s¬æ|çþpÃFBùBhD’¢Hö?ýëý_oÜlín5W3r ʮɾ×¥ùoGœ,~Òÿä‘ä#Wó®V4VH%Æk_ë´vªÉTg‘H¤Ý³wO3vþéùìšìvZ»–¼–¥†¥ï8ßÉÆ“y÷(ȹB ^tˆ¥!d’ ·¤J‹Kþàðõ‚ë™Ù5ÙÍÍŠRŠ6:6‹mÏ0Ÿ!ŒH‘ð‘øÜÍàçç"‹ $)44¯w¼cÖ­[''''øÏ/•JmmmåQÁÌÌ44”êíÍ«Ž(0˜Œù'æçÕæ¥¥ò¹ ƒÉpøÝASN3ö£X\¶?üñósjjjʃ¸ß6Bh¤úùöÏ—s.W5UuÐ:òjó‚.åRs œ0™…u…ÍÍŸLú“‰Ñ ¯w „FªÒ†Ò°Ô0öq™!¿¸žW›77ln_ïÎ0ŸqèƒwóáÆéU麊ºsÆÎê@ÐÐíóçÏŸwss{úôéP‚°ïÜ¿û`ü†Ê†d Ï1ž‘F²¯DoÓ2ûe÷>½'øâ 4B¢ù‰S§Nýõ×_üñÇøñãY…÷îÝklläq"Bhx2R6Ú={÷PGÁÉJêh3>M:£(Ÿ(++»wï^SS{áâÅ‹ìììú: !„BýEùWúúúúúúCB!4² yýD||üþó//¯yóæmß¾J¥åuuužžž .ìèè`U®¨¨˜9sæòåË{zzxŸÎrïÞ½   Ù³gûùùíܹ³¾¾ž(ÿé§ŸÜÜÜ8æˆBâÆ¶/¿üò¯¿þ€õë×»¹¹¹¹¹}ñÅÀmýN?sæL@@À¬Y³–,YräÈ‘ÎÎNÖ»GŽqss+**ÊËË[·n§§çŠ+îܹÓï'ÓÑÑñÛo¿ùøøÌ›7ï—_~iooßµk{̬–³²²Ö¯_ïááqðàÁ~ãéwàì-?yòäã?öôô\½zuB€·D!„ú"´ù ƒ±jÕª“'ß}šU!22r×®]õõõd29//ïÞ½{4Ú¿ÃCÉJFFÆóçÏ€cé%Çú‰¶¶6OOOöïÚóçÏïß¿?..NCCJJJîÝ»wõêÕï¾û®½½¨sêÔ©óçÏ›spÕÔÔ4mÚ´ŒŒ ÖÐ"""LMMÙc&ZŽŒŒÜ¶m[WWX[[÷O¿gµ±mÛ¶îîn¢ðøñãüñǺuëúŠ!„âŸÐò‰={öœùä“èèhVµ¯¿þzΜ9 .”““»råʱcǾùæùÄ7ß|“‘‘¡¯¯ÿÕW_™˜˜ìÞ½›ëM%[¶lñòòZ´h‘®®®¾¾>ŸñðcëÖ­žžžþþþRRRׯ_?zôè† fΜ9f̘µƒBõ&œ|‚ÉdþöÛoZZZiii¬úúú*++ïÚµ+99™H8ðäÉ“õë×—––þù矋-úüóÏù9ÝÙÙ944T\\üîÝ»'NdUøúë¯)¾†`kkkll ööö®®®\ëôôô„……III%$$XXX…‹/¶´´¼té•JÕÔÔ$ Ž;F¼ž;wî³gÏîÝ»W[[KÌônöäÉ“òòòIIIºººàíí=gÎöÛLX|||XÛò?æÌ™ÃJA,X ­­|âĉ;wòßB!Ä•pÖO”––ÖÕÕÑét??¿3f¸»»OŸ>}úôéW¯^€üü|¢š´´tdd¤””ÔÏ?ÿliiI,hàçô’’’úúz777V2APPPJü„’’’ÖÖÖ÷ߟõå ªªª .d2™™™™¬Â¥K—²ŸH\‘yõêU_ͶµµÍš5‹H&æææ“'sÙ¨ÿÃ?D<üX½zuïÃ6‚Bq%œù bé_]]ÝíÛ·{¿ËZgâââd2 deeùìííÖÒÒú믿«««SRR(Jttô¸qãØ#œ2eÊÊ•+i4Zjjê½{÷¸Þ®éîîcffV__ŸššJ¥RuttN: ȇ3wîÜ¿ÿþ[EE¥¶¶655•Á`œ>}š¸Ö@Ìšô¥ßxø8á÷ß÷ññ)((ÈÌÌìîîvww¿víñÙ"4"”5”…&„>­~Êd2“Ë’ÿJù+üixSgShBèý’û¬j¥õ¥¡ ¡§ÒO±Jz=¡ ¡×ò¯‰"ªÔŠÔÈÌHH*K M%þë+Z¨m­ M}TþˆcP &#¡4á裣™-]-Ä»´Ž˜Ü˜CI‡®æ]¥Ñi}„€Ð°@âsÿ±Åë†F®šššŠŠŠ †‘‘‘ºº:QXXXX]]maaÁ± !##£¡¡ÁÖÖ–µ8‘ëéì¨Tjii©¢¢¢™™ÇZŠÎÎά¬, …bmm-!!‘——G¥R]]]Ù§jkk‹‹‹»ºº”””ììì***Š‹‹íìì8–+Q©TKKKö5 %%%åååìyQ8qâDÖ S®º»»‰+cÇŽe0&&&ÒÒÒ¥¥¥ûŒJ¥~üñÇ|6ÒW<~NÐÕÕÅ5˜hD K kïnŸ;v®’–¼–IÌÅÐåFá–®yIyxPò@_I¿¢±"±,ÑsŒ'<(}®ÆÜ7ž€ý‰ûé ^·ƒ©Éªõ•O8ê;.´Y™élèì¨ïÈ;Ú>•ÖÙÓùÁø”e”–>Ì«ÍÛzskuSµYb™ý2²ùŸ¼r¨9áOÃW8¬à'BCh´?ì­ùá‡6oÞLÌ©<{ö¬½½]NNî믿ê¸a:hWV]1Q}“|»»ÆæÇ&>OôãÑÜÙœMÍþÊí«°”°„Ò"ŸH(MP‘Q±ÒàždÀ:—uýÎOôõÖDý‰$‰¸¿ã3—Ïú–+&0¯^×VкÝû˜wâóD#—c~Ç$Èð^€ÇQø¢xÌ'а…ùÄ[²iÓ¦ÜÜ\âÐÆÆæÈ‘#Ä–!þùXûp|= Ï<Æx$–%ÒtWc׺BâòASgSvMöl«Ù½/²¬w]ÿÖ¢åjÁ¸D2dÙÉÀ©øUq c ‘L€±Š±Ž‚NUS•ˆâDHp˜O¼%Û¶mûþûïŸ?^WW§££chhøÖº^»v­§§'Ë% FÊF%: :&ª&J@Bi‚†œÆõ1®Æ®QYQe e¹Ô\“1ÙˆËv´,‚¬Ÿh´\q\ ‘—æZØÜÙ<ˆz;0Ÿx{( ïe"ÂÏò„F ²—[¬'M>•~êyÃó„ÒbºÂÕØ•D"%sóî%Kš÷îUmmÅdFöîU•—g¬Y#üÛ¯ðG!$640°q£CÈ¿!„):Z>*Jþ»ï^JK ÿb$æ!‘PR¢=ú")If÷nÕþk#„D,-MêûïÕ?ù¤ÁãMíc>•ñã»~þ¹6,L)4T×f"4„RS¥>ùD{úôö êEÔî·¡¹s[ÛÛŶnU+-ßµ«VRÓ „Þ¶èhùï¾Swwoß»—*&²iœŸ@‰ÖâÅÍaa/îß—Y¸P7-Mj¨ÃAhyù’¼y³Æ×_k|ôQãÔHI‰0¡Ç|!$r..ÑÑ•ªªtÝ5Ÿ?êˆzǵµ‰=ª4c†Ab¢ô5›6Õ‹úÁ¿¸?&Bh`úÝ“‡Û·eþYµ¼\ÜѱcÆŒv{ûNCCš¢"]ts°­­b55”œ‰û÷eââd Òš5kÖ4 únŽí‰ùBh`É'€N‡{÷d¯\‘{ð@¦© ó„„ŒLf:8tΚÕ6~‹€›Va>!ó &ªªÄËË)ÍÍbL¦ˆ§b‘`Ö¯×ZµêÈ„ ó†:Ä‹¬,CMnfÖ-¬}‰öyå!$$èéÑôô„ùÄd$:öö^^ø€7Ô'œlD!„ 0Ÿ@!„ 0Ÿ@!„ 0Ÿ@!„ 0Ÿ@!„ 0Ÿ@!„ 0Ÿ@!„ 0Ÿ@!„ 0Ÿ@!„ pL„ÐÀhjjjjjuèmÓÔÔÐîËh´Áù „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B ó „B Š2Ô „vÂÃÛ››ÙKâââY‡¾¾¾jjjo=.4|‘˜LæPÇ€BhxYµjÕ‰'ÄÅʼnCƒA"‘H$Ðét99¹ºº: ‰! /x½!„' ýNïéé!^“ÉäÅ‹c28àõ„ÐÀ466vuu uH´Æ§¬¬ÜÐÐÐû-æååE¥Rß~Tè-ÓÔÔä¿2æ¡éêêjmmê(ÈÍ;÷ܹs4£\EEÅÚÚÿŒÊ'ðzB!.æÎÛ;™Ÿ?>™L’Ðp†ùB!.ìííutt8 i4Úܹs‡$4Ìa>Bˆ;Ö-ñãÇUB¨O¾¾¾ H$’………™™ÙPG„†)Ì'BõiÞ¼y===@&“}}}‡:4|a>B¨O:::666@§ÓgÏž=Ôá á ó „B¼,X°ìííµµµ‡:4|áóÀBC¥Rܱ³“tïžÌƒ299’âÍÍb †°¢C¢@ÐØðÉPG‚x‘•e¨©Ñ­¬º'MêpwoÓÒê°ASSSþ+c>Aò‰–±C‡”ÃÃZ[Åll:íí; iJJ 1œ*ÞX¶ìw99•¡ñÒÚ*VSCÎÉ‘LJ’îì{ÿý¶/¾¨·´ìtƒÊ'ðù¡·Á€¨(…½{U˜LX³¦qáÂf55úP…ø5nÜ·úúøÌŽ‘F#ÅÅÉ;¦ä㣿dIÓ† õJJ"ŸÄù „ÐÀ b~¢¹Y,(H+)Ijùòæ  zEE¼¼È1™pñ¢üÞ½ª \ƒÉBCnýúz/¯¶õëµÊÊÄû¯=p˜O „D"*J!9Yêðá Ao‚G ŽD‚]»juthÛ¶©‰¢}Ì'BÂ×Ú*öÛo*~ØŒk&>$%™ÁÁ/dnß–zã˜O „„ïàAe:Ö­«ê@pTWW/ý¿ÊÊÊ¡ Þ„ sç¶þü³*]Øû¿àzL„uv’ÂÃÖ¬iÄ[Cß)))ÄëöövâŦM›ª««`É’%óæÍ²àÐ}þyýŒ÷îÉNŸÞ&Äfq~!$d÷îÉ´¶Š-\Ø<Ô ÑÊÌÌLIIIII!² 4RÒœœ:„¾ÎO „„ìÁ›NÜNû]¢££sæÌâµ¾¾þЃçîÞ¾¿2“ $’ÐÚÄ|!$dYY’NN"¹Áñ‰Á`|ôÑG]]]°uëÖ1cÆÀ?ÿüCä ,ðóó€ÊÊʯ¾ú ÄÄÄŽ;V__¿iÓ&¢…={ötvvž9s¦´´ÔÝÝÝÝÝý÷ßg½õèÑ£¨¨(Ö´Dxxøýû÷@EEeÿþýDasssLLÌ“'O^¾|)!!ann>gÎ++«·ù9 ¾ØÛw65‰UU‰ëéÑ„Õ&æ!!«ª74Ä‹CILL¬§§‡XñðàÁ"Ÿˆ%J( ‘OBï&WWW"ŸHLLÌÎ΀I“&iÄÓ§OY9DïÅÒÓÓ{õêxxx|øá‡½+˜šš ·G4à~V!ônb% IIIÍÍÍÒÒÒ¶¶¶æææ***ÝÝÝ>ä¨6PRRRÄ‹—/_²—{{{/=z$//ïôãǯ««ËÊÊ’“òNJh8Àù „z7ihhXXX2™Lxï½÷( 899]»v¨£­­=èÙ‚qãÆåææÀÉ“'ÓÓÓ¥¥¥ßÿý5kÖܾ};%%¥±±qÞ¼y¦¦¦rrrT*µ®®ŽN§O™2%00PHCDÃÎO „Ð;‹}îÁÙÙ™ãv±cýúõÄþT #+++%%¥¤¤$$$þþûï/¾øBCCŠ‹‹322jjjdee}||Ö¬Y3èÑpF"òV„â•Je­ÕçÊÌÌ44”êíÍ«z;êêêˆïx°°°PVV€æææ¼¼<¢ÐÐÐPKK‹xÝÑÑ‘™™I¼¶±±aÝÊû­òòòÚÚZ:êêê&&&ìTUUÕÖÖJHHhjjªªªâm¢Ã??§š»Âë!ôÎRWWWWWç(TPP`ß.‚EZZšk9ï· ú @WWWWW—ïxц×;B!$(Ì'B!$(Ì'B!$(Ì'B!$(Ì'B!$(Ì'B!$(Ì'B!$(Ì'B!$(Ì'B!$(Ì'B!$(Ì'B!$(Ì'B#CVVƒ™ÙÅÐÐü¡„Ó° ì-‹Š*33»xýzõP‚†æ!„ú”–öÊÌìâCîðù¢¡‘aüx墢CÃ60„Þ&œŸ@!„ þÇÞ}Ç5u½?!@ {#+€ˆ,‹ˆŠX7âÀºGÕÚV;lé°[mµ_µÚeK«U[Áºhq‚[¤€€ƒ%ÙÂ&l’üþ¸ý¥i€ÑÏûÕ?rÏ=÷œç¦ê}rî¹ç"ŸÅÐyšBK ?((}ÆŒë#F„»»_X¹2úîÝ ñC„BræLþ¢Ew\]Ï;;ŸŸ=ûæÑ£yBá?{£¢8lö¹œGj–/¿ëârÁÓóÒÇ߯­mo¤®®í«¯’¼½/;;ŸŸ7ïÖÍ›e$“±Yé± Q`qqÜE‹î¸¸\ðñ‰Ø·ïŸ‡çN›vmĈðéÓ¯_¹RBîÙ“¹ti!d÷îÇlö9ê?jW}}û–-IcÇ^}-:(Üï…ÔÞ.X½úïû÷«¨Í¶6Al,7.Ž»u«ûòå6„¡|ôQbxx‘茌º-[’ÒÓë¶o÷¦¤Ô~÷]Z[›€ÒÜLÎ+,.n_ZÆa`Àˆ‹ó—Ø£G5;w¦Rí47w|ÿýcC™Ëm9p ‹ª—×ðÞ{ ÖÖšNN¬îimå¯Xq·_ <Ã0> éÈ‘¼û÷«ÌÌÔð~ôhÎÝ»~Ãi4Úöí)\n !$<¼(<¼ÈÑQûàÁq‰‰³RRæž8áëäÄ:u*ÿáÃjQ;çÏ-\huãÆôÔÔ¹§Nùš™©'$T‰®”‡祧×ÙÚj9ⓜ<÷öíé+WÚ]ºTÜcxÒ›•1¶péRñªUvwîÌHI™ûë¯^ÊÊ´  ôcÇò¾ùfT|¼bâ¬×^c ÂààBÈúõŽ'OúB>ø`DNÎKÔDìk9|˜úZf,_n#Ë×Ï0ŒO€Bº|¹˜äåî®KÑÔT tª¨h9y2ÿÆò¥K­CC ètZHÈx##&uÈèÑú»wöó»~ýz™‡‡Uèãcôõ×îÔç^Ð_·Î~Ë–¤ŒŒ:ê×yDD)Föìñ²·×&„¨«k|ù¥k^^CttEçÄIoVÆØ$dfÎëû÷õÿ|}7nt¡>ûù™OZQòÅ.‹YQ…Ÿ|2òô邜œ)DD”ü÷kQߺÕýÉ^L WþAA!Ÿ…TPШ££J%"“'›ž<™_PÀ#„dg×óù "!B! …ÔBHii“èooCñ,-5!ÿß ÏØXºjŠL˜`Üc>!½Yc^^úâ›ffj„Ñ£ÿ-¤ÓiÆÆÌÊÊ)4vþZ|}‘O<ÏO€¢¢Ñ¤í„„.'´·ÿ[È`üç¶/Õ¦ø¼Èνe˜6)½Yc“Ð/ó' zçÀ:Ò¨d‡|’••Æ£G5IIÕnnÿÞ¸}»œbe¥I±³ÓJK«‹‰ñÓÒR‘£Íääꜜ6[KTØãàDú%¶§CI‰F:¥>VVÉÉ5ÙÙõâCQQœ§ %È'@!ùû[ ÍÆ.zzŒÄÄʲ²fMM//ýÀ@'ížxž ŸÆÚZs×®QƒÀP‡ç;@^È'@^È'@^È'@^È'@^È'@^È'@^È'@^È'àYÅa³Ï…„ätW!%¥†Í>”ñtºë³°°6û\DDi¿·,nëÖ$/¯Ëlö9꿨(΀vÏäð\06V t3Æ`°®\)©­msw×urb v,ðŒÀzÛð\02bì(†Š-[ÜGÖ××glÙ’”ž^7ØáÀ³ù(ŒövÁÝ»……B¡ÐÊJcÜ8#&“.¥~hhAiióĉFnnz-'Oæc@ Q4†‡ùú»ºêÄÄp?®ÕÐP™8ÑØÂB½W! Bé‡?yÂKN®)+kÖÔTvw×9RG¢Byyó­[åõõíööZ'šôª÷>óó3{:Áóù(†¤¤ê7ß¼Ç嶈J ?ÿìÕå-ŒövÁÆÏž-|ã WW=B‡Ó”.ºåQPÀ JWUUúᇴØX.u”²2í‹/\V­²“1¤ÖVÁêÕwwxSݺظ8®ø!¾¾Æ{öx©©ýóoï™3_}õ¨­M@mº»ëΙcÙc¿¿ü’!J« ®Nýu{Ï _ ŸÅ°sg—ÛâäÄòö6TV¦åçó¢£+²²ê;çµµmo½÷ðaõΣ.´’ÒfppNSSG@€¥¡!3-­66–û¿ÿ%;:²dœf!ýðÆÆö¸8îÈ‘:NN,F}}G||eTgÏžÌ>r&„$'×lÚôÏŽmàêªS]ÝY²gOfýþúkŸ/-¡00` Ÿ€§ ù(†êêVÍððIJJ4QIuu›Dµ¼¼†µkcëêÚöñòê!-hn懇O²³Ó¢6ƒƒsvìH9x0GÆ|Búášš*gÎLÔÒR¹¿ªªªUE…îçgV\Üxóf9•O:”Ëç ‡:Q-:Í{³Ç~ßygxã²ÄÐO€b˜1Ã,88çôé‚É“MŒŒ˜„==†žC¼NbbÕ¯¿fê驆†N´¶Öì±Í¹s-DÙ!ä•WìöïϺ¿JƤ®¤D̉ˆ(‘8ª²²•úðàAµššòúõÿε´T_²Äú?²¥÷ûX Cò P ï¿ï4l˜Æ_mÛ–¬®®ìá¡0Ìßß\¼N||e]]ÛìÙæK–«6 IDATVV='„KK ñM%%š¹¹zJJŒ!I?ü·ß²""Jôô&™˜¨©ª*Ñh´“'ŸˆfKÔÕµ™˜0étš”6»„ù0!ŸÅ ¤D[¸ÐjáB+@˜ŸÏ»u‹óᇠiiµì,ªóÖ[Žùù¼cÇž´¶ ¶o÷¸TwVTÔ(¾)’’’&mmUC’~øíÛåL&ýÊ•)úú Q…?ÿÌ¥ýP,–jyy Ÿ/S¢Í.aþ AÈ'@1ܺUîëkL§Ó””h¶¶ZÖÖšGŽä……ˆç4ùúkwKå·ß²êêÚ~þÙKUUÚª}çÏ¿ú*[tÏ"$$§ªªuòdSC’~8FSV¦1ÿNeøí·Ìºº6ŽQ£ôΟ/Ú»7Stÿ¢¨¨éôéüûÅü ‚O€bX¿þž®®ê¨Qú––í킸8nqqãðá],ï¸aƒ³®.ã›oR^{-fß>o nÿ¡SS£Üš1ÃÌÐùøqmL —F#¯½Æ–1$é‡{x襤ÔÌ™scêT3BÈýûUiiµ¢d‚òÊ+v—.ÿüszL Wô|“Ùó?ËòÏŸˆŒ,Í̬'„$'×BÂË=ª!„øû›³ÙZ= Ðä &O6¹v­ìÊ•§7ZXhìØáÑeåW_e³X*_|ñðå—£ƒƒÇéêv} ãÕWÙwïrÂ˨Mj Ù×ä–~x`àðØXnvv=õšeeÚÿþçqüx^qqUÁÕUwÛ6¯¾z”P™PIqsÓ›;×âÿK–1€>»zµT6!DôÙÁAùô ò P ¿þ:†ËmIL¬**jTWW¶±Ñ;ÖPô쨕•f` “‡‡¾¨þ‚VÆÆjTÇÄTÌšeÑåû; ¥#G|îÞ­È̬SWW~ñE×Ǥºóö6\·Î¾»ÃutT/\˜|ófY~>O[[Õ××ÈÌL] Ö×ÿûŒë¢EV>>F·n•74´³ÙÚ/¾hœ•Uè4ÐõéÓͺœ²ŠdúŒ&”~à¿8Ç“RͶ âøûK«3袢8¯¾³q£Ëš5²ÞÝx–Èò÷ÔÎNÖµb Æ':ãr[NœÈïn¯­­æìÙO/E€|@ReekPPzw{§N5E> ù<:Ï·g`À­Ý™­­L‹eÓÞÀÞPÓ0¯*ï{”Ô•|vù³+N ÙÞ{l™r1ýâöÛéJôE®‹&±'1”‰E‰'UhioQ¡«,q[âjæjªeÊmäžI:“Xœ¸á↻oßUVR&„”Õ—QÉÄ—Sì§Ð•èÑO¢>8ôwÐtÇéG)6Gln4¼¹½9“›)%þ¡ùÀ€ÐPÕ3lÌ`GÑ3-†–ô8Ã_ §Fï·\ÝÒe…5£×|0áFmN´8ÍaÚŒßg$%4¶5j¨j ÍÞ{l¹CбýÆvBÈNÿ/|IÔþ:ïu¢:¦Ú¦wß¾«¦¢&* p˜upVnUn&7ÓÙØ™’XœÈò§9LÛ5kUg {J;¿ý䣓÷ ïIäçRÏÅÅŸ_sþà JùZ† ä `*x‡ïN礫«ªOµŸ:wÄ\ѵ¤KñEñ_,ª-R¥«º˜º,u_j a ^¡ ¦à\ê¹ŒŠ P`«o»Èu‘¾]—M5¶5n¹º…Ãã|èû¡»™;!$£"ãlÊÙ¢º"¡Ph¥k5×y.u !æOt9W€òýœïʹͨÏOªŸ„¥„eq³:6z6 ]:wûZ²§¦óT ºjº%, [=ÛôŠtù‡ë®÷[ŽÊ‹âò¸îfî¢d‚¢ÅÐ}V¥«úŽRVR¶Ñ³É­ÊUQR¡J¨lCâæ‹µ®5!DMYM¼°¦¹fÇo}ËÞÀ^zlCò P$å åóÍ«àUP›W2®\ϾÔ]J±ãÆŽà„`Ñæœ! !¿/ú}”ù(ªä胣ÿ»ö?Ñí›97CBN¯<íf*95¯¤®d]èºâºâŸæþD%gSÎ~zùSñ;÷ãþ0ç‡çÒiþD—s”•”•hÿí|}K}—‘/ÿ¹\\W¼åê–ïgo¢eByPò`ËÕ-êªêË=–»™º©ÒUSËSCC6Gnö¶ò¶`YtÙf|Q¼ô|Bb$¦KEµEEµEÔç /ìÛ¼8¸»m¹º¥•ßúÙäφxïÒ•7”BZ;ZBD3.ÃRœ¾Ÿý½x [Z_úÑ…„DXÁ«(¨)°7°ÿeÞ/tÚ?ÚLí} öm¸°aÚþiF4BË©ÌÑfjÿ2ïcMcQ#1ù1çÓΟ|ù¤ ]EÎÈò P$†š†gWŸ¥'±'yZx¾|âåSNu™OPóævúïœ7rUà°êäªØ‚Ø97ü‡û‡$„…ÂMS7½âù Ua{ÒšÑkZù­âí\J¿ôÉ¥O† ß7Ÿ¡¦¡¨\YIÙÁÀáËi_ŠJ^ñ|¥¡µ¡ËÈG[Ž}.o(ÿâÊ;fî˜á8ƒ* ŽÁ‹ƒE'“Ø“ÜÍÝלZsáñ…î~°YvD|t¤³¯Lzêz~Ž~.¦.ê*ê¹U¹Ç/ª-zûìÛ—_¿,ºöÖ÷w¾O ß4u“—¥×Pî½Gmü6BÈþ¸ý†/zY‡©ó¨ôQpBpxZ¸÷0ïEnÿþ‘knoŽ/Ч>3”>6>™œ¥ŽåD»‰§Jç¤S%ã­Ç[ëY‹*´v´nŽÜ¼bÔ Ñ…ƒ|‰ÿpñ¹oÔo÷î¦ÁgTd¨©¨Qw(4m©ûÒØ‚ØtNºÿpÿ”²†2c娕âGÑ•èêJÿ¹‡¥„er3g8Ìø~Î÷+¬ó^·á†Î0™=ÙÉÈÉVßV‰¦Ôã;—Ç]}rõÛãÞž3bލ0©,‰N£ÿt÷'BˆP(!!¤ƒßAÉ­Êí®)ù/™—_»,š±8™=y©ûÒ‡äVå&%öa2©P(ÜvcÛŸ‰~6é3QŠ6d{ïuçÅXÓøøòã e!d{’½¡ýûáï_H¿ žO˜i›[~Œ/àW6VÞÉ»’r=ûú¥×.Q-pxœ¹!s›Úš^󺇙]‰žRžr(áМa«Â¨Á˜_þþ¥ßöñ‹Ëö`A>ŠD›©-Q¢£¦SZ_ÚeåÖŽVm†¶ÄÔ “Eí"„´ò[YL]IÚOaêBRÙXÙÎo—È'f9Ía<ââã‹gSÎfr3[;Zg˜½ÁwCç Eª›ªW\õŠç+‹\5µ5ñ…ü˜ü˜Î‡t9‹“"ÿü ‰Ç´ZÓ¦ï‹ÝWPSÐÛ+:_ÈÿôÒ§¥þµqÊÆ5£×ÈrÈàöÞ#  BÈx›ñÔŸ µÖ–è EMEMð\ç¹FšF¿ßûý\ʹ£VB%ªnªÞæ·m©ûRªÎdödgcç7ÃÞÜ·ÿÛYß6¶5þqïCMÃ×O¿.j3¿:Ÿòê©W•hJG–‘þ§t(@>Š$­$&…Pu j !mü¶AGY}uúâ‹ !DÚLCò P$ײ¯…¥„Q?î›Û›7^ÙØÔÞ4kĬ.+O°™]™ýÉÅO~ ø‰zª0¡(aÜ~j!dªýÔtNz`xà³°Õ·%„„‚‹/::ˆ&]Bæ:ÏÕfj¿sî%G—ü¹ôOÑìÈoo»Àeè:a¬i¬BWÝG—ÐÐÚðÊ©Wæ8ÍYí¹ºóÞéÓƒ¢ƒ"2#6LÜ@ P‡œK=çiáÙÝ·!çü‰Ë—™ÊÌIv“¨!œAÇÉG'/<¾@W¢Ké´3^+omèÚÄâÄ­Ó·R¿Èe1¸½Ëb¬õX#M£kÙ×®f]î0ÒÐÚ@MàÝiº˜~Q‹¡åkã+Kç¤SÆD0¨ç÷ÆìÝ=w·Žš3uo‹ú³¤ÅÐ:¶ü˜DïŸ_þ¼°¶ðàâƒLe¦’"¼l ù('#§O/}úã´ŒžT?áµòÔUÔ»›®¸vÌÚóÏÿÿ÷„=lõmy­»¦ö&ÑçÇœÇ÷‹ï‹J·wYZ&„Ì>ó‡9?ì¼µ³¸®¸¸®˜2Ê|ÔŽ™;¨§| !sç–Ö—ŠŸ…†ªÆ\ç¹|7ˆf]ØêÛ^vøëk_§–§¦Wüó|Û€½iʦÎËœ(.šô±2 ‡Ç“\žA›mÄñ÷—V§j›k3¹™VºV&Z&õ-õOªŸ¨«ª³õÙâÓ-ÛSËSÍYæ 6pyÜâºbUeU¶>[|nHS{Sne.]‰n­g-ú9(Þ£¨f¯âIõuuSª¤º©º¨¶H]UÝœe.þSR<˜¦ö¦”²”.ÏËÕÔU|º@;¿úñj¢eb¬e,Zíjà´v´Ö6´6iu¹ÐEnU.5i@‚½=5·#¯*ÛÈí²qêYPêó„½Z;Z£ÞŽŸÖ:ˆ½÷ز_ÀÏ­ÊåµñÌYæâsqDÚømEµEu-u,&ËZϺ»‡]¹ #(:èP⡲ú2¼ÈPN7snj3µ=-=«ßÄâDöNöž˜=}8öî“»+ޝø;ÿo^+¯©½)¡(aÍé5W2®ô-è ëm€Â¸•{K‹¡º*ÔFφz‘÷Ç/~üñ‹v\ F Üν=Ñvbw¯Õ~Æú%„´óÛ7Elâ ø¯Ž~õ­qoÑiô#ŽìŽÚýeä—í&Š¿eú ã 0¸<®­¾­¾•L@ß<,yXÝT=™=ù9é—òwþß%u%£-G1å ]5]m¦öúqëg8Ψi®¹–uíéÇóLÂø(€m×·JSÆØÎÍœ›t}¢íDj³¾¥þǨ#³"ë[êí ì};"%Ôø¢øåÇ–¯ö\½yêfñC"3#ן[ÿÑĨïA¢ß>|i{böìŽÚMÙµ›ú@Éù,G–SH(J „8ˆ8DfFÆÆK”Cß Ÿ€g–P(üèâGáiᢒŒŠŒ-W·¤sÒ·ÏÜ.*L)Oùîöwmü6BHs{ó¹ÔsÅuÅ'Vœ öryÜeÇ–‰*×4×Ü̹y'÷ÎÑåGG[Ž•?*}´óæN¾O5òýïÊ n#÷@ܪB^UÞ{áïYëYS©Œ±IpüÖ‘/àK9e ƒ¸wã¤-7rnŒ6šzywkGëŠã+DZSËSß{ø¿x}é¡zYzÙèÙ„§…:éSUºª¨Î™ä3t%ú|—ù]öKéí—Ö%YN¡ ¦€â`è ^8Üh8!¤ ¶@ú×2˜!(€MS7å|–£ÅÐr3uËù,GôßÞoH9*<-<<-ÜÑÐñà⃉ï%¦lH9±â„“±Ó©¤SKŠªO;¿Ðuá7n¤~”zêåSfÚf E 霮O4ÍÇÆçÀÂÑë£3>ɸxï—y¿¨*«î‹Ý'Þ×¥ôK«Ï,P@érÂx~ÀPfˆï¢ûñº/v_;¿=Ð'pÞÈyƚƪtU6ý÷éÕMÕâGI6B£uÙ²@ èUläœ?ÑÐÚP”ðª×«RZèL–P».¾–u-,%,Ð'ð^á½ÂÚÂ7Ǿ)z.´»~{û¥õ•Çdq³F™fTdB¬t¬º= zù<³ìôíÒ8i1ïÄP?Oû¦¨¶È@Ã@ü‘ÂÚÂüê|ñy…ƒ[oEåEu:Äo:XéX%—'gWf‹ÿ¾zÕÛP}m}M´LB“CßÿÎéäÓ„…® ¥ôÛ7Ôs™,§0Úrôþ¸ýáiáKÝ—Š ©¦^Ãþ3F}†ù˜ðÌZ䶨¹½yÕÉU7snV7U·óÛKêJnåÜZn½ø`¸tfÚfUMUGîihmhhm¸{ûµÓ¯Q?ÙŸ~l™ŸdŠOGíüŸô‡;näÜÐQÓñ0ûwr†ßp?¡P¸þÜú؂ئö¦âºâ¯"¿’@–PéJô. JëK/g\ŽÌŒô²ô²Öµ–ÒoßP3(Šj›k{u ã­ÇSÓlwÜØQÓ\ÓÐÚ°'fOdf¤®šî4‡irFŒOÀ3kþÈùñ…ña)aëB×IìZâ¶DÆF–y,»“wgëµ­[¯m¥JFp0t¨àU zl½Âðïäޙ̞LWúwyÊU/¬:Ÿv>½"}剕T F›å4KüùC]ä¶hoìÞÍ›[;ZÅgbvÙoßXëZkÇÄzþüÏŠÝ9ŸåÈr *t•m~ÛÖ†® NNUÛ:c+Çì/Ÿ€gFÛ5kWм ñÖãYL– ]ÅRÇršÃ´ßæÿ6Þf¼ŒLµŸú㜇 g*34–y,;²ìˆøB ƒ[¯Ü/¹_×R7Åþ?Ol2”Ç–[á±Â@À¡Ìa<â·ù¿ùÚúö!T –Åxëñ ­ Z -¿á~Òûíº}Ïü=žžj*j½:Bˆ¯­ï±åÇÆYÓPÕPSQm9:dqˆÄ2 ˜€^áp8<OJ6Û.(ˆãï/­<}ßÜüæðýÉï%j¨j<ý‚t²ü=µ³³“½AŒO<næÜ3lÌÓ¿¨V¿ð”aþÀsáÚºÁyñÕ`õ OÆ'@^È'@^È'@^È'@^È'@^È'@^È'@^È'@^È'@^X  ééײ®ù÷g°ŸíNˆ@(H*MºWx¯ßà`¥k5ØÁÀB>ÏŽÒúÒÐäбVcG[Ž–³©ÇœÇAÑA†OóÒ>(„­×¶^J¿TÝTMmº›¹#Ÿxæá~<;JëKƒ¢ƒâ‹â;çÝ•Œ+µÍµîfîNÆNƒ <%È' Ÿm™¾%öÝØÐU¡/˜¿0رÀS‚û HÊêËnåÞjhm°7°Ÿh;1«2K4á ¡(!,%Œ[Ëð©ú>Ô‡†Ö†¨¼¨¢Ú"†2c¤ÉÈÎ7DÊÊoåܪo­§Z–=¤‚š‚ð´p_[_7S·{…÷Ò8iªKÝ—BøB~l~l&7³CÐa£g3Ñv"C™!{§iœ´Ù7$¦SP…³œfÙéÛ‰ ù~|Q|FE†@(°Õ³`;AYéßÞ{ £ßù9ú hû0!Ÿ…q:éô–«[ÚømÔ¦‡¹Çl§Ù¢ ñEñ¡É¡„¸‚¸¸‚8ª•ODdF|~ùó†ÖQSæ{^Úc¤iDmžI>óUäW¢–ÝÍÜ猘#cT5AÑAªtÕŸîþý$šâlì¼Ô}iRiÒ{áï׋jšj›þ6ÿ·‘&#eì4­<­ót ªÐÉÈI”O<*}ôáù k Eu,X!KBlôlÊ´ýÀ IDAT!=†ÑÙ/Ñ¿‰PÊ)««¨¿>æõ¾xÎ ŸÅ\–¼9r3_Àm9ÚÕÔµ¦¹&23roÍ^Q/K¯…® C“C½­¼½,½Dåééß!èp1uñ´ðäµñ®g]Xòpý¹õ§_>M£Ñ’Ë’7Elµ\ÝT™¹'fO¯Â Nnjkš3bÎ0a&Z&%u%kN¯©o©w3ss3uSUVM-O+ˆ[ºöÚÚkš Í~é”RX[øÊ©Wx­Š!$!„/à¿çóÞ»>ïR%>!¢ £-GÓh4êùŽõãÖ‹Êÿ¸÷G‡ cÍè5_Lþ‚F£B>yñ“ùÎXò0®0n¬ÕØC‰‡ø~ O èæH Oàܹ½ ¯¹½ùüšó¶ú¶ÔæW‘_Õ·Ôo¾uŨ¢:‡m»¾íüãóË=–÷K§„}±ûx­¼ç€þ;Uè*Taq]1F'„ˆ; =Œ.Û|gÜ;=ŽOô6Nxæ!ŸÅð°ä¡šŠÚÛãß•X°,»-þýÞïÒ¼_|ŸN£o˜¸J&!ºjºoŽ}sã•÷‹ïµû øšŠÚúñÿ¦ –:–KÜ—üqïÙà p%„˜‚:^ÝT½'fP( …„ÆöFBHJY ñ ýÒ)!$® N‰¦ôõŒ¯EÉ!Ä‚e!c]el²C>Š¡®¥ÎDË„úÙ-b¡cÑãõ­õFZFLe¦xá0aT›Ýµl©cÙ«ð¬u­Å7«›ªùBþÏÑ?w®IMãè—N !µ-µFšFª]îí1Œ.aþôò P ,&«¼¡œ/ä‹_ƒ‹k‹¥BÑfh—Õ—µt´ˆ§ÔìE“Õ]ËEµE½ ®ôŸÌ@›©ÝÆo[;fmçšÔäJY:¥nlk/,­/ßÔaê”Ô—4¶5v™RôF—0úù(s /ìÝÿö¸ny”Ö—žI>#^‡AgBj›kÅ _°x!<-|wÔîÏ'N•Ô6׈;@í"„Œ²u>íüÞ¿÷ŠÆù‹j‹N'–'ÚqVãN%²Òµ p/ϨÈÐbhÉØ©ËŒr+çÖ—T ‡Ç9•tJ¼ÎX«±§’Nm½¶uÇÌ¢gD©ù¦Ú¦=†Ñ%ÌŸ€>@>Šá•ѯ\J¿ôcÔÑO¢]Í\kšj"³"©BÄRÇR‰¦t&ùL‡ CWM—èøš×k—Ò/Œ?˜Xœ8Ê|¯•w#çFuSµ»™»÷0oBÈ+ž¯\J¿ôsôÏ11¢G-˜*Ì®ãÍ[ãÞŠÈŒØpaCHBˆ›©›S‹ËãfUf¥”¥/6g™ËÒéH“‘FšF™Ë-w7w¯l¬ŒÌŒTWýϵü±o\L¿x6ål|aüX«±,5V^U^T^ÔÁÅMµM{ £ËàåŸ?™™ÉÍ$„$—%BÂÓ•>"„<¯&.!ŸÅàfê¶uúÖ¯¯_O­¨ínæ>‰=iwÔnÑÏe5ù.óC“CÜ?B•úŽ0ñSÀOŸ_þ<©4)©4‰*§ÖŸ fhºšºnóÛöUäW E E „73·¹#æþïúÿú­ËâȲ#.lH-OM-O•;9QWqY:e*37OÝü~øû¢Sö±ñ™Âž²õÚVQa:ÂxáÃâºbÑhËÂLÛL–0ÈÕ¬«áiá¢MÑçgàÕ$Ð5Ý@F‡ÇãI©ÀfÛqüý¥Õé³ÒúÒ[9·xmêITqm±ª²ª‹‰Kçõ1E+o² Ø/Ú½˜ÅÍ’ñUŸ¢õ1ÝÍÜ%v …Â%RËS›Û›M´L %Þg!K§EµE·so7µ79;·ÿ¸âqçõ1;±±™™t%º­¾­ø´ŒÃèw¢ñ Ÿ:dù{jgg'e¯äÐ;ƒ˜O¤–§:;‹ûL-O]|d±&C3öX‰é ]¿ç¸ß ãçèŸóªò<-<õÔõžT?¹•s‹/ä¯zaÕ€&\÷Ä£ÝíµÕ·í4{àzPÈ'@a¸˜¸Üν]PS *Yà²àͱoh§•M•AÑAÝíj?ùA> $Ð'p¾ËüûÅ÷ËêË´˜Z^–^¢iÇ@Ý@4 £3ñ51žgÈ'@‘X°,D‹I?†š†Rò  ( v ðO€¼O€¼O€¼O€¼O€¼O€¼°þ(†¼ª¼M›¸.Xà²`°c™pxœÂ?èr—¯­/µ°)Ug¤ÉÈ/¦|!Q§¼¡üÂã )e)õ­õ,&ËÍÌm¶Ól#M£úù(†Æ¶Æø¢xo+ïÁdÕÒÞB½f½3  ñ:ÊtÉ‹QHBÈ÷w¾oíh•\J¿´;j÷“¿Xæ±l€y ŸÅ`«o{lù1s–ù`½ãlìÜyìÁ@Ã@Ê!‡m¿±2…=eæð™ÜF+7snnŽÜ¬LW^äºh#†>A>ŠACUc̰1ƒôKÕ«ÿqeõe»ní"„|ãÿxÞðÒÈ—Ž>8ºåê–¯¯}=…=EO]¯ÿc9 ŸÅÐåü‰Ë—#3#Zì ìW{®Î©ÌÙ»ï}ß÷½,½!I¥I»níZå¹Ê{˜÷áû‡“Ë’ÊŒIv“¸, ÑhâÇÅ_||±¨¶H•®êbê²Ô}©è´¨‘Ñ–£>8šVžf¤i´Ío!äIõ“°”°,nV‡ ÃFÏf¡ËB'c'OGʱ]ö¸ÈuQwaô-ø!ë䣓íüvÿáþ!^õrT^ÔÍœ›g’ϼáýÆ „ÝA>Š¡óü‰O/}–F}ŽÊ‹ K [æ¾,¾(¾º©š*¬k©‹/Še1jçÍÅuÅTadfdjyê–é[Dí츱#8!X´y#çFHBÈï‹~e>JÔˆ«™ë××¾®àUBF „x|ëÕ­|!_ÀÑG·ûm_躰Çs‘~l—=Nw˜Þe} ¾K+O¬ä øRÂÖQÓÙ;og'§¸Â8BÈb·Å]î]à²àfÎÍ{…÷O 5È'@!]θ–¦¦¢öš×k®¦®5Í5GîùýÞïkþqï{û3wk§•§íÙ{ìá±uÞëÌ´Í!W³®'++)¯ö\í5Ì«¡¥!4%4® îsïÜzóC™A5r(ážM Oà0aÚLí%¶\Ý¢®ª¾Üc¹›©›*]5µ<5$1dsäfo+oéo@•ñX‰©$I¢°oÁwX|Q¼ô|Bú¤‡î¤–§.?¶\¢P4†ÔYi})!ÄÁС˽ŽFŽ¢:0¤ Ÿ…t:é4!ä瀟'³'S%sGÌ<;·*W¢¦µžuèªPêâ:Ñvb» ý—è_•>¢ò‰“NBvúïœ7rU?À9`ÕÉU±±7rnø÷§ 4ή>«¦¢Fm¾sîP¼8˜ „LbOr7w_sjÍ…ÇÞû–”ȃãƒe9V¢Ç¨¼¨Î…?Fý؇à»sdÙ¡P(¥‚ ]Ez ]ªo©ïü”‡h ©3ê™Q2$AgBZÚ[ú (ä ²¸Y:j:¢d‚¢BW™3bÎOw’¨éçè'~qi2’RÓTCmfTd¨©¨8ˆ*Ðh´¥îKc bÓ9é¢K²Ÿ£Ÿøõ8©,‰N£S} …B!B:ø„Î •è±Ë¾ßî äÔåóööÝÕ×QÓ©nªæò¸,&«ó^ê®®ºnÿ òC> ©¥£E‡©#QØåH¢PEI…" ¨ÍÖŽVm†¶ÄôLêñÅLµMÅ+4µ5ñ…ü˜ü˜.ëé§³ŒÇJôØeaß‚ïÎÍŸèíó#ŒFäUåEçG³ Ø÷ÆÄPuz 4ä Œ4žT=©m®ÕQû7«Hã¤õ¡œªc¬i,*L)O!„kww”©¶i¿mÿ‚ýt%ºÄ®Ÿc”çØ~ ¾;4¢·ü†û]L¿ø{Üïóœç‰ÿÏ%„T5UJ8D™9|æSˆzù($kŸœÊœ¿õ­†ª!äZÖµs)çzÛΛ ٕٟ\üä§€ŸtÕt ! E ûãöS»º;jºÃô è ˆÌˆ 7ˆÆ?ZÎ¥žó´ð”Þ£<ÇöKðÝ ù½5Í~ÚH“‘©å©+O¬üvö·NFÿæõ³©g#3#ïæÝµ3°«iª)®+a<â1ç±­o:\;fíùÇçÿÎÿ{ž ¶ú¶¼V^Q]‘P(\䶨»G ¨Þ¯e_;þðøé¤ÓÖzÖZ -.[ÖPÆðƒww”üÇöKðÝ‘þÄÖk[3+2¿ñÿÆJ×JTØåó¶ú¶Ý-ƒAW¢ÿúÒ¯/9½"}Nðœa:èõ1‹j‹!vúv?HN‘¡ù($-“CK}|ñãܪܔ²e%åµcÖ²˜¬ÇœÇÔp…Œ 5 O¬8±ñÊÆø¢øÇœÇ„5µÕž«?ðíúEVuõËO|w绳)gs*s¨B5yÎóœMœ¥÷(ϱýüÀyÌy|¿ø~S{“xa—ÏwHÔ‘`Á²8÷ʹŸ¢~ ^X[XX[HÑfj/pYðîøw¥<ò ƒˆ&}t @‡ÃáñxR*°ÙvAAiuú ±­1µ<Õœe.±ºCnU.¯g¥c¥£¦³.tÝÍœ›wÞºC½æ£¶¹6“›i¥ke¢e"ªOZëY‹Ï9 „pyÜâºbUeU¶>[üy.iç·çVå6·7›h™k÷jh¤»c¥„Ý]} ¾ßMØ;¡µ£5êí(¦2“ÒÒÑ’TšÔeM U êAªŽ6C»Ë¥E;ùÕùÔûE­õ¬é4É'Ðg²ü=µ³³“½AäÐ;ƒ•Ot–6Öj,µŒ„@(8|ÿð¶ëÛlõm¯®½:Ð]Cg%u%›¸aâéËoÀÑïùîw€¢ŠÈŒøìògæÚæzêz…µ…µÍµ„& ÎP¿HAMÁç—?ïn¯§¥ç‡¾>ÍxžšÄâD U+;È'@Q-tY˜ÍÍ.®+¦ÞÍa aðñ‹ú“„MíM§ ˆ<Ã÷þ_°xáôÊÓÏð ‚tÈ'@QÍpœ1ÃqÆ`G!ÉÉÈ)糜ÁŽbHk <óz1u KÈ'@^È'@^È'@^È'@^È'@^È'@^È'@^È'_JY {';(:h°è#äCNbq"{'{OÌžÁ@VXo`𹘺<Ÿ«tÃ3ã /ä ¢ò¢Ø;Ù! !ñEñËŽ-sýÁuÞ¡yµÍµ»>ºø‘¨ÚÙ”³ìì1Ac„B!UÂáqØ;Ù›#7DT½  Ë³ ÿ?±'fÏÒ£K !»£v³w²©ÿ¨¦„Bᙤ3‹Ž,rýÁÕù{çÙÁ³>8*ê`á~(’%vÞÜÉò !¡@GMg„ñˆè'ÑB¡F£B¢ó£•hJUMUÜ '#'BÈݼ»„ñÖã»kÓñ[G¾€/¥S ƒ¸wãºÜÕ·$ÎBÆs …]ü(<-\T’Q‘±åê–tNúö™Ûel`€`|É•Œ+ó]ç_[w-ó“ÌókÎB|l|*+3*2!B¡ðï'Ïuž«¬¤L]Å !ÑO¢•hJc­ÆPH} óYˆ[?nýÉ—OB>ðý ç³ê?BHxZxxZ¸£¡ãÁÅßKLÙrbÅ 'c§SI§–< ³Æ'@‘¸›¹ïðÛAP|¬}öÅî‹Îv2vJ¯H¯jªšá0£¤®$:?z÷:¡PSãbêÂb²ºk3ó“LyBêCÏB¡)¡t%zÈ’#M#ªd´åèÝsvûýáw=ûº‡¹‡BJëKûélúù(5‰ºŠ—¥WlAlKGKt~´‡¹‡&CÓÇÚgwÔî„¢„´ò4BÈ› RÚ”gþDßè|² fZtj;¿½ ô#ä ð|l|îä݉ʋJ,J|{ÜÛ„S5»ywW,%l]è:‰úKÜ–ÈwòÂó¢ÐÏ a[[¯'ÊÉÇÆ‡2Öj,u§€âcí#ñA +Ñ÷Ìßãiᩦ¢&*¤Ñh»fí š4Þz<‹ÉR¡«XêXNs˜öÛüßÆÛ xÎÏ’–!„ÉìÏ•ÐhXX z…Ãáðx<)ƳZ»¶nÍšÚ§ôJy¹²ÕéÓ%£FµH©fgg'{›Ÿ€~Æf·ge©vÐ-êo¨­m[?¶‰|ú™‡GKl¬ZÏõ`ÄÆªÙØ´ëèȺֻ,O@?›<¹©¸X9%…1Ø@©1yrcÿ6‹|ú™›[‹½}Ûѣݮo ƒ(*J½°Peá†þmùô¿7߬ýë/­ôt Q -|>íÛoõ'On´·ïÏÉù „¹sFjٲŠ)ÇŽi?y¢òùçUýÞ2ò è4Ù¸±òáCæáøë0Täæªüô“Þk¯ÕÙØôÿ _OÀ€9²õëwì0¸yS}°cR[«ôƦVVíë×WDûÈ'` ¼ùfͼy ~hœ”„‰ƒ‰ÇSzóMÓŽÚ”©© ÈmHä0€¶mãzz¶¼ü²yD„æ`Çðœ*.V^¼Ø¼°På÷ßËôõ»xß}¿@>HEE¸Ù¢Eõï¾küÓOz­­Oû½Ϲ۷Õ,° Ó…aaÅýþL‡8ä0°ètòå—•[·rƒƒY~~–W¯j vDÏ…ü|•uëL_ÝtܸæS§JMM;´;¼ z§Ç÷u§¢By×.½ó絜œZ—,i˜2¥ÑÄd`ÿx57ÓbbÔÏÓ¼~]ÃήýË/+ÇŒiî[S½zò è>甔Ɵ²"#5š›•LM;¬¬Úut4þ!§T^®ü䉊@@5ªeÙ²ºÙ³éô¾ÿåB>HÎ|‚ÒÚJKLd¦¥1Š‹Uêê”ýùZ"è11¾[ &v ¦¦P_¿ÃÉ©m̘fƒ~˜wÙ«|BYþþz‹ÁŽß<~|‡aá)c³®\YàïÏì@`èÂ|Lò ò ò ò ò ò ò ò ÖÇ€Þa±XxGès‡Åbv0t!Ÿ€Þa2™ƒ &“©©©9ØQÀÐ…û /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /ä /åÁ†œK—.555‰—ÄÅÅÑh4ÑæäÉ“õõõŸz\0tÑ„Bá`ÇCËòåËOœ8ÑÝ^ .—«¦¦ö4C‚!÷;@Ò²e˺ۥ¢¢2þ|$ ÷; wZZZ:::; X>>>ÚÚÚõõõwµ··¿ôÒK<ïéGO™¦¦¦ì•‘O@ïÔÕÕáZò<ðóó;wî\{{»D¹¶¶¶³³3‡Ã”¨àiêU>ûÐ…¹sçvN&”••çÎK§Ó%$ÊO@¼¼¼:?ÁÑÑÑ1gΜA‰†8äÐ%%¥€€ñBCCÃQ£F VH0”!Ÿ€®Í™3Gü–õd‡ø*"È' k...¢ÍöööÙ³gb<0”!Ÿ€nÍŸ?_YùŸ'‡ æää4¸ñÀ…|º@-7¢¬¬¼`Á‚Á†.äÐ-+++GGG‚'; 'È'@š—^z‰âììÁç“íÛ Ža­__óÖ[5 þÍxznßVÿôS##£ŽÊMM{7"Ø«|ÏwÀjo§½ñ†é™3Ú¿üÂyÿýj$OÙ‹/6……óù´ ,²³U®#ä0€6m2LLd=Zâç×—) ? ‹ŽÓ§K† k_»Ö´ªj Þ5|ʾ}ºý¥õã7·ÖÁŽ๦©)Ø·¯LYYøúë¦ÍÍòF7ä0 RS?þ¨÷Å•“'7 v,@ttû÷—¨ìÙ£7í#Ÿ€þ'’íÛ <{—Ûgþ‡¬‰›† k Õúüóª~lùô³›7Õ-,ÚGŽÄàÄ pqq $„0™ÌÁŽå?†l`Ï!øù5^»¦|†´‡™ÞÞ-ƒ…b ËÊÊmž:u***Šâèè8cÆ ‰¹ÕÕÕ7nÜàp83gÎìÜTRRÒ;wD•+**®]»ÖÖÖ6vìØáÇBø|~TTTvv¶‘‘ÑØ±c !ÅÅÅgÏž%„¨ªª¾ùæ›TS—/_ÎÉÉ!„,\¸ÐÌÌŒ’––vãÆ Bˆ¾¾þŠ+dLú R…àáÇéééõõõZZZ®®®nnnýñíñön>p@§¶VIG§ßÞí‹|úYNŽÊ‹/âQ¹„……ÅÇÇ‹6Ïœ9C} ò Ñ\''§wÞy§±±‘âèèÈår%¦)$''‹JßyçææÞõá‡.Y²dݺuIIIT‰ššÚ?þ8mÚ4--­_ýU BfΜieeEùî»ïŠŠŠ!ººº+W®$„œ:uêøñã„E‹‘ÿN’˜ô$„ÄÄÄlÚ´©°°Pükqqqùá‡lmmûñ«~>98´BòòTGê·Ôùô³ÚZº¾>°£Pl ,pqq9xð µ¹hÑ"SSSBˆ£££xµæææÀÀ@777WWWUUU[[[.—Û]›ÍÍÍŸ~úé¼y󪪪®^½JÙ½{÷… š››×¬YÝÜܼyóf___‹åââBåqqqVVV¥¥¥T2A•PùDll,UâããÓ«À¤Ÿà½{÷^}õÕŽŽBȘ1c\]]=z”’’²bÅŠóçÏöñ›B!zz|BHMM®•‰|úY[MEïéË‚ ¸\®èr»dÉww÷ÎÕZ[[×®]ûþûï‹JîÝ»×]›­­­Û·oŸ7o!äÅ_,.. …………·nÝ222ÊÈȘ={6!¤²²òÉ“'Ç÷ññåK–,‰‹‹#„0™Ì–ÿcï¾ãšºÚ€ŸVÂÞ!ˆ€,qkqà®bݵjmé Ã:ÞJ_µ¶¯­–Vë¨`µ.)N'" à€°e‡" l’üþ¸ýݦ!„@@ˆ}¾Ÿ÷ó~rÏ=÷œçÞª÷ɹ瞴·?yòD$q¹Ü’’„ŠŠÊ¤I“ú˜ìÜ·o–L,\¸ðàÁƒXáêÕ«“““¹\î±cÇvïÞÝç5/òZ IDAT2É"„PGÇ`¾Ï ëY€Û¸q£œ5 ‚¿¿?ö @yzz"„°'˜šš$6ä€eØÿ/Y²„B¡ðx¼¼¼¼¤¤$¬‚££#Np`êêêrrr°ÏÝÝÝ¡ÿ{ø‚¦ƒ€‘Æ'@YikkkiiÉ_™Lþëç%UUÿZK&$`wîqãÆijjòù|.—[TT„å~~~Øç”””¼¼<¬¾ÄÃŽþ&¡¡¡ÿ|ýúõž8ÎÀZC ò PV**ýc&H[¬oA$’|DE$'L˜€½¾QUUE$=<6µŒ4OÀHD£Ñèt:ÇCíß¿êÔ©$iÖ¬YØ¢¯þ £½½!äííruu¥R©xàååE" äV"ãwîܹnݺîîîèèè‚‚OOOP]]››[ZZúÙgŸ9::΂ÁùŒDáý÷ßß¿?B(77û¾niiù:ó +++ssóŠŠ l™ ‘HãÇOLLÄ {Nž“Œôòò Û½{wYYYvvvvv6~”½½ýرc9)0D Ÿ€jÆ 'NLKKãñxØülykW÷Üåììܳò¢E‹ÜÝÝBø}UUUüÉ‚µµ5^óË/¿|ùò%ö;!´iÓ&üǬY³dô.{Wo'ˆš8qâ;w222²³³µ´´ŒŒŒÌÍÍå¼zà5#ôœƒ2p8>Ÿ/£“iÊñ÷—U0¼äù{jcc#ƒ°þùùùùùùùùùùù@97>ŠŠ*î@$ØÀ^³„N`à£ÔÔWÃO”CKKwjê«ÊʶáDÒˆ lPäç7>úóOvŸ5¹ÜöÔÔWõõ¯!*0Áï•”ƒ¡u™u¸‘4bÍÍ]©©¯&M2î@ÀHù@9hh&LÐî(¤±ð:A>PÅÅÍ»v½X²dÔ’%–xajê«ë×+Øì2YÅÉIgÅ k}}ŠøQ%%ü¨¨²‚‚æîn¡µµæÒ¥–öö4lWFFýwße¯Ycã奿Lqff…¢2uªñ’%–Â?º¾y³2.®ª¹¹ËÖVkíZ›ÂÂæcÇ >þØÞÓS¿g`ò7+#¶¡€6~¼îï¿åå5Ñhª+WZ»»ë!„²³y.”TV¶š›klÜÈ´²ÒDýù'ûÔ©—¡Ë—Ë?®ÅÚ9Þû[[ÙÔô×eºÈR€| °i ^^xÉþý¬°°B|óîÝšðð¢“'½ÇÓÅJΟ/ ÉDØfBç?Š÷ís[ºÔ!ÔØØ•šújÜ8½X­X¸¸ª¬,Þž=.x³_~ù Ÿk™À‰Š*_¹ÒJ|¢€D`r6+;6©V¯NÄëKE§“ÐÛ^,0ÿþ7ƒÃiÇ ¯_¯8yÒ»¥¥ûãÓðÆoÞ¬Œn` VYÙš›Ûˆª¨h©¨ho­çeY±ÂJFlàù@)ݾ]VH"Ö®µñô4hn,KIá~ðÁ“û÷gQ(ÄgÏê÷ìÉPW'2\\tÈd•¬,^xxáîÝ/¼¼ôÍÍ5°v~û­ÀÖV{ÿþqFFjÙÙ¼£GóÏ+~ï=[SSu„ÐÍ›•QQeT*iãF¦³3½¡¡óìÙâ“'_öžìfåŒMBjê+Ùù„ÄØŒTáá…ŽŽ:ÁÁŽ::ä„ÎÙ³Åß|“YW×1ožùŒ&**„3gŠžýïË2wîÝ’~Ÿ€7䥔—×H¥’þþÒL  +¬’“¹¹¹<³ŒŒ"‘pøpBH$Bظ»[ˆ**jš3Ç »ëcÆŽÕA54t`›Mt:O&Bªª*óç›>œ+;<ÙÍÊ›lº†‚fÍ2O;ìíi©©¯æÎ5ÃK´µUMM©55í2ÉÏo¢ÓÉx2"“U,°øé§>. xƒA>PJBmm’Ä GŒíBµ¶ QR·ç±ííB±CTÅw©ªBB!^S@§“%Çz‘Mv³rÆ&AÁùmíF"P3"‘TZ[e-#!õ²ô,ÿ*O”’¡¡Zaa‡Ónd¤†²X<„‘!dbBíì?îE$$ŽÕÕ•÷Îgh¨VRÂçñ:Åo–ÙÙ<ƒXlƒ2¢¿°ŒMôÏ-R/ ‹Õ0è½%ù@)ùú¾|ÙôÅOöÐÑ!#„ÒÒêŽÏÇv!„fÍ2 Í‹­ vÀ¿77wEG—»»ËûàÀÇǰ°°yçÎçß?^Cƒ„Š¯ŽŽ.W0øÅ6(ó'úK]„*/ÿÇ˾¾F……ÍÛ·?;xÐ]S“„ºu«2&¦ï54Á ò €RÚ´ÉöêUöãǵ¾¾± †&ŸßÍf·ˆDhÙ2«Ñ£µBï¾;:>¾úüù’ˆˆR++M--U.·£ººU ……MDH®•Þ}×öÊ•ò¸¸ªG866Ú -´œœFîÝ‹mPæOô—µµ&•Jºr¥<+‹‡Fœ?ï‹]–;wª'N¼É`hÕ×wVUµb—åõGFøý€R20P»pa²§§~{» '§±¼¼EM´e‹ÝÞ½®Xuuâ… “W­b¨ª ›Ÿ?¯¯¨hÑÒR]·ÎÆÑ‘.g/ÆÆÔÓ§'ÙØhµ¶ X¬†ššÖM›lýýÍBØpÅÀ Jl¯‡šqÇŽ± ±  )5õös_FFjgÎL²µÕnmdeñjkÛÖ¯·Y½š1ÜÁ‚áDÉ>€âp8|¾¬×™L›ÐPŽ¿ÿ ¿:ØÒÒ•Å33£J,ÏÀå¶WT´’É*L¦–ø+¸®.aQQs[›Àؘjd¤¦¢ò×”¯3?¿ÉÒRÃØøïŸÞÀ ­¬4ŧe „ŠŠšùünKK :üÞ{É÷îÕ<|8ÛÌL½g`ýj¶·Ø†‚ÔÀÊË[ª«Ûœu¨Ô¿/]ffƒ@ rsÓÅKZ[EEMmm‘‰¿8*~Y¸Üöâb¾­­–®îàOãƒNž¿§66ýXöò @ÿ W>1\¢¢Ê¼½ °u#„BÑ™3Å{÷f2Z·oÏîиAÏ'`þÈ[µ}û333 ]]ryy ׉úäûᎠ€‘ò eéRË—/›ð°Ð×§|þ¹ã[o™õy ÿ*O€,³g›ÎšeZ[Û^]ݦ©Ib04‡t–J ò 而ŒÔ$¦RÄÁû¢PäPäPäPäPäPäPä€7AB‡ÉŒ/ì­‹ÕÀdF‡†æ½žî,*ªŒÉŒŽ­ô–ÅUV¶ž=[¼nÝc{û&3:!3¤ÝXÏ þu–,yðêUÇpGÞ(Oþœœt  w#…™™úœ9fÓ§›ÄÆV^ºT:Üá€7äð¯5ûp÷nõ°ÞO”ƒ@ :w®8*ªœÍn‰¥¥Æ‚+WZQ©ÒÿËÏoÚ´)¹³Spü¸·‹‹‹Õ°hу  û  1¡„Ά I;w:ÙÙÑÊÉÍmTW'͘aüÙgŽººù£JJâÊ8<-­îÂ…’/ê±ßssÓÛ¼Ùvüx=¼BSS×?æÄÅU55uÙÚja± Œ Ÿ(‡ƒ³Ož|‰ofeñ²²xªª*«W3zV~ð æ£ÒÌÌÔOžô53Sï­ÍgÏêÈD¡övADDÙÓ§õÑÑSÕÕ‰ò„$ûp.·}åʼrCCç½{ÕÖüñ‡¯‡‡B¨£C°jÕ£ÜÜFüŒ6oNñ÷7ï³_;»?±N{£¯OIIñ—ç,ð~@9ÄÇWS©Ä#G&<>ÅšíÚ´wßµ•zãÿý÷¢Í›SÜÝõ._ö“‘L „nݪ\¸pÔÝ»³X¬.øÚÙi5?ž/gH²'>>†'Nx%&ÎÉË[øä‰ÿÏ?{’É*ÇŽýUáÌ™âÜÜFCëÌŸÌÌÌ ´¾q£¢?W€‘Æ'ÊÁؘŠš1ÄH$ „ìíiöö4‰:èë¯3Î+^½š±k—3VSÝÆ!äá¡ì˜÷Ì™·cc«>ùÄAžd®¯Oùì3ÇãÇ vízQW×(äç7abc+ t䈧­­6BH]]=$ĵ¤„Ÿ”Ä•Ýo~þByÂàu‚| vîtÚ¶íÉ´i·}} ííénnº’ùÄ/¿äñùÝ[¶Œþì3GyÚôñ1 ˆ¥êÖÖZ%%Ír†$ûðgÏêW­zÔÕ%”8ª½]€}(+k12¢bÉnòd£>ó F È'ÊÁÞž?óÙ³ú§O_¥¥½ ÍÕÑ!ÿô“§Ýß÷ãiÓL8‘‘esçš÷½xÍŽËïêÙ/\had¤F& 4kÖúzE~€ù`‚ù¥A$<<ô¶l±;|ØãÁƒY|~÷W_=¯àäD¿pÁWE…ø(=½®Ï¹"±û2›ÝZRÒli©)g<²g³[õõ)AAcFÒ Pˆ*/o)-åãõ--58œ¶—/›ÄÛ„¥*’‚ñ €rX¶ìá¢E£<=õÍÍÕ»º„II\¯v€³µÕŽˆ˜¼víãuëÿò‹ç”)Æ2ÚÌȨÿê«g[·ÚªegóöìÉèîÍ™c*gH²75¥6=[¼p¡BèéÓº}ûXBáß Èœ9f Û¶¥†„¸¸¸èÖ×wœä„„d„„d`%´Ñ£µkkÛ±Í5kW¯²ssW¯NÄJ4w®ùkxÅ#88=&†onØ„}øå— ò§Sˆƒçå5åwL¦–šQG‡<~¼Þ·ßŽÛ¹ÓIje}}Êùó¾nnzÁÁéüQÜ[›ãÇë:5ÑÅEksÙ2Ë |å\|¢ÏÃgÌ0ùñG÷1chjjDCCµ•+­Ïžõ!“ÿþW—B!ž;ç»j•µ¾>…B!:8Ð~ýÕkòdC¹/ #A$’5©$p8>Ÿ/£“iÊñ÷—UgØáëc®_ÏîXòü=µ±±‘¿AŸ€¢`þHÊÍmœ?ÿ^o{gÌ09vÌëuÆÀÈãPŒOþ&O6*,\ÔÛ^{{šŒ½€ž`|Š‚|Š‚|Š‚|Š‚|Š‚|Š‚|Š‚|Š‚| Š˜˜áiá2ê°ªYÌÌÐÄÐ×Ö#xýªšªBCÓØiâ…ÿé÷O ‰ñ õd`bÿK(Nîˆùe‚å©ìTñB#-£ Ÿ  £& WTp+ï¯çjêjod?ܱ Xo€Ò3Ô4 ò î(úgϬ=zêz{nïÉåäw8Š‚| d„"aRiR'Gƒ¢áÇð3§™Ë®ßÜÑœPœÀæ±)$ÊXã±BA*;5¯6O(2t¾ _’J¯ÿ6FfFV5Uù1ü\L]ú U $—&çsó»…ÝÖºÖ~ ? ‰‚í*k(‹ÉŽ™Ì˜ìbâò¤üI6'[ƒ¬áméݳp…ë Ùg!µ)ì¨Þà‡8›8˾˜ý=¬_Ù—Tž6]M]Ÿ”?ɬΤ(““­t¬° iì´(VB(¹,Y `…A>AµüÚ‹/.N5AÆ…Œ~B]‚®G%Êyå"‘ÈRÇr¢ÕD5’šŒk¨¸9vs†´ý× ò €2éèîX{qmrY2¶IR!혾cÍø5½ÕÍýêæWÍÍx‰›™Û‘EG 5 ±ÍU/>½úi9¯¯`N3;ÜZ×Z¢©.A×ÎØWXW6{mv6qî3ÔŒªŒb>ªh¬ÀKL´M~]üëX㱡²†²ÐÄP2‘|øÑáÄ’D„£‘£©¶iÏ®+dŸ…Ô¦úÌ'°C~xøƒŒ‹9€SXáºBö%•§Mª*õXò±;/ï`ˆ*Äoßúv±Ób„P*;523!”R–’R–‚Uò â4sBCe<òÝoFUÆ–+[¸|.¾W_Cÿ§€Ÿdd'?'þ,B"Y]UýÝ ïʨð†| LÂÒÂZ;[ 4 ²k²“Ë’ÿ{ç¿vvRÿÝÏ­Íý8æãna·“‰“»¹;¿“§àÎóÊçÛ¢·E¼A Êyåë.­ãwðÍhf­&ÒÔhEuEŠU5UIä¼6ÞÖ+[ŸW>?à`©óÒ>ã¬l¬\±¾©½ÉÅÔÅÅÄ…L"gÕd¥”¥lŠÜ¿)^“¢)~:óæ¢2Ö2–ZØçYÈhJ‘‹9°S}Iåo“ßÁp 0Ò2Ê®É~\úøëÛ_Ï=S‹¢åiá¹Ôyidf¤—¥—§…§<§)Ϲ¸€ËçÚÚ{Yz‘TH¥ ¥‰%‰ÜùÄ/I¿à$RékèC>#T[W[Ìú=l3,-lÿÝý§ROIýwÿ·'¿u »×{¬ß1mvßýbÊ‹_ü¼òyJyŠ·¥÷±äcØ}ë€ÿU¢*vTEc‘@o§¸®xS䦯öÆ3+ÏÈy;‘r¢©½)dVȪq«ðÂÓé§÷ÞÙ{5çj [ ~:W×_eè1°Ml†¿Daðµ`Ùg!µ)yȾ˜;…·vȸ¤r¶Ù%èºõî-üáËö›Û#3#ÓØiÓ˜Ó<,<Bdf¤·¥÷¶‰Ûä<Ó>û­o­·ÖµŽY£Bøë5…úÖúúÖzm~0ñƒ>Ç'ä ïÍù@™,pX€ßÿBëÜ×O>þ´â©ÔÊO+ž Ä`¿`üK¼Ug‹÷–·v>­xêméR–¢BPùfö7ø!$1‡ ½"ý—Ç¿èªëF®‰ÄŸâ÷)©,‰H Ö·ÖI:"‰D"B¨¥«!Īf!·¿ª8ôÌ$ û< MÉ&ûbìd_R9Û\ûm7;,5,"#bsöIW]WW]WF›ú|8àxÞHO”‰ÝB|S… bF3cÕ°¤Vnêh2Ô2”˜U7Š> !ÔØÞˆâµó 5 5È2zL-Omloœg?Ï’n)œõ­õ‘à§ÄŸzîŸ!5A‘(ìó,d4%›ì‹9°S}IålÓDÛD|öE¿[Ø-óldé³ß}?EõgöŸ{ïìU'«»™ºŒ ðã/£M˜?!ò €2aóØâ›"‘¨²±R›¢-µ²6E»º©º½»]üfŒÍ¤©ÑBt5zeSeKg‹Œ”bëÄ­¥õ¥çžŸët웳¨Bì­æ?ºVÓîtnš°©ç.¦>ÿ,µ5‰Â>ÏBFS²É¾˜;Ù—TÎ6]ŸýªT–:/]ê¼T(–Ö—Þ/ºÿéÕO³k²?ŸòyomÂü O”ÉÕœ«<7à£ôáéáu­uÓ˜Ó¤Vo>>&;æP¡¯¦}…•ðÚx'RN`»BÞ–Þ—2.…ćìk?þB#ö°ÿŠL@„ofCS£ýšükc{ãO?‘‰ä>ãœh9ñRÆ%KËÇñò¼Ú<-ŠV¿N¹Ï³0Ùs`§ û’Êe¡)!^OÎúòœËýÂû““‰*D‚ Ca¥kuöéÙ(V”Œ|æOH€| L¨ªÔ€ð€Ùv³ 4 r89I¥Ia£çF©•7zn¼‘{ãTê©ôŠôqfãøü»…wë[ë]M]½Fy!„6{o¾ž{ý ëJjyª·¥7J+®+N(N8µü”Ä{°_°ŽºÎ·÷¾Ý±ñØ’c²‘ „¶NÜ›|-8<-ÜÅÄEKM‹Ëç¼*`U³Â–‡™ÑÌä?å>ÏbÀd_Ì‚ìK:(—Å‚n¡BP¹œy¹[Ø­CÕAõ¹’UŸýn‹Þ¦CÕg>΂nÑ%èJ)O©h¬c8FF›ŠÏŸˆËËçæ#„2«3B1Ù1/ª^ „üÇøéhÍ| L6xlxTò(&;ÛÄ–Lèí¥>#‡Ã‡¿ºùUFUFFUVˆ­Ü€ÍmE¶<ìÓkŸV4V\μŒU0§™›j›J횦FÛqkÇ;Þ [†ÝÉzcN3?»òlðµà¬š¬¬š,¼ÜÞо_É„Ñg¿Ó˜Óâ âoåÝ?dÿ[ûå i`nÜÆ/>Bÿ<Ú`´2ælš+ȉÃáðù|˜L›ÐPŽ¿¿¬: ¾¤ã£’Gùµùêdõ)6SÄ_ºHbS{SBIB¯‚L";;õ\³[Ø\–œ_›OT!2ô>Ö>ØËâk5â•KŸU>³Ñ³™k?·Ï˜E"ѳÊgY5Ym]mÆZÆvvø/5Hm\jaŸg!ã¨Þ$'lˆØ°súεîk{»˜;Lo—T‘Ë"¾&©H$J.KÎáä´vµ"iëcJý“ £_„—ÏM¯HgóØêduk]koKoüÝÑ!‚OHx=ãòü=µ±±‘±Wä€þ®| "<ŸXï±~¸cÃcÐó xÞýÆås/¼¸ÐÛ^†cžý¼×„>Ãëí ò è·W­¯BC{Û;ÃvÆðæ}†‡¯D À`|úM_]_ÆÀþ®S9èú ÏRÇ2È'ÈÍÌ­·:ôäÐoš}¾S0Œä o$Ç”ÑÐN^À¿äPäPäPäPäPäP¬?PUßÝÿnûš9vsz«S\W¼+v×ç%Kœ–¼žeÜ`†È†ˆ í]í…'lœÎœ.^RÀ-¸Wx/¥<¥³»óË©_â¿Ë…«nª¾•+¯6¯–_«CÕq7w_ä´H]U}$÷.O˘¢º¢è¬è—Ü—ªDU73··]ÞÖ¤hâ{ÛºÚnÜ~Zñ´¢±B¤6ÖxìR祆š†”5”]μ\Z_* FÑG-vZlg`×[`çž»‘{!öv˜I­Ï Ÿ(‡ÆöÆTvêÌÑ3eÔiélIe§zYz½¶_[0C$ÖÖÕ&Q8Ïá‹…„ds²ñÍÆöF‰ú¿§ÿ¾÷î^ñ_—¼–síÄ“gVœ±Ô±±½÷Ù2&<-ü»ûßu »±ÍØüØcÉÇÒ>JÃ69|ά³Z:[ðú· nŸxrâ袣­&â…gžžÙwgŸ@$oöÃI~èóaÏËyåßÞû¶CÐ!‰„"¡ŒSQ Ÿ€!ÁÐcœ 7ßÑÈ!”^‘. fŽžùÝÜï°:Ó™Ó»]_\|RþD"ŸˆÎŠNe§^]õÓkŸÊ¸,#ä%S˯=óôL.'W¬>ÃvƇø½DªTvêõœël›L$;™8­p]¡¯¡/^¡¬¡,:+:¯6O(2ôËœ—ÙèÙHmª¥³eÏí=>çÓÉŸºšº"„òjó®°®°Ù"‘ÈRÇrãì‚zÌŸ:W!tpþASmSìsI}I+ª€[Ð|ª… IDAT-ì¶Öµ^ê´ÔÞȾÿWhõœ A‡ª#QbN3gè2rks®ºÞûl9¡8Ë纚ºâÉF‹¢…&Ɉø£H*$k]뢺"UU¬Ë6$¾XéX!„¨$ªxaC[Ãþ»û·zoµÕ·•Ûù@™Ô4×,<½°–_‹mÞÊ»uçåЀÐÞRŠýw÷‡¥…á›w …Ÿ\vrœÙ8¬ägü7þ¿øƒí{…÷ÂÓÂ#VG¸˜HNÍ«l¬|/ò½ŠÆŠÃ cÉÄÖ•/o~)þäþTê©æÿà€zÌŸ:W€¤BR!üõžÝùççCn‡à‘$'üñì}sö-u^ÚÛÕX}aµ@(èm/BˆN¥]|TF„P-¿ö«›_U7WëPu<,<Ž](ÏLFÙš;šËÊœMœÅo½#°wÙžW>GͶ›]ÚPž^ÖPf¤i4sô̶3d•^‘þ¸ô±µ®µþ_Y©§…'Mv-ûZ [à(ú(„‡Ï‰ÈŒP#©M¶™,~ì¾»ûô4ô¶zoU$ìáù@™üžþ»µ®õǾhds²O>9y+ïV$#r™ó²ž•oÜK #©Öº¯õåÙÜÞÉŠL)Kù úƒû[îSH”'åOBâCBóìçM±™BS£Õ]μÌïàK4•Q±9r3™H¾ôÎ¥1†c°ÂS©§BkƯ™h5‘¤B*m(½š}µ©½IjäaËÃÄ¿.W4Vì¹½ç༃ÆZÆ¡g•ÏöÜÞ£NVt t1q!ÉY5Yáéá»ãv{Yz™ÓÌ¥¶™ÊN•OHŒÄHÅæ±Ù<6öùZεã)ÇÖ‡õ6B#§=·÷t:¶OÛ>Â{—­¦¹!ÔÑ݀ϸŒbE8œwP<…­jªúìÚg"$ªå×–5”ÙêÛþ¼ðg"ᯠm5ícKŽ_ žy|æhÃÑD(|U¨­¦ýóŸ4ðF’J“®f_½øÎEU¢ª‚‘ È'ÊÄ@ÓàÊÚ+ØòTæTws÷w.¼séÅ%©ù6oî€ÿ…cb%Žk.®I.K¾[x׌xZ¸H$Ú5c×:÷uX…©Ì©ë=Öw:ÄÛ¹‘{ã‹_Œ1slñ1M¼œ¤B­?ú?3ÿƒ—¬s_×ÜÑ,5r üsMsÍŽ[;ö¿µ¶Ýl¬$,5L(†-ÃN¦2§ºš¹®¿´þZε޾°ž]yV|t¤§>ïLºêºsìæ8™8©«ªÕ~žÍc¿åý›ïÞÄo‡ýuðáÁ˜ì˜]3vyZxŽäÞûÔ)èDO9>Ú`ô;ãÞ¡«Ñ_T½K ‹ÉŽñåµÌåï?rm]m©ìTì3…Dñ±ö‘Èä,è~6~—^\Êåäb%“¬&YéZá:º;vÇí^5nþ@é@>P&þcüÅç¾aßÝ{›ŸW›GU¥bO0a…ëŠä²ä\N®ÿV5‹B¢¬·Zü(¢ Q]åï!÷(VT>7öèÙç”X à=¯÷‚¯rõ“iÌiö†ö =† A¥Ï1v.Ÿ»öâÚ÷'¾?ßa>^˜QA$?:Œ‰D"$Bu ºBEuE½5¥ø-󿯛øŒÅiÌi+\W,9³¤¨®(>€É¤"‘hïݽ¿§ÿ¾}êvð<…DAMeNµ5°ý8æãk¹×Äó SmÓsçBÁ«–W‹†§…ßyyçÆÆX >gAø‚ÖÎÖw'¼ëfêFT!²jX§ÓNß-¼µ& ŒùùñÏ‚Îϧ|®xØÃò €2ÑVÓ–(¡SéUMUR+wtwhS´%¦VÐÔhØ.„P‡ ƒ¦F#ªÈú*ŒÝH^µ¼êtIäsíç:9\Ϲ~…u%Ÿ›ßÑÝ1Ïa^ðäàžAâê[ë×\\³Î}Ä"W­­‘ ©4©ç!RgqbŸ?!ñúƒEkÖèYÇ’•5”õ÷Ž. ¾¼ñåŸYs½ÇzyÞÞûdN7GM²ž„ýÀ`kmáÏh0TU*ðdžš†'ŸœŒfE¯· !t:ít}kýÞ9{W¸®ÀêLcNs4rܵåxÊñïç~ßÒÙòÛ“ß 4 Þxo³´¾!´áÒ‚ÊÙ•geÿ) Ÿ(“ìšlñ͖ΖâºâÞ&êjÖrøñ§Ô¬BÈHË!d¢m’ËÉeóØt‹Þzœg?oíøµ_Üø"ð\`øÛáãØÖºÖø’DY5Y«/¬æò¹½ÝÂÛ×^Z»ÂuÅJ·•»L´M:Ç—ïyÛÐU×í-¶A™?!¡º©ýÿ+ òkïnú3è^á½ÿÌüÏšñkúÛéé]6'·®¥N¼ðUË+Ô#’ÀÐe „ª›«±M,ù˜‚Õ)k(Cu :»…ÝÕMÕØé‹K¯HG!Y/0O”IüËø(Vöå¾­«mç­­]­sæJ­ìkíûòÕË/®q8à0öVa;íxÊqlBh†íŒ\NnPLÐó~`è1BB‘ðzÎõÑ£ñI—¡Ž ´Õ´?ˆþàí?Þþ}ÅïøìÈï|¿Äi ~Ÿ0Ò4R%ªâÏÑ%4w4¯»´n¾ýüµîk{î5zVhbhl~l°_06‚‚ínîÞÛÕPpþÄͼ›j$µ©6S±!œna÷ůå\#ªetÚ¿ƒ¿)rSzEzȬì¹<†·wyx[yjÆ¿Œ¿]p{ÖèY¡æŽfl/þ¤ézîu-ŠÖdëÉø0X.'û3†ÿÁÀÞ>štôЂCt*‹{¶…ýYÒ¢h <'ÑûW7¿*畟Z~J¤¦¢ ?¶ù@™ØÚyãËþh¨eXR_Âïà««ª÷6]qÓ„MWs®>.}ì{Ä—¡Çàwð±…"–¹,m0!´ÑcãܬjÖœßæ˜ÓÌiTÖæï+~—hjŠÍ”Ó+Noº¼iùÙ忯ø[àtÚé)'tÕu-èÝ/_½ìvû1üzFÒÖÕ¶!bÃKîK*‰*±#¶þÄ»ÞþùùˆŒ+]+-Š—Ï­n®aËÃz6ˆQpþDvMöñ”ãTUªÝ‚L$—óʱ—S6OØl¢m‚W;št4±$!TÚPŠúîþwÇ’!„>žü1À ?¤±Ó4)š7ro`¿:ûÖÿ[|Ý…øüÚ|¼dx{—§e"¸{Æîÿüðý+ï›ÓÌuÔuŠëŠ[:[t¨:ø’V¬jÖ©ÔSØYPITn {úfg`ç?Æ«³ÂuÅùçç•<štdC—AT!Õµuµ Ä5îkB$RÏç; „‡…‡â/оO”É¢±‹¦1§H9ÁásBV:Vÿ›÷?ìþž 4 .¬º°óÖÎTvj'!DU¥®u_ûÉäO° šÍ‹«.î½»÷FÎr^9â!¢ 1À1ÀÞPÊ*RîæîçϯX¿òÜÊSËO¹˜¸lŸ¶ýâ‹‹Ü‚úÖz„™Hp Ø9}gÏcKJ±Å zŽ^`‹R¨«ª_¼ð¿‡ÿ»ÂºRøªÛE§Ò:.t4vÐ¥êÛ<‡ye ew^Þ)à`%&Ú&›&l’˜ ZTW$6>û;kôÿ3<øüžg×ÚÕŠÎáä<­xŠ— oïò´ŒzkÌ[?ÌÿáÀý¡qfãö¿µ{Ë!´ÀqAUS•øYh58.žŒÏº`è1ά<óMü7Y5Y¹µ½ßÁÔgîš¾«ç2'Ê‹ {¬ $p8>_ryqL¦Mh(Çß_Vàµñò¹ù–:–ÆZÆMíM%õ%êdu¦S|ºeKgKVM–ÍLbÁ.Ÿ[ÑXA&‘™zLñ¹u¸Ö®Ö¢WED¢•®þuP¼G¼f-¿¶¤¾D]UÝÉÄ +©o­góØêdu3š™øWIñ`Z»ZYÕ,©çålâ,>] KÐ…}y5Ö26Ò2ÂW»:Ýå¼òæŽfCMC© ]Õa“$ØêÛbs;Šëй-\©cï‚bŸ}úvtw$¼Ÿ >­u{ï³eœ@((ª+âwòÍhfâsqp‚N6ÝØÞHS£YéZõö²+—Ï­lª‰D&Ú&⨤bU³Z»ZÝÍ݇h&¦<Omlú±ä€þ®|(µÊÆJ¿_ý‚ý‚‡eñÇáí}dô|B ¦xPvéédUnƒ9_RYzÿ—€|Ào>>bu„Œ•9ÞàÞÿ%`>&€!×ÛOüzÿ—€ñ ( ò ( ò ( ò ( ò ( ò ( ò ( ò ( ò €ÒhëjÛ{g¯ïQ_Ûïl™˜­]­ÿ{ð?æ&þ›¬jó341txãùbóc™˜OÊŸHÝÅŠb`ÆæÇ¾æ~‘ÔSH¯H_{q­ë!WçœWž[‰ýX9,O”FhbèéôÓÕMÕðC† ºWxO[MÛÝÂ]¹úM¯Hg`I:2€c•=[ÙXiN7ÿÄ÷“·Æ¼%glCç^á="èÇðÃ6›Ú›~Lø1® ®©½ÉVß6È'¨ç!2BMe§ž \ë¾v÷ŒÝâ‡ÄåÇm‹Þö™ßgØuèwíHÒ‘C ‡B‡aB…Û å9…4vB(À1@¼0À1 .?.µ¡5«&ksÔfÿ1þâõe‡êiái­k“óåÔ/ÉD2^çræe¢ q±Ób©ýbú{Ѥ’çÊÊB£ F‹Ž1ƒ*ã•ɾ\@N0fP»fì*Ü^¨EÑr1q)Ü^ˆÿo³×fGÅdÇÄdÇØØZ~*ý£tV0ëª öFö—2.=¯|ŽW»š}u©óÒ»›ïf}–uéK¦Ú¦iì´\Î_÷'àcísbé‰Äm‰y_ä= zòóŸÉ$ò±äcâ}ÝȽ±Æ}ÍíYÁ¬_ýBR!…&†ž{vî[ÿoSƒRÓ?Jßè¹Q(†¥†õ+¶AÇæ± _NgNÇ6Ï<=“[›ËÐcœYq&38óÁÖ®7roôë2.u^Êkã‰?8àð9Jù1ü 5 ¥ö;€‹¶mâ¶‹ï\D}2ùü€œ§Àïä#„hj4ñBl³¹½yP.,€ñ À+’IT!†¿ŽßÕ<,<Í?4ç·9w^Þq3sà }¬}¾™ý öy¼ùø÷¼ÞÛs{O7ÏÞÈ!¤¯¡ÿ™ßgÇSŽïŠÝU×R‡}™FåsóÅûšÌ˜¼súNìó»93lgÄæÇc™ó2¬ð‹)_DdDÖö+6 ù_äK-—ß—wBø$†Ø¼XpdÑ[}[„:M=dvHICIRi~HŸ¡.qZòãÃ/g^žk?«•% –»,ï­_L/šTòœ‚Ô‚à-¡Áùàõ’ûR øõE‰D"¡ÿ¿‹T5UáÕ¼Fy‰eA·@µt¶`›Ï*Ÿ­:¿ªKÐ%Ñx{w»ø¦§…§ø¦©¶)BÈÃüï"D¢‘–Ñ«–WýŠmÐÝ+¼g£gc©c‰m–ñÊŒ4°;1n²õdñ›qŸ¡êkèO³vçåÊÆJ3š6ÙÂ@Ó`*sjoýbú{Ѥ’ç´(Z¡ÆöFñ:MM!-5-ùA>xc EB„Ô âù…DßE@$öåõXò±.AWOб 4ÈD2@˜urV}k½øQ’R[ …ýŠM‚‚ó'š;šÓØi<7Èh¡'yB]î¼<¾ >Šäô¤üI9¯|‹÷ü½ÐÞúíïE0,)àŒ3‡æÕæ!„,é–½úò ÀËFÏ&›“ôAöõt`Ø<¶¾†¾ø+å¼òÒúRñy…Ã[%'t »Å:XÒ-3k2_¾z)þý>¡$¡¿¡NfL6Ö2ŽÌŒü`Ò™¡¥ÎKeô;0Ø{™<§àaáq<åxLvÌ ×x!6ÃÔsÔ?ÆHÀ€Á|LÀk™Ë²¶®¶5×Ü+¼WßZß%èªl¬¼_x[ô6ñÁpÙLµMëZëÎ>=ÛÜÑÜÜÑü èÁƈØWö×[þùâÓQ{þOöËw ïÒ©t7Ó¿'gÌ3G$m‹Þ–\–ÜÚÕZÑXñuÜ×È*Q…¸ÄiIUSÕͼ›qùqžžV:V2úle;ׯë×)L²š„M³ÝwC[CsGó‘¤#qùq:T™£g*ÀÀøàµxìâÔòÔ(VÔ{‘ïIìzÛåm9Yé¶òañÃøø¬ÄÁÈa´ÁèZ~í°ÇÖ/¡àaÑÃiÌiD•¿—§\3~ÍÕ쫹µ¹«/¬ÆJÂ\û¹âïGÈê2—eG“îŽÝÝÑÝ!>Sj¿c¥ce¤i”\–ìþÓ_+vn/”çT‰ª{çìݹ),-,,- ¯2;Ç,0>xc„ïæ~º0t’Õ$šM•¨jA·˜9z毋d=IÎFfØÎøqþc Ǩ‘Ô 5 Wº­<»ò¬øB Ã[¿<­|ÚØÞ8ÝöolRH”sçV¹­Ò×Ч(F¿.þu2còB5§™O²šÔÜѬEÑš3fŽì~†¨B<²øˆ»¹;U•Ú¯S@MfL>xn¢ÕD ²U•êaá¾<\b™  ¼0è‡ÃçóeT`2mBC9þþ²ê€×ïÛ{ßžyz&ý£t ²Æ¿¡_ ›<OmlläoÆ'à_á^á½ £&¼þ›úpõ ^3˜?ÿ ñï Ï_ W¿à5ƒñ ( ò ( ò ( ò ( ò ( ò ( ò ( ò ( ò ( ÖÇ)rksã âýÇø3õ™ov§CD(fTe<)Ò)è p °Ô±îˆÀЂ|ðæ¨jªŠÌŒô¶ôö°ðP°©NNhbèhƒÑ¯óÖ>,…ø¹7ê[ë±MWSWÈ'Þxð¼ðæ¨jª M Me§w ÿv·ònñÚx®¦®öFöà xM Ÿ0ÈöÌÚ“üaräšÈñfã‡;ðšÀó€2©nª¾_t¿¹£ÙVßÖáWðªŸpÆN‹bE!„’Ë’BV?È'ûÐÜÑœPœÀæ±)$ÊXã±=ˆÔ4×Ü/¼ßÔÑ„µ,He e1Ù1““]L\ž”?Éædk5V¸®@ D‚äÒä|n~·°ÛZ×ÚáG!Qäï4›“}÷å]‰éXá\û¹6z6x¡@(He§æÕæ EB†.×áKRùûŸ÷>Ãtsìæ iû`‚| 4"2"öÜÞÓ)èÄ6ÝÌÜæÙÏÃ'¤²S#3#B)e))e)X,ŸˆÍýêæWÍÍxSnfnG1Ô4Ä6/g^þ:îk¼eWS×ùó匪¬¡,41”L$~t8±$!ähä¸ÂuEFUÆG1U4Và5M´M~]üëXã±rvš]“Ýs:Vhohç/ª^|zõÓr^9^Çœfþv¸µ®5B¨Ï0zú9ñgÉ8euUõw'¼ÛÇuÿ2O”Cfuæî¸Ý¡ÀÃÂÃÙĹ¡­!.?îhÃQ¼‚§…çR祑™‘^–^žžxynmîÇ1w »LœÜÍÝùü;wžW>ß½-âY¹+vÞr}k}\~Ü‘¤#ý /,-¬µ³u¾ÃüQôQÆZÆ••ë#Ö7µ7¹˜º¸˜¸I䬚¬”²”M‘›â7ÅkR4¥S„P9¯|Ý¥uü¾Íl¢ÕD𭍮èQñ£ª¦*k]ë>ÃÚæ/I¿à$@>Páiá¡à#Ÿ>ôù+ ò À+xXxìýŽm·áå¿=ù­[ؽÞcýŽi;Bè‹)_,þ}ñóÊç)å)Þ–Þ§ÓO „‚ Ÿ üáHOЂðý ¯­«íêú« =¶ùuÜ×MíM!³BV[…×9~zï½Ws®ºJ§¡cÉÇøüÇ€þT‰ªXaEc‘@DH9!; ©m~0ñƒ>Ç'ú'xãA>PÏ+ŸSU©ïOz/1§™/wY~òÉIÙ>­xJ$ƒý‚±d!¤CÕÙâ½eç­O+žz[z?«xFU¥n›ôw bA·xÛõíßžü&xŽx2J*K"ˆõ­õG’ŽˆD"‘H„jéjA±ªYÈ J§¡”²‚Ê7³¿Á“ „9Í\Î0¤Â36äù@94¶7kc_»qætó>lêh2Ô2T#©‰Ž¢ÂÚì­e ºE¿Â³Ò±߬o­ˆ?%þÔ³&6cP:EñÚy†š†d ©{û C*˜?ò €r ©Ñjšk"ø=¸‚W!ãŒ6E»º©º½»]<¥Àf/ÒÔh½µÌæ±ûQå™¶šv§ sÓ„M=kb“+åé ¸¥³E¼°ª©J|“®F¯lªlél‘šRô†T0 äåàfæv-çÚñäãïOüë‘GUSÕåÌËâu(D Bˆ×Æ/o>>&;æP¡¯¦}…•ðÚx'RN`»BãÌÇ];zôñQ|œŸÍcGdD(íDˉ—2.YêX8ˆ—çÕæiQ´äìÔ”fŠº_x‰Ó¬„Ãç\ʸ$^ÇÛÒûRÆ¥øýoíÇßÅæO˜h›ô†T0 äå°ÎcÝÜ?&ü˜X’èlêÜÐÚW‡%8 º… Aåræåna·U!ä´ÑsãܧRO¥W¤3Çïàß-¼[ßZïjêê5Ê !´Î}ÝÜ?%þ”T–„¿j¡¦ª&=ùl¸56?6øZpxZ¸‹‰‹–š—Ï-xUÀªf…-3£™ÉÓéX㱆š†±ù±ç]Í\_µ¼ŠËS'ÿã^¾Ù{óõÜëWXWRËS½-½iTZq]qBq©å§L´Mú CjðŠÏŸˆËËçæ#„2«3B1Ù1/ª^ „ÞŒŸ&RA>P.&.!³B¾¹óM*;[QÛÕÔu*sê¡„Cø×e:•¾ØiqdfäÙ§g±’ Ÿ #‡Ã‡¿ºùUFUFFUVŽ­?ÍÐt6qÞ;gï×q_§±ÓÒØi!S— þ{翎֜f~våÙàkÁY5YY5Yx¹½¡=v—§S5’Úî»?Žù?ekŸéÌé!ñ!xQôQaËÃ>½öiEc>ZcN37Õ6•'Œ!r»àvLv ¾‰~~šô†€M÷9q8>Ÿ/£“iÊñ÷—UgÀªšªîÞçwò±%ÿ÷ŸK—n½{ËVß« ‰’Ë’s89­]­Hl}̦ö¦„’„ ^™Dv2vê¹>&¾ò&SŸ9ÅfJ·@ΟúÄ×Çt5u•Ø%‰žU>˪Éjëj3Ö2¶3°“ø= y:eóØŠ´vµ:9N²š”S›Ós}ÌnawrYr~m>Q…ÈÐcøXûˆOËè3ŒA‡OH€ñ‰‘Cž¿§6662öJ€|Ð?ØOdÕd99â¯}fÕd-?»\“¢™üA²ÄtH€lƒžOÀó€Òø)ñ§âºbwsw]uÝ’ú’û…÷"Ášñk†4™àò¹^\èm/C1Ï~ÞÐõ€²€| 4œŒ=(k(ÃK–8-Ùâ½eH;}Õú*41´·½3lg@>‚| D‚|‚;-~Zñ´º©ZKMËÓŸ61tôÕõñI=‰¯‰ À¿äebN3Ç“~= 4 däŒÊp¥ùùùùùùëO”Cq]ñ®Ø]Kœ—,qZ2ܱ¹pøœOb>‘ºk2c2¶°)Vg¬ñØÓwHÔ©i®¹–sUÍjêh¢©Ñ\L]æÙÏ3Ô4ò¸Á€@>P--©ìT/K¯áÈ«½«ûyN+mCIDAT™õžÌéæâuHDÉ›QxZøÁ‡;º;ð’¹7%Ú1mÇJ·•C0PäåÀÐcœ Pd £& w ßhTZ¿þÃU7Uwÿ;„зþßŠç ‹Æ.úãÙ{nïù&þ›éÌéºêºƒ+Päå uþÄͼ›qùqÍͶú¶kÝ×¾*<–|ìãÉ{Zx"„2ª2¾»ÿÝ÷5^£¼Î<=“YI!Q¦ÚL]â´„@ ˆ7žÊN½žsÍc“‰d'§®+ð/Ðx#<û#»&ÛPÓp¡’ú’(VT· [Øm­k½Ôi©½‘½œ§#ãX©=.s^Ö[ ~ĺøâb— ËŒÏAˆwƽ“Pœp¯ðÞåÌË›½6Kx 7O”CÏù_Þø2Š…}N(NˆbE­t]™ÊN­o­Ç ÛSÙ©ãÌǸw ¢±+ŒË˪ÉÚ3kÞÎþ»ûÃÒÂðÍ»…wÃÓÂO.;9ÎlÞˆ³©ó7ñßÔòkBF¡óÏχ܈x<ûcßœ}K—öy.²•Úã¬Ñ³¤†1°à¥Z}aµ@(6J?ºøhŸg§ ”ò„Ðr—åR÷.qZr¯ðÞ“ò'OŒ4O”Òͼ›Q¬(ª*u£çFg熶†³OÏž|r²gÍßžüf«o»ÿ­ýFZFÙ5ÙG“Žž{~î=¯÷LµMB· n‡¥…‘THkÝ×zŽòlnoŽdE¦”¥|ýÁý-÷)$ ÖÈé´ÓÖºÖA>A£è£´Õ´ŸU>Ûs{:Y=Ð-ÐÅÄ…L$gÕd…§‡ïŽÛíeé%ûPåJ¯o­çò¹45ZϽØSuÁ (ò €Rjïn§«Ñ% ¥Þ$ UUTBB‘ÛìèîЦhKLÏÄ_üÀDÛD¼Bkg«@$H*M’X__åýöéϯ^TWĪf‘TH›&l¢©Ñr89Øp…œ 4 .¬º°óÖÎTvj'!DU¥®u_ûÉdé?d…QWU¿xáÿw…u¥ðU!VH§Ò:.t4v”Ý£"ÇJðC'‡“ó´âikW«x¡Ô÷;$êH0§™G¯‹>œp8&'¦œW^Î+Gi«i/qZòá¤e¼ò †AöèHàp8|>_F&Ó&4”ãï/«Î´t¶dÕd™ÑÌ$Vw(ª+âwò-é–t*ý½È÷îÞ{¸õ!ö3¼6^>7ßRÇÒX˯ZéZ‰Ï9@qùÜŠÆ 2‰ÌÔcŠ¿"µ\— «¨®¨­«ÍXËØH˨_C#½+#ìÞÂXðƒÎ÷¨oGwGÂû j$5„P{w{FU†Ôšd ìE¬Ž6E[êÒ¢ÝÂîÒúRì÷E­t­ˆÉ'`Àäù{jcc#ƒOúg¸ò‰ž¢XQÞ–ÞØ2B‘ðÌÓ3{ïìeè1noº=Ô]ƒž*+ý~õ ö –½ü!=Ÿ€çe›»ýæv3m3]uÝr^9¯‡úÄwx†úqe e_Ýüª·½îîŸNþôuÆóÚ¤W¤k5V¹­î@Àð€| ¬–:-}É}YÑXý6‡¾†þçS>ö7 [»Z{NÀ½ÁÏþÇ›XñŸ ò €²šm7{¶ÝìáŽB’½¡}áöÂáŽbÈþÕðÆëÇÔ!© Ÿ€¢ Ÿ€¢ Ÿ€¢ Ÿ€¢ Ÿ€¢ Ÿ€¢ Ÿ€¢ Ÿ(V5‹y€š:ܼVŸ_ÿœy€É<À”ýƒœ ;È'`„J*Mú3ûOª*u¸ oOÀHÔÑݱ;n÷¢±‹¬t­†;úùŒD??þ™ßÁß1mÇp€\à÷Àʪ½»ýDʉ¹7Ø<6™Dv2vzÏë=_k_9+$'lˆØ°súN;»CårrÕÉê3lg|æ÷™®º.VG œ{~.*3ŠÝȉD–:– ¬t]9ÔÏ ò¹ù¿=ùí‡ù?Щô!í€Áù@)u ºÖ^\û´â)¶Ù)èL.KN)O ™è(O̳Êgî¡öîöˆŒˆ§O£×E««ª#„>H“ÐÛ"gÿDc[cÞ¥6|ï½Ô÷lNvê”×Ö­cÖ­kpøNL y€³<ôÐí·ß®ËÌ ÔéF³7F……^ëօϛ׺aC½“^‚ûmp¢Å‹M­­no½\Qáñî»užžÄ `¨8à¿e˘ùó[·o7º9mõ ÎõÌ3Í™™×÷Y¾|ì©S^Ã]p¹ySùÆ!¯¿òâ‹~XëååÄ@Ožàt))m\ ²<ûìØC++=†»"à×Òâ¶gO`jê8ƒÁ{çÎÚ×^«wöƒy€éóy`v;æûöÛAW®x$%µ¥¦¶N™Òm5Êâ¼5Xàþa2¹ÕÖº—•©Ž÷9zÔ×jU¤§7¦§7 újŽ=Œ<``ää !„Å"¾ûÎ÷Ð!¿ü|Ÿ¦&rà`J¥múôöÇkYºô–Ì›V‘'8‘Ì<ÑÉf55W®¸77»Ùl<< Ë××l‰¿ã¨} (Op}€á¡PˆÈHsd¤#Ÿ˜ `¸°Øä"O¹È@.ò‹<ä"O¹È@.ò‹<äâ~Û@.Ö'€\ä yÈEžr‘'€\ä yÈEžr‘'€\ä yÈEžr‘'€\ä ×ÿIðàð·¨IEND®B`‚fio-3.39/examples/nbd.fio000066400000000000000000000014021476262051600153130ustar00rootroot00000000000000# To use fio to test nbdkit + RAM disk: # # nbdkit -U - memory size=256M --run 'export uri; fio examples/nbd.fio' # # To use fio to test nbdkit + local file: # # rm -f /var/tmp/disk.img # truncate -s 256M /var/tmp/disk.img # nbdkit -U - file /var/tmp/disk.img --run 'export uri; fio examples/nbd.fio' # # To use fio to test qemu-nbd + local file: # # rm -f /var/tmp/disk.img /var/tmp/socket # truncate -s 256M /var/tmp/disk.img # export uri='nbd+unix:///?socket=/var/tmp/socket' # qemu-nbd -t -k /var/tmp/socket -f raw /var/tmp/disk.img & # fio examples/nbd.fio # killall qemu-nbd [global] ioengine=nbd uri=${uri} rw=randrw time_based runtime=60 group_reporting iodepth=64 [job0] offset=0 [job1] offset=64m [job2] offset=128m [job3] offset=192m fio-3.39/examples/nbd.png000066400000000000000000001243631476262051600153360ustar00rootroot00000000000000‰PNG  IHDR_•ÉM¸bKGDÿÿÿ ½§“ IDATxœìÝw|TUþÿñ÷$¤¡DBiR¥‹tå'êBˆêº+UZˆ¢ ˆ ë"ÅŠ‚a¿ ¢¤š I!e~ Œ™Ã$3™y=yùD7nTBB‚"""”‘‘au!!!jÛ¶mž5deeéäÉ“æ×´ú8×Áâ+ÀæfÏž­ØØX9sFóçÏ7oŒŒTÍš5%Io¾ù¦<<<$™UwíÚ¥„„ýãÿPzzzžýf¿ÜñÝ.}\Ë–-Óƒ>h®aÇŽºvíšfÍš¥„„IRŸ>}ô·¿ýí¾p~£-þµ (öV­Z•瞯¼òм½½5cÆŒ\?[¾|¹~úé'EGG[l_²d‰–-[¦ŸþYƒAuëÖÕÈ‘#5xð`‹v?üðƒ^{í5}ÿý÷JIIQåÊ•5lØ0-[¶L111æv5kÖÔÑ£G•––¦Þ½{kïÞ½š5k–FŒauÝ/¼ð‚$)11Q .Ô_|¡ÿýïJMMU©R¥Ô¨Q#½ð 0`€ CÞC€kcñl€Ë€ °ø 6Àâ+Ø‹¯`,¾€ °ø 6Àâ+Ø‹¯`,¾€ °ø 6Àâ+Ø‹¯`,¾€ °ø 6Àâ+Ø‹¯`,¾€ °ø 6Àâ+Ø‹¯`,¾€ ”°wëÅÇÇ+99ÙÞeà4ªU«fõ¾œù 6Àâ+Ø‹¯`,¾€ °ø 6Àâ+Ø‹¯`,¾€ °ø 6Pâ~;0 ¶¨œVß¾}µvíZ{—a£Q:wÎCgϖеkî2í]pÿ £³ôàƒªT)]|”+"ßáŒÈw€|‡s"ßòΉ|‡3»ïÅWIŠˆˆP‹-lÑ8•¨¨({—pÏ23¥;üôå—þÚµËW‰‰\$ΫdÉ,µis]O=•¬ÇO‘»»½+ ùWB¾Ã•ïp%ä;\ ùWB¾ÃÙŒÆûûžŒÁ`ÐêÕ«Õ¿[ÕN£_¿~’Thg¾ÆÇÇ+99ÙfýmÛæ§™3ƒu指š7OUÇŽ×Õ¨Ñ U©’®’%3åÆç|8¬,)1Ñ]§O{èǽµm›¯öï÷QåÊéš<ùŠ:vL±w‰€Í‘ïpä;\ùW@¾Ã‘ïpä;]µjÕ¬Þ—ÅW(DÅeñõôi½új}ÿ½¯zöLÖ˜1WU¥Jº *Їӧ=]Z_~é¯V­®ë_ÿºÌŸ8ò®Ž|‡³"ßáêÈw8+ò®Ž|‡#¹ŸÅW¾#.nÏ=ýt%]¹â®?ŽÕ‚ñ|¨Ë©R%] Äëãcu劻ž~º’öìñ±wYÀ}!ßòΉ|Èw8'ò ßáûLÆ S—.]T¿~}Õ«WO;vÔ„ ôË/¿Aõ®ƒ|‡£#ßµùžÝ?þ¨ž={š÷úÏþcUMÈ|‡##ßmËÞù.IW¯^Õĉ5`ÀýþûïVõ‚!ßáÈÈwÛr„|ß´i“zõê¥õë×ë™gžÑ?ü ×_]ß}÷^zé%EEEYÕ/r#ßQ\°øŠ"÷óÏ?ë‘GQTT”’’’ôÓO?é·ß~SzzºæÏŸ¯Æ+66ÖÜ~ëÖ­jݺµ6lØ ¬¬,mÛ¶MTll¬bbbÌí¢¢¢tôèÑ{>Æ€d4åççgîkþüù3fŒbbbÔ¥K>}ZsçÎÕÔ©S-ÆRÐÚG°u«Ÿ||²Ô©SнKq û÷ï×îÝ»•ššªuëÖéÌ™3E^C¹rå4cÆ …„„È××W:tÐßþö7óÏwíڥݻwy]Ϊsçy{giÛ6¿»7Šùn[Žïå˗ל9sT±bE•*UJC‡U—.]$IYYYzíµ×îù,+ä|‡£"ßmËò}Ê”):~ü¸>ùäU¯^½ÈïjÈw8*òݶìï±±±7nœ222äï﯈ˆ¨C‡jÒ¤‰$é­·Þâ X"ßQ°øŠ"÷ÒK/éÊ•+’¤¾}ûªFªZµªþò—¿H’Μ9£W^yÅÜ~ôèÑJOO7·oÓ¦‚‚‚4mÚ4yxxØä9………©qãÆ 4ï#IëÖ­³hgMm€½ìÛç£ÇK•‡‡ÑÞ¥8…fÍš©eË–òññQïÞ½U¹rå"=~¯^½´gϹ¹YþU^µjU‹×.\(ʲœš‡‡Q-Z¤jï^{—X ßmËÞù.ImÛ¶•———Ŷ–-[šŸgffòå"ßá¨ÈwÛr„|5j”Ö®]«úõëù±]ùGE¾Û–½óýƒ>0_-±J•*ÿOS­Z5óó%K–i]ÎŒ|GqÀyÙ(R±±±:pà€ùuÅŠÍÏxàóóuëÖ)55U/^4ŸÍ*Yþ… òåËçúÖÿ½ÃÇ'wH‡††Z'{ß·>}úžkìéèQO=õ÷±___}øá‡ö.#—ÿýï¯ëÔ©c§JœS:iúòË€»7Šùn[öÎ÷Y³få¹=00ÐâµÑÈÖÙùGD¾Û–½ó]â³¹=ïpDä»mÙ;ß³ŸÑdñ³ì¯<¨¤¤$‹ÿk†õÈw8:Î|E‘Š‹‹³x=aÂó}VGmÞž––¦“'Oæºÿ«···Åëì— ¶öyÉyœÛ²ÿ'—5µöï® {—á>ýôS…††Z<¾ùæ‹6IIIzóÍ7Õ»wo5lØP5kÖTóæÍ5xð`mذáŽýïÚµKÏ<óŒêÕ«§úõëëé§ŸÖ§Ÿ~zÇ}®]»¦¯¿þZ‹/–$¹¹¹i̘1|«ÞÆBB2uñ¢»½Ë,ï¶ãˆù~[ö/JRÆ ïmp¸#òŽˆ|·GÎw.òŽˆ|·{ç{FF†Åÿ/ç<ÉÇ×××üÜh4æúÂ<¬G¾ÃѱøŠ"U®\9‹×Ó¦M“ÑhÌóQ§N•)SÆ¢ýíK8Ü–’’ûÞ÷z kYS`O7n¸É×—³dlá™gžÑñãÇåéé™çÏOŸ>­nݺ)::Z'OžÔ’%KtðàA 4H»víRDD„FŽ©ÌÌÌ<÷ÿüóÏõöÛokóæÍz衇tøðaM˜0AsæÌɳý’%Kôè£jôèѺvíšÊ–-«Ù³gkÔ¨Q63L|}³tý:ŸàXÈwÛq´|ÏnóæÍæç=zôPíÚµ­$òD¾Ã‘ï¶ãÈùŽÂE¾Ã‘ï¶cï|¿víš²²²ÌíÝÝ-s¾NHH¸Ÿá"òŽŽÙ‰"±nÝ:éÁ´ø–þ‘#Grµmß¾½Ú¶m+Étüìÿ±tâÄ óó¤¤$ÅÇÇçÚÿ^a-kjìÉh” {Wá&Nœh¾×ê“O>©Ç{L1b„ù²‘[¶lÉ÷²8ÇWùòåõÀhÈ!æíï½÷ž~ÿý÷<ÛÿôÓOZ±b…~øa]ºtIãÇ׳Ï>««W¯Â]—Á`ú³8ò½èu¾ß¶iÓ&ýüóÏ’¤víÚå{ibX|‡#"ߋ޽ò…|‡#"ߋޣå»_¼Íïpt,¾¢È-]ºÔü—Û§Ÿ~ª?üP‰‰‰ºxñ¢þþ÷¿ëÀš={¶¹ý›o¾)IÒ'Ÿ|¢]»v)!!AÿøÇ?”žžn“cXËšÚ8·‹/ZÜwºJ•*æçnnnªT©’ùu~—·©\¹ržûgeei÷îÝyîãïï¯Ö­[kñâÅæoV8p@¯¿þºuX°W¾ïÝ»WãÆ“»»»ÂÃÃõî»ï溜ÀzöÊw@á*Š| ”›ÛŸK,9Ï ÍùºdÉ’÷8 Å‹¯°Ú¹sçd04pà@‹ímÚ´1ßcõö£OŸ>æŸ7iÒD‡Ößþö7U­ZUÆ SÅŠÕ¢E ?^{öìQË–-Íí;vì¨Ý»w«{÷îrssSÇŽÕ¤IU¬XQ5jÔ0·ËþÍ¡{9ƪU«d0,.ܯ_?EFFjÊ”)µ§¥¥É`0hÅŠw­­fÍšæý^~ùeÕªUë>ßqÅÁ¥K—,^ç¼´——W¾móÚ'{{Iw=“µZµjÿ€Øµk× ˆ=ò}ÕªUzñŬ5kÖ(<<Üâ?w÷ÏÞŸß…£(ò½D‰ªZµªy[ÎÛÒ]¿~ÝüÜ`0¨zõê¬@qWÂÞ øªT©’ŒVžÛ_¥J-Z´¨Àí›5k–ç7¢££ÍÏsÞëµ Ç0`€ ïϧOŸnUmãÆ»ë±8Ÿ²eËZ¼¾qã†Åë´´´|ÛæµOöö’TºtiIÒ¨Q£T±bEMž<9×þ·ÏÈ—L—AÜ¿¢ÊwIæ+©lܸQݺuÓŒ3`þù³Ï>«&MšhìØ±÷>€…¢Ìw@Ñ)ª|üñÇÍ·£ËyO×ÄÄDóó&MšX|¦àÜøÚ4Þ† ò\è×ùóç%I¾¾¾êÔ©“=Ê åÊ•SÓ¦MͯϜ9c~ž••¥sçΙ_÷ìÙ3Ï>²ïsúôiósƒÁ Ö­[›_ïܹ3×%lÎ;§S§N™_g¯`½¢Ê÷íÛ·«k×®Ú¾}»¦M›¦7Þxƒÿ¤€BT”ŸßE§¨ò}РAæÛ‚œ9sFYYYævÙï ;tèPk‡ bñÅBll¬FŒ¡3gÎèÆ:|ø°ž{î9F•(QBï¼óN¾ßP€¢6{öl…„„H’¾þúkíß¿_ÉÉÉZ²d‰®]»&IêÒ¥‹žþù<÷_²d‰ù &Ë–-3o ÓÃ?l~}âÄ ?^gÏžUjjª8 #F(##C’¢W_}µ°† .§(ò}ÅŠº|ù²nܸ¡©S§*444×ã‡~(ä‘€k)ªÏUù^©R%Íž=[îîîJJJÒo¼¡ÄÄDmܸÑ|ÏÙáÇ«}ûö…9T†ËÃáuíÚU_}õ•V®\©.]ºèÌ™32ª\¹²† ¢Ñ£G«~ýúö.̪T©¢7jùòåÚ¶m›†ª7n¨dÉ’jݺµžyæõèÑCƒAÓ§O7ßGú¶>}úhĈЉ‰‘Á`PýúõõÜsÏ©oß¾æ6Ó§OW§N´mÛ6………)..Niii*Y²¤š5k¦öíÛkàÀò÷÷/âÑ€ó*Š|½¢Ê÷5kÖäyÛ]»v)44T’´hÑ"uíÚµÐÆ ®¤¨ò½{÷îzøá‡µtéR­Y³FK–,‘¿¿¿Zµj¥çŸž…WÀŒÖÞ´óvƒV¯^­þýûÛª&pýúõ“$­]»¶PúWrrrÚ††VÓoÄ«[·‚µÇÝÕ©SG7oÞ”$-^¼X;w¶sE(l7ú+<¼¼Ž?aïR3òÝöÈw×C¾Ã‘ï¶G¾»òŽˆ|·=òÝõï( ÕªU³z_.; €•²ßoÕÃÃÃŽ•l‰|çD¾€s"ß8_( •+WªOŸ>JIIÑþýûÍîÕ A;W°ùΉ|çD¾ptÜó€ªT©’®_¿®æÍ›+==]åÊ•SÓ¦M5jÔ(•*UÊÞå¬D¾€s"ßÀ9‘PÛ¶mÕ¶m[{—°1òœùΉ|àè¸ì0Ø‹¯`,¾€ Øäž¯#FŒÐ+¯¼b‹®›ºråŠüýýåååeïRࢮ\¹¢êÕ«Û» P8óN-55U©©©ö..À&g¾.^¼Xýû÷·EW€M ………)**ÊÞ¥ÀEõë×ÏÞ%€"™¯`,¾€ °ø ¬òÞ{ÿShèç ý\­Z}mu?6œ3÷S§ÎzV°ùΉ|çD¾އÅW@¡¹~=S;nÑ!{í]ŠM8ÛxîWXXu?ÞGµk—¼¯~zô¨¤ãÇû¨e˲6ª @as¶æ¬yñÕ æl¿~ý$Ik×®-”þãã㕜œ\ ¶¡¡ÕôÆñêÖ­`ímeøð}Úºõ‚ŇûK—n¨_¿ºq#S3g6R³feuéÒ Í›÷‹¶l9¯3UÿþU$I/šÚ¦¥ejöìGÕ¬YYÅÆ¦èÕWéС?ôÑG­Õ¨Qé\ÇëÔ)DÆÕP­Z%õÿwEÆíSúì³væ¶§O§¨OŸoåãã®×_o¬G VllЦOÿY¿ý–¨äätýúk¯»Žç^{¯c*j÷2IêÙs»Î»®ºuƒôò˵U»vNœ¸¦I“~Ô‰IúàƒVjÖ¬Œ¤¼ßó³gS4kÖÏ:u*E/¦æzÏÉÆþ /¯ãÇOØ»ÀŒ|'ß Š|ÏùGD¾“ïE¾ç|‡#"ßÉ÷‚"ßóG¾£(T«VÍê}¹ì°óððБ#Gîká(RÒ‘#÷·ð —0oÞ¯:wLyD:„Èß¿„ªVõWTTS•-ë­×^;¤Ë—ÓnµýE±±×5yr}µkWA¾¾îª^=PÑÑMe4õ¯ÊóýûWQ£F¥åãã®V­Ê©]»ò:|øýñÇÍluü¢k×Ò5uê#jݺœ¹ï¨¨&JMÍ´jl=®5c*jËmII銌¬«Æƒåëë®úõKiþü&JOÏÒ´i‡ÍíòzÏkÖ Ôœ9uñbjQ@! ßÉwòpNä;ùN¾Ή|'ßÉw p°ø (r[¶œ—$µo_Áb»§§›Z¶,«72µkW¼$Ó¥VÜÜ êÐ!Ä¢mÙ²Þª^=PGŽ$(..÷‡ÂG±üfbHˆ$)>þ϶ß}ÐËP IDATg:FÛ¶–u”.í¥‡ö·fh:®µc*jËm^^îjР”Ŷš5U®œ·~û-Q/Þ”ÿ{^®œ·ªVµî=à8Èwò|œùN¾“ï€s"ßÉwò(.wÏ×uëÖ©OŸ>æ×'OžÔ„ ´yóf¹»»«E‹ŠŽŽ6ŸN<}útM:U’ÔªU+ó½W7mÚ¤'Ÿ|R’l¾§jÎþO:¥ñãÇkãÆòôôT·nÝôÆo(11Q£GÖŽ;äïï¯=zhÁ‚ $mذA={ö4÷“šš*oooóë+W®hÆŒZ¿~½Îž=+???=öØc?~¼Ú·oŸçØ=ªW^yE»wïVzzºš7o®éÓ§«U«Væ6iiiš1c†Ö¬Y£3gÎÈÛÛ[­ZµÒ!CÔ½{w¹»»çÙ7òѺµôý÷¾~î9飤N¤mÛþÜþÇRPPÞ}¬['e›S:yRš0AÚ¼Yrw—Z´¢£¥Û§ÀOŸ.Ýš³jÕêÏ{¯nÚ$Ýš³ þóžª9û?uJ?^Ú¸Qòô”ºu“ÞxCJL”F–vìüý¥=¤ ¤[sV6HÙæ¬RS¥lsVW®H3fHë×KgÏJ~~Òc™Ž•ÏœÕÑ£Ò+¯˜Æž.5on_¶9«´4S¿kÖHgΘŽÙª•4dˆÔ½»é=‚C¹y3KIIéòòr—Ÿ_ʔ1Í›K—n˜ÛJRÆ_æÛç©SɪPÁÇb[@€eßžž¦¹pûbû7of)%%C^^îòõÍ=OJ–ô(ø îñ¸ÖŽ)'[ßS$§»%»   ¹·{éâźr%MAAžw|σƒ½tòdÑ^v €íïä;ù8'ò|'ßçD¾“ïä;Px\nñµwïÞ2êÝ»·Ö¯_¯ˆˆM˜0Aï¿ÿ¾öîÝ«§žzJÔ?ü Iš2eЦL™"Ëo{tíÚUF£QMš4Ñ©S§òíìØ±šà_¾lú^Ù²ÞòôtS` ‡RR2ô믽äîžÇ§Çû¨Ãϯ„RR2týzf®›W®¤ÙìX9k«1ÅÄô¶ae÷çö?Xrºý>{Ýõ=OHÈ}¹ÅùN¾“ï€s"ßÉwòpNä;ùN¾…Çå/;¦-ZÈÏÏO:uR÷îÝuàÀó™¬÷륗^RãÆåçç§çŸ^uëÖÕ×_­±cǪaÆò÷÷×°aÃTµjUmܸ±@}Nš4I'OžÔÂ… Õ£GªFZ¹r¥BBB®øøx‹}5sæLµjÕJþþþjÒ¤‰>úè#ݼyScÆŒ1·Û¶m›êÖ­«Î;ËÇÇGåË—×ܹsU£F ›¼.©AiùrÓ"ì A¦ÊaÃL‹Žw[xÍKX˜élW??Ó´Ý»Küy&ëýzé%©qcSÿÏ?/Õ­+}ýµiQ¶aCÓ¢î°aRÕª¦³c bÒ$Ó» ši¥5¤•+¥)<\Ê1g•˜(ÍœiZ¸ö÷7-ô‘tó¦”mÎjÛ6S;K>>RùòÒܹ¦þá°ºt©(IúöÛ8‹í7ofiÏžKòövW›6å%IO<ñ€23úï¯äêçwŽ©M›MþvaN?n:ÆíK­ÜvéÒBý†_aŽÉ^®_ÏÔo¿%Zl‹‰¹¦‹o¨ví’*WÎôÙüÞó?þ¸©“'SЦX…†|'ßÉwÀ9‘ïä;ù8'ò|'ßÂáò‹¯M›6µxýàƒJ’Ο?o“þ›4ibñºbÅŠynà |ÌÏ?ÿ\’Ô½{w‹í^^^êØ±£RSSµyóf‹Ÿy{{«yóæÛêׯ¯Š+êСCºpá‚$Ó½{öìÑСCµoß>efšnhÃY¯÷£_?éï7IÚºµéLÒiÓ¬ë+ǜխ9+ÍY嘛º5gsmà‚óÖœUŽ9+//Ó"tjªé2ÊÙy{›.3œ]ýú¦z’nÍYuí*íÙ# *íÛ'Ýš³Š‰á¬WYG•*ùjúôÃÚ¾ý‚RR2tòd²^~ù€.]º¡©SQ™2^æ¶•+ûi„ÿjçÎx%%¥+!á¦>þø¤-ŠÑ¤Iõ­þvbdd]yjÚ´CÚ½û¢®_ÏÔ±c×4aÂÿ©lYï»w`¥Â“½øø¸ë_ÿ:¤C‡þPjj¦~þù½òÊAyx¸iêÔGÌíòzÏOÒØ±ò¼Ô €â…|'ßÉwÀ9‘ïä;ù8'ò|'ßÂár—ΩdÉ’¯===%IYYY6é?00Ðâµ›››ÜÝÝåëëk±ÝÝݽ@ÇLKKSbb¢¼½½Í÷‡Í®|yÓ7Vââ,¿­,C{/W®œÎŸ?¯‹/*$$Do½õ–Z´h¡>ø@;v”$µiÓFÆ ³¸—-¬0mš´u«i¡ðƒ$7+¿ûcÎêÖœ•æ¬rÌY¹¹™î›šcÎÊݽ`ÇLK3Åêíýçýa³»5g•cÎ*8XyÞ  \9Ó¢ïÅ‹¦³fßzËt&ð˜r%©MÓÙ¹ÌY»úæ› 1bŸùuݺ_¨W¯5~•-ë­uëÚë­·bôÚk‡—*Ÿjذ”>ü°µZ´(kÞ/8ØKŸ}ÖNo¿£þó']¸ªÀ@OÕ©SRK–4W«Vå$I?ýô‡úöÝaq¼‘#kjìØ: ýܼ½gÏíjß¾‚–.m¡Ê•ý´víãš3çˆFÚ¯ÌL©ví@WO þª«Wÿ¼ÌJ~ãyþùj÷|܂ީ¨Ýë{ؼyÍž}D’T¾¼·&O®¯9s~ÑáÃW••%=òH)}ôQk5nlÞ7ç{ž‘aT=º––/?®={.)4ôsõëWE³f=ZdcPpä;ùN¾Ή|'ßÉwÀ9‘ïä;ù=ƒÑ˜×m™ï¡ƒA«W¯VÿþýmUS‘¸}/ÕÔÔTy{ÿù홉'êõ×_×?þ¨† š·ªV­Zæ{ÁÞª„„„\—)ίÿ®]»jëÖ­ÊÈȰhß®];øà 4H’Ô°aC8qBIII¹Þ‡ÛgÜž?^!!!?KOO׎;4oÞ\‡VZZš.^¼¨9sæÈh4ªC‡E9L瑜l:táB©N顇¤O>1-"öík:[³0téb:Æ¢E¦NœÆŒ1]¶·¨Íš%U­*EDH6˜Îh=vLzöYÓ½[££ÿ¼üðm~~Ò¨QÒþýRJŠé,Û¿þÕt™åsVÇK‡›s/^”æÌ‘ŒF‰9‹HL¼©)S~Ô… ©JMÍСCW5fÌAxhÔ¨Zö.`%òœùΉ|àL\nñuß¾}2 Z¿~½$ÉÇÇGS¦L‘dºDí믿.IjÔ¨‘zôèaÞoúôé ÓÌ™3U®\9½ð 7nœ*T¨ +W®È`0hâĉùöðàA mÞ¼Y™™™2 š={¶vïÞ-ƒÁ ;w*%%EƒAÿüç?ï8† *èÀ8p ÂÃìfÍš)%%E[·nÕ!C$IóæÍ“Á`СC‡¤ hÒ¤IªP¡‚Ú¶m«R¥JiûöízüñÇÍ}ïܹSµjÕÒ€TºtiÕ®][›6mÒÒ¥K5yòd›ý\ƨQ¦Ëì>l:ÓõÈÓå~Ûµ3-º~÷i1qúôüûØ·Ïtç­9%éÖœ•Á`ºä°$5j$e›³š>] “fÎ4-¸¾ð‚4nœT¡‚tåŠi߉óïÿàAÓöÍ›¥ÌLÓóÙ³¥Ý»MÏwî4-Š Ò]æ¬*T”ÂÃM÷smÖÌ´ÿÖ­Ò­9«yóLý:d:£uÁiÒ$ÓþmÛJ¥JIÛ·KÙæ¬vî4]^yÀ©ti©vmiÓ&iéR‰9‹»([Ö[~ØZ×®¥kàÀ]zôѯ4lØ>=ôŸ>û¬|Ð÷îùΉ|çD¾p6%ì]@Q{ì±Ç”ßmnïtûÛ’%KjéÒ¥¹¶ÜÞ%w6w®é¾²_|!ýô“é¬.†SÓ̲eË4aÂ…„„¨B… š9sf®KeÙ2iÂ)$ÄtoÖ™3s_:À°øê`š7o®;vØ»  àš7—˜³\vlÅW°_ÀX|ÀæÎýE+Wž,pûÌL£æÍûU;nQ:ëõâ‹{ ±º»›0áÿT»özµk·EÓ¦VZZ¦]ëGA¾€s"ßÀ9‘€båúõLuì¸EC†ìµw)÷eíÚÓZ²$F}úTÖ¾}Ýôþû- ý˜wzï^ýQ<Ø]ÆUלÐûïŸ(ôz ;òÝzä;GF¾[|àÈÈwë‘ï€ó+a‹N>øàíÝ[¼CÎkëÖ­zùå—í]\Ô¡C‡T©R%{—áTŒF£²²L{KJJ×»ïÓ¶mqúý÷$¹»»iÍšSjÞ¼Œú÷HÕªä»ïþý—$Iƒ‡ÊÏÏ&ßÕÝÞ;?¿8°ªfÎ<¢ýû/iĈERHäûý ß82òÝzä;GF¾[|œŸMÒdãÆÚ¸q£-ºlîÈ‘#:r䈽ˀ KMMµw NÅϯ„¾ýö {—¡´´Lõë·S))Z° ‰¾ùæ‚BB|T½z ¦LùQëןվ}ÝòÝÿ?nÊÝÝPd쥂¿w%”p³**®¾Ñâśկ_?•)SÆÞÅNƒ|·ùn+ä;PÈwë‘ï¶B¾…|·ùn+ä;—M.;¼zõjF<î!Iv¯ƒ‡ë>úöí«Ç{ÌQ ³{÷%?ž¤¾}«¨iÓ2òðp“——»Z·.§éÓÝuGøfh~ Ó=OŸX-[¶LmÚ´Qdd¤Ž?nï‚ØùîÊÈwÀ™‘ﮌ|œùîÊÈw8®¢û:À¥¼õVŒ¢¢~•$5n¬Õ«ÛJ’¾û.^/¾¸G’䩃»K’¾ùæ‚FŒØgÞË–NŠŠúM{÷^2ËoæÌG5yòÿ™ÛüòËSòòr¿k-5k®+ð‡Õ2e¼îøÈÛŒFS;wÆëÅC-~Öºu¹õ‘Gzï—ôý÷Íôå—_jÙ²eêÖ­›žxâ ½üòËzøá‡í]Pè)£ÈwòݶÈw¸6GÊ(ò|·-ò®Í‘2Š|'ßm‹|‡ã²É™¯äô·¿ÕÔñã}äãcù²mÛò:~¼êÕ ²ØÞ¹sˆŽï£NB$IS¦ü¤¿þõaíÚõ„>ý´ÜÝ ¹ÚTLLo?Þ§@‚~(oÑ¢¬zÈ_‡ÿ¡ví¶èë¯cuòd’nÜÈ,ÐþééFyzæýáÚÞï§§›ÒÓ³ 4Wåå奾}ûꫯ¾Òo¼¡ßÿ]ݺuÓôéÓ•˜˜hïò€BeïŒÊŽ|'ßm|‡+³wFeG¾“ï¶F¾Ã•Ù;£²#ßÉw[#ßá¨X|8¤aÃj¨yó2òñ)¡ J)&¦·J•ò´wYf~~%´zu[ TM’tæLŠ–/?¡æÍ7júôÃJL¼ó=9Ο¿® ¼ ¥¶û}ïÊ—÷Q|ü .mSnnnêÚµ«¾üòKÍš5K_}õ•ºt颯¿þÚÞ¥‹|·ù^tÈwàÞ‘ïÖ#ß‹ùÜ;òÝzä{Ñ!ßáhX|8¤ JÙ»„» öÒ?þñˆ~ø¡›úõ«¢ JËÍÍ +NèÙgw)--÷·,njéÒÿ)6öºž{®p.r¿ïÝÀU•œœ®¨¨_õÇwþG LÜÜÜÔ§OmÙ²E;vTxx¸ÂÃÕ””dïÒ‡C¾[|/zä;Ppä»õÈ÷¢G¾G¾[|/zä;÷|8¤œ—t¹…qO‘ìÜÝ *]ÚKÏù€êÖ Ò¦MçïØ¿½Þ»-[.¨R%_õï_…ö÷¡L™2Z±b…úöí«Ñ£GëÃ?´wI€M‘ï–Èw×A¾ÃÙ‘ï–Èw×A¾ÃÙ‘ï–Èw×A¾ÃX|-dÉÉɪ^½ºzôèaïRlÆÇäJ’Ó’UýïÕÕãMçùý9㘜IëÖåtñâ ýûß¿ëúõL9“¢iÓ+8ØËޥݷ„„›5j¿ŽMTFF–nÜÈÔÆ±úä“3jÚ´Œ:u Éw_ÿJN¾ó7$íõÞ%'§ó¡ÞFÜÝÝõÏþS‘‘‘š6mš–/_nï’›!ßóF¾»òÎŒ|ÏùîÈw83ò=oä»k ßQÔ¸ìp!3ÊÊÊRVVîË825lØP»wïÎõ³â:&˜Fe‹ßïÏ”¿>ØP»'ä3'‹á˜\ÅØ±u”––©Å‹côúëGT¯^þþ÷ú:s&EGŽ$(4ôs VC;WTß¾;ÌûÕ­û…$éøñ>æmß|sA#Fì³hӫ׃š?¿I‘ç¶nÝ··»¾üòœFŽÜ¯ØØë*QÂMµj•ÔØ±uôüóËÝÝïþCþ?»ÍYß;W4tèPyxxhæÌ™òôôÔsÏ=gï’€ûæ¬E¾ã^ïpFΚQä;îùgä¬E¾ã^ï(*,¾²€€8qÂÞeØ”3ŽÉ•xèÄLçúý9㘜I@€‡fÎ|4×öuëÚçÚ–ýÃh^:w¹k›¢âáá¦'ž¨¨'ž¨(Iš;÷=ð€¯ž}¶jö÷ôtSV–ñŽmìõÞefååÅÅ1lmðàÁJMMÕk¯½¦J•*éñÇ·wIÀ}!ßóF¾»òΆ|ÏùîzÈw8ò=oä»ë!ßQø“ €T¨à#£Qº|9ÍÞ¥XÈÈ0*!á¦*Tð±w)NiäÈ‘êÕ«—"""ø"à¤Èw×D¾Î|wMä;àüÈw×D¾£°9ÌâëÑ£GÕ»wo•,YR¾¾¾jÖ¬™6lØ N:É`0È`0(,,ÌÜþÒ¥K ×C=$OOO•-[VO?ý´~úé's›uëÖ™÷5 :uê”þò—¿(((HÁÁÁêÑ£Gž°¬é;&&Fýû÷Wpp°yÛ{ï½gÑæÆǹråŠÆŽ«jÕªÉËËK•*UR§N´bÅ ¥¦¦æ,+—ìû{zzªT©RzòÉ'õí·ßšÛÌ›7Ï|üJ•*éÀêØ±£äëë«öíÛëûï¿ÏÕ>%%Eßÿ½yß%Jä9î;)¿š¬ý½µ£qGÕû­Þ*^R¾#}ÕlF3m8¼At’aˆA†!…}mN&]RøÇázhâCò/—ÕÓo?­ŸÎf›7?®3ïkbЩ+§ô—wþ¢ ð G«Ç›=tâRsÒŠ¾câbÔÿþ Ž6o{o×{mn¤çøý%_ÑØ5cUmr5yðR¥q•ÔiA'­Ø³B©é˜“Ùö÷î©RcJéÉè'õíÑlsró<óñ+«¤§¨ãüŽ  ß‘¾j?¯½¾?þ}®ö)i)úþø÷æ}K +‘ç¸ï4¦üj²ö÷dײeYÕ¯TàömÛ–—$½óÎ1%$Ü,¬²îIRRº–-ûŸ22Œzüñ ö.ÇiMŸ>]?ü°^~ùe¥§ßù¾2ì|GA‘ï@ñB¾£ Èw x!ßQPä; “C,¾?~\-Z´ÐÁƒõÉ'ŸèâÅ‹Z¾|¹¢££uøðayyyÉh4ê½÷Þ“$]¸pAM›6Õš5kôöÛoëêÕ«Ú±c‡®^½ª-ZhïÞ½’¤Þ½{Ëh4ªW¯^’¤ˆˆEDD(66V«W¯ÖöíÛ5pà@‹Z¬í{ذa9r¤Îž=«}ûöÉÝÝ=W›ìâââÔ´iS}üñÇŠŽŽÖåË—õßÿþWíÚµÓàÁƒõÎ;ïÜñ=»½ÿÊ•+Íûïß¿_¾¾¾êر£ù½ŠŒŒ”ÑhTƒ ” 1cÆhúô銋‹Ówß}§«W¯ªC‡Ú¹s§E{???µjÕJF£QF£QyŽÛšš¬ù½µã«Å¬:xê >þ‰.F]ÔòÁ˽5Z‡Ï–W /—õÞÿ»5'/¨éŒ¦ZspÞ~îm]¾ªãvèjÊUµ˜ÕB{OÜš7z˸Ԩ^ o}U„":E(vn¬V[­í¿m×ÀwsÌI+ûöïaÙn¤ÎÎ9«}“÷ÉÝÍ=W›ìâãÔtFS}üÃÇŠ­ËQ—õß©ÿU»ší4xù`½³ó.sòÖþ+÷¯4ï¿ò~ùzúªã‚Žzo×­9ùD¤ŒKjð`%¤&h̪1šÞ{ºâæÇé»ñßéjÊUu˜ßA;í´hïçå§V¡­d\j”q©Qïdä9nkj²æ÷äÔªU9Õ¯_ªÀí;wÑøñuõÝwñjÙòk½øâžB¬îîÆÿ¯š6ýJk֜ҨQµôôÓ•íZ3óôôÔ‚ têÔ)EGGÛ»wA¾£ Èw x!ßQPä;P¼ï((ò…É!_'Ož¬„„EGG«sçÎò÷÷WݺuµråJ¥¤¤äj?iÒ$>}Z ,P·nÝÌíW­Z%£Ñ¨Ñ£Gçyœ°°0µhÑB~~~êÔ©“ºwï®èòåË÷Ý÷„ Ô®];ùúúªyóæÊÈÈP™2eòó¤I“tòäIEGG«G Pùòå5eÊuíÚõ®H_Å IDATïÙíý.\¨=z(00P5jÔÐÊ•+¢ððpÅÇÇ[ì“’’¢·ß~Ûü4iÒD}ô‘nÞ¼©1cÆÜõ˜…Q“T°ßKQ›üùd%\OPôÀhu®ÓYþ^þª[±®VY©”´<æäg“túÊi-è¿@Ýêw3·_5ôÖ¼ù8Ÿ9Ù&L-ªµŸ—Ÿ:Õî¤ît×St9ùò}÷=áÉ jW³|=}Õ¼jse¼“¡2þw˜“ŸMÒÉË'= Z=é¡ï•,¯)ݧ¨k½ÌÉ[û/°P=é¡@Ÿ@Õ(_C+‡¬THÉ…®øk9ædZŠÞ~îmó{Ðä¡&ú(ì#Ý̸©1«l0'­¨I*Øï°…¡CkhóæNúõ×^zÿý–v­eΜÆ:z´·¶m뢈ˆÚrw7صgW¥JMš4IK—.Õ±cÇì]#ß]ù87òÝu‘ï€s#ß]ùŽÂ⋯›6m’$=ñÄÿgïÎã¢,÷ÿ¿†}_D6sCpÁDÅ}GN.”ÚQÉ¢ã©ã’¦ˆÆ9©é9_Í\ Rf§ò;e.-¦¿ã’¡˜šâšZd.(nÈ""ÈÎüþ@ÆÆ†àó|<æñhî¹ïëþ\÷\¼é¾çºŸV[îêêJ‡4Öß¶m&&&„„„¨-÷ðð S§Nœ:uŠ›7ojl¨ö¼E‹ܺu«Æm÷ìÙóq]Ôðí·ß0bÄ×vïÞMDD„VÛ5Jm¹¥¥%AAAäçç³gϵ×lmméÚµ«Ú².]ºÐ¬Y3Ξ=KJJJµú š@»÷¥®}—ð`LvzdLÚ»ÒÁ£’1yz& Bü7ŽtjÖ‰S×Nqón%c²õ#}oò ïY¿“:¶Ý³u5Çäéc²s%crön"†=aL>Ø~T—GÞ3K‚|ƒÈ/ÎgϯŒIK[º¶xdL>Õ…fNÍ8{ã,)Ù5“:ÔÚ½/BQS¡¡¡tîÜ™·ÞzËÐ¥!„Ð#Éw!„h˜$ß…¢a’|µÁà'_ ÉÉÉÁÊÊ ;;;×5ÖÏÎΦ¬¬ GGGµ{‡* ~úé'.]º¤Ñ–£££Ús ÊÊÊjܶ­­mµúœ••öööZo§íöîîåóÔ§¦¦ª-wrª|®{777ÒÓÓ«]KMk‚'¿/u­°¤œ‚¬Ì­°³¬dLÚ:k¬ŸŸM™² ÇpGµ{‡*¦(øéúƒq“Vɘ´~¤ï¦ú®,«qÛ¶–Õ“öcen…½•cò Û»;zBÐÒÒ'''rssÉÏÏÇÌL]¨Í¶Ý££#ÙÙÙäääTûì“¶¯˜Ú×ÃCýfÜwîÜA©T¢P¨OUPqŒ+NÂëÔVMÆÈÒÌ{+{r rÈ-ÌÕ8ûè AK3KœlœÈ-È%ÿÃ|ÌLô8&k±íG÷ãhíHv~699Õ>û¤í+¦öõp|dLæU1&sŒI‡ßIª9&u¬I!êR@@äÃ?dàÀ†.G!„žH¾ !DÃ$ù.„ “ä»Ð7ƒÿòN½[1ýp…ÔÔÔJçÙ~î¹ç())áðáï­\¹’–-[RRR¢S-µÙöï;€]»vi¼Àœ9s´Ú~çÎjË Ù·oÖÖÖÓ8pâÄ µe¿üò ·nÝÂßßOOOÕrŠŠŠTÏÛ·oÏǬ÷šŒUÅÔ»ÓWHÍNåbZ%c²Ûs””•p8±’qóÝJZ¾Ñ’’2Çd-¶ý{cŒÉ_*“K˜³å còÁö;yäý/)dßoû°6·Ö˜Æ¹ ¸€W“É¿p+ëþ-üñtüݘ´°¡¨äwcra{>>ø„1©CMBQ×^}õUNœ8ÁéÓ§ ]ŠB=’|Bˆ†Iò]!&Éw¡OFqòuÙ²e4iÒ„ˆˆbccÉÍÍ%!!—_~¹Ò_J._¾ooo^yåvïÞMvv6™™™|ôÑG,Y²„¨¨(µZ›m?º///æÌ™ÃÎ;ÉÉÉáæÍ›Ì˜1ƒ”””'ž|­Ø>""‚;v““ÃÅ‹yá…HII!&&F5ÕoGGG,X@||}…Ý »ÉÎÏ&3/“|Ä’ÿ-!j|”οZ­Í¶ÝWS/æl™ÃΟw’SÃÍ»7™ñÅ R²S˜ü„1ù`ûˆÍìøy99\L»È Ÿ¼@Jv 1cTSýVp´vdÁ· ˆ¿O^a'¯ž$l]fÄ<ÿȘlÕ‹i¹‘yƒøËñ\¹}…mŸ0&u¨I!êZ`` :uâË/¿4t)B!ôHò]!&Éw!„h˜$ß…>ÅÉWoooâãã dܸq¸»»3mÚ4æÏŸ——¦¦¦j뻹¹qüøqÆŒÃÌ™3quu¥C‡lݺ•íÛ·3aÂŽ=ŠB¡`ûöíX[[³páB |ZÝ•+Wå¿4 ©qÛNºmÛ6u€òéwOœ8Ahh(³fÍÂÅÅ…ž={r÷î]:DË–-{Ì*¶Ÿ8q"áááªíóòòØ»w/S¦LÑØÆÎÎŽ÷ߟŋãééÉÀqvv&..ŽAƒ©­»zõjüüüðõõ%44”˜˜|}}µêÓ“jÒå}©kÞ®ÞÄÏ'Ð+qÿ‡û\w¦}>ù#æãÕÔ S“GƤ½Çß<Θ®c˜¹q&®s\é°¨[OoeûÌíLèñ`Ü\9ŠbŠ‚ígô}†5 ·=èû+¿{Ð÷%„¼Rã¶S“§·i¬¶îÁûçèÁ‰7OʬM³p‰p¡çÛ=¹›w—Co¢e“'ŒÉÛOì9‘ðMáªíó óØ;w/ST2&-íxâû,þßb<#=øÎ@œmœ‰{=ŽAí“¡«ñkî‡ïß} ý8”˜‰1øzújÕ§'Õ¤Ëû"„úôÜsϱsçNîß¿oèR„Bè‘ä»B4L’ïBÑ0I¾ }Q(•JeP(زe‹ê¤¤¾uèÐüü|®]»V+í7]»v%##ƒ›7oº”:¥P(ˆˆˆ ::ZomvXÔü¢|®­”1Y]—t%#'ƒ›ï6ì19~üx¾úê«Zi?--ÜÜ\­Öõññæ½÷Ò9R»õ…šví²#<ÜÄÄËzm÷îÝ»ôîÝ›èèhFީ׶EÃ'ù.DÍI¾ c$ù.DÍI¾ c$ù.DÍI¾‹ºàíí­ó¶FñË×ÔÔTš4iBqq±Úò«W¯rùòe†j ÊDc•šJ“ÙM(.}dLÞ¹ÊåôË í cR!„þ8;;À¡C‡ ]ŠB=’|Bˆ†Iò]!&Éw¡/Fqòʯ(˜6m7nÜàþýû?~œÐÐPX´h‘¡ËÐÝûw™öù4ndÞà~Ñ}Ž''ô£P¬X"cR!„~ 0€º !„z&ù.„ “ä»B4L’ïBŒâ䫇‡{÷î%++KuÒgŸ}–¶mÛrüøqÚ´icèë­¨¨( gÏž%99…B¡º¿ª¨š‡£{çî%ë~Vù}Hg;óìšgiëÖ–ão§«ŒI]Eí‰B1EÁÙgIÎJF1E¡º¿ª¢þ»_|Ÿ ‚˜òµæ}žÅãõêÕ‹ôôôFw‹cRRRÂúõë=z4~~~ôìÙ“W^y…¸¸8*»SÇo¿ýÆäÉ“ ÀÏÏ?ýéOœ:uÊ• Qû$ßu'ùnx’ïBTMò]w’ï†'ù.DÕ$ßu'ùnx !ßâä+@PP[·n%))‰ÂÂBRSSÙ°aCæT‰R©T{,]ºÔÐeÕ A¾Al±•¤I~XHêªT6LÞ€·«ŒÉšˆ|:å'JµÇÒ12&…¨Oº¬êBè†ÐJ_S*•”)Ë(++«ãªê¿Ž;bbb¯¿þjèR´rÿþ}‚‚‚˜2¥a|‘ËÏÏ',,Œo¾ù†… rüøq¶mÛ† S§NåÒ¥KjëŸ={–ñãÇckkËž={8pà-Z´à…^àÇ4P/„¨É÷Ú!ùnX’ïBH¾×ÉwÃ’|Bò½¶H¾VCÉw£9ù*„BˆúÏÖ–ý¯îçßþmèRê¼¼¼8wKQéÒ¥ ¡¡ù"WÖp¾È­X±‚óçÏóé§Ÿˆ••Íš5ãÝwßÅÂÂBmݲ²2æÍ›‡ƒƒ+W®ÄÍÍ ggg–,YB«V­˜?>EEEꉵCò]w’ï†%ù.ÄãI¾ëNòݰ$ß…x<ÉwÝI¾VCÉw9ù*„Ba$ZµjÅ7 ]†VlmmÙ¿?ÿþwýÿ"—‘‘ÁæÍ›=z4M›6U{ÍÚÚšsçÎÑ®];Õ²'NpéÒ%†Ž•••j¹©©)!!!¤¤¤Wgõ !ŒŸä»aH¾ !j›ä»aH¾ !j›ä»a4¤|73È^…B4—ï\æÝÞåèõ£””–Ðε3ûÍäÓ“ŸräêÆûg¨ÏP¦o®Úîû)ß}(šøkñdågpbö œ­ÉÊÏâƒ#°÷Ò^Rî¥`caC×f]™Úk*½[õàƒ#}0€îÍ»³%l ¯ä•/_ÀÉÚ‰“³O°îØ:Vì_€»;þñCÞýá]ÎÞ:K™² ÿfþÌ8—îÍ»kÝ÷Ø‹±Z÷)ó~&k¯a_â>ÒrÒ°·´'°E ³úÏÂ×Í·F5js¼´©uZïi|tô#NÝ<…Ï LML¹ð· müù+–f–˘þïì‡CI‡051%à© [DK§–juk;v–\®õ{bì<==¹xñ¢¡ËhtöíÛGii)Ý»k÷÷”_yú¨Šeñññ >\E!ÉwÉwÉwíI¾†ä»n$ß%ß%ßµ'ùn’ﺑ|—|—|מä»a4¤|—_¾ !„¨5×î^cüçãù%åÖŒYÃñÙÇY9j%ÿ=ù_ΧŸÇÂÔ‚Äy‰,¹œàvÁ$ÎKdXÛa,ün!aÝÂ84ãßLúSSnçÞf̧cøß¹ÿ±hØ"NÎ>É7úksk^Úü_žý€×ú¾Fâ¼D¬Í­ÕjØf ‰óéìÑYmùä^“Iœ—ˆ¯»/÷ ïñÖÞ·˜;p.DZéÅMdd¶)Œã7ŽkÝmû”ž›ÎØÿŽe×ù],þÃb~šó_ÜHV~ã>ÇéäÓ:רíñÒ¦ÖŠý[›[Ó½ywç%’8/‘ »PiU‡¥{—òràË™y„˜Ñ1Ä_'b{„Îc§!ñôô$)) ÕãÊ•+Ìš5‹=z¨–-]ºTõß¿ŸvæàÁƒªå=zôP-UkóæÍ›„‡‡@=˜2e ׯ_W­¿nÝ:|||ÈÏÏçÔ©SªíÚ·o_i{………•.ONN&<<???zôèÁ믿Nvv67oÞdêÔ©øùùѧO,X@^^žÆñÈÌÌdÉ’% 4ˆ:ÈŒ3øí·ß4Ömß¾½Ú¾÷èÝ»·Ú¶÷qqttdÙ²eôïߟ:0pà@–,YBVV–Úú—/_ÀÃÃC£ŽŠeIIIy§ë?ÉwÉ÷Ê–K¾WMò]ä»ñ’|—|¯l¹ä{Õ$ßÕI¾/ÉwÉ÷Ê–K¾WMò]ä{õÉÉW!„µ&ê@÷ î±(xý½úccnCÛ¦m‰~6šüâüÇn;­Ï4zµì…µ¹5þžþ\øÛœ­‰:ÅÍì›,¶¡>C±³´Ã«‰ÑÏFãjëÊ’Ø%däeÔ¨îüâ|–<½„€§°6·¦‹gV=³ŠâÒbÞÚû–Îí>®OÉÙÉ,º€ÁÞƒUÇ)ft J¥’ű‹u®Q×ãUU­ú0Á‚ªî~­û1Ø{0?§üÌÝü»juë:vê3;;;”J%‰‰‰ öà‹ÖÂ…„……qèÐ!¾ùæLMMyíµ×HLLÄÚú‘/¯’˜˜HçÎê_^ƒƒƒÕÚ\ºt)/¿ü2GŽ!&&†øøx""~Ášøyú©=÷tð -'Mµ¬&c§>³²²"?_ýËË´iÓèÕ«ÖÖÖøûûsáœköEk„ `mmM¿~ýœV¨ØgÅUúbgg§ö\¡P`jjªÑ'ÊÊÊTÏ‹ŠŠTSÇtíÚµÊö¯^½ªº‡Gûöí)--Õª®¦M›ª]óÔSOTzŪ‹Ëƒ/ÌwŽ;ooo€J¿\T,óòòÒª–úHò];’ïš$ß%ß%ß›ä»v$ß5I¾K¾K¾7ÉwíH¾k’|—|—|×^N¾Nš4‰ &è£)!ôjõêÕmèRD#uóæMC—`PƒÚ b×ù]¼rá퇫–ßνMR¦n7;ÿC»?ðÍ/ß°ÿò~B|CTË‹J‹8rõVfV ð Zîfç¦1%ÌíÜÛܺw ;Kõ K ù9ågü›=¼¢íÂí ¤ç¦ãëî‹››NµWåéöOóÕÙ¯8uó=[ôT{í££±á§ ü0ýµþÚÖXÝ㥠kskµ/LÁó—žáù®ÏW«Ç©±Säååi| ~Š‹+ùòz¯ê/¯Õñè—Ǻbaaƒƒyyyœ;wNãjÇÊTÜïD=zôà?ÿùêÞ"¿Wñ¡¾iÓ¦ªe½{÷fÍš5$$$0vìXµõèÓ§ÎõÔ’ïÚ‘|×$ù®É÷‡$ßë–ä»v$ß5I¾kGòý!É÷º%ù®ÉwM’ïÚ‘|Hò½œÜóU!D­‰‰“µožÅI?r¿ø>o_ä]oTûj>U›ƒ"iîØœ¥{——G^QI™IÌùs¸w›EÁ‹TÓµô÷êOzn:ŸŸúœûÅ÷¹žu·ö¾¥šþ¥2ö–ö¬:¸ŠÓɧÉ/Îç—”_xý¯cnj΢a‹tªûI}jéÔ’7v¾Á+È)Ì!+?‹M§7±æðæ¯qÅ¥¶5V÷xi£“G'’2“H¹—ÂéäÓ\¿{Àz9ªºkaìÔÕýpïææ¦qußíÛ·¹uë–^ê±¶¶VûòÌæÍ›õÒö“<ýôÓ”––rêÔ)×>úè#  õ•”O2xð`ÜÝÝ9xð Æ´Bqqqj³hôìÙvïÞ­¶~ii);vìÀÓÓ“!CÔïãÓÐH¾kß'Éwu’ïÚ‘|—|7Éwíû$ù®Nò];’ï’ï†"ù®}Ÿ$ßÕI¾kGò]òýQzùå«BQ™–N-ùꥯxç‡w˜¹m&¥e¥øºùò×Áeõ¡ÕdÞÏT­{æÖÆ}6Nõ¼ST'ç%ªµéjçʶ?oãƒ#°$v ©9©X›[ÓµYW>{þ3ú´R¿šiîÀ¹–òaü‡¬Ü¿’Îy3èM®g]'!5Ÿ>Lë=¿þ«jsþü–î]ÊOÉ?QZVŠŸ§&n {óîZ÷_Û>¹Ø¸°uÒVÖYËÿ}ÿ¤ÜKÁÁÊŽîù×ÿE¿Öý4ÚÖ¶Fm—¶µ, Zț߽É>ùNÖNüýÇÛś؋±Lß:]­ÑFóR÷—4ÚžÑwsÎÅg…jù3ÿy†!>CødÜ'Õ; Inn.¶¶š÷©JÿþýùüóÏùüóÏùãÿHFFQQQ¸¸¸h|HÕE§N8}ú4)))¤¦¦rýúuõûE®*‘‘‘;vŒ7Þxƒÿû¿ÿ£[·n”––²{÷nÖ¬YÃÊ•+µºâR,_¾œ)S¦0{ölæÍ›G“&Mˆ‹‹ãÃ?ÄßߟI“&©Ö711aÅŠ¼øâ‹¼ñƼù曘››³jÕ*®^½Êºuë°´´ÔKmÆJò]ò]ò½z$ß’|7n’ï’ï’ïÕ#ùþä»q“|—|—|¯É÷‡$ßu£PÖpòh…BÁ–-[dÚaa” 2í°0˜ñãÇðÕW_ÕJûiiiäææjµ®7ï½—ÆÈ‘Ú­_ÛþðÉ((.ààŒƒ†.EÍ3ëŸ!3/“Ã3º”*Õ‡k“!Çή]v„‡»“˜x¹VÚŸ9s&wïÞ娱c¯%&j~ÑÊÉÉaùòåüðÃÜ»wÎ;óæ›o²hÑ"Õô*Ó¦M#88˜qãÆ©m;cÆ æÎ‹Úò!C†ðÉ'ŸpåÊÞ|óMprrâÕW_åÅ_$66–éÓ§«m7zôh^zé¥J÷¬1ýKdd$=zôàùçÕ§C '<<€¬¬,Ö®]Kll,)))888бcG¦L™B¿~š_zkêôéÓ¼÷Þ{œ9s†‚‚Z¶lɨQ£˜:u*VVVëŸ;wŽU«VqêÔ)ÊÊÊð÷÷'""‚îݵÿŸú ù®úõ¡ÆÚ$ùþä»~I¾ë‡ä»îêCµIòý!Éwý’|×ÉwÝÕ‡k“äûC’ïúe,ù^qOY]È/_…BÔšÛ¹·¾n8ÇÂafò🜛Ù7¹–y1ǰ:aÌëØ¹|ù2ÁÁÁ|ñÅZ­oooϲeË4–oÛ¶McYe_· M›6lÚ´IcypppµÛÓeÿNNN,X°€ T¹Ž>°~ýz­×ïØ±#ÿþ÷¿k±"ãÕXÿFEÍ5Ö±#ù®NòÝx5Ö¿QQsuìH¾«“|7^õoTÔ\c;’ïê$ß«Oîù*„¢Ved³ð»…¤ÜK!¿8Ÿ³·Î2{ûlì­ì™Ùo¦¡ËF¬±ÒÒR®]»V£«ê„¨KíoTèOc;’il£BÛØ‘|õMcûúÓØÆŽä»Ðùå«BˆZãjçÊgÏƆŸ60ñ‹‰¤å¦áhåH¿Öýˆ~6šN- ]¢ÊºcëX±…ê¹Ï Õ}/*óû{aT%¼8áýà Vc}VŸÆŽ¾\½z•¢¢"Ú´icèR„x¢úô7*ùn\êÓØÑÉwQŸÔ§¿QÉwãRŸÆŽ¾H¾‹ú¤>ýJ¾—ú4vôEò]èCŸ|ÍÍÍ% €öíÛ³cÇŽºÞ½Þ5´þ誾‡ÜÜbþKûöMرã9C—Sc ­?º’ã`\ú¶îKßÖ} ]ÆMî5™É½&k½~⼪§â¨-Õ­±¾«/cG_Ž9‚¾¾¾†.E­Ô—¿QÉwãS_ÆŽ¾H¾‹ú¦¾üJ¾Ÿú2vôEò]Ô7õåoTòÝøÔ—±£/’ïBê|Úa¥RIF: IDATYYeeeu½ëZÑÐúó8vvvôïß¿Ò×êëq(¯»üÑ4´þ<Ž] ýûkÎsë8!ŽC‡Ñ·o_ÌÌdb!„hH$ß…¢a’|Bˆ†Iò]èC{{{._¾\×»­5 ­?ºª¯ÇÁÞÞ‚Ë—§º ½ihýÑ•!D}S\\ÌÑ£G™7ož¡KB¡G’ïBÑ0I¾ !DÃ$ù.ô¥Îù*„B!Ô8p€‚‚ dèR„Bè‘ä»B4L’ïBÑ0I¾ }©Ó“¯Û¶mC¡P¨j¯ß¹s‡¹sçâíí……ÎÎÎŒ1‚ýû÷k´uûömÂÃÃiݺ5¸ººòÜsÏqæÌ™*÷wõêUBCCqrrÂÅÅ…J­yþüyÆŒƒ££#666ôìÙ“;v0lØ0U[“'O®²?ºîW›>=‰6Ç0**JU[óæÍ9qâAAAØÛÛcccÃ!C8|ø°Æúyyy>|XµmÅÏîõñ¾êzÌjbÛ¶DŠ(Õ£  ä‘ºó™;w?ÞÞŸ`añOœßgĈoØ¿ÿºF[·oß'<<ŽÖ­?ÆÂ⟸º~ÀsÏmçÌ™ô*÷wõj6¡¡ÿÃÉé}\\Ö²•Ë—³4Ú>>“1c¶áèø66«éÙs;v\fذ/UmMž¼§Êþèº_múô$Ú訪ښ7ÿ'N¤ô%öö1ØØ¬fÈ->œ¬±~^^1‡'«¶53[¥·÷U×c&„ºÚ´i}ûöå©§ž2t)B!ôHò]!&Éw!„h˜$ß…¾ÔéÉ×1cÆ T*=z´Æk©©©²qãFbbbÈÈÈàØ±cØØØĺuëT릤¤È—_~ÉÚµkÉÌÌä‡~ 33“>}ú_éþ"""ˆˆˆ 99™-[¶ÇĉÕêHLL¤OŸ>œ=޶Ç022¥2W²² ™=;Ž¥Kû“š:ƒƒŸ'3³€¡C¿äÀjëÛÚšÓ¯ßS(•‘(•‘””¼®·÷U—c&„ºJIIáÇÔû¿sB! Kò]!&Éw!„h˜$ß…>Í´ÃóçÏ'))‰Õ«W‚ƒƒíÚµcãÆxzzNZZšjÝk×®ñÏþ“‘#GbggG§Nؼy3J¥’Y³fUºÉ“'Ó§Olmm6l£Fâĉddd¨ÖY°`YYYÄÄĬj{ãÆäååéÔ7mö«kŸt=†òòòX»v­ª¾=z°aÃŠŠŠ˜={¶Ný­iMÚ³Ú4þ!’’²Y½z(!!Þ88XЮ37†àéiGxø>ÒÒî?X÷ ×®ÝãŸÿÂÈ‘m°³3§S§¦lÞòà½ÛWé>&OîBŸ>Ͱµ5gذVŒÕ†'RÉÈÈW­³`Á!²² ‰‰Jpp+UÛ7Ž"/¯X§¾i³_]û¤ë1¬—WÌÚµÃTõõèáÁ† £(**eöì8ú[Óš´=fB¡«ÿþ÷¿¸¸¸dèR„Bè‘ä»B4L’ïBÑ0I¾ }2š“¯ß~û-£FR[niiIPPùùùìÙ³(Ÿ¢ÖÄÄ„µu=<<èÔ©§NâæÍ›û T{Þ¢E nÝzø+¾ï¾û€§Ÿ~Zm]WWW:tè K×´Ú¯®}ú½êà ¶¶¶tíÚUmY—.]hÖ¬gÏž%%%E‹ê·&Ðî˜Õ¦o¿½À¨QmÔ–[ZšÔ’üüöìIʧ¨51Qâ­¶®‡‡-:5åÔ©4nÞÌÑØG` §Úó-ì¸u+Wµì»ïÊ÷ñôÓ^j뺺ÚСC]º¦Õ~uíÓïUçV°µ5§kW7µe]º4¥Y3;Ξ½MJŠn@Ô¤&Ðî˜ !„.ÒÒÒøâ‹/˜6mšj:!„õŸä»B4L’ïBÑ0I¾ }3ŠQTXXHvv6VVVØÛÛk¼îîî”Oa[±.€££c•m^ºt‰æÍ›«-{t} ÊÊÊTuäää`ee…F›ÎÎÎÕèUõö«kŸ*Tçþž““S¥í¹¹¹qëÖ-ÒÓÓñôô¬t'ѵ&xò1«M……¥dgbee†½½…Æëîî¶@ù¶ë8:¾We›—.Ý¥ysõcàè¨Þ¶……)eeJU99EXY™agg®Ñ¦³³e5zU½ýêÚ§ Õ9†¿çäTyŸÜÜl¸u+—ôôûxzÚVYÓãèZ<ù˜ !„®¢¢¢pqq‘)m„¢‘|Bˆ†Iò]!&Éw¡oFqòÕÒÒGGG²³³ÉÉÉÑ8QW1-­‡‡–––899‘››K~~¾^¯B°´´ÄÞÞžœœrss5NÀ¦§§ëm_î·¦}ªÎ1ü½;wî T*Q(jË+úêæöðWˆ®S[5š¥¥)ŽŽ–dg’“S¤q¢.-­ü䜇‡-––¦89Y’›[L~~ffúû1¹¥¥)ööää‘›[¬q6=]sz\}í·¦}ªÎ1ü½;w P*áÑ¡VÑW77Õ²jGkÆiÇo;ˆØ€…©çþzÎÀAìÅX¦o®zþkä¯Xšév‘Dm+)+áóSŸ³-aI™IX™[ÑÙ£3aÝÂâ=ä±y?õë©Ä%Æ1gà^ëûZVÝðœ={–íÛ·­ºÈHˆÆNò½f$߃仚$ßkFòÝ8H¾ ¡Iò½f$߃仨 F3íðرcعs§ÚòÂÂBöíÛ‡µµµj*àçž{Ž’’>¬ÑÎÊ•+iÙ²%%%%:Õ1bÄàáôÃRSS¹xñ¢NmjC}ªÎ1¬PPPÀ‰'Ô–ýòË/ܺu µ_½ÚØØPTT¤zÞ¾}{>þøc½×d ÆŽm ÀÎWÔ––²oßu¬­ÍTS?÷\;JJÊ8|8Y£•+Ó²åG””èö‹Ý#Ê÷Q1ýp…ÔÔ<.^¼«S›ÚÐGŸªs +”pâ„úT׿ü’Á­[¹øû»ªýêÕÆÆœ¢¢RÕóöíÿÍÇÿ¬÷šDÍÜ/¾OÐGALùzŠ^Û ñ !q^"}[÷Õk»5Ü.˜Äy‰ k;ÌÐ¥aÃøæ—oX8l!ÇggÛŸ·acnÃÔ¯§r)ãR•Û~›ð-q‰5¿ÿ²€üü|"##éÛ·/#GŽ4t9BT›ä»ñ‘|7’“|7>’ïÆAò]Ôw’ïÆGòÝ8H¾‹Úb4'_—/_Ž——ìØ±ƒœœ.^¼È /¼@JJ 111ªij—/_Ž··7¯¼ò »wï&;;›ÌÌL>úè#–,YBTT”οˆ]¶lMš4!""‚ØØXrssIHHàå—_®Õ_hê£OÕ9†Y°`ñññäååqòäI°°° &&FmÝnݺqñâEnܸA||//G""âØ±ã299E\¼x—^ØAJJ.11Cqw·Q­ëííÄ+¯|ÇîÝIdg’™YÀGeÉ’x¢¢ëü‹ØeËФ‰qÄÆ^#7·˜„„ ^~ù»Zý…¦>úTcXÁÑÑ’ ‹¼¼bNžL%,l'¦ÄÄ U[·[7w.^¼Ë9ÄÇßâÊ•l xJï5‰šQ*•”)ËêdÊðºÒeUB7„º ­Ø¿‚ó·Ïóiè§¶ÄÊÌŠfÍx7ä],L«¾º/=7¥{—2¦ó˜:¬¶ázûí·ÉÌÌdùòåÕžYBc ùn|$߃仨ï$ßä»q|õä»ñ‘|7’ÔéÉ×mÛ¶¡P(ؾ};ÖÖÖ„……åSÏž8q‚‰'Ž‹‹ ={ö$//½{÷2eÊërÜÜÜ8~ü8cÆŒaæÌ™¸ººÒ¡C¶nÝÊöíÛ™0aGÕØßÂ… ò)tW®\ @@@!!!x{{O`` ãÆÃÝÝiÓ¦1þ|¼¼¼055}btÙ¯¶}zœêà vvv¼ÿþû,^¼OOOˆ³³3qqq 4HmÝÕ«Wãç燯¯/¡¡¡ÄÄÄàëë«—÷U—cVSÛ¶%¢PD±}{âƒ}®&,l烺m9q"Œ‰} ÃÅe ={n /¯˜½{'0eŠŸª77Žc̘¶Ìœ¹W×èÐá?lÝz‰íÛÇ0aBû}LÑØßÂ…?>èc+WÐÇÏ Ù €··ññ/èÁ¸qÛqw_Ë´iß3~/¼¼15}ø'\UtÙ¯¶}zœêà vvæ¼ÿ~‹ÁÓóCÜŒ³³qq4¨…Úº«WÁÏÏ_ßÿú?bb†âë뢗÷U—c&*gkaËþW÷óï ÿ6t)ÈÈË`ó™ÍŒî4š¦¶MÕ^³6·æÜ_ÏÑε]¥Û.ؽ€F0Àëñ݈r999”––VúÚöíÛÙ¼y3o¿ý¶Î÷UÂÐ$ß‹ä{Ý‘| ä»q‘|¯;’“|7.’ïuGò]JÞóu̘1(•Ê*_wqq!::šèèè'¶Õ¤IV­ZŪU«ª\§wïÞUîïqu´k׎o¿ýVcyJJ M›> ÃÇõG—ýjÓ§'©Î1¬àëë«1ÍreÚ·oÏÁƒ5–ëã}Õõ½ª‰1c|P*#«|ÝÅÅšèè!DGyb[MšX±jÕ`V­\å:½{{V¹¿ÇÕÑ®3ß~«y%SJJM›Z«ž?®?ºìW›>=IuŽa__¾ûnÜ×kß¾ >¯±\ï«®ï•Æn_â>JËJéþT÷jm÷ÕÙ¯¸”q‰˜Ñ1ì½´·–ªk8ŠŠŠ˜:u*£GæùçÕsêÈ‘#Ì›7É“'3|øpU(„hh$ßë†ä»¢®I¾× Éw!D]“|¯’ïÂêôäk}ššJÇŽIKKÃÜÜ\µüêÕ«\¾|Yõ‹N!êBjj;®'-mææåzõj6—/gÖÑ€Õ ñx±c™¾uºêù¯‘¿bif©zž•ŸÅG>`諒¤ÜKÁÆÂ†®Íº2µ×Tz·ê­ÖÖå;—y÷‡w9zý(¥e¥trïDäàªO„gÞÏdÍá5ìKÜGZNö–ö¶dVÿYøºù°îØ:Vì_€»;þñCÞýá]ÎÞ:K™² ÿfþÌ8—îÍ»k¬êæ)|Vø`jbÊ…¿]ШávÞmÞÙÿ‡’ajbJÀS,¶ˆ–N-µ:~íßiOiYåWæ=ª©mSŽÎ:úÄõ~MýGkG–í[Æ®ó»ÈÈËÀÍÎam‡Þ?'k'µmRsRY¾9Œý[‹Ú›î¼¡P*•¼ñÆœ8q‚‹/‚¿ýö3fÌ`øðá¼ñÆ®TÝI¾K¾7F’ï¢1|—|oŒ$ßEc ù.ùÞI¾ C““¯•¸{÷.Ó¦Mcñ⟸¸À¬Y³ppp`Ñ¢E†.O42wï0mÚ÷,^Ü+2˜5+ -êcèò„¨Rp»`ç%òê7¯j\w;÷6ã?OAIËF,£g‹žÜλMÔ(^Úüo› þåÓ­_»{ñŸÇÚÌš5cÖЭy7ndÝ`yÜr®ß½®±ßôÜtÆ>žÂ’BVŒ\AÏ–=IÎNæ{þÁ¸ÏƱaâž `r¯ÉLî5™gÖ?ÃÕÌ«¼µ÷- ]@·$f$2÷|Â6…ñßçÿKÏ=UëwYÕ…ŽîÙ¶å±ý_ºw)ÓzOc娕œ¹u†é[§±=‚­“´›ªº²/ 5•ž›À¼]óèÛª/›^Ü„£•#û÷ñ÷=çPÒ!¶NÚŠ½¥½j›ù»æóŒï3ôi%y£èèhvî,Ÿêø€7Þxƒ3gÎ0yòdüüüX¹r¥ÜGDÔk’ï’ï‘ä»h $ß%ß#ÉwÑH¾K¾7F’ïÂÐêôž¯õ‡‡{÷î%++KuÿÓgŸ}–¶mÛrüøqÚ´icèk,** …BÁÙ³gINNF¡P¨î¯*Œ‹‡‡-{÷N +«ðÁýO×ðì³ßÒ¶­LJѦ£¡K¬±¨¨(Qœ={›ää\Š(ÕýUEÃu Š›Ù7Y8l!C}†bgi‡W/¢ŸÆÕÖ•%±KÈÈËP­{¯à‹‚Ñß«?6æ6´wmÏ;£ÞQ}X}´íäìd ]À`ïÁؘÛжi[bFÇ T*Y»Xc›üâ|–<½„€§°6·¦‹gV=³ŠâÒbÞÚû–N}œà?AÕ^ŸV}ê3”ŸS~ænþ]ÚӇ’B,M-y'äZ8µÀÁʱÇ2½Ït’2“ø÷ñ‡÷Ùrv Wï^eÞÐy†*¹^ùꫯX»v-eee”””ðŸÿü‡­[·2iÒ$ºuëÆÇŒ………+¢öH¾†ä{í’|BòÝP$ßk—ä»’ï†"ù^»$ß…1“¯• bëÖ­$%%QXXHjj*6lÀÛÛÛÐ¥éEdd$J¥Rí±téRC—%ªÔ’­[G“”4…ÂÂ9¤¦Î`ÆQx{;=yãz 22¥2Rí±tiC—%jÙ÷¿`ˆ·ú½w-L-èÛº/%J:ÀÁ+å÷šØf Úºnvnx5ñÒh;öb,& †ú U[îjçJÛ¦mIHM 5'Uí5kskÕt7Ú»¶ÇÍÎßÒ~«ôKÄ“øyú©=w·s -'­Úmé‹… ýZ÷ÃTaªöZÅñª8î·îÝbEÜ VŽZ‰µ¹5âñŽ=Zé…L …‚åË—3|øp>üðC¬¬¬ PuGòÝ0$ßkä»å$ß Cò½öH¾ QNòÝ0$ßkä»02í°Bˆ:UTZDNa–f–•Þ£¢©mS |ꛢÒ"òŠò°4³ÄÆÜFc][’2“4ÚèݵÊ®f^ÅÃÞCõÜÁÒ¡Òõ\l\HÏMçNÞÜìÜ´ë࿟ÀDQ~½“¥VÛׯ=Ežrx gg×\l\¸“w€¸Ä8r sxá‹*m+ú`4Ñ£Ø7m­œ[iUkCtéÒ%¦NŠR©ùÞ–””p÷î]ž}öYLMM+ÙZˆ†Cò]ò½¡‘|¢œä»ä{C#ù.D9ÉwÉ÷†Fò]9ù*„¢NY˜Z`oiONayEyð+¦³qµsÅÂÔ[ [òŠò¸_|_ã~V~–FÛVäæqîoç4®¬JVAJ¥Rã>wî—Ðu±uQ-SP7÷‚¨{ŠôhуÿœøO¥WŠVôµâËUX·0º…i¬·ý×í¼þ¿×™3p¯õ}Mï5Ö7éééLš4‰¢¢"Õt6255å­·ÞbçÎò_4h’ïÚ‘|¯$ß…xHò];’ïõƒä»I¾kGò½~|ÆF¦BQçþÐî쿼_myQiG®ÁÊÌŠ^Ôfðpz› wóïª]UYáéöOSª,åÔÍS¯}tô#¬@©RýŠÅÂ’B~NùYmÙ…ÛHÏMÇ×ÝWíªJkskŠK‹Uσ?fó™ÍOì³1ì=w;w^9¨º¿H…¸Ä8‚Û¢´z)//I“&‘™™IIII•ë•––råʾùæ›:¬NÃ|7 Éwý’|B“ä»aH¾ë—仚$ß Cò]¿$ß…1’“¯B!ê\ä Hš;6géÞ¥Ä%Æ‘W”GRfsþßnçÝfQð"Õ~‘ƒ#q²vâ­Ø·ø1éGîß'1#‘¹ÿon¥SÝDФ¥SKÞØù® §0‡¬ü,6ÞÄšÃk˜?t¾Æ—ö–ö¬:¸ŠÓɧÉ/Îç—”_xý¯cnj΢a‹ÔÖíäщ¤Ì$Rî¥p:ù4×ï^'°E`í,=²0µ`ùÈåܽ—ÙÛgsõîUîÜc[Â6>ŒÿO&õ˜dè2ë…ÒÒRf̘ARRÒc?ØW(++ãwÞ!77·ªÂp$ß Cò]$ß…¨œä»aH¾ë仕“|7 Éwý‘|ÆJ¡¬lìê4 P°eË&L˜ ¯š„Ð…BADDÑÑц.E4RãÇ૯¾ª•öÓÒÒ´þ°àããÍ{ï¥1rdÝ|¸ˆ½Ëô­ÓÕ–î4šUϬʧ¤ùàÈÄ^Œ%5'kskº6ëÊÔÞSéÓªÚvI™I¼óÃ;Ä_‹§¤´„v®í˜ÕoëO®çÈÕ#Œ÷Ïò‘ËUm¯=²–ØK±¤ÜKÁÁÊŽî™Òk ýZ÷Skû™õÏ™—Ég?céÞ¥ü”ü¥e¥øyúñú ×éÞ¼»ÚúWî\áÍïÞ$!5'k'^íó*/¼È™[g÷Ù8µugôÁÜsñY᣶|ˆÏ>÷‰ŽG¶æN'Ÿæ½ßãÌ­3”ÐÒ©%£|G1µ÷T¬Ì¬*ÝfÑžEl:½Icù¯¬]_Û%]»ìw'4ôy¾þúkJK+¿ï‹™™¥¥¥(•JÌÍÍiݺ5]»våOú¾¾¾u\µhè$ß%ß+H¾ëNò]#ÉwÉ÷ ’ﺓ|ÆHò]ò½‚ä»î$ßE]ðööÖy[9ù*49ù* ­1Ÿ|­/*>ÜžyØÐ¥ˆz üÃýz`>P~¿…B¡ºº²I“&tìØ‘Î;Ó¡C|}}iݺµÜKDÔ*É÷ÊI¾‹ê|ÆHò½r’ï¢:$ß…1’|¯œä»¨ÉwQjròÕLLŸ>×_]M ¡wü1_ýµ¡ËÔ;whÛ¶­¡ËBèÉO?m`ffFëÖ­éÒ¥ ¾¾¾ªòÎÎΆ.Q!„$ß…¢a’|Bˆ†Iò];½œ|˜ݿïÇýûÍ ]†h´Žº!„ž””” P˜gHH°ÄÌL>F !DC ù.„ “ä»B4L’ï¢>Ð˨üðÃeÚaa” 0ñ) e<íÚºQ™uÇÖ±bÿ ÕsŸ>ª{€Q333žaýzwÌÌ.º!D$ßEuI¾ Q?H¾‹ê’|¢~|Õ%ù.ê¹$@!D£4¹×d&÷šlè2„Bè™ä»B4L’ïBÑ0I¾ !"C „B!„B!„B!„ œ|B!„B!„B!„B=“¯B!„B!„B!„B¡ròU!„B!„B!„B!ô@N¾ !„B!„B!„B!„ÈÉW#…B¡@¡PмysC—#„B!„B!„B!„x 9ùZ‹Š‹‹ñóó£ÿþ:m‰R©Äßß_Ï• !„B!„B!„B!ôÍÌÐ4teee”••º !„¨7¾»ðþ€¤Ì$ J Øõ—]8[;³bÿ â¯Å“ž›ÀèN£YõÌ*C–[§~¸üK÷.åFö .üíB•ë•–•òÙ©ÏØš°•¤;I˜™šÑÙ£3ÓûL§_ë~jëfd³ó·ì:¿‹ßÒ~£ ¤{ü›ù3¥ç|Ý}k»[BˆFBò½jÚä».y]ª,eë/[Ùtz׳®S¦,£…c Æùãù®Ïcnj^Û]B4’ï•+)+áóSŸ³-aI™IX™[ÑÙ£3aÝÂâ=…BQå¶S¿žJ\bsÎáµ¾¯ÕaÕBñä{å~KÿUVqêæ)JËJéúTWf÷ŸM÷æÝ ]šˆÈ/_k‘¹¹9 9rÄÐ¥!D½p:ù4³¶Í¢¿WŽÏ>NÜ«qxØ{0çs8zí(ëC×svîY¦ôšbàjëÎõ¬ëLýz*Q¢È¸ŸñØuKËJ™¾u:+÷¯d‚ß~|íGv¼²ƒæŽÍùó–?³ã·j믈[Áâï3¬í0¾›ü'gŸdÅÈœK;ǘÿŽ!öblmvMÑHH¾W®:ù®K^ÿmÇߘ¿k>}[÷eÏ”=ÄM‹c”ï(Ç.æµoåæ !jNò½rùÅù„m ã›_¾aá°…Ÿ}œmÞ†¹ S¿žÊ¥ŒKUnûm·Ä%ÆÕaµB¡Iò½rgSÎ2þ³ñØZزgÊÌ8@ ǼðÅ ü˜ô£¡ËB9ù*„Âhìüm'J¥’?þsZ:µäÇ×~ÄÕΕ£×ŽÜ.˜ö®í±µ°åoƒÿÆ»!ïÖJ]Vu!tCh­´­‹èƒÑt{ªÛ_ÞŽ­¹íc×Ýþëvâãx!à^êþNÖN4wlÎòËiÓ¤ ÿØóîÜSÛf¼ÿxþÜãϸڹbmnM`‹@¢Ÿ‰¦´¬”•ûWÖfׄ„ä{媓ïP½¼¾‘uƒí¿n§£{G"Eâbã‚“µS{O¥¿Wâãø9åçÚꚢ‘|¯ÜŠý+8û<Ÿ†~J`‹@¬Ì¬hæÐŒwCÞÅÂÔ¢ÊíÒsÓYºw)c:©Ãj…B“ä» j IDAT¦2eóvÎÃÁÊ•£Vâf熳µ3Kž^B«&­˜¿{>E¥E†.Sa$ääk-Ù±c …Bõ(((P{ýÎ;Ì;ooo,,,pvvfĈìß¿¿Ê6ÏŸ?ϨQ£pttÄÆÆ†!C†pøðáÚîŠBÔ™”œœ¬œÔ—ß+_îlã¬Z¦P(0Q4ŽÆ–\Ϋ}^ÅTaúÄu¿¿ø=C}†ª-W( k;Œì‚l¾»ðZÛK‡/ÕhÇ×Ý+3+®g]G©TÖ°BˆÆNò½rÕÉ÷êæuÅ1÷i꣱M›&m¸uï–®¥ ! ù^™Œ¼ 6ŸÙÌèN£ijÛTí5kskÎýõí\ÛUºí‚Ý Ña¼ÔE©BQ%ÉwM'nœàRÆ%†·Ž•™•j¹©‰)!¾!¤ÜK‘™ „* ? $$$¥RÉèÑ£5^KMM%007CFFÇŽÃÆÆ†   Ö­[§±Mnn.3fÌ`Á‚$''sðàA233:t(¨‹. !D­+-+}ìrUß©!ûý‡ú'ÉÈ+Ÿ¶ÒÅÆEã5W;WNÞ<ùÄvò‹ó)() k»ÇÞJ!´!ù^¹êä{UªÊë6MÚ`fbÆåŒËÛ\ɼ‚B¡ ½kûï_ѸI¾kÚ—¸Ò²Rº?U½{ÿ}uö+.e\bþÐùµT™BhOò]SüµxºxvÑx­‹Gµu„ÂÌÐ4FóçÏ'))‰M›6€ƒƒ7n¤M›6„‡‡óÌ3Ïàîî®Ú&;;›eË–Ñ»wozôèÁ† ðóócöìÙœ9sÆ }Bˆ'ÉÊÏâƒ#°÷Ò^Rî¥`caC×f]™Úk*½[•gZìÅX¦o®Ú¦ST§JÛzïÇ÷xïÇ÷øâ…/x*€µGÖ²ëü.neßÂÒÌ’îÍ»Ú5”Ámcjòð—D™÷3Ysx û÷‘–“†½¥=-™Õ¾n¾¬;¶ŽûWpêæ)|V”ÿZÈÔÄ” »ðľ¶§}•_PÕÔ¶)GgÕjÝêhbÓ€;÷ïh¼–y?€›Y7ŸØÎ®ó»˜Ñw†jÙ£ïÓéX¹%?\þ 3 µÄ߃ÿNNaKb—pôÚQl-mâ=„7ƒÞÄÖâÉSj !êÉ÷ÊÕV¾W¥²¼®¨cþÐù,‹[FÔ(^ |… _žý’ÃW3«ß,¼šx’ïBu’ï•Ó6ßMýGkG–í[Æ®ó»ÈÈËÀÍÎam‡Þ?'kõ_’¥æ¤²|ÿr>ûÁc3UòZQ’ï•Ó6ß/ß)¿¨±âÞ·¿çáP¾,)3I«} !>9ùjß~û-£FR[niiIPPŸþ9{öìáOú“ê5+++zõꥶ~—.]hÖ¬gÏž%%%OOÏÚ/^!ªávîmÆ>ž‚’–XFÏ=¹w›¨Q¼´ù%Þþ6ü'Ü.˜Äy‰¼úͫ콴—_#ÅÂÔ%J”J% i üñ¿df¿™Ìê? Lxó»7Ù}~7ïyŸ-z[˜Ëºãë˜öõ4¾xá zµ,ÏÍôÜtÆ>žÂ’BVŒ\AÏ–=IÎNæ{þÁ¸ÏƱaâž `r¯ÉLî5™.«ºÐѽ#[¶T«¿Ú|¨m¼—G\bý½ú«½vðÊAòKòÛFF^ïþð.ü'0²ÃHÕòGß§eq˘Þg:+G­dÏ…=Dîˆ$+? sSsæ œC+çVlOØÎ¢=‹°µ°åÍ 7õßa!„AH¾‡ªòºÂ¤“p³sãí}oó¯øàlí̲áËï?^µžä»¢‚ä{Í¥ç¦0o×<ú¶ê˦7áhåȾÄ}ü}Ïß9”tˆ­“¶boi¯Úfþ®ù<ãû }ZõylÛ’×B]I¾×\Na66¯Ù˜—/ËÎÏÖû~…õ“L;\Ç ÉÎÎÆÊÊ {{{×+~íšššª¶ÜÅÅ¥ÒiÝÜÜHOO¯…j…¢f¢Dq3û& ‡-d¨ÏPì,íðjâEô³Ñ¸Úº²$v‰jšÜGUÜ3ÄÔÄ“ÿ\™(L0U˜bª0E¡PpäêÚ6mK¯þX™YÑÔ¶)ó†ÌSý’ç÷u$g'³`è{ÆÆÜ†¶MÛ3:¥RÉâØÿßÞ½ÇEUç „PSÓS“0/¡&^»¨¶Šéº–©i…Š-›Rú[[ýyiÍÄÚvíªVn¤™¶j–JY®ZŠº™xÃ4.*‚rG`~øcÚ T.3ÀëùxøÇœ9ç{>g޾ÈçÌ÷ûbµ%<0\>Z{p­Þÿþ}eæe*ùj²æ}1OiÙi’n>Íef^¦&ÄNPÏ6=5ÿþù7=ר.£à —F. Sûfíµëô.Mì1QZtRãF5&xŒZ5m¥]§™"¨OÈwë»U^F½ðÙ šùéLMì1Q{§íÕþûõÇÐ?êÅí/jƦ*6–ÿmòh¸È÷ê+(*$9Ù;é¥a/©µGk¹;»kDÀ=ò”Î\>£·÷½mÚ?6!VIIš=`v¥ÏE^¨(ò½fe”$–m`Bóµ–999©iÓ¦ÊÏÏWVVV™÷ÓÒ®ÿbÜÇÇ|ú‚+WÊj¦´éZÚ„[òEâ’¤þ~ýͶ;Ú;ªWÛ^Ê/Ê×7g¾©òø¡~¡úþçïõÂg/èPò!Ó”2ÛŸÜnzªRº>mŽÁNü˜ßܵ¹Ú7k¯£©G•šeþÐK]åäà¤Æ~ Ç»?®·þý–îyõýnÍïd4õjØ«’®O©Sž¼kyz<öqµoÞ^ËZf6-Py~½Î‰·Ûõˆ|̶û¸ù(-+­ª—À‘ïÖU‘¼ÞøŸŠMˆÕØà±šÐ}‚š5i&OO=ô¨¦Ü3E[ŽmÑškÊŸ|.ò½úJ¿Õ»moÙÌó¹ôzJ?Ãä«ÉZ·XK†.‘K#—JŸ‹¼PQä{õ•ÎX[˜[æ½¼k×gswv¯ÕšØ.¦¶‚#FhÕªUÚ²e‹}ôQÓö‚‚íܹS...ºÿþûÍŽÉÎÎVBB‚MÛŽ9¢ääd2å0›SX\¨¬‚,998•»¶PiðböÅ*ŸcÞày n¬ G7èÿüƒ$©[«ny  "È÷›«h¾ûyùIR¹ÍáÔ«×·ýú›¾.š¯V°hÑ"íÚµK‘‘‘ruuUhh¨RRR­””­\¹Ò4ýp©&Mš(""BK—.U@@€Ž;¦‰'ÊÑÑQ111Vº¸1G{G¹9¹)« K9…9e~À/Φ¹kó*ŸÃ`0(, Laa**)ÒÞ³{õÖ¾·ôô†§õüÀçõD÷'ähï(wgwåäè‡ç~¨PSÑ ªMc«k–:pî€$éþ÷—yoζ9*,.Ôß÷w³ÏhÀ?hÙðe jyãÿhXÈwëªh^—÷Dþ¯Ud ùnÝZwÓ;ûß1­ýúßÒs¯7]K㺎Ӹ®ãÊì·é?›ôÇýQ3ûÎÔ3½ž±xòÝ2îis^Û󚎦Õˆ€fïM=*I·\»@ÃÁ´ÃVàãã£ýû÷k̘1š>}º¼¼¼Ô£GåäähÇŽšíúè¿û‡ ƒ¾<ùË9ïïp¿ŠÅúîüweÆX¹w¥î}ý^³uï\¹èZñ5ÓëÁo Ö‡‡>¬rµ)#/Cí—´/óËžì‚l}tø# ë4¬Ì“˜+v¯Pâ…D­¹RŽö޵Y.€:Š|·ŽÊäuÐí×›°ß&}[æ½ø³ñ×÷áÁ¿B¾W_?¿~òvõÖ×§¿6­ÿZ*îdœ$iðƒ­Q€Œ|¯¾mzÈ¿™¿>ûñ3³|/.)Öæc›åëî[fZg Í×V\\,;;;98˜ÉØËËK¯¼òŠNŸ>­ÂÂBeffjÛ¶m0à—ù¢d4e4uþüyuïÞ]qqqÊÊÊRnn®¾úê+õî]v1°Q¡QjÕ´•ìX ¸“qÊ)ÌÑ™Ëg4óÓ™º˜sQsϽáú£5wÛ\ýxáG*=7]oì}CF£ÑìièÐ(µñh£Y[fi×é]Ê*ÈRf^¦þyðŸzmÏkŠmöÄegŸÎ:sùŒR®¦èàÏõSÆOêÞº{µê¬MF£QÏmyNg3Ϊ°¸P É šðÑõõþæÝ7Ïlß|¬»W(!%A]^î"ÿÅþf~ÊüÉ:À¦‘ﵯ²yýûàß«­g[}ðýZ}`µÒsÓ•™—©u‡×iåÞ•òvõÖ¤ž“¬t5lù^}ŽöŽZ4d‘2r34cÓ %e$éjþUm<ºQÿ»}õX·Ç¬R€†‹|¯>;ƒY¬+ùW4kË,]̾¨Ì¼LÍÛ>OI—“´ðÁ…rrp²JmlÁh4«5€Á ØØX…‡‡[ª¦:- @›7oVÛ¶m%I]»vUFF†Îœ9cÝÂ(ƒÁ )V?a-£4r¤´nݺ=--MÙÙÙÚ×ßßO+V¤iÈŠío)™y™úÛ·ÓöÄíJÍJ•K#µ Ò“÷¸Páæ·'iÖX£Ã©‡••Ÿ¥6žm4´ÓPMì1QÎÎfûN^?Ùì)Ôò¬¿^A-ƒt(ùF®iöÞÓ½žÖàöƒ5bµù”;Q¡QêÖº›}ÿQ³íÓûL×ô>Óoz>[¶u««¦O÷ÖÉ“§¬] `B¾7Œ|¯L^—º’Eÿˆÿ‡âNÆé\æ9e”¯›¯BýBõL¯gL¿`#ßÉwØ&ò½îæ»$üù Vì^¡Cɇ”_”¯6×&òž'ËüL^jîçsõσÿ,³ýÞv÷êÝÑï’×U@¾Ã‘ïu;ßHûA/ïzYßýüJJJØ2P‘÷FêîVw[µ®††|Gmðóó«ò±4_-, @¡¡¡Z²d‰âââ¦E‹iÖ¬YÖ.­A¢ù ë£ù Ô'üp[D¾ÕG¾Ã‘ï@õ‘ï°Eä;P}ä;jCuš¯·Þ•ñöÛokÖ¬Yòõõ•.\¨¨¨(k— †Ñ|µ°ž={ꫯ¾²vj™µ €ú€æ+XÍW°š¯`4_À,1ÈêÕ«o‰¡€°R?a- JOoeí"@-°HóuëÖ­Úºu«%†j@Üÿÿ¬ãĉ©^m{Y»€‘ïP?‘ïP?‘ïJÑ|  ù @ó,ÀÁÚÔgÙÙÙ V‡´yófk—µj{âv=µá)Óë/&¡W¾yEñgã•™—)Iº»ÕÝúîüw¦}înu·bÇÅJ’¾MúVã?¯7F¾¡þ$I v,Ъ«LûŸu\öûÖÐá¥*.)®P½Íš4ÓÞi{«}Mûgì—»³»¶ý¸M%|¤ã+« KwxÞ¡ðÀp¿{¼ì våŽ÷ÕS_é¥/_Ò7g¾‘½½‚oÖÜAsÕÆ£Y§ÒOé¯_ýU{Ú«â’buö~QUª·¦ï€úDz…|·þ=PÿØB¶ïÖ¿ê[ÈòÝú÷@í2Fcµ0«ððpKÕT§¸ºº*((H»wï.ó^VV–‚‚‚Ô¡CmÝºÕ ÕÁ`0hÅŠ2dˆµKA!WWW­[·®FÆOKKSvvv…öõ÷÷ÓŠi2¤bû[ÊÔ§jljêѺ‡fÜ;C]|»(ñR¢Âß ×Þi{µõÇ­úóçÖ²‡–ixçá¦ãfm™¥|¬¡†*æáÓöí‰ÛõÞ÷ïiÍ£kjõ:þÛ­®éàÏõäú'¥1ÁcTb,Ñ¿~ø—ìX 'z<¡Ùýg—;Þ öƒ4åž)êØ¢£¾ÿù{MY?Ew6¿SÛ`Ú÷lÆYX=B..Z2t‰º¶êªs™ç´(n‘’.'éBöýð§*Uo]¼Ö²u««¦O÷ÖÉ“§¬] `B¾[ùný{`-ä;lùn9ä»õïµï°Eä»åïÖ¿ÖB¾£6øùùUùX¦®Annn:uêW4%dŠz¶é)—F. ô ÔñçŽËÓÅSC;U#ûFÚøŸ¦}ó‹òµãÄÝáy‡vžØ©œÂÓ{ŸýD#FXãʸÑ5IRÏ6=55dªš:7•§‹§Æß=^ÝõVí_¥ì‚òÿƒ®àÛƒåÒÈE½ÛöV?¿~:œrXy¦}–îZª«ùW5wð\õi×G5V‡æôÒЗt!ûB•ê­Ë÷€õÕÇl!ß ~f ùõ3[Èw¶†æ+ Vú–»ÝÃÅCýüúiOÒ]̾(IÚqb‡[j\×qÊ/Ê×çÇ?—$eæeêß?ý[÷w¸¿Öê¾™]Óÿú`ìe¶wjÑIE%E:qéD¹ÇuñíböÚ×ÝW’”–•fÚöõé¯%I}Ó×lß®-Ôî¶vUª·.ßÖW³…|€ú™-ä;ÔÏl!ߨšZi¾^¼xQÓ§OWÛ¶måèè¨æÍ›ë‘GÑ¡C‡LûôéÓGƒÁôgܸq’¤Aƒ™mÏÌ̬Ը¥ÒÓÓõì³ÏÊÏÏONNNjÕª• ¤U«V)//O ,0£OŸ>¦ã¶mÛfÚÞ¬Y3Óö¥K—Ê`0(''G{öì1íãàp}Ý7šÕŸŸÃzåéé©|P_~ù¥iŸ_‘””¤Ñ£GËÃÃC^^^6l˜Nªø×êüñG………©iÓ¦jܸ±zôè¡Í›7›}Æ“&M*sÞãÇ+<<\^^^¦m—.]ªðuTõ³5 jÕª•öï߯ÊÍÍM7VÿþýµgÏž _7ÛàÒÈå†ï¡â’býëØ¿$InÔˆ€z讇dog¯OøT’´ùØfõ÷ï¯ÆWèœ^ê ÿÅþúsÏ«÷Xìš² ²´ü›åòöu]ÞÕtŽÅ_.–$å]Ë+÷87'7³×ŽöŽ’$£®¯PX\¨œÂ998•ûx5ñªR½RÍÝõùN¾¨ŸÈwò@ýD¾“ïjžCMŸ %%E!!!ÊÏÏ×;ï¼£¾}ûêìÙ³zæ™g¢¸¸8…„„h÷îÝJHHPïÞ½åïﯕ+WJ’¶lÙ¢ÐÐPEFFêÑG­ô¸’”ššª^½z)//Oo¾ù¦BCC•››«7ß|S&LPff¦æÌ™£9sæÈÕÕÕ¬þx@F£QݺuSRR’i{TT”¢¢¢n¸ækXX˜ŒF£Â´iÓ&³÷JëÉÍÍÕ[o½¥¾}û*55UÑÑÑ8p Þxã Mš4©Ì‘‘‘š5k–ÞyçÅÇÇkøðá3fŒöíÛwËûpòäI…„„¨I“&Z¿~½BBBtöìYEFFêðáÃrrr2kÿ÷y§L™¢yóæiÕªU:räˆz÷î]©ë¨êg¤“'OjÆŒzùå—Õ¥K;vL'NÔ€ôÅ_(44ô–×Àöõ÷ë/}rä…uÓ¡äCzmÄkrvpVŸ¶}´;i·.d_І#ôÇÐ?VxÜãϯÁªoìÉõOjÿ¹ýš;h®ºë!yºxÊ`0èÝýïêwþ¯é‡õÊr´wTÇ&Ê)ÌQîµÜ2?`gæeÞàÈ[«©{ a#ß+†|P×ïC¾¨kÈ÷Š!ßÜJó5::ZgÏžÕ²eË4dȹººªsçÎúðÃe45mÚ4Ó¾z÷Ýw• ñãÇËh4jÊ”)8p Yãµ²ãFGGëÌ™3Љ‰Ñ°aÃäææ&oooÍ™3G<ð@Me”Ö³|ùr 6LîîîºóÎ;µvíZùúújúôéJKK+sܤI“L ÔAƒièСڿ¿é[¨7óüóÏ+33S111SåqëÓ=`;êS¶ïð‹ú”-ä;ü¢>e ùÀšj¼ùºqãFÙÙÙiذafÛ}||Ô¹sg}÷Ýw:þ¼iû¨Q£ô /hÆ êÓ§ÒÓÓ5þüjûÉ'ŸH’|ðÁ2ã|öÙgŠŒŒ¬öuVFi=C‡5Ûîää¤*//OŸþy™ãºwïnöºuëÖ’¤äää[žsÛ¶m’¤ûï7Ÿ¾yóæêرãMíÑ£G¹Û«z•ѤI™mûío«–-[*!!A)))Õ€íë&IŠMˆÕˆ€¦íƒï¬&ŽM›«‡;?,;ƒm/Wnog¯žmzêböE½ùï7•‘—¡ü¢|í=»Wk®­öøQý¢äáâ¡ùÛçk÷™Ýʽ–«“—NêÙOŸ­öT3õå°-õ%[Èw0W_²…|sõ%[ÈwÖT£ÿ: tåÊ•””¨iÓ¦fëˆ }ÿý÷’¤'̶ž?¾zöì©o¿ýV£F’]•Ç-Ý×ÙÙYnnæsµ[íêñöö–t}Jß_kÚ´©ÙkGÇësÍ—””ÜòœYYYrvv.3õ¯$yzzÞôø&Mš”;fU¯£2<<<ÊÝÞ¢E IÒ… ª5>Ð89UXh¨µóJ>$ÿÅþÚqb‡$©óÒÎò_ìÃýƒoV[϶jéÞR=ZÿòЇ³ƒ³èp}–‚ÿþÓ*zM+ÂVhLð­ùnB^ Q¿¿÷Ó'G?ÑðÎÃ%I}ø˜ÂV…•;Þ²¯—I’üûkåÞëSð?ôÎCš¼~²$©G­ûÃ:uiÙE#Ô#¦‡žÛòœÆß=^ZtPaq¡üû+zkt½¼Ö–Ÿo³sÕ¦%j ù^}ä»õﵑï°Eä{õ‘ïÖ¿ÖF¾Ã‘ïÕG¾[ÿXù[g0Õúj0«ðððrß÷ôôTvv¶òòòäàP±%f¿üòK=ýôÓjÔ¨‘NŸ>­={ö(00°ÊãzxxèÊ•+ºzõê-°îîîêØ±c™uTýýý•™™YfŠ_777–YóµT麩yyyrvv¾e=ãÇ×{ï½§Õ«Wküøñ7C’fÏž­%K–èàÁƒe¾ZÞueee)++«L¶K—.JLL4[óõfç-UÙë¨ìg¤ãÇ+77×4%D©Ûo¿]ÉÉÉJNN–¯¯ï ¯Û`0hÅŠ2dÈ ÷jRDD„\]]µnݺ?--MÙÙÙÚ·W¯;4yòM˜Põu'€†îw<ôöÛMµgÏYk—˜ï@õ‘ï°Eä;P}ä;lùTùŽÚàççWåckü{é<òˆŠŠŠ´gÏž2ï-Y²DmÚ´QQQ‘iÛ™3g4qâD}üñÇúôÓOåâ⢇~X/^¬ò¸#F\ dëÖ­eö ÖÌ™3M¯}}}õóÏ?›í“ššªŸ~ú©Üëkܸ± M¯;tè 7Þx£Ü}K•Ö³e˳íÚ¹s§\\\ÊL\]¥S.—N?\*55U‰‰‰U³²×QÙÏV’òóóµÿ~³mGŽQrr²oÚx`Îßÿš­]P§%&:ÊßÿšµËÌï@õ‘ï°Eä;P}ä;lùTù[WãÍ×E‹ÉÏÏOO<ñ„>ûì3]¹rE—/_ÖÊ•+õ—¿üEK—.5}s5;;[aaaZ¾|¹îºë.µmÛVëׯWrr²FŽ©k×®UiÜE‹©]»vš9s¦¶lÙ¢¬ÔŒ‹lIDAT¬,?^O?ý´RRRÌš¯÷ÝwŸ’““õÚk¯);;[§NÒŒ3LÓÜþZ×®]•˜˜¨sçÎ)>>^§OŸÖ½÷Þ{ËϤ]»vŠŒŒÔæÍ›•••¥ÄÄD;V)))Љ‰1MÛk) .Ôm·Ý¦ÈÈHmß¾]ÙÙÙ:zô¨&L˜ Ÿ*YÙë¨ìg+]ŸjùùçŸW||¼rrrtàÀ7NŽŽŽŠ‰‰©RÝ@Cœ¯øxk—Ôi{÷º(((ÿÖ;µˆ|ª|‡-"ßê#ßa‹Èw úÈwغo¾¶hÑBûöíSXX˜"""Ô¼ysuìØQ6lЦM›LÓGDDÈÍÍM‡ÖÃ?¬£GêÒ¥KêׯŸ®]»¦¯¿þZŽŽŽZ°`A¥Æ•$íß¿_£GÖ´iÓäåå¥=z(##Cß|óÚ´icÚwÁ‚š4i’.\¨-ZèñÇןþô'ùøø(==]ƒA³gÏ6í¿|ùruéÒE:uÒèÑ££N:iãÆ2 Ú´i“$ÉÅÅEãÆ3«g̘1š>}º©žœœíرC“'_Ÿ7~ïÞ½eƘ3gޤëÓé.Y²DÒõoï6ì¦÷ÁÏÏOñññêÞ½»FŽ)oooM™2EÑÑÑj×®ìííMû–wÞ_Oû[™ë¨êg+I®®®zõÕWõâ‹/Ê××W}ûö•§§§âââzÓk`nÀ€\?ï #Gœ¬] P'>ì¤óç4`@޵KÌï@õï°Uä;P=ä;lùTùŽº Æ×|…íëØ±£òòòtö¬mͤK—.éüùóUƒ5_am¶´æ«$=ø`kuéR %K.ÔH=@}6kV 9⤭[ÏY»  ò¨:ò¶Œ|ªŽ|‡-#ߪ#ßQ[lzÍW؆ÔÔTÝvÛmfS7KRRR’N:¥X©2µiêÔLmÜè¦cÇxº¨ŒcÇœ´q£›¦LÉ´v)@¹Èw jÈwØ:ò¨ò¶Ž|ª†|G]AóµÉÈÈД)StîÜ9åææjß¾}=z´ÜÝÝ5wî\k—  ž¥®]ó5o^3UoÞ a™?ßK]ºäkøð,k—”‹|ª†|‡­#ߪ!ßaëÈw jÈwÔ4_íØ±C™™™¦uS‡®öíÛkß¾}úÍo~cíM–.]*ƒÁ „„ýüóÏ2 ¦µnTÁ ½ðÂ%<è¬5kšZ» NX½º©pÑŸÿ|Iå,Øò¨<òuùTùŽº€|*|G]â`íP{¨Z»Œ[ŠŠŠRTT”µËê­€€=ûìe-\ØL­[_Ó€¹Ö. °Yß|ÓX zéÙgÓP`ír€›"ߊ#ßQ—ï@Å‘ï¨KÈw âÈwÔ5|ó ©S3–¥gŸõVBë‹åIHpÒ´iÞ ËÖÔ©¬%‚º|n|G]D¾·F¾£."ß[#ßQÑ|€jÁ‚‹êÖ-_ãÆÝ®mÛ\­]`S¶msÕ¸q·«[·|-XpÑÚå•B¾7F¾£.#ß#ßQ—‘ïÀ‘飼h¾@Õ¨‘Q+W¦hÔ¨«š6Í[˗ߦ‚L@ÃVP`Ðòå·iÚ4ouU+W¦¨Q#£µË*…|Ê"ßQï@Yä;êò(‹|G]Çš¯Ð€ÙÛKÿó?—äï_¨Å‹½´i“«¢£Óuß}9Ö. ¨u_|ÑD‹y)=Ý^/¾xQcÇ^µvI@•‘ïÀ/ÈwÔ'ä;ð òõ ùü‚|G}@ó ±c¯jР\-Yr›žyÆG:hôè, ˜#Ÿ"k—Ô˜ÔTíÜÙD±±n:vÌIÇgiÖ¬ËjÑ‚¿÷¨Èw4Tä;ê;ò ùŽúŽ|GCE¾£¾1Æj}WÛ`0(66Vááá–ª °ƒÁ +VhÈ!Ö. TDD„\]]µnݺ?--MÙÙÙóÈ'­^ÝTŸÞDyyvòõ-Òw\“‡G‰ ¦÷@ÝWRbЕ+vJJj¤ÔT¹¸”èr4~üýö·Ö.¨1ä;ê;ò ùŽúŽ|GCE¾£¾#ßaëüüüª|¬Eš¯€9rdj¾–*(0èÀgýç?N:¾‘®\±SIIœ ¨Uvv’»{‰Z·¾¦Î Ô­[¾œœø+òõùކŽ|G}E¾£¡#ßQ_‘ï°uVm¾~ôÑGÕ9¨QñññºóÎ;åååeíRЀµnÝZ!!!52vM6_hˆ¬Ú|XÍW,«:ÍW; Ö ÍW°š¯`4_Àh¾€Ð|  ù @ó,À`4Ö.P5ùùù***²vÔ®®®U>–æ+XÓ€Ð|  ù @ó,€æ+XÍW°š¯`4_Àh¾€Ð|  ù @ó,€æ+X€ƒ¤uÖ.êºÿ›.¦Æ{UÕ”IEND®B`‚fio-3.39/examples/netio.fio000066400000000000000000000006131476262051600156710ustar00rootroot00000000000000# Example network job, just defines two clients that send/recv data [global] ioengine=net #Use hostname=/tmp.fio.sock for local unix domain sockets port=8888 #Use =udp for UDP, =unix for local unix domain socket protocol=tcp bs=4k size=100g #set the below option to enable end-to-end data integrity tests #verify=md5 [receiver] listen rw=read [sender] hostname=localhost startdelay=1 rw=write fio-3.39/examples/netio.png000066400000000000000000001434001476262051600157020ustar00rootroot00000000000000‰PNG  IHDRc5CB-IbKGDÿÿÿ ½§“ IDATxœìÝw\ÕeÿÇñ×aO"¨¨(â™#Ír—–ÚB-%µÛ~Y™«¡ÝÛÌ;–•‘¦–¥ G¹2ËÔÛ‘šÛ4378PÙ ‡óûãÈ‘# €pŽÂûùxøèœï÷ú^ßÏõåŠñ9×0˜L&""""""""b ‹ìˆˆˆˆˆˆˆHy¢dŒˆˆˆˆˆˆˆˆ )#"""""""bCJƈˆˆˆˆˆˆˆØ’1""""""""6¤dŒˆˆˆˆˆˆˆˆ )#"""""""bCJƈˆˆˆˆˆˆˆØ’1""""""""6ädïDDDD"##2dˆåýœ9s¨[·n©ÝïĉÌš5‹¿ÿþ›ÔÔTL&wÞy'>>>üòË/´nÝš?ü°Ôb‘òIɱ‰!C† ÀÓO?Mhh¨Õù´´46nÜhyŸššZj±DGGÓªU+­Ž{yyQ­Z5KNNúUIDDDJž~Ûعs'GŽà¾ûî³k,Ó¦M³$büýý™1c•+W¦J•*|òÉ'vMDDDÊ>%cDDDä¦P»vm6lØ`y_šS”r’Bݺuã‘G±¼7nƒ  råÊ¥ƒˆˆˆ”_“Éd²w"""bù­ÓâèèHXX¤zõê<ðÀ<üðÃy®MLLdÁ‚lÛ¶¸¸8\]]iÒ¤ ä¶Ûn³”›;w.sçÎeçΤ§§æDKíÚµ¨Zµ*‹-ºîš1 ÌŸ?Ÿ;v««+õêÕ£wïÞÜsÏ= †ë¶wýúõü÷¿ÿ寿þâüùó€ydL£Fò-Ÿßš1%‡ˆˆˆ”k‹”Œ)Ç>LãÆ-ïgÏžÍØ±có¬¥2aÂÞ|óMËûŸþ™!C†XW{ùå—™Ó¦Mà_ÿú6l V­Z–ú† Ɔ ذa‹-ºfL{öìaÀ€–H¯^½Xºt)Ó§OÇÇÇ0x)L’¥[·nlذ¶mÛZŽõìÙÓˆ èÕ«W©Ç!"""å›ÖŒ‹áÇóÖ[oФI6lÀ¥K—8räíÚµcòäÉ\ºt €®]»òí·ßZ®wuuåÉ'Ÿàí·ßfĈÔ©S‡:uêàááa)D—.] Ó|@ff&,_¾Ü²Ë‘ŸŸýû÷`õêÕìÙ³‡V­ZX—ŸŸ~~~–ä @µjÕ¬bùî»ïJ=)ß”Œ‹Þ½{[^ûùùY;{ö,Û¶m³‹ˆˆ°Jdäž¾KDDÁÁÁ7ÓöíÛ-¯»wïnµÝt=ò”-­$È͇ˆˆˆÜú”Œ‹ªU«Z^çN6ä,3—––f9Idddõ;wî†cÊ}?ooo«sžžž888§lI»Yâ‘[Ÿ’1"""R$uêÔ!>>€FU`Ù‚v)*ŠÀÀ@ËýŽ;fuîøñã–HNÙO=õááᄆ†òôÓOÛ%‘«i_)’G}ÔòzãÆT¬X‘.]ºXþµiÓ†ØØXvïÞM… ,es¯[¬û­^½š-[¶`4­viªX±¢Õt¡Ý»w³qãF6nÜÈñãÇ‹ÖÈŒCDDDäjJƈˆˆH‘Œ9’Î;@«V­hܸ1íÛ·§V­ZTªT‰Zm кukËëO?ý”¶mÛÒ¥K>øàƒëÞï®»î̉.]ºÐ²eKj׮ͼyó0 |öÙgT¬X±$›zSÆ!"""·>%cDDD¤H\]]Y³f ÿýï©Q£‡fÇŽDEEáííÍ Aƒ7nœÕuo¼ñ·ÝvÙÙÙ–‘+G޹æýÜÜÜX»v-¯½öUªT!++‹}ûöƒÁ`àÎ;ïdݺu„††–Nƒo²8DDDäÖg0嬯'"""åNZZ;wî´¼oÛ¶-žžž€yôÇæÍ›-çš7oN•*UòÔqêÔ)bbbpuu% ??? C÷ŒˆˆàôéÓdeeP½zu6lxÍXr˜L&Ž;ÆÙ³gqqq!((Èj›êÜvïÞMJJ µk×&((Èrþ²,.\­Z5«µmŽ9ÂéÓ§¨\¹²%TÜ8DDDD®²HÉÛY¤iJ""""""""6¤dŒˆˆˆˆˆˆˆˆ )#"""""""bCJƈˆˆˆˆˆˆˆØ’1""""""""6¤dŒˆˆˆˆˆˆˆˆ )#"""""""bCJƈˆˆˆˆˆˆˆØ’1""""""""6¤dŒˆˆˆˆˆˆˆˆ )#"""""""bCJƈˆˆˆˆˆˆˆØ’1""""""""6¤dŒˆˆˆˆˆˆˆˆ )#"""""""bCJƈˆˆˆˆˆˆˆØ’1""""""""6¤dŒˆˆˆˆˆˆˆˆ )#"""""""bCJƈˆˆˆˆˆˆˆØ“½‘¼âââHII±w"""""’¼¼¼Š}½FƈˆˆˆˆˆˆˆØ’1""""""""6¤dŒˆˆˆˆˆˆˆˆ )#"""""""bCJƈˆˆˆˆˆˆˆØ’1""""""""6¤dŒˆˆˆˆˆˆˆˆ )#"""""""bCJƈˆˆˆˆˆˆˆØ“½û¸tÉÀ±c.$$8’šªÜ¼ˆ½yzfãëk$8ø..&{‡#"""¥HÉ‘rä–-ófÍOþøÃ £Ñ`ïDä*ŽŽ&Z·Î GTy$™Š³í’ˆˆˆ”0ƒÉdÒG/""7™¸¸8RRRJ¬¾ôt_|Q™/¾¨„ƒƒ‰{ïM¥S§4š6½HµjF<=õÇžˆ½¥¦:ëÈ®lÚäÁÿþçIv¶aÃ6ì<îîú•MDDäfáïï——Wq/_¤dŒˆÈM¨$“1kÖx2i’/IIŒqžÐÐ$%_Dn©©ÌŸ_éÓ+S¡B6ÿùÏYzôHµwX"""Â'c´H€ˆHe2Á”)>ŒQÒY»6’aÕˆ¹Exzf3lX"k×FÒ¡C:#FTcÊô1šˆˆÈ­Okƈˆ”AÆŽõgÝ:&OŽ'$$ÙÞ!‰H1ùúyï½xî¸#×_¯ÊÉ“.L™‡››²2"""·*Œ)c²³aìX¶owç›ob”ˆ)#BB’ùæ›¶owgìX²5ÈMDDä–¥dŒˆHóÑG>¬]ëÁ´i±´m›aïpD¤µm›ÁÌ™§Y¿Þƒ?ö±w8"""RLJƈˆ”!«W{2kVeÞyç íÛ§Û;)mÚd0iÒfάÌêÕžöGDDDŠAÉ‘2"=ÝÀÛoûÒ·o²¦&‰”q!!Éôí›ÌÛoû’žn°w8"""RDJƈˆ”Ÿ^™ xñÅ{‡""60n\ÉÉ|ñEe{‡""""E¤dŒˆHpႳgWbäÈóøùíŽÜ¤V­ZEpp°åŸÜÚªT1òÜsçùâ‹J\¸ _éDDDn%úÉ-"R,[惃‰ÐÐ${‡""6š„ƒƒ‰ô¶w("""RN7rñG}ĶmÛJ*‘[ÊwÞÉ‹/¾hï0X³Æ“{ïMÅÓS{ÝŠ”'žžÙÜ{o*«W{òÄ쎈ˆˆÒ %c¶mÛÆöíÛiß¾}IÅ#"rKؾ}»½C°¸xÑÀž=n oïPDÄ:vLãßÿöãÒ%..&{‡#åTF†=ؼك\ùçg’’ÈÖgbGžžÙøúiÜøwÞ™N÷î©T«–eï°D€LÆ´oßžE‹•D,""·ŒþýûÛ;‹ˆ²² 4mzÉÞ¡”;F£‘¹sç²råJŽ?NZZþþþÔ­[—Ž;òàƒâççg)ŸÍòåËùñÇ9xð IIIx{{Ó¢E  D·nݬêŸ?>o¼ñ•*UbçÎÌž=›ùóç“@­ZµxüñÇ Å`¸²£ÎÙ³gùðÃY¿~=©©©4iÒ亣¸n4¶­[·Æ?þH||<Ó§OçÞ{。ç+…Ó¬Ù%²² DD8Ó¸±¾ˆm%';0sfe.¬@JŠ-Zdжm:ýú%Q©R6ZAì(%ÅØXGpåý÷}øï}éÚ5•çŸ?G£Fú~)öuÃɱ¯øxGªW×'=¶öÆoðý÷ß[‹‰‰!&&†-[¶°eËæÌ™@FFÏ<ó [¶l±*Ÿ˜˜È¦M›Ø´iC‡åõ×_/ð~ãÆcùòå–÷Ge„ dgg3xð`Ο?O¿~ýˆŠŠ²”Û³gO<ñ}ûöÍ·Þ’ˆmôèѬ]»¶ÀóRzr>å=sÆIɱ™ìlX²¤S¦ø`2Á°a‰ôë—„¯¯‘—›Sf¦µk=™=»=T‹.ð ç¨TI÷Ä>”«¹Å¥§›¿•»»ë— [ûé§ŸpttdÁ‚:tˆ­[·²`Á†JÕªU-e?øàK²ÃÏÏyóæ±ÿ~¾ù漽͋¯Î™3‡U«Vå{¯ÄÄDNœ8Áš5kضmíÚµ³œ›;w®åõ”)S,‰OOO¾øâ öíÛÇ´iÓX±bE¾u—Tl .äàÁƒ„‡‡kTŒ yx˜ÿßOMÕ¯ubII<ùd þó_úôIáÿ‹äÙgÏ+#75gg÷ߟÂâÅQ¼ûn<ÿûŸ÷ÝW›½{Ýìš”Sú©-"r‹3]^""×,±77ó/p&“‰S§NmÛ¶åõ×_çý÷ß 33ÓjJï /¼@»vípww§C‡<ú裖sóæÍ+ð~“&M"((ˆªU«ZM•‹ŠŠÂh4b4ùå—_,ÇH×®]ñôôäÞ{ï¥_¿~yê,©ØÞÿ}Ú´iƒ‹‹Ke¤täü¿oÒr1b‘‘Îôï_“ðpg–.füø³T¬¨äÖa0@HH2kÖDÒ¢EƒÕ`Å /{‡%å¦)‰ˆˆS¿~ýøâ‹/ÈÎÎæ•W^Ì£d‚‚‚èСC‡¥fÍšDGG“––f¹îÕW_åÕW_Í·ÎÇç{ÜÅÅ…Æ[ÞçŒXóÚ5/^$99™””Ëñ¦M›ZÕѤI“<õ–DlÎÎÎ4oÞ<ßs"RvDF:Ó¯_Y|ûm,~~š+·./¯lf̈eòä*¼ø¢?ii<öX’½Ã’rDÉ)´.]ºX^÷ëב#GÚ/˜›È… x衇,ï§NJË–-푈ØÊ¸qã båÊ•‘‘‘ 2Äò~Μ98::ÆÁƒ©^½:<ð?üpžØ6mÚÄ×_m[@@À>&¹E}ûí·üúë¯lذÈÈHâããqqq¡V­ZtìØ‘aÆáåeÞ¡ÁÝݹsç²bÅ ~üñGúˆuëÖ‘––F“&Mx饗HLLÌ7c«ØDäÖ3cFeŒF9òœ½C)÷bbb;v¬åýûï¿OÍš5íQÙÓªU<Â;ïT¡K—Tí‘”e“©ø!æÌ‘Ͻ%¦”]¹‹3f S§N½fùŸþ™!C†pþüù|Ï¿üòËLž<ÙêØäÉ“-;’äpqqá³Ï>ã©§ž²Û°aƒeAá¢ÞçðáÃV;’Ìž=›±cÇæYëe„ ¼ùæ›–÷ï½÷^žF®›”]¥ýý/..ÎjWœkY¹Ò‹Ñ£ý (•XDäæ\°°8zõ*Ü÷ ‘ÂÈÈ0p×]u6,‘gŸÍÿ÷,±ˆˆzöìiy¿råJ4h`LjʦS§œ¹çžÚÌšK·n#ó÷÷·|èV ‹´fŒ”Š}ûöÑ·o_K‚dРAüôÓO̘1__ó<Ì÷ߟiÓ¦Y®Ùºu«U²ãþûïgéÒ¥¼óÎ;VŸÜè}®6zôhFŽɲeËèÞ½»åø»ï¾kIÐlݺ•×^{ÍrîÁdÙ²eLž<™—_~¹HÏFDDDäV°q£))ôë§í~¥ü ̤]»tV¬(öÙ"…¢iJR*&OžÌ¥K—èÚµ+ß~û­åœ««+O>ù$o¿ý6#FŒÀ`00cÆ rjÕ¬Y“åË—ãìì ˜w,yñÅKä>W>|8o½õMš4¡aÆ\ºt‰#GŽÐ®];«ØYºt)Ž—Ç-:991jÔ¨â>*‘›ÒæÍ´h‘¯¯ÑÞ¡P£F æÍ›gy_«V-;FS¶uïžÆ´i•1™Ì‹ûŠ”%c¤TlÛ¶Íò:""ÂjÚNRÒ•OWbcc‰ˆˆ 88˜={öXŽwëÖÍ’ˆ¬†dÞè}®Ö»woËk???«sgÏž°Š­K—.–D `5šFDDD¤¬Ø¿ß•víÒíF‰Ëo핌Œ æÍ›Ç‰'èÞ½;ƒÌ¿O®X±‚½{÷ZvÍ«_¿>}úô±šöž[ZZ+W®ä?þ >>7774h@ÿþý©Q£†UÙ¢Ôþüy>ù䫸cccùè£óôù/¾øÂêwèsçÎ1jÔ(Ë‡Š“&M"((¨È÷.Ê3+ n¿=ƒ ˆŽv¦fMms-¥CÉ)iii–ב‘‘DFFXöÜ9ó‚pééW~Ø{{{[•¹úýÜçjU«Vµ¼vr²þ_"çWîØ®žXPl""""·²èhgËÞ¥ôôtvîÜiy¿víZ¦L™BFF€åûõë×3nÜ8.\¸`uýúõë™5kO?ýtžéê›7ofìØ±$$$X_½z53fÌ`Ù²e–DGQë¿:î´´4š7oÎÑ£G-Së×­[Ç}÷Ýg)³|ùrvìØ@½zõ,‰˜½wAϬ¬¨SÇœ€ùç'%c¤Ô(#¥¢N:ÄÇÇrÍi<5ÌC-Oœ8`ùoŽcÇŽ•Ø}Š£fÍš–˜""¬I /v½""""7«äd*dÛ;ŒR÷þûïB×®]ñòò¢Zµj:tˆ#F™iþCü¡‡¢wïÞÄÆÆòñÇsþüy>ÿüsªW¯nräÈžyæËúš5kòÔSOÀ©S§X¾|9©©æa‹S~\]]éÛ·/_~ù%K–,±JÆ,]ºÔòzàÀ%vïüžYYâímî÷IIZbUJ’1R*}ôQKö|ãÆüç?ÿáöÛo·œOIIáçŸ&**Ê2µ¨OŸ>lÚ´ €5kÖ°k×.Ú¶mKFFï¼óN‰Ý§8z÷îÍæÍ›øßÿþÇÖ­[éС/^ä½÷Þ+v½""""7+£ÑP.¶öíß¿?'N´:ö /X’íÛ·çÃ?´œsqq±ìþùÙgŸ1hÐ ³fͲ$b*T¨À’%K¨R¥Šåº'žxÂ2’äóÏ?/rý 嫯¾Âd2±iÓ&Μ9CÕªU9|ø0‡ÀÍÍ»w~Ϭ,qt4Ž7µ`Œ”%c¤X/^ÌŸþ™çxíÚµùæ›o9r$+V¬`ãÆ$$$ЪU+5jDÅŠ‰ŽŽæôéÓFzöìi™úÜsÏ1{ölŽ=JVVwÝuM›6%::šúõëçGqîSÏ=÷_|ñF:wîL³f͈‰‰)sÃ2EDDDÊ“üÖ&Ü»w¯åudd$¡¡¡–÷))W¶?sæ ‘‘‘Z­1صkW«D €Á`ÀÝݽØõ$00:°eËŒF#Ë—/ç©§žbÉ’%–2}úô¡B… %vï‚Ös‘ÂS2FŠ%::šèèè<Çsv"ruueÍš5Lž<™™3gÃáÇ-å*UªDŸ>}ø×¿þe9æééɺuëxâ‰'X¿~=™™™ìÛ·þýûóꫯZxñðð(ö}ŠÃÛÛ›õë×óÄOðÛo¿‘••e‰í½÷޳̿‘[‹¯¯ožc¹× Œ‰‰!&&¦Àë ¼æú‡%Qÿµ„††²eËÀ>žcÇŽñé§ŸZêoÖ¬-Z´(µ{‹Hñ(#…v#k®^7£0gÎêÖ­K—.]¨]»6Gåõ×_·”¹çž{ ÌÆæ>¶ÅÑÑñºí¬]»¶%6ggçz6""""rséÕ«ûöí`ÇŽŒ1‚&MšXΧ¥¥±~ýzbcci×®`ž ”sÍž={øê«¯:t¨åƒÁU«VQ¿~}êÕ«W¬ú¯ÅÑÑ‘˜×{ÉñøãßpÛD¤ä)#7•7òä“OR©R%êÕ«Grr2Ç'++ ???¦OŸnç(EDDD¤,£ÑHv¶y7 oooúôésÃm‘’§½ºä¦òÔSOqÿý÷“””ÄüaYÌ×ÛÛ›'Ÿ|’?ÿü³ÀÅ|EÄöfÌ8Ê’%§ìF‰(Km‘ãââÂ×_ÍóÏ?ŸŸìÛ·ØØX<==y衇6l˜ågggæÌ™Ãرc©^½:gϞ寿þ"--X6~(Ný×ãïïO·nݬŽ=òÈ#–Eƒo¤m"Rò &“ÉTÜ‹û÷ïÀ¢E‹J, €ÔÔTŽ?NJJ UªT!88ååæQÚßÿâââ¬v4¸–•+½=ÚŸððˆR‰åZš7ÿ‰æÍ+3~G›ß»¤•¥¶ØÚ§Ÿ¦fMy¤öõ K©®GXX½zîû†Ha¨_Iy¦þ/×ãïï——Wq/_¤iJrSòôô´Z}j‘Ìï¿ÇséR6·ßîC›6Uò­755‹uëN“NµjîÜ{ouŒFsçFТE%ºt©V`[Š{Ï´ÇÖJ«-11i,^Iv¶‰ÈÈTÂÂ[® ©EÍšž¥Þ6‘[‘’1""RlŸ}v˜æÍ+[%cÂÓ>|;'NXϱö÷wãÓOÛѪ•åØÙ³yá…]lÛvƪ¬»»&´ _?s½YYÙ„…âž{ªÆ”)ȽâÙ£òÎ;­¬êØ¿ÿýô„„\I6¸†ˆˆˆH¹§dŒˆˆ”˜+¢‰ŽN£U+¾þúnÜÝÍÓ’²²L<ÿü.V­Šfþü<ÿ|cÖ¬‰aÿþó<ð@M¦Liƒ££ÁRÏþýçé×o#sæ„óÉ'm-Ç.2cF{î¹§ºåXÇŽ~Œ÷¿ýkI&¬XE||:ù3kV{œÍ»±¥§gñÄ[HH¸Xè6öžÅiO~y¤6mÚø:>ŸÂO*¶Œ݈éÓS»¶'£G7*t,""""å™’1""RböìI`̘ƖD €““±c›°jU4üa.³eK<NÌœyÓåy3&˜L&*TpfÿþóVõ7iRÉ*‘X¦ÅÇ_™Ž´wï9FjdIÄ€yŠÍsÏ5ä©§¶ºM…½gqÚ“ŸÒÜ‘ÈÖm‘üÝP2&!!¨¨(^xá…’ŠG¤XŽ=JõêÕñöö¶w(RNìÛ·š5kÚ;Œ›Î… —¨]Û+ϹZµ<1 1Ñ\æÜ9ó¿ÿþd¡ë¯^=ïÔ+£o®Ž# À#Où¢®cRØ{§=ù)5crغ-""""’¿JÆ;vŒ¨¨(¦NZRñˆˆÜ2ÒÓÓíÂM§bEsR 22…Zµ¬!ÿü“ŠÉ•*¹X•}üñºT©â–o}nnù/lÑÑiøùYוZ¬: {ÏmOi®SX¥ùµ‘LÆ´o߀E‹•H0"Åe0xþùçùøã튔ýû÷·w7¥V­ª°xñ)>ýô0­Zùàînþ1c4šøè£ƒ´nmÞFùÎ;}Y´è$F£‰‘#âà`°ªëÌ™ NŸ.^ÂëöÛ}X²äÓ§aæÌö89™ë¾xÑÈÌ™G‹Û¼k*©ö”æš1…UÔ¶¸¸8XF<‰ˆˆˆÈõiÍ)1<Àôé‡Ù½;ûî[gµ›Rxx2+ºZ€Þ½k2wn ždóæx:tð£J’’29y2…;ÏòÿWŸ-®½ûPþqÔä“OñÛo±ôêµîònJÙlÚGZšƒá:•QIµ§4׌)¬¢¶¥N/¼ÀK/í¦V-O „„ÔÒÖÖ""""P2FDDJŒ»»_~Ùá÷sâD ó矰œóósãÓOï°Lrt4ðå—ø÷¿ÿ`ýúX-:iU—¿¿[±1žžN̜ٞ§ŸÞÆñãÉ?ž @Õªn¼öZs^zi7%û#°4ÛckEmËСÁüûß°|ù?–cíÚù*#"""R%cDD¤Øž{®~~ÖÓd‚ƒ½Yµê¶l‰çèÑ$ŒFAAÞtê䇫«£UÙÊ•]øüó;‰ˆHf÷îλ„ uêxѦMË–ÊNNŒݘ  ¼ çœ ¶^Àû¶Û*³n]Ö­;ÍéÓéT«æÎ=÷TgýúÓ@ÞÅl¯nKqîYØöØZi·%$¤6M›VbÇŽ3\¸‰Éy ¹žýûÏóÈ#¿1ztcFndïpnHYj‹ˆ”<%cDD¤Ø†oïqGG:ùÓ©“¡ê©WÏ›zõ Þ ÍÑÑPà/² O& Àƒ‡ªe9vþü%¦M;@›6U¬Ê_Ý–âÜ3ÇõÚck¶hKÆhذB±cɱ{wlâ…š0bDC{‡#R*”Œ‘2é·ßb™9ó(:T¥fMOââÒùí·8.\¸ÄwV¥Q£ŠöQDD®Ò¼yeÂñw%¢,µEDJž’1""R&Õ¯_‹¬\mu¼yóÊ|øa;E%""""ö@¬M™2ƒÁÀo¿ýV¬ë_yå þùgÉ&’cÊó64Å주òŠùzõQ)e;û³eËýLŸÞŽW^iÆë¯·`Þ¼Ž,]ÚŲˆ°ˆˆÜ\öï?Opð2ÂÂ[ÏÈ0vˆž=×Ò¤ÉrZ¶\ÁàÁ¿³ys|ž:L&X´è$ýûo¤E‹ŸhÚô'úôYÏwßÇdºRnÓ¦8‚ƒ—1gN8þyžÐÐÍ4o¾‚6m~aܸ?HL¼”§î .1aÂ>Ú·_IÓ¦?ñðÃX¿þ4K–œ"8x«VÅ\³-ŹgaÛck¥Õ–éÓ0`À&>þø ÁÁË,ÿDÊŒ‘2«Bgzö¬aï0DDädffóÄ[øã˱K—²Ù¶í Û·ŸaâÄ–„†ÖÌì»Ûjw7€Ã‡/ðæ›û8tèo¿}»Õ¹ýûùàƒ\º” @z:,[ITT* t²”»xÑÈ A¿sèÐ˱¿ÿNä™g¶Ó«WÍ"µ©°÷,N{òÓ°á…ËÜøúº²}{¯›¶-"e…FÆÜdÆŽ‹Éd¢K—.öE$cÇššªŠˆˆˆ |ûíqþø#5<øüóöüùçlÞ|£G7Â`0ðöÛû9s&€åËÿaùòhذ_~ÙÝ»{³ÿƒ,XЉÆ+òý÷'Ù»÷œUý?ýôýú²n]þþûA¾ÿ¾5jx°kW‚Uâå›oŽsèЂ‚¼ùöÛ»ùë¯ùí· \_~‰*R› {Ïâ´ÇÖJº-#F4dáBsç…šþˆåŸHY¢‘1"""""rÓZ¹Òœè »ƒ–-+àååÄèщÏ`ᓬ[Ë€uX¼øŽŽæÌ¹ËjJjÛ¶Uøøã¶ÜwßZÖ®=Íí·ûXÎÝ}·ÿýoKËûÖ­«ðôÓõyóÍ}>|ÆÍ ¾¯ZƒÁÓ§ßAýúæÝã<<mnÓ§O§aƸ¹¹ĤI“ÈÊʲ*söìY^~ùe4h€§§'ÕªU£[·n,Y²“='¡ÞJΜZµÀ×"#­ÏmÚNNp÷ÝpÕ³Ï#÷Z*_ Íš›ÂĉpUeÐ sù|ú¨å\®>jUÿŒШ¸»C‹p¹’š cÆ@æ{wìWõÑ׌ùç6Ìü,\\ Z5 …kôQ¦O‡† Í÷ ‚I“ò>§³gáå—¡Aðô4×Û­,Y‚]'J‹ˆˆˆMœ:•J¥J.–DLnݺU¿\&€cÇ’0Mt츊† ¤Aƒ©_õë/ã¾ûÖ“fUGûöUóÔ[«–'©©W~/9u*wK"&·Žý‹Ô¦ÂÞ³8í±µ²Ô[*w#c>ýôS¾úê+ËûÈÈHÞ|óM²³³™8qâ ×?eÊæÍ›gy¿ÿ~BBBØ´iãÆcË–-–s¿ÿþ;½zõ"""7·‚“þJ¶=..Ž ðóÏ?³~ýzÚ´±ÞdòäÉ,\¸ÐªŽñãÇsäȾýö[Ëñ^½z±k×.Ëû´´4âââØ°aû÷ï§Y³fÅ{åIÕª°htêýûÃæÍædÄéÓðØcæ$Í?˜“2…ñé§« o¾iNÆ”@eÊÈÕGÙ¿BB̉£qã Wå÷ß¡W/ˆˆ0'L râ´o¹ú(qq°`üü3¬_WõQ&O†\}”'`üx8rrõQzõ‚\}”´4sÝ6˜cW)ó †Â•ËÎ6Ps­õQ23­Ï¹ºæý|:ç~WîSPEý³°÷,N{òSškÆØº-"eE¹“cþüù„……CRRß}÷NNNL›6­DF‚,[¶ŒY³fOBB¯¾ú*YYYôîÝ›¸¸8Ö¬YCRRǧ{÷îÄÄİ`Á‚kÖ9fÌâããéÔ©»wï&55•Brr2Æ ËsÍ’%Køðɉ‰áܹsÌŸ?¾ûî;Ö­[@LL »ví¢qãÆìرƒÔÔTظq#ýúõÃÁ¡Üuâkß>üvî„^0î0À>æö^î£ÄĘ1ÃŽæz`ãFè×ÔGEDDʼÀ@OΟ¿Ä¾}y×Fùí·ØËe¼¨WÏww'öîícµÖHîÓ¦ÝQÌ8¼ˆM'<<9Ϲ¢LQ*ŠÒl­¥-ælNaH"·¢r72æ7Þ`Ô¨Q–÷?þ8?þø#‹/æŸþ¡víÚ7Tÿ„ xúé§-ï'MšÄìÙ³9sæ k×®¥U«Vx{{óÞ{ïѶm[:uêD§N"5 ¶mƒÏ>ƒ¿ÿ64y÷]èÚµhõ¼ñ†¹®??þ‹›§Ý`eÂÈÕG™4 fÏ6'ŽÖ®…Ë}ooxï=hÛ®ÑGIM…_??ót§Ë}”&Màûï¡eKóÔ¨£GÍSr<ÿ<äê£ F# lnk÷îP¥Šy*U»vp¹âáaNú¨Šˆˆ” ½zÕäÏ?Ï3fÌnÞ|³mÚø’’’ÉâŧX¸ð$..tï^ €þýÙ½{C†laÔ¨†´l郷·3ññ=šÄâŧxüñ :tÈ;µæzzö¬Î¾}ç1bÿýoKZ´¨Ì¹s™;7¢Ô’1%ÕžÒ\3¦°ŠÒ–Šصë,‰‰—¨TÉÅÎÑ‹”¼r—ŒÉo—¢   ’“óf¹‹êê$†ƒƒµjÕ"--Í’ˆÉ˜§ääÉ“deeѱcGK"&‡““={öäÀ„‡‡[%czöì™§®ûððp\]]™={6ÇgÿþýtéÒ…-ZйsgKlRD_|[·š1½zÁ¿ÿ]ô:òÛ¥èr¥úhž$†ƒƒy—´´+‰˜9ýà}”“'Í#k:v¼’ˆÉáä={šGÉ„‡['còé£\î£\ºšEÇ›§$uéb^ã¦sç+±‰ˆˆH™6xp«VE³gÏ9žzj[žóÿùÏmT­jžNÈÎ ,YrЧŸÞžo}=V§Xq RŸ~Šâðá <þøfËqƒî¿?€_ÆÉ©ó© ©4ÛckEiK:^øû»±mÛÚ´ùÅr^;*IYRîÆø»»»ç9f¸<©1÷4¥œ):W/ì žž^`ýù­ýb0 <^Ð= *{#rêÈ]Whh(QQQŒ?www~øáš4iBŸ>}HJJºá{–;»vAÔå­ +^ò$Ÿ>šïÄÛœ):ùõŸkôÑ|×~1 >^Ð= *{#rêÈ]Wh¨ù™Žo~6?ü`uÓ§y:•ØMff6¡¡›ùè£kŒœ’[Ú“OneÒ¤¿ì†•«cR?)ûœøæ›»=º1AAÞ8;;àééDûöUùê«„†Öµ”5`òäV„…ÝÁ]wùQ±¢ ÎÎÔªåÁ½÷VgÆŒöÜu—_±âpssä»ïîfàÀºT©âŠ««#ÍšUbÖ¬ö–E}+V,Ù¥Ù[+J[ LŸÞž6mªàîîhçÈEJG¹SX~~æo'Nœ°¼ó·;vì°YuêÔÁÉɉ͛7“””d5:Æh4²fÍ‚ƒƒ­®[½z5Ý»w·:ö믿P¯^=«ãÞÞÞ<ôÐC<ôÐC€yÑá-Z0iÒ$ÞÿýoS™uú´y˜ªUÍ#b^x†5¯Rrúå‰W^ƒy„‹ û(uê˜GÀlÞlNŽäc4š× ¸ª²zµy*Rn—û(WõQ¼½á¡‡ÌÿÀúbcáüyó"Á—û(—û(»v™^ºÔœtºtÉ\þrE}T€;Ïrøð{‡!åœú¡HùðÎ;ûY¾ü¢£ÓHOÏâС Œ½‹ƒ/Ю]U­m""…¦‘18p ãÇgË–-4nÜØr< €=zXF¤ØÂÔ©SÙ±c6l uëÖVç¼¼¼øâ‹/ò\ÂK/½ÄK/½duüñÇ·Œ˜1¬\¹’•+Wæ¹Þ`0Z‚­(ã^yÅ<2dòdóz&`N4ìÞm>×®Ü}wÉÞsà@óÔ-[Ì» å€=®ŒH±…©SÍ£q6l€«ú(^^æµt®bN$]ÕGyüñ+#fŒFX¹Òüïjƒy “ˆˆˆˆœ8‘ÂW_…ç9îááÈë¯kdœˆž’1psscõêÕ¼ôÒKlÞ¼'''ºwïÎÔ©Syíµ×Jýþ¹×u b÷îÝLœ8‘U«V‡ݺuc„ 4j”w¸æ+¯¼B‡˜6m§N" €'Ÿ|’W^yÅRæŽ;î`åʕ̙3‡Ý»wƒ¯¯/­[·f̘1tëÖ­ÔÛY&,[fýòàƒ0nÜ•ãÎΰh‘yQÜÇ3ñ÷/¹ûº¹™§ú¼ô’9äädNbL 6è£V뺙O'ªUæQ2>>Э›y÷¦|ú(¯¼:˜·ì>uÊœDzòIóñwÜaNÄÌ™c®?&|}Í Ÿ1cÌõËMÁh4ñÃ'Ù¼9žK—²¹ývžx¢^^yÌœ:•Ê¢E§8z4 £1›  /BBiܸ¢U¹øø K¹””LjÖôäî»ý¸çžê päH'îÃh4ñ÷߉„†^YLqüø{óÄ[hÓ¦ cÆ4.T|F£‰ß~‹ã÷ß㈌LÅÑÑ@ƒèÛ7ºu½,å23³-uÕˆyóN°}û ÜsOuBBj[ÚðÍ7>œ„——ýûæ;·ÿÂ…K,^ÉÞ½çHIÉÄßßž=«Ó­[õúº”–Â~ ÁܶeËþaÏž’“3©]Û‹{ï­ÎÝw_y…}î×s3öÃüž‰ˆÜº^½9>>®ìÞ}–Ó§ÓñòræŽ;ª0ztc4¨pý DD.3˜r¯Z[Dýû÷`Ñ¢E%Py÷ÆoðÖ[o±}ûvÚµkgïpnƒçŸž?þØÞ¡”}o¼o½Û·›Gü”S¥ýý/..Ž”””B•]¹Ò‹Ñ£ý (•X rñ¢‘¦M¢[·j€õëO[oÚ´‹wÆÙùÊŒØ_æÅw“™i½(´ƒƒñã[0x°yç°£G“xôѤ¤då¹ï£òÎ;­Ø½;6åÛ¼yiÙ²r‘ã{ì±MüñGBžú\\˜6íKräJÛ«sñ¢‘-[¬·4>¼?\›ÇßÌÙ³-Ç øòËtêt%1»wï9ž~zçÏ_Êsßþýëðî»·çÛÆÜÞyg?ÿxÝr9¦LiM×-×¼ùO4o^™ùó;ZŽökðÇ ¾ƒsç.rµW^iÆSOÕ ÿÜó‹éfï‡íÚùæ{®¤×#,,Ž^½ ÷}C¤0Ô¯¤dIƤ¤dñì³ÛIL¼ÄÃ×¢K—jT¬èBdd*s熳hÑIî¼Ó—¬Åµ>|;Ïúk–ž^¼Ey‹ò5LL¼Ä3ϘÛvÛm•é߿ի»Æš51$'gZê-êsÏÏÍÞEDDDrS2æ&ñì³Ï2kÖ,:vìˆINg) Ï> —û(;–ì”+¹¥999°`A'«é$ž ô;{öœ³üüã‘ddóŒöèÙ³Õ«{ðÉ'‡øþû“LœxNNæipS¦´¶Z qÀ€:$%™ÿˆ÷öv¦];_ ¨XÑ9Ï„‹EŠÌ#vì8ËÆ±¬^Í¥KÙ˜Làêê@tt±±éT«veûy''¾ÿ¾3µj™G™tîìOzº‘°°C88X¸°³¥-]»VãàÁDöïO$+Ë„““Œ$!á"cÇ6åÙg­¹îÕ+€ÎW±tiäu“1¯¾ÚÜò\ £F ÷ëÊGQ¾†Ë–E’˜x‰=jðÙgÖ£èBCëZ%cŠúÜós³öC‘ü(sñññ¡S§N̘1ÃÞ¡ˆäÏÇ:uõQÉ¥yóÊyÖõhÖ¬2çÏ_™ž’³ÓÌ€yê8°.Ÿ|rˆC‡-ï—-‹äé§·ñðõiÖ¬ VÀÕÕ±È[6>£ÑÄ /ìbófë)G¹%'gZ%š7¯dIÄähÔȼf@Ïž5,Ìçhܸ"ûö'..€þüóÿû_ [·Æ“3qØd‚œYÄÉ×m£­F`åk˜3m*g*ÒÕ¼½Í_Çâ<÷üÜìýPDDD$7%cn3gÎdæÌ™öC¤`3gšÿ‰\¥bż”:;›“Ù¹–ä¸xÑü¦R%×|ë0®”©[׋µkïå§Ÿ¢Øºõ _}NLLwßíÇË/7#8Ø»Äã[±"ŠÍ›ã/¦"0Ð' ß|ÁêÕ1\½ÊZÅŠy·0ÍIÀäμnIV–¹¢´4óè}ûο‹Ëõ§•Öš1W+Ê×0#ÃwåÊ×Þæµ8Ï=?7{?ÉMɱ ??7þúë<žVçöïOÄdÿ+£*Vtaðà Ëbªññ<ûìv† ù zàêêh)[ü¥è¯Ø·ÏªW7·wâÄÛÎŽ«G×äÇVkÆåk˜Ó¶Ý»Ï^sG$[?÷›½ŠˆˆHù dŒˆˆØD§Nþ|÷Ýq>øà T aCsò!:: þ¼\ƼÝñܹ4jTöí«Z®¯\Ù//'âã38y2Õr½§§QQ©dg›pp¸~⢠9k‚ìÙ“`I de™øì³ÃìÞw§Ÿ’гg ¾þ:‚åËÿaÊ”6Ô®}%9`4šøßÿb0¯ÿ¾­ÖŒ)Ê×ðž{ª3wn“' zu«­¬÷î=Ç™3ôèQÃæÏýfï‡"""R>(#""6ѵk5Ú·¯ÊöígxðÁõÔ©ã…³³ÉdffS¿~úõ3¯ã±qc,“&ý…§§µk{âââÈñãÉ$'gR¹²‹UÒ¢I“Jlß~†.]ÖàÁãÇ· (¨h[ véâÏôéG˜0a_~NåÊ®œ<™BRÒ%š6­Ä…ŸTXwÜáKÿþuX´è$ݺ­¡V-|}ÝHJÊ$**‹<óLz÷®yÍzlµfLQ¾†íÛW¥OŸšüüsÿú×üüܨ^݃˜˜4ΜÉà¹çÒ£G ›?w[÷Cí¨$"""ùq°w""R> 0kV{˺É>|£ÑD5øî»»qs3Où:4˜»îò#--‹C‡.°oß9’“3i×Η¹sïÂÝýÊÔqãšRµª11iìÚu–;Ïi”HŽÛnóa„¸»;™Ê¾}ç0`òäÖ´o_z;ä¼ývK^{­9~~nüóO{÷ž#""™ìl½zЧϵ1¶T”¯!À‡¶aÔ¨Fx{;ŸÁ¾}æ1mÚT¡gÏ€íŸûÍÞEÊ»øø ³cÇÙk¹ÕL¦âÏpîß¿?‹-*±€DŠÃ`0ðüóÏóñÇÛ;)'Jûû_\\)))…*»r¥£GûQ*±$;ÛÄ®] T®ìBƒò=çããBýúy×BIM×#ì IDATÍâøñd²³ÍÛçÞ68·´4#§N¥`2™× )h1X£ÑDxx2II™dg›hܸ"^^NÅŠ/==‹'R1 8Øgg"#S9}:-*ãîîxͶ'&^âÈ‘$êÔñÂßßÍêÜÉ“)ÄÅepÛm•­’`^oäÔ©λ„ 8;Û÷3“]»ÎâååœïèŽÂ~ áÊ×'#ÃH­Zøøä]<·0Ï=¿˜nö~h«]—‚ƒëѾý@zölÈc=†‹ËµN)Œààz„…ÅÑ«Wá~•„ýûÏóÈ#¿1ztcFnTà±ÂЉIcñâHî¼³*mÛV)¥Œ²Gÿ—[‹¿¿?^^E‰Ë"MS‘bqp0Ю]þ#®uÌëk4o^ùº÷ððp,Ô4GGƒeíŽÜŠŸ»»MšXß³vmO«))׺¾R%—ÏÕ©ãE:ùÿÐ6rÎç{Ú.Ú¶½ñ¯!üõÉ­0Ï=¿˜n…~hÙ¸¹y3yòdf͚Ř1cèÛ·/-·>wFn|ÍÿŸ “NXØ! JÆHe’™yÑÞAHvCɘíÛ·…Á …êÄþ¦NÊÔ©S톔#5kÞ<ÓGD¤¼s $ä-Þyg(Ÿ}öÿùϘ7oãǧuëÖöN䆸ù¹yDŒÈ[ÁøñOò×_3pà@‚ƒƒí”17”Œ©_¿>îîîôîÝ»¤â)–©S§Ò´iSî½÷^{‡"åÄ/¿ü¢dŒˆÜtüüüxóÍ72dï¾û. à±ÇãÕW_ÅÓÓóúˆÜ„âã3X¸ð$íÚùZŽÉÌÌfóæx"#S1™LzÒ¡ƒŸeè®] ,Yr €mÛÎXíN—;¹c4šØ¶í GŽ$‘••Mݺ^tîìoµuý©S©,_þÏÿ³wßñ5_ÿÇ_ÙK&Ù;’ ˆ ©Y#EÐR´fÓ¢ÃÒªQ뫵ª‚*ÕÖLµˆ©ÕRR±CÅÎBÄŠ’!¹÷þþ¸råfÞDâ&œçãáQù|Î=Ÿ÷9ŸãÓ|Î=ƒ×_·¦Y3sŽ¿ÇÙ³ÐÓÓäõ×­Kõ(ÔfíèÒåSÜÀúõë騱#£GÆÇÇGÝ /‰çꌩ[·.uëÖëtjÂo¼!Ú¢ðÂܸqCÝ!‚ ”ÊÍÍŸ~ú‰ˆˆfϞ͡C‡øöÛoiÕª•ºC„ KI‘O5*qq´n]O±sZ›6–O–ÿ¸y3‹#ŽpãFM›Z0th}‚ƒ=hÓÆ’Û·³ùàƒ£ü°mÛZ!‘Ș1ã ™™bµ—‘††:ubóæÍlذ‡Ò»wo¦M›FFF†ºÃj1±€¯ ‚ ÂK¬nݺ¬X±‚µkײ`Ábbbøî»ï000Pwh‚Piii¹¸ºÖaûöŽhjj(OK{@«VuÑЀ°°$üü,ùøcå‘ «VÅ‘‘‘ǬYMy÷]7¥sk×&2gÎYvìHfð`WÅñ¼<)»wwÆÁÁPqìË/O–ÄÉ“÷éÔɦ:Š+Ô~~~„‡‡³cÇæÍ›Ç?ÿüÃìÙ³éÒ¥‹ºCj!12FAá%§¡¡Áˆ# %::šwß}—ÔÔÔò?(5T·nvÜ¾ÍæÍIܽûlª’……îîÆ*åqäH*ZZ¤¥=aùòX¾ÿþ2Ë–Éÿܹ“ È·Õ.¬_?'¥Ž€ä0))ÙÏS$¡–ÐÐÐ ((ˆ½{÷Ò©S'ÆŒÃĉÉÉÉ)ÿÂPˆ#‚ ‚ðŠhÑ¢aaa3hÐ BCC±±ßä µÏ¸q^89±m[2sæœÅÐP›æÍÍ r"0Ð^¥<ÒÒž ‘ÈX²äR©iŠN=²µ->¢ÌÐP¾Ðo~¾˜ø*111aΜ9´k׎/¿ü’„„V¬X­­­ºCj Ñ#‚ ‚ð qvvæ·ß~cÈ!¼û††Š—¡ÖÑÔÔàí·yûmg¤R×®=âÀ>ûì$.<äóÏ•›‡‰‰6OžHùàRÓ¨:ÊFxuuïÞ///ÆŒÃÛo¿Í/¿ü‚§§ØŠ](Ÿ˜¦TM6mÚD‡8s挺Cyn/SY^›Nn¢ÃœI®ý÷ìe*‹ BMQ¯^=BCCÑÓÓcĈ¤§§«;$A¨î(¶ªÖÔÔÀÍ͘#êccc¨ØÎ@OOþºóðan±<üý­ÈÎÎÇÙÙˆ±c=‹ýéÚÕ–¦MÍ_L„ZÍÙÙ™M›6áêêÊ Aƒ8}ú´ºCj12¦š$''ÉÇÕŠJ6lØÀ/¿ü²eËhÒ¤‰Ò¹ÚV’Ó’‰Œ‹äaVí¸gŽnà—¨_X6xMì‹´¿ZVA„Ú¢nݺ¬Y³†·ß~›1cưvíZtuuÕ– ¨äãcn®‹O]ÈË“rìX*7n<ÆÓÓT‘ÎÑÑMM ¶lI"?_†¹¹ ßÚz̘ìÙs‹ ¢Y³&¦MÍ16Ö!55—¸¸ Î{ÀêÕþØÛ–† (³fÍ>ýôSÞÿ}6lØ@ãÆÕ–Pƒ‰Î˜jòÎ;ïвeKš5k¦îPT’””Dddd‰ßŒÕ¶²ðN«whéÒ’f޵ãž%¥%Izv í¯–•E¡6±¶¶æçŸæwÞá믿fÖ¬YêITÒ©“ ÿ}›Ý»o*wp0â›oš+~63Ó¥_?'Â’ذáŠâøØ±ž88±aC;&Lˆæüù‡œ?¯üÅ——©èˆ*DGG‡¥K—2zôh†ÎÖ­[qvvVwXB %:cª‰££#ŽŽŽê£J¼LeyU8Z8âhñrܳ—©,ÂËíäÉ{¬\GllééyØÛо½5cÆ4Ä̬øhƒš–^xu5lØyóæñÉ'ŸÐ¢E z÷î­î„W˜µµcÇzáë[¯ÌcßïKjjÑÑ÷IN~Œ¡¡6®®uðó³TÚê`î\z÷väâŇdeåÏÎ{{›²kWgNŸ¾ÏùóÉΖ`cc@Æ&xy=aãì\‡±c½hÞ¼n±˜ νöšYÖ„P[éêêòÃ?0pà@FEXXuêÔQwXB ¤!“É*½ìwÿþýزeËs‘ÍŠ+ˆŒŒD&“ÀÇÌÒ¥KÙ³gÛ·oÇÔÔTé3ÿüóaaa\½zZ¶lɨQ£°¶¶V¤Yµj7näçŸ&//åË—“€µµ5ǧcÇŽ%ÆSѼ³³³YµjqqqôéÓ‡1cưiÓ&V¬XAHHH±%‘‘‘lݺ•ÄÄD ñññaÔ¨QXXX”[W‰„ßÿ={ö’’‚……:ubèСèëë—_ff&+W®$)) ;;;FŽI»víi'L˜@xx8×®]£Y³fŠºnÖ¬!!!¥–¥2±Tä>T„††ãÆcñâÅþlv^6+® 262<ø¸ãÇ,Ý¿”=ç÷°ý“í˜i—ÿ!ìTWï]EGK‡–Î-Õ~Ö&…ÚÈ¿«Øx|#?û™Œé0†M'7±âà B†QÉÖS[ILMÄP×'Fµ……‘ íO*á÷“¿³çüR2R°0² “g'†ú E_§Ð=/_fN&+#W’t? ;3;F¶I;÷BíoóÂO‡síþ5š96SÔu3Çf„ )µ,•‰¥"÷¡K—¦¨Ús£$³fÍbÛ¶mìÝ»++«*ŒN¨­ª¢] Bmõ¼íÿÎ;ôíÛ–/_^ÅÑ 5µµõót´mQûȘôôtÚ·oOLLŒâXDD[¶l¡~ýúDFF’—÷lK9©Tʈ#X¿~½R>,]º”¿þú ®\¹Bdd$þù'S§N%++K‘~Æ lÚ´IñBUټØ9s&¹¹òEÁ5’¯Ü^Ò:+‰„áǪ”XXóæÍ#-- --­RëêñãÇtïÞ¨¨(¥ã›6mâûï¿gß¾}Š_ž âÛ²e 3gÎäÉ“'ŠôkÖ¬aÙ²e|òÉ'ÄÄÄpíÚ5€é-©,•‰EÕûð"¥g§Ó~a{b’ µ¿˜¶Do¡¾e}"ã"É“j2)#ÖŒ`ýÑ"m$&‚¥ÿ,å¯ñáãô´¤^!2.’?ÏþÉÔ?¦’õ¤P¹m`Ó‡›èß²ÿsåv*Œ™;f’›ÿ´ýÙ=m%¬³"‘J¾f8¡ÇŠ´¿SaÌÛ3´4´4Ëh¹éÒ¨„"÷üä&¾ÿç{öM؇•±•R|[¢·03b&Oò µ¿ÃkX6hŸtzÚþnÄpíþ5€é-©,•‰EÕû %‘ÈX¸ðï¿ïÎÈ‘˜šêpéR:Ó¦ýGllk×&0aB£™^ Lž<™Ã‡3mÚ4V­Z¥îpAj5/^ÌСCÙºu+o½õ–ºCjµï¦4yòdbbbpttdÙ²eìܹ“ï¾ûŽëׯ³uëÖbé,XÀúõëqsscáÂ…üùçŸlݺ•Q£FñàÁŒT*Uṳ́I“èÞ½;7ndÇŽ#“ɘÙApÀÓr‡O~î¼§oŸN·FÝ åÀÄ|ܱŒö·s¡ÇB1Ô5db·‰lµ™­c¶2%p ÚšÚÈ(§ýý1…¨„(,-ù¶ÿ·ì»“åï.ǵž+çnžcô†ÚߎtkÔl$ü£p>|ýiûÛ4žØ;OÛ_ÿEŒl÷´ý Zʉ80ñ!Ëh•ˆEÕû •ššÃÇO¨_ߘɓ›`m­¾¾Í›[0}zSâã3klzA( ««Ë¬Y³8pàû÷ïWw8‚ µ^›6m6lÿûßÿ¸s玺ÃjµŽŒÉÏÏgýúõsôèQìíí ¤gÏžÅvõ‘Éd|÷ÝwØØØ¹ù³­æúõ뇹¹9óæÍãØ±cøûû+Î 2„ŸþYñs¯^½ˆ'22’»wïbeeU鼃‚‚T𦠕JYºt):::¼HùÒ|Ö]±¾1G'ÅÞìiûkHϦ=i2£„ö÷÷wؘÚ=-sÃBmħæ†æÌÛ=cWŽá_¿Pûk3„Ÿ‡*wÓ^ħÄÉÝÌ»X[U:ï fAl­Bû“IYº):Z:üü ­\ µ?Ÿ~Lê> mÍ2ÚŸ4ŸÕQ«Ñ×Ñ'jR ¬ Ýó–ïàù•'ÛÎl#%#Ei:UÏ×zþQ¡ö×¼/¶¦¶ÌŠ˜ÅÚ#k™Ûo.M›âZïiûsj®4…©*cQå>“›+¡Q£tébË´i¯ñõ×g9v쉔–-ëñùç”æÛض-™ÐÐDââ2JÁÍ­o¿íÌ{ï¹)æùÎû«¯^cþüó9’ÊÇOX·®ÆÉGE9’Š»ûмý5@iMÁÜ\--2ÓXY=›:WÓÒ Ba~~~²`Á:tèPæˆ]A¡|'Ndß¾},\¸E‹©;¡QëȘ+W®ðøñcºvíªèˆ)àááAÛ¶m•Ž]½z•ÔÔT$ ýû÷§K—.tîÜ™N:Ñ©S'þüóO._¾¬ô¹Áƒ»vÁt£û÷ï?WÞC‡U¹¬iiitèÐA©#¦€‰‰I¹Ÿôè;vTêüùÖ”o¿ý62™Œ³gÏ*+ñRÒ±¢iUUÙXT¹/Ò•Ô+<Î}LWï®ŠŽ˜V´u/Òþî]%53‰TBÿ•ýéò]:/êL§Eè´¨ž}ÚFni¾%”Ûùi¹Ý®¼‡ú©ØþR¯ö8 ;(uÄ01(§ý¥^áQî#:6ì¨ÔùP·N]Þnñôžß(ÒþÚ•Ðþž+šVU•E•û TNzzï¼Éßß&33¬, ÿþ›Â;ïDré’òYóægâÄhΜy@V–„œ /¦3{öY&Lˆ.!ï' É®]7yøP>ÝM*­ôRg …»û*ÿIL,‰žž¸˜˜É¼yçIIÉ!'GÂÿ¥1{v ÚÚ èZcÓ BQãÇ'))IéËA¡rôôô˜4i;vìPZšCÔ:2&;;3³’W/<:P,f™ššZæðÙÂk’%.Œ««+ßIB"‘^®@Iu[¶ ¦‹*÷áEÊ~ò´ý–Òþ ‹´¿Ü§m$3•ý—Êh#OŠ´¿ÆÕÕzZn©ä¹òv0W±ýå=mu*ÙþòžÞóRù-8^®@Iu[¶ ¦‹*÷A¨œ“'ïѬ™9?üàKƒ¦Üº•Åâŗسç&³fÅðûï¯páÂC~þ9}}-&MjL÷îvèèh™Âÿþw–ˆˆ¼ù¦]ºØÊû>Í›[°|y<=MÐ×—KŸÐ·F-à;sfSÌÍuÙ°á ?ÿ¯8Þ¨‘k×¶ÅÛÛ´F§„Â\\\xë­·øñÇyë­·ÐÔTû¬vA„Z­{÷î´hÑ‚%K–°zõju‡#Ôj팱³³à¿ÿŠïø •J‹õÚÛÛ£¡¡A«V­˜?~©ùzxxT8–Êæ­¡QöPð¢ùŸ8q‚¼¼]lÚQtt´"¦¢åPes­ÊÆRÓØ™=m×Kh2)17Š´?³§mÄ¥óß*£XW¢ýU2o•ÛßÓüO\=Až$­ ¶?Ó§÷<éR™M"÷üÚÓ{nV¤ý%.6í(úZ´"&E9¨@û«d,Bõ14ÔâÇý»óÔ¯oLHH+Þ|3ƒèèûÜ»—K½zzìÞ} €O>iÈ!nŠÏ9¢©©Áøñ'Ù¹ó†RgŒ<ï6XXTÍÎ?ÕÕqsãF11xü8¿Øñ£GSiÕªžÒÔ¡š–^Š fË–-M\\þþþtèÐAñÇÙÙ¹ÒÛ1VgÞ @bb"ÁÁÁ¤¥¥)Î=zôˆ¯¿þºØâÀ…YZZâããÃåË—ùòË/;LÉd2–.]Êßÿ M›6UúÜœ9s/IIIŒ;€®]»*ŽlÉ•˜XþÖ¸•¥¦±4¶¤©cSN_?ÍÜ]s‹ãæKó™úÇTîiuêÒ¾A{N'&.%ÿúþthØAñǹ®3{/ì­ÔÚ#Õ™7ÈG…x˜šHðº`Òj¹øzç×Å.ÌÒØ'.߹̗[¿Tì0%“ÉXº)_üSš:i;ç(:_’î'1ö·§íÏ»PûÓÚþRUh•ŒE¨>ÞÞfŶIÖÖÖÀÏÏ€¤$ùȯk×äS~:u²¥¨Nlž¦}\,ïªêˆ©.å3hпœ|˜{÷î©;A„ZOCCƒ²k×®bK_¯&µwÆôêÕ‹uëÖaaaÁÝ»w9yò$R©”ÐÐPÅ4š‚Q7æøñãòøñcbbb8~ü8)))xxx0þ|Å:$Uyƒ¼ÃãСC´mÛ–œœ.\¸ÀÙ³gÑ××gÚ´iåîXйsg"""pww'--“'O’’’‚6l`È!Å>³dÉ‚‚‚ˆåìÙ³‰‰‰äææ*ÿ-­,ªÆR™ûð" õÊÀV9ëiû³õF*“2î÷q¸Ôu)¶¾JC›†ì»“ôìtî& •Iq©ë‚¥q‘6òú‡toÜw«Êýô\Á–ÎU™7À;­Þ¡¥KKš9iN>DMŠ"%#…«÷®bj`Š»•»ÊkÈ6 $°I wHÉHÁÂÈO›2ÚŸ¾1á…sóáM®ß¿Ž½¹=N¥´¿k˜ÿö|ï&’›Ÿ«Xü·´²¨KeîƒP1YYF:ÊW_½Fƒ&ܺ•ÍâÅIL̤e˺ԫ'ŸfÔ£‡+WƲlY,FF:tëf‡ŽŽÿþ{—Ù³åk4ª¶(5ÈGÍÄÇgpýúc Ûb—¥:ÖŒñö–·Õ ®àìlD×®vÔ©£ÍµkY²ä™™yxzš*Öh©ié¡4zzztìØ‘¿ÿþ»Ö|É"‚P“™™™Àž={èÓ§ºÃÔ¬FtÆ,^¼˜àà`Å6Ç|üñǤ¤¤0jÔ¨R?gjjJ‹-J=ïææ†››[…Ï=oÞŽŽŽ8::–zÞÚÚkkëRÏ—ÇÝݽԎ ’ØÛÛÛ>¼$VVVÅÖÅ)¯,åÅò<÷áEXü÷b‚‚ñqzÚþ²3øxãǤd¤0ª}íÏÀ”Îe´K7Ü,K)wçž7oG G-Êh&ÖX›Ã†Õ¯•é¡4vvvØÙÙS¡Î˜Ÿþ™yóæñ믿âë[3þ–æÂ… ìß¿ŸþùG1eþÂ… è镾“[XXëׯ'11Ú´iÃçŸ޳³s•¤Ô#66ƒY³b0À…>}J•û¢¬_ŸÈ×_Ÿ+¶Æ×š5‰|ú©'Ÿ~êY£Ó %svvÆÊʪÂ1â¹ú|ék¢Ñ3sæL¦M›Æµk×HMMÅÎήVUbMTÞš6Â33{ÏdZÏi\»wÔÌTìÌìp®+Úßó(oMA¡öðôôäòåËê£Z$&&T¡Ï|÷ÝwüðÊŸsssÙ³gG%,,¬Ø‰M/¨Off'NÜ£m[«òW³Û·³o½åLçÎ6hii•Bhè–.½D×®vŠ)5-½P6ooo¥/ñ\UÚwS* ­­»»;~~~¢#¦ ¸¹¹Ñ¡C¥¨„ÒikjãnåŽ_}?ÑSÜ,ÝèаƒÒNT‚ BíäååUáΘàà`jü··x{{óé§ŸòÇ”û%VBB+W®DWW— pîÜ9þý÷_ºuëFzz:ÿûßÿž+½ ˆŽ¾D"ã7l™?߇®]íèÜÙ†3šòÎ;.ÈdpüxjM/”ÍËË«Â1â¹Z¹ô5Y#‚ ‚ ÔL®®®$''#“ÉJÝ=¯¶rsscÇŽŠŸË+ßÖ­[‘J¥Œ5Š~ýú```Àwß}GÇŽ9tèwîÜÁÆÆ¦R鈉Icþü Z Ö¯OäÒ¥t µéÒÅ–Þ½)é68q?ÿ¼Aròctu5iÒÄœ];úÍ»U«º„†^áÂ…t¬¬ôhÙ²¿üÀ–-I>|Wñ¹ª½ÜEhàì\ü‹-—:Jijbz¡l...ܸqCÝaT ñ\UèŒA*E•u]A¨ý¬­­yòä >`ÕªUüý÷ߤ¤¤`dd„»»;ï½÷ݺuSüÒ]tmƒsçÎÑ·oéÏ‹zõêqìØ1ÅÏ?æ§Ÿ~b÷îÝܸqmmmš4iÂèÑ£i׮귨WÕ‰'èÝ»·Òq===zôèÁºuë8qâ„â|EÓƒü[ß pâÄ d2­ZµbòäÉüøã„‡‡sòäIÌÍ_ÞE¸ÓÓåS…š41cöìîÞÍQœÛ½û&ûöÝféÒÖJ2ß|sŽÕ«”òÙ¿ÿkÖ$òÓO~øøX(åýÚkæJy{{›bkkÈ¥Kéܸñ˜7«ó!QÅÖQ)™™.?üPþȆ֭ëajªKDD2ƒ»âäd@JJ›7'¡¯¯Åë¯ÛÔØôBÙlllÈÉÉááÇÈd2ñ\åÕ|®ŠÎAA¡TÖÖÖܹs‡©S§röìYŹììlîݻDZcÇØµk 4¨Ô5¼½½OOOgàÀÄÇÇ+ŽåæærìØ1Ž?ηß~«X ::šª|7ß|“%K–T*F€¤¤$tuuqqq)vÎÓÓS‘¦²ééß¿?™™™ŠcäÌ™34nüjmI¿n]"®®ÆŒ祥.<ä§ŸâÙ½û&aaIôï/ŸVþ×_·X½:mmùÂå­[[’™™GXXÇŽ¥òÉ'Ç9p +zzÏFm¬]›€««1cÇzáäd„‰‰ææºk3{öYú÷¯Ø¾'NÜS¹3¦ðH²˜˜è°r¥/&œâ7þ¦A44 !!–-kµµ~M/”­`ÔÆ;w˜2eŠx®¾¢ÏUÑ#‚ ‚ ”ÊÔT¾E}rr2gÏž¥~ýú,X°€ ››K||<ëÖ­CS³ô¥›4iBBBB±ãK–,áÈ‘#,_¾\qlÞ¼yÄÇÇÓ­[7F»»;¹¹¹DEE1cÆ fÏžM×®]100¨ú–ãÑ£G˜™™•8ì¾ ž ÿÂ_ÑôsçÎ%33“Ž;òùçŸãèèÈÕ«Wùæ›oˆŠŠªêâÔh––ú„‡wPL}éØÑ†–-ëòÞ{QlÚtUÑóûïט7¯…RJP#C‡Fqôh*û÷ß!0Ð^qÎÊÊ€ððö(¿ y{›àà`ˆ¯o=•cݰ¡2ÕúbÐÑQ}ÉNGG#Ú··fÓ¦kŠQ;mÛZ)¦ÕäôBéLLä _¿~]++‹C‡aggÇ÷߯ØÖÛÛ›+VЩS'@VV>ÁÁ4on––çÎ=`íÚDöï¿ÍÖ­¨_߸F¦ÊVðÌÏÕ²½ìÏÕçz ÅÅÅ££êÃø¡º¬ZµŠ°°0u‡!¼"îß¿‡‡‡ºÃA¨v1yyy|óÍ7LŸ>ØØX|}}ñôô¤uëÖØÛÛ—“‹²5kÖ°k×.6lØ ´ócrr2999$$$(†›Ëd2Å/Øÿ½uëVU­ÂêÔ©CFFF‰‹gdd`ll\©ô7nÜ@"‘ЪU+Å Ccccš7oÎ?ÿüSåeª©LLtK])ŸŠ¦Ÿ2e §Nbÿþýìß¿_qÜÌÌ Ž9‚¶ö«ñë{ß¾Ntê”ǪUq¤¤äàâR‡… [àäd¤Hgi©Ïo¿½ÎÔ©ÿqâÄ=.^”ïòc` Í°aõ?ÞKåkêëk1eJcæÌ9G\\FÕ¨‚ÜÜŒY¿¾³gÇpþüC¥Ý‹ÜÝ™6í5š65¯±é…²‰çªx®‚èŒAj¡eË.ãà`Hß¾N꥘~¸L“&æj팩Éõ#Ô>Ê×Ýhݺ5¿üò aaaœ;wŽ»wïbnnNãÆ>|8~~~¥æ[æZ…™šš*†Ýïܹ“+W® “ɰ··§E‹ 0 ØBŒ/ÒgŸ}†££#ëׯçÊ•+ЦM&Nœˆ‹‹Ës¥¯_¿>›7oæÛo¿åøñã´lÙ’)S¦ðÕW_¡¥¥¥˜Öð*7΋‘#ݹz5CCmÜÝMJ\¨×Õµ7ššÃYèêjâînŒžžònL¯½fί¿àì\zäJP‰‰dgKTž~T||,ض­#©©9ܼ™L&ÃÖÖ›’·®ié…ÒŒÈðõõÏU^Ý窆ì9ºÀ ÖLkÆꦡ¡Á¸qãÄš1 SÝÏ¿””ÅÖòìÚU‡±c­IHH¬–Xj¢† ·áë[õëÛ©;”bš4ÙA“&æåk¯N5¹~„êáî^Ÿ¥KS Tí¹Q¿ýöóæÍSûÜúWÙ;wxã7prrbçÎ/ìºÕÙ®Jóï¿)Œy„©S›0b„û »® Uíÿ×_eÑ¢Eœ>}ºÊóTSÏUkkk•X.ÅÕVAA^IW¯^ÅÍÍMÝa¼2>úè#¢¢¢HKK###ƒÃ‡óÁM÷îÝÕž UàêÕ«ÅvªOM}®¾ÐiJß|ó vvv >üE^¶Z¼Le©ŒÚXþo¾9ŽÇ7Vw(Ïíe*Ke¼êå¯)$Ë—ÇâæV‡ž=¸t)cÇR‘J¡eËºÅæŽMŸ˜˜É‘#©E]º”ÎéÓ÷ÉÌÌÃÉ©þþ–Š… Ç_‘<ÕAÕú²Ë\Ñ{+¼ÜDgÌ‹uèÐ!Åâ…Õ¯_Ÿ÷ß_  ‚PÕ®\¹BýúbÁ㥦>W_xgLË–-kÕ |i^¦²”föìÙ¸¸¸0tèÐbçjcù¿ùæ-[Ú¼/ð/SYJ3{öQ\\L:´Q±s¯Bùkƒü|)K—^¢K[._NgåÊ8¥óAAŽ,XÐ--béãã3X¾Ë–ùâãcÁ­[Ù,]*ßBóÆ,Åß|}ëáà`DBBf¹ùHMÍa„hŽIUJkd¤Íüù>tïnP¡<+â?®“œœ¥rú!CÜÛ¶–D•úQ¥Ì½·ÂËíòåË W_hgÌ”)S°³³{‘—¬6/SYJ3{öl:tèPbgLm,ÿ”)m°³{9þÇþ2•¥4³g¡CÇ;c^…ò×&§O§±oßmÚ··ÆÃÄ۷³Ù»÷&Û·'ãâR‡O?õTJÿßòôVxy™¡¯¯…D"åý÷pófvv†´ooŽŽ&‡ß%11“>8Êîݱ³3`ìX/–-»„½½!ýú=[$×ÞÞ€ìì|•ò±²Ò'?_ÆÈ‘G¸t)##m:u²ÁÖÖ›7³8|ø./¦Ó½»}…ò¬¨?þ¸^¬S¤,o¾i_fgLyõ£j™ TôÞ /Ÿk×®qûömZ·n­îP^þþþøûû«; µ13ÓÅ×·ê·Š„š"..ŽÔÔÔWúßù‹VSŸ«/¼3æeñ2•¥2jcù§LñUwUæe*Ke¼êå¯iÒÒrY° ýú=Û¹'&Æ"Y³&>j¨4‚âþý\-jIP£âØæÍIܼ™…ëÖµÃÀ@>õ'?_Ƹq'Ù³ç&7^eÜ8/ÆŽõdùòË891v¬rg@EòÙ¹ó—.¥ãáaBhh;êÖ}¶‹ÀãÇù\¿.ßv2"â¦ÊyVTß¾N´l©úK‡…EÙ;ØÙ–Y?Û·'«Tæ½·ÂËçÈ‘#Ñ´iSu‡"‚ðR8|ø0fffxyUü÷áåR#ÖŒÉÏÏgÿþýœ?‰D‚§§']»vE_¿äoO:ÅÑ£GÉÈÈÀÞÞž=z`ee¥”ßœ9sðôôdàÀ\¾|™¿þú‹ÜÜ\üüüh×®äÝ%233‰ˆˆ )) úôéƒD"!$$„Ö­[XjY*{MUÊSUê¯h|gΜáàÁƒH$Úµk‡¯ï³—Ûëׯ³zõj¤R)W®\aæÌ™ŠsÇÇÅÅå¹îåóÔÕó(m‘ü|)û÷_çüù{H$R<=ëÒµ«3úú%ÿó8u*…£Go‘‘ñ{û:ôèን•¡R~sæÃÓÓ‚=¹|9¿þºFn®??;Úµ³/1ßÌÌ'DD$’””ƒƒ1}ú¸#‘È 9EëÖ6>›¯_´,•½¦*å)*õW4¾3gîrð`2‰ŒvíìñõµU¤½~=ƒÕ«Ï#•ʸr%™3(Î ÞÓ纗ÏSWBÉ\\ê(½¬4mjÎoزgÏ-âã3ðô4Uœsu­£Ôpúô}þïÿ¼ÚÚLœèÍž=79uê~¹±T$ŸcÇä#R&Mj¤Ô)ò);^^¦U[I^ôÖÓª–¹@Eï­ðò9rä¾¾¾hk¿Ð_A^ZQQQøûû£©)öÒyÕ©}͘‹/Ò·o_ââ”ç£ÛÛÛ³yóf¥áD))) <˜þùG)­¡¡!ßÿ=#FŒä/û³fÍ"((ˆ¤¤$&OžLἃƒƒùé§Ÿ”òˆŽŽ¦W¯^ܹsGqÌÖÖ–ü‘Y³fññÇëŒ)\–Ê\SÕò”EÕú+ßÙ³g™;w®Rú÷Þ{5kÖ ­­Íõë×™5k _´¯àï:tPtÆTö^V¦®ªBIëŒ\¼xŸ¾}·÷ HÌuؼ¹7þþϦb¥¤d1xðŸüóÏu¥´††:|ÿ}gFŒxÖ12kÖ‚‚ÜIJÊ`òä)¼|pp~ú©›RÑÑwèÕëîÜyö­´­­?þØ•Y³ŽðñÇÍ‹tÆ(—¥2×Tµ"&((ˆ;wîРAºvíJ~~>{÷î%88¸BeRõš•)ÏóÔ_#Gް}ûvE|ÉÉÉ„‡‡Ї‡Ó§OÇÉɉ3f”¸€¯‹‹K•Å¢j]U—¬¬<·’””““ =z¸¢««Å¾}I\ºtŸž=ùpa¶¶FH$2zö ':ú..¦tëæ‚¹¹>‰‰Ù¾=àà½xyÕ¥M›Âå»EDD"=z¸Ñ¨Q]nÞ|Ä–-±üüó9ô¢sgù·Í™™O ÚÆ;iÐÀœ®]]ÈÏ—²wï5‚ƒ÷V¨Lª^³2åyžú+päÈ-¶oO GW5ªGrr&ááq„†^ÄÃÜéÓýpr2fÆ fÏ>‚‹‹©Òš1..&U‹ªu%”ïÆ’;’“å‹&&:JÇKšÖbj*ï`¸~ýŽŽÊÉÉ‘É(¶»QI*’OÁ¯\ÉÄÉ©ô5ˆª*¶’Tõš1åQµÌ*zo…—ËîÝ»ÉÍÍåÍ7ßTw(‚ /…ððpôõõéÚµ«ºCjµvÆlܸ‘¤¤$üýýù믿02’ÿb˜——Ç AƒØºu++V¬`öìÙ„‡‡Í AƒØ°aZZφŠGGGãççGHH¿ÿþ»âøÝ»wùã? RëÖ­Æ c×®]Š—ýß~û[·nѽ{w¶oߎ®®ü—Õ¬¬,Þxã îÞ½«r™T½feÊó<õW 55•µk×2lØ0űãÇÓ®];/^Ì”)SprrbæÌ™Ì™3777¥iJU‹ªuU]6n¼LRRþþvüõWŒŒtžÆ,eР?Ùº5Ž+Î0{v[ÂÃ㈎¾Ã AžlØð¦ÒËdtôüü6rŠßïY¨|YüñG‚‚Ü •Ï…aÃv³k×ÅËþo¿]æÖ­GtïîÊöí}ÐÕ•·…¬¬<Þxc wïªþ­¹ª×¬Lyž§þ ¤¦f±vm† {ÖÁrüømÚµûÅ‹£™2Å''fÎôgΜ£¸¹™2sfù‹mU&UëJ(ßµk¿^d]‘üý÷mLLtðð(¹­0Ÿº„…%±lÙe||,00ÿïI"‘ñÝwhÑ¢®"½®®f‰£Q*’ŸŸ%[¶$±páš6µPêä(X?ÅË˴±UDU¯S ´úQµÌªâÞ µ×–-[èܹ3•Û-LAPFŸ>}000Pw(B  ÖΘ#GäÓfÍš¥xyÐÑÑaîܹlݺ•ǰoß>êÔ©ÃܹsÓZd22™ 333¢££•òoÞ¼¹Ò‹> ˜jtëÖ-ű£G0}útEG ȧ M:µBß©zÍÊ”§¨ŠÔ_¥Ž___úôéCXX/^äµ×^S¹¼Ï‹ªuU]޹ À¬Ym/ï::šÌÀÖ­q>,O³o_uêè2wîñB÷‹§÷Kèè;Jù7on­ô¢(¦ݺõl{Ü£Gåe>ÝOÑòéBS§¶áÍ7ÃU.“ª×¬LyŠªHýðð0Wêˆðõµ¥OwÂÂâ¸xñ>¯½f©ryŸ'UëJ(Ÿ……_|qŠ;oР ·nÉwÜ‘HdŒá®Ò¯½zÙ³|ùe¢£ïÓ½û~¥‹215Õeð`WEz—:\¼˜Î„ Ñ8:¡©©A¿~ŽÊ'0ÐU«â¹|9Ž÷Ò©“-66ܺ•ETÔ]vÅË˴±UDu­SZý¨ZæUqo…ÚéÊ•+DGGWË´aA„WÑ¿ÿþKbb"!!!êE¨!ÔÚóà|m77·bçÜÜÜÐÐÐ -- è*ôK££c±cuêÈçüçå=›ç^GISpJ›–ó¼×¬LyŠªHýpu-ù…¡àxAž/"U몺³bçÜÜÌÐЀ´4yšÔÔl~úé¬Êù;:_“¡Ng#6ŠÆáâR|Ì’ŽUÅ5+Sž¢*R\]K.OÁñ‚<_D,ªÖ•P> ê×7æÇ㈌LQ r䣪”‡6¿üâϘ1Ǹzõ7^Uœ³²ÒgÙ²ÖJ[GáΤI§Ø¾=YqÌ×·F*磭­ÁêÕþŒw’'î±cdz¼êÔÑÆÛÛ´R±ÕeÕ*e.P÷V¨–/_Ž««+êE¡Ö“J¥,Z´ˆÎ;‹]”µvƘ››òo_оÄ_¹r™L¦[ö£>ÂÒ²äoÎ Uߦ¤8®]»¦´¦IÁ±êPå©Hý¸zõ*%)8^gEU&u37—¿<]¹ò77å+W"“……¾RÚ>j†¥eÉ÷Åаrÿœ ò¾v-]iM“‚cÕ¡*ÊS‘ú+põjÉå)8^gEU&¡j}þy#í9qâ>R©Œ-êÒ¬™òóD[[“±c½ps+¾.€»»1{ötáðá»ÄÅe ‘Èps3æõ×­ÐÓÓRJÛ¯Ÿ™qüx*ééyÈd`ooPá³H IDAT|¬¬ôÙ¸1€sçðßidgKpr2ÂßßR±VLEóüè#O¬¬T›NT]ʪUË\@•{+¼\âã㉈ˆ`ñâÅJÓ¨APsçзïAÆŽõbìXOu‡#TBDD—/_æÛo¿Uw(B ¢ÖÎÖ¬YìY³ð÷÷Wt>äçç3mÚ4Ú¶•¯ñйsgV¯^M~~>Ó§O/¶Ø;wHNN¦2üüüX»v-sæÌaÛ¶mèèÈ¿ÏÉÉ)¶ëPU©ŠòT¤þ ÄÇdznݺbkÆlÛ¶ 333¼½½Çõõõ‹f©ÊXÔÍßßž5kÎ3kÖüýí04”ß÷ü|)Ó¦Eж­|›ãÎX½úùùR¦O÷CSSyhþ;INάT~~v¬]{ž9sޱm[ttäm!''¿Ø®CU¥*ÊS‘ú+ÿ€uë.[3fÛ¶ÌÌôðö~¶î†¾¾v±Ñ,U‹Põ52£Q£â£“ hii”ûK¤––¯¿nÍë¯[—{½† Mhذä5K*’@“&æ4iRvƒªyŽÓ@¥kV·²êT+sòî­ðrY²d 6¤GêE^˜èèû ø/ãÇ{óñÇbä_Q¢~*/;;›Å‹Ó·o_<<<ÔŽPƒ¨µ3fðàÁÌ™3‡¨¨(¼½½•và¹xñ"æææŒ3€ªU«Ø»w/;wÆÚښϿÿþËgŸ}F«V­*Ç Aƒ˜1c»ví¢I“&tíÚ‰Dž={xôH¾v„†FÕ΋¯ŠòT¤þ XZZ2|øp6mÚDãÆ¹~ý:áááäçç3~üx´µŸ5 wwwþûï?† ‚««+ššš >¼Ä©[•‰EÝödΜ£DEÝÄÛ{Ò</ÞÇÜ\Ÿ1cš0`@CBBN±jÕYöî½FçÎÎX[òàAññø÷ß|öYKZµ²©pƒy2cÆavíºB“&kéÚÕ‰DÊž=WyôH>]«Š›_•”§"õWÀÒÒáÃw³iÓe7®ÇõëòÝ”òó¥Œßmíg’îîfü÷ß]† Ù…««)šš ިĩ[•‰EA(îСCìÝ»—U«Vû¢HA¨¸o¾ù†GñÙgŸ©;¡†QkgŒ¡¡!»ví¢oß¾ÄÅűråJÅ9;;;6oÞ¬˜6¤­­Í®]»9r$¬^½Z)/{{{Z·n]©8ŒÙ¶m½{÷&66–ØØXlllX´hC† QZ”¶*TEy*RüýýñôôdþüùìÞ½[qüÝwßeÊ”)JiÇψ# UëСC‰1•‰EÝ uصë-úöÝF\ÜV®ŒQœ³³«ÃæÍ½Ó†´µ5Ùµë-FŽÜCDD"«WŸSÊËÞ¾­[W®|ÆÆºlÛÖ‡Þ½ÿ 66ØXùh$#-êÀ!»”¥­ UQžŠÔ_;<=-˜?ÿ»w?›2÷î»^L™â«”vüø–Œ±›ÐЋŠc:8–ØS™XAe=bêÔ©ôìÙ“Ž;ª;A„Z/**Šßÿ%K–`ee¥îp„æ…vÆL™2;;;¥cÞÞÞ\¸p}ûöqþüy$ 6¤{÷îèë+¯ñP¯^=vìØÁåË—9tè©©©XZZâááA@@€b^³¶¶63fÌÀÓ³øpø‚s…§ã€|G¡øøxvìØArr2ñçŸÅ›-Z–Ê\SÕò”¥"õW`Þ¼y 0€ÈÈH¤R)mÛ¶¥M›6ÅÒ 6 <ȃJ¥ŠŽ˜ç¹—•©«ª0eJìì”_Ƚ½ëráÂöíKâüù{H$26´ {wôõ•ÿyÔ«gÀŽ}¹|9C‡nšš¥¥æ8(vÑÖÖdÆ <=‹¯‘Sp®ðtï(ÌŽ $'gâà`LP;þ™_l¶hY*sMUËS–ŠÔ_yó^gÀ€†DFÞ@*•Ѷ­=mÚïø6¬>>ÖÎÎ&J#`îÝ˦]»ßˆM#&fX¥¶|®)rrò10!(ÈmÛú¨;œ*QÝÏ¿””Å4ÉòìÚU‡±c­IHH¬–XA¨ùÜÝë³ti ª=7ŠŠˆˆà³Ï>cÙ²etïÞ½Š£j«çmW•QðÂÞ£‡=ýu ‰DùU¥~}cþø£#††Ze¦÷ö6eëÖ¼÷^§NÝ/v ˜5«ƒ»*u6•З¼<©Jù€¼Sbܸ“ìÜy£ÄüÖ­kKÛ¶Vʳ¢ ø6l¸­X½•¦^==Ž+»£ ¼úQµÌ½·ê¦Jûß¼y3‰‰‰Lž|K–,AÏž=aoo¤¤$:téééèÑ£G£NÄPÃwøð,Yž=mao¯¤¤,:ôééyèÑöQ'bˆˆ¨a ‚ÜÝÝåÚoܸyóæa„ LÄPƒqäÈc f‡>j33MÄĤcÁ‚(ܹ“‰uëî`æLçRýGŒ°Ç”)-`k«¡P€ààX\¾üÍšicÁ‚ðô4ÅË—…Ø»7+WÞÁ7ßD£woK|üq+xy™”[ vëÖ cjª‰:”uÌšåŒîÝ-`` ŽØØLìÜ';¨¡*c*[eïGÑ9—¨ê×¶¡:uêæÏŸ¼÷Þ{°µµP|€ÉôéÓñâÅ „„„0Cåb2æmÛ¶E^^öìÙ#×îáá!W3…¨.´mk‚¼¼"ìÙsG®ÝÃÃÛ¶ PRTDDÔT„……aÅŠøã?pèÐ!ÙÉ‘ÉÉÉðó󃧧'æÌ™£ä(‰^qq1Â’%î²C :u2ÁÚµo¡wïc8z4©Ô?Ø]] ñí·nr‡>\¼R#(È®®Å§Ç‰DªhƒgÏò°kWüüs'téòj«Ñ¿O°«­ØÊrçNý®BVtÎ%ªúµmˆ®_¿ŽO>ù%›L–,Y‚Õ«W#77Ÿ|ò ®_¿Ž;w–*ë@ô:&cþѯ_?$&&âÔ©Sxðà„B!ÜÜÜЭ[·Z?II*ªÓBÊׯŸ§âÔ©‡xðà„B¸¹™¡[7›Z?II*ªÓBDDuëñãǘ1c°fÍàÙ³g?~<ôôô¨P­:¢úâãcZê{ m88è".îe©þ]º˜•êŸ uY²ãu=zXb×®x$$T¾«*ãÜ¿ÿúúêrI‰šŽÙÐ):çUýÚ64=ÂĉQTT©TŠ¢¢";v aaaX½z5îß¿àà`þ»‹*ÅdÌk 0tèPe‡Q'TUU±`Áe‡A00ÐÀС-”FPUUÁ‚•ѧ  Ó¦MCnn.$ `åÊ•èØ±#-Z©TŠ­[·BWW·’‘ˆ6õ2Ûkë‡Zuññºú[m׌¡WÒÓÓ1~üxdeeA,ËÚ…B!fÏž mmmìÙ³ŽŽŽJŒ’ •Ê»Qcô¿ÿýwîÜAQQ‘¬MEEÓ¦Mƒ@ ÀŽ;xÜ*5Háá)ø÷1#å .î%ìì«Áag§ƒôôDE¥•ºvúôÓú¥¢Rœ)+‰Q•qš7×EFFÎK©µØ‚ŠÞ¢s.Q_[eÈËËäI“ðäɹÏT øD¥/^ÀÏωR“1DDDDMаk×.¹ŸÞÅÅ%óòòЯ_?˜˜˜():¢ŠEE¥á‹/® !!¹¹bDF>Ç´iPT$Eß¾ŠÕáèßßðé§‘8}ú)²²Šðôi.V®¼]»â¡®®‚ž=-úúÅu”.]JÅ‹ÕgèÐâ"®3f\ÂîÝñxú4¹¹bÄļÀ—_^EDDj•Ǭª;w#6vˆB¿]SÑûQtÎ%jãk[ßÄb1>ýôSܼy³T"æu«V­Bnnn=FF·)51wîÜÁܹs˽.‘H°fÍ 4vvvõ‘búöm†ýû"$$A®½ys]øû·*ç.yãÆ9âèÑǸr% “'Ÿ/u}þ|ÙiEöö"˜›kâüùxx’õ‰R¥q† ³EXØS=š„/¿¼ZªoÿþVUŽ­!¨èý(:çµñµ­o‹-ÂéÓ§K%·_'•J‘––†-[¶Àßß¿££ÆŠ+cˆˆ¨Z Å…»},~<ó£²C©uW_ÅØíc1vûX\},ÿeSž75 ÙÙÙ˜6mš¬FLy¤R)>ÿüsÙi D IÇŽÆØ´©3\\Œ ©)„¡¡:FŒ°ÃξÐÖV¬Ø´šš ¶lñA@@8:êBMM::ªðö6EppgŒë ë+ °j•7<<Œ¡¥%¬ö8**¬Xá…o¾qƒ««!´´„‰Táâb„ï¾s‡··i•Çl*z?ŠÎ¹Dm|mëÓÚµk±}ûö 1%Äb1V®\‰´´ÒÛψþ+cˆˆ¨Z$R "E@OSOÙ¡Ôª"I晇Øç±J¥HÏM—»ÞTçMMƒT*ŬY³””TáRz x»ÒåË—±k×.Œ3¦ž"$Rœ||*®iÔµ«9bc‡”{]SSˆ€€Ö¨üdWWCìÚÕµÆãÀ¨Qö5ʾÂ~ŠŽÙ¾½a…s¬/½Eç\B‘¯mCpéÒ^lݺ¼Üëjjj(,,„T*…P(„……Ο?Ôc¤ÔÕ(óüùs$&&bæÌ™µQµ8q‚©ÞDEEÁÚÚZÙaPXwa’³’ѯU?¾}XÙáUɦM›pòäÉ W»¨ªª¢¨¨B¡ÎÎÎÈÈȨljˆ‹ؾýÕ¿-„ÂâU;%+dLLLàìì ggg´lÙ-Z´€““ÔÔÔ”-5>5JÆÜ»w‰‰‰ ¬­xˆª-&&111ÊƒÞ ,ÐÖôħÇcõ¹Õøº÷׸›rWÙáUI\Ü%}/—ˆPUUEaa!„B!Z¶l‰®]»¢cÇŽðôô„HÔpO.!"R–[·n ‰¤"‘-[¶„³³3Zµj…V­Z¡E‹ÐÕÕUv˜ÔÈÕ(ãíí Ø»wo­CT]Àn#• ½1FàŸ@P .ÀŽ«;p!á$R :ZwĸŽã ­¦-×ïYÖ3ì½¾wSî"+? ÖÖð±÷A¯½þù{¬\ó·k3WŒè0ßœü¦J÷J¥R¬:· çâÏap»ÁéÂÏ#ªOO°~ý‹Å²•/pwwGçÎÑ©S'¸¸¸ð'¶DD ¸wï€,Zd†1c˜t¡ºÁš1DDT#©vOÀŇem§bO!4:»ÞßC-CÀÝ”»¹m$²ò³äîß~e;FºŒÄ·ý¾­ôYßžü1O_·üåh¦§Ø1™{£öâêã«84éP•CùEùøüÐç8|û0>éò 1T¯Š—̆X\€îÝ»ÃÛÛ:uB»vídËꉋÊjÀPãÕ˜¾¶ï¾û.>û¬9ôõ“dUÚŸ¨:˜Œ!"¢9óà D"|Þýs´0i'/Ÿ`ÃÅ ¸ÿü>ŸXŒÞù°ëÚ.dåg¡{óîÜn0 4 ˜‘ˆð¸p¼Ì©Ð³n§ÜFÄ£…cË-Tl+YZN–ž^ŠŸØÚ+<>¤f§Â?Ä·Snã§wÂÀ6«t?QM¥¤¤øK—šcÀ€e‡CDDD `2†ˆˆjD )¶ŒÞgsgY[¿ÖýÐ{}oºu‹ú.‚¶š6TUŠÿ—³|àrhÈúŽv̼L…žõž@f¾b}(¼*fñÉŰԵÄd¯É wRîÀo¯ò‹ò±}ìv¸6s­ÒýDµÁÂÂ@sÉÊ…ˆˆˆÄd ÕH³6r‰0Ô2D¯½r=±©±è`ÙcÜÆ`Ì~L ™‚Áí£E;´2m U …‰ncÞ¦Öã Ç¡›‡úa(„Å·tÜI¹ƒ‘[GÂRÏ;ßÛ +}«Zˆˆˆˆš&&cˆˆ¨FÊK¤èkê(®§F8ánÀ¹øsŽFRf||ðy÷ÏádâTé³ê¢fÌOg~‚¦š&¾9!_°7!=¡xŒ°åØxq#æõœ‡víd×Õ„jª‘™—‰ì‚l…c"""""b2†ˆˆjänÊ]Š ¡&”?¥%úI4À\×\Ö¦¯©qÇa\ÇqŠOWšºo*Æï¿¦þ U ŸU5cr s]]î¸%G\gäeȵ;9bÅàøp÷‡³} 6ŽØ7+7…c#"""¢7“1µlùòåøïÿ‹¿þú Ý»w¯òýsçÎÅÒ¥KqõêU¸º²ö5|©Ù©Xtbæ÷šu¡:¤R)6GnFÄ£ØØÂÖÀ°9r3Z›¶†·Ý«3Á µ !ÒáÙ“gˆOG+ÓV>«.jÆ,°´Ì¤ÍÖË[qôÎQÌî6nVnhmÖºTŸV¦­°ûýÝ¿s<Æï5C×ÀÇÁGáøˆˆˆˆèÍÄd ÕHsãæ¹‚?ný{C{ûLößcÆŒX,Ƹqゞ=«÷aNDDDDÔÐååãƒ]à|ÂyY›ªŠ*æõœ‡ñÇËÚ¢’¢05tªì¿&:&øyÐÏž†WbEø H!U(.m5mLöš¬à,€ 6àé˧øuô¯ ßS¢P\ˆ/~‰ÐèPø{û—{ú5NLÆÔ±øøxÁ××W–ˆ)¡ªªŠ·ß~7nÜ@ll¬\2æí·ß.5Vß¾}±±±u4‘_ FNAµS‘)n<½ó ç±èÄ"´2m%K²,ùk R²RÐÆ¬ ¼í¼¡ª¢Šøôx„Ç…ãnÊ]…’1+Ï­„X"V(.…“1_<ÄÊ¿WbáÛ a¢c¢Ð=%^ä¾À´Ði¸úø*–ô_‚á†Wé~"jø˜Œ©' Öƨ±ˆˆˆˆˆªÜÂ\ü>áw47n.k ¾ŒoO~‹M›dI–´œ489à÷ ¿CEðªCZNÒrÒzÖôÎÓ«´2FQ_ý îÖîÖ~˜Â÷Àƒçà⇌¼ l³ž6žUºŸˆ&c꘽½=TUUqöìYdffÊ­Ž‹Å8vìÀÉÉIî¾?ÿü³ÔV¤#GŽš7o""""¢¦ê]çwå1ð¡Ç‡Xw~.'^–µ½ÝêmGcOÔôpê3‘ÀHÛFÚF =ëŸOj/ðìÙ+¯àð¤ÃUº/21+ÿ^ #m#„Œ½¡}­ÇFD “1uLGGýúõÃÁƒ1xð`,_¾­[·FBB¾þúkÄÄÄÀÕÕUn‹ÊŽ¿ÖÐÐÀÑ£Gñé§Ÿ†ç2E""""jºÊ:ZE +}+D?–µÍð[[üvã7,>±ÚêÚpkæ†Aí¡ëþ =«¶kÆäåãÛ“ßÂÁÈûcöË]+©m³úÜj¨ Õ1½Ët¹=#‘—mÂÎÀN¡˜ˆ¨qb2¦ââÅ‹øë¯¿Ð±cG¹k"‘6l(uÏСC1kÖ,Ìš5K®ý½÷Þcñ^""""jÒ½xTªM*•âqÆcèi¼Zi®"PÁðÃ1¼ÃpH¤ħÅã¯û᳟áÆÓøo÷ÿVú¬Ú®“S˜ƒôÜt¤ç¦ãfòÍ2û¬=¿ðq—åÚ§už†ø´xl¿ºùâ||Ó÷U„ ÅFD “1uäõº.ŽŽŽˆŒŒÄÂ… qôèQ$''ÃÈÈ=zôÀ×_Ö­[—ºîܹèܹ3V®\‰„„XYYaâĉ˜;wn}Nƒˆˆˆˆ¨Þ¸y='ÊmUú%ò<ÏyŽN=dmÅþ…®Ž]!TBE GcGØÙcëå­Ø½O¡dLm׌ÑTÕD€O@™×v\ÝÔìTL}k*Ô…ê@¾¤üïíÿA_SkίAF^~ô3Ô…ê ÅGD“1µ,33 ©©)×nccƒ7Vzÿ’%K°dÉ€««+Êþ '""""jª´Ô´0è—Ax»ÕÛ0™âfòMœ‹?@€Iž“dý>Þÿ1 µ áníŠ qáá$f$¢µYéx–¥¶kÆh©i•›Œ9~ï8R³SñQç*LìÌê6 †Ú†øîÔw˜´gÖ[ uZ“ˆ”‹É˜Zôøñc"w¿µ¾5¾í÷m½Å[&vš}M}Ì;2ïï|Á#ƒa¨e¨ì°ˆ¨–0SK¦NŠuëÖ|}}ann®äˆˆˆ¨¡hÿC{´·hïíPv(DD š¡|àmç)ÞSp6î,î<»mumtoÞÖúÖrýWY‰”¬D&FâÑ‹GÐV׆ƒ‘Þ²{K®0nC1Æu R³S¡¦¢&×^2o7+7¹öaí‡Á\dŽ+¯à\ü9 h3 >Ã%¢:ÄdL-222B×®]±fÍe‡BDD \«e­àeë…-£·(;"¢£$)Q¢›c7tsìVá=¦"Sôkݯ®C«cÝÆ–Ùþïy¿ÎÇÁ>>u)“1µdíÚµX»v­²Ã "¢(zVt刈ˆˆèÑðÖî5aLÆQµäåÃi‰¦î›ŠÇð[<~ö€Ó'äæ`À¦ð]í+wÏãŒÇpZâ§%NˆM•»Ös]OôÙЧ>§ S“X+{@q͘±Û‹—¦G&FÂi‰Ä1ÎÅŸ“=Ãi‰.>¼({FÄ£L ™Ÿ=ÐzYkt_ÓßúYùYuù*ˆˆˆˆ¨p›ÕHF^Fn‰ä¬dY›D"ƒ6ElÂýç÷Ñܸ9 <> "PÁÙ¸³p2q$f$"!=ã:Ž«ôyãwǹøs Ç÷§ßŸ²ç—§6b-ï=TÇΫ;ñÇþR©TÖ–˜‘ˆM›p.þöŒÛÀ3 IDAT-5­jMDDDDÊÇ•1DDT#—]B3ýf‚˜Ù1ˆ ‘†¾Å+MÎÆ•õ=ûà,š7GË —k ´…µkyïáß<¬=;7B!:ÛwFìÜXÙ//[/>0Ñ1AF^âÓãqèÖ!˜‹ÌY3†ˆˆˆ¨cÍ""ª3]ºàÀ^Z'8¤R)bScÑ»eoU„Ê @ýÇêmë?nýk{ÈÚ¶Ý/[/,ê»_ýù¾8òE™÷ú{û×øùDDDD¤<<ÚšˆˆêTI}cmc´1k#k·7´‡µ~qÝeoQ*QŸ±~ÙóKômÕZ¥j¯t‰½ãöb`›0™AUEf"3xÚxbaŸ…˜öÖ´Z‰ˆˆÞgœÁØícñ(BÙ¡¸2†ˆˆªICU±sc+í7´ýP m?´Ìk§§®å¨j¦:±*ò¢gE—j3™bå•åÞÓÁ²V8.‘¢R²Sñ(i9iÊ…ˆÀ•1DDDDDDDDõŠÉ"""""""¢zÄmJu`÷îÝX³f áêêªìpˆˆˆˆˆ…¨¤(,ýk)Æ{ŒG'›NØven<½3‘fw›B?BÏ=1És’ìž‹/âç³?ÃDÇAƒƒdíYùYðßç__¥œ@WÑ\÷] ˆK‹Ã¾è}¸›rE’"89`xûáhcÞFn¬œÂ¼y×_Ó—O RÁÍÊ Ã; ‡¾¦~©g½sGoEf~&Z˜´ÀÔËœ‰HqLÆTÓÖ­[±iÓ&¬X±íÛ·—»öèÑ#„……áÅ‹JŠŽˆˆˆˆ¨ñÉÈË@Ä£thÖÿ;þ?<Ëzp6w†–ž¼|‚=Q{ä’1Gn‘¥“1VúV€ó çqñáE¼ÛöÝJŸ;nç8ˆ%b…b4Ð2Àê¡«k4Øqu[±ôÕsÏ<8ƒmW¶á›¾ß`x‡á€¹/ÐmM7ddËôÎQlŠØ„=ãöÈŠÌÀœCs°/zŸÜ˜û¢÷a´ëh…æGDõƒÉ˜jJHH@XX222J]5j<<<¸*†ˆˆˆˆ¨6_Ú #øÀÖÀzšzŠO´Ûyu'’2“ÐL¯àïø¿Ñɦ.=º„¿ãÿÆH—‘€ð¸ðâ{ì+?/âQ„ÂÉ“ÏåÊã+Xpl´Õµ1Öm,\,] .TGÌÓüù ¾úó+xÛyÃZß…âB¨ Õ0ÉsœÍa¬mŒÌüL\L¸ˆ×v"(<Ë,¾}û¢÷AKM ;M„K3¤å¤aËå-Øxqc•â&¢ºÅdL°±±²Ã """"j”ÌDfý ZjZrí>öÅɘð¸pŒt‰¤Ì$Ä¥ÅÁßÛy8wöU2&>ö†ö²•2Ù:f+¤R©B±© Õj<—éû§C"• xd0Ü­Üeíÿqú\­\1a÷¼yÓÞšCmC™tÇîC؃0<Ï~ŽBq!@]¨ŽÈG‘²û÷Fí DO§ž²öwÛ¾‹› .-®J±QÝ©·dÌ©S§‚¸¸8¨©©ÁÃÃþþþ077¤¤¤`ܸq‰Dغu+´´^}X=zô'N„¹¹96oÞ UUU…Æ|]XXöíÛ‡û÷ïC[[îîîð÷÷‡‘‘à›o¾ÁñãÇñûï¿C__~ßeɵ?þø"‘³fÍBhh(à“O>‘õwuuE```¹5cÄb1víÚ…£G"99FFFèÑ£ÆMMMY¿õë×cÇŽظq# ±jÕ*ÄÆÆÂÜÜ~ø!þóŸÿ(üÞsss±fÍ„……A*•Â××ü1‚‚‚pôèQ¹ù¾þÜÜÜ\¬_¿wïÞÅàÁƒ1mÚ4…ã¯Ê»ü÷s_¾|‰µk×"!!Íš5ÃĉáãSùO3ˆˆˆˆ¨éèÛªo©D ¼e÷„*BYÒålÜY€¯£/î¦ÜEhL($R ’2“ž€÷ÜÞSèyž6žµÿëÊšKÔ“(Bž H¥RHQœ *î?¿HÉJÁ˜íc˜‘Xæø/ó_Ê~'å ´ ä1@qÒæ]çwñsøÏµ3)"ª±:OÆH$L˜0[¶l‘k?xð ‚‚‚pìØ1¸»»ÃÔÔÆ Ô)S §§‡àà`@AAFŒ+W®àôéÓPUUUxL 8òá‡bÛ¶mr}CBB°dɤ¥¥A(âÖ­[ Caaa©9”\+**þ`ŒŠŠB||<àÚµk¥ú—U3&;;}ûöExx¸\ßÝ»wcåÊ•8qâÌÌÌ<@XXþøã|ùå—ÈÉÉ‘õߺu+vïÞ#F”ÿÒÿ‘‘‘nݺ!**Jîíݻ͛7/5ߒ熄„`Á‚ÈÏÏ´mÛ¶JñWå]¾þܽ{÷bÁ‚(((]ûå—_°bÅ LŸ>½ÒùQÓ`©gYf»ž¦Ú[´Çù„óH%8ûà,œLœ`.2‡ƒ‚/#úI4n&ßP¼­IuQ3¦DYsÉ)ÈX*ƹøsåÞ—W˜ú;‰‰xËî-¼Ûö]˜‹Ì¡.T‡@ ÀÜÃså’1yEy0Ð4(7n"j8ê<³lÙ2lÙ²ŽŽŽ˜6mÚ´iƒüü|;v 6lÀرcqóæM¨¨¨ÀÏÏçÏŸÇ/¿ü‚Î;còäɘ9s&.^¼ˆÀÀ@tîܹÊc.^¼Û¶mƒ¶¶6>úè#xzzB(âòåËX»v­ÂË_÷Ã? ((ÁÁÁ ’ð50(ÿnÞ¼y‡©©)æÌ™ƒ6mÚ >>Ë—/Gtt4¦N*[mSbΜ98p †‘H„`ãÆøâ‹/JÆ|ñÅˆŠŠ‚ >ÿüs8::âÎ;Xºti™I¤ÿ÷ÿ‡~ýúaäÈ‘°²²‚Mµâ¯ª¯¿þ}ûöŘ1c ©©‰£GbÆ ˜9s&z÷îV­ZÕh|""""jü|}q-ü¢’¢páá i7àië u¡:þŽÿ7“oB¨"„··BcÖe͘²XêY¢@\€uÃÖA¨",³‘vñ þ¨¤(hà×Ñ¿BE "»žS˜ƒ”¬hª½Z¡n&2CÜó8¼È}Q*ùý4ºÆqQí©ÓdŒT*Å?þ DFFÂÐÐPvmèС044Ä’%KpáÂY¢eÕªU¸zõ*>ùäÄÅÅaõêÕ9r$>ýôÓ*éíí   ¨©©áôéÓèÔ©“\ß9sæÈ¶<€;ÏîÈŽ¼NÏMLJ¿@^Qž\2Æ×Á±©±˜{x.–\‘FqY€#·à÷¿×8n"ª=ušŒ‰‹‹CJJ LMMe+9¤R©ìƒ.%%pûömY2FKK !!!ðððÀ·ß~‹Ö­[cÓ¦MÕÓÌÌ iiièÝ»·\"¦„žž^Í\Þƒ••…~ýúÉ%2ÀØØÇÇÚµkqýúuôîÝ[vmìØ±¥ÆrwwGXXž?^a2æÁƒÈÎÎÆ°aÃd‰˜-Z´@—.]pêÔ©2ï?~|­Ä_U'N,³máÂ…¸~ýzµÇ%"""¢¦ÃÍÊ " NÅž‚ºPl^}Ÿïcïƒe§‹ORt‹P·5cÊ2Ùk2Žß;ŽWw`OÔØÙCWC)Y)xòò Ä1‚G—mèéÔ—] ̓ÐÊ´x¥x\Z´Ô´`¥o%wäõd¯Éʼn{'Ðyeg8;"-' I™Ip6w–mß""å«ÓdLVV€âÉÉ“'Ëí÷zMPSSƒPX¼\ÏÖÖ:::Õ377`bR³¥„b±bKË“—W¼ß³¤Xð¿•´—ôûwûëÔÕÕŠ©dîåmz}EÑ¿Y[[Ëýwuã/KEq—kÉØ%ó!"ªm™y™Ø¹,; {óîÕcÍù50™aXûaµ\—‡°aÈÌËDGëŽèbßEÙ!Q ¥¨á·ÁuB(ÂËÆ 'cOÂÃÆC®8®Ã«dLCþœÒVÓÆÎ±;ñ}Ø÷Elj¬ìš–·Œ¶m<' .-{®ïÁ­g·ŽÆŽøaàøêϯä’1æ"sl³³ÎƽÔ{ˆyUULè4-MZâ‹#_ÔïD)±X øïQ]©ÓdŒ••:uê„¥K—–Û¯E‹²ß`øðáÈÌÌÄСCŠÅ‹㫯¾ªò˜ZZZˆˆˆ@aa!ÔÔÊ_RX’HII)•¼‰‰‰)Õ_ (þ ªÈrFKËâ¢]—/_†D"ŠŠŠÜõK—.š5kVéXŠ*ëêÕ«¥®I$¹¢¾ÿV2·U¿ªï²Ä•+WJmùŠŒ,>ªïß«{ˆ¨qY¾ÖÖ²}ý é9™ù™ ÂûîïW;³úÜj´·hß$“1{¢ö`cÄFr sa¡ks]s¹Ú0Bßôûÿíþ_$¤'@OSFÅ%÷]Œü¢|¹qÛš·Å‘ÉGpÿù}ddÁÎÀZHÉJÁö±ÛѤ¨b%îõô$JŽ„š²:ýt566F·nÝpåÊܽ{;wF÷îÝe¿ìììðçŸÊm·™1c.]º„ü{öìA·nݰ`Áœ8q¢ÊcÁ××÷ïßÇäÉ“‘––&{NVV¾ùæH$ÅÁš7o ”µáÿþïÿÊL ”Ë|ÿþýJ߃©©)ÜÝÝqûömÌ;WvÊT*EPPŽ? ¸¸¸Tç5—ûL\¹rß}÷Üœ¾üòKÄÆÆV2Bõã¯ê»,±xñbYòèÓ§OfOD ÍÊs+±?f“yΛäïø¿ñàùØÚ3Cô†±±)B\\Íë£T…–¼l½J%YþÍZß^¶^¥ž6žð²õ‚PPvaÜú¢è\Ô„jhmÖnVn°Ô³”KÄü{<—f.²D ´³h‡ŽÖËìßܸ9\,]d…|ME¦ð²õ’¦ò=xPüçÞÆ¦ôé°Dµ¥ÎSÝ+V¬€ŽŽüýýabbWWWx{{ÃÂÂŽŽŽX²d‰lëÊöíÛ±fÍŒ5 Ó§O‡P(Ä®]»`nnޱcÇ"11±ÊcB[[[¶l••Úµkcþüù²dÁ˜1c ¥¥…õë×ÃÆÆ^^^°°°À²eËÊL’¸¹¹üýýáéé‰îÝ»cÆŒ徇eË–AEEßÿ=,,,àéé KKKYaâeË–U«˜pE-Z ø$'KKKÙ3¿ÿþ{Yß’í`•©JüU}—%¬­­áåå…Ö­[ÃÅÅ-[¶Dtt4\]]1jÔ¨š¼ ""ª¦Q.£pÌïNøŸÀ·1ʇˆêQÛ¶ù¸vM³òŽDMLT”&ôõ%°²*Rv(Ô„Õy2¦]»v¸xñ"ú÷ïììlDEEáâÅ‹HNNF‹-°téR¨««ãÆð÷÷GëÖ­åN²°°ÀîÝ»‘žžŽ‘#G¢°°Pá1â¤ÉÙ³gÑ¥KäååáÆ¸~ý:4551þ|Y2›6m‚¾¾>’’’UUU„††¢]»v¥æåëë‹?ü………¸téÂÂÂ*<.ºgÏž8x𠜜œ––†K—.!99Íš5ÃÖ­[1nܸZ~óŧ/ýúë¯022³gÏpéÒ%H$lÛ¶M¶í§d…OeªUße‰Ÿþƒ Â;wpýúu gÏž8räˆìëID Odb$v\ÝõÖãðíÃHÉJ‘]KÊLBPx$R ¦?DPxìWbF¢¬_ZNŽÞ9ŠõÖ#øR0ÂãÂ!–Ê*KŠ·þÜ~[/oEPxlìÊž“]7`íùµø-æ7¹}öå‰yƒ­—·bÍù5Åóœç ¿›Êæ•[˜‹ ð üó[™÷K¤¬>·;®îPø™µ­³}qH"zóøúæàúuM¤¦*w… Q};qB]»æà_ÕˆjUÖŒ)ѪU+:tˆ…D"½½=LMMe}ÔÔÔðÇ eË–¥¾¾¾ˆŒŒDzz:²²²`hh¨Ð˜%ÜÝÝŽäädÄÅÅA__NNN¥jÈŒ3C† Att4TUUѶm[¨««ÃÁÁ“'O–‹K à—_~ÁÒ¥Kqÿþ}äççËj¥Œ5 pu•ß§Ú¿ôïß±±±HNN†‘‘Z·n]ªFË”)Sзo_899•šKɵ’£µ+3~üxŒ=Z¶=ÈÙÙ‰3fÌ€½½½Ü;¨è¹U‰¿ªï²„®®.BCCñøñc<|øVVV°µµUhžDTÿ^ä¾ÀÄ=qý‰üigª˜Ým6&tš KÆ@bF¢ì÷àeëk}k,:±;¯îD¸@n{C{l±A¶»H\„ ð ôjÑ ÷RîaÕ¹U²¾îÖî•>'úI4¦ì›"—,2™bqßÅeÎ/5;3ÌÄù„óríZjZøº÷×Þax…ïG‘yi©iá|Ây¬»°Ý›w—-%/v? ?žù3»Î¬ðY°?f?½xTi¿ã:Žƒ¡VùÅ܉ˆºuËH$AHˆ¦NMWv8Dõ">^ ZX·î©²C¡&®^’1%ôõõѱcÙ{[¶lYêØäו·½¥¢1ÿÍÜÜæææöÑÔÔ,u v›6mЦM›2û›™™•:bÚÆÆ666å>ÃÉɩ܄8::ÂѱìŸBVt­,?ýô&Ož www@ff&>þøc$''Ãßß¿ZcW‰ª¾ËVVV,ØKÔlŽÜŒëO®Ã\dŽ-z@_S3#âa.'^Æ„NÐL¯|°âï°Ò³ÂÐöCe÷[éÿ=?wf"3¸Y¹ÁJß ùEù¸õì.$\Àç‡>ÇÞq{åž{õñUœ¸w¾¾hcÞšªš°Ñ·©ð9ÙÙðß甬89ÀÇÁb‰aÂðÅáÒ'Kˆ%bø…ø!úI4¬õ­áëè }M}$¤'àĽ˜wdœLœàÚ¬üâŠÎë0}ÿt„\Ád¯Ércl¿ºêBuŒq­|{Ðþ˜ý8®Ò~%´Àd UHSSŠÑ£3¬1c2 ¯Ïb¦ÔôÁÖ¶ݺU¾z–¨&ê5Cõ﫯¾Âܹse+îÝ»‡œœˆD"Ì™3GÙáQ#––S\=ôÃP˜‹^%º ĸñôÈ’1«Î­‚­¡-|J³°ÏB8;âBÂ<É|u¡:-û`ÇÕŽÆH—‘p4r„@ €ºPnVn s-é&잀"IÙEòžg?—KÆ89”JÄTæJâÀ'>ŸÈ1@ñ–£; ¿?¹þÇÿ ÐVÓÆÚ k!•JŸ"'…zšzˆ~]+óªñ¾ûûXvzÎÆEWÇ®€Ww@"•àšc]NDo& fÎLÃüù&2ä%ڶͯü&¢F(?_€¯¿6Ozôપ{LÆ4q ,Àüùó””4kÖ vvv•ßX*«UCD “ƒv¾·¿FþŠQÛF!¿(í,Ú¡wËÞã:ZjZ•Žq!á~ûêBuôjÑ v†vÐV׆œ;‹«¯B"•_ood_åX3ò2…úo6¥·•–¬”Ùµ»ÊϪ>¯Q®£°âïØveº:vE¸{£ö¢“M'8›;+ôLÖŒ!¢º2lX&þøC „†>†™O˜¡¦E*æÎ5CR’V®LVv8ô†`2æ  ªªªpe¨j"j8:ÙtB'›âÚPϲž!âQ¾;ùŽÞ>Š]ï âCûþºÿ`å•èáÔCîÚ­g·Ê¼G(¨úºa}M}Å[ÌDòu¾ÊJ`èk÷Ïí=ë—9¦¦jùǽVu^úšúÔvöDí)®»ó(é¹é ¯ŠX3†ˆêŽŠ °bÅSŒa  ìØ‘--Ö¡¦cÅ #9¢ƒàà'°³+Tv8ô†`2†ˆˆªåB´·lu€™È Û Äéû§ñ[ÌoˆK‹Csãæu¡:^ä¾(5FI}‘†ü k.àÔ½SUŽ©¼ç¸[»c_ô>¬_QªfÌë§2•xËö-ìÚ ±TŒé]¦—J*¥d¥àÉË'åÆQy}àñv]Û…×vâ|üy4Ók†Þ-zW<á×°f Õ%== 6lx‚áí0vl3¬[÷”+d¨Ñ‹¥KñË/X¼8;ç*;$zƒ0CDDÕ²îÂ:\N¼ o;oØÚAM¨†ÛÏnã̃3 „rÇ4ÛÙãfòMÌ:8 66P¨`hû¡pkV\[Æ?Ä}[õ…¡¶!î¥ÞCØý0i!5»jÅ"Ë{ÎÀ6ñóÙŸq6î,úoêH¤œ¾¹…¥¿ñà<›#7c×µ]8wí;ÃXÛ™y™ˆOGÄÃLòœ„–ÊŒ£:ójaÒí;ã×È_‘[˜‹9ÿ™#W8¸2uU3æFò œ¼wp/õ 21Rv|xËèÞ¼{<›ˆ[ÛB„„<†ŸŸ%†µÂºuOYC†­¬,|ö™þþ[?þ˜ŒwÞÉRvHô†a2†ˆ¨‘ûg¤ÒW¿¯oÙ½…kI×p*V~¥‡Žºæ÷œcíWÛ{&xLÀœÃsðûßem^¶^x»ÕÛxÇù¼y{¯¿:Âz„Ëèªë"øRp•b*ï9ÖúÖX7l¦ì›‚¸´8Ä¥ÅLtLðm¿o1ußT¹q„!6Ü„9‡æàTì)ì’?^Û\d^n"@µçõ¡Ç‡8ZjZé2²Js¯+7žÞ%^J\N¼ŒË‰—ÏdŒ’ýS_º^ÿþÓ›ËÖ¶{÷&" ÀC‡Záý÷3Æc¯©ÑJýûu±|¹1$`Û¶$¸¹å);,z1CDÔÈikœ—§R¯{ø§xOÁ¸ŽãpñáEYrÃRÏ]»B[M[®ïÐöCÑÖ¢-.>¼ˆŒÜ H!…•¾à§wÂX·±ˆy@€ŽVÑÞ²=ÂãÂ!ÒÉjÉD$mIDAT¶¨ UàGãòkLUôœö–íqbÊ œ¼wI™I0×5G¯½ •JàP*¹b¨eˆõÃ×ãþóûˆLŒDZNŒ´`ohk¹U+uþ¨T-Eçõº’b½ƒÛ –Õ¹Q¶¶mË<’¼DEI)ªÙÙÅÛèD"þc˜ê‡žžÁÁIØ·OË—áàA&NÌÀ°a™05+;<¢2 pü¸6m2@LŒFÎÀÌ™i00àg')‡@Zr^g5Œ1°wïÞJzÕ-@€   ôïß_Ù¡Ðbúôé‰Duöù—œœŒ¬,Å–ËÞº¥wޱƟ>Dóæ,:ט-8¶Û®là >E‰èþ}u¼ý¶ |„6m ”½a^¾TÁÚµ†Ø½[™™*èÐ!nny°·/„¾¾ª×\'ª5YY*xòDˆ›75pþ¼òòTðŸÿdcÆŒ4´nÍÏKªsssˆD¢Ê;–moWÆ\¸pA–”!R¦àà`>|XÙaÐâÚµkðññQv€æÍ  ª*ÅLÆ4B‰‰E\ZÞ<—f.LÄP•ÄĨCUUÊ¿ÿ¤ººü÷¿ÏñÉ'i8sFgÏj#2R û÷ëâåK!Ä\(CJ¤£#‰‰mÚàóÏÓЫW6ÌÍYxš†%cÞzë­ÚŠƒ¨F¬­­ahhX“Ì$Q•øøø4˜Ï@uu)ÜÝópæŒ6Þ}—Åç›Çe5YÔ…ê˜×cž’#¢ÆæÌm¸»çA]½Ú‹‰jLSSŠ>}²Ñ§O¶²C!"jj”Œùì³Ïj+""ª>}²ñÓOFÈÎVŽ÷>7&VúVð €®†.z8õ€¡²C¢F$;['Nèà³ÏÒ” Uв "¢š2ä%$vìÐSv(TEÖúÖð À„N˜ˆ¡*Û±C‰ƒ¿Tv(DDDTLÆ5úúøù½ÀÊ•†xöŒÕ‰Þ©©B¬^m?¿ûì³2ßð Á‘#Gp÷î]Èd2ØØØÀÛÛ¾¾¾Ð××Úy{{#))I8ÎÍÍ…···p(ýõŽ?ŽèèhdggÃÂÂnnn7n¬¬¬*û¢E‹„™^^^˜?>6oÞŒ³gÏÂÈÈãÆÃ!C—.]ÂŽ;GGGLš4 ®®®B_Ó¦MCDDàwÞÁgŸ}&\[¶lNŸ> èÕ«–.]ZnL5õ\ݸq‡Æ;w •Jáàà€þýûÃÇÇb±°}ûv÷ˆD"ÂÞÞo¼ñFŒ]]]¥~ Ž?Ž'NàÑ£GËåppp@‡0dÈ4oÞ¼Ry”çƒ>À­[·J+þsU\Y{ÆÔôÏ •AADDDDD3fŒ€€bĈŠqãÆ ÇE_–––ŠÄÄDážÌÌLÅÛo¿]ª]Ñ—£££âÖ­[BûòÚ}íØ±£T,>>>Âý/_¾T¼õÖ[åÞ/‘H{÷î­tî>>>Bo¿ý¶âÍ7ß,Õ÷wß}§Ø¶m›B,+×ÖÖVœ>}Zè«gÏžÂ5???¥qŠ?§Ã‡/ó¹/Ê·ºÏUVV–Òµ’_#GŽÚ~ùå—¯«cÇŽŠ””¥\FUn{‘H$ħjåiݺu…}ÿºpá‚p¯º~^ˆˆˆˆˆ¨”ýâ «5DDDDD¤ä·ß~Cdd$öíÛ‡uëÖ ³’““±f݄͡ päÈ@“&M°uëV?~£FÜ¿ƒ ‚T*œ;w ,î×ÑÑÁ¹s焯WÍ€ñãÇãÏ?ÿcíÚµ8räFŽ J¥øàƒpñâÅ*çþûï¿C$áÈ‘#˜æÍ›Wf_E3Oª¢ºÏÕĉ±oß>…3]&L˜€ƒ"00~~~ÈÍÍÚNž½/^ÄÔ©S«Ó¥K—”ŽÿóŸÿE"  ì-R²metíÚ‰`nn‘H…BJE„âωL&CVV–pŸ¦•üÞ|ôÑG¥Ú  þüóOœ9s÷ïßGff&òó󕾇)))J¥H$hß¾=lmm°°04nÜ-Z´€³³3:uê„aÆÁÓÓS} ª ¶~^ˆˆˆˆˆ¨‹1DDDDD•dii©t¬­ýï?«‹ YYYJm‚ƒƒËíïùóçÕŽ©äxÅgb”<.Ù¶2ÌÌÌ”ŽÅb1är9ÀÂÂB8_t®HÑóòªs999UŽ«2Š–…+bjjZnÛüü| <§Nª°_™L‰DüñÇøüóÏqþüyÈårÄÄÄ &&'NœÀÊ•+1wî\¥Ù8µ­¶~^ˆˆˆˆˆ¨‹1DDDDDjP´LT‘£GÂÄĤ̶% Uáàà t 777á8&&¦Ü¶µIGGGx\òMþ¨¨¨Z‰¡ä÷ææÍ›0`@™mÿøã¥BÌçŸ޾}ûÂÐС¡¡˜;wn™÷uêÔ AAAJ¥ˆŠŠÂƒpòäIìܹ°jÕ*,X°@Øo¨"ÿý7æÏŸ/Ÿ:u ººº*Ý[–×åç…ˆˆˆˆ¨¾¨úŽ™DDDDDT.ooo¥¥ºNœ8OOOx{{ _æææ8{ö,ôôô„v†††Â㜜¥¥°*¯øŒ¥K— ›Ð‡……)í2zôè*çU]Å !!!!BA& @XKUÕy®¬­­…ãY³fááÇÂqbb¢P4)Zv(,$-X°ƒ ‚‡‡®\¹Rfÿ)))˜;w.¢¢¢ ‘HеkWŒ9_ýµÐF.—#))Iå1•õºü¼Õ,Æ©víÚ%,a¶uëVØÚÚÂÝÝíÛ·‡‰‰ \]]ñí·ß*½ùÞ¹sgˆÅÿþ3½]»vðòò‚··7’““ËÏÐÐÛ·o‡––àØ±chÚ´)ºté‚îÝ»#;;@áž/³gÏVGÊ*)Úðîܹ'''´oßS¦LAçÎ+ÕWUŸ+ìÞ½[˜¥sëÖ-´jÕ ®®®hÛ¶-ìííñË/¿úôé#ËòòòàääOOOØÛÛ#!!¡Ìþ³³³±bÅ ¸¸¸ÀÌÌ :u‚‡‡Ú·o¯kÓ¦M«•Gu¼.?/DDDDDõ‹1DDDDDj2dÈ„††âÍ7ß„––^¼x+W®àöíÛÈÈÈ@×®]±téR¸¸¸÷4mÚ+V¬–¯ŠGpp0Ο?_áž*o¿ý6‚ƒƒÑ§OˆD"$%%áæÍ›ÈË˃©©©°‡‰D"QkÞ¯2dÈ,]ºT(p$$$ '''OžDÛ¶m+ÕWuž«AƒáòåË4h´µµ‘——‡ˆˆDFF¢M›6˜6mÀÙÙ°³³¤¦¦âÆøðñxñâ2û¶´´Ä÷ß777¼xñááá¸|ù2d2ttt0lØ0üþûï‰DÕΣ:^‡Ÿ""""¢úB¤(k'M"""""RrçÎaY)KKK´k×N¸‹'Ož(Üø¼k×®¥îÏÊʽ{÷ •Jaee;;;¥å©JÊÌÌDTT¤R©°Ñ½§§'ôôô^K‘´´4ÄÆÆ";;æææhÕª•Òì‹Ê¸}û¶0C£äxçÏŸâsqq–ÿJMMEDD„ЮwïÞÂ,Œ¢ç#::b±íÚµƒX,Fdd$ÂL’Šò­îs%“É ©T 4iÒ¤T›¼¼<ÄÆÆâåË—hÙ²%7n,ZŠôìÙSiOJ¥xüø1RSSabb''§r‹¯Ê#%%Ei·>}úßÏ—/_âÆÂ5¡°“““ƒÐÐPáZçÎѨQ£Rc×äÏ •r€Å""""""""""""õ9 ­éˆˆˆˆˆ¨ö………aÆŒ¶[¿~=:uêT Õ_,Æ5@iii8þ¼J툈ˆˆˆˆ¨z¸LQ”––†°°° ÛuêÔ ¦¦¦µQ½Å=cˆˆˆˆˆˆˆˆˆˆˆˆÔè€XÓÕg,Æ©‹1DDDDDDDDDDDDjÄb ‘±CDDDDDDDDDDD¤F,Æ©‹1DDDDDDDDDDDDjÄb ‘±CDDDDDDDDDDD¤F,Æ©‹1DDDDDDDDDDDDjÄb ‘±CDDDDDDDDDDD¤F,Æ©‹1DDDDDDDDDDDDjÄb ‘ik:""*-11™™™šƒˆˆˆˆˆˆˆˆˆX[[ÃÈȨÊ÷sf ‘±CDDDDDDDDDDD¤F,Æ©‹1DDDDDDDDDDDDjÄb ‘±CDDDDDDDDDDD¤F,Æ©‹1DDDDDDDDDDDDjÄb ‘ik:""ÒŒÜ\¢£u‘šª©”µy¢ºN")€……ÎιÐÕUh:"""""""ªcˆˆôt16Æ©S\¿®¹\¤éˆ¨’´´èÚ5o¾)Å;ïd Q£M‡DDDDDDDD) ~´’ˆ¨ŽILLDfffõ'“‰°cGcìØa ±X¤èÓ' íÚåÀÆF‰„oæÕuR© Z¸}[ÁÁ†8}Z‚‚&MJäI/``ÀÒ©‹µµ5ŒŒŒªzûcˆˆê š,Æœ:%ÁÒ¥xùRŒO?}_ß—,¾ÕR©&ز¥1LL 0~ Þ|Sªé°ˆˆˆˆˆˆˆê¥êc¸IQ=¥P«W›áÓOmУ‡ gÎ<ƤIi,ÄÕI&MJÙ3Ñ£‡ Ÿ~jƒÕ«ÍÀÙÕ=Ü3†ˆ¨ÊÎaölkbÕª$Œ‘¡éˆHM,,äX¹2 Ý»Ë0ož%>ÔÅêÕ‰Ð×gU†ˆˆˆˆˆˆ¨®àÌ"¢z¦ ˜=Û—.à§Ÿž±CÔ@Œ‘Ÿ~z†K— 0{¶5 8 Žˆˆˆˆˆˆ¨Î`1†ˆ¨žY»Ö gÎb󿏹ek:"ªEnnÙð÷ÇÙ³†X·ÎLÓáÑÿ°CDTœ<)Á¶m±|y2<ùù"ÄÆêÀÅåõ """ª QQºX¿Þ çÎI ¯_OOÞ~;66rqÅ¢º.3SŒ„-ܾ­‡ï¾3Ã’%xã )fÌxŽ6møwÕM,ƽ撒´¶¶õï 3fÌÀŸþ)GGGcÑ¢ExôèæÎ[©¾æÌ™ƒ£G Ç÷îÝâE‹PPP€÷ßðâÅ Œ5 Ož<Úݸq~ø!|||j,f™L† &àêÕ«J÷¦§§ãêÕ«¸zõ*~ýõWüøã022Òh>%µmÛfffxþü9òòòpýúuôêÕ ¹¹¹¸yó¦ÐîÒ¥KB±£¨@½{÷.³ßéÓ§ãÌ™3UŠ©,ÙÙÙøä“OpñâE¥óiiiFpp0>úè#Ì›7¯Ü>j:&M)útXr²6‹1DDDÔ॥‰±n~ù¥Ú·ÏÁúõ‰èß_ Î &z]åå‰pæŒ;wšbøð¦;63g>‡©) «T·pÞ%ÑkN&+|)70¨_ÿÈHKKCrr2‚‚‚põêU¼÷Þ{µݻw#<<¼R}=xð§NBhh(ÜÝÝ…k{öì¯^½Z(\ÀßßaaaذaƒR᣺1¯ZµJ(ÄÂßßáááØ³gLMMáááøöÛo5šOYD"zöì)_ºt †ìììRçóóó…ÙJЫW¯róùå—_pçÎÄÄÄ”;% @©¸DLL bbb„Y1ßÿ½Pˆ±²²ÂÞ½{Ÿ~ú ÆÆ…›ÙÿðÃ8qâD™ãT&¦ºÎаðµËmQCwó¦>l†Ó§°bEŒÃ[oe²CôšÓÑQà­·2qð`V¬HÂéÓF8°nÞÔ×thDJøW9ÑkNñ¿¿Š­LUo,Y²hܸ1æÍ›sssáÚo¿ýV©¾–.] GGGXZZbÔ¨QÂù¸¸8ÈårÈårüþûïÂù±cÇ¢ÿþ022ÂÀUžIRQÌyyyøõ×_…sãÆCÿþý!‘HЫW/Lœ8Q¸vìØ1deei4Ÿ²/¨]ŠþÛ®];@TTÒÓÓ™L p鯢ë%}÷ÝwèÖ­tuu«W‘¼¼<8p@8ž9s&ÜÝÝa``€=z`ôèѵ½{÷–ÛOMƤIE¯ ¾Ç@DDD ØñãFxï½&puÍÆ©S1bDF½üЍ!‰€#2pêÔc¸ºfã½÷šàøñ²W› Òcˆˆ¨NÒÕÕEË–-…c¥ãû÷ïWª/á¸hfP¸wKNNRRR™™)œïСƒR%«óÓ§O• ,¯'//=ÒX>å)¾ÔXDD²²²„Ù*>>>°··GAA®\¹¢4‹¥gÏž‹KÿÓCGG§Zñ”Tò9þúë¯áìì,|íÚµK¸Uf5iξ}&˜5ËãÆ¥cëÖî CTÏ`ëÖŒ—ŽY³¬±oŸ‰¦C"Àb 5†††J›Ú‹Tø\YEƒš (1=¡d,%¯—EÓùXYY E&¹\Ž .K°yxxÀÓÓ@ál™âŘ²–(‰D¢¶ç»"åÍ<ÒdLDDDDTsBB °h‘¦M{¹sS¡¥¥éˆˆ¨6hisç¦bÚ´X´È!!š‰ˆÅ""ª›rss#çåå!::Z8nÑ¢EŽgii©4Ã$22RézDDD…}¨³½½= þýG`É~oß¾-<ÖÑуƒƒêISù¼JñÂÊÖ­[‘›› 333´lÙ€óçÏ#,,LhW|FMuTTÀ²³³ƒ¡¡¡p¼fÍaO™’_ÅŸo""""ª_=ÒÁ´i6xë-)¦M{®épˆH¦M{þ¿×|(\«©Y1 ¯¯®]»âêÕ«€U«VaÕªU gÁ >sæÌALL BBB’’‚O>ù¤Ì¾¸/ QýtæŒÿmˆ€€gÐÓ«x)`"ª¿ôôøæ›Œc‡  úõ“j:$j 83†ˆˆê¬õë×cÚ´ihÒ¤ tttàää„Å‹cþüùjÏÔÔĨQ£`ff===tîÜ?þø#\\\„vÅ—ÿªJÌøù矱lÙ2¸»»£Q£FÐÒÒ‚‰‰ ºuë†Å‹cß¾}¯§¶ò)¾¾>ÜÜÜ”ÎcJ>Êß/¦ªV¯^7ß|¦¦¦eî™c``€={ö`Íš5èÝ»7ÌÍÍ¡¥¥SSS´iÓ#FŒ€¿¿?Æ_£q‘æÉåÀŠæ:4nn2M‡£VAAAðõõ…¯¯o¹@¢†éÊ•+Âφ¯¯¯¦ÃѸ.]²1th&–/7G±…ˆj•H¡ÊNÁDDT«‘™™©RÛ?þ0ÂôéÖˆ‰‰UsTꀅ (,$\»vMÃýkêÔ©8}ú4ÀÍÍ êv̯R^>T?9;;aãÆD ¤Úë Ñë,(H‚)SlpæÌc88äi:µz]ÿ!õ;qâüüü„ãâû›6Té ÿfض-}ûrv Užµµ5ŒŒŒªzûÎŒ!""*fÒ¤IØ·oa :´#ªžÊäãìì\aÓ§OÇôéÓk,>"jØRR´pù²"#u‘šªÌLî®LT×)`nž—\¸»Ë`aÁµ^¨nQ(€  áç÷\Ó¡ÔŠþýûÃÉÉ  ­Í·ùˆ*Ò¯_6on …(cÅk"µâ«4Q1»wïF`` BBBðäÉ( XZZ¢K—.;vl©}Rêºú–½þär~ûÍ&¸ySb±NNy°¶Î‡DR éðˆ¨‰‰Zøç=ìÜiŠ‚:wΆ¯ïK ’ --®‚Nš÷ä‰ÒÓÅèÒ%GÓ¡TZPPvíÚ p_ÇmÛ¶áÒ¥K8tèRRRààà€wß}­[·ˆ(uOy}ݼyûöíCJJ š6mŠÑ£G+í% 8~ü8‚‚‚ •JѶm[|øá‡¸ÿ>Ö¯_/´ ¨rÌE7êÈGeÅráÂ9rIIIøì³ÏЭ[7À“'Opüøqܹs066F‡àãã ¥~ÃÃñjÕ*¥sººº077G§N0tèP˜šš–Ч  ÇŽÃÙ³g•r¬Heb«LÎu]çÎÙHOãéSØÛsöÕ.cˆˆ¨Î¨  :99aþüù*·¯ 1¿JeòáÂD¤n—/`É ÄÆê`À)üýà陾Kôº‘ÉD 5ÄáÃFøòKKlßnŠ… Sàî^¿7K§ºïɓ·º^Ç%ÊqåÊ…û¿ì޽˗/®_¸pX»v-\æ=åõµwï^|óÍ7((ø÷ƒؽ{7zöì Ëå˜:u*Ξ=+´9þ<:„ñãÇ=@¨™ IDAT ýU7fX³f ¶mÛ¦œ:u [¶lÁøñã1wî\ˆþ7u¡¶òQEÉX¶nÝŠ5kÖ×?øàÀæÍ›±iÓ&ÈKìâÄ lÞ¼ßÿ=(œOOO/7¦£GbÆ صk:vì(œ¯(ÇòT66Us~4o^øÚðä‰6‹1TëXŒ!"""""µÊÊcÞ‚‡‡.\¸€uëÖÕXÌ?ýô¶nÝ ‰D?~<<==qãÆ lß¾øá‡`nnŽ)S¦h,UdddÀßß3g΄««+tuuѪU+ìÝ»W˜y£££ƒ©S§ÂÕÕ7oÞÄÖ­[!“É0cÆ :tíÚµ¸ººbïÞ½Bßr¹ÉÉÉØ¿?._¾Œ´´4Ì™3'OžŠTÅs‰D˜8q"ºw™?ÅU%6Ur~]½6¼|É­Ô©ö±CDDDDDj¯É“m”¤;ãáí¥éˆ¨†5ož‡íÛãñ×_†øòK+ŒÓÛ·'ÀÖ6_Ó¡Q$—¾Iýº/›'—ËñÝwß¡W¯^ôîÝ2™ 2™ Ä´iÓTîkÅŠèÛ·/ 33S˜=÷î]( ˆD"üüóÏÂ=ƒ ¼yóýúõC||<‚‚‚ª³ŸŸüýý…{† &ŒÓ·o_dff qìØ±“&M‚–––FòQEQ,ƒ Î) üßÿýŸp¶mÛ†7(œqâîî^j ///a °û÷ï#&&FXÆ­xŽÃ† ÃW_} ð¹LHHÀ‰'”úªjlåü:)zm(z­ ªM,Æ‘ZDGëâÛÀÔTŽC‡â`oÏ7f‰ê3oï,:‡É“máãc|†–-s5ÑkI,ÃÓÓS8655…‹‹ nܸ¸}û¶Ê}iiiÁËËK8677ggg#;;2™ Âù>}ú(õѧOŸ ‹ªÄüìÙ3$%% mz÷î­ÔGïÞ½…Czz:Çòåæðñy‰-øš@¤*###\½z^^^H$ˆ‰‰®¹¹¹©eÏŽÙ³g#44999xôèÞxã 4oÞ÷ï߇‹‹‹Ò^/Õ‰yÁ‚øçŸššŠ¸¸8ôë×NNNxøð!2335Â’%K4šOu,\¸·nÝBRRÂÃÃÑ«W/899A,#>>^( Íž= €½½=š5k&Ì$š:u*\\\šš ‹WæxéÒ%äææ Ï¥££#bccáâ⢴§LUc#¢šÃ™1DDTe[·ÞáC¥§>¿ŽêS.DDš´t©9š7Ïûï¾Ôt(DTøúaV¬¨Ú§Û‰*mmmìÞ½vvvˆŽŽ†B¡€H$ÂÀ±}ûvµ,!Õ¦MìÙ³©TŠØØX|òÉ'9r¤ÐN__¿Z17kÖ GŰaà«« ™L†[·n!33ÚÚÚ8p Ž= '''æSööö8zô(Fäææ"22·o߯óçÏaoo>úo¾ù&€Â%Ù¶mÛ†:rss'''lݺµÜqÚ¶m‹~øM›6dee!&&Ÿ|ò &L˜P#±QÍáÌ""ª²ÿû¿(tèÐ>>š¥ÚêS.µmÓ¦(ØÛâwši:"Ò°èh]œ=+ÁÎñÐÒâþ A@@.\055ŵk×4QÍ;qâüüü„ãâŸô¦Šii)ðÅ©øøc[DGë¢eË\M‡DôÚ°±±A`` ž‚‚âñì™ 660Àr¹{öÄÂÕÕÞÞ6åæRÕ1Uɧ¶©+—gϲpðàc(ðø±7F ÷ÑööµçFDuGZš<л»LÓ¡¨]DDÎ; pùÉ“'#33§OŸ–dñòò‚A©{år9nܸ¨¨(ddd@"‘ U«Vpss+µìGYã<þAAAHLLÄ[o½…ÌÌLœ?^©MRRNŸ>ÜÜ\xzz Ÿ8–ËåFtt4¬¬¬àéé kkka¼GáèÑ£J1èêêÂÜÜ;vD«V5ûÁUò+ú´nAAnÞ¼‰ÈÈH¼|ùÆÆÆpuuEÇŽKõ[<âââpþüyH¥R´mÛ={ö¬0ÊÄV™œë¶o7EZš¦¦š‡ˆÊ1}útìÙ³‘‘‘JÜÛØØ`̘1øä“O «««Á+§2ù\¹r¥Âþ<<<Ô+ÕÕ.ÆØÛÛcôèÑ5 Ñk£¡Ïˆ)RÖ>+11˜:õ<ÈTjkm­M›ÜÑ¥‹™p.%%3g^Ehh²R[m,Z䊑# ûÍÏ/ÀÆ‘èßßOŸfaõêÛPÛŠ`ôh,_ÞE©ˆˆ˜<ù’“³…sVVúXº´36nŒÄ{ï9*cJæR•1UÍçU~Œ'OT_Þçý÷Ѹñ«ÿRW.Ϟɰqc$ ..Kx îî,Æ5011:€V­êÿ~ظq#€Â¥QÜÜÜ0uêT¤¤¤mìíí±gÏ4oÞ\8wþüy,X°@é¹E¬¬¬°xñb¥ÍrKŽãââ???H¥R@ëÖ­‘ Ô¦uëÖðóóƒLöoQlÖ¬Y3f &OžŒððpá¼Ö®]‹(,bõUwwwlذ¡Ìµÿ«B•üœœœ‚ùóçãñãÇ¥úèСÖ¬YGGGá\UóرcV¯^ ¹\.œëÙ³'†^n_•M՜룢׆û÷uÑ¥Kv­‰&___•fg¨Seg~Ô…˜_¥2ùpO0"R7îCDD5F&ËÇĉ!xú4 MšÂËË::b\¼˜„ØØ LšŠ?ÿì++}Èå LšŠˆˆ°·— wo+4j¤‹G2qæL<æÎ½ ggtêÔXè?,ì9ΞM€—— Z¶4Fbb6þø#û÷?Â!MÑ£‡%€Â1Ÿ|RXˆiѽzYA.W 88_}£R9©:fUò)ËáÃ’üÊ6Å lWa1F]¹4ib€éÓ]°iS$ìì 1bÄ¿Å&;»ÒŸ'¢ú--­pö£™™¼‚–õKvv6&OžŒž={ÂØØ‡Bnn.âââ°bÅ lÛ¶ @á›ö“'OÞèïСÜÜÜŽëׯ#)) ~~~ð÷÷Gß¾}K#“É0}úttìØ®®®ÐÕÕ…££#”Ú|ùå—xûí·‘ššŠS§N(œÑ{üøqÈd2|ôÑGøûï¿ ™L†  OŸ>ÐÓÓƒƒƒ¦OŸ.ô'—Ë‘œœŒ   ¤¦¦âòå˘3g~øá‡ËËïòå˘0aòóóR\]]†«W¯"""ãÆÃ±cÇ`iYø{¬*yœüð"RSsTÎIÕ1«’OYÞy§ºuSýÇffª/¦Ž\¦Ooƒ-[¢Ð¬™Ó§W¼ñ&Õ_¹¹…¯ººŠ ZÖ/ÙÙÙ˜5k&L˜ pÓÝ¢7ï¯]»&´[±b…PˆéÒ¥ ¡¥¥…B‰'"88X¶lY™Å˜œœLš4 3fÌP:¢ÔfÙ²exûí·ÞÞÞˆ‹‹ƒB¡ÀãÇqîÜ9XYY!**Jج8%%<@›6mJ1ŠÜ¿_˜±sáÂ$$$ÀÆÆ¦T»ê(/¿™3g ÅŽ·ß~[©0òþûï#44ÉÉÉð÷÷Ç‚ ”.ƨ’Ç–-[„v]»vE@@´´´ —Ë1räH¥¥mŠ,[¶¬Ò±©’s}UôÚ“ÃM¥ˆˆˆ¨ab1†ˆˆjÌ…²~ö™‹PˆmmfÏn‹'žâúõÂ6/¾©ah¨ ÿ{PüoÝ,…P(01ÑADÄ ¥þÛ¶5U*$–KJúw¹‹›7Ÿ¦Mk#b€Â%¶þûßÖøøãP•sRu̪äS–wÞi¦rl•UÛ¹5cÇŽ_–,==2™ YYYˆŒüw)Ç#F@K«ð÷¤H$‚‚ƒƒ.±{{ûRãLœ8ñ•qˆD" 4H8¶µµE\\ {÷î°²²PX¬(.!!AØW&777nÜ@ll,^¾|‰¼¼<(ïïSãÅ t~©©©¸sçŽpœŸŸ¯´üXñ¸Š–€+R™<233•¾?Æ ¾?ZZZ6l"""j,¶WåLDDDDõ‹1DDTcÒÓ ×oǪ̈Ե¦M%‰€´´Â6ÏŸþwß¾‡*÷ok[zé+CÃgß”ŒÃÎΰTûÊîc¢ê˜Uɧ,êØ3¦HmçBDÔ˜˜˜ÀÐðßß7%75V(xþü¹Ò¹’{•”\Â*55µT1ÆÄÄÆÆÆÆR||áqQ!¦,E…ƒ¿þú _|ñE©xKÊÌÌ|åõª(+¿/” ÿ¿ýö[¹÷'&& +›GzzºðÁ ô÷ÇÌÌ %U5¶âTùžQýÁb ©L$úw:ùgŸ}†õë×k0šº#%%EéèsçÎÁÛÛ[siP£F…o=~œ‰¦M• !OžH¡P¦¦ºJmÇkssý2ûÓ×—y^Õ8ž>Í‚••rßqqÒ*õ©ê˜ÕÍG{ƨJß"¢úF,®øõ°ä›ù)))JÇÉÉʯûæææU§ø¿×_uñÂC‘ììlÌœ9 —[ëß¿?5j¹\®´Œ—:”•_ãÆÊû¬ >¼Ô¬ž"E3Yª’G£F”ŽK~Ê*êT%¶’TùžQýÁb Õ˜.]Ìqðà#lÚ….]Ì``PøkF.W`íÚÂ¥<ºv-|ƒÉÓÓ<„\®€Ÿ_kˆÅÊo %'g#>^V¥8:w6áC°eË]øû{@[»°ïœ9üýïU5½Wª©|Ô¹gŒª*›‹®®X˜ñDDD¥™››ÃÅÅEX ëÈ‘#5j”°g̯¿þ*´upp(s‰2u‹ °zõj¸¹îsváÂ…Z(ý¼‰Åâ2÷‚¹{÷®°wKUò022RçØ±c;v¬°g̱cÇj$6""""jØXŒ!"¢3t¨¶l‰Âµk©80^^ÖÐÑãâÅ$ÄÄd Q#]øú¶ l={bñË/qáBzô°‚¹¹.^¾ÌÃÇ™¸r%'¶„«kã F-+{l؉¿þJÀ AAèÕË ry‚ƒ‘•U¸yò+><\%5•:÷ŒQUesiÞÜwî¤ãóϯ¡iS ÄbFŒhZé%ለ곯¾ú &L€\.ǵk×0jÔ(¸¹¹!<<×®]Pø†þ¼yó4_Ó¦Mahhˆ¬¬Â¥2,X€~ýú!99W¯^ÕHL0oÞ<Œ?ùùù8|ø0îÝ»‡îÝ»C$!>>‘‘‘xøð!fÏžvíÚU9O?ý~~~€ëׯcôèÑèÖ­®\¹Rî2c•ˆˆˆˆ6cˆˆ¨Æhc×®˜:õ<ÈD@Àáš••>6mê.,¦¥%®]=ðå—×qölx¨Ô—µµ~• 1 ‘hÃßß“'‡âþý Ü¿_ø YKK}ÌÛŸ~ ††5û+PùÔ¶ÊæòÑGÎøòËë8zô‰pÎÝÝ‚Å"¢bzöì‰íÛ·cÁ‚xöìþùçüóÏ?Âu+++,^¼}ûöÕH|ÚÚÚøî»ï0gÎÈd2ÄÄÄ &&–––ð÷÷‡FâòððÀîÝ»±`ÁåBDTWˆeíÞ¨¢Q£F8PcQÝU|CÐÏ>û ëׯeûyóæaùòåå^ïÕ«Nž< CÃÂM¾ Þyç=z´TÛ)S¦Àßß_8.^Œ©ì8%‹1Ó§OÇÆKÝçãッV+6ª¿Ôýú—˜˜ˆÌÌL•Úþñ‡¦O·FLL¬Zby]ÅÄdÀÎÎÿ€^¼ÈŘ1Á¸?¿ýÖmÚ4zEDõ‡³³6nLÄ Aª½®UQEøûˆjƒ&Õ§F}Ê¥¶µn}îîøé§^š…ÊÁßGTUÖÖÖ02*ýAWàÌR‹Ã‡ ---lÛ¶ £GÆÓ§Oñî»ï",, ÿý7¾øâ lÞ¼¨TìXºt)>ýôSÄÆÆbôèÑ56NI8sæ ºvíŠeË–aõêÕ€C‡áéÓ§°³³+Ûwß}‡I“&ááÇ3fLõŸ0"ªqý•ÿ{èÑÃöö$&Êð×_‰HOÏ…§§% 1DDDjRÖJrww‡»»{-DCDT{""†i:„SŸr!"ª+XŒ!µ(>SäÝwßÅĉmÚ´Á·ß~‹¡C‡~øá¬Y³zzzØ»w¯pOçÎ…ÍK»víŠåË—cìØ±52NIsçÎE¿~ýÎ’)*Æ@tt4ììì”bëÖ­æÌ™èÔ©–/_Υʈꠖ-M“#ÇצMáž°°0¥þ®]»VcãTE«V­„Ç7nÜPºvóæÍ*÷KDDDDDDDõÓíÛiع3úúZX´¨#BCßµkƒ±fM7˜šêâøñ8œ9 °8òÍ7á01ÑÅŠúîÜŽ'ú㭷왎¼¯Ôÿ•+)°µ5į¿z#"b(Μ€=,‘––‹£GŸíÂß#0ðŒŒ´±jU\»6—. Â’%pút|¥rRu̪äSÛj:—nÝÌó´´DèÑÃ11ï_œCD‹1¤&S¦LïÙ³ëׯGbb"²³³‹?ÿüS¦LÁ| ´óõõ_¾|ëׯGzz:®_¿Ž¹sçÖØ8UQ<¶k×®áûï¿Gzz:ÂÂÂʈˆˆˆˆˆˆ®?ÿ|ðók÷ßw„¥¥>LMu1|xS,ZT¸$Øï¿ÇŽyŒü|–.í„Q£šÃÒRººb8;cýz7XZêãôégJý7n¬‹íÛ=áêÚÚhÞÜ ¸¢¢Ò…v'O\æÌi˜šêÂÂB¾¾-ðé§mPªŽY•|ÊòÓO½”Š}©:+F¹±CU²aÈD¢R_E³[FŒ¯¾ú —Ë1sæLØØØÀÀÀÎÎÎ4h¶mÛ†¤¤$¡Ï±^#ðm IDATcÇbøðáÂñÌ™3ajjŠnݺaÀ€Jã‹þ·áCUÆ© ___ 2D8þâ‹/`jjŠÎ;£oß¾ÕꛈˆˆˆˆˆˆêŸ‡3}ûÚ–ºÖ·¯ àÑ#) :ú%`ÆŒ«hÝúZµ*üjÙò0Z·>‚äälÄÇË”úh×δԾ+M›J™™yÂ¹Ç ÇèÝÛªTe{UǬJ>µ­>åBD¯îCj³bÅ 4[·nEhh(âãã¡«« ;;;´jÕ Ã† ðaÄö"‘ÀÊ•+ñÃ?àéÓ§hÞ¼9f̘޽{cÛ¶mBÛFUyœª‰D8tèV¬XüQ)¶Q£FÁßß¿ZýQýô¿Ï“¾RAAáf$r¹¢Ü6¹¹JÇúúZ¯«ô ¢2Q(ʯ,ªŽY•|Ê¢Î=cj;""cHe•ý ½{÷FïÞ½Un¯££ƒ `Á‚Jç7lØ <ÖÓÓSÚÃ¥²ã´iÓ¦Ü\ŒŒŒÊ½¦««‹E‹aÑ¢E¥®ý?{w^Óµ>pü{2ϳÌ$’‚˜‡Pbh %Eµ:h{K«TUÕj«(í­º—ª¢EUé¯Ñ¢h ½æ)ÄÐÔ,ˆ„$"‰L2¿?¶œä8™¼Ÿçñ”½×^gíXÝûØï^ï[“ŸB!„B!^îîJP`ß¾xš5³ÐØ·<nnÊJŒâÂêÕñØcÕ[­R™&M”Ï8x0ž_ôÐØwøpÕÕq/Ïç~«î¹¨TŸ/ω„Ú$#”©S§bllÌðáÃñòò"==ÿýïW^y“z¥B!„B!DÅžx™¥K/±hÑ%LMõ8Ð}}&2{öivà©§š°ti“'‡0eJ+zötÀÎÎÔÔ<"#3ض-cÞx£yEY¦Y¾<ŒyóB15Õ§O ‹Ø¹3Ž%K.Õé9««óùùçž÷d|ÕQÝs±²2àòå4¢£oãêj‚ŽN–F ! Œ JBB«W¯fÖ¬YeîïÝ»7óçϿϣB!„B!„¨žÖ­­xí5/~ü1œ™3O1sæ)ý®ôï¯Ô“qw7ãóÏ;0}úI>þød™ý_ý@ @»vÖ<û¬ëÖE1eJˆÆ¾!C\Ù¶-}ýº-+}/Ïç~«î¹øú6bëÖúõÛ©ÞØ‹nÝìîùX… ›cDƒ2oÞbbn³vm$/*E1[´°àùçÝqu5­ÖX ŠØ¸1Š  DÒÓóps3ã¹çÜËýÜ¥!DÕ¼új0f|úiÛúJ­=Lç"„>þ؇–--ùå—+„…¥©¿#?óŒ/¿¬™2ìÙgÝhÙÒ‚•+Ã9~ü&ÉÉ9ØØâînÆ!. Ö¤Æãøâ‹¸¹™±vm$qqY8:1j”>>VlÛƒ……~mOU˽<Ÿû­:ç2mšùù…=z“ÔÔ\$³½¢˜ª¨Å.FŽ Àúõëël@Bñ ¸×׿„„222ªÔö¯¿Ì˜8Ñððˆ{2–òääкõfüýXºÔ÷¾~vi/¿|ooK>ùÄ§ÞÆð0:}:™Q£‘“S µÏØX :ãï櫓}è턆¦jµ×ÑQñþû­´Þ|Û»7Žwß !++ÿ®þuY¶¬;=z4ªÒXsr 3&˜ãÇojl×ÕU1wn'†oü@öS—¼¼<ùöÛ®ÚuEˆš¨¯û€Ïf||¬Y³¦êµ ª‡é\î7ùNÐðÉýHÜõy?zÍž}†ŸŽ`É’n è\ßÃâ¾û‘¨)ÌÌÌjzøzY#„âvüøMT’‚·Îed䣯¯" À¶m­pq1!99—ÀÀ«œ>Ì”)!<8Hã º´´< p¦[7;š41%+«€}ûâÙ´)šyóÎÓ»·-[*+CRRr™|—.¥r“~ýJVÇüñG_¬¬ 4Ú삾¾Šu뢾¡ÆìÚGFF>8³xq7uûþý01Ñã§ŸÂÙ°!šÑ£=+g~~kÖ\EWWÅêÕáéi€ŸŸ*¬^Áš5‘L™Rq*½†Ö¢zºtyxr°?Lç"„¢áHKËeÞ¼PæÍ ÕÚ7mZ[LLtË8J!D]’`ŒBˆZ+((bݺH‚‚ÉÍ-¤C^yÅ33íÛLTÔmÖ¯",,‚‚B<<Ì1ÂM«–Fbb¶º]FF®®¦ôìi¿¿*\º”ƬY§)((âܹF R;}z[¼¼ÌÕ5mÞ}×»Jã+((bÿþJ :ú6ºº*š7·àé§ÝhÚ´djéz9ï¼Ó’ÀÀ«=zþþNŒÑD}?ÿÁÅ‹i˜™é1r¤=f¯õ3IMÍå÷ߣ9y2™ŒŒ<Œ8ÐI#Ðq¿™š–ýA__‡=ì¹t)¢"Í×ïÄkÖÌB}l±èhe9xß¾ÚoàõëçÈO?…sà@|¥Á˜Ó§“IKË£W/{uà£ØèÑ^¬^ÁÁƒñ•?Z?Bˆê)¯ÎJUï9PµkqéëUï-§OßbݺH®_ÏÄÉÉ„çžsÇÅŘwßý›œ5®uwŸKM?³!Þ[îÕ¹Tö@êu !<÷œ;iiyìÙ§þ·N«VVŒÛŒ~ýë{xBñH`ŒBˆZ),,b„cìݧ޶<;wÆòûï½5Àÿï×™<9„¼¼Bõ¶X½ú Ó§·U° KãÙg‘¡YK$0ð Ï>ëÆ—_v$==O]“#--O£>GZZ……E?~33½*oÔ¨ þù'Iã3÷îgåÊp/îª~èSÒ·>cÇáðáDuû;c¹z5áÛðâ‹Aܼ™£Þ·m[ ?þØ?¿’ÄɓɌw„[·r5>wÆ(FŽtgΜåþì‹}ùåYÎK©´]±yó:Õ*MÖÙ³·04Ô¥S'›JÛ&$d³vm$zz*z÷.9o##å+HRRŽÖ1Å?³ððôJû/nÓ®öX76ÁÊÊ€+W*ÏÜÐúBTÏßß$;[³ÆUUï9PõkqMî-ë×GòÉ''5Š÷nÜÅ”)­9~ü&Í›[Tx.5ù̆zo¹WçRÙw!„`n®ÏäÉ­˜Ž Þ++bb29t(ôt%@Ó¢…½Ê,Ö[ú تŽ ##aÃÓ¥‹®®&dgpáB*«VE0kÖ­·‰ŒÇÆÆiÓ|ðð0',,E‹.°bE8{÷ÆãêjÂÔ©m°²2`ïÞx~ýõ* \Pc22òy㣤¤ä2|xcúôqÄÒÒ€èèÛ¬ZÎúõ‘tïnÇС|¿x1U«X|E²² *oT޵k# IbòäV宄yóÍc¤¤ä’ššKxx:ú|óMš41U·éÐA V¬\AŸ>Žêôe11·Y´è"))•?@»uK Ü4jdTæ~{{#ÂÂÒÈÊÊÇØ¸ü¯= ­!DíTçžS“kqUï-±±™Ìœyš¢"1¢ ýú9RPPÄÎqÌŸ¾ZçTÕÏ|î-u}.}û:Vé;B!„õIž!„¨==~ýÕO#—››)/½tˆ'’ÕTþø#šìì­7rtÆÉÉ„… /°vm$³fµCOOI5o^'þÏ?ï®~ÃÕÜ\ŸnÝìP©ÀÒRù}i99Õ@``/Ž»ÉñìØqÜÜBŠŠÀÐP‡ë×3‰ÏÂÑÑXãÜ×®íMãÆÊ›À½{;•UÀ·ß^@GGÅo¿õVŸK߾ބ†¦pöl ùùEè驸ãh’’r˜2¥5o¼Ñ\cüƒ»Ð»÷v6nŒ®ôÙÇûTëÍ_ggãÊ•aïÞxfÎ<ÅÀÎZã-íĉ$A¾¾pw7ÓhÓ½{#ºt±åï¿“6lM›š¡¯¯Cxx:›biiÀíÛ•ŸSÁgººeWl.ÞžŸ_Tæþ†Ú¢vªsϩɵ¸ª÷–Í›cÈÍ-äÕW½4C†¸òñÇz¬_YåsªÎý¶¡ß[îŹTô@!„Bˆ†@‚1B!jÅÇÇZãa @›6Ö@É*PÞ°xþy7­>^x¡) ^àÂ…õŸ7mŠfܸ# Þ„6m¬hÑÂCC],,ôïÉø Šxソ J¤<ééyÁ+u ¦XË–Jº™Õ˜bÞÞ–œ>}‹„„,\\L8u*€]»b NT§°)*‚¢;ˆˆ¨_Ý™Ï>kÇÕ«ëÒ¬™‡'RXX¤UG¡,ÅobGFj×aÉÉ) 66£rWª4Ô~„µS{NM®ÅU½·×~)ëE‚²î©êg>÷–û}.B!„B4òZ¦x(dee¡««+Á!0{{¥†Æ™3·ps3ÕØwöl EEààP²êÄÒÒ€—_öPXNLÌæ7Žò¯bß¾êªÛÞ$©‰Ó§•·o/î¦õ6ð‚¡µÿ€289)ç;kV;¼¼ÊíÚY«ÿüóÏôéãXißmÛ*Ç8@AA‘Æø‚‚ÉÏ/R·yúBÔNuî9uu-®h¡¡©++Ο¯z £:„{KUÕä\êâ;B!„÷B­‚1Í›7§yóæ¬_¿¾®Æ#D¨T*ÆŽË‚ ê{(â1räÈúÂÇÏÏ_~¹Âÿ{žæÍ-hÑBy¨rýz&3gžºÓÆ€U«"hÙÒ_ßFêã­­ 03Ó#11›ÈÈÛêãMMõˆ‰¹MaaQ…©³*S\›æÄ‰$u0&?¿ˆï¾»HHHRû­ÈÀά^ÁŸ^cÞ¼Îî ŠØµ+–‚‚ÊŸ*Ý‹¼þEEðå—gøé§† kÌþÓ©Â@̹s)œ?ŸÂ°a12* ”ݸ‘Í_œÐz¶aC:ØàᡬtÊÍ-dá ìÝ!Ï<Ó¤Òq:9Ó±£ 'N$óõסL™Ò•J)ÞýÕWç*­‹ÐûBÔNuî9uu-.KÏž^eîÜsxy™«ûOgÁ‚ µ9År5ä{KuU÷\êê;B!„÷‚¬ŒBq_ôí눯o#޽ÁС{qwW ¶GD¤“—WH³fêœúÄóÅg05Õ£IS t¹r%ôô<¬­ 4Æ´jeÅÑ£7èÓg'..&¨T0}z[<<ÌÊJ™úôq`É’KÌœyš ÇÚÚÈÈ ÒÒriÝÚêž¼Áܵ«#Gº³~}$ýúí¤qcììŒHKË#&&“œœÆoÎ!®ös/òúïØqŸ~Š@¥‚ØØ,^~ùV›ýË“AƒœHLÌbÚ´“Ìœy ll IMÍ#22ƒÂÂ"LMõxýuÍÔ~&òÑG'pq1ÁÖÖˆˆt22òÑ××aÞ¼NZ)|æÎ=ÇéÓ·˜9³úÁ*ÀGù0jÔA–- ãÏ?¯áà`ÄÅ‹iääй³-ƒ¹4è~„u¯:÷œºº—¥_?GÚµ³æôé[ ° OOs Џz5ƒ-,ˆ¥ÎÓ6ä{KuU÷\ÊûNÐÎE!„B Æ!„¸/”‚í¾|þù6mŠVÜÕÑQ1`€3ŸÞ^½¢bÌ/ !88‘ RÕ}tëfÇ'Ÿø`l\²òâƒZóÆG‰ÍT§ÁªÎ›¼ÅÚµ³aæÌ¶|õÕ9¢£o}++æÎíÄ¥K©÷,Ì¿ÿÝžfÍÌY±â2×®eríšrúú: ìB@@õþÕ…âZ EEð÷ße§©éßßIýû¶mm=Ú“?þ¸FTÔm¢¢nÊCÆ>}ùðÃÖxzjÖú9Òðð4.]J#&&óN?ÖL›æC§N¶ZŸWœ2'=]óï·cG–.õeÆŒÓÄÆfŸ…ŽŽŠù÷¿; R5ì~„u¯:÷¸w×b]]?üÐ)SþáàÁ.]J”4Œÿú—¯¾Œ©iÝÿ“¬¡Þ[j¢:çRWß „¢& ŠX²äfÔuVTOLL&§O'“‰¡¡.­[[Ò¹³]¹ßñ32ò9~ü&QQ·)((ÄÃÃŒž=00Ð)³}aaÁÁ7¸xQùwpË––tïÞ¨F/oDEÝæÐ¡ÒÓópw7§wo{Œ«ÿ½£¡õ#ăLUTTó¬ºÅiz$M™¨o*•ŠI“&Iš2qßÜëë_BBÚÀËò×_fLœè@xxÄ=Ky ‹øûï$¬­ ´ ­ï³±1 Y3íï·oçsåJ:……àæfªNv·ÌÌ¢¢2(*RÒ?Y[—Ý®  ˆððtÒÒò(,,ÂÛÛ33½/++Ÿ«Wo£R——9úú:DGß&..‹¶m­16Ö­ðÜSRr¹t) ww3Œ4öEFfM»vÖA zDEeœœ‹..&èë—ýý~¸y3Gýð²—Ú|fC»·Üs)ë;……ö5ZÔ¹‰û¡¾îG99´n½'–.õ½¯Ÿ]Ú¢Equ5á©§*Où+ª.22ƒ?ü‡'’µöµliÉâÅ]qw×ÌÎ0cÆ)6nŒ&;[³®š½½_ÝY#-7(ÁŠ Ž–¦±ÝÛÛ’eË|qv6©òx,åûïÃ(,,yìëäd̲eÝiÕªê+FZ?uEîG¢¦03«^&–RÖKøQ!Dèè¨èÖÍ®Úû@ÉéîãSysÝ*¥ÑÕUi¤‰*V“ñëi}lÒÄT#5ZEÇ[Y”»ÏÝÝLë z1•ªx™»ï;;;ÃttT¸ºšâêjZyã;œMªô‹–-+ž Å´­!DíuéRû{T~-®É½/((ss}Ú··V°ƒƒo°xñEttT<ö˜}…çR›ûmC»·Üs)ï;B<*/¾H·nvŒ©cׯgrâD2®®&´mk‹‹ Éɹlß~‹Syíµ`vìèž^É –={â01ÑÃÏÏ&MLÉÊ*ààÁx®]Ëdܸ#ìÞ={{åe´üü"^ýW®¤ãìlBß¾Žèë« R²EŒw”?ÿì[¥26D±dÉ%tuU Ú''cLàÂ…T^=˜Ý»hd›xPúâa Á!„B!„¸G.]J嫯Îakkˆ««) YÄÇgðÒK®B!DÃд©ëÖõ¦cGí“&yóÔSûˆŠºMHÈMÕ.sçvÒJ1VPЖѣsäÈ öì‰ã…šJàæÊ•t¼½-Y¿¾·:“BAAãÇeÿþx¶o¿^¥v‹]¼óß®  Ôøœ<¹cÇ”Èo¿]e̯®!Œi`‚ƒƒÙ¹s'£Gƽ¯°íÞ½›C‡ñÆoàèèX÷"8vî„Ñ£©Ñk–»wáCðÆ sT!„9??víŠãŸ’HJÊÀÐP—_lÊÔ©mêytB!ˆtJ$7·lèÜY»&"(Ûƒƒo–FAA!žžôìÙCCí•!!I„…¥‘‘‘‡««)]ºØÒ¨‘ÔÍä÷ߣ),,":ú6ß~{Q}܈qr2ѨiSÕñ%'çpüøM¢£o£§§Cóæe4ëå\¸ÊÑ£7ÐÑQêGº¹)«æ‹Šàðae¥‡™™:ccSöjüsçR8y2™ŒŒ|ŒèÝÛ[ÛúKû[Þj~''ct&0ð*))šuÊzö´×j¯««Âß߉#Gn™Y’¾¬¸FÌóÏ7ÕHi­««âÅ›²<;vÄVŒ)®ÇÙ¦•:ðQÜϤI­ Jd×®¸Jƒ ­!Œi`‚ƒƒ™5k}úô©q0fîܹ >\‚1âÞ†Y³ OŸšcæÎ…áÃ%#„Bˆ‡^óæ¬]ëGJJ.×®ÝFWW3­ÚaB!Ë–…1oÞyJWi~öY7¾ü²£F»ððt&L8ÊÕ«šu+ŒX´¨›zFJJ.¯¾Ì™3·4Úê2eJkÆŒñ$66‹o¿½(Eæ‹JúæFŒøöÛ øû;qýzf•Æ÷ùçgøõ׫äæjlww7ㇺӴ©’‚9?¿PÝwxx:‹—‚¾üò, vå±Ç1~üQŽ¿©Þ7~(k×úáéY’Ú÷æÍÞ{ïo޹¡ñ™ÆÆz̜ٖgžq£2›6EsíZf¥íнü²G¹õI«")) J)¶‹Š”¦:Øhl¯Ì… ©•¶)ꔕúÓÇÇ cc].]JÓÚ×Ðûâa!Á˜¦GÌœ9³F!î‹=`æÌšb„B!QVVXYÕüABˆéSÉìÝOïÞŽ4kfNBB6ýúuQ4¦G%UVV>¯½Ìõë™8;›Ð»·úú:>œHDD:¯¿~„ÿýïqìíXµ*‚3gnáà`D¿~NXZêsýz&Çß䟒3Æggc&NôfÑ¢ ¸¸˜0bDIÐÂÅŸÚã%h`ooL‡J”œœBõª—?ü‡õë{kœûÉ“JßþþNxx˜–Æþýñ̘qŠ®]m Má™gܰ²2àСD.^LeþüP¾û® ¬°yýõ#œ={ WWSzõ²ÇÒÒ€¨¨ vïŽã“ONâåeAûöׂ۴)šàà¶)mÈ—cNºÅ®]±<ù¤«zÐÝV¬¸Lff))¹'žÎ˜1ž)Ïš5SR¿ýv•§Ÿn¢‘¦,0ð*‰‰Ù•ާ¸MY«xttT8;›‘Nnn!:L?B<,$ÓÀôèу=zÔ÷0„(_Ê/!„B!„BhHJÊáûï}ñ÷wRoëÕËž>ø‡ýûãÕÁŽ-[®sýz&;Ú°zuOuóüü"&Mú›íÛ¯³fÍU&Mò&9YIs¹qc_Zc¹¹…œ?Ÿ(»'NlÉ’%iÒÄ”‰[jŒ+'§ Zã˜5«æ=zƒ¸¸L éÚÕŽ›7³9y2™[·r5‚ÉÉ9¬Xу޽ÔÛ>ùäëÖE’ÄŽýÕãÏË+dÀ€]ìÛOQ¨T°sg,gÏÞâÉ']™7¯³F*´³goñÌ3øé§p.ìRáßÁSO5¡sgí•å)/UZe®]Ëd„£¸¹™1{vûrÛ­Xq™›7sÔ~ñEÞ{¯µF›ÇwÂÉɘ R0`7}û*Á¹  D³15Õ#;»àÿ=—•æP<²³ * ~4´~„xX<2Á˜ÒµT¬­­Ù²e ááá8880lØ0ll4 pmܸ‘3gÎðá‡bbbRæ¾>ú###­þ-,,ؼy3QQQ4kÖŒaÆ¡««\tâââØ²e ÉÉÉtéÒ…Ç\£ïŠjÆDEE±{÷n°±±¡OŸ>´l©ys--33“?ÿü“¨¨(œ:t(VVVZí’’’رc7 Y, IDATׯ_ÇÜÜœV­ZÑ«W/T*U½ -7nÀwß­-¼ý¶æ¾ìl˜?tuaÊЫà¹ÒµT¬­aË6 lÜgÎÀ‡Â]sT½ï£àÎÕèßÂ6o†¨(hÖLéÿÎ%.NùìädèÒÖŒ‰ŠR>'!AoŸ>PÁ%3þüS9ÎÙ†…2æ(II°c\¿ææÐªôê¥|[B!„B!ˆV­¬4}ú()ºK¯l8q" €wßõVbôôTL™ÒŠíÛ¯óÏ?J›œY³æ*+W^æÙgÝñð0G¥Rd—NuU—ãeÕǘ1‡ÉÏ/;‡VRRŽF0¦uk+@ ÀcÙ³n]O?í¦HÒ×סk×FlØÅÙØÛqø°’¾ËÄD¥KÃ(º“»«¨ŠŠŠ°°ÐçìYÍTmeyê©&•¶©­ˆˆt^~ù¦¦züòKOÌÍõËm;vl3nßÎçÖ­\Μ¹E`à‚ƒY³¦—ºæ‘‘.Ë—wg„cÄÄÜV¯†14Ôå›oº0qâqLM+Œ[ô(‚Ü­8å\eéRZ?B<,©`Ìܹs騱#S§NåâÅ’ü•¶¶¶ìÙ³‡víÚ©·mܸ‘ÀÀ@Þ~ûí2ƒ1Lš4I#3wî\|||˜2e ‘‘‘êö=zô`×®]lÞ¼™Ñ£G““S Ÿ0aß}÷úÏåÕŒùä“OøÏþCAAÉÅK¥RñÚk¯ñÝwß¡¯¯yÑ¿|ù2Ç'**J½ÍÎÎŽM›6ѳgOõ¶åË—3iÒ$²²²4ŽoÛ¶-;wîÄÁAó&*ÊШ‘|øì3åÂ;ï”ì{ë-X¹–-«8%µT:v„©S¡ÔÅÖöìRs”!0P •Œ „I“4ƒ1sç‚*5GéÑvíR4£GC©9Ê„ J°©Xy5c>ùþó(5GQ©àµ×”ã\¾¬Ô)5G±³ƒM› Ôeùrå<´m«…dŽ !„B!„h œœŒµ¶™˜”¬z)–šªÔiÒÄL«}ãÆ¦¨TJ­P Áÿú««WGðÜsÉÉ) Mkú÷wâ…Ü16®ú㽪ŽïèÑÌŸüýqs3ÅÄD•JEPP'O&SX¨¤qtÔî»8ÐTѾ¬,å9Br²r¾k×FVù|Êr¯kÆœ9s‹W_ ÆÆÆ_~鉽½Q…íÇŽm¦ñç+.óÕWçX¼ø"³f•¬¨ñö¶d×.‚‚¹|9 =ú÷w"))‡¼¼BZ¶¬¼&MñXbcµÏ¿°°ˆØØL,,ô+]…ÒÐúâañÈcŠ?===Ƈ™™Û·o'44”·ß~›   Z÷ÿæ›objjÊ›o¾‰®®.ëׯ'88˜wÞy‡ÀÀ@:uꄯ¯/7oÞä×_eéÒ¥Œ7ŽöíË_θdÉæÌ™ƒJ¥" ooo"##ùã?X±bvvvÌ™3G㘷Þz Ƈ‘‘»wï&44”§žzŠ‹/bkkËíÛ·y÷ÝwÉÎÎæ‰'ž M›6dggsîÜ9öïßÏ7$SUß|ÿü￯¬&ñõ…+”@Ì+¯À¸qUïküx%p3n˜™Áöíª]ê`Žòæ›`jªüWWÖ¯W,ï¼£p:uRÆó&üú+,]ªŒ¥‚9Ê’%0gŽ| oo%ØóÇÊÏÁÎNÙ_Ú[oÒ·‘‘, …§žRQ¶¶pû6¼û®²Âè‰' Må÷çÎÁþýʪ$™£B!„B!0––ÊÃÿèè 7Ö|ÁòÚµÛ¡Qk¬K[ºt±”,ÇßdΜ³lß~ß~óCG§n3GìÛÀâÅ]é×Os%Í… )uúYÅŠ&/¾Ø[Û²FF•?´¿—5c‚ƒoðÆGpv6áÿþ¯§zeKu âÊW_#44UkŸ¾¾ýú9Ò¯Ÿ£zÛòå—ðõ­<õZqÀæØ±›ZûΞM!+«ŸŠkî4Ä~„xXýôSLMK …999¤>Ÿüü|ž{î96nÜȪU«xÿý÷ÉÈÈ ;;›±cÇòÃ?h|æ¹sçpttDT‘ÔèØFŽ„T‚mÛÂ÷ßW¯/OOe•Ê9Êœ9J?‡CZš’b¬6¼½•”_wæ(“'CóæJàèÓO¡ÔÅÏÆŽ…mÛ*ÆÜ™£lØ SŠ;¦¤[¸Pé»ÔÅÉI .ŸO~><÷œ²ªgÕ*%°•‘¡_ÆŽ…»æ(çÎÌQ!„B!„ Žmùý÷(-ºHÇŽ6êÕ-E|ýu(:)Á—£Goàãc­NSeooD@€+û÷ÇóÇ׸z5OO¥¼ŽzEMm§®73ÓÌrqôè öî¯uÿeéÞÝŽõë#)((âí·[h˜nÜÈ&..«œ£KÜ«š1;vÄ2iÒßxx˜ñóÏ=±µ-ÿ¸˜˜Ûäæâáa®µoýúHìì4?}:™Ö­­ÑÓ+9ïX³æ zz*ž¾i¥clÑÂWWÎKaçÎX p”yõÍ7ʼêßß©¢.d?B<,¹`ÌÔ©SÕüýý¹téqqqµÆL™2EˆpwwÇÓÓ“°°0>úè#¶þþþ©ÄîMLL =ö˜F  [·nŒ9’5kÖpâÄ zõê¥qž¥ÏEOOÙ³g³qãF>Ìûᅢƒ=öû÷ïgëÖ­øùù©iÓ¦Mͪ&M`ÍeÇÀ`i©'Œµ—âVhêTÍc Àß.]Rê¹Ô63eJI ”Tcžž¦Ô˜)íÎ¥‚9Jt4ÄÄÀcibºuS‚SkÖÀ‰J`¦ØÔ©šç¢§³g+Á˜Ã‡•`ŒƒƒÒïþý°u«*>Fæ¨B!„BˆÔ“Oº°dÉEBB’4h½{+ÛN$<<KKFR¾/[Æ?ÿ$áëk››)úú:\¼˜ÊÁƒ èêª4Vи»›šÊûï‡Ð¸±)::*FŒh\íŵhÆ?Ê AÎX[rùr$`cc Q¾® âʪUüö[$AA‰ôèa­­iiyDFfpüøM^{­mÛV¼’â^ÔŒùûï›LœxœÂÂ"ºt±S×t)ÍÏÏö핱……¥1~üQ:u²ÅÃà CRSóøû‡§ð šÁ••+#8u*™îÝakkHhh ‡%RTS¦´ÂÍÍT£ýŸ^#*ê6Ï<Ógç’ÕUï¼Ó’©SOðÎ;Ç pÅÑј  BCSqp0Ò ê4´~„x˜=rÁ˜Ækm33SòsæååÕºWWW­m¦¦¦X[[k¬\)Þ™Y~Ë[·”Âdeî÷ôô 99Yc{Ó¦Ú²âmÅ}lß¾¯¿þšéÓ§sþüy\]]éÝ»7&L k×®åŽK”£W/psƒ«W•z(^^Õ9Ê9JÌQʘ£˜š‚µµæÊ•âíÌQŠçS9s”;s”»æ(eÌQõ¶Rs”íÛáë¯aút8^ïÞJ-™£B!„B!@ÆÆzüøc&L8ÊÕ«¬YSòpßÞÞˆE‹ºªëmtïÞˆS§n±woœF¦¦z|ú©Æ 1c¼˜:õþüóšz[·nvÕÆ èÌ“Oº²eK ë×—¼ 9r¤;ææz¬\^­þªBWWÅ?ö`êÔØ»7^½‚¤˜ƒƒQ¥˜{%66‹‚¥FÎ/¿\)³¹¹ž:Ó¤‰-[Z’DHH’F;++>ùÄ??Í´ë:ذkW,¿ÿ^òó62ÒeÒ$o­º3ü}'hÕH#øñôÓnDFf°ti˜Æ>›ññ±fÍš^•7÷]ZZ&°gO$––ÇøñÍùàƒÖõ=4!„(WNN­[oÆß߉¥K}ë{8¢ŽqäÈ ¶l‰áÔ©dbb214Ô¡uk+^zɃµŽ‰ŒÌ`Æ(L$**ƒ‚‚"<=Íyê©&¼ô’ººÚuþúë:«V…sá‚’¿¿eKK^}Õ‹'žp©ÖxãⲘ?ÿù$ææÊ4??Ÿ3fðØcGLL ]ºtÀÐÐÎ;cccÃ?üÀÏ?ÿ,Á˜êøá¥Öɘ1ðßÿ*õcþõ/%=WY«@jëÎeÛ6(5GÙµKIóu¿4i¢¬V9|6o†Rs”øýw%íÚ]s”¹s•@Õ9J~¾p%5(iÙbbàÎÅÐ:wV;?ü ¼dŽ Qg¦O?Ŷm1õ= !„x µhñݺÙñóÏ=ë{(•£Go0z´æwÛœœŽ¹Á‘#7xë­¼÷^+ý/¾DBB¶Æ¶sçR8w.…ààD–-Ó|!èÛo/òí·4¶<™Ì;ïgêÔ6¼þºöÛÈe‰‹Ëâé§÷“˜XòÙ—/§1kÖi""Òùì³vd?BˆªÑÕU1qbËíóósÐZ%q7cc=úôq¤OŸÊÇÒ¢…-Zh§8¯Éøºt±¥K[m={ÚÓ³§}•ŽoÚÔ¬Ü}Êù”] ÖÓÓ\]§!hÙÒR]Œ¾:¼½-ñö®úqööFUN³6lX™UJqw7ÃÝ];@ÖÐûâa&Á˜r0cÆ Þ}÷]‚‚‚pssãâÅ‹lݺ{{{âãïM±²²|ôÑG¼ýöÛ >œ€€Z¶lITT›6m"//©S§j¥@‹‹‹ÃÛÛ›€€ Ù³gçÏŸÇÎÎŽÑ£GJ­šîÝ»ãããC‡pqq!99™-[¶ààPñQʉ0q"´kK–(Á‡õë•´eÏ<ÁÁšuZêB@€¼x÷] RÒ£]¼¨¬±·‡û8Gùè#xûm%5[@´l©Ô™Ù´II­6uªv ´¸8ðöVÚž=J2;;¸3G‰ŠRVÏøø@‡à⢤;»3G‘9úÀ9{vhåD½±´Ô' À•~ýÉÊ*`Ú´“õ=$!„8==zö´gèÐÆ´kg³³1Éɹ¬ZÁO?…óý÷aŒ醫kÉwÍ-,7®9ݺÙáæfFff>ûöÅ3kÖiöì‰çСDõCÄÈÈ /¾ˆžžŠO?mËO¸ §§âÀfÎ<Íüùç8Й&MLË¢ÚܹçHL̦GFÌžÝ''cöïOàÃÿá—_®0|xuúš©!„BQ7$SŽöíÛ3qâD.\ÈÚµkÕÛ§OŸÎ•+W ¼ocyë­·ˆ‰‰á¿ÿý/[¶lQKT*¯½öŸþ¹Ö1‹/fÊ”),[¶L½ÍÎÎŽM›6ak«¼ÑàììL×®]9~ü8gÏžÕ8ÞÏÏO½’FT"%E ¸–¬¥žÉ‚ʪ•wÞQRkÕ¥öí•ÐÂ…PjŽ2}º’2ì>ÎQÞzKYÁòßÿ*’â`‰J¯½eÌQ/†)S ÔÅÎN àÜ™£8;+?ÇãÇ•ôd¥ùù•¬¤BÔ‰Ù³Û«¿}{l=ŽD!„PtëfG·nš)y]\ô˜6͇ðð4‚‚9w.E#³reöÆÆº<󌱱Y|ûíΟOQcöí‹§°°ˆW^ñ⥗Jj Ú˜ää\¾øâ ¿ÿÅäÉš«oî–žžÇöí×13ÓcñânXX()wt&!!‹Ù³Ï°nÝÕJƒ ­!„BQw™`Œ¿¿?FFF8:j/,Þgoo¯±ý›o¾áùçŸ'((===úõëG»víØ¸q#^^^iõQVÿãÆ#%%Ek»‰‰ 3gΤmÛ¶êmùùùèêj掜3gãÇg÷îÝ$$$`ccCß¾}iÙRs©gñ8üüü eóæÍDEEáââÂСC±²*ÉÑÙ¤IŽ;Fhh(!!!ÄÆÆbggGçÎiß¾=¢ŠNžTÒ‘õé^^šûÞ|SùïPñJ02‚2æzß]s”o¾çŸWVÆèéA¿~Ê꜕±”š£ö?nœTº›‰ Ìœ ¥æ(wæ(wÍQæÌñãa÷nå\ml o_e•LYçâç¡¡Jj³¨(eÕËСPjŽÒ¤ ;¦´ ØX%`Ó¹³ŒõªtŽþO?mË¿ÿ}†£GoRPPHçÎv|ðAk­åØw׌)ÝÇìÙíùò˳%’›[H‡Ö|ü±V……Eüøc8k×Frýz&ŽŽF¼ø¢ƒ¹Ð§Ï^zÉCv£&cøãküòKaai‚‡‡Ï<ãÆK/y ££º/cBQ}‰‰ÙUºCÕ®õ <¬ÿé§pÂÂÒÈÈÈÇÅÅ„^½ìyýõæ88’ÄóÏ 8ø^^›ÔÇö¢}{ëjß/"#3 ¼ÂáÃ7ˆŽ¾®®ŠæÍ-xá…¦ŒQ’º¤ô½húô¶|ñ…rŸÓÕUñøãN̘ÑSS=Jdá \¼˜†™™Ï>ëÆ»ïzkœ'Àñã7Y±"œ'’ÈÈÈÃÑÑ„xçoÌÌÞ?==Í JÄÜ\¿òÆ€žžr¾¥ ]'%å”9GZµR¶;v³Ò¾OžL&?¿ˆ¾}ÕbC‡6æóÏÏpüxR9G7Ü~„B!DÝixߨïüýý«½Ï××__ÍB #FŒ`ĈUîcܸqen711á³Ï>ÓØvåNt›»‹îîîŒ;¶Ì¾ÊǨQ£*lЪU+ZµªøM/Q¾}•_å)ÈTÆß_ùUÝ}¾¾Ê¯ÒFŒP~Uµræ(&&p×åÎ¥Œ9Š»;T2GµÆQ…9J«VÊ/Ñ ¥¦æñÜs4r³<˜@HÈMÖ®í]¥ü¸iiJ×®eª·ßàå—±kW¬­K Μyš_½ªþóµk™|õÕ9Ο/# Xƒ1~õÕ9V¬¸¬q|hh*³gŸáäÉd,èr_Ç^–ýëÁÁ7ªÜ~Çÿ•oYÔ[·bíÜáB<,ªs=®êµ~ß¾x^ýˆF»ˆˆt""Ò‰Ïfñâ®÷d|ãÆåÊ•tãOžLæäÉd³yãæûRSsyþùƒÄÅe©·mØEJJÏ=ç΄ Ç((( ++Ÿ%K.accÈ+¯xªÛÿúëUfÌ8EQQI¿11·ùñÇp‚ƒo°n_¥Evïçý)7·½{ã±·7¢K» Û¦¤ä|ƒ~¸Œ!:«÷ÿÜ/\HÕ:.4TÙ™Qéx¢¢nм¹ö÷++Œ¹ví6……EZA°†ÜB!„¨;:õ=¡Øºu+¯¿þ:«W¯ÆÒÒ’æÍ›W~÷ÓÖ­ðúë°z5XZ‚ÌQqÇßßÄÉɘ zsöìPvìðgÐ 23 ˜5ët•ú8~ü&NN&lÜØ‡³gŸd÷îþôèш””\þüóšºÝéÓÉüúëUÌÌô˜;·#!!C8zt0³g·g×®¸ZñüùV¬¸Œ‘‘.3g¶ãÈ‘' Âüù±²2`Ë–vïÖüœ{=v!êF&ÿù?o¼ñqq2ßÄéª×ãê\ë‹ÿ;yr+Žy‚ †±kW>û¬NNJjÚÎm  ]]=z4"<ü)õ¯Ò鵪:>//sæÌéÈ®]ý¹pa'Oðë¯~4kfÁÒ¥—Ô•bÿ„‡‡9[¶ôãܹ¡lÜØWWöì‰çƒN0z´'äÌ™¡|óMtuUüøc¸úøk×2™5ë4Ì™Ó#Gž 4tÛ·ûóÄ.\¸ÊêÕWêö/¬–>ÿü ÑÑ·™=»=eÿ³Ö×÷/¼¼6ѹó6&NÌܹç™6í$¦¦z¸ªÛMŸÞ–æÍ-X³æ*ááéëòä“®Œל^½¶«WAU¤xµMjjÙ«hRSóÐÕUal¬[æþ†ÚB!„¨;Œi ê{BTL樨!UžÞi?(9Lûø²ú¬Ížw÷WNõ1v©#jÊÐÐ÷ß???¦L™B@@ß}÷íÛ·¯ï¡ QkÕ¿WÞ§™™ÿ÷= KãØ±›\¼˜Êï¿G‘œœÃgŸµcÈ×Ê;©æø6lˆ&..‹œyç–¸¹™al¬‹JÓ§ŸÒ¨=VÌа¬êEåî+¾iü÷îôg¥Ý½:§,÷òþ”Ÿ_Ä„°eK Ó¦ù0fLŘb*•²*©OGœM®M«J?ÇÍM ¬……iמIIÉ%!! 77³Jë³4´~„Bˆ‡U^^N}A<‚¤fŒBˆZ M!)IóKL~~GŽ(cJ§Q©­â¾Œ×Úwøpùª:Fwwåо}Úýï߯l+~¸Q]5»÷B—.]زe ­ZµbÔ¨Qlذ¡¾‡$Ä}S“k}óæ¼ü²ÿþwvìð§kW;¦Lù‡ÔÔ\u•J¹·ÔVñJÊ÷ßo…··²âE¥R‚!GÞ›ûEq@dõêÇ4jÞ”þ2äž|vUdeå3nܶnaæÌvUÄÜ­8 T\O¥²¶K—†0xpåA·lÐÓS±o_¼V™Í›¯QT]ºØ>pý!„§<æÎíǧŸ~JRRR}F}(,,bçÎ8–,¹Të1>ñ„3K—^bÑ¢K˜šê3p 3úú*Ldöl%‡|UÈÔåØË"5cD]°°°`ùòåÌŸ?Ÿ>úˆk×®1iÒ¤ú–÷\u®õ|GGJV)} IDATcÜ 77Sôõu¸t)Ë—ÓÉË+$!!KK@)ˆ~ùrÑÑ·qu5©ñŠƒâb?üp™I“¼Õý.Xp«W3êà' í©§š°ti“'‡0eJ+zötÀÎÎÔÔ<"#3ض-ãz©“žžÇرG8q"‰Ù³Ûó M+lèP"7FóÌ3nxzšccc@JJ.!!Iü÷¿JJÐ.]4S·Í{773üüì±µ5äÂ…4æÎ=KXXÞÞ– ìRÖGi07×gÐ ¶náwŽ3{v{Ø¿?ùóCxÇÞûB!Nº<þø[ìÙóýõ“'OfÔ¨QèèȺqoI0F!D­tébGTTO?}@c»‰‰.3g¶«ÓÏj×ΚgŸucݺ(¦L ÑØ7dˆ+Û¶Å”™Ã¿ªclÝÚŠ×^óâÇÙ9ó3gžÒhàJÿþU/\c¿ŸÖ­‹â“ONhl[¶,ŒeË”7ƒ_zɃÏ>«Û¿SQ¿tttøàƒpwwçÓO?%%%…3fÈ?BÄC­:×úøø,Ö¯bÑ¢‹Zý´je‰—WIŠ-_ßFlÝC¿~;ÕÛ{Ѿ½uµÆ÷ä“Y²ä¿ÿÅï¿G©·›™éÑ¿¿»vÅU«¿ªpw7ãóÏ;0}úI>þød™mƯ8s¯ìÝÏ?ÿ(o¬NŸ~ŠéÓOiµ)¶,7·€Í›¯©SŒÝ­Y3 Æk¦±-66‹~¸¬ÕÖÉɘ%Kº¡««X3æ0AA‰üö›;—¬.™:µ ÇŽÝäðáD|§Æ1/½ä¡5Z?B!Ä£C‡îÝGññÇþ|÷Ýw|ñÅlÙ²…/¿üOOÏúœxˆÉ¿´…BÔŠ¥¥>¿ýæG¿~Ž˜™éab¢K¯^ö¬]ÛooË:ÿ¼/¾èÀ´¦Iå åÆM˜:µ /¼à€……~­ÆøñÇ>ü÷¿h×Îcc] uñö¶dúô¶|ýuçû>v!#Gòí·ß²nÝ:¦M›V«LB<ªz­Ÿ;·“'·¢m[kÌÍõ13Ó£ys &NlI``/Õ/Ó¦ù0h3VVµ*vïädÌ/¿ôÄ×·ffzXXèÓ·¯#ë×÷®ÓÔŸw{öY7Ö¯ïM@€+ööFèé©°·7¢kW;fÍjÇ„ -îÙg×¥Þ½ùþ{_üýpq1AWW………>:Ø0uj6nì­u¿ýøã6¼ü²®®&èàæfÊë¯7cëÖ~Õú™;9³aCo† kŒ!:xy™3cF[fÌhûÀö#„¸w^}5˜/¾8SßÃHLÌæ·ß"™0á(£FñÛo‘õ=$Q‡LLL˜2e þù'ùùù :”U«VÕ÷°ÄCLUT‹m9€õë××Ù€„¨ •JŤI“X°`A}E<"îõõ/!!ŒŒª¥"ùë/3&Nt <<➌¥<99´n½'–.õ½¯Ÿ]–Ù³ÏðóÏ,YÒ†7Æò”5v!ê’——'ß~›ÀàÁ_WöïßÏ„ x饗˜6mÚ}xXÔ×ýHñàðòò¤e˾ Ж1cÆ`nn^ùABTÓƒt?òñÙŒ5kÖôªï¡ˆ2üûßgXµ*‚ÒONÇoδ®¿A‰:QÖ¿ X´hßÿ=ýû÷端¾ÂÌ̬G)"‡ÚÌ‹õµJS–””DLL ï½÷^mº¢NìÞ½[梸oNŸ>«kÍj‡ˆÚY·.Šäälú÷wÆÅÅ„ÄÄl6nŒ&0𠦦zôêåPßC,׃aàÀ|ûí· >œ^½z1uêTlmmužZÉÊÊeذc4jT±ck³aC'OÆ“› Ú3t¨G‡¯FŒ8Ž»»%_|Q·@&x±eË âÈÌÌ¥~}{† óÀҲ୼  ûlÙrƒèèT*W6§7ªT1c„ÓtìèÌðáZçpóæC¶n½Ihh99¹¸»[Ò»w5µõ7K;w]pt4ÕÙ±…nUªT‰Í›7óá‡2lØ0~þùgš5k¦ë´ÄK@ÞB¡ÂÂz=÷ãZY1q¢7'z««‹R’܅еiÓ¦qíÚ5&L˜ÀŸþ‰™™™®SBñ’qqqaÙ²eìß¿ŸiӦѵkWæÎKË–²~†xñäæ*8uê.––F¼ýö1ïªö8p›ß¿Å¦M­°³3Vm?}ú.éé9…”aÈûïràÀmÕ¾C‡î°wo Û¶µÆÈH_µ}ëÖ|þù9µuM~ÿý&“&ùpêÔ]<=­Ÿ*Gÿh&Nùćš5­¹};+B Oföì Ì›×Hƒ2b±µ5æÓOëP³¦±±é,[v•ààüïѼñ† 11©Ì˜„B½{»Ò¶m%rrìÝ{›yó‚Ÿ:ÇØØt&Oþ—¬¬\:w®BçÎÎésøð¶n½É¬YhذÞÞ6ùÊ.ÝÜ ’È©Sw‹üOZZNñAB·ŽÌ?üÀ”)S3f ¿ýöõë××uZâ&ƒ1B!„¢PNNNÌž=›qãÆÑ®];Ú´i£ë”„B¼¤lllX°`Mš4aöìÙ\¸p%K–`ee¥ëÔ„(…~û­…ÚE—.UèÐáþþ;ŠY³ê»V¤¡¡>7¶¢zuKÕ¶jÕ,2ä(gÏÞS hìÜEff.#FÔàóÏ}U±ÝºUeÊC¶n½ñT9þñÇ-ÒÓsxóM7¾ýöÑ èNœ©\ÙœE‹®°yó fά÷Ür/Ì”)¾$%eiïì,o| Íðí·ß’””ĨQ£Ø´i5jÔÐuZâ¥_|ˆB!„(¯:wîL÷îÝùòË/IKKÓu:B!^r `Ó¦M„††Ò¿¢££u’%âåe£6È`ggLûö•ÉÎV–Tl¾¾vjƒuêØpÿ~†jÛÕ«‰ôí[­@½{»þøc]§#„â%W§N¶oßΨQ£8p ëÖ­ÃÕÕU×i ¡kk£B·ÛØämÏÈÈ-ta±ùé›ïãÊõf ;¦qm%ÍQù_[[“Bcõô Ö§´s/Œ¬#žSSS~üñGzöìÉøñãY¹r¥L§)JLÞŒB!„OT±bEÕGLLŒ®ÓBQT®\™õë×ãààÀÀ¹qㆮSB#¡¡Ij‹Ý+]¼˜7XàädúÌŽåè˜WÖåˉö=8¡iŽÊò/\¸_h¬BNNÚMù¥mî…Q®£éY3FhËÁÁ%K–ÈêÕ«uŽxÉ`L)ùá‡ÐÓÓãСCºN婽Lu)/~Øóz£ô8tõ®Syj/S]„âE6dÈœœœøñÇuŠBˆrÂÆÆ†_ý•J•*1|øpâããu’ź{7ƒY³.™™7Ø¡PÀêÕáœ:uWW \]-žÙ±Z´p`îÜKܺõPµ=,,™ ®ZÀÞÈHŸõë[bgWp{å>{{õ}öö&¬ZÕœ;wÒ¸}; ''SœÍYµ* 77˧ÊÑÂÂ9s0mZ]®_O&7ªU³ÀÖV=ç™ûóÒ¦ë×·,rÿ³\ÿG¼xj֬ɠAƒøá‡èܹ3VVVºNI¼ÊÄ›1—/_¦GØØØ`mmM·nÝ aøðáèééq÷î]µøääd¦OŸŽ··7fffX[[Ó¶m[þù絸Ï>û ===Ο?ϯ¿þJ:u055¥ZµjÌœ9“ÜÜ‚‹•iSöÏ?ÿŒ¯¯/&&&Lš4 (z•””fΜIݺu±°° bÅŠtêÔ‰}ûöit®"##5j...S©R% DHHH‘ù-]º”ZµjajjŠ»»;³gÏ&;ûÑÓeíÛ·gÚ´i´lÙ===ôôôToÂUmrÑô{xž.Ç\¦Ç=°oƒõ8kº-îFȆ¯ŽÞ(=î¦<ÖþÒ“™þçt¼§{cöÖã¬i;¯-ÿ\~¬lÿ ½Qzœ<ϯǥΌ:˜¾oJµO«1ó¯™ä* iZ”ýó‘ŸñýÒ“÷M˜´õ¿öWÄ:+))Ìük&u¿¬‹Å *~T‘N ;±ïІíï^$£~…Ë'.¿gL¥+1hÅ Bî<öçËoéÁ¥Ôú¢¦ï›â>ÅÙÏ&;7_û›ßžiü×þæ¶Do”z£ôhó}›'ÖE›\4ýÄ‹áÇCر㖮ÓàØ±8®_OÆÍÍò‰7¼”¶o¿ÉÒ¥WÑÓƒ=\=Ú//nßNcÔ¨ã”,kñ¢|ëÓ§†††lÞ¼YשQ&H$ý‘x~š5kÆ|À×_MDD„®Ó≌Œôñö¶¡NÛB97vP›bK__&Mðô´.«ÜW³¦ú¾€€8Ο¿O¥JfÔ¯o³³9ÇÇóã!èëë=±?Ð$G% C|}í¨WÏ®À@Œ.rMiÒÄ¡È?º,º7a²³³Y½zµ®S/¿BóæÍILLTmûßÿþG`` 6,ÿþ}Z¶lIpp°j[zz:äСC¬]»–Áƒ«}fÉ’%jÓiܺu‹/¿ü’ÜÜ\fΜùTe÷ÝwlܸQõï' ,$$$вeK®\y´Yjj*{÷îeïÞ½deeahXôWAÓ¦M‰‹{4Õ@ll,7nd×®]8p€F©}fîܹlÚ´I­ŒiÓ¦qõêUÖ®][䱊£M.š~ÏSÈšÏiNbZ¾öwñFÒ°Z!í/õ>-ç¶$8&_ÉJç`ÈA]=ÄÚ‘kÜä±öw` «Žæ«÷½[|¹óKr¹Ìì1ó©Êþn÷wl<•¯ý=a`!!%–ßµäÊí|í/3•½Á{Ù¼—¬åYê?¡ýÝ é7M‰KÎ÷'ŲñÔFv]ØÅÐÈí±öç?—M§7©•1íi\½s•µ#Ÿ¢ýi‘‹¦ßƒÚèßß jãînÅîÝ1ÅN ³dIÈÿ}…Ž˜8Ñ›wÞ9N@@›6EðöÛ5Êl¼(ß,,,èÕ«Û·ogôèѺNG‘ôG¢<;v,`êÔ©¬_¿==ÍÖ”âeuõj"sæ\¢BªVµ 66;wÒ2ĽL¿½ñ"ç.€­­-Æ ã·ß~cäÈ‘XXXè:%QÆéü͘?þ˜ÄÄDºuëÆÅ‹yøð!gÏž¥nݺìÝ»·@ü¤I“¦wïÞœ>}š””ظq#¶¶¶Œ7އª}fÆ ,^¼˜˜˜’’’X·n†††üøã(Ч*{ûöíÌ›7¨¨( óçÏ/²®~ø!W®\Á××—]»vGBB{÷î¥]»vÅþ9aÂâââhÕªgΜááǪ|“““5jTÏ(󋉉áÞ½{lذ{{{Ö­[ÇþýûØ·o³fÍ …BB¡(ð&ÌÓæ¢é÷ð<}¼åcÓéV·¿¼ÈÃ¥9;í,u«Öeop!íoë$‚c‚éÝ 7§§ž&åÇ&°ñÝØšÙ2nÃ8f<Öþ7°xàbb~ˆ!iIëÞY‡¡¾!?x¬ýiQöö³Û™×oQßG¡X¡`~¿'´¿Íråö|«ø²kÜ.âæÇ‘°0½í¥W;ô(¦ýmš@\r­<[qæ‹3<\úà™yù&§'3ê·BÚßùÅüýE÷Ø0jöö¬;¹ŽýWþk÷1«çíïÓ+(V(84ùÐ3ÍEÓïAh.'GÁâÅ!ìÚÀ•+‰¬^ÆÊ•aÝâçâX¹2ŒŸeÿþ;ddäˆÉ_vxx2k×^gñâ+ܺ•ÂâÅ!äæ*¸uë!‹‡¨þDE=,쥮y󊸻köJòÕ«IDE¥R§Ž­êFäÍ™üá‡ÞüóÏí2/Ào¼Áõë×¹xñ¢®SBú£|¤?å_ý5ÿþû/¿ÿþ»®ÓBçZµr¢aà $$dt;wÒ011`ĈL›VW×é=Ñ‹œ»Jo½õYYYjë Q¾“’’ž={puueÛ¶m˜šæxׯ_Ÿ;vP£F µ)Ê222ظq#>>>lÛ¶M5xaaaÁ€¸wïcÆŒ! €Î;«>7}útƧú÷àÁƒùã?ضm‘‘‘¸ººj]öG}Äĉ‹­kZZ[·nÅÞÞžþù'''Õ¾:СC‡'~þáÇøûûãèèÈ_ý…µuÞ«ÞÞÞlÞ¼???Ο?Ohh(žžžªÏ}øá‡jù 8œœ†ʶmÛh×®]±¹?«\4ùž§”ŒöïÁÕÞ•mïmÃÔè¿öçZŸì Æç5Ô¦(ËÈÎ`càF|œ}Øö^¾6bbÁ€Æ¸÷ðcÖ!àZëäkݧ3®m¾z7Ìçþ`Û¿Ûˆ¼‰«½«ÖeÔþ#&vРýe¥±õÌVì-ìùgâ?8YçkÞèà]LûËxˆÿE­ùkì_X›ý÷;{³yôfüfúq>ò<¡±¡x:åkí?TËoà+ÉÉÍaèÊ¡lûwí¼´hZæ¢É÷ J&;;—Å‹¯Ð¾}eBBùé§Pµýo¼áÂwß5ÄÀàÑ@_XX2ï¿’ˆõ…œLY²¤ Ø(ûÚµ$–.½ªŠmР‹ç½á•ªú;@“&T­Zô“(;vÜ"22Uã:ê^èœÇO#$$ïM¼&M ìóõµÅÌÌ€«W“Êl¼õêÕÃÍÍ;wâëë«ëtD9'ý‘vÊZÿ"ý‘(‰:uêпæÏŸO×®]133ÓuJBüÐKUNBBóæ5â7\ÔŽ9~|m–. ÁÕÕ‚ñãkkœk¯^®4j¤ùŇ½½‰Æ±šRNcbRøÓ^ÊLéé9ë—¹x!”Z·nÍÒ¥K ÇÃÃC×é!ýQ •µþEú#QRŽŽŽ :”U«V1lØ0ÕC•B!ÄóæîîNÆ Ù²e‹ ƈ'Òé`Œ››9r„ôôtµ·c’’’8uê”Z|õêÕ111¡Q£F=zô™æRšeç/ÿÈ‘#ÄÅÅáèèX¢Ï»¹¹ahhH@@IIIjo¤äää¨ÖשQC}AË={ö˜ŠÌßß@íÆ‰òºìììRË¥¬qspÃ@߀#¡GHÏJW{;&)-‰Sµ?‡ê˜šÐÈ­G?}Æí¯Ë¨^1¯ü#׎—‡£U Û_7 õ ¸@RZ’Ú)9¹9ì½üßwîøXû ÞS`*2ÿKÿµ¿ŠùÚŸÞí/Gƒö§e.¢ô¸¹YªÝø¨WÏŽ*³{w ×®%Q»¶ gÏ&0a‚—êÆ€¡¡“&y³{w4ÿþ› VNõê–n|=^½t?ò&Óãë(efæ Î*_Í/kñB(Õ«W[[[>,ƒ1¢Lþ¨dÊZÿ"ý‘ÐÆðáÃYµjÿý7={öÔu:B!ʱ7Þxƒo¾ù¦À=n!òÓé#E–––tìØ‘›7oÒ¿‚ƒƒIMM%((ˆ>}ú¯þê¾¹¹9 àØ±c 4ˆ“'OòàÁÒÓÓ aÍš54kÖŒŒŒŒçRšeCÞ[!o¾ù& tìØîÞ½Ëýû÷ùçŸèСÃßȱ°° K—.ÄÆÆÒ³gOΞ=Kjj*W®\aàÀ\ºt ???µiÁ.\Èüùó¹sç÷ïßgãÆL˜0€¾}ûªâìíóæÅÞ³g©©Ož¿ZÛ\ÊKK:zwäfÂMú/ïOp÷äÞ IDATL0©™©EÑçÿúŸüXû36gÀ+8vŒA+qòúI¤> =+;!¬9¾†fß6##[‹öWŠe˜™ñf£7IHI ã‚Žø_òçnÊ]î§ÞçŸËÿÐa~rrŸÐþL,èâۅؤXz.ëÉÙ[gIÍLåÊí+ \1KÑ—ðsñS› `á¾…Ìÿg>wïp?õ>Omd¦ÿÚ_Ã|íÏâ¿ö¼‡ÔÌbÚŸ–¹ˆÒSµjÁéD\\òæÊOJÊ 11ïÍ.WWËBcõôàÁõ·¿ÜÜ Æ>;n©-°\ÜŸû÷3‹/´„”ÓÞÄÄlë¹¹ bbR±¶6R=õ[Öâ…P200 Y³f?~\שHTRe­‘þHhÃÑÑ‘.]º°víZ]§"„¢œëС¥ò¿xyè|š²yóæqìØ1vîÜÉÎ;UÛ+T¨@»víØ¿¿ÚëÆ , ((ˆ7²qãÆBËÔvÊ¡Ò,[Yþ©S§ ¢k×®%.{áÂ…rðàA6l¨¶ÏÒÒ’+VøLïÞ½ùøãùøãÕ¶ôÌr¥'*ªð´ÈȇX[çý?dc“7ð­[)¸¸˜ˆU((0OpþÅ–Ÿ…²0GíÚ6Þ-°ïâŤ¥åàëkWfã…ȯAƒ,]º…BñL¦²âiHT2e­‘þHh«wïÞ¼ýöÛܸq777]§#„¢œrpp ^½zìß¿ŸöíÛë:QFéü±"///Ž;F÷îݱ²²ÂÊÊŠ.]ºpôèQ²³³144ÄÊÊJogglj'øî»ïhذ!–––˜››ãííͨQ£ ÔúU°Ò,òþ§ûì3-ZDÍš5166¦zõêÌš5‹5kÖ¨Åyyy±råJ¼½½16.þBO›\Ê"¯Ê^ûôÝëvÇÊÔ +S+ºÔéÂÑO’“¡¾!V¦ùÚŸ¹'¦œà»¾ßѰZC,M,176ÇÛÙ›Q-Gøy Útg%Qše8X:pjê)¦v›JíJµ114ÁÑÊ‘Îu:³oâ> õ‹iÝ9óÅF¶IÛ*êâhåÈ€Æ8ýÅi¹Òþº|Æ¢‹¨éXcCcª;TgVÏY¬±F-Ϋ²+‡­ÄÛÙcC ÚŸ¹ˆÒsãF ¿ÿ~Km[PÐ}þùç6ÖÖFÔ¬™7•\ƒyk-YBZÚ£)érrÌŸ€† 5_ÉØX¿À“ËÅéÕË•ñã½4þSsôתeMÕªæ\ºô€½{cTÛsr,\˜w:t¨\fã…ȯ^½z³„”¢¢¢¨U«\¸pá™—ÿ²ûì³Ï˜;w.çÎÃÏÏO×é”:===>üðC,XðLÊ‹ºE­/jáQу _Jû+©Ï¶ÆÜÝs97ý~./gû+ÍŸ±±±¤¤¤hû¿ÿY2~¼aaᥒKQ22rðñÙ‰½½ ÷îeкµžžÖÄĤ±gO4ÙÙ &Lðbܸ¼ÓÒ²éÜy?ÑÑ©T©bNëÖNésìXaaÉØØãïßGGSUÙíÛWæ§Ÿšzü×_?À•+‰¼ñ† ..èëëÑ»· U«Z<ÏÓ@pðöï¿ÀµkIøûGÓ°a^}5o}¦ºumiÓ¦’*~ûö›|úéY ôèÞ½*•*™Ëåˉ89™²o_Gµu ÊZ¼xñÔ¨áÁâűtíªÙÏM¥§§ãççÇ?ü@÷îÝŸiÙâÅ#ý‘ôGÒ‰â”V4}út‚ƒƒÙ¾}û3-W¼˜tÕ !^¥Õ=z”áÇsüøñ¯.^ NNNXZj=…ñVOSy¯¿÷Þ{Ô¯_###Μ9äI“HMMU[×DˆÒÐ{YoÞkýõ]ëcd`Ä™›g˜´u©™©jëš! × =V,_Êáñªío¼áÂÔRýÛÌÌ•+›óþû'‰ˆHaÆÕ>GGS–,yE5_¼&Þ~»Ÿ~ú/þùè‰ü&Mttó+‘Å‹¯¨mû÷ßÕÐC†¸«ÝüêÓ§7n¤ðÓO¡jùW®lÆòåÍ Üh*kñB(™ššâêêÊõë×uŠÒ!ý‘(¿š7oÎæÍ›ILLÄÆÆF×é!„(§êׯgÏž¥sçκNG”Aeb0fïÞ½ìØ±£ÀöÚµk3qâDd$Ê“½—÷²ã\!í¯Rm&v”ö'„&&Oö¡k×*œ:•@n®‚† +àçWp^÷5¬Ø½»=ÇŽÅšDNŽww+ZµrÄÄäÑ CC}Æ÷ÂÝ½è§ z÷vÅÇÇ–ÀÀx³P( J³R©_q||l?Þ«ÈýuëÚØöñÇ>ôéScÇâINΤZ5KÚ´qÂ̬𮹬Š¡T½zu"""ŠÌçìÙ³=z”Þ½{SµjÕRÊìÙIOOçøñã£P(3f EßÎÌÌ$ €°°0ÌÍÍiÚ´)5kÖ|fñ¢hÒI$ʧ¦MóÞ\;uê:tÐøsÒ=]¼EIJÊâÈ‘Xöï¿Íáñ$%e1z´'“'ûù™Û·Ó˜7/˜€€8’“³¨VÍ’Aƒª3dˆ;…-MXÖâ…°°°ÀÍÍ«W¯–h0Fú£§‹‘”‰ßhÿüóO,XÀùóç‰ÇÙÙ™=z0}úô§yíGü9æOì[Àù[ç‰O‰ÇÙÆ™~=˜Þ}:–&Òþ„Д->>oò<ÎÀ@V­œhÕÊé‰1ãÇ×.¶¬Zµ¬©U˺Dy–Mëþ877KÜÜ4ÿ9SÖâ…€¼uäŽ?^¢Ïœ={–ŋӤI“2}±qÿþ}>ýôSŽ?NzzºjûèÑ£‹¼Ø¸~ý:ï¾û.7nÜPÛ>tèP¦OŸŽÞcWï%Å“þHú#QþØÚÚR½zu.]ºTâÁé´‹eO­ZФ‰¿ýÖBש0mÚyþþ;JãøÛ·ÓèÓçqqÚ÷µkIÌœDxx2_~Y¯LÇ ‘_Íš5¹víZ‰>#ý‘öñ/}]'Ю];víÚETTDDD°hÑ"*TÐ|áL¡nΜ9(Šr±^ÌÓjçÕŽ]ãvõ}ÿ—AÄœ XDKiÚšÓgŠŠ—v½!„¸ºº¥ùÅ6@ƒ ?~ 4ˆeË–ñÖ[o©ž+i¼Bˆ¢Õ®]›õë×—è3ÒI$JÇW_=z0s÷î˜'Æ&'g±{w4––†üøc¬­ó~ŸìÔÉ™ØØ4¾úê[¶D¨¦-kñB<ÎÅÅ…èèè}Fú£òÓÉ`ŒB­h2¾âåW¡B ÷îÝÃÉɉpäÈbcc±°° fÍš4jÔHíuòÇçDŽ‹‹cÓ¦MEÃÜÜœwÞyGm[RRG%22###|}}iܸñ3­›­­-íÚµÓ8~ÿþýŒ3FuáиqcZ¶lÉ‘#G8sæ Mš4Ñ*þرcüûï¿ 8KKKöïßOtt4nnn´oß^uQÇxðàuëÖ¥yóæOw"Ê8é„wó+66–œœ ¤?Bú£ç-##Ÿ´o_™/¾¨Ë×__àäÉ»äääÒ¨‘“'ûàåeSàsüɺuᄆ&‘› îî–ôí[!CÜÑ××+Pö´iu™;÷ÇÇóàA&¿þÚ‚aÃŽpüx<5jjGŽÄræÌ]6on­6 3gÎ%~ùE}:£Ë—ùê« œ;w Ôo¤&&fÒ¯ŸzÙ¹¹ ­s}ë­£?¯qüž=íñð°Òúx…¹yó!žžªlmqr2#2ò!¹¹ ôõõÊ\¼«X±"7ð÷ßK„ôGùÉ`ŒB!„К……7ð¬Y³ÈÈÈ uëÖxzz’‘‘Ahh(Ü»wOu±ñ8'''Æ_`{dd$;wîäË/¿TmÛ·oS¦LÁÀÀ€×^{ 2339vì§OŸfòäÉüòË/@ÞÅÆ“.b×­[·§ºØˆÇÆÆFuNòSÎÿ¯u¼ÒŒ3033cðàÁàïïÏÙ³gùꫯøóÏ?©S§~~~Ü¿Ÿ¿þú‹ 60`À¼¼¼´®›B”uNNNܺuKú#étêô黸ùÙ±lY<=mˆ‰IeÁ‚+ìÞÍÌ™AlÚÔ €ààüòË5LM øôÓ:tî쌑‘>‡Ç2kÖþú+ŠnݪҾ}å|e'P¿¾=K—6¥vmkLMóžú ëE­ZФ‰¿ýÖB'õÖVJJ6·ÎLalm¹s'´´,, Ë\¼³·· 66Vú#é ŸB!„BkÊ×Ç“’’ÈÈÈ _¿~|óÍ7j1¡¡¡ª'Ä ãèèXàbãöíÛ <˜ùóçÓ±cGÕö~ø3336nÜH:uTÛ cÇŽeÏž=„‡‡ãáá³³s¡1EñôôÔ8¶0XYþ´¨‰‰ €ÚSq%Wòðð`Íš5ªs?bÄÚ·oÏÖ­[3f }ô‘*ö•W^aÊ”)ÿÆ.èëëñÑG§ùûï(µÁ˜¼²›booòLr- 7 Å“ßìy|Y‹âqÊŸ‰‰‰‰ÒIT€ Æ!„B­))655¥aÆràÀ^yåÕ±’þǰaÃ7nݺuSÛ†««+‡æðáÃ( ÕE±rÞåK—.iu±ñ´LLLÈÈÈ(tŸr»©©©ÖñJï¼óŽÚÊU«V¥ZµjDDDðÞ{ï©Å*çC.é"¢Bñ¢QöG&&&ÒI¤SÞÞ¶ª%CC=š5«Hxx27o¦àà`ÂÉ´m[¹@mÛVMá•¿ìg5SVXYå½’˜˜UèþÄÄ, ô033(“ñBÏÃ–Š—©.ÚxëߥËvjÕ²cáÂÒ%.m/S]´QÞë_Vdeå2lØ15ªÀرµÙ°!‚“'ãÉÍ…† í:ÔssƒBãÇ÷bóæNœ¸Ëýû¬\ÙSSnÞ|ÈÖ­7 M"''wwKz÷®¦š[ùêÕ$fÎ "'GÁ¥K4èÑ\¨Ó¦ÕUÅWN~‰‰™ìØÉÙ³ $'gáêjI‡•iÑÂQ-®$eêRll:}Tø¼úÊ}]ºT)0uPÐ=¶l¹Itt*•+›Ó¿¿ÆÊ/é÷.^~ÑÑѪ×é…Ðé¤?’þH@Þ›1ÞÞÞºNC!D9wëÖ-ªU+Ù4}¢üx®ƒ1ªE^_t/S]ŠÒ®];üüü˜7o^}/bý¢HKËÖuÏÄËT—¢´k·??GæÍkS`_y¨ÿ‹ 7WÁ©Sw±´4âí·xWµïÀÛüþû-6mj…q¡ñ'NīⳳøûG3qâ²²rUÛŽå×_¯3mZ]†u'99‹S§òŽ“”ôèïÊ•£ôï¿ ¼ÿ~ ÷îeä«Yë×_ç³ÏêðÎ;5K\fI|óÍE.]z qü?4ÄÙÙü‰1ééEÏ«¯Üçí­~ÃnÛ¶›|þù9rs­òùûï7ùøã‚74Jú½‹—_dd$...ºNC”cÒI$ý‘ÈÈÈ 88˜7ß|SשˆrL“u]„/¿›7oR¯^=]§!ʨç:ãïï••Õó‡ßaë֛̚u† +P«–5ë×·,tÁd//bcÓ5*ÇÛÛ†2=ú$dR¯žo¾éFåÊfDG§²wo ÉÉy7ÓJRfI…„$ªÝÀ+NZÚ³_ˆ9&&•éÓÏ“›« woWÚ¶­DNNÞÍÈùó/ù¹’~ïâåMãÆu†ÒI$ýQ9væÌÒÓÓ‹œ7^!„x²³³¹zõ*ýû÷×u*¢Œz®ƒ1-[¶|ž‡+U/S]´ñ"Ö¿e˪ºNá™y™ê¢ò^ÿ²F¡€ß~k¡vó§K—*tèðÿŬYõÕ¦ Q(`íÚjÓ©,_Jzzo¾éÆ·ßÖWmïÔəʕÍY´è ›7ß`æÌz4i„ØØѤ‰ƒZ.7Fh\ÎŽ·xð “ŽY¶¬‰Z9ƒUWÝüúã[—YRS¦øªž Ö„³³Y‰Qœ;#ÉÌÌåí·=˜:µ®j{·nUùä“ùý÷[…~®¤ß»x9åääN¿~ýtŠÒI¤Ú&ýQùsâÄ <<<¨\¹²®SBQŽ]ºt‰´´45’‡ADáÊÄš1aaa¬\¹’K—.‘““CíÚµ6lX¡¯tÝ¿ŸU«VqâÄ ’’’¨R¥ }úô¡{÷ÌÌL:vìH‹-˜9s&¿üò {öì!##ƒfÍš1~üx¬­ ¾.ÈÊ•+¹yó&U«VeÔ¨Q¸¹¹1`ÀzõêÅ„ Ь‹¶ÇÔ¤>ÅÑäüåÏoÚ´iüôÓO‰µµ1={þÁ®]áùêw;®qâÄ Œ=¡·jÕEÞygùš¿þz‰o¿mÅáÑԩ£þ´åãuÑæ˜šÖçI4=Êü¬¬ŒéÜy‡Eªâwí gÍšK ÄÁÁŒÄÄ ÎÛÿàÁ£¿+ÿ]XýµÉ¥$çJ<™µµQ¡Ûmlò¶gdäªm¯TÉ´@¬2ÆÖÖ¤Ðrôô –S˜’”“žž×VŠ›KþYåV˜Ò˜£ÿIrr æ©<…}Êï°0%ýÞÅËéüùóXXXP³fá7‘…xž¤?’þ¨°ÏHôò åòåË|ñźNE!D9wúôi5jTä²B<×Á˜ÇEGG3lØ0233éÓ§}ûöÅØØV®\É„ xõÕW©_¿>IIIôìÙ“„„†J×®]±³³#<<œE‹±jÕ*ÚµkÇ AƒTåïÞ½{{{¾ûî;|||ˆŽŽæë¯¿æìÙ³lÙ²…!C†pëÖ->øà Æ ãõ×_';;›;v0uêÔÕIÓcjSŸ§9J{öìÁÊÊŠ¹sçâããCdd$ßÿ=!!!|ôÑG¬]»___žôí뉱±þþ×Y¹ò"&àÕW«P¿¾#II™ôìù i êM×®îØÙ™þ€E‹þeÕª‹´kçÊ A^ùê½½)ß}ן DG§ðõ×'9{6–-[®2dHÞB¤·n%ñÁûP(`Ø0^݃ìì\vìcêÔ€ÕIÓcjSŸ§9J{öD`eeÌܹ­ðñq 22™ï¿?EHÈ=>úè k×vÅ×׃ûÓ®Ýüü™7¯êó~~Ž…d¢].šž+Q¼ÐÐ$²²r12ÒWÛ~ñbÞM''õ›]…ýRâè˜sáÂ}ªU³(PŽBNNêS¢ä¼Ô¦œÊ•óþ{æÌ]ªW·,²~Ú䦩Ҙ£_ySJ}è<¡¡É¶)ëœH¥Jêõ¸xñ~‘Ç)é÷.^NçÏŸ§nݺȶÐ=é¤?RÿŒôGåÅ–-[pqq‘õË„BèTzz:LžµA‘¾}ûR»vm6oÞÌÿýßÿaccC›6mÐÓÓÃÎÎNmš²g™‹¦çª´¬[w™´´ìoôî]kfÌ8ÆŠX¶¬=k×—Ê7ß´dÊõ¹¼ûõ«Eõê?³fÍ%µÁ CC}Žˆ§ç£ijÔ°¥mÛ-?£ºÙ¿~ý22r˜8±‘ÚÀCÿþµ9r«V]Ô¸NšS›ú<ÍùSÊÍU°o_?µA‘¾}=©]{›7‡ðÿ×Ú´qAOììòþ^mrÑô\‰âݽ›Á¬Yøâ‹ºë£PÀš5áœ:uWW \]-Š-£U+'Ö­»Î÷ßãéiM­ZySFG§2cÆùÿbµ C¢¢’›«@__O«rÚ·¯Ìš5áÌLåÊæ´hñ¨üsçîŸNÇŽÎ%έ$JcŽ~;;c,- 9tèááÉxxXžÌܹž´léÄúõÌ™sKÜÜòn†„$>qÁägñ½‹ßùóçéСƒ®ÓþèñÜJBú#ñ¢ÊÊÊbçÎŒ1BžBB¡S$==Î;ë:Q†ét0&((€Ñ£GØ7zôhf̘¡Š àÏ?ÿdÿþýªéÄ …êï!!!je4jÔHíF?@Æ HHHPm»x1ïbàí·ß.ÇðáÃK4£é1µ©ÏãJrþ”üüüÔbèÑ£«W¯æÊ•+Z=Q¤M.šž«Ò÷_~u ì=º3fSÅÞàÏ?ÃØ¿ÿ¦ê H…‚|ß×=µ25ª¤v£ aÃJ$$<šìâÅxÞ~[}*<€áÃ}J4£é1µ©ÏãJrþ”üüÕbÌèÑÃի/qåJW*®šÏ$MÏ•(ž‡‡Û¶Ýd×®(ÜÜ,¹};øøt&MòѨŒ×^«DÓ¦9y2ž=àæf‰‘‘>ááÉdeåR³¦5}û>š#ßÛÛ–“'ãiÓf/Uª˜£§Ó¦Õ-Q9M›V¤{÷ªìÚÅðáÇpt4¥resbbR‰Oçƒjѱ£s‰s+‰Òš£ÿÍ7ÝX½:ŒîÝP³¦¹Ü¸‘B:¶DF¦ªÅ¾öZ%ê×·çܹ{tî¼ww+rrܸ‘B­ZÖÄÆ¦zŒgñ½‹[dd$áááLŸ>]שH$ý‘ôGåÑŽ;HJJ¢W¯^ºNE!D9·k×.š5k†ƒƒCñÁ¢ÜÒé`LzzÞ/ÉööööÙÙÙ¡§§§ŠIII bÆÄD}þäÂÊU®C’“óèÕzåÚ'¶¶¶…æQšS›ú<®$çO©°:æ/ãñu`4¥M.šž«Ò¢œ—ÚÞ¾à“}vv&èé=ŠIIÉ{RP9ˆQõÿìí N‰`lœ7}BNΣù,”kŸ6ÿ·]ɦUÐô˜ÚÔçq%9J…Õ1Þ¯£)mrÑô\‰âU¯nÉäÉ>L™r– ò¦±²2bÊ_ºv­¢Qzz°|ySfͺÀŽ·Ï›¾D__Ž™5ËSÓGÓ MžìÃ{ï$&&•˜˜¼›9IIY%.gÞ¼FT¯nÉš5áÄÅ¥—÷sªQ£ têä¬UneÁ¸qµ¹v-‰£Gã¸|9==èÚµ*ï½çÉë¯P‹50ÐcÅŠfLžü/Þ!44oå–-™4ɇ7Þ8Xè1žÅ÷.^l»wïÆÖÖ–¦M›ê:!é¤?’þ¨¼ÉÈÈ`É’%ôïß''']§#„(Âÿý_(ŽŽ&ôé£ÝeIRRkÖ„S·®-mÚ”üARñòzøð!‡fÆŒºNE”q:Œqvλ°8}ú45jÔPÛwæÌ …*ÆÅ%oª¢eË–áåUøÔIFFE/ì¨IçΣjÕªjûΞ=«U™Åyõ)ÉùSºté™™™ªAüñUª<º`ÑÓÓS½%QmrÑ5g缩NŸ¾CêƒTgÎÄ¢P<ŠqqÉ›VaÙ²öxyU(´¼Çç©.içÎÅQµª•Ú¾³gcµ*³8Ï¢>%9J—.Ý%33ccƒñUª<ŠÏkTFË\ijվ}eZ·îµkÉäæ*ðô´V n)é³~}Ë"(¶°0dΜL›V—ëדÉÍ…jÕ,°µ-_¯žGv&,,™¤¤,rsª§zKRŽ&x1vlmÂÂ’IOÏÁÅÅ{{õÃ’”¹jUs,-µëžkk#Ö¬y•¨¨‡ÄÅePµª9ŽŽ¦¤§ç°~}ËsñÛÚ³bE3bcÓ‰‰IÅÉÉggs22ò⋚o_“ï]¼¼öîÝKûöíe½Q¦HôˆôGÒ½ì6lØÀ½{÷xÿý÷uŠ:·dIU«šÓ«—«®S)`Ù²|}í^’Á˜L/¾Â!î2#Ôlß¾===:vì¨ëTD§ÓßP;uÊ[Ûá³Ï>SMpóæMÆŒ šg¯wïÞ@ÞÚ$...´iÓFõ§E‹$$$¥UʹÎ?ùäÂÃÃUÛ/_¾Ì´iÓ´*³8Ï¢>%9ÿÏÞ}Çe]ýÿ\ Ù Èp€*Š#w8À½R¬´Y~~jó“eiöÑ4›–Y޲ì“YfÃQšæød¦æÞ¦™ 7KTp¢2„ëâ÷_®ºYâó~»y Î9ïó~½ßoãÈûus²?ž^x´´¬4333™>}:7n¤V­ZÔªUËÜÖÕÕ•¨¨(L&S¾×S”X¬­{÷ÆŽÝÄmXÄðákèÑ#«Mß¾u€¬½IüýÝèÐÁßü',¬:/¦—s#Ò‚èÚ5ëÿùÏFNž¼b.?|ø"&l-RŸù)Žë)ÌýËvþ|2/¼ðiiY³T23aúôßÙ¸1–Zµ*R«Ö_‰WW{¢¢®b2埑)J,Rüìím¨_߃† +æúÄÆÆ@h¨ÁÁîyöãâbG£F•hܸR®/—²ÙÚ¨[×–-+êeÞ(¸°ýü½¯Æ+åxñUØ>[¶ô*±å^ ËÏÏ…fÍ<Í›";:Úê•cãçl¾¾Ž4mêIµjÎ88dµÏ^·?7ù=w)ŸØ¿¿~Ù2IãQGRž]¹r…ÿþ÷¿üë_ÿ¢J½ùä“H–.±v"w¥ŒŒ ¾üòKú÷ï‡GÙø·—”]VAÇŽY¿~=M›6¥N:T¨PÈÈHnÞ¼Iƒ 6líÛ·gذaÌ™3‡Úµk„¯¯/—/_&**ŠÔÔTÆŒÀ GïÞ½ eç΄„„P¯^=ŒF#ÇŽ£Q£FÄÄÄû§>‹ãz sÿ²…„„ðÕW_±páBêÔ©Cll,çÎàÝwßµhÛ´iSÖ¯_O`` 5kÖÄÆÆ†?ü&MšK,ÖQ‹Žk°~} M›~M:•¨PÁ–ÈÈKܼi¤A/† k@ûöþ Öˆ9sP»öyàëëÂåË©DE%‘ššÁ˜1÷2`@½BÇÑ»w-BC«²sçYBBæP¯ž'Fc&ÇŽ]¦Q#/bb’°µ-ÞÍ(‹ãz sÿ²…„T櫯²pa$uêT"6öçÎÝàÝwÃ-Ú6mêËúõ1ΦfMwll |øaGš4ɹ1mQb‘¢[¹r%NNN´mÛÖÚ¡ˆˆÈ]è­·Þ¢B… š#""V·bÅ Î;WæÞ{JÙdÕ  –-[ÆÐ¡C1 DFFò矒‘‘AŸ>}øí·ßprúkêúìÙ³™:u*U«VåÔ©Slß¾ÈÈHL&ýû÷gàÀEŠÃÖÖ–+VУGÒÓÓ9pà‡¦[·næ…››[>½Þí^Oaï@pp0ßÿ=vvvìÞ½›sçÎáááÁìÙ³éß¿¿EÛI“&Q¥Jbbbؼy37näÊ•+ä¦(±X›ÁË–=ÈС ÿ/æKüùg"&úô©Ão¿õÇÉé¯|åìÙݘ:µU«ºpêÔU¶o'2ò&S&ýû×eàÀÂ'b ë+Vô¡G@ÒÓM8pÇ/Ò­[€9Aáæ–÷§(‹âv¯§°÷ 8¸ßß;;vï>ǹs7ððp`öìîôï_×¢í¤IáT©âBLL›7DZqc,W®¤[,""R4&“‰o¿ý–‡z(ßýíDDDŠÛºuëX±bï¼óîîyÏp)MFc&3fD²reÖ*'GŽ\嫯Nðå—'Ø¿ÿr¾íOž¼Æ·ßžbÆŒ#¤§›Ìm6oNàË/OðùçÇX·îœy¥ €øødf̈ÄdÊ$&æ3fDšÿÄÅݰ8W^ýüÓ‘#W™7ïŸ}v”Ÿ>Õ+7s¿0}ZË•+7™1#’ ÎݲnÓ¦œKÄ߸‘Áòå±|öÙ1~ú)–7rßã¶°Ï]Ê“ÉÄìÙ³‰ˆˆ°ØúAäVJõíäªU«r$5ÜÜܘ3g}ôGÅh4R§N\7w·±±aÔ¨QŒ9’'N˜˜ˆ··75kÖ´Ø¥B… ¬_¿//¯}d×y{{[”{{{³jÕ*ââ∥zõêÔ¨QƒiÓ¦P§N<¯¥(ç,èõä¥0÷/Û<À}÷ÝÇ¡C‡0™L4lØ0×—)¡¡¡ÄÆÆräÈ._¾ŒÉd2ÏŠ¹gY”{UV­z(GRÃÍ­sæôà£:qôè%ŒÆLêÔ©”ëæî66FjÁÈ‘-8qâ2‰‰)x{;Q³¦»Å(*ز~ý¼¼r&Ÿ²ë¼½-ë¼½Yµê!ââ®{êÕ]©QÃiÓ²öò©S§Rž×R”sôzòR˜û—íjsß}:t“)“† ½ppÈy¾ÐÐªÄÆ>Í‘#—¸|9“)Ó<+ævžeQî•ä.¿5÷¥|Òs—uëÖÇc=fíPDý\º[é¹ß?~<?ü0íÛ··v8"22L̘q„.]ªy•Ï>;fQÿÀþ¼ÿ~sóÊoüx3g5·}üñ:DGßàßÿÞÁéÓ×-úñõuäãCiÖÌ“øøfÌ8@\\²ùk€ÐP/üü\8qâZ¾ýdKLL套ö°m[¢E[;&OnFY/› Óga,]CllrÛ”ï8põjú-÷yÉ®2¤íÚùšË¸ÌSOí 11Õ\æííÈĉMsô_Øç.åËÂ… 9uêü±µC‘;D©&cÂÃÃoYçææF‹- ÔÁ` N:9$ÙlllèСC¡êV¯^‡‡­ZµÂÏÏÈzÙðöÛocccC—.]ò¼–¢œ³ ×S…¹•ôhÚ4ç òOvvv4j”sy§Ûy–·s¯nGx¸ß-ëÜÜ*ТEÁÖ6²’#ÿLd³±1Сƒ¡êV¯ŽÂÃÃV­ªâç—•äZ·.†·ßÞŽ.],7ºûçµåœ½ž‚(Ìýƒ¬¤GÓ¦9—û';;5Ê™´»gy;÷J,e¯¹/w=w™;w.;v$((ÈÚ¡ˆú¹t·Òs/¿8@íÚµs¬¬ššÊ3Ï<ƒ‡‡ãÇ·Rt"ùÛ»÷kמ¥}{_êÔqçìÙV¯>òe±¸òüó–«PìÛ—Õ><܇Š8:Úb4šxüñmœ9“Lµjδo½ [·&pòä5ž|r;«Vu¦Z5'FŒáãP½º3}ûþõî zu'RR2 Ô#™ ¶#G®ââbG§NU¨ZÕ™3g’Ùº5ǯңGõBõYXK—ÆäHå¥W¯êÅž”¿q#ƒ§ŸÎJĺæƒÑ˜ÉÆçy啽·<®°Ï]î|W®\aúôé 2Äbn‘¼hÝžÿsàÀ^~ùe||| >>ž¸¸¬)†Ã‡×T3)Q$òòËññq& ÀƒøøëÄÅ]`øð¦T¯~ëÍJEDDJËÁƒÙ¹s'sçεv(""R%&&òÄOЧOÆŽk.ÏÌÌä•W^!&&†Å‹ãêªß¤ìºt)÷ßoNß¾5Ìeû÷צÿ|õÕ ž}¶®Å,‰‹Ó˜:µ<ð×ø!š3g’iÖÌ“¯¿ÃÉ)k5‰ŒŒL^|q7¿ür†ùóOóâ‹!ŒQ™3#©QÃ…#,_ø¦Ÿÿý/Ž#G®R§Ž;ß}FåÊ­ rãF11YËž­Xq¦À}VŸ>5hÑ¢à‰vOÏâ_2wåÊ8R ÷áóÏ[coŸµÃCJŠ‘Áƒ7séRî˧ö¹Ëïƒ>ÀÎÎŽáÇ[;¹ƒ(ózôèÁO?ýÄÖ­[IHHÀÑÑ‘gŸ}–É“'[9:)ïzôä§ŸN°u벦ä::Úñì³M˜<¹•£ÉòþûïÓ¤IÚ¶mkíPDD¤œ1<÷Üs\¾|™9sæÐ³gOî¹ç k?ÓU«Vñõ×_`Ý@EòàjñB qãJtíZ•_~‰çøñ$êÕó0׺Z$böî½À /„˜“vvF®Ï/¿œá÷ß/æKaúÙ±#kFʘ1 ,1µLYHˆG±Æ–›>}jäߨ„íÝ{ €çŸ1'bœœl>¼O>¹=×ã ûÜåζuëV-ZÄÔ©SKdŸq)¿”Œù? 6dË–-\ºt‰S§NakkK½zõÊܦóE•×>-b} z±eË#\º”Ê©SW°µµ¡^=Ïr³é|^û´ˆˆÈaݺulÛ¶ï¿ÿƒAŸê‘âõÁ°oß>L&¶¶¶Œ=š•+WòÁðÍ7ßðÁjí0Eòåççœk¹¿¿ IIéå9gz]½z€5rÖùû»`0dm>ŸŸÂô“ýß  ¼_,Wl¹)‰=c +ûúr{ŽÙÏ07…}îrçºpá/¿ü2=zô wïÞÖGî0åãMo1òôô̱á|yP’{±HññôtÄÓ³à{¯Ü)´‹ˆÈÍh42eÊzöìIóæÍ­Žˆˆ”3ëÖ­ã‹/¾0o4‰ŽŽæ‘GáàÁƒLŸ>ž={Z1B‘‚‹‹Ë=™›µÌ—»»½EynKWyxd%bb®ãïoù’?6ö™™P±bþIˆÂô“ýßS§®Q£Æ­“Å[nJbϘìÙ;ÉÉ9êâãs>«ìë‹‹KαïMö3ÌMaŸ»”mgÏžeÓ¦M 0À¢Üd21zôhœœœx÷Ýw­ÜÉ”Œ‘<Í;—¨¨(fÍšeíPDD¤œ‰ŠŠbäÈ‘ 233ÍåF£‘0nÜ8%bäŽu%Kbþ±wÈeÖ¬9‹»»=uê¸çÛG³f•Y¼8š?ޤY³¿VÍ03™6í0Í›W6·¯PÁ&×Ù(…é§uko-ŠæƒѸ±§E’#{ϘBÇV%±gŒ——öö6ìØqÔT#ŽŽYÉ™›7M|öÙ±í›5óäÇ£ùøã#9öŒ™93ò–ç)Žç.eƒÉd⥗^bïÞ½4jÔˆúõë›ë¦L™ÂîÝ»Y´h‘ö/“"Q2FDDDDnéĉLŸ>#FP£†õ×ñ‘ò#55•gŸ}–›7oZ$b²ÙØØ°téRŒ­­m.=ˆ”=žžüç?¿ó¿ÿÅìN|| «WŸÁhÌdèÐÚÚĽwïê̜ɞ=éÑcíÛûbooÃÖ­ œ8q  hnàÊáÃWyé¥=øû»`cc o_ÿBõÓ³§Ÿ~œÈÈ«t츚NªR¥ŠññÉlÙ’À A„„x:¶Â(‰=c²VêðeÍš³ôîý:øróf&7ž'-͘£}D„}t„Í›èÙsaa>˜L°aÃ9RRr¶ÏVÏ]ʆ¯¿þš={ö0|øp~þùgœœœøê«¯˜={6S¦L±HЈ†’1""""’«ôôtFŽIýúõyê©§¬Žˆˆ”3¯¾ú*§N"##çòA9r„o¾ù†¡C‡–rt"EÓ¬™'µj¹1kÖ16n>ŽÌŸÎ—Ù·ï))FjÔp¡Moó^*…íóÙgëáã“ÿrb%)(È5kº²fM< iøù9Ó¥KÒÒLŒ’ãÙ4jT‰µk»²nÝYâãSðõu¤K—ªdfˆ!ÜsOÅ\ÏSç.eWFF#GŽ´—222øñÇ9xð O<ñ?þ¸#”ò@É)²ºu"4Ô‹o¾ +T]Y0aÂüïqÖCÄê6mÚÄwß}ÇîÝ»ùñÇqtÌú$ãÏ?ÿÌçŸΤI“´<™”yDî,û÷ïçí·ßÎ7“ýA€´´4>øàf̘Qቋ *Ò Aî/ílm ŒQ/Ï>lm ´kçK»v¾ùž¯n]wêÖÍ}_’ÂôYɈFòN"´Ïÿ;¸@ç,iîîö<ôPM‹2''nù \\ì¸ÿþœ àüžY~Ï]Ê®?ü£Gb4Z.Gg0ˆ‰‰á‘G±RdRžÜV2æØ±c?~\ŸN‘2áóÏ?gñâÅÖCî/^¤N:ÖCnƒ‡‡=~têT…”#ãÇï³vH"¥.%%…W^yNœ8Áøñã™:u*`̘1 2„‡~ØÚaŠ”kän“œШ: IDAT|…gŸ}6×DLvòÅh4âááAÓ¦MiÙ²%mÛ¶Õúü""RböîÝËçŸn^žìï233IOOgøðá,Y²;;Ím¢Óß)7’“ï!9ÙÏÚaÈ]#÷ubåÎñÖ[MÌ_ÿòK¼#±žéÓ§sáÂó/Ë—/'00ï¾ûŽ{ï½—±cÇZ9B‘òOã‘Ü]LÌ™óçÏgí§`gg‡ÉdÂd2áííMÛ¶m ¥eË–X7T¹+¤¤¤0jÔ( Ã-ÛdddÉŒ35jT)F'åÍm%c‚ƒƒ fÑ¢EÅH‘dýÀ ô·v(r×èGpÙ˜mm{ö\dàÀMlÛ–HíÚKÍu¯½Ö˜·ÞÚŸkݼyᄆz•n°"’«#GŽ0wî\‹Oeff2cÆ êÕ«ÇǬ}b¤ÌÓx$r§yƒcǶàççGÛ¶miÙ²%÷Þ{/ÕªU³rl"·'¿=`¤|Òs¿óMœ8‘sçÎåXžìŸL&ÿýïiݺ5­[·.¥è¤¼ÑÌ)Óþõ¯-lÛ–Xàö«Ww¡V-·ŒHäÎg4=z4666¹NÅçÚµk8;;[!:‘²Iã‘Èí9yò$p•¡CgóÔS ñöö¶vH"Ū {ÀHù£ç~gûí·ßøþûïólcggGFF•*U¢k×®Z¦Ln‹þöˆˆH¡µhQ™'úÜrSäý+¨Ìo˜,r7›3gÇÏ5c2™¸~ý:Ï<ó ?üðöööVˆP¤`4‰Ü9jÕª|DÓ¦çñö¾nípDDä.wãÆ%^}LŽ¨ÙØØ`00н{w:vìHóæÍó\ÊL¤ ”Œ‘2M/ÏDŠWll,Ó§OÏ5“-##ƒÃ‡3qâDÞ|óÍRŒN¤ìÒx$"""R~ÌŸ?’+W®™™‰F£;;;Z·nM×®]éÔ©¾¾¾ÖSÊ%cDDDDî"ãÆË3ówóæÍ£}ûötêÔ©„£)-s9p`5žžžtëÖN:Ѻukœœœ¬›”gJƈˆH™¦5úEŠÏO?ýÄŽ;ÈÌÌ̵>{=äÊ•+Á}÷ÝG‹-J9J‘²I㑈ˆˆÈïÌ™3À7Üwßhž~:Œ hù1)5JƳmÛ¶ñ믿2dÈ }üÚµkÙ²e Ï<ó UªT)þEDŠ‘Á¹¿ÔÍ«NDJß—yï½·s”ÛÛÛ“žžŽ››½zõâÁÔzÈrÇÑx$""""‘õ¾õ7î»ï< j3)]JƳmÛ¶ñæ›oÒ¡C‡"'c&OžÌƒ>¨dŒˆ”y+Vàøñ$bbnàç猡@u…¡5úEŠÇ’%¸víšyM䌌 \\\èÕ«½{÷æÞ{ïÅÖÖÖÚaЉÆ#)ýÎ#Ö¤dL1kÓ¦ ¯¿þz‘1""wšV­¼Y¹2ŽN~5—Í›Nh¨WžueÁ?D3nÜ^‹²Y³Ž1kÖ1{,ˆ7ÞhlÐDJÀvï^ €££#Ý»w'""‚ððpììôÏA¹ói<‘²N¿}³6mÚЦMk‡!"R*ÆoDF†‰;.põêMþ¾ E^u"RzRRR€Q4iÁOô C‡8::Z;,‘b¥ñHDDîdÆm#(È•W_½Çªq$$¤òÛoçØ¸ñW¯¦sÿýþ `Õ˜DDÊ%cŠY^{ÆDGG³víZΟ?§§':t ^½z·ì+99™eË–MµjÕ¸ÿþû©X±b _ˆHÁy{;òÉ'¡…®;pàþ’ «@ú÷¯Iÿþ5­†H‰KMM¶1lX2=zhMd)Ÿ4‰ˆHY0xðBB<7®Q¡êvï¾@jª±4B¼¥wÞù“¹sOZ|h¡iSOë$"R)SÌnµg̸qãxÿý÷1ÿ\ ?þ8Ÿ~ú)öööý?~œ|èèhs™——K—.%,LëU‹ˆˆHÁTªT p’­ŠˆˆˆH¹¶k× ·Øš,¯º² !! ooG:v¬‚““-sçž´vH""厒1¥`æÌ™Lš4 ƒÁ@DD!!!DEEñÓO?ñÅ_àååŤI“,Ž>|8*Tà©§žÂÑÑ‘µk×røðaúôéCdd$•+W¶ÒÕˆˆˆˆˆˆˆˆHy2~|#¼½1à—_╌)JÆ”‚÷Þ{€ü‘>}ú˜ËwîÜIxx8}ô¯¾ú*...溪U«²yófÜÝÝÈÈÈ`À€,Y²„¹sçòÒK/•îEˆˆˆˆˆˆˆˆHG&ñæ›û139xð ƒm6× \‹o¿=™kÝ„ ÷âasðñÑž‚""%MɘC\\mÛ¶µHÄ„††Ò¯_?æÏŸÏÞ½{ 7×3Æœˆ°³³ã­·ÞbÉ’%lݺUÉ‘2àÚµtvíº@RÒ__ôèQý–uIIé…>×»ïààÁ+n?eJsªUs.ôyDD¤ø)SÂ._¾ @PPP®õµjÕàÒ¥Kå9Úf—e÷)""""""""ÖU·®;óæ…3xðBB<7®‘¹Îßß™ºuÝs­+ʬ˜ÈÈ« ü¤¤óo$""¥Bɘ–µi.œ:u*×ú“'³Öàôôô´(?}ú4­[·ÎQö÷>EDDDDDDDĺÜÜì õÂ`¬¯ÿ®Z5ç[ÖÖ+¯4*ÔŒšjÕœnë|""R|”Œ)a5jÔÀÏÏ­[·²|ùrî¿ÿ~sÝž={X¼x1NNN4kÖÌâ¸É“'Ó»woÜÜÜ€¬=c^{í5Ú¶m[z """"""""eBYÙcFDD OɘR0vìXž{î9|ðA"""¨W¯ÑÑÑ,]º”ôôtÆŒƒ‹‹‹Å1gÏž%$$„ˆˆX·n‡ÂËË‹!C†XçBDDDDDDDDÄj´gŒˆÈKɘR0|øpâââøàƒX±b+V¬À`0ðøãóöÛoç8æ“O>aôèÑÌš5Ë\æååÅÒ¥K©\¹r©Å.""""""""“™Y´º‚Òž1""w.%cŠYFF¶¶¶å“&Mâé§ŸfíÚµœ?OOO:vìH½zõ,ÚuéÒGGGÚµkÇáÇY¾|9ÑÑÑT¯^û￟Š+–ÚµˆˆˆˆˆˆˆˆHÁ¸¸Øw“)Cë C{ƈˆÜ¹”Œ)f§NÀÓÓ3G]@@O<ñDžÇwéÒ….]º˜¿4hPñ(""""""""Å®~ýŠìØ‘H‡¿R½º3L˜p!!yÖFIí³~ý9fÏ>À¥Ki,_˾}—èÖ­C†Ô*‘s‹ˆÜ-”Œ)&+W®dÙ²e|óÍ7xxxlíDDJ”1ÓÈÌ­3 ªDDH„µÃ)6‡Îbß™}¤¦§R×§.mj¶ÁÖÆ6ÏcÎ];Çû wýÞz–F¨""‚Æ£¿Óx$"b]/¿Ü€gžÙA||2ññÉæY,yÕ•‰‰i9–?;{6…³gSv·FX""劒1ÅdåÊ•|ñÅØØØðî»ïboooíDDJT†1ƒ[fÐ¥N—rñò+áz£VŒbGô‹ò@Ï@¾ð~~·<öõÕ¯³îÄ:Vi¨—_""¥HãÑ_4‰ˆXWãÆ•Ø²¥'N\#))“)Ó<“%¯º9sÚàêjÝ÷H:ø2o^ø-ë}}K1‘òIɘbAƒ  £iÓ¦ÖGDD áÆÍ š7ˆ¨ËQTrªD—à.Tv®ÌÉ‹'ùíøoœ»vî–/¿~9ú Nm ¹_s~û½”#‘òD㑈ÈÏÖÖ@ݺ¹Ï"¹U]Ë–^%V¾||ññQÂED¤$)SL""îüOቈܭ>ÚüQ—£h\µ1_ ø wÇ¿~Aйƒ£]î¿”\K»Æ[kÞâÿ5ÿ˜2Mzù%""·E㑈ˆˆˆHù¥dŒˆˆ‹# GؽS¦‰þ-h\µq®íöÄíáXâ1®§]ǯ¢-ýZâíê]ÊÑþå¦ñ&‹þ\„Á``Jï)/¾jT¬qËc?Øðl+0²ÝH¦nœZÒ¡ŠˆHh<Òx$""""R)#""·mÊÆ)|¶ý3‹²<ÀûïckÈÚløJʆý0Œ?ÏþiÑÎÁÎÑíG3´åÐ|ϳôàRb¯Ä8®ÁÍSÉ©Ržm;ĵ´k4«ÞŒ@Ï@vDï`ÿÙý¸:¸êJm¯Ú¹·÷Ì^þ±9ýçàdïTà˜DD¤äh<Òx$""""RV)#""·e¬=¾–öAí©ã]‡³IgY}t5Ë-# Rχ=ÀÜ=sùóìŸøºúÒ©N'<=8sõ »bvñ{Üï~ùµ-j[cëÒ+ß—_Ñ—£hP¥/.{‘•GVZÔ÷oÜŸ·»¿­­¹,ÔÁøUãy°áƒ„†8)94‰ˆˆˆˆ”eJƈˆÈm¹”|‰÷{½OßF}ÍeûÏî§ÿ7ýùjÏW<ÛöYl ¶\J¾À’!Kðuõ5·½i¼É¡s‡ t®> ûЯEcótöÌ·Mrz2뎯ãܵst îJ g 1—cXs| ?ìÿªnUÍ/ñ>Ûþ—’/1®Ó¸Ç"""%K㑈ˆˆˆˆ”eJƈˆÈm ¨`ñâ  qÕÆt îÊ/GáxâqêùÔ£[p7æï›Ïœ]sè߸?AžA *ØV iõ¦:WŸ†}Š=~;â“â™õð,:×îl®Ûrz CÊ7¿ÃsmŸÃ`0u9ŠO·}ÊûïSÑ©b±Ç#""E£ñHDDDDDʲÛJÆ\¼x‘¸¸8FŽY\ñˆÜ†YÀvk!wý\¼ègí Ê¿Š¹ßÿŠþ$¥%Æ‚Gðõž¯ðÝÒ2ÒhX¥!]ƒ»òH“G ´Î}I¬ÑŸý©h??‹_Ù1×ñªÃ±Äc$ÞHÄÇÕ‡wÖ½ƒ“½§.žbÆ–æ¶ûÎì`Åá û˜ïˆˆ”¶ƒMžç*‰5úëùÔÃ`0ܲ>33Ymâ®Äq5õªÅ‹¯¿[qxÍýšëå—ˆH)ÒxdI㑈ˆˆˆHÙr[ɘV­Z°hÑ¢b F¤¨ 3fÌ gÏžÖEîÏ=÷®®®Ö£LˆºÅ’Kr¬Ñ¿æØÜÝ©ã]€Ñ;hTµ.\ðqõ!"$‚ '7ðÓÁŸ8}é4µ*×Êó\%±F¿—‹M«5e¬;±.Dz0'.žÀËÅ //kþo\ÌÑÏÆ“Ùv?½ë÷&Ð3k8N¹}²h<)›´gŒˆˆÜOgOþó¿ÿð¿#ÿ#Ø;˜ø¤xV]1ÓÈÐC±5Ø0kÇ,~ûV5[Q³RMìmí‰LˆdÓ©MØl ´Þ}I¬Ñðbø‹ü¿ïÿÿþñßt©Ó…Ïó†É™™™<ú¤ùÓÊ6}4×>’R“Ì/¿:ÕîT"qŠˆÈ­i<Ê¢ñHDDDD¤lR2FDDnK³êͨU¹³vÌbã©æò<À³mŸ5ߺfkþˆÿƒßNX.'èRÁ…W;¿JeçÊ¥ó?µ hÃÄykÍ[üzìWs¹Á†¡-‡2¬å0«Å&""£ñHDDDDDÊ2%cDD¤Hìlí6‚ ÊAD„DÐ3¤'»bvaÊ4Ñܯ9Mª5±hÿT«§Ü|0;cvrúÒiªºW¥]P;œí­q 4@§ZØpr’/Pѱ"mÛxy—vAípwt'Ð3°„#‘¿ÓxdI㑈ˆu¤e¤Ñ`JºÔéÂg}fípŠÅ®Ø]|±ó öÙGjF*u½ëòX³Çè]¿7¶6¶·øsÍÔù?JƈˆH‘Øl6Âü}ß4ðmç1NöNt¨Õµ:”ptEãíêM¿ÆýŠtl» v´ jW̉ˆH~4YÒx$""ÅaöÎÙL^?Ù¢ìø?ø#þü*úÝrï´KÉ—xoý{8Ù;‘’žR¡ŠˆÜ1”Œ¶FmeòúÉYxA߆}ñrñâÄ…ÌÝ3;›[¿Nœ¸n"žÎž´ªÑŠùûæ—bÔ""eŸ’1"""""""""À´Óße<ÿjþ/syˆo“{M¾Õal9½…‡W0Ð|V]]âqŠˆÜil¬@y4eÊ 6l°v(""""""""RŠâ®Æñï%ÿ¦éô¦Ü3õ†ý0Œ#çäh·þÄzþµð_´ú¸ §4¤ûìîL\;‘ó×Ï[!ê,g“βÿì~*;WæÑfø¸ÔŒT^ýåUiò-ý[–`„""w.ÍŒ)¢‰'2aÂ6oÞLXX˜µÃ+»šz•ß°H¨l:µ‰=±{øþ±ï ñ ²1O.~ÒâØ“OròâIÎ];Ç'}>É÷\ÿZø/¶Em+pl«Ÿ\M­Êµòlsèü!Ú´áÈù#¼³îþ<û'.\hU£/„¿kmþˆtc:ÿéðŸÇ#"r·Q2¦Œ=šÑ£G[; )E»cwÓ¤Z>íû)ÁÞÁÄ'Å3}Ót~9ú o®y“…-`íñµŒj7Š~÷ô£¢SEâ®Æ±5j+Ñ—£­ÿ¥äKMF™÷)é)¤e¤ñsäÏl<µ‘….4'•Žœ?œ]søô¡OqupµJÜ""w%cDDDDDDDDDг½3³žEeçÊÔª\‹ø^_öbOÜ.ܸ€—‹Uܪð@ƒðvõ Ð3@ÏÀŸë›ß{ü¦L«Ž®¢uÍÖ¼Òñ+s9†÷ֿǦS›˜¸n"óÍ3·ÿËxºÕíFçÚ‹=‘ò¤TöŒ¹ví¯½öõë×ÇÉÉ www:uêÄš5kÌmñ÷÷ÇËË‹˜˜‹ã7mÚ„aaaddd¸Ïlׯ_çÍ7ßäž{îÁÅÅoooºwïÎÚµkÍm{ì1 .\Èq|vÝ•+WèÒ¥ &L <<ƒÁ€Á` C‡À­÷Œ‰åÉ'ŸÄßߟ *P¥J Ddd¤E»±cÇb0øã?øúë¯iذ!ŽŽŽÔ¬Y“7ß|“ÉTÀ;‡æþûïÇÃÃwwwzõêEdd$C† Éq½?ïçŸN£Fppp0Ïò)hü…¹—ÿ<ïÌ™3©[·.ŽŽŽ1qâDó3)ËêûÖ7'b²ÙÙØÑºfkó¬—¡-‡ÒºfkzÍéÅ Ë^`öÎÙlÞNº1½Ôcþ;77í™Ùg&!¾!8Ú9ìÌÌ>3©èT‘ݱ»Í3f¾ùý¢/Góz××­¶ˆÈ¡ÄgÆ\¾|™ððp:d.KMMeýúõlذo¿ý–G}ooo-ZD»víèׯ›7o¦B… œ={–àååÅ?ü€]û¸xñ"ááá9ò×FiÉÉÉüúë¯üú믤§§cgWò„NŸ>M«V­HHH0—?ž °råJ~ûí7Z´haqÌÇÌœ9sÌßÇÄÄðÆo`2™xóÍ7ó=gdd$mÚ´áêի沟þ™;wÒ¼yó[÷þûï³`Áó÷&“©HñÖäÉ“Y¸p¡ùûÓ§O3aÂŽ=Ê·ß~{[}‹ˆˆˆˆˆˆˆX›Á`ÀÕÁ•où–c‰Çس“È„Hÿ¹˜KÉ—x£Ûô é•o_%±gLöÌÿŠþæÄL6'{'jV¬Éþ³û¹œr'{'í_ÄÕÔ«´ú¸U®ý=µø)¾ø5mÚ8V‘ò¨ÄgÆŒ=šC‡Ñ·o_vïÞÍõë×¹xñ" , bÅŠ<ÿüóܸq€V­Z1uêTvíÚÅÈ‘#ÉÈÈ`àÀ$&&²`ÁªU«Vè>_|ñEŽ9B£FX¹r% \¼x‘_ý•Î;›ÁÂX»v-o¿ý6›7o&33“ÌÌÌ3aþî…^ !!víÚ±gÏnܸa¾†k×®ñä“Oæ8fþüù̘1ƒøøx’’’øî»ï°³³ã“O>!333ß8_zé%®^½J¯^½8pà7nÜ`ïÞ½ÜsÏ=üú믷<îÇdêÔ©ÄÅÅ‘™™É´iÓŠaeŸ7>>žK—.1þ|<==ùî»ïX·nÝm÷/"""""""R’Ÿ?ÌÅä‹e¦ ¶Go FÅuÁÞÁ n>˜wî{‡ÕO®æÞ÷2zåh®¦^ÅêúÔ¥¢SEb¯Är-íšE]Jz ÑW¢±µ±¥’S%à¯eÍDD$%:%$-- РA/^lN|¸¸¸0pà@.]ºÄðáÃÙ¼y3=zôàùçŸgûöí|úé§Û·oÏ¢E‹ðôôdÍš5øúúšcëÚµ+]»v-ÉË7»qã«V­ÂÇLJ+Vàîî@ýúõùþûïiÒ¤ üñÇŽ#88Ø|Ük¯½ÆóÏ?oþþÑGå§Ÿ~bñâÅÄÆÆR£FçÊvýúuV¯^M5X¼x1ŽŽŽ4mÚ”¥K—R»ví\—9r$£Fºíø ëÅ_´8ï#<‚ÑhdðàÁ,^¼˜Îµö¨ˆˆˆˆˆˆˆ”]ÉéÉ<½øi&t™@°w0ñIñLß4“OÒ¯^.^¼òó+Tq¯BçÚ©Y©&ö¶öM<Êñ ÇI7¦sþÚy<=òøs:ÕîTìqŠˆÜ‰J4sêÔ)RRR8|ø0öööæY$Ù_9öˆ™={6Û¶mcÓ¦MôìÙ“1cÆ©ÏÓ§O“––Æ}÷Ýg‘ˆ)mQQQdddnNdd³³³£{÷î:tˆ'NX$3²÷ ù»   kÏœüÎi4i×®9“ÍÃÃV­Z±råÊ\ýg’ª¨ñV÷îÝs”e'éNœ8Qä~EDDDDDDDJCKÿ–D_Žæ¡o²(w¶w¶ØWåܵs,úsoù8Gõ}ëSÛ«v‰Çz+ϵyŽM§6±-js",ê*:Uäµ.¯Y)2‘;[‰.S–½Ñ|ff&F££ÑˆÉd²HžÜ¼yÓâ¸Ý»wÀñãÇ-Eé³ K‘ÙØØXôÿw)))ù_…]ÍÉÉé–}d™²¼Î™×ñ•+Wε¼ ñç½Ì>gQ–“)+†ý0Œ‰k'Z; ‘BI¼žÈ yƒ˜»g®µC¹cx8z°ð±…tªÝ WWœí  çûÁßâbn7¹×dFµÅ=UïÁÍÁ WW‚½ƒ6‚yƒæac(ñnÉÕÁ•….dhË¡Tu¯ŠÞ®Þôi؇Ÿ†üDPå «Å&"r'+Ñ™1888ТE ¶lÙR cΞ=ËÀñööf̘1Œ9’¡C‡òã?ºÏ””Ø´i øøøÜ²mvÝéÓ§-Ú%''³sçÎí³ù^S@@vvvlÞ¼™¤¤$‹Ù%F£Ñ¼KíÚÅ÷©‡€€lmmÙ´i©©©³c’’’صkW¡ú*Lü…½—ÙV¯^c)²U«²¦»Öª•÷s""eÙîØÝ¤¦§Z” ^0˜ŸÆug¥¨DDDò–fLcWì.‚½‹>û]Däná`çÀ‰±­êñùßçÙÞÇÕ‡gÛ<˳mž-éЊÄÝÑñÇ3¾óø"ÿj—WyµË«Å•ˆÈ­DÓìÎÎÎ 8­[·2hÐ vìØÁ•+WHMM%22’¹sçÒºukÒÒÒ€¬ÄÆ€¸pá .äÅ_ä¹çžcÉ’%L:µÐ}:99ѯ_?.^¼H·nÝXµj.\àòåˬY³†®]»b4hРµé}dd$)))ìÛ·¾}ûræÌ™׿éé d%’““ó¼...Üwß}œ?ž|½{÷’œœÌ‘#Gxä‘G8xð Mš4¹­%¾þÉÕÕ•nݺÍ€8tèÉÉÉìß¿Ÿ‡zˆÄÄÄ÷UØø {/³}øá‡L›6sçÎqùòe,XÀ /¼ÀÃ?|wCDĺæôŸÃ„®,ÊvÅî"21ÒJ‰ˆˆˆˆˆˆˆHi*Ñ™1Ó§Ogÿþý,X°€ äÚ&{ɬ±cDzyóf&OžLûöí˜6m{öìaìØ±„††V¨>§OŸÎ®]»Ø¿?={ö¼e»Gy„ &°uëVBBþš6Z½zuºuëfžý‘­}ûö Þ{ï=Þ{ï=sÙ† rçÃ?dçά_¿žæÍ›[Ô¹ºº2{öì\»S§NeëÖ­,_¾œåË—›Ë+W®LçÎY·nyßü&þÂÞËl}ûö套^⥗^²(ôÑGs̘¹“´ôoiíDDDDDDDDÄŠJ|ÊJ•*±}ûvÞÿ}š7oŽ««+ÎÎÎÔ¯_Ÿ'Ÿ|’;wâèèÈÒ¥K™ô•º- IDAT:u*÷ß?/¿ü²ùx{{{-ZD¥J•0`çÏŸ/pŸ^^^ìÚµ‹ñãÇS¯^=ðññ¡G¬]»;»¬|”££#«W¯¦{÷î8;;ãîîNŸ>}ضmÞÞÞ9®+$$„/¿ü’úõëS¡B…|ïCPP{öìáñǧzõêØÙÙáããÃÀÙ½{7-Z´(¦;nãÖ­[‰ˆˆÀÍÍ 777î»ï>¶lÙBFFvvv¸¹¹¨¯ÂÄ_Ø{™mìØ±|ôÑGÔ©S‡ *ÈÛo¿Íܹso÷VˆH H7¦3hÞ ¦mšF†)ƒy{çñÜÒçxtþ£¤f¤òÒŠ—xi…er5)5‰Gç?Ê yƒH¸ž`Q÷ʪWñÓˆÒ¼³Û‰5¿û–{ÆM<Ê yƒ0šŒÇÕÔ«|¹ëKž[úC¾˜ÿá·¿•äm¹#•§ñ¨ cJAÇ£ÉȺëxsÍ›<þÃã<µø)¦lœÂéK§s=÷þøýŒ_5ž!ßá•U¯ðGü%z­"""""w›ŸY/ç_~ùe‹$Ë?õéÓç–›Êûùù‘`ùKRAúÌæááÁĉ™81ïÍ“4hÀ/¿ü’£ü»ï¾ã»ï¾ËQ>tèP†š£|ôèÑŒ=:G¹¿¿?_|ñE¾ñþ}¶MaêrÓ°aCV¬XaQÇîÝ» 1ï}S¾ ?þ^f1b#FXç—_)S¦‰]±»pupeè÷CÙ½Ý\—aÌ ‚]í_ÄØŽcñvÍJÄn‹ÞÆÎ˜¬½£¶œÞBßF}¸’r…ÿü‘ˆúùž÷ÝuïrðÜÁÇ9¥÷ª¹W˳ÍíÄšß}ÀÎrϘkiר›µoWRj’ùëìïöÙÇS‹ŸârÊe‹8<ð#ý÷cÒ}“ |ý""å]yò»–}ç >> š?ˆßã~·h÷ۉߘ³kŸôù„Nµ;™Ëÿ¹˜q«ÆaÊ4™Ë–XÂKí,“X"""""Rt¥’ŒëéÛ·/Ï<ó M›6ÅÞÞž={ö0zôh’““µ‹ˆ‹M§6áêàÊèö£ ñ ÁÑÎ'{'Ú´eÑþElÚʃ ²^xy»zãZÁ•­Q[Í/¿¶GoÇ”i", ,ßóE&FZ$0ò“’ž’o›âˆõV÷áŸêz×eÞ y ^0˜ŸÆug® ñ ázÚužùñ®¤^áÁ†Ò¡V<=ˆ¹ÃÜÝsY´­k´æþ÷øˆˆÜ ÊÃx”×µMÆB×Ó®ó@ƒhéß??R3R9rþs÷ÌåÍ5oš“1ñIñ¼¶ú5L™&ú6êK§Ú0šŒ¬Š\Å´MÓ ³ˆˆˆˆˆäMɘrî×_eéÒ¥9ÊëիǨQ£¬‘ˆ”7™dòíÀo ñ ±(oЃÁÀæÓ›-^~…„áêàÊÏG~&33ÓÜ m`Û|Ï÷JÇWHJK*p|ù} ¹¸b½Õ}ø'77Bk„b0ðpò ´F¨Eýw{¿ãbòEF·Í3­Ÿ±¨ëY¯'í?mÏ’ƒK”Œù‡ò0åu-…æ šÇΘl<µ‘ÕGWsÓx“ÌÌLì8sõ 箣Š[–ZÎMãM†¶ÊøÎãÍ}ö éÅþ÷–XRà¸EDDDDäÖ”Œ)ç–-[ÆôéÓùã?HLL¤ZµjÜÿý¼öÚk¸ººZ;<)êy×Ë5QÉ©õ}ê³åô233‰¾MÜÕ8F¶‰›ƒßþþ-‘‰‘„ø„°5j+µ½jãëê›ïùòKvEqÄz«ûPXÙkô¯9¶†mÑÛÌKxf’iþúäÅ“·}‘ò¦<ŒGÙr»–ÂŒÆL##—4'—rs-íUܪp4ñ(ýîé—£M¿{ú)#""""RL”Œ)ç:wîLçέFž »Žˆ”-Uܪܲ.<(œÏ¶Fdb$¿ÇýŽÁ` ,0 G;GìlìØ|j3¶YŸÐÒbHÎWkôG¬y݇ÂH¾™ Àþ³ûoÙ¦‚]…b9—ˆHyR^Æ#ÈýZ 3>¬8´‚ͧ7S³RMkö5+ÕÄÙÞƒÁÀ7¿Ãê£«Í œÔŒ¬=ÍÜÝsôçáèQ xEDDDD$JƈˆÈm1 ·¬ ã³íŸ±éÔ&öÙG=ïzTv® @ÓêMÙµÕ¼¯JÛ€ü—„’[£ÿvcÍë>ä*ó‹°¿«ê^€7»½Im¯Ú¹jg£á[DäŸÊËx¹_KaƇì„Í'}>!ÄÇr†ÍôMÓ-¾÷qñàÐùC9’@Î(pÌ"""""’7½Í‘Óܯ9NöNl8¹# Gx´é£æº°À0>Ýö)õò¨UÍV곤Öè/‰XóââàBÜÕ8L™&l 6æòîu»óõž¯YvhSzO¡FÅæ:c¦‘5ÇÖ`4oûü""w“;i<º•ÂŒ*°7n¯9“aÊàÓmŸ²'nE¿áAáÌÛ7÷~{Z•kP)€È„H¦mœv[1‹ˆˆˆˆÈ_”Œ‘cokϽþ÷²ñÔF ë…W¶°€0¦ošÎÖ¨­Üë¯ùÉù)©5úK"Ö¼Ô÷­ÏŽètøoª{TÇ€ ]'p¯ÿ½ôkÜEûÑé³NøWôÇËÅ‹¤Ô$â®Æ‘–‘ÆÓ­ž¦WH¯ÛŽADänq'G·R˜ñ¡CPfnÉ뿾Η»¾¤’s%¢.E‘”–Dß:ÈÜoÇZiZ½)ûÎì£ÇìUÂh2u9ŠºÞu9ý|©^§ˆˆˆˆHye“‘¢Ë~áådïDs¿ææòFU™?¹û÷—bÖTš±¾Üáe¼]½‰OŠgwìnvÅî")5ëÖïôx‡qÇáãêCì•XöÙÇÉ‹'1ešèY¯'õ#Š%‘âdk›µô¢±ŒNÞ»“Æ£[)èøÐ¸Zc^ïú:NöNÄ\‰aü~ “{NÎ1óÇÖÆ–ÙϦcíŽd˜28–xŒ“OÒ¦f&õœdË”rÊhÌZ~/ûg…ˆHA%¥&1cË 6œÜ`íPDDn‹fƈˆH‘ØÛÚ3oÐ<*9Uʳ]ßF}©ï[g{g*Øþµñ¼Á†o~õ´k{—t¸R”X ræôŸƒ«ƒ«EYãªÙ2| '.œ )5 S¦É¼”ŒÁ†a-‡1´ÅP¢¯Ds)ùžÎžTw¯Ž½­}1^±ˆHñqs3píš +šJí¼åi<ÊïZ 3><ÚìQú6êËéK§1` ¶Wmìm퉹C§ÚY3k²UtªÈì‡gsþúyâ¯ÆãëæK5÷j¤e¤1oÐ<|Ý|KôºåîpíZÖgAÝÝKï烈”IiYɘǚ=F‡Z¬ŽˆH‘)#""Ebc°!´Fh¾í<=nÙ®¾oýâë¶%ւ܇–þ-s-·5ØR×»î-3 T 0¯ß/"R–ùûgU&MRKí¼åi<*èµt|p²wÊqm5*Ö°Øoæï|]}ñuý+ñâ`çP xD âÔ©¬„¡¿º•#±ŽÛNÆ,^¼ƒÁP±ˆÜ–#F0bÄk‡!w‘‡~ØÚ!ˆˆˆ”~~éxx˜Ø·Ï±T“1"rgØ¿ßÕ«gX;«¸­d̨Q£èׯ_qÅ"RdÛ·o'88˜Ê•+[;¹‹øûûçßHDDä.a0@xx2ëÖ93tèk‡#"eÌڵδk—Œ>Ë)å•1ÓÈÌ­3 ªDDH'/žd[Ô6.§\æß­ÿÍw{¿ÃÁÎAM™I7¦óßíÿà‰Ð'p¶w6×ý°ÿ®¦^åÉÐ'Ëܵd/yðÜAöÙÇõ›×ñuõ¥}­öTvÎù^æRò%vÅî"ær v¶v{Ó: 5¶ÛmoܼÁºãëˆOЧŠ[ºw-ñë)-·•Œiݺ5­[·.®XDЬÿþÖADDDä®×»÷užy¦ ÑÑöÔ¬©¥ˆD$KT”=»v91kÖ9k‡"Rb2ŒÌØ2ƒ.uºp<ñ83·Í4×=~ïãìŠÝņ“x°áƒæ¤Ëž¸=ÌØ2€†UÒ©v'noòÖš·­šo2féÁ¥Ä^‰-pœƒ›ÎwŸµü®åjêUF.ÉöèíÇ9Ù;ñz××yøž¿V‘x{íÛ,Ø·€›Æ›m*0»ßl=ÍeÎ੟"ñz¢¹ÌÛÕ›‰=&øúDDÊ2í#"""""Å¢C‡Ô¨‘ÎGy2mÚyk‡#"eÄŒžÔ¨‘Nûö7¬ŠH‰Ûwfk¯%<0œßí±·µ', Œ5ÇÖ°#z‡9é²åôœíq²wbóéÍæòݱ»IÍH%,0,ßó-=¸”mQÛ _¯^ù&còºƒ O.~’gàçáGxP8ŽD_ŽfíñµŒ[5ŽÚ^µiR­ ›OoÆÇÕ‡¦Õ›RÝ£:iiI8ÂŽèüçÿaÑàE@ÖŒ˜§|šÄë‰z†Ñdd㩼òó+¾>‘²LÉ)¶¶0nÜEžy¦ <’DË–)ÖID¬lï^GV¬peÖ¬sØæ\‘H¤Ü¹˜|‘©½§ò@ƒ,ʳ+[No1']6ŸÞL«š­pspcËé-æ¶Ù_$Ó§aZøµ(p|žÎžn›Ûµ¬Š\ųè]¿7S"¦`kó×ÿØÎàáoþÿíÝy\UeâÇñï½—íÂeGEÁ5­ÑÜR0SRµÒÊ\Z§P[ôWF¥•¥MS£cZ/µ4Ò¦Å-5§ÆÆLmqA4ÓÖÑ\Aô"Äv021H"y=Ÿ÷?yÏyî9ßGíëy½õÕ[zõ¦W%IÓúOSËÀ–J9”¢ÌS™r³¸©[ónÊ)ÈÑî#»•W˜'«¿ÖìY£l{¶â¢âôÆ­oT.…VXR¨;—Þ©Ü3¹µÎ õe €‹¦_¿ÅÆžÑóÏjåÊ#rww €A~ùÅ¤çž RlìõíËS1h¢¢ª1’驿~͵%­¢hÉ+ÌÓžì=ºõÊ[es³éÃ?ÔÑSGÕÔ§©¶¤nQ°-X­‚Z÷~C; ½ès8ë\sÙš¶U’äéê©ù)óåpT|žw8rÈ!}Ÿù}åøoŽ~£{—ß«ÒòÒsÞãDÁ ù[ýµ+c—$i|ìøÊ"FªXú졞)aå¥ß;.6ÊÕÔ©96,\“&kÖ¬clØ 4B‡4iR°ŽuÕܹ,[ˆÆ£E@‹ÏÅFÅjéî¥:’D»Žì’ÃáP\Tœ¼Ü¼$U<Ó¯U?í=¾W7_qs­îçŒ=cÎ:×\Î>¡²üÛåç}Ê¡½üåËr³¸)¾U¼"ý#åéæ)“LÚœºY»ìV¹£\’”_”/I ÷ ¯væ~Ík•ê;ÊUdd‰æÌÉÒŸþ¦¨¨M˜ÀÒ"@c3gN€Ö®õÒ¢E™ŠŒ,1:pÉXL5¯Ç׫E/-ݽT[Ò¶hWÆ.5ómV¹}ë&­µ9u³Ü]Üåp8jµD™äÜ=cÎ5_«¯$it§Ñ ô <çû<\<$IŸü\’4wèÜÊ¥ÙÎÚ“½§êu=*®›‘Ÿ¡`[p•sR6@}Fà¢ëÙ³PÓ¦åè™gšÈn7éÉ'O°_Д•IÓ§ê­·üô ÇÕ³'{GgõŒì)‹Ù¢Í?W<Ò'ºOå¹^-ziõ«åfq«[ÎÜ3æ\®‰¸F+¾]¡2G™îõ°Ì&s•óÇíÇ•y:S’dúÏ£±6w[•1)‡RôÙþϪëÞY«¾_¥9[æTÛ3f^ò¼ß•ê ÊNqûí§äéY®I“‚•–æªY³²e³• €“ØífMœ¬­[=5kÖ1 b7:P¯øxø¨CHm<°Q%e%ŠkWy..*No}õ–þµ÷_jÜVMlMjuMgîs.ƒÚÒßwþ]˾Y¦Í©›Õ³EOzêTÑ)¥å¥iGúÝ×í>]v¥:5í$I»r¬¶(OíÏÙ¯/~©ÏåäT^wp»Ázuó«ÚœºY\øGÅFŪÜQ®/~¡ÂJ] e §2Ä®ððR=ð@¨ú÷Pbâ zš}d€ÄáV¯öÖÌ™*/—Þ{ï¨:u*2:©³Ÿ_ÕËÏ5q-ãômæ·²˜-º&òšÊãÝ"ºÉÍâ¦â²bõjÑËÀ„¿Íb²háð…zòã'õÙÏ´âÛU·ØBteØ•’¤mhHû!úç¿ÿ©ßýwÜmWÝ&o7o-újQå1/7/-¸eƬ£ÔÜT¥æ¦J’‚¼‚ôâ /jܪq—`vh ŽŠÿÖÇhø(cZF~†ú¼ÞGwt¾CSûO­Ó5:¾ÜQC;jÉè%7\=pªè”6¥nÒÆýõåÏ_êTÑ)í1V÷yÜèh.#:é“OÒ5{v€&OÖ➺モºþú¹º:ŒŽ ŽJJLZ¿ÞK úé‡Ü5bD¾}4W~~<ãxzVüý+*2Ëj½t],.š;A-[þ減®¸If“YþVÿÊ}R¤Š}Vž½þYeÛ³5°Í@gÇýM盋¿Õ_oÜú†ž8¨;•{&WžjáßB]»Èbþﺤ³oœ­QF釬d2™tu³«Õ1¬£¶¤n‘ÍÝVeß™ŽaµaÌmÜ¿QGOUˆwˆâ[ÅËáphBì„Ê’ø= *–Öãim2àtmf´Q÷ˆîzgÄ; â>É”uSôñžŽ ðó+×´i99ò”^y%@>"r]sM¡Ú·ÿEaae|S \ìv³23-ú÷¿Ýµm›UEEf]w]>ü0[mÛPpp™$éèQ‹¢£/Ýç‹É¢ ±Î;.* ªÆq#þ0âbǪ“ÚÎ%:0ZÑÑç×µyWum޵ʱبXÅFÅVë忥¯¸±ÚñÚäjãØ±Š‡•œe ¨‘¯‡¯·¬¾1}UXZ¨§×>mt$—¹¶m‹5~–²²\´q£—¶m³ê£¼•“c‘Ýn>ÿÊË«\AAej×®XO<‘«øø…„ð-ÔÑÑÅrqqèÇÝ]btõÌ?¸ÉÅÅÁÇ‚2ÔèùÏWþú“Ÿ>10 €†&4´T£Gçkôè|££77‡:w.Ò¦MžºñF»ÑqÔ3›6yªsç"¹¹±T..=Ê@}~às½µó-í;¾Oö_ìjæÛLqQqJè‘ [ˆvfìÔˆ÷*µONKVÌ_c*ß»xÔbuè®´¼4-ÞµX[Ó¶*=/]³E­›´ÖÈ?ŒÔ°ŽÃ*ÇÿRú‹®˜y…â[ÅkJüMÿ|º’%ëdáI½=âmݽìîß¼O¹£\‹v,Ò²o–éÈ©# õÕ¨N£tCÛjœßŽÃ;ôæö7µëÈ.Ù±+Ô;TÚ Ðø^ães·ýæïMmæUXR¨Øy± ¶kíýk«]#Ûž­¸yqêÝ[I·&ÕâO@ÿþš=;@fyy±&€ fmØà¥‰sŽ‚FŠ2P'Ÿø\ +ª;xâ ž8¨¬ÓYš;tn­®3fåý|âç*ÇvÙ­ÝGv+Ûž­q׌«r.¿(_Ãß®cöc•ÇÊçÿë¹OŸÓÒÝK+_>yXÓ?Ÿ®³~<çø¥»—êÙOŸ•Ãñß-“‘Ÿ¡…;*9-Yïßù¾¬®Öß5/««UﮤíIÚqx‡º5ïVeü²o–©ÌQ¦»¯¾û¼ó»kÙ]JNK>︳Ö%¬«ÕúÎÀåfèÐÓzùå@-Y⣄„“FÇPO,Yâ£òr“n¾ù´ÑQÐHQÆêdÃþ ’¤‰½'ê¶+o“ŸÕOùÚš¶U‡òI’º„wÑIÔfFuè®wF¼Sí:11Jèž .á]Ò"íÍÞ«g×=«ù)ó•Ð#A“¥rüW‡¿R§f4oØ<µ n+IúÍû|—ù–î^*›»MS⧨_L?•–—ꓟ>ÑKŸ½T-Óᓇ5mý4ù¸ûhÒu“Ô'º|­¾JÏK׫[^ÕÚ½kõöη«Eu™×ïТ¯齯߫RÆ”9Ê´ì›eŠ Š9çÆ–ÎÍ×·\ '5w®¿nºé´‚ƒËŒŽÀ`99½öš¿NÊ×—'æ` Ê@„z‡J’nºâ&5±5‘$ED)* ê‚®3­ÿ4½¾íuÍß6_™§2U\V\åü‘ü#Šð‹¨|íéê©·,P€g@­ï±î§u’¤Çû<®[:ÞRyüŽÎw(¿(_³7Í®2þ?üC¥å¥zaà U–1‹ ŠÑ+7¾¢;µ~ßúß,cj;¯f¾Íß*^ŸîûTÙölÛ‚%Ië÷­W¶=[÷z¸Vsv¼$éݯߕ¯‡¯†vZ›)ø«Õ¡§ŸÎÑǪ[·B ƲD@cõÁÞZµÊ[sçfÉjuœÿ €“PÆêÄænÓ»#ßÕ¾ãû´=}»öfïÕÊïV*÷L®¦öŸªAí÷«¾_¥ÌS™êߺ¿ÆÇŽW¤¤¬.V™L&MY7¥Ê/gùYýœ1*ÎîASV^órÿû¤Ë¯]輺5ï¦vÁí´ì›ez°×ƒJËMÓöôíJèžð›ûÒü{ÆU P ±cóôÔSMÔ´i©zô(4:€KlçN=óL—§ ŒŽƒFŽ2ð»´nÒZ­›´®|ýÐꇔ¸&Q±Q±òõð•TñIiYiµ÷¦ç¥K’»ö±*Å@qY±R¥\p–šîé)IÚœºY£;®rnSê¦jãÏfy{ÄÛêÕ¢×ç¨Ë¼îºú.M^;YömPJzŠ,æŠýdÔÝĉ¹JKsÓÇêõ×3ÕµkÑùß Aøê+=ð@˜úö=£GÍ5:@¨›Éÿš¬PŸPõ‹é§HÿH¹Z\õÓñŸ´?g¿JÊJtìô±Ê2ÆÏê§ý9û•~2]á¾á2›Ì’¤¦>M%IIÛ“ôHÜ#ãŽï×ìͳ•š›zÁ™jºÏ€6´ eþöÅßäáâ¡~1ýTæ(ÓÚ½kõZòkÕ®3´ãPÍß6_?š¨Äk+Š¥ ¯ åå+-/MïùX!¶÷Œ©Ë¼n¼âFÍøb†îX¨}9ûß*^Í|›ÕzîìTg6K3gSbbˆîº«©þò—ã,Y4|à­§Ÿn¢~ýÎhæÌc2›NPÆê(ët–V|·Bs¶Ì©v®}H{ÅÅT¾îÑCkö¬Qßù}+-µXCÚѼäyZùÝJ­üneå9›»M×·¾^ë÷­¿ L5ݧ{Dwì4RKw/Õ“?Yå=ƒÛ Öš=kªkáßBøgMY7E“×N>ç½Æö[cŽºÌËÝÅ]#þ0B¯o{]’tO—{Î;ßKáýoß×SkŸªrlAÊ-HY Iº£óšÚªÉ€ÚñðphΜ,½ür€ž|2X;vX•˜xBAA5/K àò”“cÑÌ™ZµÊ[cÇæé±ÇreªyËWà’¢€Ëœ»{ÅæsÅÅ—ö«‹éƒ¦kb2ìJy»{ËænSë&­5!v‚Z\ùTŠ$=Ýïi l3P~V?™~õUP˜O˜ÞùžzDöÍÝ&]sVܹB~œ©¦ûHÒ´þÓ4éºIjáßB®W…û†+ñÚD%öI<絆_5\+î\¡Áí+Ø,³‹‚mÁêÖ¼›¦õŸ¦®y ÆuרN£$Ií‚Û©kó®<à\ŠŠ*þ_ðð`£JÐx™LRbb®æÍËRr²UññJJòSA?‚‚³’’ü¡äd«æÍËRb"E ê“Ãáà;s¨gŽ;&»Ý^«±_í¡Ûoo¦­[)$¤ú~)¸|lØ¿AãVÓK7¼¤Û®ºÍè8h ²²\©÷ß?¢ÎY# °Ð¤¤$%%ùÉlv(>¾@½{ŸQ‡Å -•—W¹Ñœ‡ÝnVV–‹~üÑM›6yjÃ/•—›”pR y²Zù‘7.¾Ùl¶º¾}Ë”Àe.:ºD’ôÓOn”1—±ÔÜT½¸ñEyºzjPûAFÇA²oŸ›$©eËbƒ“ÔV«C&äêî»Ojõjo­_ï¥'žVYÿ„¸ÜX,uéR¤‰suóͧåëK™Šú‹2.s~~eŠŠ*QJŠU½{Ÿ1:.Ðöôí½dtåë1=ÆÈÓÕÓÀDhh¶m³**ªD~~|Sðk¾¾åºçž|ÝsO¾Š‹M:pÀM99–..^^å *SLL±ÜÜx —Êh®»®@Ÿ|â¥Ç?Áz¨—)owo l;PÿûFGAR^.­[ç¥ë¯/0: @½æææPûö¿ЀQÆ@pÛm§µh‘Ÿ¾üÒS}úðtÌå¤{Dw˜tÀèh 6mœŽòIDATòTzº«n½õ´ÑQhÔxî€V­ŠÕ·ofÌdc’¤²2“fÌTß¾jÕŠýb0e 4Ïat=Êh ""Jtï½ùš=;@º€tÕ+¯è¾ûòUbt=Êh@ÆÏUtt±î»/L¹¹£ã0ÀÉ“f¦ÈÈ=ôP®Ñq€(c Aqwwhþü,I&=ø`¨ìv>̉ÝnÖ¸qa*-5éÍ73eµ:ŒŽD N``™’’2•žîªáÛ)#ÃÅèH.Œ  ÞLéé®JJÊT``™Ñ‘ÀPÆ@ÔªU±V­ÊÅâÐ-·„ë‹/<ŽÀ‰¾øÂS·Ü.‹Å¡U«2ÔªU±Ñ‘À¯PÆ@Vªå˪gÏBݘƌ SZš«Ñ±\Dii®3&L÷ߦž= µ|ùQ……• ü“Ãá`1q¨gŽ;&»Ý~Ñ®·}»UÏ?¤ƒ]_ ¡CíêÙó ûI—¡ÂB“’“=µzµM6x):ºDÏ>›£îÝ Ž@ƒ"›ÍV×·¯ Œ€zèb—1’TVfÒš56-]ê£]»u¬¬¬LÓéôÁƒ ""„Bm³ „jG<ÙèСӧOß¿ŸÍfëèèÌ›7ÏØØ˜·~yyù©S§nß¾]XXH§Ó ½¼¼ÌÌÌÈwgÏž}ëÖ-ò¸´´ÔÞÞV¬XÑÌ555.\ˆ‹‹ËÊÊâp8ªªª¶¶¶žžžÒÒÒüGQQQ’’’çÎÛ¹s'Y²eË}}ýˆˆˆ»wˆèêêZ[[=ZRR’ú ?TVVž9s&!!!??_BBBKKËÖÖvôèÑ¢¢¢M†Çb±ÆG½\´hÑèÑ£ÔY¹reTTõr̘1¼úõë·iÓ¦oŠ!„P;ÅE!Ôn¤¤¤ìÝ»—úmnnqôèQ2IyñâUùñãÇêêêгgÏ?ÿü3((‚X½z5Y!))‰z²EZZ:>>>>>þåË—;b±XäGRSS @NN.<<üôéÓ ¬¬ß|ä+W®$[ëÖ­[TTTmm-—ËÍÎÎ^½zµ¤¤äõë×322tuu@AAa÷îÝÑÑÑ044”””ÌÌÌä?€gÏžikkF[´hÑ¥K—>¬¯¯/--““Ãår>|ØàÔª««¥¤¤:Ÿ——×ø^¼xÁ{M.\¸@^±Ÿ~ú‰,>|8U¹Å !„P{€YBµ/¼¿ÁŸ;wŽ,œ0aY2þ|²¤ªªJSS“,Y²mÛ6²Ú7È)))2Çø’ªª*j5¶;wRå£Göõõår¹GŽ!ß3gõnff&A¯^½â3€êêj2€E‹Qí¤¤¤À›7oš<µ==½çÏŸóñ©ÌpÁ‚ ² ï¼P!„‡E¡öËÜÜœà=ñÙÚÚŠ‰‰5iĈ0uêÔ¼¼¼æãçÓ÷_(„B‚…«# „P‡D¦ ¤iÓ¦5X5F£µ MÞ% ¨t‹:€ÿþ¢ß¤îÝ»;öÔ©S°}ûö9räÂ… ä»"""qqq±±±W®\yðàÁÇkjj>|8yòd˜4i?ðÖa³Ù_=©3fAåææºººÞºu‹ºtååå‹/.++Û´i“ŠŠÊW›¢|ÿ…B!$X8„BïÂÍ öÿ11±A<“'Oþý÷ßœœàÑ£G“'O&oÕ€uëÖíÞ½ûøñã_=/^­r¡B fA!Ô!MŸ><Þ¾}ûÇ ¾¾~ݺuqqqä[ä:fPZZZQQñôéÓ¸¸8EEÅ&ÛÔÑѡ֔;vì™8=z”,ñððàÝHôKú÷ïommM8pÀßߟz«°°ðàÁƒäLHIIQËs÷îÝ›ÏzöìIµ¹mÛ¶¢¢"¨©©Y¹rå»wï,--‡Ô­[·³gÏÀ_ýµtéR²üÝ»wäõ ŸZåB!„$A/Ï€Bè³-[¶P+"À€îܹãëëK=ô/''ggg—ŸŸÏårëêêÖ¯_Onî)##Ó¯_?uuukkë¿ÿþ›·Í3f“'ººº ÃÇǧɎ>LÖ?vì™;ijj’™ƒššÚÆÉ•¯ùAå9 UUUTyvvöÂ… 544´´´lllTUUÉÈ-ZÄÛøW¨¯¯ßµk—ŽŽHJJZZZ*++;88¤§§7yj7oÞ<þ<•€­­í³gÏbbb„…… ‚8tèз^üV¹P!„…àþ{cB!KMMmðïÞ½³²²JKKy ­­­©õÖ¸\nzz:“ÉïÞ½{“ó<,+==Ãáèèè¹G㎴µµ©¨ ??ŸÜ TEE…Ì7øWWWGÞ™¦¨¨hbbÒ¸“ÉÌÌ̬««SRRÒÑÑjâÆ~ÈÎÎÎÍÍÖÔÔ¤N¼ñ©™˜˜ÔÔÔ¼yó†·ÐÌÌLFF&;;›Íf“këµàâó'B¡ö³ „B!„PׂkÄ!„â×Ó§OyŸói`Û¶mÔž9!„P{†YB!~•””$$$4óî !„j1¼#!„B!ÔµàJÙ!„B¡®³ „B!„PׂYB!„B¨kÁ,!„B!Ôµ`„B!„êZ0 B!„Bu-˜!„B!„ºÌ‚B!„B] fA!„B¡®³ „B!„PׂYB!„B¨kÁ,!„B!Ôµ`„B!„êZ0 B!„Bu-˜!„B!„ºÌ‚B!„B] fA!„B¡®¥› @uééé‚!„B]”®®.ÿ•q.!„B!Ôµ`„B!„êZ0 B!„Bu-˜!„B!„ºÌ‚B!„B] fA!„B¡®³ „B!„PׂYB!„B¨kÁ,!„B!Ôµtt!Ô„’¡7oè?ÒjjAÇ‚Ú; ‰zŽž^ Ît,!„:Ì‚BíÈ›7ô³g¥âã%Þ¾t,¨ƒ¡Ñ¸ÕÆUŒS&#S/èpBµk—‹ßœ!„ZGzzz‹?ûîðúõŒØX -­ÚáÃ+¬­« jää8øí>úªŠ ¡‚ÚË—"·n‰_¿.Q_OÌœY2sæ11<!Ô…èêêò_³ „P«iYÄf¿ÿ.茶víâÅEƒWxj©Š ¡“'¥wí’“–® z?lX… #B!ôƒ`„ŒdAEE4•ôtú¯¿{y}¤Ñð'jïßÓBCþ)5{ö‡… ‹1¯F¡®à›² |.!$0oÞÐgÎT¥Ñ¸gÏæèêÖ :Ôy((p6ndöëWµ|¹bf&=4´PTl„BŸáJÙ!ÁÈÏï6eŠšŠJÝŸæb „Ú‚‡GÙ±cy÷î‰*×ãr !„x`„€ª*bÞ<))Îþýù²²A‡ƒ:-+«ê½{óãâÄ·n•t,!„ÚÌ‚B°l™Rnn·ƒó¥¥ñ+zÔ¶,-«×®eíÝ+-!èXBµ˜!„~´û÷Å.]’ aª«× :Ô%xx”ýôSÙºu UU¸NB!Ì‚B?‡kÖ(88TØÛW :Ô…,ZTTV&.'è@Bµ ˜!„~¨¨(©´4áeËŠHg£ÇÃÇÇGÐá´; gîÜáá²¥¥øB!Ì‚B?ÖÉ“ÒNNÚÚ¸(\+KKK›8q¢ £h×¼¼> q/\t !„ï›÷ 7n\[Ä8›€€€6í‚Å¢=y"ºwoA›ö‚P“$$êœ*¢£%¦L)t,!„웳 sçÎY[[«««·E4!A¹wïÞèåþ}1!!® >„cРÊÅ‹•jj:7Qí´’“EãâÄŸ<MK£—– ±Ù¸$ú ‰zŽ‘QM•£c…Š ®ÜÓ%|s¿þúëøñã[=„ý˜iÞׯé::µbbø (Œ^½jêêˆôta#£AÇ‚Z— ‘‘R{÷ʾyCWW¯µ±©2¤RNŽ#"‚?pÐW”— Ð^¾Ù´I~õj…!C*üý‹ ñ§D'×’,!„Z†ÅꦪÚ9¿c«­­=xð`tttfffee¥²²²ŽŽŽ½½½«««¼ü§ý:kjjŽ?~åÊ•ôôôêêjƒÑ¿}}}`±X666TƒãÆSPP¸|ùr~~¾ŒŒŒ••Õ²eËTUU© L&sÛ¶m EEE²²²ŽŽŽUUUk¾ÓçÏŸ3†ªÔi•——Ÿ:uêöíÛ………t:ÝÐÐÐËË«ÁísáááÏž=«¯¯ïիפI“üýý©w]]]¾ÚTXXï/^‡:}úôýû÷Ùl¶ŽŽÎ¼yóŒ›é”ü塎N]]ÝÇÇÇÇǧ™:bbbsæÌ™3gN“ï’û5.o²”””Ö¯_ß 0,,¬U:E¨Ý:vLÆØ˜)Pk¹wïÞ¡C‡ÔÕÕ¯°‚x-XPÝ8mÚ´‹Ðh´u¨,¥¶¶á?i~šjY`ÍtŠB5©¬LHJª^ÐQ|/eeå lÞ¼ùéÓ§ $$9eÊ55µ 6888p¹ÜU«VEDDÀ¬Y³LMM·nÝzñâÅððð#Gލ««“í¬_¿þðáÃ\.×ÀÀ`úôérrr‰‰‰NNNÓ¦M[¶lÙW‘à C__Ÿ,ùßÿþ—›› ÎÎÎÔÖd³gÏ^´hÑÀÇ÷Õ–¿z‚¸è­„~?â½TfAÊÎ; &MšD•(((ØÛÛ“ÇõõõnnnÇ4hï^¥¹¹¹VVVäAƒ©Í4Åx|vŠB5‰Ã­Ã?“!!!Ñ¿999òåÇcccÉÜ&>>Nž}úŒ3†¬süøqrÛ¨ƒ6hŸ¦øÇg§!„P×aiiIMï=úÌ™3äKmmmò@KK‹|þüy]]]QQQÞ'#©§z¾ÚTXX؉'¨º¹¹…††ž>>Ôº¬zzzgΜٰaÃßÿíëë«££#&&VXXèææF®ÉçÏŸ ¹qãÆ²eËöíÛ'..Îb±üýý'NœÈO#M†qòäIòåÀuuuÓÓÓàçŸæÝ£e-óž BífA]—©©éÑ£G9Nvvv^^ž¨¨¨žžµ™)BÎÅ‹ÙJJ¢66Š_¯úõçØB?˜¬¬,•l|‰Á‘#G𝣡¡±sçÎ7Ò|ADGG·E˵˜uu4M[[»ÁS@u8LfõÂ…IJJ¢wîŒt, µçØÚÈž=© ôqã´B!Ô4Ì‚B’’hh¨¥’’¨ iB{Ž­ìÞýÚØX³ „BífA¡NÂÝ]CÐ!|Q{Ž !„ê‚0 Buxéée—/ç’ÇóæÐhõVQûömf~~•˜ÍÌL¾o_¹Ÿe2«oß.d2ÙRRÝ,,FF2M¶™‘Q–˜È¤ÑSSù>}6òêUé½{ïkk9úúÒƒ)GFfggW€‰‰¬¶¶DƒØ¾©å/…÷%¿ÿþšËm®‚¸8mÆŒžM¾Õ*=~\œ˜È¬­­Ï˫ܱã5ÌŸoØ|Ø!„І«!#„:‰¨¨œ;^ÕÕÕS%‡§}ìXzqqurrñĉ·&Mº]Tôyóðð7vvÑ'O¾-)aß»Çrs‹÷÷XSSß ÍÇÓ6n|QXX}õjž‡ÇÍýûS© \.¬XñÔÅ%îڵܢ"ö¹sï&ONŒˆÈصëuó±}µe~Âk í60„B¨á\B¨ÃÓÕ•òó3ü矒ŒŒ2ªðÒ¥œuëž¹¹ilÞl!$D@RRÑĉ·MJ² IDATæÌ¹wú´A@ddvHÈ õ°0+‚ˆŒÌHRU[¼¸o›ïß³\.8;ÇîØñú—_ô„……àĉŒ“'ߎ§½aƒÙï•+¹~~èt!?¿O bã³åæÃûÒ¥øžY—V ÌÜ\ÞÜ\><UyÔ¨îjjâ|ÙLËü‡×Úm`!„P«hÉ\ÐÑ£GïÞ½Ûê¡ ö,55UUU7„îÄ’““ÕÕÕE«áp¸¯_—Òh„¶¶$o¹ŽŽäß3_¾,µ°`¤¤” QQ9ñù9"M¨ªŠ“’ò±W/Yª7«‘‘¡@eeÙKFFFhhü'íQWÿ¾šŸ8›i™ÿðx}ÏsAmB!Ô®´$ ºråÊ•+WZ=„`UUU :„† Aðþ*cÇj€´´0o¡Ð7Κ××7›ˆð×2ÿáµ…vB!Ô*Z’>}züøñ­ jÏ‚ð÷÷ߺu« Ameܸq‚¡5Ñh„¡¡Ì«W¥™™å::Ÿç0ÓÓËÀÄD–F# ¤_½*õöÖ‘“£SRS?ÆÄäuïÎ×-m4¡«+•–V–•UÁ;锕Uñýñ·,¼¶^ÏÀh4‚ûïœÔ‰&&r¦¦ W™C!„Ÿ BuN³féÀ®])ÔÌLRRÑÝ»,ssy++˜3ÇöìI¡>ÂfsV¬xJÞJÇg/ÞÞ:°oߪäâÅl‹¯Ûáš×*áµ~SR+)©‡»uë«V¹ !„P+Â5âB¹ÑMFF9ìÚ•bb";|¸š‹‹:‹UúòíÛrKK‹Uge¥ðûïýÈ›¹FêÎbõÙ´éå£GEææ ‡W ª*º~½9T9óŽjÓÆFÑÆFqÇŽ×IIEpòä[++†««†——Λ7ee¦¦r¹¹Uµµ++…§O‹¿[ß¾rü´Ü|xmÏSæ'0ÐЖ.}ÂbUËÉÑíì”Û(f„B¨e0 BuÎÎ Ww˜6MÏÍMã֭‚‚jUU±)SôÜ—5eŠ®‹‹ú­[Ìüü*iiau33ùæÛ´µU²µU¢^÷õôÔ¾wï}]]ý Aʶ¶JcÇ&ˆŠÒšoç«-ó^[h•À|| úö•ù²ÄÜ\näHu:ï;@!Ô¾`„êðÈnš|‹Á3F³™ÏÊË‹¸»k4.WQkÜfã’ÊJΙ3™S§êÉ%7+«¼GÉfb㧤ùðÚŸ§Lúj`äTR«‡P«¬ä¸¸ÄêèH…‡Û:–†Úslu\øýBµ\EEíºuÏ^¾,¡JΜÉüð¡ÆÓ³‡£B}+.—[_ÏåÇ©=ÇÖFz÷Žôô¼%è(P'‡sA!ÔrÂŒI“n©.++œšúñömæÔ©ºãÇk :4„Ð7è?\ÐQ4­=džPÇ…sA?Bhh(AAt¦])Ñ7 ‚‚ˆ¸8í?Ÿ>mgeÅ‘¡;:ªÆÄ ê#è¸B!Ôœ j‰ÚÚZ iiéÄÄD~êššš¾ÿ¾­cC?Nm-XX€´4ð7 0ÁÔpt:ÒÒ‚Ž!ÔBׯçÏ™s<~ùÒUDäÓê&%%5»v½¾q#??¿J\¼›©©ü¬Y=­­??ðV\ÌÞ¹3%66¿°°JJJØÊJaþ|Cò)AÞ6oÞ¶iÓËÛ·™4af&ÿÛo}45%¨FÒÓË6o~yï«®Ž«¯/íëkpäHú;,7NËÁAµAlü·ÜLx_b`pÃiîÖ;‘{÷F}õ2¶8°ÞlÜø=*ÒÓû h4"%Ž™jœ j¡úúúúúzAG­¾p „Pç䤚–6fèPUÞB«ÚÝ=þÒ¥œß~ë“”äüçŸöbb4oïÄ3gÞ‘˜Ìê1cn^¹’³jUßÇ]NžTRR3vl“'Å Ú\»öù/¿èݹ3rûv«»wYþþ©^Þ½«7.áùó;wöð`tHˆùÑ£¯_¤Ó…ÒÒÆlØ`Þ86>[n>¼/IIqOKÓÌŸ/¥@­ØŒ=ÓÒÆˆ‰Ñ,,d˜¡6‚YPK ¿xñâÎ;‚ ”°0¼x8 B¨3 ý''§2(¨ƒƒª¤d·=$·nµRT]½:ùý{6„†¾ÌÍ­\¶¬·½½Š¸8­gOéíÛ­¸\îªUÉ š?^ËÌL^LŒfk«do¯üìÙ‡jþíååǵ¿ýÖgà@%²‘­[-«ª8|Ù|Ë|†×Úm`Q0 B!„j(&&† Q¡Jèt¡««9·oÀõëùBB„ƒÃçYEEÑž=¥_¼()(¨âmªOŸÏj©ªŠ@aá§ ·nÀàÁŸ{‘—ÑÑ‘ä3ÈfZæ?¼¶ÐnCˆÒ!³  .ÿÊÌÌôôô”••e0ÎÎÎééédµk×’H–\»v,QPPhÜλwï<==¥¤¤ †··÷‡233]\\¤¤¤TUUgΜYVVF~***ŠúTuu5UQQQ@@€®®.N—““9rd|||ãà_¿~=zôhqqñ!C†üý÷ßÔ[l6{ÅŠ†††âââòòò...‘‘‘¿_ul~Z9€ `òd€¡C?—””4ñ‘ >WÈÌOO•œáßak×~ªðï0€k×>•ü; þÓλwàé RRÀ`€·7|ø™™àâRR ª 3g¿â¢>Šg@Q€®.Ðé '#GBSÃ^¿†Ñ£AFÄÅaÈàÀfÊ`hââ /.. ]d „PûPSS_VV+"B“øÏÔ ¢ÀbU“ê빦¦—ôôþ¢þëægf–ó~JJês#t: ¸ÜO½TTÔ‰ˆÐÄÅÿ³Ï²ŒŒ0Ÿq6Ó2ÿáñ20¸À[¿ñkë+ ¡V×!WGpwwçr¹îîî/^ô÷÷_¼xñ¡C‡îÞ½ëêê:qâÄ@PPPPP¤äçoSFŒÁår---333·°lÙ²C‡?þçŸ.**¢ÓékÖ¬ÑÓÓ;qâ„””TXX8;;SŸ¢/((0`@eeå\PP°téRGGÇýû÷Ϙ1ƒªV^^>wîÜ5kÖôíÛ÷õë×Ó§Owppˆ‰‰±³³__ß³gÏž={vàÀ?~ uss‹···ÿ—U°!9lmAOöí¸|ììÀß&Lhú#îîÀå‚»;\¼þþ°x1:wï‚«+LœAPð 1¸\°´„‡ÁÚ €eËàÐ!8~þŠŠ€N‡5k@ONœ’‚°0gçÏŸ¢À€PY ÀàÁPPK—‚£#ìß<ÃÊËaî\X³úö…ׯaútpp€˜°³ðõ…³gáìY8>~„ÐPpsƒøxè Ã!„Ú:]HJJ¸¬¬¶¢¢Ž7zÿ¾Eét!iiኊºþq£Ñˆ÷"!Ñ­¢¢®²’Û±¿?þ–…×ÖáðÑÂ+ŠÐ7èsA¼f̘acc#!!1tèÐÑ£G?|ø°eë°MŸ>ÝÂÂBBBÂÛÛÛÄÄäêÕ«¦¦¦’’’³gÏîѣǕ+Í}ù±téÒ·oßnÛ¶ÍÙÙYZZZ__ÿäÉ“ªªª~~~………TµÒÒÒõë×ÛÚÚJJJZZZFDDÔÔÔ,X°€|766ÖÄÄÄÉÉILLLYYyóæÍúúú-8—Žªo_8|’“áçŸË…Ù³ÁÑñ‹)P3f€ HHÀС0z4<|ØÂuئO oo01«W! LMARfφ= ÙaK—ÂÛ·°m8;ƒ´4èëÃÉ“ ª ~~À3  ´Ö¯[[”KKˆˆ€šøw@l,˜˜€“ˆ‰²2lÞ ]j „Pû0l˜ÄÇP%55õwî°DEiƒ)ÀðáÝ9î£GE¼ŸÚ·/uРkÍ/³ÆËÎNþ½/ŽÄbU¿}Û S"­^[à'01±nµµŸrrºþÇ™?8HÔtø,ÈÊÊŠ:ÖÐЀ¼¼¼´ciiI«©©5(éÞ½{óÍþõ×_0zôhªDDDÄÑѱªª*::š*íß¿?õ²wïÞjjjÉÉÉùùù0bĈ;wîÌš5ëÞ½{äp)))]b"ˆ2n,_çÏÃÀPTkÖðûAža-Àó—jj KºwÿJ³ýÀ3 @D¡ª x†ˆŠÏ0€Þ½AM ’“!?`ĸsfÍ‚{÷>Ý—’‚A!ôƒ««‹¯]û,..¿¢¢îíÛò_}ÈbUÿö[²‚¦¦ÄâÅ ËÊjKJjNz»sgÊÒ¥½ùŸ~ 4‘•¥¯Y“œ˜È¬¬ä¤¦~\¼ø±¢¢h«Äÿýáµ~31‘}û¶ý0vìMªÍ¹s ŒÉ pÀÅ%nÈ•ðpMM‰³gí6mzáë{ŸÃ##éE‹zmÛöOqqÍ—bóöÖå§åæÃk |ž2?õ^¾üé°a×eeé+VôÕÕ•jÜBß©ÃgAͪ©©á-)iò9ûï#"""##SZZZVVÆ›‘÷©¨|^ø¥´´´Ág™L&())AÞÞÞÞÞÞµµµ7oÞ õððزeK@@@«ÇÜ~ݼ ¥¥Ð»7Ì }ûBß¾­Ð¦üw4½ÜÂw(-…²²ÿ$Bä½p<à `2””¼½ÁÛjkáæM زºÔ0øFººR ……ýóèQQ}½ ïôè"êê¸ÇŽ¥‡‡¿)-­ì­5µ r£›Æå²²ôåË{/_ÞûK”•¥/[Ö{Ù²&*˜šÊ5n³É^zôܳǚ·„ÅbËÉÑ›‰Ï–› ¯-ðÊ_ LGGêÔ©A­BÿÕÉ¿1UUUÍÍÍ¥^deeµEGäŒÍåË—©6›+&&6|øpª°¼¼<9ùórøÏŸ?ÏËËëÛ·¯ªª*ÈÊʾ~ý„……œœÈ%ìxÛìüÞ¾…éÓáÏ?!2ÄÄÀÍ X¬VhVUx†@Û ƒO36¼el6ÄÆ‚˜ð (/žaÏŸC^ôí ªª²²ðú5€°089}Z®K ƒo''Gïß_ú¥¡íL›vw´€%Kݾ]xö¬Ý¸æun,Vµ…Å庺Ïß&ääT¼{WNÍ8!„ÚH'Ï‚† –——·sçÎòòòôôô ³.­nÆ =zôð÷÷ŠŠ*++KMMõòòÊÏÏß¾};y_IBBÂ××÷þýûIII“'O¦ÓéÛ·o§*øøø<{öŒÍf3™ÌM›6q¹\‡¶¸=*/wwض ŒA[΃¼<;jk¿·åaà /vî„òrHO‡  m†lØ=z€¿?DEAY¤¦‚—äçÃöíÀ3 @B|}áþ}¨¨€¤$˜<ètààãÏž› L&lÚ\.taо=|øþŸMåu=³fé>l«®.þõª¡¯)-­ z’Ÿ_UUU—œ\¼`A’””°¯¯¡ ãB¨“ëYн{÷‚ ª ‚ BBBÀÌÌÌÙÙ™¬¹víÚ3f¬_¿^IIiêÔ©‹-RQQ)**"bÉ’%ÛIJJ""::šÃá±qãÆÄÄD‚ ***‚n2$•‡Nœ8ÑÏÏÁ`ôëׯ¢¢âÆ3g΀ÐÐP‚ ’““eeeÖ.]ª¢¢2xð`99¹¸¸8r™lHHH044œ0a‚¼¼¼‘‘ѵk×ÂÃ×-[Öæ´=ðõ))xö ÜÜàÅ xÿìí¡¶nÝ:Ö®mâ#÷îA|Z¨ZL ‚‚BBÌÌàßak×ÂŒ°~=()ÁÔ©°h¨¨@Q,YÒD;II@ l܉‰@@ð…a**ðð!Lœ~~À`@¿~PQ7nÀÌ™¡¡@œ ²²K—‚Š  rrÿHHCC˜0äåÁÈ®]ƒðpè"ÃuúúÒ_¯„⃢¢è±c?~¬8ñ¶¹ùåÙ³ïikKœ?o¯¡ß2 Ô¶:äsAÖÖÖ\nÃ;Ñ—€ŒŒLxx8oIRRRóŸâ³e‡#$$Ô­Ûç È`0¶nݺuëÖÆ•©—qqqë@ß¾}÷îÝÛä[ßΰsçJšºìÿamÝD&?%#ÿðßaÀW;M¶Ìá€ð `0`ëVhj@` ð øÂ0€¾}¡ËƒÖP_'NdܾͤÑ33ùŸÖ¥Ó?ÝÃåB\\Áùùù•bb4SSùñãµyoëº{—uåJn^^¥ˆÍ‚1fŒ†¼¼\¾œsâÄ[6»>%¥ÔËë6ÐhÄñãyf8thÀŸ¾ûR×UçÏg¥¤|üø±F[[rìX-Yò-ÞFpîÜ»„¦°0ao¯2v¬V]]ý±c÷ï¿§ ¢âæ¦Á{¾\.ÄÄäÅÆæ3™Õ’’ݬ¬ÆÓn°cÞÞ‰Í?Ì#+Kß½»3B­hÀÅðþ7„~´™ J¯^½¢¢¢´µµ 77WSS“7 B]E¯^ÚÚ¹¹ © 8 Ú“+žêêJyzj''Ø´éå‹%Û¶}ZH½®Žëë{?>¾`êTÝ¡CuY¬ê}ûRxsà€Mß¾òpèPZHÈ‹Y³zª[^^ñ64ôåÙ³v½zÉš›3D§M»£¦&¾`ü»©ï ¿ýö©ë'OŠCB^ðvýðáûÉ“ R?^«¾¢¢r<mD;t¨ê!1sçÞ&*J;uê­¹9cáBò]GGU;»èŠŠ:PUSU))áþý¨îxfàíúéÓbÞ®ËÊjµµ%÷í³&wÃ1BmòäÄÕ«Ÿ¥Þ­Ñ OOm°³S¾}›¹woÊÖ­V..ê`g§rëóôéL* Ú½;%..ÿ×_çÍ3ø÷ônnqÁÁÉÍLæôë§ð¥·B¡.¿ðû|ùò¥ªªêÂ… ׯ_Ï{“êB„—/AU.„õë‡A;CnÄNÒÖ–€ÜÜJòåÙ³™0v¬UAAAÄÎN©°°šÜ¸]]]üùó‘‘Ùäžå¢¢´#GlŒxv£â»k)Þ®ÍÍ»w÷çÝ©ÐÖV©¤¤&5õcƒFþÔˆ¡¥% ƒZ̃F#´´$òòª¨Êçν€qã>Ÿ‘±±LR7näüøÝËŠ „BÎ}ƒþýûß¼ySÐQ Aëßp´c †uL§Ó€Liêê¸ùùUtº¹é;EMM²²*`ËËÍ›ÿY¾üÉŠOMMå­­ÜÝ5¥¥…[е„D7ªk•¥¿zU‘QPPõñc-— UPRRÓ yùÏ) 4!#Ã["TSÃ!É3"üýò¶ðþ}u}=÷Í›Mï¶ŽÏ!„B˜!„ºª­­¯©©ç]´ ¼¼ÈûÖäåE6l0[µªïóçnÞ,8z4c×®Ô]»úQó3-œ‘1|¸š««†œ ˆ«Ws#"2š\|…ÿ3¢Ó…8®ŸŸ!A Þmf«u|.!„Â,!Ô%ôﯘÈLN.¶²úü`Ìóç%ÖÖŠ0sæÝõëÍE-, oo][Û«‡§QYNãp>Mïüï†U6Lí«]s8ÜS§ÞÊË‹ìÚõy‚ååË’V9£Û·™ÊÊb=zHRå±±§OgîÙƒÏ!„B_„_ø!„ºŠ… EDh6¼(.f“%¼yõªt„äÌIRRѾ}©ÔÝbiie\î§[æHÚÚ’ùùU·¤¤æÊ•\YYzã^£ÑuuñÒÒšäädIyy]ttÞ÷ŸQ` ‰¨(mÕªdêκôô²à৆†Ò¼Ï ¡0™LAGBHp.!Ôᥥ•­Xñ”\i`êÔ;šãÆiyyÝÎή€¥K¨hÜ»·ÜñãW®|:xp´®®‹U]QQççgD-°hrìXzdäUMMñ²²ºìì 77Å‹{QÍ›§ïïÿpøð••uŽŽªýú)ðÙõ¶mVÆŽ½©§'-.ÞÍæ³76¼05•›:U¯A#òAAOSR>r8\/¯Û&hȬZ•üêU)›]ïåuû§Ÿ4úIËÄDöĉA+V<4(Z[[¢¾ž[PPýóÏ:~~FmzÁŸ<)Þ¼ù%×ÀÌ™=‡ QiÓ~[ ëÆQQkÆŽ;oÞ<%%%AǃïñãâÄD&HJv›6MOÐá „~Ì‚BžŠŠ¹‡©{wqà-¡&mÌÍå/]rÈË«,(¨£ééIñ>3iRI“z±ss+EDhêêâä"Õ;wF½}[&++BîìÎg×½{Ë]»64'§’Ū–‘ÖÑ‘*,¬"¼–èÖ¸99:o‰††¸””ð눑}ûÊ]¼8$?¿*?¿JZZXCC\D¤¹-S[E’¼ÁP…mÝo+Q\¹òAYÙáýû÷Ÿ?~æÌ™3gÎtTHðNžÌ ÑÞ,èâÅl%%QÜÒ¡N³ „P‡')ÙwR㊚š8ï}n 0"¼«½5î«wo¹tM ¡!NæN ¢"¦¢"ÖÌG¾éŒÈ팾ôn«“•¥7Lû×­}Ò¤IcÇŽ=räÈÞ½{Ï;·fÍ;;;AÇ…ÆÜ\ÞÜ\þúõ<êvY`2«.LRR½sg$ŸíìÙ“ª @7N»M¢Dµª–dAžžžžžž­ jç¶mÛ¶mÛ6AGÚººº C@èÇ™={öرc×®];}útww÷•+WJI}qm=ÔÕ()‰††Z*)‰òÿ‘Ý»_ËbÔé••½ø†Ú§–dA£FÒ××oõPP{¶mÛ6'''A‚ÚÊåË—1 B]ƒÁغu«‹‹KPP››ÛŽ;zõêõõ¡®ÁÝ]CÐ! v¨tÕª~W¯š{{{2DHWë¨Z’M™2eüøñ­ j϶mÛæää´uëVA‚ÚJNNŽ C@H`"##Æ¿fÍšŸ~úIÐ!KO/»|9—<ž7Ï€Zt±¬¬6!¡0/¯RD„faÁèÕK–,'×W¨­­Ï˫ܱã5ÌŸoH5ÈdVß¾]Èd²¥¤ºYX0ŒŒdšì(#£,1‘I£¦¦ò}ú|¾ùµ'R3gÉÈ8ùðáÃÑ£G:$è@`äÈ‘óçÏoPØ~Âëg=¾ðäÂ…§FJAŠýfûƒ‰”·“ðBA„„„ÔÖÖ :Ô†?.Þ±ã5‹U]^^·cÇë»wYéée;v¼ÎÈ(€]»R¢£óÀÞ^yÅŠä¹sþ³re²‡ÇÍîÝÅýÕ˜jÇÃC##£léÒ'³gß““£ÛÙ)À¨QÝû­Ï‰oúéæºuÏW¯~6|x,AÀúõæPPPÅÛÑÝ»,رãuRRœ<ù622[—}aaáÐÐP///ÿØØXA‡ƒš†«#|¢¨¨øúõkIIIA·oß.++kPØ~ÂëÜLÝž¬xb b Ø0ʪËRöØ ¼„‡ˆÃáž?ŸuêÔÛ¬¬Šúz®††ÄرZ&hó®™û#ëterrr!!!¿üò˘1c† "èpPòòÒiPâì¬ÎûrëV«ÂÂêGŠrs+•”D†µ0@‘w>ÇÇÇ o_ù—/KÌÍåFŽT§Ó?ý#š2E×ÅEýÖ-f~~•´´°‹‹º™™|3€­­’­­R«úá‚ ª­­?þÑ£G­¬¬j³ ÏttþøkWÚyxŽ©†© ChN;µµÿýïÑÅ‹Ù>>úáá64qæLæªUÉ·o3÷ï·H.nРA£G^¹r¥µµµ˜ØW–EF¹ÛOƒÂÛþ”•EGêÞLS66Š66ŠËååEÜÝ5—«¨ˆ5î¨É®Q‡CDpppqqñ¼yóΟ?¯®Þ0×E‚õƒ² ªªª}ûöÅÇÇ×ÖÖöêÕËÏÏoëÖ­=€Ñ£G“ër¹Ü¿þú+222//OFFfРAÓ¦M#g?©»®^½zäÈ‘èèhfcc3þ|ª#>¹|ùòÑ£Gccc‹‹‹¹\î¢E‹6oÞL¾C§Ó©Ö.]ºtñâÅœœEEECCC//¯f²ª~vv¶„„„µµõôéÓàôéÓ{öìEEÅðððßÿýÁƒ§ÿþóçÏ———§êTUU=þÜÞÞh4Zll,oäM†×¸;þ¯X[È-Éý=ö÷äœd‘n"ƒzš;d®ógN=–^îdììŠ#wŽÜL¹YZUª*£êÜÇù'‹Ÿ„!Ø·óÜ£s`¬f¼n̺-1[¿{,/!ïjê:Þr}ä~pË—/wrr:zô¨ cAuBBB›7oöôôœ3gΟþIý ‡ÚƒqÃCYY™­­í¢E‹zõê5wî\--­Q£FEEEݹs'88ØÕÕjjj\]]===•””üüüìíí7lØ`ff–——†††ÁÁÁuuu >>>%%%3gÎ422úßÿþ7uêTª#þ?~<“Éœ>}úˆ#tuu©·êë?=æX[[;fÌ999___—Û·oëéé?~¼ÉÓlPäÈ‘û÷ï722zðà 0 888'''..nذaݺuóññqpp 333ËÊÊ¢êÐétMMÍàààààà+V4ˆüKá5èŽÏ+Öžå<ëÜçð߇Gõ5cÐŒ’Ê’ÛFÜL¹YYSìÜG½dg™®6]¹r`Ï~Ž~ò“NvßåNfJ#zv Nz—t+õÖ¤ðI: :sìç°ëØžû<÷%ì£:ⳑ˜—1î»ÜÕdÕ|‡øjÈk<Ì|H½õøÝçuŸ²ÿÏÞ}Æ5‘m?!Ð{賈b]P¬‹bAl€½—Uì —µ‹ûÚ;"l¨Aº"b(H'”„÷a|c -$€÷ÿ{ÈÍ™;çŽïÍ››¹…ñÅz£õêk«{ëô^0xƒ®ÃÞ‡{U—ªff4ÙLÎøùƒæ›©šž tÜæX\Q ÞÞK‡-}œþøòÛËŽLè¥Ök®Ë\ YÙgf»íq«cÕa1³úÏ€þ†ýƒF šâ4…3óæÒk|:¯Ò]äåU€¾¾$g¡®®àÛ5ò3EEÅ©S§;v¬¢¢Bй ÒP(”ƒæääüý÷ß‚Îù ?Þ­_¿>...88xÉ’%XIÿþý­¬¬DDD°7°eË–ˆˆˆM›6áo0œmmm¯^½*//ïâ₽åpvvž={6¸»»¿|ùòÂ… ÇŽkS%£FÂ*qssëÓ§žžž±±1önË–-7nÜØ±cÇòå˱’±cÇÚØØ7ÙL,~ëÖ­«V­ÂJ<<™…™OW<í«ß‹QPXxaáGæ𝝍¯¯¨/,$ü!ïÃå9—MTL`°éà»Iw=;6{Àì6Uò©èÓÍÀ›¦ª¦Ð× oJ^ þgÚ>Ç}ÒòÓ^®~é ã€•¸›»k¯Ô®¬iz#,þùÊçNzNØÙÍÕÌGí5óôÌ«þWÍÕÌ5d4 £ #sk¦Š” Œ²E&ß Þ¹gé°¥æjæ5u5 %§…_h!½æNÇãCº ]] aaBVÖOó?~,'ÀÈHŠÿ1fÆŒgÏž t.‚t'êêêk×®Å^)ÛÚÚ :ä;~¼ ºpáL™2/17772úiæ÷É“'À××/±¶¶644¼qãFII gäüÿmll Ÿ?nk%#FŒÀÿîÛ·¯ˆÈOÛ–a°Ù8ßœ‰Ä+W®Œ;¶ÉfbñœgWRRrssûúõ+ç:‰"""#GŽÄ?º»»ËÊÊÞ¹s§´´´Éj›Ããé Å+ÖáÒ ÒãrâLUM±.f¬íOWì#ýã“ô'ŠXï3Án„=ãŒÔ–ÓÆè€"BÑ’Óú\ü¹­•è*èb] '‹Ûk71=ñ#ýããôÇ&*&xT¥UcVÆè+ê7o¬lŒõI0#-GÊ‹Ë߈¿½ŸÁ8é9a] Œ£œ}¾q-àýt-\±žíر }ýkúú×úô¹“˜øÍÇç™…ÅÍ^½nNšôôíÛŸ~¶()©Ý²%qàÀ{ÆÆ×ml"|}Ÿ¿|IǾzð «D_ÿÚÇåóæ½¶³»…}ܵ+Y_ÿZu5ëíÛb¬ÄȨ¥üŒŒ®ãU5ùGÇÛ-./O^µÊ<5µ488™Á¨))©=r$=&¦pÞ<qþÇ )))ooïðððúúzAç‚ H73nÜ8ggç7âƒzëôwAµµµyyyd2YAá§É‚***?~Äþ®««ûòå‹··7gLAA›ÍNNNîÓ§^¨¨øcÉlÂOmmm[+‘““k9m¬62™Ìy:000h9^II‰³\SS²²²ð¡Ÿw‡VWWg0999æææ-gõ §ƒæ¯XgÈ.Êì5È$‰BDüc= Š+‹]v¹pþþë{®9?Š“Ås¿å¶µ9±Vþ­ñÚ4d¹ç­6ÙeÂã5å4¹Ê5e5‹*Š>}’ÿ~R%ÉŸþ°Sdg·šÒ¯®…+Ö³ùùøùŒ•]±iSâêÕæÆÆR™™e«VÅMžü,,¬OïÞò@§3Ç{Ìd²¶nµîÝ[Ng'ûø<Û²Åfüx­!CT23=çÌy™·vmü‚&;wÚ¤§—ÿØÏÏ`Ù23Þ祥ng‹¦NÕSTݲåýáÃé #CÚºÕzÜ8mAÅ ooï£G>xð€ó×%A^¬]»vĈW®\?MÙí:½$"""""R[[[[[Ë9'Œshµ°°0™Lf±Xëׯ'¸w311áåDR gm$©¶¶¶¦¦†—µš‹Ç6Úã~VYÉ= [»MCÔx?ŸQÉT(gþ4º¦ª¶ ›«ƒ'‹€¶œvШ Æ5°ØØò-ëJpbd1¨`ò:Ü‹çj&”1Ëðo1\ê°C8:ötHu5kãF+)07—Ù½ÛÎÝýá¦M‰ÿýç ÁÁrs«þùÇÞÕUÄÅÅCBì]\îmܘàêª,/ÿãJ³g:8È€¥¥Lû»4mÕÐkׯýûïç+ÌGŽT' ÷îÑ6lH|öŒþ÷ßvز¼üŒApªªª ¸xñ"ê!ÒVúúú&L8xðà˜1cˆDbë ¬ÓGÄ''§††lE8 “ÉLOOçŒqqq©¯¯WSSsáPVV¶{÷nIIɦ*nâDí¯„³¶444ÄÆÆr–/X°_M®Éxlq\ll,–^RZZŠ­…€)((ÈÍÍUQQÑÑÑÁJH$‹õ½Ï0mÚ´k×®µçt|f­aM%Q?ä}¨ªý1¯:17ñ§Mk)ŠTaya?ƒ~.F.øž¤?¹—|ÇÞK‡T‚³Ñ´‘¤H&Ó’9;-5õ5ÃþöàÃæâ?Ð>TÔüè8”|.þ¬*­Ê¹ÏOÒפ††üã›ì7à¬çŒ}ÄVxúˆ%U%.»\>}jÏé …ˆu0FF’ŠŠ¢))¥……L¸Ÿ*ã$’³³“Ézú´€³KKA®výzÎÅ‹ÙÞÞºÓ§ëÉË“edH'jÏžmxëVîéÓYüA8yxx¼xñ‚Á`:AºŸÙ³gçççGDD:€?ó‚Ö¯_/$$´lÙ2lr‹ÅZ¹r%×°È­[·R(”ÀÀ@|í”””ÀÀ@KKKaa^_XuH%œµ‰ŠŠ.]º”Nÿ>màÒ¥K¡¡¡ýúõk!~É’%x|pppBB¬Y³8ßD‰ŠŠ._¾¼ººjkk.\XWW·nÝ:üý•Á—/_X,Vqqñ¥K—°E´ùt|&F[6lYIUÉŠW°Øð­êÛæ[›9ßÎ‰ŠˆnóÚ–û-w͵5õìïÃë¯Å]Ûvgç"-ëJ8kÛ2zKiué’ËK°ÚêÙõ+ÿ]™ô5ÉQ·‰-SðøÅcñÌ:fà¹À:V]ð¸`Î>XQEÑÎ{;±¿óJóÖß\O&¯úãû‚ÚrÚÂBÂØ0Â_ÄfÇ*K)sŸ¬-§C$%¹çøÉÉ‘ ¸¸¦¶–]^^G&ÅÄ~ºÈË‹Îä,¤PÚõ+];ç=yR\&:;+ÀãÇüA8¹ºº’H¤ÈÈHA'‚ H÷£ªªêîî~êÔ)A'‚ðg8WW×sçÎÍ›7O]]ÝØØ˜N§ØÛÛÇÄÄà1666=ò÷÷×ÔÔ444d±X¹¹¹óæÍ €>øûû'%%ÀСC§N:cÆ lf‘ŸŸß!C¶mÛÖ¦J„„„¢££±³c»ëà_ 6lÍš5vvv> ÐÒÒ211)--­­­=wcÓ; rÅççç———¯_¿þ¯¿þâ “““óôô411QPPÈÊʪ©©Ù¹s'çýõןþibbRQQ1jÔ¨ð’×éx¼bóü³u#×Õ±ê‚ï_Œ½¨)«YRUrhò¡»Iw9;Bs]æRH”µ×Ö{vLOA^N€Ó¾§‡™ €s¯Îyr¤¢¦âCÞ—].»Çï& ^Xˆ½brÙå2×eîû mªÄJÃꟉÿ`gÇv×Á¿Z6l™»…{ k …Dùëú_—ß\ÖWÔÏ.ÊÖ–×¾¿è¾„¨D“ÍÄãÿ]ü¯®‚nFA†4UúÒìKãìÆq†°QTQ¤½R[NLîCÞyqù›7-5,±o%)’«ÝWoŽØœ^žEÏÚ1fE„ÒrzMžŽÇ+ÖáÿÖ]PII]Cp‰-.®992‰$$!!R^^WYYÏÙ**b€‚‚h«•7iÛ¬v¢«ªjvò=þ?cN ¥OŸ>>D#ûùãÇŸ4iRjj*¶`"@|Ú5u„ ^^^IIIõõõÆÆÆááá\£ÔÞ¾}ûåË—/_¾HKKëêꊊ~.QWWÇz2---à,ÁW;à½NØî:øG|Égg縸¸œœœÜÜ\yyy]]Ý–ß)qÆS©TSSÓ&·Çš0aÂèÑ£“““ëëë{õêE¥R9¿1bÄׯ_ÓÓÓeee±ZyIët¼_±'DÚâ¹eÅð)ù)¢Â¢fjfåÌr›%)úÓ?÷4çiS¦¦æ§~«ú¦,©¬-¯¿ÓèkÐWUZÔUÐ%sþž‚^[+áÜütx¯á½Ôzáñe3úΘÞgzZ~¶kjãŸàñŒJ†¼¸¼¡’aã i°kì®U¬Ê(Ì ˆPÌTÍ8Š€ £6Ì07‡‘£-¯­mÐjzOÇûëñjjX‰‰ KËïoPÓÒÊ ™&&RŠŠ¢0t¨ê¿ÿ~~ô(Ĉïx×Ö²Ÿ?§‹ŠûõSj¶Òÿ£P„ë꾿Ä2äÁŒ'jwF+¬¬ä>Ìþ¼pРï_¼ €••,ÿc.ŽŽŽûöíc³Ù\KÝ ‚´ªwïÞêêê7nÜ@½ ãG/ˆÁ`øùù]½zÕÚÚ+)++ËÊÊêß¿‰¥–°=s¸ %%%Ïuiaö ï•`°Ýuš«MSS[{G¼Ä“Éd›æ¾•””´³³kOzm½b(*5êiÆÓõ#×ã«NÇåÄçÚÙ€/ëÌISVSS–»EÍskS%lw&¿"5Y[sxŒ—“å\ƒ›‹²”2ç@¸_H¯MW¬g“Ù½ûâE¦øq""Býe}»t©é«WôÍ›©T¢ƒƒBa!388™NgnÞl͹4BsÌ̤ãâyyÕùùÕ99•ööõS¤I:ÿþû9<ü£¦¦ØˆêD"áÁƒ¼ÐÐ %%Q??þÇ \6oÞœ––&ÀáÇ‚tSá?þˆŠŠZ±b… sùÝñ£T[[{íÚµãÇϘ1û¸xñâêêj|7R¤'),/ ¾ìaåa¥aù¥ù+ÿ]©(¡èÛ×·Õc¤¨Tâúõ–›7'¾{Ç`±,,dΞíkkû½»¢  zýúÀÒ6nLÌϯ¦P„­¬dNŸîëä¤ññ߯ޯ"ÍÌn@f¦'gåkך¯Y?tèiiÒºu–zzM–l?II‘ÿpøpú¹sŸvìHjhÊØ±šÆxoŸ1### ‰¸¸8Ô Bº²Ë/_þœ“SÉf7hhˆ£edĽR?c\¿~ýŽ=š››«®®.è\~küèÉÊÊ®]»våÊ•[·n•““ËÈȸté’—2ã¿‹/:t(33³®®ÎÅÅÅÇÇëö<}õû޵ë¼ÍY_Q_HH(-?ÍBÝâá’‡òâò‚NV]]õ4ã)<øð›¨ÓøUÒIôô$NžìÓÜ·ÒÒ¤5kÌ׬ibo.++®n]]‰óç›^¥ÃII‘V¬èµbE¯.ƒp200ÈÈÈt"¼b±XgΜٳg¹¹ùéÓ§›Œ¹sçÎÑ£GÓÓÓ)Jÿþý—-[¦¬Ì½X /1HqútÖ–-ïíìä&MÒ‚«W¿ŒñpáBÓ€#Ä œìíí)Ê‹/Æ×ztÐSï!üÓL"‘6mÚD§Ó³²²^¿~ýíÛ·œœœ1cÆðáÔ]Ç„ ¢££+**jjj¢££{jÔeÔON?Yu°*1(1~]|õÁêW«_qNtùlóÚölų†£ D/‹F] éa 9÷{hNbb¢Mhh(Rj΋/FŒq÷î]loº&………Í›7oøðá¯_¿¾téÒçÏŸ½¼¼òóóÛƒ´Ì×÷ù† |8Ñ·oµÛ¶%))QNžìãæ¦6|¸ÚáÆ†’{ö¤|ùRÅÿ„‹ˆˆˆ‰‰Irrr«‘èÒ©ÐÌNAi}}}lÉÍ–5üRjΦM›–,Y²cÇŽæh4ÚŽ;† 2kÖ,*•ª££³gÏžâââ-[¶´)iUllч¥|8QzzY]ÛÚZ–Dúþ˜'$D°·—g³’“¿ñ?iÌÔÔ”—^º‡t*>­‡ ÒyŽËؾ= û[_ÿš¿¿ÑâŦ‚M éÙ”••‹‹‹ëëë[^8ÔÒÒ2..ŽoY5éêÕ«¢¢¢Ÿ?n.àÊ•+µµµ£GÿXÞ]MMÍÎÎîþýûÅÅÅØ‚¢¼Ä ]‡²2JJj9 ±ÊÊTþÇ Þ¼y³Õ0téT¨„ H·ççg€4CøIQQ‘Ífuý‰1øvÍyñ☛ÿ4YÎÜÜüÕ«W¯^½rssã1¦[»u+7<üÈÊ’¶nµ9}:+1±„Åb[ZÊL™¢'-ýcÓ‹†ˆŠÊŒÌËË«¢PˆVV²ãÇkËÈàÍ›â¿ÿþ€…?î|õjÎóç…%%µ 0j”ÆÍ›_jjØii¥ÞÞO€H$œ9Ó·¹|||ž±X-ýü/-M:x°Ù¥Gµ´ÄFŽT¿uëëÓ§…ýú)@\ãþ}Zß¾ŠVV2üASUU-++«¨¨t.­èÁ÷Ô BA¶QTT:Îf³÷îÝSTT$++Û¿oooìÿé7oÞŒíoiiùï¿ÿ@JJÊÈ‘#צ¥¥õðáCìïÔÔÔýû÷¿zõª¼¼\QQqàÀóçÏÇ(}óæÍĉ[ÎÍÝÝ}Ïž=¼·%++‹@ à;Ña°Ÿ>}â=¢££÷íÛ—ššJ"‘ìííW¬XáææÆb±`÷îݼgÅg66ròò¢«V½KO/›6-fèPÕ?ÿÔÎÊ*ß¿?õÊ•œ ú©ªR ¾¾!0ðÕ£GùÓ¦é ¬G§3CCÓŽË8vÌÉÒRVOObÁ“¿ÿþðömñ¼y¯-,dÆÓJK+Ûµ+yíZ q_ß窪Ô L µ]˜çÍ3ny ”ˆH+3vï¶stTX½ú˜˜0‘H(.®Y¶ÌlÊ=AÅ \TUU ??ŸJ¥¢{^Âç{ê!‚ HÛ`»]WUU-Z´ˆJ¥ž8qBKKëëׯ6lðôôÌÌÌ€µk×®]»ß(Ó«W¯ëׯc³X,??¿/^lÛ¶ +yùòåŒ3ŒOŸ>­¥¥·råÊÇ_¿~]ZZììì°Ê;PYY‰D"ÚÐYLL JKKy¹}ûö‚ lmm¯^½ª¡¡¿|ùr6›Ý¯_¿“'OvlÎNE…¢¢BÎɩܾÝfð`8PYOObæÌë×'=ê¦EFæ-]j6gŽ!vààÁ*Þ÷÷õðáP’ƒƒ<ö^hÐ å?ÿÔe[[9CCIaa‚HHˆ88´¾bjïÞí]Uõ¿ÿrwíJ¶µ•5JƒHºwïëž=)d2ÑÛ[G 1`0sæÌA÷ì#ÿï!huAi2™ 4-;;{À€$IGGgçμW²qãÆ§OŸnÙ²¥wïÞÀf³W®\Y__¿wï^*ôÿþ: IDAT•Ú§OŸuëÖåææ:t¨³ZÒ l66¡Åœ1,kóæÍÂÂÂ{÷î522¢R©ÎÎ΂Õý „… ®®?F9¨,-Mzü¸ ¼¼._΀±cµðyyò€ŠÌ'O 8ëquUÁÿ¶³“nñÕOG‹-Zºôµµlh¨“»»úðáª!!öC‡ª®[•Ïÿ¤1l˜º‡€@ï!¿ò.hîܹK–,éðT.îÈ‘#W®\tHg)..60@Sk„'Ø …B122 £P(nnnÚÚÚŠŠŠ-üÎjbb‚ÿˆ>gÎ|߈´´´ÜÜÜ^½z©©©á‡899ÀƒV­ZÕIm‘””üöí‹Åâü™¶ªª ûŠÇ˜ÔÔÔÂÂÂ^½zac1Ø“Y÷"+Kúé¹MY™RRRK£Uëé çåU“HB\ cƒårr*9 ¥¥EÚ“F;ç]½šÓУGkpzxh\½šsåÊg¬›ÇϤ1 …¢¢¢è"À{‡ðªÛý¤‡ ÒIØl6‰ÄK—.9sæÎ;{öì‘””0`€¯¯¯©i+KFGGoݺuøðáœ?)@RR’¾¾>W|nn.öôÐcúõôôbcc °‰ ˜‚‚ÐÑÑá1†Á`€¬¬,gÍbbb\`º¾êjWIEEP©ÂD"ADD¨®Ž][ËÆW…Æ(”Žli;çÑé5 )Iâ,”’"@AA5ÿcư{ˆ°°0º‡ðò+½ C‡?¾ÃSAº20{öìA'‚t–5‚t•••@¥RÅÄÄæÌ™3gΜòòò¨¨¨ýû÷{zz^ºtÉÒÒ²¹cÓÒÒ,X`ffÌ9\D^^z÷î}îܹæŽíŒ1ýŽŽŽ±±±IIIœO'IIID"ÑÁÁÇìÙ{ŽÁ•””`Óš»‘òò:­ {½EE5ùùÕŠŠ¢êêTäŸ=+LH`ØÛÿ˜·óþ} ŽŽ ­VN"Y,6ö÷òåoV:TµÉÈvÎ ÒÑކJ°EÛ0))¥ØWüAÃî!âââè"À{š„ ‚ mƒ ä ÓéNNNØ{r ¿þú‹Åb=}ú´¹‹ŠŠfΜ)%%Н?kggWVVfll¬¥¥•ššÊµA»¯¯ï¢E‹:¯-cÇŽ%‘H7nÜÀKh4ZllìСCñu¥Z166VTTLKK+,,Äc^¿~Ýyiw2™¸cG2“É€º:öæÍ‰õõ ÆØ£æ’%¦d2qÛ¶$£‹?v,#%¥tâD==‰V+×ÖÏË«f±JJjoßþʹwÇš4I‡B!;–oÒš•U¾o_ªˆˆÐ´iúüAÃzA………è"À{ê!‚ HÛ`½ QQQ:¾aƼ¼¼ºººœœœóçÏ á?ra2™³gÏ.--=zô¨‚÷«°}ûöºººÀÀÀ>0™L¶qãÆÄÄÄÀÀÀÎk‹ššÚòåËïÝ»wìØ±êêêììì ÈÉÉ­Y³†÷"‘¸nÝ:‹5þüôôôªªª˜˜˜³gÏ u³Ç ii‘¡CU† ‹ôôŒvt¼óðaþнðµÎÌÍeΜé[WÇîßÿž‡Ç#gç;ûö¥ÎŸod ™™åÞÞOß¼)€iÓžcûq 0,/¯6,ÒÍíá A*í_®9ÚÚâgÏöÓÐóô|„ÎÍí¡¸¸ð‰νzIó?i ë¨P©TtÁr!´u²@¸xñ"÷»! .D#âz0lDÜåË—ÛSIVVVËóæ)À¾}-‡!˜wïÏžž;÷‘H$ÄÄü!èt:ÿÛ¨¯¯·wo›[E{*IHH3fLtttVVÖ¥K—’““ ¥¤¤ÌÍͧOŸŽMGÆ÷úÀlݺµ¼¼_Ж˻wï°)™™™xþüyii©‚‚‚£££¿¿?>¶þlÛ¶íøñã\…>ÔÒÒâ,¹sçΑ#GÒÓÓ)Ê€–.]ª¢¢ÂuT«1Ož<Ù»woJJ ™LvrrZ½zõÀû÷ïìØ±_ΟK§ÞCFŽŒb0jbbþ¨­egd”Õ׳ %)”&æÐhUùùL …¨¯/OÑ©¨¨ON.á k¼(vEEý§OåÒÒd jg4KQQMnnUCCƒŠ EY™"𘞡Cî!ÑÑÑ~~~oß¾G÷\ûï!zzmب õ‚ž ^P‡zA­:t(]^ž4nœ6ŸÏ‹?™ñù¼üÄÏ6vÈÌ­[·/^œ””$"Ò®¥Àz6lÄ §§ç®]»:ªNþô‚:£r¤Çè{ÈñãÇ?þüùóŽÊªGú…{H›zAÝìU5‚ ˆ <˜zåJŽ ³@º„ÏŸ?«©©¡.§ˆˆˆY³fq–`OxدÚ‚pÊÊÊjÓóúï€ÿ÷Ô BA¶ùüù³¶¶¶ ³èr=zVRRRVV¹}ûvKKË‘#G :¯Öݺ•ëíý4;»‚Á¨õö~zùògAg„ôpYYYººº‚΢Ëáó=¤Sö ª®®>r䈻»{ãË®+çÆ».ÕŠgϾfd|›>½— iBWÎw=£ ›[ââ¾¾ú±±E‰‰%,ÛÊJŸœ•U~ëÖWì¬¬ò—/é%%µ„™3õ±¡ÿÅÅ5OŸæåUS(DkkYKKÎúëêØ4ZÕÞ½©@ À¼yÆxÍÈŸ_-+KÖÕ·µ•ãÜP»ÕÃ[µo_jË£›©T¢Ÿ_»âÖÔ°BC3ðNN öörlvÃþýiX‰¾¾„››”—×=~\@£U‘ÉD[[¹ÆóžÛyp©©¥÷ïçáýü ¨Ô.·çLvvv«zün† ¶cÇŽ+W®:t¨¤¤DUUÕÓÓ300°[¼1swWwwWtÈºúýû÷­îÛó»áÿ=¤SzAׯ__¸páëׯÃÃÃ;£þöèʹ5F£ÑŽ9Ò¿WWWÎò.ÕŠ3ëÛWÍÀ Ín­+çÖØ¹s)ééßÖ­sâÚ¹¼{µB€Îû($DHHøVZZkl,••U¾sgòÀÊûöõýþ‘ûñcym-+>þ›¹¹tFFytt¾.…'Of'IÚÚÊÕìÜ™dm-»woo99rËçmõ@<ÀÎNŽF« ù@& mßnƒm0òËçí@áá¿}«3dzðÎ¯ŠŠ¢úúS8wîKSSi¹ŠŠª}ûRUU)û÷;hjŠuÈEàòåKåÍ›_&OÖÅö^ìjX,VjjêèÑ£H×"""âååååå%èD¤«{õêU]]]Ÿ>}H×Âÿ{H§ô‚<<x@KI)56–š;÷ûÓü‘#é;w&'¯]k¡§'1¾ñ‡%?–3™¬³gû@C<˜&**ôß¹[¶$zxhìÚe‹]ÿ7oŠÿüóÉܹ//^€Õôhºª*uþ|cÎS·| ð=ÀÓSsçN[ìÕÇ¢E¦îîSRJZ=œGœ/¦Ú„L&Οo,$ÿü“¢§'ao/BB__ý°°¬#Gœ°•¬vîLÖÖ?¾?–Òœ9†Ã†EæåUc½ v^®”JKëâã§Nõqrj}JHJJª¬¬ìÝ»· A¤[zöì¶=Ž ùÝuʼ *•ºpáBCCÃÖCù®+çÆ».ÕŠþýÕ}}ÍEÓºrn¼ë­à¦Oÿ1ßtêT= …xáBvm-›3ÌÇG0¢P„I€€#¼ jg'çì¬øî#6¶¨…3¶z àïo„widdHAA–ÖÖr¼Î“'ëR(ÂÇÿwþü'''y|1_6»N¯¡Ñª°ªªÔµk-ÔÔ¾/†Û΋À)<üã¦M‰'NtÝ.¼|ùRAAéGä°ÙìÈÈÈ~ýú :¤Þݽ{÷åË— ®®îççÇùUjjjtt4ƒÁPPPpuum¼8FRRÒãÇKKKUTT† ¢®®Þd‘‘‘ïÞ½“••2d×jål6ûþýû d2¹_¿~¶¶¶7nd³ÙàååE£Ñ¸rã½æÒkAsM>wî\zz:XXX¸»»ß¾}[=}èÐ¡ÆÆÆxLtt4}º  `ÇŽ&&&?Æ Fß¾}ÝÝÝ_¿~››»páÂùóçoܸñìÙ³-äÆKͼ¤Ç…—&oذ!44ÔÉÉéÊ•+aaafffX‡§Ã¯0/Íü5/_Ò6lxž™ù /‰ŠÊÑÑ9º`AÔçÏeßf̸ghx<66xð೎ÎÑ%K¢¿~­HM-;ö¦Í霜2®:OŸN7îfZãÍ›‚‘#¯Žq•ó¼§N%éë ŽÍË«ŒŠÊqt ?|8~Æ繹å-äÆKÍ­¦×X«M¾{÷Ó† σ‚žÿùgDffIJJ±ÏmsóS?–vÆ楙=›Ýt9×ój_Û¶©ZGØ!‡·ÍŒBB„cÇ2à¿ÿ¾hhˆq.o`i)9ôìÙ~ööòQQycÇF•“SÉCż¶‚NgÊÈBCi´ªÀÀW,_›Ï»ÊÊÊׯ_;;; :Aº¥óçÏÛÛÛ4û³Â7ÿ{ÛðáÇþÏ?ÿpΟ?ÿÌ™3¡¡¡øBà[·n]³f””Ô–-[°€óçÏ:thΜ9XÀ¬Y³–/_nffæææ†×ùæÍ›5kÖŒ5 –-[¦©©¹iÓ¦`‡Ìž=ûÅ‹§OŸöññÁJX,–¾¾>Öµ°°°àÊÇš[N¯ÉëÐr“½½½ÝÜÜvìØñàÁƒ'OžôíÛX,–§§ç† ¬¬¬FííímhhxôèÑþýûsv~á óØÌ¶ rþ矷÷îeã…™™%£F]ÓÔ”|ñÂ[JŠ ……U66§‡¿’œ<]YY,3³dôèëjjâoßúHH`Å  ‹SãÆý÷êÕ$Î:>ü={Å¡ @Ù¿?îÙ³¯}ûª@B}æÌû¦¦r11Þââ"ðéS©¹ù)ðó³ptT®Üx¬¹åôš¼-7YUU<(ȹ¤„ùêU^fæ·×¯' €¿¿µ³sø˜17Þ½›‚ży“Ÿ‘ñmÝ:',ó W˜—föT FMee½˜Ø÷;[M ‹F«¦P„ñIüM" ÆÆR))¥ÙÙºº?^ee•€™™4†o3þÑÌLÆÊJ¦åñš?®ÔÑùñªäæÍ/$qøpU^ÎË‹_ž„ÓÔ2DåÞ=ZzzÙ±c‹ý´ÚáÃiS¦èÛÙÉÙÙÉùû½|IŸ<ùÙÎÉû÷÷nõêµz°JJ¢ØI—-3Û±#iãÆ„ ¬ÚÙ¨ÎpçÎúúú¡C‡ :AºŸ¼¼¼¨¨¨;w :€?û?~\MMsøÖâÅ‹ÅÅÅCBBª««‹ŠŠNœ8¡¤¤4{öl<`ùòåÂY•¢¢"öÊÊÊ:::©©©ØÇüüüÿýW]]}òäÉxüÒ¥KyL²…šyO÷&ã…XˆDâ²eË`ß¾}<¦ÝÖÓµÐÌŽ²ÿ»Êʺ l°tPT¤ÎkÅ`0CC`ß¾wUUu‹Ùb} Ð×—öò2xý:/&æ+gU>>fø8:gg5HMe`CCêëÙóæÙ`] ÐÑ‘3†×‰R-ÔÌ{z¼7·`-ÞÃqtT8P3>¾ðÙ³\ÓnëéZhfOE çä–°°¬êêú‰¹d66k–!8Æfïç¼ySüâÝÆFÖÞþû°4EEJII°X !!)t:“—±€ƒÓðkÙÙkÖÄÕ׳y&%€¡áO˦éèHñ˜d 5óžïMÆiiIr~42’ŠÊyÿ¾¨_¿6ìSÁûéZhfO¥¨(ZZZ7mZ ¶Rö£Gù*/Yb ùùÕ—.}þø±Hâ\ímäHu:œüéS…μwfo/¿o_oüŽâå¥üaÕª8lìÖ€J¼ˆ|üXak+[^^wïmâDí#Ô[=Û§ˆNgVW³öîMµ·—ëÔ5¬¬dlldß½clÚdÅ5ÎÅEiݺ„‡óuu%ÊËë< ©©Qñ÷Eí¹ééewïÒð6öﯤ¬,ª¬L&ÅçæV™›K¦Ú8[ÈËË{ýúõ‚ ÝOJJÊõë×ÿùçŸn±‰Ö †'íâa្Z¿~=°X,"ñûtgüVkðÙì–ÏŽkµf^ÒÃñØdøoŠëÀ¶Nºåýt­6³ýZÈ…3aáŸÚ8p æÀšVV?­I$¶r¸®þËt«Z­™—ôp<6ð_Êÿ öÏÝr.¿~ºV›Ù#ýõ—E|ü·wïŠeeI~~?½QÁúMòõÕ÷ðÐxò¤ ?Ÿ©¢B™:UßÊê§nöœ9F––²ÉÉ%662ü¡N" ñx g€®®„ŸŸžžïçõöæßZdkÖ˜?~\àå¥ÉUb_PÀ|û¶øë×*EEòàÁ¶ÎÎ œÿkçEàj#‰$äïßÞ1~áäÉ“òòò...‚NAxrìXÆöíI ¤$Ó3ß?t—6644lÛ¶ÍÜܽê:øÑ ²´´$‰iiil6YÁd2³³³)Š‘‘QUU‘H$“É\ DDDÐétÜÍÌÌBzzzCCþ,øéÓ'{A-°°°hkz­6üøñ#çØÂqææß—EÆ*ÇšP]]½cÇŽ9sæ(+ÿ4R¥M§ãŧOsSRŠû÷ÿñ¸™’ÂkkE°±Qzò$wØ0±c `«¨¨Û½;VW—×—9ææòOŸæ¦¦28ߢð²Òù·9½V›Ì‘a‰©éw8Ø¢pææßÝÇž)±ÿÂÞ¹ó©´´fâÄ&y?ÝoËÊJ†ë”•)\[ý4&'GöôäîprrRhòmL«¶ÐÜ·Ø>E-TÛá,-e--›>£’’¨›[K“Ê~í"JJr¶ú/%ß¾}»pá¢E‹Ðï¸Hwáçgàçg0rdƒQ#è\:KwiãÙ³g_½zuéÒ%´¼d×ÁyArrr3fÌ ÑhœkšíÞ½»¢¢bÑ¢E ENNnÖ¬YÉÉÉ7oÞIJ³³}}}«ªªx<‹’’Ò¸qãrssÏœ9Ãy–É¿­éµÚd¼0..[X,¶î\`` V¢¢¢ÅÅÅššºqãF2¹‰íäy?Ì›gC¥ŠìÙó®´ôûý¨°°êðáxYYÑÙ³-±11‘7Lf=~Ô† ÏITSoºÒFæÌ±Ú·ï]EEV’™YrãFf‡äßÖôZm2nÿþ!^¾Ì{ô(ÇÚZe§¢"ÅÅÕpøpüË—´vžAJ¥R'Nœ(èDîÊÜüæ„ O"YYY;wî °´Dÿ7Ý…tÖ~AL&3777((hÔ¨Q666{÷î­ªªš3gNDD„‘‘Qbbbdd¤¿¿ÿƱ£þù矪ª*///wwwccc:~ýúõÉ“'ûûûÀ³gÏ"##ñ:§L™"$$têÔ©ÜÜ\&“4tèPggçÇýúuúôé7oÞÔÖÖ~õê•››绚ƹUUUñRsËé5©Õ&c<<<‚‚‚ÔÔÔ”••£££ããヂ‚F}«¬¬|(^¼ØNOOú¿ÿ<'Mºeiæî®[_Ͼy3‹L&Þ¹3FYY tu¥""¼¼½#LLN®-.NЉùš›[~ûö‰›7¿Ä 8{öVáëk~êTRdäg¸{÷SUUýêÕææò'N Ÿ5ë¾µu˜››nee]||¡éáà -äÆKÍ­¦×X«MÆõë§îèÞ¯Ÿ:ƒÁ¼|9M__æÊüW!oo“'ÞûøÜÖÕ•ŠŠÊyõjò¯]a^šÙÖë.ŽÏógßP~~~xxøÂ… ùü»‚ ÝKMM ×ÖUUUØN÷‚Ê iRgˆ[¹r%çG2™|æÌ™Õ«Wc{zzyy\‡syèÆuêëˬ_ÿS?ÍÇÇÔÕU3""‹Á`êêJíÙãºqã  P„[¨‡—š[M¯±V›Œ™0ÁøÏ?MîÞýTZZs挾k*¦õøø©‘‘Ÿ…„ ººRØû¨_¸Â¼4³çáçüäw³~ýz%%¥I“š^.Abbb8Ž{«¯¯ ¤ÓéW®\áÃÜl¤Mm6C .^¼8~üøNJ¨=’’’²²²<<<ð’ÄÄDKKË+Vlß¾]€‰5©¤¤DFFfÒ¤I\›ºvMaáÂ…Í­ .û÷Çùø˜â«E€—×ÿþËb0ñE®»Ž… £öìy—‘᧯ßEØ7n\¾|¹=•deeµ0ožìÛ×Á+"ïôõõöî-ps«àý;wîÌŸ??,, m–*ptáœaèã®]É 6,-e/6µµ•€òæÎý¾0ìýûƒCBR^¼ —”Ô@l¬»Œ ©¤¤öÀÔÈȼ¼¼j*UØÊJvÖ,GGÎúqD"!-íû/›-ÈŸÏ”•%ééIxxh¸»«‹Šy9›3ÓòÊFF×[ÞªX^žüòe$–•ÕÙØDà-2 0b±ŒŒ®c%Ç«íßß»¶–}ð`ÚíÛ_i´*2™hk+7a‚¶‹‹¾ÈJ;/goÜø²dÉüÀ/þPPm¡imÕÜ=$##c̘1UUUÿý7¶+ICCêU«nݺuæÌ+«®¸ZÏÓò+ .üXo’’’–/_>pà@III`³Ù;vì™:uª SC:ÞþýquuìE‹l±ïßEDdM˜`Ô»@‚t_%%%7n7nêõ`ø ûììŠM›W¯676–ÊÌ,[µ*nòägaa}z÷–2D%3ÓsΜ—‘‘ykׯ/X`²s§Mzzùøñ€NgŽ÷˜ÉdmÝjÝ»·¶4¼Ï³-[lÆ×Âê77¿ij*}ñbÎS·| PSÃÞ²ÅÊÁA¡ºšuñböŠïÊÊê¦O×oõpá]²¶’”ÉÌôôõ}þìYadäl‹j"‘™é9nÜã)SôFŽT€  ø;whûöõ¶³“«¨¨?v,cöìááý°e<Ûy¸R1B=9¹$=½lÏ{))>=Ðéô©S§ÖÖÖ„mÛ¶ 2„D"­[·îÚµk¡¡¡¨ Ô5ñcu¾144$‘H–––óçÏ_¸p¡½½ýõë×O:ebb"èÔ¸;w{=•˜˜ĵR‹¸v?Á IDATÁƒµV­zâéy}åÊ'“'ßrp8Û§Úþýƒ7­"(èùË—y°wï»'Ú¶‚ |ùÇ4†ÅbÍŸ?ŸL&¯X±B )!|V]ÍÚ¸ÑÊÚZ–B!š›ËìÞmWWÇÞ´)‘+lölCy EØÒR&-m´Œ )8øCnnÕÚµ®®*ââÂ::â!!ö ¢7&µ´vY«býeáêª"&&,/O0êß_‰ÇÃùÃÏÏ€ÍnàÜ´úíÛâ‚&¾°äóçt‰¾}EE‰òòä•+{éèüXp¨SYYŸßs6»áøqg¾u˜Læ¬Y³ F}}}CCƒÁ8|øð¢E‹®]»¶gÏ´¶~—Õ£zA666ééé'Ož455UTT\´hÑçÏŸ½½½WÓDEEׯ_ïåå%èDº«ýûeeÍüóOYYQ[[åÈÈñM–nb ½®`øpõëee;ò¥<‚ ¨¾¾~úôé111œ…Û¶m{÷îÝþýû¥¤x]ÇéÖ(¢‰Ék##IEEÑ””ÒÂB&g˜¥%÷Zü÷ïÓ`àÀ[YHBÎÎ L&ëéÓ–Æïµz €mÓŒ;qÂ{òËçíXÎÎ ¦¦RW¯~Á†ÀÑ£Ó§ëãÞ P~÷ޱfM\|ü7lè݃CðýÜÚyp?–-$DX»Ö‚o;æ±Ùì ¤¤¤Ô×_Z–Åb>|øñãÇaaaÇçOÈ/èQ#â@HHÈÅÅ¥ëw»»l߬{QS?ž¯»!ýUUñ  4Aºº­[·¾yófåÊ•÷ïßÇÖÔ¹råJXXXHHH¯^½Â'’’Ü›AÉÉ‘ ™ÅÅ5ŠŠ?~Æ¢P~šæ^[Ë./¯#“‰bb?=VÉË‹þSªM6ÐÎó6öËó‚p3f,YòæìÙÆŸ>UÄÆïÞm‡dim-{õêgŸg`g'ûçŸ:C‡ªòÒŠ–/®¬¬~îÜWÊÊ”Ç nÜøâá¡ÁC»;À–-[=zÄfÿ´o;@èÝ»·½½=r@~MOë!‚ H[ݼyóôéÓPXX¸gÏž•+WÞ¼ysÍš5þþþ#FŒtvÿ””Ô54ç¶–ÅÅ5 '×Ò@IHBB¤¼¼®²²žóI½¨ˆ øÔüÆ»e¶z`sm://~y^nÄõààä3g>ΚexüxÆ„ Úœ)0z´ÆèÑõõ /_ÒËð÷µzµ¹¯¯~;/ŽH„Ó§ûJHˆŒ½zuœŽŽ¸…÷+»wáÂ…°°°Æåõõõ=ŠE¡®¬GˆCA¶JKK[µj¶²-‹Å:qâÄ‘#G–-[6eÊ”E‹ :;„¯jjX‰‰ ücZZYa!ÓÄDŠóEP“°×åã%µµìçÏ颢Ä~ý¾ã¢P„ë꾿12äÁ… Ù¼ˆDGÿ€‘#£¶lyÏãyùƒH$L›¦_\\süxfDDîÔ©?-Õem‘•U„¾}v$~¤Ý΋€VR¥R‰¡¡ŽT*qΜ—\ã;\ttôºuëšû–H$q½#BºÔ BA~_•••sçÎe±Xø¾!$$dÊ”)kÖ¬lnÿIHˆìÞý!.ŽQ]ÍzÿþÛ’%oDD„þúË¢Õ—.5UW§nÞœ•WYYÿéSÅ¢E±t:ó¯¿,äå¿¿G23“þô©"/¯:.Ž‘“Sio/ÇËXÀ–-ï=ʯ¬¬Ïϯ^¿>NgNŸ®ÇãyùfâDm ‘¿ÿN2DUI‰»ßø×_ñ©©¥µµìââš#GÒßÞº‹ººØ F¿ÿËÚÚÎê„$''´°ß ‹ÅJKK»víZ'%€´‡ H·w+åVø»p¥Êî÷Ü/ètšuôÕÑG™Æ[ŽÝëûà“î’yOÕÐаdɆOk¬G$///ÀÄA¡R‰ë×[nÞœøîƒÅj°°9{¶/¶_P|ü·±c£±03³›™é‰¨  zýúÀÒ6nLÌϯ¦P„­¬dNŸî‹?èÀÚµækÖÄú@Zš´n¥žž/â6$äçWËÊ’{÷–¿p¡¿ª*µÕÃ9÷)Ò׿æïo´x±iç]=11ት͘1ƒ{õêsçú;÷iÁ‚X­šLÒÖÛºÕfÜ8-¯^ !""wáÂX¼kÖ˜[[Ëy{?€øøo¦¦7<<48g(uˆoßh6ørþz‚ÆÊI$’žžÞׯ_;öÔHêQ»¦"§ t¬n½kj^Y^NIΪ۫jêkbcZ?@h ãÏŽg±Y‹ú/ pÀ »Eæ= 率û÷ïß»wo“CV„……oݺզ ø>èÔ—yÙ]Aôõ””ì 3‘HÄ~F‘’’255µ°°011111ÑÖÖ&‰­Ö†t¬Nß55,,ìÅ‹¿p Ò­EFF¢!ò=XBB‚ººº ³øE*’**’*bd±šzþíÑ&5õ5Ëo-ï¥Ü+–ÀYÞõ3ïÁž?¾gÏž~ \½zõ… §´#ò»b±Xã 2‚ººº………©©©©©©±±±¢¢¢ ³CÚæWzA·oß¾}ûv‡§‚tqIIIIII‚ÎéD·ŒD:JÈÓYªìxËñ\½ DPrss„fDÔ×׿}ûöÊ•+ØkRAˆ‹‹ð\¼xÁôéšØ’úH÷õ+½ 4"î7D . ÷lœ££ Sè¡â¾Æ;ÿŸïq_ã PWW3gΜêêêÆ[|`ƒ[DDDÌÌ̵µµ”#ÂW|ž?ƒt_vvvzÚÚJ… sAÚ ­Ž€ H¬gžy{æÍ—7õìzKUË)¶S¤)Òø·/>¿¸z›VJ# “mÕm={yÊRe[¨Í缋Íj!@š"}Ðë`Ëù,¿µ|逥šÒš¼ô‚ž}zvðù zäÌé—.­HOOǺ@ØÀ}‹E¡Plmmíìì,,,H$’ ÓDøÇÏÏÀÏÏ@ÐY ÂW¨„ HÏQÏ®Ÿ}e¶ƒ¦Ã« ‹?î¾ÿJâ• “/¨JªÀ‰Ø;í˜å0k°ÁàŠšŠ³ïÎ?¾ìs¹—r¯æ*œ×w^ËKȈ¹wšç²ûñnEqÅÉ6“yl‚±¢±™²Ùí”Û뇮—•#‰ñx ³#¯^]Àþ’‘‘qttĶx744B»G ‚ü.P/Až£¸ªx¼åxwwpÕwÕ“Ó›yeæúûëŽ= çãÎÛ¨Ù,° d0hÀÁ•µ•-TØ[£w{òy“ûærâåßÞgØ_J¸O‹¿6횢8šhÛñ:9Mòò²²³³ÓÐÐtF‚ ˆ` ^‚ =Qˆ8Üx8þq þ@iŠôã¬Çå5åd u)õØ/±7“oþaü‡QDTXôÔÄSj’j”Lu]õŠ[+–»,W—âiñ½êºê•·WU…{‡“ˆh8V§011ˆÿóÏï+e#‚ ¿-Ô B¤ç£Ê ?íÏ ,¡\R]B+£)í¹{×ã]kî®Yw•ª•£¦ãè^£%E%[¨°=ó‚n~¸™S’ó߇ÿ">D`%ÅUÅp9áŗñQW¾bÖ3'›TP^PVS–Y”iª„ffw ‘VF0"‚ ¿ Ô B¤ç¨eÕr•TÔTU„ ²TÙmlÛ0tÃû¼÷ÑYÑaoÃUå—ç+Š+bcÒf^™¹uøVq[u[[u[[Ÿ>úœŒ=ÙB/¨=ó‚”Ä•ðW=˜üò|P—RwÐtà –¡ÈôÕé {Gïõ½äp5àÌŸgZ]zAA_ƒÖè««³°°èÛ·/ñK—.mhh°´´ìÔ¬i+"¸åá–šú¨cÕmŽÜ\Ï®ìˆ-NðæË›Ð—¡¬†ï#Ü2‹2°å㺎>Ú}V»®~“û&è~ sAA ½ úŽÍfsmŸ‡ Hwq+åVø»ðlF¶¼˜|oÍÞƒB)ˆ+ä|Ë©eÕ®¸ÂÛÚ [ê²ôô›Ó7÷ÝÔ”Ö,¯)ÿRòÅÃÌcÅÀ|ÈðDì‰ÈôHÎyA–ª–+®xñùžgû²Ùõìzïpï)vSôåôï¥Ý¾˜p1žæªïêïìχ äwöîë»gŸž€8YÜ×ÞWÐé4ëyöó7¹oœ´œì5ì±’î’9‚tA¨ ""’””$è,ùE6j6òbò@"’¬Õ¬½Ì½2‹2Yl–¡‚!E„‚‡M²ž4ÉzRqUñ×Ò¯da²º”:ßvã¨7ÐLÉŒ³›d¨`¸ ß¼PKFKœ$ÎY‚µ A>8wŽH vÙ¾DaEá¼ëóJ™¥D!"Þ Âtñ̤kB½ Aº=IIü£¨°h ¡ÊQåø¿ð€Ž¬ŽŽ¬NÓÉhr'ÓxÖ‚ ÊFÍÆFÍæAÆF%Cй4kíݵda2Wa·ÈAº&4/"""ÿÇd2ñòâââÅ‹ëéé‘H$™?þøãÑ£GOMMuww—’’¢R©Œ‰‰ácî‚ ‚ô|ÿ¾ÿ7µ05 O€ Ažõ‚`Ĉ œ…ùùùöööçÎÛ³gOQQÑ«W¯¨Tê AƒŽ;ÆVQQáïï¿zõê¯_¿>yò„Á`¸ºº>~ü˜¿-@A¤Ç*¨(Øúpë6·mâ$qAç‚ =×´U«V}úôéüùó#FŒIIÉsçÎéêêΟ?äÈ‘JJßW¿---ݺu«££#ØÙÙ={ÖÂÂbÁ‚ñññ‚ÌAA_•˜—ø6÷m«ÎJÍŠk¹üòšòÇÓJida²­ºm ƒo1ûžík€–ö£ŠPýüZ®dõíÕî&î}´ûÜH¾Ñjò©…©÷Óïãýü° Óá‚Þ5íÚµkàîÉäAƒUWWß»w/upø1‚ßÜÜ\UU5!!!//ŸÙ"‚ Ò!¶<ܲûñîüòüØÜXïpï™Wf2뿖Ɏ鳿ÏÙ·gK˜%YÅYÓ.NurTNIN§æs)áRVqÖJו¼ò¥ä˘¥ÌÒÎË Azô.¨ 555¥¥¥¢¢¢œåØ+ üü|¼DNNÛ‡§¨¨H£Ñ UTTAA²PŒ$61 ûxäå‘Ñ;ƒ£ƒ×^ ;íÔ–Õ>?é<öýsœæ ;:,¯,OSZ³¹ çõמ|òÊò¶Em;äuˆ÷÷9¥ÌÒxZü©‰§œ´œÚsjéñл &Éd)))&“Y^^ÎY^PPÊÊÊxIi)÷-……… ¨¨Øùi"‚ Ò‘üzÿŸ6Õn*E„r!þB-«ØÀ¦WÒie4ì[UIÕµƒ×ªI©u^>«î¬Ýk´£–#ñáïÂ7En:1þê!H«Ð» ¦yzzž:uêÖ­['NÄJjjj>|H¡P† †‡UTT$$$XZZbß¿O£Ñ,--Ñ‹ Aévd©²âä+…ɪ’ªYÅY9ßrôåõ7ß¼øæâA¡ƒœ´œ4µ'XNh¹ÂöÌ º›v7&;ÆXÑxï³½XIja*¼øü‚ÅfÀÛ)Òiì+6°×Ý[w!þ‚ª¤*gizÔ´mÛ¶éèè,\¸0""¢¼¼<==ÝÛÛ;//oÏž=øÒ &&øêÕ«ÊÊÊ7oÞLž<™D"íÙ³G€™#‚ òk„M?aCà,U,#gEžõ>k¯a•5öôØ‘'GvÞ¼  •y}æñ8Ž^A—¡È„Ž ¥•ѯ²X”‚ôè]PÓ”••ccc7oÞ<þüÜÜ\*•êèèéêê ÁÁÁË–-55µ¿ÿþ{ÅŠ±±±,«wïÞQQQ}úôtú‚ ‚´£ŠÁ¬gŠ ‹bkêkhe4Š›ùsøÅá)vSìÔíìÔíüý_~~9ùüävî÷Üß\…í™d©ji©jÉYr#ùÆýôûNZNÎÜ)‰+-ê¿–¹,ÛñhÇÆû7 Ûð˧Fßê}Çb±„„„„…\99¹ÆÁK—.]ºt)þ1**Š)"‚ Ò™Ø ìS±§æ8ÍÁ>†½ «®«žn?]„(¡/CÄƘÁ¾Õ–Õ€®öÖe¦ÃÌ4zZx\¸‰’ÉD«‰‚NAº®ßºÔ«W¯ˆˆmmmøúõ«¦¦&g/AAßÁ»¯ïž}zF¯ +Š+¦¦ú^ò5T0Ì*Îz”ùh þÀ%–`a.z.ëî­{˜ñPWN·¼¦üAú5)µEýñ!ę̀¤ü$ÎyAZ2Zféôô»iwéôêºê½Ïöö×í¯,¡¬,¡,,$t?(·4×\Ù|˜Ñ°VëGßÐïþпk×®;vDEEÅÇÇoÛ¶MÐé ‚ "ÞÖÞâdq_{ߨ/±‰y‰²Y¿Þ~š?v RPQð6÷í×Ò¯ŠâŠƒÝ;k9…ˆ|ËÐXÑØXѸÉÌ9?’ˆ$g~%… ÝÕoÝ :~üøŠ+TTT”••·nÝÊ9È A¤kªª«yb¤®œîѱG ‚ô6j66j6ÿkï¾£¢¸Þ>€ß-ôÞ¥÷º(]Q¬±`ÅÞ [ø)c¢±‹cI,£€¢1HQѨ¨APDÑ"M¤HÝÝ÷ñ]7tXa¿ŸãÉÙ½sçÎ3]öá6Þ[mm‡&kªI«y˜ytU\ 6<Øhpãr“…K]–vIPÝ›PgAŽŽŽ×®]tŸ€Ëår¸‡Ã_Ø{{o 5‹ÓSN **€îE¨³ €nGJTêêü«‚Ž {Ã~A \ÐÝ^lF삈Ôë˜91;oì¼ýâviU)!ÄNË.éUuÈNËŽ3v+ç–ÿïþ‡Æ¢ÆÙoŠÛôë?¿RuÒW¥3hMÌu6ÝjJmÖÞe)åÄ%‰Mš>?.3®í1û/Ž\Üäíl¹yí_k©Ciߤ‰1Åß9üÓÕŸ!I¯’Œ~2"„0èŒô•éT’÷%Á7ƒãŸÅ¿)##&ã í°Äe‰¹ªyKO@ €no¨ÉÐg«ŸQÉF`t`À€€­£¶feŒ?1þà˜ƒ—ž^Zyý¯£Y£©úçÓÎSÿ¥2À!Ž:Ž'îŸ8>áxs—àåíppÌÁSɧ>)†æng¨ÉÐñVãùÓªÙŽ³g;Înr^PAEÁ¸ãjêk~òø©¯NßÜw¹ë/¯{|ìɉ'm4mÚ};=FÄ@2Ïiž£Ž£„ˆ„•ºUúÊt …Qf£D"çÒÎQªë«ã2ãttã3ã+k+©ÂÈG‘¾–¾U»ch|;m¿è¶„m¹ïr×^ëfè&)"i¬l¼Û{7—ËÝ‹å@Ø! €ÅJݪA‰¼„¼›¡ÛÍœ›……„¸Ì8+ «)¶Sªë«/§_&„”V•Þyy§S7lw o§íb3bé4:ÿêº*Ò*ÆÊÆòå—ç·»Y€ =#âüüüüüü:<øâù‚ÿï=Yb¢– Cè" }-}c3b/<¹0Óaæ¹Gç|-}t~ºúSÔ㨯zuñÉÅAFƒ$E$[hösæ}N MÞN[Ô²kËkÊ !Ö;­Í)Éé%Ó«}-ôíÉ‚<<a´U÷2Èp¼„|dj¤Ë'%/%Ø7Xœ)î¢çòwÎß©+®h¹…Ï™ÔQ1´€Fh JD¢²â²•5•W>nr½aÖž,hÚ´iãÇïðPàK¶k×.l˜ ]ãÒ¥KÒÒÒ‚Ž¢³ˆ0DF™:uÿÔö„íCŒ‡ˆ3Å !>–> Ù »oì.¨(pÒuêÖ1HˆHÔ±ë¨×C ÕwÖë ÃM‡Ÿyp&éUR_í¾¼š!‰!'¶àR#f˜BÁ‡åC9ýà4o‚¡&C¥D¥N?8íÍò¦Óºâðób`õb=/yþºìurnòË·/´!ß üFG^gÕŸ«²ÊkÊK«JÒÂo¯¼)9¬” Ý^J^ÊØãc©×¬m,BȳÕÏԱѴÑSЫe×ò:FÄ™â#LG„§†wêêp툡…Ûá߉µåÍòÞîµèø]ôwÃ~&/!¿nØ:C%CBˆ’¤RÄ´ˆý·öŽ.{-+.k¡fqpÌÁþzý»æ~ ;ºýâöÞ¿÷BD™¢¿úý*èp: ² èö¬5¬§=ÅÍ‹kP²eÔ–-£¶tNPí¡…Û¡vFj\n d69¬q¹¼„üZ÷µkÝ×¶7^:&*&6ÇoNÉKt,Y| $©¤¤£$'!'è@:æ€pAÂ#â>صkWrrò¡C‡ÄÄÄ t^ý³#aõúÈø#"nåÜ*­*år¹¦ª¦é¶ 3U5]?t=!$«8ëÑÿ h¡fA9‘t⯧QuNL<Á 7±ãÔ°©-ï¼,/!¿ÿ«ýŸ^ÈØ1.—“ÿ,¾ ¢@ZTÚAÛaœÕ8þ]˜óËó#R#Ò Ó˪ËôõÆöËRcñ_¢º¾:,9,ñE"›Ëf©±f8ÌhÃcèÞ„. Z³fÍíÛ·ãããŒÿ|HýöÛo©©©ßÿ½ŽŽŽ b€®g¨d0 `ÇõI¯’–œ[ÒG½Ï¸>ãÒ Ó¾ösÀ€6‡šºbàŠ©ú©wÿ½žNeA®®uœºÓ)§7ߨܒ÷K\–p¹Übaˆ´#¼zN}»nQ䢄¬„™}gŽ0‘W–·ïÖ¾ãIÇÃ&‡©J«Bîý{oJè”Æ[çp9_üê·¯~õóhÖhªýÊÚʉ§&¦¤Ïí7×FÓæÕ»W³þ˜UÇ©kßÃè.„. JMMMHHhüIW\\Œ@Ø(H(8ê8*H(BÜÜ'ÚL$„¸ºÙiÙYkX÷’éšú¼äù§„.—õ8JFLæâã‹kÝ×2h ]Ýo_Œé=ÆQDZ¹Kðo^ÜáɈÉ컵ïʳ+Ë]—/r^DÕ·Õ´õþÕ;(&ˆê\*¯)×SÔ Bm6ÂtÄ”°)ã6z˜{0éLBÈ®»¿y¼fðšY}gñZðùÕG”!Ú|˜ô’’’‰‰‰ £Al<˜÷Ú^ËžIgê*èÚhÚD?®ª«"„ÜyyGABa’ͤâ÷Å7Ÿß$„Ô²k/=¹ämé-ðÎ>}º¿¿UU•‹‹ËìÙ³utt‚‚‚jjjx£Ý˜LfPPššZBBBee%!DCC#((ˆêðY·n]PPPPPŽŽŽ¸¸xPP¥¥eBBBIIIƒkåää̘1còäÉÉÉÉ}úô9tè!„ÿ”­[·ž?~âĉžžžGurrª®®ná)Í™3gܸq„yóæ¹ºº._¾|ÿþý ãÇ_ºt)Ë«W¯3fÌÌ™3SSS [ŽªíAYY9!!aÒ¤IÉÉÉS¦Lñóó‹µµµ½|ùrþ}èF™aˆD>Ь©¯‰Íˆõ²ð2V6f©±b2bªêª"R#ø;Rš´ÄeIÀ€€þÌvœÝŽÀ4†(C”F æS0ÁIDAThK]–ò·và«§&2T2$„ÅM ›ZPQ0Úbô’þK¸¸B¸„KaÒ™L:³ŽSWÇþÏD ÚúÚvÄÐtX_ÐÕ«W‡ N•øúúš˜˜Lž<ùùóçúúúúúú¡¡¡^^^»wï6lXAAÁ•+Wnܸ¡¦¦Ö–ÄÄÄ®]»¶zõê‘#GFDDP¼½½9Nnn®œœœ›››’’/:îæævñâE^‰ŒŒ ¯ÎÀ™Ì÷îææ–’òŸ ’©k ><22’*™0a‚££ã‚ úöíkmmÍ;EDDäÀT¢¢¢ÿýïñññ£Fjò)EEE>|ØÓÓ3,ìÃ.ïcÇŽ555%„ØÚÚ:::ò£¦¦vìØ1ªš•••ššZ[¢jËC8wî!ÄÁÁaçÎT¹———žžÞÔ©Ssrr$%?®*rârƒÇeÆ…¥„YkX+K)B|,}~ˆÿá÷”ß“^%íöÞÝr Ÿ3/¨4ÍQÇñÆój2júŠú¼òøgñ§SNs€Ía‡¥„)J*îóÝÇ;šö&¿M›{ÿÞ{”ÿÈFÓ†*¬çÔg—dwFÀ_Žë ¢¾¯Ï˜ñqiEIIIOOÏׯ_ÇÄÄP%?üðCttô¼yó&MšÆKÚÒÂÑ£G !Ó§Oç¿nPPЦM›:ê.x¨kñC§Ó§OŸÎápx™ eäÈ‘¼×T§Ö‹/škö÷ß'„øûûóJÄÅÅ›K™xCã!–––***mª-ÆŒÃ{­¢¢2|øðÂÂÂøøøOm Çóaù°9쟯ýÌëöñ²ðbÐÛ¶¹»KˆH*°oܾgŠoˆÝ@p#„dgÅ™©š1h ¡%§õ®ê݃ר£5—Óÿ3ôc©ËR:þÓÕŸ¨yD.g{ÂöÊÚÊ.¾€.Öa}AYYY„íÛ·S£³(T>ððáC///ªdõêÕ)))‡°³³û¤¨ ÚÚÚüg©¨¨¨¨¨tÔ]4¦Á”$ê-uˆGUU•÷ZZZšR[Ûl'rNNit êêêMVæïÕùÔ¨Ú‚?åEEEðb0H]­Ã›}VôlÝåuE„é§§Ó-trhƒ:ƒŒÉKÈ×sêÝÝ©e)e=—„ì„V‡Ãujx,5֩ɧÖE¯°€ž‚‡ËÉ/Ï÷·÷_Ú)Ua×è]ß\üfìñ±FJF’¢’5õ5T¯ÑW~´Ö°Þ4b““®ÓÎÑ;7Än迯¿¡’añûâÑ£´n¿¸=éÔ¤AFƒæ8ÎéÔìFØl!„ÁhiÑsè.:, ¢€éÓ§÷îÝ»Á!þoíuuu¹¹¹ÚÚÚœ8q"5¬-HIIB***š‹Zð€ÃáðJªªªÚw;ÔµÊËËù ËÊÊx‡Ú‡lÖ Ùî¨Qµý!P3…x¨f?çî ±ŒÂŒèôèˆÔˆ‚Š‚Çß>nË)÷sïÿýüïÐäPqsñÍÎŽðó=|ýpC̆¯0èŒô•é‚z2΋Íî«ÓnFÊFÓž˜tæ?ÿ4(<2þH‡ÓX«áY©[Ÿq¾¹£½Õ{_žÓʼßQæ£F™7=2ø•—Ó !²²œVk—¯ÃFÄ 4ˆ"&&æÆÇÀÀ`Æ uuçÛ-Z´ÈÎÎ.11QIIÉ××7//¯í-¸¹¹BîܹÃÝcÇŽMž<™z­  @)**â}úôiƒ8EEE !l6›²k×®õë×7y;M^ëîÝ»¼8Û§ÿþ„þùÏÇèƒÚxz[¢jËC <|øÿmRR!ÄÙÙ¹Át/n8óàL×·i¢b²Ôe©ŽÂ'ìEf«i»Ôe©ŠtÇ÷rw†ý·öÏŸ?³ïÌ–ÈèZZuÙÙŸ´õ×O[[Êö–-\¸ÐÈÈhÓ¦MøeçÛ·ogÏž]__OÍþ'„ìÛ·/;;{ûöí‘‘‘oß¾õññá­¨Öj ‹-244ܽ{wrr2U!--mõêÕ¶¶¶Ô[{{{Boá?ÿü³Áš„cccBHNN—Ëýý÷ßéô¦ŸïZTn@IHH8|ø°••ÿ´œOµhÑ"•]»v=zôˆ*9{ölƒ¬¦åÓ[ª-üòåKêõÞ½{>|èççÇ[¯ ‡ÙkÿÙÔ³_~›ÝŽŽ‚Nôìhüº†¥eM~>3?_èö|‡/ăârrMÍzA Ã² YYÙëׯÛÛÛ[[[›››;88èéé)))]¸p’àææ¶lÙ²ââ⨨(BÈdddîÝ»ggg·bÅŠV[ „ÈÉÉ]¿~½ÿþŽŽŽÖÖÖýû÷_°`u:!dîܹ#GŽüæ›oX,VïÞ½£¢¢¨uf̘±páBªÎ¼yó \]]-,,ÊËË/^\QQáææLY¹r%µŒ5u-'''‹ejj:tèPooïøøx111BȰaÃx§P»ô,[¶låÊ•„àà`þ%ø©ªªÆÅÅ©©©ÙØØXYY‡‡‡/^¼˜üÿH¶-7X¼®Õ¨Úø(kÖ¬ñôô´±±ÑÕÕ ˜:uj;–X!çiî)+.+è(@XØÛWKHpâã±–)F\œ¤«ë{ZÇÏMèÈߦ¨««GDD¼}û6##CTTÔÀÀ@NNŽ:daaD½¦zc.\8mÚ4ª„ÄÕr  sçΕ””dffJHHñ/ë,..~éÒ¥W¯^½zõJWWW]]=++ËÛÛ›"+ûᇴÁ“'Ož>}J§ÓÍÌ̘Lf}}=/6B/à¿F355å&007÷†*Ÿ>}ºUÂ`|Ü¡¹>}ú<|ø0==½¤¤D__¿W¯^üò·LÑÓÓkî 4ŽªÒ»wïeþ5(***Ôœ‡OjŸ¢¢b ´´´´´´¨×†††††† *ˆŠŠöéÓ‡÷–Éd6ˆ­-×ruumPbmmÝBÌ<þþþßÿ=o” !$99YVV–J›l¹íQñ´ú(4Í¢-a|ánæÜ\¾ÀBÍÂV˶¢¦bïͽ²Á¾Á:ò-MÈyVôlQ䢊šŠf#ØvhrèÆØGÆ1Wý˜\|r1»8»–]›’—Ò»WïÌ¢ÌkY×BƆ4×&—Ë]³>49ÔNËÎZÃúTò©ãIÇïÿË_v\ßa¡ja¯mŸ–Ÿ¶1v£‡™ÇVÏ­¢ Ñö…zòþÉÒªÒùNóùÏúëé_ªÒªFÊF-?=€nÄßÿݘ1Z11RÆa)gèR{ö(êèÔ ˆ¿x=FÖvµ»wïnذ!$$DDD„rôèÑ7nlܸ‘WøT[¯nÕSÔ ›F .ï4ø/Ã_—½Ö‘×±Õ´µÕ´ýåÎ/²K]–òŸõ²ôeiUiôœh BȪA«F½ìü²èÙÑ4ÍPÉp©ËÒÇoggW×UŸœx’Âår÷ßÞï¬ëìnäÞd›§’O…&‡Ž³÷ãÈ©’sέüs%“þñßxTZÔ–«[¼,¼vxí ŽJ‹úúÂ×ê²ê«­jò[UŒ)FŰçï=†J†Ú„:>Óaæ¯ÿüzpÌA]Ýæžÿ@·Ð§OÍèÑå?þ¨4pà{11,X ]äþ}ñ ¤CBò›îÝL‡Í ‚6Z»vmbb¢¦¦f¿~ý´´´‚‚‚¾ûî»®¹zzzº››ÛÙ³g !“'O¦f4ôÂ)¬,Ì+û°ì¤†¬Fà@M9Í–ÏÒWÔDå„  3¬â¬Æ›¦Oµ›J½ Ñh‹œµ°C≤„ùý>öÉx³¼©æyÝ9DYÜ1oBàhÖh5iµ“÷OÖ±›^z¨ÕP§ØNcйûqÝÞ°”°¾Ú}[Hº©U«JŠ‹û÷+:55´õë•]\ÞŒŽ žý]ÍßߟZ®@ LMM¯]»&¨«tžM#6}õµ{ˆ»“®“£Žc?Ý~~V~­ž¥¯¨¯*­_žOmšþðõCBHaE¡¡ÒÆ‘ªÉ´ih6‡]’Í 1´å?nŽL£ÑtäuxÛº³9ìôÂt:~ñÉEù8Ç–AgTÕU¥¦óf4}R¨Š’ŠÞ,ï?üq+ç–³žs=§þ×{¿îòÞÕrÀ˜Ý‘ªjýêÕÅAA*ææµ#F´uÏ=€öárÉêÕªyy"ÁÁo t$dAÐX©[ÅÍKÊMºûòî•gW¶%l3W3ß绯åyA‘"×]^§(©èfà¦(¥ÈËIØÜ†ÓxøÓ•–4S‹N£ÿ·úÃ_8¶ÏXBHsë­µ%ÔY}gyxæðÝÃÎzÎ_P‘V¡FÇô<“&•={&úí·ªu}úÔ:èÉöîUüë/©£G_ëêb› Yôoô·÷·×²·×²_è¼0ñEâ”°)[¯n öý°NƒÎàr?tzœºŠÕ‹ÕG½ÏúËëé4úŸ3ÿ”“¦»wìÆóm¼hã6­5¬ • Ÿ={YúROAW3·,—ÿ,SÓ'O¦ÚMåp#„dfÄdÄ49ŠÃå´%TC%Ãú®g_Ï(Ì8|çð¼~óZ½Ì ‚îë»ïŠ^¾ñ÷ר½ûÍÀïô@l6Ù²EéØ1ùM› «t0Ì €ž $1䯧ñÞê)ê‘ÿö“¨J«–V—R…;oì,¬(¤š(S”ËåÖs>î÷(ÿQÛ/Ú¸MBÈTÛ©T<¼jÑéѹïrùO\ༀràÖ^IM}ͺËëžsæÌç4’••Õr…íÛãã¥.]ú·åjð9¾ûžÃ嬺^Ð|‰²²D‡×¾pá_sóZAÇŒË%QQ2ÊgfŠjiÕ÷ëWejZ« ÀÆžBÐªŠ úë׌ÇÅnß–¨®¦T¹lY‰™>%ºCCÃÖ+ý¿öôíܹó3¿*AwtôèÑK—. : è,)))...}3³Ú_~‘¯ª¢IHà{IGJ{“ööý[}—’÷%‘"ÏM?'舾P‰2™\CC,ôÔÑhÄÛ»ÜÛ»üÁ±+W¤RRį_—|÷Ž^SƒÐ ))޲2ÛܼvåÊ’!C*ÕÔê[?º¿O΂ƎÛqÀNKKKAAAZZZÐ@gqqqqrrêì«ôí[ÅáÐnÝ’twÇÆs)-?m{ÂvKŸÏoŒé=¦åõÁ…Ùõë’¶¶Õ¢¢HÂ{2+«++Œˆ€V|òˆ8€æ´:"Žâç§©ªZ¿w/öžëHioÒâ3ã™t¦‘²Ñã! ¶'Je%ÝÙY÷ë¯K¦M{'èX ãuúˆ8€v›4©lÕ*•œ==ŒJê0,5Ö—¹&Û%4T–áùø” :<ü¾º”§g¹±qÝæÍÊ‚„KQcÿ~…9sJåä°â €®Å`ÀÀ¢+W$¯]“t, D¶mS’‘áÌ™óVÐÀYt5GÇ*/¯ŠU«T_½Â \è 2áá2ß}W„Å €‚,`óæMÍúY³ÔËÊð)ëŸÄUæÏ;|8V&€ðý@B‚»o_~y9cî\õÒR† ÃëÞ=ñùóÕ~¿|y‰ c€/²  uõúß~ËËÏgŽ£™•%"èp Šˆñ÷×èׯjÛ¶7tü¸>ø±cl\þJQ‘=nœÖ‰rl6¶x‡ŽQTÄX½ZuÕ*ÕY³J÷îÍÇt øìš ¦-»¦6VSCÛ»WñèQ9=½º•+‹]]ßã×öÐn••ôÐPÙ}ûde9EÆa.€°ø¤]S‘@‡i_DyñBdóf¥øx)º#*ûõ«21©UP`‹‰á3 ZQQAÏÏg¦¥‰^¿.'ÅáÐæÌ)3ç-V„*È‚@0>' ¢dfŠž=+såŠÔóç˜)Ÿ†ÁàÚÛWVéãSŽ­Q„² ŒÏÏ‚xJKéÏž‰–•1jj0YZ!%ÅQVfÕŠŠâ'€ðú¤,[À—H^žco_-è( gÂd.È‚@¸ á‚,„ ² .È‚@¸ á‚,„ ² .4.—+èºú‚@¸ á‚,„ ² .È‚@¸ á‚,„ ² .È‚@¸ á‚,„ ² .È‚@¸ áòÒŽúÆÂ2ªbIEND®B`‚fio-3.39/examples/netio_vsock_receiver.fio000066400000000000000000000003341476262051600207620ustar00rootroot00000000000000# Example network vsock job, just defines a receiver [global] ioengine=net port=8888 protocol=vsock bs=4k size=100g #set the below option to enable end-to-end data integrity tests #verify=md5 [receiver] listen rw=read fio-3.39/examples/netio_vsock_receiver.png000066400000000000000000001040771476262051600210020ustar00rootroot00000000000000‰PNG  IHDRëcƒÊ¹bKGDÿÿÿ ½§“ IDATxœìÝyXTÕÀñï²£ "¢ˆ Џ…K.(© æžË/ws)Í¥T\Ê\2Ê´,SÑ4÷rÏ¥RCLEÍ}7·\p_QAîï+#À,‚3ÂûyŸfî=÷Ü÷Ü9Ú;gÎ=W£(Š‚B!„Âè0tB!„Bˆ´I².„B!„‘’d]!„B#%ɺB!„FJ’u!„B!Œ”$ëB!„B)IÖ…B!„0R’¬ !„Ba¤$YB!„ÂH™:!„ª©S§²aÃmëׯ§páŠHdGLL ¿ýö{öì!44FCáÂ…quu¥J•*ôêÕËÐ! !^#EQC!„Èâââ;v,!!! 4ˆ-Z:$£ÂŽ;0`€v[xx8E‹5`T†ó:ö—óçÏóÎ;ïpýúu ,ÈðáÃñöö&44"""ˆ‹‹3t˜Bˆ×ˆŒ¬ !rÄÖ­[™8q"… fýúõze.\ÈÔ©Sؾ};ÑÑÑ( ³ñ’¹»»óðáCC‡a4^ÇþÒ§O®_¿€¿¿?cÆŒÑî+Y²$:t0ThBˆ×”$ëBˆq÷î]vîÜ €ƒƒCšejÔ¨¹¹9Ož<¡~ýúFŸx ÃzÝúË;wØ¿¿ö}›6mtöûúú²eË–W–â5'ɺâ•©_¿>×®]ãæÍ›T¯^ÝÐá#÷ºõ—ÐÐP÷NNN:ïÍÌÌhذ᫠I‘H².D–Ö ‹‹-bÕªUþøc*W®¬wü£GX¹r%»wïæîÝ»˜™™áááA·nݨQ£†¶\ÿþýÙµk—ö}TT7 I“&Œ?>S7OÆÇdznÝ:¶oßÎõë×ILLÄÙÙ™ йsg *”ívbccÃÚµkùé§Ÿ´ÛüñGÜÝÝY¶lû÷ïçîÝ»˜››ãææF½zõhÕª666:ue5ÖdzzõjvîÜIhh(ÖÖÖ”.]š ЪU+,,,^ئððp:v쨳íÓO?¥U«V^Ñ£GëŒø¬[·Ž 6Ƚ{÷077gÓ¦M@æ?÷ì´-³u§×_.\˜å϶V­Z™>oV¯U²/¿ü’ÀÀ@míÛ·§`Á‚z±Ö©S‡ï¿ÿ^g[Nõ}!D¤!ò¬óçÏ+sæÌQퟚ5k*Ë–-S/^¬ØØØ(€bnn®œ>}ZçØcÇŽ)...  T¨PAùý÷ß•qãÆ)€¢Ñh”¯¿þZ[öÈ‘#ʘ1c´ç(T¨²cÇeÇŽÊÿý—n,áááÚ:BBBPìíí•ùóç+«V­R*V¬¨Š“““²cÇŽL·ûË/¿ÔžÇÔÔT Tž>}ª(Т܏qCùúë¯eëÖ­ÊåË—777PŠ-ªÌž=[Ù¼y³²`ÁÅÃÃC±±±Q®^½šíXOž<©”)SFåÓO?Uþúë/å—_~QÜÝÝ•B… )7oÞTEQ>œæ5Š‹‹SFŽ©ØÚÚ*‹-RvìØ¡Ü¾};S×ãäÉ“z×¾m۶ʰaÔõë×+^^^еµu–?÷¬¶-+u§×_²úÙÞ¿?KçÍʵJéôéÓzÇ­[·Nû÷àÿûŸv{³fÍtŽÍɾ/„È{$Y"Kü­]»V»¯K—.ÚíƒÖnU\]]µû/^¬ÝW¹reíö¿ÿþ[»}éÒ¥Ú홊%9}òä‰âîî®Ý>}útí1ÁÁÁÚí¶¶¶ÚÄ/#±±±JÑ¢EµÇþôÓO:û[µj¥|òÉ'Š¢(ʯ¿þª-7pà@rW¯^U4röìÙlŧMfåÓO?Õ©ÿüùó  \¸pá…×hòäÉJùòå•S§Neªý©¥®÷Ã?ÔîÛ½{·bmmåÏ=+mËNŸJïZdå³Í‰ó¦u­2sS~:thšÉznô}!DÞbÜwë!r\Íš5µ¯‹+¦}}ùòeíë­[·jW´(_¾|š¯þùç‰iëÖ­„„„hß§œŸœòutt4K–,ÉT|ôÑGÚ÷3fÌ@y¶RíÅ‹ùûï¿2dˆ¶l²¥K—2~üx¶mÛÆƒ(]º4»wïÆÕÕ5[±nÙ²…«W¯j·ûúúêÄéîîΞ={(Y²dšíˆ‹‹ãý÷ßgÔ¨QüüóÏT­Z5SíÏÈû￯}]»vm6mÚ”åÏ=+mËÉ>••Ï6'ΛֵÊ)¹Ñ÷…y‹$ëBä3¶¶¶Ú×Fû:!!AûúâÅ‹:Ç 2„ÆÓ¸qc8 Ý~äÈ‘‰)e²èÌÏM/¨ëXgÖ Aƒ´s†CBB´IV@@-Z´ B… ´k×N;ÇþÑ£GL˜0___¨S§W¯^ÅÊÊ*[±¦¾–i­™Þ A,--ÓlCóæÍY¶l½{÷æöíÛ™j{FÊ”)£}mnnÎ[o½•åÏ=+mËé>•ÙÏ6'ΛֵÊ)¹Õ÷…y‡Ü`*„Гœ˜&ûàƒÒ¼ÕÄÄ$GΗúæÍ”_R¾ýæEJ–,É{ï½ÇÊ•+5‘óööæ×_eݺuÚrææælß¾mÛ¶Ä¡C‡8|ø0ñññ>|˜=zн{÷,Çšºü“'O2?@ß¾}9þüðCíû€€í“5“’’˜8q"Û·o§I“&Ú2Ú×QQQÄÄÄpüøq¶oߎ££ã ÏW®\9'=.Y²D›ð/^¼X»½C‡zšÉHݺu©W¯žöý‚ ðóóÓ)s÷î].\¨¥u3å²’ÕªUËV¬*TÐ9ßôéÓ‰ˆˆÔåú¾üòK®]»Æ›o¾™nLMMY³f •*UàÏ?ÿdôèÑ™¿™”ÕÏ=+mËNŸÊHf>ÛÜ8ïµk×´¯SÎÙÏŽÜìûBˆ<ÂÀ7¸ !rÑ?þ¨Ô¬YSg…Šúõë+ûöíS>ùä¥dÉ’ÚíöööJ£F”ÐÐPEQ%!!A™4i’âää¤JáÂ…•:uê(...J½zõ”½{÷ê¯oß¾ŠF£QÅÍÍMqppP ðÂX~ùåíñK–,Ñ.açêêªTªTI”%J(ß}÷vy¾¬Z¹r¥öœE‹Ubccuö߸qC1b„RªT)¥téÒŠ———âìì¬m÷§Ÿ~ªwî¬Äš””¤Ìš5K)W®œ(666Ê›o¾©899)Mš4Q.]ºôÂkôÏ?ÿ(üñ‡ö|É4h œÛœ:oÊkµeË¥`Á‚ŠF£Q-ZôÂã2ówMQr¯ï !^EÉ…ßR…F!$$$Í«U«Æõë×‰ŠŠÒÛW¯^=ÕQEáÒ¥K„……aeeEÉ’%_8RÎ¥K—HLL¤\¹r8;;¿0–2eÊèÜÀê“ “ S¼xqÊ•+—Ù&§)!!A;ÍÄÑÑ‘*Uª¤[6,,Œ«W¯’@±bÅ(W®Ü sŸÕXoܸÁ­[·(X° ®®®:×2½kT¥Jâãã¹pá‚Þ¾5jèü–ôêµ°°Ð™N)«Ÿ{FmËjÝ™í/Yùl_漩¯Õ7xòä‰vE™œø»9ß÷…¯?IÖ…B!„0R²Œâµrüøq½yÉi™>}ºÎ:Õy‘\ !„Èû$YB¼V"##Ù¹sg¦Êåur-„"ï“i0B!„B)YºQ!„B#%ɺB!„FJ’u!„B!Œ”$ëB!„B)IÖ…B!„0R’¬ !„Ba¤$YB!„ÂHI².„B!„‘’d]!„B#%ɺB!„FJ’u!„B!Œ”$ëB!„B)IÖ…B!„0R’¬ !„Ba¤$YB!„ÂHI².„B!„‘’d]!„B#ejè„BdÏ¥K— ‚BˆLpssËö±2².„B!„‘’d]!„B#%ɺB!„FJ’u!„B!Œ”$ëB!„B)IÖ…B!„0R’¬ !„Ba¤$YB!„ÂHI².„B!„‘zé'˜j4šœˆC!ò¬÷Þ{5kÖ:Œl‰Œ,À… f<|hB|¼ü{/ò&kë$ŠM¤|ùxÌÌC‡#„Ž—NÖüüüðòòʉª„"O™6mš¡CȲ ÌX³Æ–;¬¹r¥ ¡Ãâ•11Q¨U+ŽwÞ‰¡}ûh N2tHBäL²îååE§Nr¢*!„ÈS^§õk× 2i’Û¶YSºôSš5‹¡^½X*VŒÇÞ>QFEžS€;wLøï?sví²bÚ´"üø£ýúEÒ¯ß,-¥ï ÃÉ‘d]!ÄëëÉ 3gaѢ”)ó”… CiØð12ËQäÖÖI¸¹%áæö”wß}DLLV¬(ĬYö¬]k˸q÷xçC‡)ò)¹ÁT!ò±ˆzô(ÁŠ…=:‚¿þºI£F’¨‹üÍÚ:‰~ý" ¾Nýú±|üqq¦L)‚"ìÂdd]!ò© Ìè×Ï…5knâæöÔÐ! aTŠMä»ï¨S'–±c¹zÕŒ)Sîba!Y»xudd]!ò¡ÐPSzõ*Añâ üþû-IÔ…x¢Y²ä6X2r¤Irß©x…$YÙ¶lÙ24Mš¼½½ žÁøûûë]ãÇ:,!´bc5|üqqlm™7/;»DC‡$„Ñ«];Ž9sBÙ¾]½UˆWE’u‘m=zô@Qú÷ï¯Ýfbb‚¢(ìٳǀ‘–¿¿?¡¡¡†CˆtSŒ[·LY¸0”B…dˆPˆÌzóÍ8¾ù&œ9sìÙ¼ÙÚÐáˆ|B’u!„ÈG´ä¯¿l˜<9 —C‡#Äk§C‡hþ÷¿h&N,Jl¬Ü‰-rŸ$ëB‘O$&„ EiÒ$†Æ:!^[Ÿ~AttæÏ·7t("d]!ò‰À@[.^,Ș1†Eˆ×šƒC"ƒ=`þ|;¢¢$•¹Kz˜0ˆ#GŽÐ½{w\]]177ÇÖÖ–Úµk@B‚þOó+W®ÄËË kkk,--©]»6 .Ô»‘sÀ€Y>Ç€ôêY¿~=Íš5ÃÎÎKKKªT©ÂÂ… ÓlKZ±mܸ1ç/š/iÅŠB4mC™2²òËëhÞ¼yxzzÒªU+®]»fèpò½nÝR €Âºu¶†Eäq’¬‹WnÉ’%Ô«W+VP©R%BCCY·nÿþû/~~~´nÝZ'™þúë¯éÖ­ÀÝݳgϲnÝ:/^¬Sï¿ÿþËœ9s²|Ž9sæpøðaºX´h'OžÄÑÑ‘3gÎзo_uÊe66! -<Ü„ÿµ }ûG†EdÓ¬Y³ˆ‰‰áüùóüõ×_†'ß³¶N¢iÓ¹ÑTä:IÖÅ+ΠAƒHLT—Š8p EŠÁÇLJڵk°yóf,XÀÍ›7™0a‚öø#FP¦LJ–,ɘ1cräi?~<%K–ÄÕÕ•¦M›j·¯[·Nû:;± a(ZR €‚——ÌU] 8kkkÜÝÝiÓ¦¡ÃÀ[o=æØ1 âãåFS‘{$Y¯Ô–-[ˆ‰‰Ñ¾/Q¢„öuÉ’%µ¯W®\ À¶mÛtFÙÝÜÜ´¯+T¨#çHKùò嵯mmŸÿÄyëÖ-íëìÄ&„¡œ;gF¹rO±´”'/¾® À‰' ¢téÒ†GU«Æ“ áÒ¥‚†Eäa¦†@ä/wîÜÑy_·nÝ4Ë={€{÷îél·°°Ð¾¶¶Nû§Ç¬ž#-)Ï“’¢oV¯U~T¼¸úw*<Ü”J•â È«dd]¼RÅŠÓy¿{÷nEÑû@Ñ¢EuÊÇÆÆj_§=™sdWvbÂPbc5XZʪU«ÆÅ‹yûí·µÛöîÝKPPóçÏgíÚµXZZðèÑ#:uêÄ·ß~ËÉ“' ààÁƒT­Z• 6о}{À=~ü˜.]ºðõ×_sìØ1š6mJpp0›6m¢k×®Lœ8Q;u.+u;::êÅœr»§§§v[·nÝ´‰:ÀÑ£G)Uª&L`ÕªUY:oV®U~ee¥þЉ‘tJäé]â•ðóó£]»v¼óÎ;:#ЧOŸÖ)ƒ­­-ãÇÀÇÇSÓç?]ºtIûúÂ… iž+«çÈ®ìÄ&„¡( hdZmšÂÂÂøþûïqrr¢råÊ4jÔPoèLþ÷ÃÃÃFQ¸pazôèÀ“'O=z´v:ÜìÙ³9~ü8vvv|ûí·”,YKKKÞyçºwï®=gVë~‘Þ½{k_ÿùçŸDEEißoÛ¶èèhÚµk—#çMïZåWɧ™]&r‘$ëâ•rrrbÚ´ihžý 7iÒ$víÚEll,!!!téÒggg† €‹‹ _|ñ…öøü‘«W¯rûöm&Mš”#çÈ®ìÄ&„0>uëÖÅÊÊJûþ§Ÿ~¢oß¾lÙ²E»-å/vNNNÚס¡¡9r€M›6i·{xx`bb¢sžÏ?ÿœü Ëu¿H‹-´ÇÅÆÆ²jÕ*í¾_ý•.]ºhGÀ_ö¼é]+!Dî‘d]dÛ²eËÐh4Ì;W»-11QoÍrFC@@€¶Ì€ؽ{7;v$)) ___œéСU«VeïÞ½:SLÆÏòåË©[·.!!!TªT‰¶mÛÒ³gOx4)† ³rŽhW‰IæèèH`` ÞÞÞ:±oÞ¼FÃÕ«W_[¯^½tê«Q£†ÎðBãáèè˜æöððpíë;wR¾|yÊ—/OË–-uÊ%ÿª–ò>–” mNÔý"¦¦¦Ú‘q€¥K—’˜˜ÈÙ³g9zô¨Î¾—=oz×J‘{äS‘m=zôÐùŸ@V4hЀ dº|·nÝèÖ­›Î¶‹/ê¼O=W=³ç˜3gŽv}öÔZ·n­Ø>üðà B^Á‚i¯äáààÀãÇêR—õë×gÉ’%/¬§hÑ¢ÚûU2ºo%«ug¤k׮̚5‹¸¸8BCCÙ²e ;wî¤yóæ/^<ÇΛ޵BäYFoäÈ‘i&ÃÇŽÓ¾~óÍ7qvv~•a !ò8___íë‹/jŸÝlÆŒ¼ñÆÚÕVš7o®Ýwþüy½yß½{÷¦K—.Ùª;#vvv¼ûî»Ú÷³gÏæ¯¿þ¢OŸ>/Õ&!„áI².^ «W¯æçŸæþýûDGGÌ矨?Ë.Z´ÈÀ !òš?þXûÌ„°°0¾ûî;ÂÃɉ‰á¯¿þbþüù >\û,†AƒiWf‰ŒŒdܸqܽ{—èèh-ZÄ¡C‡6lX¶êÎŒ”7šž={–J•*鬓[çBä.¢¼Ü=̆U«VÑ©S§œŠI>ä÷ßgÍš5œ9s†Û·ocaaA… hÑ¢C‡•y”ÂhuìØ€5kÖäxÝ™™Ïœlð`õ™3ïæx¯“´Ö,O6yòdþ÷¿ÿél‹å×_eóæÍ\¾|™§OŸR¤H*UªD·nÝhÒ¤‰Nù„„V®\IPP!!!2t(ˆ¥|pbVI².„¹H’u!ò6IÖEf¼L².Ó`„B!„0R’¬ !„Ba¤$YB!„ÂHI².„B!„‘’d]!„B#%ɺB!„FJ’u!„B!Œ”iNT2pà@FŒ‘U ‘£"""°±±ÁÜÜÜСˆ|*""BûÄH!„"«dd]äi±±±ÄÆÆ: !„BˆlÉ‘‘õŸþYž`*Œ’F£¡oß¾L›6ÍСˆ|*ù ¦B!DvÈȺB!„FJ’u!„B!Œ”$ëB!rÕúõ7Ø¿?ÜÐa䘼Ö!„qË‘9ëB!DZÂÂâ1âÅŠY°o_ C‡óÒòZ{ áçŸC(ZÔŒŽË:!^ ’¬ !„È5ÅŠY0eÊ›+faèPrD^k!Ìž}ŽÊ•í$Y"“$YB‘«Úµ+eèrT^k¸I²nä~ÿýw¬¬¬hÑ"ë?·îÛ·-[¶0gÎLMM¹yóf.D(D*¿ÿVV>˾}°e Ì™¦¦ }öµvéR47ÞÒ¾ÿøãŠ˜˜htÊDDÌž={xúô)uëÖ¥Q£Fze¢¢¢Ø´iׯ_Ç‚ P«V­Ö+Ò±h\¿þüýo@‡°d \¾ü|û矃E:«Kœ;)úãÆÁùó°u+˜˜@½z¢Ï²k<본ºÂ³>ËÅ‹ð¬ÏbeÏúlšõŸ;›7ƒ™4kÏú,GÂ?ÿ€ øúBŠ>KH¤è³Œ§Î;O),L­÷Æ °¶VcÏ Ïrø0ìÙOŸªeÓè³DEÁ¦Mêµ¶°€ @ú¬ÑJLT8w.  eÊØèí/WΆ½{Ãøï¿(jÕràüù( ÐxFwλ‰Ibc9þ!U«ÚéìKl.lÀãÇ Ú8._ŽÆÄDC©Rú‰¹‹‹÷îÅe¹}™9ovÛ”ZNÏYOíU¶E‘¶|—¬'ûí·ß8þ<666lß¾*UªpðàA† ÂäÉ“µÉw²I“&Q§Nm²žlÞ¼yÄÇÇë•O®ßÖÖ–]»váîîΖ-[6lË—/çìÙ³œ8q777‚‚‚ðóó#00Ÿ4ëùüóÏu’õiÓ¦1f̪U«†··7§OŸfÔ¨Qxyy±jÕ*Š+¦×æaÆqúôi<==9wî£F¢U«V¬Y³KKK‚ƒƒiß¾=Õ«W§~ýú<|ø¯¿þWWWÖ¬Y£ó…BdÒéÓêM—Uª¨Éz² ÀÒš6Í\=¿ý¦&é66j2^¥ <C†ÀäÉÏ“ïd“&A:Ï“õdóæA|#5ðû IDAT¼~ùäúmmÕ„ßÝ]½ÙsØ0X¾Ξ…'Ô=(üü 0RõYm=Ÿ®›¬O›cÆ@µjàí­^—Q£ÀËK:“FŸeØ0µœ§§úbÔ(uÔ~ÍõÚCûöP½º:çýáCøúkõ‹Êš5º_(ÄkFÍB5  z‰ À{ï©#¿… ÔÛWà%;NJÊdœóf·M¯Z^j‹¯«|—¬{xxàïïÏñãÇ9þ€Q£FQ¡BvíÚ¥=~ôèÑT®\™7nH²žU|½zAË–jR™<—»lYˆU·)òâ:<<Ô›.W“à»wÕdÔI¤žžê~??u$¼aCõOª>Kùòj¹À@HÑgõê¿wžõYüýÁÅú÷‡#àYŸeÜ8uû„ Ï“uwwÝzRZ¹†‡îÝÕ_’3€={ÔXÛ·W_§üŸýíÛê‡}–ï¿WöÑ£áYŸeÔ(¨PAý‚‘|üèÑP¹²:‚/}Ö蘘hðð(ÌÙ³Q\½úˆråluö_º¤Î¯RÅ +âìÙ(Þ¿ööf:eCB²eËmJ–Ìú” nn¶\¼Íõë1z£üׯÇd¹ÎÌž7§ÚdèUT²Ó JŠŸ–/¿L•*öT¯žö*3Bäwù~Îú‡~¨}­Ñhðòò"66–ë)§.¼„Þ½{k_[[[SµjU¢¢¢tFèíììðððàÜ9ýUÒ2yòd¾øâ m¢àííûöíc×®]:Ç(ŠÂÈ‘#u¶ 2kkkæÍ›Ç“'êÊ ‰‰‰„††ê´ßÕÕ•iÓ¦Q¦L™LÅ'R11QG›Ë•ƒ.]ÔÑê>}`íÚŒõ´¤è³h4êÈtl¬ît›—‘¢Ïbm U«ªÓLRŽÐÛÙ©I~&û,Ïú,_|¡;Tçí­&ûûö©ÉvJŠ©ú,C†¨1Í›Ïú,‰‰ªÛ~WWu$_ú¬Ñúè#ujÕ¬YçuF°‰`ÿþpjÖ,BíÚE8°"?ÿ¬û%ðÉ“DÆ?®R“ï¿_€¹s/èl_¿þááYŸ“Y¹Ù¦W-«m)VÌ’Èȧ€:fÚ´³¹z­…xÝ廑õÔJ•Ò}¸…½½úÍþÑ£G9R¿‹‹‹Î{kkk (@‰%t¶ÛØØd꜉‰‰œofÛôªeçfµ-:”bÊ”3Œý/ááqØÛ›Ñ¨‘Ó+o«¯‹|Ÿ¬›˜˜¼Ôñ Y®_ß—»#&©ë/ÎÄÃäŸ"“Ë×­[—öîÝËÎ; d̘1xzzòûï¿Ë4˜—Q®œúçÔ)XºTeÏNÿ{É>K}6ÍúÕ ©/wÞŒ¤®?½É²É?Ÿ'—¯[W½¹uï^عSæ3fŒ:=è÷ßeŒhÝÚ%Íí|Pž¶mK±k×]î܉ÃÙÙ’^½Ê§9¢W/7Ú´qa×.õJ… ¤MjÔÐÿu*½ó5hPŒ tïÐhÀßß“ÎËpàÀ=’xë-'4(Æ{ïíÄÂBÿïCzõgå¼YmÓ«–›m0 "žžEøï¿HjÖ´§E ÌÌòýýB¤+ß'ë™emmMTT”ÞöWýTPÞxã Nœ8Á… ¨X±¢Îþ³gÏP£F íáááÄÆÆjo$ˆ‹‹ãúõëXYYi“ðï¾ûŽO>ùooo¼½½;v,;vì I“&Œ5еk׿r ó°?ToŽìÞ]½¹ó³ÏàÇsï|ÖÖêô•Ô^õSAMLÔkOœ€  UŸåYŸ%UŸ%<\Þ“¢Ï§Nw±²zž„÷|ò‰:¥ÆÛÆŽ…;ÔQöQ£ÔéF ’×ì~sÚ·wÍT}EŠ˜Ó®]©t÷/n™îùÒÛþøq"«W_¥wo7§m&&*\¿þˆ²eŸÏcQ{²º=YFmzÕ²s “e¥-É£õBˆŒÉWÙLrwwçÂ… DDDh·­^½š¼òXFÀ„ HJz¾víž={ؾ};õë×§aÆ:Ç$%% ³mÆŒ<~ü˜>ú33õ¦ ï¾ûN/!Ožn“˜˜˜ãmÉ7&O†èhõ†ÌO?…÷߇©SÕ›-s‹»»š§è³¬^ è³<ë³L˜)ú,{ö¨+ÛÔ¯¯ÞhšRR¤ê³Ì˜¡>%õ£Ô›iAMÖS'äÉÓm¤ÏŠ ÄÄ˸qж­ºæxëÖê*2¦¦êö™3ê±ÞÞêœñ´ê÷ðPoä¼xQMœýýÕµÕ]]Õõã¯^U—€ô÷‡ÆÕ?ééÚU½ tÌuÊÊ[o©ïÿøCyõju>¾}ê ¸w³:ߢ…z“ëÙ³°q£úëDŠ>KË–0p ºfÅŠê¯ ë×CéÒê—!^ÀÚº µj9нûnZ´pÁή !!Ù½;ŒÞ½ÝèÔ©tÆ•!D.ÊwÉz².]º¤¹Ý××___½íÍš5ãÌ™3I‹-ðññaÞ¼yܾ};Óõ÷èÑ#Íí)WIKê9èǧGüý÷ßܼy“R¥J1dÈêÕ«§wì€(T¨Çg×®]>|GGGFŽ©÷¥`ÅŠܺu‹½{÷ríÚ5J”(AÛ¶mñõõ}éùýù–:5#%ss5qÍŠtú¾¾êŸÔš5S“òà`ˆŒT“^5O£Ï¦[:}– ú¬ÞôáÃÕºþþ[ýRª”ú&>Ë€êͥÇ««Ä>¬Þp:r¤þ—‚+àÖ-uÎúµkê°mÛª×Dú¬È€•• ¿ýÖóçòß‘„…ÅáããÌ_¼‘曄âUÓ(JfŸ}–N «V­¢S§N9S¾6{ölzõê…µµ5 ~y8tè>4pd¯'FƒŸŸÓ¦M3t(y×ìÙêZòÏú,¾¾pèúp"AÇŽX³fMŽ×}éÒ¥L—J—¶æË/=s"\!„0J9’¬”U ‘ãNŸ>ÍéÓ§ †ÈÇbcc ‚Ñ)RÄœ­[ßÁÊÊ$Ûu>|˜˜„ŒJˆì9xpuëÖÃÁÁÁСˆ<(G’õU«VÑ©S§œ¨Jˆ¥ÑhðóócÚ´i†EäS;v4tF«T)+C‡ DxÀºuþ¬YCË–-éׯ+V4tP"‘L…B¼RGŽD0uêíûÅ‹P°àó[¨öï'(è·o?ÆÜÜ„Zµhß¾EŠ˜Ïo\}ò$‰óç£èÖm7&&–.õÖÖ£(°eËm¶m %,,Sj×.JÇŽe´#ú©cY´¨>¿ÿ~Ý»Ã01ÑP£FzötÃÌLnñé±çë¯ÿ%>~%‹/¦uëÖ¼óÎ; <C'òù×G!Ä+åæfËС•HLT8tèIIŠvߢEéÝ{/vvéÙÓV­JJƒsút$ðüÆÕ‚ P¢„C‡VbèÐJ ü<1zú4‰þý0dÈ!ÌéÙ³õê92gNmÚl#,,.ÍX¾øâ8ÑÑ tî\77[&O>ÍgŸ}µH¼v ´ cÇŽüõ×_Ìž=›7nжm[ÆŽKDD„¡Ã¯9YBñJÙÛ›Q·nQìíÍôö­\y…š51¢Šv›3mÖÎOO¾qµ@°µ-HݺEõê™=û<Û·‡2lXe>þøù”„š5hÛv;þþ'˜=»®^,5k¡kײ¼ývqŽ¿O`àM¾ý¶&––ÙŸ_/òFCÓ¦MñõõeÆ üðÃñùçŸÓ©S'4¡C¯!YBa4\\¬8uê6ÜàéÓ$,,Løõ×TªT8Óõ¬]{ €ŽKël¯\¹0eËÚÊÇOõŽkÔÈIç}¹r¶Üºõ8Kíù›F£¡mÛ¶lݺ•.]º0~üxúôéÃ;w šx ÉȺB£ñãoòÃg;ö_Æ?NõêE¨W¯(íÚ¹R¨PÁLÕ‘ Küüëí¿w/ޤ$… R«–îêæ:ï­­ÕÿM&q"+,--5jÍ›7ç³Ï>ãÝwßeêÔ©x{{g|°ÏH².„Âh)bηßÖ૯<9uêÿüs‡Å‹/3kV³fÕ¡aC§ ë01Ñ`fV€ÄD…!C<Òzàæf›Óá ‘&OOOþüóOÆÇ|À§Ÿ~J¿~ý –xMÈ4!„F£_¿ý„‡ÇafV€ZµÔ¹ëë׿M\\¿ürQ§¬™™ ‰‰ÏG¼?ûì([¶ÜF£ºu‹’˜¨àädIݺEuþPä{’¬ç²GQ¡BZ·nmèPrL^lS~røêaì‡Ú3ùïɆ%ÇäÅ6åWGŽD0wn‰‰ÏWˆ¹x1E%t×e/SƆÐÐX"#ã º…z£èÈ‘U°°0᫯N¯=æÒ¥hüýãáQ¹ÙO¼z}úôaÆŒ¬^½šÏ?ÿœ¤$™b%^L’õ\¦( III¯Ý_F›tçÔ½®mª$%Iû¾.Ž\=‚¦Ÿ†qëÆ¥¹ÿulS~°qãMºuÛÍÕ«¸?žnÝv³fÍ5މ [·Ý9¢.i×»÷>fÏ>¨IöîÝaxymâ½÷þ¡Y³`úöÝGÛ¶¥5ªªNýìNtôSš5 ¦eËmøø8S§Žº2L•*v,_þÄóÖ[›iÓf;­Zm£S§]¼÷^i† « ¨_RDzfzsj·n»Ù°á£GcÊ”3‘š7oÎܹs büøñ(Š’ñA"ß’9ë¹ÌÖÖ–K—.:Œ•Û”ŸÔ-[—È‘†#GåÅ6å5k:P´¨…ζ’%­°¶6eèÐJ:Û‹UoììÞ½,Ý»—%"â ·n©Erq±ÒÞè™R“&ÎìÛ×’+W¢±³3×{"ª§§=ë׿Mhh,¡¡±*TR¥¬07¾cñâ–z±”,©Ö“z{ò¨½9ÁÛÛ›™3g2hÐ œœœ&&†½{÷j555M³Ý/jSz1e÷syÕ‚NQoR=,Yb7ÄŽ63ÛpîÎ9Lû›¢é§AÓOòË´åOÞÿüó÷ïßÇËË‹ýû÷Ю];E¡mÛ¶øùùáççÇ­[·XµjÛ·o§k×®:±d·îþýû3hÐ nܸÁ011Ñ+“Ò;w¨]»6+W®$ €{÷îqôèQ7nLŸ>}˜;wî ¯Yòñ+V¬ÐðàA¬¬¬ðññÑ^«‘#G¢( žžžDFF2tèP¾ùæîܹî]»¸ÿ>Mš4açÎ:å­­­iРŠ¢ ( i¶;;1eçsyÕVYMë™­)hRCcq󇛸ùúÑkQ/’”$šUi†2_¡G½ì8·ƒº“êrýþu‚‡s?à> {/䯓QoR=îÇÜ`z—é(ó [ævÔm¦oÎ’–pwê]†5ÆÏÿüŒÿ_þ:±d§îË÷.óã–™×s÷¦Ýcz—ézeRÛ²“ÚßÔæÊ½+ âÁŒlòÛ„¢(4›ÞŒ7O¼ðš%ùÞe‚†q?à>k¬áÈÕ#ÔœP“¯ÿ @àà@<`Û¹ml8±µ×r÷Ç»,콿OÿMýïêk¿ˆäðXu­ì±­Æ¢ÌWPæ+Ît›2Š);Ÿ‹Bä”1cÆàêêʈ#d…¡Ç(’õ1cÆI@@M›6ÅÆÆ†*Uª°bÅ bbôG³F͵kט:u*-[¶Ô–ÿí·ßP%Ýy_}ûöÅËË kkk|}}iÕª‡æÞ½{/]÷¨Q£hܸ1VVVÔ­[—„„ŠMÿ'ÔÑ£GsåÊhݺ5¶¶¶8991nܸLý –|üôéÓiݺ5… ÂÝÝ+VàììÌ!C¸{÷®Î1111Ìž=[{ Þ|óM–-[F||Œo­#P’’ć‹?$!1ÕýWãYÊs|+ù2£Ë ®Ü»Â¤ Izç {ÆOÝ~¢œc9l-lÞt8Ål‹±éÔ¦—®;:.š_ûüJ%çJX´`¨ÏPNu:Ý6')I|ðë$*‰¬¸–š®5±,hI…bXÖwYš‰pZÇ'$%°fÀjºÖį܆únõYÑoÑqÑô]ÜWï8EQXúáR*«@!ËB´¯Ñž¯ÞýŠ÷o0i£~»²"»1eæsBˆœdffÆ?üÀéÓ§Y¾|¹¡ÃFÆ(’õ¿ÿþ€fÍšélwttÄÃÃC¯üºuë(P €ÞÒÅ‹§J•*=z”›7oêW»vm÷¥J•àöíÛ/]w:u^ÔD=þù'-Z´ÐÛ·iÓ&üüü2u|«V­t¶›››ãããCll,›7oÖÙgmmMõêÕu¶U«V%JpâÄ BCC³Ô†œˆ 2÷¹¼J'ož$4*”j%«Q®„ξ†î Ó,åÞý'GcÉͺSJN\Ãf/AÎèøäĹxaÝÏÿÞ#ý©NÉIzrÒYï/“Bеµ5 à‡~`àÀ888d|Èó >²ϧ‚$O‡IvçÎBBBôÊwèЄ„UL’Mž<WWWí ‘Y•›u§Ô¾}{‚‚‚ôöÕ¨QƒaÆeêø7êlòä Û¶mÃÒÒRoZQ\\‡ÖÙvêÔ)nß¾§§'ÎÎÎÚíVVVÄÇ?ê_ÅŠ™7o^ŽÇdŒ<]<)aW‚S·NéM}زS¯ü.oP¾XyNÜiŽÄ~ûí·¸¹¹ñÁ°iÓ&¢¢¢¸ÿ>sçÎå믿fÊ”)ÙÏͺSŸ§lÙ² 6Œ7ÍÍ›74h¡¡¡&ëÉÇûùùHtt4!!!tëÖÐÐP´SO’.\˜1cưÿ~bbb8rä=zôÀÌÌŒ€€²5kÖ$$$„7n°ÿ~._¾Ì[o½•ã1#“&Ìè:ƒ„Ä:ÏíÌé[§yôäÁgƒ™µc4ºm4 ‹z/">!ž÷~~¯ÿKìÓX®ß¿Î•C8|õ0ãÛŒÏV,¹YwJ4XØk!¦Lé8§#Ç®#öi,§nâ½9ïQ§LZ¿Ñ:KÇÇ<‰aÿ¥ýt›ß [ [æ÷š¯wœ½•=½õâBØ¢ã¢Y÷ï:¾Üð%¥Š”bl«±ÚrnŽn²,ÄËˆŽ‹fùå”´+‰›£[ŽÇ$„†diiI÷îÝY½zµ¬ ##IÖÝÜÜØ¿?µk׿½÷ÞÃÉɉþýû3zôhÊ–-‹‰‰îábÅŠqèÐ!ÚµkÇ'Ÿ|¢½õ?þ`ýúõtêÔ € ÑhX¿^´´´dÜ8õqå†É“'êHvò ¥/SwêŸê“×OY¦Gu©¿âÅ‹søða:wîÌàÁƒqpp N:ÊÑz»u놓“SŽýÿK–›[ú¿gÄ(FÖïܹC‘"Exúô©Îö«W¯réÒ%š4ib ÈD~õÛáßh3³Þöà³êƒx’—MB!rƒ»wï–©0Âð«Á${ðàýû÷端¾ÂÁÁÓ§O3xð` *Ä_|aèðD>´ñÔFfl›Az=( )ÀÎ|ºöSê”­C×:†}ªâõ•˜¨ðÇ×Y¹ò ׯǔ¤Pª”5ï½Wš.]ÊP°`£./^Fñí·ßrúôi<== N®‹å·ß~ÃÎÎN»`EzÙ½{7!!!XYYáííM™2er¬¼±1Š¿Å‹'88˜ÈÈHí<êwß}— *pèÐ!Ê•+gè_[S¦LA£ÑpâÄ nݺ…F£ÑÎéëP£¿ôþ…?ŽýAåñ•)6¼#V §WO¶Ø†™©™¡C|mµžÙû¡êó–\®.D~ñÙgG=úõë;²y³/Û·¿C«V%ùê«|üñ!£//^òåËãèèÈ‘#G²t\\\¿þúëk5}800¦M›2qâDíÓsçÎÚµkÇøñ㉈ˆàèÑ£4oÞœéÓ§çHycd4#ë>>>øøø:Œ8³víÚŒ?žR¥Jñ¿ÿý/Ûå•QŒ¬ !„ùAh¨ú\òå éí+WN}˜ÜíÛ¶¼xµ*W®œådÝ××7S‰¯±hÑ¢¿ÿþ;•+WΰìÖ­[9yò$={öÔyÂ}—.]´7ã¦|úyVË+IÖ…BˆW¤\9[LM5\º­·ïòåh4¨X±°Ñ–¯V¹rå¸qãYY¸ÏÒÒ’>}úP¶lÙ\Œ,çtîÜYo‰îô$?<³~ýú:Û (€——wîÜáĉÙ.o¬ŒfŒBˆ¼eÁ‚ |÷Ýiœœ,øùçzüðÜ8qŸ¤$ðô´gøðÊÔª¥ûHõÈÈxfÍ:Gpp(¡¡±XY™R½z>ú¨õê©ëïoÝÊÀ´ÇlÙâË´igÙ¿?œÈHõI·ýû»3w®ú”Û£G#(_^ kb¢áüùvÆ_±â:3—$-jÎ-3UnôèjLštêÿíÝw|Í×ÿÀñ×ÍN„ìˆ!C"ˆÄiJ¬Y«æ—ÚUTµf‹¢-¥fÕh)ªÄh•jkVR£­M ‘‰„ìä÷G~÷rÝ„ì{ñ~>yxÜÏç|ÎçœsÓæ}Ï}Îaþü 삞ž‚-[¢8r$–÷Þó F s-/ÊV¥J•HOO'>>¢££9vì÷îÝÃÚÚš×^{*Uª¨Ê‡„„pæÌ ÷y@å²ÚqqqlÚ´)ßû˜››3xð`µcaaaüûï¿$%%agg‡¿¿¿ÆF•·nÝbÛ¶mî››íÚµ+pù§)¿eÈ냈òØ… ðöö.RyÈM9|ø0—.]ÂÈȈFQ§N–.]ªúÐôÆoàîî^ä~–ëB!JÅ!® âJÇŽ‰ŠJfÖ¬sL™Rww ""0yòiúõ;̺u¯Ñ¸±-qq©ôèLjjŸ}æMãÆvÄÅ¥2þú÷?Ìœ9>ôìY6m*Ñ•#þfÿþÛL›v†±c=˜7χ°°$zö fÈW>üгÈ9ë è‹bà@gìíM˜3ç<+Vä~˜°²2â³Ï¼éÑÃIçË‹²£ Žcbbزe ‹/¦uëÖ899ÊÌ™3ñóócõjõݘW¬X‡‡‡*X¿{÷.›7o¦wïÞjåŽ=ʉ'ÔV_IKKcÒ¤Iüú믴nÝGGG‚ƒƒùøã?~|ž›.–•˜˜ôõõ)_¾¼Æ9ešKLLL‘Ë'$$0tèPΞ=K›6m¨Zµ*³gϦvíÚlܸ‘*UªÐ¥KéüáY$XBQêRR²øôÓúxxä¦TÔ­kÅ‚ yóÍÌšuŽ]»r÷.˜?ÿ"ÑÑX´¨-[Vrgý.lD@À>ýô,-[:`kk¬Vÿðánøúæü^^V¥hWNL›všíÛ¯1qb]:v¬Š¾¾‚={n1sæ9Žã«¯¢¯¯ÐÉò¢l)ƒÌØØX.\ÈÀ™:uªêüüÁèÑ£U¯›5kF³fÍX»v­F]öööŒ3Fõú¿ÿþcõêÕøøø0gÎÕñO?ý”]»vñé§ŸÒ§OÕñ©S§2wî\\]]  råÊju–¶ÔÔTŒó}:YYYT¯^½Lû«$9ëB!J©©¾*PWªU«öö&\º”Hllî̽{oТ…ú×íFFzøùÙ‘ššÅ_iîÂêåõb¬V²cÇu‚‚¢èÓ§&ƒ9ckkŒ••½{;1|¸»wG³~ý-/Ê–©©)>D¡PNJJŠê|ëÖ­ <ÚÚڪͪÇÄÄ0lØ0lllX±bFF¹Ëß¿ŸmÛ¶akkËÛo«ï'2lØ0€ÃÏÏ-ZàííMóæÍ ¬ÛÙÙ©‚õ””†JJJ 6lÀÚÚZU.44”¬¬,LLLXºt©ZÊUSNŸ>­:VÖ9ëDFF’””¤‘Úrÿþ}U™¢”ˆˆ ''''' õo’*W®Œžžöæ·K$XïСnnn%Q•%jÑ¢ExzzÒ¦Mm7E¼¢vïÞ-Á:AN<õ7{÷ҀܠÝÈHòå IJÊàáÃL€ýîÝÜ ÝÎ΄ÂxúžU©4eªŒ®•eK9+lbbB»víèÔ©GŽáßÿeݺuÌœ9“víÚ±`Á‚|Ó=ž”͸qã ã»ï¾ÃÙÙ9Ïry­Î¢§§§ú`••Uà\J’§§'‘‘‘DEEQ·n]µsQQQª2E-hê999…Z‘§¤•H°>pà@ÕC Bè’E‹ѦM.\¨í¦ˆWTtt´¶› ÒÒ²8w./¯'gñ›Š‡‡öö¹øoTfûöküùg ?䤧gsôh&&ú¼þzÅBÝÛÔÔ€ŒŒÇk)·i³wÞq¥wo§âuªê×·áÀŽ¥U+õTŸcÇâþ¿ŒµÎ–e+))wIÍŒŒ 6lØ@ÿþýiÙ²%-[¶dâĉ,]º”%K–àëëKÿþýŸ[ß_|Á˜5kþþþªã«V­bàÀ¸»»£¯¯‘‘Qž3ö$>>^¨—uÎzÛ¶mÙµkGŽQ ¾srr8vìxyy©¼««+ …‚«W¯’““£´vùÌ’&9ëB!J]ùò†,Xp‘Ó§ãIIÉâüùû|ðÁ õøøãzªr&Ô¦jU3fÏ>ÇÁƒ·yø0“«W“yÿýãÄÅ¥òñÇõ4.}OOK®^MæöíNŸŽçúõ‡4jdóü KAß¾5pr2gãÆHÖ­»Â½{i$$¤³uë5V® §bE† qÕÙò¢l=|øÈaŸ3gŽj6rg€«W¯äÎt?ÏæÍ›Y³f ƒÖÈG_µjiiiXZZÒ»woÂÃÃ9pà€Z™èèh&Mš¤ö@fY{ã7¨[·.ëׯ'!!Au<((ˆ˜˜Þÿ}µt•”·µµ¥}ûöÄÄİcǵû~÷Ýw¥Ü³g“Õ`„B”:33}¦O÷böìsœ:OVVõêYñÃþjë¬ÛÙ™°cG ¾þ:”O?=GLL ¦¦Ô¯oÅúõþ4mš»Îú™3÷éÞýê:OÏDDtåiÓ¦ÕeêÔ3¼ñÆ>,-øä/œ5—r+ *²}{sV¬ãǯ2wîää@¥J¦tïîȻﺫ}ѵò¢l%''P¥J<==éÚµ+íÚµÃÆÆ†Û·o³wï^7nL=€Ç묧¥¥Ã’%KhÕª=búôé”+W333–,Y¢vŸ§WDIIIaÔ¨QàììL||<ûöí£sçÎôíÛ·DûxøðaN:¥ ¦¯_¿®j߀°´´T•ÕÓÓã›o¾aÈ!têÔ‰:Ëo¿ýÆ»ï¾Ë[o½¥VwaËÏš5‹;wî0qâD8@•*U8{ö,ZIûQRäs^_¡P$i0B') Æ'i0Bk”D·nÝZâu_¹RðU:Þ{/7udéRÍ•TJ[ÇŽ‰OãÈ‘öe~o!J›‹‹3K–Ü¡C‡ä¯û×_åƒ>àüùóÊÅ‹¹sçÔ­[—:uê¨Ê?¹)’’2X?vìØ3ï5|øpµ¼÷ÈÈHŽ;ƃ°µµÅ××GGÇ’í ƒõ¼<¬+eeeBXXffføûû?sÇÖ”ÏÉÉáðáÃ\¼xcccš4i‚““uêÔ¡M›6|óÍ7Eêg~Ï„̬ !„Bè ÈÈHªW¯®Z¦V­ZÔªU+ßòÊuÖóÒ¨Q£BÝ»fÍšÔ¬Y³P×…¿¿¿Zþ|AèëëÓ¢E Z´hQ¢åø~ý:­[·æõ×_W¿|ù2@™ŒG^$g]!„B]¹rEkâ«(,,Œ™3gªÒ wU«Va``@·nÝ´Ò.™YBQ*¾ý6œ/¾øOõÚÅågFªÅøñµµØ*!^—/_–¥‡ËP5044$00–-[¢§§ÇñãljŒŒdÞ¼yÅJe)Ž2ŸY¿qã]»ve÷îÝe}ëRñ²õ§¨^äqX´è$þNZÚ󟦼lý)*í2Ä•ˆˆ®j?¨ Q0wîÜ!22’&Mšh»)¯ OOOöïßÏܹsqqqÁÆÆ†ÁƒB§N´Ö®2ÖO:ÅŽ;4–ÅyQ½lýÉOhh(ù._ô"úuظñ"wî<ÔvSJÄËÖŸüLžüAùî0ùªŒƒâå‚‘‘ 6ÔvS^)zzzøúúÒ§OFŽIçα²²Òj›Ê< ¦sçΜ>}ú™H¼H^¶þä'))‰ààà|y‘ÇaÿþÜ»—Š£cm7¥D¼lýÉÏùóq+7ªÐÜqîU!ÄËéÈ‘#4jÔ“ÂíØ+^>ZÉY¯_¿¾6n[j^¶þÕ‹:66¦ØØ˜j»%æeëOQÉ8!^TÉÉÉ=OAÆpòäɪõVÛ´iC÷îÝY¾|9aaa˜ššÒ¾}{ „ªüÞ½{ذa‡ Aƒ,X° DÞ×¢ŽYq$'gø“êõ¼yÍhܸ’Z™Ó§cY¿þ¡¡ñ( <=m4¨š»?Æ  ¿^^v VO5³›×ýâãSY¿þ¤ãáaÃ4ÄÁ¡œFÝÛ¶…±}{ññ©T¯^wÞ©KXØ}¾ûî<Uª˜³råyö§8÷}^Ÿ âycÏðáûTåׯoÏÞ½×Ø³ç*¤ãæfŨQõ5ÊŸ?Ÿ»z«V[TÛB/]ÚŠ5,Šý¾gÌ„¢¸~ùå²³³µš'-tG™æ¬·k׎3fpâÄ ðoܸ··7S¦L¡qãÆŒ3OOOFM“&M¸wìõëש_¿>Ó§OÇßߟ1cÆP­Z5úõëG—.]Tõ“÷ ¡oß¾Ô¬Y“‘#G’––F¯^½X¹r¥Z;Î;G½zõX»v-:t`È!$$$Ю];:Ä£G˜1cõêÕË·?E¹oAûô,Ã>}ú0a‚ƒƒÙºu+½zõ¢N:Œ9’jÕª1|øp:tè@FF†ªü°aÀÜ5\g̘ÁŒ30`@‰½¯E³â21ÑgÆ ?êÔ±%8øññê[(Ïû/ ¬'**‘Aƒêз¯§OÇR¯Þ:V­:§VvΜ¿ñõý›7“:´½{»³woµk¯åÏ?¯çy¿yóŽóË/¼ý¶άYsž¦M$55S­î¡C÷УGîîŒÃ‡{ѬYUÞÿO–/?Mpð zö¬Å˜1>ùö§¨÷-HŸž§ cX¹²93føakkJpð úôÙÍéÓwèׯ6½zÕbß¾køøl`Ïž(µònn¹9„Ÿ|âÇŒ¹?ŽŽåKä}-ê˜ !DI "00 m7Eè€2YwqqÁÅÅE5cû¤þýûÊÑ£GiÚ´)Ô­[—N:1tèP~úé'UÙˆˆþúë/Uu`` vvvŒ7ޝ¿þš1cƨÝïâÅ‹lݺZ·nÍüÁ·ß~ËðáÃUíøßÿþG||<'Nœ Aƒªº—/_NHHÖÖÖP±bÅ<ûS”û´OÏRÐ1¬[·.ÕªU <<œˆˆ*UÊyìÔ©FFFÌŸ?ŸÅ‹3aÂêÖ­KZZÕ«WWõ¿$ß×¢ŒYqèP3gb5Î:tƒI“BhÛÖ‰Ÿî¢:Þ»·;¾¾9r;P¿¾=þyiÓÓºuu¶oï¬*Ûµ« nnßÑ·ïn®^†±±¾Úý õøæ›ÇKrݽ›ÂÇæÀë¼ùf;w^áÛoÏè̦Mª²Ý»»Q«Ö||*âë›ûþåÕŸ§ûYû¦Où)ÌTcÇŽp5r`áÂÇWtì茓Ójú÷ÿ¨¨¡”/oD@@5UŠKóæU10PŸw(‰÷µ°c&„%áèÑ£\¼x‘Y³fi»)BGèĦH‘‘‘ãîî® è”:v숭­-¿üò ÷îÝ#22’\]]5vìÕ«ëÖ­Ó¸‡“““*ø055¥zõê\»vMu,,,ŒÓ§OS»vmU ®Ô½{÷"õ­ ÷-jŸžT˜1|RÓ¦MUºRÿþýØ´iS{Y²m*Ș•¶5krÓK ª£v\OOÁÿþçIvvk׿®­ü÷é²ff†:sûöCöîÒ¸Gûöê[»»[píÚձ͛/0`€úrw&&E rߢöéI…Ã'½õ–›Úk;;3Ú¶u".îlF¿¤ÛT1BˆâÊÎÎfÞ¼y´lÙ///m7GèØéÊ•+8::æyÞÑÑ‘»wïrõêUîß¿À½{÷4fx•Ο?¯qÌÞÞ^㘹¹9ÑÑѪ×QQQªY积××Ï1?¹¯²ÿ…íÓ“ 3†66ó­+V¬¨QVÙåxUQÛT1+mW®$ü5s³•Ç”e”ÿ.XpB#=FÌ;GÇŽê›)ØÛ›©½677 =ýqÊSTTîõÕªi¶£R¥¢åKä¾EíÓ“ 3†OªXÑLãXµj刊JÌ÷~QÔ6dÌ„¢¸vîÜÉ¥K—˜7ož¶›"tˆNëåÊåIIIyžðજ2ÚÉɉ3fä[gvvvÊT233Ë·=*PÞxQ˜››ÅëSaÆðIj®A­¬ãé²…UÔ6é‚rårƒ±¤¤ts¤«•17Ï}Höÿó¤n]»<ë+êòffù¶#99£HuDIô©0cø¤‡5û¥¬#¯ò…QÔ6 QNŠçðáX~ü1}}GŽ´×v“tÚË>^‰‰‰ÌŸ?Ÿ·Þz 77·ç_ ^:‘ãããC… ¸xñ"ÉÉÉjçîܹõkר\¹2µjÕÂÛÛ bccyýõ× Pû aÏž=…Ô¼½½133ãâÅ‹ýH©´I¼Ø¾ù&Œ­[£´Ý >>ÖŒ㎬£]/ûx͘1ƒììl>úè#m7EèÖMLL˜3g‰‰‰Œ?žÌÌÜRSS=z4ÌŸ?===LLLøüóÏ‰ŽŽfêÔ©ª²?ÿü3Ÿþy¾©$ÏS®\9>üðC˜8q"ÙÙÙÜ¿ŸÙ³g«–‡+i%ѧŒá“îÞ½«öuÛíÛ·™>}:ÆÆÆLžiÙ²Ó\¿þ8|éÒSœ;G¯^îª\qW×ÜÕ`¢¢ÉÉÍ›/£§÷ìÿF‹Ú&ñb[¾ü2Û¶ïy!JÓ/¿ü¯¿þÊ矎¥¥¥¶›#tL™FIË–-# €ääd.^¼H@@»wï`ôèÑ|ûí·üúë¯T¬X‘FáààÀñãÇÙ²e o¿ý¶ªž‘#G²víZ~øáðõõ¥fÍš|ðÁ¬_¿ž¶mÛðã?jÜïäÉ“œ9s†€€ÕŒo@@AAA|òÉ'L™2…U«Váàà@Æ iÔ¨cÇŽEOOO-`ϯ?E¹oAûô,…C¥ÀÀ@îÞ½‹““ 4 fÍš$$$°sçNµ‡[*T¨À”)Sزe 4àí·ßfîܹ˜šš–ÈûZ”1+®ää ‚X¶ì4}¬Z"ÑÂÂ˜ÞøûW¡iÓxz®¥V­ïhÓf+;;sà@OÕJ(*ò6 :P¿þ:<<ÖШÑ89­ÂÆÆ”]»º©îùÆ[Õî÷Þ{7î } ä«íÛors¥÷ïïAÅŠfx{¯ÇËk®®ß²}{£G{ ü•|V {ßÂô)?…Ã'MžìK`àOx{¯§zõUŒ{þýk³vm;µrÇ{Q³¦Íšm¦ví5$%¥3z´w‰½¯…3!„ÈOvvv¾Ïž]¸pO>ù„Ò¼yó2n™x(ržÎ(l AAAÚ°&""Bã!ÁZµj©­F’Mhh(ñññØÚÚâææ–ïŒvNN—/_æþýû888àää¤6K{ýúu"##Õ®ñòòB¡PpæÌµãÎÎÎj–>xð€K—.abb‚§§'IIIX[[Ó³gOU°˜_222Š|ßçõ© 2† XYYÑ·o_~øáâãã ÇÔÔOOÏ|¦‰‰áúõë899©-‰÷µ8ïÕ³( ÆÇÂ… 5ÎeffsøðMµcÆÆú4mZYíX||*áá÷Q( V-k,,Œó½ßýû©„…ÝÇÈHŸš5-4ʆ„D“ýø?9 c¼½í9s&–„„4Õq}}¯¿^UíÚÐÐxâãS©QÇrŒ{%KNqñâ <ÞÞÖxyYiÜùòËØÙ™Ð£‡û÷½÷ÜÕÚú¼ºò*“‚µµ15kšÓ  Oÿ©*h;$>>­À9ØK—^¦ ¹ÍÌô2Ä5ßóiiY¬\®v¬iS;5²!;;‡eËBUÇ]\ÊÓ¡Cn*ZRRÁÁw¸uëÆÆú4h`C:yÏ—ôØ>=^—/'²w¯ú7C†¸bfVøE!ŠÂÅÅ™%KîСCr¾eæÍ›Ç¶mÛ8xð ê95€èèhzôè³³3kÖ¬ÑØR¼<œó_áy´²Îú³èéé©-Û÷, …â™eó]‰$¿´’ƒò×_1}út|}}UÇOŸÎa{rIÇgõ§°÷Uz^Ÿ ¢0c¨dmm­Ößü888h¤¾”ÄûZ”÷ª¸”ë?µµ‰jóç±²zvÙfÍòêê××\GiÀ€ß˜5Ë_#íäôéX*T0R¥ƒ<«?E¹¯ÒóúT…CÈ ¦j×ÖÜ%öiFFúÔ«§þlI½¯Å3¡îÇ#ÑÓSpöì}Óqw·àÊ•$æÍ»@‹,]Ú“ÇÕ¯¿F™DzzgÎܧn]KÂÓ8t(†þýkbj k×^aþü ÔªU ¬¹{7yóþÃÛÛš%KccSð•…©ëɲ ÚpëÖ#.¼ˆ±±_|áC“&v…®SlÜÉýû錡ù`ãï¿ßÄÞÞ—ÜU™Ž‰eäÈ¿©]Û’“±tée*W6eÙ2_/Pc›—7²sç úõ«‰……n¼AAA¬Zµ ===–-[ƤI“€ÜàÞyçlmmY±b…ê"_:±Œ.‰eþüùtîÜ™úõ빳ɓ&MÂÞÞžÁƒk¹…âUóï¿1Ìœy”•+ßÀÐ0÷[–5kÎó×_Ñ|úék ¡+||¬ññ±fß¾[\º”ˆ»»#G>W­ cÞ¼ ÌŸiÓêáì\ž1cܹx1ÈÈ$RS³øá‡Ü½'rr`ùòPLLôص+š9sÎѹs5¾ü²êY…'îñöÛ!Œù7AAÍU÷_½:ŒÊ•Í3Æ]£­K¡x\¶kWGæÍk ší}ÿýÚ¼ùæ.]J¤I»BÕYO+PÆÆúŒ㎞,Zt gçò4j”ûAYOOÁàÁ.¬[w…U«šR­Zî7\óæ]ÀÉÉœM›š©ú0b„mÛîçöíU°^c›—ÄÄ Îœ‰çûï_£iÓüzmøë¯¿øøãÜo˜×®]K¯^½044dРAdee±aõÙv!ž&åŸâïïO÷îÝñóó£^½zÔ¯_Ÿ5j P(8pà¶¶¶Ï¯DÇMž<™ÀÀÜÝ0÷íۧʺiÊ_þþû6Uª¬ I“T­º‚±c2c†S§6ÑvóŠ-44ž€€ ¶m  oßݪüpñòP(`Ð õ¯tÆÔTŸÍ›£HOÏÖ¸¦ÿÇåŠÜ´SSV­Êý]y÷ÝZj7lhƒŸŸ=§NÅsüø]úòR˜º”eGª¥h[Y1c†ÞÞ6…®SWôëWSS¾ûN=%fÓ¦«4mj« Ô²³sˆ‹KãÖ­Ç«¦U®lÆ´iõ¨RÅTu¬4Æöi7F2kÖ9֬ѽ@=<<œwß}Wí˜B¡`Ú´iôîÝ6mÚ”çÞ"B}úh<°Z³¦l™®« ðdÀObc•ˆ¡¡>µkÛäùp拨resfÌðS;V”¼x¡ÛllŒÕR] wV·re3®\Iâúõ‡ª4 ¥Š5—èËÊÊáòåDôõ89iÎFÖ¬iΑ#±\¸¨–Ÿ—ÂÔÕ ªlõêš{C¼ñFåo_~J2g]ÉÒÒˆnݪ±qãUŽÃÏÏŽÌ̾ÿ>‚åËÕ'fÏöfüøã´jµ—¦Míðõµ£I;zõrR•)±}Rv6|òÉ6oŽ¢re3ÌÍu+œ‰eàÀ¤§§«V–ÈÌÌäŸþÁÍÍüQV~¢[¿Ý:ÄØØw÷’ûªQ—Ô­[WÛME`oo¦±“æË |y£嘋[¶æÄ¹š¼RBŠ·Zn±ÖN(źJ³ÎâyçW6mŠâÛoÃñó³c×®T«VNãaP//+ö'ïñï¿w9xð6óç_Àï¿VÏY¾¢C\\*VVF¬\Ù„áÃÿfôèX¿Þ}ýÒYb¹0RRR:t(÷ïßW[ŠYIOOôôtÊ—/ŸÇÕBh’`]!D©‹OãáÃLÊ•{üg'--‹[·R055(p€§¯¯ÀÝÝ‚K—‰ŠJ¦fMõ€çʕܓ==-Õ®yrá³#ñô´¢~}«×õä}¯]{Hê³Å;wÞÀÈHŸví*º}…U’9ëOrt,G›6•سçaaøöÛpÞ¿¶F¹+B0À…† mhØÐ†Q£jñ÷ßqôëw˜yó.°lYãB½O…[¥ŠMTmûðCOæÎýO?=ËÌ™õKzX %++‹±cÇšg ¹¹ëׯ_góæÍôíÛ·Œ[(^D’³.„¢Ô)häC¯[w…””Lz÷vR=<]Æå>¤úõסjËkž8qcÇâðñ±¦Q£Ç)&öö¦$$d¹é ^"..µÐu)Ë._ª–†•ÌÔ©§ÉÌÌ.RûtÉС¹m;ö8ééÙ´l©¹ñÝÊ•áüþ»úr½ÊT—¬¬Ç_¡”ÆØæÝfWºtÉMáÙ¼9ª½-y³gÏæÐ¡CùêJÙÙÙ|ùå—$$$”QËÄ‹LfÖ…B”:{{3øßÿލ–nüóÏZ´pàƒrgHcbRزå‘‘¹ëUýu(z«¸tìX•¸¸TæÏ¿ÀÕ«É4lhC\\*{öÜ¢Q#[–.m¬–BÓ­[5æÏ¿ÈäɧUéÍ›W,t]O–ŒL¦Ak’’2سç½{;XµPu*׋K%%%‹%K.Ó¨‘V”¬_ß kNŠgÖ¬úyî P‘O>9Ë1Ô¬Yž¤¤ öí»E•*fj3ñ%=¶aaøã[jãÕ¬YELpp0ÃÀ@ÁŒgˆŽ~Dݺ–´m«™ë^š”dû===’““Y¶lÓ¦M+ƒÖ‰Y™nŠ$DY{Ö¦HB”…WyS$¥'7±9sæ>§NÝ#33//k|}Ï0+ƒõ§åµä"än r‡˜˜TLLôðö¶¡~ý¼7Û9v,Ž °°0¤}ûª$¦®'ËZYѨ‘ ÎΚùÇÏ«óÉM£”´¬œ=Opð†wË÷Aö;wR9yò7o>ÂØX5Êãçg—gÎxI­2X’2Xú÷¦V­ e¬»¸83dÈ÷|÷Ýà<u}}}rrrÈÎÎFOOGGG¼¼¼ððð ^½z4nܸLÚ)´«8›"I°.^j¬ m“`½ð;t ñ"qq‰ÇÀÀŸÌÌt ÈÊÊ"''ÜÝÝ©[·.µkׯÃÃ777Ùüè¥õLGŽÉ|PU QâV­ZŶmÛ´Ý ñŠºwï®®Ï_:Oñ≎Žzcff…uêÔÁÝÝÚµkS­Z5Å[ÒH@rÖÅ+àÑ£z>ÖøøXk»BñB“uÖ…B!„ÐQ¬ !„B¡£$XB!„BGI°.„B!„Ž’LuØÑ£GÙ»w/*T`üøñZn‘B!„(K2³^ʶoßÎï¿ÿ^¬:V¬XÁW_}UB-B!„/ ™Y/E=¢G˜™™‘œ\øÍüüüðóócÇŽܽ{·Z(„B!t™ë¥ÈÌÌŒ   ÌÌÌ´Ý!„(s»/ífã©X›Y³¬ë2-·¨d­þg5FüIO¯žt©ÓEuüeï·¢lI°^Êzôè¡í&!„VøTñÁ¶œ-“›Ìµû×´ÝœuöÖYæÏ'+;‹×j¼¦vîeî·¢ìI°^JÂÂÂøñÇU¯§M›†úpÇÆÆ²gÏnܸA¹råhÒ¤ ¾¾¾Ï¬÷øñã>|˜ŒŒ |}}iÞ¼y©´_!Š«R…JTªP‰rÆåHËLÓvsJLZfíþˆ:u8{ë¬Æù—µßBíLKÙæÍ›™9s&™™™jÇ.\HõêÕYºt)wïÞåŸþ¡yóæ´hÑ‚ØØØ<ëzÿý÷™2e 7oÞ$$$„€€III)‹®!„þµk3kúùôÓvS„¯™Y/%nnn̘1ƒ3gΪvnÓ¦MŒ?ž¾}û²~ýzôôr?3>|˜f͚ѵkW>ŒB¡P]sëÖ-Ê—/Ͼ}ûTÇæÍ›Çĉ™ýôSV­ZÅܹs166.›!D¤f¦²áäNÜ8Afv&^•½Ð`–¦–jåŽ];Æo—ãVâ-Œ ŒiPµ]ëtÅÚ̺@÷é¿©?YÙY*kijÉònË ÜþvÄ„æp´t,t°~øêa–U¿×ònË5ú/„O’`½ŒeeeqîÜ9 puuÕ8ïîîÎþýû9uê”Z°nggG… ÔÊš˜˜àèèÈ¥K—¸rå µk×.õö !DQdfg2|Ûp|}éU¿‘÷"YvtÛÎmcs¿ÍT®P€5Ç×0÷Ϲ óFk×Ö$§%óé˜<Ÿ­ý·RÇ¡Îsïõžÿ{äää¨]†ú†îÂàØ›Û9ýÅÝÞOO~»ôÓß˜Ž…‰åŒÊ©.!Ä«C‚uõd  6ÿ$å¤§Ë !„.¹÷è=½zò¦Ç›´ti‰³3C· eúÞé¬î¾€M§7áSŇš º¶•k+š/oÎÃô‡ºWãjK¼ý'¢O°õÜV~ük‘ÿ»åìÎÜ:ÃÏÿû{sûn¡âe%˜–1}}}êÕ«Gff&áááç/]º€···Úñ¸¸8ISSS¹~ý:fff8;;—^£…¢˜ôõôiçÞNíX —XšZ|%˜¤´$ªZTåüíóì¼°“Œ¬ L Lø¾÷÷xØ{”y»R2R˜¸{"|DU‹ªEº~ì/c9u„}6J .„(™Yׂ‰'Ò§OfÍš¥ñ€éÁƒñóó£Y³fj×dgg³xñb&Mš¤:¶dÉ=zĸqã022*Ó>!Daؘ٠¯Ð×8îPÞ„”n=¸E-»Z,踀/ƒ¿dêSùdï'Ô¯\Ÿ&ŽMèR§ L*äQ³¦’ÎYßyq'×®³ëâ.~½ø«êø½G÷Øzv+G®`aç…T4¯¨*“š™Jßûr'éÒq7‚Ú%eQQp¬kÁÛo¿ÍíÛ·™2e aaa¼þúëܾ}›Ÿ~ú‰fÍš±eË GeïÞ½ÄÄÄP©R%Ξ=Kûöí©S§—.]b÷îݼùæ›|öÙgÚî’Bk÷væv4¨Ú€UпA^ûú5Ö_[ `½¤sÖ+šWT›-WŠIŠrSw|óÞÐÎÊÔ ÿþ,鲄Á[óîOï²áí …z¸Uñê’`½„-_¾œR®\îþÉÉÉ”/_>Ïeííí0`@¾uùùùáçç§v¬Y³f)2B¡ëôúÌ90‡¹oÎÅØÀ˜Œ¬ fïŸMfv&£_­šÐ8qã+ÿ^ÉäV“Ui3w#ÈÉÉQ­ó¢zÍé5¦´œÂ¬ý³˜±wsÚÏÑv“„/ ÖKØòåËqss£uëÖ¤¥¥qöìYš6mªíf !D™Û}i7Om$*> Ûr¶4vlL«•­°3·ãúýë¤g¥3±ÅDúx÷Q]3!`ëO¬gçÒ8Z:’”–Ä„töìÌĵ؛ÇÖ_Ãþ°ý9ë^•½˜Øb"Ç®céá¥DÅG‘™IŸ}Ðp.6.ì ݃žAgƒ ¥¥KKFùÒr„ºL‚õÖ A @Ÿ>}8rä|õÕWÚn–B”9Ÿ*>Ø–³ÀHßï*Þt«Ûˆ»degáf熩¡©Ú5}½ûÒ×»/÷ÝãfâMŒ Œ©jQU§Ö#oáÜÏŠžÇ•ùênvnŒ}}¬Ú¹êVÕ172×8®!„Èë%lݺu:tˆ“'O2zôh:t耕••¶›%„e®R…JTªPI혉I66²1³ÑÙ‡0kX× †u|ÏÛ˜Ù`ã˜wÛóËmBˆüH°^ äÁO!„BQl²)’B!„:J‚u!„B!t”ëB!„Bè( Ö…B!„ÐQ¬ !„B¡£Jd5˜uëÖqìØ±’¨JˆR°ßO¡-g¹w¯ª¶!„âU"Áúo¿ýÆo¿ýVU Q þÿÚž¢í&!„xA•H°DÏž=K¢*!J”B¡`É’%tèÐAÛM¯¨Ñ£Gcnn®íf!„xAIκB!„:J‚u!„B!tT‰¤Á!„B;~½ô+ã~€‘¾?¼¨å !J’̬ !„/°@@"&Eàçä§í¦!JëB!„Bè( Ö…B!„ÐQ¬ !„B¡£äÓRÖ»woŽ;ÆéÓ§±¶¶Övs„¢Ìì ÛÇÈŸFª^ﺗ…-䨵c$¤$РjNFŸT•iPµAý‚8u”›°ªû*Zº´`öþÙ|â{UùЉ¡è+ôómC­yµÈÊÎ*P{mËÙò÷{»OÇÇÇÊÔŠøGñ,;²Œ¸“t‡òÆåiT­ïù¿‡‡½‡ªŽ¬œ,þ¸ü[În!4.”¤´$ª[U§§WO4€žB}^íʽ+|yèKþ¾þ7YÙYxVôdBÀ„õQñâ‘`½˜Ù½{7hgvv6999äääh¡uB¡=mÜÚ1)‚ÛG°?|?Óþ˜ÆØ×Ç2ïÍy„Ý £ç†ž¬xk¿]þé{¦óUǯèäÙIuý/~Qý« Ö§µž†¯£/Nm`}ïõÏmCèG¡eÞ'€ØäXzlèAZf_tø‚ÆŽ¹™x“é{¦Ó}}w~xû¼«x|%˜±¿ŒeBó ,鲄ìœlv]ÜÅìý³‰IŠaR‹Iªû_»z`j`ʲ.Ëð©êÄ|~ðs®ß¿^¢}BèIƒ)e[¶láúõëØØØh»)B¡UÛÇ×ÑSCS¼*yúQ(V¦V¼éþ&†ú†ì¸°CU653•ýáû©nUáx˜þPuîçÿ~¦k®Ú肆üú4?x>7o2¥åœ034ÃÕÖ•Å“““ÃÌ}3ÕêñuôeDÓX˜X`ejÅ€èX»#ßÿžä´dU¹ùÁóyú€Û|Œ Ì Í¨eW‹yoÎ#69¶¬»/„(¬ !„(^•¼ò …‚mÛ¶¸EÛ'dz_¿~ØÙÙallLݺuY»vmû-„Ð ¦†¦ùžëZ§+YÙY캴 €ÿí k®t¬Ý}=}v^Ü änÔÂ¥f†fºg­yµpùÂ¥@?M–6)‘>¥g¥“”–DvN6õÖ׸υ;ˆŠ )-‰E-¢ÃwðYä£*÷ÅŸ_’‘¢ª÷aúCŒ Œóì¿M9ùWˆ—Q©ëYYYtêÔ‰I“&1tèPnÞ¼ÉåË—ñöö¦{÷î,Z´È Êñðð |ùòìÝ»È âÇŒÃÈ‘#ÉÉÉ¡K—.…ªWY¶K—.|øá‡üïÿ#**ŠÈÈH&NœÈܹs1bþþþäääðæ›oªµßÄÄ„œœ>øàµã 6T+Ÿ‘‘¡ÊM÷÷÷ÇÒÒ’œœ.\˜ç˜téÒ… &0pà@®]»Fxx8;vdøðá 8@£ŽY³fQ¿~}BCC9qâ=¢k׮ܹsç¹ïCZZ­ZµbõêÕLŸ>Û·osðàAnÞ¼ÉòåË8vì÷ÿüóçö[ñbháÜKSK~>ÿ3ñâ9së mÜÚ`[Î'Ž];Flr,?ÿ©P)0¡…1)¢@?Ï{¸´ Œô¨`R}…>¡ó¿“깆mƲ#ËèåÕ‹ýÃö>1œˆILm5€rTõ–3*GZf2iÜWù€«âåRêÁú† øý÷ßúzúø:ú—ÇêVs?å>©™©ü}ío~<ý£f½°4µdÖ¾Y¾z˜Gˆ¸Áøã œ$„x±”úÒʙώ;æ[&<<\íuÛ¶m?~<_~ù%ƒ ÂÎήXõ*ËÚÛÛ®ñ¥äYí©X±"111ç,,,Ô^¹ËC>ò[†¼ÆÒÊÊê™×–+W.ÏãEíGaYZZjSÞ36VV?¢ ŒsHJ*Û ÷Ì­3t_ß]õÚs¾'“"ò,ï]Å'+'Ò³Òi\íñ$‰ íjµcûùíZ_¦ }²1³á§?±üèrfìÁí·©`RÚk³â­¼æôšªì’.Kø*ä+ÖŸ\Ï‚àXšZÒ¼fs:yvbű Ü<:uØñ¿8Z:²µÿVæšÇè£ÉÌÊÄÍÎ÷^{µ'Ör4ê(._¸Ð£^>ï ©‚¥-55÷[YžY”žRÖøóÏ? (Ð5111üôÓO´oßžµk×âççÇ!CŠ\¯2p,H`§§—ûÇ,==]mÝô„„¼s•_WƳڣ €•ý+)Ê ]´?©¨oaûQرUº{÷....y¶YW>€ ¡ë,-³¹vÍðùKPýÊõó Ìó³xÞÍÏ}s.sßœ[Í*–ÂôÉÒÔ’)­¦0¥Õ³Ó-­L­˜ÕvVžç&4×Ü쨆u ¾éöÆñuåXÄIDAT.- Ô.Qrr7ä²´,ØÆ[BE©O³tëÖ €àà`sÿüózzz\¾|Yu,--nݺ1}útvìØŸŸï¾û.GŽ)r½]»æÎÄüöÛoeßÿ}¼½½U¯+Uª@tt´Z¹ÿý7Ïþ™™å~혞žÀðáÃéÓ§Ože•”íQ®$ó$å1e™’¢LzzUšœœœå¼ç¥°ý(ìØ*…„¨çf¦§§sèÐ!ŒiÙ²e>W !žäìœNx¸²?›%',,÷îš5ÓµÜñ2+õ`½oß¾tîÜ™yóæ±råJîܹÃÇÙ»w/½zõâÝwßÅÝÝ]U~ĈøùùÑ¿ŒŒŒøé§Ÿ¨X±"ݺuãÆEª·_¿~òÝwß±dÉbccIHH`åÊ•¬X±‚9sæ¨ê}ã7€ÜÕiââ∋‹còäÉdeåý©ÙÇÇ€ƒrûömöîÝKóæÍŸ9&Êö¬Y³†E‹ÇíÛ·™5k?ÿü3ýû÷fzOQ <˜F±zõjV®\Éýû÷‰ŽŽfìØ±¤¦¦©ÎÂö£°c«ôóÏ?³e˹zõ*äÖ­[̘1C5»/„x¶úõSINÖãüycm7Eˆ—Ʊc¦Ô¨‘¥åóÓQ…(*ENNñæY AAAôìÙ3ß2YYY|ýõ׬]»–Ë—/cdd„««+C‡eذaªu»{ô衺féÒ¥Œ=š:uêpáÂÕñV­Z©Ö/H½O¶aéÒ¥|ÿý÷„††bjjŠ——S§N¥uëÖjí;w.«W¯&::š5j0uêTΜ9 ðõõåï¿s—øJNNfĈüþûï( Þzë-–-[ÆÃ‡5rÁ«T©¢šU~º= …OOO†ÊСCUm711!-íñН½ö‡& @í[…råÊ‘œœÌ³ƒ~f!÷÷sÉ’%ª^…(k£GÆÜÜœ­[·–xÝW®\)pÙœhÞ¼:;&óá‡÷J¼-B¼j²³¡ukGÚ´yÈäÉòß”x6ggç"_[&ÁºÐm#FŒ`åÊ•DFFR£†î쀧 ÖÃÃÃ5rÖ J‚u¡mº¬,YbÍÆ8t覦’#Dq:dÆ!•øý÷¸ºJŒx¶â뺿þ•(1îîîœ<©¾æovv6þù'NNN:¨ !J^ß¾‰¤§+X¹òÙ+@ !ž-+KÁ¼y6´lùPuQê$XÅŒ5гgÏ’ššJDDï¼ó|õÕWÚnš¢”ÙØdñÞ{÷Y½Ú’èè²]Fˆ—ÉÆ¸zÕPÒ_D™`ý²cÇ|||xûí·±¶¶¦Aƒܼy“}ûö•øê3ÅqâÄ  …j×ZWWW‘„E3`@"U«f2y²™™…_zVˆWÝ•+†,ZdÍ;ï$R£F†¶›#^¥¾ÎºÐîîî|óæÚ¼º¦aÆóQ !D> rX¶,†=ªðñÇv|þ¹l,&DA%$è1|x%ªWÏàÝwãµÝñŠ™u!„xŸº¦óÕW±lß^ž¯¿–üu! "9Y#*‘™©àÛooËCÚ¢ÌH°.„¯ –-2}zK–X3uª¤Äñ,ÑÑôìY…ë× Y½ú666²c©(;¬ !Ä+ªoß|óM »v™3hP%¢£%3Rˆ§:dÆ[oUE_?‡íÛ£eõQæ$XBˆWXË– ºIl¬íÚ9²h‘5))2Ë.DT”!ÆUbÈJøù¥t‹J•2µÝ,ñ ’i!„xÅyx¤³{÷ Ö¯·`éR+~ü±Ý»'Ñ®]2u릡Ø]¼"RR=jÆÏ?›³9œ3ظñ¾¾)Únšx…I°.„ƒN sç$6n¬À¶mXµÊsól\]Ó±²ÊÂØX¨/§äd=bb ¸zÕìl>>©ÌK`àCôõå÷^h—"§˜kä)dÊE!ž©{÷îlݺµÄë½råJ‰×ù¤K—Œ8sÆ„ˆ#õHK“ÿß‹—“¹y66™xx¤ã뛂­­<@*J–³³s‘¯-öÌzPPPq«¢Ô;v 777lll´Ýñ «V­š¶›P$éxxÈÃtB¡MÅžYB¡¥=³.„¢dgf]VƒB!„BGI°.„B!„Ž’`]!„B%ÁºB!„:J‚u!„B!t”ëB!„Bè( Ö…B!„ÐQ¬ !„B¡£Š½ƒ©Bí¨X±¢¶› „¢”ɦB!„Bè(IƒB!„BGI°.„B!„Ž’`]!„B%ÁºB!„:J‚u!„B!t”ëB!„Bè( Ö…B!„ÐQ¬ !„B¡£$XB!„BGI°.„B!„Ž’`]!„B%ÁºB!„:J‚u!„B!t”°UÛB!„Bhú?â”’‘¤ŠaIEND®B`‚fio-3.39/examples/netio_vsock_sender.fio000066400000000000000000000004521476262051600204370ustar00rootroot00000000000000# Example network vsock job, just defines a sender [global] ioengine=net port=8888 protocol=vsock bs=4k size=100g #set the below option to enable end-to-end data integrity tests #verify=md5 [sender] # set the 'hostname' option to the CID of the listening domain hostname=3 startdelay=1 rw=write fio-3.39/examples/netio_vsock_sender.png000066400000000000000000001053231476262051600204510ustar00rootroot00000000000000‰PNG  IHDRë5ÑG9¨bKGDÿÿÿ ½§“ IDATxœìÝgXWà³,,ìÒYzAŠ l4%¢5+*‚’Ä ŠbÃÞcW4±,  ˆ]Œ‚¤÷*ue¿cÆuEXêRÎûäÇì;÷ž™¸‡™;w(B!„º!A€B!Ôl˜Á „B¨ëÁ !„B]f0!„êz0ƒA!„P׃ B!„ºÌ`B!Ôõ`ƒB¡®3„Bu=‚!ÔUíØ±#$$„üxõêUiiiÆÓ'Ožzôèððp…P—‡ BínðàÁ©©©fff‚Ž @vv6¹¬¤¤D.Óh´aÆ ""„ºÌ`PÅ3 õøñãÁÁÁOž}@IIéÎ;GîëëK´&,,Z[[ËápÒÓÓׯ_/!!qëÖ­ääd]]]——?pà@XXØÑ£G $$$RRRø ..N[[¨TªÏ?ÿüsâÄ }}}))©ŒŒ ‡óìÙ3ž]«®®^¾|¹¤¤äñãÇïܹ“••ÕȾ7g“¿Y_ehh(N&“yâĉ³gÏ’Û¾xñ‚ÏNãââ¸;uvvþõ×_¯^½:hÐ qqqî}|ýú5wÍ+W®§9|xìØ±dåŸõ@˜Á ž‹û×÷Â… Dá´iÓˆ’¥K—%UUUšššDá©S§ˆBòÏú›7o%gΜ!J˜Lf#?ó,K__Ÿ(ÙµkQíöíÛD‰¤¤$‘|OUU•¼¼¿ÊOŸ>ÉÊÊ…{öì! ƒ‚‚x2˜t:wî\¢0::š'ƒið(q8œ_~ù…(!3˜Vžõ48¨! bAQQ‘XHNN&nݺE}šHzN:E”¸¸¸pÏ{ö=ÖÖÖ$–=êååE®ÊÍÍ=vìq…$%%ÉG¸MLLø  wïÞd›»ví*,,€šš__ßÔÔÔþýû’°°ðùó牧{._¾¼bÅŠÆw¡É8ù<ø|2554i±|æÌ"Á:vìOµVvJÞ«"Gñ©MÎ „z$FH@¶oßÎ=„sðàÁ>ôðð ¨ÊÊÊ><;;›ÃáÔÕÕs‘IKK0@]]}àÀ<ànsÞ¼yÄE ]]]&“éîîÞ`G'Nœ êŸ>}šÈ{455‰_}UUÕÍ›7OGóƒüí———¯ªª"ËÓÓÓ—-[¦¡¡¡¥¥5hÐ "rîÆ›  ¾¾~ÿþý::: !!Ñ¿%%¥‘#G&%%5¸kwïÞ½té™Ì€M\\Ü÷âç'Î&~³¾ÊŠŠŠùóç @¯^½ çÌ™Cnkii¹}ûö–u:uêTbUxx¸ˆˆ…B9~üxsÃk“³¡‚Âiê2/BÝRBBÏhS“´´´ÒÒRîÂ’ÏËp8œ¤¤¤¼¼<ƒ¡¦¦Öàõ•üüü¤¤$6›­££CüÛ‘¶¶69ð²³³‰¹Ë”••‰\uuuÄÝ##£o+äå奤¤ÔÕÕ)**êèè4øN~HOOÏÌÌÑÔÔ$wüÛ]322ª©©ùðáw¡¹¹y“ï¬n2ÎF~ ¾Ê²²2âií>}ú0Œ‡’ÕTUUÉGš›Õ©˜˜yI,==Åb/µ ’’’B¨ ÓÕÕå¿2^ƒA!„P׃ B!„ºÌ`B!Ôõ`ƒB¡®3„Bu=˜Á „B¨ëÁ !„B]f0!„êz0ƒA!„P׃sò"„:£’¡hŸ>Qkj(‚Žuvââõòòl=½#èXPÇÁ !Ô‰|ø@;^òÎñE êb¨TŽ¥eõ˜1“&•IK× :Ôî(f¬¡¶Ñš÷"¥¦Š0#"ĵ´jÇŽ­8°ªOŸYY6þUšTQ!”“C}óFôÞ=Æ­[âõõ”ùóKæÏ/¦Óñäébšõ^$Ì`Bm¦e ‹EÙ»WîøqimíÚß/6¬’‚7ŽPKUT;'µ¿¬”TýêÕcÆT:"Ô ˜Á „£La!ÕÝ]9)‰öë¯EnnŸ¨Tü µ‚j` óâEÉ… ‹—-+œ¸«hVƒã`Bóámþ|*•sþ|†®n­ ÃA݇¼<{óæ¼ªV­RHI¡抉arÜÝàÓÔ!ÁÈΞ5KUY¹îâÅLL_P{pq);}:ëñcúòåJõ8´·ÛÁ !$UU”%K”%%Ùþ™-#Ãt8¨Û²²ª>t(;2’±s§œ cAm 3„¬\©˜™)|ìX¶”þiŒÚWÿþÕ6ä:$&.èXP[ !ÔÑž<¡ÿóÄ–-yêêu‚Žõ..e?üP¶q£|UŽéí>0ƒAu(6üýåGެ°µ­t,¨ññ),+:rDVР6ƒ B¨C…†J&&Ь\Y(è@º=.îîî‚§Óa2Ù‹9"SZŠ?|Ý~‘¡u]…¶6>|ÔÆüñGAGÑ©¹¹}â\¹")è@PÛhö|0®®®íBHà äííÝ®]äçS_¼;t(§]{A¨Aââõvvaaâ³f• :Ôš} æÂ… í BH€?~üèÑ£öîåɺgÐ ƒcèÐÊÿÞw-™“÷×_2eJ›‡‚ Ž¹¼úþ=MG§ß·‡Åظ¦®Ž’”$bhX#èXPká[B'?_XE¥{>A][[{ìØ±°°°”””ÊÊJ%%%[[['''9¹Ïs©ÕÔÔœ9sæúõëIIIÕÕÕL&ÓÚÚÚÝÝ]__òóó D6èêê*//íÚµììliii++«•+Wª¨¨òòòvíÚUXX(##3jÔ¨ªªªok¼ÓW¯^Mš4‰¬hÁ¨€Š üíëð[Duºë[‚###‰…Q£FIHHˆ‹‹3æ§Ÿ~"+ìß¿ÿõë×```0|øpiié3f‹ÅZ±bE]ï¥)KKK{{{ƒA^#yõêUNÎçAÐûöíËÍÍMMM777 GGGSSSžFšÛi^^ÞÖ­[•””úöí;|øð68. qúqð6f·€w‘B¨ hjjæç瀋‹‹‘‘‘¥¥å²eËÈ áááÄ‚¢¢"± ¤¤D,dggÇÄÄ 8»A---bA\üË\ø¹¹¹ÊÊÊpïÞ=²_r­¶¶vll,w#ÍíÔÚÚšÁ`Ëûöíã{ïÌ`º’[·nmܸ‘§ÐÄÄdïÞ½‰§õNž}J£Ñ˜Lfee% <øôéÓ­ìNNNŽhÅb‘…D ·æv*""ÒÊÀê08¦+QRR²µµUUU%>R([[[sssÁFÕÚÚÚƒtµ‘#G†††êëëϘ1cÛ¶m.\ ÊËËËóòò`ôèÑDIbb"›Í&7ܳg©©iYYY³º6l±ššJ¦¤¤ðTkÛNêT0ƒA¡¶UYYY^^Eª©©À’%Kz÷î yyy›7oÎÏϯ¨¨øçŸŽ9âíí-)Ù¼©î=<<ˆ-ééégÏž­¨¨ ‹‹ã©Ö¶"Ô©P8Í“M¡P‚ƒƒqF;rww?|ø0P©Ôo%èrrrrÈ).^¼xaff&Øxz,bF;bôF‹%%%5^aéR%Ø»7·5½tN¡¡¡wïÞMMM-**ÓÔÔ:tè‚ dddˆ:UUU'Ož KNN®­­•““344tss9r$|3 ûøøÌš5‹»ÐÅÅeëÖ­ðß|0wïÞ-,,”••%æƒ !k>zôHAA¡¹À–-[È{»Ýžžîž=¹&à=ëÎHWW—ÿÊ8¦Û*//ÿ믿¢££sssi4š››Ï-§äää#GŽÄÅÅÕ××OŸ>ÝËË‹\ëääD¼%§ñ¦vìØÁýæñãǃƒƒŸ?Méëë[ZZ’®\¹rúôé?ýô“ƒƒ°X,âž?"„B| ¦ºuëVZZ±LÎA.}:Y"//okkK,×××;;;;vèСÜóÈeffZYY < ’³f5ÒÿáñÙ)B!Ô$Ó­$&&¾~ýÚÐÐpîܹDÉîÝ»?}úõõõ7nŒŒŒ$&055%_x{æÌbZ cÇŽñ4ÈOSüã³S„B¨I˜Át%·nݲµµ%'_a³Ù¶_#'2?|øp@@€’’ÒÇ555­­­µ´´®_¿~ëÖ-òNPPPÐüùó………/]º¤««K}JKKµµµ‰ò¤¤$²Z#M%$$deeq·ibb’––VZZÊ]8pà@11±o;e0>$«©ªªêëë7u$PÛÃ9yQsòvf8'o·¥¤¤D¼ …O EOO|ø™ÇÁƒËËË}|| @”Ï©ªª’©L“Méëë›s0™ÌF“””$;rx B!Ä'¼‹Ôs%%%mÚ´éõë×ÄÇâââÍ›7€ÐîÝ»…„ðÜ@!Ôyá5˜žkÆŒùùùC† ÑÔÔIHH¨¨¨°±±Y¿~}s‡è"„B 3˜žËÌÌìÔ©Sl6;===++KLLLOOœh¡.çêÕtEE±Aƒï%p96„º(Ì`z:*•ª­­Í3ê¡.'/¯zÙ²EE±‡Ç :^9¶vrð`‚¼<ÍÕU[Рî 3„Pw ¨(Ø_QQLÐ4 3ÇÖNxß·¯ f0¨]aƒê&&NÔtßÕ™cC¨‹Â !Ôå%%•]»öùõK–ô¡R)äªÂBVtt^vvN57—ë×O–gÛ¼¼êèèܼ<–¤¤°¥%ÓÐPºÁ6““ËîßÏ£R)ffr¦¦¼¼{WúøqAm-[__jèP¥ôôôJ02’ÑÖ牭Y-/¼ïÙ»÷}ã“|1Ôyóz7¸ªMû÷ߢû÷ójkë³²*÷ìy ,]jÐxص>1‹ê&BC3öìyWWWO–œ8‘4lXØéÓIEEÕ±±E?þxoúôèÂBYáÈ‘LJ;÷±¤„õøq¾³ó/¯g55õ…‡g©©ñuˆJ¥èêJ&&–¥¥Up_ìIK«h}ü- ¯½Ÿúá30*•ÂùïZÐÙ³ÉFF²ff¼O3!ÔJ8!Ô=-X û÷Ç“WDbb =Ê·°³²’€E‹úÀÁƒñä&,{íÚ—Äí'>{™9Sþ@–\½šžŸÏ×-¤ÆµIxíŸÀé%%µÀfsvî|×&!ø,B¨Ë#&2IN.€ýûãŒdÆŽUutTÏϯ |óñcyÿþÌüüê°°,++ù½{7@&LPËÏ7ݺõÍóç…L6›™£¢"`99UÿJ¶9h A {ö¼‰)€sç>ZY1œ4ÜÜt>|( JNN.33“Í̬ª­e[YÉ¿|Yô½Øúõ“å§åÆÃk|î2?¹¸h¾]±âE~~µ¬,møp¥vŠõd˜Á „º Þ‘Èsæè9;kÜ»—›“S­¢BŸ5Kç^ƬYºŽŽê÷îåegWII‰8:ª››Ë5Þ¦¢"ù‘B?¿~S§j?~\PWW?t¨’âäÉQbbÔÆÛi²e~Âkm˜»{Ÿ~ýäÞ¼)±°?^FÃëý¨í}¹UÉï ŽƒépL·GŒƒ9þ|kIJJj¼ÂÒ¥J°wonkzéT*+Ùÿ2{¶.YÂfs¼®©)~ñ¢­àâBߥ§§»gOî„ å‚5@WW·éJÿÁ¼!„Z®¢¢vãÆ¸7oJÈ’¿ÿN).®™:µ—£B¨'À»H!Ôrââ"––ÌéÓ£ÇW—‘IHø7{¶î”)Z‚ ¡n¯Át„ÀÀ@ …B¡PºÓŒa¨ÙB ð4èF êÿþ7,8x¸•SZš6j”JxøèÕ«MBÝf0-Q[[kjj:dÈ>ë/_¾œÃáôëׯ]£B­¶LMïÓ–/ð4èŽúô‘rqÑtw×wsëÅ3 0B¨`ÓBõõõõõø¯¾ð4@!AÀq0-!""òúõkAGMDð4@!Ák0!„êzºdsåÊÊRRR¦N*##Ãd2Èé(6lØ@T G«Ü¼y“(‘——ÿ¶ÔÔÔ©S§JJJ2™Ì™3g§¤¤8::JJJª¨¨ÌŸ?¿¬¬ŒØ*44”ܪºúËTÙ………ÞÞÞººº4MVVvüøñwîÜù6ø÷ïßÛÛÛKKK3ŒFÜF) IDAT#Fƒ‘––&—i4´ì!g)))rYHHˆJ¥2 ²„J¥6Ò,‹Å*--“””ä.WRR€œœ²„ÉdR(î:ŠŠŠ——û÷ï?}útrrò¨Q£¤¤¤ÆG$F=‹¿?X[ÃÇàê B|ŸŸ\§ÐhЇœ¹N*¸N Rk–Å‚ÒRƒ¯OPRà: €É„¯OPTÈËØ¿NŸ†äd5 ¤¤`Ü8è§A3Åĺ¹EÿÕÖâóííŽÅb߸‘¹jÕ‹Ù³,]útÇŽ·‚ õ8]>ƒiœPMM wIIƒcB[GTTTZZºººšíK î)++“%¥¥¥<Û¹ ‘ÇP(”™3gÞ¾}»¤¤äÊ•+ÇÅÅeÇŽmp§v÷.”–‚‰ ,^ ±±mÓ¦|}4<4¸•DEAZª«áëÓàóý#®Ó¾9 >ç.DC¡ÀÌ™pû6””À•+Àဋ ô´Ó ™tu%ùÅÍæ<}ZP_ß¼·Õ¢æÊ̬0àz@À+}}©9sô† S Ï5êVHHº CC=K7Ï`TTT233É999iiiíÑѤI“àÚµkd ‹ÅŠˆˆ ÓécÇŽ% ËËËc¹~•_½z•••Õ¯_?‘‘yÿþ=ˆˆˆØÙÙJq·Ùý}üsçÂÅ‹t:8;C~~4«¢\§ää@ûœ0i÷WÆbADÐéÀu@yùWÉÙ«W•ýúŠ €Œ ¼ "vvŸ•êQ§AóÉÊÒ¬­åeeiíÝÑœ9×­k£ÄºËª®fWTÔ8a3k–î°aJ®®ÚAACi4ª¿¦¨#uó f̘1YYYûöí+//OJJúå—_ˆ«mnÓ¦M½zõòòò -++KHHpssËÎÎÞ½{7q/‰ ..îááñäÉ“ŠŠŠ˜˜˜3fÐh´Ý»w“ÜÝÝãââX,V^^ÞÖ­[9ÎÈ‘#Û#àΨ¼&N„]» o_ÐÖ†  + &O†ÚÚÖ¶§lÚ½z—„†BY$$€›dgÃîÝÀu€¸8xxÀ“'PQ110cÐhÀu€»;ÄÅ‹yy°u+p8ÐsNƒÎíÙ³‚·o¿¹„ÖèªÒƒƒ‡éé}¹[*//ª­-^\\óéS«ÿoEˆo]2ƒyüø1…B¹zõ*ÐéôÕ«W…BÙ²e ˜››;8857lØ0oÞ¼€€EEÅÙ³gûøø(++R(”?þøãÛvbbb(JXX›Í¦P(›7o¾ÿ>…B‰ŠŠª¨¨ P(~~~ †¤¬¬üìÙ³üÑÓÓ“Éd0 ¢¢âöíÛóçχÿÞì+##³cÇŽ+V(++6LVV622røðáD#QQQÓ¦M“““344¼yóæ‘#GV®\Ùî´3ððIIˆ‹ggxý ÀÖjkáÞ= Ñ`Æ6yü(¸z€N‡Õ«(زÀÜþ; `Ø7@QfÏPV†ÂB Pà?h'&( 6(ؼîß ¢¢ ¢(øÎiÊÊðìüø#xz“ @Eܾ óçü÷fÇØX‘;`Å PV†aÃ@V"#á¿Ó¢¢ÀÀ¦M9904„›7áÈè!§ê ètaKK&wI}=''§JAALF¦Ý/ƒ!D¢p8Í»èG¡P‚ƒƒ§L™ÒNuŽŽŽ×¯_g±XÂÂ=âÍ  ÅËËkç΂¤“qt„ë×Å‚®¸ººÀùóç[Ó9¥ä÷,]ª{÷æ6^­eÜÝß¾ýê•Ó¥K©ÑÑyT*ÅÜ\î§Ÿti´/ªq8™sûvvvv%N53“›2E›ûöÓ£GùׯgfeUŠŠR--™“&iÈɉÀµkgÏ~Œ‰)d0¨}ûÊ•J9sfHLLáŽo‰m|ñâw»ÎÉ©ºt)->þÓ§O5ÚÚ“'k}žèˆ»‘'_¸•'"B±µUž|8þèÑGê×OŽOܲåõ‚½GÖ-/¯ úøæüùáÆÆ2Lyy±9sªª2~ùÅàóódÄ â;Þ>^¸fÍç®_¼(Ú²å5w×Ïž̘qèP¥)S´êë!44ÃÅåî¶m–NN<¬]«¯/õãÚ·ne­XñojjEZZ¹¹¹Ü´iZׯg.[SVV;c†Ñlmmý’%O£¢ræÌÑ7N5+«jÿþøÓ§“þúk˜¢¢Ø÷ÑÒ¥ÿé*"Â×åù+WÒÿšZal,sõê}}©¦·A¨í࿼ͳmÛ¶-[¶DFF¾|ùrÓ¦M‚ ȶm°e DFÂË—€§A'ca!÷ã½`Äå7oJBC36m² Ó©pà@üíÛÙË—¹»ž$pôh•#Â/~1FLŒú×_-,˜Ë–kGR><¬¢¢TTè**t!!”±¶–'»ãDÌÝõË—EÜ]—•ÕjkK>nÂuaa O#S§jÀðáJÑÑy‡ÅïÜiåè¨Ç+ß»—œBf0ÄGFfÿúkß%Kúü·ûLgçH?¿ØF.¢  ÿ½UÍbeÅ”—MK«8{6yî܇›6Y Ò>#ÌjH—#(ÇŽ{óæŠŠÊ²eË–/_.èˆ ;oÞ€Š ,[€§A'3|ø—AÓÚÚâ™YI|<>&OÖ"+ÈË‹®˜›[}ï^.¨«3^½* I'&•£žKÁ³G4š›Íñô4à™ìtu%Ü Ún 7&“Üׇjo˜Á „z ¬­åïßÏ‹-²²ú2äÕ« T€ùó˜+(ˆYZ2--™3gêÚØÜ8q"‘Ì`h4*›ýù²Êo¿==Ze̘¦Ÿ¾a³9ýõQNNtÿþ/6Þ¼iíÄÐÄEGç))Ñ{õ’ Ë#"r‚ƒSl¯q0gÏ&WW×Ï«Ç]øúu hjŠg#„ÚŽƒAõË–õ¥nÚôº¨ˆE”=úáÝ»ÒiÓzW,bb N ï°$&–q8Ÿo3´µ%²³«ØlNIIÍõë™|NB¥RÔÕ¥¥5±±ÅDIyy]XX‹^>úµåËÄĨëÖÅ’w£’’Êüü^Hq¹i[iiûö½ö¬,‰ŠÊ=q"IF†6mZ¯vê´mEE%Þ肺4œñçƒéöºô|0‰‰ek×¾LHøTRRce%ïâ¢éêªåæž^‘]el,3dˆÒòå}àß‹|}_~üX®«+™Ÿ_]QQ7wnï%Kú¿÷gÏ~<}:©¸¸FS“QVV—ž^1~¼š¯o?r(Ldd¶—×3EEzee••üîÝV|výêUñòåÏ““Ëôô¤ a‹Ý«—Ä™Òff²³gëñ4bi)·zõËøøO¥¥5ÈO›¦Ý§ôºu±ïÞ•VTÔõïÏüáÍ~Ð€ØØâµk_&'—kk‹××srrªúIÇÓÓð›ÛJmæíÛÒcÇ>„‡gÉɉ*(ˆæç³²³«llV¯6mäÖUç¡§'%-mZ]]MB¼¼üÉ“'çÌ™óÇìÞ½»5“ ¢Ž#yB!!!¡åË—kjj®Y³¦°°pݺu8ô³3à !„úbÊ”)rrrK—.¥P(~~~˜ÄtZx !„úÊèÑ£÷ìÙ(èXÐwaƒBñ²³³Û¼yóŸþÙÊiQûÁ»H!„P&Nœ˜ššºfÍ]]] A‡ƒxá5˜ÏêêêæÏŸ¿iÓ&AÒ°N^—“^”>éÀ¤kq×HÃ:yxõžžžÃ† ûõ×_?}ú$èX/Ì`>+..>uêÔñãÇŒ?~éÒ¥<…'¼îáß´¯¼¸rååÁ†Ÿo»ÍöØýc<å$<„…BÙ²eKmmíêÕ« â…w‘>SPPxÿþ½„„„ èèè²²2žÂÎ^÷àlæübí‹>Ê}FYuYTBÔÞCxÊ;IxH€ØlÎ¥Kiýõ1-­¢¾ž£¡!>y²Ö´iÚÜï¡ìÈ:=™¬¬ì–-[~þùçI“&1BÐá /ðýBGG§3¿f½“‡×å˜i˜ÑE:ïÛh;yx¨½ýöÛó+þ|øÎ;µµµÆÆÆžžž;wî|þü9ØÛÛûøø‡Ã¹|ùrHHHVV–´´ôСCçÌ™C\u¸ÿ>yïÆ'Ož £R©ƒ Zºt©¨è—·ÈòÙȵk×N:QTTÄáp|||¶mÛF¬ §ÑhdkÿüóÏÕ«W322 ÜÜÜttt¾·›dýôôtqqñÎ;W^^‚ƒƒ< GŽÙ»wïÓ§OÙl¶µµõÒ¥KåääÈ:UUU¯^½²µµ*•Áyƒá}ÛÿG¬=d–dîØ›+*,:´÷ÐÅ#;ìq`׳`•ý*»¾vPÁª8ùðäÝø»¥U¥*Ò*¦?Xþ D€}‘û.<¿}Uûnœ´q{øöSÿ•—s2sšÒÿ«×YðÙÈ:§u{"ö¼HQ^]ÞK¾—¥–%¹êÀôdkUµU§ž¾§¤²D]VÝBËÂm€› Cæ{»IÖ/ª(RT°ëkç6À&L€—Vp÷@Bn]„>ÞdüÏ6? uÂß„À™GgZ–Û§l玼Áð¾íŽÿ#†ZÃÄ$¤o_™ààaíÝQzzåÕ«é}ûJ/_nD”,X ÿða~ddv\\±©©l×A°jÕ*;;»S§N¹»» :ôYG\ƒ)++³±±ñññ166^¼x±––Ö„ BCC>|èçççää555NNNS§NUTTôôô´µµÝ´i“¹¹yVVøùùÕÕÕEEE¹»»—””ÌŸ?ßÐÐð·ß~›={6ÙÿL™2%//oîÜ¹ãÆ‹ŠŠÒÕÕ%WÕ××­ÕÖÖNš4ÉÅÅEVVÖÃÃÃÑÑ1::ZOOïÌ™3 î&OýñãÇÿù矆††OŸ>€ÁƒûùùeddDFFŽ3FXXØÝÝ}äÈ‘;vì077OKK#ëÐh4MMM?????¿µk×òDþ½ðxºã󈵇¸Œ8S?ÓNL0™0oè¼’Ê’q»ÆÝ¿[YSéçägªn iEifëÍ|C|‡ôâ9ÊSCNcƱ÷O$²œqÆãüœübRcî%Ü›~dºŽ¼Î"ÛE¬:ÖÔÃSG&;ⳑð7á÷OT•Qõá¡!§ñ,å¹êßÔÉÖÒ‹ÒÍ×›¯¼¼r@¯¿ŒþÅZÇzOÄÕåªò>4¸›Üõ=Gy©yœó¸i`ay!¸Y»-»<*!êüóóSÿœj¬f¼Èv‘†œÆÂ3 'ìžPË®%ê,¶†éósòósòûiÐOÜ‘/¼o»ã󈡮";»ôô¤¸ ut$ +«²ãë PTTœ5kÖÑ£GËËË ú¬#®Áøúú¾xñ"00pÙ²eDɰaÃÌÌÌDDDˆ+ °qãÆÐÐPòÊÁàÁƒ---=<<.]º$//okkK\]|ÐÐÐÐÐÐHJJ:~ü¸³³3± †††‹/ %êP©TiiiòÈwä|vÇçk³OÌ.ª(ŠYc©e ¦î¸—pON\ζÏçšylfb^bôïÑCô†u$¼þçµÿÎ~ÏQžzŠzzŠzÂBÂo³ßžw?o¨b£û޾ùúæÑûG_جF>| ñé«Ú†ôò.û¹Š;ì™ÇfÆçÄ?^ùغ—5Qbob¯ý‡v«¢ÁÝ$ê?üãá ÝADï&j&NûœæŸžiñ%5 Y øû!1 QEZœú9Ñ„ia»oï^>v¹‰š «–ZL-òÈ@#á}¯;>ê*tt$……)II_‡KN.£P O鎯ƒsçÎ :uêÔ’%K è˜k0ÿûßÿà§Ÿ~"KLLLúôùj”â‰'`Μ9d‰¹¹¹¾¾þÕ«WKJJ¸kŽ?ž\600€ÔÔÔæ6âàà@.2DDDäÛ°‰¸¯XP©Ô .Lž<¹ÁÝ$ês÷®¤¤4a„ÌÌÌ›7o’…"""ŽŽŽäG{{{99¹7n”––6Øì÷ðÙ4zÄÚ\Bn‹´}Uûé a²åWG,9?ù^½ފ½‰Ìƒ0µÿT8õðwMm¦6ñc tºS+µ0µ¹è(èé HˆJXi[}vr~rTB”¡Š!™¾€ªŒêƒ?è)ê}¯¾²‘Oû9ÊKÈ_}y•¸.B¤;ˆH_3΀¿žþõm›à¿»FŽX÷vôè=½Ëzz—mlnÄÅÏœyßÔ4ÄØ8dúôèçÏ¿ú“£¤¤fãÆ¸# ®XX„Ιóðñã|bÕ­[ÙD#zz—““Ë–.}Ú¿ÿ5âã¶moôô.WU±Ÿ?/$JúôiìI±>}®M5øßÀ×Ù\^^tÅ “÷ïKß±JJjþü3áÁƒ¼¥K {õ’èø:ˆ --íæævöìÙºº:AÇ‚:àLMMMvv¶¨¨¨‚‚w¹ŠŠJrr2±\[[›žž.$$äææÆ]'77·¾¾þÍ›7666d!÷hVb€KMMMsa2™‡M´&**Ê3x¶wïÞ×WRRâ.×ÔÔ€¤¤$²DAAAHè«ÄQ]]½¨¨(--ÍÄĤñ¨ZÐ|ÿˆµ‡”‚ .?| @R‘*D%?&å'@aE¡í6[žÍ_e¾âÙû£„¨DFqFsaŠ7ñ]“­iÈið”7˜îõ5™š<åšršå >2%>wª$õÕDt‘R˜ÒdH-뮑#ֽ͛×{Þ¼ÞŽŽ‘))åþþq+WšH'&~Z±âÅŒ÷O²0@òó«]]£ª«Ùæ(äçW¾™9óþÆS¦hÙÙ©$&Nrw|ûvöêÕ/ùÅpëV‹„„²)S¢æÍëíãcÄÿ8˜øø‰­Ü£Y³tÅ6n|uèPÈÊÒÌ]]µUÜÜÜŽ9rëÖ-î¿ ‘ ´{#"""""RSSSSSCAî[‰Â¢¢¢l6Û××÷ÛwhòÓQ›4ÂÝF«©©a±XüŒ{ý^}b$î[6¼w%ˆg§›u[‡ÿî:C”eÕ_]‘®¬©$Ʀ$D%@›©íçä÷m õœzb(nãÚ¤’¸¨8”Wó{{›¨Ï³›ð©ú¹–ÀsŠØ„»BÛv‡ªªØë×›J€‰‰ìöíýíí#üýãþùg$¾ÍȨܵËjäHعÓÊÖ6lýúØ‘#•åå¿ü¯´p¡¾µµ<ôë'Ûút¤¹8X½úÅÅ‹©¿ÿnâè¨N¥R²֭‹»?ÇŽþT*¥ƒë ’ªªêðáÃ1ƒé Úý.…B4h‡Ã!ž<"TWW'$$p×±µµ­««SSS³åòéÓ§íÛ·KII5Ôpµ¾ËD” IDATîÖ†Îápž={Æ]þË/¿O-5XŸHKzöìYRZZJŒÛ%äææfdd¨¨¨ôêÕ‹(¡ÑhlöçßûÙ³g_¾|¹5Ýu0s sñ6ûmeÍ—1€qq_ÕÑ4—¦Kç•å í=Ô¶-ùß½„{aoÂøÌ<Ú¤’…¦…]êMÖUÇ»kì­··¾WÿmÖÛrÖ—¤'÷SnjaªªŒ*÷<.¯3_s8òcLJ ÖL|$ž$"Ò»’ÊÛm¶ >¶¦;D§S‰ô…Ч”¢¢Ø»w¥yyÕž#F(“h4¡Áƒª«ÙÑѹÜíôë'Ègp®\I NqsÓùùg]yyQYYÚ´iÚ ê_»–qútRÇ×AÜœ=zTTT$è@P‡Œƒñõõòññ!£°Ùì?þøƒ|¦†@§Ó=<<Èq²ïÞ½óððèׯŸ°0¿ŠÚ¤îÖÄÄÄ–/_žŸÿù6ùßÿ}øðá¡C‡6RÙ²edýÀÀÀØØØ p_ûí·ßˆIjjj¼¼¼jkk×®]K^7êÝ»wzz:›Í.,,üû￉­[Ü]÷ëSRYòûÅßë9õP\Y¼áÚî«bb"b›\6eg¬º¼ª®þóíäË/.oº±‰{@kãÚ¤îÖ6NÜXZUºìü2¢µºúº?.þñ:óõ@Ô÷ö&êW×V{œó¨e׺rçOå[öË٥پ!¾¢Â¢+Æ|­ÍÔ&n½=J~ô,噲´2ogÍéIIñŽic2E °USS_VV+*Jÿê_yy1Èϯæ.¤Ó©Ð ­sï^.ØØ|uOpð`ˆŠÊíø:ˆÛÈ‘#i4ÚíÛ·êg‘FŽyîܹ¥K—ª««äçç/Y²ÄÊÊêÁƒd ‹;wî,^¼XSSS__ŸÍfgdd,]ºÔÏÏÞ¾}»xñâׯ_À˜1cfÍš5wî\[[[b$ͼyóììì6mÚÔ¬F„„„îÞ½KôNÌžB®;vìªU«ú÷ï±dÉ---CCÃÒÒÒšššsçÎ ØÀOðÔÏÉÉ)++óõõ]³f w5&“9iÒ$CCC…¤¤$‹µuëVî Ö¬Yóã?–——;99 >œŸðxºãóˆµÍüµµŽkkÙµáÁÏ‚5å4K*KÎ8xóõMî$f‘í":¾úòê£÷ê*èæ—åÀé9§Ç€sOÎýyïÏrVùÛì·¶Ûl·OÙN¢zýÏ‹¸´c»Ív‘í¢©VS›Õˆ™†Ù®i»ˆÞ‰ÙSÈU>c}ìMí=FzÐiô5WÖœ9¯§¨—R¢-¯þk¸¤˜dƒ»IÖ¿è}QGAçCî†Ìß ÿvíïÊ]ÍÁÔ¡ ¼@ûm¦8ómö[y ù~ýˆµRt©•ö+7„nHÈMHÊOÚòú½ñðìŽÏ#Öæßu'TRRËá÷mäÂB0™¢4š¤¤HYYmEEwSPP bM6þÍÝéïjå§ÊÊï%WudÄN§ÛØØDDDL™‚“- XÍh7uêT—ׯ_×ÕÕHJJž={–çÎŽµµõóçÏÓÓÓÓÓÓeddtttÄÄ>ÿ›¢®®Nd!---à.!Gæòß7böò#9_¹Œÿ”—Wmh(­¨(cƨ^¼˜zçNŽƒƒ:Q¡¦¦þáÃ|11êСJßmô?tºpmíç‹Çvv·æÎí=mšv{ì…™3""çáüQ£¾\“{ô(ÌÌä:¾â1pàÀ½{÷Ö××ó<–:XGd0EEEóæÍ»té’¹¹9QòéÓ§¤¤¤aÃÒỎÂS(%%õíØŽFF{ðߘ=å{­ijjÏøð‰Ÿú¢¢¢¼«]JJªÿþ­ ¯¹G¬ E¾ŒþíëèK>™ü"íp?_M P(䣿Ü4å45åx÷è{÷†šÕ˜=¥ÁUB¡[û>ëˉËq?§ÍCYZ™ûæQ ÂkÖëÞ$%E¶oûë¯}Ég‘DD„Ö¬1%Ö._Þ÷É“ü â ªµµB^^u`à›üüê ̹‡ñ~‘‘Ì‹EÙÙU99UiiVVíõgÀôé½.^L={6YSSÜÁAJ¥Üº•}øð%%±yózw|ÄÃÚÚzÆ ñññ¼e c2˜šššË—/;vlîܹÄGoo着*r¦8Ôä•å†:›9›i˜@NiÎÿP”Tœ3dN“Û"ÔJ Õ׷߆ qÿþ[ÄfsLMeƒ‚†XZ~N5Ä®\±üúõq99Utº°™™ìéÓC R€—/‹'O¾KÔ42 €ÄÄIܯ^m²jÕË1cnÉÈÐÖ®í§«ÛðÆÖ“’¹xqø¡C çÎ}ܲå5‡**ôÉ“5—,1 3­Ž¬ƒxôéÓGRRòÅ‹˜Á…ûA ¾6 P‚ƒƒ›uÿ¯¦¦ÆßßÿСCRRRL&óÇ’’’;wîüᇚmF¼ó(&&¦¶¶vРA3gÎ$ò¹®‚B¡xyyíܹ³ÉšÅk®¬ ~¬§¨'$$ŸoªnzlÖ1î;#ÝÞŠK+¢?D?H| (©h¨b¸}Êöo/Au6®®®pþüùÖ4Â3Ñ·–.U€½{Ûeˆ¨£cdQëÁ|Ì5FOOwÏžÜ Zõr€)S¦ùúú¶UTíŠÍfŸ9sf÷îÝ&&&§OŸn°Î7Ž9’@§Ó‡ æã㣬Ìû`?uZIW··¼;â Fó÷÷÷÷÷:­©S§NÚ#†RªËªŸøùĉŸO:AÚäÒ.£¤B„¾¾>÷œ ß7{öì… ¯vˆG­_¿^ZZš˜{¬A§Nò÷÷ÿí·ß‚‚‚rss}||\\\.]ºÄ ðS§ƒá($„B¨yôôôÈiåÁùO„ô=þþþË–-Û²eË÷*deemÙ²ÅÎÎnÁ‚ £W¯^»wï.,,ܸqc³êt¼z !„ÚÏÑ£6o~M,ëé]^¼¸·w_Á†„º7ee庺ºÆPíׯߋ/:,ª]ºtILL¬‘×á]¸p¡¦¦fâÄ/S¨©©õïß?<<¼°°xp•Ÿ:¯Á „º¼yóz'&N"ÿÃôåÿíÝwXSÉÚðIB ½Hï½K¯"bGÀE°£`WD]]û§àº®zõ¢€ Š 6,‹ØÁŠ&H‘¦Ò{ï ßÇ{̾¿ç>÷I&sæ¼spÉË™93`°‰‰‰Q©ÔŠŠ VÒ;|I‘ž¼~ý!D·1Ÿ®®.…Byóæ óu†܃úÛ1·¼¼œJ¥úûû¿|ù²¢¢BXXØÚÚÚÅÅû¦ß·oß… Bzzz7oÞD¥§§Ïœ9³kkòòòÑÑÑØëŒŒŒÀÀÀ7oÞÔ×׋‰‰Mœ8ÑËË ¿Éñþýû 0ŽÍÞÞþرcÌ÷%''‡@ Ð팽ÍËËc¾B(666 ##ƒƒƒÃÄÄdëÖ­vvvØ>9GŽqttd>*f@ô ¶iSSÓÆ¹¹¹ƒƒƒååå }}}œœ²³³B»víÚµk¾FGGçÎ;Øk …²råÊׯ_ã+¤ÇÇǯX±BCCãâÅ‹òòò‰‰‰Û¶m‹‹‹»s玠  BÈØØk|ÕÕÕqppHÿZlÛ!¸¶¶–ù:÷ïß÷öö622ºuë–¬¬lRRÒ–-[¨TêøñãÏŸ”g;` èNNN„PQQQ~~þ„ TUU988:Ä|#{÷î}þüù_ýejjŠ¢R©Û¶mëèèð÷÷×ÔÔäææ7nÜîÝ» Nž<9X=é6û¸ÛuÆ»­C¡PöíÛÇÆÆæïﯮ®ÎÍÍmiiééé9¨³˜ûsfíÚµ›6mðPÀ0wúôéððpVGKee¥ª*¬Á S°É%d2Y]]=$$„L&ÛÙÙ)((ˆ‰‰1¸G¢©©‰ß€ uwwÇ—FËÌÌ,((ÐÑÑ‘––Ʊ°°@=yòdûöíƒÔ~~þêêj …B{‹¥©© ûˆÉ:eee:::ØøËÌŒ"f±ö@>¨T*BˆD"]¿~ýÒ¥K<8vì??ÿ„ –/_®¥ÕË\òØØØýû÷ÛÚÚÒÞÀ槦¦ª¨Ðï+RPP€eƒ1FYYùÝ»w¥¥¥RR?¶W+--E)**2Y§ªª !$,ü¯½´xxxèžV2˜“'Ožœ¿°fÍfÖä#¶&/€!nnnwwwww÷úúú˜˜˜ÀÀ@''§ëׯëééõtlff¦···¶¶öáÇi‡iÆŒƒ255 ëéØÁ˜cnnþîÝ»ÔÔTÚì$55•D"™™™1YË]°<WSSƒMã$0èl¥¼¼Ü»?ÍÇÇçèèøÿ÷ åùóç=XQQ±jÕ*   ü9gcc㺺: yyùŒŒ ºÅs—/_¾qãÆÁëËœ9s888þù缤¨¨èÝ»wÓ¦Mß굎†††˜˜XfffYY^çíÛ·ƒ6‚ è+,ƒáââ*//÷õõ-..nooÿúõë•+WˆD"~ë‚NKKËš5kjkkÏœ9#**J÷)@8pà@{{»§§ç§OŸZZZŠŠŠöîÝ›’’âéé9x}‘––Þ²eË£GΞ=ÛÜÜœŸŸïíí-""²sçNæëH¤Ý»wS(//¯¬¬¬¦¦¦—/_^¾|™HÄ4æÁÀ0•PõâEYXX.‰D­;VŽÐ>b£H:::çλ~ýúÂ… ËÊÊtuuCBBLLLÍz0ÉÉÉ***û÷ﯯ¯ONNFÙÛÛwÛ¬‰‰ÉíÛ·?¾lÙ²ÚÚZQQQssó7nàóQúáï¿ÿ>wîöúÕ«WØ$›èèhyyy¼ÎÒ¥KÅÅÅOŸ>íççG&“'L˜àïïO·áQ¯ulmmÏž=ëïïïääÄÉÉiaañ÷ßOœ8qð¦Â@L9y2kÌ޹s†ìŒ††Â††ÂOžUUµÙI‡ØícAA‰D—‘‘™0aB·u°õ`è W¬XÁ¸e•q¸}ûvfžcš1cÆŒ½d½Ö±¶¶¶¶¶Æßb+þ 1j_Á(0åĉŒð𯬎 _¾|‘––fgggu ÃHddäêÕ«iK^½z…þ÷@ø`€ è›/_¾(((°:ŠaçéÓ§!!!555uuuQQQÐÓÓëv#…1(£HÍÍͧOŸ¶··ïúP;Ë çØ˜7¬zñâEáçÏÕË–é°:n çØ˜7:z1¨°¹!^^¶åËUÞ½«HI©¡P¨úú¦¦c°:99õ÷îb¯×­SÏÉ©/¯©iCˆ°j• ™Ì†ª¬l}þ¼¬¸¸™L&ëé ѶßÞN-*jò÷Ï@hýz <€ž¤«PRÒ,,Ì©¤Äkd$B»Øi¯‡÷* ƒñ‚MÜܤ•+»Y±°µ•ôka!jb"B¥vfb%**|vvÒ¡úúö¸¸Ò¢¢&NN’‘‘ˆŽŽ`·}ì÷EÀedÔ>~\Œ¿]¹R•›{×éŸüüü^}ùÕLŸ>ýàÁƒááá'Ož¬©©‘’’rrròôô¼;Uƒ’ÁܹsgÆ oß¾ ŒöÆpŽ­«¢¢¢Ó§O[[[Oš4‰¶|XõbÅŠ‡YYÕVVÒªªƒ5ØÙoÃ9¶®ÂÂÒ³²ªwï¶ ÿõ{}dõ‚…ÂÂr‰DBrrumm›††@NNý¡Ci'J˜rq}ÿ ŒŒ,ÈÍ­ok£$%Uëê ~þ\[âêªD&£óçsNSWç72®¨h=t(ÕÀ@ØßßTD„“ñy{=¯`l,RTÔäç÷‰““xà€¡¹¹(3‡ÐÐÜêê6ww5Ú ÅĸTTøB/_–­]¯¥%hh(ÒÐÐ!%E 4““ã‹@ç۷ƈˆo‹+ p r×ûƒB¡dddÌš5‹Õ /ìììÎÎÎÎÎÎCvÆAÉ`ýüüììì£ñŸ4œc모¨È××wçÎt̰êÅ™3Ó³³«‡ç—ëpŽ­«°°ô{÷rwí2§Ë`FV/XŸ šž^«¡!°ví÷oâÓ§³J;|8m×®±ÊÊ|^^Ÿ>ÕäæÖ·´P._¶Buv¢'2¹¸ˆwïüõWŠ££ìþc„]ÿ÷ï+.|¶vmüµk°öϜɒ’âöòÒ =5㠄ä2Ân9lܨeož^kn.ÚëáL¢½!Ô'œœ$// "=š®¬Ìgb"‚" Ë—«„„äœ>m!+Ë:t(MA÷Êk,$wwµéӣЋ›± æ'/]HµµíIIU.Œ³°è&¹RSS{É|ЫA™ÃÍͽaÃ55µÞ«¹áó†U/¬­e–/×euÝα1otôbhhÙ2eüí’%Êd2éêÕü¶6*m5WWe¼þºuêd2ÛéÓY¡uëÔñôÑØXÄÒR,!¡êÝ» gìõ@¬‚‡‡:žŽ qøøèˆ0søÐX¼X‰Lf;wîÇpÒ•+yc°ô!D¥v–—·5ao¥¤¸wí+-MÆÞþäE šûçŸ)ÁÁÃ7}AÅÇÇ‹ŠŠ*))±:_ÝÀ߃yøða||Ìÿü¹š¨§':i’ö»®M>>ŽþÉ®«kÕÔ±³S¢û“´  þ޽ܪªyy~夤²˜˜¯!aa®Õ«ÇÒÅÖ§–{ ñÕè¶ËEE §O§`u¼¼ ËË›¢¢¾ÔÕµ©© 98(sr’ð:YYÕ¡½{_cçZ¾\GLŒ»¯W¸OÝ}DD8ñ#„''IJŠ;'§þë×Fl4#.ÎE{…Ò™‘QK"xiË•”x_¾,KK«Å'ÓÐéõ@##¬‚¼<m…iÓ¤~æ¼]õ{ FPÃÙY644ïÕ«rKKÑŽŽÎ ²Oœ0Ç+ìÛgðûïï&O~la!jf&jn.:¾Â€\•ŠvïNºz5_JŠ›—wX¯ôñöí[333Æû6ƒ!0XÏ"8pàìÙ³øÛÖÖV777--­û÷ïWUUݸqCMMÍÓÓß1¡¥¥ÅÅÅeìØ±QQQUUUÁÁÁÊÊÊÿùÏèÚ®^±â‘šÚ¹wïJð Ož|QT<³iSlaaCFFåœ9††¿~­£kóâÅ´¹s#23«Þ¿/9ó–ƒÃ-Úó^¸ª¢röðáwÅÅ11_ÍÍCOJòõ}UPPO×mlÌ´Ükx]õÚå‡ó|}_ùø¼Z¸02;»&=½ÒÕõ¾®î…ÜÜÚÁ¸ÂÌtsT¢R»/§û®éãWO¿÷4ýÉÍP‡t/Õ+T‰DÂÙ³ŸBwï~“•塊«§'5íòåñ&&cbbŠç̉93æë×F&f¶åå-BBAAæEEMžžo(”aº•lccãÛ·o---Y„{0¶¶¶¶¶¶G¥-ôòòºtéRPPþ°øþýûwîÜ) ð×_a®\¹ròäIwww¬ÂêÕ«·lÙ¢­­mgg‡·ùþýû;wþöÛo¡?þøCNNîÏ?ÿÄWZ³fÍëׯ/^¼èêꊕ¬[·ŽB¡¨¨¨`iÁرcébc²eÆáu{wÙÅÅÅÎÎîàÁƒOž>„ÐÖ­fcÇ^˜;÷î›7‹hÛŒŽþ»»µ *J L|ñ¢ÐÊJ!”œ\¾jÕc--‘—/]xyÙByyµººB+WŽ57—DÑÅÆdËŒÃëö:0î²”¯eMMË›7ÅÙÙÕoß.fc#"„<< ,-CgÏþ'!Á «óþ}ÉçÏÕ»w[`0ý¸ÂÌts´ªªjmlìàáùþ›­µ•RTÔL&³áN»E"44ÒÓkóó””~ܪÉÉ©Gik âÕðÚCCsµµ…ôõ…ˆ·üåK£¢â[ß88H¶¶RÌœ—ýžƒ““ã™:UòÑ£¢¬¬º³g?oÜø¯mNÊtsS1616ñðP/_¼øÅ¡Ci¦½^½^/öV\œ ;éh<˜ºwo²¯¯þOvj0?xðã*6`D¡|¿åõ“¡Kª³fɆ†æ]½š?°wîÜ™}êììTUU¥›”——gr[)-cñ3ó]600À#¤=P]];œ™˜ûq:Ý(‰‰e!MÍMÐÓÐF%$”"„’’ÊBoß–”–¾Â+|ûVŠ/7îÇYÙÏ q"„Ú°·©©!5µ=ž£¨(Àd Zf><滌“—ç§}«®.óõãÇŠñã{ŸSÕÓ1èæh%&ÆU[Û¾téKìiê§OK&N”Ø´I !TRÒ|ýú—ÜÜ„Ðñã™llDÚ§ŠfΔ)/o9|8-/¯ÁØX¤¼¼åÑ£"“1¦øoggÙÇ?mßžˆwL˜ ÎÌx…ÜÜ##áúúöGŠ,Pppéõplšòò–æfŠ¿†‰‰È ÎoÕ×24NH¨úóO}º‰_66â»w'GG—()ñÕ×·?yR$-Íß§ù™‹•U÷ðaÞGkkq . n66‚ORAA“®®àôéR]£e‰âââ·oß?~œÕ„†&ƒéd8Á O8ØØþ ‘HܳgBˆB¡àûBõºAÝÔ**•Êøì¸^[f&<“]FÿË„èìë1æO7x;lÑÃT$llÿêãĉr'Êéë‹Ñ’H½\ºë„ÿEØ«^[f&<“]Fá¡þï@ìÇÍ8–þŸ®×nŽJÿ÷c“’ª*……9V®T53û× ,oèÖòå*ŽŽ²Ïž•–”´HJ’—,QÑ×ÿWŠìî®®§'œ–Vch(4c† ‘Éi+()ñ­\©ª¬ÌÇüy]\†î™—;uãâJåèÊýüLJK[>|¨,,lãœ2ÅÈÒR”öØO^º>rp=<~v\l0œ?~̘1666¬ 44Œžž‰DÊÌ̤R©øM‚–––üü|2™¬®®ÞÔÔD"‘899é&±FFF–——3ù¥«­­M ²²²:;;ñßãyÇš‰ IDATyyLf0 Œ;¶¯áõÚe¼fnn.íØJººßÅǺÐÜÜ|ðàAwwwºýBûtº!`h(öüyAzz¥µõ¯Šôô*„BÈÐPüÙ³‚éÓçÌù1èÓÐÐ~äÈ;%%fo¢èêŽyþ¼ #£Šöî3³b™ˆ¿ÏáõÚešk´´~Ü;Á>ÒÕýþW5ö}€ýƒ}𠯶¶uÁ‚n~‰3º_–¾¾Ý×'BHB‚L·”KW""œNNô_Þ´,,D»½ ÒëŒ+ôô)¶ ƒfœžž°ž^÷gçÂçíIÿ.‚š¿š?]a¯?)–¨®®¾zõêÆa;¤ab(æÁˆˆˆ¬X±¢¨¨ˆöÙ™#GŽ444lܸ‘L&‹ˆˆ¬^½:---""¯ŸŸ¿|ùò¦¦&&Ï"..>wîÜ‚‚‚K—.Ñže@âïkx½v/LLLÄ™FQ(ìù&OOO¬DRR!TYY‰ÊÈÈØ»w/'g7Ët2º!°~½!77û±c µµßwš-+k:u*IX˜kÍ=¬»Ÿßû––ü(_ßW§O§HKóvßhîîúllÄ€€„††v¬$;»æŸ²$þ¾†×k—q?þã㋟>ýj` †LIJò"„*+›B§N%ÅÇýäé(((ˆ››{Á‚¬|7XëÁ´´´øøøüöÛo†††þþþMMMîîî‘‘‘êêê)))QQQ{÷îÅŽ:zôhSS“³³³½½½††Fyyù;w/^ìáázñâETTÞ¦››‘H¼páBAAAKK‹Ï´iÓ,--O:UXX¸lÙ²ˆˆ…7oÞØÙÙÑÞ#é[SS3-3¯[½vãèèèãã#---!!›””äããƒ/V-!!1}úô+W®ðððBܵM¡={þ•c¹ºjMš$™SUÕ¢¤$pìØ¤½{_#„°-úzj‡™–{ ¯«^»Œ™?_cáB͇ójk[/]²ÃW´ÃX[Ë$%-‰ŠúB$’“Í””°û@ý¸ÂÌtsôÊù"àW³gÏqqñE‹º_R°¡¯ÓDµk×æÍ›7HýŒÔÔÔœœGGG¼$%%EOOoëÖ­`a`ݪ©©Z´hÝ‚{Ã@ذaCOO³D``¢««þD1BÈÙùŸ»wsªª<ñ¡‡ bŽKøüy%íººÃÊܹsB7nÜø™FrrrWX¿^!0ÀOÀÀ<eÿR;»æyðà——WHH,d7Øß 3ó`†Ljjêúõëë꾯J¥R<ÈÎξdÉÖC``bpp*þöãÇŠÈÈœùóÕ‡aú¹jjjöîÝ;wî\H_†›a½÷D_©©©qppèééÍœ9“H$>þ<##ãÂ… ššš¬^XXXJJ B(%%›˜›„õÕ”)òÛ·?{ö웺ºpAAý­[ŸÇ“ œÂê¸èa{ÅÇ#„üýôõEa›F†§ææfºY ÅËË‹““sëÖ­¬Š ôdTe0†††YYYÏž=ËÈȨªªÚ¸q£­­í˜1C½®%“¸¸¸°e@ÿNÞ¾ÝìåËÂüüZqqKËá²ìUW¶¶Š¶¶Š¬ŽÐ£ŽŽŽeË–­_¿~ܸqxáßÿpõêUf×zCfTe0!"‘hcc3ü—rqqau£´4ï¼yCºÚM?`{±: @/öïßÿþýûmÛ¶=~ü»âçç§££Ãêè@7FÕ< """.^¼ˆ*++;vìV²sçNVGº7ÚîÁ}’™™¹}ûvÐÙÙI¡P‚ƒƒ………9âææ¶qãFVGz÷`üº×®]K¡PðµE‚ŸŸŸ››ÛÎ;Y` îÁF¼{é÷BBBÂÜÂN¬§GgÞœyšýtžÞ¼Y:ßW§)‘V›6m***êèø±‹–Í Û§@îÁFA?ׯoÍÊÊÂÒ‰„¢P(d2ÙÈÈÈÜÜÜØØxìØ±°ÃÚp `ôè v¬ _c&g6_~nenà«Àð”𫋯JñK!„‚ß|zpµÙê)ªSZ.'\>wø†ë ‰W\]oµžÁ< „;‰qHG⎈ñŠ-6\Ìd4Ä4´%´ï§ßß3m—“¦~óæ*öJHHÈÜÜÜÔÔÔÄÄDMMH„§[FÈ`£GeSå<½yöšö¡I*“”E”W…¯ÚóxÏ™9gBW¯Jnš° «i¡`1K{BH€Kÿ¨¹½ùwëßeeCœ×Ü\sgénF]à—L>|ø?þ@IKK°:Àw5Í5å 墼¢ØÛŠÆŠ’ú1^1lgUøªý¶ûEyEdŒŒdŒ\\ÇwþÝyÌÏ̃çÇo±`JêKB22frft•…ÈBVŠV!ÿYþ˯/_wkÝ¥…—z& À¯ æ]#„P{{ûرc­¬¬˜¬¿yóæÎÎN==½A ÐW$é¯è¿°õmÛ)íû¢öuP;<Çybiß{Déü>*”]‘ÝÙÙ‰=¦4|ŒS·cÒŽ÷ï}û°:†5¸ó•J¥[Ú0R`û#æWåác*g:9h²(¯è×ê¯m”¶­·º¸`Õ6Ûl¾øþbD@„œ \}ký·šoŽÚŽ['n‚ƒßGeEÑ΃ѓÒÛ:qëë/¯^äWåwP;\B]ÜŒÝTDTe>b#²]K¾–Yž9Ie’‡¥ÇDÀˆ B±³³ÃzùŒ\†Ò†cxÆ „8HÒκÎÙÙ*EMTÌNÆ«-2X´È`QeSeam!'§Œ€Ì­¶2Qy¢¶¸6m 6 FMTÍ{¼7^(/$ÏËÁK[‚õ Ðd0€ÛËÅÆÅ`‘:n‘¡Ÿ$«(¬¨(¬Ø}0rôÁt%è æÁ ÈÈHÂÿ´´´àå•••¿ÿþ»²²2‡ÐŒ3ž>}ÚõðŒŒ {{{nnî‰'¾|ùrc~QÁ ‡ÎÎNGGGÚÂ’’“°°°cÇŽUTT¼y󆛛{òäÉgÏž¥­ÖÐÐàáá±cÇŽÂÂÂgÏžUUUMš4)..nh{ür ƒéÞöíÛóòòŽ=êààÀÏϯ¦¦&))éååUZZŠW«­­Ý¿ÿ¸qãxyy/_¾ÜÖÖæííÍ eü<È`ºwûöm„½½=^ÂÉÉ9yòäæææGá…\\\ff?F¬uuu¥¤¤’““‹‹‹‡2ZàWL7Z[[kkk¹¸¸øøøhËÅÅÅB%%%x‰ˆˆ݆mbbb¡²²²!‰øEAÓ NNN–––úúzÚrlüHBB/©­­¥;Ë]°<ƒ2˜î999!„îÝ»‡—´¶¶FGG“ÉäéÓ§ã… ÉÉÉøÛ?éééIJJ" È`º÷÷ß+**nذ!22²¾¾>++ËÅÅ¥¸¸øØ±cØX†‡‡ÇÓÓóÍ›7ïß¿_¼x1DZcÇX9ð+€ ¦{ïÞ½[¸p¡———ˆˆˆ©©icccTTÔªU«B‡&ÉÉÉ‚‚‚ÿýï·oß.!!amm-$$3aÂV‡Œr°&ïw …H$²±ý¸ """~~~~~~]+oÞ¼yóæÍøÛ˜˜˜¡ÿóK߃ÑÑÑÉÏÏÇ^ÊÉÉÑf0¶~é !ôŸÿü§¡¡!"""))ÉÝÝÕá€)¿tsîܹ´´4IIÉM›6íß¿Ÿv`†§¦ö¦ÉA“W…¯bu °Ø/=hbffËê( :;;©T*•J[¨{DWK\ëÚâk¬Š €¡÷Kg00âðpðN>Y“õVë5Å4]MFÈ`#ÞTµ©ÙÛ²±Da×Ã]Þã½ÙʪȚwiÞ©Ù§îgÜßóhÏgþ÷7íß°úÿ¤ýƒý?–=ìš²ËLÎìRÂ¥‹ .öt <'è‡S³O…&†ö)†žº3Umê<½y´)ÑJ³•+ÍVv;¦¬¡l­­ì˜Ê™Öîy´gÎÅ9—^66èww&` 0ª¬±Xc&gFf'ëIêenÉ" Ùkس“Øï¤ÝÁ*´t´D}Ž’’þÝØÖˆÞN½í¤ã4xQõ;†®Ýaþ¤‡ãÖÃFÙ†›[uŒê1Çc¾O|¤S°d0€QEOR®D,h£ló2ÿeyC9B(ês”ž”ÞbÃÅ--2!„jškÞ|}3]}z7Í ~Çе;Ì{’õ„H b÷x0¢¼¢ªcTSKRKêKúÝ,ÃDF‘æÏŸ?þü {ó‚Ÿûh/Ãê™ÜµÐIÇéIÖ“»éw—›,¿“zÇIÇÉBÞâÀÓŸ"œu#Ó#'ªLäfçfÐìÏ̃ù™ºí3Ú(mõ­õ!}?ý®ŸæWåKðIô¯e†‰þd0vvvjjj ÎŽ=ºlÙ2;µ‚ƒƒ…„ú0B1²LTž(H¼ýñö,íYIEIN\l\V V/ò_”5”ÝúxkÓ„MŒ[ø™y0D +á qðsñ7¶6~Úò©Û¹ÉŒtýÉ`–,Y2oÞ¼ gG500°³³cu `°Ü¿Ÿ———ÕQ v»½¦}hB葸#ST§p±q!„féÌŠË;öüXYC™…¼ÅˆŽÌNn§´c¯§žžºÂtÅýÓÕ§ßH¾ñ¡àƒ©¬)^3(>èrÂ娵±Ö€‘æÁ~ ³´g!„®%_ÃgËNU›ÊÃÁs-ùš£¶#‘0¿ /m í¼ª¼âºâÄÂįÕ_MdMB›'l–”Ûzok\n\}k}MsÍ•Ä+/·OÚé àijÀˆ—T”4çâìµöam„Pö¶lº:Ò B m”6ü†—­ºíÍ7õ)¤~ÄÀ ;´+ßhÖvÔv<2óBh×ä];îœvfš Yp÷´ÝÊ"Ê!n‘[KnxuÂç±Oq]1?¿–¸Ö©Ù§Æ)Œšþ0¨};€@¸víŒ"ýj‚¿¿?Œ"bžžž¼¼¼7nÜø™FrrrWX¿^!Pú3gàg¨¨(ûû—ÚÙ5°:Ð eeeæ+Ã(FÈ`0ò@€‘2˜ïŽ=ºdÉ’ÖÖVV€ÞýrÌöíÛmll(úµ5CBBBCCKKa‚!0ürOSüø1..®ëXQQQ•••rrr,‰ }òËe0=au`Êg0ïÞ½»téÒçÏŸÙØØôôôV¯^ÝÕ8wîÜ¥K—°:¢¢¢7nܸtéÒ¹sç°’}ûöYYY1n—˜˜xñâÅÌÌL2™¬¬¬}Šš4iÒ¦M›’’’V¬X²¶¶ÖÐÐhoo÷ññÑÐÐèµÌÁƒŒŒ¾|ù²téR77·ææf++«•+WÊÉÉùøø´¶¶â#Dlll>>>âââqqq!)))lOÊÝ»wûøøøøøÈÉÉqqqùøøèèèÄÅÅUUUÑ+??Ù²e‹-JLL;vìéÓ§B´‡:tèŸþY¸p¡ƒƒCpp°……EKK ƒ«´jÕª¹sç"„Ö¬Ycmm½qãÆ'NÄÅÅÍ›7ÏËË‹¶åm۶ݼysöìÙË—/ÿøñcyy9㨘¿cÆŒ‰‹‹sqqILL\¼xñüùóŸ}úíÛ·±’ ˜™™­]»ÖÔÔT__?„ýäÉ“XŠŠŠÿû¿ÿ‹ŽŽ¶··ïö*EDDœ={ÖÁÁáÊ•+XÉœ9sÔÕÕB†††fff´Áˆ‹‹Ÿ?«¦§§'..ÎLTÌ\„;wî „LLLüüü°ò™3g*((¸ººæççsssw<0| Ø=ì»vÙ²ex 77·ƒƒCqqñãDZ;;»¿þúëáÇkÖ¬qqq¹rå ž¾0ÓBpp0BhéÒ¥´çõññÙ·oß@õ‡‹6"‘¸téR*•Šg˜3f௱›I_¾|é©Ù«W¯"„ÜÜÜð..®žÒ|8 !¤££#**Ê|T̘={6þZTTtúôéåååÑÑÑ}mzvÛåÈ‘#؈û.OII™9s&V²mÛ¶¤¤¤³gÏz{{õ©¬‚¬¬,íQ¢¢¢¢¢¢Õ º`è¦à`oév~Ã_óòò"„ÚÚÚzj6??u邤¤d·•»Î,f>*fЦxTX„À07` öå½téR]]]ºh¿qÛÛÛ eeeO:µpáBlÜ„ÉxxxB =nÇ…MÎ¥R©xIsssÿºƒ«¾¾ž¶°®®ÿ¨°ºfô¨Q1°™18¬ÙŸé «¬ò¬‡™o}¼UÖPöéOÌ’P˜ð"ïEXb‰@zéùr°#üy)Å)¾}“‹“IDRæ–LV‡~6Š4qâD„''§ %%%__ßööv¼Úºu댌ŒâããEDDœœœŠŠŠ˜oÁÆÆ!ôæÍÚóž?~Ñ¢EØk!!!„PEEþiFF]œ!lE»£GîÙ³§Ûît{®·oßâqöϸqãBïß¿§-LNNfòpf¢bæ"`RRRhß~øð!diiÉd0Œ,'_Ÿ¼‘üS;o÷¯M5Q5/+/9¡>¬5e(mèeå%Ê;ðw—ÉW'Üoº/7].Î+Þ{m΀e0***ûöíûôéûÕÕÕ+W®ìèèÀfª"„Ž?ž››{äÈ))©Û·oWWWÏš5 r§×Ö­[§¬¬|ìØ±ÄÄD¬BZZÚ¶mÛ ±·ÆÆÆ!|’ì½{÷èæç"„TUUBùùùW¯^%»¿ø¹°ïu„P\\ÜÙ³gõôôh§¡ôÕºuëDEE=šššŠ•„‡‡Óe$Œï5*f.&00ðëׯØë€€€”””ùóçãÏ…0Êœxu"ücøðosÄ‘’{¸ò¡½f÷óù<–Áðóó?{öÌØØX___SSÓÄÄDAAADDäîÝ»¡¸¸8› 6TVVFDD „Nž<ÉÇÇ÷îÝ;##£M›6õÚBH@@àÙ³gãÆ333ÓÒÒÒ××7nÜÚµk±ÃB«W¯ž1cÆæÍ›µµµuuu#""°9³Ë–-óððÀê¬Y³FIIÉÚÚZKK«¾¾ÞÓÓ³¡¡ÁÆÆ&00!´eËìQgì\VVVÚÚÚêêêS§NuttŒŽŽæääDM›6 ?[…eÆ [¶lAÒNï¥%&&%..n`` §§§ªªzóæMOOOô¿Ñº–é’ê5*&/fûöíòòòÞÞÞ®®®ý˜ øÅ9h:ðsñ³: ð+Èí$%%oݺU]]••ÅÁÁ¡¤¤$ €}¤¥¥åãヽÆî‚xxx,Y²+Á>·€‘’’ºsçNUUÕçÏŸÉd²ŠŠ í£¿\\\÷ïß/(((((———””ÌÉÉqttDñóÿLII)===##ƒH$jhh°±±uttà±!„ðT€ö\A]]6˜]»vásM°ò¥K—Κ5 +!‘H=]¥±cǦ¤¤dffVUU)**JHHx{{ÓFHÛ2BHAA¡§+Ð5*&/FWW7999==½¶¶VEEe0&D0”ê[ëãrãŠj‹8Ù8dŒt$t°rlZI;¥½¨®Èÿ…?Bˆ€ë­¾/ÿØÙÙ™P˜YžY×R§ ¬`£lÃÅÆ…}”S™s/ýözݸu99ñ_ãkškBF2F >ôÔ&B(½,=þK|µC[\ÛBÞ¢Û€ËÊžç=/k(ããä3’6ÒïeIÉžBmíh Š«YÈ[˜ÈšP;©/±•1*vvݶð" Ñï²B‹›{¥ÙJÆÀ¿«€íü\Œ¨¨(6‡gbbÒ§h 3¨ #####ƒ½VVVVVV¦«ÀÁÁ1vìXü-]lÌœËÚÚš®D__ŸAÌ877·?ÿüYC%&&òóóc‰]·-3®×‹€!ZZZÌ„ À0÷2ÿåÚ›kµÄµ e Z^HñK:Ê 2š€’]‘½îöº†Ö[ [ •–¶÷ÉÞ‚¬  XIDATsóÎiŠýH&"Ó#s+sÛ(mIEIººŸ+>ÇæÄÍ ê©ÍÎÎÎ=÷„%†ÉéKé‡&†^üp‘B¥ßMöÌ›3ÿ}ö_-1-cYã´’´½OöÚiØr8ÄAâè_¨—.×4׸[¸Óõ ã¯˜ÊÆW€‘öEjoß¾õõõ bggG?þ|ïÞ½´+ìúêÐÓC  W]ÁdÝ-ܧŸ™^\W,'(g(mh(mxæÍ)~)/+/Ú£¾Ö|­i®y¸ê¡Y!´uâÖßÎÿ¶áŸ W>$Ê"Ê^V^ŸJ?åVæ¶´·\^x!ÔÙÙyâõ KyËÉ*“»m3414,1l®ÞÜ¿gü•ÜI½³åÞ6âÿÆ#Ò">=8Skægþ 8"-â÷»¿KòKn¸µÛ2•“‹Áÿ…¿²ˆ²‰¬ BˆH .7Y~áý…S³OÉ É÷tÝhï0² 䮀;v숗––677—‘‘ñöööññÙ¹sçМ=33ÓÆÆ&<<!´hÑ"|%F:*¢–7–Õ}¼QŠ_j×”]ÒÒŒRVô™æƒå!2;ÙNÃ.§2'·*—®¦«‘+ö‚@ ¬³\Gf'÷Ôæ¥—Bîæ?î…8j;ŽáC[çô›Ó!Ïqžø¸ß´ç¿œp¹ÒŽºÓk¨‹ s²qž{{?äJÒSYSé #üÝ?ÔÜÜÜh×äbêêê±±±¬:;ƒgŸí¾ß#~Ÿ4ÙBÞÂLÎÌ\Þ|¾Þü^RVã{˜ù°¤¾¤®¥!”Rœ‚*o(Wùר«8S S¨”ܪ\$+øcáJ '(‡M Áêd–g ÄÈôH"àÕHDRs{sfy&>ƒ§O¡ s ;j;^O¾þ*ÿ•¥‚eµã» G2æÁ€‘ îÁF=I½¨ÕQ—].›ÈšÄdÇ̹8gæù™_k¾2>êvêmóó¿cþΫ̣ý"§tÒO[¡M5é¡‘@üw-ö?ÚÂ9cçxYyõô\3¡®0]A ξ=‹ºûé®(¯(6¢À¨÷`£Á©×§ÜŒÝŒeŒeŒ=,=â¿Ä/¾²øÐÓCNߟÇ!IØží¡Ð„Pm í±’c÷<ÚC$ï-¿ÇËÉ‹}tþÝùçyÏ™Ë*Ï:ûæìó5½væÁ€‘ îÁFƒ ø ð·  èß÷'ÄxÅjZj°B¿ç~å åDà`ãèììì vàÕRKR™?i×6B®†®XW|¾œp9·2W_J¿¨®¨¢±B_JÿcÉGÿþÚÚ“U&ÛiØ•O)?{èCÁCC •“#É/¹Æ~ô¿lÊʛۛý_ø›ÈšXÈ[0uþ,$+E+ 1Œ²Œ?lþè6pyUyw?ÝE5´5P;©Øê8“U'k‹kÁÙû »eF`nH sÁ†OgYÙ |­úýæWÚPú¡àCam¡¯Øû)–ò–$âs¹[¸ëI饕¤JÎИ-»2Woîx¥ñÏsŸW4Up ,Ô_XÙTù,÷mËš=´Û6 ‚Ï4Ÿùúóã¿Ä·SÚ-ä-Æ+Žøñ­æí±KŒ—ÌÔšù,÷Yq}1?ÿL­™Ò´\ \hß2*ÆÕÈu_Ô><§2+LW ñû¡±‘ˆâåœ< ->ˆËìµk×æÍ›7Há‰@ øûûÛÙu¿¬'<==yyyoÜø©½srrW8rD8:šçþýoŒ«ŸñgÔŸÔNêž©Ýo[û‹ËÉá˜>]öîÝoššm¬Žt£§õW»ÕŸ{0~~~?ùkŒDÁÁÁ÷ïßgu`°$%%YYY öY44ÚΜln&É}ûÛ 0–VšVÝTm¥hUÕTu;õö¥wXÑ0•šÊÁÆÖ©¬Üý¢;`dés3gΜÁˆ s222BBB¼¼¼¬ lÇÐÁ>‹©i3•JxõŠ{òäÆÁ>×/%­$íHÜ‘Y:³žç=Ÿ­;›ñ^ ¿²gϸ [88  ú<Š=éu !4¾´˜XG@@éÄóëH+M‹þÍFdS£2Eu Ýò3ÓØH´´”ÿý÷ª%KjY èÞ "@¿¹¸ÔmÝ*šŸÏ® wòŒ¶¸öð|ögX ã§R ³fÕ³:00 O )‡zUÕöýûÇô^€SQA:qBhÕªxi”€ 0¤H$´kWEL wl,7«c¿Ã‡Eøø¨«VU³:0` ƒ 53³æ™3¶n+(€l0nÝâ»y“oçÎ xn4 Àû÷—IKw¬X!YW¿…Ààzÿžk×.Qw÷êéÓá ¸Q~wX€Lî<~¼¤¾ž´zµdMÍP,~~MïÞq¹»KNšÔ´qc«c 2kHJv„„•”°Íž-“ÃÎêpÀ(t럛›”¹yóáÃ¥DøºuàG `UÕ¶›7 „…)sçÊ\º$@¡À†{``TT¶mÛºUlÅŠš€€..˜þ2 ÁŠv€ÃÌŠv]µ¶„ƒƒÚ·l©´¶n‚?—A¿56ÃÂøâç§îÚU1mÌ}Iú´¢d0€Ó¿ óå ûþý"ÑÑûŒ:uêØì¾""""ÖPòEDDDì¦oß¾|÷ÝwÙÊ“’’lzŸ#FðÉ'Ÿd+?þ<ýõ—ùøÒ¥K6½¯ˆˆˆˆ5”|»¸pá‚EâåÍ7ßäÉ'ŸÄ`0ØtÔ˵kט8q¢ù¸_¿~tïÞlv‘ÂRòEDDDìâèÑ£ÇÆ ³K2äèÑ£æéLo¼ñÕªUàÆ¬Y³Æ|NSŽDDD¤((ù""""ùzï½÷X½z5­ZµbüøñÌž=›yóæ‘’’BíÚµ2d¥J• [·nÙ’/;wÆÙÙ™%J°`ÁŒF#‹-bÙ²eDGG“––F`` uêÔ¡}ûöTªT)߸zõêETTT¶²bÅŠåX?§5_Ö®]Ë¢E‹8räÉÉÉøùùѸqcžþyüýý­}E""""¹2FcQ!"""÷¶=zð믿¦$Š››³fͲ¨SªT)¢¢¢ð÷÷§|ùòœ9s&Ƕ|}}9þ<Ý»w'"""Ç:ƒéÓ§Ó§OŸ<ãªQ£‡²ú9Ö¯_OóæÍ¸rå Ï>û,K—.ͱ®‡‡Ó§O§gÏžV·/"""’ƒm5-"""²xñb8À¯¿þÊĉÍ£LâããùôÓOˆˆˆ`Ê”)×ÍŸ?Ÿ5kÖ°`Á8`N¼”,Y’o¾ù†åË—óÍ7ßðÆoP¶lYΟ?Ÿo,?üðS§Nµ(›={6kÖ¬aÍš5üöÛo¹^Û»wosâÅËË‹ÿþ÷¿ÌŸ?Ÿ®]»põêUzõêÅÆ­|3""""9Ó´#)GGG–.]jž’³uëVfÏž Àž={hÚ´©Å:,>ú(~~~lÛ¶Í\^±bEºu놗——¹ìã?æâÅ‹ùÆòÈ#žžnQfž²túôé¯;tèóæÍ3ÿ÷¿ÿ5²éСuëÖ%**Š´´4ÂÃÃY¸pa¾±ˆˆˆˆäF#_DDD¤@7nl±Jæï­­P»vmÊ”)ÀîÝ»ñññ!88˜'Ÿ|’·Þz‹-[¶àëëkÛÀ3Ù¼y³Åñ¿þõ/ó÷ƒvíÚåZWDDD¤ ”|‘ÉXT7ƒ“Óí´Ö.%çææÆüA›6mptt$--£G²lÙ2>üðCš5kƘ1clwf×®]³8Î<ê&ëqÖº""""¥ä‹ˆˆˆ‰ÐÐPV­ZÅ¥K—ؾ}; 솇‡“œœ À† hݺµùëæÍ›wtïÀÀ@‹ã#GŽXgÞ©)k]‘‚RòEDDDîºóçÏ3zôh<ˆ‡‡ 6¤k×®¼õÖ[æ:iiiÄÅÅ™ëÿõ×_毬ë¼TëÖ­-Fð¼ÿþûæ„ÎîÝ»-ÖƒéÞ½ûÝKDDDDɹ뒓“™0a!!!”,Y’ÐÐP¨]»¶¹N­Zµ¨P¡‚]îïîîÎôéÓqtt`áÂ…T¨P ðÈ#˜GÜ4lØáÇÛ%yx(ù""""w]©R¥øøãiܸ1/^$22’-[¶pýúuœéСK–,Á`0Ø-†N:±nÝ:Z¶l‰Á` ..Ž]»v‘’’‚··7Æ 㯿þÂÃÃÃn1ˆˆˆÈÃÁ`´ve<)¨|±#%_DDDDDDDDìHÉ;RòEDDDDDDDÄŽ”|±#%_DDDDDDDDìHÉ;RòEDDDDDDDÄŽ”|±#%_DDDDDDDDìHÉ;RòEDDDDDDDÄŽ”|±#%_DDDDDDDDìHÉ;RòEDDDDDDDÄŽ”|±#%_DDDDDDDDìHÉ;RòEDDDDDDDÄŽ”|±#§¢@DD²‹%))©¨Ã OOÏB_¯‘/""""""""v¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bGJ¾ˆˆˆˆˆˆˆˆØ‘’/""""""""v¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bGJ¾ˆˆˆˆˆˆˆˆØ‘’/""""""""väTÔˆˆÈÝg4ÂéÓΜ:åÄåËŽE‘ˆˆˆ< \\Œ/žFpðM¼½Ó‹:‘»FÉ‘‡DZ¬]ëÁ¢Ež¬_ïÎ¥Kü("""E§råÚ´¹J×®W¾YÔáˆØ•’/""U«<øà_Nžt¦I“ë x‘úõ“ L¡D‰4”‡‘»àæM/:rè ›7»±|¹ß|ãÍã_eôè ¦uˆ"va05Ø\Dä^KRRÒ·íÌØ±~lÜèÎÿüOC†$è5"""rÏ0aÝ:wÂÃ}9q™ÿûƒ%àêªSåÞ€§§ga/ÐȑԦMn Tš²eS˜=û %uH"""" hÕêÍ›_ç矋3qbI¶l)Æ´içðõM+êðDlFÍED@¿þZœÿ» -[^cÎ%^DDDäÞæèhä….qš„Gºt)Ï‘#.E–ˆÍ(ù""ò€Y´È“·ß.Åk¯%òßÿÆjØ®ˆˆˆÜ7ªVMaîÜ3”.Ê‹/–%&F“5äÁ ä‹ˆÈdï^WFöçßÿNdðà †¢ŽHDDD¤`¼½Óøæ›||ÒèÛ·4×®éÇV¹ÿ©‹ˆ< yå•24mz‘#/u8""""…æá‘ÎW_ÅçĘ1¥Š:‘;¦ä‹ˆÈbâDà¿ÿÓÖÑ"""rß+_>•ðð8-òdË·¢GäŽèŸç""€#G\øå—â¼ùæ<=Ó‹:›hÝúmÚ\cÜ8?ÒÒ4ŸZî_J¾ˆˆ<>ù¤$µkߤS§+EŠˆ!C†DPP,êplÆ)&†?ýDÙ_¤JT ¢jPåž}6ÏëœÃÿÍ7 lÞœ*!!TzäÊôí‹ÛÆw)r±¥Ñ£ÏóÏ?Î,^ìYÔ¡ˆš–޹Ï;çÄÚµLš«vEÄÂâÅ‹:t(...ìß¿¿ˆ#*˜²Ï?óÉ“ºÆ}ÍJ€áæMs™cBî«Wã¾z5 ¯¿ÎÅlªˆØQ¥J)´kw•Ù³‹Ó±£~Ñ$÷'|¹Ï­\é›[:mÛ^-êPDDl*µlY.ýïÿrvæL’:tÈ·¾S\o¼aN¼\9’ãQQÄ|÷FggJNœˆÛßÛ5n±½N’ع³çÏ;u("…¢‘/""÷¹Í›Ý »Ž³³±¨C‘"2yòd&Ož\ÔaØÜÙŸ~2ïµpa¾õ‹ÿø#WL¿O©\™ÄW^àZ‹$=ý4^óçàóå—\oÚÔ‹ˆ½4kv #[¶¸ñôÓIEŽHi䋈È}îàAjÖ¼QÔaˆHß~û­y–g3­Q’’’BíÚµ ¢zõê\¹r{ýË/¿l¾fÊ”)@öõ\âââ:t(5"((ˆË—/ç¸æKPPyÊÀÍ›7Íu‚‚‚øí·ßÌç’’’øòË/éܹ3¡¡¡Ô¨Qƒ-Z0|øp:dõ3»8@•ÚµÍk³x.Yb>ç|â•ëÖ5Ÿ+žéþ¶â±fùûäzõ,ÎÝ 5ï¶y3ׯÛüþ"b?nnFªTIáÐ!—¢E¤P”|¹ÏÅÆ:R¦LjQ‡!"Y4oÞÜü}dd$×oý°¿{÷n’““HKKcÛ¶mÙ¾Ïz}†ÄÄDºwïÎâÅ‹ILL´IœÑÑÑ<ýôÓ|úé§ìÙ³‡¤¤$RSS‰‰‰aþüùtêÔ‰¥K—ZÕÖÍâÇŽ5—zçœÎžÅ’BÀС8\»À•.]¸Ü½»Mâ7KKÃùȑۇ¥K[œNõ÷¿}žnQWDî¥K§¯ÉrRòEDä>—œì€»»¦‰ÜkªU«†ÿ­øSSSÙ±cgYo$ã822’k·’^^^ÔË2r`óæÍT¯^+VpøðaŽ=JñâÅs¼ÿÑ£G™4i’ùØÅÅ…£Gš¿ºwïNzz:äÌ™34nܘåË—³gÏÞ}÷]À4RgøðáÄÄÄXõÜWºuãJ×®8\¾LÀ°aø~ô®QQÀ­ÍøñVµUIIÒÒÌÇé®®çnnÇŽ6J^‰ÈÝãîžÎÕ«Ú]@îOJ¾ˆˆÜçŒF´Ë‘È=*óè•Í›7[ü·V­ZÇ™“2M›6ÅÑ1û¢’>>>Lš4‰Ê•+ãàpçÿŒ‹ŒŒäÀæãððpªV­Š»»;½zõ¢víÚܸqƒ¹sçZÝnü¸qÜ  Ø¶m”øî;Ò½¼8÷ùç‹»ãØ Ì˜%I­¿8Eî;Cö²ÈýBÉ;Éœ|ùûqã»wïLk¹>><öØcT¨P£ÑȺuëØµk—ùº-ZäØž——×]‰;'S¢¬åtæL¶ˆk¦dŽÍ9:r38øöá¹s–ñÄÆÞ>pp %S]{ÓjE""""vR²dIBBBØ¿?iiiL:€&Mš`0 ãÔ©SL›67L»–U¬X‘ *Øäþ†LSkŒ9ŒÕÎ’€X·neË–½ãû:ÅÆ0t(¤§›îíèˆ!- ŸiÓHnØk­[ßñ=rrµuk\nÐ)iq®X¦äÖõ°0Òm8‚HDD$?ù""""bG™G±dLãiÚ´)aaa€åôŸÜF½FæÅxSRRؽ{·E&44”[k³€i*Tdd$ÉÉÉ\¼x‘}ûöñÃ?ðÜsϱgÏ«îiHM%`Ð ¸Ò¹3ç3v@2 >§[ üÚÚå^0M?´µµ÷×_cHNÆý¯¿ðÈ´cÓÅ~ýìr‘Üh䋈ˆˆˆ5oÞœ¯¾úÊ¢,#é’‘„ÉZßVBCCqww7Oêzk"€ 6Pºti>ûì3zõêÅÙ³gÙµk]ºtɱ­ô[£Xòãûá‡Û¹€”Ê•9?néîî¸mÞŒçà˜HéAƒ8óë¯ól«Ü³ÏRìÖ.Q™Û±ƒªAA¤ùùqâ֢ũÄ}ú)bHIÁ7<ßðp‹kæú£Zõ,"""¶¢‘/""""vÔ¨Q#‹Erýüü¨Zµ*þþþT®\Ù|ÎÑÑ1Ç„Layyyñõ×_Ó°aÃ\ê­T©üñÇ'44///ñ÷÷§^½z¼üòËüúë¯9n}•çÒ¥”˜9£‹ ±“'›ÝÿàR*VÀuÏ|ßß6™ÅÕÇçô¢E\éØ‘Ô€ŒNN¤y{s­ukbfÎäâàÁv¹¯ˆˆH^ Æœ&‹ˆH‘Š%))ɪºAAU™2%–§ž²®¾ˆˆˆÈýhР>û,6Ÿš"¶€ç­©­…¡‘/""""""""v¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bGJ¾ˆˆˆˆˆˆˆˆØ‘’/""""""""v¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bGJ¾ˆˆˆˆˆˆˆˆØ‘’/""""""""v¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bGNE€ˆˆÜââ’ùå—4iâG“&~EÎyžÅ–âã“Ù°!޳g¯“–fäÕW«áì¬ßÙˆˆˆˆ†þ%""{)S°eËù¢åŽ=HÏb+‘‘i×no¾¹ƒ‰÷3eÊRRŒE–ˆˆˆÈ}K#_DD¤ÀÜ<8ä)ò =‹­L™r€¤¤TžzªUªxáà`ÀÙÙPÔa‰ˆˆˆÜ·î(ùÒ­[7æÌ™c«XDDî+]»v%""¢¨Ã(þþÅ<¸FQ‡aÒ³ØÊ‘#W òbÊ”GŠ:‘Â| ãõ×_·E,""÷‰'uE*¯uR®\IaݺXNºŠ««µk— qãœG•¤¥ùûïxºLjj:•+{ÒªU®®Žæ:ÑÑWY°à-[êÖ-çÙ³ç"®®´l@¥Jž9¶s5kÎqåJ ÁÁ^´jUšÃ‡/³bE O=UŽ  ¯\Ÿ¥°÷´æyî¶‚<˺u±ìÞ}‘óç“ññqaÊ”ƒÔ®]‚6mÊ’’Îúõqœ¸¸8•ÈæÍñ¼òÊ߬XÑOÏÛÿ›úöÛ£$%¥Ò±cÜØ·/‘ã;v7íÚ•ÁËË€={.òÎ;»HK3Ò¸±uëzsñâM–/?Ë_*Ð3Y{ÏÂÿü iiÖe_üü\­J¾äYZ¶  xq¦M;„ Ï>[0|øðÃ}ÄÇ'R‚°°R898q"‰ â8|ø²’/""""¹PòEDDlbÆŒ#¤¦yé¥ F®ƒáÖú¬#FÔ¢sç5ìÚ•ÀæÍñ4mZŠéÓsùr ãÇ×ãùç«X´3sæ1Þ ž¢gÏÊæò””t–.}œòåÝÍe£FídΜh¶m»@›6¥øî»£¤¥2$„Aƒn¯å2xp :v\[ g²öž…yžœ X£@#_lý,-[вeß}w”ҥݲ­…“pƒÊ•=Y°à1 å 7 ˆˆˆÈÃDɱ‰;.àèh`ذšæÄ € ýûWg̘]ìØq¦MK±iS<ŽŽn2uê!ŒF£9épõj*{÷^n'+:w®h‘8hݺ4sæD{Ý\¶k×EÜÜœxíµêuË—÷ {÷@¾þúˆÕÏdí= ó<9Éœ,²5kŸ%/ÿúWY¾ýö(¿ýM›6¥ÍÓÈJ–t¥dIW›Ç,"""ò PòEDDlâòåüý‹å¸ðjÅŠ\ºdZ &!á&iiF&O>k{Y×)SÆ-[ŒÑ©©·‡‹\ºt“Ò¥‹áè˜}käòå=¬x’‚ß³0Ï“{¬ù’ÁÚgÉËС!T¬èÁüù§xÿý=¸»;Q¿¾;Vä©§ÊY‹ˆˆˆÈÃFɱš!Ó¯²‡ ¤I“Š0š{Çùóç)Uª”ùxÍš5´nݺè)"Å‹;sää´l ˜“'¯P¢„ó­ºNܼ™Î+¯äž<ÈX· J”páܹdÒÒŒÙ0§O_-T›ù±ÕóØsÍ[pp0еk ]»’žnäĉ$Ö¬‰å7¶±o_"o¾Yë®Æ#"""r¿PòEDDl¢aC_,8Åĉûyë­:æòÄÄ›LŸ~Ø\ Y3~ýõtìX![[^2/f[Põëû°hÑi¾úê°ÅÔ£³g¯]¨6óc«ç±çš/¶°fÍ9Z¶ ÀÑÑ€ƒƒ*U¼¨TÉ“<ÎܹÑJ¾ˆˆˆˆäBɱ‰—_fÉ’Ó|óÍQ¶oO A’’RYµê 7 õ!,Ì4JìÕW«±lÙY† ÛÎwߥ^=¼¼œ‰¿Áá×ٻ÷"ß~ÛŒråÜó¹kv½{±dÉþûßýlØGݺ>·v;:ƒ«kFÂÂÊ ‡•lõ<ö\óÅ Ø‚ øR¡‚))élÞÏéÓW©Q£DQ‡'"""rÏRòEDDl¢fÍLšôo½µ“ÈÈ"#Ìçê×/ÉÔ©MÌ ñ–/ïÁ?6gذíDE%•hÑVHH‰B%^êÕóaüøz¼÷Þ¶n=ÏÖ­ç õá±ÇÊ0qâ~ÜÝmû¿?{>Ͻ¤M›Ò¬XÃÒ¥g,ÊË—÷àƒêQT""""÷>%_Į֭[ÇÔ©Sùû￉ÅÕÕ•š5kÒ³gO^}õUœ-‡á§¤¤ðá‡2sæLΜ9C¥J•:t(]»vÍs]•‚ÜçàÁƒ„„„˜÷îÝËñãÇyï½÷Ø¿?eÊ”áþçøÏþƒ—×í5òŠMäaàÆàÁ!4iâgQþÄeiÖ¬ëÖÅrúô5\\¨SLJÆ}³µQ³f þøãqvî¼@TT"ׯ§Qº´Õ«'$äö(ŠÀ@O¡~ýìmdœ«[×Û¢ü¹ç*ÓªUkÖœ#))•à`/Zµ*Í»ïî,ŸÍéY sOkŸçn+̳ôëLɒŲÕÿüó&ÄÇ'³}ûNºŠ»»•+{Ò´i)‹­§EDDDÄ’Áh´vvyvݺu ""Âfɽ«  îŽ3†>ø ×óÍ›7gùò帻›~l4yæ™gX°`A¶ºýû÷gÚ´iæãÌÉ—‚Þ'kòeðàÁL™2%Ûu]ºtaΜ9w›<¸ìý÷_ll,IIIVÕ ªÊ”)±<õ”uõQQ‰Ôªåm±åuTT"Ý»ÿ…§§3ÿýdŽ»!‰ˆˆÈ½kР>û,¶ˆ#‘‡Q@@žžž…½<ÂÁ–Áˆdøý÷ßÍ GGGf̘ÁåË—9pà¡¡¡lذ#F˜¯™={¶Erãý÷ßçâÅ‹lß¾?ÿüÓf÷ÉêçŸfåÊ•\¼x‘áÇ›ËçÎË™3grŒí£>ââÅ‹ìÚµ‹Õ«Wè݈ˆýMž|€¶mÿdäÈ„‡GÑ¿ÿfºtYËÍ›éôêUE‰¹«”|»È<ä¹çžãå—_ÆËË‹5jðŸÿüÇ|î»ï¾ãÆÌš5Ë\^¿~}ÆŒƒ··7 6ÌudKaî“ÕèÑ£yüñÇñööfðàÁçŽ9’-¶Fñæ›oâííMhhhž£nD¤hÔ©ãÍÉ“W™;7š¯¿>ÂÊ•1¤¥éÒ%þý«ç߀ˆˆˆˆˆ iͱ‹¨¨(ó÷?ýô?ýôSŽõ®]»ÆÑ£G©U«‡6—7jÔÈ¢^Öã;¹OVMš41_¢„åº Ó>2ÇÖ A‹:õëk‘I‘{ÍàÁ!tîÈŽˆ‰¹†—— <âKppñ¢MDDDDBJ¾H‘Ëi] ÛÊÊmýŒâÅoÿ0fûŠHÑ(_Þòåïÿ†DDDDäþ§Ÿ4Å.20yùå—1¹~eŒ<©Q£†ùšÝ»w[´·}ûv›Ý§0ªU«fþ~çÎçvíÚUèvEDDDDDäÁ§ä‹ØEÿþýÍßÏœ9“I“&Krr2ÇŽcéÒ¥ôïߟ^½z™ëõìÙÓüý–-[˜4i—.]bÇŽŒ=Úf÷)ŒÌ±mß¾?þ˜K—.±{÷î\c%_¤&OžŒÁ`Èö•1z¥sçÎŒ5 €´´4^ýuJ—.››AAA<õÔS|õÕWÄÅÅ™ÛìÑ£;v4¿þúëx{{Ó¨Q#ÚµkgqÿŒm¯ sŸÂèÙ³'íÛ·71oooêׯO›6mî¨my°)ù"v3aÂÖ­[ÇsÏ=G¥J•puu5ïDÔ¡Cf̘Á?þh®o0ˆˆˆà½÷Þ£råʸ¸¸P­Z5¾øâ hÑvæ…q zŸÂ0 Ì;—qãÆe‹-ó®J"""""""YiÁ]±šÑh,ð5-Z´ E‹V×wvvæwÞáwÞ±(ŸFŒ¨Mh¨Ožå‡_fõêslÞÏÍ›éŒY‹zõJæØnLÌu–.=ÃÁƒ—ˆ‹KÆÇÇ…F|yæ™@ÜÝ-ã_¶ì,?üp,Ï8{ô¨D‡¬z¦ÄÄ›üüó?DF&`4¨U«={V¦T©bV]oëv òÞ2äöçR÷ÛçTDDä~ ä‹ÜSüüü1b#FŒ(êPDÄÆ,8ŰaÛ-ÊÒÓ‹(+]½šÊÖ­ç +UÔ¡ÈÝx×K–œa×®‚ƒ½ò,ïØq ûö%ZÔ¹t)%Ç6¿ÿþï¿¿‡¬Ëh-ZtšéÓðÃÍ ô0—ÇÄ\cëÖóyÆÙ§OUÏsòäUzôXG\\²¹lõê~üñ8?ÿÜ‚jÕŠßÕv òÞ2ËíÏÅZ÷ãçTDDä~ ä‹ˆˆÜ?ýt''ï¼S—*U¼pp0àꪑlöp7ÞõêÕçhÒħ<Ëãâ’ .Îã—áàÁK¬]{.×6/\¸A™2î<ùdY‚ƒ‹SªT1Ž¿ÂŒG8sæ£FídöìÛ‹«?ùd9jÖôÎÖNzº‘þý7ãîîD«V¥­zžá÷—Lƾ¼ôRŽŽ~þù8ë×Ç1tè6/nƒƒƒá®µS÷–Yn.ÖÒçTDDÄ>”|‘»âôékT¯^‚矯RÔ¡<ðìý®¿Â‰I¼øbÕ|Ë,x Ót›qã"ól÷¥—‚xýõš2å&Zµ  ]»²üë_+Ù¶íûì »w_¤lYw= ôÀÉÉOO'š4±œäää@µjÅy÷ݺå½{WåÊ•»óC¿¿óæµÂÍíÎþ·øãͳ ȳsÁ1½Ûï:·Ñ?ýKZš‘Ç/cUùúä“ý,XpŠ·ß®›m*YVF#DDDãææÄÓO—³ú ³œÖ‡É(KIÉË[µSy½ÿås*""r?SòEDD í‰'Ê™ ËP»¶p{@~úö fذí¼þú6Ú´)CHH ªTñÄÁÁï[y≲wœxòM܉{å]¯ZƒŸŸ+uëúXU^XF#¼ÿþ¾ÿþ£FÕ¦wïü‘ݲ%žèè«<óLÅíöãæfz¯W¯fŸb•QfM{¶j§0òzÿ÷Jßy˜ÝÑ¿>Ì‘#G¨PAó|¥h]¸pOOO\] 6Œ_¤°.\¸@pppQ‡QäJ”ÈþC—³³é7üéVþ‚ÿé§ËS³¦7‹ŸfÞ¼hºÌé´o_žaÃjz PVii¹T¦ŒmÖ(±Çš/î…wšjdݺXž|²¼ÅŽD¹•VZš‘‘#w0þ)ÆŒ©ËK/Y·{OÆB»Ýºè~åÊ™>q"‰Úµ-ý矤[uòï#¶j§ ò{ÿ÷BßyØiä‹<®_¿Ž£££’/"÷©Ê•=4¨†ù8**‘^Ø@||r?^¸œíÜ¡C—ó¸ÒʹBù°çš/¶r'ïzË–x’’RyüñÒV•FrrƒocõêÞ}·.½zY—xIL¼Éòåg©XÑƒÆ 6)c´Èš5çhß¾¼Å¹Œ„êÔÉD­Ú)([¾ÿ¼Øês*""ò0º£äKµjÕ¨V­¶ŠG¤P }úôaâĉEŠ<$ºuëVÔ!<0>úh]ºT´Ø™&  ÎÎæW¬U±¢iäADD4:T0O‡X½úœyT„=ÙsÍ[¸Ów½zõ9\]yôQ«Ê *))•W^ÙÄöí?¾Ï?_ÅêkçÏ?ÅÍ›éÛ'[ë±ÇpssdñâÓ<õTyscÛ¶óüüó?8;;ðÄeïZ;e«÷Ÿ[~NEDDFù"""EjæÌ£LŸ~˜’%]©PÁƒ›7Ó8rä2©©FZµ (P[!!%¨UË›¨¨DZ¶\N•*^œ?ŸÌ™3רWχÈÈ‹vz {®ùb y×ãÇGrèÐe&Lh@` )©µjU M›–2¯m’!·r€/¾8Ć q€i:@xxÓ¦`èÐó{ûôÓ}lÛvOO'–,9Ã’%g²µ—9žÌ~ûí:w®˜ç;èÝ{#iiF~ü±¹¹¬D !<<Š~ýþ&8¸8NN¼„ѯ½VÒ¥ÝîZ;}oy½[±åçTDDäa¤ä‹ˆˆ©Q£jóË/'8|ø2 ¦Å?]\èØ±÷u‚ƒ½(YÒ´þÍñãWˆÏ{÷Œx2‹‰¹ÎÉ“W)_Þ=ßm·m»€ÑhÌu”RrrÇŽ]!=ÝHÕªÅsí‡önÇÚ÷–×û¿×?§""5hi¤ÝgŸÅq$ò0 ÀÓÓ³°—G(ù"%_än{Ø“/òðéÖí/nÞLgÁ‚Ǭ*—»Cï_D&J¾HQºÓ䋦‰ˆÈ=-:ú*o½µ3ßzùòÆ5ïBD§#jáë›}‡¦ÜÊåîÐû¹?(ùrÙ´iþù'½{÷¦R¥J¾~åÊ•lذþýûSº´}·œ”‡Ô¦MðçŸÐ»7¢²r%lØýûƒú¨XáÚµÜ×ÿÈ,c›i±Ü¶o.è¶Îb[zÿ"""÷%_î1›6mbüøñ´nݺÐÉ—ððp:uê¤ä‹ØÇ¦M0~<´n]øäKx8tê¤ä‹X%$¤G>SÔaˆˆˆˆˆšCQ –š5kÆØ±c •x¹+š5ƒ±c —xyiäË=¦Y³f4kÖ¬¨ÃÉ]³f¦/±ÊC“|ɼŠ‹-âèÑ£бcGJ–,iQÞ¼yìÙ³‡#Fàîîžã¹Q£FQ¬X±lí/^œ… Mpp0;vÄÑÑ´cLL ‹-"!!Æóøã[´×š/ÑÑѬ\¹’ØØXJ–,IëÖ­©Q£F®Ï|íÚ5,X@tt4eË–¥C‡x{gß:òÂ… ,_¾œ3gÎàååEÍš5iÑ¢ƒÁê÷ûP‹‡/¾__8Ðò\r2|ú)8:Âðáà”ÇG.óZ(>>°h= б#dé£Ì›{öÀˆ¥šÏ·ú¨EûÅ‹ÃÂ… ÁÁ¦öoõQbbL÷NH€Æ!KÍsÍ—èhÓ}bcMñ¶n yôQ®]ƒ Lו- :@}” `ùr8s¼¼ fMhÑÔGEDDDDä>ðP%_ÂÃÃiР#GŽäàÁƒæs¾¾¾¬ZµŠzõê™ËæÍ›Ç¬Y³8p`ŽÉ—Y³f1tèP‹äKxx8uêÔaøðáœ8qÂ\¿Y³f¬X±‚… Ò»wonܸa>÷ꫯòÅ_˜s[óeôèÑ|ôÑG¤¥¥™Ë /¿ü2_|ñÎΖ M9r„N:m.óóóã÷ß§yóææ²éÓ§3tèP®_¿nq}ݺuùóÏ? Èó½ Pª”)Ù0n0hÐísÀ·ßÂW_åxÛk¡4h#GB¦>Н/¬Z™ú(óæÁ¬Y¦„ONÉ—Y³`èPËäKx8Ô©cJeê£4k+V˜2½{C¦>Ê«¯š’Kr[óeôhøè#ÈÔG1àå—M×gé£9bZ÷%SÅÏ~ÿ2õQ¦O7=G–>Jݺ¦$ú¨ˆˆˆˆˆÜãšäK†~ýúáääDß¾}ñôôdÙ²eìß¿Ÿ²~ýú;nÿµ×^ÃÃÃ×^{ GGG"""Ø´iƒ bÖ¬Y4lذ°0Ο?ÏìÙ³™6m}ûö%444×6§NÊ„ 0 ´oßžNœ8Áüùó™1c~~~L˜0ÁâšàââBß¾})V¬+W®dÿþý<óÌ3}šG}Ô"ñФIºuëÆõë×Ù¹s§Å¹‘#GZ$’œœœxï½÷ظq#<ú裬]»–Å‹sùòesýÚµkãççWG—ŠáçŸáìYø×¿Lɹso'Q¬5r¤å5..ж­iJ“ ú(ÇßN¼€iêPÕªàà`Z#&³[}”<ú('OÂéÓð裖‰€&MLɨë×!KeäHËD’“Üê£Ü꣘Ú]»/6%Ÿ2Ô®mQ#"""""r{è’/*TÈVæéé @JJÊ·_¾|ùleøøøXŒLÉ(Ó¸¹¹xñ"UªTÉñ|ÕªUHHH°(¯\¹r¶ºem,[¶Œ^xwÞy???ªT©ÂK/½ÄÖ­[sIòТš¾ïÔ ‚‚ ÞF}”[}ôQrè£xx˜ùÍÒGÍÇyôQ2úS.}”[}”,}”ú¨¹,SeÙ2xáxçS²¥Jxé%P‘ûÄC—|±VÆ"»IIIÙÎÊ]ì£dô§\ú(·úh¶Ýšrè£æ²L}OOx÷]ص ®\ß~3-Þê£EfÝñu}ÄwÛ¾³ªþÞ˜½}Ä” S¬q·b/ u>­CЇA9~ý¼ëg‹º×S®³`ßúÎéK«/[òqÍ>oÆàùƒÙ»ßªû½¹øMsû×R,“º…i?ݘμ½óèúCWMnDƒI è4³?íü‰ÔôÔ;®/"""b+J¾ä¢bÅŠ,Y²Ä¢|ÅŠæi;w+Žòå˳qãF.\hqnûöíÌ™37774h`q.<<œ+W®˜SSSy÷ÝwxôÑGÓ¶×Û¶m3×quu¥Q£FŒ5 £ÑÈ?ü`¯Çz0}ýµi­’—^2­uR¡ôê•s’ÁnõQ²ôQV¬¸=mçn¨XÑ4šfãFÓnI™mßs昦Qe飄‡›’)RSMI0M5Ó4«L}WWhÔÈ4=Êh4%¸D䮸òï/¶h«®æÌ¥3¤¤¥—Çÿ ó÷Yw|]ž×o:±‰ùûæãæœóTÌ´?|ñpF,Áî³»I¼žÈåäËD‹bÜŸãè;§/F£ñŽê‹ˆˆˆØÊC·à®µÚ·oÏ»ï¾Ë!CX¿~=ÿüs†ÎW_}e.óóóã÷ßÇ××€²eËòÈ#°uëVöîÝkq}Ë–-Í#e$‰‰¦‹«ëíQ<'š¶T4¦O·í}CCM ŸÉ“!SåwLS€îbeÀÓ¢»lJŒd$G xùeË”2|þ¹iñßL}??SÂæV¥lYÓ{ܺ²ôQZ¶¼=RFDì®_X¿le!þ!|ÙùKšOmΩÄS$^OÄÛÍ;[½Ï6~FÒ$F·Í ¿¼`“öœ?@׺]é\§³ùš'ª?ÁáøÃLÙ0…#瘓)­/"""bKMò¥mÛ¶+V,Çí“3Îùûû[”Oš4‰=z°~ýzœœœhÓ¦ õêÕcÞ¼yQ¬X1«ÚïÛ·/‰‰‰ÙÊÝÝÝ;v,uëÖ5—¥¦šæœ;::ZÔ0aýúõcåÊ•ÄÆÆR²dI{ì1jÔ¨‘ã³´lÙ’ýû÷³páB¢££)W®:tÀÛûö?Š+V¬È–-[Ø¿?Û·oçìÙ³øùùѨQ£<·¾–,ví2M/jÝ:û»¯½fúo|<ÄÆæ=R£m[(V,çí“3Îeé£Lš=z˜F¾89A›6¦Ñ7óæ™bÉÔGól¿o_S)+ww;Ö´Õu†[}”,}”  _?X¹Òô¬%KÂc™FÁäô,-[Âþý¦©JÑѦQ-:@¦>JÅŠ¦)\û÷›¦0=kJÐ4j”÷Ö×rWm:±‰‰ë'r öî.î´ nËðVÃ)é^2ßk“S“™¾y:K,áTâ)\œ\¨Sº}ÃúÒ¢r ‹ºF£‘yQó˜³gã’–žFU¿ªôíA׺]q48ær8ˆW"^áfÚM¾êúõÊÔ#-=Y»f1wÏ\N]:…Ñh$Ð'µ:ð\èsæé1{cöòÌ÷Ï0¸ù`7 ˜ÖJ¹žr=×û-e9U}«šãž³g¿íùCq‡H3¦Q¹dez„öàùúÏc0ò}O÷27g7Ê–(KÒ¤§Š?ÄŒ-3øô>Í11SØöý<òßíÌßóöß™­/"""bKUò%ck炜 #,,Ì¢¬sçÎtîÜÙ¢,¯6úöí›c¹»»;ãÆ³(ËXX7ëº`Ú¶ºOŸ>9¶•[={ö̳>@Íš5©Y³f¾õ$=fúÊMF&?mÛÞÞÚ¹ çÂÂL_™uîlú²¶\ú(îÖÍ¡R©äÓG³ÅaE¥fMÓ—ÜsvžÙɇk>$-= 0%S~‹ü§wð{ïßqwvÏõÚ”´^üåEvœÞa.»™v“¿£ÿfóÉÍŒÿãéYßÔ?ŒF#CeÉË5ŽöÆìeoÌ^Ê—(Ï£•Íñ>k­eÈ‚!”+Qޝ»~M¹åøä¯OøzË×u£ÎEu. gg^h˜óüø{úãëîkŽ{øâá,Ø·À¢ÎÁ¸ƒŒûsbðOþ_¾mVÿ¨ºùçÇÏÃ̓6[ï± Çh3­ g/Ÿ¥¤{IWhL¿°~Ô °î3wüÂqÅ¢]µv¸:YN¯L7¦3féZViÉÓ!O[“5í‡U #Ø/˜9{æZ6”¶Ámq08°áľÝö-e‹—¥MP›B×±¥‡&ùr¯[¼x1 ,à‡~ D‰T«V­¨C±´x1,X`Zä¶D P`éÁ¥t©Ó…ך½†¿§¿yñÒCñ‡øêï¯x½åë¹^ûãÎÙqze‹—eÜÿÇ#áÊ+Dì‰àóŸó«þvÁí(åYŠ9{ç°äÀ¼Ý¼Ör­«¶ÆÛÍ›£ç2{÷lœs¼Ç÷Û¿çƒÕмRs¦tš‚‡Ëíµ‡V^›³Ÿ´ÿ„f•šáäàĉ„,Ø¿w—Ü“F{‡íÍV¶þŸõŒY:†™ÏÎ4ðX°o ö- z©êŒxlõÊÔÃÕÉ•¨sQ¼·ò=~ü•®u»R¿\}k^·]$^O$ñºiä[\RK,aù¡åLî8™UÿWž×^O¹Îë _ÇËÕ‹·Ú¼•íü¬³8rþË_Y^¨ØòjßÑÁ‘Ÿû‘ «'0êQ¤ÓÍçÚUkǘÇÇXŒ”)h}[Ròå±xñbf̘ƒƒ|ðÎÎ9ÿ !Rd/†3ÀÁ>øÀ´Ý³<ôꕭLJO}hž:Ó¸Bc¦u™F»éíXvhYžÉ—?˜¶ ŸÒi ¡eMÓÈ<]=Ü|0qIqü²ûV]EÐÌÛ;€É'[Œp©S¦uÊÔÉÖvZzcÿˬ³x¡á ¼ýøÛ8:XNK*]Ü4¯mµ¶æ)K!!„„ø=lŽÞÌ襣ù¦Û7Tñ­b.Ÿ³wŽŽ|÷ìwSZWhÌÄÿ™È3ž`å‘•ù&_8Tà˜¬Ñ,°φ>KÒupwqçØ…cLß6)–O×}ʈÇFPÚ+‡éŽùȯ}€}±ûØ»Ï"‘¦‘E‘g#³]SÐú""""¶¢äË=¢}ûöÔªU‹æÍ›S¿~ÑýT$WíÛC­Zм¹iç! y¥æÙÖ,©à]Ê%+óOBÞÛ¬G_ŒÆÛÍÛœxɬMP~Ùý Ñ£ÓÔ˜ÅJä:µ(«Ï7}NÒ$ú7íÏðVÃs¬3¦Íü>€6ÓÚТr BB¨_¶¾ÕÓm2ì8½ƒá‹‡3½ëtª•²v$þiéi´bc9 IDATøÂ´~ÑhĈÑü=ÀÙËg t?[úªëWÇuËÔå³NŸñÂ//°9z3›Onæñ Ç³]w)ù}"úp0î ßtÿ†Æg«3îÏqT/Už¡VL-,Dû‘g#y%âÊ/Ë7Ý¿¡~Ùú8:8²7f/ÿYù†,‚§«'­ª´*T}[RòåѾ}û¢A$oê£bì³Øl› 6¬;¾Ž9{æðt§sÍŠ~+Øyz';Nï`ÛÉmLY?w&wœLõRÕó½OäÙH†,ÂÔg¦æ˜´Éa‘×z-)i)ùÞÇžk¾de0hT¾›£7ŸŸí|\R/ýú§Oñm÷osLŒ$^OdÅá‡çxŸºŸšò>4òÅbÉÖ´±'‚tc:cÛµH˜„†þt8fvâ—Ý¿˜Ï´¾ˆˆˆˆ-)ù"""…¶áƶj1úåTâ)þIø‡@ŸÀ<¯ ô d÷ÙÝDž¤^ÙzçÖ[k®PÕ·*ÛNmcÓ‰M4«Ô,߸ꔮëM_åÅ_^¤çÏ=ùºÛ×4*ß([=Gƒ#+46ÿ€=å:í¦·ã­?ÞbÞ‹óò¼ÇþØý ø}“;NΆª¾UÙ»M7áåê•oÜ÷£ÑÈöÓÛ(åYÊâÜÉÄ“ôšÝ‹ÄäDfö˜Iƒr rnãÖèž‚²¶}À¼NMN2’^™ë´¾ˆˆˆˆ-)ù"""…y6’·–¾Å«M_ÅßÓÿÿ³wÞaQ_~—ÒE@E)¢‚ bïhÔX°·h,AšbÄš_4‰QcKŒŠ1Å(ê§QŒ]À†)Dì @‰"‚ôïÂÊÊ˲€eÞçñydîÜsÏ9sîݽggÎÍüƒóÉÎͦWÃ^%žëæèÆÅû™º{*ó{̧¥UKR3Sñ»äǶ‹ÛÐR×’.yÜx0aqaLÛ3™gÒÙ®3F:FÜx|ƒ­¶2Ày­ë´–‘_߬>ÛÇlÇ}›;c·å×A¿Ò¥^éña›†1Èy­ë´ÆÊØŠ¬œ,ÎÜ>Óô'¼È~Q¢îW“®òÉŽOø¹ïÏ´°jQl¿aM‡¾?œ¶}Ä”Sp©å‚¶‰©‰\MºŠ_¤£š*5¡T5_þ<û'Éiɸ9¸amb–†7Ý`MÈÎÞ9‹¶mê´‘ö¿štww2²3Ø8|c± ']®Ï¾.÷X¿õýˆIˆáÒÌK2»a•E>€“¥±xòDMMæµ›£®¦NÄý¾?ô=€Ìl¤²ö@ P%"ù"¥éÕ°;£vâwÉO¦½^õz|Òî“ÏÓ| W8ï<|‹nQþm÷o¥3/†4ÂñÇ ˆ àÿoŠôust“{ +#+|Fû0ÎgŸîø”¥}–Òß©?Ñ£¹pï‚Üó†» /VïÇiùhÛGšíÀ'‡³wÏÿ$]M]ìªÛ1´ÉP†4–ÿòù5I=¤$ Kú,¡s½Îø\ô!êaiYiXXâ`îÀ`çÁt°U¬ˆ°ªù¬ÝgÔ4¬Éþ˜ý\tgÏ0×7§UV|Üúã×~ˆ‘Ž;Ýwò{ðïÝ"þI^§¼‹ «jUªŒ7ùÞñ:åŦs›Ê-Gž]•m«*c±¬ºïˆÜýb{bÊ|­ÒÆ ¼~Ž=JË–-eÎY²d Û¶m“‘1wî\bccÙ´Iù_®”ÑEÑq¨L®<¼BûÅíyš^(þ"r+„Örâ/í_:-éDôýB1’õ‚ +A‹=Ʀ71ªÍ+ñwtÞ§ Ù|—ù{æ“›—‹gÏrÉ^°”­¡…⯄DÂãÔÇtZÚ‰˜…â/3ƒÑ9}¬?³ÐP+!þÝ¢í¶$>+4æ) l ÝʾKû8:ó(-m^‰?ÿ%l Û&#cÄ>ŒeÓÇåˆ?%tQtŠsãñ ìÍìñ(ûk^›t°éPEZ½]\{tM®o6oÚ½ãwÉ…Gʼˆ¹~]M]fvžÉØ–cUrs}s<:z¨DVeSѺ—e Þd?Veñ7í~Û8{¶ß~kÍÀiÑ¢‰¤ªU¢Ê“/3gÎäéÓ§ôéӇŋcggGll,3gÎäàÁƒEúÏš5‹èèhÌœ9sptt$##ƒƒòùçŸ3eÊHµjÕ¤çlÙ²///†о¾>{öìaìØ±üúë¯ÌŸ?_zÃ*#{ÇŽ,[¶ŒáÇS»vím6m1114nܘE‹ѺukÔÕÕ9wîK–,)õÁ1uêTquuå—_~ÁÑё۷o3wî\þùç&NœÈ… dÎ)ÐïÃ?DGG‡€€¾øâ 6oÞÌØ±céÖ­‡fÁ‚Ì;—“'OÒ±cÇRÇM]‡Êdæö™ŸËê[U?£Ëãß7áóïuó¯ªÉËË¡F÷ û›mÛ¶akkË€8p VVV¥ ª*M¾¤¦¦HݺuñóóCG'ÿK@³fÍØ¹s'ööö2KŽ222غu+NNNøùùI_–ªU«Æˆ#HNNfòäÉœ}:3fÌ(ÕÖôôt|}}155åСCXXXH½ÿþû¼ÿþû%žÿüùsüýý177gïÞ½ШQ#|||pqqáâÅ‹\½z• HÏ›6mšŒ~~ø!999Œ3???ºuëVªîªÒE‘q¨LR3R Œ¤®i]ü>õCGó¿ø«ÛŒŸïÄþk{™%GÙl ÙŠS-'ü>-#ÚÕÑjÉÏ“™ü÷dN^;I/çBñ×÷;¦t-dw›Q캰 ¿s~ÄýG]ÓºJËžÞ}:3ÞW þ²Òñ ÷Å´š)‡f°Pü5zŸ÷•ÏñôÇÜÀœ½_ìÅP÷¿1¯ÕŸO|pñtábÜE®&\¥E¡øë>MF¿[HNncÖÁïœÝ•ˆ?%uQdŠqâæ 6„o !5¡Ø/Ÿï7x¿Ô/Ÿ÷#˜º{*ñOãeÚkÖä÷Á¿K_Üïü{¯S^èjêòGð¾ör©œºš:‹z/bpãÁÒ¶´¬4&ùMâì³E®éjçÊêA«ÑÕÔ•‘­­¡ÍŠ“+8uëå®[ËŽ/c먭dåd1~ûx>{(=ædáÄö1Ûe¾$+jOiçã›}(M¾Ä0çÀže<“9·Yíf¬´s}sû´Ôµdìs²p¢–a-•Ø®¨¿CãBñ»äÀÙ;geú—–|Yujyä•î<@OS m&”ÚOcoi`ÉÚµ»qŒÜÿ)rç6²6d-ÛFo#àJ@¥ß;÷#øôŸOIJM’égVÍŒ•V–º4%,.ŒœÜ>oÿ93\gàuÊ ]Æ´CzV:Ñ ÑEιxÿ"3öÌàî“»2íVFV¬¾[S[¹×Jx–ï“W—ÌTÄs¢´XŒ~×)/ÔhPôö¿cŽæŽÒØât÷½ä˼ÀydædJÛ\j¹Ð¯Q?¹>GYÇ 8]}f‘û6w‚ïKÛ4Ô4øºÛ×|Ôâ#i[YŸÏeõ­*ŸÑåõï›ðù÷ºùWÕH$êÔ«÷%«V}ĵkרµkÿý7+W®¤}ûö¸»»óÞ{ï‰Õ¯%Uš|¹}û6999¸ººJ/Ѷm[öíÛ'm»yó&ééé\¾|MÍüLk^^yyyÒÿCþr–ÂÈÛ¥ÇÎÎȯñRÙ¥%M ¸uëôîÝ[&ñ¢(·oß&;;›N:I“hhhгgO¢££¹~ýºL£gÏžEd$®_¿^f=Ê£‹"ãP™Ü~t›œÜ\¸J/éÑÖ®-û.Š¿¤›¤g¥sùÁe4?-#¼#ɯğœ]zìjüg÷‹gå’]ZÒ¤€[I·ÈÈΠwãÞ2‰E¹ýø6Ù¹ÙtªßIšì(@CMƒžN=‰¾ÍõÄë2 žNrâï¿äÑõD%ãOI]b¸Ú¹b¨cÈÁ`¢kÂp—á2ÇOß>͹øs¥Ê¹÷ôã¶#åE Mk5¥iͦhihõ0гwÎ2Ño"‡&B_[_zŽw˜7©© p€…Ñ£9}û4óÎãýïK¡{žñœ³wÎâl錣¹#fÕÌHÉH!ôn('nž`õ™ÕÌê¹ËXŸ±¤f¤RÛ¨6ímÚc¤cÄÇ78yó$÷Sî›|)¯­(òœ(O,*Ê¥—ø6à[rrshU§Mj6!9-™ÀØ@VŸY­°œ²Ž<ÊóÌà4€ú5ˆ~Mð`~8ü k4,;Š>Ÿ•¥¼Ï©â(‹ß„Ï?e©(ÿV$õë×çË/¿dÆŒáííͤI“pttdܸqôíÛ--­*ÓO x•*_v›™,xá,  žJ^^99ÅËÌÌ”ù[WW·Øk\CYÙÕ«W/¶¯<Ê›…UE·@Feë¢È8TÅÆß+¿°ÔSÉËË#'¯„É~%þ´äØÍ+ñ§¤ìêúeŒ¿R–•z¾*â*Š?ÆA ®v®¸Ú¹²>l=––Ef,ddg(ôåsÍÙ5¤¼HÁ³‡'£šËÖ3Ú¾‡°çòF6)mÏÊÉ‚¿Ì´÷Ùfãwɰ¸0é¬}m}|Çøb mÀ¹{çxüü1šêšôrèE|H ÉiÉ$§%—z­ö6íq0w`é±¥¤f¤òàÙLtMŠíÿGðÒÄÅn‹e–%Ä?G]¢^ê5•µµEžå‰EEÙ¾œÜ<:zÈŒµGGú¯ï¯°œ²Ž<”}fì·[:Cò ,d]èº"ÉEŸÏÊRÞû´8Êâß7áóOY*Ê¿•ºº:Ý»w§{÷îDGGãííÍ×_Í/¿üÂôéÓ4hjj¯Å>3‚wœ*M¾ØØØ ®®Î‰'xñâ…Ìì—””BCe«ÏÛÚÚ¢­­MË–-9uêÔ«âÊEEÊ.,ÿĉ$&&bnn^úI…°±±ACCƒ“'O’’’"3ã$''GZÇÞ^vza```‘¥EþþþÔ«÷òôàTx$Uëòºacfƒºš:'®žàEÖ ™Ù/)é)„Þz%þÌlÑÖЦ¥MKN}¥âø«@Ù¶5ò埸v‚Äg‰˜”1þªÛ ¡¦ÁÉk'IIO‘™q’“›ÃÁËÿ¹ù+ñXdi‘ÔñW£Püý÷B£@ü)©‹àõãÌ3¨KÔINKfõ™Õ2³ Ÿg=ò·è¤ÙËs;.Ro K½.ø]ò#áY‚´MM¢ÆºÐuÅnãúèù£"mƒœI¿t¨KÔiS· 7ß`Bë Ò/ÿ i-ÃZÜ{z¯\ö(˹øs¨KÔ™Ùy¦L"ÒDׄOÛ}Ê7þßp.þœÌ‹Ô§2‰UÚ®Œ¿ËÊ”ŽSJï¤$åµßÖÔW[Wö]ÞÇì÷fc¬k Àßþ¦º^uú6ê«R}Ëk=öÄ;Ô›íÛéjßUº´ÄTÏS=ÓR¯¥­¡Íæ7óÇÙ?ø+ä/î§ÜG]¢ÎöKÛéQ¿ãZ“ùuþ쳨IÔø¾ç÷EêA¼zïªÚÖ}NT4çãÏ£«©Ë䲉:Æuî2œµ!k’SÖ1‡2ÏŒþúË$^ƶËŸÁÊM0T´ßË{Ÿ‡*ü[V^Ǹ®(ÿV6NNN,[¶Œÿýïüúë¯|ýõ×lذ¯¾úJ¡º–AER¥É}}}zôè¿¿?ÇgáÂ…ØÚÚríÚ5fÍšER’ìúd===FŒÁÆ9r$888 ££ÃíÛ·9{ö,þù'ÇŽC[»lë+R6äÏú6l›7o¦G,Z´ˆV­Z¡®®Nxx8K—.% uuù¿U«VÞ½{³wï^ÈÏ?ÿŒƒƒwîÜaÞ¼yDEEáââ"³Ì`ÅŠÒ- µµµ `êÔ© :TÚÏÔ4ÿ X`` ­[·FO¯ø_ •ÕåuC_[ŸzàåÏð?‡³pðBlÍl¹–pY¾³HzöJüié1¢õ6žÙÈÈ¿FâÑÍKt4u¸ýø6gožåÏãrìËce^ÿZ‘²!Úì°–ÃØ|v3=–÷`ÑàE´²i…ºš:á·ÃY°”€i¨«ÚÕèݸ7{#ö2ð·ü<ìg,¸óøóöÌ#ê^.u\d–ù¬8¼K#KF¶‰¶¦6QLÝö_üµ(Õþ‹¿è@ZÛ¶FO«„øSRÁëGrZ29y9¬<µ²Ø>¯Ö&(üŰ€‚Y…·0ÿ=øwb0Õ3¥“m', ,ÑÒÐB‚„m·ÉÔ_( ð2œ êÂw¬ðÎÊØ£,))˜˜Ë-˜Z×8¿~ÑÓOeÚ‹+J å·]—•ЍùR@yípoéÎñ›ÇÙ¹ƒ[LÔÃ("îG0¥ã™—UP–X›Öiuë²+z /@OKfµš1Àynn ]ÏXטÙïÍfö{³Yv|Éiɘ虰>|=±ø~ä+½Ÿ¼x‚¹¾9Õ´ª•"U1*ò9QÑ<}ñKK¹³}ê×)“¬²Œ<”yfÈÓQM¢Fm£ÚD>Œ,r¬¢ý®Šû´8Êëß²ò:ÆuEú·*°°°à‡~`ìØ±,Y²„±cÇòÞ{ïñã?–ùGp@UTù²£eË–qúôiöìÙÞ={¤íÕ«W§[·n9rDZƒ`ùòåDDD°uëV™-ž £ì‚Š”] ?44”ˆˆÜÜŠ~á)MöŠ+ !((¨È6Üúúúüõ×_Eο 5 >tùPå×* ðšJ IDATK¬©IÔÚd(C› %7/—ÛÉ· ºÄŒ=3ˆ~Í—]¾,Óµ5Õ5q0w`L‹18[:óÅÎ/¸ -øi¬c̽”{<Ï|®’LeÞW…)¸¯žg>/rì~Ê}…déñðÙCròrŠ$`âžÄ)­[ic ežòtÌËËãÞÓ{j9¦(ªðmE¢ŒËJEÆõëîßʦ^½z¬Y³†¾ýö[ÜÜÜX¸p!=zô¨jÕï Už|qttäôéÓÌ™3‡ãÇбcG~ùå>ýôS44400xY@ÊÄÄ„àà`V­Z…±±±äææbccC‡˜0aB‘⽊R‘²ÌÌÌ å§Ÿ~bÇŽܺu ###š7oάY³ÐÐ(y8ìììÇÓÓ“€€055¥k׮̛7‡"çÌž=›öíÛó믿rçÎj×®Íøñã™={¶L?GGGÖ­[ÇÏ?ÿÌõë׋ԶQ….¯#Ž59ýÕiæü3‡ãWÿ‹?ûŽü2ü>Ýô)jèŠ?=‚ç³êè*|Â|ˆ}Kn^.6f6t¨× &)Þ«()ÀLߌÐoBù)ð'vœÛÁ­G·0Ò5¢¹usfõ˜UâöŸ_œ6üÛp<÷z@BJ¦ÕLéêЕyýçá`)'þzϦ}½öüzôWî$ß¡¶qmÆwÏìÞ¯Ä_MGÖ¹¯ãçƒ?s=ñz‘Ú6ªÐEðúÑÞº=>>X›X3Ài@‘ãW¯(]@P"‘ ¡®¶ºìL±ßƒçé‹§Òe!ª¤"íy•V-ؽ›å'–3§ëiû“ô'¬9»FÚ§²(‹¿ úŽ}Šì £ ÊkA׃pµsE]M5‰vÕí°1µaÓ¹MìˆÜQjòåjÒUô´ôä.Š’¿KKBêË%í¬Ûááƒç!Oö^(óÙRPóEÞ/øª°µ¬”‹µŒjùþÒxˆ´=!5Ÿ…ä7·jΞè=üvú7™esqOâØ±]a=Ë:òPæ™±çòÆ·/³ôh}øz§=.W}UøV•¨Â¿e¥"ãúuóïëB›6mسg ,àóÏ?gøðá|ûí·rkR E•'_œÙ»w¯L[||íü)Íê6CS]“ð;áÌòEZfšL]@ Z¬Œ¬Øôá&fîIÔÃ(¢FÉw4wT:QáÑуà;Á\{tõaëü­Èèõ[.l!þi|¹õ•Š´çUY4bÅ€Ì90‡ˆûDÜkV»«­®¥UÅQë3¸ñ`ü.ù±éÜ&o:ºšº k2 ï0ošÕnF“šM*ä:e‰µ®ö]9tõþWü‹ÈXØ{¡LÛêÓ«ÉÉË‘y1u0wÀÖԖиPBãd Ñh0³óLšÖl*m«k\ï¼™±wñOãñ½ä+sÍZ†µ*ÌÖ²RR,êhè0·û\¦íž&c{GÛŽt³ï†ç!ÏRå7©Ù„½0/paqa„Å…дVSú7êχ(rŽ*Æ@Ê<3Æ·ÏÉ['Ù½[Ú¦¡¦Á×ݾ.u‹ò’P…o•¥¢ü[V*2®«Ò¿o =zô Aƒ|üñÇŒ1‚¿ÿþ[ÔT ¯EòåàÁƒìܹ³H»ƒƒ3f̨ï/dç9ñgéÀŒ"þ‚âø¤í'rwKioÓm mÌô̤mxtô(ò…½‘E#||€ó÷Îõ0Šô¬t, ,iX£!ŽŽÒ~Ö&Öxtô Yí¢[+ü¢k¬kÌÞñ{9zý(·“oc¨cˆ«+µ k‘›—+S$°$Ùl;QM«Õ«ýUlt‹Ñddg(e¢çc€^ {ÑÞº='n þI‘gWe?' äXìíÐgKgŽÝ8FZVNNt°éÀåÄËxtôÙ=¬8݇5FG›ŽÝâYÆ3ìÍìéR¯ W“®âÑÑûê²u=T19yùµ‘^ß²>3ÚZ·eRÛIœ¼u’ØÄXô´ôèR¯K‘å9Êø½,¾Uå}ªª?ÿ êüû&accƒ£FÂÝÝ™\_gÙ¶mmÚ´¡M塯 ¹¹¹DDDBff& ÀÚÚºÄsÎ;Ç¥K—ÈÍÍÅÉɉ֭[¿Û‰KòÊQÁsذaøúú–Ò³dŽ9Âòå˹xñ"IIIÔªU‹þýûóÝw߉i`J2{öl–,YÂ… pqq©ju*‰D´iÓX¾|y™Ï=s„凗sñîE’R“¨eT‹þ.ýù®ïwT×ñ§ ³wÌfIÀ.|w—:ogü©êùW ¤¦¦*Ô×Þ¾^^ ¸¹)Ö_ T 9y9 Ü0‡) ž\j-­7‘å'–cVÍŒ1-ÆTµ*ï,¥Ážè=ÌØ;ƒù=æ3ºùèJÖîÍGÄøëÍ”)¬Z¥š:< 4gggþøã׿þþýûøùùÑ®];Zµ’MFFF2hÐ …KK¼Îxzz²ÿ~’““¥mÞÞÞ¸ººÊퟞžÎäÉ“9qâ„L{«V­øóÏ?+I©Il½(7³ÂØU·£¯cßJÐH  Bî†pæöB䶓ÞÊÄ P©ËÙò)n ®&]Åï’{còëØ5¶l\™j½5ˆ·°°°à·ß~cøðálݺ•Q£FUµJ@~òÅËË uuõ"É <<<ÞŠY/þþþ&^ªW¯Ž»»;?ýô‡’I¾deeqòäIîÞ½K^^ÖÖÖ´oߪI°Šä‹@ •D ýoÅ®>YÚÔm#^ØUNƒ hP£AU«!¼‘èêê2jÔ(¶mÛÆ´iÓ¸sç^^^hii±bÅ N:€“““4ùâååEƒ ä&_¼¼¼ptt”I¾xyy¡««ËüÁáÇ¥ýÕÕÕY´hƒ 44???Ξ=ËÙ³g¥}=<ÉÉÉØÚÚ²{÷n™]¬’““evWªLDòE @ ï<¶¶¶Ü½{Wš|0`€Ê/ƒ–I¼téÒ???Ê¿}ö Aƒ¤‰È_ÒÔ¦MnܸÁ„ ¤‰È·µV­ZÜ»wOÚvæÌÔÕÕINNfõêÕäååI“+ÏŸ?ò·º.`Ê”)åÖYQä%X —˜éÙ³'ÞÞÞlß¾®]»bnn€©©)¦¦¦• qQÊ•|9{ö,ñññbK6ÁkÁŠ+X±bEU«!x‡xõÃS @ðæbhhȳgϤ.„« 'F (˜’]nùò–Eéêê–x,%%Eúwrr2999¬\¹²ØköOeÖ|©Q£¿ ·ƒƒƒÌ±‚RA€iÓ¦Q·n]víÚÅ‚ ÐÓÓ£Y³f 0777¥õ(åJ¾Ô¯_]]]úôé£*}¥X±bNNN¼ÿþûU­Šàaÿþý"ù"@ð‘’’"!ù3GäQ°[NÁlÂÜ¿¿b”« ÉÌÌdâĉÅö)\`¸2k¾ìbB×®]eŽ%.¼Ó‘ššC‡eèÐ¡äæærûöm‚‚‚˜1cÑÑÑ|ùå—Jë¢,åJ¾T¯^êÕ«³|ùrUé#(ÅŠ+xÿý÷E, *W+À @ Þl’’’*ÄZPô5((ˆ!C†HÛðññ)·Ëgž((WWWÔÕÕQSSÃÎÎ6mÚÄŽ;Þ¼ä‹@ @ o:=âÖ­[4iÒ¤Ô¾ÎÎΘ››ÀÈ‘#qqqáÑ£G–;ÉP§NÔÔÔðõõ%;; «éŠä³Ï># €™3g²~ýzš6mŠIII\½z•ÈÈH¼½½¥» •·æK`` ±±±\ºt €Ý»wsñâEÜÜܤ3m¬¬¬4hÿüó¤oß¾hjj²ÿ~éÞ½»ÌÌ—É“'cbbBóæÍ©S§YYYÒ²)¯.[ª,DòE ”›oòmÀ· i2„!‡”~‚@ oAAAhjjÒ¦MÂÂÂJì«££Ãܹs™6m¡¡¡„††бcGºu놧§g¹t166fðàÁøùù±iÓ&i{E'_¬¬¬Ø´i3gÎ$**Ѝ¨(™ãŽŽŽÒÄ‹*8xð »wï–i+üwƒ d–9yzz’””ÄÉ“'Ù¼y³´½eË–,]ºTFN×®]9tèþþþ2íVVV,\¸Pe6”‘|à#6)σž|Ðô:”9ö<ó9¡q¡´µn[EÚ @P¹äåå±aÃz÷î®®.ÖÖÖxxxЬY³bÏéÝ»7ÎÎÎ;vŒ´´4œœœèС—/_ÆÃÃCf—¤’ä{uÆÍ¢E‹èß¿?—/_&--MÚnaa‡‡‡Ìò¨’äwêÔ‰jÕªQ½zõ"ÇF]d÷ FqàÀΟ?OTTéééXZZÒ°aC™™%ª GX[[{¼pâò ¯_¿žððp.]ºDnn.NNN´iÓFf;iȯG“””Dxx8qqqèééakkK»víŠô­,$yŠ.ҒðaÃðõõU™B2H$¦M›&j¾*Š~þ%$$ššªP_{ûzxy%àæ¦X <>œ›G0Ýu:“ÛO–9ö<ó9Q£¨mT+#QTZ ¯S¦X°jUù·e.̘:u*ûöí£aÆ*•-x{°°°@___ÙÓ}ÅÌ@ RªiU£MÝÒ‹ @ð6ðï¿ÿòý÷ß3|øp‘xT(•š|éÝ»7 6dÅŠ•yÙ ám²EÞDû{÷ÞAÆ&¬Xѵôί9o“-Êð®Ûÿ:qàÊcy–ñŒúfõqoéÎõG×ù#ø¦¹N£uÖDÜ`IÐ>jù­ê´bóùÍD?ŒÆ\ßœ½ʾËûˆ{‡–ºk6f„Ë̪™I¯t=ˆ¿Bþ’‘ýê±gÐÒªe‘ë6¯Ýœÿ;÷Ä$Ä §¥G÷úÝéߨ?‰¤L6+bË­ä[ìˆÜÁÕ¤«dçfckjËÐÆCq´p”+§,º)â§’tliÕ’u¡ëððåô­ÓÒó¶ŒÚ"·æKaymë¶åÿÎý—\B[C›÷ê½ÇÆCäêªh|@Pdgg3cÆ ´´´˜={vU«#xË©ÔäËÉ“'IOO¯ÌKVo“-ÅÑ­[7\\\X¶lY‘co¢ý'OÆ“žž]Õj¨„·É–âèÖm;..æ,[֥ȱwÁþ7¯öÅŽÈÒ¿OÜ<ÁŽÈ|èò!¡q¡$§%K=}ñ”иPšÔjÂ÷‡¾'15€FXxd!ÞaÞ2ò\?Âú°õü5ì/š×n@Òó¤"² (8öoÚ¿E®Û¸fc™ëø_ñçðµÃx ð*S¦4[¶\Ø‚çAOròrd|³ùüf~ìõ#C› UZ7EýT’Ž5 k“@üÓxâŸÊn›.¯æK¼æVÍY|t±Ì9±D=Œb~ù2rÊ@ T6yyyÌ™3‡óçϳeË–ò,'¢R“/þþþ2û‚¿É¼M¶ÇñãÇ‹}!yí÷÷‚VU«¡Þ&[Šãøñ8Š{~ìÝ9på;"w «©ËÇ­?¦IÍ&ü›þ/›Îm⯿Š=oCØlMmñèèA]ãºêrðêA¼Ã¼ÑPÓÀ½¥;­ë¶æÙ‹gøEúqöÎY¾ØùAŸ¡­¡­´¾Ã7bkjË´NÓ¨Q­Ñ ÑüòþWüñ³ócX“ae–)Ï–ó÷Î3ÿà|ô´ôÙl$Mk6EK]‹¨‡Q¬_ÏÜÀ¹´µn+SKEQÝ”ñ“<MtM0Ð6àûCß3¬é0: ,b[q¬ YK}³ú,ì½  ¢Fó󪧿ûÂßLj;‰Z†µåãC U™™Éwß}Çܹs©V­Z‘ãYYY|õÕWøûû³fÍœœœª@KÁ»F¥&_:uêT™—«PÞ&[”áM´¿S§·§päÛd‹2¼ëö¿lØÀÊ+éjÿrùWÿFýéëÝ—oÈ=Ï\ßœÜÿAWSWÚöˉ_Xì¶XfçNøhÛGß æÈõ#¸9¸)­o ý2×}Ïþ=ZZµdôÖÑø\ôQ*ù"Ï–/v~An^.ÞxKg¡\Ï¥¶ ã|Ʊ÷ò^>k÷Y™uÛvqP6?ÉÓ^ÎÒ±2²*S}Sü>ò“&x:Ûu&+7‹U§VqñþEiòEÙø ¼¤¦¦2iÒ$BCCqrrb̘12ÇŸ}ÊñãÇüÌpÁÿ þ–g¿2º”ÅWª@^_ßXF>@fæËÚ þþ·X¹ò<+Wvå‹/šIÛƒƒïÓ¿ÿN=’µ{Æ(Æo̺u=ÿ³/ãÇã04ÔbàÀ]ìÛ÷òEëÀ›ìÜyàà‘hi©KÛ½½#™0!¿oÜÅ¢E®?‡³óËBšòlQ暊ÚSŠú¯@?-zõòãØ±8iÿ}ûn°aC'O~ˆ™™.OŸfpüxþñ'O^þ¿àoyö+£KY|%(Ê‹ìëË=f¤cTìy5 kiËÈÎÀPÛPî2ÇY٥ꔓ›Sì1Cù ]c]cî§Ü/U¶<äÙ’–™FN^gnŸ)ö¼Y/”ÒM?ÉÓ±<ȵüÄin^®´MÙø@Yâãã3f < ;;ÿ{âÝ»w9}ú4Í›7gÅŠlܸ‘nݺ±páBŒåN E•n5}ïÞ=ÜÝÝÉÌÌdÈ! :---üýýY·nS§N¥C‡4kÖŒ””ÈãÇ3f nnn˜˜˜pãÆ V®\‰··7ݺucäÈ‘Rù˜šš²téRœœœ¸wï?þø#çÏŸgûöíŒ=È¿)?ÿüsòòòpww§_¿~dgg³sçN¾ùæ›2Ù¤è5•±§<þ+ 00–,Y‚““qqqüôÓO\¹r…éÓ§³iÓ&7nLPPÜ‚»...*ÓEQ_U÷î¥âîîOffC†4`èÐhi©ãï“uë"™:õ(:Ô¦Y3sRR28p§3fL#ÜÜì01ÑáÆ'¬\yoïHºu«ËÈ‘/w2 ¸…ûŽÂ” IDAT©©K—vÆÉ©:÷î¥òãg9>íÛc=:?Ó~÷n Ÿ~˜¼øàlmmÙ°aƒL²BCCƒ'NРAi›½½=]»våÌ™3Ò—û¿ÿþ›ŒŒ f̘!“h>|8ü1ÞÞ²;K”„¢×TÆžòø¯€ÜÜ\>,“:t(øøøðûï¿cddD—.]H$˜˜˜È,;R¥.Šúª¢Ø¼ù2ééÙEfy \Ÿ:u ™7ï4ýu‰ß~ëΦMÑ$&¦±pa'æÌ‘­ðÁ ±µ]Æ Q2É 5Nœø L ÙgL×®Û9sæ¾ôåþï¿cÈÈÈaÆŒ–2‰†áÃøøã@¼½#¶IÑk*cOyüW@nn‡ “:´Þøø\á÷ßßÇÈH›.]ê ‘€‰IþÿKC]õ•@>m:rýÑu¾ ø†¥}–RM+¿˜Ý¡«‡Ø¹³L²:ÙvâÚ£küoßÿX1`&ºùcÆŸgÿ”ö¨k\ßK¾ôwêv~áï£×âá#Gz>‡®bGäéÖÉéYé|ãÿ iYiôiÔ§Lú–D=ð:åE@l3;Ï”™åñ,ã;£vJ·Á.«neñSièiêp÷É]å-UƇ@ %»»;éééääÈ΂ÍÎÎæÂ… ôîÝ›ùóçS½zõ*ÒR ¨âäKDDŸ|òI‘cŸ|ò óæÍ“ö `÷îÝ9rDúk]^^žôÿW®\‘‘ѲeK™{€-Zùë ˆŒÌ¹7n\=ÆŽ[¦ä‹¢×TÆžW)‹ÿ pqq‘I¼˜™™Ñ¿Ö¯_OLL ­Zµ*ÕNU袨¯*ŠˆˆÄÿôkRäØ'Ÿ4eÞ¼ÓÒ>!!ؽû:GŽÜ‘.ÊË£ÐxÉn›Ú²¥¥Ì‹=@‹–<~ür©OddãÆÉ.m;Ö©LÉE¯©Œ=¯Rÿàâb.“x03Ó¥ÿz¬_ELÌcZµ²,ÍL•袨¯ò™ÐfÿDýC`l 'ož¤žY=þMû—ø§ñ4²hÄå„˨IÔ’5±ÍDö\ÞÃéÛ§é´ºvÕíHÍH%îiyyy k:Œ5òŸŽæŽ8Y8õ0 ×ß\±«nÇ£ç¸÷ôMk6%âA„Ük8š;òÕþ¯øåø/˜˜s+ù©©èiêÉ¿U…_];Ä– [رS ´ HJMâÁ³ääæàýìgŠ¢º•ÅO¥a[Ý]M]þ‰ü‡¨‡QÒ%B[FmQ™T@ ÇÑ£G™––l¾/÷}ÉÇ7ˆ|‰†šÛLÄHÇˆË —¥³J£†~ ¶ŽÚÊ7þßÊå„ËèjêâÞÒé®Ó¥}% Kú,aòÎÉÜù÷÷#ÐÖÐf†ë ̪™›|ä<ˆ®ö]Ysv © ؘØðSߟ¤³iTž¦[Gnå§ã?ñOä?\t]zÌXטNq²”ÝÎRQÝÊâ§ÒÐÑÐáë®_³àÈ®&]-ÉrQe|@ ]»vñÕW_‘››[â2Ú¬¬,|||˜>}:zzz•¨¡@ K•&_jÕÊß’2,, {{{™cáááäååIûÔ©“¿ôà·ß~ÃÑQþRMMÍréqᬬd·°=þ¼R2KCö”ÅDEE‘™™Y¤˜mxx8µk×–¶I$…ë(£KUS«VþîNaa±·—MJ…‡'—÷²O:ùK~û­;ŽŽò³æššÊýŠ[p ±²29vþ|‚R2KCö”ÅDE="33§H1Ûðð|;k×~Ù??þ0FI]å§IÍ&N äÆã¤f¦bml±®1“ü&ù „Â}ÿù7Ö&ÖreÙšÚ²eÔ’R“ˆ–†öÕí‹ì¬à`îÀáI‡¹öèéÙ騙Úa m@bj"ü»ØÙÓ:Mc|«ñÜJ¾…ž–öÕíå¯UÄî’lÑ×Öÿöî<®ê*ÿãøë²ƒl"‹Šˆ .¸S–.å’™¹åîÔ¤mÓ¸´h“Ó6ZMjci”Ó6©å”æÖäž…;Z©ˆâ.‹ Šˆ²Üßü¸ue½\—÷óñàñðžïùžóù õÓù~S{Måµî¯q<í8Ws¯RÛ­6~n~×ÝíQÖØÊºN¥Å0"lý[ôçøùã\Í»júy\+˜¯G~¿ÇoÜh¼¢k ¼k/ëï‘ò˜?>o¿ýv™ûçää°bÅŠ–t±4«îù}àÂÚ “'O6½úÏØ±cèÝ»7PX; k‹Э[7ÓWxx8iii$%%U(Žž={ð·¿ýãÇ;ùäàÁƒ¼þúë³4Uñ<åY¿"ÉÉÉ<÷Üsä䞈a4™5k?ýô 6¤aÃߎvuuåÔ©S×ÝÂWÙX¬í0yr11¿8ŸÁرèÝ»°Ï A€ÂÚ"ntë`ú ÷'-í*II—+GÏž…süío?qüxº©ýàÁ4^}[…Æ,MU¹ŽÝ» “~ŽÌœÙ¡C›˜õ6­3¬ !!ƒ„„ ÒÓsª,©¼Á-s4õ(I—’HºT¸SÏ»†7/u{‰›>håèÊ'+7‹èÄèRûu-¥»~ˆˆˆõ8pOÏ{ññy€çŸ7K¬TtG«Hu1+±÷ªèŒô¥K—–©ÿ–-[pss+qçÄåË—9|ø0ùùù4jÔ¨Äb¬EŒF#ÇŽ#55Íj˜…··7-Z˜Ÿ StÍÇLJæÍ›ÿqh’’’HLLÄßߟúõëóþûï3qâDæÏŸÏŸÿüçë>Keæ,íyÊ¢´õ+Êòöïߟ+VpíÚ5bcc)(( E‹×-î›——Ç¡C‡¸xñ"´iÓOOÏJ}/+³V×c0xþùç™5kÖuûlÙ’„››C‰;'._¾ÆáÃÈÏ7Ò¨QÍ‹±1áØ±‹¤¦^ÅÇÇ™À@w³&F¢¢’ðöv¦E ï?<_á5gš7÷þãÐ$%]&1ñ2þþ®Ô¯ïÎûïïaâÄ™?ÿAþüçßÖãÏR™9K{ž²(mý²³ópvžMÿþ!¬X1€k×ò‰M£ ÀH‹Þ8:–<_^^‡]àâÅl Œ´iã‹§§c¥¾—•Y«ß+ïÏ¿òJNN6æ.MHHC""’éÓ§lýEDDDnEãǾâúᇖ©‹(r#~~~¸ºV¸ŽäÒjM¾ÜÌÖ­[‡‡‡íÛ·7µmÚ´‰Áƒ“‘‘ABB‚Y1Ú[Í“/·›²$_nfëÖÂÃÑöíë˜Ú6mJ`ðà•dd\#!á³b´·š?&_nJ¾ˆˆˆˆT/%_Äš*›|Ñ>üÿÃK/½„¯¯/ 4àÌ™3¦‚·cÇŽ½¥/ró‹‰I套~Â××… <8s&ÓTðvìØ°[:ñ""""""r§SòåÿõîÝ›+V°mÛ6RRRprrâ¯ý+3f̰rtr»ëÝ;ˆ+ޱmÛiRR²pr²ã¯mÃŒ]¬ˆˆˆˆˆˆT†’/ÿ¯E‹lݺ• .pâÄ lmmiÚ´éMW$¶¢ؼy3ÞÞ7®c!ÖÑ¢…7[·ŽàÂ…lNœHÇÖÖ†¦M½n›"±¶lÞ< oïÛã¿'‘ò¸=þeW…¼¼¼nXì÷VeccC·nݬ†”ÂËË /¯ÚÖ£ÊÙØèÖ-ÀÚaˆˆˆˆˆˆX…µ¹)ù""""""""bAJ¾ˆˆˆˆˆˆˆˆX’/""Rn1gc™BÄÖˆ*{YÌ2B¦‡°öðÚ*»¼¢ND2=„y»çY;”ë:}é4 ~^Àã‹'ô_¡„L!êDÔ ïÙ“´‡?/ú3mfµ¡Õ{­ñõ¶žÜZM‹ˆˆˆÜy”|‘;Úž¤=„LaÎö9Ö¥Bùê¦n˜ÊÖ“[ÉÍÏ-µÿ–“[õÍ(¶ÚFfN&Y¹YìNÜÍè%£Y·¦"¹óTê´£#GŽpôèQtЉXßgŸ}Fdd¤µÃ;DZZ5²vVÓ²NKŽM>fí0ðw÷§w“ÞtoÔµqkY¼oñuûææçòÚÚ×È/ÈgÌ=cx¶ã³ØlYðËfEÍâuoеaW\ì]ªñ DDDDn:jZnYY­Èʪgí0䎱ÓÚˆ°ìÏËL¿ÞttÓ ûn;µÓ—NsOÀ=¼ÒýSûØŽc9˜|u‡×±áÈú7ïo±xEDDDîD•J¾4nܘƳtéÒªŠG¤B ð0ÔÚ¡Èc[;ë‰9ÃÀ/2!|Â'˜Ú³ó²ùlçgüïÐÿHLOÄÁΖµ[òtû§éÔÙlŒŒì ÞzŸuGÖ‘‘A#ïFfcý‘Ñh$r$Kö/ápÊaòùy1¼ÍpF…úÿŸ…uZÆ,ëÝ_¥‰Ofm™Å¡äC¸8¸Ð£Q&u„—‹s¶ÏaVÔ,fEÍ2ý(¶³g¼»ù]bÎÅàhçÈ} ïãÕî¯âéìY¹Å¬F»w”˜\éß¼?ë¯#:!ZÉ‘*¦/""R%rósùó¢?ósÒϦ¶kùר¿ƒ ;™Úk*#ÃF“—èoFq(å©ïsxfÙ3ôiÚ§ØØF£‘IßMbeìJ³ö¸”8¦¬ŸÂ¡äCüóÁš]ûåô/Lß<ü‚| 01´dß~Nú™å//׫51çbø×ÿâZþ5®æ^eùå$]Jbᨅe£É»ML±”Æ»†7;ÇWýîªø‹ñ4ö)ž9lêÛ´°Oz|•Ï+"""r§SÁ]© ~YÀÏI?S×½.Ÿ þŒ½/ìeË_·0!| üsÓ?IÍL૟¿âPÊ!‚kóÕð¯Ø?q??>û##ÛŒä‡þWl앱+Y»’&>Møbèìyn1cX8j!¡~¡,Þ·˜_OÿjvÏš¸5 h>€MÏl2õmâÓ„ãiÇùtǧ@áë6‹þ´€º¼À±ÉÇL_¿·*vƒ[ fÓ3›80é‹ÿ´˜ºîuÙ¸›Cɇ¸Ud^ËÀÃɣص¢¶ËÙ—«5&‘;v¾ˆˆH•øþÐ÷D ˆ MÝ6¸:º2!|)™),Ú»ˆMÇ61¼ÍpÖÆ­Å`00gày.vñpaêS9yñ$ÛOm7;2&[[æ ›‡¯«¯©ýž€{˜õð,zÿ§7n$Ì?Ìt­uÝÖLï3Ýô:Ò=÷ðÉ#ŸÐ󳞬=¼–º¼Pæg  çÍÞ4}¾»ÞÝ<Ýþi¦¬ŸB\j¡~¡¥Žqøo‡Ë<Ÿ¥Æ ]‘ÊQòEDDªDüÅx<=M‰—ß»?ä~í]dzí%>=?W?Sâå÷ºu)–|9šz”ü‚|:ÿ»°nŒÑhĈÑôk€3gÌî onJ¼ ð È+ˆ“N–ëÙÚ×o_¬-À³ð¤¿+×®”k,krstàRö¥b×2r2 û8¹UkL""""w%_DD¤Ê0”Þ© Œ7¬™’›Ÿk‘¹í‹µ=kYwŒÜ 5_kp$õwùßev-.%®°g`•Ï+"""r§SÍ—*¶}ûv¦L™Â©S§*tÿÆ™2e çΫÚÀDD,,°f ¯^dß™}Å®ýxüGS(ü~rf2GÏ-Ö7êdT±¶†µâlï̯/üjV—å÷_ üÈìž­§¶KŒ$¦'ròÂIS6†Â? Ëš¹•Ýp@±ÂÅ¿o»·þ½Õ“ˆˆˆÈ@;_ªØöíÛ™:u*ݺu£Aƒå¾ãÆÌ˜1ƒP»víªPDÄBú„öa<·ò9¦ôšBÛzmɼ–IäþHí]„ƒ­ÝCºлioöÝÇØåc™Úk*­ë¶æBÖ>ßùy±Wކ´žÿíá±E1¾ÓxÚÔmƒ›£)™)I=BdL$£ÂFѱAGÓ=ûÎìãïkþγžÅ×Õ—ØäX¦¬ŸB^A½›ô6õ+*4»;q7éWÓ-vtôÍPó¥SƒN¦BÁïlz‡g;>‹_ýü믣¦sMz6îií0EDDDn;J¾T±Ž;òü£B‰‘[Ù£w=ÊÚ¸µürúž\úd±ë¯õx W»û1VÅ®âPÊ!]ø¨©Á`à¡Ð‡Šx4¨Å ¢¢Y³Œ§#Ÿ.qþa­‡™}îݤ7Ë,'r¤Y{ÃZ y¦Ã3¦Ï j6ÀÏÕñ;hûA[SûO<ºYM\=±ØN–1KƘ~ýÑÀLÉ&{[{Þîý6OE>ÅÜÝs™»{®©ŸÁ``êSËu·ˆˆˆˆ”^;ªb;vdÊ”)J¾ˆÈÇÞÖž¯F|Å„ð × ÆÞÖž5hØž¹Cç22l¤©¯£#_üšQa£ð®á£#Íüšññ éÜ¥ØØƒÍ b@tÂÃÉ{[{<èÙ¸'ú˜NAÌî¹»ÞÝ|1ä Z×m“5k2¤ÕŽZh–`°µ±eΠ9´­×g{gË-ÐM¢Kp¾ù5t¤†C œí¹'àæ GŸ¦}¬žˆˆˆÈmÉ`¬ÄÙ’C† `éÒ¥UЭnûöí¬_¿žÇ¼X&>>ž7’œœŒ——ݺu£iÓ¦f}&OžÌŒ3øõ×_iܸ1+W®$>>žºuëÒ¯_?<=-³þVWx¢Éb`¨µC‘;ƶÜÏ¿ääd233ËÔ7$¤!ÉôéS¶þ·»¨QŒY2†W»¿Êè{F[;©"ãÇûðá‡ÉVŽDîD~~~¸ººVôö¥zí¨Š]¯æË+¯¼Â»ï¾K~þo O<ñÿþ÷¿±··7çèÑ£ 0€øøxS›··7Ë—/'<<ÜâÏ!"""""""UCÉ—j0gΦM›†Á` oß¾„††rêÔ)V¬XÁþó¼½½™6mšÙ=cÇŽÅÁÁ§Ÿ~'''6nÜÈÁƒ8p qqqÔªUËJO#"""""""å¡äK5˜>}:Ë–-càÀ¦ö]»vѹsg>øà^{í5jÔ¨aºV§N¶lÙ‚»»;yyy 6Œo¿ý–ùóç3qâÄê}©ܵ°„„’’’èÔ©“Yâ ]»v 2„«W¯òË/¿˜]{ùå—M‰;;;Þ|óM¶mÛfùÀEDnQ]‚»plò1Õ{‘›†’/vñâE‚ƒƒK¼Þ°aC.\¸`ÖT¬oQ[ј"""""""róSòÅÂjÖ¬ À‰'J¼~üøq¼¼¼ÌÚOžmÚ4žyæ6nÜHrr2^^^Üwß}4mÚÔ¬_=prr¢K—.yÃû{ôèA=LŸGŽYµŠˆˆˆˆˆˆHµRò¥Š|÷Ýw¬\¹’¯¾ú 7nlíDD,&%3…E{Ñ®~;ÚÕogípäÿ•ô}¹Ý¿WÆöÙÇ®„]\Ë¿Fÿæý ¬hí°DDDDÌè´£*òÝwßñŸÿü‡¼¼<Þyçìíí­’ˆˆÅ$_N&bk»vUèþ3gˆØÁîÄÝUÙíïFkWÒ÷¥²ß«›ÙÔ Siÿa{†,ÂÌŸf±5‚ø‹ñÖKDDD¤í|©"}ûö¥y󿄇‡fípDDnjE [[î ¸ÇÚáÜRn´v~n~LŸp[îp)Éš¸5¤_M§MÝ6ääçp(ùµC)‘’/U¤oß¾ÖADDîp¾®¾LŸ`í0ªÍ”^S¸'àj¹ÔbÊú)J¾ˆˆˆÈMKÉ©R'/œdÿÙýœÍ8‹«£+mê¶¡Eí¦ë»w³,f;âw_oºVÖÄAüÅxVÆ®¤KpZÕiÅöSÛ9˜|Ž5èÜ•zõJ¼/ߘώS;8œz˜¼‚<‚¼‚èÜG;ÇÇn]§5»v›K ‡ o3¼pœ‚|¢£‰K‰£ÀX@°W0ƒ;cgcW©ùÚÔmî„]ì?»G;Gºw¡AÍe^»òÖw)K|¹ù¹l9¹…„ôŒF#5騠#NvN¥ÎaI½›ô¶êü""""e¥ä‹ˆˆT‰¬Ü,žŽ|šñ;‹]ëÜ…9çàlïLtb4‘û#ؿӬy’/[#p°uཟÞcGüÓ5;;^éþ Ýý˜Ù=ûÎì㹕ϑt)ɬ½Ž{>ô±)Aôû±go™ÍÖ“[hîלám†³÷Ì^^\õ" é fãÔó¨Ç¼aóò ªÐ|ÎöÎ|²ã6ÝhêkkcË´§1¨å €R×®¨¾KY^=*k|ûÎìã/ßþ…ÔÌT³LÅ· IDAT~Þ5¼ù ÿeJò|¸õCŒKíàbï“ín|2 ˆˆˆÈ­FÉ©Wr®°3~'-j· Ô7ïÞdädMÔ‰(ælŸÃ¤®“¸7à^·LäþHÚ¶çÞ€{+<çÜÝsɺ–Eÿæýñqõ!ö\,;âwðÖÆ·hâÓÄ”8}é4£—Œ&#;ƒÖu[ÓºNkì8pî;ãwòTäSlxj®Ž®ÅÆ~¸ÙÃÔ÷¬Om·Ú$¤'ðøâÇÉÌÉÄßÃŸŽ :âáäÁñ´ãl9±…3gò ªð|™9™ôoÞ?7?bÏŲíÔ6þ±þôlÜ7G·*[»òÄ7}ótR3S õ ¥}`{ìlì8uñ[OnåHê‘2%_>Úþ‘Ù.ñ®á­ä‹ˆˆˆÜv”|‘*áêèÊÒG—âæèÆÏ§&íJö¶öônÚ›¤]Iüpì&uÄ=÷`0ˆÜI‡ÀŒí8¶Âs^ͽÊÊÑ+iX«¡©mîî¹¼³é¾ˆþ”ølçgddg0µ×TFÝ5ÊlŒù{æóöÆ·Yup#ÃFš½jô*‚k›Ú^YóŠ)A2½Ïtìm;Ù.éR¶Û Ï—›ŸËš'ט½25ùûÉDîdwânÊÖ®<ñ]Ⱥ@W+G¯ÄÆðÛ!‰².p!ëB™æ×q\¹v¾ˆˆˆˆÜn”|‘*ac°á‹è/X{xm‰×Ï_9_åsökÖÏ,ñðxÛÇùtǧüœô³©m{üvl ¶\ȺÀœís0…É€+¹Wˆ9¿;¬®óþf‰(|ÕÇÆ`Û¼i–xÌ’&™oP‹AÅjÕtkØÈý‘$_N.ϲ”ª<ñ=ÐäæFÏeɾ%Ür?¾®¾x¹xáåâU¦ùƇ¯ÒøEDDDn5•J¾¤¥¥‘””Ä /¼PUñˆT§ÀŽR{‰T}¤¥•\ÔõNõñŽY{x-^.^têLm·Ú8Ø9`ÀÀ¢½‹¸–­Êç ð (Öfc°Áßߘs1¦¶ YÈ7æóÁÖ®;ÖåœËfŸ_è¶Hzv:¾®¾Ôp¨qø*2_÷:ÅúíÉ+È»á|åUžøžïü<õ=ë³"voo|Âê†Ñ¿Eú4íS¦ùTóEDDDît•J¾=z”¤¤$fÏž]UñˆTÂÿÿ%R=޽jín*?ÿ';'Ö<¹†Z.µLíF£‘/÷|‰Á`¨ò9Ó‹µFN_:»£»©ÍÝÉkù×xªÝS×+Ä;Äì³­m±>žNžœÎ8Í•kWn˜€©È|Õ©<ñÙlÜj0ƒ[ ¦ÀXÀ© §Ø||3/®z‘Øs±¼Ôí¥RçS͹ÓU*ùÒ¾}{–.]Z%ÁˆT”Á` ""‚>}ÊöaE*kܸq¸ºº–Þñb0°³µÃÑÖü˜âw|Ì¥ìKx:{šÚŠú¤_M¯Ôœ«®b̽cÌ^=š·giYiÜr¿©­c`Gï[L`Í@ú7ï_lœ¸”8ÜÝJ¯C`ï[ÌÔ SyçÁwÌŽ–.ªùRǽN•ÍW’ªX»òÄ·ùØfºwÁÖÆƒ Áµ‚iàÕ€?/`Y̲2%_TóEDDDîtªù"""U"¬n1gcxxÞÃôhÔ€Ÿ“~&ö\¬Yâ _²1ذtÿRò ò¨é\(ûQÓEœíé?¯?4yW&dû©í ž¸÷ S¿g;>ËÚÃk™¸z"óvÏ£uÖ¸9¹‘š™Ê‘óGˆ9ÃÜ¡sñ÷ð¿á|Ïtx†ï}Ç·1ßM‡Àx8{p"íQ'¢øbèÔq¯Seó•¤*Ö®<ñ]>–šÎ5¹«Þ]x›ŸË΄$]J¢©oÓ2Íg©š/ë¯ãpêaöŸÝÀÊØ•ì=³€>MûXu‡‘ˆˆˆH%_DD¤JLŸÀŽø=”y»ç`gcÇ[½ßâ›_¿!éR’©¯§³'ƒZ"r$ ~^`6FyŒ¹g [NnaeìJS›¯tÅìäzõX0bWOäÀ¹8wÀlœPßÐ2%Bê{Ögîй¼¸úE’.%±tÿo;?ëyÔ£®{Ý*¯$U±vå‰ïþûÙpdkâÖãß©Ð3T•õGÖ›}ï³Ï}+ù""""7%_DD¤ÜüÜü˜>Á,ÁáéìÉê1«ùáØœºp w'wºw¡®{] Œddg˜1íÁiôkÖƒÉÉÊͪPŽvŽ,±€-'·p8å0..tkحةAÍüšñýßóËé_8pîWs¯RÛ­6M|šêjêX3 áó+6ÀÝõîfÓ3›Ø¿ƒÃ)‡±µ±%¸V0áAᦣ¦«j¾¢k­ê´2k¿ÞÚ•ô})©­<ñ}4ð#R3SÙ“´‡ÄôD\\ò ¢C`³£§­¡Wã^Ö ¼îõZJ¼ˆˆˆÈÍÁ`,:[²† ¨æ‹XŸj¾Hu+ªùb©ŸÉÉÉdff–©oHHC""’éÓ§lýoQ'¢³d ¯v•Ñ÷Œ¶v8"""R Æ÷àÓ­‰Ü‰üüü*Sóq©v¾ˆˆÈM!53•…{–Ú/¸V°ÙIF"""""7;%_DDä¦p>ë<[#Jí×£QF†¬†ˆDDDDDª†’/0sæL^zé%6oÞL·nݬŽˆÈ-ÁÛÅ»LEcƒk—Z—EDDDDäf¢äK½ýöÛ¼þúëlÙ²…ððpk‡#"rËóqõ)׉=å=IDDDDÄZ¬{LÁmjÒ¤IFíz%_DDDDDDDD,©Z’/—/_æ7Þ Y³f8;;ãîîÎý÷ßφ L}RSS ÀÛÛ›„„³û£¢¢°³³#<<œ¼¼¼2Y$33“©S§ÒªU+jÔ¨<ð7n4õùÓŸþ„Á`àüùóÅî/º–žž@=xýõ×èܹ3ƒƒÁ`Úé2sæL ?þø£Ù8‰‰‰<õÔSààà@íÚµ9r$qqqfý&OžŒÁ``ïÞ½|ùå—´hÑ'''™:u*e\y8xð ýúõÃÃÃwwwzè!âââxüñÇ‹=ïïçýì³ÏhÙ²%ŽŽŽLš4©\ñ—g-ÿ8ïœ9shÒ¤ NNNóöÛo›¾ç"""""""·"‹×|¹xñ";w&66ÖÔ–ÍæÍ›ùñÇY°`£FÂÇLJ¥K—Ò¥K† –-[pppàìÙ³ 6 ooo–,Y‚]™ÇHKK£sçÎ:tÈÔ7++‹õë׳~ýzrss±³³|雓'OÒ¾}{RRRLmÉÉÉ,\¸ï¾ûŽ~ø¶mÛšÝóá‡2wî\Óç„„¦L™BAAS§N-uθ¸8:vìÈ¥K—Lmßÿ=»víâî»ï¾î}ï¾û. þvÜkAAA…â/¯3f°hÑ"Óç“'Oòúë¯søða,XP©±EDDDDDD¬Åâ;_&MšDll,ƒ b÷îÝdff’––ÆÂ… ñôôdüøñ\¹r€öíÛóÞ{ïÍ /¼@^^Ç'55•… R·nÝrùüóÏsèÐ!Z¶lÉwß}GJJ iii¬_¿žîÝ»c0ÊýL7nä­·Þ`Ë–-FŒFc±.¿÷ÜsÏ‘’’B—.]سgW®\1=ÃåË—yê©§ŠÝóÍ7ßÁ™3gÈÈÈà¿ÿý/vvv|ôÑGÆRãœ8q"—.]⡇"&&†+W®ðË/¿ÐªU+Ö¯_Ýû–-[Æ{ï½GRRF£‘÷ß¿Bñ—WѼgΜáÂ… |óÍ7xyyñßÿþ—M›6Uz|k°è–œœ.\HóæÍ‰ŒŒ4%:jÔ¨ÁðáùpácÇŽeË–-ôîÝ€ñãdzcÇþýïsàÀ¢¢¢˜6m÷Ýw_¹ÇìÚµ+K—.ÅËË‹ 6àççgŠ­gÏžôìÙÓ’oråÊÖ¬Yƒ¯¯/«W¯ÆÝÝ€fÍš±xñbÚ´iÃÞ½{9rä76Ý÷Æo0~üxÓçQ£F±bÅ "##ILL¤~ýú×333“uëÖQ¿~}"##qrr ,,ŒåË—RâkA/¼ð/¾øb¥ã/¯çŸÞlÞ#FŸŸÏ£>Jdd$Ý»w¯ðØ"""""""ÖbÑ/'NœàêÕ«]ºt1%^Šxxxо}ûëÞûǤTEã/¯¢q~¯()WÙ±EDDDDDD¬Å¢;_Š ÃFòóó¯ÛïÚµkfŸwïÞMRRGåòå˦ôWd̲¼Zdccc6þï]½zµÔûË¢¼¯89;;_wŒ²¼vt£9ot­ZµÊ5ÖUåZÍY‘×ÃDD,éDÚ ^[û´z„GZ>bípªÕ˜%cÈÎÍ.ñÚíž {ˆv*ŠˆˆˆüžEw¾áèèH§NLuQJú7nœéž³gÏ2|øp|||˜5kGeôèѳ¨oTT”Y¡Ø’øúú…E^/++‹]»vë_”`(ËI< 4ÀÎÎŽ-[¶‘‘av-??ßT%$$¤Ô±ÊªAƒØÚÚEv¶ù_322ˆŽŽ.×X剿¼kYdݺuÅÚÖ¬Y@Æ Ë¯ˆHU9œz˜‘_dÅÅ®]¹v…èÄhN_:m…Ȭkwân¢£KüJ¾œlíðDDDDn:M¾¸¸¸0|øp¶mÛÆÈ‘#Ù¹s'ééédggÇüùóéС999@a"cذaœ?žE‹ñüóÏ3nÜ8¾ýö[Þ{ï½réììÌ!CHKK£W¯^¬Y³†óçÏsñâE6lØ@Ïž=M»gš7o©‹‹ãêÕ«üúë¯ 4ˆÓ§‹ÿÅÚËË (LdeeÝpjÔ¨Áƒ>Hrr2 à—_~!++‹C‡1bÄ8@›6m*U/å\]]éÕ«ñññ 6ŒØØX²²²Ø·o<ò©©©e«¼ñ—w-‹Ìž=›÷ߟsçÎqñâE.\ÈsÏ=ÀàÁƒ+±""s9çra‚%£øÏ®àZÁ|=òkµd…Ȭ¯±Oc¾ùu±¯zX;4‘›ŽÅÏXž5kûöícáÂ…fÇÿ^Ñ+0“'OfË–-̘1ƒ®]»ðþûï³gÏ&OžL»ví/ט³fÍ"::š}ûöѧOŸëö1b¯¿þ:Û¶m#44ÔtÝßߟ^½z;¨k×® ¦OŸÎôéÓMm×;ñhöìÙìÚµ‹Í›7;æÙÕÕ•Ï?ÿ¼Äû*ã½÷ÞcÛ¶m¬ZµŠU«V™ÚkÕªE÷îÝÙ´iöööe«<ñ—w-‹ 4ˆ‰'2qâD³öQ£F©Ø®ˆÜtj8Ô ]ývÖÃjÜÝîèç)‹5]³fMvìØÁ»ï¾ËÝwß««+...4kÖŒ§žzŠ]»váääÄòåËyï½÷èׯ/½ô’é~{{{–.]JÍš56lÉÉÉeÀÛÛ›èèh^}õUš6mŠ££#¾¾¾ôîÝ›7bgW˜rrrbݺu<ðÀ¸¸¸àîîÎÀÙ¾};>>>Åž+44”/¾ø‚fÍšáààPê:³gÏžxâ üýý±³³Ã××—ádz{÷nÚ¶m[E+nã¶mÛèÛ·/nnn¸¹¹ñàƒ²uëVòòò°³³ÃÍÍ­Lc•'þò®e‘É“'óÁШQ# â­·Þbþüù•] ©bûÎìcä×#Y{x-iYi|°õžŽ|š×Ö¾fê“•›Åâ}‹ùû÷çñÅ3nù8¾ˆþ‚KÙ—®;Vjf*3šÉ“KŸdâê‰ìIÚcê›Ëkk_côâѼ¾îuN]îN…'ÓåæçbokÏ÷>A3¿fÔr©EFN»âw±pïB"¶FðîCïš5o÷<š×nÎÄ®©é\“¨“Q,øyonx“´¬4ú6ëKF=°1ØðÕÏ_±+a_ìþ‚É÷M6çË=_äÄóŸÇ§†±É±|¾ësÖÄ­!28’!­†”éÙ4€›£onx“!­‡0 ù€2¯KeŸå—Ó¿0eý\\6’ÖuZã`ëÀs˜·g¯¯{öíM ¬ë‰NŒ.sòÅ»†w™Ÿ 1=‘ÄôDÓçÕWóéÎO™;t. kýV$ý‹è/xìîÇèØ #v6vœºxŠU±«ÈÈÎ(6®ˆˆˆÈíHÉ—ÛÜúõëY¾|y±ö¦M›òâ‹/Z!"¹øºúò퟿ÅÙÞÙ¬½¦KMÖ<±†õG×óÓ‰ŸH»’Fn~.¶ìIÜSl¬†µ²hÔ"ìm kQÝr‡SÍŸîúSzM1õíØu`ïé½ÅÆñqõ1‹é¾ûh[¯-Zø'ï]\æä‹¿‡?ÍüšPÏ£^¹ê›TöYæFÏ¥ÀXÀÜ¡s¹Ëÿ.Sû}!÷ÑÆ¿ £fõÁÕ<ÛáÙƱ`Ä‚2¿nUkYx¹xÑ»IoZÖi‰‹½ ÇÓŽóͯߘžÈ_¿ý+ß?ù=¶[ìlìhìݘ7z¾a6ÆãmçrÎå2Ï)"""r+Sòå6·råJfÍšÅÞ½{IMM¥nݺôë×7Þx£2[¦DDèݤw±Ä @jf*#¾AÒ¥¤ï+éݽšô*–õ %:1š‡B2kwwr§®{]Î]>Wlœ>Mû‹©h—ÈáÔÃ¥>SU¨ì³ì;»[ƒ-³·Ì ‹Ã)L¢äåçp<íx©qÜpo¥žãz¾â{j8Ô0}¾?ä~†·Î#_=Âñ´ãìIÜcJV=Ýþi&®žÈ «^àþû õ %¸V06ÜËVwLDDDäV§äËm®{÷î7ýIA¿?1JDn-uÜë”Ø±-‚¤KItì@¿æýðsõÃÁÖƒÁÀäï'—˜|qwt/ÖfgSøÇ”‡“G‰×²®eÇ©ø8PXÓäLÆ™>OU©ì³d]Ë"ߘÏöSÛ¯;Gvnv©qXªæËï/EÜÝèÕ¸Ÿìø„ø‹ñ¦äËC¡Ñ̯ßüŽoc¾åpêaròrèÛ¬/»L¼î÷KDDDäv¢ä‹ˆˆT¹}göáéìÉ—Ã¿ÄÆðÛÁzY¹Y¤f¦âdïd±¹cÏ?Eçʵ+œH;¯«o¹Æ2PXœ·µé+¤Ž{®å_ãÓG>ÅÖÆ¶Ä>^.^¥ŽcÉš/%9›q ØÎ£ ¯ Ƈ7}>pî.|”ÔÌÔ2'|DDDDneJ¾ˆˆH•ópòàDÚ §&Ô/€‹W/ò÷ïÿNv^¶E“/Žn`YÌ2iùWs¯òêšWÉÊÍâ¡f•r·¹¢“{Òª<ÎéÕ¸[#X{x-»N4Û-s9ç2Ë,§m½¶¥Žc‰š/ßÇ}“÷5¼ÏtrT^A‹ö.bõÁÕØÚØšÅöîïòHËGÌŠðú¹úaokOtbt™æ¹Õ)ù"""U®{Hwv'î¦ÿüþ4ñiÀÉ 'q¶wÆßÿÄ#¨«J¨o(/ÿïeÞÿé}|Ý|9yá$™9™¸Ø»”Z ö‚jálïÌ·1ßràÜ<<øfÔ7–ÝäÉvO²áè¾ùõ–ì[B¯¸9º‘š™ÊÙËgÉ/Ègîй¥Žc‰š/±çbùtç§8Û;à€ƒ­ é ¦“‹ži÷ŒÙëhówÏ糟áåâE€g×ò®qôüQò òèܵÊã¹Ù”ÞEDD¤|Fß;ša­‡aÄÈ¡”CJ9D]ºÌ:—šÎ5-:÷À×i¯^$æl ™9™4¨Ù€/‡I}ÏúåËÉΉWîG;Gޤ!:1ºZvk¸Ø»°päBFÝ5 {[{Ž?Ư§%éRnŽn<Þöqš×nnñ8JÒ·Y_z7éMn~.GRpàÜ2²3¨ã^‡7z¾Á¤®“ÌúO¾2}s!ëûÎìãPÊ!l 6ôoÞŸõý—UžADDD¤ºŒ•x‘}ÈÂã:—.]Ze‰T„Á` ""‚>}úX;¹CŒ7WWW‹ýüKNN&33³L}CB‘LŸ>eë_Ò¯¦s8õ05©íVû†ýâ/ÆãîäNWPXï#'/‡»ëÝ]êX é œÍ8K«:­ŠÕÙv?ùù„ù‡u"Š1KÆðj÷W}Ïh2²38yá$..„Ô 1½"SY¹Y?œ«yW1´«ßŽ+×®pàÜü=ü©çQ¯JŸå÷rós9žvœ«¹W©íV?7?³::Ö’“—CBz—s.ãëêkZƒë¹uÄôD\\ð÷ð7½Ò%""RVãÇûðá‡ÉVŽDîD~~~•91x©^;‘rótö4fSZ?OgO³¶µ[”y¬úžõ¯»[¥UV7œÛÝÉÖu[—cY¸Ø»Ð²NK³¶5ŠÅm‰g±·µ§©oÓrFlyŽvŽ4ònTæþ^.^e*,"""r;ªtò%22²Rÿ7Q¤ªL˜0 &X; ¹ƒ <ØÚ!HÄ_Œçïßÿ½Ô~mÚòb—«!"¹ÝU*ùòâ‹/š^=±¦;vиqcjÕªeíPä`í¤²r³ÊT·ÅÝɽ¢‘;A¥’/:t C‡U‹H… :ÔÚ!ˆˆ•u î±ÉÇJíêZ¦~"""""UÅúûDDDDDDDDncJ¾ˆˆˆˆˆˆˆˆX’/""""""""¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bAJ¾ˆˆˆˆˆˆˆˆX’/""""""""¤ä‹ˆˆˆˆˆˆˆˆ)ù"""b!1gc™BÄÖk‡"""""V¤ä‹ˆˆH5Ú“´‡é!ÌÙ>ÇÚ¡ˆˆˆˆH5±³v"""·«–uZrlò1k‡!""""V¦/""""""""¤ä‹ˆˆ”[Ô‰(B¦‡0o÷<¢£ñõZ½×Šó~5Æ33é»If÷|ó-!ÓChÑ£ÑhjOÎL&dz¯¯{½º£Ò±Þh xÍ—9Ûç0ü¿Ã˜5‹é!¦¯"F£‘¥û–2dÁZ½×Šæ3›Ówn_þûËÍb‘[‡^;‘ ûåô/Lÿa:ùÆ| Œx:{Ò̯[OnÅh4b0Øzj+6Ò²ÒˆK#Ô7€-'¶Ð©A§Rçkònò òË›w ovŽßyÃ>UkIëPF£‘IßMbeìJ³ö¸”8¦¬ŸÂ¡äCüóÁVhl±í|‘ [·†A­±áé þÛaV^@xP8篜'.%(L*l;¹~ÍûagcgJbl=Y˜èèØÁ*ÏP±^oþhlDZ,úÓ"^èòÇ&3}¬Œ]ÉÊØ•4ñiÂC¿`Ïs{ˆ™ÃÂQ õ eñ¾ÅüzúWK,ƒˆˆˆˆXv¾ˆˆH…µ©Û†wz¿cÚ1R$¼A8Ÿìø„­§¶êÊ¡”C¤e¥ñ@ã8}é4[OmåéöOc4Ù¿–uZâáäQê|‡ÿv¸ÊŸ¡*b½Þ:”WdL$¶6¶Ì6_W_Sû=÷0ëáYôþOo6ÝH˜X¥æ‘ê¥ä‹ˆˆTX§JL8Ü]ïnœíÙrr Oµ{Š­'·bk°¥C`Žœ?œmsÈÎËæxÚq.d]`x›áVˆ¾êb½Þ:”×ÑÔ£ääÓùßÂ]8FŒ¦_œÉ8SéyDDDD¤z)ù"""æéìYb»½­=÷ÜËŽødçe³õÔVÂüÃput%¼A8³¢f±;q7±çbèÔ¹LóUuÍ—ªŠõzëP^EµbnôŒ¹ù¹U2—ˆˆˆˆT%_DDÄ"ƒÂùéÄODˆbOâþÚñTIu IDAT¯´¬ÓOgO¶œØÂÁ”ƒ8Û;[ý5šêŒÕÆPXn­¤KÃZ ‰MŽeû¸í¸9ºUj¹y(ù"""Q´Cdö–Ù\Ë¿FçàÂÏ6Ú×oÏÇ~àLÆ:uÂΦlY¢æ‹¥b½ž¢z1»w“~5Ýl×ÌÖCØó¿=<¶è1ÆwO›ºmpst#%3…#©GˆŒ‰dTØ(:6èX©DDDD¤z)ù"""₟«GRàáäAËÚ-M×:wfíáµ@ÙŽ˜¶´êŒµAÍø¹ú±#~m?hkj?6ùƒZ ":!še1Ëx:òéïÖzX¥c‘ꥣ¦EDnqŽŽF®]«|±WK  C`Óë6PxÂPI¿¶¦êŠÕÖÆ–9ƒæÐ¶^[œíÍ® f<4ƒˆtjÐ 'ìmí ð  gãž|<èc:Y?Y%""b 99689­†H…ŒEÇ'ˆˆÈM#99™ÌÌÌ2õíØ1§žºÄèÑéŽJDDDÄzö',,‡W_=oíPääç燫«kEo_ª/""·¸\Žq°v""""c4±c_³v("¢ä‹ˆÈ-.,,›;œKï("""r‹Š‰q$3Ó†°°lk‡"R!J¾ˆˆÜâî¿?‹¤$;bb­ŠˆˆˆˆE¬]늿M›jç‹Üš”|¹ÅµnM£F×øï=¬ŠˆˆˆH•»zÕ@d¤<’aíPD*LÉ‘ÛÀ_þ’Ίn:¤Ý/"""r{ùôÓšäæ5Jɹu)ù""rè×ï2wݕ͔)Þè ;¹]œ9cÇ_x2aÂEjÕÊ·v8"¦ä‹ˆÈmÀ`€W_=ϯ¿:ñÕWzýHDDDn}yy^~Ù—ºuóxôÑKÖG¤R”|¹M´h‘Ë/^àw¼ùák‡#"""R)o¾é;}ŽÌž};;mí•[›’/""·‘¿üå"\æÅýØ·Oõ_DDDäÖ4gNM-rgöìBCu‘Üú”|¹Í¼ýv*mÛfó§?ù³v­«µÃ)³¼<¯¾êCD„ÿøG*÷ßÅÚ!‰T %_DDn3ööF>ýô,C†d0~¼³g{‘“c°vX""""7””dÇèÑuX½Ú•?>§Ó䶢䋈ÈmÈÖÞxãÀ™3KhÒäMk‡""·GG#„„\#,,›¦Mu’‘Ü”|¹ Y2ù""RYßÿ=&LàØ±cÖEDD¤ZT6ù¢‚»""""""""¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bAJ¾ˆˆˆˆˆˆˆˆX’/""""""""¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bAJ¾ˆˆˆˆˆˆˆˆX’/""""""""dgíDD¤8jÔ¨aí0DDJäáဟŸŸ•#©NNN•º_É‘›Pe¸‹ˆXRÑÏ(WWW+G"""rkÐkG""""""""¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bAJ¾ˆˆˆˆˆˆˆˆX’/""""""""¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bAJ¾ˆˆˆˆˆˆˆˆX’/""""""""¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bAJ¾ˆˆˆˆˆˆˆˆX’/""""""""¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bAJ¾ˆˆˆˆˆˆˆˆX’/""""""""¤ä‹ˆˆˆˆˆˆˆˆ)ù""""""""bAJ¾ˆˆˆˆˆˆˆˆX’/""""""""¤ä‹ˆˆˆˆˆˆˆˆÙY;¹y%%%HAAA±kƒÁìs§Nغuku…&""rËÐι®zõêѱcÇb‰–?2 Œ1¢š¢¹µ(ù"""""7ôè£bcsã¿6ÚØØ0dÈjŠHDDä֢׎DDnBÉÉÉdffZ; Ú¶m{Ãë666tèÐË—/sùòåjŠJDD¤úøùùáêêZáûµóEDDDDnÈÃÃððplmm¯ÛgÀ€Õ‘ˆˆÈ­EÉ)UÿþýK,º `kkK=ª9"‘[‡’/""""Rªž={âààP¬ÝÎÎŽîÝ»Wj+¶ˆˆÈíNÉ)•³³3=zôÀÎμd`~~>ýû÷·RT"""·%_DDDD¤Lú÷ïO^^žY›““]ºt±RD"""·%_Däÿػ󰨪ÿàïa؆}“MÙTPD 1IË´Ä­²ÅµÔÊDÓ,—¾_­Ì´ŸÖWÔ2Ë-Ó\°rKÌ5TDqAQA]Dömf~“#Û Î0 ï×óô<͹çžû9gîg>œ{.‘Bån/ÒÖÖÆ°aà§§§Á¨ˆˆˆZ?&_ˆˆˆˆH!µÉ@uu5†®á¨ˆˆˆZ?&_ˆˆˆˆHa/¿ü2ªªªfffðóóÓpDDDD­“/DDDD¤°>}úÀÒÒ@Í0B¡Põ~ÚMW!"¢'T ¤§ë -M……BH¥šŽˆˆÚ’=^Áñãë`eõ*â#¦‰HqººR˜˜ˆáæV 33‰¦Ã!j1L¾=%ÄbàäICìßo„S§ ðà'?Qs½ àV®|€@ÓÁQåäT…  ŒS7·JM‡C¤VL¾=Ž3ÄÒ¥–¸sG~~eøàƒûðö.‡£cLMÅÐb†ˆ”bŽ?þx#FÜÒt DÔÆTV pÿ¾‰‰ºˆŠáðaClØ`†çž+Á‚÷àèX¥é‰ÔB •r²9Qk“âââÇn'5U‹Yá̼ür1fÎÌç—"""j5¤R "ÂË—["%E“'?ÀŒùÐÓãÏTj]lll`dÔì[mwsæ Ñ*2R„3lao_…_½ ŸrM‡DDDD$G  (E@@¶o7Á·ßZàÜ9}¬[—KK±¦Ã#RN4'"zíÜi‚É“íXа0&^ˆˆˆ¨u ¥7îvïNG~¾£G;àÆ ]M‡E¤2L¾=aöï7§Ÿ¶Ãûïà›o²9m—ˆˆˆÚ —*ìÙs¶¶Õ˜0Á™™¼Yƒž L¾=A®^ÕÂÖ˜<¹!!ùð!$DDDÔÆ˜™‰±aC&ÌÍŘ:Õ¥¥üÙJmÏb"¢'DAS¦Ø¡_¿R|òÉ=M‡CDDDÔl††üðC&rr´±pa;M‡Côؘ|!"zB|û­9´´€o¾Éᣣ‰ˆˆ¨Ísp¨Æòå9Ø¿ßçΉ4Ñcá×s"¢'ÀºØ±ÃsçÞƒ‘‘DÓá©Ä³Ï–"(¨‹[A,æýÔÔv1ùBDôX±Â•1¢HÓ¡QWWWÙ-M/!æ¡¡pxùe¸¸ºÊþ³øæ›F÷3øûoؽó:ùúÂÙÝްž7:))-8©Í‚y¸}[i:¢fãÒÑDDm\V–6Nž4Äÿþ—Ív‰¨MÓÎÊ‚ÃË/+½ŸÅ7ßÀü»ïäÛÊÈ€qXŒ@æºu( PU˜DÔÂ:uªÂàÁ%øõWóMÔ6qæ Qwô¨!D"  *Ñt(DDG @¥»;îϘô½{Qݾ}“»œ<)K¼Hõõ‘ñóϸ‡üÙ³kš,/‡Í¬Yæç«5t"R¯#Šqé’>òò„š…¨Y˜|!"j㢢DèÛ· ::RM‡BDôXªml¶?ògÎDE÷î íóðŒ—¢#Pæï©¾>î¿÷ªí킘üú«Zb&¢–áï_ --)Þ¥6‹É"¢6îúu]tëV¡é0ˆ¨ Û·o—­£âããƒÊÊJ¬X±èܹ3Ž9H$øý÷ß1aÂøúú¢K—.ðññÁäÉ“qüøñ:íFDDÈ­Ñâêê wwwàƒ>À¹sçê'//óçχŸŸ<<<ðꫯ"**Jé~™ìØ![—ÅÉË :wîȶ8 ÛæìáÝëוn¿1ZпtIöº¼G7 (÷ò’½4¨g숨퉤pv®Bb¢®¦C!j&_ˆˆÚ¸ìl!ììª5))$$ëÖ­CVV$’𧔕——cÒ¤I˜;w.Μ9ƒû÷ïC,£  ˜:u*¾üòË&Û®ªªBVVÂÃÃñÖ[oa÷îÝrÛïß¿1cÆ`÷îݸwïÊËËqéÒ%L˜0Jõ£pìX Ð*-…͇B C'=í>ýTV/÷óÏQÙµ«Rm7E/)IîµØÖVþµMƒu‰¨í±µ­Fn.—-¥¶‰É"¢6®¼\ ¼åˆ¨-)((ÀíÛ·±cÇ\»v ÉÉÉlfÌ€@M3o Þ{OöÿÆ{÷B Ay9Ì׬‘Í|‘˜™¡pìXµŸˆˆH¼íˆˆˆˆ¨•˜;w.’““‰¼¼ú™?þˆÒÀ@ˆÍÌ ÕÖFµ­-ŠFBÚþý(U²ODDDª&Jù°."¢Ö&;;[îi$quuAhh6†U¬>Q[4c† `õêì&j©žÜšiJÚÍ™/DDDDDDDDjÄä ‘1ùBDDDDDDD¤FL¾©“/DDDDDDDDjÄä ‘1ùBDDDDDDD¤FL¾©“/DDDDDDDDjÄä ‘1ùBDDDDDDD¤FÚš€ˆˆÚžœœrìØ‘??+øùYi:œÇò$õE•rsËqút22Ê KñÞ{¡£Ã¿Ù5¿E‘Ò²³Ëš€sçò4Êc{’ú¢*11÷1xðÌ{ß~{ ¡¡ ¨ª’j:,"""¢6‹3_ˆˆHi66"„„¸?3Ež¤¾¨JhhŠ‹«1th{8;CKK¦Ã""""j³˜|!""¥Y[ë#$¤«¦ÃP‰'©/ªrãF\]ÚGÓ¡=˜|!""¥5¶NJQQ""²‘–V==mxx˜Â×·þY%b±gÏæ"1±ÕÕ89aÀèé euRSK°womг§9ÎËClì}èéi!0Ð:ÕÛvffNœÈBQQÜÜŒ1`€-’’ qäH&†mWWãûÒÜc*ÒŸ–¦L_""²qåÊ}äå•ÃÜ\¡¡×¦ ²TUIpêTîÜ)T*…££!üý­¡¯¯¹>µvL¾‘Òj×Iyôvðð»˜?ÿ2ŠŠªäê{{[`íZ?X[ëËÊbbò1sf4ÒÓKåêÚÙ‰ðý÷}ááaHM-FhhD"!Ö­KÄÑ£™²ºB¡_}Õ £Fu”kc×®T,^|••¹^zÉ¡¡ èÜÙD–|©¯/Í9¦¢ýiÌêÕ×!Upi!ÞyÇ­ÉzÊô%""›7ßdg—#44ðúëN ²CLL>Þ}÷rsËåŽae¥‡U«úðÖ-"""¢0ùBDD*‘ð³fE£ºZ OOsøøX ¸XŒ£G3pùr>¦O?‡]»@ îÞ-ŤI‘(,¬BèÑúºZˆ‹+@TT.¦L9‹#GÃÈèߦ6nLFqq5‚ƒ;ÀÆF„øøœ9“ƒE‹®`ð`;ëbcïã?ÿ¹ ±X __+xy™áþýJ>œï¾KTªOг9ý©Ïš5×!+–}±²ÒS(ù¢L_m`b¢‹uëan®‹×^sP3ó–-‹Gnn9ÜÝMÑ·o;hk ’RŒÓ§s”TÈä Q˜|!""•øé§¨®–bÒ$W,Xà Á?ë³~üqwŒu—/ç#**ýúµÃúõI(,¬ÂgŸõÀ›o:˵³yóM,Y‹}ûÒðÆN²òª* z²²yó.!,,ÑÑ÷d Ø´)b±3gºcÆŒ×r éŠàà“JõIÑc6§?õùàƒ®JÍ|Qu_mhƒM›’ak+ª³N~~œœŒ°wï@hi äÊóó+•ЇˆˆˆèiÂä ©ÄÅ‹÷  0gN7YâÌÍuñî»]°páe\¼xýúµCdd.„Bòó+±vm"¤R©,éPRR ¸zõ>€“£Fu”KÀ³ÏÚ",,ÙÙe²²Ë—ïC$ÒÆûïw‘«ëà`ˆW_uÄ?ÞP¸Oг9ý©ÏÃÉ"US´/yá{lܘŒ]»Rd+»ÌÂBz*™ˆˆˆèIÁä ©Daa¬­õë]xµcGCÀƒ5kÁäçWB,–bÕª„Û{tÝ;;Q:µ³?ª«ÿ.òàA%lmõ!Ö}4²ƒƒ¡=Qþ˜ÍéO}Ô±æK-EûÒ˜Y³Üѱ£!þø# K–ÄÂÀ@ÞÞæCÛ+ ÑÓ†É""R df–¡¼\\'sçN ÀÔT矺ڨ¬”`Ê”†“µ â*ËÔTYYå‹¥u0éé%Íj³)ªê:×|Q--ÆŒqĘ1ŽH¤HI)ƉÙ˜=;ññ˜;·{‹ÆCDDDÔV0ùBDD*Ñ»·%öîM÷ß^Ãüùž²ò‚‚J¬_Ÿ$«þþÖØ¹3ŽŽ†îP§­ë×ȳU–··9öïOÇ?$ÉÝz”‘QŠÝ»S›ÕfSTÕu®ù¢ 'Nd!0ÐB¡ZZ8;£S'#lÝz {ö¤2ùBDDDÔ&_ˆˆH%Þ~Û ¦cÆd\¸^½ÌQ\\cDzŸ_ž=ÍÑ·o;À{ïuFxxæÌ¹€M›’Ñ£‡9Œu›[¤¤B\½z7ú£}{ƒ&ŽZ×ĉ®8xð.¾ùæNŸÎ——ù?O;º =½Ú„…‚©ª?ê\óE¦O?ss]ôêe‰ QU%ATT.ÒÓKе«©¦Ã#"""jµ˜|!""•èÖÍÿû_ÌŸ 11ùˆ‰É—móö¶ÀÚµ~²…x ±ukæÌ¹€¸¸ÄÅȵåînÚ¬Ä ôèaŽÏ>ëÏ?Åùóy8>г§9´Ã·ß^ƒjÿùSgZ“  [9’‰C‡îÊ•;8béRo EEDDDÔú1ùBDDJ³±!$Ä~~VråC†ØÃß¿""²‘ž^ ]]-xzšÃ×ײNݺ™âÏ?ŸÃ¥K÷W€²21lmEèÒÅîîÿ΢pt4BHˆ;¼½ë¶Q»ÍËËL®üõ×0`€ NœÈBqq5ÜÜŒ1`€-þûß+䟭¯/Í9¦¢ýiiÍéË´in°°Ð¯SÍ?äæ–ãÂ…{HK+6œœŒÐ¯_;¹GO‘>V°°ÐÅíÛÅ8q" b±ãÇ;3ñBDDDD-ŠÉ""zâxzšáäÉ,¤¦Ê?ZzôhG¼ûn—ö"""""R&_ˆˆè‰âŽQ£qñâ=df–ÂØX}úXÂÍÍDÓ¡ÑSˆÉ""z"98ÀÁ¡í?aˆˆˆˆˆÚ>-M@DDDDDDDô$cò…ˆˆˆˆˆˆˆH˜|!"""""""R#&_ˆˆˆˆˆˆˆˆÔˆÉ""""""""5bò…ˆˆˆˆˆˆˆH˜|!"""""""R#mM@DDO“'³žŒŒRTWK±q£?ôõ…š«A·náÓO¯`ôèŽ=ÚQÓá(EÝc“åËãññÇèÙÓ¼Ñò¤¤B?ž…¨¨\TVJðÉ'ÝÑ£‡E½íff–áС»¸~ýrrÊan® KŒéùøÃÃ3ðóÏ7sìØN>¼ƒB}*(¨Äöí·“©T€îÝMñÆNh×N_¡ýUÝŽ2ãV«¡÷Emí:%""j ˜|!"¢±woæÌ¹ W&‘h(•”Tãüù<ôíÛNÓ¡(¥%ÆúàÁ»¸|9nnÆ–Ÿ@||\ªêmsË–›X²$R©|ùþýéX¿þ~þ9ŽŽ†²òÌÌRœ?Ÿ×hœï¼ãªPîÜ)ÁرÈÉ)—•?ž‰­[oaûöþèÜÙ¤EÛQfÜÖÐû¢¨¶xµL¾Q‹øå—[ÐÖà?ÿñ‚³³1´´ÐÓãݯêÐc}üxüü¬`h¨ÝhyNN9ÜÜLðÜsv¸~ýNžÌj°Í{÷*`gg€_´‡›› ÚµÓÇ­[Eøé§¸{·óæ]¯¿ö—ÕñÅöèÖͬN;‰ï¾m `«P>úèrrÊÑ»·%&Mr…P(Àöí·pêTfÍŠÆAÐÒ´X;ÊŒÛÃz_Å딈ˆH=˜|!"¢‘ž^Š.]Lñæ›Îš剧u«))Ř0Á¥Éò½{ÂÚºæv›Å‹cmwÒ$W|øa7ÊM `ƒÁƒíñ G‡’’jYbÁÖV[[QvNžÌBII5Þ|ÓBaÓ‰Ž˜˜|\º”Ž ±eË3²[l‚‚l1jÔIÄÇàÌ™\ôïoÝ"íÊ[­†Þeð:%""R&_ˆˆHiµëJŒ}­ðóÏ·{zzZ8УG;Ê~@oÝz ‡ÝE~~JK«ñƧƒÙaòäš[B®_€ß~»ƒ´´H¥€££!†ï€îÝëÎjh̉Yøñǘ5Ë}úXÕ»möìnðñ±¬Ó__KüòË-ÄÇ?€µµ–,ñ~ÌQR MõgŸÅ 1±_}ÕKîV fvÕ*¶ IDATP“Thª¼6 ssÝzË àìl„„„H¤õÖyØÎ)€Ñ£;*tÜ3gr¯¾ê(·¶‰P(À[o9aþüˈˆÈj2i¢ªv寭֣ãßZ¯S""¢§“/DD¤´ªpþ|zõ²Ä²eW‘ž^*Ûvøpââ °xq@jj±l]ŽÚ5TÀÅ¥fMŠß~»ƒO>¹Xg ’±r¥‚ƒ[,rs+pþ|òó+Üvÿþ¿ÛjûáåeŽÏ?‘­ÓÑ­›©ÂÇ|ظq§!733]|÷_“õ45Ö×®=ÀÅ‹÷PZZ]'¦cDzХ‹ Ú·7P¨üqU!5µ^^æ06Öi´nnn9ŽÏ‚··…¬ßMIN.€z³­-»y³¸ÅÚi®GÇ¿µ^§DDDO#&_ˆˆ¨Ù~ú) nn&Xº´llô_€ï¾KĶm·0uªìí 0nœ ¶Ç;ïDÂÞÞŸÞÀ¿Ùß°á`üxøû·ƒ¶¶))%Ø·/ ……M/0ª ›7'ÃÉÉ!!îèØÑ&&ÿÀoÈùóy '_¬¬ô”j»¥ÇzÑ¢(*ª‚££‘\yAA%.]º‡iÓ:+T® ‹Ç ¢B‚yó<š¬»gO*Äb)^y¥“Âíß¿_õ>¨vì ê&ôÔÕNs46þOÊuJDDÔ–1ùBDDÍÖ©“ÂÂ@O¯æ‹lPU%ÁêÕ×qåÊ}ØÛÀÑÑŽŽ†ÐÖÖ‚‘‘6üüäoÒÖÖBçÎ&øï½äÊ'NtAQQËü¨³¶á·ß@$z¼·n ¨33 !::Ê-bÚÒcÝÐ쟿ÿΆX,ÅsÏÙ)Tþ¸V¬¸†½{Óðé§^un%{”T ìÞ ‘HƵWøµ ³úÖ‡©-«ªjú‘?ªj§9ÿ'å:%""j˘|!"¢f2¤½ì]-sÿÎhÊÔ©n˜3ç>ü0AAvpw7…³³´´MÞb¢*C†Ø?vâ@“ÉÇÑZÆúرLXYéÁËË\¡òæ’J%Kb±eËM̛牛^Döܹ\¤¦–`äÈŽJ=íG$ª×’’º·XÕ–)ÒžªÚiŽÆÆ¿µœ;DDDO3&_ˆˆ¨ÙLMëþèÒÑ©ù ¿DÁ?ðæ€nÝÌpà@:~û-‰‰…¨¨à¥—0gN·fßô(±¸á€ììT³F‰:Ö|©ÕƺºZŠˆˆl¼ø¢ƒÜ‰*o.±XŠO>¹ˆ?þHÃÂ…^˜4I±§÷Ô.´ûÊ+ŽJ¯}ûš…SRŠáá!¿xìíÛÅÿÔiúQU;Êjjü[ùCDDô´cò…ˆˆ4ÎÉÉ3ft•½Ž‹+À¸q§‘›[®T‚¢öà½{åu¶%&6²§‚÷ 5Ak¾¨ÊãŒõ¹s¹(.®ÆsÏÙ*TÞååb„„DãøñLü÷¿^?^±ÄKAA%Î@ÇŽ†ðõUnRíl‘'²ðÒKrÛjŸ äéÙôŒUµ£,UŽcTu=˜|!""úúëxŒÝQîÉ466úÐÑÑ’=qEQ;ÖÌ<ؽ;ÇwÝqüx–lV„:©sÍUxܱ>~< zzB<óŒµBåÊ*.®Æ”)‘¸pá>û¬Þ|ÓYá}ÿø# ••¹Ç'+jà@ˆDB8Ž¡CdIŒèè‘*qæ =–È”H|{ê[$d'À@׃Üá£ÁÂÀ¢É}˫˱>j=&DZAtµuái뉩}§¢¿S¹ºR©¿Åý†°Ø0\Ϲ±D +Œí9c¼Æ@(6xœÄÜDLÙ=•âJü0æô°ë±DŒm—·aOì¤=HƒT*…£¹#†wŽ×{¾‘Ž@ýk¾4¶V žr.–.²¸Ãbð+vs!–Šádᄱ=ÇâMï7Ûüm."ìMíQ\Q,³‡%æ&â§s?aåË+a&2SYûV†VMîkmdÝìúDDDDªÄä 5Û¥»—°ìÄ2ˆ%b5É”]1»p1ý"~Ÿø»Ü‚ªªWaÂŽ ¸˜~QVV)®ÄÙÔ³ˆº…ÏžÿL¶à«T*Ŭ}³p0á \W3¯âjæU8˜:à™NÏÔ{œ“7ObæÞ™hoÚ?ŽùíMÛVü½?žûQ®níú:Z:×{œò‚šð––²¸?:ðöÆï•«s=ç:ÿµ Ù øòÅ/›l³Ë×]dcÜ+C+D͈R8Þ›÷n"h]2 3`a`ß¾˜ÖwšB èÀ­{·˜“ˆÁCO[On›D*ÁÂC èˆaîÃŽI‘öûvì 7+7„ņ¡§}O r-N§œÆÆè°7±GkP³ë©“/DDÔl‡®ÂhÏÑxßÿ}XY#.+‹ÿZŒÄÜDüpö|øaƒûn½´Ó/ÂÞÄ‹Ÿ_Œ>ú ¨¢»cwcÍ™5øòØ—ì6íŒÚ!ìj&„™È sçàY—ga&2Cr^2~½ò+t„:õcË…-Xz|): tD( u eÛŽ$HG„/­€'hki#%?{¯í…nÃI#¸:çj²S·Oaá¡…ØüÚfÙ ½ñ{±7~/º´ë‚~Œv= §­‡¸¬8|~ôsìŒÙ‰1^càÝÞ[‘áV‹‚²Ùí<9Å98˜p‡cUð*¼Ðå…F÷-«*Çû>„±ž1æͯ³}Û¥m¸‘w‡§nVlµ/Ôbëë[ñÕñ¯0ïÏyH%²mƒ;ÆÂçÊÍ”Q¶>‘*1ùBDDÍÖþ– ]&»uÆ·ƒ/Ö^‡Áë#<1¼ÑäËŸ BG„¢§}O€‘žBBSœƒWvàXò1Œí9¿]ý °*x•Ü O;OxÚyÖi[,cÑ_‹°íÒ6Œë=Ÿ>÷)„Zò·%ÙšØu$»eÉÝÆî6îJCTjZ€ ¯l€³¥³¬<ìj„ZBlzm“Ü--¾|ñíËßbÈOCpôÆÑ&“/‰'*“"üýñZÏ×àië ]ܼwë£Ö#<1 -@€S€\ÂêaeUe˜¶gnåßÂÆW7ÂÁÔAn{vq6VF¬ÄÇ?†­±­Ò±5Õ>ÄgÇ#>;^.‘ÔÌ,ŠÉˆ©³²õ‰ˆˆˆT…É""j¶€NuÖ,é`ÖNN¸»Ñ}Sï§ÂLd&K¼<,È5;®ì@êýT5·Æ˜ê›6xkÑ£ÖD®AqE1Þí÷.>ðQ½u-Äôß§#h]ú;õ‡»;¼í½¾Ý¦ÖÅô‹øèÀGX?f=:·ë,·íFî ˆ%bôÿ®fý©T )¤²ÿ€ŒÂ ¥Ž§J?ŒùAîµ—VXq;Æ!*5 Qw¢ðœësuö{Pþïì~×s®cëàÛÁ·NÅ-F—v]ðFÏ7”ŽK‘öc2b0e÷Ø›Øcëàmï ¡–W3¯â‹£_`æÞ™0Ò3ÂçͪODDD¤JL¾‘Æ žÅfƒ\ƒq+a±aÖuX½³YÜmÜqdÚ\J¿„‹é}'¡§Ban`ŽUÁ«Ð¥]—&“ƒ™{gbíȵõ&mjgX4¶^K•¸ªÉã¨sÍ—G ø8ø *5 ¹Å¹u¶çç`ÒÎIH+HÃÆW7Ö›)(+À‘¤#·ånõÇk¥ ñ“D¹Å’ivÇî†D*Á¢Á‹ä&}ûbù°å±yv\Ù!Û¦l}""""Ubò…ˆˆšítÊiÌê?KnöKZAnç߆£¹c£û:š;âJÆÄdÄ ‡}¹m'ož”ÕKD§E#2%þü›ŒËÓÖïõ{vLÀÛßÀ¯üŸ:õ„!|;øÊ~à—U•aðúÁ˜ÿç|ü6á·Fq-û¦ÿ>«‚WÕ‰¿–‹¥ â³ãùA$ŒõŒ›Œ»5J¥¸~ÐΨܶ;w0þ×ñ((/À汛ѫ}¯úÛøgv²m@ƒµþMz=\GÙúDDDDªÄä 5[LF æš÷ú½k#kÄgÇcñ_‹Q-©Æ.CÝw¨ûP\ɸ‚™{gbñó‹áãàƒâÊb„ņaÇ•ÐêÊnyå9 Ñiјµoæ ˜ƒÎ`ªoŠ›÷nâ×Ë¿"Ø#}:ô‘kßÍÊ »Æí„0qÇD¬¹Ϻ<+ÛþÊÖW0Òc$útè3T‰«™‰‚²”W—7{Rn¦í™†/­@o‡Þ Ö{¥Ç+¸pðÆïÏÌ@Oûž0Ö3FNq’r“v5 oz¿ÙdBIk¾üõòKó1´ëP8š;BW[7ónbý¹õˆJ‚±ž1ü:øÉê'å&aÂÎ ¨¨®À–×¶4˜ps‘9’ç%×»íåM/#!;±sb垆¥LûÐݶ;ÂÃñÙ‘Ï ¥¥…^í{A¨%DLF >?ò9ÈÍFR¶>‘*1ùBDDÍ6¤Ëü÷;ÂbÃäÊ],]0­ß´F÷×k¯‡ãÒÝKxg÷;u¶:èSÙ̋ў£ñ÷Í¿žŽ…‡Ö©;Ô}h½Çp0uÀηvbÒÎIxwÏ»øzØ×Þ}8 >+—ï^®w¿×z¾Ö`Ü÷JïaüŽñÈ+ÉÃ[¿¾UoÃSÃÅÒ£–:–bÃù Øp~CmB_¾ø%ŒôŒde›¢7ÉnCýóèzÛÜ?y?Ü­•_°¸9í¿áývÅìBZAÞÞõvºíŒÚajßÇ\ÙúDDDDªÄä 5[o‡ÞÛs,¾=õ-s!ÒaÛ Ì}v®Ü¬†úèuðóë?c}ÔzH8€´‚4è uái物~Sè(««%ÐÂ꫱+vvÇìFbn"„ZB¸Xº`lϱèëØ·ÁãXZaû›Û15l*昃ŠB¼Õë-ì¿;cv"êNÒ Ò!ÒÁÙÒc¼Æ`´gý?þš5IòJò@€åÖc€Ëì¼²qYq(­*…­±-ºZwÅ(QxÆI±E„Uí½~ïÁÎÄ"9/EE°6²†o_¼ÝçíV? ÄTß¿Oøߟý'nž@zA:¤ÂÎØýúcú3Óåž0¥l}""""UHk·@DD­Fvv6Š‹‹ªëêê‚ÐÐl ªX}"""¢¶hÆ ÀêÕÙŽ„žF666022jºbývk©2""""""""’Çä ‘1ùBDDDDDDD¤FL¾©“/DDDDDDDDjÄä ‘1ùBDDDDDDD¤FL¾©“/DDDDDDDDjÄä ‘1ùBDDDDDDD¤FL¾©“/DDÔ,ÑiÑð\é ×e®²ÿJ«Jñ'ÿ®Ë\‘“ «{5ó*\—¹"ôt¨#n{b2cÐóÛžuƸ-Ë(Ì@èéPD§Ek:iË×NèéPl½¸õ±Û©¯_-ÝWUž‹Êƾçê¸.sExb¸ÒÇjê=xÜqŒ¸×e®Ø½©Yû·uŠœãmù&"ÍÑÖtDDÔ6…žEYU†v gKgh ´ £¥ÿNþÐÓÖƒ••¦ClóBO…¢¸¢¸Î·eµ?x…ZBøvðÕt8ѯåpþÎy\º{ zB=ØÛ oǾ0Ñ7QÙ1lŒm¿Ž~*k³1ª<["vE߃–Ç'…2çx[¼†‰Hó˜|!"¢f¹yï&\­\:Bþ¯yÏtzÏtzFCQ=YnäݨwŒ©mkk×NXl–_ŠÂòBYÙ±äcéˆ0gÀLô™¨’ãXY#$ D%mµ4uÇ®Ì{ЖÇQS”=ÇÛÚ5ü¤‰ŠzŸ~êˆ#F wïÞš‰H!L¾‘R"nEàJÆ”@AƒS©_ïù:Úµk²=±TŒ³)g‘˜›ˆjI5œ,œ0Àyô´õduRï§boü^:¢§}Oœ»s±™±ÐÓÖC s :™wª·íÛù·›‹ÌÂLé¡§}OxØzÈÕy¸m/;/D¦D"!'f"3 é2ÆzÆ€²ª2½qwÜ…ƒ™^èüt„ug¡(ÒŸ¦ÔŽq^IÌ%æ²1ö°õ@k¬^QE"nE ­ zÚzð°õ¨óü‡û×îÎÝ9‡øìxꢟc?•ö½©ñŽN‹Æž«{gSÏB,˶iâÇ¢*Þûä¼düyýOôsìWïì‰ÌÂLìŽÝžö= Å¯¨WáÔíS¸SpR©ŽæŽðïä}mý&‘r? ÃB,ã™NÏ ¼ººB]è :=Ò.Ô›|KÄ8Ÿv×s®C"•ÀÙÂýûC[«á¯ž9Å9Øqeü:úÕ™µ¡êω¦ÎÅøìx»q C»…«•«\,µÛ†¹ƒ‹¥K“±geáDò VÂÍÊ œ4>èPö=h,E>3&‘J™‰kÙ×`¨gˆÎà`ê WGÙÏgeÇVÕŸÑ3¾máß¿Ö6¾ª&•ŠÑ®Ý`DGoÃŽ;àää„àà`Œ1M7@¤AL¾‘R"nE`ó…Í€ìâì¿|î<¸É/Ÿ11˜¹w&Ҥ˕ۙØáûQßË~¸§ÞOEèéPˆtDXwvŽÞ8*«+Ôâ«¿Â(ÏQ²²ÒªRL ›Š¨Ô¨:Ç tÄÚ‘k!Òɵ­§­‡ÿúNß>-«»òï•øõÍ_Q%®Âä]“‘U”%ÛÖݦ;vÛ%÷%YÑþ4¥¡1~ÝûuYò%<1óÿœ¢Š"¹}½Û{cíȵ°6²–럮PW®ÝmºÃÞÄ^%}Wt¼Ï§GXl *5J®~SÉ—Õ§WC iÓƒÀ@Çïø½Ód=U¼÷¶Æ¶øéÜO8yó$~›ð[cl¹¸?û ;ÞÚðëá-~íÄdÄàÝßÞEnq®\=+C+¬ ^Õä­)ÑiÑKÄxßÿ}ÌœÐÓ¡0™c\ïq(«*C|v|}®d\Áì}³q§àŽ\¹ƒ©6½¶ NNõ+»¨fL½eFŸM‹ñYñ=ŠÎí:×ýûÏ6wkwÙ؆bß»‹/B¥¸RVÖÓ¾'^îör½cPe߃†bQô3£VEu&였³©geeÚZÚXðÜŒï=^V¦ìç³²c«ÊÏèÇß¶ðï_k_U„pq™‹Õ«ÇãÆøã?°mÛ6¬Zµ þþþ˜0aÈÙ0Ô*1ùBDDJ t„‰¾ Ö]s‘9^ëùšÜö3)gp1ýb“íÜ}p“vMBay!zØ÷@»ÐÕÖE\V¢R£0%l ŽL9#=#Ù>£7¢¸¢Á݃aclƒø¬xœI9ƒE-Âà΃e¡+©(ATj¤Ü¤&“/µkWÔ—0éˆàãà#Wv§à&âŠb´7mÿNþ0Õ7ÅÍ{7qêÖ)df4˜|yܾÖRäsâqÎEEÅfÆâÓðO!–ˆáÛÁ^v^È/ÍÇáÄÃX¹Váv”}êó8ŸÁ݃ÑΨâ³âq6õ,¾8úº´ëRçÜQôó¹¹÷sª!ÊŒo[ø÷¯¹Ô5¾êäææ†¹sçböìÙ8qâ6n܈©S§ÂÝÝ“&MÂK/½]]]ÅGô(&_ˆˆH)ÎtĦèM°5¶­3c¡¢ºB¡/Ÿë£Ö£°¼Ÿ=ÿÞìõ¦Ü¶Í6cÉÑ%ØwmÞð~CV^%®Â¡wÉM{Ÿ÷ç<„ņ!:-Z6+ÄHÏ»Ç톱ž1.Þ½ˆ{%÷ #ÔÁ®C~.Ç“×I¾H!Eø;á°3±ˆŸcèOC™ ÿNþøé•Ÿ +¬ù7®÷8¼ðã 8ž|\öų9ýiHScüÓ¹ŸP-©Æ$ßIX´@öƒéãg?ƨ-£pùîeD݉B?Ç~²}ʪʰoÒ>8[:ËÊ"nE¨¤ïŠŽ·o_„ņ¡Ÿc?L÷ŸÞäXÔúÀÿ¥f¾(ãqû?¾÷xürél»¼ Ëì–ÉÚ=˜peX´€f®üÒ|8Y8a綠ÐüûËüÒ|ä—æ7y,ÿNþèjÝ_ŸüÅÅÈ,Ê„¹È¼Áúëή“ý@\6t™Üm éÒ!›>7nÄ‚ ðÍ7ßàÃ?ÄÈ‘#¡¥Å‡ü’æ1ùBDD™ ¡@ˆüÒ|¬\ ©T ©´æÇuIU €šGtÂûß}FyŒª³ÞÀ³.Ï",6 ÙEÙ²2-6œßÐàc\óJòê”ô)ûÒ B~ýpóÞM¼ÓçÙ]s IDAT—N æ/¤ö&ö¸ûàîcõ§¹.¦_„P ÄœsäþRm.2Ç»ýÞÅÂC q1ý¢Ü©àîÁr‰Uö½9ã­¬3»†*5 Z-|þÂçuÖƒxôÚUu_k)ú9¡n—Ò/A¤#Âôgä;Ì:൞¯á§s?)ÔŽ²ïA}šó™1¼Ûp¹Ä Lô™ˆÎþPo‚AÝãþ¸×iCT1¾Êj絺Ʒ¥uïÞ+W®ÄÇŒ5kÖ`Á‚ؼy3>ùäh:Ì:(Õ–2ïA}šó™Q_ŒZ-´7m«YWëlS÷¸«â:mÈ㎯²Zãy­ÎñÕ|ñŘ8q"–/_މ'bàÀøòË/ammÝtDjÀä i„‰¾ *Å•˜â7¥Á:.¨¨“7OB_[‡Þ9KKY¹T*Å– [Ô²Ÿ:ûSçXz&È,ÌDyuySµ‹œšê›Ê• µ”»ÝC-1Þê\óEú;õ‡‹¥ ¶_ގɾ“ñË¥_ ­¥×{¾®òc)s®i ´0Æk ÆxD*AJ~ NÜ<Ùûf#>+sŸ«Ô±u„:èjÝãzƒ‡­>øý„_—-øi¦o†»…wQRY¢’LK^W«½®J*KêlË(ÌP¨ S}SdeA,×IÀ¤¤5;¶¦Þƒú4ç3£¾¥R)î>¸ =“fÇ¯Š±U§æŒ¯²Ôy^·öñmi...X¿~=Î;‡O?ýC‡ÅÒ¥KñüóÏk:4z 1ùBDDáïè1;áhîˆàîÁu¶_ϹÞì´…ÚÐÊ?…áû³ßãAùÙm!ª¤Îþ<ª·Coìß‹o#¾Åü ù²ò‚²¬Z/«ÓR”ïÚ:eJCk¾¨‚@ ÀxŸñXtx$Àk0Ì}X'Ȩ‚2çÚ‰ät„PK-œ-ÑÉ¢¶^ÜŠ=W÷4™|IÊM‚®A½· ¥Ô<¥%»øß[ú9öÃΘøìÈgXúâR¹GK×®ùRß_ðUÑWe5v.Ú›Ú¨¿Ñž£eåÙÅÙØ³S¡ö{9ô¾ø}øîÌwr·Í¥¤aWÌ.…ãTö=¨Os>3ö]Û‡É}&ËÝz´éÂ&Ü+½÷X단blUIã«,už×­m|[ ???ìÛ·K–,Áûï¿×^{ Ÿ~ú)D"‘¦C£§“/DD¤ïù¿‡ðÄpÌÙ?›¢7¡‡]ë#·8IyI¸šy_݈ö¦í•nÛÛÞW3¯âåM/cÛ 5kÄgÅ«%ñ¨·?z»ÏÛ8˜pÎoÀ…ô èÕ¾Š+Šq,ùòKóÑÓ¾'úvì«‚^)F™ñî`ÖZ-ìŽÝjIµla˦5­Î5_Te”Ç(¬8¹ -@yu¹Ú¢Tæ\›þût˜‹ÌÑË¡:˜u@•¸ Qw¢þ ]­»Êµ»6r-$‰ÜXŸ»sŸý¾¾èbÝ7ïÝ„D*Áá¤Ã²Ç3ûwò—ÕŸÖo$ÀoWÃù;çÑϱLE¦¸uï"nE`ë”J¾¨óºjì\ô°õ€µ‘5ÂÃñƶ7г}Oä•äápâaè*–Ü›è3bÕéUˆL”{Ú‘¾NÝÛÕ¼õiÎg†HG„àMÁx¡Ë hgÔײ¯!2%o÷y[¡1¨*ƶ¹Ô5¾ÊRçy­ÉñmíD"¾üòK 0 ,Àõë×±~ýzXZZ6½3‘ 0ùBDDá`ꀭ¯oÅœýs—‡¸¬8¹íîÖîÍNT„„àlêYÜÈ»MÑ›ÚZÚøbÈØ~y;Ò¤?vüRgÕͦþü?Ìÿs>b2b“#ÛæÝÞkG®UË­U Qf¼ÍDfå9 a±aØzq«\mHG„W¼^ÁÆèðnï /;/µG™s-È5G’ŽàÐõCuÚXúâR¹²µgÖB,Ëý0íjÝNN8ŸvçÓÎËÕ7Ö3ÆœsÐ¬£YGl|u#fïŸô騻[î˜ö&öj뫲;õµõñŸAÿÁ¬½³äúà€ç\ŸÃgG>k²}/;/,²‹/BtZ4¢Ó¢=ì{`x·áøâèuöQÅ{PŸæ|fLöŒS·Oaoü^Y™¶–6<· ÉG”7FcÛ\ê_e©ó¼Öäø¶Ï?ÿ<:wß~cǎŶmÛ¸ µ&_ˆˆ¨Y¦õVïÓRü;ùCO[VV²2c„„ÔùÂÞͦþ|ûO\º{ qYq(«*ƒ­±-º´ëwwY=GsG„„À»}ÝGÕn{ø‡®™È û'ïÇñäãHÉO‰¾ aob‰T"·H`cm÷wêC]CXÖý«Ø[½ßBEuE³ú£¨†Æ†tGDÜŽ@zA:tµuáië ß¾rõ»Çí»2ã _½ø†wŽkÙ×PZUªÐX¨ƒ*ßûZÝm»@£³^ZòÚY3r r‹sq!ýÒ Ò` k' 'ôsì'÷èi˜þÌtH$¹2ß¾økÊ_ˆÏŽGRnö\Ý3ýš¤…ƒLôë®ýÑÛ¡7ŽM;†³©g‘˜“¡–ΖÎp ­}R_¿Zúshü\|±ë‹ð°õÀÉ›'QZUŠî6ÝñL§gp-çBBäžÖPì¯x½‚€N8qóŠ*ŠàjåŠg]žERnBBàj)¿®‡*Þ±´fm¤Gß_e?3ú:öÅÔ¾Sqêö)$æ$Â@×Ϻ<[çöœæŒ»2c«ÊëTUçxkþ÷ÐÜø¶%:uÂÎ;ñæ›ob„ عs'LLš¿–QKÊÉÉÁŽ;àçç?¿æ'B[ ‰D‚˜˜œ;w•••†££c£û\¼x±±±H$èÞ½;úôéÓ&'.Ö>׌ˆˆZììl+T×ÕÕ¡¡Ù:T±úD¤b©#6@VaÎÎ8+·ÞÉ“âÛˆoaeh…q½Çi:”ÿgï¾£«ªòþ¿ozïäBB(¡… ½9‚)Š (¨¨Ë03‚Ã8–gFÃ:¥T¢0ÒIh! !´ !„BÊýýÁ/w¸O)¤P>¯µ\‹»Ï>{ÏÉ] òñœ½ïX•ý V'¬fÚÓ˜yÿLžìúd=WwëÓwüæ6uª€O?­uxÒÓÓyôÑG騱#sçνi~?}ú4‘‘‘ôîÝ›îÝ-Ò¸¸8}ôQ »µŸ5k?ýôYYY消ˆ Paÿüü|¦L™Â¦M›,Ú»wïμyóê<@3¸¸Ôxëùå·ß¿ DDDnR™¹™,Þ·¸Ò~Þ ZImØyr'ÛŽocçÉ$¦'2¹×äÛ2xêõu6©Øµ~‡2¹?’ SãNõYÖmCßñ;‹Ñhä_ÿú?þ8‹/fܸq ]p%| ÇÚÚº\øb4 »-žzY»v-ÙÙÙtéÒ…ÂÂB¯Ûÿí·ßfÓ¦Mxxx0tèPlllX³f 111¼þúëÌ;·ž*¯™Ûó_"""7¡³yg ß^i¿{[ß«ðå²óäNæl›@S·¦Lî9¹+ª;½ý{—ÛªXê×µ~‡Î""&€¡ÁC iZ»ë”Ü)ô¿ótéÒ…çž{Ž?ü!C†àééÙÐ%]—¯¯ï-ÿÄK™™3gÒ½{w¼½½™9sæu×ÔÔT¾ÿþ{\]]ùþûïiÖìÊ+/¾ø"?ü0¿üò ‰‰‰Wÿ5ïú¢ðEDD¤žø8ùTiaÙ«ßÇ—›_Ï= ë†ÑÕÈvCjmKñ›Ñ,´*µãZ?ƒ6>mxãž7hçÛŽþý빪ۇ¾ãw¦)S¦°lÙ2"""˜>}:'Nœ`ÕªU 0€vîÜIBBÎÎÎŒ3†„„~ýõW† BPåÚMeÇzè!Zµº²UûÕãuéÒ…;w²ÿ~ìíí0`-[¶4ŸÊ+ؾ};%%%æcaaa®ùrõø;wfÛ¶m$&&âááÁàÁƒqu½ò÷R~~>¿üò §N¢Y³f<ðÀØÚÚ–»%%%lß¾¤¤$Š‹‹ àî»ïÆÞÞ¾VïûàÁƒ«ÜwÆ ”––òØc™ƒooožzê)>üðCÖ¯_o¾±yófNž<‰ÉdÂßߟ>}úààÐ0«Â‘zÒÈ¥Ñm±«XêÙ¢§~a“צQÚ4jÓÐeˆÜ’7nK–,á•W^áĉ„‡‡cggÇÇÌ–-[èСƒ9| §M›6†/ááá[„/ááá8::2wî\~ùåskkkþö·¿1bÄ¢££‰ŒŒ`ÇŽìØ±ÃÜ7,,ŒôôtÂÃÃ-^=*ßÞÞÞ¢^€¿ÿýï,^¼˜¢¢"&MšDZZšùX‡X¶l™E¨ËË/¿LjªåÎMš4á³Ï>£cÇŽæ¶O?ý”ª.!ëääijÏ>[¥¾){*¦¢×­zõêÀÁƒÍm±±±¼ð dffZôõññá“O>i×¶¾ˆˆˆˆˆˆÈíá‡æÓO?eï޽消ˆòòòxøá‡iÑ¢7¾¡9"""ÈÍÍeذaFغu+o¿ý6÷Ýw®®®ôèуQ£FI¯^½èÑ£GµÆ/((`äÈ‘xzz²uëVyûí·9}ú4vvvŒ7kkk~úé'X²d O=ue‡¾S§N1qâDrrr !$$;;;âããÙ±cÏ=÷ëׯ7/:ûÏþÓâÉœëñññ¹¡ð¥,DiÚ´i¹c~~W¶fÏÈÈ0·½÷Þ{dffL¯^½°±±áøñãlÙ²…C‡)|©oøúúKëÖ­+¯é¬^½šÀÀÚy¸¨¨ˆµk×Z¼6óæ›oILL ¤{÷î ónGS¦L©òø&“‰¨¨(š4i\y}hÈ!lÛ¶>}úðïÿ;;;ÆÏ<À† ÌáËçŸNNN³fÍ*·øðW_}ÅìÙ³Y½z5cÇŽॗ^ªÖ“/7¢°ðÊÖæ½úTÖVÖ ++‹€€V­Ze±‹UVV–ÅîJõIወˆˆˆˆˆÜñ8yò¤9|6lX­/#FŒ°^~÷»ßIzúoŸý裚ƒ¸òJSÏž=9zô(Ï>û¬9x+×Ú´iSN:enÛ¶mÖÖÖdee1gÎL&“9\¹tépe«ë2S§N½áš«ª¢€¥LEÁÌ<@DDË–-càÀøúúàåå…——W=T\žÂ¹ã¹¹¹qñâEóç«­ W#eÊž)..¾áñ+z-ÊÑÑñºÇrrrÌŸ³²²())á“O>¹æWߟú\ó¥Q£FÀ•m¸Ûµkgq¬,@*ëðÊ+¯Ð¢E ¾ÿþ{fÏž““¡¡¡ 6Œ!C†Ô¸Ž¡ðEDDDDDDîx999æ'$àÊ“#)Û-§ìi«>}ºnŠ«nnn\¾|™çž{îš}®^`¸>×|)ÛÅhçÎ 8ÐâXÙ¢ÄWïtdeeŨQ£5j¥¥¥?~œ72mÚ4øýï_ãZjJወˆˆˆˆˆÜñ233«´kÙ¢¯7ndäÈ‘æöôôt–.]zÃu”½>“}ÃcUGŸ>}Xºt)þþþ 6¬Üñƒš·­†ú]óeàÀüå/aùòåŒ?ÞüúÖ¹sçX°`÷ÝwŸ¹ÿÆ0`ÖÖÖXYYHË–-Y¸p!+V¬Pø"""""""RßΞ=Krr2;w®´oÇŽñõõ%**бcÇÒ¥KΞ=˺uën8dhÞ¼9VVV,_¾œââb<==+[M×¥_|‘¨¨(¦OŸÎüùó ÁÕÕ•ÌÌL:D\\æÝ…ntÍ—uëÖ‘””ÀþýûXµjûöí`È!æ'mš5kÆ£>ÊÊ•+>|8C‡ÅÖÖ–Ÿ~ú‰ŒŒ î½÷^‹'_¦L™‚§§']»v¥yóæ±cÇRSS˽¶T_¾ˆˆˆˆÙ±sÇøcÔÙy$#;¬ü‘ÛÀƱµµ¥gÏžÄÄÄ\·¯ƒƒúÓŸxå•WˆŽŽ&::€~ýú1hÐ fÍšuCµxxx0bÄ"##Y¸p¡¹½®Ã—fÍš±páB¦OŸN||<ñññǃƒƒÍÁKmøùçŸYµj•EÛÕŸÛ´icñšÓ¬Y³ÈÌÌdóæÍ|óÍ7æönݺñÁXŒ3pà@Ö¯_ÏÚµk-Ú›5kÆ»ï¾[k×P _DDDî0I™IÌúy…<ÆðŽÃ-Ž]º|‰è”hzù÷j êDDDê—Éd⫯¾âÁÄÑÑ ½æ9>ø ;vä?ÿùyyytèо}ûràÀÂÂÂ,vIºÞxeÇþï7ûÛßxä‘G8pàyyyæv£ÑHXX˜ÅëQ׿ÿþ8;;ãíí]îØ“O>Yn÷ öíÛ³fÍöìÙC||<ùùù4nܘ¶mÛZºM {óî|³çÒðuñeöàÙD§DóãIÉNÁÎÚŽNM:1¦Ë|œ}Ìóm<²‘/v~a1öÿ=6íîitkܼ֭]ýºòõî¯ILOÄÉΉ{[ßË#íÁ`0Tëš«r-ÉYɬˆ[Á¡ÌC—àÀ¨N£6W8Nuj«Ê}º^ÝšuãËè/X»œ­É[Íç-·¨Â5_®¯W‹^|½ûköŸÙ½=÷´º‡‘FVXkU¿""" ¡¸¸˜iÓ¦aggÇ›o¾ÙÐåÈmNወˆÔÈ?½ÁЏæÏ›ŽmbEÜ žèòÑ)Ñdåe™](¸@tJ4›væõï‘›@{c{Þýõ]"b",Æÿõȯ̙Ï£¿ «_W2/e–»LÙ±óyçËÍÛ©I'‹yÖ\Ë/‡!|Xxµ˜Ê®eÑÞEÌúy%¦‹{óÍžoøëà¿2ªó¨×VÕût½›¸5!1#€Ô ©¤^Hµ¯¢5_ÊÆëÚ¬+ïmxÏâœuIëˆO‹gæý3-Æ©Î÷CDD¤¾™L&Þzë-öìÙâE‹näu‘*Qø"""Õ¶æàVÄ­ÀÑÖ‘gzÿüs:tèÐUÊFወˆTÛ²Øe|2ì 4·?Òþ†F åè¹£žçëâËʧVâhëhnûǦðÞ÷,vÞÖa–L`û‰íüzäW†´Rãz¹4²˜÷ž {èÖ¬O.~’¥û–Ö(|©èZ^úî%JM¥D<a~ ¥l¾.~]˜¸t"?ø{¿XíÚ–ì[Tï>UT#ü÷)fîͪµ¾KK¯–DNˆ4^N^5ª­:÷©2®8WÿßÀÚT›ß‘Ê>|˜ñãÇ“m^llløä“OHKK#??ŸÙ³g3ztõ_5© zíHDDª­_Ë~”˜J˜5ƒK—/™Û×ZÏwqßUk¬þý1™L¼þãëœÏÿï«+1)1ÌÛ1ÏÜ …G –ï_Îŋ澎l`iìÒkαþðz‹wò‹ò™±vyEyôì_­z¯çþ6÷“_”OTRí|ÛѳEOóííIÊL¢¨¤¨FµUç>UÆÉÖ €“Ù'k|­×S›ß‘ë‰eôèÑœ?Þ"x+[IïÝ»—.]º°nÝ:/Ò ô䋈ˆTÛ³=ŸeeüJÖ%­có±Í´òiÅù¼ó¤^H¥½±=Ò`e¨Z¾ÿ\ÏçX}`5[o¥ÿœþz’[˜KÊ…L&£CFÓ¦Q‚}ƒé`ì@|Z<þ5€@ï@Î^:Ë© §iBì™Ø çö æŸÞà¿ý_W_’³’É-ÌÅÉÖÉbñÛÚ¸/ë¯gÑÞE,‹]FK¯–¸Ú»’™›É™‹g()-!â1Ë­¢«Z[uîSe¼p´udeÜJâÓâͯ-·¨ÖîCm}?DDD®eÆ L™2…’’JKK+ìckkKãÆñöö®çêD,é_>""Rm]óÕã_ÑÊ»yEyĉ#íbÏõ|μێ³]ù­+ÒÈ¥‹Ç-¦Góp ý'³Oâ`ãÀ ½_`öàÙæ¾ƒ÷zO.^$öt,g/eÚ€i<ÞåñkÎñhÇGy©ïKœÏ?OÜ™8r siéÙ’c˜Ÿ¦© N¶N,»˜q]ÇakmË‘³GØ{j/©RqµwåénOÓ¡±åv–U­­:÷©26üaà°·±çPæ!¢S¢‰N‰®µûP›ß‘Š|ÿý÷¼øâ‹_3x+ÛJ/]º”¼¼¼z¬N¤<ƒ©®^ø‘KOO'77·J}ƒ‚ZžÎ!Uë_ÛŽž;Jîå\ü=üñpô`räd6ÙÀo/þ†Ÿ»ÙùÙ$e&áïéOcׯ×+37“Ô ©ØÙØäTng2&“‰Ãg“_œO W ®ö®däfœ•L›Fmðtô`Ó±MLZ6‰ƒf0±ûDr rHÎJÆÉΉ ï  ¯­LU¯¥¨¤ˆ£çŽ’_”Ocׯ]O{ÜHm•ݧªÖ˜W”ÇѳGÉ/ÎÇd2ѳEO.]¾D|Z<~î~4soVéxeÇZzµ,· Tíû!""RS§^ù{æ®»ÞgöìªÿOkkkÞ~ûmÆŽ[W¥ÉÀh4âââRÓÓ—ëµ#©‘q+èíß›VÞ­€+»Ý|µë+6Ù@ w Å/ÖŽôlѳÒ1¹4¢‘K£Jû †r¯ØøºøVºx®›ƒ!MC*ÿzªz-¶Ö¶´ómWåq«S[e÷©ª5:Ù:Ñ©I'‹6g;çrç^o¼kNXÀP IDAT«Î÷CDD¤jL<8ƒµk?­Ro¬¬¬(**bÁ‚<ñÄ5ú/"µAወˆÔHTRo®y?7?¼œ¼8™}’ìül^íÿjWW='Οà­5oUÚ¯[ónL0­*ºõÝNßix%%%ìßÿ§NU¼>™““®®®¸»»ãé鉗—îî»ãææ†»»;8::Öså"W(|‘Õi‡3“z!•Ô ©ø8ûðûßýžÛ=ØÀÕUO^Q^•Ö<)ÛêZ*w;}?DD¤áÅÇÇãáуFà•WLå‚=Ñ"7;­ù""rº•Ö|©ek¾|úizW"w¢]óE»‰ˆˆˆˆˆˆˆÔ!…/""""""""uHወˆˆˆˆˆˆHRø""""""""R‡¾ˆˆˆˆˆˆˆˆÔ!…/""""""""uHወˆˆˆˆˆˆHRø""""""""R‡¾ˆˆHµÅ‰#è½ Â·„×úØ+âVô^QIQµ>vum:¶‰ ÷‚˜3¿¡K¹¦SN±p÷Bž^ú4Áô^›Žmºî9»RwñÔ’§èòQ:ÿ½3O|û[’·ÔSÅ""""w…/""rGÛ•º‹ ÷‚˜³mNC—R##¿ɬõ³Ø’¼…¢’¢JûoNÞ̸EãØz|+¹…¹äå“ÃÄeY{pm=T,"""rç±ièDDäÖÓ©I'޼y¤¡ËÀÏÍÁm3¨õ ¢F±4vé5û•ñǨ?RRZ¤î“x±Ï‹X¬Y¸g!múˆ?¯û3w·º'[§z¼‘۟‘[ØŠ§V˜ÿüëá_¯Ûwëñ­œºpŠîÍ»ó‡A0·Oé3…éX—´Žõ‡Ö3¬Ã°:«WDDDäN¤ðEDDª-îL.x”°~a„õ 3·ðùŽÏù)ñ'R²S°³±£SãNLî5™þý-ÆÈ)Èá›þÁºCëÈ)È¡µOk‹±þ/“ÉDäþH–í_FRF%¦¼Óe ãBÇa0€+ë´LZ6‰ƒfжQ[>Úü‰é‰8Ù9qoë{yíî×ðrò`ζ9|´é#>Úô‘ùÏ@¹'{öÞÇ? .-{{îiu3ÍÀÃÑãÆnf=ŠI‰¨0\Öaë’Ö}2ZወˆˆH-Sø"""µ¢¨¤ˆ§–<ÅîÔÝæ¶Ë%—Ù~b;;Nî`Öý³:€ÂâBÆ-GbF¢¹o|Z<ϯxž!톔Ûd2ñÚ¯±*a•EûÁŒƒÌüy&‰é‰üõÁ¿ZÛsjïm|’ÒàJ0´,v»SwóÝÓßUëÕš¸´8>üχ\.¹ @~Q>ßÅGê…T[\¥1Ú~ÐÖ\Ke|œ}Ø1uG•뫪çOЦQ›rÇÚù¶»Ò'ûD­Ï+"""r§Ó‚»""R+îYÈîÔÝ4ukÊç£>gß«ûØü?› ë†ýõ¯dæfðõî¯IÌH$Ð;¯Ç|ÍþéûùÏ‹ÿal—±ü”øS¹±W%¬bUÂ*Ú6jË—}É®—w7=ŽÅãl fiìRöžÚkqÎÚƒkÞa8¿>ÿ«¹oÛFm9zî(ó¶Ï®¼n³äÉ%¼:àU޼yÄüßÕV'¬fTçQüúü¯Ä¿ÏÒ'—ÒÔ­)1)1$¦'r«È½œ €»ƒ{¹cem .ÖkM""""w=ù"""µbM⇇ӥi\ì]ëFFnKö-á×#¿2¦Ë¢Fa0˜óèZû´ÀÉ݉YÌ"ù|2ÛŽo³;2.k+kæ?>__s{÷æÝùèáüïÁürøBýBÍÇBš†ðÞ÷̯#uoÞ¹#çrßç÷•Å«^­òµõ èÇ;¼cþ|W³»˜Ük23žÉÁ̃ƒ+#éõ¤*ÏWWL&SމˆˆˆÈQø"""µâÄùx8z˜ƒ—« È’}K̯½œÈ>ÑÅh^®6 `@¹ðåpæaJJKèÿ¯+ëÆ˜L&L˜Ì8sÚâœ~-û™ƒ—2Í=šà@rVrµ®­W‹^åÚš{4àÒåKÕ«!¹Ú»p¡àB¹c9…9Wú8¸ÖkM""""w…/""Rk *ïT¥¦R€ë®™RTRT'sØÛØ—k+»Öª>1r3¬ùâïéÀ¡ÌCtõëjqì`ÆÁ+}<ük}^‘;©þžþì;½ØÓ±„4 ±8öŸ£ÿ1÷+¿àïOÛÏ᳇Ë=ý²)yS¹±[y·"!=m/m3?½Q™-Ç·ðJÿW,ž~IÉN!9+Ù\€•áÊògU FneÝ›wgÞŽy¬JXŘ.c,Ž•-fÜ£E†(MDDD䶦ðEDDjÅà!ì;½—W½ÌÌûgÒ­Y7r/ç¹?’%û–`gmÇ  A n7˜Ø3±Lùn ³îŸEHÓ²ò²øbÇå^92š]?íbÂ’ Lí;•.M»àjïJFn‡2ɸÐqôiÙÇ|NìéXÞZû/ö~__Ò˜ùóLŠK‹Üv°¹_ÙB³1)1dçg×ÙÖÑ7Ú/}[ö5/üî¯ïòbŸ±±²áëÝ_³.ižŽžÜ׿¾†.SDDDä¶£ðEDDjÅø®ã‰:ÅžS{xvù³åŽÿñÞ?ÒÈ¥îšÀê„Õ$f$2~ñxsƒÁÀCÁ•ÛñhDÇDŸŒfEÜ &GN®pþÇC·ø<¸í`¾‹ÿŽÈý‘í­¼[ñ|ïçÍŸ[z¶Äèbdû‰ítû¤›¹ýÿîxt³šþÃôr[pOZ6Éüç>úOsØdkmËìÁ³y.ò9"b"ˆˆ‰0÷3 Ìz`Vµ¶à‘ªÑVÓ""R+l­mùú‰¯ ëF w ¶Ö¶8Û9ÓË¿E06t¬¹¯½=ߎý–q¡ãðqöÁÞÆžöÆö|6â3(7¶Á`àý‡Þ'|x8}[öÅÝÁ[k[š{4ç¾6÷ñÙˆÏèÐ×✻šÝÅ—£¿$¤i6x:z2ºóh[l0X[Y3gĺ5놣­cÝÝ ›Ä€À|;ö[ú´ìƒ³3޶ŽtoÞùÍgH»! ]žˆˆˆÈmÉ`ÒÞ’""7ôôtrss«Ô7(¨ááé Rµþ·»MÇ61iÙ$f šÁÄ%S§øôÓô®DîDF£—šž¾\O¾ˆˆˆˆˆˆˆˆÔ!…/""""""""uHወˆˆˆˆˆˆHÒnG""r[8à–Ù©HDDDDî zòEDDDDDDD¤)|©C _DDDDDDDDê‘:¤ðEDDDDDDD¤)|©C _DDDDDDDDê©¶ŒÜ ·„³óäΆ.E®RÑÏåvÿY•šJÙ{j/s·Ï%|K8'Οhè’DDDDÊQø"""Õ–~1ý†~¡?sšð-áĤÄÔre·¿ëÝ»Š~.7ú³º™ÍZ?‹^ŸöbôÂÑüïoÿ«ðEDDDnZ _DD¤Þ•Ñ)Ñ ]Ê-çz÷Îèj$¬_=[ôl€ÊêßÚƒkÉÎϦKÓ.ƒº‘k²ièDDD¤vøºøÖ/¬¡Ë¨73ïŸI÷æÝñvòfæÏ3ILOlè’DDDD*¤ðEDDjUrV2ûÏìçLÎ\ì]èÒ´ w4I‰aEÜ ¶ŸØNIi‰ùXUƒƒçO°*aйIg¶߯ô8Û;swàÝ4soVáy%¦¶ßNRfÅ¥ÅxpwàÝØÛØW8vH“vžÜIBzÎvÎŒé2æÊ8¥%D§Ds0ã ¥¦R½éØ+›š¯KÓ.ì<¹“ýgöcocÏ€À´ôlYå{—‘›Á’}KèÙ¢g•ž~©J}E%ElNÞÌÉ쓘L&ü=ýéÓ²6•ÎQ—·ܠ󋈈ˆT•©yEyLŽœÌŽ;Ê8€9ÎÁÑÖ‘è”h"÷G°ãÄ‹þÕ _·„cgmÇßû;ÛOl7³±²áƒþÀ„»&Xœ{:–—W½Lê…T‹ö&nMølÄgæ€èê±?Þü1[’·ÐÁØ1]ưïô>¦­žÆÉì“ã4soÆüÇçàP£ùm™»}.¿þÅÜ×ÚÊš¿=ø7FtPé½+[ߥ*¯Uµ¾ØÓ±¼°ò2s3-úù8ûðɰOªò|ºåSL˜*íàdëij=Ÿ­R_‘[…©— /±ãÄ:6îH°o0>Î>äæ}2šMÇ61gÛ^»û5z4ïÁ¨Î£ˆÜI/ÿ^ôhÞ£ÆsFÄDw9a†ÑÈ¥ i l?±¿üòÚ6jkN]8ÅÄeÉ)È!¤i!MB°³±#>-ž'vð\äs¬n=.ö.åÆ~¸ýôðhAcׯœÌ>ÉÓKŸ&·0?w?ú´ìƒ»ƒ;GÏeó±ÍœÎ9M€W@çË-ÌeX‡a]$¤%°õøVÞþùmîks®ö®µvïªSß{ß#37“`ß`zù÷ÂÆÊ†ãç³%y ‡2U)|ùç¶Z<¥s=>Î> _DDDä¶£ðEDDj…‹½ ËÇ/ÇÕޕݧvsîÒ9l­mÜn0©;SÙpd¯ÝýÝ›wÇ`0¹?’Þþ½™ÒgJçÌ/ÊgÕÄU´ònen‹ˆ‰àÝ_ßåËè/ÍÁÀç;>'§ ‡Y÷Ïb\×qc|µë+fÿ2›ÕV36t¬ÅØ«'®&Ð;ÐÜö‡µ0$ï y[k[ó±Ô ©X¬k<_QIkŸ]kñÊÔ›kÞ$r$1)1 Xk÷®:õeåeàÀª‰«°2üwþ¬¼,²ò²ª4ßK}^ªÖ“/""""·…/""R+¬ V|ý%QIQ?{él­ÏùHûG,‚€§»=ͼíóغÛܶíÄ6¬ Ödåe1gÛL&&Ó•0àRÑ%âÎÄAèÇÖa˜EðW^õ±2XñÎïX/€EhR“ùFtQn­šßµú‘û#I¿˜^ÛR©êÔ÷@ÛˆˆŽ`Yì2 Ä×Å/'/¼œ¼ª4ßÔ~Skµ~‘[©ŸmÿŒ¨¤(¼œ¼èПƮ±³±Ã€%û–p¹är­ÏÙÜ£y¹6+ƒ~î~ĥř۲ò²(1•ðÉ–O®9ÖÅ‹Ÿ¯^è¶LvA6¾.¾8Û9_·®šÌ×Ä­I¹>eO—_w¾êªN}¯ô…-ø>á{fÿ2';'B›†2¬ã0†´R¥ù´æ‹ˆˆˆÜ龈ˆH­øÏÑÿà`ãÀÚg×âíämn7™L,صƒÁPës¦d§”k3™Lœºp 7{7s››ƒ—K.ó\Ïç®9VOÅgk+ër}<<8•sŠK—/]7€©É|õ©:õY¬Õy£:¢ÔTÊñ¬ãl<º‘i«§‘–Àï÷ûJçÓš/"""r§Sø"""µÂ`0`cmƒ½µå6ÅŸmÿŒ ðpô0·•õÉÎϾ¡9WXͤ“,^=š¿k>çòÎ10h ¹­–Æ.ÅßÓŸa†•ç`ÆA\í]+¯·o–Æ.eÖúY¼ûà»[K—­ùÒÄ­I­ÍW‘Ú¸wÕ©oã‘ €µ•5V+½iéÕ’…»²"nE•­ù""""w:…/""R+B›†w&އç?̽­ï`wênÒ,‚¸òº•ÁŠåû—S\ZŒ§£'Põ­¦Ë8Ú:2lþ0hû\q ýÛŽoÃ`0ðLgÌý^ìó"QIQLÿa:ócæÒ$WW2s39töqgâˆx,?w¿ëÎ÷|ïçù1ñGVÆ­$úd4½ý{ãîèαsÇØtl_>ö%MÜšÔÚ|©{Wú¦|7OGOº6ëJs敱ãäR/¤Òη]•æ««5_Ö%­#)3 €ýgö°*aûNï`H»! ú„‘ˆˆˆH…/""R+Âú…±ýÄvŸ=Ìü˜ùØXÙð—ÁaÑÞE¤^H5÷õpô`D§Dîdáî…cTÇ¤î“Øœ¼™U «Ìm6V6üaÐ,¶@næÞŒ…O,dúÓ‰O‹'>-Þbœ`ßà*!-A·fÝHHO`ñÞÅœºpŠfÍx¦Ç3´ôlYá8]ýºòõî¯ILOÄÉΉ{[ßË#íÁ`0Tù¿ÿž/£¿`yìr¶&o5[4nQ…k¾ÔÖµ”IÎJfEÜ e¢¸´˜¯FuE°1¸Ê×q38˜q•q+I¹‚ÉdÂßÓŸG:w`úÝÓñtôdSò&î^È;ëßá\Þ9†¶ʽ­ïÅÊ`Å×»¿fçÉ|ó%oÞó¦Å8 v- À+€Wú¿B#çF$¤'ðÅÎ/X{p-‘‘Œî<ºJ×6¼Ãp\í]ygý;ŒÍðÃ+?©–®eÏ©=Ìüy&NvNŒ KH“ì¬íˆO‹gþ®ùüiÝŸèåßË`]KtJt•ÃgŸ*_@Jv )Ù)æÏ?øy;æñX­¼[™ÛËžšp×ú´ìƒ• ÇÏguÂjr rª5§ˆˆˆÈ­JወˆÔ˜¯‹/+ŸZ‰£­£E»§“'kŸYËχæ·c¿qîÒ9ŠJа³¶cWÊ®rcµònÅ’qK°µ¶àž {HÊH":%š'»>ÉÌûgšûööïMïöfß©}åÆiäÒÈ¢¦{‚î¡[³n<¹øI–î[ZåðÅÏÝÏü$O3÷fÕZßäF¯%":‚RS)EÐÕ¯«¹ýž {èâ×…‰K'òÃx±÷‹×­cá Ë=qr-eµV…—“ƒÛ¦S“N8Ù:qôÜQí]DJv ÿ³òXóì¬ ÖØXÙÐÆ§ ¾ïÏc<Ýíi.^¬òœ""""·2…/""RcƒÛ.¼dæfòÄ·O”{U§LE¿tßßöþr@°1˜è”h ~È¢ÝÍÁ¦nMI»˜Vnœ!톔«©ì)‘¤Ì¤J¯©6ÜèµÄž‰ÅÚ`ÍÇ›?Àd2aâJˆR\R ÀÑsG+­£Gó7tײæ™58Û9›? Ș.cùõHŽž;Ê®”]æ°jr¯ÉLÿa:¯®~•A ö &Ð;+ƒ®ö®uRŸˆˆˆÈÍFወˆÔX·&¶‡o 'õB*½ý{óH‡G0º±³¶Ã`0ðæš7+ _ÜìÝʵÙX]ùkêêz¯>–w9¯ü8åÇ+kšœÎ9}Ýë©-7z-y—ó(1•°íø¶kÎQPTPiuµæËÕÁKW{Wîos?s·ÏåÄùæðå¡à‡holÏ~deÜJ’2“(,.dhû¡L0ýš?/‘ۉ©u±§cñpô`Á˜X¬ÌíyEydæfâ`ëPgs'¤%”k»tùÇÎÃ×Å·Zc¸²8oU_Ý©-MÜšp¹ä2óFÎÃÚʺÂ>^N^•ŽS—k¾TäL΀rOx0µßTóçø´xÆ/Ofnfµù¹U)|‘ZçîàαsÇHÊH2o‹|>ÿ`d§‘‹ð]ŒØZÛ]¥9EDDDnu _DD¤Ö DLJ þFÛFmHÎJÆÑÖ?w¿r[Pצ`ß`Þøé þñÛ?ðuõ%9+™ÜÂ\œl*] öÿ ðÀÑÖ‘•q+‰O‹ÇÃÁ€EãÕEéfÏö|–õ‡×³hï"–Å.£¥WK\í]ÉÌÍäÌÅ3””–ñXD¥ãÔÅš/ i ÌÛ1G[Gš{4ÇÎÚŽ“Ù'Í;=ßóy‹×ѾŠùŠÏw|Ž—“Í=šs¹ø2‡Ï¦¸´˜»ï®õúDDDDnFV•w©ž‰=&òxÈã˜0‘˜‘HbF"MÝ›ñXžŽžu:÷£奾/q>ÿgeÜJ^ÿéu¼¼Ù1uƒ€ôÜtúþ³/O„>Á_øËMu-ß?ý=1)1,Þ·˜}§ööÌbö …IDATqæâ\ì\õ åù^ÏsW³»*+Ô/”6~@\Zö6öÜÓêf š‡£‡Åü99ücÓ?Xwh99´öiMX¿°Õj2™ˆÜɲýËHÊH¢ÄTB€WcºŒa\è8ó=¯Î5U·F)OወˆÔØžS{xoÃ{”˜J(5•âáèA{c{¶$oÁd2™áßr| V+Îåã`æA‚}ƒØ|l3}[ö­t¾¶´¥¤´¤Jµù8û°cꎺ€ÌÜLžøö ‹¾çóϳáÈ~;úߌý†îÍ»[K‹ãÃÿ|Èå’Ëäåó]üw¤^Heñ¸Åæ~…Å…Œ[4ŽÄŒDs[|Z<ϯxž!í†T«V“ÉÄk?¾Æª„U}fdæÏ3ILOä¯þµÚ×TÓEDDD俾ˆˆH­=¸–Ñ!£™Üs2-—ƒ 6c2™Øš¼•G:<Â~dó±ÍæðeKò•P¦·”k^‹Á` _@?&Ü5öÆöø8ûp¡àÑ'£yý§×™»}n¹ðeuÂjƆŽå™Ï`t5’–À««_%&%†ÄôD‚W®ýëÝ_“˜‘H w 3ï›I¿.dåeñÅŽ/øvï·ÕªõûøïY•°Š¶Úòú=¯Ò${{âÓâyç—wX»”QGêZ­kªi""""ò_ _DD¤Æº4í»ƒßµx _Ë+áË–ã[6“˜‘ȹ¼s<ÐæN]8Å–ã[˜Ük2&“‰m'¶Ñ©I'ÜÜ+/éõ¤ºº”k^‹³¯ÝýóvÌãQäÜ¥sæ'N’2Ë×Ô/ ï<ðŽùó]Íîbr¯ÉÌüyæ•§~þøu0 ƒÁÀœGçÐÚ§5NîNÌz`Éç“Ùv|[•kŒ‹ÄÚÊšùÏÇ×Å×ÜÞ½yw>zø#ÿ{0¿þ…P¿Ðj]SMk‘ÿRø"""5Ö·eßra\ mÙœ¼™çz>Ç–ä-X¬éíß›Cg1gë Š 8zî(YyYŒé2¦ª·t­kÙsj㣨¤¨Âó Š ÊµõjÑ«\[sæ\º|ÉÜv"ûF£9Ô¸Ú€€× 6*ªõpæaJJKèÿ¯þ˜L&L˜Ì8sºÚ×TÓEDDD俾ˆˆHýßÅcËØZÛÒ£y¶ŸØNAq[Žo!Ô/{úµìÇG›>"&%†„´úô¯Ò|u¹æËµ®eîö¹•Ö/Œá‡ct1bgm‡Á`àþ/î'+/«Ü9ö6öåÚ \ KÊ‚QQ­ekÔ\ïþ”…-5¹&©9…/""R'úôã·c¿±éØ&v¥ìâúüštÂÃуÍÇ6s ãŽ¶Ž„ú…6pµ×–’‚³O¹Ý}NfŸäxÖqÜÜj<¶¿‡?ûÓösøìárO–lJÞT­±Zy·"!=m/mÃÕÞõº}«sMµY£ˆˆˆÈJወˆÔ‰²§Y>Þü1—K.Ó?ðÊg+ƒ½ZôbÑ œÎ9M߀¾ØXUí¯£º\óåZšº5åȹ#,ܽᇰ;u7ýõ¯æ§Mjjp»ÁÄž‰eÊwS˜uÿ,Bš†˜³­îë<£CF³ë§]LX2©}§Ò¥i\í]ÉÈÍàPæ!"ã":Ž>-ûTëšj³F‘;•©A>A]ŒÊ<„»ƒ;w2ëØŸ¨¤( j[L7¤'BŸà·c¿1ký,f­ŸenoolO›FmÈÈͨñØîšÀê„Õ$f$2~ñxs»Á`à¡à‡ø)ñ§*5¢ã¢OF³"n“#'WØçñÇê]SmÖ("""r§²jèDDäÆØÛ›¸|¹üB±7ƒ~ýèíß+ÃÿÊéײ_…¾ÝÛú^þñð?hçÛ|]|y"ô >±;k»ÛÞÆžoÇ~˸Ðqø8û`ocO{c{>ñTk,ƒÁÀû½Oøðpú¶ì‹»ƒ;¶Ö¶4÷hÎ}mî㳟Ñ7 oµ¯©6k¹……V88ÜøÚi" Á`ª•ÿDD¤V¥§§“››[¥¾}úøóÜs˜81»Ž«i8£FùZÈŒgº¹F\\\jzúr=ù""r‹ *âС{CDDDäff2Á‘#v^nèRDjDወÈ-.4´€íÛº ‘:gOn®¡¡ ]ŠH(|¹Å ˜Gjª qqö ]ŠˆˆˆHˆŠrÁϯ˜víôä‹Üš¾ˆˆÜâBB hÝú2ß|ãÞÐ¥ˆˆˆˆÔºü|‘‘®Œ™ÓÐ¥ˆÔ˜Â‘ÛÀ /dóý÷®$&ê鹽̛çIQ‘qã¾È­KወÈmà‘G.Òµk3gú =ìDDDävqú´ _~éAXØy¼½Kº‘Sø""r0`ÆŒ³ìÝëÀ×_ëõ#¹õxã _š6-füø ]ŽÈ Qø""r›èرiÓ²x÷]6lpjèrDDDDnÈ;ïøkÏǧac£G{åÖ¦ðEDä6ò ç>ü"Ó¦‰Õú/"""rkš3Ç“%KÜøøã ‚ƒµÃ‘Üú¾ˆˆÜffÏΤ[·ž|Ò¨(—†.GDDD¤ÊŠ‹ ̘шðp/Þ~;“/5tI"µBወÈmÆÖÖļyg=:‡©S|ü±……††.KDDDäºRSm˜8± ?üàÂgŸ¥iw#¹­(|¹ Y[ßÿ|–Y³2‰ˆpgðàæüü³sC—%"""RN~¾?öbðàddذté)=ñ"·ƒÉ¤MIEDn6éééäææÖÊX6¼ÿ¾«W»\Èã_dРK4n\\+㋈ˆˆT—ÉqqöDE¹éJQ‘©SÏ3aÂ-®+7%£Ñˆ‹K_é_®ðEDä&T›áK™¸8{,pgÝ:gòó­hÒ¤ÿ"<‡Édz{{ß½{·¸¸¸¥¥ÜÜܶnÝJ|zìØ±Aƒõú „úÌKB]HLL ö¹’Ïquuõðð`-)++#Ž€ªªªž!Ô—a^‚ê->|8tè±½råJ;;;yyyÎF…âf˜— „zKzz:N'¶7lØ §§aaaD!ÞÄAµy BýP›ùW¯^õ÷÷onn622Z»v­¬¬,QmõêÕ¯_¿[[Ûµk×…ýõ׃ÀÌÌÌÍÍí‹cX¼xñ›7oXwÛÔi3¿äÑ£G·nÝJKKkhh Ñh¦¦¦?ýô“œœÜÇ€ês0/A¨"çÈÈÈ,\¸ðÊ•+DùÍ›7½¼¼Þ¼yCüØ'$$DFF§×-’’’ˆc%%%¿&†˜˜˜””r÷Ù³gíëóKjjjìííïÝ»ÇúéÕ«W·mÛæååµ`Á‚¯‰!Ô‡àsÂõg·oßNJJòññ9tèq¹¢´´ôÀmªñðôü .]ºtâÄ r÷êÕ«aaaaaa×®]k_yéÒ¥DR"&&vðàÁ€€€9sæ@]]ÝâÅ‹‰ä !ô=Àë%õgT*õÞ½{ÄÕ‘˜˜˜«W¯À«W¯ÚT£P(=Þõˆ# ¹;jÔ( ÈÏÏoS3%%ÅßߟØ>xðàŠ+`ÆŒƒ~óæ Nwww ìñB\¯— ÔŸ™šš’ó3Ȳ²2ÎEÔ§OŸ’Û“'O&6(ʤI“ÚW@õo˜— ÔŸ‘S\€—÷ãõQ&“Ù¦kIccã7ŒÕ‡Èm11±öÛ¬Býæ%}¿øøøˆ Öþäää/h*""¼USSS·ŽUWW'·ÓÒÒÈíôôôöBýÎ/AèûELø€¨¨¨> {{{³>ÜË>ÖU\Y§•°ÃÜÜ\VV¶´´ÜÜÜ|}}ùùù_¼xAN:±³³û‚B}^/Aèû5{ölb#11Q[[ÛÈÈÈÑÑÑØØø‡!,,ìååE¥R 00PUUÕÄÄdĈ 0lذM›6}ãBœ‚y B߯iÓ¦¹¹¹ À»wƒ ðí#±±±yüøñ¸qã(JIIIBBBss³¤¤äÆÃÃÃEDD¾}H!Ž ´Ÿ‡êëKJJ@VVvàÀDaFFF^^ˆ‰‰ 6Œ¬üáÇ´´4žòðð$%%F322ê°µö%eeeä  qãÆ ¢TWWÇÇÇ…£F"PillŒŽŽ& %$$X#ÿþ}FFFCCƒŒŒŒžž^o,¬‚âf˜— „Bˆ[àÿ‹ „Bˆ[`^‚B!ny B!„¸æ%!„☗ „Bˆ[`^‚B!ny B!„¸æ%!„☗ „Bˆ[`^‚B!ny B!„¸æ%!„☗ „Bˆ[`^‚B!ny B!„¸æ%!„â¼Ýª——×K¡ „z›ªªêèÑ£9B}…Éd²_{îܹׯ_ï½hB½jΜ9¾¾¾œŽ!„>«{×Kÿ»†PŸ5wî\N‡€B]Àù%!„âݾ^‚úÎ×ÖÖr: „PŸ¡­­Í~e¼^‚B!ny B!„¸ÞÇávþù'±1jÔ(kkkŽÆÒ3>|ø°oß>b{éÒ¥ !„Á¼„Ûíܹ“ØX»vm¿ÉKÈ“277Ǽ!„ ïã „Bˆ[`^‚B!n÷qú¤¤¤èèèââbL˜0A@@ M÷ïßߺu«  @CCcƌ𹩷VVVvüøqbÛÉÉIFFæÞ½{‰‰‰ŠŠŠ&LPQQé¼S„B¨C˜—ôYYYË—/ c-TTTôòòš6mYjoo_^^Nìjjj^¾|¹ýTvZ+++#;vìï¿ÿK슈ˆüóÏ?666d§vvv¬öØ™#„ê_ð>NŸWRR2nÜ8"ÐÓÓÛ°aƒ½½=OQQ‘Mhh(Q-''ÇÖÖ–HJTUU׬Y3pà@;;»/kÕ’%K„„„Ö®]«¤¤uuuŽŽŽ d§DR¢®®¾víÚÁƒ·ï!„"àõ’>oïÞ½ùùù ¯¯/,, ܾ};Nß°aÃË—/àÈ‘#555 ""òìÙ3EEEXµjÕÉ“'¿ 5VÆ  P(óæÍ#ÞU[\\œšš:xð`²S11±ØØXYYYX·nÝ‘#Gzý{A}AS%-¿¼œZW‡ÿ„ÚaÐht&~þn¼_õu˜—ôyAAAĆ””9Y$''‡ØxõêUaa¡’’Rxx8Q2eÊ")€eË–µÉKØlõ …ºººda~~þàÁƒY;%’X²d æ%ß¹ª*ž7Äîßyþ\N§p:ÄÕ¨Tæ°a VVu¶¶5 N‡ƒzæ%}^YY±ñôéÓ§OŸ¶¯@dä 2)…/kµ„œåÊÏÏO2 ;•——'?’““ëò¤PU_O9}ZêôiIæ¤Iuóæ• ب @ÁßÔV]Ï»wÔ·o?>tHúÀ™_~yÿË/•BBxù¤?ü¤Ï£Ñh¥¥¥`fffaaѾ‘|HKKggg@II ùÑ»wᆲ5VT*•Ø ®š°";-..& Y@ß•û÷EÜÜhÕÕ}º„„DAAAjjjll¬•••••¬]»öôéÓ555ïß¿>|øÌ™3ÓÓÓ‰¤›­±iíÚµgΜ©­­­®®655µµµÍÊÊ"Ÿ(F߉†ʦMò¡¡Âîî%³fÕp:Ô‡Ñhô½{KFŒ¨ÿãÙìl~bAA¼§Óß`^Òg<{öìÙ³g¬%úúúÎÎÎòòòOž<ùå—_>|XPPpêÔ)²‚ªªêäÉ“‰m555{{ûŠŠŠ¬¬¬Ã‡kjj^¼xqÒ¤IDbv›­±ICCÃÏÏoÞ¼y•••999D§>>>cÇŽý²/õ9 lÚ$ÿô©Ð¥K…¦¦ œõ³fÕ¨ª6ÿú«â¦MòG¾ãÁg¹úÌK¸ÝŽ;>÷F#6´´´BCCSSS£££ ”••õôôŒYë[ZZfddK¯Îœ93&&†üTYY™ýÖh49•ŸŸŸ,ÔÓÓ#6¬¬¬222Èõ^gΜÉzRøÒ¾~ïàAéá Š0)A=ÈÔ´áÔ©¢Å‹•’Þ¸±‚Óá žDa2»qlîܹàëëÛkñ ^=pà@qqqb·©©iúôé÷ïßCCÃÄÄDŽF‡z]Oýý-..®­­e§fp°ˆ³³Þ¾A½Äß_lóf¹ãÇßMžŒÓ`¹š¶¶6û•ñzÉwÄÓÓÓßßâĉ:::555¡¡¡@¥R>ÌéèPS_Oùë/ÚìÙ5˜” ^2kVMLŒÐ_ÑÆû€÷˜—|GÌÌÌnݺuóæMÖBãÇwk6+Bìðò’ªªâÙ°¡œÓ þÌÅ¥ÜÒRíôi©5kðnN?yÉwdÅŠ . KOO¯­­•‘‘166>|xûuGúJUU>ÚIV«¬¬$ srrÈBâÕ¨FFM--”Œ >N‚zÎ/Aõ°’*(*¶p:.âããC¾*//ïÂ… ïÞ½;~üx›j8 ýË((´@i)¯¡á÷ž ÷x½!ÔÃêëy@H'—ü'00ðÒ¥Kñññ+V¬ J‚‚‚Xß³MÀ¼äË 3 ®ÑúE„P#‘Æ_XVNNNcÆŒ_²d Y˜Ý¦æ%_†øÚº³z9â^˜— „P¯2d±!&&F’SLB¤îÍ/yúôi~~>fôõQ***œá;%**Jlðtúö[ããÍ/6ß@„PÿÓ½¼DWWWHHhêÔ©½ â‡666?~<§A=éÎ;˜—p!aaar»¦¦FRR^¾|ɹˆâ¤îå%222222‡ê¥h—8|øðøñãq û™üü|N‡€: ¡¡An_¼xqݺuIIIíÕAè;óKBˆ“¤¤¤¦M›Fl_¸paèСóçÏÿñÇ9Bœ‚y BqØîÝ»—/_®ªª* `hhxüøñE‹q:(„8×UC¡^¡­­žžÞ¦PXX¸ÃÂßÿý÷ßg-lS­}k¶P_‡×KB!Ä-0/A!„·À¼¤|||ÌÍÍ_¼xÁf}///sss¼ÐÚøø€¹9°=ôàåææ€CBÝ„yI7äåå…‡‡¿ÿžÍú™™™ááá¸>R—ááÀöÐCf&„‡=BuÎ{í{{ûáÇ:”Ó oÎÞ†z„êe˜—tƒªªªªª*§£@œ ª 8ô!ÔûúØ}rÆFRR’³³³µµõ’%KÂÂÂXëüõ×_æææUUUí É[*d;/^¼pttœ2eÊš5kÈw{Þ¸qcÁ‚ÖÖÖÛ¶mcm§ýü:~åÊ•E‹YYYÍ›7ÏËË«¡¡¡}Ø +W®´¶¶^¶lYDDëGL&óîÝ»S§N7oÞ®]» ¿ê;â~¥¥`m sæ@}ý…yy0i,\--EÎØHJgg°¶†%KàÓ¡‡¿þssøtè?’·TÈv^¼GG˜2Ö¬òµ®7nÀ‚`m Û¶}ÒNûù%t:\¹‹•Ì›^^ÐÑÐCB¬\ ÖÖ°l|:ôÀdÂÝ»ààS§Â¼y°kôû¡G¡®ô±ë%Č۷oÿñÇ>| /_¾ìãã3wî\b7)))<<¼¹¹™õ@¢°¥õ7hÇßßÛ¶mMMMtíÚµ¸¸¸ýû÷=z”¨Eì¶™_RWWgmmÍšgøøø?~<$$DNNŽ,¼wïÞŸþIôçÏŸ?v옳³3±»|ùòóçϳ†º{÷îÄÄD--­¯ü®¸—¬,Ìž  .çÎ45ÁܹïgþL36n߆?þ€Ö¡‡Ë—ÁÇZ‡’’ <>ú…dºC´ãïÛ¶1(AApíÄÅÁþýÐ:ô ¡¡Ð:ômç—ÔÕµõ'y†?!!À2ôpïüù'´=œ?ÇŽAëÐÃòåðéÐÃîݘýxèB¨+}ìz aóæÍÖÖÖÞÞÞ+V¬`2™mÖ#bÓ¶mÛfÏž}íÚ5???KKËââb[[Û3gÎlÙ²%00ðܹsêêêÑÑÑwîÜéðð-[¶DDDÈÊÊzxxܹsçĉššš¯_¿vttd­¶cÇŽÉ“'{{{ûûû;88P(”õë×§¤¤@yyù… $%%ÝÝÝïܹãçç·sçNYYY2åê·~ù~þΟ‡3gÖ¯‡gÏ`ÿ~3¦‹7okkðö†À@X±˜Lø¢¡‡mÛ`öl¸v üüÀÒŠ‹ÁÖΜ-[ 0ÎuuˆŽ†Ï =lÙ + pçœ8ššðú5|:ô°cLž ÞÞàï@¡Àúõ’P^.€¤$¸»Ã;àç;w‚¬,ôû¡G¡Nõ±ë%„E‹!~ϦOŸž––^RRÂz•‚?ÿüó©S§ˆm+++EEŸ¸8__ß9sæ…ŠŠŠS¦LyúôiûW(·´´œ;wNPP0""BOO(´··700(..–——' §M›æïïOlÛÚÚ***îܹóÂ… {öìáããc2™‹-ruu%*Ìš5kóæÍä»Îû³' !V¯†¬,8yìì`íÚ®Z´Z‡¦O‡´4‡’èæÐÃÏ?CëЃ•(*B\øúBëЃ¢"L™OŸBû·g·´À¹s (Ð:ô`oÅÅÐ:ô0m´=ØÚ‚¢"ìÜ .Àž=ÀÇL&,Z­C³fÁæÍð= =B}^Ÿ¼^²`ÁÖ](//ïn;ööö䶨¨¨––??¿ Y8dÈøÌ[X333kkk'L˜@&% ##3gÎ&“ùêÕ+²pÙ²e¬»Dqqñ5kÖœ;wnÓ¦M·oßÎÍÍ!!¡îžKß#$ׯƒ  ìÞ pö,[G}:ô`bÐý¡–¡QQÐÒ~~`z2 ÃðffBm-L˜,C220g0™À2ôðéÐÜ%*ˆ‹Ãš5pîlÚ·oCn.€€|CBŸ×'óiiiÖ]~~~ ÓéÒá§RRR¬»|||bbb¼,óøøø ÍT1¿µM$d ëìWIIÉöê[§|9räîÝ»t:ÝÝÝ}РAšššL&³“sé?øø€JPS¶ió…óót:ôúéЈ‰}2µ…ÚNU!ƒÛnè?–°Î~ýtè?V gû9wïîî0hhj‚‡|'Cÿþþ;ÕÏ/‡ÓQt€kë%mÎ÷{;}Ô{úd^Ò9"(--e-|óæMÏö¢¨¨ÏŸ?osÏ%66”””È’øøxÖ qqq ¬¬L–Œ7îСCOž<©¨¨Ø±c‡‹‹Ë±cÇz6ZnÔÔsæ@u5Ìš÷[´IäŸ=ôôЃ¢"Àóçmï¹Äư =|:ôÀ2ô0n:Ož@EìØ..ð= ý×9y2ÙÏ/—ÓQt€kë%mÎ÷{;}Ô{úa^¢­­ ‡&2†–––íÛ·÷x^"++kbb’œœüÛo¿T˜LæÑ£Gü1chiíÛ{>/‘•HN†ß~ûxA…É„£GáÁPP–¡77hzÈÉ5k¬¬RR`ÿþÿR(*ÔÔ¾‡¡ÿ:NN³g«q:Špm`õ-ý0/™?¾———ªªêÈ‘#öíÛÇš(ô”}ûöñððìß¿_AAaĈŠŠŠk×®%ÊYo©¨¨Œ9ÒÀÀ`È!zzz¯_¿:t(1µ¥²²ÒÕÕUAAA]]}̘10räÈ–»\¹ÿ ööàì T*üû/ÈËÂÏç`ßüù $^^ ª #G‚‚ìÛ½0ô°oððÀþý  #F€¢âÇI»ûö}r3HEFŽ2ôôàõk:ôãÔ–ÊJpuPW‡1cÀÀ,,úýе_Õ›=[ÓQt€kC¨oé‡y‰‚‚ÂÙ³g%$$ cbbxyyýýýŒŒz¼# ‹[·néèèTTTÄÆÆ+))]¾|yÑ¢E¬ÕŽ92sæÌ”””W¯^555YXXÜ»w˜c``àêê*++›››’’B£Ñ¶oß¾qãÆ–‹¼} +W‚ÁOÖ((€TV‚]ÇS:ؤ gÏ‚„BL ðò‚¿?ôÂЃ…ܺ::PQ±±P\ JJpù2|:ôpäÌœ ))ðê45…Ü»÷qNŒ¸º‚¬,äæBt4¤¤Û·CÿúžÐ~Î|ò¤äìÙt/¯ÔÐÐwÌ(zóæýåË™ÿêïŸ[^ÞÈzìѣɷoç@FFÍÅ‹§O§ÅÅu0“º®®%00ïÔ©Ô€€¼ºº–êêæ£G“=z×a`ì7ÛIl½ÀÞ¿ojsjdáãÇŽBÐçžvpp°¶¶ÖÑÑi_¨©©I–ÌŸ?ßÖÖöõë×¼¼¼äçç×ÔÔ\±b…¨¨h'íxzz¶Y­UBB",,Œ|â—˜¬J¤„üñÇLOO/..–––600 P(m366ö÷÷/((ÈÍÍUVV&îÔˆ•KöîÝ›——WXXH£ÑÔÕՉɶýܾ zzÐ:cÇB\TVBmmÛI©°¶†O‡ìc!ËÐÃüù`k ¯_// üü © +Vü×W‡íxz¶]­UBÂÂþ{â—˜¬Ê2ôðãðãžÅÅ - À2ô{16((€Ü\PV–¡ÿ¸rÉÞ½—……@£º:ôû¡ï 'O&$E^™HO¯ùõ×§YYÿ½"Q^^ðØ±‘&&'&—•5®_ý߬#!!Þ;Ï™£--Œ£G“,- >xx¼%§ÛÙ©ïÞmBòúu¥ƒÃÓÒÒHääÝÜŒMZ¸PËÜ\¡}`l6Ûylºq#7/¯‹En-Ò’’âïð#v«ªjnsjdáÒ¥ÚãÆÉ·o¡ÔÇò--­ö ¡vX(((hjjJîv~ȰaÃÚ”ðññ™››“»ÄœV…6ÕtttÚ¤8í{QVVfëÊŠB¡¨©©±æ+ýœžÞ'OØ’:¿á¢¥ÕÁB¨ ËЃ¡!° }LJ´zàã–¡ÿ8§µÝЃŽNÛ§}/ÊÊ𙡠ÔÔàûúžV_ß²|yTAÁ%%áñãåùøx"#K22j~ù%úÞ= 99A:ùË/ѯ_Wª¨ˆŒ+'!ÁŸ“SR´eK‚ŽŽøÐ¡3à/*>|7~¼‚®®XqqÃÝ»ù×®åL›¦:fŒ,ÔÕµ¬\ù´´´ASSÔÌLŽNg>~\üûïñ†Öu³lÆÖƹQQ¥~Dš:Uùsy ;!ÄY},/ᔃž:u*--MSS“õ êÿ„S§ - 45‡žËܺUPPðÁÄDúâE3!!*´´0×­‹ *ðöÎZ·ÎðþýÂׯ+§OWñðN¥~¼ õúuåœ9áçϧ9ò1-/oüûïQ––ŠÄîØ±r..Ï=zGüNߺ•_RÒ0nœ¼§ç(>>¨¯oY²$²Ë{.7ËflmØÚª Në¼_ii¯ !μ„-©©©iiiòòò—.]b½Sƒú¿ÔTHKyy¸t pè¹L||9¬]kH$%ÀËKÙ´i@PPÁóçåY¼§N¥Ë1™Àd2ÅÅù^¿®$Û0@’ü‘âþEIÉÇ»6 °zµ‘”€¯““þŠч×y³lÆÖ†­m\]ë<0„8 ó¶lذaÕªUúúú¬“KÐwaÃXµ ôõ‡žûTU5€šš(k¡ªª…ïß7@EEøødwÞŽ¢â'Ëì ¼ôÂÚ‹²²0k•®Wì¼Y6ckã+ç—°Bœ…y [ô:œ¾8ô\LB‚rskUUÿKòòê˜L”ä'+üô“¦ŒŒ`›cÙ}‘h¤ àƒœÜäç×}]ì_[Ì/éqñéÇÖÂÂB|£$úF0/AõU&&2ׯç;–lb"-$Ä t:óàÁD6LF¦ùúfÓéLgg}žÿnÕ–6Õ®Ù6Œ¥ýürNœH9uj//é§N¥~eð_[Ì/é&ÀÇÇóôiYC]P MMŒ¯?_„Ø„y B¨¯š>]ùĉ丸rkëPòyœôô þ 4`êT• 2þý7ûÉ“’1cäddø««›³³kcbÊ–/×<¸ãg^Úõ¢räHÒ£Gï~ü1ÔÌLŽNg<~\üáà«f}Yl=2¿¤s<<ssùi4X„ IDATЦOhn.ßÔÄ /îpU„zæ%¡¾JHˆ÷ìÙ1Äú%ÞÞYD¡œœà±c#ˆ{.T*åìÙ1›7?øð¯o6y ¼¼ ›I ˆˆðž:5ÊÁ!:3³&3³de·l´qcœ°ð—ÿ'´Gbë%..ãã+²²j‰…aTU…ÝÝM–-‹âlTè;y B¨/qr2“ûï>…ŽŽXPeddIjj5ÎÔÒ7NN@€JV’â÷ò‘QW^QÑ$-ͯ¡!:|¸ ñh.//Ïš5†ZZŸÌœ% utÄÈ’!C¤BC­BC‹ŠŠê„,->,‚O'²Æf³ÇÖØ LKKìÁƒI–”4ª¨[Z*462Ö¬1d]U¥Í@´ÙEè‹Q˜Ýy¯úܹsÀ××·×âA\B¡¬[·îСCœõ¤žúû[\\\[[ÛI…»wE׬‘OOÏøÊŽ¸Gzz²²0ù4ree“½ýãÌÌšÛ·'Hp66DÐÑÑ>z´øÇ;û“‰8…xŸ.›ºw½„XÆCUUµ›!¡¾ÇËËëúõ뜎õ¤òòr]]]NGÑ'=zôîÔ©Ô1cdUTDŠ‹ë=*®ªj=Z“„zÞÇAëÖ…4„ú7]]ñÆFúÝ»dÉ AR ç`HõWÝËKôôôôôôð>N¿G¡PV®\‰÷qúâ>úãÇËGFN‰Ž.ÍË«£Ry 1‚†Ëÿ"Ôðz BuM\œoòd%NGPÿÇ!„B½ ó„BýAPФ¤$NG¾æ%!„úЏ8ÿéÓ§Ïš5ËÇǧ®îk_`„8ó„Bý€ôDx{{kjjîÚµkôèÑÛ·oÏÏÏçtT¨Û0/¨¨¨?ÿü3;;›Ó´Åµõ-QQþ™]žÍé@ÚâÚÀê£(ʈ#8µiÓ¦'OžXZZþþûïÅÅÅœ uæ%µsçNÎþü?~üøÏ?ÿÌÍÍe-ä†Àú¨ô¨·vf—es0†Ç©ÿ ü3·âÓñå‚Àê—$$$/^ò×_EGG[ZZž+¡ aÿ£ýàbîb¬lLö‰Èû%GGÇ3flÙ²ÅÞÞþ×_]½z5•JíúHÄ!ß(/‰g2™cÇŽ555 xñâ…«««°°0Yçýû÷÷ïßÏÊÊâãã>|ø¸qãÈBBB"""¥¤¤nݺ•žž.//?sæLiié6±Óˆ¤¤ä;wRSS‡ feeuÿþý¥K—²^™¨®® ÉÈÈ611=ztç'˜““R\\,--mnnn``о_qqñ›7oæää())͘1CRR’¨péÒ¥‡À¹sçBBB@CCcéÒ¥ÆNG]~K=.>7><%œ ̱ºcM5L^ä½pµvægßïï'ÞÏ*Ëâ£ò W>Neh’B"Ò"Ç;J‰HÝzy+½$]^\~æÐ™Ò"íÆ—F$…%ï¼¾“ú.u˜ú0«VQQ÷ßÞ_úÃR  ²ru}uHRHFi†0¿°‰šÉhí®Æ·<'$)¤¸ºXZDÚ\ßÜ@åkoíW\Hüæ‹›9å9J’J3†ÌnßèK“À¹ˆs!‰! AÓX:fi‡±ÓQ—ßR?Æ`2bòbÄÅ9Ègµ0Z¶ÜÛ’^žÎd2+ë+Érî¼SRR:þ¼··÷îÝ»>,%%Õõaˆz=/a0ŽŽŽ§OŸ&KV­ZU[[{ñâEggg2/9wîÜúõë«««ÉjcÇŽõ÷÷§Ñhâîînbb²yóæääd¢‚ŒŒLhhè!CÈCØiÄÈÈÈÕÕ5++ 6lØ@ä%;wî477'þÏž=»qãÆªª*²33³ððpžŽo{mÙ²eß¾}t:Ø¥P(Ë—/?yò$ÙïÀ]\\rrrˆ:4íÆfffpéÒ¥°°08þ<ñéøñ㉼¤M`ìtÔå·Ô³L†ãeÇÓOXÆwÂªÚÆÚ‹Q':“yɹˆs믭¯®gݱþNþ4Q„$†¸¹›¨›l¾¾9ù]kä¢2¡B‡¨²Œ/)¹^wÍ*Ë€ “6X ´"¦q˜ë›“?ÿg#În¼¶±ªže|uÌÂ]Ãy(Ÿß[öí£3X¾v³å':ÉGå#û¨4ÐåºKNyëøŠÒn¬ºa¦c—¢/…%‡ÀùÈÖñÕ¿tÌÒö±ÓQ—ßâ,ϧžÅµÅSô§ÜM¾ËéXÐ'(ÊO?ý4dÈU«VÙÛÛŸ;wNEE…ÓA¡ôz^røðáÓ§OS©T--­”””“'OÊÊʲֹyóæòåËyyy§NjhhØØØøàÁƒ'Ož,Y²äÎ;dµ•+Wòòò:88ˆŠŠ%&&:;;?yò¤[899ñóó¯X±BYY¹Ã« ¾¾¾+V¬SSSSSS*•úüù󈈃Ña^râĉ={öP(”iÓ¦fggœ9s†F£íÙ³‡¬¶jÕ*~~~AAÁÄÄD[[Ûääd™Å‹3Œ°°°ŸþYMM :œSÂfGK=îpÈáÓONSy¨6Cm´dµRÞ¥œ|tRVôÓñ}qsùÅå¼<¼SO5T4lln|øàIÚ“%ç–ÜYÃ2¾—Wòòð:Œs z”X˜èìíüdó“n5âtʼnŸÊ¿bì eI寂øÆù®¸¸L5LM5L©<Ôç9Ï#Ò#LF‡yɉ°{îî¡P(ÓO3T4Ì.ÏH8óä M”¶gËøz¯â§ò;Œsä I I,L´=a›ü¿dQ™Å£3˜Œ°ä°ŸøYMZ :œSÂfGKˆ³²+³OFÜ1iGji*§cA322òõõ]¾|¹ÝåË—µµµ9j«×ó’ððð„„„˜››%7oÞ´±±a­³eËaaáÇ6Œ(a2™sæÌñ÷÷ONN&oUhkk?xð@HHöìÙ3xðàÈÈÈêêjqqqöQQQ û\Àüñœ8qÂÉɉ,ŒˆˆøÜýȽ{÷€ŸŸŸ­­-QòìÙ³±cÇ9rdëÖ­"""D¡¢¢â“'OˆP[ZZìííýýý/\¸°qãÆÅ‹çææ†……-[¶Œ¸‚ò5uþ-õ¸÷ðPxB6„˜ë›%7_Ü´9ñéøÞØ"Ì/üØõñ0u–¡95Ç?Þ?ù]2y«B[VûÁ†B|B°§eÏàƒ#3"«ë«Å…ÄÙoDEJ%Ü%\Lðóã{ã8ñÓ 's–ñM R>3¾÷ö€ß¯~¶Æ­_{Ö³±îc„Ù:u«ˆ@ëøJ(>q}B„ÚÂh±÷´÷÷¿ua£ÕÆÅ£çVä†%‡-3[F\AùšŽ:ÿ–¾Mô&ïï§9OLÆ0•a‹†-æûï¦aIm‰ï+ßÔÒÔÚÆZI3 3K]KJï¿gokÐÖ¡JCçžûWè_]Vf2™'¢NDeGÙÙØ ±ëíØINNîêÕ«Ë–-[¼x±^5á6½›—äääZYY‘I Ìœ9ÓÔÔ466–Ø-**JLLÔÖÖ¾wïÞ½{÷˜L&“ÉââD\\™RlÞ¼™ø¹~~~KKË”””¢¢"qqqöqqqé$)ÉÏÏOKK355eMJàséBnnn~~þ?ü@æ 0räȹsçz{{ÇÇÇ;– žÌ xyywíÚåïï¹qãFv¾Énuô¹o‰Žº%§<§ð}¡Õ@+2)€™Cgšj˜Æf·ŽoUQba¢¶¬ö½7÷î½a ÄeÇ‘)ÅfëÍÄÏ-ðóò[Z¦¼K)ª*g¿—É.$%ù•ùi%i¦¦¬I |.]È­ÈͯÌÿAç2W€‘š#çŸëýÌ;>7~¬në×n½™Ì xyxwÍÜåÑнñíNGŸû–Øé¨`0?ûüü,÷±û0ý¡ÿkÿþ+%$©¥©vÿØÕ6Ö’õ¯Ä_±b·{ÊîÏ5¸;t÷›wo:ïÔcº‡’xgïíó}é›Ppgùv Æ–F×;®w“ï®þa5&%ßž¨¨èÙ³g.\¸téR??? NG„þÓ»yIee%ttWBCCƒÌKJKK ##cÛ¶mí[`䡪ªÊú‘¨¨(477w«]]ÝN.//}}ýNê°"NPKK«M9qm°¢¢‚,ÑÔÔd­@ì‡÷lG|K=®òC%°NÛ$hÐ4ȼ¤´¦2J3¶t44,“}ÚÑÑ‘Óá z7/QWWWRR yüø1ùÈîíÛ·É‹% ªªª««[TT4gÎ###²œÉdÞ¿Ÿœ,Ò¹iTTTtuuccc½¼¼ÈòÈÈÈ1cÆ´¿<«¦¦¦¢¢8cÆ ¢0..îúõëBBB&&&dMww÷éÓ§·ZZZ¶oß?üðñ©   |zÙã‹;ú–ÔeÔ•$•BC§>&Ù½ýê6y±T¥Uuåt‹ÞÍ6ÇHùÓ¡I¼ONé\4*R*ºrº±Ù±^½ƱŒozäíŽÆWZMEJ%2=2ðeàŒ!­_{vÜõç×…ø„LÔXÆ7È}úéÄ-¤FËö›ÛàÖñå„O/{|qG å ɤ¤„¤,u-¯¿ºž^–>Xqð|ãù7ÞÜp¸î`cdc¤`¤/«/À+Ðùº†ò†_ODVÄÄ;þKý?7K‰”RšbwÙNQ\ñêOW•%”¿¦SÔ#¼víÚÇOœ8QOOÓá €o0ïuýúõ...666šššiiirrr%%%äÏÀ¾}ûfÍšebb2qâDAAÁìì옘˜¬¬¬úúz6/¯õH#àææfoo¿råʳgÏÏãÄÅÅEEE577wx­å·ß~svv¶±±™6mšANNÎ7š››7oÞLÎE€¢¢"CCÃiÓ¦ „††¾}û–F£-]º”øTGG6nÜ!,,L¬_òe}cë-×»\w±8`acl£IÓL+I |('&WRSBÖñ³oÖß³Lþg2Ñ`¢‚ Ÿ`vyvLVLVYVýÉz*{ãÛ€›­›½§ýÊË+ÏFœ%žÇ‰ËŽ‹Êˆjölæ¥t4¾S~söv¶9a3mð4ƒœòœ 7šéÍ›­7“sQ ¨ªÈp›á´!ÓxB“Bß¾¥‰Ò–ŽYJ|ª#§¯mŒH‹æ&Ö/ù²Ž´O2$% ±¥4¥5CV†¾ ŒÊŽ:s®°ºÐLÓÌÕÜU‡¦ó¹¿r~ɡLJùÿ ùo®kNex„{œyvf‹Å#…É4•ÊC­n¨®k·Ýr‹åË—ïܹóÊ•+œŽ|›¼$))éܹsׯ_'JœœœŠŠŠnܸAþšÚØØ\¹reõêÕÁÁÁÁÁÁD!Ï”)S:¿íªG;;»ŠŠ —˜˜˜˜˜·œÇŽû¹ÅKV­Z•ŸŸ¿ÿþ[·nݺu Z—ùßÿþÇZíøñã›6mòôô$v‰õKˆÛF`mm=`À€ÄÄÄýû÷Cëú%_ÖÑ7¶~Òú¤wIç"Î]Þ:¾æNEUE7n¿¦6Æ6WV\Y}uuðÛàà·­CCá™b4¥óÛ.¬z¤°nWQWáâë““Õ:¾ºc?·xɪ «ò+ó÷ï¿õòÖ­—­_»ÙòÿÙ|:¾ ŽoòÝäÞ:¾¢´«n·ÀÚÈz€Ò€ÄÂÄýÁû¡uý’/ë@jij3½™XÖ…ðºè5ȋɻ‚‹†-Z4l”Ô–8ú9.þwq˜c˜¯@‡ ~åü’ÍêšêÚ·@<-\Õðßü'-i­c6Ç–ú,eþ™¹gÈÕ`Q©ÔíÛ·Ï™3',,l„ œõ~^B¥RÏž=ëääfff#FŒÐ××§ÑhÄÍ ÂüùómllBCCSRR †††Æ¨Q£È)œ–––‚‚‚ ¬-…rrr_ÓtôGGÇyóægeeIHH˜˜˜Œ9²“sܳgÏÊ•+ÉeX'L˜Àº +AOO/111000''GYY™u½WŒ½sçNzzzcc#LûÀ:ïˆÍo©gQy¨g—œu2w O 3³š#ô·êÓDi‚|,ã;b¾±MhRhÊ»“¡!£1Jk9…Ór€¥ Ÿ ‚ø§‘°ä”—ûšF £×Ð8Žwœg:/ømpVY–„„‰ºÉHÍNÇwÖž•ãW†$~\†u‚ÁÖeX zòz‰»_æ”ç(K)³®÷ ‚|‚±ÄÞyu'½$½±¥‘¦}`wÄæ·ô=(«+û_Èÿ¶Znå§ò3™Ì qbòbÔ$ÕÔ$ÕàBÜYƒQ꣈ÊRBR¢¢%E%Ù•Ùú²OyþÊù%îSÝÛd-—Ÿ_J Ú4~“±²±Ü'Zôeõ}ú,¾ºxñ¿‹ÿžõ·™ægGßÌ!C,--;†y 7 Ï[²‰˜UêëëÛ­>bccYgž?~|õêÕ¶¶¶þþþÝj§úí·ßÜÝ݆í3sÜ(ʺuë:ÄNåØìXÖ™§Ç_}uµ­±­¿Ó÷1¾~¿¹¹'lOªÊíãûeÛ+..®­­í¤ÂÝ»¢kÖȧ§g|eGí5¶4ô¨-£÷>OOPCJ£¨¦¨´¶ŽÚýÑàGøÙçç'YODøEÔ$Õøyù3Ë3kk¤„¤;=&±îmn!nâ.xÍñš¨3‘5rK]ËS³O@ImÉÏ>?gVd˜~€}%í£G‹ü±³?™ˆ·³³óõõ56Æ‹X=¯[ë×}‹÷ãLœ8qРAÆÆÆ|||qqq‘‘‘°nݺoÐ5ú&zL¤2ÈX՘ʗ™ ë,q|QoÑ”Öt1wùýî﯊^€˜€Øï'Ý6ý™ÁdDåD%•$%#ÕFn±ØòÍ’vȉÊyÿä½Âwź›ëªªç Ç鈾w&&&FFFÞÞÞ˜—pÜ·ÈKFŒñðáÃèèhbW@@ÀÃÃõz¨O¡9âaòÃèŒÖñåð˜ëÁúF=„z •ïÊ‚+RBRz²zãǧ•¥1˜ =Y=~*?YgœÖ¸qZã>4È©Ìa2™ŠâŠÄzkßÒ¢a‹&éMb½mDFN–HJ\šwéUÑ+ …BgÒ»|–õ¶™3g=z´¹¹™xãX'îܹsåÊ•mÛ¶~Õ“\_ŒN§?þœx„‚Á`\¼x±Ã˜322þý÷_â´£F²³³ãççÿ‚:ߨ·ÈKBCCãââ^¼xQZZª¤¤dee¥¨¨ø ú埛×Òo„n ËŽ{‘÷¢´¦TIRÉj •¢Ä÷4¾Ÿ™×‚z…g¤ÚÇÉ@|T>Ö§…Ûæ6”ãÌo¨K©«K©³–°FNâj_ˆ8ÅÊÊj÷îÝOŸ>%—Ïþœ¢¢¢˜˜ÖwÄ~K………Ó§Og]/”Á`´¯öàÁƒµk×655»AAA~~~ÿüóëó›ìÔùö¾E^Ç>|ø·é‹ÛXZZZZZr:ŠÞ5\cøpïu| -- ûùø"ô=PVVÖÒÒ"Þ;ÖyÍ©S§4ˆSKêëëkkkMMM-,,._¾\PPоNee¥‹‹KSSÓìÙ³§L™RYYyòäÉׯ_ïÛ·oçÎì×áˆo”— „B\ÎÄÄ$!!¡ËjŠŠŠ¼ê¯¬¬C¼ÓÇÏϯÃ:¾¾¾µµµ3fÌpww'JF=iÒ$___âý$ìÔáÌKB!###bù+&“þàÁƒââb{{{rÁÖù%™™™[·nmß”¤¤äÉ“'ÉÝèèè   ¼¼<^^ÞAƒÍŸ?ŸF£}Y‚‚‚¬«ltˆx¾dñâÅd‰‚‚ÂäÉ“ž={faaÁfhhhðöö~öì“É455]¸páÅ‹?~ìééÙÉKp¿æ%!„€ššZuuuuuõîݻɵ@ ÿýwpp0± ëü’ºº:rNV䓱 cóæÍ7nÜ ?zøðáÅ‹/^¼8pà@HIIéò¾ÉèÑ£W¯^Íþ‰¤¥¥Q©TÖ·²À!CÒÓÓ‰œƒ:555 ,HJJ"#¿wïžššZLLLKK ûñt æ%!„€ŠŠ $%%ùùù‰‹‹;::êéé566¦¦¦úøøÔ×w°æ¯––V›ìÃÃÃoܸqêÔ)b×ËËëÆªªª?ýô“¶¶vSSSDD„Ïúõ냂‚xxxjjj:ÌlXÉÊÊvëDÞ¿/!!Ñf­s¢‘÷ïß³_ÇÃÃ#))IQQÑÁÁAUU5++ËÓÓ311±[Átæ%!„± ÷‡˜L¦ ùöÖÉ“'¯\¹²ÃÇ^DDDXŠŠºuëÖ¥K—455€Édž;wNVV6 €˜B´&!!qêÔ©/^˜˜˜èëëwùjò¥%l¢Óéí_ÀB”×9º¬C§ÓýýýEDD®_¿.//æææ&LøñÇÞ] °{yIyyy~~þúõë{)Ä=BBBp û™—/_ÿ;ˆê0™Ì%K–\»voäÈ‘JJJì¬êëêêzúôi]]]¢$??¿¢¢BZZš¸ Ãd2‰5Ö‰·Çgdd˜˜˜ˆ‰‰uþª“/;‘ö‹2×ÕÕ€°°0›urssëëë­­­‰¤„ ¡¡1lØ0rA²Þн¼$---??ÿðáý âoÞ¼yó¦‹7¬¢>§Ã Ñ!±:YKK˶mÛ¬­­ïß¿ïå啜œ,))¹páÂåË—S(”ÏûòåËõëן={öliii R©JJJÓa^’’’²råʃš˜˜´ùHRRrĈqqqYYY³gÏ&W‹ÏÏÏÿ÷߇ ½1¿dêÔ©¾¾¾‡9r¤ºº:œ>}:))IGG‡¼œÓeiiiCC÷oßž:uÊÁÁ‡‡‡N§:t(''§[Átæ%!„ñè/ƒÁpwwß¿¿‚‚‚¼¼|UUUff& 2¤ý!™™™‹/¦R©mf8ë—ìØ±ÃÞÞ~ëÖ­{öìQSSãçç/(((++€Õ«Wóòò~Áügggb†J~~>,]º”¸ÁD®)bff6a„°°°É“'0 ¢¢"??Ÿ‡‡ç?þ a§Îúõë<<<Ο?¯¬¬œ——W]]­¯¯Ÿ’’ÂÃÃÓ­˜Ù×[í"„P_—_•¯³WçÏûöûN{CuCõí¤Ûë×›6ÑÙ«³ÿÑ~NGÔµ¬¬,*•:räHiié„„„ÌÌL))©Õ«W/_¾¼ý!áááååå%%%1ŸŠ'*èééùùù™››×××'%%½|ù²¬¬LCCÃÕÕµË~NBBÑ 1c,66–Øe]SäðáÃ666L&óÕ«Wùùù²²²‡n³Ä~—u&Nœ¸ÿ~IIÉòòòW¯^1™Ì÷wzï:x½!ÔßèïÓ©6òÒ¼Kœä»¶-xÛ¤;œŽ¢7 «Ñ IDAT{RRR444h4š«««‹‹KQQQII‰”””²²2ë#µ¬ïÇ™2eÊ€¼?’5çÐÒÒ:sæLMMMNNƒÁPQQ!î}±ãÇ“/ÛcÅ:GUDDÄÃÃcëÖ­999‚‚‚:::TjÛwV³SÇÖÖvÚ´i©©© ££Ã`0ÜÜÜTTTÚ?cÜS0/A!Ôó$%¦N›¨3±¾¥þ{t}HMMÕ××'¶)Š’’1³¤ Ö÷ã(((°ùºx11±6‹«~1ccc6kJJJ‹²|qóçÏÛÙÙKÓÖÖÖîØ±£¬¬lþüùìGÛ]˜— „êy»&ï"6‚R‚8 ›ètz\\œ““§á.Ü·oŸºº:_vvv}}½°°ðÊ•+{¯ÇžŸ_"**jnnÞãÍ~=® ŒM\¿¨èssNGÑ® ŒM}=þo†Ádœ~vÚÒÓÒp¿á„SÎ<;Ã:!#.?Ng¯AÊŽÒÙ«Cüó,÷qlÀ›€9—æ >0ØÈÃhÆù—ž_b0¬-Ÿyv†lùô³ÓìGÕØÒ¨³WÇÑϱ ª`MÀšáG†ëìÕùÐübòb®; ?2Ü`Ÿùßæ{î©müo1«.;Í©Ìi?Ý„(t qc-ŒÍ‹ýÕÿבGGØ?`òéÉÂT5T‘Ÿv€˜˜˜÷ïßOœ8‘Óp—_~ùEPP0===))©¾¾ÞÀÀàòå˽ºB#^/áF¼¼¼æææ!!!œõ ^Þææª!!v]WEí츿ãjÂUb;ï}ÞÞ°½o‹ß²sàÞ°½gž!w‹w=Ø•PphÆ¡[vsûŽ­–IU Uv—íŠk‹‰]ƒq5áêöûÛ‰%> ¿*ÿlÌÙ¨ì¨k‹® ñ õH§„ËÏ/ï ÙEv”Qžñwôß eø Ðeí-þwqTvK± þ%X[Fû ¢åN¡¡¡ºººÄš"ˆ´fÍšU«V ×ÊÉɑ˲õžžÏKÚ¯kË%¸606qIüµµk9BǸ606õõø¿—…/¯&\Ýf¹ÍBÇ¢…Ñr?õþîÐÝd…á*ÃÓKo?ïõmñÛ3ÏÎò nž°ÙZߚʞþ¿ÿÝJ¼5Õpª¥®å«¢WmZJ ÚópO·Â‹Í‹5V6>1넜 ¯`Þû¼vŠ ˆÿ6á7sms !‰ÜÊÜ#Gî%ß»wÑq´ct YYn¡n<žå#—ÏaÏÙžÒµxÐÂhq³v›b0…(Ñ¡éžq8.?îAêÇÑŽ=Ò)Ü|{“Π;q"®Ž€¶Œö¯£e3ŒÛüÞžfòóó«««ëÕ霈Mßb~ÉåË—G-&&&,,lbbrìØ±6oe Ÿ>}:Fãçç×ÔÔÜ´i±¸ 444P(›¢¢¢ùóçKKK‹ˆˆXZZ¾|ù’µƒ±ÿ~===mmm¬¬, …âììÜa`l6ÛylŸÓÉù’ýfeeÙÚÚJJJЉ‰M™2…ì7""‚B¡ÐéôÐÐPJ«Gu÷‹eÿ»«ý4ˆË—G¾"&vDXø°‰É¥cÇâ &k…ðð¼éÓoÐh'øùjjžÞ´éQuuSkœ-ЇM@QQÝüù·¥¥‹ˆ±´¼öòe)k sÿþX=½³‡´µO{xÄfeUQ(ÎΡÆf³Çö9œ/ÙoVV•­m€¤ä11±#S¦ø‘ýFDP(t:344—Bñ þyô(¯»_,û'ØÏäVæÀXÍOÖ`h³Û¡ìŠl˜¨óÉÔb7§2‡üw›¦ÆiŽëVxäI ¤•¥ÀºÀuúûôõÜõôÜõtÝuõ÷é—Ö–ÕõT§QžSô§tøi—a :~áÂ[[[ÆéXPï_/qqqñðð w¢££½½½‰OOÏ_ý•¼ñ™}àÀÐÐÐÈÈHòµ‡ïß¿733#VÜ€ÐÐP ‹äädòÏ“““§§'±™™éââB®iÓ‰.›e'¶îž/TTTŒ;¶  €Ø Šˆˆˆˆˆèp1ÁÏa§£.Oð빸„{xIJ„Q’ð0:ºÐÛ{Qâéùò×_´~…]uà@\hhndä|aa¾Ö8Í̼33«Zã̵°¸–œ¼ŒFûxçÛÉ)ÄÓócF•™Yåâ_Üel]6ËNlÝ=_¨¨h;öjAÁÇûnAAYù † éÆ.Øé¨Ëì¯(ðÉ»ÓÈ¿¡]øù—®õI¡O¶$&ÕÒôö5›è]¤¿$ 0á“slhih_ósg÷ea|WóK._¾\PPàààÀé@@o¯÷ïáá!$$tìØ±¢¢¢òòòþùGZZúêÕ«7oÞ€ÌÌÌÕ«WKJJž={¶¨¨¨¡¡áíÛ·sçÎ}ñâÅ‘#GÈvÂÃÃUUUcbbêêêRSS-,,ÊËËÉ ÄÄÄxzzŠ‹‹Ÿ?¾¬¬ìÝ»wÿýw@@@—áuÞ,›±uë| OžáòåËä%cccˆuttìt+úúú³hÑ"²066¶Ó$t"¶vûKÈÊÊzñâ9dÒÜÜOv$$$_ Ù醺›<DGçþn!íåËù`` ÆÆlˆõrtìüÄ­¾¾ÄÄ,ZdFÆÆuú„NÄÖn YY/^¼¨#‡Lš›yññEdG@B‚ÒÒ",}±¡I‚"±pìBÁ_ôŒýŒ”ŒÈ%–ÒÞ©{ÛÞ;uÄÔ©#¦ yò|ëùó­ç æ¶¿’ ¤hRª9JuTˆ{HW¥P(~ãüZmèmÛÜ8íqã´?8¿)<Œî0ÝtútÓ>qx`^^ÞìÙ³}||V®|7Ì–––æïïïîîŽg–ô5Ý»¾ÄËË ‚ƒƒCCC9ΫW¯N:E,ðœ>}:Ì™3‡F£Íš5+<<üéÓ§MMM'99yéÒ¥›6‰z¸Ð´iÓ ((èĉ•••åååܸqc»7 ׉ØÚí/¡¶¶ÖÝÝ=--­®®.;;{æÌ™ÙÙÙ666ä$›Í~ðàA^^^« Õm¨»yy@pðÍÐÐ,§îÕ«†S§²‰½»Ó§Àœ9Ãi4‰Y³¢ÃÃï?}úº©‰ËáÔ%'—.]¿iÓß"¶2mš!%8ñ°²²¡¼¼îàÁ{7Þêbðˆ­Ýþjk›ÝÝÿHK+««kÎήœ9óRvv¥:9‰Ãf3<¨ÈË«jµ¡º£ Lgîž »–÷2¯¡¥¡¸ª8$)$"3bä [½öw £¨¨¨hÆŒÕÕÕ¿þúkee%Qxûöm__߉'Šþƒõ˜î/±°°X±bÅöíÛýýýýýýÉr044Ü¿¿ŸŸŸ¯¯o«{׬Y¢±¶¶ž?þáÇÓ^ooïÓ§O ¾iº£:[»ý%ØÚÚæååY[[“%,‹XµJ˜8qâï¿ÿNŽ|\¿~½Õ–ên*+VŒÙ¾=Ýß?ÎßÿÝ©ù>>Æ`h(¿ÿ§~~ùúÆ´ºwÍ+[±¶V?äáÃ÷ç̹Lz{Ÿ>M§w>±îDlíö—`k«‘—Wemýnß‹E'V­&NÔúý÷lƒ·g¢_¿îÝjKŽˆ L5 5Û¶mKØ&X¸nÒ:iºHkw:Í|§ùëÆ÷¯Í,58syf·¶Ž:§¬¬lÖ¬Y555|>ŸËå:thÍš5—.] ´··ß¹s'•JííQkÝ;^Û¶m;v옵µõ Aƒ †©©é®]»·ªÎŸ?ÿæÍ›>>>jjjt:]MMÍÎÎ.44tíÚµBÛÊ~ùå}}}III==½-[¶o;”——ïJðˆ­Ýþ›ÍNLLtss“‘‘a±XÎÎÎIII‚‡—ìܹÓÓÓ“Íf Y‘ JC=`Û6ûcÇ>³¶V4ˆÎ`ÐLM•vírˆˆ˜BV˜?äÍ›³||ŒÕÔXtº„šËÎN34ÔqíÚ±¢·rà€Ó/¿|¢¯/')IÕӓݲÅnáÂQ /ߥ¥jˆ­Ýþ›ÍHLôqsÓ—‘‘d±èÎÎ:II3/Ù¹s¢§§›Í²‚D”†&o3ïÅãUʤ3YR,+M«ƒžûÈ|êS***fΜYQQAL‹·´´?~|çÎË—/÷ðð Á¤¤o¢th$1}@lRíãöìÙsîÜ9b–§hhh`2™îîҋ(ʲeËvîìØaØ=) àÚž=çι³<}DCC “âînðçŸ=7j%:qýûåp8ÂßÖtù2+ @%77¯‹ !$:ýÝ»9..oÿfVVVNŸ>½¤¤Dp­FÓÔÔ\°`ñoõrõ¤(úÉûq>\QQáî£óìÙ³cÇŽ…††<ØÉÉ©·CCbpøðýŠŠ:wwÙgÏj{š9x°¤““No‡†êsjjjfÏž]ZZÚjAKKKII‰]o†DÑOò’ªªª     ÿìÎß±c‹Åê­UU5%ýçÀ’;&²X_?„ê—jkk¿üò˼¼¼÷îjäóù‡îÐ:ÔÃúI^òÍ7ßTUU]¸p!??ŸJ¥š››¯X±ÂÍÍ­·ãBâñÍ7£ªª/\ÈÍϯ¦R)ææ*+VŒqsûèÏšD‰W}}ý¼yó?~ü¡£ZZZNœ8áëë+â!–¨çõ“¼DVVvãÆ]ßÜÝ †Ø5de¥6n´Ù¸Ñ¦·iƒAãóW¶_!Ô š›|}}ïÝ»'üü§æææC‡‰ò®Ô+úI^‚Bh`k:tè뜜Ûäï~ …N§s¹\âØn 6›­¡¡ahh¨ªªÚ«¡"a0/A!ôqãr¹>ÙÙ7ˆƒ RWW×ÕÕÕÒÒÒÔÔÔÒÒÒÐÐPWWïʉV¨Ç`^‚Bèãö÷ߌ7oÊçŸ+jjjÊÊÊövD¨ó0/A¡îUÓPs4ýè(ÕQöúö½Kÿ4~üx}33ΈÂNÖA…n?ï!„¸šÆšÝÉ»oäÝèí@ú`^‚B¡¾¢có8·nÝ*))òÒÔo„„„„„ôè[ÑQÐÐÐèíBH˜Žå%†††L&sÊ|yX?° `\o‚Äk§¡!³·cè.Ÿ»/eŸž‚ž«‰kÞ˼ä‚ä&n“¹ºù1mk¦¦>.Ìåqõõmtl¤hRï}Hjaê«úW‹Æ-¢SéPYW™ö4­øU1J3R4§3ŽJ¡v´õ7MoâŸÄ?«y6dðO>ýP_D‰ðçÑ­â[ {}{mymàóù)…)^s÷Œ«‰ëxñPß\ïé[Z]ª&£f§oG— §¦ä½Ìû&ò›+ó¯(³”‰‡d–fÆ=‰³Õµ5Q1aÐÄ`IRA’2KÙ\Ý\]V½±¥‘X½:rv¤ˆ­¿iz³ðÜÂòÚr]¶®® —ÇMÈOºüŸWw‰áµÜkކŽz zËßÈ»ñCÌVšV_<ôå)Ç”K.HÎ~‘½=a{è´Pòá¸K”^g”fÄ=‰³Ó³3T2,«)‹É‰9ÿ༎¼ÎR›¥ÝñGŒ2ÌKB™—u/÷OÛïhèH|´Õµ]uiÕ¼DfpñáÅÒêR u‹c>ǘt&´ðZ–_v5çêÉÌ“Ël—‘Ùî¶Ý}¸»à“ƒ‚õônÝ*«)“¤JZiZU¼©È,Í|UÿJž)/Jë—]zQûÂV×ö çA"שo®Ÿ}jve]%ÙŠˆVÖWö:l§÷öå·k¯¬=s÷LzIzÌ71*,hþ¤ÙéÓõ¼ë|>Ÿ\ö׉»Déue]å–)[¦œF|¼[vwúñ鿦ÿºxÂb2Aâ…y Bè#3Ly™q(È‹ÚÄÇŒÒ øÖö[âG>Ð$h+íW^͹z§äy—.[·URYϲ枞ÛÂkýv•—o^’?¡Ûi½$–Ú,%’`Ò™þãý¿9û y‹ˆWN¦0Ag™»g¾ù‘^J·Ò´:wÿ\ù›rr”¥w‰Òky2)SUÓO>½šsõIùcec@H|0/A}dTeþóriº4?V«ª@KNK°Ž¦¬&…B©ª¯"KtØ:­{«èÖö„í’TIGCGmymiIi P’ ’2K3y|^‡Z×ýϾ'M9MÁ"F8dðÁ DóÞÂúæúNß%b¯5äZïä":UÓX‰æ%¡~E–! ÅUÅ‚ÙÀÓê§|>_Ž)G–´}¸žwöNÝë`à@>zñ¨­—T—ð´êi'"ì"öº¤ª¤U Ñ))™n 8ú\µÓ§OÛÛÛgee‰XÿàÁƒööö¹¹¹ÝB¨+ˆ--{’÷£\>wG­1ZÈÄb –‹,¹UtëÚ“kk]ãmëÍÜf¢¤¾¹žÜõÓÅ»ƒˆ½.|Uu?Šüx·ìnìãX†Œ¡’aÏĉŽ=^òôéÓ„„„ªªªö«@~~~BBBm-¾¡¾Ëm˜Û¾Ô}é%é“O¶Ó³£Sé)…)¹¹² Ù™æ3…Üh®f Ï.œW­÷‰Þ'äiªï}açç;gšÏüçù? e´ú葪#“ ’YR,…A ¢·>RudÜ‚8â¼W•Á*ކŽ|>?À&`”ꨮD¨ËÖmõ°×·gK³‰+»«Ý^“VÙ¯r1qI+Nãñy£5F›©áot¨[PÈ# Eáåå‘‘‘íÖü(œ>}zÿþý!!!ä —Ëýý÷߯^½ÊápØl¶ƒƒÃœ9s q500póæÍ™™™|>?,,¬¨¨HMMmÞ¼y666½×‰nA¡PNãy¯ýŽ—§§þýr8á³™—/³TrsóºØê [‡oîhèöEXûµ{þîÝœgï‹ôõõE¯< ÇKZ­/yóæÍäÉ““““É §OŸÞ»wo\\œ²ò»ÁÕ+W®lذ¡©éí™Í¿þúëž={–,YÒ“‘#„BýÒ€ÞÓÊÚµk“““•””¶mÛ½oß>]]Ýû÷ïûùù V[¿~½³³óÉ“'£¢¢,X@¡P–/_ž““Ó[a#„BýÆ€/ÔÒÒÎ`0’““ŒŒˆBoooccã?ÿü“Ãᨨ¼=-ÑÕÕ5*êí~¹©S§ªªª=ztÓ¦M½:Bu!Ëqê8^òV~~~mmíĉɤ<==ù|þ½{÷ÈÂyóæ ÞH|¬€Bý•B ° p5qíí@Ð@yÉ[ Àf³[•%ÄU‚œœ\Û õõõ€B¡®Á¼ä-UUU¸sçÇ,¿}û6¨©©‘%‚ÒÓÓ@]]½'¢D!„ú5ÌKÞRRR²°°ÈÎÎ lnn>Ÿ¿{÷îØØØ!C†˜šš’57nÜHä"PTTNNN½6B!ÔŸàº×w¶lÙâää´uëÖ#GŽèëës8¢œF{÷EihhX[[JIIegg755™™™y{{÷^à!„P?ã%ïL/wžä IDATš4éâÅ‹•••·oßæp8jjj'Nœ˜={¶`µ]»v¹»»çääÜ»w¯©©iÒ¤IW®\‘””ì­°B¡~c@—‹US —ÜÜ\â¼Wcccâe›„ Lž<ÙÜÜ<**ª´´´¸¸X]]]KK«BG!„ú£—kZ‡ ÒªÜÀÀÀÀÀ m}====½·›øÕÕÕq­+B!$^tgÇŽFFF/^ÔÕÕÕÕÕíípB¨cÊkËgFÌ<š~t@5‚š—<~üøÉ“'***Çœ©A¡B#·1íiZaeá€j 4/ùî»ïîÝ»W\\Üÿ^ŒB}¼èúÁÃæB!ÔG м!ô1jæ6õûWc4ÇØœÎ:}³èæ«úWG¦YwelwÛNT«i¨YµˆÏ燸‡(³”‰Â +AoßìöØÝ“1h .{#ÿFrArñ«bªÕHÉè‹‘_è²u[Ýø­Í·gîžI*Hjâ6™«›5ú+–K°‰»Ïîž¹{¦´¦TUFÕÛÔ[q¢ˆT7TŸ½w6³4³¶©V…¥â<ÔÙÁÀ¼Qxx¢4xa^‚úhðø¼´§i,)ÖÜÓsoÝ$ [¸-’4ÉÈ»‘•XJZ”úwñß\Y!J™œÌg¼ªEÖý|Èà·‡'Ñ$h§f"gO´å´¿<õeFi‘—\xp¡‰Û4×rîºIëˆ SL¦¬Ž^u?Jx¿eüö²îåJ»•~ãüÈ:.Æ.v¡vQÿDy‰ððDo!qÁ¼!ô‘1V2nõ³_ž)?LyXrA2ŸÏ/ª**©.YþÉòÁRƒOÜ9‘]žm¢l’R˜b h ÂRùÐ3[=P\qùÜå–YQ+¯_“yÉHÕ‘‚K:F ¯êÞN¾ä”ç€×(/ÁÛ½FyµMZõ, bǦ¥òù|àŸø¼—y¢„'zÓ‰KÇòâØMMÍnŠõ%ßà,r?óòñcÃÞŽA Èç‚lõlÃn†e—gß)¹C¡Pltm4M‚–”Ÿ$E•*­.ýzÌ×BžÙÅõ% ì⃋IIÚòÚ_Z|©-¯-M—¦P(Çïɉ!ò‚,CVð.bY ¹¤£¡¥d2‚uZÝòÞêšêànÙݶ5%i’¢„'zÓ‰ Ž— ÷33Ók{B?ú¨eeeõvâñÞ³mtlÂn†%æ'f–f++H+€¹ºyJa ±Îc‚Î'q@LëKÚFä{§î5Q~7Œ±3q§ðç´¢‚B¡Ì›7ÏÅÅ¥·Aâ´dÉ‹Õ~½ÓhÑL:óFÞG/Í2ŸEÚèÚ„¦†M‚6V{¬ÛŲ¾¤-9¦d”d?ø[x-¡©¡é%ézˆ­žmDfÄ/×~ÑWÐב×€ìÙ;Ú_|ê<ÔùXú±óÎosÛ¦%÷ö £\>7öq,—Ç%¼N7P§áx B¨? SéVšV ù `£ûvߎÍÎÄ)…)VšVĨɇˆe}I[özöûRö­ÿký‘´#òÒò…•…55ÃU†?à<ý!õ'š«›g–fN>4YOAËã¾*ª4”SË~£•¦•—©WäÝH‡0M9MÅAŠ5 5%Õ%- Ç.œb2¥Ýð:Ý4B6@Ï¡Gu*•\nO·K¤#L:s´Æh¢d¤êHbH€ÌTz˜©šéúO×3éÌâªâ»ÏîR(”Í.›…Ü´E• ò<4Ñ`b ¯åqùã¼—yãµÇorÙ$ʽÿ7ùÿÖNZ«ÌR~Zõ4³43ïeÏs1v!Žri7¼®4Ý“¸\ üû}ìp¼!$fƒóàõk 99žxŸL§Ò#fFÈ3åß{uÚÈiÃT†IÓ¥%©’D‰Eâ¸Ïñׯ”º÷ÕB›e1kÚÈi• (ЩôâªbM9ÍÝH²¥Ùd‰Sîç!N-çYõ3•Á*j2j-3#T«@‚"1ÏrÞÜ1s‹ªŠ*ë*ÙÒluuò¸¶vÃ¥é¾àõk ‘óß7Ô+0/A‰™¦f Jš™5ˆ÷É k-ë]•eȶ½:Le˜xcx/á1éLÁ0´ä´ÈÕï½ñCOSa©[¥hR‚u„@¡Ptäuˆ" O”¦û‚ü|:hj6÷v H p!$fͲ²¼ÌLFo‚Š»w²²Ÿ¿téR⪿¿xxøˆ¤DÈíÄÇ#GެX±¢ººš¬`cc“ !!±dÉ’V?ž#""–-[Fä%ׯ_€_ý•¸jggGä%ÁÁÁöööd^²víÚ-[¶pÿ=ŠB¡øúú†††Òétˆ‹‹Û¼y³……Åš5k²³³‰: ñññ¦¦¦úfx<žŸŸß¡C‡ÈÿÚÚÚcÇŽ‘1O1bÄêÕ« à»ï¾srrO»'Ÿ<|øðU«Vuÿøã›Þ9l 6TL›¦¨¼c×$"ñâó!0PùÙ3úÞ½xøl¿"¶¼äüùó¾¾¾4mÊ”)&&&±±±III_}õUtt4„„„ܹsgÅŠ–––cÇŽ=|øpxxøW_}µ`ÁQnŒŒœ?>XZZZZZR©Ô;wî$''óx< ‰öWÉÌ™3‡Çã]¿~}îܹZZZðÞ5%ûöíÛ´i…Bquu511),,üóÏ?>¬¨¨¸iÓ»#.\H£Ñ,XÀb±®^½úðáÃ%K–$%½ç]á„C‡Q©T==½œœœÐÐP%%¥¶5/^,))9þ|uuõqãÆ‰(üýý%%%,XÀ`0âââ>|8uêÔììl…=!Ñik7ïÙó|ÞßÓÓ3***;;ÛØØXRR222ÒÂÂÂËËëÈ‘#K—.5jÔþýûE¼}ݺu°o߾ŋ“&''SE›Tœ3gNqqñõë×çÍ›'dà—_~€sçÎM:•(ùûï¿mmmwíÚõ¿ÿýoРAD¡¾¾~ll,“É€M›65*%%¥¦¦FFFæ½Ý¾}»„„D\\œ½½=Qrþüy¶5544L|$R±vã…ªªjRRaKK‹··wTTÔÑ£GW¬X!úCê¨ñã냃+þ÷?¥ÚZÊš5/qê:.6oVøõW¹ËÇÇÕKýxò’²²²‡êëë_¹råÊ•+|>ŸÏç1’‘žžN,‰ÐÒÒ:yòägŸ}æìì,++{îÜ9âG{»·³X¬'OžXZZ &% Þiˆâââ’’’ &IX[[{yyTV¾…ÖÔÔ¬@¼;¾¹ùýc‰ÄcÛNéèè´ÍK ;(tuuÛ~$š@¨»¹¹Õjh´,Z4ÄÉIkåÊ—S§¾Æå&¨£ø|øãÁÛ¶)ðxðÛoÏÌÍÅü–ÔGˆ'/‘——€aÆyyyµ½jiiIþ÷âÅ‹ ôõõ?þÅ_¸¹¹‰r;±"''çC«>kkkÉE²Ðê¨{‘ŸŸßª}zeeåªU«ÒÒÒÒÒÒˆ ¶¶¶ÄÚX33³€€€]»v>}š¸ôý÷ßçççGDDNžÜºu+ü{~I«^øûû—””lݺõâÅ‹/^„Ï ùé§Ÿºòå,_¾üÑ£GááágÏž%J/^\VVöÇOwÚG”ŽöîÝ»råʉóKp“0ê-C†´ÌšU=kVuûUB‰8ÏU›1c†‡‡G|||NNÇÓÑÑ;v,±D433sΜ9öööäZW 6×”——s8!·üüü|||bbb dee-,,¬­­É«!!!>>>III4ÍÁÁÁÔÔ4**ÊÀÀ€˜¾ƒqûöíèèèÜÜÜÆÆFb!jÛ÷ãlÚ´iáÂ…äùª'N<_ÕÑÑ‘Á` 2D°ãD¡²²ò‡¾*•zäȑŋ'$$€••ÕСCÉðÞûävã¥ã##£‡^¸p¡¨¨H]]Ï{E!ÔQˆ¹""Ö¥FFFv[<ýÖíÛ·×ÿîÝ»wéÒ¥S§NŠŠêî¦7oÞœ™™iff&â- e÷îÝ...ÝêaK–,a±X]ÿ÷Ëápjkq&BHTÄ6R ô÷öõ‡‘#Gš››Óéôôôtbiê²eËz;.„B¨Á¼¤‡XYY]»víæÍ›ÄG))©mÛ¶µ}1!B!4a^ÒCâããÓÓÓ³²²ÊËËÕÔÔœœœTUU{¦é­\A!„úÌKzΘ1cÆŒÓóí::::::ö|»!„PGá™!„ê+0/A!„P_y B!„ú \_‚ê))©Þ!Ôoa^‚ê<)!Ô}:œ—”””œ9s¦;BA}Jfffo‡€Äìùóç‚/‚@¡>¨ÃçГožC}t<==ñ=¡¾¬cy B!„P÷Áý8!„ê+0/A!„P_y B!„ú ÌKB!ÔW`^‚B¡¾ó„Bõ˜— „B¨¯À¼!„B}æ%!„ê+0/A!„P_y B!„úŠÿuÁY.XIEND®B`‚fio-3.39/examples/numa.fio000066400000000000000000000006211476262051600155120ustar00rootroot00000000000000; setup numa policy for each thread ; 'numactl --show' to determine the maximum numa nodes [global] ioengine=libaio buffered=0 rw=randread bs=512K iodepth=16 size=512m filename=/dev/sdb1 ; Fix memory blocks (512K * 16) in numa node 0 [job1] numa_cpu_nodes=0 numa_mem_policy=bind:0 ; Interleave memory blocks (512K * 16) in numa node 0 and 1 [job2] numa_cpu_nodes=0-1 numa_mem_policy=interleave:0-1 fio-3.39/examples/numa.png000066400000000000000000002010241476262051600155210ustar00rootroot00000000000000‰PNG  IHDRePX‰‹pbKGDÿÿÿ ½§“ IDATxœìÝg@SWð' ÂÞ‘)ˆŠ(ÔQ‹qUÅU÷^µ­Å¶Z÷lµŽúºªqK8¨).\ (V†È²÷†÷ÃÅ40ŒÿïÓ½'çžû„£7¹OÎ9—%@[Ò@³ƒ|ˆC¾Ä!_â/qÈ€8ä @ò ù'%é e§Nº~ýzjjjEEmܸqõêÕÌ«üñGçÎ% | ä  A–.]º}ûvÑ’ŒŒ ___f;77WA@C!_¯¨¨hçÎÌö×_=~üx6›­­­-Ù¨ áX@Ò1@KlccÃlGDDXXXQii©ŸŸShkk«¬¬,±øàca|€ÄüòË/·oß&¢¾}ûnذáôéÓžžžååå:uZ´h‘¦¦&Síûï¿ !¢Ñ£G/Z´ˆ)Ü´i“õéÓgãÆD´nÝ:f@ß¾}W¯^½wïÞÛ·o+((L™2eøðáDäïïðàÁ””“yóæuéÒ…iÊÍÍíÔ©SÌ6‹Å’““300èß¿ÿ˜1c¸\n-ñOŸ>=44TtWVVV¬ŽØúwïÞ½råJTTTII‰†††½½ý”)S´´´>öOMù‰yñâs‡¯®®>uêÔ“'O2å—.]rss en¤Ÿ={öðáC"½ñgŽUQQaJ˜UUÕáÇÿóÏ?Lù™3g¶mÛ¦¬¬üÍ7ßTVV2…®®®^^^$¢ØØXárBnnn666·nÝRWW_üÂÝÇW¯#\¿ ??„ ^^^¢¯ž>}zÍš5nnn“'O®õOŸž§ yW¯^ ÷ððعs'ó}zzúÿþ÷?±jlv½>¸¯]»Æb±.^¼8þ|¦dõêÕ .\²dÉ¥K—˜a«V­b^?þ·¼½½÷ïßobbBDÏŸ?_±bE-':qâľ}û„»§OŸf9{ölõÊ3gÎd’ŠŠŠ;vì¸xñâ¸q㈨°°púôéLBšŒ/<‡ãååÅŒ&8}ú4‹Uc±XõiÇã]¸pA^^¾OŸ>nnnDTVVæìì¼uëV"ÊÎΞ9s&…„„‹ebbÂ$„´´´ÆŽKDÿý7ÓB>ûì3á€"êÙ³gûöí‰(11Q¬fDD„§§'³½cÇŽ¹sçÑÈ‘#»téÊçó·nÝzùòåú¼;ø4/<{{{á~áFFFÆÇµÖ½{wyyy"RWWg±ªÖ6îׯŸXûÅÅÅEEEòòòÀËËëæÍ›±±±ÙÙÙ ™ÖÂßß_¸=xð`fƒÅb9991+ ˆV€æùÉ.mHDRRUŸÎÕŸa$ZRZZú¾ÖÔÔÔ„Ûl6›Ï瑆†SÂì ¬¨¨øòË/…‹TW\\Üð|AQQ‘p[QQ±ú¶hh°~@s'--ÍlˆÞT¿|ù²Q¿~ýº0Y°xñâk׮ݹsç·ß~«^óÁƒýÞ*++û ³ ·£¢¢„ÛÑÑÑÕ+@s€ñͳ(=zô¨¨¨HNNîÔ©S¢2lá¬iié5kÖ(++—””ìÞ½»ÆšÂÇ(ˆ.[PýúõÓÔÔLOO'¢7ž;wŽËåþûï¿ÂE ÆÿñïšÆ4wÌÒƒDôâÅ SSÓN:-X°ÀÖÖ¶Qwpp‘‘!¢òòrSSÓ^½z¤¤¤4JãBrrrnnn‡ˆ._¾lhhØ­[·Ï>û¬¤¤„ˆºwï¾dÉ’Æ=#4òÍÝðáÃ7nÜÈÜÕ§¤¤”––z{{wìØ±Q733;}ú´¾¾>eff͘1cýúõÒ¸¨Q£FÝ»wÏÁÁÅb¥¥¥={ö¬¼¼\EEeñâž¾¾ _"«úZJði¼xñ"--ˆ455­­­™Â˜˜˜„„"RTTìÞ½»°rQQQTT›Í¶¶¶f³Ùááá©©©D¤¡¡Ñ©S'" cü‹¶æëëË|Ö[YYikkQfffHHóê_|Áüæ_^^“——gnn®ªªšýüùs¦ÎçŸÎ, ‘‘!œáààÀf³‰(///((ˆ)ìÙ³§¬¬,•––úùù1…¶¶¶ÊÊÊ¢ï:'''&&¦¤¤D]]Ý‚išä @2ú ù‡|ˆC¾Ä!_â/qÈ€8ä @ò ù‡|ˆC¾Ä!_â/qÈ€8ä @ò ù‡|ˆC¾ÄII:haRSS $|0SSÓúWÆø‡|ˆC¾Ä!_â/qÈ€8ä @ò ù'%é (1Q:!A*/#H:h®äå+54øffe\.®P³²2VT73“SXˆ_ —+PRâ››—©¨TJ:ä à“âóéî]ù+Wîß—ËÍÅ;¨Gн{É A…£Gç++ã›+åæ²ÿþ[ñŸäŸ>•åóY’ Õ26.0 pܸ|só2IÇŸK€ßõàC¤¦¦|ܱ·nÉÿö›úë×Ò=z;:ÙÚ–•++óÙÈÀ{²SR8aa2÷îÉùøÈWV²æÍË™7/›Çض«¸˜uð êÁƒ*l¶ÀÉ©ÐÁ¡ÈÚºTG‡//\@£)+cegs""¸þþuJiß>U%¥ÊÕ«3 *”tD ÿü#¿q£F^û»ï²'OÎCŽàèÞ=¹­[Õ_½’ž=;÷ûï³ddpÙR!_Mè#òñ¾ÿ^GO¯|ݺ ;»’& ÚˆŒ Îöíê.(~ýuöâÅY,ŒCo3úßÿÔP;6É’L ¾¤#h[ø|Ö©SJ;wª™š–¹º¦¨«ãÿ`‹„|4¡Íxx(­[§1thá–-iHE@cñôT\µJÓѱhûöTYY\[Z¿’Ö’%Ú·nÉmÚ”>fL¾¤Ãh»bb¤çÏ×åóY¾ÁŠ-Ñå 0išÐ•+ «Wk~ûmÎŽ©H@#3&ÿĉdÞ’%Ú•ÞÚUVÒ’%Úþþ¼'’‘,,SÓò ’tt*fÌÐ{óËç·rÈ@S ‘Y¹Rköì €Ægo_âêúæöm¹;Õ$ 4­;ÔnÞ”Û»7ÅÞ“Ú$OE…øðUUþüù:EE¸£lÍлÐ$rr8óæéöêU´lY¦¤c€VËήdãÆtWWUooyIÇMÅÛ[þÀÕß~KïÙ³XÒ±@yùÊÞ¤¥I­Z¥)éX  !_MbçNU6›vìHó I“?vlþ¦MÅÅÈÔ ³6mÒ;6ÓšƒŠ­[Ó®\Qxü˜'éX ©à‹<4¾¨(î™3J?ÿœ© €YÅÐä~þ93?Ÿ}𠪤Æç榚›Ëþé' UhŽúõ+0 hýz >ÛÖ ùh|Û·«uêT6j~ j‹N:effffffgg×–••ݹsgÕªUC‡íܹ³¥¥eïÞ½.\øäÉ“†-˜º:ÿÛo³TÉÍÅ›V%7—}èÊÂ…ÙZZxl[3ÒÔ×y"zóæÍ_ý5cÆ KKKæ &4 dhB+WfÄÅI_½ª é@ IàcYJŠÔÝ»òsçæ`Ch 'Nœ˜7ož‡‡GTTTqqqEEEZZÚ7&MštâÄ IG3yr›-¸xQQÒ@cúûoE6[0yrž¤OmÊ”)ëׯøðaEE…¤c:´o_îäTxú´’¤&|4²›7åy¼Ê %´Zl6{üøñW®\ 9uꔾ¾> ‚Í›7§¤¤H:: yùJ'§B¬zØÊüó¼“S¡¼<¦¶µ9zzzS§N=vìØÈ‘#% ÔmÔ¨‚  ÙŒ ޤƇ|42^ÏžÅÒÒI’1yòäèèèèèè&š  ®®~âĉß~ûÍÊÊŠÇã}öÙg+V¬`^*//ðàASœZ„/¾( ’-+ÃЦV¢´”$ëàP$é@@\S_ç‰è¯¿þZ¿~}Ÿ>}¤¤¤šèЈz÷.b³Xõ°UB¾ÙË—ÜŽK%HLÓSù|þÙ³g§NjggסC‡îÝ»Oš4éäÉ“ïhÊçó÷ìÙãààбcÇ¡C‡ž}úÌ™3‡)¼|ùrQ‘øüä_~ùÅÈÈHUUuÕªUêêêLáÕ«WŪñùü¥K—2ß/y<Þ®]»Øl|®µ]Ì•G€tekÁt%>Pš¿&½ÎCKÁbáòÛ:á{4¡¤¤$á×ÄÎ; Ë…Ûåååñññ¢‡p¹\sssf[ZZZ¸+Z­¬¬ì»ï¾»téñx¼X[[7Í›€÷jºë<H&™@ˆüÜÀù¡PаŸ! çÏŸÿøñc"RTTtss³··oHƒðqšè:ÍÆ@200àñª°", c6¤¥¥ŒŒD)++‹ŽŽf¶ËËË£¢¢˜mcccf#;;{Ê”)L²@CCãÔ©SHHJS\ç ™@¾š´´ôرc™í“'OÞ¾}»¨¨èáLJb GŒ!'''vÔÚµk²³³7mÚ”™™)¬IDoÞ¼™0aBhh(xxxXYY}¢7Õ4úušÌG€¦µlÙ²ˆˆˆÀÀ@fèK666kÖ¬«¯¢¢¢®®Þ¿Ñ™3gÚØØѹsç„\Ū­^½ºñß¼_ã^ç‰h„ OŸ>}õéÓ§fffD¤¡¡áïïßøïj‚|4 á,V÷×_?þòåË/_¾,((——·°°>|øÄ‰¥¤jø$Úµk×¾}û.\¸žžÞ®]»iÓ¦ ¸Í®ó­ +‘ÀIMM-((¨¥‚™™éž=©Ã†ÕVZ±C‡mÙ²…ˆLMM½½½%´-¸þ´&ׯ+¸¸hGGÇH:‡ë>~ôèÑL²ÀÐÐÐÅÅÅÚÚzüøñך¨3fðx¼E‹éééQaaá‚ JJJ„'e’FFF‹-êÒ¥Kõ“Ô‡¶6¯yÞˆ6ÛÀj×a·Ð?´5ݺ©»¸Xéëó$ˆ¸fXíš"ìú§h}0¾ ÅÛ²eKbb"uèÐ!((HNNŽˆ¬­­×®]Ëçóúé§çÏŸÑîÝ»óóó‰H^^þñãǺººDôÝwßýùçŸÑš¨îÝ»_¼x‘ÅbMœ8±W¯^D”ššÙ¥KáI555‰è‡~ؽ{w“ÿ] ÕÑÒ’uq±”t5h¶Õ®)Ân¡ hkºuSëÖMMÒQÔ ÙV»¦»…þ)Zä Z¼7n0ªªªÂÅâãã™àààääd===___¦dèСL²€ˆfÏž-–/¨gk¢‡ÌŸ?ŸÅb‘¹¹¹°011±K—.¢'e’D4cÆ ä à#Ô87>?¿üÞ½Ô„„B©N”ííÅÙæó~~éy•ÆÆ }ûjËÈp˜—Dgì?~œœ-#ÃvpÐnß^A¬‘7oŠïÜIÉÏ/77WìÛW'22ÏÇçͰaúffŠÕ«³µÄö ¼o­ÊJÁ£Gé/^äÈËK÷í«m` 'v`\\Appö›7Å R]»ªuê¤R{›uöÀ'VãÜø¤¤¢GÒ32J••¥{ôÐ05U;*/¯üÁƒ´„„BiivçΪööê—„3ö••¹·o§¼z•¯¡!;p ®Š W¬‘°°œ€€L@`g§Þ¥‹ªÏ›ððÜyóÌx<©êÕ¿ÙZbûÞ·Ö@qqÅÍ›)II…ÚÚ®5Ñáê†\îŸ^•••D$<©¶¶¶ð%--­:ß@uÕçÆß¸‘´bųüüra[[µ}ûzhiUM˜|þÇqu¸yó SÃamÞÜm̘vÂCΞ_¿þß²²Já)†7س'ÜÂB‰ÉÔ¸@ÍÖ[þøã¥@PÛŸHNŽ3w®ym5DÔ¸Ö@iiåŒýüÒ™]))ÖÊ•§O7ev‹Šøóçûùû§‹¶ãà ½oßgÌ7Ýè#€O¯úÜøíÛÃŒâó«.²,}õ•Ñ/¿ØJI±˜’sç^mÚRPP!lÄÞ^ãÏ?{¨ªréíŒ}kk•mÛBcbò™ **\w÷>VVÊÌne¥`Íš=<^ [˜:Õ¤¨¨ÂÓóõ´i&<^ Õ§Ù:c«.9¹èüù×µÿ‰,,”† Ñ«½ŽPk ¼zU°`RRÕÇœª*wÿþžvvU‰Œ°°œ|›/¬Ïf³¾ùÆâÇ;¾¯Í:ûšò-ž††Fzz:õéÓÇÑѱz&) ¦¦öêÕ+"JKK¾”’’òq­‰âpª~eFˆž455UX(ÀG Ïýá‡ÀŠ AçΪvvjü›7“Ÿ=Ëúî»ÇgÏöe±()©hÖ¬Gyyå66j66ª\.;44Çß?}Þý…p˜@@ >ööNމÉ^3Ûµ“?~üsYYýü³õ—_Þ~ú4³  ‚É:Åf³Nœè#uóæ› jË)¦öfë›(==ž‹‹Uí'µ°Pª3°ÚiiÉž9ãÀÉç \\¼½“/\x=gŽuê¤róæ ””¢ððܼ¼rùAƒtOžŒ»uëMù‚:û¨ÑÀû _Ðbøûû¯_¿^´DCCcáÂ…Ë—/?{ölrrò‹/,--GŒ¡¬¬œ””8hРAƒÑ¢E‹<˜ŸŸŸ““cggçììÍÜÌ‹ªgkõ´hÑ¢C‡äååÙÛÛ=:..NøäE€†xú4“Ãa-^ÜQø3µª*wÁ‚«V={ú4³W/ÍGÒ9VVVÙ¾}€¹Ó.,¬ ¢l¢ª{ò1cÚ‰NÑï×OçüùøÔÔbf÷Ù³lOêÛo;+Èotð`TíáÕÞl=c#ÌY4‘# D¿\Μizà@äÓ§Uae³éðáè7’ÄŽÊÈ(­±µ:û¨ñßÀJN.JI)îÞ]]x#JD66ªÃ†\¾œšmd¤ß®¼¯oª¯oªð¢Í\ÙBCs„—ͯ¿¶`îê‰HZšÝ»·fll~ZZ±‚‚bRRQZZIŸ>Z¢SÀÔíÒE588»öki6-­¤ž±‰ÒÓ“ûkÓΟo..Çá°~øÁÊÛ;ùéÓL&_Àá°¿þÚ/22Oì¨?Pêì#¬ŒÐt/h1?~üøñcÑ’:,\¸P[[ûþýûóæÍ»}ûvRR’«««°‚¡¡áàÁƒ™ívíÚyzzN˜0!+++..n×®]ÆÆÆÇwrrb*0«Ô³µzjß¾ý… &Nœ˜ÏœÔÃÃã‹/¾ø¸?€P^^¹––¬ð+£];y"ÊÍ-'¢¬¬2>_°{w C.E§Óëê¾ó¬&æ'úŠŠªßñssËttd9œw†Î×çYе7[ÏØÄ4îú524|ç­±Ù,}}¹ªï²û÷GÞ¸‘¤¦&óÅZ::<.—Íb±Îœ‰.î ¦Î>8ærdh(¾¶«ðb••UJD¯_îÜù¢úáµ| ÈËKÑÛ+^^9U_AV__®Î|A-ÍÖ?6QH}Ы IDAT¾~AÄ>P˜÷ž›[Æì.]ú422ÏÔTÑÎN]M+-Í)+㻺FÖø1Wg5$N¨òÍݺuëÞ÷’†FU2ÕÄÄäÖ­[‘‘‘~~~ÉÉÉ222úúú¶¶¶¢õsùò夤¤öíÛ;;;_Õ×ׯkÂÀ„ër¹\a¡……³1hР˜˜˜+W®O*ú¦Ú·oÿq%%é7oŠKJø¢·£¯_‘²²4))I••UΛWÃý3³Na}(+sSRJø|hÊ 1±°A¡llŸ`ý‚„„wÞš@@IIEJJU+fݽ›"+ËñòrTW—V8~<æ}+ÔÙGÇ\ŽŠÄÊ…+ee.™™)VÔÌÎß»H­(æÑ¢kÜ2„Ë~œ‹íÓ¬_Phkûß™÷Î\XX˜ac£zöl_áÇkxx.3é º:û¨!q@í/hîÄæ ÔÂÂÂBx—^#???kkëéÓ§3»eee›7of¶­¬¬ŒŒŒêßš††FõÀ¸\nѪªª Oʨÿ›xŸîÝÕ/]JعóÅŠ™’œœ27·Hæ%"êÝ[ËÃã•‘‘¼³³¡è/_æ2‹Ö‡­­ê•+‰D §$$';ßÀà?.¶O°~Áåˉ³g› ǯ=™Y:`@ÕCUX,–”Kô¡û÷Gäæ–U²£Î>8==9ÞÓ§™·n¥8:V-ê’íå•$+ËéÔI•Çã´o¯ž^:dˆžè¬~€gÑ×—ÓÒ’}ô(=00Sø°ÃÛ·ßÔ9¸ vºº¼ˆíÓ¬_àæåè¨ËŒ†àó»v…ÓÛ‹?‹Åb±HV–#L”•UîØQÉ·×ÑG j|AràÀOOϘ™™åççߺu+&&†ˆ8ή]»$À‡™3ÇüÚµÄÇ£Ÿ<ÉêÖMµ  âÖ­”¬¬Ò®]U{öÔ$¢o¾±¸q#yñâ'GFÛØ¨**J§§—FFæ…„d9Ò[ô!ϵ˜9ÓìÚµ¤;^(ªv³g›mÙ:uê}'']CCùW¯ nÝJQW—ÉÌ,mÈób>"¶O³~AZZÉ A>èr¹ìGÒ£¢òTU¹cǶ#"99Ž……ÒãÇãÇûÚÙiäç—ß»—ZZʯ¥µ:ûšòmHŸ>}®\¹réÒ%ÑB33³½{÷~Ð*†ÍAÇŽÊ»v}¶bEÐóçYÏŸg1…¶¶jûöõ`¾xÈ»»÷Y¼øIhhNhhŽð@++åz& ˆÈÆFuÛ_~ ÈÈ ¢®]Uû÷×ݹó…œÜÇ_?%¶¦0{¶Ùýû©—.%0»RR¬•+; Wçrq±ôóKŠÊ;z4šyõ×_mOŠ­>–Qg4S§š¤¤”<yûvÊíÛ)DÄbÑW_ýøcÕƒúœœtwì°ß°áùýûi÷ïW=šÍfõí«-%Å®çYfÍ2‹‰)8wîÕÉLÉ”)Æéé¥ÿü“Ü;ÞF‰­)¬_o³ysÈéÓqÌ®ª*wÿþžÂó¯¿ÚΟï””EDêê2»wÛOúà}­ÕÙGÐD/hCæÎ;uêÔ;wîDGG¨««ÛÚÚÚÙÙ±ðÍZmmž‹‹•èÊÒC†èõî­yï^jbb—ËîÜYU8ȓѱ£òõëŽAA™¡¡9ÅÅ|^‡JVVÊÌ«FF ..V¶¶ïÂvéòßœÏI“ŒûöÕ¾s'¥  ÂÜ\±o_µkÿ%‘¨Ä«g³µÇÖÄâ¬1ìž=5çÏ7¿?-""WNNª_?ÑÕ¹TT¸W® ¸}ûÍ«WJJ\-==¹ÊJA^^YmR=úàÓëÖMÝÅÅJ_ÿ¿u—,é8q¢Ñ£G%ÊÊÒ={jŠ=Y`Ä''ÝGÒââ ++r]»ª ?z÷Ö”‘áhhȈ |ápX›7ÛN™bÌdŸ»wW³±QsròQUå çy‰VŸf댭)ˆÅYcØööêÞÞN7o&''kkË::ê2‹8¼=DÍÇÇÉ×75%¥HOOnÀ]¶‹‹•pŸè#h ,AíÓaßõÕW_ѹsçš,h*õÿ755µ   – ff¦{ö¤V[$44ÇÚZE˜U Í?ÞWAAÚÏo¨Øs@âZÙõ§»~]ÁÅE;::FÒ4šààì.]þ›lïî»aÃóAƒôþü³‡£h߯MDü‘*é@ n¦¦¦õ¯ŒñµÙ½;<66ßÎNCMWpçN Ÿ/˜>ÝÉø S§ÞïÐA¹cGeiivHHÎÓ§™D4k–™¤ãx/ä jÓ¹³ÊÝ»)ññÿ=hpìX£ :H0$h‰llÔüüÒŸ=«ZÏ…Ëe¯Xѳ´ 9C¾ 6..VcÆ=}šùæM‘¢"÷³ÏÔÍÍú”)hƒÜÝû„„d‡‡çee•jiÉö飥¥%+é jƒ|@ äD—ýø8;«vî¬Zw=€æA’ÏY€æ ù‡|ˆû°õ üýýY,,_ ®®®®®¾sçÎ&Šš‰]»võíÛÝÊ$&&J:h1°~ˆû°ñ’ò<ùùÖ;[§ÛMÒaˆ¤cyÇì³³KÊKÄ çô˜ãhæ(Z™y;ú¶ÿkÿ²Š²eý—ÙèÙˆò&ïW„×Ë´—iiª‘>qYq¹%¹ºŠºýÍú;™;‰.@v'úÎÁÇÇÛŒÕi”è;ïí LìfÐm±Ãb,X„|´¹%¹ NN’D\`B`qy±XáðŽÃEw:‡¥† wsKrÅêr|ã­@XråÅ·Çn'&ž~-)/ Hâ¼sÝö ñ\áµBCNcãHÔGBNB@B@Qy‘¤yGaYa@B@õrјä¼äGFˆ~ˆT *Åê÷÷wÞÞ¢%ç‚Ïõ1îã:ÖUVJ–)I/LHøÜøsÑvÖz¯=óï™íz|Ûû[$ €|@CYhZ¬sZ'Zb¬f,º›V˜f®aîhîø2íåݘ»Õ[È,ÊÔUÔj9Ô\Ã\SA363öÐãCI¹I˯/?=åôûÎ{òÙÉõÿ¬×WÒÿkò_ÊXÌ Ås¶vo3^´DtpAqyqAY½¡½£™£{{RnRõ2 3;éth>°½Z{9i¹ ¤ cÇÄ=põsýá‹j<)_À_zu饰K}Múî³O˜V@¾ ¡e{´ëQK…K3/i)hÑúÖ×Xa–ý¬¿øQø{N_“¾NNƒL,,+”çÊW?ÄÍßmÛÝm¦ê¦î“ܙƠ¥ÓWÖ¯åE_Y?À%@YV™ˆ.„\¨±Î¾1ûÔåÔ…»ÌtÐìðãåïÆÜ­1_PÎ/w¹äâé3¤Ã]λ¤Ø¸;€ÿàŠð<<<öïß¿k×®®]»Ö§¾››Û©S§:dffÖÔ±AÓòð ýûi×.ª_ד›:E‡º¾ ¤¤xz"<5\Ž+7Ð|àÈŽ#E‡M¾L{éâ™› ŒTFZ´Ö¶–`´Œ:ïçUyªb%Ê&j&áiáÕǚѮû»ö>Ük¥eu|âq59µF  -y‘úâÔ³SI¹IÚŠÚ㺌³3°¾$|c}}"}R Rå¹òfêfºNxrVVJ¶ÎÿE“Œ~¦ý¨¦™ DTRQòÍ…oîÇÝÝiô–a[8lN#E ­ò !!Á××7''§žõccc}}} š4*øÈ×—êÝõK¾¾„®o)ù)£ŽJ+Hcv½^zÝŒº¹Çy“2ð ñ\v}™è*‡ÿoÄÿœ­ß×à´ÓÓø•üZΨÂSùsÌŸµG•V¶âúŠ7ùoTyªö†ö£:]§ðãä—æÇgÇwÑíR}U‚M·6 <ÚU¯ë‘ñG”d•x"€¶É7Æw÷ƒÝåürf÷|ðùuNë¦uŸÆì®ðZq>ø¼hýý~û½çyªÖØZDzĆ6Ô~Æ^F½¾ïó}íu‚’‚\.ºä—æë*éö7íïhîÈf5ôqf!oBˆèóöŸ‹•–Îò˜˜8¥Û”õNë±fT‡|Á˜0a‚]=@«2aÙÙÕwp4¥ãOŽ«ÿðÅšòša©aôzéuÞäüW]¾"¢Ã‡‰hz÷é½Û÷–bK½Ê~u9ìr^I^- $Ôž/Ðר3ª„œ„„œfûÊ‹+üÄTÝôÞX5ëÿY_Ê/]>`¹Xùã×½zÔY·ó‰I'ž•h³vÝßå`â0¢ã)™{±÷<ž{l¼¹ñóöŸ›¨›äç\¹ $«´ ç M‹ÒŠÒÈôHçÕW·Ê/ͯqµBQš šuFåï/Ü>ûül/£^ÆhÈÕ¾ ´`ƒÏMÍù=狽t8à0¿’?Ùvò†Aud: ÍB¾àÖœT†VÎÐÐõ̓¦‚¦ç Ož4ˆú›õ·3°›zzªÇ¿L¾@Š-e¡a±Öi­°þL»™ù¥ùµ4è>É]tYû«Ïc¢n2ÊzT­eeÁo‚Ïü{Æ/ÞïWŸ_7Ûü!ïì?ÅåÅßx~“œ—||âñêß´´Þä½yôêQZAšÄ§Z@óÔÂòÂÊËË÷íÛ­­­=sæÌþýû ëlÚ´ÉÇÇçÒ¥KÊÊÊb…W¯^UPPm§  ÀÕÕ5>>ÞÜÜü§Ÿ~jß¾=ýý÷ßçÎËÊʲ··_²d‰°êëðùü3gÎܸq#55UMMmÀ€Ó§O—•ŸWöìÙ3æ,zzz³gÏîÓ§ð%@àååuñ⍤$EEÅŽ;Î;WOOZ±ôtš6ÈÝx¼ªÂ„š=›´µéØ1’ªéŸ¥pE€òrÚ·¢£I[›fÎ$‘®§M›ÈLJ.]"‘®¯*¼z•Þi§ €\])>žÌÍé§Ÿ¨}{"¢¿ÿ¦sç(+‹ìíiÉ’ÿÚ©¾~ŸOgÎДšJjj4`MŸNÕºžž=«:‹žÍžM"]OyyÑÅ‹””DŠŠÔ±#ÍK­»ëÃ0ËaL²€ÑÓ¨§²ADz³;¿çüÅWÿxùÇf¬´¬LÔMØ,víOlø-÷õ9×…ë00±ëı'ÆÆdÆnÜ8…Ë—/:thÅŠÂ|Aý­Y³fìØ±£Gæp8û÷ï¿yóæèÑ£_¼x±råÊž={fddlذÁÏÏïÚµk_~ùeõÃW®\ùàÁMMÍeË–YYY½zõjûöí!!! ,ðôôV[·nÝ!C&Mš$++{ãÆƒþøãNNN:tÈÌ̼ëiÍ;–F&‡öï§›7iôhzñ‚V®¤ž=)#ƒ6l ??ºvjêzZ¹’< MMZ¶Œ¬¬èÕ+Ú¾BBhÁézZ·Ž† ¡I“HV–nÜ ƒéÇÉɉ:t ÌL:vŒTThÅ êÔ‰JJ(4”¤Vßõ –&º[XV›+:ŠÒXÍXøm,4%tÚéiééµÜð7ÊúbÞä½!"ÑqõQRQârÑåvôíµNk§wŸ^{åÁïrÞõÃ¥fŸ}|âq]›   K ¢Å, ¨­ -,±7´gî´ù•ü‹a—][&Í‘ža7£ÆÖkýQ•‚ÊÔüTúð”ÄÜÄgfdeÖ'§¼Êq•@ 8öäØÔSSON>‰g™/˜6mÚ¡C‡˜í#FDEEùúú¦¥¥‰þª_³fÍruue¶ ¤««ûäÉ“sçÎW5>MWWwèСþþþÕóGŽ‘••}ðà……S8aÂKKË‹/¦¦¦jkW}Þ >\˜>=z´®®î† Ž;¶yófiii@0mÚ´¥K—2ÆŒ³lÙ²ÊÊ÷ÎŽk=öí£gÏèûï).Žþü“ƧE‹ê>jÚ4zÛõ4bEE‘¯/¥¥Ñv=ÍšEo»ž "]]zò„Σ·]Oºº4t(ùû×/¨¨ #GHV–< ·]O&¥%]¼H©©ô¶ëiøðÿÒ£G“®.mØ@ÇŽÑæÍ$-MM›Fo»žÆŒ¡e˨-t}ÃøDù\¹0¶óX"*./^嵪¨¼èËŽUÝ´íî¶±Ç ÔVЖæH×þ®ë\y]VJ¶¿iæ§ŠÊŠ3ÿž¹òâ ‡Íù ™¥óÎÏ{’ødà SºM©Ï!C-‡V *ºòÓÌ33O<ÞE·KýOûíë¦ß­³ng"JÊMúÅç"úÂø "ŠÍŒ½}klç±ÌÍ3‡ÍÑSÒ#¢€„€÷å ¾~Áá€Ã½Û÷¶Ò²bvsŠs¶ÞÝšœ—l¬füA‹ DgDO?3½¸¼¸þÙäÕWó|÷§îÓÏLÿkÒ_ÌP j¡ù‚É“'‹îvëÖÍ××733óCó&Ln+((˜˜˜¼|ùrÔ¨QÂB"JLL¬~llllAAÁСC…É"RWW7nœ««kpp°““S8{ölÑgÏž½aÆàà`"RRRrqq9|ø0—Ëíׯ_—.]Úµk'#óÁóÓZ$Ο';;úí7²´¤Ã‡ëuÔ»]Oݺ‘¯/ef~p¾@¤ëIALLèåKéz²±!"ª©ë)6– hèPézRW§qãÈÕ•‚ƒém×Ó»]O³gÓ† LD¤¤D..tø0q¹Ô¯uéBíÚQéú†±Ò²ZvmÙßZŠZqYq¥rÒrßôú†yõXà177595CÃ²Š²¨Œ¨ŠÊо&}ki°ë„¥„ð?À“æªr9Ü×9¯™Ç1|Ýãk]%]aµ?ýù î½Ê~ED[ïluõs%¢~`øß½ÿ&*È(\ ¿v-üšè)6Ûü¾a¨_Z}ɯäÿ|íç™3Ý'¹[k[7ä½´):Š:cOŒm¯ÖžËáÆdÆ”óË­´¬¾´ú’ˆòJó¶ÞÙúûÝßuu´µsKrc3c‰¨–Û_p=üúæÛ›Ux*Ê¥¥¯s^—V”²Yì•VŠV[ø÷¬¢,"JÌM$¢™3YÄ"¢ã0ëõ¸\rI+HÓSÒÛz{«èò2òÇ|ßÙ×9­«Tž :9íô4÷IîH£Eæ ÔÔÞ(Åår‰ˆÏ¯mDq¯ªª¾³N¬´´´¢¢¢”Èüyiii"[ QRRR=a ó*CEE¥z…ââªçñìÞ½{ìØ±ÿý÷Ö­[ƒƒƒÕÔÔ¾ûî»Å‹·‰GàJK‡CDÔ®ÉË×U›ˆˆÄþà\.Q­]_ó«ïv=IK“¢â;K'HK‘øR ¦s«u}U‰H×Ó»]_Uám×ÓîÝ4v,ýý7mÝJÁÁ¤¦Fß}G‹S[èúÝiô³nþn©©DÔ^µýïÃo§ÒŽyuù€ågþ=™É|—âr¸ÎÖΫW5]<Ã;ÏŽ¿u32=’)ÑUÒ×cÞ´nÓD«Ådƈs.ÐÈÄID%å%DTPZP}4DQym³TFZàç«?Ï83Ã}’»ð‡)¨ÝškŽý'òf·wûÞÿþ?fL™‰šÉüžó=C<“ó’™%rTyªS»OóÙœ¦‹çë^_8ü4ñiNqÕzIt:ýÜïçÏÛ.ZíYÒ3æ˜ÈlTTV-ÕÄ| #ª}õ_"Zï´ž_É?óïæ¥–¥ íh‘ù‚Ú1÷çéééÿÍ: mܳèêêÑÓ§O+++Ùl¶°<00ˆDp$ú@„'Ož‘¾¾¾°ÄÁÁÁÁÁˆø|¾»»û¬Y³¸\®‹‹KãÜ씕Ѹq”—GcƧ'mÜHkÖ4´Mæþ<=Dºž»ëIW—ˆèéSª¬$‘®§À@"zçAAï<áÉ""‘®'rp "âóÉÝfÍ".—Z}׬.º]NN>i¤j¤£¨3Û~v\VœWÎLÝL4¹6½ûôéݧge%ä$Èqåô•õòÌêú°Ò²Ú;z/óCP~i¾–‚–²Aõjßöþv¼ÍøêåææÌƼóFuU½ h+jŸœ|RIFü œ³µ³…†E^iÕ6¯ªLì:ÑÁÄÁZÇúÏ1¦¤&ç&k+j33J²JKû-ý¹ïÏoòߤ¤©òTõ•õ¥ØMûµyÅ AƒòKó_ç¼®àWªÖ¸”ÀÞÑ{ËøeÕË…é€Î;™”ᓈ¨Ÿi¿““OŠ}`±X¬_ÿêlí\)¨Ì/ÍG¾¨Uæ LMM‰h×®]û÷ïg³Ù¿üòK£ç 455»uë´|ùòM›61+üñÇ>>>:::ÌDÆÆ{÷îmggGDñññL"`РADqùòå™3gjjj‡Ãi×®ùúú¶þ|Á?P` ýñ}ó 9:ÒúõÔ« Ø 6MM‰ˆví¢ýû‰Í¦Š úå—ÆÏhjR·nDË—Ó¦MU+üñùøŽ‰t=mÜH½{“Q||U"`Ð "¢ˆº|™fÎ$MM""‡Úµ#"òõE¾à}Tx*¡žJ²J6zïª&§ö‰—k’‘’Þù×ÈTÝT¸ªBLÔMLÔëx4†¬”ìû»ZicX@}ªª2ÛÚ Ú¢kŠb±XzJz¢y„O@QF±öÉe¶ú¶µ·PŸ5 ´´j\ÅbÕò0hƒØuWii&MšÄãñÜÜÜ {ôè¡££³mÛ6ÑøÆ²mÛ66›ýûï¿ëèè|öÙgººº‹-bÊE'5ôèÑÃÒÒÒÆÆÆÂÂ"$$¤k×®ÌÒ ÙÙÙK—.ÕÑÑ122êÝ»·¥¥¥££#õèÑ ùo-ÀÉ“´?M˜@ ‡Cgζ6Mž\ózõ7iñxäæF††Ô£éèжmÔ]OÛ¶›M¿ÿN::ôÙg¤«[µXã¶mïTö IDATLj00 =ÈÒ’llÈ‚BB¨kת¥²³iéRÒÑ!##êÝ›,-ÉÑ‘ˆ¨Õw=´­0_ ££søðaeeåää䀀)))OOÏN:5ú‰¯\¹bff–••˜ššª§§çîî>mÚ;ó–wïÞíìì\VVæèèèååŬ¹`ii¹téRMMÍׯ_ûùùEDDhhh¬]»vñâÅm3F_M––ÿ=é@G‡<<(;›Æ¯yÉ€zÒѡÇIY™’“) €¤¤ÈÓ“š ëÉÑ‘®\!33ÊÊ¢À@JM%==rw§w»žvï&ggŠˆ à`*+#GGòòªZsÁÒ’–.%MMzýšüü("‚44híZjÝ]-G ›0þü!C†˜™™U/466–Lš4iôèÑ!!!RRRÖÖÖ\.רØxîܹ µ´sàÀÑu ‰HYYùÎ;Â'#2‹2·úŒaÆ 6,:::55UMMÍÒÒRt*5s[[[OOϤ¤¤×¯_ëëë33***[·nݲeKBBBrr²†††‘‘³Èbk&-MW¯’…½í"¢/¾ 'O(;› Ä#dÌŸOC†Ð»]VU(Òõ4iM!!$%EÖÖÄå’±1Íûß¹jlçÀz·ëIY™îÜùïɈÌ"…"]OÆѰaM©©¤¦F––ï¬SÈœÅÖ–<=))‰^¿&}}ézRQ¡­[iËJH ädÒÐ ##jõ]-G ˘˜˜˜˜ˆOñ­±PVVÖÞþ¿ùWVVVVVVµÒ½{w±iié~ýú w™µ uttĪ™™™‰¥ªŸE___tCQ,«]»v¢y„VÎÂâ' Õ>qÀÄ„ªuYÍ…²²$ÒõdeE"]_ó!Õºž¤¥I¤ë«Ö2¬Öõdf&žz¨~}}zO׋EíÚQÛézh9Zá|„¦°cÇ ‹+W®‹d€ÖoDz° +WÈØ˜ÐõÐf _P/‘‘‘QQQÚÚÚ'Nœq­_d$EE‘¶68Aèzh3/¨—Ÿ~ú)88øõë×}úô‘t,ðiýôÓëׄ®€¶¤…­_ )5燶]mÆ€8ä  A £=z$é( ‘!_ ’’riúôé ,ˆ—t,Ðh/€–á^ì=³-fG6¼©¢ò¢_|~黿o‡m̶˜•‘w„÷È£#;ÿ¯³Ù³C5ü,õw!ä‚Ù³7šúDOŸÌ83£ëή]þ×eÒÉIâ4õ>¹×÷ïãóù’šµßïþn¶Å,<-¼áMÅgÇ/¸° Çžf[ÌFED•‚Ê}ö9p´Üfi¶Å,äMHÃÏRK¯-5Ûb–]œÝÔ':|~äÑ‘ÖÛ­ívÛ-ü{a|6îLM—¸»»'&&6lÏž=ååå’ŽòÐæìº·ëÄÓI¹Iüʪ›Š˜Ì—‹./R_—K6¶¦s?îþ”SS¾zXPZPT^˜8ëì,¯—^’Ž  qùyz®6lØ;w$ ´ .]nFÝÌ,Ê–œ >·óÞÎøìøŠÊ Ö¤vÜÛ±üúò©/J+JsŠsnDÜs|L\Vœ¤ãÉëÕ«×¥K—¾ÿþûŒ3&""BÒAC}Øó"##£¢¢ ›(h>ÜÜÜΟ?/é( 1effš››K:Šfá^Ü=EÅóÓÏ«³Yl"zøê!_ÀÿÉá§¹=ær9\IØøÊùå«o¬æWògÛÏþ¦÷7Ç=È}ç½k½×ö5í+'-'éË„µkÍŸ=ûuþüùýû÷_·n¾¾¾¤C‚V+«(+,5¬›~·ýc÷«Ë©3…÷bïÑÉÉ'í í8,ŽDlÑÑ®~®\wãC-‡fgoºµÉ;Âû×›¿DÒÑäq8œ  l|……………Źsçš(h&X,Ö×_½sçNI髯¾’tãÑ«G;ïï O —ãÊ 4¸¤ï595楳ÏÏ®ôZ¹wôÞ!†ë3…ûÇìw²pÚxsã±'Ljèyòs³-fb-<:’Ùˆ^MDà|ðù³Ág#Ò"ø¾±šñÄ®§ØNa±XDt/öÞì³³W9®²Ö±ÞyogXJ˜‰ºÉÅ™k?ŠˆòJòvÜÛáéW’g®aîÒÇ¥iÿ^DD˜HDÎÖ΢…ÎÖÎÞÞ¯ÄÊZ^½z]»vmÿþý›6mº}ûöÖ­[µµµ%4;ýuüÉñ¤Ü$-­¯l¾ZÐkð&ñ•Å—Â.. Tå© ë3…A?)ýŸ½óŽ‹âhãø\î(pôvôb,Š‚ˆ ‚ÁnTDŠJ$5‰è+Q1ö‚‚JÒ¤R¤(½÷*H“~wï«ëyàq Å2ßÜÎÎÎóÛÙÝyö™gxÌošçÖç®?¿~ýùu––‘GÌL™™÷6ܼí}{#éFH^HUk‹Ÿ*1uûìíúòúHåÓOO»=w ² ʬɼýâvis馛~[øû£ÅMŧ¢O%U&1 ]Ýßþ6–WëÉÉ€åËÑn<÷µ%ž©žÉÉË'/ÿô¡ï ·gÏžÙ³gïÞ½{õêÕׯ_—˜hQa3<L,iÕiEÿ…äèîï~ùàEÕ kÿQ¨g0¿þ÷k@vZ’×wôÉÑÜúÜÿ-ùßGz¢þ¢1h:ƒ>äQ=ý=îm@“leÕeÙùÚ-U[:¤ÕSªh¶…A¡ðRžï~þ©½H&*æB5Q5@y LRù6áââúùçŸ ýõ×eË–ýý÷ßóæÍ›hQ/·D·ÿrÿC~WµV=[ÒTrÆų̈jín]ûïÚÂ×…Èfèy^þ<©"ÉÕÌ•Ù]{ýùõ œ ä7Aò¨â¦âUwVµu·!ž?ͨɘ">…½˜ÔªÔµÿ®e_g™ú²óç?µ·¼¥œ ÇE¤2¾{ À¬‡Ìž=ÛßßßÖÖö‡~¸y󦚚ÚD+‚ è/€@ _!y!VS­ìõìEùD³ê²Ž>9šß˜ï–èæ8Ï‘“ÃM Mn1Ào!¿±?Ê%Ê¥­»mÒ§ùN2d™’æ’ÿEüo¾éèé É,Gï(=ðiié‡ÚÙÙmذáŸþ™>}úD+‚ è/€@ _š’š-ý yMѕѽfumÑõE¡ù¡ú 8Çç•‹»¹æ¦(Ÿ(R¢+£{Öü¬é?¦…¨¿@KRë„é ôµiÈ£BóB1Ìå—•)ÊÒ$’óbçÒ7¥ e ìõäïû¬ ÃÎ߆“º!ß D"ÑÕÕUGGÇÙÙ9''çï¿ÿæææžhQ‰g‹î]ä·¹†9Aß´74?”C‡ôÒzƒ²ƒ”)Ê—,/! "h¦nÖÚÝz$ìHJeÊ<…wa/6º6¨ž!ґщ+“¼dy‰Ï ˜,6ùšÕµ…n [ºZØèÑ‘ÖAæÜ.ða//¯»»ûîÝ»7oÞ|ûöm--­‰Váè/€@ _úT}æo2dy!ù±Xé°±F§\10 `€÷ïC5m5hµ¹Ô¹Ìz†<ª¼¥\ŒO q Ì“Ÿ7¤¿à3áçæ´v·2¶õ´øyøÇÔ4ò…°víZ*•ºcÇ›«W¯ L´"Èc oÀ¼‰ŒÛG=¢¾²¥²»¿»¨©Hí´êÂùQU-U4:MWFq ðL—š]4¶‹‰òqóµu·1 æÇß» 7| @> 77÷•+Wìíí·mÛv÷î]UUÕ‰Váè/€@ ߀ÐtæÂîþî4…42hÊ€>Zú›L$à¨ð™ù äåÚRÚha^C@Ž,÷9 ¯ˆÙ³g{{{ÛØØlÞ¼ÙÓÓº Ì Ot Œüøü ÒƒÁ@2ݰÀüh$ Žà¨áòùù äÈr™µ™eoÊä…äÑÂwAø@°Ç_¸paëÖ­[¶lñóóŸhE¡þðäÉkkk*•:ÑZ>â‹öu‘Pœð$û‰õ\kª0u¢µ|Ä+ì '¾,~Áô}®²¥²´¹}AæF ™I,O!EaÅìúì„] ÃúZ2äQrd¹—u/ _2‡Ä–ÆŽ@á°Ð•Ñu{î°VëÃk"’—q¦ì̱¶|9¨ªªzyymذÁÚÚúÖ­[Ðeð=WÇ<õ ¦$ K–E6‘%«Z«Ðµ»úº2ª3†kEz’4ŽkªÄÔû?ÞÅ£:û:qX\JeJObÐÖÝ–^>hýQd¦ìÌÌÚÌÀœÀŸõFJzú{Ùvº2ºcmòµÃÃÃãææfeeeooïÞ=ž‰VìD ˜xœËÊÊ&PCllìÑ£G+**˜ ¿aß E ÎAÎe¯Ë&PClAìÑÀ£Í÷ï ìk$³&ó·ßÊß”wõu¥V¥îðÛÑOïGWODá·Ro%U$u÷wWµVˆ<^>C«4WuõumòÞUÕÜÙÜGë«n­Ž.ŠÞé¿“ÍÜ!2U3e0;ýw&–'vöuVµV ;ÂÉd„ü}ùEŠØüc\˜K+) ™R™r"òÄ›®7í=í—.‡å‡ ©,Áõ@¾^deeïÞ½[__¿}ûöÞÞÞ‰–™0n¦ÜôHñhìhlín Ê :q Àò@9y¢¸©¸»¿;§>ÇÞϾ¾£~¸Vˆ¢™†Ù‹ªŽŽ5mÝm=ý=ÅMž¯|WÞ^ÙKüàG‘$yƒš¶š]v4tõue×go÷ÝÎ>yxŸ¿€ý?6Á«©VX Ö-ÑÍï•_W_WM[Í/A¿ÔwÔëSõ%àjy¡áãã»~ýzyyùáÇ'Z dh`|ÐÓÓ;räÈÄ~Ãuvv666–••E ¿aßzJzGÌP)Ô Ô[ëäl¬a,+ÄÔ¿_€°¯SUSÿ,Ÿ—>h‰¢°¢Ý;ä· Yf±êâ°ü° ÷6 %8 ÎrŠå£¬GÃ5ôÔ’+’}_ùÚúزìZ£¹fÄGmš±)0;0·!w£×F¤ƒÁ,S_œ<\…€#7=þ“ÏO))¨içÅΣ¾%òå#++ëéé¹zõj''§sçÎÁ¾O«.>yâDä ´Äb²q`®a~6ö싪‹o,FJÄøÄôåõG°ÁFäÖçå¡Ë%¢°I8äQ¿-üíEÕ‹è¢h4a™H™Âa¡DQÚ>gû•„+û‚÷í Þ‡Nâ™txûA8ENNÎÕÕÕÖÖvþüùË–-›h9vÀø §§wôèÑ/pXþÅ ûºÐSÔ;ºüèóÿÅ û™!=Ã}•»¦¤&žG(¸jÚ*¯ ^Ì#^—%.«4W‘‰dn<÷t©éwÖß™)3’x{ srÙÉ –æRçNâ™DÀdÈ2‹T]ýáê\ù¹#>ŠÏ}wýÝ Ó7Px)Üxn 1«?\E“c)óæÝ]WªÇËÅK$ueto®¾¹Tmé8˜†@¾@”””.^¼výúõ‰Ö™¶ÏÙ~ÈøUJÀ¤'I;Îs®™´´´˜˜ƒa`` ««ûèÑ£ŒŒŒ}ûö‘HÞò[ZZžNß¾}û7Ð’;wvttxzzîÚµ õxxx8::¶µµ¡Õ üüü( ""âäÉ“ÚÚÚû÷ïÏËËC* GFFjjj¢‡pÒÈ”)SöíÛWZZ øå—_³³³¡¡!:,wwwß»wok뇅Çôõõcbb°ØÁÃ1~ÿý÷S§NÑhïØb0˜­[·^¹r…@  v'OžìääT^þn‘ …âïﯯ¯¸}ûvtt4àæÍ›ÈÞùóç#þaœò*.t}ûí7â˜úwÁÎŽžÏÏ] w¡þxÇŽm]L]£làgïGá£"r"N†žÔ–ÓÞï³?¯î½r>áÈ_"5e˜ú—ƒF¦HMÙ糯ôu)à—E¿˜L6AÒª¢Ãr÷x÷½ö¶v1õ¯’~̾,æýëÿû©ÐShjz ³Uë• W8jw²äd'§ò¦÷ýËGñß鯯¤¸x;:/póÙûþU™o­g=P'††¼Já›””GGÇ~~¸ŒD"ñèÑ£ÖÖÖ111óçÏŸh9ÁsÁ¹sçnܸÃá,--òóó¯\¹"""Â\' `ëÖ­x<~Ù²eêêê===áááqqq›7oþ0§×ÎÎÇÛÚÚòññ…††æääìÚµ+..nXØÛÛsqqmÛ¶MJJjШ‡nÛ¶  «««««‹Ãá^¼xO§Óõ\¾|ÙÅŃÁ˜™™©««—••=zôèŸþ¡P(...hµ;wrqqÙÚÚòððDDDäää¬X±"//OXXxÓ¦Mt:%¾`ĆØ_¥Qç\Ĺq7pXœ¥–¥‚ˆB~]þ•§WDø>îߌ€­ž[ñXü²iËÔ%Ô{úzÂsÂã ã6{lv`êß;vx,Þvž-7_hvhNMή{»âöÇ «û»ö\8®mÛ¤ÈRƒF >‡Ã Zÿ¯¿þøúú®X±)IJJ2008þüÁƒyyy‘B ‰¸¸8Djÿš5küüünݺµwïÞM›6UTTDGGÛØØ ŸcˆýUuÎ<9ƒÅ`#~‰0T5DJ2,/Ü¿þ¿“¸H±ûbgÈ1u͵•~i~yuyhȽ¢ˆbø/áDàÒï2ÍyÚ³âgm]mDΑ”ŽqŠáçùtÿúÿ¸¼á²½!SÿÅã0Ÿèß¿¾;|WLÙK“ Nœ8pÙA^î÷ý;I"n_"µŸÞ¿Æm_šß­„[{Mön𳩢¹":/ÚF߉8øCì¯@† ™L>tèО={,,,à¬göíÛ·xñâÇ›™™M´È Œ­¿ ¼¼¼¦¦ÆÄÄuçqJJ ²Y[[›““£¨¨Â`0” ˆ‡)55êïß¿¸¸¸Œóóókkk8oÄÉɉ³ ªªª°°PWW—ÙYøÔ0¾¢¢¢ªªjîܹè0kÖ¬U«VÝ»w/--ÍÀÀŽØñxüŸþéçç÷ìÙ³½{÷rr%‡eèSW‰C⼩¼¦¥Æd² ê,XhYèRuSÊÞ÷okmNMŽ¢ˆbHVHHS×`°€Ô²Tt¨¿ßt?2 pṌÕóëòk[kˆœ7â´Ø‰³ êMUaC¡.U—ÙYøÔ0¾¢¹¢êMÕ\¥¹è0K~Ö*U÷’î¥U¤(¿¿ì¦ûÑ;‹ÿÓâO¿4¿gEÏöšpÖ¿Ã1ô©«Ä‰! dÙ²e>>>'Nœðóóƒk%@ ÈxB¥RÍÌÌ.^¼¸téRbð2¶þ‚7oÞ€Á¢ë©T*ê/hll:th` ÌIddd˜wñññúúú†Õˆ²²2ÁMMMUUU6u˜ANPAA¥É!ÑÜÜŒ–ÈË”3ÙD]Cl®Ò¨ó¦ó ``†*…Šú ÛÅŇ Ö5LId„>VÎÍè£õ «eQ¶ýÛÑPç¸ß¾(ˆ ¸ì"Š€æ·LýKù¸)òàýõ]Cl®@F̾}û,,,‚ƒƒá.gìííMMMcbb,X0ÑZ ¬Œ­¿@PPPVVÆRÎ\‚ÔÑÐÐ@’·³Àad çàñìNYXXŸŸÏ‰QÔnII Kyqq1€ya‚ÒÒRæt HÂEäðÑ54ž’eMe,åe¯ËXêhHj¬š1X×P9ë_ŽÁãØö/Ÿ0 ¿Žãþå”4¸ìÅæ… J_—2§K@."²G×@ÆuuussóË—//[¶ †@ Èx¢¨¨¨§§w÷î]è/ø[œœœ¤¤dDDDll,º´áÿý‡ddd”••kkkW®\9eÊ´œÁ`±!ŒvvvË–-‹…iº!dœY¿~ýîÝ»kjj$%%'Z ä#Æ<ß¡£££“““‘‘‘¥¥¥¼¼|aaa`` ¨¨hCC:<;uêÔ?ü ­­½páB555ž²²²äääÒÒÒ®®®O%daT?~|Íš5vvvîîîÈú©©© }}}ƒÆ&8p`×®]–––fffjjjåååþþþ}}}û÷ïGsjkkÕÕÕÍÌ̸¹¹###³³³)еµ5²WII °wïÞøøx‰D¥RÑ]Ã54Î8;:ù81²œn)O‘/l( ÌåmhoÀ€÷ý»òÔWÐ>¦½Pm¡š¸§¬©,¹4¹ôuiו.f0‹ IDAT–³þFÇW_ã¶ÆîŽ{¼;²>BjYjBqBŸ[3Xÿ.9°ëÞ.ËË–fÓÌÔÄÕÊ›ÊýÓýûh}ûM÷£9µ­µê‡ÔÍ4͸ñÜ‘¹‘Ù5Ù>еž5²WIT °÷ÁÞøÂx‰J¡¢»†k@ c„ŠŠÊܹsoݺý2Î „††ÚØØL´ÈGŒ‡¿ 77×ÃÃÃÇÇ)±··¯­­õ÷÷GG¹–––wïÞݽ{wXXXXXRˆÅb—,YÂ~ú3£Ò`õêÕÍÍÍNNNÉÉÉÉÉÉH!›>vîÜYUUuúôé      ƒÙºuë±cǘ«]ºté×_ussC6)Š¿¿?2ý`jjª¡¡‘““súôiÀüùóú 844Î8.rÌ­Ëõˆ÷ðyñ¾ ík[kýÓýÑQ®åtË»ÛîîöÚ––ý¾k0Ø%S–°Ÿ>Ą̀4X­³ºùm³ÓC§äÒääÒ÷ý«l0èbŠ€ vV½©:v:(3((óýe×ßzÌòãþ]éׇ¿ºÅ¼ï_>ŠÿNdúÀtŠ©†¤FNMÎé°Ó€ù*óú 84@ ±cíÚµõõõbbb­@¾#ðxüÂ… CBB ¿àKcÌý8ÎÝÝÝÞÞ>&& ¯¯?sæLUUU …‚á#¬[·ÎÒÒ2222??ŸN§S©ÔÙ³g£©ûŒyxxÄÅÅ™[F EEE?§€žžÞ‘#G˜“2nß¾}íÚµaaa¥¥¥“&MÒÖÖž5k›stqq±³³‹ˆˆ¨¯¯Z°`ºŠŠŠJNNN```yy¹””ÔòåËÉd2º—‡‡'%%%88¸¨¨¨§§3P{C^¥Ñ‡Å¹ov·7´)ˆè+éÏ”Ÿ©zP•ÂGá!0õïÌu–Ó-#s#óëòé :U˜:[a6šºÏX؇À#.ð±r c¨€èç4ÐSÒ;b~„J¡¢%Ûço_«»6,;¬ôué$â$m9íYòlû÷»ùv9õmõB¼B Ô Ë1 ¨ˆ©äü™˜XÞT.%(µ\s9™ÄÔ¿ž”?R‚_5õô÷ b coˆÃ«@ ³`Á>>¾àà`øÂ @ ㌩©©]SSúIò%€AÖ¥ã$›àLJe#%%…9ãà¥K—vïÞ½bÅ ??¿aµó•ràÀ“'O¦§§kiiM´NÁ`0{öì9{ö,'•SÊR˜3^Šº´Ûk÷Šé+üì¿þõ=p2ôdúát-™/½Gö÷;úúúŽŽ6””/\¨_º”] >ÿþsàÀÒÒÒû÷ï¢*ÈÈxü˜ÏÁA¬¨¨x¢…@ ¡Ù½[ pñbýˆ[èèè˜1cÆùóçMMMGOd%ö8dÌã .œ:uêôéÓ Bjjê³gÏ{öìÓq`¡ë©ÒS§ËL'à©å©ÏŠžöÃþ…Œ uíuq%quíu ÀØ1gGreò‹ªë´Ö‰ð‰:¼3¼gÉΚ%Ë.fRÝZíûÊw©ÚR%ŠÒÀ½¹ ¹ááŸÚ;vvÙâªüMy@vÀ<…yZ’C¸êè zfMfRER/­×b²…œ ÜÕC¾ôõõýýýÛÛÛ‘Åo˜œúœ´ê´æÎfQ>ѵZkd>hîlÞ>g;²7­:-¾4þ‡©?HO’žX_8É•ÉÏËŸÿ4ë'"8poxAxnCî§öŽ]ö°¨zVöŒù]‚ ÝýÝ e ÙuÙ ÀØ9w'Ãiþ,'ðññihh$%%AÁÅxø fΜ•˜˜ˆlrss»ºº¢Ë%@¾vfÊόʋJ,~ß¿xn×U®èr È(’R™bóÀ¦«¯ ÙÜ6k[BY‚Ûs·E*‹g|}{ý…ø úÐ_Àž œ  ñÖh­toN}Î…ø *"*£î/`o—=,ªÊß”_ˆ¿ÀÏÍÏÞ_àîœÜÜùnu-I-è/€°G__ŸÁ`$''±¯|÷îÝC‡©««6fJJJ<8°ÜÕÕ•9»8F{ñâ’h™N§{zz–C²³³ÃÃÃKKK[[[%$$,X°hÑ¢o~QÉ’þ9ùô$f;E|ÊZ­µ÷3î—4—|ðT¥]ˆ¿0Kvô°çJ•ª–*}‡A÷††û½òÛ8cã¨û ØÛe‹*–w‰AyÓõfðþ„²„îþn¤Än¶ý£ŒŽŽNjjêÕ •••••Õ8¨ˆMww7KáÖ­[YQQQÏŸ?ïííÝ¿¿¦¦&Ë!µµµ!!!yyy ‚‚‚:::+V¬ ‘Hc«~˜Œ‡¿ 222555##£±±QRRÒÄÄDBBbì~!|*oÂ7CäÞÈԲԌʌÆöFI²¤Éd‰IßSÿ~"od,¸¡«¯k©ÚRa,KÀô¨zÜxn ‰2ÑÒ¾2" #&‹MãïŒnão7$/¤¥«EKR«‡Ö“[Ÿ;nv!_/d2YAA!33sHAmmmrrr[[ÛøcáíÛ·hVffºººÐß555æææ­­­h Ng©¿sçN4K4ÂÇõõõ¯]»Æœgê£Öw.îžç‡©?“„EùDk´Ö ¾E‡¼í}›T‘´Q{ã7o·¹³9ª(Šϳ@iAFuÆ›®7ãfú»BEEÅÛÛ›N§*Ó<rœ={ö¸ c!%%…ùf‹`ffƼiaa‘n2ߊ<==?Μ ((èúõë·oß–“û‚¾mŒ‡¿ £££££3>¶¾4Œ'ZÅØ¢CÕÑ¡~¯ý«nl¬þ÷ï—CqS±Eé‚å´d.uî\êÜ ”ô5ÒÔÙô²ö容»¾»GMŽêÊè “„>9 ýÑÐÐ`~ÉûË–-›:uê„ XXX¬^½š¹„9¸ «««££CWW×ÈÈèÎ;ÕÕÕ[hjjš2eб±1•J%‘Hiii·nÝŠ¿víÚ77žÙÅ<>©"éeíKn<÷<…yTA*K#¥Í¥/k_Ö¶ÕòqóiIjMŸ‚îB™&1-¡,!·!—L$›ªšòsóºúº" #ª[«¥ÉÒ‹UpE³Ñ6vDEÓt#åßNëÚ뢋¢ÛzÚ”)Êó_yþSR _†ä…èQõt¤?rÖµ×=È| )©‰6Èb·ÖWWÑRÁ`0äåô¨z/ÎÜì<…y—W\Fæ="pã¹ÏÅ‹/G*œ‰9ãµÁ«ÖgóÀ¦®½)œ,6ùÁƨG€½¶A¹‘Ø-jC"¶ÍÚÆ¦ ª(JŒOl²ØddóáˇGÂŽôÒz‘M-I-s s–CØHá¹–x-±<ÑkÃG¾p¯t¯Ë —=V{ j7³&s»ßöÆŽFt/…—rÞâ<šx‚U€žþžÍÞ›ËßåOÁcñ¿ý¾iÆ&öWaŒŒLccc__‰‰ ¯¯¯çååURRZ³f ºD1sþ‚Oe “ÉW®\A7CCC+++ñxüÔ©S×­[G¡Œát*ž!ç \·ÌÐÐ|yò»W–üƒfçs)--õõõ-((èïï———_¹råXG‡ ¹ž½  럧´´´‚‚Bnn.zÎÌÌ/>E|Šº¨:…—ÒÖÓ–\‘[{9áò¯óEmy${t÷w[Mµ$ >+}–Û{äÉ‘šÖ.׆épX\pnpv}¶w†÷fÍœkcáRÂ%ÆæBQx)ìý½´ÞøÒx‹)ÈæËÚ—CÒè4]ÝiÓš;›ÃòÃ.'\æü2’‰dceãÇyK›Kå…ÞEâÑtßW¾’’úòúƒÚý+ú¯ÆŽFuQõÙr³ñX|Ù›²øÒø‚ÆÄ_À‰*´ï:{;-&[ˆð‰d×e'–'‹8¦*¢ ^B> :^__éÒ%ŸÆTW¯^ “‘‘ç/øT6tÍ*:¾ÿ~tWTT”§§§§§'òœŸŸïìì<°fæÌ™³{÷næ’´´4‡ööv$O¡‘‘ûI¿œðêÕ+Àܹ¦zUVV&''‡……={¶¯¯ûøñãGݸqÃÓÓ©—ðù«öŽ5ë´Öå6äz¥{ÍžÁ<£í~ÆýξÎOQñ[Èo8 nÒEaÅÞþÞgeÏR*SœþsúgÕ?hµƒ¡qÜZ­µ$)¶4¶èu‘s¸³÷﫥ͥåoÊçRç*+ðrñ6t4Ä•Æ]N¸¬+£‹Þ-GÂŽ DäÙ’’VögÄŸYSħhIj½éz”t/ýÞZ­µê¢êœkc¦¦­f ó…eêËØû ÒªÓÞt½Y¨´Ù¼•zË;ÇÅ-R^$C–)n*¾—qÅaÁ^ê|…ù¢|¢>/}ô°,zÑR«R-&[ _û™ívõu‹8ÖÓß3_a¾ŠˆJOOÁë‚¤Š¤æÎfÄ_À‰ªw—ýÉ–°Vk-7žûYÙ³¢×E;|w„Û†ŒŒ)bbbuuu~~~û÷ïgžÛïîî~æÌ 0 Á ÙðxmÚ4ÔñÚÚÚšœœ¬©©yìØ±úúwkUþ÷ß7nÜxûöíž={PÙ? býä+`žÂ¼y ón¦ÜçgN†ÜÓßÃÆ_pýùõ¶î6gç Ú>&ÜJ½u<âx`Nàúéë‘’>Z_ȶ4ŽýÀã>/}R*Sw>n¾‡òsó¿¨~Ñô¶‰€#˜ª™V%UEE1û €º-TB@@3¤-ýgiBY‚UïŸUÿpá¸gl\|cqTQâ/àP »ôv _Àf/ ±<±³¯ ª¼•z‹F§9è; WÕAßaùÍåúŒ«5W?Î{üðåÃ}†û½±%±uíuÌ/|,v›;›å…ä¶ š;›ÑLcœ¨Bèêë Ø€F¨z¤xœˆ<ážìýÏù(TRRâëë+ °}ûv•žžž‚‚‚û÷ï|+ï'Ó2—ÄÄÄøûû_»v Ù¼~ýº¿¿¿ŒŒÌ† {{{ãããïß¿ïèèŠÅbÛÛÛõ803ðEðùó¡O<˜3gŽ››Ûç¼³vtt8;;‹ˆˆØÚÚ²ì:{ö¬©©©‰‰ ‹½wïÞ³gÏvìØQTT´cÇŽéÓ§777_¼x1===::zÁ‚#0¬Ÿ¾ñèHë0?PbŠcJšK>u”kŒ+‘@ôÚà…†€1Œ]v…å‡7£w!Y²¬çZOdv•Íi™Ç²Õ/:z:/ðñ)¶uíu¹ ¹mÝmÒ“¤M”Mî¦ß,Šdö( +ÞZ{ yvØÌ´1v3~˜ùp§ÞN4 a¦ìÌßÿ]ø 8ÔÆŒ¤€ä+ ¨ˆ¨°¯U…ÃàÐùbîIîX Ösçl¹w£¸°ü°þ;‡u­¦Z]M¼W‡6û óø8»³Ý·½o{ú{Vk®>±äZ¡ ±:äD‚(Ÿ¨÷o¤§h šÃ#‡°ü0ßW¾[gne £‹PKKKhh(`Ó¦Mzzzx<¾¬¬,00ðSùe=<<˜C¢ªªªŽ=êêêŠä›OKK;zô(‰DZ¿~½¦¦&WVVÖÍ›7:4{öl$N*99™½¿``,Xeeeee%ò;((ÈÍÍÍÃÃõŒ£Göôô8p€¥üæÍ›“'OÞ»w¯  `llì;wþüóϦ¦&333ccc,{ûöí¤¤$ww÷Ç~>Ð_@¾YÊp\sgóå„Ë ñR¿í{ xUû LWí‡)-¯m¨hèóÒ§¾ý‹Áº'»‡æ‡²4þúíkæÍSV ΃›%;«¸©xÛÌmÈ @^H^R@ täP »õw¾ƒc¢Š¢ˆâ¹9ÈfZU‘@Ü9÷Û“ YfÖš’>|’Rê\ê\éIÒþYþ{çïE¢C¾|ˆÅ`­¦Z}ÊîbÕÅÉ2,TZˆd&" ‘„8W…°\c9󫰵޵[¢ Èx»¯¯Á`XZZ¢#çÅ‹ÛÙÙ \b ˜L›tûöm$ýƒÁðððyôè’MimÒ¤I×®]ËÈÈÐÖÖVUUeñ8 „e‚‚¥¥¥ªªjooïË—/½½½;æââ2²ïêêÚ±cGMM§§çÀ@Ù•+W;v ùm``0{öìW¯^]ºt ])]TTÔÆÆ&##ã ÷Œ€†Ž†¢×E²dÙ˜’˜˜’ôNˆ@V]z#²›m‡¦b!àzrz%M%  È(‡ÁÙùÚ4°´Ïò@Ù6ëóCz’´œ \is)óD =9=ò@á\3œø †$²0r¦ìL$¯ºµº¾£^_^–«.ž*1õUí+d“©«5W_{~íaæCÄ@cÐü³üeɲ3efj—ÂK™!=#©")ª(j¦ÌLä:£žNT¡ØÎ²Eƒûp܃=aùa/ª^@Á8ÃÍÍÝÓÓƒÇãUTT>Œ–[[[···zˆ®î‡luuu¿ÿþû‰'/^Œ” Þmmm¤dÁ‚ZZZ[¶l Ú±càÎ;̱ aY‰VHHÈÔÔtêÔ©$©¸¸øÞ½{•••ööö?ÆáF¸Ê¦««k@@ÀÁƒgΜɲKQQÑÛÛѰ`Á‚üüüäääüÍŒ0gΜ9sædddŒÌ4{†ç/hjjªªªrtt )/ŠˆˆØÑß™™™ˆõû¡¹³™Æ ??pW{χG:ÎG@>Ñ÷Óû‘Í«‰WCóC…HBòâüâ\x. Àxgx£“HX’3!© ¶u· K ŸŸ¿ ª(j.u.šC¡µ»Uœ_ä£Èe˜7‡”ŠÁ`VN[y.î\tQ´±²qsgsda¤U9‰‹Ý={dɲ²8Nâ"M—œn1Åb©ÚRÎU ZˆÅ`¥&I½ªc} „@†2çƒÁlÞ¼ùÁƒaÖ¬Yjjj’’’\\\Cž’’²oß¾7n(++#%UUUÍÍÍBBBÈlt˜ÔÜÜ (..ÖÖÖ2u ÊÊÊ!!!è‹é’%K–/_neexôèQnîagNmooÿé§Ÿ²³³ÝÝÝÑ·jf–-[†þ&‘H²²²ÅÅÅ‹-B ÕÔÔuuuÃ5ýåƒD?U´Tœ=;p/› //`z ì ÞWÐX (¬¨#­#D"ུÞk‰×X*, D䱂@â"ûœkcæóóT´T7¯ÕZ‹l¶õ´X2Î"%èÈœ©2d™Ù²³# #š;›…HBQ…Q¯ß¾þuþ¯hN8»€›knº'¹Ÿ=[øºPœ_|–ì¬õÓ×kJjr¨ …å‚ÕÚͺd¬áææîîî¶µµÝ»w¯££ãÂ… ÕÕÕ°XìéQ7oÞlooonþ!çQff&‡;wî`ºýö÷÷Ћߥ8DgÏãÇÑ|„ .\»v­••Uqqqjjê12ŒãÇ{zz8pÀÚÚz`f‡…ººzrr2ó=Y@@@RRrŒn¿ÃóVUU!—òm“•••••5Ñ* £Ì a´ß0<½´ÞŸfý4p—E‰ÃFž?åÁó„l &½û²Ç`0»ø ó±²±–?½Ÿ9vt ],»rÚÊ•ÓVÒô²æ²èâè_É®Ëv2tâPÕ … £ºµZ€[``M„sðx< ¯¯ïСC¦¦¦Ož<¹~ýz^^™LþñÇ·nÝÊæÏ?33ÓÑÑñÊ•+Ì™´Þ¾} hnnNHHx’¦k¸ù &2TWWŸ•“FÞö¾M©LÑ”Ð|°ézs˭Ͻ–xmüµ}~þ‚ÈÂHºä rãeN‹‹À\¡ÔÕš«Ëe?²Ñµyøò!‹C3´ H»õwïÖßÝKëÍoÈ÷Îð^ygå•7  9Q…RÙR9]j:KD3d‡áù ¬_~&Èg‚Á`öìÙsöì Þ_È×˪U«&ZÂx£'§w?󾜠œÅd æò¼†<$Ž‘0 ‡çÆ}øXw5ñjkwëg&@™¶ÏÌ_Y‰Á`(~Ö–Ö̼òì :Ó¡²¥™,:,©b|bò1%1  _>$ .RþðÕq Ýè¢èy ópXƒUV  QXãûÊñp¢ !0'Ðf¦ m{3õfSgš| ÈðyÔÕÕEÆÏ4íÑ£Gû÷ï'›7oôÀììì;w^¸paÚ´lÇ`0Ó¦MÛ·oßÀ£ŒÖ#Ë_À ’£@$ÙTHUUÕæÍ››ššnݺ5hdDB@‚*Hmìh4U5ežÕÏ`0âËâÙ,jà ƒÁ`0<ÔYÐKëý;îï Ñöùù "‹"•(J²dYdSj’”ŸXBYBREšA&,?Œù3>‡R«.&É2˜©›Å”Ä I?e·¡£¡®½Y"‘ Ç5Ub*™H¾Ÿyß?ËßPÑU(ד®)!!!4í\Ü9óR‘ñáíÛ·È¢òòò¨‡4++kãÆ,IQZ[[7oÞ¼víÚuëÖ±ì’èííuss8S@HèÝDÈä/`¡¶¶ ÿöÛÝÝíààuøðáM›æ¤ Ö IDAT¾ÐÕ`þòͲCoGh~èÞ ½7SnjJhòóð7v4¼.xUûÊcµs´<¦KNUûÊü¦¹±²1àEÕ‹ìºìÏÏ–<2mŸ™¿ ª8jšø4$e4‚µŽupnðùøó å èJ<„¾[r(uµæê§ÅO…*z]´Ew G`cw§ÿNA¢ ¶´¶ Y¦Ö÷¼âyUk•š¨çªˆ¢ÅM‹Åª‹EøDrêsÊ0 ó\Ó°ü°üÆ|ÀËÚ—€€ì€Œš ÀRµ¥œÇ˜@¾7:::mmm7nܰ²²B^(q8ò ›œœ<¨¿ ??ßÎÎîï¿ÿ8ä&“É3gÎLMM---µ²²BÃJ«ªª¼½½g̘nþwww===4Š¡¥¥åäÉ“555òòòC.âÅLQQѦM›ººº<==5559?ð{cÿ‚ýöþöËo.Ÿ#7GQX‘Ï]ÕZ•Y“YÕZ•ýk6;ôŒe¤BQIªHZ}gµŽŒN{O{lIlOÏ„hûÌümÝm)),ál[gm=yb“÷&t%‚èâh!’šË–C©\8.‹Éž©ž‡BÑè4æE‘Ú­i«Yy{¥ªˆª†˜†¿Xkw+€€>q8Q…ÐÐÑ`rÝd¡òB.WBYBáëBA¢ s"d5%@SgàrÂe<øiÖO̳E ŸIgg'//ï©S§¬¬¬ÐôbbbáSNÕöövkkkssóAoÎ&&&.\ Ý»w/úM¾½½ÝßßY• 3ÁãÇyxx,X€Äšõ÷÷{{{áp8´ANèèèøé§ŸRSS7l|™Ï/è/€@ ß,Ò“¤ï¬»³7hoV]VV݇ù5ê¢ê: ú‰å‰…¯ o¦Üà±øc¦Çî¥ß4šqœµ ‹†Ž†¬º,Gƒò’L“˜vÜôø‘°#)•))•)MIÍåËE®T#e#>‘È¢Hðq"ëAí.TZ^’ÂlÍn͉*]›¸Ò¸€ìdÅÿnô;óâO ž {èoè/€| Ä_@§ÓOž——÷ÆœëùæY¤²èoó¿ÃãJãâJãB,;_a>Çéëô1Óc¶>¶iÕiiÕia’ðy‹ó?zýø%h±¥±4%˜ËZǺ¤©Ä;Ãͼ~úúîþn¿W~ÕºFsgªgdQ¤Ÿˆ¡¢!»¢|¢š’š™5™ˆkAWFw÷ÜÝœ«B8jrÔ%ÊÅ+Ý Ù$ ^µºÊüyÀ=ɽ¾£ݼ’ðîC÷Æ¡¿`éìì$‘H7nܸ~ýºŒŒLoooaaaÿüùóÖïêê²±±),,$‰OŸ>eÞåêê*))¹mÛ¶ððð{÷î=xð€J¥òóó766ÖÖÖÒh4¤æ°òdgg»¹¹‰D..®ŠŠ dá;;; ‰ÉG®\¹(++œ‚UÏM!½ûŒ Æ/æ ïÀ<\ÔÓx¼õqZuZV]VW_—8¿¸ªˆªºØ»/rr‚rúÌóÑB$¸@&’ƒl‚¢Š¢ÊšËxæ)Ì“¤3èhæÂA17àåâæý(™ù3~dþ”Ä^Û¨UÅ`0Æê¯š¶JŸª]ÝÞÓ®DQ2T4,h,pÐwPþ0œæD*ƒûÓäÏ܆\~n~eŠ2{»—V\jìhL­J­l©$q‘ä…äçÈÍA×VäDrÙgËͶmW—ßOâ"*²äµ2Q1‘ä‰Ë|v ­­­ [[[??¿ššššš€   ’¿`à!111MMM€††ær4„UEEÅ××÷ĉ±±±¹¹¹H!•J]½z5KÚm±³³swwñâEKK R2eÊ''§¹sç2WKOOG—줤¤ ?Ð,Èô]ôQ†Ì+öUC!QôXBÍ×h­aþæ¬-­í ïÀì5×0_¤²(¡,¡´¹”ΠKO’Ö’ÔBs²<˜ Ñg¶”v¸mxLqL]{¤€äB¥…Üxn}Ô}9h#kµÖ¢O<ƒ¾ƒªˆ*‡ÚFÈÂHA¢ ˃‹Á7=¾núº¤Š$ƒ1Cz†–¤VxA¸ô$itÍ¥ªˆ¨üaôG{O»º¨:s"›v%$}7ù½.zU÷ª¾½^ˆ$4Ub*²Ì$çªË®+­öSXDADM[¿˜‘’‘ÏG“Æ·ÎڊİÀ|vϧ££ƒD"8pÀÛÛ»  ñxrqqYXXüñÇë—••¥§§F y»H$’——×éÓ§ýüüŠŠŠ]d2ÙÒÒròäÉ#PhffV^^QPðn­ ‰Ÿ~úiãÆÌÕŠ‹‹™%åç¿si!gÞß~;::*£L#Ã>ô‚dþ3Ì_ðÍó|“ŒÖßo}}=òñíS())^¸P¿t)»:ñÇÖÇ6¿1?fGÌwbò}2*÷ooï'Ndffb0ƒQ[[ÛÐÐ (((%%…d™B¨­­­¨¨PWW¨««+//Ø@`™žÐÞÞ^^^N§Ó¥¥¥Ñ©³#¦½½½¢¢¢¿¿_FFfÐÖÒÓÓ{{{–Ϙ19—ÌÌL4ã3̵•••555ÈÊah…¬¬¬žžd2Bÿ‹/(Êg®@Žòø1ŸƒƒXQQñ¨´-h ÚÌó3”N-;õ=Ø…pÈîÝb€‹뇬É6eÊ”S§N! 477WVV’H$)))æûÏÛ·o³²²¤¤¤¤¥¥;;;_½|]¤iÓ¦1'èëë+..îêêB¢Æ°Xì GqØÕÞÞ.**:èdÅÅÅH ÊÊÊÈíº¤¤¤±±qÐÆÑûmKKK~~¾œœœ¸ø‡%·***jkkYÎîåË—4múôO¬Èý1úKÃøù.БÖaN1ýÍÛ…@FLqq±²²2·Á`$%%‘Ì,HHH ¡§âââÌ/slàççŸ2…£ôx¶ÆþûØïŽœä,‘‘‘‘a]ÐtàYàñø,$ùêhéjÙ¬³yü3ËN”]ÈxRUUÕ×ׇd ê åååEï6$‰Ã;@@–}¸¹¹ÑEsEQQ‘ý°\AAAAA½2™<ðìdeeeeeY YòìŽ"Ð_@ ß¶³m¿+»Ȉ),,TR‚3V Á& N®Ä¯Î.d›óEí–––®X±‚L&óóó/Y²µÁ`h4Zdd$æ=OŸ>î…åü‡ËÀiöwîäÌ™s—Ÿÿ<‰tN[ûöÅ‹itúG‹tÆÄTš›ûS(—¹¸þ–—¿ñë¯OÛÚzßëìÇ`\--ÕÖ¾]·î?!¡K¼¼çdf~´¸Î8}:EEÅ›û¬¢â W×”ÒÒV Æu×®ÈA…qØ,{mŸ‚Íù¢vKK[W¬xD&_äç?¿d‰/j7>¾ƒq¥Ñ‘‘Œ+òïéÓÊá^XÎO@ œSWW—––¶p!LÀ@ ãÍóçÏyyyGqȨ0æë#899¹ºº¢›ééééé鉉‰÷îÝCJÜÜÜvìØÁ`¼•••9s&22òÙ³gè2›---úúú%%%Èfdd¤‘‘Q^^…BAJìííÝÜÜß%%%NNNiiiCj²YN´ ÷|ÍÍÍÕÕÕÈfhhh|||||<'k ËÐ'øù89Ÿº¦0ÉhHOJL¬¹wÏ )qsËܱ#üý%ee­gΤFFV<{¶ŽD"¼×Ù£¯¯¤¤õ½Î #£yy6Ê»5Eíí#ÜÜÞy:JJZœbÒÒ†^ÜuÈf9Ñ6Üó47wxUW¿›?Z_¿^SSdHÍÃ24ä B dX¼k×.qqq!!¡ 6\ºt pÿþ}À¿ÿþÛ××çææfcc#..ÎÍÍ­¡¡áåå%..Î<î¥P(ººº$IYY®£¡õ¾¾¾kkkaaa11±íÛ·EEoffŠËPµ²³_Ö­û?ƒÃÁáÎ`±®xü™ºº·Ò@hk‹ |ø˜£ @´·¿Ë#P\ÜX¼˜Êl…esPØ7Ë¡¶a/‚––¨¨è‡é*ÖÈH=œ84Äþ!Â94íܹs¦¦¦22¬1_Sh4𝝝¹¹90øŒ`È2æù l’ #ùùh4ÚÀ]½½†=DâGó±‘Ñ´ƒZaÙ;(ì›åPÛ@FœTy¸YŸ“ëöù°Qäç£Ñ±ØÛû!ç%‘øÑÿC¤A™#ê_vÍr¨m #Ι=üþ¢'×í[¢¤©ä`èA«iVVS­FÜHlIìµÄk{æí™)3sµ $³&ódôÉM:›LUMÇÔР4DE=¯xÞÛß»Á~MÉÁs£7ûgù6p„éRÓ×h®áãæg©È‚OYYš òmœ|7íî¡E‡ÔEG¾pæµÄk±%±n+Ýø¹ùGQÛ@¼3¼³]–ºÈ Ê©¡Ð´U/" #³ë³étºçZOnðá\bybh^hUk•0¯ð\ê\3u3ÎB‡pJHHHeeåÆ'ZdÆÖ_ ¤¤ž~\PR"ÔÔ„áᫌGþ„ST$ÂÂJwìÐB ÃÃËGÜ Â´ y¾ hˆA_=2²=‹éïg7¬çÐÐ÷ÆÛ޷ɕɳå>k•Æ·É•ÉÍÍ£¥ ߘïüÄyµæjË)–hakwkreò"•E£hˆC,nZd×g3+´ÚÍ”›'£OöÓßÝjBóC¯%^Kù9eÐÊÈ·MWW×ùóçׯ_/'7Þã1È„PÛV›\™ÜÖ=ÄŠWì)i.I®LF£¬G219¢*¢ŠV¶T&W&wöq:«q´¨i«1÷0g~ˆÐƒ|Péÿ?{÷×DÒ|RH5ÔÐ{©‚H³"`ņ EÅrÜ©œ§žåNñµý°"*DŠ"§€`&Uzï½…N’÷Ãò®y)!Êü?ÜLfgŸ‰¹Ýͳ³3ôž}ÿî üˆ–ø§ú‡f‡^]~õ[D }ÿ Æ7-Z„ …†&š±}ÁÆÆàìì|ýúõªªª††///db¿Õ«Wìììðx¼­­­‡‡GIIIWWWUUUddäîÝ»OŸ>Íæ^V¬X8xðàýû÷ëëëkjjnÞ¼yâĉÿ± Ù_•Jµ¶¶ŽmkkËÌÌ\¿~}ff¦©©)…BA* ¦§§çååõYxr¸;k66*gçèëדªªÚ:¼¼2‘5W¯VØÙiàñX[Û©%%-]]´ªª¶ÈȲݻ_Ÿ>ý‘ͽ¬X¡ 8xðýýûŸëë;jjÚnÞL9q"f„ÁElCöA¥v[[?­hkëÎ̬_¿þßÌÌzSSI ¥7ƒ (È™ž^›—רgáÉáîh²QRx¸þá ÍãH_--±%±eÍeãH¯êÖjeae#‡Ùг«óoÆ¿'_Ÿd†–Íõ×o¯¾ý³ÑσU† ÞÙ³g;;;™×`†~l‹Ô=\ÿp$ƒ ÆHYsYlIlKç¨=::íÝíÔ.ª´Ásþä—¬šs¨sàç@^"¯£©ãíÕ·¯-¿¶Rså·Ïn@߯œœœ_~ùe¼6¶ã ôôôœœœ.\¸°sçÎ;w¢åk×®]¶l@YYùÆ[·ní³íØÜ‹¡¡á¶mÛÜÝÝíììÐÂ5kÖx{{䘯ˆmÈþ"ÌÌÌòòò Ñd¶BÄœ9s?~ŒŽxûömŸ%ØÜÑXÓÓ£89é_¸¿sgØÎaLa¨-[¦PV¸qc¾ƒÃ«­[Cúl{໣Á Å·mÓtwOµ³{‰®Y£æíÉÁñõ ¯¯ˆmÈþ"Ì̤òò ¿¬CÁÃÃÌVˆ˜3GæñãL%%wäåÛ·kú,‘ÀæŽ&n·¡ŒáÐõ&½€Í¢<¢€c¯Ž X¡‡ÞsòõIÀ™…g–Oíˆx–¬3v|«!hùðáÃ.]º$((8Þ±@߈8Ÿ¸8ŸøxG1ÑIòKÆ:ÆòsòüRý¬“U“åõÉ‹ÄAòÙè£$Ü{‰b©j9ARÐÄ×ÑÑqöìÙE‹}Ë!ÒаŒùüçÏŸ×ÒÒº~ýzZZFSUUµ··gNáoÛ¶M[[ûâÅ‹555"""ÊÊÊkÖ¬±µµe/nnnJJJ·nÝ*))‘’’rppÐ××÷ööIð_Ûý Þ¹sgïÞ½ááát:ÝÄÄäÌ™3ÚÚ_0¾téROOÏ›7o{PŸ}çÏÏÖÒ¹~=)-­–Fc¨ª ØÛkîÚ¥‹VضMS[[äâÅøˆˆÒšš6.ee5kTmm§°¿77 %%[·RJJZ¤¤xtôõ)ÞÞ™œ# þ+b²¿AAÎ;wÖîÝû6<¼„Ng˜˜Hž93S[[­péÒœžú›7Å ƒM7ÀÎŽ&›ç/ˆ-‰ý÷ó¿%%AS\s­ÎZanaæ­‚³‚ƒ3ƒ›;›•…•7éo°å‚ú¿T¿ìšìz¼ ü*ÍUê”Þ›Nè4z’zž žU\.seó¥S–"Rúô¨¬©ŒÂKY¥µJ_J©pêõ©Wٯίœ‘òÊ”#æ_üʫ˻Ÿp¿¨¡H˜[x¥æÊ> 7$N<''~ˆ -ÿTÀ&ýMh²O(›®^½Z__ÿÇŒw РF?_@¥Rû”ØÙÙ1ßùïÏÀÀÀËËkÀ·899ûÿ`î_ˆÅb8À|ÛßÑÑ0uêÔc³YÖ± fÈþŸ?>Ø»bbbÈŠ‰Ì†õÁ²ßÁá¢R톆ƀ•b^^_‡qrâŒß‡,Äb1Lg¾íïèø0uê—_†Ì±Ù,ëØ3dŠŠäçÏ]?VLŒÛÇgiŸÂa}°ìwðGÒþ‚S¯OyÄy /_ç¾¾wç–Í-=I=¤äÀ‹è-‘ˆü¿T¿µ:kû4ûèÓ#çWÎ4 ­ö ñÁI«“«´VÿMC )®y<ôx5µw­Ê Ì °œ0k SÖ\–Q(m*-m*íÓx][ݲ»ËÐò¬´Ê´cÇXts£×F}€iVQdùúŠë,* éSÙ'€¥ªeaCá¸;E EÊ|•ùæÊ_? }h4Úž={zzzNž<9Þ±@ßTŸù Ú»Û·xo‰/G+¼Èxq?á¾ç:O!.!@KgËú‡ë‘£=àMî›—™/eÉÿ7ÛA?ðâÀÓ´§hÉ›Ü7÷îÝ[{Oƒ¢þ7 APfÐ?‘ÿtÓº‘:¾)¾GçÝ8m# ³&9_ ;bSs1âb{w;òòYú3k—j ë#2·ëÏÁHÖh·énÖuXCN(*Q…Q>)>MMrr«´VM¡ ã¶4iåä主»9r}(š€¾Åú߀»»{mm­µµµœœ\yyù½{÷®_¿ÎËËkaa1Þ¡A£ÀÝ=µ¶¶ÍÚZINŽ¿¼œzï^úõëŸxy rã4n^e¿òˆóÀcñ›ô7M—™ÞÒÑâ›êS³ëé®·o‰xâËÌ—~©~$’½½¶„v}[½g‚§ûGwæF˽:ÆEàZ¯»^[\›€#¤U¦Ý‰¿ógÈŸ3dgHñK!ÕîÅß“”ßc¶G„[$½*ýÖÇ[A™A¾ ¾6Z6Ë4–ñy‡·Ñ¶Y¦Ñ÷i ÷îÊÂʧœ¢ðRÒ+Ó¯G]øéáŽ;$ø$ëWlI,ë|AŸ_¡²¥ÐÙÓi}Ǻµ«)ôKõ³Ö°>¿øüX€ qQZZZTTdbbÂ\xâĉ?>xð€Lž¼SÉB€óáçãK㹚ñ“¢bYsÙ­˜[Y5Yÿ‰ägχŸÏ¨Îçßa¸Cš,_Ÿïí–Qõ¿êoÆÜ|šöTš,m«k«(¤ØEëŠ,ŒôNòÞû|oð¶`,¦÷ ÊËï/ÏT˜¹dÊ"ž‘áì}"섉œ‰‚ÂÁ9==}’}þšÿ2ß!ç—U±Ï¾;;Wi®•ª7;,'ìIò“sïαÈ së°î¸ë CBN( ¥ §ÞœBnJE€ˆ‰ŽY[¯»~„C?¶®®®}ûöihh¬_¿*Ú’/hll¼r劎ŽëÍ¡AóIö!â‰Þ¼åå‘ÂEj‹æßœšZÛZ+À%ð4õ)7Û×ΗÂCÌVœ=[aö"Eh# Ã#ÎC„GäÙægÈÿKUK~N~×hפò$ô,3Wi.:FÌBÅB”GÔ%ÒÅ?Íÿ÷Y¿«SÔ‘<õÊô!Ô2e§žF)¬/Œ-‰­k«CF@ô§*¢úpýÃßB ¶-ûºh]8,îÜ»sK¦,±P±ÀÌëÜ×þ©þΡÎF²Fèç Mr £ÿ݈ãÇøûûc±c;?4B?H¾`ûöíÏŸ?ÏÏÏÇápºººNNNK–,︠ѱ}»Vccçóç¹ùùM8FW—â䤿d‰âxǧÌêLÉZÃ-Á`0kuÖFEgTe,T[˜U“E&‘Ñd€€#,²ôŸÈÐ’äŠdwùýeƒÁ` ‡ÖÈ«ËC«-T[ˆ$ ÈЃ¬š¬!ƒ´Rµb~üuªØT@C[‹M¦K³;èWãâàPx(Ö?B›£4GYDyOÀžÀŒ@˜/€~<çÏŸÏÈÈÀ`0ÇŽ»téàÉ“'§NÚ·oŸ¥¥åxG³â†â¶î¶Y ³˜Ü’Iäj }z”Y)É/ÙÖÝf¥j…$  B Ó¤¦Åõ®ÖTÚTZßV/È%¸ûÙnÀtBA–ïÍ«ÍCóÈÃn¨UZ«\"]2«3‡Œs©Æÿ=ɨ!¦[ÛØÞ8Øo~^"ï7˜$˜‹ƒ«¶µvÉÔ%çŸGJ,U-‰x¢×'¯—™/wïd½940Œß~ûÍÉÉIJJ - ðöö¾rå ºœ<4aý ù~~þ'NŒ| ű6*3LBüüÄ'LOœ0ï@†ðÃÏ 0¡tötòùú¤«‘»:=€Žž2gß1ÆdÒÿ•´uµÑ´¨Â¨þíwtw 3EÛ)o.2Hô.‚ËY¿õ æ/"KLäM˜sHb¥¤±d$-CÐîîÞû R`` ……EccãÑ£G·oß¾}ûöñ šSFŸ³øß¼‹Ö…œúOàÇ|ŠAžíªo«ø„Ò3è Ù/s…Áô‰€#Xœ/¾ÍüRd©âÆâ¹Js™ ç)ÍóúäÕNhròôô ,..~òä ‡ÄÇÇ>|xÛ¶mVVVã4´$_AÐd#Ê#š[—[E­b¾á“Z™  ðR uíÌ×XH”8Ÿx­Ëm¥‹ëÓ¾ ×—•ÕÒ+Ó™ßjíjͯËG—!À `´Rß`þmqm@]ksamk-€›À=ÂÆ!hB©­­urrÂb±t:€Á`öïßßÑÑáäääàà0ÞÑAr0O«L£3èè,àç QQ䜒^õ'Æ\"Æ+†Á`´ÄµöÏÞßr‚rèßé•éÌϤV¤ÐÙ(žP¾ÍüÚâÚQ…Q}N(5Ôð¿±lÐ$———wæÌ@jjêµk×?þ¼}ûö™3gþþ;¼Çö}€ù‚¾Kfòf9µ9ûÿÝÙú²IWçㆼ…ü7·6÷—œ_|ž‡ÈÊ H`nÄBÅÂ%Ò%8+Øi–: ¥³åiÚSæë¹ÐœP¿T?dÇöîöÃA‡ÛºÛMé}r¹$*n,•~}ƒù ŒäŒDyDCsB_e¿²P±´t¶8‡:ƒoò4}3t:ÝÑÑ‘J¥"ɃÁèîîVQQÉ%È%¨AÑH¯J?÷îœÓ,'<Ï`0<<# "ExDÔ)ê8 N]TýsÕçkQ×~6ú‹ÁöÐ{ξ=Ë< ‹L"O—ž__P_°Rs%z .m*}œôxšÔ4´æµ¨kz’zšâš€²¦²ã¡ÇÁÿN[.Bï Å@Ú`„ýú6ó,ÕXêãêíj,g¬(¤(l(¼u À FÛ»w/rUC§Ó¯\¹"##sæÌ™©S§^ºt kM|0_AÐwi»áö矟(ü`vÍLAHÚI-i*a06Ú6*"*€m†ÛüSýÃrÂŒ¯+)Ô·Õ—7—O¡Lù\õmd›á¶ÐœÐGŸ=I~"'(ÇKä­¡ÖT´TÐè4Õ_VjTU?ðâÀÅð‹¢¼¢õÔN*:¢¼<‰ƒäŸêŸV™† O}dûè«û5ò ¬ëQ×# "… …€¿ßþíí Ø3sÒ8ƒûÓüÏÝÏvÿâÿ‹¿”—@~]~kW«I`ÇŒ#Ü;MW¯^G“ˆžžžììì§OŸ._>誷Ðds`ÎÍÞ›o}¼å“â#C–)o.G†\˜}‡Áœf9m÷Ý~)â’g¼§$¿dqcqKg‹ªˆ*óD6Gç]ó`Í‘à#§ßœ–!` eÍeH;»Mvã±½—Üb¼b+=WÊ Êp„¼º¼nZ·º¨ú"õÞ4²òâ‘à#râ9§P¦1?òu•ù v=Ý…LÁ€<\°Ù{32Âm•ò€†²°²­®íƒÄ Ý* +b&¯.¯‡Þ£'©7_eþ÷}ï.]º”••E£õŽšÄ`0'Nœ˜2eŠ««+‘Hd½-4qÀé(!ú.‰ðˆxÙzM—žÞÑÓñ¹êsqc1'žÓÁÈá„Uï<&Šç:Oeaå¶î¶´Ê´jjõƒ-õ627ÂÅÁåµÞËVÏ–Ç‘[›û©ìSiS)/‘w³þf 1 ´Úò©Ëw™ìjhoH­H¥vRåäî­½'C–AÞåÄsš{ˆˆ'f×dÇ–Ä9þs¬åÕå!aTS«Y5YÈKäš±@mÁ…%DxDJ›JS+R[»Zõ$õ¼l½ÄxÅÆ/pMqqqW¯^í“,@=z´¼|è)H IÂXÎøæª›²²í))µ­µ¢<¢–\@×ß™­8ûÂâ d¹®­.¥"…ΠŸ]t–ù4PQñ³ó›­8»½»=£*#¹"¹¶µVN@nÿìýÌãÂþ4ÿÓ\Ù<¿.?³:³›Öm,gì±Ú­ /¥¿Rse½'¥"%¶$–9Á=.>•}BÎ íÝ퀸’8äe½­óçü?šñOÈ®ÉΪÉb†µ†õíÕ·™î€&¡ÄÄÄ›7o¢ÉN§R©\\\\\ðY•ï fXHÙØØ|||Æ,hBÀ`0{öìA&‘†~£õÿoUU•JeQAIIÑÅ¥jáBVu¾BkWkZeš$¿$²Üª†ZSÚTJÀ”„”˜'ðCåÕåQ»¨²dY2‰\C­É¯ÏWVfžžÐMëΫËkïnã£ðRЫœˆüû'ö‡çÞb°¥¹£¹ ¾€‹À¥$¤ÔY ¶î¶¼Ú¼öžvƒa(cØØÞ˜U“%+ Ëü )””cžsaÔåÕå!w´úèßk†|8’ü’c}3ÈñgÆŒâ 4662_ª2Ãb±†††žžžýÿ_†&Ž—/y)¹¹yCW¦ŠæŠâÆbuQõ>³5Õ¶Ö’IdA…þßzOVMƒÁPVâÄs"ÛiRÓбˆ–Ζ¢†":ƒ.Å/Å|Ô=÷îœ[Œ[ } º¨zµª¼©œÂKpyݺ¶ºâ†â.Z'Ÿº¨zIcIys¹¦¸&óŒH¡–¸óò=£îSÙ'd Þ>ú÷º½»=¯.Æ )*ôŸš v瑩\©´··/X° ¢¢¢ÿAƒÁœ:u ¹(…ÆË°–¥€Ï#@ô}à&p8´R„G„õŒMÈ•¬+sà8ÔDÕXÀÇɧ-¡=Ø»\\Èó¨2‰Ü?Ú G¢"s—YÀaqȳô#a0NNNMMM& 888º»»1Lgggaa¡¼<\~2ççï_.+ ++ ;ØVx,y^1ØÁ–—È‹¬žË…‡Â"K+Ä%Ä<³€4YZš,ݧ΀…£NWR—Íš$Ò½†&cÇŽUVVxf0ÇŽÓÓÓƒ+)~/†—/ˆ‰‰)--…ÉøÉàòåË—/_ï( QƼò-AÐéíÛ‘‘‘ÌÃ'q8ƒÁ Óé eΜ9&&&&&&||}×I… ‚F.,,ÌÏÏE…ÎÎν{÷úúú„oôÕ†—/PVV&‘H‹-£h  âòåËìÀh¼F×%eå1µA4Ä>~’Á``0,K£ÑÈdò¬Y³LMMMLLDEEÇ;<‚ YmmíþýûÑUlQè1YZZÚÒÒrΜ9p}„ïÅðòBBBBBBð±öÞåË—0`õx.¡‘.œ4éh‰k=\ÿÅðT‚&Ž––VÓé4"‘hhhhfffbb¢¢º&„µ:kg*Ì„'èÇvàÀ¶¶64Y€Çãi4ƒÑÒÒš?¾¹¹9| á»ç/€ Ô·™q‚ Qáã〣ã´_~QÃãá4±|› h•”ÜIK àñøžž>>>ssó¹sçšššòððŒwtÐW‚gS‚ ‚~ööö§N)*)Uáñ£¼> AÄZ[[~FÆ€²²òüùóçÍ›§©©‰ÅÂe5¿{0_AAA}½Š ?5µÓ®®ÓÄÅX|ú~Á|AAAôõ÷ÄÅ«Æ;h”Á!"AAAõ5©óÞÞÞ³gÏNJJb³þÍ›7gÏž››;¦QAAAAи›Ôù‚’’’ðððÆÆF6ëçç燇‡S©p%‚ ‚ ‚ è7©ç/X³f¾¾¾ŽŽÎxAAAAˤ_ --={öl2™<Þ@}—üRý”Î(gw Cˆ/ßôx“Î%­ Z뮋,ˆdg«²¦²û ÷7{oV?§®tF)"?b¬ã„ š´ö¿Ø¯tF©¡½a¼‚oŠïÒ;K5Îkèÿ£¿ë鮢†¢ñŽ‚ÆÖ¤_àíí}ãÆË—/£C h4Úãǃƒƒ«ªªçÎkggÇÉÉÙgÃOŸ>¹ººIHHØÛÛ›šš~óØ!‚ ¶¼/x¿ÍgNC^Æ•Ämy²ÅÅÚeÚÖ®ô\YÛZ;öBA߇‹¯G]Gþîìé Î Ž.Šöµó•”ßÀ hìLê|AŸù Z[[­¬¬"#¿Üwòöö¾zõjXX˜¨¨(ZtìØ±®®.äå;w®\¹²k×®o9AÄŽnZ÷‘à#4:ÍÞÀþgãŸqÜýÄû—".ýò×,ÅY\\,¶•ä“´Rµš§’òŸ°ÿx¬öïè h¬Lêçú8tèPdd¤ˆˆÈùóç_¼xqíÚ5yyùÔÔTæjGµ´´|ôè‘¿¿ÿŽ;0ÌÞ½{³²²Æ+l‚ h0 ?”5•HšwH€$ÀÇÉ·Óx§¥ªeC{Chv(ëmý6ù³8f&oÆãø6ÑBA–_ªAÿÉè§š+H$ >‰‹K.Šòˆ¾/x_ÙR9ÞÑAÐX™Ôã ˜õôôxxxprrFFFª¨¨ …kÖ¬QSS{öìYUU…BA /^ìïïü½|ùrqqqggç»wïž>}z|B‡ É!"?Âþ‰ýáy‡u%uϾ=›Z™JÄç(Î9<ï0™Ô; É“ä'‡‚]]~ÕJÕ Ý)¼±âÆ|•ùÌí¨‹ª_ˆ¸YÉÏÉ¿Aoƒƒ‘À3Áó~Âý²¦2)²Ô^³½ÌCÖãJâ¼’¼’Ê’*Z*x<º’º?ÍøišÔ4v‚g0þiþ¾)¾™Õ™4:MQXq­ÎÚUZ«pªˆê¥÷—2ª2¸\æÊæ¿Ïú]Ký~ð£tôtÜŒ¹ù"ãEIc OÐÓÜ1c‡™¼Z¡¹£ùbÄÅìæŽfeaeGSÇ{ê›âû$åIVuA“”_«³ÖV׃ÁhtÚÃOýRüJšJ †¬€ìR¥ëtÖ‘8Hì|Œ_!®$`­aÍ\h­a’[Û§‚ IâÜ»sn1nöU·>Þ*j(æ^¥µj—É.,¦÷^šS S@z@ܯq$tC¤0qO"'s;‰¥‰÷î•5•É È9Írš«4·½»ý|øù Ì ÆöF-q­£óªSÔ‘FºiÝÁYÁ~©~Ù5Ùõmõ¢<¢&ò&Ž&Žâ|âìßÖÝæþÑ=$+¤¸±˜Ï©!¦±Ýp»‰œ s< ¥ ÷âï•5•‰òˆÚhÛ89à08öû5ÂPÑ\qåÕˆüˆÚÖZ2‰l$k´Ëd—¢"Z!¯.ïìÛ³K>2 iƒƒsößWkWë­·‚2ƒJ›JñX¼¦¸¦Ã SùÞ§€ÚnÆÜ Í­¢Vq¸•„•6èm°T±DN7c!¶8°tÊR´„ˆ'.P[p/þ^lqìR¥ƒo Aß1˜/蕟ŸO¥R,X€& BBB«V­ruuMII™?¿÷ŠÜÞÞžyC{{{ggç”””o.MV©•©çÞë¢uÚ»ÛŸ¦=-m*õ²õn;IåIgÞœ¡1hH;çÃÏñÄšÖš›17‘ ùuù¿ü*'(§.ª¨¡Ö¬{¸ݼ¡½áMî›ð¼ðëH°ÞƒÁØó|Ï‹Œ_zQ‘šZ‘*Å/…\áËϼ=ƒ[ß:¼%≀ì½Ï÷¢›—7—û$û„ç…¿Øú‚ù7ü€Û×X˺_‹ÔýcýÏ`ï5p99æÂÞ œõúqÁ|A¯ŽŽ€  `Ÿr¤yÑg=¤B{{û˜‡AÏÓŸ¯×]¿uúV /%½2}ïó½q%qUè}6½Èx±Å`ËfýÍ‚\‚áùá{ö¸DºÐôÓ OÏSš‡Å`oD߸{Û#ÖãÜâs c*oj7Ín eŠ0·pSGSlqìþû]£]‡Ìø¦ú¾ÈxA&‘f:ÍVœM&‘sks½’¼˜G¹e­Ô\ù‹ñ/¢<¢i•iÇ^˪Ér‹vÛ;s/‹–‡…õGw?ñ~Bi‚ŸÄ1‹cÓ¥§·t¶ø¤ø\ýpõäë“ó•ç‹ðˆx&xfTg()›LGR§¾­þVÌ­‡Ÿ2ï" = =@UDuÿœýÚâÚD<1­2íxØqïdïUZ«t%uC³CI¤ó‹ÏËã±øÂú€Ï\„QˉôGí¢ø9ù™ ‘—--c·_‚&¾çéÏÿšÿ—•ª7;,'lÿ¿ûï'Üw4qî êWÙ¯NX°P±Àb°î±î®Ñ®Û|¶‘Iä»kîêJê6´7 :Uø9p•Ö*G°Ñ¶Y¥¹JQH‘›À]E­z–öìòûË>É>;fì`½¯ÿ„ý'¯.OUDõ÷Y¿kKhc1Ø´Ê´›oÿ‹:8+øÐ¼C‹ÕñĈüçPç€ô€•š+匿êsëîxèñº¶:iƒÃó+ )–5•]z)$+äPС@û@Àé7§›;šç(ÍÙ7kŸ4Y:¿>ÿdØÉ>+לy{&§6ÇRÕÒa†ƒ’°RgOgdaäÑ£ÇC[¨X´t¶¤T¤( )ž]tVED¥³§3§6ç^ü=æ1£ŽÚI%“È}¾½'”NxB~X0_ÐK\\@§Ó±Ø/Çš¸¸8€„„Z’˜˜È¼ B||<@RRòÛÅ A“˜©¼éqËãÈßÓ¤¦í˜±ãØ«c™5™ÃÍÌT˜yxÞaäo+U+sesäËFË)Ü?{ÿ“ä'¹u¹ÈKanáßgýîãv$øH]k20U3ôÜ%þ©þ€¬ÿAGhŠk"÷XPÚÚgžA®B ¤ \WºÎ¿9?8+xó¬?º—/.Ë\t$tNzŒ ³,j,¢ðPdj¦üLæ|ANMN3»n`0 Àÿ»–*o.ž{xçÓs]çšÉ›©SÔu%t§P¦Œbûã%òš:š˜ ›;›¼œ¼€†öƒ¾ü»“Iäø_ãÇ4$‚&CCæ—22àëN(2_N(X VœW¼½»I $ù%è Åý£û™·gú·ÓÙÓÉzG¥¥]´®YÒ³ÐdÁ€˜çÌT˜ F{À<‹®´©”Æ H Ƀ3“7Ë©Í)j(ê¦uÓè4i$Y€àãäÓ•Ô}›ûyYÒXÒÑÓ‘[—«vN tB!à§œúëÕ_Y5Y†2†j¢jÓ¥§#ŸóØá!ò4w43 æóuï …È;¦»† qó_œ={ÖÂÂâܹs·oßVTT,..®ªªBÊñø/””””¡¡¡²²2‘HÌÌÌìêêÒÑÑY³fÍøA“óå0€)»¼DïÕ üIß· fÀÆéôÞ¦\£]»iÝŽ¦ŽË¦.£ðP8ƒ±¸eQßV?±ƒý~±Àú£CKF‰pÀéT‹:E=ô§ÐÄÒĄ҄¸â8—÷.\ÿXÿ£*¢:X›#œ¿@V@]“­'©‡fVgdɲCw ‚ ''ó˾'ÌןP<Å -Óè´ëÑ×yˆ<ÎÎF²F‚\‚x,¾†ZctՈͰ‡{¬Fê£?qÙï ¬?º‘CÂc0èh>fÈ e©ÆÒyÊ󢋢S+R_f¾ü+䯲3.-¹Äœ§`6òù dɲÉÉ… …ò‚òhaï EžP Ì|1oÞ¼ÀÀÀ_ý577·¾¾ !!ñ÷ßoذ¹Ú?ÿüséÒ¥§OŸ¢[=xð€@ ŒCÄý?!n!@Ic satQôÈ[.i,æf^ ¸±¸°¾pÈ©¤ŠBŠq%qQ…Q,Æ‚FFî1Ûƒ^Ï•4–Ô ×c×/”¬€lRyRry22¶ñ.ïøße,Y6¥2%§6‡yˆADAs#ŠBŠéUéQ»¢XÜiÁapè¨Ñöîöù7ç|yГÿ(ö…™´[Œ[@z:Z€ÌL†Ü ŒÅU‚¾wB\B€Ò¦Rä@{w{RYÒ›mîlnîh^¤¾ˆy}–>ÇÒÁH‘¥8BlIl][Uï Þ3ŸnÂóÃ2däåõëKüR8 .¾4žÚIEºÓè´ÈÂH€¬€,…—‚ÃââJâ:{:ÑÄJsGó§²OÌpMqMï Þ,öÅMà6W67W6dÕd-º½èZÔµsŒV_ú˜.3=¹"ùùççèÌŽ=ÈÃzCÎdA߯I/@&)dþ©¿páÂ… æææVUU ª©©18Ú±c‡•••®®®¿¿YYYqq±¤¤¤ŒŒÌ8„AÐ@Ÿ²wãï"Ï4Ö¶ÖzÆ{†f‡Ž¼e >‰ÜºÜû ÷—M]H(M8ùúdŸ«g‰Å IDATû3ƒY¡¹"®$nÏó=N³œf)ÌâçäÏ«Ëóúäe=Õ},"¹<ù`ÐÁŸ~åM¯J?öêX½]=qìú…Z¨¾0©<é×€_YÓ—Ò§vQ}S|'=&àó”æ¬Ô¬’+’w>Ýélá¬-¡ÌwÈü0ÀFÛ&þE¼Ýc»Ý&»u$tx‰¼ÕÔêìšlßT_[][c9c›û6˧.Ÿ.=]Š,ÕMëŽ*Œjlod}_k„ó˜È™HðIÄ•Äz}êgãŸñX¼g‚gHVˆI`Èu(!šÌï©×§N-8%É/™_—îݹ*jÕ›%s’I¤…" "õ¥õ[:ZBsBÿ~û7;Ûrâ9¨-HØì½ù÷Y¿k‰ka1ØÔŠÔ[oy¬öÀa{×G¸wG„Gd‰úž‘ñŸ°ÿúœPF½_(i–â¬7¹oüÎ=¨ ¨PÞ\~ùýåìšluQuäμ™¼Ù»¼w»žíbžï¼idñ”Åþ©þ{Ÿïݤ¿IAPˆ'–6•&•'y}òzdû(³:Ó%ÒÅFËFCLƒÂCilo|•õ ôK¬3ùü+5WÞŽ½íí&Í/½@mAC{ÃÉ×'«¨Ufòfl®… AߣI/@æ2ëS®¤¤¤¤¤Ô¿¾‚‚‚‚‚ò·¤¤$œã‚&i²´¥ªeHVˆí#[¤‡Á-›ºìYÚ³¶¼Nw]x~¸s¨³s¨3R2…2EED¥šZ=ä¶+5W†ç…g:Ì\¾PýËb„VªVOÓžú¦ø¢%ŠBŠ?ý4ÖýBmÔÛœœX–¸Ígsùó#"<"»ivÏÓŸgTglôê]ûƒÁ,R_ļN䊩+b‹cýRývøöâ{ö@ze:ó¤Þ·tÆðy.Ç «Û}·{ÄyxÄy ‘;[:¹V%² 9úÒþIïüaW—_E¯¼!úQ-™²äRÄ¥„ÒË[–H …‡b*oÚgÿáÂ`0kuÖÞ‰»³Ù{3Z¸|êò§iOÙÙüˆù‘”Š”ŒªŒ­O¶þ»_þ´Tµ<õúÔ©×§Ðk ktÄÁõ‹ÙŸæ&—'ÇÅXßù2†‚‹ƒëÔ‚ÞÎ=˜Pšð6÷-:a™DîÃáy‡3ª2?~ìÓ>ƒÁ 3èïòÞ!ƒàP fÉ”%£Õ‹þ”„•Œ®G]ßÿbÿþû‘B~Nþ¿æÿ5v;… q7†‹ŽLd/^TQQ ”—————z‚¾§œ¶Ñ¶!“ÈDû ú…’&K?ÛüÌFˆÂCÁapB\B‹Õ?Ýü]HQHÑ×Îw®Ò\n7—™¼ÙcÛÇèÂ:~N~_;ßsL›ÊÅÁEâ ) +­Ñ^ãgçGĵĵn¯¾½@mòä…‡2OižçZOKUËQìH¿Íüíô‚Óê¢êD<‘L"[©ZùmòcžÎ‚~<˜aÍMbccðññ³x¾777 …âëë˼8"„À`0x°z¼F—ͪU£ðÿoUU•JeQAIIÑÅ¥jáBVu TD~„ýûÃóo1Ø2Þ±@Ðw~$/_ò8:RrsóÆ;ïÆ¹wçÜbÜíÕE‡·Æ0ÜîÝÀ•+£öl 4vÙ¯)>::3fÙ…¯Ð'Â!¿fq%q~©~€è¢h†¢vþ½´Åµ?L¯Jç&p¯ÕY;`T,ÚA öUÌ©Í Ê 2–3Ö—Òg®_ÙRù$ù‰¶„ö,…YììÂ'Ù§¢¥bÎ:dTí›Ü7t}µöjôË Ä%´IÓ¹wçB³CYç ¬T­X¼ AãâCᇄ҄u:ëøIüorßÖ s ›+›“Id´NHVHVMÖvÃíÌ㽑Ÿfü„üÿ‚¶ÃCäyûº¬©LN@Î\هŪ©Õorß4¶7j‰kË÷‰áSÙ§¬š¬†ön#Y#6o8dÍÍ‘…‘%%8M1MæƒíHš2NädDá¥ÌSš×ÿ ¦²¦²¨¢¨ÚÖZ~N~CCäL= Ä²ÄȂȚ+˜ÏJÔNê‡ÂÅÅ$’ECWRð.ï]JEŠ–8Ÿ8s q%qÑEÑèõÀØAOÁý{ݧì|éUé±Å± ÀЗÒ××êó.A¿úá*Gp0r@J^ç¾ì4Þ‰$ Òfòfùñ%ñyÜ4ÑL¢|ADDÄ›7oìííeddШ¨(ggçÙ³gÃ|MpE E.‘.$’k´kXNRˆÃâN/8½Bsò2½2Ý%ÒEEDåÿò•é.‘.ê¢êh¾À%Ò…ˆ'^~9² ©s!ü‚—­W7­Ûþ‰}eK%R¨AÑx²ñ rQØÖݶÃwGLQ sH3f^[~Å£ƒÌ‘w€äòä_~ežIœOüÆŠÈïn–uœáBø…è¢h¤ÅšwÈnšZ-8+øà˃--h‰®¤îµå×DyDû·Ùÿáü¤ò¤ßžÿVÜXŒÖ‘â—º³æŽ¯˜ûG÷wyïü7ù3·p/ážûG÷Çö•È+ À`Ñ/.®m†Û{·O„C~ÍbKb}S|1E1è÷ɰóïEÀÐ/ ŠÆ€ùÖí°þ*Šp‹¸F»FE{Ùz1Wðúäu-êšÇjvvðMõM(M@ŸÂEÆô¹¾œ!3Y9Øg Aòœ¹†˜ÆÙ·góêòB2‰|í}ôÁ™WÙ¯Òú<ŽnÖߌQ‘vTDTμ9ƒþ¥'©woí½×¹¯÷ÿ»¿‹Ö…ÚêÙ:[8#§W¥ï}¾7¿.m‹ÁþlôóÞ™{ÙŒ|¸{ø$ûœ|s’ÚIEK ¤ ®¯¸.@I³¬ãTV>óöLYSR(@¸±òs6ó|øù[o¡¹W c£esÜò8;À/”þOþû¤øœz}Šù|¤/¥ÿÈöODæ<0çs §Þœ*¬/쌀ÌMú_*"*Cæ@ ë üëuŸ^°óU¤3è…üõ8éËyÐV×¶ÏN€áéÂKäEóƒ·#ò#2«3a¾bßäÊ8;;›››3ç Œ= “ô½ðˆó vR­5¬)¼”ôÊô…޾::_e>rS}íÄztôt¬Ô\)À%ð¡àCFuÆÑWGË›Ê 8‚­®-‹{‘ñ"½*ýqÒãMú›­­1E1SŦª‹ª s 7w6ÇÇFäG\‹ºöû¬ßÇbeMe[žliîhÖ–ÐÖ×&à i•i1E1Û}·‡nå!ò|]³ì|Âm]mÖÖ"<"é•éÑEÑÿ ûªˆ*rm‘Q±'`O½GS\S_JŸÚE ËûTöiçÓO6<r ¥âÆâÍÞ›©TI~Ic9c~Nþ¼º¼÷ùïË›ËååWj­¼Ÿp?µ"US\©ßÙÓé›â;…2¥ÏÝrfW£®¢×šæf‘/ìCìk6]zú*­U¾)¾3dgL—žŽnÂî¿WœG[WÛ’)KdÈ2b¼býw=d;¬¿ŠdÙ\ÙüeæË‚úyAy¤M:ƒî—ê'Á'a*oÊf¨«4W™È™s #-Ô´Ö$ø$˜CEn‡VS«‡õÙBÐÄq$øƒ[«³–‹ƒ+¢ "·6×9Ô™Evr0GCŽ’8HÈ!7(+(±,ñxØñ€´€©bSu$tÚ?>úôh­ÎZd0NA}AQC‘‰œ‰‚7»šZý¾àýµ¨kÒÈÿ¤£¾Ç°œ°ƒAqÜ¥9ŠBŠ]=] ?Ä•ÄíûwŸ»ûW7;tœ¯Žr`9Öê¬%≠?äÖæþì÷sèŽPäæùƒÄ®Ñ® f®Ò\E!ÅÒ¦ÒÐìÐ'ÉO¹Ù9±e|y %®¥)¦‰ÃâÒ*ÓâKã€a$k¤*¢ê“â³Çlš+O­HM­HÝb°…‹ƒkÀ‘¹iXït‘ú¢!ó¬{= Ö_Å»ñw'=Æaqó•çK“¥óêò%=B=( À8š:¢C 5­5üœüÜnæjÈq9¤C›&Q¾`@ÆÆÆÆÆl ¬‚ h"è¦um Bï-üñòß߸’¸¹Js‡Õ0‚·##i³i ÝFF˻۸#§ÛÓ6ZÞ²|“ûù™ÍCäñÙèÃKäM(K¨k­ãÀqX©Y•~,}“û†Í|Áp÷x3æfsG³³…³­Þ—Ûwãïž;ñüóóõºë¿®Ù!µw·l @ÇjzÄyœz}êvìm$_àþѽ‡Þ³Å`Ë¡¹‡ìÀþÙûWÜ[ñ©ìSLqŒ‘¬ëÆ]£]‘ßágžA‘(m*E¤´›f÷ ñÁÃOψŸAÞz‘ñ¢±½ñÐÜC,ÚÜe¼kÈñìtœ‹¯™´ƒAÖGØi¼Ý„ͯöîöç[ž+) ¶ë!Ûò«¸Z{õËÌ—>)>ûg÷NF‘QÙRéhêˆÅ`Ù ÕFÛ†9ªÎžN@Ÿ!*ÈËNZç0>YšHdÈ2÷ÖÞãÄsöÑö-òX”P–@í¤¢ >6) )Þ]{9äÚO·7w3÷IöÙi¼/0]fúÁ—ßæ¾E~fO›¶#¬²¥2£:£¹£YŠ_ÊBÙâᧇ¯s_³™/îχŸ'q¼l½Ð1D c׳]!Y!yuyè¸ÍI”Gô±ícäó¤1hŽÏC²BüRý¶Nß pv\[~ÍBÅ©Ÿ\‘¼æþš»qwwïrìÞ…ð gKgæ›íñ¥ñX€ØéÛ:ü2óåò©Ë‘·$>Àb°ÌÃåúà“r:•¡:=D¯Äú«xûãm,{oͽ²3ú!Y!;Ÿîdn‹Áö ¾³§³ÿ­ä¸ÝÑÝ1d/ 5Êù‚ÆÆÆW¯^pppèëëÏœÙû¸iMMÍõë×…„„víÚ…Vîèè¸pá‡ûý÷ßñx<‹ÍQÍÍÍaaayyy\\\zzzFF½×¦þþþ)))û÷ïçâúr]ˆþñÇœœœžžžoÞ¼xxx„……äää6oÞ<àüEEEaaaUUU‚‚‚³gÏVSSCß ‹ŒŒtpp ÌÍÍ¥P(ÖÖÖ‚‚‚C~8‰‰‰ááá ÃÌÌÌÀÀàÙ³gIIIhÌhËd2ùÅ‹ÙÙÙÓ¦M³°°`Ïgn™/  ¨¨HBBbéÒ¥dò iNš°VLý¿g+ÎöMñ­j©n;˧.GkÄap†2†yuyÛ¦oCsóò‚ò|èxB,{;övpVpŸvj[kÇhQEQ8 ®¾­þZÔ5ƒÁ`0­Ý­€ÔŠT û•Íi锥ÌvnÖßìí–Pš€¼L(MÀapN³œÐ¡$#‡ÃA‡J†ÌÄÅ`1Øã–Ç™çS@ÿAåågÊÏü÷ó¿Ìù¹óðÓC!.¡ÅS³hs·én6»Æ¾¯øš±ùïe­aÍ"YÀN;C~MäL¤ø¥ž¦=ušå„$b|R|°ìJ͕à •Yoj çÿR½IÐÞÝ~ëã-ô-N<çŽ;Xt‚&‚Ÿfü„üBpà8Œeóëò«©ÕÃÍl3ürȕ◒-¨/@‡…Œeèq‡Áýä÷SvMvŸvØ?¡ kÕÔêÜÚ\²Lx~xx~8ú=`i•iè1¸ÒÃ臉Ãàö˜í É I(MØ:}kysyeKå4©ih² -®½P}áóôçi•i¬¬­l©,l(Ô×ê32Œf­a}îݹ |Ac{㋌s•æJ“¥k“|;Xôz°MX|˚ʪ¨U¦ò¦h²`©j©)®™Z‘Ê" "žØç  þwÜæäàüº®A“Óhæ <<<öîÝÛÜÜŒ–˜™™ùûû ‹ˆˆTUU;vŒÁ`ìÞÝ{m·sçN777$YÀbsäåíÛ·œœšššÐ ¦¦¦áááX,ÖßßÿáÇ»víêó³ùáÇ{öìAòoß¾ܹsywÖ¬YH¾ Ïü‡:{ö,öåIª­[·^¿~ƒƒö÷ßëéé8p 3³÷¡M!!¡×¯_kkköÉÐét‡[·¾\Kíܹ“J¥Þ»wiyêÔ©û÷ï/((üöÛo¬ã²ãhËûöí+**Bê ?}úÔÔ”­46M}æ.Bn÷Ð{†ÛNŸ¡àÈ}Œþ…ͽG¤Ñ7‚³‚¹ÍäÍÄxÅx`'=Féõ=Ö·ÕÓ´"ÿéßó³šÃmvH}®¥°¬$¿djeïEIsg³(¯(zYƒ!Ëš:šÀP;EyDû d¶ISx~8r&­2-¹ÿ§#‡¦¯8¡ôi‡ÄAâãäc¾=ÎEàtôôÞÔÝÿbvM¶¢¢¾”¾ — Ž£‹ÖåíŠüŒõ=Ö·ÕŠ‹/E\êßóÿõÃíÈúœP<,r²hjoê_°}Bihk O]õljç\£½Æ-Æ-½*]ƒ¢á›âÛÑÓ±Y3‹6Gkþ½ ‹¯bsg3`J¬37Ë:_ Â-RÜXÜÚÕÊ|ÎEŽÛÂܬ»AÌF-_°uëV<¿hÑ"uuõÎÎÎÐÐÐ÷ïßoÚ´éÅ‹€Ë—/'$$899̘1ÃÝÝÝÃÃcÓ¦M;vì`gsŸmÛ¶ p8\BBBdd$NÇb±C†gggG§Óß¾}»eËdþ‚ç,¸víÚéÓ§1ÌâÅ‹ÕÕÕ Ÿ={æîî.,,|úôi´ÚO?ý„ÇãwìØÁÃÃüùóç]»v½ÿ~°½_¾|ùÖ­[8nÙ²e YYYׯ_é_ó—_~!Û¶m“””422b3vìܹ“@ ìØ±ƒ““3,,ìóçÏË—/ÏÌÌV;4‘!¿c[»Z™ Ë›ËGÞò»¼wœxΠmAB\½ÿË0Œ{ñ÷†|bÿ«ñqòuѺ¶nïÿólŽ£®¤±„ù%ƒÁ(k*ã#öÎíÌGä«h®èèé`N “òsòÙ8™“\Ö\Öçò…™™¼™¢â£Oì ì$>ÀcñëtÖ±ns,æ/ø lþ{!“¤v¾Š6Ú6W>\y’üÄ\ÙüiÚÓzÏjíÕà •2íÖÇâÌþÄÇaÉœxNæûr}2Jô=BO(ÌŠü„ÒÚÕW§-®ýÄî º¦]FU28, g%a¥…j û¿«)¦9Fû”4–  ™‘xøIü ß°}BàÔ°¨³AoƒûG÷‰NYzô鑊ˆ ó-úþFkþ½þ Èù—yzZæfYP§¨7³8nC›F-_pèÐ!..®ˆˆˆiÓ¦!% cÕªUþþþ™™™jjjÁÇÇGOOÏÆÆæöíÛ»wïÖÒÒºqã››>|píÚµ_~ùÝidd$ÇÖò¡vvvÅÅÅoß¾µ··gqSýÌ™3??¿åË{vúøñ£™™Ù?ÿüsäÈnîÞ \EEÅÐÐP‰8}ú´––Ö‡š››ùøú.ƒ¸pá‹ ›={6R°lÙ²þ5¥¤¤ÂÃÃyy{7BR$CÆÃqqñ÷ïß#öôô¬Y³ÆßßÿîÝ»NNNì7Aœ¿àmî[tèuµÊ;Ù{ä-c0< ½F܈¾ÑÔÑÄbú¢2–5öNö–µÖ°f.ϬÎîäŽÃòüósûéöèðÔ;ñwêÚêЫiRÓÒ.E\:8÷ RÒØÞx3æ&òÖÉy'{;‡:ŸZp þ™¿¹»‚Á`ìô펆ý7ãß?ÿ»H}Ñ€Ë.0‹ù XC¾íÌ…£õï5d;ì|)<3y³ðüðjjµOŠI`¾òü‘„:WiîÂþã“â³qÚFä6W][ݽø{€ù*ó$Ò¨Œã… ‰9¡¼Ë{·AoRY‰>œõÕ0 ƒáäàD“]´®‹ï/ްYÄùÄåäj¨5VªVÌß3ŒÈÂH6þ:7?Þœ§<IÓ´Ëï/ƒÿ,$ø$ÄxÅJ^羞§4©ŸZ‘”ĉç2*1^19¹”Š”ÇI™šI(MГÔCò§â|âªéF2FÅŧœbÝæhÍ_À¢×_A’_’ÂC‰*ŒúXü]Ô $+„õàÀ<¥y!Y!×¢®™Ê›"ÃôâJâÞ¼ èK:…0õ7:ù‚ŠŠŠÏŸ?+**¡OF!wþããã‘Gîedd=z´`ÁKKK~~~???ä'÷›óððäää0' £;œ¾¸¸¸´´ÔÄÄýq044´±±yôèQbb¢™™RxàÀ$r@077ÏÊʪ¨¨0_PTTT^^naa& ÖÖÖqqq}*ïÛ·M°;8€†‡Çã?îïïÿáØ/€~$SŦŠòˆg¯¸^GR§¶µ6$+?9Bºº©©Kî,1W6$”&¤W¦]²ð³ñÏÁYÁNNwâîh‹kóròÖPk²k³S+R=V{°¹R÷W q¬ïX[ªþ·½;‹ªÞÿþf`؇}ßWYB=í IDAT‰L —\È,õ&fÊÍÊôV–¦Woê7µ²®X.i‚ ‘» ‚±/’À€ û²80óûãô›¸ƒÌ  Ðëù‡æ3ç|>ï#Ã93ï9Ÿ÷çemeíüšü¤Ò$&˜u¹ÆcÍå‚ËÇSާU¤¹º¶w·ÇÅ6v4:8S«ë‰âò[ÁoQ9Q)S¼L½X ¬’†’ø’øãKŽ îÆ\8eáþ;û?¹úIWO—$5G¢~hÆjÆ24™ˆìˆ^õÅc(;t¸~_bû‘ð¥¸ÄiÉâ;Û®m+ª/Z循oÁIBÈŠ¨j«Zšn`Ä2Z0eATNTÐAó&Ï“¥Ë^.¸\Û^ëgí'ö{*j½zBHvU6!äRÞ¥ÌÊLBÈÜIsGôN€äkå{0áàÎ[;SËS Y†ÅõÅ·‹ok*iÖµ¿PmyEYE-›,9µÄÍØ­­»-¾$¾ÿ<óáµeÖ–õÑëOz™zYjZ2ÌŠ–Š¬Ê¬Š–Š¼òÄÞ÷4dµíµþßûûZûÊÑå’J“Õ?RWP$ô×y­Û~cûº ëfYβԴ|ÒòäÆ7zx=«=W‹-vHùÀçƒÐ‹¡Ÿ]û,";‚Z!§*'ýIzá–B:ùóˆÞr{ëêëŸ^ûTMA-Ð>Pt‡ÃU¿@ôQÁšikvÇî^yn¥`}„ÛÅ·55¨™&ŸwäÞ9ºœ ÞÄ|»ùß$}“U™5?|¾¯•oSgÓoù¿ñùüõÓ× rU’ž|A]]!¤¸¸xÛ¶mýŸí[qÀÛÛÛÔÔ”ÃáYYYI¸{CC!ÄÖÖvX¢HSS!ÄÂB¸•¥¥%!¤±ñ¯¿Icãÿ™˜¤¬¬Lár¹"ºí?ýÁÌ̬¾ÀÚÚzñHÂÜܼÿCj€ Cž!¿ÍoÛû—ÞO)OI)O!„°ÍÙ³­fï¸)~±hÑBÙ¡ÉeÉêH=AaÈ0vìü9ãg±7™ËèÔòSÆ|˜[›[+hŸ¬3yä’„Õî«8 —ò.Q2ŒOf"øNÃN×îàkÿuå_Y•YY•YT£‹¡ËÑG%™ša¢f¾$üƒ˜*Z*"²#¨F#–Qß…úd^w|=<5ÜÅÐÅQßq8m˜¨)¨-tX™yê÷STK(;t¸~_bû‘ð¥8Ûz¶¶²vlQ,!¤ïdI† „DæDþ^ñû›9T¾€²ÃG]{]'átúiªÅÍÈmï«{ŵ^½à¡àgmä `,›¬3ù­©oý˜öãå‚ËTˆÊ›Ëû¾ž‡fgÀε‘kÓŸ¤§?I'„h*jzíЊ³+^4âͱ™óõü¯wÜÜ‘ÀIHàü9V†&ãcáààZiÛý·ï‰Ûs6ã,õP]AýÛEß ò›+\WT·Uÿðà‡¸¢¸¸¢8BF{ÝñuÁr ¢Í4·ùåæÿÄý§ïõÈÝØªãHq3r³×µÏ«É{Ëí­Q›'%ú¨‡àm··KJÎežTº v îêéŠÊ‰lÃ'ü°Ä0¦Š _ K—=¶øØÚȵŠÅÅ ÅTã ×¢‹8ô7<çuuuBˆÝ믿ÞÿYw÷¿ œ®_¿žÃáXZZž€šäµX !ÔçùˆˆˆþOÙØØÔ××ÇÇÇO™ò׌#>ŸãÆ ???ªÊÀ?ü°víÚU«VíÛ·ÏÕÕµµµ5==ú¢[ìî666=:vìU‘rïÞ½éÓ§Óh´]»vmÛ¶íÈ‘#ï½÷çb¤7oÞ àñxMMMÔÂû÷ïß¼yó¥K—ÿº‰j¼}û65YÀØØ¸¢¢¢ï6iii3fÌ ÓéuuuJJJ[·nýꫯ222œP999}ƒïËÐаººúöíÛ‚"ûí7*WRWWG}ÔnÏbã‘äÀ©ž©É‚úû÷ïî|6wîsêâÀøµaÃeeåçþýJMMM{{»ˆ ¬¬,ÃÂjæÎµ ŒAñ%ñ«Ï¯þtö§«ÜWI1Œ^~oÐAÕ­ÕÉ“5$„óÏDråŠrh¨nQQ±´AÛwgß±ûÇbVÇH·´^ek¥ÿ÷þ3Ìf[|LŠaüMlܨK9|xÐK\Ãè£nW—а½Û»wïÂ… ]]]}}}'Mš$//_ZZš’’Âáp:;;étzzzzhh¨““ÓÑ£G"""¼½½/^œ””Äd2Åî¾k×®¥K—†„„?~œZ!---))‰Ëå2Œyóæ}þùçÿüç?LMM>|øÛo¿éèèTWW "¤¦?|øá‡‰‰‰ŠŠŠfffo¿ý¶ÐQlݺuÆ AAAóæÍ›4iRYYYtt4—ËݲeË Š Ù´iÓæÍ›gÏždnnþèÑ£_ýUGG§¶¶Vô¼bã‘äÀ)UUU“'Ož7o“ÉŒÍËËÓÒÒêÿ?ƒU×^w6óì@ÏZhZÌ›ý‹/¾è[ŒpÏž=!!!·nݪ©©ÑÐИ5kµ¸ÅÏÏO^^^OO¯ïS::.úE§Ó?¾~ýú»wïBØl¶‡‡‡­­­––– ¼çö,6Iœbcc“ŸŸÿ믿–••R³ài)j‰¨¨,¨› ubãh‚ý¨™f2-”ª«¢;wÒܱðv`”¹ºˆ8QKñü,DlœOŸ=í?-4-r\4Ýlº¥¦¥¿¿´b˜†­~ˆ–ššÚ·îã‘#G6nܸ`Á‚¨¨({ ‹çVF õ &$Ô/€ 矉õ ÆÔ/G¤S¿Dóõõupppqq‘••MKK»wï!äý÷ß—v\Ï|Á(ñððˆ‹‹KNN¦2™Ìýû÷ –KS/%±±±iii™™™uuuþþþúúú£3ô@•‚|ÁèqsssssýqýüüüüüF\¿d¤Œ9È€0ä @òãL|I|ð™à”ò”¿ÕÐ0ì¾Kþ.øLp[wÛßjhòãLÝÓº”ò”ÆŽÆ¿ÕÐ0ìJKRÊSzx=«¡@rƒ^¡¢¢âüùó# Œ)Ò†Yuuµ•••´£€ñaÐù‚û÷ï/]ºt$B1åĉ'Nœv0Ì/ ._1Bqˆ–U™õÕí¯Vº­t7v?~:¯:OGYç#ŸÖG­Ÿm={Çj³J8¤¥¤Fµ´w·‡\ñ6÷^çµnÔÛ°‹ÒÁíˆÉÉ|’YÕV¥,§ìbè²Øq1Kž%´£§‰çÉßOfWe3ÌY–³9,¢Ñh}‡¸VxíÚÃk­Ý­ÖZÖo¹½%yœFÎ…œ ÔýÑÃë1×0_ì°x²îdÁŽ¢Ã“dh€ñè\æ¹_ó~Ý3wOWO×¹ÌsœFÎë9ææGîÙ0cÃt³éÔf'ROÜüãæK/ .©å©â„x…øXøŒZ`o¸¾A©n«¾˜{±°®°©³I[I{†ÙŒùöóé4ºÐŽ=¼žS¿Ÿ*k*ÓRÒZä°ÈÓÔ³oÿ]=]g3ÎÞ/»Ï'|wc÷®+$ ¹,ùZáµòær† ÃAÏa¹Ër-%-ÁŽ¢Ã“dh›}€T´tµ¤”§88~yóËÚöZBˆ®š‚ZU[Õù¬ó‚|ÁÕ‡W©j|[Z¶² !ÉeÉ?´¨ç7ϾÙËë1´š‚Ú7 ¿T`„æÎfŸo}ž>{*ØòZáµã)ÇÏ¿yÞˆe$ØÑÕÈõ?qÿ©h© ¶¹^x=·:w»ÿvÁ^[.o¹sú9¾$þBÎ…eÎË$ à猟wÜØÑËïì{:ýô¿þ½Øq±$áI24ÀxTÞ\žRžrõáհİg½Ï!ÖZÖ¾V¾)å)× ¯ òç³Î?ªTÙZ)È\/¼žRž²{îîçv[XW¸ãÆÑC{™zmdoT`„ø’øw"ßé{©ŠÎŽÈŽøiÙO †`Ǹ¢¸¯ã¿îävRÛ\Ì»öZØ+“^¡¶u·Ÿ .¨- ÆÅ]yxÅTÍTl<>oËå-ѹтÍâŠâ~úý§Ÿ–ýd¯k/Ix’ cò0žü˜ú£¹†y(;ÔDÍDU^•Â6gŸÍ8[ÙZi j@¹WzÏÝØ=µ<õ^é½%NK!‰œDBÛŒ=PŸ)å)¢ó}¿B‘<0n/W–.»Æc®¦¢fkw냲g3φ%†í}u¯`Çÿ>ø¯µ–õîWvëªèæUç}“ôÍ™Œ3k=×R‡såá• 9dV»¯v2pjìh<ùûÉÿ>ø¯ØÒŸ¤o¿±]QN1Ø%ØIßIŽ.—[{"íĶëÛ/|I¸«¡+Õ2Ëj–³¡óª_VÅäǼëõ®Øð$`<ò³ö;²àHß¶ûäï'©ì•kÞ2kËâS‹KMÕMkÚkŠê‹–: XÆËVÛöLðуj*j!0 g狹còcZ»Z{y½\—’VžÖ7_d´gîêg_+ßÒÆÒ”ò”†ŽMEÍ^~otN´’œRäÊH]e]BÈLË™3-f¾þªèø|~xj¸¶²öÅ·/ &¬½lû2Kžõ]òw™•™®†®¢ÃÔÐ0Ö _ãI€m@ßÏä„/S/º ÊPß y[xÿQ÷GTnÏ«l­,k*{Ãå }z{ŒD`uíuËÏ,L4Zk:À6€JP¦èM!„4u4Q ë ÕÔŸØ !rt¹@»ÀC‰‡DU•E§Ñ&$„ðù|>áBzz{!Å Å’„'ùÐãÑB‡…B-lsöÉßORÙê_'';»„’„7\ÞH(I ¶¨C¦Ê4“i#XVeÖº ëºzº„Ú….(B3ïìõìSÊSš;›557=îàvØPŸØ)šS¦Þ/»/"€Š–ŠÆŽF E7’>jaÝâúbWCWÑá jhk/€ñ„º3³/UyU=‡ä²dŸ—P’`¥e¥«¬Ë6g‡§†çTåä×ä‘oïÈ ×/(°°{a-^¦^öºÊºrt9¶õÊV¡·wBõeed !<>zØÕÓ¥&¯Ö?±t<ëèå÷&•&õß²‹Û%Ix’ 0é©è µxšz2d % ÁÎÁ÷8÷l!lsö™Œ3½üÞDN¢ MÆËÔk _¼~Á@}~ýóîÞî×_÷2õÒPÔ¥Ë>}ötmäZ¡Í„NÑrt9Bu£Îü*Lá]úç… ÊÜ4v4>ÿ‚ÒÓ%6¼A c ò0îy[xg&ffUfÝ|Á”„9ºÜ½Ò{ù5ùtºPh!ÃR¿ ¿¬Ê,5µŸ–ý$C“¡Z:¸uíuò²ò’w¢£¬Ãià4w6÷}˜S#vG}Uýg½ÏŽ-:F—¡ =¥¡¨!IxC`\Z‰†¢(«èbè’\–œSÓÐÑàmáMa›³Ý?–^‘žT–d¯g/"m:\õ „kîl~ÜüØÏÚO0×€òÜOï"èªèBòjòú6öòz…Zú §¢G£Ñõ?žùqÿ-Í4ÌĆ7¨¡`¬A¾Æ½f3'þ6ùÛæÎfosoBˆºùsÆÏç³Î›i˜©0UêÚëªÚªzy½áKÂ% oÈCŒ_l3öøqEqîÆîJrJ„Yº¬‡±G\QwA®úBdé²/Y¾t»è6û(ÛFÛ¦­»­´±Ô^Ï~°ý|èóá;‘ïˆ?p2í¤!Ëðqóã¶î6[mÛºBÑ;~1ç‹¥§—~ví³=q{LÔMädäž´>©ZOÙ8c#“ÁÞ‡©“‘v0ÑÐéü^Qw÷Àˆ4ú4ãi„7c7AÍ?Á»ºf3F5šÿo•Ǫ¥NKù„_P[PP[`À2_®® >¨Nt•uO.?i­eÝÁíȭέm¯]å¾êM×7Åî¨(«x6øì®oÈÒe‹ê‹2ždT´T¨0UÞv{›z'6¼! -½½4B.êv!G¨_å(_Pô¨}SÔÏ ² ‚gFÙ®€]îÆîÜάʬ’†¶9;ìµ°Áv2ÓræÿÍû?5µ†Ž†ìªlŸ·÷Õ½’äl´m.¬¼0Órf'·³ ¦ «*«þi½™ºÙÇ3?¦n7Þ‡†q¤·—Fž Mô]¸BjjjÚÛÛElàæföÁÁÁ­Ã;nsgsa]¡©ºiÿBP„Š–Š'-OôTô¨%² !|>?µ"•Ïç»»Ñi#xXsgsYS™ª¼ª¹†9!$·:·»§{ªÑÔv¤Í4ÌúÖ‘&„7·?k7U3USP«k¯+i,±Ö²¦*ˆ€ÛË-n(îävê©èéªè ªˆ O’¡Æ”æfº››Ù©S•^^ÒŽ†AR’ÂÊ•ii55Þðö\Þ\^ÙZé ï («ØÿÙüšü¶î6mA µ¥«åaíCEYE}‡ádPUµVմרè(ëôòzÓ*Ò45¬µ¬Ú‘jtÔwì»zN¯§°®Ïç[iYÉ3䋊ëŸÖO5šÊaˆ  ­»­¬©ŒÇ籌ú_D„'ÉÐ0Þ½ù¦¹9÷Ë/뤈gii)ùÆÈÀàˆÍ,X`äæÖùé§ £!$=]~ÉÃ;wÊŒŒz¤ ƒòrÙY³L"#Ÿ8; /ÔcÍŒ¦o¿ÝòÎ;ÍÒÄT¾ó`˜ÙÛwgf¢¤À°ÈÊ’g±x††HLFF\‹—‘ ÀXW]ͨ©aØÙuK;~ÈÀ0óöîÈΖ¯¯Ç$6U·n)¾ôRG¿5ò`¼¢Ñˆ·wGlìsnŒ€1%6VIAçîŽ[& ä `˜ùøt(+ó"#U¥ü”–ʦ¤(ÌŸ/j¶Œ;óç·?x PV6”Em`Ôüò‹J@ÀS99ÌsŸ€/€a&/Ï_¶¬5<œÕÒ‚3 Œ’°0 ®Ï Ö+…±oæÌ§&&ÜC‡P``ìºqC© €ùæ›-ÒFÞÍÀð[¿¾‰Á ‡ãŒ†ôtù˜åO?mÀj^ N>ù¤!&F95UAüÖ0êž=£íÝ«ùÚkmŽŽ(^01!_ÃOI‰·iSã©SªyyLiÇ\w7í‹/´Øì__Ü\0Ížý”ÍîøòKÍîn”¦sŽU¯­¥üq£´‘‚|ŒˆE‹Z==»BBôjk±®2Œ>ŸlݪSY)»}{½´c‘²}{}e¥ìÖ­:X`L¹vMùÛoÕ·nmÐÑÁÂ4ò0"ddÈáÃÕJJü½ÎNœj`D>¬qõªÒáÃÕ¦¦\iÇ#ÅÔ”{øpõÕ«J˜æ0vdg37oÖY±¢%8¸UÚ±À›x)ªª¼~¨zò„l€» `xõö’Ý»5Vß±£~úôNi‡#kúôÎ;êVß½[³·WÚÑüíݽ«¸r¥Á´iŸ~Š{»&8ä `™˜p##ŸttÈ,\hˆZ0\ÚÛeÞ}WïÌÖ×_×,]Н¶þ–.mýúëš3gXᆱ×ÞŽw°ÒÁ瓟~b­]«ÿòËO¿ý¶Uf'<œm`d™˜p#"*¬¬¸ îÜ©…EàEðù$*JÅßß$;[þôéÊùóÛ¥ŒžùóÛOŸ®ÌΖ÷÷7‰ŠRA9€QVPÀ 6ø÷¿µ6mjøê«ZYYüN|4>ε0555ííƒ~ƒÎã‘ T÷ï×àóÉêÕ-‹µjkãŽR.—vó¦Òñãj¹¹ÌeËZ6mjTSãI;(‚æf™4ÎcM™Ò½fMóœ9Oñ¡`¤åä0OŸf]¼¨âäÔõùçõS¦`õÄqÌÒÒRò‘/€ÁZ¾€ÒÖ&óÝwê¿ü¢ÚÚ*ãèØåâÒefÆe±x¸™ ÒÞ.SUEÏÏg&'+tuÉÌšõôý÷'Mz&í¸@Ê>”;xPãöm%yyž—W§]·¾~¯²2RHæ«‹ÖÔDÿã¹û÷**66ÏBBšÛhXÛtœC¾FЋä (]]´øxÅ„ÅÜ\fy9£­ŽâU0%%ž–VïäÉϼ¼:urÂ=ò0‚^<_R1¨|²° ù†|C¾„!_Â/aÈ€0ä @ò Œ!í`œa2™ÒFÏçK;[0„!_Â/aÈ€0ä @ò ù†|C¾„!_Â/aÈ€0ä @ò ìÿ€ÍyˇIEND®B`‚fio-3.39/examples/poisson-rate-submission.fio000066400000000000000000000006601476262051600213710ustar00rootroot00000000000000[poisson-rate-submit] size=128m rw=randread ioengine=libaio iodepth=32 direct=1 # by setting the submit mode to offload, we can guarantee a fixed rate of # submission regardless of what the device completion rate is. io_submit_mode=offload rate_iops=50 # Real world random request flow follows Poisson process. To give better # insight on latency distribution, we simulate request flow under Poisson # process. rate_process=poisson fio-3.39/examples/poisson-rate-submission.png000066400000000000000000001201411476262051600213750ustar00rootroot00000000000000‰PNG  IHDR85¤ïÒ"bKGDÿÿÿ ½§“ IDATxœìÝuXTÛð54Cwƒ”Š"Šu°±P1AÅ΋è}v‹­×@ °10AQ¤”î I‰aÞGÏœœ×ï{ßûföì³÷š½à²……B!„Ÿâuu|™™™ŽŽŽÄë .èêêò6Ĭ­³Óãóð'*--íÔ©Sqqq••• £ÿþòòò=€^½z:tè·E‚Ð 5„Ú\UUU`` ñº²²’·Áü~ŽŽŽ™™™°hÑ"^‡Ãª­³Óãóê'*''ÇÜܼ´´”l‘””TUU%‚Â?(µ>ü½Bµ­ÐÐÐÄÄD°±±áu,è—?~œ¨ÒTTTÜÝÝåääŽ=Êë¸êȰPC¨Íikk¯ñ¸çŸ¦-²Ï«Ÿ(¢à€!C†Lœ8‘x½fÍš™3g€œœÜo‹¡?…Á`ð:„øË9@õõõÇOLLTRRš>}ú˜1c˜;]»víÝ»w¢¢¢úúúcÆŒ6l…Bir4â/kvvöåË—£££‹‹‹åååõôô,--‡ &,,Lô䨡S º¹¹}üøQMMmܸq&LhÖ:TWW»»»'&&ÚÚÚ.Z´hĈdOaaaYYYSSÓéÓ§wîÜ™h¼xñâÅ‹CCC«««@WWW[[”””nݺEô)--½~ýzpp0F511±··ïÑ£7ib¿D«V­"zúøøÈÈÈ@NNÎŒ3ˆÆ³gÏ$$$-±±±¢¢¢Mæ:--mîܹäR|ùòåøñã¹¹¹fff+W®TVV®¬¬tww ’0`À’%Kˆ0Ú"û?;G­í~^¼x±cÇŽ÷ïß—””€ŠŠJ—.]Xú°œ£Æ1„W¡FâããÉß‘“'OJJJ2ÿÖ899‘=oß¾---Ýø7kÈ!ÅÅÅG‹e0ïÞ½c“ ©©Il±C ¦>{ö¬¬¬,sÏmÛ¶q¿®®®âââÄë+VµWcBBBîîîÄæÛ¶mk²††ÑáÁƒMî†Y»v-Çq\¢gÏž‘Ÿ?&?}úD6FEEqŸëØØX²ñÈ‘#¢¢¢ä[mmí¤¤$SSSæ ­­­Ú(ûÇl럇ëׯ7™ÅСCÉþ܃âj5ù„ÄŽ;|||È]àííÍ`0"""È] £G¾sçΉ'äå剖‘#G6ø³:uêTâíôéÓ>|x÷îÝC‡ÙØØHHH›pìЂ©©TêæÍ›ïÞ½;tèP¢EDD¤¤¤„Ëu]´h‘O@@À§OŸètzÀw/^¼¸sç΂ ˆžBBB #--- @KK‹h_¸p!ÑÿíÛ· #::ZDD„øhæÌ™÷ïßwwwWTT$ZŽ;Æ>G—ˆ¹P#‹ö…›\3j²²²®®®^^^***ä†ÆÆÆ^^^»ví"»=~ü¸²ßx̶þy Ñhä€döGM4’…—Á „¸…BM`þ{¶aò½oß¾DãàÁƒ ÆôéÓ‰·:::uuuDò DDD0šú³Jþm»|ù2ó¼4xÁ±C ¦^µjÑ<ÓBBB Æš5k¬~TPPÀ²ùÒ¥K9®¹Wéøñãd£‘‘Ѹwï^æÎöööÌ‹I8þ<ѨªªJì‘úYl—ˆ¹P#ëö…›\3j;wî$ú899±ŒÆ`0:uêD´ìÛ·Ñ6Ùos‹ìÀ‚ì3kÖ,yyù¾}ûΞ=ûÌ™3ä&ŽZ05yº•²²2Ùøùógxÿþ}àjjjX6Ÿ4iKKNNΡC‡mlllmm‘‘A|”žžÞägL¼HII±þîØ±cDc~~~JJ ›Ø8.Q °É53KKKâ…’’ñBFFÆÌÌŒxM./±¶ýzökÝŸ‡_Ôâß „PcxÕ'BHII5~Mœ¡UUUÕ¸„„„€€@CCsÎÎÎ%%%§OŸÎËË+)) õôôܲeKXX˜––Ç-˜š¬*˜ïwÅàúr"ò0ÁÏÏoâĉ?;SígíÌÈ333‰­±(..f³9Ç%bîL~ÍÆ(36¹fFÅøöo]òˆ-Ðét–I›y³¾á÷ÿ<°Ñâß „Pc¸G !’““¿ÖÔÔâ-óµÔÔTâ¯s eûöí¹¹¹iiiþþþÇ'Ž—Ñh4n:´xê&8p àGä_ñŸÙ°aQÁ{zz>þ< €¼Þ“ä!B;;»€¦×þ,6ŽKÄ|y,Y$$$° ‰M®[ѯg¿±Öýy€ û8OŸ>ÝÜ/ØêÁ ô'Ã=jqpøðá1cÆHII%$$xyyÄa£©S§†……€ŸŸß›7oþúë/:îââBô‘‘‘a>ÜÃìܹsRRR¶¶¶:uêÔ©ÓСCß½{G.ÌËËã¦C‹§nR÷îÝ›»,ä1²qãÆÍš5 ‚‚‚š<âI¥R‰ùùùÌíS§N €ÀÀÀÍ›7÷ìÙ“h¯¨¨xøðavv¶µµ5›Ø8.Y€¿¿ÿìÙ³ËÊÊöíÛÇæK±Éu+úõì7Öº?ýúõkîlõ`ú“a¡†ÂÂÂ:::ººº>| œ)**nذœœœîÝ»÷æÍ:nmmݵk×ÂÂÂÜÜ\ P('Ož$îÝÕXppð¹sç„……544ÔÔÔ ˆó±`Ô¨QÜthñÔ­eøðáĉÿÿþû¯ŸŸ_CCC~~¾––'©W¯^QQQpìØ±7oÞHHHŒ3fÍš5NNN< ,**277ïÒ¥‹ŒŒLNNN^^N9räêÕ«ÙÀq‰´µµ{÷îóçÏ?zôhzz:ËM4X°Éu+úõì7ÆóŸ¾ ¡v§—2 ħ˜/Ž _¸p¡   ñÖÜÜ<..ŽìY]]½qãF²?…Béß¿ÿ‹/š¸F/$$dΜ9,·ÓÒÒ:yò$± Ç-žšÁ`”——“<àrÈÍ eeeS¦L!o^jddñ×_oÿþûo²gff&Ë lçÏŸO|TSS³cÇuuuæOeeegΜéïïÏ>GÜ,Q|||ïÞ½‰„„„œœœ>|ø@vn|Õ'›\3_õI.ÅÎ;‰}}}rÒ^½zÄe•m‘ý&óÒº?dÊÖ­[GnÎåUŸ\ƒâ>™¡&°Ü­¾[·n………)))ŠŠŠû3ŒOŸ>}þüYDDDOO<ÙœPUUEã r«¼¼¼ìì솆uuuâ®ý,òïв©étú«W¯ˆFSSS濦,~9éóçÏ©©©ÒÒÒFFF %**êË—/ ¡¡ahhÈÜ3%%%//¯¾¾ÔÔÔÈ{v222rssEEE544”••¹¿y=7k˜››«¯¯¯¨¨X]]ýîÝ;â£Þ½{KJJ6þŽM溲²’8œÇ¼iii ..NÞÎ#""‚(}´´´ôõõÛ"ûlòÒZ?ááá ­­­§§G|úþý{â UUUòɉ‰‰ÄY999–Šœ}0!n`¡†Pj¼!„П ¯úD!„âSX¨!„Bñ)<ô‰B!ħpB!„ŸÂB !„BˆOa¡†B!ħ°PC!„âSX¨!„Bñ),ÔB!„øj!„B| 5„B!>……B!„ŸÂB !„BˆOa¡†B!ħ°PC!„âSX¨!„Bñ),ÔB!„øj!„B| 5„B!>……B!„Ÿâu¡v†F£UTTð: „j—$%%UTT¸ï{ÔB!„øj!„B| 5„B!>……B!„ŸÂB !„BˆOa¡†B!ħ°PC!„âSX¨!„Bñ),ÔB!„ø>™!Ä dg ge •• 2¼Ž!þ#!Ñ ¨H70¨Áß?j¡ßŠN‡—/%<|õŠúå îÔGˆAAF¯^_GŒ¨œ8±\F¦×á ßÂÀÉ"„šãWžõùü¹Äž= ™™Â}ûVZÕ³çW:ºl5RY)Ÿ/øáƒhPõÙ3‰†ÊÂ…¥ –ˆ‹ãîv¬¹ÏúÄB !Ô<-+Ô22„·mS|ó†:n\ÅŠÅ::umBUe¥ÀµkÒ'NÈIK7lÞüyĈJ^G„ZÊŽâ;oߊÛÙi ^¿žsø0 «4„šKB¢aáÂRÿ̪ÿþ[õàAyÜÍò‡ÀB !Ô¶nÞ”ž7OÍÒ²ÊÛ;§wﯼ¡vLQ‘¾o_ÁþýçÎÉ._®úõ+…ס6‡…B¨ =x ¹y³Ò²e¥‡ÓDEqB­ÀήÜÓ37$D|õj•¼º £ÃB !ÔVbcE7nTž7¯ÔÙ¹˜‚ÿòG¨õXX|õðÈ{ñ‚zäˆ<¯cAm 5„P›(-\¸P­ÿªuëŠx BPïÞ_wí*ôðóó“àu,¨ a¡†jGŽÈ ÀáÃxë „Úˆ]ù¤Iå»w+VWã.ë ÿ Šj}Ÿ>‰Ü¸!½fM‘¤$žAƒPZ³¦¨¼\àÌ9^‚Ú j¡Öwð |·nµ&”ó:Ö±bÅ '''^Ç‚Xµuvø<û ôeËJΜ‘Åç|tT˜W„P+ËÏzùRbÁ‚R¼€ xøð!Q¦˜˜˜ð:~ÁokâàP& À¸wOŠ× 6Ѽg}>|888¸BAµµþýûÿïÿkëYüý%Äņ Ã;§#ô;HH4 ^éç'1{ö^Ç‚Z_ó µààà~ýúµQ4¡¶ò»&ïׯZX¸ãÜ5íèÑ£Gåuˆ7ÚEö ªZ·N¹¶–""Òq~ï¡y…ôë×ïÖ­[m B¨MM™2å÷L” bkËã³ÓV¬XñèÑ#°±±qqqÙ»wïË—/kjjºuë¶bÅ æm~ùòåÒ¥KÏŸ?OOO¯©©‘——755>}úàÁƒ›íøñãP\\ìîî”››K§Ó544ŒŒŒ†jcc#..ÎM‡L½gÏžøùùÕ××wîÜyåÊ•ýû÷ç~¶nݺgϞׯ_—––FFFž:uêÔ©SdOqqqUUÕ~ýú-\¸P[[›h400 ;ÔÖÖ’o÷ìÙ3uêT¨¨¨¸|ùò³gÏRSS¿~ýª¤¤Ô·oß… qÌÇ%š6mZDDÌœ9sûöíÄV«V­òññ€aÆyxx°ŒYTTô³\;99ùúúK±qãF—àà` [[ÛU«V ;wîÚµkŸ?ÖÒÒš1c†ƒƒ…Biœ}ŽkÂݺÕÖ×SRR„kyj#Í.ÔBˆ=MPM­ž×Q|SVV6mÚ´ôôtâmXXØìÙ³;6bÄHMM5kF#û<þüùóç;vìhrL:nooŸ’’B¶¤¥¥¥¥¥ùúúÒh´%K–pìЂ©ËË˧M›öéÓ'âmDDÄœ9sîÝ»gllÌÍ:”––N:5;;ûgª««‰ }||¼¼¼ºtéÂqÌŒŒ GGÇœœ²%//ïÞ½{=:|øð¨Q£ØlËÍ‘(ÜíÈ>פÒÒÒéÓ§çææ@UUÕ¹sçh4š¨¨èíÛ·‰IIIÛ¶mkhh˜5k7óòUÕz(,ÂB­ãÁ‹ B­ìëW*•_Ž¿¼}ûvРAaaa/^¼èÕ«ÐéôM›6UWW7448;;¥’¾¾þýû÷£¢¢¶mÛFlxíÚµ;wî49懈 CWW7 >>> àôéÓãÆ£R©ÜthÁÔoÞ¼133{÷î݃”••‰/rùòe.×!$$ÄÈÈèÙ³gIIIÉÉÉÒÒÒkÖ¬Iþ.>>ÞÏÏÏÒÒªªª:Dl•œœìêêJ¼!ûO:µ¡¡ÁÉɉ¨Ò,,,üüüÞ¿¿uëV¨««[½zu^^›x8.3îîÅÇ&×,K1iÒ¤¨¨¨½{÷->|üøñ¹s碣£ÉªîâÅ‹MÎÂfM¸ ²P© PY‰Ó; L*B¨•1À?×{*))mÚ´INNN[[›<|VRRòæÍ›èèè„„¢eÆ &&&RRR³fÍ8p ÑxãÆ&Ç$]~ýú555µ¸¸XSSsÈ!GŽqttä¦C ¦VPPpqqQPP066¶²²"‰½GÑÑÑ?Ú°aËærrr®®®ºººM=ÂÂÂúúú³gÏ&Þ†„„0J혘˜øøxâõþýûõõõ©Tª££c·nÝ ¦¦†ØAõ³Ø8.3.÷¨±É5s7UUÕåË—KII;–lœ0a‚•••¤¤ä¸q㈖ììl:Îͼü€X!NICíúDudFFFBBBäkAAAâ¯ojjjQÑ϶255%_wëÖíõë×@gd¡§§gff——7þ|7226l˜££#•JåØyd.§666!^KJJ/ªªª¸\²6"ž?þÍ›7YYYUUUÌEIuuuEE…”»Û=$%%‘¯‡ Ò¸Y‰6‰ãqù½˜±É5s7CCC¢ZhhhòP/95N¯©©iY$µ",Ôøµµ5ñbòäÉüy»ÅæúòåËøñã‰×®®®fff¼ý±˜wq¹Ï† ((xáÂ…K—.½|ùòÓ§O•••ÕÕÕÑÑÑÑÑÑaaaçÎãØ¡S“Åp}(KÕUVV6qâÄüüüŸõ¯¯ÿÕ³ Ù‘—ˆ¹3QKÊËõ: ‰ÿžŒI.>¹¼íh/úC`¡Æï‰¦ ©««#¿Tii)oƒA^RRN€ÄÄDòϰ®®®‚‚Ù-66–<žG¼044üÙ°RRRNNNÄ¿JJJW¯^ _¾|‘‘‘aß¡sçÎ-žº133³äädîûÀ‹/ˆ*M@@ÀÃÃcÀ€bbb¾¾¾ÿ5H–2,C™# RWWonl×ÜXVVF¼ Óé>|øÙ—b“ëŸmÒ2?[„Úž£†êÈ öìÙSRR’™™Iž·$++;pà@333ò.{÷¨¸zõ*qð¦M›Öä˜4mÊ”)ׯ_OHH(++£R©äAI¨¯¯çØ¡ÅS·ò!…B‘‘‘xÿþ=yŽ<3iiiâE]]]tt4Yš˜™™‘œ®X±"&&æëׯ%%%>|ðôô´··ÿþ=›8.têÔ‰xôñãÇ’’’;w2_'Ë‚M®9.H³ülMj ¸G !Ô‘õïß?00ðÒ¥Kd‹€€À®]»ˆ½5nnn³fÍ*((HNN&Ï"'ØÛÛOš4©É1 FTTTTTTãFŒ¡  ŸŸÏ¾C‹§n-TVV.(( ÓéDQH¡P¦L™Òxï—™™•J%ŽcNž<™h|ýúµªªê±cÇsss£¢¢Ì|¼²1Žk3f̸~ý:N/..¶µµ]]]KKË   &ÇdŸëVÄfMZw"„ µ£´´ôúõëÁÁÁÄ LLLìíí{ôèÁÒíÕ«W/^ÌÉÉéÔ©ÓÒ¥K;uêÔäébGËÌÌ$¯Ìºpá‚   ››ÛÇÕÔÔÆ7aÂæIƒ‚‚.]ºDNª¡¡ÑV«€P#222®®®ÄMP¿~ýÚ­[·åË—ÿõ×_ħúúú?f¾ë¬œœ\÷îݧOŸÞä òUUÕ»wï>~üøÝ»w999¥¥¥’’’zzz£G&î¼Å±C‹§n-²²²×®];tèPXXXEE…¡¡¡“““˜˜˜——KO))©3gÎ>|øãÇ,÷¹èÔ©Óãǯ\¹âï’RUU¥   ¦¦Ö»wï#F4þï3n–ÈÐÐÐÓÓÓÕÕ511Q@@`øðáëÖ­Û¹sçÏÆdŸëVÄfMju”fí³%îlŽO&øÈ“!V¬XÑä xøð¡££cII KûÚµk÷ïßO¾Ý¿ÿúõëÉ·"""'Ož\°`ñ6 €¸p›ÑÈ£gÏž]½z5óÙfÛ¶m#;ìÛ·ùN?›ý­õûK£Ñ***Øt00Ðws£Í®O[kü,„:6~ø½CÜ””TQQá¾?ž£ÖîÅÄÄLš4‰¨«fΜyÿþ}wwwEEE8pàù'êíÛ·dÁ4jÔ¨;wîìÙ³‡8u·£1svvvrrº{÷îСC‰–½{÷uÛÛ·o7nÜH4ÚÚÚÞ½{wÿþýk×®mí5@!„:&<ôÙîíß¿¿¶¶LÞ¦\TTtÞ¼y°{÷î¿ÿþ›B¡¸»»{O555}||„……@@@àÿû_ FcÞdéÒ¥ÄÁâüèÚÚÚÄÄľ}û’“êèèܹs‡¸KHHhùòåm¹$!„P…Z»L¼HII!#’W³çç秤¤DFF-C† !ª49rdËFcÞd̘1Ä â±6„ÏŸ?9©µµ5Q¥¹ã !„Bìa¡Öî‘w•ÌÌÌÌÌÌlÜ¡¸¸È3^™ï{ÙøÎã\ŽÆLII‰xA^ðßo/DNÊ|¯Nö·;G¨U=zôèÑ£¼Ž!„~jí^§N ÀÎήÉCŠÄ£Q´´´ÒÒÒ€øBãÇÔp9—455‰éˆ§/š{gN„Bè…´{S§N%^ÊÈÈX×»wïüüüððpâÞŒä㇟>}_¿~ݳgOËFãyTôÙ³goß¾€ššš}ûöµüÛ"„B,ÔÚ oooëw2srr"ž?STTdnnnllܯ_?---YYY{{{bóeË–O­©¯¯ÿ믿zöì©­­Ýø@\ŽÆ¥eË–éëëN·²²"&ýõGõ!„B,ÔÚœœœÀ…††€¨¨èÓ§OwìØA6lqW[.G£R©üY´ÚÚÚĤ ,,ŒO#@!„¸…Ú$00pÞ¼y²²²úúúååå©©©õõõ ¬¬Ì| !„B|ÏQûƒ,X°`Ô¨QeeeIIIõõõRRRóæÍ‹ŽŽ644äutqPPðÕÍ-áݻϼ„߯‚%N–·•nn ÑѬùý•)B¿ µ?ÈÀ?~\VVöþýû·oß&&&–––ž;wNMMס!ÄVíæχE߯‚%N–·nnñQQE­8Bè×á¡Ï?Ž„„y¦?BíˆŠŠ¸³³qß¾¬'Sò߯^[„ÝN—!~†…B¨}PVsvnƃ1~¾ Œ½¶».Bü 5„PûPPðõÆô¾}™wØ”—×Ѳ²*EE…ºu“±°`Ý—C§3‚ƒ Ëêëtu%­¬TDE‰22*}|²,-UÌÌäÞ½ûüþ}‰¨¨€¥¥J§N’,ƒäåUä——×JYY©&%•={–7z´†TãÀ¸–Ml¿A“ë Œ·o ?~,•¶²RÑÔ¤²l˜–Vñþ}I^^µ¤¤™™|·n²ìÇä˜#„X¨!„Úâü'æ#k¾¾96D•—ב}zö”?q¢¯²²ñ6&¦xÅŠ°ìì*²ƒšš¸»{?¢¶ ÎÊôðHô÷Ï#: Röî5·³Ó&7ñòÊØ¾=º¶¶œbìXM7·øÎ¥‰B%0.‡e[“ŽK`0Ø-•*¸`·5^O¨©i˜=ûMpp!ñVHˆ²q£©££>ñ¶ªŠ¾hQpHH!ó8––*'NôjrLŽ9B±‡…B¨]Šÿ²reX}=ÃÔT®woùŠ º¿nTTñß¿óò²¢P '§jîÜ·eeu=zÈ÷è!'""WR¸pað³gÃ%%¿ý×ïüù䊊úñãµTTÄ?|(}ó¦`Û¶èáÃÕ¤¤„àýû’-[¢èt†……b÷î²%ðÀŒÑ IDAT%µ~~¹'O&r ý°\ÆÆâøñ:]¥¦¨(Ê}¡ö³°«ªêÇ×RRûð¡48¸pçÎ÷FF2DáUYYRØ­›¬±±Œ¢¢hYY}hèç  Ú‰‰«Wwm<Ç!„8ÂB !Ô.=û©¾ž1w®ÁƦğüµk»ÚÙDE‡„öï¯tútRYY‹K3ôÈ­.^LÙµëýýûYßž¨QW×ðäÉPòßúõ‘ÞÞaaEC†¨À… Ét:cÅ ãåË¿zåìÜeüø—Ãc?,—±±prêÂqÇÀØ«®¦ûø Ö×—"Þž?Ÿ¼gOì¹sÉD¡&))|ë–•””pDDQQQ°° zvvå‹ùMjsô‹Ñ"ô'ÀB !Ô.ED RV­2!wÌÈɉ,Yb´iSTDDQÿþJoß RŠ‹kOœHd0D‰SYY±±%ߊ!;;mæÓ°¬­U½½3h´jâmTT‰¸¸Ð²eFdMM‰©SuΜùÄ><öÃr ²Xl;¶¶šd•sæèŸ:•ñížpî\²¯oËVŸ?×49ǵþ@¨Ãi^¡VTT”ýÏ?ÿ´Q4ˆO$%%©©©IIIqîŠÚ˜˜MMM^GÑjÊÊꔕÅÄÄ~؇¤­-_¾Ô@qq-Î8z4¾ñ¶Ì§L©©‰3D씪¯ÿ¶çêË—ZUU1AA–ÇæJp ý°\ÆÆ¢uÏQk’–Ö_M@€¢¡Aýv\w÷$_ßyyÑAƒ”UUÅED(Êiä |,8æ!ÄQó µOŸ>egg»ºº¶Q4¡6U]]ÍëZ´´p^^õׯtæ: 3³dd„@ZZ¨¶¶aáÂ& â"nÈȈäç¥Ó̵Zvvå/…ÞÒØ~Ã9jYY?|5rrª¤¥Eˆ·/_拉 >y2TAA”ìpéRÊÏÎ6ã˜#„GÍ+Ôúõë·nÝj›`¿ P(+W®u*‰<ú™›[uëVÆ/ß²Ø~Ã9j÷ïgÏ›g@ý¼p!¹¨¨fÈo/¡P(BBæ{ˆ¸»'~ùR+++Òähs„âÏQCµKóç>z”}î\rxx±¹¹\EEýóçùÅÅ5ffrýú)ÀÒ¥}}sW­ ¿p!¹G9))ᚤ¤²ØØ’óçhh°Þ¬IsæíÙS>6¶dܸçÆ©@DDч¥?«Ò€‹!„8ÂB !Ô.™˜È¸ºöÙ°!2&¦8&¦˜h$îÑE‰ÓÔ”¸|yàªUáqq¥qq¥ä†ÆÆ2\ViУ‡œ‹K;Þ‡†~ ý ffrƒ«9ò‘Jmù?[%¶¶0ožÁ«W4Ÿ,â-q5ò¦hÎÎ]‚ƒ ?}*»p!™øtçΞ׮¥2ß ŽÇ!„8ÂB !Ô>4~ޤú€JAA´ìì*SS9 ‹¨™˜È<~<42²(.®´ºš®ª*nd$ml,C|ª£#éìlܳç›Ý»ÿw×Y{{]++•€€üŠŠzâÉ[·FÓå,q9,ûØÚKœM†Ý¯ŸÒ¢E†¯^$&~¡R…¬­U™¯]••yð`È‹yééÒÒ"––ÊêêÔ†FYYm“c9B±Ga°?åáGÄ9.xŽZ‡‡ç¨uH­õûK£Ñ***Øt00Ðws£Í®O;WÚµ«,¹(.®têÔ@IIáààQ,Wƒ"ÄCì÷®“””TQQá¾?îQC!vŽOM-ïÝ[Q^^$-­" ŸNg8:êa•†ú °PC!vLMe_¾ÌÏÈøï¾“&é,YbÄf„j-¼ =9xð …Byùò%—ýׯ_O¡P¢££Û2(ô[< pzX¿(ÀÔwÎÎÆ#ê½zµ‰‹‹Ù“'C÷ï7ÂÝi¡ß÷¨!„ššTæsêBè·Á=jͰzõjƒammÍë@Ðo·z50€©G!ô{a¡†B!ħÚY¡FžõuéÒ¥nݺ‰‰‰éè踸¸44ü÷Hà™3gR(”ÏŸ?3oH4–––²ŒãîîÞ¥KqqñîÝ»?xð*++W¬X¡®®.&&6hР˜˜rÆç¨eee-\¸PKKKDDDUUÕÁÁ!!!¡qØ'Nœ022ÓÓÓÛµkW}}=ùÑçϟ׮]Û¹sg UUÕ!C†Ü¾}»Y÷Li AK !3ó¿Æ  ‚iq~@žõuétëbb £..À”z˜9(ø1õß¿§þ¿qÜÝ¡K‡îÝáÁ€ÊJX±ÔÕAL  ¦Ô7qŽZV,\ZZ "ªªààM¥Nœ##==صë‡o÷ù3¬] ;ƒ„¨ªÂ!pû6tìÔ#„j¦vyŽÚ±cÇΟ?O¼ÎÌÌܾ}{CCƒ‹‹KsÇ9xðàÕ«W‰×±±±vvvAAAkÖ¬yóæ ÑøúõëÑ£G§¤¤ˆ‰‰5Þ<--­_¿~Ä[výúõ‡¾xñ¢wïÞd·ýû÷߸qƒÜdË–-‰‰‰—/_&ZFF¼®ªª¢Ñh±±±Ýºukî×i7””àÖ-°´„)SàÕ+¼<˜6 ÁË „ØþL;ßS™™°};44@óSÂ÷ÔCl,ØÙAP¬YßS¯_ÃèÑ’M¥ÒÒ _?øžz Ñàúuxø^¼¦ÔÃþýð=õ–[¶@b"|O=Œ ßSUU@£A@ÄÆBN=B¡fjg{Ô×®]sssËÍÍ-++»råŠÐñãÇ[°êîÝ»§N*(((**Ú°aC}}ý˜1ch4ÚÓ§OËÊÊRSS‡š››{ýúõ&7_±bEAA¥¥exxxeeå‡ìììÊËË.\ÈÜíöíÛ‡ÊÍÍ-..¾víš¼¼ü•+Wž?¹¹¹aaaÆÆÆïÞ½«¬¬,** œ…²2HM…¡C!7~’zX± ÀÒÂá²>|;;(/‡S·oáC› ÅÅpíÈËÕ+ðü9@n.„…±1¼{••PT0y2tøÔ#„jŽv¹GmëÖ­Ë—/'^Ϙ1ãÞ½{ÞÞÞYYYÚÚÚÍgÛ¶m‹-"^ïÚµëìÙ³………þþþæææ %%µoß> ‹?6Þ¶²²òÉ“'ÊÊÊ<––“›7oš™™EGG'%%uîÜ™è¹råÊÿýïÄk{{{:>kÖ,ooï¡C‡*((ˆ‹‹÷íÛ·OŸ>@¥R------[²(íÎòå 'OB\ÁÞ½0x0ç­¶n…漢3àÞ=ðö†¬,hfêaÛ6øžzص Ξ…ÂBð÷ss))Ø·,, ©ÔCe%²ÑÏÏyÃ'Ož€¾¾>Ù"%%5~üø;w>|ø0$$äÑ£G»víjÝhùQ^LŸJJpä|úsç¶Â˜ÊÊL©‡ª*híÔC§N $¯^ýPTÑéðô)SêáÇÔÓ'L©))?v!$=‚?!õ­ª°²04+´¸ª˜x[Y[ššó%§ífL,Lt¸êp/î^ÛMAaüès£|ö:4+ôË×/¿aR„_逅Z×®]`ÕªU ÕÕÕQQQvvv99­ün ‰Q£FÑh´ &DFFVUUÅÇÇÛÛÛÇÅÅ™™™‘'¨€««ëáÇóóóKJJ®_¿¾bÅ ˜ìí!.ÌÌ€)õàê ‡C~>””Àõë°bÀäÉaa0f ܹiiP[ ùùp÷.@‡O}ÓSлêpÕÎÔ®í¦(¯)Í Í)kÃZTPY`¨h¸¤ÿk}ëß0BˆµË‹ س··ß²eË›7oŒ‰ #FûºZ‘««ë»wïzõêE6JJJž9s†¹›ÝªU«V­ZE¶Ì˜1cèС@§Ó?~üøñcæþ ÅÁÁ¡uCå;ë×ëW°?XY> áá°~=ôí ¶|X{{زÞ¼ï© 1Z;õàê ïÞA@0¥$%áÇÔƒ¬ZL©‡3`èP:?†S tøÔ·1 ‰¾Ú}yE«ñ™ã£,© ÛŸnçu,!Þè€{ÔÄÄÄüüüFŽI¥R¥¥¥'Nœøöí[%%¥ÖŸ<½LOO/<<|þüùBBBÊÊÊÓ§O c¾‰¬_¿þèÑ£†††"""ººº;wî¼xñ"ñQŸ>}?~ÛÉÒÁk–×ë´×G‚X/’×'CSf]ŸEo 7ùÿI»“Ü|ñíO·_‰¼r~êyK=¼‡ jZÛýÞ¡Ö%))©¢¢Â}ÿxè³äääϘêÔ©¯cA¿WNηgLaêyêqÂãÛ±·Å…ÅçYÌë¡Þ£¸ªØ3Âó컳7¼vQW^×y ³¶¬¶´˜tdNäö§Û©"T‡ž=ÔzˆŠÄåÇ]¿°ÅoK?~š2šï2ß¹ÍgDçn¯Ý|}WY­’“!ËkÊïÆÝí­Ù†‹§Å;û8{HOA ?>ì¬Ô¹‹rª02K39N„ç¨!„~j¡öaAßwbïøòp|€ž‚^qUqnY®‰ŠÉGÚÇæŽóìÓ³kQ×¼b¼:Éw’•*¬(Ì+Ï£7ÐÏO=ó-æ?Š›ksÖFSFSF\&­8­¢¦âÒôK « +.,~'öN\~q(öÚŒkMNôëç¨|{òuÚkH/I€ýû=‚=`¥åJ<¡?D¼á-B¨CR‘Tñ´÷4T4¬ª«ŠË+¨(˜k1—å”nP…©×®Ï0Ÿ!,(œü99*'*ûK¶”¨ÔœÞsºªvIQÉ3nØvµ¥%³436/¶º®z|×ñÆÊÆ &$¶qÈFQ!Ѥ¤ЬPòyðm!¥(…˜‚¸ \ba"ñ–|¶)B¨ÃÃ=j¡v£«J×' ž¤¥TÔVèÈêÈŠËV^u¸j¨hHt žõ©!£A¼í®ÖýªÃU9–q$E%]F¸lº9¥(¥º®ZUJUEJE€òß?\å©ò‡ÇÞe³+åsŠ €`'ùNÄO‚}OûñÝÆ§|N©®¯nÖ=ÛkÙ€eS{LmÜN~_„P‡‡…B¨ÑWÐ'_+I*)Iþ÷”0–g}ʊ˲¹Û™° på.l&¢ SMÕL›ûQ+ÒWÐgþ²±qëÖñž=ç«©©qî‹Úæ=BJKK+;;»í¢Aµ)MMͬ¬¬_„‡BýŒAŠœÜ¼ÊÊÂ)S¦8;;+((ð:"Ô´¶}„”¡¡¡¸¸ø˜1cšjg\]]»ví:|øp^‚ZÓ£G455yB¨ŒØº5¤¢ââñãÇ}||–-[6gÎ^G…~Uó 5|Vw‡çêê:|øpLtƒ»ÃêØ…ííí'L˜àééyâĉ7nìÞ½»ÿþ¼Ž ý¼ê!„ê8ÄÅÅ/^ìëëk``àèè¸uëÖêêj^…Z 5„B¨£QSS;}úôáÇ?~ƒ aZ}d¾úšìÝŽ½m°ÏÀ7Ñ—×pPUWµãÙ+w+£Fû ªêªÀ/ÑÏö‚­é!Sƒ}äÿ¶ømiÓHødÅÌÌÌNœ8áããsêÔ)ÞF‚¸ñ;.&¨®®vww d0ƒ úûï¿ÝÜÜ|}}}||dddÈn/^¼ðööNKKîÝ»÷âŋɇa>}úÚµkgÏž­««;qâDrr²ŠŠÊœ9sÌ27ƒTWWŸ>}:))i„ K—.½y󦻻»««+ó¾«ÀÀÀÛ·o§¤¤P©TssóÅ‹ËËËÿì Òéô7nøúúÒh4yyù!C†8::Љ‰±Ì[^^îáá‘‘‘¡®®>oÞ¼V­ZuçÎX¾|9± fff®®®ãr"Ž«ÔºªëªÝ_º&2€1ÈpÐ߃ÿv{îæçëãä##Δ߄ÞÞiŸÓ„…{ëô^lµXEú{j‚N_{wíìì³uôº'’ ’U¤Uæ ˜3¸K£ür1Hu]õé ÓI´¤ f–Z/½vÓý¥»ëtWæ}WI·#n§¦PE¨æÚæ‹­ËKü<¿ ôa7|ã|ie4y ù!]†8öwþ¾ìßç-ÿZîè‘Q”¡.«>oà¼ßóëµêNäX~m9± fZf®Ó]ÆåDW u$áÙáÓ¯LÿÇòŸ¿üÍëXÚ+× WÏOæ–”¢ç{ÎtÆŸ{ìÏÒÒrݺu{÷î566¶²²âu8ˆ6/Ô¾|ùbeeC¼}ðàÁ­[·ôõõëêêˆÆ†††¹sçzzþ÷‹ôàÁ77·§OŸš››@jjj``àÇ7mÚTUUEô¹|ùòÍ›7§L™Ò¬A¼½½·oßNœGÙµkWht*NŸ3gΕ+WÈq¼½½÷íÛW\\,((Øø VVVÚØØ¼~ýšl¹yóæñãÇýýý•••Éyoݺµ}ûöÚÚZ¢Ï… Ž;æää111éééÀrÝK`\NÄ~•ZÝ—ê/VÿZÅd}Ïõ[á·ô•ô“ëèßóËh˜{a®g0Sjb¸½p{úÏSsmsH-L L |øþᦻ›ªj¿Grù梛SzOiÖ ÞÞÛïo¯©¯€®ê]¡Ñ©`ôúœ s®„0å7Â{Ÿï¾b×bA¦ò[Siãjó:™iÙÃnqÜ•¿²”29ï­ð[Ûl¯­ÿžß7ŽÙsâ1Ù1éEéÀrÝK`\NÄ~•:6S5ÓäõɼޢÍý!_ów J ’•òvôÖ•× À›ô7tý–ÿ[Ðwˆ dɶv·æq ¿×ܹsccc׬YãëëËfOâ¹6/Ô6lØ£¥¥µvíZ==½ÄÄÄýû÷³T$ðôôÔÓÓ[ºt©±±qMMÍÓ§OÏœ9ãààðñãGoÇg×­[7vìØÉ“'KJJÞ¿ÿìÙ³6l K.Ùºuë¨Q£¦Nª¡¡¡¥¥Õ8à]»v]¹r…J¥.[¶¬OŸ>‚‚‚?;–¿qãÆ×¯_+))­[·ÎØØ8==ýàÁƒ±±±K–,!ö“¶mÛfcccoo/&&æëë{æÌ™þùgøðáFFF‡rss;þ¼›››©©)4y¸“ˉدR«ÛpgCLVŒ–¼ÖÚ‘kõ”ôó÷ûîg©Høð öÔSÒ[jµÔX͸¦¾æéǧg‚Î8œqø¸ã#ñßMXw{ÝØîc'÷š,)*y?æþÙWg7ÜÙ@– \²Õgë¨n£¦ZLÕÕÐ’o*¿v] ¹B¡.¼¬O§>‚‚ øI~ïn|üZIJiÍ:c5ãô¢ôƒ~csb—\^rgS~ïo³éfcßÇ^LXÌ7Î÷Ì«3ÿÜüg¸Ép#U£CS¹½p;ÿú¼›½›©†)4y¸“ˉدB¨±ÂŠB==}}²¥ ¢¬õ­‰*íµ{÷îÑ£GoܸÑÃÃױ ŸjÛB­¾¾ÞÓÓSJJ*88XCCF=vìX¢!0ŒÃ‡«ªª†‡‡ËÉÉvvvrrrûöí 0`Ñ8kÖ¬³gϯÇ÷éÓ§ÀÀÀ‚‚eeeî?~ü­[·~pCCƒ›››°°ðË—/-,,ÈqÖ­['$ÔÄZÕ×ן?^LLìõë×;w&§M›Ö¥K—{÷îÑh4òÀëØ±cÉrjâĉjjj.../^Ü»wo=tuu gÏžäñÐOÄf•~ö­[¬¾¡Þ3ØSJL*xC°†¬Œ6=¶ÇXÓm?æ÷ÙaUÕðÍárÔï©1·“£Êí{²/$5d€þ÷üö›uvö÷È{ŒûDûñ¾ì‘ IDAT˜XP^ ,¥Ìý ãÍÆßZòóü2Üž» ¿\óÒ¢“9Î:›uBMå·¡þüëóbÂb¯×½î¬ò}Ù{O벥˽è{´2yàul÷±d95±çD55—.ß^Ük··‡V]E]è©Ý“<Úâ‰Ø¬ÒϾu‡›;ñÒDçÎΉ–¯õ_O‡œ~ÿ(«4KDHÄTÕtQ¿EƒtqŠÞ@¿uõöûÛY_² †ŽœŽmW[{3{qaqðŠñÚødãñ‰ÇmŒlÈMˆFw;÷á‡3õ6ýí‘WGâiñTê0Ãa«­VËS¿íœJ šç5oÓÐMÆÊƇ‚%$ȈÉÌ4Ÿ¹¤ÿðŒð¼q9çKަ¬æ?ƒþÕeTã¯yâí‰#AGàHÐâ°ßßÖ²I¹Y̲¯e‡ƒû%ù•}-3T4$³ÀŒÁ`x¿÷özï•XHgÐuåu§›MŸÑs…Bᘔcù.ÿ]Ã/@LnŒÁ>– m/Ø/š\RŽ –v=úztNt^yž¤ˆdOž‹û-î¥Ù‹ìÀÍŠñ–¸¸øîÝ»gÏžýìÙ³áÇsÞñBÛj©©©•••“&M"ª4‚¡¡á_ýõâÅ âmZZZaa¡’’±×‡Á`û®  !!¬±˜777 ,**RVVæ~GGGö>œ¬ÒÒÒÒ?ë_QQ1jÔ(²x…É“'{xx¼ÿžüÑŸ7oó†óæÍsqqyÿþ=›`Z6›Uâr.VÖTN2ŸDTiCeÿ þz‘ð=¿ŸÓ Ë •¤”¦x|O 0 °¼òÈË¡ï‘ë˜&U)K)s?ˆc¶ù-L-®,n2œ¬ÒÒâ?ÉoajEMŨn£Èâ $&÷šìèñ>ûýp“ïùøc~Îsyàò>›ëür=›Uâr®£Ž^7ûÆìˆìâm-½68#8$3Äe„‹COöÛ ât¨êºêƒE…D + O‡œ&:¤¥®ðYÑI¾“±²q³fg£¹“r\Ìšúš×fÄ|{^d\~ÜâÛ‹GwÍ<)ƒÁXýpµÏ²%¡ aûÓíñ´øÝ£vÿ,T£FÄþŒ¢„bÈòŸ}ú+?lp¶°¢Ðþª=Ù¿¤ºäEò‹À”À+W,´,€»ã °µµÝ³g••Þ—?µm¡V]] MÈ#wz@EE>þ¼ñä¹VÀrø‘"îÃý šššVTTdÓ‡Ùׯ_F¶ŸXè@L׺±Y¥VW][ MÈ#wz@EM–>o*5µLùýñt~âñ_pîÑ”c›ßºjP”ä:¿u_F¶ŸXè@L׺±Y¥?ÍåÈËÙêÒêÛGlï£Õ§¼¦üÖû[Çßßý|÷pÃáJ’Jl¶}–ôL\XüàØƒ: J/N÷ùèC¡²Ù¤IOžL2´lÀ2eIå¸ü¸íO·'&ž >õå?dŸGñæZÌÓ{Ž05p¥ÏJ·×n Œ†½£÷5*@pv?zî|èùÇþË2þßþî«Ý·4wRŽ‹éá_¯§ ·}øv3 ³âªâ3!g®F]ežÔçƒÏ#%£µƒ×öPë!*$—·ÃÇ͘›“»Oî©Ñ³¹ËË ö‘o¶yó°Í=ôÔ“×»=û6¹Õ¿/ÿ=rêÁ¼?+Ž9.…B¨;б—£‰Š‰¢„â—¯_B3C×>ZëìAjܬŸXµjÕˆ#®^½:wî\^Ç‚šÐ¶…šºº:DEE17644×€††…B±°°Ø¿ã ¹™ˆûAØï'Æ ­««æ8¯ššDDD444§Á@XX|ÿú„ÈÈHæÃšáááÄtÌQ±¹¥ ÷ýNê²ê•ùc~ 1ÙLù•Õ P(,öOj*5*Üå—ëA8äWVƒB¡„¦…ÖÑ넹ȯŒDdD40ÈÓà ,= ¾}BdF$óaÍðôpbºoQ§ür="=Ž nÜÌÔÍ@RTÒy sAEÁèÏ“ŸO7›Îf[UiUÖy˜ EŒUŒUZ²7«‡z}£÷?uZ“<†Ÿî›èË\¨YêYnº‰xmcd3Ìp˜o¢ïÆ¡§tÿvfáZëµ^1^ÉE­yAs'帘¾ ¾ åÄĆІ@•¡ºŒtI+I{›þ–œÔ;Ö[P@ð´ Ê’ßöïZhYwÄæ¬ÿ'ÿŸj‰kå›þÊÁ¯ «(¡¸Újõ©S›}7U‘&~û:ܬŸPWWŸ9sæ™3gf̘;ÕøPÛÞGMII©G‘‘‘{÷îmhh€úúúM›6%'ÿ÷Ÿ$++«ÈÈȤ¤¤X§££ãççÇå»Väåå ”’’²`Á‚ââb¢±¢¢b÷îÝDü¿ ¹¹yBBÂúõ뉋X †››Û³gÏTUU{ôèAöܵkQœ@FF†³³3Œ1‚h‘””€”””ŸÆýD¿“’”R­‘™‘{ïm`4@}Cý¦»›’ ˜ò+©`ÕÙ*2#2‰–4@€µ‘5ñ?¿~\°k•A@^B~᠔”—W~ÏoMÅîG»‰øAsmó„ü„õ·×±2 ·çnÏ>>S•Qí¡Å”ßG»ˆâ 2Š2œ¯;À“ïù“€”Ÿç—ë‰)£$CV\–ø;Jb0„øˆý¶›†lj`4 ñ²ÙwóÕ¨«i[ÃÀN™ÿm %«¥+¯Ë2{­>ÌoÕ¥ÕÀBó¿ƒï‚‚*R*Ÿ+?·,†&5wRŽ‹™Qš¡"©BÔ$K]Kæ·Ÿ ?ÑèƒN2:`ÔygÃý††û mÎÚ@nYn+~;f¿òcð+ÃFæDN¹<åI“‚ŠæÛ||­ÿ¶ÿ››ãsçÎ-))¹wï¯AMhó«>wîÜikk»qãFWWW´´´’’SSÓØØXònÇŽ8pàâÅ‹W¯^­§§'&&–žžN£Ñ`Û¶mÜìÙj­AÀÕÕuàÀžžž^^^úúú‚‚‚ µµµëÖ­cÞ•E:pàÀˆ#þý÷ßsçÎéëëgff“8p€ùúMM;}ûŠŠŠš™™M›6ø´gÏž°xñâ“'OR©Tâ>j-›è7Û9~§íqÛw7ºú»ê(è¤}N+©*1Õ0͉%ïvqÌþØÀý_^¼úÖj=%=1!±ô¢tZ ¶ÛÆÍž­Ö\§¹Ü?Ð3ØÓ+ÜK_I_P@0!?¡¶¾vݨuÌ»²H&qdÄ¿~ÿž{}N_I?³8“˜ôÀ¤Ì×hÊiöÝÓ×PÅPTH”ÐLËlšÅ÷üjõ€Å—Ÿ 8I¡÷QkÙDˆ±«²ŒUŒŸ-~™‘–æöÊMŽ*wtüQ#%#rX–ÚüÜ\¢B¢?ÄL¡4Ñ”&ÿ)Øb-˜´Å‹I"V¬ÉñäÍzûÅsÔ 5"oÁ°Áuô:çκMP‘T¡P(#ÎŒ(®*n‹`ÚšŠŠŠ­­íåË—§Ný?{÷ÖÔõ7ü„„öÞ#@Ø[–2ÄŠpàBA«¢âª£ZµuÁÚ Õ¤úºq€¢ˆ(¢€8Qd#2ÂÞ$ ìMÆûÇõwBXz>OŸ>äÜsÏýžÇ×{ÏX>Þ±@¬Æ|g‚ \»vM\\¼®®.55•N§#¯üÇH}}ýääd''§öööÌÌÌääd …¢¡¡áëëËùcØQi`bbòúõkkkë®®.‰”••ÅÇÇwøðá~QØÛÛGFF‰Ä†††ÔÔT …"//´zõ£’O:åìì\PP••ÕÓÓcoofkkëîîÞÛÛ›šš×ïFì^è+[`´àÚúkââu­u©å©t=Ø#XAL Èû¿ïWA?ù`²“S{w{&93¹,™ÒBÑÖð]ê˃ãøûF&Ê&¯{mM´îêí"Õ²ª²ø¸ùÏ;Œ¼ëË^Ç>rG$QšØÐÞZžJi¡È‹ÊmZ=íËï×õ”³±sAmAVUVµÇ^Ç>úçh40[ [w+÷^Zojyj\a\¿±sx!¥"¦ÒØÙ˜Y“É\ø²ä%rhÐÓ±¬¹’ù–i[üý_n}ÙÖÝv êrHB@@n"3×O¬HìÛH|y<ómr¹¬¡Œ“«sù÷ÃXCôfªˆªPÚ(EŠ˜+¼*{ÅüQ]BÏÏØQ¼¿˜å¿Ó‹OWäcÔ,¹‰,) ¹Óf§²¨2/ŽƒÁT6U–7”nƒ;6¡,[¶,/////o¼X}©¯Y³ÆÕÕ5'' ««K§ÓwíÚE ˜Ÿriii=zô¨¹¹¹¸¸˜N§)©Ïc7mÚäàà@$~1¹)D¶v#€+V˜™™1oK0eÊ”øøx …RVV&""B$Ù?srrrrr*..F6 ÐÖÖî;RJHH(<<¼ººº²²RAAAYY™ù(ƒ¹r劯¯oIIIww72ó o`ì/Äá]uk¦­q5wÍ©ÉèÊéÒô]·v$ÌO¹´dµí|ÔÜÙ\\WLgÐ )!¦¯fú&}¢ô—‘Oßä ï€,l1ìF+ÌW˜̘·%˜¢<%þ·xJ ¥ìC™^„(Mdÿ@ÎÉÀÉÉÀ©¸®Ù0@[¶¿ï—O(ü§ðê¦êÊ• b Êâ}¾ßuW|—ù–Ô•tS»‘™}c!ïÒ÷ÃIÇé]Í»Ÿ#~öšãe¦hÖÖÓ–vëÝ-,=Ñžý¹.A.‹õ[(Y(Š*öÒzÊš:›ÐgfÈ몫iWåä>´¸žvýIᓾídÖdˆ>°uÚViAi…äëE¥S™õ9>@*9µ©³I?VŽ z3´2ßgn»·Í{Ž·‘¼24že¸•‹‘KÚ£´5·Öì°Þa,o,Ä+T×VWX_–¶Êd•ÁªßKpŒÚH~Œ¤YyaùâÅAéA‹ôÒ«Òÿ|öÅ NîØ„bff¦¤¤¡£3j³¡Qñ55???d{€–––mÛ¶Q(”Í›7÷­)""bjjÚ·\MMMMM“¡6PRRêwå[tq2N‰Ä¾Y æ•JXHKK3§(°.4¤»4ŠüžøyØz Û´t¶l»¹ÒBÙl×ß÷‹1Uéï«‘RS“êy…Cm $®ÔïÊ·2Â2èâdœ Jûf,D˜W*a!-$Í<œn ÀºÐîÒ÷`õ”Õ1ù1o«ßzÜñ`.?<ë0û)ŸR-)£:ƒ¥p…ñ§WÕJ¢Jsµæ>.x¼êæ*¤‹Á.Ò_t?‡uƒ–ýœ{aYah‰º„úæiýüâ6‚AFP&±"Ñì”R2û z3ט®y@zW—·:äÓ#^ 3OgÞ£¼Ghå%úKR*Sîfßݶ‰¥ýF+F=f#£fÝLÜâJ㼟x{?ñFéÊèjJi"KéÎîØ„‚Á`ž?¾ÿþñŽúÂר”ý÷ß—””ÔÓÓ366–““ üí·ß¾Â¥¡¯à÷ˆß%wKêÑ3>j,·W.8)XWð7øýBc‹Ë}ÝíúN›jjÜXn©*S—r²zÖÝ5wœò#Q’ȇãË™*šw:ŽN“w<îbä"ŠåÅñš(˜­ bž0U4½ìrÙHÞiÇÅÐ%dUó"j#‡åžYrÆLÑ YŒwŒ z3yq¼7VÞXe²JR@’Ç«+£{vÉÙéj_ Ç`0¾ó|X¬EøD¸±ÜJ¢J³5gŸ]rÖZÕz¼"£fgiÌúwÁ¿ÚÒÚ|8>iAi7· · æ}8¹c 2—®ªªj¼¾€a³d@_Èr²lVöï————¿¿ss3òÑÐÐðÂ… –––CjdòÚ¿¿¯¯oFFóKÌ ƒÁìÚµËÏÏ“Ê^¼üŸú7wþïûU4¼°æ‚¥êwóýÞÝïã›á™ÁüsbÞïß¾( ²rá@ˆDõ€Š“»:®‘ÿ¾ëéé155=räȲeËØ×¼té’Ï7Æë¯r‰ôìÙ³çÏŸ#£ªH$/ïseêêê>|øäÉ“²²²ææf99¹~øá§Ÿ~’`®ÖÞÞ~é񴯯ØÊÊJAAA"‘¸qãÆéÓÇ6ŸÒûº¯ñêÓËËëðáÃåååõõõòòò**£9ÒvâhlÜ7Ãk¡×áù‡Ë?”×·ÖˋʫH|gßïcã ‚&---‰4h¢6¾JJJœÙ×Ù±cGzz:ú±²²òÚµkÑÑÑaaaèÊ£ííí‹/.--E>vvvÖ××'&&îÝ»wË–-cü0|¥iÿ8Ž“!\ߤ¯0JlÜá¸pœ áú&}Ï£Ä&¬¼º¼ ::KcÖ¹¥“u êo¸kÐD §§G"‘­æááááá1hµ1‚Á`tuuííígΜ¹oß>æ•YQ2226l˜5k@HOO÷ôô$“Éÿý÷ßñãÇ‘:¡¡¡¥¥¥JJJȦÛííí·oßöóó X½zµ€€À×íÖ€àúLA€¦¦fddäxG155µ ?´M@@óG[[[??¿eË–1oŒTXXØ»wïÔ©Sx<~Û¶moÞ¼III©¬¬œ8³_a¢AзFGZg,¦FNßp× ‰@AA¡¥¥¥½½½§§çÂ… Ož<¡P(D"ñÇœ;w.’1QËÎÎ^¼xqߦ$%%“’>­TÜÞÞ~ñâÅèè說*g``°eËæm¿äÕ–Z¼€ tËï'Nœ?>22òíÛ·×®]«®®&{öì™9sfggçÉ“'£££›šš 92F¹LÔ ‚ àûJ×ÖÖîÛ·/++ )ìììüðáCRRRTT”¦¦&‡Méêê"?477»ºº}Zû·»»;)))99ùäÉ“ÈP³´´4W×Ave7oÞ©S§†Ñ#TLL ÒZâââråÊ•“'OJJJvttܺu+%%ÅÁÁ%‡»téRDDòsAAÁÖ­[oݺåãッKKKÛ°aË/Xæ4ŒŠ¯±<AAŸ¸¸8 ¤¤$++K]]ýîÝ»ÙÙÙiii!!!ýî£h``Pü¥;v˜ššž9s©àããSTT4wîÜ{÷î!­ùûû =z´³³óëô«¤¤ÄÇÇÇÈÈhåÊÏë¶())ËÈȬZµÊÀÀÀÒÒòìÙ³îîî'Ožd9=66öرc)))iii[¶l¡Ñh>|¸zõjffæË—/­¬¬êêêÆè­1|¢AAðññxxxøøøŒŒŒx<ÞÜÜÜÜÜœ“Î;wýúu<èé鉌ŒÔÐÐ8}ú4òÚÇÏŸ?¿¹¹ùÈ‘#©©©Ó§O733ëwBÀh)//www?{ö,óÖØ #55µ¼¼-éêêÊÌÌ,++cy‰¹cÇô™ß/¿üÚÐÐpýúu===€€€À¾}û/^Qƒú7¤•!‚ oN`0˜… ÚÛÛ'&&fggGEEyzzN:ÕÏÏÍÀúºqãÆ;wnܸ!""ÂÒ ƒÁ Ñh}Oéííc9F---mÓ¦MRRRAAA,YàöíÛX,öôéÓÈ >>>ggç>?~üÑ£GîîîhM–‘g ¦o ³¿7‡–¨ijjjjjŽ|esh‚Ã`0›7oæpgh²@v&€ H{{;ÉÆfÍš5kÖ,@AAÁ¼yóΜ93Ðöaaaׯ_¿q㆘˜s¹¢¢"ÁíÛ·Ç>ü/¼xñbÇŽJJJAAAè,NfMMM} ‘̲ßCã>Qƒ ‚ ÝáÞ¿ïáááâ⢧§'##ÓÔÔ “Éýžqîܹ7nô͇iááá»wï^»v­šš//oUUÕ»wïBBBnÞ¼ÉÃÃ3cÔ>|¸gÏ    –Ü¥§§¿}ûö}ûö‰Ä®®®¸¸8d:eu"€‰A“C][Ý­w·,•--•‡¿½`^]Þ“Â'NÚNDɱÝH£¢±"‚1]mº±ü8l[ÓR“QQÕ\ŇãÓ—Õ7U4í[‡D!å×å×·Õ‹âEÍ•ÌÕ%Ô¿~œÐDƒ$j¼¼¼/_¾|ùò%ó! ³`A?»b$$$üúë¯4ÍÚÚš¹]GíСCyyy‘‘‘}'Eû]¡µµ5…BA?¢ÃÅRSS‘´ìßÿ¥Ñhùùù,s „„„222ŸwïÞ––öæÍ›7oÞ0×±°°@ž#N0Qƒ hr ´RâvÚìI¢–KÉ ˆДÒÅD­¦¥&,+lšÊ4s¥Ï%T4VÄñ }åD­©³iÇýI•IÌÊžY|FNXùø¼øùŸÏþ¬h¬`>ÑAËáÄüxnü׌šhêêêVVV—/_ ËÎή««Ó××wwwŸ6mZßS ú†A^Œ>zô¨´´”Á`(((˜šš._¾|,V㜑‘Qxxøùóç“““ëëëyxx¼yóÖ­[×ïB$ã&jM2B2#ÌÒÆHMKM@|– Ëœ¨—æ®æÄŠD‚ÁPÞPNH®¾½þIᓬ÷Y[÷Þw¿ÔyW󮢱B_V_CRCJPªôcéóâç11xnü‰ù'Æ7~h|KKK‹ŠŠÚÙÙÙÙÙ Ty¯ÏuëÖ­[·Ž}³¼¼¼7nܸqãhÅÉò ¬¯çÏŸsÒŽ¦¦æ?ÿüæ¾}ûöíÛÇRxÿþ}–11±±[a&jMÒ‚Ò;mvŽw^,lMóc¼:»º…WæÔæ”~,U“PÌÒ˜µÌp™²¨2ZçuÙë ¡æ=üÓñO,Ï8Ä M ÅÅÅêêð%øÄ2ú‰Ú_ý%//Ï<¯u‚˜°qh‚Äÿ×_ÉòòîîúãF_60Möø¿‚~Ǩµv·¾*}En"óâxõeõû>Óªm­}Qü¢¥»ECRÃN­ÿ'4-±<± ¾€J§ªŠ«Ú©Ùñâ>½‘A‡šÊ&”'äRrxìÔìE‘ ©äÔ»Ùw‰‰4ú§@, ererÖû,^ïtµé1Â(Ü‹ ó ³¼l•”ž¢0%¶0¶£·)1”3d9ËVÕVMB­øCq{O;&j߯’’’ 5Žc”¨™™™{>Ñׄ ¬¯£G„5kÖ0Nøÿú+ÉÌLvæ6°¾ŽM$„׬Ñc.œDñ—¾cÔb bDhínEë˜(˜œY|FZðÓ‚Iw²îy|¤‡Öƒ|4–7^ Ë::³&ó爟«š«Ð9a¹³KÎêËêƒÿ 5ãÁòü÷ObE"RÇ…;hpé@ 9%,+ T‘”Tñi j4Q£Ò©[înyZôùˆåÂw<¾Ä` ›nþÿ°aÍÏÍïaéÁ¦‹¦Î¦ÌšLa>a6ÓhtZSg“œ°œ¾ÿùqÐ÷ ³³“D" º¤ô•~¢vðàAyyùQovä&l`}=ztÆŒ,‰Ú‰ÿàÁ©òòãE?&l`}=š0c†K¢6‰âŸ òêòvEì¢Ò©rfŠfm=mO ŸfTgl»·-ôÇP “õ>ëpÌaf®dn(gØÐÑð¸àñ™„3ÌT7W¯ ]×ÒÕb$od$găãÉ©ÍIªHÚ¶ñÉÆ'‚¼ŸÖö L ìèépÖs–”"Õ’+ÿxú‡–”–¥²¥…’Å2ÃeaYaSU¦Z(Y°˜ØÖÝæ¬ç,#$Cª%½)s$öÈlÍÙB¼BõëtÂiôÉ\¿$$MÔ;ƒÒƒè z][ÝÓ¢§­Ý­~ ýØL¸’zåCû‡cÇØ7 }Û’’’zzzlllÆ;è c’¨z›£bÂÆ¡ ÿÁƒn(7bÂÆ¡Éÿ×w)ù•N]g¾îà̃Ȳà¿Îøuɵ%ÕI•IÓT¦]M»J£ÓvÚìDŸoí´Ù¹ðÊBæF.$]héjñžã½jÊ*´ðjÚÕcO=È}°ÒäÓþͽë"Ð'R©=ûërÊeKeKs%s ƒÌfPY IDATúÜfµ%È^Zo´G4úžtÔþ°¬°TrêLâÌúµÝjû OÔ½9  ñÈϼ8ÞóÏÕœ;PågÅÏNƝ3ßÕ>Jù®½~ýZ[[»ï þÐøúcÔ¨Tê³gÏrrrh4š¶¶öœ9sm_™¥§§'&&¶´´(((8::¢¿P¨Tê±cÇ´µµ]]]óóóccc»»»§M›Ö7åommŒŒ¬¨¨PTT\´hFó÷÷·°°prrêçͲ‰m lúË|ÝwïÞ½|ù’F£ÙØØXZ~úKº²²200N§—––zyy!…îîîaH7vH’¾C©¨Tú³g•99h4º¶¶Äœ9*||¬¿®ÒÓ)‰‰5--= ‚ŽŽªÒÒüè¹ÇŽ%ik‹»ºjçç7ÄÆ–wwÓ¦M“·±aÝT®µµ'2²¤¢¢EQQhÑ""Æð÷O·°urRëçͲ‰m lúË|Ýwïê^¾$Óh KËOË"TV¶æÐéŒÒÒf/¯¤ÐÝ]@ÒR¿UéUéX vÝ$KˆáŶLÛr(úPzUú4•io«Þâ¹ñÛ¬?'OJ¢J+ŒW\J¾„–$T$`1Ø†Ž†3 gÐ]Û{ÛÙï³É§j u2¿7t7s?Ÿx>½*}Ð —è/A³4À õaYa”V ›SvØìà ÷ƒçßi³“F§}hÿðºìõ‘ÇGâËâÿoñÿ¡÷ ½ûÁî™Ä™'œùu¡É‹Á`¼xñýš8Æ|ŒZnnîâÅ‹ Ñ ¡¡¡VVVÈG …²råJæ™´üüü§OŸF¦ûR©Tooogg犊Š +yxx\¼x=%--mÁ‚µµµÈG99¹óçÏ{{{oÛ¶9QCã°Yö±õ‹}Ñëfee?~­óã?^¹r‡ÃUVVz{{ÊÊÊ3fÌ@5Îo,‡–¡T¹¹/¾_XØÈ†`hèB+«Ooi)”Ž•+>^‰Vàçç>}Ú~ݺO•·w‚³3±¢¢åÀWèÂO/~~–V»`Á½ÚÚv䣜œÀùós¼½¶m3aJÔ>Æa³ìcëûþ¢×Íʪ?~<­óãºW®8àp\••­ÞÞ €²²fäÀŒJ‚Èn,‡ü¶µt·H Ióá¾øW2“±¹«ù¿¬,ƒe® $ªÄü±¡£Æ ŠïgAæ¡o,gqa¸D²k³ ]º < £Ò©lN•1jbx1ô9"NÛvoÛ“Â'11ŽÚŽÌÕB3CÇž£9ÇßÙÇø®%&&’Éäùóçw «±ýÙÑÑáääTQQ¡¬¬ìèèÈÃÃóôéÓ¼¼¼ùóç“H$9996þü´´40wî\11±’’’ˆˆ©S§"í$%%EFF:::êééUWWß¹sçÒ¥K®®®ööö€ÖÖVggçÚÚZMMÍ9sæP©ÔÇ£K¼°Á¾YcR‘j ÈuÉdrxxxpp°†††§§§²²ò‘#GX&„á]ˆ}G®££×ÉénEE‹²²°££*öéÓŠ¼¼ó燓Hëääh4Æüùáiiµ‚Èܹ11¾’’¦ˆˆbÇ::S§¢qÖDF–8:ªééITW·Ý¹SpéR¶««Ž½½2 µµÇÙù~mm»¦¦Øœ9*•þøq¹‡ÇãAÃcß,‡± ©¿Hµ„„šˆˆbGGU==I2¹5<¼088WCCÌÓsš²²Ð‘#VG&"è5AxxbßÁož0¯ðû–÷]Ô.æ\­²© Â'‚ü¿¶µ–Æ 1çjä¦/öÀæî¡õl´ìgy'æqYÎb0ÕÍÕ¼¬_ܨ•1j̰\X-‡§EOIs¢v>éü‰—'œ´üœýXÒYè;bjjª££3Þ@¬Æ6Q»yófEE…••Ull¬€€ ··×ÍÍíîÝ»gÏž=zôhxxxZZš››[PPûéOŠ´´´iÓ¦ùûûߺu )©««»wïž³³3òqîܹk×®ŠŠBŽšš‡ˆˆ@GGÇìÙ³‘–Ù`ß,‡± ©¿Hµúúú«W¯®]»ù˜œœlccãççwðàAeee//¯cÇŽ©©©¡¯>‡}!ö¹›7ó+*Z¬¬äcc]¸½½t7·‡wïž=ûîèQëðð´´Z77í  yXì§w.iiµÓ¦Ýô÷O¿ukþÿâì¸wo‘³3ñqÖ®ŽŠ*EŽüšš6ÕˆˆE<¢ãÌx±¼ÈÕG¥_#£–õ>KYTY/Š–ôÒz#HIÏû0ú¾ð½˜|q¡ÞÂóNÀ, ª¯¯òä‰Ïxõclµ„„€··7’L¸¹¹?~÷î]dYá§OŸ?޼žC†‰ˆŠŠ¦¥¥¡í˜˜˜ Ùy›YSSƒ|LLLxzz"Y€ŸŸÿСCóæÍcûf9ŒmHýEhhh YÀÒÒrÑ¢Eaaa¹¹¹††¬ëäBì;8r Õook$™pss?n{÷ná›7Õ€§O+‚‚<Ç'ÿïƒ!*Ê›–V˧ šm·™55mÈÇÄÄ€§ç4$Kðós:4uÞ¼pöá±o–ÃØ†Ô_„††š¥,-å-"†…ææ~44”bó.ľƒß¼ å=ºœr9­*mŠÂ”¶î¶gÅÏ:Œå§*O¸›¹?Ê{t*þTBE:ë“û‹W¥[­¶ÆÄì‰Üs%õŠ‘œ‘ŸP}[}á‡Âì÷ÙËD>ùÃsã¯8ÏÕš+%(•KÉM(OÀ`0,6 G•D•¸0\w²îPéTdy‹‘,Ì;Â1jòÝx{cªÊT%Q%~nþº¶º×e¯?´æž§ýéij‰g/&_æVUf™ëfì&%ÈѯRè[rîÜ9111GGÇÁ«B_ÝØ&j555æB555 ÓÐШ¯¯ :jJIé‹"‚‚‚€ÞÞ^æ«°¼ìûºp¨Ír³Aû‹PUUe9)ANÅ ±ïàÈ56vÔÔD™ ÕÔD1ÐÐШ¯ï\¼˜Å¾%¥/–*üô ‰ù*‚s–Ãh–ÃØ˜ Ú_„ª*klH rú(^ˆ}¿yº2ºþÎþ¢dÖdfÖd"…È:jÈyC9ÃcÇŽ<>’JNM%§Œäê.üãéh#Š"ŠAnA{"÷äÔæäÔæ å:Ò:h–Xo¾þuÙkä¹øß:jèrn¢xÑ%K²‚҃’qÜAÁXÞ827òeÉKæBu õóO Xec% ¥«åô›Ó,§ÏÖœ µï ™L ñôôß7¡Œm¢†lb_ZZÊœR {²Š‹‹£~úé'))Ö?øùŸ‚Î|•òòrtlòqD¡+¶Aû‹(++c9)ANç<¶A/4ÖÄÄø¥¥MjjŸS“ÒÒ&ˆ‹ó¡~úÉXJŠõŽñósúki¤¼¼›…|YìÉmÐþ"ÊÊXcCJÓ9mÐ }oúîõé å`¥bõªìUUSŽÇ@Ö€egC‚Í‹’­Ý­DIâ õ…õ…;mv%>?‰Ô•ÑÚõ¶úmNmNgo§¬¬–”–ŽÌ#uxq¼AnA¯Ë^ÔðóðÏPŸÁ<—pÜñøBÝ…¹”\tõ1•6;ML˜«!…}7EŽÚŽs4ç¤U¥(nénáÑ“Ñ3”3džï9KsË,”$¿d¿åÐ7ìï¿ÿVTTtqqï@ þm¢feeuåÊooo+++$¹¡R©‡X[[ìíí©Tª§§'ófõµµµd2y fYL›6íêÕ«ÇŽ»ÿ>777 ««‹yNåð #¶Aû‹(**ºvíóµû÷ï‹ŠŠ¢wðññ1?ö…Æš•••+9ÞÞ VVòüüÜ*•~øp<ÀÚZ`o¯˜M¥Ò==§qq}þ{¢¶¶Ln¨YÓ¦É_½šsìXÒýû‹¸¹¹]]Tæ9•Ã3ŒØí/¢¨¨ñÚ5óµû÷‹EEyuu%>>óƒ±a_è{Óï^ŸÂ|ÂóuØÍS“–C—CèHëèH³—Æ`0¦Š¦Èȶpa¸ìÔìÚ„ ƒÁX¬¬ŸÇ"9Kµ~ G– ˲Ñ {¢½=qtªB“Ý«W¯bbbΟ?ņ&š±MÔV®\yìØ±øøx]]]trbnn®˜˜ØÖ­[Ë—/÷÷÷¿páÂãÇíííedd‹ŠŠ^½zõË/¿˜›³nÛ×/77·#GŽDEEÌ™3‡F£ÅÄÄ´µµú.ĹaÄ6hRRRîîî·oßÖ×ׯ¬¬ §R©»wïÆá>}D"1##cõêÕªªª\\\È:jøÐX[¹RûØ±Äøøj]Ý+èäÄÜÜbb|[·–/×ò÷O¿p!ëñãr{{þÆÆ®¢¢ÆW¯ª~ùÅÌÜ\–“«¸¹i9ò&*ªÔÀàêœ9SÖÖÖ Á×;œØí/BJŠßÝ=úöí|}}ÉÊÊÖððB*•¾{·÷)Ý'E32êV¯ŽRUáâÂ ë¨ ãBA#ÑØØ¸ÿþ… Μ9à ÌиÛDŸŸ?** YîëܹsH¡¼¼|hh(òš‡ÃEEE­_¿>22200=QAAÁ‚u3– Ý¿áÂ…YYÙþùgõêÕèXûaFlƒöaee¥­­íë딬ZµŠyãÝ»w¯[·.88ùˆ¬£6Œ 5~~¥Èr_çÎeþ/ ÁÐÐÈkJŽ+*jéúõ1‘‘%ŸRP´°à4N!!žû÷-\x¯  ¡   ++ðÏ?3V¯ŽBÇÚÃ0b´¿++ymmq_ß”èèOï¸W­ÒaÞx`÷n³u뢃ƒs‘È:jøAÐHxzzb0˜ßÿ}¼Øó½>uuuI$ÒÓ§O‘ôµ´´˜w&””|ðàA~~þëׯëë륤¤444lmm‘ǰ8îÈ‘#ÚÚÚ_Ã9r}Q°´´,**zðà™LVTTtvv~øð!ør4=s`6Ë>¶~ Ú_„ÏòåËãââètºµµ5˪lk×®2eÊË—/ét:’¥ éÆrØÁa`Ù’RWW‚DZ÷ôiENΡ¥%îà@`Þ™@RÿàÁâüü†×¯«êë;¥¤ðb¶¶ŠÈŠ8ב#VÚÚ_Œ«C Ñ…KK¹¢"ŠÉäVEE!ggâÇ%àËÑôÌqØ,ûØú5h>>Ó—/׊‹«¢ÓÖÖ ,«²­]«7eŠÌË—•Ýt:YGmH7–ÃB#×ïP3ú\¾|ùñãÇ×®]¼64~0èšõœ@Þ¹sgÌâ¦ÜÜ\ôùÙ‡lll 2339\ðâëèêêÂãñÎÎÎ÷ïßïXØÁ`0»víòóóï@>ÉÍý¨¢"Œ>?ûð¡ÓÆ&¤  !3s-‡ ^|]]T<ÞßÙ™xÿþ¢ñŽ¥£õû—B¡ C B$ªPœœ¾—…B h"è÷]GGÇáÇOœ8Áüˆ!&&fçÎ`³Ñ4Fedd8¯ÿìåããcooO jjj=zÔØØ8sæÌ •¥AÃUêã“bo¯L ˆÔÔ´=zTÚØØ5s¦ò„ÊÒ ‚&ƒ±wïÞØØX}}ýõë×#…{÷î]µjÌÒ&…o$QÓÓÓëêê ý¼æ¸™™:Æ šìôô$»º¨¡¡h‰™™lpð C}ç.^¼øäÉÀ?ÿü3gÎEEÅ´´´7ÚØØ @ß7’¨9::VUU=þ¼´´‹Åš˜˜ØÙÙdÊçéwè4(GGÕªª-ÏŸW––6a±\&&ÒvvJïëíèAиHHH8yò$2À‰F£:thëÖ­›6mš6mÚ©S§àz“Å7’¨DEE—,Y2ÞQ ‡Ã±ÙÁbCT”wÉñŽb8›>/~”tsåMM)ͯ%ı–Š—×–~!ãÒh4Ÿ²²rQQ‘¾¾þצ¡%j?~¬ªªÚ½{÷EMOŸ>…_ô7&33SQQq¼£­Ý­)äkUëÑjPMBíÆÊ " £Õà8Ò”Ò<2ûs‰ª¸*óǽ‘{ëÚêLM×™¯Ãb°73n¾.{½ëÁ®‡ëraàà™ ¥÷òe––ô¥'777F£Ó颢¢ÆÆÆæææ¦¦¦ÆÆÆ8|F3™ íÛ***ªªªò÷÷£h ‰#'''''g¼£€FYg'ëãhx,•-Ç;ŠÑ!Ä+Ħ/™5™o«ß*‹*_s½Æ‡ãÌÔ˜¹äê…ô¦ü­ªíWŒÔî²²TdQ...`mm=eÊ33399¹AO†&¬¡%jÈÞáp¯Ohta0n°|¼F—ËÔÉü².³&Ó÷…ï³5æJæÁoƒIµ$iAécǽ‘¹‘ïªß½o}/È#h¢`²Ìp™Ÿà~ÎýË)—w2ï¼){ƒ4usÕM䇲†²»Ùw ë ©tªª¸ê2ƒe:2:ƒFÒïµrÊÃ܇ä&2–Ç@ÎÀÕØUR@’%ò) S®§_Ï£äñóðÏÒ˜µPw!óºÜùuùáÙáäf2ƒÁPSY¨·POFotîÝp½)Xn´ÉÒX öÇ)?ˆ>ðªôLÔ&Ž{÷îpU]}ª““¹©©©‰‰ ºù54ÙÁçŸMÍ]Í)äCyãOŽ"C¦tetMMvgíÚ{ÚÑš11—S.‡®UQ¬n©Î«ËT5WU5W17x3ã¦w¬7ñé=Ñ«ÒWÁoƒÿtøs™á2ö‘ô£ö׳¿SÑÏŠŸ]I½rÑåâ…)härhä€èüè§EOœ\-<;ü·¨ß˜Ç€_N¹üÏ‚œõœ cuÈj½Ÿ™}(Q¼èÿ-ù?ö}©k«;uà}ë{1¼˜¹’ù"ýEüÜüèÑâÅ#y#æS%KØ· }Múúú4ýüóǾ›²C“LÔ šL®¦^UWÝi³SYTY˜OÐKëåÆro°Ø +£+Á/ÑÒÝ’\‘ò.$ >àïy/Ò[$Ä+tôÉQ#—EzŸ'¼­~ëëÅÏÿÒd¥‘œ–'§6çJÚ•ßÿ>Ueª¢ÈóÅÆ¦â¸pkÍÖZ([´vµ†e‡%U$m¿·ýÅ–¼¸Os뮥]SWÝe»KJ@ŠD!]L¾¦æbè@û­1]cE°ÂqáÊË´tµ°¹n 9…}¢†>ÒcƒÜD&7‘‘Ÿ#s#Ï'\¨.¡Ž”4v4¤¾˜ã)-( hêl´qè«ÑÐЀ¡«à÷ AÐd"-(¾6ÏGKÄøÅ¢7DÇÅÆ•Æ}lÿØKëð`yÒÈiäÁ›¢ˆ"ó`¬À”@:ƒ¸<yèøøƒ±‚ñºÛë"s#·NÛÊyH·ÞÝø8ù ³Jõœ×ÜZ“X‘ø¬ø™“¶R(%(…Fþñ3E³C~¼ýî6’¨á¸pš’šž³=ÑfÝÍÜ[»[Ù\7È-ˆÍ* n,7ûÈÅùÅ´ ä ø¹ùK>–Ü̸In"ÿþS”Gƒ ±\_,d|Dî3Ac &jM&ZÌY ¾­Þí†ËkMû,'ó}&ƒõí`0 ÀPiT0ô—zùuùxn<ó;J ãjìšX‘˜GÉC5'm'æÈ‘çvõÈÇMS7í‰Ü³ûÁî™Ä™:Ò:jj\.!^!6×µP²Rœ}Emˆàù4’i&q¦«±ëÒëKK>–¤‘ӤØ_+£Ñ!S0Qƒ h2‘f¿ð& ª¹jšÊ´…z eex°< fÔ~ö‰ZGOAK(Oè{¨ï°ìuS»…y…™§© ÝÔn´yQËL/ZÓRƒü¤¤¥‹?SÚ(2‚2havm6@Fès ©–Ä|V{O{éÇRd¼BU\u‡ÍäçœÚœÕ!«ëÛêÙdZ£2FÅû–÷ôÉŸ¡œ!àEñ‹ù:ŸWÁ}^ü` g0ÔÆ!†ï:Q;yòä¾}û^¼x1cÆ Nêïß¿ß××7##ÃØØxŒCƒ ˆS"|"¥K ê •5;Dè¢v¡‰2±²©’ù¬9šsâb böØíAž~Z»[ïåÜ3S4R¶ª¶EŠ~}ø«¿³¿^ JN=Ÿt9„V{Rôänö]dEÎÞÎCч:z;æéÎCŽþýòï¥KÑQü2‚2ÜXîr ›ëŽpŒZT~ŽïõgT:õÖ»[‘¹‘X.,z~ þ€çÆ?Ì{è¤ã„ì+•JN½™q“Ëí å0È} h4|׉Aß{¢}*9Õùª³–” ¬¡ ÏWQ@GV©J¨â¹ñáÙá9µ9¢|¢€›«nzXz<)zr3ãfhf(Aœ Ä+TßVÿ¾õ=N \Èîz}l´Üø ÷Á›ò7¶glÕ$ÔÚºÛµÐ\Œ\˜÷YÒ‘ÖùíÑoÿÆý+-$]ÖPÖÖÝÆÏÍÎZ¸šzõBÒq~q%Q¥jOч"*j§fÇæº#£Fª%O:çÆ+‰*ñ`y*›*‘I¦›-7£ï—EøDvÚìô}á»9l³†¤Ž —_ŸÏ`0~²úIVHv$W‡ ˆCßõ {÷îe0>Nƒ hbZg±n…Ñ `äÕååÕåÉ‹È.Džl!øp|gäÅñÖ¦SÇTüÜü!+CVMYÅå.þPœQQÕ\%Ä+änæ®';´ef¥¥BV…X(YtQ»r)¹•M•|8¾-Ó¶ ‹ñ¢ë/Þn½½±³1û}v[wAŒpÍõš²¨2rtÿÌýšRš  ™5™yuy\.g=çóOŒøö h¾î|-‡^Zoa}aNmNKW‹œ°œçlϽv{™«m´Ü¸×n¯@ч¢¼º<^,ïÖi[wÙî»À bŸ¨A49ÊÞXyCEL…¥‹Áþéøç¾û*+„ù„‘­*9cÈïfâæ¬ï\ò¡¤“Ú‰¾.äôžã}ØþpÉÇ’ÎÞNY!Y!Nö¯ì»×§ª¸êÍU7ëÛ꫚«xp.öõõ½uëzÊï¿ÿ^PP4C4*+D訙’Ù/Óùšñ@ô=û®Ç¨±øùçŸëêê¦OŸž––ÖÞÞN"‘–,YÒÚÚºqãFæjwïÞýçŸjjjnÞ¼)..üìÙ³ñ ‚ ÑÕÑÛ eë÷¿ÂúÂñ‚ ï|¢öI{{{tt´´´tdd¤°°0@WW÷öíÛÆÆÆïÞ½+,|NÊOæIDAT,ÔÔü4{k×®]¿üòéßÓnnn4mõêÕaaaöööã=A£GELåÆÊež¦À¡F×A &jŸ”——S©T[[[$KCàp¸¹sç’H¤ââb4Q›;w.ó‰€âââ¯-Ac‡Ÿ›ŸÍ`¸a`?º‚ ˆ øêó ,›Àp~Ê0N„ ‚ b&jŸ÷úõë––´F£ÅÆÆˆD"Zøøñc棣£êêê_+R‚ ‚¾0QûD@@ÀÑÑ‘B¡,Z´èíÛ·yyynnn999ÆÆÆè{O€¿¿ÿ¿ÿþ[[[ÛØØòóÏ?–-[6~±CAôm‚cÔ>ó÷÷ONN~ñâ…©©)Z(((xñâEæjK–,Ù³gÏž={Ð’U«VÁ™A:øDíóð255µ´´´ 6(((àp8iiiWW×ÔÔTæEÔû÷ï?uꔆ†ªªêüqõêÕqˆ‚ ‚ oÝwýD ŽÆÇLJ–())]ºti ú>>>>>>ccã;w~…!‚ úž}¿OÔª««###a¼c ‚ êÇwš¨mÙ²EQQñÝ»w¶¶¶222ãAÔ¿ì÷ÙDb@|ÀxAãã;MÔâââ‹- ï@ [iUiD♄3ãAÐ}§cÔÎ;wîܹñŽ‚ „œAñ~¸õ ôýú~Ÿ¨AAMpßé5‚&W¥¯Ö‡®?dHOVÏï•©–¤&¡vßý> •œò.ä]õ»÷­ïyML6OÝlªh 8“pÆï•Àï•òyBÃ`0²ÂB³B ê h šª¸ª«±ë*“Uƒî‡F¢%¥å÷Ú/’ÇÏÃ?KcÖ^»½âüâì£í¢v]Hºð(﹉̃ã15Ø4u“­ª-Ú8ƒÁÏ Ë Ë¯Ë§Ñiê’ê®Æ®Ë —a1ØAc¦Ñi72nÜͺKn&3 1•…z ÝŒÝðÜøAŽNn€ý=É~Ÿ½øÚâ6;wÚìyÙ_ ØDÁäïg×fóâxPÿáý!Q¼èÝ%b&jM&o«ßú<÷¡1h:ƒ¨o«w»á†Vhìl|^ü<®$.xe°¹’ù@í0Œ½÷F"Ð’üº|¯X¯ûs¶Æl)A©°ì°GyDñ¢{¦ï™¡>C/Zü¡8ä]7–›“˜Ÿ>ÁsãOÎ?iE°ÂqáÊÊ#r#øy>%ŽìŽö7*èmû{ÂÒÚHúÈᵬ4Y¹ÁbƒŒ ©–´ûÁîTrj%OGFg¬ïõ5‚&cyã¿þb~;)) ¹×nïù¤ó‡clÿˆ<¾Ô°i',; Ë…½²âŠ´ 4Rb®dî·ÀÏá’ÃÓ¢§œ$jFòF>N>H$æJæç–ž›}avLA s¢ÆmT^ `Q€±¼1@Wp§Íκ¶º[ïn=+~æjìž8å|Êš`œb g` gÀa̲²€Yš³÷¤:2:̹û£ý*ø•Ý=äû5è=aim$}äðZ6ª6GçE~6U4Ý4u“W¬W~}>LÔ q5‚&k‚5˲·ÕoWÝ\ÕKëe©ÙEíbÓNQ}N³ý?[ƒÁ`ò ¦¥†“Hl6Ì‘(‰*©Š«–5”±‰¶¢±B/Šd ¨™Ä™·Þݪh¬”|,áA³´¡Æ|hæ¡m÷¶Í<7ÓVÕVGFÇDÞDWF=ýѱÃþF zOXŒ¤^kªòTæ J¢J€öžöaô‚Fnh‰ZRRRUUÕ #m¡o VŒw Ð(KJRïFªï˜îs‰çzi½;mv.Ò_$#(ÃåÁ`0s.Îièh`Ó2¾­ßX}s¾QŒ†ÿçç 1ëÈè<ÙüämÕÛôªôÔÊÔ€×büb§œOiIi z´_£2FmPCº'#ì#'×âÅñö Iˆ!èëZ¢¦¡¡ÇãçÍ›7FÑ@„¿¿ÿºuëLLûM"bbbãÅè#7‘%$‘)ˆÊ¦Êò†ra>aä#† ôÉoÔ%ÔIRÂö!^¡á]7¾<~—í.ô®ä&rYC™Š˜ ›STÄTÞռˬÉ4’7B _–¼D!Q¥’SʬV}Oç$f,k®dŽÌ¢èìíœ}aö¨ákÃ99:FØß¨AïI_Ãîã0®Aãnh‰š„„„„„„ŸŸßEMþþþ&&&NNNã4𢢢Ç;ŠÑ'/,_ü±8(=h‘þ"@zUúŸÏþD>!DøD©äÔ¦Î&ô—‹‘KÚ£´5·Öì°Þa,o,Ä+T×VWX_–¶ÊdU¿y‹ÌšÌѶNÛ*-(M¢¼b½¨tªƒ–›SœtœÞÕ¼û9âg¯9^fŠfm=maYa·ÞÝâÁòØíK –¤’Sw=صÇnšŸHÉÇ’Œg}g %‹Acv rY¬¿ØBÉBQT±—Ö›PžÐÔÙ„¾f´_£2Fýôž°I‡z-šà5‚&77·¸Ò8ï'ÞÞO¼‘]]M)ͺ¶:ä#AŒ #(“X‘hvÊ ))Þ_¼DIJeÊÝì»›Â6±4¸Âˆ£—þZ÷rî…e…¡%êê›§mfsÊê)«còcÞV¿õ¸ãÁ\~xÖadÊáRƒ¥q%q11‡¢1WpÒq 3©–”QÁzÈøSwØ;ìoÔ ÷„ÅHú8ÔkAÐD5‚&·Y³þ]ðï…ä ÈëN{ û½v{×ÞZ‹VÀraÏ,9ãó܇D!uöv"… Æwž¯ºÝíw·sjs:z;d…dµ¥µ—è/±Ví,? SESWcW¿×~uxnü,Yûfìc^D­/n,÷u·ë’.<Ì{Hn"ó`y ä 6Ynš®6©À…áúoÑ¡Y¡w2ïÔ`¹°êê®Æ®SU¦róÝ5wogÞNªLªjªÂsãÕ$Ô–.[j°iœýѱÃþF zOXŒ¤C½M˜! tqqܹsgÌâ& _}~c¶oß.((8òß¿ ¥­­M"Q= €âäĮΤ†®_¿Î|ÝxÇ2¡Áõ5}ó¿ï¾‚‚‚222œ×‡{}BAMPðÕ'AÐòêò.èè,YýnmA4¾÷'j·oßž1cÆ»wïÆ;‚ ‚ Vßѵ   Ë—/ÿ÷ßh!™LŽ‹‹kjjÇÀ šPt¤uŠ÷³¯3h0]m:¼Q4BßQ¢VQQ×ÜÜÌ\¸bÅ 333ccã΂ ‚ /ßQ¢Ö/%%%%%¥ñŽ‚ ‚ ¨£>>~И!‚ _£öDN§¯[·îúõëhIddd@@@llì”)S¤¤¤–.]ºiÓ&aaáÀÀ@@OO‹‹ËÛ·o_¾|‰ÃáØŸ ÑhîîîÁÁÁh…°°0Ÿ††,›——×ÛûÅVÊH!’fff–——Xæ °ŒQkoowpp`Nbnß¾}úôé§OŸJKKJKKãââ>|xèÐ¡ŽŽ¤NPPÐíÛ·‘EæúÕÜÜlgg—™™‰víÎ;êêêÌ1#-‡……yyyuwwôôôgÐŽ£-ß¹sÇËË«§§)¼råÊÿý·}ûöb† ‚ hÜZ¢ö÷ß_¿~]MMmëÖ­:::ÝÝݱ±±/^\¹renn.ׯ¯\¹beeåáá±{÷îääd+++NN?vìXpp0??ÿO?ýdaaÅbÓÓÓÏ;ÇႽÿüóO@@@```@@2™@TT´oµƒÆÇÇKIIýöÛo:::ååå'OžÌÎÎÞ²eKxøç}‹ûí·ùóç/[¶LPPðÁƒ—.]:pà›DíÀ™™™JJJ¿þú«ššZAA¯¯o¿SM===—/_®   ¤¤Äa<œ8r䈃ƒƒ››_LLÌÅ‹wïÞ={öl--­!µAAÐW3:‰ƒÁø÷ßeeeÓÒÒÄÄÄÂ%K–ˆ‰‰ùøø$%%!ÙØ™3g222vìØQVVöÿ÷Ë—/ÿùçŸ99}êÔ©ÜÜÜ/_¾477G+üöÛo8G]022RUU˜˜˜ØØØô[‡J¥òññÅÇÇkjj"…+V¬ÐÖÖ¾ÿ>…BA—^½zõ¥K—Ÿ,XPTTWWW‡<åêÛìõë×…„„NNNóçÏgž|ŠrvvFŽç<NÌŸ?Íí/^,''çíí}õêÕãÇsÞAA_ÓèŒQ+++«¯¯§Ñh...³fͲ··Ÿ9sæÌ™3>|ÈÏÏGªáñø°°0>>¾¿þúK[[4ÆÉ饥¥ 3fÌ@³4„°°ð¨Ä(--mkkûá‡Ь !!±lÙ2ƒ‘••…®\ùÅr—ÈËÙ?Ôl{{ûœ9s, ¡¡¡amÝÏ~‚kÖ¬F<œX¿~}ßCm‚ ‚ ¯itž¨!ãÖëëëŸ={Ö÷(:– ÀÍÍÅbÊÊÊžŽLA””RT4mHõ‘Aúâââ,åH ó~–:<<%$$ìììÞ¾}[XXhee5ãTTT?~ŒŽÜÚµkWjjê¿ÿþjggçååõôéSNN·µµ-))ñðð@—ähkkûóÏ?ét:@]]àïï|¤R©žžž,ùŠ    ¤¤d ^HIIM™2%??ÿþýÈ22’H$644¤¦¦R(yyù   Õ«Wäæ,X°àÚµkâââuuu©©©t:=88yíˆ<çÈ ñpÒqÄ©S§œ ²²²zzzìíí£££‘{ A“BEcE@|À»šw #©"érÊå[ïn5w5ļ*}…V+k( ˆJBK¨tj@|@t~ô× Œ9žRĹÄsÁoƒsjsú=\™|1ùâõôëåå}/QÛZ’r>éüóâç4:ë T6дø²øË)—Ï'-Œí¦v³œË&œœœœœŠ‹‹)Џ¸¸¶¶6ó¸±M›6988‰_ Î@ ‘å?²fÍWWW䥤®®.Nßµk@@»Ðo˃ÆÃIÇBBBáááÕÕÕ••• ÊÊÊl¢…  IGx°<þ¯ýãËâz2zË–_O¿þºìõtµéHµRÄé7§±\Xg=ga>a@FuF@|À¯3~¨åÿâÿcv+2òsó{Xz )0Wc׎ގMa›’*’˜+OW›~fñ<7=Ï?—xîiÑS¤– {Üñøƒ%è)w²îy|¤‡öiµjcy㺠8 ³&ó爟«š«ÐšrÂrg—œÕ—Õ '—† h¬þ^Ÿ"""¦¦¦,…šššÌkL ú¾¤ë÷tf222­ÆÇÇǼ~‡ŽŽŽŽŽKiiiæÕÎÚë“H$öÍ™jjjjjjœ²ðóóóðð@òhiiÙ¶m…BÙ¼y3‡ ‚“Ž#àhR L ìèéX »@YTYVH– Ãe¥bõ¸ðqkw«¯àuék%Q%r9¡"ÁAËðºì5ÀFµÿ§N³V$) É&Që70@{w{RE’¾¬¾Ž´Ž¤€dKwKJeÊ«ÒWgÎìµÛË|b[w›³ž³Œ ©–ô¦üÍ‘Ø#³5g#ÝÉzŸu8æ0N3W27”3lèhx\ðøL™A¨n®^º®¥«ÅHÞÈHΈÇ“S›“T‘´1lã“Oy óKC4v¾÷MÙ¿šßÿ}ÿþýÈSÀ¢¢¢ŽŽAAÁß~ûm¼ã‚ I¦³·óÁºjŸÿUc£j••Pž0÷ÿÛ»÷˜&ï=ŽãÏÊ¥ÜEnZ§Û;2ËFãâ%Ë<Î-'.Ç‘¸ $2²™h¢ËŒÙ2’©‹ºÌQ\˜Ë6Ì“8·A:¹Ì‚“Ì‚¡ã^DjÛóGÏ!À¶HKÈûõßóð{òû&¤ðéïòü’³Gu]º·3ßÖ\Óh[µÖ ¦mÕ†ú…ª"¦ÿö"®ô]vGÔ£°Ÿ€³ÿ8«ðQÔß­ÿÓ𧗧׺¿¬ëø©ãòï—'5£Éxñ‹±Aÿ}5ÏÞŠ½ç~=WÛ^»&q §ëN›Ì¦téPysù«©¯Ú-Ïñ®¸AmŽ9r¤¹¹Ùz™’’òé§ŸÚž-0Õ¦'7M CÂÿ†Ê´mÚìäìšÛ5&³I¯nén±NŒèôºU/NZ30ÑnõnWæ!z]+ª¼Y9©e¡gâåK}i<¥ ‚™yî×s]C]ÖˆŽ_/ßÜչ㠖/Ùú·­Ÿýô™íjn×xŠž½#½ÇkŽ[,뛉 Fƒ Bªýòï€ëÔæÈÁƒ÷ïßßÖÖÖÝÝ­T*ç¬ëG­~棸¸Iw¢£—…-«þ£Zm«6" "yQ²:^]ÚXz»ïvsW³Ùb^7ÍA ãf¹FíQ…¼r²òfe¨_hF|F¤"Ò[æ- âW׿_òe5©/AšZ/F"‘žâÿm_<Í‚IôŽôš,¦£Ú£S[=r¤<Ç»à:µ¹#“Él/5sG–Ðó…§Ç4o´Y·º¤¾¤­¯MÛªµ°©ãÕ¢(jÛ´Mú&Áæ5ÁIkÔ¦öíä2ùÅ7.†ù…YïX,–Ïë>·1¶7UêZ¿ÞV3Na0x¤§+óó{·opw-°o¦SŸìúàd‘‘33 EEÁ| æÀ—_šÍâæÍCî..APà|½:÷ùó w,p==ž'N„ääô±åsa"¨p¾¤¤±W^,, æ àB……a …9'‡MÖ C¸Äž=}f³Ÿaæ{>àeeŠÒRž}=¾¾¬3X°j\"8ØtêTç•+~|æîZ€¨®N¾ÿ¢;û²³ î®.DPà*O=õàðá{Mð±c¡l,œ¨¶V¾sgÔš5#{öôº»¸GHp¡ †GF<omõzÿý{>>ä5`¶ÊÊûö-zþù‘ÂÂ.Æ[:~Ã\këÖA¦³ªÊïå—cêêäî.˜Çzz<÷îxçˆ;ú?þX/—óÍgá#¨p¹ôôûeeaa¦mÛbòó·µy¹»"`ž1¸‡( ±±ÆØX£» ébÞ@¢jEP(‚€DÔ$Š  Q5‰"¨HA @¢8B @¢Q(‚€DÔ$Š  Q5‰"¨HA @¢jEP(‚€DÔ$Š  Q5‰"¨HÔ£‰1”5X¬ËIEND®B`‚fio-3.39/examples/rados.fio000066400000000000000000000011201476262051600156550ustar00rootroot00000000000000###################################################################### # Example test for the RADOS engine. # # Runs a 4k random write test against a RADOS via librados # # NOTE: Make sure you have either Ceph pool named 'rados' or change # the pool parameter. ###################################################################### [global] #logging #write_iops_log=write_iops_log #write_bw_log=write_bw_log #write_lat_log=write_lat_log ioengine=rados clientname=admin pool=rados conf=/etc/ceph/ceph.conf busy_poll=0 rw=randwrite bs=4k [rbd_iodepth32] iodepth=32 size=128m nr_files=32 fio-3.39/examples/rados.png000066400000000000000000001153611476262051600157010ustar00rootroot00000000000000‰PNG  IHDRPaÛECbKGDÿÿÿ ½§“ IDATxœìÝwXSWð7 {CØCp"TE@ªˆð‰ŠGݳî=ë R­£ÖQŽ¢Ö­8P\PÊF@TTf˜"È–!;É÷ÇÅkB@0@ÞßÓ§Orî¹ç¼÷$/çž{Cáp8€B!$À„øB!„Ÿa>„B!A‡ùB!„æC!„t˜!„BHÐa>„B!A‡ùB!„æC!„t˜!„BHÐ ó;„PqøðáÛ·o€¹¹ù¡C‡¾Cçòå˾¾¾¹¹¹uuuàááñË/¿[=Ú¯_¿ïB¨À|!Ô1’““¿g6l8pàwIAACIIÉ÷ !Ô­a>„ê–***þüóOâõ¢E‹&Ož,$$¤¢¢ÂߨBÝæC¡n‰Éd²X,âõš5kŒŒŒ ºº: €(Ä‹e!Þa>„Àùõ×_ÿý÷_:tèöíÛÏœ9óäÉ“¢¢"ŸË—/_¾|™¨F¡P$$$ Æ?þ8~üxÆÝHYYÙñãÇCCC…„„†¾xñâ¯u÷ßÿùøø$''WUU)**ZYYMŸ>]YY™¬Àáp|||=z”‘‘Áb±´µµûõëçâ⢣£óµ6gΜùæÍî·bbbê4Z?Ôj!ÆA 777⟿«««³³3ùÛ ¸¸xãÆÍþ¢033+(( [ÈÊÊ200à®`gg7þ|âõСC‰j¥¥¥Üí“$%%/]ºD¶6iÒ¤¦u(ÊéÓ§¿v½zõjõ—[ppp›Â@ 2œBHp=xð€Á`œ:uÊÀÀ@HHˆN§/\¸ÐÉɉØZSS“ššºÿþÔÔÔW¯^mÞ¼ÙÓÓ“Ø4wî\&“ ÒÒÒ ãôéÓ.\hÔþìÙ³>|RRRîîîzzzÿüóÏÍ›7?}ú4sæLmmí!C†ÄÇÇ߸qäåå÷ïßÏ`0²²²Þ¾}{íÚµ‚‚‚¯E~áÂ…èèè¥K—o¯\¹¢ªª ùùù“'OnGß|.BÝ¿2„Ð÷FΉ‰‰edd´\ùÖ­[DeEEE¢„È„äNuuµššQHÌ%$$4­Æf³ûöíKŽ=šÃáDFFoÍÍÍKKKÉ~Y,÷ŒTSááádûiiiDá»wïÈBb~ˆÇ0Bç‡\–––ZZZÜ%çáÇ~~~©©©åååuuuÅÅÅĦ‚‚‚OŸ>IJJÆÄÄõˆ4ÍÖÖöúõë䦈ˆòõÈ‘#‰ eĈÄÒ¢Bß¾}ÕÔÔrrr^¾|)''§««k```nn>f̘Áƒû1òBHÀa>„àjtwz]]ݨQ£žjÔ¨pW“ðôô¤R©D5MMM ‹~ø˜ò0`Àºuë ªªjÏž=&&&òòòæææƒ "W:÷éÓGSSóŠÇ0Bó!„P=ƒ+W®hhh@aaaLL̬Y³vîÜÙ´æÏ?ÿ|ôèQiiiøðáÇ®]»6pàÀFÕ\]]ƒ‚‚ììì(J^^Þ‹/jkkeee‰ÕB’’’ ¤¤´ÿ~++«âââW¯^={ö¬²²RDDd̘1< P(ß~\¼„p‡ÃïB!„ø ç‡B!$è0B!„ Ã|!„B‚ó!„B :̇B!$è0B!„ Ã|!„B‚ó!„B :̇B!$è0B!„ Ã|!„B‚ó!„B :̇B!$è0B!„ Ã|!„B‚ó!„B :̇B!$è0B!„ Ã|!„B‚ó!„B :̇B!$è„ùB¨›ÉÍÍ-//çw!Ô }}}Þ+ãüB!„æC!„t˜!„BHÐa>„B!A‡ùB!„æC!„t˜!„BHÐa>„B!A‡ùB!„>Ÿ!Ä755”ädZa!õÓ'üÛ ñ…‘–fkjÖ1µ ¿£AüƒùBè{+)º}[êÉÉçÏÅX,üB]‚Œ ÛÖ¶b̘ò¡C?Q©üŽ}w˜!„¾ŸÊJÊéÓr§OË qFŒø4eJ^Ÿ>Õªª,II6¿CCŠÍ†’jF†È‹bþþ‹©jiÕnÙR8|ø'~‡†¾+ ‡Ãáw ¡î¤Ýßçú䉤‡‡bi©ÐÒ¥ÅÓ¦•b„º Œ ‘Çå}|èC†T¸»hk×ò;"Ô~ø}®¡®…Ãä—.Uµ¶®ôóË\°à#&C¨kÒÖ®=x0÷Ê•÷……ÔñãaaâüŽ}'˜!„:WUeùrÕ³ge÷îÍûý÷žÆïXPgÁ|!ÔñJJ„Μ‘]¶¬XY¹ÜM¶råJƒeË–µuß;wûN›6­S;úÆ®;R[[ûäÉ“åË—;::öíÛ·wïÞ¶¶¶ ,¸{÷.÷£ï>~üxûöíeË–ÙÛÛ÷îÝ»OŸ>;vìÈÊÊêüCáÕ¸qe}ûV:$Ïï@PgÁõÔ¡Žwû¶”gÚ´R~‚Úïþýû«V­׎nß¾½eËî’œœœœœœ€€€¨¨(¢pýúõÜÕÒÓÓÓÓÓoß¾}áÂssóöAG¢P`Þ¼«W«|ø ¬ªZÇïpPÇÃù!„PÇ{òDrĈOøÐE'**:a„˗/GDD¼~ýúêÕ«ZZZĦëׯ—–~I—%%%׬YøòåË}ûö‰ˆˆ@EEŦM›øzsFŒø$&Æö÷—äw ¨S`>„ê`ÕÕ”˜1;» ~Òå>|˜Éd2™Ì¿þú‹ß±|cÇŽÝ»wï?ü ¨¨(..niiéêêJlb³Ùä%³¾}ûúúú.Y²DCCƒN§?~Ê”)Ä&&“Ùu®š‰ˆp® Ç'V÷L˜!„:XJ ­®ŽÒ§O ¿i€{ÉK^^ÞªU«,-- ¸g) °°pݺu–––ýúõ›:ujDD÷Ö·oßÎ;×Ì̬ÿþK—.}ÿþ}»c KJJŽ92vìX333ccckkëE‹5º~Ä{×ååå'Nœ?~¼¹¹¹±±±­­íºuë¿Æ×Ž×ÀÀ€¸X555Ÿ]¿~½Q¥¥¥¿üò‹••UÿþýÝÜÜÂÃÛ ¬²²2**êÎ;ÄÛ1cÆÈÈÈñhhhpW666æ>¢fä‹Þ½«qIuÏ„ë‡B,/ jj]tÅÇ'OžÜì¬Cii©››[zz:ñ6**jÖ¬YGutt€çÏŸÏš5«ªªþ¡|?މ‰133û–`RSSg̘‘››K–äååùûûûûûO›6í×_% yì:##cæÌ™Ü©RNNÎ;wÜ­µ;ò2ôë×|Md0d»NJJ"_6Œ\ñóæÍ¢°é”L ÇËã!˜˜˜Ðhõëièt:ñ¢¢¢™¥ôòòòÿûßÿ~ùåâm^^^HHH£:ÙÙÙnnnDV§¥¥uþüyîÙ;„:æC!Á"%%Åïêq?“Òùóiͦ)߈̠é|[SÜ9\£ëw)))“'O&’?CCëW¯ªªªv\¤µ×S#„P½¤¤$‹EL“$&&²Xõ×ÖÕÕUQQ!«½}û–X+í{P!û‚×ëׯÉëM䌎¡¡!Ñ;/]• AAAêêê­ÐÂñWŠÆé¸KDÜsTJJJäëØØØ¹sç~üøÌÍÍÏž=KÞ}†Ð÷óC!T///o÷îÝÅÅÅ™™™äzYYY›¾}û’yɾ}ûKKK;Æ}•ª­ÌÍÍ{õêE¼Þ³gO|||yyù¥K—È IÄMX^))©Ó§O0àkËÏ[åãã³xñbSSS*•*--mjjºxñâ§OŸ’ê"(xa!$rss[~d°¯/}Å &3å»…„ÚdåÊ•<'''ù掂?ÛÝ‹¾¾>ï•Ûv½,<<üÝ»wmŒ!ÔUhjj<˜ßQ „P—Ó¶|èàÁƒ7oÞì¤PBmâĉÜßœ€:Ö³gϦOŸþµ­—.]8pà÷Œ!Ä»6¯§Æß§uS“&Mâw!ÔEáýe!Ô1Èd2ùEë>|øða~GPׂ÷—!„BHÐa>„B!A‡ùB!„®êêȇè4ˆ|NZ·VQQ±oß>âõìÙ³uttøB!„ùP—çîîN¼X¹reɇȃ²··Ç|!„ßáõ2„B :̇B!$èðzYÏž››+**Ú»wïüQTT´Q?úøø¼ÿ^GGg̘1ðµ¥<-·VPP@~íÑ’%K>|§¦¦öã?2Œ–;E¨ÝNœHRV0A›ß4Öeë<¥¥µ^^)¦¦²öößô¥¶u˜õiiióæÍ à.TSSóôôtqq!KüýýÝÜÜ ‰·ººº/^lº”‡—Ö Èmmm7oÞE¼•””üçŸ\]]ÉN'Ož\TTÄÝi‡9<Ç'ôë'×ÓŽ.Xç)-­9r$þ§Ÿô0B=^/ëöòòòìììˆôÅÈÈhÍš5nnnBBB999®®®þþþDµŒŒŒqãÆɦ¦æŠ+úôé3yòäöµÆmÖ¬Yâââ+W®TWW€OŸ>-^¼¸ªªŠì”H†´µµW®\ijjÚ´S„x·d‰ñ„ ZüŽ¢]60„/p~¨Ûûý÷ß³²² W¯^111ЧOŸíÛ·³X¬5kÖ¼zõ >\VV’’’Ïž=SSS€¥K—?~¼­q0`À;w(Ê”)SˆïNÏÍÍMJJ255%;•’’ŠŠŠRRR€U«Váw vûùg#~‡Ð¼.Bˆ˜u{="^ÈÉÉ‘‹222ˆ±±±ÙÙÙêêêD‰³³3‘ ÀܹsåC<¶Æ½ËÂ… ) ’…YYY¦¦¦ÜÉÌš5 ó!ÔnM—é°Xœ°°ü¤¤R‹­¯/mc£$*Jm´×›7_¼(*/¯SQ:TEAA”Ü÷رD==º‹ #%¥,$$¯¦†Ý¿¿¼¥¥B£>}ªó÷ÏÉήTU1BÅâ4Z:ÃïͶ[ghXXX~qqõÏ?÷€¢¢êÈÈ‚ÌÌOÂÂBFFÒƒ+Q©”NÂ׺hy8¢£ “’JËËk I++%%±Î;^„x‡ùP·WPP@¼ˆˆˆˆˆˆhZÈ`Èsæè·|D}˜u{ŠŠŠùùù`cc3|øð¦ˆ¤G^^>==òòòÈM>|h_kܨÔú?þˆY"nd§¹¹¹d!w}‹ÊʺyóÂÞ¿¯PW—:TEDD(44/%¥lÁ‚ð‡‡++‹±Xœ Â_¿.f0$mm•edhå~~9[¶¼0067—#Úyù²èß? ªjh(•›[åë›uýz†‹‹¦µµ|úT·hQD~~•®.ÝÆF™ÅâånÞÓjx-7Ëclܾ–ßì&Ò¨Q_ˇ/^ùùåØÚ*›˜ÈЉQ‰É¡àà}º¬¬ìãÇ–––cÇŽe2™D²ÂÇÖx´råÊ3gΔ———––ZYY7.--¼3¡oS+WšŸ¾ ,LY·®÷£GïŸ?/€ÐÐ<>y2‰Ãá‡GZZäõë/Wmz÷–%³ .ååÕ_zñ¢–/7&ò^²¤×üùá-‡×r³<ÆÖȸqp ›®.½Q2/_Ï™ZWÇiT^XX-'G‹‰!N‚ ×I .]j¼`Á—“Ðêp8:ª_¾œvî\òäÉ:zzR ÐhBýûËû!ôí0ê6ž={öìÙ3î’^½z-[¶LEE%88xÁ‚ÿþûïû÷ïOžÅÍ-¨ºšÕ·¯ÜˆjS§êˆ‹ã'â?ü)ìêvìØñµMŠŠõÓæzzzþþþIIIáááÙÙÙ¢¢¢FFFýû7Xíèàà’’rïÞ=âQÑcÇŽŒŒ$·jhhðÞš¢¢"¹>šF£‘…FFõ÷;::¦¤¤Ï§;v,÷Aá—¹¢o!#C€ÌÌrMÍ/ŸÓïÞ}âp@V–FV˜>]WA¡ñMLbb¼>}häýû eå/de}ú¶ØÛ[‡¬jt×|€¿þúaذ/Zññ_®dÑfe58 ïÞ58 ­XY)XY)@^^UddÁž=¯=zõªPãúÎ0êê]#k‘‘™…4+<<¼OŸ>3gÎ$ÞÖÔÔìÙ³‡xmbb¢­Ýà–––[STTlFk6Z999²Sï…P ,,nÞÌ8z4ÁÂBž˜c`±8ÆÀ€ 0x°âé,gÙ²^ÜŸ¸ùùU99•<öÒ¿¿ü­[ÇŽ%ž<9HX˜ÕÕ¬“'“¾1øöÅÖ!뇚"n† ÓEÈ’ˆˆüÿýr¿………ü­[GÆs¯:v,»‘V‡#""¿_?9IIaPVsqaü÷߇;wÞ¥¥•ëëKµ5f„:æCäÔ©SÞÞÞÆ 300(++ó÷÷OII*•zèÐ!~G‡P›­qìXBtt¡““?yC“Y&#C›6MFbxy¥\½šœgm­¬ @+-­MO/Œ,˜7ÏÐÔ´ù{¸šôÂ8|8þ¿ÿ>üïþ66Ê,;((·¢‚Mn©lƒöÅÖ!뇚"ñ,Záä¤.''šœ\˜+/O+(¨_.íâÂ8|8>888 l6ü÷߇ÊJw#­Ç©SIÏŸ¤¬­-)""”P”K¥RÈÙ#„øó!bccãããs÷î]îBƒ¿þú«M«¤ê"ÄÅ…Ïžµ&xsùrQ¨¬,vôèÄe*•rö¬õÆÏÿý÷ÃéäŽ**b<&C ))|òä … ÃSSËRSË@IIlË–~k×FKH´ÿWh‡ÄÖQFŽT=šáã“uãFýÃW'MÒ‘’>wŽI¼•”>ujÐÂ…iiåÄã…Ewïî¿xñ—§”µ:ƒ+½|Yüï¿9ä.’’¿üÒ¯SA‰0 óçÏÿé§Ÿ˜Lfyy¹‚‚Bÿþý---›>7¡.kÉceå/ŸR9„†æ%%•²X==);;eî"ËÉÑ<=§¤”EGÕÈËÓttè–– Äaa¡+Lôô,& ¾\Á13“ó÷wô÷ÏÉÉ©TUwpP#>Ô¹WLsÆc³-ÇÖš ŒðçŸVÓ¦é½yó‘Bäûõ“ É£ÓEÈd¥_?9?¿Äó©UTÄÔ8X±ÂÄÔT–l¤åáX¸ÐhÆ ½gÏ ÒÒÊ(jjbvvªÄ2s„øŽÂá4¾»²“&Mëªe2 IDAT€7ntZ<¡ÎÒQÿ~sssËËË[¨àëK_±B…ÉLùÆŽº&³LCC‚¼¼¸¸ÆÍ-(5µìþýaÆÆ2ü }O=ïg»gÓ×oã>q~!„ZñßNžL²¶Vb0$ss+ÿû/·¤¤fð`%L†ê10B¡VJWW³|}ß“%ýúÉýñ‡%CBu,̇B¨C‡ª„†:‡‡ç¿{÷‰JêÝ[æ‡qÝB= æC!Ô:ii‘‘#ÕùB¨³ðú„V„B¡ž ó!„B :̇B!$èÚ¶~("""++ ߇P7Å`0øBuEmˇ ÅÅÅGÕIÑ .âСCýû÷:t(¿AéÁƒ˜!„P³Ú–)(((((üùçŸ ê":4tèPè&++‹ß! „P…ë‡B!$èðùC¡n£¶–=kV¨¥¥Âš5½ùKçš;7LOþË/¦Í¾í$,ÇÛ;#88¯¬¬V[›îæ¦cb‚_H‚æC¡nƒÍæDFHK‹ð;NUPUÅúÚÛÎP]Íš3',2²€xœwåJÚÞ½\]5;µ_„º¼^†BŽMˆŒ,PUÿí·þçÎYÏœ©Ïfs¶l‰Éήàwh}8?„B‚®®Žsùr•J9~ˆ¾¾ØÙ©P(pþ|ÊåËéëÖõð«“εɵk×ìíí_¾|Éc}OOO{{{&“Ù©Q¡ïáÚ5°·ž‡<=ÁÞpè;MM ÛË+eñ∅ #NJª¨ør-)7·jÚ´`/¯îúDáÅ‹©dI^^Õ±c‰+WFÍ›¶cÇ«§Os8€ÊʺٳCwìh<Ö••u³f…îÚÛr`µµìiÓ‚Œk!BBFƧâ.Œ˜7/ì·ßbããKÚ~:Ì«WE¥¥µÖÖJD2D˜=Û‚‚>ð/.„¾œjƒwïÞ~üø‘Çú©©©åååúÞ½ƒÀ@àyè!5‡¾s°Ù0gNè³gõ+]þý7ÇÛ;óêU;99TU±"# ŒŒ¤¹w! {÷®_œ”T:yr`yyYáÒ¥ÔÉ“µwï¶–“£]¾œ6gŽŽ¬pï^VhhÞèÑ­<À‰XáD§‹´!<|ø~ÍšèÚZ6ñ600÷üùÔmÛLgÌÐkß9Ù½ûõ›7­ü|80@]]¢ÙMLf˜™ÉsjjJÈÊÒRSñÇ ̇ÚÀÍÍÍÒÒÒÜܜߠïÎÍ ,-‡¾k ú@§‹lØÐÇÐP:'§òô餔”2Ø?þ°ä±…«WÓËËëìíU]]5eeiYY!!¹eeõéѬY>>Y—.¥nÝúå~®K—RååE[͇x‰07·jýúçµµl'' ''u¡ÀÀ7ndìÚ;`€™´µIBB ¹úk*+¿º"»¸¸””Ä•++‹%%•VVÖ‰‹ã‡êáðG¼ 45555ñV ¤© 8ô]‡.Øyƒ³³ÆˆO<ÈÚµ«¿„•—„…)pàÀYÙú ›)StJKk‰×æærffò·ne®YÓ›ÈbbŠââJ–.í%*ÊSû-GxçNfUkÒ$={úFŽTWS“8|8þÚµtww3^O—Í›û‘ñººø×6±XTjãïb"Jêê8í ¡î¥›­"WäÄÇÇ/[¶ÌÉÉiÖ¬YÜu~ûí7{{û’’’¦…ä¥+²—/_.^¼ØÙÙyÅŠéééÄÖÛ·oO›6ÍÉÉiÛ¶mÜí4]?Äb±.]º4cÆ GGÇ)S¦xzzVUU5 ûÅ‹‹-rrrš;wnHH÷&‡ãëë»páÂQ£FM™2å×_ÍÎÎþ¦sÔõå烓Lœ••_ ß½ƒ#à§Ÿ ®®ù½È9ññ°l89Á¬YÐpèá·ßÀÞ}}!yéŠlçåKX¼œaÅ ø<ôpû6L›NN°m[ƒvš®b±àÒ%˜1aÊðô„æ†^¼€E‹ÀÉ æÎ…†CøúÂÂ…0jL™¿þ =~è;ˆ‰‰ ÷$ŠœÍÁA­®ŽÃd–òØÂÔ©ºrr´… Ã/_N‹-®®f÷mü³fé•–ÖÞ¿ÿžx{éRª°0eút^/fµaBB L™¢Ý($ˆçùšl“Tlù¿æx$$„àÓ§Æÿúˆb+B=[7û)'VäÜ¿ëÖ­õw^¼xñÚµk“&M"ÞÆÇÇÖÖ6øS‰(¬ûüYK´ãíí½mÛ¶ššxôèÑõë×£££÷ïßäÈ¢ÚãÇýýýÈ·Ö}úôÉÉɉ;¿¹víÚ_ýåç秬¬L>|øpçÎD/ð÷ß=ztÙ²eÄÛyóæýý÷ßÜ¡îÞ½;..NO¯Ëº%%˜0.ii8w ¦&M‚˜øï?þÊÏ$±"çþ}غ>=\¼×®Á硇øx „†C__H¦YD;ÞÞ°mƒòè\¿ÑѰ?|zxüüýáóÐ7^?ôé895Èo®]ƒ¿þ??àzxøvî„ÏCÿ GÂ硇yó áÐÃîÝ=xè;HÓçÉȈ@u5ûk»°X 6éêÒýüFÜ»—–î3;»ÂÆFyƾõ«‰ÿ÷?Æï¿¿ùçŸÔI“´‹Šª>|ï쬡¬ÜørRû"$þ/++Ú¨…ÒÒ!´ì×SGéé – UW³²³+TTÄšÎ!Ôót³|ˆ°qãF—‰'Òéô{÷î9sfóæÍd>Ä»mÛ¶M˜0aܸqT*õĉ~~~ãÆ‹‹‹Û²eË Aƒ ÜÝÝÃÃýzõê#FôêÕ«°°ÐËËKVVvóæÍ}ûö­ªªzóæÍéÓ§ÉT¯ÇZ°ÂÃáï¿ÁÚæÏ‡Õ«áÙ38t¬­[ÙqãFpq‰N‡{÷àÌؼÚ>ô°mL˜ãÆ• 'N€ŸŒqq°e àîááðà4ûíÅ[¶@H()ÁÆ`béépà¼~ ‹×ÐÃŽàäS§‚˜ =~è;BRRim-[DäËôöë×@EE >ç"EEÕ w)kÔˆŒ mÆ =býr^^ÕâÅ3g†8WÄ„…)Ó¦é:ÿòeqDD~M ›¸ÙªC"$òªØØbmmIî ¨¨|õ’V˾qý©©æ²X2û Ϋ«ã›êñºe>4cÆŒ3gίGœœ˜——Ç=+Ë9sæœ=¨©³3DD4“ÕÕÁ¹s &!!ðyèÁÍ ŒáÎÈÍ…ÏC.._Ò£qã@M ÜÝÁË öìàp`Æ ø<ô0~5ÊËÁÙ¸†`âD8ybcáóÐCᇹsÁÝbc¤¥aÅ 8{h4°·SSÐÒúo¦¯/uófÆýûY::ôœœÊüü*X·®YaÒ$¿ÿfº¸ükh(U]ÍNO/ïÛWöÝ»/so<¶—/7¶±Q®­eÇÅ•¤¦–99ixxôçna΃!C”+*êâãK^½**+«8PÑËkˆ¸xƒÛLjkdÊÊbÎÎmË ZŽBS§©OJJYBB ‹ÅqtTÿç11žî_ë ò'ORW—øð¡òÕ«âÚZöÈ‘ê'O¢àÚ!$ºåüPˈü#??_QQ‘,|óæMÇö¢¦¦ÏŸ?g³ÙBB_Òʨ¨(PWW'KbbblllÈ·ÑÑÑ ¡ñå׫°X¬‹/Ι3‡F£­X±¢cîrjj`âD(-…ñãÁÛ<<`Û¶om“È?òókè¡£‡ÔÔž?6¸†¢¢¸†bb€kè!:€kèÁÎììX,¸xæÌ züСK—låähFFÒC‡:''—±Ù##i­ÁŸvÒÒ"^^C²²>ååU3ÊÊbUU¬K—lUUë/ÙÙ©ØÙ©TT°22Ê9PS'Ÿ”ØÔ´iºÄýùmâà ÖB„’’¿ÿn±m›ijj› ÚÚ’äÿ„sç¬ét‘¯½í$ööªª))eååu †„¢"NX"Ò-ç‡Z¦¯¯‡"VáÔÕÕmß¾½Ãó!%%% ‹„„„M›6HçÈ‘#OŸ>UUU%.´<<<ˆ222ˆDÇÑÑ÷ïߟŸŸOl¥R©ZZZرÑvE«VAT<ׯÃС°s'øù}k›úú‡կ©«ƒíÛ;>RR HH€M›ê'88rž>UUàzðð€ÏCõ‰Ž£#@b"ìߟ‡¨TÐÒ„¡ÿBB”‰gO‹ˆõî-Ó·¯l£TƒÄ`HZXÈ‹—ÅĨ*r¯_ *qc|³É‹ÅÙ³çµeÒ$öEÛj„’’ÂýúÉ™™É5J†ÀÊJ‘ûX£·‡B)ss9L† éóCS§Nݺu«§§çýû÷ FJJJyy¹™™Ù«W¯:¶£}ûö9::îß¿ÿìÙ³úúú™™™¹¹¹D9÷E7ƒ1pà@CCCQQÑ„„„ššsssbéRqqñ† 6mÚÄ`0444ŠŠŠ`àÀj—séœ8nnõ7Ÿ_½ 0mÄă§çÿ6oêTغ<=áþ}`0 %ÊËÁÌ :zèaß>pt„ýûáìYÐׇÌLÈÍ­/ç¾èÆ`ÀÀ`h¢¢55`n^¿t©¸6l€M›€Á (*‚ÄD€?ôÝA||É®]±ïÞ}ÊÉ©tvÖ n #-XÞô9=IIá¿þúá»Äˆê`=p~HUUõìÙ³222ÙÙÙ‘‘‘ÂÂÂÞÞÞ}ûöíðކîããc``PTT•››«®®~ñâÅ3fpW;|øðرcccckjj†þðáCbÍ“±±ñ† ”””233ÃÃ÷oß¾víÚ¶ yû-cã/wŠ©ªÂµkP\ “'7¿d‡Gªªpö,ÈÈ@v6DF‚°0x{C' = >>``EE¹¹ ®/Bá‡Ã‡aìXHL„ØX¨©áÃááÃú5OÆÆ°a()Af&„‡Cb"(*Âöíг‡¾›(-­Œ,ÈÉ©ÔÓ“Ú²¥_£­ÑÑ…‘‘Íþ]È—€BߎҦ¥»Ä3~nܸÑiñ´"55533ÓÒÒ’N§7*´²²’äZ“[UUõúõkaaá>}úÐh´øøøÜÜ\bæ¦Ùvž?^UU5dȲ¤¶¶644TEEÅÄÄvíÚµ}ûöÐÐPë†Éa2™¹¹¹òòòÆÆÆ®Å‡Ü½¼ÿ>33SCCƒ¸"ÆÃá¼{÷.;;[QQQ[[›XÄÍ_ eÕªUþùg§´ž”ÙÙ`dÔ`© ¼zÅÅ`fÖx±3!523ÁÒ¸†¬¾ÐʪÁrìª*xý„…¡O Ñ >rsÁƦ~æ¦Ùvž?‡ª*àz¨­…ÐPPQ€]»`ûv mü„$&rsA^Œ{Ý)w/ïßCf&hh@“¡Þ½ƒìlPTmmèä¡ï¨¿¹¹¹-K±¯/}Å &3¥…:uGø³Ý½ëgxÔÍò!þ3fŒOJJJO~x4tv>Ô>>’Ò­ùBß¶»—6åC=ðzYg8xð ‘‘‘®®®®®.¿ÃAßÑÁƒ`d>> « 8ô!ÔCa>Ä“¤¤¤ääd• .Pðq%) ’“AE.\z„ê¡0âÉš5kbcc333¹Ÿ$„š5 ™™€Cथ¥ñ;ÔñzàýöûK9`Á¡G5ðÈÉiô¤I“V®\©¤¤Äï`P‡Áù!„Bˆw#ÿý÷ÀÀ@‡ .Ä×o ̇B!Þ 7îéÓ§³fÍÚ½{·››[J ÞnÖ`>„Bµ˜˜Øš5kîܹÃb±\]]ö14= æC¡ž£_¿{Ó¦í-⣬¬O·wîüÖ/ÏéRcjll|ýúõ™3gnݺuÍš5•••ü޵æC!Ô½zÝ™93„ßQ ®BXXxýúõçÎ š>}z^^¿#BíÔ¶ûˈÇðhjjvR4¨ëðôô¼yó&¿£@©°°ÐÐÐßQ|W¯_áw¨ƒuÍ1µ±±¹yóæ‚ &L˜àååÕ¦Ç"£.ç‡PóÚôE.!$àtttnÞ¼©¦¦6}úô¤¤$~‡ƒÚ¬móCFFFFFF¸p¬Ç£P(‹-Âï/ëaˆï/뢢 ÎcÆÄ••ÕjjJ::ªÍŸo(#CkZ³_¿{ýúÉ]¾lK–DFœ9ÃŒ‰),/¯UU•9Rmùr:]ª«Y}úÜspPûõWóÝ»_çÕÔ°û÷—Û¼¹Ÿ‰‰ DGN™aaù·‰/]²57—kyGBzzù¥K©¡¡ù™™Ÿ¨TŠ‘‘ôÔ©ºãÇ×Ë/Ùû¶m¦±T*eøpµíÛM%%…CBòŽOH(¥Ó…'OÖ^¹ÒDHˆÂËAu’–ØlιsÌ«WÓß¿¯PU›6MÏÙYƒ»…v/÷˜¶:dß™ŒŒŒ——×üùó§OŸ~éÒ%|p]÷‚ÏcDu'/¦þúë+rú2%¥ìĉ2 …²fMïV÷½r%mûö—ä¾YYŸÎže†…å_¿n'.^ÿ˰´´ÖÍ-ðÝ» âmXXþŒ!OŸŽ“k&ßâÖêŽ F¤¦–‘õ_¼(zñ¢(/¯jñâ/Ÿš%%5S¦åäÔ/˽u+ããÇj77Ÿ~Æbq ²²îرDyyÑY³ôy?¨FfÎ Ëoùp?vÐ×—úÚÖVeÇŽWW®Ô?ÄùÝ»Š½{ß¼}û±i;í8Þ¦Ú=dABBâìÙ³sçÎ;wî7ÔÔÔ¾ ¨}ðzB¨ÛHK+÷ðˆ¢,\hôôéˆ7oÆ<~ì°vmYÙÖ?ùÞ½«pw%-MÛ³§x¸s\ÜØGœ5âãKΟO%«EF¨©Ix{Û¿~=ÚÏo„µµÒÇ5wï¾KK&s•J±¶Vb2Çÿ ¨ØêŽ©={,ž>?öÅ —+Wì ¥OžL$>ø QQ…zzR>>ÃÞ¼ãímÏ`HøûX¿>fölý  ‘±±c²¢R)gÏ2ÛtP®åc‰-¾r%NÞ»×":zTDÄÿvî4{ú4§i;m=Þfµzæ¿3qqñS§NIKKÏ™3§´´”_a ¶Âù!„P·q÷î;‹³dI/r6H__ê矿:ÁíÎ̺:އ‡9yáÆÀ@êÐ!«èè§O³É‰ 99š§ç`âb“Ž}Û6Sggÿ„„’VÛouGww³'’NžLÌÉ©¬©ùòPã÷ï+´´$‰×òò¢'N ’ €©©Ü¼y†îî¯ ß¼¹QÁÅ…q÷€••,qq*ÕÈ… ßúe|-ËãÇÙ°~}ß ´‰òŸ~Ò+)©ýóϸFí´õx› ¦ÝCÖy¤¥¥Ï;7~üø 6œ8q¿¼[À|!Ôm¤¤”@£•(ÔÖãm6žvY§RUU=vìØ´iÓN:µxñbþƒxùB¨›iß'=›Íî‹S$î1±“Ÿûj½Ë–w¼u+3'§ÒÑQ}ùrcmmº¸8•BmÛ^’‹l¢¢¦@8M ‰Éâpx<¨F¾qýÇ‹¶o³Ú=d­ÿþëׯ߻w¯Mß¾}ùjæCöäɓٳgëèèð;–ºl`ÝKXJØ“·Of™­£ ÃïXè²ueÄ'ôÇïÛ|÷±ïùóC† Qnµr (¨«kóÓ(23?ÀÚµ½É$£¦†ÑJRÒªŽ:¨6iõX´µ% 88oút]²0(HT8gΜ   µk×Þ»wOTT”ßá –àzj swwOOOçc AAA;wîÌÌÌä.ì õaÌ0w÷ô‚t>Æ”´óÞÎÌ¢†ãÛëvÆŽÕ¤R)'O&8ð6=½¼ªŠ•šZvòdÒ¹s-­·%Œ§E¥RÖ¬‰¾q#='§²¶–]PP]èîþêäÉ6<-FV––œ\š™ù©…‹¦ˆ‹>§O'øPYUÅzýºxñ∴´rÞ[hVûêÂr=ø×þkáæ²VeäHuØ¿ÿÍ­[?ÖVÿóOêñã‰ßx°Ý…BñððÈÉÉ9uê¿cA­Àù!°¶¶Þ±cç`‚‚‚ÜÝÝ´´¾<À£+ÖXXï½CGQ‡1%¹û¸;ôvÐ’çß.X·£«Kß²¥Ÿ‡GìÉ“IÜŸ÷K–ôju_ú®]ý·m{±yó‹F›-jÃsb Rº?kذ'Ä[âùC­î5z´æ±c‰7ofܼ™A”ÐéÂ#F¨5{×ï:ê Ú¤Õc15•›:U÷Ê•´cȽ\\÷ïguRH]ƒÁX¾|ù‘#G&Mš„·ßwe˜µµµµµ5¿£hF— ¬{±Ö·¶Ö±ËÖÅÍš¥od$}îóÅ‹¢ÊJ–¦¦ÄÈ‘êsçð²ïäÉÚÆÆÒçÎ1## ŠŠªååEutè£FiŒ«ÕúΟmÝÚ¯®ŽQPRRÃûSÜÕÔÄÿùÇfïÞ·oÞ Q Pذ¡™O|‹9¨6áåXÜÝÍ´µ%‰ç1ª¨ˆM™¢ãâ¢)˜ùÌž=ûêÕ«üñÇø ú*J›¾–x¾m;žOÈáplmm­¬¬îܹóòåË 6HH|¹_àãÇOžfÌYYY¢Â… ¼¼¼æÌ™CÌéèèÌž=»ÙÀxé¨Õ³Ô* …²jÕ*ÞŸO“˜ÈŽ­¡­•ŽÕw^¾{¹Áiƒk|+>>‰{’V&B±Ô¶´3âšx¿äÅCËIÊù¼òaæ1U¤UÆš•—l2¾<4"+!ûàõƒ¤I´8öqlv™Nie©_¼_J~ŠMÂBËb°~kã[˜áï—[š+/)oßËÞX•ë´îWZ\úîË»…ê²êcÌÆÈJ|ßð ^a^ s†Ì!æ‡tuf[Ïn60^:j1S÷V IDATõ,}M»ÿý6’››[^ÞÒ…__úŠ*LfÊ7v„PWÓîŸm__ßU«Vùúú𔻣Ѧ/’ëôù!6›½xñâÓ§O“%K—.-//?þü²eËÈ|èܹs«W¯æ~t•­­­···¢¢"øùùíÝ»×ÂÂbãÆ D333r^éÛ·ï† ÒÒÒ`Íš5D>äîînooO¦gÏž]»vmIÉ—ÇWØØØ 5¿ÜjË–-ûöíc±êoš¥P(óæÍ;~ü¸ˆˆÙoŸ>}Ö¯_Ÿ‘Qÿ'”¢¢âíÛ·mllàÂ… ð÷ß[‡JäC㥣VÏRÇbsØ‹/.>Ì5¾?.-¯.?v~Ù°ed>t.äÜêë«K+¹†ÆÐÖ{‰·"]üâüö>Úk¡m±ñæÆ„Ÿ#§+ø¯ñ7Óä_é«ÑwÃÍ ii°fÄÇ>ŽÄ2û^ödÚq6äìÚëkK*¹Æ×À&pC å+ã{{˾GûXl®Ón3ïøôã"T²ß>ê}Öß\ŸQøy|銷—Þ¶1°€ áàïÐÏãk4t¶õì¦ñÒQ«g !Ô9;;=zÔÓÓsß¾}üŽ5¯Óó¡C‡>}šJ¥ºººêéé%&&?~\II‰»ÎÝ»wçÍ›',,Ïx asØÍæCÇŽíñÝC¡P\L]LÔLÒ ÓXs&øŒ"]qÏx®ñ½¼”F¥-´[(&"æï—7îØ¸„] t…™ƒg²9ìFóCíî¨å³„êš(Ê‚ ¶lÙ²jÕ*uuu~‡ƒšÑéùÐü!$$äççgooO”ܽ{×ÕÕ•»Î–-[$$$‚‚‚ @”p8œ‰'z{{'$$—„ôõõŸ>}*..{öì155 ---•––潃(%õÕ['¶nÝ ÇŽ[²d YB¥6ÿhÔßÿnݺ5nÜ8¢äÙ³g¶¶¶‡þå—_$%ë;«¦¦L„ZWWçæææíííååµvíÚ™3gfffÌ;—˜1ú–ŽZ>Kî'Q„üÖøÙ÷²'Jî¾¼ëz¬áøÞÞ"A“Ú4@›khNNôŽñNø@^ÒWҺ橸ˆ8ì©ÛcênšZZY*-.Í{# 9Fàú@)±¯ïí­plú±%ö\ãË ¡R¾2¾€[?ß×ÿóiO{f»×ö°ßá_Fý")úy|eÔ‚7¡Ö±ëÜN¹yÇx{…y­u\;sðÌ̢̀„€¹6s‰£oé¨å³„ê²ÆŒsàÀk×®­^½šß± ftn>”‘‘‘íèèH&C0vìX++«¨¨(âmNNN\\œ¾¾þÇ>|ÈùütUb2&::šLe6nÜH|ÌFsppHLLÌÉÉ‘––潑õë×· eee%''[YYq'Cðµ4%333++kÈ!dŽœ4iÒåË—cbblmmÉàÉŒDXXø×_õöö ]»v-/g²M}í,ñÒQ›dfdÌvìãH&C0Ö|¬•ŽUTúçñ-ɉˎÓWÒøæáÃ7\CC€èôh2•Ùè´‘ø˜š0ÍÁÄ!ñCbNIŽ´¸4יּ¾…d(«8+9/ÙJÇŠ;€¯¥)™E™YÅYC †9 Ô8ÉrÒåg—c2cl ?Ÿv§dF",$üëØ_½c¼C™¡kyß¶tôµ³ÄKG!~?~ü­[·V¬Xñµ?°un>T\\ Í]ýÑÑÑ!ó¡üü|HIIÙ¶m[Ó¸ñhjjro¢ÓéP[[Û¦F [¸°°zõjýÞ]q€zzzʉ5\EEEd‰®®.wâ-±{ÇvÔÂYêpÅÅÐôq‚:Š:d>”_–)ù)Ûî474\‹x4åF.J€ZVm›1Tnq|Ë  —*Ïãû©ô”šœv%}(úÄ5¾Š ÇWQ>ŸŸŽí¨…³„êâ&L˜pêÔ©°°0ò/XÔutn>$''MŸ(È]BÔéÝ»7qóK#VVV¼wÄK#ÂÂ-²‚‚$&òúÜ0¢ßÔÔÆß#’’Ü7v¥¥¥q/W"t»wlGß“œ„¤¦7*ç~Æ Q§·zïIšÞÆ—çF„©-Ž/]?ð<¾’ršßä´ç§÷]iiÜË•ˆÝDØÛB¨ûÒÕÕ555}ôèæC]PçæCÚÚÚêêê~~~AAAä­ï÷ïß''‡@SSÓÐÐ0''gâĉÜßðÂápž99šòš†Ê†9s&˜ØW£áÐÄ=!µ¬C†ÃPÙ0*=Ê3Ès¡×ø2C­õ›_y-†#”zïÕ½1fŸO{zôÍç7ÅEÄ-´¸Æ÷ÑÞÑf£‰Kuuìºíw·ÀƒÏã+, §yÚÝB¨[>|ø… víÚõµ–¿túzêÕ«W¯_¿~øðá®®®ºººÉÉÉ÷îÝSVVÎËË#?~öíÛ7~üx ‹aÆ‹‰‰¥§§GFF¦¥¥UVVòxµC77·E‹={–¸¿,:::,,¬¶¶¶Ù¹¥M›6-[¶ÌÕÕÕÅÅÅØØ8##ãöíÛµµµ7n$×8@NNމ‰‰‹‹‹¨¨¨¿¿ÿÛ·ogÏžMl%žH±víÚ âùCíëè;[í°zýÍõÃÿîÚßUWQ79/ùÞË{ÊRÊyey”Ïß§¸oâ¾ñ'Æ[ì²f<ÌXÕXLD,½0=2-2­ ­òx%Uˆ·ñíˆFÀcœ‡Û)·E 9KÜ_–V{ªV˜ÒÜø:oZvy™ë1WScUãŒÂŒÛ/nײj7:m$×8@NIŽÉ63QaQÿxÿ·Ùo銳­g[ ” `íõµ!É!4 âùCíë!Ô­ >üàÁƒ¯_¿î¼Ç  öùùP||ü¹sçnÞ¼I”,Y²$''çöíÛ䧸««ë¥K—–/_þøñãÇ…BBBÎÎÎ-_Þâööî;¬©« ø’@€°÷ÞKE¬W­â€jÅ­µ|µZ÷DÑŠ (*JÊF@† ²‡ÈFd%ùþ¸öš2B-ç÷ôé“{rî¹ïMP^ï}ï9}2,\¸°¦¦fÛ¶m X£©©iW¹üÆKJJŽ=úðáÇ¿ÓýñǬÝΞ=ëêêŠ/aƒÍ?„Ýž€3fŒ5*##ãèÑ£ðïüCßv ¶eú–·ÞzE{Ýyùï÷k¾¡¬¾ì^Ê=ü·¸½ž½Ïg_çàôààô¿×Ì13ÙßÞbÕ'ƒÀBƒ…5Ÿj¶ùoKÈOHÈÿ÷ûÕ0íjò¡Ó6–Ô– >ú0íáô?v“ÕØÿ÷û]rÖÕßÕ#âßï—*~oã=ìöÌ3c”쨌÷GƒÂ¿ó}ÛÖ´´´$%%ãããQ>4Ôô{>D$===7lØ&&&FFFZZZâââØM"Œƒƒƒ½½}XXXVVƒÁPVVž8q"^leeE¡P¤¥¥YGÆ%%%{3t¶L˜““ÓâÅ‹ƒƒƒóóó…„„ôõõÙœã¡C‡Ö­[‡O=mÚ4Öi£1ššš………rrr¬óS…BILL ÊÉÉinnÆ‚éûqø)õ-"Ñó'Ï æ"²#ÀDÝÄHÅHk¯–8UœBfù~ìõìÃÞ†e}Èb0ÊbÊU'â¥ÁV£¬(dŠ´à#eE!S$%{3t¶L˜“™ÓbÃÅÁéÁùUùB¼BúJúÆ*l¿ß­3[šñeÚèiÚÓX§ÆhJifü/#05°°ºPNDŽu~j )‰{ƒ^åTä4·5cÁt Œý8ü”âôõõ_¾|9ØQ í Äz‰‰‰¬ÍgÏžuvvž;wn@@@ƦvîÜyøðá”””ñãÇv,œêÑz‰‰¬ÍgÃÏ:û:ÏÕ›°ad|¿ww~r8å·”ñ CýûEëu H/õÉÏöÕ«WÏŸ?ŸÐ±fé[Ck½°°°ÐÕÕÕÓÓ#“ÉIII111°yóæ842,Ü-tåuõôÈDrRaRLN l¶Bß/2Œ]¸-)É3ožÒ`‘††Voïܱc…ÍÍÛ_E† ±cÇÖÖÖ–••¡‰ª‡”ȇŒŒŒÂÃÃãââ°MwwwÖ•V‘aÍHÅ(<3<.÷ßï—Äã¾Àu¥UvΟÏÔÕ>ùPËéÓo—-SEùа€=@“——×m>äè訪ªºwïÞ‰«áááõõõ?üðÃâÅ‹Ûu ÑhOŸ>MMM-))ááá=zô¼yódddÚukhhðóóËÊʪ¯¯—““333³°°¨“àÔ@äCaaaIII©©©•••²²²ÖÖÖ?¬ïXWuKß°­aII©Å©•+e…e­G[ˤ﷋º%AN ‰‹‹çää°Y  “˜˜ØÔÔ40QuôçŸz{{ãE5zzzí:¤¥¥-Y²¤¹¹o ñðð8qâ„••Þ˜œœ¼víÚºº:¼ÅÇÇÇÜÜüÂ… ØbäCÄ@äC``````00Çj¬¬¬X2¾KÊÊ#õûÕ±²Òùο_Aú–ŠŠJÇ™Š;òòòÂÖÓ¦MãååõööîØF£‘Éd[[Û±cÇÊÉÉÕÔÔøøø¤¥¥¹ººFFFâ‹Díܹ³®®ÎÀÀÀÁÁAXXøíÛ·—.]zþü¹ŸŸßòåËô”Ø |A¤÷ètæ¹sYªªT[[ù·oëãã+ 007®ýTàt:36¶2;»Ng¨© š˜Hðð{ÔaÀN$7÷cllemmóúõZd2ÔÔ4'$T}"‘¸45'M’ ÿSxûéS[XXÙû÷Ÿ¥¥y§Oïürl·'˜”TÝ@£µÊËóŠIHP:é’’’UUUÝvãp…†~²gÏ ðäÉ“Nó¡ñãÇ¿xñ‚‡‡o™3g޽½}VVVRRvG¬¢¢"//ORRòÚµkXO33399¹-[¶ÄÇÇ£|Aä[´µ1NŸ~ke%“™Yñb6Þng§päÈ4`ÄÅÅ«ªª²³³.\È:{…ÏÂ… <ˆm²ÖeeeáS³Z¶lö"%%eíÚµ¬Ë„ß½{wÁ‚‡Â6<øæÍö¹»»÷ò©·×¯_óððàËd Lœ81111<<KΚšš._¾ Ó§OÇú0Œ„„*•ºfÍì txúôi~~¾½½ýÒ¥KñkiAAAžžžýô<ʇfjjš™ðãŠØfZšúÂ…W¯ælØ E$>,--mÔ×½vÍ„——mmÌÍ›Ÿ<)½y3ófn;pÃܹŠâìûˆŠò°ïP]Ý|ì˜k£›Û8UUøøÊ²²Fnn†‘‘xUUSJJMmm‹ˆ÷£G%M¦¦’—.MÂò§ÏŸéË—GÕÔ|­iíö±ÎÓ¤¤¾$--Œôô:@ _cc£ŸŸF377···.))‰ŽŽþøñc§»¸ºº®Y³ßliiÙ³gͬY³€F£999ÕÕÕÙÛÛ››› y{{ûûûOš4 [õ233³ÓŒŠÕçÏŸ{s^·nÝJJJúõ×_Y'>~ü¸³³óÚµk•””„……óóó[ZZ¶lÙbccúodd¤¨¨èž={TUU³³³Ïœ9såÊ•ððpyyù;v ‡‡‡ûúúž8qåC‚ ÊÊT<€qãD¦O—yòäý»w ÚÚBÉÉÕðË/:X*$ÁÕuÔ“'¥/_V@·81w®b÷º£¢Bm— @jjíªU1mmígÊ­®náNN®gg,^^âÆÚ?ÿ‡÷ìö­­eoÞÌ÷òz·p¡²ªªÜÜ\zzœÞ+Dz‡‡§¹¹[KÊÝÝÏ/^ÜÐÐÐé.ZZZøë¶¶¶õë×O›6mÏž=XËýû÷«««]]]œœðn³fÍ233 Àò¡]»vu58®7‡ÂÃÃ÷ïßoccà ™™™åääÀ„ :NPL"‘nݺ…-)afföùóçÓ§OsqqùùùaÔ´iÓ222^¿~ÝÖÖÖ£e¸8Ô³«««KJJ¶lÙÒçq CMhh(ú¢¿3iiiòòòƒE—çk×¢ À ­P_ߊŠÔv¨«ká¤'zY?„QVnÿèP||å±céÜÜ\VVÒJJü||$Už’RÃ`0ñàÛ}Øéãº=AI_ߩ׮å.ZÙÜL3Fdúte^^ô/äÂÃÃÓÔÔäààpïÞ½µk×ÚÛÛ3FKK‹‡‡,«+t:ý—_~ÿý÷ßñÆÔÔT ‰Åjw˜L&ö"7÷ËlÚ::]ûü6=ruuµ°°8uêërŸ cåÊ•‰‰‰³g϶¶¶(,,¼víÚÊ•+ÝÝÝíìì𞺺ºøúZ€­FeccÚúèè褥¥•——ËÉÉõù)ôì§ÿÝ»w%%%'Ožìó8¡æÍ›7ÝÞiF†^^ "JJÚ'"ÅÅŸ@P BBÜPTDSPàcíÀd‚°07'8Ñ'õC힀gÏ>ÀÙ³F_Ÿ{ûöë,,ø’’FÖ:'ìôÛõa‚††b††bPQÑ”PuèÐë'OJýü¦rq¡$‘H¤Óé***¡¡¡±±±^^^ïß¿711Ù¾};6ac§ ÆÖ­[)ÊŸþɺÜGcc#¤¥¥uÜ…›ûË—ÞõC>>>nnnÖÖÖ'Ožlwå&22211qΜ9¬ @Íš5ËÔÔôøñã¬ùëŽØ86¶µµõ4BNô,š8q"ôÅúGÈ×£õËá[¿ì;PP@ (b©ª )$kh€¾¾Ø;…gÎdêë‹b<ètæñã0a‚'8Ñ'õCa¿á¨Ô¯“ÔÅÇW†‡À7õõEïÞ-8‚t«¯~¶÷ïߟíëë ………L&SFFFDä?™}bb"•JÅ®ë$%%áw¾X©¨¨°N$Íd2 kjjDEEåääz³`jEEE~~~Çv)))l‚骪*<ÅiGII©Ý*æ4­   ¹¹YDDDYY¹Ý3h‰‰‰"""x¦uuuYYYÊÊÊRRRxcAAAyyù¸qã°ê«nµ«[b]BAU\\ŒßãããëêNëúe®‰N ”••±|¥—$%%Ù/Ù!....ÞÍS8*•:f̘Nßâââ266n×(,,ܱ±¯N­ó0úi\AA:U\\ü}Lö=éû|ˆJ¥š››÷ù°½7dãЉŸJ=en~k°£èÄ ŒCÃ=þ•ÝØÚ¢_$È0Æ`0JKK;-šFº>4‘H$++«ÁŽé/$Ò1+«ÛƒŰD$\\´Q>„ k>|hiia‹ ú¾~ˆ}¡å ²qhˆÄO£ý2Ø!tnÈÆ¡á?‚ JOOçââb3 52(Ðõ!A8IIIZZZÝ®S† °¨úûï¿'Mš$ ÀÇǧ¯¯æÌƒÁÚ!""bΜ9âââÜÜÜ***®®®øšMMMÁÞÞ¾¬¬ÌÁÁATT”ŸŸßÊʪÝ*- ãèÑ£ššš<<Ÿåª  þر¤°°¢˜>>ò¿q6›˜ÜÌË«ÿ7Î"KËÛ™™Žââ_&%Û°!ÔÃãK&——W¿m[Drry·±u;,'±õô| ¦¦ÉÔÔ·´ôËýÍ'Oò££K¢£—Œ'ÑmÌ=:P·'ˆ ÈPÓÔÔ”žžÞnŽid(èßûeÉÉÉîîî¼¼¼gΜ)++«®®¾qㆨ¨¨¯¯ïƒ //ÏÙÙYXXØÓÓ³¬¬ ûAY°`Ajjê©S§ðq""">}ú”miiY]]íãヽ›àáá!((xõêÕªªª>\¸páþýû݆Ç~XcëÑùb¢¢¢^¼xA£ÑÞ¾};oÞ<†]Ê211a2™D"ÑÒÒ’ù¯Ž•qx ö'Ø{ÉÉåî¼¤3g,ËÊÖWWoºqc¶¨(Å×7óÁƒÈË«wv¦xzÚ”•­ojÚ’ž¾jÁ­ÔÔŠS§¾&¬Å ‚ Ë>}ú%;{µ¥¥buõgŸ/¶&$”yx¤ r_½:£ªjã‡.\˜~ÿ~N·á±–ÃØzt¾˜¨¨/–Òh¿¼}ë8ož&ÖºiS(˜˜È1™®D"ÁÒR‘ÉtÅþ37o_VÉáØŸ ‚ CPRRR[[ëÄBÈÑ¿ù6îo¿ý¶iÓ&iiiQQÑ¥K—ž={nݺ7nÜhmmõððptt”––æáá5j”¯¯¯´´4ëïuqqñÀÀ@CCC>>> ,Áoýܽ{:´råJ111)))''§½{÷vûa9Œ­Gç‹¡R©<022âçç×ÖÖöõõÕÖÖŽŽŽ./ïþšGÄþ{Ïß?~ûmÒ¦MzÒÒü¢¢”¥KuΞµ€[·2àÆŒÖV†‡ÇtGG]ii~â¨Qb¾¾¶ÒÒü¬¿×ÅÅyçJóñ‘54DN²€´´ ìÝ»wßÀ¡CSW®#&Æ+%Åçä4nïÞI݆Ç~XcëÑùb¨TòƒsŒdøùÉÚÚ¢¾¾¶ÚÚ¢ÑÑ¥åå}õÁrr‚‚ AAAAcÇŽÅ–£G†”þ͇rrr€eu ¶‰½•žž$‰H$‰D...‰ôáÇ¢¢"|}}}ÖÒ3UUUøøñ#¶‰ÍnccÃz”v›b?,‡±õè|1ãÇgô“L&[ZZ¶ëÇb‚½—“S ¶¶ÿ™ÝÖVrrê =½ ‘HLjÄcDâ1..w騇ŸŠŠ¾–aéëK ~]X[UU>~üRÇ“›[66ʬGi·Ù)öÃr[Î3~¼¤¤ä×Û©d2—¥¥¾;'8<ûDd¨ikk ™9sæ`‚tb ž/#]½…ÕÿÒét:Î`0 ^¬ÓÒòõ¯õv‹Ûa¶[y­ÝQ8Y—ý°ÆÖ›óe¯§;vÛŸ“Ï­÷ØDÕÿÒéL:É`0Y>BhiùZSÏËûŸ:6lÀva~Ó÷ËnXcëè[¿Þoø~»éÀÉçöi¥·.ñYr<òø`ÂNJiÊŸ%K|–¤”~]zsXDŽô·èèèúúzláwd¨éßzjl~…   Ñ£Gãÿüóþ–¶¶6„„„ôfúAlÁ¶àààõë×ã!!!ß< æbëö|1©©©ø%¢ÖÖÖ°°0`YyŽ‹‹«­­­÷êoêê"”7zô×íþÉuuaÐÖ€VVJß|55aÎ_¿~<ÞRøÍb¾!¶nÏ“šZQQш_"jme„…â'\\„¶6vi ‡LFBq‚ eè>¨ÜÆhÛýxwNu“ɬýüõŠàÐ<;v,Z©chêßëCØzÚnnnçÏŸ///¯­­õõõÅ ‡.\+V¬ ‘HK—.õòò*..nii)//ŽŽvvv>tè‡GùñÇ`×®]ÿýwMMMeeå¥K—8ÐËà¿!¶nÏC£Ñììì333—,Y’™™ibb‚¯â+**šžžž››Ûnb‚ž¨¿-X  nnqçϧ–—7ÖÖ6ùúfbÏÀ/\¨ +VŒ&‘¸–. òòz]\ü±¥…^^Þ]êìvèÐ òã°kWÔßgÔÔ4UV6^ºôêÀø^ÿ ±u{¾­ÕÎî^BBYcckffÍ’%23kLL䤤¾dH¢¢”ôôªÜܺvôô@ÈäïQN+Ÿ©…nˆ í•••=~ü=Y6dõïõ!}}ý­[·;vlãÆ7nÄÛ/^loo.\prrZ½zu»}wìØÁáQŒ×¬YsåÊÖŸ³E‹ݺu‹Lîü©iN|ClÝž/ÆÔÔ477—uå^*•ŠUCc¦M›æçç‡_éyöìY»GÌ8öüþéû³+³;dÈñôôŸ={ö`‚t®ßë‡ÜÝݯ]»fllÌÏÏO¡PÆwêÔ)ÖG¾×¬Y·xñbYYY2™,++kffvþüùÝ»ws~¿þúKMM››[UUõÈ‘#ëÖ­‘Þÿ ±u{¾ **9gÎAAA*•jccÅ:ùЉ'æÏŸ/**ʦℓ wwók×fËðó“)Ò¸q§NYøø|ý¿fn\ÜÒÅ‹µee©d2—¬,ÕÌLáüy«Ý»'r~ë¿þšª¦&ÌÍMTU:rÄlݺ± "BéMðß[·ç ¢¢”ÈÈÅsæ¨ rS©då¨(ÖɇNœ˜6¾¦¨(…M…'ÉZè-ÞIÞNwÖÞYëïÑØúŸg÷*hçbÏýòà—Õ·Wïº?$;¤ÏËæ:µ÷ÉÞñ²ãŒ]ÀIg&“y6æìŸ%·ÓÐbvß¿úúúÛ·o;::’Hý>íòm=úk»Mƒ=ì=Ÿ¸œ9sæîÝ»ØÝ´!¢©©‰——×ÎÎŽ“é‘@ؼyó‰';.¹¸„Ÿ9“|÷®v7mˆhjjãå=ig§~ÿþÀ]¥ã\_ýù-//g¿šÞ?ÿP]\¤rrr{y ŽšÛšG»¶P·øÔòéEÑ×Ûšjbj~ËüDxE »2{á…´æÿD¸p܃3v5ìÁ°ƒo>¼ah÷9²l:ø§ùÿò{Ðê e塼“¼/Í¿d¡nÁ¹•†ÕÅy±ÍíAÛÿÉüÇy㋉Kwç ßü³}ôèQ??¿ˆˆ*•Ú!«r9ñ$ªW®\©ªª²³³SVV~ÿþýµk×Ο?/ `mm=Ø¡!}àÊ•×UUvvêÊÊBïßÓ®]K?>E@€ÛÚZy°CCAd^$•‡ºÝ|»†¸FÙDzË/.çVç=plÎ1ðKõ£5ÓÌÕÌíÇØ S„KêK¢ó£?6³›f"³23¡8ýA?·~fónMcÍáç‡]L\”E”»¿êSÕº;ë2+3OüpÂVǶÛþÈpWTTtõêÕ;w¢dh(ûNò¡ººº]»víÚµ‹µñøñãè‡ïûPW×´kWÔ®]Q¬ÇO£R¿½> ¾˜À¼¾øú(©QØæLí™Ó/MzôÇŒ?øÈ|$.¸Ûº ó~yoñøÅ Mì–Ü5mWCs7벿8t 쀌€Ìã5ÝŸU™õ³ÿÏÍmÍ>K|ÆËŽï¶?ò8pà€¢¢â’%K;„ï$úùçŸëêêóòòˆD¢žžÞÖ­[çÌ™3Øq!}ãçŸÇÖÕ5æäåÕ‰==©­[ æÌéÁ…Pä{¢#©ƒ'C Â+b¥auçÕœªœ±2côî½¹·öÎZû1öc¤ÇhIhñxØ?è®#¥Ó›x¢ó£ƒ2‚V Dö=³*³þ½PFPÆw©¯œ\oŠ ááááááׯ_G•CCÜwòõ 8p ÷ÏØ÷7 …20uß!!žL0ì@ºA¡˜L×ÁŽâû×1¹¢@s[3¨ˆª„® LŒ-ˆõJðzßðÞDÅd»ùvuñ.ÍëeýЉÈ2åÏÐ?ñ–ÂÚBpp¿òâÊnËÝc¤Ç`íd"™ÈElhjøÔò©ûóD†¿ÊÊÊ]»vÙÙÙMžKËiåøæ›oÞ|x[ë1ßk‰/Š_yk%Þ¡¹­9®0.®0nãä[¦nàhd(ÑùP»ú¡OŸ>͘1#::ïpëÖ­³gφ††JJJâ?þý÷ß[ZZ°Í«W¯ž9sfÓ¦M9‚ŒX¯·¾ì†-I­µ×++‰(5¶6>Ëyæâ–m¢b$.’‰ŠÉ£~';NVP¶¦±Æ;ÉûjâÕ qŒ[ /„ÖýEFœµ³{÷îèèh ‰;vèè踻»¿~ýÚÉÉ) ï¶ÿþ3f888P(”'Ož\¾|yË–-Ó§O×ÒÒÄàAp^ ½ð×¼dÞùcç¿ox:útzy:–++ã}ä„äöXîɩʉÊzóá ʇåC_´µµyyyQ(”èèhMMM¬qÑ¢EÚÚÚ÷ïß///—’’Âmmmñôhîܹ222nnnÞÞÞ‡œÐd$éX?tÿÍýÉ7²+³L†ª˜êü±ó—é/ã"|™L„Ádx%xù¥ú•6”J H/Ñ[2S{fÇaŠ®¼¸’\šLk¦I HÛhÙ8Oq¦òP¥ h¯ÕÞ?ÃþŒ/Œ§3è Û̶éHé@RIÒâ‹ ¶ Vý/ul@Ÿ%>ãe¿Üˆ¯ U ;•ÕBoÑ“ÓÛ5m¶ã@"q‘@ŒÝоjbjQùQ<èrd$BùÐyyy4mæÌ™x2bbbóçÏ¿xñâ«W¯¦OŸŽ5:::²îèèèèææöêÕ« AøëÙ_W^\Á73Ê3þò¿”Ò”?œÀZö?Ýï›â‹½.®+>üìpú‡ôvƒø¦øþöô7&“‰m–Ô—x&xÆÄÞ^~›—Ì‹5Ö7Õ/ú{^”™™TœtkÙ­n3›†¦†E7×c›±±Ëý–‡¬ áéj—~+b bÙüs°š˜û>˜ºÏu±…±—_\çgS.ÝBo Ï —¤J*r2,‚|gP>ôESSˆŠŠ¶kÇZ°w1ÂÂÂ;|þü¹ßCDä¿ÒËÓ¯¼¸B!QvLÛ1Ck™HŽÈ‹ø#ô‡gë̶ҰzUöÊ7Å—ÊCÝgµÏRݲÑö$ëÉ¡ðÿ\Ê-®+v qäÜ9m§¹š¹¯PQmÑ©èS3_Kºæ4É ë–Xœ8^vüùÏkJh¾ox"òÄ“¬'n!n~Ëü ä rvæt¬§nnk€„â#£Sv§4Ä5Êiå¿ÿ[û ýÁJƒ•ýýùL<3±êSözšú´=–{Ø\ûù#ô¢º¢‹ó.r¹û;0‚P>ô…ŒŒ ¼|ù’Á`pq}¶;11deeñ–äädÖÊ’’’@NNnàbEg>€MS6-Ÿ°k±mÇEàÚ¸%èm•†UpV0l3ß6OwÖa™þ²ú¦ú‘'ðAî¿¹ßÆh;0ã~M]\ýä'“J’B²Cð|ˆÌç1߻ߤ&¦vÒîälÏÙI%IUŸªÄùÅÙ)Â+riþ%ìÖ›²ˆò>«}3¯Ì̬Èd³K<¤–Y‘ù¢è…²ˆr§ïºG¸û¦øî²Øe¥aÕç‡FaåC_HHHèëë'''ïܹóÏ?ÿ$“ÉL&óÌ™3!!!ÒÒÒãÆÃ{8p`òäÉPXXèââÖÖÖƒ:‚ŒT5`¡nÁÚˆmÖâÿ7U1eí0Ue*k>ô®êlܼ9p3vËŒ Lìx·QR£X‹oH\¤IJ“r«s k ÙçC£¥GcÉFAXhÍ1Í}¼s<“ɬkªK{ŸvøÙá=÷ðsóÛêØ²öa0nOÝ|R|vNÛ¹ÚhõD… Cʇ¾:r䈵µõÑ£G===ÕÔÔŠŠŠÊË˱véë%//oll¬¡¡ÁÃÓ™™ÙÒÒ2~üøE‹ ^à2¢„î;uÁdAïøV ½¥÷G§þ3kŽÕ•>¬""¼"æj沂²³Ï}J"Jøÿ£ò£–ê-Å;DæG²‚e×_›¢<…ͱ2Ê3ª«ñKDmŒ¶¸Â8PVÄZ@h£·õúœú –ÛÑZ¾^—úÜúyã½QùQû§ïÇo8"Ȉ5¢ó!¬š5•™5kÖ¬Y³rrr°ù©µµµYÿñ·víÚ3fèéé”––ÉÉÉ)**Bè‚ÌÔžy1î♘3ü<ü6š6d"92/ò!ÿ€YÚ³ÀFËÆ#Þãèó£ÅRݒΤ?Î||>ö<ë suç^Œ»øk௮f®&*&âüâõMõµAoƒ¤¨RxýPckãº;ëöYíÃë©s«s ä ð›e¼ÂïªÞÕÉ ÉãOû›^ÖEçG¼ ˜¯;_M\M”W´îs]RIÒÑçGvìcóÇ5þk’K“ÿgý?=‡ÞA¾#:Âj¥¥¥¥Ûµ««««««w쯪ªªªªŠ½–““C5Ô2¸FK^m´Ú3ÁsðþýÁûñv[ÛéšÓ`¬ÌX=ßßA;Xß}ôö¾©,¢üÇŒ?öïÛõxW»ñ×M\‡¿6T0,¬-œw}ÞÂGæÛ?ýëA'*N|ôö‘ÅÅ/ÅL¬ó °zK`z``z`»v qµÆk±×á9á/K^À¾à}û‚÷±vC÷Αi„æCÇ¿xñâ»wïTTTTTT;A¾Ñ.‹]Ú’Ú7^ÞÈ®úw>FÝù¬wܬݔ„•°ù¥¨R‹Ç/¶õŸ|Ž[¨-©í•à•PœPÓX#Ê'ª,¢<[g¶Ýh;¼EÈo™ßÐ Å c‚ü„íÓ¶ëH~|håž6F[|Q|}S=>•Ñ 0S3»ðã…»¯ï¾­xû¡á?¿š˜šµ¦õ2ýeøtJ‚´3Bó¡ìììwïÞIII]¿~½—Ř‚ ¤Žë—Í3w]õç"p­1^³Æx kcÎΜvÝÆÊŒ=iw’ý¡…/Í¿ÔÕ»T‰³s϶kìx OÇÆ¾E$§kNÇ®uÅn´k¶‡ H¯nr_¿þúë«W¯ŠŠŠÐÒô‚ ‚ŒÐëC¬‹r ‚ 2ÂÐëC‚ ‚ ¸z}A„CPñƒ È CׇAéP>„ ‚ ÈH‡ò!AAFºžÕaÓö(((ôS4ÈPò3ÀÖÁŽé[ÕÙÙÝ÷ByP=5Ò¹ñãU;®d‚ k©©©ƒ‚ ÈÕ³|HSSSSSÓßß¿Ÿ¢A†àèè8kÖ¬ÁéK›6m¢R©ƒ‚ ÈP„ê‡AéP>„ ‚ ÈH‡ê‡A îs½·}I} ¶yiþ%Éñ¶ãË=« WaºÇtu¥uo.½9xavã·àß^4µ5á-’TÉãsŽOTšˆmÔl´=¹4™u/mIí³sÏ*‹(d¨2Ô |An$ß(©/ѓӛ¨8‘L$«ˆªp¸\L\ôäô;´{ÆÇÍ7Uuª¢ˆâçÖÏ‘y‘ÅuÅkï¬ ]*I•€ÒúÒäÒdy!ù±2cå„äjkžd=ɬÈ\}{uðÏÁ$.ô¹ÐO?‚ äÕä€Ç<Q>Q¼ÑÅÄeð"ú‡gž¤4‰ÈEÄ6éLúJ¿•q…qaïÂô@ETåöòÛúrúø.›M7Ͻ6·°¶0©8 ¿Œ„ #ÐHχbccŸ>}ºråJeeåÁŽAnЙôs1çTÅTmuls«s£ó£[è-zrzò]õ‰-ˆ­ý\»~Òz2‘Ü阹չAoƒÞ|xÞIÞí®‘LU:^v<›Þ|x“RšBk¡IQ¥ÌÔÌÄøÄXßM*Iʮ̦5Óä…å å %¨ß~ò0Q1aÝ$ˆVVq…q­X‹¬ ¬¬ ,kAMŸŸº¦º~ A†¸”EFF†‡‡;::***â±±±nnnæææ(B¡¯Þv:ú´•†Ui}©{„;“ÉÄÚŽ[xpæÁv}ÞU¾;{k\m´º«|(¯:ïtôiìõùØóíÞàè*ªúTµ%pK\aÞÂKæÝ?}ÿü±ó îsãmÇWe¯ðwyH<®f®xlj¥ºvIDAT5RG÷ÞÜ+®+îúì–OX.Â+¾ŽÉdFåGû»~ÕÕ #©Ãá°ò]Yù›››••k>4yòäýû÷£dA†‘Ô÷©á9áfªfâå´òÞþs;í¶­ŽídåÉxŸ”Ò”Ðw¡¦*¦:R:¥«dTÅT]L\½}”W·aòüúPamáƒô]íEgоóóë²×òBò¦ª¦B¡ÂÚÂÐw¡»ïVW/;Þ;ÉûUÙ+)ª”…†…E¨´¾4¡(áeÉKöùPlA,ûsŸ­3»Û|èÊ‹+­uŸëb csªrV®b½AÖNêûÔw!sFÍQQb?,‚|ßFP>Ô©É“'Ož<¹û~‚ ÕÕ~¼`¥a…mšª˜n{´íyîsÖ|¨º±úØœcv£íºMMLÍÅÄ%£<#¯:oãä<$¬=2/’M>ô4ûéë²×sFÍq·uÇëu^—½ž}þÕÄ«§ìNÕ4Ö@ÀÊ)ªön ½%ýC:›H掙Ëzã¯S¬åM]¹’p¥êSöz©þÒ-S·tÕ³¸®x}Àz%¥ÿÙü¯ÛaäûÖÇùP]]ÝÓ§OóóóÉd²ÁÔ©S±öÊÊÊóçÏ‹‰‰mÚ´ ïÜÔÔtìØ1"‘èêêJ"‘ØìŽkhh ÍÍÍåããÓ×ן4iÖðêÕ«íÛ·óññá±Æ;wR(”ëׯ‡‡‡€——Whh((++¯\¹²Óú¡ÂÂÂÐÐÐòòrQQQsssmmmü­ÐÐÐèèh'''‘‡æääHIIÙÙÙ‰Švÿ—TrrrDD“É455544¼ÿ~jj*3>²°°pPPPvvö„ ¬­­ÙÇÓ퉳Ž,((øàÁƒÂÂBYYÙ~øAXX¸Û˜d%9 O†À\Í*h¬}TDU8I†¾YLA ð‘ù.Æ_ÄnÛ1™L&0)‚¯Ë^€µ¦õÍ”›^ ^ Ç-TU%ÜDnö÷­æŽ™Û'±­1Zó©õSmcí«²W>É>±±7—ÜìXº”[»Üw9?™ÿ†Ã >94‚ _}™yyymÙ²¥¡¡o155 —(//ÿý÷ß™L¦³³3öîÆ½¼¼<<<°dˆÍîØ¦§§çÖ­[ëëëñ&&&\\\>>>›6mj—øøølÞ¼ˇž={W¯^ÅÞ533Ãò¡võC»wï>räNÇ6 ÂêÕ«ÏŸ?O&“ 44ôðáÃúúú;vìÈÌÌÄúˆ‰‰………7®«O†Á`899]¾|oÙ¸q#F»ví36ò˜1c¶oßžŸŸ¿þú«µµ5ûxº=q|äÑ£GoÛ¶­°°ë#..~ïÞ=“ÿT_"Ȱ #(úÉGæ€6Fk£²¨r¿Æ€]þ¹•v««&*&¾K}¯%][tcQs[óé1Ó5§;Œwà%óvµK_Õ­1^ƒ¿¾òâÊ_Ïþ:sÖÍÆµÏ«²WŽ·EùDo8ÜÀÅG®Ïò¡¬^½šD"Íž=[GG§¹¹9$$$**ê§Ÿ~ €“'O¾|ùrëÖ­†††'N¼r劗—×O?ý´víZNv÷÷÷_³f ‰Ä—/_FGG3 .®îgÙ^±bƒÁxöìÙªU«°ú¡Nk†Î;wèÐ!`kk«££SPPpÿþý+W®ˆ‹‹:tï¶nÝ:‰´víZ*•úäÉ“ŒŒŒM›6EEEuuô“'O^¾|™H$ÚÛÛ«ªªfee?^B¢“'M6lØÀÍͽfÍ99¹I“&q'6nÜÈÍͽvíZ …š‘‘1wîÜÌÌL11±îwFá†H öëøB¼B°To©û?A{a¨`h¨`´Š„â„Ca‡žd>ñ[æÇEèü¯¬¾ªj×ÿ¯geTd°6ÆÄ:Ýu’’ý{ñßýýÈ‚ }–íÞ½›/22r„ X “Éœ?~@@@ff¦¶¶677·¿¿¿¾¾þ‚ <==ÇŽ{áÂwß³gœ;wnÆ øA£££‰DŽþÖ[±bEQQѳgÏÙ\ù믿àîÝ»sç~¹pýâÅ SSÓS§NíÝ»—ŸŸkTSS áåå€C‡;6&&¦¡¡APP°Óa;ÆÅÅjnn޵‚ ˜IŠ“üÓüéLú¦)›Xó›JZeÙÇ2ˆ/Œ×•ÑåçæIª¤­ŽíóÜç÷ßÜϯÉWSëtÌ^Ö•Ô—´´µ¨Š©²6ú¿òq~q¼%8+xsàfUQÕë×ÛÍ€ #YßäCeeejjj?~üø1“ÉÄn¨cWn’’’°’EEÅ›7oΜ9ÓÆÆFHHèîÝ»XJÑíîT*õÝ»w†††¬Éôí힢¢¢’’’)S¦àÉ/X°àæÍ›ÉÉɦ¦¦XãŽ;°È€››ÛÊÊ*++«¬¬¬Ó|¨°°ðýû÷ÖÖÖx2vvv†††‰‰‰í:oÛ¶ O†8‡;vìÀÃ#‘HÿûßÿbbbP>„ ß`ö¨ÙÞIÞ~©~QùQ“•'‹ñ‰545Ô$%¬6Z=Vf¬G¼ÇË’—•&*‰(‘‰äÌŠÌȼH"(ÌÛeÝ^/뇲+³×Ý]7An‚ª˜ª(Ÿh}S}bqbNU8ŒwÀú$'ºÉ>¬»w;Ó‚|ßú&ª¬¬€ÜÜÜ}ûöu|—µâÇÔÔTII)??ßÞÞ^]]ÃÝ«««@KK«O¢íJmm-¨ªª¶kWSS€šš¼EAAµ•J€ÖÖV6Ãv¼=§¬¬Ü1ÒÐÐø†x8¡¢¢Òq;‚ =E$=zîÚžîŸæ·KQ¥ÆÊŒ€IJ“°yð·ø¹ù÷Zîí¿K2ŠÂŠÚ’ÚI%II%Ix£0¯ðn‹ÝSU¿<›ò¾á=A€É7ÚíÎf¦% ú&€Q£F-X° ã»†††øë 6äçç«©©]¿~}Þ¼ysæÌádw¬Æ%++««°jb†_@QQÑ7œE^^^»öÜÜ\àä 26ôkïØXi9çñp~âùùùøãxØ&~.HD’‹‰K»[BX£º¸:›>ݲe;Jj‰øõ ’ˆR»õË6LÞÀZz,Â+riþ¥Üêܤ’¤šÆQ>Qeeyìñûµ×.Ÿ°üEÑ‹üš|”™ª:+ýî'êâêW=|[ñ6£<£üc97Ÿº˜º¡‚!>ƒhIhuµÉðZ© Aú\ßäC eeeóçÏ3f ÞÎd2Ÿ>}Š—]¾|ÙÛÛ{ÕªUGÕ××_±bErr²ŠŠJ·»‰D ÄÄÄK—.aõט˜˜˜É“'¬D:((hãÆØ[!!!111¬Ab[±¹¬¢¨¨(//øÃ?`IIIwîÜáååÕ×ïrB3ö”””deeCCC###ñ=zÔñâÐ7ÄÃɉc>|À#ÄnÏmݺ5::š›¨ÝYìܹsÓ¦Mööö¶¶¶ÚÚÚ………÷îÝkmmݱcGŠ—ÛÙ²e˶mÛ,--íííUTTÞ½{())YQQA ØìØm<œœ8¦¬¬LGGÇÖÖ–‡‡',,,==]\\¼ã'€ ߥ‹q[è-¾ÅMävšä4Àñ 2ÔôY>dooïãããììŒ5rqqÍœ9“D"ÕÕÕÍŸ?Ÿ‡‡»¶FFF'NœØ¸q£³³ó¥K—Øï .¬©©Ù¶m[BBBBBÖÁÔÔ«¹?~¼‹‹Ë©S§nÝú2Ⱦ}ûòòò||¾ Θ1cÔ¨QG…çjw7n,))9zôèÇ>|ÿÎ÷óÇôæÃÙ²eËÛ·o½¼¼îܹƒµlذ¡¬¬ìÞ½{ìÓ¬nãáäÄ1gÏžuuuõððÀ6±ù‡ÐÃöÈáïñ±ùc§o ð |A¾œÑÁÁÁÞÞ>,,,++‹Á`(++Oœ8+=NIIY±b…¹¹9^C ØÃb•••åååRRRlvÇ899-^¼8888??_HHH__ߨØ÷äÉ“‹/ŽŠŠ"‘HãÆ PWWÇn“…BILL ÊÉÉinnÆ œ;®_vèСuëÖáóAO›6u>h+++ …"--ÍzâX£¤d—sš‰DOOÏ 6DDD€‰‰‰‘‘‘–––¸¸8^§#w''ŽÑÔÔÌÈÈ ,,,”““CóS##ʺ‰ëØ\à`‚øÑœÀêýýý»í‰´“˜˜ÈZW~öìYggç¹sçô÷¡wîÜyøðá”””ñã9}x„@ œ>}zÖ¬Yý2À6mÚD¥R{ÿç·¼¼œF£±éðÏ?T©œœÜ^A†ô³=¼`csh¤¯ç:`,,,tuuõôôÈdrRRVò¼yóæÁŽ AA” ##£ððð¸¸8l“‡‡ÇÝݽサ‚ ‚ <” °°°¤¤¤ÔÔÔÊÊJYYYkkk™îwë ]U&!‚ ‚AùÐÀ10000èfq¢þ`eeeee5ðÇEAá¢û•áAA¾o(BAd¤Cù‚ ‚ #ʇA†ŸJZåŸ%ÞIÞ};¬ãmÇ¡úvLP>„ 2ü4ӛРj úvØÄâÄŒò |s¹ïòƒaûö24õøù²’’’Û·o÷G(È’’’2Ø! }ìǬ æ HG^ ½¨¿hÑ¢þR®^½zõêÕÁŽéc(BØ3T0쾂|z–¡•ËD­ôÖŸü~2P0p1q¹•z+®0®ös­çBÏ=÷À±9ǰn M ëÖ3™Ì“v'%©_ZÞõx×§æO§íOd`…Π?Ï{]T[Dä"jJhÎÓ§"ªÒnÇ_L~¹v;*?ª…Þ¢'§÷Ó„ŸX¯Ó@Úû´Ûi·KJee[$Î/ÎúîÖ‡[9ÿØDëxÛQUTu¯ÕÞ¬Ê,·§ntý͇7K|–`#웾OGRê›êZ“RšBk¡IQ¥l´l,Ô-úãƒEƒæcDdØ`0 Å Têª[«â ¿¬~ÓFoã&qû§ùS‚*±…±/Š^@t~ôº?@Ý纻¯îÚŽ²íjäƒaß|xÃþèîsÜee{`ÉÍ%/K^â=Ãs½¼ÎÎ=‹%øŽëÖ‡ç„c}žç>šõôΊ;d"k¹óêÎîÇ»L¶ð:`ëÔ­¬ôè`mbqbSk|lþ˜Pœ M Ø ì5¤”¦¬½³¶ös-~ô»¯ï.·àÐÌCì?@ÊP>„ È0™I塺š¹êHéPH^2ïå)þiþ11öcì :?Z‚*A妯Ä`Ù@\aƒÉ0Q6éjÌÌÊLü·~W>·~îi`@k¦Ù¶3T0”’ojkz[þÖ;ÉÛ-Äõ‚Jd^¤0¯ðŽi;4Ä5Êiåçcϧ—§ÿ“ùÝh;xßðþ·àßLƺ?Z¨[ÐôÇ™Gg=ô7|F‹Ó’ÐòYâ³Üw¹Ž¤ÎnËÝX£Ž¤­™ætש®©Î~Œ½¹š¹E¨¨®È;ÑÛ?Í’â¤FÿÀþ#B! åC‚ 3L`þ½øo)¼eŠò•…g&Ê&Tê?oÿa2™Ø[0EeJWcîš¶«¡¹ýq»º8Ä&0ðYâó¢èED^DpVp ½…ÉdòxJëK?|ü -ðeUAÉw©/~MIXi™ï²äÒd, Ll¡·¬2\µÇrÖa¶ÎìíAÛ^ôæè4Zœ€±¢1@â2V4ÆÛo$ߨn¬v5sušä„7ÎÒževÞ,àMʇá åC‚ 3ÚÚí~‹‹ðŠŒ’Íd2 ë KêK¶LÝ"À#ð÷Ë¿3+3u$ub bÔÅÕ¥¨R]ÙUZÐËÀèLú–À-X.ÒÎÇæx>¤+£‹'C0Fz Ô6~¹!•U™ Æ.`Ý}ÁجùÐ7|£åDêûTɉ-Œe2™À&ö"·:·§£!ÈÐò!A†<`eªjz1îbfeæË’—ÁDÅ„B¢¸HQyQ2@¸þòzpV0–C`„(B¬{aeCxµPS[RYû´Ûzþ tú1v«±¥ÒÊÒ:¾ÅMâþ†dˆ@ù‚ ÃL§3â˜(›\Œ»™™Rš¢-¡-Æ'zrz11XeÌå.o–AÕu ËÎÎ=‹=–…9y‚ý8íHòK@zy:kóúÃëvÝzú p4±Xó6”7k7uñös7¸Ð/dC?¾‚|&ÈOà%ó>Ï}þ¶âíR½¥X£‰ŠÉùØó@â"MTšÈf÷>©êH˜W’K’±|¨Ñv>ö|RIR1U5õIñù+ü/515eeȬÈ<q¼]·^~âçá/©/a0\„/‹ØhÙ\Kºö ýûwEaE¬‘Τ‡d‡ÐôžŽ Cʇù‰d#£ˆ¼0Qùò•‰²É‰È11F F힟j§Oê‡:2W5?snÿÓýž ž"|"5 Í £¥F§—§s>È4µizrz)¥)3.ÏPS¥3èµZZå´rÖn½ü:5JjT|a¼ùs9!9öMßg¤`´`Üÿ4‹‹  âüâ M %õ%ÍmÍë&®›­3»§‡@!­_† H#™@ð‹XÀKæ ?kÑ•ÑÅ®ÐàùÁ';nÿôý¼dÞ¢º¢´÷iáð¬Ã=½NCä"^žyšú´6F[vevnuîd¥É‡fu2ÙOŸÛÌ·IP%Þ7¼O,NL(NÀæúsÆÿÛ»{Ÿ¦Ö8€ã}µï©Z\|‹£E ÑÁ„E†&.ð0&_‚£¨M˜01‘º887)±H‚é ¡Z[h©µ­¥¥©=Ü¡7ÄÜh¯çpÚ>ßÏX ü„~Ûçéy&''Úí‘t$ ~úöIÞ”¯þqu›Ë;5rù¯?o4ýßÖ†`{ñx<—Ëms‡×¯m7ntÍÏ/ïÝ++û­åM9 ´ÚZûö÷ýó£™L(²›í':OlÝø!þáGñGßþ¾V[«²ÃT?X¡TXN-ëuúÞ¶^³Ñü%ýe%»r²ó¤Ílû×O¬Üè¶»´ùõëÄsñX&Öáêè’ºŠ?‹ ±…WGe­¢ÊŸÀ6Ó"§Åùën§òfùcòcv#+oÊýíý[Ûº+odKåSn»»[êÞºtds{òDššrÏχµUééé©þÎô€ÚìØC‘ˆùÒ%ÏìlôÔ©]› Ø““mïÞYýþ¯Z‚ªÔÔC¬—PØÁƒ¥–9´j= °…KQë)  z€ÂôzÝùóù¹9»ÖƒJZ[3¾oÈk=TAPÞÐPîí[ÛçÏBì) ü~I’dz¨YÑC”wñâºÇSzøÐ­õ €22Ãôt‹×›µZÙtÛœè!Ê3uß^¼p5_ó¨C¹õzÝèèw­Zè!ª\?w.çξb±Šs!€:¶´d™™‘ÆÆR.——@ý ‡¨åÖ­d,foç²h\‰„idäÀéÓÃÃ;œè‚†FPËáÃ%ŸoõåK‡ÏÇF"4¤BÁ02rÀáØôùV <`65~½Ttöláöí¤Ï×zïÞ¾Ý?Áø‰„éúõ®hÔôøñŠ$±RÖä8Ï€º¼Þ¬Ý.·‡Ãæû÷N'+hKK–Ê+C³³Q§¤õ8P¯PÝÐPnf&¶¸h½rÅóü¹‹íD¨g™Œáîݶk׺{{KÏž}%†Áùej³ãùeÿ%6LM¹Ÿ>m9~¼xófúòåu³™ÿ?¨#kkF¿_šžnÑëucc©áá,{†ç¹PÑÿPhσîW¯V«|æLáèÑbgg™E4h¥\Öe2ÆpØ Z­’${½ÙÑÑï¼µ¾ ÐCTô›=T±ºjš›s¼yc …ö$“Æ\ާáІÁ “$ùСұcÅü… y‹…‡Å&AP‘"=j«©‡xNDGÑÑC@tô=DGÑÑC@tô=DgÒz Æb±h=(Œó:€èX/¢£‡€èè! :zˆŽ¢£‡€èè! :zˆŽ¢£‡€èè! :zˆŽ¢£‡€èþ½¼—‘o\-”IEND®B`‚fio-3.39/examples/rand-zones.fio000066400000000000000000000016441476262051600166400ustar00rootroot00000000000000# Sample job file demonstrating how to use zoned random distributionss # to have skewed random accesses. This example has 50% of the accesses # to the first 5% of the file (50/5), 30% to the next 15% (30/15), and # finally 20% of the IO will end up in the remaining 80%. [zones] size=2g direct=1 bs=4k rw=randread norandommap random_distribution=zoned:50/5:30/15:20/ # It's also possible to use zoned_abs to specify absolute sizes. For # instance, if you do: # # random_distribution=zoned_abs:50/10G:30/100G:20/500G # # Then 50% of the access will be to the first 10G of the drive, 30% # will be to the next 100G, and 20% will be to the next 500G. # The above applies to all of reads/writes/trims. If we wanted to do # something differently for writes, let's say 50% for the first 10% # and 50% for the remaining 90%, we could do it by adding a new section # after a comma. # random_distribution=zoned:50/5:30/15:20/,50/10:50/90 fio-3.39/examples/rand-zones.png000066400000000000000000001126311476262051600166460ustar00rootroot00000000000000‰PNG  IHDRË„AäñbKGDÿÿÿ ½§“ IDATxœìÝyXUUÛÇñ/ Š8€Ž Š¢æL>™N¨9—ŠYš¥¯ú˜©©©Y9=¥© jei9eZN8ÏaÎsj(¢Îóœ÷#'ÎÄá÷¹.®ëœ½×^ûÞçÜ7k¯µ­ ƒI²Ð:§#yÒ¨X± bYDDDDDDÄ‚Še *–EDDDDDD,¨X± bYDDDDDDÄ‚Še *–EDDDDDD,äÊéDDDrJhh(#FŒ0½ÿã?r.˜gÀæÍ›™3gQQQܹs€ÿþ÷¿,_¾œ3gÎЭ[7:waŠˆˆ¤‹Šeyn;wŽÐÐМã™°råJZµj…Á`0ÛÞ¢E vìØÁñãÇhÔ¨QN„'""’aº [DDDÙgŸ}f*”_~ùeÖ­[ÇÆ ÌáÈDDD2G#Ë"""òÈÂÃÃM¯»téB@@€éýܹs¹uëžžž=6‘ÌP±,""Ynùòå|õÕWäÏŸŸeË–±nÝ:~ùåbbb5jvvv <Øì¸Ü¹sS¤HjÖ¬Éë¯¿Ž³³óCûݶm?þø#qqqxyyѽ{w*W®lv\bb"sçÎeåÊ•\»vªU«Ò·oßL__ëÖ­¹råÊÛüüóÏ”,YÒôþèÑ£üöÛo8p€+W®/_>*V¬H`` *TÈ’ë8qâ¿þú+û÷ïçòåËäÏŸ???ºv튫«kŠö»wïfáÂ…„‡‡sãÆ Š-ŠMš4¡Fý,¾úê+–/_Îå˗Ͷ͛7/Õö©ÍYÎÈg#""òØDDD²Ø÷ßo €ÁÙÙÙðÙgŸ™Þ†%K–Ö¬Yc¶ÍòÇÙÙÙ°}ûöö;eʃµµµÙq¹rå2lذÁt̽{÷ -Z´HÑ¿»»»aܸqfÛÒËÙÙù±†Ã‡›Ú6,EœI?VVV†þýûé: ƒaôèÑ›TÏ“7o^ÃÂ… ÍÚ÷Ýw¼†7ß|ó¡ŸEÏž=úY$ÿùßÿþgv|F?‘ÇdF–ED$[]¾|™Ï?ÿœÿýïøùù‘;wn*V¬ˆµµ57n4µKHHàŸþá§Ÿ~â?þàÂ… ¼õÖ[>|++«ý^¹r…‘#G2eÊòçÏÏСC‰ŽŽ&>>ž>úÈ´Ô„ X¹r%VVV 8ºuëÂðáÃ3uMË–-ãÞ½{¦÷çÏŸ§[·n\½zòçÏÀ7ß|Ø1cLçïׯ 4`Û¶mŒ7ŽÄÄD&Nœˆ««+C‡Íôu~ÿý÷¦ë±³³ãÃ?äÅ_dÛ¶mŒ3†7nЩS'¼¼¼¨V­£F2gôèÑÔ¬Y“ .Á’%K8þüC?‹бcGLŸÉ!ChÚ´©©Ío¼ALLLŠcõ³ÉV9]®‹ˆÈ³'ùÈ(`˜?~º½pá‚Ù±‡J³ß+V˜öM:Õ´ÝÁÁÁ4Y¼xqÓö7ÞxÃì\¯½öZª#Ë76Ô«WÏì§S§N©Æ{éÒ%CÕªUM}äÎÛ°víZƒÁ`0$&&ÜÝÝÓ<ÿ»ï¾kÚW°`AC|||¦®311ÑP¬X1Óö‘#Gš§K—.¦}:t0mÏ›7¯0ØÚÚŽ?žâÚâââR½æÔäÎÛtŽ™3gšíóööN1²œÙÏFDDä1ÑȲˆˆd/kkkÚ´i“ê¾½{÷²lÙ2>ÌåË—¹w‰fm¢¢¢R·jccc6zY¤HÓë[·nqóæMnÞ¼ÉéÓ§MÛ-[Ô°aC/^œ¢ïM›6™žœÄÛÛ;E»k׮ѴiSöíÛ@®\¹X°`Mš4àäÉ“ÄÆÆšÚ'mOÀwß}À¥K—§|ùò¾ÎóçÏ›žc d6jòäIÓë-[¶˜^7nܘ¥K—rïÞ=¼½½)Z´(eÊ”¡bÅŠ4lØ–-[¦¸æ¬’ŸˆˆHvR±,""Ùª`Á‚ØÙÙ¥Ø>zôhFŒñÐã“VQ¶T @råú÷Ÿ±ä¯ CŠcÍÞçË—ï¡çOËÍ›7MÏcQ;wî\ZµjeÖæAç³|oÙÒw–Ç8p ͸/^¼hzýÓO?‘/_>‚‚‚¸qã111ÄÄÄÊwß}G½zõذa¶¶¶iö—YYñÙˆˆˆd'Ë""òØ]¼x‘Ñ£G›Þ·hÑ‚wÞy‡‚ rëÖ-^yå•,9O‘"E°µµ5Í¥=~ü¸ÙþcÇŽ¥zÜúõëSŒp;88˜^ß¹s‡6mÚ°iÓ&À8ßvÆŒtèÐÁì˜âÅ‹cccCBBižßÊÊÊlõ쌰<ÏèÑ£©S§Nªm­­­M¯ùù矙1cœ8q‚½{÷2fÌnß¾Mhh(üñ7æúõë´hÑÂtìøñãyñÅ3oj1g×g#""’YÖo"""’µ._¾l*’z÷îMÛ¶mñ÷÷à¨hFÙÛÛÓ°aCÓû©S§òÏ?ÿpæÌ¦OŸžêquëÖÅßßßì§fÍšÄÇÇÓ®];6lØ ¹©S§Ò¥K—ýäË—Ïìêï¿ÿÞtëñ… ˜4i’i_½zõÌn±Îˆ|ùòѬY3ÓûU«VQ¡B³ø}||8xð ÙÈòˆ# ÅÆÆ___š7oÎ!C(^¼¸©MR¼ñññ„††š~’÷“Ù˜Çg#""’YY‘ÇÎÓÓoooÓHoÛ¶m©R¥ qqq¸¹¹e鹯ŒÃƹsç‘‘‘”)S†²eËräÈ*W®l6§9=¢¢¢L«kƒñÖî¹sç2wî\³vIÏYž4i»víâìÙ³¦ó—+WŽˆˆÓêÙ dÊ”)t“'OfÏž=ÄÆÆ²cÇJ”(¯¯/ÖÖÖœ:uŠsçÎ0vìXÓ1sçÎeôèÑäÉ“‡’%KR¨P!"""Lmð÷÷¤¸äq}6"""™¡‘ey쬬¬X¶l5jÔŒ·5ïØ±___–,Y’¥çªZµ*k×®ÅËË €ëׯÆ!Cxÿý÷¹ÿk×®™¸&ý$ͱõööfÏž=têԉܹssãÆ öìÙÃÕ«W±µµ¥]»vìÙ³__ßGŠÃÓÓ“½{÷Ò­[7òæÍË;wØ¿?{÷îåܹsxxxпÚ¶mk:f̘14oÞœøøxŽ9ÂÖ­[M…rõêÕY½zu¶Þþü¸>‘̰2 †œBDDDDDDä ²P#Ë"""""""T,‹ˆˆˆˆˆˆXP±,""""""bAŲˆˆˆˆˆˆˆË"""""""T,‹ˆˆˆˆˆˆXP±,""""""bAŲˆˆˆˆˆˆˆË"""""""T,‹ˆˆˆˆˆˆXP±,""""""bAŲˆˆˆˆˆˆˆË"""""""T,‹ˆˆˆˆˆˆXP±,""""""bAŲˆˆˆˆˆˆˆË"""""""r=ÊÁÛ¶mãÔ©SY‹ˆÈS¥D‰¼ôÒK9†ˆˆˆˆdƒG*–¿úê+-Z”U±ˆˆ|˜mÛ¶Gîܹ)_¾<õë×'wîÜ©¶¿|ù2+V¬àÌ™3xxxЪU+€‡Î NïyΟ?Ï·ß~kzß»woœY³f aaa¸»»S¿~}Š/žîØDDDDDäÙ¢bY²Mdd$ݺucãÆ)ö¹»»3mÚ4Z´ha¶=$$„ÀÀ@.\¸`ÚæééÉœ9sÒœœÑóœ?Þ¬¯:uêðᇲk×.Ó¶¼yóòË/¿Ð¦M³Ø:tèÀÅ‹SÄ&"""""Ï݆-ÙâìÙ³Ô­[×TÀúøø0`À±¶¶&66–6mÚb:&::š¶mÛš å%Jзo_*T¨@‡²ì<–Þzë-èׯE‹àÆôêÕ‹Û·o›Å–T(—*UŠ~ýúQ©R¥4c‘§—F–%[|þùçœ>}€²e˲wï^òäÉ@… >|8 0€¿þú €I“&qíÚ5À8²»cÇÜÝÝx÷Ýw™2eJ–œÇRõêÕYºt)VVVtìØ‘—^z €¸¸8Ž=J¥J•ÌbË—/»ví¢páÂôïߟI“&=ú‡&ò˜Ý½kED„.Øpã†~w*""Ï;;NN ”)s—s:y ©X–l±víZÓë‚ šÍ7ŽŽŽ6½>pà111-Z”ÐÐPÓöfÍš™ e€wÞy'Õb93ç±Ô£G¬¬¬(S¦ŒÙ¾Ó§OS©R¥±%Ê`™V±,O‹+W¬Y²$ë×çeÏ{¬r:$‘lçéy nЮÝ5Ê”¹›ÓáÈSBŲd‹óçÏ›^oß¾íÛ·§Ù6©ˆM>8y¡ àææ–eç±”|!/;;;³}‰‰ÆßB&ÍÕÕÕ¬M‘"EÒ<§È“âÖ-+~ü± ?þXkkß cdzT¨p7·òæÕoÜEDäÙr÷®—.ÙnÇöí¬[——éÓ Ð°á † »@©R÷r:Dy©X–láââ¹sç¨]»6 6L³mR!\¨P!¢¢¢ã\ääþùçŸ,;%Óë¤fKÉc‹‹‹3Ûg«È“fýú¼|ú© W¯ZÓ·ïE:uºªâXDDžyvv\]ãqu§nÝ›|ðÁ6mÊøqÎ4kV‚wÞ¹Â{ï]$wnCN‡*O(Ë’-š4iÂáÇã¨ì Aƒptt4káC‡L#»þþþìÝ»€uëÖqñâE *ÀŒ3²ì<™Q·n]Slk×®åܹs¦[±gÏžé~E²“Á_~Yˆ©S òÚk×4è.. 9–ˆˆHް²‚zõnR»ö-æÍsâë¯ ±c‡=?üðÎÎú÷QRR±,™²}ûvFŽ™b»‹‹ }úôaèС,X°€˜˜ÂÂÂ(W®-[¶$þüœ9s†£G²k×. _¿~üøã\»vË—/S£F Z·nͱcÇL…ª¥Ìœ'3úõëÇO?ýÄõë×¹zõ*~~~´mÛ–ÈÈH³GN‰<)nß¶bÐ WBBò0nÜY^}õZN‡$""òD°±1йójÕºIî¼öZq~ü1Vs™%Ë’);vì`ÇŽ)¶—-[–>}úàêêÊŸþÉÿýßÿñûï¿sæÌ~øá³¶%J” I“&¦÷%K–$((ˆÀÀ@.^¼Hdd$'NÄÓÓ“Ù³gÓ¸qcSÛ¤¹Å™9Ofxxx°xñb:vìÈ¥K—ˆŽŽ6Å6þ|êÔ©óHý‹d¥ÄD4È•íÛøùçüünçtH"""Ooï{,^|†^½Üxë­¢,^|w÷øœKž *–%ÝFŒñÐ6...¦×^^^„„„pôèQ¶mÛFLL ¹sç¦X±bøøøPµjÕÇ7jÔˆãdz|ùrΜ9ƒ‡‡­[·fçÎfíŠ+–é󸸸˜]KòºìììÌöùøø˜^püøqV¬Xa›ågãááñÐÏI$;}õU!‚ƒó0kV¬ e‘(P éÓcéС=z¸1~ yòh]1²2 ™žÑÞ¾}{.\˜eÉómÛ¶mT¨P'''Ó¶»wïÒ²eKÖ¯_€¯¯/aaa9¢ýÿÅÅÅqýúõ ·n]^úôqÓ­×"""pút.^{­8µjÝâë¯ã~€<\]]S¬g” 5²,O”©S§Dƒ (]º4×®]#$$„ãÇÆ•«'Nœ˜ÃQŠ<™nݲâ³Ï\xíµk*”EDD2 xñxÆ;K÷îîtìx•š5oåtHòP±,O”Úµk³bÅ –-[–b_éÒ¥ùöÛoi¡.‘gÙ´i¹rÅš.ät("""Oÿ›4hp“‘#]X¹ò466z¤ÔóNŲ>>ôïߟ—^zÉì¸ëׯ3gÎ6lØÀ‰'¸}û6… ¦fÍšüßÿýeË–5kñâE¾ÿþ{6mÚDLL +VŒ²eËÒ°aCš6mŠƒƒþã/’¼¼înGóæ9ä$Ë""O¹³g·‰¹»Ççp$"϶'NйsgââÌŸÁzöìYBBB ¡S§NŒ=:Õã¯]»F`` ¦m{öì¡k×®,]º___¢££éÒ¥ gΜ1;>66–¥K—²jÕ*¾úê+Óú ¼þúë¦Ç,&‰ŒŒ$22’µk×G¯^½ù3y^¸¹ÅsîœJ¥çnÃyÊݺeü«ÜÁAó•E2ÂÇLJcÇŽ™ýXºÕ«W 11‘¾}ûš eooo–/_ξ}û1b„©ý¼yó Jõ|[¶l¡J•*ìØ±ƒ+VP¤HÀXìΙ3Çtž>}ú˜ e???Ö­[Ç>|8÷îÝcРAÄÆÆð÷ß› eOOO6nÜÈáÇٸq#Ó¦M£eË–äÉ“'K>3‘çEž<‰Ü¸¡§°<ïT,‹ˆ<å ÷©'«‰<š%K–˜¾µk×æë¯¿`ÿþý9rÄ´ïÃ?¤|ùòäË—Î;S»vmÓ¾ß~û-Õþ5jÎÎÎøúúR¯^=Ó¾¨¨(þúë/>lÚ>nÜ8¼½½É“']ºt¡bŊܹs‡Å‹˜Ý^}ûömNœ8ÁÅ‹)^¼8 4à믿¦K—.™ýXDžKVVÿþû*Ï/Ý[ """ϽիW3tèP ÷ÿwìççÇ÷߀٭Ó/¼ð‚ÙûŠ+²yóæTÛ&ñõõ5õàèèhz}ó¦q¾£GšÓ Aƒ4cN*Þ½¼¼¨R¥ û÷ï'66–nݺÆ"ºlÙ²4jÔˆ.]ºhtYD$ƒ©XÞ¾};§OŸÆJÃ"ò*^¼xN‡ "Y $$„÷ߟ„„ªT©ÂO?ýd6bk°bÊÌÿ}’ÇÖÖvƒ_RmccÃÌ™3™={6üñܸqƒ[·n±ÿ~öïßÏ®]»˜>}ú#ODäyóHÅr™2eppp ¹–‰“6qâDªV­jvK›HvZµj•Še‘gÀæÍ›yï½÷L…rùòå™1cyóæ5kçããcöþàÁƒfÿæ:tÈôºL™2™ŽÇòØM›6Q´hч—/_>úôéCŸ>}¸té¡¡¡ 4€ÐÐP®\¹Bþüù3›ˆÈóæ‘ŠegggœMóyDrÊĉ©W¯žrQ›Ó§Oçt"òˆ:D¯^½¸{×øØ5~þùgœœœR´­R¥ eË–%<<€±cÇR¤HJ”(Á²eËL·`f:¦*Uªàëëkš·Ü¯_?>þøcÊ–-Ë­[·ˆ‰‰aÏž=¬Y³†?üJ•*GŸ>}xõÕW©Zµ*E‹%Ož—÷ðáÃôéÓ‡¦M›òÖ[o±qãÆí?ûì3üýý¹råJšû’ßꜼÿýû÷Ó«W/š5kFß¾}‰ŠŠ2µ[²d :u¢iÓ¦|òÉ')úOkÎrBBsçÎ¥sçÎбcG¦M›ÆíÛ·Ó¼æ}ûöѳgOš6mÊ;ï¼ÃæÍ›S´1 ¬^½š=zмys:vìÈèÑ£‰‰‰I³_±pî4m íÚÁ­[æûN‚ÆáÍ7!>þÁý$ŸË{ø0ôécì÷­· •å³ÏŒíSÉQÓ¾ä·:'ïÿ~èÕ š5ƒ¾}!Y޲d têd<÷'Ÿ¤ì?­9Ë 0w.tî б£ñœÈQö탞=çzçH%G1`õjèÑš77ö;z4(GEDDD$=7#ËIsyW®\ÉG}ÄÍ›7MûæÌ™ÃüùóMÏM8|ø0¡¡¡Ü»w/E_Iûâ“?IýñÉ'Ÿp÷î]Ö®]Ë‚ ؽ{7&L`òäɦcÖ­[GHH[·n5mKmÎò7hÚ´iŠbwþüù|ûí·S¤H³}kÖ¬aäÈ‘¦8fΜÉ7ß|CŸ>}LÛºuëÆÌ™3S\ã˜1c ÃËË+•OSÌ. ¯½f,朜`Æ ãö»w¡}{Ø»þør=ä[Ò\Þ•+ᣠYŽ2gޱHM–£>llŸJŽšö%/Гú 2ÁI¹±v-,X»wÄ ,GY·BB Yަ:gùÆ cÁkYìΟß~ ÁÁ`‘£¬Y#GþÀÌ™ðÍ7Æ_$éÖ͸ÝÒ˜1ÊQÉÏÍÈr’!C†Ð´iSæÍ›ÇòåËéÞ½;ƒ?ü0Kúÿä“Oxíµ×X°`‹/¦Q£FÄÅÅѶm[~úé'† ÆòåË™1c¥J•bÛ¶m¬Zµê}6ŒÍ›7S¸pa¾øâ V­ZÅwß}‡§§'¤W¯^)Ž1bMš4aÞ¼yÑ£G¬¬¬xÿý÷ àÂ… Ìš5‹ 0nÜ8V­ZÅâÅ‹5j… 6û…‚<Äÿý¼ý¶±¨ûé'ã¶÷߇;Œh­ZéïkÈcá9o,_Ý»GW³(Gùäcq¿`,^ A\´mkŒ}Ø0ãygÌ€R¥`Û6xHŽ2l˜±P.\¾øÂØþ»ïÀÓ4Žb[1š41^gPñ— VVÆÏí~ŽráÌš À¸qÆ~/†Q£ŒçRŽŠˆˆˆH6ynF–“tîÜ™Ÿ’Š eË–DDDÊÙ³gSŒÐfÔÛo¿Í?ü`z€»»;»wïfáÂ…´k×δÏÝÝfÍš±}ûvš7ožjñññ̘1{{{6oÞŒi_`` åÊ•céÒ¥ÄÅÅáêêjÚ×¢E ‚‚‚LïÛ¶m‹»»;£FbÖ¬YŒ;[[[ ;wfðàÁ¦¶¯¾ú*C† !11ñ‘>‹çÎwßo+~ï=ˆŒ„)S Cè×/cýtîüoÁ в%DDGsÏžM9B›Qo¿ Ér”€pw7Ž,/\h¼<‰»»ñVííÛ·@§&>ÞXXÛÛ æd9J` ”+K— òd9J‹Æ"9IÛ¶Æóe,ÇŽ[[ã/ :w†d9Ê«¯© ‘lòÜ,wêÔ)ŶjժƑÖGhöÞÑÑ///ìììhӦپʕ+púôé4û;qâׯ_§~ýúf…2€³³3íÚµÃ`0pàÀ³}ï¼óNо’¶%µurr¢o߾̘1ƒAƒ±råJNž< @îܹqppHÏ%KX´ÈX4Žc,§OÏx?©ä(÷s”,ÈQ,rGGã­Ìvv`‘£ÜHzM IDATÏQ£œ8aœ]¿¾y¡ àìl,¾ °ÈQRÉQÓ¶¤¶NNÆ9Õ3fÀ AÆ[Ôïç(¹s?s‘lðÜË… J±ÍÎÎ0.¢•jW°`ÁÛlmmÉ—/¹,æ¬ÚÚÚ¤:/:IÒ^©Å|»åB_ H³í­d‹PMš4‰Õ«W“À¸qãxá…ðôôä‹/¾À`0¤—¤ÁÖllŒ¯K–„¼y3ÞGjßõý%9úÀv©ä(¶¶/_ÊyÕ÷s4ÕyÑI’r/5m·\è+•5µM¾PÚ¤IƾŒ·b¿ð‚ñöî/¾0á’c LÞ<™•‡Wæt(YîŸkÿ0yód&ožLäÅH³}Ïòu‹ˆˆÈ¿ž»Û°Ó+©Øµþþzö4qÉW±vs3>gøÒ%ãªØš÷›nnÆÄò燘عÓXÁcÎQ6„+ ti¸xÑ8Âg¼õzÎãjÖ–&M‚Ö­£ÇocoØÐøüå¤9ÚåÊ‹åÂ… {mÛflïâbAWŽ>QŸ=ÌÌ]3™¾s:Åþ•f»Ý§w3oß<¦mŸÆê#«9wý\šm· LÀÎÆŽ÷뾟©ã·EocòæÉ¬>²:‹#‘Çí¹™³Ü£Gš6mJéÒ¥ÓÜçééi¶ýõ×_§mÛ¶‹åõ×\:xÐX(W¨`,4==ÏgNσúŸ:5å\`,Ä7n4äSÒâ[9Ê+¯Ž3Ê… ‹]‹5ÅQµª±°?sÆX+öïíÕI’ž¯üùçpê”ñ—..ÆQfåèå‹Ð/øaÛfÛZWhÍøã±±2.zwùÖeÞYðbÍWFÏ+7ƒê âm¿·zž%‡–pêò©tÇÕ¹zg :<àÏ]2{Ïìå·ý¿1£Ã l3¾ÒúÜ}s½a4/•z)]×""""O¶ç¦XöòòÂËË+Ãûìííñóó3Ûæë닯¯oºû¨^=õyo¶¶¶øûû›mKZ°ËÍÍ-ÕcJ—.jAžVÅŠK± —%+++J–,™¢˜–tòñIùȤäÒ{K´——ñ'£ûìíÁ"Gñõ5þ¤·4r[[°ÈQÓ‚]iä(¥K§^§G±b)ô²dee,¤•£O¤½göL=¯z”)\†Ø«±¬ _Dz¿—áQЃ÷j¿À¬Ý³8{WGW”i@~ûüœ¹r†'w²çôžtË[£¶¦;¶æ¾ÍÓU,Ç'ÆóÑšhS± µ=k?´}r ‰ Œù} ³wϦSÕNŒaúˆˆˆ<½ž›bùI÷ÕW_ñÃ?§§gŠQn‘÷ÕWðÃa¹VŽÊ}o^d|óñ¼ú«¦mÅþE‡Ÿ;0s÷Lz¿Ü+.Þ¼@P× \ÿ½[ánÂ]þþçït«mŶÔ(^#ݱÊ“Æ#Í,ü°í.޼ȰÃÒÝ7À»7è·¬›Nl⣆iDYDDä¢bù qôèQ"""puuåçŸNq{µHŽ;zÔX(»ºÂÏ?§¼½Zž[=Ì e€Êî•iìÓ˜µák‰8A¹"åð `Þ¾yÌØ9ƒ•;àUÈ +++ìlì¨Z¬jºÎÕ¶bÛ,?êRS¶Na|‹ñpHåùßi8wãætàÔåSüðÚ4(Ý Ëc‘œ£bù 1`ÀÞ}÷]Ê–-›b¾²ÈaÀx÷]([6å|ey®/P<Õí% ”àê«Ôö¬Í¯oüÊìݳ ü%;ñw¨èV‘Æ>y½Êëéš'œs–? ù [N\8ÁäÍ“MÛ÷ÙÀаúçm+¶5]@ô¥h®Ü¾B%·J¼XâÅtÇ$"""OËOŸÍyy(G% §/§þh´¤¢Ö)·“i›_ ?üJçØŸ½~–§v26d,k¬å·7ÃÚêÁiÈŽ9˧/ŸæÊí+f…rr+ÂVP½xu³b¹Fñ4)Û„¡«†òƼ7˜83Ý·}‹ˆˆÈ“OŲˆˆ<’¨KQ J1gyÃÑ 8Ù;Q¦p¶Goç÷Èk—€"ŽEháÛ‚?ŽÿÁÒCK‰¼‰·³÷Ï•s–߬þ&n\H±=ôx(ÅþEËò-ñ,äIÉ)˜k[±-NöNô]Ú—Žs;2;p6îNîéŽODDDž\*–EDä‘ÊSˆÁ«³êð*| ûs5†uáëH0$ðv·M+COÝ>•=§÷ðŸRÿ¡TÁRØÚØräì6Ø„•Mºæ gÇœå7ª¾‘êö«·¯šŠåÍGnXº!3gÒcQ:üÒY³Zô‹ˆˆÈ“OŲˆˆ<’jŪáíìÍÔíS =jÚÞºBkz¿ÜÛôþ¥R/±?f?¿ûÝìø¼vyù¸áÇ8çq~l1gµK¼ÈÜNsy{þÛtü¥#3gRÑ­bN‡%"""@ŲˆˆdJ.›\ô­Ý/g/Zø¶àßWØyr'‰†Dª¯N•¢UÌÚ÷øO:WïÌŽ“;ˆ¼ €»“;u½ê’Ç6ON\ÂÕõª‹“½ž…Ì“–üº“«àZùoÎgEØ vžÚ‰¯«¯ž·,""òS±,""™bceCßÚ}Mï+¸V ‚k…ã`뀿·?þÞþÙÝ£«ëU—º^uSl·¼îä< y¦¹ODDDž.T,'=¸D‰o,’ͦM›Æ¢E‹r: yN\¸p2eÊät""""’MüŒ‘§ˆÁ`ÈéDDDDDäñH#Ë>>>øøø°pᬊG$S¬¬¬èÙ³'_ýuN‡"ωöíÛçt""""’4²,""""""bAŲˆˆˆˆˆˆˆË"""""""T,‹ˆˆˆˆˆˆXP±,""""""bAÅr6Ùºu+#GŽ$***§CydÏÒµfÛwÚÅí{·s(*£Î¿vÆ·ˆ/ÃËÑ8> ùŒY»ga0LÛª«šƒ‰ˆ@|ü5ÀÀ‡~ÈèÑ£iÕªøúúæthòåx±œ˜˜H¯^½øñÇͶ¿ûî»\¿~Ù³gÓ§O³byÆŒ¼ÿþû\½zÕì˜:uê„‹‹ `,ÒÆGµjÕ2dGŽ1µuvv&$$„Ê•+›õ‘Ѿ+V¬ÈàÁƒ‰ŒŒ`À€¦byÔ¨Qøûû›˜Ó§OgàÀ\¹rŬÿÚµkеõƒïŒ6lãÇ'!!Á´ÍÊÊŠnݺ1eÊlmmÍâ«P¡|ðÑÑѦö...,Y²„ÚµkÆbyãÆÌœ9ÓÔ®^½z¦b9µkÉh,ù—DC"½æôâÇ?-ò¯þ»\¿sÙ[gÓ§A³byÆæ¼¿à}®Þ²È‘2uê„‹ãý fÜÚqT+U!‹†päŸd×íèLÈ€*—°È¿ ö]±XE/Läùûù×x€±X¾?Ï׿¬¿Y9}ót.È•[ùWº6¡ƒC±¶zHþ-ÆøµãIH´øÎkwcÊS°µ±5‹¯BÑ |°è¢/$Ë?G–¼»„Ú¥ïçß¶ŸÙxä~þmI–>õŒÅr×’ÑX2ò=Hö™Ña޹s4†§vbee•£1$9{ý,…ó¦¾w}l˜µ{VN‡$""€­m~ªVý…‘#ÃX²d ,à—_~¡råÊôìÙ“F=ôÿíòôËñbyâĉüøãØØØÐ¦M¼¼¼gÊ”).\8EûeË–Ñ­[7råÊEóæÍñõõåÎ;lذ?ÿü“·Þz‹U«V™Ó³gOråÊE=pttdíÚµ„……ѧOþüóÏGê»wïÞØÙÙѽ{wŠ+öÀâ… Ò½{wüüüðóóÃÆÆ†={ö°yófø‡î»ï¾cìØ±XYYÑ¢E |}}‰ŠŠbéÒ¥üôÓO¸¸¸0vìX³cÞ}÷]ìììèÑ£öööFÛ¶m9räÎÎÎtéÒ…ÄÄD6nÜÈÛo¿MÉ’%8G93±¤÷{xœ&OäÇ?ÄÆÚ†6UÚàUØ‹ð™òÇ ;¦’û—Ñmv7rYç¢y¥æøºûrçÞ6„màψ?ykÆ[¬êk‘sz’Ë:=êöÀ1·#kÿ^KXL}æõáÏ!>Rß½çöÆÎÆŽîuºS¬@±Ž/ܽî³ï矇~~ØXÛ°'z›m&ÑøÀbù»ß1võýï¼R |Ý}‰ºÅÒ}KùéÏŸpqtaì«ù7ï]ìlìèQ·ö¶ö&,&Œ¶ßµåÈÿŽàìèL——ºhHd㑼ýòÛ”,t?ÿ0G93±¤÷{ìåWÂ/§Cx¢|Ôð# ç-Œ••kÃתXyÂ8;;Ó½{wºwïή]»Ly¥K—æ¿ÿý/¯¼ò 6669¦d“/–¿üòK¬­­ Æßßß´}Ù²e´iÓ&EûaÆ‘'O6mÚDõêÕMÛ íÚµ#((ˆ#GŽ˜Ý ìíí͆ ppp`ìØ±TªT‰-[¶põêUœœœ2ÝwñâÅ %_¾|½Ö>ú0š½{÷6Û·yóæ‡þAûüóÏX¼x1mÛ¶5mß±cuêÔaÒ¤I|üñÇäÍ›×´ÏÝÝ?ÿüÓtñññĬY³8p ]ºtáäÉ“lܸ‘wÞyÇ4âœÕ±¤÷{xœ¾\ÿ%ÖVÖÆ¿¬¿iû²ýËhó]*ù·dyìò°ið&ª—²È‘Ú´7ˆ#ÿ1»Ø»°7lÀÁöþuÇ¥Ò¨Jl9¾…«·®âäà”龋,Nè¡ä³OGþ-¹Ÿo|Go‹ü;¶«‡äßšûßùÓ¶j²ïnþ1ys'Ë¿üîü9øOÓ5Æ'Æ85 ½AÌÚ:‹éòRN^<ÉÆ#y§ö;¦笎%½ßƒdÜ_1±à¯œ¹zw'w+â’×%Õ¶–s–ï%Üã­ßÞ¢F‰ô­Ý—ùûç³-z—n]bz‡éØç²çÊí+,:°ˆ}göqýîu\]iR¶ J7HÑÿ•ÛWXrh {OïåÚk”,X’ÆeSÛ³6áçµ~ ‰ úçæv2÷IãOð-òøo­+âX䱟SDD2'i°ëرc|ÿý÷ 4ˆÉ“'óÞ{ïѲeË'æ®%É:9Z,GGGC@@€Y¡ кuküüüصk—i[ll,aaax{{³fÍÖ¬YƒÁ`0ÍõJ•ݽ{·YA;dÈS`ggG£F'66''§L÷ýÁ¤«P>}ú4øùù¥(”‡¨'OžäôéÓ¼üòËfÅ)@Íš5iß¾=óæÍcïÞ½Ô©SÇìÚ“¡¹råbôèѱeËøÐس2–‡}Sô…hb.ÇP!À¬Ph]¥5~~ìŠJ–Wb ‹ û°7k­aÍ!‹¹?*»;j·YA;¤éS`—ËŽF¾ÿ'œØ+±898eºïš|®Bùô¥ÓDœÀÏÃ/E¡ <´@=yñ$§/æåÒ/›§5=kÒ¾F{æí˜ÇÞ“{©S&ÙwÞtˆYšË:£[&ho[Žma`@&òïbyØ÷ ·èÀ"†­F¢!Ñ´-è`ë¦þÝZÎYN4$²óÔNs;òöü·Ù½Í´/>!ž}qû豨—n]2ëgñÁÅ´¯Üž±Íþ½ƒ`Ïé=ü7è¿\¼yñ߆‘0wï\†ÖJ•bUØyj'Wo_5½Nzÿ cBÆpèŸCl“Ü-¿ ¨SÑt·‘§GéÒ¥ùòË/éÛ·¯©hž?>£F¢téÒ9žd¡-–/]2þç'­Û}=<<ÌŠåsçÎpüøq>ùä“4ûµœ\¢D‰msæîÝ»÷H}—)S&ͶÉ]¸p€²e˦«½¥¤ÏÊËË+ÕýÞÞÞ\¼xÑl»§§gжIÛ’ú|\±¤ç{xœ.ݼŸ‹F%ñpñ0+–Ï]»Ÿ#çŽóÉÒäˆÅ|à…R¹îûs6ï%Ü{¤¾ËIgþ]¿Ÿn™Ì¿÷¿óÂi|ç…ïç7,òÏ%•ü»¿-éó\±¤ç{Œ‰¹ÃðuÃI4$òê ¯Ò tXsd _mú*C}m:± ÇÜŽ ª7_W_ìsÙ“˜@¯Å½¸|û2m*¶ÁßÛŸüöù9yù$³vÍbá_ y©äK´ªÐŠË·.ÓsqO.ߺLe÷Ê´¯Üw'wÎ\9Ãú£ë¹vçe —en§¹©.ðõ°Qå#玘×sëÞ­ ]¿ˆˆ<}J•*ÅçŸN—.]>|8-Z´à7Þ`À€fwWÊÓ+G‹å‚ •ê~ËíIíË—/OûöíÓì×Ï/ãsâ2Ûw®\éûÏplÉã;qâDªû?beéÈÈÈó¨“#KêóqÅò¤)˜ç~þ]ˆJuÔyóíIíË-OûêÈLä_&ûÎe“Îüs¼Ÿÿd2ÿòÞÿÎÏ¥ñŸ»ÿ[¬,y>2Å<ê¤ÅÈ’®ùqÅ"Yoùß˹›p—·ýÞæ£†™¶7÷mÎàUƒ :”î¾ ˜Óq¾®ÿ­¿ìý… 7/0¨Þ z½Ôˬý+å^¡Þ”z ¢U…V,9´„Ë·.àÀ”W§˜µíTµ×î\#_î|Ô,Y+++ò;ä§fÉšéŽïÃúrõ΃GŸ“Ó¨²ˆÈó£|ùò,X°€_ý•/¿ü’72eÊ”Oˆ‘§OŽË¥J•¢hÑ¢³iÓ&³Ç3­\¹ÒlTŒ#“eÊ”!66–víÚQ±bE³ýƒõë×›Í7N¯ììŒs›Ë”)î]»˜6m=zô0Û¿eËjÕª•æ\‡’%KR¼xq¶lÙÂòåËiÕª•ißîÝ»Y´hT«VÍì¸qãÆÑ²eKÓ­âñññ >€—_~ÙÔ.éÙq–£ÁYË“¦”s)Š(JpX0›Žn2{<ÓÊ+ÍF•Á82Y¦Hb/ÇÒ®z;*K%GÂÖ›Í7N¯ììŒs›Ë)î¨]LÛ4u-òïØjy? ÿ •¤xÁâl9¶…å-§UådßyÔníY„ƒ­ÕJZäßÚq´¬ÜÒt«x|b<×ÝÏ¿ÒÉò/×ýü»‘ŽüËd,’õÂÏùÒ¾RÊ_ð´¯Ô>CÅr¹ÂåÌ e€ý1ûØpt[£·š¦%øwŠÂñ Æ_Ž$Ý"ݽf÷TûÏ—ûáÓÄ26‘䬭­yã7hÒ¤ ýû÷§}ûö|öÙgfÿO–§OŽ/ðõþûïóÁаaCÚ´iƒ§§',_¾œ"EŠpöìY³ÿÀ?žW_}•jժѠAÊ•+‡½½=QQQìܹ“ÈÈHnݺ•©Ué²³o€O?ý”ÀÀ@zöìÉôéÓM«aïÞ½›­[·rïÞ½ŽT:”>}úЦMZ´hA¹r刎ŽfÉ’%Ü»w!C†¤¸å#66___Z´hAîܹ áï¿ÿÆÅÅ…®]»šÚ%ͯ8p ›7o&Ož<¦ç,gU,O¢÷½Ï‹> á— iSµ ž.žDœ`ùþåÉW„³×ÎbE²ük7žW¿•jÿ«Fƒr (çV{[{¢.D±3r'‘ç#¹5å6֙ȿlìàÓ¶Ÿ85žsz2}ótÓjØ»£v³õøVîM½G.«ä_³¡ô™×‡6ßµ¡E¥”s+Gô…h–ì[½„{ i:ÄlA-0ÎóöýÄ—•[;WnB‡ðwÌ߸8ºÐµVWS»ÒEîçß‚lŽØL»<¦ç,gU,’õnÇç;Ù§œïß>†úrËç–bÛÍ»7ø+ö¯4³ËegKA‡Ìݱð0š³,""éáââÂìÙ³7näàÁƒ :T+f?¥žˆbùðáÃ̘1ƒE‹™¶÷îÝ›ØØX–,YbVtµiÓ†¹sçòÞ{ï±nÝ:Ö­[gÚgmmM³fÍÒ}k´¥ìì C‡\¼x‘>ø€;w²sç¿óßêÔ©óÐgµ½û>}š &°bÅ V¬Xüûlãÿýï)ŽùöÛo4hS§N5mKzÎrÒ­áM›6¥|ùò„……1aÂàßç,gU,O¢÷¿Ïá3có íI–þ½‰½Ë’}KÌŠ®6UÛ0·û\Þûõ=Öý½Žu'Ë+kšUl–î[£-egßjtàâ‹|°ðvFîdgd²ü+Sç¡ÏX~·þ»œ¾tš ë&°â¯¬ø+Ùw^»ÿk“Jþuú–A 154YþÝÎrÒ­áM+6¥|Ñò„Å„1aÝýü»ÿœå¬ŠE²^‘¼Æ•œÿŽû;E±{ðŸƒê+µ»ÜÜ0ŠÒ.©/˜’ËÚøgÂ=Ÿ±íîS»ñ,”r®¼¦‘éôÒœeI/† F¥J•øðÉeâĉTGHÎÈñoÌÆÆ†éÓ§q`k. IDATÓ»woBCCãÊÐ/¾ø"eË–ÅÅÅÅt‹p’×_6mÚBxx8‰‰‰xxxðŸÿüÇl©Faoo›[Ê‹¤}EŠ˜?¶#+ú¨U«#FŒH±xY¯^½èر#ëÖ­#22’üùóS­Z5jÖLßܹ±cÇÒ³gO‚ƒƒ‰‹‹£P¡BÔ¯_?Í9>>>„……±|ùr¢££)V¬­Zµ¢@fíìííÙµk«V­âرcܹsÇ{Z×’ÞX2ó=<.6Ö6Lk:½ý{zô~þ•®Í‹ž/Rö㲸8º`ok‘/¾N›ªm9Bø?á$ñpöà?^ÿ1[DªQùFØÛÚãæ”ÊußßWÄÉ"ÿ² o€Z¥k1¢åˆÏ*îU¯ý:²îïuDž$¿C~ª•ªFMÏtæß«céY¯'ÁaÁÄ]£PÞBÔ/Wßl…îä|\}Æòýˉ¾M±‚ÅhU¹òX䟭=»>ÚŪ«8vöwâï˜bOëZÒKf¾IŸ:^u˜»o.Ÿÿþ9ÞÎÞxôàÈÙ#|š±¾RÓ¤lfïžÍ²¿—ñEË/(Y ¤i_‚! G7˜@£2˜µ{ãþ‡»“;µ=ÿ]á}ß™}œ»qŽŸòæÎËé+§úlñä4gYDD2ªE‹¸ººÒ­[7ú÷ïÏäÉ“:8&O+CF½žLÒBX .|¤ víÚ•bá¬o¿ý–÷Þ{¶mÛ”þyob4tèPÆǾ}û¨R¥JN‡“í¬¬¬èß¿?_ýu†Ýµ+ÅÂYßþþ-ïýúm«¶%¨·ò/£†.ʸµãØ7|UJ<›ù—Uÿ¥%..Žëׯ§«íêÕŽôíëʱcdz%–´$$&ÐqnGöÙG.ë\x9{‘˜@Ô¥(Ê.KX\oV{“‘#MǼðå ¼àöóÞ˜Àø;Tø¢Ê4â‡×~HqŽ×|È¿ŒŸq‰%pÉëÂÕÛW9}å4wâïÐó?=ùÀÿú/ëÏÊÃ+ãó‹Ý܉¹ùëçè]ëÿÙ»óø¯ýãŸÉžˆ¬dYHƒÚƒjc_k©Úª(E)Z´.®¥Úò»½Õ%ŠREQj§´ªZJ(b‹T, AVi,‘DHD&óû#7SÓ™03™Ë÷ýzy]Îsæy¾ßgæÞ;ß9Ï9ç-þÕò_¼¶î5ޤÁÇÉ_g_(̶ÏòÞ„½|sô²ò³H¸–€·“7þÎ%?Žu|¦#C†<ô¸„âi7v¬'óçg–û\ÑÑÑ 2„×_É“'—û|BžžžêÝwŒ°Éì#ËmÛ¶¥nݺ4lØkkkbbb8xð ï¾û®™£Oº¶m©ëW—†þ ±¶´&&5†ƒ ÿûüµ—ÏŸe±´°ä›>ß0iû$ö&ìåüÕó´lÁÄÖéñmr_ã¿ÿKÍ*5Yzt)—²/q)ûÖ–Öt íB·ÚÝÔ}g¿4›@÷@V[Á•¼+\É»@˜_žé¤î7©õ$FmÅåÜË\ν |XÝfkkKDD„Æ ÙBT„¦MÙ¿‡Ã‰÷|þ¬l‰è¡±B¶B›‹½ ßôù†Ì¼L.ç\Ƴ²'>N>Ü)ºÃškð¬ì©Ñù+ËÕû[CIÑ»fÀš2æ²PX0¬É0†† %5;•¬ÛY¸9¸áë䋵¥µF_K…%ØÆp-‚¢üýqsÐÜF¬¾w}¢ÞŽ"áZ¹¹«ŠÍ2ª Ð:¸5k¬)óø?ïŸBˆÇS=8räS§N¥qãÆoáš””ÄôéÓéÝ»7½{÷® (M###ƒ_ý•øøx®\¹‚««+aaaôìÙs‡gG¢XŽŒŒ$&&†'NpõêU|||èØ±#ÞÞÞæí±õ 9Õâo‘"‰I‰áÄ¥\½y:Ö鈷³|þŒõ 9ÕâÉãé艧ãß…­•­Î}Œ›økNy°PXèµß±B¡ À5@=/ú~,–}:ûöícîܹ̜9Ó ×Þºu‹èèhž{î¹ ŠÎ4V®\ÉG}¤µæ¶mÛX²d ß}÷Õ«W7St†{$Še€°°0ÂÂÂÌÆ£}ûöòˆ‡Â ϟ©´¯Õžöµäó'„BQªR¥JŒ?žéÓ§3räH||ô_ 2((ˆ5kÖàëë[–ßõë×ñööæÅ_¤fÍšT­Z•¤¤$–.]Jzz:S¦LaݺuæSoL±,„B!„O²ž={2wî\Ö¬YäI“ô~]¥J•ôÞ=Çœ†Êøñã5¶„lÕª:t S§N;vŒ[·nil ü(“bY!„B!+++úôéÃ?üÀĉQ(ÄÇdzeË.]º„J¥¢zõê¼ôÒKÔ©SGý:]s–‡ FAAA™×ŠˆˆÐ½NNNfóæÍœ?ž¢¢"éÓ§µj™nÝŽ²æbûùùÄÙ³g)..Ö:þË/¿°sçNnÞ¼IÍš5yýõ×IHH`Ñ¢E¼ûî»4mÚÔd1BŠe!„B!„xH:tèÀW_}Źsç8sæ “'OÖšã»lÙ2fÏžM%;Kèš³|ìØ1òóóu^ÃÊÊJcOçµk×2sæL”J¥ºmÿþý¬^½šÿþ÷¿ôéÓGÝ>hÐ ~÷ãââÂÂ… ØïæÍ›¤¦¦R¯^=*W®¬qlòäÉlÞ¼Y#®Í›7Ó¿¢££ÉÊÊÒ+–РŲB!„B<$µkׯÞÞžÓ§O³bÅ ÌóÏ?••)))üôÓOäæÞ[ÃåË—kÒ¦¥¥1cÆ """Ô ý?~œ3fàààÀ€¨_¿>666üùçŸ|ûí·¼ÿþû<÷Üsøùù%ûBë[,W©RE¯~3fÌàÎ;L™2E£ý—_~aóæÍØÛÛóÆoP¯^=nܸÁªU«øæ›oô:wE’bY!„B! ‚ƒƒIJJÂÊÊŠ>øà>C† áæÍ›÷=O“&š;Lüõ×_L›6?þ˜N:©ÛK‹êåË—Ó¨Q#u{›6mhРC‡eÛ¶mŒ=€U«Vit—ÅÚÚú}"""غu+Ó§O×zœzãÆÌ›7¶mÛªÛ_zé%ºuëFbb¢^qT”rËׯ_'--ñãÇ›*!Œ¶{÷nù,ЇæäÉ“ê_`…B! áææFvv6o¾ù&&L`üøñ´mÛ–Zµj„………ÖãÊ÷sõêU^ýuÞzë-ºwï®qìäÉ“XZZ2wî\T*•º.**Ð(JM5?X¥RñÑG±råJ¦L™Â!C´úœ?BJŠðîÝ»«c6—rË.\ --ÍìIðçŸò矚; ñ)kžB!ÄýØØØpçκvíJíÚµùùçŸÙ²e çÎãÎ;tëÖ &àääôÀseee1xð`† ¢^üë^·oßF©TrèС2ÏqïBa¦˜³¬T*™øà\æë=<ûŒÞ½{¬>æé鉵µ5ÑÑÑ÷=ÇÍ›72dÝ»wçõ×_/³_ÇŽùòË/Ù±c&Lб½yó&?üðaaaê¶òÌYÎËËcĈÄÄÄ0sæLxßׇ‡‡“À{ï½ÇgŸ}¦Þy×®]üðÃzÅP‘¤XB!„Bˆ‡$;;›ÔÔTjժŘ1cX²d nnnøûûSXXÈ… (**¢U«Vež#??ŸaÆqáÂìííùý÷ßµú”î³<|øpvíÚÅÚµkÙ¸q#T®\™«W¯’‘‘R©dùòåêוgÎòìÙ³9v쎎Žlß¾íÛ·kõ™5kÕ«W`øðálÙ²…;wràÀ‚ƒƒ¹qãiiiÔ®]›3gÎhlõ°I±,„Bè)-'Ö_·æµF¯1£ã s‡#„â1@ãÆ™2e ëׯçüùóêý„mllèÑ£ï½÷^™çHII!66 ÌèÒµUX·nŸþ9[¶l!!!AÝÇÅÅ…—_~™:uê˜$·Ò¹ÏyyyeÆuûömõß½¼¼X±b“&M"11‘Ó§Oceeň#pvvæÌ™3êÑfsbY!„B!’Ÿþ™úõëãììÌàÁƒŸîý”C©‡ÈÎÏæÔ„S8X;r#…5Ç×p0å o\ÄÒÂ’ª!ôoП^u{•+ÎbU1Ë£—³þÄzÒsÓñªìÅ€†x1´ì/7ÆäõQäGI=‚¥…%íj´ãƒPɦQÉQÌ‹šGü•xmy¥Þ+¼Óⓟ0ê>No?ÿFþ—#©GP+ ócR«I:ßo!„%âââX·n³fÍÂÆÆÆÜá<2úôéÃ… HKK#-- (Ù’jÒ¤IfÿQAF–E™¬¬¬hݺ5»wï6w(â)de5›Ö­ýÙ½ûs‡" · —~«ûq)û’ºíPÊ!­Ä®7wájïªnÿdï',=ºTãõg2Ïð»þØôX漤¹WzNA¯¬z…̼Lu[qq1o~ÿ&Iד4úǦǛ˕¼+Œj>Êè8?üíCÖÅ®SÿûRö%>Ýû)qéÞóј¼^]ó*¹ê¶Í§7“ŸM¿ý½e4Êâ’=.óïæóÕ¡¯pspãõ°×M~CïcNAýVõÓxOö'í'æR ^Û ³B蟟ϔ)ShÔ¨={ö4w8”N:ѱcG®\¹BFFŽŽŽ™uìRµXÎËË{˜—«POR.ÆxóÏË{ÇÜ!˜Ì“”‹1žöü5Ñ—¢iêß”y=æQ³JM2ó2ù`çJ9ÄÖ¸­ @\fK.ÅÎÊŽÉm&Óù™ÎX[Z³/iÿÙý¶ÙF×Z]i_³½úÜÇ.£¡oC¾êõ¡¡ØYÙ©Õp¯Áˆf#ó ÃÏÙ‚¢â¯ÄóÁÎXtd#ž¥ÂÒà8Oeœb]ì:my¿ýû´«ÑŽ¢â"vœÛÁ¬=³´ò76¯^`IŸ%ºrþêyÆý8ŽÈ„HbÒb6„×Ã^ÇÅÞ…= {˜°mË¢—i˦8¡÷ñØ¥c4ðiÀÂ^ ©ÂåÜËÌÙ?‡çv0s×LÖ¿¶Þ¸’B<¡T*S¦L!##ƒ~ø…Baî9 …OOO<==ÍŠYBQ.®ö®,é³G[G\x¿ýû¼¸ôEâ¯Ä«ûýÿ+c^àƃÔí=êôÀBaÁøŸÆ³ýìv¢ÒÁÚŽãæ ½èÉÌŽ3ùúð×,:¼ˆŒÜ •…ÇÓsÒ©æRÍà8wžÛ À¤Ö“è]··ºýµF¯‘SÜýš£ÄÆäåæàÆ×½¿ÆÁºdµÓzÞõx£éÌÜ5“Æ~™Úvªºo·ZÝØ·•½ {É¿›½µ½IÏcè}t°v`qŸÅ¸;¸ìÌÜs麬+1i1\»u*•ª „¢Ä'Ÿ|ÂÎ;Y¹r%þþþæGࡎm;::Òºuk­öU«VѼys*W®Œƒƒ5bþüùêGíîµoß>ºwïN•*U°±±!00‰'’››«îSPP€B¡àå—_&##ƒþýûãææF¥J•hß¾='OžÔ:oqq1Ÿþ9!!!ØÚÚLDDÉÉÉ( ÆŒsß\Œ¹¦¾ù<ˆ>÷ïÞø’““éÙ³'...T®\™_|Q#¾¨¨( J¥’ÈÈH …úOéåò¼—ÆÞ«òrtœGëÖtÄ|†æÍ×P¹ò<æÒ¨ÑwÌŸœâb•Vß}û.ѽûT©ò66_ø 'þNnîß_. ŠP("xùåÉȸEÿþ?ãæ¶€J•æÑ¾ýFNž¼ªuÞâbŸ~ŒeØÚÎ!8ø""Ž‘œœƒBÁ˜1‘÷ÍŘkê›Ïƒèsÿî/99‡ž=ÄÅe>•+ÏãÅ7kÄ•ŽBR©"2ò" E„úÏï¿_Ò™¿±±r¯DÙêxÕQ ¥ü]J¾ äÝùû)””¬ÚÖh«uŽÒ¶Ô©íµ=kë,”s rèõ]/¾ûã;Ro¤jxw ŒŠ³4†-´ÎÙ2°¥V›1yÕñ¬£.pKù:—¬öÙÔ¿©Öy|*—lÿqíÖ5“žÇ˜ûXÛ³¶ºP.eeaEóêÍí\…âIÃŒ3tS©Tüç?ÿaÅŠ|þùçF­^-ÌËì#Ë“&M"""B£-66–ØØX>ÌÚµkÕí‹/fôèѨTñMIIaöìÙDFFrðàA=ɲ³³ ')éï¹X‘‘‘´k׎øøxªTùû—ï·Þz‹Å‹«ÿ””ĤI“8~ü¸AùrMCóÑÅû••E‹-HOOW·íرƒ¨¨(¢¢¢¨_¿¾Aù–'CîUE™4iÇþóbc÷pøðeÖ®í¦n_¼ø$£Gïâž·‹””fÏŽ!2ò"öÇÁÁZ},;ûáákIJÊQ·EF^¤]»ÄÇ£J•¿G‡Þzk7‹ÿý#ARR“&íãøñ¿çêÃkš.†Ü?€¬¬Z´XGzúß…ÉŽÉDE¥5€úõ«”oyb1ä^‰û»÷ÑèR Ê~ÄÌÇÏ\ì]t¶o>½™ŒÜ :†tdløXª»VÇÞÊ…BÁû;ßטollœ†2$/[+[ƒŽ•ž»XUüÀ¾†œÇ˜ûø òx¡âiqðàAFŒR©däÈ‘x{{«åçç3}út¶oßμyóèܹ³#Æ2ë¬éãǽ½=óçÏ'##ƒëׯ³zõjÜÜÜX·n[·nJŠ×±cÇâââ²eËÈÈÈ   €¸¸8úöíˉ'˜7ožÆù÷íÛ‡¿¿?ÑÑÑܺu‹óçÏÓ®];®_¿®±‰wtt4‹/ÆÉɉo¿ý–k×®ñ×_ñõ×_óã?”“¾×4&ŸòÜ¿RÀßߟ£G’——ÇÙ³géÝ»7yyyêÑóððpT*–––´kוJ¥þ£k4ÙØXô½WåøñL""ŽaooÅüùíÈÈÍõëcX½º+nnv¬[ÏÖ­ @Iñ:vl$..v,[Ö‰ŒŒÑŒ'.n(}û>ÉW˜7Oó‡•}û.áïïDtôkܺõçÏ¿A»vÕ¸~=Ÿ5kΪûEGg°xñIœœløöÛÎ\»ö6ýõ_ÝL0('}¯iL>å¹¥HÃß¿2G$/ïΞFïÞ!äåÝe̘’…äÂÃ}Q©&bi© ]»j¨TÕZ·Öýè’1±è{¯„鸰7a¯Ö±ß ºku½ÎuñÆE&´š@-Z8X; P((Tr$õH¹â,á@ò­cû“÷kµ™2¯‡Í˜ûx&ó ×o_×h+*.âpêaG¶…âIµwï^†NQQ …‚åË—«¥¥¥ñÊ+¯°oß>–.]*…òc̬Åò¦M›øàƒ3f ^^^¸¹¹1pà@,XÀ† %Z®^½š»wï²xñb† †——¶¶¶Ô®]›uëÖáåå¥UŒU©R…Ÿ~ú‰&Mšààà@Íš5Õè½únÞ¼€Y³f1dÈÜÝÝñôôdÔ¨QLŸ>Ý œô½¦1ù”çþ•rttdëÖ­4mÚ”J•*ʺuë %**ŠÌLÃF2Ë‹¾÷ª¢lÚtþ17g̘†xyUÂÍÍŽk±`AûÿÅ\2qõê3ܽ[ÌâÅ6¬.^^•°µµ¤vmw֭놗W%­b¬J{~ú©'Mšxáà`MÍš®Ì›×öù]Q÷Û¼ù³fµdÈgqw·ÇÓÓQ£ê3}zsƒrÒ÷šÆäSžûWÊÑÑš­[{Ò´©7•*YêÆºuÝ u#**ÌÌÛå[žXô½WÂtJ·]šp>kb×píÖ5r rØvf3~›@—Ð.zËÇ©äqâoŽ~Ã_7ÿ¢ ¨€Ó§µyÉYÉ劳Ó3øü÷ÏÕ+K_¿}ÕÇW³ðРÍëa3æ>Þ¾{›‘ßääå“äßÍ'ñz"ïn}—Ä뉄ù…É|e!ÄoÏž=Œ=š¢¢"Š‹‹)**bíÚµdggó믿òòË/ðÃ?næhEy˜õ1ì„„’/ãݺuÓ:VÚVÚ'.®d»ŽþýûÓ¿õ£Ë¥#ž ýèW£FprrÒh àæÍ›ê¶ÄÄD dÙòêÔ©ï½÷žÞ9é{Mcòù'Cî_© àáá¡Ñfmm­~ô9!!Á¨U茉Eß{UQnü/¾`­cݺý¯OɆèqq%óûú÷ÿ™þýV?º\ò~•üýŸoW£Fž89iî¡TòHéÍ›Ï LL,¹F§NZqtêÀ{ïin•Eßk“Ï?rÿJ5hà‡‡æÔkk Úµ«N|| 7ðô¼ÿÔSŢヲSdzo4}ƒeÑËøpç‡|¸óCãÝju£CH½ÎÕ½vw¾:ôߟúžïO}¯nw´u¤CHvßetœõ¼ëÑ¿aÖÅ®còöÉZ1þ|ög6Sæõ°s›ø7!õF*½¿ë­Ñî`íÀ‡>Ôê/„O’íÛ·ó¯ý‹ââb©”J¥’¾}û’ššÊ!Cø×¿þ…öôñx1ÿæUè7¿©t(¥R‰R©¤¸¸XëCZX¨ù×Þ^{Îaéµî}ÝýâÐÕï~ô½¦1ù”Å”óÃÊ{.C^oèûSQô ¹t(¥R…R©¢¸¸äϽajÎ%´·×þ-ªôZºÒ3ÍçO¿k“OYL9=±üŸ?ýûúþÓ˜Úv*ŸwûœúÞõ±·¶ÇÖÊ–Zžµx¿ýû|ñÒzŸÇÛÉ›ÕýWó\õçp´uÄÉΉ65Ú°iÐ&“<<³ãL¦´™B€kÖ–Öø9û1±ÕD&¶žX¡y=lÆÜGg;gÖ¿¶ž¶5Úâh눃µ-[°aì±,„x²ýôÓOŒ?^ë;;@QQ—/_fåÊ•L›6M å'„YG–kÔ¨”üBS§Nc¿üò‹FŸÐÐPvíÚEûöí1¥àà’Ѩ;w2zôhc»v?:q?¦ÈÇûWêĉ\¹rEctùîÝ»DF–¬¶\z/,,,(**ª°XÌ­F W¶oO¢NÍÇù%é}JFCCKVãݵ«/íÛ›vîappÉ5vîLfôèÇvíª˜UeM‘!÷¯Ô‰W¸rå¶ÆèòÝ»ÅDF–äYz/,,éWµ‹(?[+[¦è~\ÿ~Çz>Û“žÏö4úÜ¥êz×euÿÕZíSÛNÕØ2ɘ8- o6œá͆k«¨¼ÚÖh[æ±g0£ã “Ÿô¿÷ªæR%}–è<&„O¢õë×óþûïßw ãîÝ»¤¦¦Ò¼¹aÓèģˬ#Ë}ûö`æÌ™,\¸ÌÌLnܸÁºuëÔ‹M½òÊ+ <+++Èòå˹té………dffÅØ±c™5k–QqôêÕ €©S§²jÕ*²²²¸zõ*K–,á£>2A¦ÚL‘!÷¯T^^=zô ::šÛ·oÏ€ˆ'<<\ãl777âââHLLÔ¹Wyc1·¾}C˜9ó0 ž 3ó67n°n]¼z«¦W^)ùQcðà:XYY0pàv–/?Í¥K7),T’™y›¨¨tÆŽdÖ¬£FÅÑ«WM¦N=ÀªUgÈÊ*àêÕÛ,YrŠ>*ßBEe1E>†Ü¿RyywéÑ㢣3¸}û.ññY ð3ññY„‡ûj<‚íæfG\Ü5³unãUÞX„B!ô±fͦOŸþÀ'þT* .¡'›¼ IDATD©T>¤ÈDE3ëÈr£F˜0a³gÏæí·ßæí·ßÖ8þꫯª'È׬Y“¯¿þšQ£FñÆoè<ßäÉ“u¶?H³fÍ>|8K—.eðàÁÇúõëdž °¶¾ÿ:†2E>†Ü¿R-Z´ 11QkŸ7GGGõB\¥Ú´iÃúõë5F„÷îÝ«sElcb1·F<™0!ŒÙ³cxûíݼýön㯾ÊË/—ä^³¦+_ÝQ£~ã7vê<ßäÉÚ{šê£Y3o†¯ËÒ¥§<øcýú…²aC<ÖÖ¦ý]ËùrÿJµháGbb6Íši®vîèh­^ˆ«T›6ÕX¿>ž5–ªÛöîí§sElcbB!„xE‹imZ•JEFF»wïÖ¹’xü˜}ÎrDD+W®¤Y³fTªT ;;;êׯϼyó´¶>|8‡æÕW_ÅÇÇkkk|||hÕª .dÚ´iFDZxñb>ù䂃ƒ±±±!((ˆÏ>ûŒ‘#GàêêZ®†Ü?(-Þ¿?Ý»wÇÉÉ GGG:uêÄ´öXž3g}úôÁÍÍM¯¹¤†Æò(ˆˆhÍÊ•/Ò¬YÉêÌvvVÔ¯_•yóÚ²fMW¾Ã‡×åðá¼új(>>ŽX[[àããH«Vþ,\ØžiÓž3:ŽÅ‹;òÉ'- vÁÆÆ’  g>û¬#GÖÀÕÕôó^L‘!÷JF‹÷ï•î݃qr²ÁÑÑšN8p ¿ÖËsæ´¡OŸÜÜìôš‹lh,B!„÷sáÂÇ,” ÖÖÖØØØ`aaJ¥bÉ™¦ò¤P¨Ê±’R飷¥Û=‰ÆÇüùóÙ¼y³úqíÇQAAöööôèÑÃལ …‚wß}—9sæ˜;“7nóçgóæêǵGEØÛÏ¥Güøã£õ„±*úÿ233ÉËËÓ«ï/¿82nœ' ‰‹Bñ´éØqIIsu³µµ¥J•*T­ZªV­JÕªUñððÀÝÝBCCMº¯0ާ§'ŽŽŽÆ¾|“YÃ~”,]º”k׮ѣGÔ«Ù-\¸Ê•+Ó±cGs‡(ž`K—žæÚµÛôèQƒ€g._ÎcåÊ8.Œ¥re:v 0wˆB!„O…½{÷RXxààI h‡‡‡º8öððй£‹x2I±ü?ÙÙÙL:•©SµWþüâ‹/Êó‹„”]ÀÔ©˜:U{Oå/¾hƒ££içÌ !„BÝÚ´iÖ-¯0xp¦™£æ$ÅòÿŒ1‚ììl~úé'’’’°´´¤aÆL˜0îÝ»›;<ñ„1¢ÙÙwøé§’’r°´TаaÉ¢UÝ»?øB!„B“’bùœùè£*l«(s³³³{àr÷Â|œmùè£p>ú(ÜÜ¡T;;+Tª‰æC!„B½™}5l!„B!„âQ#ŲB!„BñR, !„B!„ÿ s–…Bü5Žô®Ûû¡ÆóÏë*UJ¾:øAîAt«Õí¡Æ¢+ñh2ô¿?ÅýDÊÇBª†Ðù™Î:¥ÞH%*9Š›wnà@« VØ[—½½O±ª˜…‡ò¬×³´nmôuuÉ»“Gô¥hRo¤¢,VäDx`86–6e¾¦¼ñ—JÎJf_Ò>r riìט^ÐùzSæ›–“ÆÉË'IËIÃÖÊ–:žuó »ïæÊWˆŠ&ŲBˆ'Jî\¾Œú’×½öX©*+…‡R׫®QEâü¨ùø¹øÑóÙž¿öŸ×-RñeÔ—´¯Ù¾ÂŠåûÅ[žû Cÿû¸íì6ö&ìÕy¬k­®:‹¸9ûçðõá¯)V«Û¼¼YÜ{1µ=kë<×ÉË'™{`._tÿÂèëêòÁÎØrz EíŽ|Ñý ž«þ\…Ä¿ñäF–F/%éz’ºÏÈçF–Y,›"ß”)üûçs<ý¸Ö±PPô\@€k€Ö1Sä+ÄÃ"ŲBñyëù·ðpô0êµ - YµfFËå¹®±î¯9âϘÆ`¡Ðœ-R5D«ßæÓ›ùêÐWX*,y©ÎKxWöfÒ~Î^9ˈM#Ø=r·ÎËÈ„H,–´ neÔuËy!Zµ¤šk5òïæ³?i?—²/ñæ÷o²{änÏ­©â?˜r¤ëI¸àëìËÁ”ƒzÅ[ž|ÓsÒ9ž~?g?êy×Ã×Ù—¬ÛYì8·ƒø+ñ¼±ñ vŽØ‰•Åß冩ß/!*Z¹Šå#GŽ––vßÇ,„xXæÎËܹs͆xŠøùù™;ñÝ|ôSuݲK…åûÍš_òŸ=çÓ1¤#ÿjù/†oÎä¬?±ž¡M†j½.òB$aþa8Û9uݲ|ÚõSšWoŽ¥ÅßçPª” Y?„釉¼Iÿ†ýM¿úýx'ü‚܃Øqn‡ÞÅryò t dã 4òm¤Ñþn‹wé¹²'©7R‰¹£1šnê÷KˆŠV®b¹fÍšØÛÛÓµkWSÅ#„QJŠäwææE<5æP³fÙó«žÿœ³šx=‘C)‡¸‘ƒÑÍGcmi @Öí,¢/EsñÆE¬,­©Bó€æ_Ðt+*9ŠBe! }æ¦3†[…·ˆ¼ÉåÜËxUö¢CH‡Æ|(å篞GY¬$¸J0ááØZÙ–ËÙ̳¹x …­ƒ[Sݵ:*•Šƒ)9{å,Ž6Žtz¦nnFÝKCò(k®nLZ 篞'ïN~.~4ñkBUǪ\νÌ÷§¾§XUÌÅù2êKõëzÕí…·“÷ßËÍ>{å,GRP¬*&Ì?ŒúÞõ5ŽgçgóÝß霻Zz¬OZµ|`¼~Î~eÆcÌ{¬ïçía¹ß|R€6Ám¨ë]WýïŠÎùÏ¿þ$6=–¼Â<<=iÜ ww­~†|Ž§æØ¥c´ jIŸ¸#º»zŽ´œ4žõzV]xXZXònËw9|€]çwi_i9i\¸vií¦uÝûÅ®Õ×RaIûší9œz˜ÛwoWHüÏN>Z}½¼éÒ‰5±kÈ.ÈV·›óýÂXå*–ÝÝÝqwwgΜ9¦ŠG£”ËÍWÌŠxjlÂ]û»âSåÞ9«®^à«C_©½Ñô ¬-­ùÏîÿ°.v…ÊB׸ðMßot Ô:WzN:û"P©Têþ¯Ô…_üXã§3Nóææ7¹šwUÝVÕ±*uþHg¼ ×½e4ÉYÉ힎žÌï9_=:ro, ×XppºïÇ‘3ïåy¼ð#¿Iô¥hõ±Ùûg³áµ »ëuÿŒÍãŸsu³ó³¶q§2Niô³µ²eb«‰ m2”˹—ÕgZNšFñÙ¬Z3ªVªúÀ÷ò~s„#öE°èð"¶uzðY·ÏÔ?Šää”9wµôذ!êbù~ñú9ûéŒÇ˜÷XßÏ[Y~øó.e_Ò«/À Æƒpµw½oŸûÍ'…’ù¯¥ÅrEæ|íÖ5Æÿ4žÃ©‡5Úí­íù°Ã‡ô©×GÝfèçøpêaZHeÛÊ:‹å½ {I¸–€½µ=u¼êÐØ·±Ö“ŒñWâ’ÏÄ?Õõª‹½µ=箞Ó:y!€¶5Úu]}â¿—J¥â@òú6¬Ðø Uù\¿}€ZµÔmB¾BJæ, !„(—ØôXv_ØM‹ÀÔò¬…•zTù@ò<=hèÛ_g_îÝQ@þ{û¿Ù4h“ƹN\>Áž„=´ jEÍ*5ÉÌËä—³¿°ñäFºÕê¦=¹Ux‹‘›Gr5ï*n„†£,V²/iS™ªcþÝ|ÞØôé9éø8ùÐ*¸ÖÖL9HâõDFlÁ¯ÃÕ˜K›Ëž„=´¯Ùž ÷ Î_=ÏóÁÎhêß”3WÎЧ^\ì]ˆJŽ"þJ<³÷Ífa¯…zß;CóÐeEÌ NeœÂÓÑ“¶5ÛâlçLzN:Ñ£ù#í†6Š“ãÂÇ1ÿà|||éU·—úõ¾Î¾z½—e9ž~œÝv—¼gUk’‘›ÁÎs;Ù·•ׯ†Õû~”Ò7Þ{óëûy»ŸþüC)‡ôέk­®,–»×êN]¯ºZíߟú_g_zÔéQá9+‹•Œø~§3NãçìG‹ 8Û9“z#•Ýv3í×iÔ¨Rƒ> Œú7¯Þ+ +âñ^£6Òøw-ÏZÌ}i®ÆQWò®èÝ´PXàãäCâõD •…+QG&Dä¤sñ)}®«OüK.åöÝÛdçgs(õ ×Úd¨Æ#Ë¿¡L•ï½N\>Á® »è^»»úIx4òÂPR, !„(—ë·¯3»ûlõø{Íì8“ ÷ ޤ!#7Kšú7åÚ­kĦÇr#ÿ†Fápýöu¾îõ5ík¶W·µlÁ¤Ÿ'ñ{âïê/ò?Ÿý™+yWhØ‚%}–¨ ºü»ù Z7ˆ¬ÛYql;³ôœtù6bå«+Õ ÈñîÖwÙqnkc×òn‹wÕ¯ÉÊÏbiߥ´ ú{A™i¿NcãÉĤŰsÄN<=¸Ûò.¿éÈÞĽ¨T*½×ò04]Jûl²E@¡²¸¿â€¿‹Ï¯}E5×jŒ §qŽ;Ew€û¿—÷»þg]?Ó(hOfœä•ï^áÛ˜oyë…· žù xu1æ=Ö÷óv?=ŸíiÐcÛú<ªÿR—´Ú\€‡£Kû.UçV‘9ÿvþ7Ngœ¦{íîDt‹Ð˜ƒ{:ã4}¾ë÷Ǿe^yF}Ž›WoNó꺧Nù9ûÑØ¯1ž•=ÉÈÍ`OÂÎfžeðºÁì±G[GàïÏí½›ß«´à*¸[ þ{Þ<¢/F뜫ïu?ÀÒè¥\»uMýï2¾åx>¦ŽßP¦Ì·Ô¥ìKŒÞ2šê®Õù¿Nÿ§qÌÜù a )–…B”K [`™ÅÕ‰Ë'ºa(EÅE:_¿u]£X®íQ[ãK< ~d·tTàxZÉV%cÃÇjŒ|Ú[Ûóöóo3âûç(ÝÚäïh¬´jeaÅÄÖÙqn¤ý¡ñš:žu4 e€^`ãÉô®Û[£0µ¶´¦©S6ŸÞÌÕ[Wõ^¥ÙбpôâQ­c§ÿ:MþÝ|¹ß¥ó¨[µÒx¬üaèZ«+Ÿìý„3WΨÛ§øïçPÊ!Fm…³«^]¥9ÿ§'%_ñtÑïÿ=…Þ6lØ@ëÖ­9qâ„Q¯_²d ­[·&!!ÁÄ‘ !ÄÃU:o÷ÞyoP2â¼çžr»‘_É(Ãü¨ùÜUÞU·çßÍ×XÉYÝß÷ïþ÷Žü*UJ¾Ø÷ý—+&cš‡.GRp«ð–úߎt«ÕæÍ9ž~\c•dK­‘ÆòJ¹‘–Ó[4ÚNfœd×ù]8Ù9Q³jMªTª‚µ¥5GRPPT î[¨,ÔZIÛ˜xÍõ÷|¶'ãÂÇéýGßíÅ~øó–E/ã»W¿+ó5™sójÍÕçó­<ú7è¯Þ?ןc€ôœt¯'jµçäðÕÁ’óÜ»ºò3UŸÁÏÙ?ÿú“ßÎÿ¦nW+™».€ÆöUÇÓ“Ÿ­õº¡×-KZNIדtÛtªd1Ã*•ª˜<~C™*_€çvòƦ7ðwñgÍ€5eÊ`¾|…(Y6±K—.±oß>²³û2’””ľ}ûÈËË3qdBñp5ô)™/;òû‘t~¦3®®\¸v}‰ûpspÓXüÆPÝjucÞyH>@—e] §XUÌë| º{íî|uè+bÒbè¼´3­‚ZamY²jpµœíœÐp€Ññ<¬àyÜÜÉ-È%åF Ñ£y£éÔó®gÔçX×¾½‰×ycÓ4òmD°{0®ö®dÜÌ òB$· oQÕ±ªÖÖecÃÇ2yûdÆþ0–nµ»áUÙ‹É8“yOGO^mðªºodB$VV´l¡qc®«+þóWÏ3róHû6&È=77r r8vé ×JAú7èoòøâ2ãÔ[,]¸v(Ù{½tÛµ{÷77U¾Ç.cÜÖq«Šiâß„5Ç×hÅõÏ}¨M•¯‹Ë&Ö¯_?ÂÂÂhÐàÁ{Ð !Ä“¬Ó3è^»;ÛÎlSªô­ß—Ê6•Y~l¹Ñç®dS‰Å½óææ7IÎJVžV©T…_üXk;{k{–õ]¦ÞvmìZõ1Gæ¿<_ïE¹LÉоZ+&@k_fSå+ÄÃ"Ų‰ùûûãïoØbBñ8²²´b\ø8‚܃Êì3ç¥9 h8€?ÿú…BAc߯Ôõ®KTr޶Žê¹÷;Wé±Ujh´×õ®Ëî7wy!’˹—ñ¬ìIûšíQ©TŒ §µ€M*5Ø1b“rþêy”*%AnA´ j©±•Éýb t Ôyn(YQØÍÁM=S_†æñÖóoi@o>÷&ƒâèÅ£ê"ÅÛÉ›–A-Õ 7•êU·u¼êpôâQròsP¡Â×ÙW¯÷òŸ×½÷5Ýju£K­.D_Œ¦XULc¿Æ_K¹±ëÍ]캰‹+yWðsö£}ÍöÜ)ºÃ¸ðqZ¯)+^]ñ€iÞã²>oÓˆf#Ô+ërï¼ÎŠÌÙÕÞ•%}–x=‘˜´²ngáæàF€ka~aóH ýëÚ·7Ø=˜Ÿ‡ýL\fgþ:õÛרl[™ºÞu©ï]¿Ìû1¡Õz×ëÍÁ”ƒÜ,¸Iu×ê´n­Qx¥ÜH!ézÔz½1×Õ*5Ø6tg¯œåLæ2ofâ`ã@ ÷4ñoRæ–Iå ŽWûn±vïý7U¾ÏT}æÛºéZ‘ßù ñ°(T¥{¡oß¾lÚ¤û—ϧц øú믙;w®Æè²R©dýúõìØ±ƒÌÌLÜÜÜhÛ¶-ƒÆÎîï%ò§L™Â§Ÿ~Jll,*•ŠE‹‘ššŠÆ #<<Üi=òJæFn^1w(â©Ñ—>}*îÿ233õžŽñË/ŽŒçIB‚ö4!„°,z³öÌâ÷Ñ¿ë|2áQ÷¸Ço¨G!ß±cK¶œ??Ó,צáé鉣£ÑO'l’‘eÓ5gùÖ­[tîÜ™¨¨(¾6l`Á‚ìÞ½Í_ÇýõWf̘Aaáß¿,ûí·ÌŸ?Ÿ1cÆTlB!ÊeÑáE÷„’Å«F5ðcÖBˆòóvòfjÛ©m¡ù¸Ço¨§-_ñè’bù!˜6mQQQT­Z•É“'S«V-RRRˆˆˆàôéÓŒ5Š-[4WýðÃéܹ3ýû÷ÇÎÎŽ;vðÍ7ß0~üx:tèÀ3Ï___S‡)„B!„âR,W°ªU«Ò¨Q#âãã™2e wïÞ@¥Rñå—_²k×.¼¼¼¨__s_»>úH]¤¦¦2n\É^v;v|x !„B!ÄSHæ,?Ÿ}ö;väóÏ?gÙ²esñâE233ÕÇ­¬4ß ???š5kFÍš5±µµ%>>žÂÂB4h@¿~ýÌ‘†B!„B<5ddù!h×®Û¶m£FdeeqìØ1233ñññaÕªU 4Hë5óæÍ£Gœ;wŽS§NQXXH»víøõ×_±±‘T…B!„¢"ÉȲ‰•.¾õÏ‚¶K—.téÒ…„„233qss#44…B¡ÑïÍ7ߤsçÎ4lØ-[¶žžÎÅ‹ñõõ¥Zµj-!„B!„xšI±lb¥ vyyyé<^£F jÔ¨Qæëƒ‚‚ RÿÛ××WôB!„Bˆ‡LÃ6‘/¾ø‚¶mÛF`` æI!ÄcîjÞU¬ÀŠ˜æ¥LCŒB!„1¤X6‘óçÏsáÂ<==ùî»ï´¯B! uGy‡èKѤd¥˜;”2=1 !„ÆbÙDþõ¯qêÔ).^¼Hxx¸¹ÃB!„BQ2gÙDBBBÌ‚B!„B‘bY!„Qî*ïòúú× óc\ø86œØÀáÔÃÜÈ¿Á²W–ñÞ¯ï0»ûlõkr r½e4*•й=æâáè¡>6õשܺs‹/_þò‘ËÅÎÊe±’ß“~'*9Š‹7.biaIHÕz×íM [ Îs½þOnä@ò •…4ômÈë_ÇÑÖQ+†“—O²ñäFÒsÓñvò¦_ý~T©TŨXs røþÔ÷ĦǒW˜‡§£'žéDÛm5Î¥oN†Æ(„B< ¤XBa”bU1Ñ—¢q´ud膡N=¬>V¤,ÂÆÊ†M'71¥Íª:VàPê!Ž^< @Tr½êö ;?›Í§6Ó­v·^÷ãÈùó¯?õŽ3¢{>N>åÊ+°v¤ý¡ñº= {X½œ=¨ Ñ{Ï5zËhö$ìQ÷ÿ=ñw~;÷ßþkKkuû÷§¾gÚ¯Ó(V«Û¶œÞ„– Ž563–7¿“ù74^·ùôfúÖïˬg©ÛôÍÉÐ…Bˆ'ËB!ÊeÒ~m™Øj"µØùŪbzÕíEÛmQ+ù5Ï`w˜IDATþW¾Øÿ…A±*‹•ŒÚ<Šì‚l^~öeZ·ÆÙΙ‹ÙYql›Nn¢yµæ¼Tç%ƒr26F!„âq&ŲBˆrQ¡bÕ««¨åYK£ý…€P(H> Q,‡„ãhëÈ/gA¥R©û¼øÂ¯7µÍTrïäê߃F•õÉ`Í€5½x”}IûØyn'…ÊBT*¶V¶¤ç¤ó×Í¿ðªì¥îoeaźë4g®îR×Ö½Æñôãêbù§¸Ÿ(T2´ÉPÞk÷žºo×Z]ù÷ö³åô½c]}|5×o_gb«‰Œj>J£—Ð.´ZØŠ-nQËúædlŒB!ÄãLŠe!„åZ5TgqéjïJmÚD%G¡R©HÍN%-'ñ-ÇSÙ¶2«þXEüÕxjyÔâ`ÊAjT©§£ç¯§ëZ¦RV.J•’ñ?WõºÜ¼sS£X®ë]WkÞï³^ÏpãößHŸ»z€¾õúj³o½¾e¢ºb=qù»ÎïâPê!T*PRX—þ=ñz¢Á9£Bñ8+W±\º·°¿¿¿©â¢F2wN<,×9¾¦¹ƒx$Ü[ þS‹ ,:¼ˆø«ñü‘ö …‚ðÀpì¬ì°²°â@Òl-KF1‡„ Ñëz1g¹TY¹l‹ÛÆäTw­Îk^£ºku¬P(|÷Çwì<·S]Œ–r¶sÖ:Oé<å{çýàdç¤Õ_×9îëíÂÛœÌ8Yæël¬l ÎÉØ…BˆÇ™Œ,‹'FƒAxy•ý¥]S:qℹCxd(Š2…„³èð"ö'í'6=–Ъ¡¸;¸Ðз!Sªç¿ðàG°¡bç,—•Kiñ¹ çjyhŽæÎÙ?GïóëâQ©dEð¸Ì8­øô_§Ë|®X½¼˜Ùq&5ªÔÐù:+‹’ÿë7$'ccB!gå*–CBB aÓ¦M¦ŠG£( † F—.]ÌŠxJŒ3GGí턦Æ~±·¶ç÷Äß9{å,T  gá¡…@I÷\õçô:gEÎY.‹‹½ ÇÓŽ« Ë¢â"ZHLZL¹ÎÝ"¨kb×ðÉžOv&À5€ø+ñ|±Ï°Å³:=Ó‰•1+Ù·•ˆîTs©¦>¦T)Ùu~Êb¥Á9™2F!„âq!#ËB!*Œµ¥5Mý›²/iPR — gÎþ9L9HSÿ¦êæ©È9ËeiÔš¯~Ň¿}Ȳèe¸:¸’’•Bî\êxÖ!.3Îès· nCC߆ĦÇÒù›Î¹¡,V’r#…gª>Cf^¦Þçjêß”¾õû²éä&Ú.j‹¿‹?U*U!· —´œ4îÝaäs#éZ««A9™2F!„âqaaî„B”¥eɼR¥ÒÌ”¡´@¶·¶§±_cu{]ïºêÑÍ{‹èGQ}Ÿú|ØáCì­í¹˜}‘“—O¢P(ø´Ë§zˆ—ÅÒÂ’oú|C›m(*.âüÕó$^OäùêÏ3«Ë¬ŸàþÛù¿Lk7 G.e_"6=–Ä뉫ŠéÚE½—µ!9™:F!„xÔ)• ,-Í…07YBˆÇ\åÊ%‹Eݼi‹Kñz›Žµ¥5k¬ÁÕÞõ¾ýzÕíEmÏÚ8X;`ci£n·PXðÝ«ßqóÎMBª†Tt¸÷¥O. ¤WÝ^$g%£@A*5°¶´æböEÚÖ(Å}йJ¹9¸i´»Ø»ðMŸoÈÌËärÎe<+{âãäâ;¬°ÏÊžZç(+V …Ú chØPR³Sɺ…›ƒ¾N¾êÆ ÍÉÐ…âqwó¦w͆03)–…â1çï_@JŠ <´ëZ(,hV­Ùû9Û9—Ù¯¶gmS‡e}s±·¶×йšK5¹Á÷;׃®ãé話}–­•­V}cU(¸¨ç—EŸœ Q!wIIÖ´lyÛÜa3“ǰ…â1ççwgçbbcíÌŠBñØûë/+23­¨]û޹Cf&År8tè3fÌ %%ÅÜ¡!ž ´hq›ÈHs‡"„B<ö"#+ao_L“&ïi-ñh’bÙHû÷ïgÆŒ\¼xQëØ¡C‡˜9s¦ËBˆ‡¦{÷<޵'5ÕúÁ…BQ¦ *Ó¹ó-llTæE˜™ËFÚ¿?3gÎÔY,?ÿüó|øá‡<üÀ„O¥Ö­oQ­Ú]æÍs{pg!„BèôÛo•8{Ö–AƒrÌŠxÈ_àùçŸçùçŸ7wBˆ§ˆ¥%L›vQ£¼èß?—&MòÍ’BñX),TðÙgîôèq“zõd¾²xˆÅrvv6¿ýöÉÉÉX[[FË–-Õǯ^½ÊÂ… qwwg̘1¯-((`öìÙXZZ2qâD¬¬¬ô:ç½rssÙ½{7‰‰‰888ШQ#š7o®>¾eËN:Å¿ÿýo4çý•›2e vvv|÷ÝwìÙ³€åË—³{÷n2d‡â·ß~cÈ!Z£Ë©©©ìÞ½›ÌÌLÜÜÜhݺ5¡¡¡}vïÞMTT£FÂÕÕ•mÛ¶‘€§§'=zôÀÍͰ‘£ãdzïÿÛ»Û˜¨®4àÿaF( *¢ ‚(X+оNJ‘¥µE,TÝn0¾\TD„õ­jÍR¤­Øõ¥ŠPkŠI ‚¥@ º³›"h0lñ•ÒµÊì3·™A(¬üß8÷ÜsŸs>LòpïyN~>Ôj5är9d2NŸ>+W®hÍ÷÷Ï577Gff&®]»†3fÀÛÛ[çøõYËŽÏ6lÒÓÓQ[[ kkkøúúÂÜÜ\¯ù V ü„ùóÿ‹Ý»G"5õ?Jùù‘®ŽÛ·Åؼù^‡BÄ’,'%%!<<ÍÍÍZír¹*• 5j±sçN¨Õj„…… ý”J%’’’päÈ!QÖeLÄÄDDDDàáCíÏ)æÏŸüü|@¥R!99¡¡¡&xÉÉÉØ°aƒ,çåå>ûì3¡ß«¯¾*$Ë»v킇‡‡V²¼eËìÝ»¿þú«Ð&‰°zõj:tC†<Ùk˜““ƒØØX¸¹¹!** •••Bÿ‘#G"77®®®Ý®{{{;Ö®]‹„„­v¥R‰––|þùçZóÕ>>pqqAMM NŸ>cÇŽÁÂÂ111Z÷C"‘ ((¦¦¦8þ<***Š‚‚‚nãŒGBBÄb1 &L˜€ªª*:t£Fêò¾bÍš5;v,æÌ™Ó£øõ¥T*ahhˆ   !''ðóóCee%FŽù\ã vv­øÇ?°j•ìíG`Ý:þwœˆˆèYþõ/)"#-ñ—¿<ÄŸÿÜÜý 4hôy²¼e˘˜˜àÂ… ˜1c†Ð®V«áïï•J…ÊÊJ8;;ÃÐÐ)))pssC@@†©S§âðáÃ=sëÖ­ž$«!!!Z±B,ë=§ÀÀ@ܺu yyyXµj•No=?øàÀ©S§àçç'´ûí·ËåØ¿?¶mÛ†—^zI¸æàà€ììlbbb0uêT¡¹¹Æ {æ3?úè# ''B{zz: E—÷ÙØØ ??C‡Ú4ÿpÐ'~}YYY¡  @˜W[[–.] •J…ãÇ#""¢Çc &sç>®]w°mÛ(´´ˆu=ø©#""záåç›`ýúј5ë¶n½ÓßáÐÓ§Ér}}=***ààà€sçÎáܹsP«ÕP«Ÿì£Ó¼Ñ---ö½ÚÚÚâäÉ“X¸p!^ýu˜™™áÔ©SB¨Ϙ¦¦¦¸~ý:d2ÙS‰2€?ìÓÞ[·n¡®®óæÍÓJ4`Ö¬YÀÉ“'QVV¹\.\‹ŠŠæ †††ðòòBUUêë럙,×ÖÖâ‡~€···V¢ ‹/†L&CIII§÷FFFj%Ê=__QQQZs’H$ؽ{7T*ŠŠŠ˜,éaéÒf˜˜´#:Ú55CðñÇ·ajÚÞßa j5pâ„þþw (?bÏž&þc™žÒ§ÉrSSàÆؾ}{—ý:î%–Ëå°³³Cuu5 {4æÝ»w“&MêñzÃýû÷&LèôºƒƒàÞ=íÏ%Ç÷T_SSS@kk«NÏìêÓðñãÇw™,;99u:–¾ñëËÞÞ¾Ë6M D¤»E‹Z`cÓ†¿þu ¼½m±iÓ]øùýÈ}ÌDD4¨]½*ÅîÝ#qù²16n¼‹µkôwH4@õi²<|øpÀäÉ“Ðe?™L¦õwHHª««áàà€'Nàí·ßÆ¢E‹ôS³ÇµªªªÛX5…¨ZZZ´Šƒèô,e}hb¾yóf§×oܸzW¹Öå™555^婢PD­ãXºÆßÓµ¬®®ÖªP®iû} D¤ŸéÓÆùó·°oßüío–HN6ÃêÕð§?ý„!CX-›ˆˆÿ[Š/¾0ÃéÓCáêú3Tª:L™Â#¢¨k}š,7NNN¨¯¯‡¿¿?¦L™¢u]­Vã믿ÖÚwœ€ãÇcåÊ•ˆ‹‹ƒ››QVV{{{½Æ‹ÅprrBII Ž=*Ó(**Âܹs!‰„"]™™™P*•BŸììl=57M%g]Þ¦ÚÚÚÂÆÆEEEÈÈÈ€¯¯¯p­´´©©©066†››[·céÊÎÎÖÖÖÈÉÉÁ… ´ŽÔ:{öl—o•{#~}×R#66‹->okkÃŽ;óæÍÓ9^"ÒfnÞŽ]»î`ùòfÄÇ@xøhµcΜG˜<ù1¬¬~å'ÚDDôÂùùgîßãÚ5CüóŸÆ¨«“`âÄ_°wïmøúòK+ê^ŸøÚ»w/–,Y777xzzÂÙÙFFF¨©©Aqq1ª««ñèÑ#ˆÅb”••aݺupuuÅÁƒallŒ””ÈårøûûãâÅ‹J¥z¹gÏ,]ºÁÁÁHLLªa—––ââÅ‹hmm…D"vìØõë×£  vvv¨¬¬ÄÙ³gaii‰††­yi> ˆˆ@aa!LLL„s–;ÐÐP( øøøÀÙÙµµµHKKCkk+¢¢¢ž«8VgÂÃÉ @¡PÀÞÞׯ_GFF,--qûömˆtü•Ð'~}×R£¾¾...ðññT*Enn.¾ûî;XXXt¹®D¤;gç_ðé§ hh 7÷%\ºdŒŒŒ¡¸sGŒ–ýN ""è¤R5ÌÌÚáäô /þžž?ÁÕ•o’Iw}ž,+ $''#,, YYYÈÊÊ®`áÂ…H$xðàüýý!•J…7•àîîŽ}ûöA©T",, GÕyLxçwpïÞ=DFF¢¸¸ÅÅÅB_¹\.›6mÖ­[‡ýû÷ãË/¿úlß¾7oÞDrr²Ö¼Þxã Lž<ˆ‹‹ðÛ9ËQ*•¨««C\\Μ9ƒ3gÎøíœâ÷ß¿§KÜ¥ððp\½zIIIHMMÚCBBP__´´4t}â×w-58€M›6áÈ‘#B›æœeEÔ{ÆŒiûï>Ä»ï>ì¾3Ñ ÕçÉ2,_¾ …¹¹¹¨ªªB{{;ÆÙ³g E¬ÊËË­‚^„JÖMMMhllÄèÑ£uScíÚµX¶l²²²P]] 333¸¹¹aÖ¬YZýâãã±lÙ2@"‘ÀÓÓ®®®P©Tptt>½ž|†]RR‚ÌÌL|ÿý÷xüø±PLkîܹxï½÷ž*®ƒàà`äää ±±#FŒÀk¯½&T×ðòò‚‘‘ÆŒóÔZj®YZZv»îb±‰‰‰ A~~>€'ÀÝÝÝ1iÒ$XXXhÍéYÏÕ'~}×Rcâĉ¨¨¨@FFjkk1vìXøúúÂÜܼ۹õ&‘ZsæRh l¥¤¤ôZ@Ô»JJJž* vàÀ„……ÁÏÏ*•ªŸ"ûMtt4bccQ^^ŽiÓ¦õh ‘H„O>ùo¾ùf/GGÔ¹ÐÐP˜ššöÙï_cc#ZZZúdl"""¢Á`ôèÑÂiB=ò‡¼Y¦þãéé‰W^yÓ§OÇ!CPZZ*ÙÚ°aC?GGDDDDD401Y~Á¹»»ã›o¾Á¥K—„6©TŠ?üP«B6ý†Éò .77¥¥¥¸rå ššš`mm oooXYYõwh‚îöJýј,3gÎÄÌ™3û;Œ.yyyÁËË«¿Ã """""ð`M""""""¢˜,uÀd™ˆˆˆˆˆˆ¨îY&"€¤Ri‡@DDDôM"y¾t—É2ÑdnnÞß! jÏ,×ÕÕ᫯¾êXˆžKyyy‡@ƒHCCû; """"ê#"µZ­îéÍHMMíÍxˆˆþoøûû#%%¥¿Ã """¢Þ—ò\É2Ñ (…Õ°‰ˆˆˆˆˆˆ:`²LDDDDDDÔ“e""""""¢˜,uÀd™ˆˆˆˆˆˆ¨&ËDDDDDDD0Y&""""""ê€É2QL–‰ˆˆˆˆˆˆ:`²LDDDDDDÔ“e""""""¢þ1$€‰ &IEND®B`‚fio-3.39/examples/rbd.fio000066400000000000000000000010371476262051600153230ustar00rootroot00000000000000###################################################################### # Example test for the RBD engine. # # Runs a 4k random write test against a RBD via librbd # # NOTE: Make sure you have either a RBD named 'fio_test' or change # the rbdname parameter. ###################################################################### [global] #logging #write_iops_log=write_iops_log #write_bw_log=write_bw_log #write_lat_log=write_lat_log ioengine=rbd clientname=admin pool=rbd rbdname=fio_test rw=randwrite bs=4k [rbd_iodepth32] iodepth=32 fio-3.39/examples/rbd.png000066400000000000000000001105071476262051600153350ustar00rootroot00000000000000‰PNG  IHDRƒ5œê{bKGDÿÿÿ ½§“ IDATxœìÝyxM×úÀñïÉ$2ˆ$2‘‰yŒ † ©©5´ZC•¢­_{•Úk檺UÄEÓÛj Uj®Ššb&„˜EB„„„DæÈx~Ùr2œLÈûyOsÎ^gíw¯³ÄÛµÖ^[¥V«Õ!„Bˆòh£^YG „B!ÊŽ$ƒB!„å˜$ƒB!„å˜$ƒB!„å˜$ƒB!„å˜$ƒB!„å˜$ƒB!„å˜$ƒB!„å˜$ƒB!„å˜AY „Ù…††2dÈåõŠ+¨Y³¦ÎõÅÆÆÒ«W/åµ··7nnnúì­[·øñǹt鉉‰¨ÕjÚ´iƒ••;wî yóæÌŸ?_çø„¢¬I2(„x¡$%%áë뫼NLL,R}iiiZõÅÄÄèsaaa¸»»ç*off†½½½R§üB¼Üä·˜BäaÑ¢EJ"hggÇÒ¥K±´´ÄÚÚš~ø¡Œ£Bˆâ#É BäáúõëÊÏ;vä½÷ÞS^?žAƒ`iiYê± !Dq’dPQjòZ˜œœÌÒ¥K¹~ý:ï¼ó;wÎõ¹7n°hÑ"®_¿Ž |ð=zôÈUîðáìZµŠ°°0jÔ¨ÁðáéV­Z¡b}ú<·L—.]´^wêÔIùÙßß_뿞žžJ"˜³|I;yò¤Öy³O!wíÚ5ß²BQ–$B”;;»ç–177Ï÷uÖZìÿ‚fÀg}¾$%%%å{^SSSôôôò,+„eI’A!Ä -(((ß×ŽŽŽZÿ~æç³ûôÓOñôôÄÓÓ“Ÿ~ú©È±:;;+?߸qCëØÍ›7ÉÌÌ̳¬B”%I…/´ hÖnذA9–µ½LömfþùçŽ?@JJ sæÌÉ·î3gÎàë닯¯/7oÞ,r¬ï¿ÿ¾òóž={8vì̘1C9faa‘kÚX!ÊŠ$ƒBˆš¡¡!ÎÎÎ4oÞ777%1¬R¥Š²•̈#puu4‰W‡hÖ¬Õ«WWÊ—†‘#Gòúë¯+qxzzâææFõêÕùý÷ßP©T,Y² ‹R‹K!žE’A!Ä ÍÇLJ¾}û@JJ îîî:t@³>/ûÆÐéééàéé™ï¿%ÁØØ˜}ûö1eʬ­­•8ÂÃÃQ©T´iÓ†ýû÷3pàÀR‹I!žG¥ÎÚA!JXRR§OŸV^·lÙSSÓ•yðàÁÁÁT©R…Zµjå{ŽÐÐPÂÂÂpvv¦jÕª¤¥¥)ÓµnnnT®\ÐLgmf]½zu\\\”r.\ ::Ðl-S¯^=åØõë×¹wï y]Ó¦MsÅ¡V«¹qã>ÄÈÈ­íj„â±Q’A!„Bˆòk£L !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”ce€BˆÜ"""HHH(ë0„/;;;ÌÌÌtþ¼Œ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”c’ !„B”cò!„(§RSUܸaDT”>‰‰26 DqQ©ÔTª”‰“S:ŽŽi¨TeѳI2(„åHl¬[·š³w¯)gÏ“‘ñ‚ÿ+%ÄKÎÂ"$Þy'Ñ×/ëˆr“dP!Êäd?ÿlÉÏ?WFOOM—.‰|ðA$ ¦`oŸ©ifY‡(Ä+#3bcõ¹}ÛsçŒÙ¿ß„aÃì©^=)S¢èÔ)±¬CÔ¢R«Õê²B!„¶ˆˆŠ¥®½{M™9³ qqz|ñÅ#Œ“äOˆRvû¶!?ü`Åöíf¼þz3f<ÄÙ9­Xê¶³³ÃÌÌL×o”E"BñŠR«aÞ<+¾øÂž¶m“Ù·/”Ï>‹‘DPˆ2àìœÆ‚¬[FT”>½{;rüxŲ »‰…â•ôø±ŠQ£ìùå—ÊxyE2gN$Uªd”uXB”{-Z}âéÝ;¾¬ÃB€ž,X‰ž|ÿ½eÙÄP&gBQì~úÉ’ØX=þý免EQff™ŒÅXpõªQ©Ÿ_’A!„xÄÆê±|yeFŽ|„­í«{×ð˜1c¨U«µjÕbäÈ‘E®ï›o¾Qê8p`™Æ’Ÿ¢ÄXZti‹´´4öîÝ˨Q£èÚµ+5¢AƒxxxðÙgŸ±mÛ6rn…ÃÖ­[9r$žžž4hЀ† Ò¹sg¦OŸÎÝ»wKâòJÅ{ïÅÓ¨Q ÞÞV¥~n¹D!^[·š£§§fàÀ¸²E¼bvìØÁ—_~ €‘‘W®\)–z·nÝÊ”)Sr½ïÞ=îÝ»ÇÁƒñóócæÌ™Ê±ñãÇsðàÁ\Ÿ !$$„­[·²zõjÜÜÜŠ%ÆÒ¤RÁÿý_ _}eÇýûØÛ§—Ú¹‹” .X°€'NW,BñRiÓ¦ ÿþ÷¿Ë: @ó”‘.]eCiñÒ¨P¡}úô¡OŸ>¸¸¸`jjÊåË—™0a¡¡¡lذ &P©ÒÓ½øLMM6l½zõ‚½{÷2uêTÒÒÒHJJbÒ¤IìÞ½»¬.«HºtIÄØ8“ýûMùðÃØR;o‘¦‰Oœ8ÁÉ“'‹+!„xiœà7ÞÈUŸ.1&$$ðÛo¿ñÏ?ÿpóæM?~Œ ­Zµâ³Ï>£nݺόyÆŒÏl¿Zµji}>55Uë½Y³fñþûïçŠ+..޹sç²gÏÒÓÓ©S§_~ù%mÚ´É÷Z’““¹téþù§òÞ;#………Vüy©W¯^®vyY5hÂöíæ¥zNY3(„/¹ÈHÍÞd¥·Æ¨¤ÅÄÄðþûï?s„'..Žþýû¢¼çççÇG}ÄÂ… éÚµ+gÏžå£>âñã§úîÙ³š6mZì±ß¼y“Áƒ¡õ~dd$û÷ïgÿþý 8ÿþ÷¿Ê1]b¼}û6C† !,,Lëý{÷îñ矲sçN,X@·nÝòü|AÛ¯°âããéß¿?7nÜк¾?þ˜?ÿü“úõëk•ŸS¦…]]]™<<œþýû+IqõêÕYµjU®dñ|²fP˜§§§òsß¾}Kt“Õ—Ill,½zõR^{{{¿”{\ ñ"17/ÝôÅ%ç&ɪ`¸öY XIÈžüùŽìæ'gò›×4wpp0}ô÷ïß víÚ¬ZµJ™’…#É (0___ågIvžJKKÓj›˜˜˜2ŒFˆò#00ŒŒ e4ëúõëdd<}úJÍš5±³³ÓúÌåË—µ†âÚ@9KÎ)Ý‹/jM“f±«]»¶gacÌúl–ÇSµjÕBÅZöí„6g²[rŽdÚØØh½¾páC‡U~׺¹¹ñË/¿hÝu, G¦‰…B¼”"##™5k="44TkÍ[åÊ•i×®5ÒJ¶æÎËõë׉‹‹cñ⏦[‹ÊÍÍMk;—Ù³gsõêUøý÷ßµ¦<³î”Õ%F777­»rÇŒC@@?æÑ£G\¾|™Õ«W3`À.\¸g¬i?@kÚ5--óçÏKRøî»ï²råJ¥}bccÙ³gß~û­RÆÂ‚×_]y}âÄ  ¤$‚üöÛo’‘Œ !„x)µiÓ___V­Z¥õ¾žž3gÎTÖΚ5‹?þ˜””nܸA=͈Sç΋õŽb===|||}”mРAüõ×_,]ºTÙCjîܹZ¿ˆŽ?®•luëÖ-[¶0kÖ,ÆWlçÉiôèÑŒ9’­[·Ò©S'åýÙ³g+ âñãǵ õÎ;ï°uëV¼¼¼˜0aB¡ÚF!„x‘È4±(^^^¤¦jž“úÆohí:_¡B† Àwß}Ç_|J¥béҥʢdGGG¶mÛ†¡¡! YÃòïÿ»XΓÓðáÕË 4P§¦¦rýúuZµj¥›³³3[¶lQîÀ300`Ô¨Qº6•ârêÔ)>üðÃç–ûý÷ßiÕªU)D$DÉ“dP”ˆ'N(?kM›ÆÅÅ)?ß¿Ÿàà`jÕª¥õúŽ;*‰ À›o¾YlçÉ)k¡6kª‡hÅæé驵1köÑD!„âe#É (Ùïö %444ß²ÑÑÑZ‹’sn8›ß´ºœ'§ì{Xeßžî©•=¶œë2^ÖÍq…¹µjÕŠ   ²£ÄüðÃüðÃe†xÁH2(JD5ˆŒŒ wïÞÏœF­W¯NNNÊc™r>ž)ç#žŠr]8::*1k/ê}•ÿáBñê“HD‰xÿý÷•Ÿ}}}±°°ÀÓÓSùÓ¢E î߿ϙ3g” M{öì©|fïÞ½øùùðøñcfÍšUlçÑEö©äþù‡ãÇš‡ÀÏ™3Gçz…Bˆ²&É ÐɦM›´’®¬?Yû÷9RySTTîîîÔ¯_ŸÖ­[ãääDåÊ•0`€ÖFª#FŒP唞žÎ믿N³fͨ^½z¾ûZér]Œ1WWW222èСƒ[|||‘êB!Ê’$ƒB'aaaøúúæúsúôi@s'ïÞ½{ùïÿ«>×8tè~1D&Jƒ$ƒâ…Ò®];víÚE\\.\àøñã\¿~˜˜~ùåÊ:D!D6K–\cóæü7{™¼J×RXé陸ø\-¦d0Ÿ«:Q ‘‰Ò ÓÄâ…djjªuó†âÅ4bD=lm+”uÅâUº! C’A!„:>¼NY‡Pl^¥k¢0$B¡³¥K±µ­@Ÿ>Úwñgd¨9~üqdddâêZ‰víl¨PA?Ïz.]ŠáܹhÒ±³3¦C;¬­+hÕ·xñu\\ÌèÙÓ‘ààxŽ$55“fͬhÑÂ:ÏzÓÙ¿ÿááÉØÛW¤K22Ô¬\L“&•ñô´Ï÷Zt=gA®§´åu-Ç?àÑ£†¯›«üÕ«±œ<ù€ÌLhÑš¦M-ó¬7¯ö/I…BèlÉ’k4nl©• Å3|øInÝJÐ*kggÌÂ…­pw·RÞ{ø0…¯¾òãĉZe+V4`úô&ôí«©7kM[ç΄…%1oÞeÔê§åßß™Y³Üµê¸xñÿú×Iûì/>ÂÑÑ[,,Œ¸};}ûî1eÊ9jÕª„›ÛÓQ©óç£9pà>:ØS»¶9Ùµë.6ܦgO'Ú¶µ4#VÆi•š5Íh×ΖŒ 5‡G0y²¡®© çÔåzò²uk(Ç?xf™ìzô¨öÜd0˹sÑìÛw[êׯŒ±±>††z¨Ÿd¹þþšã:ØQ»v%îÝKfÏž0¶m»CfŒUÈ¿}}} ß¾¢ìI2(„¢ØlßFXXîîV¬ZÕŽŠ5ÓÂééj¾üÒÝ»ÃX»ö_~YŸ½{ùxño¿íȼy-r:õíëËŠAüðCKåý¨¨–.mMçÎO§#=}¶p¯^NŒñtsjSS~ü±5ÿú—æ{ÎÚS²J• ÌšÕŒÏ??Yê± ÝI2(„Bgy=Ï·k4á IDATV-svïî̱c‘Ož@¢ÆÅÅœöíms=ÄÒÒˆŸ~jCppÛÙÙaföì;ÅŸa£Œ !„x%:tŸeËiÛÖGGS""’9t(‚ØØTÚ´±‘DPˆ'$BñJª]»))ìÚ¦õ~ãÆ–ÌŸß¢Œ¢âÅ£ÛN¢ÄÌ›7•JÅ¡C‡túü¤I“P©Tœ?¾x"˼yšÛ0uì£Lš¤ù¼ôQQÂ:t°ãرn,^ÜŠI“1uj~ÿ݃-[ÃÉÉ ###ìíí8p ×®åÿØŸÅ‹S·n]ŒqqqaæÌ™¤§§k•yøð!&L N:˜ššbooOÇŽÙ¼y3EØu¨|y𜜠J Õ>vø0@»v£ísɾ–nÕ*hÔŒÁÙfÌ€}”Aƒ4åóè£Ê±l}T«þ¥K¡^=¨Xš4'}”ÄD3ªVÕœÛÃrôÑ|× Þ¹Ÿ}¦i ##°·‡á}”Å‹¡n]͹\\`æÌÜíôð!L˜uꀩ©¦ÞŽaófÍ¥Bˆ")wk.\ȯ¿þª¼ å›o¾!33“3f¹þyóæñûï¿+¯/^¼HïÞ½9|ø0ãÇçØ±cʱ£GÒ½{w‚ƒƒ16Î1ó­[·hݺ5‘‘‘Ê{¬[·Ž;vpàÀZ´Ð¾3ÎËË‹?þøC«ŽiÓ¦qýúu~ûí7åýîÝ»ãçç§¼NJJ"""‚ƒrñâE5j¤[C”'66°q#´oýúÁ‘#šdèÞ=èß_“$nØ I báBÈÖG …o¾Ñ$ƒÅÐG™7²õQ.^„Þ½5‰ëøñ­rô(tïÁÁš„-?·nAëÖ­ëÖÁŽpàäè£xyA¶>Ê­[0m\¿Ùú(Ý»C¶>JR’¦îƒ5±KBˆ")7#ƒYÖ®]‹áááÄÅűfÍ X´hQ±Œ„mݺ•ü‘ÈÈH¢¢¢˜ÐŒ®[§i+¨µkÁÇÂÃ!.Ö¬Ñ$’‹ÏHØÖ­ðãšÄ-* &OÖÄÛ£‡&ÉÚ»WsÞ›7¡S'MÏ飌£©¯}{8sF3Âxù²&Ɍ׌æ´y³¦ÍÂÃ!:ZsÝVVšë}ÒG ×$‚õëéSšz£¢À×úöé£BQdåndð믿fÔ¨QÊë?ü?ÿü“M›6qçΪW/Ú§OŸÎ¿þõ/åõÌ™3Y¾|9<`ß¾}¸»»`nnΜ9shÙ²%W®\É·¾ÄÄDþþûolmmÙ¾};•*U Aƒ¬_¿777Ο?O`` uêÔQ>÷å—_òïÿ[y=`À222ÊÌ™°|¹&qÝ·žôQÌÍaÎhÙžÑGIL„¿ÿ[[Ító“>Jƒ°~=¸¹i¦¦5S½Y¾ü²õQ €Œ JŽ>JR’f}]i©QC3xäHîä,#C³ G%>Ê“>JŽ>й9ôêß~«¹!åäIعS3Å-^ ~~¹r%ö¹ï•¤Áƒ2kÖÅR;Ÿ(œ”” NŸ~HHHB‰Ô_Úýíe"É`>6lÀرc¹víÉÉÉœ;wŽÞ½{öœOSSSºuëFDDï¾û.þþþ$%%qõêU À¥K—pssÓZ/àííÍ‚ ¸ÿ>=bݺuŒ3€¾}ûàççG=زe ·nÝ"55•û÷ï³uëVnÞ¼Yj×ùÒKO×Ü9üð¡æÙ/¿„‘#5Ó›óç—Ì9ŸôQÆŽÕlß’œ çÎinÚ(Å>Š©)t릙J~÷]ð÷×$¤W¯jÖ^º¤Y7˜£âí Àýûðè‘æ&•'}”'}??Í-[¶h’ÞÔTMù'}é£/µ_mË´iMJí|§O?äÚ5IÊ«Òîo/“rwIA 0€iÓ¦qìØ1êׯ¯¼_­Z5ºvíªŒÈ•oooN:ÅÁƒiÞ¼¹Ö1333~þùç\ŸéÝ»7cÇŽeìØ±Zïøá‡têÔ ÐŒ,îÚµ‹]»våú¼J¥bàÀÅx¯¸I“4#c^^Сƒæ½ 4wÖN𤹢]»â=瀚©ÓcÇ4wÛf©V ºv}:"W¼½5£‘BŽ>Š™™f-eN½{kÙ}”?ÔÜ<š‘Å]»4rR©4SÈâ¥Õ²e•²A”#Òßò'É`>ŒÙ³gcÇŽåÈ‘#ЩS'¼½½™2eJ‰Ÿ?ûº>Μ9ÃŒ3ؽ{7XYYѱcG¦OŸN½zõr}~Ò¤I´mÛ–E‹qûömªU«ÆÐ¡C™4i’Ræµ×^c×®]¬X±‚3gÎN•*UhÞ¼9cÆŒ¡cÇŽ%~¯„­[5£ï¼£Ù§/‹¡¡fÿAwwͨ¡¿?ØÙßy5S­cÇjQMåí ¥ÐGµÖõ¹¸hß3`÷nÍ(¡••fsèéÓ5\ç4i´m«Ù2çömM;t¨æý,¯½¦IW¬ÐÔ®Ù·±ysÍ(¢ôÑBll*[·ÞÁß?Šøø4ªW7£KÚµ³}æç†=Ž‹‹ÿùöhMll*›6…rî\4 iØÙUäÍ7èØÑA)“––ÉG£E kÆŒ©Ï† !9Ijj&ÍšYñÑG®˜™iþ‰»~=Ž3ÈÈPséR Qê™6­ µj™¸®,jŠàèÑBCÑ×WQ§N%úôq¦fM³<ã5ª¿ÿ~‹“' §§¢sgz÷Öìù˜Õ«ƒ¹v-33úõsæõ×s·_AÚ¦,´=²D³aÃmÂÂ’pp0¡ÿT©b”«\q¶_ÎþV˜>ôªS©‹°¹^¿~ýظqc±TÞ}ýõ×|ûí·œøàpžñÿþ»nn–®+Kÿþ‡9{6*W}FFz,Zôš’œ=Ó”” Ž‹Ô*?|xÞ}·:~x„‡Ÿ¶¡J¿üÒ–öíŸþdAÛæYfͺȥK1Ï-—eÞ¼æT­jòÜrm€M›n3eÊ923Ÿ¦úú*ÆŽmÀܹ—4È…o¾i oûåìo…éC¥I—¿Ïvvv˜™åNº hcùHy_aaaÊ£ëjÔ¨Q¶Á‘—°°§®“>ZîÅĤ2lØIbbRiÚÔ’~ýjààP‘°°$öî '>>­Põ%$¤óùçšúÞ}× OO{,,Œ MdåÊ 6n ¡M›*¼óŽ“ò™Ã‡#¨\Ùˆ‰Q»¶9Y²ä:—/ǰkW½z9Q·n%~ÿ݃ÁƒR¿¾S¦4V>_¿¾E¡êzk½z9ѲeMxü8ƒ«WcY¹2˜3.ä©;|ø>VV˜:µ1..æƱpáU–/âÀû8:š0qb#*W6âÀû¬[w‹ï¿¿ª$3º´M^®]‹åôé<a™ä䌕+h{„‡'ñõ×çÉÌTÓ»wu:v´'#CÍ߇±`Aþû™µýž¥0ßû«J’ÁÄçŸÎ?þ€‡‡vÅ9(DqøüsÍ“K@³§ ôÑroëÖPbbRéÚµ*K–hX³ÐÉàŸ†•¸q ùüs펺w¯F‡»Ù²%T+á10ÐcݺöZS‘ÎΦ tÿhzõrÂÜÜV­ª R……æçìRR2 \W–ß÷àÔ©‡øúÞgÏž0RS3Q«¡B=ÂÂ’¸?{û§ÛDè±~}œœ4£l:Ø‘œœÏUôôTüñG 4K/ÞxÞ+Wb¸x1†ôt5*Ú&/“'7&.®àßKÕªylu•‡‚¶Ç_Ý!55“O>qeêÔ§Ëzôpd„³lÙšgýEm¿g)Ì÷þª’dðbeeEûöíYºtiY‡"DÞ¬¬4›VK L7fMçdnnX¨úΟàŸÂ9~ô²’dð±lÙ2–-[VÖa‘¿eË4„xâñc͈š¥eî…ÿºHJÒÔð(ß2FFÚÓ–¹NCì ý wþ‚Öµ}û]މ|2z䂳³)&&¨T*V¯fÏžð\·°ÈÝFY LÞÇ4ëÔÒÓ5éÒ6y)‰5ƒ…i¬>S©Rî¶Î«ýŸ+Zû=Kqö¡—•$ƒB!tâà ù:sæažwŒêZߌM©U«Ržež7å÷<ºß2ùT@€f”nÑ¢V¹FÚ¾ÿþÏñ.‚âj›’X3X˜ö°µÕ<éèòåX­‘S€‹óOtEÉ’dP!„N:wv`åÊ`¼¼.ãà`¢µ•̹sÑ=€_~ ÂÒ²!! ÄÅ¥Ò°ae._.ø4lAW۔ĚÁ´ÇoØÓ¬™çÎEóÖ[ûpq1'#CMHHuëV""âq±Ç'žOG'„Bgóç·`Ô¨z˜›ù˜€Íˆ`‹Ö¼ùfÁÁ,ß}çÆ”)±µ5æÎ$΋&88žÌL5Ý»W£gOÝA€ñãbccLxx~~9}úa¡Fɲ4mjÅôéM¨XQŸÐÐD¢Q©ÀË«9­[—ÜS.J²mŠ¢0í¡¯¯âçŸÛðÆö¤§« Œ#88ž¶mm˜=Û½Lâ²é´xEȦӢ´É¦ÓÚ22ÔÅóøqNN&XYUÐ:îç÷33C­‘©¼ÞË¢VÃíÛ DG§beeDµj&Z›ÿffªñó‹ÂÒÒˆ:u´×Ðe³²2¢vmícYqÆÅ¥‘™©¦~} ÌÌ tª+99[·Q© V-s õ MäÞ½dš4±¤bEýgÆ“ÊõëqÔ¨a†±Ö±""Ó´©%ÆÆú…j›²RöÈ."â1ááIØÙSµª ))œ?ÿ;;ceú¸8Û/gÓµ•´²ØtZ’AñJdP”6I…%á¥{ÉÉ“'¹{÷®Öst…(+ÞÞÞx{{—u¢qt,›i9!„(NEJk×®MÅŠéÑ£GqÅ#„N¼½½iذ!]ºt)ëPD9±sçNI…¯„"%ƒÖÖÖX[[ËÔœ(sÞÞÞtéÒEú¢(5wïÞ-ë„¢X”ýŠS!„BQf$B!„(Ç$B!„(Ç$B!„(Ç$B!„(Ç$,!ëׯÇÓÓ“óçÏ—u(Eö*]Ky±Þo=žÿóäü—ÿ;{•®E!^D’ –;wîàëëKLLñ?°¼$üöÛoxzzrñâÅ\Ç^¶kp'ú¾¾Ä$½ßÙo'~Ãóž\ Ë£ÿ½d×"„/›"í3(ò׿Z´h››[Y‡R ·o߯××—ØØØ\Ç^¶kпeZÔh›ÓËñÝŽ¾o /±Éyô¿—ìZ„âe#É` qrrÂÉÉ©¬Ã(¯Òµ”NVN8Y½ßÙ«t-¢ä4nü[²v­GY‡’§”” 6ü‹ÎX¶¬u‘êº{7OϽ äÂ7ß4-¦EyöB$ƒÉÉÉ,]º___Ôj5|ñÅøøø°{÷n¶mÛ†………Ög8À¦M›¸u놆†´hÑ‚aÆagg§”ùé§ŸX»v-Ë—/'--Å‹„ü1o¼ñFžñ¶îääd~úé'y÷Ýw>|8ëׯgéÒ¥x{{çQóõõeóæÍcbb‚»»;Æ ÃÊÊê¹m•‘‘ÁüÁîÝ»‰ˆˆÀÊÊŠŽ;2dÈŒóŒ/>>žeË–qûömªV­ÊСCi×®RvìØ±lÙ²€Q£F)míææ†··w¾×¢K,…ùJKrZ2K-Å÷º/jÔxÔöà‹7¾Àg¿»/ífÛÈmXTÌÑÿ®`ÓÙMÜzx C}CZ8·`X‡aØUÊÖGÿÄÚSkYþÑrÒ2ÒX|p1A‘AØU²ãã¶óF½|ú_!ëNNKæ§Ã?È»nï2Üs8ëýÖ³ôÐR¼?ðÎ5¢æèËæ³› ~Œ‰‘ îÕÝÖaV¦è™üá÷»/í&".+S+:ÖëÈ6C06Ìög‹/þq<Ë|—q;ê6U+Weh»¡´«•­ÿmËÿ'ýoí(¥­ÝœÜðþÀ;ßkÑ%–Â|BQ^”y2K‡PÞÛ¾};7nÄÕÕ___ÒÒÒ”c™™™|òÉ'¬^½Z«žíÛ·ãããÃÞ½{qwwàæÍ›øúú²cǦNJRR’Rþ·ß~cýúõôëׯHuoÚ´‰o¾ù†””6lä½Î.##ƒ?þ˜5kÖhÕ¿iÓ&æÌ™Ctt4úúúù¶Ubb"o½õGÕzýúõ,Z´ˆ}ûöakk«߯ùæ›oHMMUʯX±‚… 2räH Èó&‘¼®E—X ú=”¦ØäX:ü¯w²õ¿€íl<³WW|}IËÈÖÿÔ™|²âVŸÈÑG¶ãsÀ‡½_íŽú“>òà&¾¾ì¸°ƒ©[§’”šíºOþÆú­§_‹~Eª{ÓÙM|ó×7¤¤?éUŸô¿<ÖÙedfðñŠYs2Gÿ;»‰9»çí¾Þ3ú_J"oy¿ÅÑ ß¹ßzXľ±û°5·ÕŠoã™|³ýRÓ³õ¿c+X8`!#;>éw‰ Èó&‘¼®E—X ú=!DySæÉàäÉ“ ÀÉɉ &àââÂõë×ñòòÊ31™;w.«W¯ÆÅÅ…áÇS¿~}RRRØ»w/?ÿü3äÊ•+èé=½7fâĉôìÙ“¾}ûbffÆ_ýÅòåË™}:o½õ ÀØØ˜Ý»wóóÏ?óÕW_Ñ¥KêÖ­Ëüùóñññá×_ÅÇLJÆP¹råb¥ ßCiš¼e2wp²rb›p±qáúýëxíöÊ31™»{.«O¬ÆÅÆ…á†Sß¡>)é)ì½²—ŸÿÌÀŸrå¿WÐSeë›'Ò³IOú6ï‹Y3þ ø‹åG–3yËd­$D—º¿Þö5Ýuãý–ïS­rµgN§ÎÜ9“5'×`bdˆ7FðZ×Ð×Óçìí³,ó]†šçô¿­S8ts&¾5‘úõ ‰ aÞžy\ »Èç¿}Ζ9úß_Óy«Ñ[ xmƆÆì¾´›ŸüÌWë¿¢Kƒ.Ôµ¯Ëü~óñ9àïGÅg€«=é&Ïè:ÄRÐïA!Ê›2MÓÓÓY½z5æææœ8q‚jÕªн{wzöì©$%YÔj5 ,ÀÞÞž3gÎ`ii©ëÝ»7–––Ì™3‡“'OÒ¶m[åØàÁƒY¾|¹òúí·ßæÆøúú‰­­­Îu÷êÕ‹7>÷Z333ñññÁÐÐC‡ѲeK­ú'NœˆAþ_Gzz:¿þú+ÆÆÆ=z”:uê(Çú÷ïO½zõøóÏ?‰ˆˆÐšÎîÙ³§VRöÞ{ïáààÀŒ3X¹r%³gϦiÓ¦Ô¬Y€fÍšiM!g,ùJSzf:«O¬ÆÜØœ“OP­ò“þ׸;=›ö¤ñô<úß? °·°çÌÎ`i’­¸÷ÆÒÄ’9ÏáäÍ“´uÍÖÿZfùGÙ®»éÛ܈¸o /‘ñ‘ØšÛê\w/·^lü¼ýO‰Ï~ õ 94þ-kdëî½™øÖD ôžÑÿ2Óùõè¯stâQêØeûÎ[ô§Þ´züyþO"â"´¦³{6é©•”½×ì=,˜±}+¯dvïÙ4ujJÍ*Oú_õfZSÈÅKA¾Q8Ù×Áýç?Møî» œ<ùŒŒLZ´¨Âøñ ©_ß"×çþüókÖGf&¸¸˜Ñ·¯3ƒ¹ §§Ò¹lYÊÞÓ¦5ÁËëÇ? &&• Þ!û¤ÏÝ»Ij«ÌL5¿þÄ„–„½½1ºÐ­[µR¾:ñª+ÓdðæÍ›$&&Ò§O%ÌR»vm^ýu8 ¼wëÖ-!!nݺi%_ÖÖÖôíÛ—eË–qáºté¢:th®º†ÊŒ3¸páBb/®X ò=”¦›n’˜’H÷>J"˜¥¶mm^¯õ:®eëoñ þ6æ6ô[–­<Q{ÿ¤Ü»¦•° l•Çu;»ãèKTB¶æ¶:×=¤Mû߃›D'FÓ¥A­D0K¥ŠÏén’’@·FÝ´’/k3kú6ïË2ße\¸{. ²õ¿vyô¿vC™±}îêØÿtŒ¥ ߃ÐMllýûûñXyïðáΜyÈúõ´’œ9s.±|ù ­Ï_¹Ëÿ{sç¢ùþû–:•-Œ!CŽrüøƒ—ß³§3®®æ*›Êûïk·Ef¦}}Õ“ão«éÓX·î–òúÎ$¼¼.qù²l³$ŠW™&ƒÉÉÉ@þÓ‘ÙGç€i| IDATMb¶ÿþ|ë;& ÈóÆ ###@³Ž¯(u;::æ[6»¬k­R¥JÊçôø±æG~7™d½ŸU.K^m›U6+¦ÒŠ¥ ßCiJN}Òÿò™ŽÌ>:ò¤Ä?`ÿÕgô‘Ôý/3ŒôŸ\wfF‘êv´,`ÿK{ÒÿÌtìiO¾ó|n2Éz?«\–¼Ú6«lVL¥KA¾¡?¿‡¸¹Y²dI+êÔ± <<‰ï¿¿ÊîÝa̘À´àòå–/¿±±>'6â­·ªbh¨‡¯oß~{íÛïÒ£‡#;;ªì‹ÄÏ/ŠfͬX¼¸5õêUÂØX3$˜’’ñäxÁÚêÂ…G¬[w 33¦MkB§N¤§«Ù½;ŒÙ³/•Ùõ‰WS™&ƒU«Vàܹs¹ŽeffjÝTP­Z5T*-[¶ÄËË+ßzk×®]èXt­[¥*Ø4EVý§OŸ&-- CCÃBÅçà ù…wöìY233µÖ-øùùOÛ4‹¿¿®iß3gÎ(1弎ç­[,J,/šª•Ÿô¿Ð<úŸ:“€»9ú_å'}¤FK¼ú<£ØéÐÿt¬»ÀýïIý§o&-# CýBö?‹'ßùí³dª3µÖ-ø…<ùÎ+çè·ýsMûž 9£Ä¤\…è:Æ"Jމ‰>?þØkë ¸ºšãíÝ’=â8s&ЇS¨R¥ÿÀÈ‘u<ØEù|¯^Nè驸ê+?vî¼KçÎ…*[X«W?{)BQhÚ¢5VVžqüùmµgæúÇoDŸ>ÎÊç r!66ï¿¿Rb× ÊŸ2}‰ M›6Åßߟٳg“™™ hÖ¤M:•   ­òÖÖÖtèÐiÛ¶-žžžÊgggöìÙ£ÓtcIÖ šQ1‚ƒƒùôÓO‰ŽŽVŽ%$$ðÝwß)ןÜÝݹví“&MRî°V«ÕøøøðÏ?ÿ`ooOÓ¦Ú{NÍœ9SIþ@³¹ôèÑ£èÚµ«ò¾™™ÁÁÁϽ]cyÑØ˜ÛÐÔ©)þ¡þÌÞ5›Lõ“þ—™ÎÔ­S ŠÌÑÿ̬éP§þ·ý Œ¤­k[<ëz*œ­ÙsyNÓ%Y7hFÅoœ­¹õð’ѸZc.†]ÔÚneစ´ójǰ߆1nã8\l\060&$*„ˆ¸'}äíé…y+麼û{ÓΫ«O¬fÙ ¸Ú¸¢¯§Ïµû×HMOeb·‰¹FÙ²›Ûw.]¿ïÊÿöü_Žþ‚«+¡Ñ¡JlsûÌÍuŠ£¥#­fµ¢¶]m*TPÎåæäFÿ–ÙúŸÓ“þ÷Û0–\‚‰‘‰²Ï`qÅ"ÊNÎìhºlA•äšÁÊ•t (øh¿ũ̟MüöÛo³jÕ*¬¬¬ˆŒŒÄÏÏÌÌLÖ¬Y£LcfZ4jÔˆS§Nѽ{w àÔ©SDDDP»vm¼¼¼”uh…U’uƒ&á:r䯿þ:?æòåË\øöî;¾æ«àø'SdïH1[y#HEii•NÏÓÖ¨]ÑRA[³h©½©UEH#1#d! ‘yïóGz/×͸7CŒó~½úªüιgÝ›ä›ó;çü._FOO)S¦”{Æ €ŸŸûöíÃÕÕ•ÌÌLÎ;GZZ666¬_¿žáÇ+½fñâÅrãÆ ._¾LAA~~~SÐÒ¨àó×Ä}_ìÃÕ•ÌG™œK8GZv6&6¬ÿp=Ã;–òù¼˜@Ï@nܹÁå”Ëà×ăÿ>¨Ð—Îná=‚ÂâBÎ%œ#øfp©GûT¥-B͉Œ¼Ï½{ù ×ŠŠ¤œ>]p98àäTP?~G©Œ'J®9:ªŸ÷e¢êXÉúvêTºR'O*_„ªÐª²H§ ²]·ª­R‘‚‚®^-YÛ´iS$ ...èëë_êk“ƒD*Á©¾æuŸùŒdÄ‘”™D§6 åÓimÚbX§”Ï_ʆ’ƒšc3bñ´÷,uGZvñwã1Ö7ÆÕÂUíÙÆ˜ôùS?Ü­Jùüí˜ÈüC󉘧½'·îß"é^¶¦¶8˜•óù{˜Nlz,ùEù˜˜àiïYa_*jKUÞ‡òTçϿҤ¥¥É7¶UäÀ#ÆŽµ$&¦âÛìÕIvœ €§§)S§¶ Q£z¤¦>fÑ¢HJ¥M›ú H£¯¯ÍĉÍèÙÓ NžLgÖ¬Kde°lYºw·V+/Ôþãè*zÜœºcuùrýûŸPØ@R\,åàÁ’ $ùùÅâqt¯¨Ê|?[ZZ–‹¨hÛ qeÑ¢EŒ5Jþtììl>ûì3ÒÒÒ3fL™¯366¦uëÖe¦»¸¸àââ¢vZUË†ŠŸçkii©pŸº\]]quuU9¿­­­Òñ=¥±°°PZYQ_*jKUÞ‡çaÑŸ‹Õy”üéÙ³ùlãg¤e§1¦k9Ÿ?}cZ;–ó1wÁżŒ~—“VÕ²¡âçùZÖ³T8ƒO]®®¸Z¨ñù3±U:¾§4u-”ÖEVÔ—ŠÚR•÷APMÛ¶ HLÌáí·ƒ®h1}ú“`ÅÃÄ?tå—_b˜>ý"Ó§+ÎþØÉƒ;uò¾LT«-L2Ä™M›â™0á‚BÞ€;öïOy.í^/D08uêT&Nœ(Ÿ!‹ŽŽ&77###&L˜PÛÍ^qS÷LeâΉò²è´hr r1ªcÄñù„Šë°ysfϾÌÙ³w‘H¤´n]Ÿ¯¿n¦tò¤IÍqw7fÆ8¥ƒ¤ŸÞ5¬nÞ—…:c5sfK å‡N[Zê1x°ö"ªÕ  ~ùå—ùd«|‹-X¹r¥üÉ‚PS¾ìñ%AGƒˆL}êógׂ•ï­”?C„ò98²reG•òöëç@¿~e/¨LÞ+WÞR©¼šR§Ž11ýTNWe¬4555ÊQ£”«*¯.AP×  Θ1ƒ)S¦@FF6668::VüB¡L£GÆßß_­[ɯ«oÍ`JÀî&ñ0ë‹Ï_UŒî2ÿfþjÝJAjÇ  hkk«½N(Û‹°ïe¢­©­ö:8¡lb-ž ÂË£Ö–AAjÏ 33(‚ ¼\*Z''ÂËAÌ ‚ ‚ ¼ÆD0(‚ ‚ðÁ  ‚ Âk¬JkoÞ¼Ittt¹O§„çeåÊ•lß¾½¶›!¼&îÝ»‡››òùo‚ /13(¼2ªð˜mAAxmUif°Q£F4jÔ¨ÆÔ.ªÒÐÐ`̘1,Z´¨¶›"¼&XÛMA¨bfPAá5&‚AAA„טA„‘Ÿ_Œ«ë.>þ8¬Êe¥¤<ÂÕu3f\ª†– 2÷ïàë{W×]òÿŽ»ÍÉ“i¸ºîbíÚ˜­éÒ(víJªÑ:j³¾—…x‰ ‚ ¼¦6lˆ#%å^^ftèÐ-œë¢©©ÁرMðòª_£õÿøcíÛ7 _?‡­§¶ê{Yˆ`PA^Sqq9¬XÑ3³: icǺ×F“„Zð\ƒÁ9sæ`ccÈ#žgµ5âUêKe¼ŒýŸ3ç 66†ŒѬ¶›Re¯R_*ãuïÿ‹¢¸XÊO?ÝÀÅň€;bcšAVV>Ÿ|ÒX)ÿõë Ë@"6mêÓ²¥i©å>zTÄ_Ý&5õ1VVútïn­rý!!éHðò2£M›Ògµ23ó9{ö.IIÐÖÖ¤Q£ztìhŽ––F™eËÚ®©©¯¯ŽŽ†H¥ð÷ßé\¿þ##mzö´Q ªd®^½ODD&99EXZêѵ«%õë—ž·¦ÅÆ>ä?nqõê}Ö­‹E[[yåX—.–xz*¾OÅÅRBC3¸y3›âb ÖÃÇÇœ:u´T®?55—íÛ“H¤$%=bÉ’(yZÿþöØÙÊ¿VuÜÂÃïqóf699…ØÙÒ¶m}ÌÍõ*¬O½µ ¶iÓæ¥ Êò*õ¥,³fÍÂÉɉ÷Þ{O)íeìÿœ9a´icõJ¯R_Ê2kÖiœœêñÞ{Ji¯Cÿ_EE–,¹N·nÖDGgóÓO7äi~膶ö“àjÁ‚k,_~Sáõö|÷]k… ìÊ•,F###O~ÍÜ\Ù³½Ê­ÿÖ­\,¸ÆÓÇäÈœ9­^óí·—Ù´)ž‚‰Âu''#V­êˆ³³‘RÙ11ùñÇ'ÁÜ9WX¼¸:™3fLgÏÞ•§-\É–-]hذ®üÚÝ»ùŒŽÓ§3êÔ××fúô à¨Ô·gíÚ•Drrn…ùd†wÁÔT·Ìô¸¸–,¹.ÿúçŸo”š¯n]m…`0&æ!Ÿ|F||ŽB>KK=–.mO«Vf*µ/5õ±¼þ””\…¶´oß;;C•Çíþý>ø ”Ë—³òÕ©£Å—_z0rdÃrëÁàs'OžŒÍ󬲯¼J})ˬY³ðõõ-5|û?yrll +Îøx•úR–Y³Bñõµ/5|úÿ2‰ˆÈäèÑÛtîlA“&&èéi¡££)?þÂ…’ô®]-qs«ÇíÛ9|ø{ö$ãädÄ_”ü2~ô¨ˆ1cJAgg#||,(.–œÆ¤IʬÿâÅLŽ»C×®V¸¹Õ%--Rغ5‘€{¼½ÍåyOJÇÂB//Slm ÈÏ—Ègý¾þú<Û¶uUêÛ±cwèÖÍ—ºÜ¼™Í‰w˜6í"íÚÕ'2ò>8bb¢KHH:QQX¸0’Ÿn”Ì¢}ôÑi®\ÉÂÎÎÎ-06Ö%11‡£Go3yr®®õ”fßžµkW¡¡åæyZŸ>¶åƒ..FŒÛ„ýûSˆ‹{ȧŸ6V˜LLÌaÏžd…×<~\ć†rëV.66tíj‰ŽŽ&ÿNlìC>úè4úaa¡Waûllô;¶ K—^ÇÖÖ€þýŸͶújÛºu±\¾œ…¥¥o¼a±±·nåröì]Ο¿ÇÈ‘ Ë­O¨…`ðUñ*õ¥2^ÆþOžÜ¾¶›Pm^¥¾TÆëÞÿͽ{ù,\؆À@ÅG“æç%·e¿û®5ýû?Y´é’+ƒ³vm Ÿ~Ú-- öïO!==Î-X¹²#::%ÁÉãÇÅ ~ŠÌÌü2ë_¶¬ݺ=¹Ü¹³_}už'î(ƒ3g¶ÄÅ¥.aaܾ‹®®„víp÷n™de(Q™™ù¬^íM×®–òk“'_`ëÖDÂÃïqøpw,-K‚ŸÂB =züÉñãwJACŽIåÊ•,Þ|ÓŽ Ú(Í‚P2‹·-wŒûõs M›åæyZY·ªe6¬ËرîDFÞ'.î!Ÿ}ÖXá6ïÉ“iJÁà¾}·¸u+—V­ÌøõWôõKòI7î‡ÝbãÆxÆkRaûll ;ÖŸ~ŠÂÁÁPivîàÁ[*›ìs±sç¿äï@A„k×î«Tßëî…X3XTTÄ_ýÅÕ«W)..ÆÝÝ=z §Wú_çÏŸçôéÓdggckkK¯^½°°°P(oöìÙ¸»»3xð`¢¢¢8räùùùtìØŸRË}øð!ûöí#11;;;úöíKqq1AAA´k׎޽{—Ù—ÊÖ©J*¢Êø=Û¾‹/râÄ Š‹‹ñññ¡}û'¿\“’’X³f ‰„¸¸8f̘!O1bNNNUz/«2VUQÖ:³¢" ý•ÄÕ«w).–àî^Ÿ=ÑÓ+ýÛãüù4NŸN%;»[[#zõrÆÂÂ@¡¼Ù³Ãpw7cð`w¢¢29r$üüb:v´ÁÇǶÔr>,`ß¾X³±³«Kß¾®K :O»vVôîíRf_*[§*ý©ˆ*ã÷lû.^LçĉdŠ‹¥øøØÒ¾ý“_âIIÙ¬Ys‰DJ\ÜfÌ•§á““q•Þ˪Œ•P:gg#¥@ðiNNF @Ë–¦tïnÍ¡C©DGgãînÌ… ™|ñEy  ¯¯ÅgŸ¹óÑG§K-¿iS…@À×× €ôô<…ë/f1räß•þøÊ{÷ò‚A…@ S' ¶nMäí·‚MÚµ3gÇŽD22ò°°Ðãï¿Ó00Ðfùò›òÙR©´äšõêépåŠâíÍÒ¼»_/\¸À¿ÿÝDhkkðå—M9tèçÏß«–ºÔ·=lظ1ž5k¢4È —ºhh€®®&^^ªÝ¶~ÝÕúšÁÈÈHúõëÇÍ›ŠkIlmmÙºu+ÞÞÞòkiii :”cÇŽ)ä500àÇdäÈ‘@I°1sæLILLdÒ¤I Ï­5j«V­R(#<<œ7ß|“;wîȯY[[³bÅ fΜÉgŸ}¦ >Ý—ÊÔ©jÊ£êø=ݾ˗/3wî\…üÆ cíÚµhkk“””ÄÌ™3ˆ—ÿÀ××W Vö½¬ÌXU‡ÒÖ™EFÞ£_¿Ýܼ©øÃØÖÖˆ­[ßÂÛûÉ­ð´´\†ÝϱcŠgTèðã~Œù$0›93”À@W³™4é¤Â:¦Q£š³jUO…2ÂÃïðæ›»¸sç‘üšµµ!+Vô`æÌP>ûÌë™`P±/•©SÕþ”GÕñ{º}—/g0wî…üÆ5eíZ´µ5IJzÈÌ™%`|üù¿|}íÿ +ÿ^Vf¬„ò99•›ngWúöö%·ú³³ xð  Ìü²¼¥±¶ÖWºf`ðdÖJ&,,ƒ… ¯¡««I·n%›@ ´ÑÐÐàÔ©4""2‘HƒD++å²ePyiËfEKú´eKB™íWEu¯¬ Ùûãà ü~ÛÛ¢¡Q²~¯:¨3n>>lÚÔ…_åwN’Ÿ_L³f%l ℾ¾88¥"µ:B¹¹¹ôîÝ›ÄÄDèÕ«ººº=z”ëׯÀµk×°¶¶¦¸¸˜€€ÂÃÃqrr¢gÏž˜ššËž={5jMš4¡C‡òòÃÂÂØ·o½zõÂÃÃ[·n±mÛ6V¯^ÍàÁƒñóóJf¹sç5¢GqøðaF¥VŸT­³2ý©ÊøÉ„††²gÏyû’““Ù¹s'6lÀÍÍiÓ¦áààÀôéÓKÝ@âääTmmQu¬jJnn!½{ï 11‡zôê匮®G&rýú=vríÚH¬­ ).–°“ðð;89Ó³§¦¦zÄÆÞgÏžF:L“&õéÐáéþ¥²o_,½z¹àáQŸ[·rضí«W_aðà&øù•ü¥ÿða»¹sç™Ò£‡EEN`Ô¨ÃjõIÕ:+ÓŸªŒŸLhh*{öÄЫ—3 HN~ÈÎ7Ù°!77S¦M눃C]¦O÷fÖ¬PœœŒÖ :9Õ«¶¶¨:VBÅž¾…Wš””Òƒ˜ää’?~êÕÓÀØXWžÿÙug²¼UqüxÉû?þØŽ7ÞPül_¿~¿Êå—FÖ§wßu¦~ýÒïvééUüü‡ê^3X²¾$%å`o¯°''?B*“ê©SÝqkÛ¶>mÛ–ìOOÏãìÙ»Ì{…C‡n±ys45ËÿŒ¾îj5ܸq#‰‰‰x{{säÈ K~P2dÈvìØÁ²e˘5k;wî$<<œ!C†°~ýz´´žLQ‡‡‡Ó±cG‚‚‚ؼy³üzzz:»ví"00P~­gÏž¼ÿþû8p@llÚ´‰ÔÔTüýýÙ³gºº%ÂÜÜ\ºwïNzzºÊ}RµÎÊô§*ã'“‘‘Áºuëxÿý÷å×Μ9ƒ‹-bòäÉ8880cÆ fÏž‹‹‹Âmâêl‹ªcUS6nŒ"11ooŽˆ¡¡Î?m–0dÈ~vì¸É²e™5«;wÞ$<üC†¸³~}…_~ááwèØq#AAçÙ¼9à©þå²kW_]ŸêŸï¿âäÁƦMQ¤¦æàïïÌž=}ÑÕ-ù,äæÒ½û6ÒÓUŸ PµÎÊô§*ã'“‘‘˺u½xÿý'Þ™3·ññÙÄ¢EáLžÜ‡z̘áÍìÙ§qq1fÆ o¥º«£-ªŽ•Pu 9ìÜ™ôÌšÁ,þüó6õêéàæVä·jeÆŽ‰,]z]iÍàO?E•Z¶:44J>çFF: ×ÃÂ28vìNi/©²Ž°m[ÅÅR>ÿ¼±RP’‘‘ÇíÛ+,§º× VF«VõÙ¾=‘¥K£hÕÊL>ãV\,å‡"hÝZ½Cªuu5KMTgÜÂÂ2hÞÜCÃ’öXXè`ljwؽ;™øøùîî²ê{ÝÕj0ZrûgæÌ™òà@GG‡¹sç²cÇþþûoŽ= €‘‘sçÎ}jý€©TЉ‰ ááá å{yy)€üVojjªüÚéÓ%ëP¦M›&¡äví7ß|CŸ>}TuV¦?ÏRgüdÜÜÜA€öíÛÓ·o_¶oßNdd$-Z´P¹¿Ui‹ªcUSBCo0sf'yð%ë~æÎíÌŽ7ùûï’9–áôé’¾N›ÖQBÉíÚo¾é@Ÿ>;UuV¦?ÏRgüdÜÜLA€öí­éÛוíÛoy-ÌQWeÚ¢êX UgfV‡¯¿>ϤШQ=RSKvK9ÒUþÇH@€‹_çÔ©tz÷þ  $8qâŽü¶kUÈÖ†¿¿ ¦¦uˆŽÎ&88 33]îÞ-}ƒJUôécǺu±lÞœÀ©Séx{[P¿¾.ÙÙ…$$äpöì]>üÐ-ÊßMü"¬|óM[~ú)Šðð{øûÿ¥°›8&æ!ÆÆº ê¬V™NNFDF>à¿ÿ ÇÞÞMM ú÷·WkÜV¬¸Éùó÷èÐÁGGCtt4‰ŠzÀÉ“ihii(ÌV–VŸØLRËÁ`VVÉÚ¥4444ÈÌ,YPœ‘Q2=®ÎZ2{{åÍFF%k •ÚQÚ-вn‹VµÎÊôçYꌟŒ³séߨ²ë²2ŸG[T«š’••÷OûL”Ò\\LÐЀÌÌ’<%®ZuYåòííë*]“ÍH>9ãLÖ''c¥ü¥]«Ž:+ÓŸg©3~2ÎÎ¥÷Gv]Væóh‹ªc%T]«Vf4lX—+nœ&¿hϧŸ>9œÚÐP›+:0ztÉ9v²³ì4¨Ãœ9^U~ÆqÏž6¼ù¦ûö¥°m[¢üúÀNÔ­«Íš5Õÿ^-- ~ùÅ› ÎsìØ¶mKPH·´Ô«0|QèëkóË/Þòs7nŒ—§YXè±ti;•Ž•yÚÈ‘®L˜p^aç²ìœAUÇ­cGs.^ÌâØ±Û y µ™2¥¹ÂÕ¥Õ'‚ÁZMMKÞȸ¸8¥ "..©TŠ™™™BÞO?ýsóÒg TßYZ;ִɮՄêè:ã'Oid×eeª«2m©m¦¦%?´ââîã⢤ÄÅÝG*33=…¼Ÿ~ꉹyéï‹Aå¾de'$кµÍ››’Ž‘‘Ž>øø<9Ò«¼×;;•™æëk%?ÖæY ÖUx2É‹ À®Ô뎎eŸÅ§¥¥A—.–tébYjºº7®GãÆ¥oÕÆM__ûŸ±¯z}¯£Z ‡ÊìÙ³ ¡iÓ¦ ;P###155å“O>`РA±råJ>ŒŸŸ–––deeÍÉ“'ùÏþCÛ¶åÜYš!C†0}út8@óæÍéÑ£ÅÅÅ:tˆœœ’Û²…ÇÕ¥:ú£ÎøÉ˜››3bĶlÙB³fÍHJJbçÎ1~üx´µŸ|$\]]‰ˆˆ`øðá8;;£©©)?g°:ÚRÛ†ugöìÓ„„Ü¢iÓµ ;P##ïajªÇ'Ÿx0hPc‚‚γråeNÀÏÏKK²²òˆŽÎâäÉþóŸ6´m[ú/ò âÎôésà@Í›¯£G'Š‹%:ONNÉíòjþøUKÔ?ssFŒ8È–-Q4kÖ€¤¤’ÝÄEEÆo£0;áêjBDD:ÇÀÙÙMM ù9ƒÕÑAjÆòå7(((ÊMWWƒ?V~~µP;j5400àÀò³é–/_.O³±±aëÖ­òÛ¶ÚÚÚ8p€>ø€}ûö±fÍ…²lmmi×®]¥ÚQ·n]vïÞÍ[o½Å7¸q£äVVV,\¸áÇ+lЍÕÑuÆOÆÛÛwwwæÏŸÏÁƒå×ß}÷]¥§ŠŒ?ž‘#G²aÃù5Ù9ƒÕÑ–Úf` ÃoËϦ[¾ü’<ÍÆÆˆ­[ߔ߶ÕÖÖäÀ·ùàƒCìÛËš5Wʲµ5¢]»Êõ¯n]]vïîË[oíâÆLnÜ(™µ²2dáB_†? °)¢:TGÔ?ooÜÝ͘?ÿ,>Y²ðî»M”ž*2~|FŽ<Ȇ ‘òk²s«£-‚ ÔŒ+¢yø°üußuëêˆ`ðRëÏ&nÚ´)×®]ãèÑ£ò§V4nÜ¥'4hЀ½{÷Å©S§ÈÈÈÀÜÜ777:wî,?žE[[›éÓ§ãî®<Å-K{úv(”쨎ŽfïÞ½$''cggG`` û÷ï”7;<Û—ÊÔ©jÊ£ÎøÉÌ›7AƒŒD"¡S§N¥žgøþûïÓªU+Nœ8AVV‰DV彬ÌXU‡ÒžgÛ´i}®]ÉÑ£‰ÿ<µBJãÆføû;)=¤A}öîíGTT&§N¥‘ñss}ÜÜLéÜÙN¾~E[[“éÓ½qwW^#)K{úv(”쨎ÅÞ½1$'?Äή.®ìß (ovx¶/•©SÕþ”Gñ“™7¯ ƒ5&88‰DJ§N¶¥žgøþû´jeɉIdeå#‘Håç V彬ÌX ‚ º1cÜTš^Riå—O8€mÛ¶U[ƒjKdd$ŽŽŽ 3€wïÞÅÇLJ7npéÒ¥J¹ò¢ÈËËC__ŸÀÀ@vïÞ]ÛÍ©vŒ7ŽE‹ÕvS*%2òŽŽõfïÞ}ŒÏ&nÜÈäÒ¥÷+uäÊ‹"/¯}ý ]Ù½»om7§ZÔôÏ¿´´4ù2•Š8`ÄØ±–ÄÄÄÖH[Ax~*óýlii)?£¶‰g´üãÀÌ›7???œœœHMMå?þ ++‹7Þx㥅ßqÌ›w??œœŒIMÍá?âÈÊÊã7^ê@PAx±‰`ðäåå±uëV…ëmÚ´QX3'5ÁãyyElÝzCáz›6VlØ ú¡ç‚ ‚ . þ£W¯^¤¤¤pìØ1âââÐÒÒÂËË‹®]»VûNâÚPÞ:=¡öõêåLJÊÇ;–D\Ü}´´4ñò² kWûjßI\Ê[§'‚ Ô. >ÅÄÄ„þýû×v3j„¶¶¶JÏj‰Iú÷w«ífÔmmM•ž1,‚ <šgAA^U"AAx‰`PAá5&‚AA¡R ‹ úûP~8ùCm7¥ÚEÜŠ`èïCúûP"nE(¤½Êý^Ob‰ ‚P)©„³Ég©§W¯¶›R­Š$EL>8™˜{1H¥R²g)¤¿ªý^_U ïÝ»GJJ ãǯ®öB¥=zT|…çæÒ¥KØÙÙÕv3„°"li9iôjÜ‹Qj»9‚P㪠FGG“’’BPPPuµG*íêÕ«\½zµ¶›!¼F?~\ÛMªYBV?‡þÌôîÓ¹™q³¶›#ÏE•‚Á:¯Æ³‰…—[ÉÁà[€AµÝáµ1~ @Aq#6–†D*¡µ]k†·ŽŽB¾ôœt¶]ÞÆÍŒ›ääç`gb‡“Ýܺ½üO94OO¶ÈÿþúŸZ¯•J¥üú¡ ¡ômÖ—A-ÅÏ#áå Ö ‚ U"‘J¹e$g’Îȯ‹9ÆÎ+;Ù«rÛªv+?37“ù'æ3Ög,N¦N*—p÷Ñ]ÆlCTF‹ÞZD@“µ^/µMƒ‚ B•H‘òÛàßhjÙT~­—{/º¯ìÎ×ÿà[ÿo1Ð1@[³äW΂€˜è›ÈóöLv^¶JuMú×$²óUË ¨<+8û¯ÙX×µfTûQ*— p#ãmûˆü¢|~ú;ž6žj½^^"Aª¤‰E…@ÀTß”nnÝØ~y;1wchaÝ‚!^CØuu£·¦o³¾4³jFcóÆÔÑ®£ò1-M,›T{ûCâCø#òvŽØ‰–†–ʯ»‘qƒAëa]ÏšMïnÂÖØ¶ÚÛ&σA„*)+3Ö3JÖÓ8›9stÌQö^ÛKhB(kή!5;g¾öý×®ÖUk\„žŽÿ;ª¸a$1+±¤Œà¬>³šÉ~“ifÕLž®£¥ƒ–¦ÙyÙ<*x¤r›áE#‚AA¡Jnfܤ°¸-…ëWn_À²®¥üš±ž1Ã[gxëá@Éîâw|Ì{›ßãøÇÇ©£]§ÜºjbÍ`na. •Y®ìˆ™y®»˜¹°´ïRFlÁ߇°zàj¼l½Tn› ¼(D0XÍ,XÀW_}ÅñãÇñõõUûõ'NdþüùDDDàé)Öž‚ðâ»ûè.ßý–)ݦ «¥‹T*e]ø:Î&ŸÅÁÄÖ…¯ÃÝÜŽOÎä1Õ7ŨŽé·ÓIÈJ ±yãr몉5ƒóûÌ/5h\~=‡nâË®_âeë…»…»RžÆæÙ2l ïmz÷6¿Ç²þËðqöQ¹}‚ð"Á  ‚P% ë7dûåí쿾'S'n?¼MFN_ú~)ÏÌ죳1Ô5ÄÁÄ]m]âîÅñ0ÿ!¦ú¦ò ±<5±f°…u‹R¯ÿyóO™7¢½Cû2_ï`âÀÖá[¹e$mÿˆ…o.¤·{ïjo§ ÔÍÚnÀ«æË/¿D*•VjVPáeälæÌ’¾KÐÒÐâòíËdädP·N]æôš£l;’NNÈ-Ìåzúu.¥^âaþCÚ;´gÝàuèëè×b/ªÆÂÈ‚ïn¤™U3ÆíÇæ‹›k»I‚ 213(‚ TŠŽ–¿ýS}S™7¢ëç]‰¾D*¡‘y#tµtòwqéB—.äæ’˜•ˆT*źžµüPêÍðÖÃéÞ¨»Ò­ë§ûý4c=c~ü—o_FCCƒbi±Z»“¡¶ˆ™Áj¶`Á4448qâ„Âõääd>úè#ìííÑÕÕÅÊÊŠ¡C‡UfY?ýô7FOOfÏžMQQQ ÷@A5šš´whO#óF@IÔÔ²)ͬš)‚O3Ð1Gó¢‚ަ޴wh¯p&"(÷ûiú:ú´whO;ûv"^bfð9ˆ§C‡¤§§Ë¯¥¥¥±iÓ&öïßϱcÇhÓ¦ÂkæÏŸÏæÍ›ʘ:u*7nÜ`ýúõÏ­í‚ ‚ ¼ÚÄÌàsðïÿ›ôôtºtéBxx8=âÚµkôïߟ‡òÑG)½fÇŽ,\¸ÔÔT233Ù¸q#ffflذ¿þú«z!‚ «Hƒ5ìÑ£G¬TÖÁƒhذa µVA„×k˜¡¡!½zõ"--¾}ûráÂrss¹~ý:C† áêÕ«xzzÒ¨‘âAAAüðÃܹs‡¬¬,6mÚÄ¿ÿýo P]Aá$Ž–y‚‚‚8sæ ǧuëÖ iFFF¬ZµJé5ýû÷ç¿ÿý/ÿý﮿ûî»øùùÕh{AAx}ˆ™Áòôº>ÂÃÃùðñµµE[[ ̹sç”Θ8q"‹/ÆÍÍ ]]]œùöÛoY·nÝsì… ‚ ¯:13XÍdëõôô®ÛÛÛ³zõê _?oÞ<æÍ›€§§'cÇŽ­þF ‚ ‚ üCÌ V£[·n±oß> d㈠‚ ‹NÌ V“?þ˜+Vйsg,--k¹E‚ 5¯ùÂæ4·jÎÆw7Vk¹)Rð]æË°VØÑcFµ–­®ü¢|<xÐÍ­Ëß^^«m)KBV;.ïàdÜIï'R,)¦aý†ôkÖa­‡)<'¹XRÌéÄÓì‹ÜÇÅÔ‹¤ýÈt6El’|?™ùÇçsíεRËÞ±‰iG¦!•Jå×R¤ðËÙ_Meëð­èëèËÓä=àõï(¬§;w’ðäp¶ Û¢V——Í;Þ!ù~²üZhB(Ã7çÏÑbªoZaïm~ЄP•ë<üÑaÖWÿ¤÷ß'41”UgVÑÀ°J›B Š 8s # ÚÚ·U»Náå%‚AA¡Ú\K»Æê3«ÑÓÖc¿&àߨ-‚ã‚ùöè·ì‹ÜGŸ&}èæÖË·/³)bFuŒ˜Úm*~®~IŠ8tãsÍU*;ù~23ÿœI½:õ˜ø¯‰ø6ôÅXߘ¤¬$‡,æ`ÔA~ ÿ•;~,͹äsxÚxòsÿŸidÞˆÔìT\Ä¡‡˜ùçL6ÛL»6ÄLŒ)sI~Q>P2#Ùξ‹ãÖÀ´œ4¦žFhB({®íaD›5:¶ªè°´wÝ•ý/×ñß7*Íô}{ô[’î'±üíåèjéÖd3…ŒA„js0ê Ÿwúœá­‡Ë¯z¢©¡Éø½ãùãútsëÆá‡øÊ÷+Þnþ¶<ï°VÃx÷€E')”½ûênŠ$EÌöŸ­pÙµ+AožΟ7ÿT t X1`…ü6iÃú ¢Ï/}O ç40l RßLõMY9`¥üV´“©S»M¥×ê^D¥G©TÆóÞ©•Å™¤38™:•›oAð6ElbÒ“èæÖíù4Nxaˆ`PA¨6 ™ ¼áú†RšìZbV¢Âÿ;;wVÊÛŹ‹R0}7€q{Ç1nï8ù­b)Rù¿5ÐPxMS˦Jëå´5µéèØ‘Ø{±$f%ª zXyÈA{{ròsT*£¦…}†T*å~Þ}.¥^bþñù|sð u h ”_"•0óÈL~ø‰ÿšÈ‡í>¬…V µ­JÁ`XX))) Ïá„ÚóÎ?ÿ Âó&v[–¥&~/H¤ äÐ䲨U¦:íÔÓÖSºölðY‘ç±fPCCS}S|úbSφ޿ôfו]JÁ`‘¤ˆ¯öžÈ}|ã÷ #ÛŽT«áÕQ¥`ÐÍÍ }}}úôéS]í„J bäÈ‘xyyÕvS„×Äš5k05­xÃÀëÆÉÌ €ã1Çqkà¦v"öŽ¦Ž ÿ?Šw½ÞUÈ{2þ¤RÙ² è×Á¿ÒÉ©“Jí‰L‹ä^î=…ÙÁ"I§Oà`â ¿®EÅE*•û²Ç9Š3— óÙ®Ï8Šéݧ+ÜÒ^?U ëׯOýúõY´hQÅ™¡áååEïÞ½k»)ÂkâÀUœñ5Ó˽ËO/géßK1¬cHÏF=ÑÑÒádÜIfý9 €Þî%ß§=÷dEØ ¾?ñ=zÚzø¹úQ,-æ`ÔA~ýY©ì~Íû±üôrþ³÷?|ÙõK|œ}h`Ø€yHÈJàë`id©°f0·0—1ÛÇ0µÛT… $±÷bic×F᱉¾ Ñw£IºŸ„±Â8Õ¥&Ö †Ä‡°óêN4@à 1Ó7ãþãû„§„óý‰ïv?ÌȨm£¸pë³zÌbˆ×jo“ðrkA„jãaéÁ‡í>ä—³¿0ýðt¦ž®Ð$€îºкC¼†°)bþ˜ ”oÿõý לLøÖÿ[¦žÊ¤ƒ“J­L‡1 _·µoKbV"oÿö¶Âu¦wWl[‡쿾Ÿ7–?Yïøì9ƒ/¢‚âö^ÛËÞk{KMwkàÆèö£å_‹9Æù”óL=<•©‡§*½FÜ6~½ˆ`PA¨V“Þ˜„»…;ÎoàæÝ§n>@éväÌ3q4q”:midÉ`ÏÁ4Uµ„»…;kήálòY2s3130ÃÉÔ‰>Múè¨ßXϘÍÃ63ûèlÎ&ŸE"‘ÐÚ®5_ÿëkšX(ž1øß7IŠK ãAÞ…³ _d]veYÿe츲ƒëé×¹“}Ã:†4¬ßz0¬Õ0…³áY"A*­¬g÷kÖ~ÍúUøzM MFµŨö£”Òb&Æ”úšÖ- R¹&¬°²Â|æFæüØïÇRÓÊjKí:e¦=/ZZtoÔ]>ãZ‘@@¥ Yx½Uÿ‚AAá¥!‚AAA„טkÀ–-[ðõõåâÅ‹µÝAA„r‰`°’Ö¯_¯¯/W®(¯—INN&88˜û÷ï×BËAÙZ¾åo/¯í¦ Ol ©¤ÄÄD‚ƒƒyðàRÚ;ï¼C›6mðô|±#AAÁ` °··ÇÞÞ¾¶›!‚ ‚P¡çv›øØ±c|úé§ôêÕ‹·Þz‹Y³f‘––&OÏÈÈÀßߟðøñc…×&''Ó½{w† FQQ‘Êe>-88˜±cÇÒ§OÈܹsÉÌÌ”§ÿïÿÃ××·Ô™>YZNNÉã|þûßÿòË/¿ðÅ_àë닯¯/ãÆÊ^3X\\Ìï¿ÿÎðáÃéÑ£ƒfåÊ•äåå)ä[¹r%¾¾¾ÄÄÄpýúu>ÿüsüýýyÿý÷9~üx…cý´ÇóÃ?È[o½Å÷ßOnn.óæÍSêïÓõ^¹r…/¾ø‚ž={²lÙ2µÚ¯ÎX>[oDDcÆŒÁßߟ>ø€µú+‚ ‚zj|fP"‘0räH~ûMñ<ûöícÉ’%9r„V­ZannÎÛo¿ÍèÑ£©W¯kÖ¬   €ráÂNœ8¶¶¶ÊeBI3bÄ6lØ wûöíÌ›7ÌÌL´´´¸~ý:ÁÁÁ*õA–& D/]ºDBB@©›DJ[3øèÑ#üýý•‚›-[¶ðã?rôèQ,,,ˆ‹‹#88˜ýû÷óÍ7ß››+Ï¿~ýz¶lÙÂÀËô† ‚žž‡bÕªUŒ?žîݻӸqã*•/‚ ‚² ¥R)?üðVVV„‡‡cjj*Oëß¿?¦¦¦Ì›7°°0y ÷ÓO?Á_|A|||8«W¯–ýæ›oMpp0éééò™¸²êüí·ß¨[·.§OŸÆÖÖ€Þ½{ `KȶmÛªÜ~u(”ýúõÃÚÚš™3g²nÝ:æÎ[é²AA(]®Œ'##ƒââbH·nÝðóóã7Þà7Þ`ÿþ’çNFEEÉ_£¯¯ÏöíÛÑÓÓcΜ9¸»»Ë×ç©[f\\™™™øúú*‚2õêÕ«ÉîËÅÅÅ‘““ÿþõ/…@  ~ýú 0©TÊåË—Ò†ªT–ìö÷½{÷*¬óÑ£GôèÑCʸ¹¹Ñ©S§2_ûÞ{ïUKûÕõÁ”y­ªe ‚ ‚Pº”mÈÈÈ௿þ*3ßÓkâtttÐÒÒÀÁÁCCÃJ•)ÛˆÒ AƒÊuàÅÅÅUz½lƒ…™™Y©é²ëÏnÄ(-¿®®®Jm’õ½¬[×OϨ>ËÎÎNáëʶ¿4åµ»´¶ÊÊ~vS‘ Âë ;/›uáëhaÝ߆¾Ï¥Îe§—aadÁÛÍß~.õ µ¯FƒA[[[444hÛ¶-óçÏ/3Ÿ›››üß 0€ììlú÷ïÏÎ;™={6S§NU»L}}}4448{ö,………èèè”™_ˆddd(W¯^Uʯ¡¡ ÒšCkkkΟ?D"ASSqBöܹsØØØTX–ªdeEDD(¥I$…M%Ï’õMFÝö«;–2.\Pºå 4»)‚ð:ÈÎÏfIȆµöÜ‚ÁŸC¦¹Us…`piÈRìLìè׬ßsiƒð|aÏùñÌIDATÕèmâúõëÓµkW.\¸ÀÍ›7ñöö–Ãâëë‹££#‡VXû6nÜ8Î;Ç?üÀÖ­[éÚµ+3fÌàèÑ£j—iffFçΉeÔ¨Q GÉäääð¿ÿý‰D@Æ  ’_+**bÚ´i¥0FFFÄÆÆV8æææ´jÕŠ¨¨(&Nœ(ße+•JY²d þù'VVV´lÙ²2Ã\f-[¶äÂ… Ì;W¡Oß|ó 111j•¥NûÕK™Ù³g˃?(9Ø{ìØ±ôèÑCÞ ‚ •õ©÷§¼ÝBqVðÇÐÙuuW-µH¨i5~ÎàÒ¥K144d̘14hÐOOO:t耕•...Ì›7O~ëð÷ßgÙ²e¼óÎ;|þùçhii±yóf,--:t()))j—„¿ýö¶¶¶4kÖŒ–-[R¿~}¦L™"V† ‚¾¾>+W®ÄÞÞžöíÛceeÅwß}WjæååÀ˜1ch×®Â9ƒ¥ùî»ïÐÔÔäûï¿ÇÊÊŠvíÚamm-ßóÝwßUj3Ky¾ýö[ d'³µµµ¼Îï¿ÿ^¾Dv;¾"ê´_ݱ”±³³£}ûö¸»»Ó²eK5jÄ•+WðôôäwÞ©ÊP‚ *ú¤ã'âñk¦ÆƒÁfÍšqæÌz÷îÍ£G¸tégΜ!-- 777æÏŸ®®.×®]c̘1¸»»+ì µ²²bË–-dee1hÐ U.J‚¶S§NÑ©S'òòò¸ví—/_FOO)S¦Èƒ!+++~ùåŒIMMåìÙ³hkk³sçNš5k¦Ô¯Î;3bÄ 9wîÁÁÁå×âççǾ}ûpuu%33“sçΑ––† ëׯgøðáÕ<ò%»ýõWÌÌÌHOOçܹsH$6lØ ¿í*›á¬ˆ:íWw,e/^L`` 7nÜàòåËàççÇÁƒåï§ /Žbi1KB–°ÿzÉÆ½Ø{±¬?¿ž%!K(,.dí¹µlŒØ¨ðšÂâB–„,aIÈr ׋o½´•UgV=·ö?­¢¾ÈdæfrèÆ!V†­d͹5„ćP,-®°¬_ÃeÕ™U„§„S–GØ{m/ËO/g÷ÕÝ<*xTj¾ªŒ«*ý\vz;®ì 5;•%!KH%$e%ÉëX²„”) õ\½s•õç׳ìô2v^ÙɽÜò7: / ieÚû‡ì¬»§!)σˆ‰‰A"‘àä䄹¹¹<íæÍ›¤¦¦Ò¨Q£R×Î]ºt‰¬¬,Z¶l©°ù¡¼2Ÿ•––F||<ÆÆÆ¸ºº–º†0//+W® ­­‡‡ººº\¿~´´4|||”fïÒÓÓ‰%??<==INN&66OOÏR7EÄÄÄ––†™™îîîJkôâââHJJ¢M›6JÁš,­mÛ¶ kÊSPP ¿=Û´iS$ ...èëë¯R½ê´_FÕ±œ8q"óçÏ'""OOOnݺERR¶¶¶888¨ÔG –,YBïÞ½UÊ/UõùçŸcdd¤òÏ?u¥¥¥)<©§<1v¬%11/[©NùEùx,ð ›[7›7æ§ÐŸäi—þs‰/÷ɉØœwN'žfø¦’?WXÉ®oPP\@«E­hïО_ý¢\ÙSv]ÝEòýd•Û9¼õpLõËÞ4§J_ u ùöè·lŠØDAqÂkLX5pÎfÎJeyÙz± xÂúòA-1§×…2®Ü¾Âè£ÉÈÉ_372g¶ÿlÆlðVØÑcŸìü¤ÒãªJ?›/lNs«æl|w#á)á Þ0¸Ô1û}èï´whÏÝGw¿w<§O+¤ëëè3½ût´PîØ Š*óýlii©òäN)¶=×gÓºuëRÓ5j¤tlÉÓʺ½X^™Ï²´´¬ð<===¥chš4iB“&MJÍoaa¡tÞ_EÏ&vuuÅÕÕµÌt\\\ÔN+Í¢E‹5j”üHšììl>ûì3ÒÒÒ3fL¥Ê®¨ý2ꎥŒ­­­Ø0"/‘ˆ[>JgçÎ4±l‚ž¶:Z:ø8ùðçÍ? K “'!ñ!è ¯£Ï©øSòëç’Ï‘W”‡sùç¶BI0šªrûú4éSa0XQ_NÅŸÂÂÈ/[/lmÉ/ÊçzúuÂÃøú¯Ù6\ñƒ‹©9sŒ®.]qkàFZN®`륭4 ÀÛ©ä|ÝG³c 98›9ããìC±¤˜à¸`&˜¤ÔÆê×òúù4›z6ŒõËÒ¿—b[Ï–þÍûËÓlm)–óÑö¸rû vÆvtv錱ž1‰Y‰>Ê䃓qmàŠ§§Jã/ÔŽç ÏßÔ©S™8q¢|&4::šÜÜ\ŒŒŒ˜0aBm7O„WÀ½Ü{,|s! ×eHH|ˆ<89ŠŽ¨[§.!ñOo)û·*Á`¿fýhc×Fåö™”~,ViÊê ÀÌ3q©ïBXb·³o£«¥K;ûvÜ}t—ˆ[d=ÎR:ïåÞcYÿetsë&¿ÖÙ¹3_íÿб'äÁàþëûIÏI§³sgVX)Ê>fø¦ádæf*´£:Ƶ¼~>M þú¦Œõ«~0ê Wn_áͦo² `ZšOÖ¡_¹}…¿ `í¹µ,\\n=BíÁà+îË/¿$((ˆÈÈHùµ-Z°råJùSTAªÂÙ̹ԠÂÑÔ{{BJ’¬ÇY\O¿Î€0Ò5bϵ=¤f§bSφø,Œ,pkà¦Tγjòx“²ú%3}#·Œ¤HRTjú½G÷‚Á¦MA@~ŸyÆGÛ?R(£:Ƶ¼~ªãï„¿0Ð1`yØ“G¼J¥R¤H©§W+·¯T¹¡f‰`ð7cÆ ¦L™BBBØØØàèèXÛÍR0zôhüýýUºõ,‹ÇÉÌ©Ì4g6ElâÖƒ[\¸u©TJgçÎê–¬y‰ÁÏͨŒ(úzôU©¾šX3(SV_ÂÃX¼]-]º¹uÃÑÔ]4ÐàTü)"nE ‘J^c]ÏZ©Ù¿§Êy°3¶SÊooRú’£ªŽkyï™:d³–[.m©–ò„Ú!‚Á×€¶¶¶Êëüjƒºë Ax±hi”}DU'§NlŠØDHBR.`kl+ßhÑȼ§âOQG»R©T¥[ÄP³kËêËñØãüØïGù­Y™ëé×UnKiŒõŒHy‚…‘âô²‚ÞªŽkyï™Zm×/iû»^ïRß°~©yô´õª¥.¡æˆ`PA¨1ÞŽÞhijq*®döìé§htrêÄ®«»ÐÕÒ•çUEM®,‹ìÔ£:Š;6ÃÃ8}¬Je·²kÅŽ+;X²TiÍàÓ»}ŸVãZ]-]î?¾¯t½£CG¶]ÚF±´˜Ï;}ަ†â‰u9Ü~x»Êõ 5Kƒ‚ B©§Wf–Íø+æ/ ‹ éìÒYžÖÙ¹3kÏ­å@ÔÜ-Ü17*ûh°§ÕÆ#ѼlþyÐÀö1ø7öÇÔÀ”è»ÑÇcf`ÆÝGw+]v@“ŸZÌ©ÿ·ww1Mqǧ`¡ Ò‚³8+cs‹Q‡‹/QaU—ȦÓÀ2æ^/–,Æ—˜Åh5b4ñÊ/|Itj6óʘ0†Ìdѽ0ådÓ@ŒÙ„1ŽÖѳ #ÎŒX”¶§ô|?W¤<§ý÷$m~§çyžë%-¯Z.ÿ‹~…Ͱ.ܸ ¾ûC÷eÅy}’‚œµ´·hsÝfMvO–Ãp¨¼°\+¦¯Ð±Æc:ÑtB—Z/©¸ X¹¹ºÛWmwÚtùæe­š·J3'Îq ˆ Œr·ú4ÍG'’…/-ÔÕ߯*Å‘¢¢ŠŸ—?OΧB!½^ðº…F¶têR•N/U]KNþüh ™÷_{_YÎ,U_©~æçÎtfêË÷¾Ôšš5jíjUk׃ý_ÇgŽ×î·wk]ͺ!‹çyýlîgª8S¡Ó×N>6?¾|Ù>U}P¥Šo*tþúy¼úøö:Þ±^‚àS²âsL€Q.#ãÁÂ…þ~‡\®p„ÑÑ“š’ª þ z)÷És~ß™ñކC—gp~œô`.ÙÎ7wª£§C˦.‹u¹O4œ÷r ì€>™õ‰šo7Ë0 Í™4G… õ]ëw›6vpÎÜ“žëáÿ^ÿøª_S¯s¿žÓow“7Ë«’WJdš¦6ø7 ¨žå¼ç}®/^ÿ¿¹‹å…åš‘7C?ÝüIÝ}Ý2ejRöƒý`=.¾Zù•nüyC·ÕÕÛ¥œŒx 4×7÷±ífY0èPffü>ÇRœ;±BÄ["u ùå—4•–úôí·75eÊýÈHXzTW—¥³goûË;444 †BÀJÕÕÕ:sæŒÕeÀ&šššä÷oõk¬M™Rjª©k×ÒƒÀ(×Ò’¦©SC‘FшÂ`QQQäA@ø|>y<ž‘\OÅï÷'Ìw Óijöì~]¼˜¡²²áýš ñ„B†~üÑ¥­[»"Ž¢…Á@ ­:#ðÖ[A8cÉ|#ÑQ_Ÿ©þ~‡–, Æõu‘‡Ý»ïþ­pØÐñãã¬.À30M©ªÊ­7Þ*/oè–‡±B€$ÖêÕé‹/<êè`õ&0ÚÔÖf©¹9M7Æ÷±D€¤±zõeg‡µÿÐmÁ$¦ž‡öíËÕGukÚ´ø.‘ƒ4\.S;vtª¦&KµµYV—`Âa)˜ pXÚ´éŽ%5 ‰,]ÔÚµw´}ûsjhpY]€öìÉÕ÷ßgèèÑÛr»,©0I&èRII¯>ÿß}1¾æiLf1€ÑÃé45}ú=«Ë`1.lŒ0`c„A# ØaÀƃ6F°1 €lŒvtöu’_lŒ0`c„A# ØaÀƃ6F°1 €lŒ0`c„A# ØaÀƃ6ö/ß;Óh«À»IEND®B`‚fio-3.39/examples/rdmaio-client.fio000066400000000000000000000002631476262051600173030ustar00rootroot00000000000000# Example rdma client job [global] ioengine=rdma hostname=[hostname] port=[port] verb=[read/write/send/recv] bs=1m size=100g [sender] rw=write iodepth=1 iodepth_batch_complete=1 fio-3.39/examples/rdmaio-client.png000066400000000000000000001271771476262051600173300ustar00rootroot00000000000000‰PNG  IHDRSPZ³$bKGDÿÿÿ ½§“ IDATxœìÝwTgÛð‹¶ô*HQì£ ÖÅÞ¾ØKL4˜ÄÓ”Ä4“7b7vãymĈŠŒvEAA@A¤K›ï‘‘ea—rýÎáœÝ)ÏÜ3óˆsó”QAU†·ºª# """""ª˜L)É‘˜L)É‘˜L)É‘˜L)É‘4UQ}õôéS¸»»Kß½¼¼Ð¡CF$ŠÅ¤I“¤ïÛ·oGÓ¦MU‘¨¬¸jj¼•ß~û 7oÞDff&A@÷îÝaff†£G:wîŒÿüç?*Ž”ˆˆŠ0™""R‘¼¼<HßSSSUÍ YYYrqeffª0šÊŠ«&Ä;iÒ$ÄÆÆfÍš… &TjÿøøxtêÔI¡ÀÊÊJ:?MMþ·MDT“ð·2Ñ+ºpáÂÃà ªôþk×®•)KKKlذ¦¦¦hРV­ZU¥±QÕa2EDDrš4ié{Mï2WÛâ-MQ"}ûöÅðáÃ¥ï .Ä{ï½055}í±QÙ˜L)©´±:ÙÙÙØ°aÂÃÃ1tèPÌ;pæÌìܹñññ°··Ç|€F•Zntt4¦N*WîÓ§O±víZ$$$ C‡øøãѰaCdffbÆ 8sæ ôõõáêêŠÙ³gCKK ››‹Ê•¯¥¥´mÛãÆƒ£££ÜúÇcÙ²erÇ/ž $''c÷îÝ8þ<=zmmm4oÞï¼óú÷ï55µJ_ËŒŒ x{{ãܹsHHH€®®.Ú´iƒéÓ§£I“&åîû²xSSS±gÏ!11ÚÚÚhÕªÆöíÛË•UÚ=ÕÐÐÀêÕ« kkk 2Æ ìØ±;vìºøÀ¦M›àëë °°°€··w™±Ÿ>}ß|ó BBBä–¹¹¹•º}ic¦ªã~Q DD¤”°°0€ôãåå%èêêJßçÍ›'‚ üðÃrÛd2™°e˹eþþþ‚ Â7ä–¯\¹RÐÖÖ–[Ö¤I!""BhÛ¶­BÙnnnBaa¡ ‚­°¾ø¦¦¦°aÆrÏëÆÒºÿýï‚‘‘Q™åõíÛWHII©Ôuôõõ6lXjyZZZÂÕ«WË«¼x}||SSÓ2ã]´hQ¹ç¾eËÁÄÄDa¿¥K— ‚ K—.-÷ú6jÔ¨Üsß³gO¹û—üéׯŸÜþÕq?ˆˆ¨Âö3™""RRÉommmaÖ¬YÂáÇáÎ;¹sç555i›¡C‡ V®\)˜™™U(™211¼¼¼„ýû÷ –––Òr}}}ÁÙÙYØ¿¿°|ùr¹}þþûoA¡  @ð÷÷—~NŸ>-8p@˜1c†\BSæy%'—/_´´´¤åƒ8 ¬[·Nî\Þzë­ _ùDÑÞÞ^X»v­ð×_ ^^^‚‹‹‹ðï¿ÿ–WY˯]»&Èd2iù{ï½'9rDذaƒ`nn.-_³fM™ç®§§'|ùå—ÂÁƒ…~ýúÉ%ÃOž<¢££ÁÖÖVZ7sæLéz–{þ‰‰‰‚¿¿¿Ð¥K¹ëWüž <¸Ôdª:îU “)""e•|ðþàƒ¶yï½÷¤õvvvB~~¾´nÍš5J¦¾ýö[iŸ¹sçÊ­+jµA°··—–ÿøã/¿x«ÖÚµkË<¯¢ädܸqrç’——'íãíí-·ÏåË—A„…  ½{÷Vøyôè‘ ‚0a¹¤111Q.ÆÂÂB!33³Ü¸ÊZ>~üxiYŸ>}äÊݶm›´ÎÊÊJjÉ+YÖüùó¥}ÂÃÃåÖKëZ¶l)-ÿá‡^zíKzë­·¤ý'Ož,·núôé¥&SÊÜ""ªRû9fŠˆ¨ŠŒ9RaÙ•+W¤ÏnnnÐÐо÷ëׯBåöêÕKúlaa!}666–{/UÆ qïÞ=â8¢"ñññØ»w/®_¿ŽGáÙ³g111Ò6Eû•'88X.öâÓt——ŒN:!$$DnÚò"Ïž=IËÞyç4lØPn;555èéé½4¶Ò/;**JnRZZšôùáÇˆŠŠ‚ƒƒƒBï¼óŽô¹dlů±*(s?ˆˆ¨j1™""ª"––– ˲³³¥Ïrë +T®™™™ôY]]]úlnn.·]AAôYÀñãÇ1|øp¹8Jó²õ€ø>§"%c××ׇºº: ¶-OñwB™˜˜ThŸŠ*Cll¬Ü$%¥¤¤”º¼xòZòOE×XUªã~Qå0™""ªF7Ftt4±u¤¸ÈÈÈj?þ’%K¤DÉÙÙK–,A£F ®®Ž÷ß.ËÎÎ=ܹsGnÝÝ»w¥÷¢m`ÅŠøì³ÏÊ*JRìíí¥2¯^½Z‰3{¹âe1}ôQ™Û:99Ué±K3cÆ éžO˜0³fÍz¥ò”¹DDTµÔ_¾ )«x7±“'O"00€ØÍíǬöãïŠ6dÈLœ8}ûö…ººz…ºö7fÌéóñãÇqîÜ9b‹˜§§§´ÎØØXêfÖ®];¸¹¹)ühkkÆ'íˆ_ýU®Åçÿûnß¾]©8K‹7 ÆÆÆr1¸¸¸àáǸt錌Œ”:F‘â]>|Xê6—.]B@@p÷îÝW: Üý "¢ªÅdŠˆ¨}øá‡hÞ¼9ñ!·wïÞèØ±#š4i‚ôôôj?þ€¤Ï?ÿü3:tè€víÚaÔ¨Q°µµ­TYsçÎÅ›o¾ @<777tèÐMš4Áü@ã´~ýzW¨Ì9sæ oß¾Ò÷ùóçÃÚÚo¼ñÌÍÍ1jÔ(¥Ç&Í;½{÷ ¾‹©S§NpvvF·nÝ`kk Œ?~~~J•_\çÎ¥ÏkÖ¬A—.]àææ†Ÿþù•Ë.KuÜ""ª&SDDÕÈÐÐPî%¬ùùù¸~ý:ÜÜÜðßÿþ·Úïåå…Ñ£GCMM ‚ àúõëÈÍÍ…¯¯/¬¬¬*U–ŽŽüüüðù矣AƒÒ¹$$$@MM Ý»wÇ©S§0a„ —)“Éàëë‹ï¿ÿ^JîqñâEddd`Ö¬YhÕªU¥â,¢­­'Nà›o¾ àöíÛ8þ<âââ`hhˆ÷Þ{ .Tªüâ¾þúkéÀ………R+Txxø+—]–ê¸DDT9j‚ªGÐÕ>Þl™""""""R“)""""""%0™""""""R“)""""""%0™""""""R“)""""""%0™""""""R“)""""""%0™""""""R“)""""""%0™""""""R“)""""""%0™""""""R“)""""""%0™""""""R“)""""""%0™""""""R“)""""""%0™""""""R“)""""""%0™""""""R‚¦ª ""E‰‰‰ÈÈÈPuDDDuš¥¥% ”ÞŸ-SDDDDDDJ`2EDDDDD¤&SDDDDDDJ`2EDDDDD¤&SDDDDDDJ`2EDDDDD¤&SDDDDDDJ`2EDDDDD¤&SDDDDDDJÐTuDDôú §…û÷5‘–¦APuDDD¥Ó×/„¹yr!“ñ—Õ,L¦ˆˆê‰‚àŸôáãc€ÿÕÃÓ§ìœ@Dµ‡††€Îs0p`&†O‡±q¡ªC"‚š ðï‘DD5Mbb"222ª¬¼S§ôñý÷ «…®]³Ñ¯_:vÌ]Œ  Î¼Šˆj¨ÌLu<|¨[·´qæŒNžÔGa¡fÎLÅÌ™O «ËGYRž¥¥% ”ÝÝ›ÉQ TUÉTLŒ–.5ǹsz2$óæ¥ÀÎ.¯ "$"RÌLuìÞm„uëLadTˆ/¿|Œ3UÕR¯šLño‘DDuT` .FŒhŒäd ìÙ_Md"EDµž¾~!fÎL…Ÿ_,\]³1gŽ~ùÅŒc?I%˜LÕAûöaÚ4kôê•…?ÿŒ‡‹KŽªC""ªRææøñÇGøé§GغÕ}d…œ5U‡Eõ “)"¢:ÆÇÇ_~i?Lů¿&B[›®%¢ºkĈtüþ{‚ƒu±`% 9/½FL¦ˆˆê7´ñùç 1mZ*<âTçDT/‘Ž‘#ÓñÝwæÈÎfÓêRõb #"ªå>ÔÄ?ÿècÆŒTN8AD`„4¨« 8tÈPÕ¡PÇdŠˆ¨–óóÓ‡®n!ú÷ÏTu(DD5‚¾~! ÈäDTí˜LÕrÁÁºèÖ-ZZ|ŸQ‘ž=³påŠrsÙdOÕ‡ÉQ-wû¶ ­Z=Su¤Bغu+FމŽ;¢eË–èÕ«&OžŒ-[¶àÑ£GrÛâàÁƒ˜¡üø1–,Y‚®]»¢M›63f ‚ƒƒË=—W-77¿üò zôèGGGœ¹e HHHÀ¹sçpîÜ9lß¾““ƒ÷ßçΓÛ>55gΜÁ™3g0uêT|ñÅeoáÂ…8|ø°ô=""K—.Eaa!&Nœxòä F…¸¸8i»+W®`òäÉ9rd©åVElðóó+s=ÕVVâïŤ$M8;çª8ª«Ø2EDTËåä¨CO]üê³#GŽ444°gÏ„……!00{öìÁÔ©Saaa!mûóÏ?KÉJÆ ñÇàÆøý÷ßah(Öß¾};|}}K=Vjj*¢££qâÄ ¡k×®Òº;vHŸùå)‘Ò××ÇæÍ›qýúu¬]»>>>¥–]U±íÝ»¡¡¡ˆŒŒÄ€^zý¨nÒÓ_‘™ÉÇ]ª>¬]DDµœ €³øÕs:::Aƒøøx˜™™¡K—.øâ‹/°bÅ @^^¼½½¥ý>ùätíÚºººpuuŘ1c¤uüñG™Ç[¾|9š5k Œ=ZZ‡‚‚àèÑ£ÒòñãÇ£OŸ>Ð××Ç€0jÔ(…2«*¶+VÀÅÅ2™¬Ìm¨~(ú½(ðoMTØÍˆˆ¨–5j6oÞŒÂÂB|öÙgÄVªfÍšÁÕÕS§NEãÆ¬¬,i¿%K–`É’%¥–yûöíR—Ëd28;;Kß‹ZŒqìÖ³gÏžžŽŒŒ iyëÖ­åÊhÕª•B¹U›––Ú¶m[ê:"¢êÀdŠˆˆ¨–[¸p!š5k†¿ÿþ¡¡¡HNNFAAîܹƒ;wîÀ××W®¥¨"Š'6ÅéééA­XS¨š šEËŠM__êêìtCD¯“)""¢ZN]]£G–ºÜeeeáÖ­[˜;w.’““‘˜˜ˆ . OŸ>ÐÓÓ“’‘ÿüç?pww¯òxÌÍÍa`` µNݺu C† ‘Ö‡††*ìÓ¨Q£×QUâŸoˆˆˆj¹©S§bõêÕ¸~ý:?~ ™L}}ù—•æççCKKKn¼Ò?ü€S§N!==™™™ˆŒŒ„æÌ™ƒ;w*††,}ß³güýý‘••???üùçŸ û¼®Øˆˆª[¦ˆˆˆj¹˜˜üûï¿X½zu©ë5j„^½z»FFF"00?Æûï¿_ê>¯:öhÁ‚ D\\2331sæLb¢5räHìß¿_aŸ×QUa2EDDTËíÚµ ÇŽƒ¿¿?bccñèÑ#Èd2ØÚÚ¢gÏž˜9s& ºººØ±c|||pèÐ!„††"55†††°²²B«V­0pà@ôèÑã•b233Ãþýûñ믿âÔ©SÈÊÊB«V­0þ|¤¦¦–šL½®ØˆˆªŠšPòuåDD¤r‰‰‰r³¡•ÇÁ¡9V¯NÄàÁÛžˆ¨¾àïGzKKKéMJð~¥–©   Ü¿ÿUŠ "ªµlmmѽ{wU‡ADDD*òJÉÔ¯¿þZê R"¢ú`Ô¨Qr/%""¢úå•ÇLña‚ˆê£¢)¨‰ˆˆ¨þâÔèDDDDDDJ`2EDDDDD¤&SDDDDDDJ`2EDDDDD¤¾´—*lÙ²eÒçnݺaРAª ¦ÉÊÊŠ+¤ïS¦L½½½ê""""¢×‚ÉU˜§§§ôyÞ¼yL¦žËÊÊ’»6nnnL¦ˆˆˆˆêvó#"""""R“)""""""%°›U»°°0!11ÚÚÚhÕªúôémmíR·OMM…âããaoo¡C‡ÀKÇ%Uô8?ÆÚµk¥ï~ø!4h€cÇŽ!44ÖÖÖèÓ§7n\áØˆê›Gr°wï=tíjŽ®]ÍUÎ+©KçR•žâäÉ<¸ UQÄdŠªMtt4¦OŸ…uÖÖÖØ´iÞ}÷]¹å§NÂØ±c‘œœ,-kÚ´)víÚU渤ÊçñãÇreõìÙK–,ÁÅ‹¥eúúúøïÿ‹aÆÉÅ6f̤¤¤(ÄFTß$&fcõê0xx8×ú¤.KU MÅêÕapt4b2EDTvó£jñèÑ#ôêÕKJpñé§ŸbìØ±PWWǃ0lØ0œ:uJÚ'&&Ç—)[[[xxx uëÖ3fL•§¤É“'CWWóæÍƒ 33³gÏFNNŽ\lE‰”æÍ›‡víÚ•Q]fi©[g’ºt.DDôz±eŠªÅ?þˆ¸¸8@Ë–-qåÊèééZ·n¯¿þøôÓOqýúuÀªU«žž@l:þ<¬­­sæÌÁúõë«ä8%uî܇‚ššÆ‡îÝ»víÚÉÅfhhˆ‹/ÂÂÂðñÇcÕªU¯~шj‘† uàáá¤ê0ªD]:""z½˜LQµðõõ•>›ššÊwЉ‰‘>‡„„ !!666–¿ýöÛR"Ó¦M+5™Ræ8%Íš5 jjj€-ZÈ­‹‹‹C»víb+J¤±e‹ÉÕ7å3JOÏÙ3‰¸?ÚÚšhÓÆ]º”ÞêSP (( ááiÈÏ/DÓ¦èÝÛÚÚÒ611™8|ø>zõ²D‡¦8þ1BBž@[[½zYÂÞÞ Ô²<Ȇ¿ÿC¤§ç¡E Côîm…ˆˆ4…q@¥‹²Ç¬Èù¼nÅÏ¥}{Sœ?Ÿ„[·žB__ãÆÙ>¯UZÚ‹kõ²²Úµ3A``žÂÄD†Aƒl`h¨ÈηŸßCÄÇg¢qc}¼õ– ´´;ÃDGg $ä <Ȇ&:t0C›6&Õv-ˆˆª“)ª?–>#88¸Ìm‹’œâc‘Š'R`eUúìʧ¤âMÈd2¹u……… ›¥¥¥Ü6 6,ó˜DuUYãŒ|}ã±dÉU¤§çÉmß±£֭늆 u¤eׯ§`Þ¼‹ˆ‹Ë’ÛÖÚZ6t“ªcb2°zutu5°qc8üüHÛjh¨á‡:aĈ&reì߃eË®!7·P.†wßm¬0¨´sQæ˜=Ÿò¬Ys‚ðÒÍzz˜1£ÅK·+:™L ^^¡8{ö ukŒgoï,]*­:t0Å!¶e–¥­­.Wüç?·°gO/äåbÚ´@<|˜-­kÝÚû÷÷’’ʬ¬Ìš„àà$…côêe‰uëÞ€®.Qˆ¨æão*ªæææHJÿ“ìÑ£úõëWæ¶E‰’™™îÝ»@ UÜÇ«ì8%ih¼ø‹qQ UIÅcKLL”[W2V¢ú*,ì)>þø"òó´mk 3ddÀÏ/W¯¦`ÎœóØ¿¿7ÔÔ€øø,Lˆ´´<´oo†öíM!“©ãæÍT'aæÌ œ<9/þ›Ú¶-ùpw·…¥¥.nÝJŹs°té5 `-µŠ„„<ÁW_]EA€.]ÌÑ® ž<ÉÅñã X¿>¼RçTÑc*s>¥Y»ö6 *–M™›kW(™zq.QÈÊÊÇ!Ѥ‰>¬¬tò_~)­RRrqüx<Ö­+ûZmÛ‰œœŒiSSÎ{„°°§Xºô²!“©ãÿþ¯)44ÔqôhnÝJÅÞ½÷0yrs@ff‚ƒ“Ц œan®´´|\¸ðgÎ$bݺp,XкÂçFD¤*L¦¨Z¼õÖ[  ¶ê,X°òÝbpóæM©eÈÍÍ W®\?~)))033lÛ¶­ÊŽ£Œ^½zI±ùúú"))Iêê·sçN¥Ë%ªK¶l¹ƒü|S§:àóÏÛ¢èo‹µÆˆþ¸z5ÁÁIèÞÝ›6E --žžíñÿ×L®œ;¢°|y޹ šJËóò qìX?4n¬'-ûì³+øóÏ\¼˜Œ¾}Å?˜l߉‚óæ9ã£^Œ…òðp‚»û?•:§ŠS™ó)ÍܹN•j™ªŒìì|9ÒÍš½˜™ïÓO/¡ @€‡‡<<œ¥åÎ:ôt™e àëÛÖÖºÄB``\]-°e‹+d2±[ßĉÍðÖ[~8}ú¡”LhÁÛ»7 µpùr2’“ŸAKKƒÙ ..§O?d2EDµ“)RJpp0–-[¦°ÜÜÜsçÎÅgŸ}†ýû÷#!!¡¡¡prrÂ!C`llŒøøxDDDàâÅ‹8p ˜7o6oÞŒôôt¤¦¦ÂÅÅîîŒ”™’”9Ž2æÍ›‡-[¶ ##iiièÒ¥ †Žèèh¹)Õ‰ê³Ë—“¡¡¡†ùó[¡x#¯©© ³g·Ä_\ÅåËÉèÞÝIÐÐPCJJ.Ö­ ‡ R‘™™¸qã €ÉLjMä’ps³ÂŸÆ 1ñE—²«WŸ@WW~ØRnÛÆõ1fŒ6o¾Sásªè1•9ŸÒOþªš»»­\"W®¤@WWsæÈ×ÖVcÇÚcË–Ò¯Õðá¶R"ˆ]»v5GTT:fÌh!%Rд©llôÿ¢û£º:°uk$|}ãK-ÿñãg•>?""U`2EJ9þ<Ο?¯°¼eË–˜;w.,--ñï¿ÿbæÌ™8}ú4âãã±qãF¹mmmmñÖ[oIß›4i‚`ìØ±HIIAtt4¼¼¼Ð´iSìܹ ¶-Û¤Ìq”aooÿýï7nžQ]––‡† u ££ØbÒ¤‰>àéSq,UJJ. ¬ZVfy%Ç]x/RÔ:“Ÿÿ¢9çéÓ\XYé@CC±ÛnãÆú8“ÊS™ó)MuŒ™*RÚ¤å]+[Û²¯•••âuÑÕÕ(w]ZZ®ô}ÆøúÆÃÌL={6„••.d2u¨©©aïÞh¹ñ[DD5“)ª°¥K—¾tsóÑ›5k†S§N!""AAAHHH€¶¶65jGGGtìØQaÿþýû#** GŽA||<ìííáîîŽ .ÈmרQ#¥cnn.w.Å'Édrë¥ÏDTT|||äb+ymŠ^<ßiáÁƒlää($T±±™cc­çÛj"7·3g– (û¢Xcc>ÌAA $ÄÅe*UæËTÕùT瘩Ò¦ò®ÕýûÕs­àŸBGGÇŽõCƒÚÒrAvîŒBÃW‰ˆj&STa¥uë«GGG¹¤¤|+W†bÉ’¶ÒòÔÔ\lÚ!m®® ±oß=ØÙéÃÝ]qÖ¸Û·ŸJ“;TVÇŽ¦ðñ‰Ão¿EÈuõKHÈ‚·wL9{*¯ªÎ§:ÇL•¦S'39rëׇËu1¼? û÷ß{åòË¢¦¦MM5…)ã7lÇÓ§¹01‘•±'QÍÂdŠj”ß~û @ß¾}áàà€ôôtœ:u QQQÄ™÷¼¼¼T%•fúô8z4[·FâÒ¥têdŠŒŒ|œ:õ))ÏСƒ)ºu'nùàGøúëŸè† IDAT&`þüKؾ=íÛ›ÂÐP IIÏ‘†7ž`Û6W4j¤÷’£*š2ÅGÆã×_Å©»Ûµ3}>›_|±‡÷ f,TUçSc¦J3eJs=‡U«Â˜$7›ŸŽNõ="tìh†7ž`ÈSèß_|eÅåËɸu+•‰Õ*L¦¨FéÑ£|||pøða…uX»ví+M$ADÕ§U+cxy½%K®àúõ\¿þâýlEï™*ê¾Õ¸±>víêùó/áæÍTܼ™*W–³³±R‰´oo OÏöøæ›\¸ð.ˆï£ëÐÁ}úXcåÊPèéUíÕy>Õ©];S,_ÞK—^ÃÅ‹qñ¢x­Ú·7ÃСñí·!Õr\'%áÎ4lß ÐÔT÷ßvÄîÝwÞÕEDTS1™¢eÆŒxï½÷àïïÈÈHddd Aƒèر#\\\Ê|½^––º /ì€Aƒlàêj3g—™LmÛš¢K— e´jeŒ¿ÿî‡+W’qóf*²³ `e¥‹–-àìl,mggggtì¨XFѺvíä_ˆ;~|Sôîm ÿ‡ÈÈÈG‹†èÝÛ _} €üÄ¥‹2Ǭèù¼nå Œm‡=Âßÿ!ÒÓóàà`77KDD¤ÁÃÃYn¬Wyeõìi }}-¹1PEÞ{¯ž=+¾›˜ÈàãÓ§O?À½{02’¡W¯†°±ÑCa¡ 7YQM¦&í­hôèÑooï* ˆˆ¨6¨î߉‰‰ÈÈȨжͱzu"®ØöõÁÍ›©hÝÚDn"ƒ›7S1fL ´ôv©2QÝÂßô2––– ï(­o¶LQ³jUîÞM‡‹‹9ÌÌdˆŽÎ€¿ÿC˜4©)""ªL¦ˆˆ¨ÎiÛÖÿüó11òÓ{i‡Ù³[–±Qå0™""¢:ÇÃÃ#FØáòådÔ¿ùfCU‡RgÍë„îÝ-`e¥«êPäÔ§{oc£‹?þè ˜1#PÅÑQIL¦ˆˆˆ¨T†èÚÕ\ÕaÔkººšÒ=ÐÔd‡"¢š†ÉT ³oß>lذ^^^èСC¥÷ß´ivïÞ-[¶ÀÁÁ¡"¤zoß>`ÃÀË P¢ŽbÓ&`÷n`Ë€u´NHMÍÅï¿ßEHÈhk«£O+Œi‡Ò^AxáÂcüõWîßÏ„L¦Ž¶mM1n\S˜›kËmwûöS8‹û÷3!€>†µEëÖ&€C‡îcëÖ;oïœ;÷HÚw÷îžrãzºu3¯P|YYðñ¹k×RðàA6 4ѱcŒÕÆÆ2i»âewîl†;£pûvŒµ0~|S¸¸4ܺ•Š={¢Ÿ…Æõ1}ºìí ®Ittþ÷¿DD¤#?¿M›`Ô(;8;+u?^'Þûú{ï‰HÄdª†¹ÿ>ššªÔþwïÞE@@222^¾1‘2îß%ë(îÞ÷g­’“s1l˜?ââ^ŒŸ9~<7o¦bÙ2ùAòßÛ¶EÊ-;uê!¶oÂæÍÝÑ©“àÀX,^|‚ ¬­[#ñŸÿ¸ÀÝÝññY { ˆ‹ËD\\¦Ü¶Eãz:uj€¼ñÒøRSsÑ»÷qdfæË•ã뛀­[ï`ÿþ^hÜX_®ìöíMñí·×‘˜˜#mÿ×_qؼ¹;23óññÇQPðâ$þþ;¾¾ý`a¡#-Û½;žž×å¶;s&ÿýï]|÷]GŒeWò’+˜8ñ¬Üþå11‘aýú®ÚöexïUï‰Hõ˜LÕ0cÇŽ…‹‹‹R­RD¯Åر€‹‹r­RTçlÙ-Œðý÷`i©ƒ[·R±~}8þøã.fÍj=À‰ ض-ššj˜<¹9ÞxÃééyøóÏ'aîÜóð÷mm ©ÕaÒ¤æpuµ€¦¦îÝËÄ‘#÷‘––6̆†šøæ›ŒmaÃl_)¾¼¼Bhi©cút´je‚ ´‘––‡óç“°gÏ=¬^}+Vt–+{ûöH´nmŠùó[ÃÔT†3g±k×]|óM’“ŸáÝw£k¨««á÷ߣpþücl݉Ï>k¸r%Ë–]‡žž&Lh†öíM!“©ãæÍTl߉¯¾º†nÝÌ¥ù²\¸ð¸ÂÉTÉV WÁ{¯ú{ODªÇdª†±µµ…­méÿ1Õ¶¶â{{üùgohkkz÷¶D^^!Ö¬¹kמH¬{÷Þüøcg¹‡_ww[LštAAI8uê!nMMu8:áë¯ÛÉkÊ”æHO¨5ÒC«Vb·¯ÆõÊ×SÑøLMµqìX?œ8ñ‰HN~†¼¼B€L¦ŽK—’ÊnÞÜ{÷ö„––8Ž¥O+„‡§áÂ…Çxï½fr­Ý»[ {÷c¸v-EZ¶mÛ ضíM©e¦¨œÌ0uê9øøÄãƒ˽»võPhÉ)KQ¬U÷^õ÷žˆT¯Þ$SÅÇåååaݺuˆŒŒ„¥¥%¦L™‚>}úÈmÿÝwßáäÉ“8|ø0ŒK]÷×_ÁÀÀ@¡üŒŒ lܸ111hÑ¢>ýôSØÛÛ<ooo¤¤¤ K—.X°`\ùe™*((ÀÞ½{áëë‹ÄÄD˜™™¡oß¾˜4itttPš«W¯JqØØØ`Ú´ièÑ£‡Ü6‚ àØ±c8tèâããahhˆV­ZaÆŒ°±áûC*$) ˜800vít‹Ízuÿ>0m`i ìØh–óO®øX¢¼<`Ý: 2RÜwÊ DÅwß'O‡%ꨴĸJ–Ÿ‘lÜÄÄ-ZŸ~ <¯£8xðöRR€.]€ äË/kÌTA°w/àë $&ff@ß¾À¤I@uW¯¾ˆÃÆF¼V%ê(8v 8tˆ V­€3Ä}H¥ j$=¬iÓÆðäÉ3iÙíÛO¡«« wwùD\M 7ÎAAI KÅàÁ0kV ÌŸ Ÿ|r}ûZÃÙÙÍš@]] ††ZÕ_RRÆÿW¡ËX‘¢ùâ´QHNœqáÂc¼óN#¹åFFZ°±ÑÅÇ/º…]¿þjðò  Võ¢¤(?_|˜ŠJ{é9¾ñ†j&ˆà½Wý½'"Õ«7ÉTÑX¢¿þú _|ñ²²^ô¡ÞµköíۇѣGKË€¼<Å_¢Eëòó_ô¯.*ÿÀøê«¯›› ðõõÅþýûqéÒ%üüóÏX½zµ´ÏñãÇqêÔ)¾˜ê´´1S™™™4hΞ=+Ǿ}û°víZøùù¡aCùéa;†eË–IqÀöíÛ±fÍÌ;WZ6}útlß¾]á¿ÿþ{„††¢Y³f¥\M’caŒ ÌšÛ¶‰ËssÑ£+W€þ)?‘^Œ%úë/à‹/€bu»v‰IL±:а0qûRꨴ®X•Ê?pøê+1>@L~öï.]~þ(VGqü8pêP¬Ž–:f*34(QG±o°v-à用£8v X¶ìE°};°f P¬ŽbútqyIß„†¬£*el¬ø€«¥%Žî/,|±ìÙ³Bi–:1AÑÿgÏÄÞy§1Zµ2Á_ÅáÀ„‡§áÙ³B¼ûncÌŸß FF¨®h|«WßF\\&ºw·ÀС¶°´ÔL¦555|öÙe¤§ç+”SZššjrç$¿NYY/ê{VV &•NNa™ëЍjÌï½ذaüüü0|øp„††âóÏ?G·nÝðøñcxzz"((GÅ;ï¼Sf™Ÿþ9Ξ= ,^¼ÎÎθwï~ùåܸq³gÏÆäöYºt) „ñãÇCGG¾¾¾Ø¼y3>ùä 0-[¶Drr2vìØ,Y²mÚ´ANNnÞ¼‰Í›7Ë%œô3gAAâC¿««ØjòÉ'Àùób Ž«kÅËZ¼x÷]`Ô(±Uéȱ5iÉùdJY_}%&Çb+“ŸŸø=4øüs [7àñcÀÓS<¯£Grê(>ÿ\L¤,,Äø{÷€_~nÜfÏ“¸â–.°ñãÅ–+__`ófñº ´l $'‹-z&&âù·iää7oŠÛ²ŽÖ ê 22 ‰‰9°´”o©¼qCLÌ--_´ê6mj€>r’¾ß¼™Š‰Ï"))GJŠÎ…Šöq+Çõë)01‘açÎ7¡®þâ©?+«IIÏ ££QÎÞʱ¶ÖEnn!~û­44JÉ4˜™)>˜—¤ª1SÅ{¯¨ªî=©^½K¦&Nœˆ-[¶H߇ ‚;wî =Rhᩬ©S§bãÆÒ÷ÂÚÚ—.]‚··7F%­³¶¶ÆÛo¿ààà2“©üü|lÛ¶ :::8{ö,_ôŸ;v,œœœpèÐ!$&&ÂÒÒRZ÷î»ïÊ%XLJµµ5<==±cÇüðÃÐÒÒ‚ ˜8q"-Z$m;bÄ,^¼……ü«X¥¬['v[ûè# :X¿3˜7¯råLœ(&OE† îÜ[ƒ=Rlᩬ©SÅ®uE¬­Å–)oo1‰+bm ¼ý6\v2•Ÿ/¶Æéèˆ U±:бc''±‹^b¢Øe±È»ïÊ'XÇ‹Çóô¨~´´Ä¾/'Åê(FŒ“6ÖÑZ£gφ¸s' ‹]†—W˜šŠŠ/&ã·ßÂ¥m`ÅŠ[9² š77”ö·´Ô––:.\x,-ÓÓÿ ‹-½{VekáîÝt„‡§IÓR?y’‹%K® '§ Z¨´ÆêÕ·áëùó[ɵh¤§çáàÁX¸¸¼¼ ŸªÆLUï½¢ªº÷D¤zõ.™š0a‚²N:! ÉÉɯœL;V5k†Û·ocذarëÚ·¨ÆÅÅ•YÞÝ»w‘‘‘·ß~[.‘€ `Ô¨Qظq#BBB0`ÀiÝ´iÓÊš6m<==022‚‡‡¶nÝ ™L777´k×Mš4¶öëÿëe­§« üù§8ÓÝ÷ß‹IÄÖ­•/§”:ŠNÄd*9ùÕ“©ubW¹Û·uÏë(Ê©£¸{WƒõöÛò‰4h &g7!!b‹S‘Rê(¦M“©çuFF€‡‡xe2ÀÍ h×hÒ`­UfÎl#GîãܹGèÙÓÍš ##_z—ÐèÑöpt4ìØ‰M›"`f¦ [[}äæàÎ4äç èÝûEBÞ´©tu5qà@,nÞL…‰‰ø@º{wÏJÇׯŸ5.^L†»»?Z¶㈎΀®®5ÒS˜6»*̘ሓ'`÷îhìßöö04ÔBRÒ3ûLœ–½h¬Óš5âíVV/º Y¾\œ˜ãyELÌ‹ÄèyEx¸8Ç”)âq±åïyE@“)11‘•ù~ŸòÖbK……EÓåcf¦ 3³—wçÔÓÓ@Û¶ò-®ÊÆgb"ƒ‰‰|+k›6& Û”µ“&úhÒ¤ôévíJi~NKKNN5¯Kך5·±{w4Þ~»&NgÎä½½÷>!! \deU}—C"z5õ®›_E?ºººØ´ilmmѵkWXYYaÅŠ ‰Ku[±bÔÕÕñóÏ?ÃÊÊ o¼ñ¬­­1ïùÄ+V¬PèBظqctíÚNNNhß¾=qãÆ tèÐA×õäÉ,Z´VVV°³³ƒ««+œœœÐ¯_?@×®U3}n½ðÇbB3v¬8­·††øÎ%KKq TycŽ”5~¼8NkÓ&ñ%º]»ŠIËŠЉKu[±BLæ~þYŒá7Ä«¢É7V¬PìBظ±³““¯££8ó_‡/Æu=y"N++ñ=KOžˆ³ú•7îHVVâÄ ÆÆ@Bp႘°8 N!þ:õëøøâË~/^gï³±»ä•RG±jàî.¶>…„ˆÝ$ûõß?U4FÌÉIL¦,,€ØXqšöðp±[ã×_¬£DÕâÍ7â?zJ?'6WuHõ–®Ü½øæ›/߉ˆ^5áf(z/“··w•T]îÞ½‹ØØX¸¸¸ÀÀÀ Ôu]ºt~‰ rrrpãÆ hjj¢uëÖÉd Cbb"zôè!µ•WþåË—‘““ƒ7ß|Sny^^Î;KKK8;;¾ýö[|ýõ×8wî\Ky7Qdd$aff'''¨•x bÉ8âãã‹FIÝ÷J÷ïßGBBÌÍÍagg'MŽQ[¨©©áã?ÆÊ•+_ÿÁ#"ÄdÆÑQq\\¿.&TíÛ—>ùC‘»wÅ„ÁÅEœa¯´u]º(Nj‘“#¶èhj­[‹‰HX˜˜Ìôèñ¢E¨¼ò/_Ë)QG‘—œ;'¶°=¯£øö[1‘9w®ô÷gEFŠÇ63“¡’oê,G|¼ø½Q£Ý÷JñeÁ b"eg÷br ©î߉‰‰ÈȨXk€ƒCs¬^ˆÁƒÙz@DT?ÒËXZZ*<»W‚w½I¦j‹¡C‡ÂÇÇQQQhÖ¬™ªÃ©5TšLÕ7C‡Š­PQQâ”êõ“)"¢š¿ée^5™b7¿â×_…££#|||дiS4mÚTÕ!ÉûõW±õÍÇGœšœu”ˆˆˆê9&S5DDDîܹKKKüþûï Ý÷ˆT."¸sGìò÷ûïŠÝ÷ˆˆˆˆê&S5ħŸ~ŠÄÆÆ*¼ЍFøôSq¢ˆØXÅ÷CÕC|ÏT áèè¨êˆÊÇ:JDDD$‡-SDDDDDDJ`2EDDDDuVFF²ªC :ŒÉÕQáéù–,Y‚¤¤$UCu“)"""%>|¥ŸåËCTÒKEE¥ËÅÐÓÓäåbòäs¸|ùÅʹ… JBpp<=;`„¦å–]Xøj­Ï-[’Êzssm~¥ã©M׈¨>iß¾=<ˆ>úcÆŒÁÊ•+Ñ¿U‡Eµ »ù‘ÒŽ‹Ç°aMpêÔ@ܸ1{öôDË–FˆŠJÇo¿½˜ü`×®»¸|966zØ´©®]‚ÿ'¨©©á»ïn ))G¡ì#ìpò䄇Ñ#}1gNKìÝÛ ðÉ'­9\ú©©xˆj.SSSìØ±îîî˜3gÇ^S¥±eŠˆˆ”Ö¾½~ü±ÔÔÄï]º˜cãÆî0à|}ðÉ'­ÿX½ú tè` 00Є‡‡3=ÊÁÞ½÷pêÔCŒg/•Ý¡ƒ)¾ÿ¾£Tö« V5URmºFDõ‘¦¦&–/_333,Y²™™™˜}°mÛ6øùùìíí1eÊ”rÏ¥²±Tæ>¼NWb¯ <ôlÑ]ì»àÐÕC¸vÿ Z=Y‰ú—•Š¡'ý8ZZp±sA/Çu$ÌgïœÅìÞ³aªo Ÿë>ˆ| K#K¸wp‡™~õ¯’e›è™à裈xÎv1°õ@FâÄ­˜òæ…$$-; ~a~ˆJŠ‚žLštB÷敨É1ð óCbZ"ÌôÍàÖÒ NV%îy±øŒtpøÚaÄ$ÇÀÆÄCÛ…‰^±úô;Nß~^ÿÎnƒ_èóúgn)®SÊ=—ÊÆR™û@×£GCôèÑð¥ÛéèhÀÃà Nån׫—åK[P:t0•Þ¥TðÕN­[·Æ'Ÿ|‚•+W¢_¿~hÞ¼¹ªC¢FåÉTaa!fϞ͛7Ë-Ÿ3g222°sçNÌ;W.™Ú¶m>ù䤥¥ÉíÓ³gO8pæææÄ‡øŸ~ú :uÂâÅ‹qûömiÛ àÔ©Shß¾½\•-»M›6X´h¢££ˆÓj%Sžžžpss“K@¶nÝŠùóçãéÓ§rå÷èÑ/mBþüóϱbÅ HËÔÔÔ0}út¬_¿ZZZrñµnÝ .DLÌ‹î%æææ8xð zôè@L¦üýýÛ·o—¶ëÝ»·”L•v.•¥2÷áu) 1{×llþ·Dýë3Ï2°3p'æö+—Lm;» ŸìÿiÙ%êH‹ž8ðá˜<¯#¡~øÉ÷'t²ë„Å.Æí‡ÅÎÛ N}z ímKÔ¿J–ݦQ,úsÑÿ³wçá1]ÿÇß“}—D6YI$¡¶khHŠ]U«Š†ÚÊWUýª~õ§¶ÚÕRTíEU”PÄ–Ä.‰ˆDV‰ ¶lóû#fdL"3YŒå¼ž'Ï#÷ž¹÷sî=ó™{n=iïü§8™z2ÎÈ×ÝW!YºŠ‰NäÎÃgÚŸ«G¾:‚–¤œö·ã[fí›EaÑ3÷ÜgK-EW[W!¾†ö ™´m‰Y%ÚŸ‰;FïÀÇõIû;ù‡cž´¿ã%Ú_ý·‹“©2ê¢n,êÜAP×øñáŒÎ!.L™ÒXÓá88˜aÆ¡££C·nÝðôôäñãÇ8p€cÇŽñÉ'Ÿ°gÏ…׌1111aß¾}DEE1fÌŽ;V©c5 ===†ŽƒƒÃsŸ0mݺ•áÇàíí··7ÚÚÚœ9s†ÐÐPŠŠŠž›L-Y²„3f ‘HèÞ½;žžž\¿~;wòÛo¿aeeÅŒ3^3zôhôôô ÄÀÀ€ƒE¯^½ˆ‰‰¡fÍš <˜¢¢">̧Ÿ~*3õ¼n}‰EÕûð"Í?8Ÿ•ÇV¢­¥MϦ=©g]Ø´X–þ»k“RÚßù`†­†Ž–Ýwó–'ós êÇ®ã“ÕŸ°gÜ3íoÝt´t숉¾ û"÷•Řc86ùX¥Ž=jÃ(ô´õÞ~8æÏ}´5b+Ã×>iÎÞx;{£­¥Í™Ä3„Æ…R$-zn2µäðfüýäž7îŽg-O®g]gç¹üvì7¬L¬˜Ñû™ö·q4zÚzvÄ@×€ƒÑ‰J‰¢×’^Äü/†š&5Üf0EÒ"ÇæÓvŸÊÇL=oŒTEbQõ>‚ BIÚÚÚüøãôë׿ÿþ[L—.(Ðx25wî\´´´8xð ¾¾¾òíÁÁÁô쩼Zý·ß~‹‘‘G¥yóæòíR©”¾}ûDLLŒBW38€¡¡!3fÌ qãÆ?~œ»wïbffVác;::räÈLMMË­ëwß}'"£FRØжöóûµÿüóÏlß¾^½žvï8}ú4íÛ·gÁ‚L™2cccù¾ZµjqìØ1y 0`AAAüþûïLœ8‘ÁƒsãÆ >ÌСCåO¬ª:UïË4÷Ÿ¹hI´8øŸƒøºûÊ·Ÿ¦ç’RÚߎo1Ò3âèWGi^ç™6²¬/AgƒˆI‹QèjæbíÂÿÀP÷I½ fÐxZcŽÇçîû˜šUøØŽŽ™tSÚߎ'íoÐFù>ÓþâBÑ–”Óþö>¹çŸo§W³÷<á4íg¶gÁÁLé6cýí¯F-Ž}uL^Ç‚¢,@ÐÙ ~?ñ;;Odp›ÁÜȾÁá˜Ã õ*bUÕ±¨zAN8i: µ¸¸˜Š‰(AMMš4! €ùóçÓµk×r?³ o&S‰‰‰¤¤¤Ð¹sg…D oooÂÃÃåÛRSS‰ŠŠÂÅÅ…½{÷²wï^¤R)Ò' xÈžêDDD($<“'O–€ÐÓÓÃßßŸØØXRSS133«ð±'Mš¤R"•œœÌÕ«WñööVJ¤€r˜7nœœL»ví’€V­Zѯ_?6nÜÈÙ³giß¾½BÝK&):::üøãqüøq&NœXnìUKy÷áEJÌJ$%'…Î ;+$RMðvö&üz‰öw'•¨”(\¬]Ø{y/{/?ÓFž<Õ‰¸¡ðLî:Yþ@OGObÓbI½“Š™¡Y…=©Ë$•©äÛÉ\Í¸Š·³·R"”›ÀÜȾAòídÚ¹¶SH^ZÕmE¿ýØxz#goœ¥½[‰{Þu²B’¢£¥Ã?t6ˆãqǙعí¯±”wÕ©2fçM'®‘ ¼^ÆŽKçÎÙ±c}ûöÕt8ÂKB£ÉÔíÛ·²»“9;;+$S™™™ÄÇÇóý÷ß—yÜgÇ#99)khbR¼ða~~~¥ŽíææVfÙ’²²²pww/§dédת^½z¥î— ˆÌÎV\ì±n]åÙŸdÛdÇ|Q±¨r^¤Ûž´¿2f‰s¶rVH¦2ï=i#™ñ|¿ó9mä™ñHN–¥Ô[ÿI½ ó+ul7Û_î“ögWÁöwÿÉ=·.ãž[?¹ç÷ŸiV¥´¿'Ûd×ÿEÅ¢Ê}A„²Ô®]›^½z±råJúôé#ÆN €†“) €2ƒ}v»¬|ƒ èׯ_™Çõöö®p,ê[GGµKX³fMbccÕŽ­d|×®]+u||<€ÒÌx Jã¸d“eÈŽù¢byÙX=iY×KÝÿì"±²ò ìЯùsÚˆsÚ_­£­bû3yÒþÒ*ØþŒŸÜóÌ2îyæ“{þÌÌx ·”ÆqÉ&ËÕùEÅ"‚ •5tèP¶mÛÆñãÇU!¼þ4šLÕ©S{{{<ÈÑ£G¦ÿ믿žJAñ“ 777RSSéÛ·/o½õ–Â~©TÊ?ÿü£0ÞIUÕyl([åææFxx8+V¬ 00PaÿñãÇiÛ¶m™ßrÔ®]GGGŽ?ή]»xÿý÷åû"""ضm†††xyy)¼næÌ™ôèÑCÞ±  €ÿþ÷¿´k×N^ÎÀ x!ÈgŸ&Ue,/›:5ë`onÏÁ¨ƒ½rTaúñ¿.þ¥ðT ŠŸl¸Ù¸‘š“Jßæ}yË¡”6õÂx'UU籡xl•›á×ÃYqtžiqÇiëòœögYG GŽÇg×…]¼ß¤Ä=¿Á¶3Û0Ô5Ä«ö3íoßLz4é!ïŠXPTÀƒŸ´?×íOçIû»¯Bû«`,‚ ‚PYnnnx{{³aÑL ÀK0Å„ ˜4i~~~ôìÙ“ºuërõêUvíÚ…  ðfÍšEïÞ½ñòò¢S§Nxxx```Àõë× #!!‡Vh``u`úôé 0€#F°jÕ*ùl~œ8q‚üüüç>éúúë¯3f ={ö¤{÷îxxx˜˜ÈŽ;ÈÏÏgòäÉ >@ñ83OOOºw¾>!!!DFFbeeÅ!Cäå\]]˜8q"¡¡¡É×™ªªX^Fü'0iÛ$üæúѳYOêZÕåjÆUvß…© ÷2P¢ýõEï_{ãõ?/:ytÂÃÎ]®g]',!Œ„[ <\úm­ ´¿j<6Àô^Ó°|#Ö`Uè*ùl~×#8‚üåùèHžÓþÞýš1ÇÐsIOº7‰Y‰ì8·ƒüÂ|&w¬0á3óüÞ“îMº£¯£OHt‘)‘X™X1¤íy9W›'íïω„^ ÅHÏH¾ÎTUÅ"‚ U¡_¿~|ûí·›\Ì—[¿dù‘íïÉ:S²®‡]ßêJûD¥D1{ÿ“ö÷d©ªŠEAªÂ;ï¼Ã”)S8pà}úôÑt8‚†i<™ÒÖÖfÕªUŒ5Š#GŽÅ3ÛµlÙwww¬¬¬ä]ÐdHÏž= !66–¢¢"œiݺµÂ$þþþ`gg§t^Ù>Åé«âØmÛ¶eêÔ©J“kŒ9’>ø€ýû÷“@5ðòò¢U«V*]¯3f0bļ(ÚZÚ¬úd£|GqäÊ“öçêC˺-qŸâŽ•‰ºÏ´¿–éÙ¬'!Ñ!ĦÅR$-¹¦3­ëµV˜äÀ¿?ºØ™•Rï'ûlÌžiUpl€¶®m™ÚcªÒZM#ßÉÞ°?r? ·¨aX¯:^´ª«bûë=ƒoà`ÔAÒï¦cilIGŽ 3 –Tß¶>Q?F±ëü.³q°pàý&ïcnôLûÓ5 ü»pö\ÜC\F Ëc/«.ªÆR‘û ‚ e111¡]»vìß¿_$S©lîå MÔ°uëÖJ®4±ÃâÅ‹;v,½zõ"((¨RÇ}ýõ×Ìœ9“sçÎÑ´iSM‡Sí$ ãÇgÞ¼yj¿6üz¸ÒÄ‹-f즱ôjÖ‹ Q¢ý©ëëí_3sßLÎý÷M^ÏöWUÿÊ’žžNnn®Je]]]X¸0÷ÞS­¼ ›¢ºþ>®[·Ž_~ù…ˆˆ±æÔ+ÎÖÖV>»tlÕø“)€N:ѨQ#š5k†®®.?~€ñãÇk8:áu×iN'96¢™S3tµu‰HŒàxÜ“öç/ÚŸ ‚ ŠZ·nͽ{÷ˆŒŒ¤qãÆšGРç’xAZ¶lÉÉ“'Yºt) ,àøñãèëë³hÑ"…þ¡:´¬Û’“ñ'YúïR„,àxÜqôuôY4p‘ ‚ hÞѣ鸺î`Íš8M‡Rªàà$\]wȦO¿¨éÊ´}{"®®;Ø·/¥ÔýË–]ÁÕuééª5ŽK—nã꺃… cäÛRR°pa ááYUvžUŸªð²Ü›ÊŠ¿§ð~èÓç_M‡Te\]]±°°àÌ™3j½nÏž=|øá‡DGGWSdU§°°°°0f̘ÁG}ć~XñññüôÓO :”1cư~ýzòòòª¬üËè¥x2BDDçÏŸ'33{{{:wîL­Zµ4Ú+«¼1]ÂS!Cˆ¸Áù¤ódÞËÄÞܞΠ;S«†hUÞ˜.AxÝuíê@ýúf4mZ±õÔ^¦Ð°¡9¶¶å®[[CÆó¤U++ù¶””‡,\¶¶oïšÏyµê^T}^„W¥.––úŒç À²e[çðe%‘HðôôäÊ•+j½.55•°°0îÞ½[M‘U””zôèÁ;w¶•ùšðÅ_($Cûöícûöí¬_¿^i–guË¿¬^Šd  E‹´hÑBÓa¼6üýýñ÷÷×t¯ŒÎ-há,Ú_Uñ÷ôÇßS´?áÍÕµ«=Ý»;j:Œ ËÊzÌÅ‹9Œã^íç²±1`ܸÒ'±©*/²>ÕíUª‹……žüÞ¾¬O“+ÃÝ݈ˆµ^Ó­[75j„§§g5EU5>|Hnn.ÞÞÞøùù±nÝ:nÞ¼YfùÛ·o3iÒ$òòòèÓ§ï¾û.·oßféÒ¥\ºt‰Y³f1mÚ´ —™½4É” ‚ðj¸zõ.{÷¦Ð¶­5-Z(?5HK{ÈŸ&Ò¤‰o¿m+ß^X(åäÉLbcïRPPDݺ&¼ý¶-úúOo'&Þ'88‰liÒĂӧ3‰Œ¼ƒ±±|à¬pž¢")'Nd•ƒ±±.o¿m‹££QµÕ»²T©›*×H&!!—‹o“šúš6µä­·Ì•ÊAñ=9|8»wóqs3åí·ŸÿÔøðá4ŠŠ¤øùÕâÎ<Ö®½FÓ¦tèðô~&$ä²{w2z|üq=ùö‚)K—ÆàæfÆ»ï:”[GlÞ|V­¬hÕÊŠðð,¶oOàäÉL ŸÎ“U2éRçZ•¬L~~ÇŽepãÆ}¤R)uêÓ¶­ ʯW·í6mjÁéÓ·¸xñ6úúZtè`‹³séÜ+sož=oU´«ÂB)aa·ˆ‰¹CQÔ«gBûö¶èèH*üÞ]¹ººª= Q­Zµ^‰žW„……Q£F ¶oßþÜò[·n%77—÷ߟ™3gÊ··iÓ†wÞy‡­[·2iÒ$ùDê–™‰dJAP‹µµË–Åròd&›6µWÚ¿iSK–IJzu[ù¶ ²ùâ‹p’“(”­UË_m-OsY¸0== óçGš@Ææ ÉÔãÇE|òÉqNžÌ”oÓÑ‘ðí·<ØE¥z,ZƒªóÙi3|¸›j…ËP^ÝT½Fx’S§2•ÎÑ¡ƒ-K–´ÄÐðéï[·&2uêyòòžvÏiÚÔ‚=œ”^/sèP¶¶4lhNQ‘”?þˆçØ1…d*88‰Å‹cÐÖ–à„™™.çÎe³pa _}ÕP¥z§§wé“uõ »Å¶mÅÉÔ©S™ õ”%Sª^«Òê#{ýÈ‘§ÉÌTsde¥Ï‚-ºªÛv µY¶,–ƒSåeµµ%̘áEïÞµŽQÙ{£ÊõUçZ?›ÿü'œ7î+”ut4fÍš¶zï¿ÎlmmÉÍÍåþýûqäÈ8@zz:ÆÆÆ¸ºº2`À…å_öìÙÆ øþûïñôôäÚµkL™2¥Ìs˜››³téR…m'Oždß¾}$%%¡££C£F8p VVVeE}JK=lâ¸Áƒ+l·³³£K—.ìܹ“Ó§OãççW¡ò=bãÆœ>}©TŠ··7}ôk×®åèÑ£,_¾SSÓ Õ·2D2%‚ ¨ÅÜ\ÿZüý÷Mr©[÷é7‡EER¶o¿½½>>Å nÞ|À§ŸžàîÝ|š4±¤I ôô´¸|9‡S§2ù쳓8ð&&OÿKZ½:ž èÑÑڵ±³3Tˆaõê8<( À kk"#s8y2“ÿýï"îî5> —eñâ…§Ïce¥_édJ¦´º©sîßÏçÔ©LÞzËOÏXYés÷naa·8z4%KbùòËâDæâÅÛL™rŽÂB)ÞÞV4nlNvvû÷ßdÉ’ÒǰäåšN@@ñ-- mÛZ³ ÷îåcjZœ4;–Ž““II8q"ƒ®]äÛ||ŸL”wOeZ¶´¢oß:lÛ–HëÖÖ´l©x/ÕmOÏÖàçŸ#ÉÌ|„§g Z·¶FGGÂõ비†fpåÊ]yû©XÛ#7·¸mÚÚ™ÃñãLzžwÞ©%¿~UqoÊ»¾êÄãÆ}† %7·#Ú¶µ¡F ]âãïqìX:))¨[×D­÷þëÎÖ¶¸§§§³bÅ ¶mÛ¦Tæ×_eÿþýòµJŸ3uÿþ}ÂÂÂÊ<‡‹ËÓ/‡ŠŠŠ˜|XHppG\\žî_½:Žÿû¿K¬Z§R25fŒ‡ZO¦ªJiu›:õ¼Ê×ÈÄD—­[߯ÔT—3g²ÈÊzŒ®®6]»Ú“œ|ŸC‡ÒäÉÔï¿ÇSX(eÜ8ùDãÆyòþû‡JïäÉL<(ÄÏïiw3[þþû&'NdÒ¥‹=wïæsùr_}õ«W_%4ôi2š¥¥>žž5Ê­wi¼½k"‘À¶m‰´icÍèÑŠcƒÔmO¥Õ';û1uëšÜQÞNeÛ³³Ÿ†¯HÛÍÏ/bï^?….§_}–mÛ Ï¢S';ùë«âÞÈT¶]-[+OþÙ ]ݧ>''ßG[»øwuÞû¯»š5‹»:&&&²}ûvÌÌÌ9r$õë×çñãÇ\¹r…-[¶ððáÃ2Q¯^=6lØ ´ýÈ‘#ìØ±ƒeË–É·­X±‚;vàääÄ Aƒpqq!//ÐÐP¶lÙ„ Ø·oZZZÜ»wï¹IÚ³¬­­Õ¨¹²œœjÔ¨ŽŽrj!;vNNN…ËÏ™3‡èèhjÕªE`` NNN$$$°|ùr¢¢¢*{e‰dJAP[»v68:±cÇ &Nl€¶vñ‡§­[ÑҒЧÏÓoÎOœÈD[[BvvK–Ä"•JåIÌýûÅß$^ºtxú4 À鹺ßßQ!‘2Ä…å˯pæŒjÓi[½“”¥´º©s´´`Õª8öí+}0ø­[åÿ>{6CCFV¬«““8óÛoW•^èP††:´ióôÕOñ¿CC3èÒÅž'2(,”âãcÕ+wå]ËîÜÉãòåºus@òÌçéòÔmO¥Õ§K{V¯ŽãÏ?éÔÉ›âîL––úXZêWø\½{×V»çëkǶm‰¤§?ýP]U÷F¦²íêÔ©[hiIøñǦ ‰wó“Qç½ÿº“uƒ+,,D*•Ò³gOåû»téˆ#ž;ž±±1­ZµRØvâÄ vïÞÍüAݺÅmK*•²zõj¬­­Ù¹s§|,“ì<5jÔ`Ù²eœ?///ÜÝÝKMÒÊ"K +ª°°°ÔÄo/ùäHò………all̶mÛäO}}}騱#ï½÷^¥b¯¬J%SYYY$''3a„ªŠG*ìàÁƒ¢- /Ì… pt|ugk«,‰úö­ÃüùÑ>œ†¿-²³’JÛ¶Ö88<ý0™Ga¡” Ê^WåÞ=ŵKʬ/ãä¤QQ9Ii×N¹›Wy÷TUê¶§Òê3~¼'µk³sgÓ§_ÄÈH‡fÍ,¨Í{ï9Tø\P<éY²'›O\Uݙʶ«œœû¬ìdÄÕUñõÒ>`–””t_i›TZ<ÆÅÌLµ/š3UZÝÔ¹Fÿþ›†6{÷úQ³æÓ§(R)¬]¯ðD¨F =ÒÒQX(U:oi×0*ê©©ºÉ´kgͺu×äc‹dãb||lHЬÈÈÛòmªÔ»"Ô¹VeÕGKKBß¾uèÛ·EER®_ÏåðátþóŸp"#s˜4©¡ÚçRWUÞ¨|»27×ãæÍÜ¿_PnB¥ê{ÿu§­]œÔæççóý÷ßÓµkWþùçV¬XALL æææ|ôÑG 6 ɳjKqáÂ&L˜ÀÒ¥K•¦N—%ÙÙÙœ8q¢Ìc‡§Ñ¡ƒ-ÚÚ´´$Ô«gг³ ëÖ]cûöDy2UmW¦*ïMYÔ‰¿Mk¶l¹Î´iø¿ÿóBGçé‡Ù˜)ÙS7Ußû¯»ŠgH”-.ëíí··7PÜ5mçÎLž<]]]>ùä“ç+22’Ñ£G³páB7n¬´ßÎΉDBãÆùꫯÊ<޳³3À 3Õ¸qcbcc9|ø0ýû÷WØ@£F*T^ö4ª´±QEEE “Rh‚3%‚ TXÿþuø÷ß4¾ÿþqq÷øôS¥ñŸ^Ÿ}ûR˜81‚5kâhÒÄSS]23såÊ].]ºÍêÕmÕêdh¨M@Àaºt±ÇÚÚ€¨¨NœÈD"aÃ\U:†¦ÆL•FkÔ¬™%—.ݦGüýí8s&‹ÈÈ…D ŠÇ‘íٓ̂ќ8‘©0cœòG€C‡ÒhÜØ++}¥}­ZY¡£#aÆ$ŧOíÛÛ²zuùùE|ò‰jSÓ?““1ZZ¶nM¤ @Š…Eq<ãÆy¨u­ÊªÏèѧ±°ÐÃË«&NNÆäçqêT&ÉÉ÷ñðxú-wu´]™ª¼7eQ'þ#êó×_ÉÝ ,,‹6m¬¨QCk×r9z4U«Ú*taTå½ÿº“=-ÊÉÉaåÊ•ôéÓKKK ø©•½}ñû3,,ì¹ÉTll,#FŒà—_~ÁËË«Ô2æææ´lÙ’ˆˆèÓ§ººOùääd6oÞLóæÍ^ø˜©nݺ±uëVæÏŸO«V­¨S§+W®$::WWW…§mê”·´´ÄÓÓ“ÈÈH–-[F`` ZZZ2oÞ<+{e‰dJA¨0?¿ZX[’Pj7GGcÖ­óaâÄ._Îáòå…ýžž5Ôþ0:t¨+ÇŽ¥œ$ß&[gJ•™ü^6ê\£qã<8y2“«Wï²fMP\÷ÿý¯7^SXO¨qc ¦OoÆÔ©ç ¿Exø-š4±äý÷ùßÿ.ÊËfd<âòåÛL˜Ð ÔuhÖ¬&áá·hР†ÂD >>6,_~(îXYææzôî]›mÛY·îš|û¸q*_«çÕ§S';Heï^ÅI<ù¿ÿk¦ð{U·]™ª¼7eQ'þÚµY½º-ÿùOÉÉ÷Ùºõ~‰ãao¯XOUÞû¯;Y2UXXÈÌ™3™={6vvvØÚÚrçή]+n»Mš4)ó×®]cðàÁhkk—:l¦ä:SS§NeÀ€L™2…3fP»vmôôô¸yó&·n·Ÿ±cÇ¢££S%c¦ÆŒ#‹•œœ À!Cä]K®ëäããCÇŽ9|ø0]ºt¡Aƒdgg“œœŒ––ß}÷±Õ-?a™3gkÖ¬ÁÁÁ¤¤$îÞ½‹»»;±±±hii&™É” ‚PaÚÚųEGßÁÔT77³RË5hPƒ¿ÿöãìÙ,._ÎááÃBìì qw7S˜B»NÆó¤Y³Ò¿%•íoÝÚšÀ@7ŽË 6öFF:øúÚ)Í¢ö2)¯nª^#ss=vïîÄ¡C©\¿ž‹™™:Ø`ooDQ‘”»wóŽÛ¯_||l8|8{÷òqu5Ã××–+Wî2nœ§|ÌÌ¡CiH¥È§î.ÍèÑîœ=kÍ[o)ŽQhÑ¢æ“u%´n­8^ª¼zÛÚÊì-iÆ /Þ߉¨¨<(žv;SåZmÞ|½Ìú,^ÜŠÌÌGDDd‘”t##êÖ5¡Mk¥i½«¢íÊö5n¬¸˜pUÜ›ªjWÍ›×$$¤3'Of{mm-êÕ3ÁÇÇFiL–ªïý×™lwww "%%…””,,,äc¦ÊräȲ²Šg ÍÈÈPÚ_r!Þúõë³}ûvþïÿþ£G*tosvv¦ÿþ O«*ëܹs¤§§+l —ÿûÙuæÏŸÏÔ©SÙ½{7/`mmÍ÷ßOûöÊ‹<«S¾S§NÌž=›Ÿ~ú‰¬¬,²²²077gîܹ+ïnù¢I¤RU{Œ+“c¦Mc¦„­ºÿþ¥§§—9Óѳ\]]X¸0÷ÞS­¼P}‚ƒ“˜81‚®]¨_ߌ¦M-èÐÁ¶ü¾O{‡#Gºh:”*ñ:ÕçU­ËíÛyò'‹Ë–ÅâéYƒíÛ}_h Õù÷ñ¯¿þbâĉDFF¢££ƒT*%55•ŒŒ ,,,pppPšþ;55•7nàé鉙™iiiÏí¦¦««[j׿{÷˜HQQŽŽŽòî…Uéܹsäå啹¿yóæ¥Nož““Cbb"¸ººÊ'ê(‹:åóóó¹r¥ø)¸««+EEEtìØþý÷_Õ*ö [[[LL*<ÛèVñdJAªØ¾}7Ù·ï&C†¸¼2ÉT‹–ôî­{žPý>ûì3Ö¬YC\\œ|›‡‡?ýôŽŽŽ‹K<™ʤ££ƒ¯¯/Ôt(ÂHGg.¾¾N<Ø¿ü‚ ‚ð=|øèèh>ýôSM‡òÆ7n£G&99™ììllllÖ”šL©:˜úUð:Õ¥"^Åúçæ~¡éªÌëT—ŠxÓë/‚ hVxx8´nÝZÓ¡¼Q´µµ©S§Ž|]ª—Á›µºš ‚ ‚ TÒÉ“'qqqÁÚºòëª ¯¶šL™˜˜àëë«´}ݺu´iÓSSSŒŒŒðòòbÑ¢E)•=rä=zôÀÊÊ ===êÖ­Ë—_~ÉÝ»wåe=z„D"¡gÏž¤¦¦2pà@,--166Æßߟ .(·¨¨ˆÙ³gS¿~}ôõõqqqaΜ9$$$ ‘H3fÌsëR‘sªZŸò¨rýJÆ—@¯^½077ÇÔÔ”wß}W!¾ÐÐP$ ………„„„ ‘Hä?²1R•¹—½V•eb²_ß-¥ÄE›605]€‘Ñ|¼¼þ`Ñ¢³)¯päH=zìÀÊj zz¿P·îJ¾üò_…u]=*@"™CÏž;IM½ÏÀai¹cãøûÿÉ… ™JÇ-*’2{v8õë¯B_..+™3'œ„„;H$s3&ä¹u©È9U­OyT¹~%ãKH¸C¯^;17_„©éÞ}w»B|¡¡7‘HæPX(%$äÉùÏ¿ÿ&•ZÿŠÆ¢ÎµA™ãÇÓ¦MM‡!¼4>fjÒ¤IÌ™3GaÛ¹sç8wî'OždãÆòíË—/çóÏ?§äÒXׯ_gîܹ„„„püøqŒŒž.ؘ““ƒ|j€üüüˆ‰‰QXmÔ¨Q,_¾\þûµkט4igÏžU«>êœSÝú”FëMûöí¹yóéªïûöí#44”ÐÐÐç®Ò]ucQçZU—I“Ž0gN¸Â¶sç28wî'O¦°qcwùöåË/ðùç(¹2Ûõëw˜;7‚?>#£§‹ååä<ÆÇg#׮ݑo ¹ŸßŸÄÄ ÅÊêé¬F£Fdùò§Iäµkw˜4égÏ*.–WuΩn}J£ÎõÈÎ~Dûö›¸yói7Ñ}û M&4ôCš4©ø7|êÆ¢ÎµA™¸¸8¢¢¢øöÛo5ŠðÐh7¿³gÏ2gÎ Y´h©©©dee±~ýz,--Ù´iÁÁÁ@qr3vìXÌÍÍYµj©©©}šÜÜ\¢££éÓ§¹¹¹ò§o>>>H¥R´µµñóóC*•ÊJ{UÑXT½VÕåìÙtæÌ ÇÐP‡E‹üHMýœ¬¬1¬_ß KK6mŠ!8¸xƘk×î0vlææ¬ZÕ…ÔÔÏyôh‘‘ŸÒ¯Ÿ;çÏg°`bâ}äHNNf„…}Äýû_påÊ0üüj“•õ ž®»–Êòå03ÓcÍš®Üº5š´´Qüúë;ì܇:T=gEêS™ë'sìX2NN¦œ>=ˆÜÜ/ˆŽJŸ>õÉÍÍg̘â‰N||J¿D[[‚Ÿ_m¤Ò/å?¾¾¥¯³R‘XT½V‚ ‚PRPP´lÙRÓ¡/&S[·nà¿ÿý/cÆŒÁÎÎKKK ÄâÅ‹ز¥¸+ÏúõëÉÏÏgùòå :;;;ôõõiР›6mÂÎÎNéú••»víÂÛÛ###ÜÜÜä JÉ®dÛ·o`ÆŒ 2„š5kbkkËÈ‘#™2eŠZuRõœ©Oe®ŸŒ‰‰ ÁÁÁ´lÙccc<<<Ø´i„††’ž®Þ“ÊĢ굪.[·^ysÆŒi†1–– äÉâÅþObŽ`ýú(òó‹X¾ü†m„1úúÚ4hP“M›ºcgg¬ôaÝÊÊ]»záím‡‘‘.nn,XÐéIý2äå¶o¿ ÀŒ2ä-jÖ4ÄÖÖˆ‘#›0eŠz]T=gEêS™ë'cb¢Kpp/Z¶¬…±±.–lÚÔKBCo’žþ@­úV&U¯• ‚ ȱk×.z÷î––˜z@Ðp2%›'¾{÷îJûdÛde"##8p :::hkk£­­––:::¤¥¥qãÆ …cxyyaff¦°­^½zÜ»wO¾->>€.]º(ÅQÚ¶çQõœ©Ï³Ô¹~2M›6ÅÆÆFa›®®.~~~¥–WUEbQõZU—¸¸ÛOâsQÚ×½{½'erˆŒ¼ÀÀ¡£3míâ-­9èèÌ%-í>7n(Žsóò²ÅÌLOa[½zÅ+|ß»÷tLR||ñ9ºtqVŠ£´mÏ£ê9+RŸg©sýdš6µÁÆF±ëª®®~~uŽ©®ŠÄ¢êµA™‘‘AÏž=5Šð’x)Rj‰DRnÙ………RTTDQQ‘Âx£¼<Å@††Êcdç*ùºçÅQZ¹çQõœ©OYT¹~ªªì±Ôy½º÷§º¨²lƒÂB)……RŠŠŠJ†™—§8aŠ¡¡òDÙ¹J«^Õ´?ÕÎY‘ú”¥ ›_´?Õ˪{ER.ðá†Ù»OÓ¡T‰+™WXvrC¶ áà r!¥úŸŽ ‚ðj‘J¥,^¼˜.]º¼TSs š¥Ñ (\]]سg 6TØ÷÷ß+”ñð(^AûÀøûûWi..Åßfïß¿ŸÏ?ÿ\aߪô\2UQu®ŸÌùóçÉÈÈPx:•ŸŸOHHñlq²k ¥¥EAAAµÅ¢i®®ìÙs† '»øûïkOÊ?©ðð°àÀ~øûWíP—âsìߟÀçŸ7UØwà@b•žK¦*ê£Îõ“9>ƒŒŒ O§òó‹ )®§ìZhiI((P-«©H,BåÜyt‡°¤0Þ©ÿަC©´€5D¦G*l»óèN¥AxSýóÏ?ÄÄÄ0{ölM‡"¼D4údª_¿~L›6¥K—’žžÎíÛ·Ù´i“|2„þýû0xð`ttt4h«W¯&))‰¼¼<ÒÓÓ eìØ±Ì˜1£BqôîÝ€o¾ù†uëÖ‘Mff&+V¬`úôéUPSeUQu®ŸLnn.„……ñàÁbbbøðɉ‰ÁÇÇ[[[yYKKK"##‰/ušúÊÆ¢iýúÕ`Ú´“,]zžôôܾýˆM›bäS‘÷ï_œôÜ- ÚÃêÕ—HJºG^^!éé ½Éر!̘qºBqôîíÀ7ßcݺ(²³‘™ù€+.2}ú©*¨©²ª¨:×O&77Ÿ€€„…¥òàA>11Ù|øá_ÄÄdãã〭íÓ$ËÒÒ€ÈÈ[ÄÇç”:M}ec™Œû¸Y¹1²ÍH|]|5Ž /¡ÂÂB-ZD—.]ä_ˆ høÉ”——'NdîܹŒ=šÑ£G+ìÿàƒä}RÝÜÜøõ×_9r$Æ +õx“'O®P­ZµbøðáüöÛo ð gÏ⺻¹Yðë¯ï0rä? ¶¿ÔãMž\±Y}ZµªÅðáøí·K ü·Â¾<ز%]ݪýÞ£*ê£Îõ“ißÞ‘øøZµRœ­ÑÄDW>Q„LÇŽµÙ¼9W×ßäÛPêŒ~‰Ed‚‡ccRü´þ‡~Ðl0‚ ¼”Ö­[G|||¹3- o¯35gÎ7nÌÒ¥K¹|ù2………¸»»3tèP¥…r‡N“&Møå—_8zô(™™™X[[ãææÆ€4hP…ãX¾|9®®®¬\¹’¤¤$9r$-Z´`Ë–-XXXT¶ªJª¢>ê\?(~Ú´fÍ&L˜À‘#G(**¢]»vüüóÏJkLÍ›7‚‚:ÄíÛ·Ë¿£n,/ƒ9s|iÜØš¥KÏsùò- ¥¸»[0th#ÆŒi¦PvøðF4ibÍ/¿Dpôh2™™°¶6ÂÍÍ‚Ü4¨A…ãX¾¼3®®¬\y‘¤¤{8:š0rdSZ´°eË–,, *[U%UQu®?mZ³æ&L8Ì‘#IIi×Οî ´ÆÔ¼y)((âСܾý¨ÜqLêÆ"TŒÜ þ8óÑéÑéáïæÏû ÞW“CÐ¥ ’î$!•J©cQ‡÷¾OCÛ†eùÅ%Rª¸r™‡g2¸Å`š;4g홵ÄdÄPà› ¤…c "Ó#Ùtn7ïÜÄÑÜ‘a-‡álá\M5¡:¥¤¤0oÞ¦°¨P¥øÌ ÍYÚ{©JeKúáŸXv=«û¯¦C½Jûeõþ¬ÕgìŠÜEzîÓå$´µ´YÙw%÷óî3>x<…Ò§±Ö0¨Á¾áû°6©øÂÔ‚ ¨¯*þ>~öÙgܸqƒÝ»w£§§Wþ „WŠ­­-&&&}ùV?™zYüöÛoܺu‹€€œIIIaíÚµ,]ºSSS:wî¬é…רo¿]âÖ­¸âì\ƒ””\Ö®déÒs˜šêѹ³³¦C„R­XK]˺Œo?kck"Ó#Yyz%{cö²­Þ6ú5.N:W…­`póÁ´un‹Ž–×o_gWä.î>zþ4ü2aIa*'SVÆV媄5ákhh׉oOÄÂЂ£ GYwf?ø‘¬YtoÐ7´$ZüqæNß8ͪðU|ÝñëjK„ªõûï¿sôèQÖ¯_/)¡T"™z"''‡o¾ù†o¾ùFiß/¿üR™ŒUÊ•“óˆo¾9Æ7ßSÚ÷Ë/11©Ú1{‚PU¬M¬ ú$CÝâ¥:ºv¤…c >Úô[Îo‘'S:Z:Ô·ªÏßù¯Â뇴½Ǫ­+·nà:•— ÐÕ®Þ÷ŒKM6Ú,?OG׎ÄfÄ–ÆG^ñCçäeÛÔiC›Åm8ó|µÆ$‚ú¤R)·o߯ÒÒRißÙ³g™9s&&LÀÛÛ[Ñ ¯‘L=ñÙgŸ‘““î]»¸víÚÚÚ4kÖŒ‰'Ò£GM‡'¼æ>û¬199Ùµ+Žk×î ­-¡Y³âIzôý³…—×{ïÉ)™ÖuZãXÑØÌXù¶ÀÖLÜ=‘ »&Ðɵž6žÔ«Y-‰¦ú¦*«¥SÅ&y©Ý;+%lž¶ž„%…Ñͳ›Âv33ìÍìI»—ö"CA7n$88˜M›6¡­­-ßž‘‘ÁèÑ£éÔ©#FŒÐ`„ÂËN$SOÔ¨QƒéÓ§WÛTèšf``ðBÂÔS£†>Ó§û0}º¦C©:H¥_j: ¡˜˜•ºÝÜМ”»)òß»yv£mþŠú‹ KAÄfÆò¸à1Ýtgb‡‰e§¤1fJUfúÊñêhÿ—ZàF©ûä=¨¶xAP_||ýôSÌÌ̘5kV¥”^o"™A*,2-RiÛý¼û\˺¦4K^]˺Œõ+ÿýrÚe>Þô1™¹™*%>/Ó˜)A^mL˜0A¾Žæ¢E‹ðññÁÍÍ¡C‡r÷î]6oÞŒ±±±†#^v"™A*ìÀÕl¿´>úð0ÿ!ßíýŽùèÖàiw·Yÿ΢O£>¸Ô|ÚmÕÖÄ]m]Â’ÂT:×Ë4fJ„WÛܹs‰¥°°ø ‰DÂØ±c©[·.iiilÞ¼ G)¼ D2%‚ T˜§'“÷Læ—#¿`cjCBv¹s1Ò5âó6ŸËËýþ;+N­ÀÒÈ's'ò ò¸zë*E¼]ïm•ÎU]c¦–žXJhB(×o_`æá™,;¹ €ñÆ¿TãµA¨œððp~ûí7…/g ¹uëÎÎÎüñÇÔ®][ƒ ¯‘L ‚ Öë­^tríÄŠS+äk.9[83»ûlj›?ý0òu§¯Ù|~3W2¯ý =m=ðßw‰]&>+^ééXÉÉ3dñ ‚ðê»wï_|ñZZZò§R2œ:uŠèèh\]]5¡ðªÉ” ‚ ¶Æµ³áà Ա¨ƒ©C½‡’€‘ž®5]•ln>˜ÁÍ“ý ›¤œ$ŒôŒp¨á€‘®‘†jðÔ¨¶£èߤ™ûݬž.˜]²ÞÏä5ˆN®p2wRÚ7³ÛL•Ç{ ‚P}¦L™Bvv¶R"%#‘Høî»ïhÖ¬ŽŽŽ/8:áU$’)AAmæ†æ´ªÝJþ»™Mì›”û:K#K,”×sÑ$—š. c¹žçÙz—TÛ¼¶ÂÓ¸’×j\áøA¨ÁÁÁìÙ³ç¹e¤R)yyyL˜0Í›7+L—.¥©T2uêÔ)’““Å”‘ÂKaþüùÌŸ?_Óaoñ­¥ «!99™ï¿ÿ‰Dò܉l´´´J¥œ;wŽ   úõë÷£^E•J¦ÜÜÜ044¤[·nå„jTœDÚh:á177Ãò‹ ‚ %•ñå—_’——Wj"¥««K~~>ºººxyyÑ¡CüýýqqQ퉵ðf«T2U³fMj֬ɼyóª*A¨âdª Pö¸A¨Z[©YSÓ1‚ å9p`gÏž•¯)%‘HÐÖÖ¦  :uêD»víèСƒöyû IDATXWJP›3%‚ ‚ ¼¦"øûïYH¥R$ ZZZ4kÖ |}}Ŭ}B¥‰dJAAxí<|øø##sºv툯¯/>>>˜˜˜h:4á5"’)AAᵓœœ lä§ŸìéÖí¾¦Ã^SZš@AAªš››à%fª•H¦AAA*@$SUlË–-øúúrþüù ½~ÅŠøúúWÅ‘ ‚ ‚ ‚P•D2UÅ’’’8rä999zýµk×8rä¹¹¹U™ ‚ ‚ UIL@QÅ @‹-hÚ´©¦CAA¡‰'SUÌÉÉ ___ÌÍÍ5Š Bµ¹”z ן]Yº°Ê½ýÒv\ve_ì¾*?¶ºŽ^;ŠëÏ®¬ _£éPÊtóÎMÖYÇ-Cðœí‰ëÏ®½vTÓa ‚ ¼D2UÅÊ3UXXȆ øøãéܹ3|ð+V¬àÑ£GeëܹsŒ1‚®]»2tèPBCC«;|A„7NDr®?»²äÄM‡R!}þèôÓM%¿0_Óá‚ ¼QD7¿*VÚ˜©û÷ïÓµkW¥dhË–-,^¼˜ƒbcc£°oïÞ½üðÃäååÉ·­Y³†E‹1f̘ꭄ B9ÕjDÜ×b¢œ—ƒ™]Ý»âçæÇ¾˜}l¹°EÓ! ‚ ¼1Ä“©àÛo¿%44kkkæÌ™Ãž={X²d uëÖåÒ¥KŒ9Ré5S§N¥K—.lܸ‘   ‘H$L˜0ØØX ÔBAxmÿd;?tþöuÛ£«­«épAÞ(âÉT5+((`õêÕJýúõåû €‡‡;wî$==[[[ù¾îÝ»$ÿ½W¯^ÔªU‹iÓ¦ñûï¿3cÆŒZA„’.¥^¢×Ú^ŒóÇ8Ÿqòí ±âÔ öDï!)' ==Ù5"°u íë¶W8ÆÝGwùåè/쿲Ÿ»îâfå¦p¬gI¥R¶]ÜÆŸÿ$6#–Bi!u-ëòAÓÔl|aΣ׎2ôÏ¡|ç÷îÖîÌ;6èôhŒôŒðwóçË·¿ÄÒÈ€%'–0ïè<æ'ÿ7 ôäí|ÊyfžÅ¥´KèëèÓÑ¥#ßù}‡¹¡#+‚ð¦ÉT5»ví¹¹¹¼ûî» ‰@Íš5éÛ·/Ë–-ãâÅ‹¼óÎ;ò}C‡U:ÖСC™6m/^¬ö¸AÔ•_˜Ï'›?áLòù¶¼ÂÚ‚½™=áIáD§G#‚ ¼™Ä“©jV«V-Μ9CQQZZŠùkxx8ööö ÛÏž=‹Â¶ˆˆª+\A„ û;úoö\HSûâµöLôMç3ŽŒÜ 6ŸßLH\4ý€}1ûH$,éµ7+7Œj1­Ë4n'pâú …co»´ m-mÖ XƒÉÓ {¼¼™×c]ëÊÁ«iæÐL¾¯‰}~~ïgy÷?o'o–õYÆ;+Þa_ì>&t˜ rÝ|êúðc—å¿7wlN`ë@~øçb2cð´õ,÷±_‰ñ®‚ ¯‘LU3kkk¼¼¼8{ö,_ý5?ýôºººH¥R-Zݳ³£I“& ¯›>}:mÛ¶¥E‹$&&2n\ñX‚Î;¿ðz‚ ”'ñv"æ†æòDª¤N®Ø|~3‰·‹Ëæ$bkb+O¤JêP·ƒR2u5ó*…E…´_Z<îJ*•"E*ÿ7@ÊÝ…×ø8ûÈ)'s'êZÖ%!;A­ºµ®ÝZi›“¹÷óî«u,Aáõ!’©`Ö¬Ytîܙٳg³jÕ*\\\¸qãéééòý::Š·ÂÑÑ‘V­Záææ†¾¾>111äååÑ´iS  ‰j‚ ”K‚¤üBP$-xê\cI_G_i›¬®²d®oó96&6D¦GòÃ??PPT@W÷®òr5 jžNÎÜj›ê\Œ™AxýˆdªŠÉ&”°³³+u¿««+®®®e¾¾^½zÔ«WOþ»ƒƒƒ˜pB„WÂÇ^³/fgožeøÖáJû§øOÁÚÄ€Áͳ+rÑÑ|¼écy‰DB7ÏnJ3úõ~«7a7ÂØ~i;ÛK=ÿ€&Š] »ºweÇål»¸Ma»KMþ¿½;éÜÿþ™Ì$“=‘}·Æ"!‰Uu-±+·j+jÉ­­tUmuu¹—(ª$´JK"Šº¶àÊJB„Ø"d4‰D’™ßyetÌ$™™d2ÄçýÎyÎs¾Ï9É|sžç9³ügÉþíÖ ¶¦¶HÌL„ÏÙöçWô{Q-Ú¿HaÉøi»ž½^ãû‘ßË%DDÔx¸4z#ù÷¿ÿvíÚaÿþýpww‡»»»®C""jRúB}üüæÏ GKè õab`?W?„ —½c ¨žƒ´}âvLê> Ö&Ö‹ÄèhÛFm@> u ¬úû*„‡¢·[oXZ@_¨gKgü­Ýß°aÔôvï-wL§//Š Ñ¨Æv‹_'ý*÷Ž)¡žëF­ƒ“Œô´wˆˆ¨ÙHU9«ÄرcÐËjöìÙØ¸q#lmm©°¬9iWõpÉÆé:zeŒÅ˜1ÚûüËÏÏGII‰JeÛ´iÐÐ| ¢Zùæ.æV ¦íš†^ÿS}§ê:"Ò!~>R}lmmajjªéá|2ÕH.\ˆÔÔTܹs‡‰Ñ+€s¦I»vít5!>™""""""ÒŸLQ³ÒÇ£ÏK³½ÜødŠˆˆˆˆˆHL¦ˆˆˆˆˆˆ4ÀdŠˆˆˆˆˆH š3uíÚ5\¿~ÎÎÎQ¼`‘®ƒ WÆ\»ÖV×A‘q j6ºuó€®Ã WÄùóçuéXƒ’©víÚ¡]»vˆˆˆh¬xˆ4"0mÚ4 2DסÐ+bÞ¼y yc:5œ3EDDDDD¤&SDD¤¶{%÷ŠÓwN7zÝWî]Ah\(nÜ×ý»¢2ÿÌDh\(Îç4Þ°NmÔÙ˜^ôøtM›}ÿe ‘Jp.û~Hü¡q¡Èü3S×!é“)""R[þ£|­}¡LËO«N¦4M2•SœƒÐ¸P$ßMVØW“XœË>×hçÓF5êj‹ª´_sÐоß÷HWV]¿µ~»m,¾=ù-“)"0™""" ØšÙ"$0½\zé:”«ùr›t7Iס4XsjKsõ2ߣƒW¢°´ÝºÁÓÖS×ὸš©ÍÆÔ!!ºƒˆšÐg?ƒ¯³/Z·ÄgG>Õü+º‰Hç˜LiABBŽ9‚)S¦ÀÍÍM×á5º{%÷ðÛùßÐË¥—ÂÓ©Gås+w ïB,£³]gø:û*­'ïQNÜ8âòb´µn‹¾}ë¤ì>_¹w–F–Ü~0ÌÄf€ÒŠRD_FvQ6œ,0¨Ý è õë¬G•û¡´}õôO•ï‘ ý\·¬Ó󽈘Li(&&ÇÇ´iÓàââ"·/!!+V¬@¿~ý˜LQ³T3oäù¡~‡Òáƒÿ~€GåäÊwwìŽu#×ÁÆÔF¶-"5Ë/ÇÓª§²mݺaXÇaJÏy!çþ¹÷ŸÈ*Ê’Ûnon £6È‹š9?B|wò;$f&ÊÊŠôDøðõ1¹Çd@ÒÝ$D¦FNežÂ©ÌS²²ýr[)©Äìݳ}=Z¶M¨'ÄÊ7VbT—Qõ\-åÊ+Ëñöoo×<©x‚™‘3åb«ÑÇ£Ö\#}#•Úr>ç<î[ˆ;…wäêq²p–ñ[àn宵6«znUûPÍ}‹ÄX»qq²²ßü¿NúU˜¶kòåÉöu²í„]oí’%&êô—º¨Ò?U¹Gªöóº¬[ )¤õ–c}cÌè5C¥²D¤ˆÉ”†bbb°bÅ 0@!™ ÀòåË™HÑ+åʽ+xoï{¨”T¢‹}ø8ù äi ¢¯Eã\ö9ÌÝ3»þ± ©¹©øøÐǨ’TÁ×Ù]í»âᓇ8œ~ëÖ)Ô]”©»¦¢¸¬^^ð²÷‚È—ò.áTæ)¼ù޾s¦âgïþ OÇ“§O0¢Ó´2m…Ëy—‘˜™ˆ/¢¿@ûVíÑË¥z:÷Ę®c™ ?W?ôtî©´máÉá()/ÁˆN#`kf‹Ëy—;Ë,ÇßÚýMöDªÄËãTæ)t¶ë OOX›X£¸¼Iw’s+ëÖaqßÅõ¶åNáLÙ9%å%p´pD€[, -póÁMÄÞŠENqŽ\2Õ˜mVõÜêô!YœIá(«,Ãè.£Ñ¸â3âqåÞ,?²9E90`R÷Iê qàÊ\οŒßÎÿ†·}ÞÖè~(£jÿ¬ïiÒÏ•ù>á{¹§^u±6±f2EÔL¦´ ºƒˆ¨Im>½•’JLõŠû(ûÂû~¿÷1ê§Q8—}§îœ‚¿«?¶žÙŠ*IBCäž…†`ø–á uÿxêG—cÅÀ˜ä=InßÖ3[ñeô—Ø—¶»O”m/­(ÅÞ©{ѺekÙ¶ðäp|uì+„%…¡—K/ø:ûB  25þ®þ˜0WiÛ*ª*ppÆA¹!_Ëþ» ‘©‘H¾›Œþmú«}½T‰LŦˆx+fb3œÍ>‹@_¨Á#ëtŽß8ŽÅ}×Û–%Gÿò/¹¡nYEY „Zk³ªçV§ÕBŠC3ÁÞÜPÕ¯ C6AÂí¸`óØÍ0Þêñm„ã7Ž+$SªÞeÔéŸuÝ#Mú¹2óæ©õdŠˆ4×dÉTaa!Ž9‚ŒŒ èëëÃÇÇ}úô‘í/((ÀúõëѲeKÌ›7OîØ²²2|÷Ýw …X¼x1D"‘JuþUqq1¢££qóæMÃÛÛþþÏ>Œ£¢¢ššŠ÷߯Æò,5û–-[CCCüüóÏ8~ü8 <<ÑÑÕC ÜÜÜ0eÊ”:çLeff"::ùùù°²²B¿~ýСC¹2ÑÑш‹‹ÃìٳѢE ìß¿7nÜ€­­-FŒ+++5®<’’‚“'OB*•"((¾¾¾øý÷ßqþüy¹öþõ¼–––8pà®]»†=z`àÀ*ǯε|þ¼æææØ»w/233áàà€áÇÃÒÒR­ö‘nœÍ: ¡@ˆE}É=9haÔ³ýg㣃álÖYø»ú#%+FúF˜Û[þˤ³¥3Æwͧ7ËmOÈL€P ÄÃ'±.a¤R)¤Òê/‹+.æ^º?;fxÇár_Œ`ŠÏlL܈³YgÕjۨΣæÎôkÝ‘©‘È”¯V]êÆ§'ÐCXR¥RZÏýÇ÷U:ß©ÌSÐèáóAŸË%3”Î jÌ6«znuúP‘GÊ) „èåÒ 7ÜÄŒž3d‰¸[¹ÃÁÜÙEÙ 16¤¿hÒ?µYÏüÀùu ¢FÓ$ÉTxx8,X€ââb¹íAAAˆŠŠ‚µµ5Zµj…üü||öÙgJ¥˜?ÿÙÁܹsŽ7Ê)UꬆE‹¡¨¨H®l`` Nž< ===DEEaûöí˜7ožÒ`ûöíxï½÷dÉÔ‰'[¶l‘•ëÛ·¯,™R6gêÃ?Ä×_ªªgÞ¦OŸŽõë×C_¿úLtt4V­Zooo,]ºW¯^••oÙ²%Ž;//¯z¯»D"ÁìÙ³±iÓ&¹ísçÎEII ~úé'¹öÖœ·sçÎxÿý÷‘‘‘X¸p!¨rüê\Ë¿ž·S§NX²d 23Ÿ½³ÂÚÚ{öìA```½í%"Ý*./†™ E† û\,«‡C•Éþ´3³SxT'TÏ{øä!ª¤UX·¦Öó??ÇFY=z=8Z8âbÞźóœ¿~Y¯QóýJI¥Zu©ß†Ä 8”~VÆVr‚™ D@€ßÎÿ&7ç¬.…e…°1µ‰‰Jå³Íªž[>TÃÎÌN¡¬‘¾QûŠËж7¤¿hÒ?µYçL5­'S{÷îÅôéÓ!‰ð÷¿ÿžžž(//ÇÑ£G‹·ß~¬^½gϞŢE‹àëë ???lÞ¼áááxûí·1sæLµëŒˆˆÀŒÕ¾¾¾ðõõ…P(ÄÙ³g‰D==õ^·5yòdH$œ8qS§N•Í™ªkŽÔºuë°råJ :žžž¸}û6~ÿýwlÞ¼ÖÖÖX¹r¥Ü1³fÍ‚H$ÂÌ™3ajjŠC‡!-- óæÍClll½q®^½›6m‚P(Dpp0<<<žžŽõë×£U«Vµ7gÎ`ÆŒptt„¿¿¿Fñ«kîܹ000ÀÌ™3ahhˆèèh¤¥¥aäÈ‘¸zõ*Z¶lÙ ú‰H»ÌÅæÈ-ÎEYe™Â—ášE, -dæ=ÊC•´J!¡º[xW±nCs<­zŠwz½SëùÛX·©·©TŠì¢l˜‹ÍUk”©ßÿnþ†"Cœq-[Ê•ýéÌOrOpêbih‰ìâl<~úX優±¨znuúPckHѤj³Ι"j:ZO¦>üðC#&&=zôm—J¥3f ¢¢¢põêUtèЈˆˆ€··7ÆŽ‹°°0ÌŸ?]»vņ 4ªó£>PÌÌ™3G.¶¸¸8…Š¿­ÏäÉ“qçΜ8qÓ¦MSé©É¿þõ/ÀîÝ»1räHÙöÓ§O#((kÖ¬ÁÇ “g?dZ·n£GÂȨú7l+W®D×®]ââb˜›×ýáþÝwßAOOÑÑÑèׯŸlûÞ½{\ëqNNN8yò$ÌÌžM.®IHÕ‰_]öööˆ•µ«²²ãÇGTT¶nÝŠE‹i\7i_§Ø{y/þó|ÐÿÙöÂÒBüxêGYðvòƾËû°>~½Ü¤»…w±ëÂ.…º\°óÂN¸¶pňN#ö_½wUaA„}iû0­ç4¹¡[[ÎlÁƒ'äæûˆ…bYœMIÕøDB‘,Î7 ¨¬–FφB×ÕWì¼°+Ž®ÀWo|%·yͼ%eO£ƒªçV§56Uï‡2êôϺî‘&ý\Ι"j:ZM¦rss‘––†Ö­[ãàÁƒ8xð Üøßš'BgΜ‘Í»qqqÁŽ;ðÆo`РA°°°ÀîÝ»e …:ušššâúõëðõõUH¤4Ùб;wî ++ ½{÷–KD W¯^;v,vìØ””Éö-]ºTÖn000À€žžŽÜÜÜ:“©ÌÌLäää`àÀr‰Œ1¾¾¾HNNVzì’%Kä)MãW×Ò¥KåÚ$‰ðùçŸ#** ñññL¦ˆ^pÓ{NÇ+–†3Ygàíè’ò»q Ÿxðо}{ÛÐþüóO€‡‡‡Òý­[WÿìáÇrÛÇo›šV/‡ZQQ¡Ò9kzèææVk2Õ¶m[¥u©¿ºÜÝÝkÝV½¸:ÚvÄê«ñÁ?À…œ ¸sA¶¯æA5CÒºÚwÅ—ƒ¿ÄòÃË‘|7Éw«?¼¼0¼ãp|ý…\ÝNNØöæ6,Ú¿—ò.áRÞ%¹ýž6ž _0§ùNClF,ö^Þ+ÛVóÞ ¿®Ìfid‰Q]F!25ÛÎn“m×v2¥j|!!HÌLÄõû×±%y‹¬Üƒ¿ÀŽs;äÞGTW[\,]>. ÷/DVQ"R#dû,œà`î µ¶ªznuúPcSõ~(£Nÿ¬ëiÒϛґkG䮹·kՎɽr´šLµhQýÛ–Ž;bìØ±µ–óõ•«ùœ9s‘‘Ö­[ãçŸÆèÑ£1lØ0µë¬™c“žž^o¬5 %”””È-^T?™iˆš˜oݺ¥tÿÍ›7@íUúT9çíÛ·•î¯m;Ù"Ï×¥jüš^ËŒŒ ¹k¶ý5"z1ØšÙ*¼°·Œ×ÄdÄ «0 "t±ë_g_…:Æv‹@·@œ¸yÊ¡uôkÝ× ®!$0mZÊ)ëhÛÿþ_¤d§àRÞ%”V”ÂÎÌí[µ‡§­§Býb‘ÛÞ܆،X¤ßK‡±1úµî§t底o¬ÄðŽÃ‘–Ÿ†'OdÛ][¸"$0Ý—O«Ù×Õ¾«Ê×í¯Çù¹úa¦ßÌzã³4²ÄþiûqüÆqÜ~xæ†æèãÑæH% ‹)ÔÖ zˆÜ±Yǘ™ˆô{éê áÑÒî²¹kÚh³ªçTïCuÅä´4Qœkûÿ@ye¹ÂvUûKm}_þY×=R·Ÿ7¥íµ…k­ûŸÿ?Kô*Ðj2åì쌶mÛ"77cÆŒAçÎòoí–J¥8räˆÜ¼§M›6aëÖ­˜:u*¾ùæx{{còäÉHII»»»Zu …B´mÛÉÉÉøñÇe XÔˆG@@l‰`îÜgKõ=zñññ m«Y‰N•§1...prrB||<öíÛ‡áß½CåÌ™3ˆŒŒ„‘‘¼½½ë­KU®®®ppp@tt4bbbä–Œÿã?j}*Õñ«{-k¬Zµ Æ “ 1¬¬¬Ä§Ÿ~ èÝ»·Êñ‘öÙ˜ÚÔúäÆÜÐC=‡ªT½¹½Â;sIév@µþRWßWµÖwÔíçMePûAÔ~®Ã z¡h}Н¿þ£F‚··7ú÷ï:ÀÐзoßFRR222PZZ ¡Pˆ””„„„ÀËË ëÖ­ƒ‘‘"""„1cÆ !!b±X­:¿üòKŒ?³fÍBXX˜l5¿3gÎ !!‰D:t(>ýôSüóŸÿDll,\]]qõêUüñǰ±±A^^ž\»j†ù`øÍ øIDAT.Z´qqq066–½gJ™eË–aÞ¼yÆÐ¡CÑ¡CdffbÏž=¨¨¨ÀÒ¥K´xƒ2 ,À’%Kðúë¯#88îîî¸~ý:öíÛÜ»wOåáêį‘›› OOO :b±ÇŽÃåË—amm]ëu%"z”à×ó¿Ö[Σ¥‡Ê‰æ‹îUl3Ñó´žLcûöí˜?>>ŒÃ‡Ëöéééá7Þ€H$Baa!ÆŒ±X,{Ò={öÄþóÌ;óçÏÇ?þ¨r0nÜ8<|øK–,ARR’’’deƒ‚‚d VtëÖ !!!X³f vîÜ)+óÉ'ŸàÖ­[ؾ}»\»ŒŽ;"-- ß|ó €gï™RfîܹÈÊÊÂ7ß|ƒýû÷cÿþýž½§é‹/¾Pz\C,X°W®\Axx8"##eÛçÌ™ƒÜÜ\ìÙ³GåNøÕ½–5¾ÿþ{,^¼7n”m«yÏ—E'¢Ùý'÷Zo¹m4›ÄâUl3Ñóšä¥½o¾ù&‚ƒƒqìØ1¤§§C"‘ÀÍÍ ~~~²EÎ;‡É“'£_¿~r N­ÄWPP€üü|ØÚÚªTgÙ³gc„ 8|ø0222`aaoooôê%?ÞyõêÕ˜0abcc!‰Ð¿xyy!** mÚ´‘ íª‡ù%''ãÀ¸qãÊËËe‹=`ùòå ‹?¬\¹³fÍBtt4òóóaee…×^{M¶’aÀÐÐvvŠ/¬ÙgccSïu … Ü9spòäIÕ+öìÙíÛ·‡µµµ\›ê:¯:ñ«{-k´k×iiiØ·o233áèèˆáÇÃÒÒR¡,QmêšK£-ÖÆÖ* óh©|!Ÿ—Qsi³.ú 5iÍšâ¨Y"""¢ž’¤+ÉÉÉ ||ÿý÷˜?>Fމ¨¨(Eö̲e˰jÕ*œ;wݺuÓ¨@€ÐÐP 2¤‘£#RnÞ¼y055ÕÚç_~~>JJJT*Û¦Mk„†æcÈÕʽ*øùHõ±µµ•­–­ˆ&y2EºÓ¿téÒÝ»w‡¾¾>Μ9#[â½÷ÞÓqtDDDDD//&SÍ\Ïž=qüøq$&&ʶ‰Åb|ûí·r+ü‘z˜L5sÇŽÙ3gpþüyÀÁÁ„½½vÞr¯‰úæj½ˆ˜L½|||àãã£ë0j5`À 0@×a©EO×½Œ˜Li€É‘˜LiÉ­·0qûD쾸[ס‘0™"""Ò’ÇO#én²‹²eÛÒ Ò1qûDü~éwFFDD¡Á«ùeeea×®] Qƒœ;wN×!Ð+$//mÚ´Ñuô‚óhéí·ÃÑÂQ¶íQù#$ÝMBo÷Þ:ŒŒˆˆCƒ“©S§Naüøñ QƒlÙ²[¶lÑuô a2Eõ110A/—^ºƒˆˆ´¤AÉTDDDcÅADD/‘ 9°êÄ*Lö™ _g_ü’ò .ç]†© ÷]Œ9QsðzÛ×1½çtÙ1§ïœÆšØ5°6±Fhp¨l{Iy fíž… ÷ ÌöŸÝ¤í(,-lP¬u]‡/‰[náãCct×ÑÝe4~¿ô;Â’Â"Ÿ/«{Ǥ²¿g<ÌÀî‹»q­à*%•p·rǘ.càiëÙW…ˆˆTÅ—ö‘ÚŠÊŠt7 ]ºâó£Ÿã^É=@GÛŽ°4²Dî£\캰K.A9xõ ’î&–-• }KÌLÄé;§1¼ÓðzÏûÖ¯o¡JR¥RŒ–F–X?j}½ek]×x6gÊÏÕ]œ+÷®²Š²U”¥ÓŽs;°âÈ TIŸµ3æV ~Iùÿ7øÿ0¦ë•ÚODDÚÇdŠˆˆ4¶5y+Ü­ÜK˜šÝñë¹_‘Sœs@üíxø:û"ùn2âoÇcœ×8@\F\õ1nõž/én’ÊÉ”µ‰µJå#ÖÚ®Ãó‚;ÃLl†Ï~ޱ^cÜ)XnJv >;òŒ Œ1±ûDxÙ{Á@h€Ky—°åÌ|røø¹úÁÉÂI¥¶‘v1™"""Ù˜Ú êí(éÉmt«NPâ2â0ÎkrŠsñ0³üf¡¨¬±±Ï”Ûqpká&·HCm¶½¹ R©T¥Øô…ú*•kŒXk»Ïs´p”=µr²pR˜Ož‰T‚ðqáðvô–m­ÍkèæØ SwNÅþ´ýx×ÿ]•ÚFDDÚÅdŠˆˆ46¸ý`¥ „¿«?„zBY"› òµ‚kˆº‰T‚œâdþ™‰IÝ'©t¾žÎ=5þÆŠµ¶ë ® ¹ ±:v5@*•BŠêä±²ªpóÁÍŸ‡ˆˆ“)""Ò˜½¹½Òíæ†æèb׉™‰H%ˆ½‹6Öm`kj‹@÷@„'‡ãbîE¤å§¨j§ŠÆž3ÕX±ÖvÔõäéTI«p;¡Ö2eer.""j8&SDD¤AA8wr.àÔSÙy$ §KO ;iùiê e 4ÔGs¦´km€ÒáŠöæöxZõGo„PO¨ôx+c«Ÿˆˆ“)""ÒŠÞn½±6n-6$n@ai!‚܃†"Cø8ûàä­“¸qÿ¼ì½`&6S©NmÌ™ÒV¬µ1Ö7Ü)¼£°o`» Å¡ôCXÔw, -dû•?žK{àãäÓ óQãa2EDDZÑݱ;LŦ8~ã8 „ðuö•í t Ä×ÿûºúï*ñ´3g ÐN¬µqoé#}#D]ŒÂ¥¼K°4´Pýž©½fàèõ£Øqnv]Ø7+7˜‰ÍPPR€ÜG¹¨’T!|\xƒc "¢Æ¡§ëˆˆ¨a„B)ªTùÖ¤„!z9W¯Vçãì#·@Ã_“’Þn½›<¶ç5e¬†"C|ØÿCˆEb\+¸†¤»I²wZëã׉¿b’÷$è õqãþ œË>‡¬¢,˜‰Í0Åg :Ùujp D¯‚ªªê!µB¡jO³‰4!ª:^‚ˆˆšL~~>JJJT*ëãㆅ bâÄb-GõLai!Ò ÒáÚÂvfvµ–Ë*ÊBvQ6ìÌìàÚÂU¶]*•"9+R©>Î> ”ÏjJšÄZßuxüô1.å]‚£…£Â»¡žT<ÁÍû7QZY ©Tª°LzEUn>¸‰ÒŠRØ™ÙÁÖÌzþ”HU……Bøø¸aÛ¶øû—ê:zAÙÚÚÂÔÔTÓÃ#˜L½€ÔI¦FŽt‚O)>úè–£""zy¤¤bÜ8Güï™prªÔu8ô‚jh2Å_q½ä:u*Çù󆺃ˆè…rá‚!,,$ptd"EÚÃdŠˆè%ô©©†¸_÷C刈^ÑÑÆèÓç ]GBÍ“)"¢—\ß¾O`j*Ad¤¹®C!"z!ܾ­¤$# ¦Úpi"M1™""zÉJ1aB1ÂÃ-PTÄu"¢ÐP+¸¸T oßǺ…š9þÔ%"jæÌù"°v­•®C!"Ò©”CìßoŠ>z!G?“–1™""jLL$X°à!¶m3ÇåËb]‡CD¤åå,_nÀÀ'èߟO¥Hû˜L5£GÃϯ ³fÙáÞ=‘®Ã!"jRR)°l™ rrôñÙg÷u½"˜L5zzÀÚµy01‘bÖ,;”–ò#žˆ^k×ZáàA¬]›W× ]‡C¯þ¤%"jFÌÍ%Ø´)ÙÙ"LœèÀ'TDÔìUU_}Õk×¶ÀŠ÷PªëèÂdŠˆ¨™qq©@dd6ž<ÑèQŽœCEDÍVI‰Þ}×Û·[àßÿÎÇøñź‰^1L¦ˆˆš!— DDd¡M› Œåˆ/¾°æ²éDÔlH¥@T”tAjª!~ù%‡ï”"H¥R©®ƒ ""yùùù()iø‰ؽÛß~k©˜6­£G£U«ªFˆ’ˆ¨iUTpô¨ ÂÂ,qé’&aÁ‚‡°´”è:4zIÙÚÚÂÔÔTÓÃ#˜L½€+™ªñè‘~ø¡vî4Gq±ºv-C÷îeps«€……„ïb!¢VI‰rs…HK#1ÑeezxíµÇxgèÐᩮã—“)"¢f¨±“©eeÄÄ#6Ö—.‰q÷® QÅUDô‚21‘ÀÚº žžOáï_ŠÃÖ¶R×aQ3ÁdŠˆ¨ÒV2EDDDÏ44™âld"""""" 0™""""""Ò“)"""""" 0™""""""Ò“)"""""" 0™""""""Ò“)"""""" 0™""""""Ò“)"""""" ˆt)‹Åºˆˆ¨Ù‰–1™""zYZZê:"""ª‡ùi€É‘˜Li€É‘˜Li€É‘˜Li€É‘˜Li€É‘˜Li€É‘˜Li€É‘þr‘EÆb#xIEND®B`‚fio-3.39/examples/rdmaio-server.fio000066400000000000000000000001541476262051600173320ustar00rootroot00000000000000# Example rdma server job [global] ioengine=rdma port=[port] bs=1m size=100g [receiver] rw=read iodepth=16 fio-3.39/examples/rdmaio-server.png000066400000000000000000000761641476262051600173570ustar00rootroot00000000000000‰PNG  IHDRÝà]ÉbKGDÿÿÿ ½§“ IDATxœìÝy@LÛðï4ÍÔ´ïû^´ •²·X^BÈ’ìû/!YÊ–5Gxvž5Ë{Ö%Béµ(*emO¥´ï¥¤¦ùýq¹oTjJ™)ßÏ_wΜ9ç{ïÁýº÷Üs), B!„x·@!„úó„Bñ ÌKB!Ä+0/A!„¯À¼!„B¼ó„Bñ ÌKB!Ä+0/A!„¯À¼!„B¼‚ŸÛ Ôý:tèÖ­[`ddtðàÁŸÐãöíÛ?~ –––?¡Ç®‹Åb]¾|ùÞ½{ùùùõõõ°cÇŽM›6ß9r¤OŸ>\ ¡_ æ%uº”””ŸÙc||<Ñ£ŒŒÌÏì·+Z»ví¾}ûØKŠŠŠÈñ*//çFPýº0/Aýºª««8@l/^¼xêÔ©|||òòòÜ ¡_æ%uC[¶lqrrYYYnÇÂÓRSS™L&±½zõêž={@mmmpp0Qˆ7qúÉ0/A¨ÍØgolÙ²åÌ™3>,))ñó󩬬<~üø“'OøøøFŒAälݺ•¸S`ii¹iÓ¦£G>~üXDDdæÌ™¶¶¶ðôéÓÓ§Oçååiiiýïÿ344$~xêÔ©Ë—/Û EHHHEEeذa“&M¢Óédû7nÜhv~É¿ÿþëçç—’’òéÓ'33³™3gÊÉɵºË,ËÏÏ/ 33“Édª««÷éÓÇÖÖVCCƒ½ZDDÄíÛ·“’’jjj¬¬¬f̘!((Øê¡“——ÏËË€yóæÍ›7¬¿wï^4hЮ]»~°b€ÈjsæÌyóæ ûGöFæ—´û"„8ÅBµ‘ƒƒñ×ÇÎÎnôèÑäߦÒÒÒììlö¿b‹-"¶---‰&OžL¶`mmÍ^Ïž='OžäãûïY9~~þG?\·n]³‘ûöí[TTÔ4ÂÉ“'%ì¡’„……/]ºÔê.ÛÛÛ7ý-…B9}ú4Q¡ªªÊÎήi--­7oÞ´zèÜÝ݉޽{“•?þL^ï¹råÊ÷RZZʾSºººÍLvaaarB¼¡6#O{4MSSóäÉ“AAAÁÁÁuuud’!&&vøðaŸÑ£G“W2šæ%4mÔ¨Q·oßvtt$Jèt:F[»ví;wÈË$ýû÷'~˜––üÕƒþúë/---¢Îÿþ÷¿¦’yɤI“ˆQQÑýû÷ß¾}{Ê”)D •J oaãã㉚RRRgÏž}ðàÁÙ³gW¯^­¬¬¼k×.¢ÎÔ©S‰:JJJýõ—ŸŸ™Ê¨©©UUUµ|èrssˆ¯¢££‰Ê·oß&Jäääjkk¼—ºº:öýzöìÙ±cÇÈ ãÊ•+Ľ~ýzÓ¼äG Bˆs˜— ÔfäiOPP033“,OMM%Ïgä…„ÚÚZEEÅïå%bbbÄÙ´¨¨ˆüí„ ˆjçÏŸ'J FCCC³Áܼy“¨###Ó4B"/ILLlXCCCïÞ½‰ÂqãÆ±X¬·oßZ~kÏž=,+**ЍfddTQQAöÂd2‰‹4IIIdûÿþû/ñm}}=™3?~¼åCÇb±fΜI|µlÙ2¢„¼4²aƎꥑÈÈH²Íôôt¢0++«Q^ÂáDý8œ_‚Pû™ššª©©‘cccÉí‘#Gt:ÝÜÜœý¿àìúõë',, ÒÒÒ …Åb€••ñ-9q¡¦¦¦ººZXX˜ÅbÝ¿?00ðÝ»wUUUõõõ¥¥¥D¢¢¢?­5òôéSr{Ô¨QÄ…Bùí·ßˆ D…ŠŠŠFÏ3÷¤z÷î­¨¨˜››ûâÅ IIIMMM##£ñãÇ4ØÏî[¶l¡P(Ä6Û“'O–,YÒ¡€%K–\ºt ®\¹²ÿþÊÊJbf q1©Czi BèÇa^‚Pû5z ´¦¦†ÜfŸ_)**ú½¤¤¤Èm>>>âÙrÑòQ`±XõõõcÇŽ}øðá÷Z«©©i6/©®®n6r›½BS ãÞ½{®®®!!!L&3555555 `÷îÝîîî;wîdÿyhhhÓJJJ•4}wÈ!}úôyýúuII‰¯¯oNNN]]ØØØ³k;¤—öùÁˆâæ%ur;--L/Øïïüˆ{÷î‘I‰««ëðáÃ…„„"##ÉI£ß£®®Nn§¤¤˜™™5 Œ¨```@>K ï@}üø1111==ýÁƒgΜOOÏÍ›7³?•sçÎ11±F°§_-X²dÉÒ¥Kàüùó999d!±ñƒ½„‡‡“«¸>|øýñ¥VqxB?߃P‡4h¤¤$±ýÇÿÝnö?÷í@ÎA¡Ñh›7o3fÌÀÉÉ-°²²"lÙ±cÇçÏŸàÅ‹>>>D!1ŸTLLÌê[Ä+EEEîî‰ÂÂÂýúõ›2eʆ ˆ2™Ì‚‚+++ò–S@@À AƒÈ¤¥¥?~LÎimÙ¬Y³ˆëL÷ïß‹‹55µ1cÆ{ñ#½«¸8‰‡ÄáDý8ÌKê0 cçÎ͝¯¯ššš‘‘ÑØ±cûõë×!í[XX§Þºº:mmíAƒ©¨¨Ë~´LHHèÔ©ST*•LUUÕÄĤÿþŸ>}€~ýú¹¹¹µðóOŸ>íÚµK___JJÊÈÈhàÀä|Ï^½z©ªª2Œ³gÏòóóÀ_ý¥¨¨8`À€Þ½{‹‰‰þþûïä–‰ŠŠ³_ɼañâÅä#ÓÕK;üàDqó„:Ò’%KŽ9BÜbÈËËËËË»víÚ€:¤q+W®(++@qqqllìܹs·mÛÆÉoíììBCC-,,(JAAA\\\]]„„1k¤ÙY)$YYÙ½{÷š™™•––¾|ùòÙ³g5554müøñþþþÄüS[[ÛÈÈHkkk*•ZZZõöíÛÊÊÊ~ýúíØ±C__ŸÃ}dŸ¸J£Ñ.\ÈþmGõÒ?rBœû2ÿ!„Bˆëðz B!„xæ%!„☗ „BˆW`^‚B!^y B!„xæ%!„☗ „BˆW`^‚B!^y B!„xæ%!„☗ „BˆW`^‚B!^y B!„xæ%!„☗ „BˆW`^‚B!^y B!„x›jGFFfeeuR(¡Î¦ªª:hÐ nGBßEa±Xœ×¶··¿qãFçEƒêTS¦Lñööæv!ô]m»^øïB]–½½=·C@¡Vàü„BñŠ6_/Aýâòó󫪪¸B¨ËÐÖÖæ¼2^/A!„¯À¼!„B¼ïãðºmÛ¶´±±áj,£ººzÏž=Äö¼yó444¸B!‚y ¯óðð 6V¬XÑmòr§¬¬¬0/A!DÂû8!„☗ „BˆWà}œî#!!!222??_@@ÀÀÀ`ذaꔕ•ùùù}øðACCcüøñð½©-·VTTtôèQb{éÒ¥ÒÒÒ÷ïßWTT6l˜ŠŠJË"„Bͼ¤;HOO_¸papp0{¡¢¢â©S§lmmÉ’   ‡ââb⣦¦æßÿÝtª'­‘?477ß°aCtt4ñQXXøŸþ±³³#;:ujII {§¶ç!„º¼ÓåXXXiDÏž=W¯^íààÀÇÇ—››kggDTËÌÌœ8q"‘”¨ªªº¸¸ôêÕkêÔ©íkÝܹs ÆŠ+”””àãÇNNNŸ>}";%’uuõ+V6í!„"àõ’.o÷îÝÙÙÙ ««+$$½zõÚ²e “É\½zõË—/àСC••• ,,üìÙ3EEEX¶lÙñãÇÛÑ»~ýúݾ}›B¡L›6xWm~~~rr²¡¡!Ù©¨¨htt´¬¬,¬\¹òСC~\Ïc± ;›–•Å_QAmËûCѯ‚Ba‰‰5¨ªÖ«¨ÔQ(ÜŽý,˜—tyƤ¤$9Y$33“ØxõêUNNŽ’’RHHQ2zôh")€ 4ÊK8lý'ŽŽŽ zôèAfgg²wJ$%0wî\ÌK~eL&üû¯°ŸŸHX˜Py9^²E­o07¯?¾ÊÒò#•ÊíhP'ü¤Ë+**"6ž>}úôéÓ¦ˆL‚œáA&%   Ð¾ÖØKÈY®t:,lhh²Syyyò+99¹Vw uWAAÂü!ýþ=mÀ€gçRcãOêêuââL>ÌOP P^NÍ̤ÅÅ  -^¬ ¦Vçî^!¡îpçéÓ§ººº=JNNNMMqvv&Î÷fffB5ÏÀÀ€Á`“““ÉíáÇ7­Ÿ˜˜Ø¨š……EÓj¶Ó¬éÓ§Ÿ>}šÅb••••––¾xñ †]ûo´›qWÛò’§OŸfggã2\uQ***Ü¡+mSýêêêF%íûײi;$UUÕ¡C‡†……ÕÕÕùùùåççåãÆã0Ú¦·u7êTmËKzôèÁ`0ÆŽÛIÑ qðàAcccKKKn‚:’¿¿?æ%?¢Gävhh¨’’R³ÕÈ—iÕ¦L™Ò¾v¾gæÌ™aaaàíí]RRBvHãq]ÛòiiiiiétR4ˆG1{cÅŠ›6mÒÕÕ­©©ÉÉÉyþüùýû÷7lØ`hhhddd``@¼ {÷îÝ4ÍÒÒ’Éd³_·mÛÆa;ß cذaŠŠŠ¹¹¹ä;ÀûöíÛ«W¯6ÙÙÇ ¡vÃù%!Ä>>¾#GŽÌ™3''''..nòäÉ*444…B9zôèœ9s²³³ËÊÊ\]]É ƒæ¼ï¡R©ìïŸ1cF[ƒDˆga^‚BœÒÐиwïÞ?ÿü˜––V]]---­¨¨hjjjmmÝ·o_¢šššÚ½{÷.]º˜ššZ]]­¬¬9c#!!ÁÙÙÙÆÆfîܹÁÁÁìuvîÜieeU^^Þ´¼¥B¶óâÅ ''§Ñ£G»¸¸dddßÞºukÆŒ666›7ofo§éü&“yéÒ¥Ù³g[[[O›6íÔ©SŸ>}jv\\ÜâÅ‹mll,XÎþ‹Åºw£ãرc§M›¶}ûöœœœ:F¼¯°ll`ʨ©ù¯0+ ~û fÍ‚úúæEÎØHHgg°±¹sáÛ¡‡;ÁÊ ¾ú/…ä-²/ÀÉ Fø:ôpë̘66°yó7í4_ÂdÂ¥K0{6X[ôipê47ô‹ƒ ,Xß=°Xpï8:ÂØ±0mlßÝ~èB¨5]ìz 1cãîÝ»7n$ß>õ÷ß_»v|ýwBBBHHH]]û‰Âú¯ç<¢ŸÍ›7þü®_¿³wïÞÇÕ~›oòŒk×àèQ ¶¡‡û÷aÛ6ø:ôpî9_‡.„o‡þøâã¡=Bµ¦‹]/!¬[·ÎÆÆæòå˾¾¾‹-b±X6lhG;›7ožœ;gάZÏžÁÞ½0xp+?\·llàòeðõ…E‹€Å‚v =lÞ “'Ãõëpó&Œ ùù0q"œ9îîàë ^^ ®‘‘ð¡wwYYØ·üýáØ1ÐԄׯáÛ¡‡­[aÔ(¸|||ÀÑ(Xµ ’’Š‹áüyOOð÷‡›7ÁÃde¡Û=Bµ¨‹]/!Ìž=û q>7n\JJJHHHAAûU NÌŸ?ÿĉ͵µµ¢¢bLLŒ··7ùþOEEÅÑ£G?}ú´é+”ëëë½¼¼ÃÃÃÉׇ:88èééݾ};??_^^ž(´µµõññ!¶'Nœ¨¨¨èááqþüù]»vÑh4‹5{öìµk×&Mš´nݺ_âÇŽA\,_éépü8L +V´þ«Ù³áëÐøq’!!PPmz˜?¾=X[ƒ¢"ÄÄ€·7¯~UT„Ñ£áéShúöìúzðòAAòͱ §·oC~>|z°µ…¯C'‚¢"xxÀùó°kÐhÀbÁìÙðuèaÒ$X·~…¡G¡ïë’×KØ_R&&&P\\ÜÖvÈm---:nggG/’hö-¬ïÞ½«ªª6lû;Í¥¥¥§L™Âb±^½zE.X°€ý‡ÄG¢‚˜˜˜‹‹‹———››ÛÝ»wß¿ £­ûÒõ0pã €žœ=Ëѯ¾z01hûÐÛЃˆhilCÄ;Dš}ï»wPUÆÛЃ´4L™,° =|;ô_>ÄÄÀż¼ÀÍ îÞ…÷ïàWz„ú¾.™—HII±¤Óé@¼Âê{šýVRR’ý#Fåg›ß@£Ñ ÑT1¿µQ$d ûìW ‰¦j¾Nù}455÷íÛצ—ua4P©jj ,ÌÑOp: Å¡oþÛo‡h4ýfj §ªˆÁm2ô_JØg¿~;ô_*³}‚{÷€ÉOOèÓ45aß>øE†¾] >>œøìY·iŒgk·„„òÇSS+¹úuɼ¤eDPXXÈ^øæÍ›ŽíEQQž?ÞèžKtt4())‘%±±±ìbbb@YY™,±°°8pà@XXXIIÉÖ­[׬YsäÈ‘Ž–}þ S¦@ELšÂŽÐ&‘|;ôÐÑCŠŠÏŸ7¾ç À6ôðíÐCL ÛЃ…8aaPR[·Âš5ð+ }{åç×>œÀƒ§ž ¬ÝâãËNÀ¼qE7ÌKˆ÷}:ƒÁ8uꔪªê€öìÙÞ(t”={öðññíÝ»WAA¡ÿþŠŠŠ+V¬ ÊÙo©¨¨ 0@OO¯oß¾={ö|ýúµ‘‘1µ¥´´tíÚµ êêêƒÖÓÓ1b 0 Ã£å-—.Á_ƒ8;• W¯‚¼<̘Ñü|ÎMŸ œ:ªª0`((Àž=Ð C{öìÝ Ð¿?(*~™´»gÏ77ƒTT`ÀÐÓƒ¾}¡gOxýŒŒ¾Lm)-…µkAAÔÕað`ÐÓƒ#ºýÐÿ99A=<ýól`uE]òyœ–)((œ={vÉ’%999999òòò>>>—/_~ùòeÇv4bÄ?û•~ IDAT?¿+V¤¦¦–””€’’’§§ç¬Y³Ø«:tèÀ·nÝ"õÏ?ÿsbôôôÖ®]{áÂ…÷ïß“^edd–.]êêêÚ±¡ò–·oañbÐÓûïɸv †‡©S!$äËÜŽvPP€³gaÉÈÉœ—¸|:zèaÄðóƒ+ 5JJ””ÀÓ¾z8t€¯C#FÀ?ÿ|™£§k×Â… ðþý—I¯22°t)tï¡ÿ1Ÿ®^Í0@†=¨¬¬ ÍÏÊú( Àß»·¸™Yãä€ÉdEF&%UÔ×7hjŠXZÊ P‰¯23?Þ¹“ea!od$ùìYÑ«W¥|ò"ÉÍ­ Ϋ¬¬ëÑCÔÒR!9¹âÑ£Ü1c”utD›Æy³-ÄÖÈÀúö•|ö¬ðíÛraaþiÓ4 /¯&88¯¢âË~†… åt%QQÔÔÔæ}øðQEExÔ(%í›ÿW½zUš›[#"Âod$Õ»· Ô¢.–—8::ÚØØèèè4-ÔÔÔ$K¦OŸ>qâÄׯ_óóó÷êÕ‹N§kjj.Z´HDD¤…vNž<ÙhµVqqñàà`ò‰_b²*‘RÆŒ3f̘ÔÔÔüü|)))=== …Ò(0cccŸ>¼ÿ^YY™¸SC V.Ù½{wVVVNNŽŒŒŒºº:­Ýg宂Fƒ»w¡gOaûgÚÜbb ´ªªOJ%8:‚ |;d_ Ù†¦O‡‰áõkàç‡^½€NMMX´è¿¾šmçäÉÆ«µŠ‹CpðOü“Uنƌ1c 5òóAJ ôô€mè¿ôbl >>ðá¼ÊÊÀ6ô_V.Ù½²² 'dd@]½ý Ù¯˜ÆÁ~Ç$ àÆ q••ÿMO66–:vl€œœ ññåË’+¢³³ÿ[FQ‘ñ×_‰³cffÕáà õĉ¤ÀÀ\¢•JÙµËdÒ¤ÿëúõÌmÛ^|þÜ@vak«røpBÏžbD^Ò(0›m9¶f9’ØòÄh!!ê¢E=¾÷-N9x0><¼zõ’˜6MÃÛ;sëÖÿvÐÈHrÜ8Õ¦?à#þùöÊ‹ºº† "òò¾ÌæîÕKâúu "»ª®f::F>}úÍ|/ ùcÇú3]ìÔƒ~¦.ö‡CKK«éB¨Í š™™‘õõõõõõ[þI¿~ý•Ðh4+++ò#1§UA¡ñ&ttt¥8M{QVVfŸëÊŽB¡¨©©±ç+Ý\Ïžß’¦¦RUUÌÀÀœ¸¸’eËž]¿nI¡À‡ÕóçGTTÔõí+Õ·¯$Î÷æMÙÓ§…ÿû_ä£G¿‰ˆ|ù×ÏË+µªª~ÂUyyÆÛ·eOžlÝúâ·ß‰‹¯^•nÞÇd²ÌÌd %JK??xsüxR«áµÜ,‡±5rôh"“ÙRb"##ÐB^ò5°´êêúqãTÔÔ„¯^•nÚôß–”|~ðàñcÍì —Wê§OÌÉ“Õ%%éOž$$”oÝú"'§†Nç›9S“Jåó÷Ï~û¶ìêÕŒ¹sµàãǺ§O {÷–Ð×—‘¨¨¨Š* Í?v,ÉÍ­W«ý²ºX^Â-û÷ï?qâDJJЦ¦&û…Ôýíß'N@J hj=/9s&¥¾ž5¾Ž»{âZÕÚµ½&M Ž‹+yú´pÐ ÙS§’+*ê<<úΜù_&zþ|ÚŽ¯|}³fÌø2šuu ÷ïPQ">®_{ãFfttñðá pî\*“ÉZ±Bùr=¢‚‹‹Þ„ ÿ¶^ËÍr[#ÎÎz­^/i5°ššz_ßaZZ¢ÄÇÕ«c˜L–‹‹ž‹‹þ×Ô?þqÓ²X0RQ‘L&k̘ ˆˆÂÁƒeÏœL§óÀìÙZ£F>~œGä%""4ooKQQÚóçÅÅŵ4ÕÆF);ûããÇy˜— `^‘äää””yyù‹/²ß©AÝ_r2¤¤€¼<\¼8ô¼äùób*•âêj@‹¤$ÝÉIwãÆ¸çÏ‹ ’ˆ(¤R)%%ŸKb±¾¬ ôñc=¼~] ðåÜ?i’™=€••™ùù_nLÄÅ•2üK—ê’TT„§NU?}:¥åðZn–ÃØ!s£1a‚*™”@ll ƒÁ¿lÙ-«ª 98hœ9Óx'NT%’ R)Ȥ¥U.ZÔƒHJ@SSDIIèÇ/w¦øøàìÙÔ€€Ú)*ªýñ½@Ýæ%Y½zõ²eËtuuÙ'— _ÂêÕ°lèê=©¨¨““üæ šš0”—×@IÉg&“uèPBÓß²OI!ϵâ’C}ý—ëå埩ÔoRR•Ö—l¹Yckäç—M¿mvUU›ÙA…oöˆÁ 6[XQñåE•ý•ðAJJÀÜ\NAA§óQ(”«WÓɉ,5 óŽôlv>úàÐó*11ZnnͧOLöÔäýû .N11þÏŸþ÷¿fÎÓÄ|UNˆ‹Óóò>1™,ö3wvöÇ ½½±uÈü’F)H³;˜•õ£;ÿþ›'(H½„´´QÂbÁ… ixÙµ ó„P—Ô¯Ÿô;YÄoØÐ‡()+û|êT2ñ ,wíZ†ººð„ ß<]’˜XNL>儱±¤Ÿ_öÉ“Éä­œœœjoïÌ ¾}±uÈü’FLL¤|}³ŽO"oeeU_¿žÑÖvš¢P(üüö'Ÿÿú+©¼ü³„^zD-Á¼!Ô%-\ØÃß?ûìÙÔ˜˜ɪªú  ¼’’Z##Ée`É’ž9®®1çÎ¥öí+)*J+,¬MN®xýºÔËk°²²P«]À¼y:þþöï/04”,-ýüàÁ‡¯çÚö¿Ì¨}±uÈü’FæÍÓö÷Ï>t(!"¢|GP°N ÆÆR¯_—Ž4r¤<^üöm&%¨U˜— „º$ñƒûoØûòeÉË—%D!±~ q§@EEøï¿‡ººÆ¼ySöæMùC}}q“èÛWÒãïöí¯¢¢Š¢¢ŠÀÈHrØ0Åâ…„Úÿïg‡ÄÖ! %wì0ÞºõEttQttôí+5~¼Êï¿¿jõ·-sqÑ‹Œ,LI©8w.øù)¿ÿn|ùò;ö%[j ó„P×Ðô5466Jƒˆ†æggWÓé|}úHš™I³ÿÄÀ@üÞ½±±ÅoÞ”ÕÔ0ººbúúâÄ·êê"..úÆÆßü„(44üoq³éÓ5--僃óªªê‰åP·lyl3[Æa³-ÇÖš ìíÕ‡•#´Õѳ²’ON®pqÑ'gº4ûCssyaa9w„0k–Vmí—7xKHÐýü†?~œ›‘Q%&F·°SRjh`‘cj…Õ–÷ªÛÛÛ€··w§Åƒx…BY¹rå¸êHõ÷7??¿ªªª… ::Ú‡çÓR.äÍ›²^½$ÈÙšoÞ”M""B‹ŒÝh)â¢{÷D\\äSSÓ¸jñ>]µíz ±Œ‡ªªjëUQwêÔ©7np; Ô‘Š‹‹{ôhåa ÔÔ¡C ïÞUššÊHIÑÓÓ«‚ƒó˜LÖœ9Z˜” Ôð>j^›.¤!Ôõé#ñï¿y™™ÿ=:;y²º““n ?Aµ[Ûò’ž={öìÙïãt{ eñâÅx§›!îã ¶rqÑŸ4IýùóâÜÜjQQzÿþÒ=zˆq;(„º-¼^‚B­PQb_T!Ôyø¸B!„И— „êž\½zõãÇXDqæ%!„º‡W¿ÿþû Aƒ6lØÇí`P;a^‚B¨{X±fÍš7oÞØÛÛ=ÚÛÛ»¾¾žÛQ¡¶Á¼"""¶mÛ–‘‘Áí@ãÙÀº–ˆ´ˆm¾Û2Š3¸Hc<B]—¸¸øìÙ³ýüünݺedd´eË–#F\¿~Édr;4Ä)ÌK ""ÂÃû§ÿÐÐÐmÛ¶½ÿž½ë"R#<ü<2Š2¸Chrè6ßmïK¾_ ¡îªOŸ>»ví ²´´Ü²e‹Ý³gϸâæ%0xðà­[·jhhp1†ÐÐPFy /Ö Ö¼uÜV  .ÆšêáçÑ(/á…ÀêÞ”””¶oßîïï/''7kÖ¬7¶ü Ä pýœ7oû•‰ŠŠŠÀÀÀ´´4!!!“Aƒµ¼ƒ™™™ùùùRRRVVVzzzMû»sçNff¦’’Òøñã%$¾¼YôâÅ‹?//¯ÀÀ@ÐÐИ7o^³qÒQ«G©Ãž I a˼‡¹™†Ùí¸Û/²^¬µY+Dgß겇ñÓ‹ÒiTš©º©EO¶¡I O w²t’–ô{é—Z*/&?Áh‚”p“ñå  ! ÿ×þÉyÉýÔûY÷²ŽH‹xøöá¼!ó4¤5ÈÊ5 i…iBt!5“AÚ­oqf`B`~E¾”°”•®•žÛaÿÚ¯Cì΋;™Å™JJãûŽ—ú:¾‘'>¯p¯Àø@Ðј7x^³qÒQ«G µCRR…‡ÇË©S5ìì:÷ý_ÅŵQQEĶA'¾=˜Ôì®ÕÔ0É0È7wocÆŒ4hкuëf̘±nݺùóçs;"Ô¼NÏKœœœNŸ>M–,[¶¬ªªêÂ… ÎÎÎd^âååµjÕªŠŠ ²š¹¹¹ŒŒ zzzš˜˜¬[·.11‘¨ --Ô·ïi>'ôîÝ{íÚµééé°zõj"/ñðð°²²"OÿgÏžuuu-//'Û:thHH_ó·½ÜÝÝ÷ìÙCΫ¢P( .<~ü8F#ûíիך5k233‰:222·nÝ:t(\¼x188Î;G|kiiIä%㤣VRÇj`58ýít:Œm|‡-«ª­ºqÁy¸3™—x…{­º¾ª¢†mhz˜û,õ‘‘€Àø@ÏOu“u7Ö%æ}\D:huP_U¶ñå ‘Þʽ×ÞX›^”«[mÝËš˜Æa¥kEžþφŸu½îZ^Ã6¾:CCÖ†ðQ¾3¾·Ü÷ìa6°ö¡ Ï>ÞÙÙ9,,¬M,]º”N§/Z´HYY¹Ù« ÞÞÞ‹-333333*•úüùóððð†††fó’cÇŽíÚµ‹B¡ØÚÚêëëgddܾ}ûÌ™3222»ví"«-[¶ŒN§;:: ÆÇÇOœ8111QZZzΜ9 ÁÁÁóçÏWSS€fç”pØQËG©Ã Ï|žÞÀjh6/9|l×½] ÅÖÐV_Q?£8ãvÜí3agdDdvMbßËËèTº£…£ M00!0>'~ⱉ‰¿'J‹HÏ4§Õœ<È|5)5hvN ‡µ|”PW¡£#:`€ `0ø‰øù­Y† ÅÉÉISSsõêÕÅÅŇÂÔ„×tz^òçŸòññZYY%wîܱ³³c¯ãîî.$$Ú¯_?¢„ÅbM™2ÅÇÇ'11‘¼U¡­­ýèÑ#ƒ»ví244|òäIEE…˜˜稨¨„„„ˆŠŠ~/à7À±cÇ–.]J†‡‡ïÏîîÝ»àæÍ›'N$Jž={fnn~èСM›6 …ŠŠŠaaaD¨õõõ>>>çÏŸwuu3gÎû÷ƒ,X@\Aù‘ŽZ>JîχòQøWZéZ%w^ܱ;öíøÞr¢ …® í§Î64'¦øÄú$æ%’·*´eµ­~Ä 1`Wý.CÃ'iO*j*Äbœ7¢"©²&DTðûã{k#›yl©Ûø¦†S)ßßû»àæ’›¿öôgæžæ‡m»IXàëøŠ+†­ #B­o¨w8éàës>⼫µëœAsÞ—¼N ^0tqåG:jù(uo/_–xz¾3GÛÄDêâÅ´„„r!!þ‘#ÇW¥P¾©Ut÷nvVÖG:¯OÉiÓ4ed5bf&ýÏ?ïÞ¾-—“05•9{6¼½3Ÿ<) j^¾lŽ»Ö]5êܹs .\³f;}û¾w-qEçæ%™™™999ÖÖÖdR&L033‹ŽŽ&>æææÆÇÇkkkß¿ÿþýû,‹Åbñ%&&†L)Ö­[Gœn€N§92)))77WLLŒóFÖ¬YÓBR’’’bffÆž”À÷Ò…÷ïßggg2„Ì`À€ööö—/_Ž577'ƒ'3~~þíÛ·ûøøa»O¬Ï“Ô'®Öœo[:úÞQ⤣.­¼¼.*ª¨O‰íÛ_|" ïßÿ˜{øpòüýǯ½¼RÉ_å;—vúô )²CCI²qEE¡„„rÈÎþ˜ÝÊ*æ³g‡3™¬*HHÐÐwí—Ò¿ÿ'N8::JKKÿE<¢só’ÒÒRh††™—@ZZÚæÍ››¶À>ÉCUõ›ùh"""PWWצFzôèÑBÀÅÅÅ ««ÛBvÄji5žQ¯­­ %%%d‰¦¦&{â#ñóŽí¨…£ÔáJ«K€}Ú&ACFƒÌK +  ­0móíæ††m’‡ªÔ·‘ ˆ@³®Môkq|«Š@WãñýX Z²M»¬6”|d_™oÇWF¾ŸŽí¨…£ô‹¸p!MSStåJYY·oËNŸN¹ÿÙööêððaŽ—W*??eî\íþýe++ënÜÈ|ú´ÐÙùYp°µ€À—«bçϧjjŠº¸è«© ‹‰Ñ$%颢üÛ·¿²·o}ÞkTTQËy y£ËíÚ¯fÈ!žžž«V­êÕ«W£«øˆ‹:7/‘””€¦+ƒ±—u ìíí›¶`ffÆyGœ4ÂÏßÒ.KKK@RR'’ý¾{÷®QyZZ°?“žžÎ>…˜xKü¼c;ú™$…$ éŠ¥ìk…u ” ìû574œ/ÇðS[_iHÊãx|…%à]a“Ã^˜ì¤¥³Og!&ÞawlGHVVÐÇÇŠÁ À°a ¦¦Ò³f…_»–Nœ¼¯^̀ݻû‘çà TçÌ Œ, Ê3F™(”“cøøX2ÿýi10¡V§}üý÷PVKi Ðhí¼)Àõ]ûÙÚÚÆÇÇoÞ¼ÙÈȋ⛗¨««+))†††’ìÞ½{—¼Xªªª=zôÈÍÍ2eJïÞ½Ér‹õðáCr²HË:¤PQQéÑ£Gttô©S§Éò'Ož <˜ÒèN/€šššŠŠÊ“'O|}}ÇOÆÄÄܸqƒÁ`°?"ïéé9nÜ8âR}}ý–-[`È!Ä·‚‚‚ðíevwô3©K«+I(Ɔ&‡’ìÞ}u—¼XªRª=äzä–åNé7¥·ò·Cÿœ,Ò²iT$UzÈõˆÎˆ>zÊÑ‚m|SŸ Önn|¥ÔT$Už¤>ñ}é;¾ï×Þsãù a¢Æ6¾žãúŽ#n!Õ7Ôo¹³†è|_~Aøö²G»;BcÆ(gnÂÀ²**BII•ÄÇÄÄrƒ„ÿ. P(0mšFddaBByò¶±Qb?s·Iÿþuvçú®ýš\]]###׬YsõêUœË :ýïªU«Ö¬Y3bÄ;;;MMÍ””___99¹‚‚ò4°gÏžI“&™˜˜ >\OOOPP0###***==½¦¦†Ã?(ÒìØ±ÃÁÁañâÅgÏž%žÇ‰‰‰‰ˆˆ¨««köZËúõëíììlmmõôô233oݺUWW·nÝ:r.*äææêëëÛÚÚ ½}ûVFFfÞ¼yÄ·:::àêê.$$D¬_Ò¾Ž~²U#W­¹±fÄŸ#ìŒí4e4S R|_øÊ‰ÊTPàëøNÙ3é¯I&¿› ×®§ 'HÌ(ΈJJ/J¯9^Cåãl|;¢Ø1q‡ÃI‡Å/>~–x'&#&"-¢îd?¥¹ñ½Þù²³Ý1;[C[=½ÌâÌ[q·ê˜uëlÖ‘sQ ·>>Í^qG?ÙÏÈK¼¼¼nܸA”,]º477÷Ö­[äÙÔÎÎîÒ¥KË—/ðàÁƒˆB>>¾Ñ£G·|Û…]‡4S§N-))Y³fMTTTTTQhnnþ½ ÛË–-ËÎÎÞ»w¯ŸŸŸŸŸ|]Vä÷ßg¯vôèQ77·“'O‰õKˆÛF`ccc``¿wï^øº~Iû:úÉVý¶*!/Á+ÜëÆó¯ãkµ4·<÷VÜ-òljglwiÑ¥åW–?xûàÁÛ¯CCáÝ{tË·]ØuH#0ÕtjÉÇ’5Þk¢Ò£¢Ò¿Žoóï-^²lزìÒì½öú½ôó{ùõ°]ø»Ý·ã;㨛·Ûɯã+"skÙ-â¶Øô¶1P2ˆÏ‰ßû`/|]¿¤}¡·oËØ?~üXÿî]¥œœ ñQNN05µ"?ÿ“¼¼ Yçõë2—g_,¤qbAœïY-ß¡€Îœ_Âõ]ûeéêêN›6íÀ¶¶¶äsˆ[:=/¡R©gÏž]ºtiHH :´ÿþººº222ÄÍ ÂôéÓíìì‚‚‚’’’444HNá9r¤   ‚‚{ËD¡œœÜ4ͽ†ÆÉÉiÚ´iêÙ¹g—Z- I€¡:Cûkö×ݤ+#"#HcßþÓíŒí‚‚’ò’X Òµ’S8GŒ¤ *ˆ}¹ÁHAš œ˜Ü4ͽ†ÆÉÒišÙ´o¤¥‹3ÄMÔMh¶8¾“v-¶\ÿeÖazÃØ—a%ô”ï¿=Þ÷…ofq¦²¤2ûz¯ HŒÞíÿÊ?µ µ¶¾–¦i`-wÄáQêö=ʹy3sòdu¨©anÜW]Í;VžøÖÜ\.%¥bíÚçšIJÒ :ºøäÉ$⫚â€÷ï[b¥óæ—p}×~eË—/÷ññ¹zõ*®Ëu”6%ÑÄ5.ooï6õÍ>óôèѣ˗/Ÿ8q¢O›Úé¢Ö¯_ïéégddÄíX8E¡PV®\yàÀN*GgD³Ï<=úøèò+Ë'OôYúkŒïÍõžžq[âŒTy}|Û÷÷·©üüü–_~¦££}øpþ˜1ü‚´ÐÐü " ÄããËåååäéé•UUõBBÔ»wG¨© @aá§qãÕ Rµ´Dªªê³²>²X`o¯±k—1ÙÈÆ}æÏ×aoüÓ'¦™Ù½ššúž=Å$$èÐi‹|ܹ“åêsð ™­­ /ìš±ñ]--‘›7­:cg¦{÷D\\äSSÓÚÝ‚‡‡GpppPPÎ2épÄ££úÓPùœU IDAT£†Þ§OcccóäÉX¹råOèýÃ÷ ï£ÒÇXÕ˜F¥ÅdÆ]sµ´´Šš&·&ctã]ã}ZZZ†††÷ïßçäô´`Á--­M›6ý„ÀšUPPðøñãòòòñãÇO›6­i&“éããVYY©®®îàà ¯ß8‹å¤ÎOö3ò’   ˜˜˜/^*))Y[[+**þ„~yÄ÷æµtA®A11/²^V*I(Y÷²Vÿ•Æ÷;óZP§£õíÛÒ².²²‚²²‚MË%$è-,ã!$DíÓ‡ÓUg~Ä‘#‰—/§­<{vãÅô~ήåäT»¹=€êêú¶…Þ­5êôéÓ;wîlueúèèèOŸ>ýœ¨šÚ¹sçùóçÉiÆÆÆMëÔÖÖΟ?Ÿ|z#,,ìÊ•+žžžì+ÈqRççûI¹›šššššþœ¾xÍÈ‘#GŽÉí(:—©†©©Æ¯:¾ú#GêwóñE.-­2-­ÒÀ@œ[ÔÔ0£¢Š¸Õ;Ï277ß³gOrrrÓgñòò"VӿЂ‚YYÙaÆ1ŒóçÏ7[çÈ‘#QQQ Ë—/WTTü÷ßÿþûoww÷þýû+))q^ççÃåwBèç2DîÒ¥/ÓN¸öHª’ƒ CDO_èêêŠŠŠÆÆÆ¶š—p¸y'Ù¸q£¬¬,…B h6/©¯¯¿|ù2•J½pá1çÔ‚B¡\¸páòåËnnnÖá üãˆêZ˜?Ñ…ÈÈ4]àäçïƒÁËÒ7ÅÇǧ¯¯ŸÞÞÞÉÉÉUUU***C‡9r$¹(ûü’}ûöÅÆÆ6mmáÂ…#FŒ ¶ËËËoܸWUU%//?jÔ¨áÇ·;ÎV—~xùòeEE…¹¹9ûƒ0óæÍ»páBhh(‘spR‡líúõë>|PTTtppPVV^±b…µµuÓu¶:æ%¡®¡åù]Z7Þµ.G]]=+++99yêÔ©ìÏÃ_ºtiêÔ©üññ‘}~IRR9EƒÝ¬Y³ˆ¸¸8GGGöµÞ¼yÓÞÞ~×®]ÄÇ?þøãÍ›7-¶oß>Îï­¤¦¦@ß¾}Ù UUU%$$È÷¬qR¼½½ÝÝÝɹ,>>>nnnQQQ={öä0˜¶Â¼!„úBUU5::úêÕ«UUUVVVvvvÙÙÙááá•••ÍþÄÍÍmÑ¢EäÇÏŸ?oܸqÔ¨QcÆŒ€ªª*''§²²2;;;+++qqñ÷ïߟ?ÞÛÛ{РAÄûΛÍlØÕÔÔp¾D$++Û¨\NN.99¹¦¦†Á`pR'''gëÖ­,kÒ¤IÇg2™>üóÏ?9¤0/A!„¾¯¨¨ Þ^²oß>raîiÓ¦UT4¿Œ®®.¹]__¿dÉ’aÆmܸ‘(¹}ûvqq±›››““Ym̘1–––>>>D^²aÆï5NjÓDT&“ Mˆ#Jêëë9¬ãëëûùóç ¸»»ߎ;vÆ ?¾xð`'EƒxÇ›7oZ½ß‰ºœ6] FèÄÏÏ_WW§©©èëëáåå•““3tèеk×ï~oVCCƒ«««  àÎ;)l+âUWWÀË—/›þ„NÿòéŸ_BÔÌÈÈ`/¬­­ÍÉÉ‘——'®ˆpR‡˜CÓ(!ïÜçÛÛ–— 8:âýˆÇµéý8¨«Àw¸#Ôªªª*QQQŸ={öìÙ³   ÀÉÉiΜ9ÁÁÁͼ/šÅb­_¿žÉdþùçŸÖd#ÖõððhšÓïºïðù%†††Âd2É;5aaaõõõÄWÖ!ü‰g_ôíÛ·œGÒ8¿!„ú¢²²RDDäüùózzzÄÅ@RRRDD¤   ##ƒ}6 ÅbmÞ¼¹¼¼üرcM§kŒ5êÂ… wîÜÙ·oŸššQÈd2=zDÌð€N˜_¢¨¨hbb»ÿ~777 …’ŸŸ¿{÷n f´pXgèС—.]òôôÔÑÑ!‚OMMíìÿ²b^‚B}QYY)**²cÇaaa555:þîÝ»ÊÊJIII2±`·cÇŽ«W¯Ï™3‡½œX¿¤ÿþöööÞÞÞÇWUU•‘‘©¨¨ÈÎή­­]¼xñرc¡íóK‚ƒƒOŸ> %%%àëëìkЬ_¿~ÆŒ'Ož¼s玼¼|bbbmm­©©© ÙN«u†Þ·oß—/_Z[[kkk3™Ìôôt]]ÝœœœÎ{ë2æ%¡®!ô]è‚ë 6ŽØ8ßl>·cùƇòS¥={ÿ¬ŽYç5ÕËB ß[ÙU¥§§«©©988444DDDk¬À€ÜÝÝŒf–èõññ"3`gkkKlìܹ³GgΜÉÊÊÊÊÊ6f̲B[²ß÷ÉÍÍÍÍÍö5ELLLNœ8±eË–œœœ¼¼<>>¾Q£F5šûÒj*•zúôi77·ÐÐPb¬••Õœ9s,X ,ÜYËb^‚B?dòÅÉEñ]3ÝDRRÒøñã-,,,,,ª««333Y,–¢¢¢¤ä7/td?ÎéÓ§É;2ì455‰ >>¾ ÌŸ??33³¤¤DJJJYY™F£µ;H++«K—.5-———oT-$$$--X²VF¦™µûZ­#%%ååå•———››+//¯¤¤äåå펿e˜— „ÐQS¶ÑµÑcD@bÀµ—׸j¿ššš¬¬,òªƒÐ÷î°°¿‡Ã·ÒR( 9ËÉɵº=Ùi ÏqR',,LTTÔÈȈ˜úqôèQ>>¾!C†´)fÎa^‚B?äæÜ›ÄFPJw#A?(**ª¡¡ÁÈȈÛ𤤤ݻwKKK«¨¨äçççååÀ¬Y³]›é@|­Wi#++«oöÇñl`â‘øEDYYñâÿy60uõø¦ˆŒû¿í{ïëÝÿp÷ûî%Õ%äWÌæÅç'œ›`rÐÄø€±Ýy;¯h¯š:.¯Úú.Tg·Î¹èsO3ŸÚÿmßçÏ>C =y‚øöâó‹¿úÍ`¯õiëû‰÷¹ê/îÑ£G½{÷f&YXXôëׯ¸¸øåË—yyy ,ؼysçõˆ×Kx??¿••U`` ·A‚ŸÿO++ÕÀÀ©Ü¤KŠý»;x7³ Ÿê?]yýyöó[ón Ñ„`_ȾÓÏN“•ßä½y“÷†ÆG›Ýoö÷ÔÝ£K´ö=2Â2O—?ýñÈ_伨ýx7“Å€šºš}!ûø ?þ¿½{‡:û~fÆehŒ;¹Œ;Ñ)IK7Vj+*¥ËwÛÒ…Üvû¨-mÛj×þì–6—R ݳ ¥«B­ ¹Qî„I I®3¿?Þí»Y4F†qy=û؇9ó~Ÿ÷ëLÅËy¿ÞçÔxx; äMÉ÷1ß«I©éÉñxõOÀ &“yïÞ½uëÖñ;áEGG'""¢¡¡¡²²’D"ihhÉäA½"ïóö ‡•a—†IüÍÍßó;„Þ ÛÀ¸4Òã2· n¯˜²Ây–³EîiíS¯»^…u…Á©ÁÛgoGÅ=ñ]ì;Km–Q ¬¾,&?FTH”ßQ#„ÐÍg77oÜ0}ƒ”¨TbIâ1?И,¦Ï" - "x,õXhZhXZØÁÅùìXtÿþýººº… ò;áHBBß*h°Á| `$1P4øcÑØsŒÆ4ãã+Ž}âëØÂX,/O²Ô±$H!=y==ù>æ ,ü¨Bh¶ÆìŸ,>îåf=ÁÚRÛ2¶0vÅž•ú×áýqî—r.½)šx@7!!!óæÍÓÐÐàw cÝPÔ—œ;wÎÔÔTLLLTTÔÈÈ(00Éd²˜˜¸dÉ!!!uuõ;và+ßµ¶¶[[Ûššš5kÖHII7ÎÒÒ²Û^L&óàÁƒ:::ÂÂÂššš¾¾¾¥¥¥ÁÕÕµ×À¸ì–slŸÃa¼øuKKK—-[&!!!&&¶páBüºt:@ tuu%$$þõÏ?ÿô÷ƒå~€ýÕ³ âܹ|SÓ bbþ¢¢~FFg3™Lû‰‰•K–\‘‘9*$ô—ºúÉ;þijjÿ7ÎNÁ×ÖöjMÍû5knHI7ÎßÒòRNN{L&ëàÁtPaáÚš'}}ÓKK _W×Oe†ìqÙ-çØ>‡Ãxñë––6.[vUB"PLÌáÂ(üºtúKÁ·«‹•PA øbÿýóOe?Xî8ú˜©™±/À@“ ©K©—¿-Ç^þ4ÿ'&‹9ÿøü½±{/d]Ègäó)Ì^Ì Í`©HUD+z¬ƒD$É‹ÉÃ#Ç|‘“““žžîààÀï@ÀàÏ—ìܹÓ××™••••••ššzñâE¬%88xÛ¶mØæŠ¡²²²C‡%$$$''cû"„ÌÌÌJJJ°— ø“ÖÎÎÎÁÁÁØ×%%%;wîÌÌÌì3¶>»å&¶þŽ!T__onnþòåKìell,N§Óé}ÆÜ¯ õ9ÀÛ¹3Ñ×7-ŒWYY÷RS«/^ü¸^Pppζmqÿ~„¨¬¬ñСŒ„„Šää5¢¢‚ÿÆÙffv±¤¤ñß8+,,.8ÈÈ|\ÂÈÙ9>8øcFURÒ¸sgbf&£ÏØúì–›Øú;^„P}}«¹yøË—ï»ÅÆ–ÒéUtúZÙ>cî×…úà¤'¯ç—Y•ù¸êqzEz@R€¤¨¤¿ÿÙîk‡ã†¬¾DXà?ûª`ÙU÷FDèökL&ó·ß~›6m¾ð<à#ÞÏ—°ËÌÌôõõ ¬©©yóæÍùó祤¤ÂÃÃcbbB%%%nnn¡¡¡555­­­yyy+W®ÌÎÎö÷÷ÇûILL¤Ñhiiiïß¿þü¹……Å›7oðUeÒÒÒ‚ƒƒ©Tê©S§^¿~][[{ìØ±«W¯öçn¹Œ­_ãÅ$%%Ñh´G577?{ölÅŠÍÍÍØÔŽ™™‹Å"‘H¬õ| ‡Ë qàÀef2|}ÓED-jj¶½yãzþü7RRäðð‚˜˜"„PII£›[‚„94tAMͶÖÖíyyW®œýÊßÿS☘XI£QÓÒþïýûïŸ?ßda¡òæÍ‡ >.³˜–VœC¥ :eýúµKm­ó±c__½Ú÷\7çn¹Œ­_ãÅ$%UÑhb­knþþÙ3‡+tš›;\]ãBffJ,Ö‰`a¡ÂbíÀþ›;—öeâ<ÀÑŠ^FÇU@U6T–Ö—ªJªâ-$ɘfìdêägã÷϶šÛš=oyò#R0bDDD¿£ƒüõÊ•[8Q:<|qRRULL‘§§É¿qŠ\»¶ŒJBikKúûÏŸ<ùtNÎ+ìݨ¨!ŸÙ6LÆZœœ êë[ú)‰sxœ»å2¶~k¤Pcb–Éɉ"„tu¥ÂÃë럦Ó_2-òò\`ry!έrªsÇ‹ÉÎÎ~õê>eÒÑÑ‘€!D$;;;~¡Á¦¥%‰ºy³dÒ¤O…´·n• „´´$BººR¡¸¸•––ªŸé£ošš¡;wJ·mû´8t\\ùwˆù‚Øú/&;ûÕ«W-ø”IG3!¡BˆH$tvrJ¸¼ÐX3[cvÑîÓfêf½£'¯çeå5t1!„:´äС%‡8À9Îs¾§çüî·ƒoo†õ^E@@ÀñãÇïÝ»‡¯åÊb±~ýõ×7nœâ bës¼˜ææ›+ii5--õk×Þ((¨73SÂoâHI‘óò^7t{ º¿p#888  ³³óرcX ‹Åúí·ßÂÃÃýýýÍÍÍùèfpçKŒŒŒ<<<:äâââââ‚·¯^½ÚÖÖ!¤­­}ìØ1''§M›6u;w×®]\^ÅÄÄdóæÍ!!!ëׯÇííí#""²‘ôÄÖçx1æææÅÅÅ&&Ÿ*+)Ê‘#Gð—óæÍûûï¿ñ™û÷ïw{$‡Ë 6##yé‡e¸¸Ä»¸|Z5õj][[-„¶¶ä±c_;9ÝÝ´éN·sw횸cb¢°yó”'ë×ßÂííu#" ¿<±þ‚Øú/ÆÜ\¹¸¸ÁÄäÓsOŠà‘#ŸfÝæÍSùûï-­ìåýûöÝÉáòB€>={öàÁƒ!&“ù÷ßoݺUZZz÷îݱ±±~~~Ý Áp0¸ó%!__ß3gΘ˜˜Œ7ŽL&øûû³?ªºyóæÔÔÔÕ«W+** ***Ι3'((hÏž=Ü_%88ø?þÐÔÔÒÐÐ8pà€££#BHRRr ÁAl}Ž!$%%õàÁƒ%K–P©T …²`Á‚¤¤$öÅK>lgg'%%Å¡"› _ß¹gÎ,41Q7NL00õ÷ŸáÂ7ø›7OIM]·zµ®¢"EP¨¨H™3‡d¹gO?Ö ¶úãÙššBB$ ñæ8:ê#„$%´MÃÄÖçxBRRäV/Y¢I¥ Q(‚ ¨%%­a_¼äðáyvv:RRd$Ü\ÀÙåË—ýõWü%‘Hôóó[»v-N µ¶†ªäáˆÐ¯*Hìööê0çîî…Ýå&Z[[EDDlll¸Y^…Â?üpøða~òYîî÷3£¢l°»<ÃDkk§ˆˆŸÖÕ«C7kÅ=^ýûe0œwkÒÒÒ `,Z4,vtcÄ­[wwù¢¢b¼åÊ•+?þøc·Ÿq$ISSóÈ‘#°ÞüP«'¹1JöÇ yýúµššZuuõ™3g‚‚‚ÄÄĬ¬¬øà'¯_·ØØh©©‰WW7Ÿ9“”%&&de¥ÆïÐÃQllì®]»zþâM$§M›IÉp6Jò’††OOÏnkýõ×_ …_!jhhõôLòôüÏ‚%ý5Bùòú!Àh÷ý÷ß÷z7 ££ãÒ¥KŽŽŽÊÊÊCàÆ(ÉK¶lÙÒÐÐpíÚµ’’‰4uêT%K–ð;.À[¶è74´]»VTRÒH"¦N•÷ð˜¾dI?&cöÔ$“Éü\•@8~üøÀŸÙƒd”ä%âââÞÞÞÃÿï™Læù²fc¸¸°··™·wïKV d²‹µƒßQ0v¥¤¤lÙ²¥««‹ÃwÚÎÎÎÈÈÈmÛ¶))) el€K£$/0æ%mÙ²¥³³OJˆD"‘Hd2™ØZP‚‚‚òòòjjjªªª ò’á ò#^yy&Bömmm!"‘(%%¥¢¢¢®®®¬¬L£Ñ”••UTTdee¿xŸ0d /0²µ··¿x‘‚ïéÓÂ4 [qŠßA/y `dxÕüêïì¿MTLLTLú>ú3ž½z÷mW[þ¶<€ &,6ôyÉþ¸ý7ŸÝ¬o©Ç^*öš—dTeì¼±³²¡oùJí«3«Ï Q”|ä%€‘A^L~€IÉ ©nª ˆ$ö¼„nÜnøÐ`¨hØÖÕöŒñ¬×còy#6~èø !­a®n., œQ™ñ°| Ûa0pýËK>|XUUuCcŸŸŸŸŸ¿£<6¢×’’£È¹›¹ó;ŠÀËÊ˘f,-*íu×ësyÉž[{>t|X7uݾ¯÷‘ˆ$¬1½2}àwýËK´µµEDD¾ù6åüüüú!S~xë°¶¶¿cør½Ö—¼k{÷ äAeC¥°€ðäñ“{ÎXÔ¾«½_t¿©­I[F{ŽÆœ^{îbu¥–¥Öv2;Õ¥ÔçhÌÆÞÂËDôôSÊRòùã„ÇÍј£,þ1ÃK¯Lz…J-OíbvaÝò§Grkr…„gkÌV“TãÁgÁ‘õ„>¶£Ë®ÎÎcä)‹+ÿüõÏxR‚&ó=`Œë_^"-----=œ·s<áçç‡)B«øà­ËÒÒüazÖ—ÄÆzÞò|×ö?fªÒԣˎÊQä°——s/ÿrç—ö®v쥡¢á’‰Ý—ΩÎù>æûªÆ*¼Eªplù1¬+" J<”ZžŠ @Øc±gý´õ¡´Ê´ÈÜH„ÐÃò‡ø}˧pÚL4ÈBœV_Ýl²™Ã}ÂâÄ>Š[·*ÞVÈQäfkÌ–'3nà ¨/ŒHÏ^=û!æ‡Nfç…)Ó•§7·7Ç?Ïz™årÅåÒÿ]"¹5¹{c÷v1»ŒiÆú úõ-õw ïM9ÊÞÉËÆ—/mljm2P40P0zZûôaùÃ-‘[â¶ÄQ„?n°–ÖÒÞb3ÉF–"›W›—Zžú[üod'˜¨˜Ì Í°Ó·‹Ìœ©:smF· ÃÒÚۚm&ÙÈ‹ÉçÕæ%—%ÿr÷—¯u¾û܏ޤÁç]z%3Nf€yIyC9BHª`sʦ°®kÞk±wÍÔ5逃¼0"…< édvn4Þ¸gþ¬èíǹ?.?³<ëeÖʇ¦ª¦§3Nw1»ÜÍÜñÙ w3÷¥§–²wrâቦ֦ýVû­F*IDAT×­ÃOgœöŽ÷¾–míÔµXˇŽ1c4¥?nÉ–öÿþ_hZ¨‰Š‰1͘@ `Ïã¸ÌrédGWÇíÍ·ñ›>»oíŽÌL¯LŸ¯5ÿsãråÚç| 7Ÿ-í-¡ã©Ç[íôí$D$rªsÒ+Ó÷Ýݧ)£Ù3»`(A^‘W=&Hs<ðJ|II'S§Ÿnÿô¸ê±©ªifU¦ˆ ˆËWŸršÍÞÐ>äQÞ’RžB"ê[ê¦e±XØúåï;Þ#„žÔƒ\>y9ž” „æjÎÌd¼cp8ÅÍÌ‹ÑV=ó¾ýý­M·”Ä?®Åþ׃¿‚R‚Îfœ…¼ðä%€©©­INLŽ,@foT‘PA5¶6bÿ/6žD ±@“ ±¿¬o©ïbuùÓý{öÏ^¶Òí,"¨$®ô¤öIŸA*PØ_bSÌN§ A} VóµÎ×xR‚r0vJ ÂoëÀ/—F$ª0µ¦©¦µ³•=5©h¨@‰“űÿ×¾«íbu±§&ìˈ!„¨dj{Wû“-=ûg_x­ÛY,ëeãKª0•GCù!¨/™(?ñsoÁ2€ïÆt^qìØ1???CC®d·æœÇu§µOŸÖ>ÅÛõäôºÕ^$•&ÅäÅ`/±õKðeT$D$–OY™yîñ9¬…¿ëÒÞ}~!„;+ÛWn¯Þ½ŠÈ‰À_A‰ Šþ¾ðwƒ!Ž€nÆt^B£Ñh4ZßdžžûãXO°ž¥:ëA郪†*!¡)ã§t[±t¥þJ35³ûÅ÷ßµ½Ó’Ñš«9÷yÝsw3w-éO·b'ÊO¼µéVæȨ̈µO?t|/6~‚ì=ùÿÜÎ>·æ\RiRá«BQ!ѹšsÙŸ²Aù,ôY:qi>#¿¥£kQ•Tu7sŸª4•ý0¬Q_AŸWŸI¯¬t¬zݨ}ÔDñ÷…¿o0Þð°üas{³"UqŽÆ ‰A nŒé¼¤g}IWW×ßÿË`0¤¤¤æÏŸ¿~ýz2™ÜíĬ¬¬ãÇ———+**:88˜™™ yìŒ9½îC%Së-æp–U_†!¤'§×³„‚@ LSž†U¥|‘@œ£1çs+Ù„Yj³f©ÍÂ[°¤Ûa½6òÜ‚ LXÀÍ‘Ú2ÚÚ2Úƒý2¦ó’nõ%ïß¿·¶¶¦ÓéøGމ—““Ãoß¾íååÕÞþqeëS§NºººeäÀ¨DäwÃÈž={ètº¬¬¬¯¯ïÍ›7=ª®®þäÉ'''öÃ~ùå— \¼x1::zëÖ­aûöí……ðÐ?0Pcz¾„]gggXX™L¦Óé:::X£½½½®®îÕ«W †¼¼<Ö¸xñâèèhìëeË–)((ìß¿ÿôéÓ>>>ü 0hz- ˜/ù¨¤¤¤¹¹yÞ¼yxR‚’––¶³³c±X¹¹¹x£ƒÃž£Ã^²5°¼ÄPžÚ`ˆ@^òQkk+BHJJª[;Ö‚½‹‘èyÀ‡=D`´ƒ¼ä#„ÐãÇ™L&{{zz:BHQQoÉÌÌd? ##!¤¤¤„00—|$++kddTPP°{÷„‹Å ˆ‹‹?~¼Á§µ†¼½½±\!T^^îî²²âKØÀhu¯Ÿ8pÀÊÊêàÁƒ¡¡¡ššš køôA)++›˜˜hkk ´··ÚÛÛó/p`”€ù’O,,,®_¿®¥¥U__ŸžžÎ`0Ï;÷í·ß²æïïoccSXX˜››ÛÞÞnaaqûöm!!!~… Œcz¾+VeO)-Z´hÑ¢¢¢"l½W]]]ö]¿·nÝjmm=uêÔèèè—/_VTT())©¨¨ð!t`4Óy VÓ:~üøníZZZZZZ=×ÐÐÐÐÐÀ¾VRR‚ZW€·Æè}œ¿þúKGGçúõëêêêêêêü¸ò äÁÚ kÓ*ÓøƒeŒæ%ÏŸ?ñâ…¼¼üÙ³gÙïÔÀpV÷¾.­2­¾¥žß0XÆh^ò¿ÿý/77·¢¢¶†1Z_¾Ø<†‰1š—Fœœêœ?ïÿ¹~úzcšñùÌóyµyr¹sv8G;[h[lš± ;ìQÅ#ÿ$™q2¶XKs[³c”£¹º¹“©Óç»çq`ÞÖÞ¡ÒúÒ¨'QÏëžw2;Õ¥Ôí¦ØéÉëá'¶t´\Ï¿žý2»æ] Eˆ2Uiª¾8Yœ½óØÂØØ‚ئ¶&míï¦7ñ0¬@^[Ó*ÓôõûõUó+„ÐDù‰"5ïj.å\Âó’Û·±²Ð]»”Ä•B©å©*-´ôs=þm³‹Ã¥%D$‚–õ+0„ÐŬ‹ûïîïb}ìùAɃó™ç·þÝNß!Ôð¡aα9ïÛßãýÄƆ¦…^úö’²¸2Ö²ëæ®¨'QøéQO¢V®îës`dƒ¼0’œN?­.¥înæ®"¡B%SBfêfáYáÕMÕŠTE„PrY²1Í8½2=¹,y•Á*„½”Ž2Sûl1YZeç¼DfœLË|™éu×KTHtíÔµ B$¡§µOOeœúùÎÏ3Ug*‹+wtu’7ÍØ4Q~¢´¨tS[Ó£òGáÙáô€ß@Ý*¸õ$JDPÄÁØÁ@Ñ ¾¥þìã³!Búù0Â@^Iä(rÑßE‹Šà-fjfáYáôRú*ƒUÕMÕ¥õ¥Ž3[“J“>æ%et5I5lî¤WçÖœc±X.*Hìo`®W\™,fت0#%#¬ežÖ®#ÕÒÑR×\G$c/å(r¥oJ>4°ç"OjŸô7F–þå%::::::—/_¤hÀ0A -ZÄï@/¹ººR(~G1(¾Rû*x,õXÇsus„Y€<6=±$±èu‘‚˜°‡ÓyR_Ò•ŽU= ¶0ÖcŽþèï»¶wWž^™®<!$N/ySRøª{røí‡·ž·<[;[ñ¼Ä\ݼèuÑî[»}ûR„)¡Û·còbú # Ì—F¼©JS)”{E÷„HBÆ4c¬ÑLÍìÀ?P_7qêKºÙl²9îEÜŬ‹—r.©I©‰ ‹Õ5×Õ¼«ébv…­ CYhY¤W¦Ûœ¶™ ;!TZ_*"(¢$®„?9¼Ùdsô“èøñ³ŽÌÒÖ¨o©¯nªž(?»3Àh5Fס ‰ÕÅé®È \‘@2¡™ „¦Ó¦ãŧx:ò•ÚWC B!QAÑðµáëŒÖ ’‹^e½Ìªj¬Û0}äñ“Bgl´7°g!Ö³WÏž½z¦(®¶*LRDïAž"vÍYmí–Ž–§µO_5¿Úh¼ñ[£o‡~,#BW"‘8Mz‘æK<&&Æ|÷Ž÷¿óè+è_X{AURµ×wþúg‡ãÅ>EéÉé]\w‘Åb*ò<n£Sö[íßk±·øMñ‡ŽãÅÆË‹ÉãÕ$$é÷…¿ïœ»³üm9•LU—RGy[{·u¶á=L’Ÿt{óíâ7ÅÍíͪª"uÍuÖ^ЖñõË<×ÔDcò; À—xŒFë,-íwAFŸ$D$LTL>÷®²¸2¾L*†@ Æ šž8&HÔ•Óåp.{Yëäñ“{£)­‰-K‘•¥È~i¤£YY™ªj'¿£<÷q<6iR[v6™ßQ€±%;[XO¯­ïãÀ°7Öó’””//¯²²2~ÀèanÞ’›K~ýºûó± ’º:RNyöì~x` å%<ðòòª¨¨`oLIIÙ¿?ä%ðМ9- 32’Êï@ÀXE¥R™—Œc+/Ù¿·¼dÖ¬Y¿üò‹ššŸ‚`"“Y«W7……‰76Ž¡ï0€_‰aaâööMd2<3Œõï³fÍòòò‚¼Þrv~+ €¥øý¤ääô–ßÞàñó8 wïÞ---œ>}úìÙ³±öººº   iiiWWWüàÖÖÖC‡‘H¤;vp8×ÔÔ_\\,**jdddjjеGGGçææþøã¢¢¢øÁXãîÝ»ÉdòÙ³gïÝ»‡ ‹G©©©mذ!%%åîÝ»6l`OMÊËËããã †””Ôܹsuu?ÕÒÇÇÇÓét'''IIÉëׯÉËËÛØØHIõýý733311‘Åb™››_½z5;;ïYBBâæÍ›ÏŸ?Ÿ6mš••çxú8{ÏT*5&&¦¼¼\QQqéÒ¥°Ñ,ãÆ1·o¯ß»WfÙ²w“&A5",yyÂçÏS½½_ÃC£/ó’°°°íÛ·755á-æææÑÑÑ222²²² ÃËË‹Åb¹¹¹aﺸ¸„……cI ‡Ó±—¡¡¡øfff‰‰‰D"1::úÂ… ®®®Ý~<_¸pá‡~Àò’û÷ï#„N:…½;gÎ,/Ù¿ÿܹsñ¼dÏž=èúwY(°iÓ¦   AAA„P||üŸþidd´k×®‚‚ìiié„„ƒÏ}2L&ÓÉÉéäÉ“x‹‹‹Kssó™3g𘱞'Ožüã?–––"„þ÷¿ÿYYYqާÏã=Oš4içÎåååØ1222W®\13ëcL¾ØŠM7nPÇGG¿”“ƒ8ï½z%àè8~æÌÖ+šú>Œ<ËKbbb6mÚ$ ðÍ7ßèééµµµÅÅÅ%%%}÷Ýw7oÞDùùù=~üØÃÃÃØØxæÌ™!!!aaaß}÷ÝÖ­[¹9ýòåË›7oF“H¤ÇÓét&“I$ö}7jýúõL&óþýû7nTQQAõzïæèÑ£>>>añâÅzzzeeeW¯^ ‘‘‘ñññÁsttغu+…B‰ÍÏÏwuuMJJúÜÕýüüNž::úôéÓÜw@¿P©Ì“'kìì”Ö®U ®…YÀ+ØLÉË—‘‘/©THyGÞä%555ùùùššš·oß¾}û6‹ÅÂ6çÄf2222°’•‹/.\¸pÁ‚âââQQQØö>O§P(/^¼066fOJB¼½ QQQQUUõÕW_áIBÈÄÄdåÊ•/^ÌÌÌ477ÇwíÚ…E޲´´,,,¬©©é5/)//¯®®¶²²Â“„±±qzzz·ƒwî܉'%ÜÇÃ]»váá üúë¯ÑÑÑÉÉÉ—€A¥¢ÒùrË…åË•‚ƒk¡Ö \^ž06SùRE¥ƒßáãM^RWW‡*..þùçŸ{¾Ë^bnn®ªªZZZjkk«¥¥ÅåéoÞ¼AM˜0'Ñ~ÎÛ·oBÝÚ555Bõõõx Fc?Û;¾££÷X·=o©©©õÌK´µ?m{Á}<ÜPWWïù»ƒJE¥ãòå*w÷ñË—+ýßÿ5¹»×‹‹Ã/¸àK46¤ÎŸ§šš¶ÔÂLɨě¼DRR!4qâÄ•+Wö|רØÿÚÙÙ¹´´TSSóìÙ³+V¬X²d 7§c5………Ÿ «úlnnÆ‹dBÝ–*ár%%%ÝÚ‹‹‹BÜ>þÁƒø“Ï7nÜè9Yòñp3pÌŸþ¹dÉì&Qggç¾}ûB_}ŇýßÁØD$¢•+›¬­›— ‘øë/)}ýÖ©S[ÕÔ:ÄÅ™ÜÕ‰±¥« 56’Êʲ²È¹¹d*•ioßääô ÝxV÷zàÀåË—ÍŸ?_WW—L&—••¥¥¥•––~øðD"effº»»=zTDDäòåËææævvv)))ÂÂÂ}žîíímooïèèŠ=“‘‘‘’’ÒÑÑ! °xñâ}ûö}ÿý÷IIIªªª7nÜ““«­­Å#ÄnyxxÐétQQQlý’n£Ø½{·«««­­íâÅ‹uuuËË˯\¹ÒÑѱk×®~™v³}ûö;wZXXØÚÚª««¿xñâÚµkrrr¯^½"Nì3nŽ©©©ÑÓÓ[¼x±°°pBBB^^žŒŒLÏO€A%&ÆÜ¹ó›[ýƒ¢II¢"W®ˆ½{GꂩБˆ¨T&Ö1iRÛÖ­ sæ´ Ê®£Ïò[[Û .¸¹¹Ý¹sçÎ;X#‘H\¸p¡€€@CCƒ°°0ö»>BhÆŒ‡vqqqss;qâçÓB«V­ª¯¯ß¹sgZZZZZv€¹¹9Vkhhèîîîïï½õóÏ?—””\¸pÐÚÚzâĉùùùDÿ®_Òm...UUU¼~ýúõë×Ñ¿ë…üöÛoùp¶oßþìÙ³°°°ÈÈH¬ÅÙÙ¹¦¦æÊ•+œÓ>ãáfà˜#GŽìر#88{‰­_ ¾ “YVVï­¬Þó;À°ÃËuÕÖ¬Yckk›PXXÈd2ÕÔÔfΜ‰•ˆfee­_¿~îܹx­+B{¸¦®®ŽÁ`ÈËËs8ãää´zõê;wî”––Š‹‹™˜˜àïúùù­^½:))I@@`þüùÑÑÑZZZØí„™LNOO¿yófQQQ[[VˆÚsGGG|}Õy󿱝¯jiiI&“ÇÏ>p¬QNNîsŸ ‰D uvvNLLD™™™Í˜1c„ 222xx½öÜg<Ü £££“ŸŸíÚµòòr%%%XïÀ0DÀžÈåV—zùòåA‹gÔJOOg¯ÿ=r䈛›Û²eË¢££ûÒ»wïþóÏ?³²² ¹<…@ ,Z´hPCÌÕÕ•B¡ üß/ƒÁhnnæIH€±{Œ”K<Þ|Îüùó§L™2uêTAAÁŒŒ ¬4õ‡~àw\À0yÉ™1cƽ{÷RSS±—¾¾¾=7&Æ2ÈK†HBBBFFFvvv]]¢¢¢•••‚‚ÂÐ\ús•+ÀpyÉЙ>}úôéÓ‡þº––––––C] ¿`Á< —`¸€¼ÃÔ—úGXX˜ß!F-ÈKý+O¿ó’ªªªK—. F(`XÉÊÊâw€ÇjkkÙ7‚€a¨ßëÐã;ÏF;;;ØG0œõ//<ð<† ÈK0\@^€áò —`¸€¼Ãä%. /Àpy † ÈK0\@^€áâÿx{è”þ pIEND®B`‚fio-3.39/examples/sg_verify-fail.fio000066400000000000000000000020541476262051600174620ustar00rootroot00000000000000# # ********************************** # * !!THIS IS A DESTRUCTIVE TEST!! * # * IF NOT CHANGED THIS TEST WILL * # * DESTROY DATA ON /dev/sdb * # ********************************** # # Test SCSI VERIFY commands issued via the sg ioengine # The jobs with fail in the name should produce errors # # job description # precon precondition the device by writing with a known # pattern # verify01 verify each block one at a time by comparing to known # pattern # verify01-fail verifying one too many blocks should produce a failure # verify11-one_ios verify all 20 blocks by sending only 512 bytes # verify11-fail verifying beyond the preconditioned region should # produce a failure [global] filename=/dev/sdb buffer_pattern=0x01 ioengine=sg rw=write bs=512 number_ios=20 stonewall [precon] [verify01] sg_write_mode=verify_bytchk_01 number_ios=20 [verify01-fail] sg_write_mode=verify_bytchk_01 number_ios=21 [verify11-one_ios] sg_write_mode=verify_bytchk_11 number_ios=1 bs=10240 [verify11-fail] sg_write_mode=verify_bytchk_11 number_ios=1 bs=10752 fio-3.39/examples/sg_verify-fail.png000066400000000000000000003220751476262051600175010ustar00rootroot00000000000000‰PNG  IHDRÞf!È.žbKGDÿÿÿ ½§“ IDATxœìÝg\W×ð3”–^Ä‚¨€Š€ †ÅD4*öĈ]‘DAL4l(ш1¯1¨QI°ÅVT 䨥ƒËK›÷ÃÄq¤¹ ° žÿϳwïœ9wf„ÃT‚$I@!„’2’N!„Bè5,MB!$E°4A!„ÁÒ!„BRK„BI,MB!$E°4A!„ÁÒ!„BRK„BI,MBbùå—_lmmµµµ‰W’’’¤!àÉ“' †3gδݿ  À××wøðá***,KKKkøðá³fÍÊÎÎîÈ0B K„ÐkõõõsæÌQVVþøãE"ݾsçÎÅ‹ÇÇÇ1¢¬¬,))IIIé]Ôá€Í3œ;w.I’ÊÊÊâÌžmii¹gÏž'OžìÞ½;???--mܸqgÏžåóùï2"„P§!Bè•Ð?nܸA·S² l-Cº49}út³/^¼˜ê¶dɺ±¾¾^]]ýîÝ»íB¨+àQ„Ðkæææ3gÎTRRrqq±¶¶¦Û ¨ 55µNYP‡¶–¡˜®_¿NM|ðÁt£¬¬lii)³!$Ar’N!$EäååÏž=Û¼ììW”w8`kŠ©¬¬ŒšÐÐÐèp„P—£&u>ŸïééijjÊf³•””LMMÝÝÝOž~ü˜$É””MMMèÓ§Ozzú³gÏŒŒŒ _¿~¹¹¹ô,ôe&&&ÁÁÁ¥¥¥@¶rÑFóF¡PH- ¶nÝÊÌGAA!//¯íá´¸”Ý»w@XXØË—/‹‹‹¿ù檞ž^qqqÛóŠy­IónQQQT‹‚‚ÝíéÓ§}ûö‡síÚµòòòÀÀ@ªÛŒ3êêêÚBè]àQ„:ÁÓ§OÓÒÒ@[[{„ ŠŠŠÚÚÚ›7oþðÃé>žžžuuu0kÖ¬±cÇr¹ÜÀÀ@ªX‡††ÆÂ… ©iêå»ï¾srr¢ £¥K—–””P‹2dˆ‘‘‘»»;<þ|Æ Ícøùù©««/]º”®3ÄÄf³W­ZEMïÛ·¯ªªŠÎgúôéíŠF7nœ——‡ÃÑÔÔܲeKŸ>}€ÏçSG‰ºÍçŸþâÅ ˜5kÖĉÕÔÔüýý¹\.DEEíß¿¿;“Aè}ƒ¥ BÀÀÀ€º÷5;;{èСëׯÿå—_ž?~ûöí•+W@NNU»}s ‡ÃÑÕÕ)ôQ–øøøû÷ï€@ 8zô¨··7äåå%$$ÐùPÔ¯vˆŽŽ®®®nÐÙÙ™ž...=z´øÉÀÚµk ¤¤äðáÃt>žžžTEEEæ“AƒµpåÊ•'N´²²RUU•‘‘!"//N¯]¹½‹üüü›7oRÓtÎ222Ô!(ÀÓ:u),Mê'22ROOž‰D|>Ÿ¾XaúôéÔľ}û¨‹^Ïœ9sóæÍòòò¯¾úŠº0V|Ìs4÷îÝ[¾|9}Û>|XUUΞ={ìØ±ŠŠŠÂÂÂÍ›7'$$ìØ±ãÝÇØ"___jB ,]º´Ã°766¦¯Â9tèP(|xúôiê.b„zGx­ B!„¤5A!„ÁÒ!„BRK„BI,MB!$E°4A!„ÁÒ!„BRK„BI,MB!$E°4A!„ÁÒ!„BRK„BI,MB!$E°4A!„ÁÒ!„BRK„BI,MB!$E°4A!„‘“t¡Þ#33SÒ) ô^066–t ]š „BHŠ`i‚B!)‚¥ B!„¤–&!„’"Xš „BHŠ`i‚B!)‚¥ B!„¤–&!„’"Xš „BHŠ´ûi°AtE!‰›5kÖéÓ§%ÅÊËež>e½|)[[‹?sPÏÆb‘ªª ƒ×r¹’Î¥gèȃ꽽½mmm;=„…††J:€§OY§Os®_WÎÊ’—t.u2#£:{{á¬Y‚Áƒk%‹TëHibkk;gΜNO!$A?^’“#¬yõªrÿþu“' ?ø ÚĤV]½Å"%›B喝–(+“MOgÅÇ+]º¤|ä×ÁAèï_Ò¿¤S“Røz?„„‰Dľ}?ý¤6`@Ý‘#¼qãªð¼1êMX,RW·^W·~ܸª/¾(¹qƒ½s§æÔ©}?ÿ¼ÂÓ³TA‹ï¦°4AIRI‰ìÊ•z™™,?¿’ùó_ÊÊâiÔ›Œ_egW©ªqïžâÁƒ|MÍIç%]ð„Ä<}ÊúäÃÒRÙÓ§s-ªÀº½'deÉE‹*NŸÎ--•ýäçOY’ÎHº`i‚’ OîÓO ôôêÏžÍ36Æ“îè½cl\wölžž^ý§Ÿðxxã5,Mz’ÜÜ\¢%õõõ’N­ƒbcc™ “tF¨›TWkÖèq8 ?þÈãrñh6zOq¹ GŽðÔÕ–/׫ªÂßÈÿÁÑ“’$yâÄ ºåæÍ›$IÊÉõÔr{„ $Iš˜˜H:ÔÝüýuòòäŽᩪâ“Ð{MY¹ñÐ!^a¡ÜæÍÚ’ÎEZ`i‚ên÷î)ýõ—ÊÎ…††=õ€BÈа~çοþR¹wOIÒ¹H,MBݪ¡µìí…&TI:„¤Å„ UööU[·j54à­óXš „ºWL '#CÞß¿DÒ‰ $]üý‹³²äcbT$ˆäaiÒkåççûøø˜™™±ÙlEEE__ßââbfŸû÷ﻺºjhh°X¬AƒíÞ½ÛÔÔ”¾(ÕÔÔTœP'Ožd^ʺxñb}}}‹5`À€/¿ü²ºººí…vÏ AR"2RÕÉI8`Þ’ƒÐ ¨srž8¡*éD$K“ÞéŸþ1bDhh¨@ HJJzüøq]]Ýž={F•——Gõ¹råŠ]LLLccãÕ«WóòòÒÓÓ©oCCCÓÒÒÄ 5wî\’$•••©÷ìÙãå啞ž>iÒ¤œœœÝ»woÙ²…N¬í…¢^¯¨HöÑ#Å3*%BÒÈÍ­òáCÅâbYI'"aXšôNK—.-))€Y³f 2ÄÈÈÈÝÝž?¾aê§§g]]ÕgìØ±\.700P^¾é;ÕÄ Åäáá1jÔ(UUUªDGGÓߊ¹PÔ[Ý»§$#CÚÚâU&µàëddH¼K“^(///!!š600 &úôéCMDGGWWWçääPEÀØØ˜šàp8ºººí Õdéƒ ¢£ÑA¨ 1Šz±´4ÖÀuJJøÔW„Z ¤DX—žþ¾?¶§>µÏçÓÓ7nܸq#ó[‘H”••Å,)éiú¼Œø¡†ÊldF£ä¿‡˜Wº´±PÔ‹Ééëã ÃoôóÏ?ÓÏœ9“žžNÄàÁƒ,XðÉ'Ÿ@DDÄŽ;ènaaaÙÙÙgΜáñx QQQæææ………‡¾qãF^^^cccŸ>}ìííW®\©®®NÏXRRräÈ‘ØØØ/^€™™™‹‹Ëøñ㩃šà矾zõjvvvuu5—Ë:tè'Ÿ|âââ111ÞÞÞt´Í›7ÿûï¿·oß.++ÓÕÕ6mš——WóŸ ¨EzzõEEïû¯fûìòåËcÇŽÍËË;|øphhh·­ºžŽÍn ß÷û‡±4éU¢££¹\nß¾}---©–ÔÔTf‡‰'Ž7ú÷ïoffF5fffR€þiE'”øÄ\(êÅHˆ÷ý§nG¬\¹RWW·OŸ>Ë–-£Z"""ž={Ö¤›ŽŽÎÊ•+ÕÔÔfÏžÍårÀÏϯ¼¼¦NjdddhhHçÈÏϦæÚ´iu=Ùĉ?ýôSuuu.—»nÝ:sssºÇ£‚|ðÁgÕªUªªªð÷ß;v¬IîîîÇWQQqvv¦Z._¾Üù+¥—" ßûžXšôN‡¦~pœ={öرc………›7oNHH ÿîÛ·:T{æÌ™›7o–——õÕWÔ5ªí %>1Šbêׯ5Ñ¿j¢±±ñÖ­[MºMœ8‘žNLLÔÑÑIII¡>ÒG@éK»._¾\SSSPP””Dµ >œ-**jΜ9………ôgôÒedd ©é˜˜˜&iÐÝèsµøçj,Mzêõ~óæÍ£[ÆŽË|¦ÈŒ3¨öÑ£G§¤¤¬Y³ÆÈÈhÅŠ¶¶¶ùùùwîÜùðé>·nÝrvv–‘‘qpp=z´Á!C¨o‰WÛ¾5õ\ú¤ÌìÙ³}}}èdD"AÔ‰óJ¿CgýúõôÃTB4úB º±´´´I7mí7^ÂRTTDOïÚµkРAƒ Ú¶mÕR[[›››Ë¼¬Å«¾˜A˜×‹Ð™0;4O’BâqÔïûµ6= õz?1;÷ïßÿþým÷±±±iòOxx85Á¼Ê¤íPsçÎ;wnóvúl÷[úÅ_´'B﹚šjB$ÑMº±XoÜÙ¡©©IO¯_¿~Íš5Í#3gTV¶ð¼f¹C§Á̤I=„лã&ﯘ˜˜&µNAAA~~>°ÙlGGGÉ¥†zÃóçÏ©‰œœj‚ ;;»¶çÒ××§¯îzòä ó« PÇ_uuu-,,¨FæõdµµµÔ³utt¬­­›¤ÑØØ˜››KM»ººvtXµ K“÷Z^^ÞªU«ž?^SS“’’²`Á’$åää:„ !$=þœ$É~ýú?ÞÓÓ“¾2½?fÏž §OŸ~— ôW­ñôÔ€}ûð¢È·ËÌÌœuu0j¨ª‚x»øú‚¯/XZîíòeÞªUñÔô¿ÿ~¬  KM——×~ÿ}Ú•+<¯šÍ–³´ÔX¾|ðhÓ3––ŠöïO¿z•WPPÍáÈ[[kyzšš™©5‰;i×®oÞ,”•%¬¬4¶lѯŸ2$3S°{÷¿ññEõõä!ªkךüüsæ;E0{v{{ý&¹‰¹ôZcbÝÐÐÖ™#--…øøi­}[[Ûxà@úùóyùùU ²£Fiº»˜0AWV–g°Û·lcщ K“jlllll”tHÒw)à䤟‘1cåÊø+WxtcQQÍìÙq55 ÁÁV66ÚEE5!!ÿ.ZtëÛoGΙÓ kfÏŽ‰vìic£—'üúëäY³âŽ·³²Ò`Æ úgÅŠ!;wŽzø°dÅŠxoï„ߟ@-%'G8{vœ’’ìþýcFŽÔÌËý“–ö’Å’ùßÿ¦S}šä&fä¶ÓkmU¤§»½ËšÜº5éÂ…ü}ûlFÖ¬¬¬ˆxºbÅÝ_;fŒ–˜ƒEèÝá Ž——OMM½s玤A%/©©€»´ ù_nnU@À{{}9##•ÐPkmmÅo¾I..@HÈ¿yyUþþæ&è±Ù²ƒ«†‡[“$¹m[r“Psæô·²ÒPR’ýè# tSRÊÊÊj_-åß—/ë¶lag§C ]]Ý f’mG3½NtçNÑàÁ;;EEY--…M›†©Ðß¾ã`–&¡Þéï¿ó`âD=º…Å’ùðCíšš†›7 àòežŒ ao¯OwÐÖVJ¡¯¯ÿu¸q£Æ{½ …U@uêÔëׯ7O>--ÍÙÙYMMÍfOœ8ñöíÛôW"‘諯¾255e³Ù®®®þùgCÃûñ‰Ý—ˆ,\àèøº¥¼¼…Y¢£_wÈÎwwàrAS\\àÕnAAÿuxµÀÅ‹ÿµ¼Ú Þˆ““îîÀဦ&,Zee ®®Àှ>,[¯vˆ‰y=c7€’ðñcc`±@]¦N…–vHKggPS6&NÆn"|õ˜š› àê þ ïÉnÐyjk‚:Yeå7N[ki)@QQ Õ¡±‘´´ükР(úß¿ÿ–@vv%s.çuKHò¿¥…õ ²l¶,³¿šš¼˜y¶Yüô˜LL¢™ý›ÿûàƒómä³u«EHÈè/„‹ݲ´ŒY²ä6UáuÊ`S,MÜÜÜH’œ>}:x{{{{{çåå:uêÚµkóæÍ£ú$©¬üú‚²)S¦$9jÔ¨ãøøø|ùå—|>?,,ìøñã ,ðöö äñx[·nˆˆøú믩¹\\\è¹h|>ßÚÚ:222<<¼¸¸øÞ½{l6ÛÁÁ!""‚Ù­²²rõêÕþþþyyy7nÜ(--µ··‹‹£¾]»víwß}·oß¾’’’Ç›ššNŸ>ýæÍ›¿¥Ð­[”ÊÊ`a‡œ;cÆÀ‰@’Àå¶0‹›$PÂÛ¼½!/N‚k×àÕn@’ÀØ `Ê I`ìoÄññ/¿>ÂÂàøqX°¼½!0x<غ""àÕn..¯ç¢ñù`m ‘‘ÅÅpï°ÙààoîPY «Wƒ¿?äåÁPZ ööðj7€µká»ï`ß>()ÇÁÔ¦O‡÷d7è<,– ‡#/5…õÌöââÐÖVd±dTUåee‰ôt·ŒŒMþ1/•m{)ÊÊr"QCUÕµcI‰èÝóïXz-ögþkãX psë{ì˜Ý£G.?ü0†$aõê{?ý”Ñ¥ƒE¨‰Yš0yxxØÚÚ*++;:::;;'$$tì.˜¥K—Ž5JYYyÑ¢EÆ »pá‚¥¥¥ŠŠÊŠ+ŒŒŒÎŸoëO ??¿¬¬¬°°0UUÕ!C†DFFêëë¯[·®  €îVQQüÑG©¨¨Œ=úøñãµµµ^^^Ô·W¯^6l˜“““’’’®®îîÝ»‡ Ò±ôTpô($'ÃâÅ@’°b88ÀܹbÍëá¶¶ ¬ ŽŽàì ¼ féR5 ”•aÑ"6 .\°´X±ŒŒ ÍÝüü + ÂÂÀÅTUaȈŒ}}X·»TT@p0|ô¨¨ÀèÑpü8ÔÖ«ݮ^…aÃÀÉ ””@Wvï†÷j7è<“&Àõë|º¥¶¶ñÎ"EEÙ±cu`òä> äƒ%̹z2vìŶora?^^é ÕdeµzTC|’^{YYÅdf @Nް³Ó9xð‚x½»n°1õøÒÄÚÚšžîÛ·/äççw ÎèÑ£éiƒ&-}úôi;lTT8;;Ó- ÕÕÕ—.]¢ÇŒC477700HNNæñx0eÊ”;wî,_¾<>>ž:“žž>a„ §§š=6o†ß;;()À@qgdìз/@‡v`lt00hÚÒ§Ï[ÂFE0vPP¨®ÆnŠŠÀØ ÀÜ 9x<€)SàÎÛà8 IDATX¾âãÿ;“žïÕnÐI|}‡²ƒ‚R®]ã …õYY•ë×'ÕlÙ2BKKêЯŸòÆââ ‚ºòòÚ'²öïO÷ó3§ï•c)ø\V``ò­[…UU Ož¼Ü¸ñ¡¶¶b§äÿîéuÀ–-Iiiµµ%%¢|B’`k«ý*¥®,BL=¾4QS{}‹?‹Å€ŽÝÓ«ªªJOËÈÈÈÊʲÙlºEVV¶°"‘¨¢¢BQQ‘Ãá0Ûuuu€ÏýG›¦¦&A¼ñ3EGG àûï¿?vìØ³gÏTUU§L™BU<ï—À@3îÜÙ³AFìý“±‹¼§—±€Œ ÈÊc7YٶŠDPQŠŠðænººŒÝ45áÍÝtt ¾ÿŽƒgÏÀÁTUaÊxwƒvº|™7hPuwî°anØÚÚŠÑÑ]]û~óMʨQ13gÆVUÕ;fçî>€šKSSá÷ß'89lÝšdm}nÒ¤+—.å<8fÚ´>”TÆŒ¹wïÿ`Р¨C‡ž€«ë5ê8ýú)Ÿ>=~Äõµkïs> àѪU&††lYY™Ör3rÛéu‘ÈÈ±ÆÆ/¯„Q£ÎMž|寂àà‘«V™Pß¾u°uŠ^þ\™ÚÚZfKy‹T¾55µŠŠ @À¬N¨S9zz¯¯f¯¨¨h2/U”P A‹-Z´hQ]]]lllHHÈÌ™3÷ìÙãããÓé9K¯ØX¨¨ssX½,,À¢bÊÈÀ›»AË×Õ¾#PSƒŠ Þ¨N¨S9ŒÝšíÿ%TB°h,Zuu !!0s&ìÙïÕnÐNÔ“Bš·s¹¬Í›Í7o6omF.—åïoîïßBKKõæ1[\Š‘‘Ê?|Àl)*©«³ÚÈMÌÈm¤×EÌÌÔ-ÛèÐö`ê½¼ÔÕ××ÏËË£?òùüçÏŸwÅ‚f̘çΣ[D"ÑÕ«W•””&O~ýîŒÊÊÊää×Ï$øçŸòóó-,,ôõõ€Ë妥¥€¼¼¼““u3fï—•K—ÂÙ³ð矠¤Ó§CQQ'„Õׯn|>tÍn3f07™HW¯‚’0v¨¬Ænÿüùù`aúú\.¤¥È˃“Ó7½W»ARTT3jÔ¹úú×äæ sr*é“ ½É{5X$A½¼4™4iR~~þþýû+++333½¼¼¨ãnûöíFFFÞÞÞ111àÉ“'óçÏçñxáááÔiв²òÚµkïÝ»' .\Èb±ÂÃÃé+W®LII‰D………»ví"IÒÞÞ¾+–F••àæaa0t( gÎ@~>ÌšuuïyÒ$Èχýû¡²23ÁË ºf7€íÛÁȼ½!&xòæÏÂñ€²2¬] ÷îP‰‰°p!°XÀØ `åJHI‘ a×. Ixvƒ¨¢¢6 àW]]]Ÿœ\êå•Èáȯ]k*鼺Ä{5X$)=²4‰'â?þ%%¥€€ bçÎ`eeåââBõ òððÖÑÑùì³Ï¾øâ ==½’’‚ 6mÚÔ|Øßß¿ËW¨4X»8HIéÓ!5Š‹a¨«ƒ7€Å‚  f‰‚€?þPR‚€‚€;¬¬àÕnAAàáÁÁ £Ÿ}_|zzPR›6µ'1.]‚† رnÝ‚€¸8  •Ýôô !æÍƒuë@Sll@(„+W`Ù2€W¯÷KN.öî??ÐÓƒqã@]®]ƒW»ÄÅ©)Ì `f/ÂáÃðžì=¶¶â±cv/_ÖÍ›wsäÈs+VÄ üûïúöe¿}æžæ½,’ ‚$ÛwA§Nš3gN%ÔS¸ººž?^$ÉÉõòëu(Ax{{‡††J:)ãê çσH=7˜={6œ>}ú]‚ÐÏ»wﮬ¬üóÏ?“’’V®\)ét„ìÞ ••ð矔¸ „P§Â¿öÚáÈ‘#7nÔ×××ÓÓ öõõ•tFHŽA_ôô 8p7@¡N…¥I;Œ3&66VÒY I3p7@¡.ƒ'tB!$E°4A!„ÁÒ!„BR¯5Aõx÷"v\ߺ*º·×Þ–t:op?îþ ÷A“ÆÏFàФ1636èJЋŠé_¦7ùª¢¦âÜãsçÓÎ?.x\S_£Çѳ0°Xf³ÌL׬ SGHBð¨ B¨Çó㑱)£çþž~^þ|ù™å!q!ÅUÅ-vØqmǶ¿·9v¼èq1Ñ+qÇ´ÿ+øŸÛÿ¹]~r¹›SE¨tä¨Éÿýßÿݽ{·ÓSARîÊ•+ëׯ—t¨«$''J:‹Þ)êÓ(sý¶Þz#tdŸ‘?|òøïÇU×U·Øg¶ÅìÏFFM[÷µu u=êºóúN§!Nž0B’Õ‘ÒäüùóçÏŸïôT”KMMMMM•t¨ UW·üKuµíÓ¶+Ê)¶Ý¡I‹™®™¢œâóòç$IÑ•Ù!ÔÝ:Ršà;tÞCø^z‡’ˆ¶ë’U×U×Ôטê˜b]‚z¼ !Ô«d–dn¿¶=17±¾¡ÞÂÀÂgœÏ(ÃQÔWµ µî8Ÿv>¿"_ANa”á(wK÷ 'ÈÊȶÍd—ICcC‹ÓRÖŠ÷Œo;¥è£ý/úg—fËÊÈšj›Î·šÿñ°;04¦óiç`õ‡«ß1BRK„PïQUWõõß_¯»ÞL×,³8Óï‚ß ÿoîÿÙôµ€­o½vaŸÛ¾Ñ}GWŠ*#îG¬8³â×ù¿Žé7¦µ€Ío–逊šŠÓv ÔÈ{É;p÷€Ï_>IùI_9}Õá€ÅÂâݱ»çXÌ™f:íÝÓCHÚà:¡ÞC øŽ÷e8Š-Ï6×7ß㺧®¡.ðJ õíì;ƒµÛÙ)Ê)j)kmš¸ÉHè«S:µðTˆKÈ0ÝaJòJ5†¸„XX{p,™—ܱ€åÕåKN-ÓoLàäÀÎM!)¥ B¨÷PS°Ð· ?šh›è¨è<.x\XYãÇ?Ì{¸ùÂæ¤ü$ê4Íåå—Û8dÒE¦˜L€«O¯v`ÞêºêÏN}6X{ð^×½mœ‡B¨GÃ:¡Þƒ«ÈmrY¨&[³°²°DX¢£¢³Õi«•Õï©¿/:±FŽžg5oÒImì”kMšÐQÑ€aI»æ€²amÔZ]ÝÝ.»e ¬KP¯…¥ B¨÷ˆMZJªJ@SY‚pîæ6Ü­¾±>>'>â~ÄêßWû;ønýyk;åZ“& tJíp1 ¶¡ö‡O~ ëûƒö{?Þki`ÙÉ)"$QxB!Ô{TÕU=.xLL/J/¬,4Ó5£TX…Ze–d€œŒœ‘ÝÁOq=ãz×åó[òoÓNg¶$IÝ\ã0Ø¡]¡¾»õÝ“Â'‡fbɲ:3E„¤–&ÿ©¬¬gÎMMMêcDDýUMM ­¤¤ÄÇÇÇØØXAAÁÐÐÐÑÑñçŸnãht‹¥®®>uêÔë×ÿ»Â.$$„Šohh˜àààÀápØlöĉoß¾Íì# oß¾Mu–““k’y‹é5_œøk¬+¤ñÓܾwS[§Æ^ͶùÖ&&%Æq¯#±Œ –ÿ÷js ŠÖX7`ÓÖJ–özí™f&½xµ¥ES‰eDvI¶û!wî:®¦·¦Ë>—Ì¢77·xAÒùésÍÑôÖ¤>FÜŒ ¿ª©c¬ÏÊŸß|ŒýV)~aè¸×ñç;?·öXfÖJ–º—úÔð©×Ó^mîK!T|Ã/ ²ö8pÖrØ«ÙC&ÞθÍì# ogܦ:Ë­k’y‹é5_œøk !„¤_w”&¶¶¶‰‰‰gΜ),,}:x{{{{{çåå:uêÚµkóæÍ£$~+V¬^½úÅ‹ñññ²²²Ì¯h|>ßÚÚúĉáááÅÅÅ<˜0aÂ’%K:Ôâ0©þ‘‘‘Tÿ{÷î±Ùlj€¾¾¾$IZXX”——{yyñùü7n”––ÚÛÛÇÅÅÑ}”••?úè#’$I’¬¯¯o’¹˜‹su…ŒÂ Ûí¶‰Ù‰gVž) -<ºähø•ð”Ü9ò0ñið*xÖßZÿ–øÛJÃKc¿ˆ-–Ún·½›yܬÜÈÃätËéà}ÒÛÛÑ;owÞ©§®=¾6ïGÆæ;ÈŠ_V¬ž°úÅ®ñþñ²2²Ì¯^¯Ï ¾õ·Ö'^Zü`˃ &–]r(®•Í]Á·þÖ:ò^$Õÿžÿ=6‹í°×!âføNö%“}-ʫ˽Nz¹ñ÷ðo|y£TXj¿Ç>îIÝGYAù£A‘‡Iò0Y¨¾Iæb.NÌ5†B=Bw”&þþþåååáááNNN***Æ ‹ŒŒ …Ì>~~~999{÷î6mÕçäÉ“$Izzz6‰æááakk«¬¬ìèèèììœP\\ÜÞ 7nœ0a›Í3fL}}½––Vó´ýüü²²²ÂÃÃ]\\8Ž®®n@@À”)­ž3¦ú‡……¹¸¸¨ªª2$22R__ݺut7¡PxàÀj£G>~üxmm­——W»V©ø‹k{uÿ(ÿòªòðyáNCTT† ‹\)½¹¹÷Ë)ÉÙ;gï4óiTŸ“ËO’$éy¢Ùæëakl«¬ ìhæè<Â9!;¡¸²¸½A6NÝ8Ád›Åc4¦þP½–JK›ûw¿¬â¬ð¹á.#\8Š]UÝç€)Ã[ßÜ¿ûeg…Í sᢪ¤:DwHä²H}5ýu'Ö¼dln‘ðÀ‚ÔF}Üãxm}­×Éöonñ×öC¡¡;J“‹/ÀäÉ“émmmSSSfŸèèhæÍ±zzzÆ {ðàAnn.³§µµ5=Ý·o_ÈÏÏoo›·¦S§Ne6^¸pÁÛÛ»þÎÎÎt‹‚‚‚ƒƒCuuõ¥K—èFeeeKË×ÏG277700HNNæñxoM©‹ƒ6×XW¸˜z&cln޶©Þ››ûQ´ !ã2‚±¥Ôô† {ó ·ìÍÍ=€‘¼F_È/Ïoo›blîGQ0uø››Ûë‚·c+›ûQ8›3Ö¿œ‚ƒ™Cu]õ¥›[AÙ²/cs÷17à$¿HæU´ss‹·8hs!„PÐåwèˆD"@ ¨¨¨¢¢ÂlWWWgö©¨¨55µæž>}jhhHdöa±X@ÝcÙ® ÊÊÊoM»¢¢BQQ‘Ãá´Ý³íþºººÀçóé.—Ûd^üüüÂÂB}}}q–Õ®ÅAëk¬+ˆêE‚¢¼¢ŠÂ››[YÙ§¢ºÔÖµ´¥ žª36·#yY4’í ¢¬ð¶Í]/ª¨®P”Wä(Š·¹[鯫ª ü ÆæVj¶¹9:ùåù…/ õÕÄÞÜb/Z_c!ÔStyi¢  ÀápAee%³:),,döár¹•••ÕÕÕÔ…Ÿ[лaFSSS«¨¨âT'­õ§Î­èééÑ-%%%$I2_óA­ êc“7€¼ã⺙‚œG‘#¨TŠ*™ÕIáËBf.›[YSYýCµœLG7wgaFSSR«¨®ÔÄ©NZëO[ÑSclna³Í-(ÕW›ÄØÜb/!„zî8¡C¡NëPø|þ“'O˜}fΜY__Oß«BÙ¹sg¿~ý¨KAÅÑ)Ah3fÌ€óçÏ3­¬¬Ö¯_ßFÿsçÎÑ-"‘èêÕ«JJJÌ“Y555 ôÇþù'??ß‚>dÂf³kkk©i“üñ]×ý¨s"Ôi ¿‚ÿ¤àÍÍ=rf}c=}¯ eçÅý6ö«o{swFÚ «pþŸ77÷7VëOµ²¹­fÀ¹ë¿^tõñU%y%æÉ¬šºš„lÆæÎû'¿<ߢ¯}È„Íb×Ö¿ÚÜ&?Þhes‹·8„꺣4 ÖÐÐðöö¾|ùreeejjê’%Kšüe¿}ûvccãÏ?ÿüÂ… ¥¥¥‡úæ›oBBBÄ?Ò)A˜ÑŒŒŒÖ¯_îÜ9@››»zõj×ZiBõ÷ööމ‰Ož<™?>Ç §Î³PÔÔÔüýýïÞ½+ .\Èb±ÂÃÃé#GŽ|òäÉ‹/îÞ½ûìÙ³±cǾËâº_ðÌ` e ï“Þ—ÿw¹RT™š—ºäç%Mþ²ß>s»±¶ñç?~!õBEuE©°ôPÜ¡oþú&dvˆø‡@:%3š‘–ÑúSëÏ¥œÔrËrWÿºšWÁ[ïÔÊæž¹ÝHËÈû¤wLJŒ Fð¤àÉüÃóy¼ðyáÔyŠš’š”ÿÝÌ»B‘01;qaÄB–+|.cs÷ù¤àÉ‹Òw3ï>+z6vp+›[¼Å!„P/Ð¥‰±±ñÝ»w­­­gÍš¥««»bÅ ???###YÙ×/õÖÑѹÿ¾››ÛÚµk©‹dÿý÷?þøcΜ9OÄüJJJ@ÄÎ;ÀÊÊŠºôµ]A˜ÇØ©§€Ð_-\¸ôôôÜÝÝ===555mllÊÊÊnÞ¼Ù¯_¿‡IõŸ7oÞºuë¨þB¡ðÊ•+Ë–-cvSQQÙ·oß¶mÛôõõǧ®®~íÚµñãÇÓÂÂÂFŒaffæîînffÖFz­-NÌ5ÖŒµïúݵ6²žup–®îŠ_VøMõ3Ò2’•alnŽÎýÍ÷Ý,ÝÖF®Õ^¯mºÅô÷G¿ÿ±ö9£ç@ü³xbñGÒ ´Z) :ˆeÄ΋;Àê+êå2í B,clîGÑ̯F,=5½„Í îÖîž'<5½5m¾µ)–ÝÜx³ŸF+›[M/asÂ<›yëN¬£ú EÂ+>W–}ss+¨ì›·oÛ_Ûô}õÇí§ÎV¿¶áÚø!ŒÍí6Âp„ÙWfî?º‡Ï 7Ó7k#½Ö'æC¡ I²}3Ä©S§¨_öïÂÔÔ´ºº:''çãô,–––ÅÅÅMnê‚ðöö íØì¦[L«k«sv¾g›ûËbAqîîž±¹gÏž §OŸ~— o} Ÿ§§.ìÛWÐv7„Þ[bþ166î–t$£;Žšðù| ºº:º%;;;33ÓÞÞ¾–Žº¿‚¯á¥Q×ÀØÜ%Ù™…™ö¦¸¹B½]7½Þ¯¬¬lÅŠÛ¶mÓÔÔLMMõôôTUUݲeËÛçD=PYUÙŠ_Vlûx›¦Šfj^ªç OU%Õ-.¸¹QWa¾yøöÚÛoíÿVÓ/~ûû¬Ò¬šú8¿ô¼º’úŽë;îæÜ-¬,€éæïqÝóî Bïâqáã=q{ä>hhl°ìcéeçE¿eºÓƒÄfÆ] zQñ"ýËôÎȵ¥;Žšèéé]¹r¥¼¼œº´âã?#øä‡qßkã}Ÿ¨uÓ›‡B¨§à xÀU|ý$_ÞK¨³ÿ{¨1A2þ𔤄 O‹ŸN1™B• +#ëbæÂ{É»–q­sƒlŸ¶}¥íJYB¶•0¨óáÿ.„zCCcC‹-â<ºu»9wÀ\ßœÙh®gNÕ‰AèÂu›n:¡ƒBÝ#³$sûµí‰¹‰õ õ>ã|¨«¿¿ó}èPe8Š:£qãÙÏû¸JÜD¯D¸üäòªßWQq†… kù»[ß}wë;øuþ¯cú)­*Ý{ÿÕŒ«‚ŽǺ¯µ§§™ŽY“8/û;ôfèÝœ»åÕåà• ®¤-a^ÌûÃ'?ìŽÝœŸÜH62G dÃÅ´‹¿%ÿ–^”. ú«÷Ÿc1gñ¨ÅÔ:ȃ܃v YÙô/Ó[k§bvl,ÁSƒý/øS_Å®ŠÝu}×ͬ›²2²V}¬¶8néÇmù™@“]&ÍK@&-e­xÏøÖ¾Í,Éê2 šžªd•f€ûq÷¹¨vêšåÅ'ßɾCµ<ô~¨ª¨úÖ HRð¨ B¨÷¨ª«úúï¯WÙ®º³öΉ'*j*žXxÿÅ}XóᚌMJòJtçqÇelÊ®7œnqâ”±)Ãq°#üëûïÓOŸl|’þeúÙOÏÀÚÖ¦oLOߘnÓצ°²pÆÿÍ8Ÿv~Û¤m×?Œ\Y^]>ëØ¬GyšÄ ¸°p䛫ožýô,óÁƒÍÑó¾½ ¼è3ÎçÞº{MFq™q^xÙö·½´ìÒ­5·æZÎ ¾¼+v3ˆ’¼Ò(ÃQ›226ePõGkíÐá±0¿ º´Äzɵw§‡ß;ëýG˯즥™N¥ÑÚ¿6êˆÀf±™ly6P/þ<µðÔ_KþR’W2Ó5 š³#,ô-¦‡elÊPUT'’,MB½‡@$ðï;Êp[žm®o¾ÇuO]C]à•ÀŽE£®)‘•‘•!dd YYB– ˆ¸¼Š<{ÿ ÆØòìÁZƒÃ§‡“$¹íò¶&AVØ®ÓoŒ’¼’…¾Eú—é­2aª®«þfò7V}¬”ä•ZŘ~cVÚ®TSTSWR_ý ÷M_ºñPü¡ãÇ®Š}Çßñ¢zQ /ÅÂÀ¢ù(ä>ÐVÑþtô§ÌþM"(É+јÓNKm–εœÛZ{—Ž¥‹Øô³¤5èBÚ…/'|© § 1côUõ'O¤»åVän:¿)bv„¢¼âŒŸg¬ü}eÔ§QlvAݯ5AõJòJÛ.oKæ%W×UÿÃûgÃ_äeå·8¾~“‘]aeá/~©ª«z^þ<ðJ &[³ òïÛÛoã¹qÏâ"Ayuù‰G'ößÞïgï÷î¿Ë9 œ=7ö<Ê{Ô|²2²cú)ª,:|ïpYuYM}M|N|ä£È&†é Ë*Íâ½ä=Ê{ô¼ì¹u_ë6Ú»t,]D†Ù1mGEMÅÆs‹*‹Ê«Ë·^Þš]š<5˜*2 ª®jåÙ•[œ¶ Òd¨føýÌï k¢ÖÔ7Ö‹IA’í{Ü2A§N£&ï‚ ¼½½ñ¨I/6{öl8}úô»ÉÌÌl»ƒ˜/|o¯&OÙ»+%?¥‘l¡?bÃø Ì·µ D‚í×¶Çfƾ¬y9\oøf‡Í[.m¡Žá¯ø`…¥%ý Ê™ÅgüÎû=+}ÖÐØ@ݰã8Øñûß@yuù;.?½Ì{ÉSUTª;tÙ˜e ø’ò“f›ÅŒ“±)C̱¸u-–›w,èJÐü‡ MFQV]¶÷ÆÞØÌØ¢Ê"®wüÀñÚ*Úï€ázã?‹€g%Ï6_ÜœÊOå*qWÚ®\`µ€š·µöŽ¥ÉW«?\í3·zh eâ ‰‡gsàð¿‚ÿí‰Ûó ïAcc£……÷Xoz-mý{ëñ‡Ç©éóKÏk«h[‡[Ó3®·~͇kÞ„r-ãÚò3Ë›,:xjð‹.ù=(æÿccã®Xº”ÀÒ‰K“^¯G—&½ UštÊû“QO„¥ à „BI,MB!$Eð:!Ô}˜—b4¡$¯D?›dÐŽAԥݕBR¤KJ“ÊÊJ+++“˜˜˜®ˆÿ.¤97ñIÏ(*+묬þÏÄD#&f¦d3iNšs_=,Bï­.9¡C’dccccccWGÒœ[‹TTTìììš4JÏ(H’ll$Ûw1u÷æÜZ¤¢ngw¢IcB½£.9jÂápÞz¡¾¤HsnⓞQp8¬ÌÌe’΢eÒœ›øzÇ(BH|x,B!„¤Hç—&ÑÑÑÄ+555t{II‰±±1‹ÅRWWŸ:uêõë×™3­[·nÀ€,K[[{æÌ™IIIÍcfgg»»»s¹\MMM—&ÒÒÒÜÜÜÔÔÔØl¶MLLŒ££#5£‡‡GóÜÄÜFz­icÈ!!!ÔB 8›Íž8qâíÛ·™}„BáíÛ·©Îrrr[Ãâ³]¢£3"„úWSSÏȤÚÇ纱ñak¯ºú¾©SÏ^¿þüÍ•Yµnݵ~d±öjk?sæII…ÍcfgW¸»ÿÅåîÓÔÜïâò{ff93HZZ©›[´šÚwlv˜Íñ˜˜LGÇߨ=<.5ÏMüÈm¤×š6†’@-ÔÐð`BßÁá7'œÍ›8ñÔíÛyÌ>BaÝíÛyTg9¹=[Ãâ!„¤Sç—&nnn$INŸ>ÙÈçó­­­###ÃÃË‹‹ïÝ»Çf³"""¨<ÏÚÚú·ß~;pà@iiilllii©­­íÝ»w›ÄôöööööÎËË;uêÔµk×æÍ›G/%##ÃÖÖ611ñÌ™3………G OIIQPP I2""¢ynbFn;½µ=d___’$-,,ÊË˽¼¼‚‚‚ø|þ7JKKíííãââè>ÊÊÊ}ôI’$IÖ××wl ‹9ÌörsD’¾Ó§¿qÇŸ/´¶>ù8<ܾ¸xí½{ Ùl9‡ß""þyµ2…ÖÖÇû-íÀÇÒRÏØX÷ÒÒ[ÛÈ»wó›Äôö¾îí=*/oå©S®×®=Ÿ7ïõ5¿å¶¶¿&&òÏœ™^X¸æèÑ)ááSRŠdIÒ7"bróÜÄŒÜvz-j{Ⱦ¾Ö$éka¡]^.òòºdÇ篾qcnii½ýoqq/è>ÊÊò}Ô‡$}IÒ·¾~CÇÖ°˜ÃD!©ÕM'tüüü²²²ÂÂÂ\\\TUU‡ ©¯¯¿nݺ‚‚ªCNNÎÞ½{§M›¦¢¢2lذ“'O’$éééÙ$”‡‡‡­­­²²²£££³³sBBBqq1õ•¿¿yyyxx¸““$22R(Š™d‘ÅOOü!S„Bá¨åŽ=úøñãµµµ^^^â¯Ûv-®íav ?¿›YYaaö..ƪª¬!CÔ##]ôõUÖ­»ZPP~~7rr^îÝ;qÚ´**òÆi<éB’¤§çÕ&¡<<Ìmm ”•åû;;LHàÿwk¥¿ÿÍòrQx¸½“S*Hd¤³PX×4›V´YüôÄ2E(¬;pÀ‘ZîèÑzÇ;×Ö6xy]ݶkqm!„¤V7•&QQQàììL·(((888TWW_ºt ¢££edd\\\èzzzÆ {ðàA“¢Z[¿~Bß¾} ?ÿ¿?g/^¼“'O¦;hkk›ššŠ™d‘ÅOOü!S”••---éæææÉÉÉ<OÌ´Ûµ¸¶‡Ù)¢¢ž€³ó@F&²ýª«ë/]Ê€èè ÂÅåõS–õô”‡ Ózð  7÷7Ú[[ë3Rå@~~%õñâÅ,˜<وÍ65Õ3É6"‹ŸžøC¦(+Ë[ZêÐÍ͵ T’“‹xŸOu55µæ³?}úÔÐÐþÈìÃb±€º‡V$ EEE•7Þo®®®.fžmD?=Ê[‡L·p¹Ü&óêèèäççêëëƒxÄ_\Ãì"QCE…HQQŽÃa½™‰2ðùBª¨©}×|ö§OË _AMíuÖÿ³wßqM]íÀOÈ {*¢ˆ¨,e8PáV ÜÖZD´ôUPꨱ8PjÅñku´V¥Å "8E– 2Ã& ñûã¶1„0àù~úy?7'çžûÜ^óäœsÏ%áBØ=´ ‹G¡èt¢äÒ>,´•–¥Óæ)‹KTTš†§¥E+*b3™uººŠRF.ýáZ9Mg=‘šÉdeeåšš‹%ù݉ 4èèèÉd6›Íår±™ž; ƒÁ`±Xl6[2;a2Û˜À(MËí ¯ÍS—TTTˆD"×$`-­~^K¾ÕùÃu72¯¬L®©i`±x’ߥ¥„ŽŽ"™ŒWQ!³Ù\®ÐÁN;2Ï`X,›Ý(™0™u­ì%eËí ¯ÍS—TTÔ‹DHòóÄÖÒ¢a/¥ø¨Ûq¸þ)·"7ìaØÓO«¸U¡!Ä 3^lzþûtbxx^›R R柟ÿÛÂßìôí$Ë£2¢ü"ýB$<éÍ·oz츭k|ܽZ èxxx „nܸ!.ihh¸wï•JÅÆ_¾øâ >Ÿ/¾9¢¯¯Íý”ÆôéÓÑ¿Ã:˜’’’¬¬¬ÎÇßðÚBh¸–´3ßÁçäVäæUæ¹»ô“ãyƒ‰Ú7-‡Ã]¾|¹•¯dy3|øp.—ûþý{YÒKKËòòòÏÝã#Wp8œŸŸß¡C‡dHk†ÿ?.—ÿþýYÒKË3ååÜ‚‚µ²ä³<==BüñGgis¿ ´BG–¶^­cÖþ¹6&;æµÿk2á³¢gÿ2»’S “Z‘ö0,Å/…Fl¹n饥)Sº|®I›Çm]ó¨zãÇ-åÿG [¯Ð«õÄ4ØSRR2bĈÒÒR"ñŸ©‘ùùù¹¹¹X¿èKJJ8#FüRZºžHü§›$?¿&7·zñâ² ÈDtVôº«ë°í‘¡#›¼û…Ùûgîÿܾ•u•áÃïåÜ+e•2È ›A6ì7˜j™6i6n]Üþûûæ=Ä+à­Z¹é«èco D‚Ûooÿžö{fY&«5Xu°—…×Ò1K±i.’ዹ—G"†:|çú«µ;zwÒû$E²âdÃÉÛœ·)’¥‰ísLö›`ó?GCQ#iCR+B÷²ïgkŽç9Ï¥c–Î1»Åãî¼»óÖÛ[GÝZ²f7°O==å}Å[|çŽ4QaêëvÜݱiâ&SmÓÜòÜ€[‹/.>3ÿŒí ÛN^(Ð}úÔãýtttbbbª««±IsæÌ166~úôéСCÛÞ¹gaÏÇIKK+,,ÄápØä =Ř¯êê†I“.©ª†Ï™sÍØXåéÓÅC‡¶°öŒlaÏÇIK++,dãp¡Øä 'BãC k  iDš±†q˜[˜H$Ú½«IM/ /«VT"uÂ Ž†Ž/‹_Vq?Ýf§o·vÜZeв*Uûºý5ùWvCÓî<Í=G錢©î£Ü5Œãßů´]iªeJ#ÒX-ÐSÖ‹ߨºVlN¬‰œÅaÔÖ×¹ÙØÓˆ4M“ý3÷3ÙÿY”¡ÍPWÙ®Š„§Ÿœïò¬àY)«t†éŒÏ7!?ÁXÃØÞÀžB h(jl¼Õ@Í@òˆmF…a5°üüÇè¡ifºffh4~ó}]-Ð-úZ¯‰³³³³³³¬£h›¿¿¿¿ÿg»4œõõeEÛüýmüý[ûád(:+Z§àdôé>)Mº¦±†qzIz «D‡ñéþ>sÝO“šu•tB¥¬RUª*BÈÉÈI²„©–iäëÈìòì&Ýfºfâmm†vvyö(Qâ†N3£±u­è¬h33-ú?K+=x÷!4iè$q-º–šA^ežä.­‡:~ÈøÚ#®¦_Ý4i“ U!tòÉÉå6Ë%ïÄir\C‡ßžÿ¶íÖ6O O33¼>zM´¸²4QaȲ…®…ø¥‰¦‰]+£4ƒÉfŠäM_KM@J<ÕÀBY²lþn~e¾ä×?ƒüi1Cž„¡î!`5°N?=}7ën «¤¶¾V\ÛØô‰EtÒ§Õ q‡WÀS‰Tq‰NA(v 6IœkÂmä&ä'¬¿^‡Ç!ÈM楪+ª‹“)C]i»ò›¿¿9ÿü¼ÏŸ¼Ê¼äÉføÜqB;]wZ °ºš~uÉÅ%!k=ëV ¦ ›"eTb*•& WªÓÔ™lf§R¹©  Ÿ"áIJ%NçÍÿÞtf!5WÖ$Lr š=b¶*U‡Ãý’üË÷~ç.=['çš<Î\ϯß¾K“IЧ®±N2¨æV·7ÔY#f…Ƈž{vnÍØ5§Ÿžžg9OrÂo“ã"„p8œû(w÷Qî|!?é}Ò©§§Ö_]è¸Âf…4Q‰ai“¤Šº „º¢º”×ô¼>5×ÚeªÉTHð¬à?˲E$EL<6Q j­ïAL <+x¦I×üÊú+5šö½ß ±u@LvÌ •AÃ4‡‰K†: P0Uܪ&Ò„ŠÇá—Y/«¨«8ýôtTFÔWÖ_µ~\«CV¹¹!‚ÁÞÀþø—Çq8ÜýœûÒG…©k¬Ë(ý4L–Y–Éd3MµM¡ËDžAjè¿üüõUô·ÜØÿ.žÕÀªæV_|q1üqx€S€”}x¼¾]»ìä““Uܪz~}Òû¤ /.ÈClí% csb›¬xæïè¯BUù>úûGyêërÊs6ÿµ¹ÉHŠ”¡Î·œÏ 3>8èjìªMÿ´Ju‹ÇEÝzË|Ëð*ê*N$‰Dã“>* •Hݽ+­8ÛÈ}Uü꛿¿!â‰A.pÛ¦\ëûK®.Ñ+–\Ñ«—\“\;!ä6ÒíÀìË//˜÷P\èbì“#~¹~üúÍ“6#„ª¹ÕÇŽEgG×+Q”FhXm·z ¡Ô¢Ô¹gç6ÙÅhŸ‘¸d²Ñä“sOVq«>8—WÆ.S¡ª8 uФkO<Ž¥3jç”Mq5võ8ã!.ñwð·d=ÿü|q‰¯½¯¯½oë±u‡gÏæŸ×üÑzy•yûãö'¾Oä øÃ4‡m˜°á—”_òBžæžÁ3‚¥5ä~ÈÉ''£VDI.ÚÛâq3J3.¤^xúáiQm™@¢:ÄËÂËÓÜS E¤ I­ThâæÛ›¡õã׋Kr+rB: Éj:J:¡¼Ê<é[}ôš´ìÚµk¡™3gŠKÈd²³³3—˽s玸B¡ØÙÙ‰_š™™ 0 --­¸¸¸'£ Ÿsæš³5ÇÅØ!´'fÏr›å > ana‰ù‰~‘~X¯Ç³5‡J¤Š÷š4tRÎÖœQ:£ZlgoìÞ5c×<ñ}²Ýy{äëÈÍmÞ³gÓ¤MI¾I¾|OûýðÃÃM¨k¬ÛqwǺqë|..ºXS_³øââ§Ÿbï2ÙL37ßÞÜ5e×óMÏ/,ºPÍ­ž{vî‹ÂM½ýööÅ£?\ÿðϯþl%]h²—X»ÌýW÷¿ßü䔲1åÏ¥R‰Ô%—–üžö;VaçÝgRÎ|çò]Š_ÊÕw†ªõ¾âRÒÊ2ÿ—™³5§•ÿÚ•—”sÊŒûÑËÂkÆðâBV !D#Ñ$kÒˆ4„P ·FúÆA©I jjj( ƒÁ,Ç:KJJJÄ%êêêâÞHŒ––BˆÉdöH¤€¦¼,¼¬ZQ‰Ô C&8:¾,~YÅ­ê@;žæž£tFQ‰T÷QîÆÆñïâWÚ®4Õ2¥i ¬è)ëÅ¿k:tËj`ù;øÑC#ÒÌtÍÌ>Ð(hü>æ{ìÝÐøÐšÂ@§@GCG‘f¬aæ&‰vEïjÒŽ÷8o;};*‘j¡k‘ù¿ÌÏu™|Nh|hAMÁv—íNFNt2Ý@ÍàМCšŠš»£w—sÊB ù ÆÆööECQcëä­j¸DSÍ­^~y¹¾Ý÷S¿o³²‰BMþ™}¤&- “ÉÊÊÊõõõ,K²¼´´!¤£ó©¿±¦¦i.%%X‚èyæºæâÒOå IDATm]%]„P)«´íHNzÐfh#„$ûWt:Í›%ȺŸVb4Ñ4Ñ¢ke”f0ÙL„PtV´NÁÉÈI\A“®i¬aœ^’^Â*‘lG²‘¸›u!4Ùp²¸„„'2¾ž_ÿ0ï!BÈÁÐáyáóm·¶¥¥bÃ4Ñk¢íôí>×`â6r—]^f¬i|pöÁ&B 2!TÇ«kR!¤DQêØ€ü€¹&-óððøõ×_oܸ1þ|¬¤¡¡áÞ½{T*uêÔ©âjl6;--M¼,ì«W¯ŠŠŠ,,,tuue4àßo8 OBÿþòn/:‰.ÞÆ!^/9¤€SŠšÞ¯«BQiòû^¦Îd3+8*TlÀÂòeócåWæKαÞ/--MEEåàÁƒ:::“&MRUUuppuø€–iѵ$——±ËŠj‹ºªñºÆºŒÒ ñË̲L&›iªmªE×BM5™* ž<“Ü%")bⱉQkí…õÜÏý´OÀKÈO ( &"„¬Ya·ÃööÇ¿<ŽÃáîç´°nS:òèH3+bnÖ•Õœ­¾­‘†Ñ­··ø X‰@(ˆÊˆÒUÒ•œýôšüC (((Ÿ.ˆººú¡C‡:Ô¼²¿¿¿¿¿¿øel,,@ï`o`îÙ¹sÏÎ}iþe9§<4.T¦Þ hè’Æ©Dê®è]ÎÃ4†å”çÜ â‰A.AØ»þþOÞ?ÙrcËÎ);G- n½½þ8iwÀá._¾ìååÕMõ¤Q£FEEE 2!4zô說ª¼<¸{¾e8¡Ëõ…Ï|†çܹè?þèL¹¹¹­WذA!tôhG楶"µ(uîÙ¹â—ëǯß#qÉd£É'çžD±XÁ±Áq¹qµõµ£tFmsÞt'5ðëí:̵I;®Æ®g>/ø;ø[²ž~¾¸Ä×Þ—F¤‰ï÷ó—?ïÛÿ²è¥P$4×5ÿÆáÉuMª¹ÕÇŽEgG×+Q”FhXm·z ÍO!”³5§Í—\×!ä6ÒíÀìèßuM¢³¢KX%T"Õr€åš±kÄÉGFiÆ…Ô O?<-ª-"ÈCT‡xYxyš{vß0«¯¬þ\¯Ì•¥W°Ì›Ò7â<+|& -XøMôëo÷“òÿ#†††=Žlô÷ÔÄÁÁ!$$$66ÖÝÝ=88xË–-²JNAjÒôâÔ€>RÔÏtNŸ>½eË]]]½{÷JŽÑ@&úujbgg'ë(ðI¿NM@þINšiÂ×Þ××Þ·'ƒ @jrMšù°ô%°® ä¤&#š@Žtd®É™3g»< ÷"‚ϽK«¨Ð“u СÔäæÍ›7oÞìòP€Ü‹E–äï˲³¹²:”šô™Õ`ôp8Ü‘#Gf̘!ë@@wñññ¡Ó鲎`® ä ¤&#š@Ž@j½I]cs„óê+«eÝRèMD"‘P$ …’…fÌæŸ'«èZð èMIŠ÷×Þ—ut#è5€^„b³ÙVVV&&&QQQ²ŽÐnÑYÑ뮮ö﮾{èá¡Ä÷‰ÕÜj„н1Ï žaoÑsyñe„PB~ÂÒKKOÌ=ádä„Ú³ç×”_±:™[2ñ8|óC˜ì7­Ä ¡¨‘´!©Å·Öþ¹6&;FúÂ=Â}®ù´x:{§ï ¼ˆ½õÚÿ5™@>õäÔ¾ûûBÏ ží3Báð™ÿËÄêTÖU†?¿—s¯”UÊ 3lÙl°ß`ªeÚÚÕ@Öú]jB§Ó---=z$Y(‰„¦c·€ÞÂu˜kÎÖ,Ø~{ûƉ÷ÏÜŸUžåuÎëø—Ço¾½¹ãÎŽƒ³Î9«ù:û_,-Øî²ÝNßîÜósgçŸýÜ!Ä_öpüË㿽ø­]1|ît\‡¹zYxIæ:«ìV­²[evÀl„ö,éc²™žç<ø ûfì³Õ·-¬)ÜqgÇܳsÏ/8o5Ъç@wƒ„b0¹¹¹°ú>}€÷8o;};*‘j¡k‘ù¿LUªêÌá3‰xâõ××± õüú˜ì˜Áªƒïeßãð8Xáµôk£<º/ªÇÐüt¤?hh|haMa S £¡#H3Ö0s ‰D»¢wuÉIÐM 5ô)ºMJT¨*ކŽó—±ËB1Ù1,^\ϯ¿“y!TÍ­~òáÉT“©ÝU‡ch~:ҋΊVÀ)`½2Mº¦±†qzIz «¤ÃÍÐݺ25)++óõõ2d‰DÒÔÔüâ‹/RSS±·ìííqÿZ¼x1BÈÅÅE\R]]Ýf ˜ŠŠŠÍ›7’Éd===—_ý•ËåîÙ³kÊÞÞ«yûöm¬DCC+ ÅápçñãÇØ[!týúuq$õõõÍE"‘TUU§OŸ~ÿþ?³â%wÉÏÏŸ7ožŠŠŠººú¬Y³rss[¿Joß¾uwwWVV¦Ñh¶¶¶QQQâK±jÕ*É–333½¼¼ÔÕÕ±—ååå­G%ýEÀápzzzÉÉÉÎÎÎ ƒF£Mž<ùñãÇíÿÌ;T"µy¡Ç(PðwÆß¡ëé×=FyÌ1¯€ÿëÍ_¡¨Œ¨ÉF“iDZ+Íšì71ÚgÔÊcŽm=°ŽÅÐâéHƒ'à±XB‘Ðò¥dœ¯K_#„ò+ó;Ö,= ËR“ââb›ßÿýرc•••qqq•••ãÆKLLD=zô(55UQQÑÂÂ"""!tãÆ ;;»‹/ŠD"•6[@•””ØØØ\¼x1,,¬¼¼üÙ³gŽŽŽË—/ˆˆØ¾}»H$RTTÇ3mÚ4‘H4fÌq‰¿¿?Vg„ "‘H$ñù|„»»»H$rss“<ìX.\ÀŽõäÉæìì|êÔ©&»øùùùùù^¾|966vÁ‚­\¥œœœqãÆ¥¤¤\¹r…ÉdþòË/aaa/_¾$“É"‘èÔ©S’-{{{¯_¿þãÇIIIx<¾Í¨¤¿ÕÕÕ7nܳgOIIɃ*++œœâãã;öé ç&NV¡ª\{u­²®2µ(Õu˜«†¢†ýûÄ÷‰L6óê««mŽædþ/3gkN+ÿ}nlÆÐ Â5)!áIJ%<Ÿ¹¥…ÈÇn#‘@†º,5 xÿþýÁƒg̘A§ÓGŽyéÒ%‘H´aì‚……Å/¿ü’––¶téR‘Häíííìì<þ|é[ÈËË ›5kƒÁÐÖÖÞ¾}û´iӺꚜN^^ÞáÇgÍš¥¤¤4lذ .èêêúúú–––JÖ\µjÕ¸qã]\\fΜ™œœŒuo´(00°ºº:,,ÌÕÕ;Ç .p8œ+oÙ²ÅÑÑ‘F£ÙÙÙñù| é£j‡Ã9vì¹µµõùóçy<ÞÆÛÕ½Oœi:3ƒ™q þ€‹± …@A¹raØlæ¸Áãzu T"µQЈm»žp½”z !4Õdª@$ß „‰HŠ˜xl¢@ÔÚÝFÈV—¥&ׯ_WPP˜5k–¸DGGgäȑϞ=+((ÀJ<==·mÛvõêU{{ûŠŠŠï¿ÿ¾]-\»v !4}útɽnݺåçç×Ug!†kæÌ™â2™ìììÌårïܹ#YÓÆÆF¼=hÐ „PQQÑçš½}û6BhêÔOÃÉšššÃ‡o±²­­m‡£j“¢¢¢¥¥¥ø¥™™Ù€ÒÒÒŠ‹‹ÛÕ½…ûHw„Ðå´ËâÎ ×a®Š$ÅËi—ÝFº)àzbâ]÷Å0Rgd^e^qmñ‹Âª>Ø ²Aù;øë«èo¹±%þ]<«UÍ­¾øâbøãð§€o@NtÍÍà 555!eeåæïfggëééaÛßÿ}LLLBB™3g¤oASS³¦¦†B¡0Œ.‰¹X0Í¥­­*)ùÏô1É€I$Bès7!744°X, …B§Ó%ËUU[žr/94ÓÞ¨Ú„ ¢IÒÒÒ***b2™ºººíj é‘É"«ë“€Ô¢Ô¹gçbÛ#CG"„r¶æ4©c5Ðjˆêž€g;蟤ŸB L3™öç«?»õÞœÄÐÊéH®à22t¤ÛH·³ „¶;oßv{Û”“ST¨*ßMùÎPÝ!¤NS¿úÕÕc ÇvÞÝY\[¬DQ¡=âø—Ç' ™Ð3ç : ¡AAY¹¿÷iuMjB&“UTTØl6—ËÅæ–~N\\\MM™™Ùúõë-,,,,,¤oAYY¹¦¦†Åb}.;QPPàñx’%â ¶b8\ÓÙO§Åcaƒ&:::m¶ð¹f ‹Åb³Ù’Ù “É”rwi¢’æ" „***D"‘äÕÀÂÐÒÒjÇ)ÐN**Â÷ï‰]Þ¬åËæ¹Hs1Þ1MJBf†„Ì éòx:C+§ƒ­àÒ¼|¨úЋ‹.6/W¡ª::v4^ÐÓ*+n”u2Öe?_¾øâ >Ÿßä.}}}l¶)B(//oåÊ•þùç_ýE¥RÝÜÜÊÊʤoÁÃÃ!Ôdõ++«M›6aÛººº………â·JJJ>|øÐ$N&þæ6119qâD‹§ƒëÆâ’†††{÷îQ©TÉá˜öÂF£°aqYYYRî.MTÒ\„P}}}rr²øå«W¯ŠŠŠ,,, Ët+CC^v6I$’uÈ%‘åä†åµ]µOë²Ô$88ØÐÐpÅŠ·nݪ©©©¬¬ŒˆˆØ½{whh(Ö Âf³ÝÝÝ>>>ØÔΫW¯FFFzyy!„||| ÆË—/ÝÜÜÒÓÓËËË7ož’’RPP¬ã ‡¨« 6l¨:yR¥  ëoÕ —**"œ>­âë[¥®ÞßïFšô0˜˜˜êêjlzÇœ9sŒŸ>}:tèО {†NZZZaa!‡ÃfÉÐÖ.­ÑÓãhòùmßÌ@ŸÇçã¶lÑ0€¿dI¬c‘ ]³® ž³³³³³³¬Žîïïïïï/«£€!Dáá%žžƒ‚4ƒƒ¥Z×€>l÷n´4òåË…LÀBzM2alÌ;xù矌Ÿ~‚I' _ûé'ÕK—”fššö÷sÄ 5Ȇ“gÇŽ²#GÔ¶mƒ‘Ðñù¸mÛ4QÛ±£ÌÉ©åç¼öO0 ™E‹juu~~Z>ƒƒ™zz|YG@)( h¥¥‘þ¹ò’& × KNNœË— ™L´iú‡«q¹Ð}ú8.wø°Ú´iúL&áòåBÈKšƒ^€Œ™šònÜøxö¬òÑ£ª.(ÍËš6mfÖ Å³8è5D"ôêùömú•+ŒÆFÜæÍ•K—ÖÀ¼×Aj=A´bEµ›ë·ß”®\Q:qB…NóTUd2üÛ z·†\e%>'‡Äf+ È_¼¸fÑ¢ZX¿¤Y¨¾›BÈÖܹs{`¡ziddRS)99¤š…†ø7§½|¹!dn~\Öôed²HYYhdij²ªïªçãôí…êÛÝkrùòåîˆȹÄÄÄaÆ©««Ë:Ð $ëþajʃ){Ɔ •¡£GKeŸ´;5ûõOð¹èp‡ä¤&#š@Ž@j9© ä¤&#š@Ž@j9ÏÐtmmmY‡Ú‡B¡ øà€œÔÐeètº¬CíC |p@ÎÀ€ä¤&#š@Ž@j9© ä¤&#š@Ž@j9© ä¤&#š@Ž@j9© ä¤&#š@Ž@j9© ä¤&#š@Ž@j9© ä¤&#š@Ž@j9© ä¤&#Y ç”——×ÖÖŠ_r8„лwïÄ%JJJ2ˆ €áD"‘¬cÐCNž<¹fÍšV*œ8qbõêÕ=ÍAjýHUU•––ŸÏoñ]Àd2UUU{8*$Á€ò«¾¾þs_!t ‘Htqq‰‰‰iþ§…Çã]\\ˆD"›Í–Il ¯" ¥õ»/@'ÕÔÔÀ—èrÓ¦M»sçNór¡P8}úôÒÒÒž ômt:½]© Ü¡ý‹³³3‰Dj^N"‘œœœz>š€Ôú*•:eÊá?½æaêÔ©T*UVQ © ô;sæÌi2ׄÏçÏ™3GVñ Rèw&M𤤤$YÂ`0ìííe’ 5€~ÇÏœ9“H$b/‰DâìÙ³› ñ +š@4gÎœÆÆFl»±±qöìÙ²1HM ?²¶¶ÖÒÒ¶544ÆŒ#ÛxƒÔú#çææF$‰D¢‡‡‡‚|y‹ÐOÍž=»±±±±±îÍr&=ÐÇ54àRR(ééä‚bm­‚P(뀀Ñ¦Ñ BÇŽ9Ê: G’’pРƑ#¬­ëÉäž~Ö¤&ôY/_’ÏžU¾sG‘ËUÐÕåܨ¢"Äáà‰žà“"„“u@¾¸¼œ÷í·Z>þ¹„Hì®?pó0}Äöíš))”óç !/t“iÓØçϦ¤P¶o×ì¾£@j@_pü¸êõ댃K-,zn= ²°h8z´ôúuúñã*ÝtHMèõÒÓɪ–;9ÕÉ:@ß7qb]``ÅÁƒêééäîhîÐ@~Is‡ŽH„.(¢K— q°> §,\8 ±÷ûïmÿËÓÞ;t ×€Þí¯¿ÏŸSvî,‡¼Г‚‚*^¾¤üõ£Ë[†Ô€Þíøqww–©)L1týúõ¹sçÚØØý+##Cš333¿ùæ› &˜ššÚØØ¬Zµ*>>¾Åš/^¼˜={6ÖøòåË»4| 3¦¦ îˆ®Ÿq© ½XZ%;›´dI¬òN lذÁÌÌlÍš5<O\áïš:|øðçÏŸÿý÷ß Ešoß¾íææùå—_>}ú4$$äÁƒ+W®ŸO§Óýüü †“““µµ5Bè§Ÿ~’ì;Ù¾}{NNΕ+WŒ»á´€Œ™™5èéñcc»¶YHMèÅ^¼ Œ[/ë(@/`bb2uêT …âäädnn..///Ç6ŒvÌ8sæ —ËE >>üñ‡™™Y'ãrkìXnjªT=mÒƒÕ`èÅrrˆŽŽpÃ0h@øé§Ÿš—wì&Mq¿ˆŠÊ§yâí””‹…å:#FŒè@û 6Œ÷ð!µkÛ„Ô€^¬º¯®.u ã¢¢¢üüü$K~þùgWW׌ŒŒÙ³gc%ëׯ߼y3“É|8??ÿÊ•+ÅÅÅ`åÊ•§OŸ¿>mÚ´sçÎíÚµK\èããÓb„Û¶m[¾|ù«W¯<<<°’uëÖåååaÛTê§ï$†mˆD¢ìììÑ£Gwôª€ÞDMMPUÕÅÔz1×}±=`Ö¬Y)))â/ø°°0WWW„©©éýû÷ñxü;w6oÞœ™™9cÆŒ_~ù…Ífÿý÷ßwïÞmll<}ú´››[ii)BhÕªU999âvŽ9B "##÷ìÙƒEò]Ì’%K$ ÃÃÃsrrrrr^½z%îÿðõõÅn¨133»ÿ>‰DJHHX¾|¹P(Ä*à%ò&¹]]]Ýõ È%IÄãuñÒš€,©¨¨¸¹¹aÛ¿üò‹¸üÌ™3&LÀ&p`_öÓ§O700ÐÓÓ›5kB¨¨¨hïÞ½ÍÛÔÒÒZ»v­²²²§§§ä˜‹4¨Tê¢E‹°í³gÏbsJ°x\\\´´´¤iËì€N€ÔdlÙ²eØFjj*vû ‡Ã¹rå ÖcQZZúòåK¬‚83¯­]_ßt*ôäÉ“ÅÛ)))í…ºdɉ„ª®®ÆnáÁâYºt)BHIII<õU ø4ž(¹­¬¬Ü®# R1###{{{lû×_EýñÇÚÚÚXaYY™¸æþýû±…ËÄÓDx<^AAA“55;õTX qGÎÿýßÿñùü?þøcРAØíÁÁÀÀ{Wܧ‚ª«ûgF6‡ƒ[…Ag@j²÷ÕW_a·nÝ*))9{öì²e˰auuuqµM›6å4cddÔ¤5¬Ï£3V­Z…½¨¨(22òìÙ³X— ÆÁÁÛœSRSóÏÒÖÖÖíº€& 5Ùsttĺ"ø|þ×_][[ëî¥««+^-++Kr¯E‹-X° ;â144ç»wï®­­ß1„Zºt)6öÇâ¿kˆž IDAT)±âõ^׬YÓ!þR='î–HKK›?¾ä 5{÷î¥Óé¡Û·o_»vÅbUTT8pàåË—ß~ûm7…´jÕ*lƒÃáxzzJ.`¯§§·oß><Ïb±Ž9RSSsóæÍääd„ÐÚµk%gºÐ¸Ž­·è¥¥¥l6»• FF†GŽ”Î˜ÑZÐ[ÔÕÕÙÛÛ×ÖÖâñøøøxÉw Ož<ùèÑ£ââb [[ÛåË—>µ´> B(..NOO¯Åwmmm.\Ø|—K—.aJ0nnn¯_¿VPPˆÅš’”‘‘qòäɤ¤¤ÊÊJ:nnn¾dÉ’&yÉï¿ÿØâùbË«´yY€œ»y“îë«““ÛJ:.ž¸- HM_šÙú믿6oÞìäätâÄ YÇäTw¤&0  eS§N%‰’`èšø¤ªªÊÈÈ(--­ººúÀ&&&&LuP gèø„L&[[[/[¶¬±±ÑÂÂ"<<–v= RŸÐh´K—.É: ЯÁ€ä¤&#š@Ž@j9© ä¤&#š@Ž@j9©  ©º:³óÝÕ«eH ä96@—€ÔДH$ EB¡<>–\žct X¨Д¢"áþý©²Ž¢eò K@¯ äôšþ#:ºxݺ$lûõë9d2Û®®æýôÓÛ˜˜ââb.F°´T[³ÆxìXMñŽ•• áá™÷î—–r ¢Æ† ÃMM•›´7eÿþ×2ñxœ••ZP¹¾¾¢¸‘Ü\Ö?¾NJ*ãóEÆ)ùø˜üúknBBBÈÓs°““n“ؤo¹•ð>ÇÄäº@ÐÚÈ‘†9)iÆçÞåñ„ÇŽeÞ¼YXTTG&ãÇŒQŸ7oˆ££6“ædƒƒG·rhú0œHC¶È©ÒÒR6›ÝJ##Ã#GJgÌh­NǬ]›S,NMÊÊê==ãëë{÷ZÙÚj–•Õ‡†¾¾{·è‡F{y F1™õžžñ ‚}ûFÛÚjrvìHKK«:ÞÞÊJM²M]oïaÇ+?^áí4l˜ÒÕ«ŽX…÷ï9÷©T|HÈ˜Ñ£Õ 9{ö¼ÊȨa³ß¼qû\lÒ´,Mx].0ðù­[EGÚZ[«³ÙüS§²OÊþí·‰vvÒŸ,rîæMº¯¯vNNn+uètº¶¶¶ôm€ m¡¡o ê¶o7wrÒ¥Ó ôC‡l45)»w§•—7 „BC_Öš9:êÐhxcc¥°0‘H´kWZ“¦¼¼[Y©Q©ø ´µ_¾¬ªªâý{”×µµAAæööZX#‡Ys¹)ƒl½e)ÃëB eÆÆ {{- ¯¡AÞºu”]ün'O€> R@ÛîÞ-BMž¬#.!‘Æ×¬¯<|XŠŠŽ.VPÀ99éŠ+hjRŒ•ÒÓ«KJ¸’M™›ê¥ÐÕ¥"„JKÿ©ðàA)BhÒ¤OGQS#JGÒi¥eéÃëB:ÏŸWnÛö"5µ ŠŽvźLP§O€> æšÚÀã Y¬F2¯¨øŸ144(¡²²z¬BÈÒòïæ»çç³ut¨â— ƧFH$(È\CƒŒUÐ×WܲåY||)‹ÕX]Í»x1/<<3 ÀLúŽ ÿ‘**¤ï¿O{ôˆYW'Èʪݲ幦&¥Kâï|x”úöm '¬¨h8q"K$BãÆiþRw,½Ü< €ü’ÉÍÃ’+… „ÜÜ8`þY×$3:º¨¤„K¥,-U׬&þ¢Å*;–]T\ÌUR"¡¼zµñ„ Z¡ÔÔª¹sãÄ5ׯ7Ù¼y„‘Ñ5qÉäÉ:'OŽCåå±÷ïOOL,©©Ò·ßŽ:|øÍË—Õ¯^Ín1¶%K ¥l¹•ðºIFFÍ… yOŸ–qÉd…!C½¼ <=ãþÍ…Z?Yz…î¸yRä— ×5‘S¦ÄÔ× <è‹Ó÷«“}¬kèËÊÊêÇŒ¹Áçú½TPÀyÿž-Ù7Ógô«“ ] 5È‘šÞöí/Š‹¹\.?-­rãÆƒèã3\Öqu‹~u²HnÈ MMÊÙ³öçÏ¿[°àai)WY™8a‚Ö¡CÖƒÑdZ×ëW' @»@j#ãÇkŽß_F4úÕÉ =ЀÔrRÈHM G 5€ÔrRÈHM G`É5½¨¨?¿d„‰¤ð曬Ãéi7n?žõA€ºyÓyØ0¥´sêTö¾}é!mmÊãÇÓ»8ÊVI>ûõë9d2¾›ÂËȨ9pàͳgÐÒRmãFÓ1cÔ›W‹‹+Ù³çÕÇœÌL÷ŽH† ×Ð[ÕÕ œï®^(ë@ºÀ¬Yz99}~qØ?²gÏ*üü’ííµ’“gÆÆNÑÑ¡v¸ýU«Œsr:qbœ““BhÏž—¿þš‹Õ ·óñy‚mß½ërèPFbbYu5!´wïèÀÀçØ[جCñÃgÏ*ŒŒ®!„ðxœx`eeCxxæ½{Å¥¥\ƒhc£±aÃð6Gý%ç6ÆÇO I‹+!‘ðÚß}gÎb5îÞý*)‰©¨Hœdâñ8++µ  s}}ŃŒŒüøÍ7)â—‰‰Ó55)­œB¨É\ìe^«å}z'œHé*rª´´”Íf·RÁÈÈðÈ‘Ò3Z«ÓÏoÝ*:zÔÖÚZÍæŸ:•}êTöo¿M´³Ó@½Ïñð¸O¥âCBÆŒ­^XÈÙ³çUFF ›Ý(Í­%¿ý–·cGêÁƒÖsæ ÂJ¶lyþçŸïgÎÔ ³ÁJ¢£‹ÏË={Ö{‰%4¶¶7šš›«de±¼¼â“’f¨ª’°·$oˆ03ûkÄ,éc2ë==ãûö¶µÕ,,äìØ‘––Vuþ¼½••Z›1cG™:uÀºu&††Œ;wŠüýS´‰D…M¦GF~ J]¾ÜpÛ6sl—²²zOÏøúzÁÞ½V¶¶šeeõ¡¡¯ïÞ-úá‡Ñ^^ƒ›_Æ9ÁÁ¯òó9L&W|;vǬX‘ðè3&ÆUòÛÔÓ3~éRÃÙ³õ¤Œª]Yó’åË?~\Ö<†%K†ŠÿlZ1{vlAAÝÈ‘*›6™ššªäæÖ¼ÈÍe93ÁÖVCÊö[üCÂ>Ö†á?XÚÙir¹‚Ë—óz³m›ÙòåFâsqqÑõö6|¸rjjåºuIC‡2®^u” ¯²²»CG …„¤geÕ†…Ù(+“Z?¯eË?zÄüóOG Uqáû÷gç»#GªDFNnR„[åå Ý}‡ÎÍ›t__휜ÜVêÐétmmméÛ„@S eÆÆ {{- ¯¡AÞºu”]ünhèëÚÚÆ  s{{- ol¬tè5—+²ñ™3‰ ׯÄ^Ö× bbŠV¼w¯˜Ãác…×®}ððÐo²£·÷0;; *•`a¡š™é®ªÚÆ¿ã’BC_Öš9:ê`1‡…ÙˆD¢]»Ò¤oÄÓsð¨Q*T*ÞÝ}±±R||éʕƦ¦Ê4~Á==Z|ü§%BCßÔmßnîä¤K§ è‡ÙhjRvïN+/o@Í.£‰‰Òþýc˜Ln—‡Ý^«V …¢Ó§³Å%ÏžU”–ÖϘ1°½Quø#[¹²…ŠŠêfÌГ²«Ñßä˜1ê4ÞÌLõÀëÆFá÷ß¿ìdûØÇdî䤫¨HÐÐ ýµÉ¤IM¿t½¼[Y©Q©øqã4œt_¾¬ªªâ5o­¶¶qÕª¡Ptúôø6ó’ÏÁúp¸Ží-§ 54åà óüyå¶m/RS«°¡èhW¬Ë!ôàA)BhÒ$q}55òСô›jNE…äè¨ýø1³¬¬!Sla¡ºxñÐúzÁ;E¡êjÞ“'åS§l²£ä/ÅöŠŽ.VPÀ99}º±SS“bl¬”ž^]RÂmeGIØ >F[›‚5êÓÀŠŽµ´ôSSwï!„&Oþt•H$…ñã5ëë–¢–.£–E2쪰ÛküxÍ#”¯^ýˆÂ „NžÌ^¾ÜH<œ'}TþÈìíµLL”šÄ°t©! í70™Œ—<º‰‰’–%#£†É¬ïLûØÇêàðŸ\äÿþo<Öe"fnþ©O ûS‘üÛÀ¼{ÇúòË8ÜöíæâkÛ:ƒˆª«ãKb¿ ””úÔ$b˜khjçN ++µ«Wß/Yò!dm­¶`Á”)B<žÃá“Éxí?S픕Ûñ/£‡‡~ttñ߬XatýúGýqã4÷íKÿë¯_|¡U0y²v“öBTj'÷ñxB«!diùwówóóÙR.¤A§ú‡Cx<ŽJýT¢ €ß‹‘LÆ7¹{SCƒ‚*+«ÿÜeTW'çå±;v‡çšˆ­\iüÍ7)çÏ¿óñž—ÇNN®8pÀºQuø#C-[fðBCbbYHÈgç05§¢BlÒ‘ ®Nf2ë+*´´(kÿsks Æþ0BM¦NÔÖò×­{¢£C/ŒüèæÖö(BÈÐj’ÿa/ Ò´Ð[@jh ‡CîîƒÜÝñù¢¤¤²S§²×¯h¶b…‰¤ ¨HàpøuuɯՊŠéÛŸR@ ‚‚Rß¾­áñ„ 'Nd‰DHœ.øûTQ!}ÿ}Ú£G̺:AVVí–-Ï[¹ã±EîîƒB—/ç‹ÿ¹ºê**._Îws„õwÌÈ‘*yyìâbî‹•>pllÔBþþ#ôõ·ly_Êb5Vÿ?{wÖÔñ¶|’I («²¨€ˆl*(ŠR«Å*nokÕº×]Z¥®U´ -Z­vs­­ÚZ-. ‚ REAe ;[’÷Ãic0&àý»úád2™óLbÉ“™9sÊëOœÈŠˆH[»Ö¡~úÚ™šjnÝú &&¿ºº1+«jÅŠ;EEµÁÁŽúúLÒämÌÈà­\yGj~çí‡-6ujOmmõ]»ùúv§VK¼ý¨>ú¨7‹Åص둧§¡…Eóß¾›ÍØ´)99¹ŒÏ<|X¶jÕ]uuzp°£üí¿î’©©æW_=¼zµ ºº± €¿aCrQQí¬Y–¤ULMµöîõ(-­[´(ArG×fÑé´—ŠŠ†Õ«ïÕ–—×oܘœ]µmÛ€foÙÓqáâaÕ¥¬‹‡SS+ŽϺ}»8/ÏdÒ{öÔš<¹W@€…xˆ;+«jçΔ[·Šbk«óùçýþ÷¿Ç”?|è'ÿYFŽŒª¯ÆÅ7K]E|ñâH+«&Γ’Ê&MŠ•|UFÆê@rK BÈøñfÔzˆgÏxëÖ%¥¤”éêj,X`óÿ׋ªP^^¿o_ZTT^~>_GGÃήËܹ֞ž†²ƒ” `Ñ"__“ ^•Ú¹ºêOújGó¥Km—.íKþÙ#-**¯ €Ïf«õï¯7o^É!ñÛHm³dIßÌÚ¦ua+ÄŽ)¦Ÿ?ïÓ·¯ô6*2¢jÑGöþû=$K!§N ëßÿÕÔÆºu÷OžÌ>qb(•¼‘äýó¾ývàÎ<( ‰££ÞªUvMoƒ'£}ÿÄk×®LwwýåËm{öä4ý§²r¥µ- eøpãñãͨ›8þ{vgçn’¯ÿ3–áñ㊰°G‰‰%B¡ÈÉ©ëòåÒ·÷‹‰ÉŸ7/AêUÛ¶ýsպµÇÅÃHMT—²R“Vxï½èÚZÁµkØ6éÔ©çG>ûãé;:JûïìkÊWTTëâòWcã«_599ÕÏŸWµe@³NœÈž=»e«LTª}h¤&Ðbõë×ßÏÏçóùÉɥ˖ÝÕÖV_¼¸¯²ã‚Îà×_Ÿ/\˜PS#8~<«¢¢þƒäÝfMEÚ‡¶ÃÅÃÐ2¬Ã‡½Ž}6mÚu.—ߥ‹º§§ax¸«™™&UAr~]Šx†JépwzQQùÎÎç¨}f›.­mûç%»}%Â?E Öš¨®´ÖÞMXkRP!HM@… 5‚ÔTRP!HM@… 5‚Ý`à?ý}(äj!ĈctsñMe‡óSŽNIÌI”*œé:sýÈõR…±™±[£·¾¬x™öEšÔSµ¥þù$2•›ZÛXk¬mìÔÝi®û\[#Ûv ä†Qø9s2ÖdtÜïéå/æšZ\SÜl…˜M—7´yqÎÅ»Ë yÌ}ìÿ³ÔÓ¨·*4 £&БüþÉï&2*„_ ÐcÀ·¿ºw(¿ßl§€™®3©c73·p¿p¿ýv\ÝáÛÇWá@K!5€Neû˜í,5–ì R%¶F¶,5Ö‹ò"‘ˆFS¡›½¼›0¡Šì¼¤Yü~mcmƒ>ÈKTFMàµ2K2·Çl¿›s·QÐèÔÝiåЕ.¦.ÔSõ‚ú}ñû"ŸDæUä1Õ˜.¦.SúOÖ{ƒÎx]k6;mBŒÓéké',IÒþº”]šÍ 3úôî<}œý¸VtMRä“HBÈ¢Á‹ÚØ(Rh^MC͆ËV Yakd›Yœ¹öÂÚN|ôóÔŸÝÍÜ !/o¼ðäÂ7þ߸š¹VÕUº}hþ©ùǦó0÷x]ƒM/–i…ŠÚŠ1!½»öίÌßwkßÊs+“ò’¾ôý²Õ Wûõd§ÉcúŽi{xÐv˜Ð€æñêxÞ.¦.šêš&a~a ‚†-Ñ[¨gã³ã­õ­½zy±ÔXúZúk†¯éÕµW{‡tò£“¡cCíìÙêìÞÝz‡Ž uêît8ñpr~rë,ç—Ï:9ËÃÜc˨-Š Z © 4©Æt2q?´1°1ä¦rS « !Þ–Þ÷rï­»°.)/‰š¦‰š%cȤ¼oó>!äJú•V¼–ßÀŸyr¦µõ.¿]2æ¡à-Ä4O—¥+µ,´›f·ÂªÂ’êCŽáFßÎÝϤœùøÄÇ„WS×iÎÓÞë󞌲ÖDŠ!ÇRR]Ò¢WB"ÁâßqŒ¾û5ƒ†¼@… 5€æñêxR%%5%„nZÝ!4Í¿Ÿ¿?ÿFacÂó„C·-:³(hDÐl·Ù¯kP!kM¤py\qH-²þâúzAý·¿ç%>û}vÛÕ¿{‡-„ h^MCM*7Uü0­(­°ªÐÖÈ–¨pwÎ,É$„¨ÑÕ¼zyퟸŸF£]͸Ú~ñüšüëøÇK–ˆD"êâšÖ#ZÔÔž{ž>=0é€CC‘!€"`ÔšÇVgoŠÚ´vÄÚ>ú}2Š3Ö^X«ÎP,®|1øKß/{wëÍ«ã»wL$ ²Ô®!=â>ÚpiÃl÷ÙÆÚÆ¹¹{ã÷¦¤Ìp™!¹&æN?<½çÆBˆc˜c»E ­‡ÔþCòö~A#‚vÆî|÷@(:š8vT¼¯ÉñéÇ'_vvY^eSÙS¯ç¶ÑÛÚ/0ÿ~þ:,?ý9ëä¬^Sigd>.ÜÏÎO²ZLF̼SóÄ­B¬!ÛFo›ì4™*¹˜v±ý‚€¶£‰D"eÇÍãr¹UUU2*XYYîÙÃ3FV€öÉYºÔ(##SF‡cdd$›Xk*© ¨¤& Bš€ Aj*© ¨¤& Bš€ Aj*© ¨¤& Bp{?øÉÛûÝ\|³í ^L»¸÷æÞ¬Ò¬ÚÆZBHä§‘zl½«!·žß*¬*$„Œ·æÖöA[¤¦†Å…%æ$ „‚þ=ú/óZ&¾•£Â‰ÍŒÝ½õeÅË´/Ò;t65€ÿ˜ã1'cM†­‘­BZ»Ÿ{ÉK¼zyÝ^v;fAŒ±¶1!dŹ Ï~œòcòÊä¹sr"h‹äüä€ÃZZ—æ^Š[gÖÅlú±é7²n(¼‘å/æšZ\S¬Ð@§‚ÔÚÑ_©‰D¢™n35Õ5ÍuÍo|vÀcð<Á·¯–†Öþøzì×ÊS‡0‡)G§È_ÞáEÂ5­Ñaéìø`‡!ÇP­·yÔf‹®k/¬­Ô+¶‘ðkáz 8;묖ºVûô:¤&ÐŽòyù„]–î«’Ê|Bˆž¦õF£ÑiøC¤Lw^ÞI/Nßæ}–‹*aÐcmÇæWæÇdÄ(¶‘íc¶/´€Ac(¶ ÐÉà/´#PÐl Д4ãÖó[„ÉBcñS lDœ¸È€e°ðZ™%™Ûc¶ß͹Û(htêî´rèJjUãÞø½á× !.¦.'?:I¹öìÚì_gBtÙºw—Ý%„D=Zxf!ÕŽ}¨½TË{nìÙsc!äØôcæ¥5¥7#®d\áò¸ÚLm73·%^Kl m¥Ú¹<÷røõð[Ïo•óË !w–ÝÑcë5¹äbÞo'~ûuì×ÉyÉB‘P²„HpñÉÅ_“M+JãÕñ,ô,&;Mžá2ƒÈ7’˜“hbEaÐi_¤½®œj³u}Ù6z[Ð… ê©Ø…±;¯î¼žuAg8÷pl®k.ãc²ÙiÓ4”¤¯¥Ÿ°$áuÏf–dB¨e@bÆ:Æ„¬Ò,BÈ”£Ss©rjÍòŒ_fÄgÇS%÷–ßÓaM²– IDATé¼±ùÑD"‘²c€æq¹Üªª*¬¬,÷ìáŽ#«Nëøýè—Sžcol¿bÈ [#ÛÌâ̵Öf–dþ<õgw3wªŽC˜ƒ‘•šPüòϩȡRÊ‚Ó ¢Ó£>Ò`hˆˆH$¥pS&þõ¼‰ŽÉpËáâj99k"×ì°÷À¤,5Ö‚3 JkJ[Ú€<š@óØêìMQ›’ó“ù ü‡ùW[¥ÎP,®àÕË«°ªðH⑚†šå/¶Doé¦Ù­' ô4×5_ý×ê¸gq¼:^9¿üÄý7#Öú¬mû؃6S;ìZØýÜûM{Á 3<Ì=ŠªŠþ}°Œ_VÛX›ð<áøýãR-ØÛg•fåWæßϽÿ¢ì…›™›ŒòvíK;¡Óè!cB*j+Vÿµº¨ª¨œ_¾1jcviö¶ÑÛ˜jLªNMCÍ‚Ó ‚}ƒ­ô­L»˜îýp/—Çýì÷Ï…ò7 '\<  º”rñ°ÔŽ ;cw>È{  MWy¯’¼[¯Ž·=f{lfleme?ã~ëF¬ ¾LáÏ8¿÷þâ=<(§fœZ¹öYé3P@]°3ÒzäÞ { !åüò}ñû¢Ò£ò+óuX:vFvs=æzöô$„$å%M:nxË0jÍø%é^oã{ô@•Œî;ztßÑʪƒŠNf9ŒAc¼#çh#Œš@3²K³ !} û*;/³$3«4k¤õÈwä¼m‡ÔšÑ(l$„h04”H‡­ÁÐÚ{è;r^€¶Ã„üGÔÓ¨…gRÇö¡öRÏ~èðáÎv¾îµ¥5¥7#®d\áò¸ÚLm73·%^Kl m¥š]»óêÎëY×t†sçà‘ÁæºæÔS‘àâ“‹¿&ÿšV”Æ«ãYèYLvš<ÃeµÌE²‘¸…q;®îˆÍŒÕPÓðîíý¥ï—¼:Þæ¨Í Ï´˜ZÃ-‡¯±NKCKžØ^Çf§ µþ÷uôµô–$Ȩ@¹’~eÅ MuMêafIæ×±_'¼HöFöÃå+k+üo€¸ÚŠ¡+>ü™@$°ÙaC•¼oó~Ä„ˆ¦ç­Ôï‹ßù$2¯"©Æt1u™ÒʰÞÃt†üQ‰knÙ~7çn£ Ñ©»ÓÊ¡+]L]d¿-…Ôþ÷oÆšŒ§D§G? |ÄTcRåeü2·Ýn2^XXUp$ ®±.dLˆ»¹{nEî†K&žttÚQçÎ’ÍnÞ:àü츗{oþ©ùËÏ.?óɪ‘¸Ì¸eg—zîñß# Ï=>·5zk¯`Íð5R±m‹Ù¶pÐÂ츔v)ð|`9¿\¡¾bè =‹³)gƒ/kih­±NžØ^×£´/ÒÚøf–Ô”$å%mzoõðyÙó€#l5v„ÄÓ/Ë_nÙþ¢ì…üocÆšŒÙ¿Î¾‘u#z~4•Ï1hŒŒ5Gf¸Ìð³ókö¼/o¼ðäÂ7þ߸š¹VÕUº}hþ©ùâ+w䉊RÓP³áò†CVØÙfg®½°ö£ý<õgw3÷6¾Q’0¡Šš[‘ä4Ìr˜¦º¦µ¾õîñ»E"Ѧ¨MR5';MvîáÌVg{öôf9ìAþƒ2~™øYsƒtauÑcëQ_·?Ýù©ª®Jª‘Ç€~ÆýØêlÿ~þÖúÖqÏâ>uÿÔÖÐVS]sšó4Ó.¦qÏâZ›bÅdĈˆh„õq•µ•Á¾Á^½¼4Õ5m lv~°³°ªPò%o uŽû¡Høýßß‹_’˜“ÈåqÇØŽyÝyã³ã­õ­½zy±ÔXúZúk†¯éÕµ—äß…WÇ ôt1uÑT×t0qó k4l‰Þ¢ w àHM@1¢žFÑit+q‰ÇÀZß:¥ ¥€W YÓÑÄQ|l¢cBáò¸ÔC+ŸcÓIV¶5´m6¦§KÎÁÄA|l¤mDégÜO\b¬m,n³E±)VÔÓ(cCŽ!õðÚ³k„Éõ†CÉ,AžP÷lgdw&åL9¿œªpðÜfI^‰#u^oKï{¹÷Ö]X—”—DMQEÍ‹ov"OT¦ÓÉÄIüÐÆÀÆc˜ÊMm6h5Lè€Ô êyuõü'®ŸÈ>¯s¸sfI&!D®æÕËkÿÄý4íjÆUù£¢Ô4Ô¤rSÅÓŠÒ « ml1dŠ…Ô#Ð;Ð\×|õ_«ãžÅñêxåüò÷ODÜŒXë³Vα áaîQTUtðïƒeü²ÚÆÚ„ç ÇïW…ØZJ(ÆdÄHíx8,P—­»%jˬ5 5Å+ÿ\)5“"g¨SûOÕfjﺶË×Ú׈c$û¼„à‹ÁO ŸÔ êKjJ¾KøN$ ²$T¶:{SÔ¦äüd~ÿaþÃUçV©3ÔƒG·ñ½B‰Z?L íŠËåVUI_™"ÉÊÊrÏî˜1²ê´”äÞ!„ñöãÃüÂfœu=뺸p¤õÈèôhñÃEƒ­º’RÎ/ß¿/*=*¿2_‡¥cgd7×c®gOOBHR^ҤÓ¤^bb%.n5üःeü²]×vÅfÆUé²u½{{p ößÚOégÜoã{¥ñµöðóqI w «™ëÔ£SÅ%K½–.õZ*;¶ö˜“8å蔦·ÖË*ÍÚ»óÖó[‚Æ>}–x.ùñîñÙñ„Ç€íc¶Ëꎫ;þ}ðüìó’›ö6{ÞTnêñ¤ã·_ÜΫÌcª1{êõœì49À1@¼pDvT–Ý,Å·÷ûvâ·;cw>È{  MWy¯Â¾&ï¸ÈHÎÒ¥F™2êp8###¤ 5P]JIM@!v\ÝñÛƒßþ^ú÷[¾…²Î ï¬öHM0¡ xÑéÑÞ½½•rK?¥œ@p…€âEÍ‹z§Î  @5‚ÔTRP!HM@… 5‚ÔTRP!HM@… 5‚ÔT6ªrèïCâ›ÜÞ\|SÙᨢŠÚŠ¿RÿŠ|™ÊM­m¬5Ö6vêî4×}®­‘­TÍÔÂÔ°¸°ÄœDPпGÿe^Ëp—`è0j*dŽÇœŒ5M¿eߎš†šFÌ=5W)g—SHLȦ˛FZ¼8çâÝewCÆ„<æ>öÿÙ?êéîž“œŸp8@KCëÒÜKq‹â̺˜M?6ýFÖ e… ?¤&ÿ‰DB‘P(*;7p ˜é:Ó€cÀVg»™¹…û… „‚Wwˆ+EÂ5­Ñaéìø`‡!ÇP­·yÔf‹®k/¬­Ô+1ry`BàZZW\Uvo°}Ìv©[#[–ëEù ‘HD£Ñ!w^ÞI/NŸá2ƒ¥Æ¢ê0茱¶c÷ÜØ“ó¾Íûo;h€–À¨ @ÇÆoà×6Öö1èCå%„[ÏoBL$«9;ˆŸPe5€ÿˆzµðÌBê8vaìΫ;¯g]gÐÎ=œƒG›ëšBöÆï ¿Nq1u9ùÑIBȵg×fÿ:›¢ËÖ½»ì®T;q ãv\Ý›«¡¦áÝÛûKß/yu¼ÍQ›ž'h1µ†[_7b–†–T$™%™Ûc¶ß͹Û(htêî´rèJÉUœ¥5¥7#®d\áò¸ÚLm73·%^Kl m¥N}yîåðëá·žß*ç—Bî,»£ÇÖ{cÇ>bª1©ãr~ùÞø½ÑéÑù•ùššý»÷Ÿç1o Å@êÙzAý¾ø}‘O"ó*ò˜jLS—)ý§ ë=ŒAg¼î¶Ùi# d|úZú KdTù$’²hð"qIfI&!ÄXÛX²š±Ž1!$«4Kþ–”‚&‰”4ËåVUUɨ`ee¹gwÌYuZgÁéÑéÑ#­GÎ8¿¯aß{¹÷柚ßÇ Ï™OΈë8„9ØÙQ© Åÿ'ÿœŠ*5‘lg”ͨ…ƒZv³¼”v)ð| woou†ú²!Ë,ô,Φœ ¾<ËmÖºëįòûÑ/§<ÇÞØ~ŶF¶™Å™k/¬Í,ÉüyêÏîf€#uu!cBÜÍÝs+r7\ÚœŸ|tÚQçÎ’§v7s_6d™£‰ãÓâ§“LNX’ðºÔDòUâÔ¤¨ª(àH@mcí¶ÑÛÜÍÜ‹ª‹BãB/?½üÕû_MvšL ºtáÉ…oü¿q5s­ª«:tûС¿›~ÌÃÜC1ŸÄ›Wýa¬•϶ÑÛÄ…3Oμ‘uãô'§LœÄ…ÏËž80ÂÞÈþ쬳o'6xDFr–.5ÊÈÈ”Q‡ÃáÉß&&tàµ&;MvîáÌVg{öôf9ìAþƒ2~Y+Ú p ègÜ­Îöïço­o÷,îS÷Om m5Õ5§9O3íb÷,Nê%¼:^ w ‹©‹¦º¦ƒ‰C˜_Xƒ aKôêÙиÐÜŠÜ Ÿ a–Ã4Õ5­õ­wß-‰6Em’jgþ ùælu¶“‰SÚi²ó’¦BãBs*rÖ\ïcåÃarzuí>.Ü@Ë`sÔæâêbBH|v¼µ¾µW//–K_KÍð5½ºöjÅ[Ô:åüòY'gy˜{lµå•EDDOú¨,¤&ðZŽ&ŽâcB—ÇmE;’‹Œ´!ýŒû‰KŒµ›6ËTcJþâ·1°1ä¦rS « !QO£è4º•¸‚ÇÀZß:¥ ¥€W ÙŽd#­pùéeBÈpËáâ †Æàžƒkk¯g]'„x[zß˽·îº¤¼$jš&j^ÔÛ2á7ðgžœim`½Ëo—Ôü‘6S›RS_#UŸ¢ÃÒy ±´ÖšÀkQßp †ù÷—wKq48âc¡1è ¶:[\B§Ñ…"éëuuYºR¿ï»iv+¬*,©.Ñeëòêx„þáý›ž+»4[r…ä‰Zª^PÏ«ã1Õ˜Rë`ôµô !EUE„¾»;ŸI9óñ‰ !®¦®Óœ§½×ç=Í*d­‰@$Xüûb#ŽÑ×c¿fФ׵Xv³$„Hei•„·9¨Ð:HM •è4zƒ A²¤²¶RQSɇ¤’šBH7­n –Nu]õã/7ýVV ††6S›WÇ«®¯–ÌN¨©Ž!„F£ù÷ó÷ïçß(lLxžpèö¡Egší6ûuͦ}‘ÖöØÖ_\_/¨ÿvâ·âwÀg¿Ï®q»úwïOh>0âfDJAÊ„~Ä/I)H!„ ²Ôö³´+Lè@+r %—UåUæ)ªñš†šTnªøaZQZaU¡­‘­!Ç2Êf”@$HÌI”|É„Cö ˆd H´5þq5óÕf'õ‚úøìx–kH¯!„çpgêr5ºšW/¯ý÷Óh´«í»9Êž{ž>=0é5”Õ”»¹»•¾Õ…'êë¨Pp>õ¼‰Ž‰ää€jBj­äÕË«°ªðH⑚†šå/¶Doé¦ÙMQ³ÕÙ›¢6%ç'óøó®:·J¡<2˜z6Ð;Ð\×|õ_«ãžÅñêxåüò÷ODÜŒXë³V±ã(Þ¦]L·FoɈ©®¯Î*ÍZñ犢ê¢`ß`jZ‡|1øIá“zA}IMÉw ߉D¢v™8ýðôž{’ó“íB¬Äÿ½(!®C§ÑCÆ„TÔV¬þkuQUQ9¿|cÔÆìÒìm£·‰/ŠPY¸x@u)åâ᤼¤I‡'‰.¼håЕV!Vâ’áVÃN:HáÕñ¶ÇlÍŒ­¬­ìgÜo݈uÁ—‚©Yƒùçûöñ•jÇ×ÚwÂϯæ½]Í\§*.YêµTS]S|{¿o'~»3v烼B‘ÐÑÄq•÷*É}MÊùåûâ÷E¥GåWæë°tìŒìæzÌõìéÙ´ „Œ5oì¸ä¾&„ñöãÃüÂÈ¿ûšD=*à°ÕÙý»÷Ÿ7pž8ùHå¦O:~ûÅí¼Ê<¦³§^ÏÉN“ÚïB˜¹§æ¾nTæÔŒSÔ„å1÷qX\Xbn¢P(têî´|ÈrÜÞ®=.Fj º”¸¯ €<°¯ trHM@…àâax‡H.š‘²ÔkéR¯¥o3hRx‡È³” : Bš€ Aj*© ¨¤& Bš€ Aj*© ¨¤&ðîªi¨q`ÄÜSs•¼‚ÔÞ]"‘H( …BÉB‡0‡)G§(+$ÀFõðîÒÒкºàª²£€ÿÀ¨ ¨ŒšÀD=Zxf!u|yîåðëá·žß*ç—B\L]s©§\L]N~t’Ÿ?ã—ßMúÎÇʇ²5zëOw¢ê¤­NcÐMOa³ÓF ȈA_K?aIB³O-8½ :=Zþ"&D,þ}q³ÝÙ6z[Ð… ê©G˜jÌC ¹BIÌI¤îQÌ 3Ò¾H£ê”Ö”FÜŒ¸’q…Ëãj3µÝÌÜ–x-±5´•õn@ËÑD"‘²c€æq¹Üªª*¬¬,÷ìáŽ#«NëP€»™û²!ËMŸ?|drÂ’„È'‘.mØå·kœý8ªæê¿VŸ~xúÛvßM•D=:rïÈᩇåØýc-áuÝÑcëQOQ© UÙ!ÌÁÎÈŽJzÄ « ŽÔ5Ö…Œ q7wÏ­ÈÝpiCr~òÑiG{8·SOT_d$géR£ŒŒLu8Ž‘‘‘ümbB^kþ ùælu¶“‰SÚizl½ú~ ÎPÿãÑT…ÚÆÚèôh =‹+éWªë«©ÂßS~ŸÐoBûEÕêšvGþ“†Æ…æVäù ³¦©®i­o½{ün‘H´)j“B:bHM൜Lœ¤JtÙºÃ,‡Ý̾YTUD‰NvêîôÑ€jk/¥]"„”óËÿ~ñ÷(›QíU«chÚùE=¢ÓèÔ„Å€c`­oRRÀ+hu³ÐÖšÀk±ÕÙM 'ô›õ4ê\ê¹Ùn³ÿHùcB¿ ƒ,…\ ùóñŸ:|x>õüp«ášêš2šmËZ“¶ÄÐlwäQ/¨çÕñ!ýÃû7}6»4ÛXÛ¸u-@SHM e†[×eëþþðw{ÿ¤¼¤ˆ ,5–WO¯Ù7 « Ï<<³Ê{•ìÄ K•ƒ 4B“*Ñ`hè°tªëªñ¸Ù…½ @˜Ð€–Qg¨`ûAjajX\ØHë‘,5!Ä¿Ÿ¿@(Ø}}waUá ‹A:¶:»AÐ@û~çûKÒ/„Q6£"ø%Ê„Cö ˆd@K!5€ó·÷'„œL>)^jêÛÇWKCëdòÉñöãé´·ñ‡¥ýb°7¶Ï*Íʯ̿Ÿ{ÿEÙ 737BH w ¹®ùê¿VÇ=‹ãÕñÊùå'¸±Ög-ÆQ :ƒ!(ú{R^ҤÓ¨cûP{BHÆš ©:Î=œ{êõ¬Ô»›¹S%,5Öû6ïŸ~xº]¯ÍiE 2º#¹ƒ‹}¨ýxûña~a„õ#Ö¯»¸î½ƒïé²u¿|ïKËn–„nšÝÎ|rf_ü¾—7æWæë°tìŒìöOÜïÙÓóíô@5 „ÁPð.$Ø×@u½q_Wמ+W–NŸ^ùÖBtì˜Nxx×»w³eÔÁ¾&ï3³Æ¬,ueGï®ìl ‹FŶ‰Ô ³·¯KJb); xw%%1mmëÛ&R€lÈšXÅÅX† JPTÄHNf Z£Øf‘št`ÞÞ5ŽðÔ)eï¢Ó§utt„HMàK4ujå?t©¨ÀÿËðVUTÐø¡Ë”)•,–‚¯§ÁŸ3€ŽmÑ¢255òÍ7]•¼[öìéJ£‘ ÊÞ2R€ŽMKK¸bEé‘#:1• ¼+=b=ªXª­-TxãHM:¼‰+¬?߸°›(@»+,T›?ßxàÀÚ‰ÛeS%¤&N¾ù¦@KK4¾1Ÿÿ© ñùôùóµ´Dß|S@oŸ¿7ø+ÐèèÌÏÍU›>½;×{³0 IDATÆN ªMŸÞ=7WíàÁ|ÅOåPštææ §NåÖÔÐ?ü°Ö€Â=zÄüðÃ55ôS§rÍÍÚïDHM:só†ß~˱²jøðÃ[¶èãŠbPˆŠ ú–-ú~ØÃʪá·ßrÚ5/!¸½€*{ãíýš%’Ó§uBC»ŠDdö슉+ }{bx71NŸÖùá‡.4 ,8±²ëKZz{?¤&ª«u© …Ç£ï߯wò¤Ne%ÝѱÖÙ¹¶gφ.]„ lj2 ¤¢‚‘­vÿ>ëÁ–ŽŽpÊ”Ê ÊZ}0R€Î£-© ¥¶–víšæõëš))Ì—/Õx<†(ð·!„ Rr Jèt¢£#43k°·¯:´ÆÛ»†ÉlSª€Ô óh{j Û’%K!ß|ó²ά¥© VÉ€ Aj*© ¨¤& Bš€ Aj*© ¨¤& Bš€ QSvðZL&SÙ!@'§¦¦Fáp8Ê:³–þ)Cj ºtuu•tr,‹Ò¢MÄÚ&t@… 5‚ÔTRP!HM@… 5‚ÔTRP!HM@… 5‚ÔTRP!HM@… 5‚ÔTRP!HM@… 5‚ÔTRP!HM@…ÐD"‘²c€·äĉ …Ôô´4Bˆ õN§Ï;wÚ´iJ‹© À;åáÃ‡ŽŽŽ2*–Á¼[üüüšæ%„@0vìØ·€¤&ï–=z888Ðh4ÉBÖ¯_?SSSeE †Ôà3aÂ:ý?ÿétú‡~¨¬x$!5xçŒ;Vê‘H4zôheÅ © À;§k×® ƒzH§Ó¨¯¯¯Ü¨(HMÞEþþþ’'þþþJ @R€wѨQ£Ä£& Ã××W¹ñˆ!5xq8œáÇ«©©1ŒáÇkkk+;"€ 5xG7N …ÂqãÆ);€W°,@ç'‘œõ—/Õ*+¸5ˆ54ø©«Aˆ¨¾~ì… ,e‡ª‚FéèÍÌMMþ»ýÍ[‚Ô ÓHl¬Ö¹sœë×5+*0D Í „¬\i¡ì0@ué"2¤fܸ*oïê&½ HM:§+W´¶mëöâ…º‡ñâ2gçZ ‹†.]t¤( áÆá„//Ü7^ IEãùsõû÷YW®hΟolnÞT2bDõÛ wP]­»½ßóçê6èß¼©éçWµlY©…EC{ă@ „0Þæ/bèhž?Wß½»ë¹sOÏšM›Š[ñ'·÷x§Ådz?ü䤄qâDî®]\ä% ƒÁ@^²YX4ìÚÅ=q"·¤„ñᇦññìö>#R€ÎãäIÙ³M†­9u*×ÕµVÙá@çáêZ{êTîС5³g›œ<©Ó®çÂZ€NâÜ9ÎúõK–”-YRª”Eõй1™¢]»¸½zu]¿Þ@SSèç×âéf9!5è >dΞ]¾ti©²c€N‹F#K—–VUÑÖ¬145mtvn—ÑYLètxå匹sM ªY½ºDÙ±@ç·fM‰§gÍÂ…Æååí²P © @‡®G§“]» qa0¼â?8áázíÒ~{4 oMzºÆ/¿è|þy ‡#Tv,ð®àp„%¿üÒ%5UCá#5èØBC»öëWïïÏSv  4üñǤI“ÜÜܬþ•šš*Ï ÓÒÒV­Zåééikkëææ6gΜ¸¸¸fkÞ¿ßÏÏj|Ö¬Yo'<)çÏŸ·’pñâÅV4 4a¯_¿ºÿý¯«Â[FjÐ¨ÅÆjÍ™SŽKr:=@°dɇyóæÕ×׋Ë8˜””Ô·oß{÷î;wŽÅ’ën8/^?~üÙ³g'Nœxûöí;v\»víÓO? —¬VZZºfÍš©S§>{ö¬a·:¼¦ý;vlFF›Ýî›j€œh4òé§å±±Z ¾¤© @­Åf GŽ|K»Gƒ=yòäÂ… |>?&&&99Y\~òäIê`ܸq:::¶¶¶)))¶¶¶²[ËÍÍýüóÏ9Îòå˵µµ}||\]] !{÷î•;Y¿~}FFÆ©S§¬­­[vëÂ#¯ï/¨_ßjKx劖b›EjÐ%$°ä««ãvŸÍ¨Q£X,–£££¸¼¸¸˜:ÐÖÖ–¿µŸþ™ÏçB,,,èÿ.Ÿ¶´´¤öïß/®¹xñâß~ûÍÁÁ¡ua·.<òúþ‚JQW Ä¿uKÁCYØ× {òDcÜ8¬2y'¨©©íÝ»·iyëîƒ&ÑÕÕŠïÞ½Ëãñ¨dÂÎήí·1<òúþ‚ª±³«;w®eyç!5èÀ¸\†‰I£²£x§?~ùòå’%ß~û­¯¯ojjªŸŸU²hÑ¢•+W>> ,ÐÓÓ#„:t($$DÜÈÿþ÷¿ìììS§Nåçç ‚O?ýôûï¿?ñþûï9rdÓ¦MâÂÅ‹7áºuëfÍšõðáà &P% .ÌÊÊ¢Ž%—nhjjR"‘(==}À€­}W!¤ÙðlmmÏ;ÇçóÏ;wöìÙìììââb‹Õ£GÁƒÏ™3ÇØØ˜4yW©þ¶%h?&&‚ÂBïn‚ €¬¶–®©‰Ùe;vìÝ»wÅ_ð»wïöõõ%„ØÚÚ^½z•Á`\ºtiåÊ•iiicÆŒùñÇ«ªªÎ;wùò円†ï¿ÿ~üøñ\.—2gÎÉ5ž{öìQSS;{öìÖ­[ÉkV€~üñÇ’…>,]º”º ÆÁÁáêÕ«ñññ³fÍ ÿ¹Ô\òÞ~’Çåååm|gš ïܹs„cÇŽùúú^¾|ùï¿ÿž;wîÓ§Oúé§ &PçÅŠ×DSSXS£à\© @&\›£tºººãǧŽüñGqùÏ?ÿìééI-àX»v-õ¥;zôè^½z™ššŽ;–’——·mÛ¶¦m.X° K—.’s.ò`³Ùÿ÷ÿG>|˜ZSBÅ3räHCCCy¡µó?,77·™3gjiiéêê.^¼ØÈȈRTTծ煣ÑHkgí^ © @[Íœ9“:HJJ¢.'©®®>uê5bÁår}ú Aƒüüüœœœ¬­­­¬¬¨¡#BHi)nHMÚÌÊÊÊËË‹:þé§Ÿ!¿ýö›‘‘UXTT$®¹sçNêû[¼£¾¾>''GªAƒ¶Ä£¯¯/Èùá‡ûí7333êò`55µ^½zQÏŠÇT!555ÔFkÝ¥Ârš3gΞ={RSSGŒqûö파 ñåÄ­^6 Røä“O¨ƒ .>|xæÌ™Ô´H·nÝÄÕV¬X‘Ñ„•••TkÔ˜G[Ì™3‡:{^^ÞÙ³g>L ™P¼½½©É5%Ô««kK¯õ•_vvöíÛ·©ã•+WR«€$!5P€aÆQCŸ}öYee¥¿¿?õ”‰‰‰xTàéÓ§’¯ú¿ÿû¿iÓ¦µG<–––âücóæÍ•••â+†!3fÌ ™¾xñB¼$V¼ßë¼yóZt®ÇKfZ1112*KŽ‹0™Lê@œ¤& A£ÑÄÃÉÉÉS§N•¼ÀdÛ¶m‡rñâÅßÿÇã•””„……=xðàóÏ?o§æÌ™CTWWHîojjÂ`0x<Þž={***"##ïܹCY°`äJ…377777§ŽOœ8Áçó?ž——×~g„‡†‰=•Åår«ªªdT°²²Ü³‡;fŒ¬:ðÖÔÔÔxyyUVV2Œ¸¸8j‹±ÜÜ܃Þ¸q#??ŸN§ëëë»»»Ïš5«oß¾¤¹ýQ!±±±¦¦¦Í>ëîî>}úô¦/ùå—_¨%”ñãÇ?zôˆN§ÇÄÄPMIJMM=xð`BBBii)‡Ãqttüøã¥ò’_ý5((¨ÙþÊÞn¤ÙQᥧ§õÕWÉÉÉ ÃÂÂb„ 'NœHKK£êôèÑãóÏ?—§¿îîîÇ]ðvDFr–.5ÊÈÈ”Q‡Ãáˆ×}Ë© €êBjmô矮\¹ÒÇÇç»ï¾Sv,Ð9µGj‚ €NkÔ¨Qêêê’ `TR€N¥¬¬ÌÊÊ*99¹¼¼<,,ÌÆÆÆÓÓSÙA´î¡Щ0™LWW×™3g644899EDD´÷֮ЅÔ SÑÔÔüå—_”@ëaBTRP!HM@… 5‚ÔTRP!HM@… 5‚ÔTRVS#1âòܹ·”H3T96P¤& M$ …"¡P¤ì@š¡Ê±€Bà: MKKíêÕQÊŽ¢yª(FM@…`Ôþ#**áÂêøÑ£qL&ƒ:./¯ß»÷Itt~~>_SS­ÿ®óæYh ~aii]DDÚ•+ù\._[[ÝÍMÉ’¾¶¶]¤ÚŒ}oçÎGׯ24gç®ÁÁŽææZâF23y_ý(!¡¨±QÔ§ÎâÅ6?ý”_D °ðñ1‘ŠMþ–e„÷:66²fŽôõ™ c^÷l}½pß¾´ÈÈܼ¼&“áâÒmÊ”žÃ†14y:»}û§èÄh"¦lT—Ë­ªª’QÁÊÊrÏî˜1²ê´Î‚ ÑÑùâÔ¤¨¨6 ®¶V°m›³»»AQQmhè£Ë—ó¾újÀäÉ„ÂÂÚ€€¸º:AHÈwwƒÜÜê ’““ËŽõrvî*ÙæÈ‘&óç÷é۷˽{%óç'ôé£sæÌ0ªÂóçÕ&\e³;v¸ Ð-7·zëÖ‡©©UU ]lò´,Ox tïÂ…¼o¾qwuíVUÕxèPú¡CéÇŽ ñðЗ¿³*.2’³t©QFF¦Œ:ÇÈÈHþ61¡oú8'§fýzGG­W/Nx¸›kóæäââ:BHhè£ÜÜš  ‡aÃŒ55ÖÖ:»w»‰D¢M›’¥šš<ÙÂÙ¹+›Íðô46ÌèÁƒ²²²úÏò¨²²!8ØÑËËj$<Ü•ÏȤì–å Oâ㋬­µ½¼ Y,†¾>sÍš~½zqÄ϶±³Rx³Ë—ó!Ç‹K44èƒÔÖ ®_çB¢¢òétš‰¸‚ËÚZ'%¥¼ €/Ù”£ã«Q 6!„Ëý§Âµk\BÈС¯ÎÒµ+³wo‘Œ–åO¼½ïÝ+]·î~RR51åK ™6w ÃZxƒúz!×Àd2´´þóC_ŸE)*ª¥*Bú÷?×ôåÙÙUÆÆlñCmíWhh0!Ô¬r}½°ºº‘Édhj2$_Þ¥‹ºœqÊhYþð$µq­ÉÆNÎÎ]ÏœyþñÇ7!®®]§MëõÞ{݉": Љ!5€7ÐРkk«óx ÕÕ’ÙIqq-!ÄÀ€¥¡A×ÑQ¯®n|üx¼xg+΢¥¥V]ÝXS#üÂ.)©k{ü­ /-Í¿-ç¥Ñˆ¿¿™¿¿Yc£(!¡èСôE‹þ r˜=Ûªý: Ð `BÞŒú­õj¸¤¾^_Äb1† 1"„ŒÕC %&–H¾êÀ§C†\”=ð ÉÛÛˆü;ÓA)*ªÍÊRÀ"_…„×RÎÎç33y„55š——áþýi´Wïaûu £Cjohgjª¹u냘˜üêêÆ¬¬ª+îÕ;êë3© ææZ«W'ÆÅqy¼†òòú'²""ÒÖ®u "0Ð^WWcË–ä7 kjOŸV®^}ÏÀ€¥øÛ^+'=yRQ_/,)©ûî»§"4ÈàßÚ«³.P]J¹xXr§BÈøñfaa®äŸ}MÒ¢¢ò øl¶ZÿþzóæõÑRöíK‹ŠÊËÏçëèhØÙu™;×ÚÓÓ’”T6iR¬¸æ¢E6+WÚYYý..>ÜøàÁA„¬¬ª;SnÝ*ˆ­­ÎçŸ÷ûßÿ?xPþð¡_³±}ü±¥œ-˯¤¦V?žuûvq^ŸÉ¤÷ì©5yr¯€ Ú¿¹ìÎtíqñ0RÕ¥Ä}MTÇ{ïE×Ö ®]{'6§§: ö5€Î¬¨¨ÖÅ坯ÆW¿—rrªŸ?¯’›é4ީδRP!õë×ßÏÏçóùÉɥ˖ÝÕÖV_¼¸¯²ãjïTg䇋‡@U°ö:zôÙ´i×¹\~—.êžž†áá®ffšÊMñީδRP!ƒ ü®Ìh¼S&t@… 5‚ÔTRP!HM@… 5‚ÔTö5P¾óçs–/¿CÑР?~<^Ùá¼mý•³ÿÓgϪêê„ÈÈ}úè´¢C‡ÒCBR!FF¬›7G+8J™$ï=ùèÑ8&“ÑNᥦV„…=NL,„ýûw]¶ÌÖÅ¥[Ój±±[·>|ù²:-Í¿u'R"Œš@GUS#1âòܹ·”ˆŒkš‘1¡ÓïÀÖìG–˜X²|ù//Ã;w>ˆ‰yÏØ˜Ýêöç̱ÎȘ`kۥ͑¶˜¯¯IFÆ„‘#MdÔi{xÉÉeqZZj—.Œ‹{ßÌLkúôë7nJÖyñ¢zÞ¼[¡¡‹‹k[}"åBj•H$ EBánŸîàðç”)×”ÈÖìGváB®HDfδÒÔd˜›kݸñ~ë†LKÿ! …¢5kîéè¨ïØ1ÀÐ¥§§±ys ÎÚµ÷êë…âjáá èzöìp-­Ž:1ÒQãÐÒR»zu”²£€hö#ËÏçBtuÕ•QGrçNIzz化,Ö?³E mìØ{ö<‰‰ÉÿýTáöíÄ:(Œš€2 ¢7WBnÝ*"„88èJ:8èBnÝ*—tô¼„`Ôšª¯îÛ—™›—WÃd2\\ºM™ÒsØ0#ƒFUÈÌä}ýõ£„„¢ÆFQŸ>:‹ÛüôSf||!$ Àbûö¯kyÁ‚„èè|êØÅ¥ÛÉ“C !ññE3fÜøî»A>>Æ„­[üôS&U'"Âcñâ¿©ãË—G†‡§ÞºUT^^OÙ¶m@PÐ=ê)jÕ¡xabb‰•Õ&^XZZ‘våJ>—Ë×ÖVwsÓ_²¤ïgý%×6ÆÅÚ±#%6¶@Cƒáímôå—Ž<^ÃæÍ µ´Ô‡7Z·ÎQr½¼¼~ïÞ'ÑÑùùù|MMµþý»Î›g=pà«Õ$â·Q öö]í›Њ°mlþýe¯¯ÏLHÓ´¼²²aÀ€óâ‡+VØ}ö™@ ²±ùƒ*yÿýî²£’|ÇÞø‘IV¶·ÿ“Ò»·ö³gº~½Á 9;w v47×j6ȳg_®ZuWüðÖ­Ñ,="„H­Å¡feñšMÇD‰®¨(.—[UU%£‚••åž=Ü1cdÕi…  {.ä}ó»«k·ªªÆC‡ÒJ?vlˆ‡‡>!äùóê ®²ÙŒ;\ è–›[½uëÃÔÔŠªªy.-9v,kƤ]»\Ç3£JV¯¾wúôó>0ݽÛ*‰ŠÊ?r$óða/ê!•и»ë/[fëè¨ûô)oò丄„1zzÔS’D88üig§K%=b……µquu‚îî¹¹Õ6$''—=êåìÜõ1Sg5ªûÂ…6––Ú—.åÞõö6RW§/[fkaÁ9{öEppÒ¬Y–ëÖ9R/)*ª ˆ«­lÛæìînPTTúèò弯¾0y²EÓ·ñåËêíÛfgWòÅocÃnÙ³ãoÜ(ŒŽö•ü6 ˆ›1ÃÒÏÏTΨZô‘5-™5ëæÍ›EMcøøãÞâ62øùÅääÔØÛë®Xakk«›™Y¹víýÌLÞÏ?{º»ëËÙ~³ÿ¨µ®NøÕWý=< ø|ÁÉ“Ùáá×­s˜5ËJÜ—‘#MæÏïÓ·o—¤¤Ò… z÷Ö>sf˜dx¥¥uÔ:hÇŽ”§O+wïvëÒECv¿fμyãFáéÓÜœôÄ…ÏŸWqÙÞ^÷ìÙáRõ==/×µ÷:‘‘œ¥K222eÔáp8FFFò·‰ _dm­íåeÈb1ôõ™kÖôëÕ‹#~64ôQeeCp°£——¡¦&ÃÚZ'<Ü•ÏÈÙøôPW§ÿñÇKêam­ ::ßÂBëÊ•üêêFªð÷ß_L˜`.õÂùóûxxè³ÙjNNziiþzzoø;.)4ôQnnMPðaÆTÌ»w»‰D¢M›’åo$ À¢_?]6›áïofm­ÇýôSk[Û.ššŒiÓz™šjÆÅ½ºP"4ôqNNÍúõŽ>>&ŽZ¯^œðp7ÖæÍÉÅÅu¤ÉÛhc£³s§Ka!_áa·Ôœ9ÖB¡èûïÓÅ%‰‰%\ní˜1=ZU«?²O?m&†¼¼š1cLålÇk ´wq馩ÉppÐ smhnÙò íSkp°£‰––š¾>ó³Ïl†•þÒ<ÙÂÙ¹+›Í4ÈÀÇÇäÁƒ²²²ú¦­UV6Ì™/оÿ~ðó’סÆh´Ö½ZE!5iÞÞÆ÷î•®[w?)©ŒšˆŠò¥†L!×®q !C‡‹ëwíÊìÝ›ÓlSMéêj ftófaQQ-!$::ßÉIï£z×Ö .]Ê#„”—×ÿýwñ¨Q=¤^(ùK±¥¢¢òétšÏ« ; XÖÖ:))å|/”DMêSŒŒX„~ý^M¬³¹ÜWM]¾œG>üÕ»¤¡A<Ø ¶Vpý:—4÷6²$S@E…ÝRƒØÙu9sæ%5 C9x0}Ö,+ñtžüQµú#óò2´±Ñ‘ŠaÆ K55y¿™L†äÙmlt Y©©……µmiŸúX½½ÿ“‹üðÃ`jÈDÌÑñÕ˜õOEòßåÙ3Þĉ±t:mýzGñ{+›¶¶:!¤¦¦Q²úU £Ó©c­ HÛøÿìÝw\SWÿð“„Âe*àD@@d9°(‚E°G[­Ú:«¸øÕUª¶VѪ!„Ínæä¾º: Ÿ_OéÝûtýÙÙÒ04üçL046ûŸ:&»'–:"‹ÅP¸{ÓÌLR\\óºËhjÊÊÊ´0ìfÏ5‘ùì3‡Å‹ï<øbîÜžYY‚;wJ6mòjFTÍþÈ!S¦Ø-[ö@ÃÍ›Åë׿vSC&&L…ŽSSVQQMII­……^óÚÝÇÚ‘Ñ¿þ0! S'*+E³gß²´d'$ðNú+4ôÍ£T„;;#BˆBþG½ìÖÍH•Ú ¤& ˆF#aa6aa6"‘4)©xÏžçsæÜZ¾ÜuÚ4{]]ºNU•¨ºZ,ÿµZRR«zûƒ[š˜èž<™f“œ\룧Çðó³¸~½¨¨¨æÄ‰œÅ‹[¼]]º±1³ªJôäI¨Š?O[HW—ndÄäó뫪Dò_cÔXææz¯»Œ²ñ- »ås F²Þ¸ññ/fÌè±wïóñã»ÊÎâ­]ÌÐPÛM›žÈbøàÛ& yPù“<êOÔÔ”¥bûþ!5ú±6ƒAöï÷32b†‡_Y¾üA·n†nnoîaêÛ×,6–¤¦–Ëw¦¦–Búõ3kI<Ú: ÈÃã u/€ŽÍÏÏbÇŽ¾4¹|¹ÚKõfSã”ââÙo}U0™ô‘#­©õ¶­¨[ÂÂlÅbé–-iEE5ýú5QT6[§¾þïå§‚‚¸¿þšM6¬³X,½w¯D¾æÎÏ<×Jw®RL²‹F©«“$ÿÑ IDAT&ëé1äÆ.cYY]VV•|#o?l ƒA›2ž¤¤vïÞŒ3gr?ýÔîíG¥«KÿøãîT §Ný5eŠý›ß#§ºZœ–V!{™ž^YTTãäÔê2Q¥ýFÿ¨õÊ•Bùš!!—¾ûîQ“Â30Ðápôôõ;wöÕ×gÌš•D4)çãcfootölµœ?!D,–ž9“keÅ–:lš@#¢¢’Ÿ>­¨«“””ÔîÚõL*%²t!2ÒÅÄD÷ÛoS®_/ª®?{V¹dÉ}%w<6*,̆rôh¶ì÷_P•ÎÑ£Ù¡¡6Tx󸸘de „”æäTy{›B"#mm –,¹—ÀãóëËËëŽÉŠM_¶Ìµ•~úGF:[[ë¯YóðÒ¥‚ª*QV–`áÂ;ÅÅ5QQnff,Òà2fdð-º£0¾óöÖ™0¡«‘sóæÇAAïQ³%Þ~TŸ|Ò]O±yóã,ºtiüæÛ×a³«W§¤¤” …âGÊ/¾ËdÒ£¢ÜToÿuHÖÖúß}÷èòåª*Qa¡påÊ”ââš©SíH³X[lÛæ[ZZ;gN’üŠ®¢ÓiÑÑžõK–Ü/.®)/¯[µ*%;[°vmŸFÙÓváæaí¥©›‡ÓÒ*κ}ûU~¾Å¢wíj0n\·ðð.².î¬,Á† ©7o‹ÅÄÉÉøÿþ¯×þóäáÃòGBT?J` ·®N’0LÖ,uñ¹sööœ''—{Eþ]c¨ ù%1!¡¡6Ô|ˆ/ø+V$§¦–™˜èΚåøñÇݨ ååuÛ·§s¹ùBcc]gçÓ§; `¡¼³| !䨱A½{ÿ3´±bŃ£G³yŸÊ ÞHþùy?þØwÆÇ–J$ÄÍ­ãâÅÎ ƒ§¤}%H²µS'–Ù‚N]»6üSY´È™Z…2x°eh¨ õÇÿÝÕÃÃTþ]²?c%ž<©Ø´éñ½{%‰ÔݽӂŠ÷»t©`ÆŒ$…w­]û÷]ëj×7#5Ð^šJMšaèÐøšñÕ«X6Ô騱—¾øýwÅ;ÚJûï¬kšW\\ãéù§HôϯšÜܪ—/-™ Ш#G²§MkÚ,­jš© 4YEEÝW_=(( …¢””Òùóï1çÎí©é¸ =øí·—³g'UW‹Ϊ¨¨9RÕeÖ´¤}h9Ü< Mcn®·¿ßÁƒ/&N¼Æã ;t``ãec£OU_W ›‡¡UÚ\Àí—[àáqšZg¶áÔÚ–^ÊÛ× ü)R0×@{µ¡¹&ðnÂ\h皀AjZ© h¤& Eš€AjZ© h¬ ÿ²çÖžèËÑ„Ž!çÆÜšç_Æ/÷žBá¯)_~¥Px%óÊšø5Uü•þeºÂ®ŠšŠ?ÓþŒ{—ÆK«ÕXYº¿ç>ÝgºÇ©C•¡×þåsßÏ3–f´ÝïéœòœÇflLØøªúU£¢/E¯¾°:Ð!ðÜççîοý„÷$ì—0î3î[…^hKN~zÒÕÊUI…˜«1}:÷ùñÃßßö¾°^Øhp÷ð)^S¨mo}!ë/¯ê¤ö€ ©š@»².xžŽžò %N'=½œò©TJ£iÑÃÞÞMЀvEy^Ò(a½°FTÓüòm€^x­Ì’Ìu—ÖÝͽ+‹Üßs_ôþ"OkOjW¸n{âö¸§qùù,–§µçøÞãuÄ 3^ךãG±D¬äpffI󒔇ôûãß—Ÿ[ž]šÍ 3zš÷üÈã£Ñ.£›qjòâžÆBæôŸÓÂv@-š@ãªë«W^X¹pàB'ŽSæ«Ìeg—}rä“_&üâcãCYuaÕÙ§gûÁËÆKP+Øs{ÏÌc3}tÈ×Ö÷u 6¼Y¦*j*¢ƒ£»wê^PY°ýæöE§%ç'ôu³|Uõêû+ßsÜ3¸åá@Ëa@ǯåGúGzZ{ê3õ]­\7…lª×ÿ-µ71;ÑÁÌÁ¯›ŸžŽž™ÙÒÁK»uêÖÚ!ýäèÆQ]8.l&»»i÷£6º¿ç¾ÿÞþ”‚”æ5X.,Ÿztª¯­ï·Ã¾Uo¨ÐlHM q,–»•»ì¥£¹£…¡E/­HPDñ·ó¿ŸwÅÙÉùÉÔ0 wWI—I+î8œrñùÅf¼WX/œrtŠƒ¹ÃæÍJÆ¡à-À4ÎDÏDaZ¨©¾i‘ ¨¤ªÄÂÐbUÐ*÷+z¶sìN]†®:Cu@¯ 4ŽÍd¯æ®^6dY³¯2–]Æd0££d¢ÎE}ôuwÓîüZþ¡û‡¤Ri¿.ýZ5¤Ç¼Ç+ϯœæ3ÍÒÈ2¯"o[â¶ÔÂÔÉž“åçļÑñGÇ·^ßJqÛäÖj‘@ó!5€‘¼ßò!Ë7\Ùð0ÿ¡D*q³r;8ñ l]“Ã>œ|xþ©ùù•ù,V׎]׎XîÞz…õ 3Ö3þãñSN-ä²tXÎç˜Ñ1!Î!òÕ.e\šql†ì¥}´=!d툵ãÜÇQ%çÒϵ^Ðr4©Tªé q<O (©`oo·u+/8XY€ÖgÁÉÈÈTRÇÐÐÃá¨Þ&暀AjZ© h¤& Eš€AjZ© h¤& Eš€AjZ© h¤& Eðäaøù'ߘ{£å žK?·íƶ¬Ò¬Q !$ŽìŽÑ—£o¾¼Y$("„„º„n ÙÔòAK¤¥mJØt/÷žX"îݹ÷|¿ù²§L«½‘+™WÖįù«â¯ô/ÓÕ;´7è5€ùÜ÷óŒ¥N'µ´ö ïÁ¼ßçùuó»=ÿö¥Y—,, ! O/Lz™´oü¾”E)Ó}§«å@Ð))áûà t ÎO?Ÿ0'Á¦ƒÍG‡>ºžu]íä”çÌ86ccÂÆWÕ¯ÔzЮ 5€VôgÚŸR©tŠ÷}¦¾­‰íõ/®›š'½L êähîh kðå /¿õ½¦ÃTÆu“ëøƒãU/os$RÉÒ?—믹ÞÂТ#»ã7þéҩ˲³ËêÄuêm$æjLŸÎ}NM=eÀ4h³ö© ´¢~!ÄDÏ䟒ÊBHGýŽÔKF§á"Mºó×篞w®§£G•0èŒQN£ * .e\Ro#ë‚×Íê7‹Ac¨÷ Á¿ЊÄq£%4BÓD8Ј›/oB\­\å ]-]e»Ô؈,qPÓ`àµ2K2×]Zw7÷®H,rÏ}Ñû‹¨YÛ·Å\!„xZ{ýä(!äê‹«Ó~›F1a›Ü—Â}Æ}b6ÕŽËF…–·^ߺõúVBÈ¡ùÚú–V—ÆÞˆ½˜q‘Ç籌¼m¼çùÍs²pRhçÂô 1×bn¾¼Y.,'„Ü™§#»c£‘ËOæýñÿ¿ò}J~ŠD*‘? BˆX*>÷ôÜo)¿¥§ókù]:vç>n²çdª#GÖȽÜ{öÑö„‘þeúëÊ©6›w.kG¬]~v9µëÊì+.o¸–uAgxtöˆ Œ²5±Uò19npl˜Ê330Kš—ôº½™%™„jŒ¥±%!$«4‹2þàø{¹÷¨rjÎòä_''f'R%÷Ü7Ö3~c#ª£I¥RMÇãñx@I{{»­[yÁÁÊê4OȾÜò\K—…:qœ2_e.;»,³$ó— ¿øØøPu\7¹:sœ©Ô„ösXnE.•šPfŸÿ<þqäc]†®”H¥Ri*/õÃ_>œ;`î<¿y„:¡W‡¯ÕFGûØúäUä­<¿2¥ åàă=äÛñ±ñ™?p¾›•Û³WÏÆ—4/éu©‰ì,²K³{Zô\°¼§EÏŒW gq)ãÒŒc3"ý#'zL”H%§Ÿœ^¿fšÏ´¥ƒ—ÊixšJÊ‹E-9jW Cà̾3{Zô¼Ÿwæ±™=Ì{œøôD?À&˜rtÊõ¬ëÇ?=înå.+|YörÈÎ!.—SSOBÒxiãŽëÚ©ëoŸüÆf²ëÄuNœê3u”Ó(Õ‘7 vÀ«êW¸C§ˆ‹3Œˆàddd*©chhÈápTo:Ð8~-?Ò?ÒÓÚSŸ©ïjåº)dS½¸þÛøo›×5§„AgÐ B§Ñ4ƒÆ Ñh6æUä-X>Èn>SßÁÌaKè©Tºš»Z¡‘™ýfúÚú²™lw+÷ô/Ó•ç%a½ð›aßxtö`3Ùž…¯­ï¬~³:èuèÈî8ÙsrˆsÈÏw~Ô63ÛS˹ŒsG< ë€Avƒ<,–5/žf“)!„Fû{Ü͉ã´aä†4^Zä™H©TúÕ¹¯úwí/ËKTl@EHM q,–ü/`GsG C‹4^µ‰qŸqé4z€}€¬ÄÜÐÜÁÌ!µ0µ_(_S>±™lj0…¢pö‡>:$_ßÉÂI$=õ¼É§AQÓ¹¸Y¹É¶­Œ­!<>¯yñ¨ÂˆeD©®«–/Ö !ÆzƲ’=GÌé?ç|úùñÇ— ˾¿°¨sM q&z& ¿wMõM‹E%U%†ê:J¸Ž_Ë'„ôŽéÝpovi¶üô6“ÝÔöYŠß‹ògÁ¯åï½½÷³ …üÂÊšJYê;µ©Ôu.Ô×—×iጾ¶}coĦ¦Žé5FV˜Z˜Jé×¥Ÿ|Í[9·uGsǯÏÝÓ¼§üº|ª7ðFЀÆU×W§ñÒd/Ó‹Ó‹EN'Y—‰…¡…ü¯äbAq~e~34Ìq˜X*–ÝBÙ™´sàöb©²ÎUÔŠj<”½”? ±D|/÷ž¹¡ù§^ŸvÒïD¥/µ¢Z…ØL¶, Úôkò¯JÊ[õ\Z‰­½™ýÙ§geç.–ˆÏ¤±2¶l7XV-·"wiÜÒmc¶í»SOGoÖ‰Y¥Õ¥Mm@HM ql&{5wuJAа^ø¨àÑâÓ‹™ fT`”¬‚_7¿"AÑ{ªë«sÊs¾ÿÖTß´Šô´5±]òç’„ üZ~¹°üȃ#±7b—,ky߃ËhÓÕMò4< ákë[,(Þ}kw™°¬FT“ô2éðƒÃ -¸Xºd•fT<È{S–ãmã­¤¼UÏ¥•Ðiôèà芚Š%.)— ËWqWe—f¯±–¥Ã¢êT×WÏ:>+*(ÊÞÌÞºƒõ¶¶ñø¼/N~!’ˆTo@E¸y@{iäæa…A6\Ùð0ÿ¡D*q³r[ì¿XþimüZþºKë®d^©¬©ìeÙkÅQ磨>ü™}gö~¯·l ʱÉÇ–Å-{QúB,S7ì:n³R.,ßž¸ûœ[PY`¬gìÌqžî;}@ׄäüä±ûÇÊ·“±4CÅs ÙRZUºâþ5ñkîçÝKÄ gQ&,Û|uó•Ì+Å‚b¶‰wsCó7wBzYöú}Êï„%/Vœ[‘Z˜jÂ6™ÕoÖÇSï}]yóÎEaלþs½¿ˆZ4…2Ø~ðî±»U<ñfxÂ{²)aÓ½¼{‰Äý=÷ȮҪ «Þ?HmÇ}gnhî½Å[öÆ…ï/ü¢ÿol„BÝ­­pèµ#ÖŽs×Z'­¬5nFj ½4¸®Iû@¥&jy~24 ëš@;‡Ô´n€¶J~*†6“-[›Ä>Úžšºñ¶â€Ajm•êóa  Á€h¤& Eš€AjZ© h¤& Eš€Áº&и̒Ì-×¶Üþëv™°L,BŒXF> ÿ~ žPóFwsïN88áÐG‡|m}åËϤYpj!D—¡ûäÿž¼µã*×0*|Üð–¡×‘[‘;vÿØÌ’ÌílO^˜œ²(凰è´¿ÿÅøÜ÷óŒ¥N'ÍÙV\|~Ñ„mâeã¥P>ÊiTÆÒŒþ]û¿åã*×0*|Üð–¡×ñkò¯üZþª¡«útîC•Œè9bDÏšªŠ?ÈnƒÆxGŽ ÐBè5€Fd—fBzZôÔt m^fIfViV Cà;r\€–CjID„]†®¦ióâŸÇë2tßïþþ;r\€–Àü ÷wö‰ÙÔ¶ËF…½¸~°aä†×½·´º4öFìÅŒ‹<>ψeämã=Ïož“…“B³Wf_Ùpyõ¬k :ã³GT`”­‰-µK,Ÿ{zî·”ßÒ‹Óùµü.»Œs7Ùs25ÍE¾‘„Ù ë/¯¿’yEWG׿»ÿ×A_ókùßp¿Iz™dÀ2l7xźªÄö:Ž©ù¿¯cf`–4/IIBÈÅçûué§ÏÔ§^f–d~åû¤œ$±DìÂq‰©úe¬¬©ìóŸ>²j ß_øEÿ/ÄR±ãzGªd¸ãðØ1± ['®Ûž¸=îi\~E>K‡åií9¾÷øAÝ1è Õ£’Õ\wiÝÝÜ»"±Èý=÷Eï/ò´öT~š © üKP Œ¥³ŽÏŠÿ8ò1K‡E•— ˼·x+yc‘ (ü@x­¨6:8ÚÇÖ'¯"oåù•c÷=8ñ Ggùf×į™Ùwæú‘ëïçÝŸylæ‚S N|z‚j$!3aþ©ù‘þ‘[öJ¤’ÓON¯‰_SÈ/\:x©Blk/­Ýoöú‘ëϧŸ<Y.,g2˜ ß_Ø¥c—S©§¢ÎG謲B•Ø^wFé_¦·ðb–T—$ç'¯ºšzù²ìeøp¶;6,¶uŸ¿ÊÿZwi]NYŽê—1ciƴߦ]Ϻ?3žÊç4FÆÒŒðá“='‡8‡4zÜUV}zö‡°¼l¼µ‚=·÷Ì<6SvçŽ*QQªë«W^X¹pàB'ŽSæ«Ìeg—}rä“_&üâcãÓ  : 6æUä-X>Èn>SßÁÌaKè©Tºš»Z¡æ8÷q=ØLö€®Ù zXð°LX&Ûëkë;«ß¬z:²;R_·?ßùYP+Ph$Ü-¼—e/6“Ö+ÌÁÌ!áEÂg>Ÿ9Y8é3õ'zL´î`ð"¡±©×¥ŒKR"â0DFeMeTP”_7?}¦¾£¹ã†‘ŠEòoyc¨Ÿû|.‘JöÞÚ+{˽Ü{<>/Ø)øuÇMÌNt0sðëæ§§£gf`¶tðÒnºÉñQQøµüHÿHOkO}¦¾«•ë¦Mõâúoã¿UÓÕøRPî3.F°•˜š;˜9¤¦ò åkºY¹É¶­Œ­!<>z`pè£Cò•,œDÑóWÏçjå*Ûæq!½,{ÉJ,,em6)6õâ>ãºZºZZP/¯¾¸J‘Ÿÿaah!Ÿ%¨jÿ®ý9Î'RO” Ë© »oížê=UþN…ãúÛùßÏ»¿âìŠäüdjˆŠ;ƒ+[ìD•¨(,–»•»ì¥£¹£…¡E/­Ñ< Ù0 jP'®ã×ò !½cz7Ü›]šmid){iÄ2’mS3m¥DJ½ä×ò÷ÞÞ{áÙ…B~aeM¥¬š°^¨Ð¦¡®¡l›Fh :ƒÍdËJè4ºD*iFlòZ8×DX/LÌNœÓŽ,Œªº*–K6ï„bj`šUšÕ¤P?óùlñéÅïœ;`nViÖ¿îl ÙôºãBV­òxÏãDê‰IG&B¼¬½&zLÚc¨ŠQɘè™Ðh´UÓ7-•T•ÈÒ €–Cjj ËÐ5Ö3®ª­zòå“–,¤1ãØŒ;݉ Œ qéÈîH£ÑöÝÙ÷ÝÅïd¹ËÛŒ­…sMndߨÕÈnßÕeèèTÕUU×WËç²ÎÕCåÍ{š*QÉPi“¼’êBˆ©©Š×@Ðõæ8L,ß˽'_¸3içÀíÅRe}2b‰ø^î=sCóO½>í¤ß‰ú^+ªÕ†Øš!þy¼‰Mó²ÿîþä(”2a™Bç„*¡2hŒ)^SJªKöÞÞ{&í̧^Ÿ*?®GŒGfI&!D‡®ã×ÍoLJ;h4ÚåŒËªGE©®¯Nã¥É^¦§ Šœ8Nè2õBjêéikb»äÏ% /øµüraù‘GboÄ. X¦b_ƒÎðµõ-ï¾µ»LXV#ªIz™tøÁamˆ­©$RÉ¥ŒK +žEŠ4a›|ËýözÖõêúêŒW‹þX¤0’¢b¨zO0bm¾º9È!ˆcÈQ~\BHÔ¹¨§EOëÄu%Õ%»’vI¥Ò~]ú©…Íd¯æ®N)HÖ .Ü-\6qDyTv¦v²Çûýøá®lx˜ÿP"•¸Y¹-ö_ŒuMÞqqq†œŒŒL%u 9Ž’ šh/¤& ë/¯ÿïÃÿÞŠ¸õ–a£©ãÂ;«5R è¨_üóxÿîþy¤ŸFŽ  F¸C@ý¸3¸ïÔqÔ½& Eš€AjZ© h¤& Eš€AjZ© h¤& Eš€ÁBõ EöÜÚ#{Èí¹74Ž6ª¨©ø3íϸ§qi¼´Q¥‘¥û{îÓ}¦;qœV¾’yeMüš¿*þJÿ2ýí‡ Ð<è5-ò¹ïçK3ý–} ªë«‡ì2ýØt]EÑ—¢W_Xèxîóswçߎ~Â{öK÷Ù¿žž“Sž3ãØŒ _U¿ÒT¨ÍƒÔàoR©T"•H$MòáîáS¼¦˜š³™loD¼þòzù:1Wcútîsjê)¦¦âh èüÍ@×àò¬ËšŽâ Ö¯S(qâ8ééèå”çH¥R&«¦§£÷Ö£Pôš´mÂza¨¦‡yY^BA^mzMà_¸Ï¸³O̦¶¯Ì¾²áò†kY×t†Gg¨À([[BȶÄm1Wc!žÖžG?9J¹úâê´ß¦BLØ&wçßUh'avÂúËë¯d^ÑÕÑõïîÿuÐ×üZþ7Üo’^&° Û ^1d…®â¸CfIæºKëîæÞ‰Eîï¹/z‘§µ§loiuiìØ‹y|žËÈÛÆ{žß<' '…C_˜~!æZÌÍ—7Ë…å„;óïtdw|ã‰?Ž|ÌÒaQÛåÂòm‰ÛâŸÇTèëê÷~¯÷ ß}»ô¥öÖ‰ë¶'n{—_‘ÏÒayZ{Žï=~P÷A :ãuWØqƒ£X"Vò˜˜%ÍKRRAAÜÓ8BÈœþsT €6£I¥RMÇãñx@I{{»­[yÁÁÊê4Ϭã³âŸÇ:Îì;³§EÏûy÷g›ÙüljOOÈê¸nruæ8S© %ìç°ÜŠ\*5‘og˜ã°ÙýfÛ™ÚO?y&Ò¿»?“Áœ?p~—Ž]N¥žŠ:5¸Yù] IDATÕ{êŠ!+dï Ù’[žëbé²pàB'ŽSæ«Ìeg—e–dþ2áBH‘ (ü@x­¨6:8ÚÇÖ'¯"oåù•))'ôèì!hŸùç»Y¹={õlÜqIó’^—šÈ¿K–š ŠÃ„׈jÖŽXëcãS\U¼1aã…g¾þÝ8÷q„åg—Ÿ}zö‡°¼l¼µ‚=·÷ì¹µçÐG‡|m}ÕóI¼É«ªW£~`°vÄÚF+ ˆðªúîÐVgÁÉÈÈTRÇÐÐÃá¨Þ&tàµÆ¹óèìÁf²t0ÈnЇe²f´îÞ˲›Éëæ`æð"á3ŸÏœ,œô™ú=&Zw°Nx‘ ð~-?Ò?ÒÓÚSŸ©ïjåº)dS½¸þÛøo©½6æUä-X>Èn>SßÁÌaKè©Tºš»Z¡™ýfúÚú²™lw+÷ô/Ó•ç% mLؘ[‘ûUàWö†,ÃnºÅŒŽ170ÿ†ûÍ«ªW„ÄìD3¿n~z:zffK/íÖ©[3.Qó” ˧êkëûí°oßÚAZRx-7+7Ù¶•±!„Çç5£W+WÙ6LjCéeÙKVbidÙ°Y–ËÝÊ]öÒÑÜÑÂÐ"—V$("„pŸqé4z€}€¬‚¹¡¹ƒ™Cjaj!¿P¾ùFšá³ „Ávƒe%º Ýþ]û׈j®e]#„øÛùßÏ»¿âìŠäüdj˜†;ƒûvºL„õÂ)G§8˜;lÙ¬dü ÍÁ\x-#–‘l[—¡K‘’æ êʶi„Æ 3ØL¶¬„N£K¤Š÷ëšè™ÈOê$„˜ê› ŠJªJLØ&üZ>!¤wLï†ÇÊ.Ͷ4²”½”?PSÕ‰ëøµ|–KaŒ™!¤XPLY´Êã=©'&™Dñ²öšè1qh¡JšUË\±T<÷ä\Ž!çûQß3hÈK ]AjÍD§ÑëÅõò%•5•êjœJ>ä•T—BL LuºÆzÆUµUO¾|Òªßʺ ]#–¿–_UW%ŸPC9æ†æ„Ö+,¬W˜H"Jz™´çöž9'æ,²|š÷´×5«–i_ûªN\÷ã‡?Ê®@ÀŽ€Í£7÷~¯‘t  mÁ€4“…¡…üèI± 8¿2_]W×W§ñÒd/Ó‹Ó‹EN' C BÈ0Çab©ø^î=ù·ìLÚ9pû@±TY‡DSQý—3ÿYì¤N\—˜¨§£7°Û@BˆGŒGfI&!D‡®ã×ÍoLJ;h4ÚåŒÖ]eëõ­ÏŠží»“êÊhgš@3ùuó+¸w º¾:§<çÛøoMõMÕÕ8›É^Í]R"¬>*x´øôb&ƒEíô´5±]òç’„ üZ~¹°üȃ#±7b—,So?J¤¤uë5ñk.e\ªª«Ê*ÍZøÇÂâªâ¨ (jX‡u.êiÑÓ:q]IuÉ®¤]R©´_—~jŒAÁñGÇ·^ßšRâ¶ÉÍ>Ú^ö_NyNëàmÂÍÃÚK#7'ç'Ý?VörNÿ9‹Þ_dm/+l?x÷ØÝ„~-Ý¥uW2¯TÖTö²ìµbÈŠ¨óQ©…©„™}gõRh'È!hÌ/cd%‘þ‘^6^N•DøEè3õe÷ûñÃ7\Ùð0ÿ¡D*q³r[ì¿X~]“raùöÄíÜçÜ‚Êc=cgŽótßéºhx „Œ¥o|;çv~e>K‡Õµc×qîãÂÝÂ&ʨÑôcÓ_×+slò1ـΥŒK3ŽÍP¨°vÄZêžgui›‡‘šh/ ®k  ¬kíRÐ"¸yÞ!ò“fDøEDøE¼Í` QHMà¢Ê|XÐ, è€AjZ© h¤& Eš€AjZ© h¤& Eš€Ajï®êúê!;‡L?6]ÓÀ?šÀ»K*•J¤‰D"_èºÉuüÁñš ð xwè\žuYÓQÀ¿ ×´zMà_¸Ï¸³O̦¶/L¿s-ææË›åÂrBˆ§µç½Ü{Ô.OkÏ£Ÿ%„$f'Nþuò®±»ì!kâ×ü|÷gªNú’tÑðŽÅ±’Ì Ì’æ%5ºkÖñYñÏãU!vLìÜ“s=µ#Ö.?»œÚõ8ò1K‡µçÖžèËÑ„{¹÷ì£í ! :#ýËtªNiuiìØ‹y|žËÈÛÆ{žß<' 'eWšŽ&•J54ŽÇã %ìíí¶nå+«ÓÒiä–Ð-T ÷÷Àýû'ìW{T”C55†×NGvGj•šP•]7¹:sœ©¤G¦HP~ ¼VTícë“W‘·òüÊ”‚”ƒztöh¥3Ð~qq†œŒŒL%u 9Žêmb@^kf¿™¾¶¾l&ÛÝÊ=ýËôŽìŽ#{Žd2˜¿?þªP#ª‰ߥc—‹Ï/VÕUQ…'SOŽé5¦õ¢jv OGõƒnLؘW‘·<`ù »AúL}3‡-¡[¤RéjîjµœÈ 5€×r·rW(1a› ²t#ûF± ˜ÿ<Þý=÷Oú|R#ª9Ÿ~žR.,¿•sk˜ã°Ö‹ªÙ14<ÕqŸqé4:5`D174w0sH-L-ä6»YhsMàµØLvÃÂ1½ÆpŸqO§žæ=í÷ÔßÇôÓ¯K¿èËÑ<ùã×Τl?XŸ©¯¤Ù–Ì5iI žŽ*êÄuüZ>!¤wLï†{³K³-,›×24„Ôšf°Ý`¶ÉÉG'Ã\Â’ó“cÇÄêéèùuõ»ž}½HPtâщÅþ‹•· ›XªÁ” šB‰.C×Xϸª¶êÉ—OØ j„h&ƒ9ÒidZQÚ¦„Mz:z„°^ab‰x˵-E‚¢~]úµéØLv½¸žÚÚôkò¯„aŽÃÄR±ì%ÊΤ·K•õ@S!5hÃhŠ?ïß’0—0BÈÑ”£²©¦A=‚ t ަ u ¥ÓÞÆ?,­ƒ‹¥KViVAeÁƒ¼9e9Þ6Þ„HÿH[Û%.Ix‘À¯å— Ë<8{#vYÀ2ô£À»L*Uÿ?DÐhÃôõ%ÕÕjþW!9?yìþ±Ô¶ËFBHÆÒ …:=ºvìZ'®ó±ñ¡Jôtô†;?þèx«Þ›ÓŒ”œŽü ..]B]B7…l"„|5ä«çV Ý=Ô„mòõЯíLí!¦ú¦'>=±=qûª « * ŒõŒ9Î;>Ü1 ë€·s¾Ú©ªŠn` ys½¦Àº&ÚëëšÙŽÍŸ7¯ì­… oëÖŽ§Oq¹9Jê`]€wˆ£cÝãÇ,MGï®'OXŽŽuêm© @Ö·¯ðæMv}½†¦œÀ»­®Žvó&»_?¡z›EjІVÕÔй\Mï¢øxƒšú!Uêm© @fi)4¨jï^Ì€·L*%{÷š Tei)RoËHMÚ¶ÈÈÒÔTÝ“'4¼[Nœ0JMe-XPªö–‘š´mu&TnÜh*àgxKú¦M¦&T89©y,AjÐ,\X&‘E‹,$j^\ ²p.l•• š´y&&âÝ» nÞÔ_¿ÞTÓ±@ûmzã†þ?š˜´ÊSš´®®µk×ýô“ÉÖ­0%Z‰TJ¶ní´oŸItt‘‡GM+ Õ´!!‚êjúÊ•fYYÌèè"  ¨Sm-méR‹³g Ö¬) Q¶Pu ¡× ý?¾ò§Ÿ ®^Õ;¶óÝ»zšÚ»wõÆŽí|õªþO?Œ_ÙªÇBjЮôï/^ÿöm¶­mýòå%Í^õµ©÷Cj ½Z’šBÄb’`ðdž׮éWT %€¦11‘øùUÍ÷÷¯f0šßR€ö£…©‰ŒTJòò˜99:••t©Ï„üôÓtBÈ´i»5hMjl,±±Y[×ÓÔñFSSÜ¡ÐþÑhÄÚºÞÚº^Ó€Ö‰‹BFŒhÅ»-š }¼ Eš€AjZ© h¤& Eš€AjZ© h¤& E°,€öâp8MZÝ © !vvvšàè5-‚Ô´RÐ"HM@‹ 5-‚Ô´RÐ"HM@‹ 5-‚Ô´RÐ"HM@‹ 5-‚Ô´RÐ"HM@‹ 5-‚Ô´RÐ"HM@‹ 5-¢£éàí¹uëVJJŠìå‹/!»ví’•¸»»ûúúj 2€ÿ¡I¥RMÇoI\\ÜÈ‘# N'„P_4"‘HÄbñŸþ¬á(á݆Ôà"‰,,,ÊÊÊÝÛ¡C‡ââb&“ù–£‡íU^^^[[«é( ½=zôáÇëëëÊ™LfXXXii©F¢‚vŒÅb™˜˜¨^© €öª­­šŽÚ›áÇÿòË/ Ëëë뇎?9Ð8Ü¡ðnñòò²°°hXnffæééùöãP€ÔàÝB£ÑBCC&”0™Ì>ø€š  Yø+xç„„„(Ì5©¯¯ ÑT<òš¼sœ»ví*_bccãä䤡pþ© À»(,,LGçï;!ttt>üðCÍÆ ƒÔà]4zôh‘HDm‹D¢Q£Fi6¤&ï"[[['''F£ÑŽïhR€wÔ|À`0 Ƙ1c4 À?š¼£FŽI=7Í­‚Õ`Ú³šZB‚þµkú³þú‹YYI—H4h;Bü!ô×t$ Eètbl,±±©wq©8°Úß¿ZOï­>n© @ûÄçÓwìèøë¯ÆÝÍ­ÆÛ[8vl¥‰‰Kj¼ÄÄPÖ¯OÓ€‘HHy9ýåKæƒzÿý¯±¡¡d„ÊY³ÊŒŒÞÒ/RíՌԤ²’ayó¦Þ'ŸTFD”vè€ñh©Š úÖ­4îׯfëÖBcã¦ýÂÔ ýhjj’“Ü>ݪªŠ¶sg¡‹Kmëï ÇY3gZHwï.°µ­óþ§©© †Ú‰œæØ±õõ%'Nä!/µsq©=q"O__2vlçœæ›ßÐ\HMÚƒÊJúôéV;‹η°i:hŸ,,D‡çwî,š>ݪ²²µR¤&mžDBæÍ³¤ÆqØlL.€VÄfKvî,¬ª¢Í›gÙJ‹ 5hóŽ7NJÒÛ¹³ý%ðXXˆvî,LJÒ;~ܸ5ÚGjж ôÍ›;Mž\‰ù%ðÖ¸¸ÔNšT¹qc§ÖÖAjжýøcG±˜Ì[ªé@ ù~ÿý÷±cÇz{{ÛÿOZZšŠï}ðàAHHõ®©S§¶°€êæÍ+•JÉÎÕÞ2R€6¬¦†öë¯ÆÓ¦U`ýí'‹çÍ›çêê:cÆŒºº:YùÎ;###“““{öìyÿþýÓ§Oëéé©Ò`iiéÒ¥K'L˜ðâÅ‹–WÓ~¯»€ ):H¦M«8zÔ¸¦†¦Þ–‘š´a ú}ìØJMoöôéÓ³gÏ …ÂK—.¥¤¤ÈÊ=JmŒ=ÚØØØÉÉ)55ÕÉÉé ~õÕWÇŽspphy5í÷º 4vl%ŸO¿zU_½Íâ:mصkúnn5X‡¾Mptt6lXBBBÿþýÝÜÜdå¯^½¢6ŒŒŒšÔàܹsœœh´7ü`U±šö{Ý 23»¹Õ\½ª?th•›EjІ=zÄòõj: P‰ŽŽÎ¶mÛ–7{Inggg5VÓ~¯»€ Y½{×Ü»ÇVo›HMÚ°¼ûlïÞ½²½±±±Ã‡?pàÀêÕ«e…sçÎm4Â+VL:õÑ£GcÆŒ¡J""""""ÔtÞ€ÏçÿüóÏ/^ÌÎÎ …&&&ÎÎÎ~øá¨Q£Hƒ«·bÅŠÇ߸q£¬¬ŒÃáÏŸ?_~êŒòk¨„¨ ¨J„„âââí۷߸q#??_*•vîܹgÏžC‡ b±XêºPאַ]ëOžlZ‡ßa® @ÆçÓšúœ-P0jÔ¨»wï²ÙÿìÛ²eKPP!ÄÉÉéòåË ãüùó‹-JOOÞ·oŸ@ 8}úô… êëë÷îÝÊãñ!ŸþyFF†¬­[·êèèœ:ujÍš5ÔQä÷R&Mš$_›‘‘‘‘‘ñèÑ#ª0""‚º¡ÆÕÕõòå˺ºº‰‰‰o-/yùòeppð–-[²²²vìØq÷îÝÉ“'_»vmÁ‚sæÌ‹Å çµgÏž)S¦p¹ÜæååíÞ½;&&FÖÚ¯¡^@U"”H$Ÿ|òÉ víÚuÿþý_ýµgÏž ,8~ü¸z/׻ɨXÂç«9—@jІ‰Å4CÓA´}&&&¡¡¡Ôö¾}ûdå¿üòË€ììì!Ë–-+//'„Œ1¢[·nÖÖÖÔòüüüµk×6lÓÂÂbÖ¬Y:t—å*b³Ùü1µ½ÿ~¡P(‹'00ТÉgØ\K—.-(( „Œ1¢oß¾FFF³gÏ666&„\¸paÿþý õÇß«W/CCÑ#GR%\.W¶·©×P-fgggffBLMM}}}Y,V§NæÌ™Ó§OŸæ0D,Æ:ê6eÊj#99™ºû£ªªêرcTÇ{øð!UA–Èž¤Êårkjj,++«ûßQWVÖGE¹ùùYPÄÄx …bƒTÞ²Šá©Qbb±ƒƒ‘ŸŸ…žÃÌŒµti¯nÝ e{[x²íRx³ ò !ƒ[ÊJtuéýû›×Ôˆ¯]ãB¸Ü:`%«`n®çà`œšZ^X(”oÊÍíŸ^ ++6!„Çû»ÂÕ«Cþí:0UŒSI˪‡'¯…sMV­r÷ðètâÄËI“®B¼¼:MœØmèÐ÷ˆ:N Cjo «K72bòùõUU"ùìäÕ«Bˆ¹¹ž®.ÝØ˜YU%zò$T6dzG10ЩªUW‹å¿°KJj[óÂKOkÉqi4ff#I“’Š÷ìy>gέåË]§M³o½“h0 oFýÖ¿|¹PVRW'IL,ÖÓc È!„ ÖY,–Þ»W"ÿ®;Ÿ xNyǃ<ùßH¥¸¸&+K “|Õ^SyxœÉÌäBtth~~;vô¥Ñþ¹†­w²mRx³ÈHgkký5k^ºTPU%ÊÊ,\x§¸¸&*ÊÍÌŒEU°µ5X²ä^Bϯ//¯;r$+66}Ù2WÕ;*"#]LLt¿ý6åúõ¢êjñ³g•K–Ü77×SKü-¯¢¢’Ÿ>­¨«“””ÔîÚõL*%ýú™ÿ/¤Ö:Y€¶7h/Ü<,¿R!$4ÔfÓ&/ò÷º&é\n~a¡ÍÖéÝ»ãŒ=d_´T…íÛÓ¹Üü‚¡±±®³s‡éÓ ° „$'—{EVsÎÇE‹œííOÊJ¶Ü½»!$+K°aCêÍ›Åb1qr2þ¿ÿëõŸÿ!$1±xòäë»võ °$„¬YóðçŸ3©:±±¾sçÞ¢¶/\Œ‰I»y³¸¼¼Ž²vmŸåËïS»?Íb1öìyJ¹w¯ÄÞþ$!„Á ¥§‡QuJKkccÓ/^,àñ„FFLoo³yóz¾qÔŸË-˜=;‰ÚNH¶~}ê•+…ºº Î×_»ñùõß|ó()©ÈÀ€9x0gÅ 7ù.ôòòºmÛžÆÇõõuz÷î4c†Cß¾ÿÌ&‘]F±˜¸¸tˆŒti@3Âvtü]ù—½™+))¸ayee}Ÿ>gd/.tþâ G±X*›J9|xçØXåQÉ_±7~dò•]\þ „tïnôâ_•Þ(3“¿n]êÝ»¯D"©»{ÇE‹œ==MU9ÇÞ½;*ùC’}¬……5:éÚÙ…†ÚŒi-Ÿ×lØðøÚµ"ƒæáÑ)*ÊÍÖÖ Ñ Oúkñ⻲—7oŽ07×SåìÚ7šTŠt@Kñx<@ ¤‚½½ÝÖ­¼à`eušaùòûgÏæÿðƒ——©@ Ú³çùž=ÏèëkFyù²j̘Ël6cýzÏ>}LóòªÖ¬y”–V!Ô?yúÆÆÊZ¹2yóf¯Ñ£m¨’%Kî?þräHë-[¼©.·àÀÌýûý¨—TBããc6¾“››É³güqã’’‚;vÔ¥vQßsTeW×?œM¨¤G¦¨¨&<<¡¶VÝÇÇÇûÌÞѱ‹Ž}Ò$[KK„„¥+>ÎήZ½ÚÕßß‚ËÕ¶µåFG÷51aýurQQ ið2:8èoÚäQP V{Ø-5s¦½L&ß»÷©¢äîÝb zÔ¨n-ªÕoÙgŸ5CnnÕ¨Q–*¶ Ö††öòð0ÒÑ¡»¸FEyÖÖʾùæAÛ§ÞÖðpW ]]mccÖçŸ;|ðAýÝw÷®}À‹JKK% [«¨¨9óºL&ß»w`‹ò’N© Ôçëk~ï^ɪU÷“’J©©>?€2!„\¾, „|ð¹¢~×®¬÷ßç6ÚTCL??³k× « !±±ynn†S¦¼_]-=>—RV&¹y³høðnõžèæfØêñùyZZ4ÿW;MLØööú))eùùâfž¨ÌÅåUfflBˆ³ó«‰ssŽ@𪩠r !ƒ¿z•˜L­Mª«¥W®Hc/£©)[9TWØ-5p ‰“S—ãÇÿ¢fa!»w?>§˜ÎS=ªV¿e>>¦úõb˜:ÕN[›¦b ,]ùêú¦¦ìÔÔò‚‚ê¶´O½­¾¾ÿÈEþïÿRC& ®®¯Æ´¨?å¿ Ê³gÂ?Œ×Ò¢­^íªxm‚µ&PßÚµnîî]ñÉ'W !žž]'M²6ì=BˆD"«¬¬c±è::ÿXj×¥K ¶WŒoÍçç:•=cïĉ¿Æ·0À$22å?þú׿¬OŸÎ<ج^û„§•‹û$™PXKéÝûTóϟ‹T¼‘—ûêLÐé4çU‰–M±'–º"‹E¯·{ÓØ˜M),¬nêe42bee‰Úv«×š(|ö™ý²ewx¶`AϬ,ÑíÛÅQQž­ˆªÕo!dÚ4»•+ï+b¸q£pãÆ&×05d`À ýóãÞȈUPP]\\cjÊn]ûM½­ ééýãƒRoéDEEݼy7ÍÍ9 ‚“'ÿ7îõ³Tï¤&PF‚‚¬‚‚¬êê䉉…{ö==Fpp|XØ}[[®«kë;Lè@}îî§33…„mmšéÎýi4réR>u–ͦæ#(……ÕŠïúª`0´F¶LM-Šz'„ ÞM*•ß½[¬\s×®ôAƒÎµÓÎUjIñ¢B$Ùõë…l6}Ð 3ÒØËXZ*ÉʪTnä͇M¡ÓiÓ¦ñŠ‹köîÍ8}:ûÓOíÞ|TL¦ÖÇ¿OÅpòä_Ó¦ñ^ÿ%UUÒÔÔrÅô´Š‚‚jGÇ.Ô‰*í7ú‡D½­ññùÊ5ã¾ýöa‹ÂÓÕÕ63cëèÐwíꯣCŸ;7‘ši RhDxxÒ“'剬¸¸æÇÓår¢HBC{0¿ù&ùêÕ‚ª*izzÅòå÷Zºã1(ÈŠräÈsÅr×€ ]]í#GžgE·N¯^YY¢¼<ñýû%/_VöíkD u²¶Ö]¾ünB‚@(¬-+“>œ“¶r¥K;}õ u²´ÔY¿þA\\^ee]V–hÉ’Û……Õáá®ÆÆ,ÒàeÌÈ.]z»ÞüΛ[᣺ëé1¶lyðµZâÍG5eÊûl6}Ë–GÞÞ¦66o¾m ‡C_·.99¹T,–>|XºlÙC+<ÜUõö›úC²´ÔùöÛ‡—.åWVÖåç‹×¬I.,¬ž>ÝŽ´Š¥¥îöíýJJjæÏO”Hd­k¤óÁæaÍÕQ›‡SSËʺu«(7WÌbiuï®bl£âÎÊmÚ”rãF¡TJõ¿üÒù?ÿyüàAÙǪ_eèP¾D"KH®h–ÚE|îÜPO*IJ*0!^ùYã©å[bBƳ¢ÖC<{&\µ*)%¥ÔÀ€9w®ÃÇÛRÊÊ$;v¤ñù¹yyb}}¦“S—Y³ì½½M›²^óç;XŒÿª$4ÔÉÓÓø£^ÝÑ|Ñ"ÇE‹z’¿o€‘Æççæç‹9íÞ½ gÏî¡< ¤x©ÛÃ,\Øó§Ÿ2êݦua«ÅÆ)»w?=}Ú¿gÏú·Qi&ª½e#FtS.!„;æ×»÷«©U«î9òüðá¨Ìàµ÷¶13cÿðCÿM›=xP"“WWÃeËœ<<ê7ÒLûÍü!)ÞÖ®]Y^^Æ_|áØ½;·áŸÊÒ¥NÔmQ(ƒ›gõÅ·•®îâîn¤ü,ÅŸqSââòfÏN¬W¸aÃß;ÒU¯£Fí±y© €æê¨Ô¤† ‹­®–^¾ŒÛƃ:;öâÀg'N ~KÛà¾&Ðñ «=<þ¬«{õ­&;»òÅ Q[ˆ4êðáç3f´l•‰Fµ­ƒÔZ¬¼\²zõý¼<±X\—œ\²xñ==Æ‚=;:.è Ž}1o^bU•ôС¬òrÉèѪÞfMCÚ‡¶Ãæahö¾}><›4éŠ@ îÒ…áímíie¥CUPž_¯G±C£¼uwz|~ž»û)ê>³ —Ö¶ýýj¾ý„?E Öšh®·h­ ¼›°Ö:9¤& Aš€Aj© h¤& Aš€Á-×àöÜÜy)’bÆ5»¶àZG‡ÓˆøÌøõ±ëÿ*ÿ+í«´F+¤¤F%DÝ;+•I{wë½Øg±‡¥‡âlyuùŸ©žyr&UZ]Wm®gîöžÛ,¯YŽfŽM]qö±ÙqqK>XòùÀÏ[t-hŒšÀ?Ìì73cEF3ŸÓèeÙËÙÇfoNØ\TUÔTä¼äà}ÁºLÝó³Î'ÌO°êb5ùàä«YW"ã"×]X7Ô~è¹™çî,¾9*ò±àqÐ/Aüt~£ þžò{\F\ë®­€ÔÞÑ—£ûtësrúI]†n£drÙŠ?Wè³õ7ŽÞhÊ55ä~=ük›®6+Ï®”H%ŠjÁnÁÓ<§™pM8 N_«¾ÑÑR™t㥠,¬]äÔêk@K!5€·FĨˆ¹æÒiô¦*ÜþëöÓ¢§#F°µÙT ]‹>ÆqL^Ežbä#bTÄú땟åhæÈÖf¿,{Ùð‡;ÂΆì9rí Ö] Z© ¼5I@Sn¼¸Aq±pQ.t1wQœj”¸V\]WÝäö_zûoòŸ=]é¿R×€×Â2XhRfqfD\Äì;uÒ:·÷Ü–~°T±ÆS"•츾ãÌ“3¹å¹,m–‡¥ÇÄÞýÞ÷£k59¤á°ÉA*“6s9c]ãÄ…‰m ˜b®g®\h®oNÉ*ÉjêYgžœ!„Ì8_¹0_˜q)bûøíºÌÆ'Zw-x-¤&иªÚª5Ö,´ÄÑÌ1³(såÙ•SOùå£_¼¬¼!k/¬=ûäì÷Aß{ZyŠjD{ní™slÎÁÉûY÷kªÁ¦6Ô¨‘°FHÑaê(ê0t!åâòFŸRTYô]üw!n!£zŽR._yfe cà›j¼¨:Ð8a0Ô7ÔÃÒC‡¡ãbáU+­ý&öêìõç×íí}l}ØÚlc]ãƒWØvµíØ€›"'rBH½ÉJ™¸lú‘éý¬û}3üåò#ÉGž—>_á¿B×!5€Æ±´YnnЇ&¦\ÓTAj¨€âkç{/çÞª³«’r“¨iþl~3C&o†KR%©R.׊ !úlýz•ŵâiG¦Ù›Øo Ü¢<•[‘¹qôFƒ£®k€ê0¡3`Ôûöo¤cT *(®,6åš® Xëþžûñ”ãŸþ„âié9É}Ò°Úið ¬5±3²#„ä ó• ó+ò !õu¤ré‚ߘq;ó]½-?qqÂá䃓ë5}9:úr4!ä✋6†6ª_ Z© 4ŽZK¡¬¸ª˜b¤kD¡ÑhAÎAAÎAu²ºÄ‰{ní™|~ذ}g4ÕàXkÒߺ̵˜”ü”ñÎã…)ù)„z«FVŸ[-‘J~øðE^â¿ÓËØ-½ßë=¥Ï”)}¦(W>ùèä²SËêÝ Võk@‹`BWU[•*HU/y¾aä–6‹ªóÛÃß¶]Ý–œ—ìåÊ‹ä)þ{YöRí×€V 5¼û!h@ ‰š©ÀãÙmÛ&5ª¹:-¥üó~?|øÃ¦øMrÈä2W ×e¾Ë÷5I¤J:tëå­ÜŠ\–6«»a÷·`×àvÝœ—7ûØìz…Fnq Q.y,x•u7ç®L&s{Ïí‹A_(ÿäÞ¬c³šÝ96õXï÷z+—„Ÿ?|ÿ°rÉ ÛA?MüIÅktzgÎp-2ËÈÈl¦—Ë533S½M¤&š«CRÕµGj‚ Ð HM@ƒ 5 ‚Ô4RÐ HM@ƒ 5 ‚Ô4RÐ HM@ƒ 5 ‚Ô4ˆvGšEù—‡¯-¸ÖöÏ¥Û~m{VIVu]5!äÌgg 9†‘—"o¼¸Q * „Œë5.*0ªí‚¶H-HJˆº›}W*“öîÖ{±ÏâVü„²ŠÄgƯ]ÿWù_i_¥©#vèl0jÿ0³ßÌŒŽfŽjií~Îý…'úØúÜZ|+nnœ¹ž9!dÉ©%‰/šøSòÒäYýf©åBÐÉyÉÁû‚u™ºçgO˜Ÿ`ÕÅjòÁÉW³®ª½‘—e/g›½9asQU‘Z{ RhG¦þ)—˧õ¦Ãб6°¾úùU®Iâ‹Ä€&ºLݯü¾únÌwfs\¢\&˜¨zù[G&—­øs…>[ãè¦\SCŽá×ÿ¶éj³òìJ‰T¢ÞF¢/G÷éÖçäô“º Ýöé tHM å ó!lƒW%y„CCê!FӢᢎtû¯ÛO‹žŽpÁÖfS%t-úÇ1yyqqêm$bTÄÜsé4ºz» þE€v$•I-¡ZG„¸ñâ!ÄÅÂE¹ÐÅÜEqJ(€f`,4)³83".âNö:iÛ{nK?XJ­jÜ~}{ôåhBˆ‡¥Ç‘)G!—Ÿ]žqt!Ä€cpgñB??ïø<ª^›{ÕkyÛÕmÛ®n#„œ|°Ÿu¿’ª’˜k13. „=–^_«¾ }:š:Ökç¬ ÑW¢o¼¸Q&.#„Ü^|ÛcØhäÊ‹yøð‡ïâ¿KÎM–Éeʽ „HåÒsOÎM>šV˜&¬ÚÚ„¸…Lõ˜J ä(¹›}—É#„еèi_¥5UNµÙº¾l¹!ìlu*~^ü¦K›®d]¡kÑÝ»¹‡ ·6°næmrØäÐ0Tf¬kœ¸0±©³™Å™„j‚¹¾9!$«$‹2ñÀÄ»Ùw©rjÍòÔ_§^~*¹÷Å=}¶þkPM.—wt Ð8@ ‰š©ÀãÙmÛ&5ª¹:­øS`vYv/ó^K-q4sÌ,Ê\yvefqæ/ýâeåEÕq‰rq2s¢RJÐÏAÙåÙTjB™ûÛÜØ§±B1éL9‘ËåòAʇ¿|¸À{ÁBŸ…„-¢UXY¼?¸¦®&rT¤—µWNyΚók’ó’L:àÞÍ]¹/+¯Åƒ»Z¸¦¥‡ìI\˜ØTj¢èÅó’ç=M{†ù‡õ4í™Q”Q¯qq³Íõ ä>I&—z|j}ìú^3V ^¡h¤a7›)/´¥/Ô©¡öCçôŸÓӴ罜{sŽÍéaÒãø§Ç[ø¶À´#Ó®f]ýíÓßÜ,Ü…/J_ Ù5¤—Y¯“ÓOBR©!Bºwí~tÊQƒ#‘J&˜4ÝkúÇ1ª7¢Ì;Æ»¨ª;t:3g¸‹™edd6S‡Ëåš™™©Þ&&t qÂa¨o¨‡¥‡CÇÅÂ%*0ªVZûMì7­kZSB×¢k-BˆM‹N£Óit¶9asNyN˜˜ŸŸCÇÞØ~븭r¹|]½Fæ ˜ÓϺ‡Áq³pKû*­ù¼„"®=ük÷nî§Ñ^ô³î7wÀÜ.ì.†éS¾ý³¨¦•ÙžZúâBìÝÝÛÏÎïAÞƒRqiëâi59‘Bh´¿çÝÍ7Þ”*H =*—ËWŸ[=°û@E^¢b#*Bjci³”¿;˜8˜rMS©ÔÍHÔˆŸÎ×¢iùóü%&\{cû”ü”|a¾rMåxTÄap¨ÉJ½^øóüN>¨\ßÑÔ±NV÷´èi‹»AQS_\-\Çú„PкxT¡ÇÒ#„TIª” ŵbBˆ>[_Q2²çÈùçŸO;?ñÀÄ2qÙ’–´¢U`­ 4΀mPïû®‘ŽQ¨ ¸²Ø”kª®«H¤aÒ;ºwóÏKž+/_à08-m_ŸUÿsQ¹ÂáÞ[{/¤_ÈæWTW(êPŸ©-¥®¾Pó&Iþ7üД6®5±3²#„ÔËœò+ò !¶]m• — Zr-ëÚ½œ{ßù®Þ¾*Õx-¤&Ð8êSVYqU1!ÄH׈z¨EÓª•Ö*WPþtW“ÎÔgëWÖT>þêq{ì)-«.“ËåÊ9–r/f›}û¯ÛáCà 9†4í§Û?}{ñ[åT ©ÍD ËÛ»/MiãŠþÖýc®Å¤ä§Œw¯(LÉO!„ ° \óæË›"‰ÈÁÄáßçÿÝÓ¤§ò}ùToàµ0¡«ª­J¤*¦¦ˆ ÍC&¦\SåoÉ…¢ÂÜŠÜV\h¸Ãp©\ªØBÙ•¸kÐŽARysƒª¨©«y÷@ñP¹R™ônö]®É§žŸvÕéJ¥/5u5õZà08Š ,àÇ€_“~m¦¼]ûÒN¼¬½xƼ³OÎ*ú.•IO§ž¶Ð·l7XQ-»<{Å™ÛÇoß5a[›=÷øÜ’ª’–6  ¤&Ð8ƒ³Ž¿.9/Y\+~˜÷pÙ©e :#|h¸¢‚­O¨`ÿÝýUµU/Ë^~û‘ŽQ+.êjm`½üÏå Ï„5Â2qÙáû‡c®Å¬ô_Ùö±=–^Ôå¨û9÷ö‚®EïgݯPT¸ûæîRqiu]uâ‹ÄC÷Õk¡—y¯¬’¬¼Š¼û9÷_–¾ìkÕ·™òvíK;Ñ¢iEŽŠ,¯._þçòBQa™¸l-íó’çFn`i³¨:UµUs›Î3æYv±Üþ¯í¡àóß?¯“Õ©Þ€Š°y@suÈæázwÙ¿éAî™\æjáºÌw™ò¯µ k„qñ™ñÕÎæÎ«†¬ ?NáÏé?§÷{½÷ð ›zl噕ÏJžIeRjÃÎPû¡ÛÇo'„”‰Ëv\ßÁÊÏ«ÈÓgë;™9Íê7Ë»»7!$)7i¾ Êíd¬ÈP±/?–T–ì›´o}ìú{9÷¤2i½^”ŠK·\ÞŸ_(*4àø¾ïkÂ5Ùyc'!ÄÙÜùÄ´„gÅÏV[•’ŸbÀ1˜;`îÇîSÏmª¼u}©wjþÀùK?XJÝ4…2˜7x÷„Ý*v¼ G%DÝ͹+“ÉÜÞsûbЊWi텵Ï|vÆ„kÒwk_Å—|°äóŸ¿¶ µ[»Þ¥7ŒÜâÒ^ƒvÖ›‡‘šh®¼¯Iç@¥&jùýdhîkRÐ Ø< o+å¥õpŽIx‘½hÀ1ð´ò¬W>ÆqLÆŠŒÝ¾áë6¯aTx»á è 4âפ_…5µÃÖöéÖ‡*ÙsäÈž#;6ª·TìÓX?;?:þŽ\ 0jx^òœÒÓ´gGòÖË,ÎÌ*Éj?ô¹.@Û!5€FÔÉê!L:³£yëÅ>eÒ™¼ÿÁ;r]€¶Ã„ü??ïø<ê¸×æ^õÎþËå_›Fojê¹%U%1×b.f\z,½¾V}ú,t4u¬×lü¼øM—6]ɺB×¢»wsnm`M’ʥ瞜;š|4­0MX#´1´ q ™ê1•Zæ¢ÜH¼„—6ÆgÆ3µ™¾ïûþ;àßÂá×ü¯_$ê²tÛ ^5d•.SW•Øšâ°ÉZÿÛc]ãÄ…‰ÍT „\|zq€Í†õ0³8ó»øï_&JeÒ^f½BýBU+ª+úü§¢Ú’–|>ðs©\ê°Ñ*á0"f|LÃëJ¤’×wœyr&·<—¥Íò°ô˜Ø{¢ßû~t-ºêQ)jFÄEÜɾS'­s{ÏméK=,=šZ © üC@€Œs›û4öQè#–6‹*/—öÝÚ·™'ˆ ‚÷×ÔÕDŽŠô²öÊ)ÏYs~Í„}L:àÞÍ]¹Ùõ±ëçôŸ³qôÆ{9÷æ›óÅÉ/Žzœj$!3añÉÅ¡¾¡Û‚¶Éä²SO­]Ÿ/Ì_1xE½Ø6Äm˜7`ÞÆÑϧ=Z&.cÐK>Xbchs2ådøùp]¦îª!«T‰­©¥}•ÖÆ³¸ª8)7iݰuÔÃ¥/‚÷s´91A1},ûüUöWD\ÄËÒ—ª¿Œ+2fq5ëjìœX*Ÿ£Óè+2‚÷Oõ˜èØèu×^X{öÉÙ÷´òÕˆöÜÚ3çØÅÎU¢¢TÕV­¹°fÉ %ŽfŽ™E™+Ï®œrxÊ/ýâeåÕÆ @&t@=6'lÎ)Ï óó³óÓaèØÛo·U.—¯ã¯«W3Ä-Ľ›;‡Áñîîígç÷ ïA©¸Tq¶Ÿu¿¹ævaw1äR·?ßþYT#ª×H°k°³¹3‡Á r²7¶Ox–ð™×gަŽ: Iî“,»X&¶>lm¶±®ñŠÁ+l»Ú*_ñµQQ„5ÂPßPK†Ž‹…KT`T­´ö›ØoÔôjü © ¨?¯EÓòçù+JL¸&öÆö)ù)ùÂ|åš®®Šc } Bˆ@( úóüN>¨\ÙÑÔ±NV÷´èi½Ë¹X¸(ŽÍôÌ!ÎæÎŠs=sE›-ŠM½øé|sS®)õðò³Ë„åõ¦\Så,A•Pvèdæt<åx™¸Œª°ûæîé}§+ïÄ©w]_;ß{9÷V]•”›DMQñgó7;Q%* K›åfá¦xè`â`Ê5M¤6šÇ´&t@ $R‰°FHéÝ»áÙç%ÏÍõÌõXzŠcj¥­œÈ©‡ÂáÞ[{/¤_ÈæWTW(ª‰kÅõÚä2¹Šc¡ÑµèGQ¢EÓ’Ée­ˆMYךˆkÅן_Ÿ?p¾"ŒJI%K›¥XwB1Ò5Ê*ÉjQ¨Ÿy}¶ìÔ²÷,ð^U’uû¯ÛQQM]—²6`­û{îÇSŽrøBˆ§¥ç$÷IÃz S1*¶FûG5£QAqe±" h;¤& L:SŸ­_YSùø«Çm¹‘Æìc³oÿu;|hx S !ÇF£ýtû§o/~«È]Þdlm\kríùµêºjÅö]&©ËÔ­”TVÕV)çŠÁÕCã4fsÂæýw÷Ïî?{ï­½{OT^ð[ﺄääT'«K|‘¸çÖžùÇç‡ ›Ñw†*Q)Pi“²âªbBˆ‘®‘Н €*0¡ê1Üa¸T.½›}W¹pWâ®A;IåÍ=(HeÒ»ÙwM¸&Ÿz~ÚU§+õ½¦®Fbk…ا±VV=Lz(J|ß÷%ÿ›@¡”ŠKë N¨*FŸæ9­¸ªxï­½§SOêùió×uvÏ,Î$„hkiûØúìüp'F»”qIõ¨(UµU©‚TÅô´Q£™#†L@½š€z„ú†ZX/ÿsy³a°L\vøþá˜k1+ýWª8VA×¢÷³îW(*Ü}sw©¸´º®:ñEâ¡û‡4!¶–’ÉeqqõîxêjÀ1ø†ÿÍÕ¬«UµUEKÿXZo&EÅP?êý‘KoËå-öf\³æ¯K ?þ¤à‰D*)®*þ1ñG¹\>Àf€êQQ8 Î:þºä¼dq­øaÞÃe§–1èŒð¡ám|­ê¡Éå­&€v%D¢ú;S”ñxvÛ¶ Fj®NK)ß;„2®×¸¨À¨éG¦_ɺ¢(j?4öi¬âáüó—~°”R&.Ûq}ÿ)?¯"OŸ­ïdæ4«ß,ïîÞ„¤Ü¤ û&Ô{ /’§(̼{ÂîRqé–Ë[â3ã E…ß÷}M¸&;oì$„8›;¯¶¶^#öã¯( õ õ´òüèÀGŠ’E>‹ù,j>¶öp7ûîÄþ´^VIÖ¦øM7^ܨ“Öõ0é±Ð{áOw~ºþü:!$Ø58bT„ê¡n¼´q÷ÍݧgœV¾io£×M¤J:tëå­ÜŠ\–6«»a÷·`×`Å‘棲3²Sü¼ßþ°)~ÓƒÜ2¹ÌÕÂu™ï2Ü×äwæ wÑ"³ŒŒÌfêp¹\33³f*ÔƒÔ@suHjj±ñÒÆÿ>øïÍE7ßðOØtÔuáÕ© &tÔ/öi¬ïû¾ò“~r]5ÂõãÏæ¿S×P#Œš€Aj© h¤& Aš€Aj© h¤& Aš€AjdÏÍ=¼H/’çÓ^?¼×iÄgÆÝ5Ôa“CG fHM@ƒÌì73cE†£™c‡\½ª¶jÈ®!³ŽÍê««îeÙËÙÇfoNØ\TUÔѱ¨R€¿Éår™\&“É::׈¾ݧ[Ÿ“ÓOê2t;:õÃÏûüM—©{iŽâõ"FE°µÙ@{Á¨ À[y tn5€à§óçŸGÇÏ‹ßtiÓ•¬+t-º{7÷ð¡áÖÖ„í×·G_Ž&„xXz™r„rùÙåGgB 8wß©×N¼„—6ÆgÆ3µ™¾ïûþ;àßÂá×ü¯_$ê²tÛ ^5d•.³þÜDfqfD\Äì;uÒ:·÷Ü–~°ÔÃÒCq¶¤ª$æZÌÅŒ‹¡@¥×תïBŸ…ަŽõ.}aÖ…è+Ñ7^Ü(—Bn/¾mÈ1|mÇ…>bi³¨ã2qÙöëÛcŸÆæUäé0uz¿×{v¿ÙýmúSg%RÉŽë;Î<9“[žËÒfyXzLì=Ñï}?º½©WØa“ƒT&mæ-0Ö5N\˜ØL€Î&—Ë;:hœ@ ‰DÍTàñì¶mŒÕ\Ö™ûÛÜØ§±Cí‡Îé?§§iÏ{9÷æ›ÓäÇñO+ê¸D¹8™9Q© %èç ìòl*5Qng¸ÃðyæÙÙO;z:Ô÷}_±xÐbC›“)'ÃχOï;}ÕUŠgþ˜]–Ý˼גAKÍ3‹2Wž]™YœùËG¿xYyB DÁûƒkêj"GEzY{å”ç¬9¿&9/ùÀ¤îÝÜ•/íeåµxÐbW ×ô¢ôý!‰ ›JM”Ÿ¥HM E…Áûƒ«ëª7ŒÜàeåUXY¸9aó…ô ߎø6Ä-„v6ì쓳ß}ïiå)ªí¹µgÏÍ='ìgÝO=ïD³¼c¼‹ªŠÒ¾J{×hÔ™3ÜE‹Ì222›©ÃårÍÌÌTo:Ф·÷nîÇ»»·Ÿßƒ¼¥âÒV´ììlîÌap‚œƒìíž%|æõ™£©£Cg’û$Ë.– Ïê=EX# õ õ°ôÐaè¸X¸DFÕJk¿‰ý†:»9asNyN˜˜ŸŸCÇÞØ~븭r¹|]½væ ˜ÓϺ‡Áq³pKû*­ù¼¤¡Í ›³Ë³W]íÏó粸¶]m£ÇF›èš|Íÿº¨²ˆrýùu{c{[¶6ÛX×xÅà¶]m[ñ€Rh’«…«âØBß‚" ZÑŽ‹…‹âØLÏŒâlî¬(1×3oØ,K›åfá¦xè`â`Ê5M¤ˆ !üt¾M˟篨`Â5±7¶OÉOÉæ+·£ÜH+\H¿@l7XQ¤3vX]W}%ë !Ä×Î÷^νUgW%å&QÓ4üÙü73dÐYa­ 4I¥§8fÒ™„9iÍ0—ÉUÓ®Eç08Š-š–L^¿®Û€F£)—éˆ Š+‹ 8Â!!¤wtï†×z^òÜ\Ï\ñPùB-%‘J„5B–6«Þ:c]cBH¡¨²6`­û{îÇSŽrøBˆ§¥ç$÷IÃz k¦Y¬5hRh%-šV­´V¹¤¢ºB]Sɇ²âªbBˆ‘®“ÎÔgëWÖT>þê1ÖäjÓ¶cÒ™z,=a°RR©œPS9&\BF r rª“Õ%¾HÜskÏüãóÆ„Íè;£©f±4 y˜Ð€V2åš*ÏžŠ s+rÕÕxUmUª Uñ0­0­@TàhæhÊ5%„ w.•KïfßU~Ê®Ä]ƒv ’Ê›h)jüãRæ«›H¤’ëϯ³µÙƒlBÜ£Ý3‹3 !ÚZÚ>¶>;?ÜI£Ñ.e¼7GÐXHM •|l} Dûï­zYöò›ØoŒtŒÔÕ8‡ÁYÇ_—œ—,®?Ì{¸ìÔ2>4œ:êjm`½üÏå Ï„5Â2qÙáû‡c®Å¬ô_©Þq”PßPË.–ëc×ÇeÄUJ*³J²–ü±¤°²0< œšÖ!„„Ÿ RðD"•Wÿ˜ø£\.`3@1¼k°y@suÈæá¤Ü¤ û&(Î8éKy‘6»^ᆑ¨ýÌoR{lFj ¹:ð¾&ªÀ}M “Cj›‡à¢¼h¦žE>‹ù,z“Á@£šÀ;D•õ°Ð±0¡© h¤& Aš€Aj© h¤& Aš€Aj© ¼»ªj«†ì2ëØ¬Ž^Ajï.¹\.“Ëd2™r¡K”ËÄ;*$ÀoèÀ»K—©{iŽþ£& A0jÿÀOçÏ;>:¾0ëBô•è/n”‰Ë!–w³ïR§<,=ŽL9B¹þüúÔ_§þ8áGž?!d}ìúŸïüLÕI[žF§Ñ^Âa“ƒT&m&c]ãÄ…‰žšûÛÜØ§±ªÇ3>fÁï íΆ‘ÂΆQ§…>bi³öÜÜy)’r7û./’G¡kÑÓ¾J£ê”T•Ä\‹¹˜qQ è±ôúZõ]è³ÐÑÔ±¹WZŽ&—Ë;:hœ@ ‰DÍTàñì¶mŒÕ\Ö¡2/+¯Åƒ»Z¸¦¥‡ìI\˜xæÉ™5ç×l Ü2¶×Xªæò?—ÿöð·ÑŽ£·ŽÛJ•ðÓùûïíß÷Ñ>µGE9xÿ`Kchª;†CꕚP•]¢\œÌœ¨¤G¡@T¼?¸¦®&rT¤—µWNyΚók’ó’L:àÞͽz  ùΜá.Zd–‘‘ÙL.—kff¦z›˜Ð€&Í0§Ÿu?ƒãfá–öUš!ÇptÏÑ :ãÄ£T…êºêا±6†6Ÿ^¬”TR…¿§ü>Þy|ûEÕêvGõ‹nNØœSžæægç§Ãб7¶ß:n«\._Ç_§–N€Rh’›…[½ŽŸßµç× E…„ا±nï¹Mé3¥º®ú|ÚyBH™¸ìæË›Ã†·_T­Ž¡awTÇOçkÑ´¨ #Š ×ÄÞØ>%?%_˜ßêf !¬5€&qœ†…ãÇóÓù§ROÍè;ãDʉñÎãØ ˆ¼ùÇã?þåò¯Ó©§óë0tši¶-kMÚC£ÝQ…D*Ö !½£{7<û¼ä¹¹žyëZ€†š@Ë ¶lÀ1øýáïA½‚’r“bÆÇ°µÙ>Ý}®>¿Z *8þðø2ßeÍ· XXÚ14ƒFhõJ˜t¦>[¿²¦òñW]Ø j„ h1ÚqtjAjTBÔPû¡lm6!$È9H*“n½²µ@T0ÀfÀ[‡Á©•ÖRÇ?üšô+!d¸Ãp©\ªØ DÙ•¸kÐŽARys#@ÐRHM Å‚zBŽ$Q,5 è ËÔ=’|d\¯qZ´7ñKûÅÐ˼WVIV^EÞýœû/K_öµêK õ µ6°^þçò„g Âa™¸ìðýÃ1×bVú¯Ä8 €zaBà-ÆbÉ%’ú³m””›4aßê¸×æ^„Œõê¸wsïnØ]"•xYyQ%lmö‡¿=ü­]÷æ´"†fº£|—^›{ë5.*0вzÈêUçV Û=Ì€cðïaÿ¶3²#„éÿôøŽë;Ö^X›W‘§ÏÖw2sÚùáNïîÞo¦¿š©ºšÆf«ù.$¸¯ €æzí}M´™5«|úô²7€²ÿû?ƒ½{»\»ö¢™:¸¯ À;„Ç«MOgvtðîJOgòxµêm© À[ÌݽúÆVnˆh»ÄDNïÞÕêm© À[Ìß¿*;[ûáCVGï¢XÙÙÚþþ•êm© À[ÌÍ­ÚÞ^rà@—ŽÞEvéÑCâæV£Þf‘š¼ÝæÎ-;qB/5'ðF¥¦²NœÐ›3GýËð±C@s½v‡!D.'“'w“Éȯ¿æÐÔ¼ I“'¿W[K;zôõÿò`‡À»…F#«VÝ¿ÏÞ·Ó:ð†üòK—;w8kÖµÇ7"¤&o=g皥KK6l0Ž‹kîGõÔâÊ Œ–.-vvVó* R€Î`îÜÒ  áÒ¥fÉÉXtí(9™µp¡YPhîÜöºÙ#R€NbýúBOÏê)Sº;ÇíèX s:wŽ;eJ7OÏêõë Ûï*HM: C¾kW^ppÅÂ…fÿùOך¬‰µ©©¡ýç?].4 ®Øµ+ÁhÇ=4Ø¡ ¹TÙ¡ÓСCú‘‘FFFÒ•+‹‡ Só­àtá‚nD„Qq1}ÅŠâÉ“+Zúô–îÐAj ¹Z—šB ´7nìúÇzŽŽ5' ‡ ©47¯S{xйåçk_¼¨{äˆ^j*kìXáòå%¦¦­ù—© @çÑêÔ„òð!ë—_ºœ?¯+kYXÔÙØÔÈh4ü/Í‘ÉhååZÏŸ3òóµ9Ùˆ•S§–»¸´~3R€Î£© ¥¦†vçûÑ#Vv6£¼\K&SKhÐIde}O±µ]ØÑ€ÑÒ"úú2+«Ú^½j<=«Y¬¶æ -MM´Ûx=Ðp,–ÜÛ[ìí-îè@@-\x…òý÷!À+Ø¡© h¤& Aš€Aj© h¤& Aš€AjwƒÐ\]ºtÑÕÕíè( 3c³Ù„ÝD ¥´µ[–l 5Ð\ÔÇ@û¡>3¸\nGð &t@ƒ 5 ‚Ô4RÐ HM@ƒ 5 ‚Ô4RÐ HM@ƒ 5 ‚Ô4RÐ HM@ƒ 5 ‚Ô4RÐ HM@ƒ 5 ‚Ô4RÐ Ú¼9UUU555Ї‰„RZZª(a±X:::ÀÿÐäryGÇoÈÎ;çÍ›×L…~øaîܹo,€†š¼CŠŠŠÌÍÍ¥Ri£gétz~~¾±±ñŽ @&t4Wuuu]]]GG ›Íö÷÷‹‹k˜Ðét6›-‰:$6謴µµÙlv ê·_(ÐFåååøµ1bÄÅ‹–Ëåò‘#G ‚7tn\.·E© vè¼[† Æ`0–kkk:ôÍÇPR€w ‡Ã2dˆ¶ö?FÍ©¼{s@ 5xçŒ;¶ÞZ©T:nÜ¸ŽŠ@R€wޝ¯¯®®®r‰ŽŽÎ Aƒ:*eHMÞ9 cäÈ‘Š'ÚÚÚ£Gf2™© À»hìØ±µµµÔq]]ÝØ±c;6¤&ï¢~ýúQdž††}ûöíØx𼋴´´ÆŽË`0 FPPNïèˆþ†ÔàX[[[[[‹ÙÐ(¸,@'WSC»s‡’ÂÊÎfTThÉdhÇŠòã¸Ó¼¢¥EôõeVVµ½zÕxzV³Xoú·öštZ°öíërþ¼®X¬eaQgcSk` £Ñð‹žðJ·nBëè(@³H¥´¬,F|¼N^ž6‡#>¼òÓOË]\jÞXHM:¡‚í»þñ‡ž“SÍŠÅC†T™›ãg¡™™ƒ !vvøÝhD~¾öÅ‹:Gêÿë_–cÇ —//15}ÿ’Ðär|…ÐP ?ïwè~d¤‘‘‘tåÊâaÃ*Û#0x§\¸ aT\L_±¢xò䊖>Ëåš™™©^£&‡TJ¾ýÖxÿþ.Ÿ^:o^雟!€NiذJ_ߪ~0\³Æ$#ƒ¹jUQ»îèBjÐIÔÖÒæÍ3¿y“óý÷‚#Z<ÖÐ KþÅ%={J¾üÒôåKÆ?ä3íõ囇:‰Õ«MîÜa8ƒ¼ÚɈ¢rîÜa¯^mÒ~WAjÐìÜixâ„Þ–-7·7·ŠÞAnn5ß/8q‚»s§A;]© À[/%…µeK×°°"ÿªŽŽ:¿AƒªÂŠ·l1JIaµGûØ¡ ¹TÙ¡#—“É“»Édä×_sh¸?¼)“'¿W[K;zôõÿò´t‡FMÞnü¡wï{íÚ"ä%ð&…‡?xÀþã=µ·ŒÔàí¶s§APÐÑKLÞ]'Nœ˜0aBß¾}yÿ“ššªâsïß¿H=kúôém¬¦öð”>}š§äܹs­hÔÈѱ&(H¸k—úWœ 5x‹%'³Ÿ>e~òIyGíN*•.\¸ÐÅÅeöìÙ‰DQ¾k×®ÐÐФ¤¤ž={Þ»wïÔ©Sl6[•KJJV¬XñÑG={ö¬íÕšÒêðöw̘1§a@;™2¥<=™œ¬æ'HMÞbqq:––µÎÎ2éüž??¿ÑW+^5Y×®ÒÒR5ÿ R€·˜DBk¿Ÿ±UŒ3æÎ;е™[·n  „8::^ºt‰N§Ÿ?~éÒ¥iii£Fúé§ŸD"Ñ©S§.\¸P[[»wïÞqãÆ BÈÌ™3•×xnÛ¶M[[ûäÉ“ëׯ'M¬ýä“O” cbb222222>|h`ð÷¦‰E‹Qj\\\.]ºœ„” IDATÄd2¯_¿¾hÑ¢7ðÊ4Þ©S§! ¸páÂÍ›7gÍš•žžþóÏ??¾¬¬¬©þ‚fb2剚o]€Ô M ÆGSC”_~ùÅÛÛÛÎÎŽ²råJêCwäÈ‘¶¶¶–––cÆŒ!„äæænذ¡a›¦¦¦sçÎíÒ¥Kpp°"ÏP‡Ãùøã©ã}ûö)Æ-~ùå—¡C‡ššš¶¸‡í oß¾Ó¦MÓÕÕ500X°`u?®ÂÂBjÌ ÞqHMÚjÚ´iÔARRµ¤²²òرcÔˆ…@ xðàUA‘(nŽÉçó««ë¯ea2™„²²2j ÏÔ©S[Ö1Õ899)Ï¿øûû7_òäÉ  tss³··çñxÔÐ!¤¤¤¤="„· R€¶âñx>>>ÔñÏ?ÿLùïÿkffF*jnÚ´‰úü^·nU"‘H²³³ë5hbÒ¦Ÿu566V äüßÿý_]]Ýÿû_+++OO϶4«.3gÎܶm[jjê!Cnݺ•‘‘¡ØNŒßN‚Ô@->ýôSêàìÙ³ùùùûöí›6mµçÖÈÈHQmÉ’% ðx¼z­Qcm1sæLêê¹¹¹'OžÜ·o_; ™´ÔóçÏoݺE/]ºÔÐаcã „ÍÃjàççgkk›••UWW÷ùçŸWTTQ§,,,©»³§§§+?ëã?–Éd‡V{|X,:t(77·c£BÃÄ€Æ"‘¨™ <žÝ¶m‚Q£š«oLUU•OEENOHH077W>›““³{÷î«W¯æååiii{yyMŸ>½gÏž„Ó§OñÅõŒ·´´lô¬——×äÉ“>å×_U^P2nܸGiiiÅÅÅQM)=z4,,¬ÑŽÄÄÄŒ1¢EÕj´GTxOŸ>ýöÛo“““étºÍøñã>œ––FÕéÖ­Û—_~©J½¼¼:ÔTðfœ9Ã]´È,##³™:\.W±î[HM4Rh£?þøcéÒ¥þþþ?þøcGÇS{¤&˜Ðè´†Î`04d,€Ššt*¥¥¥</99¹¬¬,**ÊÁÁÁÛÛ»£ƒhìÐèTX,–§§ç´iÓjkkÝÜÜbbbZý»Á© @§¢££ó믿vt­‡ Ð HM@ƒ 5 ‚Ô4RÐ HM@ƒ 5 ‚Ô4R¨¯ªJ:dÈ…Y³ntt ÐäØ@-š@}r¹\&“Ëdšø³äš¨nTõéêj_º4¼££hœ&ÇjQÐ 5€àóóæÍK¤Ž=ËbÑ©ã²2ÉöíObcóòòÄ::Ú½{w=Û¾ÅKJjbbÒ.^ÌÄzzŒ¾}.ìéèØ¥^›ññÃ6mztåJNswïîjm­«h$3SøÝw ëêä=zè/XàðóϙׯB‚ƒmüý-êŦzËׇ̈́Ris3GÆÆ¬ÄÄQM•Hd;v¤9““›[ÅbÑ=<Œ&NìîçgF§ÓTélDDŸf. ЉÑärLÙh(@ ‰š©ÀãÙmÛ&5ª¹:­3wnbllž"5),¬N¨®–nØàîåeRXX½yó£ r¿ý¶OHˆ !¤  :88¡¦FÙÇËË$'§rÍšäääÒ|ÜÝ»*·9t¨Åœ9=zöìrï^ñœ9‰=zè?îGUxñ¢rüøK}ãF>}Œrr*ׯ˜šZ.Õ>~<®©ØTiY•ðÔ.,ìÞÙ³¹ßïåéi$ÕíÙótÏž§ê×ÏXõÎh¸3g¸‹™edd6S‡Ëåš™™©Þ&&tàõ6o~œ]µzµ«¿¿—«mkËŽîkbÂþúë䢢BÈæÍrrªÂÂ\üüÌutèööú[·ö•ËåëÖ%×k*$ÄÆÝ½+‡C÷ö6õó3{ð ´´Tò¿«<ª¨¨ wõñ1¥‰Žö‹¥*Ù|Ë*†§FׯÚÛëùø˜²ÙtccÖŠζ¶\ÅÙ6v Cj¯wáB.!dð`sE “©5p IuµôÊ!„ÏÏÓÒ¢ùû[(*˜˜°ííõSRÊòóÅÊM¹º¾¥°°àB‚¿+\¾, „|ðÁ««tíÊzÿ}.QM3-«žùúšß»W²jÕý¤¤RjbˆÏ †LH›; Љa­ ¼†D" kY,º®î?þÅ06fB «© „Þ½O5|úóç"ssŽâ¡žÞ«F˜L:!„šU–Hd••u,]G‡®üô.]*ÆÙL˪‡§¬kMÖ®uswïzüø‹O>¹Jñôì:i’í°aïut Cj¯Ádjéé1„ÂÚÊÊ:å줨¨šbbÂf2µôõ••uS¬ñlÅUtuµ++몪¤ÊØÅÅ5m¿uᥥµåº4 ² ²ª«“'&îÙótþü›aa.3fðÚ¯³&tàõ¨ïú—.å+J$Ùõë…l6}Ð 3BÈðáݤRùÝ»ÅÊÏÚµ+}РsÍ<(óõ5#ÿ›é Vge©a‘¯ZÂk)w÷Ó™™BBˆ¶6ÍÇÇtçÎþ4Ú«×°ý: ð¶Cj¯êdi©³~ýƒ¸¸¼Êʺ¬,Ñ’%· «ÃÃ]YTkkÝåËï&$„ÂÚ²2ÉáÃY11i+Wº¨>PÚËÀ€ùÍ7ÉW¯TUIÓÓ+–/¿gbÂVKüm¯ÂÓž<)—HdÅÅ5?þ˜.—“LþR{uàm‡ÍÚ«C6+ß)„2nœUT”'ùû¾&i|~n~¾˜ÃÑîÝÛpöìŠZªÂŽi|~n^žX_ŸéäÔeÖ,{ooSBHRRé„ ñŠšóç;,]êÄãý®(<Ø|÷,ѦM)7nJ¥ÄÑQÿË/ÿóŸÇ”=|ØhlŸ|b§bËÍ„×NRSËʺu«(7WÌbiuï®blCû_.Ô|gÞ í±y© €æêÀûšhŽaÃb««¥—/¿7§§: îkYaaµ‡ÇŸuu¯¾/egW¾x!R›é4ީδRÐ åå’Õ«ïçå‰Åâºää’Å‹ïèé1,èÙÑqµ‹wª³ªÃæaÐ&&ì}û|x6iÒ@Ü¥ ÃÛÛ4:ÚÓÊJ§£CS¿wª³-‚Ô4ÈÀ&¾+3ïTgT‡ Ð HM@ƒ 5 ‚Ô4RÐ HM@ƒ 5 ‚Ô4R€Žwút6÷;÷»“ÓÉŽŽ¥üùgv``\¯^P/BzzEëÚÙ³ç)Õ‚·÷YõFøZ|~uiï÷ši»†Ÿ?t(ßÁáDëh,¤&𶪪’raÖ¬ˆŒc™‘1¾Óß¶Ñ·ìîÝâ/¾¸íãczûö踸aææœV·?s¦}FÆxGÇ.mŽ´Å,22ÆjÑL¶‡÷òeåìÙ76o~\TTÝ–:© ¼­är¹L&—ÉäÊ…..Lœx¹£B‚æ5ú–=›#—“iÓx::tkkÝ«WGôè¡ßQ*hæRtôã>}ºž<9XW·Éß™Q¥Ž†{[ãÐÕÕ¾tixGG-Ðè[–—'&„0:"¢·LDD6›Þö:£&Б¤Rùë+!„UrŽ·=/!5€†$ÙŽigÎääæV±Xt£‰»ûù™Ñé4ªBf¦ð»ï%&ÖÕÉ{ôÐ_°ÀáçŸ3¯_/$„ÛDDôiªå¹sccó¨c£#G> „\¿^8uêÕàïoNY¿þÁÏ?gRubbú-Xp“:¾pahttê…eeBȆ }ÂÂîQ§=ËbÑ÷ìy™B¹{·˜ÇûB§ÓÒÒ‚¨:%%511i/æ b==Fß¾Æ ö|í¬?ŸŸ7o^"uœ0|ãÆ”øø|&“îëköï» …µ_ý01±@W—1x°ÙªU®ÊCèee’íÛŸÄÆæåå‰ut´{÷î:{¶}ÿþ¯V“(^F©”ôêÕ%4´WÃZ¶ƒÃ‰æ?ìY‰‰£–WTÔöésZñpɧÏ?wJ劥”#Ft‹‰ñj>*åWìµo™rå^½þ „¼ÿ¾Þ³gBUbx­ÌLaDDÊ;Euur77Ã¥K<<ŒTécïÞ†Íü!)ÞÖüüê®]™vvzãÆYm©œVoÚôèÊ•:æîÞ5<ÜÕÚZ·Ñ OžükÙ²;Ї7nŒ41a«Ò»Î&—#]ÐP@$5Sdz۶M0jTsuZ!,ìÞÙ³¹ßïåéi$ÕíÙótÏž§ê×ϘòâEåøñ—8úÆ}úåäT®_ÿ05µ\$ª}üxÜk?x0kÍš¤-[<ÇŽµ¢J–/¿÷Ûo/F¶Üºµ/UÂççíߟ¹oŸõJh¼¼Œ/vtu5HO†„$$&Ž24dR§¨Ï9ª²‹ËNNTÒ£PPPœPS#Œìãåe’“S¹fMrrré>îî]_3u•áÃß›7ÏÁÎNïüùÜÐÐ;¾¾f †ÖâÅŽ66Ü“'_†‡'MŸn·j•+õ”ÂÂêàà„êjé† î^^&……Õ›7?ºp!÷Ûoû„„Ø4|ÿú«2"âáóç•bÅËØÆ°[gÆŒëW¯ÄÆ(š'Ljh©bT-zË–LŸ~íڵ†1ü{w×Ôµîx%!$€ C@@d†‚à€"Úªq‡c­Ú*j«VåÖ©T­V‘B¹Z´Zµ­ŠZ[¥õh@GPPQT¦„™@”ä~ØçÆ4 “Dý???$++ï~Wáe¯µW>ü°¿ücÓŠ€€‹yy"{{½eËlmmõ²³«V¯¾—-Ü¿˜‡‡¡Šñ›ý Qok]ô›o\<=ÄbÉÑ£¹ÑÑÖ®uœ3ÇJ>??ÓöHM-[¸0¹¸¸‘Šé••Õ]»ö!D"‘mÝšþäIÕ¶mƒzôÐTõM"dذ3%%uò‚©Ý}:îôiî’%¼¬¬ìVúp¹\§zLL耲ë׋­­u¼¼ŒÙl†¡!kÕ*‡~ý¸òG##VU5„…9yyki1¬­u££ÝÅâæ¯–ljܸÞL&ýÏ?_Rwkk% …}úh_¸PXSÓH5þñÇ‹‰-”ž2ÀÓÓÃÑpvÖÏÌ Ô×oÃÏñÈȇùù¢5kGŽ4¡rÞ¶mL&Û°!Mõ AA}ô8F` ¹µµnRÿã­mm{hi1¦Oïgf¦•”$P8⣼<Ñ—_:ùúšr¹ýúq££±¿þ:­¤¤Ž4ymlt#"Üq§§ÝVŸ|b-•Êöí{*oII)åókÇŽíÝÖ¬Úý–}üq39ˆÆŽ5S1‚PØjïæf ¥ÅptÔŠrohnÜx¿ƒñ©·5,ÌÉ××T[[ÃÐõé§6#F(ÿÒ îãêÚ“Ãa bäëkzÿ~yyy}ÓhUU Ÿ|r]*•íÛ7´MuÉ[¥ (óö6¹{·líÚ{©©åÔÔ@|¼?uÊ„rù2Ÿ2b„‰¼Ïž¬þý¹Í†jJOOsäHÞµk‚ââZBHBB¡³³þÌ™ýkk%çÎB**êoÞ,3¦·ÒõÛ=¢øøB:æëûêÂN##¶µµnzzEQ‘¸•'*rt|•Ç&„88¼šX11áðù¯B?_@ññyõ*ijÒ‡5ª­•\¹Â'ͽŒÆÆlŰ³Òn«¡CììzÄŽ¤fa!{ö<3ÇJ>§zVí~˼¼Œmlt•r˜5ËRCƒ¦b‹¡xt]ccvFF¥@PÛ‘øÔÛêíý·Zä§Ÿ†R§L䜜^Ó¢>*ŠŸ ʳgÂÉ“étÚ—_:É_[ `­ ([¿ÞÙÕµg\Üó?¼Jqwï9}z¿Ñ£{Bêë¥55,CKëoKízôhÃå'ZÄÇž<™7w®ÕŸ¾œ8ÑbÈ£ððôÿüçå¤I§Nåùøð”âB8œv.— … „—“MÍÍ­Vq# .÷ÕL04çU N“_K‘Åb(]½ihÈ&„×¶ô2°rrª;˜v»×šÈ}ü±õŠwbcŸ}öÙÀœœêÛ·K£¢ÜÛ‘U»ß2BÈìÙ–«Wß“çpãFñÖ­-®ajJOIûû¯{–@P[ZZglÌn_ü–ÞÖ¦ttþöÁ „(-¨ªj\¸ð¦‰ ')‰âÄË þy–ê‚Ò”Ñh$0Ð<0м±Q–œ\¼wïÓE‹n®Yã8w®•¦&][[£¦¦Q$’(þZ--­S=¾‰žžæ¼ 4OM-‹‰ñ`³^^ÆW¯ ‚Ú¸¸+VØu$y%ššt]]fMMã£G^ÏŸ§ššt¦PØPSÓ¨økŒÚËȈÝÒË(ÿ#¾#iw|mÁøñf‘‘|6þ€}ûžNÚW>Š×öbN˜`õHžÃ¤Imšò ê'EÔGÔÀ€¥büf?H;­íÀ`¼tt˜AA‰kÖÜë×ëäÔþ“‚oLè€2W×SÙÙBBˆ†ÍËËx×®Á4¹t©ˆz”:›MÍGPŠ‹kå뫂ɤg–‘QõÈÏÏ”º´!0ÐB"‘mÛ–!ÔÒþMQ9†)uÛß?þ×_s !cÆô–Hd))¥Š=wï~2|øÙ.ºr•:É$Ñ!õõÒë׋ÙlÆðá<ÒÜËX^^Ÿ“S£äõ§Ma0h³g[•–ÖíÛ—uêTÞGY¾þ¬45éÿþw*‡'^ΞmõÏÏQ I22*åw33«‚Z[ÛÔ)Uâ7ûA¢ÞÖÄÄ"Åž¿ùæA›ÒÓÖÖàñØZZŒÝ»ki1,H¦fš€‚Òš–úøqe}½´´´îÇŸÈdD^.„†Úëéinܘvõª@$’¾ °P¬««ig×cÞ<ëaÃŒ[OR)E‹lüýM'N|Õjçîn8mÚ«Í—,±]²d ùï™ññEEbGÃÅEþüŠ'„ä/#µ=ÌâÅþ9Ki{˜ö¥Ý)¶nMß³çé©S¾*o£ÒJVmzËÞ¿·b !䨱‘..¯¦6Ö®½wôhî‘##¨ÊàÉ÷¶áñØ?ü08"âáýûeR)qrÒ_±ÂÎÍM9H+ñ[ù ÉßÖž=Y†ŸnÛ·/·éGeùr;j[ŠÉ„ æŸ~[á莮®ŠÏ’Œ[rñbáüùÉJ›7ÿ÷ŠtÕût¢®¸x¥ €úê®Ò¤FN¨­•\¾Œmã¡3;ö<6öÙŸú¼¡ñßØ×º_qq­›Û_¯þªÉË«yþ¼º# DšuäHîܹm[e¢Vñ¡}Pš@›UVÖùå½ÂB±Xܘ–V¶téægŸ ìî¼àmðÛoÏ.L‰$‡çTVÖ§ê6kj:@Û±ðŠ}6}ú>_Ü£sØ0ãèhwss-ªƒâüºù: µòÆ%üÖ‹/tu=Ií3ÛtimÇ߯Öãw#|)Xk ¾Þ µ&ðnÂZxË¡45‚ÒÔJP#(M@ 45‚ÒÔJP#Ø þfïͽá— !<.ïÚg׺;f$f'nJØô²òeæ™ÍvÈdD%E¥ä¥H¤—Þ.K½–º™¹É=|ïðWç¾jö‰#úø)ø'êöÔØ©)y)Jf»ÏþÒïKêvemå_~|:ƒŸQÛXk¢câÜËyžÇ<[žmGGðnÃYø›Oi…iA‚´5µÏÍ;—´(ɼ‡ùŒC3®æ\U%þ{½ßS=™ð‹áÎoð³ö;ûÉÙ;Kï„ Ä¸?0þI¼êA )œ5€7Fôåè÷z¿÷ÃäFì!n7í •IWýµJ—­»uÜV¶›òõ˜¯oçÝ^}fõ… š Mª›Ÿµß®É»Ÿ˜[ž;vïØ©ÎSÿøèGSÇVò rší>›º=È|Pt@tÀÏ[/mõàßQ¼ëPšÀcËØ-TÁÑ’Û/o?-y:Ëm–¼ƒÎo;~ûÕí³.¾oó>!¤~ŸA惔žxàÎÿþF\£6%£Ôb˳ek°_T¼Éd4š}iÀ›:ðÆh½.!„Üx~ƒ¢tªÃÑÄQþ!dXßa{|¬Ø¡¦¾&.=næ{3;˜ž¸A\ÛX;ÀhꀎÀYhQviö–‹[îäÝi”4:÷r^>b¹|=i½¤~çõ§Ÿ.¨,`i°ÜÌܦºLÙ$ƒÎh)šM„D*iåp†Ú†É‹“;˜0!ÄDÇD±ÑDׄ’S–ÓÒ³ŽÝ?ÖK·WÓS)>üsÍÙ5¹e¹ :c ÑÀ®3þeÿ¯VŽ~úñiBÈ¢¡‹Ú?”&ÐQƒhÝùuˆ/³åÙf—d¯>³zæ‘™û§í÷0÷ „¬?¿þÌã3ß~ïnî^]W½÷ÖÞc!‡fò´ðl)`KÔt"a¢¥©¥Ø¨ÅÔ"„TŠ+›}ŠL&‹½+_2¢¨²¶2|lxÿžý « wÞØ¹üäòÔ‚Ô¯ü›¿º§¤¦äÛÄoƒƒÇÛÁQ¼ã0¡ÍÖ C½CÝÌÜ´˜ZަŽQQ ’† ©G¯ç^·6´öêçÅÖ`j®òYÕ¯g¿îM¸%2"#„´4É’ô,IP-˜è8Q©ýèÌ£‘ã#íyö&§¿AÿÈñ‘νœ¤H+Lk¤B\1çèO Ïc6vzþï”&Ð<–ËÙÔY~×ÆÈÆ˜kœÁÏT !Þ–Þwóï®=³6µ •š¦‰ŸßÊ)“×C‡¥CÕ‹©kytÙºÍ>eÿý&RgVZG­¢½ðô‚R»¸A<ûèlk#ëï¾ke> T„ hž[OéLƒ– ZPZSjÌ5^ï¿Þµ—k\z܇G>$„¸›¹Ow>zÀèV¾†µ&––„"a‘bcQU!¤Ù“:9e9Ws¯®µV•àÆ\cBHiM©b£D&ùìÏx\Þ·ã¿eÐP—t”&ÐG?üRøç7ÕBÈû QQ?tD† #*)*%/E"•¸ôvYêµ´éw"vVÄìÄM ›^V¾Ìü"³3r‡· ΚÀß|âùIÖª,[žm§D»—oñŸ‹½úyÝZzëâ‚‹&:&„e'—%?OþyêÏiËÓæyÎë”AG¤¦ÒÖÔ>7ï\Ò¢$óæ3͸šsµÓƒ¼¨x1ÿØüȤÈQI§ŽÞ*(M  ý•ñ—L&›=h¶SËBÏâê§W¸FÉÏ“ýøÛÙhkj1ò‹oÇÛÝi¶Æ1ÊqjìTÕÛß8R™tÕ_«tÙº[Çm5æësô¿óuŸž}VŸY]/©ïÜ Ñ—£ßëýÞ‰9'´™Ú]3x 4€.T(,$„è±õ^µTBôµô©»4Nâîtûåí§%Oß·yŸ­Á¦ZtÆxÛñ…U…³.vn-c·,²€Actîà-ƒŸÐ…$RI³-4BëŽt 7žß „8š:*6:š8ÊêÄ ò X -Ê.ÍÞrq˼;’Fç^ÎËG,§V5#úr4!ÄÍÌíèÌ£„ËÏ.Ïým.!D£wgéBHü“ø…q ©8ö‘öJ‘·_ݾýêvBÈ¡‡<-<ËDe1×b.d]à ù:,Aæƒ{-¶5¶UŠs~Þùè+Ñ7žß¨WBn/½­ÏÑo6sÅż?LþáÛÄoÓ Ò¤2©â(!™äì㳿¥ý–Yœ)¬öÑïì<Ëmu"G$%/Å*ÜŠ 32¿Èl©ŠÙ¾±lþ`óš3k¨‡&F\Џ’s…Ag¸öv ó ³Ð³håm²‰°iZ*2Ô6L^œÜң٥لjœ‰® !$§,‡25vjJ^ ÕN­Yžõë¬ë¹×©–»ŸßÕeëþcÕÑd2YwçÍãóùÕÕÕ­t°²²Ü¾?vlk}Ú'à瀼Š<{ûe×Ùòl³K²WŸY]š½Ú~sªc”£ÏŽ*M(¿æUæQ¥ eÁñ O†>ÔdhʈL&“¥óÓ'ïŸüÙ°Ï{-&„Ð ½¸¦8è`P]c]øØp üÊüuçÖ¥¦ÅNuííªÇÃÜcéð¥N¦NOJž N^œÜRi"EnYî@ãk|× 4˜U’¥4Š‹Yç›ê:ÝuºT&=ùè䦄Ms=æ®òY%Òt˜­´ ª õŸµ_ÈàÆïæß 92Àh@ÜGqm|Û`öÑÙWs®ÿ踳©³¼ñyùóQ»GÙóìOÌ9AÉàgÇ÷íÙ÷·™¿q˜œzIýôØés<挷¯zEÃb†•ˆJp…Î[àôiî’%¼¬¬ìVúp¹\§zLLè@ó„uÂPïP737-¦–£©cT@Tƒ¤acÂÆöE£Ö”0è :¡Bè4:ƒÆ`Ð4-2)2¿2ïš‘–#µ˜ZÖ†ÖÛ&l“Édâ7( âiáÉarœM3¿Èl½.¡ˆÄ_ùÚµ·+‡Éivžž †,èÁî¡ÏÑŸå6+À.à—Û¿T×µ³Úë”±;S ë;l¤åÈû…÷ËÅåí˧ÝdDF¡Ñþ;ïf˳‘ÁÏ=*“ɾ<ûåоCåu‰ŠAT„ÒšÇÒ`)þlcdcÌ5ÎàgP›‘t¢ø'ñtÝ×ÊWÞbÄ5²6´N/J/)öTÌGE&‡šL¡(Â×Ê÷ÐŒCŠýmm¥OKž¶y„N‹“©“ü¶©®)!„/ä·/Uè°t!¢z‘b£¸ALÑeëÊ[>øÁ¢¡‹Îež›;µB\±lIJvPÖš@óôØzJïhª¥5¥Æ\ãÎ:J½¤^X'$„¸D»4}4·,Wqù‡Éik|]–òïEÅQë„ûní;ÿä|‘°¨ª¶JÞ‡úÚV5ê×C{Þ|q³º¾ÚÆÈæ«s_ 4¨¸/ŸêAþ&t y¢Q?C~7³8SP-°åÙÊO™sÿJ.®..¨*hÇÆØŒ‘È$òk@(»“wß9\"kíd€*êëîÞ—ßU…D*IÉK1â}äþQO­žTùR×X§ÃäÈ+0ÿýMýµ•ö.Kñ°ð°2´:óøŒ|ì©äTÆ)S]SKy·¼Ê¼U§W호c÷”Ýl ö‚¸e¢²¶PJh‡ÉÙ¿!­0MÜ ~Pø`ÅÉL3Ì/LÞÁ«Ÿ— Zp0å ¨Aô¢âÅÆ„Zí8P¨w¨…žÅÊ¿V&=KÖ +ÄG³ÚwuÇÏ=è°t¢.GÝË¿×t :ÃÓ³¸ºxÏÍ=åâòÚÆÚäçɇïVŠ`obŸS–SXUx/ÿÞ‹òƒÌµÒÞ¥cé"t=|lxemåÊ¿VWWˆ+ÖǯÏ-ËÝüÁf–‹ê#j-8¾ Ì?ÌÊÐʬ‡ÙŽI;øBþ§|Ú(mT=€Špñ0€úê–‹‡•v‰HŒ¸_p_*“:™:­ð^¡ømmÂ:á–‹[³«j«LÖŽZv.Œ:‡28Ä¥—‹|ʱYÇVŸ^ý¬ì™D*¡.Øñ³öÛ1q!¤B\±óúÎø§ñ…U…ºl];žÝ<ÏyÃú#„¤¤N90E1NÖª,Çðs@YMÙé6%lº›W"•(¢\\þÝåﳋ«‹õ8zÞý½¸F»nì"„8˜8ü9ûOBȳÒgkÏ®M/J×ãè-²àß®ÿ¦žÛR{ûÆ¢ôТ¡‹–XNmšBñ±òÙ3eŠo‡GüGQIQ)ù)R©Ô¹—óçÃ?—¿Jëϯ½KÝ>ýñi#®Ñ mƒäO\6bÙ§C?ýÇ êjm¥Coþ`s°spW ºXW\<ŒÒ@}uã¾&oª4é”ïO€fa_xË¡45‚‹‡àM¥¸C ‡É‘ïMbnE-Ýx]y@‡ 4€7•êëaà ‚ P#(M@ 45‚ÒÔJP#(M@ 45‚ÒÔ¶\€æe—fo»²íÖË[åâr‰TBÑaéÜ[vüýÛ‰ñåyÿèNÞi±ÓÍ8äiá©Ø~*ãÔç'>'„h24ýÏ£×vÜÖ5Í o7¼f8kÍơ̈̄r`JviöÎI;S—¥¦-Oû>ð{:í¿?1>ñü$kU–-϶{“|S\xzA£çnî®Ô>Þv|Öª¬¡}‡¾æã¶®iVx»á5ÃYhƯ©¿ ë„ëG¯¯÷{TË?ø`àÝ›Õ*áiÂHË‘ ã9.@ᬠ4#·,—2Ðx`w'òÆË.ÍÎ)Ëñ³ö{GŽ Ðq(M ÒFBˆ&C³»yã%Š£‚$e'-=±4Ô;t{àv©LzòÑÉM ›Š„E«|V)å¶ùâæ…Cn·õ\æ¹ÐS¡â &ƒ¹lIJ>ú}N¤Ÿ;¦­©½vÔZUrkiD™_dvðÅ,•¦¤n½ºû¼üyÐÁ Ž'&0æ=³÷^V¼ÜrqË‹òª¿ŒY«²æþ6÷jÎÕ„ªžcÐY«²‚Ír›`Ðìqן_æñ™ï¿w7w¯®«Þ{koȱù•;ªdE5ˆÖ_·lø2[žmvIöê3«g™¹Ú~s¾PŠ0¡#2)2¿2ïš‘–#µ˜ZÖ†ÖÛ&l“Édâ7(õ vvííÊar†õ6ÒräýÂûåârù£žž †,èÁî¡Ïѧ~Ýþrû—êºj¥ ANA&&'Ð!ÐÚÐ:éYÒÇÛÛj1µ¦»N7ëa–ô,©¹u®‹YeD6Êz”<ªÚª0ÿ0¯~^ZL-#›ˆq‚jâSþ1ÕO<>‘ʤûnî“?%%/…/äµÛÒq¯ç^·6´öêçÅÖ`j®òYÕ¯g?Å#þcVa0Ô;ÔÍÌM‹©åhêÕ iؘ°±“^-€ÿBi#þIÝuúè£UÌJN­G£ÑþÖMË@P-(­)•—A‡Ò:&CS—­[SWóè‹GÙHcþ±ù·_Þó ° ÐçèÓh´ŸoÿüÍ…oäµËëÌ­ƒkM®å^«m¬•_¾«ÉÐÔÖÔ®©¯5ˆëùÉÕSo7>2)ò`ÊÁùƒçﻵoªËTÅ¿JÇ%„Ðh´@‡À@‡ÀFicòóä½·ö.Š[´fÔš¹ƒæª’•U6)*•B ´ T|MT èclÆHd’”¼ÅÆÝÉ»‡ï.‘µvîAN"•¤ä¥q>rÿ¨§VOêôºÆ:uÈ­ž&˜ë™0 oñîïMþ…R..W:9¡Jª c¶ûìRQé¾[ûNeœúÈý£Öëíš]šMÑ kxõóÚ5yF»”uIõ¬(¢Q?C~7³8SP-°åÙâ” t.”&Ð9B½C-ô,Vþµ2éY’°NX!®8rïH̵˜Õ¾«Ub9!¤B\±óúÎø§ñ…U…ºl];žÝ<ÏyÃú#„¤¤N90Eé)VáVò+Ÿ=Sö”‹Ë¿»ü]bvbqu±GÏ»¿·×h×]„‡õ£×+ñ·öŸ¸¢¼%Ô;ÔÝÜ}Zì4y˯%K¼–´ž[WHÉK™;µéWëå”åD$FÜx~£QÒ8ÀhÀâa‹¾óóõÜë„ § -c·¨žêÖK[÷ÜÜsjî)ÅM{›=n?ãpêá[/nT°4X}õû;9ÉŽ´ž•¥¥üëý~˜üCDbÄý‚ûR™ÔÉÔi…÷ ìkòŽ;}š»d /++»•>\.—ÇãµÒA JõÕ-¥ tŠ­—¶þ~ÿ÷›Kn¾æ¯°é®ãÂ;«+JLèt¾„§ Þý½»å+ýºå¸Wèt¾øùñïÔq:Κ€Aij¥ ¨”& FPš€Aij¥ ¨”& FPš€Aij¥ ¨‘½7÷Z…[Y…[ ‹éªï~k$f'úíö³‰°éîD:JP#Ÿx~’µ*Ë–gÛ-G5ˆFí5ïØ¼n9ºê^T¼˜l~dRd‰¨¤»sè|(MþK&“IeR©TÚ݉üƒèËÑïõ~ïÄœÚLíîΠóᛇþK[SûÒ‚KÝÅ?Û2v [ƒÝÝYtœ5xà.·ΚÀßÄ?‰_·º¸01âRÄ•œ+ :õ·k˜_˜…ž!dÇõÑ—£ !nfnGg%„\~vyîos !z½;Kï(ÅIZ˜´õÒÖÄìDM MïþÞ_ù%¬~ÿuòódm–¶¥ÏÚQkµ5•ç&²K³·\Ür'ïN£¤Ñ¹—óòËÝÌÜä–‰Êb®Å\ȺÀòuX:ƒÌ-öZlkl«tèóóÎG_‰¾ñüF…¸‚r{ém}Žþ?üaèC–‹º]!®Øq}GÂӄªB-M-—^.ó=çî3˜z´^R¿óúÎÓOT°4XnfnS]¦Žì?’Ag´ô ÛDØH¤’VÞCmÃäÅÉ­tx»Ñd2YwçÍãóùÕÕÕ­t°²²Ü¾?vlk}ÚgÁñ Oü¬ýB‡ 4x7ÿnȱFâ>Š“÷qŒr´ãÙQ¥ %ð—À¼Ê<ª4QŒ3ÆfÌÂ! - ,Ïež =êÝß›É`.¾´~Ÿé'ÂÎ…Í4gí¨µògüW‘gob¿lø2[žmvIöê3«³K³÷OÛïaîAT ‚Õ5Ö… ÷°ðȯÌ_wn]ZaZìôX×Þ®Š‡ö0÷X:|©“©Ó“’'Áƒ“'·Tš(>K^šW ªm¬ÝüÁfsâšâȤÈóOÎóþ7ÁÎÁ„5gÖœy|æûÀïÝÍÝ«ëª÷ÞÚ»÷æÞC3yZxvÎ;Ѫa1ÃJD%™_d¾†c4ëôiî’%¼¬¬ìVúp¹\§zLLè@‹‚ƒ]{»r˜œa}‡´y¿ð~¹¸¼q‚œ‚L8LN C µ¡uÒ³¤=>¶5¶ÕbjMwnÖÃ,éY’ÒS„uÂPïP737-¦–£©cT@Tƒ¤acÂFêÑȤÈüÊü5¾kFZŽÔbjYZo›°M&“mˆß 'dHˆ§…'‡Éq6uÎü"³õº¤©È¤È¼Ê¼/ý¾ôµò岸ýzö‹þW´‘¶Ñ×ñ_—Ô”B®ç^·6´öêçÅÖ`j®òYÕ¯g¿v¼D ‡ÒZädê$¿mªkJá ùíˆãhê(¿ÍÓáBLä-&:&Mò4XΦÎò»6F6Æ\ã ~† Z@‰O§Ñ}­|匸FÖ†ÖéEéEÂ"Å8ŠAÚáü“ó„Ky‹&Cshß¡µµWr®B¼-½ïæß]{fmjA*5M??þõœ2x[a­ ´H‡¥#¿­ÉÐ$„ÈH{¦€¹š\ùm¡1è “#o¡ÓèR™òõºzl=¦Øb e ¨”Ö”êqô„uBBˆK´KÓcå–åšè˜Èï*¨­ê%õÂ:!Kƒ¥´ÆPÛR\]LYï¿Þµ—k\z܇G>$„¸›¹Ow>zÀèVÂb­ @ëPš@;ÑiôIƒbKUmUg§ŠE¥¢RBˆ¶&CS—­[SWóè‹G Z‹«M;N“¡©ÃÒÖ kêk«j*LjkD¡ÑhÒÆäçÉ{oí]·hͨ5sÍm),–†´:ÐNÆ\cÅÙ“âê₪‚Î .jeð3äw3‹3Õ[ž­1ט2ÆfŒD&IÉKQ|ÊîäÝÃw—ÈZ;!ÑVÔùKÙ¯6;©—Ô_ϽÎÖ`ï7œâíš]šMÑ kxõóÚ5yF»”õlŽ ¶Pš@;yõóT ¦5ˆ^T¼Ø˜°Ñ@Ë ³‚s˜œ ñÒ ÓÄ â…Vœ\Ád0Ãü¨GC½C-ô,Vþµ2éY’°NX!®8rïH̵˜Õ¾«;÷C:1€w .P_ÝrñpjAê”Säw ]´|Är«p+y‹•Ïž){!Â:á–‹[³«j«LÖŽZv.,½(28Ä€¿Rkÿ‰û'Ê[B½CÝÍݧÅN“·,ñZ¢ÅÔ ¿Náqy?Lþ!"1â~Á}©Lêdê´Â{…â¾&âŠ×wÆ?/¬*ÔeëÚñìæyÎÖwXÓ!B²VeýãÀ÷5!„L°ŸEþ_“ø'ñEÂ"“ãÒËeþàùòâ#ƒŸq8õð­· ª X¬¾ú}ƒƒƒœ‚”Êt®‹Y盯ԸùƒÍÔõ̯SW\<ŒÒ@}uã¾&ªÀ¾&ð–CijÀ;DqÑŒ’%^K–x-yÉ@³PšÀ;D•õ°Ð½0¡j¥ ¨”& FPš€Aij¥ ¨”& FPš€Aiï.QƒhÔîQóŽÍëîDà”&ðî’ÉdR™T*•*6:F9NÚ])6ª€w—¶¦ö¥—º; øœ55‚³&ð7ñOâÆ-¤nŸŸw>úJôç7*Ä„73·”¼ê!73·£3B®ç^Ÿõ묧üèkåKÙ”°é—;¿P}2Wf2hŒ¦‡°‰°‘H%­ä`¨m˜¼8¹Ù‡_ð4Aõb&Æ|öÇgÍgó›×œYC=ô0ô!Kƒµ÷æÞðKá„”¼ê;ŠtFæ™TŸ2QY̵˜ YøB¾Kgù Å^‹mm[{5 íh2™¬»s€æñùüêêêV:XYYnßÎ;¶µ>íCUæK‡/u2uzRò$ø`pòâäÓO¯;·î»€ïþeÿ/ªçÊ¿Vp|œí¸m¶Q-ñOâÞ=x`ÚNÏŠrèÞ¡¶æÐÒpô9úÔCTiBuvŒr´ãÙQEœ Zt0¨®±.|l¸‡…G~eþºsëÒ Ób§Çºöví¢‘¨¿Ó§¹K–ð²²²[éÃåry<žê11¡- âiáÉarœM3¿ÈÔçè8ŽÉ`þùðOªCmcmÂÓ„>ú}.<½PS_C5þ‘þÇD‡‰]—U»sh:Õ™™_™¿ÆwÍHË‘ZL-kCëm¶Éd² ñ:eP ‡ÒZälê¬Ô¢ÇÑi9òZîµâêbBHÂÓç^Î3ß›YÛX{.ó!¤B\qóÅÍ16cº.«vçÐt8ª‹O§Ñ© #Š×ÈÚÐ:½(½HXÔî°ÐÖš@‹8LNÓÆ‰ãŸÄŸÌ89wÐÜ?Óÿœè0qHŸ!á—Âÿóè?“'Ê8åcå£ÅÔj%lGÖšt$‡f‡£ŠzI½°NHq‰viúhnY®‰ŽIû"@S(M m|,}ô8z<ø#Ð>0µ 5fb [ƒíÕ×ëjîUAµ îAÜ ï­G/,íÆZA#4¥M†¦.[·¦®æÑš]Ø :Ð6Lsœí¸ AFTR”Ÿµ[ƒM t”H%Û®lT †ôòFçÀar$ ÔmÿýMý•2ÆfŒD&‘_ DÙ¼{øÎáYkg€ ­Pš@›ÚBަ•/5õ௭©}4íèû tÚëøÁÒu9Ø›Øç”åVÞË¿÷¢üÅ óA„PïP =‹•­Lz–$¬Vˆ+ŽÜ;s-fµïjœGè\˜Ðxƒ12IgÿÅžZ:åÀê¶}¤=!$kU–R×Þ®}õûÖKê=Ì=¨¶û}›÷?8Þ¥×æ´#‡V†£¸ƒ‹}¤ýû QQ„/G}¹öìÚÑ{Fëqô¾ý•¥%!Ä@Ë î£¸×w®?¿¾°ªP—­kdzÛ5y×°¾Ã^ÏxÔ“DBŒNÞ…ûš¨¯Ü×s€˜‘VIDATÄݽïòåe3fT½¶”:¤ÝóÎÜVú`_€wˆ¹ycN³»³€wWn®fŸ>¥ ÀÌÞ¾.5•ÝÝYÀ»+5•ek[×¹1Qš¼Á†Ý¿Ï.)Á2LèÅÅŒ´4öˆ¢Î ‹Òà æí-âr¥ÇŽévw"ð.:~\WWWŠÒ^a³eÓ¦UýôSÊJü_€×ª²’þÓO=¦N­b³;ùzü8x³-ZT®¡A¾ÿ¾gw'ï–íÛ{ÒhdÁ‚òNŒÒàͦ­-]¶¬ìàA݇YÝ ¼+>dÅÆê††–éèH;=8J€7ÞäÉUƒ׆„˜ØDºœ@ b2xpíäÉ]²©J€7N¾ÿ¾H[[b"ã?5t!±˜b¢­-ûþû"z×ü¼ÁO1€·®®tÏžÂü|3záÜ t@cÆŒ^ùù{öêêvþT¥ À[ÂÂ¢áØ±|‘ˆ>iRo¬;€N÷ð!kÒ¤Þ"ýر| ‹†®;J€·‡…EÃï¿çYY5LšÔ{ãFC\Q ¢²’¾q£á¤I½­¬~ÿ=¯K낯÷Pgÿøõ~Í’JÉñ㺑‘=e22wnåäÉUFFýõÄðn(.f?®ûÓO=h4Z6yrU;Ö—´õëýPš¨¯ö•&¡¾k—þÑ£ºUUt'§ZW×Ú¾}zô2°©=´J"!••ŒÜ\{÷Ø÷ï³uu¥S§V-XPÞîë„Qš¼=:RšPjki—/k]¹¢•žÎzùRC(dHpZE§]]©¹yƒ½}݈"oo‹Õ¡R¥ Àۣ㥠@·kki‚Ur FPš€Aij¥ ¨”& FPš€Aij¥ ¨”& F4º;h‹Åêî:ª­?ʰQ=¨Lè€Aij¥ ¨”& FPš€Aij¥ ¨”& FPš€Aij¥ ¨”& FPš€Aijäÿ6iÈV\ˆ&IEND®B`‚fio-3.39/examples/sg_verify.fio000066400000000000000000000023541476262051600165540ustar00rootroot00000000000000# # ********************************** # * !!THIS IS A DESTRUCTIVE TEST!! * # * IF NOT CHANGED THIS TEST WILL * # * DESTROY DATA ON /dev/sdb * # ********************************** # # Test SCSI VERIFY commands issued via the sg ioengine # All of the jobs below should complete without error # # job description # precon precondition the device by writing with a known # pattern # verify00 verify written data on medium only # verify01 verify each block one at a time by comparing to known # pattern # verify01-two_ios verify same data but with only two VERIFY operations # verify11 verify each block one at a time # verify11-five_ios verify data with five IOs, four blocks at a time, # sending 512 bytes for each IO # verify11-one_ios verify all 20 blocks by sending only 512 bytes # [global] filename=/dev/sdb buffer_pattern=0x01 ioengine=sg rw=write bs=512 number_ios=20 stonewall [precon] [verify00] sg_write_mode=verify_bytchk_00 [verify01] sg_write_mode=verify_bytchk_01 [verify01-two_ios] sg_write_mode=verify_bytchk_01 bs=5120 number_ios=2 [verify11] sg_write_mode=verify_bytchk_11 [verify11-five_ios] sg_write_mode=verify_bytchk_11 bs=2048 number_ios=5 [verify11-one_ios] sg_write_mode=verify_bytchk_11 bs=10240 number_ios=1 fio-3.39/examples/sg_verify.png000066400000000000000000004742611476262051600165750ustar00rootroot00000000000000‰PNG  IHDRÞ‰Þ'·bKGDÿÿÿ ½§“ IDATxœìÝy\TUÿÀñϰï«lŠ â®¸g¹£æ‚i¦’©•©¹¤‚F¹÷Xús7$Ë21{| õQÓÊ5÷}ÁLÍE%qadçþþ™@Ed¾ï×k^¯™;çžó½wŽø3çž«REA!„BQªtÊ;!„B!ªI¼…B!„(’x !„BQ$ñB!„¢ Hâ-„B!DÄ[!„Bˆ2 ‰·B!„e@o!„B!Ê€$ÞB!„B”I¼…¢’ûÏþCûöí±³³C¥Ri.\x££ñóó£I“&˜™™a``@µjÕhÒ¤ ƒ ",,ìù@!* I¼…â–••Å!C055åµ×^#==]ëýÅ‹óöÛosúôiš5kÆýû÷¹páÆÆÆÏÝvXX,_¾œk×®±téR"""¸zõ*:ubëÖ­DEE=w;BQY¨EQÊ;!„ÅsþüyZµj¥y}ôèQ:vì¨y]¯^=BCC dÔ¨Q%Öö;ï¼Ãúõë9r$ß}÷æ½ììlìììØµk/½ôR‰µ)„/2½ò@!Dñ5mÚ”²{÷n<==iÓ¦ÖûÑÑÑšç–––%Úö¡C‡4Ïó'׺ººÄÇÇ—h{Bñ¢“Ä[!^`úúúlݺõ±ï—æš÷ïß×<·±±)µv„¢²9ÞBˆRTT“&MÂÍÍ ŒqssÃÛÛ›7’––¦UþìÙ³ôë× ¨W¯K—.ÅÍÍMë‚C77·§¶½qãF­}rÛ·oàÂ… ZÛgÏž @DDS§NÅÝÝŒŒŒhذ!~~~ÄÆÆjê_¶lYº7nÜȼyó¨[·.zzz¨T*üüü ”Û²e _~ù%*•Š””M½ƒ.4îÜÇŠ+8wîœÖö¹sçjnÝÉÉÉO­ÛÈȨÀùKLLä³Ï>£uëÖXZZ¢¯¯ƒƒ½zõbãÆO=ÿBñÂR„â“­¸¹¹)€bjjªìß¿_IMMUbbb”ùóç+€òõ×_kÊïÛ·OÑ××WÅÒÒR9zô¨rÿþ}ÅÇÇG4ÿ"ǧ˜˜˜höݸq£Öû¡¡¡Š®®®råÊEQåÒ¥KŠ­­­(5jÔPBBB”¿ÿþ[qqqQ¥V­ZÊÝ»wµê055ÕÔß°aCeÁ‚J||¼¨Jpppr›7o~lyßKIIÑÄ(sçÎ-¿¡¡¡þØs𸺷mÛ¦Ùnhh¨µÏõëוš5k*€bnn®üðÃǶW½zuf̘µµ5£FÂÖÖ¶Xqç211aüøñš×+W®äáÇZñ÷ïߟêÕ«?W;ù½÷Þ{ܹsPŸ‡®]»biiÉÌ™3±²²`Û¶m|ùå—%Ú®BT’x !^8Õ«W×,‡F£F˜2e ÿùϸ}û6'Nœ`ܸqܺuK“¤¸ººjž›››ãààPì8|||4ÏOŸ>ÍÙ³gHJJbݺuøúúNpp°Vü¹jÔ¨¡y¾}ûvRSS m«oß¾Z¯ccciݺu±c˜8q"†††ÄÅűfÍ­ø'Mšô\õçÁ±cÇ4¯ëÕ«§y®££ƒ‹‹‹æµL9BTF’x !^8æææáèèÀµk×X±bo¿ý6µkצ[·nܺu @kî4P`α©©i±ãhÔ¨=zôмÎõþî»ï¨Q£={ö(°–õ´iÓ4s ó&·éééܼy³Ð¶œœœŠçã888hÚþùçdffòÝwßáââB‡J´½üç!ÿZây?›ÈÈÈm[!*I¼…/¤pçÎŽ9ÂÂ… éׯzzê…š:Äûï¿@µjÕ´öË?¢œ÷âÃâÈ;ê½eËîÞ½ËÊ•+ñññA¥R`oo¯µÏ¼yóP¥ÐG£F mÇÀÀà¹â|œ?üPçíÛ·ùñÇY¹r¥æ Azz:}ûöÅÚÚšo¿ýö¹ÚÊÿå!ÿg‘÷‚ØÒø¢!„åMo!Ä çîÝ»èèèC§N˜>}:¿üò _}õ•¦Lîô’Úµkãîî®Ùž{3PO©È»ÎuqôéÓ‡ ™™É Aƒ¸ÿ>#FŒÐ”©Y³&š×—/_.PO×®]éÔ©ÓsÅRîîîôîÝ[ózòäÉÜ¿Ÿ·Þz P™Øµk øúú’••Uì¶œœœ´Ž1ïg‘““£5Ú?tèÐb·#„•$ÞBˆ’¢(x{{sþüyÒÓÓ‰ŠŠÒš?Ü¿Íó•+Wj.¢Ü²e ÇŽ#!!O>ùDsÑeqåŸ.ræÌÞÿ}LLL´Ê­Y³ ¶nÝÊúõëILL$&&†Y³fÌ¢E‹ž+–âòóóÓøàƒçnK!*œr[OE!žÃ™3g”)S¦(-Z´P¬¬¬]]]ÅÖÖVéСƒ²råJ%++«@ù¾}û*VVVо¾¾âêêª,Y²DiРf»+V+–¤¤$ÅÊÊJ===åÎ;…– S>øà¥~ýúŠ‘‘‘bbb¢Ô­[Wy÷Ýw•‹/jÊmذAk™Ã¼›7o>µ\çΟXDZcÇ ÄÖ²eKPttt´ÚHKKSzõê¥XZZ*«V­zb»~ø¡2kÖ¬Bß[·n¦Î„„eîܹJË–-sssEOOO±³³Szöì©)999Åú„¢¢S)J)ÞÖL!*8gggÂÃà ª²S‚‚‚6lýúõã—_~)ïp„¢R’©&BˆJoÇŽ8;;˜*MDD ^׺{÷îå^…0pà@ J| A!„ÿÄ[Q%„‡‡3~üxnß¾MZZ—.]bذa(Š‚žž«W¯ÆÎÎà‰·UÜmÔ_4±±±¨T*Ξ=K||<³fÍ¢iÓ¦UúˇB”6I¼…•^¯^½Ø¹s'ÉÉÉôìÙÚµkÇ;w3f çÏŸ×ZϺ*022¢C‡ôìÙgggΟ?ÏæÍ›5K !„(y2Ç[!„Bˆ2 #ÞB!„B”I¼…B!„(’x !„BQ$ñB!„¢ Hâ-„B!DÄ[!„Bˆ2 ‰·B!„e@o!„B!Ê€$ÞB!„B”I¼…B!„(’x !„BQ$ñB!„¢ Hâ-„B!DÄ[!„Bˆ2 ‰·B!„e@o!„B!Ê€$ÞB!„B”½ò@!Dñ„††–wB€««ky‡ðBo!„B!Ê€$ÞB!„B”I¼…B!„(’x !„BQ$ñB!„¢ Hâ-„B!DÄ[!„Bˆ2 ‰·B!„e@o!„B!ÊÀsß¹R¥R•DBQi 4ˆÍ›7—wÅ’ ÃõëŠãèQ/¶¥wïš¼÷^"“&Åch(_¨Ë’$ÞBQ…ÅÅé2nœ#¡¡̘Ç[o=@WWþ#¢²Q© sç‡tèJPþþ6œ9cÄ7ßDak›]ÞáU²ª‰BTQׯðÆÎÄÇë²yó]FŒH”¤[ˆJNWWaĈD6o¾K|¼.o¼áÌõëåV•!‰·BTA‘‘z¼óNu³Øº5WW™ï)DUâêšÉÖ­á8:fñÎ;Õ‰Œ”IeAoQlwïÞE¥R=ö‘••UÞ!–‹Ã‡8+V¬(ï°„ÐHMUñÁŽ˜›góí·‘XYÉÏÌBTEVVÙ¬]‰µu6ï¿ïÈÇ’–69â؜Q… 6hm?v슢 §W5¿=wéÒEQhذay‡"D¡fδ'<\µk#±°õ}…¨ÊLMsX½:’˜=fͲ+ïp*=I¼…¢ 9sƘ_5cñ✫æ¯RBmÎÎY,^ᅳqæŒqy‡S©Iâ-„UDv6Ì›WnÝRèÒåay‡#„¨@ºtyH·n™;·ÙÙ²–hi‘Ä[!ªˆ;̹qCŸ™3ãÊ;!D4sf,7oê³c‡Yy‡RiIâ-ÊEDDS§NÅÝÝŒŒŒhذ!~~~ÄÆÆ(öìYúõë‡ Ô«W¥K—âææ¦u£››Û3·±qãÆCúûûóöÛoãää„uêÔáã?&55µÈ± QÑYУG uêÈ &Bˆ‚êÔɤG6l°(ïP*-I¼E™ûóÏ?iÖ¬þþþ$%%qá®\¹Bff&Ë—/§U«V„‡‡kÊïß¿Ÿ:°cÇrrr8pàçÎ#<<œM9®^½úÌm¼ùæ›(Š‚©©©¦®åË—ãããCHH={öäÖ­[,]º”9sæhKQc¢¼Ý»§ËñúëÉ劢0 ™óçˆÕ-ïP*%I¼E™5jqqꟺ Dƒ pqqÁÛÛ€Û·oóá‡jÊOš4‰ÌÌLMùŽ;beeżyóÐ××/‘6ò=z4­ZµÂÂÂB³ÀöíÛµÊ'6!ÊÙ3Æèè(´o/s»…÷òËÑÑQä"ËR"‰·(Sááák^W¯^]ó¼FšçÛ·o'55•[·niF±\]]5ÏÍÍÍqppxî6 S¯^=­vòÖ«8± Q^®^5 nÝLŒåΔBˆÇ36V¨[7“¹›ei¨š -‹r¥õzÚ´iL›6­@¹ôôtnÞ¼Y 1622ÒzwzHqÛhÔ¨Q÷ò·“KQþIZòÏE/JlB”—{÷ôpr’å+‚ùóçóý÷ßkm›7o[¶l!$$•JEýúõ6lo¼ñ,Z´HkŸ+VÆ–-[ˆŒŒ$;;›mÛ¶Ñ´iSbbbX³f G%<<œœœjÔ¨A·nÝ7nÖÖÖZuÅÅűvíZ>Ì;wõ …»»;^^^tîÜYó+^RRßÿ= ,,ŒÔÔT¬¬¬hÔ¨o¼ñ^^^ìØ±___­vfÍšÅ_ýʼn'¸ÿ>ôéÓŸÇþÝeÏÑ1‹{÷$E, 2â-Ê”½½½Öëyóæ¡(J¡FQ­Z5­òùñ”””çn£¸Š›å%5U…±±Ü,§"˜={6{÷îÕÚ¶mÛ6V­ZÅÞ½{©S§—.]bÚ´i,Y²PO»qãÆÆÿüüÿÅ_ §§ÇÏ?ÿÌüùó5ÛCBBèÓ§ëÖ­#99™_ý•ß~ûÌÌLÖ®]Kÿþý‰ŽŽÖ”¿qã}úôáÛo¿åÆøùùqôèQ6mÚDݺu7nÛ¶mÔ¿ôõéÓ‡€€nÞ¼É7ß|ùsçxûí·9vì¾¾¾L˜0ììl¼¼¼ ÄÈ»ï¾Ë¾}ûèØ±#ááá¬Y³ÿR9×¢xLLrHI‘%Kƒ$Þ¢Llß¾+++jÖ¬‰‡‡‡fûåË— ”íÚµ+:u víÚ¸»»kÞ ÕùäÍ…ÏÛFq'6!„ȯV­Zšçµk×Ö<ÏÉÉáøñã…îÓµkW­×çÎÃÞÞžK—.i¶åý0ïu'ûöí#--èèh.\¸ ÙÞ¤I“ílÛ¶!C†£uýLÞ8uttpvvÖ¼Þ±cG¡1çÝ'ït<¨U…$Þ¢ØîÞ½‹J¥bèСZÛ;vìX`]ì×_]ó~ëÖ­¹té|ð...Œ;–êÕ«Ó¾}{"""8yò$/¿ü²¦¼§§'ǧoß¾èèèàééIëÖ­©^½: 4ДSåÎ{–6r×ñÎ;5dðàÁøùù1{öl­ØÓÓÓQ©Tšù™OŠ­aÆšý¦L™¢µÆ¸Bä•w~³¡¡¡Ö{ñññ…îcggW`Û½{÷´^/Y²„zõêQ¯^=>ýôSÍöŒŒ îÞ½[àZ•']›’¿îüs²óÆ¿laeòRdxUT2s^›³³s±ÿXÖ®]›/¿ü²ÈåÛ¶m[èJ@@€æyþ¹ÝEmãÍ7ßäÍ7ß|ìûyçN>Kl}ôÑSÛB€´´4Íóôôt­÷lll ÝÇÀ àª¶¶¶Z¯§L™Â|ðØvó4''?~÷ü‰~Þ˜A;î¾!dÄ[¼vìØQh’MDD&&&tïÞ½<ÂBˆçvûömÍó[·niž«T*:tèPäzœœœ´®=¹víZ2Æ ÓüRéàà@óæÍ5ïå¿&&##Cs32{{{Ú´iShÌ999ܽ{Wóº_¿~EŽYˆªDoñBgüøñܾ}›´´4.]ºÄ°aÃP===V¯^-#,BˆÖ7ß|£LX»v­fûèÑ£©[·î3Õµ`ÁÌÌÌØ³gÛ¶m#))‰¸¸8–/_Î¥K—´~‘[´h‘fTýðáÃüç?ÿáÁƒDGG3cÆ ¬¬¬>|¸¦¬““»wïæÌ™3$''óÍ7ßðàÁzöìɈ#Š2„¨ÄTÊsN¬R©TlÚ´‰!C†”TLBhÉÊÊâ·ß~#((ˆsçÎqûömE¡V­ZtîÜ™I“&i]u/DE2xð`6oÞ\âuç]Içi&MR_X·r¥\ÄV„††òꫯj^Ï›7Í›7XÇ{РA@ákbç:|ø°Ö…€f™¾ãÇ‰ŽŽÕªU£mÛ¶Œ9²À5'ñññ|÷Ýw>|˜[·n‘½½=:t`„ Z7"KJJbݺušu¼ÓÒÒ°´´ÔZÇ[¥R=6æQ£FahhȪU« ¼·xñbÍÚå¢üçïEޛȉǓÄ[!J‘$Þ¢0ùïÂ’g!Ê‹$Þ¥G¦š!„BQ$ñB!„¢ Hâ-„B”¡ùóçkM3èÒ¥ >>>å‘¢¬È:ÞB!Dš={6³gÏ.ï0„å@F¼…B!„(’x !„BQ$ñB!„¢ ”ÈïñãÇóᇖDUB”¨¸¸8ÌÌÌ044,ïPDGýúõË; !„€Œx‹J-55•ÔÔÔòC!„¢dF¼¿þúk¹s¥¨T*£GÆßß¿¼CUTî+…BñB!„¢ Hâ-„B!DÄ[!„Bˆ2 ‰·BˆRóða6žž¿1fÌ©ò¥DT¶ãB”-I¼…B”EQÈÉQ?*ƒÊv™™ÐªXX@1ú,~~ꇇHŸ}áíÛÉøñ§5¯ÿúë5 u5¯2øê««ìßIdd*&&zxxØðþûõyé%;­ºâãÓùòˈ$::ss}Ú´©Æ¤In¸»[ÚÞáÃ=Y²ä/Ž‹AWWE‹6̙ӌZµLµê MbéÒ¿8}úYY X0qbC¾ÿ>”“'ï0xpmºus*ôxŠÛnQŽéi6ÜNvvѦ½T«fÈéÓ}žZ.##‡U«Bص+œˆˆ‡êÒª•-ÞÞuèÒÅ]]•¦lQÏÝÂ…-‹£•$Þ\NN999å†E—“£~ˆ*¯G'nÜxqãN³¤Ö{÷î¥1xðÒÒ²Y° mÛÚqï^Ë–ýňÇù¿ÿkÉ!µˆ‰Q—MOÏfÑ¢–´mkGxx ÿú×E :Â?t E ›íÍŸÿ'cÇ6`ñâVœ?ÇØ±§ñõ æ§Ÿºhâ¸u+…Áƒ`l¬Ë—_¶£eK[ÂÃS˜?ÿO®^}€ÿû_MùÂŽ§8íõ˜ž&$d@1?Ç›;÷»wG°re[Z·¶%99‹ÀÀëŒ{ŠìH»vÕ€g?wB™jR¡éëësùòeNžËիз/XZ‚‰ tí ùú,ééðÉ'àæ¦.cc£Žó—_@úl…”‘‘CRR&††º˜šœñX­š žŽ’[6'GÁÃãWêÕÛ¦õøë/õ¿°°äõ˜›k×m` ž_®(ÿÄ‘’’…¡¡.&&ºùwÇÒR¿XÇW”v‹{Lù5l¸½Àþ{¼ôÒ®"Å?wns–-kÍ;)ŒqŒyBóe)÷JãÜ QÙU¹Ä{À€(ŠBÿþêyg¾¾¾øúúΦM›8xð C‡Õ”Ÿ={6Š¢`jª}QL¯^½P…V­Z=±þ©S§òñÇÅŠ+øá‡6l¾¾¾Ì›7ÈÈHæÎK`` ÿú׿4õxyyiÕ“WTTmÚ´!((ˆ€€bcc9sæ &&&xzzX`Ÿääd&L˜ÀÌ™3 çèÑ£ÄÇÇÓ­[7Ž9¢)7qâD¾øâ V®\I\\W®\ÁÍÍþýûsìØ±bœñ*îøq¸pLM¡ysX½Z½}çNh×6lPÿoleõø: P—Éí ¾¾êGx8lÚBž>ËìÙêòùú,½z©·çë³êŸ:>þ¢¢`Å øá6LÝæ¼y sçB` äé³xyiדWT´iAA ¾pòÌu¢ìé©®+¿äd˜0fÎTëÑ£ݺAž>ËĉðŰr¥:¹¿rE„÷ïÒg+$ÌÍõIOÏ&%%«Àû±±ê/mvvFè`a¡®®Šܸñz¡üc5SS=ÒÓ³yø°à—´¸¸ôg?¸"¶[RÇô¤ýó?Šra%¨¿7P“õë;ðÇ^|ýu;&L8ÃwßÝÐCyœ;!^tU.ñÎoôèÑ´oßSSSºwïNß¾} .±U@FE«V­055eĈ4nܘݻw3uêT<<<033cìØ±¸¸¸°kWÑF#f̘ÁÍ›7Y±b^^^XXXРA‚‚‚prrbòäÉDGGk퓘˜È‚ xå•W0ªÝ7Ç IDAT33£uëÖüðÃdddàãã£)wàÀ7nL=066ÆÁÁ¥K—Ò Aƒ9URóæ°n\¼o¿­NNÇŽU'œo¾ùìõ íÛ«ëîÝÕ#ÂÁÁ%· ȨQêäÜÔT=Úݸ1ìÞ­NÈ=<ÀÌL¿‹ ±Ï2cܼ©Nä½¼Ô«ž4h NÄœ`òdÈ×gIL„ à•WÔm¶n­þ‘yú,¨cìÑŒÁÁ–.U×/*¬ž=«pèP”ÖöŒŒNž¼‡‘‘.;:ðê«5ÈÎVøý÷¸õ¬^}Ž÷yeü:wV·‘;m"×½{iܼùôçâ*Ícz^-Zì 4Týk–žžŠìùæ›—P©´?¯ò:wB¼Èª|âݦM­×5kÖ ""¢°âϬuëÖZ¯«W¯^èö5j¹ÍmÛ¶зo_­í†††xzz’ššÊÞ½{µÞ322¢]»vZÛš6mJõêÕ¹xñ"‘‘ê+ô{õêÅÉ“'yÿý÷9}ú´fzIHH]ºt)R|¢ƒìYðÓOêéqqêÑãâÈ×gyÔg)¡>K¾¾É£>[`{EoóQŸ%_ŸÅÐPý$5òõYŒŒÔ¿ äÕ´©:ž‹Õ#ï É?yÞNŸþgzIHHŸ­°üüáìlÂüù—8x0’””,nÞLfÊ”`îÝKcΜfT«f¨)[«–)Ó¦ýΑ#Ñ$%e’Á† 7ùòËfÌhªµÄݳÅÑ++æÍ»Èñã1<|˜Íµk˜6íË£>ËW_Áúõð÷ßê$ÞÂBŒKŸ-wûöER¯Þ6ÍÒ{ÿ‡žÔÓH¶oïJ¿~5ùì³K´jµƒóðaë×wÀÛ»Ž¦[[C~ú© =zTgîÜ ´i³“ž=÷³woß|ÓŽ>}jpáÂýí}þùÿ¨Wo«W_ _¿ƒŒs €ZµLÙ¼¹3ÍšY3qâÚµÛÅìÙ0~|CœMÐÕýçßé㎧8íõ˜ÊCPPG\]Íññ ¦U«¼úê~ŽfÁ‚–ŒßPSîYÎBMÖñ."222 lOxÒEq¥ÀÐÐKKKIJJ*|çN1qtÔ¾Ê<11±ÐúrîÜ\¥R1bÄFŒAff&‡fÙ²e 8åË—3uêÔ’>¤ªãðauÚ´©zîróæêGiÑÑQOËȯŒû,††ê/ ‰‰ê‹1ó'ß¹SLòõYÓg5 wn®R©§ÄŒ¡¾ÏáÃê;`Ë—«§Èˆr‘»¾õãXY0kVSfÍjúÔº¬¬ ˜9³)3g>¾¬‡‡õcÛ{R..f|ýõK¶ß»—޵µæõ“ާ8íå˜Êƒ»»%óæy©lQÏBM¾Ž‘““áááZÛ¢¢¢¸}ûv™Çòúëê?ä;wîÔÚžžžÎ066æÕW_Õz/99™‹µ×…ýóÏ?‰ˆˆ yóæ89©—´²²²âêÕ«€zñ=zhVjÉßžx7oªçNoݪ^mÃØX}ñß½{¥×¦““ú¢Ä¼¢¢ ú,ú,ùûPzºz޶±1äë³$'«§”äõçŸêé-Í›«Ô¦>ê³èë«çzç®Ô"}V<Ž{i´jµ“¬,íùÔwï¦pëV²ÖÔ ¡MÎÏNï"êÙ³'|ùå—$''Šf¤¸,-\¸|}}Ù±cIII\»v·Þz‹ÈÈH4SNr™šš2qâDΜ9CJJ çÎcøðá Uvܸq\ºt‰ôôtbbbX²d Š¢Ð­[·²<ÌÊ#9Y½rÈŠШÔ©[¶¨ÈAƒÔ£´¥¡gOu_~©Ž!4T}Qb9ôY.T_Œéë«^v0) ®]ƒ·ÞRÏÕøgÊI.SSõŠ%gÎ@J œ;§^ŽÑÀ@]>¯qãàÒ%u"K–¨/b•>+Š 11ƒÙ³ÿ 22•ÔÔ,.^ŒÇÇçææúLœèVÞáUhrî„x6U.ñ>}ú4*•ŠŸþcccfÏž ¨§Y,^¼€-Zàåå¥ÙoþüùŒ=š `ooÏ»ï¾ËG}„££#qqq¨T*¦OŸþØúÏ;‡J¥bïÞ½dgg£R©X´hÇG¥RqäÈRRRP©TÌ;÷‰ÇàèèHpp0C‡eòäÉØÚÚÒ¶m[RRRØ¿?cÆŒ`Ù²e¨T*.^¼ˆ••Ÿþ93fÌÀÑÑ‘N:ammÍÁƒéܹ³¦î#GŽàææÆ›o¾‰ îîîìÙ³‡5kÖ0sæÌûªŒ‰ÕS+.]Rp_¾¬^}¤KuÂ}ô¨:‘œ?ÿñuœ>­½}Ô§06V/êíú,-Z¨W É5¾z” ÔÉö»ïÂG©§tÄÅ©÷>ýñõŸ;§Þ¾w¯ú‚E• -R/‘¨R©—ôKIQ?JŸÅÑQ½òÊСêLlm¡m[õþû÷«×õ•J=ÒmeŸ®^ÅÑ:uR¯ý}ð äé³9¢^>ðÍ7Õkx»»«×,_³F½¡O`ggÄúõxð “¡CѲåNÆŽ=M:¦üôSjÖ4yz%U”œ;!žJQ”çZ¯H¥R±iÓ&† RR1‰<úõëÇ®]»HOOGOO¦ä?+•J…¯¯/þþþåJÕѯŸz™Áôt>ËàÁƒؼys‰×÷f_O3i’ú…•+£ŸRRQÕçï…««ki…S©T¹I“&„……i^‡‡‡S«V-IºEÅÕ¤‰ú®–¹ÂáV-Iº…Bˆ|$ñ®€–.]Jrr2¿üò .\`ܸqå’O¶t©zù/¿¨ïÔ)}V!„(@†¤*˜µk×2mÚ4œœœpttdÁ‚øùù•wXB<ÞÚµ0mšz•GGõœré³B!D’xW0íÚµãðáÃå†E×®zíl!„B<‘L5B!„¢ Hâ-„B!DÄ[!„Bˆ2 s¼…B”ŠÀ3,:´3NL¥{ýî콇s>çXÔgÿ‹þþ=€}×ö•QÔBˆÒT"#Þÿþ÷¿9uêTIT%D‰Û¿?S¦L)ï0DuñâEœË; QB¶½³¦NM‹TÖÿ¨?-k´äë7¾¦ÓWHÍL}bùÁÍónëw5¯ÛÔlƒ?ú­ëÇâC‹éÑ Çó„.„¨J$ñÞµk»ví*‰ª„(q—/_æòåË冨ÂRSŸœp‰ÊiaŸ…é¹laÜÜ1Ò3âvÂmEA¥R•dˆBˆ2V"‰÷¦M›2dHIT%D‰R©Tøúúâïï_Þ¡ˆ*jðàÁå‚('EMºŸ$53•´¬4ÜìÝ$颋+…B”‰Ð¸P\ȹ»çÈÊ΢yõæLí4•Vέ4e2²3Xur»®î""1C=CZ9·ÂÛÛ.u» «£ûÔv.iHvNv‘bªfZÓ“Nù¶ÿµ™{f†®Ž.nvn¼Õâ-^küZ‘ëx»®ªMžðò„R©_Q¶$ñBQêf>ä_¿ý‹)§àîàNhl(3vÏ`ø†áüûÍÓ¶f[æþ6—ÝWw³rÀJZ×lMrz2g»e,?¾õ#íjµ{j[[9¤$$¦%²¨Ï"êÚÔ%òA$«N­bê¯S¹qOz|R¢mŦIJôðR†4B·>%Z·¢|Ȫ&B!J]Rz~ýhåÜ }š:5ey¿ådfg2oÿ\:`¤gD5ÓjLï:—rŒ^mÓðM,óZFc‡ÆëS×¶.˼–ѼzsÖÿ¾ž‹‘K¬­„ÔFnI»Zí˜÷ê¼§ï „x!Hâ-„¢ÔêÒÜ©¹Ö¶†v ±7³çJôb’cèìÚ™óá癵{".h¦Œì{_‘F»ËC¯†½8pý@‰Ô—š™Ê»›Þ¥¾]}>ï÷y‘¦×!^ 2ÕD!D©³2²*ôâ@[[b’cˆK‰ÃÞÌž¹=æÒ¢z ~ºü#6Œ µsk†¶JÏ=‹ÔViÎñ.Œ½™=q)qÏU@¶’ÍÄmq0s`©×RtU’t Q™Hâ-„¢Ô%¥'º=î¡:Yµ5µÔ+ h2€M•“Åé[§ <È„Ÿ&0Ós&ïµyï©m•æïÂD'EÿÃó˜½g6Ù|ýÆ×ZIw·oºñùkŸãQÝã¹ÛB”™j"„¢Ô=Ì|È•è+ZÛBî…“ƒ»ƒ»fÔ¸… BãBÐÓÑ£ƒK¾yãT*‡n*ó¸sý÷âé¿®튢hVñ¬ïù\m|qü ®Å\cõ ÕèÝ÷)#/’š™ÊŸ‘òᯢ¯«Ïœîs´ÊÎÙ3‡«1WÉÈÎ îaßžþEQh_»}9E¯öWô_ük￸uÿéYéü÷7~;ü¸u™·[½]`û³ØúçV¾8þ#/Òly3ê-ª§õ¸p»DQ^dªI)S…œœrrrÊ;”gbff†‡‡Ç/ðÞ‹zLBMQr”ïó3›h†GMŽO{LŸ|©² <È¢C‹p0s`¦çL–^Â¥ˆKä(94sjÆCÐZÇ;è­ ‚.áó³Ôëx×±®Ã‚Þ ܬünF4 É,Œ,øå¯_¹i$QIQêÒÈ¡þ¯ùÓ¯Q¿û¼q÷·¼¯µ­Þ¢z,è½€!Íÿ¹ñÜž=¥{Bˆ AïRfnnNhhhy‡Q¢*ã1U%æFæ„.¨\Ÿ_e<¦Ê`t»ÑŒn7ZkÛCxâ>îîrù<]z5ì¥YÁ¤(ºÕëÆé7ŠTvÍ 5Å Mñ‘©&B!„B” “x_½z•`ii‰‰‰ mÛ¶eÇŽtïÞ•J…J¥bôèFNîÝ»ÇäÉ“©S§ØÙÙ1pà@.\¸ )³}ûv;*•а°0¼½½±²²ÂÖÖ//¯BGn‹SwHHC† ÁÖÖV³-00P«LZZšV;qqqL:WWW qvv¦{÷î|ÿý÷¤¦¦>õœåÝßÀÀkkkz÷îÍ¡Cÿ\€´lÙ2MûÎÎÎãé鉹¹9&&&tíÚ•'N(Ÿ’’‰'4ûêéézÜO:¦ÇÅTÜÏ¥¬]ºÊ€¯`9Ù“ &´ý¿¶ì¸´ƒîŸwG5F…jŒŠÑÿÎÓ'“î1yÃdêL¯ƒÁ8ì¦Ø1pÕ@.ÜÉÓoþØ®ÙW5FEX\Þ«½±šl…­¯-^+½½WHŸ,FÝ!Q! Y=[_[ͶÀcZeÒ2ó}~ÉqLýïT\gºb8Þçœéþyw¾?ù=©™Eè“yö7g€µ5½zsèjž>¹w™¦}çœ  Æs¹'æÍ1™`B×e]9qãDò)é)œ¸qB³¯ÞX½BûIÇô¸˜Šû¹!„Ï¢B$Þ7nÜ }ûöœ;wŽ-[¶úuëàÒ¥K¢( DFFÒ¦Mþûßÿ²jÕ*âãã9|ø0ñññ´oßžS§N0`ÀE¡õ•è¾¾¾øúúΦM›8xð C‡ÕŠ¥¸u;– &pçÎNŸ>®®n2yEEEѦM6lØ@@@±±±üþûïtéÒ…‘#G²zõê'ž³Üýƒ‚‚4ûŸ9s<==5çÊÏÏEQhÞ¼9 øøø0þ|¢¢¢8zô(ñññtëÖ#GŽh•755å•W^AQE!++«Ðã.NLÅù\ÊÚ˜´_ØžsaçØ2n 1þ1¬¹Ž€ý\º{ C=C”5 ï<꓉‘´ù¿6ü÷ÜY5lññþè0ñ)ñ´_ØžS¡úM‹(kú{<:ö¾øv÷%|i8›Ænâà•ƒ ý6_Ÿ,fÝcÿ3– ]&pgÉNÏ<®Žn2yE%FÑæÿÚ°áìÞ Ö?–ßçüN—†]¹n$«<¥O>Ú?èLfÿ33Ï`b`‚ççž{Ô'_õCY£Ð¼fsRðÙèÃüó‰ZÅÑŸO·åÝ8ríˆVySCS^©÷ ÊeBÖê¬B»81çsB!žU…H¼gΜIBBôèÑ3337nLPP)))ÊϘ1ƒ[·nñùçŸÓ§OMù7¢( “&M*´Ñ£GÓ¾}{LMMéÞ½;}ûö%88˜ØØØç®{Ú´itéÒÚµkGVVÕªU{ì1Ϙ1ƒ›7o€——æææ8880{ölzõzúÂÜýW¬X——4hЀ   œœœ˜ò9}šöÑ”ßøþ£~³á1}²ãhÚ»¶ÇÔДîîÝéÛ¬/ÁaÁÄ&Ç>wÝÓzO£KÃ.˜˜ÐÎ¥Y«³¨fö„>ùÓ nÆÞ$àͼšyandŽƒ…³ûΦW“"ôÉGû¯xs^ͼ°0¶ C‚ÆádéÄä “‰~¯O¦§°jØ*Í9h]§5?ŒþŒ¬ |6–@Ÿ,FLP´ÏE!„xV"ñÞ³G}5÷«¯¾ªµÝÎÎ77·å·oßŽŽŽNåìiܸ1¿ÿþ;wïÞ-°_›6m´^׬Y€ˆˆˆç®»mÛ¶O:ĶmÛ@ïÞ½ ¼·{÷n|}}‹´ß¾}µ¶âééIjj*{÷îÕzÏÔÔí›/4mÚ”êÕ«sñâE"##ŸéJ"&(ÚçRÖö\~Ô'çë“æv¸9Ò'ÿØŽŽJ¯fùú¥#«7æ÷[¿s÷~!}²N¾c·ytì yúd1ën[çûäúd“Bú¤Ïn|»?¥O>Ú¿oÓ|Ÿ¿ž!žîž¤f¦²÷¯|}ÒКùúd¦T·ªÎÅ;‰L|Î>YŒ˜ hŸ‹Bñ¬Ê}U“ôôt’’’022ÂÌ̬ÀûÖÖÖÊ'&&`iiùØz¯_¿Ž³³³Ö¶üå Ô7(È]‚ìyê655}lùürÛ122ÂÜܼÈûu@=õ#/++«Bë³··'""‚˜˜œœœž9žç‰ žþ¹”µô¬t’Ò’0Ò7Â̰>ij] |bê£~3ù ý&ú:ÎÖùú¤q¾ctÓŒ%ç¹ë65|†>ù¨#}#ÌŠÑ'Ÿ²¿ƒÅ£Ï?1_Ÿ4~LŸ4·'"!‚˜18Y³O3&xúç"„BG¹'Þ†††˜››“””Drrrä;&&¦@y+++’““IMMÕ\ôWR±”VÝùÛ±´´$11‘¤¤¤gN¾Ÿ¶îtGGG­íqqq(Š‚J¥ÒÚž{Žííí5Ûò—)­˜*"C=CÌÌIJK"9=¹@òó ¦@y++’Ó’Iý:=ì“¥Xwþv,-ILM$)-陓ï§íŸ;ÃÑ2_ŸLyLŸLzÔ'-òôIž±O3&!„¢´Tˆ©&¹Ó-r§œäŠŠŠâÚµkÊ8¬¬,­Õ8r-^¼˜Zµji.|V¥Yw^¯¿þ:»ví*ð^‹-˜2eJ‘öß¹s§Ööôôt8€±±q©;iiikmûóÏ?‰ˆˆ yóæZ£Ý&&&dddh^7lØo¿ý¶Äcª¨r§[äN9É•ŵèBúdËdådi­Æ‘kñžÅÔšV‹¬œböÉR¬;¯×[<ê“Ò'?kÁ”MOé“ößùg¾Ï?+W`¬o\`êNZfÁaùúdøŸD$Dмfs­Ñn2²òôÉÙ ùöèSúd1bB!JK…H¼,X€ ¾¾¾ìÛ·ääd._¾ÌÈ‘# !]¸p!®®®¼÷Þ{ìÞ½›ÄÄDâããY½z5Ÿ}öË–-+öhuiÖ¿¦L™ÂÎ;IJJâîÝ»L˜0ÈÈȧ&Þ¹ûûúú²cÇ’’’¸vío½õ‘‘‘h¦wä²´´dæÌ™œ:uŠ””Î;ÇðáÃ100 @«lË–-¹víwîÜáÔ©Süý÷ßtìØ±Äcª¨ \€© ¾}Ù÷¿}$§'s9ü2#¿Yèé qµså½ïßc÷åÝ$¦&ŸÏê#«ùì×ÏX6xY±G«K³îüí¸Tsaʦ)ì¼´“¤´$îÞ¿Ë„'™É”Oé“ö÷ÝèËŽK;HJKâZô5ÞZ󑉑 ÐLïÈeilÉÌm39zŠ”ôÎ…cxàp ô x3_Ÿ¬Ý’kÑ׸‡S¡§øûÞßt¬ÿ”>YŒ˜„BˆÒR!oWWWN:E›6m4hŒ;–3fàââ‚®®®Vy{{{Ξ=Ë€˜8q¢æ"ÌŸ~ú‰Ÿþ™!CÔ·á=}ú4*•ŠŸþcccfÏž ¨§R,^¼P0ç^LùZ¯:o™á>?KG‚gãÝÆ›I&aëkKÛÿkËý”û›vŒZ6Oé“öÚv(“7LÖ쟒žÂþ©ûÓ±>ihÆÊ¡+ùô×Oqòs¢Ó’NX›XsðÃtn¯Oz¯ ™s3Ü?qÇû[o†àîä^¤czZLÅù\„Bˆg¥REy® T*6mÚ¤IHKš››©©©Üºu«Tê¯*<<<ˆ-tE–ÊL¥Ráëë‹¿¿‰Õé6ÇÔŒTn-–>ù<<>ó 6)–»K+wŸ6dfçë“qa„Æ„ÒÍMú¤B!žM¹¯j’ëþýûŒ;–O?ý[[[._¾Ì¤I“°°°`Μ9垨‚î?¼ÏØÿŒåÓ×>ÅÖÌ–Ëá—™´aÆÌñ’>)ÄÓž dÑ¡E8˜9pbbÁ „KÊž=|uâ+nÆß$-+ €]£vamlÍ¢C‹8uë1ÉêÕrú7îÏò~ËK-ñb¸s…åG–óûÝßÉÎÉÆ£†>|håܪ\ê>z˜ùûçs'ñ!‡gg¥®ôÉâZ¶wª1*.Þ¹HxB8ª1*Í|jQ¹Œn7šÓoàîà^ªíüþ“¶O¢ƒKÎúœåฃ8š«/‚žòëNß:Í:ïu\œz‘1í ^k ªž‹‘¼~0¦¦ì³—#ŽPÓ²&oýøÇo/Óºo'Üæý-ï³ìÈ2bÊÝq+» 3âíé鉧§gy‡QéøùùáççWÞa¼<Ý=ñt—>YÒü^õÃïUé“¢äì¼²EQx·Í»˜è›P˪Ç?8ÎýÔûœ¾ušá-‡ÓЮ!wù…纴©Bjº¼)±iø¦b½_•ä(9Lß9 # ÷]Œ‘žŸ½úÁwƒ™±{ÆÐÜ8«´ëö?êOË-ùú¯éôU'R3SKæ@E…T!F¼…BˆâŠLŠÀÊHûN¨‘ÔÛ­Mþ¹Û¬J¥BG%ÿõUeÁw‚¹{^ {ic]]¼Ü½ˆ|ÉÁˬî…}2®ý8tUºù«•üõBñBËÎÉ~âög½ë©¨ÜNÝ:@S§¦ÞkêØT«LYÔ7A•_…™j"„¢r eáÁ…œ»{ެì,šWoÎÔNS5œ}uò+üª—þlåÜJ3-âèßGyï¿ï`elÅ9Ÿsì»¶ñ?×ÔßxYãBÛýâø|qü ~|ëGÚÕN½ÀX IDATjGüÃx¾<ñ%n :)sCsÚÔlä“p·w/´þ߯ü†ÿ1NÝ:EBjÁ>ÁX[l4ü™~ýÆ×,=¼”‹ÉQr œ€l%›=W÷ðß‹ÿ%ä^IéIÔ¶®ÍæCx»ÕÛšQû¼uÿ~÷wê-ª¨GXC>yêû¹Jê|,è½€™»gjʘ%‡–pìæ1tutiQ£sºÏ¡–Õ“ï «á’†ýb•_5Ójœžtú©åBãÔËpæ^—£…zÛÍø›xÿàÍïw×¼Ÿ{aîÛßædØIÍöó¾ç±0²x¦ºEÕ$#ÞB!JÝÃ̇üë·1¾ýxNN<ɆaHLKdø†áœ½s€^þ€Óo`¬o¬µo§º¸1ýM›hmïÑ 7¦ß {ýîüå÷×§]çÚ´k„|ÂÖw¶0ñ•‰„L !dZmk¶%&9†×ÿý:»®îâÓžŸr~Êy‚†‘šÀ õƒø#üB럽g6Ã[çØ„cl}gki=NÞ‹L¤?`ÞþyLí4•3“ÏzŽ„ÁçgÚ×nÏÞ1{9þÁqÞôx“°äð’uëÓʹ7¦ßàÆôš¤úiï%z>ò—™¿>#ÛŒääÄ“ôàTØ)|ö-Òyù8DóÓEIº’Ò“010)𞉾z[bj"›†oâב¿b¬oŒ»ƒ;ó{Í pp Íš³¢ÿ nL¿…‘Å3×-ª&I¼…B”º¤ô$ü:ûÑʹ&ú&4ujÊò~ËÉÌÎdÞþy%ÖNîn]]tý§£ÒAW¥‹®J•JŲ#ËO gf·™tq킉¾ õ«Õ' Š¢ðé¾O ­{lû±´«Õc}cš;5'äã§Žvç—š™Êg¯~F‹-0Ö7~âyhW«ãÚÃÒÈkckÞnõ6ýõãûàïINO.Þ *Diž!͇hŽõ•:¯Ðŵ —"/q?õ~‰Å_’r/¼Í{'jww–ô]•è+øíðCQfï™ÍËu^ÆË½èw²-¬nQõHâ-„¢ÔêÒÜ©¹Ö¶†v ±7³çJôÍÛeaßµ}è¨tèVOûFXvfvÔ¯VŸËQ—‰JŠ*°_þø‹ÃXßX3u#Waç¡[½nüøÖöw·w'+'‹ë±×Ÿ;–\¥y>š95Ózídá@tRùÝAÕÜЀÿgïÎâ¬úÇ¿‡mØ‘ÍÐTDÅ MÑÌÌ=±Ç%Ëê©4ËGoŠKeù¸ôàBš¥Ù¯Í4ÍLË5q-EEKÔrwVYe_ç÷16² 3(Ÿ×uqu͹Ï}îÏ9ƒô™3ç>wv~v™c¥;Š”Î`—Üv0“ŸšÌÞK{»~,i9iLï;]+m‹†E+k¼ÇŽËرcµÑ”Z·bÅ V¬X¡ï0DæêêªïôÎÖÔ¶Ü™>{s{3IÎJÆÑÒ±ÎãÈ/ÊW/è¼¼s…õ®§\/³N÷þ%05a­,?éº2ò2øüäçürùâ3â¹›{W£¾¶¶œ«ëñ(MDK•n£WÕ-ëb·›}É£ÍËû0·¤¬E£eŽMï3£×Žò{ÌïüoØÿÊݧ¦m‹†C+‰÷!Chݺµ6šB«V¬XAûöí0`€¾C ÔÎ;%ñæÞÚ×û%g'`oa¯.3PPPTP¦îýÉgM˜š`mjMV^½ý—ηpKËMC¥R•ùrÿ8¼¾åu"nE0ÏoÃÛ ÇÎÌ…BÁ_ðßýÿ-“¸V¶sKEÇõ=•©‹'8>ÙìIV]ÅùøóŒì0RãØùøóô|¼g™óNÜ‘q‘ääp.îoýüƆÆÌó›§Q·w‹Þ$f&òÍéoÈ.ÈæfÚM>û{sû Z¯ž ï šÙ6cæÎ™¾z˜Œ¼ ÒrÒØøÇFV]E°Op%™VJ+–YÊ1T8††ôhÖƒ;™wøìÄg¤æ¤’[˜ËñÇÙðdžrÛmïÜžk)׈»Ç1p3õ&^M½ªt\Ÿã¡ YLzn:3wÎäNæÒrÒxoß{\O¹ÎÂÁ Õ 3”|h|ã‡7˜7`­·ÂÕÆ•Ÿý˜„Œþóã(,.¬qÛ¢áQ¨TªZ=;W¡P°iÓ&™ñõ’B¡ 00Pf¼…ÞŒ=€ï¿ÿ^ëmGGGW¹îÔ©N¬\©»›ÚÊÛ¿úÃCr6ö,Ūb:¹tâ-ï·4ö¯†’e)‹,âPô!îæÞ¥ƒsæøÎaÞÞyê¯ë'=9‰ÎM:kì+]jËK[ÞÌÕ”«©w:ñs÷ãã‘–“Æêc«Ùweqwã°6µ¦S;&ö˜H¯æ½8{†Q_*Ó~Ô¬¨Çð/†“’•Â×ã¾fAØ~ù¢â¢rÇ!5'•eG–q(úw2ï`kf‹wKo,ø4üS:8w`Û¿·p5ù*söÌá|üylÍly£ç¼Ðåu{•×Öx”WgòS“™Ñw†zñRý[õç³QŸÕh,µá¯„¿Xzx)§cNS\\²Ÿz`Ÿ@÷á½_ÞcýïëÕ¯w½¶ K¼B½4ÚšÞw:ÿyê?Õj»Ô¨¼¾åõrc\8x!c:娾Câ$ñ®;²ÔD!„BÄ[!„BÐÊ®&B!DCtÿºåò˜›iì»Ýjq+õºg!DâóÄ;33“.]ºÐ¦MvìØ¡ëËkÝ£ÖŸšzXÇ!3³€.]¾¢M›FìØñ¬¾Ã©µG­?5%ã t¥¦7Z !&/5Q©TS\\¬ëK׉G­?biiIïÞ½Ë=ö°ŽCIÜ%?‚G­?biJïÞË=ÖÆA!ÄÃCç3ÞVVVÕº¿¾{ÔúSSë8XY™=QßahÍ£ÖŸš’qBQÉÍ•B!„Bè€NïmÛ¶¡P(Ô?¹¹¹Ç“““™1cnnn˜˜˜`ggÇàÁƒ9xð`™¶îܹC@@Í›7ÇÄÄž}öYΜ9Sáõ®_¿Îرc±µµÅÞÞžaÆ•;K{ñâEüýý±±±ÁÜÜœîÝ»³cÇüüüÔmM˜0¡ÂþÔôºUéSeª2†!!!êØ\]]‰ˆˆÀ××+++ÌÍÍéß¿?G-S?++‹£GªÏ522ÒÚûZÓ1«mÛ¢P(BÔ?¹¹…Ç““s˜1ã nnŸab² ;»• üÞ,ÓÖ;Ù y󵘘,ÃÁácž}v;gÎ$Vx½ë×Ó;öglmWbo¿ŠaöV¦í‹Sð÷߆ÍG˜›¯ {÷õìØŸßfu[&ì­°?5½nUúT™ªŒaHH„:6W×O‰ˆˆÇ×w3VV¡˜›¯ ÿM=S¦~VVGƨÏ52Zªµ÷µ¦c&„B<ˆNoT*#FŒ(s,>>///6lØ@hh(IIIœ8qsss|}}Y·nºn\\^^^lÞ¼™Õ«W“’’¡C‡HII¡gÏž„‡‡—{½ÀÀ@‰‰‰aÓ¦M8p€qãÆiÄEÏž=9uê[¶l!11‘/¾ø‚ÐÐPΞ=‹R©D¥R±nݺ ûS“ëVµORÕ1 B¥RáééIZZÓ¦McÁ‚ÄÇÇsäÈRRRðññáðáÃõ-,,èÕ«*• •JEaa¡ÖÞךŒYmùû·B¥ bĈ²»ÄÇgá嵞 .êCRÒNœ¹¹¾¾›Y·îœºn\\IÝÍ›/²zµ))S9th,))¹ôì¹ððØr¯xÀÀ®ÄļÁ¦MÃ9pà&ãÆiÞ˜•FÏžßrêT<[¶Œ 1ñ?|ñÅ BCçìÙ$”JCTª Ö­XajrݪöéAª:†AA^¨TAxz:––Ç´iX° 7ññ“9rä9RRrññÙÌá÷4ê[XÓ«×c¨TA¨TA¾¥µ÷µ&c&„BT¦Þ,5 æÚµk¬X±‚aÆammMëÖ­Ù°a... ®{ãÆ –-[Æ!C°´´¤}ûö|÷Ýw¨T*¦NZî5&L˜@Ïž=±°°ÀÏÏ¡C‡ARR’ºÎìÙ³IKK#44”¨ÛÞ°aYYY5ê[U®[Ó>Õt Keee±zõju|ݺucýúõäçç3mÚ´õ·¶1UuÌêRpð¯\»–Ί> 憵µ ­[Û±aÃ0\\, ØOBBößupãÆ]–-ëÏ!-±´4¦}ûÆ|÷ݰ¿ß»ýå^c„ŽôìÙ cüügèЖDDÄ“”toÛ±Ù³%--ÐP x\Ýö† CÉÊ*¨QߪrÝšö©¦cX*+«€Õ«ýÔñuëæÌúõCÉÏ/bÚ´5êomcªê˜ !„•©7‰÷?þÀСC5Ê•J%¾¾¾äää°wï^ dY‚Æ Ó¨ëììLûöí9}ú4·oß.s ///×M›6 6öÞìÝž={8p F]Ú¶m[“®Uéº5íÓ?Ug KYXXйsg²Ž;Ò¤I"##‰‹‹«BµTmÌêÒ?^`èЖåJ¥!¾¾ÍÈÉ)dïÞk@ɲÆi>.×ÙÙ‚öísút·og”¹†——‹Æë¦M­ˆÍT—íÙSr[hÔup0§mÛF5éZ•®[Ó>ýSuư”……1;;j”uìØ˜&M,‰Œ¼C\\Í>üÖ&&¨Ú˜ !„•©ÐÉËË#==SSS¬¬¬ÊwrrJ–-”Ö°±±©°Í+W®àêêªQv}õxyyyddd`jjŠ¥¥e™6íììªÑ«ê]·¦}*U1ü'[[ÛrÛstt$66–ÄÄD\\\Ê­S™šÆ•Y]ÊË+"==SS#¬¬LÊwr²J–-”Ö°±ù¨Â6¯\IÅÕUs ll4Û611Po——WDFF>¦¦FXZ—iÓÎNY^Uïº5íS©êŒá?ÙÚ–ß'GGsbc3ILÌÆÅޘ¤¦1Aåc&„BTE½H¼•J%666¤§§“‘‘Q&I+]ŠàììŒR©ÄÖÖ–ÌÌLrrrÔ7øi++++222ÈÌÌ,“|'&Vý¦²ê^·¶}ªÎþSrr2*• …B¡Q^ÚWGÇ{³÷ש«˜ôM©4ÄÆFIzzùe’´„„’ÄÌÙÙ¥Ò[[%™™ääbd¤½/‘”JC¬¬LÈÈÈ'3³ Lò˜XvI„¶®[Û>Ug ÿ)99• îÿU+í«££¹º¬š¿Ž5ŽIhGtr4¡¿†ròÖIRsR)*.ÀJiÅÓÿ`݉u,>¸'K'ŽN9Za{B7NÝ>ÅsëŸãÛç¿¥G³eŽï¸°ƒÀ혚ð×ÿýU¯â«ªŠú!¿“BÛêÍR“‘#G°sçNò¼¼<öïß™™™zùdzÏ>Kaa¡ÆÎ¥–,YB³fÍÔ7þU×àÁƒ{KNJÅÇÇsùòåµYÚèSuưTnn.eçÎ#66OOOÙnsssòóóÕ¯Û´iÃÚµkµS}0r¤;;w^Õ(ÏË+bÿþ›˜™©—<ûlk ‹5vÞ(µdÉIš5[CaaÍfê.¹Fé’“RññY\¾œZ£6«B}ªÎ–ÊÍ-$"BsyÓ¹sIÄÆfâéé 1ÛmnnL~~‘úu›6Ÿ³víY­Ç$jïvúmF}=ŠèähV?»š3ÓÏ9#’•þ+1PÜûßЄˆš…‡“‡£ÿ´ÿÊ~lÍléÖ´[¹Ç‡y #jVO5JÇ‘•¨,¾ªª¨ò;)´­Þ$Þ‹-¢E‹²cÇ222¸|ù2Ï?ÿUg KÙØØ0{ölÂÃÃÉÊÊâÔ©SŒ?BCC5ê>ñÄ\¾|™[·nÎÕ«WéÓ§Öcª-êC‹6`ÇŽh22ò¹|9•çŸßA\\&¡¡>89™«ëº¹Ùòê«{ؽûééy¤¤ä²fM$ï¿NHH¿Ï„/\؇FL <À¾}7ÈÌ,àüù$^yeOÎÌj£OÕÃR66JfÏþ•ððX²² 8u*žñãwbbbHh¨FÝ'žpâòåTnÝÊ <<–«WÓéÓç1­Ç$jï»3ß‘‘—Á{O¿Ç=™±& n;˜Ó§õžx€°+aôs뇡ÂPß¡”«¾Ç'Äýô²÷öíÛ033cüøñ@ÉrƒˆˆÆG@@ööötïÞ¬¬,˜8ñÞSè9yò$þþþL™2E}ããÖ­[Ù¾};cÆŒàøñãe®7wî\ dÙÄ’%KèÒ¥‹ú¦F777ÂÃÃñòòbÔ¨Q8991iÒ$‚ƒƒiÑ¢††÷þqWÔŸš\·ª}zêŒa)KKKV®\Éüùóqqq¡oß¾ØÙÙqàÀ¼½½5ê®X±‚N:áááÁرc ÅÃÃC+ïkMƬ¶J÷jÞ¾=êïk®`üøÇmADÄxÆó àöö«èÞ}=YY„…aâÄNêvÍ9yr<þþîL™†ƒÃÇ´mûÿغõ Û·û3fL›¿ûWæzsçþöwCX²ääß}üšaöàæfKxø xy93jÔvœœV3iÒ/÷ E  ïý®¨?5¹nUûô ÕÃR––Ƭ\éËüùÇpqù„¾}¿ÃÎΔÆàíÝT£îŠýéÔÉÿÇØ±?ꃇ‡½VÞךŒ™¨Øõ”ë´u¬Ù êB?¢“£¹–r ?w?}‡R®úŸåQ¨TªZݤP(Ø´iS•Ç]Û¶mÉÉÉáÆúE+:wîLRRR¥»¥<Ì ,_¾\ß¡h]Û¶ÿœœBnÜx]ß¡hEçÎ_‘””ÃíÛoè;­=z4ßÿ½ÖÛ®ÎC¥¦N-ùfiåʲÛwÖµ7~xƒ°+aüô'J£Êo þÅpR²Rd=­ž­9¾†Ð_C9x sãôÒw/qêÖ)®ñ®N|UUQ?ÚïdMþ^¸¹¹U^IÔ›+ë“øøxÚµkGBBÆÆ÷nf»~ý:ÑÑÑê™\!t!>>‹ví¾ !a2ÆÆ÷f·¯_O'::ñãÛé1:!lßå}¼¹õMõëö!íË­÷lÇgùp臕¶—’ª£«ØµŸ„Œ¬”Vx5õbjï©x8z”{ÍCoâÃòëµ_140¤Ëc]˜ç7f¶ÍÔuŠTE칸‡Í‘›¹tçyÞS#©NŽæ‡þÇñ›Ç)*.¢½S{‚úUØFe}¼›{—'V<¡qÎô¾ÓùÏSÿ¡HUD›%÷¾]Ôf«F®ª0¾ü¢|V[Í®‹»ˆMEi¤¤«kWÆvK¿–ý04¸÷uuûñÏóXĩۧ(,*ij‰'3úΠ«k×JÏ$ñ.Wjj*“&MbþüùØÛÛsþüy¦Nеµ5óæÍÓwx¢IMÍeÒ¤_˜?¿öö¦œ?ŸÄÔ©°¶6aÞ¼žúOˆ h=€¨YQÎx§æ¤âêõ€îIÌLdô7£É+ÌcñÅtoÖ˜ôÞÝû.£¾ÅúqëéòX—2×\¶€IONbÉÐ%üó;“¶L"p{ [_¾·Dèpôa¦mŸFwùD±ª˜Ÿÿú™a ˆÏˆgVÿYåögá…¼ÙóM– ]ÂÞK{ ÚDZNƆÆLï;ÇígûùíÌÛ;  æøÎ©v*séíKU};ª%9;™3±g˜ÿô|uÙÔŒþf4fFf¬ò_Å®Op+í‹,âfêÍ2mTµQ³¢xuó«üví7Â&…©?* ‰šÅèoFóR×—Þnøã{ï—÷Ø}q7+ýWÒ­i72ó2Ywr“¶LÒØõ¤ºý(•]Í»¿¼Ëô>Óñpò :)šàÝÁŒß8ž¯žûŠîM»×zÜÅ£¯ÞÜ\Y_8;;FZZšz½ó3Ï<ƒ»»;'Ož¤eË–•7RÏ…„„ P(ˆŒŒ$&&…B¡^O-êgg ÂÂÆ––÷÷zçU<ó̸»ÛròäxZ¶¬xß÷‡EHH E‘‘wˆ‰ÉD¡Q¯§¢TÈábÒc˜í3›~ný076ǽ±;¡#BQ©TÌß7¿ÜóÆxŽ¡Ëc]036£Wó^ôsëÇÙ¸³¤æhî Ô£YÞèù6¦6ؙ٩½/#¾$3¯ü%î4šÎ036ÿƒ?îÝ9|õ0¯u GÌÍ×e®6®¾zX+ýÑ•QP¡Â×ÝW]r8„»¹w™7`½[ôÆÜØœ6møpè‡$f–Ýn·:}œÐ}Ūb>?ñ¹F§oŸ&!#!C*ïØõc¸7v§w‹Þ˜™ÒØ¢1³úÏ¢E#ÍŠªÛRyyÑÕµ+æÆættéÈÒáK)(*àƒ°ª6°¢Á“ïrøúúâëë[yŇTPPAA•¥&ê_ßføú6«¼âC*(È‹  ªÍzІkßå}( ði¥¹»ƒ¥îÝ9žøŒxœ­4wŸêä¢y¯‹uÉ©  Ø™•<ͧ•O™v<=Øþçv®$])wö¹£KG×NVN\IºBçåÎVÎ\H¼ •þèʾËûèèÜGË{Ïr8rõ}[öÕ¨ëhéH‹F-¸–r­LUíãSÍŸ¢S;¶žßÊô¾Ó±5+y¸Ûg'>ã¯WÊìZR^|ÞnÞ|ûû·ÌÙ=‡Ñž£éèÜCCö½¾OãÜêö£”ÒH‰§‹§FY‡68Z:r!቙‰ñQI¼…BÔkùEùdäeÐyyç ë]O¹^&QµRj>¸ËİäÁI*îí+‘—Áç'?ç—Ë¿ŸÏÝÜ»çää”{=K͇¬)P`h`ˆ™±™F¹Â€bÕ½}ïkÓŸûÕÅŽ]?Æä§&kÄœ•Ÿ…ÒHYîŒöö kMúøZ÷×xëç·Xÿûz¦ôšÂµ”kDÜŠ`éð¥•ÆðÞ€÷èÒ¤ [ÏoåÅ/Ð͵㺌ãéÖOרÿdkj[îƒäìÍíIÌL$9+YoQ)I¼…BÔk&†&X›Z“•—Å_oÿ¥õ=›_ßò:·"˜ç7áí†cgf‡B¡à‹ˆ/øïþÿj$éÚ ÍþÔÅï£×’[˜«±MŸ‰¡ &dåg‘]]&iMËIÓx]“>k7ŒÃ!|sú^òu>?ù9c;-sSjyñAÉ.VþüñïàOaq!ÇogÝÉuLÞ:™Ù¾³yÕëÕj÷ãŸJ?HÜ/9;(IÚ…¨Œ¬ñBQï l3"U§o—}àΚãk賺EªªÍüþSQqI›–¼Üíe™7RÏjææÕ:îŠÔU´!ìJMm›ÒÚ¡µF¹wË’g;”.Õ(•š“Zî,quûh¨0äßÝþMrv2ŸŸüœvðr·—«_—å]ˆN.ÙbÓÈÀˆÞ-zóé¿>E¡Pp0ê`ûQ*» › šK†.ݹDbf"N2Û-ªDo!„õ^wÍl›1sçL_=LF^i9ilüc#«Ž®"Ø'¸F3dž†ôhÖƒ;™wøìÄg¤æ¤’[˜ËñÇÙðdž:èI‰ºêOm«Š9u Ü‡Òõ ÂÖÌ–ö}Ào×~#» ›¨¤(fü4£Üe5éãsŸÃJiŲ#Ëà>'KÍ'?(>€y{æq1ñ"ùEù$g'³öøZT*=¿·TuûQÊÌØŒùûæINAçâÎñÖÏoalhÌälìYŠUÅtréÄ[Þo=rûxËtêŽ$Þâ‘&‰·Ð·†œx‹‡Ï’ƒKøþì÷œ8¡—÷ÊÔ÷ø’x×­Ü\ùæ›oòÖ[oi£)!´níÚµlÙ²Eßaˆ*99www}‡!D•„] û¥w½Mjë{|BTFv5¼ììNdg»ê; Ñ`UýÝBèÛý{^×7õ=>!*£•Äû“O>‘¥&¢^*YÓ7ßO¡/£iݺòZB!}²«‰B!„: ‰·B!„: ‰·B!„: ‰·B!„: ‰·B!„: ‰·B!„: ‰w=‚B¡@¡Pàê*ûP !„B<Ì$ñ®CtêÔ‰Þ½{×èü   T*žžžZŽL!„Bèš<¹²ŽS\\¬ï0„BT`݉u,>¸'K'ŽN9ªçˆžôÜtv^ØÉ®‹»¸pÜÂ\œ­œñlâÉÄîñpò(÷¼ ‰Xzx)§oŸ¦¨¸ˆÎufZïituíªãQ52ã]‡Œ9þ<ÇŽÓw(B!*0¡Ç¢fEU˜ÜÕÙÙø®ñeâ–‰úEëXÌü_æãçîÇž {85틇,毄¿ðÿÊŸ}—Ë>*>2.’Ñ_ÆÂÄ‚½÷rxòašÚ4åùoŸç·k¿é¡BTNo!„â! R©(V=ºß¢ŽöÍ¿»ýKÌŒÍðjêÅòáË)*.bÉÁ%u‹UÅÌÚ9 kSk– ]‚£¥#vfv¼?ð}oô8Á»ƒÉ/Ê×SO„¨˜$ÞudÇŽê# ¹¹¹Ç“““™1cnnn˜˜˜`ggÇàÁƒ9xð`…m^¼x‘¡C‡bccƒ¹¹9ýû÷çèQùJT!  ¾qÏÇ|®ïP´nÑE,´ L¹‡“¦F¦ÜL»‰J¥R—GÜŠàJÒµ„©‘©ºÜÐÀaÈ»Ǩ:‰]ˆêÄ»Ž 6 •Jň#Ê‹ÇËË‹ 6JRR'NœÀÜÜ___Ö­[WæœÌÌL&OžÌìÙ³‰‰‰áÈ‘#¤¤¤àããÃáÇuÑ%!„B§r rÈ-Ì¥µCk …º<üF8]:–9§£sG:BÔ'rs¥síÚ56nÜȰað¶¶fÆ ´lÙ’€€†Ž“““úœôôt.\È“O> @·nÝX¿~=:ubÚ´iœ9sF/}BˆŠì»¼7·¾©~}èÍC|xðC~½ö+††ty¬ óüæÑ̶û˜åG–ÐÕµ+›ÆoàÈÕ#¼ºùUlÍl95íT¹í~ó0K.áPô!LŒLðnéÍ;Þ!#/ƒ÷÷½ÏñDZPZÐß­?s|ç`abQnÜÑÉÑ,:°ˆS·OQXTˆgOfôQ憽”ìV]Åþ¨ý$d$`¥´Â«©S{OÅÃѣܙø Ë]NøpÒrÒˆ˜™]µÆòÏ ?Q)Õ¯ÓrÒøøØÇ„] #înæ&ætnÒ™×{¼Î“?©®—_”Ïêc«Ùuq±é±(”tuíÊØÎcéײ††Œ Í‡m(*.ª´@c‹ÆŸz¼Ju˳ëâ.&?5Y£<:9g+ç2ç8[—”]K¹Vãë QWdÆ[~üñG†ªQ®T*ñõõ%''‡½{÷j355¥Ge;v¤I“&DFFW·A !D5 h=€¨YQø¹û° l¯x½Â±)ÇJøõp·ªëÿç©ÿ5+ 3c3vú¶ìKÔ¬(:8wx`û ,äõ'_çDÀ æúÎeûŸÛ™ñÓ „-`zßé8N@¯6Gnfů+Ê9» ›wy—7{¾É±)ÇØøÂFÒsÓ¿q<'oT×KÌLdäW#ÙuqóŸžÏïÓgà HËIcÔ×£ø#ærcœ»g.ãŸϯ“凗¨R¢[^;ÿt'óþ_úóó_?3Ïo§¦â‡—~ÀÌØŒ¿{‘Í‘›Õußûå=¾:õïø½Ã©ÀS츗–ö-™´e§nŸªR,—Þ¾DÔ¬¨*ýÔ&éNÊJâ‡þÇÏ1 i;DãXF^æ&æeÎ37.)KÏI¯ñµ…¨+’xëX^^éé阚šbeeUæxé,w||¼F¹½½½Æ×l¥HLL¬ƒh…B{ÆxŽ¡Ëc]036£Wó^ôsëÇÙ¸³¤æ¤j¥ýÑFÓÁ¹fÆføwðǽ±;‡¯æµî¯ááè¹±9㺌ÃÕÆ•ÃWË_¢—‘—Aw]]»bnlNG—Ž,¾”‚¢>û@]/äp1é1Ìö™M?·~˜›ãÞØÐ¡¨T*æï›_nû“zN¢G³˜›áéâÉ¥·/U:Û]™Ã!ÜN¿Í\¿¹ø´òÁRiI‹F-XþÌr,xßû$e%pìú1ܻӻEoLLilјYýgÑ¢Q‹ZÅ mi9i¼²éz4ëÁ?¨ü„PQ²¼¼ÿg ¡o’xë˜R©ÄÆÆ†ÜÜ\222ÊOHHÀÙYóë³ôôò?¹—&Ü¥ ¸BÔW\:i¼v±v !#A+íß¿Þ×ɪd"ãþ™rg+ç ¯©4Râé¢ùв6mp´täBÂ3Kþæî»¼…>­|4ê:X:àÞØóñç‰ÏМ@Ê´­ ¿\þ€þný5ÊM MxªùSäæòëµ_ðvóæ÷˜ß™³{gbϨ—Œì{}=ši~«ª/99ü{Ó¿qwpgÙðeå~+`¥,™¸ÊÎÏ.÷|kSëº Tˆ5Þz0räH¾üòKvîÜÉsÏ=§.ÏËËcÿþý˜™™1pà@s233‰ŒŒÔxŠå¹sçˆÅÓÓÅ/„5Qš,•214îÍPÖ–¥‰¥Æk Ë,]1PP¬*K>[SÛrgJíÍíIÌL$9+[3[õR‡ÎË;WÏõ”ëeÖ ßKmåå“‘—ÒHYîšõÆ’å(ï x.Mº°õüV^Üø"Ý\»1®Ë8žnýt•®Y—k¼‹TELùq N–NüoØÿ0T”¿ÇÍÞ  Ü7ñwKÊêÛ,¾ ‰·^,Z´ˆÃ‡ˆ¥¥%ÞÞÞÄÅÅL\\k֬Ѹ±À‚)S¦B‡¸p᯽ö&&&„††ê©'B¡}  Š Ê”ßͽ[ç×.M¨ï—œ €½…=&†&X›Z“•—Å_oÿUar¨ &†&X)­ÈÈË +?«Lò]ºÄÄÁÒ(Y~áßÁÿþrüÆqÖ\Çä­“™í;›W½^­ôš—Þ¾¤ýŽümîž¹äåóÉ¿>ÑWŸO}XöÌ2:7)ù ód³'YutçãÏ3²ÃH6ÎÇŸ çã=ë,N!jJ–šè³³3Œ7Ž€€ìííéÞ½;YYY„……1qbÉSÉBBBP(DFFbkk˲eËÆÙÙ™¾}ûbggÇðööÖs„B{-ËÌdÞɼCìÝØ:¿vvA6.h”]ºs‰ÄÌD<œ©ª6+\[¥3Õ£5Ÿ‘_”ϱëÇ052¥O‹>tYÞE½#ˆ‘½[ôæÓ}ŠB¡à`TÅϑЅ~ûˆË‰—Y3júÛŠtoÖV[±ûânò óÔåEÅE츰k—2Ko„¨dÆ»Ža``€‘‘æPÛÛÛ³|ùr–/_^á¹AAAi”8 B<Úz·èÍ7§¿á›Óßð¯Nÿ")+‰C!؛ۓW”Wyµ`flÆü}ó ö ¦uãÖD%E¼;cCcæùÍS× òâÄÌÜ9“÷ž~'{‚¢â"v_Üͪ£«X2t‰Îfƒ¼ƒ8qó Â`nlNf=HÌL$äpw²î°`Ðõ’€y{æñ΀whiß’Œ¼ ¾ýý[T*•^gˆ8÷ýö–vª¤vÉ·"‹‡,æ… /0sçLæøÎÁØÐ˜¥G–r=å:ëÆ¬ÓØnQˆúB¡ú磠jÒ€BÁ¦M›3fŒ¶bz¨uèÐ;vмysžxâ RSS¹vMöÕ‡’µš›ùýú2šQ£àûï¿×zËÑÑÑU®;ujÉòµ•+µs#cUœ‰=è¯Gi”M~j23úΠÕâVåý[õç³QŸ%Ë=XÄ¡èCÜͽKçÌñü½óÔË&=9‰­”Ûþ÷ŒüJsùAwÝšvã¹õÏi”ôÀÜØœÅàdéÄ'ÿú„}ÈÙØ³«ŠéäÒ‰·¼ß*³wZN«­fß•}ÄÝÃÚÔšvNí˜Øc"½š÷ªp ¢fEUi KÝ¿7Àˆö#X:|©:–}̾ËûˆÏˆÇÌØ¬dï'_×H¨/$\`Ù œ¼y’Ø»%ûx7·kÎÏ1Œî4Zo;LÜ2±Ò÷-/mQ/5)õWÂ_,=¼”Ó1§)..Ƴ‰'}˼W¢zjò÷ÂÍÍ­®Ây¤Hâ­e:tÀÛÛ›%K–pàÀüýýY´h3gÎÔwh ’$ÞBÿnâ-„x8Iâ]wd©‰–}þùçÌœ9œY¸pa™å"B!„¢á‘Ä[ËzôèÁ¡C‡ô†B!„¨g$ñB!ôèþõîå è@@ïD#„¨K’x !„zTÝ-…/ÙÇ[!„BÄ[!„BÄ[!„BÐÊﯾúŠððpm4%DXÈï§Ð—H’“]õ„Bˆz@+‰÷®]»Øµk—6š¢øûGý¸r%Gß!!„¨´’xË“+E}¥P(øè£2dˆ¾C Ô”)S°´´ÔwB!êYã-„B!„Hâ-„B!„Hâ-„B!„Hâ-„BÔ3ÙÙø®ñeâ–‰úE¡E’x !„õŒJ¥¢XULqqq™c—vdìú±zˆJQ[ZÙÕD!„ÚcabÁÁ7ê; !„–ÉŒ·B!„: 3Þu(33“.]ºÐ¦MvìØ¡ïp„B§ö]ÞÇ›[ßT¿þeâ/,ÿu9á7ÂIËI «kWNß>­®ÓÕµ+›ÆoàØõc¼ôÝK¬µŸV>,[À—§¾T׿4ó† à chóaŠŠ‹ªoc‹ÆŸzüuÞøá ®„Õ8ÞU#W1åÇ)ê×åÉÂÁ ™½{¶ºÎŸA¢4R²îÄ:\ ÀéÛ§iµ¸††\zû’º~Jv «Ž®bÔ~2°RZáÕÔ‹©½§âáèQ¥±BÔ I¼kÉÒÒ’Î;óÛo¿•9¦R©(..žB<ê´@Ô¬(u²:wÏ\¦õ™Æ‡C?ärÒeÆ|3†Oÿõ)».îâݽï²lø2žiÿŒúüínWÿ·4‘ë7—ÍzðÍïßðõs_WÃ?Rmøô_ŸòíßÖ*ÞÊÆd@ëŒñS&ÉŸÐczL ãÒŽ´sj§Nøÿ)13‘Ñߌ&¯0ÅCÓ½YwbÒcxwﻌúzëÇ­§Ëc]´:&Bˆª“¥&uÈÊÊŠèèhvíÚ¥ïP„Bï&õœDf=036ÃÓÅ“Ko_ÂÎÌŽ¡m‡blh̶?·©ëææv%ŒÇígÿ•ýdåg©ýxþGFv©.h5ފƤ¦B‡“ÃlŸÙôs뇹±9îÝ ŠJ¥bþ¾ù5n[Q{’x !„Ð OÏrËmÍléçÖ£×r'óaWÂðlâÉø'Æ“[˜ËÞK{HËIãÄÍ l3Pgq×e¼IMí»¼…zƽ”ƒ¥îÝ9žøŒx­^SQu:I¼ïܹC@@Í›7ÇÄÄž}öYΜ9£®Ó»wo …úgüøñøùùi”§¥¥U«ÝRÉÉÉ̘1777”J%®®®øùùñå—_’““ Ô×èÝ»·ú¼={ö¨Ë7n¬. A¡P••ÅÑ£GÕuŒŒJVïlÛ¶M#îÜÜÜ ã111ÁÎÎŽÁƒsðཻØïoãúõëŒ;[[[ìíí6lÑÑÑU~.^¼ˆ¿¿?666˜››Ó½{wvìØ¡1Æ&L(sÝK—.1fÌìííÕeIIIUîGMÇV¡PàêêJDD¾¾¾XYYannNÿþý9zôh•û-„¨ÌŒÍ*<6²ÃHŠŠ‹øùÂÏl;¿‘F2¼Ýp ù鯟Øqaý[õÇÜØ¼J×lóaZ-nU¥Ÿ'W>Yå¾h+ÞIuåå“‘—A±ª˜ÎË;—éߟ p=åºÖ®)„¨ž:O¼ãââðòòbóæÍ¬^½š””:DJJ ={ö$<<€ß~û3gÎ`aa§§'kÖ¬`çÎôèу7¢R©°µµ­V»ñññxyy±qãFBCCIJJâôéÓôë×W^y…5kÖ0wî\T*ñ4•JE×®]5ʃ‚‚Ôõ{õê…J¥B¥RQXX€¿¿?*•Š#F”“Òx6lØ Žçĉ˜››ãëë˺uëÊm#00ÀÀ@bbbØ´i`ܸqUz¢¢¢èÙ³'§NbË–-$&&òÅ_ÊÙ³gQ*•¨T*Ö­[W溓&MbòäÉܺu‹ãÇchhX­~Ôtl===IKKcÚ´i,X°€øøxŽ9BJJ >>>>|¸J}BÔýÝúckfËç~$%;…3±gÐz-Ó»yoÂo„“˜™ÈÖs[«µÌäÒÛ—ˆšU¥ŸÊn¬ÔE¼U¡@Qn¹‰¡ Ö¦Ö* ¹4³â~?ùxÕ?`!´«Îïàà`nܸÁ²eË2d–––´oßžï¾û•JÅÔ©SÕu===ùâ‹/ˆŒŒä¥—^B¥R1iÒ$|}}yî¹çjÜnpp0×®]#44”aÆaee…““sçÎeРAu=e”ƳbÅ † †µµ5­[·fÆ ¸¸¸@BBB™ó&L˜@Ïž=±°°ÀÏÏ¡C‡¡ž}~Ù³g“––Fhh( P׆ ÈÊÊzà¹3gΤ_¿~˜››Ó£G iܸqûQYYY¬^½ZÝïnݺ±~ýzòóó™6mZ­ÚBÔÆ†Æ õÊ…Ä ,=¼?w?LLðïàOQq¡¿†’˜™HÏÇ{ê9ZýÆkflFAQúõ€µøîÌw l3"U‘ÆN1¥Ö_CŸÕ}(RUm—!„öÕyâ½mÛ6 6l˜F¹³³3íÛ·çôéÓܾ}[]>zôhæÌ™ÃÖ­[éÝ»7ÉÉÉ|ðÁµj÷Ç`ðàÁeÚÙ½{7µîgu”Æ3tèPr¥R‰¯¯/999ìÝ»·Ìy^^^¯›6m @lll¥×ܳgj®3tpp mÛ¶<·{÷îå–×´ÕaaaAçÎ5Ê:vìH“&MˆŒŒ$..®Ví !êÿöþlŠÜ¤1K< õ,L,ع‰íG` ¨·'é+ÞöÎí¹–r¸»qüó7SoâÕ´äÿAÞA4³mÆÌ39|õ0y¤å¤±ñ¬:ºŠ`Ÿàn¿(„¨[uº`^^éé騨ØTXïÊ•+¸ººª_ðÁ„……qìØ1¾úê+ 4ÿhU§]ÒÓÓ155ÅÊʪ6ÝÑŠÒØ+ŠÇÉÉ (YÆq¿ûûjbbPév…yyyddd`jjŠ¥¥e™ãvv¾ƒþþ%"¥mÖ´ÕQº´è~ŽŽŽÄÆÆ’˜˜ˆ‹‹K­®!DC TªÈÈÐmÂz&ö £¾¥~Ý>¤=P²^yº<Ö…ævÍÉ/ʧ{Ó{øMLÔf?œûA¯»™Ü¯&ñVeLîßÿ¼}H{F´ÁÒáK˜ë;—9{æðôgOckfË;O¿ƒ›½öæöl}y+«­æ½_Þ#înÖ¦Ö´sjǧÿú”^Í{i Ä#'/Ïùf¤.Ôiâ­T*±µµ%33“œœõ‡•9tèééétìØ‘É“'ãé鉧ç½;¿«Û® ééédddTš|ŸŸ_¦üŸ7uþ“BQþZ»Š(•ÊÆSº4ÃÙÙ¹ZíVvM+++222ÈÌÌ,“|'&&Ö¨Íêö£ºc %7oªTª2ã\³££cµc¢!²µ-æÆ c^³s“Î&Ù ›Vnù’¡KX2t‰6ÂÒªêÆ[•1)Ýÿ¼"-í[²ñ…·5³e¶ïlfûή°Ž’’bÀãT^QT[O<ûì³–» Å’%KhÖ¬™ú†D€k×®ñÚk¯ñÃ?ðÓO?affƈ#¸sçNÛ9²dÆ¡¼ý´»téÂôéÓÕ¯]\\ˆ‰‰Ñ¨ÏÍ›7Ëퟹ¹¹F2Ù¦MÖ®][nÝR¥ñìܹS£>žË—/רÍêö£ºc ››KDD„FÙ¹sçˆÅÓÓSf»…¨"7·|®\1A¥Òw$BˆúL¥‚¨(Z¶,;Q&j¯ÎïE‹áææÆ«¯¾ÊîÝ»IOO'%%…5kÖðþû±ÎÌÌÄßߟ+VЮ];š7oΖ-[ˆeÔ¨QÔ¨ÝE‹Ñ¢E ¦OŸÎÎ;ÉÈÈàöíÛLž<™¸¸8Äûé§Ÿ&66–U«V‘™™Itt4Ó¦M«pfõ‰'žàòåËܺu‹ððp®^½JŸ>}*“-ZÈŽ;ÈÈÈàòåË<ÿüóÄÅŪ^ª¡- .¤Q£F²oß>2339þ<¯¼òJg׫ÛêŽ-”|[1{ölÂÃÃÉÊÊâÔ©SŒ?BCCk· QçιdfpîœRß¡!ê±sç”dfÐ¥Knå•EµÕyâíèèÈÉ“'ñ÷÷gÊ”)ê›ù¶nÝÊöíÛ3f S¦LÁÊÊŠ³gÏ2bÄΟ?ORRýúõ£  €#GŽ`bb‚ ªÕ.”,wˆˆˆ`ìØ±L:{{{ºwïNjj*¿þú+Íš5S×]°`&L`áÂ…8::òïÿ›ÿû¿ÿÃÙÙ™ääd ³fÍR×_±b:uÂÃñcÇЇ‡‡z/ìíÛK!lff¦Þ›¼4žqãÆ Ž'++‹°°0&NœÀñãÇË´1wî\ d‰Ë’%%_cvéÒ¥ÌM¦÷sss#<<///F…“““&M"88˜-Z¨·¬èºå-©©j?j:¶–––¬\¹’ùóçãââBß¾}±³³ãÀx{{?°ÏBˆ{ڶͧI“Böî-{Ÿ‡B”ڳǒÇ+¤m[™ñ® •ªv_<* 6mÚ¤‘芇KÛ¶mÉÉÉáÆúECçÎIJJÒØõ¦º }ôC† ÑbdBTÝ”)S°´´äûï¿×zÛÕy€ÀG5âÛo­9tèff²æD¡)'G·÷㌟N@@jµÎuss«£¨-õcO&QçâããiÔ¨‘Ær€ëׯOg !/¼N~¾‚5k¼“‘¢aZ³ÆŽ‚/¼pWß¡<²$ñn@RSS™4i·nÝ";;›“'O2vìX¬­­™7ož¾ÃBÔ1{û"¦NMå³Ïl¹}[·;œ!ê·ØX#>ÿÜ–€€Tìíe+Áº"‰wáììLXXiiiêuÒÏ<ó îîîœÞ¢~ñõõÅ××WßaT*((ˆ   }‡!Ä#ÉÈHŪUñŒýóæ9°hQõ÷ñBË–%òÃV|ü±¬÷¢!ûøc;¾ûΚ+ñðLêš$ÞBÑùødñî»wøè£FÌ™#ËN„hh Ì™ãÀG5âÝwïàã“¥ïYj"„ Ô /ÜÅÅ¥ˆÀ@GnÞ4fÑ¢D\] +?QñP»}Ûˆà`G"#•|òI¼$Ý:$3ÞBÑ€ùød±iS ‰‰F ÔŒ+‘“#³ßB<Šrr¬XшAƒš‘˜hĦM1’të˜Ìx !Dçá‘ÏηøúkV®´cÃkFÊ`РL:vÌ£œ× !*UÉcà÷ì±dË+ ̘‘ÂK/¥Ë”z ‰·BŒŒT¼új#Fdðí·ÖlÙbÍÚµ¶XZãîž]J¥üOZˆ‡E^ž‚”C¢¢LÈÌ4à±Ç ?>^¸+ûtë‘V/„¢b£FªŒ¯® L8sÆ”¨(ÒÓ ÈË“¿÷š³gß S§Oõ‰Ð6¥R…M1­ZåÓ¥K.mÛÖíŽ%òÈøª©õŒ÷¦M›´‡u"<<œÖ­[coo¯ïPDÖ´iS}‡P#ù²½Ø#nêÔV®LÐs$B4 µN¼ÇŒ£8„¨òû)„BˆúBv5B!„B$ñB!„B$ñB!„B$ñB!„B$ñB!„B$ñB!„B$ñB!„BÝQAç IDAT$ñB!„Bjý!„úáää¤ïÄCÎÔÔß%!tEo!„xHYZZê;ñ32*IäwIÝ¥&B!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„Bè€$ÞB!„B耑¾B!DÝKJJâîÝ»eYYY\½zU£ÜÚÚšÆë,6! …J¥Ré;!„BÔ­Ï>ûŒ×_½Ju×®]Ëĉë8"!I¼…Bˆ 55GGG XÏÈȈÄÄDìììt™ ‡,5B>>:ŒHˆ†Eo!„¢033ãé§ŸÆÈ¨ìÞFFF 8333=D&Dà ‰·BÑ€<óÌ3å®ñ.,,ä™gžÑCDB4’x !„ Hß¾}±¶¶.SneeEïÞ½õ‘ ‡$ÞB!DbhhÈСC166V—3|øðr— !´Go!„¢yæ™g(((P¿.((`øðázŒHˆ†Ao!„¢éÖ­ŽŽŽê×7¦k×®zŒHˆ†Ao!„¢Q(Œ1cccŒ9r$’Q×ä_™BÑ >œ‚‚ d7!tDî¢Bˆ*ÊËSpê”)çÏ+¹}Û˜»w (.ÖwTBÔ”ææ-X½ºŸ~C¢ ÀÚº˜¦M hß>nÝrQ*Uú«\’x !D%ΞUòõ×6ìÝkANŽ..…<þx¶¶Å(õó»UñØcÏ }‡!D­)¸v͘C‡Ì‰‹3Â̬˜³xùåt:vÌÓwx$ñBˆ $&±dI#~úÉŠvíò˜5+_ßlœË>|Dˆ‡ÑõëýhÞù$ccýL¨Èv‚Bñ·¹s8uÊ”õëc$éBˆGÈ A™¬_éS¦Ìë ·8$ñBàÓOíØ¶ÍŠeËðô¬_wÁ !„¨=OÏýÔV/1Hâ-„hðΟW²lY#fÏNÂÇ'[ßá!„¨#}úd3{v2Ë–Ùsþ¼Rç×—]M„”êîj¢RÁóÏ?Fq1|÷] ÙÒX!yÏ?ß„‚›7Wïï~mw5‘o!DƒöÓOVüþ»)ï½—$I·B4óæ%sö¬)?ýd¥ÓëÊ®&BˆíÓOmñ÷ÏÀÃCÖu‹†iÛ¶m¬_¿ž7nššª.ÿùçŸñðð¨V[—.]bíÚµ?~œ””,--ñôôäÅ_ÄÛÛ[kçQ[yøûg°f-#Fdèìº2ã-„h°"#M¹rÅ„_L×w(BÔ‰¢¢"¦NJÇŽyýõ×ÉÏÏ×8¾fÍ‚‚‚8sæ mÛ¶å÷ßççŸÆÔÔ´Ú×Ú³g#FŒ`ûÿgïÎâ¬ÚއaßDeMÄ DT@q£TÔ,ÓķЬ45÷Üã-7JÍMóÍÔõW™-öše™¤âJ¹â†(ˆšˆ€(û>Ìï^&Pa@º?×Õsžóœå™Aî9s?g¶mã…^àÏ?ÿdéÒ¥8p€×_•+WVË9BT—W_MãÒ%C"#u—ë-·âkï^S hß^V»EýtñâEvîÜINN{÷î%22RëøæÍ›5??ÿüóXZZâææÆ¹sç*µÚÏ¿ÿýo 177gúôéXXXàïïkÖ¬!<<ü‘΢:¹»çáèXÈÞ½f:ëSo!Ä?Ö©SÆté’[ÛâƸººÒ¯_?Œñ÷÷ÇÃÃCëøíÛ·5?[XT=×õ«¯¾"''€fÍš¡§÷wxѪU+ÍÏŸ~úé##DuëÒ%‡Ó§+ÿ OUIŽ·â+&Æ€ž=eû@Qéëë³fÍšû¯®Íî]•¶²ÒÞùÞÇÇ'## ‹*#DukÝ:ŸƒMtÖŸÞBˆ¬ÔT%«j{¢žÙ¾};Ó§O/SþÉ'ŸÐ·o_¢¢¢8p ¦|Ò¤IÌœ9“¤¤$Ö­[Lj§¨¨ˆ&MšàïïÏ„ hذ!ëׯ'$$D«íÿüç?\½z•-[¶€J¥âõ×_gÆ ZõV¯^Í3Ï<Ã×_Í‚ ´ŽMž<ùóš;w.£FâìÙ³ qâDâââ4ML´ƒSSSÍÏjµšË—/ãááQés:vìøÀñ Q©¸{W©³þ$ÕDñ•Ÿ¯ÀÀ@¾Ê@T¯püøq­`ò£>¢oß¾¸¹¹±oß>”J%»wïfæÌ™DGGÓ¿¾øâ 233ùõ×_Ù³glذAƒ‘˜˜À˜1cˆ‰‰ÑjÕªUèëë³mÛ6-Z¤Géz%†^æØêÕ«‰‰‰!&&†³gÏj­:O:•Q£Fàîîξ}û044äÈ‘#Œ5Š¢¢"M]¥R;ˆ)ý855•ôôôJŸ#DM04T“Ÿ¯»½d%ðB!ª™••ƒ Ò<þâ‹/´ŽõÕWtïÞ]“Ë<{ölMpùì³ÏÒ¢E 0`7oÞdñâÅ÷íÏÖÖ– &РAˤnT–‰‰ ¯¼òŠæñÆ5ùØ%ãïÓ§¶¶¶•n[Q… ó«rŽu‘ÞB!D 9r¤æçÓ§OkvÉÊÊbË–-šäÄÄDΜ9£©{o0{ï7ä…††’›[þÍÀ½zõÒz|üøqÜÝÝiüÇÇÐÐ(^q.Ù¥dü#FŒÀÒÒRëÆH•J;}«ôã Té!ê ¼…Bˆàì쌟ŸŸæñ—_~ Àÿû_ììì4Ç’““µÎ[¶lÎÎÎ8;;kåaçççsãÆrû²±±©æÑƒµµµÖªýÿýßÿQXXÈÿû_š6mªÙòO__Ÿ-ZhêÝ»2ý÷ Ì …—*#D} ·BQC^{í5ÍÏ;wîäÖ­[lܸ‘‘#GjÒ'7n¬uÎŒ34¹Ö¥ÿsvv.·Ÿ’•éê6fÌÍ8o޼ɶmÛØ¸q£fµ»Ä½ß0Y:;-íï/¨òññÑìNR•s„xÜIà-„BÔž={jVv yã7HOO' @SÇÁÁAëËj.]ºT¦W^y…aÆÕü€KiÕª•V€¼páBÒÓÓµve1b„æFÍëׯkÝ8yåÊÍÏãÆ{¤s„xÜIà-„BÔ…B¡µ:ÉK/½Tf§‘Å‹cnnúO?ýDFF)))¬X±‚3gÎðïÿ[§c/1fÌÍÏYYY–ùJyGGGBBBP*•ddd°jÕ*ÒÒÒØ±cÇŽ`„ Z¹èU9GˆÇB]]»ç !D˜˜Hfff…ê:;·bÕªDú÷¯X}!ª";;???ÒÓÓQ*•„‡‡coo_¦^||<ëÖ­ãСC$$$ §§‡µµ5¾¾¾Œ5Š6mÚ÷ß'`ÿþý8::>°ž¯¯//¿üò}Ûøþûï5ùÛ% ÄùóçÑÓÓcïÞ½š>J‹ŠŠbݺuDDDpçÎÌÍÍñðð`øðá÷  «rŽÕeÇs¦Nµ#&&¶BõÍÍ͵nz®, ¼…õŠÞBT¿_~ù…™3gâïïÏçŸ^ÛâÚè:ð–T!„B¨oóBˆš$_/„:df¦Ï¾}ýj{Õ¦¾ÍG!j’¬x !„B¡²â-„:šÀĉšÇçÏ?‘‘Ró855Ÿ5k.–@BB¦¦útèЈqã\èÒÅF«­;wòX½:šßO 11 :u²fÊ”6¸¹5(·¿ýûŸfÙ²ó<˜„R©ÀË«ÁÁ89™iµ›Áœ'""™ÂB5­[[2y²+_~Ë‘#É6Ãßß¡ÜùTµßŠÌéa\]F¥ªXÚ‹µµýZ/?¿ˆµk£Ù±#ž›7³12Râíݘ¡C›Ó³§J¥BS·¢×nÉ’Ž£¢~Q¨ÕjIÌBÔ‰‰‰dffV¨®³s+V­J¤ÿŠÕ¯.&D– x''çNn®ŠÅ‹½ðõµ!99—åËϳgÏMÞ¿#C†4 )©¸n^žŠŽøúÚŸÅ»ïFy—M›üðòjT¦¿>}?¾5mÚ4àäÉÆ ukK¶ní©©{íZƒïÃÄDÉÒ¥ÞtìØ˜øø,-:KTT™™\¸0è¡ó©l¿•“.Í™s’;oòñǾøø4&3³õë/³~ýe¾ùæI:w¶ªv턵kÇs¦Nµ#&&¶BõÍÍͱ³³«r’j"„uÀòå¸q#›yó<ð÷wÀÜ\Ÿ-ÌY¹²66Æ,\ÉíÛyÿ«{žøølæÌq§gO{LM•¸¸XòÑGP«Õ,XYnC†4ÃË«&&Jºw·¥gO;Μ¹ËÝ»ù÷Œã<éé{àçg«i{åJrrTUš[Eû­ÊœtáÈ‘d\\,ðó³ÅØX‰µµ³fµ§E s­z5qí„õ‹ÞBQìÙs€^½ìµÊ õèÖ͆Ü\&Å)$zz üý´êÚØãâbɹs©Üº•S¦ícÿ®{à@qO=¥=ŽFŒhÙR;Ь¨Šô[Õ9éBöœûìO>¹«Â«¾¥õèQÜGIÚD‰ää\ââjî&ÔšœÓ£òòÚNllúú üülùôÓ.(ÚÏWm];!ÄãCo!„¨‚‚ÚâèhÊ¢EgØ»7¬¬Bââ2™1ãÉɹ{`mm¤©ëädÆÛoŸ <<‘ŒŒRSóùî»8V¯Žföl÷*¯µÃÊÊ÷Þ‹äС$²³U\º”ÎÛoŸÄÆÆ¸:§\ªßš›Su>ÍÅ‹iäç‘’’ÇçŸ_B­†®]ÿÞæ±¶®âñ!Û !ꕺ¼`éý­ jÊŠ>@É>ÞÑ„†ÞäÖ­LLôéС!ãÆµÖ ðJê®][\7!!KKCÚ¶mÀر.tïn ÀéÓwyñÅýZçMšäÊÌ™mqvþI«¼W/{Ö­ë @\\&Ë–ãèÑdT*ps³äßÿnÏþs3gR9{vàç3|x«*õ[‘9Õ†¨¨4¾ý6Ž?ÿ¼ÍÍ›9éѼ¹C†´ 0°Š{ÞTôÚ !ê]o'(·¢^©Ë÷ãîé§ÃÈÍUqà€|E|eɵ¢n’}¼…BÔšää\¼½£°P{MæÆ,®]Ë,³ò.þ&×Nñ0x !„Ð’––ϼy§HHÈ!'§ÈÈ;L›v &OnSÛëÓäÚ !D¶B¡accÌÆ~lÚt…aÃ’˜˜CƒtïnËÊ•>4mjZÛC¬³äÚ !Fo!„Zºu³¡[7I‹¨ ¹vBˆ‘T!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@¾@G!„¨!Û·ß`úôcêqá ZÑãï·ßnðé§—¸r%“¼<;vô¦ukËjiýúË„„œÀÎΘÇŸ­–v«Shh'FhŸ?ÿ»w÷!<üš65ãå—rèPÒ#ׯ$ðBQmÔj5EEÅÿ•æîþ C‡¨…Q‰ÇɃ^C;wÆ£VÃȑΘš*qr2ãСgªmµ[WêÃïBQ‘šY³NbiiÀÒ¥±µ5¦aCC.ì@³fæÌž}’üü¢*ׯ¯$ðBQmÌÌôÙ·¯6t«í¡ˆÇÔƒ^C 9XYèzX¢”cÇR¸|9gži‚±ñßi.J¥‚šÃÞ½ U®__Ià-„BˆÇ‚JUv\ÔŽ£G“pw·*sÌݽáÿêÜ®rýúJn®BÊÏ/bíÚhvìˆçæÍlŒŒ”x{7fèÐæôìi‡R©ÐÔÍàƒÎ‘La¡šÖ­-™<Ù•/¿ŒåÈ‘â?bÍX²¤ãCû0!‚°°¿W“¼½³yóS9’̈‡øüó®øûÛ°hѾü2VSõêÎLžü‡æñž=}X¹2Š£G“IMÍ`ñâŽÌ™sRS§ä†¯{oì:q"g矀╮èèMý;wòX½:šßO 11 :u²fÊ”6•ÊM-}ãYxx?–.=Çþý·04TÒ£‡ï¼ãAFF ž%"" 33zõ²cî\ÌÌ´ÿ4¦¦æ³fÍEÂÂHHÈÁÔTŸ1nœ ]ºhçnßûœ©TЮ]‚‚ÚÝw¬Õ1gWן+Z[Ñÿ¾ÇÓÓ èØq»VÙŒmyã WT*5®®?kÊŸy¦ «WûVx¥Ÿ—ʼ†JŸÛ®Ý/´liÁ•+•oeÄÆf°dÉ9Ž¿Ma¡Oφ̜ÙoïÆ•¾^:4¬Ðッ¹[·riÔÈV­,4¨)Ï=稵b œœË²eç9x0 ¥R—W#‚ƒ=pr2{àܶmû‹7ß<®Uvôè³ØØWèºåæØ—”ÅÅeT¹~}%·BèÐüù§Ù¹ó&ì‹Oc23 Y¿þ2ãÇå›ož¤sgk®]Ë"00%«Ww¦cÇÆÄÇg±hÑY.^L¯ôŸ~Ú…o¾‰ãÝwOóá‡><ÿ|SͱmÛþÒü¿$ðž7σÎmøúëX6nô &f°&€Ÿ7ï4Ó¦¹±lYG.]Ê`Èpúöu`ÈÁe‚ü1c\3Æw÷_hÛÖJðß+))—ÀÀpòòT„„tÄ×׆øø,Þ}7’_ gÓ&?¼¼Uh®%7ž•Œcñâ³LœèÊÒ¥ÞìÞ}“  ã¤¦æc` ÇŒn4kÖ‰mÛ®|33}æÎõд•œ\<®Ü\‹{áëkCrr.Ë—ŸgøðC¼ÿ~G† ivßç쯿²X²ä,ׯgרœï Ø•¥¥11ƒ=ú‡%ÖW¼)• bbΈ­8бRó(ý¼Tæ5TúÜÒ»xŒu˜Ã‡“ï;ÞáÃ[j½æ+*;[Å»ïF2c†nn¾ÄƦ3{ö)^}õ_}Õ__kbbWªÿ‡ý.”¼æòòŠxÿýtîlCNŽŠÍ›¯òöÛ'IO/`Ô(g­s-:Ëøñ­YºÔ›Ó§ï0qbÓ§cëÖžœß€Žœ?ŸÊ¥Ké|ôQ'40¬ðµÉÈ(ÀÔ´l(YR––VPåúõ•¤š!„9’Œ‹‹~~¶+±¶6bÖ¬ö´ha®Uoùòó¤§쟟-¦¦J\\,Y¹Ò‡œU•ú~î¹&èñóÏiÊrsU„…%Ь™¿ÿž@VV¡æØO?]gð`§rÛ?¾5;[cb¢§gC¢£hذâ´K[¾ü<ññÙÌ™ãNÏžöšù~ôQ'Ôj5 DV¹íÀÀf´oo…‰‰’€€¦¸¸XžÈ믻àæÖSS%ƵÀÑÑ”ðpí–/¿ÀỪ翿ææú´haÎÊ•°±1fáÂHnßÎÓÌ¡ôsæêjɲeÞ$%åètÎjÌŠŠÔlØpY«üĉséß¿‰¦¬ªó¨Î×Ðë¯ß¼7ofÓ¿¿c•ÚÍÈ( (¨ÞÞ15UâîÞ+|(((â½÷ÎÔHÿ%¯¹ààâל™™>ÖÖF¼ñ†+O=eWî9C†4ÃË«&&JºvµÁßß3gîr÷nþ}ûIO/`̘#ÿw·JÝ£V£P<¤bë?Î$ðBêÑÞ“'ï0wî)NŸ¾«I í«Yí8p €§ž²×:¿Q##Z¶ÔÒ+ÊÊÊž=í8|8‰ää\ÂÂðôlÈ«¯¶$7WÅîÝ7âºÿøã6ýú5)·-OφUÃý„†& §§Àß_{{4c\\,9w.•[·Ê¯Q’?ZÂήøcôöíµS9ìíMHLÔîcÏžâëÑ«—öó`h¨G·n6äæª8x°ø¹ºßsfkk\æÔìœU·n6´mÛ€­[ÿÒ¤¬[w™Q£œµR¢ª:ê| ùùÙâêjYîxGŒh…¾~Õ":##e™qººZbkkLTTII¹ÕÞÉk®G²Aöÿý_·2«ÝÚŸŒ”¼ÆK¿žK\¹’Á /ìGOOÁ¼yZÏgEYXßàš]XæXÉ‥¥A•ë×W’j"„:4¾'^^غõÇÀǧƵàé§ŸŠóÀ³² 12RbjZöK14¨ú§Áƒ Mà×_o0z´3?ÿüƒ;ѵ« !!çøå—¿ø×¿œØ¾ý½zÙ•Û?€‰Éý¿¬£²òó‹4Cwèðë}ë]½šY¥=›Í͵ÿÔ)Åi&&Úåzz ­-ìJÆed¤,“÷ `m]Ü$'ç>ô9kÜØˆ¸¸Ì2mãϹ:s¼ïõúë.¼ùæq6mºÂäÉmˆ‹Ë䨱V¬ðÑÔy”yTçk`äÈVÌž}Jk¼G&³téÃï¸++ƒrWa76"))—””êtµÜïcdCC=,- ÈÊ*äÂ…AUZ}« ††zXX‘Q@VVa™@èöíâÕNã‡>g÷®‚–´]]s®Îï{ àÈòåçùúë+Œך .3ths­ëP—ž»AƒœX±â‚Öxÿõ/§GJ¡(ySQZÉï`ãÆFUêÿA¿ zÍU¥6nôÀÀÀýÌ™sŠ-Ìñð¨Ü']ºX³z5œ;—Z&%íܹTºvµ®rýúJRM„B‡¼¼¶kîî××Wàçg˧ŸvA¡€}ûniê•|Ì\’¾P"99Wkå´² ôxî9GÍ×6÷éã Ù!! À •JÍGE‘””K×®Õûm‹&&úüý}û†òý÷Wèׯ *•š'RÊœ÷Ùg—xòÉ]µ²•\ɧ÷>7P¼2yäH2ÆÆJž|²ø¹ºßsv÷n>qqYeÚ®«s.kÿ>M IDAT¡T*9Ò™””<6lˆaûö¼öZ«2õêÊ< õxå•–šñnÛö#G–M˨ŒìlQQiZeÑÑé$%åâæÖ@³Ú]Ùþô»PòšÛ¿ÿV™óÜËûïŸ}¤9™™écggŒ©©’Ï>ë‚©©’ "4i3åëk³³;wÆ“—÷÷}'*•šíÛoàà`¢•¢UÙúõ•ÞB¡cÁÁ§¹x1üü"RRòøüóK¨ÕhºAAí°²2ä½÷"9t(‰ìl—.¥óöÛ'+´Õ׃¬¼yóU­•§¾}‹oäÚ¼ù*ƒ5Õ|\]]Úµ³"..“„„NºÃõëYtêÔ€  ¶89™ñöÛ'O$#£€ÔÔ|¾û.ŽÕ«£™=Û½VVSƒ‚ÚâèhÊ¢EgØ»·øæÓ¸¸LfÌ8Frr.ÁÁX[ý¯nÙç,&&ƒ™3•›~RWç|¯—^jŽ……~xž¾}ŸÐäß«.ÍãÕW[bl¬äÃÏÓ½»-Íš=x;½‡11Q²`A$‘‘wÉÉQqöì]Þ|ó8z{”©_Ñþö»àèhÊûïŸeß¾[derëVï¾Irr.£F•}óSUŽŽf¬YÓ™;wò˜4)¢Rß©§§ $Ä›´´Þ~û$Éɹ¤¦æ3~$W¯f²xqG­g*[¿¾R¨Õåe !Äã)11‘ÌÌŠ­;;·bÕªDú÷¯ú reEE¥ñí·qüùçmnÞÌÁÈHæÍÍ2¤Í´>‚Ž‹ËdÙ²s=Z¼'´››%ÿþw{þóŸ œ9“ÊÙ³«<Ž>}BÉÏ/"<¼ŸVŸo¿}’¼Æ®]}pvþ;ßòô黼øâþ2íÄÄ Öü\z¯e€Aƒšjr‚¯\É`îÜÓœ;w++C&Lpå•WZhꦦæ³vm4¡¡7IHÈÁÒÒ¶m0v¬ Ý»ÛVxnåuÒ$Wúöu`ð`íò  ¶øøXóÒKÚ_ß=uªS§¶ÑŒkÍšâqݺ•ƒ‰‰>:4dܸÖe>¸÷9+Ù{}Ê”6|ñEL¹{¯WלkÒÒ¥çX·î2Û·ûÓ¦Mù{‹Wdòzæ™&eʶléI‡Ú)sçžbóæ«|÷ÝSš`¶2îÝwÞÎΘO>é²eç9sæEEàáÑ7ß,ÞÇ»<é¿"¿ ÷¾æ52Â×ךéÓÝhÞÜü¾¯ñ™3Ûjö/Ñ«—=ƒ5eúôc¥ÆéŽ—Wã2íÜû;[.¤±bÅyNœH¡¨H§g#¦Ow»ïõ©lýš¶c‡9S§ÚûðÊ€¹¹9vvåï.Sx !ꕺxW‡§Ÿ#7WÅýj{(BÔ9[¶\cÓ¦+üüs¯dÿ¢rtxKª‰BÔAÉɹx{ÿFa¡öÚÈY\»–Yíù×BÔß}w•Ñ£-·ûqî_Ômx !D•––ϼy§HHÈ!'§ÈÈ;L›v &OnSÛâNøá‡kLœAv¶Šo¿#--Ÿçž«Úæ<Žý‹Ç‹l'(„u17ú±iÓ† ;Hbb н»-+Wúд©©¦néœÎòÜ›³ü8û'ÍUT\hh^^¿j¾1ó~7sÖÔë§¢ý?äw¬fIŽ·¢^ù'äx !„¨’ã-„B!D=$·B!„: ·B!„: ·B!„: ·B!„: ·B!„: ·B!„: ·B!„: ß\)„:²þõ„ì ÀÎ܎Ó×òˆÍÐMC9qãD¹ÇFúŒd^ŸyåÛ»ŸEa‹ø+í/¢ßŠ.·NZn¿EýÆŽ‹;ˆJŒ"·0{ {<Ÿðd¬ïXÜìܪmB¡+²â-„:2¦óbfÅücƒÆë©×·eË×s;ûöë†ì aÁžôqéî1»8>í8!ýC¸x€¯½ª£Q !Dõ‘o!„UöÓk?áîà^¡º+¬¤c“Ž|òÂ'<µæ)r rX?Ð3‘>#5;5íÄÊ+øÅ@–î[JßÖ}eèB¡sx !„Љ%ý—`¬o\áºåq³sÃXߘë©×Q«Õ(Šê¢BÔ(I5B¡ º$§ ‡ÜÂ\ZÛ´– [ñØ‘o!„¨%±)±,Ù»„ã7ŽS¨*Äó Of>5oGoM|U>k¬eÇÅÜL»‰‘¾ÞŽÞ í0”ž-{¢ÔS>´×e®¨ŠT“µ™5S"*<‡ŸÏÿÌœ]s¸zç*J=%mlÚð²×Ë<ßîù ·Q;.î`R·I5Ò¾BÔ$ ¼…¢ddóîžw™ñä Üì܈½Ëì³yõ»Wùꥯðmê Àü=óÙyq'|ŒOS2ó2YÿçzÆoÏ7/Cg§Îíë~;‡T‡´Ü4Bú‡Ð²QKÒX{t-3Éé›§y§ï;ÕÚ×í¬Û|°ÿ†x¡›þÕÚ¶B肤š!D-ÈÈË ¨GÞŽÞ˜˜âîàΊ+(Pð^Ø{šzG®ÁÅÚ¿~ëcmfͬ^³hѨE-Ž¾ØæW7³|ÀrÚÙµÃÄÀ„–[²|Àr<Ÿðdã‰D&DV[_©9©ŒÚ<ŠÎNy¯ß{?A!ê ¼…¢éáéà©Uæj㊭¹-Q‰Q$e&УUNÆŸdîιœ¾yZ“2:.´B«Ýµá×gøýòïÕÒ^NA#7ÄÅÆ…~X¡ô!„¨‹$ÕD!j•±U¹766mLRf)Y)ØšÛ2¿ï|¼žðbë¹­ ÿn8>Ž> óÆÓ­Ÿ®P_5™ã][s[R²R©•ZÅäŸ&cgnÇ>@© [ñø’À[!jAF^F¹å)ÙÅÁjc³Æ( ÚÐ>€Â¢B"®E°þÏõLÚ:‰9½ç0ºÓè‡öU“9ÞåIÌHþžÃ£˜·kùª|>yá­ ÛÿS>|þC:<Ñá‘ûB]‘T!„¨ÙÙD%Fi•E'G“”™„››fÕØk¥±)±èëéã×ÂO_ø…BÁ¾˜}:w‰"`Ѓʔ«ÕjÍÎ#½]z?R«­âRÒ%>{ñ3 •†Ô–BÔ²â-„µÀÄÀ„¡ ˜Ý{6­­[s;†Ù;gc 4 ¸O°VÝà]Á¼Ó÷Z6nIF^ßœüµZM×f]kiôÅÎ'žçÝÝï2Úw4ööħųæÈÎÝ:ÇïerØ+ãdz?²êÐ*-žww¿KdB$›†m«‰W™ö}›ú2íÉix8xpéö%†|=„ˆ) ¼ï½Wï\¥mæøÏ¡mbnÇ”{öÆìeÜ–qõb˜×0ŠÔEüzáW…-b´ïhfõš¥Õöý®YEŽ'e&Uûõ(©ÓÇ¥㻌§mNÆŸdü–ñ´¶iÍÖ×¶VèšÕ„‘›Gr(î?¾ö#žžZǮݽFïÏzÓήÛFm *1Š!›†Ð¼Qs~xõL LÈWå3lÓ0FùŽb€Û€*·]Z÷Õݹ}[v55fÇs¦Nµ#&&¶BõÍÍͱ³³«r’j"„µ #/ƒ Ax;zcj`Š»ƒ;+® @UÀ{aïU[?%9ÜJ=%zÿû'_O¡‡R¡D©P¢P(X¾œø´xæøÏ¡g«ž˜˜âbíÂGƒ>B­V³ tA¹mï:žÎN110ÁÓÁ“è·¢+t—È)Èaa¿…x5ñÂÄÀäס³Sg&t@ã44iÈï l;/}If^õ½yªÉë1Äsˆf®Ý›w§g«žœI8ÃÝœ»Õ6þꤦxmN¡ø;=ÉÍÎeÏ-#*1Š íA¨ÕjæíšG·æÝ´‚-D}'·BÔ#}£2+€®6®ØšÛ•¥Ùc[B/…¢§ÐÃßÙ_«ÜÆÜkÎÝ:Ç­Œ[eÎ+=þª010Ѥn”(ï:ø;ûóÍËß”9ßÍÖ¢B.ß¾üÈc)Q“×ÃÃÁC뱃¥‰‰0âGcad@v~v™c99X[j•?ÛæY&u›ÄîèÝ Ý4”ÔœTf<5£ZÚ¢>“o!„¨VÆVå®ô56mLRf)Y)ØšÛÖø8òUùdäeÐae‡ûÖ»zçj™<]“GîßÒ¨ü «ôuÈÈË`ߨsi·2n‘ž›®U¿$ˆ{T5}=JцJCàïÕ߇©‰ïV[”ûfâVzqY‹F-Ê›ñä ÇædüI>ðA¹»ãTµm!ê+ ¼…¢”w¥¥d§Ðج±¦LO¡Gª LÝÒÁgU* ±4¶$+/‹ o]Ðùn©¹©¨Õê2oBJ_‡q[Æqì¯c÷ f`Û44iˆB¡à‹c_ðþïï— \¶sËýŽ×öõx˜šÈuîâÔ…Õ‡WsîÖ9·¬uìÜ­stmÖµÌy\ÿƒÌüL\m\yg÷;´±iSæË¡ªÚ¶õ•¤š!D-È.È&*1J«,:9š¤Ì$ÜìÜ´V»mÍmˬ&g&s3ýfµŒ¥Ÿk?Tj•Ön%>‹øŒ'×>‰J]±UÖÊÊ+ÌãL­²Ò×AUT<6s^óyF¦4z^a^¹íš˜h½Yéûy_¾?ý}…Ž×æõ¨ ¾N¾8[;³óâN­ë©*R±=j;–ôjÕKëœi7˜µck¯á³?ÃXߘ ['p'ûÎ#·-D}&·BÔ„. 2!’œ‚Î&œåÍ_ßÄ@i@pŸ`­º~-üHÊLâë_“]ÍõÔë¼öMß§õÊ ê„“•oÿö6áWÂÉÈË 5'•ïN}Çêë™í?»ÆV~-Œ,Xq`§âOÝ÷:(õ”tvêLrf2ëþXÇÝœ»äæq-‚oO}[n»íìÛw'Ž„ôNÅŸâúÝëtjÚ©BÇkózÔ=…!ýCHËMãíßÞ&93™ÔœTæ‡Îçê«,~v1FúFšúÙÙLøqÁ}ƒq¶vƱ#kþµ†ÄŒDÞøé ‹ «Ü¶õl'(„¨Wêòv‚åí_½lÿ2ÎÜ\ÛCBüCÉ>ÞB!„BÔCx !„B¡² BˆjS:o¹<&&Zûn;‡8kòž…¢>“À[!Dµ©ê–BñO ©&B!„Bè€ÞB!„Bè€ÞB!„Bè€ÞB!„Bè€ÞB!„Bè€ÞB!„Bè€ÞB!„Bè€ÞB!„Bè€|ŽBÔ‚Ø”X>:øþõ'wsî¢*R`adÁ©§XÿÇzBö…`gnÇáɇkm¼¢ØñÇyiÓK|óò7tvê\æøö¨íLß6C¥!þ}¡N¯¢î7yM ñhdÅ[!tìFÚ ^Üø"±)±¬ý×ZNÏ8MäÌH>ø=Åßÿ,é<†˜Y1¸Ù¹ÕâhŽ~¿ü;V&Vø4õ)÷ø·ÄÌŠ¡[ón:Y±‡¯¢î7yM ñhdÅ[!tìûÓß“‘—Áü§çÓ±IGMù³mžåÙ6ÏÖâÈÄÄ]£g«ž(ÊÚJ¹êúø„ø§“o!„б«w®ÐƶMíDTJlJ,qwâèãÒ§¶‡R®º>>!„ÞB¡s…E…@qî¬x|„]ÃPiÈS-Ÿªí¡”«®O!©&B¡3¡—B™¸u¢æq»åíÊ­÷/÷±ì¹emïNöV^Íï1¿“˜‘ˆ…‘švbŠßÜlÝÊísÿÄý,Û·ŒƒqQê)ñjâEpŸ`œ¬œ4uTj».îâ‡ÈˆNŽ&#/ƒf ›1Äs#¼GhòÐK·>1œ¥û–²?v?†ú†ôhÙƒwú¾CF^ Cq-3#3zµêÅÜÞs134«ô|Æu™«æFÕ‡±6³&bJD…êBqþt×f]150ՔŦÄòÁþˆ¸ªHE;»võ ºo›czn:ÿÓQëœOÍàno R«p]êª)ÆõV^}ßñå«òY{d-;.îàfÚMŒôðvôfh‡¡ôlÙ¥Þßé(•ǽç-Ù»„ã7ŽS¨*Äó Of>5oG+Ä?‘ÞB¡#}[÷%fV ~œ@Øå0ÎÇHßHsünÎ]:}Ô©Bm%e&øu y…y„ôÁ×É—ø´xÞÝý./n|‘MÃ6áÕÄ«LŸ‹Â1¾Ëx–>·”“ñ'¿e<Ó·Mgëk[5m‡Ç†3mÛ4‚z±*`Eê"~½ð+‹Âq+ã³zÍ*w>‹÷.fb׉,}n)»£w´=ˆÔœT ”ÌxjÍ6cÛ¹mïÆÌÐŒ¹½çVz>ýVtEŸŽJIÉNáôÍÓ,xz¦ìÚÝk~ˆ‰¾ «VÓѱ#¥þÅ’½K¸~÷z™6*:ǘY1Œþa4‡â6>Ló¦H©P3+†À¯á=‚m>p|ó÷ÌgçÅ|ð1>M}ÈÌËdýŸë¿e¼Ö®'•G‰ì‚lÞÝó.3žœ›±·c™½s6¯~÷*_½ô¾M}ùº QßHª‰B<†–‡/'>-ž9þsèÙª'¦¦¸X»ðÑ P«Õ,]PîyC<‡àÕÄ º7ïNÏV=9“p†»9wµêuvêÌ„®h`Ü€†& 5ޗǾ$3/³Ü¶=ioßÚàbíBø•p^÷}7[7L Læ5 ÇŽ„_ ¯–ùèÊÞ˜½¨QÓÛ¥·¦lyørÒsÓ îŒ_ ?L LqµqeÙsËHÊL*ÓFeæ8Æw Eê"6ü±A«7N˜‘H·þß‘«Gp±vÁ¯…ÆúÆX›Y3«×,Z4jQf\•™G‰Œ¼ ‚záíè©)î‚Uï…½W± +Ä?ŒÞBñ ½ŠžBg­rs\¬]8wë·2n•9ÏÃÁC뱃¥‰‰š2g¾yù›2çºÙºQXTÈåÛ—Ë“»ƒ»Öc; ;ÚÛ·×*··°×êïQæ£+¡—Bq·wÇÖÜVSvàÊ€29Õ¶æ¶e‚Û’6*:ÇnÍ»ÑÖ®-[Ïm%5'USwÝëÕiT™]KÊ_V=8’¹;çrúæiM Nè¸P­=¾+;FúFx:xj•¹Ú¸bknKTbÔƒv!þ©$ÕD!3ùª|2ò2è°²Ã}ë]½s{ {­2 # ­Ç%7xªQkÊ2ò2Øðçö\ÚíŒ[¤ç¦k“SSnæ†æZ(Pê)110Ñ*×SèQ¤.ª–ù”V9Þ99¹z„IÝ&i9+? #}#­œïÍw'N«~eçøºïë¼ùë›l:¹‰ÉÝ'w'ŽccÅÀÀü¾óñz‹­ç¶2ü»áø8ú0ÌkO·~ºJó¸—•± …¢ì9¦IÊL"%+Eë€Bo!„xì* ±4¶$+/‹ o]¨ö=›ÇmDZ¿ŽÜ'˜mÒФ! …‚/Ž}Áû¿¿¯¤W‡êœOMäx¾z˜ÜÂ\­mú •†˜š‘•ŸEvAv™ õÞUê’ú•〶X¾œ¯O|͸.ãØðç†vZæ¦ÔòÆ P(h@@û ‹ ‰¸Áú?×3ië$æôžÃèN£+={•¼‘(-%;(Ú…Ú$ÕD!Cý\û¡R«8qãD™cŸE|Æ“kŸD¥®ØÊï½TEÅmÚ˜ÛðšÏk42m¤YÕÌ+Ì{äqßOMͧ:„]£©USZÛ´Ö*ïѲðwªF‰»9wË]%®ì• %#}F’’†?7°=j;¯ù¼Váñy­ô"6%}=}üZøñé Ÿ¢P(س¯Êó(‘]MTb”VYtr4I™I¸Ù¹Éj·åÀ[!CA=‚p²râíßÞ&üJ8y¤æ¤òÝ©ïX}x5³ýgWiåX©§¤³Sg’3“Y÷Ç:îæÜ%·0—ˆk|{êÛ˜I±ššÏ£*R±7fo¹_JÔ3++Þ }Cq‡È.È&æv 3™YnÚFUæøR‡—°0²àÃÒ×¥/væv@ð®`.&]$_•OJv ŸG|ŽZ­¦k³®UžG „. 2!’œ‚Î&œåÍ_ßÄ@i@pŸà^W!þ©jµºz?3BˆZ”˜˜Hffù»n”æìÜŠU«éß¿bõUé}¯µÄŠ+µyãjëãÒ‡°ËaZe“ºMbæS3â4€µGÖz9”„ô,-ik×–±ÇÒ½ywNß<Í‹_,· çg­ò^νX÷bq°ýáÙ»ŸäÌd¬L¬èѲ6æ6|zôS ø†ÉùOÏ/·í¾.}üÕ`­ò Aø4õá¥M/i•Oõ›ÊT¿©ž®¸q‚¡›†jm¿w¯¸;q,Û¿Œ£×ŽR¨*¤µMk¦tŸÂÇ¿àÈÕ#@ñn/Kú/ª6Ç¥û–²îul½½Ì·>h|Q‰Q|{ú[þ¼þ'7Ó‹÷ñnÞ°9C<‡è¨•Ÿ]Ñy´jÜŠ}!Ø™ÛñÉ Ÿ°lÿ2ÎÜ>!ê:]Þ’j"„BÜGØå0z´ìQgƒÚº>>!„6ÙÕD!„¸Ðq¡µ=„ªëãBh“o!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@o!„B!t@¾2^!„–õ¬'d_vævž|¸–GôÏ“–›ÆoQ¿±ã⢣È-ÌÅÞÂÏ'<ë;7;·rÏ‹JŠbEø NÜ8ªHE‡&˜æ7 oGoÏ@QYñB¡eLç1ÄÌŠ¹opWWddÓû³ÞŒÝ2¶¶‡RíBö†°`Ïú¸ôaט]Ÿvœþ!\H¼@ÀW„^ -sNdB$134c÷ØÝ„O §iƒ¦¼üÍËŠ;T ³B”&·BˆÇ’Z­¦H]DQQQm¥Fz2Òg$6æ6˜˜Ð©i'V\‰ªHÅÒ}Kµê©‹˜õÛ,,-YúÜRlÍmihÒ…ýÒ¬Q3fïœM¾*¿–f"„(!©&B!Kf†fì›°¯¶‡Q#–ô_Rn¹›ÆúÆ\O½ŽZ­F¡Ppì¯c\¾}™Þ#0Ö7ÖÔWê)à6€U‡V±7f/ϸ>£“ñ !Ê'+ÞB!Äc"§ ‡ÜÂ\ZÛ´ÖÝG¯ÀÝÁ½Ì9îöîZu„µGV¼…BGB/…2qëDÍãý÷³lß2ÆD©§Ä«‰Á}‚q²r`Í‘5¬<°oGo6¿º€W0ú‡ÑX™Xq|ÚñrÛŸÎÒ}KÙ»C}Cz´ìÁ;}ß!#/ƒ…¡ ‰¸™‘½Zõbn﹘š•;îØ”X–ì]ÂñÇ)Tâù„'3ŸšY憽;ÙwX}x5¿ÇüNbF"FtjÚ‰)~Sp³u+wŒ{ÆîaåÁ•½v”ÔœTŽM;FC“†•º–çƒÎc¤o¤yœš“Êš#k»FBz¦†¦tx¢ã:£K³.šzùª|ÖYËŽ‹;¸™v#}#¼½Úa(=[öD©§|à8\—¹¢*R=´€µ™5S"*T·<;.î`R·IZå±)±Ø[Ø—9ÇÞ²¸,îN\•ûBT…Z­V×ö „¢º$&&’™™Y¡ºÎέXµ*‘þý+V¿ºLøqa—ÃèãÒ‡ñ]ÆÓƶ 'ãO2~ËxZÛ´fëk[µê»¯p§­][Mà]"àËn¤ÝÐÞ¥ÛïçÚ‰]'Òªq+vGï&h{=ZöÀ@iÀ´'§Ñ¬a3¶ÛFðî`FuÅÜÞsµÚøÅ@n¤Þ };f<97;7boÇ2{çlbSbùꥯðmê @Rf_’W˜GHÿ||‰O‹çÝÝï™ɦa›ðjâUfŒ¾M}™öä4<<¸tûC¾BÄ”ˆ‡Þ¥Û¹7ðNÎL&ðë@r sYüìb|›ú’œ•Ìòðåì¹´‡÷ŸyŸ!žC˜³s;/îäã€ñiêCf^&ëÿ\Ïú?ÖóÍËßÐÙ©s…Æ¡ ·³n3àÿàïìÏâgk¹y$‡âñãk?âéà©uìÚÝkôþ¬7íìÚ±mÔ6]Yˆ:oÇs¦Nµ#&&¶BõÍÍͱ³³«r’j"„µdˆç¼šxab`B÷æÝéÙª'gÎp7çnµ´èH{ûö˜˜Ð>k¯„óºïë¸Ùºaj`Ê0¯a86p$üJx¹mdäeÔ#oGoL LqwpgÅÀ¨ x/ì=M½åáˉO‹gŽÿz¶ê‰©).Ö.|4è#Ôj5 B”Ûþø®ãéìÔ<<‰~+ºÂA÷ý,_δÌë3gÌÌiѨ+Ÿ_‰™ Cr;ë6G®ÁÅÚ¿~ëcmfͬ^³hѨÅ#¡º¥æ¤2jó(:;uæ½~ï=ü„{¨)^_»75EQ;$ðBˆZâáà¡õØÁҀČÄji¿t¾¯Eñ*M{ûöZåöö÷íÓHß¨Ì ª«+¶æ¶D%F‘”™§~è)ôðwöתkcnƒ‹µ çnãVÆ­2í—n»:ì¹´€^­zi•* éÖ¼¹…¹Œ;@V=8’¹;çrúæiMÊHè¸Ð:³ÚSÃÈÍ#q±qáÖ›þbad@v~v¹çX[Öì@…%9ÞBQKJ‚¥†JCàïÊGenh®õX¥ž­r=…Eêò·ä³2¶*w¥´±ic’2“HÉJÁÊÄŠŒ¼ :¬ìpßñ\½sµLré±<ª|U>yé•›³nmf §£Ìï;¯'¼Øzn+ÿ€£ü†ñtë§+ÔgMæx«Ô*&ÿ4;s;>ðJEù9ç­·(÷ÍÍ­ôⲺ¶Š/Ä?‘ÞBQÇé)ô(P”)OÏM¯ñ¾KêÒR²ShlÖC¥!–Æ–dåeqá­ ÷ uÁPiˆ…‘ydåg• ¾KRLlÌm€âô‹€ö´ °¨ˆk¬ÿs=“¶NbNï9Œî4ú¡}F¿]ýùŸy»æ‘¯Êç“>Ѻ®þŸúóáóÒá‰â7:]œº°úðjÎÝ:ÇàöƒµÚ8wë]›u­±q !*FRM„¢Ž³5ÿöî<.êjÿãøköMT-×Ä×LÌ%Í2M­´ìÞ¼jnyÕÒìºåmó™æÕ´M»•Ùâ½¶˜¥%æR.Tn¸‘й$" ʾóûƒ“#¨ˆ0ƒð~>>d¾ß3ç|Ι>œ9ßóõ/6“™˜žÈÙÔ³Þvf^&ÑñÑVÇŽ$!!= € ü=ýèÓ¬&³‰Ýgv«ãÈwèúfWLæÒÍ ß¨¢™êÍÇ­÷øÎ5å²ãä\]éÚ¸+¡ C-;‚8:8Ö8Œ·zƒÁÀæûî¾xÛbŽ&å‡ß±|r%t$Ð7õ¿­''?ÇrÜT`â›èo¨ë]·ØÒ±=%Þ""•\Xã0Òøh÷Gdæer:ù4/o|™Úîµ+¼m7'7^Œx‘¨¸(²ò²8w€gÖ>ƒ“щٽf[ÊMí6•> ˜öí4¶þ¾•´œ4’³’ùtï§,Ù¾„=gØl&|j·©Ô«Q9ç°)f¹œ¸p‚É_O&1#‘Ù½g[–œÌþn6¿%üF®)—¤Ì$Þ|³Ùl×âÏ|Îâm‹‰Š‹"dAáVÿN'Ÿ¶*ï`p ¼o8)Ù)Lûv‰é‰$g%óBÄ œ¼p’¹÷͵ÚnQDìCÛ ŠH•R™·Üwv¯xØêØø;Ç3å®)†Zï؃e/ —{¼²é¶ßBjv*­ê´bÖݳ˜ýýlË2‚±wŒ¥÷í½K¬¿wÓÞ úÐzùÁÔnSi_¿=®|Ôêø¤°I¸;¹¾9€ÏÞzè-æm™Çþ³û)0R7„gº=Slïä¬dÞÜñ&Ç"ˆKÃÛÕ›-Ýi4]u¹âÄL)Õ¹|o€-° ÿK,Kw,%âhçÒÎáæäV¸÷c¬êèøh>Ù÷ ¿œþ…³©…ûx7ªÙˆ!­‡08d°Ýv½zô5gÜW[mYjRäpüal]ÀîØÝÐú–Ö<Ýõéb¯•ˆ²õv‚J¼E¤J©Ì‰·ˆˆT.ÚÇ[DDDD¤ Râ-""""bÚNPDD*•Ë×»—dRØ$&…M²A4""åG‰·ˆˆT*×{¡¥ˆÈÍBKMDDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼ED¤ÒËÌËäîwîfôêÑöED¤Ì”x‹ˆH¥g6›)0PPPPì\ð‚`Yùˆ¢¹>ºe¼ˆˆTzÎl·ÙÞaˆˆÜÍx‹ˆˆˆˆØ€f¼EDl$âhO~ñ¤åñ†ÑXøÓBvžÚIrV2íêµc÷™Ý–2íêµcÕ_W°ãä†}6Œw~—ž=˜³qìúÀRþÈ´# Æ+ÆÐl^3L¦RÅëëáKäÄÈ«–÷ù86ÛXæx— Z„/'X—4&sï›ËÌõ3-eM=„‹£ Ë^NøæpvŸÙM`x F#GþqÄRþBæ–l_Â1?Ÿ—‹êw`bØD‚üƒJ5""åÁ`6›ÍöBD¤¼ÄÇÇ“žž^ª²MX¼8ž¾}KW¾¼%«ëwä©®OR7„£ç2ä£!DNŒdÝoëxþûçy½ÿë<ÐòËó¦};Ï|ÎýA÷³hÀ"Ëñˆ£|´ç#V<ºÂ¦ý(òñÞo8ÞkIM·š–2E‰w‘àÁ´haIø/•žÀà““ŸCxßp:6èHlJ,Ïÿn>toÒí'·“˜žÀÆci}KkþÚö¯dçgóý‘ïHÎJæçÓ?Ó§Y›Å]‘ñ^iLÊ*âhËR—"~ž~4õmÊÁs9—v®\Û¹­ñ±7'·+žÔjG#X½–‘FòÕÁ¯Ôjv&|s8_þšƒä›èoèØw'÷RµYÞk¼Ë;Þ«ÉõÊ5å’–“@›…m®Xîä…“ÔñªSn튈\‰o‘J¨G“ø¸ùðå/Ør ûÎîcÉ %¸:ºÖ(Œm'·‘žÀ¾à™nÏ”ºÞK/:¼â- †;ñvõ&#'ƒÃÿ8|Õ‹NEDlAKMDD*!'£÷ÝOtB4 ¶. WÓ^¸:º0°Õ@L&ý´ˆ„ô:7ìlçhí¯›“y¦<ËãÞïöæ³}ŸЧYLf“ÕN1EÞ‰|‡®ovÅd.Ý'""7J‰·ˆH%5°å@VE­²º±÷í½ñpö`UÔ*´€ƒ¡rü(·W¼-ë´äÄ…ĥƱ7v/§/ž¦CýLí6•> ˜öí4¶þ¾•´œ4’³’ùtï§,Ù¾„=gh&\DlFKMD¤Ú2͘l8Ù¹ïì>^ñ°åqËù-ˆ™SbùÐ[CiT³¹¦\:Öïh9îêèʽÍîåóŸÛu7“Ë•%ÞÒŒÉåûŸ·œß’-° ÿž»û9f}7‹{–݃›ÿ¼çŸ4©Ý€Úîµùâo_ðæŽ7yaà ĥÆáíêM‹€¼ýÐÛtiÔ¥üBDn&Sáï[Ñ>Þ"R¥\Ï>ÞíÛ7bÊ” <öXjG%""•ÑÇ{³pa-ví:YªòÚÇ[D¤Œê×ÏçÄ '{‡!""vrò¤3 æÛ¬=%Þ"Rmµl™Ã¾}®öCDDìdß>‚‚rlÖžo©¶ºvÍdÿ~WΟ×Åu""ÕMb¢‘¨(Wîº+Ófm*ñ‘j«[·L<= X½ÚÛÞ¡ˆˆˆ}þ¹7ÞÞJ¼EDlÁÕÕÌ£¦òŸÿÔ %E?EDª‹”þóŸ<òH*®®¶ÛgD¿iD¤Z?þ"ŽŽðƵ슈ˆØÈâŵ0`ܸ‹6mW‰·ˆTkLž|>òæÐ!{‡#""ìÐ!V®ôfêÔ xyØ´m%Þ"Rí=ôP*wÜ‘ÍØ±uHHÐ}ÅDDªª„GÆŽ­ÃwdóÐC¶¿‡ƒo©öà7ÎááafìØ:deéG£ˆHU“•åÀرuðð0óÆçp°Ãzýv¼½ X¶,ŽØXG{ìÍ|‹ˆT! …?ÛccY¶,ooÛ.1)¢Ä[Däÿ5hÇêÕ±df:ðàƒ·jÍ·ˆHpè >x+™™¬^Kƒyv‹E‰·ˆÈ%4Èãÿ;C``>x+/¿ì«­EDnB))¼ü²/>x+…?Ûí™tÌf³í6/©`ñññ¤§§ßp=…7W˜?¿f3Œ™ÂC¥âçg*‡(ED¤¢$&ùüsoþóŸ 0uêz(µ\Öt{zzPæç+ñ‘*¥¼ï"ii¼ývMV­ò&5ÕlBC³iÔ(5 0ênó""ve2AJŠ‘“'ٻוýû]ñö.à‘GR7îb¹n¨Ä[DäåxÉÎ6ðãîüô“;ºðÇޤ¥1i\nj;ÿÿÿÎvBäF88^ _¿~-[æp×]™të–‰‹Kù§¸J¼ED.QQ‰·HU4qâDÞxã ;G"rs¸ÑÄ[W ‰ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€£½)O...öAä¦áèX˜xzzÚ9‘›ÃþŽQâ-"UнC¹i¸ººÜÐ-°E¤ô´ÔDDDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDlÀ`6›ÍöBDDD*Ö§Ÿ~ʲeË(((°;räÍš5³spp`ôèÑ :Ôæ1ŠTuJ¼EDDªRª²û÷ï'88¸‚#©~”x‹ˆˆTAAAüöÛoW-Ó¼ys¢££m‘HõâhïDDÊS||<éééöC¤Rêׯ111äçç—xÞÑÑ‘~ýúqüøqG&rsðôô$  ÌÏ×Å•"""ÕDÿþý¯˜t˜L&úõëgÈDª%Þ"""ÕÄ­·ÞJpp0ƒ¡Ø9ƒÁ@«V­¨W¯ž"©”x‹ˆˆT#ƒ ÂÁ¡ø¯|ðA;D$R}(ñ©FúõëGIû*˜Ífî»ï>;D$R}(ñ©FjÕªE§N0–cÜqÇøúúÚ12‘ªO‰·ˆˆH53pàÀb³Þ´S4"Õ‡o‘j¦OŸ>V3ÞF£‘Þ½{Û1"‘êA‰·ˆˆH5ãééI=pttÄh4Ò£G¼¼¼ì–H•§Ä[DD¤zà0™LðÀØ;‘jAw®¹f3œ9ãÄ8’šj¤„Í!Dn yyýqrú`&7·ë×»Ú;$‘21Ìx{P¿~>õêåQÂ6õ•†o‘k0™`ËÖ®õä§ŸÜIIч…RU `Ê”†vŽC¤|Ô¨Q@×®™<ð@:ݺepÉ¥ •‚o‘«øáæÎ­ÍéÓNtê”Å„  ͦaÃý4–¤$#>X;Üì–o‘K­ZåÍÈ‘u¹ë®LV¯Ž¥}ûl{‡$""eÔ¾}6«WÇr×]™ŒY—U«¼íÖx‹ˆü¿µk=yî9?&N¼Èĉ*õ•ñ""R:..f^=žÆkñÜs~¸»пÿ/I, %Þ""À.ÌœéÏÈ‘ÉLštÁÞለH92`Ò¤ ¤§˜>ÝŸzõò µý'šZj""Õ^r²‘Ñ£ëÒ¹s&Ó¦%Ù;© Ó§'Ñ¥K&O>Y‡ädÛ_ß Ä[Dª½… kâ௿ž íEDª°KÖ/\XÓöíÛ¼E‘JäØ1g>ûÌ›gŸMÂÓ³ÀÞለHóô,`êÔ$>û¬ÑÑÎ6m[‰·ˆTkóç×¢U«\L³w("vñÕW_ñðÃÓ¡C-ÿ¢££¯»®#GŽðÌ3ÏÐ¥K‚‚‚èС£FbëÖ­W}ÞÞ½{éß¿¿¥í#F”µ;"¥2hP­Zåðïײi»J¼E¤Ú:wΑ-[<5*Y;˜H•d2™˜8q"ÁÁÁŒ3†ÜÜ\«óï¼óS§Neß¾}4oÞœ={ö°víZ\]]¯»­ï¾ûްfÍzè!~ùå^}õU~üñGžxâ .\Xì9.\`úôé<úè£üþûïeî§Èõ2à‰'’ٲŃsçl·×ˆo©¶6nôÀÍ­€^½*Ïí„EÊÓo¿ýÆúõëÉÊÊbÓ¦MDEEY_µj•åëxooo‚‚‚8xð AAA¥n'66–gŸ}–üü|<==yúé§ñòò¢gÏž´o߀¥K—›ù~î¹çˆ‰‰aõêÕ4mÚôz*rýz÷ÎÀÕµ€~ð°Y›J¼E¤ÚŠŒtãŽ;²pr2Û;‘ ѬY3úô郫«+={ö$$$Äêüùóç-_{yy•¹?ü¬¬,6lˆÃ%W)7iÒÄòõÛo¿mõ¼ &ð¿ÿýààà2·-RVNNf:wÎbçNÛÝÑRûx‹HµõÛoÎ<ð€ÖvKÕåèèÈÒ¥K¯xÞl.Ÿ?:/Éöññ±:wéã]»v‘––fIò[´hQ.í‹”U‹9¬][ö?:¯—o©¶âãÔ­›oï0¤Šùæ›oxúé§‹ë­·èÝ»7ÑÑÑôïßßr|üøñL™2…„„–-[Æ?þHll,Üzë­ôìÙ“qãÆQ³fáÖgË—/'<<ܪîÿûßœúè#^|ñE«s&L¸j¿f͚ň#8pàƒ ²òÉ'9qâ„å±››õì¡»»»åk³Ù̱cÇhÛ¶íUÛ±•ºuM$$Øn?o-5‘j+;Ûww-3‘òÕ¯_?víÚe•€.Z´ˆÞ½{ÄæÍ›1|ÿý÷L™2…#GŽÐ·o_Þÿ}ÒÓÓY»v-6l //÷Þ{À¨Q£ˆ‰‰±ªñâÅ8::²fÍæÌ™c‰ãòrEüñbç–,YBLL 1118pÀj¦zÒ¤I–F‚ƒƒÙ¼y3ÎÎÎìØ±ƒ#FPPðçVœF£usùãäääëP‘ äî^@f¦íÒa%Þ"Rm™Íh7©>>> 0Àòøý÷ß·:ÿá‡Ò¥KËúç3fXÒûî»ÆS¯^=úõëÀÙ³g™;wîÛó÷÷gܸqÔ¨QƒÁƒ[îq½ÜÜÜøË_þby¼bÅ Ëî¢ø{õê…¿¿ÿu×mÐ7T"Cáï[Qâ-""R†nùzß¾}–E222X½zµe9>>žýû÷[Ê^šÌX¾Žˆˆ ;;»Ä¶zôèaõx×®]7|Áâã?޳sáÍE’““-; Å?lØ0¼½½­.¦4™LVõ\þ¸F7—ÈÍL‰·ˆˆH $,,Ìòøƒ>àÿû–s‰‰‰VÏ›7ožåF2—®ÃÎÍÍåÌ™3%¶åççWÎу¯¯¯Õ¬ýþóòóóùßÿþGýúõ-Û:::Ò¸qcK¹KgÆ233-_ m(Õšo‘ ò·¿ýÍòõúõë9wî+V¬`øðá–%µk×¶zÎäÉ“-k­/ÿXb;E3ÓåmÔ¨Q–8Ïž=Ëš5kX±b…e¶»H·nÝ,__¾†;%%ÅòuûöíohÛB‘›o‘ Ò½{wËlp~~>ÿûßIMMeàÀ–2uëÖµºYÍÑ£G‹Õó—¿ü…¡C‡V|À—iÒ¤‰URýÒK/‘ššjµ+ À°aÃ,jž>}ÚêbËKïH9f̘ ŽX¤rSâ-""RA ƒÕìpTT>úh±FæÎ‹§§'Pxëõ/¿ü’´´4’’’X°`û÷ïçÙgŸµiìEFeù:##ƒÁƒ»¥|½zõÇh4’––ÆâÅ‹IIIaݺuüú믌7®ØZt‘êÆ`.¯ÝóED*øøxÒÓÓKU60° ‹ÇÓ·oéÊ‹”Eff&aaa¤¦¦b4Ùºu+uêÔ)V.66–eË–±mÛ6âââpppÀ××—Ž;2bÄš7o\yŸp€-[¶P¯^½«–ëØ±#=öØëøì³Ï,ë·‹ 0€C‡áààÀ¦M›,m\.::šeË–É… ðôô$$$„ǼĤû¿ÿý/3gÎ,±®"E{‹T„uë<™4)€˜˜ã¥*ïééiuÑóõRâ-"UŠo‘ò÷õ×_3eÊzöìÉ»ï¾kïpDÊ­o-5‘«êÓ§NNNÅ.ª‘ë£Ä[DDD¬\¼x‘ÀÀ@¢¢¢HNNfÁ‚4kÖŒ.]ºØ;4‘›š£½‘ÊÅÅÔúf¼ IDATÅ…öíÛ3|øpòòòhݺ5K–,Ñ]'Eno±âîîÎgŸ}fï0Dª-5±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ""6”™iâî»70zôN{‡R.ªZDD*’o2›Íþ« ªZDD*’£½©N<<Ù¼¹½Ã(7U­?""I3Þ"""""6 o‰ˆˆãÉ'#-z£åqrr.K—þÆÆqÄÅeáîîH›6µ3¦)wÜágU×… 9,Yr„~ˆ#>> //':tðeâÄæÕ(±½-[îaÞ¼CüôSF£ÐÐZÌžBƒVu?žÆk¯"22‘ü|3·ßîÍ„ ÍøàƒãìØ‘ÀàÁ éÙ³n‰ý)k»¥éÓµ4kö&Sé–½øúºÙ÷šårs xóÍ#¬[ËÙ³™¸¸i×®6<ÒˆîÝ0 –²¥»W^i[ªE¤j1˜Íf-Ì‘*#>>žôôôR• lÂâÅñôí[ºòåeܸH6nŒ³J¼³..FÜÝ\®F §Òwê:Û-kŸ.Wk¼_x¡5¡¡µøâ‹S<þø6Ú·¯ÅС¹çž[,}¨ˆ±‘ªE‰·ˆˆ9;;àååDZZùÅ’ïóç³ÂÙ_gg¼½ÈÈÈçðáVö•GŽddä“™i*–@&%å”[[—·[^}:rd`9FVÈ`€ë3p`}òóÍDF&²|ù1Æÿ™™3ƒ92Ðnc'"7-5©ŠfN7o>gu<7·€;qu5Òµká=}úÜŠÉdf÷î¤bõ¼óÎQºvý®Ô³¾—ëÖ­°¢eE³9q¢â.B­È>ݨÐÐo8~< GGaaþ¼ýö Ö¯—½ÆNDnJ¼ED*©S[P¯ž;sæìgÓ¦822ò9q"É“%11›Ù³Cðõu±”mÐÀƒiÓv³uk•‡Ù³÷ñÛo)äæ””ûïÅl†ÎÿÜæÑ^c'"7m'("UJeÞNðòý­ ¨Ï‚í¢}¼q–sç²pss¤M›šŒs»U‚WTöÍ7 ËÆÅeáííL‹5=º)]ºø°oßE~x‹ÕóÆoÆ”)- üÒêxuX¶¬3'N¤3oÞAvîLÄd‚  ož}¶ÿþ÷aöïOæÀþWíÏã7)S»¥é“=DG§ðÉ''øå—óœ=›…‹‹y0dHcnˆá’¿J;v"R9Øz;A%Þ"R¥TæÄûfwÏ=ÉÎ6ñãºEüõÒØ‰TNÚÇ[DDì&11›ví¾%?ßzNæÌ™ NJ/6ó.ÒØ‰Èµ(ñ+))¹<÷Ü^ââ²ÈÊÊ'*êO=µ //'&Lhnïð*5ˆ\¶ ??WV¬cåÊß:ô'â㳨QÉ.]üY¸°=õë»Û;ÄJKc'"×¢Ä[DD¬Üy§wÞ©ee¡±‘«ÑRPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ´·ˆˆHùæ›3<ýô¯8;;pøð;GtóûöÛ3¼ýöQ~ÿ=œëÖÝÍí·{—KýË—#<ü ®lß~_¹Ô[ž""âxòÉHËãC‡ÀÅÅxÅòÙ§èè,8ÌîÝI˜L´iS‹§ž ¢]»ÚW|Ζ-ç˜3çü‘Á‘#Ë-–›f¼ED¤Üdfš¸ûî Œ½ÓÞ¡T ýúÕ#&fnªs®öÚ½;‰§Ÿþ•°0~ýõ~6mº‡:uÜʵýQ£š3ˆ  åZoyêÝ».11ƒèÕ«n©ÊWTŸ¢¢.2xðV<<ùþû^lÝz/õë{ðØc?±m[B±ò§Og0fÌNæÏ?ÌùóÙåËÍB‰·ˆˆ”³ÙLAAá¿ËÍ#üh‡¨äfrµ÷Ðúõ±˜Í0|x îîF4ð`Û¶{Ëm¶ÛVªÂ÷BA™éÓ÷àííÄ«¯¶Åßß•š5yé¥64lèÉŒ{ÈÍ-°zÎÂ…‡iÛ¶kÖôÀãz.º¨ž½‘ áááÈæÍ}ì†ÜÄ®öŠ‹ËÀÇÇÉ–!I ~ý5‰cÇR6¬ ®®.s1 ôëw+‹ÿƦMqÜ{ï­–s¯¼ÒÖªlu¤o¹)˜LÅgÁÅ>vîL 8اعààšÿ_æ¼Õñêžtƒf¼EDl*7·€7ß<ºu±œ=›‰‹‹‘víjóÈ#èÞ=£Ñ`){üx¯½vˆÈÈDòóÍÜ~»7&4ãƒ޳cGá/½ÁƒòÊ+m¯Ùî¸q‘lÜgyÜ®]mV­º €;6lï¾Û™ž=ë0gÎ~>øà¸¥ü’%˜0ágËã z±pa4;w&’œœ Àܹm™9s¥LÑ_—^ص{w_…3c—^XuáBK–á‡âˆÏÂËˉ|™8±ùu­M½ü³­[ûðê«Ù²åÎÎFºu àŸÿ !--—^:@ddNôèÀ¬Y!Å>ONÎeéÒߨ¸1ޏ¸,ÜÝiÓ¦cÆ4åŽ;¬×n_úš™Lвe ¦NmyÅXË£ÏÍš}Uê„Ô××…ÈȾW<ŸššGÛ¶ßX›<¹ÿ{3L&3Íš}e9~ï½·²dIÇR÷ãò×åzÞC—?·e˯¸í6/~ÿ=íºã½ǧñÊ+Ùµë<ùùfZ·®É”)-h×®öuW›65Kõ½pé{îܹljÕr¦I/ ¨Ïý÷×+–À&&f3oÞ!~ú)£Ñ@hh-fÏ¡A«ömÍš?xæ™]VÇvî¼??×R Pâû¢c'N¤;WÝÌf³þ|‘*#>>žôôôR• lÂâÅñôí[ºòåaæÌ=¬_–7ÞèHûöµIOÏgùòc,_~Œ?îJ§N¾œ:•Á A›qs3òê«íhÛ¶6±±Ì™s€èèÒÓó®{‡Œ?>ÁóÏïãõ×ÛóÀõ-ǧMÛÃ矟âþûë±hQËñˆˆ8>úè8+V„YŽ%ð;úòÔSA„„øpôhC†l%2²/5k:[Ê\¾ÓBpð×´hácIø/•ÍàÁ[ÉÉ1Þ–ŽýˆÍàùç£ˆŠºÈÊ•a„†Öº®þÅѧÏ-<ùd3š4ñâûïÏ2uê.ºu ÀÉɧž ¢aCOÖ¬9ÍìÙû1¢ ³f…XêHL,Œ+;ÛÄܹ¡tìèGbb6óçbƳüë_m2¤!PòköǼòÊNžÌ !!Ëê5«ˆ>——‘#w°m[7ö.–¼ ¼•aÚп=àúûq#ï¡+1b;Û·'^1ÞÇ¿Íê=_ýûoâÌ™LZ¶ôaòä ‚‚|8~<•3örüx~Ø…Ž}ËÔþÕ¾ŠÞs99üë_mèÔɬ,«VdáÂÃÌš̈VãÑ«W]ÆŽ½æÍk°oßž|2’Ûnóâ‹/ºëÓ… 9–]ML&3¯¾z£GSY´¨5j8—z|†ßζm |þywZ·®iuîÔ© î¾{-[ú°fMŸß¥ËzΟϱû®&ëÖy2iR11ǯ]ðôô$  Ìíi©‰ˆˆ íØ‘HÓ¦^„…ùãêjÄ××…éÓ[Ѹ±§U¹ùó‘ššÇìÙ!„…ùãîn¤iSo.lOV–©Lmßÿ­899ðÕWXŽeg›Ø¸1ކ =øá‡822ò-ç¾üò4ƒ5(±®±co§S'_ÜÜiݺ&GŽ ¤fÍÒÿÒ¾Üüù‡ˆÍdæÌ`ºw¯céï¢E0›Í¼øbT™ë<¸!­ZùàæfdàÀú4mêÍÖ­ñ<ñDS‚‚jàîndèÐÆÔ«çÎÖ­Ö;1ÌŸ˜3g2yî¹zö¬‹§§#{²paüü\yé¥(Οϱôáò׬Y3oæÍkGBB–Mû|£FjJA™÷Þ;fu|÷î$âã³éÛ÷Ïu»eíGy¾‡žxâÊñž=›Iß¾õÊToZZS§¶¤]»Ú¸» ®É‚íÉË+àå—÷WHûEï¹Ù³ ßsŽøúºð÷¿7ã®»JNø† iHhh-ÜÜŒtîìGÏžuÙ¿ÿ"/æ^±ÔÔÞº  Ç£Gë×ÁÙÙ;ïô#;ÛÄO?¾VWzÍüý]‹ýaÛçuç~´hQƒ/¾øÃ² `Ù²cŒhµ$ª¬ý(Ï÷PX˜?Íšy—ï°aMpt,[èâb,g³fÞøû»BBBv¹·_ôžëÖ­x’ýŸÿÜi™í¾THˆõ'#EïñËßÏE~ÿ=‡Ú‚ƒƒçž ±z=KËË«ð×ÌÌübçŠ&¼½uìå´Æ[DĆ^x¡5¡¡µøâ‹S<þø6Ú·¯ÅС¹çž[€Âuàù¸¸qw/~1Reÿe6hP""âX»ö #GòÕW0hP:wö#<ü _ý>Ø€o¾9C%¶àæV~Iåæ––@›6k¯XîäÉô2íÙìéiý«Î`(\Sëæf}ÜÁÁ`µ…]Q\..Æ·>óõ-Ln³¯ùšÕ®í‰.i*Ï>—çïK=ñDSžyf+Wþ΄ Í9q"_MbÁ‚ö–27Òò| Þ„3öZÅ»sg"¯¾zík ®ÄÇÇ©ÄYÛÚµ]HHÈ&))×rkÿZï¹+ñò*þ^(i1qjj>O>ù3u긱ukØà†–PýQq¹¢ïÁÚµ]ÊÔþÕ¾®öž+F#¬X†——ƒoaæÌ½4nìIHÈõ}qǾ,Y&[’vð`2;û–ôÔjMKMDDl(4ôËnŽŽÂÂüyûí;0`óæs–rE3-_(’˜˜m5sz½œœ¸ÿþz–Û<÷êUײCÂÀ 0™Ì,ZMBB6;—ïÝÝÜÉËûó†½{GðÙg'èÓçVL&3»w'{Þ;ï¥k×ï첕\ѧ—¾6P83¹cG"®®Fºv-|­®ôš]¼˜Ë‰Åꮬ}.b4><¤¤Þ{/†o¾9ÃßþÖ¤X¹ÊÒggþò—Û,ñ®YóÇ_–q=23MDG§X;r$•„„l‚‚jXf»¯·ý«}/½ç¶l9Wìyýûoâ_ÿ:pC}òðp$ Àww#ï¼sîîFÆ‹´,›)­Ž} ôbýúXrrþ¼îÄd2óÍ7g¨[×­Ø-Qâ-"bs³gïã·ßRÈÍ- ))‡wß=ŠÙŒU¢;ujK||œyùå(¶mK 3ÓÄÑ£©L›¶§T[}]ÍÀ…+¯ZuÒj¦ªwï ¹V­:É€õ-W——–-}8q"¸¸,öî½ÀéÓtèP€©S[РÓ¦ífëÖxÒÒòHNÎåÓOO°dÉf̶ËlêÔ©-¨WÏ9sö³iSáŧ'N¤3yò¯$&f3{v¾¾.ÿ_¶øk“Æ”)¿–¸ü¤²öùR>Ú//'^ý½{ßbY;|©ÊÔ¿þõ6\]¼þú!ºtñ§aëo§w-nnF^|±pw–¬,\ä™gváääÀìÙ!ÅÊ—¶ýk}/Ô«çοþu€Í›Ï‘‘‘ϹsY<ÿ|‰‰ÙŒQüŸ²ªWσ¥K;qáBãÇG»ÓäÕ88oGJJÓ¦í!11›ää\^x!Š“'Ó™;·­ÕÎ3RHÛ ŠH•RÙ·ŒŽNá“ONðË/ç9{6 5ò`ÈÆ ÜÐê#è'Ò™7ï ;wî äͳ϶âßÿ>ÌþýÉ8пÌqôêAnn[·ö±j³hkÁï¾ëE`àŸë3÷í»ÈÃo)VOLÌ Ë×—ïµ 0`@}ËšàßOcÖ¬}Þ""Bbb6íÚ}K~¾õÜÈ™3œ:•^îë¯EªŠO?=ÉÈ‘7¶¶ûfn_*7%Þ""•TJJ.Ï=·—¸¸,²²ò‰ŠºÀSOíÂËˉ šÛ;<‘Já¿ÿ=Å“OF’™iâ“ON’’Ëý÷—í†97cûrsÑv‚""•ŸŸ++V„±råï úññYÔ¨áD—.þ,\ØžúõÝ-e/_ÓY’K×,ß̪S_¥ô""â ]k¹cæ•.欨÷OiÛ¿è{¬bi·ˆT)Õa·ˆˆ”­ñ©‚”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 ;WŠˆØÈòŸ—¾9€Ï¶OØnçˆnÌ#+a÷™Ý%žÞ~8Ïõz®Äs[ŽoaÎÆ9ü‘òGþq¤Ä2)Ù)|ý-ë~[Gt|4ÙùÙÔñªCë[Z3ºãh‚‚Ê­""¶¢oÕi1ÓcªmÒx:ù4cVaþÖùœÏ<Õ²á›ÂyqËôjÚ‹ïF}Ç®§vÞ7œÃñ‡øá@"ŽFØ(j‘ò£o)³/ÿö%ÁuƒKUvá i{k[Þzè-îZzYyYW-?¸õ`†·nyÜ¡~ö_Hÿ÷ûóêæWé}{ï ]DÄæ”x‹ˆˆM¼Ò÷\]K]¶$AA¸:ºr:ù4f³ƒÁPž!ŠˆT(-5›(mÒ}5YyYdçgs»ßíJºE䦣o;9žtœW6½Â®3»È7åÓú–ÖL¹k íêµ³”É5åòæŽ7Y÷Û:ΦœÅÅÑ…võÚñH›Gè~[wŒÆk¶Ól^3L¦RÅäëáKäÄÈR÷á«C_1󻙜¼p£ƒ‘æ~Íy,ô1hù@©ë¸ë~[Àø;ÇWHý""I‰·ˆˆdæeòü†ç™Üu2AA?œëgð×Oÿʇ~HÇúxaà ¬ÿm=o |ƒöõÛ“ž“Îò_–3võX>~ìc:5ètͶ®´sHyHÉN!¼o8·Õº¸Ô8ÞÜù&SÖNaßÙ}ü³÷?˵­óçymËk i=„¾Íû–kÝ""¶ ¥&""v–“ÆÔnSiW¯îNî× fAÿä™òxyãË–r;Nî ©oS‡áê芯‡/Ó{L§q­ÆvŒ¾Ðª¿®b~¿ù´ h‰›“·Õ¾ùýæÓú–֬ؽ‚¨¸¨rk+9+™«FЩA'^îóòµŸ "R )ñ±GZ×mmu¬™_3ü=ý‰Ž&!=€nMº±'v³ÖÏbßÙ}–%#c"J5Ûm÷6»€ŽýP.õeåe1|Õpšú5åõþ¯—jyˆHe¤¥&""vàãêSâŵÝk“ž@RFþžþ¼ÐûBo 勃_ðø§о^{††åžÛï)U[¹Æ»$þžþ$e$ÝP=&³‰ _N À3€×ú½†Ñ ¤[Dn^J¼EDì -'­ÄãI™…ÉjmÚ ¶ÈÀVÉ/È'òT$ËYÎø/Æ3óì0òšmUäï’ħÅöáF<÷Ýsäšryë¡·¬’îžo÷äõ^§Í-mn¸ [ÑR;ÈÌË$:>ÚêØ‘Ä#$¤'d™5]Êñ¤ã8:8Ö8Œ·zƒÁÀæ˜Í6»È£þË€÷;n6›-;ÜÝôîjcñ¶ÅM8Ê;¿ƒ³Ñù†ê© 4ã-"bnNn¼ñ"3îžÁí¾·s>†ëgàdtbv¯ÙVeg7›öþ'·Õ¾´œ4>Þó1f³™Î ;Û)úB‡âñü÷Ï3²ãHêxÕ!6%–¥;–rðÜA†µVl ûõøüÀç,Þ¶€!岈ˆ])ñ±‘å?/'|s8ž̼{&ó¶ÌcÿÙý˜ ©ÂÊ¡+­öñþä±Oødß'<µæ)Φîãݨf#æÞ7—Á!ƒíÕ¶ˆ·«7_úš«Fp.í.Ž.´hÁÂÒ¿EÿbÏÙ³‰1«ÇX `î}sÒzˆåøwG¾«ØˆˆØÁl6›í„ˆHy‰'==½Te›°xq<}û–®¼ˆˆT-ëÖy2iR11ÇKUÞÓÓ“€€€2·§5Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€op´w""ÕÅòŸ—¾9€Ï¶OØ^am}wä;–n_ʉ 'ÈÎÏ`Ýë¨éV“ðÍáì<µ“„ô´À‚þ *,¹9D'D³`ëvŸÙ©ÀD›[ÛðTØS´«×Î.uo9¾…9çðGÊùÇ‘ŽA¤2ÐŒ·ˆˆŒê4Š˜é1Uh;{c÷2ñ«‰„5ã—§~aÓ¸MÔñªÀ䵓‰<Éû¼OÔ”(Fw]¡±ÈÍ!*.ŠÁ+ãáìÁ÷£¿gëø­Ô¯QŸÇ>~Œm'¶Ù´îÓɧ³z ó·Îç|æùj[¤²Qâ-"RÅ|ý-f³™á†ãîäNŸlûû6ü<ýˆ<IïÛ{Ó̯Îü£û?x­ßkö¹Ü/æ‘•”ù|uR`.`ú·ÓñvõæÕû_ÅßÓŸšn5y©ÏK4¬ÕëgkʵYÝ \HÛ[Û²fÄ<œ<Ê£‹"•†o‘*&.-Wëã©…Çkº×´3 8ô« :ûõ_9vþ÷6»WGWËq£ƒ‘~AýˆKcSÌ&›ÕýJßW×yFƒ±l©ÄôÓVD¤Š1˜®zÜ€Á–áH%·óÔN‚ë;\'تŒ-ê¾4A©jtq¥ˆˆO:Î+›^a×™]ä›$ßTX IDATòi}Kk¦Ü5ÅrÁÙÒKYøãBÚÕkǪ¿®àÇßdäGàãæÃ®§vq4‚'¿xÒRËù-Klwñ¶Å,Þ¶€û˜N :q!óK¶/ᇘˆO‹ÇËÅ‹õ;01l"AþA%Ö¿aôþ´§v’œ• À¯OýJM·šÅ½Ä噾õÐ[¼¶å5¢ÎFQ`.(6&³‰ï~ûŽÿFý—#‰GHËI£a͆ i=„aí†Yfí/­{÷™Ý†…3¬Gþqäšç‹”×x̽o.3×Ï´”ÙòäæmžÇO'~Âè`$ôÖPf÷šMŸW³"Íæ5»âV—óõð%rbä5ËO:`¹àRu¼ ¸p€GV>Âî3»-ç‹.ÌöÙ0vœÜa9¾çé=x»z_WÝ"ÕÁl6›í„ˆHy‰'==½Te›°xq<}û–®|yéÿ~Î$Ÿ¡e–Lî:™ € ŽŸ?ÎŒõ38žtœýŽõ;ZÊ/¦E@ Kâ]dà9“rÆ’x÷ù86ÛÈ¡©‡p6:cÆŒÙlæ`üAúð!&t™À݉8à@bF"ƒ?LN~á}Ã騠#±)±<ÿýóDÅE±rèJBo -VÇúyªëS„Ô áèù£ ùh‘#¯™x_:'/œ¤¹sföœIsÿæÄœ)q6ÅlbÌê1Lí6•¡¡C)0°öðZælœÃÈŽ#™ÞcºUÝW³ÒœOHO(÷ñ(*Ó«i/ÆÞ1–æþÍÙ»‡±«Çr»ßí|ñ·/J5faøªál;±Ïÿö9­ë¶¶:wêâ)î~çnZ´d͈5DÇG3dåÕjÄÿú_ÜœÜÈ5å2tåPFtA¿ ~e®ûr]–tá|æyíj"fÝ:O&M &æx©Ê{zzPæö´ÔDDÄÒrÒ˜Úm*íêµÃÝÉàºÁ,è¿€BrV2“ïš\.u‹TeZã-"b>®>%ÎôÕv¯MBzIIø{úWx¹¦\ÒrÒh³°Í˼p²Ø:]7'·nßÛ¥ä¤ëòqHËIã½_ÞcÃÑ œK;GjvªUù¢$îFUôx%¢EœÎÀŸ³¿×Rk¼›ÔnPâçR 5®Õ¸Ø¹É]'³ýÄvöÄîáµ~¯•¸;NY멪”x‹ˆØAQrw¹¤Ì$j{Ô¶s08gÊ+Vöòä³,œÎx»z“‘“Áá¶ùnÉÙÉ˜Íæb„\>cVá×?~ev¯ÙôoÑŸšn51 ¼ÿëûüë‡K\¯µsË•ÎÛ{<®¥"Ö:ßÑà–l_ÂÁsÔjÕ¹ƒçйaçbÏûùôϤç¦Ó̯ÿüþŸ4÷k^ìæPe­[¤ªÒR;ÈÌË$:>ÚêØ‘Ä#$¤'d5Ûíïé_lÆ01=‘³©gË%–>Íú`2›¬v«(òNä;t}³+&séfY¯WN~ûãö[»|L…±ùyúñ·ö£–{-K¢ž“ŸSb½nNnV¬ô~·7Ÿíû¬Tçí9öбAG}YÿÛz«ñ4˜ø&úêz×¥G“VÏ9“r†é릳tÐRÞyø\]÷Å8.d^¸áºEª2%Þ""vàæäÆ‹/EV^âðÌÚgp2:1»×l«²aÃHHOà£Ý‘™—ÉéäÓ¼¼ñej»×¾Bí×gj·©4ðiÀ´o§±õ÷­¤å¤‘œ•̧{?eÉö%Ìè9£Âf~½\¼XðãöÆî½â8ŒtjЉÄôD–ý¼Œ‹YÉÎÏ&òT$Ÿìý¤Äz[Öiɉ 'ˆKcoì^N_mõ:¼°áVîYiy¼î‰uøyúÑaQ«º&ß5™¿ßù÷못HÑÖ‘%™{ß\†´r£]±°õv‚J¼E¤J©Ì‰·X+J¼·OØnïPD¤šÒ>Þ"""""UoÐv‚""Rn._·\7'7«}·Ã-ëžEDª2%Þ""RnÊz¡¥ˆHu ¥&"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ ho;8žtœE?-â—?~ábÖEL&¼\¼Ø;y/Ë^Nøæp<Ø>a»Ýâ•B»ÎìâÑ•òñcÓ©A§b翉þ†§×< €³Ñ™ÃÏ®Tñ•Ö•ú¡÷¤ÈÑŒ·ˆˆI9ÃÃ+æxÒqÞ|ðMöMÞGÔ”(Þø†?,ê4Š˜é1Ù1Z¹ÔÇ~ø?öî<>ækÿãøk2Ù7A®­š±ÇZ¤EP­¥¢E«·\´Ö[ZêÞZêv·]êÇÕ–ÒM÷ÛJ«UZIk´¨] *"‰5û6™ß¹™ ’ˆIÈûùxx<2gÎ÷{>ç;ƒOÎ|¾gðrñ¢M6E>ß'¨1SbèxWGG–ïFñ×µæ¡÷¤ÈÍÑŠ·ˆˆ}¾çsR²Rxéþ—hU«•¥ýÁFò`£Ë12¹‘Èc‘tñï‚Ñ`,ïPŠTÑã©ì´â-"bc'.œ ‘o£ò DJäøùãÄ^ˆ¥{`÷ò¥H=>Qâ-"bs¹y¹@~í¬Ü>"Eâhtä¾»ï+ïPŠTÑ㕚ˆˆØLÄÑƆµƒº^u-}Lf?üöÿÝû_Ž$!%+…zUë1¨Å †¶j©C¿úÜQc£˜³aoÄÑÞ‘Îwwæ_=þEJV ¯D¼BôÉhÜœÜèêß•éݦãæèVâùÜHù -7ªÞˆ·›7Ñ㣋Õòë§;Ô뀫ƒ«¥íøùãü{㿉>)ÏD¿&Lî2ùšç¸Ñ“3“iõ­¬Ž™xßDþÞñï˜Ì&Îihi á,î¿øšñe›²ykÛ[¬ùm g.ŸÁÉÞ‰Öµ[óhËGérwŒv–£”tW7ký,vžÞI®)—iÁ¤û&Ѻvë+R)ñ±‘ z3%†1+Çy,’ƒ“âdïdyþbÆEÚ.l[¬s%¦&2ð£dåf1»×lÚÕmGÜå8^üñE¬Àǃ?&¸Vp¡1_‹|Ñ÷ŒfNï9ìŽÛÍè¯Fóìªg ÿ[¸åÜQÇ£xfÕ3Lî<™Ea‹È3çñÝ¡ïx-ò5ΦœeJ×)EÎgæú™Œí0–9½çðã‘™¼z2—2.á`t`â}©Wµ«¬bÆ3pstcz·é%žÏùç‘â¾%r>ý<{Îìáåû_¶´¼x’ ÄÅÞ…Åa‹iU»\úƒYëgqêâ©Bç(îc¦Ä0â¿#Ø»…ÈÑ‘–_ŠŒ#1SbøÑ@†¶J߯}¯ßKë^bíokùOØhS§ ©Y©,ÿy9£¿mµëIIçQ ='×½ÈÄ{'äÄñsÇ™ºv*O|ö>ö!íê´»éë.r§Q©‰ˆÈmh^Ô<â.Ç1-t]ü»àêàJ w û-Äl6órÄËE7¨Å ‚kãâàB§»:ÑÅ¿ ûâ÷q1ã¢U¿öuÛ3¦Ãª8W¡ªKUK¢÷Á/š•Zä¹6HÓMqqp!¬iÞDýÅ“íž$È7WW¦v•ÚDýU&ó±•õ1ë1c¦[`7KÛ¼¨y$g&3£Ç Bê‡àêàJCŸ†Ìí=—ÄÔÄBç(ÉŸj÷yæ<ÞÝñ®Õ9vÞEBJ½‚zÝ0¾m'¶èHHýœíñvófJ×)Ô¯V¿P\%™G”¬&wžLëÚ­qup¥YÍfÌï;ŸS¯F¾Z¼ +RÉ(ñ¹ EÀÎ`Gh@¨U»»Þ8{€³)g ×¼fs«Ç5=k’`i å“Ç?)tlo¹y¹;w¬È˜šÕlfõØÏÀ¦5šZµ×ð¨a5ÞÍÌÇV"ŽFЬF3|Ý}-m›~ßP¨¦Ú×Ý·Pr[pŽâαã]iìטðá\ʸdé»lÇ2†·^h×’¢âëìß™Ýq»™¾v:{Îì±”àDŒŠ°Ú㻤ó(àdïD‹š-¬Úú4Ä×Ý—Ã ‡¯›´‹TV*5¹Íd›²IÉJ å‚–×ìwâ jxÔ°jópò°z\pƒ§³¥-%+…w~—uG×q6å,É™ÉVÇdäd9ž»£»ÕcŒvF\\¬Úí vä™óÊd>W»5Þ9l;±qÇYÅœ–†“½“UÍwênÕ‰½kÕ¿¤s|²Ý“<÷Ýs|¼ûcžîô4±bùå_˜ßwþ ãx©ÇKÿ%˜ðá ùlmj·apð`îop©æq%/g/ Các\«“˜šÈù´óV¿ˆˆo‘ÛŽ£ÑOgOÒ²Ò8ôÏCe¾gó¨¯FñË¿0£û ú6îKU—ª Þÿå}^ÿéu«$½,”å|nE÷Ö[ÉÌÍ´Ú¦ÏÑ舛£iÙi¤ç¤JZ¯\¥.è_Ò9öi܇yQóøh×GŒºgïþü.¶|´ÐM©EÅ`0kFXÓ0rór‰>ÍòŸ—3.|ÓºMcDÛ%žÇ• ~‘¸Úùôó@~Ò."ÖTj""rêÙ°'&³‰]§wzniôRî}ë^Læâ­ü^É”—NwþÖæoTs­fYÕÌÊͺ鸯åVͧ,D‹¤ŽWø4°jï|wgàÏR3.¹J\Ò9 F†µÆùôó¼ûó»¬>¼š¿µù[±ã ^Ìñóǰ·³'¤~KY‚Á``C̆RÏ£@zN:‡[µI:Bbj"A~AZí)‚o‘ÛÐäΓ©ëU—翞¨ß£HÉJáRÆ%>ûõ3o]ÌÔЩ¥Z96Úi_·=I©I,Û±Œ‹ÉÌÍ$úd4Ÿþúé-˜I¾[5Ÿ›•gÎc}Ìú"¿”fr—Éx¹xñjÄ«l‰ÝBzN:1çb˜ôí¤"Ë6J3ÇÇZ>†‡“olzƒ=ðs÷+v|3~˜Áo‰¿‘mÊæ|úyÞ‰~³ÙL‡zJ=..¼ñ2{ã÷’‘“Áþøý<÷Ýs8˜Ñ}Æu¯«Hee0›Íeû™¡ˆH9JHH 5µè]7®àÏ¢E ôêU¼þ7ëê}¯ú5éÇü¾óþÅp6Çn¶z®{`w"EZµë8ŽI÷MòËÞÚöÇ"ˆOŽÇÓÙ“Æ~Ù~$îêÀž3{°b@‘ç˜`ÕÞ5 +Ëä'ÛolzƒÇ7’”š„—‹ïK¶/òo˜|éþ—ŠÝó)?Ÿú™3ÉùûxßUõ.µÄÀæ­ê³‹;ÿêþÌÞ0?w?Þ~ämænœË¾3ûÈ3çѼfsžëüœöñ–ÛÆš5îL˜àGLÌñbõwwwÇÏÏïÆ¯A‰·ˆÜQ*râ-·Ÿ9æðå¾/Ù1aG¹¬¸ßHEO¤¢³uâ­R‘kˆ<Iç»;Wؤ¶¢Ç'"Ö´«‰ˆˆÈ5DŒŠ(ﮫ¢Ç'"Ö´â-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@_/""V–ïXÎì ³ðs÷cëÓ[Ë9¢Êçræe¾?ü=k~[Ãá„ÃdæfRã-þÒ‚‘íFäTäq‡3?j>»Nï”g¢e­–<ò ­k·¶ñ D¤(Zñ+OµŠ˜)1×Lî*Šôœtº-íÆÈ¯F–w(enöúÙ¼¼îeºv燧~`ç3;™Ýk6‡öaG# ³7~/W ÄÍÑGþHÔ¸(êT©ÃãŸ<ΖØ-å0 ¹šo¹-™ÍfòÌyäåå•w(·ÄÀÖf>î>¸8¸Ð¶N[ô]€)ÏÄœ s¬úæ™ó˜òý<=™Ó{¾î¾Tu©Ê+=_¡^µzL];•lSv9ÍDD ¨ÔDDDnKnŽnl³¡¼Ã¸%fõšUd{_ÎöΜºt ³ÙŒÁ`à—?~áØ¹c m=g{gK£‘>A}X´eëcÖó@Ãl¿ˆM+Þ"""·‰Œœ 2s3iàÓÀ’tl?¹€f5›:¦YfV}D¤ühÅ[DÄF"ŽF06|¬åñƱ™»a.›c7c´3\+˜ÝgP׫.on{“›кvk¾xâ 6ý¾‰ÿ€—‹;ŸÙYäù£ÆF1gÃ6߈£½#ïîÌ¿zü‹”¬^‰x…è“Ѹ9¹ÑÕ¿+Ó»MÇÍѭȸŸ?άõ³Øyz'¹¦\Zü¥“î›T膽 éX¼u1?ÅüDBJN´­Ó–ñ!ã ò *2Æu#×±`ó¶ŸÜÎ¥ŒKüòÌ/Tu©Z¢kypòAœì,/e\âÍmoy,’øäx\]iù—–Œj?Š{êÝcé—mÊæ­mo±æ·5œ¹|'{'Z×nÍ£-¥ËÝ]0Ú¯@ù 1å™nØÀÛÍ›èñÑÅê[”5¿­`\ÇqVíÇÏ †GBÇÔðÌo‹½[êqE¤lÌf³¹¼ƒ)+ ¤¦¦«o@€?‹%ЫWñú—•1+Çy,’îÝ}Ïhù6bwÜnF5š> ÿ[¸Uÿfó›Ñد±%ñ.öA§/Ÿ¶$ÞWŸ¿gÞŒí0ÿêþüxäG&¯žLç»;ã`tà™{Ÿ¡^Õz¬:°Š?Î`xÛáLï6Ýê<}ßïËéK§iR£ ïH_ÇÏgêÚ©?œûvuÚ˜šÈÀ’•›Åì^³iW·q—ãxñÇÙ¿—Lp­àB1¶«ÓŽgî}†æ5›sôÜQ}4ˆèñÑ7L¼¯>Ï•‰wRj?Hfn&3œI»:íHJKb^Ô<Ö]Çë¼Î ƒ˜¶vk[ËÂþC›:mHÍJeùÏËY¾c9Ÿ<þ íë¶/V¶p.í}ÞëCh@(3œiõܰ/†±%v +ÿ¶’5[X=wòâIº-íF¿&¬¾Ê–!‹TxkÖ¸3a‚11Ç‹ÕßÝÝ??¿R§R‘r2¨Å ‚kãâàB§»:ÑÅ¿ ûâ÷q1ãb™œ`ó4­Ñš†èHÔïQ<ÙîI‚|ƒpupepð`jW©MÔïQEž#%+…É'Óºvk\\iV³óûÎ'ǔ둯ZúÍ‹šGÜå8¦…N£‹\\ ôda¿…˜Íf^Žx¹Èóî0šöuÛãâàB‹š-8òÏ#ÅNº¯e^ÔÍ Ý_ 4 w'wêW«Ï‚‡àãæÃ+¯p.íÛNl#Ð;ú!8Û;ãíæÍ”®S¨_­þMÅPÖ.e\bøÃi_·=¯ö|õÆ\ÁLþúÚ•¥)"R>”x‹ˆ”“æ5›[=®éY€„”„29ÿÕõ¾~ù«4Mk4µj¯áQãšc:Ù;ZAmèÓ_w_'&15È/ý°3ØjÕ×Ç݇@ï@œ=ÀÙ”³…Îõ¹Ëº£ëèêßÕªÝÑèHÇ»:’™›ÉæØÍtöïÌî¸ÝL_;=göXJF"FET˜Õ †}1Œ@Ÿ@ÞèûF‘å/N¤g§y<€§³ç­ TDnH5Þ""å¤ Y*àhtþ\¡¼YîŽîV 0Úqqp±j·3Ø‘g.zK>/g¯"WJ«»V'15‘óiçñrñ"%+€– Z^3žNªA¾:–›•mÊ&%+'{§"kֽݼür€—z¼Dð_‚ ?ÎφЦvæþ÷kÌ[Yãm2›xúë§ñs÷ãß}þÑPt͹u€"¹9›œßVÑVñE*#%Þ""œÁŽSN¡öäÌä[>vAB}µóéç¨îVG£#žÎž¤e¥q蟇®™Ú‚£Ñ'R²RHËN+”|”˜ø¸ûùåaMÃkFn^.Ñ'£YþórÆ…cZ·iŒh;â†cù瑲ŸÈÿ¼ðà d›²yû‘·­®kè’PÞxè Zþ%ÿ{êÞÃâ­‹9pöý›ö·:dzèP¯Ã-‹SDŠG¥&""œ¯»o¡•̤Ô$Î$Ÿ¹åc§ç¤s8á°UÛ‘¤#$¦&䄯»/=öÄd6±ëô®BçX½”{ߺ“¹x«Â7«`¥zÃqë=¾³MÙl;± g{gî­/Á ‚-;‚ØÛÙR?„%,Á`0°!¦|÷_´eG²tÀR˧!×Ò®n;¼XûÛZ²r³,í¦<«¯¦¦gÍB¥7"b{J¼ED*¸ú!$¦&òÑ®HÏIçÔ¥S¼ù*Õ]«ßò±]\x9âeöÆï%#'ƒýñûyî»çp0:0£û K¿É'S׫.Ïÿ¹ódjW©Ík‘¯±>f=iÙiÄ^ˆeâ·IJKbF–’€?Ìà·ÄßÈ6es>ý<ïD¿ƒÙl.×â•ûW²hË"öÆï¥ùüæÌ°úsêÒ)«þv;f÷šÍåÌË<ÿýó$¥&q)ã/E¼Ä‰ '˜ùàL«íE¤|h;A¹£Täí÷œÙÀ¬ÚÆuǤû&0;Àª½k@W– Xä—{ÌZ?‹Ç7’œ™LÓM™Þm:3~œa)#}Ïhz4èQäù{ö ÿ‡Öå“;O¦M6<öñcVíB&àêàÊì ³ðs÷ãíGÞfîÆ¹ì;³cVŽ!òXd©ã]Ü1Oý´åqQ×dæƒ3™¶vš¥ÏÁÉq²wbùŽåÌÞ0€]§w0;£‘#ÿdÚý+[aÓyøä×On:Þ]“ª.U-} ïÍæ7£±_cKÂ¥ÄÔD~4¬Ü,f÷šM»ºíˆ»Ç‹?¾ÈÞø½|<øc‚kߢ+#"Ýš5îL˜àGLÌñbõwwwÇÏϯÔã©ÔDD¤œŒî0šöuÛãâàB‹š-8òÏ#Tu©JïF½q0:ðÍÁo,}3s3‰<I½ªõøéØO¤e§YžûúÀ×ôoÚ¿<¦P¦ñ^뚔ּ¨yÄ]ŽcZè4ºøwÁÕÁ•@ï@ö[ˆÙlæåˆ—K}n‘’Râ-"RNZÔlQd»—‹]ü»°õÄV’R“ˆ<I‹¿´à‰VO™›ÉG~àRÆ%vœÚAφ=m÷­Œ÷Zפ´"ŽF`g°³”ºðq÷!Ð;gp6ål™Ž)"r-ªñ)'..×|®ÓþDà»Ãß1¢í¾9ð ý›ö§C½ÌÞ0›o}ËÃÍfõáÕt 芫ƒk±Æ,ëﲎ÷zפ¤²MÙ¤d¥ÐrAËkö;qá5ßó9=öÄd6YíS`iôRî}ë^Læâ} "r³”x‹H¥e(z¡´ÂkÀ{¿°º±Gƒ¸9ºñÅÞ/èפv†ŠñOyyÅÛ¤Fb/ÄŸϯq¿rêâ)ÚÖi ÀäΓ©ëU—翞¨ß£HÉJáRÆ%>ûõ3o]ÌÔЩZ ©ÄÌfÛþ_ R©´\]óHO·Ý¿¸{ÎìaÀŠ–ÇMæ5 fJL‘ýƒksWÕ»È6eÓ®N;K»³½34|€•ûW–ën&W+M¼Å¹&WïÞd^ú5éÇü¾óx¡Û Lÿa:÷/»//þuÿ¿ð¯î@u×ê„ÿ-œ·¶½ÅKë^">9OgOû5fÉ#KètW§²¿"rÛHK³ÃÍ-Ïfãio¹£”dï=êòÐC)ŒñG%""Ñ¢EUùî;""N«¿öñ)¥† ³9xÐéÆEDäŽtè fÛl<%Þ"RiÝsOÛ·»“SÁ‹½ED¤Ìegؾ݅2l6¦o©´ºwO#3ÓŽˆ·òEDDl,2ÒÌL;ºuK»qç2¢Ä[D*­5réÒ%wßõBw»ˆˆTf3¼û®]º¤Q£F®ÍÆUâ-"•ÚäÉ8pÀ‘¯¿ö(ïPDDÄFÂÃ=8pÀ‰gŸ½`Óq•x‹H¥˜Íc%3o^uRSõO¢ˆÈ.5ÕŽùó«óØc— ²Ý• Ä[D„‰/’—“&ù’g»í\EDÄÆ®ü·~âDÛo%«Ä[D*=//˖ų}»+sæT/ïpDDä™=»:[·ºòöÛgñò2Ù||%Þ""@³fYÌœ™È{ïy±hQ5Ýl)"r1›aÑ¢j¼ÿ¾³g'œY.qè+ãEDþ§oßTÒÓíxñEobc˜=;''eà""·³¬,S¦ø²v­¯½–Dß¾Åûvã[A+Þ""WxôÑdÞ{/žM›\0 ;w:—wH""RJ;w:3`@-6mrå½÷âyôÑärG‰·ˆÈU:vÌ <ü4Õ«›<¸“&ùqâ„Cy‡%""Åtâ„“&ù1xp-ªW7~šŽm÷ •×b0›UÉ("wŽ„„RSËîcÄŸ~rcæÌêœ:å@»vtïžNpp&õêåP¥Š ;-_ˆˆ”«¼<¸|ÙȉìÙãLd¤+?ÿìBݺ9L›v¾L¿™ÒÝÝ??¿R¯Ä[Dî(ex˜LåÆ·ßº³y³+—/+Û©ˆ¼¼ò I硇RèÜ9£±lϯÄ[Dä ·"ñ¾’Ù qqœ:eOr²f³á–%r«½÷ÞHFŒXVΑˆ”žÁ`ÆÓ3:ur©];Ã-ügùfoíj""RÔ®CíÚ9åŠÈM[³&€,¿]D*}^*""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""búæJ¹£øùùÝÔ×ùŠT&îîîøûû—s$"•ƒV¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄìË;¹õvìØÁÞ½{­Ú~ÿýwÞyç«ö-Zо}{›Å&RYÌf³¹¼ƒ‘[kÍš5ôîݣш]þÞ)€Á` //“ÉÄ÷ßO¯^½Ê-V‘;•o‘J 77___.^¼xÝ~UªT!)) E&Ry¨ÔDDî(—.]"++«¼Ã©zè!>ýôSrrrŠ|ÞÁÁ°°0.\¸`ãÈDnNNNxyy•úx%Þ"rGÉÊÊ"55µ¼Ã©xà>üðÃk>Ÿ““Ã< ¿C"·ˆv5©$Ú´iƒ¯¯ï5Ÿ÷öö¦uëÖ6ŒH¤rQâ-""RI úõëWdý¶ƒƒ?ü°åÆK){úÛ%""R‰ôíÛ·Èúöí[‰TJ¼EDD*‘Æs×]wj¯S§AAA¶H¤Qâ-""RÉ„……aoÿçþ ööö<òÈ#å‘Hå Ä[DD¤’y衇ÈÍ͵<ÎÍÍ¥OŸ>å‘Hå Ä[DD¤’©[·.AAA  Ã5ËOD¤l)ñ©„~øaŒF#F£‘þýû—w8"•‚o‘J¨wïÞäååa2™èÕ«Wy‡#R)è›+EDŠ!3Ó@T”+›7»rð üá@r²yyå™Hiù!têÔ±|C¹ vvàé™G:94i’Ž÷¦Ó¹s:ÎÎæò­%Þ""ב’bÇ’%UùüsORSíhÞ<“¶m30 /¯<ô]#r;Û¶­ƒÊ;‘RË˃K—ì8yÒ_uæË/=qwÏã±Ç’3æ"g…Ä`6›+Þ¯""¥”@jjêMŸ'/V®ôdÞ¼j˜Í0bÄe HÆÛÛTQŠT —/_ J•*å‰HÙ9wÎÈW_yòÞ{U0`òä <òHr™,”¸»»ãççWêã•x‹È¥,ïäd;&L¨ÁöíÎ<ñD2&\ J•гb"""7vù²‹Uãã=éÐ!“E‹Îâéysÿ–+ñ¹ÂÍ&Þ§N90rdMÒÒ ,]z–&M²Ê0:±µƒ=ºnnf–-‹§nÝœRŸëfoU'ŠˆüÏ©S P W×<ÂÃã”t‹ˆÜš4É"<<W×< ¨Å©Så‹oòËKFެI­Z¹|úé|}so|ˆˆÜ|}óÿm¯U+—‘#k’œ\>)°o©ôòò`üø–òÕs‹ˆÜi\\òXºô,iiƯQ.ÛÁ*ñ‘JoåJO¢£Yºô¬VºEDî`¾¾¹,]z–èhgV®ô´ùøJ¼E¤RKMµã7ª1th²jºED*&M²2$™yóªÙ¼äD‰·ˆTjo¿]“ ž~úBy‡"w˜o¾ù†жm[,>\âs9r„çž{ŽN:DÛ¶myê©§ˆŠŠºîq¿þú+}ûöµŒ=|øðÒNGäŽ2~üÌfXº´ªMÇUâ-"•Vf¦Ï?÷dĈËÚ§[JÄd21~üxš5kƨQ£ÈÎζz~éÒ¥Lž<™={öШQ#vïÞÍwß}‡³³s‰Çúá‡èׯ«V­â‘GáçŸfΜ9lÚ´‰'Ÿ|’ :æÂ… L™2…Ç{Œßÿ½Ôó¼ÝÝèu’Ê«J•ø€Ÿ~ú‰'N‘‘——7æ‘G¡OŸ>ÅŽ»¨÷KÁëT $ã%%%ñÖ[o±uëVΜ9ƒÙl¦V­Z4jÔˆû￟=zàääTìø¤b¸ë®¾þºôŸJ•”JMD¤ÒJI1àé©›*o}úôaçÎV èÂ… éÑ£AAAlذ£ÑÈ?þȤI“8rä½zõâý÷ß'55•ï¾ûŽuëÖ‘““ûï¾K¿~ýHHHà©§ž"&&Æêü‹-ÂÞÞžU«VñÚk¯Y⸺_!C†znñâÅÄÄÄÃþýû­Vª'L˜`Ùi¤Y³flذGGG¶mÛÆðáÃÉ»â>ŒF£ÕXW?¾téRÉ.h1M:•-[¶Xµ­Y³†˜˜¢££iРGŽÁ×××òü´iÓ2d[¶l!11€ððpKŸýû÷ãïïϬY³X±b'Ož¤W¯^,\¸ØØX–,YÂÎ;:t(›7oæÙgŸeܸq˜LÅ+ »Þë”h¼¼¼<žxâ >úè#âããyçwؽ{7Ÿþ95âÙgŸeåÊ•%º®R1xzæ‘’b»tX‰·ˆTZ&“«r©à¼¼¼èׯŸåñûï¿oõü‡~H§N,õÏS§Nµ$¤>ø õë×§víÚ–•Ì3gÎ0sæÌkŽçëë˘1c¨R¥ ,TîQR...üõ¯µ<^±b…eÕ· þîÝ»[%±Åe0Øng†«FÂÂÂ,¯L°¯LH:Ä‘#GØ»w/qqq<øàƒL™2…øøx ÿµºçž{ððð`ìØ±xzæÑɺuëX±bE™Ä\’ñNœ8ÁñãǨ^½:íÛ·ÇÉɉjÕª1nܸ[òIƒØ†Ñ˜ÿ­(ñ‘ÛJA©Àž={,;U¤¥¥ñÕW_YVØ·oŸ¥ï•ɬŸŸŸå爈233‹«k×®VwîÜyÓ7,2GGG •º`”‚ø‡ €§§§ÕÍ”W¯ô^ý¸J•*¥Ž©qãÆV»–Z¢s<üðÖŸûí7>LJJ ‘‘‘V7‚$âáááôìÙwwwùå—_,}êÕ«gùÙÎÎŽÚµk[¯^½ºÄó»ZIÇóóó³lyúôixà^ýu¾ùæΜ9Ãÿû_üñ›ŽKî|J¼EDä¶@HHˆåñ|À—_~‰ŸŸŸå¹¤¤$«ãæÎkI*¯¬ÃÎÎÎæôéÓEŽåããSÆÑç×E_¹jÿÞ{ï‘››Ë—_~I:u,ÛÚÛÛS¿~}K¿+WÆÒÓÓ-? †2Ù6ðfXíÎêÕ«©_¿>'N´´ûí·ddd°zõjKMûÕ¯ÕÕû_Y;}ußÒ(éxnnn,X°Àò~ˆåý÷ßgòäÉÜwß}<ñÄÄÅÅÝt\rçSâ-""·¿ýío–Ÿ×®]ËÙ³gY±bÆ ³”\T¯^Ýꘉ'Zj­¯þPä8+Óeí©§ž²ÄyæÌV­ZÅŠ+,«Ý:wîlùùêîË—/[~nÓ¦ÍMm[x#Å-c¹rÕûÛo¿åË/¿ä‘G!44Ô²"îÜ9^|ñE\\\èØ±#Pøœ«?ÈÊʲü\¿ •f¼=z°eË>ûì3&OžLhh¨¥Î>::šéÓ§ßt\rçSâ-""·.]ºXVƒsssùûßÿNrr²UqÍš5­¾¬¦¨/}ùë_ÿÊàÁƒo}ÀWñ÷÷·Jª_yå’““­ve:t¨åæÀS§NYÝlyå7RŽ5ê¦â9tèP¡_FÖ¯_oyþÊT ÿš <˜^xÁÒÞ§O8þ<¤oß¾8::Zí|NXX˜¥”Æ××—¶mÛZž?uê”åç¼¼<«O$®¾F¥QÒñΞ=K`` çÏŸ§mÛ¶Œ3†wÞyÇê““Êü ¡R|J¼EDä¶c0¬V‡÷îÝËc=Vh‹™3gâîîäõú×_MJJ çÏŸgþüùìÛ·üã6½ÀSO=eù9--*y¨]»6³gÏÆh4’’’¢E‹¸|ù2kÖ¬±Ô(3¦P-zYóðð°*{Ù·o±±±8p€öíÛ[Ú½¼¼èÖ­›åqçÎñöö°Ú*¬WÇfÏžMÍš5üO1vìØAjj*K–,!99ÛÏûï¿ß²[ÊÍ*éxf³™ &pðàA²³³IJJ²ªïÞ½{™Ä%w6ƒ¹¬vù©HMM-V߀-J W¯âõ—Š%==’““1DEEQ£FBýâââX¶l[¶l!>>;;;¼½½i׮ǧQ£FÀµ÷ ظq£å†»kõk×®?þø5ÏñùçŸ[ê· ôë׃bggÇúõë­nê»ÒáÇY¶lÑÑÑ\¸pwwwš7oÎ!CŠLºÿûßÿ2mÚ´"ÏUàê=­odï޽̞=›ƒ’™™‰··7}ûöeÊ”)V¥(ëׯ·¬À_=F÷îÝ9qâ-[¶ä«¯¾*4FJJ ï¿ÿ¾e_íÌÌLªT©bµ¯vqË^®÷:}úé§%oïÞ½¬^½š;vpúôiÒÒÒððð €Þ½{óøãÚâQ*¾5kÜ™0Á˜˜ãÅêïîînusvI)ñ‘;Šo¹|ûí·Lš4‰ÐÐPÞyçòG¤Ò±uâ­R‘rÒ³gO ÝT)"w&}e¼ˆˆˆ\¼x‘¶mÛ²råJêÕ«Ç[o½EÆ éÔ©Sy‡v[¹Ö.4Wš0a&L°A4"ŧÄ[DDÄFœœœhÓ¦ Æ #''‡-Z°xñârýÖI±%Þ"""6âêêÊçŸ^ÞaÜöbbbÊ;‘RQ·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±¡ôtݺ­cäÈíåJ™¸Óæ#"r+)ñ±!³ÙL^^þŸ;Á6‘[ɾ¼©LÜÜìÙ°¡gy‡Qfî´ùˆˆÜJZñ±­x‹ˆØHDD>WW{Z¶¬Æ¨QÜsÕ¹.\Èbñâ#üôS< xx8ж­7ãÇ7"(¨J‘ãmÜx?sçdóæDŒFÁÁÕ˜1£9uëºYûøñþýïƒDG'‘›k¦AOž~º!|pœmÛ’8°¡¡5‹œOiÇ-Μn¤aÃo0™ŠWöâííDtt¯öËÎÎã­·Ž°fMgΤãäd¤uëê<úè]téâ‡Ñh°ô-îµ›5«U±b‘;‹Ál6«0ODî ¤¦¦«o@€?‹%ЫWñú—•1c¢‰ŒŒ·J¼“’280ŠÌL3gÓ®II™Ì›wuëÎðúë­4¨‰‰ù}³²L̞݊ví|ˆ‹KãÅ÷²wïE>þ8„ààj…ÆëÞ½&£G7 Q£*ìÞ}žÑ££iÐÀ“ðð.–¾'O¦Ñ¿ÿ\\ŒÌ™ÓšV­ª—Æk¯íçðáˤ¦æpèP¿Χ¤ã–tN¶4mÚnÖ®=ÃþÓŽ6mª“ššËòåÇX¾üŸ|r/íÛ{¥»v"R¾Ö¬qgÂ?bbŽ«¿»»;~~~¥O¥&""À¼y‡8}:^hNhhMÜÝí©_ß ÚâããÌ+¯ìåܹ¬ÿõ=H\\:Ó¦5£K—¸º ôdᶘÍf^~yo‘c Tààj¸¸éÔÉ—.]üØ·ï"/f_ÇA’“s˜1£9!!¾–s/XІŒ S©æVÜqK3'[ض-‰À@BB|qv6âííÄ”)M©_ßݪ߭¸v"rgQâ-"R¬[w€®]kXµ;:Úѱ£™™&6oNòKHìì „†Ö´êëããL` '\âìÙŒBc4on½b\³¦ öÝ´)Œû£Z5'î¾Û:Ñ,®âŒ[Ú9ÙBçÎ5ؽûÓ§ÿÊž=-¥,=,«Ýpk®ˆÜYTã-"Rβ³óHIÉÁÉɈ›[á–½½ür”‚¾-[~wÍsž8‘J.VmÖçvtÌ/ )(8ÌÎÎ#--''#®®F®V¥ŠCñ'UÂqK;§«ÝŠï—^jApp5ÂÃO2dÈÚ´©ÆàÁõ¹ÿþ¿Xæp+®ˆÜY”x‹ˆ”3GG;<<HIÉ!--·Pò}î\&¿úëèh‡§§ii¹:ÔÏêÆ¾²ˆÃÍÍž´´\ÒÓM…Èóç³Êl¬«Ç-«99V†‘å3 ,¬aauÈÍ5ÄòåÇ7nÓ¦5cĈ€r»v"r{Q©‰ˆHP°rºaÃY«öìì<¶mKÂÙÙȽ÷æßÐÓ³g-L&3»v/tž¥Krï½?{Õ÷j;çQP6Q ))“ØØ[wê­œÓÍ ^Íñã)ØÛ ñeÉ’{0¬_¯òºv"rûPâ-"RLžÜ˜Úµ]yíµ}¬_OZZ.±±©Lœø II™Ì˜Ñoo'KߺuÝxþù]DE%’’Ã¥KÙ|öY,‹aêÔf¥^5ž<¹ ^^޼úê^¶lI$=ÝÄÑ£É<ÿün||œËrÊW{ëæTfÌØÃo¿]&;;óç³x磘ÍСßÛ<–×µ‘Û‡¶‘;JEÞNðêý­úõ«Ãüùm€‚}¼q†³g3pq±§e˪ŒÕÀ*Á+èûÖ[ù}ãã3ðôt¤qã*ŒH§N¾ìÙs‘6Z7n\C&MjL@À×Ví]»Ö`Ù²ÄÆ¦2wî¶oOÂd‚  Oþñ¦üßÿbß¾Kìßß÷ºó2Ä¿TãgNåáðáË|úi,?ÿ|Ž3g2pr²ã®»Ü4¨>ÖÃpÅïŽv"R1Øz;A%Þ"rG©È‰÷íîþû#ÉÌ4±i“¾"¾¤tíD*&íã-""å&))“Ö­¿'7×zMæôé4NžL-´ò.Òµ‘Qâ-""V._Îæ…~%>>ƒŒŒ\öî½À3ÏìÄÃçŸnTÞáUhºv"r=ÚNPDD,||œY±"„?þÁƒ7“A•*têäË‚m¨Sǵ¼C¬°tíDäF”x‹ˆˆ•Ž}èØQe¥¡k'"×£RPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€¾@GDDäY½ú4Ï>û ŽŽv:Ô¯œ#ºý}ÿýi–,9Êï¿§’•e`Íšn4hàY&ç_¾ü³gÀÏÏ™­[,“󖥈ˆxÆŽ¶<>xð!œœŒ×ì+çtøðeæÏ?Ä®]ç1™òhÙ²Ï<DëÖÕ¯yÌÆgyíµýüñGGŽ„•Y,·­x‹ˆH™IO7Ñ­Û:FŽÜ^Þ¡T}úÔ&&¦¿¾Í²®÷Úµë<Ï>û !!¾üòKoÖ¯¿Ÿ5\Êtü§ž $&¦?AAUÊô¼e©GšÄÄô§{÷šÅê«æ´wïEŒÂÍÍžìNTÔÔ©ãÆãofË–ÄBýOJcÔ¨íÌ›wˆsç2Ë4–Û…o)3f³™¼¼ü?WkÖì[}tSß( & IDAT9D%·“뽇֮Ãl†aÃpu5R·®[¶¶oO Y3¯BÏ5kVõ}ÎYµWö¤´â-"bSÙÙy¼õÖÖ¬‰ãÌ™tœœŒ´n]G½‹.]ü0 –¾Ç§ðï$::‰Ü\3 xòôÓ ùàƒãlÛ–ÿŸÞÀõ˜5«Õ Ç3&šÈÈxËãÖ­«óÅ÷°m[C‡náw:Z€×^ÛÇ·ô_¼¸=O?½Ãòxݺî,Xp˜íÛ“¸t)€™3[1mÚnKŸ‚¾®¼±k×®ó| 䯌]ycÕ… Y,^|„Ÿ~Š'!!Ú¶õfüøF%ªM½úƳ¨¨žÌ™s€Ïâèh¤sg?þõ¯æ¤¤äðÊ+û‰ŽNÄÍÍ®]ý˜>½y¡À/]ÊæÍ7#22žøø \]íiÙ²£FrÏ=ÖµÛW¾f&4iR…É“›\3Ö²˜sÆß;!õöv":º×5ŸONΡU«ÕVm'6æïoˆÉd¦aÃo,í¹—öí½8y2þý7àâbdΜִjU¸¸4^{m?‡_&55§Ä;d|òI,/¾¸‡7ÞhÃCÕ±´?ÿünV®:Ί!–¶‚¾];ožy&ˆæÍ½8z4…Aƒ¢ˆŽîEÕªŽ–>Wï´Ð¬Ù·4nìeIø¯”˜˜ÉÀQde™˜=»íÚù—Æ‹/îeïÞ‹|üqÁÁÕJ4ß‚8zöü cÇ6Äß߃<ÃäÉ;éÜÙ;žy&ˆzõÜYµê3fìaøp¦Oon9GRR~\™™&fÎ ¦];’’2™7ï ëÖáõ×[1hP= è×ì?Ò˜5k?'N¤‘˜˜aõšÝŠ9—•#¶±eK"‘‘= %oF1t¨?}ûÖJ>›y]«}øð­lÝštÍx‡ ¹Ûê=_}û®çôétš4ñbâÄ ‚‚¼8~<™©Såøñ>ü°íÚy—jüëý](xÏeeåñúë-ißÞ‡Œ _|q‚ 1}z3†°ºÝ»×dôè4jT…={.0vl4wßíAxx—Bsºp!˲«‰ÉdfΜ=šÌÂ…m©RűØ×gذ­lÙ’ÈÊ•]hÑ¢ªÕs'O¦Ñ­Û:š4ñbÕª®Eß©ÓZÎË*÷]MÖ¬qgÂ?bbŽß¸3àîŸ_©ÇS©‰ˆˆ mÛ–D` !!¾8;ñövbÊ”¦Ô¯ïnÕoÞ¼ƒ$'ç0cFsBB|qu5èÉ‚mÈÈ0•jìÞ½káà`Ç7ßüaiËÌ4O½znüôS÷ÀõhÚÔ #aau ô$**'Ÿ $(¨ ®®F®OíÚ®DEYïÄ0oÞ!NŸNç…šZww{ê×wgÁ‚¶øø8óÊ+{9w.Ë2‡«_³† =™;·5‰‰6óÍzê©@òò̼ûî1«ö]»Î“I¯^Öí–veùzòÉkÇ{æL:½zÕ.ÕySRr˜<¹ ­[WÇÕÕH³fU™?¿ 99y¼úê¾[2~Á{nÆŒü÷œ››=ÞÞNüýï ¹ï¾¢¾Aƒê\ #:øZ“}û.rñbö5ÇINÎá©§¶ý/îŽ%Jºo¤`M×`¸AÇJH‰·ˆˆ uî\ƒÝ»/0}ú¯ìÙsÑR"ÑÃ²Ú °iS÷ÝWÃêøjÕœ¸ûnë$½¸¼¼éÒÅ­[IJÊßÊ+22ž-ªòÄw“™iâÇÏùuïØqŽž=ky®«W¸nVDD€‹KÙÝ$•GJJ-[~wÍ~'N¤–jÏfwwëÿê †üšZëv;;ƒÕvq99‹ÜúÌÛ;?¹IJʼákV½º±±–4•åœË²ÆûJO>ÈsÏíäãçé§›Ê/¿œgþü6–>73²| æÏÔ©¿ZÅ»}{sæÜøˆkñòr(rÕ¶zu'39> __ç2ÿFï¹kñð(ü^(ª˜899—±cwP£† QQ ¬Zõýú•¬ Àßß È_ª Úê×÷(ñyïtJ¼EDlÈ`€°°:„…Õ!7×LttË—cܸL›ÖŒ#pt´ÃÍÍž´´\ÒÓM…¹óç³J=~×®5ðòräë¯OV‡={.°xq;œ„„ø²eK"‰‰™„‡Ÿâ¹çßìt­\ëcgGG;<=HKËåС~¥Z}»íððp %%‡´´ÜB‰PÁ€øø8ßð5»r´àÜe5ç[U#Û§OmæÍ;ÈGýΨQ x÷Ýc<úè]Vס"½výúÕeþüCVñ>üpÝ›*¡(ø¥âj«Ww*Õø×û»p½÷\Y0aÅŠ<<8p#Ó¦ýJýúî4o^²O î¹Ç›Å‹áÀK…JÒ¸@‡ÞEZ©©ÔDDĆ‚ƒW[v°·7âË’%÷`0À† g-ý >f.(_(””iµrZRvôî]Ûò5ÏÝ»×´ìV“ÉÌÂ…‡IL̤C‡²ý¶E{rrþüB="øüóôìY “ÉÌ®]ç ·téQî½÷‡rÙJ®àSˆ+_È_™Ü¶- gg#÷Þ›ÿZ]ë5»x1›ØØ´B箨s.`46,€óç³x÷ÝV¯>Íßþæ_¨_E™‡££ýëÝ–xW­úƒaà —e”Dzº‰Ã‡/[µ9’Lbb&AAU,«Ý%ÿz Þs7ž-t\ß¾ëyýõý75'77{üüœqu5²té=¸º3&ÚR6S\íÚyàÁÚµqdeýy߉ÉdfõêÓÔ¬éR¨DK”xËÿ³wçqQWûÇ_þ‰¸Z® **"¹•ZîY–J7—4+ëæz]Ò¸¹åMËÍåfjYö«ÌËlwÃ5Ó¨ÜP Èåªl¢ È>Ìï/sÁD–„÷óñàñpÎ÷|Ïùœ¯Fg>#"V7cÆAŽM!;;¤¤,Þyç8&‰nhhs¼¼œxõÕH~ú)ôt#Ç_fòäýE*õõWBB®þZyÍšS;U={^}#ך5§èׯ®ù×Õ¥¥ys/NžL#66ƒ.ræÌÚ¶­@hh3êÕsgòä}ìÜOjjÉÉÙ|úéI–.=ÆÔ©6ÙM mF:nÌž}ˆmÛ®¾ùôäÉ4&NüÄÄLfÌhIÍšÎÿí[ðï,::•I“~+ôøIy]óµ¼Uª8²hÑïôìy‡ùìðµÊÓ:†½ {-úŽ}¨_ÿ¯ËéÝŒ««=³f]­Î’‘aäðáK¼ðÂ^í˜1£eþEÿfÿ-Ô©ãÆk¯fûö8®\É%..ƒ—_Ž$11“gž)øÃOqÕ©ãβeí¹x1‹1c" |Òä_±³3Öš””&OÞObb&ÉÉÙ̜ɩSiÌ™s·Eå¹JåE¤B)ï壢Røä““üúëΟÏÀÙÙŽ Ü8°!Ô·øôÉ“iÌŸ„Ÿ¾Z: À“þ³ÿþ÷:”ÌáÃ}ŠGádgç±sg/‹9óK nÜØ?¿ÿÏiR3smð|]»Ö¢_¿º<ÿüo×ÅHppã\ûßlQüñG þξ}Iäå™ ªÎóÏú|¶m‹eĈ‚pµ†{~iNk²v9A%Þ"R¡”÷Ä»4<ðÀ23üø£>š]äzkמfõê?ùúëÂëGWôùå֍޷ˆˆ˜˜IëÖ?›k¹7röìNŸN+õó×"ŧŸžâÙgKv¶ûvž_Ê7%Þ""åTJJ6/½t€ØØ 22r‰Œ¼È„ {©RÅ‘±c›Ú:<‘ráóÏO3ztééF>ùä$))Ù<üpñ>0çvœ_n/*'("Ry{»°jU'V¯þ“ÁƒwŸAÕªŽtìèÃâÅm¨[×ÍÜ÷ú3…¹öÌòí¬2­UŠ.<<–ààïÌŸ˜y£7s–Õ¿Ÿ¢Î;ÐceKg¼E¤B© g¼ED¤t茷ˆˆˆˆH¤Ä[DDDDÄ ”x‹ˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆètDD¬då/+ Û€¯‡/»Çî¶qD%3hõ öÝWèµam†ñR— ½¶#f³·Ìæ?)ÿáØ‹Ç í“’™ÂQ?°þèz¢â£ÈÌͤV•ZÝÄðvà ð (ô¾¨„(î\Ⱦ³û0æiug+&tš@ë:­‹·H‘R¤o+y®ýsDO‰¾aÒXÑI>ȵ#X°sÒ/üeß°maÌÚ<‹þ=ØøÜFöNØKXï0þˆÿƒC?^àžÈØH¬€»“;›†obç˜Ô­Z—!á§“?•Õ²DDŠL;Þ""Rl_=ýµ‹Ôwñ‹¹ûλyë±·¸ÙýdädüeÿAÖf˜ùuÛºmYÜg1}ÞïüíóèÙ¸§ùZž))?LÁÓÅ“yÏÃÅÁ€Wz½Âogcꆩl¹'{§[_¤ˆH)Qâ-""V1·÷\sB\”¾… ð ÀÅÁ…3Ég0™L ~ûÏoœ¸p‚§Z?e1‡½=<Â’Ÿ–°-z6y°ä )&5«(jÒýW2r2ÈÌͤ±wcsÒ ðóéŸ Ý}¬hÑGDÄV´ã-"b#1I1ÌÝ6—½g÷’kÌ%èŽ &Ý?Éâ€ÙÆl–ïYÎú£ë9ŸrggZ×iÍ VƒèrWìíìo:O“ùM0æ‹SM÷šDŒ‹(ò¾þýk¦mœÆ©‹§°·³§©wS†¡oó¾EãV¬?º€1ÆX´Ç$ÅP«J­÷Ôò¼ÚvòâÉ2‰ID¤¨”x‹ˆØ@zN:/o~™‰÷M$À7€˜ 1LÝ0•¡ŸåÃÇ?¤]ÝvÌÜ<“ G7ðfÈ›´©Û†´¬4Vþº’‘kGòñi_¯ýMçºQåÒ’™BXï0îª~±—cYþór&}7‰ƒçò¯žÿ*Õ¹.\¹Àë;^g`Ð@z7ímq-5+7'·÷¹9^mKÉH)ÕxDDn•ŽšˆˆØ@jV*¡Ci]§5nŽnÖdaŸ…äsxuË«æ~{NíÁ¿¦?vÂÅÁ…šî5™Òu «7´aôW­º†, ¹os\]¹«Æ],xdAw±jß*"c#Km®äŒdžYó íëµçÕ^¯Þü†k˜0XM±%Þ""6àìàLPí ‹¶&ÞMðñð!*>Š„´:7êÌþsû™¾a:Ï4 ^¤Ýn[ÈãÖ[Ke¼Œœ †­†¿·?‹ú,*ôxMç*¤g§z?€§‹g©Ä#"R\:j""b^.^…îÀÖp«ABZIW’ðñðafÏ™ß̺#ëxòÓ'hS§ ƒƒó@ãŠ4WYžñ.Œ‡IW’J4€ÑddìWcñõðåõG^ÇÞPø™öF5—WàZÜå«måá·"R¹)ñ±ü3É×KJ¿š¬Öp¯\=Ò"„!äæåq:‚•¿®d̺1Lë>gÛ>{Ó¹ÊòŒwaâSãÿ­¡$^ÚøÙÆlÞzì-‹¤»ÛÛÝXÔw­îhÀ=õîaé;£-µãHÜî­o‰ã) 5±ôœt¢â£,ÚŽ%#!-ßó®qðâ`sÅ;:5ìÄÛ½Á``{ôv«ÇïóÈÏé÷~¿í&“É\y¤»÷ͱä§%O8Ίþ+núÁ7íêµÃ¯¦Žn +7ËÜnÌ3ò}Ô÷Ôö¬M×F]KˆHI)ñ±WGWf…Ï"26’Œœ Çæ…ï^ÀÑÞ‘=fXô±qGŽ’mÌ&)=‰w"ÞÁd2Ù|÷÷øßyyÓËœ¾tš¬Ü,þLú“ÐïC9w„§Z?Uà û­øòð—,ùi ‘±‘´\Ø¿0?‹¯3Ég,úÛìëFJf “˜LbZ"ÉÉÌ ŸÉ©‹§˜óМœKºd‘ÑQ+YùËJ¶‡àëáË´îÓ˜¿c>‡Î"Ï”GËÚ-Y=xµEïO†|Â'?aÂ78ùjïÕ0ç¡9 h9ÀVK!¤Ež.ž|ûû·<³æâRãpvp¦™o3÷]LŸf} ܳ-z#ÖŽ°hó ó`ÎCs4ÐܾñØÆ[ީխøâÉ/X¸s!=ßíI^^AwñÉŸXS7L%Û˜mµ±ÿ¸˜»ï¼›ožùwG÷ÒX¢H¹¡Ä[D¤‚‰MÀËÅ˲ýòÕöjnÕÌmƒ;ƒþWP™ýöŸß8qá6ys»½=ý3µ \ ¬hÑÇc_› ‹T4zs¥ˆˆÄ$Å0wÛ\öžÝK®1— ;‚˜tÿ$óΖíYÆâкNkÖ ]ÀþȳŸ? €—«{'ì üx8£×6ß|AóBç]òÓ–ü´€‡|Lûzí¹˜~‘¥»—²5z+ñ©ñTq®BÛºm×i>…Ž¿yøfïZÌϧ&9#€ß&üF5×j'½Æõo2}ë±·x}ÇëDž$Ï”Wà9MF6ÝÈ瑟s,ñ©Y©Ô¯VŸAyªõSæ]ûkÇÞwv~a~ÀÕÖc/»éõ|¥õ<æ<4‡i¦™û콃ùÛç³ëä.ìíì ¾3˜=fPÏ«Þ_>³|Mæ7¹áV׫é^“ˆq7í“`~Àµjy^m;yñ$ƒVbßÙ}æëùoÌ}ê³§Øsj¹}ÿóûñtñ¼¥±E*ƒÉd2Ù:‘ÒOZZZ‘úúù5bÉ’xz÷.ZÿÒÒçý>œM>KóZÍ™xßD|ˆ¹ÃÔ S‰IŠáÃÇ?¤]Ývæþ iæÛÌœxç ù „³)g͉w¾Q_Žbˉ-üú;NöN˜0a2™8„Ç>|Œ±Ç2®Ó8ì°#ñJ">@Vna½ÃhW¯çRÎñò¦—‰ŒdõàÕß\`üvuÛ1á¾ ´¬Ý’ãŽ3ð£DŒ‹¸iâ}ís8uñM}š2­Û4šú4%úBt¡Ïa[ô6F¬AhçP&Ï”Çw|Çì-³y¶Ý³Lé:Åbì=³¢\OHK(õç‘ß§‡FÞ3’¦>MÙn?#׎¤±wcÖ=½®HϬ, [3ŒŸNþÄ—OIPí ‹k§/¦ûŠî4÷mÎ7Ï|@T|W¤Aõ|>ôs\]É6f3xõ`ži÷ ŠÐïC1™L¼´ñ%:4è`‘tgl‘ŠN‰·ˆˆ 8;8ØlâÝ¢â£Ì5¶­!üx8v;ºùu³h÷öðÆ¿¦?G⎗Wà¾ëã/WGWóÑ|…=‡n~ÝøxÈÇîð 7/—N”8–|eù¹›ýçöóú#¯Z§¸c‹TTJ¼EDl ?¹»^Rz5Ük˜Ûì väs ô½>ù,'{'<]<¹’u…?^üÃê%Ü’3“1™L~¹þ9ŒX;‚ßþó3zÌ O³>Ts­†Á`àýßÞçµ­¯H\oV¹åF×mý[hW¯~5ýØptƒÅó4æù>ê{j{Ö¦k£®÷œM9Ë”õSXöè2Vô_‹ƒ £ÖâbúÅ-R‘)ñ±WGWf…Ï"26’Œœ Çæ…ï^ÀÑÞ‘=fXôíÔ° i |´ï#ÒsÒ9“|†W·¼J ·7ýÖ„v¥žW=&ÿ0™î$5+•äŒd>=ð)Kw/ej·©e¶ó[Ź \Èsnøìíìi_¯=‰i‰¼ûË»\ʸDfn&§#øäÀ'…ŽÛ¼VsN^¶œØ‚“½÷ßu¿­C)TyODtÔDDÄj‡3zÝhóëæ šÚïocþÃóo:ÞÅô‹,ݽ”­Ñ[‰O§ŠsÚÖm˸Nãð (tΣw0û|vÜ…½=Áw3£Ç êyÕ3÷1šŒl<º‘Ï#?çXâ1R³R©_­>ƒòTë§ÌçЯ{çèÌÛ>1;prp¢ó]ùWÏ‘š•Ê+á¯q:wgwº6êÊôîÓqwr¿åõÜL“ùMÌoT½™šî5‰Q¤¾põüô½õïÅÍÑÍÜ“Ãë;^'âLÆ<#Í}›Ú%ô†cÜl—3/s÷¿ï¶¸gâýùG‡`4i2¯‰¹ýÁ&²ôÑ¥7Œ/Û˜Íò=ËYt=çSÎãìàLë:­Ôj]îꂽÝÿŽ£Üê:®½oî¶¹ì=»—\c.Aw1éþI´®Óú¦÷ŠTFJ¼ED¬¤gãžDO‰fÔ—£Ørb ¿‡þ޳ƒ³ùú¥ŒK´}£m‘ÆJHK`ÀGÈÊÍ"¬wíêµã\Ê9^Þô2ýWõgõàÕß\`ÎÙ[f3òž‘Ì{xûÏígäÚ‘<ÿÍó¬{zyì1;™ðÍB;‡²$d y¦<¾ûã;fo™M\jSºN)t=s¶Íaô½£™÷ð<6ÛDè÷¡$g$ãhïÈÄû'R¿Z}¾9ò 36ÍÀÝÉéݧßòznæØ‹ÇŠú×qK’Ò“8xþ ³˜en;}é4>€«ƒ+KC–rw»ùOò˜»m.g.)0FQ×=%šg?–ŸNþÄ–‘[Ì?Ù쉞Í€ðTë§èÓ¬Ï_Æ7sóL6ÝÀ›!oÒ¦nÒ²ÒXùëJF®iQõäVב/='—7¿ÌÄû&à@Ì…¦n˜ÊÐO‡òáãÒ®n»?w‘ŠFGMDDnC v.à\Ê9¦u›F—F]pstÿ¦?oô{“ÉĬðY…Þ70h ÁwãêèJÇéÒ¨ ‡bq)ã’E¿öõÚ3êÞQTu©J5×jæDïƒß> -+­Ð±´@‹Z-put%¤Eþ5ýÙùçNþÞîïøàæèÆààÁÔ©Z‡î,•õX˶èm˜0ÑÝ¿»¹mÁÎ\μ̌ž3èÔ°nŽn4ñnÂü‡ç“–P`Œ[Yãsíž#Ï”Ç{¿¼g1ƾ³ûˆO§w@ï›Æ·çÔükúÓ©a'\\¨é^“)]§Ð°zÃqÝÊ:ò¥f¥Ú9”ÖuZãæèF`í@öYHŽ1‡W·¼Z´+RÉ(ñ¹ …ÇÎ`G7¿níÞÞø×ôçHÜâRã ÜײvK‹×µ=kŸonëæ×‡|\àÞŸrór9qáD¡1Ö´xí[Å€µZX´×ªRËb¾’¬ÇZ‡X+sÛþPàLµ‡Oä6Œ¢®±Cƒ4ómƺ#ëHÎH6÷}÷—wy¦í3ª–_çFÙn?Ó7Lçàùƒæ#8á#Â-j|ßê:ò9;8T;È¢­‰w|<|ˆŠúˤ]¤²ÒQ‘ÛL¶1›Ô¬TZ-nuÃ~§.ž¢V•ZmUœ«X¼Îƒ§ “¹-5+•÷~}ÍÇ7—ÇåÌË÷däd:Ÿ‡“‡Åkìíìqutµh·3Ø‘gÊ+•õ\¯,Îxgäd°çÔÆtcó•ì+8;8[œùÎWý'/ž´è«kü{»¿óÂw/°zÿjÆvËÉ‹'ùí?¿±°Ï›Æ0³çL‚ïfÝ‘u<ùé“´©Ó†ÁÁƒy ñÅZǵ¼\¼0 ïq«ABZIW’,~%Þ""·'{'<]<¹’u…?^ü£Ôk6X;‚ßþó3zÌ O³>Ts­†Á`àýßÞçµ­¯Y$饡4×Sg¼wŸÚMfn¦E™>'{'Üܹ’}…ôœôIëµ»Ôùýou4{„;ðѾqÏÞûõ=µTàM©…Å`0iBH‹rór‰8ÁÊ_W2fݦuŸÆ³mŸ½åu\+ÿ‰ë%¥'W“v±¤£&""·¡^Mza4Ùwv_k+"Vpßòû0šŠ¶ó{-cÞÕ1½=¼yºÍÓTw«nÞÕÌÊÍ*qÜ7RVë) [Nl¡®W]{7¶hï|WgàG5ò]ʸTè.ñ­®ÑÞ`ϰ6ÃHJOâ½_ßãû¨ïyºÍÓEŽ/xq01I18Ø9Щa'Þ~ìm Û£·{ùÒsÒ‰Š²h;–xŒ„´|´Û-R%Þ""·¡ÐΡÔóªÇä&³óϤf¥’œ‘̧>eéî¥Lí6µX;Çövö´¯×žÄ´DÞýå].e\"37“ˆÓ|rà“2XÉUeµž’Ê3å±-z[¡JÚ%/W/^ •ŸNþDzN:Ñ¢™ôí¤Bmg·zœ*ÎUXôã"zú÷Ä×÷ÈñÌØ8ƒ£ GÉ6f“”žÄ;ï`2™¸·þ½Å^G>WGWf…Ï"26’Œœ Çæ…ï^ÀÑÞ‘=füås©¬ &“©tg("bCñññ¤¥^uãz~~X²$žÞ½‹Ö¿¤®¯{ Яy?öYÈ3kža×É]×zø÷`ˉ-mc:ŒaÒý“€«Ç–ïYNø‰pb/ÇâéâI3ßf o?œŽ :pðüAú¯ê_è~a~í]ýºònÿ«Éö¢±#f‰i‰x¹zÑù®Îx{xóöÏoWß09ó™…ŽÝÓ¿'~ø¨E{hçPÚÔmÃã«·hßi<ã;/òz¬mßÙ} Z=È¢üÞµN^<ÉüóùùôÏäsiìݘqÇñþÞ÷ÙsjpµÚËÜÞsâ­qÞöy¼ûË»|ÿì÷>íô¯â‹Šâ“ƒŸðë™_9ùjïÕ00h Z°8Ÿ]Ôu4ªÑˆ°íaøzøòÖco1Ç|?Dž)–µ[òBçTÇ[në×{0~¼/ÑÑ1EêïáᯯïÍ;Þ€o©PÊsâ-·ŸyÛçñÅ¡/øeü/6Ùq¿™òŸHygíÄ[GMDDDn`ˉ-t¾«s¹MjË{|"bIUMDDDn |D¸­CøKå=>±¤o+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±%Þ"""""V Ä[DDDDÄ ”x‹ˆˆˆˆXo+Ð'WŠˆˆ…•¿¬$l{¾¾ì»ÛÆU>)™)üõë®'*>ŠÌÜLjU©EÐA o7œß[‡("Å o±ð\û爞]î“»ôœtº¯èÎðµÃmJ© ÛƬͳèá߃Ïmd„õãø?ù0„ðãú¨x‘Û‘o¹-™L&òLyäååÙ:”21 hÃÚ ÃÛÃWGWÚÖmËâ>‹1æ™·}ž­Ã‘bÐQ¹-¹;¹³}Ôv[‡Q&æöž[h{€o..œI>ƒÉdÂ`0X92) íx‹ˆˆÜ&2r2ÈÌͤ±wc%Ý"·!íx‹ˆXIøñpF¯m~½côæoŸÏ®“»°·³'øÎ`fô˜A=¯z,Û³ŒÅ?. uÖ¬º€ÿü‘g?/W/öNØ[èø;GïdÞöyìˆÙ“ƒïêÌ¿zþ‹Ô¬T^ …ˆÓ¸;»ÓµQW¦wŸŽ»“{¡qÇ$Å0wÛ\öžÝK®1— ;‚˜tÿ$Z×imÑïbúE–î^ÊÖè­Ä§ÆSŹ më¶e\§qøãæá›Y¼k1?Ÿþ™äŒd~›ðÕ\«ÝÒ³ü=ôwœœÍ¯“3’Y¶g[Nl!ör,nNn´º£#Úàžú÷˜ûe³Y¾g9ë®ç|Êyœœi]§5ƒZ ¢Ë]]°·³ÿË8šÌo‚1ÏxÓ~5Ýk1.¢H} ³þèzÆtSì1DÄv &“Édë DDJK||ßù†›fðLÛg˜Þ}ºÅ8}ÞïÃÙä³4¯Õœ‰÷M$À7€˜ 1LÝ0•˜¤>|üCÚÕm@BZ>@Vna½ÃhW¯çRÎñò¦—‰ŒdõàÕß\ ÆvuÛ1á¾ ´¬Ý’ãŽ3ð£DŒ‹¸iâ}ý8×&Þ‰i‰ øh™¹™Ìyhíê¶#ñJ" v.`óñͼöàk À´ ÓØpto†¼I›ºmHËJcå¯+YùËJ>ò1íëµ/RÖpáÊù¿Gèæ×9ͱu8"ÂúõŒïKttL‘ú{xxàëë[ìùtÔDDÄF $øÎ`\]騠#]uáPì!.e\*•ñ´@‹Z-put%¤Eþ5ýÙùçNþÞîïøàæèÆààÁÔ©Z‡î,tŒÔ¬TB;‡ÒºNkÜݬÈÂ> É1æðê–WÍýì\À¹”sLë6.ºàæè†MÞè÷&“‰Yá³ ä½#i_¯=®Ž®ÕâØ‹ÇŠœtßÈ‚ 8›r–—z¼D7¿nx8{аzC÷]Œ·»7¯„¿Â…+Øsjþ5ýéÔ°..Ôt¯É”®ShX½a‰b(mÉÉ<³æÚ×kÏ«½^½ù "R.)ñ±‘–µ[Z¼®íY€øÔøR?°v Åkß*WwiZÔjaÑ^«J­ÎéìàLPí ‹¶&ÞMðñð!*>Š„´àêÑ;ƒÝüºYôõöðÆ¿¦?G⎗W`üëÇ. ›o k£®íNöNthÐÌÜLvÜ@çFÙn?Ó7Lçàùƒæ##á#ÂËÍnwFNÃÖ ÃßÛŸE}éø‹ˆ”O:ã-"b#Uœ«X¼v²wÀDéœôpò°xmÀ€½=®Ž®ív;òL…—äórñ*ôM|5Üj–@Ò•$¼\½HÍJ ÕâV7ŒçÔÅSÔªRË¢íúXJ*Û˜MjV*ÎÎ…žY¯é^¸z`fÏ™ß̺#ëxòÓ'hS§ ƒƒó@ãŠ4gYžñ6šŒŒýj,¾¾¼þÈëØ”t‹ÜΔx‹ˆ”sv;rŒ9Ú/g^.ó¹óêë%¥'PýNöNxºxr%ë ¼ø‡M“C'{'ª8W!5+•+ÙW $ßùGL¼=¼0 „´!¤E¹y¹DœŽ`å¯+³n ÓºOãÙ¶ÏÞtÎc/+ý…ü×K_"Û˜Í[½eñ\»½ÝE}ÑêŽÿ #"厚ˆˆ”s>>Ži$¦%rþòù2Ÿ;='¨ø(‹¶c‰ÇHHK À7z5é…ÑddßÙ}ÆX±‚û–߇ÑT´]á’Êß©ÞcYã;ۘ͞S{pqpᾆ÷¼8˜˜¤«oªr°s SÃN¼ýØÛ ¶GÛ¶Fø’Ÿ–p<á8+ú¯0ÿ6DDnoJ¼EDʹN ;‘–ÀGû>"='3ÉgxuË«Ôp«Qæs»:º2+|‘±‘dädp8ö0/|÷ŽöŽÌè1ÃÜ/´s(õ¼ê1ù‡Éìüs'©Y©$g$óéOYº{)S»MµÚNxhçPêT­Ãì-³Ù½+ÙW8yñ$¿Hâ•Dfôœa>r0cã Ž&%Û˜MRzïD¼ƒÉdâÞú÷Z%ÞÂ|yøK–ü´„ÈØHZ.l‰_˜ŸÅ×™ä36‹MDŠOåE¤B)Ïåž?HÿUý-ÚÆtäû'áægÑÞÕ¯+ïö¸zÜcî¶¹ìˆÙÁåÌË´¨Õ‚éݧ3cÓ ŽÄ`ä=#éÙ¸g¡ã÷ôïÉ£>jÑÚ9”6uÛðøêÇ-ÚÇw›£aÛÃðõðå­ÇÞbþŽù:ˆ€è)ÑEz†ù®¯ã Яy?öYhŽeÙže„'.5WG׫u¼ïa‘PGÅGñÉÁOøõ̯œ¿|µŽwƒj 4-ØìCj†¯~Ó÷µO­ÕQ‘²v9A%Þ"R¡”çÄ[DDÊÕñ©€”x‹ˆˆˆˆXÊ ŠˆH¹rýy÷ÂŒï4žñÆ[!‘Ò£Ä[DDÊ•[}£¥ˆÈíBGMDDDDD¬@‰·ˆˆˆˆˆ(ñ±%Þ"""""V Ä[DDDDÄ ”x‹ˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆ”{é9ét_Ñák‡Û:‘bSâ-""åžÉd"Ï”G^^^k ´z ¢¹5¶@DDäfÜÜÙ>j»­Ã)íx‹ˆˆˆˆXv¼ED¬$üx8£×6¿Þ<|3‹w-æçÓ?“œ‘ @ë:­ÙwvŸ¹Oë:­Y3t {Níá©ÏžâþïÐͯ³·Ì惽˜û›| {ƒý ch2¿ ÆEz""¥Á`2™L¶BD¤´ÄÇÇ“––V¤¾~~X²$žÞ½‹Ö¿´ä'«íê¶cÂ}hY»%Ç/gàG‰Áú£ëyyÓË,곈¾Íûšï›üÃd¾<ü%<ÌýÞ0·‡ç£ý±êñUV]G¾|\âxoöLª¹V3÷ÉO¼ó. ¤™o3s­„´|4€¬Ü,Âz‡Ñ®^;Î¥œãåM/ÉêÁ« ¾3¸ŒžŒˆ”wë×{0~¼/ÑÑ1Eêïáᯯo±çÓQyïHÚ×k«£+Aµƒ8öâ1ª¹Vãá¦ãhïÈ׿mî›™›É–[¨_­>[OlåJö󵯎|Å£-µÅJ5Þ=“âZ°sçRÎ1­Û4º4ê‚›£þ5ýy£ß˜L&f…Ï*öØ""·J‰·ˆˆÕ*´ÝËÕ‹.º°ûÔnÓØrb Aw1ôî¡dæf²éØ&’3’ùåÌ/ôjÒËjq—e¼7z&Å~<;ƒù¨K>ooükús$îq©q¥:§ˆÈ茷ˆˆ¸:ºÞðÚ£-%üx8ßE}dzmŸåë#_óh‹G¹·þ½„mãÛ?¾åoãû¨ïéê×7G·"ÍYÚg¼K;Þ¿z&·*Û˜MjV*­·ºa¿SOQ«J­R›WDäF”x‹ˆ”C]uÅËÕ‹¯EHóž?ÈÒG—ââàB§øéÔO$¤%°îð:^èüB‘ǽöM‡·C¼EaÀPh»“½ž.ž\ɺÂ/þñ—o:±5)‡íy8àa¢¢X¸s!=ü{àâà@H‹ŒyFÞØõ i Ü[ÿ^GkÛx]]É1æ˜_÷|§'Ÿü €^Mza4-*Åä[±‚û–߇ÑT´ßˆˆ””o‘r*¤yk"×X¼±g㞸;¹³&r ýš÷ÃÎP>¾•Û*ÞæµšsòâIb/ÇràÜÎ\:CÛºmíJ=¯zLþa2;ÿÜIjV*ÉÉ|zàS–î^ÊÔnSµ."V££&"Ri9;›ÈÎ.ü˜BY8xþ ýWõ7¿n¾ 9ÑS¢ í|g0 ª5 Û˜M»ºíÌí..<ØäA¾<ü¥M«™\¯8ñå™\_ÿ¼ù‚æôkÞ…}ðR÷—˜¾q:¼û^®^üëѨF#j¸Õ`ÝÓëX¾g937Ï$ör,ž.ž4ómÆÛ½MÇKÿAˆÈm#3Ó€‹‹õ*k«Ž·ˆT(·RÇ»C‡ú žÂ3Ï$—qT""RýßÿyñÞ{UÙ½ût‘ú«Ž·ˆH1ùùåpü¸“­Ã9~Ü ?¿œ›w,%J¼E¤Ò ÎäçŸK¯|ˆˆÜ^""\iÕ*Ójó)ñ‘J«[·tΞuàðaç›w‘ åÐ!gΞu [·+7ï\J”x‹H¥”‰¿6«WWµu(""be\•Ƴ ʲڜJ¼E¤R5*™¯¿®BT”v½ED*‹¨(g¾þº #GZ÷Íõªj""Ê­T50™`È;É˃Ï>;‡ÁzÕEDÄF† ¹ƒœŸ~kß÷UÕDD¤ ˜>ý¸°j•ŽœˆˆTt~X•½{]yùå VßlQâ-"•^‹YLšt‘9sj²m››­Ã‘2²k—sæÔ`Ò¤$Z´°ÞÙî|J¼ED€Q£.’ʤI¾DFê¼·ˆHEé̸q¾„„¤1j”m>8M‰·ˆÈÍžH›6™ z'7zØ:)%7z0tè´i“ÉìÙ‰6‹C‰·ˆÈ9:šX±"–.3nœ/ÿþwu²²ônK‘ÛUV–ÿ»:ãÆù2`ÀeV¬ˆÅÑÑvuETÕDD*”[­jr#Ÿ|âIXX jÔ02uj<`½X‘’Û¼Ù¹sk”dÏ”)I r¹Äc–´ª‰o©PJ+ñHHp`Þ¼ê|ûm²4(•îݯP«Vn©Œ/""¥+.έ[ÝY³æêç3ôí›ÊäÉññ)ïÛJ¼ED®Qš‰w¾Ã‡ùðêlÚäNF†µkçR¿~^^y ú*"bKyyRRì8uÊ‘¸8\]óxðÁ+<õT ¥[¹D‰·ˆÈ5Ê"ñΗ•e`ï^~ÿÝ™³gII±#/¯L¦±Š“'ß aÃq6ŽD¤øììÀÓ3ºushÞ<‹6m2qv.›ô¶¤‰·C)Æ""R¡9;›èØ1ƒŽ3lŠH©7no¾9ÐÆ‘ˆTªj"""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±%Þ"""""V Ä[DDDDÄ ”x‹ˆˆˆˆXo+Pâ-""""búäJ©PªV­Š»»»­Ã¹-¸¸¸”è#°E*‡’¥ÎJ¼E¤BÉO$Däæò“G"R9訉ˆˆˆˆˆ(ñ±%Þ"""""V Ä[DDDDÄ ”x‹ˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±%Þ"""""V Ä[DDDDÄ ”x‹ˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±%Þ"""""V Ä[DDDDÄ l€ˆˆˆ”½ôôt²²²,Ú²³³¸té’E»³³3nnnV‹M¤²0˜L&“­ƒ‘²õöÛo3zôè"õ}ë­·5jTG$Rù(ñ©.\¸@­Zµ0ÙÏÞÞž¸¸8jÖ¬i¥ÈD*5‘ %33“ÜÜ\[‡!R¸Ð­[7¶mÛvÃäÛÞÞžnݺáââBZZš•#)ÿpqq)þý¥‹ˆˆÍ¥¤¤(a¹|­[·ÞðºÉd⡇">>ÞŠQ‰Ü><<ùÄ“°°Ô¨adêÔ$xàJ)D'""Ö²y³;sçÖ )Éž)S’2är‰ÇôððÀ××·Ø÷kÇ[DäF#¼öZM>ú¨*ÿøÇ%F¾TnÏ ŠˆÈ=ðÀ:wNç­·ªñòËÞDG;1}úlYÀG‰·ˆÈåä=º¿üâÊ›oÆóàƒ%ß9Ûqv6ñüóiÚ4›þÓ‡3gyë­8m³¡¢r‚""ÿõÒKÞìÝëÂêÕç”t‹ˆT >˜ÆêÕçØ»×…—^ò¶YJ¼ED€·ß®Æ×_WaÑ¢x‚‚Ê×»àED¤ä‚‚²xóÍx¾þÚƒ·ßö²I J¼E¤Ò;rÄ™E‹ª3mÚºuK·u8""RFî»/iÓ’X´¨GŽ8[}~U5‘ åV«š˜L0dÈäåÁgŸÃ ’Æ""Þ!w“càóÏoíû~I«šhÇ[D*µo¿­Âþý.ÌœyAI·ˆH%1cF‡¹ðí·U¬:¯o©ÔÞ~Û‹Tt®[*§¯¿þšþýûÓ¶m[üüüÌ_QQQÅïÀôéÓÇ<Î3ÏP*.–-[vÃë¥YجY³fV¹G¤45nœÍ®]®V›OGMD¤ÒJN¶§F £­Ã æûï¿·x“bþWxx8QQQí‹- !!×^{^½zÑ¢E š5kFÏž=™;w.—.]2¿råÊcÿý÷,]º”.]ºÐ¤Iüüü˜;wn~7nà£>ÂÏÏŒŒ ó¸cÇŽ-4îü¯÷߀Ç[´/Y²ÄZV¤ÔU¯näÒ%{«Í§Ä[D*­ìlŽŽú()]<ò{÷îÅÕõ»ho¼ñ={ö €íÛ·cooϦM›˜4iÇŽ£wïÞ¼ÿþû¤¥¥ñÝwß±yófrrrxï½÷èׯñññ<÷ÜsDGG[Œ¿dÉøæ›o˜={¶9Žëûå{òÉ' \[ºt)ÑÑÑDGGsøða¼¼þWíaüøñæJ#lß¾'''öìÙÃøñãKñé‰X—““‰ìlëuRâ-""Rʼ¼¼èׯŸùuþnq¾?üŽ;Ò¨Q#¦NJrr2=ô 6¤N:<òÈ#œ?ž9sæÜp>FEÕªU0`€EÒ\®®®<ñĿ׫V­²ØÿðÃéÑ£>>>%šG¤²Qâ-""R† fþóÁƒÍE®\¹ÂÚµkÍ;Èñññ:tÈÜ÷ÚdöÚOÈ '3³ð7wíÚÕâõÞ½{ ,QüO>ù$NNN$''›+ äÇÿÔSO•h|‘ÊH‰·ˆˆHðóó£S§Næ×|ð_|ñ¾¾¾æk‰‰‰÷ÍŸ?ß|~zÖ¬YæöììlΞ=[è\ÞÞÞ¥=Ô¬YÓb×þÿþïÿÈÍÍå‹/¾ nݺ´iÓ¦Ôç©è”x‹ˆˆ”‘§Ÿ~Úüç 6ǪU«6l˜¹„^5,î™8q¢ù¬õõ_~~~…Γ¿3]Úž{î9sœçÏŸç›o¾aÕªUÚí)&%Þ"""e¤K—.4lØ€ÜÜ\þñpùòeBBBÌ}j×®mña5Ç/0ÎO<ÁàÁƒË>àë4jÔˆÎ;›_¿òÊ+\¾|™>}úX=‘Š@‰·ˆˆH1 »Ã‘‘‘<þøã*Ì™36nÜÈW_}Ejj*III,\¸C‡ñÏþÓª±ç{î¹ç̾rå  (ÖGÊ‹ˆo‘2õØcáéé €½½=C‡-Ð'00~ø¡C‡R·n]^zé%:tè@ÿþýIHHà‹/¾àî»ïþW'¼°Üמ¿Q¿!C†üå{÷íž{î¡yóæØÙÙYT;¹ÖçŸn>›~äÈsû®]» Ô/É="·3ƒ©4?¶JDÄÆâããIKK+R_?¿F,YOïÞEë/RY}ûí·Lš4‰nݺñÎ;ïØ:‘R³~½ãÇûS¤þÕ†n•v¼EDDä/õêÕ GGG½©R¤„”x‹ˆˆˆ…K—.áççGdd$ÉÉÉ,\¸&MšÐ±cG[‡&r[s°u"""R¾8;;Ó¦M† FNNAAA,]ºÔ\ZPDŠG‰·ˆˆˆXpssã³Ï>³u"ŽŽšˆˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±%Þ"""""V Ä[DDDDÄ ”x‹ˆXQzº‘îÝ73|øÏ¶¥TT´õˆˆ”%%Þ""Vd2™ÈË»úUT´õˆˆ”%}d¼ˆˆ¹»;°}{/[‡Qj*ÚzDDÊ’v¼EDDDD¬@;Þ""VËèÑæ×¿ÿÞgg{óëääl–-;Ê–-±ÄÆfàææ@«VÕ1Ÿ{îñ¶ëâÅ,–.=ÆÖ­±ÄÇgP¥Š#mÛÖdܸ¦T-t¾;`þüßÙµ+{{ÁÁÕ™1£%õê¹[Œ“Êë¯ÿNDD"¹¹&7ödìØ&|ðA {ö$0`@}ºu«]èzŠ;oQÖt3Mš|ÑX´c/5k:Ñû¦ý²³óX¾üëןãüùtœíiݺƒ5 K_ìí æ¾E}vsçÞ]¤E¤b1˜L&Ì‘ #>>ž´´´"õõókÄ’%ñôî]´þ¥eÔ¨¶l‰µH¼30`'™™FæÌ ¦];o3Y°àw6o>Ïk¯ÝÍÀõHH¸Ú7+ËHXØÝ´kç͹sWxùåH"#/±zu'‚ƒ«˜¯Gڌ٘¦M«²#GFи±'ëÖu1÷=}ú >ºWW{æÍkÍÝw×àܹ+Ìž}˜¨¨ÒÒrøã~7]Ï­Î{«k²¦iÓö³aÃyÞ|³mÚü?{wu¹ÿü þ‰Êf¹ "nHn©˜{–åO©ÙiQËõ¤¦ò-—(mMó«™mv:•ÖñüÊêdšB*åB¹›J*ˆšŠ€(ʾ óûƒ/sAE„õõ¸®®«¹çþÜ÷û¾gÀ÷ÜÜŸ{ê’™YÈòåGY¾ü(+Wv§sg/ bs'"ÕkíZ7&Mò%>>¡\õÝÜÜðõõ­pÚj""R,XpˆS§²y饶ôî]77;š4qcÑ¢Žx{;ñê«û8w.ïÿêäôélfÎlCÏž~¸¸ð`ñ⎘L&æÌÙWfC‡6"$¤Îκuó¡gO_öï¿À… ù—ÅqK— ˆˆhKh¨¹íE‹:“c¬ÐØÊÛoEÆd Û¶¥àNh¨NN¼¼™>½5Mš¸YÔ«Š¹‘Û‹o‘`Æ3ôêågQîà`K×®Þäæùå—d x ‰­­ ½{׳¨ëííD@€¤sölN©>Ú¶µ\1®WÏ€ääÿÖýùçâ>î»Ï2Ž:uiÚÔ2Ñ,¯òô[Ñ1YC~ìÞ}žY³ö°wïóV–¨¨~æÕn¨š¹‘Û‹öx‹ˆT³üü"22 pt4àêZúײ——P¼¥¤.@»vß_µÍãÇ3ñós¶(sw·lÛÁ¡x[HɆÃüü"²² qt4àâbàJµjÙ—P7ØoEÇt¥ªØã={v0!!uX½úO>¹€ê0|xî¿ÿ.óªbîDäö¢Ä[D¤š98ØâînOFFYY…¥’ïsçrâÕ_[<<ìÉÊ*äСA7öUF®®vde’m,•@¦¥åUZ_Wö[Yc:|8¬#+fcaa  k@a¡‰ØØT–/?Ê„ ¿2sfFò¯¶¹‘[‹¶šˆˆÔ%+§›6µ(ÏÏ/bÛ¶Tœœ tï^|COÿþwc4šØµ+­T;|p„îÝ,÷ªï•zô(î£dÛD‰ÔÔ\«î&ÔªÓÍ YCBBvv6„†úðþû÷bccùzU×܉ȭC‰·ˆH Þ’úõ]xýõýlܘDVV!‰‰™L™²ƒÔÔ\""Úâååh®Û°¡+/¾¸‹˜˜d22 HOÏçË/Yºô03f´©ðªqxx+<=xíµ}lÙ’Bv¶‘#G.ñâ‹»ñövªÌ!_ÑoÕ©2DDìå?.’Ÿ_DZZ~x“ ºtùï1Õ5w"rëÐq‚"r[©ÉÇ ^y¾5À A X¸°PrŽ÷a¢¢ÎpölÎÎv´kW›1cš[$x%u—-+®›””ƒ‡‡-[Öbôèºuó`ïÞ <úèf‹ë&LdêÔ–øûcQÞ«—}Ô€ÄÄLæÏ?Àöí©äÁÿüOkþ÷±:¿ÿ>ðšãyòÉfê·NP‰·ˆÜVjrâ}«»ÿþhrsüü³¾"þFiîDj&ã-""Õ&55—öí °ÐrMæÔ©,NœÈ,µò.ÿ¥¹‘ëQâ-"".^Ì祗ö””CNN!ûögò主ÛóÜs-ª;¼Ms'"×¢ãEDÄÌÛÛ‰Ï> eÅŠc þ ÉÉ9ÔªeO·n>,ZÔ \ª;ÄKs'"×£Ä[DD,tíêM×®ÚQš;¹m5±%Þ"""""V Ä[DDDDÄ ”x‹ˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ©"kÖœÂßÿüý¿¡eËïª;œÛÂ?œbàÀ´jõóÜ9r©ÒÚ_¾ü¨¹ÝnÝÖUZ»•)**É£¿ÿ7äå¯Y¿ªÇ´yóYúö"0ðÛ*©;Qâ-""•&;ÛHŸ>=z{u‡R#<üp}âãëÛ,oÀµÞC»v¥ñüó; õaÇŽ‡Ø¸ñ~üüœ+µÿgŸ >~0AAµ*µÝÊÔ¯_=âãÓ·o½rÕ¯ª1<™Å˜1ÛY°àçÎåVzýÛ‘o©4&“‰¢¢âÿ®Ô¦Í6ìçjˆJn%×z­[w“ FŒðÇÅÅ@Æ®lÙòÍ›{TC¤w»ü,,Ztˆ{î©ÃwßõÂÕÕ®ÒëߎîÌQ‹ˆH•puµcÓ¦þՆܮõJJÊÀÓÓÞš!ÉUÌ{NN†*«;ÒŠ·ˆˆˆÜŒÆÒ«àR}n4‰¾Ó“nЊ·ˆˆUåç±lÙaÖ®=Í™3Ù8:hß¾.Æ5¦gO_ sÝ„„ Þzë ±±©šhÞÜƒçž äŸÿL`Û¶T† iÄܹ÷\·ßqãb‰ŽN2?nß¾.«VÝÀ¶m©<õÔ>ü° ½{ûðúëûùç?Ìõ—.íÌsÏýj~¼aC_-ŠcûöTÒÓóxóÍ{˜9s·¹ÎÁƒÁÑÑÀòåG‰Œ<ïÑõ÷ÿƒÁ†Ã‡ÃÌõÏŸÏcéÒÃüôSÉÉ9¸»ÛÓ±£'¶¸¡½©QQIŒk~ÓŸyó°yóY ôèáËË/·%#£€W_ýØØ\]íéÕË—Y³Ú–úxzz>ï¾ûÑÑI$%åàâbG»vu3&€{ïµÜ»}ùkf4B«VµouÕX+cÌß–;!õòr$6vÀUŸ¿t©€{îYcQ6eJKþþ÷@ŒF“ÅÍp6&“IEä¶‘œœLfff¹êúû7cÉ’d (_ýÊ0sænÖ­;Ã;ït¢C‡ºdf²|ùQ–/?ÊÊ•ÝéÜÙ €'²fÍÜY¿þ áá;éÑÃ{{[&O¢Q#7¾ûî${9²³fµ5·‘šZWn®‘7ß ¡S'oRSsY°à 6œá7îaèÐF@ٯٟf1wîï?žEJJŽÅkVc®,£FmcË–¢£û•JÞ† ‰á©§š1p`}àÆÇq3ï¡«•¹•­[S¯ï“O6µxÏ—ÇÀ9u*›V­<™2%ˆ  O.1cÆ2øôÓntêäU¡þ¯õ³PòžËË+â7Úѹ³799FV­:΢E‡˜5« #Gú[ÌGß¾õ;¶9-ZÔbïÞóŒKÓ¦î¬^ݳԘΟÏcëÖâ¿ Ì›w€#G.±xqGjÕr¸¡9º\·në8w.ÏâDeÖ¯*k׺1i’/ññ ׯ ¸¹¹áëë[áþ´ÕDDÄŠ¶mK% ÀÐPœœ xy92}zkš4q³¨·`ÁA.]* "¢-¡¡>¸¸ð`Ñ¢ää\ûè°«yè¡»±··åÛoÿ4—忉ŽN¢Q#W~ú)‰¬¬Bósß|s’Áƒ–ÙÖØ±ÍéÜÙ gg;‚ƒksøpµkWüí rút63g¶¡gO?óx/îˆÉdbΜ}n{ÈF´n퉳³°°x“Ì3ÏT Ç7¡~}bbR®ˆë§NeóÒKméÝ»nnv4iâÆ¢EñövâÕW÷qî\žy W¾fÌŸßž””«Žùf=ûlEE&>þø¨Eù®]i$'ç2`ÀÝæ²ŠŽ£2ßCÏ>N¥>XAÕŽùfuíêMË–µX½úOó6€>:ÊÈ‘þ[¢*:ŽÊ|…†úèQf¼O=Õ ;;›k\}uŽŽ†RqzàããD\ÜERRr+½ÿ’÷\¥“ìü£«yµûrmÛZþe¤ä=~åû¹Ä±c<òÈflmmx饶¯§T-íñ±¢Ù³ƒ ©ÃêÕ'xòÉ-tèP‡áÛpÿýwÅûÀ³² qt4àâRúf¤Zµ*~¢ÃàÁ ‰ŠJâûïO1j”?ß~û'ƒ7¤Ko"#ðŸÿüÉ_ÿÚ5kNÑ«—o™ý8;WÞMRùùEddЮÝ÷W­wüxf…Îlvs³ü§ÎƦxO­³³e¹­­Åv%q9:Ê<úÌË«8¹IMͽîkV·®#‰‰ÿÝÒT™c®Ì=Þ—{晦MÛÉŠÇxî¹$&f²cG v0×¹™qTæ{`Ĉf̘±Ç"ÞíÛS™7ïú÷@\§§=6eä¤uë:’’’KZZ>>N•ÖÿõÞsWãî^ú½ PÖfâK— ?þWüüœ‰‰Iæ»ïþdРÛ†#§Ä[DÄŠll ,¬aa (,4›ÊòåG™0áWfÎlèQþ88ØâêjGVV!ÙÙÆR‰\ZZ^…ûïÕËOO¾ùæ$aa Ø»÷‰‰Y¥Ú®©c.a0Ø0b„?iiy|üqMLÌdÊ”¤¦æÑ//Çÿ«[ú5‹Ï`êÔen?©©c¾Üc5ÆÝÝž·ß>H¿~w™÷_®&ã‰'šâädàí·Ò­›]û8½ëqv60gNñé,99F~ÿýÓ¦íÄÞÞ–ˆˆ¶¥ê—·ÿëý,Ô¯ïÂoüΦMgÉÊ*äìÙ^ye©©¹ŒYúÃOEÕ¯ïÊ»ïvæüù<&Lˆ%?¿èúÉMÑq‚"r[©éÇ ÆÅ]ä‹/ùí·sœ9“ƒ££-»2th† idñ'èÄÄLæÏ?ÀöíÅgByð?ÿÓšÿýßCìߟÎ↓p}ûF‘Ÿ_DLL‹>KŽüñǾøû»›Ë÷î½À£n.ÕN|ü`óÿ_yÖ2À A Ì{‚Ë`Ö¬½8pOOÆ äokb®›žžÏ²e‡‰Š:CRR´lY‹Ñ£èÖͧÜc++Ö éׯƒ[–‡‡·¤C/{Ìòë»'M bÒ¤æ¸Þ}·8®³gspv¶£]»ÚŒÓ¼Ô_.ÍJÎ^Ÿ8±Ÿ|_æÙë•5æª4oÞ>úè(kÖô¦E‹²Ï/Ï8næ=ôÀw—*øê«ž´kg¹EbÖ¬=¬Zuœ/¿¼ÏœÌÞˆËÏ÷õuâ½÷îeþüƒìßž¢"hÛ¶6Ó¦Ÿã]–òô_žŸ…Ëßsuê8Ò©“Ï?DãÆnW}OÚÒ|6x‰^½ü4¨Ï?¿ãŠ8ÛR·T;—ÿÌ^ÏÆIŒSúuâ3ÙKŽÚ¬h}k°öq‚J¼Eä¶RÓïÊpÿýÑäæùùg}5»È•¾úê+VãÛo{Ý‘ýËÑ9Þ""Bjj.íÛÿ@a¡åÚÈ©SYœ8‘Yéû¯En_~yœQ£nno÷­Ü¿ÔlJ¼EDj¨‹óyé¥=$%å“SȾ}ç™ #êH”•¢©TªÜd2™OéÐç¦úX²e GRŽðÁ£à`p¸©¶DDj­x‹ˆTg{gæDÍaFŸ4÷jNü¹xf¬›½Ážˆ¾u#~Œàå~/Ó´nS2ò2X¹{%&“‰.ºTSôÅ&ä•õ¯0ªÓ(üÜý8}ñ4ïn{—gðTû§Jía¿_ÿþ5K¶, í¶•²ˆHµRâ-"b%Ë]Nä¦H|Ý|™Ùg&ó7Ïgÿ™ý™Šh[¯-+†¯°8Çû‹Ç¿à‹½_0ù»Éœ¹T|ŽwãÚyóÁ7ÒvHu …°Öax8yðŸƒÿa䪑œÍ8‹£#-}[²è/‹Ør`©k6ÆodÌWc,Êü#ýxóÁ7<Ô\þãá«v""ÕÀÆd2™ª;‘Ê’œœLfff¹êúû7cÉ’d (_}¹½¬]ëÆ¤I¾ÄÇ'”«¾››¾¾¾îO{¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±%Þ"""""V Ä[DDDDÄ ”x‹ˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±»ê@DäN±ü×åDnŠÀ×Í—­Ïm­²¾~<ü#ïn}—Äó‰äæ°ö™µÔv®Mä¦H¶ŸØNJf ƒZ báÀ…U‹ÜâRâX³]§va,2ÒîîvLLûúí«¥íÍ ›y=úuþ¼ø'‡_8|Ó1ˆÔZñ±’g;?Küôx‚|ƒª´Ÿ=§÷0ñÛ‰„6 å·É¿±qÜFüÜý˜òýbOÄòɰOØ7u£;®ÒXäÖ°/iC>‚«ƒ+ëG¯'fB j5àñ•³%q‹UÛ>™~’1_aAÌÎeŸ»©¾Ej%Þ""·™â~Àd21¢ã\ì]hèÙ-ß‚·›7±'bé×¼Þ¸:¸òBÏxëá·ª;äJ×fa†­Váçï$E¦"¦ÿ0'æ=47j;׿Õþ¯Ò¨N#f¬›A¾1ßjm/úy÷Ü}ßüW{×Ê¢H¡Ä[Dä6“”‘€§“§eù¥âòÚ.µÍe666ØÚ蟂;ÙŽ?wpôÜQ|';'s¹ÁÖÀÃA“t)‰ñ­ÖöÜs×eCÅ$Rƒé·­ˆÈmÆXd¼f¹ 6Ö Gj¸í'¶Ц^›RϵñkcQÇm_ž ‹Ünts¥ˆH5IHK`îÆ¹ì<µ“Bc!Áw3õ¾©æÎÞÝö.‹~^@ûúíYõÄ*~>ö3£þ= OgOvNÞ @Ô‘(Ưon¿Õ‚Veö»dË–lYÀÊÇWÒ¹agÎgŸgéÖ¥üÿÉɸ;ºÓ±AG&†N$È'¨Ìö7ŒÞÀ¢_±ýÄvÒsÒØ1yµk—îô2WÞdúÞ#ïñÖæ·ØwfE¦¢Ró`4ùñù÷¾s8õ0y4ªÝˆ¡ÁCyªýSæUûËÛÞujþ‘þ@ñ ëá_÷ù•5o>ø&3×Í4×Ù<~3ó7Íç—Ä_0ع;„ˆ¾4ôlxÍ9+8?𪬮äåêEìÄØëÖKHK0ßp9?â²Äó‰ [1Œ]§v™Ÿ/¹1÷©=ŶãÛÌ廟߇“Ç µ-r'°1™L¦êBD¤²$''“™™Y®ºþþÍX²$™ÊW¿² üd §ÒOÑʯSºO!È7ˆ„s ÌX7ƒ„´>}ìS:5èd®ßfaZú¶4'Þ%ÂþÆ©‹§Ì‰w‰q_#úh4Ãâ`pÀ„ “ÉÄä<òé#<×í9&†NÀ[R³Ròùò óˆI§†8}ñ4¯¬…}IûX1|!w‡”j¿SƒNLî>™¶õÚrä܆~>”؉±×M¼/Ÿ‡ãçÓ§3{Ϥ…O âÏÅ—9ã72æ«1„÷gxÈpŠLE|è{^~QF1½×t‹¶¯6gåy>%3¥Ò磤N߀¾Œ½w,-|Z°ûônÆ~5–æÞÍYýôêrÍYU±j[·ðõÓ_\/Øâ¹NÐçƒ>´òmÅw#¿ .9Ž¡+†Ò¸NcþýÄ¿q¶w&ߘÏðÃÙi$=\ᶯÔmi7ÎeŸÓ©&ReÖ®ucÒ$_âãÊUßÍÍ __ß ÷§­&""Õ #/ƒðá´¯ß{ÚÔkà)0ðZôk•ÖOÉnƒ­Ûÿû•okc‹ÁÆ€ÁÆ€ bpúâiföžIÏf=q±w!À+€Åƒc2™˜5§Ì¶ÇvKç†q¶w&¸^0‡_8\DNA¯ö•»Cp¶w¾æþíc6ÙÀÙŒ³\ʽdQ¿$‰»YU=%‰h ƒðßÕß멊=ÞÍê6(óÃÄÙKÅeMê4)õÜ”îSØš¸•ݧwóÖÃo•y:NEÛ¹])ñ©%ÉݕҲӨëZ×\fkcK± TÝ+“ÏŠp08àáäAV^‡^8dõ#ÜÒsÓ1™L¥>„\9c¾ÃŽ?wÑ7‚-RÛ¹6666|²ãÞøéR‰ëõNn¹ÚóÕ=×S{ïmx/K·.åÀÙ n=Øâ¹gÐ¥Q—R×ýzòW2ó3 ôäåõ/Ó»E©/‡ªhÛ"·+m5©ÙÙÄ%ÇY”N=LJf A¾A«Ý>n>¥V S3S9séL¥ÄÒ?°?F“Ñâ´ŠÄ~@÷eÝ1šÊ·Êz£ò óØŸ´ß¢ìÊy0ÇæíæÍÓž¦ŽKs¢žW˜Wf»ÎöÎVú}ØíýW¹ž¯Îù¨vÂßËŸu¬³˜Oc‘‘5qk¨çQ^ÍzY\sêâ)¦¯Î»ƒßåƒG?ÀÉΉq«Çq>ûüM·-r;Sâ-"R œí™5‡}IûÈ)Èá÷¤ß™öý4ì öDô°¨Ú$””Ì>ßõ9ÙÙœL?ÉkѯQ×¥îUZ¿1á=ÂièÙx‘˜c1däež“Η{¾déÖ¥Ìè=£ÊV~ÝÝYøóBöœÞsÕy0Øèܰ3©™©|ôëG\ȹ@na.±'bùbÏe¶Ûʯ‰çIº”ÄžÓ{8yá$t,×óÕ9ÕÁÖÆ–È‘\̽ȋ?¼Hjf*é9éÌŽšÍñóÇyóÁ7q´s4×Ï.ÈfÜ×ãˆè¿—?õkÕçÝ¿¾KrF2ÿæïV¸m‘ÛŽ‘ÛJM>N°¬ó«çožÏþ3û)2Ѷ^[¦õ˜fq~5oK™»q.›6s)÷­ýZ3«Ï,"ÖG˜ÿ\?öÞ±´»«Å¹Ò%¾zê+f¬Á±óÇ0Í'ô èË»ƒß ='eÛ–u4ФKIx8yÐÒ·%£;¦[ãnì=³—G?{´TûñÓã+4?Èù¬ó|6ü3^~ݧwc,2–9r.ðöÏo³9a3©™©x:{Ò£i¼Ý¼yûû´ökÍ·#¾àXÚ1fý8‹gàéìɸ.ãø[ÈßÌí]ïùÊš²êLè:©÷M5Ÿ!^¢—/>zô£ Íee8”|ˆ…1 ÙuzEEÅç©?ßýy‹×aö†Ù¬Ø½Âüxí3kñvó¦ãâŽmM¹o ïú÷j»DÉÑ‘eyóÁ7<ôf‡*bfíã•x‹Èm¥&'Þb©$ñÞúÜÖêEDîP:Ç[DDDDä6¤Ä[DDDDÄ tœ ˆˆTš+÷-—ÅÙÞÙâÜmÿHó¾g‘Û™o©4½ÑRDäN ­&"""""V Ä[DDDDÄ ”x‹ˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±}ŽˆH5HHK`ñ/‹ùíÏ߸sc‘wGwöLÙÀò_—¹)_7_¶>·µÚâ•b;Oíä±±òñ•tnعÔókâÖðüwÏà`pàÐÿªQñ•×ÕÆ¡÷¤ÈÍÑŠ·ˆˆ•ºxŠG?{”„´–ýu{§ìeßÔ}¼ö¶6ÿýµülçg‰ŸOoP5F+—ûéèOx:{Ò¡A‡2Ÿ8èaâ§ÇÓµqW+GVìzñ•×ÕÆ¡÷¤ÈÍÑŠ·ˆˆ•ýkï¿ÈÈË`öý³¹çî{Ìå¶x[ÑV«‰:ÅøÕãÍ[-hUf½¿¶ù+óšÝöÎgŸgéÖ¥üÿÉɸ;ºÓ±AG&†N$È'¨Ì>7ßÌüMóù%ñ ¶Bî!¢o =šëMF~üãGþ½ïßN=LF^j7bhðPžjÿ”yú•mÇŒaÞ¦ylNØŒƒ=šöàå~/“‘—Á«Q¯{"WGWz5ëŬ>³pup½áñ\Oàü@óª×ãåêEìÄØrÕ…âýÓ]uÁÅÞÅ\––À[›ß"öd,Æ"#­|[Þ3üªm\oŒ—r/qÏÿÞcqÍ”û¦ð÷®Çh28/Ð\þ@à,¼ôªñåóY¶mkÿXË™‹gp´s¤}ýö k7ŒžM{b°ýïv”Çå×ÍÝ8—§vRh,$ø®`¦Þ7•öõÛ_÷Z‘;‘o+é×¼ñÓã÷õ8¢Fs0ü ŽvŽæç/ä\ ãâŽåj+%3…!Ÿ!¯0È‘tj؉ÓOóÊúWxô³GY1|!w‡”êóõè×{ïXæ=4ݧw3ö«±<ÿÝó¬~zµ¹í˜„&7™ðá, [B‘©ˆï}Ïëѯs6ã,Ó{M/sö)tºéy¹Ýh«‰ˆÈ-hAÌN_<ÍÌÞ3éÙ¬'.ö.x°xÐbL&s¢æ”yÝÐà¡„Ü‚³½3Ýw£g³žìOÚÏ…œ õ:7ì̸.ã¨åT‹Úε͉Þ?wü“̼Ì2ÛÒv­ýZãlïLXë0¼ˆ9Ã3ž!È'{†‡ §~­úÄ‹©”ñXËÆø˜0Ñ' ¹lAÌ.å^"¢_¡MBq±w!Ð;ùÍ'%3¥T72Æg;=K‘©ˆýØ¢]§v‘œ‘Ì€ ×oÛñmxÚ$';'¼\½˜Þk:Mê4)׌£DF^á=Âi_¿=.ö.´©×†…R`,àµè×Ê7±"w%Þ""· ¨#QØÚØÒÛ¿·E¹·›7^8{€³gK]×¶^[‹Çõ<꜑l.ëíß›•¯,umO…E…=w´Ì˜ÚÔkcñØ×Ý€Ö~­-ÊýÜý,ú»™ñXKÔ‘(ÚøµÁÇÍÇ\öó±ŸJí©öqó)•Ü–´QÞ1vmÜ•–¾-Y}`5é9éæºýú#;Ž,ujIYñõhփݧw3kÝ,öžÙkÞ‚5&ÊâŒïG G;G‚ë[”zâãæC\rÜ5“v‘;•¶šˆˆÜbòùdäeÐnQ»«Ö;~þ8~î~eîŽîKnð4a2—eäeðño³áÈÎfœåRî%‹kr rÊìÏÍÁÍâ± 6l 8Û;[”ÛÚØRd*ª”ñ\©*öxçä°íø6&t`sV~ŽvŽ{¾KÔu­KâùD‹ú7:Æg:=ô隣b÷ žëö‰çÙñç\xÝøf÷›MÈ]!¬>°š'¿|€õ;0áŸÞ°HÒ+Ceާ*öxo=¾•ÜÂ\‹cú ¸:¸’•ŸEvAv©¤õòUê’ú7:Ƈ[>Ì‚˜|¾ësÆÜ;†û˜a톕º)µ¬ølllkFXë0 ‹ ‰=Ëòß–3aõfö™É¨Ž£nx—+ù q¥´ì4 8iKÚj""r êØ£ÉÈ®S»J=÷Aìt_Ö£©|+¿—3·éíæÍÓž¦ŽKóªf^aÞMÇ}5U5žÊ}4šž hîÝÜ¢¼GÓÀ·j”¸s¡ÌUâ£ÁÆÀˆ#HËNããß>fMÜžîðt¹ã YBBZv¶v„6 åýGÞÇÆÆ†Mñ›*<ŽÙÙÄ%ÇY”N=LJf A¾AZí)ƒo‘[Pxpz6äÅ^$æX y¤ç¤óåž/Yºu)3zϨÐʱÁÖ@ç†IÍLå£_?âBÎr s‰=Ë{¾¨‚‘«ªñܬ"Sã7–ù¥4á=Ãñtö䵍ר’¸…ì‚lâÏÅ3õ?SËܶQ‘1>Öî1ÜÝyûç·éÐ_7ßrÇñc¤üA¾1Ÿ´ì4>Œý“ÉD—F]*<ŽÎöÎ̉šÃ¾¤}ääð{ÒïLû~ö{"úF\s^EîT6&“©rÿf("R’““ÉÌ,ûÔ+ùû7cÉ’d (_ý›uå¹×ƒZ báÀ…Œ\5’_±x®o@_¢F[”Mè:©÷MŠ·,Û¶Œ¨£Q$]JÂÃɃ–¾-Ýy4Ýw`<úÙ£e¶áéoQÞË¿=Zœl¿ýóÛlNØLjf*žÎžôhÚo7oÞßþ>P|Ãäìûg—Ùv¿€~ þt°Eyxp:4èÀc+³(Ÿ:‰I¡“Ê=kÛujÃV ³8~ïr‰ç™¿y>ÛOl§ÐXHsïæLì6‘Ov~¶ãÛ€âÓ^æ˜ TlŒó6Íã£_?bͨ5¥¾íôZñÅ%ÇñÅÞ/øíäoœ¹T|ŽwãÚ<”!m‡XìÏ.ï8šÕmFä¦H|Ý|yï‘÷˜¿y>ûÏì§ÈTDÛzm™ÖcšÎñ–[ÆÚµnLšäK||B¹ê»¹¹áëë{ýŠW¡Ä[Dn+59ñ–[ϼMóøûÿ¿NúµZVܯ§¦Ç'RÓY;ñÖV‘«ˆ>M¦=jlR[ÓãK:ÕDDDä*¢ÆDUw×TÓãKZñ±%Þ"""""V Ä[DDDDÄ ”x‹ˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±%Þ"""""V ¯Œ Ë]Nä¦H|Ý|ÙúÜÖjŽèÎs1÷"?ÄýÀÚ?Ö—Gna.~î~ßÌèN£ ò *󺸔8Æ,dש]‹Œ´»»“C'Ó¾~{+@DÊ¢o±ðlçg‰ŸÕ䮦È.ȦÏ}ýÕèê¥ÒEnŒdΆ9ô èËÏþÈÎÉ;‰É¡äC„}FÔ‘¨R×ìKÚÇφàêàÊúÑ뉙CƒZ x|åãlIÜR £‘+)ñ‘[’Éd¢ÈTDQQQu‡R%†aD‡x»yãlïLÇY4pÆ"#ó6ͳ¨[d*búÓñpò`ÞCóðqó¡¶sm^íÿ*ê4bƺäó«i$"RB[MDDä–äêàʦq›ª;Œ*1wÀÜ2˃|ƒp²sâdúIL&666ìøsGÏå©öOádçd®o°5ðpÐÃ,Ù²„ñy ð«Ä/"eÓŠ·ˆˆÈ-"§ ‡ÜÂ\š{77'ÝÛOl M½6¥®iãׯ¢ŽˆT­x‹ˆXIÔ‘(Ưo~¼yüfæošÏ/‰¿`°5rw}#hèÙ€w·½Ë¢Ÿо~{V=± €Ÿý̨ÀÓÙ““w–Ù~ÌøæmšÇæ„Í8Ø9Уi^î÷2y¼õ*±'bqut¥W³^Ìê3 W×2ãNHK`îÆ¹ì<µ“Bc!Áw3õ¾©¥nØ;Ÿ}ž¥[—òSüO$g$ãîèNÇ™:‘ Ÿ 2cÜ0z‹~YÄöÛIÏI`ÇäÔv®}Csy0ü ŽvŽæÇé9é¼»í]¢F“t) ÚÝÕŽ1Çpo£{Íõòù,Û¶Œµ¬åÌÅ38Ú9Ò¾~{†µFϦ=1Ø®@àü@ŒEÆëÖðrõ"vbl¹ê–eík˜Ðu‚EyBZ~î~¥®ñó(.K<ŸXá~E¤rؘL&Su!"RY’““ÉÌÌ,W]ÿf,Y’Ì€å«_YÆ}=Žè£Ñô èËØ{ÇÒ§»OïfìWciîÝœÕO¯¶¨ßfaZú¶4'Þ%ÂþÆ©‹§Ì‰÷•í÷ìÏø.ãiV·ë¯'|M8=šöÀÞ`Ïäî“iT»ßøŽˆõŒì8’Y}fY´3ð“œJ?E+¿VLé>… ß Î%0cÝ Òøô±OéÔ )™) ù|y…yDˆ¤SÃNœ¾xšWֿ¾¤}¬¾‚»CJÅØ©A'&wŸLÛzm9rîC?JìÄØë&ÞW¶syâš™Êχ[˜Ë›¾I§HÍJeAÌ6ˆD*$ IDATÙÀ¼ÁÐà¡Ì\7“u¬ã°wèР™y™,ÿm9Ë]ÎÊÇWÒ¹açrÅa ç²Îñð?¦·oÞ|ðM‹çF¬Á–Ä-|ýô×× ¶xîÄ…ôù ­|[ñÝÈגּH·v­“&ùŸP®únnnøúúV¸?m5©&Cƒ‡rwÎöÎtkÜžÍz²?i?r.TJûCÚ¡µ_kœí kF€W1Çbx¦Ó3ùábïÂðáÔ¯UŸ˜c1e¶‘‘—AxpÚ×o‹½ mêµaáÀ… x-ú5s½1 8}ñ43{Ϥg³ž¸Ø»àÀâA‹1™L̉šSfûc»Œ¥sÃÎ8Û;\/˜Ã/.wÒ}5 bpêâ)^êû½ý{ãæèF“:MXô—Ex»zójÔ«œË:À¶ãÛð ´I(NvNx¹z1½×tšÔirS1T¶ôœtF®Iç†y­ÿk׿à2&Š××.ßš""ÕC‰·ˆH5i[¯­ÅãzõHÎH®”ö¯Üïëë^¼JÓÚ¯µE¹Ÿ»ßUût´s,µ‚舛qÉq¤d¦Å[?lmléíßÛ¢®·›7^8{€³gKµeÛ•aÑ ôjÖË¢ÜÁà@ׯ]É-Ìå—Ä_èѬ»OïfÖºYì=³×¼e$jLTYíÎ)ÈaĪxðöÀ·ËÜþâîè@v~v™×x8yTm "r]Úã-"RMJ’¥à¿+”7ËÍÁÍâ± 6l 8Û;[”ÛÚØRd*ûH>O'Ï2WJëºÔ%%3…´¬4<=ÉÈˠݢvWçøùã¥ö _ËÍÊ7æ“‘—£c™{Ö½\½€âí(³ûÍ&ä®VXÍ“_> @‡ú2œû›ß_®>«r·Ñdä¹ožÃ×Í—·~ ƒMÙ{ΛÕmP懛³—ŠËjÚ*¾ÈH‰·ˆH gkcK± Tù¥ÜKUÞwIB}¥´ì4êºÖÅÁà€‡“YyYzáÐU“Ckp08àîèNF^YùY¥’ï’-&ÞnÞ@ñö‹°Öa„µ£°¨Ø±,ÿm9VO`fŸ™Œê8êº}~ápåäÿ¼ôãKäóyï‘÷,æµ÷û½yû/oÓî®â:÷6¼—¥[—ràì·lÑÆ³èÒ¨K•Å)"壭&""5œ›O©•ÌÔÌTÎ\:Så}gd—gQv8õ0)™)ùáãæ@ÿÀþMFvÚUªb? û²îMå[¾Y%+Õ›,ÏøÎ7æ³íø6œìœèÞ¤;!‹BÌ'‚ØÙÚÚ$”÷y6ÅWïáK¶,áHÊ>xôó_C®¦SÃNø{ù³îuäæ™ËEFÖÄ­¡žG½R[oDÄú”x‹ˆÔp¡MBIÉLáó]Ÿ“]ÍÉô“¼ýu]êVyßÎöÎ̉šÃ¾¤}ääð{ÒïLû~ö{"úF˜ë…÷§¡gC^üáEbŽÅ‘—AzN:_îù’¥[—2£÷ «­„‡÷§~­ú¼ý:ã7’•ŸEâùD¦üg ©Y©Dô‹0o9ˆø1‚?Rþ ߘOZvÆ~ˆÉdªÖâ¯ÿš%[–°/im¶Å?Òßâ¿“é'-êÛÚØ9 ’‹¹yñ‡IÍL%='ÙQ³9~þ8o>ø¦Åq‹"R=tœ ˆÜVjòq‚{ÏìåÑϵ(›ÐuS¤¿Ey/ÿ^|ôèG@ñv¹ç²9a3—r/ÑÚ¯5³úÌ"b}„yÁØ{ÇÒ¯y¿2ÛïÐÁŸZn?ïN‡xlÅcå“B'ábïBä¦H|Ý|yï‘÷˜¿y>ûÏì§ÈTDÛzm™ÖcZ©s¼ÓsÒY¶mQG£Hº”„‡“-}[2ºóhº5îvÕ9ˆŸ_®9,qå9ÞƒZ báÀ…æXÞÝö.QG¢8›qg{çâs¼ïc‘PÇ%ÇñÅÞ/øíäoœ¹T|ŽwãÚ<”!m‡TÛI £¿}Ý÷¯žúʼդġäC,ŒYȮӻ(**"ø®`žïþ|©×JDŠYû8A%Þ"r[©É‰·ˆˆÔ,:Ç[DDDDä6¤Ä[DDDDÄ tœ ˆˆÔ(Wîw/ˤÐIL d…hDD*o©QnôFK‘[…¶šˆˆˆˆˆXo+Pâ-""""bJ¼EDDDD¬@‰·ˆˆˆˆˆ(ñ±%Þ"""""V Ä[DDDDÄ ”x‹ˆH—]MŸú0ú«ÑÕŠˆH…)ñ‘Ïd2Qd*¢¨¨¨Ôsm¶aØŠaÕ•ˆÈÑWÆ‹ˆHçêàʦq›ª; ‘›¢o+Њ·ˆˆ•D‰büêñæÇFo`Ñ/‹Ø~b;é9鴯ߞ]§v™ë´¯ßžUO¬`Ûñm<õ¯§øðÑéí߀ף_çŸ;ÿi®øÅÃl W!p~ Æ"c¹âõrõ"vbì5ëŒûzÑG£+ïÒÁKyî›çÌËš“7|“™ëfšë ?ˆ£#Ë]Nä¦HvÚ…¤?[‡_8l®>ûAåš ‘Ê`c2™LÕ„ˆHeINN&33³\uýý›±dI2”¯~e)IV;5èÄäî“i[¯-GÎaèçC‰ËÚ?ÖòÊúWx{àÛü¥Õ_Ì×½øÃ‹|ýû×<ô‹-6—G‰âóÝŸóÙcŸYu%VîYyÓñ^oNj;×6×)I¼K´Y؆–¾-Í ÿåR2Sòùò óˆI§†8}ñ4¯¬…}IûX1|!w‡TÑ̈HM·v­“&ùŸP®únnnøúúV¸?m5©&c»Œ¥sÃÎ8Û;\/˜Ã/¦¶smjñö{¾=ø­¹nna.ÑG£iT»?ý‰¬ü,ósßø†Á­WÇ*5Þ«ÍIE-ˆYÀé‹§™Ù{&=›õÄÅÞ…¯ZŒÉdbNÔœ ·-"r£”x‹ˆT“àzÁe–{:{Ò³YO¶ßJjf*ÑG£ ¾+˜'îy‚ÜÂ\Ö^@zN:¿žü•þý­wUÆ{µ9©¨¨#QØÚØš·º”ðvó&À+€gp6ãl¥ö)"r5Úã-"RMœí¯úÜàÖƒ‰:Å÷qß3ªã(¾=ð-ƒ[¦K£.DnŠä?‡þÃ_Ûü•5qkèåß {—rõYÙ{¼+;ÞkÍÉÊ7æ“‘—@»Eí®Zïøùãø¹ûUZ¿""W£Ä[D¤êÕ¬žÎž|óû7„µ c,¼';'B‡²åøR2SXýûj¦õ˜Vîv/¿éðVˆ·'î»/Ûj}*ñ‘;VÙ¸¹ñÕWÕŠˆˆXÙ×_{àáQ¤Ä[DÄœœL<öØ%þñZ\¼¨_‡""wŠ‹mùÇ?j1lØ%œœ¬wΈþ¥‘;Ú„ °³ƒwÞ©SÝ¡ˆˆˆ•,YR7î‚UûUâ-"w4W×"¦L9ÏçŸ{pð cu‡#""UìàAGV¬ð <ü<îîEVí[‰·ˆÜñyä÷Þ›ËØ±~¤¤è{ÅDDnW))vŒëǽ÷æòÈ#Öÿ%Þ"rdzµ…wÞ9‹««‰±cýÈÉѯF‘ÛMNŽ-cÇúáêjâwÎb[ ¿êõ¯‹ˆàáQÄG%qú´?~—V¾EDn#))Å¿ÛOŸ¶ãÿ³wçqQWûÇ_ðo¢²hn™¢¢âšKni–ib¥eÛU35SKãÞ\ò–eni^ËvûU¶˜]³¼š–¸çB¹¯¤‚¸# ŠìÛ0¿?¸ÌuÄ÷óñè‘s¾ç{Îç|¿ƒ~æp¾g>û,OOÛ.1ɧÄ[Dä¿êÖÍféÒ³¤¥ÙñÈ#µ´æ[D¤8tȉG©EZšK—ž¥nÝìr‹E‰·ˆÈêÖÍæßÿ>ƒ¿6>¦RˆRDDÊJ|¼‘ôäÿþ¯ „†^äÑG“JeM·»»;~~~%>_‰·ˆT*¥•xçKN¶ã㫲d‰'IIv4k–AppwÞ™M•*¹õmó""åÊd‚Ë—œ8aÏž=Îìßg.?žÄÈ‘—JuË@%Þ""W(íÄ;_F†Í›]ùýwWtâôi{’“˜4.·´íÿýûrBäfØÙå= _§N6MšdÒ¹s]º¤áäTú)®o‘+”Uâ-R3€÷ß¿œ#¹5Ülâ­'†DDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDlÀ¾¼)MNNNå‚È-ÃÞ>/ pww/çHDn 7ûoŒo©T¼¼¼Ê;‘[†³³3ÀM}¶ˆ–šˆˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ Ìf³¹¼ƒ‘²µxñb>ûì3rss-eGŽ ÀRfggÇóÏ?Ï Aƒl£He§Ä[DDä6pàÀš5kV¤ºû÷ï'((¨Œ#¹ý(ñ¹Mò×_]·N£Fˆˆˆ°QD"·ûò@D¤4ÅÆÆ’’’RÞaˆTH}úô!22’œœœBÛÛÛÓ§O¢¢¢l™È­ÁÝÝ??¿Ÿ¯‡+EDDn}ûö½fÒ `2™èÓ§ #¹½(ñ¹MÔªU‹   Ccƒ¦M›R»vírˆLäö Ä[DDä6Ò¿ìì þóoggÇ#”x‹ˆˆÜFúôéCaû*˜Íf|ðÁrˆHäö¡Ä[DDä6R­Z5Úµk‡Ñh´”ÙÙÙqÏ=÷àíí]Ž‘‰T~J¼EDDn3!!!f½CBBÊ)‘Û‡o‘ÛL¯^½¬f¼F#={ö,LjDnJ¼EDDn3îîîtëÖ {{{ŒF#ݺuÃÃã¼Ã©ô”x‹ˆˆÜ†~øaL&¹¹¹<üðÃåŽÈmAß\)"R f3œ9ãÀéÓö$%)ds‘[Bvv_þ˜ÉÊêÃêÕÎå’H‰ f<=s©S'‡Úµ³)d›ú C‰·ˆÈ ˜L°q£+V¸óûï®\¾¬_Je1€ñãë•s"¥£J•\î½7‡N¡K—T®x”¡BPâ-"rëÖ¹1}zuNr ]»tF¾DppõêeS¥Š‰B¾‡Dä–±eK7:uŠ*çHDJ.7._6rò¤{ö8³n+#FÔ nÝl&MJà¾ûRË;D ƒ¹°]ôEDnQ±±±¤¤¤Üt;'O:ðúëÞlÝêJß¾)¼ôÒEêÕË.…E*“É`µÃ‰Hepò¤óçWcÅ w:vLcêÔ ¥òw¸»»;~~~%>_s5""WÙ¶Í…G©MB‚‘Å‹Ïòî»±Jº¥R2Jº¥RªW/›wßeñâ³$$yä‘ÚlÛæRÞa)ñ¹Ò’%ž Z“ÎÓXºô,­[g”wH""RB­[g°téY:wNcèК,YâY®ñh·ˆÈ­XáÎk¯ù0fÌ%ÆŒ¹X¡ŸŒ‘¢qr2óî»±Ô¯_×^óÁÕ5—¾}o~IbI(ñpbÒ$_†MdìØ‹åŽˆˆ”"ƒÆŽ½HJŠ |©];‡à`ÛÿFSKMDä¶—˜häùçkÒ¾}¯¾šPÞለH™0!ŽÓxá…$&Úþù%Þ"rÛ›7¯*vvðî»qÚPD¤»òïúyóªÚ¾›÷("R;æÈ÷ß{ò÷¿'àîž[ÞለHswÏ%44￯BD„£MûVâ-"·µ9sªÑ´i!!ÉåŠT2?ÿü3=ömÚ´Áßßßò_DDD‰ÚÛ³g}ûöµ´3dÈ29çz.\¸ÀŒ3xðÁ ¢Q£F´nÝš|Ñ£GsæÌ™›j_ÄVú÷O¦iÓLþõ¯j6íW‰·ˆÜ¶ÎŸ·gãF7† KÔ&R,&“‰1cÆÄðáÃÉÊʲ:þÉ'ŸÊÞ½{iÔ¨»wïfÅŠ8;;»¯‹/2ažxâ Ž?^fçÜÈ™3gèÛ·/Ÿþ9ÑÑÑL˜0íÛ·FÛ¶mùõ×_¹páB©ôUZntŸäöe0ÀsÏ%²q£çÏÛn¯%Þ"rÛZ»Ö —\zô¨8_',·†¿þú‹Õ«W“žžÎúõëÙ·oŸÕñ%K–XþüðÃãééI`` $00°X}½öÚkDFF²téR6lXfçÜÈüùó‰ $$„§žzŠªU«RµjUþùÏR¥J•Ré§4Ýè>Éí­gÏTœsY·ÎÍf}j;A¹m…‡»pÏ=é88˜Ë;¹ÅЫW/6mÚD‡hÖ¬™Õñ+g~=<íÛ]xê©Ë6éS‰·ˆÜ¶þúË‘‡ÖÚn)>{{{>øàƒk7›KïÃ\ãÆmrÎ\¾ü¿ÄÄËË«ÔÛ/ 7ºO"g²bÅÍ}8.%Þ"rÛŠ5R³fNy‡!E´råJ^~ùåå}ô={ö$""‚¾}ûZÊGÅøñ㉋‹ã³Ï>cóæÍœ={–ÜÜ\jÕªE÷îÝ9r$U«æm)¶páBfΜiÕö¿þõ/Nœ8ÁÒ¥K‰‰‰Ád2ñÜsÏñùçŸ[Õ[°`<ð_ý5S§Nµ:6zôèëŽkòäÉ 2„пKùرc;vlÑ.N*Θ9|øp™ß«¢(,†üû”/99™/¿ü’uëÖqâÄ ÒÓÓñòò¢qãÆ<úè£ôéÓÇR7>>ž?ü­[·rîÜ9Ìf3µjÕ¢Q£FÜÿýôìÙ''§"Ç'CÍš&ââl·Ÿ·Öx‹Èm+#ÃWW-3¹UôéÓ‡;wâââb)›?>={ö 00 6`4ùí·ß?~\ Á]¿~}©´]¯/mÚ´±¼>uê”åϹ¹¹V³ê}ûöåüùó4lØ„„Ú´iÃÈ‘#ùôÓO­fãKëB¥rSâ-""·ƒÁ`5;¼oß>žxâ‰;XLŸ>www~ýõW~úé'’““IHH`îܹìß¿Ÿ¿ÿýï6=ß°aÃ,NMMeÀ€%úJùŠ®¢Þ«™3gR³fM o&þ?þ %%…?þ˜¤¤$î¿ÿ~žyæ ooö±cÇrèÐ!²²²ˆ·Z'Þ£GR‹M*/ƒ¹4wù)g±±±¤¤¤©®¿Þ{/–Þ½‹V_*–´´4:uêDRRF£‘M›6Q£FõΞ=ËgŸ}Æ–-[ˆ‰‰ÁÎÎoooÚ¶mË!ChÔ¨pí}Â6nÜhyàîZõÚ¶mË“O>yÍ6¾ÿþûë·ûõëÇ¡C‡°³³cýúõVõåûᇘ4iÒu¯ÅÕûS—äœk¹ÖxŸ{î9œœœøðà ›5k>ú¨åuiß«¢¸Þ}úî»ï€¼}¼¿øâ Ë>ÞT©RÅjïüå0ûöícåÊ•üñÇœ9s†ÔÔT<<<ð÷÷硇âÉ'Ÿ´,=‘[ǪUîŒëGddT‘ê»»»[=ð[\J¼E¤RQâ-·’ÿüç?Œ?žîÝ»óé§Ÿ–w8"·['ÞZj"""RNzõê…ƒƒC¥|¨RD ÒWÆ‹ˆˆØÈ¥K—hÓ¦ ?þø#õêÕãÃ?$ €Ž;–wh·”¢ìl2vìØ óíŸ"ù”x‹ˆˆØˆ““­[·fðàÁdggÓ¼ys,X`YG,"•›oquuåûï¿/ï0ny‘‘‘å‚H‰h·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±¡´4÷Ý·†çŸß^Þ¡”ŠÊ6‘²¤Ä[DĆÌf3¹¹yÿU•m<""eɾ¼¹¸¹Ù³aC¯ò£ÔT¶ñˆˆ”%Íx‹ˆˆˆˆØ€f¼EDl$,,†^·¼>tèaœœŒ–׉‰Y|ðÁ_¬]CLL:®®ö´hQáÃrÏ=>Vm]¼˜É‚GX·.†ØØt<<hÓÆ›1cX¥Ðþ6n¼ŸÙ³ñûïq‚ƒ«1eJ3êÖu³j;**™wÞ9Dxx<99fî¾Û“Ñ£øòË(¶m‹`À€ztï^³Ðñ”´ß¢ŒéF~Æd*Ú²oo'ÂÃ{ß°^VV.~x„U«Îrî\NNFZµªÎãßI×®~KÝ¢^»3Z)F©\ f³Y óD¤Òˆ%%%¥HuýýðÞ{±ôî]´ú¥eäÈpÖ®±J¼ãã30`&¦O¦m[âã3˜3çkÖœãí·[2p`=ââòêffš˜9³%mÛúpöl*¯¿¾}û.ñÍ7®V ¿=j2bÄÝ4jT…Ý»1"œ»ïödÙ²®–º'O¦Ò¿ÿ\\ŒÌšÕŠ–-«söl*Ó¦ "â2))Ù>Üï†ã)n¿ÅV3ŠÔ IDAT“-Mš´›Õ«Ïñþûmiݺ:))9,\xŒ… ñí·÷Ò®7P²k'"åkÕ*wÆŽõ#22ªHõÝÝÝñóó+qZj""RÌ™s˜3gÒxíµftï^ww{ê×wgÞ¼6øø8óæ›û¸p!ó¿uqöl“&ѵk \]4lèÉüùm0›ÍLº¯Ð>¬Gpp5\\ŒtìèK×®~ì߉K—²®ˆãIIÙL™ÒŒN|-mϛךôtS‰ÆVÔ~K2&[ض-ž† =èÔÉgg#ÞÞNL˜Ð”úõÝ­ê•ŵ‘ÊE‰·ˆH°fÍ9ºu«aUîèhG‡>dd˜øý÷X o ‰îÝkZÕõñq¦aCOLäüùô}4kf=c\³¦ ±±ÿ«»ys^;[ÇQ­šwÝehUQú-é˜l¡K—ìÞ}‘É“÷°wï%ËR–°°ž–Ùn(›k'"•‹Öx‹ˆ”³¬¬\’“³qr2âæVð¯eoog o9J~]€-V\³Í'R¨QÃŪÌÃúmGǼe!ù ³²rIMÍÁÉɈ««‘«U©âPôA³ß’Žéje±Æû7š\eËNòÌ3[hݺƒÕçþûï°Œ¡,®ˆT.J¼EDÊ™££$'g“ššS ù¾p!È›ýut´ÃÓÓÔÔîgõ`_iÄáæfOjjii¦ dBBf©õuu¿¥5¦#GBJ1²<„„Ô!$¤99fÂÃãY¸ð£FýÁ¤IA ê_n×NDn-Zj""RäÏœnØpÞª<++—mÛâqv6rï½yôôêU “ÉÌ®] Úùä“£Ü{ï¯Ežõ½Z—.y}ä/›ÈŸAttÙ=„Z–cºYÁÁ+‰ŠJÀÞÞ@§N¾|üñ= Ö÷«¼®ˆÜ:”x‹ˆT¡¡©]Û•iÓö³~} ©©9DG§0nÜâã3˜2¥ÞÞN–ºuëºñ꫻ش)–ääl³X¼8š Ž0qbP‰gCC›àååÈ[oícË–8ÒÒL=šÄ«¯îÆÇǹ4‡|U¿e7¦Ò0eÊ^þúë2YY¹$$dòé§G1›¡}ûÿmóX^×NDnÚNPD*•мàÕû[ôëW‡¹s[ùûx!,ìçϧãâbO‹U>ün«/¿î‡æÕ‰IÇÓÓ‘Æ«ðüó éØÑ€½{/ñØc­Î5*€ñããïÿ“Uy·n5øì³öDG§0{öA¶oÇd‚À@Oþþ÷¦üë_‡Ù¿?‘ú^w<Ï<Ó DýeLå!"â2ß}ÍŸ^àܹtœœì¸óN7¬Ï€õ0\ñy ¨×ND*[o'¨Ä[D*•Šœxßêî¿-&6oÖWÄ—®HŤ}¼ED¤ÜÄÇgЪÕ/ääXÏÉœ9“ÊÉ“)fÞåtíDäF”x‹ˆˆ•Ë—³xíµ=ÄĤ“žžÃ¾}yé¥xx80zt£ò¯BÓµ‘ëÑv‚""báããÌ¢Eøæ›ã ô;±±éT©â@ÇŽ¾Ì›×š:u\Ë;Ä K×NDnD‰·ˆˆXéÐÁ‡´,¢$tíDäz´ÔDDDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""edåÊ3øûÿ„¿ÿO4n¼¼¼Ã©~ùå }û®§I“ÿX®íÑ£I¥ÖþÂ…Ç,ív츺ÔÚ-Maa1–ýý"3ÓtÝúe=¦ÏÓ£G?—IýÊD‰·ˆˆ”š´4÷Ý·†çŸß^Þ¡T}úÔ&2²¿¾T§®÷Úµ+—_ÞA§N¾ìØñë×ßO.¥Úÿ°a ‰ŒìO``•Rm·4õìY“ÈÈþôèQ³HõËjL§N¥2|øvæÌ9Ì… ¥^¿2Râ-""¥Æl6“››÷ßÕ‚‚þÃão.‡¨äVr½÷ÐêÕg1›að`\]Ô­ëÆ–-p÷ÝžåiÉU–Ÿ…yóÓ²e5–/ۿ ½¸õ+£ÛsÔ""R&ÜÜìÙ°¡Wy‡!·°ë½‡bbÒðòr°eHr 3f´ÄÙÙXfõ+#Íx‹ˆˆÈ-Ád*8 .姸Iôížtƒf¼EDl*++—?<ªUg9w. ''#­ZUçñÇï¤kW?ŒFƒ¥nTT2ï¼sˆððxrrÌÜ}·'£Gðå—QlÛÀ€õ˜1£å û92œµkc,¯[µªÎ’%ض-žgŸÝ§Ÿ¶§{÷L›¶Ÿ/¿Œ²Ô_° £Gÿay½fMæÍ‹`ûöx³˜>½%“&í¶Ô9tèaœœŒ,\xŒ™3yktýýÀh4päHˆ¥þÅ‹™,Xp„uëbˆMÇÃÃ6m¼3¦Q±Ö¦†…Åð á–×›6õbÖ¬ƒlÜxGG#]ºøñÏ6#99›7ß<@xxnntëæÇäÉÍ ü <11‹>ø‹µkcˆ‰IÇÕÕž-ª1|xCî¹Çzíö•÷Ìd‚&MªÚäš±–Ƙ~.rBêííDxxïkOJʦeË•VeãÆ5æÅ0™ÌVÃ=ð@-,h[äq\}_ŠóºúÜ&MþÀ]wypüxr±ã-ލ¨dfÌ8ÈÎÈÉ1Ó¼yUÆoL«VÕ‹}½Z´¨Z¤Ÿ…+ßsçÏgP­š# xЯ_z¨v6>>ƒÙ³ñûïq‚ƒ«1eJ3êÖu»îØ–/?Í+¯ì´*Û¾ýA||œ‹}¤h f³YE¤Òˆ%%%¥HuýýðÞ{±ôî]´ú¥aҤݬ^}Ž÷ßoKëÖÕIIÉaáÂc,\xŒo¿½—ví¼8y2•þý7àâbdÖ¬V´lY³gS™6í—IIÉæðá~ÅêûÛo£yýõ½¼ûnk~¸Ž¥üÕWwóã'yè¡ÚÌŸßÆRÃ×_G±hQ'KY~ß¶­7/½H³f^=šÌÀ›ïMÕªŽ–:ùIS¾  ÿи±—%á¿R\\l"3ÓÄÌ™-iÛÖ‡³gSyýõ}ìÛw‰o¾éDppµb7?Ž^½îà…hÐÀƒß~;GhèNºtñÃÁÁŽ—^ ¤^=w–/?Å”){2¤“'7³´ŸWF†‰éÓƒiÛÖ‡øø æÌ9Äš5çxûí– X(üž>ÊŒ8q"•¸¸t«{Vc.-C‡ncË–8Ö®íY y0`Ï>Û€¾}kÅÇͼ‡®U>dÈV¶n¿f¼Ï¤§›X²äóæfòä † ñ·º=zÔdĈ»iÔ¨ {÷^ä…¹ë.–-ëZ`L/f²uëƒ@ÞofÍ:ÈÑ£I̟߆*U‹u®Ô±ãj.\È´úQšõËʪUîŒëGddÔ+îîîøùù•¸?-5±¡mÛâiØÐƒN|qv6âííÄ„ M©_ßݪޜ9‡HJÊfÊ”ftêä‹««‘† =™7¯5éé×ß:ìZz¨vüüóiKYF†‰µkc¨WÏuëbHMͱûé§Sôï_·Ð¶FŒ¸›ví¼qq±§yóª9BÕª%ÿG{ΜCœ=›Æ¤IAtíZÃ2ÞùóÛ`6›™:u_‰Û0 M›záâb$$¤ z²iS,Ï=×ÀÀ*¸º4¨>µk»²iSÜUqæÌ™4^{­Ý»×ÄÝÝžúõÝ™7¯ >>μùæ>.\È´Œáê{àÉìÙ­ˆ‹K·é˜oÖ°a ÉÍ5óùçǬÊwíJ 66ƒÞ½kYÊJ:ŽÒ|=÷ܵã=w.Þ½k—¨ÝäälBC›ÐªUu\]UeîÜÖdgçòÖ[ûˤÿü÷Ü”)yï977{¼½xñÅ:w.<á8°ÁÁÕpq1Ò¾½Ý»×dÿþK\º”uÍ~’’²6lÛãîpSI·oêÒ¥»w_dòä=ìÝ{ɲD ,¬§e¶`óæX:w®au~µjNÜu—u’^T^^ŽtíêÇÖ­qÄÇçmåµvm Í›Wåé§ï"#ÃÄo¿ò~ÕýÇèÕ«V¡m5o^µD1\KXX vvºw·ÞÍÇÇ™† =9x0‘óç &¯Ed«Ÿ_ޯћ6µ^ÊQ£† ±±Ö}¬Y“w=ºu³¾ŽŽvtèàCF†‰ßÏ»W׺g¾¾Î>XAÙŽùfuèàCãÆUX¶ì´eÀgŸcÈ«%Q%Gi¾‡:uò% À³ÐxŸ}¶öö†ëœ}mNNÆqxâëëLDÄeââ2J½ÿü÷\—.“ìÿû¿–Ùî+5kfý›‘ü÷øÕïç|Ç'ó裱³3ðÚkͬ-­ñ±¡7ÞhNpp5–-;É3Ïl uëj TŸûï¿È[žššƒ““Wׂ#U©Ròú÷¯KXX +VœaèP~þù4ýû×¥}{fÎ<ÈþsšG©ËÊ•gèÖͯÐþ\\Jï!©¬¬\’“³hÑbÅ5ë8‘R¢=›ÝÝ­ÿ©3òÖÔº¸X—ÛÙ¬¶°ËËÉÉXèÖgÞÞyÉM||Æ ïYõêNDGÿoISi޹4×x_é¹çòÊ+;ùæ›ãŒ݈èèvìH`îÜÖ–:73ŽÒ| Ü€‰÷XÅ»}{<³fÝøˆkñòrÀPHNZ½ºqq$$dâëë\jýßè=w-ßË…-&NJÊá…þ F 6mŠeùòÓôëW¼e8RrJ¼EDlÈ`€:„„Ô!'ÇLxx< cÔ¨?˜4)ˆ¡Cýqt´ÃÍÍžÔÔÒÒL¹„„Ì÷ß­[ ¼¼ùé§S„„ÔaïÞ‹,XÐgg#:ù²eKqq,[vŠW^i|³ÃµRXy³Çžž¤¦æpøp¿ 3ûæèh‡‡‡ÉÉÙ¤¦æH„ò¿ÄÇÇù†÷ìÊYÐü¶KkÌeµF¶OŸÚÌ™sˆ¯¿>ÎðáwóùçÇxüñ;­®CEºwýúÕeîÜÃVñ>òHÝ›ZB‘ÿ¡âjù?ƒÕ«;•¨ÿëý,\ï=WŒFX´¨ °‘I“öP¿¾;Íš•îo±¤pZj""bCÁÁ+‰ŠÊÛ…ÁÞÞ@§N¾|üñ= °aÃyK½ü_3ç/_ÈŸa5sZ\v<ôPm"".3wîazô¨iÙ!!$¤.&“™ùó#ˆ‹Ë }ûÒý¶E{²³s-¯{ö ãûïOЫW-L&3»v%8ï“OŽrソ–ËVrù¿…¸òÞ@ÞÌä¶mñ8;¹÷Þ¼{u­{véRÑѩڮ¨cÎg4<ØŸ„„L>ÿ<’•+Ïð·¿5(P¯¢ŒÃÑÑŽ§žºËïòå§<¸à²ŒâHK3qÙªìÈ‘$ââ2 ¬b™í.nÿ×ûYÈÏmÜx¾Ày}û®çí·ÜÔ˜ÜÜìñósÆÕÕÈ'ŸÜƒ««‘‘#Ã-Ëf¤l)ñ±±)Söò×_—ÉÊÊ%!!“O?=ŠÙŒU¢Ú//GÞzk[¶Ä‘–fâèÑ$^}u÷Moõ’÷kå%KNX=<Ù³gÞƒ\K–œ _¿:–_W—–&M¼ˆŽN!&&={.rêT*mÚT 4´1uëºñ꫻ش)–ääl³X¼8š Ž0qbP¹Ì¦††6¦vmW¦MÛÏúõyŸFG§0nÜâã3˜2¥ÞÞNÿ­[ðžEF&3~üŽB—ŸTÔ1_é‰'îÄÃÃwß=DÏžwXÖ_©"ãé§ïÂÙÙÈ»ï¢cG_êÕ»þvz7ââbdêÔ¼ÝYÒÓM8p‰W^Ù‰ƒƒS¦4+P¿¨ýßèg¡vmWÞ~û6œ'55‡óçÓyýõ}ÄÇg0dHÁ?%U»¶|ÐŽ‹35*œ¬¬ÜŸ$7EÛ ŠH¥RÑ·Œˆ¸ÌwßEóçŸ8w.'';î¼Óë3`@=«_AGG§0{öA¶oÏÛ:0Г¿ÿ½)ÿú×aöïOäÀ¾%Ž£G0²²rÙ´©—UŸù[ þúküý=,å{÷^â±Ç6h'2²¿åÏWïµ Ð¯_ËšàãÇ“™üòžåï½>fL#¾ø"²Ð½×KkÌeiÖ¬ƒ|öÙ1V®ìN£F…ï-^”qÜÌ{èj(Xº´+-ZX/‘˜º‡Ù³±ÿErs¡Y³ª¼òJÞ>Þ…)JÿEùY¸ò=W­šmÛzóòËÜy§û5ßããÇ7¶ì ž¯[·ôëW‡—_ÞqUœAW/ÐΕ?³7²~} Ǽ/·'{þV›%­o ¶ÞNP‰·ˆT*=ñ. ÷ß¿–Œ ›7ë«ÙE®¶téI¾ùæ8?ÿÜí¶ì_ŠGûx‹ˆññ´jõ 99Ös#gΤròdJ©¯¿©,/>ÁС7·¶ûVî_*6%Þ""ÔåËY¼öÚbbÒIOÏaß¾‹¼ôÒN<<=ºQy‡'R!üðÃI^x!œ´4ß}ÍåËY<ôPɾ0çVì_n-ÚNPD¤òñqfÑ¢N|óÍq úØØtªTq cG_æÍkM:®–ºW¯é,Ì•k–oe·ÓX¥èÂÂb^aùÆÌk=ÌYVö+ÐÏXÙÒo©Tn‡5Þ""R:´Æ[DDDD¤Râ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€¾¹RDÄFþ±™fàçîÇÖÑ[Ë9¢’»œq™_"~aÕ_«ˆˆ #'ƒ5h~Gsžoû<~…žÁÜMsÙuf¦\-jµà¥N/Ѫv«ö9|épÖG®g\çq¼ØáÅÇMfË,cñžÅœJ‡“½­j·âñÓõ®®íŒ7ì'`v¦\S‘bòvó&|LxI‡Äª¿V0ªÃ(«ò¨„¼„¸†GçÔðÌ+‹¾mU~>ù<36Ìàƒþàæèvø'vŸÈôõÓ™³iCÛ ÅÎ`Çû~`뉭Œé8†úÕê—x\""¥A‰·ˆH9HËNãõ5¯3îÞqúu!Љ«'òôâ§ùꉯh[§-o¬yƒÕ­æý÷i]§5)™),üs!#–ŽàÛ'¿¥]Ýv7ìëÈ?Ž”õp¸zw6¾ÃÀæéݨ·Õ±äÌd\] œçêWv9ý²UùÄU騗öõÚ©ÿ¿µþ¾î¾¼½îm>Þþ1U]ª2ýé h> Øã)mZj""R’3“ íJ«Ú­pup%¨fsûÎ%Û”Í[kß²ÔÛvb ½Ò©~'œíñvófB· nö61=‘!K†Ð®n;ÞêõÖO¸‚™¼µàW.MY²o '.`B÷ EkÃlfòêÉŒûÏ8žkûácÂÙñÒ^éò SæòÒò—0™‹6ë/"RV”x‹ˆ”'{'š×lnUà€¯»/±Ä¥ÄÐ¥AvŸÝÍäÕ“Ù{n¯eÉHØð°"ÍvÛBzv:ƒ— ¦¡OCÞíûn¡Ë_<œ<HËJ+ô|OgO ï!È™ëg2ë¡Y¸8¸)†ŸýÌ’}Kx2øI†´‚·›7U]ªòD‹'qÏ~‰ø…E;•tˆ""¥BKMDDÊ—³—Õ o¾ê®Õ‰K‰#!5_w_ÞèùÁw³ìà2žYü ­k·fPð î¿ûþ"õU–k¼Mf£Ÿ»ïôy£¡ð5ç ª7òÖm_í|R^Yþ,þúÈõ$g&óä·OÚÖ¼Íó˜·yëF¬£^Õzl>¾€Žõ;¨ßáÎÌß2ŸMÇ71¤Í"MD¤´)ñ)ùkž¯––@u·ê@Þò‹¦!„4 !'7‡ð“á,üs!£–bÒ}“Úfè û*Ë5Þ¯ýúY¦,>zô#«¤»ûÇÝy÷áwiqG î©{ ¶.ààùƒôoÚߪƒçXÖr?Ýòižnùt¾–ZÎ++^)ô›+ ›I¿ZQꈈ”%-5)iÙiDÄFX•‰?B\J~øºûyìŽ×­Û¶n[ü½ýYý×j2s2-å¦\+#VRÓ³&Ýt+q,-jå%øÛNl+p,›Âü""åE3Þ""åÀÅÁ…©aS™xßDîö¾›È ‘L\=£SzL±ª;å×)ü³ç?¹«ú]$g&óíîo1›ÍEÞí£,üxàGÞÛòÍæ6»a};ƒ3{Ïä©ïžâÕ_^eò}“q0:0wó\N\<Á q²w*qÞwV½“Í2 Ù€B׉ÛÂóKŸ¿áŒûÒg—˜e>{˜¹›æ²ëì.rssi~Gs^¾÷e«1_mÊoSX¼gqò{ëßËay}9ã2oÿ˜õ‘ë9x3fjzÔ¤Kƒ.¼ØáE¼Ý¼‹9J©ìV­rgìX?"# ~ùVaÜÝÝñóó+qJ¼E¤R©È‰·ˆˆT,¶N¼µÆ[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bö倈Èíbá ™¹a&~î~l½µÌúúõȯ|°õ¢/F“‘“ÀªçVQÕ¥*37ÌdûÉíÄ¥ÄЯI?æö[f±È­!".‚¹›æ²ëÌ.L¹&ZÔjÁK^¢UíVåÒöƨL[;Ó—OsäGn:‘Š@3Þ""62¬Ý0"'DèX¦ýì9»‡1?¡SýNüùÒŸ¬¹ž5·bá'Ãùâñ/Ø7~Ï·{¾Lc‘[þ˜} X47G7~{þ76ÚD*uxòÛ'ٽŦmŸJ<Åð¥Ã™³iÒ.ÜTß"o‘Jæ—ˆ_0›Í n3WWêzÕeË‹[ðq÷!üd8=ïîI€OnŽnü£ë?x§Ï;år© šÄãß<^âã·“\s.~™€§³'³š…¯»/U]ªòf¯7©W­WO$Ë”e³¶çmžGËZ-Y>d9nn¥1D‘ C‰·ˆH%“€—³—uyR^yUת–2ƒÁ€AÿÜÎvœÞÁ± Çx àœí-åF;#}û“ÃúÈõ6k{FïŒl?£ÁX²‰T`úÛVD¤’1åš®[nÀ`Ëp¤‚Û~r;A5ƒ  ªdUÇm_™ ‹T6z¸RD¤œD%D1cý vžÙIŽ)‡æw4g|çñ–Î>Øöó6Ï UíV,yz ›ofèCðrñbçK;;Æ Ë^°´ßdN“Bû}oË{¼·å=¾}ò[ÚÕmÇÅ´‹,غ€u‘ëˆMŽÅÃɃ6uÚ0¦Ó} mÍók˜÷û<¶ŸÜNbz";^ÚAU—ª;½ÂÕ™~ôèG¼³ñöÛG®9·Àu0™Müúׯü°ïŽÄ!93™zUë1°ù@žmõ¬eÖþʶwÙ…ÿL o†õÈ?ŽÜðx¾ÒºÓœÎ¤Õ“,u6¾°‘Ùfó{ôïíŒ× fJ)Ôõª{Ýk–/`vÀ5?X]ÍÛÍ›ð1á7¬•`yàJ5<óÊ¢/Fðø7³ëÌ.ËñüsŸýþY¶Øf)ßýòn<=‹Õ¶ÈíÀ`T@U IDAT6›Í儈Hi‰%%%¥HuýýðÞ{±ôî]´ú¥¥ï}9“x†&5š0îÞqúu!Љ«'•ÅWO|EÛ:m-õƒæÑد±%ñÎòeg.Ÿ±$ÞùFþ8’µÇÖr(ôŽFG̘1›ÍŒ=È£_=Ê莣Ói vØŸÏ€¯™“ÉÌÞ3i[·-g/Ÿåõß^g_Ì>¾ô Áµ‚ ´ß¶N[^º÷%šÕlÆÑ Gøõ@ÂÇ„ß0ñ¾ò:œ¸x‚F¾˜Ô}|y!²Ðë°>r=×'´K(ƒ‚‘kÎeÅáL[;¡m‡2¡Û«¶¯uÍŠr<.%®Ô¯G~ {0âž4òmÄî³»±twûÜͲ¿-+Ò5+ ƒ— fKô~üÛ4¯ÙÜêØÉK'¹ï“ûhâׄåC–ÁÀorgµ;ùáépqp!˔Šo1¤íúö)qÛW븠#Ò.hW)3«V¹3v¬‘‘QEªïîŸ_‰ûÓR‘rœ™Lh—PZÕn…«ƒ+A5ƒ˜Ûw.Ù¦lÞZûV©õ“¿†ÛhgÄî¿åÛì0Œ F s6Íáìå³Lê>‰® ºâêàJCï†Ìï7³ÙÌÔ°©…¶=¢ýÚÕm‡‹ƒ Ík6çÈ?Ž9éΗžÎ›½Þ$¸V0..×½íê¶cdû‘Tq®BU—ª<ÛêYú6îË—;¾$%³ô><•åõØ| e¬ïìH×]Ù³ŸKé—J-þÒd&onÎ`øßò¤@¿@f?4›ˆØBW†b6›yí××èpg«¤»$m‹TvJ¼EDÊ“½SÀŸ|Ý}‰ˆ°ì±m aGð3ØÑÝ¿»U¹» ½rðüAÎ'Ÿ/pÞÕñ—„‹ƒ‹eéF¾Â®Cwÿî|ûä·Îô $'7‡cŽÝt,ùÊòz4«ÙÌêuMÏšÄ&ÇÞDÄ7ÇÃÉ€´¬´ÇÒ³Óðtö´*°ÑƒŒê0ŠßŽüÆãß»›wú¼Sèî8%m[¤²Râ-"Rò“»«%¤%PÝ­º¥ÌÎ`G¶)»@Ý«“Ï’p4:âéìIjf*‡ÿqØæ[¸%f$b6› |¹ú: _:œ§w0¥Çú6îKU—ª ¾Øño¯{»@âz£[®u¼¼¯Ç”ÅZç{êÞ­ 8xþ ý›ö·:vðüAÚ×k_à¼?NýAJV >üó·ÒȧQ/‡*iÛ"••–šˆˆ”ƒ´ì4"b#¬ÊŽÄ!.%Ž@¿@«Ùn_wß3†ñ)ñœK:W*±ô è…Él²Ú­"ß'áŸpï‡÷b2m–µ¸2s2ٳߪìêë`ÊÍ‹ÍÇ݇¿µþÕ\«YõÌœÌBÛuqp±ú°ÒóÓž|¿÷û"/ÏëQÚÖm‹¿·?«ÿZmu=M¹&VF¬¤¦gMº5èfuΙËg˜°jôÿ€Oûg{gF.ÉÅ´‹7ݶHe¦Ä[D¤¸8¸05l*ûbö‘žÎ˜¼²âŒLé1Ūn§úˆK‰ãë]_“–Æ©ÄS¼µö-ª»V¿FëÅÚ%”º^uyõ—WÙt|É™É$¦'²xÏbl]ÀÄîËlæ×ÃɃ¹›ç²çìžk^£‘vuÛŸÏg|Æ¥ôKdäd~2œïö|Wh»Mj4!úb41I1ì9»‡S—NѦN›"/ÏëQì vÌì=“Ë—yõ—W‰O‰'1=‘7ÂÞàÄÅLp:NöN–úiÙiŒüq$SzNÁßÛŸÚUjóÁ#›Ë‹?½HNnN‰Û©ì´ ˆT*y;ÁÂö¯ž½q6ûÏí'לK³šÍx¥Ë+VûWCÞ²”ëg°1j#II4­Ñ”É÷MfÊoS,¿®qÏZÜÑÂj_é|KŸ]ÊÄU9~ñ8¦\“e§“ {ðAÿHLOäÃmv,Œ˜¤<=iìטçÛ=OÇ;;°÷Ü^[ôXö#'D–èzôý¢/S/²hÐ"¦­Æî³»1åš ½—Ò/ñîæwÙµ‘ø”x¼\¼èrW|Ü}øxûÇ4­Ñ”Ÿÿ Àñ„ãLþu2ÏÄËÅ‹‘íGòTðS–önt¼´®GauFuÅøÎã-{ˆçëæßÏû¬Dײ4Ž=ÌÜMsÙuv¹¹yû©¿|ïËV÷á5oðÍîo,¯W=· wÚÌocÕÖ¸Îãx±Ã‹Åj;_þÖ‘…™þàt6x³C±°õv‚J¼E¤R©È‰·XËO¼·ŽÞZÞ¡ˆÈmJûx‹ˆˆˆˆTBJ¼EDDDDl@Û ŠˆH©¹zÝra\\¬öÝöŸéoY÷,"R™)ñ‘RSÒ-EDnZj"""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€öñ)Q QÌÿ}>žþ“Ké—0åšðpò`ϸ=,üc!37ÌÀÏÝ­£·–[¼’gç™<ñÍ|ûä·´«Û®Àñ•+yyùË89ü÷Ã*¾¢ºÖ8ôž¹9šñ±±3—ÏðآLjJˆâÃG>d︽ì¿÷CÞÇÎð¿¿–‡µFä„HýË1Z¹Òºcëðrñ¢uÖ…ïØ‡È ‘t¸³ƒ#Ës£øŠêZãÐ{RäæhÆ[DÄÆ¾ßû=əɼqÿ´¬ÕÒRþ`£y°Ñƒå™ÜÈÚckéÚ +Fƒ±¼C)TEOäv§o;qñ|•o R,Q QD_Œ¦GÃåJ¡*z|"¢Ä[DÄærrs€¼µ³rëX{l-ŽFG:ßÕ¹¼C)TEOD´ÔDDÄfÂŽ†ñ²,¯›ÌiRh½G‚aöC³oØÞÅ´‹,غ€u‘ëˆMŽÅÃɃ6uÚ0¦Ó} ísã ™½a6¿GÿŽÑÎHp­`¦ô˜B]¯º–:&³‰_ÿú•öýÀ‘ø#$g&S¯j=6ȳ­žµ¬C¿ºíM/lbÖ†YlŒÚˆ£½#]îêÂ?{þ“äÌdÞ {“ð“á¸9¹Ñ­A7&ß77G·bçFfXT½o7oÂÇ„©.ä­Ÿn_¯=®®–²¨„(ÞÙøá§Â1åšhâׄЮ¡×lãFcLÊH¢å¿ZZ3®ó8^ìð"&³‰€Y–ò`Aÿ׌/˔ŇÛ>dÕ_«8wùNöN´ªÝŠÇ[G o ®® Dí*µÙt|S©ŒÇVÖG®ÇŒ™ûÞg)›³iIILé9…Nõ;áêàJ€O³šM\J\6Š3Æam‡‘kÎåó?>·jc×™]Ä&ÇÒ;°÷ ãÛvb ½Ò©~'œíñvófB· Ô¯V¿@\ÅG¾äÌdB»„Òªv+\\ ªÄܾsÉ6eóÖÚ·ŠvaEn3J¼EDnAaGð3ØÑÝ¿»U¹» ½rðüAÎ'Ÿ/p^³šÍ¬^×ô¬ @lr¬¥¬»w¾}òÛçú’“›Ã± Ç )¨fÕk??šÖhjU^ã†U73[ ;FP |Ý}-e›o(°¦Ú×Ý·@r›ßFQÇØáÎ4ök̲ƒËHLO´ÔýìÏÒfH]K ‹¯Kƒ.ì>»›É«'³÷Ü^Ëœ°áaV{|wùœìh^³¹UY€O¾î¾DÄF\7i¹]i©‰ˆÈ-&Ë”Erf2-浸f½OPã†U™‡“‡Õëü<͘-eÉ™É|þçç¬9º†óÉçIÊH²:'=;½ÐþÜÝ­^0`´3ââàbUng°#ל[*ã¹ZY¬ñNÏNgÛ‰mŒê0Ê*æÔ¬Tœì¬Ö|ç«îVè‹ÑVõ‹;ÆçÚ>Ç++^á›Ýß0ºãh¢/F³ãôæö{ÃøÞèùÁw³ìà2žYü ­k·fPð î¿ûþãJ^Î^ †‚ç¸V'.%Ž„Ô«"¢Ä[Dä–ãhtÄÓÙ“ÔÌTÿãp©ïÙ<|épvœÞÁ”SèÛ¸/U]ªb0øbǼ½îm«$½4”æxÊb÷Ö[ÉÈɰڦÏÑ舛£©Y©¤e§HZ¯œ¥Î¯_Ü1öi܇9›æðõ®¯~Ïp>ÿósoñx‡R ‹À`0Ò4„¦!ääæ~2œ….dÔ²QLºoCÛ -ö8®”ÿAâj i @^Ò."Ö´ÔDDäÔ+ &³‰]gv8öIø'ü?{÷U•ÿqü=™ôF€. z¤ )RDÂJÓUPY@…ì* kC ,ÈÊ" bÃÊ®‚A ¡¥× EHHB ém2¿?òË,C¤Î„äózž'sï™{¾çÞ |9ó½çöXÜ“¹x3¿W3ååÓÏÓ¿tü µÜkYf5³r³Ê÷õTÔxÊÃúãëiàÓ€f~ͬ¶÷¼½'ð¿R—3.9K\Ò1 FFwÍÅô‹¼÷ó{¬>¼š¿tüK±ã Y‰‹'ptp$´I(ï<ðƒ1K=Žé9éŽ?lµíhâQRÖl·H”x‹ˆÜ‚Â{†ÓЧ!Ï~ÿ,Q¿G‘’•BRFŸÿö9‹¶-bzŸé¥š96:éÒ° ‰©‰¼»ó].g\&37“èÓÑ|öÛg0’|5ž²Ê3ç±!fC‘¥ ¯D¾ÂÖ“[IÏI'æB S¿ZdÙFiÆ8ªý(¼\¼xcóô êG€g@±ã˜õÃ,Ž$!Û”ÍÅô‹,^ŠÙl¦k£®¥G7'7^Š|‰½q{ÉÈÉ`Ü~¦}7 '£³úκáy©® f³¹|¿3±£øøxRS‹^uãZMY¸0ž‹×¾¬®]÷`H«!Ì<Ÿ1+ưåä«}}ƒú²þøz«m»Mdê]Sü2€ÅÛy<’¸ä8¼]½iÐ’q]ÆÑ½qwöÄîaØòaE#0"Ðj{ïÀÞ¼;,?Ù~cól:±‰ÄÔD|Ü|èy{Oü<ýxgÇ;@þ “/ö±Èc÷ êÇІZmïNÇõÉ(«íSB§0%tJ±Çck»Ïîfä'#­–ß»ÚÉK'™»i.;Nï ×”K3¿fLî>™v}ÀöSÛüÕ^^ø:Pº1ÎÙ8‡ww¾Ë걫 =íôFñŽ?Ìg{>ãç3?›œ¿ŽwãšÑnÃÛ·ªÏ.î8šÖnJÄÆ<xû·™»i.ûb÷‘gΣmݶLë9MëxË-cÍO¦L &æD±Ú{zzpó†×¡Ä[Dª”ÊœxË­gÎÆ9üwßÙ9e§]fÜo¦²Ç'RÙÙ:ñV©‰ˆˆÈu¬?¾žž·÷¬´ImeOD¬iU‘ëˆiïn¨²Ç'"Ö4ã-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@Œ+Ëv.#bcžl›´ÍÎUO#?Éî³»‹Ü7ºãhžïû¼#‘²ÒŒ·ˆˆXy¼ËãÄ<Cp@°½C¹¡ôœtî^r7ã¾gïPDDŠE3Þ""rK2›Íä™óÈË˳w(fÕ_VѦn{‡!"åD‰·ˆˆÜ’<œ=Ø8a£½Ã)6•šˆˆˆˆˆØ€f¼EDl$òX$O®|ÒòzÓ“›˜»q.[NnÁè`$¤^³ú΢¡OCÞÚþ 6/ Cý¬xx›ßÌØÿŒÀÇ͇]Oí*òøQOF1gã6Ø„³£3=oïÉ?úýƒ”¬^Ž|™èÓÑx¸xлiofÞ=g"ã>qñ¯ox]gw‘kÊ¥Ýmí˜z×T:Ôï`ÕîRú%m[ÄO1?Ÿ—‹tbrèd‚ýƒ‹Œqݸu,ز€§w”‘À/OýBM·š%:—Ãââèby”‘Ä[ÛßbýñõÄ%ÇáîìNûÛÚ3¾Ëxîlt§¥]¶)›ÅÛ³æÈb¯ÄââèB‡úÙ~$½nï…ÑÁxÃ8šÏmŽ)ÏtÓv¾¾DOŽ.V[€¯~ÍŒfpêÒ)ŒFZøµà¡‡¸¿ÕýÅ>†ˆT³Ùl¶w""å%>>žÔÔÔbµ lÊÂ…ñ X¼öåeÂWX|=}ƒúòÄOп¿žû•'¾|‚f~ÍXù—•VíÛÌoCË€––Ä»@؇aœ½rÖ’x_{üÍðd×'iZ»)?ý‘ðÕáô¼½'NF'žêñj6â›ß0ëÇYŒé4†™wÏ´:Îàs6é,­ê´â™Ï̉ '˜¾v:'.žà£QѹAgRþñp²r³ˆAç†9wå/üø{ãöòɃŸR/¤PŒtæ©OѶn[Ž]8ƈG=9ú¦‰÷µÇ¹:ñNLMdøÇÃÉÌÍäµ{_£sƒÎ$¦%2/j뎭ãÕ{^eD»ÌX;ƒµGÖòï°Ó±AGR³RYöó2–í\Ƨ}J—†]ŠGEùÉHø4`L§1Ü^ëvâ’ãX¼c1_øšG;<Ê?úýÃn±‰TkÖx2eJ11'ŠÕÞÓÓ“€€€R÷§R;Ñn!õBpsr£{ãîôjÚ‹}qû¸œq¹\Ž?¼ípZ×i›“a­Ãò "ê÷(ëüÁþÁ¸;¹ó`ȃԯQŸ¨ß£Š}¬ÚúyúäÄó8Ÿr¾Ðñ¯=vyXwl½›ö¶Úîlt¦[ãndæf²åäz6íɯç~eæÚ™ì‰Ýc)‰i×Ùî¹§ù=ütü';G""%¥o;ñrñ²zíltÀLùTz:{Z½6`Àè`ÄÍÉÍj»ƒÁMVn¿_üðÕá8€G;A¿fýŠ<~¿ ~ ýh¨ÕöðžátlБQŸŒ²Ú>%t îNîDlŒ À3€·x›¹›æ²/vyæ<ÚÖmË´žÓ ­ã”‘Äâ틉<I\rÞ®Þ´ hɸ.ãèÞ¸ûuÏ@Ìs1Å:‡®]Ç`H«!Ì<ßË[Ûß"òX$çSÎãæä–¿Ž÷ã­êÃñ‡ùlÏgü|ægb“ó×ñn\³1#Ú`xÛáEÖ·ÛB¶)› 1øöà·I8Âù”ó¸8ºÐ2 %£ÚbpËÁv‰K¤ª±õr‚J¼E¤J©Ì‰·ˆˆT.ZÇ[DDDD¤ Râ-""""bZNPDD*•këÝ‹2%t SB§Ø ‘ò£Ä[DD*•’Þh)"r«P©‰ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ‘J/='»—Ü͸/ÇÙ;‘RSâ-""•žÙl&ÏœG^^^¡}mæ·aä'#핈HÉ8Ú;‘›ñpö`ã„öCD¤L4ã-""""bšñ±‘Èc‘<¹òIËëuãÖ±`ËvœÞARFêw`÷ÙÝ–6êw`ÅÃ+Ø~j;~ñ(K‡-¥O`f¯ŸÍ‡»>´´?úìQŒãuch>·9¦å|¹ö)"r=ªñ±7'·ëîÚz(‘Ç"ùîðwŒí4–¯|ÍÐÖCéÚ¨+#øöзü©ÍŸX}x5½{ãîä^¬>˻ƻ¼ã½Ñ9)©lS6)Y)´_ÐþºíN]:E¯:åÖ¯ˆÈõ(ñ©„z7훫ö¯"¬U{b÷°hè"\] mÊÖS[IHM`åþ•Lë9­ØÇ½ú¦Ã[!Þâ0`(r»³ÑoWoÒ²Ò8ô÷C7¼éTDÄTj""R 9<ˆÃ ‡™5Ÿ¾A}qut ¬u¦<ony“„Ôº6êjçhí¯›“9¦Ëë~KûñÅž/Ð|&³Éj¥˜K¢—ÐcqLæâ} "RVJ¼E¤Ú2=QZi„µ `ÅÞV7#ökÖgVì]ÁVCp0TŽ¿Êío«:­8yé$qÉqüvî7ƒYÌ IDATÎ\>C§ïNCŸ†<ûý³DýEJV II|þÛç,Ú¶ˆé}¦k&\¤3›mûoJMD¤ÚrwÏ#=Ývãî‰ÝðåÃ,¯[Ík@Ìs1E¶©BãšÉ6eÓ¹AgËvWGWîi~_íÿÊ®«™\«4ñçœ\»þy«y­ÒjóÏàù»Ÿgæ3éÿn|Ü|øGÿдvSj»×få_V²xûb^\÷"qÉqx»zÓ2 %ï<ðÝw/ÿ!"·Œ´4<<òlÖŸÖñ‘*¥$ëx÷ë×ûïOaòäË•ˆˆTF Öä»ï¼ˆŒøÀ‡ˆˆBB2í‡/"òÿN%=Ý^ðåäI'""pqQ."r+ËÊ2ðÜsþ¬]ëÁìÙ‰ \¼§WÍx‹ˆ\eäÈdÞ?ŽÍ›Ý6¬»v¹Ú;$)¥]»\6¬›7»óþûqŒ™l×x”x‹ˆ\£[· V®>>¥~¿o©R²²²HMMµw"•Ò=÷ÜÃG}tÝý999ÜsÏ=ú© ZÕDDD¤šèر#þþþ×ÝïëëK‡l‘Hõ¢Ä[DD¤š0 2¤Èúm'''þô§?Yn¼‘ò§ß.‘jdðàÁEÖxçää0xð`;D$R}(ñ©FZ¶lIãÆ moРÁÁÁ¶H¤Qâ-""RÍ„……áèø¿õyàì‘Hõ Ä[DD¤š¹ÿþûÉÍ͵¼ÎÍÍå¾ûî³cD"Õƒo‘j¦aÆc00 ×-?‘ò¥Ä[DD¤úÓŸþ„ÑhÄh42tèP{‡#R-(ñ©† D^^&“‰Ú;‘jAO®)†ÌLQQîlÙâÎÁƒ.üñ‡ÉÉäåÙ;2‘Òj „н{7û†"RàíGƒ9´j•Eéô왎««ÙÞ¡¢Ä[DäRRxçš|ñ…7©©´m›I§N –ŒOzÖˆÜʶo‚Á` k×x{‡"Rjyy”äÀéÓNüö›+ÿý¯7žžyŒ•Ì„ —ñòª<3$³Ù\ùþ; "RJñññ¤¦¦–ù8yyðÕWÞÌ›W ³ÆŽ½Â°aÉøúšÊ!J‘ÊáÊ•+Ô¨QÃΑˆ”Ÿ Œ|ù¥7ï¿_ƒÂÃ/ñÀÉå2QâééI@@@©ß¯Ä[Dª”òH¼““˜2¥;v¸òðÃÉL™r‰5*ÏŒ‰ˆˆÜÜ•+,\X‹O>ñ¦k×L.<·wÙþ.Wâ-"r•²&ÞgÎ81n\]ÒÒ ,YržV­²Ê1:±µƒ]xâ‰:xx˜y÷Ý86Ì)õ±Êšx«:QDäÿ9ãİaõpwÏcåÊsJºEDª€V­²X¹òîîy V3gœì‹oòËKÆ«K½z¹|öY,þþ¹7“ˆˆÜüýóÿn¯W/—qãê’œlŸX‰·ˆT{yy0yrKy‰››ê¹EDª7·<–,9OZšÉ“ëØe9X%Þ"Rí}õ•7ÑÑ®,Yr^3Ý""U˜¿.K–œ':Ú•¯¾ò¶yÿJ¼E¤ZKMuà7jñè£Éªé©ZµÊâ‘G’™7¯–ÍKN”x‹HµööÛ51™`Ò¤KöEª˜¯¿þšaÆѩS'->\ªãýöÛo <Ørœ1cÆTÈ{DªƒÉ“/a6Ã’%5mÚ¯o©¶23 |ñ…7cÇ^Ñ:ÝR"&“‰É“'Ó¦MÆOvv¶Õþ%K–Ξ={hÑ¢¿þú+ß}÷®®®%îëÒ¥K<÷ÜsŒ5Šßÿ½ÂÞSUÝìZIõT£FcÇ^aÅ o23 6ëW‰·ˆT[QQ:0lX²½C‘[Ì‘#GX»v-lذ½{÷Zí_±b…åçûï¿ooo‚ƒƒ9pàÁÁÁ%êëùçŸ'&&†/¿ü’    {OUu³k%Õ×°aɤ¤8°y³»Íút´YO""•Ì–-î´m›©ÇÀK‰5oÞœE·nÝhÛ¶­Õþ .X~öòò*S_“&M"88ƒ¡ø³r¥yOUu³k%Õ—¯¯‰¶m3Ù¼ÙþýÓlÒ§o©¶öïw¡K— {‡!· GGGÞzë­ëî/χB·lÙÒ&頻nv­¤zkß>“Ý»ÝlÖŸo©¶Îs¢Q#•™Ü*V¯^ÍÓO?]hûÛo¿M¿~ý8|ø0ƒ¶lŸ8q"S§N%!!wß}—Í›7sîÜ9òòò¨W¯}úôa„ Ô¬™sÕ²eˈˆˆ°:ö¿þõ/N:Å—_~I\\&“‰Ç{Œ÷Þ{ϪݢE‹¸çž{øøãy饗¬öMš4é†ãš9s&cÆŒaÿþý :Ô²}Ê”)L™2¥x'ÇRRRøðÃùé§Ÿ8uêøøøÐ²eKxàî»ï> èë4sæL<ȶmÛ¸|ù2 8§žzªPÝ{q¯WqKÁµ*é¸Y¼x1Û¶m#66³ÙL½zõhÑ¢ýû÷§_¿~¸¸¸;>±¿ÆsXµªlßJ•„j¼E¤ÚJI1àí­›*o÷Ýw»víÂÍí³So¾ù&ýúõ 88˜7b4ùñÇ™:u*GeàÀ|ðÁ¤¦¦òÝwß±nÝ:rrrxï½÷2dñññ<þøãÄÄÄXáÂ…8::òÍ7ß0{ölK×¶+ðÈ#Ú·hÑ"bbbˆ‰‰aÿþýøøøXöM™2ŲÒH›6mظq#ÎÎÎlß¾½R%ݧOŸfàÀ¼ù曜þøcâââXºt)¿þú+_|ñ-Z´à駟櫯¾*Ý »ñöÎ#%Åvé°o©¶L&F£½£’ðññaÈ!–×|ðÕþ>úˆîݻӴiS¦OŸNRR÷Þ{/Mš4¡~ýú–YÌØØX^{íµëöçïïÏ„ ¨Q£Ç·JšKÃÍÍ?ÿùÏ–×Ë—/'#ãåN}ô}ûöÅßß¿Lý”·çž{ޏ¸8 ÿ<Þyçxyyñä“Oâíÿ’uëÖ±|ùò"ß?räHZ·n§§'ƒ ²lŒŒ´jWÖëU‘ã:uê'Nœ víÚtéÒjÕªÅĉ¹ãŽ;Ê-.±£1ÿß[Qâ-""·”Ñ£G[~Þ³ge•Š´´4¾üòKË r||<ûöí³´½:™ °üIfff‘}õîÝÛêõ®]»hÓ¦M™âä‘Gpvv ))ɲJAü>úh™Ž_-[¶´Zk<00>}úù¥¿üò‹¥m£F,?;88P¿~}ËëÕ«Wyü«ßãááaùùêÙëò¸^%QÒqXÊbΞ=Ë=÷Ü믾Ê×_Mll,ÿùÏx衇Ê—TmJ¼EDä–Hhh¨åõ‡~Àÿû_,û­Þ7wî\KRyuvvv6gÏž-²/??¿rŽ|}}­fíßÿ}rssùïÿKƒ èØ±c¹÷YמÇkk²¯®i¾¶mQm®võM¨åq½J¢¤ãòðð`Á‚–ÏÄÉ“'ùàƒç®»îâá‡æÜ¹seŽKª6%Þ""rËùË_þbùyíÚµœ?žåË—3zôhËzµk×¶zÏ3Ï:uêdi{æÌËÏyyyV³Ïe‰ßÖ׫¤ã:þ°¬w™™I5¬Ö»6 ×=?=ö...,^¼¸Ð¾9sæðÀÅ¿^Åq£kõÙgŸ•h\ÿ¼Õ«W³sçNΞ=KZZ^^^2hÐ zè!Ké‰ÜÖ¬ñdÊ”bbN«½§§§Õ;%¥Ä[Dª%Þr+ùöÛo™:u*}úôaéÒ¥öG¤Ú±uâ­R;0`NNN•ò¦J)zd¼ˆˆˆ\¾|™N:ñÕW_ѨQ#/^LóæÍéÞ½»½C»åge“)S¦Tª'€Š(ñ±:vìÈèÑ£ÉÉÉ¡]»v,Z´ÈRC,"U›oqwwç‹/¾°wUBLLŒ½C)1Õx‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oJO7q÷Ýë7n‡½C)Um<""I‰·ˆˆ ™ÍfòòòÿTUm<""ÉÑÞˆˆT'ŽlÜ8ÀÞa”›ª6‘ФoÐŒ·ˆˆDFÆñä“Ñ–×Þ‹‹Ñò:))›·Þ:ÂúõqÄÅeàîîHûöµ?>ˆ;ïô³:Ö¥KY,Zt”Ÿ~Š#>>//':uòeòä×(²¿M›ú3wîA¶lIÀh4R‹Y³ÚÒ°¡‡Õ±OœHáŸÿÊš5çˆMÇÅÅH‡µ9²1½z`4,m‹{î^ýŽbÅ("U‹Ál6«0ODªŒøøxRSS‹Õ60°) Æ3p`ñÚ—— ¢Y¿>Î*ñNLÌdøð(23M¼öZ;û‘˜˜É¼yY·.–W_½ƒ#ß6+ËDDÄtîìǹsi¼ðÂ^öî½Ì'Ÿ„R«P}ûÖå‰'šÑ¢E ~ýõ"O<M³fÞ¬\ÙËÒöôé4†݈››‘9s:pǵ9w.Ù³÷søðRSs8thÈMÇSÒ~K:&[š1ãWÖ®åßÿîLÇŽµIMÍeÙ²ã,[vœO?íA—.¾@éΈØ×š5žL™@L̉bµ÷ôô$  Ôý©ÔDD¤˜7ïgϦóüóméÓ§.žžŽ4iâÉ‚ðósåå—÷ráBÖÿ·=ȹsé̘ц^½êàîn$(È›7ßì„Ùl楗öÙLj ©…››‘îÝýéÕ+€}û.sùröUq$99‡Y³Úêo9ö‚ÉÈ0•jlÅí·4c²…íÛ ò"4ÔWW#¾¾.<÷\kš4ñ´jWçNDª%Þ""•Àºu±ôî]Çj»³³ݺù‘™ibË–x ¿„ÄÁÁ@Ÿ>u­Úúù¹äÍIœ?ŸQ¨¶m­gŒëÖu >þm7oÎïã®»¬ã¨UË…Ûo·N4‹«8ý–vL¶Ð³g~ýõ3gþÆž=—-¥,‘‘ý,³ÝP1çNDªÕx‹ˆØYvv))9¸¸ñð(üײ¯¯+_ŽRР}ûï®{ÌS§R©SÇÍj›——õ±óËB ³³óHKËÅÅň»»‘kÕ¨áTüA•°ßÒŽéZQãýâ‹í ©ÅÊ•§yä‘­tìX‹lBÿþ·YÆPçNDª%Þ""væì쀗—))9¤¥åJ¾/\Èògðöv"--—C‡†XÝØWqxx8’––Kzº©PyñbV¹õum¿å5¦£GÃÊ1²|„…5 ,¬¹¹f¢£Y¶ì8'îdÆŒ6Œh·s'"·•šˆˆT3§7ž·ÚžÇö퉸ºéÑ#ÿ†žêa2™Ù½ûb¡ã,YrŒ=~(ö¬ïµzöÌl¢@bb&'OVÜM¨9¦² Y͉)8: õçwîÄ`°¾^ö:w"rëPâ-"R „‡·¤~}wfÏÞdž q¤¥åròd*Ï<ó ‰‰™ÌšÕ__KÛ† =xöÙÝDEÅ“’’CRR6Ÿ~’E‹Ž2}z›Rχ‡·ÂÇÇ™W^ÙËÖ­ ¤§›8v,™gŸý??×òò5ýVܘÊìY{8rä ÙÙy\¼˜ÅÒ¥Ç0›¡k×ÿ-óh¯s'"·-'("UJe^NðÚõ­† iÀüù‚u¼Ëùó¸¹9Ò¾}MÆof•à´]¼8¿m\\ÞÞδlYƒqã‚èÞÝ€={.3lØ&«÷MœØœ©S[¸Êj{ïÞux÷Ý®œ<™Êܹر#“ ‚ƒ½ùÛßZó¯bß¾$öï|Ãñ<òHÓRõ[œ1ÙÃáÃWøì³“üüóbc3pqq qcFŒhÂðá0\õÿâž;©l½œ o©R*sâ}«ëß=™™&6oÖ#âKJçN¤rÒ:Þ""b7‰‰™tèð=¹¹Ös2gϦqútj¡™wù;¹%Þ""båÊ•lžþ7ââ2ÈÈÈeïÞK<õÔ.¼¼œ˜4©…½Ã«ÔtîDäF´œ ˆˆXøù¹²|y(Ÿ|ò;>¸…øø jÔp¢{w,èHƒîö±ÒÒ¹‘›Qâ-""Vºuó£[7•E”†ÎˆÜˆJMDDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDD*ÈêÕg \E`à*Z¶üÆÞáT ß–Áƒ7Ъշ–s{ìXr¹Ù²ã–ãvï¾¶ÜŽ[ž"#ã,1®"+ËtÃö=¦M›ÎÓ·o$Í›]!í«%Þ""RnÒÓMÜ}÷:ÆÛaïP*…ûî«OLÌP=ͲnôÚ½û"O?ý ¡¡þüòË 6lèO:nåÚÿã3”ààåzÜòÔ¯_]bb†Ò·oÝbµ¯¨19“Æøñ;˜7ï.d–{ûªH‰·ˆˆ”³ÙL^^þŸkµió-#Gn¶CTr+¹ÑghíÚs˜Í0zt îîF6ô`ëÖ{hÖÌÛ‘–^Uù]X°àwÜQ‹o¾é‡‡c¹·¯Šªç¨ED¤Bxx8²qã{‡!·°}†ââ2ðñq²eHr¯¿~®®Æ k_iÆ[DDDn &SáYp±Ÿ’&ÑÕ=éÍx‹ˆØTvv‹eÍšsÄÆ¦ãâb¤C‡ÚŒÙ˜^½0 –¶'N¤ðÏ$::‘Ü\3Íšy3iRs>üðÛ·'0|x#^ýŽ›ö;aB4ë×ÇY^wèP›+î`ûöD}t+K—v¥OŸ:Ìž½?þøË—‡Z¶$ð;ûòÔSÁ´mëñc)ŒEtô@jÖt¶´)Hš ´ió--[úXþ«%$d2|xYY&""î sg?ÎKã…ö²wïe>ù$”Z%oAÜÆ“O6§iS/~ü1–ðð]ô쀓“O=L£Fž|óÍfÍÚØ1M™9³­å‰‰ùqefšxíµ:wö#11“yó²n],¯¾z#F4оfü‘Æë¯ïçÔ©42¬®YEŒ¹¼Œ»­[X¿¾_¡ämøð(}´)ƒ×J>޲|†®·}̘mlÛ–xÝxyäv«Ï|q ¼³gÓiÕʇgž &8؇'’™>ý7NœH᣺ӹ³o©ú¿ÑïBÁg.++W_mO—.~dd˜X±â bæÌ6Œhu>úö­ËO4£E‹ìÙs‰'ŸŒæöÛ½X¹²W¡1]º”Ŷm÷ùß Ì™s€cÇ’yóÍNÔ¨á\¢stµîÝ×ráB–Õ ʳ}EY³Æ“)Sˆ‰9qóÆ€§§'¥îO¥&""6´}{"AA^„†úãêjÄ××…çžkM“&žVíæÍ;Hrr³fµ%4Ôww#AAÞ,XБŒŒ/v=ƒÕÃÉɯ¿þò-3ÓÄúõq4jäÁO?Å‘––kÙ·jÕ†mX䱞x¢]ºøâææH»v59z4Œš5Kÿö¼y9w.3ÚЫWËxß|³f³™—^Ú[êcÞˆÖ­}ps3Ö€  o¢¢âyì± ‚ƒkàînäÁ›P¿¾;QQ ×ÄuˆÇS’ IDAT³gÓyþù¶ôéSOOGš4ñdÁ‚Nøù¹òòË{¹p!Ë2†k¯YóæÞÌÛ„„ ›Ž¹¬<ˆ¼<3ï½wÜjûî݉ÏdàÀz–m¥Gy~†{ìúñÆÆ¦3p`ýR7%%‡ððVtèPww#mÚÔdþüŽäääñÊ+û*¤ÿ‚ÏܬYùŸ9G|}]øë_›s×]E'|#F4"$¤nnFºvõ£OŸºìÛw™Ë—³¯ÛOrr?¾ýÿãîV¦¤[ŠO‰·ˆˆ õìY‡_½ÄÌ™¿±gÏeK‰@dd?Ël7ÀæÍñÜuW«÷תåÂí·['éÅåããL¯^lÛ–@bbþR^ë×ÇÑ®]M~øv23Müøc,ÿU÷Î0 ^‘Çj×®f©b¸žÈÈ8 ôéc½<šŸŸ+AAÞ8Äùó…“×âhÓÆ:Ö€€ü¯Ñ[·¶.å¨SÇøxë>Ö­Ë?½{[_ggºuó#3ÓÄ–-ù×êz×ÌßߵЬ bÇ\VݺùѲe V®üÃRðî»Ç3&Ъ$ª´ã(ÏÏPh¨?Í›{ï£6ÅÑÑpƒw_Ÿ‹‹±PœÍ›{ãïïÊáÃWHHÈ,÷þ >s={N²ß¿›e¶ûjmÛZ3Rð¿öó\à÷ßSxàM88xþù¶V×S*–j¼EDlèÅÛR‹•+OóÈ#[èØ±>Ø„þýoòëÀÓÒrqq1âî^øf¤5J¿¢ÃС ‰ŒŒã»ïÎ2vl _ýC‡6¤kW?""ðí·ð§?5dõê³ôîPdÿnnåw“Tvv))9´oÿÝuÛ:•Zª5›==­ÿ©3òkjÝܬ·;8¬–°+ˆËÅÅXäÒg¾¾ùÉMbbæM¯YíÚ.œ<ù¿’¦òsyÖx_í±Ç‚˜6mŸ|ò;“&µàäÉT~ùå"óçw´´)Ë8Êó30ztS¦OÿÍ*Þ;™3çæ÷@\†"rÒÚµ]HHÈäâÅ,üý]Ë­ÿ›}æ®ÇË«ðg ¨bâää\ž|r'uê¸Ï7ßüÁ!%+ÑÒSâ-"bC„…5 ,¬¹¹f¢£Y¶ì8'îdÆŒ6Œˆ³³ޤ¥å’žn*”È]¼˜Uêþ{÷®ƒ3«V!,¬{ö\bѢθº õgëÖ2Y¹ò Ó¦µ,ëp­•À@þì±··ii¹:4¤Ò̾9;;àååDJJii¹…¡‚€øù¹Þôš]= ZpìòsEÕÈÞw_}æÍ;ÈÇÿÎøñÍxï½ãŒÙØê´hQôÚâÅGY>C÷ÜS¯Ðv€/¿ìEûöÖ%3gþÆŠ§øüó»,ÉlI\½î|@€+o¿}'sçdß¾KäåAÛ¶5™6-ÿâü.\ý™«UË…Î}yúé`7ö¼îg|êÔ––µÁ ôî]‡!CðôÓ¿\gBBj:ÎÕ¿³7³aCãǾ.¿&{ÁR›¥mo ¶^NP‰·ˆT)•=ñ.ýû¯'3ÓÄæÍz4»Èµ¾üò4Ÿ|ò;_Ý»Zö/%£u¼ED„ÄÄL:tøžÜ\빑³gÓ8}:µÜë¯EªŠÏ??ÅØ±e«í¾•û—ÊM‰·ˆH%uåJ6Ï?ÿqqddä²wï%žzj^^NLšÔÂÞá‰T ÿùÏiž|2šôtŸ}v’+W²4¨t̹û—[‹–©„üü\Y¾<”O>ùÜB||5j8ѽ»? t¤AwKÛkk:‹ruÍò­¬:UŠ/22Žï,O̼ÞÍœõù)nÿ·ýŽU,Õx‹H•Rj¼ED¤|¨Æ[DDDD¤ Râ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄôY¶s#ð `Û¤mvލ|l:±‰ÙëgóÇ•?8ú÷£7l{8á0󣿳ûìnLy&Ú×kÏS¡OÑ¡~«vW2¯ðýáïYsd ‡ã“™›I¯:´»­ã:#8 ø¦qÿr<b6ðÌ]Ïð×n-S<""åA3Þ""6òx—ljy.¦XIã­àLÒÆ9žyQó¸~á¦í÷Æíeøòáx8{ð㸉šEƒ xèÓ‡Øzr«UÛˆ ¼´î%úõå‡Ç`×S»ˆÁ¡øC„}Fä±ÈöµêÀ*6Äl(·xDDʃo)•›pG½;øfÌ7x8yܰmž9ç¾oWoæ šƒ¿§?5Ýjòò€—iT«Ó×N'Û”mõžáí†3ºãhü<ýpsr£SƒN,¼Sž‰9ç\·¯„Ôf¯ŸMXë°rGD¤¬”x‹ˆH©¼>ðu&t€Ñ`¼iÛ_þø…ãŽsOó{putµl7:¹/ø>â’ã¬f¨_ø:³ï™]è8ÁÁ¸:ºr&é f³¹È¾f¬Á½-î¥G“åˆHyPâ-""¥ruÂz3;Nï MÝ6…öµ©ÓƪÍdäd™›I3¿f †Bûÿ»÷¿¿pœé}¦Û$‘’ÐÍ•""vrââ ^ßð:»Îî"×”K»ÛÚ1õ®©V7öe›²Y¼}1kެ!öJ,.Ž.t¨ß‘íGÒëö^n>ÛÜ|nsLy¦bÅäëáKôäèÒéºN\<@¯:…öÕñÎßvòÒÉ›gÍ‘5Lì6±Ð¾ó)çy}ãë¼5ô-<œo\úR^ñˆˆ”„o;HÏIç…u/ðLgæÄ…L_;‡?˜F}DçxqÝ‹¬=²–‡ý›Ž :’š•ʲŸ—ñÄ—OðéCŸÒ¥a—›öu³•Fl!%+wg÷BûÜò·]ɸrÃc\H»À?7ý“íF0°ÅÀBû§¯™ÎààÁtmÔÕ&ñˆˆ””JMDDì %+…ðžát¨ßw'wÚÔmÃüÁóÉ1åðÊúW,í¶ŸÚNo¡MBqutÅ××çz?G“ZMì}ù2“_«]TéH¤Œ$ƬC—†]xeÀ+…ö¯Ø»‚S—Oñ\ŸçlˆHi(ñ±GÚÕmgµ­¹_sü=ý9˜„Ôz6íɯç~eæÚ™ì‰Ýc)‰Y¬ÙîÊÂËÅ €ôìôBû2r2ðvõ.ò½9Œ^1š ¿ ÞüF¡òšØäX"6D0gÐÜœÜ*<‘ÒR©‰ˆˆø¸ú9£ZÛ½6 © \L»ˆ¿§?/ö{‘ÛBXy`%|þëwäÁé߬±úª 5ÞMk7òë°¯u>9[Q³ø&³‰I«&àÀ?ïûg‘+¨lˆÙ@JV }úP‘}/ؼ€›ðÓ?Ѩf£RÇ#"RJ¼EDì  ÆøZÓ/PÛ£6_îÖ:Œ°Öaäæå}:še?/câʉ̸{c;½i_•¡ÆûΆw²hÛ"œ?ÀÐÖC­ö8 ÈÚìçxžlS6o?ð¶UÒÝç>¼qÿ´¿­=ßñ0ßñp¡÷~sð¦}7­È'W–6‘²P©‰ˆˆ¤ç¤s8þ°Õ¶£‰GIHM 8 OB„XVàptp$´I(ï<ðƒ1mwiunØ™@ß@ÖYKVn–e»)ÏÄêë©ë]—ÞM{[½gáÖ…K8Æ’aKp6:Û=‘²Râ-"bnNn¼ù{ãö’‘“Áþ¸ýLûnNF'fõeÕvÖ³8’p„lS6Ó/²4z)f³ù–š‘u0810‚+™WxöûgILM$)#‰#_äÔ¥S¼vïk¸8ºXÚµÿ+n]ÈÞ¸½´ß–Àˆ@«?g’ÎØ4‘ò`0_ïÑ_""· øøxRSS‹Õ60°) Æ3p`ñڗղˈØ@€go?ð6s7Íe_ì>òÌy´­Û–i=§Y­ã}8þ0ŸíùŒŸÏüLlrþ:Þk6fD» o;Ü®+olˆÙÀø/ǹïµ{_cD»…¶Š?Äü¨ùì>·›¼¼<ÚÝÖŽ§{ëÇY|þÛç…¶÷hÒƒF~PªxD¤jZ³Æ“)Sˆ‰9Q¬öžžž”º?%Þ"R¥TæÄ[DD*['Þ*5±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€£½©.–í\FÄÆ<Ø6iÛÿµwçqU—yÿÇ_‡ý°¦€¤¢&ˆ¸!©˜[¸¶XN8¹dwwM‹[“:*¿rJËQ4ͱQ'Ëîm½Ë©©,2•Ü5‹PÈ%Ad?œßÞœñ&"œƒø~þ÷½¾×¹¾ŸëÒ~¸¼¾ŸSgÏú6é[Vl_Á±ìc•°þ©õ466&fK ;Oì$#?€;>È’aKê,¹1$f$²$~ {S÷b*7ѵyW¦ôB·Ýì2öÖ”­Ì‹›Çoç#鹤ëŽA¤>ÐŽ·ˆˆ<Ýói’g$âR§ÏÙj?“>ŸDß6}Ù5e›'l¦™W3¦~9•„ ¼=úmN;ÈØžcë4¹1L;ÈÈ÷FâáâÁ†±ˆ&ž–·´ä‘÷áûcßÛtì“9'÷é8Ç/ælÁÙëz¶H}£Ä[D¤ù:ñkÌf3êñ'ÜÝ ðàû?§ 'ÒnÁ>Áx¸xð\ÿçxåWìr­ë¼¤3£×Ž®ñý›I¹¹œ_Ï ‘[#Þ¿_O_óÒ=/ÑêÖVÌüf&%¦›½ô»¥ÜÑü¾xâ <œ=jcŠ"õ†o‘&-/ o7oëöÜ‹íÝ[Ú ýSp3ÛýÛnŽž=ʽÁ÷âæäfiwtpäHËMcsòf›½`è&ôš€£Á±f©ÇôÓVD¤1•›~·Ý€Á–áH=·óÄN:ûw®t¯s³ÎV}l1ö¥ ºHC£—+EDì$%+…›°'ue¦2Bo eÚ]Ó,/œ­Ø±‚¥ß- [‹n|üèÇ|÷ëw<ùÉ“x½Ù3e±Gb™¸n¢eüŽ‹;VùÜ×¾×¾ €÷yŸž=É.ÈfùöålJÞDz^:^®^ôhÙƒI}'âRåøÇndé¶¥ì<±“œÂvOÙMccãʽÄå/™þó¡òÊÖW8xú åæòJë`2›øö—oùäà'$e&‘WœG«Æ­:ŠÇº=fÙµ¿t콩{ Œ .î°&=—tÕûjk=æß7ŸYß̲ôÙ:q+‹¶,bÛ±m8:8Ö<ŒèÁÑxüîšU^|Å_¬.×Ô£) “®Ú/%+ÀòÀ¥š5ºØv,û£×Žfoê^ËýŠsûè1vßaiß÷—}4rktMc‹Ü f³Ùlï DDjKzz:ùùùÕêØ–×^KgèÐêõ¯-ÃÞFjN*›udj¿©„ø…r6…™ßÌ$%+…w~—ð–á–þ—t¦ƒ_Kâ]!òHRϧZï >›@ÜÑ8~Šú G̘1›ÍN?ÌCï>ij}žeRßI8à@æ…LF®IqY11CcçÔùS¼¸áE¦d혵„5«4~xËp¦ô›Bÿ.9{„QkF‘0)᪉÷¥ëp<û8í}Û3kà,Úû¶'ùlr•ë°9y3ã>GTDcÂÆPn.çËŸ¿d^Ü<ž ’fX}¥5«ÎýŒüŒZ_Š>ƒƒ3þÎñ´÷mϾSûÿéxÚù´cÝã몵fuáOÿ‰ï}ÏgF¨¨Õ½çN0hÕ :úuä‹'¾ 1=‘QkGÑúÖÖ|òè'”˜J³v O„?Á!ÔxìËõYÞ‡³gUÕDêÌúõžLžìGrrJµú{zzâççWãç騉ˆˆäçE·Ýpwv§³g– [B©©”—ã^®µçTœávtpÄáÿ~ä;p48âhpÄ`0°8~1§ÎŸbÖÀYôoÛwgw‚š±ìÁe˜ÍfæÆÎ­rìñ½ÆÓ3 'Fg#¡þ¡$=—Tí¤»Bai!/ÝóaÍÃ0:wzôdB¯ Üâv y¬Ûc ë0Œwv¿C~qíýòT—ë1*t”e®}Z÷¡ÛþJ;ĹÂsµm2sqoÎ`øÏñ¤¿Ý¿ˆÄôD¢¾ŠÂl6ó×oÿJïÖ½­’-ÒÐ)ñ±W'×J;€Á>Áøzú’˜žh©±m ±Gbq0800p U»§AMƒ8|æ0gòÎTúÜåñׄÑÙh9ºQ¡ªu8÷y¿ÒçC|C(+/ãèÙ£×K…º\.þ]¬®ýùž—~_/W/ J *Ý+,- ‘[#«öûÚßÇ3½ŸaCÒF¯MNaSïšZ+c‹4d:ã-"bÞnÞUîô5qoBF~Y²ðõô­ó8JL%äçÐui×+ö;ž}¼Ò9]£³ñºŸßȵê¤ëòuÈ+Îã­]o±ñÈFÎä!·(תEw½êz=*Ñ .Ž.Àv¯¦.Îx·mÒ Ê_&Îä^lksk›J÷¦ö›ÊöcÛÙwj¯<ðJ•Õqj:¶HC¥Ä[DÄ*’»ËedÐÄ£‰¥ÍÁà@©©´Rß˓Ϛpqt¡‘[#._àçç~¶y ·œ¢Ìfs¥_B._‡qŸŽc÷o»‰ͰÃhllŒÁ`àíÝoó·M«”¸^­rË•îÛ{=®¦.Î:ßp'Ë·/çð™Ã ï4ÜêÞá3‡èÕªW¥ÏýpòòKò ö æ… /ÐÞ§}¥/‡ªéØ" •ŽšˆˆØAAi‰é‰VmI™IdägâbµÛíëé[iÇ03?“Ó¹§k%–{‚ïÁd6YU«¨°*aýVöÃd®Þ.ëµ*.+æPÚ!«¶Ë×ÁT~16Oïþ8·ºßjIÔ‹ËŠ«×èl´úeeÈCøèÀGÕºoÏõ°‡ð€p›òÍ/ßX­§©ÜÄW‰_áßÈŸmX}&õ|*3ÖÏ`Å𬱠7'7&¬›@vAöu-Ò)ñ±£³‘¹±s9˜vÂÒB~Lû‘é_NÇÙÑ™èÁÑV}û¶éKF~kö®¡ ´€“9'y9îeš¸7¹Âè×&*"Šïžÿúyâ'¯8œÂ>Üÿ!Ë·/gæÀ™u¶óëåêÅ’ï–°ÿÔþ+®ƒ£ƒ#=z’™ŸÉ›?¼É¹Âs•‘p"öP帛uäXö1ÒrÓØj?'ϤGËÕºoÏõ°ƒ1Cc8_tžç¿~žÌüLr s˜;‡ãÙÇ™ß|\\-ý J ˜ðÙ¢‡DØ4·´`ÅWž—ΟÿõgÊÊËj<¶HC§r‚"Ò Ôçr‚UÕ¯^´u‡N¢Ü\Nÿ.L˜nU¿.KY°y[S¶’[”K§f˜=h6Ñ¢-ÿ]?þÎñt½­«U]é Ÿ>ö)3×Ïä×ì_1•›,•N fÅðäæ°rÇJbÆ’–›F#·FtðëÀØžcéÓºN`Ä{#*Ÿ<#¹Fë1ìíad_Èæ½1ï1/nûNíÃTnªrΞãÕï^ekÊV2ó3ñ6zq{>ž>¼¾óu:5ëÄçú€_³~eö·³9|æ0ÞFo&ôšÀ…ý—e¼«Ý¯­õ¨ªÏ3½ŸaÚ]Ó,5Ä+ À›#Þ¬ÑZÖ†ŸÓfIüöžÚKyùÅzêé÷«?‡9ç°vßZËõú§ÖããéCe=¬Æšz×TþÜûÏ×4v…ŠÒ‘U™ß|F…ŽºÞ©ŠXغœ oiPêsâ-Ö*ïíÏn·w("r“Ro‘H‰·ˆˆˆˆˆ ¨œ ˆˆÔšËÏ-WÅèl´ª»h9÷,"Ò)ñ‘ZSÓ-EDn:j"""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oÐ興ØAJV ˶-c×o»8WxS¹ /W/öOÝÀêV³%?O?¶?»ÝnñÊE{R÷ððÚ‡yÿ‘÷éгÒý¯¿â/_üG~þ?׫øªëJóÐßI‘ë£oK=ŸÊˆ÷F’•ÂÊ?®äÀÔœvDþÃ~,?Ýói’g$âbÇhåR›ŽnÂÛèM÷–Ý«¼ÿ@È$ÏH¦wëÞ6Žì¢«ÅW]Wš‡þNŠ\íx‹ˆØØG>"¯89wÏáŽæwXÚïk÷µ¿ÏŽ‘ÉÕÄ£Ûþ8íJ•ê{|"7;íx‹ˆØØñìã´÷moß@䚤d¥p,ûƒƒÛ;”*Õ÷øDD‰·ˆˆÍ••—ÏÎÊ#îh.Ž.Üuû]ö¥Jõ=>ÑQ›‰=ËÄu-×w¬²ß;ÿ‘E÷/ºêxÙÙ,ß¾œMÉ›HÏKÇËÕ‹-{0©ï$B|Cª|æÖ‰[Y´eÛŽmÃÑÁ‘°æaDŽ&À;ÀÒÇd6ñí/ßòÉÁOHÊL"¯8V[1*tu{Ìrýò±ã'ƳpËB¶¦lÅÅÉ…ˆÛ#xaÈ äçñRìK$œHÀÃÕƒm0{Ðl<\<®y>W¼(Øò¢êÕ4õhJ¤„jõ…‹ç§{µê…»³»¥-%+…W¶¾BÂÉLå&:úu$ªÔǸÚs‹r¹ãïwX}fê]Sùsï?c2›^li¿7ø^–_~ÅøJL%¬Ü±’õ¿¬çôùÓ¸:¹Ò­E7FwMÿÛûãèðŸã(×:K?·`óö¤î¡ÌTFèm¡L»kÝZt»êgEnFJ¼EDldH»!$ÏHfÂgˆ;ÇOQ?áêäj¹®ð=–õ¨ÖXùŒ\3’â²bb†ÆΩó§xqËŒxokǬ%¬yX¥g΋›Çø;dzðþ…ì;µñŸŽç/_ü…u¯³ŒŸÏ”/¦Åk‘¯Qn.çËŸ¿d^Ü<ÎäaÆ€UÎgþæùLì5‘…÷/dCÒ¢¾Š"§0gGg¦Þ5•V[ñÅá/ˆÞ‡‹³;æù\MÒsIÕýã¸&YY8}€¹wϵ´8w‚‘kFbt2²­ûпm¥â\á9«~=z2¡×nq»…ÆÆÆ–DïÝï_œ_åØ#Õ¯eš‚IDAT»Œ¤S³NDvŠ$¨iñ¿ÆóTøS„ø†àîìΘ°1´¸¥ñ¿Æ×Ê|lesòf̘4ÈÒ¶8~1¹E¹D‰¦o›¾¸;»ìÌ¢û‘‘ŸQiŒk™ãÓáOSn.ç­Þ²coê^ÒóÒ2ôªñí8¾ƒ ¦AômÓ7'7šz4eÆ€´¹µM¥¸®eòŠóˆŠˆ¢[‹n¸;»ÓÙ¿3K†-¡ÔTÊËq/WoaEn2J¼EDn@±Gbq0800p U»§AMƒ8|æ0gòÎTú\ÿ.V×þüHÏK·´ Èû¼_é³!¾!”•—qôìÑ*cêìßÙêÚÏË€NÍ:Yµ7ójfõ¼ë™­Ä‰¥s³ÎøzúZÚ¾ûõ;€Jgª}=}+%·cTw޽[÷¦ƒ_Ö^GNaŽ¥ï›?¼É=ž¨Tµ¤ªø"ÚF°ïÔ>f3›§XŽàÄŽ‹µªñ}­ó¨àêäJ¨¨U[°O0¾ž¾$¦'þnÒ.r³ÒQ‘L‰©„¼â<º.ízÅ~dzÓÌ«™U›—«—ÕuÅ žfÌ–¶¼â<ÞÚõläLÞr‹r­>SXZXåó<]<­® ptpÄèl´jw08Pn.¯•ù\®.Îx–²ãøžéýŒUÌJ.àêäjuæ»B&Ë>fÕÿZçøTøSLÿr:k÷­åÙ>Ïr,û»ÛÍ’aK®Àœ!s»-Œu‡×ñßþ7Ý[tgLØînwwæq)o7o Cåϸ7!#?ƒ¬ YV¿ˆˆo‘Ž‹£ Üq¡ø??÷s­×l÷é8vÿ¶›èÁÑ ë0ŒÆÆÆ ÞÞý6Ûô7«$½6Ôæ|êâŒ÷öãÛ)*+²*Óçâ肇‹J.PPZP)i½t—º¢ÿµÎñ°8~1kö®aÜãxk×[Œî:ºÒK©UÅ`0ˆìId§HÊÊËH8‘Àê]«yfÝ3Ì4‹'{ž><Þýqnu¿Õ²«Y\V|Ýq_I]ͧ6Ä£¥wKÚù´³j¸=øÏQ ç ÏU¹K|­st48ò§î"« ‹·v½ÅW‰_ñx÷Ç«_ØÒ0R²Rprp¢o›¾¼þÐë ¶$o©ñ<*”˜žhÕ–”™DF~!~!Úí©‚o‘PTDÞ<ÿõóÄÿO^q9…9|¸ÿC–o_ÎÌ3k´sìèàHÏ€ždægòæor®ðEeE$œHàƒýÔÁL.ª«ù\¯rs9›“7Wù¥4Qý£ð6zórìË|ì{ J H>›Ì´O«òØFMæøpׇñrõâÕï^eHÐü<ýª@ô·Ñü’ñ %¦² ²x#á Ìf3½Zõªñ<*ÌËÁ´ƒ–òcÚLÿr:ÎŽÎDŽþÝu¹YÌfsíþŸ¡ˆˆ¥§§“Ÿ_uÕ˶åµ×Ò:´zý¯×åu¯ìø K†-቟`Û±mV÷ &îhœUÛ3½ŸaÚ]Ó€‹ÇVîXIìÑXÒrÓhäÖˆ~Ûs,}Z÷àÀéŒxoD•cÆZµÀ›#.&Û¯~÷*[S¶’™Ÿ‰·Ñ›ˆÛ#ðñôáõ¯_˜œs÷œ*Ç4„áï·jŠˆ¢{Ëî<¼öa«öÉ}'3¹ïäjÏÇÖö¦îeôÚÑVå÷.u,û‹¶.b牔™ÊhçÓŽI}&ñöž·Ùq|p±ÚË‚¡ €šÍqá–…¼ùÛ|õäW•¾íô÷âKLO䃰ëä.Nç^¬ãݺqkF…Žbd—‘V糫;¶MÚ³%?O?þùÐ?Y´u‡N¢Ü\Nÿ.L˜®:ÞrÃX¿Þ“É“ýHNN©VOOOüüü®Þñ ”x‹HƒRŸo¹ñ,ܲÿ=ô¿ü0ù»ì¸_M}O¤¾³uâ­£&"""Ww4ŽˆÛ#êmR[ßãkªj"""r±ãbíÂïªïñ‰ˆ5íx‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€o±²ú‡ÕÆHŸå}ìÎMokÊV¯Lð¢`{‡""×I‰·ˆˆXyºçÓ$ÏH&Ä/ÄÞ¡ü®‚Ò­ÄØOÇÚ;”:q2ç$ã>ÇâøÅœ-8kïpD¤(ñ‘’Ùl¦Ü\Nyy¹½C©K¿[ÊÍïà‹'¾ÀÃÙÃÞáˆH-p²w"""5ááâÁ– [ìFY0tnNnöCDj‘v¼EDDê!%Ý" v¼EDl$öH,×M´\o¸•E[±íØ6 kFôàh¼X±cK¿[ @·ÝøøÑøî×ïxò“'ð6z³gÊž*ÇŸÏÂ- Ùš²'"nà…!/WœÇK±/‘p"W´ÀìA³ñp©ú8CJV 6/`OêÊLe„ÞÊ´»¦Ñ­E7«~ÙÙ,ß¾œMÉ›HÏKÇËÕ‹-{0©ï$B|CªŒqãØ,ݶ”'v’S˜Àî)»ill|MkùSÔO¸:¹Z®s sX±cqGãHËMÃÝÅ®·ue\ÏqÜÙêNK¿S +w¬dý/ë9}þ4®N®tkÑÑ]GÓÿöþ8:8þnÁ‹‚1•›®Ú ©GS&%T«¯ˆ4<³Ùl¶w""µ%==üüüjõ lËk¯¥3thõú×– ŸM îhƒƒ3þÎñ´÷mϾSûÿéxÚù´cÝãë¬úw^Ò™~,‰w…Èw"I=ŸjI¼/ÿžà{˜Øk"m›´eCÒ¢¾Š"âöœ™Òo ­·â‹Ã_½!š'z<ÁìA³­Æöö0RsR騬#SûM%Ä/„”³)Ìüf&)Y)¼û𻄷  #?ƒ‘kFR\VLÌÐÂÂ9uþ/nx‘ƒiY;f-aÍÃ*ÅÞ2œ)ý¦ÐÅ¿ GÎaÔšQ$LJ¸jâ}ù8—&Þ™ù™Œ\3’¢²"æß7Ÿð–ád^Èdqüb6ÙÈßîý£BG0ë›Y|óË7ü#òtoÙüâ|VïZÍêVóþ#ïÓ3 gµâ¨k}–÷álÁY’žK²w(" ÊúõžLžìGrrJµú{zzâççWãç騉ˆˆŒ EXó0ŒÎFú´îCÿ¶ý9”vˆs…çjeü‘]FÒ©Y'ŒÎF";EÔ4ˆø_ãy*ü)B|CpwvgLØZÜÒ‚ø_ã«#¯8¨ˆ(ºµè†»³;ý;³dØJM¥¼÷²¥ßâøÅœ:ŠYgÑ¿mÜÝ jIJ—a6›™;·ÊñÇ÷OÏ€ž„ú‡’ô\Rµ“î+Y¿˜Ôó©üuð_8OWOÚÜÚ†¥XЇ/žÄÙ «„ì8¾ƒ ¦AômÓ7'7šz4eÆ€´¹µÍuÅ "R%Þ""vÒÅ¿‹Õµ#ÒóÒkeüÎþ­®ý¼.îÒtjÖɪ½™W³+>ÓÕÉ•PÿP«¶`Ÿ`|=}ILO$#?¸xôÃÁàÀÀÀV}}<}jÄá3‡9“w¦Òø—]6ÙÀ€¶¬Ú]]èݺ7EeEl;¶ €ˆ¶ì;µÙßÌæÀé–##±ãbëÍn·ˆ4:ã-"b'^®^V×.Ž.˜©€ž.žV× 8:8bt6Zµ;(7W]’ÏÛ̓ÁP©½‰{2ò3Ⱥ…·Ñ›¼â<º.ízÅxŽg§™W3«¶Ëc¹^%¦òŠópur­òÌzS¦ÀÅã(s†Ì!ì¶0Ö^ÇøßtoÑ1ac¸»ÝÝÕz¦Îx‹Hu)ñ©ç ”šJ+µçåÖù³+êËedÐÄ£ .Ž.4rkÄ…â üüÜÏ8®þBb]qqtÁËÕ‹¼â<.”\¨”|W1ññôÀ`0Ù)’ÈN‘”•—‘p"Õ»Vó̺g˜5hOöxòªÏÔ¹k©.5©ç|=}+ÓÈÌÏätîé:vAi‰é‰VmI™Idäg₯§/÷߃ÉlboêÞJc¬JXE¿•ý0™«·+|½*vª·¤X×ø.1•°ãøÜœÜèצaKÃHɺøR•“ƒ}Ûôåõ‡^Ç`0°%¹áÖûPâ-"RÏõmÓ—Œü Öì]CAi'sNòrÜË4qoRçÏ6:™;—ƒi),-äÇ´™þåtœ‰méE€wÏý<ñ¿Æ“WœGNaîÿåÛ—3sàL›í„GEDÑâ–Ì‹›ÇæäÍ\(¹À±ìcLý÷T2/d=$Úrä úÛh~Éø…S YY¼‘ðf³™^­zÙ$^¹y¨œ ˆ4(õ¹œàÓñÞ«¶gz?ô»¦hÕ> poŽx¸xÜcÁælMÙJnQ.šubö ÙDoˆæð™ÃŒ¿sôOm]ġӇ(7—ÓÅ¿ Ó#¦WªãS˜ÃÊ+‰=KZnÜÑÁ¯c{Ž¥Oë>W\€äÉÕZà —×ñx°ãƒ,¶ÄËŠ+ˆ=Ë™¼3ëxß9Î*¡NLO䃰ëä.Nç^¬ãݺqkF…Žbd—‘Užo·•ÍÉ›÷é¸*ïÍ¿o¾¥$¢ˆÔœ­Ë *ñ‘¥>'Þ""R¿¨Ž·ˆˆˆˆH¤Ä[DDDDÄTNPDDê•ËÏ»WerßÉLî;ÙшˆÔ%Þ""R¯\ë‹–""7 5±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ""Rï”0hÕ Æ~:ÖÞ¡ˆˆÔ˜o©÷Ìf3åærÊËË+Ý뼤3£×޶CT""ׯÉÞˆˆˆ\‡‹[&l±w""×E;Þ"""""6 o‰=ËÄu-×Çndé¶¥ì<±“œÂºµèÆÞÔ½–>ÝZtããG?`Çñ<öÑc¼1â `^Ü<ÞÙóŽ¥ÒóI8¯Cð¢`Lå¦jÅÛÔ£) “~·Ï„Ï&w4®Æñ.¾œgÿõ¬åºª5™ß|f}3ËÒ秨Ÿpureõ«‰ÙÀÞÔ½ÆàèàHÒsI–þÙÙ,ß¾œMÉ›HÏKÇËÕ‹-{0©ï$B|Cªµ""µÁ`6›ÍöBD¤¶¤§§“ŸŸ_­¾myíµt†­^ÿÚR‘¬†· gJ¿)tñGµf “XÿËz^Üð"¯{•?tüƒåsÏý<Ÿýø÷‡Üϲ—YÚcIJfßÞ{ø=›Î£Âûûß¿îx¯¶&-}*ï —t¦ƒ_K©Œü F®IqY11CcçÔùS¼¸áE¦d혵„5«£•‘únýzO&Oö#99¥Zý===ñóó«ñótÔDDÄNÆ÷OÏ€ž„ú‡’ô\¹¿ýý8;:óùOŸ[ú•w4ŽV[±éè&.”\°Üû×á1¼Óp{L Vã½ÒšÔÔâøÅœ:ŠYgÑ¿mÜÝ jIJ—a6›™;·Æc‹ˆ\+%Þ""vêZe»·Ñ›þmû³ýøv2ó3ˆ;Gèm¡Üÿ!Ë·/gæÀ™Ú ›ÑQ¹i¹ºš))©ú˜B]8pú#Þa¹î¸¸#É3’«ìÖ<ŒÖ[Sb*!¼e¸¥ÝÍÉ{ƒïå³?³k5“ËÕ$Þê¬ÉåõÏ;.îȃdɰ%üuÐ_™ýílî~ón¼Þ¼p÷ ´mÒ€&îMX÷ø:VîXÉœsHËM£‘[#:øuàõ‡^§Oë>µ¿"rÃ(*2àæf»ÊÚªã-" ʵÔñîÝ»cÇžç‰'rê8*©þç¼yë­[ؾýDµú«Ž·ˆH –r䈋½Ã;9rÄ…ÀÀÒ«w¬%J¼Eä¦VÄεW¾NDDn, Fºv-²Ùó”x‹ÈMkàÀRSøñG׫w‘åÐ!WRS8ðÂÕ;×%Þ"rÓ -"(¨„µko±w(""bcï¿ íÚ•Zl³g*ñ‘›Ú„ 9|þ¹‰‰Úõ¹Y$&ºòùç^ŒoÛ—ëUÕDD”k©j`6Ã#4§¼>úèÛU;yä‘Û(-5ðÉ'×ös_UMDD®ƒÁ³gŸeÿ~7Þ{OGNDDºwß½…={Œ¼øâY›o¶(ñ‘›^§NÅL›–ÍüùMÙ¼ÙÝÞለHÙ¶Íùó›0mZ:Ùîlw%Þ""À„ 爌ÌcÚ4?Ôyo‘†æàAW&Mò#22Ÿ ìóÅiJ¼EDþϼy™tï^Ä£6çÛo=펈ˆÔ’o¿õäÑG›Ó½{óæeÚ-%Þ""ÿÇÙÙ̪UiŒ™Ë¤I~üýï·R\¬·-EDnTÅÅþþ÷[™4É‘#sYµ* ggûÕQUiP®µªÉ•|ðA#bbšÐ¤‰‰™3³¸ûnÛ}Á‚ˆˆ\¿=X°  YYŽÌ˜‘Å#ä^÷˜×[ÕD‰·ˆ4(µ•xdd8±pá­üûß^„„3ztƒ] Y³²Z_DDj×™3NlÚäÁÇ_ü~†?ü!çŸÏÆ×·v~n+ñ¹Dm&Þ~üÑ•wß½… <(,tÀß¿ŒV­Jñö.Ç`ÐP{*/7pþ¼Ç;sæŒFc9÷Þ{Ç;Oçε[¹D‰·ˆÈ%ê"ñ®P\l`Ï7~úÉ•ÔTgΟw ¼¼N%""Õäà•Ó²e);Ó½{®®u“Þ*ñ¹D]&Þ""rsÓ7WŠˆˆˆˆÜ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄôÍ•"Ò QVVfï0DD¤rrrÂÍÍ­ÆŸWâ-""""b:j"""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6 Ä[DDDDÄ”x‹ˆˆˆˆØ€oPâ-""""bJ¼EDDDDl@‰·ˆˆˆˆˆ (ñ±%Þ"""""6àü¯½ƒièþ?$޹ ©ØnIEND®B`‚fio-3.39/examples/sg_write_same_ndob.fio000066400000000000000000000017051476262051600204100ustar00rootroot00000000000000# # ********************************** # * !!THIS IS A DESTRUCTIVE TEST!! * # * IF NOT CHANGED THIS TEST WILL * # * DESTROY DATA ON /dev/sdb * # ********************************** # # Test WRITE SAME commands with the NDOB flag set # issued via the sg ioengine # All of the jobs below should complete without error # except the last one # # job description # precon Precondition the device by writing 20 blocks with a # known pattern # write_same_ndob Write 19 sectors of all zeroes with the NDOB flag set # verify-pass Verify 19 blocks of all zeroes # verify-fail Verify 20 blocks of all zeroes. This should fail. # [global] filename=/dev/sdb buffer_pattern=0x01 ioengine=sg rw=write bs=512 stonewall [precon] number_ios=20 [write_same_ndob] sg_write_mode=write_same_ndob number_ios=19 [verify-pass] sg_write_mode=verify_bytchk_01 buffer_pattern=0x00 number_ios=19 [verify-fail] sg_write_mode=verify_bytchk_01 buffer_pattern=0x00 number_ios=20 fio-3.39/examples/sg_write_same_ndob.png000066400000000000000000002770011476262051600204230ustar00rootroot00000000000000‰PNG  IHDRáUËËbKGDÿÿÿ ½§“ IDATxœìÝyXUÕúÀñïdžQÅpÄÍ®3jXV*YZyÓr@#çÊÒëlHšiê­üjZZ9æ<X)ÙULrbdØ¿?Žì8€Š„÷ó<çyÎYgíµÞµÏ_6k¯£QEA!„BQ^6è;!„B!ªIÂ…B!„(g’„ !„BQÎ$ B!„¢œI.„B!D9“$\!„Bˆr&I¸B!„åL’p!„B!Ê™$áB!„B”3IÂ…BT(‡B£Ñè<–-[V¢¶üýý µuíÚµ'Ž166–€€š5k†¥¥%ÆÆÆT¯^fÍš1pàÀRéCQ¹I.„xêdgg3xð`,,,xþùçÉÌÌÔwH¢uíÚEQpwwâ¶–-[ÆÅ‹K!ª\»v ///–.]ÊåË—Y¼x1QQQ\ºt‰Î;óý÷ßSª} !*IÂ…OÐÐP6oÞÌÝ»wùùçŸ9sæŒú^DD„ÎUÏ .è1RQ}øá‡j’=tèPÆŒCõêÕ©^½:Ë—/ÇÎÎNÏ !žFú@!WóæÍy饗صk>>>x{{ë;$Q…þøcÚ¶m‹ ÕªUÃÉɉ޽{³qãÆ‡»gÏÚ·o¹¹9´k׎¯¾úê‘ã\±b†ÔÔTµlРAEÎ]SSÓRYQ )Bˆ§^NNŽâáᡊ………²oß>%==]‰‹‹SæÎ«Ê矮Öß»w¯R­Z5Plll”#GŽ(·oßV&Nœ¨ê#00°Ø1dgg+5kÖT]ºt©úÞ®]»ÔòV­Zéçáᡬ]»V}maa¡ÖuwwWæÍ›§$&&*k×®U%$$¤P½Í›7«Çß¼ySg üñG¡XCCCPjÕª¥„……)ÿý·R¿~}PêÔ©£DDD{ì{þ/^¬Ê²eË”;wî(ñññÊǬÆììì¬ÄÇÇëô‘¼uêÔQ~ÿýw%>>^iݺµZîêêª|øá‡Ê;w”Õ«W«åJVVV™¿¨kÕª¥œ={VINNVúõë§–¿ûî»:Ç”d.þõ×_JíÚµ@±²²R8 $%%)sæÌQë¿øâ‹ê˜/^¼¨ÓÖ³Ï>«DDD(×®]S¼¼¼Ôò)S¦<ö8óϽ­[·ªå&&&:Ç|¸Zž““£ØÚÚ:¦`þÓO?©Ç|ûí·j¹réÒ¥Çgq“ðÇYQé}'ËQ„¨jÖ¬‰™™ Ý>­I“&Lš4‰ÿû¿ÿãÆ?~œÑ£Gpýúu.]º¤ëææ¦>·²²ÂÉÉ©Äq¼ñÆêóÐÐPÎ;Grr2?þø£Î²–¼?ýýõ×¼ôÒKX[[Ù^¿~ýt^ÇÇÇÓ¶mÛÇIHHˆúºfÍšêóZµj©Ï·mÛVäÒ‰¢<Îù=z4ݺu£U«VX[[c``€F£!22R­ó°%!õêÕSŸ[ZZªÏk×®¡¡a¡rÐ.?)«ñ¥aÆês+++õyþ1–d.FEEqôèÑ"û100 ~ýúêë-ñÈßOþç¹¹¹üòË/T •FÌBˆÊG’p!*+++‚ƒƒÕuÏ—/_fÙ²e¼þúëÔ­[—îÝ»sýúu prWpíª……E‰ãhÒ¤‰ÎN%_ý57n¤qãÆÌ™3G-ÿöÛoIKKcãÆ:‰{A...%ŽåA îß’„ QI 0€›7orøðaæÏŸOÿþý12Òn€tðàAÞ~ûmªW¯®s\Á«iiiOGþ¤:88˜uëÖñæ›oÒ¿uÿ䨨XÞyç,,,ðññy`[ÆÆÆÝÁä³ GGG×sæÌAQ”"Mš4)v¿Å=ÿýõ‡VûÏþSè3)Ke5þ’(É\,ø‹YÁcòßû _âîÞ½ûÀãkÔ¨h éׯvvv|ñÅB±”FÌBˆÊG’p!*ˆˆ ˆ‹‹£sçÎL›6Ÿ~ú‰Ï>ûL­“÷gÿºuëâéé©–‡‡‡«ÏSRRˆ}¢X† ¢&Ïqqqüþûï¼ú꫘˜˜0xð`µÞ×_ͰaÃt®Þ–†‚Ë0²²²èÒ¥ £F¢víÚxyy©ïõe>ݺu£sçÎÅîóqÎÁ+Üù¯‚æßú®¬”ÅøKª$sÑÅÅE'¶üÇäææê\½2dH‘ýæ?&ÿsFC¯^½Ø²e ;wî$)) ²³³gh¥³¢ò‘$\ˆJBQüüüøí·ßÈÌÌ$&&Fgê /¼ >_¾|9ÕªU´ÉÆÑ£GIJJâƒ>P“Ö’²··§ÿþêë>}ú¨k{_ýuº[ŠRR6664nÜX}ÂåË—9{ö,]»v`Íš5ê:ôï¿ÿžõëדœœL\\3gÎ$$$„ ­ôë×O±µµUªU«¦¸¹¹)‹-R7n¬îÔ°lÙ²ÅòóÏ?«mlÙ²Eç½F)€òÌ3Ïè”oذAg‹ü«W¯>²^—.]tÆÖ©S'ÅÒÒR100P\\\”wß}WÉÍÍUë\»vMyçw”F)¦¦¦Š¹¹¹Ò AåÍ7ßTΟ?ÿØc~œóáÂ¥gÏžŠboo¯´k×NY±b…Ò¼ys1Õ­[÷ã9sf¡]gÅÐÐP )ò˜—_~¹LÆÿ ß}÷]eæÌ™E¾÷å—_ꜻ¢æ¢»»»Î1îîîê1IIIÊìÙ³•Ö­[+VVVŠ‘‘‘R£F ¥W¯^Jpp°úYÜêPV­Z¥x{{+¦¦¦Š™™™Ò¶m[å¿ÿý¯Î˜222”Þ½{+666ÊÊ•+KeœÅYQ%|§Q”Rø_Qi¸ººª;XËŸÇ…BˆÒ·Y–£Qmß¾WW×BfU·²377§GúO!„¨ô$ ¢ŠŠŒŒd̘1ܸqƒŒŒ BCCyíµ×P###V¯^­îñ°¯–Ï{Ìž=[¿*#Uyì ãBˆ²"I¸UPïÞ½Ù±c©©©ôêÕ {{{Ú·oÏÍ›79r$¿ýöC‡Õw˜B!D¥%kÂ…B!„(_²&\!„Bˆò&I¸B!„åL’p!„B!Ê™$áB!„B”3IÂ…B!„(g’„ !„BQÎ$ B!„¢œI.„B!D9“$\!„Bˆr&I¸B!„åL’p!„B!Ê™$áB!„B”3IÂ…B!„(g’„ !„BQÎ$ B!„¢œI.„B!D9“$\!„Bˆrf¤ï„B”Lxx¸¾CBÜÜÜôÂSG®„ !„BQÎ$ B!„¢œI.„B!D9“$\!„Bˆr&I¸B!„åL’p!„B!Ê™$áB!„B”3IÂ…B!„(g’„ !„BQΞø35MiÄ!„•ÖÀÙ¼y³¾Ã(‘¤$þú˘;w ¹wO~Þ ñ´06V°¶Î¡Q£{ØÚæê;Q„RùÚz:tèPM !D¥¨ïÛ_³y³Zpõj5}‡#„xBõëgѽ{¦Ð¨Ñ=}‡#î+•$¼C‡ <¸4šBˆJåiº~ýz5æÍs`ÿ~ êÖÍâ¹çÒxæ™tÜÝïag—ƒ±±¢ï…Åt۷ 3æÔ)3öì±`Ý:[||Ò˜1#ºu³ôb•W*I¸Bˆ§Wf¦†åËíùïm¨W/‹uë¢éÜù.²ÚPˆ§—±±‚“S6NNÙtî|—÷ÞKàÈs.t OŸÚüûßÉŒŸˆ‰‰ür­/’„ !D–`ÈèÑ΄‡3}z¯¾zCCùOYˆÊF£.]îÒ±c:ÁÁÖÚsú´)«VÅàà£ïðª$ÙE!ª¨¿þ2æå—]IL4dóæ† K–\ˆJÎÐPaذd6oŽ 1Ñ—_v寿ŒõV•$I¸BTAÑÑF¼ñFMœ³ùþûHÜÜd}¨U‰›[߉³s6o¼Q“èhYQÞ$ %F£yà#;;[ß!êÅ¡C‡ ‹eË–é;,!TééÞyÇ+«¾ø"[[ùS´U‘­mëÖEcg—ÃÛo;s÷®¤…åIζ(1WWWEaÆ :åGEQŒŒªæoÕ]»vEQÜÝÝõŠEš1ÑÈH#Ö­‹ÆÚZö¢*³°Èeõêhâ⌘9³†¾Ã©R$ Bˆ*äôi3~þÙ’… ãpu­š­BèruÍfáÂ8~þÙ’Ó§ÍôN•!I¸BT990gNuºwO£k×»úGQtíz—îÝï2{vurrdÒò I¸BTÛ·[qåJ5fÌHÐw(Bˆ hÆŒx®^­Æöí–ú¥J$\èETT“'OÆÓÓsssLMMqww' €øøøBõÏœ9Cÿþý±··ÇØØ˜† ²xñb<<6nÜXèFÊÀÀ@^ýu\\\066¦^½zL™2…ôôôbÇ&DElMÏžiÔ«';¡! «W/‹ž=ÓØ°ÁZß¡T ’„‹r÷ÇТE IIIáܹs\¼x‘¬¬,–.]J›6mˆŒŒTëïÛ·Ž;²}ûvrssÙ¿?gÏž%22’°°0µ^`` —.]zì>^yåEÁÂÂBmkéÒ¥Lœ8‘°°0zõêÅõë×Y¼x1ï¿ÿ¾ÎXŠ›úvë–!¿ÿnÊ‹/¦ê;!D6`@*¿ýfJ|¼¡¾C©ô$ åî­·Þ"!AûçðÒ¸qcêׯŸŸ7nÜàÝwßUë?ž¬¬,µ~§N°µµeΜ9T«V­Tú(hĈ´iÓkkkõ€mÛ¶éÔ+IlBèÃéÓf(tè kÁ…öì³w10PäÍr I¸(W‘‘‘„„„¨¯kÖ¬©>¯U«–ú|Û¶m¤§§sýúuõê6€›››úÜÊÊ ''§'î£( 6Ôé'ÛyJ›úré’1 daf&߈)„x033… ² “oÑ,kUs#g¡7111:¯§NÊÔ©S ÕËÌÌäêÕ«…’dSSS×ù—”´&Mšz¯`?y埦àÚõâÄ&„¾Üºe„‹‹lIXÌ;—¯¾úJ§lΜ9lÙ²…°°04 5âµ×^ãå—_`íÚµ,X°@ç˜eË–qíÚ5¶lÙBtt4999lݺ•æÍ›Çš5k8rä‘‘‘äææR«V-ºwïÎèÑ£±³³Ói+!!uëÖqèÐ!nÞ¼ h/`xzzâëëK—.]Կ¤ðÕW_±ÿ~®]»Fzz:¶¶¶4iÒ„—_~___¶oߎ¿¿¿N?3gÎäÏ?ÿäøñãܾ}'''úöíËĉøsW”?gçlnÝ’±¬É•pQ®u^Ï™3EQŠ|4iÒ„êÕ«ëÔ/˜”§¥¥=q%U’؄Зôt ffòÅ<Á¬Y³Ø³gNÙÖ­[Y¹r%{öì¡^½z„††2uêT-Zh—È]¹r3³–|úé§ñã?2wî\µ<,,Œ¾}ûòå—_’ššÊÏ?ÿÌ/¿üBVVëÖ­ã…^ 66V­åÊúöíË_|Á•+WàÈ‘#lÚ´‰ 0zôh¶nÝ hÿØ·o_‚‚‚¸zõ*«V­âìÙ³¼þúë=zÆŽKNN¾¾¾…b^»v-o¾ù&{÷î¥S§NDFF²fÍËä\‹’17Ï%-M¶),k’„‹r±mÛ6lmm©]»6^^^jù…  ÕíÖ­;w nݺxzzªï…‡‡«ÏSRRtþ#Éó¸}”TIbB_4òj…5zôhœœœ¨U«#GŽTË×®]Ëßÿ]ä1ŽŽŽŒ= „­­-Ó§O')) €>}úP¿~}\]]Õ+ÔQQQÌ›7OmgÚ´iê=4ݺuã7ÞÀÎÎ[[[&L˜@óæÍuêFGG«m?óÌ3XYY1f̬­µ;jüòË/¬_¿¾È˜ýüühÖ¬–––ôë×O-ß»wïã0Q¦4íÏ Q¶$ ånÍš5êëï¿ÿžõëדœœL\\3gÎ$$$DçϮ˗/Wÿ ºeËŽ=JRR|ðzSä“öQR%‰M! ªS§Žú¼nݺêóÜÜ\Ž;Vä1ݺuÓy}öìY UËòÿe0ÿ}*{÷î%##ƒØØXÎ;§–7kÖ¬P?[·neðàÁÄÅÅéÜo“?N\]]Õ×Û·o/2æüÇä_²'-DU$I¸(±ˆˆ4 C† Ñ)ïÔ©S¡}·_|ñEõý¶mÛÊ;ï¼Cýúõ5j5kÖ¤C‡DEEqâÄ ž}öYµ¾ÇŽ£_¿~àããCÛ¶m©Y³&7Vëiò]æ{œ>òö Ï¿|dРA0kÖ,Ø333Ñh4êzÎ‡Åæîî®7iÒ$=Ì…"¿üë¡MLLtÞKLL,ò˜5j*»uë–ÎëE‹ѰaC6lÈG}¤–ß»wˆˆˆB÷¶<ì^–‚m\Ã?î‚u‹ª“Ÿ"—]E$«îE‰¹ºº–øgݺuY±bE±ë·k×®È++AAAêó‚kÁ‹ÛÇ+¯¼Â+¯¼òÀ÷ó¯µ|œØÞ{ï½Gö-„êóÌÌL÷ìíí‹<ÆØ¸ðî:¯'MšÄ;ï¼óÀ~ ^NM}ð>ò“þü1ƒnÜEý‚ „Ð%WÂE…·}ûö"þØØX¢¢¢077§GúO!žØ7Ôçׯ_WŸk4:vìXìv\\\tîU¹|ùr¡:¯½öšúL'''Z¶l©¾Wðš{÷î©_|æè舷·w‘1çææ¡¾îß¿±c¢ª’$\<"##3f 7nÜ ##ƒÐÐP^{í5EÁÈȈիWË•!ÄSkÕªUê……uëÖ©å#FŒ AƒÕÖ¼yó°´´`÷îÝlݺ•””Xºt)¡¡¡:©[°`zµýСCüßÿýwîÜ!66–éÓ§ckkËСCÕº...ìÚµ‹Ó§O“ššÊªU«¸sç½zõbذa%?BTå bi46mÚÄàÁƒK+&!tdggóË/¿ÌÙ³g¹q㊢P§NºtéÂøñãuîÞ¢"4h›7o.õ¶óïÈó(ãÇkoÊ[¾\n€«ÂÃÃyî¹çÔ×sæÌaóæÍ…ö 8p PôžÛy:¤sS$ nýwìØ1¢££100 zõê´k׎áǺG%11‘ÿþ÷¿:tˆëׯ“““ƒ££#;vdìØ±:_z–’’—_~©îž‘‘Î>áæ1¿õÖ[˜˜˜°råÊBï-\¸PÝ]èOI~^äÿÂ:Q,›% Bˆ2$I¸(JÁ$¼¨DZ}‘$¼\l–å(B!„B”3IÂ…B!„(g’„ !„åhîܹ:KQºvíÊĉõ‘BdŸp!„¢Íš5‹Y³fé; !„žÉ•p!„B!Ê™$áB!„B”3IÂ…B!„(g¥²&|̘1¼ûє¥*!!KKKLLLôЍ¢hÔ¨‘¾ÃBQÁÈ•pQ©¥§§“žž®ï0„B!t”Ê•ðÏ?ÿ\¾1STH†#F¨ïPD•÷™B!D~r%\!„Bˆr&I¸B!„åL’p!„B!Ê™$áB!ÊÌÝ»9øøüÂÈ‘'õJ©¨lãBè$áB!ÊŒ¢(äæj•AeBJew!„¢(F<øœ¾Ã(5•m¼¼@æìSoïÞhÆŒ9¥¾þóÏç111T_'%Ýã³Ï.±o_4ÑÑ阛áåeÏÛo7â™gjè´•˜˜ÉŠaìßMll:VVÕðö®ÎøñxzÚÙß¡C½X´èOŽÃÐPC«Vö¼ÿ~ êÔ±Ði;<<…Å‹ÿäÔ©[dg+4nl͸qî|õU8'NÜ`РºtïîRäxJÚoqÆô(îîÛÈÉ)ÞÒ˜êÕM8uªï#ëÝ»—ËÊ•aìÜITÔ]LL iÓÆ?¿ztíê„¡¡F­[Üs7~ëbÅ(DU"Ix—››Knn®¾Ã¢ørsµQåõìé•+/2zô)öí‹ÖyïÖ­  :LFFóæµ¢]»ܺ•Á’%2lØ1þóŸÖ \€¸8mÝÌÌ,hM»v5ˆŒLãÃÏ3pàa¾ù¦#­ZÙêoîÜ?5ª1 ¶á·ß5êþþ!üðCW5Žë×Ó4è0ff†¬XÑžÖ­ˆŒLcîÜ?¸t鯯üï/¨õ‹OIú-î˜%,l@ ?›=û»vE±|y;Ú¶u 55›µkÿbÔ¨“|ûm'Ú·¯<þ¹Bè’å(XµjÕ¸pá'NœÐw(BOµjpáÈœ°dÉÿˆˆ¸Ë¬Y-èÞÝKK#ê×·$0Л5LùøãóÄÇgÞ¯û'‘‘w™1£9]»:cnnH£FÖy£( }t¾È>®K«Vö˜™ò¯9Òµ«¡¡·¹}û^¾8þäÎ,Þ¿;:ªm¶%==§Dc+n¿%Sy8qâYѱ£#¦¦†T¯n´iͨ_ßR§^Yœ;!ªIÂ…B”»_~‰ [7grccž}¶9= h—™hèÞÝE§n¦4jdÍ… IÄĤê£E Ý+É..fÄÆþS÷Èm;ëÆaooBƒºIgq§ß’Ž©ð9Ë¥KЯØØ€¹9tëæ,™™ðÁàá¡­co¯ó§Ÿ@æl…tï^.))Y˜˜baQxUdõꦀvÉJ^ÝÜ\/¯ŸiØp«ÎãÏ?µÿv®]K-ÔŽ••nÛÆÆÚõèŠòOiiÙ˜˜bnnXðpllª•h|Åé·¤c*ÈÝ}[¡ãô]|¯\ IDATxæ™ÅŠöì–,YÒ–›7Ó6ì^^Û>ü¸ú‹SÞÊâÜ Q•T¹$|À€(ŠÂ /hשùûûãïïOdd$›6mâÀ 2D­?kÖ,EÁÂB÷†šÞ½{£( mÚ´yhû“'OfÊ”)ÄÄİlÙ2¾ùæ^{í5üýý™3gÑÑÑÌž=›µk×òᇪíøúúê´“_LL ÞÞÞD||<§OŸÆÜÜÖ®][è˜ÔÔTÆŽËŒ3ˆŒŒäÈ‘#$&&Ò½{w>¬Ö7nŸ~ú)Ë—/'!!‹/âááÁ /¼ÀÑ£GKpÆ«¸cÇàÜ9°°€–-aõjmùŽо=lØ ýŸÙÖöÁm  ­“7üýµÈHØ´ €|s–Y³´õ ÌYz÷Ö–˜³…ÚŸ<¦L˜X¶ ¾ù^{MÛçœ9 ³gÃÚµoÎâë«ÛN~11àí ÁÁ¤½éòôimÒìã£m« ÔT;fÌÐŽõÈHL„îÝ!ßœeÜ8øôSX¾\›è_¼¨MÈ_xdÎVHÆÆXYU#33‡´´ìBïÇÇk«QÃcc¬­«ah¨!,lW®¼Xä£àœÅÈÌÌîÞ-ü [BBæã®˜ý–Ö˜v|ÁGqnÊíïÐÔfýúŽüþ»/ŸÞE±cOóßÿ^QÇ s'DeRå’ð‚FŒA‡°°° Gôë×RÛMä­·Þ¢M›6XXX0lØ0š6mÊ®]»˜·nÝ @¿~ýtÊMLLðññ!==={öè¼gjjJûöíuÊš7oNÍš59þ<ÑÑÚ;ý{÷î͉'xûí·9uꔺ%,,Œ®]»+>Q„Aƒ`æLøáí‘„íUå’(0g¹?g)¥9K¹Éý9[¨¼V­â÷yÎR`Îbb¢ýe$= ÌYLMµ-ȯysm<çÏk¯Èƒö ÿ‰ðöÛpêÔ?KPÂÂ@æl…ÐWWsæÎ åÀhÒÒ²¹z5•I“B¸u+ƒ÷ßoAõê&jÝ:u,˜:õWŽ%%%‹¤¤{lØp•+˜>½¹Î¶yGSlm™3ç<ÇŽÅq÷n—/ßaêÔߨQô4‡\ ß²Sixÿýs\º”̽{¹$$dòÅ—QèÐ៫óú:wBTU> ·±ÑÝ‹ÕØØ Ô¶´¶¶Öym``€¡¡!æææ:円†Åê333“äädLMM±²²*ô¾““öÊDLŒîÕ%4šÂ?Ј‹‹à³Ï>cýúõüý÷ßøøø`mmMïÞ½ÕÄ_<9s´Iå‰ڤܠ„ÿü ÌYîÏÙRÛ°ÀœÅÀ µKGò34,^Ÿ™™Ú«Ú¦¦ÚõäÝŸ³˜³88hÿ.^Ðý9Ëý9ËgŸÁúõð÷ßÚ„ÞÚZ›˜ËœÕ»½{£iØp«º_Ó¦?ñî»gíR“mۺѿm>þ8”6m¶óÒK‡¸{7›õë;âçWOmÇÁÁ„~èJÏž5™=ûÞÞ;èÕk{öD±jU{úö­À¹s· õ÷É'ÿ aí¬^}€þý0räIêÔ±`óæ.´haǸq§iß~'³fýΘ1šchøÏ¿Ó§$ýwLúÜ 77+&N ¡M›<÷Ü>މeÞ¼ÖŒã®Ö{œs'„(Lö /&îÝ»W¨<éa7Ô•lllHNN&%%¥P"ž· ÅÙY÷nõäää"ÛËK¾ó’qFðaÃ6lYYY:tˆ%K–ðÒK/±téR&Ož\ÚCª:Ò&£Í›k×:·l©}”íÒ‚ÊyÎbb¢ýÅ!9Y{#gÁDxzÚ0gŽW±ê÷Ü ! “_S‹ÉÅÅ…ÈÈH²˜˜nܸQî±¼ø¢ö‡úŽ;tÊ333Ù¿?fff<÷Üs:復¦rþ¼î¾³üñQQQ´lÙí6Y¶¶¶\ºt ÐîSÞ³gOuÇ—‚ý‰Çpõªv­õ÷ßkwí03ÓÞ8xëVÙõé⢽¡1¿˜ÐÜåþœ¥àÊÌÔ®é63ƒs–ÔTí²“üþøC»¦eKíø@{Sëý9KµjÚµáy;¾ÈœpëVmÚì ;[wýuDDׯ§ê,¿ºäÜ ñd$ /¦^½zÅŠ+HMM%<<œ‰'ªWËÓüùó©_¿>þþþlß¾””._¾Ì«¯¾Jtt4AAAê²”<Œ7ŽÓ§O“––ÆÙ³g:t(ÆÆÆéÔ=z4¡¡¡dffÇ¢E‹P…îÝ»—ç0+ÔTí$Ë–A“&P¯lÙ¢M&Ô^½- ½ziûX±BCx¸ö†F=ÌYæÏ×ÞÈéï¯ÝÊ0%._†W_Õ®í úgYJ íÎ'§OCZœ=«ÝâÑØX[?¿Ñ£!4T›ÔÇÅÁ¢EÚ`eΊbHN¾Ç¬Y¿Nzz6çÏ'2qâY¬¬ª1nœ‡¾Ã«ÐäÜ QrU. ?uê†ü333fÍšh—b,\¸€V­Záëë«7wî\FŒÁ¼yópttäÍ7ßä½÷ÞÃÙÙ™„„4 Ó¦M{`ûgÏžE£Ñ°gÏrrrÐh4,X°€cÇŽ¡Ñh8|ø0iiih4fÏžýÐ18;;Â!C˜0a´k׎´´4öíÛÇÈ‘#X²d †óçÏckkË'Ÿ|ÂôéÓqvv¦sçÎØÙÙqàÀºt颶}øða<<²÷Eîääæ+¦êÕ95þT±Ç°íÏmÌØ=ƒk‰×040Ä£†¯¶z•ç›>_ì6ÇÎKÚ¿2}vl™´/„ÐIÂ…B”¹»Ywùð—™ÔižNž„LJ3}×t†nÊׯ|M»Úí˜ýËlv]ÚÅòËi[»-©™©¬=³–Q[Fñí«ßÒ¾NûGöõ HJCrF2 ú. }¢ïD³òäJ&ÿ<™sQçø ç¥ÚW|Z<‹-fpËÁôõè[ªm !ôOvGBQæR2Sè@×6˜W3§¹Ks–ö_JVNsöÍQë¸v‚FÕѱ~GLL©nQiݦQß¾¾£×Ú4tK|—ÐÔ©)fÕÌhàЀ%¾KhY³%ë]Ïùèó¥ÖWRzÃ7 §}öÌynΣB>=ö)—ã.³zàjŒ Ÿ¨-!DÅ'IxKMM¥Q£Føúúê;”RSÇT•¤f¦Òhf#|—WžÏ¯2Ž©²1«fÆG{?â|ôyÒ³Òù#úÞýù]ªVãýïëÔ}÷û\лĽœ{$ÜMà‹S_ ( êvÐSôZÆþɇ{>äúíëdfgòwÂßlàBÌ^oóz¡5ïãû?¾çÓcŸr>ú<-–¶ á‚†:I7Jq$BˆŠ@–£”1EQÈÍÍ%77Wß¡<KKK¼¼¼8vìX¡÷žÖ1 -EQÈUž¾ÏÏrœ%^µ½86õsò)Se·öôZ\€“¥3|f°èÐ"B£BÉUriáÒ‚o†|£³Oxð«ÁŸ f≺£Ý'¼ž]=æõ™Ç úûâ£Í`mjÍOþÄðMÉI‰ÁÄÈ„&NM|>þMú:æÀ•¼½åm²† 0¯Ï<·üçKîv‡í.Û!*I¢••áááú£TUÆ1U%V¦V„Ï«\Ÿ_eSe0¢ýF´¡SöÍozŒ§“g…Ü’ÏØÐ˜Þî½ÕPŠ£{Ãî\™v¥Xu× \SÒЄO)YŽ"„B!D9«0Iø¥K—0`666˜››Ó®];¶oßN=Ðh4h4FŒøçŠÊ­[·˜0aõêÕÃØØ˜5jðÒK/qîÜ9µÎ¶mÛÔc5 ×®]ÃÏÏ[[[ðõõ-òŠnIÚ cðàÁ888¨ek×®Õ©“‘‘¡ÓOBB“'OÆÍÍ \]]éÑ£_}õééé}úpðà?7/-Y²DíßÕÕ•|||°²²ÂÜÜœnݺqüøñBõÓÒÒ8~ü¸z¬‘‘Q‘ã~ؘSI?—òv)æ>€ÍÌÇšÓî?íØºŸô@3Rƒf¤†_盓)·˜°aõ¦ÕÃx´15&Õॕ/qîf¾yóû6õXÍH ×®á·ÚÛ ¶8ø;à»Ü—ð[EÌÉ´ÆàÕƒqðwPËÖ]«S'#«Àç—šÀäï&ã6à “1&¸¾çJOzðÕ‰¯HÏ*ÆœÌw¼ñhcì&ÚÑ'¨/囓{–¨ý»¾çJȵ|–ú`5Î ó±æt[ÒãWŽªŸ–™Æñ+ÇÕcF9î‡éA1•ôsB!JªB$áW®\¡C‡œ={–-[¶Ç—_~IPP¡¡¡˜˜˜ ( k×® ::ooo¾ûî;V®\Ibb"‡"11‘:pòäI €¢(¼ð‚öŽvüýý‰ŒŒdÓ¦M8p€!C†èÄRÒ¶GÅØ±c¹yó&§NÂÐаPübbbðööfÆ ϯ¿þJ×®]>|8«W¯~è9Ë;>88X=þôéÓ˜››ãã㣞«€€E¡eË–$%%1qâDæÎKLL GŽ!11‘îÝ»søðaúüë_ÿBQE!;;»Èq—$¦’|.åíJÜ:ÌïÀÙkgÙ2z qq|9üK‚öЉ‘ Ê…µoÜŸ“ÉÑxÿÇ›ïÎ~ÇÊ×V’”È¡÷‘˜–H‡ù8~Þ´€²Fá¯ûcßè"G²iÔ&\<À/ Ìɶ=êÿF1¶ëXn.ºÉ©§040,T'¿˜ä¼ÿã͆3z%ˆøÀx~}ÿWººweø—ÃY}øsòþñÁ§ƒÕãOÏ8¹±9>Ÿø°öèý9ù\Ê…–µ[’”žÄÄ™;`.1Kc82å‰i‰t_Ú×ëÔ·0±à_ ÿ…²FAY£½:»Èq—$¦’|.B!Ä“¨IøŒ3HJJ"((ˆž={biiIÓ¦M &--­PýéÓ§sýúu>ùäúöí«Ö߸q#Š¢0~üø"û1b:tÀ‚=zЯ_?BBBˆâ¶§NJ×®]177§}ûödggS½zõŽyúôé\½z•   |}}±²²ÂÉɉY³fÑ»÷£×æ¿lÙ2|}}±¶¶¦qãÆãââ„ ˆÕ9&--•+Wªç mÛ¶|óÍ7Ü»w‰'>²Ï²ˆ Š÷¹”·[gt7‰ !AôlÒKKšÖlJðÈ`Ò2‹˜“?LçzÂu>ü }›÷Uëo|ûþ¼Ùð€9ÙiÜ:`abAÏôkÑk!ħÆ?qÛSûL¥«{WÌÍi_¿=Ù«³©nù9ùÃt®Æ_%è• |[øbej…“µ³úÍ¢w³bÌÉûÇ/{e¾-|±6³¦±Sc‚Gãbã„ ˆ½S`Nf¦±òµ•ê9h[¯-ߌø†{Ù÷˜¸±æd b‚â}.B!Ä“¨IøîÝڻŸ{î9ò5jàááQ¨þ¶mÛ000(´Ež³³3M›6å×_%""¢ÐqÞÞÞ:¯k×® @TTÔ·Ý®]»‡ ±­[·ЧOŸBïíÚµ ÿb߯_?r|||HOOgÏž=:ïYXXàå¥ûEÍ›7§fÍšœ?žèèèÇCiÄÅû\ÊÛî ÷çdÓsÒªÎEÌÉß·a 1À·EycãLÓšMùõú¯DÜ.bNÖ+0vûûcOÊ7'KØv»z9'¿?'›1''î¿Ç#æäýãû5/ðù™àãéCzV:{þ,0'M,ðª]`NÖjNMÛšœ¿yžèä'œ“%ˆ Š÷¹!„OBﻣdff’’’‚©©)–––…Þ·³³+T?99›¶û×_áêêªSV°¾±±öËò¶5{’¶-,,X¿ ¼~LMM±²²*öqÅ=ÞÉÉ Ð.ÉÏÖÖ¶Èö‰ŠŠ"..—ÇŽçIb‚G.å-3;“”ŒL«™biRÄœ´°+T?9ýþ¼™ðyû®væ¤Y±ßÿ‚Ž\%÷‰Û¶0yŒ9y¿Ój¦X™–`N>âx'ëûŸr9iö€9iåHTRqwâp±)áœ,aLðèÏE!„xRzOÂMLL°²²"%%…ÔÔÔB‰x\\\¡ú¶¶¶¤¦¦’žž®Þ0XZ±”UÛû±±±!99™”””ÇNÄu|Þ’gggò„„EA£Ñè”çcGGGµ¬`²Š©"212ÁÊÔŠ”ŒR3S %âqwâ Õ·5·%5#•ôÏÓ12(Å9Y†mìÇÆÌ†äôdR2R;ÔñyK>œm ÌÉ´ÌÉ”ûsÒ:ßœä1çd cB!ÊC…XŽ’·$#oYJž˜˜._¾\¨þK/½Dvv¶Î®y.\H:uÔ WY¶ß‹/¾ÀÎ; ½×ªU+&MšT¬ãwìØ¡Sž™™Éþýû133+´¼'##ƒ²?þøƒ¨¨(Z¶l©sÜÜÜœ{÷ÝÝÝùâ‹/J=¦Š*oIFÞ²”<1É1\Ž-bN¶~‰ìÜl]=ò,ܽ:Së[Â9Y†mç÷b«ûsò"æäÇ­˜´ésòþñ;þ(ðùgg²ÿâ~̪™ZÞ“‘•Aȵs2ò¢’¢hY»¥ÎUpscsîe盓³ÜùâÈ#æd bB!ÊC…HÂçÍ›‡½½=þþþìÝ»—ÔÔT.\¸Àðá˼r:þ|ÜÜÜø÷¿ÿÍ®]»HNN&11‘Õ«WóñdzdÉ’_Å.˶ öS¿~}&MšÄŽ;HII!""‚±cÇýÈ$<ïx¶oßNJJ —/_æÕW_%::š   u Hf̘ÁÉ“'IKKãìÙ³ :ccc‚‚‚tê¶nݚ˗/sóæMNž<ÉßÿM§NJ=¦ŠjÞKó°·°Ç£?{ÿ·—ÔÌT.D^`øW˼r:ÿ¥ù¸Õpãß_ý›]v‘œžLbZ"«¯æãŸ?fÉ %%¾Š]–mì§~õúLÚ4‰¡;HÉH!âvc¿Ktr4“z>bNÞ?Þ£?ÛC·“’‘ÂåØË¼ºæU¢“£ ¤.ÉccfÃŒ­38~’´Ì4Î^;ËеC162&è•s²nk.Ç^æfâMN†Ÿäï[Ó©Ñ#æd bB!ÊC…HÂÝÜÜ8yò$ÞÞÞ 8'''FÅôéÓ©_¿>†††:õ9sæ  `ܸqê œ?üð?þø#ƒk¿ øÔ©Sh4~üñGÌÌ̘5k ]n±páB@{å9ïFÌ'i»àŸÔóöÃÎ_gèС€vYFHH~~~Œ?ÚµkÇíÛ·9zô(uêÔyè9Ë;~È!L˜0A=>--}ûö1räÈBÇXZZ²|ùr>úè#\\\èܹ3vvv8p€.]ºèÔ]¶l-Z´ÀÓÓ???‚‚‚ðôô,Ö˜SI>—òæVÓÓOâ]ß›«â4Ù‰Qÿ7Šé}¦S¿z} ÌI+GÎÌ<ïŒ GI5ðx߃~ÿÇýÈà¶÷çÍß§ÐŒÔðã¹ûckƬm÷Ç>RÃÂÝ÷Çþq+|—û>qÛš‘æäýý°ó׺öþçgãLÈÌü¼ý¿a<þ´ûO;n§ÝæèԣԱĜ¼üvC˜°a‚z|Zfû&ïcd§"椉%ˇ,磟?Â%À…΋:cgnÇwÐ¥q9é·Œ®-ðüÀ¿/ü„§‹g±Æô¨˜Jò¹!„OB£(ŠòD h4lÚ´IMNK›‡‡ééé\¿~½LÚ¯*¼¼¼ˆ/rg—ÊL£ÑàïïO```©µéñ¾é÷Ò¹¾Pæä“ðúØ‹ø”x"Wî99hÐ 6oÞ\êm?ΗZ¯½â¿|yá-…"¿’ü¼pss+«p*«ÍâJxLL ööödeeé”_»vððpºwï®§ÈDU“ƒýD{²r ÌÉ„k„Ç…ÓÝCæ¤B!JNﻣä¹}û6£Fâ£>ÂÁÁ .0~üx¬­­yÿý÷õž¨‚n߽ͨÿÅGÏ„ƒ¥"/0~Ãx¬Í¬yßW椲öôZ\€“¥ÇǾ¹¸´ìÛÍgÇ?ãjâU2²3ØùÖNìÌìXpp'¯Ÿ$.U»ë›Ê IDATÎ M_`iÿ¥e‹x:\Œ»ÈÒÃKù5âWrrsðªåÅÄŽiãÚF/m ?ÄÜ}s¹™|“°)aOƒ¨ø*Ä•pgggöíÛGRR’ºNùù矧Q£Fœ9s† è;ħ֒%KÐh4œ?žÈÈH4ºþZ<˜³3û&ï#én’vòD;ž_ñ<qfæÔ9YRKö,A3RÃù›ç‰LŠD3R£®¿•ˈö#¸2í žNžeÚÏï‘¿3~Ûx:ÖïÈ™‰g80úÎVÚ¨'ý<‰S×Oñ¥ß—œŸ|ž‘í ß› ªžóÑç´~Æì¹‡ÃcSÛ¦6¯~û*Ç®+×¶o$Ýàí-o³äðâïÊ·òV%æJ¸>>>ú£Ò  @ßa<•|<}ðñ”9YÚž à9™“¢ô츸EQxÓûMÌ«™SǶÇÞ9ÆíôÛœº~Š¡­‡â^À)]§ ðD·BUHÍ—6§‰S6 ÝT¢÷«’\%—i;¦amjÍÂ~ 152àãç>&$"„黦³Ô~õKºÊºíÀ#´®ÕšÏ_þœÎŸu&=+½t**¼ q%\!„(©è”hlMu¿5ú޶ÜÎüŸo¹Õh4h俾ª,äfÅÿEo÷Þj’ `h`ˆ¯§/Ñw¢9på@¹µ=¿ï|Fw¡Æ°`s¢’“ŸDB!žj9¹9-Üo[•ÛÉë'hîÒ¼Ð{Í›ëÔ)¶ó'ë¢j©0ËQ„BTná áÌ?0Ÿ³gÉÎɦeÍ–LîåÓcŸðí«ßÒ¾N{ï&²âø ö_ÙOlJ,V&Vx×öf|Çñx:zÙþ/#!ðh '¯Ÿ$)= €‰!Ø™Ùî4Ÿ‚7¨~þòç,>´˜óQçÉUr €%‡Ý—vóÝùï»FJf uíê2¸å`^oóºz5?Û¿FüJà í•×°)a|?Oiy}æ1c× µÎ¡1‡XtpG¯ÅÐÀVµZñ~÷©cûðïÈã¾Èý¿dTÝ¢:§ÆŸzd½ðíÖžy÷ äçl­-»šx¿oüø5âWõý¼›z_ßø:'®PËóÿ kSëÇj[¹.„¢ÌÝͺˇ¿|Șc81î^Û@rF2C7 åÌÍ3¼óì;\™v³jf:ÇvnЙ+Ó®Ð̹™NyÏÆ=¹2í =õàÏ€?ùkê_\žz™°)a|ÿÆ÷Œû×8¦†65ŒvµÛ—Ç‹_¿ÈÎK;ù¨×Gü6é7‚_ &)=‰ëò{äïE¶?k÷,†¶ÊѱGùþï }i׃ä¿AõNææì›ÃäΓ9=át‘çàpøa&þ8‘u;°gä޽sŒW¼^aÞþy,:´¨PÛfÕÌhãÚ†+Ó®peÚ5Á~Ôû@©ž‚uæî›Ëpïáœw‚ ‚8yí$þ?ú뼄M Sc~Ô£8 8@JfÊÿ³wçqQWûãÇ_Ã6 ;"›¡©ˆŠ’¢™& ˜{b×%Ë[·Ò,¯"ß—[–×íâBšeÙ¯Í4Ó,o®k)*Znå²3¿?¸Œ€,3(ïçãÁ£ÇœÏùœÏûœ!|Ï™ó9¬,¬Ê³2/-ËÊÍ`ÃØ üôÊO¨ÌUx»z3oÀ<ÖŒ\ƒ»ˇ-'nFv–v5n[IÂ…BÔ9u¾š0ÿ0ºxtÁÊÜŠŽîY2t …Å…¼ý¾Þ®S¶æÛÔÄ“ÿýg¢0ÁTaŠ©Â…BAÄþ²˜0“>ž}°2·Â«±‘Ã"Ñh4Ìš[aÛzL {³î¨ÌUø¸ûpþíóU΂ß+·0—÷ú¿‡ïc¾¨ÌU÷‡îͺóF7°·´ÇQåÈK]^bh»¡|ûÙùÙµ  ÔåxŒò¥íkÏæ=éãÙ‡SI§¸•{KoñëSÙM»}¶·«7‹/ælÊY¶†¡Ñh˜½s6O5Š!ÞÕ‚nEm‹†M’p!„uNi¦ÄÇÝG§¬s\l\8›rV»‡·!D]ˆÂDaB@+݇n9Û8ãÕØ‹3ÉgHV'—;ïÞøkCe®Ò.ï(SÑ8´ à›¾)w¾·‹7E%E\L»øÀ±”©ËñèäÞIçµ»;)jã=¹ÕVi À‚;厕íLR6³]f`ÛL|j"»ÎïbôÚÑdæf2µ÷T½´-.½¬ =z4£GÖGSBèÝòåËY¾|¹±Ã ˜‡‡‡±C0:K‡ g¬œHÍN%='—:£ ¸@»d ó²Î•Ö»’q¥ÜºÞ{—ÉÔ†²âìÞqPç«ùìègü|ág’ÕÉÜλ­S__ÛØÕõx”%¥eʶæ«î6‘u±&ÜÓ©ôñê}°H¾]ZÖ¢Q‹rǦ>=•ƒ—ò[ÂoügÈ*Üe§¶m‹†I/Iø Aƒhݺµ>šB¯–/_NûöíéׯŸ±C Ô¶mÛ$ çîZÙ{¥ßIÀÉÚI[f¢0¡°¸°\Ý{ÑÚ°0µÀÎÒŽœüþ|ûOƒo —™—‰F£)÷äÞqx}ÓëÄ^eNІ¶Š£Ê…BÁ籟óïÝÿ.—ÄVµLeÇ=U©‹'G>ÙìIV\É™ä3 ï0\çØ™ä3ôx¼G¹óŽ\;BvA6mœÛð¯]ÿ¢­sÛr¢ªmÛ¢aÒKþòË/3jÔ(}4%„^-_¾œ~ýú±lÙ2c‡"¨7n;„záNáΦœÕIZÎßåVî-òŠò8|õ0ë~_Wa»íÝÚs9ã2I·“ø=áw®Ýº†_S¿j7æxƒ‰Â„…ƒ’•—ÅômÓ¹™}“ÌÜLÞz—+W˜?p¾6y†Òo|ÿsúÍ¡UãVxØ{ðás’¢NáŸ?ü“¢’¢Z·-6…F£y ç÷* 6lØ 3á¢^R(„††ÊL¸0š‘#G°qãF½·_íº“'»°b…ánˆ«hìÅûs*ñ%š:¹wâ-ÿ·tödžҥ+ ö,`_ü>nçݦƒ[fÎbή9Ú¯ô'<9ÎM:ëì[]fÓK›ßÎ¥ŒK—kwL ò âÃᙛɪC«ˆºEÒí$ì,íhçÚŽñÝÇÓ³yON$ž`ÄW#ʵ7#®Vã1ôó¡dädðÕ˜¯˜=ß~£¸¤¸Âq¸•{‹¥–²/~7³oâ rÀ¿¥?Î6Î|ó1Ü:ðã?~àRú%fíœÅ™ä38¨x£Ç¼èû¢¶½ªŽëk<*ª3ñ©‰Lë=M»Gy™¾­úòéˆOk5–úðgÊŸ,Ù¿„ã Ç)))ݯ=ôéP÷áÝŸßeíokµ¯·¿¶ggü"ýtÚšÚ{*ÿ|êŸ5j»Ìž¸=¼¾éõ cœ?p>£| Ÿ_Õæï…§§g]…ó¨Ú(I¸x¤I.Œ­!'áBWY~pÒAc‡"Ä}Ine9ŠB!„&I¸B!„¦—ÝQ„Bˆ†èÞuÎQ™«töõnµ°•v´¢á2xž¯¯/mÚ´aëÖ­†¾¼Þ=jý©­‡u²³ ñõý’6m±uësÆç=jý©-a(µ½IS! ¾E£ÑPRRBII‰¡/]'µþÜ ½zõªðØÃ:¥q—þ< µþÜM$½z­¯ðXC!„'ƒÏ„ÛÚÚÖèŽþúîQëOm=¬ã`kkA|üxc‡¡7ZjKÆA!D}'7f !„Ba`MÂüñG …ö'//Oçxzz:Ó¦MÃÓÓ 8p {÷î-×ÖÍ›7 ¡yóæXXXàììÌsÏ=lj'*½Þ•+W=z48991dÈ goÏ;Gpp0öööXYYÑ­[7¶nÝJPP¶­qãÆUÚŸÚ^·:}ªJuÆ0""B›‡‡±±±bkk‹••}ûöåàÁƒåêçääpðàAí¹fffz{_k;fâÇãP("´?yyE:ÇÓÓs™6m/žžŸba±GÇ ø={÷^+×ÖÍ›w ÙCóæŸ`a±gçyî¹-œ8‘Zéõ®\ÉbôèŸppX“ÓJ† ÙL||f¹¶ÏË 8øGìí?ÀÊj9ݺ­eëÖx‚‚¾Ó¶5nÜ®JûSÛëV§OU©ÎFDÄjcóðø˜ØØd¿ÃÖ6+«åôí»ƒÊÕÏÉ)äàÁí¹ffKôö¾ÖvÌ„Bˆê2hŒF£aذaåŽ%''ãççǺu눌Œ$--#GŽ`eeE`` kÖ¬ÑÖMJJÂÏÏï¾ûŽU«V‘‘‘Á¾}ûÈÈÈ GÄÄÄTx½ÐÐPBCCIHH`Æ ìÙ³‡1cÆèÄG=8vì›6m"55•Ï?ÿœÈÈHN:…R©D£Ñ°fÍšJûS›ëV·O÷SÝ1 C£ÑàããCff&S¦LaÞ¼y$''sàÀ222`ÿþý:õ­­­éÙ³'FCQQ‘ÞÞ×ڌك n…Fưaåw7HNÎÁÏo-ëÖ%22€´´I92++3¿cÍšÓÚºII¥u¿ûî«V‘‘1™}ûF“‘‘G눉I¬ðz¡¡{ íBBÂlØ0”={®1fŒîM­qq™ôèñ ÇŽ%³iÓ0RSÿÉçŸ 2ò7NJC©4E£ cÍšþ•ö§6×­nŸî§ºcæ‡F†3™™ùL™²‡yóz‘œ<‘ž'##€€ïØ¿ÿºN}kkszö| & &Œ¢¢·ôö¾ÖfÌ„Bˆš¨7ËQÂÃù|ù2Ë—/gÈ!ØÙÙѺukÖ­[‡»»;!!!¤¤¤hë^½z•¥K—2hÐ lllhß¾=ß~û-†É“'WxqãÆÑ£G¬­­ bðàÁÄÆÆ’––¦­3sæL233‰ŒŒ¤_¿~Ú¶×­[GNNN­úVëÖ¶OµÃ2999¬ZµJ_×®]Y»v-L™2¥Vý}Иª;fu)<ü._Îbùò† ñÄÎ΂֭Y·nîî6„„ì&%åÎÿêàêÕÛ,]Ú—AƒZbccNûöùöÛ!ÿ{ïvWxqã:Ò£G¬­Í zœÁƒ[›LZÚÝ­ÌfÎü…ÌÌ|"#è×ïqmÛëÖ &'§°V}«ÎukÛ§ÚŽa™œœBV­ ÒÆ×µ«kצ  ˜)SöÔª¿SuÇL!„¨‰z“„ÿðà ýUMưŒµµ5;wÖ)ëØ±#Mš4áäÉ“$%%U£‡ú ª7fué‡.0xpKr¥Ò”ÀÀfäæ±k×e t邉‰‚!CtÙëæfMûö9~<…7Ôå®áçç®óºiS[³µe;w–^£ÿ:u­hÛ¶QmºV­ëÖ¶OU“1,cmmNçÎ.:e;6¦INž¼IRRí>?HLP½1B!j¢^<¬'??Ÿ¬¬,,--±µµ-wÜÕÕ(]ÚPVÀÞÞ¾Ò6/^¼ˆ‡‡‡NÙ½õ-,,´Ûêåçç£V«±´´ÄÆÆ¦\›ŽŽŽ5èUÍ®[Û>•©Éþ•ƒƒC…í¹¸¸˜˜Hjj*îîîÖ©Jmc‚ªÇ¬.åç“••¥¥¶¶去ºZ¥KÊêØÛPi›/ÞÂÃCw ìíuÛ¶°0Ðn«—Ÿ_ŒZ]€¥¥66æåÚttTÖ W5»nmûT¦&cøW÷ÉÅÅŠÄÄlRSïàîn]iL÷SÛ˜ ê1B!jª^$áJ¥{{{²²²P«Õå¶²å nnn(•JÈÎÎ&77W{s ¾â°µµE­V“].OM­þ i5½îƒö©&cøWéééh4 …NyY_]\îÎJÞ[§®b26¥Ò{{%YYù¨Õå¶””Ò$ÍÍÍ¥Ò%ÙÙ…äæ†bf¦¿/—”JSlm-P« ÈÎ.,—ˆ§¦–_6¡¯ë>hŸj2†•žž‡F÷þª•õÕÅÅJ[VÃ_ÇZÇ$ô#>=žÈ_"9zý(·roQ\R €­Ò–ß§þÀš#kX¸w!®6®œt°Òö„a»qŒç×>Ï7/|C÷fÝËßzv+¡[B°0µàÏÿû³^ÅW]•õC~'E]ª7ËQ†À¶mÛtÊóóóÙ½{7*•J»Dä¹çž£¨¨Hg2‹-¢Y³fÚ›kjàÀÀÝe)e’““¹páB­Ú¬}ô©&cX&//ØØX²Ó§O“˜˜ˆÎ,¸••Ú×mÚ´á“O>Ñ{LõÁðá^lÛvI§úT“1,“—WDl¬î¨Ó§ÓHLÌÆÇÇYgÜÊÊœ‚‚bíë6m>ã“ONé=&ñàndÝ`ÄW#ˆOgÕs«81õ'§dEð Lwÿ×}q3âðvõ6b´â¯v_܃ʮM»Vx|ˆ÷âfÄñTó§ Y©ªâ«®Êú!¿“¢.Õ›$|Á‚´hÑ‚ÐÐP¶nÝŠZ­æÂ… ¼ð $%%©]¾°`Á<==yõÕWÙ±cYYYddd°zõjÞ{ï="""j=C>þ|5jDhh(QQQdggsæÌ^yå•:±ÕGŸj2†eìíí™9s&111äääpìØ1ÆŽ‹……‘‘‘:uŸxâ .\¸Àõë׉‰‰áÒ¥K<ýôÓz©>X°àiZ´°'4t[·Æ£VpáÂ-^xa+IIÙDFàêj¥­ëééÀ«¯îdÇŽËdeå“‘‘ÇêÕ'yï½""úÔz†|þü§iÔÈ’ÐÐ=DE]%;»3gÒxå•u:c«>Õd ËØÛ+™9óbbÉÉ)䨱dƎ݆……)‘‘:uŸx• nqýºš˜˜D.]Êâé§Ó{LâÁ}{â[ÔùjÞ}æ]žxì Tæ*¬-¬Øv ÇC;á[¶l@¥R1vìX tIBll,cÆŒ!$$'''ºuëFNNÑÑÑŒ÷éw...=z”àà`&Mš¤½iróæÍlÙ²…Q£Fpøðár×›={6Pº´bÑ¢Eøúújoˆôôô$&&???FŒ««+&L <<œ-Z`jz÷ôÊúS›ëV·O÷S“1,cccÊ+˜;w.îîîôîÝGGGöìÙƒ¿¿¿NÝåË—Ó©S'¼½½=z4‘‘‘x{{ëå}­Í˜=¨²½ ·l‰ûß5—3vì¶ÿÅmMlìXÆŒñ&$dNN+éÖm-99…DGbüøNÚv\\¬8zt,ÁÁ^Lš³ó‡´mûÿؼù"[¶3jT›ÿõ1©ÜõfÏþõ}Œ`Ñ¢£ÿëãW ²OObb^ÄÏÏ#¶à꺊 ~&<¼;-ZØcjz÷áÊúS›ëV·O÷S“1,cccΊÌ{w÷èÝû[-Ù³gþþMuê._Þ—NœñöþŒý‘‘x{;éå}­Í˜‰Ê]ɸ@[—ÚÝÜ.Œ#>=žË— ò 2v(ªïñ Q…F£y ;‹ 6l¨V’ø°kÛ¶-¹¹¹\½zÕØ¡èEçÎIKK«rו‡™B¡ 44”eË–;½kÛöÿ‘›[ÄÕ«¯;½èÜùKÒÒr¹qã c‡¢W#GŽ`ãÆzo»&°š<¹ô§+Êo Z×Þøþ ¢/FóGØ(ͪ¾¡xèçCÉÈÉõ·F¶úðj"‰äXè1¬Ìïÿ ÑK߾ıëÇ º&¼&ñUWeýhh¿“µù{áééYu%ñWëÅ™õIrr2íÚµ#%%só»7Â]¹r…øøxí ¯†œœC»vŸ“’2só»³ÞW®dŸÉرíŒ÷u!Š77¿©}Ý>¢}…õžëø‹/®²½Œ;¬<¸’Ýq»IQ§`«´Å¯©“{MÆÛÅ»Âkî{s‹÷.æ—Ë¿`jbŠïc¾Ì šC3‡fÚ:ÅšbvžÛÉw'¿ãüÍó¨óÕ<îø8£|FñR——´ëÖïm{ÿ›ûY´wûâ÷aafKþÕï_¨óÕ¼õ‡¯ÆZiM_Ï¾Ì œ…µ…î²êô§*m·ÑÞäZ•ÆÖ9<ùpµêBézë÷ÐIpãÓãùϾÿpøÚaŠKŠiïÚž°>a•¶QUoçÝæ‰åOèœ3µ÷TþùÔ?)ÖÓfÑÝoÝ´ÀÊá++¯ ¸€U‡V±ýÜv³Qš)éâÑ…ÑGÓ§eLMî~“]Ó~üõ¼{pìÆ1ŠŠ‹ðiâôÞÓèâÑ¥Ês…¸—$á¸uë&L`îܹ899qæÌ&OžŒsæÌ1vx¢¹u+ ~fîÜž89YræL“'ïÁÎ΂9sz;Ζ3[˜³kÖÖÌ œUãþTåüÛç«ûvÔHútN$ž`î3sµeWo]eä×#Q™©X¼’'<žàzæuìYÀµ[×ʵQÝ>ÆÍˆãÕï^å×Ë¿=!ZûÉTaJÜŒ8F~=’—º¼ÄÐvCïß»?¿ËŽs;X¼‚®M»’ŸÍš£k˜°i‚Îî)5íG™;…wxççw˜úôT¼]½‰O‹'|G8c×åË翤[Ón<î¢a©77fÖnnnDGG“™™©]ýì³ÏâååÅÑ£GiÙ²eÕÔs( NžÐMSSTæ*r… %š»ûê?HîUkÂs s9t埚¨sNAJ3e…7A:Y;é$¯µéãkÝ^ã­ŸÞbíok™Ôs—3.{=–%C—TÀ»ýÞÅ·‰/›Ïlæïëÿ@W®ŒñÃ3­Ÿ©U?þÊÁҡ‡Ö9Y9‘šJzNº$á¢F$ BQ¯Y˜Z`giGN~¾ý§Þ÷„~}ÓëÄ^eNІ¶Š£Ê…BÁ籟óïÝÿÖIØõAŸý©‹5á¯$¯(Ogë? S ¬-¬É)ÈáNár lfn¦ÎëÚôqH»!Dìàëã_óú“¯óÙÑÏÝyt¹Z+ŠA½¶õ IDATJwà îLp‡`ŠJŠ8|õ0kŽ®aâæ‰Ì œÉ«~¯Ö¸Uö¡â^éwÒÒ^ˆš5áB!ê½þmúS¬)æøò÷Y}x5O¯zšbMõf„ÿª¸¤´Mgg^îú2¬ig;ó‹ò8îÊÔUô!úb4MšÒÚ¹µN¹ËÒgG”-ç(s+÷V…³Ç5í£©Â”týéwÒùìègl=»•—»¾\íø|—ùŸ^ºm§™‰½Zôâã¿}ŒB¡`oÜÞZ÷£ÌÂ;œMÑ]VtþæyR³Sñvõ–YpQc’„ !„¨÷ÂüÃhæÐŒéÛ¦³ÿÒ~Ôùj2s3YÿûzV\Ix@x­f”MMLéÞ¬;7³oòé‘O¹•{‹¼¢<_=̺ß×ÕAOJÕUT‰¦„=q{*|NXŸ0T¼õ>¿^þ•;…wˆK‹cÚ§U¸´£6}|¾óóØ*mYz`)ý¼úáj£ûDåûÅ0gçÎ¥ž£ ¸€ô;é|rø4 =¿»“TMûQFe®bnÔ\N&$·0—ÓI§yë§·075gNìœ&jNÖ#iòÃzÄá!?¬çÞ}µ†µÆ’¡KxeÃ+ürùcA^AD_ŒÖ)›øÔD¦õž”.XuhQ£Hº„¥í\Û1¾ûxz6ï À‰ÄŒøjD…m´ZØJ§¼o«¾|:¢4ñ^z`)ûâ÷q3û&*ü[úãlãÌÇ1ÐÁ­ï>ón…m÷óêÇð/‡ë”‡ù‡ÑµiWž_û¼NyH¯Bz…T»?†vüÆqF¯­³¥ß_]θÌâ}‹‰¹CQq­[3¹çd>?ö9‡®JwY0hP»>.Ú»ˆO|ÊÖW·–{Êêýâ;›r–u'ÖqôÚQo—îÞܱ9£|F1²ÓHõÜÕ퇧“' ÷.ÀÕÆ•þö‹÷-æTâ)J4%trïÄ[þo=rû„ËÃz b£$áâ‘&I¸0¶†œ„‹‡Ï¢½‹Øxj#GBŽe&¾*õ=¾G…$ᡟ'f¾ù曼õÖ[úhJ½ûä“OØ´i“±Ã Tzz:^^^ÆCˆj‰¾Kÿz›àÖ÷ø„¨ ÙE<òîÜéÄ;ÆC4XÕL¸ÆvïžÚõM}OˆšÐKþÑGÉrQ/•®œ Èï§0–‘´n]u-!„ ‹ìŽ"„B!„I.„B!„I.„B!„I.„B!„I.„B!„I.„B!„I^EDD P(P(xxÈ>×B!„ IÂëPaa!:u¢W¯^µ:?,, Fƒž#B!„Æ$O̬c%%%”””; !„•Xsd ÷.ÀÕÆ•ƒ“9¢†'+/‹mg·±ýÜvΦœ%¯(7[7|šø0¾Ûx¼]½+<ïlêY–ì_ÂñÇ).)¦óc™Òk ]<º¸BԜ̄×!sssΜ9áC‡ŒŠBˆJŒë>ޏq•&zõÅÂ;®dü¦ñÆEïîYÈÜŸçäÄÎq;96å -äÏ”? þ2˜¨ åW2é$#¿‰µ…5»ÆïbÿÄý4µoÊ ß¼À¯—5B/„¨IÂ…Bˆ‡€F£¡Dóè~»:Òg$ÿèúœmœQ™«ðkêDz¡Ë(.)fÑÞE:uK4%ÌØ6;K; ^„‹ Ž*GÞëÿ7zœðá©'BT$áudëÖ­Ú›* yyy:ÇÓÓÓ™6mžžžXXXàèèÈÀÙ»wo¥mž;wŽÁƒcoo••}ûöåàAùÚT!k kö¾±—ÏF}fìPônÁ Ì0¯\¹·«7–f–\˼†F£Ñ–Ç^åbÚE´€¥™¥¶ÜÔÄ”!ÞCHºÄž¸=‰]ˆÚ’$¼Ž 2FðaÃÊKNNÆÏÏuëÖIZZGŽÁÊÊŠÀÀ@Ö¬YSîœììl&NœÈÌ™3IHHàÀdddÀþýû Ñ%!„ r sÉ+Ê£µsk …¶<æj Ý;–;§£[G:BÔWrc¦„‡‡sùòeÖ¯_Ï!C°³³cݺu´lÙ’†Š«««öœ¬¬,æÏŸÏ“O> @×®]Y»v-:ubÊ”)œ8qÂ(}BˆÊD]ˆâÍÍoj_ï{s‹÷.æ—Ë¿`jbŠïc¾Ì šC3‡f|xèC–X@.l»€—ðêw¯à ràØ”c¶¿ÿÍý,Ú»ˆ}ñû°0³À¿¥?ÿê÷/ÔùjÞ‹zÃWc­´¦¯g_fÎÂÚº¸ãÓãY°gÇn£¨¸Ÿ&>Lë=­ÜÍ~w2Xyp%»ãv“¢NÁVi‹_S?&÷šŒ·‹w…1þ<þg–ý²Œ˜«1dæf;%G•cÆò°?Pš)µ¯3s3ùðЇD_Œ&évVVtnÒ™×»¿Î“?©­WP\ÀªC«Ø~n;‰Y‰(Í”tñèÂèΣéÓ²¦&¦÷ Íâ6—WY ±ucO>\­ºÙ~n;Ÿš¨SŸ€›­[¹sÜìJË.g\®õu…0™ 7‚~ø€Áƒë”+•JÉÍÍe×®]:Ç,--éÞ½»NYÇŽiÒ¤ 'Ož$))©nƒBˆê׺q3âò `^ô<^ñ{…C“9,’˜+1„n ÕÖÿçSÿ$nF*s•N;½[ö&nFÜ:Ü·ýù{æóú“¯s$ä³g³å-Lûï4æEÏcjï©9LHϾ;ùËY^aÌw ïðÎÏïðf794éë_\OV^c×åèõ£Úz©Ù© ÿr8ÛÏmgî3sùmêo¬{q™¹™Œøj¿'ü^aŒ³wÎfìcùeâ/|ÿò÷ÕJz+jç¯nfß$ø‹`~úó'æÍáØ”c|ÿÒ÷¨ÌUüýÛ¿óÝÉï´ußýù]¾<ö%ÿ úÇB±kü.Z:µd¦ »q¬Z±œûYYYXZZbkk[îxÙìwrr²N¹“““ÎWqe\\\HMM­ƒh…BFùŒÂ÷1_Tæ*z6ïIÏ>œJ:Å­Ü[zid§‘tpë€Ê\Ep‡`¼{±ÿÒ~^ëöÞ.ÞX™[1Æw öì¿Tñ2>u¾š0ÿ0ºxtÁÊÜŠŽîY2t …Å…¼ý¾¶^Äþ²˜0“>ž}°2·Â«±‘Ã"Ñh4Ìš[aûzL {³î¨ÌUø¸ûpþíóU΂W%b7²n0;h6­°QÚТQ –=» gkgÞ‹z´œ4]9„Wc/zµè…¥™%­3£ï Z4jñ@1è[fn&¯lx…îͺó~ÿ÷«>á/4”®¯èßL!êI L©TbooO^^jµºÜñ””ÜÜt¿bËʪø}Yò]–Œ !D}Õɽ“Îkw;wRÔ)ziÿÞõÁ®¶¥“÷Π»ÙºUzM¥™wݤµqnƒ‹ gSÎ’š]ú77êB& ZèÔu¶qÆ«±g’ϬÖLʵ­?_ø€¾ž}uÊ-L-xªùSäåñËå_ð÷ô緄ߘµc'Oh—•D½E÷fºß¶Kna.ÿØð¼œ½X:ti…ߨ*K'±îÜ©ð|;K»º Tˆ$kÂ`øðá|ñÅlÛ¶çŸ^[žŸŸÏîÝ»Q©Tôïß_çœììlNž<©óôÌÓ§O“˜˜ˆîîî‹_!j£,q*cajܹ|P66:¯(051-·¼ÅDaB‰¦âmþ,*œAu²r"5;•ôœtTÚå—u®4ž+WÊ­Y¾7–UP\€:_ÒLYá÷ÆÖÒ%+ïö{ß&¾l>³™¿¯ÿ;]=º2Æw Ï´~¦Z׬Ë5áÅšb&ý0 WWþ3ä?˜**^®ãéä PáäÛ¥eõmv_ˆ{In ,`ÿþý„††bccƒ¿¿?III„‡‡“””ÄêÕ«unʰ¶¶fÒ¤IDDDСCΞ=Ëk¯½†……‘‘‘Fê‰B蟉„ÂâÂrå·ón×ùµË’ë{¥ßIÀÉÚ S ì,íÈÉÏáÏ·ÿ¬4Q4 S l•¶¨óÕää”KÄË–¡8Û8¥K4‚;Ü!˜¢’"_=Ìš£k˜¸y"3gòªß«U^óüÛçõß‘ÿ™½s6Å|ô·tÆ5àã–>»”ÎMJ?ô<ÙìIV\É™ä3 ï0\§3Égèñx:‹S}å(FàææFll,cÆŒ!$$'''ºuëFNNÑÑÑŒ_ú4´ˆˆ 'OžÄÁÁ¥K—Ž››½{÷ÆÑÑ‘={öàïïoä !„þ¸Ø¸”›á¼™}“ÄÛ‰u~í;…w8›rV§ìüÍó¤f§âíê‹MéÒ¿þmúS¬)æøãåÚX}x5O¯zšbMõf‹TÙ öÞxÝçLpèÊ!,Í,yºÅÓø.óÕî,bfbF¯½øøo£P(ØWùs* áƒ_?àBêVX­ý–¤2Ýšu£UãVì8·ƒü¢|myqI1[ÏnÅÝνÜò!ê™ ¯cÅÅŘ˜˜`f¦;ÔNNN,[¶ŒeË–UznXXaaa:e{öÈĶ^-zñõñ¯ùúø×ü­ÓßHËI#b_NVNäçWÝÀP™«˜5—ðÀpZ7nM\Zá;Â175gNÐm½0ÿ0Ž\=ÂômÓy÷™wyâ±'(.)fǹ¬<¸’Eƒl†<Ì?Œ#׎0/zVæVtoÖÔìT"öGp3ç&óÌÓ.K˜³sÿê÷/Z:µD¯æ›ß¾A£ÑuæøûÓßóÁ¯ÐiI§*j—~[²pÐB^\÷"Ó·MgVà,ÌMÍYr` W2®°fÔ-…¨š¿>‚ª6 (lذQ£Fé+¦‡Z‡غu+Í›7à‰'žàÖ­[\¾,û•CéÚÎ €ü~ cɈ°qãF½·_íº“'—.q[±B?7AVljÄŒøj„NÙħ&2­÷4Z-l¥SÞ·U_>ñ)Pº$dÁžì‹ßÇí¼ÛtpëÀ¬ÀYÌÙ5G»Ô`“è׺_…í÷óêÇð/u—(„ù‡ÑµiWž_û¼NyH¯¬Ì­X¸w!®6®|ô·X¼o1§OQ¢)¡“{'Þò«Ü>ᙹ™¬:´Š¨‹Q$ÝNÂÎÒŽv®íß}<=›÷¬t âfÄUk ËÜ»O8À°öÃX2t‰6–}HÔ…(’ÕɨÌU¥û„?ùºNr}6å,ëN¬ãèµ£$Þ.Ý'¼¹csFùŒbd§‘FÛQdü¦ñUÎÄozi“v9J™?SþdÉþ%O8NII >M|}:´Ü{%j¦6/<==ë*œGÕFIÂõ¬C‡øûû³hÑ"öìÙCpp0 ,`úô鯭A’$\_ÃMÂ…'I b£,GѳÏ>ûŒéÓ§ãî›óçÏ/·¤D!„B4l’„ëY÷îÝÙ·oŸ±ÃB!„õ˜$áB!„Ý»>¾"!½Béb€h„†"I¸BaD5½ISñh}Â…B!„00IÂ…B!„00IÂ…B!„00½¬ ÿòË/‰‰‰ÑGSBÔÕ€ü~ c9Izº‡±ƒBQÏè% ß¾};Û·o×GSBÔ=ÿûÂ8.^Ì5vB!ê½$áòÄLQ_) >øà dìPD5iÒ$lllŒ†BˆzFÖ„ !„Ba`’„ !„Ba`’„ !„Ba`’„ !„õÌÂ;®dü¦ñÆEQG$ B!êFC‰¦„’’’rÇ:.éÈèµ£•BŸô²;ŠB!ôÇÚš½oì5vBˆ:$3áB!„B˜Ì„סììl|}}iÓ¦ [·n5v8BaPQ¢xsó›Ú×?ÿ™e¿,#æj ™¹™tñèÂñǵuºxtaÃØ ºrˆ—¾}‰OF|B@«æEÏã‹c_h럟~S…i¥1´Y܆â’âjÅÛØº1‡'¾o7¾ƒè‹ÑµŽwåð•Lúa’öuEc2à|f­óGØ(Í”¬9²†…{püÆqZ-l€©‰)çß>¯­Ÿq'ƒ•W²;n7)êl•¶ø5õcr¯Éx»xWk,„uO’ðdccCçÎùõ×_ËÓh4””T¼¦O!uýZ÷#nFœ6q½s6SžžÂâÁ‹¹vQ_âã¿}ÌösÛyg×;,º”gÛ?«=Ë[´ÿ-Kjgͦ{³î|ýÛ×|õüWUÆð×äT>þÛÇ|óû7oUcÒ¯u?FùŒ*—ðë>ŽqÝÇÑqIGÚ¹¶Ó&ÿ•šÊȯG’_”ÏÂA éÖ¬ Y ¼³ëF|5‚µcÖâû˜¯^ÇDQ;²¥ÙÚÚÏöíÛŠBÝ„èÞ¬;*s>î>œû<Ž*G·Œ¹©9?þñ£¶n^QÑ£yÜñqv_ÜMNAŽöØg~`x‡áÆè€^ã­lLj+b Y Ì ˜IÏ>X™[áÕØ‹Èa‘h4æFÍ­uÛBý’$\!„Aø¸ûTXî r g^9ÈÍì›D_ŒÆ§‰cŸK^Q»Îï 37“#׎пMƒÅ]—ñV6&µu! …‰v&¾Œ³3^½8“|†du²^¯)„¨ƒ$á7oÞ$$$„æÍ›caa³³3Ï=÷'NœÐÖéÕ« …Bû3vìX‚‚‚tÊ333kÔn™ôôt¦M›†§§'J¥‚‚‚øâ‹/ÈÍÍeÞ¼yÚkôêÕK{ÞÎ;µå7Ö–GDD P(ÈÉÉáàÁƒÚ:ff¥+|~üñG¸óòò*ÇÂÂGGGÈÞ½w·+W®0zôhprrbÈ!ÄÇÇWû}8wîÁÁÁØÛÛceeE·nÝØºu«Î7®ÜuÏŸ?ϨQ£prrÒ–¥¥¥U»µ[…B‡‡±±±bkk‹••}ûöåàÁƒÕî·¢~P™«*=6¼ÃpŠKŠùéìOüxæG†wÎÐvC151å¿þ€­g·Ò·U_¬Ì­ªuÍ6‹ÛÐja«jý<¹âÉj÷E_ñÞoLjª ¸u¾šM —u.׿?RþàJƽ]SQ{už„'%%áççÇwß}ǪU«ÈÈÈ`ß¾}dddУGbbbøõ×_9qâÖÖÖøøø°zõj¶mÛF÷îÝY¿~=‡µ œœŒŸŸëׯ'22’´´4Ž?NŸ>}xå•WX½z5³gÏF£Ñ`mm­ÿ€Ðh4téÒE§<,,L[¿gÏžh44 EEE£Ñh6lX¹1)‹gݺuÚxŽ9‚••¬Y³¦Â6BCC %!! 6°gÏÆŒS­÷!..Ž=zpìØ16mÚDjj*Ÿþ9‘‘‘œ:u ¥R‰F£aÍš5å®;aÂ&NœÈõë×9|ø0¦¦¦5êGmÇÖÇLJÌÌL¦L™Â¼yóHNNæÀdddÀþýû«Õw!Dý×׳/*~8ýw28‘x‚~­ûÑØº1½š÷"æj ©Ù©l>½¹FKQο}ž¸qÕú©ê¦LCÄ[ –[˜Z`gi‡©Â”óÓ+ï÷“WÿÆ¢îÔyÎÕ«WYºt)ƒ ÂÆÆ†öíÛóí·ß¢Ñh˜XYYѽ{wŠŠŠhܸq­ûQ999¬ZµJÛï®]»²víZ ˜2eʵ-„¨?ÌMÍì=˜³©gY² A^AXšYÜ!˜â’b"‰$5;•÷0r´ÆWe®¢°¸Pûºß'ýøöÄ·ôoÓŸbM±ÎŽ3eV^ÍÓ«ž¦XS½Ýb„u«Î“ðü† ¢SîææFûöí9~ü87nÜЖ9’Y³f±yófzõêEzz:ï¿ÿþµûÃ?0pàÀríìØ±ƒÐÐÐîgM”Å3xð`r¥RI`` ¹¹¹ìÚµ«Üy~~~:¯›6m @bbb•×ܹs'ýûë®Ktvv¦mÛ¶÷=·[·n–×¶5ammMçÎuÊ:vìH“&M8yò$IIIÔ¾¢þn À†“tfûµî‡µ…5Nn`Xûa˜(êÇíLÆŠ·½[{.g\&év¿'üε[×ðkZúïC˜Íš1}Ûtö_Ú:_Mfn&ë_Ïʃ+ ¿ï–ŽBéÓ- óóóÉÊÊÀÞÞ¾Òz/^ÄÃÃCûúý÷ß'::šC‡ñå—_bb¢û¬&í:;;“••…¥¥%¶¶¶Ò½(‹½²x\]]Ò¥÷º·¯Un˜ŸŸZ­ÆÒÒ›rÇï'þ½ËHÊÚ¬m?j¢lùѽ\\\HLL$55ww÷º† R©A­6lòz"ñ#¾¡}Ý>¢=PºE_E|ó¥¹cs Š èÖôî‡K3K´À÷§¿7ê®(÷ªM¼Õ“{÷WoÑža퇱dèfÎfÖÎY<óé38¨ø×3ÿÂÓÉ'+'6¿¼™U‡VñîÏï’t; ;K;Ú¹¶ãã¿}LÏæ=õ?â‘“Ÿo‚½½|cR×ê4 W*•888Mnn®ö¦ÅªìÛ·¬¬,:vìÈĉñññÁÇçîä5m×ÞÞž¬¬,Ôju•‰¸‰‰ åÊÿzCè_)¯Í«ŒR©¼où¤ÂºeÊâÙ¶m›Ny~~>»wïF¥R•[6ò Ê–â”-K)“œœÌ… jÕfMûQÓ±ÈËË#66V§ìôéÓ$&&âãã#³àBT“§g/Z Ñ;!D}¦Ñ@\œ-[–Ÿ4úUçIø‚ ðôôäÕW_eÇŽdee‘‘‘ÁêÕ«yï½÷ˆˆˆÐÎdgggÌòåËi׮͛7gÓ¦M$&&2bÄ kÕî‚ hÑ¢S§NeÛ¶m¨ÕjnܸÁĉIJJÒIŸyæY¹r%ÙÙÙÄÇÇ3eÊ”Jg\Ÿxâ .\¸Àõë׉‰‰áÒ¥K<ýôÓUŽI‹- eëÖ­¨Õj.\¸À /¼@RR‘‘‘Úåú2þ|5jDhh(QQQdggsæÌ^yå•ZϺ״5[(ýcæÌ™ÄÄÄ““ñcÇ;v,DFFÖ*n!¢ÎóÈÎ6áôi¥±CBÔc§O+ÉÎ6Á×7¯êÊâÔyîââÂÑ£G fÒ¤IÚ7oÞÌ–-[5j“&MÂÖÖ–S§N1lØ0Μ9CZZ}úô¡°°`aaÁ¼yójÔ.”.‰ˆeôèÑLž<'''ºuëÆ­[·øå—_hÖ¬™¶î¼yó7nóçÏÇÅÅ…üãüßÿýnnn¤§§£P(˜1c†¶þòåËéÔ©ÞÞÞŒ=šÈÈH¼½½µ{moÙRúc•J¥Ýû¼,ž1cÆ¢'''‡èèhÆÀáÇ˵1{öl tÌ¢E¥_uúúú–»Aõ^žžžÄÄÄàççLj#puue„ „‡‡Ó¢E í¶ƒ•]·¢e7ÕíGmÇÀÆÆ†+V0wî\ÜÝÝéÝ»7ŽŽŽìÙ³ÿûöYqWÛ¶4iRÄ®]åï Bˆ2;wÚðØcE´m+3áuM¡Ñ<Ø—“ …‚ 6è$½âáÒ¶m[rss¹zõª±CÑѹsgÒÒÒtvÏ©)…BÁ|À Aƒô™Õ7iÒ$lllظq£ÞÛ®Éú>ø ß|cǾ}WQ©d]ŠBWn®ÿÇ;6‹[5:×Óӳޢzdm¬û<‰:—œœL£Ft–ô\¹r…øøx*9Sñ¨xñÅ, ¬^}ÿ‘„ ÓêÕŽ*xñÅÛÆ¥A$¼¹uë&Làúõëܹs‡£G2zôhììì˜3gޱÃBÔ1'§b&O¾Å§Ÿ:pã†awJBÔo‰‰f|ö™!!·pr’í A’ðÂÍÍèèh233µëªŸ}öY¼¼¼8zô(-[¶4vˆZ( NžÆœ9Î,XPóç!-ï½×˜“'•lØ€™™Ü/b(2.„ Œ—WK—¦òý÷¶|ø¡¬¢!ûðCG¾ýÖŽåËSñö–Q I’p!„h€rxç›|ðA#fÍ’¥)B44EE fÍræƒñÎ;7 È1vH Ž,GBˆêÅoãî^Lh¨ ×®™³`A*EUŸ(„x¨Ý¸aFx¸ 'O*ùè£dIÀDfÂ…¢ ÈaÆRSÍ0 Ë—7"7WfÅ…xåæ*X¾¼4#5ÕŒ $7"™ BˆÎÛ»€mÛ®óÕWö¬XáȺuvŒ¡fÀ€l:v̧‚æ !Mé£èwî´aÓ&[ L›–ÁK/eÉM˜F&I¸BÌÌ4¼új&Æ©ùæ;6m²ã“O°±)ÁË«GÇb”Jù[ˆ‡E~¾‚Œ Sââ,ÈÎ6á±ÇŠ;6‹_¼-û€×zyl½BˆÊ1¢^<¶¾¦ÎžµàÄ Kââ,ÈÊ2!?_þÞ?jNz€N>6r$Bß”J öö%´jU€¯omÛÖíÎ'òØúÛøÀ3á6lÐG BÔ‰˜˜Z·n“““±C XÓ¦MB­x{È–e¸É“3X±"ÅÈ‘ÑðjÔ(}Ä!DßO!„BÔG²;ŠB!„&I¸B!„&I¸B!„&I¸B!„&I¸B!„&I¸B!„&I¸B!„&I¸B!„öÀëBa®®®ÆA<ä,--ù]Â$ Bˆ‡”±C93³Ò4@~—„0aüøñu‘ ÚFIÂ…BˆàÖ­[¸¸¸PTTtßzfff¤¦¦âèèh È„h6Êr!ÄC¯¨¨ˆ¼¼û¬"¢a’$\!„h@z÷î]¹r[[[zõêe„ˆ„h˜$ B!SSSŒ¹¹¹¶ÌÜÜœ¡C‡>ÐNBˆš‘$\!„h`ž}öY µ¯ :t¨#¢á‘$\!„h`ºv튋‹‹öuãÆéÒ¥‹#¢á‘$\!„h` Æ ÃÜÜsss†މ‰¤B’ü'„B4@C‡¥°°ÂÂBÙE#;0„¢ ùù ޳äÌ%7n˜sû¶ %%ÆŽJˆ劕U V­êcÜP„а³+¡iÓBڷϧk×<”J±Ãª”$áBQ‰S§”|õ•=»vY“›k‚»{?^ˆƒC EýýÃ.Du=öØ €ÂØa¡ÅÅ ._6gß>+’’ÌP©Jèß?‡—_΢cÇ|c‡WŽ$áBqÔT3-jÄÿkK»vù̘‘N`àÜÜÊ?àDˆ‡Ù•+}hÞ<ÅÈ‘¡_ÉÉfìÞmÅwßÙñÜs<û¬šéÓ3pq©?ÇF¦s„µììlRRô“D¬[gÇÂ…N89žÎ3Ïäè¥]!„ÆñóÏÖ,XàDzº)3f¤ó ·õÒ®««+666µ=}£Ì„ !P\ ÿþwc¾þÚžþóo¾y«^¯%BQ=Ï<“ƒ¿ÿ>úÈ‘wÞq&.΂Y³Ò055n\’„ !¼ÂBo¾éÆ‘#ÿŸ½;‹ºÚÿ8þbß•ErWPqC\sË]Ëò†·Ô«·º¶¸¦–f77RËÜÒ,S¯•=´RÛ̲LMÌ]Ã51—P5Q”}æ÷?&GPaÐ|?æÌùžó9ßùŽ|æp¾gœxÿý8~8¥¼C‘Räà`äå—/Ó°a¯¾êÅùóvüï±³+¿ÉmQ("÷½©S=9tÈ‘U«¢•€‹ˆü=üp «VEsè#S§z–k,JÂEä¾¶lY%¾ûÎwÞ‰# àî»{^DDJW@@&ï¿Çwß¹²l™{¹Å¡$\Dî[Ç;ðÎ;•™<ùݺ¥•w8""b!:¥1yr"ï¼S…ãÇÊ%íŽ""÷¼’ìŽb4ÂàÁÕÈÍ…/¾ˆÆJ[%‹ˆÜw~€ìl+¾úªø¿îtwÍ„‹È}éûïÝ8rÄ‘éÓ/)¹O'rì˜#ßïfñ¾•„‹È}iÙ2w‚‚’ñ÷×:p‘ûÁþýûñõõ5û·bÅŠµ5sæÌm]¸p¡”#Kð÷Ï$((™>°üÚp%á"rß säÌ{ž~újy‡"wƒÁÀ˜1chÚ´)Æ #++«¼C’RÔ¶m["""¨[·î·5uêT~úé§RˆJîO=u•Ó§í ³ìÚp%á"rßÙ¶Í™êÕ³iÒD³àò—ßÿM›6‘žžÎ¶mÛ 3=wñâE³YÏÓ§O—c¤"Ršš6ͤzõ¶ms±h¿JÂEä¾ó믎<ø`Fy‡!w™ лwoéÖ­Íš5+ïDÄB|0£G-Ú§¾1SDî;vté¢- Åœ­­-K–,)ï0D¤Ô¯ŸÅîÝNíSI¸ˆÜw’’l¨RÅPÞaÈmœ>}š>}ú(Ÿ6mO?ý4¹¹¹tìØ‘øøx¦NÊ!ChÚ´)ééé7m÷ÝwßåìÙ³¬]»–ØØX Ï?ÿ<ü±Y½Å‹óðÃ3{öìÏåÇåááAhh¨©<>>ž>úˆ]»vMnn.ÕªU£[·nŒ1‚J•*ë$$$°téRöîÝKLL F£‘jժѰaCzõêEÏž=qpÈ[ÇšžžÎ?üÀúõë9{ö,—.]ÂÑÑ‘jժѾ}{^xáªV­ À† xùå—Íúš2e ¿ýö{öìáÚµkT©R…Þ½{óꫯ²aÃ>ûì3"##qqq¡yóæLš4‰:u꘵Qšã¿YŒ'Nœ`ïÞ½\¹roooúôéÃK/½„££ù,fXXK–,áðá䦦òÀ0hР[ö™œœÌÊ•+ùùçŸ9{ö,éé鸻»Ó¨Q#žxâ {ì±›»{÷nÖ®]Kxx8VVVøùùñïÿ›'žx¢Èc–òS¹²+Wl,Ú§–£ˆÈ}'+Ë ;;}EÂÝ®~ýú„‡‡ãååe*›>€uëÖ™êüöÛoÔ«WÙ³gADDNNÍp-Z´[[[Ö¯_ÏÌ™3xì±Ç ÔË7iÒ$öìÙcV¶qãF"""ÌðððpúôéÊ+HIIá‡~`Ë–-dggóñÇóøãk?ûÜÜ\žzê)>ûì3bccùðÃ9rä_|ñ 6äå—_æ›o¾1Õ_½z5“'O¦gÏžlÙ²…ýû÷3tèPNŸ>ÍÊ•+éׯIII7ïŠ+:t([¶l¡AƒÄÅÅñé§ŸÒ³gObccùüóÏ æòåËlÛ¶#F`0üõa¶´Ç_XŒË—/gÈ!„„„ЩS'¢££ùè£X¸p¡Ù±{÷îeàÀlÛ¶ÜÜ\>ûì3¾ûî;âââøã? íïܹsôéÓ‡÷Þ{¨¨(–-[Æ¡C‡xæ™gؽ{7/¿ü2£F2óõ¾ýö[–.]ÊO?ýDíÚµ9v쯽öóæÍ+ò˜¥üØÛÉʲì~µJÂEDä®eccCPPéñõÉöõ èÉ“' òf@£££yä‘G mÓËË‹#FP±bEú÷ï»{élM6iÒ$S’ûÈ#P§NªW¯nš=‰‰aÖ¬YEnïìÙ³DFFP¥JÚ¶m‹ƒƒ•+WfÔ¨Q´hÑ¢À1­[·fÈ!¸¸¸àîîÎèÑ£ñööòfÕCBBnÚßSO=…¿¿?îîîtèÐÁTž™™É‹/¾ˆ‹‹ ½zõ2•GFFröìÙ2aH“&MpuuåÑG5•ß8®7Þxƒœœ~øaZ·nM… 7n¶¶…/˜8q"±±±¦ø|ðAÜÜÜ9r$*T`Ë–-|úé§…?bļ½½©V­C‡5•/_¾ü¦‰¿Üß”„‹ˆÈ]íŸÿü§éçßÿS§N‘œœÌÖ­[©W¯žé¹ü¤|ݺuôîÝû¦ßd×µkW³Ç‡¢iÓ¦wc\\ÇŽ3=¾~ö>? †¼d1#£h7{{{›–X\¸p‡~˜·Þz‹ï¾ûŽ˜˜¾úê+lª?xð`ÚµkGß¾} ÀÏÏ___³ÙçË—/ß´¿êÕ«›~vvv6ýìããƒMòüq—Õø S«V-ÓÏ..ídqý£££M^ ;ÆÃã@»ñññÌ‘#Gعs'ƒÐÐP¦L™ÂÊ•+9{ö,07~üøbßz'Êjü%qã¸oœyOK+¸3ÒÌn<&33ó¦u ;æúú•+W¾EÄr¿ÒL¸ˆˆÜõ{ì1ìììHLLäĉôíÛ{{{³TÖ­[GPPÙìmi¸qö4½ñ Aƒ˜:u*>>>f3Î…}™Ï¿ÿýïÛîÎq½‹/âççGbb"­[·fĈ|øá‡f3Ëùkoœá¾~&öêÕ²ÿfزIU«VÍl™ÒùóçM?§¦¦réÒ¥ÇxyyѺuëBÉÍÍ5›½ïÛ·o¡ý^̹sçL?[YYѱcÇbŽBîJÂEDä®çîîN÷îÝM;wîlZÛ{ãÒ“ë×—777³íøŽ;FTTǧmÛ¶Ìš5Ë´}óæÍ|ûí·$''“˜˜È‚ 8v쯾új±ú5Œ;–'N••EBB‚ÙÚå=zy둯_“üù矓žžÎš5kˆ‰‰)ñ¸‹£,Æ_RÓ¦M3Ý€¹iÓ&<ȵk×x÷ÝwM n4gÎ|||LÇìß¿Ÿ””–-[Ƶk×èÕ«—iwž-[¶Œ¸¸8bbb̶´|á…¨[·niOþ&¬Œ·Z &"rHII)ÖÖg¾¾õX´(Ž>}RÊ0*)mÛ¶mcذaÀ_{xçëÑ£gÏž¥yóæ¬]»ÖT^Ø^ÓùvìØaºáîfõÚ´iÚ5k€¼]WæÌ™Ã‰'ÈÈÈÀÃþ}û2qâDÓr•ü-óöìÙCll,ÖÖÖxxxЦMž}öY6lX¬1‡……±aÃöïßÏ… HMMÅÍÍ ___}ôQlºiòÌ™3¼õÖ[„……accC­ZµèׯŸþ¹içÈ›)~õÕW ï¨Q£8wî?þø£Y¹ k×®-t­ýÃ?ÌâÅ‹K}ü7{MžþyXºtiçæÎkÚ—;,,ŒÅ‹søðaÒÒÒLû„ýõ×f»•Ô­[—-[¶yû„¯X±Â´OxFF+V4Û'ÜÊÊŠ™3g²råJ³¾ß|óM¾þúëû„?ùä“E³”Ÿ];Ö›ˆˆÈÛWþÞÞÞ7½¼¾V."÷<%á""r'Ê# ×r Óî("""æëë{Û:cÇŽeìØ±ˆÆòî÷ñ‹€ṉ8Í„‹ˆˆXXDDDy‡P®î÷ñ‹€fÂEDDDD,NI¸ˆˆˆˆˆ…) ±0%á"""""¦$\DDDDÄ”„‹ˆˆˆˆX˜’p S.""""baJÂED,$-Í@÷î[:ô—ò¥TüÝÆ#"bIJÂED,Äh4’››÷ïïàï6KÒ×Ö‹ˆXˆ‹‹-Û·÷.ï0JÍßm<""–¤™p ÓL¸ˆˆ„„Ä2rd¨éñ‰ÿÀÁÁÆô8))‹%K~gëÖXbcÓqv¶¥yóÊ æÇƒzšµuùr&‹‡óóϱÄÅ¥ãæfGëÖŒÓÿŠ…ö·cG/æÍ;ÁîÝñØØXX™ààfÔ¬ébÖvdd2o¿}‚ÐÐrrŒÔ¯_Ñ£°re$ûö%п-ºuó)t<%í·(cº ¾Ã`(ÚÒBCûܶ^VV.K—†³qc411i88ØÐ²e¬M—.ÞØØX™êõÜ͞ݢH1ŠÈß›•ÑhÔb>¹§¥¤¤Wäú¾¾õX´(Ž>}RÊ0ªÂÊÖ­±fIxBBýûï$#ÃÀ¬Y´iãIBBóçŸ`Ë–Þz«Ô >>¯nf¦9sZЦ'ÑÑ©L›FXØV­êH``åýõèáÃðáõiذ"GŽ$2|x(õëW`ݺ.¦ºçÎ¥Ò¯ßvœœl˜;·%-ZT!::•™3ãÔ©«¤¤dsòäã·Oqû-î˜,iòä#lÚÃûï·¡U«*¤¤ä°|ù–/?ÃêÕhÛÖ(Ù¹‘»ÇÆ®ŒëMDDd‘ñööÆÕÕµ¤]~­å(""ålþü“\¸ÆÔ©ÍèÖÍWW[êÔqeáÂÖxz:òÆa\º”ùÿuOÆäÉMéÒ¥*ÎÎ6øùUà½÷Zc4™1#¬Ð> ¨E``eœœlèÐÁ‹.]¼9vì W®d]Ç ®]Ë&8¸;z™Ú^¸°é醭¨ý–dL–°o_~~ntìè…££ LœØ„:uÌñ–Ź‘¿7%á""ålË–ºv­jVnooMûöžddؽ;o¦?$$kk+ºuó1«ëé鈟_ŽOââÅô}4kf>“ìãã@\Ü_uwíÊë㡇Ìã¨\ÙºuK6ÛS”~K:&Kèܹ*GŽ\fÊ”_9zôŠi¹KHHOÓ,8”͹‘¿7­ )GYY¹$'gãà`ƒ‹KÁÿ’=<¼%+ùuš7ÿá¦mž=›BÕªNfennæmÛÛç-É_˜••Kjj68;Ûp£ŠíŠ>¨bö[Ò1ݨ,Ö„OŸ@``eÖ­;ÇÓOï U«Ê T‡^½0¡,Έü½) )GööÖ¸¹Ù‘œœMjjNDüÒ¥ oVØÞÞš ìHMÍáäÉÇÍn ,8\\lIMÍ!-ÍP ™LLÌ,µ¾nì·´ÆTБ屲‚  Õ 'ÇHhhË—ŸaÔ¨ýLžÜ”çžó-·s'"÷6-G)gù3ªÛ·_4+ÏÊÊeß¾mèÔÉ€Þ½«a09|8±@;|pšN6y6øF;çõ‘¿´"_BBQQewkYŽéNn 22[[+:vôbÙ²±²2½Êë܉ȽKI¸ˆH9›0¡Õ«;3sæ1¶m‹%55‡¨¨Æ;HBBÁÁÍððp0Õ­YÓ…×^;ÌÎq$'g“””ÅçŸG±xq8“&5-ñlò„ qw·çÍ7ÃØ³'ž´4§O_ãµ×ŽàééXšC¾¡ß²Si>Êï¿_%++—ÄÄL>üð4F#´k÷×Ö‘åuîDäÞ¥- Eäžw/lQxãþÙ?^ƒ Zùû„‡ÃÅ‹é89ÙÒ¼y%† «o–ìå×]º4¯nll:*ØÓ¨QE†õ£C/Ž½Â“Oî0;nÔ¨Œß_ßoÍÊ»v­ÊGµ **…yóŽóË/  àï_W_m»ïžäر$~û­ï-ÇóôÓõJÔoQÆTNºÊš5Q8p‰˜˜t¬©]Û…êп-¬®ûlPÔs'"wŸòØ¢PI¸ˆÜóî…$ü^׫×V22 ìÚ¥¯©/.;‘»Ÿö ‘r“AË–?’“c>7sáB*çÎ¥˜‘—¿è܉Hq) “«W³˜:õWbcÓIOÏ!,ì2/½t77;FnXÞáÝÕtîD¤8´E¡ˆˆyÛ ~úiGV­úƒAƒv—NÅŠvtèàÅÂ…­¨Qù¼C¼ké܉Hq) “öí=iß^K'JBçNDŠCËQDDDDD,LI¸ˆˆˆˆˆ…) ±0%á"""""¦$\DDDDÄ”„‹ˆˆˆˆX˜’p S.""""baJÂEDDÊÀ† ðõý_ßoiÔh}y‡#rÇJãš^¾üŒ©6•r„÷%á""R*ÒÒ tï¾…¡C)ïPî =Vˆˆ~úÍBèZ¹7•Æ5ý ~DDôÃß¿b)FvoR.""¥Âh4’››÷ïFM›~ÏÀ»Ê!*¹éZÛò@DDþ\\lÙ¾½wy‡!÷]+"š ±8Í„‹ˆXHVV.K—†³qc411i88ØÐ²e¬M—.ÞØØX™êFF&óöÛ' M 'ÇHýú=º+WF²o_ýû×böì·íwĈP¶n5=nÙ² _~ùûö%ðÌ3{øðÃvtëV€™3±re¤©þâÅm=z¿éñ–-=X¸ð¿ü’@RR³fµ`òä#¦:'Nü–/?Ü9Ç8|8_ßo°±±"<<ÈTÿòåL/ççŸc‰‹KÇÍÍŽÖ­=3¦a±Öކ„Ä2rd¨éñν™;÷8;v\ÄÞކνyýõf$'góÆ¿‹‹]»z3eJ3\\Ì-&%e±dÉïlÝKll:Îζ4o^™aÃüxðAóu±×¿f4n\‘ ß4ÖÒsƒßa0\ÒQBCûܲÎýt­@Ñß“ƒ‘Í›£ùê«s„‡_%99‡Zµ\0 6Ïé@›6Åߨ¸Ñ•±c½‰ˆˆ¼}åÿçíí««kI»üZËQDD,dß¾üüÜèØÑ GG<<˜8± uê˜ÿ'>þ ®]Ë&8¸;záìlƒŸ_.lEzº¡D}?úh5ìì¬ùî»?Me¶n¥V-~þ9–ÔÔÓsß~{ž~ýjÚÖðáõiÛÖ''[*D¥Jö%Š òÆÆäÉMéÒ¥ªi¼ï½×£ÑÈŒa%n»ÿZ4i⎓“ AA5ðó«ÀÎq<ÿ¼þþqv¶aР:TÑØG­ IDAT¯îÌÎñ7Äu’ Ò˜:µݺùàêjK:®,\ØOOGÞx#ŒK—2Mc¸ñ5kРóæµ$>>Ý¢c¾S÷ÓµRÔ÷$@Û¶ŒQŸŠí©TÉžgž©Gß¾ÕY¹2‚””œBZ¿Óë¯ì®‘jX'':tð¢KoŽ»Â•+Yfýïš.úû%_rr6&4¦eË*8;Ûдi%,hEvv.o¾y¬Äã»W( ±Î«räÈe¦Lù•£G¯˜–„„ô4͸ìÚ•7«ÿÐCUÍŽ¯\ÙºuK6ëâînO—.ÞìÝOBB[·ÆP‰§žªKF†Ÿ~Šòþ¤¼ÿ%z÷®Vh[•JÃÍ„„ÄbmmE·n>fåžžŽøùUàøñ$.^,øK¿(š65ÕÛÛ€&MÌÿ”_µªqqæ}lÙ’w>ºv5ìí­ißÞ“Œ »wç½V7{ͼ¼ MèÊrÌwê~ºVŠúžìÖ͇ի;8Þß¿"99FΜ¹Vhûwrý•å5Ò¬™ù º€Y ަ‹ó~Éçà`SàiР^^Žœ:u•øøŒâ 랣5á""2}z•Y·îO?½€V­*3hPzõzÈ[£šššƒƒƒ ÎÎ6Ú¨XÑ®Äý÷ëW“X~øáÏ=çËwßýI¿~5i×Γ9sŽóý÷òÏÖdÆ tíê]hÿNN…——DVV.ÉÉÙ4oþÃMë=›BÕªNÅnßÕÕüל•UÞc''órkk+³íòòãrp°)°NÀÃ#/™JHȸíkV¥ŠQQ-}*Í1—öšð|÷˵R”÷$äÍØ~üq[¶Äpñb:×®e›µs³¿PÝéõeó¾ps3ïßÞ>ïuÊ_ \Òkº(ï—ë¹»ÛaeU :Uª8ŸAbb&^^ŽÅÛ½DI¸ˆˆ…XYAPP ‚‚j“c$44åËÏ0jÔ~&OnÊsÏùboo‹‹-©©9¤¥ üLL̼Ië·×µkUÜÝíùöÛóÕàèÑË,^ÜGG:vôbÏžxâã3X·î<¯¼ÒèN‡k¦°_´7KV¡‚©©9œ<ù¸ÙÍ©åÉÞÞ77;’“³IMÍ)X\º”—Lxz:Þö5Ë¿!ñú¶KkÌ×ß°Xšî—k¥(ïI€aÃB9xðÁÁÍèÛ·:•*9`e+VDðÖ[¿Qڷו÷û¢$×tQß/×Ëÿ q£üÿçªTq¸£qÜí´EDÄB7™ €­­;z±lÙƒXYÁöíMõ:wöþúsp¾„„ ³Ù§â²³³æÑG«sêÔU,8I>8:æýr ª‰Á`ä½÷NŸA»v¥û-NN¶dgçš÷ìÂ_œ wïj FN,pÜœ¦S§ÍEží-Mù3¡×¿67ë·o_ŽŽ6tê”÷ZÝì5»r%‹¨¨Ômß­cÎw¿\+EyOæ÷çééÈþSÊ•L23soÖô+ïk¤¸×tqÞ/ùÒÒ œ:uÕ¬,<üññøûWü[Ï‚ƒ’p‹ >Êï¿_%++—ÄÄL>üð4F#f‰Ì„ qw·çÍ7ÃØ³'ž´4§O_ãµ×Ž˜I*®  ¼Ý.¾üò¬ÙÍt={úàâbË—_žåñÇk˜¶\+-»•Bll:¿þz™óçSiÝ:o ² Q³¦ ¯½v˜;ãHNÎ&))‹Ï?bñâp&MjZ.3ä&4¢zugfÎ<ƶmy7#FE¥0nÜA2n†‡‡Ãÿ×-øšED$3~üÁBÿœ·Žùz÷˵r»÷¤mÛzÁGáÊ•,22 „†&°fMT©Žýzå}”äš.êû%Ÿ““ 3fäíö’žnà·ß®ðÊ+‡°³³&8¸Y>þn´E¡ˆÜóî•- OºÊš5Q8p‰˜˜t¬©]Û…êп-³?ÃGE¥0oÞq~ù%o^ÿ ¼újÞ}÷$ÇŽ%ñÛo}KG!deå²sgo³>ó· Û¼¹¾¾n¦ò£G¯ðä“; ´ÑÏôóû<þx ,hÀ$3eÊQŽ¿‚»»=#F4àßÿ®cª›””ÅҥᄄÄ›N… ö4jT‘¡CýèÐÁ«Èc+,ÖQ£г§ýú™—O˜ÐˆV­<ø×¿Ì¿"}ìXÆŽmhŠkÉ’¼¸.^LÇÉÉ–æÍ+1lXý3À׿fù{»Ó+" ÝÛ½´Æ\–þÎ× ý=yåJï¼s’;.’»»=;WÅÓÓ‘eËÂhÒÄéÓ›—úõW–ï‹ñã™öcÏ×µkU>ú¨P²kúvï—ë÷ƒ÷öväÿ{yóNpìØers¡Y³J¼òŠå÷ /- •„‹È=ï^IÂKC¯^[ÉÈ0°k—¾ò[D¤´hŸp!!!ƒ–-$'Ç|ŽäÂ…TÎK)õ5¸""byJÂEDîBW¯f1uê¯ÄƦ“žžCXØe^zénnvŒݰ¼Ã‘;¤- EDî2žžŽ|úiGV­úƒAƒv—NÅŠvtèàÅÂ…­¨QÃÙT÷Æõœ…¹~é½ì~«Ü™ûéZ¹ŸÆúw£$\Dä.Ô¾½'íÛß~ÙÉõ7¼ýÝÝOc•;s?]+÷ÓXÿn´EDDDDÄ”„‹ˆˆˆˆX˜’p S.""""baJÂEDDDD,LI¸ˆˆˆˆˆ…) ±0%á"""""¦/ë±€åû—3gû¼]½Ù;zo9Gtg®Èá ‡ }nH«!Lí1µÐçvDî`æÖ™üyõOÂÿ^h«WùñÔlü}#§âN‘‘“AU·ª<ÀÐ6Cñ÷ö/µqˆˆ”Í„‹ˆXÀ m_ bbÄ}›@žO:ϰµÃ˜¿s>—Ò.ݲîœms˜±e=üz°ù…ÍzésúÌádÜI‚> "ätˆ…¢);š ‘ùö?ßÒÔ§i‘ê.ܵÕZð¿'þÇCK"=;ý–õûôgH«!¦Ç­k´faß…ô]Ñ—¹ÛçÒ³~Ï; ]D¤Ü) ‘27»Ïlm‹\·0þÞþ8Ú:r>鋵 =28p0ÿhü"·QßÀ¨ö£Ê¤}KR."baiÙiLÛ2qÆáïíOä¥H&mšÄSŸ?Å'ÿú„65Ú0}Ët6ý¾‰÷ƒÞ§UV¤d¦°üÀr†¯ÎêÁ«i[³ímûºÙ$¥ájÆUæô™CÝÊu‰½ËÒ_–2þ‡ñ9Êë=_/Õ¾.¥^âío3 `}ö)Õ¶EDʃ–£ˆˆXXrf2:O eõ–8Û9ÓÔ§) ú. ÛÍ›[ß4ÕÛwv~~t¬ÓG[G<\<˜Øu"u*×)Çèó|ùÔ—Ìl>½ãdçDÝ*u™ÿØ|àÓßVj}%¥'ñì—ÏÒ¶f[Þìýæí¹( ±0[|ÌÊx6ÀËÕ‹Sq§ˆO‰ s½Î‰>”MS8sÔ´¬$dXH‘fÁËÃà àç3?—J{éÙé ùr~ž~¼Ó÷"-Á¹h9Šˆˆ…¹;ºzcaç*ħē˜šˆ—«Ó{N'ð@Ö_ÇÓŸ? @«ê­8ˆ^õ{©¯²\^/W/S糖ÑÀèoGãíêÍÛ½•pùûP."baəɅ–'¦å%®U\ª`eeEP“ ‚š‘“›Cè¹P–XΨu£˜Ü}2ϵ~î¶}•åšðÂÄ%ÇáNLÝ<•,Cÿ{âf x·eÝxçïÐüæw܇ˆHyÑr KËNãTÜ)³²ð„pâSâñ÷ö7Í&. $21[k[:ÖéȲ'–aeeÅöˆí;ßWa_ñøŠÇ ”FÓ&ÝýºßQ‹ö,âtüi>xòìmìï¨-‘»‘fÂED,ÌÉΉ!3˜Ô}õ=êq)‚I›&agcGp`³ºÁ›ƒy½çëÔ­R—äÌdVYÑh¤]­vå}žq'˜öÓ4žkóUݪ}5š%û–püâqžiùL5ïÅñÍoß°hÏ"š-hVZ!‹ˆÜU”„‹ˆXÀòýË™³}Þ®ÞLî>™y;æq,æ¹Æ\šù4cÕ Ufû„¯¼†5G×ðÒú—ˆ¹–·OxíJµ™õÈ,ú7ë_^C!¨I+ðý‰ïyöËg¹˜|[y7bá?Ò·QßÇl‹ØÆ°µÃÌÊ|çø0ë‘Y `*ß¾¹l "r°2ÆòBDäN¤¤¤Wäú¾¾õX´(Ž>}RÊ0*¹WlÜèÊØ±ÞDDDùooo\]]KÚå×Z.""""baJÂEDDDD,LI¸ˆˆˆˆˆ…) ±0%á"""""¦$\DDDDÄ”„‹ˆˆˆˆX˜’p S.""""baJÂEDDDD,LI¸ˆˆˆˆˆ…Ù–w""÷ƒåû—3gû¼]½Ù;zo™õµ9|3Kö.!êr9l|~#•œ*1gû~9÷ ñ)ñ<Þøqô]Pf±È½áTü)ì\Àá ‡1äh^­9/u|‰–Õ[–KÛ;"w0sëLþ¼ú'áÿ ¿ãDîFš ±€Ú¾@ÄÄü½ýË´Ÿ_£eÌwcèX§#^:À¶Û¨êV€q?Œ#ô\(+® l|CÛ-ÓXäÞFÿOûãbïÂOCbç¨Ô¨XƒÁ«³'jEÛ>Ÿtžak‡1ç|.¥]º£¾EîvJÂEDþF~<õ#F£‘!­‡àlçLM÷šìyqž®ž„ž ¥gýž4ðl€‹½ ÿíò_Þ~ìíò¹Ô5]Д«–øùûI®1—‰?N¤‚cæ>:/W/*9UâÞoP«r-&mšD–!Ëbm/ܵÕZ°þÙõ¸Ø¹”ÆEîZJÂEDþFb“cpwt7/¿–W^ɹ’©ÌÊÊ k+ý¸Ÿüó g.ááãhëh*·±¶á1ÿLj½˶ˆmk{vŸÙŒh7+›’ Hä¢ÿ}EDþF ¹†[–[aeÉpä.÷˹_hêÓ´ÀsM«65«c‰¶¯OÖEþîtc¦ˆH9ˆLŒdö¶ÙºpˆC0þ¡ñ¦›Õ–ì[ÂÂ] hY½%_>õ%»þØÅs_=€»“;‡^:@ÈéF®ij¿ñüÆ…ö»hÏ"íYÀêÁ«i[³-—Ó.³xïb~Žø™¸ä8ÜÜh]£5c:ŽÁßË¿Ðö· ÝÂÂÝ ùåÜ/$¥'pð¥ƒTrªT°ÓëÜxƒêÿžøoïx›°˜0r¹Î€Áh`óï›ù*ì+ÂÂIÎL¦V¥Z À3-Ÿ1Íæ_ßöá ‡ñã äͼ†ÿ7ü¶Ïç+­ó1ë‘YLÞ4ÙTgÇÈÌÛ>ÝQ»±±¶!°Z Á=‚©é^ó–ç,_ƒy nú!ëF.„Ž ½m½ÈÄHÓ}׫Z!¯,êrW äð…æçóoê}æ‹gØwvŸ©üÈËG¨àX¡Xm‹Ü¬ŒF£±¼ƒ¹)))ÄÅŹ¾¯o=-Š£OŸ”2Œªp}WôåBÒWm̸Nãð÷ö'òR$“6M"21’Oþõ mj´1Õoº )¼™’ð|A+ƒ¸põ‚) Ï7â›l=³•N`oc#F£‘ãqÇyâ“'Ýa4c:ŽÀkRèÿY2s2™Ógmj¶!új4Ó~šFXl«­"°Z`öÛÔhÃK^¢™O3N_:Í€Ï:&ô¶Iøõçáìå³4ôjÈän“ièÕˆK…ž‡mÛ¶v:O`Pà r¹üpòfnÉsmžcb׉fmßìœåùø”øR?ùuzøõ`øƒÃièÕ#ÑG¾v8õ=ë³î?ëŠtÎÊÂ/‡°'jßüç|Ìž;wåÝ?èNcïÆ¬v=§âN1`ÕjW®ÍWO}…“Y†,­ijmžå1ÿÇJÜö:,îÀ¥´KÚE,bãFWÆŽõ&""²ÈÇx{{ãêêZÒ.¿Ör KÎLfBç ´¬Þg;gšú4eAßd²ys뛥ÖOþšok¬ÿõ¡µ•56V6ØXÙ`eeÅüó‰¾Íän“éR¯ ÎvÎøyøñÞãïa4™2£Ð¶‡·NÛšmq²s"À'€ðÿ†9Ï—žÎ½ß °Z NvN·<mk¶eD»Tt¬H%§J<Óòú6êËʃ+IÉ,½Sey> 0µCít©×…c±Ç¸’~¥Ôâ/MFòæè¬¬þZÂäïíϼGçq*î6LÀh42uóTÚ×no–€—¤m‘û’p s°u(03ØÀ³^®^œŠ;eÚÃÛBN‡`meM7ßnfåž®žøyøqüâq.&_,pÜñ—„““iyG¾ÂÎC7ßn¬¼ºÀñþ^þääæpæÒ™;Ž%_Yžf>ÍÌûTð .¹èÅ)mnn¤e¥x.=;€ ŽÌÊiø£Úâ§ðŸ¸j IéIŒ{h\©´-r?Ñšp swt/t°ŠsâSâILMÄËÕ«ÌãÈ2d‘œ™ @ó…ÍoZïìå³Öõ:Ù9Ýqÿ OÀn<É™É||àc¶œÞÂÅä‹\˸fV??¡»Se}>ò“Ò|ö6öÀ_³Â·SkÂëU©Pè‹‹×òÊêT®Sà¹qƱ7j/G¢ðöcoºËNIÛ¹_( ±°üDïF‰i‰Tq©b*³¶²&Û] î‰hIØÛØSÁ±©™©œüïI‹o —”‘„Ñh,ðäÆó0lí0þyàÁômÔ—JN•°²²bÅÁ¼õó[’ØÛís³çËû|ÜNY¬~°æƒ,Þ»˜ãÓ¯I?³çŽ_<@»Zí ·ÿü~R²RhàÙ€×z†ž |UIÛ¹_h9Šˆˆ…¥e§q*î”YYxB8ñ)ñø{û›Í‚{¹z˜ILHI æZL©ÄÒ»Ao FƒÙ®ù>ý€NK;a0möµ¸2s29{̬ìÆó`ÈÍ‹ÍÓÕ“ÿ´ú•+›’öÌœÌBÛu²s2ûàÒóÞ|qô‹"=_žç£<´©Ù__6ý¾Éì|r l8µŸ >t­×Õì˜ W/0qãD–ô[ÂO~€£­##ÖàrÚå;n[ä~¢$\DÄœ윘2ƒ°Ø0Ò³Óù-ö7^ùáìlìîlV·cŽÄ§ÄóÙáÏHËNã|ÒyÞÜú&Uœ«Ü¤õâ™Ðy5ÝkòÚ¯±ó$g&“”žÄç¿~Î⽋™ÔmR™Í»9¸±`×~þõ¦çÁÆÚ†¶5Û’’ÀGû?âJú2r2=Êš_×Ún㪉ºEìµX~þ•óWÎÓºFë"=_žç£¿OWOZ¿×Ú¬­qãÅö/«í|ùÛQfÖ#³0àN‡*R¨òØ¢PI¸ˆÜóî…$\Ìå'á{Gï-ïPDD´O¸ˆˆˆˆÈý@I¸ˆˆˆˆˆ…i‹B)7®s.Œ““Ù¾Þ¾s|Më¤EDî'JÂED¤T”ô&M‘û‘–£ˆˆˆˆˆX˜’p S.""""baJÂEDDDD,LI¸ˆˆˆˆˆ…) ±0%á"""""¦$\DDDDÄÂôe=""™É{»ßãÀŸ¸’~C®77~÷+Ë÷/gÎö9x»z³wôÞr‹Wòºpˆ­ú«¯¦mͶžßpj/¯{{N¾zò®Š¯¨n6]“"¥K3á""táêžüôI"#YúÏ¥w”°ña¼ô>ÖVý—üBÛˆ˜¿·9F+×ûùÌϸ;¹ÓªF«BŸÌÿ1"&Fоv{ G–çvñÕÍÆ¡kR¤ti&\DÄ‚¾8úÉ™ÉLï5ÕZ˜Êiø4|¤#“ÛÙzf+]êuÁÆÊ¦¼C)ÔÝŸˆ˜ÓL¸ˆˆ½|€†^ Ë7)–ÈÄH¢.GÑïGy‡R¨»=>)HI¸ˆˆåäæykmåÞ±õÌVìmìy¨îCåJ¡îöøD¤ -G±€Ó!Œ\7Òô¸ñüÆ…ÖûgÓ2ïÑy·mïrÚeï]ÌÏ?—‡›ƒ­k´fLÇ1ø{ùÚ玑;˜·}»£vccmC`µ@‚{SÓ½¦©ŽÁh`óï›ù*ì+ÂÂIÎL¦V¥Z À3-Ÿ1­[¿±í#w2wû\vDîÀÞÖžÎu;ózÏ×IÎLæ7=Š‹ƒ ]ëueJ÷)¸Ø»{<·Ó`^ÓM®·ãáâAè˜Ð"Õ…¼õÖíjµÃÙÎÙT™ÉÛ;Þ&ô|(†\½3¡Ë„›¶q»1^˸F‹w[˜3î¡q¼ØþE F æ60•?Üàa÷[|Óø² Y,Ý·”¿o$æj ¶´¬Þ’ÍÒ¥nl¬ÿZ²RÜq\Üìm³9tá9†`üCãiY½åm%á""ѳ~O"&F0â›l=³•Nà`ë`zþJúZ¿×ºHmŧÄÓÿ³þdæd2§ÏÚÔlCôÕh¦ý4'?}’UƒVX-°@Ÿ3·ÎdøƒÃ™ûè\ŽDaøÚá¼¼þeÖýg©í‘;yiýKLè­j´"%3…å–3|íp³ÝSŠ;Ž|iÙiLÛ2qÆáïíOä¥H&mšÄSŸ?Å'ÿú„65ÚÜñyù»Ór‘{Ìüó‰¾Íän“éR¯ ÎvÎøyøñÞãïa4™2£Ðã °Z NvNt¨Ý.õºp,öWÒ¯˜Õk[³-#Ú ¢cE*9U2%}+®$%3¥Ð¶û7ëO“ªMp²s"¨I~~ìüc'Ï·y/œíœ8ˆê«³ó¥2KÙ± #Fºûu7•Íß9Ÿk×îLÇ:q¶s¦gæ=:ø”ømgŒ/´y\c.ïÿج×Gÿ>·oßÙ}øyøÑ±NGmñpñ`b׉ԩ\§@\ÅG¾äÌd&tž@Ëê-q¶s¦©OSô]@¶!›7·¾Y´+rŸS."r 9‚µ•5Ý|»™•{ºzâçáÇñ‹Ç¹˜|±ÀqÍ|š™=ö©à@\rœ©¬›o7V^]àX/rrs8séL¡15õijöØÛÍ€&U›˜•Wu«jÖߌÇRBN‡Ð´jS¼\½Le»þØP` ¶—«WD7¿¢Ž±}íö4ònĺãëHJO2ÕýhÿG<ÛúÙ»Ÿ_çz9}„)›¦p4æ¨i™NȰ³=Ä‹;Ž|¶ø˜•5ðl€—«§âNÝ2‘Ⱥãëxúó§hU½ƒÑ«~¯ãzîŽîXYY<ƹ ñ)ñ$¦&š}(‘‚”„‹ˆÜCìmì©àXÔÌTNþ÷d©ï =lí0þyàÁômÔ—JN•°²²bÅÁ¼õó[f {i(Íñ”Åšð½g÷’‘“a¶õŸ½=.ö.¤f¥’–V ½~ö:¿~qÇøX£Ç˜¿s>ŸþŒaãã3°ùÀ7´€••AM‚jDNn¡¨É› IDATçBY~`9£Öbr÷É<×ú¹bãzù*n”˜–ä%ð"rkZŽ""réÝ 7£ÃxîƒÐè´´cÑf„¯gÈÍkÓÓÕ“ÿ´ú•+›f;3s2ï8î›)«ñ”†­g¶Rýõ=뛕w®Ûøk9G¾+éW =.îm¬lÒj‰i‰||àc6œÚÀZý§Èñ. $21[k[:ÖéȲ'–aeeÅöˆí%G¾´ì4NÅ2+ O'>%oÍ‚‹’p‘{̄Ψé^“×~|ì$93™¤ô$>ÿõsï]̤n“J4£lcmCÛšmIHIà£ýq%ý 9„ž eͯkÊ`$yÊj';'f„Ì ,6Œôìt~‹ýW~x;;‚{ßò¼ŠH+£ÑXº[±°””ââân_ñÿùúÖcÑ¢8úô)|§²pã¾Ú7~œ}ðì—ϲ;j·Ùs=üz°õÌV³²QíG1þ¡ñ@ÞR¥û–r&„Øk±Tp¬@#ïF m;”µ;p4æ(O~úd¡møÎñ5+ïêÛ•žÌK¼ßÙõ;"w’€»“;ëvÆÓÕ“e¿,òn¶œÞkz¡m÷ôëI¿Oú™•Oè—öĆç6ø–Õ[Åw*îkŽ®áÀùÄ\ËÛ'¼v¥Ú @ÿfýÍÖsuõªÔcÎö9x»zó¿'þǼó8sŒ\c.Í|šñJçW´O¸Ü“6nteìXo"""‹|Œ··7®®®·¯X¸¯•„‹È=ï^HÂåÞ3wû\¾>ö5ûÇî/—™øÛ¹Ûã¹—”G®å("""…Øzf+ëv¾kÜ»=>¹5íŽ"""Rˆa!åÂ-Ýíñ‰È­i&\DDDDÄ”„‹ˆˆˆˆX˜’p S.""""baJÂEDDDD,LI¸ˆˆˆˆˆ…) ±0%á"""""¦$\DDDDÄ”„‹ˆˆˆˆX˜¾¶^DDL–ï_Μísðvõfïè½åÑýmGäfnÉŸWÿ$ü¿á7­gÈ5ðéáOYw|Q‰QØÚØÒ¤jF¶I‡Ú,±ˆ•fÂEDÄä…¶/11oÿòå–Ò²ÓèþAw†®ZÞ¡”‰óIç¶vówÎçRÚ¥[Ö5ä¹n$s·Ïe@³ìyqžÛ@õŠÕòå6œÚ`¡¨E¤8”„‹ˆÈ=Çh4’kÌ%77·¼C) w-¤Eµ¬v=.v.·¬»þÄz¶Elcpà`žnù4îNîT¯XÙ̦nåºLûi×2®Y(r)*-G‘{Ž‹½ ÛGl/ï0ÊÌì>³q´u,RÝ-§·ÐÍ·›Y¹••=üzðAèlßÌ€€¥§ˆ”œfÂEDDî2EMÀ.¥æ-W©â\¥Àsž®žºp¨t‘R£™p 9ÂÈu#MwŒÜÁ¼íóصk«Ü#˜šî5X²o w- eõ–|ùÔ—ìúcÏ}õîNîzéP¡í﹓¹Ûç²#rö¶öt®Û™×{¾Nrf2o„¼Aè¹P\\èZ¯+SºOÁžð%‘‰‘ÌÞ6›C‘cÈ!àÆ?4ž–Õ[šÕ»œv™Å{ósÄÏÄ%ÇáæàFë­Óq þ^þ…Ƹeèî^È/ç~!)= €ƒ/¤’S¥bËNà`ë`zœ”žÄ’}KØzf+±×bq¶w¦ùÍÖvÖzÐT/ËÅÒ}KÙøûFb®Æà`ë@Ëê-Ø| ]êvÁÆÚæ–q4˜×C®á¶õ<\<Z¤ºÅQÙ¹2‰i‰ž»œv€ IJ½_¹3š ±€žõ{11‚~=˜¹u&϶~–}£÷ñÞãïñËÙ_xyý˦ú/¶‘ˆ‰8Ù9™µóP݇ˆ˜A“ªMnÙþ¬m³öà0öÝÏÔîSYb=ã¿ÏÌ­3÷Ð8Bdž2¶ÃX¾ ûŠww¿[hÌiÙiLÛ2‘íF²oô>>ÿ÷ç\͸ÊSŸ?Å?˜êŧÄÓï“~lü}#3zÍàȸ#¬ù÷’Ò“xòÓ'ù5ú×Bcœºy*OµxŠÝ£vó;)RÒ[X;×KHI he?œüàÁzéß<ó NvN<ýÅÓ|ö•©îô-ÓùäÐ'¼Þãu½|ˆŸ†þDÝ*u¾vx‘gŽÃÿNÄĈ"ý+‹ SNl‹ØVà¹]ì ='½Lú‘’S."R °Z NvNt¨Ý.õºp,öWÒ¯”Jûý›õ§IÕ&8Ù9Ô$??vþ±“çÛ<¿—?ÎvÎ DõŠÕÙùÇÎBÛHÎLfBç ´¬Þg;gšú4eAßd²ys뛦zówÎ'új4“»M¦K½.8Û9ãçáÇ{¿‡ÑhdFÈŒBÛÞn8mk¶ÅÉΉŸÂÿ~ÛYðÛ™¿s>®^`j©tó톫ƒ+u*×aá?âéâÉ!o˜–oì;»??:Ö鈣­#.Lì:‘:•ëÜQ –6 `Mª6aͯkXudIéIÄ\‹aú–éÄ¥ÄÅ[Þ""–¡$\D¤4óiföا‚qÉq¥Ò~SŸ¦f½Ý¼ Ì Wu«zÓ>lð 0+kàÙ/W/NÅ">%È[bme]àÆ@OWOü<ü8~ñ8“/hÿƶKCþMŠ]ëu5+··±§}íödäd°;j7ëuæHô¦lšÂј£¦e%!ÃBh[³m©ÇVVlX=x5CZaùþå<øþƒ<ñéÿ½;‹ºÚÿ8þ†}•ESqÃwrËÄ5É2M­´½«æ–×¥Œ_î·E33͛٪ݺ¶˜e«¥)æR.Tn¸й¤ ŠìÛ0¿?¸LŽ " ÊûùxôÈ9ß3ç|¾ßàÃáó=c6óÆÀ7€ÂR©\T."b^.^VΘ1—ËøžÎžV 0:‹•·8(0—¼ÍŸ«ƒ¡X{M÷š$¦'’œ‘Œ›i9i´]Øö’ñ;{ŒZ^µ¬Ú.ŽåZåšrIËIÃÅÑ¥Ä÷¢D4)= €çÞ'䦾Úÿ- €öuÛóPÈCÜq󥚳2Ô„Cán1SzNaJÏ)VíE¿p´hQ!óŠHÙ) ©Ä ä™òеÛbßç¢äúbE7Öô¨‰³ÑoWo2r28øìAŒ†ÒÕuWg£3^.^¤å¤‘‘›Q,/*C)Ú1Ä`00°å@¶H~A>‘Ç#YúÛRÆ~5–i·Ocx‡áWœórŸbYìø«°¶½OÓ>vŽDD.¦r‘JÌßÓ¿X)GRzq©q>wf^&Ñ ÑVm1I1$¦'Œ¿§?P˜à™Ì&vžÜYlŒw#ߥë[]1™K·Z|­ŠV°7±ÞC<ה˶cÛputµÜȲ0„#ÉGptp$´a(ïÜ÷ƒ±×Ïäç²ÎÑä•&–ò "é9é|¾÷sú÷»îêÜEª%á""•XhÃPÓùhçGdæer"å³ÖÏ*qOèòææäÆ /EV^ûâ÷ñ̪gp2:1³÷LK¿ðîáú2ù‡Élþs3i9i¤d¥°|÷ro]ÌÔ^Sm¶BÞ=œºÕê2{ýl6Än #7ƒ£gòôwO“”‘Ä̰™VõÑ3œÉ‰kÊ%93™÷"ßÃl6Ó¹~g›Ä[^Ìf3Ïþð,ÇÏ'×”KT\Ã>†¯‡/Ïßñ¼½Ã‘Ìfsù ŠˆØIzz: ¥¿¡1(¨1‹%зozFemOÜî_v¿UÛØÛÆ2©Û$‚æYµ÷ êÉ’û—…%!/ox™MG6‘šJËZ-™~ûtf®ÉþÓû}ëhÂn+qü°&a úï «öðîᴯמ?~Ъ}BèÜÜ™»q.ž¼}ßÛÌÛ4½q{)0кvkžéþL±}ÂS²RxkÛ[DŽ >5oWoš4gd§‘tiÐå’× vJl©®a‘‹÷ Ðb ú/°Äòæ¶7‰8Áé´Ó¸9¹î~ë(«ä::!šO÷|Êo'~#.µpŸðÕ0¤Í·\b=¼­lˆÝÀ¨•£J<6ç®9Å>ýrë±­,Û±Œ½§÷’–F`õ@î¾›':>¡QDJaõjO&L 6öH©Ÿ€§§ç•;–ì %á"rÝ»’p©¼ì‘„«EDDDDÄÆ”„‹ˆˆˆˆØ˜¶(‘Jãâúø’LÀ„Ð 6ˆFD¤â( ‘JãjoÒ¹^©EDDDDÄÆ”„‹ˆˆˆˆØ˜’pS.""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DD*µÌ¼Ln÷vF®iïPDDÊ’p©ÔÌf3æ Škµ |ü€¢¹6úØz©Ô<œ=Ø8f£½Ã)WZ ±1­„‹ˆØ@Ä¡žüêIËãu#×±ð—…l?¾”¬ÚÕmÇΓ;-}ÚÕmÇŠGW°íØ6ÿìqÞ»ÿ=zõ`öúÙ|¸ãCKÿ˜É1 ÆKÆÐt^SL¦RÅëëáKäøÈËöóåÖ^_æxZ̸¯ÇY—tMæÜ5‡ik¦Yú?€‹£ K]ÊÜsØyr'Asƒ0:‰y6ÆÒÿlæYo]ÌO±?‘–€—‹êu`|èx‚ýƒKu-DD*‚Ál6›í„ˆÈµHOO'!!¡Ôýƒ‚³hQ}û¦W`T%+J\;ÖëÈÄ®i]»5‡ÎbÈGCˆÉê?VóÜÚçx­ÿkÜÓâËó&ÿ0™/÷}ÉÝÁwóú€×-í‡"øh×G,{p™ÍÏà“ÝŸ\s¼Wº&Õݪ[ú%áEZ-hE󀿖äÿB‰é‰ þh09ù9Ìí;—Ž9uþÏ­}ލø(>~ècBê„TЕ‘ëÉêÕžL˜@lì‘R?' OOϲNù…ÊQDDì`tçÑt ì„›“mj·!æÙª»Uçîfwãdtâ›ßXúfçg³þðzêW¯ÏO‡"#7Ãrìëý_3¨å {œ@¹Æ{©kRVó7ÏçÔùSLë5{àîäNß&¼>àuÌf3/D¼Pæ±ED®•’p;hS»M‰í>n>ôh܃­Ç¶’”žÀúÃëisS½åQ²ó³Y³€”¬~=ñ+}šö±YÜ葉IYEŠÀÁà`)‡)âçéGß&ì?½ŸÓi§ËuN‘ÒRM¸ˆˆ¸9¹]òØ –ƒˆ8ÁªèU ï0œoöà–ƒè\¿3s7Î廃ßqo«{ù>ú{zõÄÝɽTs–wMxyÇ{¹krµrM¹¤å¤ÐvaÛKö;vöµ¼j•Û¼""¥¥$\D¤’éÙ¸'>n>|½ïk¶Èž¸=,´WGWB„²åØÓùjßW<Óý™R{á ‹×C¼¥aÀPb»³ÑoWo2r28øìÁËÞ°*"b*G©dœŒNÜ|7щÑ,ؼ€ÞMzãêè ÀÀ–1˜xý—×ILO¤sýÎvŽÖ¾ñº9¹‘gʳ<{/ŒÏö|@Ÿ¦}0™MV;Îy7ò]º¾Õ“¹t)oJÂED*¡-°"j…ÕŒa7‡ááìÁЍ h1Cåø6n¯x[ÔjÁѳG‰Og÷©Ýœ8w‚õ:Þ=œ@Ÿ@&ÿ0™Ín&-'”¬–ï^Îâ­‹™ÚkªVÈEÄnTŽ""UŽÑhÆdãÐ=q{¸Ùý–Ç-æ· vJl‰ýCê„РzrM¹t¬×ÑÒîêèÊMïäË}_ÚuW”‹•%ÞÒ\“‹÷Wo1¿Z `Aÿ̸}ÓœÎKîÀÇ͇Ýñ/×l @M÷š|õ¯xkÛ[<¿îyâSãñvõ¦y@sÞ¹ïº4èRþBD®K&SáÏ[Ò>á"rÝ»Ú}ÂÛ·oÀ¤IgyøáÔ ŒJDD®Ÿ|âÍÂ…5رãX©Ÿ£}ÂED®R½zù=êdï0DD¤’8vÌ™úõóm:§’p©rZ´ÈaÏW{‡!""•Äž=.çØtN%á"RåtíšÉÞ½®œ9£›òDDªº¤$#QQ®të–iÓy•„‹H•Ó½{&žž¬\émïPDDÄξüÒoï%á""ÍÕÕ̃¦òŸÿTãüy}©ªÎŸwà?ÿ©Æ¤âêjÛ½JôÓGDª¤±cÏáèo¼QÃÞ¡ˆˆˆ,ZTƒÆŒ9g󹕄‹H•äáQÀÓOŸå£¼9pÀÅÞለˆ8àÂÇ{~/¯›Ï¯$\Dª¬ûîKåÖ[³=º‰‰úì2‘ª"1ёѣkqë­ÙÜwŸ}>3BI¸ˆTYðƧñð03zt-²²ô-QDäF—•åÀèѵðð0óƧq°Ó·~ýÄ‘*ÍÛ»€%Kâ9uÊ‘‡¾I+â""7°ÄÄÂïõ§N9²dI<ÞÞ¶/C)¢$\Dª¼ÀÀ}¬VÂF#aaavŒH¤êQ.""RÅxzzÒ³gO1ôìÙ///{‡%R¥( ©‚î¹çL&ÜsÏ=öG¤ÊÑ'fŠˆ\³Nžt⯿IM5RÂ&"×…¼¼þ89= ˜ÉÍíÇš5®öI¤L 3ÞÞÔ«—Oݺy”° ~¥¤$\Dä L&شɃU«<ùåwΟ×åF1€I“êÛ9‘òQ­Z]»frÏ=étïžÁ·>T:JÂED.ã§Ÿ<˜3§&'N8Ñ©SãÆ#$$›úõó¨VÍD Ÿy"rÝØ²¥'¡¡Gì‰HÙÀùóFŽwb÷nW~úÉÑ£k˜Ç´iÉÜ~{†½C,‘Á\ÒŽý""ש„„ÒÓÓ¯yœãÇxî9_¶nu§ÿt&N<… ÎÚ;)GL˜p–ôtS¦øS·n>!!öýK§ÊQD¤ÊKI12rdm:wÎdòäd{‡#""dÊ”dºtÉäÉ'k‘’bßû!”„‹H•·pauàµ×µå ˆÈ ìÂïõ V·o,v]DÄÎvæ³Ï¼ù¿ÿKÆÓ³ÀÞለHóô, <<™Ï>«Ft´³ÝâP."UÚüù5hÙ2—ÓìŠÈ5ùæ›o¸ÿþûéСAAA–ÿ¢££íšH¥3hP-[æðï×°[ JÂE¤Ê:}Ú‘M›<1"E;¡H¥f2™?~<­ZµbÔ¨QäææZ÷Ýw gÏž=4kÖŒ]»v±jÕ*\]]í±Håf0ÀO¤°i“§OÛgŸ%á"Re­_ï›[½{WÎ4)òǰfͲ²²Ø°aQQQVÇW¬Xaù÷=÷܃··7ÁÁÁìß¿Ÿàà`[‡+r] ËÀÕµ€Ÿ~ò°ËüJÂE¤ÊŠŒtãÖ[³pr2Û;‘ËjÚ´)}úôÁÕÕ•^½zѺuk«ãgΜ±üÛËËËÖá‰\—œœÌtîœÅöíöù$Mí."UÖ8sÏ=ª—ÊÏÑÑ‘7ß|ó’ÇÍfý")RÍ›ç°j•}~qU."UVB‚‘Úµóí†TRßÿ=O=õT±ö·ß~›°°0¢££éß¿¿¥}ìØ±Lš4‰ÄÄD–,YÂÏ?ÿÌ©S§((( N:ôêÕ‹1cÆP½zá¶hK—.eîܹVcÿûßÿæØ±c¬\¹’øøxL&O<ñï¿ÿ¾U¿Å‹sçwòÑGñ /X7nÜeÏkúôé 6Œ}ûö1hÐ Kû„ ˜0aÂ%Ÿ7{öl>üðC«¶Y³f±råJbbb0 4iÒ„Gy„ûî»ÏÒ'++‹U«Vñí·ßrìØ1Μ9ƒ««+uêÔá¶ÛncĈÔªUËÒ?))‰·Þz‹­[·‡Ùl¦N:4kÖŒ;°°0\\\®º¯HIj×6‘˜hŸýÂUŽ""UVv¶îîZA”’õë×;vàæö÷Ÿª_ýuÂÂÂfãÆFÖ®]ˤI“ˆ‰‰¡oß¾|ðÁ¤§§³jÕ*Ö­[G^^ï¿ÿ> !!€#Fk5þ¢E‹pttäÛo¿eöìÙ–8.îWä±Ç+vlñâÅÄÆÆ˾}ûðññ±›0aÆ  U«Vlܸggg¶mÛvÙ`ÆŒ¬]»Öªí믿歷ÞbíÚµ4hЀ½{÷2yòdæÍ›géóÉ'Ÿ0mÚ4ÂÂÂX·n¿þú+#GŽäСC|øá‡ 4ˆ”” xôÑGù裈ç½÷Þc×®]|öÙg4kÖŒ§žzŠ/¿üòªûŠ\Š»{™™öI‡•„‹H•e6£]Qä²|||0`€åñ|`uü¿ÿý/]ºt¡qãÆL:Õ’PÞu×]4lغuëÒ¯_?âââ˜3gÎ%çó÷÷g̘1T«VÁƒ[%ÐeáææÆ#ø€ððpºuëÆ£>Ê©S§®º¯He¤$\DDä þñXþ½fÍNŸ>ͲeË:t(†ÿÕ4Õ¬YÓê9O?ý´¥6ûâÿ‚‚‚JœÇÙ¹b>B{Ĉ–8ãââøöÛoY¶l?þø5›mùwNNŽÕ±5jpìØ1~ûí7KÛ¤I“,7¦^JXX[¶laùò儇‡Ó«W/ŒÆÂç"##™>}z™úŠT6*G¹‚=zаaCŽ=J~~>ÿüç?IMMeàÀ–>µk×&88Øò1ñ‡*6Î#ûì3f̘`©5¿š¾"•‘VÂEDD®À`0X­GEEñàƒÛ±dΜ9xzzðã?òõ×_“––Frr2 ,`ïÞ½üßÿýŸMc/2bÄË¿322},gÍšÅ_|QlŸðûï¿ßÒçðáüôÒKDEEa4©_¿>ƒ bùòåÄÄÄXúÕ©S‡Í›7Å÷ßϯ¿þÊÉ“'ÉÈÈÀËË‹   î¾ûn~øaKÉÉÕô)ÉêÕžL˜@lì‘Rõ÷ôô´ºÑú|¡$\Dn(JÂE.í»ï¾cÒ¤IôêÕ‹÷Þ{犯q~á/ "×#{&á*G©"úô郓“Ó5ß)"×NI¸ˆˆÈ êܹsEJJ , iÓ¦téÒÅÞ¡‰TyJÂEDDnP...´oßž¡C‡ÊX¼x±e»Â«1{öl«R(Ü5fâĉå®H•¢- EDDnPîîî–Oû¼V3f̰lý'"×N+á"""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pS.""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DĆ23MÜ~û:FŽÜnïPÊÅv>""¶¢$\DĆÌf3…ÿÝn´ó±G{ "R•xx8²qc{‡Qnn´ó±­„‹ˆˆˆˆØ˜VÂEDl$""ž'ŸŒ´<>pà\\Œ–Ç))¹¼ùæ¬_O||îm[ƒQ£špë­~Vc=›ÃâÅ1üôS< Yxy9Ñ¡ƒ/ãÇ7#8¸Z‰ómÚtóæà—_1 „„Ô`æÌÖzX}äH¯¾z€ÈÈ$òóÍÜ|³7ãÆ5åðm[ƒ×§W¯Ú%žOYç-Í9]IÓ¦ß`2•®4Æ××…ÈȾWì—›[À[oŰzõ)ââ2qq1Ò®]Mx =z`4,}K{í^~ù–RÅ("7.ƒÙlV!ŸˆÜ0HOO/Uß  Æ,Z”@ß¾¥ë_^ÆŒ‰dýúx«$<))›Áƒ7“mbΜ:vô#))›ùó°n]/½t C†Ô 1±°oNމ¹so¡cG?NÊà¹ç¢ˆŠ:ÇLJR£Ø|½{×fôè›iÖ¬»v%3zt$7ßìÍW_õ°ô=~<ƒAƒ6âæfä•WÚqË-59u*ƒÙ³÷}žôô<pÅó¹Úy¯öœliÚ´]¬YÇot¤}ûš¤§ç³téa–.=Ì'Ÿt¥S'_ l×NDìkõjO&L 6öH©ú{zzPS¡r‘J`þüƒœ<™ÉŒ­éÕ«6žžŽ4lèÉÂ…ðósåÅ£8s&ç}pêT&Ó¦µ¢GZ¸»iÒÄ›×_ï€Ùlæ…¢JœcÈú„„ÔÀÍÍH—.þôèÀÞ½ç8w.÷‚8ššÇÌ™­ õ·Œ½pa{²²Le:·ÒÎ[–s²…mÛ’hÒÄ‹ÐP\]øúº0eJK6ô´êW×NDn\JÂED*uëâèÙ³–U»³³·ÝæGv¶‰_~I ËL ôêUÛª¯ŸŸ+Mšx³ §Og›£ukë•äÚµÝHHø»ïÏ?ÎÑ­›u5j¸Ð¨‘uÒYZ¥™·¬çd Ý»×b×®³LŸ¾›={ÎYÊ]""Â,«àP1×NDn\ª ±³ÜÜÒÒòpq1âáQüÛ²¯¯+PX²RÔ mÛU—óرtjÕr³jóò²ÛÙ¹°t¤¨(17·€ŒŒ|\\Œ¸»¹XµjN¥?©«œ·¬çt±Š¨ þù6„„Ô૯ŽóØc[hß¾=Ô;î¸ÉrqíD䯥$\DÄΜðòr"--ŒŒüb‰ø™3Ù@᪰³³ÞÞNddäsðà«›Ë#G22òÉÌ4K&““sÊm®‹ç-¯sЉXŽ‘2`àÀz Xü|3‘‘I,]z˜±ceÚ´V d·k'"×/•£ˆˆTE+ª7ž¶jÏÍ-`Û¶$\]tíZx3PŸ>u0™ÌìÜ™\lœwß=D×®?–z5øbÝ»ÎQTZQ$))›£G+îÖŠ<§kò=Gޤàèh 4ÔŸwÞ¹ƒÁúõ²×µ‘ë“’p‘J <¼9uëº3{ö^6lˆ'##Ÿ£GÓyúéßIJÊfæÌÖøúºXúz0yòN6oN --””\–/?ÊâÅ1Lڪ̫Éáá-ðñqfÖ¬(¶lI$3ÓÄ¡C©Lž¼ ??×ò<勿­¸s*3gîá?Γ›[@rrï½w³:wþ{ëH{];¹>i‹B¹¡Tæ- /Þ?`À€z,XÐ(Ú'<†ˆˆ8NŸÎÂÍÍ‘¶m«3jÔÍVÉ^Qß·Þ*쟅··3Í›WcäÈ&téâÀž=ç¸ÿþMVÏ;¶)“&5'(èk«öž=k±dIgŽMgÞ¼ýlßž„ÉÁÁÞüßÿµäßÿ>ÈÞ½)ìÛ×ÿ²çóØcË4oiÎÉ¢£Ïóé§Gùí·3ÄÅeáââ@ƒ ÒÁƒëc¸àwƒÒ^;©ì¹E¡’p¹¡Tæ$üzwÇëÉÎ6ñóÏú˜ú«¥k'R9iŸp©’’²i×îòó­×gNžÌàøñôb+òò7];¹JÂEDÄÊùó¹Ì˜±›øø,²²ò‰Š:Ëĉ;ðòrbܸfö¯RÓµ‘ÒÒ…""báççʲe¡|üñŸ<ôÐ/$$dQ­š]ºø³pa{êÕs·wˆ•–®ˆ\ %á""bå¶Ûü¸í6•N”…®ˆ”–ÊQDDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pÓ>á"""äûïOòÔS¿àììÀÁƒìÑõï‡NòÎ;‡øóÏtrrL¬^};7ßì].ã/]z˜¹s÷àÊÖ­w•˸å)""ž'ŸŒ´<>pà\\Œ—ì_‘ç}ž ²sg2&SmÛÖ`âÄ`Úµ«yÉçlÚtšÙ³÷ñ×_ÄÄ ,·X®7Z ‘r“™iâöÛ×1räv{‡R)ôëW—ØØAúŸ«p¹÷ÐÎÉ<õÔúóûïw³aÃÔªåV®óÑ„ØØAW+×qËSXXmbcÑ»wíRõ¯¨sŠŠ:ÇàÁ›ñðpdíÚÞlÞ|'õêyððÿ°eKb±þ'Nd0jÔvæÏ?È™3ÙåËõHI¸ˆˆ”³ÙLAAákÕê;xàg;D%ד˽‡Ö¬9…Ù C‡áîn$0Ѓ-[î,·Up[¹¾ ÌL™² oo'^yåüý]©^Ý™_lKýúžLº‹ÜÜ«ç,\x[n©Á·ßöÄÃCź""Rn<<Ù¸±½ÃëØåÞCññYøø8Ù2$)Áï¿'søp*?ÞW׿KaŒFýúÕaÑ¢?ذ!ž;ï¬c9öòË·Xõ­ê´."""ד©øê¸ØÇöíI´jåSìX«VÕÿ×çŒU»pkZ ±¡ÜÜÞz+†Õ«O—‰‹‹‘víjòÀ èÑ#£Ñ`é{äH¯¾z€ÈÈ$òóÍÜ|³7ãÆ5åðm[áÀÁƒëóòË·\qÞ1c"Y¿>Þò¸]»š¬XÑ €mÛ’xüñ-¼÷^gzõªÀìÙ{ùðÃ#–þ‹wbܸ_-×­ëÍÂ…ÑlßžDJJ.sæÜ´i»,}Šn»ð¦°;“ ú(\1»ð¦¬³gsX¼8†Ÿ~Š'!! //':tðeüøfWUËzñMk›7÷á•Wö³iÓiœtïÀ¿þÕš´´<^|q‘‘‰xx8ѳgÓ§·.ögò””\Þ|óÖ¯'>> wwGÚ¶­Á¨QM¸õVëZï _3“ Z´¨Fxx‹KÆZçÜ´é7¥NN}}]ˆŒì{Éã©©yÜrË÷VmO?Ýœþ³)&“™¦M¿±´ßyg/îXêó¸øu¹š÷ÐÅÏmÑâ;5òâÏ?Ó®:Þ«qäH/¿¼Ÿ;Οo¦M›êLšÔœvíj^õõjÛ¶z©¾.|Ï>MÎ4nìÅ€õ¸ûîºÅ’Ù¤¤læÍ;À/¿$b4 ©ÁÌ™­ ô¸ì¹}ûí_<óÌ«¶íÛïÂÏϵT×(±&¿¨íèÑ´bÇäo³Ù¬_+E䆑@zzz©ú5fÑ¢úö-]ÿò0mÚ.Ö¬‰ã7:Ò¾}MÒÓóYºô0K—æ“OºÒ©“/Çg0hÐFÜÜŒ¼òJ;n¹¥&§Ne0{ö>¢£Ï“žžwÕ;m|òÉQž{n¯½Öž{î©giŸ–äÿB‰‰Ù ¼™œsçÞBÇŽ~œ:•ÁsÏEuŽ?%$¤ÆUoQ}úÜÄ“O6¥qc/Ö®#<|Ý»àääÀĉÁÔ¯ïÉ·ßž`æÌ= Ö˜éÓ[[ÆHJ*Œ+;ÛÄœ9!tìèGRR6óç`ݺ8^zé† ©”üšýõW/¿¼cÇ2HL̲zÍ*âœËËðáÛØ²%‘õëÊ%rƒoæñÇÓ¿]àêÏãZÞC—j6l+[·&]2ÞÇkdõž/þý7pòd&-ZøðôÓÁûpäH*S§îæÈ‘4þûß.tìè[¦ù/÷µPôžËÉ)ॗÚÒ©“YY&V¬8ÆÂ…™>½ÆY]Þ½k3zôÍ4kV={Îòä“‘4jäÅW_õ(vNgÏæXvG1™Ì¼òÊ~Jåõ×;P­šs©¯ÏС[Ù²%‘/¿ìA›6Õ­Ž?žÁí·¯£E ¾ý¶g‰ÏïÒe gÎäØ}w”Õ«=™0!€ØØ#Wî xzzPS¡rÚ¶-‰&M¼ õÇÕÕˆ¯¯ S¦´¤aCO«~óç 55™3[ê»»‘&M¼Y¸°=YY¦2Í}÷Ýuprrà›oþ²´eg›X¿>žúõ=øé§x22ò-Ǿþúƒ–8ÖèÑ7Ó©“/nnŽ´iS˜˜T¯^úà›?ÿ§Ne2mZ+zô¨e9ß×_ï€Ùlæ…¢Ê<öàÁõiÙÒ77#Ö£Io6oNà‰'š\ ww#=ÔºuÝÙ¼ÙzG‡ùóròd&3f´¦W¯Úxz:Ò°¡' vÀÏÏ•_ŒâÌ™Ë9\üš5mêͼyíHL̲é9_«#šPP`æý÷[µïÜ™LBB6}ûþ]ç[Öó(Ï÷ÐO\:Þ¸¸Lúö­[¦qÓÒòoA»v5qw7ÒªUu,hO^^³fí­ù‹Þs3g¾ç<<ñõuáŸÿlJ·n%'C†Ô'$¤nnF:wö£W¯ÚìÝ{Žsçr/9Ojj#Flû_Ü·]U~%Eë»Ã:VqJÂEDl¨{÷ZìÚu–éÓw³gÏ9KADD˜eàçŸèÖ­–ÕókÔp¡Q#넽´||œéÑ#€­[IJ*ÜlýúxÚ´©Î£6";ÛÄÚµq@áŸÃýõ }úÔ)q¬‹W¾®UDD<zõ²ÞrÍÏÏ•&M¼Ù¿?…Ó§‹'²¥QTŸZ$  ðOí-[Z—{ÔªåFB‚õëÖ^ž=­_ggn»Íìl¿üRøZ]ê5ó÷w-öKTì9_«Ûnó£yój|õÕ_–R€%K3lXUÙTYÏ£<ßC¡¡þ4mê]b¼?ÞGDzeƒ..Æbq6mê¿¿+ÑÑçILÌ.÷ù‹ÞsÝ»O¸ÿóŸÛ,«àjÝÚú/&Eïñ‹ßÏEþü3ûîÛ„ƒƒ3Z[½ž¥ååUxslff~±cE ÞÞºörT."bCÏ?߆|õÕq{l íÛ×ࡇrÇ7…uãù¸¸qw/~#SµjeÿÁ6hP ñ¬Zu’áÃøæ›¿4(Îý˜;w?ß}÷÷ÞÈ÷ߟ¤gÏ€çps+¿¬rs HKË mÛU—ìwìXz™ö„öô´þQg0ÖູY·;8¬¶Å+ŠËÅÅXâvj¾¾…‰NRRö_³š5]8zôï²§ò<çò¬ ¿ÐO4á™gvðñÇ2n\3ŽMç÷ß“Y° ½¥ÏµœGy¾‡†mÌÔ©»­âݾ=‰W^¹ò=—âããTâjnÍš.$&f“œœƒ¿¿k¹Í¥÷Ü¥xy/”TpœššÏ“OþJ­ZnlÞœÀ·ßþÅ€WWªи±@‰¿`µ5lèuÕãV%JÂEDlÈ`€ë1p`=òóÍDF&±téaÆŽý•iÓZ1|xÎÎxx8’‘‘Of¦©XR—œœSæù{ö¬…3_}‚ë±gÏY/«‘ÐP¶lI$11›¯¾:Á3Ï4¿ÖÓµr©?M;;;àííDFF>(Óª\EpvvÀËˉ´´<22ò‹%EE6âççzÅ×ìÂÕÑ¢±Ëëœ+ª¦¶_¿ºÌŸ€>ú“Q£næý÷óÀ ¬®Cezí dÁ‚ƒVñÞ{oà5•Yý‚q±¢¯Áš5]Ê4ÿå¾.÷ž+F#,[Š——ƒobÚ´Ý4lèIëÖW÷—‰[oõeñbØ¿?¥XÙÚþý)tîì[ÒSåTŽ""bC!!ß[vpt4êÏ;ïÜŠÁ7ž¶ô+úStQ‰C‘¤¤l«Õ«åääÀÝw×µ|ÔtïÞµ-;- ˆÉdæõ×£IL̦sçòý”G77GòòþþðŽ°°>ûì}úÔÁd2³sgr±ç½ûî!ºvýÑ.ÛÓýuâÂ× W,·mKÂÕÕH×®…¯Õ¥^³sçr9z4£ØØ•õœ‹† "99‡÷ßåûïOò4.Ö¯²œ‡³³<ÒÈï·ßþÅСÅK7®Ff¦‰èèóVm11©$&f\Ͳ ~µó_îk¡è=·iÓébÏëß/½´ïšÎÉÃÑ€WÜݼûî­¸»3&ÒRZSZ;úäÅš5§ÈÉùû>“ÉÌ÷ߟ¤vm·be\bMI¸ˆˆÍœ¹‡?þ8OnnÉÉ9¼÷Þ!Ìf¬’Þððøø83kV[¶$’™iâСT&OÞUªíÃ.gàÀÂ?=¯XqÌj+,¬ð&°+Ž1`@=ËŸ´ËK‹>=šN||»wŸåĉ :t¨ @xxs=˜> oogš7¯ÆÈ‘MèÒÅ¿ÔçVR¬cÇ6%,¬6ƒY·‡‡7§}{_|Ðú#Ä'Lf„f–¸Þ|³0®Ó§³pss¤mÛêŒus±¿\øšíí>~|3>ø ¶Ä½ÝËëœ+Ò+¯ìgÉ’Ã|ÿ}/š5+yïòҜǵ¼‡î¼³N±v€•+{ж­uÅôé»Y±âË—w³$¶WãÂ}í\yûí[™7ï{÷ž¥ Z·®Î3Ïî^’ÒÌ_𝅘𝅥𝅮ßs5j¸Ð±£/O=Lƒž—|OšÔܲ÷x‘ž=k1`@=žzê÷‹âlEHHÍbã\ø5[žgÁ‚ìÜ™LA™6mjðÔSÁ%^Ÿ â5ªøë…{Äm÷iKöÜ¢PI¸ˆÜP*{^î¸c=ÙÙ&~þY/r±•+óñÇòÍ7%ïO}£Ï/WGû„‹ˆˆ•¤¤lÚµûü|ëu’“'38~<½ÜëµEnË—cøðk«¿žç—뇒p‘Jêüù\fÌØM||YYùDEeâÄxy91n\3{‡'R)|þùqž|2’ÌLŸ~z”óçs¹ûî²}8Ïõ8¿\¿´E¡ˆH%äççʲe¡|üñŸ<ôÐ/$$dQ­š]ºø³pa{êÕs·ô½¸´$Ö8_ϪҹJéEDIJÊòI—º´¢Þ?¥ÿz ¯1ÛQM¸ˆÜPªBM¸ˆˆ”Õ„‹ˆˆˆˆT!JÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pÓ'fŠˆØÈÒ_—2wã\<Ø:n«#º6|ü;Oî,ñØÐöC™Ñ{F‰Ç6ÙÄìõ³ùëü_Ä<SbŸóÙçù!úVÿ±šè„h²ó³©åU‹67µadÇ‘—ÛyˆˆØƒVÂEDldD§ÄN‰­² 䉔ŒZ9Šù›çs&óÌeûÎÝ0—Ö½@ï&½ùqÄ옸ƒ¹}çr0á ÿ;ˆC6ŠZD¤bh%\DDÊìë|M«Ú­JÕwáÏ ¹¥Î-¼}ßÛt{³YyY—í?¸Í`†¶jyÜ¡^ö_HÿúóÊÆW»9ìZB±+%á""b/÷}WG×R÷-Ip@0®Ž®œH9ÙlÆ`0”gˆ""6£r±‰Ò&à—“•—Ev~67ûݬ\D®kZ ±“#ÉGxyÃËì8¹ƒ|S>mnjän“hW·¥O®)—·¶½Åê?Vw>GÚÕmÇm G£ŒWœ§é¼¦˜ L¥ŠÉ××Èñ‘¥>‡o|ô§qìì1ŒFšù5ãᇹ§Å=¥ãj¬þc5co[!㋈؊’p;ÈÌËä¹uÏñt×§ æÈ™#L]3•G—?Êü/ëuàùuϳæ5¼1ð Ú×kOzN:K[Êè•£ùäáOèØéŠs]j’òp>û®>%ÞXXÓ½&‰é‰$g$ãïéÏóaÏrS_íÿŠÇ–?@ûºíy(ä!î¸ùŽRÍU‘5á%ñ÷ô 9#ùšÆ0™MŒûzž¼ÚïUŒ%à"rcP."bi9i%¶'g&®5=j`0Ør [$¿ ŸÈã‘,ým)c¿Ë´Û§1¼Ãð+ÎU‘5á%IHKþ>‡k1ãÇäšryû¾·­ð^ïô . IDATâµ{^£íMm¯y{P9ŠˆˆdæemÕ“Cbz"ÁÁ–Õä…!I>€£ƒ#¡ Cyç¾w0 lŒÝhó¸‹|õ9>P¬Ýl6[v0¹½Éí×4Ç¢-‹8”xˆwïg£ó5%"RÙh%\DÄÜœÜx!â¦Þ>•›}o&öL,S×LÅÉèÄÌÞ3­úÎüq&ÿ ûj6"-'Ov}‚Ùl¦sýÎvŠ¾Ð„<·ö9†wN-¯Zœ:Š7·½ÉþÓûy¼ÝãÅjޯƗû¾dÑ–E´^к¼B©4”„‹ˆØÈÒ_—2wã\<˜vû4æmšÇÞ¸½˜ h]»5?ô±Õ>áŸ>ü)Ÿîù”‰ßN$.µpŸðÕ0ç®9 n=Ø^§ÂÀ–ñvõæ»ß1lÅ0N§ÆÅÑ…æÍYxÏBú7ï_ì9b70jå(«¶ ¹A̹kCÚ ±´ÿócÅž€ˆˆÌf³ÙÞAˆˆ”—„„ÒÓÓKÕ7(¨1‹%зoéú‹ˆÈeõjO&L 6öH©ú{zzPS¡špS.""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pS.""""bcJÂEDDDDlLI¸ˆˆˆˆˆ9Ú;‘ªbé¯K™»q.žl·µÂæú1æGÞÜú&GÏ%;?€ÕO¬¦º[uænœËöãÛILO`@‹,è¿ Âb‘ëCtb4 6/`çɘ L´­Ó–‰¡iW·ÍÇ®ÈXD* ­„‹ˆØÈˆN#ˆKp@p…γûÔnÆ3žÐ†¡ü6ñ76ŒÙ@-¯Z<½êi"GòÁ5)Š‘FVh,r}ˆŠbð²Áx8{°väZ6ÝL½jõxø“‡Ùrt‹MÇ®ÈXD*%á""7˜¢Àl63´ÃPÜÜ ô dË?·àçéGäñHÂn£©_S<œ=x¶Ç³¼ÚïU{‡\îZ-hÅ?PæãUI¹€)?LÁÛÕ›Wî~Oª»UçÅ>/R¿F}¦®™J®)×&cWd,"•’p‘L|Z<>®>Öí©…íÕÝ«[Ú ý(¨Ê~ÿëwŸ9ÌMïÄÕÑÕÒnt0Ò/¸ñ©ñlˆÝ`“±+2‘ÊFßyEDn0¦ÓeÛ lŽTrÛo UíVÅŽµªÕʪOE]‘±ˆT6º1SDÄNŽ$áå /³ãäòMù´¹© “ºM²Ü|öæ¶7YøóBÚÕmÇŠGWðóŸ?3üóáø¸ù°câ"EðäWOZÆo1¿E‰ó.Ú²ˆE[ðÉßÐ)°g3ϲxëb~Šý‰„´¼\¼èP¯ãCÇì\âøëF®cá/ Ù~|;)Y)ü>ñwª»U/>é.¾AõíûÞæÕM¯E¹ Øu0™MüøÇ|õ91I1¤å¤Q¿z}†´Âãí·¬æ_8öΓ; 𮤯<sÅãEÊëz̹kÓÖL³ôÙôä&æmœÇ/GÁè`$¤N3{Ï$Ð'ð²×¬HÓyM/ùKÖÅ|=|‰yÅ~G’Xî¸P-ï¶£gðÀǰóäNËñ¢›zÿìq¶ÛfißõÔ.¼]½¯jì«Eäz§•p;ÈÌËä¹uÏñdç'Ù6nËYÎùìó<ºüQ~ûë7þyÛ?‰‹›“›Õs»5êFì”XZÖjiÕvs±Sbéݤ7ÂpxòaM>D̳1|ù/×e1“cˆ™CÇzILOdбúÕ¼pÇ ìzzŸ>ò))Y)Ü¿ì~vŸÚ]âø3~œÁ£·<Ê/cáË|‰ÑÁXªs¿ðÕÔœTf­ŸÅ¤n“øu¯%^€ÍG63ñÛ‰t®ß™µ#ײåŸ[x°íƒÌùió6Í+6¶›“íê¶#vJ,±Sb- ö•Žåz=.î3{ýl†uƶqÛx}Àël?¶§¾}ªT× æÙKÌWú¯4 8@ZNîÎîÅŽ¹;¶Ï:ÀŠGW°jØ*ÜœÜfö³X:x)mj·áßþMì”X¼]½¯zì²ô¹ž) ±ƒ´œ4»‡Ó®n;ÜÜiU» ú/ ϔǬõ³Êmž¢šo£ƒ‡ÿ}Ëw08`41Œ æožÏ©ó§˜Ök=÷ÀÝÉ&¾Mx}Àë˜Íf^ˆx¡Ä±GwM§ÀN¸9¹Ñ¦vbž¹â*øÅ²ò²x±Ï‹„Ô ÁÍÉí²×¡S`'ÆtC5×jTw«Îãí§óþ|øû‡¤ç¤—í• "¯Ç6C,çÚ¥Az4îÁÞø½œË:Wnñ—'3f ð}T$8 ˜ywÏ#:!šðïÃ1›ÍÌøq·5¸~Áý®iìòì/RÙ) ±GÚÔncÕÖÔ¯)þžþD'D[öð¶…ˆC8èÔ˪ÝÏÓ&¾MØz?§ÓN{ÞÅñ—…›“›¥¼£HIסWP/>yø“bÏö&¿ ŸÃg_s,E*òz´®ÝÚêqmïÚ$¤%\CÄׯËÅ €ÌÜÌbDzò²,+ÛEîjvcoËÚ˜µ<ðñ¤d¥ðt·§¯yì²Ä"r½RM¸ˆˆø¸ú”¸¢WÓ½&‰é‰$g$ãïé_áqäšr-%m¶½d¿cg«Ó½¸L¦,¼]JN¨.¾i9i¼ÿÛû¬;´ŽÓi§IÍNµê_” ]«Š¾EIfg£3ð÷*ï•TDMxãšJüÅâtja[à ‹{ºëÓl=º•]§vñj¿WKÜeçjÇ.k,"×#%á""vP”è],93€š5-mòLyÅú^œˆ–…³ÑoWo2r28øìAŒ†ÒÕu——”ìÌfs±_H.¾£VŽâ÷¿~gfï™ôoÞŸênÕ1 |ðû¼ôÓKÅ’Ø+ís©ãö¾Wraízy¹5ðVo]ÌþÓûÔrÕ±ý§÷й~çbÏûõį¤ç¦ÓÔ¯)ÿZû/šù5+öATW;vYc¹©EDÄ2ó2‰Nˆ¶j‹IŠ!1=‘à€`«UpOÿb+ƒIéIĥƕK,}šöÁd6YízQäÝÈwéúVWLæÒ­¾^­œüöÆïµj»ø:˜ cóóôãíÿA ÷–¤='?§Äqݜܬ~q {/ŒÏö|Vªãö¼öÐ1°#A¾A¬ùcÕõ4˜ø>ú{j{צgãžVÏ9yþ$SVOáÍAoòîýïâêèʘ¯Æp6óì5]–XD®WJÂEDìÀÍÉ"^ *>Ь¼,öÅïã™UÏàdtbfï™V}C†’˜žÈG;?"3/“)'˜µ~5Ýk^bô«Þ=œ@Ÿ@&ÿ0™Ín&-'”¬–ï^Îâ­‹™Úkj…­{¹x±àçì>µû’×Áè`¤S`'’Ò“XòëÎe#;?›Èã‘|ºûÓÇmQ«GÏ%>5žÝ§vsâÜ :ÔëPªãö¼öàðÿìÝy|Ì×þÇñ×d²o‚,\Ä–4=Ö"m¬ÕjU´è¦½ªEµh©{«Ô­¶jûQ—«½Õꦺ·Z­j+)R[(jWÄZD!²o“ùý‘›©‘ bÌ„¼Ÿ‡ÇÃ|¿gÎùœïLøäÌç{ÆàÄôÞÓ9—{Žçxž”ÌÒrÒ˜3™#gŽ0õΩ¸9»YÚgdóä×O2©ç$BüC¨[­.oÜûII<ýÍÓV¸ï+m/r=3˜Íæò¢‰ˆ\’’’ÈÌ,ßN!!™7/‰Þ½m·³Æ¥”µ?öÌÕ3ÙqrEæ"ZÔnÁsQÏYí Å¥+ÓVNcõÁÕ¤ç¦Ó¬V3&vŸÈ¤Ÿ'Y>¢~ËpZý­•Õ¾Õ%¾zô+^Xþ‡ÎÂTd²ì˜Ò#´oô{€´œ4Þ\ÿ&1bHLOÄ×Ý—&AMÚa(t`ÛÉmô_Ô¿Tÿ ã*t=ú¼ß‡3YgXôà"¦ÄNa뉭˜ŠLe^‡³9gyý××Y}p5)™)øyøÕ(ŠïÞÚðÍj5ãÛÁßp(õšÈ®S»ðóðãÉŽOòpÄÖþ.wÞV×£¬6Ouzб·µìQ^¢kHWÞéÿN…®¥-ìIÚÃì¸Ùl9±…¢¢âýÚŸ½õY«×aòŠÉ,ÞºØòxùãË ð ÝÜvV}¹m OwzúŠú¾ÒXDlaùroF"!á`¹Ú{{{d‹¡¿T."7”Êœ„‹µ’$|ÝÈuŽEDª(G&á*G±3%á"""""v¦- EDÄf.¬s.‹‡‹‡Õ¾Þ!ÓC,uÒ""U…’p±™ŠÞ¤)"RÕ¨EDDDDÄΔ„‹ˆˆˆˆØ™’p;S.""""bgJÂEDDDDìLI¸ˆˆˆˆˆ) ±3í."âS2wÍ\6ý¹‰³9g1™ðqóá÷1¿°pãB¦¯š@wëF®sX¼RlóñÍ<°ø>~èc:w(u~ÙÞe<»ôY\®ìùÇžJ_y]lzOŠØŽVÂEDììø¹ãô_ÔŸƒ©yóÞ7Ù6fÛÇnç?ÑÿÁÉð×?ËOtx‚„ñ „…;0Z9ß/~ÁÏöõÚ–yþîð»IŸ@§ìY±ËÅW^›‡Þ“"¶£•p;ûlÛgdäe0ùöÉ´®ÓÚrüΛïäΛït`dr9±béÒ¸ FƒÑÑ¡”©²Ç'"ÑJ¸ˆˆ9s€›ovl rE¦äð™ÃôíáèPÊTÙãkJÂED쬰¨(®µ•ëGìX\®ÜÖè6G‡R¦ÊŸˆXS9ŠˆˆÄìaÄ’–ÇMg5-³Ý½Íïeæ]3/Ûß™ì3Ì_7Ÿ_~!)# 7ÚÕkǨÈQ„†—9æê«™¹j&k¯Áèd$¢N“zL"Ø/ØÒÆd6ñÓ?ñÅö/Ø—²Œ¼ êW¯ÏÀ–y´Í£–ºõ ûŽÇŒU3X}p5®Î®D5Šâ_=ÿEF^¯Ä¼BüÑx¼Ü¼èÚ¸+»OÄËÕëŠçs9a3Ã,7¹^Ž¿—?ñ£âËÕŠë­;Ö‹§åØÁÔƒüßêÿ#þX<¦"Mƒš2®Ë¸‹öq¹9¦ç¦Óúß­­ž3æ¶1<ÝéiLfa3Â,Çﻃùýæ_4¾|S>o®“å,ç乓¸9»Ñ¦nîou?]uÁèôWÉÊ•ÎãüçM[9ÍÇ7Sh*¤åßZ2ö¶±´©Ûæ²Ï©ê”„‹ˆØIÏ›z’0>'¿~’رì·7g7Ëù³9gi7·]¹úJÎLfÀGÈ+Ìczïé´nωs'xéç—迨?‹\LDˆRcN‰Âð[†3ã®l=±•á_ ç٥ϲäïK,}nj㙥Ï0.jó¢çQd.âû=ß3%v §2N1¾ëø2ç3uåTFtÁŒ»fð󾟷li9i¸]sÛêW¯ÏÒ]K™ôó$¼\½˜Ø}âÏçröýs_y_Ž+’šÊ¶“Ûxùö—-ÇŽž=Ê€àáìÁüèù´®Ûš?ÓþdÚÊi;{¬TåcÂø†|1„µ‡×;<Öò ’Ñ`$a|>À£m¥O“>—ŒoòŠÉüøÇü'ú?´­×–̼LnZÈð¯†[ížr¥ó(‘]ÍK+^bÌ­c çà郼ðã út>ð!í뵿êë.r#S9ŠˆÈuhVÜ,Nœ;Á„nèÒ¸ ž.ž„ú‡2·ï\Ìf3/Ǽ\æó¶HD<\<èÜ 3]waGâÎæœµj×!¸Ov|’jîÕ¨îQÝ’ô}ðÛdæe–Ù÷€hV«.D7‹&Ô?”¸Cq<ÞþqÂÃñtñäÁˆ©[­.q‡âl2{Y™°3fº‡v·›7‹ôÜt&õœDdÃH<]< cæ]3IÎL.ÕÇ•Ìñ‰öOPd.âÝïZõ±åø’2’èÞû²ñ­?²žPÿP"Fâî쎿—?㻎§a†¥âº’y”ÈÈË`\Ô8ÚÔmƒ§‹'Ík7gvŸÙ˜ x5öÕò]X‘*LI¸ˆÈu(f N'º…t³:à@¨(»NíâTÆ©RÏkQ»…ÕãÚ¾µHÊH²ëÒú¸ÔsÃÃ),*äÀéeÆÔ¼vs«ÇA>A4«ÕÌêx-ŸZVã]Í|ì%f Ík5'Ð;Ðrì×C¿”ªÁô,•è–ôQÞ9vjЉ&AMX²k i9i–¶ïl|‡ÇÚ=Vj÷“²â‹jÅÖ[™øãD¶Üf)Ó‰cµ‡ø•Σ„›³-k·´:F w {“ö^2•£ˆˆ\wòMùdäeÐjN«‹¶;ræµ|jYóqó±z\rs¨³åXF^ïnz—ûWp*ãé¹éVÏÉ)È)ss˜ßþüÙ}f_6>€É='ñ·–ìZÂ#Ÿ>@Ûºmy0âAn¿éö Íã|~î~ †ÒÏñ¬Irf2©Y©V¿ˆˆ5%á""×W£+¾î¾dåe±çŸ{l¾'ô°¯†ñÛŸ¿1©Ç$ú4éCuê Þÿí}^ûå5«„Ýl9ŸkQ¾îÈ:r s­¶þs5ºâåêEV~ÙÙ¥ØóW¯KÚ_éïnr7³âfñÑ–vË0ÞÝô.÷·º¿Ô ­eÅ`0ˆnMt³h ‹ ‰?ÏÂM yjÉSLè>!í†\ñ<ÎWòKÅ…R³Sâ^D.Nå(""ס^a½0™Ml9¾¥Ô¹ñ ¸õÍ[1™Ë·"|>SQqŸÞü½íß©áYòڙW˜wÕq_̵š-Ĉ¥ž_=n ¸ÉêxT£(à¯rŽgsΖ¹z|¥s4Œ n;˜ÔìTÞÝô.Ëö.ãïmÿ^îø"æDp0õ ÎNÎD6Œä­ûÞÂ`0°*aU…çQ"» ›½I{­ŽíKÙGrf2áAáZ¹ %á""סqQãö æùž'îPy¤å¤ñéïŸ2Ý|^èöB…V”NF:w %3…w6¾ÃÙœ³äæ4žO~ÿä̤صšÏÕ*2±2ae™_€3®Ë8ü<üx5æUÖ^KvA6 §ûÝØ2K;*2ÇZ=€›¯ÿú:=C{äTîø&ý4‰?’ÿ ß”Ojv*oÇ¿Ùl¦cýŽžG ^Žy™í‰ÛÉ)ÈagâNžûþ9\Œ.Lê1é’×UDÀ`6›mû¹¢ˆˆ%%%‘™Yöî i̼yIôî]¾öWëÂ}µú6íËì>³yìóÇXsxÕ¹¡=ˆ=kuì©NO1ö¶±@q©À›ëß$æ@ ‰é‰øºûÒ$¨ C; ¥sƒÎl;¹þ‹ú—ÙGÈô«ã]CºòNÿâÄûõ__gõÁÕ¤d¦àçáGT£(¼xkÃ[@ñÍ–“oŸ\fß=C{ÒïÃ~VÇÇE£m½¶<°ø«ã£#G3:rt¹çco[ŽoáþÅ÷[méw¾Ãg3sõL6Ý@¡©›nbTçQ¼¿ù}ÖYï3­÷4 bsœ±jïl|‡eC–•ú–ÕKÅ·7i/Ÿlû„MÇ6q2½xŸðÕ0°å@´`UÏ]Þy4®Ù˜é«¦äÄïû/3WÏdÇÉ™‹hQ»ÏE=§}Â庱|¹7£G‘p°\í½½½ º|ÃËûRI¸ˆÜP*s.ן«fðåŽ/Ù8z£CVâ/§²Ç'RÙ92 W9ŠˆˆÈEĈ%ªQT¥Mp+{|"rqÚEDDä"b†Å8:„Kªìñ‰ÈÅi%\DDDDÄΔ„‹ˆˆˆˆØ™’p;S.""""bgJÂEDDDDìLI¸ˆˆˆˆˆ) ±3%á"""""v¦$\DDDDÄΔ„‹ˆˆˆˆØ™¾¶^DD¬,ܸ髦äĺ‘ëQÕ¶úàj¦ÄNáÏs²ïŸû.ÚÎTdbÑ–E,Ùµ„é‡q6:Ó¬V3FtAçí±ˆ”‡VÂEDÄÊž a|áAáŽå’² ²é¾ ;C¿êèP®‰ciÇöÕ0fÅÍâtöéK¶5™±d3VÍ``‹¬}z-ˆ,£nµº þ|0Ëö.³SÔ"R^JÂEDäºd6›)2QTTäèP®‰9¿Î¡uÖ,}l)^.^—l»t÷RV&¬ä¡ˆ‡x¤Í#øyøQ·Z]¦Ý9F5ñÒÏ/‘ž›n§ÈE¤Ãüuóù%á’2’ðqó¡]½vŒŠEx`x™1®º‚9kæ°áèÒrÒøí™ß¨îQýŠ®åîq»qsv³¡=˜;…ÇÚ=Æú‘ë™Ûw.ŽlàÙ¥ÏZÚ?ÝéiÆ'àáâaÕÏmn#a|Íj5»dÿSWNeØ-ÃØ8z#/v‘¥»—2ö»±L‰Â˜ÛÆ?:žÑGóÅö/ø÷š—svA6/­x‰G°~äz>}øSÎåžcЧƒØôç&K»äÌdú}Øå,çåÛ_f똭|òð'¤å¤ÑQ~?ñ{™1¾øÓ‹ j=ˆ5O­áë¿]®¤·¬~Η’™BôÑ|¿ç{&õ˜Äæg6óõ£_ãáâÁ#Ÿ=ÂÛ¿°´¼b2nþõø›ŸÝÌÏC¦QÍF ÿjx¹WŽ÷ýs ãÊõçZ$à·6¼€• +KûõЯäæ\“±E¤b”„‹ˆ8ÈÀ–‰¨‡‹t¦Kã.ìHÜÁÙœ³6é@‹4«Õ ¢›EêJÜ¡8oÿ8ááxºxò`ăԭV—¸Cqeö‘‘—Á¸¨q´©ÛOOš×nÎì>³)0ðjì«–v³âfqâÜ &t›@—Æ]ðtñ$Ô?”¹}çb6›y9æå2ûÞq8‚;àáâAËÚ-Ù÷Ï}—]¿œYq³8~î8/öx‘n!Ýðvó¦a†Ì¹g^¼óŠ¥|cý‘õ„ú‡Ù0wgwü½üßu< k4¼ªìm`Ë4«ÕŒO~ÿ„Å[“–“ÆÉô“L^1™¤Ì$àÊÊ[DäÚS."â -j·°z\Û·6II6é¿yíæVƒ|‚J­ ×ò©uÑ1ÝœÝhY»¥Õ±°€0½Ù›´—äÌd ¸<ÄÉàTêÆÀïBýCÙuj§2N•êÿ¾m¡ä&Å®»Zw5ºÒ©A'r sYsx Q£Øzb+œÈ¶“Û,e%1ÃbèÜÁæ±]+nÎn|üÐÇ n7˜…rËná¾E÷a6›ùOô€âR©n>V]®˜1Û¤oWo«Ç Œ¥Ê[œ N™ËÞæÏÏ݃ÁPêxMÏš$g&“š•ŠŸ‡y´šÓê¢ñ9s„Z>µ¬Ž]ËÕÊ7å“‘—›³[™5î%‰hJf “{N&âo,Ùµ„G>}€¶uÛò`ăÜ~Óíå³2Ô„Cñn1㻎g|×ñVÇK~áhÔôšŒ+"£$\D¤’s28Q`*(uÜû>—$×*¹°¦WM\®øºû’•—ÅžîÁh(_]÷µàjtÅÇ͇Œ¼ ²ò³J%â%e(%;† ¢›EÝ,šÂ¢BâÆ³pÓBžZòºO`H»!—óRßbYlþ³¸¶½WX/G""çS9ŠˆH%èXª”#%3…“é'¯ùØÙÙìMÚkul_Ê>’3“  'Ð;(NðLf[Žo)ÕÇ‚øÜúæ­˜Ìå[-¾Z%+Ø«Zï!žoÊgý‘õ¸;»[ndŒ˜ÁÁÔƒ8;9Ù0’·î{ ƒÁÀª„ëgò³9g j)*‘™—É;¾àî𻯻:w‘’p‘J.²a$É™É|´å#² ²9–vŒWc_-sOh[ópñà嘗ٞ¸œ‚v&îä¹ïŸÃÅ褓,íÆE#Ø/˜çxž¸Cqdäe–“Ƨ¿Êüuóy¡Û v[!5ŽºÕê2%v +V’•ŸÅá3‡óÝR²R˜Ôs’U}ô¤Ÿ&ñGòä›òIÍNåíø·1›Ít¬ßÑ.ñÚŠÙlæŸ?ü“£g’oÊgûÉí<öÅcø{ù3ùöÉŽOD.`0›Í¶)>©’’’ÈÌÌ,WÛÆÌ›—DïÞåk»¢1c IDATµ¶ÜFÿEý­Ž=Õé)ÆÞ6–é!VÇ»†tåþïÅ%!ÓVNcõÁÕ¤ç¦Ó¬V3&vŸÈ¤Ÿ'±ëÔ.†ß2œž7õ,³ÿž¡=é÷a?«ãã¢ÆÑ¶^[Xü€ÕñÑ‘£ñtñdúªéyñßûþËÌÕ3ÙqrEæ"ZÔnÁsQÏ•Ú'<-'7׿IÌÓñu÷¥IP†vJç/z Æ'”ë–¸pŸp€¾Mû2»ÏlK,o¬ƒ˜ý1œÊ8…‡‹Gñ>á· ³J®÷&íå“mŸ°éØ&N¦ïÞ z¶È€ʬ‡·—• +öÕ°2ÏM½sj©o¿\wd‹6/bÇ©däf\=˜»Âïâñökg‘‹X¾Ü›Ñ£ƒHH8X®öÞÞÞÙbè/•„‹È ¥2'á""R¹82 W9Šˆˆˆˆˆ) ±3mQ(""•Ê…õñe9šÑ‘£íˆÈµ¡$\DD*•+½ISDäz¤r;S.""""bgJÂEDDDDìLI¸ˆˆˆˆˆ) ±3%á"""""v¦$\DDDDÄΔ„‹ˆˆˆˆØ™’p;S.""•^vA6ÝtgèWCŠˆˆM( ‘JÏl6Sd.¢¨¨¨Ô¹æ³›sÿâû•ˆHÅ9;:‘ËñrõbÕ“«†ˆˆÍh%\DDDDÄδ."b'1ûc±d„åñŠ¡+˜³fŽn -' €6uÛ°åøK›6uÛðù ÏXd=~ö(o÷›n!ݘ;…6`i¿ïù} Æ‹Æ63 S‘©\ñú{ù?*þ’mžüúIbÄV8Þùýæ3ò›‘–Çe]“©wNeÂ,mvÛ›³ 7.dúªél9¾…é!Œìûç>Kû3Ùg˜¿n>¿$üBRF>n>´«×ŽQ‘£ /×µ±5ƒÙl6;:[IJJ"33³\mCB3o^½{—¯½­”$®íëµç™[Ÿ¡Eíì?½Ÿ $~T<ËÿXÎK?¿Äë}^瞦÷Xž÷üÏóõί¹+ü.æök9³?†¶~Ä¢Ùu%>þý㫎÷rפºGuK›’$¼DóÙÍiÔÄ’üŸ/93™ ¯0é½§Ó>¸='Îय़_b{âv?¸˜ˆ:×èʈHe·|¹7£G‘p°\í½½½ ²ÅÐ_ªEDÄA†wN‡àx¸xвvKöýsÕ=ªs×ÍwábtáÛÝßZÚææ{ –úÕëóË_ÈÊϲœûf×7ôkÖÏS°i¼»&5+n'Î`B· tiÜOOBýC™Ûw.f³™—c^®pß""WCI¸ˆˆƒ´¬Ý²Ìã~~tiÜ…uGÖ‘’™@ìXZþ­%ƒZ"·0—Ÿ÷ý @ZNm¤WX/»Å}-ã½Ø5©¨˜ý18œ,å0%¼õeש]œÊ8eÓ1EDÊC5á""âáâqÑsýšõ#f ßïýž!í†ðí®oé׬ëwdúªé|·ç;îm~/Ëö.£kHW<]<Ë5¦­kÂm葉ɕÊ7å“‘—@«9­.ÚîÈ™#Ôò©e³qEDÊCI¸ˆH%ÔµqWü<üøfç7D7fÛÉmÌï7wgw"D²öÈZ’3“Y²s ÏE=Wî~Ï¿añzˆ·< Ê<îjtÅ×Ý—¬¼,öüsÏ%oX±7•£ˆˆTB.Fî ¿‹½É{™7›¡=pwv ºY4¦"s×Ì%93™Žõ;:8ZÇÆëáâA©Àò¸çÛ=ùlÛgô ë…Él²Úq¦Ä‚øÜúæ­˜Ìåûd@DÄ–”„‹H•e({µÒˆn ÀçÛ?·º‘±çM=ñrõâóíŸÓ·i_œ •ãŸrGÅÛ´VSŸ9Lbz"¿ŸøcgÑ®^;ÆE#Ø/˜çxž¸Cqdäe–“Ƨ¿Êüuóy¡Û Z!©ÂÌfÇý_ r©²<=‹Èζ߿¾ÛNn£ÿ¢þ–ÇMg5 a|B™í#êDРzòMù´¯×ÞrÜÝÙ;Âîàë_;tW” U$Þò\“ ÷Wo:«)}›öevŸÙ¼ØýE&þ4‘Ûß¹??þuû¿h\³15=k²äïKxsý›L^1™ÄôD|Ý}iÔ„·î{‹Î :ÛþBˆÈu#+Ë /¯"‡Œ­}ÂEä†r%û„÷ìÌ=÷d0jÔÙk•ˆˆTFóæUçûï}ˆ‰9V®öÚ'\DÄÂÂòÙ½Ûíò ED䆴gaaù[I¸ˆTY·Ü’Æ Tòâp±¹ü|6xбcŽCÆW."UVYäæ:ãåèPDDÄÎbc½ÈÍu¢{÷¬Ë7¾”„‹H•U«V!]ºdñî»~èÃl†wßõ£K—,jÕ*tH JÂE¤J7î »v¹òÍ7>ŽEDDìdÉvírãÙgÏ8,%á"R¥…†æóÀéÌšU“ÌLý“("r£ËÌtböìš<ðÀ9ÂÃsS&( a̘³Áر9f»X±ƒóÿ­3ƱÛÓ* ‘*ÏÏÏÄ;ï$²aƒ'3fÔtt8""rLŸ^“uë<ùïOáçgrh,JÂED€æÍó˜:5™÷ÞócÞ¼ºQSDäb6üy5xÿ}?¦OO&""×Ñ!ékëEDJôé“Iv¶/½äÏáÃ.LŸžŒ››²q‘ëY^žñãùñG/¦LI¡OŸò}«òµ¦•p‘óÜ:wȯ¿zÒ¿6ovwtH""RA›7»Ó¿~ýÕ“÷ÞKäþûÓ’…’p‘ tê”Ã’%Ç©YÓăÖaìØ ŽqqtX""RNGޏ0vl>X‡š5M,YrœNó͘c0›Uù("7ޤ¤$23m÷Qã/¿x1ujMŽs¡}ûzôÈ&""—úõ ¨VÍ„“–2DDª¨Î3räˆ Û¶¹ëɦM0aBªM¿ÓÛÛ›   [tõ¥’p¹¡Ø: 0™ .΋ï¾ófÍOÎSæ-"Rùù™Í=÷d•ÑhÛþm™„ëÆL‘Ë0¡[·,ºuËÂl†'\8vÌ™ôt'Ìfƒ£Ã©°÷Þ À!ï88‘Š3ÌøúQ¯^!uë`¸NþYV."r ¨[·€ºu ŠÈU[¾¼€;כּEˆT%úLUDDDDÄΔ„‹ˆˆˆˆØ™’p;S.""""bgJÂEDDDDìLI¸ˆˆˆˆˆ) ±3%á"""""v¦$\DDDDÄÎô™"rC "((ÈÑaˆ\¼½½hܸ±ƒ#©z´.""""bgJÂEDDDDìLI¸ˆˆˆˆˆ) ±3%á"""""v¦$\DDDDÄΔ„‹ˆˆˆˆØ™’p;S.""""bgJÂEDDDDìLI¸ˆˆˆˆˆ) ±3%á"""""v¦$\DDDDÄΔ„‹ˆˆˆˆØ™’p;S.""""bgJÂEDDDDìLI¸ˆˆˆˆˆ) ±3%á"""""væìèDDDäÚÛ¸q#Û·o·:vèÐ!Þ~ûm«ã-[¶¤C‡v‹M¤*R.""R¤¦¦2|øpŒF#NNÅ„›ÍfFŽ @QQ&“‰~øÁaqŠTsÉO ˆˆˆÜ° äìÙ³—lW­Z5RRRpqq±Sd"UÒ—Z ‘JZZyyyŽC¤Rºçž{øä“O((((󼋋 ÑÑÑœ9sÆÎ‘‰\ÜÜÜðóó³I_JÂE䆒——Gff¦£Ã©”î¸ã>üðËž/((àŽ;îÐψhw‘*¢mÛ¶^ô¼¿¿?mÚ´±cD"U—’p‘*Â`0зoß2ë½]\\¸÷Þ{-7mŠÈµ¥Ÿ4‘*¤OŸ>eÖ„ЧOD$R5) ©Bš4iBƒ J¯W¯áááöH¤ŠR.""RÅDGGãìü×Þ ÎÎÎÜwß}ŒH¤êQ.""RÅÜsÏ=Zr÷Ýw;0"‘ªGI¸ˆˆHLxx8ƒƒÁpѹv”„‹ˆˆTA÷Þ{/F££ÑH¿~ýŽH•£$\DD¤ ºë®»(**Âd2Ñ»woG‡#Råè3EDÊ!7×@\œ'kÖx²{·þéBzºEEŽŽL¤¢‘tîÜɱ¡ˆ\''ðõ-¢^½š6ÍãÖ[³‰ŠÊÆÝÝìèÐ.II¸ˆÈ%dd8ñÖ[Õùì3_23hÑ"—vírèß??¿"ô½&r=[¿¾/ƒŽ“ŠH…AZšGºðûïî|ù¥/ÞÞE<ð@:O>yŸÊ¹Zb0›Í•ûב+””DffæU÷ST_íˬY50›aÈsô¿¿ÉQŠTçΠZµjŽDÄvNŸ6òÕW¾¼÷^5 7î ÷Ý—n“Eooo‚‚‚®¾#øRI¸ˆÜPl‘„§§;1zt-6lpgРtF>Cµj•s%EDDÊvîœóæÕ`ñb_:vÌeÞ¼Søú^Ý¿åJÂED.âj“ðcÇ\:´6YY,8EÓ¦y6ŒNDDìm÷n7†¯…——™wÞI$8¸ Â}Ù2 W5£ˆÈÿ;æBÿþuðô,bÉ’JÀEDnM›æ±dÉ <=‹è߿ǎ¹8:$@[ŠˆÅ%(C‡Ö¦NB>ùä$…—’ˆˆ\‹ÿm¯S§¡Ck“žîøØñˆˆ8XQŒUËR‚âá¡úo‘‡G œ"+ËÀ¨Qµ¾Å¬’p©ò¾þÚ—øxw,8¥p‘X``! œ">Þ¯¿öuh,JÂE¤JËÌtâõ×kðè£éª©š6Íã‘GÒ™5«†CËR”„‹H•ößÿVÇd‚‘#Ï8:‘kâÛo¿¥ÿþ´k׎ËŸ½{÷^wc-[¶Ìªß~úé'›ô-U˨Qg0›aÁ‚ê‹AI¸ˆTY¹¹>ûÌ—!CÎip¹.™L&FEóæÍ6lùùùVç,XÀ¸qãØ¶m7ß|3[·nåûï¿ÇÝÝÝæ±Ør¬‹Íëî»ï&!![‡/ULµjE rŽÏ?÷%7×à”„‹H•çIf¦ýû§;:‘ ùã?øñÇÉÉÉaåÊ•lß¾ÝêüçŸnùû=÷܃¯¯/áááìÚµ‹ððp›Æb˱.7/[èß?Œ '~ýÕÓ!ã+ ‘*kÍOZ´ÈÕWÑËu+,,Œ^½záîîN·nÝhÑ¢…ÕùÓ§O[þîããsMc±åX—›—ˆ-øû›hÑ"×aI¸³CF©vît£C‡G‡!RaÎÎμñÆ=oÏ/ŶåX—›—ˆ­´j•Ë–-Ž)oÒJ¸ˆTY'N¸P¿~Å¿¾Xª¦²n !&&€½{÷Zýõ×HNNæµ×^£W¯^4kÖŒ&MšÐ³gO¦M›ÆÙ³g-ý/\¸°TßË–-cþüùtéÒ…°°0BBB˜6mÚEoRüè£ !'ç¯_2GŽYfÜ%Þÿ}vîÜiu|Þ¼y—¼—«OŸ>äääðÅ_ððÃÓ¹sgÂÂÂhÙ²%½{÷fÊ”)œ:uê’×W7_ʵҠAÇŽ9fMZI¸ˆTY|}uC¦\™»ï¾›Í›7[Ý8wî\zöì @xx8«V­Âh4òóÏ?3vìXöíÛGïÞ½yÿý÷ÉÌÌäûï¿gÅŠðî»ïÒ·o_’’’xâ‰'JÝ|8oÞ<œYºt)S¦L±Äq±›yä‘RçæÏŸOBB ìܹ???˹ѣGóØcмysV­Z…««+ëׯgôèÑ—¼—ëûï¿àã?f„ ôìÙ“+V°qãF†Êþýûùàƒèׯiii——ˆ­ùú‘‘á˜tXI¸ˆTY&“£ÑÑQÈõÈÏϾ}ûZ—¬"—øðÃéܹ37à…^°$™wÞy' 6¤nݺÜ}÷Ýœ}hÙ²%¡¡¡„„„XVÿΜÑ^ýRµ( ©€"##-?øà¾üòK‚‚‚,çRRR¬ž7sæLK"ûòË/[Žçççsüøñ2Ç °qôàïïoµšÿÞ{ïQXXÈ—_~I½zõhÛ¶­ÍÆzâ‰'˜7o{÷î¥{÷îlÚ´‰„„«­ íy©He $\DD¤‚þþ÷¿[þþã?rêÔ)-ZÄàÁƒ1Š?â®Y³¦ÕsÆŒc©Í¾ðOHHH™ã”¬XÛÚO88˜àà`ËãO?ý”œœ>ùäNž6oÞlÛ-·ÜBÓ¦Mprr²Ú5¥<.7–ÑhdÁ‚DFFâããâE‹4hEEE„……Yž3kÖ,¢¢¢*4¯‡zèŠb© fÝ !"7¤¤$233ËÕ6$¤1óæ%Ñ»wùڋܨ¾ûî;ÆŽK·nÝxûí·ŽˆÝ,_îÍèÑA$$,W{ooo«]®Â—Z ©âzõê…‹‹‹MoÈ‘KS.""RÅœ={–¶oßNZZ³gÏ&,,ŒÎ;;:4‘*C»£ˆˆˆT1nnn´mÛ–ÁƒSPP@Ë–-™?¾e»B¹ö”„‹ˆˆT1žžž|öÙgŽC¤JS9Šˆˆˆˆˆ) ±3%á"""""v¦$\DDDDÄΔ„‹ˆˆˆˆØ™’p;S.""""bgJÂEDDDDìLI¸ˆˆˆˆˆ) ±£ìlÝ»¯`èÐ ŽÅ&n´ùˆˆØ‹’p;2›Íÿ¹Ühó±gG "R•xy9³jU/G‡a37Ú|DDìE+á"""""v¦•p;‰‰IdĈxËãÝ»ïÁÍÍhyœ––ÏoüAll"‰‰9xz:ÓªU † å–[¬ú:s&ùó÷ñË/‰$%åàããB»vþŒu3ááÕÊoõêÛ™9s7kÖ$c4ˆˆ¨Á¤I-ö²êûàÁ þïÿvŸBa¡™›nòeäÈ0>øà ë×§0`@}ºu«]æ|*:nyæt9aaßb2•¯4ÆßßøøÞ—m—Ÿ_Ä›oîcùòœ<™››‘6mjrÿý èÒ%£Ñ`i[Þk7mZërÅ("7.ƒÙlV!ŸˆÜ0’’’ÈÌÌ,WÛÆÌ›—DïÞåko+O>Oll¢Už’’Ë€qäæš˜:5‚öíHIÉe֬ݬXq’×^kÍÀõHN.n›—gbúôÖ´oÀ‰Y¼ôÒv¶o?ËâÅ‘DDÔ(5^µ>ü&n¾¹[·¦2|x<7ÝäË’%],mÍ¢_¿Uxx™1£ ­[×äĉ,¦LÙÉÞ½çÈÌ,`Ïž¾—Ï•Ž{¥s²§ ¶òã'ùÏÚÓ¶mM23 Y¸ð àão¥C b×NDkùroF"!á`¹Ú{{{d‹¡¿T9ŠˆH%0kÖŽÏæÅ[Э[m¼½iØÐ›9sÚàÎ+¯lçôé¼ÿµÝ͉ÙL˜Ðœ.]jáéi$4Ô—¹sÛa6›yùåíeŽ1p`}""jàáa¤sç@ºt bÇŽ³œ=›^»IO/`Ò¤DFZúž3§-99¦ Í­¼ãVdNö°~} ¡¡>DFâînÄßßñã›Ñ°¡·U»kqíD䯥$\D¤X±â$]»Ö²:îêêD§NäæšX³& (.3qr2Э[m«¶ú²kW§N唣E ë•äÚµ=HJú«í¯¿qÛmÖqÔ¨áF£FÖIgy•gÜŠÎÉ¢¢j±uë&NümÛÎZÊ]bbzZVÁáÚ\;¹q©&\DÄÁòó‹ÈÈ(ÀÍ͈—Wé–ýýÝâ’•’¶­Z}Ñ>ɤV-«c>>Ö}»º—Ž”%æç‘•Uˆ››OO#ªVÍ¥ü“ºÂq+:§ ]‹šðÉ“[Qƒ%KŽòÈ#khÛ¶>ØÛoÿ›e×âÚ‰ÈKI¸ˆˆƒ¹º:áããBFFYY…¥ñÓ§sâUaWW'|}]ÈÊ*dÏž¾V7Ú"//g²² ÉÎ6•J&SSól6Ö…ãÚjNûöEÛ0²bDG×#:º……fâãSX¸ðO=µ‘ š3dHˆÃ®ˆ\¿TŽ""R ”¬¨®ZuÊêx~~ë×§àînäÖ[‹oêÕ«&“™-[RKõ³`Á~n½õ§r¯_(*ªxŒ’ÒŠ))¹>|ín`½–sºZË8x0gg‘‘¼õÖ- Ö¯—£®ˆ\Ÿ”„‹ˆTãÆ5¡n]O¦LÙÁÊ•‰derøp&cÆüFJJ.“&µÀßßÍÒ68Ø‹çŸßB\\¤¥åó駇™?/¼Ð¼Â«ÉãÆ5ÅÏÏ•W_ÝÎÚµÉdg›Ø¿?çŸßJ@€»-§|Á¸×nN¶0iÒ6þøãùùE¤¦æñöÛû1›¡cÇ¿¶ŽtÔµ‘ë“¶(‘JeÞ¢ðÂý³úö­ÇìÙm’}Â÷s’S§rððp¦U«ê v“U²WÒöÍ7‹Û&&æàëëJ“&Õ:4”Îضí,ýû¯¶zÞSO…1vlBB¾±:Þµk-Þy§#‡g2sæ.6lHÁd‚ðp_þñfüûß{ر#;û\r><Ò¸Bã–gNްwï9>ùä0›6æäÉÜÜœhÐÀ‹2`@} çýnPÞk'"•ƒ#·(T."7”Êœ„_ïn¿=–Ü\¿þª¯©¿Rºv"•“ö ‘J!%%—6m~ °Ðz}æøñ,ŽÍ,µ"/ѵ‘+¡$\DD¬œ;—Ï‹/þNbb99…lß~†gžÙŒ #GÞìèð*5];)/mQ(""î,ZÉâŇxðÁ5$%åP­š ;2gN[êÕóttˆ•–®ˆ\ %á""b¥S§:uRéDEèÚ‰Hy©EDDDDÄΔ„‹ˆˆˆˆØ™’p;S.""""bgJÂEDDDDìLI¸ˆˆˆˆˆ) ±3%á"""""v¦/ë¹F–-;γÏþ€««{öôupD׿~8Î[oíçСLòòL,_Þ›nòµIÿ `úô]¹³nÝ6é×–bb1"Þòx÷î{ps3^´ýµœÓÞ½ç˜={[¶¤b2ѪU žy&œ6mj^ô9«WŸbÊ”üùgûöEÛ,–ëVÂEDÄf²³Mtツ¡C78:”Jáî»ë’ÐOߢy.õÚ²%•gŸýÈÈ@~ûí.V®¼ZµÓ¦µ¾ì¸O>Oll¢åq›65ùüóÛX¿>…G]ËÛow¤[·ZL™²ƒ>8hi?~FŽÜhy¼bEæÌÙˆ )¤¥å0ujk&LØjiSr³Øù7…mÙ’JHÈ7@ñŠÙù7e9“Çüùûøå—DÜ‘£ñ IDAT’’rðñq¡];FºùŠjY/¼i-.®3fìbõêS¸º‰Š â_ÿjAFF¯¼²“øød¼¼\èÚ5ˆ‰[”ú˜<--Ÿ7ÞøƒØØDsðôt¦U« Ê-·X×zŸÿš™Lдi5ÆkzÑXm1ç°°oËœúû»ßû¢çÓÓ hÝz™Õ±1cšðôÓa˜Lf¾µ¿ãŽ:ÌŸß¾Üó¸ðu¹’÷Ð…ÏmÚô;5òáСŒ+Ž÷J<˜Á´i»Ø¼ù4……fZ¶¬ÎرMhÓ¦æ_¯V­ª—ëgáü÷Ü©S¹Ô¨áJãÆ>ôí[»îª[*™MIÉeæÌݬY“ŒÑh "¢“&µ 8Øë’s[ºôOž{n³Õ± î$ À½\×(³&¿äØáÃ¥ÎÉ_ f³Y¿VŠÈ #))‰ÌÌÌrµ i̼yIôî]¾ö¶0aÂV~üñ$ÿùO{Ú¶­Iff! `áÂ|üñ­tèàÀÑ£Yôë· #3f´¡uëšœ8‘Å”);Ù»÷™™W¼ÓÆÇ楗¶ñúëm¹çžz–ãÏ?¿•¯¿>Ê]wÕeîÜv–ã11‰|ôÑA-Š´+IæÛ·÷ç™gÂiÑÂýû380ŽøøÞT¯îjisᎠ͛G“&~–äÿ|Éɹ G^ž‰éÓ[Ó¾}'NdñÒKÛÙ¾ý,‹GQãŠæ[G¯^cĈ07öáçŸO2nÜf¢¢‚pqqâ™g©_ß›¥K1iÒ6{¬1'¶°ô‘’RWn®‰©S#hß>€””\fÍÚÍŠ'yíµÖ X(û5ûóÏ,¦MÛÉ‘#Y$'çX½f×bζ2dÈzÖ®M&6¶g©DnÀ€8}´1}úÔ®|WóºØñÇ[Ǻu)÷‘GY½çË£OŸ•?žMÓ¦~ŒNx¸¦ó ¿sð`~Ø™öíý+4þ¥~JÞsyyE¼öZ+:t 'ÇÄçŸaΜ=LœØœÇ ±º=zÔføð›¸ùæjlÛv†#âiÔȇ%Kº”šÓ™3y–ÝQL&33fìbÿþtæÎmGµj®å¾>ƒ¯cíÚd¾þº -[V·:wôhÝ»¯ iS?–.íZæó;wþ‘Ó§ó¾;ÊòåÞŒDBÂÁË7¼½½ ²ÅÐ_ªEDÄŽÖ¯O!4Ô‡ÈÈ@ÜÝøû»1~|36ô¶j7kÖnÒÓ ˜4©‘‘xz õeΜ¶ää˜*4ö]wÕÁÅʼno¿ýÓr,7×Dll"õë{ñË/‰deZÎ}óÍ1úõ .³¯áÃo¢C<<œiÙ²:ûöES½zùÿ¿Ð¬Y»9q"› šÓ¥K-Ë|çÎm‡Ùlæå—·W¸ïêÓ¬™F¢£ëêK\\?Jxx5<=<ø`CêÖõ$.ÎzG‡Y³öpüx6/¾Ø‚nÝjãííLÆÞ̙ӎ€w^ye;§OçYæpákæËÌ™mHNα뜯ÖO„RTdæÝwXß²%•¤¤\z÷þ«Î·¢ó°å{èñÇ/ïÉ“Ùôî]·Býfd0n\SÚ´©‰§§‘æÍ«3{v[ ŠxõÕ×dü’÷ܤIÅï9//güýÝxúé0n»­ìäoàÀúDDÔÀÃÃHÇŽtëV›;ÎrölþEÇIO/à‰'Öÿ/îNW”€_NÉú®Áp™†Uœ’p;ŠŠªÅÖ­g˜8ñw¶m;k)#ˆ‰éiYøõ×$n»­–ÕókÔp£Q#넽¼üü\éÒ%ˆuë’II)Þ,66‘–-«3hP#rsMüüóI øãðOÓ«W2ûºpåëjÅÄ$âäd [7ë-×Ü õe×®4N*È–GI}j‰  âÚ›5³.÷¨U˃¤$ë1V¬(¾]»Z¿®®Ntê@n®‰5kŠ_«‹½fî¥~É‚k;ç«Õ©SMšTcÉ’?-¥"ï¼s€Ç ±*›ªèîäd°Ú¯$.77c™Û©ùû':))¹—}ÍjÖtãðá¿Êžl9g[Ö„ŸïñÇCyî¹Í,^|ˆ‘#oæðáL~û-•Ù³ÛZÚ\ÍWÜoU¢$\DÄŽ ˆŽ®Gtt= ÍÄǧ°pážzj#&4gÈ\]ðòr&+«ìlS©¤.55¯ÂãwíZ ??W¾ùæÑÑõضí óç·ÇÝÝHdd k×&“œœË’%Çxî¹&W;]+ûhÚÕÕ __²² Ù³§o…Vå®WW'||\ÈÈ( +«°TRTòe#î—}ÍÎ_-éÛVs¾V5µwß]—Y³vóÑG‡6ì&Þ}÷÷ßßÀê:T¦×®oß`fÏÞcï½÷_U™EÉ/*ù¬YÓ­Bã_êgáRï9[0aÑ¢H||\0`5&üNÆ޴hqeŸLÜr‹?óçî]i¥ÊÖvíJ cGÿ²ž*ÿ£r;ŠˆXfÙUÀÙÙ@dd o½u ¬ZuÊÒ®ä£è’‡))¹V+ªWÊÅʼn»îªkùªé=j[vZˆŽÆd23wî^’“séØÑ¶ßòèááLAÁ__Þѳg Ÿ}v€^½ê`2™Ù²%µÔó,ØÏ­·þäíéJ>8ÿµâËõëSpw7rë­Å¯ÕÅ^³³gó9|8«Tß•uÎ%ŒFƒ‡ššÇ»ï&°lÙqþþ÷Æ¥ÚU–y¸º:ñðÃ,ñ.]ú'ƒ—.ݸÙÙ&öî=gulß¾t’“s ¯fY¿Òñ/õ³Pòž[½úT©çõé³’×^ÛyUsòòr&(ÈOO# Ü‚§§‘'ŸŒ·”Ö”Wûöþ„„øðã'ÈËûë>“É̲eÇ©]Û£T—XS."bg“&mã?ΑŸ_Djjo¿½³«¤wܸ¦øù¹òê«ÛY»6™ìlû÷§óüó[˵}Ø¥DGôüùçG¬V°zö,¾ ìóÏзo=ËGÚ¶Ò´©‡g’˜˜Ãï¿ŸáØ±,Úµ« À¸qMöâùç·—DFFiiù|úéaæÏßÇ /4wÈ*ë¸qM¨[ד)Sv°reñ«‡g2fÌo¤¤ä2iR üýÝþ×¶ôk–Áر¿•Y¢RYç|¾h€ ¯¿¾›ž=ÿf©5>_ešÇ Apw7òúë»éÜ9úõ/½Eßåxxyùåâ]^rrLìÜy–çžÛŒ‹‹“&µ(Õ¾¼ã_îg¡n]O^{m'«V"+«S§rxé¥í¤¤äòØc¥ª¨ºu½xãœ9“ÇSOÅ—ú†ËKqr20}zÎ+àùç·’’’KZZ>“'oçÈ‘L¦Nmmµƒ”¦- Eä†RÙ·(Ü»÷Ÿ|r˜M›NsòdnnN4hàÅÀ 0 ¾ÕÇÔ‡g2sæ.6l(Þs:<Ü—ü£ÿþ÷vìHcçÎ>Ž£Gò󋈋ëe5fÉv…?ý{wWu™ÿÿÿqØ b²H¹&H¸!á’K¹·X&N.Õ4¶L®¥¦ñË-KÓQ4ÍÉQËɾM¦96e5•¤’š{&¢K*‚¢ È~8¿?øpÆ#¨pêó~»u»Í¹Þ×ûz¿® d^\¼ÎuÖö 0ðõœûö]¤_¿M¥ÆILìkùßWŸå ЧO=K ño¿e2iÒ>¼ˆ·· Æóç?7²ôMOÏgÑ¢¢£Ïœœƒ—— M›Ödðà :vô«ðÜÊŠuĈ`zö  o_ëöÈȦ´níÃÓO[„ø¨Q!ŒuŸ%®… ‹ã:{6£Ñ‰V­j1dH“R-¸òkVr¶ûÈ‘÷ñÉ'‰eží^Ys®J³f䣎òý÷ݸᄇÏ.¯È'¼,y~Eþ-\ù=w×]®´mëÃk¯…а¡ç5¿ÇÇŽmj9{¼D×®uèÓ§¯½öóUq¶ ,¬v©q®ü7[‡e0wî¯ìÞFQ‘™Ðлxíµ2×gÆd† )ýu„â3âKŽû´%{Q¨$\Dn+Õ= ¯ ?Cn®‰Ÿ~ÒÇË\íË/O°lÙo|óMÙçSßîÏ—ë£sÂEDÄʹs¹„‡ÿ@a¡õ>É©S—9q"«ÒëµEn+V祗n®üV~¾Ü:”„‹ˆTSù¼ùæ^’“sÈÉ)dÿþ Œ½‹5œyõÕûìžHµðÅ'><ŽìlŸ~ŒŒŒ|üÆ>œçV|¾ÜºtD¡ˆH5äëëÆÒ¥X¶ì7žyf3))9Ô¬éLÇŽ~̛ךzõÜ-}¯®-Ë•5η²;i®RqÑÑÉ„…}gù¤Îk½´ª¾*úü[þÙŽjÂEä¶r'Ô„‹ˆHåPM¸ˆˆˆˆÈDI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pÓ‡õˆˆØÈ’KˆÚ€¿§?[_ÝjçˆnÎÀeÙ}jw™×^hýoöx³Ìk›’61=f:¿güN eöÉÈÍà‡øX}x5ñ)ñäæR§FBïepÛÁ„ø‡TÚ>ÄŒ«ð¾ùõ&®Èñ Çqtpä>ßûx6ìYžlöd…Ǹ«¯`D‡U2¾ˆˆ­( ±ƒì‚lÞ^ÿ6cCˆI瓘°fÏ­xŽOŸþ”¶õÚ0eýÖ^Ã?"þAëz­ÉÊËbÉÎ% ýr(ËŸ]N»úíÊ}ÖµN © ¹DõŠâÞ»î%ùR2‹¶/bìwcÙwfoõ|«RŸuþòyÞÝô.BÐë¾^•:¶ˆˆ­©EDÄ2ó2‰ìIxÝpÜÝiЂ¹½çR`*`ZÌ4K¿mÇ·äD§FpsrÃÇÇñ]ÇÓè®FvŒ¾ØÊçV2ç‰94óo†ÑÙȽµïeÎs½;”¥»—²?y¥=+='W¾H»úí˜öÈ´òo©æ”„‹ˆØ«“+¡¡VmÁ¾ÁøyúŸOjV*wfÏé=LZ3‰}göYÊJ¢‡DWhÜ ~€þX)ãåäðÂÊò â½ÞïU¨GD¤ºS9Šˆˆx»y—ùÆÂÚîµIÍJ%ír~ž~Lé9…°»ÃXupYñZ×mÍ3aÏðp“‡+ô¬ª¬ /‹Ÿ§i—Ónj“ÙÄ«_¿Š¿§?ï>ñ.Ž%à"r{P."b™y™e¶§e'®µ=j`0ˆhADó ‹ ‰;Ç’K±j»Oä¥6/•û¬ª¬ /KJf ð¿9ÜŒ7×¾I¾)ŸžúÀ*ïöa7Þ{ò=ZÝÝꦟ!"b*G±ƒì‚lâSâ­ÚÎ%š•Jˆˆe79l^IiI898Ñ©Q'>|êC 7Ú<î_ìÿ‚>Ÿô)Õn6›-'˜tê~SϘ¿e>GR°¸ßb\]nj,‘êF;á""v`t625z*ºO ‰OÏ'2aÍœ™Üc²UßÉk'óVÏ·¸·ö½dæe²|ÏrÌf3í´·SôÅ~Mù•·×½ÍKm_¢N:œÎ8ÍÂm 9xö ƒÂ•ªy¿_ýòó·Ì åÜ–•²ˆHµ¡$\DÄF–ìXBÔÆ(ü=ý™Ø}"³7ÍæÀ™™‹hÐ’eÏ,³:'üóg?çó}Ÿ3úÛÑœ¹T|NxÃZ ™ñØ ú·ìo¯©Ñ</7/þûëyq勜Í<‹«“+Mý›2ïÉyônÚ»Ô=70äË!VmQÌxlBXÚ×&¬­Ú ˆˆØ™Ál6›í„ˆHeIII!++«B}3~ ½zU¬¿ˆˆÜ^V¯ödÔ(“*ÔßÓÓÿÊxôT.""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pS.""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1'{ "r§X²c Q£ð÷ôgë«[«ìYkÖ²pëBŽ]8Fna.«ÿºšZÆZDmŒbû‰í¤f¥ЧYæöž[e±È­!>5ž¹±sÙ}j7¦"­îiÅèN£ ¯nó±«2‘êB;á""6òr»—IŸHˆH•>gï齌üf$ubçèl¶:5ê0æ»1Ĉ㓟°ì~·\¥±È­aò~ú/퇋ë¯#vD,õjÖãÙåϲ娛Ž]•±ˆT'JÂEDn3?Äÿ€Ùlæ…6/àîìN}ïúlye ¾ž¾Äˆ£g“žûãáâÁ]ÞàÝ'ÞµwÈ•®ÅÜ \6ð†¯ßIŠÌEŒÿa<^n^Ìz|~ž~Ô2ÖâGÞ¡Á] ˜°fù¦|›Œ]•±ˆT7JÂEDn3É™Éx»y[·_*n¯å^ËÒf0p0èÿ îd?ÿþ3GÏåÑàGqsr³´;:8òDÈ$_JfC⛌]•±ˆT7úÉ+"r›1™þ°Ý€Á–áH5·ýÄvZ´(u­EV}ªz쪌E¤ºÑ3EDì$)-‰™f²ëÔ. M…„ÞÊØ‡ÆZÞ|¶pÛBæý4€ðºá¬|n%?ýö/}ñÞFovÞ@ô‘h†¯n¿Ùœfe>wþ–ùÌß2€åÏ.§]ýv\ȾÀ‚­ ø1ñGR2S¨áZƒ6õÚ0²ÓHBüBÊýàõÌÛ<í'¶“ž“ÀÏ£¦–±Vé‡^áê7¨~ðÔ¼»é]öŸÙO‘¹¨Ô:˜Ì&Ö^Ëû¿ á\™y™4¨Õ€¡>Ȳ›娻Oí&0*(ÞIMx#¡Üë%*k=f<6ƒ‰k&Zúl¾‰Ùg³ùØf »'ŒÉ=&Sß»þ®Y‰àÙÁ×ü%ëj>>ÄŒ+·_RZ€å}WªãUÜvìÂ1.ÈîS»-×KÞÔ;è߃Øv|›¥}Ïk{ðr󺮱¯7‘[vÂEDì » ›·×¿ÍðöÃÙöê6Vüy¹<·â9vþ¾€W:¼BâøDŒÎF«{º÷!Ç'Ò¼Ns«öžMz’8>‘A=ø5òWŽŽ;Ê‘qGHx#¯žÿ €W;¾J¸Æ%ж^[R³Réûi_V^ÍÔ‡§²gÌ>ÿóç¤ç¤Óoi?öžÞ[æøo®}“çîŽÍ#6óÕó_áèàX¡¹_ùÕKy—˜3±eǨe®@lR,£¿MûíY7x[^ÙÂÓ­žfÆ3˜½iv©±ÎFÂ놓8>‘Äñ‰–»¼ë@¥®ÇÕ}¦ÇLçÅ6/²íÕm¼ßç}¶ßÎkß¾V¡uHx#ÁsyÿU$ÈÌËÀÝŽÔ5wçâ¶Œœ V>·’ï^ü£³‘ÿ¦?:€%ý—ÊßûüÄñ‰x¹y]÷Ø7Ò_äV¦$\DÄ2ó2‰ìIxÝpÜÝiЂ¹½çR`*`ZÌ´J{NIÍ·£ƒ#ÿ÷#ßÁà€£ÁGƒ#ƒ9±s8qš‰Ý&Ò¥qÜÝ ò âý>ïc6›™=µÌ±‡¶J»úí0: %á„rwÁ¯–SÃ;¼CØ=a¸íê·cXûaÔt«I-c-…¢wÓÞüëç‘•—uc T†ª\¡,síØ°#]wá@ò.æ\¬´ø+“3Pü}T"Ä?„ÙÏ&>%žÈï#1›Í¼¹öM:4ìÀ!OÜÔØ•Ù_¤ºS."b®N®„„ZµûãçéG|J¼å o[ˆ>ƒÁnݬÚ}=} ò âàÙƒœÍ<[꾫ã¿Fg£¥¼£DYëÐ-°ËŸ]^êþ¿ ‹ 9zþèMÇR¢*×£e@K«×^¤d¦ÜDÄ7§†k ²ó³K]Ë)Ȱìl—xì¾ÇÑaëÖ1pÙ@ÒsÒóИ›ûFb¹U©&\DļݼËÜÑ«í^›Ô¬TÒ.§áçéWåqä›ò-%­æµºf¿ãŽ—ªÓ½ºLæFx¹–P]½™y™|¼ócÖYÏÙ̳\ʽdÕ¿$A»YU½%If G໼婊šðƵ”ù‹ÅÙKÅmîjTêÚ˜ǰõØVöœÞûO¼[æ);×;öÆ"r+R."b%‰ÞÕÒ²Ó¨íQÛÒæ`p ÀTPªïÕ‰èpqtÁËÍ‹Ëy—9ôÆ! «ë®,é¹é˜ÍæR¿\½C¾ÂÏ¿ÿÌä“éÝ´7µŒµ0 |òó'üíÇ¿•JbË;æZ×í½å¹²v½²‘#©ï]Ÿq?Œ#ö·X2ó2IÏIgÅÞ,غ€ Ý&TÙŽp ×Ìýi.{Oï½æ:8:8Ò®~;Îeã£q1ç"¹…¹Äˆã󽟗9n³:Í8váÉ—’Ù{z/'/ž¤M½6ºnÏõ°ƒQ½¢ÈÈÍ`Üã8—uŽôœt¦DOáø…ãÌxl®N®–þÙÙ ûj“{N&Ð'º5ë²ðO IÉLᕯ_¡°¨ð†Ç¾Þþ"·2ƒÙl®X!šˆÈ- %%…¬¬Š”ؘùóSèÕ«òNÖø#e={Ólœ9@‘¹ˆ–-y½óëVçcCqéÊÌ 3Ù”´‰K¹—h^§9“ºObòºÉ–?Ñ}`(­îneunu‰/}ɄոíÂo˜ŠL–Szõ`aß…¤ç¤³hÛ"¢F“|)/7/šú7ep»ÁtlØ€}göÑoi¿Rã'ŽO¼¡õèýIo.\¾ÀÒg–2=f:{NïÁTd*s.æ\佟ÞcSÒ&ÎeÃÛèMç{;ãëéˇÛ? yæ|óÂ7ü–ö“ÖNâàÙƒx½Ö~û³e¼ò®WÖz”ÕgD‡Œ}h¬åŒò]»òQ¿nh-+á”CÌËîÓ»)**>¯ýµ_³ú:LY?…e{–Y^¯þëj|=}ió~«±Æ<4†W:¼r]c_o,"•aõjOFò'11©Bý===ñ÷÷¯ŒGÿGI¸ˆÜVªs.ÖJ’ð­¯nµw("r‡²g®rS.""""bc:¢PDD*ÍÕuÎe1:­ÎõŒ ´ÔI‹ˆÜ)”„‹ˆH¥¹Ñ7iŠˆÜiTŽ"""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pÓ‡õˆˆØARZïo~Ÿ¿ïäbÎELE&j¸Ö`,Ù±„¨Qø{ú³õÕ­v‹WŠí:µ‹§—=Íòg—Ó®~»R׿ÿž×¾} Gý‡ªU|u­yè{R¤òh'\DÄÆNeœ¢ßÒ~$¥%±èO‹Ø7fûÇîçÿÀÁð¿Ë/·{™Äñ‰„ø‡Ø1Z¹ÒGÄÛèMëz­Ë¼þDÈ$ŽO¤CÃ6ެXyñUÔµæ¡ïI‘Ê£pû÷¾“™—É”‡§pÿ=÷[¶¡XÔ2IDATÚ»ï1»ï1;F&å‰9C—Æ]p48Ú;”2U÷øDä´."bcÇ/à>¿ûìˆ\—¤´$Ž]8F ö¥LÕ=>±¦$\DÄÆ ‹ âZ[¹uÄÁÅÑ…‡î}ÈÞ¡”©ºÇ'"ÖTŽ""b#ÑG¢¾j¸åu³9ÍÊì÷§böã³ËïBöl]À‰?’’™B ×´©×†‘FâRæ37 ßÄì³Ù|l3ŽŽ„ÝÆä“©ï]ßÒÇd6±öðZ¾Øÿ çÈÌˤA­ À ðA–ºõ«ÇŽˬ³Ø”´ ':ßÛ™·z¾Ef^&ïD¿C܉8<\=èÚ¸+“ºOÂÃÅãºçSžàÙÁ–7¹–ÇÇǸ‘qê ÅõÖí´ÇÝÙÝÒ–”–Ä»›Þ%îd¦"Íü›Ù%òšc”7ÇK¹—¸ÿï÷[Ý3æ¡1¼ÒáLfÁ³‚-í?Ê‚¾ ®_¾)ŸEÛ±úðjÎdœÁÕÉ•ðºá l5.÷vÁÑá%+×;+a&»Ní¢ÐTHèÝ¡Œ}h,áuÃ˽WäN§$\DÄFz6éIâøD†}5Œ˜£1üù+®N®–ës.Òæý6+5+•þŸõ'¯0¨^Q´­ß–Ó§y{ÝÛô[ÚeÏ,#ìž°RÏœ3¡ eÖã³ØszC¿Êk߾ƪçWYÆŽMŠeô·£‰ìÉüˆù™‹øîÐwL™ÎÙ̳Œï:¾ÌùÌØ0ƒáí‡3ëñY¬KXGä÷‘¤ç¤ãìè̘‡ÆÐ V¾=ø-“×MÆÃŃIÝ']÷|Ê“ðFBE¿×%-;}gö1õá©–¶OÐÿ³þŒ,ˆXÀýuïç÷ôß™¹a&'/ž,5FEç˜8>‘—¾x‰-Ƕ34Æò ’£Á‘Äñ‰ôÿ¬?ƒÂÑ»iï?ŒoÊú)¬9¼†DüƒÖõZ“•—Å’KúåP«ÓS®w%² ²y{ýÛŒyp !þ!$Obš <·â9>}úSÚÖk{Óë.r;S9ŠˆÈ-hNìNgœfb·‰tiÜwgw‚|‚x¿Ïû˜Íf¦FO-󾡻' £³‘Ž ;Ò¥q$àbÎE«~íê·cXûaÔt«I-c-KÒ÷¯ŸÿEV^V™c÷oÙŸæušct6Ñ<‚ Ÿ b‹å¯mÿJˆ_îÎî<ö ukÖ%ö·ØJ™­lHÜ€3݃º[ÚæÄÎáRî%&÷œL§Fpwv'Ø7˜ÙÏ&5+µÔ×3Ç—Û¾L‘¹ˆw|l5ÆîS»IÉL¡WH¯rãÛv|A>AtjÔ 7'7|<|ßu<îjT*®ë™G‰Ì¼L";G^7wgwZ´`n﹘ ˜3­b +rS."r Š>ƒÁnݬÚ}=} ò âàÙƒœÍ<[ê¾–-­^x’™biëØåÏ./uoˆ_…E…=´Ì˜Z´°zí_Àæuš[µ×©QÇêy73[‰>M‹:-ðóô³´ýôÛO¥j°ý<ýJ%º%cTtŽv ©SV\EzNº¥ïG;>âÅ6/–:ý¤¬ø:7îÌžÓ{˜´fûÎì³”éD‰¶:CüzçQÂÕɕЀP«¶`ß`ü<ýˆO‰ÿÃ^DTŽ""rËÉ7å“™— @«y­®Ùïø…ãÔ©QǪ­†k «×%o5c¶´eæeòñÎYd=g3Ïr)÷’Õ=99e>ÏÓÅÓ굎ŽVíŠÌE•2Ÿ«UEMxNAÛŽocD‡V1_οŒ«“«Ux‰Úµ9vá˜Uÿëã_Ûþ•׿{e{–ñjÇW9vá?ÿþ3s{Ï-7>€)=§vw«®â/+þ@뺭y&ìnòð ÍãJÞnÞ †Ò÷¸×&5+•´ËiV¿ˆˆ5%á""·G¼Ü¼¸œw™Coªô3¡‡|9„Ÿÿ™É=&Ó»iojka0øäçOøÛ³JØ+CeΧ*j·ßJna®ÕÑ.Ž.x¸xp9ÿ2ÙÙ¥Ø+w¯Kú_ïŸhúsbçðÙîÏòÀ>Þù1[ ,õ†Ö²â0 D4 ¢y…E…ĈcÉÎ%ŒX5‚‰Ý'òR›—®{W*ù¥âjiÙi@q/"צr‘[Ð#Á`2›Ø}jw©k‹ãóà¢1™+¶#|%SQñ˜¾ž¾<ßúyîr¿Ë²Û™W˜wÓq_KUͧ2Ä¡žw=šø6±jï|ogàå%.æ\,s÷øzçèhpä…Ö/–ÆÇ;?æûøïy¾õóŽ/l^IiI898Ñ©Q'>|êC 7ÞðÝêij¸ÖཟޣgPOü=ý+À䵓9œz˜|S>iÙiü3ÍfÚ7hÃó(at625z*û“÷“SÃ/É¿ðúw¯ãìèÌä“ÿp]E f³¹rÿ®("bG)))de•}zÇÕ3~ ½zU¬ÿͺú\m€>Íú0·÷\^\ù"›m¶ºÖ#¨1Gc¬ÚFtÁ؇ÆÅ¥‹¶-"úh4É—’ñró¢©S·LdžØwfý–ö+sŒÀ¨@«ö®]ù¨_qâýÞOï±)iç²Îámô¦ó½ñõôåÃíÅo¶œòð”2ÇîÔ“¾ŸöµjìIëz­yzÙÓVí£:bT§Qž­í>µ›ËZéw¥cŽ1{Ól¶ŸØN¡©&¾MÙq$Ÿìú„mÇ·ŧÆÌì5¸±9ÎÚ8‹v|Ä÷/}_êSVÿ(¾ø”x>ß÷9;OîäÌ¥âsÂÖjÈ€ÐôoÙߪž»¢óh\»1Q£ð÷ô烧>`ö¦Ù8s€"s-Zòzç×uN¸Ü2V¯ödÔ(“*ÔßÓÓÿò;–ï?JÂEä¶R“p¹õÌÚ8‹ÿø;Fí°ËN|yª{|"Õ=“p•£ˆˆˆ\CÌÑ:ßÛ¹Ú&¸Õ=>¹6Ž"""r ÑC¢íªîñ‰Èµi'\DDDDÄÆ”„‹ˆˆˆˆØ˜’pS.""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DDDDÄÆô‰™""beÉŽ%DmŒÀßÓŸ­¯nµsDwžŒÜ ~ˆÿÕ‡WŸOna.ujÔ!ôîP·LˆH™÷ŧÆ37v.»OíÆTd¢Õ=­Ýi4áuÃm<)vÂEDÄÊËí^&q|â5½ê"» ›î‹»3øËÁö¥ÒEmˆbêú©ôêÁڗײkô.¢zEq(åŸF}¤ôÇÕïOÞOÿ¥ýñpñ`ÝàuÄŽˆ¥^Íz<»üY¶Ûb‡YˆÈQ.""·$³ÙL‘¹ˆ¢¢"{‡R%ú‡öç…Ö/àëé‹ÑÙH›zm˜×{¦"³6βê[d.büãñróbÖã³ðóô£–±ï<ò îjÀ„5È7åÛi&"R•£ˆˆÈ-ÉÃŃÃ6Ú;Œ*1³×Ì2ÛCüCpsrãdúIÌf3ƒ€Ÿÿ™£ç2(|nNn–þŽŽ<òó·ÌgCâ ~Ô&ñ‹Hù´.""r‹È)È!·0—&¾M, 8ÀöÛhТÔ=-ê´°ê#"ÕƒvÂEDl$úH4ÃW ·¼Þ4|³7Îfó±Í8:8vO“{L¦¾w}n[ȼŸæ^7œ•Ï­à§ß~â¥/^ÀÛèͮѻÊ?vx,³6ÎbSÒ&\œ\è|ogÞêù™y™¼ýq'âðpõ kã®Lê> 2ãNJKb憙ì:µ‹BS!¡w‡2ö¡±¥Þìw!û ¶.àÇÄIÉL¡†k ÚÔkÃÈN# ñ )3Æõƒ×3oó<¶ŸØNzN:?þ™ZÆZ×µ–¿FþŠ«“«åuzN: ·-$æh É—’qwq§ÕÝ­Òn4xÀÒ/ߔϢm‹X}x5g2ÎàêäJxÝp¶H—{»àèàø‡qÏÆTd*·€‡q#ã*Ô·,«¯`D‡VíIiIÔ©Q§Ô=u¼ŠÛŽ]8vÃÏ‘Êg0›Íf{!"RYRRRÈÊʪPßÀÀÆÌŸŸB¯^ë_Y†}5Œ˜£1ôêÁІrŸß}ì9½‡¡_¥‰oV=¿Êª‹¹-hêßÔ’„—ˆøW§2NY’ð«Ç$ø†·NãÚY—°ŽÈï#é|ogœýàhÔjÀ·¿eòºÉ¼ØæE&uŸd5NïOzs*ýÍê4c̃cñ!é|ÖL )-‰OŸþ”¶õÚš•JÿÏú“W˜GT¯(ÚÖoËéŒÓ¼½îmö'ïgÙ3Ë»'¬TŒmëµeôƒ£iÐ’#ç0à³ÄŒ+7 ¿zœ+“ðsYçèÿYr s™ñØ ÚÖk˹Ëç˜;‡õGÖó·GÿÆ€ÐL\3‘5‡×ðˆк^k²ò²X²s Kv,aù³ËiW¿]…â°…ó—ÏóÄÿ{‚nݘñØ «k/¬|-ǶðÕó_juíÄÅt_ÜfþÍøöÅom²Hµ·zµ'£Fù“˜˜T¡þžžžøûûWÆ£ÿ£r;:€°{Â0:騰#]wá@ò.æ\¬”ñû·ìOó:Í1:‰hAO±¿Åò×¶%Ä/wgwž {†º5ëû[l™cdæeÙ9’ðºá¸;»Ó" s{Ï¥ÀTÀ´˜i–~sbçp:ã4»M¤Kã.¸;»äÄû}ÞÇl635zj™ãm?”võÛat6J NÀ¯eNìNeœâÍoÒ-°ž®ž4º«󞜇¯‡/ïD¿ÃùËçØv|A>AtjÔ 7'7|<|ßu<îjtS1T¶ôœt^\ù"íê·cÚ#ÓÊ¿á fŠ÷Ú®,_ûS."b'-ZZ½ð %3¥RÆ¿º>Ø¿FñîMó:Í­ÚëÔ¨sÍgº:¹–ÚY ö ÆÏÓø”xR³RâòƒÝ»Yõõõô%È'ˆƒgr6ól©ñ¯»2¬?²€®»Zµ»8ºÐ¡ar sÙ|l3wfÏé=LZ3‰}göYÊJ¢‡DW›]ðœ‚^XùA¾A¼×û½2Kdj¸Ö ;?»Ìû¼Ü¼ª6P¹.ª ±“’Ä©„‹£ ð¿Ë›åéâiõÚ€GGŒÎF«vƒEæ²ùóvó.sµ¶{mR³RI»œ†·Ñ›Ì¼LZÍkuÍxŽ_8^ªfùêXnV¾)ŸÌ¼L\\ˬq÷ñðŠKV¦ôœBØÝa¬:¸Š¿¬ø ­ë¶æ™°gx¸ÉÃzfUÖ„›Ì&^ýúUü=ýy÷‰wq4”]£Þ¸vc€2Ñ9{©¸­ºíî‹Ü锄‹ˆTs L¥Ú/å^ªòg—$×WKËN ¶Gm\]ðróârÞe½q蚉¢-¸8ºPõ™y™\ο\*/)CñõôŠK4"šGÑ<‚¢BâNıdçF¬ÁÄîy©ÍKå>3á„ÊŸÈÿysí›ä›òù੬ֵۇÝxïÉ÷huwñ/=Ô€[pðìAú6ïk5ÆÁ³hß }•Å)"×Oå(""ÕœŸ§_©ÎsYç8séL•?;» ›ø”x«¶„s ¤f¥â‚Ÿ§?‚Élb÷©Ý¥ÆX·˜=ˆÉ\±Ýâ›U²ƒ½1Éú ñ|S>ÛŽoÃÍÉ=@ؼ0ËÉ"NNtjÔ‰ŸúƒÁÀÆDûžA>Ë|ޤaq¿Å–¿’\KÛúm ô dÍá5äæYÚME&¾ÿž¯€Rå9"b_JÂEDª¹N:‘š•Êg»?#» ›“é'™3ÚüÙFg#S£§²?y?99ü’ü ¯÷:ÎŽÎLî1ÙÒ/²s$õ½ë3î‡qÄþKf^&é9鬨»‚[0¡Û›íGvޤnͺL™Î†Ä \ο̱ Çóß1œ»|ŽÉ='[ÊR&¯ÌáÔÃä›òIËNãŸqÿÄl6Ûuçø«_¾bþ–ùìOÞO˹- Œ ´úïdúI«þ¢zE‘‘›Á¸Æq.ëé9éL‰žÂñ Ç™ñØ «#EÄþtD¡ˆÜVªó…ûÎì£ßÒ~Vm#:Œ`ìCc Œ ´jïØ•ú}—„ÌÜ0“MI›¸”{‰æuš3©û$&¯›l)5úÀPz6éYæø=ƒzÒ÷Së…ÈΑ´®×š§—=mÕ>ªÓ(Ü݉Ú€¿§?<õ³7ÍæÀ™™‹hÐ’×;¿^êœðôœtm[DôÑh’/%ãåæESÿ¦ n7˜Ž ;^s Ç'Vh K\}N8@Ÿf}˜Û{®%–…Û}$š³™g1:‹Ï `ˆUrŸÏçû>gçÉœ¹T|NxÃZ :€þ-ûÛíD‘Á_.w'þËA_ZÊQJJ9ÄÜØ¹ì>½›¢¢"Bïåµ_+õµ‘bö<¢PI¸ˆÜVªs.""Õ‹Î ¹ƒ( ±1Q(""ÕÊÕõñeÕi£:²A4""UCI¸ˆˆT+×û&M‘[‘ÊQDDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pS.""""bcJÂEDDDDlLI¸ˆˆT{ÙÙt_ÜÁ_¶w(""•BI¸ˆˆT{f³™"sEEE¥®µ˜Û‚ËÚ!*‘çdïDDDÊãáâÁÆa톈H¥ÑN¸ˆˆˆˆˆi'\DÄF¢D3|ÕpËëõƒ×3oó<¶ŸØNzN:áuÃÙ}j·¥OxÝpV>·€mÇ·1è߃øg¿Ò-°Óc¦ó¯]ÿ²ôO—€£Áñš1ÏÆTdªP¼>>ÄŒûÃ>þFÌјŽwAß¼úõ«–×e­ÉŒÇf0qÍDKŸ_#ÅÕÉ•%;–µ1 €Ý§v€£ƒ# o$Xú_ȾÀ‚­ ø1ñGR2S¨áZƒ6õÚ0²ÓHBüB*´""•Í`6›ÍöBD¤²¤¤¤••U¡¾™??…^½*Ö¿²”$®mëµeôƒ£iÐ’#ç0à³ÄŒcõáÕ¼½îmÞëýO6{Òr߸ÆñÕ/_ñxÈã¼ßç}K{ô‘h>ÛóKŸ^jÓy”X¾wùMÇ[ÞšÔ2Ö²ô)IÂK´˜Û‚¦þM-Éÿ•R³RéÿYò óˆêEÛúm9qš·×½Íþäý,{fa÷„UÑʈHu·zµ'£Fù“˜˜T¡þžžžøûûWÆ£ÿ£r;Ú~(íê·Ãèl$4 ”„7¨e¬Åã÷=޳£3ßüú¥ona.1GchP«?ý‘Ëù—-×¾>ø5}›÷µÇ*5Þk­Éš;‡Ó§™Øm"]wÁÝÙ Ÿ Þïó>f³™©ÑSoxl‘›¡$\DÄNBBËl÷6zÓ¥q¶ßʹ¬sÄ!ôîPž»ÿ9r sY—°€ôœtvœÜÁ#ÁØ,÷Zkr£¢Dã`p°”Ôðõô%È'ˆƒgr6ól¥>SD¤"T."b'Fgã5¯õmÞ—è#Ñ|ÿ/µy‰o~Cßæ}iß =Q£øï¡ÿò§âûøïéØwg÷ =³²kÂ+;Þ?Z“ë•oÊ'3/€VóZ]³ßñ Ç©S£N¥=WD¤"”„‹ˆTC]wÅÛèÍ׿|MD³öÙÇ‚¾ psr£SÃNl9¾…Ô¬TVý²Š×;¿^áq¯|Ãâ­oE0”Ùîâè‚—›—ó.sèCø†U[S9ŠˆH5äìèÌã!ŸÏÜØ¹ôꛓÍ#0™xóû¤f¥Ò¾A{;GkßxÎF L–×=ÿÙ“ïû7?‚Él²:q¦Äâ¸Å<¸èALæŠýe@D¤2) ©¦"šE°rÿJ«72ölÒVî_IŸf}p0TåöŠ·Yf»pŒäKÉì=½—“OÒ¦^";GRß»>ã~Gìo±dæe’ž“Ί½+X°uºMйˆØ…ÊQDäŽåêj&?¿ìR†ª°ïÌ>ú-ígyÝlN3Ç'–Ù?ìž0ÖjH¾)Ÿ¶õÚZÚÝœÜx4øQ¾úå+»žŠrµ‰·"krõùêÍæ4£O³>Ìí=€7»¿É¤µ“xø£‡ñ6zóÖÃoѸvcj»×fÕó«X´mSÖO!ùR2^n^4õoʇO}Hdž+!Dä–‘›kÀÍÍ>§uëœp¹­\Ï9á:4`ðà ^|1½Š£‘êèÿý?o>þ¸&[·ž¨P."R  8rÄÅÞaˆˆˆ9âB``Aù«€’p¹c……å²}{å‰'""·–¸8#­ZåÚåÙJÂEäŽÕ­[6§N9ñË/®åw‘ÛÊ®œ:åD·n—Ëï\”„‹È+44—  |–-«iïPDDÄÆ–/¯I“&ù„†æÙåùJÂEäŽ6lX:ß|Sƒøx톋ˆÜ)âã]ùæ› j¿7æ+ ‘;Ú“Ofrÿý¹L™âƒÎй3L›V›–-syòÉL»Å $\DîhLštž½{ÝXºTe)""·»O?­É®]FÞ~û<Û}TD)JÂEäŽ×¼ycÇ^`Æ 6lp·w8""RE6ovgƌڌ›Fóæö©/¡$\D6ì"™ŒëÏþýª¹ÝìßïÊÈ‘þDDd1l˜ý?¤MI¸ˆÈÿ™>ý­[çòÜs÷°v­§½Ã‘J²v­'Ï=w­[ç2}ú9{‡( ±pv6³xq2ýû_bäHþþ÷»È˳cÁ ˆˆÜ”¼<ÿû]ŒéOÿþ—X¼8gçêñ.|ƒÙ¬óDäö‘’’BVVÖMóùç^DEÕ¦vm&¤ñðÃöù0¹1ë×{0sfmÒÒ?>gŸ½tÓczzzâïï_ Ññ%á"r[©¬$ 5Õ‰Y³îâ¿ÿ­AHHfÒ½ûeêÔ)¬”ñED¤r=ëÄ?z°reñç?<ùd&ãÆ]Àϯr~n+ ¹†ÊLÂKüò‹+Ÿ~Z“uë<ÈÉq   ðö.Â`ÐP{**2‘áÀñãΜ=ë„ÑXÄ£^fР Z´¨ÜP”„‹ˆ\CU$á%òò ìÚ寝¿ºrê”3UÉ£DD¤‚ÀË«ˆzõ hÖ,Ö­squ­šô¶2“p§ÊEDäNàêj¦cÇ:v̱w(""r‹Óé("""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pS.""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦OÌ‘ÛJÍš5ñðð°w""rrrª¼ÔYI¸ˆÜVÜÜÜ삈ˆH¹TŽ"""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6¦$\DDDDÄÆ”„‹ˆˆˆˆØ˜’pS.""""bcJÂEDDDDlLI¸ˆˆˆˆˆ) ±1%á"""""6æüÇÞAˆˆˆˆˆÜAâþoPôJ¡§g-IEND®B`‚fio-3.39/examples/ssd-steadystate.fio000066400000000000000000000022231476262051600176730ustar00rootroot00000000000000# Get a decent idea about the steady state performance of an SSD. # # First we sequentially write the drive. Then we completely # overwrite the device again, this time randomly at 4K. The former gives # us a good idea of the ideal write performance, you should see flat graph # of steady write performance. The latter we would expect to start out at # approximately the same rate as the sequential fill, but at some point # hit a write cliff and hit steady state. The latency numbers of the steady # state also provide a good idea of what kind of latencies to expect when # the device is pushed to steady state instead of peak benchmark-like # numbers that are usually reported. # # Note that this is a DESTRUCTIVE test. It operates on the device itself. # It's not destructive in the sense that it will ruin the device, but # whatever data you have on there will be gone. # [global] ioengine=libaio direct=1 group_reporting filename=/dev/fioa [sequential-fill] description=Sequential fill phase rw=write iodepth=16 bs=1M [random-write-steady] stonewall description=Random write steady state phase rw=randwrite bs=4K iodepth=32 numjobs=4 write_bw_log=fioa-steady-state fio-3.39/examples/ssd-steadystate.png000066400000000000000000002141341476262051600177100ustar00rootroot00000000000000‰PNG  IHDRC—@‘bbKGDÿÿÿ ½§“ IDATxœìÝw\Uåð {‰lEAÀ½pfbÔÔÌܦfšefjf™ös—¥•#µpfš9päÞRATT(K†€€€"ër~œ8rzï¼Èý¼_/_qÏyÎs¾çܺßûŒ£%‚""""""Í⣭ˆˆˆˆÔÉi$&CDDDDD¤‘˜ ‘Fb2DDDDDD‰Éi$&CDDDDD¤‘˜ ‘Fb2DDDDDD©†º "ªn|}}1oÞ<éõ¹sçÔŒšñ^TŒóçÏcëÖ­ˆŠŠBNNàÓO?Å?~ùä…ç,þoÑ¢ErÇÏž=[ÐÖÖ.µ¬–––0mÚ4¡  @¡Xˆˆª©]Z‚PlF&Q5bkk‹¤¤$ÀÂ… Ѿ}{¤¤¤ ,, ûö탎=ªtÙ~ø³gÏhiiáË/¿D—.]púôix{{K+~(1ñ½¼±^¿~‘‘‘4htìš5k¤Éü¶¶¶hÔ¨~ÿýwLš4  §§‡Y³f¡]»vð÷÷ÇâÅ‹QPP]]] uëÖÄE‚ƒƒ¥ze2>|ˆ 6H+Á¹¹¹!$$ZZZ*ß‹7Þx/^,^¼³fÍ .¸P»vmäççîܹƒFUø½Qö:+óž—%44ñññðòòB^^`æÌ™èÝ»·Tæý÷ßG||<`Ñ¢EøßÿþXµj•Ô3§¥¥…©S§¢[·nð÷÷Ç’%KPPP ½wß|óÍ ã "ªÆ|Ø3DDÕš±±±@ÐÕÕ"""Jì/Ú+¡LY‡R{A TjÏPÏž=OOO¹#GŽTéü rçð÷÷—+[PP Ô©SGÚ?þ|¹ýcÆŒ‘ö :´Ä¹ŠKII‘;ß­[·Êu/|||¤mõë×d2™ ‚°jÕ*i{çÎ+åÞ¨z¯úžÒ××—Žûã?äö9;;—è*((ìííË|O>ûì3iŸ………ŸŸ¯p,DDÕÌ.Î"¢j­gÏžøçŸ——gggÔ®] 6DÓ¦Mѽ{wôïß_é²ÉÉÉxðàt\ñ%»wïŽ={ö”ˆÅÏÏO®—œUŠõebbb¤çÏÀÞ½{qöìY¹ý….\¸ wlPPöïß<~üyyyROB¡¨¨(4iÒDå{1pà@8::"** ÑÑÑ8räúõë‡íÛ·Ke&L˜ ý\‘÷F•ëTDyîyEЉ‰ABB‚ôºW¯^rû½¼¼°fÍ@ZZîÝ»W%—e'"z˜ Qµ¶aØššbïÞ½xúô)âãã___¬Y³žžž8yò$tuu.[¸zW!¹×¦¦¦•ëËdeeɽ.:$¬¸ÔÔTéç… Ê=$µ,…÷@Õ{¡££ƒ)S¦`úôéÄgö4kÖ þþþsss 2D*_‘÷F•ëT„ª÷¼¢£ø{PüuñòDDš„ÉUk–––زe 6mÚ„°°0DFF"((‹/Fvv6|}}qîÜ9ôìÙSá²o¾ù&tuu¥y…½,^j,'Nœ(Ñó`hh¨R¬/ãààÈd2â‡ÿ7ß|³Ô²ÚÚÚÄè .”¶÷ë×ãÆƒ……ž={†·ß~»Ä±666*Ý øè£0þ|¤§§ãøñãrÏÓ5jT¥ÝU®SªÜsÈÌÌD¿~ý¤×K—.E»víTŠ¡´8ÂÂÂäö}O´´´P¯^=•ÏEDôÚS÷@="¢Ê4wî\áܹsr«fåää...Ò¼‰?ÿüSé²½{÷–¶999 ‚ ƒäæÐ(ógV™ó?yòDîûöí+Q_ÑÞÚ·o/$%%Éí‹‹~ýõWéØˆˆ¹:9"•ýñÇåö]­<÷â‹/¾(uµ³ëׯWÚ½Qõ:+ãž ‚ ¤¥¥ÉÕ{ôèQ¹c”3$‚зo_¹÷$>>^Axôè‘ФIi_×®]K\‘ÙÅdˆˆªµÂ‹FFF‚»»»Ð©S'ÁÚÚZú0hhh(DGG+]6((HîCª‰‰‰Ð¦MÁØØXèÔ©“JÉ2çA.011Þxã ÁÓÓS8qâ„ ‚)7‘^___hÙ²¥Ðºuk¹zøáAĉ÷E?\ëëë íÛ·…:”™$”ç^DEE•X†ºmÛ¶•zoT½Îʸç‚P9ÉPxx¸`cc#í366Ú´i#˜™™É-žpçÎÒ#‘f`2DDÕÛÎ;…¾}û zzz%zÚ´i#œ={V¥²‚ gÏž4h ÷|áÂ…r+¥)“ ){þ“'OÊ}à-ü·uëV©LBB‚0~üxi5¶¢ÿ…iÓ¦ wïÞ•ÊߺuKððð+×§OŸ+©OÊs/,Wfݺu•~oT½Îʸ畑 ‚ ÄÆÆ #GŽ”;WäΟ?/½nÞ¼9jÕª%½öóó“Îãîî;;;iߥK—¤EœœœP¿~ýõçääàÞ½{HOO‡©©)ÜÜÜ```Pê=#"Ò0>L†ˆˆH­æÍ›'-h0iÒ$iÙg""¢JÆdˆˆˆ^½ÔÔT¼÷Þ{HMMÅÍ›7ˆ½BwïÞE:uÔi.­MDD¯\nn®Üp4lÞ¼™‰½RL†ˆˆè•³³³&‘ºi¿¼QõÃdˆˆˆˆˆˆ4“!"""""ÒHL†ˆˆˆˆˆH#1""""""Ädˆˆˆˆˆˆ4“!"""""ÒHL†ˆˆˆˆˆH#1""""""Ädˆˆˆˆˆˆ4“!"""""ÒHL†ˆˆˆˆˆH#1""""""Ädˆˆˆˆˆˆ4“!"""""ÒHL†ˆˆˆˆˆH#1""""""TCÝQI‰‰‰ÈÌÌTwDDôqvvVw¯ö ‘Fb2DDDDDD‰Éi$&CDDDDD¤‘˜ ‘Fb2DDDDDD‰Éi$&CDDDDD¤‘˜ ‘Fª¡îˆˆH=rsµ¦‡”<}ÊïÆˆˆ*šžž336ÌEÍšê‡JÁdˆˆHƒKÃÈ‘éL~ˆˆÔ@??#,Yb‰¨(]Œ÷Ÿž }ýŠù8îìì\!õh&CDDUPE$C‚üòK-¬]kAƒ20cF ¬¬d!©J&ÓÂß›aùòZpvÎ…·÷CXZ–ÿï3“!¥ùpÆ,Q5”­…Ï?·ÃÆ5±dI~ü1‰‰Q¡£#`ôè'ðñy€ÔT 䀰0=u‡¥‘˜ U3ÀŒ¶0Ä–-ñxï½ u‡DDD¥pvÎÞ=q°³ËÇÔFB§ó¿jL†ˆˆª™eËjáÔ)#¬^ýmÛf«;""zš5eظ12|ü±²²øñüUâÝ&"ªFŽ7ÆÚµX¼8:=EÝ¡‘ ºvÍB·nY˜?ߊÅ~E˜ UOžhcÆš˜<9 66\5ލ4S§N…‹‹ \\\0yòdµÕ•––†Ù³g£S§Npss“ê9yò¤ô³‹‹ ®\¹òÒóUä5QÕ0{ö#Ü¿¯‹C‡LÔŠF`2DDT ìÛg mm#G¦«;"µ8tè”4nÜXÝá¼ÐW_}…]»v!)) 2¿¼ yŽŽyèÙó)¶o7Sw(ÉQ5pâ„1zö| cãu‡BD/ðøñcœ;wNz½xñb„††"<<Íš5S_`T¥¼ûn&‚‚ ð葎ºC©ö¸˜9Ñk.'G AA>ûì3¸ºº¾4FEz†T‰­8KKK,X°–––hÔ¨<==¥}E¯¡"éêêÂÙÙ|ð´- Bá/[®_¿.·4vá¿Y³fUJœT½ii=ÿûN•‡}oDDDULƒ вeK\¿~ ?~<1IrssC=0fÌ!44TîØnݺ•YïÝ»wˆÃíŠjÒ¤‰ÜëÆ—¨WªÄV\£F §§'½61yþ앬¬¬rF(JNNƦM›páÂÄÆÆ"++«Ä’×Ïž=Cff&LMM+äœDT50"""ªbtttðÇàÏ?ÿĹs熧OŸâÙ³g¸~ý:®_¿ŽË—/cãÆJÕ[QÉ +*##£\õ•[ÑäPlxž2ÒÓÓ1pà@<|øð¥eóó9/¨ºa2DDDT™ššbòäɘ>>°°°(õUbS…©©)Ö¯_6mÚÈ ç{™š5kâï¿ÿFŸ>}`ee4kÖ ÞÞÞR‚HDÕ—– ÌÀZ""z%‘™™©PÙ#GL0eŠ-ÂÃ#^^˜HóçÏÇ_ýh×®þþûo5GD¤y>ÿܰjUÉ!¨eqvv®¬pª+Ÿr “ó÷÷GlllECDôZ©[·.:vì¨î0ˆˆˆHEåJ†–-[VâIÊDDšbðàÁðññQwDDD¤¢r/ ÀD¤‰† ¢îˆˆˆ¨œ¸šÉ™?>æÏŸ¯î0ˆˆ*W“#"""""Ädˆˆˆˆˆˆ4“!"""""ÒHœ3D +:~¼C‡èÝ»·ú‚©B²²²°téRéõرcáè訾€ˆˆˆˆH!L†Ha ,~ž:u*“¡ÿdeeÉÝ›®]»2""""z p˜i$&CDDDDD¤‘8LŽ*]HHüýý‘˜˜}}}4nÜo½õôõõK-ÿøñc>OŸ>ÅĉÑ»wo”ˆ­~ýúx÷ÝwUflDš`Ò$wØØ”ÞËûº©N×¢¨W}Íšx‰¨jc2D•âÇ”777ÁÈÈФIÌ;2™ Ó§OÇ7+W®”’ ccc\ºt ööö€Ï>û ¿ýö[…œ§¸6mÚàŸþ––†ŽŽ;ŠæÍ›ËÅfjjŠË—/ÃÚÚ0mÚ4¬\¹²ü7è5ôé§®ê¡ÂT§kQÔ«¾fM¼ÇDTµ1¢JqìØ1ég ¹ù>ÑÑÑÒÏÁÁÁˆGíÚµáëë+mïÓ§”À¸qãJM†T9Oqü1´´´ 6”Û÷àÁ4oÞ¼Dl…‰ ö,1"MUÖ™LÀÅ‹É M‡LVgg3tîl }}Rë¹uë1®]KEff>lm àéi KK}¹úŠÎe‰ˆÈÀùóIÈÍ-@«VµàáaYj½OŸæãôéÄÇ?ƒ!zö´‡L&`óæ4o^]»Ú•y-ªžS‘ë©*^6‡'$ä ’QPxxX¢E ‹RË¥¦æ 0ðbbž¢F m¸ºš¡cGkèèh)t>eÛ QEa2D•âÑ£GÒÏ(³la’Rt.NÑDìì슦òyŠ+ºP‚žžžÜ¾‚‚‹ÍÖÖV®ŒM™ç$ªîJ›žO? Àýû™remm °jU{´n]KÚöèQ¾øâ2üý“åÊÖÀ¼yÍ1xpɹ,qqYøùçÛ„ç凭ŋ[ËÕqóf>þ8ÉÉÙÒ6|÷]+üúkFj — ½hþŒ¢çTôz^d߾įf½´\¡Ñ£ÀÂBïåKñ¢9üðòó…ÒªBJJN™É2í…ˆ¨20"•\ºt —.]*±ÝÍÍ “'O†­­-þý÷_L˜0gΜA\\¼½½åÊÖ­[½zõ’^׫W{÷îŰaÚšŠû÷ïcÅŠprrŸþ‰ž={Je çö¨rU8::bÏž=>|8ÒÒÒÐB@ IDAT-ŶsçN¼ùæ›åªŸ¨ºxò$P¯žI‰}uëCK xüX,“š*þwçÎ(…ë··7,±ÍÈèyoBñ8êÔ1*QÞÁÁXáó)sNU®§4¯rÎPYJÞ7@| ==Œ_~¹ ==môèa‡úõadTZZZø÷ßD\»–Š‚‚Ò“$@¹öBDT˜ ‘ÂæÍ›÷Ò2VVχv4hЧOŸFhh(üýý}}}Ô©S®®®hÕªU‰ã{ô興8pqqqpttÄ€(W®N:*ŸÇÊÊJîZŠ.€ §§'·ÏÕõù2°^^^ˆˆˆÀÁƒåb+~o K¤‰ÌÍÅå11™¨[WþulìSP³¦ž\Ù÷ßw‚¥eésB ´KÝ®hqqY%æ›Âøñ Ѽù‹W_+=¬\‚sçâí·Oÿ·š\üü‘•%”±x¤Ê*êzªÂœ¡Zµôñõ×Wqøð¸ºš!>^\MN&ðá‡.Òâ ­Z‰‹Ü|òIz÷® }„…¥Ã×7µjéáÑ£/T¡L{!"ª L†¨Jéܹ3<ˆýû÷—Øçââ‚Õ«W—k!"ª\††5°qc'é¹1ÿ}_Úgcc€U«ÚIÃÖtt´°qc'ÌœygÎ<„O”\]¶¶*%B`l\ÞÞðñÇþˆŒÌ@ddÀÚÚ³g7×_^‘QÅþ/°2¯çUkݺœM±vm(|}Ÿ?N`À€º˜4ÉMzÝ«WmôïÀÇçùƒ®‡ q„©i lÚþÂó(Ó^ˆˆ*“!ªR>úè#Œ5 gÏžExx8233aii‰V­ZÁÃãÌç‘zLšäùaZ..¦8v¬.\HBhh:d2 ˜¢KèëëÈ•µ°Ðúu‘+WRšš‹ZµôàèhK©¢F mL™Ò ”œh_¸ÏÅÅTn{‹8}Ú §O' !áìì Ñ£‡=ΜIPra„â×¢Ê9½u(í½zÑ5÷ë瀷߮ƒÀÀhÓÆ²Ôg$-_Þ#G6À­[¡¥´iS ÍšYàüù$˜˜èÂÒR¿Ìóʵ"¢Š¦%BÙ˼¼Ä!C>>>Ñë ²ÿþ%&&"33S¡²GŽ˜`Ê[„‡GTJ,¯«ðð Ô©c$·dsZZ.† óCddê&-MDTÕ|þ¹-`ժė”|ÎÙÙ¹²Â©®|Ø3DDDÕÒ¹sáíŠN¬áà`ŒÄÄg8w.Ožä¢cGk&BDDÄarDDT=5lh†œŽ‰“ÛÞ¬™~ùÅCMQQUÂdˆˆˆª%OO[\¸ÐþþɈ} m4nlŽví¬*|%9""z=1""¢jËÌL½zÕVwDDTE©öho"""""¢×“!"""""ÒHL†ˆˆˆˆˆH#•kÎP@@‹_z®Å§ãÖÃ[ ÇösÿŸQÛ¬¶Âå•eelOgO컹_¼ùt´u™“‰ã÷ŽcP³AЫ¡Wiç&"¢òc2TÅ 6 hÙ²¥ºC!*ݰa€‡À6Jÿñ‹ôƒ‰¾ ¾îú5Z5DBFÖ_Zˆ”|wê;üÒÿÀŽë;™“‰®Î]ñnÓwQÓ &gÂÏà|Ôyx6ðÄÁ;‘Ÿ!-†Tú¹‰ˆ¨|˜ U1uëÖEݺuÕQÙêÖÿýG€€-÷ ±mci[÷>è¹®'‡Æ¢Þ‹`¤k„Úâÿr~î÷3jÖ”Êo9éÙé kÖ[³ž£XY•Ú+T¨[Ãn°4²„Ï x6ð„O°ÜmÜÑÔ®i©C‰ˆ¨êИ9CEçÒ„„„`òäÉèÝ»7>øàœ={¶Dùï¿ÿ]»vÅ“'OÊÜWt(ZÑú¯_¿Ž‰'¢OŸ>˜2e ¢¢¢¤rûöíÃÈ‘#Ñ»woÌ™3§DýeÍ’ÉdضmF /// >ëÖ­Cvvv™×|íÚ5|òÉ'èÝ»7ƇóçÏ—(#Ž9‚?þ}ûöÅðáñpáBÄÇÇ—Y/“œ ôî  <+ö-tl,г'0jŸÿâzŠÎ¥ &Oëýà ”6Šï¿Ë—ÒF¥}E‡¢­ÿúu`âD O`Ê Hž}ÀÈ‘â¹çÌ)YYs†d2`Û6`ôhÀË >\<ç Ú(®]>ùD<׸q@)m‚9|ü1з¯XïÂ…Ûh•ÑȦ‘\"†èѰò òþHœ6¢ÕXZàãÝãïk#8!XZrZÑå¹Ù6Bûzíþg¨kX±[ - h2§ÃO#06Á ÁÔlP¥Ÿ—ˆˆÊOcz† çÒ:tß~û-²²ž[·uëVìܹC†<Ò___äå啨«p_~‘·…õïÝ»sæÌAnn.àØ±cصk®\¹‚Ÿ~ú ¿þú«tÌñãÇqúôi\¼xQÚVÚœ¡§OŸ¢wïÞ%’™;wbõêÕ8uêllläö=zóçÏ—â€?þø«V­ÂäÉ“¥mãÇÇüQâ/^Œ;wî Aƒ¥ÜM’cm $~X736m·çæC†AAÀ¹s@—üºÎ¥9tøö[ HÅÖ­bR¤"$D,_J•öMÀ ëß»WLr ÛÆ±cÀ®]À•+ÀO?EÚ(ŽNŸŠ´ÑRç =}*&4Å“™;Õ«S§€bmGóç?þøXµJL /n/nñbà΀mTíÊJdÌ Ì<ÆŽS-'œúäÜ>€‹Q±)pâÓãÑÙ©3¾îú5\¬\^z®ª6g¨ÐC°éò&LÛ? 5´kàݦïVú9‰ˆ¨ü4&*4sæLôë׃†‰‰ 8€ 6`Ö¬YrɪæÌ™ƒAƒaàÀÐÑÑÁï¿ÿŽS§NaàÀ¸sçfÏž:àÑ£GX°`üýýqøðaôíÛ·Ì:gÏžóçÏÃÚÚ3gÎD£F…Ÿþ7oÞÄĉ±wï^¹cæÍ›‡Þ½{cĈ000À±cǰ~ýz|ñÅèÙ³'ÜÜÜ’’‚Í›7£fÍš˜5kš6mŠììlܺu ëׯ—Ké%&LüýÅí:}|ñpé°b…¸MQ3gýú‰=M&&ÀÀ† À¬YòɪæÌ“·à÷ßÅdeà@1¹˜=èÐxôX°@¼®Ã‡Å^™²Ìž-&BÖÖbü‰½M?ÿ ܼ)öBk£˜7OL FŒ Ĥlýzñ¾õì ¸¹))ÀæÍ@Íšâõ7m*ö4ݺ%–e­B“C‘'˃®Ž®Üö› 7¶¦¶Ò6ssŒn3£ÛŒ ®.7qÏDŒÙ1g'ž…~ ýž«*΀†V Ñܾ9‚‚ÑË­—´hUm— =6l^÷ïßaaaðõõERRR‰e}øá‡ðöö–^{yyÁÞÞW®\~þÌ {{{ôéÓe&CùùùØ´i pþüy¸ººJû† wwwüóÏ?HLL„­íóýúõ“K{{{,X°›7oÆ?ü]]]‚€Ñ£Gã믿–ʾ÷Þ{˜9s& Êu/4Κ5â°¯Ï?îß~û :˜:U¹zF“ŸBýûaaboLRRÉe}ø!P¤ÂË °·{†||Ä$¬½½8”.  ìd(?_ì 30¢"mÆîîÀ?ÿ‰‰@‘6Š~ýä¤Åó-X &@?üèêŠÃäFŠ´Q¼÷ž˜t±V ž>¢S‹ð¿ÿƒžŽAÀæ+›ˆz5ë¡^Íz€ÍW6ÃÝÚêw޵0´€‰¾ ’’•7k·ž«*Î*´bÀ $¤' ¾EýWvN""*K†FŽYb[ëÖ­áëë‹”””r'CÆ “{mbb‚ àîÝ»x÷]ùa-Z´}úÈ%B`ii‰ÁƒÃÛÛÁÁÁèÙ³§´oܸq%ê7n,X€àà`€™™¦L™‚7BOO]»vEóæÍQ¯^=èë¿øÛY*…¡!°{·¸ÒÚâÅb°q£òõ”ÒFѺµ˜ ¥¤”?*ÖFab"5»{(ÖFñ_Å Ú("#ŹI}úÈ'B`i)&WÞÞ@p°ØãS¨”6ŠqãÄdè¿6 33qNÓÆ€žž8W©ys ^=€m´Êp¶tÆîàÝ8rŽŽHÈH@rf2`F×R9ß_|wê;ë£^ÍzЫ¡‡È”HdädÀÂÐBJš^¤‘m£J¹†³ág±þÒz@ê³TÀ;p-îÀËÍ c=ƾ°Ž¢‰½4f…BµjÕ*±MOO|„L&S¨Ž•³°(94BWW¦¦¦¨QlΈ®®8¤¤´yI… H(-î¢Û‹/¤P³fÍ2Ë>+2ÉåÊ•8räd2–,Y‚fÍšÁÉÉ ?ÿü³Ú‚øZÒÕ‡žâvccåë(í½þ¯BÁ6úÂr¥´Qèꦦ%ç5ý×FK—T¨°í•ÑF¥íÅR(¥Je‹.D±r¥¸€‚L,Y4k89‰CðØF«§ZNøõÝ_¡£¥ƒà„`$g&ÃTß‹û,ÆÛîoKå>lû!Þp|YyYI ÁøÈÈÉ@ûzí±yøæW²ØAY’Ÿ±Ò‚ é Ò¶¨Ô(µÅFDD•Gãz†U˜L$''ÃÊÊJnß­[ŠOÞ-/{{{ÀÕ«WQPPmmùüõòåˀڵ凂¡sçÎrÛ®\¹¨S§ŽÜö.]º K—.ÄDoëÖ­øðá§§‡)S¦TÜÅTw¹¹b/Hzº8Œkï^à»ïÄ9:•¡0™HNеQ¼Â6ŠÿÚ(®^‡­k£ø¯¢XEPP¬â¿6Šbm]ºˆÿ1)ÚºUî§§'ö‘ZèêèbÛÈm°0´€«µ+<'{"ìQ „¸Z»BOGþ£]tA—]•—…è´h‚{3û*1¿¦«sWl¹­ÌýEç=Àê«!^þ儾Ž>¶Ü}“rÇHDDOãz†åìì X±b…4w&??sçÎ}¥Éµµ5Z·n»wïâ›o¾‘z‘AÀ¯¿þŠ“'OÂÎÎNrWè»ï¾“’ˆŽŽ–///À½{÷ðÓO?!99Y*§££ƒzõÄa¾¾¾•zmÕδiâÿeËÄÕÙ<=ÅÕÒNªœóý×F±bÅó¹3ùùÀܹ¯6²¶‡ñݽ |óÍó^$AW¦;y°³{>ä®Ðwß=O~ :úybó_Ž{â wEÚ(ttÄ^7@:Hj£­¥öõÚÃÕZ©«£‹Æ¶ÑÔ®i‰D¨(#]#i9‰Í —èv´p”+ߪN+x8x¼´^m´¯×Ml›TRäDDTL†Ê0bÄbݺu¨[·.Ú·o;;;,]º´DâQÙ–.] mmmüôÓO°³³C»ví`oo©ÿMÌ_ºti‰!xhß¾=ÜÝÝÑ¢E ¸ººâæÍ›hÙ²¥4¯)-- _ý5ìììP¿~}têÔ îîîèÞ½; }ûö¯ô:_kÛ¶‰«² &. ­£ìØ!.0rä‹çܨjÄqžÒºuâCPÛ·“Ž¥KK&•méR±Gè§ŸÄÚµ{Œ Xº´ä<1fww1^WWqå¹–-ŸÏkJKN°³ê×Wåswþk£`%""¢r`2T;;;lܸæææˆG`` jÔ¨½{÷¢iÓ¦¯4–îÝ»ãàÁƒpqqAjj*._¾ŒÄÄDÔ®][·nÅèÑ£K³råJ 0÷îÝCpp0rssѽ{w=zTš#åî¿þÖÖÖˆ‰‰¿¿?îÝ»+++Ì;_~ùå+½Î×ÖíÛâƒCÝÝåW³³Ÿ³“–&®*÷¢y7ª°³07@(&{÷ŠKP¿JÝ»..@jªØC–˜(ÛºU\ ®¸•+ÄÞŸà`q˜a÷îâó‡ çH¹»‹Éµ5#.ó}ïž8,pî\€m”ˆˆˆÊAK(Ç,ùÂçòøøøTX@•%22111ððð€‰‰I©ûÚ¶m ãbÞ³³³qóæMÔ¨QMš4žžBBB˜˜ˆÎ;K=2/ªÿêÕ«ÈÎÎÆo¼!·=//.\€­­-5WHZ´hæÎ‹ . S)Ϧ Gbb"jÕªwwwhii½ð:ãââƒ:uêHÃߊ±±±ˆ‡••êׯ/-îðºÐÒÒ´iÓ°|ùòWòÐP1qu-9/nÜ¢-J_¼ Pd¤øßÃC\á­´}mÛ–\”!;[ìQ©QhÒDL$BBÄd¤sçç=2/ªÿêU±žbmyyÀ… b×m‹‰‰È… ¥??)<\ÿ\œ«¸jU¢ÂÇNó …ùhL2ôºxçwpðàADDD Aƒê絡ÖdHÓ¼óŽØ !.É­¡˜ Qeb2ôJøp˜\±lÙ2¸ººâàÁƒprr‚“““ºC"’·l™Øûuð ¸´5Û(½æ˜ U¡¡¡ ƒ­­-¶lÙRbø‘Ú…†aaâ¹-[J#"""zÍ0ª"¦OŸŽàà`ÄÄÄ”x>Q•0}º¸ÐALLÉ罆øÐÕ*ÂÕÕUÝ!½Û(U3ì""""""Ädˆˆˆˆˆˆ4“!"""""ÒHL†ˆˆ¨Â=xò.?º`þ‰ùêEaÍ~i†‘ÛF¾¶õ«› ØssFlVË[¡ñOÑ}mw|¶ï3»w 9ù9ê±Ê)o›PöømAÛàµÞ ~j—]p&ü ü"ýàò£ þ¸üÇK뮬6œ“Ÿ—]0qÏÄ ¯›èe˜ U·¥n³cŒºÃP‹™Gfbæá™¸{9È•å":-ÇïÇä}“±ëÆ.u‡¨U¥Mœ‹8‡y'æ!2%y²n}`il‰¤Ì$ÜK¾‡·À@×@ÝaV9¯²Mœ ? øõÝ_áåê…ÚÏ?†þÊâ ªj¸´6U‚ ¨;""t-îàöb\ÛqÒvs8˜; »Kwu…FÿI~š èæÒM."Òtåúmpuu…««+|||**"•hiiá“O>ÁòåËÕ iˆ!C†¨;„*¡@(À¦ÀMØq}âÒã`gj‡‘­F¢{Ÿ2 Œ ĆK„ÌœLؙڡ—[/|þÆç0Ñ7‘Ê ?‹?®üÐäPdæd¢Žy¼éô&&t˜[[¹:/Ç^Ʀ˛ô 9¨[³.¼\½ðQû`n`Žœü4ù¹ z4ì9=æ`ÉÙ%¸}Ÿ=Fð—Á0Ò5B³_š¡™]3üýþß wÌÿzüߟþÑÈàQ×_y~…F¶W\Áð¿†.F]„Ë.RlÛFnCûzíKÔ_èŸ[ÿ௠¿šŠ¡ ,`póÁÕz´µ´KIJ°×B,>½ÿÞÿ¹²\´ªÓ ³Þš%Å¢ffS}S¥ŽS´-¼¨uý½+Fµ…ù^óÑiÑè¾¶»Ü¶B…ûÆzŒÅÿzüOéX”yTmQiQØ´ ¢. &-:Ú:pµvň–#ð^³÷”º¿p2ô$>Ýû©ôºéÏMK-÷m÷oñaÛ•®¿4Êüî—”™¤PûVæ>)ó·DÑ6IÕ¿ ""•Í;1Û¯m—^Ç>ŽÅ’³KpûáíRËo¿¶sOÌ•ëÉ}ðä6nÄŨ‹Ø5z u q6ü,&ìž wlDJ"R"ð0ã!V\-mßzu+žZ(WgDJ~÷ÿZZZ˜Þeº´ýIö Ý:‰™‰Ò¶‚‚‚^ã“ì'¶u˜Ü1~‘~¸{;Gí,WòãÙ±áÒ¹mwï`áÉ…¸w Ëß‘ÿ‚'=;Ãþ†ØÇ±Ò¶‹Q1zÇhœüø$, -^zÎ1;ÆàbÔE…c<>á8œ-_Xæ Ç7 _C.m@-£ZèæÜ Ö&Ö/ŽÝ;†ÎüP¢|ìãX,8¹fúføæ­oÐÕ¹+Ì Í“ƒ•çWâèÝ£øóÊŸ˜Øq"N…Lï2CšAMÚxðä.D]@tZ´TçýÔûøîôwÐÖÒÆøöã1¤ùØ›Ù#îIN„ž€~ }¹.Ç^F«:­°æ½5p·q‡A—Ïc¹{-k·ÄoïýWkWħÇc¹ßr»w N.ÀŽQ;àáàðoÂá¶Ô íëµÇ–á[^ZïíÄÛØpi j`æ[3ÑÛ­7tutáé‹E§áàƒèÛ¨/z4ì!ˆvuÛa倕hhÕ‰™‰˜{|..F]ÄþÛû1ÖcìKÏ[êÖ¬‹¥}—âÇþ‡o~ °7³GS»¦èìØï6}ÆzÆRyeÚ‚²íLYÊÄRH‘÷A•6.–.˜Ð~<<à`î€ìülÜMº‹¹ÇçÂ;À:L€Ž–ŽÂ××Óµ'¿ ÇÄ=âïÕí·å~/ü"ý0n׸Ô :E~wŠR¦}+zŸý[¢J; êÉ©äø½ã€¯º~…AÍIÛGµ…'ÙO°ÜO¾WãŸ[ÿ ¿ ßõþNn‹• V¼³W\ÁÉГ˜Øq"ìLíš zœj9Á©–“\ûo@†I&Éõ9[:ãÓŽŸ¢8#]#¬´µŒj)|FºFX;x-,,¥ºW X¾ûâʃ+xôô¬Œ­®¯ÐÑ»G“ߘŒÑmFKÛ4m-m|qà 9,— YZ`ÝàuÒpG GÌé1}6ôÁݤ» WÑåÊêÛ¨/<xâdØIÆ"$)gÂÏàdèI¬¾¸†l@Û&”k ʶ3e)K¡ŠxʲÀk~÷0>8 IDATÿÞþÞHHO@®,WnÜ“8Ô«Y¯\çxU”ýÝQæ¾*zŸý[¢J; êÉ©¤ð[Õ7Þ,±¯‹S—RÃ…¦˜†i¦ICQÒÏZÐ NÄŒ DßMâì¦vMÑÔ®)<< «£+Õ‘èãVö¥¢Û6V**<¦ðÃ\¡Ú5б~GD¤D :-Z¥d(*5 €8¡½¸ÂmE¿¹€&vMJÌ[¨[S\Ñ53'Sé*š‰¾ 6ˆMcÚ¸«/¬Æ¾À±ŽA[K[©¶ l;S–2±ª¬÷áIö¼·å=$¤'”Y&;/[åú_5ew½¯ÊÜ'Eÿ–¨Ò¨z`2DDD¯D ÎÍ‘ÈÊ,Søí®‰¾ ¶ŽØŠÐäP\й„»Iw±;x7R³R1ßk>ú6ê+wœ––bRjÖT1ú²)zîŠ8¾´a}Ê~@«Œ9Ce1Ñ7Á´7§Á7Ò7n"öq,ê[ÔWª-(«pÑ %WÍÎ/™H¨KE¼¥ÙssÒàåê…Ï;ŽúõaXÃZZZ˜s|ŽÜ¼©ê xÛWô¾*sŸý[R™m’ª6&C•äâÅ‹8qâÆŽ GGGu‡S.ÕéZ4Åň‹8qûƾ1Ž–Žê§\ªÓµT7õ-êþ½ÿ/Þoõ¾Ü>¿û~%Ê~ þsøŸxÃñ …Îájí WkWéõgû>ÃŒC3ÐÙ©3Ì Ì¥:Þ= ww•®ãeî$ÞAJVŠÜ7Üùùðö¹!KZÐB¾,_¡zk9'x7´’fÕ¹ˆsžßã×™ ÈÈÎ<~öõ-ê+Õ”mg…= E'á*|ÏŠR¥]*C™6“øÒóK¹4W–‹€è€ ­²)ó»£ Uî“¢K*«PÕ¥­îª«‹/bÁ‚ˆŠŠRw( ñóóÃüùóSbßëv-\ ¿ˆ êQ”ºCQˆ_¨æ˜˜ÔRÚßkv-š¤—[/ÀOç~ž›{ðøÙc¤d¥à¯ ¿ðÛÅßJ”Øl t´t0ýÀtøÜðABzòdyxôô®<¸‚'ÀÛß0ëÈ,¬<¿·ÞBFN²ó³q#áÂ…!O–‡Ä quªM@G[ÞÞøÙ÷gD¥E!;?‘)‘ðö÷Ʀ˛Ê}YyYød÷'¸Ïòž!"%ÓöOCDJ<<ä†ùÔ4¬‰°Gaˆy#}Ó\–Ây «.¬Â¶kÛðèé#<É~‚ƒwbþ‰ù€·Ýß.wüÅm¾áß„+üO‘^¡í×¶ãÓ½ŸâÀíާ¹Oñ4÷)n=¼…i¦!*- †º†Ò‡QeÚ‚²íÌP×µÍjãßûÿÂ'Ø™9™HÉJÁŽë;ð‹ï/%Ê+‹*”iµÍjÖ_Z‡‘Ÿ› 71qÏDÜO½¯r ê¢ÌïŽ2”¹OŠþ-©ìv@U{†*I§N0o޼צ'ÅÏÏ ,@=P¯žü75¯ÛµÐÉ¥æõŸG+Gu‡¢¿0?,8¸=÷@½ZÅÚßkv-š¤¹}sŒh5Û¯mÇÌÃ3åöõkÔ‡BÉms´pÄ¢Þ‹0çøÌ::«Ô:?éð àÿìÝ{\ÎçÿÀñ×ÝAI'Šè Œˆ²…6Ìa›Ãf˜3_ffvòµù}ÍÖfæ°1§m#g33Å¢š¥Iˆ¨t$¡$!ª»ßéæ®Ô}ß•Œ÷óñðxÌõ¹>×ç}}îK»ß}>×u]¾yÿ“þ, ^R¢N3»f¸ØîÙÒȪtý€ùóùþ¯ïK|Y™Ôq’Îý+âåèEâõD^ýéUµrSCSævŸ«Vö|ƒçùõì¯týþÁ< ¢=eŠknל1íÆ°:l5s÷Ïeî~õ¶ú4íCw·îŽÿqÈÉËáÀù8à‘u>èújYbmÆ‚¶ã `lû±|zàSæü6‡9¿=h°Ç`ü#Õ÷FÔ&]h3&ú6ë˲Ðel=¹•­'·ªÊÍŒÌèîÖ½Ìûû$ÒæßŽ6´¹Ošþ,©êq ž\’ U‘Ž;Ò±cÇê£R$O™ÇѤ£Üȹ¡¶_Iiætƒ»­;ëÿYÏùkmºÚbÚ sOºa­‡áháÈþsû9}ù4—².q7ï.¶f¶´ª×Š‘mFâåè¥vަc´g#=GrûÞm6ØDÚÍ4-yËë-:9u*‘ i‹¶´uÍë²þõõ,üs!§/ŸFO¡W8Ö|ÞSûÒÿo¡Í¿mhsŸ´ùYR•ã@<¹åý¤.CÑìþþ%°hëøñãQPP@çÎñòòbçΜ8q‚÷Þ{SSSµú™™™üñÇÄÇÇchhHÛ¶myá…ÔêÌ„ °´´dÏž=ÄÆÆbggG¿~ý°²*}E!mÛ¶°°`ïÞ½œ?ž6mÚУG2çÙdee@\\¦¦¦xzzÒ¡CïUbb"¤¥¥aee…îîêïÊ?Ÿ¹¹9»ví"11‘zõêñÊ+¯`añ`ñO?ýĺuë8tèo½õ–êÉ““£F*³/ÚÆ¢Íç  …BÁôéÓY´H·U…Ž''è\ÐÙµ3^N^ìŒØÉ‰ä¼×ë=Lk·3ùãÌÄ_‹ÇPß¶ Ûò‚[±1r6€à˜`&¼8Ëš–ì‰ÜCì•XìÌíèתV51þ´lÛÂÔ‚½§örþòyÚ4lCæ=Êœg“u'‹€³Ä]ô†)ž <éà¬ÅøKO$àliYiXմ§‰îöÅ>ó‡â371g׉]$¦'RÏ¢¯x¼‚…éCãﯟXºŽCчx«Ó[ª'CN6NŒê8ªÌ¾h‹6ŸCy*óç_iÒÒÒÈÎÖlUªß~3cÚ4;bcãª$–gÕݼ»4÷kޝ«/ß¿*¯Ç<‰Rn¤àó#ÿ$þCpl0Êe™ÉвCËXðÛýϼešÖmJBz;#v²êÈ*lÌlX0°ØøÛ8™ú5÷Â8Œ 8À™Kg°lÑŸEcmfÍÞ@Y ,õÉPeÆ¢éç „BˆgGµ'C_}õzzzàãã£*ßµkýû÷/Qÿƒ>ÀÔԔÇÓ¦MUyAAƒ bûöíDGG«½ªåììÌ01)œ¸¹`ÁZ¶lIHHYYY˜››ëܶƒƒAAAÔªU«Ü¾~øá‡@a"1i’ú¤Þàà`ôõõË<ÿóÏ?`Û¶m 0@Uþ÷ßÓ¹sg/^ÌG}DÍš5UÇêÖ­Ë‘#GT}ÌËËcèСlß¾uëÖ1sæLÞxã ’’’8tè£GV=1ªìX4ý§¯þø =…ïàÓÄGU¾ëÄ.ú/+eüíøÓ¦~ï0m#ßbûñíD_ŽV{U˹Ž3Þ9 š8¼ o-çµ$$.„¬;Y˜›˜ëܶƒ¥A³‚¨e¬ÁøÛqü _Æ$Ÿbã/6}E9ãoßýÏ|â6´~è3ÿ›Î ;³8`1õþˆšF¿Úu9òÞUó”y ]1”íÇ·³.t3{Ìäo”‘Ä¡èCŒö­zbTÙ±hú9!„âÙQ­ÉPbb"—.]¢Gj‰@¿~ýðòòâØ±cª²ÔÔTΜ9ƒ³³3ûöícß¾}<ظè©Jxx¸ZÂ2{ölÕp€5jàëë˹sçHMMÅÜÜ\ç¶gÍš¥Q"”’’BLL ^^^%! Ü$))‰””:uꤖ|´oßžÁƒ³qãFŽ?NçÎvéž={¶Z’a``À§Ÿ~ÊöíÛ aæÌ™åÆ^™±”÷9eûñí„Ć0³‡ã¯±”÷9ñ0##bß­î0Dj;Ègô’;âߤZ“¡ëׯ~ËÉÉI-ºzõ*qqq|üñÇl·ø|GGÇuÌÌÌÈÍÍ­PÛ®®®¨©.==€&MšhT¿¸¢{Õ¸qãRM˜ËÈÈP+oÔ¨Q‰ºEeEm>®X4ù§ë·ï¿Gläéd㤖 ]½yŒ\ããeŒ‘bóq­Jé·Ñý~ççV¨mW[ Ç_öýñg¯ãø»uÿ3¯óˆÏ¼ÎýÏüV±ñgSÊø»_VtÿW,š|B!„x¶Tk2dii ðÈÍ<‹—ÕoÖ¬™j%§Òxyy=òXy±hÛ¶f·ÐÚºp÷åsçÎiÛÃñ]¸p¡Ôãqq…«H_™->>¾Ä<¦¢ÅŠÚ|\±±ÛZ¶\¹y¿A_0ð»x~æIW÷®¸Û»clhLBzañaÄ_‹çÎò;èëé0þª°m€ùæ3tÅPÆÿ<žÕÁ«U«É…'„JîŠ\ eŒ¿—ÞgÊÆ)ô_ÖŸ>-ûànïNbz";"v›ŸËì^³Õ,€ÂyVM?nJ>x6¨KQؘÙ0ªã(U=ÛûãoËL‚c‚1­aªÚg¨²bB!„(î‰H†Îž=Ëš5kغõÁ®Á“&M"55•;v¨}©îß¿?6l`êÔ©ìß¿Ÿýû÷«ŽéééñÒK/iüêZqUÙ6À!CÈÈÈ`Ö¬Y„……¦:Ö¹sçr÷šƒ³—Ï²&x [ÿyhüùL"õF*;"v¨}©îߺ?Æn`ꦩìÚÏþ¨‡ÆˆB—ž{IãW׊«Ê¶†´BÆ­ fùÏ",>Œ°ø‡ÆŸkçr÷šÜe2)×Sørÿ—ì‰ÜÞȇ>sï1|Ö¿”ñ7l)ïú¿ËŠ ‡Æßý}†Š^Ýèõ\/šÕkÆ™KgørÿýñwŸ¡ÊŠE!„¢¸jO†ôõõY½z5“&M"(((\Y­]»v4iÒÕ+\E^ýuú÷ïO`` çÎC©TâääÄóÏ?¯6Iß××cccìííK\·è˜­­m¥· бcGæÎ[bqˆ &ðÚk¯±ÿ~âãã©]»6žžž´oß^£ûµ`ÁÆO@@iiiXYYÑ¥KµîæææÆ™3gؽ{7‰‰‰Ô¯_ŸW^y µzÆÆÆ;vŒ½{÷ËÝ»wU±?ª/šÆ¢Ëçð¸èëé³úÍÕLò™DÐùûãÏÅ›vÚÑä£&ؘÙ`lXlüµ{þ­ûx6s—Ï¡,PâdíÄóŸW›¤ïÛÌcCcìÍKé÷ýc¶æÅÆ_%´ ÐÑ¥#sûÎ-±WÏ„'ðš×kìÚOüµxj›ÔƳ¡'íi8þ.`ü‹ã 8@ZVV5­èâÞEm…»‡¹Ù¹qæÓ3ì>±›ÄôDê[ÖçW°0-6þ 9öá1öžÜKì•XîæÝUÅþ¨¾h‹.ŸƒB!ž Š‚¢µ{uP´Ð€¿¿…‚8vìX‰… –.]ÊÔ©S0`Û·o¯PûÏ¢÷ߟ… A«V­ª;œ*§P(˜>}:‹-ÒúÜc ÇJ,L°ôàR¦nšÊ€ÖØ>IÆŸ¶Þßö> _HÄ'´r|:Ç_eýü{”´´4²³³5ªûÛofL›fGll\•Ä"„âñ›:Õ€%KÒ4>§hE_¡1ÿj2еkWZ´hAëÖ­144$<<œ¦OŸ^Íщ§]W¿®´phAkÇÖêžNHìýñç+ãO]dåd±.|-ë¶ÄÇÙGUþÝ_ßakfË«-^­¾àž@ññ]"+'‹6mèäÔ©ü“„BTØ‘ µk׎ƒò×_©ÊŒŒŒðóóS[aNˆªÐ®Q;F䯸‡ÆŸ~ƒýÔV˜Bh.ënßËÏjÉÐòÐå´°oQ­ÉÐ’à%8X80à¹åW®b["·°*lÒ,?þùñ’ !ÄcòD$C„‡‡sâÄ ®^½J½zõèÑ£uëÖ­îÐþµÊ›Ó$œHxB8'’OpõæUêYÔ£GóÔ­-ãOWåÍiÏ®I'akV½s´–†.¥}ƒöOD2’Â…ô 8Y:Q¿v}BBª;$!„x¦<É@Û¶miÛ¶mu‡ñÔðõõÅ××·ºÃø×hëÔ–¶N2þ*‹oS_|›Êø%Mì0±ºCx¢ õʼÿCcëÆü~îwI†„â1{b’!!„ÿN·îÝ"0&KY—°¯eOw·î¬[|ÎP~A>ËB–ÑØº1}šö!.=ŽÐ„P®ß¹ÎÄ1Ô7àôåÓD\Œ û^6vfv¼èü"Ö¦Ö¥^ãlÚYŽ_<ÎÍ»7i`Ù€Ž ;babÁ¥¬Kl=¹e’¤ëI|ü­êœ-âPÛ¡ïŠf::u|ì×Bñ€$CB!tv*õã¶ãjöUUY³:Ìï5¿ÔúÅç ååçñmð·øºús5†e¡ËTuÇ´ÜÌØ=ƒ¿ÿRkÇÄЄ¹Ýç2¨å UÙÕì«Ìüu&¡ ¡jukÖ¨ÉÂÞ ±©i£J€Rn¤¨%Cí´/3ÚqzÉ™ÉåÝ•‘mFbib©q}!„ÕC’!!„:¹uïã·çjöUY5»‘7ùÊ|‚.1ç·9Zµq1‚€˜:7êLS»¦£§Ðãí­os*õµèܸ3µk“x=‘€˜>Ø÷.6.´ª×Š}ººÃÏ;wîTwÕª¶qm p1‚â{i“8è+ôK”Õ6)lxëáX×,}å8cc,Œ-¸~ ´º¶&dÎB<*” =ÿüóøûûWJ0BèJ¡P0}út-ZTÝ¡ˆgÄàÁƒ«;„jçéàɶSÛX¼¤Äœ¡‡W…ÓU‡ðô'¿ Ÿ)¦ §ÐS;~5û*©7S ë6ì€ÿI¾üóK<êy¨%"Es†Š^•«¡_ƒÌ;™ZÅ"s†„âé$s†„Bè¤OÓ>,>²˜#ñGxyõËx7òFY äϸ?¹“[ñ§f½›õf]ø:~9ñ GâÐÑ©#Ö¦Ödåd‘p=°¤0Æ´C˺-y¹éˬü{%ÑW¢éò}ººtž–=—n\"8!˜a­‡©’!'+'Τaæž™8Z8¢§Ð+wŸ¡ªš3•E`L 1×bO W-ûݲnK|œ}ªäÚB!$B¡£š5j²âÕŒÛ6ŽøŒxâ3â°©iÃÿ^ú¶M¨Pûú }VYÍì½³9{ÿHõ·ìÌìhY·%z¬²†é»¦–Æî¨ÝªzfFf4³k¦úû[mßböo³ÙµKUVÞ>CU%êr”Ú~Gÿ¤üÃ?)ÿ0Âs„$CBQ…$B¡³u[0.€À˜@.e]®–¾®¾0Í{š*Y)2©ã$µùEúLóžöÈ…,M,Y9h%qéq„§„“q;+S+œ,hëÐVm¹m[3[6ßÈ©ÔSD\ŠàNîX4 £SGÕü&€-Òܾ9'ýÍ;7(  Ü}†ªJsûæe.ñ]üþ !„¨\’ !„¨š5jòJóWJ”—ö%b‡‰j×Wèk´ß³µ3ÎÖÎÅÓ¢n ZÔmQf&ušÐ¤NÚ«JÍíšÓÜ®yu‡!„Ï,½ò«!„B!ÄÓG’!!„B!Ä3é±&Cffføøø<ÎKV™§©/ºø7ößÌl1>>åoÞøoð4õEÏzÿ…BQ9äÉx$|}}«; ñŒ20ø _ß-Õ†B!žbu…ìììÇy¹*õ4õEÿÆþggÿ§ºC¨4OS_tñ¬÷_!„•Cž !„B!žIOÄœ¡Ÿþ™:P«V-LMMñ›ô‚u IDATôôdÉ’%(•Êuƒ‚‚èÛ·/666Ô¨QƒFñî»ï’••¥ª“““ƒB¡ ÿþ¤¦¦òúë¯ceeEÍš5ñõõ%22²D»J¥’/¿ü777ŒŒŒpvvÆÏÏøøx S¦L)³/º\SÓþ”G“û÷p|ñññ 0 jÕªÅK/½¤_pp0 …‚üü|Q(ª?þùg©ý×5mîUE=jžÉÏ?Ÿ¡C‡ ÔªµSÓoðôü‰%KŽ£T”¨”Lß¾;°±YF_ӨѼûîŸdeÝ{¨y(~ôï¿“ÔÔ[¼þú¯XY-¥fÍÅøún!2òj‰v•ʾüònn«12Z„³óøù#>þ …S¦–Ù]®©iÊ£Éý{8¾øø ° ‹%Ôªµ˜—^Ú¦_pðE ?òó  LB¡ðSýùóÏäRû¯k,ÚÜ+!„B<}ª}Ÿ¡Y³fáçç§VADDýõ7nT•¯X±‚‰'RPðà‹MBB_}õ„„„`jjª:–™™‰··7.\P•Ò­[7¢££±±±Q•Oš4‰+V¨þ~áÂfÍšÅñãǵê6×Ô¶?¥Ñæþdddйsg.^¼¨*ûý÷ß &88­ú[‘X´¹WUeÖ¬ üüŽ‹ù ùë¯KlÜØGU¾bE$'à¡‹„„|õU8I„„¼Ž©©¡êXfæ]¼½7rá UY``ݺm!:z466&ªòI“X±âAxá fÍ âøñ4­ú£Í5µíOi´¹9t‹¼fùûïñ§< :Zõ·"±hs¯„BñtªÖ×äŽ?ŽŸŸ&&&,Y²„ÔÔTÒÓÓY¿~=VVVlÚ´‰]»v…ÉÉÔ©S±°°`õêÕ¤¦¦’““CTTƒæÄ‰,^¼X­ý    ãÖ­[œ?žnݺ‘žžÎ† TõÂÂÂX±bæææ¬]»–k×®qùòe¾ûî;vîÜ©UŸ4½¦.ý©Èý+räÈùûï¿ÉÎÎæìÙ³¼úê«dgg«ž~y{{SPP€¾¾>ݺu£  @õçQ+È鋦÷ªª?ž†Ÿß1LL X²¤©©IOŸÂúõ½±²2fÓ¦hvíŠ ““©S±°0fõꞤ¦N$'gQQo1xpNœ¸ÂâÅê‰sPP2ŽŽæ„…àÖ­ÿpþüºuk@zú6l8«ª–ÊŠ‘˜›×`íÚ^\»6™Ë—'ñÝwÝÙ¹3V«>izM]úS‘ûWäÈ‘kñ÷ßÃÉÎþgÏŽæÕWÝÈÎÎeÊ”¼½ëSPð.úú ºuk@AÁ»ª?>>Ž•‹¦÷J!„O¯jM†üýýøä“O˜2e öööXYY1|øp–.] ÀæÍ…¯Â¬_¿žÜÜ\V¬XÁèÑ£±··ÇÈȈfÍš±iÓ&ìííK|Ù¶±±a÷îÝxyyajjŠ«««*ÁxøU¬mÛ¶°`ÁF…µµ5vvvL˜0>úH«>izM]úS‘ûWÄÌÌŒ]»vÑ®];jÖ¬‰»»;›6mÂÝÝàà`ÒÒ´{Q‘X4½WUÅßÿüý˜;0eJkìíkbeeÌðáMYºÔ÷~ÌѬ_†Ü\%+VtgôèØÛ×ÄÈHŸfͬٴ©öö5K|Ù¶±1a÷îxyÙcjjˆ««%‹w½ß¿+ªz۶Ű`Á ŒõÖÖ&ØÙ™2a‚}ÔA«>izM]úS‘ûWÄÌÌ]»Ю]]jÖ4ÄÝÝŠM›úàînEpðEÒÒnkÕߊĢé½B!ÄÓ«Z“¡ØØÂ/[}úô)q¬¨¬¨NTT¯¿þ:èë룯¯žž\¾|™¤¤$µ6<==177W+kܸ17oÞT•ÅÅÅгgÏq”VVM¯©KŠÓæþiÕª¶¶¶je†††tëÖ­ÔúšÒ%MïUU‰½~?>çÇúôi|¿N&QQ×xýõ_10ø }ýÂ?zz~|ÅåË·HJRŸçåéi‡¹y µ²Æ-¸yóÁœœ¸¸ÂkôìéT"ŽÒÊÊ¢é5uéOqÚÜ¿"­ZÙbk«þê§¡¡ݺ5TkS[ºÄ¢é½B!ÄÓë‰XMN¡P”[§h~~~>ùùù(•J”J¥Ú|›{÷Ô¿À˜˜”|ç¿èZŸWV¥Õ+‹¦×Ô¥?¢ÉýÓTEÛÒæ|m?Ÿª¢IÈEðóó ÈÏ/@©,üóp˜÷î©/øabRrJ^ѵJë^åŒ?Í®©K¥‡_%Œ?ÍëjûùˆG‹¾ÍÇû?fÔæQ Û0Œˆ‹D^Šd؆aü~îwµº£·Œf~ÀüjŠTÉÉËa䦑lŒØXf½«ÙW¶aëÂ×=žÀî+->mÆ™BhªZPpqq`ïÞ½4oÞ\íØo¿ý¦VÇÝÝ€TúF ÎÎ…¿MÞ¿?'NT;vàÀJ½V‘Êè6÷¯È‰'¸råŠÚÓ¡ÜÜ\ W++ºzzzäååUY,ÕÍÅÅ€½{/м¹úb ¿ývá~Â'îîV80_߆•‡³sá5öïgâÄVjÇH¬Ôk©ŒþhsÿŠœ8q…+Wn«=ÊÍUXØÏ¢{ §§ /O³¬D—XD刽KÿuýÉS>øYqýÎu ô K£»[wµúÇ’‘“›ó¸ÃÅ„&„òWâ_Œ{~\™õîæß%,9 ·:n)²BÅãÓvœ !„¦ªõÉÐàÁƒ˜7oË—/'--ëׯ³iÓ&Õdþ!C†ðÆo```ÀðáÃY³f ÉÉÉÜ»w´´4‚ƒƒ™:u* ,Ð)Ž0gÎ~þùg222¸zõ*+W®dþüªù feôG›ûW$;;›~ýúÆíÛ·‰ŽŽfذaDGGãííª®••QQQÄÅÅ•ºÌyEc©nƒþÏ}Þ¼¿X¾üii·¹~=‡M›¢UKYR˜´¾ñFs ô>|/kÖœ"9ù&÷îå“–v›àà‹LÈ‚ëÇÀ®Ì™s„Ÿ>CFFW¯Þfåʓ̟´zZReôG›ûW$;;—~ýv–ÊíÛ¹DGg0lدDGgàí];»I’••1QQ׈‹Ë,u™óŠÆ"*ÇÖS[ÉSæ1ªí(Ö ]džað¬ïI˺-Ù0l/¹¿TÝ!ŠRÆbjhÊó ž¯îPJU<>gBˆªR­O†<==™9s&_}õ“'OfòäÉjÇ_{í5ú÷«+ß}÷&L`̘1¥¶7{ölâhß¾=cÇŽeÕªU¼ñÆjdžÊæÍ›14,{‰amUF´¹E:wîL\\íÛ·W+733S-tP¤K—.üòË/jOt:TêŠrºÄRÝ<=í˜9³-_}ÎäÉLž vüµ×Üéß¿°ï®®–|÷]w&Løƒ1cö—ÚÞìÙítŠ£}ûºŒÛ‚U«NñÆ¿©:ÔÍ›£14¬Üß[TF´¹E:wv ..“öíÕW 433T-tP¤K—üòK4..«Te‡ -uE9]b•#%3€/Ì fšjÇÚ7h_Ú)¢šp(î/4~CýÊý[e(->gBˆªRíû ùùùѲeK–/_ÎéÓ§ÉÏϧI“&Œ=ºÄF§cÇŽÅÃï¿þšÃ‡sõêUêÔ©ƒ««+C‡eøðá:DZbÅ \\\øá‡HNNÆÁÁ &жm[6oÞŒ¥¥eE»ZBeôG›û…O{Ö®]ËŒ3 B©TÒ©S'>ÿüó{ -Z´ˆ¼¼<<Èõë×Ë¿¢m,O??Z¶¬Ãòå'8}úùù4ibÉèÑ-˜2¥µZݱc[àáQ‡¯¿çðá®^½M:¦¸ºZ2th†o¦s+VôÀÅÅ’~8IròM̘0¡mÛÚ±ys4––Æíj •Ñmî>íY»ö5fÌ8DPP2Je:ÕçóÏ_(±ÇТE]ÈËSrð`ׯç”;GÛXDÅ„§„óuÐל¿V¸’ßXÿ±((9ië¶oЫI¯rÛ»‘sƒ­'·q1‚ì{ÙØ™ÙѳIOººtUÕÉÍÏåÍ_Þ¤­c[þãý¶DnáHüîåߣuýÖ¼ÙæMÌŒÌÔÚÍWæóç…? Ž&ézúzú¸ÕqãÕ¯ÒȪQ©mOí4• 8šx=…¾®¾ lQøÁ•ì+üôÏOD_‰Æ¬†ƒ=ÓÉ©“Ný©.§/ŸæJö•±D^ŠdKä.f]¤®y]†z Ŧæ£÷{+¯wrï0~Ûxœ­™Û}n‰ósòr˜°mN–Nü·ÇK¯"ã,ñz"þ'ý9õ<ùÊ|[7fàsij×T­ž¦cDñtRT`¦zÑ«QEË*?¦M›Æ’%Kضm›êuº£œœLLLèׯŸÖ{'ý( ¦OŸÎ¢E‹ª;”J5mÚA–,9ζmýT¯Óýåääabò ýú¹°sç“õ„PWUýó/--ìììò+¿ýfÆ´ivÄÆÆUI,¥9pþ·O,·Þ‡Ý>ä-¯·ToñU ZØ·`ãðã#.F0në8®ß)¹šà`Á,x©ð•á»ywiî×\õeû`ìAµºÍíš³õ­jO;†®Ê?)ÿ”h·†~ –Xªjëá¶ïæÝ%$!D­þÄéÿ\†oε[×Tå …‚ÕƒWóBã´îOYþø?N_>]n½"~}ý¨g^O£ºßù†å¡Ë9:õ(V¦…ó·žÜÊû>@Yðà•h}=}f¾0“/þü‚ž#ÔMûøöÖ· Š âω–ˆoWÔ.fî™ÉG¾1ªí¨Rãû'åÆÙ¾è}¼³çrósÕêé)ôøØ÷cF¶©*ÓtŒñ¸MZ8uaÉÍ·=yxî·Ðˆµ?zR¬ZµŠk׮ѯ_?œœœ¸té?þø#Ë—/§V­ZôèÑ£ºCO±U«NqíÚmúõsÁÉ©6—.eóãQ,_A­Z5èÑéºCBM[Ƕl¶¯Í?)ÿ°nè:µ$$òR$_üùE¹ídßÍf¶ dædÒÿ¹þø8ûPÛ¸6I™I¬;¶ÿH:4èÀ+Í_QsøÂa,L,˜Ýe6®6®¤e§±…ÑT`L ­ë·V%B—².ñÉþOP(Øb ]]º’¯Ìg_ô>¾>üu‰óµéã–C8{ˆm'·1Õ{ªZ;["·PC¿ý›«ÿ‚äáøtgiÙiÌúu¹ù¹ôjÒ‹^î½0Ô3$èBþ'ýù,à3Ú8´¡™]3U´#Bˆ§‹$C÷eff2gÎæÌ™SâØ×_™™Y)g Q923s˜3çsæ)qì믻`föä½×/žm–&–´oÐK“ÂWˆ½½020R¿›wW£vvFí$ýv:ï¾ø.:LP;ö²û˼¸üE¶ŸÞ®–<è°iø&µW˜Z4dĦ¿x\-Ú0l'ýMÐ… öŸÛϽü{`d`ÄŹ|ó2öµìÕÚÞé˧ÈSæa g SJ3§Ë²î–½××Ã4}*tùæeÎ^9Ë,ŸYª²ÝQ»¹—·¼ÞâÃnªÊ{7íÍ{{ßcû©íjmhÓÇ®®]©cV‡m§¶1¥ÓÕòùI™I„%‡ñ²ûËX˜­[·fæÌ™ôíÛ·ºÃO¹·ßnIfæ]vïŽåÂ…èë+hݺpQ€¾}å‘·xz¸t(|í.41T57±€ÕÇ¥«¿þ×¢n‹s9ž³€ë·¼¶•_ÏŒÝ38_ò— EnÞ½©öE·EݪD¨ˆ»máJ„=›ôT%BEšÚ5%25’´›iÔ¯]_§þ”¦ø¼–ÊS¸ºb7—nª²sWÏ0¸åàõ·\"Ò¦ú }>7GW’‚w#o ð©PAAC<ÔW-->mE_‰à5×J{½õë,^ÌÙ´³€ncDñt‘dè¾Úµk3þü*[J»º?ÖL…vj×6bþ|oæÏ÷®îPª„±±ïVwâ tûÞm"S#Y§†A µ¿×6®]¢NÑ«SÏyÙµ‡#ñGhhÙž#hhÙSCS ?ýóûÏí/ñs±´¶‹ ²Ží£KJSUs†cq´pÄÅæÁêŠ9y…û>™›—¨_ZŸµíã!¬ü{%þ'ýñnäM¾2Ÿí§¶ãPÛŽ ;–Ÿ¶Šž=üÄ©HmãÚ( U]ƈâé"ÉBˆjS×¼.ózÌ{äàâOc4Uôe}逥4µUÒ²èpÕ,¶RYý©Š9Cwrïp4ñ(Ã=ÕW*µ­Y¸ wTZT‰' §.Ÿ*ÑŽ¶}lhÙ//œ?@æLŽ_<Εì+Lï<]õÚ\YñiËÖ¬°?'SOÒÐR}SéS—OQPP€]­Â‰éÕ1F„OI†„BT›žMzòcøìŠÚ…__?X4PË/ÈçÀùä+óuj»èÉÀñ”ãª/ºyÊ<–‡.'<%¼âÁ—¢²úSs†Š–!/¾ @çÆÙ±Ï~޳µ3N–N@áëf_•\@A—>m5”°ä0vEíâhRá’åƒZÒ(>m½ÐøÖ_Ï—~‰[7šÔiÀÅ™»®ªTÏB=ð)?†ÿÈÅéܨs‰§PŠO[]œ»ð|Ãç9šx”WÖ¾‚“¥†ú†Ä¥Ç‘›Ÿ‹««*«Ž1"„x²Tî¶öB!„–þ¯×ÿñA·°5³%93™ˆ‹ĥǡ,Pò²ûËôiÖG§v=êy0·û\L MHÊL"òR$ …‚…//äù†ÏWr/¨ªþT„²@É¡ØC¼Ðø…¯ééëéóàèâÒ…fÜÎ æZ mÚ¨%=åŧí8+rëÞ-.¤_@‰’† K]T4#B/:¿Xf=;3;µ„ÏÈÀè‘}íúhejõȶʋOÛqV¤fš´¨Û¢ÜØ4#Bˆ§S…ž 9::’’’R™ñ!Ä¿†ƒƒÉÉÉUÒö¿åÉBˆª!O†‹Š=ruuÅÄĄ޽µŸØ*Deúæ›o€é@‡êE<3áê*¯Î!„ÿfJ†¬­­±¶¶–y¢Ú&C€!åU¢’øcm]Ý1!„¢"d59!„B!Ä3I’!!„B!Ä3I’!!„B!Ä3I’!!„B!Ä3I’!!„B!Ä3I’¡J¶yóf|||8qâ„Nç¯\¹bcc+92!„B!ÄÃ$ªdÉÉÉ‘™™©Óù.\ ((HãÍ…B!„º©Ð>C¢¤¡C‡Ò¶m[ZµjUÝ¡!„B!Ê ÉP%sttÄÑѱºÃB!*¤ÅW-haß‚Ã7Vw(BQeä5¹Jö¨9Cùùùlذ‘#GÒ£G^{í5V®\INNÎ#ÛŠˆˆ`üøñôêÕ‹Ñ£G\Õá !„x†4ù¢ oüòFu‡!„ÕFž U²Òæ ݺu‹^½z•Hf6oÞÌÒ¥K ÀÖÖVíØ¾}ûøïÿ˽{÷Tek×®eÉ’%L™2¥j;!„â™wjæ©êA!ªœ<z >øà‚ƒƒ©S§~~~ìÝ»—e˖ѨQ#N:Å„ Jœ3wî\zöìÉÆÙ¾};ãÆC¡P0cÆ Î;W ½B!„âé"O†ªX^^kÖ¬ÁØØ˜àà`ÜÜÜTdžŠ»»;;wî$-- ;;;Õ±>}ú°}ûvÕß @ݺu™7oëÖ­cÁ‚µBQe’Õa«Ù|b3³.b_Ëžá­‡Ó˽>ßù0Âsÿíñ_îæÝ¥¹_s|]}ùØ÷cZHhb(™w299ó$¦†¦ì<½“õÇ×sþêy”J[7fPËAŒðž¢ð÷w‰×é¶¢›ZÛEŠŽj;Š|?*qÝ|?âÿÿ£‰GÉWæÓÖ±-³^œES»¦Zõ[“¾„%‡±êïU¿xœì»ÙØ×²§g“žLí43#³ ŦÉ}*+Æ5CÖ0zËhBBqùÜEÕö†ahß }‰9C·÷iÏOù_àÿ8„{ù÷h]¿5sºÌ)«6ãC!ªƒ$CUìÂ… dggóÒK/©%BÖÖÖ 4ˆï¿ÿž“'OÒ½{wձѣG—hkôèÑÌ›7“'OVyÜB¡‰¹ÌeSÄ&Õß“3“ùüÐçD¥E=òœ97òóÒ²ÓTeJ¥’Ï}Ϊ¿W©Õ=“v†O|JÄŽ²¨B±ÞȹÁП‡ª]÷ð…Ä'‡³yÄf­¢¢6Kë˦ˆM|òÇ'¨ÊSn¤°:l5¡ ¡l¹CbÓö>•cRë¾ÉÊÉbèú¡$g&«ÊBBùËHŒ;€¥‰¥ª\—ñ!„“$CU¬h++«R•_HÁÂÂâ‘uïܹS™! !„N"/E²)bfFf|ìû1Ý\º‘§Ìãóð¿Àÿ=ò¼cÉÇh]¿5Ë.ÃÝÖcc¢Ò¢Xõ÷*Œ Œ™Ýe6½šôÂPß  A|ð{Îì¡wÓÞøºúêï±äc´ª×Šå—ãVÇKY—Xtx¿Ÿûyæñˈ_tj³x_’3“™w`æFæ¼ßå}|œ}¨mR›¤ëI,^̾è}üþ#:LPkG“Øt¹O¥Åû~,M¾hBûíù鵟4îsXríÛ±¸ßb\m\IËNã“ýŸšÊ®¨]Œj; Ð}|!Äã$s†ªXݺuøçŸP*Kþ&îØ±cÔ«WO­üøñã%ꆇ‡P¿~ýÊS!´¶ÿü~fùÌâÕ¯babMM†µÆäN“yž©¡)+^]A«z­T_Ì÷Eï`J§)Œl3’:fu°0± _ó~Ìí>€½g÷V(^SCSV ZG=L Mp¶væ›~ßàlíLxJ8×n]Ó­Íb}Ùyz'yÊ<æ÷šÏ`ÁÔ1«C ý¸Ø¸ðÍ+ßPǬÎÐ)6]îSi1V„¥‰%+­¤eÝ–˜šàdéÄǾ}%ZUO×ñ!„“$CU¬N:xzzÍûï¿Onn.|ûí·8p{{{<<<ÔΛ?¾*ùHLLdÚ´iôèÑãñu@!!ézu.q¬´²"Íìšaeªþ´„âq’×äƒ/¾ø‚=zðå—_²zõjœIJJ"--MuÜÀ@ý£ppp }ûö¸ººbddDtt4÷îÝ£U«V :´:º!„¥R (Qöð\™â,LJ¾¬jKQ²­âŠ( ä5rò½w[y4¹vq¥õ¥h>N¾2ÿ‘çÝË¿÷Èc¥)›6±–u¿uQÚÓ¥ÒÆ@YÇÊBñ8I2ôtëÖ={öðŸÿü‡ØØX222€ÂWã.\Ȉ#Jœ³xñb-ZÄŽ;ÔÚY¿~=5jÔxl± !Ä£4°lNôî9\íXHBˆVm9Y9p(ö®6®jÇþŒû€†– °©i 6¿È_‰=ògÒÎ~;]í Lž2OuN‹ZÅü(ÎÖÎüøÚtrê¤Ñ9šÆ¦Í}Ò„y¾|£ò IDATùy××FeŽ!„¨*òš\%+ZÜ xÂòòË/CLL ÁÁÁœ9s†”””‰Ð¸qã8tè­[·fûöí¤¤¤Jbb"ØÛÛ?¶¾!DYz6é €_;Oï$óN&·3øåÄ/, ]¦U[/¹¿À’%lˆØÀµ[׸‘sƒ=göðß?þ ÀËî/`bhB=óz‰?‚ÿI²ïf“~;_NüÂWA_=ò·so3~ëx"/Er'÷qéqLß5¸ô8Ú:´U%Y5 Åôú¼³ûü#ýIÍJ%7?—k·®žμóøþ¯ïuŠM›û¤  b®Å”™T¡æJS™ãC!ªŠ<ªdE "<*iqqqÁÅÅ¥Ôc7¦qãÆª¿×¯__LB<‘<êz0Äc["·ðî¯ïªëÝ´7{ÏîÅPßP£¶šÛ5gL»1¬[ÍÜýs™»®Úñ>MûÐÝíÁöcÛåÓŸ2ç·9ÌùmŽª|°Ç`ü#ýK½†—£‰×yõ§WÕÊM MU‹T'K'>ëõïÿ˜9ûæ”ZgüóãuŠMÛûTžç<ϯg¥ë÷æ í3TQ•9>„¢ªH2TI¾þúk¾ÿþ{bbbhÔ¨5ªî„¢ÊÍï5Ÿ†– Ù|b3©7S±¯eϰÖÃhaß‚½g÷bnd®q[sºÎÁÝÖõÿ¬çüµ‡6m1ˆ‘mFªÕé9’Û÷n³éÄ&Òn¦áháÈ[^oÑÉ©Ó#“¡ÚƵùeÄ/̘OXrJ¥’6mx¯Ë{4µÕ~¡² ñ‚»­;kÂÖ–FÆí ¬L­p²t¢wÓÞôkÞOçØ´¹Oåù°Û‡ä)ó8št”97*}.OeŽ!„¨ ’ U’óçσ?ýô“Nq…âßFO¡ÇøçÇ—xÒñéOp«ó`³i##bß-³½Ï `Àsʽ®B¡`B‡ j{õ)ë ,°rÐÊrÛ/&}iY·%ßôûFã6µ‰M“û¤IŒuÌê°tÀÒRšyJãöuL›ñ!„ÕA’¡JòÎ;ï0yòdš4i" !ž["·q;ƒînÝ©_»>W²¯°ýÔv6Dl fštn,K(?Ëd|!žt’ U77ùí–âÙ“•“…_~A~%Ž}ØíCL M«!*ݵ^Ôš›wo–Y§–Q-"fD<¦ˆþÝž¶ñ!„xúH2$„BgC[ %ën1$e&¡¯§O3ÛfŒm?¶ÔAųEƇâI'ÉBÕ2ªÅ;/¼Ã;/¼SÝ¡<’&sgŠ<î'>ÚÄöoôoBˆg›ì3$„B!„x&I2$„B!„x&I2$„B!„x&UhÎPÑÞ:ŽŽŽ•ð60³ºƒÏŒtΟw­î „BQ²€‚xj´jÕ{{ûêC<#Nœ8QÝ!!„¢‚*” ¹¹¹áææ†¿¿eÅ#„N £Gæå—_®îPÄ3bÊ”)˜™™UwB!„¨™3$„B!„x&ÉkrB!töÝ_ßakfË«-^­Ôv³r²X¾Ž–u[âãìS©mk+¿ Ÿe!Ëhlݘ>MûTk,å‰Ïˆ'èBY9Y´qhC'§Nåž•EÄÅrrshbÛ„Ž ;¢¯§ÿ¢Bˆê'ÉB-]N û•Ÿ ÝÍâÛàoá9â±%CK‚—à`áÀ€ç¨•çåçñmð·øºú>±ÉЖÈ-¬ [Å…ô ª²ñÏ/3º’}…wö¼ÃÑÄ£j嬱vèZj;TY¼Bñ¤dH!„Î&uœ„­™mu‡Q)–†.¥}ƒö%’¡ƒ„.¤_ÀÉÒ‰úµë’Rfý[÷n1lÃ0®'`ib‰¯›/Ö¦ÖÄ¥Çq0æ —o^–dHñLdH!„Î&v˜XÝ!`¨ÇPþãý[7æ÷s¿—› ->²˜„ë xÔõ`íе˜›«Ž%e&al`\Õ! !ÄA’¡*ÊüÁ¨Q£prrªîp„¢Ê¡ ¡œ¿zž|e>Î6Îx;ycd`T¢[÷nÈ¥¬KØ×²§»[÷r¯{úòi".F}/;3;^t~kSkµë?<Ïç앳M<в@I[ǶxÔõPÕ½”u‰­'·¢,P’t=‰oƒ¿UØb ujÖQ»v\zÁñÁÜË¿Gëú­iëÐVãûUU::uÔ¸î½ü{øŸôG¡Pà××O-h`Ñ ²ÃBˆ'–$C::|ø0dôèÑ4h þ?ŽÐÐPæÍ›‡$CBˆ§Zis†b¯Å2qûDâ3âÕêÚ™Ù±dÀ<ë{ªÊN¥žbܶq\;ª*«cV‡ù½æ—z½k·®1c÷ þJüK­ÜÄЄ¹Ýç2¨å @}žOô•h¾ÿë{µúýš÷ã‹>_ ¯ÐçRÖ%U”r#E-jß ½Z2´âè ü‚ü(((P• ñÂÿ^ú_Ù7ê¾§wœ™¬Q]€‘mFbib©q}MD]ŽâæÝ›xÖ÷¤‘U#Ž&%253#3Ú;¶ÇÅÆ¥R¯'„O2I†ttøðaæÍ›‡¯¯o‰d¨cÇŽÌ;W!!Ä3çNîÆøáâ‹Ô3¯Ç‹Î/b¨gHHBqéq¼íÿ6ûÆîÃÖÌ–[÷n1~Ûx®f_¥‘U#¼y“¯Ì'èBs~›S¢í|e>oo}›S©§p¨í@çÆ©m\›Äë‰ÄðÁ¾p±q¡U½VªsŽ_=Ùqz¡ ¡ßÏÞM{Wz2”x=€æöÍ™¾k:¿žýUíø!|Öó3YQNñLd¨ tìØ‘Ž5eA!ž{Îìáâ‹xÖ÷äÇ×~ÄÄЀŽ9‚“'ObìØ±8pààÛo¿EDDfÍšoootìØ?ÿü36mÚ„±cÇbÒ¤I>f`` Þ}÷]€··7¼½½!‹S§NA¡PÀÀÀ Bm3f  Ž;†ñãÇ s†ž7GhݺuX¶lD"ú÷ïܺu üñ~þùgØÙÙaÙ²e*ûLž<‰“&M‚L&áC‡píÚ5LŸ>'Ož,7Îo¿ý6l€X,ÆàÁƒÑ¸qcÄÆÆâûᅦ½½}™ûM:FFFx÷ÝwQ¯^=têÔ©RñWÔ´iÓ`dd„I“&ÁÄÄÁÁÁ¸víÞxã ÄÄÄÀÖÖ¶üƒ‘NYšX(^žùÙ„æNæ(•JXI­Tê&e&•úЭ.a°”×ÛómØš©ÿ}ðì’ÐIIjë•ßÂØBíöªRæ ¹;¸?·Ç§¤ÇMö QíWåÉЂ `jjŠ'N }ûöB¹R©Ä°aĘ˜¸»»ÃÈÈh×®†Ž7bÆŒhݺ5~øá‡JsáÂ…Š“‘©S§ªÄvêÔ)ˆÅŸ :fÌܾ}ÇŽÄ 4êµX¾|9`÷îÝxãÿ†Iœ;w~~~øî»ïð¿ÿýfff¶&MšàÈ‘#J‹‡š,[¶ ­[·Fhh(²²²`añü?â_}õ ŒîÝ» å{÷îÅàÁƒËÜÏÙÙLJ¹¹¹PV’PV$þŠrrrÂÉ“'…vá­·ÞBPP¶lÙ‚Y³fUúØDT=ÚÕk‡]—waÍ©âUãJ†ÊÉ•r|}ük@{çâßÛíœÛawÔn¬9µ¦Ôœ¡u§×•:v§x)r¥Ó»L‡Hõ‹¬´ì4$?NV)»õè‚¢‚JÍ:rý,L,ÐÔ¾©Pn$6z­ªJM˜3dgfϺž¸p÷BâBJ “‹{;3;Ø™Ù=ç(DDµC•&CÉÉɸvíš4i‚ƒâàÁƒÅc»ÿýÖ©¤Gæüùó¼“ à×_Åk¯½†W_}–––ؽ{·Tä˜2™ 7nÜ€··w©D@µ ½º}û6’’’Ð¥K•D|||0|øpüú미páüüü„msçÎÚ FFFèÕ«bcc‘œœüÜd(11÷îÝCŸ>}T!4h¼½½®vß9sæ¨$B•¿¢æÎ«Ò&‰D‚Ï>û AAA e2DôÐ|Ö^‡óIçÑ÷ç¾èÖ¸ ÅÅ«ÉÅ=ˆƒ¥‰%FyŽô÷èïN~‡“ 'Ñoc?ø6ò…B©À?ñÿ ·0·Ô±_oþ:¶œß‚ß/þŽ“ 'ÑÙ¥3lMm‘•—…[n!ìv&v˜ˆÖN­…}lLmðÑp úšÙ7ý¬{8{r¥ã½ÆC,úï 1\K½†Yûg¡¾U}ˆ Ô>gèETÕœ¡«©Wr#pãÁ Àù¤óÂ2á­Z ó›àC¿1vÇX¼¿û}ôjÚ .6. J¥ïù¼ÇùBD¤ª4JK+~nD||<-ZTf½gçòøùù¡aÆHHHÀàÁƒáêúß3*ṙÜÜÜ*Ýmxôè qãÆj·7iÒž®ºrRýú¥ÇÌËd2@aa¡Fç,kèž‹‹K™ÉPÓ¦MU^W6þŠjÔ¨Q™e%1QÍ&5”bãðÂs†~üUØæ sÀšÁk„!qfFføièO˜´{Ò„çÙ™ÙaékK1e÷•c‹Ebl|s#昋£qGx)Pe»£ÌQ%Š{ªšØ6ÁOgÂñ›Ç…òA-ajÕ/ÉÆ{ÇÜ¿æbïÕ½BٳϪ©®¦\Uy>D$E‹U¼Óî•d¨³Kg,黟ù _ÿ[(7`¼÷xLðžP-qéZ•&CÖÖÅ㜛7oŽáÇ—YÏÛÛ[åõÔ©S‘€&Mš`Û¶m:t( Pác–Ì1‰-7Ö’‰þÙÙÙ*‹/Å=#/¢$æ›7oªÝ^%N“sÞºuKíö²Ê‹T<{,Mã¯ìµLHHPYᯤì鈨f™Úyj©ù>®v®8ôÞ!„&„âzÚuÈ•r4¶iŒ®» +™•håÔ Á“‚r#÷²îÁÑܽšö‚R©„¿¯©äÆZjõÃÖ#þa<Î'GzN:lLmàbí/g/µÏÆ™Ó}úyôCØí0(” ´wn¯ò,¢CZ A‹:-pîö9dæfB %êYÖƒD,¿¯?Û–þB¨d›®TÚ¢N‹RK‚?íÙëoµy =›ôÄ?ñÿàAÎX™X¡K£.j¿ "ª­ª4ª_¿>š6mŠääd 6 -[¶TÙ®T*ñ÷ß«ÌûÙ°a¶lÙ‚ñãÇãË/¿D»ví0fÌ\¸p5ªÐ1Åb1š6mŠððp¬_¿^X€¡Dhh(:wî ‘H$,‚pàÀL›6M¨säÈ„††–j[ÉJhšô†4hÐÎÎÎ ž}û0pà@aÛùóç±k×.H¥R´k×î9G©˜† ¢nݺƉ'T–ÿóÏ?ËìÒFü½–%V¬XCôŠŠŠðñǺté¢q¼DT}Þïô¾Úr±HŒ®»¢kcõ;x𙑶Xªüyî›Ø6AÛ&ÇÙ±Z8¶(·ž›½ÜìK&(+±HüÜ8«‹¦í{–½ÌÃÛ”ýÅ"QmWå (¬\¹C† A»víгgO¸»»ÃÄÄ·nÝBXX›› ±XŒ .ÀßßmÚ´Áºuë •J??? 6 §OŸ†±±q…޹dɼõÖ[˜}………H$èß¿?>þøc|ðÁ8yò$6lˆ˜˜üùçŸppp@JJŠJ»J†îÍš5 §N‚©©©ðœ!uæÍ›‡éÓ§cðàÁèß¿?ÜÝÝ‘˜˜ˆ={ö °°sçÎ}¡ÅÔ™9s&æÌ™ƒW^yƒF£FpãÆ ìÛ·¸ÿ¾ÆcÂ+E¯e‰äädxxx ÿþ066FHH®^½ ;;»2¯+QeUy24xð``ÆŒ8|ø0>,l300Àk¯½‰D‚ŒŒ 6 ÆÆÆBOtèÐß|ó ¦M›†3f`ýúõÞ|óM¤§§cΜ9 CXX˜P×ÏÏOXp¡mÛ¶ð÷÷Çwß}‡;þ{†Å¢E‹póæM¨´«oß¾hÞ¼9®]»†/¿üÀÏRgÚ´iHJJ—_~‰ýû÷cÿþýþ{NÏçŸ^ÙK\¦™3g"::›6m®]»„ò©S§"99{öìÑ8«Hü½–%Ö®]‹Ù³gã§Ÿ~ÊJž3Äeµ‰ˆˆˆH۪填#GŽÄàÁƒ‚ØØX( ¸¸¸ cÇŽÂ"‘‘‘3f ºw﮲`a%¸´´4¤¦¦ÂÑÑQ£c–˜2e FŒÇ#!!–––h×®|||Tê}ûí·1bNž< ‰D‚ž={¢M›6 ‚«««04(&Ž ..ùùùÂb;wÆ'Ÿ|Rjñ‚eË–aòäÉFjj*lllУGa%½½zõ‚‰‰ êÔ©SêZ–lsp(ÿAxb±7nÄÔ©SqüxñÄa___tèÐnnn°³³SiÓóÎ[‘ø+z-K4kÖ ×®]þ}û˜˜ˆzõêaàÀ°²²*·­DDO{Þ<""¢"eÉšÔ•P²€A```95IWÂÃÃK-P±víZ̘1o¼ñ‚‚‚tÙæÍ›‡+V 22mÛ–žÔ¬ ‘H„Õ«W£_¿~ZŽŽH½éÓ§C&“UÙï¿ÔÔTdggkT÷¯¿dð÷wD\\|•ÄBDDÕoÆ GÀš5©ïS²Â/i,°Zz†Hwzöì‰V­ZÁÓÓ†††8þ¼°ˆÁ‡~¨ã興ˆˆˆt‡ÉP-סC=zgΜÊŒ±jÕ*•戈ˆˆˆô “¡Z.$$çÏŸÇÅ‹‘––†ºuë¢OŸ>prrÒuh‚òæ*U&CzÀËË ^^^º£L½zõB¯^½té]@DDDDD¤ L†ˆˆˆˆˆH/1""""""½Ädˆˆˆ¨ŠMØ9K‚—è: ""z“!""¢*~'×R¯©”þm4–†,ÕQDDDha5¹¤¤$ìܹS±½ÈÈH]‡@z$%%®®®ºƒ^›ÞÜ™±L¥,ìND"‘Ž""""@ ÉÐÙ³gñÖ[oi#¢²yóflÞ¼Y×aa2Dšò®ï­ëˆˆHJ†µ½d å…ûûXxÕ÷‚¿¯?v\Ü3‰gð(÷6¾¹ .|5à+aŸ¬¼,¼ô>”J%¾ô-d¶ùçãIþ¬¼ºÚÛ2kÿ¬JÇZÞu0‘˜`ÂÎ hlÓÿëõ?ĦÅâÓ¿?…\!Ç•”+0J8î¢Þ‹àáàÈÌËĮ˻y7ÙÙp”9âU·WÑÓµg5]"¢Ú]%"¢JQ(»™± ãwŒÇ™Ä3¶"yŒ$F¼ˆy=æÁ^f8xçnŸœJ8…!­†2r3°ûònôoÞ¿Üó. YŠ+)W4ŽsÕ€U¨kQ÷¹u^$Öò®$Ås†ò óó#ìN€â„«äç’×y7“vM£ÜG*qîŽÚám†cÙkË4n?•ɽ7O@f,Ãìn³ááè‰ ¤†Rtqé‚ÀK½ŠÁ-(N*ìeöÉz+TH0Î$žB©€¯‹o¹ç‹I‹QI Ê“[˜[nmÄZÖux–›½F`ôo£ááà¯,¶y8x ;?SvOAF^·ŒîMºÃÒÄ·3ncKø^ D§0°Å@¯©Çdˆˆˆ^ˆJl±Ž*å]\º@$ádÂI•Ã×Å2cþŠþ J¥R¨]u)÷|ó{ÌGV~–Æñ•×+¤­X˺Ï276‡OˆD"XJ-áÓÀGeû/~Á܇˜Ým6¦t𢲭Ÿ{?tû¾‚®1""Ò&CDDôBÜíÝÕ&ÖRk4whŽS § T*‘˜‘ˆ¤Ì$Ìì:æÆæØ±1i1ðpð@è­P¸Ú¹ÂQæXîùÊK6*C±–u*ê⽋€#×àtâi(•JÅÉVÉÏñã_øï:TDNAàRò¥2ëIŒ´r.""}Çdˆˆˆ^Èóž•ãëâ‹Ïüˆ7O òn$ÜíÝakj ð¬ç‰Ð[¡Â¼š..呪fÎ6b­ð3ƒ”zzžædáø´Ï§pµS¿|»Ä€¾‰ˆ´¿M‰ˆ¨Ê´wn©¡ÿÄÿƒèûÑxÛóma›o#_|ú{Åî;6ì¨Ñ1«bÎPUÅúOsÇæ8›xÝèŽz–õ ‚‹z/B‡ú0¼Íp^ DÏ{¢¾U}Ø™Ù!+/ I™IÈ/ÊÇ䎓ñºÇë/‘¾3(¿ ÕdbqñP+y í,(I*¤†R´wn/”·rj+©•J]«ÎXçtŸ{™=îeÝCøp„Ý ž3ôEß/°à•p9àNÆDÞDüÃx(” ôsï§Ñó˜ˆèå&—‹ ë:ŠÚO¤T7`™ˆˆt*55ÙÙÙÕ=}ZŠ1cêâüùXY)ª8²ÿ(” „ß ‡µÔÍ웕Y/3/1÷c`jhŠVN­T¶]K½†ÇùÑ̾¬¥ÖUr¹*«&×!üN8dÆ2x8¨öjÉ•rÄ=ˆCV^J<<`ab!l/YÙ.='6¦6¨gQ†bC-¶˜ˆjªÑ£ë¢Q£B|öYšÆû4iÒ¤ #ª•™ Õ@I†îÜ1D °k×]´m›WÅ‘QuèÒ¥!ÆËÄ{ïeh¼“¡ ä09pˆõ IDAT"¢—œ³s!,-ˆŒ4Ñu(DD¤))¤¦Jмy¾®C©õ˜ ½äD"ÀÏ/!!¦º…ˆˆ´ $Ä R©ÞÞìí¯jL†ˆˆj²q‰œOBDô²Û±Ã}û>‘g³T5&CDDµ@÷îOРA!¾ûÎFסÑ øûo3DGcôèL]‡¢˜ Õb1°`ÁCìß/Cxø‹?‡ˆˆª_A+WÚbРÇhݚ󅪓!"¢Zâ•WžÀ×7Ÿ}f‹ü|‘®Ã!"¢ Z·Î÷ï‹ñÑGéºEo0""ªE/~€{÷ 1ožøà"¢—Ç¡C2üðƒ5æÍ{‡"]‡£7˜ Õ" bÍš} (Ȝ󈈈j€èhcŒU_|a‡™3bÅŠû04ä/h]`2DDT‹yzæáСÛèÝ;óç;`Ø0güõ— ……\mŽˆ¨ºEEcî\ ì ¹\„  $L™’¡ë°ôšH©ä÷„DD5Mjj*²³³µz̘#|û­ Ž3ƒ‰‰:å¢yó|89É!“)´z.""òòDxôHŒë×pö¬II4kV€É“30pàcˆ´ü½T“&M´{ÀÚ/ÉQ TÉP‰” BBÌpæŒ11Fxð@Ì9Eô Ð@}]BT.cc%,-hÚ´mÛæ¡gÏ'hÓ¦ê¦Êd¨Â˜ ÕDU™ ½Ì\]]±zõjôë×OסÕ8L†*,_‘^b2DDDDDDz‰Éé%&CDDDDD¤—˜ ‘^b2DDDDDDz‰Éé%&CDDDDD¤—˜ ‘^’è:""*ÍØØX×!ÕX&&&Édºƒˆj&CDD5•••®C ª±,--áèè¨ë0ˆ¨à09"""""ÒKL†ˆˆˆˆˆH/1""""""½Ädˆˆˆˆˆˆô“!"""""ÒKL†ˆˆˆˆˆH/1""""""½Ädˆˆˆˆˆˆô“!"""""ÒKL†ˆˆˆˆˆH/1""""""½Ädˆˆˆˆˆˆô“!"""""ÒKL†ˆˆˆˆˆH/1""""""½Ädˆˆˆˆˆˆô“!"""""ÒKL†ˆˆˆˆˆH/1""""""½Ädˆˆˆˆˆˆô’Dשsùòe–*¿yó&"""TÊÜÜÜ “ɪ+4"ª%DJ¥R©ë ˆˆˆˆž5`ÀüùçŸåÖ322Bjj*¬¬¬ª!*"ªE9LŽˆˆˆj¤‘#GB$=·ŽX,Fß¾}™Q¥0"""¢iðàÁ066~n¥R‰Ñ£GWSDDTÛpÎÕxñññºˆtä•W^ÁáÇQTT¤v»‘‘<<<ø{‚HO9::¾Ð|Aö Q5hР2!‰D‚¾}ûÂÄĤš£"¢Ú‚ÉÕX]»v-ó[ߢ¢" 8°š#"¢Ú„ÉÕX‰¯¿þ: Km³°°@—.]tÕL†ˆˆˆ¨F8p`©ç I$ 8b±XGQQmÀdˆˆˆˆj4oooØÚÚª”aÀ€:Šˆˆj &CDDDT£`ðàÁ*CåìííÑ®];FEDµ“!"""ªñ  •344Ä!CÊ} +Qy˜ QײeK8;; Ñ¿GDDµ“!"""z) 2РAxxxè8"ª $º€ˆ¨&ÈÈ0ÀFÈÊ£ €Coˆj"KË·¬F«V#pð`åŸ8ODUG$RÂÂBúõ‹àì\ˆš>šU¤T*•º‚ˆèyâãã«ä¸7n!0ÐÇŽ™!!¡ô3Lˆ¨&òð€¦º„ˆÊai©€Ÿ_ÌF·nOP+á;::–ù`f ²gˆˆôNb¢!–.µEHˆ6,Ä«¯>AÇŽ¹ps+€µµFFüŽˆ¨¦:wîÿàãc j¾$!¢£P™™b$&"2Ò!!¦˜<¹4(Ä‚ñÊ+Ot¢ ö Q§­ž¡ü|Ö¬±Á¦M–pq)ÄܹѵkNïÂ'""z™%&â»ïl°¿ ]ºäàÓO aÃÂòwÔÀ‹ö 1"¢OÉÐÇbL™RññF˜93£FeA,æ¯?""¢êrþ¼ >ýÔ÷îbÍštîœûÂÇ|Ñdˆ«ÉQ­wㆆuFzºI=:“‰Q5óòÊî]wѵk&LpÂŽº‰«ÉQí–œ,ÁرuÑ A!~ü1VVr]‡DDD¤·Œ•øúëT4jdƒÿýϦ¦ ­³x˜ Q­•›+´iu`n.Çúõɰ°Pè:$"""½'þþéÈÎaÞ<8;ÁÓ3O'±p˜ÕZ 8àî] 6nd"DDDTÓÌ›÷]ºäàý÷ë #£ ÖÝÖ“!"ª•Γbÿ~V¬¸gç"]‡CDDDÏ00¾þú> €o¾±ÖM :9+Q’ËÏ?·CÏžOн{Ž®Ã!""¢2Èd Ìžý¿ÿn‰èh£j??“!"ªuþüÓqq†X°à¡®C!=sèÐ!¸ºº ÿ‘ª_ýU¸6^^^º§Vz™ïAƒìl4ìÚM\]…ÿÌwïÖuXT Þxã1Z¶ÌÇ·ßÚTû¹™ Q­óë¯èÝû \\´ó@7"ªZiii*à/^¼¨ëJyb|ÙÙ}ú)$÷îé: Ò‘˜81ÿüc†””ê]ßÉÕ*iibDFšà7t·L'UŒÙáÃ0ß³G×aõîý&& „„˜Uëy™ Q­rîœJtêĹBD5ͨQ£‡¸¸8œ?^×áP !~ðöÿûàÉ+¯è8ÒCC%:uÊÅ™3Òj=/“!"ªUbbŒÐ¸q!¤R¥®C!-zv®IAAV­Z___4kÖ GŽÁ‰'T†1¹ººÂÃþ¾¾˜>}:Î;Wîq Ö¯_îÝ»£U«Vèׯ TªÞO<Àüùóáãブ-[âÍ7ßÄÙ³gŸÛ¹\Ž;wâwÞ——ÜÜÜо}{Œ9(*R]õpûöí*±åççcÉ’%èСÚ¶m‹iÓ¦!%%‚7Þx-[¶D=°dÉ}ž{ÍŒ¢£Ñ¸eKaNìÀa›á­[hÔºµ°ÍbçÎç«„Â?z……Ò>ÿ\£}¨vjÞ<±±Õ»ˆºJDµJZšNN\J»¶ó÷÷Gppp¹õ ‘’’‚C‡áðáÃXºt)†^fý9sæ`ïÞ½Âëëׯã“O>B¡ÀèÑ£=°aÔ”$Ô»páÆŽ‹¡C‡ª=nnn.&L˜€ððp•òÌÌL„‡‡#<<AAAغu+d2™Úc̘1CåÃôálj'â“O>Êïܹƒ-[¶ %%k×®}ÎÕ)Ö¼ysØØØ ==………ˆˆˆ€¯¯/ )Ô;{ö,zöì 8sæŒPîçç§ö¸š¾GšÊËËÃäÉ“ªRž‘‘'Nàĉ?~<.\¨ñ1?þøcìØ±C¥ìÞ½{¸wïBCCŠÍ›7W{ŒåÝ·½ÇŽ‹-[¶@.—#,, qqq*‹+ìÛ·OøùÍ7ß|nlHûä8ÌŸ°_´yžžÛÛÃñÃaSÜ+ÿxèPd•s,°Ø±¦ÿÞ×.„ÜÁ¡Ü}¨örr’ãþýê}Þ{†ˆ¨VÉÍA*åVk³ŒŒ $$$à÷ßǵkׇ޽{£k׮¬¸¸8ÄÆÆ"44“&M(•J¬X±……êÖ(9îßÿ3gÎÀÇÇGضeËáçU«V BÍḬ̀aÃ\ºt k×®ÅþýûÕ{ÅŠB"djjŠü—.]–-[`ee¸té>/ã[ñŒŒ Èårœ9sþù'Œ·o߯'Ÿ|‚9sæàâÅ‹˜;w®°Ï¡C‡ššZîõ‰DèÒ¥‹ðº¤wáâÅ‹ÈËË+U^TT¤2ÄÍ××Wm¼êÞ#u~ýõW•ä víÚ%¼_}õàË/¿’  ** Û¶mƒ¹¹9`óæÍ8tèP¹m.Q’ˆÅbüöÛoˆŽŽÆéÓ§ñÛo¿aüøñ°··¯ò+sßVô¬[·.^}õUáu@@€ðs||<¢££†††2dH¹×íñðáx}ª$ÆÊÜ·•¹KôîÝÎÎÎHJJBtt4¾øw¾P¼pBE¾¤¦ÂñÃp¥X ‘\ëD^ûöÈéÞ]ãcé{†ˆˆè¥'‘¨~·gff$%%Uhu±òˆÅbôë×OxýÛo¿áرcÈÉÉApp0víÚUjCCC•¹<8zô(rrrŠŸþYØ6`À€RCݪËӉ͕¿Ý÷ññH$BÇŽÏA*((4iÒuêÔÑʹe2™JOÒùóç!—˅׆††*sa–-[†<~üOž¼TÂ×½{w8T`IkÛåËará °Q#¬Zì""""Ò*;v,!Òk\MŽˆˆˆ¨–KKK–H/ѨQ#Œ=ZGÕ ì""""Ò#ÖÖÖèׯ¶mÛVêVDú†=CDDDDµœ½½=âžY¶šˆØ3DDDDDDzŠÉé%&CDDDDD¤—˜ ‘^b2DDDDDDz‰Éé%&CDDDDD¤—˜ iÁýûyX½:çÎ=Ðu(/¬6µEuíSW–˜ø«WÇàâÅGÕU?&CDDZšš‹Õ«£kŇÛÚÔuÔµO]Ybb6V¯ŽFdäÃj‰ˆˆª“!""-pt”Âßß>>vºå…Õ¦¶hªºÛ¬×˜ˆ¨&’è:"¢ÚÀÁÁþþîºC+jS[4UÝmÖÇkLDT1""Ò‚û÷óðûï·àãcWêÛþÇ qâD*îÜycc Z¶´„··ú¹\‰3gÒ›…¢"5’¡[7G‹…:‰‰O°wïtíꈶm­qîÜ\¾üÆÆèÚÕ..2µÇNNÎűc)xü¸M›š£[·:¸~= GŽ$£_¿zpu5/³-•=§&í© ž÷þ€B¡ÄéÓi¸v-ff†èÖÍÎΦj•Ë—!992™mÛÚ eK+ÏW‘û…ˆˆ^ “!""-(™òìЧC‡îbþüH<~\¨RßÓÓëÖùÀÁÁD(»t)|ޤ¤•ºNNRüðCGáuÉ\©TŒŒEpp²PW,aÙ²v2¤Ê1vîLÄâÅQP P‰¡g¬^fÍ,„dH][*sNMÛó¥¸z5¡¡÷ñÉ'Ñ»·ÌÍ —/?¢E‘Ë•ðö¶CëÖVxô¨‡ßÃ÷ßÇV¨Mšž³2íQgíÚÈåšeCvvÆ•N†žgÓ¦8ää·ÙÞÞW¯fàÌ™4|þùe¸¹Y ÉÌ“'…8{6 -[ZÁÃÃvvÆÈÊ*BXØœ8‘Šuëb1{v‹2ÏS‘û…ˆˆ´ƒÉQùùç(*RbüxW,XÐJøûÑG-0dÈ1DF¦ãìÙ4têdõë¯#+«Ÿ~Úo¿ÝXå8[¶ÄcÉ’ËØ·ïFj$”*pðà+*õæÍ»€]»þ={ÖlÞ¹\‰>ðÀŒÿÍSñ÷wÇ AÿT¨Mšž³2íQgút÷ õ U…Ü\9öîí&MÌ…²M›â°ti6nŒ’!™ÌÝ`nnˆˆˆ‡xø0††bôí[IIOpôhÊs“¡ŠÜ/DD¤L†ˆˆªHDÄCˆÅ"ÌšÕ\åÛ|kk#L™â†… #ñ:Ùãôé4ˆÅ"¤§`ݺX(•J! xò¤õÀÉÃ! JÍ[éÞ½víJDjj®PùR©S§º©Ôuv6Ûo6Ć 74n“¦ç¬L{Ôy:yÓ•U!7® ~úé:""þ[vÛÀظ1‡ÝU{œòŸ{žŠÜ/DD¤L†ˆˆªHVV!L`bRºÇ¢A3@ffñÜôôÈåJ|÷]t™Ç{v‰““´T’Þ‘¢¢ÿºS23 P§Ž ÄâÒ㫜Í4hIÅÏY™ö¨S]s†ž§~ýÒ×ÈÀ@„zõLÿMèŠýðÃu:t66Æðós@:R@$á÷ßTæk©S‘û…ˆˆ´ƒÉQ±°0Drr.òòä¥>àÞ¾ý`iiøo] xï½²?Ì—,pPQ––FHIɃ\®,•%%=©Ô1Ë£­öÔ„9CwFJeñ¼( #¡ìŸR`b"ÆÁƒ¯ÀÖÖX¥îÖ­ñåÎõ©ÈýBDDÚÁdˆˆ¨Š´oo‹½{ïà›o®aþüVByFFÖ¯¿.ԀΰcÇ-4lh†Aƒê—:VLL¦°8AEyzZcÿþ$üôÓu•¡r÷îå 00±RÇ,¶ÚSæ íÛ—„ \U†ÊmÞ‡‡óѳ§“P&‰ ‘ˆJ-þñÈÌ,€••ž§"÷ i“!"¢*2qbS8„ãpþ|:Úµ³FvvBBRžž¶m­Ñ±cñü÷ßo†C‡îaÖ¬óؼ9mÚXÃÜÜiiù¸~= QQ°iSgÔ«§þÙ6Ï3nœ+¸‹¯¿¾†S§î£ukëW“»ûÔw 3 i«=5aÎT*Æ AÇðê«uaoo‚k×2pútD"`âDW¡ž§§ ¢¢aÀ€ôêU@ñ< «W3ÊM„€ŠÝ/DD¤L†ˆˆªHóæ–øöÛ˜?ÿ.]JÇ¥Ké¶’çÆ” rv6Ãöí¾˜5ë<®\ÉÀ•+*Çòð°¬T"mÚXãÓOÛà³Ï.#,ìÂÂÚ¶µFNøæ›k05ÕªlOu›0Á'O¦bïÞ;BYÉs†ž~F¿¿;ΜIÃYؼ9N¨÷ùçžøõ×›¥ž·ô¬ŠÜ/DD¤L†ˆˆ´ÀÑQªö}ûÖEçÎö8q"II9022@«VÖðö.=Ü©ysKüõ×+¸pá!®\É@n®uêHáæfK¡^Æ2øû{ÀÓ³ô1J¶µn­ú@Ó‘#¡[7G;–‚ìì"4mjŽnÝêàã/P]A][*sNMÛSÝÔµïymîØÑ“&5ÅÉ“÷› SS ºw¯SjU=++#ìßßG&ãÖ­lXX¡kWÔ­k …B‰¬¬‚瞨ØýBDD/N¤Tj:›ˆH7âãã5®;c†#`ÍšÔª ç¥tåJZ´°RéY¸r%o¾y2™!ΜyMíjsDDDÕ寿dð÷wD\œæ÷!“É*{Ê@ö éヒÆÍ›áåe#$$dãØ±ÈåJŒÓ˜‰é%&CDDz U++üóO U—‰:´!¦Lq+c/""¢ÚÉ‘ð÷÷À! ñÉÉ9077B‡¶hÚÔBסé “!""=áìlZjÒ?‘>3ÐuDDDDDDºÀdˆˆˆˆˆˆô“!"""""ÒKL†ˆˆˆˆˆH/1""""""½Ädˆˆˆˆˆˆô“!"""""ÒK™¯ µ IDATL†ˆˆ´àÒ½K0 ‡bé:­ ¸€Q£0*`òŠòT¶¥f§bTÀ(, YªvßC±‡0*`üÿðÇãüÇÕ.‘ÆøÐU""-ÈÌËDØ0ônÖ[סhÕíŒÛXvtòåùP*•P(*Ûó óv' qé?'AQA˜p>ìLí°¤ï˜›WWØDDDaÏ•iÑ¡EpwpG3»fÚ/ 2sÿš 's'ì½mWQ„DDD•ÇdˆˆˆÔÚseÂî„aY¿e00ÐüÏÅú³ëñÉáOÐØ¦1vŽÞ gKç*Œ’ˆˆ¨ò8LŽˆHËîgßǶˆmˆN†©‘)z5í…ÍB$©Ô‹¹ƒ ¨ Üɼ¥R‰†Ö 1°Å@´pl¡£Èÿó(÷–†,ÅûÞGS»¦ï÷íÉo±6t-<<°uÄVؘÚTa”DDD/†É‘¥dåeit®°;a'Cvfv·áô­ÓØwu~çwŠ 5ÚçÜís8}ë4Z9µÂ¶‘Û`jhªñùˆˆˆt…É‘ÙËì46RC) ‡kx9{áßÞÁŽ‹;„dHb A3»fø¸÷Ç*ûó§ñÔÛGn/Õ³TM“šü¢|,:¼o·{íêµÓh°–Z##7qâp%å :Ôï ñ¾DDDºÂdˆˆH‹ú¹÷¡v„³¥3bÓb…²I'aÖþY˜¹o&zºö„‡ƒÛ6†È@ã%¨«"áXºòÌé>§Bû5³o†ÑíFcÆ30qçDl~k3¼œ½´‘61""Ò¢²æÉXI­p/ëžðúu×Ñܱ9þ¼ö'‚¢‚›‹ü¢|ôoÞ³ºÎÒh¾¶ç =)x‚ŸÏý {™=ÞÝù®Ê¶[é·vL€ÈÛGn‡Ø@¬R§w³ÞønÐwðÿÃvLÀ–[*Ô»DDDTݘ iÑÕ”«¥Êž<Á͇7á sP)odÓ3|g¯¯¤\ÁèßF#-;M£Å´=g¨@^€"E’³’‘œ•¬¶Îù¤óÅ?ˆÔnÆ«n¯âÛAßâýbÂÎ Ø:b+Ú8µÑ(F""¢êÆdˆˆH‹ŽÜ8‚ÝQ»1´ÕP@na.\ˆœÂ¼Þüu¡ÞÊVbh«¡hbÛD(s”9ÂPlˆ°;aKÛs†ÌÍ0*@í¶ùÍÇíŒÛØøæF˜HL`ðœÇÔ½æþJþoÿÿaÜïã°uÄV´vj­QœDDDՉɑy8x`î¹øúø×p0w@Bz²ó³ajhª²Lõ–ð-Xv=lLmPߪ> Š pãÁ )ŠÐ­q7Î¥í9C |ø¨Ýfflð®ï­ÑJq¯{¼¹BŽ9æ`ÜŽqØ>r{x~ÑÓ4¤8•ë–o`z—éx”ûQÉQÈÎφ‹µ ¶ŽØŠV „zózÎC3ûfHÏIÇ¥{—}?" j1_öÿR‡-О-båë+‘Ÿ±¿Eôýh]‡DDD¤‚=CDDZÐÚ©5F ¡uCÔ1¯ƒ ÞžS#S¸Úº [-1¦ýŒi?é9鸓q¦F¦¨gY¯Æ>ŸgiߥÈ)̱ØX¥ÜÑÜ£`a¬~Á‡A-¡™]3dågšè#""ª6L†ˆˆ´ÀJj¥2ÄÌÂÄmê–¿p€© lLmª24­håÔJm¹‰Ä¤Ì¡u%<=ª"$""¢ÆarDDDDD¤—˜ ‘^b2DDDDDDz‰Éé%&CDDDDD¤—˜ ‘^b2DDDDDDz‰Éé%&CDDDDD¤—˜ ‘^b2DDDDDDz‰ÉQÛµ®Ë]q(ö®CÑHTr\—»bõ©Õ/åñu-ñQ"\—»ªüçñ¥º~ßsþœƒ„ô]‡(xÙîMmªí÷¡6éó}R•NÜ<×宨¾Yסè5&CDD¤uç“ÎÃu¹+Ö^§ëPj„By!îeÝÞ+{0dë•ÑjÊ}[Sâ¨)´u=x]I‰® "¢š¥•S+ÄÍ‹{i_StvéŒm#¶r sq-õ>>ü1bÓbñó¹ŸñÅk_è8Bý¦/÷!={†ˆˆˆª˜ÔPŠöÎí1¿ç|@lZ¬Ž#"""€=CDDZ“•—…¯O|Ã×#+/ MíšÂß׿ÌúJ¥».ïÂÎË;{?r¥laDÛxÛómˆD"€\!G@dv_Þ;™w T*Ñк!¶ˆ‘mGBj(U9fЕ 캼 1÷c WÈÑÄ® F´a­‡A,ãÄ͘°s¾²-ê´À7'¾ÁÕ”«hlÛŒûQÉQxcëð÷õâz7{7|sòD§FÃÔȽšöÂìn³acjXwz¾9ñ à›ß?@ܼ8µÇ€¼¢<¬?»¢àNÆIŒÐªN+Lê8 ~ü„zOÇâYÏ+­DTJŒ%ÆèѤ¾²VR+-¼£Ú§„`fdVj[øpüvñ7\¼{É“!3’Á³ž'&wœŒöÎí…z•iEïÍʼøêÄWˆ¹KK¼ÓîLé4°-b¶GlÇÝÌ»p¶rÆL¿™xÍýµç^«ŒÜ tXÝ[ Īþ«„ò ¨ |tà#ØšÚâ쌳¿“ÔìTtYÛ#=GâóW?¯ð}^Þ} hþo¶,šü[ÖvšÞW€æ÷IäÝH ß>ï´{‹û,.µý¯˜¿àÿ‡?æõ˜‡w}Þ­òë¡I«ãý­ÈïÉg]¼wQ£Ëš¾Ÿý»ñ"í~Ù1""Ò‚ü¢|¼ýëÛˆ¾-”]I¹‚É»'£Ÿ{¿Rõ•J%fÿ9{¯îU)¹ƒÅ/Ftj´0ŒjÕñUØpnƒJ½+)Wp%å 1ºýhá˜îû¢¨ÔJŽBTrœ-ÑÅ¥‹P~áî,?ºr¥ P*Êmç…»°üØrÈÅûäåa祈HŠÀžq{`jhZî1Ô)”bìïc‘!”È p&ñ ÎÞ>‹Oû|ŠQž£TÛ•…/ÿùòÅCÑö\Ùƒ¤Ì$üööo×m¥›Ð–òØ™Ùá쌳¶HUÉ0¹åG—º5馲=-; #Fª”=Ê}„£qGq<þ8~õ ¼ë{«l×´ý½7+ó^\¼wQå^Ê-ÌŪã«`,1FÚ“4¬?»^¨{óáM|°÷¸Ø¸ÀÃÁ£Ìkf%µBsÇæ8•p J¥Rø@vêÖ)ˆ ð0ç!bÒb„cœ¼yTîq r÷¹:ù7[Mÿ-k+ŽŠÜW¹O<ëy¢µSkì¹²õø¨Ô¿û_"~ÔPŠ7Û¼Yå×£2ÿvÔÑÆû[¢¢¿'5ý·\‘¶VäÚý²b2DD¤Û"¶!ú~4Û6ÆâދѶ^[¤ç¤cÃÙ ˆ (UïÕ½Ø{u/ÜìÝðQÐÆ© Œ%Ƹ’rŸ†—v`Xëað¬ç‰#×@j(Ūþ«ÐÙ¥3$ÜJ¿…½×öÂÔè¿?ª»¢vá@ôXI­0«ë,toÒVR+Ä=ˆÃoƒ¡ØP%†ƒ11¼ÍpLò™„V 6—Û΃11´ÕPLí<2\I¹‚Å/FlZ,~:ófv‰i§Á§Fü2Bx]ží¶#")u-êbqŸÅèP¿ç?Fàå@¬ ]‹/B¾@尿a/³öÙwuFyŽÂÄáh)W1sßL„ß Gtj4<Ëþ ]Nß: ×å®*e"‘CZ Á˜öcJ•û6òŘöcÐüÿÙ»ó¸*Ëüÿã¯Ã²¹A!Ô\WÌi3³FËr™,[§qbšo}›ššoÚ´8S߯EÙ2•6ši.™-J¹TŠ¢à† ˆ±ˆ "(¢  ,ç÷?Oè9x÷óñè‘\纯ûs]ç:‡ûÃ}_÷mìE»Ví8Yy’ÄC‰<óí3¼Ÿð¾Õ­ý·wn6æ½ø6í[¦GMçÐÆ« ?eýÄ“«ž$6>–ZS-¯y›ÃnÆÉàÄ{ ïñqâÇÌKœÇëw¾~Ñ1Œ‰æý„÷Ù_¸ŸžÆž˜L&6goflï±|³ï6em2'CñÙuIÒÐà¡mØ:Ï/5oíùÌ6Ėϲ#ã°g^Ù;Oîx?O}ý+SV2µÿTsyƱ s™Ú*¾¾ Ž…£ÆÃÖ>^‰÷÷[¾'ÏgëgÙž÷ÓÖߎì÷µJɈˆÄíÃ`00÷wséÖ®^~^̺mÙ'²Ùrp‹Eýå)Ëqvrfþ½óéàÝÁ\ÅœßÎaôG£Y÷ó:";EÒÑ·#·t¿gCÝ\OcO«ƒý/R¾à­qoYüu¼o@_úôµŠ9"0‚WG¿j×%ááÌ3Û¼MTPïßõ>·þûVâÒã¬~ÉÛjuÚjbÇÇ€·»71Ñ1–²d÷Ög¬gRÄ$ó6Ñ!ѼtÛKæŸtÀ£Ceæ÷3ëÎØ ¥?se×î„¶ åÉOââdùë·]«v<=òi>Øú/ĽÀñÓÇÍg2 þ5F¶ößÞ¹Ù˜÷â†ÐxþæçÍ?î1š[ºÝB\z»ùoLì7ÑüÚ3¿y†¥ÉKÉ8~é›Dw­K†âÆÓÓØ“´Â4Ž—ç¶î·qøäaâÆóèG1™LlÉÙB߀¾øyøY´Ñ˜y^{>³ ±õ³ì¨8ì™WöΓ1×aö³Y´k‘E2ôéÎO¬þ¦Æ|vêãˆ÷÷{¿'mý,ÛÓW[ÇÖ‘ý¾V)q€œ’ŒÞFóAÄùn¹Áê@â碟©©­aÄ»uë/L&“y=‰ÉT÷ÿüSù<ÓóÌX9ƒ›Þ¿‰!#èiìId`$½Œ½,ÚÌ<ž‰Ÿ‡ŸÕeB Þu¸ÝˆÑ]£­¶ ò"¤MÈeÝ.:çDþžþæƒïóÝvKv/!çDŽEù.C¬êùpúìéFÇâ(çßM®¨¬ˆ;ð^Â{<ºüQVÞ¿ÒâLÝÎÃ;™úÙTªjªêm«²ºÒªÌÖþÛ;7ó^ dU7Ð7€¨Î–g´œœ1ú9vú˜Õ6Ðyž®žlÊÞÄ#ƒ!>;gƒ3Cƒ‡ràØænžKeu%™Ç3)./¶HÐÎiÌ<¯=ŸÙ†ØúYvTöÌ+{牫³+“#&KRnQAQ”W•óåÞ/‰‰æº¶×]²/ŽÆ|vêãˆ÷÷{¿'mý,ÛÓW[ÇÖ‘ý¾V)içÖ-\l½Ê¹_x==YûØZvæídGÞ’%»)–Ö^­ykÜ[ôhߣQ1\m70`ß«»‹{ƒmœû%~)WjÍP{ïö<5ò) Ë Y‘²‚Ïv}Æýï7¿þ~ÂûTÕTÃø>ã1zqsvÃ`00êÃQ—[µéˆþ7Ä!ïÅÿ?l(ÎÚÚK¯ÝquvePÐ r¨¬®$þ`<‘"ñv÷&ºk4s6Î!)7‰½{,nîpŽ£æ¹=ŸÙ†8â³lO™Wö˜9…÷ÞãÓukUV¦¬¤ìL |À¦í1Žê£#Þ߯²õ³lO_mÛæì÷ÕBɈˆû³§`?ûÙê/«³7ZÕ¿®íuì=º—-Ú‚»Ï%Ûw68e¾¼¢ª‚[ÿ}+Ï­~Ž/îÿÂÜfRn[naX×a蕵øƒñ<9âI‹¿zæ–ä’]œMpë`s™“¡îÉ ¶&Á­ƒÙ¿›äüdÂÃ-^û1óGskÝS#Ÿâ›´oø`ëLŠ˜d>Ê-É¥]«vVwî:TrˆƒÅ/¹öâbì›WÛ{ÍOY?±1k#Ûs·óÇaê.ÿô÷ôgSÖ&öîÃÓÕó²/幨¼µ÷3Û[>ËŽŠÃžyeï<º?ÜÑó¾Ù÷ EeE|¶ë3º¶îÊÈБõÖ¯Ï厇=}¼ï/Øþ=i/{¿'lý½á¨~_«ôœ!}ýhL&3VÎ !'òªròNæñâw/Z]^01|"UL[2 (./¦ª¦ŠÃ'óCÆÌX9üÝÄ…ùl×gdË ²º’Ò3¥lÌÚHIE ‡J™ÛœÐwO~õ$Ÿ'NAiU¤¤òüšçIÌM¼ì~&ç'óÜšçÈ9‘CEUÛó¶óøS][Íè£ÍõέÛHÊM¢¤¢ä’íŽéYw·ª?¯ú3?fþHÙ™2 J xgó;,Ù½7g7n»ù²ã¿Pú3éd<›aÓ=+t¾Þ¸'ü Ë ù<ùssy o Ç˳pÇBJÏ”Rz¦”3ä¡¥5úîgçØ;7›ë½hȹ³=onz“³5gZ÷³“Á‰!]†°!c;óv2$xˆÕZ,{]lÞÚó™mˆ­ŸeGÅaϼ²wžœóÀÀ¨®­æÙÕÏ’^”δÓl¾,ÑãaO›úý=ÇÖïI{ÙÓW[ÇÖ‘ý¾Vé̈ˆL0¯ö~EZa÷-þåv°ƒ;zÞau»ë }&x(‘)+xtù£õ¶yoø½ì-ØË®Ã»ê¯q¯ùßwõ½‹Ÿ2".=Žç×ûпS~Êú owoîê{×EÇà|Ž{úØÔïï9¶~OÚËž¾Ú:¶Žì÷µJg†DDÀÝÅES15r*íZµÃÝÅ^Æ^¼7á=n½Áª¾Á`àŸwü“Øñ± ï:??\] òâÖî·òÞ„÷Rwp·bÚ ~ßÿ÷„µ ÃÃŃ֞­Ðy¯yÍâ^N'Þÿ6¯Üþ xºzâíîMx`8¯y!ÁÖ‹tí5 ó>žø1ááæX&ö›Èâ©‹-žáìäÌÜ sØy ÅÃýâêìÊ‚É ˆ‰Ž!´m(®Î®´rkÅà!Ì»gžÕsm®e}:2¡Ï J Xš¼€[ºÝÂÿýöÿ¸¾Ãõx¸xÐÁ»“#'³pòBÜœÝ.köÎÍ«ñ½ˆ‰`hðPó¥NP·P½¾7ÖÅæ­=ŸÙ†ØúYvTöÌ+{çÉùÎ͉‰ý&Öû@á¦{úØÔïï9¶~OÚËž¾Ú:¶Žì÷µÊ`ºÜU–""M,33ÓæºOÖüó嬅iNJ†DDDD¤Q:xwà‘ÁØu;m‘«‰’!¹¤BohðNp"ÒòÄDÇX=殮Ó÷äµIw“‘IɈˆˆˆˆ´HJ†DDDDD¤ER2$"""""-’’!i‘” ‰ˆˆˆˆH‹¤dHDDDDDZ$=gHD¤‰¥¦±öÀZÆ\?†°va–²d÷wÌà.ƒ›9«G­©–äüd¶ÚÆÙš³Œë=ŽàÖÁÍ–ˆˆüJ)ibûŽî#6>–îí»›“¡£¥G‰%&:¦Ù’¡üSù,ß³œ¡ÁC‰ Šj–Î7kí,¾Mû–âòbsYD`„’!i2ºLND¤}ŒÍšA]2Kbnb³Åp¾5û×PRQBD`==›;itfHD¤tðî@LtLs‡qU™9j&QAQ´õjËÌïg’v4­¹C‘_9%C""TPZÀ?pêÌ)ºµëÆÈБõÖ«oÍPΉVí]Å ¡7ζCÛØ{t/­ÜZ1)b5¦&^”Num5!mB:ww«}ÔÔÖ˜›ÈþÂýÔšj mʈи8¹”›ÄŠ”$ä$PS[cÞ®¹’´Ñ=F7Ë~ED¤åR2$"â Ëö,ãÅï^älÍYsYD`¿íõ[«ºõ­Ê9‘Cl|,nÎn¼¹éMâ³ãèmìͤˆI$ç'óçU&ïdžE[¾¼7á=útìc.Û¿›ÿúê¿8TrÈ¢ng¿ÎÌ¿w>‰¹‰,ß³€­9[Ùš³Õ\çRÉÐÛñocÂdËàåêÅö©®ˆˆÈ•¦dHDÄöÙà q/PS[CTPýúQ\^Ìwéß1wË\»Úš—4ò³åü¶×oéâß…Ž>9|ò0Ó—NçTå)Âà ÇÍÅÔ‚T¶ælå‘å°ö‘µx»{s¨ä|þegÊèä׉a]‡áçáGæñL6em"ÿT>ƒ‚qw¿»Y¾g9C‚‡0(hÍñ½³å‹3IÓ®U;%C""rÕR2$"âŸlÿ„šÚb¢c,άÄDÇ0vþX»Úª¨ªà«é_Ú6Ô\öâw/rªò³FÍbjÿ©Vû~yÝË|µï+¦DNáý„÷);SƸÞã˜=f6®Î®æºy'óp68à€Á`0ßMnư6Ç÷§a²ë̈ˆÈÕJɈˆìÌÛ‰§«'3†[&AþAÜq/mûÈæ¶Æõg‘lÉÙ‚³Á™âòbæn™‹ÉdÂdªKHNW åH DÖ]öædpâ¥Û^²H„ î2¹ËõDô—݆ˆˆÈÕ@Ɉˆœ¬{ºI"­‘_ %C""пs¾Úûïn~×â2²Ü’\–&/½ìö‡ãóäÏ n̸Þã¬^ß_¸w†åóäÏ™µv¯Þþ*.N¿|ÕŸ¿fÈݹîvÜ%%vÅ¢5C""òk¡dHDĸߦ}Ë[ño±%g‹ÅÝä<\=.»ýLJ=N\zO}ýó“æއEeE8v€”#)Ì»gü:ñØÐÇø&í¾Hù‚ÄC‰ ŠŸ§Ydzؘµ‘ïù˜ß‚üƒp28±lÏ2ªk«iíÙ¸ô­µ›jÍÐwéß‘^”ÔÝ`ÕÞUìÎß À˜ëǘÏ~‰ˆˆ8‚’!èЗG¿Ì‹ß½HRnI¹I„†3¶×Xþ±î—Õ~g¿Î,œ¼§¾~ŠÔ‚TR R-^ïÙ¡'ü:ÐÅ¿ óî™Ç}ý_äÌcÙžeíúàïéÏ„¾X¾g9 w,4×i®‡®~à{Ví]eQvþÏÝÛwW2$""¥dHDÄA&ö›Ht×h~ÈüÒ3¥„µ ã7×ý†Eˆ‰Ž!¬í/òF£ÅW‚[Cd§ÈzÛïeìÅê‡V³óðNR R©¨ª £OGz´ïAOcO‹º:`ýcëIÈI ½0g'gBÛ†m±¦éµÛ_cl¯±ì;ºòªrˆ}FuEpëà_?üDDDÁ`:woV‘«Tff¦ÍuŸxÂÀÛomªpDDD¤ ¬^íMLŒ‘Œ ÛïF¼½½»ËeNÝRDDDDDäZ¦dHDDDDDZ$%C"""""Ò")‘IɈˆˆˆˆ´HJ†DDDDD¤ER2$"""""-’’!i‘” ‰ˆˆˆˆH‹¤dHDDDDDZ$%C"""""Ò")q µÖòô7OóûÅ¿gÊ¢)TVW²d÷¦,šBΉs½¬ãYLY4…)+š1ZHÎOfÊ¢)ìÎß}Ñz³62eÑs¯Pduê‹ÏÖy&""çÒ܈ˆüZ|žü9ϯyÞ¢¬ÖTKnI.‰¹‰”W•›ËOŸ=Mbn"C‚‡\é0åߦ}Ë®ü]tk×í¢õŠN‘˜›HqyñŠ¬Î…ñÙ3ÏDDäâ” ‰ˆ8È’ÝKpqráï·üж¡8œpwvgRÄ$n½àÖÁÍ¢ÔcCÆwL+·VÍJ½.ŒOóLDÄq” ‰ˆ8H^I=Ú÷`jÿ©åAþAù5STr1Ydz8xâ ÷¼¿¹C©W}ñiž‰ˆ8Ž’!‘Ë´pÇBÖì_é3§8{â,SM©·Þkc^³é¯öÙÅÙ¬HYÁ¢T×VÒ&„»ûÞMOcOsäüdþùÃ?™6pCº aÁŽì9²wwn¼îFîê{ƒÁ¢Ýòªr¾Þ÷5»ïæHé¼Ý¼‰ìÉÝýîÆÏï޶tÀvü‡ý…ûñóðcrädvÀÞ£{Y¼k1‡O¦³gô][wm‡‰Ëï IDATTšË†Œ Üv“Ey\zqûã8uæÝÚu»d²t©>îÎßÍ¿~ø¿ëû;&ö›hµ}Ê‘^ÛðãûŒçžð{êïræYbn"ßìû†Ü’\ÜœÝèЗI“hתE=[爈ȯ…’!‘Ë”s"Ǽ¨þÜZ úز–ã³]Ÿ1ëûYÔ˜jÌe³6òéÎOyeô+ÜÝïnNVž$17‘þû3{ÃlòNæ™ë—þ©©Ì5Ó\VRQÂÈ÷Frúìi‹ýÅ¥ÇñqâÇ,½o)ý:[´Î?Öþƒ£eGÍõ¿Iû†ïþÓgOóäª'-â\¶š¸‡ãhïÝÞîþ\Ì}‹ï£¦¶æ’õü=ýyw»6ÕXŸ±ží{Ðɯ“¹ì¯ßþÕâÆ³6²"e“"&ÕÛ†-}ìeìÅcø áƒz“¡Ïv}Fbn"¿åï Æ×ØyöêúW™—4ϪÝùIóùpâ‡ôïÔ°oŽˆˆüZ(¹L÷ ¸[»ßÊÃË&Ð7—n{Éâõ%»—ðõ¾¯/ÙÎÎÃ;™ùýL¼Ü¼˜9…ð€pÜœÝH-Heþöùüý»¿3$xˆÅéGÛ>¢[»n¼zû«}Œì-ØË»[ÞeÑ®E<:äQ}¨ª©ÂÕÙ•‡=D/c/ÚzµåÔ™SlËÙÆâÝ‹‰å_wüË"žùIóéݱ7O|ŠÖž­Ù˜½‘…;òÒÚ—8^~œ;{ÝÉ-ÝnÁÉàÄ‚ Øvh'}̳7>ÛèþÔ'17ÑædèÂ3SRQÂÎÃ;ylÈcæ²ÕûW³"ež®ž<õ áá—³`Ç>Úö‘Uöôq|ïñ|²ý’r“ˆ Š2·QQUÁ·ißÒ7 ¯ÅÙ² ãkÌ<ûþÀ÷ÌKš‡‹“ ÷¼ŸA]QZYÊò”ålÍÙÊŸVþ‰þðî.îš#""×:%C""—)¸u0Á­ƒqqrÁÛÍ›Á][¼¾1k£MíÌKœG­©–y÷Ì3ÿµàư‰èÁôϧóõ¾¯y|èãæ×º¶éÊòiËqwq`dèHªj«x;þmvçï6'C­½Z³æ¡5|ÿó÷ü”õÇO§ª¦ 7g7¶çn·Šçº¶×±dê\]Íq¤¦“˜›ÈïûÿÞâÌÓÐà¡ }g(»ÿrûçÆô§> '/Äd2Ù4†çbµÅOY?QS[ÃÍÝn6—-K^À›ãÞäæ°_ÊÇöËßAvq¶EöôñÞˆ{ùdû',M^j‘ }³ïʫʭÎ]_cæÙ’ÝK˜=f6ãûŒ7—ë=ŽiK¦‘“ÀúŒõŒ¹~L£æˆˆÈµNɈÈU"ùH2ÎgÞÜô&&“ uI@uM5™Ç3-¶Ýc´9:§OÇ>œ(?a.+*+bò¢É—Ó¯ôL©UÙ¨£¬’‹žÆž$æ&rGÏ;,Ê}=| ô ¤ ´à²úSŸAAƒ.Y§1Öÿ¼žv­Úѯc?sYzQ:þžþ‰Ô%c{å­ø·,Êíéc·vÝ'.=Žÿ¹õðq÷`鞥xºz2¶×ØKÆg¯ý…ûñtõd\ïqåƒI“HÈI íhc®Ó¨9""r­S2$"r•(?[N©†-·4X§²ªÒâçúµ»:Õ%0µ¦ZsYìæXòNæ14x(c{ÅèmÄÍÙ ƒÁÀ³«Ÿ­÷@××ÝתÌÅÉ¥Áýº8¹P~ö—õ*éO}šbÍPum5³7rûõ·[Üh¢²ºÿÛ¾½}¼7â^þ¶æo|½ïk¦DN!óx&»ïbBß x»{_2>{©>ƒ¯»o½mœ{ÏTŸ7GDD®uJ†DD®¾œ­9Ëw}€³“s½uÚxµiTÛÉùÉø{úóŸIÿÁÉàd./¯*§¨¬WFµ{1ŽêOS¬ÚvhegʬÎuðî@öñlJ*J¬’Ÿ”‚«vìíã½îäåu/³lÏ2¦DNaiòR«KäŠÏ^¼;q<ƒ£eG1zëíѧ®¼9戈HsS2$"r•Õ}±ñ±Ä¥ÇñÔȧ,ξ”ž)eeêJóm­íåçáGÖñ,Ò ÓÍ‹ôOTœà¹ÕÏQY]Ù$ºŽêOS¬Ú±ww†wnQ>"dÇ2xvõ³¼qçæ³5kö¯aÕÞUVíØÛG/W/îèyËö,#åH _¦~IH›‹5D‹Ï^#BFðó±Ÿyæ›gxsÜ›´öl @RnlýÀ\šgŽˆˆ47%C""W‰‡?ÌÚŸ×òÙ®ÏXš¼”®mºâãîCQYGJPS[ü{æ]º¡zÜv3I¹IŒûd=Ú÷êžãéêI'¿NV·SvGõ§)Ö ­ÿy=Cƒ‡âéêió)_°îçu {g¡mC)./&ÿT>½Œ½ØwtŸU}{ûxoĽ,Û³Œ§¿yšãåÇyhÐC6Çg¯G?ÂWû¾bóÁÍŒ˜;‚ж¡”)#÷d.&“‰‰áéÞ¾;Ð}úâåêÔ=43µ •N~ê}ÎNUM™Ç3©¨ª £OGŒ>F‹u%%¤¥Ü:˜Ž>-¶=÷Z×6]­Ö‰”T”s"__BÚ„ZÊ™ê3 è<à’m*9Ä‘SGèÐÏê¬Åž#{¨©­!²S¤Ýý¹’ÞOxŸ7~zƒÍÚl5>çË<žIÙÙ2‚ýƒñ÷ô§¨¬ˆ¬â,ºµëVïZ'{úxðÄAŽ–ÅÓÕ“~–w‹»T|ö̳ó•‘w277ÂÚ†YÝ…ð[戈HSX½Ú›˜#¶ÿÞ7x{{_ºbý–)‘«Þµ’ ɵa≜­>˪éÖk€®W{|""M¥9’!­‘eÙ}Ëš;„‹ºÚãù5Ñš!i‘” ‰ˆˆˆˆH‹¤dHDDDDDZ$%C"""""Ò")‘IɈˆˆˆˆ´HJ†DDDDD¤ER2$"""""-’’!i‘” ‰ˆˆˆˆH‹¤dHDDä"Rޤ6;ŒØøØæEDDLɈˆ´xÛó¶6;Œ¹[æ6w(""r¹4w"""W³¾}Éx6£¹Ã‘& 3C"""""Ò")q“•'yñûòöz¿Ñ›ñŸŒgCÆV¤¬ lvqéq溳66;ŒùIóIÌMdò¢Éôûß~Œÿd<•Õ•ÄÆÇrÛ‡·Ñëõ^D̉à¾Å÷±){“Å>—&/µjûÂ×ÖX[ï~·ÜÂÄ…éóFÅâokþFqy±Ýý¾T_L&Ë’—1qáDúýo?z¿Ñ›;çÝɧ;?Åd2]Vl¶ŽÓÅbœ»e.“>Àœs›fþê_3t~{»ów3eÑúþo_¾5ÿþæ¿)©(±ŠÕžù!""W†.“q€3Õgøýg¿'­0Í\–ZÊc+cÌõcÜnçáÌÞ0›S µ¦Zªjª¸ÉýìÈÛa®w¶æ, 9 l=´•Y£f1%rÊeÅ»óðNfÿ0›šÚºýVVW²4y);òv°ò•x¹z5®Í úb2™xú›§Yµw•EÝý…û™ùýLÒŽ¦ñÊí¯4*¶ÆŒS}1^Ž”‚^ÿñuÎÖœ ¢ª‚•©+É;™Çâ©‹Íõ;?DD¤i)q€;V˜FhÛPfšEx`8ÅåÅÌKœÇ‚ ÜnÍþ5L ŸÈ£ƒ¥‹œœ™—4y;ô d標 Dé™R–íYÆ;›ßá•õ¯pk·[iïݾÑñ®Ù¿†»úÞŇý‘ÞH-Heæ÷3I/J烄øË iT›öåËÔ/Yµw=Ú÷à™Ÿ!< wwR RyiÝK|žü9w÷»›ÈN‘vǶpçB»Ç©¾w̤O'ñ—þÂŒa3lîóW{¿bJäôF#{ öò—¯þBRniGÓèiì 4~~ˆˆHÓÒer""—‡Á``îïæ24x(^®^töëÌÿÜú?D‡D7¸]D`¯Ž~•6!æóÕi«ˆËMa7áíîM€o1Ñ1Ü~gªÏ°>cýeÅÎì1³ nŒ§«'QAQ¼×û¸8¹4úr­úú²#CGâïéoÞßœßÎ`ÝÏë[cÆ©¾/GtH4/ÝöÁ­ƒñpñ`@ç<:äQöí7×kìü‘¦¥3C""s"£·‘níºY½6"dñÙñõn7¼ëp ƒU[þžþDFXÕ¿)ì&–ì^BΉœËŠ7ºk´Õ~ƒüƒiBvqv£Ú¬¯/?ýLMm #ÞÔ­2a2ÿ ÿT~£bkÌ8ÕãåÒeˆUY§Ïž¶ˆµ1óCDDš–’!iè ûü›\ÈßÓ¿þ¶°í€ý\½úÖ¾TVWÚÔ†£Ô×—sq[ÿSŸªšªFïÓÖq:§¡ñn,ww«²s1]ø¾7f~ˆˆHÓR2$"âÁ­ƒÙsdÇ2kfñZüAûþêÜ:˜Ýù»IÎO&<0Üâµ34×hÛª-¹%¹Ví$ä$4¸øƒñ<9âI‹ôÜ’\²‹³Ím;Âum¯cïѽlùÓ|Ü}lÚÆÖØì§Kq2Ô]5~±¤ír8r~ˆˆˆãh͈ˆÜÖý6L&3VÎ`Û¡mTTUpøäa^YÿŠÝ—@éYww±?¯ú3?fþHÙ™2 J xgó;,Ù½7g7n»À|ÙÕ'Û?aÛ¡mTVW’w2W׿jqKí %ç'óÜšçÈ9‘CEUÛó¶óøS][Íè£9 Ö&†O¤¢ª‚iK¦±!cÅåÅTÕTqøäa~Èø+g°åà–FÅfÏ8]ŠŸ‡I¹IõÞûr9r~ˆˆˆãè̈ˆL8¯ö}ÅþÂýLýlª¹Ü`0pûõ·³fÿ\œlûʽ¯ÿ}Äícçá<¼ìa«×_¸åóÒ‚üƒ¸­Çm|—þÅ~ ÎŒï3ž/S¿¬w£{ŒfeêJ–ïYnQ~]Ûëxlèc6Åi‹ }&x(‘)+xtù£õÖ¹7üÞFÅfÏ8]J×Ö]1zIÈI`à[ÍåÏfØ´ý¥8r~ˆˆˆãè̈ˆx¸xðéäO™9™¶^mqwq§OÇ>|p׿³7çÎ>\Š«³+ &/ &:†Ð¶¡¸:»ÒÊ­C‚‡0ïžyVÏÎyíöט>OÜ]܉ìÉÂ) 4¨Á} è<€'~Lx`8.´ölÍÄ~Y†Ñn §ù!"rõQ2$"â Ù'²™—4ϪÜËÕ‹ço~¾"j¼´Â4~;ï·—¬wK·[xÿ®÷¯@D×¾_ÓüùµP2$"â Ïßü žq)(-à‡Œ8uæÝÚucdèÈ‹î·ÆTCÂÁÒ‹Ò©®­&¤M#CGâîân®sþ:Ÿ~ýØrp ûŽî£•{+F†Ž¤³_gsݤÜ$V¤¬ !'šÚókõ%{ÛmcÏ‘=¸»¸sCè tmÝõ’cÕ”|=|ë½|¯ƒwúwêÏ÷¾§¼ªÜ\Þ/ _½íŒAhÛP2ŽepúìiÜ<• ‰ˆü)q€†Ö Å¥ÇñÜêç(=SjQ?²S$s7—ÞÌeËö,ãÅï^älÍYsYD`¿íõÛz÷™œŸÌŸWý™¼“yå¾¼7á=útìü²ÎÇÍÙÿýéIÈI0×uqráo7ÿi¦˜›Èò=ËØš³•­9[ÍuÏO†ªk«ùÊ?°îçuæ2g'g^»ý5&ôp‰ÑªóvüÛ˜0]º"àåêÅö©n}J*JHÎOÆ×Ãצ#ÔÔÖPRQB€o­=[7z¿""ruS2$"ÒDÒ ÓxrÕ“T×VÓ7 /;¤ìlë¬c×á]ÌX9ƒ¥¿_ŠÁ``Ï‘=¼÷5µ5DEÑ/ ÅåÅ|—þs·ÌµjûðÉÃL_:S•§ '< 77R RÙš³•G–?ÂÚGÖâíîmÞf^Ò<ÊÏ–3®÷8Ú{·goÁ^røÇºУ}wÌ  AÜÝïn–ïYÎà! Toßæ%Í£ìLãzÃècdoÁ^6Ü̋߿ȭÝoÅÇÝç’ãóΖw,Î<]L»VíìJ†NTœ`ᎅԚj),+dÝÏë(=SÊœ±slº!Âü¤ù;}Œ—G¿ló>EDäÚ£dHD¤‰|´í#ªk«™5¿Ýô7 Ïüæ&üg»ïbë¡­ Ê'Û?¡¦¶†˜è‹301Ñ1Œ?Öªíoý7§*O1kÔ,¦öŸjñÚ'Û?áåu/óÕ¾¯˜9Å\^QUÁªé«,ÎŒÌKšÇ«ë_åãÄÜe0QAQ óÝäf ›QoߪjªXóð‹Kìž]ý,Ë÷,')7‰›ÂnºäøüiØŸì:3dâòbbãcÍ?»»¸óÂ-/p[÷Û.¹íúŒõ¼þÓëÜÙóN&EL²k¿""rmQ2$"ÒDväíÀÙàÌS#Ÿ2'BP·ÈÿCÿÀókžgGÞ†egÞN<]=™1Ü2ùòâÞˆ{ùhÛGå[r¶àlp¦¸¼˜¹[æb2™Ì·’>]u€”#)ùË6c{µºDìðAÂìÈÛaWß&ô™`‘üæºß°|ÏrŽ–µ©'¢Ÿ°kŸöhãÕ†˜èjjk8vú›²7ñâw/ŸÏ»¿{×âý8ßšýkøËWᦰ›xã·o4Y|""ruP2$"ÒDN9EŸx¸xX½vîîe'+Ošÿßѧ#Îg«ºAþAVeÅåÅÔ˜jx+þ­÷á:¥úÚq28Ñɯ))ïÌÎVÏ9çÎÞT×VÛÔFS®jíÙÚâ [Mm 3VÎ`íµÄ¥Çqûõ·[m³4y)/ĽÀ¨î£xsÜ›¸8éW¤ˆÈ¯¾éEDšˆ¯»/GN¡²ºÒ*!:Tr??óÿ J ¨1ÕX%D¹%¹Öm{ør¶æ, ~¤Áý_ø€ÖúÚ1™L>y_w_Û:å@M¹fèBÎNÎŒî1šu?¯cïѽVÉÐ[?àõ_gÌõc˜3nN½I©ˆˆüú(i":`ÕÞUÌÙ8‡çnzÎ\^RQ¿·þÛ\ çþ|µ÷+ÞÝü®Ååc¹%¹,M^jÕö°àa|žü9Á­ƒ×{œÕëû ÷[ÝÄà«}_ñà -.•›¿}>ÇË[¬ñqwv7ÇÙ”šbÍО#{èâßO‹òªš*Ví]Ô%VçûçÿäÃm2¶÷X^¿ãu%B""-ˆ’!‘&òР‡ø6í[>Nü˜íyÛéß©?egÊXŸ±žâòb"#ÒeP·vçÛ´oy+þ-¶äl±¸›œ‡«õev{œ¸ô8žúú)æ'Í'< ŠÊŠ8pì)GR˜wÏ<:ùu2oãéêɸù㸭Çm´÷nϾ£ûØrp ƒ‡=d®ä„“Á‰e{–Q][m¾µ´£*Ûk†¾Mû–E;1$xAþAx¹zQXVȦìM;} __î¸þsý÷ÞãÃmâëáKÿ.õÞ¹orÄdÚ{·wx¬""Òü” ‰ˆ4‘^Æ^¼9îMž[ýÉùÉ$ç'›_;÷œ¡s ùûôãåÑ/óâw/’”›DRnááŒí5–¬û‡EÛý:³pòBžúú)R RI-Hµx½g‡ž‰ÀƒQ²){“ù üòœ¡óŸäïéÏ„¾X¾g9 w,4—;:j |½ïk~ÌüÑêµëÚ^Çëw¾n‘Ø:Qw¹â©ÊS¼³ùzÛ¼µû­J†DD~¥” ‰ˆ8€ÑÇhõÀU€Ñ=F3,x³7’W’‡›‹};ö%*(ʪ‰ý&Ý5š2 ôL)aíÂøÍu¿á@Ñb¢ckk¹¨—±«ZÍÎÃ;I-H¥¢ª‚Ž>éѾ==­Úwwqgáä…lÊÞDza:^n^üæºßXÝàµÛ_cl¯±ì;ºòªrsypë`b¢cˆìiµÍ¹×úô³yÜíöëogT÷QlÏÛNƱ N9…Ÿ‡½½éÐÏê.r·t¿¥Þ›Aœ¯W»‹¾.""×.ƒéܽXED®R™™™6×}â #o¿mÛí[‚Yypéƒ<óóLšÞÜለˆÔkõjobbŒddØþ{ßh4âíí}éŠõ[æÔØ-EDDDDD®eJ†DDDDD¤ER2$"ò+w±u>"""-™n  "ò+w.K:3$"""""-’’!i‘” ‰ˆˆˆˆH‹¤dHDDDDDZ$%C"""""Ò")‘IɈˆˆˆˆ´HJ†DDäš°1k#SM!17ñŠì/ëxSMaEÊŠ+²?¹ò” ‰ˆÈ5¡èt‰¹‰—_‘ý>{šÄÜDŸcÖ÷³¨1ýòžlÌÚȧ;?å•ѯpw¿»uiJ†DD蓤OiBLt ]ü»àëá @tH4‹w-&ÿT>¾l>¸™¨ (’r“Ø|p3÷„ß@|v|Ý6]£/¹¿ÄÜD›“¡v­Ú9¤/U5U¸:»òР‡èeìE[¯¶œ:sŠm9ÛX¼{1±ñ±üëŽY´õѶèÖ®¯Þþ*F#{ öòî–wY´kyÔ<&«÷¯fEÊ <]=y0êAÂÃ)./fÁŽ|´í#«1® õóBã{ÇÇ݇—Ö¾ÄÄð‰Œï=Þâõ‡w2óû™x¹y1%r áá¸9»‘ZÊüíóùûwgHð€†ø±IDATs¢(""ÍOɈˆuðîÀ÷§«§Eyt׺ƒöøìxî ¿‡üSùdgóØÇ8Yy’MÙ›~9h?O×Ö]-î7dáä…˜L&›bsuvuH_Z{µfÍCkøþçïù)ë'ŽŸ>NUMnÎnlÏÝnÕV×6]Y>m9î.îŒ IUmoÇ¿ÍîüÝæDfYò2Þ÷&7‡ÝlÞ~lï±Üññdg[´ëˆqm¨Ÿêä×É|Ö¨³_g«õDóçQkªeÞ=óèß©¿¹üư‰èÁôϧóõ¾¯y|èã݈ˆ\9J†DDhtÑõT г“³ùà|Sö&F„Žà@ѾHý‚ZS-ù§òÉ9‘ÃÔÈ©6íoPÐ ‡Æ¾†úRTVÄäE“ë½L êî¸V_[ç¡sútìÀ‰òæ²ô¢tü=ý-!¨K²ÆöË[ñoY”;b\ê§½’$ãlpæÍMo`2™0Q—¨V×Ty<ó²÷#""Ž£dHDÄ|ê-÷õð¥oǾ$ä$PkªeSÖ&ÂÚ…aô6ͼ¤y¤IaßÑ}@Ýå_¶hŠ5Cç4Ô—ØÍ±äÌchðPÆö‹ÑÛˆ›³ƒgW?[o2tþMÎquª;SUkª5—UVWâïáß`ürĸ6ÔO{•Ÿ-§ÆTÖƒ[¬SYUé}‰ˆˆc(¹BF„Ž`wün’ó“Ùzh+¿ëó;u„›³›nfßÑ}8;9›í_JS®jHr~2þžþügÒp2üòìîòªrŠÊŠðpõhtÛ¼;}<›’Š«ä'¥ ¥Þmšb\b îÎwõ]šàÀÙš³|p×8;9×»}¯6—µq,%C""WÈð®Ãy;þmÞKx’ŠF„ŒÀÃŃAù)ë'2ŽeŽ»Mm6åš¡†øyø‘u<‹ôÂtóí¢OTœà¹ÕÏQY]yYÉЈdËàÙÕÏòÆoàíî ÔÝ!nÕÞUõnÓãÚ/W/•²zmT÷QÄÆÇ—ÇS#Ÿ²8Vz¦”•©+Øyàeí_DDKɈÈÙ)owo6dlÀÍÙ¨ (ókÑ]£ù×uw`³õ9hÚ5C ¹9ìf’r“÷É8z´ïÔ=[ÇÓÕ“N~¬n¹m‡?Ì)_°îçu {g¡mC)./&ÿT>½Œ½Ì—»¯)Ƶ!!mCðtõä‹”/H-H5_Ò÷ÙÔÏxxðìýy-ŸíúŒ¥ÉKéÚ¦+>î>•q¤ô5µ5Ì»gÞeÇ ""Žãté*""âÎgÕÝl`Ð@‹Eûç¨ï:üŠÇf郦soø½˜0‘V˜FZa~Ì»g­=[_VÛFo# &/ [»n”W•“ZJaY!Ó£¦s_ÿûêÝæJŽ«‡‹»éo¸»¸s è‰¹‰ægy¹z±xÊb¦öŸŠ«³+Ç2Øuxy'óðq÷áлcïËŽADDÇ`²õú ‘f’™iû¸žxÂÀÛomªpêURQBzQ:Á­ƒéèÓ±Ázy'ó8|ò0}:Ü:Ø\n2™HÊKÂd210h Άúל\ ¶ö¥¤¢„œ9øzøÒ&€Ô‚TÎTŸa@ç—lëÜk]ÛtÅèm´j?óx&egËöÆßÓŸ¢²"²Š³èÖ®›Õڛƌë¥úyúìiR Réä×ÉêÙ@åUådˤ¢º“Édu›íªš*2gRQUAGŸŽ}Œë«DDÄÚêÕÞÄÄÉȰý÷¾ÑhÄÛÛ»±»\¦dHD®z×B2$"""—§9’!ý™JDDDDDZ$%C"""""Ò")‘IɈˆˆˆˆ´HJ†DDDDD¤ER2$"""""-’’!i‘” ‰ˆˆˆˆH‹¤dHDDDDDZ$%C"""""Ò")‘IɈÈU.åH a³Ãˆm–ýoÌÚHØì0æ'Ío–ý_¨¹ÇãJ¨¨ªàåu/3âÝtûg7Âf‡Q^UÎë?¾NØì0Ò Óš;ÄkÒŠ”„Í#.=®¹C‘«„’!‘kÐö¼í„Íc͊4ØøX>Ùþ GNÁd25w8¦yjÍQc¢±q —æ@DD.®o@_2žÍhî0ä ú!ó|Ü}X>m9!mBp2Ôýíò¿óßü÷oþ»™£ùõP2$""r•)*+"´m(×µ½®¹CùUS2$"r™J*J;ˆ±½ÇòÆo˜Ë¿Hù‚g¾}†¶^mÙúÄV GËŽ2üáLŽœÌ?nû³6òàÒyþæçéݱ7s6ÎaoÁ^BÛ†òå_’r$…ßýçwÄDÇÃÜ-s™³qs6Î1ÿ0ŸA2™L,ß³œ¥{–’^˜N©†6!LŠ˜ÄÔÈ©æXìµåàælšCÚÑ4¼Ü¼¸¥Û-<=òiÚxµqÈX\ŽÊêJþ½õß|›ö-¹%¹¸¹¸Ñ·c_ò(#BFXÔ=Yy’ÿÛø|—þ¥gJéÖ®1Ñ1œ¨8Á_¿ý+ïüîF÷}Yñ4ÆËë^æ“ퟜŸLØì°zë}ýà×ôìÐÓü³=}OÊMbñîÅì>¼›#¥Gðvó&²S$ yŒØgMm ‹v-bÅžäžÌÅd2Ü:˜±½Ç29b2ž®žŸ§öÄ}ªòTÝû{à;NUž2¿¿ÚuxNä÷ýÏÌQ3­^_½51_ÆðìÏòðà‡¯È˜ØÒÏæüùµQ2$"r™ü=ýéeìE|v<&“É|0'ƒÇ˳¿h¿ùàuSÖ&†wnÑÎÎÃ;™½a65¦jMµŠÇd2ñô7O³jï*‹òý…û™ùýLÒŽ¦ñÊí¯ØÝîÎÃ;™ýÃljjë⫬®diòRväí`å+ñrõrØXØ«ª¦Šû—ÜÏŽ¼æ²³5gIÈI`ë¡­Ì5‹)‘S8S}†ßö{‹›¤¤òØŠÇsý»öÛã_=Ìãq)íZµcë[íjßöô½¨¬ˆÉ‹&[l¢â26ðSæO|:åS¢‚¢.¹Ï7~zƒ·}hQ–ZJjA*®N®Ü7à¾K¶aÏ<µ'î3Õg˜úÙT›ÞßÈN‘ô èÇÊÔ•û ÷ÓÓØ“ÉÄæìÍŒí=–oö}æ¬Mæ >».1<Ô¢5û×01|"~”.þ]pvr®w_3†Í`p—ÁLút¹á/Ì6ÃâõU{W±jï*z´ïÁ37>Cx@8î.òÒº—ø<ùsîîw7‘"íêãšýk¸«ï]üqØéàÝÔ‚Tf~?“ô¢t>Hø€¿Üð‡…½î\ÈŽ¼ú2sÔL ¢ôL)Ëö,ãÍïðÊúW¸µÛ­´÷nÏ‚ H+L#´m(³FÍ"<0œâòbæ%ÎcÁŽ—Çåzá–xá–ˆœIh›PVÜ¿Ââõ×|¶~`QfOß Ñ!ÑL0^Æ^´kÕŽ“•'I<”È3ß>Ãû ïÛt°½öÀZ<]=yãÎ7Öu.N.,>Ȫ}«ðr«K(9Oí‰ûü÷wæ­3‰èAqy1nýE»Yõåþ÷óÔ×O±2e%SûO5—gË 17‘©ý§âëá{EÆÄÖ~6×w€È¯‘’!ˆîZ—ÄŒ§§±'i…i/?ÎmÝoãðÉÃÄŒçÑ!b2™Ø’³…¾}ñóð³h#"0‚WG¿zÙ—¯,OY޳“3óïOïæò¨ (æüv£?ͺŸ×Ù} Îì1³ÍñEEñþ]ïsë¿o%.=î—dÈca¯Õi«ˆKD`ÞîÞÄDÇPXVÈ’ÝKXŸ±žI“ˆKÃ`00÷wséÖ®^~^üÏ­ÿCVqñÙñ6ï7ý™ôËŠÛìé{»VíxzäÓ|°õ^ˆ{ã§›ÏD¤ÙÖŸŽ¾¸¥û-8ê’öžÆžô4ö¼Øfì™§öÄ·¿þ÷wÖm³È>‘Í–ƒ[,âsýfÿ0›E»Y$CŸîü€i¦]±1qÔûÓTß"¿FJ†DD`@çxºz²){ ~„øìxœ Î Êc˜»y.•Õ•dϤ¸¼˜I“¬ÚÞu¸C®ãÿ¹ègjjkñnÝZ“É„ “ùßù§òín7ºk´U|AþA„´ !»8Û\戱°WΉü=ýÍÉÀùn »‰%»—s"Ç\×èm4(ŸoDÈ»’¡«=}ßyx'S?›JUMU½mUVWu—fE½ey†ÈßÓŸíÞÀó7=ÏŒ•3¸éý›2‚žÆžDFÒËØËæ¸í™§¶Æ SÒðû{CÈ VÉ«³+“#&KRnQAQ”W•óåÞ/‰‰6ßÄâJŒ‰=ý¼˜¦úù5R2$"â®Î® DBN•Õ•ÄŒ'²S$ÞîÞDwfÎÆ9$å&±·`/€Õ¢v¨;°r„sk.¶–¥¡ƒ-GpÄX4†ÛɆ’N{Ÿés5¬Ûûþ~ÂûTÕTÃø>ã1zqsvÃ`00êÃQ—ÛÔNOcOÖ>¶–y;Ù‘·ƒ¤CIÄnŠ¥µWkÞ÷=Ú÷¸döÌSGÅÝ)‘Sx/á=>ÝY·&geÊJÊΔñÀÀlnÃcâ¨~6÷w€ÈµDɈˆƒD‡DóSÖOlÌÚÈöÜÿ×ÞÝEUïqÿ,,쮬‚l×DLÑ+šŠe7­&ÊÉÛp1nM·¬¼RÓW+ÇImúÇñ’ŽY#S–WͲ2«ÁP,+¹*pu}ÀgP‡ ÐåI¸8¬¦¬¬{p÷ýša”=g9ßóóÌÁÏžßC^øË ’.¯a‹Pþ‘|í«Ø'[ˆ­ÃÝSZÖ¹ÚvúEõÓÞŸ÷êû~¯®–®:Îom?¶]/~©U8YyRGÏU\d\«}}Ù’§=§ö¨ðT¡†ôÒj[Þá<÷>-.RÉÙÅG·ž­mû±[ë©äÙ¹Ÿ¬<©è°è63«¨<¡cç¹ÇÆDÚ"¯»¶U°)X#bG¸Çê¸\ÿÎxÍÞ4[ÿýcIÞ»NÛ[·$ÅEÄ©¨¼H‡ÎjóthÛÑmWýùÑaÑš0AŸïû\gjÎhõîÕêÙGô}À½/ÚÄ“ó4âø£ £ Ñò„cqþbÕ_ª×è¾—¿2idï‘ÚR²E»JwidÜH™ƒ:öYTË›'wªÒUÙj[êT¹\Êø(C[J¶èüÅój¸Ô ²ª2}[ò­¦o˜Þ¦«P{ž*Ôì/gëø/Çåjp© ´@Ïü¼›ÛLCí˶¤‡.Ïöâ§/*ïpžjêjT^]®%ß-ÑG{>Rhp¨ÆÆ•$=8àA577kú†éúñÄr5¸TVU¦¹ <î"wà_T2«¤]_7ë©'çÞ³[O»xN«þ»JÕuÕª®«VÞá<=ýŸ§=š½0uUªVï^­’³%ªm¬Uu]µ¶Ù¦JW¥NTžpïç­ëÔ“ºS¦¸ÿ}wß¡‹ UZUª¹_ͽæuÿdò“jljÔ¬M³tàÌe$gxÔmÕmâÉyqüO†ÀKâ£ãå°;tðÌA…[Õt[’{Ûè¾£µùÀfIŸFZ’úDö‘ÃîÐŽã;”üïd÷ë%³J49q²~:ñ“֯׳랽êûò¸ÇÇLùsŠ6üoƒÖ­kõz¿¨~švï´V¯ù²-$é‰aOhóþÍÚU¶KÿXÛv=˜Wƽ¢ö’¤Œä mÜ·Qû+ö+}õ•ó&“I |H_îÿÒ+ÍW<9÷´¡iÚzd«æ}3Oó¾™çÞgcô ŠšŠvsoù^í.Û}ÕmßuåÚòÖuêIÝÃ3´qïF9+œzâÃ+ÓY›L&MH˜ /œ_\õX‰·%jØíôõÈVÙ-vMIšÒŽ–¸ÂmâÉyqüO†ø‹¥YõõÆ-&8êŽQ’¤{ãîuwc‘.O>pµ¿ß¨à `-¼Tɽ’e ±µÚf2™ôæ„7•5)K÷õ¹OáÖp…‡(6"VãŒ×²ÉËtßž‡á½†kEê é9DV³U‘¶H¥NÕ‡é¶YŸEò][H—Ç)­L[©ÌQ™êÕW!Á! Óȸ‘Êþk¶{I²š­ú í¥ MST—(YÌ%Þ–¨åS–»»Uutv;_òäÜÇõ§E,ÒÀ˜²š­Š±Ç(mhšV¥­Rhph»¹>c½¦›ªøèx÷µ0¼×p½ñðš3vŽ{?o]§žÔm1[”ó·¥MWtX´,f‹9iÙäeº¿ïý×<¯–¶Jœª°Ð°v·‡·ÚÄ“ó4âÜlµµ&Y­žÝì(S³§£EÀÇ>Üî}çÏVa¡Ek×–ÝÄŠàšš›4é½IrV8µ3s§×&´À­cAî½Wðžr§åªwDo£ËNvv„V¬×wßo÷{‡ìvûr-O†ø•~ýêuèP¨ø˜ײ0w¡>Ýû©ÊªÊäjpÉYáTæ'™Ú÷ó>ÝÓû‚P€¹ÔtIùGó•³+G#z 9x0Tññ¾éðÖé íp×]µª© Rq±Eƒ×]N§å¬pê‘ìG®»ß¸þãôö”·ý®ž£¿UöÎì6¯w éÒªKü_Öö,emÏrÿûño|ç‡lzôÑjŸ“0À¯ X¯ž=õÕWvÂþМ±sÔÝÖ]¥:ýëiÙ-vÝ{·2Gej@F—ÄØcôÌ=Ï´šN€ïYTZjÖ˜1|z\Æ èô<3$IYYÝ•“ÓMyyÇe³q‹ ³›93FÅÅmÚtÒ£÷1f~'=½Jõõ&-_it)à:œN‹>ù¤«¦M«¼þÎ^Fàw¢¢.iÆŒ_ôî»*- 1ºp ¯¿¥Áƒk5q¢oÇ I„!~*#£J½z5jöìjl4nÝ!ðÇÞ?\6Í{V&~]†ø%³¹YK–”«¸Ø¢W_íat9àwòó»háÂ(½üò9%&3éa€ßêß¿^‹Uhýú®Zº”ñCt……͘áФI5zî9ßjAàׯŒ¹ ¹sÏ(+«»æÌ¡ËFÛ¼Ù®©SoWrr­æÏ?ch-„!~/=ýW-[V®Ï>³ë©§þ¤ÒR–XÀ×êêLZ¼¸»fÌp(5õW-_~Z!!Æ.AÆŒ¹ 5kÊTQaVJJo-^Ü].O‰ð…¯¿SJJ¬²³Ã5oÞ½öÚY]‹®¸xºèêµ46š´re¸Þz+R!!Ízì±j¥¤Ô()©ÎYlðWååf忆iÍš®r:-š8±Z3gžWLL£×ŽÑÑEW C:=o†¡çÎ+'§›Ö­ë¦S§Ì²Û›Ô¿½"#/Ébá¶Àhj2©ª*HÇŽ…¨¼Ü,›­I))”‘Q¥¤$ïÏGà÷nFú-§3T{öXURªªª ÕÕñˆ€$uëÖ¤ØØÝyg’“koꇌ CŒ"ðê•PotÀǘ@@@" H„!‰0 †$€€DCa@@2]\Ãá0ºÐ Y­Ö½Ÿ0 Ó³ÛíF—üÝä$€€DCa@@" H„!‰0 †$€€DCa@@2KZktàc?üwŽ'´JÛfƒIEND®B`‚fio-3.39/examples/ssd-test.fio000066400000000000000000000015171476262051600163250ustar00rootroot00000000000000# Do some important numbers on SSD drives, to gauge what kind of # performance you might get out of them. # # Sequential read and write speeds are tested, these are expected to be # high. Random reads should also be fast, random writes are where crap # drives are usually separated from the good drives. # # This uses a queue depth of 4. New SATA SSD's will support up to 32 # in flight commands, so it may also be interesting to increase the queue # depth and compare. Note that most real-life usage will not see that # large of a queue depth, so 4 is more representative of normal use. # [global] bs=4k ioengine=libaio iodepth=4 size=10g direct=1 runtime=60 directory=/mount-point-of-ssd filename=ssd.test.file [seq-read] rw=read stonewall [rand-read] rw=randread stonewall [seq-write] rw=write stonewall [rand-write] rw=randwrite stonewall fio-3.39/examples/ssd-test.png000066400000000000000000003027731476262051600163440ustar00rootroot00000000000000‰PNG  IHDR\mÎÓbKGDÿÿÿ ½§“ IDATxœìÝu\TÙð3t -H§¢ !Ø„]ˆ®ŠÊO][×ÄÀÄU\±P±0PÁD%L DA0nº˜øýñÖ·#9 0€çûÙ?Þܹsï™wÖñøâ> ›Í„B!ô{ããu!„Bˆ÷°(D!„BX"„B!, B!„`QˆB!„‹B„B!X"„B!À¢!„B…!„BxB5áÈ‘#·oßccc777^‡Óll6ûêÕ«>¤Óé \\\¶nÝJ¼{ôèQCCCžˆBX"„:¾¸¸¸àà`nz>}út×®] $$ÔÁ´`Š 68p€³%//üFÅÅÅ­$Bµ…¡®#''‡(¶„……;ȇ&¶§M›ÆÇǧ  ÐFá!„P‹aQˆBm(>>žÉdÛkÖ¬ÑÓÓ€ªªªgÏžxî!ÔA`Qˆj5l6ÛÏÏ/ %%…Édª««ÚØØhhhpÙJKKOœ8ñúõk>>¾áÇ/^¼˜ËÙ­­­srrˆíêêjkkkb{ýúõãÇ'¶CBBîܹóíÛ·ÊÊJEEEkkk{{{.¿7SprppøôéçKιµ®)|þü¹ŸŸ_\\Ü÷ïß»uëfnn>kÖ,ÆåN@¡–c#„P+±³³«û#C¡PΜ9Ãe‡ôôtÎw---,X@l[YY52{C¿rÄàeee“&Mªû®––Ö§OŸ¸ü OQW=úéåË—Dç’’’±cÇÖí ..~åÊ•_Í B5"„ZÇׯ_}||@VVöŸþQQQIOOÿüùóõë×óòò¸éóçÏIII•3gÎxyyqÀ³gÏž>}º{÷n$ï!*³ùóçß¹sºwïîì쬢¢âåååã㓘˜8nܸ/_¾ˆ‹‹7aãSÔååå¾lÙ2⥷··¢¢"äææN›6­Vç¹sçúûû€„„ÄÎ;µ´´._¾ìëë[^^îàà ®®>xð`nöBµ¯«R„PñîÝ;âWÅØØ¸¤¤„lg2™yyyÜt ÊAyì­ªªJII‰h$Ž~þüÙêgû÷ï':{{{=………9cûöí9òóçωFƒ¡¥¥E4ž8q‚›™¢!oÞ¼!§NJJ"ÓÒÒÈFâHaLLLÝïÎb± ˆÆ &p3Bµ)Dµ%%¥¬¬¬?ÊÈÈhjjêèèÛÚÚ8›>| G1b±!$$daaqãÆ ò­’’’Z+ÔÔ:ã\ge¶mÛ6 …Bl¯_¿^²dI“¶ÐÐPr{ôèÑÄ…B9r$qU"g„j øD„Pë}øðá°aÃøùù™Lf|||@@À¾}û ´eËn:TVV’£Q©Tr[BBâc«¨¨ ·_¼xüYpaÛáŒóû’ÛœB¨-à‘B„P«166~òäIyyyLLLRRR`` §§'¸ºº:;;‹ˆˆ4ÞAEE…*!!¡[·nÄ6çieèÕ«¹ž <¿Üλ›ïÞ½+))Y«ƒ¬¬,—_¡‘Y^½zE>§$((HHH¨ñ¨8©««“ÛqqqæææÄ6ùÝ9; „P›àõùk„P‘››»iÓ¦¯_¿’- äOMJJJ“***dddˆ—¶¶¶ÕÕÕl6ûéÓ§äÙÞÆï>f³ÙwïÞ%,(( Û+**ÈU]–,Yòýûwò­¨¨(gg瘘n¾B#S°ÙlâY|„ÊÊJ¢‘Ëk ËËËåååÉï^UUÅf³#""È2tÇŽÜç!„Z‹B„Pë ##£þýû‹ŠŠ-½{÷f±XMv`³Ù'Nœ «%EEE###QQQ333.‹ÂÔÔT>¾¯ŠQRR²´´´²²ÊÉÉa³Ù~~~dýúõëÝ»7yröÍ›7Ü|…Ƨø•¢ø8???ÑH£ÑLLL‰—}ûö-++kƒ¤!„а(DµŽïß¿ÿóÏ?äyO‚   ­­mrr27G%Oï*((Ü»w\ҥɢÍf»ººÖ:É›––F¼6jÔ(²ð"ë-—¢¢"î#lhŠ_, Ùlöëׯ---É#£ --½víZ¬Bí€Ânx9V„jòòòÔÔÔüü|IIImmmqqñæv¨ªªŠŽŽæçç700Œ‹‹ËÈÈiiiccã&(++‹‰‰)//'~ßÈùœâŠŠŠØØØòòr¦¬¬,&&Ö‚¯PïyyyäóK,--‰Š%%%ä]Õ ªÉªª*²X411‘’’⼨¨(!!áû÷ïrrrzzzäI„jSX"„B!\’!„BaQˆB!„‹B„B!X"„B!À¢!„B…!„B°(D!„B€E!B!„, B!„`QˆB!„‹B„B!X"„B!À¢!„B…!„B°(D!„B€E!B!„, B!„`QˆB!„‹B„B!X"„B!àu¡N†N§—••ñ: „BM R© Ü÷Ç#…!„B‹B„B!„E!B!„, B!„`QˆB!„‹B„B!X"„B!À¢!„B…!„Bð‰&!ª®¦ÄÅ åçó——ã?PêL(¶¤$KU•¡¢RC¡ð:ÔJ°(Dµ·âb¾Û·%‚‚Äß¿a2ñï„:1))–…E…­m™•U9??¯£A¿‹B„Pû©¬¤œ9#sæŒ4{äÈò3rz÷®RTdŠ‹³xB¨X,(.æOIŒˆyòDÌÑQQM­fóæüáÃËyj9 ›Íæu ¡Î„N§—••µàƒAAâ..ÝJJø–-+´·/ÁB¡.#%EðÈY??êàÁ;wæ©«×ð:"@¥R¸ï×ñ „Ú› È.[¦8hPåãÇ© aEˆPW¢®^sèÝÛ;#?Ÿòd•Q^G„Z‹B„PÛúþ²b…âÙ³Ò®®9ûöåtëÆäuD¡6aföÝ×7ÃÒ²bþ|¥ë×%yj6¼¦!Ô†X,X·N!4TÔË+ÓÜü;¯ÃAµ-aaö¡CtMMÙ­[åÅÄX&´äRÄ+X"„ÚСC²‹]¸…!B¿ V®,(+£89ÑTT&&øg¿ÓÀÓÇ¡¶(~ê”ÌßçPÉëXBíÊÉ)ðàŠ%K‹Šp¡šN‹B„P›¨¬¤ìÙÓmÊ”ÒÉ“Ky B¨½ññÁ¡C9||pø° ¯cAÜ¢!Ô&NŸ–).æ[³&Ÿ× „xƒJe­[—íšÔׯB¼Žq‹B„Pë+.æóô”^¾¼FÃ{Ïêüðöí[^‡ó;úãRƒ*77Y^‚¸‚E!B¨õݾ-ÁÇǶ·/áu !^¢PàÏ?‹ž?ÏÎÆ[;æ%éСCoÞ¼i£PBmmàÀkÖ¬i‡‰‚‚ÄGŽ,ǪB#G–‹ˆ°ž<Ÿ5«˜×± &4ïHá›7oBCCÛ(„P› mŸÔUUQ>|±´¬h‡¹Bœ  {àÀÊ7oð'@³ç0ÀÇǧ-BAµ);;»ö™(!AˆÁ ôî]Ý>Ó¡†aaa—.]ŠˆˆÈËËÒÑѱµµ5k–€À;ÔÔÔœ|¸{÷îúõëõôôˆö   ¢ ãççß»woddd`` ¾¾>„‡‡»ºº’ãáÆ?|øàççײëüýý>üñãÇøøø­[·r€°°püqqqïß¿?xð    ܾ};::šèæççGV„¿'jubb¬Š ¬7:LB¨•±Ù§õˆˆˆt:=%%EPP°wïÞŽŽŽwîÜ!Ú¯^½JlØØØØÙÙ‰‹‹kkkÿõ×_DãÍ›7«««ÀÏÏh144\¸p¡¤¤¤¾¾þÚµkkM7oÞ<Ÿegg×ê³dÉ’ &P©ÔfÀ‰B¡HIIMœ8±W¯^DKHH±AÁljx‚Bù÷gupxú!„º )S¦²ÙìóçÏŸ?žB¡())™™™ÙÛÛ›™™@ll,ÑóîÝ»wïÞ­õñÊÊÊ””]]ݤ¤$¢…óÂ>Îmîó’¸ ‚‚‚|}}¿~ýšŸŸ_«RÌËË#6Z1N„~[x¤°£³þáØ±c¼Ž¥u“_êãǼ¡®ièС^^^666ÊÊÊ|||l6;33óÞ½{³fÍúðá7#TT´òýãͻՀÀÓÓséÒ¥OŸ>ÍÊʪ{ì°¦¦¦ÕâCè·‡G ;ºàà`bÃØØ˜·‘´–ššòKñ6„º°8 FRRÒ¶mÛ˜LæƒLMMõôôrrrÀÎÎnïÞ½ ¢¥¥•’’Ÿ?&9· çÏŸonx\påÊbcèС»víRPPàãã7ny ‘ ©©ÉMœ¡Fà‘B„ê‚\]]·oß’‘‘Áf³%$$ÈÕ[ Ìœ9“xyëÖ­óçÏçååUUU¥¦¦;;;¯[·Žx×ÆÆ†ØˆŽŽ>sæLiiéׯ_<øërqO ˆˆˆˆ‹‹—””;v¬VE&Lh£8ú}à‘B„ê‚ŠŠŠ|||ÈÃl$AAÁ)S¦ÀèÑ£/^ìááÁd2÷ìÙ³gÏÎnĆ­­íƒˆ]]]‰›‚íííÉkøZŒË&Ož|àÀð÷÷÷÷÷€Þ½{|úô‰³ÛʼnÐï‹Â.¢¨¨ÈÛÛûÍ›7t:]XX¸W¯^3gÎ422ªÕíåË—.\ÈÈÈÐÐÐX²d‰††ÆÄ‰‰·ÜÜÜÈ3ÔMŽ–ššêàà@lŸ?žŸŸßÝÝýË—/JJJ&L˜4iç¤/^¼¸xñ"9©²²r[í„Л6m277 ŠÏÎÎf±X4­oß¾ , –}€uëÖYYY]½z5"""''GPPPQQQCCcĈÇ'úP(”ãÇŸìÙ³gÙ²e åäÉ“ÄQa•»wï×nóññq>‹ûÑ8?²dÉ’Ý»w@¯^½zôèÕÕÕß¾}ëß¿?9©ººú­[·øùù@@@`ÅŠm¹KB!ÔlXvzäsœÈS±%%%ÄFvvvBB‚ŽŽ¹2Ù°aÃÈ»ùÈÕ7w4ÎŒ?žØ Ñhd#±¢,9©µµ5Qy@!„B…¹ÀljjjjjjÝPYYI¼ä\?¶îZ²\ŽÆI^^žØøï'â!9)ù`«z'Eu.222ñññ¼Ž!Ôʰ(ìô444ˆ`'Ož\ïiÙž={€ªª*±4ç qqq-K***Ät ÿ]_Œ— „BÞhÒéM›6Ø–’’"Ÿ gff–.)) +Ð………À÷ïßÿþûï–Æ%òÌò£GˆçÖWUUíÛ·¯åß!„Bm‹ÂNÃ×××úgÄJË—/·²²€üü|SSS}}ý¨ªªJKKÏœ9óñãÇÄÇ—.]ª§§ cðàÁ&&&jjjäé]—£qiéÒ¥ÚÚÚÀd2­¬¬ˆIKKKyg „B¨•aQØidddÿìÝ»w ,,´k×®îÝ»@LLÌÛ·oÓÓÓ%$$fÏž½~ýzâãâââOž<6lÔÔÔDFF:ôøñãäøbbbÜÆ% ‰§OŸ7¬0ŒÈÈHkkëË—/·ÊA!„P+Âk ;ºgÏž5ôQÆ€³³³³³sJJJff¦°°°²²2F«µvŒŠŠÊ“'ORSS322ÔÕÕ»wïîëëK¼E¡P´´´¸MMM LSS“Ø% 9{rNZSSCv#Ÿ¡‚B!Þ¢°£kÖ?ÔÕÕÕÕÕz÷üùóšššÖÖÖjjj»eËâ­#F+Ts9š˜˜XÝÀøùùŠVMM˜ñ)&!„PGƒEáo$88xþüùÒÒÒÚÚÚ¥¥¥‰‰‰ h4çyd„Bý†ðšÂßÈ‚ ÆŽ[RRòþýûØØXƒ!!!1þü?êêêò::„¸ròdìÍ›)¼Ž¢6°ZjÅÉù’Éd»»ÇÜ¿ŸÞºS „: , #C† yøðaIIITTTHHÈ·oßŠŠŠÎž=«¤¤ÄëÐâÖ‰17oÖ³¬:ÏuØÀj©'çKƒåîþõ׋Âβ+Bµàéãߎ¸¸8yBÎÒ¥=i4a^GQXãÚ"ìNº+BX"„:“%KôxBý:l`k‹°;é®@aQˆêLNžŒ¥Ñ„§Lùï¾x&“’[Âd²´µ%‡ ‘æ¯õ©OŸŠ"" ÊÊ "VV rrÂägÿ¦¥Eµ±QIH(}õ*§ºšeb"kf&Wk„òrÆ“'Y™™•ŠŠ¢#G*1™ì úô‘¶¶V¬÷Ã6[û¨»? _¿‡†æ²X`f&gd$SëÝ‚‚ªwïòRSËøôô$”ççÿoɪ–å!ÄsX"„:“'b eÈ‚#>¾tɒФ¤2²ƒ‚‚ÈÑ£ýMMe‰—yyUýöæM.ÙATT`ûö>S§ªÃ«èFŒPÊȨ8pà3›ýoŸiÓÔÿþÛ”üHttá¢E¡¹¹ß‰—4šˆ‹‹‰»û×Ù³µÈ¢30.‡m<¶zݾš–VÑø.š3GKFF¨ñ>¤Zû“pàÀgXòåĉªû÷÷%˾ݻ£¼½“ª«Yd ê™355©õŽÙdŽB…¡Îª²’ñçŸ!Ý»‹YY) ò½~“Pºpáÿá4š“É^¸ðMtt¡ŠŠ¸…MJJ(%¥ìñã¬Í›#tt$ÿ=öñcÁÓ§ÙVVŠººtú÷‡ÓoÜH±±Q4HÊËŽŽ¡¹¹ß55©C†Ð˜Lö‹ôM›>4^ãÃr[-·o§†„äÖûiüxeî‹Âº>|(xü8ËÊJAWW2+«200ãîÝ4 êŠ=‰/_æÐh¢&&2ÊÊbUU,â˜â† ï}|¬êŽÖdŽZ'B¨ÕaQˆê¬üü222*LMe/^"*Ê {õê°€€Œ«W“V¯Ö ÊŒŽ.œ0AåÀ3ò@WttáÔ©ÁçÏÇ9bN´äçW<9`Ĉo÷° ­_ÿþùól¢zóóKÏÉùni©pêÔAA>¨¬düï¯óó«¯ña¹Œ­–?þP33«½Î|-²²¿tº  jÿþ¾“'ÿ»Ú|d¤Î´iÁçÏÇ/]ÚƒˆsçN#--‰ÐÐܬ¬ !!V¿~Ýòò¾GDV×-F›Ìѯ„Šj]X"„:«ò`Õ*}¢Úʺu½2޿πׯs@LLÀÃ#–Íf› l6[RR0:º§W/i²tâŒpNο'‹#" `ÅŠžDE¢¢K—öX°àMãá5>,—±ÕòÇjMï—_£¡A%+B02’9R) 3.®¤gO)øø±pÞ¼× »Öóó«ê…Mæ!Ôq4¯(ÌÏÏOOOÿ믿Ú(ÔAÄÆÆ*))IHHð:Ôš"##UTTxEk*.®55*g£ªª8…EEÕPPP ׯ'7>Ž’’(çK1±hq΢¬,ÆÙGEE¼Éð–ËØjiõk ëRQ«Õ¢ª*%%5š{ðàg!!¾#ÕÕÅÅÄ(ÊË—ôˆˆ«v™\ä!Ôq4¯(Œ‹‹KOOwssk£hBmª²²’×!´&))!HM-SUý¯ŽIK+g³AZZˆì0k–¦œ\ík×DD¸]ºŸ$#£‚ó¸ôôò_‹½…±µÃ5…é鵋δ´r”€gϲàØ±~Æýwôë×¢†Fk2G¡Ž£yEá€ÀÇǧm‚A…BY½zõáÇyjMvvv¼¡•™šÊùú¦=cj*+**L&ûС/з¯ ØÍÇ'™Éd/_Þƒï¿5Srs¿geq[›˜ÈÞ¼™rüø7¨ªbrÞœÛ2-‹­®)LN.»u+•ãšÂÂG²$%uu%€B¡•*Hö Í}ú4»¡ÑšÌB¨ãÀk BÕ„ ÊÇÇ„‡çó„¼³5>¾TJJÈÞ^ÆW¹p!áÚµä—/s ¢ÉÉ •”Ô$'—½{—÷矺}úÔ‡oYTŽùúüyö¸qO† ¡1™¬/èL PšütƒZ[;\S(++¼aÃûÒõô$33+3˜Lö¼y:Ä]&&&²àè:fLwḸ’à`º¬¬P^^ý·Ý4™#„PÇE!B¨³8{v±ÞÕ«ID#&rôh?âT/??åìÙA7¾ú4ÛÇ'™ü ‚‚—!ˆ‹ xx X´èMbbibb)ÈË‹lÞl¸vm¸˜XËB[%¶¶`j*«­-qêTlp0h™8QuéÒÄöèÑÝ'LPñóK÷ñI!Zìì4$$΋¯w´&s„ê8°(Du&µž««£#0âõëœØØ&“­¥%aiIã|Z†ŒŒÐéÓJÃÃó ªee…44¨ffrÄq/¾•+õµ´~º ‚hÔÑùïF+##™'OF=y’••U©¨(:b„ÒÓ§Yðó­$œq9lã±µ‘Z;°Þ°mlTÆS~÷.ŸÅb÷í+WkÑÄÇÍííµ>}*¢P o_YCC™W¯r¨TAòY,ÍÍB¨ƒ °ÙõÜ/Öâš$¼¦°ËÃk »¤ÖúóK§ÓËÊÊéðð!uåJ…øø„_œ¨ãˆ/UV#U),¬ž>ýEbbéýûÈUZBèz¿ •JUPPà¾?)D¡&<žíá;h¼ŠŠ8^ùü9½¸¸zà@y¬B] …!Ô]]ɪ*æÃ‡d‹¡¡ÌÁƒf< !„Z·+u!8pà…Byþü9—ýœœ(ÊÇÛ2(Ô. ¸N=89…˜ú®ÂÊJáõë±Ç÷wr2ز¥Ï•+·nYã}¡."„PÓ$%GîÎë(B¨ á‘ÂfX·n›Í¶¶¶æu ¨Ý­[l6`êBu]X"„B¡ÎV’Wé]¼xÑÀÀ@DDD]]}çÎ,‹ì3{öl …’——ÇùA¢±¨¨¨Ö8'OžìÙ³§¨¨hŸ>}üüü ¼¼|ÕªUÝ»w±°°ˆŒŒ$©{MaZZÚÂ… UUU…„„ííícbbê†}üøñ=zˆˆˆhii¹¸¸0 ò­¼¼¼ 6èé鉋‹+**6ìæÍ›ÍZ'¨óÉÍUUèÖ RSÿk|ñ`ÈàØ9?!¯Ò»x @DÔÕaçNàH=Ìž  üœú¤þ¿qNž„ž=ATúô??€òrXµ ºw°°ŽÔ×sMaZ,\ªª $ŠŠ`oõ¥Ž‡=@D´´ÀÅå§o——6€žˆ‹ƒ¢" 7oB×N=B¡¬S^SxôèÑsçÎÛ©©©;vì`±X;wîlî8¸rå ±äkñ IDAT=yòä/^¬_¿þõë×Dã«W¯Æ— "RÏåIII ÈÉÉ!^Òétooïû÷ï?}úÔÌì¿Û]]]¯]»F~ÄÙÙùÛ·o—.]"ZÆFlWTTÐéôgÏžEGG4÷ëtòòàã––`g/_‚deÁôéЭܸþ?yô(üH=¤¦ÂŽÀbAóSÀÔCt4Lž /^Àúõð#õðêŒ P_ê!)  €©:¼½áþ}xú8R®®ð#õ”ÎÎðíüH=Œ?R@§Ã³g ]8õ!„:°Nv¤põêUww÷ÌÌÌ’’’Ë—/ ;v¬G×nß¾}êÔ©œœœüüüM›61ŒñãÇÓéô   ’’’ÄÄÄáÇgffz{{×ûñU«VåääXZZ†‡‡———þüyòäÉ¥¥¥ .äìvóæÍƒfff\½zUVVöòåËOž<€ÌḬ̀°0}}ý·oß–——çççO:•¯Sæ¥ €ƒáÝ;øë/`0`Æ ÈÍooèÞÔ…üW¯‚»;dfBI \¾ pìXKŽ®Ý¾ §NANäçæMÀ`Àøñ@§CP””@b" ™™Ð@êaÕ*ÈÉKK‡òrøü&O†ÒRø9õpó&<™™PPW¯‚¬,\¾ OždfBXèëÃÛ·P^ùù S§B—O=B¡ŽªS)ܶmÛŠ+ˆíY³fݹsÇ××7--MM­yŠß¾}û¢E‹ˆmOOÏÜÜÜÇ›šš€„„ľ}ûÌÍÍ¿|ùR÷³åååþþþ4ÍÏÏORRzõêuýúuccã?ÆÆÆêéé=W¯^½fÍb{æÌ™L&sΜ9¾¾¾Ã‡—““íß¿¿~ý@LLÌÒÒÒÒÒ²%;¥ÓY±Þ¼'àÓ'xñöî…¡C›þÔ¶mð#õ0kܹ¾¾–ÍL=lß?R..àé ¹¹ðø1˜šHHÀ¾}`nõ¥ÊËÁßh4ðóII€^½àúu06†!6~¤V¯†©‡™3É„9sÀ׆99…þý¡_?11°´„ß$õ!„:¤NyX¢Öý¿ZZZPZZÚÜq8Ë/>>>UUUqqq¢"$¨««N¯ûÙäädƒaaaAT„Ñ£G@|üφ'ZHcÆŒ!; {zzÞºuËÌÌlݺu^^^)))ÍýØ™3 ®/^À¸q°q#W©uÿ¯–@óSÿSùÅǪª .©uu€úRÉÉÀ`€…p¤€H4GêáçÔØ1ÿuOO¸u ÌÌ`Ý:ðò‚ß*õ!„:žNYŠŠŠr¾¤P(@ž>&νrÞz•••uÇ©u¥ …B©ÛRw¨ºš…øùA{{ûôôtgggQQÑ7nôêÕËÆÆ¦¤¤¤¹ÃvJaažÇma÷sêØäécâÜk­|Õ—úÚW R(õ´Ôªn‡f!>B~ÐÞÒÓÁÙDEáÆ èÕ llà7I}KÕ0kì¯Øzqˆ×4&"#ÂþнýûˆŒ²±SDŽúÍuÊ¢°q4 ’’’È–ŠŠŠ·oß¶î,/_¾ä,à˜LfPPèèèœô÷÷mmm²EBBbâĉ»wï¾ÿ~hhèƒ\\\Z7ÚŽ(+ fÌyy8|ââ`Þ¼V“FàH=TT@k§44@@^¾ü©€c2!(€#õðsêÁ߀#õ !'ÂîÝpÿ>„†Âƒð;¤þ°Ø¬wiïbscyHƒ,ÆfÿÍaéaïÒÞV’í?r„ê‚EaïÞ½`íÚµ111•••“'OÎÈÈhòƒÍ"..>vìX:>iÒ¤>TTT|ýúuæÌ™Ÿ>}266&/(77·C‡eggz{{¯Zµ ¦N aaaãÇ¿uëVRRRuuuvvöíÛ· 11±u£íp ˜>òòàÚ5X½–/‡[·ààÁ_¶wo€µk!&*+!"&O†ÖN=ˆ‹Ãر@§Ã¤IðáTTÀׯ0s&|úÆÆÀ‘zpsƒC‡ ; ÁÛV­˜: , Ƈ[· ) ª«!;nßèò©ïêN…ž¢—ÑÇöËë@B¨Ù:å&›9s¦³³óëׯõõõ‰eeåQ£FÇðZ‘››ÛÛ·oŸ={Ö·o_²‘J¥ž9s†³Ûäɓ׮]»víZ²eÖ¬YÇ&“ùðáÇrö§P(ööö­j‡ãä/_‚«+XY:ááàäýûÃ!-væLpv†×¯áGêAYF‚ÖN=¸¹ÁÛ·ðìp¤¨Tø9õ0y2¬] ©‡Y³`øp&>„ŸS tùÔwiÉ…É'BNl¹"„:£.x¤PDD$00pôèÑbbb’’’üñGHHˆ¼¼|kO^¨¥¥þçŸ*++ Ðh´3f„……q.RNNNGŽÑÕÕÒÔÔܽ{÷… ˆ·úõë÷ðáC;;;MMMaaaeee[[ÛÇOž<¹µ¢íˆn߆ƒÁÖÖ¯ÿ·EP||@F¦O¯ÿÞ.‰ˆ@` Œ bb ) ü!!Ðz©ÿïr@--‡?ÿee fÌ€°0ø9õàäGŽ€®. ¦&ìÞ ?RýúÁÇ`gšš , ÊÊ`k C×N}ë©fV_¿°øæâE¾‹N…žª¨©à|7§,çxÈñUwWýyãÏíAÛÅ>jŸá·l5înl×ÇŽ›Îl6ûØëcöWìoDÞhëÀBˆ”fýVÚÙÙ€O›ÅÓ¡mÛ¶m÷îÝ¡¡¡ýû÷çu,m‹B¡¬^½úðáü¤Ãض vï†ÐPèÌ©o­?¿t:½¬¬¬‘RW®TˆOøÅ‰êªbTõ>Ð{˜Î°òêò·©ÿ]-ª-§}mö5QˆÍvyZYÕON3šö÷Ø¿öï'ÊþÔøÔ&è.ÙØ:š>‘>;íxðç  —Ç.Â/œžzz˜Î0ÎÈGèŽð˜âA¼Üð`ÃØ‡+¯X9deSߡέí~Pã¨Tª‚‚÷ý»àéã6’‘‘A<OCCƒ×± ö•‘ñïsð0õËÄTaêë ºÝt³J³Î¼=“ŸàòØåà„ƒpíãµ²ª2kmëI“¤E¤Ó‹Ó_%½*­jìöö˜Ü˜wi²¦¾ÛØ(¨(p}îºrÈJ &ãÏ+ÏsôuŒÉ9l{ØFߦÉþ!Ô>°(äÊâÅ‹O:Í*ºQ§·x1œ:`a˜úŽ l¯^½z/Çö;òôÈ_ì³[LPL€OØ•&:Ì0žQò½±µ~6 ÝTRÕÄb@&tyâ¢$¡´ ÿ‚&ƒÿ–ûm¡ÏÂ*FÕû+ÆÝ›ìBí‹BnÉÊÊZZZž9DóæD¡V…E!B¨“Ñ–Óöò½ÿõ¾†ŒFViVnY.¬³^G¼œìòØE\H\MZMH@(1?±´ªTFT†(ëõ‹×öQêS«åQì#Г×ë¯VÏFjÒj7æÜ˜w}ÞBß…'×sܯ̎B­¥ .^êÚ4e5Ý'¹óSø£²¢rËr%„%þû7YZÍ3Ÿ7XcpEMÅל¯‘™‘¥U¥ýÕú_˜qATP”·as¢QiWg]5P4X}wõµ×xBà‘B„P'"È/xÅþŠŒ¨Œž¼žÕr«¸¼8›¥'¯'Ä/Dö±Ô²´Ô²¬¨©H)La³ÙJ’JÄ¢ÖíiNß9#õFrž­&#'[¤D¤¼fxEeEQ(&›ÙäË!ÔÖ°(Du|>ò„¬ ¿ çÂ4µˆ ŠéÓ~é¤ð¯P—QW—Qçlጜ$*(Zïùe„â‰æ…¡¡¡éééäÃQææææææÆë(P+SQQáu!„:¨æ…ººº¢¢¢ãÇo£hPáææÖ»wï‘#Gò:Ôš}êëë›””$((hffæè訠 @¼uúôé«W¯zzzÖÔÔ?~<>>^AAaîܹC‡­57ƒTVVž>}:66vÒ¤IK–,¹~ýúÉ“'ÝÜÜ8Éß¼y3!!ALLÌÔÔÔÑÑQVV¶¡/Èd2¯]»@§Óeee‡ æàà ""RkÞÒÒR”””îݻϟ?È!D‡µk×Þºu V¬XAìccc77·ºq9Q“{©uUÖTž|~2ø[0غˆ.sâð)àîò»R¢ùyêûÞ7)/I_ÐLÝÌÑÊQAòGj^œ¾úöªçÿÈü!:?ò{cí­·`ÅÕÄ1V5v›áV70.'jr/¡vÐcþjý½fxµõDÎξ>hëYBÚ¡(,..¶²²ŠŒŒ$^úùùùøøhkk×ÔÔ,kÞ¼y^^ÿý¼úùù¹»»™šš@bbbppðýû÷·lÙRQQAô¹téÒõë×íììš5ˆ¯¯ïŽ;ªªª wïÞPçÒ=&“9wîÜË—/“ãøúúîÛ·¯  €ŸŸ¿î,//3fÌ«W¯È–ëׯ;vìñãÇ4œ×ÇÇgÇŽÕÕÕDŸóçÏ=ztùò噜œ µî)©—5¾—Z]qe±Õ?V‘i?òéçî£-¯\Ãü‘_6kÞùy^o8RéçþÔ=è¯ S5SHÌM Ž ¾uËí-Õ?"½t}Ñu;3»f âûÞwǽUŒ*èݽ7Ô¹tÉbÎ=?÷r(G~ßûî ØWàVÀÏW_~«ÊǸyϱÛî{zìñÚÇ4 9¯O¸Ï¿ÕŒù}}þẹ̀ˇ-€ÈôÈäüd¨uOI­À¸œ¨ñ½„Ñk£›îÔIH‰HÙèÛ ÓVɨÜâ¿…×á Ôb•ñññ:::¼5¦Í‹ÂM›6EFFªªªnذAKKëÛ·o®®®µªŸýû÷{yyiii-Y²D__¿ªª*((èÌ™3ööö_¾|áãû÷n˜7ÚØØL:•J¥Þ»wÏÓÓsÓ¦Md¹Ãå Û¶m;vì´iÓ”••ë=9ëâârùòe11±¥K—öëןŸÿýû÷l6»Þ/¸yóæW¯^ÉËËoܸQ__?99ùÀÑÑÑ‹/&Žÿ¶oß>f̘™3gŠˆˆœ9s毿þ9rd=<èîî~îÜ9wwwCCC––nñDï¥V·é֦ȴHUYÕ £7hÉk}ËþæàZ«úÙ°ßë—–¼Ö«%úJúUŒª /Ag^œ±?cÿe×>ÊüÞÜhÓÇfjß©Taê½È{ž/=7ÝÚD–;\²íî¶±c§™OS–V®÷ä¬Ë—Ë¡—ńĖ]ÚO£?ÿû”÷Álh ¿·7¿Š%/!¿qÌF}%ýäüä¢3¢_Z|k)G~ïmc0ff¿™"‚"Ÿμ<ó×õ¿FöÙC±ÇA»ƒîOÝϽ:ç>ÓÝPÙ¤ÅêË/w5¾—P׳kô.b#à[o#Aè×<3f‚¶¶öرcG­¯¯ÏëxP=Ú¶(d0^^^oÞ¼QVV€qãÆÙØØ¥Íf:tHQQ1<<\FF†hœÞ¡—ÐÉ“×6}lÈÒí“?”¤”vúí¼raïä½FªFšÝ4ÀDÍ„<§Üâ‰ÙK }ë.†Åf{wîÚÇk%ŠŠö&öc{Ž­Õ‡óšÂ*FUï½GèŽpáìúÌ5$%¤¨²(jm”˜ Ø»´wžo=?d|(«*S”PÝcôŠÁ+¨ÂTrœ°´°saç>¤(­*U•V¥7jAÿqyq3.Ï€ä}ÿö¸b¥¿ZÿöÚuFã¼½½oÞ¼yìØ1uuõ‰'Θ1£-þnB-Ö¶Eabbbyyù”)SˆŠ ««;xðà§OŸ/“’’rssåå剣Yl6›8&—›› 111d=gooÏ9¸©©ippp~~>Fã~‡Æ.((9r$Y$%%ê_VV6vìX²P99¹©S§zxxDEE9’hœ?>ççÏŸ¿sçΨ¨¨F‚iÙDì%.çâ^bnbyUùÓ)DEHÐ¥éÖü4æG~ó’rKså%äí<~¤Ø[š 1Y1d=gßÿçÈÕMƒcƒóËòi4îqØh~s Ê FöIV„IÑò››XVU6Ö`,Y¨€Unjß©ÁQéQ#{ýÈïŸó;dþN¿Qé\ç—ë‰ÙK\ÎÕÙmÚîáMl§¥¹>sýœý¹ÉO/žvi½ŒN¼d±XÞÞÛ‚¶‘gÒ‹ÓϾ;’rcÎ QAQ¸ôþҮǻÈ ù 'ßœ¤P(–Z–ÜGëpÍ!$9¤ñ> µå´¹¡Î‰ÏÜÜÜÜÜ|Ë–-QQQ>¼råÊñãÇGŽ9kÖ¬P(^GˆÚ¸(¬¬¬„úN†’󠬬 rssŸvJ’JÅA±AÂÂf*fñNñív£ B] …B122222Z»vm@@À•+WæÌ™£­­½téÒ &×z!žhÛ¢°{÷îÁÙÈb±ÈûN@YY™B¡˜››»ººÖAWW—›‰¸¤ñ‹ã¼{÷®¦¦FPP°Éy•””àýû÷,‹óå°°0øñõ >|à<5NLÇUC—-6k¢öÔ]º;D¤þœ_6+2#¿ÒÊ Å\ÃÜuJ}©Qà.¿\ÒD~¥•)Ê»¤w5ÌA~.ò+¥ïSÞ³Ø,ò²EKƒ_Ÿð!åç©áðäpbº£‚¦òËõD¿¹Ào°ÞzýÃ)DËlÓÙÅß‹¿8ÜøÅÅNM9%+öoI}çÓ‹á2Æ…<õ¬ÓMÇÍÖ-<=üQì£Åßý|—Éb.´t境¶œö’Kš0V5DHHÈÖÖÖÖÖöëׯçÏŸß°aÙ3gÖ®]ÛÖ+f F´mI.//oddôáǽ{÷²X,`0[¶l‰'ûÈÉÉYYY}øð!66vРAÖ?¨««ryÒ³UYYY ‹„„„ eee{öì!â¯ûMMMcbbœœœˆ›©Ùl¶»»û£GŒŒÈž...D!)))+W®€Q£F-T* Œû‰Ú“¼„¼‘ªÑ‡Ô{îe±YÀ`1¶ÜޟÑ_ªœ•žÕ‡”±ôØAÚƒ¬{Xÿ©Ë©~äò¤g« ²â²º ¹ ..((ÿ‘ߪ²=öñ×ý‚¦j¦1Ù1N7ˆ›©Ùl¶û÷G_)J)©rä÷ Q@J~ÊJï•0ª×üŠP !·áür=Ño.¥0,4-8-5›>ŸÛK¡Y@\^¬¾·ºÇþz®zz®zº®º=ö÷È-ËÍ*Í€„üÛ£öÕŠ¡V§¯¯¿ÿþ¨©©-Z´hÆŒ±±±¼ê7ÕæwïÞ½ÛÖÖvóæÍnnnêêêIII………†††ÑÑÑä /G2dˆ££ãºuë´´´DDD’““ét:lß¾›#v­5¸¹¹ 2ÄËËëÆÚÚÚüüü111ÕÕÕ7n¬÷°öþýûGõÏ?ÿœ={V[[;55•˜tÿþýœ÷¦¨¨¨ôïß_WWWXX˜ÐØØxúôéÄ»&&&àèèxâÄ 111b–MÔÎvOÜm{ÌvóíÍnÝÔåÔ“ò’ + • £3¢É^ŽÎ<:Äuˆã%Çu>ë´äµDD’ó“é%tØ>a;7GìZkp›î6Äuˆ×¯á7´åµùùøc²cªÕÇnä|¸¿¿?˜……Åܹskjj‚ƒƒk-ÙÓ¬‰ÚÙ£ ç_”—Í)Í Kc±Y—\V–Qò.Neƒ·›ßŽ3W^U™ù6é-½„®KÓuâ*$Àu~[c0Q3y¹ñå`Áßk¾Îü•%"(²uüV~JùÕî·ÂO‡¦SP^–F/¡w—î~éÏKsþœßG&Oü–ý-*=ªšQ=\¸ÿ*20 ]‹¹ƒæÖ0k’Âcƒk-ÙÓ¬‰~sê2êð2é%g㋤͇(Â.θï_ë¿ðUádÿÿ†F …Ád4w^„P㌌Œ¼½½W¬XqàÀ‡ÌÌL^Gô{¡4rS]Ľ½,éÒêêêOŸ>@¯^½X,––––¨¨hRRR­nÅÅÅñññ,KCCC^^žlOLLLMÙ8> IDATM533#ëH²ÑÜÜ\\\¼Åƒ@ZZZBB‚±±q­{AètzRR’”””ŽŽ7ããã‰ôìٓ󃓓“««kDD„±±qFFFjjª²²²ššZÝrrrªªª¤¥¥ ¬¡‰šµ—G¡PV¯^}øp×i‘ªÕŸ2?@/¥^,6Kk“–¨ hÒ¾:ù­,ŽÏ‰g±Yrò©ÉML-H5Ó0ã\ „h4×0oñ V–›`¬j\ë^z =)/IJTJ‡¦ÃÍÆøœxâA#=ÎïM'×׈mƪÆE©ù©Ê2Êj²õå·4'!'¡ŠQ%-&m¬jÜP` MÔ¬½T¯ÿù­…N§·v5äáCêÊ• ññ ž.o±¨¬¨É'“7š0ÙLÿÿ½O÷V1ªz̹$ÇrœäÂäѧGK‹J¯³Z7DsH7ñnÅß‹“ “|} @U n4ã9ö_8µÏTE ÅÌâÌ Ø !¡ùæó`ÀÑLóæÿnªH©Ô{Œ¹Õ| X~{9>æuF-øMøòåËš5kŠŠŠN:Å«K¤º*•J®XÇö8-uøðá )))Y¶lNwtt¬ÛSJJªoß¾uÛµ´´´´´¸ilî Ðð#†šµ+uttš\«]YY™sužZh4çå ÖÐDÍÚK­èð£Ã ,)©,Yvu½„îhU_~E¥úª×—y--ù:‘×רÜA áG +H*‹ÿqC‡¦£Ck*¿ÒÊœ«óÔB“ q^þØP` MÔ¬½ÔUõQê3Ód¦w„÷ÆÉF}›û_ï7k Ýcv;:oòßTë-ÇŽ )«¹yØf—'.o<<ÞüWM.´”Ø 6àþ×ûÃ<†/Ûn‘76ûo&_ž =u*ôpÁu=½zõºuëÖÊ•+gÏž}öìÙ~ýúñ:¢ßB{…ÎÎÎNNNÄñ¶¸¸¸ŠŠ *•ºqãÆ¦?‰:ç»ÎN·œˆãmqô¸Šê ª0uãÌ/j;GíT—V'¯V *Ì0žaÓ«ÙE!L3šÖ“ÖóÜ»sïÒÞTÈŠÉjÈhŒ×?±÷D¢ÃÿÌþ§'¯w.ì\DFDeM¥ª´êh½Ñóûý» å–á[,Fhjhñ÷âfoAqILLìÔ©S«W¯^¸páåË—9{ÚH{…ëÖ­sssûòå ñ²OŸ>§OŸ&žáº€u£Ö¹=vû’ù#¿*}N;œ&žáP«ã£ð-è¿`AÿœñNñœ/9Ÿ},, \ë]R¥>nkßñÃi úÀêë}Kž*ìcÜý ¦M›f4­&B¨âçç'N6.]ºôÎ;rrrÜ|ÊÐÐÐÐÐðêÕ«m^½JJJ^¼xñäÉ“ààà’’GGÇõëë¹ä#++ëàÁƒ/_¾,--UWW···Ÿ={6ÏWðn¢pÇŽ[·nMNNÎÍÍíÞ½»ººz;LÚq,Z´h̘1]ø)à;lwlµÙšœ—œ[šÛ]º»ºÜo–_ËEc Æ4yf!„P ¸¹¹Mš4iÛ¶mÇçu8Msvv~ðàAã}²²²¦L™’““C¼Œ‹‹Û¹sgBBÂŽ;Ú<¾FµÓRÜ\r×%µÃU}<'À'ÀÍ%w]ÒïvUBµ3iié={öÌ;788ØÊʪÉþÑÑÑMöi;RRR666Æ «¬¬Ü²eK½}\]]srr ´k×.%%¥çÏŸoذáòåË“&M266nç€9áúg!„êÐÅĉ‰‡–ijjr¹ÈNÿßÿþ·zõê1cÆ-wîÜa0...cÇŽ%ZtttÜÜÜÂÃÃ=zD…^^^­û-ZÙ”³=00Ö¯_?eÊ¢ÅÞÞ¾¸¸øàÁƒ­L-Í+ cccãââê}ÌêbNŸ>íëëËë(PkÊÏÏ×ÕÕåu!ÔB222EEEóæÍ{÷îÝøñã­¬¬ ÌÌÌš|m^^žƒƒÃâÅ‹'NœH6ÆÅÅÀêÕ«W¯^MÔdl6›Øh»%%$$ ¸¸¸V{qq1???qÎ:55,,,8;XXXt¬¢ý>ð! !„:ƒÁÏÏO¥R/]ºûöíÛ˜˜__ß‚‚‚;vŒ?¾¡:88888L:•³Åb“ɬû‘êêjb£Õ¯)$VkŽål,**¢ÓéêêêÄ…„Z…i;ü½Ü¼¢POOOOOÏÇǧ¢A…Bqtt<|ø0¯A­ÉÎÎŽ×! „PËåççwëÖØ& b{Ù²eëÖ­2dHÝ õ ¸¸øÿûŸÝ¬Y³j½ETr/^|غ`RˆB¡. <<|Μ9/_¾ôõõ=räï!ssóFwM[²dÉ»wïÞ½{·ÿ~Þò]»v¹»»3™Ìßÿ}ëÖ­7nlxbë‚ôññÙ´iùòøñãÇ€9sæK ®_¿þåË—ÏŸ?wtt$kΙ3‡\¹º_¿~nnn>>>k×®%+Œ?þîÝ»ÍΞl \¼!Ôµå”å{ïx¸ƒ,±<`é~ѽ];=zäzìõví¢cDåF{ߊ»%î@š×Áïy+>E"Œ°¢¶bÔñQÆžÆÄA)A"iV°†?JÊË—/?~ü8bĈ½{÷®Y³¦oß¾=zô`0½zõZ¹råÅ‹ygã‘âãã7ëæææëëëâ⢮®N£ÑÔÕÕ ´sçΟ~ú©}Æ ¥¥uíÚ5WWWeee)))ccãmÛ¶mÛ¶·Ž‡‡Çºuëôõõ%%%õôôÖ¯_?kÖ,à]òZäðJ!B¨»Yf»L¡Þ®] ;:Xðä>“Ûµ—ð8å1•BaÔÙ·ƒÏ[ñ)a„—¢.e”dXëXÑ"I•4PjÉ•îíĉƒ633€eË–-[¶¬©š¼{GEE5Ûrß¾}½¼¼D$¸¹¹¹¹¹5[M[[[ð£ÄK–,á½`Il Ç·êµhaRˆên~ÚŽÿÄïf'?¶Ñ³Qidzþ7N¼Ÿ¢äOÉp|êqeYe1†ÑyŸ={VÜtŸâââÑ£Gëèèøûû_¼xQNNŽoÑ}R¸{÷nmmíùó狼å6ê´ ©“Ä¿{÷Kmm¹ùóûˆ7Œ†:m`Bêêñw¤ÊºÊÇÉóÊó4{hŽî5ºa…^ü£ÎPŸj9Ø\ö_Ïÿ2T1t1sI-J Ë+©.ùièO’TIˆý•UQW¡ÁÐa4BEV…¯©„ü„7¹o>×~ÖWÒ·íi«HWÌ+Ïó{çÇár²J²‡&ªM±œ¢« Kt––T˜Äæ°Tì˜vÒ4i¢N£‘Ì·™6ò¬¾¢þ¤>“xûåp9Ç^S¤+º[·ã}𜲜äOÉ›7ñ…—Ÿž.A‘p0rè©Ô¸\îóŒç  )ÆØÞcù2£.­.=÷ú\_­¾Fd}¢ÐJÛj¸áð†ïLhzh»ÎZÇÚF׆¨/ø=çóŸ$„g†s¸=›~ZýÖl*lø)jc„‚{O-J½›p7úC4œ™œ”ÜÞñ{UåT‰¿ú9e9äŸÿÁúƒutS>¥üäÿSzq:yŠCãÈä#ýuú ˆäEæ‹ãáÇŒéŠä‰Á©ÁŸ\=|uSïÃõØë٥ق߫¹æ*Ñ•TxœüFä /åSÊÑç_öÝýx÷Ÿ“þƶÄoIDvQxàÙ«s®©|Y•Mð¨ËjʇžÓoRHη™O$…d×¹e¹ûƒ÷“‹±¹õsÛí¼òÊóšzÏŠl-± ñØ‹cd¹«…ë>—}T U˜°¡‰O‘H"Ü{ZQÙÂßa€¡Ša£Iaiué>?¼ûðŽ,‘¦I¯±vÁÀÍá~”:ƒºº:bzß”»noÆŒååå?ÎÊÊ¢R©æææ .9rd»v*ú¤pÓ¦MÚÚÚ"o¶í:m` íÚµËÁÁ/)ì$ñoÚ4D[[NÜQ4¢ÓÖЮ]az|IaŠ_Œ*ë*—\[RXQh l`g`Çæ°ƒÓ‚7ð?6ØPTnT`r ½½™†™ MF‚"±ÈoQ̇]]{C{…Ì’ÌÀäÀM÷6«[i[±8¬|HÈO“’i}Êf³íììþ’deey{{s8œ´´4rA£ùóç3™Ì½±-`‹4œúÆbq?ΊýÄfsLMUÆŒé)#Ãÿ¹zý:ÿÅ‹¼òò:†³³ºº,y®‡G¸©©òÌ™¦‰‰ÅfÔÖ²‡Õ¶³ãÿöçÏu·o§ff–ëêö˜4É˜Íæzy½4HsÜ8Æ ߬€Øš"`¼¼ý¾}[ðôi6›Íµ³Ó>>¶¶¶ÄËüü|ww÷  ¯‹0ÉÊÊ=z”X|œÅbíܹÓÕÕ533sãÆäLŽ… žš}F÷=Ëjñ |´Õ?J¢•ŸŸ?þüôôtb÷a__ßuëÖIII?~ß¾}–––§OŸî ó¦¾í»$MUUÕ¸qã233õõõ¥¤¤\\\âââ´´´Øl¶‹‹Kdd$“É;v¬’’RjjêÍ›7.\hff6dÈ¢ðððÛ·o;;;[XXäææúúúž:ujæÌ™ÄRàŸ?vuuýøñc¯^½ÆŒÃb±®su½ññce¯^JcÆ0Y,΃ >h6<ÁÍ [‹ÆKT Ë»y3ÅÙÙÀÂB5;û³¿Ò… ñ&&JÛ¶ Õ×ï±}»í®]aL¦9§Éä_‰TÈŽ°["VNÉ)ËáõÕlnäã_Ú¡+ÀlëÙ*rüËÐd@QFÒŠÒøþr7iï_Öì²l.—Ëû _$ä¹®®Ä èˆìˆ’êÁ— ¡Ís ‰9d# GwÏ[§ÙQ)HU}ïYyåymé”4gÀÞëg¼ß͜ҾÊÄçD^Z^˜°E¥Ñ[Ñ{S#¨7p Þ@(¨(ˆÈŽØóxÏýÄûWæ\‘ H>Úê%JHHX°`Aii)‹õ%±®©©9uêTPPP\\ÜòåË—/_N¥¶éó‰Zª}“ÂK—.effÚÚÚ>|øPNNêëëgÍšuíÚµþùg×®]þþþ‘‘‘³fÍ:þ<ù½ŒŒ:t¨——ו+Wˆ’‚‚‚ëׯ»º~¹ç2vìØyóæÉÍåË—óòòœœœnÞ¼)%%UUU£G.(tU¿Ùf…Œ­Eã%ªž={vÞ¼/¿ô_¾|iggwèСM›6éëëïØ±ÃÃÃÃÐм}Üꎰí.]JÌÌ,·µÕ~øpºœœ$Ô×sfͺsíZÒ?ÿ¼Ýµk˜¿RdäÇY³LÏŸO¥Rˆ³"#?zÉËëõ•+.ÿgÕõë“\]ÿ?Næ¼y÷Òˆäæòåļ¼ ''ƒ›7'IIQ ªª~ôhß‚‚ªFbâ!¸Y!ckÑx‰j……UgÏ:Ï›÷%ç{ùòƒÝåC‡"7m¬¯/¿c‡­‡Ç CC…;l[ýÆ 3Àn©¿nÿk1׎„áE>É+¼¡úC}£}Ù\öŠa+ˆ?Ÿ„ŠÂŸ?ÀОC}ßùþñô~ÚýÈ¼Š˜SHÜA–¢Jñ]Ôé¯Óßïß‘Ð#ýuú™›Ë>|èh6¤y6ó®¼½rùíå/´åµG›4³>Hç¾É}SZ]Ê{3´ušµªœª$U2<3¼†UC$Üuì:Þ‡‚…×ð=Ÿm=»©Ê%þ1þ¼s %=’—‘7Q3&ìÖ2ÂVôÞh;á™á–Z–rRr ÎPw1syšúôFìôât##ÁGEõ£Ôj!!!?ýôS}}=qtôèÑþýûß¾}»]—hFMiߤ0,, vîÜI$. ))¹gÏžk×®=þ€Á`ìÙ³çëÌ.WQQ122’lÇÚÚšÌl€¸#œ—÷åßš/^¼€mÛ¶!ÈÊÊnÞ¼yüøñ‚Ãܬ±µh¼2#€ÁƒOš4ÉÏÏ/>>¾oß¾‚cnQG‚Øvaa¹°sç0"qII‰={ì¯]Kzþ<3€ÁÚ³çåÿ¿‡Àår¥##?òÄ©Af6@ÜÎË« ^¾x‘Û¶ %2B••ܼyÈøñþ‚Ãܬ±µh¼%2#€Áƒµ&M2öóKŠ/êÛW „ dG‚Ø-¹˜¹üògHzȸÓãì ì8\ÎÓÔ§Ä}Ìo>þläÙ+o¯„¤‡Ø2mUdUÊkÊ3J2"²"~ôc_­¾ãÌÆxy"± ñ»cß4©ÙC3¯,/4#ÔÝÚH ™ÊÌøüø_oÿª§¨'A‘˜b9e‚ù„¿ÂþŠÌ‰t:å4Âp„$UòyÆó”O) 2 ¬5h¢jbË´ý7òßêúêõß­oö^ç>NyL“ Ù´uÜfGM,vø(éÑï FuìºàÔàZvm+újøž XPYVù·»¿ÝM¸ÛK­W^yÞƒ÷Ø\ö›Ä•Ú6~³Ú¡¨z?~üuÎë!=‡ôTê)I•L,H|–öŒJ¡—ÕRë\½z•˜;ÈápxË9‡ÃÙµkW£»£оIaII þg^Ž¡¡!…B)..€ÂÂBhv–›žÞ&:0 ¨¯¯çí…ïkÃ[®-mVÈØx5;^‚ÿ†ED qº;<À¶+)©CÃÿÜï04T¤P ¸¸ «àäÉwžÎgÿÆùåÚo/Læv\à{ÙŠf…ŒW³ã%ðÇF”§‹°#Áì–ä¤äŽO=¾øÚâôâtb7U9ÕÝλ—^[Ú¢v¨êi·Óëï®J òö%Ë5}µúM‚æíæ½ê檈ìr_`†4ƒœç·ÀfÁú€õ7ãn/‰éNO?M,>w)êQ®ÎP?2éˆ+³ÌÀ8¶Å IDAT·™–F—¤»õk~¬6 J ¬?˜!Íhc;tIz³£^7bÝ›œ7ä·LOQo︽?øüÐÒ¾}Ï›ªÜ_§¿‘ŠÑñðãÁiÁD‰«…ë²aË„»„ŒPT½í9”X%‡,‘“’Û⸅˜X)ø¨¨~”ZŠËå>|øÈ‘#MU Ñh~~~6lh×0PSÚ7)TRR€´´4Þô%--Ëå*++“–-[¦¦ÆEø5»‰F222ȹtÄË6…ުؚ/!==ïD¢„8]øØší¨½))É@ZZ©¡á×4(-­”Ëee²Â²eVjjü¬°Ÿ=¢‘ŒŒ2r.ñ²m±·&¶fÇKHOç(!N>¶f;ú6YjY.$¶aÐè¡1Êd—Ë]i·’Hæ¼»ÖÒ¨´•v+>2¢DW:1íDjQjdNdqU±²¬2S‰i£kC^¢Sg¨_š})æCLT^Tu}µ¾¢¾-Ó–ÜnŠå M‹—Y/˪˸À%V¤3V5¾¿èþóôçI…Il.ÛPÙp¸áprI‘¦"!ç¤>“Ú{Ó¹Œ’Œ´¢4¾;’†g lÀ÷Þ€ƒ‘ƒ²¬2¤àQ€¡Šá£Å%?*¨(ÐUÐe2ª–U»Òn¥•¶•€®‰BcÕ¯WŒ}ÏXç°nœÙ¸ˆ¬—3@wÙa7û)jK„Íöîbîb®aN£ ú=¹xÈâ¹æ¾ÌzIduZòZà ‡¿4{„ûQ­ÚÚÚµk×>x hF8‹Åºzõêš5kÈ[¨#µoRhkk{æÌ™;wÚÚÚ‰‹ÅÚ²e 6 ½½½Y,Ö¶mÛ$$¾Îìùøñcv¶°3^‡zöìY7nHJJ@MM ï³½­ÓŠØš/!99ùßÿåSxãÆ EEEsó/!dddx/øµº£öfk«sæLìÎa¶¶Ú²²’Àbq¶l €aÃtÀÑQßÛ;†ÅâlÛ6TB‚Bžøñcevög!{:TûìÙXð7&IJJ@M ‹÷ÙÞÖiElÍŽ—œ\òï¿q¼s oÜHQT”67ÿ27\F†Æ{Á¯Õ}³ä¤ä&ZLä-á[Žw×Z*…*`Ý8##rgŽFYjYZjY6z¨·ZïÞjük§Q)Ôá†Ã‰•e¼‚1ÓNÀ‚Õ¢BldâhòŸ¹Å†G$…|…F¼Û“€ÀQäe䉭AtI:o³vÝha£ï¹Mv³Ÿ¢6F(¸w³F¦57D—¤7üvy„øQ©‚3fÄÇÇóÝ2nèóçÏ=jvj훺»»{xx„††š››“ÉÆÇÇ+))»Ö¸¹¹yyy8qâÁƒŽŽŽ%%%ÉÉÉÏž=[³fÍÀ…éeÖ¬YÛ·o°´´3f ›Í¾ÿ~EE+Á¶N+bkv¼55µùóç_½zµOŸ>YYYþþþ,kõêÕ4Ú—o‡±±qTTÔܹs $$$ˆu [ÑQ{sw7õðxškn~†|H6>¾HIIæ§Ÿ¬ÀÍ­·—×ë'Þ=xáèØSCC¶¤¤&9¹äÙ³œ5klÔl¶ ˜5Ëtûöçi––gÇŒa²Ùœû÷Ó+*ê  ßÞÖÄÖìx jj²óçß»z5±OÕ¬¬ÏþþI,gõjíË?-Œ£¢ æÎ 00P ë¶¢#Ô=ä”åøÇø§§ßŽ¿ÝO»Ÿà•hDBK^kãÈî½"$Zùù)sccùï’‘¨TªŒŒ N§Ñh qqq˜ŠEû&…²²²ÄrzÇŽ}yÜL[[ÛÇLJ¸ÕK£Ñ~øá‡Û·o{{{“'êèè 4HÈ^zôèqãÆ‰'¾ÿþýû÷ ©©yàÀ¹sç’Ïa´B+bkv¼[[[SSÓ½{÷Þ»w(™={6ï†%«W¯^°`Á… ˆ—Ä:…­è¨½ÉÊJL%–Ó;v,úÿÃ`øøL nõÒhSøáþíÛ©ÞÞ1ä‰::ŒAƒ„³G©7&Mœxýýûâ÷ï‹@SSîÀ‡¹sÈç0Z¡±5;^‚­­¶©©òÞ½÷î}ù 8{¶ï†%«WÛ,XpïÂ…xâ%±Na+:BÝCnY.±×­UjÓȎظhœé¸è!‡ÃÉÎ~°áÈ‘:)))ƒ!%%Å`0¤¥¥¥¥¥åååÛr‰P»ï}lnnHl¼Ñ»wo'''ÞMTUUoݺ•˜˜RXX¨¦¦fbbbooO¬C£Ñ¶oßnjjúŸ i´íÛ·“7[`ðàÁÉÉÉ·nÝÊÎÎÖÕÕuuu½sçü÷I ÞÀ„lVpljv¼OOO77·àà`‡3lØ0¾Uç͛׿ÿ§OŸ–””p8"#lÑ+ä[o‹^ss•¸¸™±±ŸØlnïÞÊNNLÞMTUé·nMNL, É),¬VS£›˜(ÙÛë«ÀÐhÛ·Ûššþg$QHÞl€Áƒµ’“Þº•’ýYW·‡««ñ;©ðß'-x²YÁ±5ªÙñ<=‡»¹õÎáp¸Ã†éð­z8ožEÿþOŸf•”Ôr8\b½±Bu : :+íVöî1ÒxdO¥žâ§Ëkvî&ê`66SÎÓpvNw,¨r¯ aLŸ>|}}›­ÙÁâãã{öìI^üôé“Ýû÷£…\ä¥cÔÔÔÐétWW×7nˆ;A(ʪU«:$î@¾ˆ/êÙSž¼.øéSµÝå÷ï‹££ç ¹ÈKǨ©aÑé^®®Æ7nLw,ÕÏo~~>1=£)Œ•+5RRðB'ˆƒÁÐÐо~ûÞ>î0žžžŽŽŽL&3//ïîÝ»%%%#GŽìT!jµ€€4OÏGG}&S!/¯âîÝ´’’š‘#õ;UFˆBuiÝ$)´°°¨©©ñññ!KlllÈ9y¨«³°P­©aùø¼'Kll4/\ÀiÈ!„Èt“¤ÐÙÙ9'''(((--J¥Z[[1¢N\mtªj–³³ANÎÒ  ¬´´R*UÂÚZ}ĽÎ÷ím|ªB!Ô%t“¤§L™"î(šA£ÑìhŒPT”ž2ÅDÜQ4ƒF“°£1B!Ô™I4_!„Buw˜"„B!L B!„PwšSˆúF$$^Œº˜]š]Ǫ[ç°N‚"±÷ÉÞïm¾wêíDTøÁçCeÃ-£¶ˆ7ÎoDaEá/7Ó{Ì|›ù⎥qøAHH˜"„º’”O)“ÎNbqXÄË’êš-";bt¯ÑdWÙ¯jêkÄà7§–]‘ÑK­—€:s/Ï5S7Ûä(ÊMü„l?0 ¯eIaQQQNNÎêÕ«Û)Ôyâ7º›‰ŽŽÖÕÕwmåãÇâ°æÛÌw0r¤JöVë Ý/âqYDv„ÈײMüÀ $¼–%…ÉÉÉ999^^^í êF¢E¡P®¸‰;$ZÓ‡ wm™y0ø`Ò§$Xè»ÿ¹JÄ;E¬¡²š2¿w~Q¹Qu ±½ÇŽ4Iªg×Ï»2ÏFÏæ»_|¢}BÒCêØuÖ:ÖóÌcH3ÈØöÓ´§¡é¡Y%YT j/µ^S-§(ð5òó°Ÿ/F] Ï — HŒ25År Tœ{}.± ‘!ŘÞoú0æ0!ck'¾ï|“ “*j+tuí˜v£LF‘WÝ€è¼hŸhŸÜò\-y­ýf¨Ê© èë}áûw²9ìØ±î݉­£·š©›Asco*Ám’ÚéƒP7†s B]CIUIDvñõ«ìW|Gy§ˆñ‰ÊZì·¸¤º„,¹smz¿é{œ÷‡Ë‰ÈŽ`H3~òÿ)(%ˆ¨ð4õéÃ÷ý¾÷“¤J%î—Ü_ç¼&[J òŽð>:ù(‘+,ô]ø<ã9QçaÒÃôâôI}&;4ûSå'¢ðnâÝÓÓO7.LlÚýxwìÇf®â_[^»ÑCI…InÜ*j+È’‹o.ºõsÛí¼»Ù£à÷ÎoÓ½M.‡xéãÿëð_Dò¹ö3ñ]+¯)'¿}å5åÐÜØD" M^íôA¨ä!Ô5ØèÙ\t¿xðÙÁ×9¯ÏÎ8K¦kÑyÑûžîkꬊڊ¥×––Ö”Nê3ÉÁÈAAF!«4ë쫳¾Ñ¾Cõ‡N´˜HT{–öL‘®¸þ»õ&ª&ùù‡ý—àjáJ¶ãjá:Po ®‚n «&!?áläÙvò^@z–öLYVy³ãfCä¤#¡GNEœ J ÒUÐ]ÿÝzEÅ Ô ËQ—…"’B!cã“X˜Hæ:M©®oržÀ•·W*j+Œ&õ™¤(£˜S–šú¹ö³0GóÊó¶=ØÆár¦XNi<’ÍaßK¼wðÙA‘ôVë}Ñý"ßC!fêfÍŽ]@$MµÉ×u»~`ê–0)Du Jt¥Áúƒ•èJ0Po 4Mš(¯eÕ 8ëFÜ¢ª¢µ#Ö.º”,g:nÄß#ücýÉ¿ñ4 ÚåÙ—ÉÛÁ={ι<çMî2)¼è~ñeÖËà´àïÔ±ë¸\®4M:·,÷ãçš=4ÉF®Î¹ª§¨# GT×W=,A‘¸2ç M‚ßÿ1>æc ‹Ã¢IЄŒÏÆï6–×ò_ãÓÔeB"HØï²_‘®H”Ì´šI^f|ôVÜ­:vÝ‚ 6;n&JÆ›ÿíîoþ1þMu×CºÇ`ýÁ E®À;“ï› ‚Ç. ’¦ÚäÓ®„º%L BÝÙÛ¼·ð(éQXf—Ë.p‰/R‹RÉj–Z–dF}4û@IÕ—ˆl.{õ­Õ!é! Ûÿ\û™L -µ,‰Œ`ªn c{%ò‚™†Yô‡èüÏù: :BÆÆÇLƒÿ’X‹Ì²žu=öúb¿Å“úLê£Ù§·Zoiš´¼Œ¼0Gß¾€é}§ó68½ïtIaSš»àHÚOë¾)u˜"„º³ªº*ˆþÝðMŠüZAF÷q«‘œ9w;îvHzHO¥žsúÏé©ÔSVR–B¡œ{}îÁûDºÐh#D.Øh!±lž±ñiãœBeƒÀ%·ân…e„yGxç•çÙØýæð›±ªq³GkX5À—™ñ PHÍŽ]p$í§uß„ºL BÝ™–¼ì³³a2Á{O0"E8:ù(ïĵCω%¶6Î)…¹æÎ0 * –^[úý•ïŸ,}BÜ`pT]NâòãÈ‹£ó1Fp0_®¶ñ3vÁq6lS$DòA¨‹ú¦?âû÷ï_·nÝ“'O„©¿aƽ{÷FEEYYYµsh!ÑÛ{ì¿‘ÿÞŒ»¹Â~}E}¢Íe?JzÄæ°…l„˜Öö&ç ‘²8¬¿ÃþŽÌ‰KlmœSx6ò¬©šéž_V'R¢+1¤ 2J2z«õ|ÔÞÐþbÔEÏ O##¦  zЄ '-—S–Ãár$(BŽ]p$¶)"ùÀ ÔE}ÓI!B¨Û¤7hz¿é¾Ñ¾#ÔSÔS•S-¯)Ï)Ë©eÕ.²d¼Ùxaq0tøëù_Ûn?qZIV)£8£¼¶ÜBÃ".?®ãckãœÂàÔ`@9)9}E})šTZQÚçÚÏJt%"|ô;£ï¬u¬£r£œN:ª²9l"E˯ÈçíbÑyÑÛÇl'²70×0Ï wøÇAGA‡”­£·6;vÁ‘4Ú¦™ºYî[J$„º¨o:)\»víÚµkÅB¨}ýÏé&ª&§^žÊ.ÍÎ.ÍIªä8Óq.æ.B¶ÐO»ßöÑÛ=Ÿxf•fe•f)Ò÷ŽÛû¾ð}“B‘ÄÖR .àp9a™a  DÉ`ýÁ›7Ñ%éÍ¥JPON;¹îîº')O’ “ÀÞÀ~­ÃZ×3®¼]$$FdG ÙÀ:‡uK¯-Í+ÏË+σÿ_SPðØGÒT› »n…Žÿ¦ ÔIPZ4'cúôéð ïhòíÜ>ÆMº©éÓ¦‰àç7??¿¢¢B@…€ÆÊ•))íò¨fRaRIuÉ@½äMÃÒêÒ÷…ï{*õ$'º½Ê~Åfð-\Çår3K3‹«Š•e•uäuÈUë8\ΫìWJt¥^j½ÈÊD¡²¬²‰ª YX]_^œNбª±$U2«4ëCù‡¾Z}é’ôF!c*35daFIFþçü~Úýdh2ÍÆÖ~ªê«2K2¹\®–¼±h‹ðG ¿"?¯,O£‡†¶¼v-«ömÞ[Ä eH,H,«)3×0ï!݃<…Íe§|J)¯)çp9fêfäÓ*‚Ç.8’†m6ìZäÔ íú; À`0444š¯÷ÿ¾é¤°áœÂììì]»vÝ¿???_YYyäȑ۶m355%Ž’IáóçÏ>œ™™©­­ýÃ?lذFëV×\1)즺CRˆêrðw‚¸´4)ìV©L¥§§2¤  €x™ŸŸùòå;wîÙØØÕöîÝ{åÊò”­[·¾ÿþüùóbˆ!„BHDDùÐVW÷Ë/¿ ><22²²²2..nÊ”)Ÿ?^´hoµk×®8p //¯¸¸øÒ¥KÊÊÊ.\xüø±¸ÂF!„j;L ¿¨¬¬¼wºúíÛ·  ++knn~õêU ‹·oß&%%‘5W­ZµfÍ---%%¥Y³fýùçŸàçç'¾ØB!„Ú “Â/222X,–½½½¼ü×Åúi4ÚØ±c %%…,$JHNNN|B!„ºL ÿƒB¡´î”VœˆB!Ôy`Rø“ɤÑh!!!åå_· `³Ù>cã¯û=xð€÷Ä{÷‘QGEŠB!$z˜~!''çì윟Ÿ?iÒ¤7oÞTUU%$$Ìš5+66ÖÊʪW¯¯kyyyñ<õòë2Rñùñ»íŠÊ:4ñQ²ýáöËQ—‰¯³K³÷>Ù÷1ޝ‘ËQ—·=ÜÆår‰—9e9§#N‡e„ùÌõ!gã•Õ”Í8?#¿"Ÿxù,íYdväÕ9W›MïÊkÊg\˜‘]šM¼ Ë›{eî£Å”èJMòý•ïÃ2Â7û`Ñ#A»kþòg=»þ7‡ß·ƒB$¼}ŒêªâòãN½<%C“Ù>zû‹/"‰<0á€"]ñvüíÀä@x÷áÝå¨Ë iÆÞñ{#‰ ÿ9|ǘ’ñ6’]š½óÑNyiù=Î{^¬x¿.þþÂûΦΠ ÿFþKV{•ýJK^ëÚ÷×b~y°èSo§ªúªv€®MʆªÕ–i›²!…øo°þ`âĈì­Zþóüc~ \hË´-­.½w³]ß™„üïï]N»ˆ‹!$ ¼Rˆêªî%Þ€ÃVÌ0—(qµp• H¬¾µúnÂÝQ&£ˆÛ¦ëÖMµœJT˜ÓNYMÙ¡g‡ÈFnÄÞ`qXNämecUc¯‰^‘9‘’-úeAYIÙãÓŽ«Èª€‘Š‘—«×øÓã#s"?U~R•S¤]éÄ´DrÆTbnµÕù”sbA¢€SÎÍ<ת÷ã —³ùþæ1½Ç8ãö›¡À¤!ÔUegÀH㑼…ÄËÌ’Lòÿöö¼† çM “?%Àª[«VÝZEÜAæ—ø‚²š¹†9‘h´¡=‡¦¥f–d N -4-x/×é)ê@EmEK+¼s¯Ïe–dž˜v¢ýº@uK-K ÃÃÃsrrÈÍ‚Q·6`†¸c@"®+îD¯¿‘8\°9솇êØumï]†&Ãû’7ÑlJçúFû–Õ” 92„¯|±ßbøwæ¿Ã˜Ãš!ô jYRhbbB§ÓÇßNÑ NÂËËkÁ‚ÖÖÖ≒···’R“7tELe&M} =•z’ÿI™m=›¬ð,ýo#DjÕlªŸ_TUD^,dqX/2_€¾¢>QB ‹Íjó˜D€HsB¨¥Z–ª¨¨¨¨¨:t¨ùª¨+óòò²¶¶7nœ¸A¢À`t«ÇœM½8väù9i¹±½ÆJR%Ÿ¥=ÛõhŒ3c{=~ü§ÈÐdÙ\ö½Ä{‡ýÍÛÈdËÉÇ^[skÍÚkí ìTåTËjÊ2J2î&ÜÕ`hs «ê«–ø-Ù:jk/µ^yåy‡žJ-JµÑµ!ï+Ò“?%g•fé*è’ â´NçÞ[x¯Ä#ÐãläÙÓNðÝjG!^8§!ÔUYhXü8èÇÓ§·?ؾýÁv²ÜÅÌet¯ÑÐW«ï,ëY—£.¯¿»ž÷è„;äK¦ów§ß·>غñÞF¾ö— YB~=Po`fIæÔsSÉYIÙí£¿v:DÈ„;#}ɺx×)D¡.“B„P¶qäFSuÓ ¯/$}úÿÅ«-§‘#ÀÎ1;{*ö$¯Ö`hÌ´šébþŸ¤Üú¹™ª›zGxGdGW+Ë*3•˜ãÍÆ»Z¸’ud®Ì¹âè‘Áápèøí»ßÌÔ¿.R¸Ùq3‹Ã Ï /«)#—>^BBbÑ¢E/^¼8s挭­íÂ… W¯^ýòåK///[[[aN÷ðð¸pႬ¬ì²eË D¥R_¿~}ìØ1!w8pàÀáǽ½½>lii ŠŠŠ «mÚ´)44TMMmýúõfffû÷Yºt©¿¿j1Ç¿ IDAT?Ymýúõ...Ó¦Mc0·nÝ:uêÔÆ$…7nŒŽŽÖÓÓûí·ß ß¿¿wïÞFyÞ¶m›³³³›››ŽŽŽžžžñcûöíNNN³fÍ’‘‘¹ÿþÉ“'W¯^=zôèÞ½{·¨„BuK¢I ¹\îÁƒ555###•””ˆÂ)S¦())yzz†‡‡™ß_ýõóÏ?§§§ÿý÷ßnnn¿üò‹0§2äðáÃ’’’OŸ>8p Yaýúõ4šPCèׯŸX[[ÛÙÙ5Z‡Åby{{ËÈÈ„††öêÕ‹(œ1c†©©é7òóó544ˆÂ¹sçž:uŠøz„ ÉÉÉÁÁÁÄÕ»†Íž;w®G/^¼ÐÑÑ€qãÆ¹¸¸¹)WWW__ß–Æ# 2œ¾4ÎÚÚ–,Y2hÐ rB>ûöí“øã?455 ¤¥¥E< ³oß>!ŸhiÔï¿ÿ›6mÒÒÒ"šýã?ˆMˆ›éMi6aNÐÕÕ}ú¼|ùrܸq•••ÑÑÑ/_¾ÌÏÏ711Ù»w¯””T\\Ü’%KLMMɇv555¯^½ZRRâææV__/øt°¶¶ 6lXMMM\\Ü»wïddd¶lÙB$Uššš§OŸVPPÈËË‹ˆˆ Ñhþþþ}úôáÐÞÞ~þüùõõõ¯^½ ntEGGÇÛ·o¿zõ*??_[[ûüùósçÎmË›3a„ÿýWYY¹  àÕ«WçÂ… Ä­[âúeSšG˜þüóOWW×÷ïß¿{÷®®®ÎÑÑñÞ½{Ä{‹PWÁ沇¾“pR‹RÏ¿>8ôp=»þÌ«3—¢.‘ÕêÙõ‡C=\UÿuB³O´ÏÉ—';80âhìÇØó¯Ïÿóâÿÿ¢*þ'ÒŠ«Šï¿¿"ü„÷+ïÐôP6—Npe]å­¸[Ç^»{£²®²†€B!×ù#Kñ‘k¦4ª¬¬,%%…Ãá0™L555¢0)))//¯W¯^|3ó¢££KJJúõëG>uÑèé¼òóóÓÓÓŒùæÖÔÔÄÄÄÐh4 ))©„„„üü|;;;Þ‹|©©©µµµŠŠŠVVVÙÙÙ©©©VVV|Ïa¤¤¤äçç+++›ššòÎóKKKËÊʲ±±áMæˆÂ’Î4ª®®Ž¸±knnÎáp étzzzº€–›G˜oذaïÞ½QQQVVV¹¹¹YYY:::úúúB¥P(‡7nœ€:¨ËY±bƒÁüó+Œüü|r¿œF0V®ÔHIirªF«Õ²j-ö[Œ2Õ[­÷_a…Ñk¢×ÞYû4õéëU¯e%eàE拹—çÀ‰i'F€:v]ÿCýë>ívºÑ–¯Ç^Ï.ÍÜûÜs•è<& °êúêÕ·V¿È|AÖ¤KÒ·Þ>­ï4âåï¿_Žº\Ç®#+0•˜'§Ÿ4P6 ^Æ|ˆY|mqaE!ñR¡æáä±ÄoÉœþsvŒÙ!8`„:‰öû€c0-Z½Nô{+(( 0€¯°W¯^¼ëªÞèlôt^MPFF†wÍ333333¾:êê꼫 6µ÷±±±±±±qÃrCCCCCCa ù:tháÂ…Äâ5åååË—/ÏÏÏ_²d‰4A˜tttðáÔÕEåF&ÚØ›i˜ÉÐd$©’vL»GIÂ3É04=TVR–.II!J^e¿ªaÕØ4¾F)\½–&¸ßñfã›J  L‚"±ÈoQ̇]]{C{…Ì’ÌÀäÀM÷6«[i[@Hzˆ:CÝZÇZGA§–U›PžþÛÝß|çú@e]å’kK + ” ì ìØvpZðÆ€­xÓB¨Y¢O Q£¶nݺaÃâêfrrrUUƒÁX¿~½¸ãB¨ë)ª*:0ါ…+YBd{¡é¡D ’2¤çÒ=BÓ¿lI|! )œÜg²®à~•eùׇؽÄ{1b&˜OØï²Ÿ*ñeöṗ˜iç¦yuæO×?`瘆*†á™áÊ?HQ¥é úTù)*7ª¤ºD‰®t'áNAE½ý‰i'$©’P]_=÷òÜâªbÁ‘ „P+`RØAÖ®]ëååO¼ìÛ·ï‰'ˆMVB-b lÀ›@O¥žzŠz¡¡PR]’P0­ï4†ãfÜͼòÝŒB¢…I!B¨;—‘ï£ÑçqÊãzv½½¡=Qho`æÕ™€ÄSuS5F#K\‘D2§Ïxóñg#Ï^y{%$=Ä–i«"«R^SžQ’‘ñã ûjõµÖ¶€%~Kœz;)É*%JN V–UþTù‰hÁÅÌåÏ?CÒCÆgg`Çárž¦>­®Ç-ËBí“B„ˆ+ir¹Ð`IÍöeohý!š*AÚs(Q2HUªŽ]7Œ9¬CC*…zÚíôú»ëƒR‚|£¿.©ÁÐè«ÕÆö;Á|ÂíøÛ¾ï¾Þoz©Þ¯¼‰—rRrǧ_|mqzqzzq:¨Ê©îvÞ½ôÚÒ B­×ñ¿ Pë`Rˆ1YYÔÔHÐéѶL£ÒVÚ­4Ti|ެ«…«EB‰®DLŚ̶ÑÛ * œz;‰6!S¢+˜v"µ(52'²¸ªXYV™©Ä´Ñµ!W¨94ñ»µ{ìÇX …2@g€¥–ehz(CšANC´Ô² \ø8ùq^yžFQ&£¸\îJ»•DZ‰P—PY)!''âߨ=`Rˆ1uu6äåQŒDüg€J¡®´[ÙÔQeƒ†GgZÍm ˜‘Š‘‘ŠQSGê ¨÷uñy;;¾gbä¤ä&ZLä-ÐBÐÇT55þýQ'Ôâ¤0<<œØìuoÞÞÞ⎉ÒÛ·oíì=+*FFu47.NÚȨ¾ºCurññÒ½{×5_‰[˒¡C‡¶S¨SÑÕÕURRjtfÔuÙÙÙṵ”·ÿšgÏd'N´E2Bè[PWGyñ‚þÛo¸ Oв¤pÍš5íB¨;3¦òÐ!eœH„ ”«©‘pt¬w ¨yÍWA¡š<ù3‡C¹tI^Ü „ĉ˅ӧ*55ù÷rD&…!ÑSPà,ZTzô¨RAA#» „¾þþ=bc¥W­Â{Ç]&…¡v±hQ‰‚çàAþÞBßˆŠ ‰TfÎ,33çLºL Bí‚NçnÞüéÚµþþ=Ä B¨£q8°f:‡«W—ˆ;$,L BíeìØÊ%KJ6mR §‹;„P‡òôTyþ\öŸ>**â …]&…¡v´fMñ¨QU+Vh¾z%#îXB˅ǕϜQôô,°¶®w8¨0)Dµ# Ø¿?Èêï¿×ÆûÈu{µµ”5k4þþ[ÑãpÂ\©´‹Á¤!Ô¾dd¸GŽ|üñÇÒõëÕ7lPÿô ŸGF¨{ŠŒ”™6MçÙ3Yoï3f”‹;Ôb˜"„Ú…k×ÿõ×ǰ0ú¨Qú'O*VVâ/„ºŒ É5k4fÍÒQQaûûçØÚV‹;"Ô.—+îB]I~~~EE+ï UWSNžT:yRQB‚;jTåðáU}úÔij²pㄺÊʨ’oßÊÊFDÐõõë7m*ÂK:ƒ¡¡¡!|}L B-Ó–¤PV&qýzGä"#eØlЍCO>@ À(q‡Ú‘¢"ÇήjâÄÏ#FTQqnH'ƒI!B¨}µ=)$ÕÕQRR¤>}¢âÝänéÍ›[gÎ,>r䣸A¢G¡påå9zz,]Ýz þË®³jiRHk¿PBH0))®¹y­¸£@í…Ë­9sœñT„ºü×9B!„¤!„BaRˆB!„“B„B!˜"„B!À¤!„B&…!„B0)D!„B€I!B!„ÜÑ!ÔR-Ú7 }³ˆÏ‰‘‘‘¸A ¯"„B!L B!„&…!„B0)D!„B€I!B!„L B!„`RˆB!„“B„B!˜"„B!À¤!„B&…!„B0)D!„B€I!B!„L B!„`RˆB!„“B„B!˜"„B!À¤!„B&…!„B0)D!„B€I!B!„L B!„ÐÄB¡n¢¤¤$00|)''çëëK–ÈÉÉ7N¡!„šGár¹âŽ!„PwPSS£®®þùóç¦*Ì™3çüùóBHxxû!„hÈÈÈL:UJJª© îîîB¨EðJ!B¨ejjjX,–¸£@TPP««k£‡ÒÓÓ%%%;8$„¾Y4MFF¦õÛ/„P·TVVVQQ!î(P'ejjª¨¨XZZÊW.))éââR\\,–¨ú61Œ%…xû!„ÈP©Ô‰'6¼X__?a±„„&…!„Di„ õõõ|…ªªªýû÷K<!!aRˆBH”¬­­µµµyK$%%§N*!qêÔðG!„ˆ¹ººòÞA®¯¯wqqc<!a`RˆBHÄ&MšÄ{Y__ßÌÌLŒñ „„I!B!322244$¾¦ÑhS§No<!a`RˆBHô¦L™B£Ñ€Åb?^Üá „š‡I!B!Ñsqq!9777g2™â!Ô•ýðF§sÆŽ­œ7¯ÌÒ²VÜq¡6¡p¹˜Ý#„Z ??¿Õ{¿|IßµK55UrôèÊÉ“+†­¢ÓñWPw–ššjdd$î(P;úø‘öø±¬||¼ôĉŸ×¯/VWg‰;(ôƒÁÐÐhÁuzL B-Óº¤°ªJbófµÛ·#GVmÚô‰Éäß !Ô¥=|(·gJQuÆ"w÷rq‡ƒZžâíc„P»ûð¶x±fAíÔ©Uâ!$zcÆTŽQõÏ?JÛ·«ý{÷×ÄýÿüB€@Ø#ì Š,QÜî‰ ÷ªÚW+®j«~m­]jÝ¢­Š{€{/D–ˆ("„½²#;Éï󗦌bèëùG¹Ï}îsïK_½|î.%EáûïßÐé]¼'„BèXÉÉ jhð/\È66Æ÷J]–¢¢ð믋»w¯]½Z/3“qà@>ƒo#e nI¨¨ˆîím`jZwþ|!ÀÁ˜1¼“'s¢¢”~øA·³k÷ƒP¥¦†¶t©>!ÂýûóY,\_ ð_áì\³g÷òe–¯¯Fg×ï¡:Êž=ZŽÂáÃyZZüή>¨Áƒ+ׯ/Ú±CûåKÅή¤…P"3“qäˆú·ß[YáBc€ÿ¢ Ê\]«6oÖÁmNdB!tˆ-[´ÍÍëfÏÆ)þ»6l(ŠUºzUµ³ © @ûKNV TY³¦ˆNÇ)‚®¯¤¤Äúÿ=yò¤³Ëi–¬ÔÙ•ØÙÕLž\qð fÊ„Bhþþªffu¸%!ÀݼyeII 11˜Y(  ý=|¨2fÌ[­³ë€ÎæèXcl\¨ÒÙ…@Ëpójhg¥¥ô´4F¿~U]ÈHIIɉ'¨×sçÎUUU LKK³··4hо}ûD=åååÕÔÔºuëÖ«W/ºØ'Œ ¡¡ñèÑ£””==½þýûëëë‹ï®¼¼<000??ߨØxøðáíR§»»;ÕÎápž?^TT¤  `mmÝ¿Ñ|>_šÃicоú÷¯zñB©³«€–!@;KIaBlmk;»ÿâââÝ»wS¯~ùå—´´4BÈÂ… ûõë'Z%ÎØØxçÎ={öl<‚««ë¶mÛbcc©E&“¹cÇŽ‘#GR‹ááá>>>¥¥¥¢q¶oßÞö:ÝÝݳ³³¿ûˆñMôôô¶lÙ2lØ0j±¾¾^šÃicоlmkCB˜]´ ¡ÚYi)‚{v–ï¿ÿ^CCcÑ¢Eªªª={ö”——÷ññ¡V …Âòòò°°°”””ììlooï   •†ßë­^½ÚÔÔtáÂ…7oÞ,((¨ªªÚ°aƒ»»»¢¢bNNβeËÞ¾}K1229rdvvöŠ+Ú^gQQѬY³òóó !C‡år¹·nÝ*((X¶lÙÑ£GH‘òpÚ±Nh;--~I „,  ÕÖÒ! ¸î¸sØØØ9rD^þŸ?ï¢E©««>|xnnnIIÉýû÷'MšÔ`___æéé9mÚ4BÈ›7oÒÒÒºwïîççG%-•K—.iiiB¶lÙâçç'>•+W222Ä[>ýôS‹%¡ÎŸþ™J„–––W®\a2™TŸ;wòùü­[·^¿~B§Ó¥9)ë„CAAHýY€B!@—²`ÁñDH …ñññ EEEµµµT µ*99¹ñ³fÍ¢Ñh„sssQc~~~÷îÝ###©E*iB¼¼¼„­Ë—/‡„„ˆ·Ì˜1£A(lPgpp0õBMMí¯¿þ¢^çääP/ ôôô¤<)ëq…]Š¡¡¡øbffæ_|‘ÐdgêtZ¢ËJ †¨Q BÊÊʨEÑ*mmí¶×YRRB½xñâÅ‹/÷çr¹zzzRN;Ö ðßPÐ¥4¸wãÆT„RVV?~<›Í–““;þ<õ]­°©‰F 5º«ººzvv6!äÍ›7¢Æ¢¢¢Ý&Ožìââ"ÞÒà4aã:555‹‹‹ !®®®ÔôÁtuu¥?)ëq…]YRRõÂÛÛ›ºÒ¢¨¨èèÑ£­­oß¾ñññ„àààââbê›Ù‹/6èÖxžb‹ÜÝÝ9!¤´´ôóÏ?WVV­*((HJJ¢Î_Jy8RÖ â º2[[Û‚‚BȱcÇÊÊÊÁ½{÷L:”Þ‚ Î;WYYÉãñ¦L™2jÔ¨¬¬,ÑÍkÚbÉ’%7nÜ(((HII9räðáÃUUUóóóÓÓÓcccÝÜÜÜÜܤ?œŽ«  ÃMº²M›6BJKKýüüNŸ>ýÕW_YZZ¶n4ccãýû÷«««BrrrŽ=š˜˜Øäß—ŽŽÎ¹sç @ár¹§OŸ>xðà•+WbbbôõõE·¶–òp:®N€. g dž–––èF- .§°°°xðàA```ff&‹Åòðð022 …ƒ "„899IÁ`ˆ-,,¨nnn\.×ÈÈhĈDì®7FFF­«“bbbrâĉ´´´èèè‚‚6›maaÑ£G÷=œ6Ö ðßDkr–1@s¸\.Ç“ÐáæM–;%…óÁJ€þ&t‹Åf³¥ï¯¡ € A(‚P¡B!„B …@ € €lùôÓð-[b;»Š&|´…5РNñź:Áœ9!;v¼jß]€¬ïìÞÃÓ§oª«ù]E>ÚÂhP§ø¢@ ŒŒ|£¦Æhß]€¬@(YräÈ@«­©¥#|´…IÖeËè[… KúôÑéìšöÑ&YG”-£o €,ùôÓpKKÖ?8‰Z22Þúûg$%•óùKK–——™ºø&eeµ™ÑÑÅ<^›Í=Ú`Ø0jU]`Á‚0WWí¯¾²;>=$¤ ¶Và⢵`‹õ¯?11%çϧçäT(ÏœindÄüê«§£F.\hÕ¸0釕PÛ‡Ñøý$„ÔÖ NŸN‹ˆ(HïÞZóç[)+ÓEkù|aP74”›™ù–N§ÙÚªMjfaÁ’0f‹Ÿ|  @–4˜¯vëVηßFÕÕ ¨ÅG¸ÇŽ¥nØà4¾%Õ]¼xñã’’ZÑ&.dLŸnþË/.äÿgѱXòË–= Ì£:åß½›àÁ`¼»Ïß?}ýúh¡ðÝ/f¬ZeùÆÖV­É¤VrmMÚº5îåËRÉoѶm½ •%÷i²ìÿ/ž,ZöäÉj100ïâÅ̳gÝ55¨–9sBž=+õ Ì?r$eïÞ¾¢8û¾Ÿ|$ @Vq¹Õ«W?««Œc4fŒ!ƒ!÷èQ¾¿ÆO?Åöî­Ý£‡:W¿tiDiiíäÉ&C†è««+df¾õóKñ÷O0@gâDjœà`®††ÂÚµ66ª\nõþý¯ããKoÞÌ™4É„’›[¹iSŒPH¼¼L‡ Óçó…wïæmßßby’‡•²¶Ë"#ßHÞoUU›.òÎg±kÖØÛØ¨ååUýõW‡S±eKìöí®T¯nÒ$“>}tŒ•««ù e~~œÍ›c›<ÇÙâgÔ–R }!€¬º|9³ºš/~jmôhCå]»ÎKß¼ÙùòåÌ¢¢šU«ì—.µm5nœ‘‡Çí‹3EÁK^^îÌwÑ ff*óæ…>^L¥·«W³kkŸ~j½~½#ÕaüxãuëäýýÓ%—'yX)kk`Ý:Çòò:Éû54dJî ™PHŽwŵ±cF޼wãFöO?¹P_"Ÿ:5ðL¯å IDATøÉ“7åß¹“S[+ ‰¢¢\NNe~~•¾~Ã]·øµ¥Th_… «Ë!³f™‰7Ξm±kWBBB)!äÅ‹bBȽ{¹ááÔ—¿B! …„§B´‰££¦ø”8MBHII µøúu!dÚ´íÅËˤÅP(yX)kkàLų³S?§©©0b„A@@FJJ¹““&Ÿ/üæ›§!!7¬¨¨k [üŒàãP²ª¦F@ÑÐPoTWgÐhïVUVò !11%·UPà‹o"¾ŠÁ Bï¦Àjz\ƒ»÷©«+´Xžäa¥¬­vŸSØXãûRB½¥×®e‡„˜™©Ì›gif¦¢¬,O£ÑŽçܹ“+šs)®ÅÏ>… «ôô”!±±%ff*¢Æ¸¸R¡°ÙLBˆ“²y³³µµZƒmååiïµ—W¯ÊÄOƒÅÇ·õ,Wëjûs “’Êëꢫa!qq¥„6[‰SLÙ»·Ÿø9Ë?ÿlö!(-~Fðñ@(YåîÎ>y2õ?âmmÕºuS#„ääTnÚô‚âî®G=ÚðØ1Ε+YÛ¶¹šš¾ %|¾ðÞ½\>¿©óZMqscŸ:•öÛo/­­U©ARR*þü3¡Å·®¶0§ðÍ›šŸ~Šýá'9¡øùq"#ߘšªPEjh(Bž?/¢Ba}½pÿþĨ¨¢æFkñ3€B!Ȫ¡Cõû÷׈(œ81ÐÜœÅ`Èq8uu5j `ß¾:Ó§›ûû§v×ÄDYGG©¼¼.;»²¦†¿d‰íøñÆÒìeØ0}gg͘˜’Q£îYY©òù´4^·nj¹¹„N—ötcc­«íÌ)´²R ȸ~=ÛÜœ•—WUXXMYµÊžZ;d{ß¾×›6Å>œ¢©©˜žÎ+/¯µ·×hîÔi‹Ÿ|<äZîðQ¢ÑÈÁƒý©lÁáT$&–ñùÂQ£ OžtSRzw³åŸî¹~½£žžRVVett1‡S!Ç3òô”*BètÚ_ pwg×× _¿.OI©<˜M…$•6ýuÛkë¬Ý»ûÒé´ØØ’ÂÂjUUÆÖ­½Æ3¢Ö:;kmÚäÄdÒ33߯ÄÓhä·ßz÷ïßì#L¤ùŒà#A697 \.—ÇãIèpó&ËLJ’Â鈽?}ú†Åb48aööm}jj…@@ÌÌT¨ï7 IF¯¸¸VKKÁÈHY4aN >}Z¤©© ~jªQKKÁÆæ_³ýòó«òòªØl%CCå#GR¶nûý÷Þ^^¦ {¯a›«­ƒ4x›+»®Nœ\!mmÕ–TUUŸ–ö–F#ÖÖª †\fæÛ¼¼*''M&“Þx”?#èÂ:ôoHÀb±Øl¶ôý àýtn(ì!!ªªŒž=5©ÅððÂ/¿|ÂãÕ‡„Œ¡.¿ ºÞßYñ¾¡s ZðúuÙ¯¿¾ÔÖV46Vár«òó«!óæY"@W‚PÐwwö½{yÏžÕBésçZ¬]ëÐÙu´'„B€ØÚª;ç^ZZ›•õ–N—³´dá" èz ¤¢¡¡€+$  Ã-i¡ € A(‚P¡B!Èšúë_­—^XÚÙ…H`ý«µõ¯Ö)¢F™¨þã ÚMqeñ¯e2˜]À{C(h7[lÑRÖšâ0¥³ xo…í#4-ôÚ«k?ùYާá€ìÁ³@öd—eÿüà爌¾€ïjâºÚcµÛN´öaÊãQG“ “x5<#u£Áƒ½û{³Yì-©º¾ú‡Û?Ìî9»IŸ;¯ï´Ø¿¬ºìËK_FfFþ8æÇ™Î3;´6i €Œ)«.›yb&—Ç¥ƒSƒ£²¢ÎÍ;Gå‡)½¼E9EN'¿"ï”½Í øÉÙOÂÓÃ%ïôŽ÷+m+ v…ìªã×­²FšCÈ(Éðð~óöÍÑ™Gš”f€Ž†P2æiÖÓž†=÷{í·ÕµÍ-Ïý3øÏÛ¯oo¾·ùì¼³„ûÉ÷ !ߺ;ÝiºS#»,;,=,£$£CKJà&‰<²ê~–"«ÅΑY‘Ë/.WST ˜`©mÙ¡…H¡dŒ2Cùà´ƒÚÊÚ„+m«“vŽ?<>*;êÍÛ7:*:úªú„Iö“tYº„ - - ÉŸu¼-õ„‚ïo?ªÛ¨áÖÃ[ì|!î·èiØó€× ¦F[ö о @Æô`÷ !E^N~€ÙN'£$CGEgQŸE‘Y‘ãŒ÷°ôpÐwpÐwp5veÐWÏñgÇ3J2M;Ôbψ̈ûÉ÷ûšô=6ëX‡–Ð …ÐEÐh4BK‘ubö‰¤Â¤'™O bŠ+‹ÿ7êãíÆ7·açúÇø—U—õßÓ¿Aûâ€Å„c³Ž 2DµtÓíVUWõ,ûÙÍÄ›“ì'IhB!ȘWÜWE•E¢“…õ‚úÇ !¦¦¢>¶º¶¶º¶Ôë/.}±êú*7 7u%õލG HÙS“©yxúaïïU×W•V•.p]Ðõ´B!ȘʺÊ%K6ŒØ ºÐ„SÄq5vÕQÑ!„¬»¹N_M¸õp3M3ñºðuò›ä:~·‚Û\(lãœÂ[Ÿßjвåþ¿(¿CÓ ³Ö`K‘å7ÓoÅå?Ýÿ©¬ºÌÇͧ-»hG… cú˜ôÉ(ɘz|ª¨E™¡¼iä&êu~E¾¬ÿžÐ=â›ô`÷°Ö±þ U6OQ^ñÀÔko¬Ýº»¤ªdãˆÔß ¡dŒº’úÙyg·Üß™)z÷^3tÞ»›Wÿ6þ·€Ø€ûÉ÷ÓŠÓ„Dh¨f8¦Û˜E}ÉÑ>¢8Ñiô?Æÿ¡®¤~,êXyuùïž¿ÓiôÎ. þëhB¡°³kYÂåry<ž„7o²||Ø))œV|Ìð7¡³°X,6û=æôý¯3t„B@(„B …@ € A(‚P¡B!Bä;»€6)¯.÷‹òs2pb5„j9ðø€KoªãÔN­«=¥§=J}T^]ÞÛ¸÷ óA]tM… ÛÊkÊw‡îž×kž(îßï¨ïØ¡¡pOèc ã)S:n”ó1çÿŽü;µ(•Z\Ò B!t|} ]Íò˧:uìi½á{/½¼Ô¡» „¥‡¥¥škš# @GÙBèj– XÖÙ%´›™Î3¿rûÊRÛòöëÛaéa]@«åìÞ½{ôèÑݺuëìJ Y… cÞÖ¾}ü ·§°ž_¿;t÷›É…ÉûÂ÷Q>ëûYYuÙ7W¿yœñX´“ÁÜ4rÓ4§iÔb!¯påõ•áéá¢* *¿ÿMGE‡Ê‚ÙeÙ¢PØÏ´_“¡ðÒËKY¥Y’h~ïùšLM©ßå–œœ|ëÖ­«W¯8pÀÂÂbÚ´i3gÎÔÐÐèìÚà„Bokß.¹°¤Wh¡eáfáÆð¥>Zws]‹FçDßO¾?Øb°ÛNI^IŽ&çà—g¬n<Ør°º’zFIÆýäûëo­·Ö±îiس^Pÿ©ÿ§ Ü•aÖÃ Ô rÊrÂÒÃ^q_Íê9ËÇÍgOØ#5#/G/j|#u£&÷{éå%ñXÙ¤ñvã á?ÂÆÆÆÆÆfÅŠ±±±çÏŸß»wï¾}û&Ož=ºkÒ® 7¸ 6:6'çœ}§ü¶ömfi¦¡š¡›Ï¾ð}¦š¦>n>’÷;ÅaŠ«±«ä>ZÊZ-8@WB£Ñœ×­[wýúõãÇŸ>}zРAß}÷]gW÷Ÿ†P2ãyösBÈ ·T"$„0Ì/~áà-yC - Q"$„PWl(3”}#|…B!!D( ‰PMI-./Ž‘AY;t­ø,C;½÷ûëܳ@v±X¬Y³fÍœ93((hÇŽ“'Ož4iÒW_}edÔô©wèh… 3ʪË! fï™h˜´¸¡¹–¹ø"ufñ\̹æú—V—B,µ-[Uæ?0§ E4mèС7nÜØ¹sçÈ‘#}||¼½½étzg—öŸƒP2C]I’]–­ÇÒ5¶˜º!tÚ¿þuQgªBæºÌÕVix¹±’¼!DCIƒ’Z”jªaÚ–‚1§@Jrrr&L;v¬ŸŸßŸþùðáÃmÛ¶™˜´ü¿|ÐŽ @fô2îu!îžÐ=âs E×Ko€éÿ¾ÿå /åhÿÜÿW˜W‘G`6À?Öÿ ?œ E‰šSH}ƒ¬@W(­*mqG˜Sð^äåå?ÿüsww÷•+Wzzzþøã“&Mjy3h'… 3<í8âÏzèblmm/^¼¸mÛ¶U«Veddøø´pE´„B* *§\|aqZqZZq!DGEgëØ­K/,}¯qè4úá‡×ÞX˜èã/jg³ØNN„y9ù#3Ž|}åëȬȫñW©µ,EVö»Ûí.r]´öæÚ+ñW¨ÅæîSØvñùñ¢»!Bže?{–ýŒ"þ¬g€®‡Á`¬[·ÎÊÊjÆ µµµ«V­êìŠþ @–88Þ_|Ÿz¢ [•=Âf„P(ôqó¡ÂeùÀå¢I‡òty7ŸÆ—Œh25M;Ä)âDeGWk)k™kš»»ŠîP£ÇÒ;=÷t\^\tntU]•©†é@óÔ¤FBˆ—£—½¾ý“Ì'eUeB"lî>…mg¯oßäoÄ «š1c†‚‚š5k´µµ-Z$åVÐÓÓ›:µc€.YZZÚ£GÊËË{÷î=hPÓ.ÏÈÈ ­¨¨077÷ðð`2™¸ÈÆhÔí¤Äåry<ž„7o²||Ø))œV|ÌÚø7áàÁƒ;vì8yòdŸ>}¤éïèèèèèxúôéÖí®ÎŸ?ÿ÷ß§¦¦R‹K–,Y½zuãnþùçµh``pðàÁvô‹Åb³ÙÒ÷—k¹ @'Y¼x±‡‡Çºuëjjj¤é¿|ùòN{öì¡þ»cÇŽÕ«W_¾|yðàÁ\.÷ìÙ³°Ò&`N!|ÔôõõçÎ{äÈ‘… 2 BHTTTRRÇ366îÓ§®®®¨³øœÂ«W¯¦§§7pèÐ¡ŽŽŽ¢Å—/_FGGóx<6›íáá¡­Ýð¦Ò8p ä¯_¿ÎÎÎvpp5jÕB§Ó¿þúë{÷î‰O|ûöíƒrssõõõGŽÉçóýüüœœœ† Òêò$C(€Ýüùóÿúë¯^½z}úé§±±±¢UŠŠŠ«V­Å©ýû÷;::R¡ðÚµk>l<šžž ß¼yóÍ7ß<~üX´ŠÉdnÚ´iÚ´iÔâ¥K—²²Zz.ÑüùššÒÞ‚>11‘Ò¯_?ñFGGG&“ùúõkQK\\ÜâÅ‹ EoÙ²e÷îÝóæÍC(€ÿ.ggç‡ÆÆÆÆÆÆ²ÙìaÆ©««çääDFF>{ö¬ÉË“'L˜ ~F`ddDÝ›Ïç{{{ÇÅÅ?88xݺuRî¢Õ @¸¸¸DEEQ!ïâÅ‹¢ëjkkkããã›Üdâĉâ‹{÷îÕÓÓûûï¿©û¿Ü½{7..n„ Û¶m=j9..nÚ´iGݵk!dÊ”)®®-=—Hë=žKD].£¨¨Ø ]AAR]]­  píÚµ‚‚ww÷ƒR_—WUU-X° ¨¨HúµB!ÈssóË—/¯\¹òôéÓGŽ™1c†¥¥%FSPPpqqiqó¿ÿþûþýû'NœPQQ¡ZÂÂÂ!ÊÊʾ¾¾Ôú„B¡P(TSS‹‹‹£úL™ÒÖç5@ÅÁÆWR×ÖÖB”””!ÑÑÑ„+VP‰Âd2—/_þù矷o1 € `±XnnngΜ9vìØÌ™3kjjFŽ9{ölÉ7>qâÄåË—Ož<©ªª*j,..&„œ;wN†í>§POO’››+Þ(rssÕÔÔ¨ó…eee„#£Ýߨ¸C›$¡dÇ£"]Ÿ>}¨YDFFþòË/·oß>{ö¬œ\Ó7Ú;wîÜ©S§NŸ>­¡¡!Þ®®®N™;wnãË©3v¤ævïÞòäÉñƸ¸¸ªª*ÑôGª°œœ*AR²³³¥ÜE«!€ (**ÒÖÖŽˆˆptt¤¾ÖÓÓóôô º|ùrZZš••Uã­.]ºtøðá“'O6žù7`À>Ÿÿå—_Šʼ¼<êu»Ï)ìÖ­›±±ñË—/ïÞ½KÝ•†Ïçïܹ“2räHª‹‹ uƒk___yyyBHMM¯¯¯ô{i„BÑÑÑ=zô8xðà³gÏú÷ïoffÆ`0ƒƒƒétzƒ³€”7n|÷Ýw^^^ î Mݧpüøñ~~~gÏž 8p ¶¶vyyyzzzddägŸ}æääDÞNa||üƒ!ÉÉÉ„¨¨¨Ý»wBÄï/¸bÅŠµk×®X±ÂÓÓS__?$$äÕ«Wl6{Ö¬YT‡ &ìÚµ+((hܸq¢«+++ !4í=ß¶÷€P²­WøÕ•¯FuµÐu!ÕòéùO-µ,ñC§Ö%ªë«½ý½Çv;ÇeNg×òqéôŸ"Nçij™¥™ÕuÕ«‡¬v1jùBŠ6jü«ôQ©®®ŽŠŠÚ¸qcIIÉ‹/E«TTT~øá‡&ï8½qãF>Ÿïïïß ]GGÇÑÑ‘N§>|xíÚµâ}Øl6•[!>>žJ”gÏž={öŒ"~Á©S§¦§§ûúú^¹r…j¡ž},š©¢¢âëë»xñâÔÔTê1ʺººëׯ_¹r¥²²rë “B!ȶ~MdV¤­®­¨åiÖÓêºêÝéü3óíôìÖ_ß¡{ùÂÓÃg<^ÜqgÒ²üž·â§¨+Ì(ɘpdB-¿–Z,©*iû˜-jü«ôQ¹té’@ 6l˜¶¶öüùóŸ:ûS”]šMùÆý•N,ãã±ÿþ‚‚‚%K–tv!NPP¯¯ïÀ¹\nPPPYYÙ€¨‹—;B!Ș˜Ü˜ó1çsÊs Ô f:ÏÔQÑiÐA|6X¿nÁÙ®&®>n>ç^œ{œñ¸¤ªäðŒÃJòJeÕe±Ñ9ѼZ›ÅÝmô0ëaâã”U—]zyéyöóŠš SMÓ‘6#Ý,Ü^¾Þ|w3_À™ÿrΩwóð6ŒÜ`§gGÉ(ÉðõO*Lâ ø–Ú–^^vl;ªO“•웲ïë«_›i˜m½Y|×UuUK/,µÖ±Þ0bC½„—ù/ xÔQ‹Ê[1hÅ©èSr4¹6#¼½!¼‚ãÏŽ'$²XÓ§2$>Ž„£æò¸ß\ù¦Á45ªql÷±ó{ÏßõWn_9’R˯u1rYÐ{u®Nò{Þ€h´/}y:útDF„@(èmÜ{~ïùÊŒMÆ’P6i槨]*”¼÷¨ì¨v$½I"„|îÿ9Ð Õ ·ynkr^5¯†g¬aìfî6Âf„èl¥äµDŠ_¥DttôÖ¯_ÿnÔ÷ñ°±±©©©¹yó¦¨ÅÑÑqûöíºS„B%±ëo­Ô⟋+ÝW6è#>L DfE²Y‹Î-zœñî™÷õüúhnôâ€ÅâSµ.Ä]˜î<ý—±¿P‹Ï²Ÿ-»¸¬¸²øÝê4rêù©ï†~×Ó¨gdV$!¤¼ºœzA½&„ÜJ¼õíµoëøuTã£ÔGÇ¢Žm±Š>MV"/'¯ÉÔ<ýâô¢¾‹Ì5ÍEÅ\}u5,=lB ͽ[l}™ÿRò{µmÂ6C5C ¤<£É ±"^ÞçþŸ‡¥‡Qî&ÝM+N›ì0yîé¹oÞ¾¡o$Þ8<ý°»¥;µ(ù¨«ëªOS£{°{P‹¢]/»¸,0åÝÕAœ »¯ï|À 3*j*š{ÏŸŸd¾»\`JàŸ‹gçÕdjJS6i槨]*”¼÷’ÊÑO³žB,+-›$©0iÆÉ¼ž¨åÔóS3œgl»µÅµDº_¥AjjêâÅ‹ÝÝÝçÍ›×Ùµ|Paaa?ÎÊÊ¢Óé=zôèÛ·oGÏ @(™‘[ž»ñÎFPàåè5Ìz_À¿•xkGðŽ7 N f)²Vy¬²cÛ)É+ñ…ü¥––V—Nv˜<Äjˆº’zfi¦ßS?ÿÿ¦&ÚO,­*]raIiU©³ótçéj9e9w“îVÔTtÓívjΩ—ØéÙqyÜÕ×W×ñëÆt3¦û†ãQê#ÿXÿŸîÿÔÛ¸·(5¨„É`.p]píÕµSÏO}?ü{QÁ§žŸÒRÖ’  EÑ¡9UuU’;ŸO ÎËË«¬¬Ü°aË/Ö¬Y³hÑ¢®qï'YP2COEÏVqùq-nØàß5BÈæQ›D"òÿ‰Ç@Õ€•%~fè_„„:³øOm,=BHl^¬™¦™xmB¡­Ên®ÑNç¸ÌÙ²óEŒˆZ~íÂ> %QçVÕUEdDH>)šŠÿ\¯C!„º´ö½5zÏÿ›ø1ŠŸãL*Lªã׉ßj'./ŽBU%å‡ÕA¶bïÍ©º’úüÞó©‹c xK/,ýäì'—>¤¾t–°¶Õ¿JíÈÏÏoË–-4Mô¦ÉÉÉ}ûí·/^¼°¶¶èÑã=æ¤B»@(™1Ørð©èS¿þj¥mE]«›X¸ãÑ{ÏŽÝmô±¨cWâ¯l›°ÍTÔjä ù÷’îQ'±FØŒð‹òû-è757 7ªCtNtáÛÂQ¶£!*Š*ÙeÙ¡@Žönò»»¥ûÉç'ÿúÃV×–ºÕpNYΦ;›¨U-–4Ûeöþðý'žˆÊŽr6pv6p–Ü¿s ©›ª4¸O+´xÔšLM–"+ˆÄ)âXi[B8EœßþÖŠ}5~Ï š}Ù›·o~ºÿÓ#~P +…B¿(¿È¬HS Sêãnã‡ÕÆ [±÷&Çñ‹òë®Û½¿Ù»SouA^AzIz7Ýn’׶ׯRëðùüM›6;wŽÅèúúzêá'Ÿ|ÒêŠ@[ €Ìj5ÔÅÈ%:'zÌ_c,µ-ù>õ/—Ç}¯qúšôî<Ý?Ƙï0 òêòì²ìšúš%ý—Œ·ß߬¿§çõ„ë Ï-Ôcé¨ä–çò —\N…ÂìC 1R7¢Ú†‘†Z íoÖ?"#bâÑ‰æšæ :ƒSÄ©ã×ÙèØLsšÖbIÚÊÚž=<©]«Î³‡'ÕaûÄí+ÜV¨*ªð brc y…®Æ®£»½»=Äê!«uYº¹å¹O³žFfE–W—Óh´ƒSNsšF„„SÄI,Hä ø£lGœs²¹[Š4@ÝÞY¥7¶ûØV‘ôBÁÔ‡î–îâ—´Ž4G½bÐ 7 ·:~Ý+î«ÔâÔ1ÝÆl³¥ûjüžKèl¡e±{òn:›[È+TUTÝ:vë¸îã¤/»ã*l¯½/ê³hù ÊºÊ„‚„˜Ü˜ŠšŠ~¦ýüfùQ×°K^ÛŽ¿Jï…ËåN›6-""‚šDØu¹IG—Í¡5ÕšÃåry<ž„7o²||Ø))œ¬ÇÍ-Ëe«² Õ kêk^ä¾`«²E7~šõ”¥È¢NÒ„‚§YO5™š îŸL …¥Å•ÅZÊZFjFŸöÆòSÞ¤T×W›¨›ˆßÏO´ª¼º\ ØéÙ‰æì¿­}›Z”* 3 3ñ‹ $WByÅ}5ñèįýå /[ù¾H':'zú‰é;&ì˜h?Qry¥U¥¯ _›k™³YÿÌuK/IçVp ÅLsG-’]–]À+0V7ÖcéU×WÇäÆè«êS“êšÜ5Õ¨¥¬e£c#jlî=WS_c¿Í~„Íß©¾uüºä7É¡ÀV×V®Ð¸³„²[ü)ju…Òì=©0©¤ª¤IÑ7ÑÍ©¬«Ì(É …j/’¼–´ô«Ô^¨¿ ׯßX¸paiii}}½„Îrrr¡¡¡zz’.´)±X,6û=¦É"ÀûùBa×Ãðž[ø$óIÈ!â ¬#l{´í¯'EúD~ø«M?ñPØÙµÀ;7o²||ž**N«­­m2uÈÉÉÉÉÉQ—aÕÕÕ­ZµjéÒ¥»ÁûzßPˆ9…)¡ á§{?e•eå•çí>¶£!!dB #mGvÉD§?B¾¯©áËËË+**2™Lƒ¡ªªÊd2•””444•••™L¦¢¢¢ªªª‰‰I‹cBG@(èL¢§åZj[®¶þ쑺âàÃÎÎãüý§¤·Ü:B!@gêgÚ/廔ή¢ëP”WÄûùQ‘““SSÓ#D“„®>„B@(‚P¡B!„B …@ @æœz~jÔ_£ìþ°³þÕ:0%085ØúWë£OŠ:8nwœsjN'VøŸ’]–mý«õÿîþ¯³ i~`¤„P²$ˆ´éî¦Ô¢Ô:~]g×Òêö{·OÎ~Ò)câ@zxÌÈ’‡) !»'ïe;J^îÝ_0<Ö šƒéáL!Ȓ·…„aÖÃDÿÀH€éá—dý¤{Ë..£^;lsh°öûáß/골¹m#³"ÿ~ò÷óœç¼ž¾ªþèn£W ZÁRdBjêkì·Ù°ñãè·>Ø’R˯u1rY7tÛN4BzIú©ç§ÂÒÃ2K2ért[]ÛÙ=g{9zQkEƒl±a˃-t9úpëáGnTQP M ݺ+± ‘¥Èšá4ã«Á_ÉÑ䤩­ƒ³ñîF¡PH-f—eŽ<ž~~þy&ƒI5–W—Ï<93«4‹Z OŸvþ½Å÷4™šTËâ€Å©E©¢1£s¢£s¢ xK,5–U—Í:5+¯9ûIxz¸äC¾ã}ÇJÛªÉUSzx‹9EN'¿"-®%„lº»éLôêuViÖo‹Ï—\Ls${‹•tœV|(]B!Ȇ‘¶#S¾KYzaéýäûñ«âå©öàÔàOÏÚÜVY¥Y›ïmVSTûnèwC¬†¨3Õ3K2w…xëXÔ1Q¤‹ÌŠìkÒwפ]6:6\wãáéáWâ¯,t]Hu°Ö¶öîçíjìj¬n\]_X¸ñÎFß_ïþÞtêó4ëé óA‡¦²Ð²H*Lò¹ìó åATvÔB×… \h05SW^[y8ò0 ¥¬­}ÝO¾OùÖýÛéNÓ5˜ÙeÙaéa%Ҭ͋=}†¥ÈÚ0bÃpëáõ‚úÛ¯oÿø‹„ݹ»¦|—Òí÷nýLûŸu\ÔÞâ±K¨¤¹1èЀ. ¡º²Ë//× ê·ŒÙ"ú–ÓZÇzçÄQÙQ÷’î‰þ×djšvˆú~Ð\Ó|È cÿ›X(gó¨Íð}ì›WžW˯µç”å˜j˜R¯µ”µL= ÌP&„88}Ö÷³Í÷6÷6î½nØ:ªƒ§ç•ø+SVÕU1L)kk@B ’†¾ª>!d’ý$]–.!ÄBËÂBËBʵw^ß!„¬²zªãTªe^¯yeÕeÿù¾e´xì’+é8­ûPº„BèÊ’ß$B¾¾úõ×W¿¦¾!õ‚Fh¢nöúöâ3ÆL4L!¼µXV]æuÜKô½°¸êºêaÛS‰b¤nDékÒW¼¿¡ª!!äÍÛ7&&RÖÖ¾õY™9þÈxK}}WcW!ÍZêDÝ`‹Áâº[¸·"¶xì’+é8ò¡|$  +„jJ_â'ü”ä•ÄW5øçÿBÜ…¼ò¼Q¶£V¸­0Ó4cÊ3i4Ú†;D³ë(¢/(%4Òh4QURÖÖ@ç²Y'fŸH*Lz’ù$± 1 6 ¸²ø£þ7Þn|‹kÛQ‹ÇþÁ*yߺ0„BèʨltlÖ±AæƒZ=HfI&!d¥ÇJQÒªå×FdD| µµŽ­®­­®-õú‹K_¬º¾ÊÍÂM]I]òZ3M3BHHZÈ\—¹¢¡‚Ó‚[ÜÐêùõâ-R»„:Ù.:ñCèt…ЕMqœâûØ÷Û«ß®òXåfᦣ¢SV]–^’~#á›Å–rŠ˜¡š!!ä¯'}=øk ¦FraòŸ!¦§uJmmœS¸îæ:}5ýáÖÃÍ4ÍtÆëÂ×Éo’ëøuÜ ®º’ºäµ£»>qð ?”䕆[ç ù·oíßßâN5˜Éo’3K3Õ©Ûñ´xì’+irÌvÑ.?02 ¡º2sMóŸÆü´áΆu·Ö5Xµ¤ÿ)™Ðc¾ð}±±T K‘5Òv佤{^ÛûʯÈ÷õߺG¼±»‡µŽu‹k œf»Ì>}fíµ¢µžvž×®‹÷_tnQHZÈÙyg]]©–þ¦ý¯'\æ;ŒZ¤î)(ùØ%WÒܘwý¾:åCøH @7ÃyFw½îG"DfEWk)k™kš·?É~’”#¨œœ}ò· ß^æ¿”£Éõ6î½fÈQ@ìÜÚÞ×oã ˆ ¸Ÿ|?­8MH„†j†cºYÔgu²MòZBÈæQ›Í4̨›W³YìY=gyöh û~ø÷õ‚úˆÌˆ²ê2Ñýÿ${‹•49f»øð ÀG‚Ö¾¿KÐåq¹\'¡ÃÍ›,vJ 烕3üMè,,‹ÍfKßÏ>„B@(‚P¡B!„B …@ € A(‚P²åÀãâ.´e„òêòÝ¡»ƒ8AíTQ³øBþîÐÝ×®wôŽ$˯Èߺ{wèî´â´Î­>r… Kö‡ï¿Û¶PXÓ!¡pOèžK//‰·Ôóëw‡î¾þª“Cá¦;› @… K–\>ÕijgWÑ„½á{„ÂÁí×·ƒRƒz÷îìB@ÈwvïaÙ€e]‚̨¨©øñÞ z/ϲŸuv9ð±C(Yràñ=–ÞTÇNò…üðôð¤Â$¾€o¥cåfî¦(¯(¾ÉÛÚ·’ä–çê«ê´ÙÜÈ/ó_FçDójylÛÃÊC[Y[4þ¾°}–Ú–žvž  ¡ÀÕÄÕÙÀ™ê[ž  2K2w‡î¦½½tUtEƒsŠ8¡i¡µüZ#Wc×öz7$û#èºÂ7îßl´ýÃìdB!È’ýáûõE¡0åMʲ‹ËÄg˱Yì=Söô2êE-ÆåÅ-¾°¸WH-ê²t·ŒÙÒ`Ì7oß|sõ›ÇE-LsÓÈMÓœ¦‘ÿŸ8ÂfDbA¢ïc_QŸIö“~÷üN£ç–çRY0»,[ û™ö…ƒ·=Ú& ©ÅÎ3¶ŽÝ*á/½¼”Uš%ù}˜ß{¾&SSB‡ç9ÏϾ8{dÆ&ƒ)y( B!ȪªºªÏü?Ë)Ë1T3ô°ò`È1ÂÒÃ8Eoï[ŸßÒcé½­}»äÂ’B^¡…–…›…_À”úhÝÍuâƒð|ï︼8cuãÁ–ƒÕ•Ô3J2î'ß_k½µŽuOÞT·ç9Ïï'ß÷°ô°ÑµÉ+Ï»óúΕø+æšæ+ÜVªú¸ùì Ûc¤fäåèEõ7R7¢^¼È}˜èaéa£cÃåqo&Ü<sÞÓÎs ùÀæŽëÒËKáéá’}¼Ýx ¡°^Pÿý­ï';Lv³p“æ … »®½º–S–Ó˨ױYǨóaõ‚ú¯¯|}ûõíÓѧ¿üõõ„뼂ÁƒM;Ä 3!UuUóÏÌ/®, r7én\^Ü„¶yn£ËѩƸ¼¸iǧ}ztפ]TKqeñïãe¾˜¼˜Çg:º|Ðr*î ßgªiêãæ#¹¦¾†RTYtÀëÀ›Tã`‹Á«¯¯âI…S¦´ø³–²–„µ¾}‹+‹×[/yq… «žç<'„|5ø+Ñ7¤òrò«†¬ºýú6u]Åóìç„n+¨DHa2˜_ üÂ;À[4HXz!D™¡ìáK}Ã+ …D¨¦¤—'êf®i.J„„gç‘¶#o¿¾\˜Ü]¯»„"{èõ%BBÈ«!„^„M¦8L‘êø›‘^’¾?|ÿïž¿k05Ú2ü× €¬*«.#„˜j˜Š7š¨›Ðh´ÒªRQcuãuÐ0_¤Îž‹9'y_ÆÆ Z¨qÊkÊ%oh f ¾¨ÌP&„Ô ê%lÒÆ9…??ø™É`¦¥Š&8FçDB®½ºö2ÿå‡) Þ B!È*u%uBHfi¦xÊÉ*Ë …ÔI2ªCvY¶KïŸÿÎ[êLuBÈ\—¹Ú*Ú ÆW’W½Î.Ín°–GMQ­=å_Ú8§0»4»¬ºL”E®½ºFémÜ¡š„P²ª—Q¯€Ø€=¡{zõ¢¾Aæ ù;í „P·kîeÜëBÜ…=¡{Äçî ß'>ÈÓþ1þ|!ÿËA_ÊÑþ¹Ÿ!¯0¯"O´˜^’~1î¢øœÂ{I÷Ô”Ôltm¨ºuz²íÚ8§p^ïyEo‹Ä[qÅäÅLè1ÁBË¢Á‰U„BUzLؾ/*;jÌßc<,=tFXzXÊ›u%õ9.s!žvž»Bv…¤…Œ;<ÎÍÂM q‚ªêªÄßc¼_”ßÙgCÒBšÔVÖ.¯.O/IÌŒü¬ïgNNT7-e­57ÖÜH¸a«k›[ž{çõ¾¿ÈuöîÚs-óWÜW+¯­4Ñ0‘£É5¸Oá{iãœÂ¹.s´”W—S¡p˜õ°¶Œ ]B!È*&ƒyxúaê>…§£OSz,½=“÷Pß«(¨œzpñ…ÅiÅiÔ½ uTt¶ŽÝºôÂRÑ týðŒÃko¬ L ôñµ³YlQ"$„ô2êe¥mu0âà£ÔGTË$ûIË-uXäºhí͵Wâ¯P‹â÷) … K–\.>AÐZÇú¶÷í°´°¤Â$¾o©eéné.þDGÇû‹ïSO4a«²GØŒ …>n>âO“©yhÚ!N'*;ª¸²XKYË\ÓÜÕØUt‡Êê!«ÇÙ‹ÌŒ½{‹naHñrô²×·’ù¤¬ªLH„FêFòty7KmKñnT£µŽu;¿/¹[º«)©YhY|Ȁ̡‰n² .—Ëãñ$t¸y“åãÃNIá|°’:TM}ý6û6#|§ú¶Üébd‹Åb³ÙÒ÷—k¹ tu…€9…595 ëA(„N£‹?Ñ «Â×Ç€P…@ € A(‚P¡@ò 眚ãå÷ŸÚ5t(„BÙSï‰ÌŠL/NÿOí:B! ž} 2¤Ž_·àìWW7Ÿs/Î=Îx\RUrxÆáïo}OÙ>a;Õ­¼º|ÙÅeB¡pç¤z,=ªqÝ­uokÞîž¼ûC¦$¯ÄðƒRƒBÓB3K2ért[]Û©ŽS-´,lø•ÛWçc·¤…Ôòk]Œ\ô^ÀRd‰ï"&7æ|Ìùœò5ƒ™Î3uTt¤, ¬º, 6 :'šWËc³Ø£»f=L´¡äò¤Ù5t… 3BAdV$K‘µèܢǩÆz~½‚¼‚ŒÿwC¿ÓeéBÂ3Ÿd>!„„¦…z9zBJ«J/Ä^ðìáÙÜÈ[l}™ÿRòÞ·MØf¨fø^…y2çôœgÙÏD=SDÙ;e/•ÌD.»¸,0%êÄ ºûúnÀ' :ƒj ˆ Xk½@( /Æ]\é¾Rš¢¹Ñ‹—T•ˆz^ˆ»0Ýyú/c¡%—'Í® Ë@(œÌRd­òXeǶS’Wb2˜ƒÌùÇø‡¥‡Mv˜L M Õeé²XaéaT(|œñX ¸™»57fbabdV¤äýVÕU½oa„^ o’ý¤>&}ŒÕ«ë«¸ ~Q~›ïm?]œ¬ÁÔX;t­Ž —Çݾ?ž3ñæ$ûI„ÜòÜw6 „/G¯aÖÃøþ­Ä[;‚w´X_À_zaiiuéd‡ÉC¬†¨+©g–fú=õóñ`:`¢ýÄË“~×Ð €Œá‰Y'ìØv¢–Aæƒh4ZHZˆ(º™»±Y7n …Bj!dÅ æÆ\7t]yM¹äý6wšPBa„SsN=É|ò(õÑ×wjùµB¡PQ^1§,'¿"__UŸê#/'fîÑ—¶ffóÎÌ{žóœ …Wã¯ÖòkõYôýðï©ãíÆ¯¹±æbÜEÉœ|~²¨²h•Ǫ¥–ŠúŒë>Îc¿ÇÅ—©P(¹<éw ]B!ȘîºÝ/M¦f½¡i¡B¡0£4#»,û÷oTUO<;‘X˜h§g–f­cÍf±›³Á€íU_Èÿæê7T$m ¢¦B  ŧñ9è;BJ*ß}çûºð5!dºÓtñͧ;MoœÌð"÷!ä^Ò½ðŒp¡PH!õ‚SÄ‘¦<éw ]B!ÈQ–7Ør°ïcßÄÂÄgÙÏh4š›…›’¼’¼œ|Hjˆ"]1§,g¡ëB c¶qNas…]‹¿’b¦i6¯×<3M3e†2F;þìø×w¨pFQWRߊšJ(šÆW]_MQSRïÓ`“& ¨¬­$„ÄäÅ4î© ¯ MyÒﺄB14­q£›¹›ïcßàÔàèœèîºÝµ•µ !.F.aéaÔܾAæÍ~wLÚiNaã¨@¶wÊ^;½Nàýü§äqÐSÑ#„ÄsãÅ3_\~\‹¨B6Úl­cÝ §¼œ¼4åI¿kè  +èmÜ›É`q‚ æºÌ¥Ý,Üö‡ï'„ÈËÉ÷7ë/aóv™SؘSƒò<û9•ºêõûÃ÷GeG½× ƒ-ŸŠ>õkà¯VÚVæšæ„Ä‚ÄZ¾Úct·ÑÇ¢Ž]‰¿²mÂ6S Sª‘/äßKºÇð¥)¯Õ»Y„P]ƒÎèkÒ÷Qê#Bˆ›Å»«ŒÝÌÝþ þ3,=¬¯I_ê|asÚeNacC,‡ì Û·éî¦Ã‘‡5•5Ó‹ÓËkÊíÙöñÜxéj5ÔÅÈ%:'zÌ_c,µÿ½ûhâüÿþ„ 6öE@¥€Š‚Q\u¯¢ÖUm¥­¥­ÛjµÕÚjU¬ÑŠ‹QG¸b@dï!Ȉì$¿?Îoš#Bðýú+÷Ü“ç>—¾½{î΂Ç祿IïÙ£g·@üû÷ŸÞwzH\ˆG€‡±†±ŽŠNyuyvYvM}Ï@Ÿq¶ãZ,¯Í›Y„'š@;£Ó„¯³·KeA&ƒédäDµ8è;PÄ1±“õ5è»aä&ƒ™Yš—G£Ñ¶Ý.þ˜ect9úÁi‡[ ¯ç×'%¥§ 2´mì6IÞ»eô–Õ#Vë²t³J³bsbSŠSøþØ^c©[6¶XÞûl@ˆÇ{÷gº8šèdg€p¹\1"#™Ÿ~j“¦¡ÁoßMóüè¬hM¦¦M›Æk˪Ë ”ÊúÂÆ/*j*lzØh25Û·É «ª«J+I£š•ŽƒÎÈ,ÍÌ+Ïë£ß‡É`6ùFªQKYËZÇZtœnAnY.[•m fPS_ó$÷ [•MÕ_uQvIe‰–²–¡š¡ðžØ-–'ɦZ¬¶k—VLLº´ ùà°X,6»Ù».4†P­Ób(ÌÊb nšÓ¸ã IDAT¯_u§U]Ö–-:+……eK»NkC!N@;32ªSWçÇÆ*I»èžž-îî€Ð½íÞ­E£_ß7Ò.$‚PbĈ·nn•›6i×Ô4ñT:èöâãSó÷/QUmç»SAA(€Žòïss+WêâÎWšÂBy½«§Nmá’Ðu @G15­Û³'ÿÒ%•={0¹àRU%ç㣧¢"س'_ACvເ4hPÕÆ¯÷ìÑܺU»ó|¯°PÞÛÛ 'GþàÁ<55œ8–%òÒ.º¹™3Ë••ù+Wꦧ3~ýµÅÂ?ÝV|¼"uŒ044ÇĤNÚå@ëàH!t¸?æ;–ûô©Ò¨Q&á᪘bÐý”•Éýø£Î”)†VVu!!ÙH„²Ï>€ÖiñÙÇÍ)-•ÛµKëäIu{ûšE‹JGŽ|Ë`àï€Ì+*¢‡…©ªÓhÄß¿dêÔrÌ#ì"Zûìc„Bh6‡BJB‚Âo¿iݼ©¢¤Äwu­êÝ»F_Ÿ‡sʲ…Ç#eeôôtùØX¥§O•ÔÔø3g–ûú¾ÁÝgº„BèXï )ùùòׯ«€Ö)--­©©‘vÐE¥¤¤ <¸ÉUÖÖÖwïÞíäz>dŠŠŠ’÷Çéchšš.—+í* ‹b³Ù={öLJJjpÄA^^~âĉøÉèÊpúÚÓäÉ“étzƒF7~üx©ÔB(€ö4aÂ'ÚB£Ñúôécdd$­’@…Оtuuåäþû÷ENNnòäÉR, $PílÒ¤I4M¸(F-Åz@…ÐÎÆŽ+|-''çêꪣ£#Åz@…ÐÎ444,¼ÜdÒ¤IÒ­$PíoâĉÔ]iètº§§§´Ë€–!@û9r¤¼¼%¤€%iWíLNލ©ñëììjÜÝ+‡­TRBœèrX,›Í–¼?s*!Aá·ß´nÞTQR⻺VMšT¡§Çc±øÒ® ÚçtîÜìÉ“Ë)“v-ÐÎø|RZ*—‘ÁˆU Qc±ø³f•ûú¾QUÅï² Ã‘Bh6),-•ÛµKëäIu{ûšÏ>+õô|Ë`àïO7WUUÅd2¥]t¬×¯é¡¡jê4ñ÷/™:µ\‡þ»†Ö)D(€Öi[(ŒUZºTONŽøûOž\!rccèÊÊävïÖ:vLÍÕµz÷î|552”¾Ö†B„yèpçϳæÌ1èÓ§úêÕÌ)Sº!uuþºu¯ÃÃs’“Ó§ef2¤]´B!t¬S§ÔV¬`Ïž]¶>ætovv5áá9ÊÊüiÓ ‘ eB!t ÈHæ† :Ë—¿Y½ºø·€îLW·þøñ\CÃúÅ‹õËË3d ¾-è(ŒåËõÆŒy»|y‰´k€ÎÃdòÈû–¶|¹§dB!t”~Ð10¨ûé§BL"øÐèêÖ8¥¦&íZ@R…Ð!®]S¹wOyýúbEEÜâàCdgW3wnùŽZ8‰,+ð=@ûãñȶmÚÌuq©’v- ó®_¿îííííííãã#íZ u–//ÈšÒ.$‚'š@û»uK%3“˜'íB ;(((àp8„ ª¥´´tÙ²eÔëM›6YYYI­8K]¿paÙ_i,_^‚çàu}8RíïüyÖÀU¦¦uÒ.º§ºº:Îÿ¼ÿ“¸¡CM›V^Q!w玲´ –áH!´3€Ü½«üŸâÚ‡§§§¥¥%!D^ÿfÉ^Ÿ>Õwî(õVÚµ@ ð í,+‹QV&÷ÑG5Ò.äõìÙ³K—.¥¦¦VUUéêêš››»»»;88ˆöÉÊÊ:þü‹/***TUU¦Nª££#Ú‡ÏçŸ;wîÆoß¾íÝ»÷¼yóRSSûí7jíñãÇ›+àÕ«W6l „(((:tˆN§BvìØñøñcBÈêÕ«ííí !W¯^ "„XYYmÚ´éúõë‡"„¨ªª8pàîÝ»gΜ),,üòË/ËÊÊDWmÞ¼9..N¸¹õë׳X,Bˆ›››ðœ²$;¦_¿êGðl€Pí,+Kž‚sÇRL2Q¿þúëĉwîÜI-þñÇ{öìáñx—/_þã?~ùå—Ñ£GS-<ÏÇÇçÖ­[ÔâíÛ·ÃÂÂæÏŸOÍíÏÔÔôÙ³gUUU„/^888‚S§N½yó†Š …/^¤F£«èÄÁýû÷ «ýôÓO‹ŠŠDç¾xñ"66V¸¹/^P/ôõõ%ßAèLffuÿü£*í* e…Ðθ\9Bˆª*nY+»wï¦^|õÕWýúõ{óæMzzúÕ«W©@F ¦Žö1Œ¥K—öéÓ'66vÿþýUUU_}õUXX˜!äÏ?ÿ¤!F[´hQÿþý###…‡ ÅSPPpqq¹sç!$**ÊÁÁ!11QX@TTÔçŸN½ ZÜÝÝEß^QQðõ×_÷éÓGAAÁÆÆæÒ¥K¢Ö­[—™™I BÙ¸q#u¡ u PÂ„Τ¦Æ¯¨À5 2¡ÚG#„Ðé¸ÒP *++ !òòò'N466¦—/_^\\Lûöí£—.]êççG6lXnnî?ÿüS__àÀ*V;vŒê6a„•+WB<<<òóó/_¾,º¹ùóç×ÖÖ õôô~ýõWBˆ»»»0.^¼˜Êººº………?®­­MOOýú5!DQQÑÅÅEtL·mÛ¶±cÇ6·¶¶¶¢'‚íììúõëG½–|¡3Ñéïþ,@‡PÐ}¸¹¹EDDÔ××>\WW×ÌÌÌÆÆfРA#FŒ „äææP=¯^½*¶mÛ¦¢¢råÊ•ªªªÂÂÂÂÂB‡sìØ±þýû=z´ººZØ3!!¡ñÛËÊÊ!55ÿ]$¤¢¢"|M]Ï! kkk6›]PPPYYMquuMHH ²šp" 0> ©©©1 7Ô€„;MB(è>444vìØ±}ûöôôôÌÌÌøøøýû÷×ÔÔp8œ¨¨(GGG:N]ñÕW_58oK‘““#„hkkËËË×××B222„kE_SŽ9Âçÿ7yTIIIøÚÍÍ-,,ŒXVVÆd2ûõëçêêzõêÕû÷ï¿zõJØ­w_OOO’€&á× ûøý÷ß9Žœœœ¥¥åðáÃ}||ôôô¨UEEE***C‡¥oÞ¼imm=àÌÍÍKKK !ŠŠŠÂ³Æ'Nœ(**"„œ>}ºÁæ\\\ˆèÛ·¯p•0í]¹r…âääÄ`0HyôèQyy9!¤G½zõjÃn2™ÿÝß„*"á@“p¤ û8{öìž={˜L¦ººzzzzII !DIIiÀ€„õë×?þ¼°°0..ÎÍÍÍÒÒRNN.//êæïïOÍçûöÛo£¢¢jkk³³³GŒaaa‘’’bkk›ŸŸ/a%nnn4M B­­­µµµ©«^!ƒnÛn²X,SSSêÈå7ß|ckkK§Ó—-[æææ&á@c8RÐ}øûû>¼¾¾>%%åñãÇT²··?tè!ÄÈÈèìÙ³Ó§Og2™µµµ/_¾Œ/))122Z°`Á¨Q£¨qlmm>L]¿\YY™œœìãã³páBÉ+ÑÔÔìÝ»·p‘ …„*›RÜŒ¦U6mÚ¤­­M•÷èÑ#‡CeM w£Qÿ‡PAAø§Í^¼Èòóc''§tZIÐ@}}}^^^aa¡‚‚‚‘‘‘¦¦fã></==½´´TUU•Íf«««7î#’““+++-,,TUU/_¾üÅ_P«’““[,#%%…ºï !ÄÙÙ™z´IvvvNNÕèàà ¬ü………iii„yyy'''Ñqš[ÅãñRRRÊÊʨy–––¢·ª‘d¡sào‚´°X,6›-yœ>ènäåå…÷)lN§(,F³¶¶ns–––7adddddÔ¸³®®®®®n“ã4·ŠN§ÛØØ4·uIvDáô1 N€„ú÷ï,í* £ €D´´´D¯€n§¡ € A(‚P¡B!ȇsÞÞw¥]Eºla 4¨St±¦†geõ¯oTûndB!à‰& Sž=› íšÖe ¯#Ê–Ñp¤p¤dŠƒÃ9ÍãÇÝ…-gÎd;–’”TÎç Ö´i¦sæXÈÉÑ„8œ×ý•üøq1—[§§§ì奿|¹-‹%O©©áÙÙóôÔß´©ßÖ­ÏîÞ-¬­å;:j®Zå`k«.Ï:”|êTzNN¥žžÒìÙ£Gve΋~èÛ¸0 ‡_[çhüyB²³+·lyõšÇã;;ë|û­hÙééÜààÔû÷‹23ßÒé4µO>1Ÿ2ÅD̘-~GÐ € ûé§çýõJ¸øâEÙ¦MOccKvír¡ZNœH[¿þ‰@ð®CvöÛC‡’##‹NŸÂd¾ûX^^7sæí¬¬Jj12²hîÜ{#55¨– âNœH£^geUþôÓóøøÒkkqXIjkàÓOïEF‰ßî•+ž––ª-–ל²²º™3oTS‹wîÄļ>uj¨0.Y•šZ!ì[XXíëkÓä€-~GÐEàô1ȪøøÒ¿þz¥¤Dß°¡ïƒcbbÆíÜ鬡¡pþ|öµky„¬¬ÊãÔÔ¶ms|ð`Ì‹/_ö3Æðå˲#GR…ãp8¯õõ•ÃÇ={öñµk# êQZZ{ölµ6.®äĉ4K~ûöbbÆEEÝ´©_DD^‹å‰VÂÚ:_tôk}}fXØÐgÏ&\¹â9z´ae%oãÆ8a++ÕmÛ>ŠˆùòåÄØØñ'N ±¶V HäñGkñ;€®G @V]º”Kù⋞sçZP-'ËÉѾþ:úÂ…lOOý3g2ëë›7÷3Æê`e¥úÛo.11ŹÂ#[šš þéJ´53c­[×g̘ë eÔÚ+Wò!ß~k?uª)Õâím^VV·sg¼øòÄ+am =êÖ†ªU”•é¸jk+B,-UûÍeܸò˜˜âׯktt !7öÝ¿?) 1/¯ª¶–/|cNN¥‰‰JƒÑZüŽ:zw@r… «ÒÓ+!ÿ/XxxèB22ÞB^½*'„|õUôW_ESgiõ‚&2ŸÍÎNCtŸ±± !„Ë­£33ßBÜÝuE·âî®Ûb(?¬„µu¾Þ½5¨DH‘—§¹ºöHI©ÈÈàêè(–•ÕN™r+/¯ªñ««y[üŽ ë@(Ù&&BñùBH“§5Eq))Ñ›öÿÿߢ@ÐĘ ˆVÂÚè„9…Í¡>°°Ì¼¼ªQ£ –/ïejÊb2é4Y·î‰pÎe3ïm÷r ý!€¬23S%„ܼ™om­&l¼u+ŸbjªB¡²Ñ‘#ƒÖmfŒ–Q§DïÜÉŸ=ÛBØxÿ~ ɬEíR[Gxñ¢´¸¸Fx°°¾^ðàAùßç@7ýæ›ÞÂÜY[ËŠjöÓhñ;€®¡dÕ˜1‰{ö$ª¨0¼¼  Ú;…›6ÅBÆŽ5"„Lžl´bEŒ¿o77¶ŽŽbYY]z:÷Â…l6›Ùܼ½¼¼ þü3iÇŽ**ŒaÃØ|¾àêÕ¼½{ß³ø¶ÕÖ s ++y>>Ö­ëcc£–›[µk׋”” ggmjB¡“rð૯¾²ÕÐPxõª|×®—iiÜæFkñ;€®¡d•Æ¢EV‡%oØðdÆ'ÂöñãFŽÔ'„˜™±~üÑqݺØU«b¼×ÇG¢DHéÛWsÆ ÓÓ§3üýc„ãÆ]¸Í`´ýíR[GpqÑÉÈàNz[Ø¢¬Lß°áÝí?þØxïÞÄÐÐŒÐÐ ª…Å’9R¿¹Ë±[üŽ ë@(¶j•C¯^êÇŽ¥ŠÞYx¡+!dÆ Ó^½Ô“9œ×%%5ZZŠff¬qã 'N43l›7;šš²NJÏË«ÒÓSòö¶ppиp![Mñ>Å·KmíN]qòäÍ›Ÿr8¯ù|““öwßÙ oR¨¯ÏûÌšº3@·PÐUUÆŠ½W¬è-íB:PÛï§ÝB! B!„B …@ € € á x»ïíþ÷å¿Ò.DœüŠüÝ÷vï¾·;­$MØ(•À¡dF=¯~÷½Ýÿ¾èÒÑjÕ C¡LT8„B€vs9ñò­Ô[NFNÒ. Õ ÚGEMŦˆMóœæ9è9H»€Vó@&½,|•Åðûê÷m°6&;&©(‰[Ã5Ò0r1réÁêÑ %ýrëºÂ×C¾Þy{§$ýd<ˆÎŠ¶Ò±ÛklG×Ð"„B=;nïx \œh7ñçñ?ÓitBHiUéÂÓ Ÿæ=®U”Wôê¿ÀeAs£ýóüŸ¬Ò,ñ[œë4W“©)¦ÃãœÇ'Ÿœ œÈd0%Ù…àØàM›\M]ÅЙ @Æ<Îy|íÕµ¡C­{Xç•ç]I¼r6þ¬™¦Ùr·å„ ˜ §yOÙ,¶‡µ‡º’zNY'“ó(û‘øP™)~£ãllj …õüú5—ÖL²ŸäfîÖbý<>oë­GbŽx;zoµÊ²R‡P2¦¤²äçq?Oq˜B-ÆåÅÍ8:ãpÌáeƒ—Ñiô’ÊBHøüp6‹Mu¨åÕÆçÇ‹p²ýdg#gñÕRÖ³6àA@IeÉjÕ-ÿ¶öí—g¿¼“zg͈58F] B!È3M3a"$„ôÕï;ÒfäåÄ˯Š^õÒí5ÊfÔñØãœÀ}gXhYÐh4º‚£¡£˜'ÛO~ŸzÒߤï‹Ü÷óøŸ5˜â{½-šñ÷Œ¬Ò¬€©Vï³Q€v‡P2ÆHèA‹±†1!¤¼¦œâfîvbö‰#1Gf›YS_c¯g?Òfä'ý>3Õï=çn¹¾…É`¦§î¾·›j‰Í‰%„œqþyþóÉö“©ò!o2ʪËúèõéoÜ_¢]èD… c²K³´P‘NMQZt1vq1v!„r 9Yœm×·]N¸|rÎI9ZÓ7ázÏ9…Ù¥ÙeÕeÂD(tþÅyBˆ“‘“0:9{õôZyaåìã³Ï<,þ”4@'C(“þ&=üY¸èœÂˆ¤5%5ëÖ„¨Œ(}Bˆ.Kw¼íø[)·Î2üÈRÛò@ÔÛ©·©–‰v— ^F½v5u}’ûäFò a•µ#Öj+kK¡Öfô7îì¼àÔ‚YÇfžyØ^Ï^Ú €ì§Ëû¹ùYh[Œ·?Öv,'“ÃðŒœúôöY2pÉ\§¹3¦•¤BôÕô‡X Qf(wfC,†¨)©™k™7®\ØbǶ;5çÔùç9Y[¶-îVRGÒ®dIAA—ËÓáâE–Ÿ;99¥ÓJ€® ¤…Åb±ÙlÉû7}-|P ¡ € A(‚P¡B!„B …@ @Öq‹¼ƒ½ƒb‚„- O/Ü|m³ô*jg…Ü“ON. _êì}òÉIi—Ý–¼´ x/5¼NǦ‡°%:+ºº®ºC7:÷Ä\[]ÛÕ#VwèV![®o Š Ô¢£¡cGo>X…ÐÝÎd)²:tœ,FëÐMP ¹…=Tz ·Îd0E†´;„Bèn\Œ]¤]B»Y3bM•4írâe„BeÑÇOõðð3fŒ³³³´‹¦!€Œ‰Ë;w:§ ͉åÖrÙ,¶WO/+ÑqʪËþyþÏãìÇ5&š&#­Gº™»%%n¼º‘Çç=ÏîìMõ\7r­®mGì¬.K·#†ètÚW®\9r䈹¹¹——×ĉ­­­¥]ü?… KBŸ†®¾´š/àS‹áÏ¿òMƒ>¢s ù>'‹ÃRd-8µàAƪ±žW[»$tÉ›ª7Âw…= ›Þwú¶1Û¨ÅGÙ–†/-©,y·:?^9|e?Ã~œ,!¤¼ºœzA½n²Ú­×·>Ï.~v|¼Ã@Í@¢aëÖ­[»ví“'O._¾üï¿ÿôïßöìÙ£Fb0Ò.A(’[ž»þÊz¾€?ÅaЇ•Ï»”pé×;¿¶øÆ;©wXŠ,ÿ¡þ¶l[%y%Ÿçæ[Z]:É~Ò0ËaêJꙥ™AÑA!q!®&®ì&”V•ú„ù”V•öÕï;½ït}5ýœ²œ«IW+j*zöèìÜàB“æ&%ƒcsªêªZû9È(æèèèèè¸råÊû÷ï¯X±BKKkæÌ™óæÍÓÔÔ”v:„BçâÏÕòj¸,X3b Õ2ÎvÜw¾ .þ"ø{Öß¶ìwÑíØãcÅ•ÅþCý}]}…}Æö;tßÐðçáì&üóüŸÒªÒQ6£öMÙ'ìàíè]QS¡ª¨:ÀdFSgª0 ~»«†¯*¯iú ¢ÂˆF£¹¹¹¹¹¹ååå8qâĉAAA‹-Z´h‘²²²´«ûp!€ÌH,J$„Lï3]´qzŸé-†Â^=z !!äIîBHDRDdF$u·P/RŠS!Ô9ßÏ|Ö`UEÕV‘—b¡ IDAT,ºQhL__ÅŠ¾¾¾‡þ믿Ž;¶lٲٳgËË#ŸH>tÕõÕ„5%5ÑFu%õߨ§ª'ºXY[I‰Ë‹kÜSA^A¸!MæûžÌœBI(++þùç³gÏ>pàÀ/¿üröìÙ;vXXXH»®B!È ]]BH|A¼hÈ{–ÿ¬Å76¸§ ¾š>!dã¨V:V zÊËÉBôUõ !1Y1æZæM( ÂJ‹9…’ÓÐÐøþûï½½½ýýý'L˜°|ùòÅ‹ËÉáÑk¡d†»…{plðO7~²Ô¶4Ó4#„$&üz»å Mðêéu$æÈÙø³;>Þa¢aB5ò¼ˆ¤ŸGñ´ö Š Ú~k»¾š¾›¹Õ!6'¶èmÑ(›Q„E•ì²l¾€/G÷/æ´–±±ññãÇ÷îÝûë¯¿ÆÆÆîÚµ‹ÉdJ»¨B!ÈŒá–à csbGm¡mÁãóÒߤ÷ìѳ€[Ъqú÷ŸÞwzH\ˆG€‡±†±ŽŠNyuyvYvM}Ï@Ÿq¶ãšo;þß—ÿÎ?5_—¥«¯¦Ÿ[ž[Ä-Z6h {³{GeD Û?ÌPÝFhÍݧðýçÞL¾yðáABHIU !äÜ‹s±9±„Q=GÍwžÿžƒtMt:ÝÏÏoðàÁK—.={v`` †††´‹ú à¨,È ºýഃí†×ó듊’RŠS™Ú6v[†Ú2zËê«uYºY¥Y±9±)Å)|l¯±ã{§:윰s¹ÛrUEÕBna\n\·ÈÙÈÙ«§µöÛaßö`õÈ-ÏΊædqš»Oáû+z[ÄÉâp²8ɯ“ !yåyÔbzIzm ‹prr -..^°`—Ë•v9š$Ób„ Äÿ¾x‘åçÇNNNéÀ¸¹e¹lU¶šAM}Í“Ü'lU6uB™ÍRdQ‡îø~tV´&SÓ¦‡MãqAFiFIe‰–²–¡š!ƒÞðº</ùuru}µ±º±–²VãUåÕå|ßV×¶Áå/í¥[˜V’Ö¸]tº¸÷ù›™™9kÖ,{{û€€ ç.\¸ÐÂÂbíÚµmØ\»(,,¼qãÆíÛ·ËÊÊ&L˜0kÖ¬Æ}x<^xxøÝ»w+**LMMgΜikÛþ7+`±Xl6[òþ8} ²‡Íb³YïþÒ)Ê+6¸_ è³åhrbî&H£ÑÌ4ÍĤ+:Þ³GÏÖ®jGº,]<é>d&&&{÷îõöö>tèÐâÅ‹%yKtttuuuGÖœ-[¶ ¸9::6îSSS³`ÁçÝUhwïÞ=qâÄöíÛ'MšÔy…6¡º.GGÇ/¿üò÷ß=z´±±q‹ýY,V'Ö¤ÂÂÂ=z >œÉd5ÙgÏž=GOOoùòåúúú·nÝúûï¿W¯^Ý¿i^y†9…Ð¥}öÙg{÷³‹‹KGœŠ•К5kîß¿¿eËggç&;Ô××?~œN§9rdæÌ™C† Y¿~ý§Ÿ~Z[[{üøñN®¶)€.M^^ÞÇÇgÍš5ß~û­¶¶vaaaHHHRR—Ë522rssóôôÞŽTtNáŽ;?~ÜxÀE‹1‚z]VVËårÙl¶———‡‡G›KÕÕma¾G\\\yy¹»»»¥¥¥°qþüùG޹s玿¿¿hÏÓ§OçääèëëÏœ9ÓÐÐðË/¿5jÔüùóÛ\žx…ÐÕ;vãÆW®\qvvž1c†èånÁÁÁ3fÌØºu+µ(:§011Q8uOÔœ9s¨±±±K–,yóæpUXXØôéÓ·m{w[ƒ­[·>ÞÒs‰vìü´orr2!¤oß¾¢ÆÆÆ©©©Â–Õ«W ç&†‡‡ûûûs8›&®™k/…ÐÕ1™LWW×$''s¹ÜaÆMš4ICC#;;ûÞ½{M¾Ëßßÿ³Ïþ{ˆymmíš5k¼¼¼ÆŽKár¹¾¾¾¥¥¥“&M6l˜ººzfffPPPHHˆ««ë„ ! MÆJQUU­x.@{ôèÑ ]WW7))©ªªŠÉdææænذA L™2ÅÃÃÇã]½zuçÎ’o¥m @ØÛÛŸ;wN__Ÿ²cÇá­gÍšU^Þô½B{öüïõõõK—.>|øš5k¨–3gÎûûûûúú »;vèСáááT(\µjUsƒ µêêG¡Óé Ú©–úúzBȹsçjkk.\¸zõjjí¸qãV­Z"ù†Ú¡d›Í.**úä“OþùçŸ%K–Lš4ÉÞÞ¾gÏžŠŠŠjj-Ü(”Çã}ùå—:::?üðƒ°ñÉ“'„ˆˆˆÈÈHêD­@  ^¤¤¼»«b»_³¢¬¬Lyûömƒvª…Z›˜˜H™6mšh‡)S¦ EEÅššssók×®;w.22200077×ÍÍí»ï¾³²²jî|>ÿ›o¾QRRÚ²e‹ðzBHee%!$..®ñ[¨í>§ê™žž.ÚXSS“››Ëf³©ã…ÔœÈIW]]]ÂM´B!È€’’---BˆººúܹsçÎK),,ôõõýôÓOoÞ¼©¨¨Øø]`åÊ•<oçÎ ž‰B‰Þ¸qcã@)/ÿ. µûœÂ>}úBnß¾Íãñ„'‘ïÞ½[__O­"ÿ»„ùÅ‹zzzÂ7ÆÇÇK¾•¶A(@K êÕ«×À©FMMM‹UXX˜žž.:ƒ"Ö­[WVV¶wïÞÆÓø¼¼¼Ž9röìÙ;v˜˜˜P</""‚šùG:`N¡¾¾þG}ôøñã_ýÕßߟF£üôÓO„j#!ÄÍÍ-88xûöíVVVTaÉÉÉ»ví’|+mƒP2 **jàÀ·oßÞ¼y³ŠŠŠ‰‰‰‚‚BjjjEE…¦¦¦0Õ‰Ú¼yóÉ“'?ýôSÑvê>…ýû÷Ÿ>}zHHˆ‡‡‡±±±ŽŽNyyyvvvMMϸqãHëçÞ¼yóàÁƒ„’’Bȹsçbcc !¢÷\¹r¥··÷Ξ=Ëf³jjjœGMuðððèÛ·o\\ܨQ£,--y<^ZZZÏž=sssGÛv„'š€lË.˶úÉꇫ?[v:x{K¯"YRRYb³Ýf÷½ÝÒ.¤Ë‘úOQH\Ș¿ÆØí°³úÉêFòNØbã_¥.%77711qРA ,ú( ÀÀÀ ???..®®®ÎËË+ @8ß‘N§ûøàÁƒÂÁ¢ÌÍÍ©rrr .\°`AFF5gÑÐÐÁ`´¹ÎaÆ7ng³Ù ºÝ¾};%%…z(‹ŽŽNƒþZZZùùùyyyl6ÛÀÀ 00bffÖæÚZ„PÝͳožI»™q#ù†.K׎m'íBºéþ]{u²{ÒîQ6£äåð/5ÉÍÍ=uêÔ×_-¼þCYY¹¹»...Â×Í=€¸fffÖ.yKWW·Å'Ý 7*æŠé»w着ªöë׺Ö$22ò?þ““l>»,ûçPdzäé¹§™ &!äïGoº¶IØ!¥8eÿƒý4mˆÅæ¶òÓÍŸþzø—pñEÁ‹M›bsbwMøïF *Q¤+Îè;ãàÜ,NãþÂn'Ÿœä xóœæ5·­OO~™)~¯¯,¾b©m)¦ÃõW×™ ¦«™«hy³‚gå•çQ‹aÏÂJ«Jgö›¹4|)Ï#„TÕUíÜ«¥¬5Ïyžä{-‰òêò™Çff•fQ‹‘é‘sOÎX¡ÉÔÿÆ&•U—Íü{¦ðs¾“z'&+æÔœSÂ\؆²Û±ÂvùÐn&ß\ºX¸˜Rœ’Rœ’_‘ÿÇä?Z\KÚú«ÔqŠ‹‹µµµ·‡††þöÛo?üðC¿~ý:¿*)²±±9uêTiiiVVN·°°PRRêè"€Ìxš÷ôDì –"kçºV#êùõ—/o»±­Å7FgE;:î²·—n/%y¥¬Ò¬ÕÕV_9Ìr˜:S=óMæï÷~¿”péHÌ_Wß´’´Í×7ËÑä X4½Ït}5ýœ²œ«IW圓W&7¾¤ ¾ þ¯‡)É+}?üûÑ=G3èŒÛ©·¼öãùçÇÙŽó´öl²BÈœæF{tL yÞÉ''­t¬ÜÌÝ:àSüÏÍ”›ƒLQeËl6øÏišk™'%ùñ»ž|=&;f¾óüyÎó4˜7’o|sþ›CœCT(”p¯%AÅâß'þn­c]À-Xe}dzäÙø³óç7÷™‹ÝÏ ß¾)ûlzØä–çërâåOÎ9Ùæ²Û«Bñ[i32ye²o˜ïµW×âýãå›=6FÍ;\1dÅô>Ó5˜ÙeÙ÷Óïg¼Édm›•:È7¾ÿþûk×®5xhÇÑ£G7oÞ¼lٲٳgK«6éÒÐÐ>â¹ €Ì¸’x…òí°o§:L¥Zæ|4§¬ºl×ޝ(3”L= ¥¬E-žy~¦ž_¿yôfáù2+«ß&ü“‘áëê{6þ,Ï[6hÙŠ!+¨–Ú–K]—ŠÙÄ¥„K„/1×i.Õ2Ñn¢Mîës__xyA˜3TB1T7ô´ö¼štµ[¨ËÒ%„D$Er ¿ü…˜Í½ÿ%®/ _æ–ç6ØŠ–²Öþ©û•Ê„>ú}õ_´1b£“‘Ó*wWÂŽ·6þìÍä›UuULS½–„&SóÏiR§ïÍ4ÍÖy®óט„„¶í2CùÀ´ÚÊÚ„KmËß&þ6îи˜ì˜×o_ë¨è´­ìöª°½>4=U=ê½=X=!æZææZæ®mó¯RGøûï¿üñG@pæÌ™yóÞ®¯¯ÿå—_ýýý}||:¿ªB!È ê8‡»¹»hãó!-þKÖ›Ý[4‡½zýŠòÕ¹¯¾:÷u‚X@Ô ¡BRŠS!cz¶bŠUzI:!¤Á½]¨Eáá™Æ•Pæ9Ï»’xåÔ“SËÝ–Bþ~ô·º’údûÉ’o½ ®¿ºN£Ñ†[m´cÛQ‰b¨nH=¯M1P5 „¼~ûÚXÃX½–„žè„Nc cB·†+æ-cþC}•”‹‹.Úô°¡^÷f÷¦!E^NÞÕÔ5¥8%ãM†ŽŠNÛÊn¯ Û°õ&ÇYಀ“Å8n¨ÅP{={{={g#gýݽTįmó¯Rû»wïÞ³g!„F£=z” …+V¬HJJÚ¹s§ð!Ð   ûÓ`þ¿ó/|ŸBM’k –W+|݆kr[|KƒJ(ýûÛêÚž|rrÙàeé%é3.°˜šÚØœ÷ŸSx#ùFý>Ôa$¡&OV6h¤ö‘ú E[šD]·! ÑÆêúêÆ=EÏb“ÿ¥óv'Zjk¿ßö­ðý¯øf)²þþä濫¤‡™ BŸ†–T–ü0ê‡q¶ãZ\ÛÔÔÔøûû_¹r…ZÑÑÑ?þã?ÌÍÍÏž=kaa!Ý"?4… 3L5M !wÓîÎvüo‚Ñ´;­‡ŠJGflÖô¿¨—.õÒíÕd¡ÕóêE[Ì´Ì!7“oZëX o¥Ü–-Þ§NŸ®º´êZÒµ¨Ì(º}ÎGs$Û•6*â=Ëö•ûWï9N‹{­£¢C^œAyñ  Ûjü™7¸d[Ô‹‚ŕŃ…õüzj£&&’”Ý6V؆­‹ÙS›6Â㣟ÿó¹ÿ¿þnænêJêâ׶ׯR›•––.Z´(>>žÏÿïòòò>>>µµµ¾¾¾K–,QPPè´z€‚P2ë§×¨¿ÜúEI^i„Õž€w)áÒ¾È}­g²Ãä€+έðêïf¢SV]–þ&ýÂË lÛ×Õw¢ÝÄýöDð¼i}¦é©êå–å^Mºª ¯°Ðe!!Dƒ©ñêõ«ÌÒL#u#ê`ؘ^c칿GEQÅËÆ‹AgÜI½³)b!dl¯±-–4ÁnÂÏ·~>Ä9”ô:ÉÓÚ“:o+Æ{Î)¼‘rC xX¾ïƒLZÜk&ƒi fp7ínÈÓ1=ÇÔðj"’"vÞÞÙ†m5þÌŨ¬«ô õYç¹Nx¡IJqг‘3RßóËzÏ Ûkë«.®ÒSÓa5ÂTÓ”Ag$%¾zýªŽWWPQ ®¤.~m{ý*µMFFƼyó êëÿ_†®¯¯ûöíÙ³g{õjú?cÐÑ @fôÑïó‰ã''bO|á¿›u·ÿïË[5Ž™¦Ù£\we]ã'‰ù ô!„˜k™¯öX½ùú怄k— ZF½h2ðß—ÿz¼ UÔéõ_tˆshÕ ®l-o¤ÍÈKR”WœÕoÖþû !óç·jwÚàú«ëj îÛ×vl»÷ú³ŸmŠØ´êâªUß}ÚÓûN‰ ií¶šüÌ›ëìbì’ñ&cêÑ©Âe†ò†‘$/» $¬°½¶ž_‘ò4dϽ=¢½Ù½­t¬Z\Û^¿JmðøñãE‹UUU5H„B=B(”„B%Gm4Õ0¥î¸Ëf±gõ›5¾w[þ%›ÑwF/Ý^œ@N§¤²DKYËLÓlœí¸‰v©óœçÙô° ŒŒÍ‰­ª«2Ö0ö²ñZØ!µv͈5õüú¨Ì¨²ê2á½ Wy¬ê¥ÛëØ£cI¯ÿwGb‡iÂ+L[äíè½ÿÁ~[][c—–{¿‡êúê„—¾§÷zîGs+k+O<9QPQ`¬a¼ÀeÁ`³Ám…M~æÍQWR?9çäæk›9Y>ŸïdäôÝðïluÿ Áïùe½g…í²õí㶇> ½öêZZIš€ Ô F÷½ÀeuRüZÒ~¿J­réÒ¥+Vðùü&ŸGLáóùGý`o@#u´µDp¹â®¸¼x‘åçÇNNNé´’º‡k¯®ù†ùn³mzß麡É7–„.9<ópƒ‹O»áÓG¦´Ü:õ7áë¯WìÚµ‹Fk9x„……õíÛ·sjëÞX,V«‹×´ èi%i[¯oUf(ëÝá‡ÞH¾¡ÌPsî }ñxu„,صk!„N§+üƒÁ—oâŒå©S§:½F §¤ëaæÃÙÇß,[2p‰èm;ÈæÑ›7ÞÜÑ[ ðùüˆˆ=„d3FAAÉdª¨¨(((°X,%%%EEE555ÑvUUUeåÿ-€&!HŸª¢êè^£¿tûRÚ…´399¹Ñ£W\¼ÈÞ³SJº:„Bi`2 ye²´«è>åñy´ æB! A(‚P¡B!ܧdNU]Õõäë٥ٵ¼Ú{,G“;vˆÅ~ý¨ûì×eéNu˜*Ý:?åÕåA1A}ôû ³&íZš† !€,)­*4)»,›Z´×³——“ß}o·ª¢ªðßø}‘ûôðo|ç(¯)ß}o÷œæˆ …{îí1Ò0šl?¹·+á˜øB!È’ce—e;:4È 3̵Ìåhr~n~ކŽÒ. šõGäL´o(”pLüÀH¡dIjI*!äÀÔZÊZÂF?7?éU]~`$‡P²!¥8åÂË ÏóŸB‚b‚äåþߟ/Ñ)bMzžÿ<6'–[Ëe³ØC-‡j+kSí<oïý½Úãmǧ§ÜK»WË«u4tt6rn0BIe '‹“ù&Sž.o£cãjæJ§Ñò²àeTf”Mn˜å0SMSBˆ@ ¸Ÿ~ÿeáK–Ë«§—h:_[ljɎI*JâÖp4Œ\Œ\z°zH¾ömíÛ믮ç–çê©ê´)~C¹å¹¡OCù~æ›ÌÝ÷vSS¦©Q¯Åï{“•´8&¥ƒ~`º1„B ©Å©Â°/r_ƒµ¢SÄxýöõ×ç¾~ñ@ØÂd07ŒÜ0­Ï4BH=¯~÷½ÝžÖž9e9;nïTŸ}gl³Uø–¯ýx"öD-¯VØb¦ivpúAs-sÑA’_'ÿqÿªÃÖë[Ÿôû`³Á>¡>œ,Õ¸óÎÎSsNYj[JR[“þyþOViVóŸ!„Ìuš«ÉÔlrUiUéÂÓ Ÿæ=¶(Ê+úõ_ಠŵ„gyÏ–„-)âQ‹=X=6Þ,¦’Üò\ê[Ë.Ë~}L©‰ßw1•ˆStÓôÐ!€l°Ð¶ðsóû÷å¿©Å©Ë-øÉx“q6þlsïâñy‹C?Ë{f¤näná®®¤žñ&ãÚ«k«/­¶Ò±Æ‚'¹On$ßj1ÔZǺ€[pñåÅÓq§ÇÛŽd6ˆêp7í®.K×ÑÐÑPݰ¦¾æeá˨Œ¨ï.|27D¸­ØœØÉ7<­=-´-’Š’n¥ÜZe}ãþ/ _Lë3Mƒ©q/í^BaÂÎÛ;÷MÙ'ym üóüŸÈôHñŸÕ8Ûqͅ ˜ §yOÙ,¶‡µ‡º’zNY'“ó(ûûį}[ûÖ'̧ˆ[d®eîfîÆãón§Þ^uq•˜J Ô üÜüöÜßc¨f8Åa Õh¨nØâ¾‹©¤¹1lºC`º%„B –Ú–~n~/ ^¤§~>èsEyEªýNê1ÿÆ_Mºú,ïÙǽ?Þ1~]îÝÙÞgyϦv8úðï§ZŠ+‹÷OÙïiíI-º›»ûï··Rn CáÆQ-´-¢2¢òÊóè ýû¿~û:6'öMÕaü*©*ùkú_C-†R‹«/­>w:&;æÊâ+l›R7¤nÔÁQ7Sn &am L¶ŸÜøÔvÏP •T–BÂç‡S%Bjyµñùñ’¬ý÷å¿…ÜBws÷?§ýÉ 3!UuUsOÌ¥ÞÕ$*ÀíÜk¢i":“ïRÂ%ñû.¦’æÆl C`º%„BèÎî§ß'„(3”¢¨SÃ@@jJjÏòž »õÖí-L„„êî*…ÜBaË“Ü' N-¨ç×7¿øm±0ڱ턉2Ølðé¸ÓS¦ c ƒÎèoÜ?ìYXÑÛ"]–®„µ5ðž×ð޲u<öx 'pFßZ4M® ¼WüÚÇÙ !ËÝ–S‰Âd0?ôùâÐÅ­-£Å}_IÇiÛ—Ð= @wFp:wJ|7}5}ÑEe†2!D£2¢vÞÞ©@Wð´ö4Õ4UVP¦ÚÝ´»±9±|_ø.=U=ÑA˜ fsUuU’×ÖÀ{Î)t3w;1ûÄ‘˜#3ͬ©¯±×³i3ò“~ŸP…‰_[V]Fi0uÏXøUõSZÜwñ•tœ¶})ÝB!tgêLuBÈlÇÙÚ* ¯U’W’p›)7 !LþÃÃÊCØø²ð¥Tj{Ï9…„ccBH!·“ÅÙv}Ûå„Ë'眔£É‰_«®¤NÉ.ËÖeé Gk1¡6I’}_gö‰aø IDATi—…PÝ™«‰kH\OÀûbð¢a¢ˆ[”W‘'á 4ÂRd [¢2¢n¼º!•ÚÞsNaTF”ƒ¾ƒŠ‚ !D—¥;Þvü­”[gžŸI+I³Ô¶¿ö#£Âž…í¹·GtNáÞȽ-î©]¡´ª´Uû.¾’&Çlíò £  ;×{\PLÐÉ''ï¦Ýd6H[Y»¼º<ýM:'“³¨ÿ¢>ú}$ÄÑÀ‘âê3ºçhMeÍW¯_ÝN¹­¥¬õúíëίí=çˆ:ð(ûÑ@Ó¦š¦ :#¡0áNê:®ÁÔhqíxÛñ¿ßýýnÚݱ‡Æº™»ñü[)·¨Sá¢ÎÆŸÍx“1­Ï45ªÅLËìEÁ‹oÎc¬a,G“›â0¥Å}_I“c©5ÞtkµË €ŒB(€îŒN£šqèû ßßH¾÷ßícØ,¶äÿÀ{õôú¸÷Çç_œyún„é}§«*¨FJ½¶Ör5u¥î¿#lQQPY;b-usfñkUTL=°$lIZIZZI!DGEg똭¾a¾¢›8óü •¨„Éló‚ï/~/¼æ—º§ ø}_Isc6ÞtkIåKè" @–Œï=¾7»·<ý¿¿]¦š¦ e»lÐ2ÑIošLÍ?§ý™Rœ“SRY¢¥¬e¦iæläLÝpDž.ïçæg¡m!ºªÑJÇJزkÂ.oGïçùÏi4š“¡“ƒ¾Ã½´{,E5ó¬ÉA̵ÌýÜü$‰a–ô”µ¨Éy-ÖÖ– \2×iîÃ̇TªÓWÓb1„º°¦Åµ„}‡kK®QO4a«²=­=AƒÝœd?ÉÑÐQ4–Mq˜b§g÷0óaYU™€¨{ Šß÷+irÌÆ›n÷€nŒ&¼}?€$ ¸\®˜/²üüØÉÉ)Vteø› -,‹ÍfKÞ¿¯áYP…€P¡B!„B …@ € A(‚P²eáé…›¯m~ŸЏEÞÁÞA1AíTQ³êxuÞÁÞ¿Þùµ£7$^lN¬w°·w°wlN¬t+€.N^Ú´BtVtu]õûŒPëádqlzØ´WI”¹'æÚêÚ®±ZØÂð9Y5%µöÝP«ÔóëW_Z\œ,ÞT½‘b%Ðõ!€, œÈRdI»Š&p²84MÚU4t ê@·`LÏ1.J»èê @–¸»H»™‘þ&}_ä¾ #7$%I»… Kž^h¡e±Ös­°%ãMFÈÓ¤¢$Ÿg¡m1Å~Š-ÛVô-q¹q§ãNç”çè«éÏì;SGE§ñ°eÕe¡OCcsb¹µ\6‹íÕÓËÃʃZUÇ«›wrž³±óƒ¿8{<*#Š/à;9Íuš«ÌP&„$%n¼º‘Çç=ÏîìM½kÝÈuZÔkŸw:îôÝ´»µ¼ZGCÇyNó:ç`çÚËkûô›Þgú–ë[:as ë @–4˜Sx)áÒŠó+êxuÔâíÔÛGbެó\7×i.Õú4tõ¥Õ|ŸZ þÍoŒ›»$t‰è”»°gaÓûNß6fùßÔ@–"kÁ©3Rn$ß~rÎIM¦fEM'‹C)¯.§^P¯©|iøÒÉ7¨Å[)·®&^ ý4”Ag4·[¯o}žÿ\üç°ããjb:„Ä…ÄæÄ^Xt¡ žÔ€® ¡dU·àÛ¿­ãÕî9zt¯Ñ 9ÆíÔÛ!OC~¼ö£“‘SovïÜòÜõWÖóü)S<¬zñˆr%åJtV´D"!„Hˆ„z^œ.íæfæ&M„„#m#?'¿ 'Ò^¥u±è¢ H i"$„¸›»BJ*]FnN今̈<ÿôü©Ù§4FSÆ€÷ B!¨+jWœ¡¶¡l£–F£U «!rW 4Ð2}ZQ]A‰Ï¯=¾SCú¸öå©q¨) ·:j*¡tŽcš8§ðç[?k±´~¸úïÉ%Y%Y„­7·þ~÷÷uCÖQÁ@B!¨+3¶!$!?ÁÖÈVÚ˜ø2Q"‘pô8„3]3BÈ“‚'æzæ²d±Ð· „lø`×”+7>“þïoÈ”¢”QìÙ!‰ù‰„jE„¼ÝÁØ,ÛÕÄ9…5oªßÔº0 ¯Š×ô  ]B(u5ÀaÀ‘‡GþwãΜ]:¸BòxyßD|C-"„ôwèòÓõŸM©S.’ “·ßüω&Ã\†ºèï'o³ÕÆÐ†jIDWR®ˆÄ"i·Wo^}õû¯ü¾Ò`hH$’ƒ÷ÆæÄÚÚH_¢«©›ËËKÄtZSoÚÄ9…›Gm–‹Œ>øóÒ³K«|WyYz¹š¹6±<h¯ @] rÔÛ¶wLVÌØ?ÆÚÙ±¬ôâôQ“©Óä.“©^–^qyqÃ÷ w0q‰E™%™.\ øÒAzZ÷œâ9%<>|pÐ`kCkS]Ó²ª²\^®@(XØ{á(·QT7GÇ 'Î%³3²Ë/Ï/âBV \%§§SLVÌÀ_ZXÒMö:…憎s kÏq¼’r…âÜÁYö<9Mý-€ªÐh´àIÁ“»L&’^œž\˜,‹>pþàHÀ-¦!„Ag웼owP,L)JI/NïkÛ÷Ç‘?ÊóÃðÖ YgÆ6Ë)͉ˋK/NKÄ#]GŽî4ZÚÇÞØ~×ø] #!?¡ˆ_¤§©·iĦ‘®#¥V\ÝÝáEÙ‹{9÷bsb¥×)P´æš‚>Ÿ¯ Ã… ìåË9iié ú4Ú½œ{lM¶ô*€”7Õož?±­¡­Üy'”~Á Þ Ž§£~GPðèÅ#ŽGî~‰$«4ëuÅkccK}KéôAPÐykg?'¿ IA5¢šÔW©b‰Ø¹ƒ³CCn-"‰(íUZYU™X"v3sck²ïåÜ3Ò6rîà,í#–ˆïåÜ3Ö1v2uj–7DY%Y/Ë_ºtp©óÍhi-ú;`³Ù§á~ÿ‡@Ôyïc] ] ¯â°9öÛߌšLÍ:¢Òh4;#;ÅW{f1X²¦‘à1¨©RµWD§Ñ[ÿ®­‘­ì¹8uÂác@(>PŒÅ`…„i©º€–…P ˆJf´>>„B@(‚P¡B!„B …m‡Ç6€UWï)„B€6Êe‹ËÌc3U]¼/pG€¶"ñ³DU—ï/ì)„BP¡€ûwÑÉEy¼¼å§—{ïôæþÄ­¨©µTÿ_úK»åñò¸?q¹?qÓ^¥I‡ù`ß-TØ;PßV™9…÷sïsâŠÄ¢èÌhj(îOÜ»Ùw©¡bsbœXà½ÓÛu‹ëÀ_þxýG¾€ßB›ï>5ëâùÿé_À/ žŠÅb{Ÿý±ûÓ‹ÓM !‘™‘„:~;ã6×”KÉååf•dÍè>£¾1g›­x½ó#¨ñkkDµ·BÉÍ ýúò׉„zšËËÝ»?:3:lF˜6K[ÉAjÞBP3÷rîu4èxbæ‰Ç«§}‘ÆÖd÷·ïO¹q›êpûùmGÇ.]"3"¥-„{Ÿ*©ÔÞ Ù½­¼Ó¾HcÐ}íú¦}‘Fý×˦WNiΆ+ô5õñãï<]ýôÒ¼K#\G$&º¨…¶ÞØSjF‡¥<)ØXÇXÚâmí­ÉԌ̈œí=[,ÇdÇŒï<ž­ÉÞ»¿FTÃb°"3#4F/ë^õyxÚᦔԈjo…2N?>- 7ß8ÂuÕÂ5åî»ã~îý+)WõYÔ”­€÷B!¨™NœNrYJ‹©åmå}7ûn¨æiÁÓÒÊR{¶&{OÔž¹zX÷¸“u§«eW¹½qͨÔÞ e¤¾J%„¬8³bÅ™Ôd ‘Ph„Ö|ï#„BP3†Ú†µûÙõ‹ÊŒºŸ{ÿaÞC †F/›^L ¶&;23R‹¥UVUæc§èØqç6¢€:·¢Ab‰˜"‹j/ªU7b@)„Bhú;ôßrcKdFäü‡Ý­ºS§\ô¶é}ûùmM†&iÉ …-WЄ"¡l •JM;ÔÏ®_3ðB!´®\MtL®¤^É.ÉþtÀ§T£½Ï†+"ž¦^‹. ^ÞÄ9…M/ N†Ú†©¯R³K³­ ¬è4:!d‚Ç„ ;A+Ϭ\å»ÊÇÞÇT×”WÅË,É<ŸtžÃæ`N!4B!´4­Ÿ}¿3OÎÿ?˜âcï#‘HÒ^¥ uÊ 3Ô®€Þ6½Ï%4˜zÒ˦×÷ÿ_±~íŵrö^Ø´-€÷.IÍLSSB©®níó¨I{&:&nfnT‹‘•iùcÇ-TÀ—C¾î2ÜPÛFû÷Íô÷ôŸ>Úm´ÛŒIgš±ÍzZ÷ÜðÁ†Å}7ÇF4¿ª*š––DÕU@ÃhÒ+ (£  €ÏWtÿŒ´¦NµŒŠÊâp„ ºÀ{âÀÃýû ¢¢²T]È{‡Ífs8åûcO!43GÇBȳgª.Ú„” .·FÕU@à  ™ŠìíkbbpË5 „˜í®]«T]4 ¡šß Ao.]ÒÅäHHÐÌÍeüFÕ…@à  ùM™RžÍºySGÕ…€Š…„8;W{z T]4 ¡šŸ“SõàÁo¶l1‰pï5€÷WR’æéÓz –ªºP B!´ˆ¯¾*ÎÊb=ª¯êB@e¾ÿÞ¤K—ª±cËU](¡Z„MÍœ9¼Ÿ6NOg©ºPC‡ îß×þæ›W40P…ÐR–-{íèX=w®Åë×-{7hknßÖÙ´ÉdåÊbwwÌ&T…ÐR45%AA/ ¡-YbÎçã· Àû">^sÙ2ÎøñüE‹0›Pà×4´ Ѿ}ùÙÙ,ËÜ\Ül ý»t‰héí]µqc‘ªkwƒP-ËÉ©úäÉ\C2i’Õ¸H @»%Ðvì0^¶Œ3eJYpp>‹…K•ª„BhqÂãÇ_ôí[9ožÅ‚™™8õ ½¹|Ywøpë 6l(úúëW L$VC4 î9 €Ïç7îµwïj÷iz:ËÏïÍ„ ü¾}+´µñ+@½|ɼvM÷øq½¤$ͱcË׬ymf&TuQð›Íæp8Ê÷G(€wÓ”PH‰hçαCCõ>Ô¢Ó%5ŽÍ7c…ÐÒÄbGÏÌd½|ÉÔÖþfæLž‡N4n[  e51J½zŸ{W;)I£¸˜Éçã:fíPAÁ¹ÄÄÅ~~9ª.šNôõÅÖÖ5; ¼½«45‘%Ú"„BhYÍ ¡Ý»páÂòåËÓÒÒT]À{ê]C!N4„B@(‚P¡B!„B …@ €ÂTu f tuuU]¨BÈ;ÝPš“ùn1¡Þ–––ªKõ@}UØl¶ª ¥àð1 B!„B …@ € A(‚P¡B!„B …@ € A(‚P¡B!„B …@ €B“H$ª®Úƒüü|kkk‘HT_‡ܼy³5KåaO!4 V_‡?ü°5ë€w‚PÍfÆŒtzÝY Æ”)SZ¹PSÕ€š)((àóùª®Ú¨nݺչ§Á`øøø”–––––¶~Uï'6›Íáp”ï=…Ðlôõõ ÀdÊïqH$ãÆSII $„BhNãÆ«}® “ÉôóóSI= $„BhN~~~ZZZ²-L&sèС:::ª* ”PÍISSsèС²GE"Ž´}…ÐÌÆŽ+ ¥Outtú÷ï¯Âz@…ÐÌú÷ﯯ¯O=f2™£Gf±Xª- „PÍŒÁ`Hƒ P(;v¬ª+€†!@ó3fLMM !ÄØØ¸Gª.†PÍÏÛÛÛÌÌŒ2a„úîqm îh*S]MKMÕ(.f¼yƒÐÐyxL¾ví#£)/²U] 43M¢¯/¶¶ZYÕÔ³kP34‰D¢ê@4ý6w<ý¯¿ô._Ö}ð@K$Âß“v,ŽBRU]´ qÿþcÇò}}ß0ª®þë]os‡=…Ðz*+iûöíÛgH§K†}3mZaçÎss‘®®XÕ¥AKÐ?wîãÑ£ÓU]4?±˜ðxŒ¬,V\œÖµk: šÛØÔ¬[W!À{‚F#Ë—¿æói_|afe%ôòÂϾÚÀách)ºÁÁF›6õî]©êZ U}ñEq¿~‹›—–âB5j¡ZDe%í‡L'M*Ÿ8±\Õµ@k£ÓÉöí…t:ùùg#U×ÊB(€ñÛoF<}åÊbUªÁf‹W­*>vÌ )ICÕµ€R  ùñxôß7üøã33œkÜž}ûí·\.—Ëå´æz?ùäj½üqk®ÞÕ„ åîî‚;ŒU](¡šß_éÑé’€€2Uï‹sçÎQ1±S§Nª®þE£‘¹sKoÜÐ}ù'¶ª„Bh~—/ëúW¨€¡Cßhi‰¯]ÓUu!Ð0„BhfíáC­*T]´[;wîLKKKKKÛ³gªk°X’>}*ïÜÁ=NÔB!4³ôt ¡Ö¹sµª y/Èή+,,\±b…··7—Ë-++ûßÿþÇ•ááá1tèÐõë×ggg×7BYYÙW_}Õ£G//¯©S§Þ¹sG¶ç“'O>úè#OOO//¯¥K—æåå)Yä¨UL:•j©©©qwwçr¹...ååoÏOŸ;w.Õm×®]Š7MnN!—Ë]±b5Huuµt“èF>Ÿÿ믿Nœ8±k×®®®®ýû÷_µjÕ³gÏù¦Ã;êÔIðìÎ5Q8Æͬ°A±°ªº÷Kii©¿¿nnn}*++322222þþûï°°0WWW¹åååS§NMMM¥ž>xð`öìÙ§OŸvss£žÎš5«ªêí…ˆ#"">|èéé©Lm>>>ÔƒøøøÊÊJmmíGQC‰D¢{÷î <˜z ×_ÉMS,++kæÌ™²6??ÿôéÓçÏŸß¾}ûˆ#7,(ÏÂBDýZ€6{  ™UVÒ !ÚÚ˜Pتbbb\\\®\¹’’’’––¦¯¯¿zõê´ÿ—””1`ÀBHEEŶmÛjÕµk×»wïž={ÖÌÌŒ"‰þüóOBˆD"Y»v-ã¸\îùóçþœjY³f‹‹‹ÁÒ¥KeGxôè÷¿Ö®]K-’îü‹‰‰‘þ¿sçÎÒÇҘاOã?{•ošbñññIIIÔãÍ›7;::êèèÌœ9ÓÝÝ"Nž<ù®c»¢ÑH­¯´E8| ÐtêÔI[û?sù‹ŠŠ8•““SQQ!ý{ÍÈÊÊJ>Ÿ¯§§'ÛßÍÍMCãíÄ/6›M= öÞeddH»QINºÒ””eÊóññ9uê!äÎ;àÑ£G„O>ùdÁ‚ÉÉÉ¥¥¥ÒP(wì¸ÎMSžlyƒ®Ý!99¹q#´?…í\Â+++›0aÂË—/ëë/ÊOú”ABH#öÉ)æããC£Ñ$ÉãÇoݺU]]mdd4hÐ kk뜜œ[·nÅÅÅQ=û÷ï/÷Z¹Mk^Tê‚PÐ.]¿~J„t:=((¨oß¾ZZZ—.]jÜ-@ìíí¥Ÿ}úBz÷îMdòÖÞM¨$éÙ'555=’Fî]»RgOB>ù䓸øøªªª’’’'Ož>|øÃ?LHHhÜÚì)h‡|||ÌÌÌ E"uu@6eÊ”úöä)F§Ó7mÚ4{öl@šš:jÔ(BH‡üüü”<™*)88Xú”ŠƒT4”íÓˆò!]»vÕÑÑ¡ŽOž<™jŒŒŒ477ß½{÷Ì™3_¼x7iÒ$¹ŠÅ8Mà-ì)h‡ =:bÄSSS---   *Ì5N=Ž;æã㣣£Ãf³?øàƒððpsssåGðöö–ž/bjjêèèH133“îƒd0rQyzzzûöíëÞ½{íSRììì.\¸°jÕª®]»êéé1 333OOϹsç?~\ÉK-¼hµ¯J @AAŸÏWÐáÂöò圴´ôV+ Ú2üNP6›Íáp”ï=…€P…@ € A(‚P¡B!„B …@ @½üúkÊÉ“Yª®¢m¶09ruÊ>‰$»v%Ÿ;—Û¼«uPêä—_’OžÌVuuh³…É‘«Sö©P(Þµ+©é¡P]Þ ÃTuï`ÉW33MUWQ‡6[˜b-Q¶š¾€PêdñbgU—P·6[˜b-Q¶š¾€Pêä×_SÌÌ4'M²•¶ˆD’è袔”2‘Hìè¨ïãÓAS“!÷ªÇKãâ^óùBGË×—cb¢)}íÞ½ÏØ£G[¥§—GFVW‹½¼Œ½½MäFxóFxíZþ‹•ææÚC‡ZˆD’ƒÓ»t18мvaÊ« ¶ÖQûý¤$%ñbbŠÄbâímâéi$·ôõkAlì«ìì7L&ÝÙY¿OŸ MÁ˜Ê|F r… N~ù%ÙÃÃH8ÒÒÊ/ŽÉÈàK;p8Z»w÷fúØ IDATêÖ͘zúê•àÓOïݹS$í ­Íüæ›.“'Û’ÿŸEççg‘—W±uë‰ämÛM›ºI_’˜X²`ALQQõÔÌLkãF¯]»’¤¡P¶0%‡U\[þú+;'§Bñ[4c†ƒ‘‘†â>Rrï'eëÖ'AA)Ò§ãÆYoÙÒ]û¾ÿ>!44£ºZ,í`gÇÞ·¯½=»Î1üŒ @(uUY)œ;7:/¯¢cG__‹EŠ*LO/Ÿ?ÿÎÅ‹CÌÌ´D"ÉüùwK¬¬tû÷730ÐÈÊâ_½š¿n]—«ßµëÛ`½¾~ý¥¯¯¹““^AAÕ… ¹aaY£G[÷íÛòæpᘢ¢*{{¶™H$¹u«`íÚ‡ –§xX%k“ó×_ÙÑÑEu.’5ÊRùPXÛǯ¯^Í÷õå89éççWFDäýýwŽ{Ù2WªÃíÛ…ffÚ^^F––:˜Ú§øùçÂÃ}kÖàgÔè: Ù!€º:{6//¯¢[7ãC‡|´µ„¡P²bŽK—òŽÍX±Âíò剉%cÆXmÝê-ÝÑ•˜X2yòÍ?þHÛ¹³ÕR\,øõ×Þ~~ÔÓþýÍV¯~pãÆK*½=›[XX5`'8¸7‹E'„TV gÍŠ*.(.Oñ°JÖ&gÂooSÅë56nÒèׯ[¶tŸ8цzÏõ÷¿ùÇiK–¸PunØàéà S”Ÿ_¡¡!îÙÓôÕ«ª¸¸×%%ÕµÃhƒŸQSJ€æ…PêêáÃbBÈ'Ÿ¸QiƒÂdÒV­êtéRރń¨¨BBˆŽ3((E"‘B$"‘HôõY‰‰%Òq:u2”F7BuD¸°ðíÁ⸸ׄeË\©DHÑÖf.Yâ2oÞÅå)VÉÚäL˜`ÓðûÒ4vvli"$„xz jqéÒ‹ÔÔ2WWBÈ£G%sæD …¹ j‡Â?#h; @]ñxÕ„¶l£µµ.FJK« !¯_WBŽÏT<Ž……¶ìS·;´d×bi©#ÛÇÊJ·Áò«dmrš}NamVV:r-ÖÖº„²²BHLLѶmO44è~~æ¶¶º::LvûvA\Ük±X>&%>#h; @]hB²³ùÖÖÿ昜œ7 14Ôv˜>ÝÞÄD~îš––²—î§ÉË«—›û¦iµ7²¶V˜S˜›+:srÞBôõY„þyIÙ³§çàÁÿîMJ*­o´?#h; @]uëfrâDÖîÝÉݺkk3 !"‘dûö§„îÝM!}ú˜†‡gŠD’?v¡Óÿ½fJQQU~~¥’kñò2>y2kïÞgAA½™L!D ÉžœÛ8«­æffòOÊ–™SXråJ¾¾>ËÉIŸB£Ñ!l6KÚ?&¦èúõ—õÖàgmB!¨«1c,÷îM¾¿xøðkÒ3[ÓÒÊ 4ì !£FY<˜~ìXæíÛ…}ûš™˜h”•Õdfòcc_ÍëÔ¥KÝgøÖZ‹ÕÎI7n¼9òš™H$¾u« ¢BD¡Ñ|u½W[+Ì)46ÖüüóçÏç:;ë¿xQ‘'IæÌáRg™xyB.Œ>¼£‘‘fjjÙÍ›ÆÆ¯^Õ}ÚMƒŸ´… ®´µ™û÷÷¥®wôhÕhf¦µ{wOêP/ƒAÛ¿¿ïš5®_ž)}!‡£¥d"$„èê2ƒ‚z/XpçùóòçÏË !:h­[çñÙg÷utÿ+´Yjk ݺ;:ê§Ü¼Y@µŒg½d‰ õxذŽcÆX=›žEµL™b§§Ç

¸v-??¿ÒÜ\ÛÏÏâúõ|òßSId SrXŵµ¹7°Î²G¶9Ò26¶X,–tïn"wÑÄŸîàðøq)Fºw7öð0ŠŒ,d³YÒ{±¼ëgmM"©ã|1€úðù|.\`/_ÎIKKoµ’ZZZZ¹¥¥Žô¢*%%ÕS§Þzþ¼üܹÁÔUZ@ö÷;A]°Ùl‡£|ì)hÀ/ƒ‚Rúöí`e¥[PPyãFWݧO$BhO àä¤/ˆ.\È“¶xxmÛæ­Â’šB!@|}9QQ#îÜ)ÊÉyÃ`Ð;u2èÙÓ´)§´A… Ó×g ÖQÕU´ e¯éíB! B!„B …@ € €©Õ„l¿µ]Õ…(——'mT‹Êà=‡‹W€ÚKı9±úZúª.¤^B±pÝÅuiÅi‰¤¤²DÚÞö+ÀžB€f\À/á2BÕ…¼3„B€æ‘Y’ùKô/_ úÂŒm¦êZÞ€ú©U;“#–ˆ»[uŸÑ}†KGº´_žžR”Âð­ ­|ì|üœüh4ZKWõÕ¥¯ºvì:¥Ë”®ýÐ`g‰D²7zotfôx÷ñþžþ-]@ƒ @͈%â9ÇçÜ;K=½žvýTâ©cÇŒ´!)E)þGüù¾´ÈÃOÿM#6Õ7à¦k›¿|¬x¥[Çlí¨ßQA‡ðøð¸¼¸ósÏ+“>BÁçç?¿|aY¿eH„ÐF €š¹õü[“ýùÀÏLòËó÷ÝÝ—^œ¾ñêÆmc¶BŽ=:Æð:ï>ÞPË0——™Y.(W0`rQrlN¬â•VÖT*Xúºâõæ›—û,·3²k°þWo^-<±0¹(ùç±?vÝ`€ÖPjFB$‡§îÄéD=á:bèoCÏ'ÿ~ø÷:,&IÙ:z«¡¶!ÕaZ×ieUe \;hm™@QBˆâÝ„¯m´Ð³˜×k^ƒÅ?+z6?|¾@( éÚ±kƒýZ B!¨737i"$„iù9ùH8‘ö*­‹E—½>üëñ_ N,ï>ÞÝÜÝ¥ƒ‹&SSñµ`Ü8nM©'2#òüÓó§fŸbЊ{>+zæÿ§¿…¾EèôPK˦¬ Ù!€š©ð ´ !¡€boluáÕ3OÎDgFˆ=ð¢ì…½Ïç?çšrë°‰s ¾õ³K뇫ÿž\’U’EÙzsëïw_7d»¹;ÕÎb°tFYUÙ›ê7 o'@ëB(5“R”R#ªa1XÒ–ÄüDBGC=5Ð2˜Ñ}ÆŒî3!…üÂE'Í<6óŸEÿh25ë°‰s +j*ÞT¿©=BJQ !„WÅ“¶8;ì¿{öñÙ†|øû”ß½,½¯ 5!€šyõæÕ÷W¿ÿÊï+ ††D"9xÿ`lN¬¡¡ !äàýƒ®\{Ûö¦:i±5Ù…ù…™%™.\ê°‰s 7Ú,ÿ|ðç¥g—Vù®ò²ôr5s•]äÒÁåxàñ™¡3g›ùëÄ_}ì}”Ùd€V€PjÆÑÄñD‰sIçìŒìòËó‹øE„UWQKo¦ßÜxu£®†®¡SãyñórA¹‘¶ëÔÄ9…],ºÈµ\I¹BqîàÜ˦Wíþ6†6a3ÂæŸ3ÿÄümc¶tÙ”µ4ÜÑÔŒ½±ý®ñ»4FB~B¿HOSoÓˆMÒh5§Çœ~vý*j*’ “â_Ä— Ê{Ùô:8í 6K[µeË2c›~ÔÝÜ}Åß+Ž=:¦êrÁžBP#,+$ ÄHÛȹƒ³ïǾ©¯Rűsg ††´Ï‡TÔTd•dI$ } ê¢Ö­iF÷C‡Ê­–V.m1Ð28<ípB~FID ž¹ ÐÒ @mÐitéYƒ%{a9:,7³&n [#[[#[ÙÙÊ¥´YÚu_P >„B@(‚P¡B!„B …@ € A(‚Pê.——Ëý‰ûíåo¥-Û<BTWQs*«*;—tîÓ3ŸvÛÑû÷7þ§êŠ Ýbªºõã²Å¥—M¯ÃÓ·ôŠÖG¬?Ÿt¾¥×@  ýIü,QÕ%4-ƒÑn£sW +¿¼ø¥ªËh´Ê´´4.—«ê2@„B€¶ë»aßQ.=»¤ÚJšæÚðácGŒ1lØ0777U×u@(u"–ˆÄ8öèX^Yž¹žy€WÀ×r}<¶yx˜{~”" :oíìçä·Þoýæ6GgE—V–&|– Ã҉͉ýýîïóò|s=óa.Öõ[ÆÖdKǹ—sïÀ½s– Ê­ ­?pþ`^¯y©¯R§™F‰ÎŒæþôv·GH@H/›^­õ¨£‘¡¡¡'OžÜ³g­­í¸qã¦M›fff¦êÂà_… N¾¹üMh\(õ8§4gó?›Ÿ¼|Òà«xU<ÿ?ý øÔS±Xúõå¯% Õ’ËËÝ»?:3:lF˜6K›òçƒ?¿»ú´Czqú¯w~¥Ñh(_íÌc3£3£÷‰˜áhâ¨ü˜ê‰Þ£G=z|ùå— .\ Ù»wïСC§OŸÞ»wo¦ê ¡ÔGB~Bh\([“½Þoýî¡XxéÙ¥¯ÿØà ïåÜó²ôÚ;q¯«™«S+§4gÕ úšú_ úb ã@mƒì’ì‘;/&_‹2^gl¼¶‘N£Ïí5wJ—)úy¼¼Ë)—5™šÞVÞi_¤µÚ‰&í Fóôôôôôüì³Ï.]º2cÆ GGÇ%K–Œ3†NÇEQT ¡ÔFijBÈê«'yL¢Z»òªx?ßúYñ uX:Á“‚uŒ©§§ŸŠ…‡o”zæšrwŒÝq?÷þ•”+‹ú,úûÉß"±hIß%+¬¤:8š8.î³ø] Fj¨††ÆØ±cÇŽ›””ôÇ|þùçûöíûì³Ï ¤êÒÞ_ˆä 6²J²!ýíûË6°oøxn'N'i"$„¤¾J%„¬8³Âe‹‹ófgçÍÎN›\¶¸ñ‹òËó !éÅé„.ò³ Ù¹¹¹mÙ²åüùó666 ,˜6mZJJŠª‹zOaO!´†Ú†²OÅ1!D$ÕîY-ª–>nú$'Ì)P—Ëýå—_âããøá‡ &¬\¹rΜ98šÜÊ @mØÙBngÜžî5]Úx+ãÖ»ŽC…°CÓõ³ë§ ÃÅä‹®f®uv šP$|×õ€bžžž¡¡¡ûöíÛºuë?ÿü³eË–Ž;ªº¨÷B!¨a.Âc‚ÿwãZL­!Ü!"‰èbòÅ_¢y×q&xLº´òÌÊU¾«|ì}LuMyU¼Ì’ÌóIç9l΢>‹Æu÷ë_ƒb‚DÑä.“ÍõÌ_ð^\N¹¬ÁÔø¨ÇG„CmÃÔW©Ù¥ÙVVtZ½;30§à]1ŒE‹ 0`åÊ•'N öôôTuQï „BP],º|èõah\èšók¤£ÝFŸK:÷NãØÙ}?üûõë×^\+·haï…„{cûuƒ×m¼¶1èNPÐ éÒ%}—PzÛô>—tnpÐ`êiË]§0,>lÝÅuÒ§Á1ÁÁ1Á„Ànß~ðmK¬ -èÔ©Ó©S§–/_¸ÿþž={ªº¢÷B!¨“ l°5´¥.^Ías¦u6ºÓ;‡BBˆ¿§¿«™ëر9±¯+^ëÛÙr5®ó8ªÃ,ïYΜÜ;—WYSimh=ÌyØG=?¢–~9äK¡X“ëâI¯eÍHGG'88xÅŠóçÏ?r䈇‡‡ª+jÿhøu鸞 €Ïç+èpá{ùrNZZz«•mYS~'…Ây󿥧§Ÿ>}ÚÄÄD™—xxxxxx=z´«kº²²²[·n]»víæÍ›eee .\½zuínùùùÛ¶m»}ûvyy¹­­m@@@```³_Á›Ífs8åûã¼h£˜LæŽ; Æ×_­êZ”²~ýú+Vœ={¶¬¬¬¾>ùùù“&M:}útqqquuujjê† 6lØÐšuÖ ¡Ú.CCÃ~øáòåË7oÞT¦bb¢ªvB F½}ûö~ø¡¾>›7o.,,ìÛ·ïÕ«WŸlذ7H{zxxPçÏŸÏ­‹ì®ÄØØØ x{{»ºº8ðÇT.ß|óMhh(µ4''ç§Ÿ~zò䉒«h4„Bhëh4ZïÞ½=zTTTDY¹rå”)S sss£¢¢¨¤UÛ¾}ûdŸæåå®Y³ÆÛÛ›’““³aÃ}}ý/¾øbàÀÙÙÙ;wî¼xñâ¡C‡-ZÔBí†400k744|ùòeee¥®®n|||hh(›Í^¿~ý!C„BáåË—7mÚÔõÈB(5àââÙ½{wBȸqã:tè@±·····Wæå³fÍZ±bÅðáé–Ó§O …Â7Ž1‚jár¹;vì¸ÿþ•+W¨Pxøp3ß—¨¾KʶGDDBV¯^=iÒ$ª% €ÇãmÛ¶­y‹‘ƒPjÀÈȨ´´tΜ9±±±£Fòõõuwwwww÷ööf±XŠ_ûêÕ«™3g.Z´hܸqÒÆÔÔTBÈŠ+V¬XAe2‰DB=höKJéééBx<ž\;Çc0Ô1ëììlBHÿþýe;ôïß¡€…BƒÁf³ÿüóÏ”””»wï&''Ÿ8qâõë×ß~ûí¨Q£ê{aIIÉÌ™3gΜ9yòdÙv±XL‰Dµ_R]]M=hö9…¶¶¶„””ÙÆÒÒÒ‚‚[[[jB!E.˜¶ÂÝF @ ›ššR¥çj,]ºtÕªU>>>µ'êBx<Þ¬Y³¦L™2}út¹ET’;tèP¿~ýZ²ðÿðòòb2™ÿüóOYY™ôä3gÎH$’=zPOmll!·nÝ’­9**ª¥kC(5––fmm½víZssó!C†ØÚÚ²X¬gÏž¥¦¦ÖÔÔÔ…|>Μ9#GŽœ3gNí'L˜´råJ*Sšššòx¼ÌÌÌóçÏs8œšS¨§§7|øðsçÎ-[¶ì»ï¾377¿qãu\xêÔ©TŸaÆýöÛo[·nÕÕÕ8p X,¾|ùòÞ½{›·’Ú @ ÄÄÄÞ½{7<<|÷îݲ‹:uêÄårk¿dáÂ… [·n•mÿî»ïììì¾ÿþûõëׯ]»¶ö WdXXغuë¤Oƒƒƒƒƒƒ !ÒK ®Y³æîÝ»QQQC† ‘ö ”^¹ÚÓÓÓßß?,,lÕªUÒ£F:þ|ƒ³'›¯õ–ËËåþÄýöò·Òm!-ºÒÝ‘»ÿzüW‹®¢uÄåÅqâžyrFÕ…4¬•ßóF|‹š±B¾€ïìÇý‰Kýw=íz³ «Xí¥6åîÝ»/_¾ôõõݼyóÊ•+»t颧§Çf³—/_";OêéӧЇõ÷÷=z´™™“É433ëÙ³ç† /^Ü2ÛA!'Ož7nœ±±±††—Ëýúë¯ånî¼qãÆÕ«W󯯡X,kkë5kÖ|øá‡„ÙK^7;ì)€öfIß%fl³]Åžè=½lzMpŸÐ¢ki×Ò®1h _Ƕ~ë0Òêïy#¾EÍXáѸ£™%™^–^½mz³,{c¥.¹Ò¾ýöÛo½zõrss#„,Y²dÉ’%õõLLL”>Ž‹‹kpä.]ºìر£YŠ$„øûûûûû7Ø­cÇŽŠO%¦Óé .”ÝaIÝ@Oîª×Í ¡Ú›Å}ZðŸøí̵ÔkÞÖÞZuLÏÏ©ö[”ú*•<)ØXÇX…e´7oÞ¼yóæÁƒU]Hë {ýúõСC--- O:¢««+wšæ…PjæMõ›k©×^”½0×3ê<´v‡_ïüjÆ6›ä1‰"’ˆöFíu0qí6:½8=:3º¤²dqŸÅ,‹òøå㸼8~5ŸÃæø:úšè˜È •Tô0ïa¹ ÜÆÈ¦¯m_CmÃe/N$œKÄÙ%Ù»"wQÝ&zL´2°¢VR”"‹M}ì|4™šTŸ:+™í=ûàýƒ6†6ãÝÇË®W,Ý 2Ô6 ðjÁã๼ÜÔW©ë†¬“+/© )&;†N£thkdK‘H$Q™QI…Il ö0—arIEÁV—V–~p¸‹E—Ž¥ý©Æ®»pPû‰Ìˆ¬U{Yzy[ySý¿çrþ³!…I1Y1b‰ØÛÚÛÓ³vÏúÊ& ¿EM¬PñÚÓ‹ÓÏ'Ï'„¼IgiÍè>£¾qîçÞO)Já øV†V=¬zt`wP~iƒ?JmÇûòË/ÇŽëãã£êZZOYYÙÖ­[å¦B~ùå—:::-·R„BP'‰ù‰ N.(âQO;°;l¾Q®Ï/Ñ¿x˜{PÎ…"á®È]~N~©E©{£ßž»7·ç\^ïÓ3ŸÞɺ#}•6Kû›¡ßLîòö2fEü¢ÏÎ}ùïõÉt5t7ÚlªkJýÕÏååJÿü÷²éee`•ö*mñ©Å¯3¤/á°9»'ìîfÙMA%w²îÇth¨m(}áÍô›ÛomÿtÀ§õ½=þ+§4Gñ{5£û #m#®¥^#„ æ–-/íUÚž¨·÷ÝtmÓÎñ;ûÙõ[xbalN,Õ¸íÖ¶ãÇMÞ^•MñVóªx»"wv ” …TãlïÙT(”®:—·õæVéÅØü=ý7ØDyQö¢¾÷¼öFIGK.Lº$m×yÜ–Ñ[4†2e“z¾EÍR¡âµ?/~.á—è_!&u†ÂÒÊÒÂ>JÈO¶h25Wù®šÓcNƒK‰r?JmAuu55½OnÊ]»7uêÔ²²²k×®egg3ŒN:Í›7oðàÁ-ºR„BPoªß,<¹°ˆ_dolïcï#‹n>¿¹ö‚üiƒµÅåÅ]M½Úß¾¿ÇM‹©E§Ñ矘Ÿ˜Ÿhe`Õß¡¿–AVIÖÕÔ«ë.®ãšr»vì* ? ÿ(© IWCw0w°…¾E//*3êiÁÓi]§-÷Y¾;j·¥¾åD‰Ôø––•5•sÃçæñò:êwôuôeÑYQ™QéÅéóÃç_œwQ:;M®ƒ5Ë{ÖÇ}|"áļ^ó¤‡Ä…h04>ìúa}[ô×ã¿dkF¹j ¦]s0q°3²“}£®§]÷sòs0qH)J¹‘~ã눯{Z÷|Zøtr—Ɇچ‘‘É…ÉÛnnûeâ/„%·Z^<ºžvÝ×Á×ÉÔ©€_p!éBX|Øh·Ñ}íúvÔïXç{®`´‡y¯¦^õuðuêà”_–ñ,âï'ÛÙ-óYÖè²›«BÅkw0qXî³ü\Ò¹çÅÏ—ô]Bí)¬sœƒ÷&ä'pØœÁNƒ ´ òxy±Ù±rP±OñÒFÿ(µ‰Drîܹ1cÆÈµ×ÔÔ¬\¹2))騱c†††u¾¶½ÒÓÓ[¹råÊ•+[s¥… 6Î%+äö·ïÿÛäߨ㿕5•3Bg¼®x­ø…ÅÅÛÆl×ùíí­.&_LÌOÓiÌÖÑ[ô·»Žó'žüǽ?vŽÛy>é|RA’“©Ó‘€#ÒcÊoªßd—fSþ÷Fïµ1²Yî³\ºŠ°ø°<^^7Ën‡¦ÒfiB„b኿W\zvéhÜÑýWÔY !d¨ÓÐŽúÆÛs.uƒ\^î­ç·&¸OP0Ÿl‚ûé±Ëú(žŽÆðc³c¥û(¯+_ÿ>åw_‡·ç¬»¸.,>ì~îýˆù6‡R3 æƒ}ü“þD"¡ÑhgŸžUf«•Q\QüëÄ_ýœü¨§ýíû¯>·úFú iäªýž+ðºâõ–Q[¤ù,>?Þÿ°ÿ÷ÿXÒo ƒÆh\ÙÍUaƒk_î³üiÁÓçÅÏ—ö<‰&Ò IDAT]*{D»ö6BNÍ>E}4„jQõ“—O”YÚ襖PSS³víÚÓ§O»ºº:99IÛù|þÒ¥Kããã÷íÛçââÒú…½‡ @m<Ì}HY泌ú3FÑfi/í»tþ‰ùŠ_hol/›Ã¢2£!:, ˜ oxJ$úZú‰ù‰„˜¬BÈšAkdgêj躙¹Õ[[ÞCBÈ'ý?¡þÌB˜t檫.=»ô ÷A}•BtF`·À-7¶ÜθMN=wT,Ïòž¥`‹š~Šë­Œ[B±:v,Õ™ÓYš !ýìú…ŇMò˜$ ,«§uÏ“‰'‹Þ™±Í”Üjet2ë$Í[„êps!¿PÁKBâBŠßKŸNï6]úyÙÙI!!ÄÓÂs¨óÐKÏ.¥¥ºš¹6®ì檰k¯sœœ?8wô@ìOc¦ÁÐð²ô¢ú(^Úè¥fWVV¶xñâû÷ï3ŒcÇŽ­_¿žjOIIùä“Ox<^hh(uÆ1´„BP¼*!Dnž–µ¡uƒ/´3¶“}Jí9¼¾þ¥U¥„‡w­ÍÆÐæ?µXÓh´ÒÊÒú*¡Lí:uwÔî# pP-ªïaÝ£§“‚Õ5}NáµÔk†Ú†Ò)ts=sÙ§Tj©³±²¦’(½Õʰз}ªÃÒ!„ÅB/9òàu–.e¸Ëpi(´2”ŸÌG}OÊe.»¹*lÄÚëÇÇÞ'tzè¡û‡¦™* ÜÍ݇:ý°ë‡Ô¤xi£”šWAAÁìÙ³322¨»‡‡‡¯^½ZCCãÏ?ÿܲe‹‡‡Çþýû;vìØÊU½Ï @mPWNÉååÊÎúj0B¤§¼GÛ€2Ýkº‰®üéÆZL-Bˆ¡–!!äyñs¹¿Ü Ö–]š-û—5‡—#‘HdÏ ‘«DúÚqÇQ csbK*Kï&$MžSHÍ!óuð•=oœ·šŠ 5²¯zQö¢)+• ì(»ÿLöÓÌ-Í•ëL}Oô5õ•)»¹ÔYa#Ö^ß–ö°îÑú!¤_›ûãµ/%_:xŒN£+^Úè¥f”””4gΜÒÒR¡ðm°®ªªúý÷߯_¿þäÉ“¥K—.]º”ÁhÒ÷ÞB!¨nVÝN&žÜ¹[v"”ôL^åõ±é.’ˆ>î÷1õç“RÄ/Ê/Ï'„ô±ížþ¿ÿóìè)ÍUÔœBê²CCn§N7Ën'NìŽÜÝͲ•„DÑö›Û !Ý­º7XÒ,ïYÇ }z'óNGýŽC¸>Hç>Ì{XZY*{0´qÜjS]Sƒ“S%¬¢wµ¨Zö¤`åÕ~ϧ{M¯¯sfIæ©ÄS²s ¯¤\Ñ×Òwêà¤LÙ£d…X{ãÄdÅxXxèjèBÌØf£ÝFßH¿qúñéŒ×Ž&ŽŠ—6×R£Ý¾}{ñâÅ555Ô>B©={ötëÖíìÙ³-z‰f¨B!¨Ñn£wÞÞy;ãöÈý#}ì}ÄñôÔqÌw2ªÓ¨ƒ÷{tìvÆí¾v}MtLʪÊ2K2c³cçöœÛÅ¢ËH·‘¿Ýý-¹0yPРÁÜÁæzæ/x/"3#¼¨Phgl÷´àégg?³6´¦Óè=&Žé4foôÞû¹÷‡ÿ>Ü×Á—Å`EeF¥½J3Ð2PæZƒN¦N}íúº¨²¦rÍ 5 îÀkâœÂkiטtfû¦^·Á­¦.vx%åʘc:¬UßL¿) ±®Ú﹂«ë~þóóIç;8¿({ñ,B$ÍñžCí©mâ‡ÕÄ ›kíÁ1Árô¶ímkdËb°’ “o=¿Å 1¨ÝŠ—6×Rã?~œš;(‹eÛÅb±X,þî»ï꼋1´„BPººÁ“‚œ\ñ:ƒºÆ›©®é¦›\ôNã0hŒýþûל_s=ízx|¸´Ãæt±èBaÒ™ü¬ø{ElN¬ô¾ÀlM¶tžßï9k.¬ùûÉßÔSêŠtû§ì§.>w4î(ÕnÆ6Û=~·’Wf™í=;:3Z›¥íïÙð=²šèzÚõ^6½Øšì&Ž£ÍÒnp«Wû®~˜ûPú‘YZo¹ù£°Þu]u¾çõuîfÙÍÑÄ18&øæó›T˸Îã–ô[¢|Ù d…͵ö>¶}¨«äH[t5t¿ò5±RñÒæúQzW‰d×®]»wﮯ“ɾ¥o:—Y’ù¼ø¹ÜÉ:˳7¶—{o !ëK‹T¼Õ„‡+ ®\I½RÈ/´2°òsòË}–wíØUÁª©F®é¿{Œê|ÏX=põH·‘±Ù±b‰¸»Uwéê”,»ÁoQS*lpí£;îÄéÄd(ú½ ÷‚ÝgÜ;K¥: }‹¨Ó_\J”ûQj^`ÕªU ú…Âãǯ\¹RCC£…ÊhÒ+³(£  €Ïç+èpá{ùrNZZz«•Ô>|{ùÛ#œ™sFñyÇM·?vÿ×¼±ø†‚=mêK tÞÚÙÏÉ/hRcf.BK¸p½|9ÍÝ}ÈÓ§Oå×içΣFj…ÂÚ=6›Íáp”ï=…ª”ËË=•x*ãuÆÙ§g=;z¶t"$„Xè[¬¼¶]&Bh› Ò™ñøqF} †–––¶¶6“É400xòä B¡J ¨R/º×­CcÝàu­°Æ‘®#[a-±Xœ““@È»wWkhhhii±Ùl 6›­©©©©©©¯¯OÝËT¡@•, ,—û,×ÓÔÌlkd«êrÔ^ƒs7¡•ÑétosFŒÀ”’¶¡@•¬ ¬”¼Ÿ/(ƒAcàýhzÃ] ½C(„B@(‚P¡B!\§ÔNrarH\HNiNµ°zõÀÕt}ó?›gzÏî2œêðQØGÆ_ù}¥Ú:ßEü¢Oþþä—f{ÏVu-uÃ@I… NÒ^¥?8^(ROK*K˜tflNìPç¡Ò>÷rîUÕT©¨À÷Ž@$ˆÍ‰uîଠόÐnfnë†4çMü”_å!€:9‘xB(Îöž=Ðq ‹ÁréàB Á âڲ؜Øf¿¹­’câ  <„BP'¹¥¹„O|ª«¡+mìeÓKuA›†/ €ò @=ÜϽ¿ýæö”W)„yáóhä?{‰d§ˆÕÆ«âH8—ǯæsØœa.ÃsS‹jD5³ŽÍò¶öþÄç“°ø°Û·«EÕ^–^³ºÏbk²¥#ˆÄ¢ÏoDfDf—d3è çΓ<&ÙÛË ²¬ß²¸˜¬:îçä7Ñc"!¤_xøÁáäÂd¶{Šç”~vý”¬­…ò ÃÂSŠRø¾•¡•Ÿ“Ÿt¯›â¥„øñañayeyúS=§šêš*X׳¢g.o‰E_>  ×]ïfæFÚöú*Q<¦T }aÚ1„BP%%±9±Ôã{9÷ä–ÊN“—·àÄ‚’ÊiËÉÄ“S<§ü8âGBˆX"ŽÍ‰ek²ŸZ|=í:ÕáFúËÏ.Ÿ˜y‚Å`Q-Gä>Žp=íúØ{&졲‚tyáó¢2£¨>—S.g¼Îï>~úÑé¯Þ¼¢Ï'Ÿß?eÿ‡ÊÔV§M×6=~ù¸þ÷‰B¶ŽÙÚQ¿c‹RŠRüøó|iKÈÃOÿM#65¸”r"áĺ‹ëÄ1õôTâ©Ï|¦ ’rA9õ©•U•I?¾²ª2Òж+¨DÁ˜²Zè ÐŽ!€zð¶ö Ù~kûƒÜ§”Ƶøñ[nl©ïU|ÑÉE¥U¥ãÝÇth e]š}ðÞÁðøð>6}ÆvKu»õü–¡¶ášAkœL ø¿Dÿò¤àÉ…ä ã:“Ž3®ó¸Ö=¬ ¬ª„UIIïÜpeƒì¤[Ïoë9äK‡”¢”Ý‘»ýýzÚu+«5ƒÖj^O¿úóퟩP¨dmr’‹’¥Y§>•5•õ-:öè_Àè8p¼ûxC-Ã\^ndFd¹ \™¥/Ê^|ñµX"žè1q0w°H,º˜|qû­í *qéà"wRˆ›™[ƒÛ® ’úÆ”[u‹~aÚ%„BPFÚF½lziBzX÷ÐdjRí¡@Á«N?9]\Q¼ÊwÕ¢>‹¤#]Gúþâ{êñ)éßx&:=Tz8ØÖÐ604ðaÞCi( ¹›}÷æó›Ï"ªEÕ‰D“©™ÇË{YþÒ\Ï\:ÈñÀãÖ†Ö„_ßÊšÊ]‘»è4ú±ÀcL:“2ˆ;èé˧‰/…b!“ÎT²69k­-Èï“SßnBªHBÈÖÑ[ µ ©–i]§Iw³)^zæÉ™jQõœs¾ò%Õ2ÊmÔçç??•xª¾Õéiêõ²éE£Ñ ´ dgòyxDñ¶+¨¤¾1å´è ]B(€öìÑ‹G„+)W¢³¢% !DB$Ôƒôâti7 i"$„¸›»BJ*Þ@IDŸžùôvÆíÚ㗠ʥ¡ÐÃJ„W3WBÈ0—aT¾¡¸qÜâóã Ê , ,•¬MŽG~—Ø;ùÐëÿÿµàÄ‚ñîãÝÍÝ]:¸h25õµô•Yú¬è!dJ—)²Né2EA(¬OƒÛ®¸’–Ó¸ }@(€ö¬¢º‚Ÿ_{‘SCúØ@Ë@vu¨Q:sî쓳·3nÛÙv ´5²ÕaéÐh´ÃG<‹ âBƒPY°ÎFê²yJÖ&§‰s íí¯.¼zæÉ™ÿkïÞ£¢*÷>€ÿ†á6Ãp@ä6 ˆ€hä Òo™Je¾«e^:Ç?>£,ƒmç4nÔ A§ïòõøB¬9·æJö•{å÷ˆ(Ð%ðÝIïÎ=2·í&2Ë2“ “¸ÙÑšIkVD­(©-)©-¡?ï)¨þ³«¯äqcvÜôèû€~‚×s2`“Éd …BM‡óçE«VI²³{åRÍ{å÷ªªÇ8ŽáNÖ4ÔüVþ›³Ø™›è–\˜,2µ»qÃ0ù5ùUõU–BK{3{î®u*F•\˜,ˆ‡Êuf-…–îÖî\cCKCnU.xnÖn|ƒ‚š‚ÒÚÒv#‚GÂ&µ”JD®1¯:Oö‡läà‘ÆúÆÖÖ{ê[êó«ó†±3³coÚÒõw‰H¦•ÈK$¦’Áfƒ›Z›n•Ü’˜JØÊD”Y–)o”{I¼LL¹U”Œ2»"»¶±VŨvëXqm±­©í"ßE3†Íè8lRaÒÁ_Þ,¾©hRØšÚN÷˜þæ„7EF""jjmòÞêäôAП\ú$1?Q©RŽv½fâO‰'¥¥,<ºˆâóâÝ"ÜØ¿YôÍSƒŸb_—)Ê>½ôilnl³²Ù×Þwý³ëÙ{Uckã?}ðòS/qsñ·‹½½9 @‡E\‰8øËAnñ®ìîæèͩũ۟Ûζ„ý™ɾ.¬)ÜreKúýôvƒD¦F~øó‡ ð‹Eò¢CI‡âóâ¿ýž›'o”¿ô/É2vñúï×S S¾{õ»Nã]mcíKG_*¬)dãóâC…F/‹ Ä[eñ±Åñyñꇽ¸ôâ«!j:|ûy‹²eí¤µêÇààô1èªtYúÁ_ë‡M KX™ò”ms¶Y,ÎÜ=“CD¿–þ™)2m™µ%å)‰o&~4í£è¬è¶ƒÖnŠÞdfdöÏÿLX™pwÍÝŸ^ÿiưe_¥|ÅuK.L¶3³‹Z•öNÚÅ¥ƒ=‚ë[ê7Eo"¢Ñ£³ßËæëñý¥þÙïe³Æ9cWL*L²3µ;ù?'ÓÞI‹Yã/õ¯i¨9~ºW÷L†,ãpÒáÍÁ›Ùƒ]#… «.d^ ¢•V†Ž e[æzÏÕãé½ýãÛç2ι±§M×LZ³ÀgÛáÕ§_•7Ê·_ßÎ òÃZU­áÁáÜie7k·Ïžû,¥(%ú^ôŠñn(#4~ò…•Њˆ†X ùlîg³ÍJ)J©¨«°6±VS¤X Þ²Ÿ gR±tcÐÆgd–eªYåë…_?Ñþx@ŨÞÿéýiÓ¦¸MéÉ8ðWƒPº*¯*ˆ&»MnÛÈ.æWçsº¶íðŒË3mCaVE½õã[oýø{™!†}Á#×ÍKâÅ&B–¾žþxçñ9•9ùÕùêC¡·­wÛÃuŽŽD¤hRt÷ÃvÝ×ÿù:¿:ÈþÞÛ H… Ûx<^çOŨˆH©Rv|«YÙÜó­ëÿWê¼ÚÎ)<~û¸¼Qî·Ó¯]û²ˈ諅_MNè´ø B(]%µ”Ñ•ì+îÖî\ãÕœ«Dä,væþŽÍ}Å÷®ÃõÜëma£U§Qé®ìne}%w°°UÕšŸ@DNNl x­ÊÖ& `c.@w!€®š1lƾ„};oì412™>tºßàúï×7Go&¢™ÃfÑté_$~ñ¯«ÿ2Ö7žâ6EÉ(/d^Ø¿§í ó|æíKØ·úÇÕïN|7À%ÀÚÄZÞ(Ï«Î;—qN"’ps ë[ê—ŸX¾1hãÐACKjK¶_ßžS™3Úa4wîØB`‘U‘UPSà`îÀÝçÉôpNá…×/´k ÿ2åËý!ûÛjh ¡t•·Ä{ÉØ%‡’…] »ƵÏöœ=uèT"a7âeß—#S#×[×öݳg¹E©XúqðÇ/n\a}»ñ—û-ç^q“_¿àë\‹Ð@6õáFýœüÎfœ¼ïAêj{ŸB€P:lýäõÃl†ýÏÑ{Þ¼Ú'„»™ˆ6MÛäláÌÞ¼Z"’,|jál¯ÿ …Dôâȇ٠;œt8©0©ª¾ÊRh)KgyΚë=—ëcnl~ìÕcá1áI…I*•j”èµÏ®õ´yx“Â÷§¼ßªjM,H”7ʹ[è~¼ [d2™B¡îâÙóçE«VI²³sú¬¤^Å=Ñdß‚}Ú®@' °ß"‰$I×ûãæÕ€P…@¸Ð@=#}£ì÷²µ]@¯Ã‘B@(„B „B „B „B „B „B]TÛX»#nÇÕœ«švoÂÞ¨´(ÍŽ º¡@÷Ô6õJ(Ü¿'êׇ¡pgÜÎSwNivÐoá‰&ðÀßüÿf#²áwÅïç4nÞðyZ, ú B!<ðÆø7´]h B!è %£Ü}c·«•ëlÏÙ9•9ñyñÕ ÕoŒãèÍ£FúF‹|±ÝZ”-{öÑëã^ÙÆïo/o”/·´/ 3àQU}URaRAu>_¨õÐñÒñ|ÿ‘+ÆåÆ5+›}í}G;Œn·‰ºæºKY—JjKlMm§ÚîÝ#ÉGº¾ÔT»7a¯ÈfÏ‚’Ú’¿žP1ª‚ê‚q;ØæûÌw0w`_ß¹'µ8UѬˆ$‡L´Zi~·@ßB(ѪlÝ·#È=(«?üy6¥¥°9f¸íðÉn“‰¨YÙ¼9zó8§q …§îœ*¬)T¿õÐQ¡b¸[…ð >Žù825²YÙÌu–Š¥^8àbéÒvÅbyñÖk[†aû¼8òÅOg|Ê­’Vš¶,jY¹¢œ]$Þ¶€ní5Õî‰ßãcëÆBv„"y Ç9s0w¨¨«xûÇ·ò¸­ aSÃBF„¨ßÐÏ!€ŽI-NÉŠ t ô”xëð ¤Ñ÷¢óÙ—'4 ±¹±lKrarckc€KÀãÆãü÷·¿Ÿí9Û_êODuÍuË£–—+Ê],]\”*åµß¯­?¿¾í¦Ÿ`<²ZÎ`³Á«Ví¼±ÓÞÌ~¾Ï|¶ÑÞÜ^©R.=±4­4ÍÁÜ!Ð5ÐÜØ<¿:?&+fÃ… nÖnO ~Jý>€þ ¡tLe}å¶9ÛæzÏåZج—Ç ØÜX?g?S#Ó¸Ü8¶ûBM(œ7|^Ç3¶íX -»[mš¶ÉÕÊ51?±´¶Ôo8ÖqlE]EjqjuC51+ë+÷ÎßäÄ.º®9»æjÎU6žÍ8[¦( t ܲŸn - ¡‘¡UõU=Ù¬–ÆÂÝñ»ÄN«Vqí2/¤•¦Íñš³uöV¾Þƒ“ài¥i!_‡I>òùÜÏÕï"èÏ @ǸXº´‹2ÎbgG Ǹ¼8"ªn¨Î(Ë"2N?]R[2Ølp\nœÈÆÝÚýqcjäÛŽ…Ñ­’[¯}÷Z«ªµ]{e]% ½l¼¸DHD“†L"¢2E»x³è&½ð&w0O` ø»ÿß—žxx*ü öÀ#«íÔ¼D$4îKÜÇžìf†!ÆÌØ,­4­»£@¿‚P:Fj)íØà™Y,/¾Y|“a˜@—@C"ŠË›â>%³<óyïçÕŒÙÃ9…+,1?qÛµm†|à ÷ g±³ÐPÈ#^lnljqªŠQqÝìÌìÚ®ÅÎ är¤¼QNDÜ,G ÇvÛêîxänì{xò»Ûß=ÁºÐÏ!€Žá.Ýmk‚tBdjd\^ÜÍ¢›öæöìeC Í5Ò7bF͹cÒМŽ…]ɹBD»æíbÏê²2Ê2Ôo¨scs"*’µ½ƒ`ÇÛÝ=ðÈÝØy1s"zÅ÷+“ö—ë?Á€Ð À@àïìÏ×ãÇþ›ZœÊž~%¢ Ò §îœ2ä²Ô¬®‘9…ñx<"‰¸–ÄüÄËY—»5ÈÓOG¥EíŒÛÙvN!wÕ0§‡{à‘ ù†5 5m[Æ;?~û¸’Q®œ°R÷ð™XåŠòÒ?J»;>ô+…0˜› — ¿”}©EÙèÈ6ºI>r>óü0›aƒDƒÔ¬ÞKíðìKDËO,ö ÅYY×r®Y -+ê*º>ÈlÏÙŸÇ~›;óÐÌ—Ø0âý IDAT£ºšsµ¡¥¡]·îG’ZJïÊî¾sæG G=žÞ|Ÿù³¼f}™òå±[Çbscý¥þVB«ÚÆÚ¼ê¼¤‚¤%c—Œ°ÑÝM@ÿPÆã1̃}&Ð5ðvém¾¼óx¶e¬ÓXC¾a³²y‚tBŸ–ò§éÓçxÍ9s÷Ìñ_܀慑/˜šN>ÜõAL M¾XðŲ¨e¹U¹¹U¹DdmbýéŒOWD­h×Sã{àµÑ¯­;¿îtúiv‘½Oá¡­;·îröåã·ÞUG"’ Âãôý¯<„BÐ0¡PEDzªÓÎÝ¢Ï×_°ÊÕÊõ‘ïÎõž«ÇÓ Äì$<"2Ö7þpê‡eв``ÍVÒõ¶?·}‘ï¢;÷ïðx¼Qö£|ì|ârãDF"vNÞ#Wdݬݸ;Ÿ˜e1ìM$¦’ ÷ †aV¬j—ú¸ÔTÛîÙÇó}æ{ÛzÿRð‹¼AÎconODbxÈþœÊœ”¢”ªú*K¡¥T,í0š»C @;uuz&&þ5€ÞÀãn Ð2™L¡P¨é‘a4gŽÃÅ‹C†´ôYUÐoíØ!>sÆ4:º@Û…üåˆD"‰DÒõþzwèŽ!Cšõõ™ôt#mýÂÝ»FÍ÷mC( 34dž~ºñúu¡¶ íknæ%$ÆoiôC… yÓ¦ÕEG›ÔÕáà¯.&Ƥ±QoÊ”:mÃO6hÞ¼y¨T¼o¿5Óv! M C‡YLšTgkÛþIÐ!€æ™›«–.­ÙµK\V†+RþºNž4½sÇè­·ª´]t B!ôŠ¥K«ÍÍUÿþwû‡¡À_„B¡·m›ÕÂ…rOO\e¢  WÌûïWDE™ž¼ÙÖ¶ÕÄD¥Ù" W©T$—óóò nÝ2މ&% œœZ6l¨Ä“Kú‘H$‘HºÞ¡º§'¡%—ë:em’’b¬Tò4Uô= U@@ýsÏý1qb=sCú„Bè]=…œæf^v¶aEg“t ǘ™©[ZxøŸ]ÕÝP¨ß{¥¨ghÈxy5i» Â…&@…@…@…@…@…@…@…@…@xÌŽ!!!!!!!!!!!!!ý?TüÒÆZ IEND®B`‚fio-3.39/examples/steadystate.fio000066400000000000000000000013431476262051600171060ustar00rootroot00000000000000# # Example job file for steady state job termination # Use --output-format=json for detailed information # # For Windows, change the file names # [global] threads=1 group_reporting time_based size=128m [ss-write] filename=/dev/null rw=write bs=128k numjobs=4 runtime=5m ss=iops:10% ss_dur=30s ss_ramp=10s # # Begin ss detection 10s after job starts # Terminate job when largest deviation from mean IOPS is 10% # Use a rolling 30s window for deviations # [ss-read] new_group stonewall filename=/dev/zero rw=randread bs=4k numjobs=4 runtime=5m ss=bw_slope:1% ss_dur=10s ss_ramp=5s # # Begin ss detection 5s after job starts # Terminate job when bandwidth slope is less than 1% of avg bw # Use a rolling 10s window for bw measurements # fio-3.39/examples/steadystate.png000066400000000000000000001761041476262051600171250ustar00rootroot00000000000000‰PNG  IHDR˜eä)ÑbKGDÿÿÿ ½§“ IDATxœìÝwX×ð³,K]zYz¯¢¢” 4Q%ÖØ¢ÆT4ö†1¶Kž£¨X°¡(¢¢AAP齺 EDúî¾?F'+Í])žß÷¾÷ÍÞ¹s '3wîR8 „B!Þtw!„B½ &O!„B|Àä !„Bˆ˜`ò„B!ÄLžB!„ø€ÉB!„0yB!„âƒ`w€êݶmÛFl?|ø°[cùzÂÃÃÏŸ?Ÿ““S__?ýôÓ­[· `áÂ…sæÌéîB]“'„z½òòò)S¦ÛÇŽëׯß×ì½´´4,,¬Ó›íøIuÝe¹}ûöĉ¹¿ÛÊÙÙùéÓ§™™™0räÈÎê!Ô3aò„P¯×ÐÐ@¦/UUUÝLgéøIuÝeùý÷߉ÌÉÆÆfëÖ­BBBºººÇïÄ.B=&O!ÄŸÔÔTbcîܹNNNĶOmm-hkkw[d¡¯“'„zØØX__ßÔÔÔ÷ïß«¨¨Œ=ÚÂÂV®\MÖ\¶l™¤¤$Œ5jÓ¦MDaVVÖ¥K—ž?^YY)%%eii9oÞ<ƒA½víZò£°°°¢¢¢••ÕŒ3äää¸#a³Ù>>>·oß~÷îÝàÁƒÝÝÝ›…ú矀µµõ®]»Èrÿƒ€‚‚‚¯¯oGNŠ—h;å²´tàÀ[·nUVV’/^¼Ø¬N³9Oiii—/_NLL|ûö­„„DÿþýÝÜÜLLLÚé!ÔÓqB=ÛÑ£G[ýå={6‡Ã6lX«{gÍšE¾cÇ*•Úl¯¸¸¸¯¯/ÙE```«ÈÉÉEEE‘Õ¹+(++ïÝ»—ûß“§OŸÛBBBL&“zô(13šÁ`ÿý÷ßË–-!!¡ 6|÷Ýw‘‘‘»víb³Ù4-**ÊÌÌ ÊËˉX,Öëׯ½¼¼ˆWç “““) ìÞ½{ãÆ@¡PV¯^moorüøqâ3à|œ ôäÉصk׆  ´´TEE¥©© ’’’Œ;rR¼DÛ)—¥¥´´´¢¢"''§ÆÆFX·nݘ1cˆ]³fÍ***€ß~ûmóæÍð¿ÿý¸3G¡PV¬X1bĈÈÈȽ{÷²Ùlâb®_¿¾#?¡nÓÝÙBè3ÄÅÅ€F£effr—“÷uŠ‹‹ÉßèÈÈH²›ÍVUU%Ê·oßN–Ï;—(œ>}z[–••‘m¾|ù’(TSS#JÈû7‡LPÈOˆ§r ©©Éb±8Îÿþ÷?¢ÄÖÖ¶ƒ'Å{´]qYÂÂÂDÍ3gÎ…ºººD!qç‰Íf+++·¼\?ÿü3Q(##ÓÔÔÔ~G¡ž ç²'''â‘eEEEjjêW^W!Ô)0yB¨§óòò’ðóó{ÿþ}QQQQQQXXØÑ£G‡ D£ÑÚ:°¦¦†Ü&Ÿsq+//'6vìØA.tÙññÿ:NnKHH4«O¥RÝÝÝ=<<àØ±c ˆŒŒ))©iÓ¦uð¤xŒ¶¼_–Žàî…ûqos×Aõ"˜¹*ÒìÙ³EEE;xRÐh4WW׬¬,Þ!Ôá:OõùùùÅÅÅÂÂÂZZZòòòÍ*455¥¤¤”——¯žk)‘{Y,VZZZyy¹”””ªªªŒŒLË.rss‹‹‹ÕÔÔÔÔÔ8ùÅp&&&ä]àp8IIIÕÕÕFFFRRR¥¥¥¯^½"v988p7B¼—G§Ó‹ŠŠZN-ïÈIñmG.KSSSxx8±=pà@YYYbûÑ£GDkFFFJJJDáÓ§OɯgÑÔÔän§¾¾>55µªªJBBÂÐÐPDD¤åÅGõ"˜`ò„B!ÄLžB!„ø€ÉB!„0yB!„â&O!„B|Àä !„Bˆ˜`ò„B!ÄLžB!„ø€ÉB!„0yB!„â&O!„B|Àä !„Bˆ˜`ò„B!ÄLžB!„ø€ÉB!„0yB!„â&O!„B|Àä !„Bˆ˜à ã¡nÓÐ@IO*+£¾ÿ!‡º…‘”d««7©©5R(Ý ê%0yB}moß Ü¸!ñàø³g",þ½B=‚”ÛήfâÄêaÃÞS©Ý êÙ0yB}=µµ”“'eNž”àŒõþûïKLLê•”Xââìî }£Ølxû–š›K‹ [²DIC£qãÆ2GÇ÷Ýê¹(§»c@õ&_üÅÀˆïÜ)_U%ðóÏ3gVa„z Ü\Úáòt›OÏ7ššÝêrøÅÀ¡žˆÃýûeþYÉÚº688ïÇ+1sB=“¦fãÌK— ËʨS¦¨=y"ÚÝ¡ž“'„Pת«£üò‹Ò©SÒ{÷–ìÙS"/Ïêîˆú ‹ºk× íík,P¾rE²»ÃA=ÎyBu!6Ö¬aDE‰ž;WdiY×Ýá Ä+aaÎLmmÙÍ›ÄÄØ&|É£jÔWaò„êBÈ‹y{cæ„z ÜÝË««)ë×+ª©5 Œ?Ãè|l‡ê*÷ï‹ÿóÌ®]¥C†Ôvw,}¡õëËllj~úI©²0@`ò„êµµ”ß—Ÿ:õÝ”)ïº;„¾œ€8P" Êtw,¨§Àä !Ô%NœyûVÀ㬻A¨£ètöš5e—/K%' uw,¨GÀä !ÔùÞ¾ðò’^¾¼BQß­ëL™™™z¥¥¥uw8í¨®Ö´·×ÕÓ#þ'qýzwGÔ!..ïú÷¯?tH¶»A=&O¡Îwㆄ€gæÌªîä›àääD¤SÇïîXþ#ïé)XTÔÝQt .¬|øPüõk|Ñ aò„êˆõWÂüf‰ß¿/qãFwGÑÉFz/" ïî@P÷Ãä !ÔÉêë)qq"öö5ÝH¤««›ñ‘Aw‡Ó:ê›7 ›7À{GÇ3Ñhœ¡Ck##qÍq„ÉB¨³ef 55QLLº;þÍ›7ÏÊÊÊÐÐÐÊÊÊÕÕuß¾})))¼Wh‰Åb™››ÏÔ"""ˆÂ#GŽ%»wï&Jˆ“ºººf›®]»6nÜ8##£;w6Ûõ×_éééeeeíìß¿ŸØeccCÆãîîngggllljj:uêÔ³gÏ655µ¶Pr²NÿþÄ\%ú;D!-'G{à@¢PòêÕvWܸ‘ZQÁ–”,ýí·vªõFýúÕ§¦âœq„‹d"„:[I ”•ÛûóÜÓܺuËÃÃüXVVVVVöüùsoo襤$^*´ŠJ¥:ôÞ½{Eä4QQQÄ^r#22’ذ´´ánáÌ™3¾¾¾_|^þùçßÿM~lllLHHHHH üܹsÎÎΪªª§¨¨èÖ­[³fÍŠ‹‹ã¥B;¸ŸÜÉÓ!C† B”ž¸gy“$$$:ñ4›©©ùÌ‘‚……uÿ}.ñä®MïÉ(lÝJ®IîT\·NWO~ûö—‡‹PÆB`èСÄÝ ¦¦¦ììì­[·ÆÄİX¬;w™}¶Â™3gÚjÙÎÎîÂ… ððáÃììl2d‘¥¦¦²X,²Ú—ENiã©AII L›6|³w‚L&cåJ`³€C¥RX,™ãÇëÌÍk¾,N„ú LžBöîÝ[SS3zôhMMMEEE 2#!Þêÿl…v :TPP°©©‰xŽ&''§¯¯ššš¹¹¹ééé@¡PZ½óÄ òîTbbbmm-ùÝŒ3ÂÃÃÀÏÏÏÀÀ`„ L&3;;;88¸¶¶vÿþýmµIijbüò µ¼ÞM™R7hÂÖ­Àá0Ö¬É÷÷oRUmyH£¦ffFF³BòæSÉÞ½}r 9ú6aò„BPYYéëëëããÓ¬œF£M:•— íBÁÌyÂ|ꥦM›ÖÝ! „P_€‹d"„Bñ“'„B!>`ò„B!ÄLžB!„ø€‹dötÛ·o'6† 2f̘n¥sÔÔÔìÛ·Øž7oñ…ó!„PoÉSOçùqß+Vô™ä‰<)LžBõ.øØ!„Bˆ˜\MM­ýNú2,ëhÄQ9gcçÙåÙaYaUuUæjæ6Z6-+¼-H(J(x[ ,(lÂ0±P³ P(-«%%¤½I«¬­T“R³T·”—'wõð+€Ð7“§¾ ;;{áÂ…¡¡¡Ü…ÊÊÊ'Nœpvþï_Ø77·²²2⣶¶öùóç[N?⥵7oÞÚÙÙmذüÆxqqñ .Lž<™ìtúôéåååÜvÚ™£oL«é¯ð¿Fêìi©ÃÕ„«^Ñ^YeYÄÇ%C–4Kžr*rÖÞ^WÇ]h¤htÄ刖ŒYRR]²:`udn$Y"JýÅæ—ÅC{ì@蛂íz½’’{{{"×100ðððpss(..žDP–Tm0Ú'Þ§²®’(i`5p8}y}h`5´ÓxdndL~Œž¼Þ8£q_z!>`òÔë½yó†ØˆŠŠŠŠŠjYHwÈYGdæJJJ_Öw 9=\HHˆ,d³Ù@vÊ`0È]ŠŠŠŸ=)„Ú·?lÿñÈãäÇI&“ö9ï£R¨PY[¹àê‚ÄâDr¯° ðšakæ[Îo«µ/oäWæ·ßãó92¢2üe5e`¬hL|”—×”ÑL“^\U¬,ùá÷ôaæC0W3o«ŸxŸA;†jmçB “§^O^^¾´´lmm[¹±OdH²²²999PRRBîzýúõ—µÆJ¥-ß";e2™d!w}¸Â¸àôàa:Ãôô‹«Šï§Þ÷å¯%£õ‹í/àëXœÈ 3Fè‘*|[ý¬àYûÉÓ“œ'íw:Þx|ç&OÏ‹ž¥Mè7ASF“,Ü3nÏâk‹O;6--*ÄL Ï·Õ¶1hFËXlÖ®w=;sðÌmNÛˆÜ!ô`òÔë=:99ÊËË׬YC§ÓÉ]EEE/_¾$î 988ÄÅÅÀýû÷ËËËeeeàôéÓ_Öìíí‰NïÝ»WZZJ<¹;{öì—ž+Bå5åûÆï›2` ñ1¡8aú¹égbÏ,³YF¥PËkÊÀožƒþá~g«áÕëWí4èÒßÅBÍ¢ýNeÅd;#öò+óòûISFsÇèÜå–ê–8ÿ±îκ« W‰-›}ã÷ 6_vä}Ãûþ+e=Úä¸ ï9!ô•aòÔkDEE‘ßsG——_¾|ùúõë¯^½ZTT”””ddd4aÂ))©Â´´´˜˜''''''X±bÅÉ“'ß½{WYYiaa1iÒ¤ŒŒ "³áÆckBoÄ× !˜<õ"OŸ>}úô)w‰¡¡áòåË ÆãÇüñÇÿý·°°ðøñÿ&‚¨««=šØÖÐÐðóósss+//ÏÎÎ>tè¶¶öÙ³gGET f,ñØ´´´®_¿þý÷ßWTTäææ^¹rÅÎÎîË.B &Ýüö§º´:TÕW€­¶í¥Y—ÎÆžu»àVßTß_©ÿ(ƒQ3Í¥‰¶Õàלó”Xœ¸àêY1Ù 3.(Ò›íòzê5XuðÅ™iTQ˜P”àzÞu냭7~¸AÖÌ­È}[÷v ÒÀïÔ¿ëxH!~aòÔÓmÛ¶­­]òòÖÖÑÑ IKK‹ŒŒ,**VUU500<ø“ÿÚ9rdffæ­[·ˆÅ¾'MšMîUUUå½5yyy20r¸Yh``@l899eff’+ŒOš4‰û¤ð[Ñ(¨,hVB¤>’Â’ÄGKuKKuK(©.‰ÎÞ²û^ʽ˳/ PZ_Ùî«Íyz’ódéõ¥*R*ç¿?ßòÀ¯_À½dæ¦*¦ :ãÕëW,‹œÕd¡f1Úpôú;ëg]œuÆíLç>RD}&O=]³Guí000 S–VEFFš˜˜Ì;—øØÐа{÷nbÛØØXSS“»rû­ÉËË· LHH¨ÕheddÈN ¼ŸB-åTäø½ðãžó”$)"©¯ Q¹Q”ˆ ‰€"]ÑÙØùaæÃ›/of—gëÊé¶Úà×™ót?õþÊ[+uduÎÍ8''&ײ]ˆÿfü»è»Edþ_ϬfŠ ‰7›îÒßERDÒý¦û÷>ߟu;K¾‡ú 0yú†üóÏ?~~~#FŒÐÓÓ{÷î]HHHff&P©ÔC‡uwtñJVLvíµw’ï(UÝO½Ïâ°æ[Ì'Ò‹¢þyVðlˆæMM•–R’ò(ë•B••n«ÁŽÏyzÅ|’éoÒ ¶ ö¯ð¿` ò@]ˆÉq÷wgsØ–ê–>q>ÜÇÚëØRÃt†IKÄÆ<1ÒA×.DÏ©È Iáp8­~‹£žã·3‹¯-ž~aº·›w[©!B¨Óaòô ±µµ ð÷÷ç.ÔÓÓ;rä_ÓÀê^fªfºrºÿDý–õaÖI&“–Ù,#¶‡j}^ôüߌÉúâBâ›7·z³§³¼zýŠÈ–Ï ž=+x³ÍfÉSQU‹Í€ qš+!,A$OÒ¢ÒOù{UÀªÂ·…Ü –£žã&ÇM­öûúw>3}æ_™ÿý…ïϸé¯Ô¿“O !ÔLž¾!‹-š={vhhhFFFuuµœœÜàÁƒ-,Zÿ^w„z Aª »­»ŽœŽ³±ó8ãqÑyÑlÛ\ÍœH>‹‡,žc>çiÞÓìòlP–T¶×±£‰ui`&J&î¶î-Ë*$6  [­ÜoÑöSØ“œ'™e™õMõ2¢2æjæ!Xäâ IDAT ÿ=@'¯À]3L®Ì¾mÌ0ÆÕžú (‡÷ÚÓ¦M__ß.‹!ÔU:ë÷—ÉdVWW·Sáî]º»;###³ƒ!ÔÓàÏvŸÄ`0¸5äEëïž „B¡Vaò„B!ÄLžB!„ø€ÉB!„0yB!„â&O!„B|Àä !„Bˆü-’UPP€k*"ÔK©©©uw!Ôëñ—<éëë‹ŠŠŽ?¾‹¢A=Ä¡C‡3½c½¿r¿_¦Ùˆãêjü=¶C¡î•ñ&c²÷ä&vñ±¢¶BP@0:?z”Á(²NL~L]c]7Øk<Éy™¹xÈâV÷Ö³ê£ó£  ¾r¿_¦Ùˆãêj˜§s/ B<Âä‰ùùùaaa•••<ÖÏÊÊ «®®îÒ¨ÐןaaÀóÐCV„…}§ª¨©ˆÎ&¶còcšíåžóÔL|aüâk‹+j+È’ë/®O3¶{ìn`sØÑùÑtaúO~?ý›ñ/QáaæÃ©®Í½FÞ ™yq泂gd ÿfü{:úô—#D@6²ÈwQDNQçAÚƒìòìÉý'Ϻ8ëÍû7Dá”;§¦²×±ç%¶Ví Ùõòõ˶¯Àþ ûU$UÚ©’"@pÐu >^K¼¶1p#›Ã&>ú½ð[m¿ºÙ!í„*Jö‰óùÑêGî~ï§ÞÏ'{iÖ//W¾®±®åÔ+¢°£_û¡®ƒÉÜÜÜ,,,x¼í„ú77°°àõ¶êê>3}<:ð¬à™·›7™Ö$%ì{¸¯­£ªë«—^_ZYW9¹ÿd])©¼Ê<ïoßß¡C'šL$ª=Êz$-*½nø:}y}f5óØ“c¯˜¯î¦Üd2‰lg’É$KuK5)µº¦ºdf²w¬·g'÷Í›GYdÅd79nÒ‘ÓI+Mû_øÿ¼¢½þÍøWMJmÝðuÒ"Òÿfþ{)þÒÁljä‰ÇØšI)M!“ȶÔ6Ö¶_!$=d°ê`Y1Y(ª*Úz+›Ãž2`ʽ,6+0%ðÀ£|]Æé§‡f„^O¼þ‹í/äQW® Q…&›Lnµ_¯Oóž†e…ÝO½ßÀjàp8‚…o _¿{­$¡D6reöuiu¦3¬¶±ö¯ð¿(—g_€ázÓ^'½xý¢‰Ý$( ÈclÍl¾¡ª¾ªýkÕþm§×ï^'—$ÿêð+ññÖ«[ ¬†ù–ó79n"JÆ_{g­ß ?Þ/ãý t…ë/®/·YN|…W^e^t~ô8£qÒ¢Ò­öK^´ö¯|8Yç÷ß ò÷÷—’’jVxûöm:ÎÝNuuõñãÇsssõõõ=<<´´´àƾ¾¾ååå–––kÖ¬!Ûi9ç‰Åb]¾|ùÞ½{L&SVVvĈsçÎiv||<Ñ‹ŠŠÊ‚ lmmÉ]'00ðæÍ›………ýúõ[´h‘ŠJ{ÿðõz¥¥0gÐépþ<ˆŠ~(Ìχ €ÁoolíÇ’œEÔØGBF00op =üþ;¿?p ý‡ÂÛ·Nÿ¤êj8~rsA_<<@K àÆ ðõ…òr°´„5kþk§åœ' ._†{÷€ÉYY1æÎ…CññzQQ €kèÃÀ@¸y ABúõƒE‹ o}wx^ô‚Ò‚žä>áp8À±‘Y–IV <€üû ý•ú@E͇GT,kÕ­U³·lÿ]ý;2y <€ÈœFŠF0Úp4‘9ŒÆ Å ÌwLU)UckƘaÌïEh&$=õ‰©¥©0mà4î:ÓNãNž>*•BÒÊ?QÿDäDØjÛÀÕ„«gºéô¶ú%´åê™zYòDÌ"º}ûö¦M›jjjˆÂóçÏ_¹reÚ´¿ùÉÉÉaaaÜ…MMMÜíøùùmÙ²¥¡¡îÝ»wõêÕØØØ?þøã¯¿þ"ªÝ¿?$$äÉ“'ÄÇfsžÞ¿?f̘ððp²—+W®9r$88XQQ‘, ܾ};Ñ œ9sæÿûßòåˉ .=œ?W®ÀÇ¡‡äd ƒO‡þCáÇ¡ÿÐŽŸlÙÄ Ü»W¯Bl,üñ|z¸BBàãÐ7Ÿóôþ=Œ\CW®À‘# \C°};|z8sþ÷?ø8ô°p!|:ô°k$%AúîPÓP Å -w ‘ÛR"RÜ»ˆg‚ä €W³kÊhÎ6›­)£)F£P(çž»ŸzŸH Zm„È™Z-$Ö©â1¶f:>ç)$#D]Z]OþÃÛ uMu )"É]§Yؼ„:Ýtú‰§'|}mµmYl–ß ?5)5kMë¶úmµ£fW¾U,6«½}½,y"¬[·ÎÙÙÙÕÕ•N§ßºuËËËkÆ dòÄ»-[¶L:ÕÅÅ…J¥þý÷ßÁÁÁ...III7n2dÈ›7o<==###ïܹÓêw!oܸ1<<\AAaݺuÆÆÆ999û÷ïñâÅÒ¥Kýüþû/¶mÛ¶3fÆŒ"""÷îÝ;yòäªU«FehhXVVæíí---½aÆþýû×ÕÕ½|ùòäÉ“d^Øgýø#DF™3`m ‹ÁªUðô):ÖÖŸ9pÝ:pvWW ÓáÖ-ðò‚ €ÿ¡‡-[`êTpq*þþ‚ƒÁÅ’’`ãF2Þ¼OOˆŒ„;w Õ¯ÁÞ¸ÂÃAAÖ­ccÈÉýûáÅ Xº¸†¶mƒ1c`Æ {÷àäIXµ FCC(+oo–†  ¨«ƒ—/áäIèóCÿÕ)K*€§“g³¿Ùð1á‘4q9b¬øß]Ÿƒ:úå_[ç<Õ6ÖFåFÍ2›E–(Š+À+æ+ò¼xý‚ßP5e4-Õ,ƒÒ‚*k+ã ãJªKVÚ­$áµÚ//ˆ”®¼¦œ»xã¡nÔ+“§9sæxyyÛ&LHOO +))á¾ßËùóç?~œØvrrRVVŽõõõuuu% •••ÇŽÕ2yjjj:}ú´ˆˆHxx¸Á‡7AÜÜÜŒŒŒnÞ¼Éd2 QèììLæR...ÊÊÊžžžÞÞÞ»wï¦ÑhgΜ9k×®%*L™2eݺulv{ÿÕÕG= ññðË/ ÇŽÁôé°bÅçš3>=L˜éé%%ÀçÐÃüùðqèÁÉ ”•!6|}áãЃ²2Œ QQ­$OMMpú4ˆˆ@x8|zps##¸y˜Lø8ôàìü_.åâÊÊàé ÞÞ°{7ÐhÀáÀœ9ðqèaÊX·¾…¡ÿºFŽ>{Öÿ•ÿþ û5¤5ˆB‡”Äû bÖN\A‘<5±›Ž=9[Û-±upα"÷¼8½`Áî,Xàé陘˜’’’îîî§Nrpp8p †††°°0_gÑ[‰ŠÂµk`a»v‘œ:ÅÓQŸ=˜™AX”•ñXup|aü˜“ctätXlVNEŽ¡‚!³šÉo¨c ÇìÚq6öláÛB;m;î[Y-ûåÑ´ÓÎÄœq>í¬/¯_ßTŸS‘ÓŸÑ?¿2¿סŽê•_ ,++ËýQHHX¬öþ#²Õ½222Üi4š„„„ לͦOêêêZFB–{ ÒÒÒ-+ÔÖ~¸©~øðá»wï²X¬½{÷0@[[{ÿþýܳ(ú2 ¨T ÿ\mhvÁ…„ÚúÖ÷~:ô@£„Ä'Ó­h4h>}Š@ n‹¡ÿPÂ5ôðéШðqèáða¸{X,Ø» mmØ¿¾‘¡ÿº~óûFÇŠtÅüÊüøÂøÌ²L6‡=Îhœs?g[0U1Ý6j›(M4¯2/¡(B¡ì·wˆf'|ÁHÇcã ›Ã͵ױç~,H žt=9\ox»)­4-³,ÓZÓz÷¸æ Mñª° ð„~ò*óX÷TñVûåÑ/6¿ØjÛ6²“˜IYåYc Çìƒ_ú‹ºY¯¼óÔ>"Y)--•—ÿo…Ü—/?3¿’_ÊÊÊðìÙ36›- ð_ܯËÅÅÅq¿^ ªªªd‰½½½½½=°X¬óçÏÏŸ?_HHÈÝݽsîqÀÕªª`Êðóƒ;aË–Ž¶I$+¥¥À5ôÐÙCÊÊÏž› \C11ðÉërqqŸ¼^ À5ô`oöö,œ?óçƒôù¡ï{ù–ó¹¿Üc òÀfßmwzúiîÅÁ( ,Ì·˜Ÿ[™[^S.+&«*©J¶@£Ò|fú+ ˆBîåˆf™Íš2`Jvy6(zòz4*-¯2o„ÞâõºV1S5ó™é£%«Å]8ÏrÞX£± /±uº„¢„²š²fﻀ´¨ôIדÌjfÑÛ"†CER¥¾©Þg¦'ۺ5 æjæí÷Ëã•—‘ôvó.x[PR]¢&¥¦HW¬kªó™éÃ}[«Ùˆ7ûˆP§ë•wžÚ§«« ‡"f555mݺµÓ“'33³”””õë×·¦8Î_ý¤¤¤D<ï#ìܹ“H˜ 77—ÈŠœœœ 55õ?þ(--%öR©T  ëÜh{¢•+!&€«WaØ0ؾ‚ƒ;Ú¦®.À¡Cf55ÁÖ­Ÿ<)(€™¤¤ÀúõnMq8ð×_JJÀ5ô°s'|zÈÍý99¤¦ÂÀÇ¡*44¾…¡ï+ +ÊÿvI‹J[iXqÿ)µT·äžÙM P(Z2ZfªfZ2ZÜò(VVÍÖ°& õåõ¹ Ei¢ýýŒÆÄáÒVV¢4Ѷ!cÐÜ…Z2ZVV"‚Ÿ¬jÑVl.$#„*@¦;¬Õ½ :c°ê`b¾”° °•†1НPeÅd­4¬¬4¬¸o2µÚ/ïWÔ¤ÔÌTÍéŠ "(b¥aÅ.7ñVêD}0yš1c†¨¨è‰'ÔÕÕ­¬¬”””öíÛÇÍt–}ûö üñÇJJJß}÷²²òŠ+ˆrîgjjjVVVFFF¦¦¦/^¼4h1ݪ¢¢bíÚµJJJšššÖÖÖFFFŽŽŽ`eÕ׿åÔÇþþÜÜ`ùr Ráòe`0`æÌÖçñnÆ …'@]¬¬@I öíƒ.zØ·à?@I ¾û”•?Ìvß·ï“gjj`eFF`j ðâ ôaºUE¬] JJ © ÖÖ`dŽŽ}~èQ·šÐoÂÕ9W›­ЇûE¨‹ôÁäIIIéÔ©SRRREEEÑÑÑ‚‚‚~~~ýû÷ïôŽôôôÊËËcbb˜L¦ŠŠÊùóççÌùä»*>z8|&M‚ÔTHL„†pt„ÀÀ󴌌`íZPP€¼<ˆŒ„ÔT—‡­[¡o=ên† †¦Ê]ðŸ=µ_„º…¯¹ÉÄZJ¾¾¾]ÏgdeeåååYXX …sZZZŠsM:®««{ñâ…   ‰‰‰Prr2“É´µµ%î µÚγgÏêêêllþûÂóÆÆÆˆˆƒall ¿ýöÛÖ­[#""¬?]Ž(##ƒXaÜÈȈ\Ô¤Y/………yyyªªªÄƒ9n'??¿¨¨H^^^SS“˜¥Þ½(ÊÊ•+ìè26­KKƒ¢"00h¾švBTT€©ióÙÜ„¬,ÈË à²…––ŸÌ7¯«ƒ/@PLL@H’“É[Û÷„ZmçÙ3¨«®¡‡ÆFˆˆŒ~û ¶n…ˆˆæ+Qed|XaÜȸ†þ“^ !/TU¡ÅЇùùPTòò © ]<ôõûËd2Ûÿºë»wéîŒ6×ÈF¨—Ÿí>‰Á`p'¼èeÉS÷š8qb@@@fff_^þº:yê&N„€ÈÌìÕËcò„PáÏvŸôÉS|l×8``` ­­­­­ýùPŸqà@@hk=B!Lžx”–––žžÎ`0Î;Çý`õ}iiž œ;8ô!„0y⑇‡Gbbb^^÷ŠMè›à቉—8ô!„ O.’Ù¸¿ƒ}[pèB} ï`ò„B!ÄLžB}bÀŸfúÌìî(ê¹0yB¡o—á>ù—çvwõ2ü½mG,w¤®®ÞEÑ žãĉ×®]ëî(Pg*++Ó×oþeõµôbõ‹î¡ ï<¡Öñõ½=!„зƒ¿;OßìwÛ};(Ê’%Kð»íúâ»íz;6‡}*úÔ•çW « •$”f ž5ÆhŒÃß³ÍfowÚõMõ&ûMFêÜ2rËÞнOrŸTÖV&®N£‰Ý|yóBÜ…´Ò46‡­#§ã:Ðu¶ÙlŠäVä:þãH6B çYÌÛvÇè»Bv=Î~ÜÀj¬:xÃð Ü|v\êKp‘L„Po²íÁ¶Kñ—ˆíüÊü=¡{^1_µ¬ö¶îíôóÓ™ÕLâ#›ÍÞºÇë©Y!‰™´#hG|aüÁ‰üýGÂÛº·nçÝÈ–e=ŠÍ½2û /ùS«]Š¿´õÁVò^oÁÛ‚Sѧžä<¹:çª(M”ÇNy9»æ]sؼŸuU]•Û·üÊ|â㓜's.Ï Z$#*C”ð8.õ ˜:x/õžgçåÙ—y<œ;°üÊ|Ï OIaÉõÃ×;è:H‰JåUä?˜x6öìÒ¡Kyé”dzkÖ5d¬Ï0Ügh¥auîûsí‡ýúw‡'Ö—×gV3·Þßú$ç‰ÿ+ÿyó€ŸqA¨oÀ9O¡^ã~Ú}øÕáש¦J‹JË‹ËÏ<óg›Ÿ[Ö£‰ý3õŸA*ƒˆ,!0%–Û,Ÿc>G® -*=ÉdÒ¶QÛàNò¾b£‰ýãú©Š©(MTWN÷ФCºrº±±oÞ¿áõp®Àn¾¼ÙÄnÚ9fç4Ói t!ªž¼Þ¡‰‡è AiACƒ½{ ô÷êî3,­.-~WÌc§<ž]³®ùb¢dBÌÁ"¨K«@u}5ñ‘÷qA¨oÀÇv¡^†î­¾*-*ÝÊJËB1±šŸ4U×TÇGTm7ÞN`ÄÄ#›Õ²f«¯N?@«×„GÍnV5‚V ñ]Ô‡aòOž.#9ÀuŽù²Â³95 5—ž_b¾cªK«Ï·œo£eÓ2y’‘º<ûòÎàÑùÑl6Û\Í|íðµÆŠ<-òÔªé¦ÓNGŸŽÎ.¯)—“Õ’Ño<~’É$Þ;ýìÙµe“ã¦&vST^ÔÛº·™¥ôÅãÒ zzzúûû¯[·nçÎcÇŽuss0`@wG…¾* _¿-Ä Å_°Âx\\\XX‡Ã±³³³´´¼yóæóçÏ×®]+&&FÖ©¬¬|ðàAvv6F³°°°··'w‡‡‡/]ºTFF& ##ƒÁ`Lš4IV¶ù›#¼4"--}çδ´4sss''§V§UUUgffЉ‰™™™ :´ýÌÍÍ f2™²²²FFF-û•””ô÷÷ÏÍÍUQQ™8q¢´ô‡É›çÎóöö ?>qçIKKkÞ¼y­ÆKGŸ½JŸE¡PV®\Éû ãqyqa©aàØéÛYjYÞŒ¿ù<ÿùÚ1kÅ„¸Æ·¦òAÒƒì7Ù4*ÍBÓÂÞ€kh’ƒÃÓ×[*#.Y¡‹û IDATQ’ÁdL4IV¼ÅøòЈ´˜ôwÒ^§™kš;™8µ:µ¨ª¶*898³4SLHÌLÃl¨îçÆ·,789˜YÅ”—u0t0Râºìû••ôîŸ[–«"­2Ñt¢´ØÇñ<çýÄ;4%t¾Í|âΓ–¼Ö<ëy­ÆKGŸ½Jmùâßßf˜Lfuuu;îÞ¥»»3222;Øví8÷ìÜQ—£Äã®C®µ}|êñÏ×îÍvН6._÷ÏöëׯnÞ¼™ššjmm½dÉ›ö&®¡‹Á`ÐéôÏ×ãÒåwžØlöÒ¥KOž}zÕªUUUUd5;;;???yyyÞ»w¯™™ÙºuëRR>¬,"''bjjJÂK#ýû÷_»vmvv6xxxÉ“§§§ƒƒ™£œ:ujõêÕoß¾%Û±µµ h}ŠØÆ÷íÛÇb}x_†B¡,\¸ðرc4ì×ÄÄä×_ÍÍýðÚ°¼¼ü7lmmàܹs¡¡¡pæÌbï°aÈä©Y`¼tôÙ«Ô¹ØöÒóKO>æßá?W×WŸ}rvùˆådòt:üôª««ªj¹†FßÎo™Ÿ<]‚“‚÷ÞÛk¦i¶îÚº”×#§Ë…x„˜ªs/ôWí¿öÚÚì7Ùà1ÊÃÉĉ˜Zä`è@æ(§ÂO­¾ºúm-×øêÙ†­ #Þ·jiãûîí#߇¢P( m›uŒxAôk¢bòëµ_sË>Ž/]þÆÏ7lõlà\ä¹Ð”P8ñq| †Í³ž×20^:úìUêó®&\-¯)e0JUJµ¤ºÄï…ŸO¼¸¸¾ß¾ÁqQRRúñÇüñLjˆˆþùç‡~0`ÀÒ¥Kœœx|õõ^]ž<:tèäÉ“T*uòäÉ:::©©©ÇŽSPPà®ãïï¿páBAAÁñãÇ×××=~üø‡~¸sç¿Þ–,Y"((¸xñb:~ïÞ½¤¤¤åË—?~ü˜¯F–-[&$$´hÑ"UUÕVï'ùúú.Z´,-----©Tê³gÏÂÃÃÙlv«ÉÓÑ£GwïÞM¡PœsrrnÞ¼éåå%//¿{÷n²ÚÏ?ÿ,$$´xñb‘ààत$—””99¹¹sç²Ùìfwž¾¸£ö¯R§;|èäã“TêäA“utR_§{xLþéø>÷_xv¡ €àøã•ë냒‚§?þáôwܹÆ÷üAÁÅö‹éÂô{¯î%%-¿¸üñºÇ|5²Ìg™Uh‘Ý"UiÕVï'ùÆú.:»,µ,-µ,©Ôg¹ÏÂ3ÂÙv«ÉÓÑУ»ïî¦P(ΕsÊrnÆßôzì%O—ß=…k|/þ,DZl¿X„&œœT”ärÔ%å·9ºÜÜ¡sÙv³;O_ÜQûWé[PUWµ?lÿþ°ýÜ…›7‰ÑÄÚ:ä«|pð»úÖ§KKįŠÿÊñ|M=y\ºšMrrò©S§ÜÝÝÍÌÌvìØ¡¯¯ÿù#Q¯ÕåÉÓŸþ) ìàà@”øûûOž<™»ÎÆÅÄÄ=zdnnN”p8WWW??¿””òÉ”®®nPP1;o÷îÝŒˆˆ¨ªª’””ä½55µ°°0 ‰¶Þ´i=ztÙ²edaxx8•Jmµþž={àúõë...DÉÓ§Oíìì>¼yófqqq¢PYYùñãÇD¨MMMnnn~~~ÞÞÞ«W¯ž;wn^^^hhè‚ ˆ{Qé¨ý«Ôéþ|ð§E Ø#ØÁÐ(ñî?ùè§ã{c£˜Ø£µÌ5¹†æ¸«_œ_ÊëòÉ”®‚nGñe^»›vô‘QU[%)*É{#j2ja¿†Iˆ´=¾76ÀÑYG—9poF8•ÒÆøî€ë?]wüñ²g?µÛkw8øðæñ›Å…?ޝ”ò㵉P›ØMnÿ¸ùÅùy?ñ^í´zîйyåy¡)¡ l÷¢:ÒQûWé[à6È­ª¾*$=$¯2*@í§Øo‘Õ¢fëC¢¯ÇÅØØxÿþý .ܼyó„ fÍšµfÍœNÞWumò”››[TTäääDfN0iÒ$KK˘˜âcqqqRR’®®n````` ‡Ã!¦a·ybccɼgݺuä¢ÐÈ‘#SSS‹‹‹%%%yoä×_m's*((HOO·´´äΜ ­œ&//¯  ÀÆÆ†LhÀÊÊjÚ´i/^Œ‹‹³³³#ƒ'ÓAAÁ;vøùùEDD¬^½š—+ÉWGm]%^:âKnYnQe‘“‰™9À¤A“,µ,cr>ŽïÛ⤢$]ÝÀ—/¹††"±9±dÞ³nÌ:òkP……FL}Zü¶XRT’÷F~ýk;™SAEAzIº¥–%wæmå4yåy6z6dBVÚVÓ,¦]|z1./ÎNÿãe³ŽL_wLÚá瑱ډ·ñå§£¶®/õÂöö_¿kaAáŒõíTèŠ{KŸí´‡èÆqéQŒ¯^½záÂ…ƒ†††ÁšH J Iöç  «)ä\g¹.5^–FûLæ6T24Uáøý.:¾yÖæˆŒoÏÖžÍ>ð7BSJ3ã׌ÐäÐÂêB9Q9öÆD1þçø'©Or+s[Ú[`:ÆùD\^%‚F ¹sçæää=zTOOÎå2 Åô,ñññì%Û.\pwwwtt îÕqF©}ûö8q"))iòäÉà ·z5=K|A<{Éö…¨ îþÁ[ÇÇ÷{߉ç'’%MVéßïXž‚†L~¶™Læš5kjjj>|Ø«ç!Ð`‰Ó³,--õôô BBBBll,`ÇŽCpjhXzYêÉë(p„„„ØÜXÀkøýBP¯]~sY’$¹Xoñp <,ûÛo¿ÍŸ?ÿæÍ›6lîp ~ŠäÉÄÄ$**êÍ›7È"//¯——û”½Ð¨f¢b•õ&ïßïÏëåìÅ>e/A\ºwIOZMžÎSÎË‹È;Ntä¼4Z(**®Y³æÊ•+K—.Æ}Ö¯_¯ªªúË/¿ W]òòòJLLìÐ8mÚ4ww÷a‰‡³¡Hž"##’““«ªªdeemllddd†à¼#DwµVcFä®È„‚„äâäªÆ*YY]áñôývSkA}°uúVIÒ÷ ¶ qLMaò4–lܸñÖ­[÷ïß_½zõœnÕªU:::`oŒonn‚³÷JVVú’ªÃL¸#Ç=v522222šs4ÖÖÖÖÖÖÃÅà2R62R¯ß¯ŽµµÎÿ~¡!³eÚ–á\"""óæÍ»wïÞÐ$OT*µóàR¾¾¾½-ñ2·nÝbZ}'}¤5k ãbìEU1U;»¼ê¼¸‚¸Ú¦Ú-Ó¶ÜN¼Í‹ç]nðí%ð6FÛå7—M7òø‘Æ{)÷ê›ë4ýq0»ûºëG@kžJJƒRƒ˜,fQmÑ_”¿#,Ò[$/,|þPþ!éS½•.E’š¥6KŒ„þŽ:stt *,,TRR–¸œºcX˜ššr?.ã0‚ÉA£F;£ý/Ê_ÖÖ9U9ã."L6P‹©¯ò^9Lt@2•„’$á˜(=ÑRÝÐÊhý5üWSEÓî’§!ÅuŜϾjÊ*Q¾®§ÜéUÝõ‚€# 5O¥ ¥ÈJêKÐäÉTÑT^Xþó—Ï¡o ß gç#ðþá°Ó$'î®"4ÌŒŒŒH$Rll¬¬¬ìš5kŒŒŒ¶oßðæÍ›ÚÚZŸúúzöÿ***<<<æÎ»jÕ*@[[²ïO?ýtïÞ½˜˜˜ÖÖVƒ5kÖ w•²²²Ž9Â`0>|ø€.uðàAöš'ô8îîî~~~oß¾Åb±ÖÖÖ‹-TVVÞºu+33“D"9;;£³b êë냂‚’’’ètº”””­­­¥¥åà]·þ„:à`òAÐ(“ô))"'Â\Å\GJ‡ˆ'p3e³ðìð·…o‘L…B£ðøù|1´¤%¾8¾¹½ÙLŬ»c†|‰+ˆã|Þù:ó»Kžú@ç^°PVHv»Ùöó±çå„äé-Bå„åLÆA?¦•¥É Ë›«š … k #r"<; .®>Yv¤—p8ÜäÉ““““/^L¥RI$ÒºuëÐwªÚÛÛ›››©Tª¦¦&û^Hã„ E&“‰ì»eË–¨¨(¤ñÕ«W/^¼ "H QCCZKÔÐÐþ[ó„gãÆÈ»ð€/^Ðh4‡+V|þüi|òä‰ú²WRRÒ¦M›Ø§·¿ÿ¾³³óñãÇ‘ÅßÿýÇœ/…———¬¬,{Ëü‘››ËÇǧ««»hÑ"ö é>‡:`òAÐ(SýµúÔ‚Söºöh ’”Ph$S‰¡ÅLUš*È+H¡Q ’'ljŽFò=Ôí‘ù»¡¹tî;$yºwQQTq»Ùv´ýYæ³´²´xÙy¡³¥•¥9Ýrºýœý9Î]€FuuõäädäóëׯI$ÒîÝ»uttˆD"÷ÇyýúµˆˆÈÞ½{544***.]º”žžþôéS{{{---??¿ã:::݇L&ÿüóϪªªÙÙÙçÏŸ¿víZTT”¼¼üÞ½{EDD¢¢¢üýýÏœ9ƒd$t:ÝÕÕµ®®ÎÁÁÁÂÂBXX¸¨¨èÆÓ¦MC&`ÍÌÌì\ÞASSS‡–ëׯ#^¼xqåÊ•“'OΙ3§?¡˜ôø¸u:ß$p˜.^Æ™¡<Ã?ÉŸR@I,I”–S!«4%4ch1¼x^‹Åá™èwÍSè²=æ¬0X!&Ðñõ:"žØÕÐHÄËËÛÚÚŠ|ær@ƒÑ¹QXX˜}‘@ ˜Lfoãép$é²±½½ðõëW@JJJçCñðð z[óÔyÔP''§Çö'ÔAÒ»äiêÔ©` æÆ‚F¸^ÍmÈÜvcÕt¥é8,.&?&éS’…šÒ8CyFȇ²‡ÝûYóÔÿºÄƒã©kªco™¦8-0%Áb¸ÍpÃb°h{½ª¬±¬·Ç‡†KCCúû¾ó8LBBB€ššöÆìì쾫W3Ør ©ã>r䈺ºz‡Uè ¾Õ<±+++ôªlÈÀš'‚Æ!¢ÐD©‰‘¹‘mŒ6sUs¤Ñ\Åüzüõ§™Oµ%µ%Hœ†*îÿ(Þý  KÊd匊Œ]v)ˆ(`1ØEz‹æO˜#áÆÝä»1´˜éÊÓÅøÅš j ¨EÔ &&ÉLêg/ ¡QWW'""ÒÝZQQQ‰ôêÕ«¼¼<555@^^Þ‰'úp"’’&“‰Åb{Þšk¶¶¶7oÞ|øð¡———¢¢"ÒÈ`0ÂÃÃÑ;d½ªyÊÈÈHNNvttDS¥¸¸¸?ÿüÐcÁÖ°€ÉAc„¹ªyJY ‹›¦4 i1Q4áÁñ´2Zg(î /ƒÀ:£u{Ÿî}˜þYDÆyòYâ³÷ÉިܨÀ”ï¤HR0sE>}ú$%%ÅaggçëׯÛÙÙihh´´´Lœ8±¸¸‡²¼Î&L˜ðöí[ 999 ƒŒóÔÀ¿111qvv ´´´TPPohh())iiiÙ¼yóüùóA/kž>þ|èС_ýUNNNDD¤¬¬¬²²`hh8oÞ¼þ<à`òAШÇá·›mWSír­½®=ƒå&~{ BÄýp¨’^9GkN—» ,.àЋsÛ-Ò[¤+­û®è]}S= °ä„å¢|¢;ýW—P’Póµ†ÌOVU6’7BG.€F¾¤¤$ÎÓv¹»»çääP(”ŒŒ 3oÞT§§§——º˜”””””ôæÍ›;wî -ÞÞÞ[¶lA‡›*((8uêTdddll,???ÒXWWgff–ŸŸ,FFFZYYeffŠ‹‹#-[·nõööF>ççç{zz&&&ö[‡å&¶ÞöPSScnnþéÓ'dñùóç …B¡èëë÷s¯NÔcûÏÓ3ÚË+ž-ŒÊ¤¤¨7oJïÜù6Nš·wÊ–-áèhbõ§N%DFÅÆ.ãç'üg‹™Ùüüúã,²²º—™¹^\üÛ8ý[·Fx{Kûòóë==£+zŒ­ÇÃr[oû ¨©i67÷ÿôéÛcÖçÏiJ …²\_¿³sps¢;AÐûòåKvv¶{#“ÉôôôLKK»{÷nw¿; ÑepÛ%&&zyyñññ?¾¬¬¬ººúöíÛd2ÙßßÿáÇ€üü|wwwŸ²²²æææôôtggçäääsçÎ¡Ç‰ŽŽVPP R©ÈÏ¥••UuuµŸŸ²–J¥z{{ ]¿~ýóçÏååå—/_~ðàAáq>,—±õª¿ˆ˜˜Ý„˜' IDAT…wïÞÑéô?.^¼˜N§#7ÉÌÌÌX,‡³²²bý«óKv\žˆsû/1±ÂË+žþ¼UYÙ–êj·Û·ç“ÉDÿ̇sùùõîî‘""DÛ²²-ÍÍéé뜵’“+ÏûžÝFG+(Q©+¿|ù);{ƒ••buu“ŸßGd-•Zæí"$ÄsýúœÏŸ·•—o½|ù‡r{ óa¹Œ­WýEÄÄ”((¾{·‚NÿéãÇõ‹kÒémnn339k7‡±²Rd±v#ÿYXtÔ„Ëqî AC¬®®nùòå¿üò {#ƒÁ8xð`xx¸··÷€Lƒ›}@°²²ê° g\žˆsû/7·`g§öß0T¹¹u€ôôÏ€eËãñ§p¸S8Ü),Ö ?U^þ¥¨è{阡¡”[œ"€ÆÆoµGyyu[[eö³tXìçÃr[¯ú‹˜}ú]¥­­ ïϘjjj€°°°-[¶ ááá}> ¢±õØ_Drrree%zó©­­-22í‹Å"ÿûy¢Á¦®. xò$_W÷{úÓ§ùuu€¶6îlm­Ô糨©‰ÂÂh[¶LFÃà û|@Db뱿ˆääÊÊʯèͧ¶6fdd!Ú‹ioç”ãpy"h$ˆ/ŽonkÞ~‹üíF ô/ 9ƒÎÛ´´·¬ XG-¦"‹1´ÿ$ÿóO8Lt@ZZ­.·]DV¬¸õþ–Ëm—ç?>çÁ}»µÙÜÞüËó_fªÌ„™S¹¹¹Ë—/ohh`ÿŸ6‡;{öìªU«vïÞÍÃÃÃawh”ÜÇvÈ,îG޹téREEEmm­¿¿?R½dÉÀêÕ«ñxüŠ+|}}‹‹‹[[[+**(Š»»ûñãǹ<Ë¢E‹û÷ïÿçŸjjjªªªþþûïcÇŽõ3ø>ÄÖct:ÝÞÞžJ¥~ýú533sùòå™™™fffè¤Ðd29===//¯Ã˜½=Ñ`svÖ9òæÒ¥äŠŠ¯µµÍþþ™ÈðK–hV¯ÖÅã±+V<ñõM+.nlmeTT|¥P>¹»G?þŽË³,Z¤Ø¿?æŸ2jjš«ª¾þýwê±coû|b뱿:½ÍÞ>„J-ûúµ-3³fùòÇ™™5ffrRRßÒ)2™˜žþ9/¯®Ã˜½=4ø.ñ=øÃÁá¡’^)! á¢ï²ÖhmwÛœ=O-¦J Jÿ6÷7ß%¾«§¬fægJJ‘ î§Þ/­/=³ðŒ­–í™…g>5| N Fw¿{±¹½y·ÅîÁîËè’––æìì\__ßáÏ]dqË–-0s«÷Γ¡¡á®]»N:µmÛ¶mÛ¶¡íK—.upphhh\¾|ÙÕÕuÆ öÝ»w/—g155ݸqãµk×V¯^6º¸¸]¿pÎ>ÄÖcæææyyyìA“H$¤Ü1{öì»wï¢÷^¾|Ùá…;.O4Ø ¥ví2:u*aÛ¶ˆmÛ"ØÂÐvpPhhˆ^¾üƒ«ë‹ Â:ì»w¯ —g15•Ù¸QïÚµ´Õ«Ÿ¢..Ú™Bß³ÿ>ÄÖcææòyyu¦¦ßßj$‘H¹7bölÅ»w3ÕÕ¯!‹/_ºtxáŽËA#±Âðxø³ÕÏ æyÖó 7:oÐÎl¿“t‡ÅÝ\zSML 0Su&ƒ¹™póNÒݳvÒÊÓ”ÈJbübI’¤‚°BZYòø/¯:ï껫^ ¼y‡´c#•JݰaCkkk—Õ,ëÎ;ìÿ†Æ’A¯yòòòš4iÒ¥K—>|øÀ`0´´´Ö¯_Ï>våÆõõõOŸ>ýúõ몪* —+Vpooouuõ«W¯ËËË»ººˆŠŠö'ø>ÄÖcd2ùúõëÑÑÑL&sÆŒüñû OgΜiooŠŠª­­í®¸‡› //‹I“$.]Jþðá3ƒÁÒÒ]¿^ÏÍíûSƒõôõ%NŸNxýº¤ªê«„¿††¨‹‹ÖЏ?‹··ººèÕ«©ÅÅòò$W×ÉFFR™¢¢Äþ߇Øzì/€L&^¿¾ÔÃãett1“Éš1Cî?f²òtæÌìövfTTQmmsw%JÜœh|ª¤W¦fWeÓ[èò"òfÊfÖÖh=絃¡sÍSam!ƒÉPS]4q‘ŽÔ·Ò¢6FÛš»kŒŒÜf¸ÝIºó¶ð-“Åœ"?eÕ”Uü„ï/pîE`j`HZÈj£Õs´æ -=>JK)Mihn0W1G2'ÄZ£µ7n¾Î$O-¼8^t-¯±åÛË%Ÿœª4ÕNÇ@ÿzõêÕ–-[ FwÏÚÛÛ}}}7nÜÈËËÛåШ†éUù0ò´yO~„Û¾}ûùóçïß¿<Ô!š››ùøøìíí¹†ja0˜;vœ9sf¸éÖöíQçÏ'Þ¿o<Ô!š›ÛùøÎÚÛ«?x0t÷ÿ¸7Pÿ~+**8Ï´øô)iûv©Üܼ~ž¨³ìªì%·—Ð[þsö%úK~Ÿû{k»ô{äïÊ?p>©×/Y!ÙîÖêÒÓ“Ö»³âÛà´Ï2Ÿí|´³Ñ†n€Å`Z\5e ¥½E×K×RÝòKë—wEߟ«‰©Ý]yW”O”›^œ~}úRÜ¥Ÿ­~^g¼®C0ϳž»…¸mžºÙÓ“½= %àçg?»ÍpÛa¾ƒ½ÝèœQs[ó‡Ý'^žJ ¢n§b0&‹iò—Éý%{,ö¥~qøÙÆgŠ"°êùÛÏö¹síܹ“Édöø ô?þprršØ >“’’"‘H½Úe(Þ¶×®]ûüù³½½½²²riiéÍ›7/]º$((hcc3Ü¡AàÚµ´ÏŸ¿ÚÛ«++ —–ÒoÞL¿t)IPÇÆFy¸Cƒ†ÔÝä»ôº…š…ÃD¢HI} …FAop^ۥ̪L´†º;MmM\†WA¯ð|ìÙÆh›£5gŽö–˜x4âèù)¤¾ÝÑ|ÿšÄKÚc±GC\£¬±ì껫yÕyÇ"ŽZpŠ›^,Ñ_2Cy†’h/^¨ýZ èðö@’$™]•ÝÔÖÄGà[¨»ðõÚó¬çsµç>ùø¤¾¹~΂º¦º/Ol¾UQD1<;üAúƒ6F›­–íb½ÅÜŸ}Ìññðð@n8 Ãb±ÚÚ¾§Ë FHHHDDD\\¼´´tøâ„ÑIžêêêöïß¿ÿ~öÆÓ§O÷6—„F¦ººæýûcöïao<}z6‰Ô÷š6h4Âcñ/;/¾oo.¼´¡¹›µ]Ú?{CK³Ur¸íÔÁƒšÛ›õÏýöN‰­–­Œ Ì9ʹ€”€#6GF`ÝZz Í¥æjÏýáïž||rtÎQ~½–—–ç2$ƒÅà0¸íHK;³ #©³Ã|ÇîÇ»/Æ]¤ÕÐvÎÜ©#¥³ïé>2?y“é¦'Ÿì|´Ós–'‰—t8ìpCsCçû^ãÁ«Wp^NNNLLLRRRBBBLLLTTTLLL\\\TT”L&‹ŠŠb±ƒû24ìÆHòôã?ÖÕÕ…††æççãp8ƒ]»v-X°`¸ã‚Æ?Nª«k ÍÍϯÇá0R»v-X ÖóžÐزÌ`YȇMA›&:L”ž¨%¡Å‹ç" q³¶Kh5ҀȬÌ,ÕÿÏKË –£œûXñ}ÚI4sˆò‰ZkX¥å~Î$3©½èRPõ¥õK‡v¤…Ÿç[¹Õ¶éÛ\ô]ŠêŠ”D•ÄøÅâ‹ãï§Ý¿½ì6G8G9·`‚¦EuEã.®4\IÀ»¿^fÎ\|ðåË$ .c$y>vìXÿ‡'lD"qÀǨ„…y3;vÌl¸é‘ˆg±à»ÜƒH…¬±9"4=4® Ηê[ÚPj¦b¶Çbº¸zk»Ôÿš'v-í-ôŽB˜(ŒÁ`UˆÎ™0Qݽ½èAmA‡hKJ¥HRìw¤ÄÄÅÄíÌöƒa':š*š6µ5åWç£ã L‘Ÿò÷Û¿KêKTÈ*}i”ÂbÇÈ/M¨ŸàÏA£‰0QxÕ”UHýu%½Òõ¾ë껫_º¾äÅóö¸¶³­yBÞzK-Ke/HJ+Oc±XR‚RhKvUv£ý¶MZYݦ·½èÑ$™I€è¼h“Ã~K•bh1íÌöI²“ºÜå껫Ÿ¿|Þ7{©¸"⿽ÜʇçC!h|‚ÉA£Æ„ÚÚS•¾M°*Ê'Jâ%U–UÔhIhq^Ûå¶æi¦êÌÛ‰·O¾:©)¡‰œñSý§Ãa‡‘UèfŸ¿|>qôë_xp<,ëF j1UQDy­½è‘ŒŒ¡œaâ§ÄÓ¯OïžµƒÁTÐ+þˆú°pÂÂÎÛ—Ô—\Œ½xØæ0™Ÿ àÁñ Ãi~ªÿèmÝ%0y‚ hԈ΋>qL€G@QD‘Ï“_ߨÒ(Ê'Фœ×vi`kžf«Ížª4õmáÛ…×*‹*p„¼ê¼6F›†¸†Ó¤ïï««‰©¥=þøXYT¹¬±¬Š^@ïî±Çyz™ûò껫€š¦@hFhÒ§$€– ú¬mŸå¾å~˽ßz?L(E’ʬÊlio1’7BÂîpØa]i]'½o1c0» vÓ®7Yσã H 0W1Gò*Ÿ`òAШ±Îx“ÅŒ+ŒûXù­þÚTÑô€Õ>_k‡ƒñ^ì}4âhHZH^u‹ÁÚhÚs}æP!«xZxîº?µ, È+¸ßrÿ<íyÜôP\WL-¦þ ùzÀª/UìËÊÊÊššh£¡œá•ÅW…*m(-o,Çb°¶Z¶¿Íù­ó¢Ï2ŸÅĆ® e_å9Ës}àz+o+ƒCFU€ q &O3UgÎTùµíkam!‹Å’’A–äfí ñ]âKâý>$ŠÀóþ8h}0¿:Ÿ ˜J"JêÇÖÖ³Üfå|Îa²˜ššèü»Üô¢ó8Oj~Ëý@'ì…VÈfÑ[¢óªóè­tyay¤0¼3²JÈÚöÄ A’]šU•ÕÎlבÔA § h|‚ÉA£ ?_G²ÛÇmœ×¸.ç¶àГÑã¼#G`° ½è<Γ$I²ÇZ ¦Ç·ö´%»ž|ƒÁt· ‚Æ›Þ%Ooß¾-))Ô‰¢ âìÙ³gÏžî( &/‹|!‚ú«wÉ“††ßüùó)h„8{ö,;˜6Ü@댆ÆUÿ@a½KžÄÄÄÄÄÄFò|±Ð€8{ö,ÓX2Ü@+PLl¸Cß8‚ßr¿!¨Ä‚ hPÁš'‚ !‚Å`MM‡; ‚ú N^AAÔ 0y‚ ‚ ꘨QAA4’ë¡ \\\ŒŒŒ&Ož<Ü@A4jŒëäIAAAAAa¸£€ h$*©/±¸l±Òpåÿlþ7ܱt­ ¶à~êý×ù¯ ë L†š˜šãDÇ•SVâ0ÿ™µ·¬¡ìÔëS1ù1-J¢JË –¯4\ gÙ‚ þ×ÉS@@ÀåË—Ïž=‹Þ|b0wïÞ}þüyEE™L¶´´\½z5‘Hì°cRRÒ•+W eeeׯ_off6ä±C4Þ­ð[QA¯@?”øPþ!® ÎÛÉm,k([|kq%½YÌùœs$üH^uÞˆÍ!hT×ÉS‡š§/_¾Ì™3‡B¡ \¸p!""BRòûŒåÏž=ûßÿþ×ÚÚŠ,^¿~ýüùónnnC9A–¤Ö¦©›LM•D•¾¶}}™ûòHø‘ÈÜH b¦òí/º/OTÒ+§+OÿÕöWA™Wy¯ö<Ùs;ñ¶ÃD‡É²°b‚úh\ŒwpàÀ …"!!áååõäÉ“‹/ª¨¨¤¥¥¹ºº²ovøða[[Û;wîoÚ´ ƒÁxxxdee WØO¾K|×­Ñ–Ôæ#ð‰ñ‹9MrúÑôG@zE:²AcKãó¬ç$^Ò‡ ʢʼx^[-Û]³vî¥ÜÎÐ!h”×wžØµ··ûúú‰D …¢©©‰4º¸¸hkk?xð ¢¢BJJ i´³³ F>;::ÊÈÈ9räÆÇžÐ!hñòDzyzß‚¬o®_òÏ´‰Édv¹Ù껫ã â8*ìÇ0515nNZ×TWwõÝUqq[-[¤±°¶ )¡É¾¥ŸˆIª¸¾˜Ébb1Øþ\4·`òôMss3€L&whGZµ‘Î455 zˆ4îEäDvÎÜé<ÉY„O¤¤¾$¶ Iz\ËAjYª’?‰—tÐú •ºU;³ýyÖóãQ}¼—_o gpqÑEmIm"¾ãë&nêù©Ÿ¿|F>ÏVŸý³ÕÏ‚¼‚È"½•& wØE„O¤¼±¼©­I€G Ï ‚Æ3˜<}###xÿþ=“ÉÄb¿—‚ÅÇÇdeeÑ–ÄÄDö×ërrrC+WÒ‚Ò{]{ ’@…¬¢BVár-aYaO ÏÅz‹‘–•†+ë›ëϼ>Ó‡ ù üÞ‹½ÉüÿëàÖÒ[}88g™•™ïŠÞ)‹*#‹,«ËÍØÛû|Ñ h<ƒãßHHHfffîÛ·¯­­ Àb±þúë¯ððpiii}}}tËcÇŽ!  °°pûöí›a ‚Æ•uÆë¦)M›ï;ÿ§‡?]}wõMá›6F—k9@n´˜«˜³7ÎT™Ù· 'HMè1s@oÝßæì͉ÿ)þšó5éçg??þøY…Ü‚ªo®ï°K}s=‹ã#ð~\4Ïà§ïþüóO›“'Oúøø¨©©UTT íxü÷ %//ojjª¡¡ÁËË›™™ÙÚÚ:yòd—á ‚Æ /éŸeÿdWe¿+z—Y™”Tóµæ6ÿ›¯3¿Çµý„Å`,ðŸ{9ÍíÍ·áéÜØÙÖQ 5 Y!Ùy>óBÒBìtìJ¢J€ìªlöëšê*èJ"JHõ¢AÐX“§ï¬¬¬=zôÓO?åææÖÔÔdeeOœ8±råJöÍÎ;wæÌ™t¯Û·oóðð CÄ4.iJh¢EÐÛB¶í~¼ÛLÅ ­ìá¼¶KH’C‹Ya°m|M{;¸€8 ¸®˜½ñMá›þvf@µ2ZÁ¿¥N9<ÿ2ïeCsúÂ]hF(‹Å2V0fß± ‚Ƴq‰Á¦M›æÌ™c``üéÓ§¢¢"999EEÅa‚Æ¥ýO÷K I[©[)‰*p„¬ª¬œÏ9mŒ¶ŠÆ a¢0çµk«eëýÖûä«“D<ÑJÝŠÁb<Ë|v)îû6|>Y!ÙZL`jà\­¹-Œ–ðìðSѧúÜ—~Ör]S]BIÂÉW'hb$È+8GkÎãݸÿjû«´ ô«¼WHÌ.“¿Ý,ïóEƒ ñl\'OH1¸´´t‡vuuuuuõÎÛ«ªªªªª"Ÿåää`‘8 ±òÆòÀÔÀó”óì¤&¨‹«÷¸–ƒI2“–,óOòßûd/Úh§c‡!6šnü5ü×ýO÷ïºiqÖwL ìOú¬•ÑššÚ¡]C\c“é&tqïì½ïŠßÅÄZy[¡+ W¢Ã‹÷ù¢AÐx6N“§Ó§O_¹r%''GEEEE¾ZA£Ã‰ù'‚Rƒ"r"h54`É ÉÎÑš³ÎxR¾Ãy-gGlŽ(‰(!ƒdJ‘¤–N^j7¡cò´ÊpÕ×Ö¯þÉþ " ëŒ×ÍPž1\ÉÓ,µY—]¾ŸvÿcåÇò†r^515M›•†+‘Jp„ŒÌýÕ÷OEŸŠ¡ÅÐ[芢ŠÈÄÀèý¹h4naº{—µKÎÎ΀ÀÀáùŸÅruuõöö–’’ ‚Óúv†Á``Ép ,g'§ø÷[QQA§Ó9lðô)iûv©Üܼ~ž‚Fø³=&III‘H¤^í2Nÿ¶Ø¹sgjjjQQÌœ ‚ ê•qúØŽ}‚Æ<ƒ3-]®äLòHâx ÕÆé'‚ ‚ ¾§wž Wà½%‚¼óAAÔ 0y‚ ‚ ꘾-z‹Å`-Ô,”D•,+¶ öcåGÉVË–ÌOîb¯Êo ß2YL##}ý¾RLWžÎyƒ¬ª¬’ú’‰Òm4m·cæŽZLxvø:ãuè–}¸Î4fŒ£äéõë×QQQëׯWTTDãââŽ9baa“'ùêšêÖß[ŸZ–жðâywÏÚüRç¼–ƒvFû_”¿¬5¬sªr.Æ]D7˜l àG#Žú'ù·2ZÑ•E•¯:_U!«°ï˜û9÷Bìdƒß#?çpn†òŒÍA›©ÅT¤ñÔëS+ÔÄÔØ÷ʬ̼òæ zd{]û?íþD3³ÎB>„×sî˪)«DùDcù‹š IDAT9oÃAfe&ÀTÑ”½QOZÀ—U•…,öù:CИ1¾’§#GŽX[[³'OÓ§O?|ø0Ìœ hT¸‘p#µ,UŠ$e©a)LþTÿ‰ZD}_òùµÍym’>%EäD˜«˜ëHéñDä¶S -F’$i g ',×ÒÞ‚Ü(ÚódOàª@ö£r£¬5¬UÅT³«²_å½:vÈDÁ$£2Ãi’“Ÿ…FɬÌ<}êÒ¢Kè^‰Ÿ#r"f©ÎÒÐ(k( Ë {˜þPYTÙÝ̽»C>„ÄÄqîÅ|ùýIž*é•Y!YöF,++$›W×ÊhåÁñôó:CÐ0Ž’§.MŸ>}úôîcC4BÔ|­¯ –"I!-­ŒÖôòtnÖö¨úkõ©§ìuíÙØQS}[ø¶¬¡ŒÇc¢`òùËç¤OIµMµhŽRÓTsÍùÚ,ÕYÈâgî¥ÜK(Iû1 ‰¤mf›ÍU›—y/Y,ƒA£ýsþŸ‹ô!‹)e)Kn-¹žp}댭ÝÝ|rœèh$oĹèÃÁ¾iioðây;´óàxÍmÍ<8ž~^g8yª««{ñâF#FFF3gÎDÚ«ªª.]º$&&æææ†nÜÜÜ|êÔ)·{÷n<ÏawTCCCDDD^^??¿¡¡á´iÓöàààÔÔÔ={öðóó£#ûöí#‰·nÝŠŠŠøúúFDD”••×®]ÛeÍSaaaDDDEE™L¶°°ÐÖÖFWEDDP(WWWQQÑGåææJIIÙÛÛ“É=ÿ+111::šÅb™››?xð 99=²ˆˆÈ“'O²³³§L™bccÃ9ž;Î~d!!¡‡ÊÊÊ.\¸PDD¤Ç˜!hD±Ñ´¹“tÇ—ê»D‰*YƒÁðàx ä ¸YÛ#²J‡Ì \š¼.`];³½C{õ—j4yÒ•ÒE3'À å÷Rî-Ö[ŒæÁDÁä~Úýª/U’$I¤QYTÍœú2ú?hþð<ëyNU޶ä÷ãì':rÙ—>CÒ&$…b‡<¸$ˆ ßׂƀLž|}}=<<Ðssóàà`qqq ‰ŠŠŠÿýï,ËÝýÛMémÛ¶ùúúz{{#™‡Ý‘EŸ]»vÕ××£˜™™EGGc±Øàà`???77·9„ŸŸßŽ;äéåË—€ëׯ#kgÍš…$Ojž8ðçŸ2 dƒÁlذáÒ¥KqâÄ CCý{÷fff"Ûˆ‰‰EFFêëw[ìÉd2]]]¯^½Š¶lÛ¶N§ß¼y9òĉ÷ìÙC£Ñ;wî´±±áOG¬««ëééYXXˆl#..bffÖý÷ A#ޙЙÿ ÿ› 7]n»´´·L”žøƒæË&/C†pä¼¶GÊdå-o ßžŠ>Ńã±Ö°VUâçáÇL -&éS:@Zð?³@"§ë²‘ýmyù§SQ4´4€n AÍ’Û•6”²72YÌÒ†R!¢rÿ©Ÿ×‚Æ€Kž>|¸aÃ<?þ|–––ðð𘘘5kÖ< ÕÐÔÄÔ8¯íÃéú$ï÷ٔ߾ʉ¾Ô§³×<…g‡ …4$4ºÛejž´$´ä…å?”x‘ý­€Ádœ}}ðƒæÈ6~!hԘ䩬¬,##CMMíÙ³gÏž=c±X, €ÜJHH@Êtïܹ3wî\[[[aaáû÷ï#ùG»“H¤œœcccöÌ 0°OŠŠŠJJJf̘f*SSSggç;wî$&&š››#{÷îE"ðððX[[gee•••u™<–––ÚØØ ™ÀÞÞÞØØ8>>¾ÃÆžžžhæÄ}<ÜØ»w/ÿõ×_ƒƒƒcccaò"Þo½ß—¼Ÿª4UIT‰€#dVf¾ÎÃàDøDz\Û²€ÍA›çhÍåÍùœMæ'þò¹ÿ}!ó“÷<ÙóäãM ÍÒ†Ò°¬0‹±Îh‡¡ ú_ó”^‘™ ÈùœH(Iø‹ò`’Ì$ 5 dw3÷½Oöº‡¸ÛM°“”Ž¡ÅdTdH‘¤–N^Šl0àׂFIžªªªyyyì¼–½JÉÜÜ\II‰F£988¨««s¹{uu5@KKk@¢íNmm-@UUµC»šš ¦¦mQPP`߀D"ÚÚÚ8¶óSBeeåÎÉ“†Æ÷?:¹‡***‘S@Ðh1MiZrirTî÷{?<¿Xý"Æ/ÖãÚ>°Õ²]0aÁ£ŒG©ß&pÖwäô÷íG'¾1”3TSó~ë´ØëÚo±•ó^ý”^žŽdKˆ÷%ïß—¼¬4\‰&O‹õÔ\y{åaúC¤™Û-iðë A£ÎÀ$O¢¢¢€ &8;;w^kllŒ~Þºu+FSSS»uëÖâÅ‹,XÀÍîH]NVVVw åÒt:­.õ¡ùùùÚóòòܼOÇá°Ú;·Úyîãá¾ã4 }9YDOA£Å¦©›VMYõ®è­†’™©:“ŸÀÏÍZð8üv³íªbÿPœYxf¹Áòå0̹)z2z…ÄKënG²Êv³í“d&±7Z¨YùÉÂDaöFO Ïy:ó¨ET&‹9E~ÊdÙɽ»½§+­»Ýl{çöÑîšµkñ¤Å±±ÍJ¢JjìÅà}¾Î4f Lò¤   ¡¡QVVæää4qâD´Åb½xñ-cºzõê7Ö­[wòäICCÃÕ«W'&&ª¨¨ô¸;‡ÓÐЈÿûï¿‘sDllìôéÓ1 RþäÉ“mÛ¶!«ÂÃÃcccÙƒD^=ãpÃFQQQ^^>66644táÂ…HcBBBPPŸ¡¡aß.Ž’’’¬¬lDDÄëׯÑÁ?~Üù¶Sâá¦ãˆ'N,X°y&ØÞÞ~èÐ!ÀŒÝN A#ÏBͽMÒ«µÝÁap]¦´8a¦bf¦bÆaG$yêÐØ]TºRººRº½Š¶?¸?²¨²²¨rwkûv!h̰‚ñ?ÿüsÑ¢E†††–––ÚÚÚD"±  €J¥Òh´¦¦&—˜˜¸}ûv}}ý‹/òññš››;99ÅÅÅñòòö¸û±cÇ\\\6oÞìãーm—×ÖÖ†Çãíìì:ôÓO?ÅÄÄ())eff>~üXRR²¼¼yJ¸k×. …ÂÏÏŒóÔ¡ûöísssspp°³³ÓÖÖ.,, ikkÛ»wo¯ª³;ððððôô´²²rppPQQÉÉÉ •””¬¬¬DGÌëRñpÓqDYY™ŽŽŽ//odddzzº¸¸xç+AcÒ•7WاXaǃãqæ:Äñ@4ª Xòäàààçççîî†4b±Ø¹sçâñøºº:'''^^^ä® ÀÄÄäÌ™3Û¶mswwÿûï¿9ïX²dIMM§§'•J¥R¿MennŽ•Ož{åÙ³g—.]ƒÇã---õõõƒƒƒÕÕÕ‘§u"‘ÿäÉ“ÜÜÜ––¤‚»óÜvÇß¼y3:¢÷ìÙ³ÙGô¶¶¶&‰ÒÒÿþi”””ìîÊàp8Ÿ­[·FGGÌÌÌLLL´´´ÄÅÅÑðºÉɸ軈 ˆwˆ¼’^˜˜]•Mo¡Ë‹È›)›YkXêý3IR·ó”CÔ°æ ‚ Ñ¡±¥‘ZL447 ÏÈ&‹¹%xKTn²ø*ïÕ‹¬A«ƒ8ø·.ŠÄKZ°îMá·Y’ÚíII›‚6Õ6Õ¢g¹ŸvßYßùøÜãÈâò;Ëß—¼G×FåFùR}/8^@¬ Ô Ï0YLd18-x×Ì]ìagWe/¹½„Þò}*e¿D¿%úK~Ÿû{w=ý=ò÷å8_ ¯^²B²œ· hÀä ‚ ÑAKBËo¹_‡‚qIäÃëü×"|"{gïÕר W\Š»”^‘þ4ó©½®=z„×ù¯I¼¤Ý³vëHéñD“ázßµ®¹Îa¢ƒ…š…0Q¸¨®èFüÀ”ÀiŠÓê.Ð[èöºöÆ ÆòÂòÍíÍ+>ÞH¸q$ü’<•6” ;Äd1é-²T·d0Ï2Ÿuxïïnò]z ÝBÍÂa¢ƒQ¤¤¾„B£4¶4rèifU&šv§©­©÷—‚ “'‚FA^ASES #Ì'lªhж·´·ðX¼ÿ ôš’ˆÒJÿ•‰ŸÙ“'`ý³ô©oùÖíÄÛÕ_«wÏÚí:ÍÝfžö¼Y—fF’'¿å~ïŠÞEçG‡e…µ2ZY,/ž÷Sý§òÆriAéÐôÐVFë:ãu?[ýŒì>_gþž'{‚Ó‚Ñâ±x€——ŸÒ²tòRô†Y—öÏÞßÐÂi¼íAÃ&Oz2zì¥H¥'j¿Ö²o£-¡fN€äÒd@xvx\aòV? °yÕy‹áêC‹é|ºÆ–FiA鬪,€ó$göUΓœÙ“§eËB>„l Úä0Ña¢ôD- -^š'á`òAШÂèØ½Õá7!À›#óäY’W]p¼€VVμ>ƒ~–¤W¤³§eiåiŽ&L^5eÕª)«•ôJ×û®«ï®~éú’ÏÛeœ°æ ‚F8˜TQ~Ñ‚š‚†–])ÝôŠtä³ÕfÈ$}JšsuŽª˜*ƒÉ@R¢ zz–è¼ècÇxEyð<ùÕù-¢|¢hºÖYÿkžþÏÞ}‡5uõq?I ;€a(ˆ"¢¨ ˆX'.´nÅE­ãµZ}먭»­ZµZ-j«Å‰‚{‹àQÁ…¨ˆ²—lHØ#ÉûÇõMSÀ £ßÏó>ï“{rî9¿ùöÞs~p}ï½½„ŠBBÈÙçge>"„ l7pšË´wð``hf †„"µÈàKú,1á˜d ³¢Ó££Ò£ä_¶Ö¨Ÿÿü}ÿïM9¦éÅé2%$Š%â¡í‡ë0ŒÒÙ¢ój¯ÕZL­´â´˜¬öËÐ_¤Ç! :cïØ½}íúÖŠk_æ½L,Hô°öØ0tƒìÓ]§÷´éY^S—“SRUâfåö·ÏßZL­w©\¾¼²¼¨ô¨¨ô¨„üBÈkákj3¥0¥å&ýˆDo~½áGkòêø4åää”––Êé©åëkqÿ~²¾¾XN·&ID ù ÂJ¡X"v0uà°8ÑéÑZ²ÏâKÄÑéцچmÛJ7ëô‘’H$©Å©…å…†Ú†­ôZQ‹Í¥*j*’ “i„fglÇd0ÓŠÓ^ _w2ï$›~rJs²Y<]ž…žEUmÕã¬Ç<]u"R^SžZ”*‘HÌõÌ ´ šý;©#·47¹0¹~{ª@Y‡ëmÛfxÿ~Šª æÄãñ8ŽR» <€r Oéé̾}­‚ƒ3+ß[UïÁÏ??|È>q"CÕ…@sjBxÂi;hf|~ —+~ôˆ­êBšÙãÇ,‡*UWª‡ðÍŒF#½z•‡†j«º€æ”—Lj‰aöY¹ª ÕCx€æ7|xé½{Z©©ÌÆ»¨‰'ôôôÄO@ž %ôéSfeU³c‡¡ª h}ß>î„ B6 …á ZƒA¾ÿ¾àÜ9Ntt ^ðÞøùÒhdΜ¢Æ»Â'á ZDÿþežžåëÖUUÑï ð{öŒuèÞâÅ…ºº-r÷ P;OÐRÖ¬ÉÏÊb~÷)îˆê+7Wcöl3w÷Ê1cÞ鎬ð1Ax€–bm]óÛoÙ—.éüö?Zª¨ Ïžm¦£#ùí·l:þ`ÂÿáwZ‡GÅÚµù¿ýf°~½Q =° …äæjLšd‘™©±wïk==œ°ƒàÁÀв&Ljk‹¿ûÎ4%…¹uk.‡ƒ?B ž=cQÇœ‚ƒ3­¬jT]|Xpä ZÜð᥇e=yÂ8ÐêäI],‚™@@ÿñGãÑ£[ÙÙÕe 9A}x¶(§ÑgÛ½Mq1}Û6ÃÀ@nÇŽU3g{y•1™ø÷> yyŒ'ôöíãÒhdñâÂ1c„Xçô)Àƒ Å59ÿüóššj³²²R ðxÑh4///Öðé@xPKƒ ’yb0}úôQêr!h2„'µÄápúöí«¡¡A‹Å#FŒPuEŸ „'uõù矋D"Bˆ¦¦fß¾}U]À§á @]õíÛ—ÍfB ¤¥¥¥êr>OêŠÅb 2„‚svïÏJHLL|Dz³5BCuîÜÑŠ‹ÓÌÏg”•á?áÞÑB¦’EÈ[Ÿv¢Ó‰žžØÒ²ÆÑ±ªW¯òÞ½ËÙlüqü„p8¥î‘†Ç³À{òâ…æöí†×¯ë°Ùâ=*FŽ,13q8bU×¥ÞÄb§+W¦R¨êBÔ›XLЋ驩ÌGØAAzŽØÇG8gN‘®.~?¡8òJhÚ‘§âbú¶m†ÜŽ«¾ü²xÀ€2&ÿò4›ÚÚZêš;hùùŒà`½}û¸4Y¼¸pÌa½áÀÇFÙ#OO „&„§GØsçšÑédñâ‚Q£Jh´–¨  ™ t??ÃC‡ôzô¨ôóËÖÓÃ!¨™²á qZйsœ)S,:uª¼z5môh$'P\®xåÊü“'3˜ãÆñÓÒ°¤ þð-åØ1½ÿþ—7y²à?²±¶ Ô‘£cÕÉ“™ÚÚâ±c[!?´ˆÈH­Õ«çÏ/úþû‚?¾@˜šÖ9’ÕªUíW_™ …ø£ „ <@KHMeΟo6dHÙüù¸ Ôž––x÷îì²2ÚüùfbB„'h kÖ[XÔlܘ‹ENðq05­Ý½;ûî]ö‰zª®Tá šÙµk:Ú«V°X¸˜>ŽŽUS§ ·l1ÄÉ;À­ @ Þª@$"Zuî\µukÎû) URR2{ölêõ‘#GZt.F^oñbRSCmæìØ!21iÑß'€îåe5n\É’%ª®šî0ªtã†NZs߾ת.þQ[[õ~æ2ýþ{­Û·¥›´ªª÷3ïûÁåŠgÌüù§þüù…x~˧ Ç 9;Çqw¯°¶®Qu! zÚׯ«ºŠ–5v¬°¤„~ë–¶ª UBx€f#‘ðpí~ýÊT]¨3-ÍhýzBHuÛ¶ª®¥‹:uªDxúÄá´4›ôt¦@@ïÚUÏÔdt1»ª IDATggŸ>}úùóç€ËåZYY¹ººöìÙSúð¸F;4(++kñâÅÔëM›6UVV>|899¹ÿþS§N%„…ÂsçÎ=zô(??_SS³m۶Æ sppŽPSSóÅ_H7™L¦®®n»ví† Öºuë:ÓEGGŸi»ô…¶ö?—ƒéèè(R˜TUÇŽÒ×b6»–Ï—Ó™V]M‘hhp¸„FI‰ô]Þ7ßHX¬ì]»«àc‚ððF[°`Á‚ 222ÒÒÒ’’’þüóÏŒŒŒüüü#GŽ|ûí·vX¶lÙœ_hVçœ]}|>Ÿ:ë7hÐ __ßúlmm !›7o¦‚‘­­íܹsy<N_±bErr²lgsssê(TZZš´155Uñ/™–fº|¹t“^VÆ›7/38XÂbÉÙ‹V[«ÕÐ}8Ù11„Zº^CÐ „'€7‚‚‚tttú÷ïÏçóù|¾‡‡ÇãÇ©,’——§H‡öíÛ+;éСC©eR÷îÝ›7o^‡¨öòòò°°°ììlj©SQQÕÞ¿ÿ‘#GB¢££¥gë¤úôéC­^¿}ûöÇ»víZ]]íïï¯`1´ÊJ³yóè%%„ÁäÉì‡Yqq¬¸8ã5kò6lhp—²>}jþ¿’¢ùü¹ñÏ?S¯s¶o™˜à°|džÞxøðaPP†††™™™‰‰IAAôøMïÞ½éÐS§N ŠŠ*..þüóÏmmm9NNNN^^žH$êÕ«×—_~Iñôô "„ìÝ»7<<\,çåå™››Ëa"„L™2娱ciii"‘hâĉööö¹¹¹Ô’)E˜¬Y£G©rt,X±B#3“ÿùçôòr½  J—’1cêï"25­05}Û€•ÎÎòÏú¨#\l ð†Ï˜1cttt222=zDåssóµk×RKÂíКšš .455%„$&&ÆÄÄdggëèèŒ1⫯¾¢º­X±bÈ!4M"‘ÄÅÅÕÔÔì߿ߤÞ3wutt:D¬‰D/^¼pssÛºu«"•è?®LkkçìØ!a2kllò~ú‰z×dõjÍ/šö>24ê¢VE$&&Êy÷âE΂¼„y}àƒÅމ¡UVBjklmÿiôˆZ^kbRÓ¦M£ãÐ…BV\õºÒÙYþb)u„ßó‡Ãá½ý’ÒúpÚ!¤²sç†Û»tQj±ž^Å¿oIð‘Ái;% <(á @ OJ@xP€ž”€ð „'% <(á @ O 6ߨl·Ñ..7NÕ…¼Uµ¨Úk—ÝF»‘”mÿð+e!<4ƒ·wf—d«º xžÞUB~ž{{þûÙU]¼OïD"‘üpù7+·1NcT] ¼ª.@ ‡ ¸)È4嘎ë>ú<çù¥//)ØÿBÜ…¥–¶7i¿{ìncã­ Z¨ÝwvŸ;O½Îdl»µ-© é×á¿R-3Ï|òú õº¢¦"¿,ÿnêÝ‹3/Ú›Ø78ÚýŒû>‡|äÏèíà½cÄ9rKs7ߨ¼°×B>—/¬6ú~¿ýûŽˆCÚ ÙÃuõzx‡áb‰øÛsß^Ž¿ìa㡯¥ÏÖ`;[8w¶èLÑbj¹ZººZºÊÍ…ï’ð]»Ô–ò2äô´Ó :C~Ï‚²‚ÕWVÇfÇn¶edÇ‘ò;Àá ÔF¯Ö½d7?kó!$µ(•¢ÉÐ\?dýª««âóâݬÜÚ›¶ïnÙ½·UËS^S¾úêê¯Ü¿rà94ÚùëÓ_—V•¿ÎGu„ðêŠFh„éù¯Ï?ïß¶ÿÔ;±¯c/¾¸¸êÊ*wk÷m÷qXœwÇ5OáIᯅ¯ýïøûßñ—mšýÔn£]7~·cSŽIGtqôñQ¿¿Næ¸l®âŸ>@¸U¨ðäpÙÍ›I7 !VúVÒMm,úlÑÞ±{ƒ}ƒ¯'\ß¹³…Š‘‰â}ºøl±ýiöÓI‡'å–æ¶PIð~àȨýÑûM8&ÆkjhÞJºõãµ !ƒÛ &„q‰‰‰rÞ½x‘³`/!A^u‡ßó‡ÃáñxŠ÷Ç‘'% <(á @ OJ@xP€ž”€ð „'% <(á @ OJ@xõðç½?ÛþÒÖn£ÝF»‘$„Œ Óe[Ùvíî¥ÝS]êaÚ±ivxÛ»K/,µÛhWTQôžçP#ª. q5¢šíáÛÙìÑN£´L9¦„ Î Ë U]šš)«.»—vojשŸÈ¼-á Ô@¦0³²¶rr—Ék®•6Žï<^…%©©ðäðQÍû÷}HUó´„'øÐyt$.7Žò"ï…_„Ÿì[š Í9=æÈÙWX)ŒH‰H/Ng2˜NfN®–®Ò·n§Ü~ñ`¢óD®7,!,¥0ÅXÇx@ÛúZúuy”ù(>/¾¨¢ÈDǤ‡uVÜVõá°8¡ ¡™‚L›m0è BHninXBXqEq'óN6Š×ÖrB_…rÙÜnünÒ–g9Ï¢Ò¢$DâÂwédÞ©Á½ÞVêõ„ë±Ù±ã;7Ó5“í?ã~dJ¤·ƒ·­‘mysKsÖŸB›©ý¥Û—ÎHd¾s=¶ÞõÄë)…)Í:z¶ö$„d 2#S#óËò¹l®›•›tv€æ…ðº£ÆåÄBdÃu†gkÏ-7·ì½·W$Q»Ðh´qÆ­´NƒŽ¿tÐÌð+º‰ÎãrãŽ>:Úß­§MOiû±ÇÇÊkÊß¶×µW×–_ZΠ1úÚõµ5²­®­¾r;:=zÉù%ŽûSÚmÅå ÃÇÙG›©}+ùVB~ÂÚµSÞä‰äÂäÔ¢Ôž6=ÛµÑÑÔÉ-Í Oß¹ÓÕÒ•:ÔAY}eµSkr—É :ãRü¥‡™×][wæé™Žf-œ‹*ŠÎ=?wäÑgSÅk“•%Ìj0sÈòvð–žf>,ª(êg×Úüûþßt†W[/K}ËÄ‚Ä#ÔIoòKíݦ·)Ç4øIðÏt]ú¥Ýϸ?Âq„[¯þ¼<]ÞϲS¤§Ÿ}vvÍÀ5ŠÌ(ÝkÕ•UL:“:èÕ¥U—Cùßñ§ÑhýìúÙÙf2B^†9n¨m¸¸÷bù߀²žàC7©Ë$*<¹ð]dÿîÞL¼™T˜ô¶½¶ÜÜ¢ÅÔ::ùhG³ŽT‹D"ùúô×Wâ¯$$JOèXé[ø°5Ø„%¢%Þû¼d>(­*å°8„Žf¯Íº–]’—'¬ò¹üm~t84!T6<ÙÙþíó·&C“2£ûŒ»ÅÍó˜'=@Õݪûò‹Ë¯'\§Â“‚µÉ²Ð³¨“9ê³7±—ß!,!ŒAcônÓ›ÚüëÞ_t=`B€»µ;Õr%þʼSó”úÇ8ùãÎáÉáÒaÇ'ÿ^‘&;¯)ÇTöƒ¼¾ž|dòÖÏ·´¨àŒT£™®ÙÑÉGu4u¨Íå—BvŽÚ)'æuÌ„ƒþŽþ{žÇ<-¦–üo@)OðÊ-ÍMÈO°Ò·º™tófÒM‰D"‘H!4B#„<Í~*ý<Û}6•œ!LÓÃÚ#© )·4— O cö‰Ù/ó^Ö?¿,_vóK·/©äDásùÖÖɅɲç=¬=!™‚L¥j“¥HxjTè«ÐîVÝuYºT19¥9ž­=¥É‰2¨Ý 's§Ø×±Ô¦"¥Žï<Þÿ®PL•DÑ©§§¬ô­º[vop^Y¹¥¹_ûb¾ç|ooÅg¤z~åö•49e ³²K²»ñ»I“!¤³yç¡CÏ>;û4ûéûYOŸ„'øQ·0H+NÛvk[ýwKªJ¤¯ÍõÌeߢþ׊k©Í¥–¾Ì{ikdëÂw1Ô6d2˜Õ¢jÿ;þÔ_ô· ¢ÅÔÒcëÉíÐÖÔ&„TÖV*U›¬w_ó”Vœ–XèãìCm «„„>—_§ŸË—†'EJµÔ·t·r¿öêZay¡¡¶aØ«°ü²üŽÓh´ç•*,/ô ôÙ}樎£d‘bc`#}-¨P•Ôéo¥oET ø:ÞÂ|„¸l.!ÄÎØnhû¡õßu2sRd²ê²èôèÎæû§VXBârâüïø¿ÿÚÞ}ÍSè«PBHÿ¶ý©M=–!DºÈ]J¶EÁRÇw'õÎég§g¸ÎzÄ 3F;~Û¼”âŠbß@ßÉ]&Oèm¦¶½±ý½´{ãŽw±t)©*¹•t«ª¶J%µ½ãš'a¥0:-ZöFJ„™n3ׇ®÷ ô•^mw=ñº¡¶¡ì}Û)U“¡9ÂqDÀý€•—WŠÄ¢ ÎäÌ[V]6ýØtA¥ ¼¦\öXšô>OMûÁÍé1gÍÕ5sNÌékÛ×ÖÈ6SyõåÕZqí ÷X-Íá >N^ö^[‡o]²6<9<<9œj¤Óè½Ûô–=ã#߃œ<ëaæÃ‡™ !FÚF;Fì˜rtʇP›Rn%ßIDÒ›P¦¹LK*H |x9þ2Õ2©Ë¤ÊÚÊ“±'•-uBç ÷BBM8&}lûÈ™7øIðã¬Ç„:g!uŒ©ðÔ´/gJ×)Ù%Ù{ïí K K#ÿ¿Ï“ô‚G€f„ðjÀXÛxçÙûb“z϶ëÊïºÀsìí¿‡wîeï™™\˜,–ˆù\¾³…³tq·‡Kƒe¬m,;&Õh¤côfÌV]Cf…ÜL¼™]’m¡gÑÏ®KƒµÀs±œA|œ}„•BÙ¶{ç‚v&í¬­Ù…¾ 5Ð2èÒª‹l#FÿiðO»L¼—vO"‘tãws¶pyÂçò¥W *Xª½‰ýý(©*q0užålpÞÎ<„¦ÍÔVpÆ¿sBÈâÞ‹}œ}"SÞÜaÜÝÚw‡B«sÍ€‰‰‰rÞ½x‘³`/!A^xÿDQ÷Ýû·í¿É{Ó§0oKÃïùLJÃáðx<ÅûãÈÀG®¸¢ø —/ꜳûˆçhiO9#m£w¿Á¦Í ÐÒèª.@ <(á @ OJ@xP€ž”€ð „'% <!„\ˆ»0éð¤¸Ü8Uð¡Cxøäœ~zzÒáIñyñ²¯…¯£Ò£„•BUU .ðl;€ON¦03*=ª¤ªD¶ÑÛÁÛÉÜÉÁÔAUU¨ „' „s=ss=sUW ž@=TÖVytä^ê= ‘¸ZºNé:%à~À­¤[»ÇîÖeéBž}vvÃÐ •µ•“ “½ÚzMî:Y$;+éVAy—ÍíaÝcTÇQ, 5ì®È]ÉÒAdÿÿ§6S[vä²ê²#Žd 2yº¼±Æºð]©üm…Bî¤Þ¹9½8]ƒ®ádæ4±ËDcã:{ÉŸTþ§kpêÔ¢Ô«/¯BÖ^]K}ê¼+¬¸wáðÃÃ+½VRŸ¤ûÖŠk>8˜Z”j¬c<ÆiŒ»µ»R?€Â¨’ª’IG&Åå¼YË–véÅ%+}«¨ô¨Zq-Õ˜^œ•uéÅ%¿¿jQ5!¤­qÛŠšŠéǦßϸ/êBÜ…ƒ˜xÀHÛˆ’X(;åM£¨–0ÿ5òŽˆ5¢ªOð“àÕ^«§v›Úhñ &–ˆ—]Xvêé)i·°„°€>Ž>O ¶ÜÜ—g®g>Ëm–¥¾eraòî»»Ÿç<¯ßs{øöÞmzuj¦kf®g¾åæ–û÷ µ g»Ï¶5²Ífî½»7>/~åå•»FïRª†íáÛ?kóÙðÃY¬[I·ŽÅûéÚO=mz¶1j£àî²…í¹»çÔÓS–ú–“»L¶5²­UG¤D{|lÑÙE—¿¼L§Ñ™TÁOWg겪²Å­òZÕΤ!D­÷¶²7ÝØÔÏ®ßàvƒu4u®½ºv<æøæ›¥áIñŸ ÀÇá >t"‰èdìIM`ß`‡GécÛ§¯]ß¡­ßy@Û¿ú]ºcPLKƒulʱֆ­©FïöÞ^{¼B^…ä—åKÏ‘)¢Ÿ]?i"h?ДcêáwòéÉŽ+²»la‰d_ô>ŽÉéi§¹l.Õ8¨Ý .›ëÇÿqÖã®­º6:©âŸNvj ŸË'„tàuhôÌãHÇ‘†n“R˜•UP^`¤m¤ÔÏàc‚[À‡.­(­¢¦¢Wë^Ô_hŠM7~·úG;–ݱ¼¦ÜÝÊ]š-!úZúCÚ‘H$/r_(UÆØNcëo*>ˆla‚ŒÂòB‘X4ÿô|ß@ß©G§N9:eÊÑ)a a„ÄüDE&UüÓÉN­¬Ï?—Ýt4s$„W%.y€]eM%!¤þêcé1YfºfÒ×UµU„}-ýw¤Ö5H$Õo¬sn‹¶²¶Rní VV]F),/ŒL‰¬ßSvL9“*þéd§VVñ5šäÿßR?€ Â|èxºø=ÿø(»æ WÛ(á @ OJ@xP€²nœ9s¦²²RÕeB IDAT€j <(ëÞ²eËzôè±råʘ˜U–ݾ}{þüù÷ïß3fÌСCOœ8!‰T]¼'OJ322š1cÆ¥K—Nœ8Ñ©S§~øaРA§NB„ú <4]çÎ7nÜÒ­[·ï¾ûnðàÁçÎà ¨?nOïÊÒÒò—_~¹zõª³³óâÅ‹'Ož,ÿvü Öžš‡µµõæÍ›ƒ‚‚ÊÊʆ¾oß>‚ú(!<4§N:}zqq±ª+‚f†ðj`óÍvíârãNÆžòç›;|¶ë3¿?±D,Û­¬ºl{øöA{9nqì¼µó”£S"’#¨·®Ä_±Ûh$í¼ìÂ2»vóOÏ—¶œyvÆn£Ýù¸óÖ“Ÿ0+x–ó6çÎ[;ôebAâÒ Kí6ÚUÕ)8ðqàп†:lvضòZøúûKß{îôl¿©½ûoî‹Î.J,øçäη羕D¶QX)¬3ò¡‡‡¼öxuØÜ¡Ï}vFîI°NùÂ`0æÎ{ìØ±¤¤¤Ñ£G'$$¨º"hNª.@Q¦Ÿ,a–_„Ÿ„H¾ñü†jT |ù¼ÊEmV‘ª»©wï¥ÝÛ2lËÇ6 :#<9|\çqT‡ˆä:~'õŽX"¦ÓèT Fó°ö_FbA⸃ãJªJ¨Í‰7g=îhÖ±~Ï=w÷œ{~Žz-–ˆ3cÆ”P-ùeù瞟 K;4ñ“¹“R_Åî;»¥!/C±íÖ¶¤‚¤_‡ÿªÔ ÐÒ:wî|æÌ™¯¿þzüøñýõW—.]T]4yµqöÙÙU^«"¿ŽŒùo̯ÃeД®)Ùx}ã«üWƒÚ :õÅ©Øocïsûˆíz,½u!ë*j*tYºÌ;E¦FR«^å¿Ê)ÍÓiLqEqìëXj„Û)·L µ å—±!lCIUI_»¾g^Œý6öìô³íMÛKqɺùûþßßþúvÂw ?ôÿa]Ⱥ‚òWK×ÓÓNÇ~{ùËËƒÚ *«.ûþÒ÷Ê~ÔÈ‘_G>Xø`ÛçÛôµôÏ<;™©ì8ÐÒ öíÛçââ2mÚ´‡ªºhO 6æ÷œïÛÍ×”cª£©3Âq„—½WqEñë’ׄjQõ¹gçÚ·ý}äïNæNZL-}-ýaÃþÛû¿‚JAtz4!ijµgqEñÓì§äÿ‡¾ñüF“¡‘A‰Ï‹Ï-Íõlí)¿†òšòðäp =‹ßGþnob¯ÅÔêÀëðÇè? ´ êwžá:c†ë ‡G©¨©¸™xÓHÛhïØ½Í:j1µìŒíüFúµ5n——\˜¬ÔW1Ýuú צS.›;¼Ãð•VB.Ç_Vjx?X,ÖÎ;{ôè1kÖ,\‚÷q@xµáfå&»ie`E)«.#„¤§WÖV&$´ßܾݦvö¿Ø·ý¥mÛ_Ú®¾²š’%Ì"„xÚxB“à !ÉÍ:šéš¹XºPn§Ü&„ô´é)¿†Œâ ‘XäjéÊÒ`IuYº]Z5pFFv´ A†H"rµtå°8ÒFÑ«u/BHjQªR_µ—Ôgm>k ðÞ0™ÌíÛ··iÓfæÌ™@ÕåÀ»BxµÁf²e7i„F¡NÛQ'ã$‰H,‰Eb‰X"‘HÏèÕˆj!έœ9,NDrD¨&*=ŠÊž6ž2•×”‡'…³5Ø.|E*¡ÑhuZ$¤+Ò ´8Õè°uVÁWÖ6þôYꫨ_|8Øl¶¿¿MMÍ÷ß+}–>4X0>—¯ÉÐt2w:6åØÛú0h w+÷‰7n&ݬ¨© ÎÐõjÓkÓM·’nE§G»XºÈOjx"}>ƒÎˆN®ª­’v.­*Éjäé°|.ŸAcÜϸ_ZU*=ø$‹¨“†ÖÖ„#m#BH† ƒzA©¨©xœù¸þháÉá6ÿ,l¿™t“b¥o%¿P-CCí[·N:õôéÓ#GŽTu9Ðt8ò-¦Ö°Ãd!¤W›\SœŒ´Ú›¶Wd"[#ÛãSŽ÷³ë§£©££©Ó»MïcSŽÕŠj4†Ž¦Žœ-õ-OO;=®Ó8‡Ç 1Œ´†9 ;5í”ô&O, Öß>÷jÝK‹©ÅaqÚ ò ’žÂ“5§Çœ•VÚØ0L>—¿è³E›†mRì{Ó×ן6mZ@@@II‰ªk&¢á±; 8ùZ_¼ÈY°€—ðÉ]Œ]’íµÇËJßêÂÌ -=׿›wßÝ}nÆ9S‡–ž ôî¿çÀÓÓsùòå“&MjÆÂ”âääääätäÈUР¯¾úêúõëu½½½wìØÑ¢ór8§xyPÚNþ'"9¢°¼PX)¼rû«à¯*j*°äÄårxæÌ™÷3]»ví|}}ßÏ\Ÿ¬yø—ýÑûýùmïþÐÿ‡é®ÓÓï¾¼*Ûnkd;ÓmfËW ooïÙ³gçç竤€ØØX•Ì«ˆøøxƒ¡ê*äÁ‘'¥í³»¯]_‡G-9úÂå‹cSŽi3µU]¨ wwwƒ¥êB )žþeºëô„ïÞö¿é®Ó !6{Çî½ýõí¸%q7æÞX9`¥¾–þû)oIŸ% ß%`Á“ºÓÖÖîСÃÇ«ªªìììæÌ™“™™¹`Á;;»òòòÔÔT;;»5kÖÈîE5þôÓOÔ¦tßÜÜÜ… vëÖÍÉÉÉ××7..Žêpÿþ};;;‘Hi÷÷îÝ#„899IW\ÉÖ0wîÜ.]º¸¸¸,[¶¬¬¬Œ1nÜ8''§=zlÛ¶M,þ×M\£¢¢fÍšåââÒ¾}û>}úlذ¡´´´å¾·w)µá´€ ØÙÙ%'¿y¦¡@ ?~|NΛ{z)õW_(N˜0!==ÚŒŒŒœ:ujHHˆr7¸>>>¯_¿¦6Oœ8Q\\?44tÉ’%Ó¦M»uëÖ“'O¶oßÎ`0þúë/ªzzúÚµkõôô6lØpçÎçÏŸ_¾|yÈ!qqqïòÍ<{ö¬ººZ DFFΛ7oýúõu:([j³Ã‘'Ð××—>$X[[{÷î݆††MÇÀÀ`Ïž=TÞ²±±Y¹rå!C^¼x¡ì8†††üñ‡¶¶6!¤S§N3gÎ\»vm·nÝ–/_Nu6lØ™3g®_¿^QQ¡¥¥uúôéÚÚÚŸ~úiÈ!T;;»íÛ·ß¿?$$dΜ9„(UƒÍÆ»wïnjjúúõëÓ§OûûûïÛ·oàÀ..ÿ*ñôì©ÐC!›&::šüÿÛøp <¨€P(är¹o{WKKËÂÂ"<<<((hÈ!UUU!!!¿þúk&Ò××õêUZZŸÏ§h5‹Q£Fùûûÿ÷¿ÿ]¼x±§§§±±±@ HII¹páÇkš§ÈÈÈcÇŽ?ÞÎÎN__ÿõë×§Nò÷÷'„xyy5WÙÍá @„¼ ‰ËûÊí+-fó/ƒý`§þ(¥§§›™™Ééðå—_®[·nùòåÒuÐãÆ Rv"ww÷óçÏ÷ë×Ú<|øðÛ.¸SŠÍ?þ¸råJiyR³gÏn€µµµ.\¸p¡î"}}}ë¬gR9„'uò*ädìɩݦª <©nêRll¬ü*S§N-//?zôhNNŽ¥¥åôéÓ{öìÙ„ðôÃ?ÔÖÖÞ½{W ÔYDõŽÆß¾}û}ûöEEEÚØØx{{1¢ £õìÙs×®]ÁÁÁqqqyyyºººNNN>>>lÆš›­y¿Gø¸%&Ê{’ü»?mµôÂÒ“±'£¿‰6ÐRîˆj=õ¥Y~Ï+**œwìØ1x0ž'­z‡Çã)Þ7ÉxßnÞ¼IéÖ­›ª ¦Ài;P·Sn?Èx0Ñy¢[ïzâõ””Žf µ ¯½ºæíàmkôæ:çˆäˆ‡™;šuìg÷fyGjQê™ggúØöédÞ齿ÙÚ“z÷Qæ£ø¼ø¢Š"“Ö=Zq[Õß‘«Å KK)L1Ö1Ðv@ýgä=Ëy•%!¾KýO!§a¥0"%"½8É`:™9¹ZºÖÙWNyŠL ïâüùóîîî&&&ª.šá Ô@dJäî»»íMì7†mÌdBf¸ÎÕq”_„_µ¨zqïÅT·‘;£Ó£yŽÒðtöÙY¿¿Þmz78l–0+øI°ü©íMì·{뉕 ólíù,çÙ¢³‹’ ’¤=é4úÜs}¶HvGG3ÇM×7%¼9¤¯¥Ðç ïÍCÅñª+«J™Üe²‚ÅýösiÕ?wJtµtÝ5zuÆ­Ñò™𬏏øÆ«V­Ru!ÐDO 6V]YŤ3Çwo¦kÖ¥U—ö¦íuŒ#’#¨ðTV]ö(ó‘¥¾åóÜçEETJˆH‰à²¹NæN ˜%Ìò‹ð“?©·ƒ·œðÔ`a„äÂäÔ¢Ôž6=ÛµÑÑÔÉ-Í Oß¹ÓÕÒUz\вâò áãì£ÍÔ¾•|+!?amÈÚÀ)o"Ëß÷ÿ|È 3¼ÚzYê[&$y|¤ÁõFu ¸öêÚòKË4F_»¾¶F¶ÕµÕ·SnG§G/9¿äÏq*RžâSCìß¿ŸÍf{{{«ºh"„'PfºfG'ÕÑÔ‘¶ô´éyöùY**ÝM»[+®]Ü{ñ7g¾‰HŽÞaxiUéãÌÇ^ö^tZÃë;-ô,x.?©½‰} ëhÖñÚ¬kÙ%Ùq¹qÂJ!ŸËØvàáG‡CBeÓ•¾U€O[ƒMY"Zâ½ÏûAæƒÒªR‹CùëÞ_t=`B€»µ;ÕÿJü•y§æ5ZÀà?k1µŽN>ÚѬ#Õ"‘H¾>ýõ•ø+‰‰¶F¶–§øÔ ,¡PxðàÁY³féèè4Þ>HO 6¾rûJ6 B<[{žyvævÊíaÃ"’# ´ †¶ºùÆæÛ)·‡w~7í®H"’ +u(žšVƒÆ˜}bö˼—uzæ—ýë)³ÝgSɉÂd0=¬=’ ’rKs9,N¦ 3§4dzµ§4¾Bµädîû:VN¹¥¹ ù VúV7“nÞLºùÏãÆò4û©­‘­üò”š”õË/¿0™L___UM‡ðjÃÆÀ¦NKO›ž„ð¤p*|˜ùb¤m´cÄŽ)G§(5È4—iII/Ç_¦Z&u™TY[y2ö¤ü½ì½¶ߺ6dmxrxxr8ÕH§Ñ{·éMàk´¼&Oý‰+,,œ8qbbbb``àŒ3¨ÆŠŠŠ¹sç>~üxÿþýVVVª­šÂ¨–ËXÛ¸þ[l ö*¯U¹¥¹²+“F8Ž ÓèZzl=•ÖµU×Y!7of—d[èYô³ëÇÒ`-ð\`gl'gGªÑHLjڤÓè? þib—‰÷ÒîI$’nünÎÎ!/Cø\¾ô½·0¼Ãp/{¯È”ÈäÂd±DÌçò-œ¥ëÓ-O‘©¡ŽÂÂBŸ´´4Bˆ¿¿ÿäÉ“Y,VAAÁœ9sÒÒÒ>ìèè¨ê¡yàÁÀ < Áßsê˜Sjjjmm-!„N§¯Y³¦mÛ¶ .ÔÔÔü믿ڴi£¢z¡qÊ>GžÞIäD‘H$Û¶m …}ûöÝ´i“ž^Ë…÷¬á»î€"ê''BˆD"&Løã?œ>>OMÔ`r¢H$’ˆˆ¬ù(!<4EAAÁÛ’!D"‘¤§§_½zõý- á @i>>>oKNæç燃O„'eåúøø¤§§7˜œ˜L&“ɤÑhb±øåË—7oÞ|ÿõA‹ÂÕvJ()É#dLrr2ƒÁ Óéb±˜j×ÓÓãñx|>ŸÏçóx‹jÔnÐ쳩ë¹ä¿Û v&íO:,Rê8|ýìúIÉ@û¦S¿¿“OO.âiãyàÁ**E$GB–õ]6öàØˆ”këœÒœ„ü„ '¼Ëg¯C$ű4XǦkmØšjônïíµÇ+äUH~Y¾ô¼›œÊ%ɾè}&“ÓÓNSk˜¨I¹l®ÿÿÇY»¶êJ£ÑܬÜý~êX1`ÅŒã3úù÷“H$ç‡þ?¤¥øßñÿyÈϺ,Ýáû‡s493»Ï z4îÀ¸Ù!ÚLme§x?žàCÇaq¾pùâxÌq&ƒéfåÖÞ´½…ž…&CS‘w¤ËÒmÂßþúÆv[gÓ/ÂïEî jÓ³µç¨¨Dýg‹ÎL;„'…Oî29<)œê# ¥>]ZQZyMyï6½¥É‰¢¯¥?¤ý#޼È}!NN傌ÂòBCmÃù§çB$‰„H!…å…„ÄüÄ®­º*ñÉàsù—f^ŠÏ‹§ÑhíLÚÑiô/¿èÒªË¨Ž£ÎÇ™÷2lN˜•¾•»µ{ßz}ttfw¬‡Â¨•Vn7øêË«{îîy‘÷BŸ­?¥ë”™ÝgRºË·¾æZó¤ÇÖ“ÝÔ×Ò'„TÖVR›îÖîtð¤ðIΓn'ßÜn0ù_{wÖÔ™ïüMBB6’°†-€È""ŠJPw®m¯´ê¨W[­ÛâLo;Z{[Ö©ÌÈŒ¶¶Îˆ>µ•Ö[TP[¯Ö DjeeûNX„Ü?Noš „Åø~þÊyß7'¿sýzÎ{ÞCˆÿÿ³©g•*彂{tÝÏÑoˆÇ®IÑ¥P—¡‰º€Ô¡ìHå--„ºÖºøÂøÞŨnptÆdñdêó÷Yß'É’®n¹JyTñÈ‚gá r ªu±pyTñh(?0¢žÀ0H%R©DJQv+/g]Þ{u/“ÁÜì³y ½= ל§¬Š,͇Ô2Ë3 !b¾˜Úä2¹Óí¦'%dVdÖ¶ÖÎsžGñŸà–ö°äa|Q¼§µgï Ó§õÞ£ŠGݪn:í×HdVdª{û­ÜÚÄšF£Mµ™º'`OïJœÌœRp¿äíò˜³wP³¬šÚ›4Öã2¹MЦaù!€‘€ð£]~m~tntW׌ 3¨ÙÄI²¤Í>›µ÷ö¹Ãášót<þø »^6^„ÒÆÒo}L™7ažz€ÿÿdYò?Á 1¨‹L>ö>&çÔýSu­uýNxê÷Ø{ 6㚔ӥIDATyŠ=³*³BcCßYð5_*üAø½‚{–|K±Ç@*qD¾ßYJA]AW“Á¤¾RÒX‘1\ÏÄ…Þ å±x»üvQ›ö"ûš–šNe'õs¥òÒÅ.‹‡å‡FÂŒvr…ü¯wþjmb-67¶7æ×æB¦ÙLë··OÃ5çÉÚÄ:(<ÈÉ̉Å`åÕæu*;=¬<=ÕüüÆÉ‘J¤<Âd0}%¾1¹1džqt{î}ýÜë§îŸºqÁAäP&/«i©!„ì Ø«¹Š’öÊ,=°öÛµ\ÿ $&ÄÁÔEg•ÊK©ýÏ 6¢õ^ç‰òÖ¥·¨yQ%%„×ϽN#4BHØ«a=5H+K;—vîôšÓêÕ§=?ûô⣋k§­É)——¿ìùr¿'@_ž`´s6sÞ>{ûÅÌ‹eò2j¡ SŽéÆ™© ÅÚ{GÔ‡K>ü*ù«›OoR›sœæüýßþ®¾TCñ²ñqD m š9É‚ÿÝü»&g 3¯u=º9NsN¾zòàíƒEõE m „+¾ÕÞ…{{dí•»YºEmŠ:s(.?îIå/¯v2uZ3mÍ/cúZç)µ4µ²¹R½™,K¦>tuwiSª”Þø0Ð#Póœ8ˆÞ_üþÇ·>O /¬/üÝœßM·›ÞïÉКJ¥Òw `0òòò´ô^»Æß½[œ›«mÌ ©Tªò¦òªæ*SŽ©ÐΈn4ðÞa'k•É˼l¼¸LneseYc™ØDÜçÒD+7)šÜ,ÝL9¦TKc{cvU6—É¥îš „–£+——7{Xyô˜^T_TÓR#∜͜5§–‡Æ††%†]ÙrÅÃÊC{å„&ESQ}Q·ªÛ^hOÝ7Tד$KbК§RKS5礫ʹŸ©Yp³¢9«2«wÁ„ú¶ú‚º{¡ý‹Y~ÐFôÏ9èŸÏ‹Å+O`¨©Ÿ÷ϼöÞa'IÔ |‹ùbõ$ñÞÔ—© ÙB]oj9:À¦w»£©#µ§Ú+'„˜›L±žÒg=½a€×ŠøÆüç¾)ÇÔÔÎt ;Ð/„'}ºžs=<%üy½›|6QkÀèð Oåòr-ë&,u[ú"‹€@xЧ•“Vö¾µ§Öï­7]­ó^7ßyþ°ï`\AxÐ'kkkëösš³µ`pèý€ÿ‡ð „' <èá @O:@xÐÖyø{®î¹˜y1ù÷ÉêWùŽ6Y•YÑÏ¢crcU<"„d½›eldÜ{XdFdøƒð¼Ú<“3Ûaöþˆµ1†Â€!É«Í{ù«—ûv$îÈ?âÿA}Vt)®ç\O(JˆÜ9ÁlÂ0öá¶€!¡Údñä`ÿàK›/¹X¸ô9&·&÷D ƒu8ðpæ;™qÿ·Ü}yc{ãÁÛ_pµc®<gsçÞøúL#´>ÇDeFu«ºwøíXíµšÂarެ:²°táO?U4U¼È·ÁŒIO`êÛêO&ž¼õôVes%Ås±pÙ8cãr·å4­ß^íòjóß9|_v_¥RI%Ò}‹öõðΕw¾Ïú¾Ç(ªñá ØBHhlhXbØ•-WÒËÒÄÔlš¹©÷®^˜¤â$BÈK“_R·¯œ´òLÊ™¤â¤—<_"C;i〭ç·f”gPŸÛ:ÛjZj‹¯m½æféÖo¯yµy¯}óš¼]NmÆæÅ¦•¥M±ž2¸"O&ž¼òø õ¹[ÕÝ瘔’”u߮ӾŸ@ÀÏ^þlp5PŠŠX –“©“fã$«I„¢ú"jsÐ' ž`´«j®Ê(Ϙh>ñpàa7K7E—âYͳ3)gè4z¿½Ú…Ä„ÈÛå ]þqÁ%"I~]þ'·?¹Wpopu^Ϲþþâ÷=Å|ñàö0\šÍ"ލÇ5$![HiR4‘¡4@x€ÑNıØÞ¶ÞÓl§B8LŽT"•J¤éÕ¢µ³õ§‚Ÿl¶_¼òõ¨¿§ØóDЉEa‹ÚQçé–-Ò-ÚÇøØûä¾—;ˆJ¥RôI‚ð£‹Á:´òÐþ›ûsªsf9Ìšd5ÉWâk'´H¯% %Ên¥T"Õ\$IÀL·›~'÷Î êœë4wß |c¾¼]®R©4/>ÉrBˆ‰± ÂI‚ðá%Ï—».N(JÈ,ϼ–}mÿý³g]u”oÌï·wˆ¨üÑcS{W{ÜþÕ|1sžEŽéåé…õ…š«:eWeBÔëdŽèIÛžÀ0ðX¼%®K–¸.!„äTç~x<þøÞ…{ÒÛ'{‘=ƒÎH–%+ºê‹Oòvyjiªæ0s®9!¤¤±„ú@iëlK+MîãN¾¾éåé?<þá÷þ¿§Z]ŠëÙ×i4šæ½¹Aœ4 O0úe”g»w쵩¯yZ{Šù↶†›97 !²Y¿½Zp™ÜyæÅæÅ¾uù-Í ã=&<¹Z¸BE:´òÐ.¿6?46´²¹rpÇòbæ<y}™ôeXB˜D(Y9ie}[ý'ÑŸT6WΛ0ÏF`C†pÒ€ <Àè×­êŽÍ‹Í‹Õl¤Ñh«&¯ê·W»}‹ö=(yp'÷Žz’“ˆ#òŸà¯ùÀÝªÉ«ŽÆ}Pò`ù©åT‹˜/î1æ›ûÅ\Íôæù7Oêƒz1* —~;ÿÿ=W÷칺‡ê²…û—î§>夞J€ÑnªÍÔ/×|¹rÒJ{¡=‹ÁóÅ‹]‡¯ _î¾¼ß^í&šOŒÜ¹ÈeÅ£.DElˆ°â[iŽ162þzÝ×ó&Ìã09|cþ2·e6]Pßµþkþ…¬ ñ°ò062qD+ÜWDmŽROÊIšæÃ«Úåååié½v¿{·87WÛC‡?çcŸÏ‹uXž Wžt€9O0f}•üÕ'ÑŸ<¯÷¿ÿ÷Ò7^d=06àÊ€på Æ¬7¤oàÚ ;\yЀžt€ð „' <èá @Xç `Œ«j®ŠH‹èÝþ3ÿÔcúâë0tOc\eSå±{Çz·z"< ÂÀ¸ •Hýý4[̸fú*À !<Œ R‰t·ÿn}W0 <€ahhkˆË«l®ä±x®®>ö>4m€½ÏósáÏJüÖû·¶àNÞºÂ)ÖSü'øS½©¥©9Õ9õmõ–Ë+“—õ9Ý[S G`¿á)*3**3ŠúÌd0wùíRßÅú9Wž`´kéhQt)ÖL[shå!uãÓê§–|Ë~{ÂÚÄú» ßñXñëu_³,BÈß-K–\H¿ð»9¿S_ òuðÝwmßÜ;šáÉŠo±!‚oÌ'„(UÊÝ—wßȹ•µÕwkŸåÙ lû«äfé¦}ƒÆ˜í8ÛÍÒ­£«#³"3£<ãØ½c<úÑ¡ŸC€qá F; žÅLû™÷‹ïÇ䯸J|©Ø¡Ž Ú{bÛ¬mšÉ‰ 1vDíxZý´ÇÈš–ÍÍ7g½I%'Bˆ½ÐÞÑÔ± ®`§ßNõ€9Žs!ê;t”í³¶SER?ô‡y¸‘sãAɃ¡„'íl…¶Ñ;£í…öê–‹™÷^Û{"áÄÒ7è4úÐÏ!À¸‚ð૵_}yÿË£qGŸÕ<³6±žå0kýôõÓl§ ¤·_N¦N=Zö\Ýó´úéDó‰>ö>f\3&ƒÙ¡ì8‘pB¥Ri³Øhnr˜[ÀarÔ-\—¢9‘ˆ"I47©LÓØÞø¼ò†>çÉœkÞ£eµ×êÓɧ³«²ËäeTC<‡ã Â.“ììÜ¡ìȩʉH‹xõ›WO½z*`b@¿½ý2büËß„--ɲäi6ÓÎo:Ï 1¨Æ'•ON$œ–c‘5Ȩ™Uj¾¹-|Þøášó¤ÝÏ!À¸‚ð£]UsUESÅT›©„ƒåeã%âˆÎ¥Ÿ»ôèRÀÄí½ƒø9F£ÑØL¶:9u(;Žütd¸çäý“‹]S7 •*å§?}J™i?óyã‡>ç)±(q†ý õFBÈÅÌ‹9Õ9"ŽÈÆÄ†ôw†u86€ñá F»2y٫᯺[ºOO›ˆÛ£ŸEB¨Á´÷—Éu³p»_|Í7k|$>MЦ¸ü8E—b¸§ª¹jÙÉe‹\±¬øÂøg5ÏL9¦A^AÏ?ô9O¡±¡%%R‰ÔNh§èRd”gd”gB¶ÍÚF-L5ìç`lCx€ÑΊo5ÍvZzYzNuŽºQ*‘Ï î·wp®8¸=rûÃÒ‡KB̹柽üÙÆï6á ~õ§e ‰ ù.õ;j“Zçéyë ÿ þ§“O_Ϲ®na1X;üv옽ƒÚ‰s0†!<Àhg+°Ú•[“›Y‘YÙTiÆ5ó²ñR?ü¯½W»9NsŒŒ-¸=¯¯Ì°›qkû­»yw+š*l¶‹\ïößíbá¢å‹ë¼×ÉÛåš-l#önÿÝî–îšÌ&ÜØvãöÓÛeò²³ÂøÛóß~sÖ›÷‹ï7w)»$"‰Ÿ£Ÿf\Ê9‡h=Ð"//OKïµküݻŹ¹ÚÆŒg¡±¡a‰aW¶\A.1høs>öðù|±X<ðñ¸òcVZYZ\~Üózç;Ï÷¶õ~‘õÀØ€ðcVjiª–‡üMŒMž`ž`Ìšn7]Ësjš‹-½Ï›b†á Æ,o[ïQumi®ÓܹNsõ] ]ß„' <èá @O:@xЀžÀPE¤E¬?»¾¨¾Hß…üâD‰õg×7)šôXƒR¥L’%…Ä„lünãú³ë;•z,`¬Â"™`.?º|>ýüeÜ-ÝÕ²Y’,©µ³U…iʯËO’%uuwé«€2yÙªÓ«ÛÕ-ݪn}0†áÊ€Ryi’,I¿uF¿¶Î¶æŽf©DúÞÂ÷ì„vú.`Ì•'€1ÂNh—´;IÈB¢2£ô]À˜…ð£Ý¡èC7ŸÞ$„|tó#cBÈdñä–| W›÷̓oŠê‹,xA^A³g«»"Ò"~Èú!ä7!í]íiuK]—n˜±’P”p=纬AfD7ò²öúíôßZð~}eoESÅåG—sªsêÛê-y–sæ®ò\Å 1ÔÚ»Ú¿Ký.±(QETR‰tãŒ=ÊV©TwóïÞzz«²¹’Ç⹘»¬õ^kÅ·™“D!l#6Ûˆ=rû ÂŒvÙÕÙ%%„'UOz÷&%‰;ÒÖÙFm^κ|ìåc+'­¤6©yQ?fÿxìÞ±e!ÄÕµ[Õ½÷êÞK.©w“sæÁ™3ëÎxŠ= !qùqÛ"·)»•ê—]ºqá̺3Ft#BH“¢iýÙõêzbrc®e_s9j¶ïÇ}‘‘š-ÿLøçm7$"IŸ‡™SóÑÍ´Ÿ ?G¿`ÿ`íc`¤!<Àh·oá¾ð‡áÒ/ì_ºŸš0.` Ô½‡c/rY´Â}Å»ýìöùô󡱡êðDùô§O8/øÇo¬M¬m6'O^ztI"’l˜¾a¢ùÄeǽÂ{çÒνýÃÛ×ß¼N§Ñå ¹D(YíµÚÙÜ™ÏâW6W^{rínþÝï³¾ò "„üíîßžT=±ØlŸµ]"’ä×å‡%„=©ü5Û5´5DeF Ø‚³wºYº)ºO«ŸžK?§y½5)š’dIÚO…%ßrpç†ÂŒvb{¡=!d²x²½OÞW<_ ùMõy‘ˢºÂ$YRmk­9×\=f‰ë’/þý ê³J¥:|Ú’oyùõËÔô BÈr÷åB¶ðD‰´²´v38/ð¶õ¾üèò•ÇWäíre·²³»“’"K ò Rª”—2/ñX¼ÈM‘b¾˜01 À9 ðt úèF*•êÏW¶ÏÞ®þ‰~;´<þæné~výYí§Bó @_žÀ°½äù’榧µg’,©¡­A3g¬öZ­þ\ÒXR×ZgÆ5 ¾LQ©T*¢"„ÔµÖBòjòfØÍH/Kßµ³½«½ÇoQû×·v¶®p_A%'г¹óLû™‰E‰Ô&ߘ¿ÙgóùôóLs–ìIV“l¶,K˘›Ìr˜5¨s/Â6G¤¹IÍéJ„kkõç–ŽBH]k]|a|ï½Qiÿý ¥âµ©¯ù9ú™q͘ fKGËöÈ_®!µw¶B¨©ëÿR û_*ùpɇ+ÜWÜ|zódâÉìêl[´qÆÆ­¾[i4ZŸ‚9O†á Ð!*•j_×È+Ö&Ö4mªÍÔ={zt2sjhk(n(^âºD}7¢™´Ä&bBHVe–æ•ÝÊ-„©D*•H©ÞËY—÷^ÝËd07ûlî³HÌy0O`¸,.!¤¸¡˜Ê"C!âˆ|%¾)²”‚º‚ ¯ &ƒIµ—4–D¤EÌ´Ÿ©R©4FA]Ac{#5)êYͳ7¨÷`Æ5ó°òx\ùøxüñ]~»è4zWw×á;‡e 2õ˜üÚüèÜè ¯ 3®!„AgØ l !I²¤ç…'Ìy0O`¨>¸þÁÙ‡gÙFìë<éêÀÒk¿]ûÁõBbBLXtV©¼´¦¥†<7ØØÈxþÄùwrïø÷w³tkR4ÖzZ{jîáïl‹Üv4îhxJ¸Ð®¸¡¸IÑänéžSC +ä½ó×ÐØPkk±‰¸±½1¿6Ÿ2ÍfÚóª–9Oo]z‹š¼E-îðú¹×©‹va¯†õ¾Ïƒƒ×³À°a0T„¥²ß:ó±÷ ò êêîÊ(ÏH’%=®|<”½¹YºEmŠ ˜ÐÖÙö¤òIzyzMK“©Óž€=Ô…¨?¯ø³T"mëlK/KϯÍ÷Ÿàìåcš{˜ð÷û»ˆ#ªm­Í(ÏèVu<¬°œÍœ·ÏÞnÆ5+“—¥–¦æ×æ›rLƒýƒ·únJåýJ-MM’%%É’¨5’eÉÔ¦߸7ö(•¿üQ‡q‹6è90åååiéçlÚd›’R Èûhk[k‹ë‹;”¶ÀÃÊCÖ +“—yÙxq™\õªqªÍT“£Þì1F­IÑTT_Ô­ê¶ÚS÷×4•ËË+›+m¶V|+e·2¥$ÅŒkæjáªÐÕÝ•S£R©\,\ØFì¼Ú¼š–š™ö3©…4 !*•ª¼©¼ª¹Ê”cj'´S·œÔÒTj-Ð4«‚!:{Vpô¨YJJ¡¾ aÃçóÅbqÿãþÂè@{x’ɘ :DF–z{÷|È`Ìøä‹‡ÙQQ%ú.†®á ·í`ØØÛw …Ý©©x½ŒeiiÆ }Wú„ðÆF#óæµFG÷qƒ `l¨®f¤§³çÏoÕw! OO0œV­j¾ŸSTÄÔw!#"*J t#ÿ¼‚Ž6á FÈœ9m}Tóù禇™Ä [^Œª*£õëmKKN*pÃÁ‹`ä¬]+çr»ß{Ϫ°yäHŸxÀÀdeSל"#K:õ]Œ¸ò#hÕªæo¿-ËÈ`/[æpñ¢ ¦@¡hl¤-¤ÑÈ»ïÖÉ1ÏiÌË` .S¬Q‰ ¨Ø"Š(ØPTPA•Þ›téuÙïÇè¸RÏû#ÏÌ;wÎÌîñÎ ƒÁ„B!âèB!ôÍÁü!„B¬†ùB!„X ó„B±æ!„b5Ì?B!Äj˜ „BˆÕ0ÿ@!„«aþB!VãèBiii9þ|PPPqq1N€Ó§Okhh t\ì„Á`x{{ß½{·¨¨¨¥¥öîÝûÛo¿[ÝÜÜ 4@„¾E˜ 4¨999={–¹¤¦¦f ‚aS[¶l9xð sIiiiHH±\YY9A!ô­Ãü¡Á«¬¬ŒL>6oÞªJ Àéò t@7O„yG333r*¹Ð~Àé+DFF’Ë“'O&(ʤI“ˆ$ÌB½‡ùB_ƒ——÷îÝ»›6m ¡Óéiiiiiiÿý·««ëüÁ\™Áô”Yccã—Úìæã----Ó¦M{ðàÁ—*Ô××óóó×ÖÖ’%"""í«ÕÕÕ‘Ë¡¡¡í+”——wF—W Ëºy"Ì%ÌSM99?üõÅ苇ø˜¯†  `ûeæ ¡ÞÃü¡¯ddd\[[›”””™™yÿþýÓ§OÀ¾}ûvìØÁÃÃCÌՀϺ˜Çù¿ÎÝ»wÉßìM›6?ž/""ÂÕÕ•¹óC(±±±“&MjÓs…›7o µ© &&zzz?f.—••%:¿]ÐÍé¾°°0ò­¦>>OOO*• ·nÝRTT411ùî»ï`Ĉ...BCæ} IIɘ™™UTT¼zõêùóçõõõ4mæÌ™Ä\ÎéÓ§ïÝ»—ø‰}÷î]ccãýû÷õôôzyh Ë—/ËËË@YYYLLÌ’%KvïÞݾæÔ©SŸ?>uêTNNÎæææ„„„ÄÄDµkצOŸammM¥R+**¢¢¢Þ¼yS]]=bĈ½{÷êêêöò t@÷O„5lmmCCC---)Jqqqlllss³ˆˆ1Ç¥“G‘B_ß¿ŽB!VÃñ„B±æ!„b5Ì?B!Äj˜ „BˆÕ0ÿ@!„«aþB!VÃü!„B¬†ùB!„X ó„B±æ!„b5Ì?B!Äj˜ „BˆÕ0ÿ@!„«aþB!VÃü!„B¬†ùB!„X ó„B±æ!„b5Ì?B!Äj˜ „BˆÕ0ÿ@!„«qt!6STTTSS3ÐQ „uuõîWÆñ„B±æ!„b5Ì?B!Äj˜ „BˆÕ0ÿ@!„«aþB!VÃü!„B¬†ùB!„X ó„B±¾ÿ!4`šš(©©\eeÔÚZü·B,ÅÅÅ¢kj6‰ˆ´H˜ „X­²’Ãß_ðÁþ—/yètÊ@‡ƒÐ7MUµyüøÚ¹s«55›Xy\Ì?B¬S_O9uJôÔ)ƤIµóçÖ(#Cçç˜!ôÍjj¢TTP““¹"#yïßç?sFd„ZW×2eåfÖ@a0¬9BhhøêïÏ=xÀ¿w¯DUÇš5 VaÎÐ Á`@h(ß¾}âYY´åË+×®-çæþšÜ GߟÃü!Ô3_‘0p蘇‡èœ9Õ..eô~Š !ôÕètŠ··Ð?ÿˆ©«7¹»¿ïñŸSÌ?Bý¨§ùGCÅÅE:8˜ï?JfÏ®î¿ÀB½—žNsr’¥Ó)§NötFHòœsŽêG­­àâ"É{áB& ~êêÍׯçËÈ´,Y"WXØ“D1ÿ@õ£Ã‡Å‚‚øþý÷™YÃ@Ç‚êú™3…¢¢t''™ººþÊ0ÿ@õ—û÷ù=oó„Pßó÷äà`,\X5РOîܹCüüëéé t,ˆm¨¨4OšT{ù²PŸ·ŒùB¨ï=xÀ?iR-¾á¡!ÀÖ¶&&†§´”Ú·Íbþêc”˜K˺ä›vôèÑ´´´´´´ÿýw cAìÍÜ¼ŽƒƒÑç³P1ÿ@õ±ôt®–ʰa,ý–&»óòò"nŽ888%ÍÍÍúúúÚÚÚÕÕž!rtt$ª;v >ŸQQ\\¼aÃSSS ªªª6“-4446lØ@4ÒÔÔ¤ñÑÕ«W‰Âššš“'OΞ=ÛÈÈHGGg̘1...ÉÉÉÝ žùXeee...¦¦¦ ,ˆŒŒìp—ªªªß~ûÍÌÌÌØØØÁÁ!""‚ÜtàÀ &“&MÚ±cGNNs åååüñÇäÉ“ ôôô&Mšäìììïï__ÿéaïÞœ"ñò2ÔÔš““¹ú¶Yüþ-B¨S@V¶e a'Ä«W¯êëëyyyãââ€N§GGG?žXhSŸðþý{{{û¼¼¼¯;zvvöâÅ‹óóóÉ’ÂÂÂ7n>|xÊ”)Ýl§ªªÊÁÁ!++‹XŽŽ^²d‰›››µµ5sµêêj‡ÔÔTbõåË—K—.½qㆮ®nû6ëëë333333oÞ¼yõêU Óé ,HOO'«u‹ŠŠV¯^݇'…@F¦¥¤¤ÿ@õ±úzàåÅÉ= ¥¥%%%---/_¾æ!bùÕ«Wuuu ((hhhȼ{dd¤¶¶öÇSRRÒÒÒ„„ÚÎLKK;rä±ÌÅÅ•ö‘½½}kk«³³3ñ;mffvÿþýøøø;w@ss³‹‹Kaaa7Ï"<<|̘1ÑÑÑ=1bÐéôíÛ·3IÀ³gÏŒŒŒž?~ûömâ¬étúÅ‹‰­›7o&ÃKLL¼ÿ¾¥¥%ÔÕÕ:tˆ¨óæÍ"ùPUU}üøqbbâãÇ===g̘ÁÇÇ}xRøøZkkûø\Ì?B}Œø¨%¥ïß0Ä‘CÄ= â¿Ã† #—ÉŒdôèÑTêg“EEE9¢ªªÊÁÑã¿Õ_½z•˜˜H,ïÛ·O]]oñâÅúúúÐØØxýúuˆ‹‹ÓøÜ¶mÛÚ4%))¹}ûvQQQ%%¥Ý»w…Ïž=c®&..¾gÏqqq]]ݱcÇ…ä¨ 3¦®®¾dÉòÊßLååý0¡¡¡!##£¼¼\AAaüøñÿüóÏâÅ‹»R¨›(èóÕâý„,,,üüü ""¢±±1..Ö¯_ïää”””ôþý{2ÿhsóôôôÈŸäžJII!—Çß¾BRRR7›ÒÖÖæää$—©T*N€ŒŒ æjººº\\&|x±1´%%%^^^Ïž=ËÍÍ­««#Z Ô×××ÔÔ ª©©ÅÅÅ::://¯¶¶öĉ/^ÌÇÇׇ'…ú æ!4(XXXP(ƒñúõëÐÐЦ¦&QQÑqãÆ)**æææ†††ÆÆÆ5ÇŒÓf_AAÁþ ŒÌ ú ™s@››ªª*;;»wïÞ}iß–– R©gÏž=þü“'ORSSkkkëëëãââââ⢣£Ïœ9Óe }~R¨§0ÿ@¡AALLLWW÷íÛ·t:ýøñã0räH …2jÔ¨ÜÜ\ww÷ÆÆFPRRRTTüŠö)o‰1>I×ÔÔ$—CCCåää:ÜÝÈÈ(--­óC¤¤¤ÐétâÞPrr29t¡ªªÚÍ =zD$îîîæææ<<<í_™*((èììL”WTT„„„¸¸¸@HHHeee7O œÿBƒ9°ñúõk=z4Œ5 ˜î’´üè&rRjsss\\™…‘ž¬_¿þÕ«W oÞ¼¹pá‚ âãã»yˆâââ?ÿü³¢¢"''‡œÿ!""Òþ†Ñ—·o(а°0G||<9s–TTT4o޼˗/'%%UUUñññ‘7t ¥¥¥O õÿ@¡ÁÂÂÂÂÃÃ\%2" a®óuñññ÷æÎK†……ÉÈȸ¹¹-^¼¸   66vΜ9mvlmíî£L£G 9þ\\\œJ¥ oß¾x3[žê'FŸ?RƒÒŠŠŠjjj:©p÷®ÀºuÒiiéÔACÉúõëÀÆÆ_÷>$­]+ nnEW#2ænÂñ„B±æ!„b5Ì?B!Äjøü B¡^9zôèÑ£G: Äfpü!„B¬†ùB!„X ó„B±æ!„b5Ì?B!Äj˜ „BˆÕ0ÿ@!„«aþb''O¦\¿ž=ÐQt`ІÐà„ùBˆœ8‘týzÎ@GÑABƒ¾ÿ!ÄN~þYGJŠ{ £èÀ  ¡Á ó„;ùé'­¡cƒ60„'Ì?BìääÉ))î9s”É:^’’RE§·ª« YXHrsSÛìõúõûØØòššiiž±c¥ÅŹÉ}OVS˜>]!=½:,¬¸©©ÕØXÌÔT¼M µµ-ÁÁ…õ22¼“&ÉÒéŒsçÒ‡±²’iX÷›í$¶þóâEYJJUMM³‚¿™™¸¤$Ô×·œ:•ª¤$`k«È\¹µ•áîž""µp¡jÎ+1±2&¦¬ººYIIÀÜ\RD„«¿Ï ±Ì?Bìäĉ$Q2ÿHK«þé§ÈÌ̲‚´4›ÛH1bµ´´ñ—_¢#"JÈ ¼¼œ»v Ÿ;WZZZKœ8Q6?¿îàÁ7 Ƈ:ööÊþiBî’PáäYRÒ@¬JIñìÝk|ìXâ?ª‘ùs`Ýl¶óØ:ä›[×ù%Z´HMT´ãû÷ï›–/¯ K¸¹©..Ö-Sçå匈(õðHµ²’fÎBBŠ~ûË/zÝ?¯’’†M›^„‡:/~~Î}ûLllä;}S0ÿ@±«úúGÇðüü:99¾±c¥i4ŽgÏŠÓÓ«W®Œ¸wo‚”ÎX¹2"!¡BAÌ)aa®ììš  BW×X !##Q¢¸¸òGÞ+£©)XTÔp÷nÞÕ«ÙÓ§+š›K@mm˪U‘%% ªªRt:#4´hÛ¶˜.Ãë¼ÙnÆÖ†¿óïz‡¦M“ÿRþqî\z||…´4Ïøñ²Â´üüº¨¨Ò—/Ë–-S€%KÔœ£®]Ë^±B“ÜåÒ¥L..Ž Tºy^--ŒåËÃ+ùù9Ç—‘•åËϯ{ö¬øíÛJÌ?3Ì?Bìêöíüüü:±óç-xy©ÐÒÂØ°!:00ßÛ;sÃÝ *fÌP8xДJ¥{%$TÌrölÚÑ£fDIYYãÉ“£&N”%VÇŒ‘Ú¼ùå“'ïˆÔÛ·óŠ‹,-¥=¾C)ÌG‘—çc®£ Àßex7ÛÍØÚèåü ©Ë—-ÏŸOwpml¤ëë‹Nš$»` /ï‡ß7·äÿþË´´”njjõõÍ23×Óû,uèü¼ˆ+¯¦&Ø£óBß Ì?BìJX˜ rrj?%¹¹µ 3(‰ ?ü *.ÎÓf_žî¾}‘h$?¿NJêS#yy½½›ðu±õrþ˜™‰›™‰@qqCTTé_%æ_¹bÉÁA!¢š5KáêÕlbjHEES›Á.W>#£ZI©ë }Ë0ÿ@±+ñkײÝÜ’LLĈÁÓéŒÃ‡ßÀˆâ0z´„¯oÎpvÖ&~_ %% ……õÝ<б±ØõëÙÇ'»»âä¤@c#ÝÝ=¥—Á]l½œÿYb` ÊÏÏ RR<Ó§+ÿ’–V-,̵p¡*L›¦pî\ú•+YOŸ››K‰‹sUU5geÕDE•::jÞñ3&펢pôhâ“'ï¦N ¶°¢Ó[CC‹êêè@¡t¹÷}]l½œÿáá‘òòeÙ¨QRÊÊü4GRRehh•Ja~àVSSÈÜ\òüù´úzúÖ­úäÜØnš:UÁÓ35)©rܸûãÇËÊÈðÔ……/\¨Šùb†ùBˆ]ñòrž9cN¼ÿÃÛ;“(”’âqsûޏWB¥RΜ1ߺõå£Gï|}³È¥¥yº™|??§»û('§ˆŒŒêŒŒj”äqu5Ø´éß×ÿÚ'±õÔèÑ’qq’%üüœ¿ýfÐæ¥gK—j„‡GðòrÚÛñM$_ÂÉIñò2ß°!:*ªôÖ­\¢P@€³Í$„0ÿ@±“6ŸYÑÐ œøìYqJJÎPS´´”b~ÿ©¨(—§çèôôê/ÊÊË›ÄĸTTLMʼnÖsrr¬[§«¦öÙ V¢PCãÓ JCCÑà`ëààÂÂÂzÞ‰e‰Ÿp晘Ìu³ÙÎcëNNZ‹©=^š™Y@‘•å±´”!&2#r[[Eb’J›Sèò¼¤¤x¼½Ç$$TÄÆ–××Ó•”øÍÍ%Û4……A¾Á!„º¡¨¨¨¦¦¦“ wï ¬['––βú[ZZµ¼<ù”oEE“ƒChFFõ;ãut†à?ëwï~õß·nÇA DX»VÜÜŠ:¯¦®ÞƒÙÊ8þB]xòä»{й¹¤‚QQý“'E••M£GK±ä#/¯ÖÏ/73³úöíP¿Âü!„º ©)ÔØH¿{7Ÿ,10=tÈtCêùùõÇŽ%‡««þ@‡ƒ†8Ì?B¨ cÇJ?{6%"¢$7·–JåÐÓþî;‰Þ<ü28ÉËó®[§+(È9~¼¬²2¾½õ/Ì?B¨kBB´É“{ö& ¶£ À¿nÎ@G¾Ý} B!„P_Áü!„B¬†ùB!„X ó„B±æ!„b5Ì?B!Äj˜ „BˆÕðý!¶ÑLo^re‰©¢éFËKÞ׿÷{í“ÓHoÔ–Ôžo4_AX¡Ãš±ù±ž€ÍV›å‰ÂA~võ-Ì?Bl£•Ñ•%Ä#4ÐtàyÎó5þkÞ׿'V§=>yêÆ²ºRºmj¶´¶¸ÞsM+Kc0õdù`>;„ú\ÏòˆˆˆÜÜÜ~ !ÔßG=ÐQ A9ïsVø®¨o®ÿ^å{;}; ~‰´²´ÿ^þWÛTÛ¾²G¤GQMÑí)w“î²>T„‰žå‡¾víZ?…‚êosçÎõõõè(† ý÷×7×Ï3œ÷×”¿ˆ U‹E#5µ4µ©™U‘u"üÄ®I»RJRX&BƒHï¿àß_±©yóæ t}¦‰Þäë™ÙÊh¡0bшE|4>rkqM±o¼oJIJMc‚ˆ‚…ŠÅD͉”~û^\UCÕÔ‡<œ<ÛÆmc.§R¨¼4Þ6• üÍHÎhÞðyÿÑeË ãxøñð¬p[}[{Cû¾ ¡†ó?Bl¦•ѺÌgÙóœçÄꣴG~ ~W~¼"Ê+ )%)öÿÙ×4Öõ/Å\²7´ÿsÊŸ_jðÏà?_¿{ÝùAÎ8('Ôñ÷çâ ãé úå1p4ìè«‚Wü\ü£”FÍ>‡‡“‡¹¦ï+dœ»~ IDATߨüØÇ€î$C-[¶ÜMº»öûµ˜| ¡ó„› ÍàØbµESB³°ºðÔóSéeé{ƒöšq®Ä]©i¬±R·²Õ·áÉ«Ì Ë «n¬î¤Á¤’¤¨Ü¨ÎZß\ÿ¥Mïªß€¬ì¼‹óÒËÒ‰Â{I÷¼c½/-¼$Â+B””וï{²oÅ:Q•.ϱ´¶tÕµUI%IÿÌügºîô.ë#Äv0ÿ@±0.Ì¿ '­G¬NÑ™2ÉsR@bÀÿlþÇGããäà€ƒÓ’?üóæW5TuÒà¶qÛª;«_ü€&zÜx}Cˆ[è·‰¿©Š©æTäœz~*¹$yoðÞƒÓÕöï•”]1rE—'˜\’¼ÒwecK㥅—ŒäŒº¬;Âü!Äft¥tÉäDyE'jN¼-­4m¸ìðÆ ü_û;]s²Õ·Õ—Ñ×–Ôææäîü¡V]é¶Èö??4µ4]\zQM\(§1nò©ÉIMù‹F¥…e†¼ ð[êG¥P;o-¹$Ùþ¢½¬ìå.Ë Ë÷&0„3Ì?»Ý»w £F²±±ÐXúF]]Ýþýû‰å¥K—ª¨¨ h8ˆý´O&„y„ ±¥TÅTƒVÝzs+<+Ü+Ê« ªÀBÕb‹Õ /5ØËùD– "¦B&  ¬ -©__Z[*+$ûOè?<4ž?‚>Í9ͮȀƒ!O??í:ÁU_FŸ(§QiTjUCU‡Ïî"4d`þ1ØíÙ³‡XX¿~ýÉ?È“²²²ÂüõTJIJ3½™F¥‘% … -(M¬ ó/±hшEP\S¼úúêÅW?^ý˜›“»Ã{9ÿCOZ‹ÊUQ_ÑÊhå |ø¨ƒÁ(­->.>¨k®«mªmâ)ÜʆJ²DMLÍÍÖm©ÏÒ—œžwš|;*BC æ!6SZ[ú¿ ÿý6ñ7.*ƒÁ8÷â\Tn”’ˆ’’ˆœ{qNGRg”ò(¢²(¯¨·@qaqVE–¶¤v‡ örþo‚æ„{I÷†Ü4v•B¥·Òÿ ÿ· ª@[R››Ù7m_› æâË‹É.c]Œåu¤t˜7iKjûüè³øòâÅWŸœ}ÒBÕ¢W!6ƒùBˆÍ¨‹«_‹¿v'ñŽŠ¨JauaIM ¸X¹[CÒCöíåçâWQââäÊ(˨n¬å%²“õrþ¸Œu Ë óŒô¼MQD1¿2¿´¶”B¡l¶ÚLT.;¼Í.S€–¤ÖH¥‘íTQººèê2Ÿe+¯­<4ãÐT©½Œ¡Áó¡#111""¢¨¨ˆ››[OOoܸqÜÜmG›ß¿ûöíüü|•™3gÀ—¦btÞZiié¿ÿþK,ÿüóÏâââ÷îÝ{ûö­¬¬ì¸qã>ûæVûƒ"Ôªbª›­6o»»-¾0¹·ßFþB/3[ÖÊh ÏO,N$JF*tàÚþU`}HYTùâ‚‹ÛînK,N,¯+a…í¶[©[}u›RRÞ?x¯ð]±á憪†ªùFóû,\„Ì?†‚ÌÌLGGÇÇ3ÊÊÊzzzNŸþéÍÁÁÁeeeĪªªêÅ‹ÛOÅèNk¥¥¥äŽcƌٶm[tt4±ÊÏÏÿßÿÙÚÚ’µ··///g>hŸ9úÆÐ¨´K /‰òŠjIju›ZšÚÊhÕ’Ôâ¢r‘u,Õ,-Õ,ëšë²+² †¬,ñ^²þ¦/£{ùíÜ÷¹%µ%"<"ªbª¿dlшE“´&1ß"ÏŽ,æ¾0ÿB|a<…B¡3è]>;ƒÁüƒí[ZZæå倖–ÖôéÓóóó}}} mmmïß¿?aÂÈÎζ³³«®®EEE;;»ŒŒ {û¶/UìfkÌ–,Y¢®®¾~ýz__ß‚‚‚ÚÚÚÕ«WÛØØððð0TYYÙÖÖ6++«ýAê& y·‚F¥1?…Û¯ý‡gY@QDQQD±;5•E••E•™K˜ÏŽÄKãíð Bìó¶÷÷ßé‚¶¶vLL  6lçÎt:}ãÆ¯^½€£Gy??ÿóçÏeee`Íš5'NœøŠÖ˜1âÆ eþüùÄ·U‹ŠŠRRR†NTPP0::ZRR6lØpôèÑ~¿.!„1Ì?Ø^`` ± **JNæÈÎÎ&âãã äääBBBˆ’)S¦É,_¾¼MþÑÍÖ˜wqrr"Æ™555ɼ¼¼áÇ3”H>`É’%˜ „Ð7ó¶WZZJ,DFFFFF¶¯@d ä 2ù™¯k¹„œmÊÅõé|kk+•––&7IIIuyR!„†6Ì?Øž„„DII XXX´Ÿœ“ 11±¬¬,(..&7½{÷îëZcF¥~˜×~¶yТ¢"²9„Bß&Ì?ØÞäÉ“ ¼¼ÜÅÅE@@€ÜTPPðúõkb|ÂÊÊ*&&îß¿_^^.&&^^^_×Z7YZZ ,))!nÁœ?þkÏ!„ÐùÛˆŒŒ$¿Cpvvþõ×_¯^½ZPPðöí[3f çç秤¤DGG[[[[[[ÀúõëO:U]]ýþý{SSÓY³f¥¥¥É³n¶ÖMëׯ?}útMMMUU•™™™]ff&ù¤.B¡oælãùóçÏŸ?g.ÑÖÖvvv–––~úôéÊ•+=z”ŸŸïîîNVPTTœ~S</*7êôóÓ1ù1552‚2“µ'¯ý~­÷§oDçF{E{ÅäÅT7V+Š(ZkY¯¹"µ4uþó <+\ão ¢æ¥…—F*dÕ5@h(Àü!ÄNv=Øu9ö2±œû>wßã}oÞ½ér¯Ê†Jû‹öE5Þ^ÐÚÚz9öòÎ;É åUæ‰:ž~uÑU^/\|yñ÷ ßÉ éeé'#NR(K5ËîG»øÊâð¬ðÎëÜ_y_]¼oM@hhÀü!Ä6â ã/Ç^àØ1qÇ -­-É=ú«Ë£s£åÏ>®#¥ÃÃÉ“û>wÏÃ=BÜB¿ŽûÕJÝJ˜W8§"çhØÑ{I÷ο8¿zôêÌò̽Á{9(Ž#ç Ÿ'+$›_™ÿ å7'·©‚iÚ¯i,›ŠÐP…ùBˆmÜO¾›­6Ï1˜C”ühòceCå?¡ÿt¾#ÏcއŸ±zãõ–Ö–½6{É{7Gfy‘÷âaÊÃÕ£Wß|s“ÞJÿÙüç–‰ êâê?þ©§c‚‚З`þbÙÙ0Fõ³ïZªZv™èIë‘ɤ–¦À†[6ÜÚ@ÜaaƒX ÒËÒ`Š6>¬ŽPéYþ™——‡¯«BˆM)(( tC„W„yµ•Ñ ôVzûšMô&r¹÷×áü„¾¤gù‡¦¦&//ï´iÓú)4H9rÄØØxìØ±êKìž(‹*ÀÓ̧?ÿ@†f†ö´â÷þüüóß«|ßI…{I÷t¤t:¬@J ½¥§ÇE‘z–ˆ‹‹‹‹‹ÿóOCˆÝ9rdìØ±ØÑCL^^Þ@‡Ð[“µ'{Dzxr€‡“g‚Æ:ƒ~/éÞ‰ð=mÇÎÀÎ=Â}ã­.c],T-$ø%**³*²¤¤W^=kج“'Ý#Ýé úÜásee * ¤<àâäZn¶DxERKSsÞç(+pP8¾t œÿЗàü„Û.;|ñ‚˱—·l% §ëN¿“x§Gí¨ˆªüÏæ;îïØvo[›M«F­U1U×ñ®{ƒ÷ºG¸»G¸“[6ÿ™X¥4êNâñîã‰Õþ{ÿÇÕWW]ï¹’«‘‘Àü½„Øæ!v²Çz²ˆ2ñþ1iéùFó§ëõ8ÿ{C{)¯(¯¨Ü¨òºr1>1Q•iºÓf ›ETXbºDKRË+Ú+6?¶¾¹^QDq²Öäåß-'¶nŸ°½¥µ%2'²²¡’|GB¨û0ÿ@± ÇŠ‘+VŒ\Á\˜ökó*ó÷_¸9¹Ûl% —~dÖ‘NŽ5ZyôhåÑn’ü×îßîÝ ö†öö†ö,8B,öÅÛ–!„Býó„B±æ=àããcee×ÍúžžžVVViiý"vâãVVÐí®OO°²ìz„úÌ?z 777$$äýû÷ݬŸ‘‘RSSÓ¯Q!VÈÍ…èv×CF„„v=B}Î?íSSS##£±œƒ˜šv=BõÌ?z@QQQQQq £@AQ°ëB¨ï°ÙýrFEbb¢³³³Í’%K?~Ì\ç?þ°²²ª¬¬l_HÞ !Û‰‹‹[½zõ”)SÖ­[—••Elõ÷÷_¸p¡ÍŽ;˜Ûi?ÿƒN§_ºtiÑ¢EÖÖÖóçÏ÷ôôlhhhvllìªU«lll–/_Ƽ‰Á`ܽ{×ÉÉiÚ´ióçÏÿý÷ß zu¿’°±¹s¡¾þSan.Lš?þ-_x§59£"1œÁÆ–,Ï»þø¬¬àó®ÿPHÞ !Û‰‹ƒÕ«aÊX·>v=øûÃÂ…`c;v|ÖNûùt:\º‹µ5ÌŸžžÐQ×Cl,¬Z66°|9|ÞõÀ`ÀÝ»àäÓ¦Áüùðûï0ä»!„>b³ñbFÅ;w¶oß^WWG^¼xÑÇÇgÞ¼yÄjbbbHHHss3óŽDaËÇß6¢??¿;v455@``àÕ«W_¼xqàÀcÇŽÕîß¿þáóQmæÔÖÖÚØØ0ç>>>ÿþûoPP””Yxï޽ݻwG€³gϺ¹¹9;;«ŽŽŽgÏžeõÏ?ÿ|ûö­ššZ/¯Õà%) s怓 —@SÌ›11ðä p~áÿIbFÅ;°};|ìz¸x||àc×Cb"„„Àç]ÿ¡Lkˆvüü`Ç :%0®^…/àÀøØõpÿ>ÃÇ®o;ÿ£¶ll>Ë'||àß!(˜ºî݃ݻác×ÃÙ³àæ»áó®‡?ÿ„·oaw=B}Äfã„­[·ÚØØx{{ߺukÅŠ cÛ¶¶/QîŽ;vÌ™3çêիׯ_Ÿ8qbQQ‘ÝéÓ§]]]oݺåå奬¬Ðáî®®®aaa’’’ 8~ü¸ªªjBBÂêÕ«™«íÚµkòäÉÞÞÞ~~~NNN å—_~INN€²²²sçΉˆˆìÛ·/ àúõë{öì‘””$S«!kåJX¶ Ξ…Ó§~ùž?‡Àܼ‹·nðö†[·`Å `0ૺvì€9sàêU¸~&N„¢"°³ƒÓ§ÁÕnÝ//PV†ˆøB׃«+„…¤$<pü8¨ªBB|Þõ°kLž ÞÞàçNN@¡À/¿@r2@Yœ;""°oÀõë°gHJÂïz„¶ÿ ,Z´è4ñ»0cÆŒÔÔÔââbæQ‡îX¶l™»û‡/;X[[ËÊʾxñÂ××wîܹD¡¬¬ì”)S"##Ûò·¥¥ÅËË‹‡‡',,LKK‹(tppÐÑѹqãFQQ‘´´4Q8}út???bÙÎÎNVVvÏž=çÎû믿h4ƒÁX´hÑ–-[ˆ ³gÏÞºukkkkÏ®;:~bcaíZÈÌ„'ÀÞÖ¯ïz¯E‹àc×ÃŒš !!P\ =ìzX¶ >v=X[ƒ¬,¼x¾¾ð±ëAV¦LÈHhÿµç–ðò ƒ] £7n@Q|ìz˜>>v=ØÙ¬,ìÙçÎÁ_ ,Z»fφ­[á[èz„bÓñ… 2¯š˜˜@YYYOÛqpp —ÔÔÔ¸¸¸lmmÉBCCCøÂWC322jjjÆG& ..>wî\ƒO._¾œyGb•¨ $$´nÝ:///—;wîäää777//oOÏ…ýðòµkÀÃþ ::pæL·öú¼ëÁÄ ç]L] ¦\\ÀÔõ`hÐác32 ¦Æ¦®qq˜; `êzø¼ë?¬„„`Ý:ðò¸srr¸¹á[èz„bÓüCLLŒy•‹‹ ètz'»t¸UTT”y•F£ r2Í? ÑhÐf* ˜gÚ&²„yªˆˆHû õ§^=zôîÝ»t:}ß¾}ªªªüV>gE£•  ¤üüÝÚ¥Íçâè´ë;Þúyׂ‚ŸM=¡Ñ íTѹíºþC ó,ÔÏ»þCrÖíÑ£p÷.Ðé°o€ª*<ßH×#„¾ylyÿ¥sÄï}II‰„„Yøúõë¾=Ь¬,¼|ù²µµ•ƒãS rrrdILLŒ……¹úâÅ ——'K,-----€N§_¼xqÙ²e\\\ëÖ­ëÛ€¦&˜;ªª`ölðóƒ½{aÇŽÞ¶IüÞ—”S×C_w=Èʼ| ­­ÀÔõ ÀÔõL]/^0u=XZ‚¥%/²eÀÅC¾ëûZ^ežÕI«Áÿ=zƒC2Þ?x«55¶çl³*²ˆUϹžã5ÆH`ÿ„þs2âd+ãý?Y!Y9zÒz úv°åøGçÔÕÕàÈ‘#Ä,Š–––;wöyþ!))ibb’””ô믿$ ãØ±c>”‘‘!nÜöîÝKäM$ÖÖÖœœ|àÀ’’b+•JURR€¾v0Ú°¢£áða¸zÆŽ…Ý»!(¨·mª«9òaEK ìÜÙ÷ù‡¤$˜˜@Rüú뇎ƒ‡AF˜ºöî…]ÙÙ kk€äd8p>v=P© ¤ð-tý·êgóŸç ŸC®zÇzgUdËÿ4ú§uëTÅT$ªë ׇ§eæ°™«F­Ò•Ò-¬*\黲¾¹¾ëê…!8þ±`Á‚íÛ·{zzÞ¹sGAA!==½¦¦ÆÐÐðÕ«W}{ ýû÷[[[8pàÌ™3êêê999EEED9óM…‘#Gjjjrss'%%555SO***¶lÙò믿*((ÈËË———ÏÅŒ9²oCt.]‚“'ÁÁáÃèW®€‰ ,\11  ðõÍ.XÛ·ƒ§'ܹ ž55`h}Ýõ°?X[Ãpæ ¨«CN}(g¾‰£ #G‚¦&psCR45‘ч©'°e üú+((€¼<”—x.fÈwý7ì§Ñ?1¯¦–¦€Ç1¾v÷òXÈ-Ì Üìܬµ¬`£åƾ+žf>½we™Ù² yCpüCFFæÌ™3ÂÂÂQQQœœœ~~~úúú}~  &ܾ}[CC£¼¼<::º¨¨HNNîâÅ‹‹-b®vôèÑY³f%''ÇÇÇ755M˜0áÞ½{Äœ-[¶HJJæääDDD$''KHHìܹsÓ¦M}í òæ ¬Z::Ÿžd‘‘¨¨{ûާ\t“Œ œ9ÂÂPPQQÀÉ ~~Ð]&ÀíÛ ¡åå EE '/Âç]G¬Yœ ññÐÔ&À½{æ¬èèÀ–- ) 99ÉÉ !;wÂÐîú>RÛT{ëÍ-÷÷¯oÔ6ÕvX‡Î ?Í|z&êŒg¤gpZpcKc—ÍÖ7× ;vóÍÍ6å ãdÄÉK1—˜ _¿{}ñåÅ“'ýüÊê>Í€¦3èÇÂŽÝI¼éeé_^<v¬™Þ '#N^O¸N” ;öªðœ{qîXØ1ÏHÏcaÇn¼¾ÑæÐ­ŒÖá'¼c½» þë$—$çUæéËèÉP9¨,7ÀÔ‡ýtP„l6þáäädcc£¡¡Ñ¾PUõÓèå‚ ììì899‡ ÆÅÅ¥ªªºbÅ NÚñððhóöRaaáÇ“OÒ“F‰Ô0uêÔ©S§¦¥¥‰‰‰éèèP(”6ûùùåçççääÈËËwXÄ›?þþûïÜÜÜ‚‚ eeebÒëPF£Á; ¥»`Ìxñ** ¦¦íäP‚“ØØÀç]ö¡©ëaÁ°³ƒ„àä„aÀ‹ TUaÅŠOÇê°¶o/†Ç?=IKLeêz˜:¦N…´4(*11ÐѦ®ÿpccðóƒü|ÈÉyy`êúoþøûoÈÍ…‚eeò]ß œ®;•Ô|¸u%) ¹×fo›:i¥i?ùý”YžI–H H»Ù¹™È›tÒ2/7858£qH+u+ÞOÓ–CÒC‡þÅò—/ÅìÿÚ?÷}n''‹F,åíèÏ@RqŒTúlÔÍ@Æ€—Æ›\’Üy³õ›åjjjí_ Úa!™™¹ª«««««Ûù.#FŒhSB£Ñ¬¬¬ÈUbn©ŒŒL›jmR™öG‘——gžsÊŒB¡())1ç%Cœ–ÖgO®’˜gN´§¦ÖÁ‹A;,ä᦮]]`êúŽwi×õ@£Sט[Ú®ëAC£m*Óþ(òòð…® ””àÛéú^«mª]u}UIM‰ª˜ª…ª½•’²íîgï «o®wôu̯̗’«>–ÆA{–õ,½,}¥ïÊ{+îI töª{Cû]vÝI¼ã`øé mßx_˜g8è­ô•×V&&(+ŒQ#Ì#œ]‘”äzÏUCBÃHîà cócƒRƒÆ¨ŽÑ•Öåáä¡Q?Ë,ÕÄÕÖY¬»“x'£,ãgóŸ998EyE%$ý¯Å_[1rYóRì%.*×£_ ØÿµxVø—¶¦éNûRþQ\S rBrÌ…9!¹ô²ô&z•«Ãê=6Ë?ÊáÇÝÝÝSSSUUU™ZÐÐwø0¸»Cj*¨ªvý@»“x§¸¦xŒêϹžÄz}sý¢Ë‹ÊëÊÉ:·ßÞίÌ7‘79?ÿHyðâw*¢*ð åABa ½§¤rP‰: … s/Ì=}ö謣DIY]Ù¡‡f ›ÕáQÔÅÕ×Y¬{[ô6£,cùnNn ·Òå„ä¼c½¿s$†Qó*óB3Bíôí:™ b§ogª`ÚùEëdwâ¶3"íhhnÀüõÌ?º%%%%55UZZúÂ… ÌwXÐЗ’©© - .vý@‹É‹€µkÉ^ïó5+¯­üT'?ÖYO$ÀÉÁébå˜ø2ïeçí p ØhÛø¿öO)IÑ’Ô€›on6¶4ÚÚže=>Ÿ{¤;ñžƒÁ†PBaÙŽª˜ê—’/¡rP4ùqÿ“ýO3ŸZªY€w¬w+£u‰é’Nö²Ó·ëÑQÚ 2ö“cšèMÀCãéMãuónÙ¸qãš5k´µµ™' oÂÆ°f hkvý PÙP Ÿ=$¥(¢Ø¾Ž’Ègwµ…)Êûú÷Ð{C{ÿ×þ¾ñ¾Û'lßx_A£:Ç© IDATnAb+1ÐâóʧóFTÄTºzfª…ªE+£õIú“6o꜡7ãxøñy/lNÛŒUK£Òže=K+Mæ^h¼ðK-3›m0ûPÈ¡‹//&'êJé“Fnš¦7íÜ‹sWâ®<Í|j®b.Î'^ÕP•U‘•åøãpÙá½ñ šî'ß#æMT õŒý™­[¥=ò}åK–K H÷>ù ,5]žÎKãewé?s æd•g¹Gº“/^#¾ÿBÎÞE¨Ÿ`þb'²ANAÁ©ÁUÒ‚Ò5'2Œuë˜þ5$4W>Ë|–R’BgÐÕÄÔ,Õ,Û?eÚ çïµ%µ`¦ÞÌ6›DyE=çz¦—¥¿È{Q^W.Æ'¦"ªbª`JŒUpR9×Y¬So÷Ž€ŸÍfN€¦ëMדÖ㤶ýK˜˜pj«oKLdaMc7Í>çYÖ³ê†jeQe+u+L> `þb3ü\ü3‡}–¬³hûÑ`*…j©fI<Èút¥tu¥t;© .®®.®Þ¾œJ¡¶†Ðæû/Óu§wXÍ=Â:yçXPU!^p‚Ëô,ÿ ^ƒ¡¨¨ØuUÄæ<==¯]»6ÐQ ¾TVV¦©©9ÐQ 0÷wâåíqQ¹V^Ýá&È«ÌóKðË,ϼýö¶¡œaçÝ"4àøêñn%„†HêÆê7 r `þ‘_™O|†‹Êå:Þu Â@ˆez–hiiiiiùúúv]±3 …²jÕªþùg A}iÞ¼yÂÀ[5jU'ã,†™¼°ü:‹u‚Ü‚ã5Æ+‹*`$±Ž „¾!8ÂÑ9a…/MAhHâèº B!„PŸÂü!„B¬†ùB!„X ó„B±æ¾{÷¬¤­A{ Oß}kwVYÖ@ÒÖ  !„Xóß³gÏÀþ̇††îÞ½;''‡¹p06„§…ï¹½'«4kcM Ý}kwNùçý;C¡‚ù˜››ïÚµKEEec ݳgO›üc06˜k˜ïš±KEBecM Ýs{O›üc0†BßÿææææææEm`ìÅ\ÝÜ\}0^ÆAØà—Tœt)öRîûܦ–¦ÍV›9(ûï[lºØFÛ†¨°üêr51µß&þ6°q²‘’š’õ7×[k[/5]ÚßÇÂîCå111!!! c̘1fff7n܈‹‹Û²e Yçýû÷<ÈÌ̤Ñh¦¦¦––Ÿ>¶zõjQQÑÛ·o§¥¥IKKÏš5KLL¬ÍºÓˆˆˆH@@@JJʈ#¬­­ÃÃÃ>>“Ñ£Gw~‚ÙÙÙAAAEEEbbbVVV:::í+$$tóæÍììl99¹™3gŠˆˆ.\¸ðèÑ#ðòò •¥K—vXwÔåUês191!É! `ŒÑc¦bv#öF\nÜ›-|\Lý[÷þÁÛ™¥™4*ÍTÙÔR‹©kƒÂRÃV]-Ê/zûÕí´â4i!éYF³ÄøÛõo7á HHy—2By„õ0ëðôðo,ý~©Š¸ Y¹ª¾*(1(½$‹ÏDÉd´zWý[–”TTU$Æ/f¥m¥#ÃtÙ?WˆWèfÜÍì²l9¹™†3Eø>öoÄ…GIÀ+Ì+èm¨H¨,5_Úa`Ý9P—WihK+M³=gÛÒÚB¬VÔWprpFåFMÒšDÖ‰Înhn ÙR#½1*7JKR«û»,º¼HWJ×uBÏ^ÏšîûºØ‹õ{þÑÚÚºzõêS§N‘%kÖ¬©©©9þ¼³³3™xyyýòË/UUUdµ1cÆøùùIHH@PPо}ûLLL¶nÝš””DT644$wéN#úúú[¶lÉÌÌ€7ùÇž={¬¬¬ÈŸù3gÎlÚ´©²²’lÇÂÂ"$$„ƒ£ãÛU®®®û÷ï§ÓéÄ*…BqttûØ¿Zc—š/mXwÔåUò®%\kimYjºÔJÝŠF¥iKjÀ¥…—ðå,•E¡PzºkºïëbC,ÖïùÇ‘#GN:E¥RmmmÕÔÔ’““Oœ8!))É\çæÍ›ŽŽŽœœœÓ¦MÓÕÕmll|øðáÓ§O—,Y@V[µj'çÿÙ»÷¸˜ÒÿàŸifj&SMÝï÷H)ÔJ%·l¡DvY÷¤,›Öm±vý¾¹d±¡\VB R¡šB¥$¥ûý"é*ºÎÌïÃ1ºLÓ]<ï×þÑyæ9ÏóyÎÙ̧sžóÒš5kh4Ú½{÷ÒÓÓ]\\bbbzÔˆ³³3??ÿªU«äää:½ª¸jÕ*044444$‰Ïž=c0,«ÓüÃËËËÃÃ@ X[[ëèèܸqãÌ™3xµõë×óóó¯Y³†B¡DDD¤§§Ï›7/##C\\|éÒ¥,ëáÇ˗/WTT€Nç|ðØ÷£ÔïŽD9sšÈG´g«:R5óu¦÷#ï‘´/Ïïó›+ϯ$ñ‘挣#£ÓÜÚž“³ÌoYèŽóûßZiÍkh´{i÷ÒËÒ].¹Äl‰éQ#ÎþÎüDþU¦«äèr^ÕL \u~**ùˆÏ Ÿ1r,6«ÓüÃë¡—Ç`=ÖZGF§ ªàFò31g$hó9Îï¥õüDþ5?¬¡)¯"ÒËÒçyÍËø;Cœ&¾tÒR›õ0ãáò)ËÅ Ó9555=zôèü1bÄÇß1™˜˜,Ô¶¶6‡àààsçι¹¹-]º´¨¨èáÇ+V¬À®ˆô¥#îG©ßºˆÀñ[„™–VróùM[¯/Ïïõí‚ü‚Ñ¿GOPâ85'í‚“‚3^gà·ÔFª…ÿN%SÀ£Ícìž±±¹±õõÂTaÞ‘•r¢t}~¯ï¯%^Îfç7‡A$tq~ïî€kë®Íÿé°ç?5Ýoz4âèsþ!ðéüŠÈÄüƒ…ÚÆjsðqN >wÎÍÊm餥EÕE3®0Y]éKGÜÒ·-±$ñŸ¨²ÞfÀªÀUøâ\Î Õ5Õ½J.Mnhi¢IÍКa®nŽ}ÔÊl]vy™‚Á¯&¿^M¹“ÓÂl/7~Ù„e4Þ“Å|”÷ˆ‘Ï(ª)"ò5Gj.Ð] "¦Ò®×)®þÉþO Ÿðø,5,çë΀7 o.<»ñ&ƒÆO³×³Ÿ¢<…ÇØNJYÊÕ”«¥õ¥2Â2z#$ÚUà2ÞÌÊÌ=÷÷0YÌ—¯_:ú;bõwNß©#©Ãe¯:}ít›º¸z/N~Z]¦¸\J¾ô¤ð ‹Íš ?áç ? ’; áÝÀæ………eeeVVVxò666††† ØfyyyzzºššÚÝ»wïÞ½Ëf³±7¿cñÔaË–-Ø×*ðóó[ZZfff–—— óÞˆ»»;—䣤¤$;;ÛÐÐ3ù€®Ò‚¢¢¢’’’)S¦à9ÙÛÛ_ºt)))ÉÔÔÏH$Ò_ýëææÆË‘ìQG]%^:ꑪ²Ú2«ÑVxò6ãl •  >ߺòô²tµ‘jw_Þ½û’ãÔø ± O¶ÌÜ‚}­?‰ßRÇ2óufy]¹0U˜÷FÜg¸sI>JjJ²ßd*r&ÐUZPT]TRS2E} ž€‘Š‘½ý¥§—’Š’L5>ö™[ð €ÄGúËæ¯à¤àØœX7+ÞÎoO:êê(ñÒѰVó¡&¾8û9¡8¡Ý§œÚI.M^´¦¦±/¹–zÍ^ÏÞc–°Ø¬øâxšm]ðº9° rÝϼ´4»ùŽ—Ÿ•<Ã[xóÀ/Þïø¼ãØ!ÞȪÀU±±XûY÷ó«ómÇØ.¹´äíû·XahF¨¯½ïª?ð[§þù¿—¯_v}œ<çzÊ ËvõiЋ íw·³Ø,l385Øí‡öÿ£rï»æw؉¨oªÇÏH}S=÷½èôµÓUl½;Aø^˯,ZôTpjðåŸ.‹RE»ŠáÅÀæ555ÐÙÝeee<ÿ¨¬¬€ÜÜÜ;wvls†‚‚çG4 Z[[{Ôˆ††—€«ªª@KK‹KNØUUUÛ•«©©@uu5^¢¢¢ÂYÛÄvïߎ¸¥~Wó¡8§Ob”%”ñü£ò]%äVæî¼Ñ٩ᘄ¡ öeä4he¶ö¨ I®ç·¡ ´¤y>¿ïk@ud‡Ã>R ªßsœ_‰/ϯ„ |:>ýÛ—£ôÍ3P0ðwôÿ'úŸg%ÏÎ9œÃ3ƒ”²”tµWCsƒÓ5§Ú¦ZÛ1¶fjf"‘¢Ú¢s çS')NúqôXµè¼h:•¾eÚ І ï8ï´Š´;wlFÛàíØŒ¶1T0”‘ojkzUñê\â¹=á{8ÿ΋Ûa±CU\5«2ëãØ™ø3rÈ‹Èo™¶…N¡?È}p8æ0öõÆclídTfà߬]ilmìꣲú²]a»XlÖ|ÝùæêæLónÆÝ¢ÿéxܺ¯ÖH-GÿvsRÀ’ü~Š]é§€Ÿ’J“ðüÃßÑÿiÑÓ¨¼¨°Ì°f ›Í ”Ö•¾~÷ZZHoäÊOWè 0Uujck㿌ù|—ºLâ#À4õié¯ÓS_§¶±ÚH|$ckgÛ´mõÍõ~„ãrñ#$-¤…Ù²Üpù‹XÉ9¿‡þœÌYûx‚U¤ÝÔn÷ Ó‡ê46¬—žž l_6°/,º0Jj¶9K{ÖôSÓC_…þ=óot¦/6ÿPRR’••ˆˆˆŽŽÆ…½}û6~ñ444ÊËËíììÆŒƒ—³Ùìû÷ïã“9¸ë—F@^^^CC#!!áÔ©SkÖ¬ÁËccc'OžÜqBµ¢¢¢¼¼|lllHHÈ?~üMHLL ¢R©úúúxÍýû÷Ï;»õÓÖÖ¶k×.˜2åã]F …_^ÆèuGƒII\I–.‘? {ûÅmüâ(ˆ)hHj”×–ÛM°#÷å©I¿Oæà®_yQy I„‚„SѧÖüÀq~sb'«uv~ÅåEåcsbCRB~ÔûtØ ƒžQÉT}EŽó{oÿ\½¹Ø­Ÿ6VÛ®›»`Šú§óK¢À——1zÝÒSÏËž@xVx\avÛŽ ïßåVåâÕtetñäÆHŽ+XL6sSȦ˜üNæù¾k~‡çº2ºØwF[RfhÍÀ¿É@GJ'¥<¥â]…œˆ±µ£#¥ÓÓƒÀ)³2ìÇ~‘ÊÛµçÌ?xo;½Û‹»Þ¢®ôô},‘ÔÁ“¥ŠZjX½Êy›3Vfl/…`|þé¦M›ÜÝÝ-,,lmmUTT²³³CBB$%%ß¼yƒÿsàÀùóçëëë›››kkkS(”‚‚‚øøøüüüÆÆÆ®&~¶Ó/ÀÞ½{Ö®]ëëë‹=ÿ’˜˜×ÚÚÚ鵓­[·º¸¸ØÚÚZ[[kkk^¿~½µµuË–-øœP(//×Ñѱ¶¶ˆŒŒLKK“øå—_°OÕÕÕÀÍÍÁ` bëô®£A¶Ér“{»Å! Ûñ¶**Ùo²Cž‡H I¾y÷Ÿ_vÀîÀüóõÿÖ7×6×–Ö¦)Uñùñùoó½‰|¼ßþhöÎÛëàã°ö¿µ¾ _ìù—ĂĸܸVŸV¡³ó;k«Ë%[/[ë±ÖÚÒÚ…U…ד¯·2[·ÌÜ‚Ï €òºr:ÖzÖ$ÈW‘iei4‰_&ÿ‚}ª.©nWÝÙ A~AlýÞu„ôÔ‡–RžÒñ#~?þ³E„ó#ìî>CâVÚ­˜ü%Q¥ŸôRU$ „ Ï.„e†aß…6‚}«uZˆ-€ÁclíôqþGS[S¾˜0Ô.HÇÛNïöâ®w‡¨+==A˜vÇ ß…û•¤[ƒ‘¼zõÊÏÏ/((+qvv.//¿~ý:þ­ikkëïïïêê†òññÍš5‹ûíNýÒ,\¸°ººÚÝÝ=>>>>þãMVSSÓ®ÿX¿~}IIÉÁƒoݺuëÖ-ø´,ÇßÿÍYíøñã›7oöññÁ6±õ?°Û=0sæÌQ£F¥§§­ÿÑ»ŽÙ¦é›^½~åÇð zöéüš9—ו_O¾ŽkÚŽ·õ_åïà––öéÔøf™Åýv §~i,¬~_í蟟ÿéüj˜vµøÇúiëKjJ†¼•rëVʧÃn²òoÛ/ϯãñÍ›}¢>_šÄõõ×±Û=0sÌÌQ²£ÒËÒ†„Oëô®#¤§d„e`Õu õvqþÕËöýw|Þq|&Ž><$±õqþ‡äIH«Hã¼ ‘ú:•³OãeC»¬b ŽR/O_‡Øú"«2«•ÙŠOX€ÔòT’ê¯.¾Ož‰D___gg稨(011™8q¢–––„„vÓ³xñb[[ÛÈÈÈÌÌL‹¥¬¬lllŒO¥´´´¤P(ÒÒ_\¾Ã %%%ûÒtöš''§E‹………åç狈ˆèëëq{<ÝÃÃcíÚµø²¤Ó¦Mã\–£©©™žžRXX(''ǹþ)P(”„„„ÐÐМœœææf,˜ŽqïˆÇ£Ô¿ˆ|Dße¾ÎfÎQYQ`¢n2Qe¢ÖZ4 ™ãüN\l;Þ6òUdæëL›¥,®l¬jŒO¥´eI!S¤…¿Œ|”%…L‘–ìK#ÐÙkVœ¦:-2\––ÿ6_„*¢¯¤o¤ÂõüÎ÷X;umDúÇeI§iOã\–£)¥™þWzÈóªB9Q9ÎõO€B¦$ìH}šó&§¹­ ¦c`Ü;âñ(!íÌКq>ñüÍ´›žs=éŠX!“Í Ï Ç—zëJ€¤’$ì›µÕæçX’8$±õqþ‡©ª©²ÿ¾ûÔÄÕ”E• ãMÆ?Q_Ì?åe¼#F”Ô•p.œ3G©w‡¨cl}ñöýÛ¿#þþÃò~"?›Í>—x.¾8^‘®ˆÇƒôÎ`¬¿ž`hhˆOÂ8~üxVVçs¤*•jmmmmmݱKKKKKK^ {Útñš:îààÐõ˜ÚSVVÆV-ã‚F£9::võ©  `»É³Æ¥#ÞRÿJ(H0T6Ä'ap<«"‹ó9R •Lµkm=¶³S£ci©Ó!òÎ {Útñšº ÝÁ°'çW\y•iwçW€æhÔõùå´7øòüv—Žx?J§‰ íõìSÍOš+Ð$FHÔ7Õ—Ô•4·5¯5^;Gg/˜©šyÅzí¾¿Û7ÞWTP´ º ¾¹~´Ôè´Š´Á­ó?¦©M/7>¹4yæé™ªâªL³ ¦@k¤VEC^‡—ñŽ’õ¤ð‰Ù 399vNß9G‰—C´ÿáþ”²”ÝV»±ÕT;MU¬ýÃe¼SW ztûÕmeQåòwå• •°Ùls¯D0ƒ‘˜››ëêêŽ?žL&'&&ÆÆÆÀÆ¡kd˜{šëÊëŽWO&’ csb`£%:¿È×âÿfþŸ†„Æ™§gŠk‹‹k‹€L$ÏÖžm=ª“D¶Sz²z»§ïÞ÷p_QmQQmJß?{fefó~‰­§ˆ|ÄÓv§ÝCÝæ<̪ÌSÓÍf›mÎÚàux¯»™»Ó5§²ú²²ú2¨oª7R4ˆ£Ôí!Êx“_ÿ®ù—Øú€Š˜Š»™û¶;Û^”¿!¡mæÛfkÏîK›zt“ û=00°G}XXX`ïWÃxzzº¸¸ô¨‘ákëÖ­û÷ïONN7nÜPÇÂ+°qãÆÃ‡yºqkqÈ{¿F€$àiïébþÝœßk[÷ßÛŸ¼+yœÂ×~~{÷ûÛQEEECC— wîÐ6lÊÉéñ㠼Ȫ̪i¬1T0Ä/­×6ÖfVf*‰*áŠh4ÎYÀf³ k «?T‹ ŠÉ Ëá·óYlVBq‚(U”óíkX¡˜ ˜†Äçe[ó«ó @P—P'ÉEµEåõåceÆRÉÔNÁSS–¢}ž(PPSPñ®BOV{*Š{lª¢¡¢¬®LJHJVX¶¹­ùyÙs)!)ìŽL·ãÅ*0ÙÌœ·9Øê^:’:Øj*èú‚ @Xf¸›¹/Ð]€•ü¤ÿS]SÝáèÏ ßxy£Õ¶wæ^ü¾Œº„ú‘$–$†g…;MrÒ“ÑÓ©u+ýÖv‹íž•<Ë­Ê]n¸œL$wìôfÚM&‹é<Ù»Újâjë&­ã±»NraÑ…¾ hý¿þF333ã,ùï¿ÿ&Mš$$$$((¨¯¯ìØ1‹ÅY!**jîܹüüü***›7o®¯¯Ç>jjj"¶¶¶ååå‹/1b„¥¥eJJ g ,ëàÁƒšššjjjžžžùùùÁÅÅ¥ÓÀxl–{l]á2^¼ßüüüyóæÑét!!¡Y³fáý2 Àd2### Ÿ`s>zt`y`OÑhGÍÌ®|Fú¤IþBBGèë_8v,‰ÅbsVˆŠ*ž;÷º„„?ÿ?**§7o~T_ßò)Î6ÁÓÖöFyùûÅ‹o‹‰1⨥åÕ””JÎX,öÁƒ šš¾‡ÕÔN{z&äçמ..‘Æc³Ücë —ñâýæç×Í›wƒN?&$ttÖ¬kx¿ F)àÉd²##‹Oì¿GŠ{z`y »šB0U1å,üAåÎÍì·Ù°1d£Ö-Íýššû55ökhЪl¨,WŽÕ±×³×üî^ÆÇ™›/ «›/¹U¹0K«“Y&>>ëÖ­Ãïn:t(22266VPP+¬­­511ÉËËÃ6###-,,222$$$°gggìç¼¼>)ëÖ…:„PPPwèPbddQlìbAAò§8›ML.ååÕ}гÈÂâjFÆ ‰··#||>fNyyuîîQIIÝÆÖm³¼ÄÖÓñ@uu“©i@iéÇûe÷îå3% †£žÞÈncîQGÝéw,6 ˜,fÇZ˜3WÛѶ¸šrÕvŒíû–÷¡¯BÇÉŽÓÐàÒ,@èuw¡ùȰ0°ëŸ&%%yzzR©ÔcÇŽ•——WUU]¼xQLL, àæÍ›——çêêJ§Ó}}}ËËË›ššÒÒÒìííŸ?~ôèQ¼¨¨(…øøø÷ïßgeeYXXTUUùûûcŸÆÇÇûøø Ÿ={öíÛ·¯_¿>qâÄ7º {³<ÆÖ£ñbbbbž>}ÚÐÐðêÕ« 444`—jLLLØl6‘H´°°`Òî²ïq`ß%%Uxz&P©¤cÇ,ÊË×UU¹\¼8GLŒqófäåÕ¹ºFÒé_ßååëšš6¥¥-··×zþüÍÑ£ŸĨ¨báøøŸÞ¿ÿ5+k¥……bUU£¿ÿ+ìÓøørŸaaþ³gg¾}»þõkç'¦ß¸ÑýzÜ›å1¶S¢  ôôé’††__½Z±`fCC«‹K˜˜È±Ù›‰D‚……"›½ûÏÌL¡wq ÒSJ¢J“ÃY͹‰}gŸ_t>gkN»ÿMÄêЩt+M«øâø‚š‚Û¯n7¶6vuñoðnÆ].ŸrïA†©Í?°7åîÚµËÅÅEZZZLLlÉ’%Ç€+W®ÀÅ‹[[[}||V¬X!--- 0jÔ¨€€iiiÎïQ ‰CCCAAA ìë¿•píÚ5ðððøå—_ÄÅÅ¥¤¤œœœþøãnÃãÞ,±õh¼vóæÍ‰'Ž1B[[; @[[›Á`TTtÿ7}:â>À¾ Ì€]»&¹¸Œ—–!&FY²DçøqK¸r%.^LomeùøL_±BWZz„€qÔ(ñ€kiéœß£Ôy††Ò‚‚d Ñ£GÍ %å öéµkÙàáñÃ/¿Œ§JI :9éýñǤnÃãÞ,±õh¼|󿼉eFŒ kk‹Xkk‹1¥úëÀò2@¤§fhÍ€ƒ^K½VÛX[õ¡êbÒEï8oÎ:ótç ÄßB~ L ,¯/oe¶¾}ÿ6±$qOøž“OâÕ°„#èEÐÕçW©dªõ(kè‚Íh"ñä““žQž5MmMyUy'ŸôKðã½»v.,ºÐ1_i÷ºø ¹½ÿ’““ÖÖ_üîa›ØGiii°xñâÅ‹c·9°¿øáË ’úúúÂÂÂø¦ªª*¼{÷ÛÌÍÍ€3fpö2cÆŒ;ºY¶{³<ÆÖ£ñbÆ'))‰o’Édì¶HNNŽ””÷˜{Ô÷ö]NN X[ñ™µµ*ääÔ@ZÚ[X¼øöâÅ·±ÛŸ!pB}})aa~Ž8éðîÝÇË˹¹µ0c†2g/3f(ïØñÅß©qo–ÇØz4^̸q’’’ŸoÏ‘É|JÕ995RRß¶ë]G܈ôÔX™±‹Ç/Hغ/´Ö±¾ýêóbÊ¢ÊÏü{gØÎmw·µÛ}­ñZüçIJ“è “.647ØëÙ ’»<ï*b*ÛÍ·ïÜ{òñIΔÂy²3ïÝõ»«)W·ßÝŽoú<ññyâ?éÿô§ÕŸ×/ò]Œç_ºú¶l¾$“ÙÙÝÍ–ÏÿŒR©_ÜÏÆħetÚK»O;ŽYcëˆËx¹ëéŽÝÖçå¸õ—(°ù’Lf'=¶´|žƒL¥~ñÿ!Ö`»0{u~¹5ËclõöôöâüvS—ã†ôÈ«=Jt%lý1)šÔ¢q‹¬G}‘ÀB½…Ú’Ú~ñ~ñÅñÕªÅÅ”E•çè̱mƒ×! õŠ: Çv³ÐË2ƒeš#5ýü’K“[è 34g¬˜¸‚÷îd8ØüC]]BCCGÞ¹sÿH[[ÂÃÃ---{Ý‹šš„……­[·/ ïuƒ˜^ÄÖíx1ÏŸ?óæ ~ ¤µµ522ðññµµµõ½£¦®. ¡¡y£GžÐzçN¨«Ó@[[ ÂÃí--•zÝ‹šÂÂò×­‡†‡öºAL/bëv¼˜çÏß¼yó¿ÒÚÊŠŒ,Ä||„¶6ni}ŸN.hßáÕÚ½ÿ¥Ý Vxß o•ѪUF«8 ;¾\f¬ÌØ#6G¸7µnÒ:ü1Úv:Æ3IiÒ$¥.o)òÒ]ÿZ¨·Ëœé;ÿÃÞÞöìÙãíí]QQQSS€M´\¸p!,]º”D"-Y²ÄÏϯ¸¸¸¥¥¥¢¢‚Á`¸ººzxxtÓú'óçÏ€mÛ¶ý÷ßÕÕÕ•••§NÚ»woƒïElÝŽÓÐÐ`ccÿáÇŒŒ GGÇŒŒ ü拘˜XZZZnnn»•{ÚÑ@³·×€={{{?¯¨øPSÓ=»p¡6,]:šDâ[²$ÔÏ/µ¸ø]K ³¢âƒQêêéáñ”Ç^æÏ×€mÛbþû/½ºº©²òéS/öî}ÒÇà{[·ãÅ44´ÚØ\/ÿð¡5#£ÚÑñvFFµ‰‰~óELŒ’–ö67·¶ÝƒÊ=íAdøØëúúúnnn‡Z¿~ýúõëñòE‹ÙÚÚ€††Æ‰'œœœV®\Ùnß-[¶oŒŒŒV­ZuæÌ™¥K—â…W®\!“;Š’½ˆ­ÛñbLMMsssŒŒð†ÍÅL›6íòåËø•Œ‡¶{†ÇŽš¾¾”››Á¡C‰ë×G¬_ÿyµøE‹´mmÕ@CCôĉéNN÷W® k·ï–-yìÅÈHfÕ*Ý3gR—.½ƒ:8h_¹’A&÷>îElÝŽcj*Ÿ›[kdôù9#ŒÍÅL›¦xùr†ºúlóáC‡vÀðØÒSã×Üùü'!¡äMɃ‚|Ïöúxzzž?ÞÈÈhĈ EOOïèÑ£œ€®ZµêñãÇ‹-’••%“ɲ²²S§NõööÞ¾};—fÛñññÙ·oŸšš??¿ªªêÖ®] ¢¢¢} ¾±u;^‹ŽŽž;w®°°0F›1cFLL ç⇶³³ã2c€—ާ§Ùù󳌌dFŒ S($=½‘GšûûÏÁ+¬Z¥ûøñ’E‹´eeid2Ÿ¬,mêTooËíÛyïÅÇÇjß¾ÔÔèüüDUU‘¦®];DE)} ¾±u;^£DG/š;WMX˜ŸF#Ϙ¡³˜sñǧÙÙiЉQ¸Ìðà¥#Aá‹Ð£ÙˆØeìáϯ܆ Ž;víÚ5ìîÌW¢©©‰J¥ÚØØð²<É"7n<|øp÷U‡È† ŽKºvÍ»;ó•hjj£RØØ¨ß¸1xW¡x×_¿¿ÜßFtçm霜Ü>v„ ÈWÂÕU Žëf‘|#/¾‘÷¿œ9sæíÛ·666ÊÊÊeeeçÏŸ÷öö²²²êÐ~pæLêÛ·llÔ••EÊÊΟOóöNâ·²RêÐAÞøFòÚÚÚmÛ¶mÛöÅ#òÿüóFª~T[Û´m[̶m_,øñÏ?Óh´ÞÏïAA†Ð7’¬^½º¶¶6$$$//H$Ž?ÞÍÍmîܹCÒ?V¯[[Û’“—WG$Æ—rs3˜;-àˆ 2\}#ù‡ˆˆÈÞ½{ûþÌí@£P(ý¾ü×÷@DD`ï^“½{M†:nP($6{óPG 2 øó/‚ ‚ í üAAÁ†òAAÊ?A¾'Ÿ¸–zm¨£@Á€òA¯…wœ÷µŸócŒc×_^Âxdà|#Ï¿ ‚|œ';KÒ$ñÍãqÇæ™7„!!ÈéYþñäÉ“’’./%A¾GŽ9rdP_ù yyù¡áfݤuC‚ ’žåT*uÎô¬oÜ‘#G6Lê@þuXCƒ:Ô1ô “ÍôŠõRWµÖ±Î­Ê+ˆ«i¬Y7iÝŤ‹$ÇñŽXµVfë‰Ç'`•Ñ*A² Vx5åj]SÝj£ÕØÙ„³¼ÐÕ(ÈDò‰Ç'$i’ t”Õ—½b±YE5Eÿ2þÅZ˜¯;_^äcùòõËäÒ䆖)šÔTµ©â‚â1.8=Ë?ÄÅÅÅÅÅ¿æ×’!ýâÈ‘#“u Hÿ æ_Rm̶ÿZjXfWf{Åya…+'®Œ/Ž”ûÈvŒ-öeŸX’ˆ}g‘c®n-Ì–¿Âÿ2R4ê*ÿ¸þòzqm1÷Þžð³(µóWj÷(€®FA&’½ã¼u¥u±ük¡¤®Ï?ŒäEäß¾»)dÓãÂÇxïT2u÷ôÝvcíx;ŠòU@ó?f’K“#²#LULu¤t($ ™H6Q6 Ï Røû²gä3É‚T25&?+I(Nhjk2Qér Ýë/¯ÇÄqïwŽÎœ®ò^Ðqœ Ê Ën0Ùp,ö˜œ°Ü|Ý/ñ–‘c²˜«ƒV§–§Ê‹È›ªšŠPD k #²#¶ßÝ®.¡>Nv/A¾(ÿ@d˜©úPuhî!›Ñ6x ö½ÎÈg`_ö1ù1ÆJÆBBŒ|VûKþ1oÌ<yîýŠ ŠuõQ/è8 NXþáç¥(ª¸Ád^~7ãnjyêÜQs=­=‰|D¬0µ<Õî‚ÝÙ„³GmŽr‚|=Pþ È0£"¦Òîk[ITI®À(`@McÍ«7¯ìÆÚÑøi7Ón–Õ—É Ë2ò’4I ®Úìã3&½ ã(x[ ‚dÁ“ONb/“b³Ùl` S„SËSû2d(ÿ@d˜QSîXh¢bPZWšTšÄf³MULGðF>ÃBÃ"£2Ãv´-—6û8ÿ£t:ŠnU¨€+)Wz±/‚|UPþ È0C$;NQžÀ(`$•$ɉȩˆ©€æH͘ü’›Íæróú<ÿ£t:Šn‰PE`Éø%â#ÚÏ%¦(½hA†Êw\¹råĉGŽ7ާI[§NºtéÒ™3gÔÕÕ:6Azd²Òd"1&/&¹4ÙLÍ +œ¢<åúËëüD~¬—Ýû8ÿ£ïtŠŸÈ_ÛXËY2IqR`J “Ít™âÂGø¼€ueCeù»òž¶ Cè»Î?Š‹‹£¢¢jkk»¯ yyyQQQ ‚ ½ L#5&2'²•ÙjªjŠšª˜žM8{'㎶¤öHÚH.»÷}Ñ>Ð)e1åôŠt·[n t>ß|ÝùsFÍ9—xîòóË1ù1“•'‹ Š×7ÕÔÄůœ¸r¬ÌØ>ŽAÍw888ðxñA¯œ©ªiJy ‘8IéãÒy'òù[˜-S”§ Ç–,ßrgËÍ´›Ø&¶þ‡ïBß-¡[ä<L ÄkJѤPò /ßuþ¡     0ÔQ Â+‘´Ádƒª¸j§ŸÚŒ¶á#ð‰REE("X …DÙ5}×›†73µfBx<ÀeíÞÿ2_wþhéÑO‹žÖ5Ö±-'"¢TÑSv§r«rK«?T‹ Š)‹*Èàã"Ȱð]çç0™ÌË—/ß»w¯¢¢BLLÌÜÜ|éÒ¥JûY]ÉÉÉ'Ož,,,”••]±b…‰ ·ym‚ô"ȹF;*b*?]4nÑÕ㸌¢ãû_´FjiÔêXSM\MM\­·‘"ÈÐû®óvó?Þ¿?sæLƒW¸råÊñãÇ#""$%?ÿEr÷îÝ?ÿü³¥¥Û<{öì±cÇ\\\3rAÖøº¯òÝØ¾};ƒÁ9r¤§§ghh¨———ŠŠJjjª““gµÝ»wϘ1ãÒ¥KÁÁÁkÖ¬!›6mÊÌ̪°AdØù®¯pjkkóóó£P( CSS+tppÐÖÖ¾qãFEE…””VhmmŒýjjj1±öë a%ا:Þ±Bcc〇ˆ ‚ ß ”|$##Ïž=c±Xœå ++‹—$%%qVHLL99¹ÁˆAA¾ (ÿøhäÈ‘úúú[·nmmm6›ýï¿ÿ†‡‡KKKëééá5÷îÝ‹åPXX¸að²²’°Ad8BóO?;pà€••ÕÁƒ}}}ÕÔÔŠŠŠ***°réó’——722ÒÐÐÈÈÈhii7nœƒƒÃÐŽ ‚ à ºþñ™……Å­[·ÔÕÕ«««***deeÿû￟þ™³ÚÑ£Gmll233_¼xÑÒÒbaaq÷î]~~þ¡ AA†ïúú6i”3u˜={öìÙ³srr°õOµµµ þéš5kfΜ9~üøàààÒÒÒ¢¢"999EEÅ!AA†³ï:ÿÀæ–JKK·+WWWWWWïX_UUUUõã+äääМSAéïôþË?ÿü£©©yëÖ-•¡AÞke¶:ú;þýÏPòQeC¥£¿ã¹ÄsC‚|Õ¾Óü#+++;;[JJêÂ… œwXùÊýðóÿ"ÿÇYÂb³â‹ã³*³†*¤vš™ÍñÅñÕC‚|Õ¾Óû/¿ýöÛúõëµ´´Ð¼Q^â‹ãÑß ò øNóÎEÖAdßiþ Ȱ“Y™¹çþ&‹ùòõKGG¬pçôªbg…3YÌ«)WcòcZ˜-ãåÆ/›°Œ&@Ã>je¶.»¼Ì@Á`ƒÉ†+ϯ<.|\ÓXã»Ð—B¢Ô5Õ½J.Mnhi¢IÍКa®nŽwÊd1å=bä3ŠjŠˆ|DÍ‘š t¨ˆ}1i,¥,åjÊÕÒúRa=‰ƒr<dxCù‚ ÃûæwñÅñPßTý€ýŒýÀb³Ö¯{óÛ|”ûè~æý ¥Ad">Í¡ Ж_Yþ¸ð1V§Ù–\‘¼&hMMc Þ˵Ôközö³>¾ÎÚñ’ã³’gø§røÅûŸwÏQ‚^m¿»ÅþøÞ†àÔ`·Üæ È7å‚ Z#µüýøYGRg»Åv¬PGRû!:/šN¥o™¶ECB£¢¡Â;Î;­"íNÆ›Ñ6x ÑyÑ4Úæ©›u¤t($ “ÅtºæTÛTk;ÆÖLÍL„"RT[t.á\`Jà$ÅI?ŽþšlFÛ*Ê‹È7µ5½ªxu.ñÜžð=XþQV_¶+l‹Íš¯;ß\ÝœÉbÞ͸ûõ<‰ƒ _3” 2< )ªˆ‘¢^ÞÜÖ $>RÀ’üΈ]é§€Ÿ’J“8ó6°ÿ[ôŸŽÔÇ”åbÒŪU›§nvšä„×™­={ª÷Ôà—ÁXþáïèÿ´èiT^TXfX ³…Íf JëJ_¿{--$’ÒÂlYn¸|‡Ål÷9:s~ý=85x€‚ {(ÿ@ä[ +£Ë9-cŒô¨ùPÃYG{¤6ž|Àó²çžWÇf³€ lì‡Üª\`²™›B6ÅäÇtìî]ó;i!éÌÊL°kÏù‘ýX{” H·z–`Ëf((( P4È×d5ºý©ÊÊÒêŠE„sŸöÁY(-ôÅbÇZ>@JyJÇÖøIüp+íVL~Œ’¨ÒOú?)‰* ’ Â…gÂ2ð4¥©­ „)Â\"A¤SèúÒ¹qãT;®L kÏŸ?êú°ïþ^h·pˆŒ° ì±Ú£.Ñþ} $>|JMŽÏ;ŽÏ2€ÃчñŸ%GH@ZEgf“ú:µwá!Èw¥gù‡¦¦¦¦¦f``àEƒ|%Š+fÏž=Ô ýÉÅÅ…F£ u}5B`DI] ‹Íâ#ôuùæZ3Î'ž¿™vÓs®§"ýã‹$™lfxV8“Å:•I%IXþÑÆjóŽóN,IÄ[0U5õOöß÷`Ÿš¸š²¨2d¼Éø' Í?Eî¡ë‚ '£¤F=)|bvÂLNDŽÎõ?zj¢ÂD{=ûÀ”@ó“æ t‰õMõ%u%ÍmÍk×ÎÑ™c¦jæëµûþnßx_QAÑ‚ê‚úæúÑR£Ó*Ò°¦©M/7>¹4yæé™ªâªL³ ¦@k¤VECEÿA¾Mßéû_¦ÜÍÜGÒF–Õ—%'ÄÇãëôÎÿÍü¿íÛ%i’ŵÅɥɹU¹,6k¶ölëQÖ '«·{ún*™ZT[”R–B öÏÞo¬dŒïNä#ž¶;=M}Z«-«2+·*w²ÒdÙ}$‚|ÐõA†==ÆzFÎÛœú¦z›¥#©C&’ýýE©¢œÕ°B1A1ÎÍvu€À·ÂpÅrƒå…µ…ÕªÅÅä„å°¹«˜%úKæëÎϯÎ'A]BL$Õ™«›+Ð?NçSé§íNW4T”Õ•I IÉ Ë6·5û;úK I äa@aå‚ 3DQk¤g çr >ga»Ív‚²¨26£#*™:Jj¾©HWÄ'‹à¤hRR´ ‡I€K_‚`ÐýAAÛ÷žÄÅÅýùçŸC‚ ‚|G¾£ü#::úÏ?ÿ,**â,Œ‹‹Û³gÊ?Ad0}_ùÇž={Úå“'OÞ½{·²²ò… ‚ ߣï}þéäÉ“'Ož<ÔQ ‚ È÷¥ŸóÚÚÚû÷ïççç“Édƒ~ø+¯¬¬ôööwqqÁ+755:tˆH$nÞ¼™D"qÙW__‘››+((¨¯¯?iÒ$¬<88øÅ‹¿ÿþ»   ^+ܺu+…B¹páƒÀÏÏ/""”•ÛŸbÀ IDAT•ùå—¸¸¸û÷ïÿòË/œ—@ #""***ÄÄÄÌÌÌ´µµñ""" †“““¨¨è­[·rrr¤¤¤lllÄÄĺ=8IIIQQQl6ÛÔÔÔÐÐðÆÏŸ?ÇcÆ[¦Óé¡¡¡YYY&L°²²âO·çlYXXøæÍ›………²²²?þø#Nï6fAý™øùùmÚ´©¾þór@¦¦¦ÁÁÁ#Gެ¨¨øóÏ?Ùl¶««+öéúõëýüü|||°äƒËîØ¦¯¯¯››[]]^ÁÄÄ$**Š/88ØßßßÅÅ¥Ý×°¿¿ÿƱüãáÇpöìYìÓ©S§bùÇž={ÌÌÌðücûöí`2™Ø&@X¹r¥··7™L€ˆˆˆýû÷ëëëoÙ²%##«#..©§§×Õ‘a±XNNN§OŸÆKÖ¯_ßÐÐpþüy}šH$ÚÚÚªªªfffz{{9²cMggg~~þU«VÉÉÉMš4‰Çxx±~ýz~~þ5kÖP(”ˆˆˆôôôyóæeddˆ‹‹÷¨Aé»~Ë?¶oß.((=a¬„ÍfÛÙÙgddhkkóóóêëëÛÛÛûúúºººŽ;öĉ<î¾cÇðòòrvvÆ;e0D"‘—ð–.]ZTTôðáÃ+Vpù£ß¾}píÚµyóæa%OŸ>555=zôèü1bĬPMM-<<œJ¥€‡‡Çرccccëëë………;möСC|||fffXÉÍ›7mmm;Ö”——ŠŠÂ6±”«Ûxx!##ƒEØÖÖæàà|îÜ9777ÞAA~Ñ?ùGyyyzzºššÚÝ»wïÞ½Ëf³±dcW&±) ŠŠŠ—.]š5kÖŒ3DDD®]»†}…w»;FËÎÎ644äL> o•””L™2ÿ²###{{ûK—.%%%™ššb…[¶lÁ"~~~KKËÌÌÌòòòNó²²2+++<ùCCÄ„„v•ÝÝÝñäƒ÷xx±eË<<‰ô×_ÇÆÆ¢üA|ý“TVV@nnîÎ;;~Ê9cÃÔÔTII)??ßÖÖV]]ÇÝ«ªª@KK«ã§ý¨¦¦TUÛ¿KSMM ª««ñÎ Ø;Í[[[¹4Ûñv²²rÇüCCC£ñðBEE¥ã&Ö‚ ‚ ²þÉ?DEE`Ô¨Qööö?544ÄvvvÎÏÏWSS»pá‚ æÎËËîØ…ÌÌÌ®Àf_644à“U ÝR<Ž"//¯]ynn.ðò„ —f;.qÖé¢gØT\Þãá}àùùùøãBØ&Þ‚  {HWWZ÷Ò’KxI`J _‚_QmQs[ó)»SæêæC‚|cú'ÿPPPÐÐÐ(//·³³3f ^Îf³ïß¿Oé8}úô¹sç–/_~ðàA}}ý¥K—&%%©¨¨t»;‘HÔÐÐHHH8uê6_;yòd€M) ]¿~=öQxxxll,gØÃ \.(**ÊËËÇÆÆ†„„üøãXabbbPP•JÕ××ïÝÁQRR’••ˆˆˆŽŽÆŸ(¾}ûvÇ‹½ˆ‡—cöïß?wî\ìæN[[Û®]»`Ê”)½‚|óž>ÙvwÛPG1P´h)]Xta¨A¾_ý6ÿôÀóçÏ×××777×ÖÖ¦P(ñññùùùD"1))iÆ zzz^^^T*500ÐÔÔÔÎÎ...N@@ ÛÝ÷îÝëàà°víZ___ìù—ÄÄĸ¸¸ÖÖV‰dmm½k×®_ý5&&FII)##ãöíÛ’’’¯_¿Æ#Än÷¸¹¹1 AAAlýv£Øºu«‹‹‹­­­µµµ¶¶vaaáõë×[[[·lÙңɞílÚ´ÉÝÝÝÂÂÂÖÖVEE%;;;$$DRRòÍ›7ËŽÝÆÃËÀ1ååå:::ÖÖÖ‘‘‘iii‚|·RÝR97#²#à_Û­4­H|ßûRÒïúí—ÊÖÖÖßßßÕÕ5,,,,, +äãã›5k‰Dª­­µ³³Àþv€‰'>|xýúõ®®®§Nâ¾;,\¸°ººÚÝÝ=>>>>>«`jjŠÍQ7n܆ Ž=zåÊì£;wæååùûûãΜ9sÔ¨Qééé„Oë´ÅúõëKJJd ôçïÕâÅ‹mmm###333Y,–²²²±±16U399yéÒ¥ffføœSÀf©¬¬¬¨¨’’â²;ÆÉÉiÑ¢Eaaaùùù"""úúúFFFø§GŽY´hQLL ‰D277×ÓÓ VWWÇn»…BIHH ÍÉÉinnÆ&„v|ÿ‹‡‡ÇÚµkñõF§M›Æ¹Þ¨¥¥%…B‘––æ8V())ÙÕ‘!‰¾¾¾ÎÎÎQQQ`bb2qâD--- <¼N[î6^ŽÑÔÔLOO ),,”““CëŸ"ÃNck£ñ1cºÂí·9Ë«>TM9>ÅXÉøœÃ9¬$¾8þÌÓ3I¥I Í ÒBÒ3´f¸Nq¥ Р¹­y´çhK Ë–;÷?ÜWWÛXûÂí… YŸÿž¾.xÖÔÏ1 #,ó¡åƒ$Mòœ]¿ixcêeúƒÚ§íNÃàŒvoäÞ'…Oˆ|D u‹]ÓwàÁÈgeÍx“A -»ðWÓ_ùŸCêê $–$.º¸â âÔ÷}üÙßÑßHѨ ¦À?É?¶ ¶¨¦ˆÈGÔ©¹xÜâùºóbhÒÏy=•Jµ¶¶¶¶¶nW>mÚ´iÓ¦u¬ßîyÚ®vÇÑét‡®>566666Æ7çÏŸ?þ¿9‚‚‚í¦¸vúþeeeláŽ,-----y)l'!!ÁÐП süøñ¬¬,Îk¹4Â%L·ÇÐh4GGGîq"ÈW‹J¦ÎÑ™s5åjjyª®Œ.^œÜÆj[¨·Û HØuö ?”Ô•øÆûÆÄ]ýù*•üñ±ùº¦º…ÿ-¬h¨À6Y,V·][ëXŸ~z:¾8~¢ÂD¼üòóËL6sÙ„e]í¸ôòÒ¸‚8SWãR¡®©n‘ÿ¢òúrlóZêµÚÆZ‡që‚×1YLhlmôŠó[fð1.KGk‚ÖäU}žðž\šœ\šü¦áÓ$'îC@^@׉¹¹¹®®îøñãÉdrbb"6EtãÆC‚ '㮦\ |È™½¢SéÓ5¦@qmñžð=ÂÂ[§m5S3¡ŠÕe½›q÷|âyü{4¡8a¼Üx¯ù^Ú’Ú¥]/Ó5§çlÍqºæ‘‘¶9M€$¥u¥~ ~Ÿ]Äó&›yùùeu u•}ABqÂå)§ìN©ˆ©dUfm¸±!2'2±$ñƒ_–,£Sér¸Ýró÷ÅònBÎÖœN矪‹«¯6Zm o /"ßÔÖ”ñ&cWØ®“ON®6^M$ð´Ò#‚ðåƒdâĉ |Ä{ðP½œˆœ¥†åý¬ûoÞHÒ$ <+üM×).\öê—LÄÅN,8!H€±2cWN\¹'|Ïù ÛÌ?>žc­c}3íæÃœ‡­T2•ǃÐÑ«='Ÿ8ùødy}y ³//­+U¤+ö}  åƒ$22211ñùóç•••²²²VVV222ƒÓuW3Kd8²×³ß±÷^Æ=Û1¶ø"ð›/Ùo³`cÈÆ!±»lø¸ž2>?k6JjT’Ì2ƒea™aWž_q5q€ÿžý'B™7f^·;öÑh©ÑXò‘‘ÎÛ@ +$ oß¿U +ðxÚ©kª›a>~—‡SSkSÿŒA8 ücð ~¿¼LOAáÂv´í‡®¦\µcû¾å}è«Ðq²ã4$>.Ìb³›Ñçôtjo&_OT˜¨#©sùùeç)ÎÕO‹ž®6ZÏ)éT¿ÌÿÀnq/ÄžädžÏãAhçZêµòúr+M+WW%Q%*‰J v†í Hà?‚ôÊ?NèTº•¦ÕíW· j ž=mlmÄ/~öE~~Ñù)ʲ¶ÞÒ K·ÝÝ‘ñ¤è ‘ø“þOÑKñr@hc¶q–Õ€ÛT7<ja¶<)|2‘"ß5” 2Ì,Ô[xûÕí A SÉTëQŸŸ˜›§;ïäã“¿…ü¶yêf‰uMu5¡¯B¥hR}ŽãÇÑ?xtÀ7Þ7ëm–¥†%v+„‹!Y`”—ƒ@§Ò³ßfÕÉ‹ÈcOíÊ ËÀé§§7šn¤SéٕهcçWç~üÈwå‚ 3“”&)Ð.&]lhn°×³çœ¡,ªü÷Ì¿w†íì¸túZãµ}ïZ€$°hÜ¢OÀ/¿ô½ÁÀËA0V4¾ýê¶ùÉo´ñwôŸ;j®WœWЋ  —I¤ ЦkNÏ ´È‘ï _÷UA¾&a¡Þ†æX8va»Oê- ü9ÐZÇZ’&Iâ#IÒ$'*LÜcµgݤuýÒ»ãxGБÔ1T0ì¶òPéö ì°Ø1Sk&JÇ_!#,sqñEc%cšM˜"Âçkóš#59?-ˆÍ«ÊSU–‘‹-ˆí¸{i]iRi’¼ˆüX™±r"rÕªïeÞËx“±òêʰÕa$>ô­÷µ@gA`ݤuœ›Ùo³Àg˜ X¿7ŽpájâJ$»úÔAÏáW“_UÅUïeÞë4ÿPS¹úóU}9}¼d£éÆyççÖ&'+HÐHÏ¡üAᡱµñôÓÓJ¢J6£m8ËÙlöÉ''…„—è/Á _¾~™\šÜÐÒ E“šª6U\P+g²™^±^ªâªÖ:Ö¹U¹qq55ë&­#É'Ÿ¤I.Ð][•ú*4¥<Î%ž#ñ‘($JS[“"]ÑvŒ-g×,6ëäã“t*Ýq¼#÷àñÆ;ÆÀÈg´0[ÆË77À*—Õ—½b±YE5Eÿ2þÅ çëΗ‘ïÅè–,;Ÿxž—ãVý¡:¾8¾¨¦ˆD$iJhNRžÄ%*“•'s¯ +,++,ËY"#,3Cs†²mSí@††ô Ê?¨djdvd^už¥†åþxùãÂLJ¢­5^‹m¾}ÿvSȦDž9wÜ=}·ÝX;hc¶ýËø×RÃ2»2Û+Î «°râJ2‘ìç­+­»@wA^Uþ­ïç ªâªâ‚â>O|ÌÔÌèT:ÞrTnÔ?ÑÿlúaS·ÁãsÆPZWêåÉf³±: õþoÖÿ ¬¾  ¤®ÄHÑH^D¾w£ãå¸ýñw@r@ ³¯ ,ª|Úþ4ï7ž®¿¼^\[̽ÎÏ~¥Šr¯ó0çaÎÛ*™:Zzô¹ Ǹ¨úP:’:}o é/(ÿ@dØX¨·p÷ýÝ·_ÝvÐsÀ _€½ž=0YÌÕA«SËSåEäMUME("…5…ÙÛïnW—P';Û%¹49";ÂTÅTGJ‡B¢‰dÎ^TÅU7˜l¸ýêv^UžódgI”*:’6ÒåºKЋ UF«ðšþÉþüDþÅã÷b,ÏËž?Èy0Uuª†„FECÅWw®¦\µÖùöî; ‰óÿø’!a„°7" à¢"î÷ªutHÕ:¾µÓ[[µßŠV´­àž¸""¨ ²w²Â&Éïëïš/`ØÁØ÷ë¯Ü“çžûÜ}ûõÞÜ=w™ènén¬eìçáçÿÀßDËħ—ÕßDÛ¤Í{×ìq#„ÜK½gÀ3ècÒÇDÛ¤¦¾&>?><=|ýÅõAóƒZ¸G§ŸK “ßg‚ÄfóÇŠôgÃ'ý×FϦ…54éiÎÓk¯®y;z[ð-Ú3t,äP“&ÿtë§“1'éóhiuihbh³þÔ£ ¡‰¡q¹qÞŽÞ['neªü}ï .7nú¡éûï§£(ª,Úæ½­ÁýšžŸ‡ß á‹”¢”Ü?Rc©Bı±–ñÑè£Kú/¡þ"Ï*ͺ›rwjÏ©m› RTY´Ûg÷H»‘Ôâ«!ë.¬»|›Î»Âv™óÍý<üèU.'\nÛÞ5{Ü!›Fo²Ö³OÏ-ËUeªö7ë_XQ]\UÜlb Lí9•¾…ô&Í+SmÓ~¦ýš‚ܲܛI7ã…ñ Ž-¸ºô*O×’Ë,ÉüàÔ|‹oÇ|Û¶ “ €Òà©ñÆÚ=ýìtbA"õXÄÙçgkêk|]|©Ô„D ¶F@xu_C*•J‰TK]+.7ŽÇJ×êMáãM˜*Ìy}çý|ûç{©÷†Z%„>*‘Jº.lÛ¾88ÒáƒâiãIÉåËY¥Í{×ìq#„<ÍyºøÄâzI}ƒUµ<´¤›+¯ìiØ“~ø¥´ºtÁ±Ï…ÏCâBÚvœ“‹’ç›ÏesÌ>¢©¦ÙÎò c!€2ñuñ=ýìtPlÐç#>'„ÅiªiŽí1–úöuåkBȉ˜ò±ÔµlægöžéÿÀÿHÔ‘¡ÖCkŵA1AnfnŽÇ6 E1Ò2’]Ô`kBŸþeµgïä·ðôðmw¶©2UGÚ´à[h¨j0ã^ê½èìh‰TÒÂ=jÿüg#gÙEmuíô᩟ Ÿ·°Y±¹±ï|OWC÷Èì#­}øù”‰›™›µžõég§×{®Yð2^?·ï\u–:õ­6G›2·Ï\=®^ƒé>„¶=Ö¡­®=Ùiòɘ“Ù¥Ù™Ô£%mݶhÏÞÉ?n·’oBvNÝ)û޵øüøV•×Qó?:DXZØŠÆÚƇgÖçé+`‹ÐZÈ df8ÏØrkËõW×Ã3 !²7™ Š KÅ ÞaU *È-Ïmÿ¦º.<þôø±§Ç¦=4Ö2e7ªýc¾‰*Sµ¤êžmçÞÉ9nÔŒÙ9áéá7_ÝlUÁíœÿ‘]š]]_-;Õ´´ºt׃]¤õÏ­\}yuÕ¹UÖºÖ‡f¢N†· ò(Ÿ^>Ûîl;üäp|~¼ƒƒ“À‰þj‚ã„‘Ž?=~/õž»¥»ž†^YuYZqZDFÄ’þK\Þo»nvî–î#VÕUm¾žÚ,u-__|zþS33†ŠO/ŸvîœãÖǸ!dyðò±öcùüW…¯î$ßÑÕÐ-¬(lyÁíœÿ‘\”¼$hI_“¾6z6|?·<÷Æ«µú<}ê¹eÊsáó¯nÿA\dV$õˆ²³‘35‡æqæc¿³~©ÄÍÌ-0*PvC­‡ÒO A—Cþ%£§¡7ÂnÄÕ—W !3{Ï”ýŠÉ`þåû׆‹n&Ý ŠùçÁQOÐþðAYäº(,-ŒÃæÈ^?è ‹]o¸´áìó³Ô"õþöìœã6Æ~Œ·£÷ù穇r !3\fhªjî{¼¯Ãö§9&Ú&öúöO²ž<ÉzB7:¶{o×R×¢[žç=§ß‰B¡ûÏë;Ê9e9b‰˜r$êHƒMhªi"¼=?@ù|<øc{}{BÈ$ÇI ¾âsø{§ïM.JŽÌŠ|]ùZWC×’oéjêJ]«`1Y~~ÖzÖÇlð-': Y̆ÿHRN§ôœ¢­®Ýò‚eo²ªÑ¶›-ÝâÓËÇÉÐéQÆ£ÒªR)‘šh›´gï(rŽÛ¯“~Ógγ¼g £ŸI¿^F½î§Þç©ñè¹&mø ›V±Ñ³¹ðÞ…çÂç/ò^Vjªiö2êåbäÒ ›“¡“ì3É4:ÙëÛ7ÙÒǤOÇÖ íÁ _½ÐB¡P$ÉépéÏÏO””¬°’é›ÐoŽD9·ø\›Ÿ|P:+W !þþBùÝllZñ¦8\ÿh^ViÖ©¸S©¯SÏ¿8ïbìÒ |< }s¹,U¦êŠA+šü àß ù yÙ¥ÙÔ´U¦êF¯ ¾Ý¾§¼¦¼É5Õ4‘?Cþhž‰¶‰Ÿ‡Ÿ¦š¦—­WãŸY>p¹œë_€òAþhž©¶é›f5Bp… µTšïС?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@ÑðþByïä{ÖºÖ_Œü‚nI.J>üäpFIFu]õ:Ïuøõ²Î#–ˆOź—z¯¼¦Ü‚o1³÷L×°õÎÖ¨¬¨ƒ,­ôXÙá}Sí[ù€Bg>®®«¦Ó‹Ó½÷yÓo5-®*þ1ÿØ|‡#66Û¨\jêkŸX‘A-ÞK½w,úØ– [¦ôœ¢È2^¼¤k éóô;£Oû)f+ ù€Böùîã©ñèÅ Ø Zqí"×Ež6žl&›úÙú®‘Á`0ZÒ¨\üøGdFj®ôXi¤it;ùöá¨Ã/oìoÞßXËXÁÅšuˆ©Â¤õ4ô:¯Oû)f+ù€BÜÌÜd³J²!«‡®æªr»¨¢…zIýÑè£LæÁYmôl!C­‡2Œƒ‘F];l­‚ë`1€É`*¦Oû)f+ù”CU]Õòå6z6_úZ¶½º¾zEÈ K¾å7£¿¡ZJ«Kƒcƒ£³£Eµ"O0Æ~Œ—­õU¸náñ…®f®~~'žžx˜þ°¸ªø/ß¿ÔYêôüȬÈíw¶'&BÞzŸAºº¢Z‘…ŽÅ¦1›”´"d…m7Û/G~)§rz£þøhôÑðôp‰TÒÏ´ßü~ó5Øt7±D|;åöýÔûÅLfwýîÓzM³Òµ"„¼,x¹)t“X"~–÷lNિ¯‹ïɘ“ ¿õ%5s¢µ!`ZÀòàå®f®Ÿx|r2æä½Ô{µâÚ>&}ö[({Y¨ÃÅäÄ”U— ±B…Ê"×E#ÞM¹KåCO]I¸2¿ßüq=ÆÑ}ÜM¹»|ÐòaÖÃä½f¯â)Wµù”‡ÍQc©F.°Tö²üÕ—Wï§Þ÷´ñ¤£³£—/“®2ÃeÆã~$„H¤’ˆÌžoñ‰ÅÓRêÅõ„õÏüâÊbúÎúãÌÇ„k=k'ÓѧG÷_lÉ·¤G>÷â܃´ÞŽÞò+—Ý裌GTãͤ›§âNŸwœÏáS-sŽÎy’õ„^ëfÒÍ}ûvNÝéeëU^SN•TV]F×6ØjpãÆ²ê²¶„Zq-ÕøÁ©n&ݤo'ß}¼ ˜Íd¿iï6ߨü,ï™ü#°Õ{ë›î¤$%B\Œ]dÍtÌt8:)E)Ôâ´^Ó£×_\o×Íζ›-!äú«ë[ïlõ²õj5´Ù£×”Ÿnþ”T˜Äasœ |zúi5¹«qÅ IDAT®¹ý}Yí[ ù”†¯³ï­¤[!±!²“üOÆœTeªNqšBÕˆV„¬(©.™ÒsЧ§¶ºvFIÆÇ‚b‚™šä4‰ZånÊ]žoí°µu–:‡Í‘ÝŠ«™kàœÀíw·?Ézr`æ6“­ÎR—éùç£?ñ9Ý30*PWC·Ùü!»ÑõžëíºÙå–çþñèä¢äﯿÍ{ÕAT#šì4ÙÍÌÍTÛ´º¾:^ òÀ¦k›¼l½ìõíç6˜jjªmêjêÚ ÑÁÀ¡mºs7å®GgÃð vÝì„"áïa¿?>¿”pi²Óä7íWBAB㉠TÕU½é«âÊbÒÔÄIžAbAbU]‡ÍáªrwMÝ5õàÔNtzÑéQÁº ëLµM™ø =÷EÎÑkaÊþÇû©¡‰¡~™øËXû± jkEVûÖBþ¥áeç¥ÏÓ‰ ùxðÇÔ‰'£$#"3b|ñ:BÈ™çgŠ*‹Ö[»bÐ z­ñ=Æû}Ø©g§èS¯”HÏ:ì hú O>‡?À|uYÂÍÌM¥Fµ»»„Ä…¬º†Ê+QÙQ/„/>rÿˆî Ÿ”HÍ:ä(p¤Çõ7j廓ñ¿ûuîœø(ãÑ”;W_^­×J¥R5–Zviv^yž¡¦áó C›£=À|=¦‰¶IãÆ#QGÚpjêk!,Ö±¹Çèëü:óŽÍ‹ÊŽ’“?>þYYM™ü}—3T,BOb Zê%õÔ¢m7ÛÍã6¯>·zý…õé%éµâÚ]>»´Õµéþò^K:°UØS{NíoÞ߀g[–{æÙ™È¬ÈÕçV;-u2Ó1£¶ÒQ}Sí[ù”“Áôéé³'|σ´V„“1'¥R©¯‹/ÕáiÎSBȵÄkaéaR©”"%RêCrQ2=Nýo r,ì·pÍù5â/ÌpžA Œ d©°æöÛÂÕ èðAásø#íFÇ'&99‹¥âÕçVßK½×xÅòšrê”ÓBí9½ŒzÉN2èiØ“üÿ%Š7îWë¤,*{UÔV4h§Z4Tÿ™ãíè•uøÉaBÈæq›NôWͽ–Þ_&þ";×xVïY«Î®ºáô³Ó~~Tc‡ôQXµo9äP&¾.¾{í Š ò°ò ^ZeªmênáN}[Y[I‰Éi¼¢*K•þܪÓ9m¼ÃøŸnýtäÉ‘Î3^W¾¾œpy\q<ƒ®®¥®Õ …úóºðpþùù{©÷,øóúγà[h°5 Æ¡'‡®¾¼JE‡–kÏA½¢@¡¦}H¤9›kçüª=­8M¶±¦¾&§,GÀ4¸.¢ÊT%„¨0T¬õ¬eÛ›=z-9¼tšî<ýBü…ôâtº¥Cú(¬Ú·ò( ¾…›©ÛµÄk%U%QÙQù¢üUCVÑ“¨ùw›Fo¢f)Êb©üóÏ]Û^˜ÁRaÍé3ç¿÷þû4çixzx­¸v‘Û¢–¯žXX'®“È—Gh ÈÿÇ…Swʾ÷ó×»¿þÏRÒDiÔØ©¡±vÎÿp6r&„ÜI¾#–ˆéWYÜK½W/©w6v–íšúWÄ_VÏòžùñ;·ø\7n7ê«f^‹o#¹å¹„ÓƒÚß§ «}« €’™Ù{fDfÄÙçgÃ3ÂU*Ó§Ó_±s0òàÙçg·zo5×1§ÅRñµÄkb‰¸ý›žÝgöïa¿~r82+ÒÅÈÅÅÈ¥ùuþ_aEáw׿ûbäªLU©Tz ò@Df„¹Ž9U'5%*+Š:åÔKêû=2+Rv®7«4K"•¨0Tä4vöAh ó?Œ´ŒúšôÊŽÚ~wûÚak †P$üéæO„IŽ“ènéÅéë/®7×1ß1yGLnÌ’“K>9û ýö­f^³^_<Íy:µçTúü–öó­Ÿ !ôÜšŽê£˜jß~È dÆÚýöÚ·#f—f±"{¡¿Yÿ.3‚b‚¼¼Ìt̺q»•U—e•fÕÔ×,¸|‚ÄvnZOCo¢ãÄSq§!­}5–žMplð…ø –|ËÜòÜQ!d­ç߃xZ{îz°ëëЯÿŠø‹¯ÁO{VVSæ$pz.|Nà(p O÷Üíi¢m êU;û 4ÐÎù„ÿxýgNàœ=á{Î>?+à  jêk\M]éG9ªë«?:ýQ¸n—Ï.-u­!VC>üñŽû;~½÷+õ¿B³G¯Ù……_]ýêÛkßšh›è¨ëä–çæ‹ò !}MúŽï1¾cû(¦Ú·~ÿ:“)%„ˆ;þ/í¿©±Ô¼½3J2ÄR1=ó”öÃØ6ŽØhÀ3È,ɌΎN.J–H%ã{ŒŸè8±C¶¾Èu!Ä€g û.¬–°ÒµÚ1e“ÁŒÍ-hªin·™>[¸»|=êk›“Q’“Ã`0¶Œß2Ðb ìë<×éóôsÊrg>ŽÈŒ ^õÑdcg„ŽÕפoÀ´c-ã¼ò¼˜Ü˜:qÝû1Óè;D_]ý*!?á›ÑßÐ÷#V^9ÌzØžð=Ô«Jš=zÍvp2tZ身ÊM/NÉÉåsU¹ ]Ÿ¾+ÔQ}SmNj̎˜ÑÚ™Mð/' E"‘œaaœ Œ##SutäÍ[lו¯_¾"„ô3í';§&•JÓKÒ_W¾ÖÕÐ5Ñ2¡g]H¤’Ç™ù~wýî Vyœù˜§Æ£Ïp‰‰ÅUÅnfn²7;!/„/&ퟴjȪÜÂjkêkœ¶:´0- N\÷ªð•D*é®ßšM)«ª®*õu*ƒ0l»Ù²™ìŒ’ŒÜ²\g#gú2»X*N*L*«.“H%ÔœÖ&[{ä4êjèÚu³káζ™T*M.JÕŠLµM鉄:q]Tv›ÉîkÒW¶yMù á M5Mú©¢f^ó‡W"Î)Ë)¨(ÐTÓ´Ö³nòÕæÕG1Õv”ùó­¬ê¾ý¶@~7ùd!@ë4›?23ÙÇ›g÷î]-§›2KÄ‹N,z”ñèÞG÷m†üÈݽjÓ¦BþæÍz÷Fvè@wîh,X`<`@ÕçŸvÞV? sÍœY¶}»00Pûƒ E"ü›ðö’JÉÁƒÚË–S±{w^‡ÿæ‹,ü[ÎÛ[täHNl¬úèÑæ§Nib:À[(>^mÎã~è¶zuÑ–-ùlvçþù¡OŸê+W2F}ö™Áô馗.ñêêð\ À[!.NmÃ)SLÅbÆ©SY+V(âÍÅxÿ)´NKÞ*GB‚êÿ«{ëW]]2hP•£c‘‘˜Çë¬_Ê€&UW3Š‹™‰‰ªáᜬ,V÷îµË——LšTÎhÇßøý[èDíÌ”¼<Ö܇9 ª……LÌ QZ{ IˆuW—­¦¦&ÕÖ–ØÙÕöî]íåUáâÒoCþ€NÔ!ùÞ ¶¶¶;vì?~|Woüþ ¼Õ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@ÑX]](55µ®.Þ"êêê<¯««åƒü­£££ÓÕ%À[D[[[ tu |pÿ ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ù ùÕÕ€ÒHOO‹Å²-B¡0%%…^466VWWWx] |R©´«kå0qâÄ‹/¾é[UUÕ¼¼<>Ÿ¯È’@Iáþ ´ÔìÙ³ßô“É=z4´ò´Ô”)SÞt{E"‘ÌŸ?_Áõ€òÂüh¡P(‰ºº è2^^^¡¡¡õõõ ÚUUU“““»¤*xØØØ´¼3®@+Lš4©ÁTB‹Å;v,‡Ãé’’@!@+ 6ŒËå6h¬¯¯Ÿ4iR—ÔJ ùZÍf7ŽÍfË6jjj<¸«Je„ü­3iÒ¤ºº:z‘Íf{{{³X˜P­€ü­3`À===z±®®ÎÛÛ» ëe„ü­£¢¢2iÒ$úL·nÝúõë×µ%ÒAþ€Vóöö¦nÁ°ÙlœM uð_ ´š³³³‰‰ !¤®®nâĉ]](äh Bˆ™™™££cW×ÊÓ• ËÔÖ2^½R-*bVTào!壭=“ÿ^½f]¾ÌëêZ ÕTU¥ZZb;»ZI—€ß¿€Öiÿû×KKUNŸÖ å>y¢.3:ª0è } 9Aˆ]W—mgeUçåU1}z¹]m;‡jÕûב? uÚ“?ªªüÁÿãé¨QC‡V:9Õйܮù Úéáǃ êê* -jkÅÅÌ—/UÃÃ9W¯rÓÓÙ#FTlÜXdaQ×üÊo€ü¨Íù#4”ûý÷ÝÊÊT>ú¨xΜ2d€·„TJîÞÕØ²E/-ýÞ{¥+W¾VSkK6@þ€NÔ†ü!•’mÛt÷ìáO›V¾vmQ·n ½ ºœXÌ8zTë×_umljòôôZýÿSäèD­ÍÕÕŒµk7nhüðCOyçí—œÌ^¶ÌH,füñGnkg„´*`Î9t"‰„¬]+ç:”ƒððö³±© É64¬_¸Ð87·’Eþ€N´}»îõë;wæ¹¹Uwu-Ð"::â¿þÊåóÅË–VVvVN@þ€Îrõ*wÏþæÍVuu-Ð \®dÏžÜü|ÖçŸëwÒ&? STU1~ø¡Û´iå¸í ŒLMë·lÉ?ž÷è§3ÆGþ€N±w/¿´TeÍš¢®.ÚÈÓ³ÒË«ò›oºuÆ{‘? ã•–ªüù§ÎÇàQÛ®—œœlûÿéöS§NM™2¥gÏžÔW+V¬èÂbàí´qcaj*ûÂ…ŽÅ>òt¼Ó§5UT¤sæ”uu!ðFwïÞ]¿~ý³gϪ«15ÞÈÒ²nÔ¨ŠcÇ´:|düþt¼ÐPî¨QxÃéÛìÒ¥KÔ‡¾}ûîÛ·ÇÃoÈAÓ¦L}ðaa!³c߈ü¬¦†¥>kV~W³±±IJJjИ››K}pttDø9ÜÝ+UT¤q&Lh×O6€ü,9Yµ¾žáäÔÞßÒ|ç=xð`áÂ…„6›ýðáCª=99y̘1ÔçÐÐPkkkBÈãÇ>]XX¨ªªjkk;iÒ¤¹sç²X¬Æk]ºt)66vß¾})))óæÍ›={¶ìWOŸ>ݸq#]Æ‘#GŽ9B2dȽ{÷!\.7,,ŒËåRbcc}||!L&óÎ;†††MîNƒ^¾|¹gÏž””]]݉'úùùihh4^ëÆþþþIIIúúú#FŒX½z5µÝšš'''º“ÉÔÒÒ²··Ÿ>¾¤¤DGGÇÌ̬ÿþ“&MêÑ£ݧ٣rp8Rk뺗/U'LèÈaqè ƒåç3 !FFõ]]ÈÛÎÝÝÝÒÒ2--­®®îüùóóçϧÚO:E}8p >¶mÛ¶{÷nzźºº˜˜˜˜˜˜Ë—/ïß¿ŸÃiøxäþýûƒ‚‚Z[Ïðáó³³SRR***Μ93wî\ªýüùóÔ‡¡C‡¾)|4pøðácÇŽQŸóòòþüóÏÈÈÈcÇŽ±ÙlÙn'Nœ8xð õ933óÀyyy;wîl< X,...ˆˆøå—_¨ösçέY³†îVTTTTTôôéÓ¼xñ‚jlíÑƒÆ ë :80`þ)t°ª*B‡ƒÉÍ`0sæÌ¡>‡„„P$É™3g¨ÏT ¥NŸL&óÇŒ‰‰¹zõªƒƒ!$22rË–-G¾|ùò¯¿þúôéÓ¤¤¤/¾ø¢Á·¾¾¾IIIîîîÔâ¼yó’’’’’’,X@]!„Òõ\¼x‘úüç?ÿ‰‹‹‹ŠŠ:{öìºuëºwïNµ·áèAc’ŠŠ~ù:õ£–ŒŽ_À;ÈÇÇGMMòìÙ3êaÔP'`}}ýQ£FBŽ=Juž8qâŒ3¸\®ÍêÕ«©ÆÚÚ†·º>øàooï6Ìêðññ¡n%&&>~ü˜òèÑ£üü|BˆÁðáà !‹/¶ý_yyy pssãñxÓ§O÷òò¢é¬@ûðÃÝÝݵ´´èÜCIKKkÐÁ`hkkOž<ÙÑÑ‘j £>¨««S„Bazz:›ÍvrrZ¾|9áÚpô 1ƒtøÕ"tñãÇSŸ©K ôÍ___jvý’Œ³gÏÒ§üeË–QUUUééé †uuum[=gÖ¬YÔgêÌM‡†iÓ¦QW2ZBvêRSStsqq¡>hjjÒÔ‡ÐÐÐeË– 2ÄÑÑ‘Ú똘ê«ÂÂBº*j.Èþýû'Nœèìì}¨Ïô|ø·ß~+TTTÆßø•©ƒ 4h!¤¾¾>55õ«¯¾züø±X,¾xñbß¾}|ô åpý ‹Ñ—@nܸѠ…2{ölêéS§öïß_XXXSS“‘‘qçÎ/¿üríÚµ^Ï’%K¨Ož<¡>´üb å÷ߌŒ¬¨¨ ¹yó&ÕèííÝòè'eÔÕÕ¹\nYYÙÎ;‡-[¶|ýõ×aaaÙÙÙR©TSS“¾ôR__OºâèA áú@›„ Ÿ|ò‰ªªjËGX¾|¹¦¦f```FFÇ9rä† èÇtiŸ}ö™››[hhhRRR^^žD"100èׯßûï¿O=dKºâèAK0¤þH ¼Ó„B!ý—z“.]âùù ’’’Vt¸úúz—ššBÈÕ«Wmllš]¥ÁûOé7pÀ;`åJ!Äß_(¿[Kþ;¡áúüšššPácذa­:©´òücôèÑ)))Ôg‡³nݺ®­ÞUxþâr¹nnnû÷ï—ý7€„ëðê…cm`cc“””Ô±ÅÀ; ×?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@™ìÞ’ÞÕU4á­- àí„üÊä÷ßBB2ººŠ&¼µ…¼ðþSP&~ØÃÀ@­««hÂ[[ÀÛ ù”ɼ¥¿êþÖðvBþe²{w¢Ú´it‹X, +HL,‹%66ZújjÌk={VýZ$ªÔ‡ èé©ÑëîÚõÒÚš7q¢irrùýûùµµ’>}t]]õŒPQQãFnNN•¡!gÔ(#±Xzà@²³³Ž§§aãÂZ>¬œÚ:OddQbb™HTgjÊusÓÓ×W'„TUÕÿñÇ+ssÞ”)f²%i@@¢ŽŽêœ9V­Ú¯øøÒ¨¨¢òò:ssž»»¾ŽŽjgï(äP&¿ÿžÐ«ŸÎIIå|žš*¢;êþþúöÕ¥ kV¯~üðaÝÃa}ýµóôé„úzÉŽñ#GegWnÝú\*ý»¯¯ÅæÍ}éUâ⊗- /(¨¦ Ô¿ÿ¾ÏŽñóæYÓùC¶°+¿¶&>‘™Y)ÿÍŸoÍç7}²/)©}ï½°ØØbºEM¹v­ÓâÅ6ëáÃÂ={^yz d³Â;ÂíÛ_¬^íØòý*(¨þôÓȰ°ö‹ËemÙÒwìXù•ÿ ò(«ªªú%K²³+5† °Ù*ä''—/]úðòåêb±téÒ‡qqŦ¦Ü!C ´µUÓÓEׯçnÜmk«Õ»7ŸçéÓ×7oæ fhg§)V_º”uòdúĉfîîú„ŠŠúåËà ª­¬xb±ôî]ágŸE5[žüa[X[§OgÈž×›4a‚É›òÇɱ±Åº——‘¶6;;»2"¢ðÉ“¢Å‹m! ZüqDppúûïÛÑ«¦ªªªÌžmÙÂýª¯—¾÷^X||)—Ëòò242ÒÈή|ð ÿÅ‹Rä…üÊêüùìììʾ}uôàp˜„úzéªU¯\É>z4uÕ*‡ÐМ¸¸booÓ­[]™LµV\\ñôéwöïOúí77ª¥¨¨f÷î#GQ‹C†¬[÷äöí<ê„zþ|V~~õС‚={²Ù*„ªªú… ÕÈ/Oþ°-¬­©SÍ]]»Éß®®îïà¼~]C9uj¸@ NµÔÖJž?/¡>ell¬qôhê’%v !„deUÞ½+œ:Õ\vLùûuñbV||©Ö‘#ô½¤ŠŠúŒŒ ùeÿ ò(«¨¨"BÈ'Ÿ8PáƒÂb1Ö®u¼r%ûÉ“"Bȃù„ V@@¢T*%„H¥D*•ji±ãâþ¹áè¨CŸM !Ô-•üü¿ï¶DG¿&„¬\Ùƒ „‡õá‡öï¿ÿP~yò‡mam LjÞüqy³Ñ£Mݷ¯¥µµ&ƒATUUúôùû^“ɘ7Ïê矟߻':T@9z4U"‘.\hÓòý / „lØà$;‘…Ëe98h·§rx÷ €²*-­%„˜›ódÍ̸ ))©%„¼~]K9q"Mþ8FFÙE ¿/¥ÈnÅÄDC¶©)·ÙòäÛÂÚhçüƒcdž<˜ÌœiéïÿòȑԡCµµ’  477=GÇÿ‰ò÷‹:òÖÖš­Ú/øBþe¥­­JÉÈ™™ý23+¤RBÍ ¤:Ìk¥§§Þ`]uõ–¾}‘$;»ÒÀàŸA²²Ú{7¡mµµsþ!ÄÍMÏÍM’Ÿ_QøãqW®d?>TE…AU5y²éÉ“éÔÔââÚ?šEù””rsóæ#ü›!€²êÛW/88Ýß?¡o_]ê/x±Xº}û BH¿~z„Aƒº¥‰ÅÒ?¶§Î¯”‚‚êÜܪn¥OÝô]»^ d±„šq@@b;‹o[míœÿ^ЫŸËeB Ô'N4½};ïÌ™ÌÔT‘ÍßW,.´9~<íØ±´‡ó5F2nå~é¥ÿòËs]:Qó?p d!€²òö6Ùµ+!2²hìØôó/IIåÚÚªsæX²–Ià IDATB&L0=p ùøñ´{÷òÝÝ ôôTËÊêÒÒD…K–Ø9;7ýŒI£­˜þö[üíÛyãÇßðð0‹%wï ++Å„£Ùµß¨mµµsþÇž=‰Ož h`aÁe³UJïÞ2™ Ùníì´ÜÝõLªªoØÐ“žÛBãÇ›îÝû*!¡tøð«^^F††œœœÊû÷óç̱BþYÈ ¬8Ö_¹Sïÿ8z4•j40P÷÷ïOÝ+a2ýå¾aÓ›7ó‚‚Òèõ†B—Ë ¸lÙÔ”ò””rBˆ¾¾úƽ>ý4RC£íÿ„vHm­5hþÓ§Å7oæÒ-\.ë‹/z5xéÙ¢E¶aa9–¯ïßDò&,cß>÷U«GDž;—I5òx¬“H?@™4ø™[[Í+WF>xŸ˜X&K­­5‡5}ÿ)Ÿ¯ºwï ääòÈȢׯkuuU--y®®zÔŸõ,–ŠŸŸƒµõÿÌ`¥mmÿ™Aéâ¿qcô¹¹¹U††œ‘#¨S¸ìLLÙÂZ8¬üÚ:òeÝçÏ·~ô¨05UDÃÈH}èPCj©,*+L™bFMRi° Íî—úÑ£Câ⊣£_WU‰Í͹îîú †`Hé7Ø´€P(‰Dr:\ºÄóó$%%+¬¤Î–”Tnb¢A?å[\\;sæÝ””ò ¼zôxÿ¬ÿ曘#GRÎóÂE  ¬\) „øû åw³±iÅle\ÿhÆíÛy‰îîú¦¦\¡°êömaiií AúïXøÈʪ8u*35µüüù,]„èTÈͰ³Óª©_º”M·ôêÅ߶͵ Kê ÙÙU;vÄBTUU6nìÙÕåÀ;ù Æ <÷ðaAff“©âè¨Ý¿·ö<üòv21áøù9hj²¼¼Œ,,ðöè\ÈÍÓÒbÓº7a(SS®Ÿ_®®þ-Zú@€Ž‚üІüІüІüІüІüІ÷€Ò¨×-<¾ÐÕÌuÍÐ5]]KJªJN=;•U#®±×·ŸÕ{–©¶i“=£³£¹ý !dçº>&}¨Æ·|ï:ò( ‰T‘¡¥®ÕÕ…4áQÆ£NTRUB-ÞJºõGøgŸq0phг^R¿ñòƤ¢$©TZ\UL·¿Í{Ðá?Ú+£$ãý ÷«êª[žÚsj7n·¤¢¤#OŽTÔV4î¼'|P$g?îRÂ%Å— ð–@þh¯Ÿoý\UW5ÃeÆã~¤Z<¬<æ÷›_[_Û gZqÚïa¿=êëÄ‚D…— ðAþåS+®=}4<=\"•ô3í7¿ß| ¶ým¾(?(6(± QT#2Õ1õ°ôi7’Ñi¿WV]v-ñš:Ký³áŸÉ¶3L›Ó óW¾èmÜ{†óŒnüÐìÈR©tWØ®°´°)=§øºøvdÑ] ù”ŒD*Y|bñ£ŒGÔâͤ›§âNŸwœÏáB }øŠjDtÿÀ¨@_ßÍã6¿iÀÍ76?Ë{&£[½·k5ýûs±¹±b©xˆÅBÈo÷‹É‰áªršœæ‡ÏSãåçæ§§ÙëÛ79`;çh°5Fظœpyë­Ÿû”É`Š%âa;sÊrìõí©k3[&li`?9|å啵ÃÖö1éÓà‡ìWöúö'æXplÁ‚ã vûìö°òhÁQP2È dlôl‚cƒ/Ä_°ä[æ–çˆ !k=×RßÞI¾óýõ﹪\ssU–jJQJyM9ŸÃ§ÒI“Ú9ÿƒ²vØÚû©÷÷†ï Ž 6Ó1Ë.Í.¬(d0ë<×Qœœ¬r-ñ!¤»~÷æh®c~rþÉÅ'/ ^ºÍ{ÛøãÛY!ÀÛ¿ JÆJ×jÇ”L367¶@T ©¦¹yÜfú ½Ømñ`ËÁ•u•ñùñ191å5å̘u ñ«À:ßâðìï+_ÇäÄVšj›þ>õwOÏ6iÀ38:÷hOޫή:þôxÇ ðV`H¥Ò®®”‰P(‰Dr:\ºÄóó$%%wø¦%RÉãÌÇ|¿»~÷:qÝ«ÂW©¤»~wU¦jƒž•u•éÅéR©ÔHˈz/™bd–dTè¨ëXéZÉÉXzqz^yž½¾=ýœ°ìÞÑݪêªbsc F?Ó~Í>;ÐIV®Büý…ò»ÙØØ´|LÜ¥¡ÂP¡ïV°™lÙ§pÐ`k4þáY0Ó13Ó1kIO ¾…ßB¶Evïh6§É4Ê÷_@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?@Ñ?Þ½¶õš8§Íý[»z—È-Ë]{aí€q÷ç¸ÃOãWT•ò@3ì¶_p|AWW$·,wÚ¡igž)ª,ª×¾*|µéÚ¦M×6uu]Ðøý[€wDܧq]¸ºl¹µ%_”ïnéþí˜o4n'ß^qý‘¨#SzNémÜ»««ƒÖÁõPå5åW^^á©ñvNÙiÉ·Tc©±óé°O !'cNvuuÐj¸þJæqæã}÷EeE•×”›é˜î>úýïk«k×Ô×8mui7òË‘_n¹µ%,=¬¤ª$öÓX ¶FDfÄŸþŒÊŽÕˆ 5 ÇØY9x%OG ˜Vœø íAFqS…Ù]¿ûìÞ³}zùB"³"g™E K ³ýÉ–ê8'p€ùBˆüa帕tkäþÄ‚DQÈDÛdˆÕ¥— xºƒœ‘åìf¯m½zö::÷h³ûÕ$ÙÕ—/½•t«qŸoÇ|;§Ïœf‹ì ÑÙÑõ’úá6õԵèÆIŽ“¾»þ]DFD'm:ò(“ÃO{ý[zÊarQò Æš¡k¨–ÒêRßþB‘Z”H$Ç¢}ú½JViÖ_…¥…œ’ÃæB–/K)J¡7/Ê_1h…œJšöMn%ÝZ¼”^L.JN.JÎ+ÏÛ9ugËGn¼›7Ô¶ý’ƒ¥Âê®ß½åE6°àø‚°´0ù›¸ºôªžM“_¥§Bè(:OYš)‘JT¸¢¯L?@i¤¾NýþÆ÷* •%–Ìpža¤e”]ššªÆR£û<Î|ÜǤÏ.Ÿ]= z¨³Ô3K27]Û¤¥¦õŸáÿñ´ñÔæhggüvÿ·Ë —F¤ÎĶz¶K,u5u5Õ6­®¯NÈOøêêWáK.u5uMúO’ýÏöÌšuˆÞJK†}“믮BÖ ]3Ãy†G'«4ëAÚêäÚò‘ìf“’³_LSþ¡þcú²‹Ù¥ÙóŽÍÛ0|ƒ«©k;w¿ÍDµ"Bˆ¶ºvƒvŽN^y^U]W•ÛÛ…N‚üJãìó³b‰øC÷é«6z6 ú@¶[cÏ´=ººÔâ™ggê%õßý~\qT‹m7ÛÿNúodVäµÄkÔ™rÓèM»îx[–[+®¥‡Ê.Í6×1o²’– û&†š†„ÉN“õyú„+]++]«ÖŽÜ`7›Ô†ýj’P$\x|áª!«ÆÚmÏî˸6xÓs¶xþVI!€ÒH.J&„Œ³'§£ÀQö¬üªð!dÕ¹U«Î­¢NTR"¥>0ƒRZ]êsÈ'·,·ñPÕuÕoÚJ³ÃʱØmqDfÄ„}†Yëiس§aOWSW6“ݪ‘ìfcmÛ¯Æ + [°bЊÉN“éÆöì~›iªiBJ«K´—V—2U˜òïyÁ[ù” ƒ!ï §ÃÑ‘]”H%„±Dܸ'uI $.$·,wt÷Ñ+=VZð-8,ƒÁøòê—Ç¢ÉÙJ³ÃÊÁSãž}8± ñQÆ£„ü„àØàו¯¿ý͇ -¹Án6Ö¶ýj ¸ªxÁñ ú-˜î<]¶½m»ßÎù| BHbA¢lcIU‰P$´Ð±À䥃üJƒ:3]N¸ÜàG«V98ëà`ËÁMvÈ(Î „|:ìSú´W+® O—íà Œzq}«†mVwýîôTÊN´öÂZ+muíöLiÉ~ÉWZ]ºðøÂÎ3æöÛ૎*²Uú˜ôa©°n%ß*«.£9÷âœT*u3sSXÐQ?@iLvš¼ûáî€ð±T<Ýyº¡¦aNiNhb¨*Kõ=·÷š\ej¯©Öœ[³vØZ+nÜn¥Õ¥iÅiã/ x‚ƒVkBþxôǪ!«t8:¯ ^ýzï×Ôש²ƒèpt^¾Ê(É0Õ6¥þÎnvX9{ñÙ¥Ï µ GØŽ°à[°™ì—/_¾ª× Ë…ÚêÚíYVKöKQhñ‰Åã{Œ_춸 GµÉ1Û9ÿCSMs¬ýØ ñVžYùí˜o 5 o'ßÞvg!dfï™íºò( +]«^¿¿ñ}ÀÀ€‡tû‡î¾iK¾åwc¿ûòê—Ÿ]þ¬ÁWË.'„x;zï ÛLµóÔx£ºº–xî9Ð|à…ø ^^Ô"õþùÃÊ‘Wžäß_¶ÑQàhÛͶ%·PKöKŽå!Ëcsccsc·ÞÙ*ÛN½ÿ££Šl­ Ã7<Ê|ô íÁˆ=#èÆy}çáå§Êù”ÉB×…Ýõ»ï{¼/:;ºª®ÊLÇlL÷1ïõoúâÅ×Å·‡A}û"2#^W¾ÖÕеä[Np˜@M¨4Ò2:2ûÈ–Û[žå=Sa¨ô3í·Þs=}Φ|>âózI}xFxiu)ý´…üaåØ2aKplðõW×S_§J‰ÔXËx¬ýØÅn‹é mYVKöKŽÂò;tH‘­e¤e² dÛm÷Rï‰jDæ|ó9}æÌë;¯ó¶‡'— U„B¡H$’ÓáÒ%žŸŸ ))Ya%@§Z¹R@ñ÷ÊïfcÓôÜá&aÂ0(î¿t°>¿ö)¯)oò+M5ÍèÕÑ ®à-„ë h¸þÐÁp… Y¸þІüІüІüІüІüІüІ÷€r+«.;yÀÙÈÙÓÆ“jÙýp·Ï`Z¯i]ZWGJ}z'åNYuY?Ó~ƒ-wu9ù”[YMÙŽû;æõGçßÃ~ïeØ«Só‡ÿ}SÓ©=§vÞ&('cNþñgJQ µ¸|àräx7àþ ¼k>tÿpšsç^üضóô³Óº ʃ´)E)–|KÄxÇàú¼k>ôAW—ÐafºÌüÄãk=ë+/¯*;ª¼¦Üœoîná®ÃÑÉ)Ë Ž –H%Å;îï ºùôò1Õ6íŒu·tïŒaºò(“¸Ü¸e!Ë DÔ¢>Oÿû±ß7è#;ÿ£^\¿ãþŽ‘v#_¼Ú¶‹ê°¤ÿ’ÒêÒÕçV?LH¯Åas¾õõtçéÔb¨àÓ Ÿ†¥…ѸªÜ-¶tãv£bGVi?˜h2œ~v:³$SþÍï7ŸÏá·ø¼#?@iTÔV,Y^ *°Òµò°òKÄwRî|vé³fWŒÎ޾þêú«!u–º CeiðÒ¸Ü8SmÓ!ÖC´ÕµÓ‹Ó¯¿º¾ñòFÛn¶½{×Kêß z/^ÏUåzÙzie—f?H{ðBøbVïY~~þüM´L|zùPã›h›4¹ÝÓÏNË&˜&Mp˜€üÿBÈ 4.Ä_Èå±²wú^êJU]Õücó_W¾–¿bQeÑ6ïm“&S‹—.ÇåÆy;zo¸•©Â¤ãr㦚¾ÿñþß&ÿv1þb¼0Þ®›Ý‘9Gè›2µ%ÆZÆ~~»Âv™óÍý<üäowjÏ©®¦®òûèjè6»ãïäPQYQ„•+©ðAá°9¹´4x©ü­t­èðA¡&rj°5¤R)!D*•J‰TK]+.7ŽžNÙ0|ƒìŒ®*×ÁÀ¡U+à]%…üJ£´º”Ò`¦…™ŽY³+ZêZÊ.R×KNÄœxSÿ’êBˆµžu›Êüæ¼ ò( mumBHVi–Ï€nlöOa2˜ÿ3G›2·Ï\=nÃ^ÔYê„uBHJQйŽy{ Æü€7Aþ¥Ñ×´oH\ˆÿ}ÙùôS--7È|PPLX*þxðÇ*Œ^ÃX *È-Ï%„ ²ôËí_\Œ]èp@Íÿ nÁ¨2UKªJšÝæ¼ ò(‰»÷Û½Ô{ãÿïaå!‘Jn'ß®ª«jí8'ˆ¿ñê!äUá+BHdV$õЯìïÝ(#äP\Uîži{–…,K}šú:•ÒÛmó¸Í+BV´j&ƒù—ï_.n¸™t3(&ˆnðÎF΄– kŸï¾UgWEdFœ{~Žú–§Æs8RŸ».ÞpiÃÙçg©Å7½ÿ£ýžç=§ß2By’õäIÖBˆìïÝ(#äP&½Œz]_vzÿ©@S0Òn¤T*õóð£råC÷é ",&ËÏïñLR>‡¿wúÞä¢äȬÈו¯u5t-ù–®¦®ôã¸<ƒ£sÆåÆEçDWÕU™ë˜»[ºSP!>½|œ e<*­*•é›ÞÿÑ~N†NM>å+»¿ÊˆA={ÐBB¡P$ÉépéÏÏO””¬°’ S­\) „øû åw³±±iù˜øý[P4äP4äP4äP4äP4äP4äP4äP4äP4äP4äP4üþ(·QÁ'g?m?z‘뢮®Ež÷N¾g­kýÅÈ/è–ä¢äÃOg”dT×U¯ó\×ǤO—–/Ê¿™tóNÊÒªÒIN“fõžÕ%eÀ¿ ò(·qMDfDwýî]]H3g>®®«¦Ó‹Ó½÷y׊k©Åâªâ.©ê‡?ˆ<@ÿiWe øBþP„}¾ûxj§{FêjèÊÉ  t”y“ªº*ùºò(sÏÏÕŠk»-¦OÒ&¬¿¸þTÜ)ºÏ™ggªë«é „1öcŒ4~»ÿÛ‰˜›FojbÜÿçeç¥ÏÓ‰ ùxðÇ ƒ’Q’‘1¾ÇxŽ!äÌó3E•Ek‡­]1h½Öøã‡ý>ìÔ³StþéáY‡ßtLJÏá0Àçð !nfnj,5ªÝÅØ%$.dÍÐ5T^‰ÊŽz!|ñ‘ûGt‡Æ>þYYM™üƒ†‹ðvBþ¥ñ²à%!d†ó ÙÆÎ3dóGB~!d–Ëÿ¼ÄbvŸÙ¿Ýÿ-^/|&ƒéÓÓgOøži<¬<!'cNJ¥R__ªÃÓœ§„k‰×ÂÒègV¥DJ}H.J¦Çé¡ß£Ùé&-ì·pÍù5â/P;ÈRaÍí;WÎ*mØ À[ù”Fu}5!DK]K¶Q[][v±¦¾†B]®íÃ`0¨¯äóuñÝûhoPl‡•‡X">wÊTÛÔÝÂú¶²¶’“ÓxEU–*ýÙPÓ°…{$k¼ÃøŸnýtäÉ‘Î3^W¾¾œpy\qòç‡bþ(/äP\BÈsásÙ|\^ÜÿôáBbsc-ø²}¤R©@SÐì&,øn¦nׯ•T•DeGå‹òW YEÝ‹!„iB6ÞdÛͶÁŠ,•þ9¥û· K…5§ÏœÿÞûïÓœ§áéáµâÚEn‹ä¯‚ù ¼?@i ±øÓÍŸlôl¨çDò¶ßùŸù§C­‡‰:òËí_ºÿ_{w×ĵöü„$„@ „-²ï ŠàqWÜ-u½^«Þ*Õ[kÕ^µt±›Ý\±^[7Dµ.Õ*î " ˆˆ ûŽì‹QÖ$ïÓ;Í‹ö`ìïû¹dÎÙar7PW]×Ïњβnäºvã»?ÿãzÖõýw÷Bªª !gM*N"„¼þ¿§Ê¿ Jƒ©ÂÜ?{ÿ(›Q­’ÖŒŠŒìªìáæÃ¿œô¥l ƒÁØ7kßl—ÙDJ²«²ÓËÓÅñ8»qGŽª±Ô:²‹3ÅqJAmX*¦gžÒ¾˜ðŦћ x…µ…IÅIÙUÙ©dRÿI~Ž~=rŒÔY߀g0±ÿÄéP¾Šgq…qq…qY•Y„ÒúRj1¯:O{‡¿3ý³CQVªš IDATV&‰ä\¸À feeˉén¢²’º¡¦ÐH˨©µé~É}¡¦PöÍ]„gÍÏrªr$Db®mÞf:j»ªŸWgVfB› –ØA“J¥ùµùÕÏ«uÔuŒµŒÙL6Õ.‘Jâ ã\Á‹¿‡_Ïãð þ¼b‘Q‘QÓP3Ätˆ ãÿýø¨ìÑÔ_§®ñ^³jĪNåÜ5å¢òÜêÜÛ_Oø;[½ZHÙ¹³L~˜µµuÇûÄýP>BžPÈûs2)‡Åñ4ó|1FCUÃÙйkýë¨ë¼´OƒÁ°X¼x†Va¨¼jÃ6¿ÿòÒìKÄ_^ûR…¡2Çu΋k{ƒϯ`‡>úþF–E,{Öô쥫48ûgïWp>´´ò´Ï"?+¬+,­/Ø"]]¼©PÀßHBaÂÓ¦§/]¥ÉÑTp2²êë©'i­t­6ùnêÃLõü$­Mêë^ÎÓÌ3kCV_g 8xþ õ(êP4Ô h¨?@ÑP€¢¡þECýІú”LHbȸýã¾u°ùÊæZÖµ[9·l¾²ù5þW:Àù;瀀>ÌPéÕÙ|eóÉåO°/|}@AýÊäFö­—·æTå´ˆ[ú:—¿5ûoì_ØÙ­óõu-7P0¼”Éõ¬ë„ÓwŒ³ÇRùó_0¼¹\Yà뮀2©xVAñµñ¥Ï^ Dðõ ÿ噹òÔJêó€íÚ¬ýxôÇK†,yÕ¶q…qÿ½ûßÄâDQ“¨Ÿf¿ñöãWXÍãð!M­MNÛÆØŽùtü§Û®n‹Êj7»»mµÑAè@÷W“’r;ïvAMS…i§o÷öÀ·g:ϤÖÒl³ùó«ŸÇæÇ2U˜£mFo»ECU#:7ú§èŸÒËÓyž¿‹ÿûÞï«0T:’[/‘H%¿Äýrüþñâúâ~šýÜ&öŸØ&FÎñ&%Ì;:“có• âiæ)g«^úúÚxUnvá ¢¿ÖÿŒùÏW¿ˆÍKÄî¦îŽüPöÿÐ5¨?à šºåò©TJ-Õˆ;“¶ ŒËæRõõsÎ-¬-¤còb_ùn¤€+ ZÞx7§*‡î3©8)©8©\T¾bØ º±®±n^ȼÒúRjñdÊÉÚ†Ú¹ç®<µR,BZvÇìÖQ×Y侨㹵±ðøÂ˜¼ù‡|iÙ%k]ëW­ÝzykhR(õ¹°¶ðëë_§>ImÓ‘ã}Q×¶’¯ Cô*]ø‚¨­æ™[&*£oåÜJ(L81ÿJnBýÊa¬Ýج Y+N®¸’y%u]*‡Å¡ÚoåÜúGØ?^µUamaPdGkè >Ö>|.¿ ¦à§èŸ.¦_<”pˆ>/ÆÆy˜zü4í'[=Û2QÙ–K[bòbΤžY쾘 °ÑµYæ¹ÌÝÄÝ„oÒØÚ˜^ž¾åÒ–àØàeC—1L*&¾0~„ňŸgÿl©c™Q‘ø[àÕ¬« E ‹Ý/r_¤ÍÕ¾–uíƒsˆ;@Þ:˜[ÏzPú 4)”Çám³y´ÍèVIëÿøòÚ—mÂ䯻‰{Ö†,ûoì=Í<Ï;ÜÁ­zõ룽*·¦Ö&Òù/ˆ_?Ðhàž™{ìôíJêK~¸õÃÿŠ :>ÿx—¾øêx“ýöð·VIëç>§o1ØèÙü8õÇ„¢„ÈŒHú&à ~žý3uIßB`±yÌæ‰ÿ˜^žN÷4.hï½Áw‚KëK›ÅÍt{q]±™¶õYG]g﬽êluBˆ‹¡ËR¥A‘AƒMoôÝHø9øI=s=ëzCK—Íí`nm´9åw֥Ǘ!ú|8ËyÕ2ÐüºÆºný Ö‘ã}Q×¶’£kCô*ý‚¨Fu¶ú¾ÙûtÕu !ÖºÖ?NûqòÉ E •Ï*õ4ôºpP@Aýo²ÌÊLBÈš³kÖœ]C]×)õAt˜S?'Ùù¦Ú¦„Q“ˆZ¬k¬›yx&}Ý^VcKã_¨sŘoLñ0õ7Ò4"„T>«4Õ6í`n=+¿&Ÿâmé-Ûø–å[²õG·®m%_ÏQg¿ ªÅQèH– k˜ù°ìªìüš|ÔÝúÞd©„BÝÝoCöt5–šìª6ç¶“)'KëKÇÙ[íµÚ\`Îeq ÆæK›éYúž‚œFƒAgÕÁÜÚèþüvuðx{d+ùº6D¯ÒÙ/H>*º õ¼É¨Óð¡y‡FXŒèr'5„F~@ŸÔ›Åͱù±¯Cne.0'„DåF½ãöÝx+÷–lLGŽ—A­âÖÎnÕY]¢sëŽGeªžWÑ—@Z%­wòïBºvG h¨?àM6ÃyFðàŸý÷º‘ë¼,½ô4ôêëòjò~Oû]Èvp‘–!dÿÝýk¼×hsµ3+2ˆú!·:·Orëæüñöã÷ÅîûöÆ·j,µÑ6£ÅRñÅô‹{böÈÆtäxµ¹Ú™•™µ&|êiÕÞ¥® Ñ‹¹uÇó–çË#–o³™žš]•ín⎛/Ý„úÞd‹Ï&|¶ùÒæ7¶Yµ|èòv2ÅqÊî˜Ý""DP-<o¬ÝØÈŒÈ>Ï­³\ ]Þv{;4)ô£ß?¢ýüΧ§;r¼C͆žO;ïìK-†„ôÆ(udˆ–œX•u|þqw÷Wå6Ðh`—sb:$¿&ÖáYt‹:[}ëØ­]î(xÿ)¼áü]ýÄû9øð X*,ž‡©Gи •ÃVv°C-ãoj>”Çái©i²¾ ¼G.¿w?·.´aÔ ›É6᛬¹nÏ:Ù€ŽïÇ£?ž`?A›«MOƒè¥Q꽘[wðÕøÇç÷µñåqxêluoKï ðòÀ _êÐeee"‘HNÀ… ¼À@aVV¶ÂRè ôûOƒg÷u.}lõj!!dçÎ2ùaÖÖ˜õŒë h¨?@ÑP€¢áù€—à°8Y²ú:‹7®€¢¡þECýІú õ(êP4Ô h¨?”I}cýŽè7²oôu"Ý‚ú@™Ô7¡þ€7êP4Ô høýPb©x÷íÝVºV~~ÙUÙ1y15 5+‡­<šx”Ãâ¸Pa-â–½wöBþéùOu¶:Õ–V×X·Ìs™"c3Ù„‡O&'‰šEBžp¤õH]u]Ùm«ŸWÇÆÔ°˜,;=»aØ ¦lÀ³ægW3¯–Ô—ôÓì7Önloä x¨?@i´Š[wDïc;&³"swÌnªq©ÇҸ¸Ù7¦˜NU E ;¢wBôàkãKi7ù©§™ç«êÓOÖÊßû‚Á \A§«k¬[{víü;t$—ÍÝ:vël—ÙÔâgW> M m7Ó‹ýsö[êXR‹)¥)ïž|·BTA-êóô?Ÿð¹ü<”êP2IÅIW2¯x[z;ÔXjl&ÛËÂ+2#26?–ª6¢s£ÕÙê\67*7Šj‰/Œolmô²ôzUŸ§žŽÉ‹‘¿ßÉ“_U¼41†Ê²ˆe)¥)&|o+o¾?¿&ÿJæ•M7ÙèÙ 4H‰Ê2฻ó›Z›ÒÊÓbóc×ÿ¾>|A8!äYó³å'—Wˆ*,u,½,½ÄñÍœ›/lì ¼nP€’©z^õÝ”ï¦9M£[¨Â":7šª6¢r£†šÕähFçFSÔ9õÇŒ3ÜMÜåïWG]§S‰]L¿˜Rš2ÅqÊv¿íL•?o©¤”¦Ì><û×ø_šö!$h\•®Ul~li}©*SÕÃÔ£òYeRqRMC€+8Ÿv¾\Tîméýó쟩[9 - BT?¯–Ÿ Àëõ(KKÙâƒb.07Õ6΋&„Ô4Ô¤•§Ív™ÍSåI=SR_b¤emÀ3°Õ³}UŸ3ÌèñÄnçÝ&„¨³Õƒcƒ¥R)!D*•J‰TKM+¥4…й_rɉ%­’Ö6]U=«p‰E‰„Õ^«©âƒÂesßþÞ²ˆ^™Å H¨?@ÉXèX¼ØèeéšZ\WœXœ(•J½-½5T5!ѹѣmG§W¤Owš.§ÏnÎÿxibÔUŠÉ'^›ûÝÍïT™ªclǘ ÌÕUÕ„••Tœ$‘J!uu„¾‰ìV¦Ú¦òóP ¨?@É´y<„2ÂbDhRht^tbQ¢1ߘš¿i§o•Åaq¤R©œ›/¤‡æ´IŒÏåBÞq{GWC·M¤Kr=û:!d׌]Ôm#JZyÚ_=¨ñ !EuE<º±Ý: @) þ€7ÁpóáLfTNTRq’µÕ8ÂbÄ釧U™ªT€œÍ{dþGÃ̆…'‡‹¥âU#V©0þzÙR…¨¢ôi)!„Á`Bx½*6?öZæ5zqÉ “)'wFï”ÿA?_ ÔPÀ›@KMk€pÀÕ¬«-âo+oªÑÛÒû×ø_/¤_èoÐ_Ÿ§/gó™ÿÑÆdÇÉ¿<*7j¸Åp]uÝúÆú¼š¼¸‚¸¥K] ]ÜŒÜ!Ë#–O°Ÿ PdVfÞ̾©£®Sù¬’êÁÏÁ裡Ÿ¢r£&˜äeé%‘JndßhhièñTõ¼!¼­¼“K“™*ÌaæÃ¨3U¦j³¸y„ÅÅçÃd0øøè÷®e] O§Û…<¡‹¡ !d¼ýø)ŽSÎ=:þàϵs\çhªjþÿ µ¨¡ª±oÖ¾wO¾›[›[KÑÓÐÛ6qÛŠ“+~4= õ( “èh¥kõÒµÓœ¦©0T\5m‚¢ÆRÛ2vK¹¨|‚ý„>ILÀü<ûçìªì„¢„êçÕ:ê: wwúqܦþàððÉCƒ1Øx°³¡stn4ã§Œ8:_y÷ õþS¡¦pŒí©TèHU0Ê‹A=ÐAeee"‘HNÀ… ¼À@aVV¶ÂR€^µzµ²sg™ü0kkëŽ÷‰ßŸECýІú õ(êP4Ô h¨?@ÑP€¢¡þECýІú õ(·qK@HÀ÷·¾ïëDþT!ª 8˜p°¯x­¡þe² tÁ¶«Ûd[$RI\a\FEF_¥ÔF“¸)®0.¯:¯¯x­±ú:€Nˆ+Œc0}t®€¢áú(‡Çƒ.‰%â‡O„P›Çn¶Ò±¢>‹%â°ä°¨Ü¨fq³›±Û¢Á‹xµªEܲèø"wS÷@¯À÷OÜÉ¿SÓPsÀÿ€K­®±.âADRq’¨Y$ä ÇÛ÷µñ¥w*–ˆoä܈Î.¨)`ª0íôíf9ϲԱ”M,¹$9,9¬¸¾ØPËp®ë\= =…Œ€rCýÊáiÓÓ¸Â8BH}c=õúL}H%+O­¼–uZ¼‘}ãòãË #ØL6ù߇·äÄ’;ùw¨˜VqkRYÒ»ïÖ4ÔÐ{9™rrŽëœ/'~I- ¸Wt^{-ëÚ/q¿ì𱋮Q"Dlº¸I"•P‹§RN}ðÖ½3oÔ ìõíCB„.p0pØ4zÕè`à@}¸•sK›«ýѨlõlËDe{bö¤–¥^H¿0ÍiÝíœ[<oÝÈuB5–šX"^qrEmcíôÓ}¬}øjü‚Ú‚ƒñÓÇ™ ›ê4•"jMsš6Ätˆ ߤ±µ1­,í`ÂÁ È ªþ(©/Ùri‹D*™é<ÓׯW,_L¿øú<‰ð:CýÊA“£éiæÉ`0ø\¾§™'ÝÞÔÚDa©°Bß ¥ïŒ˜k›ÏŸXœ([H‰ôȼ#Â?K–£‰G«žW­¹nŰt̤þ“Fîyêá)ªþ ¹[p÷fÎÍK/5‹›¥R)‡Å)®+~òôI?Í~gSÏ6‹›— Yòñè©Í';L^ÿûúS)§zy0”êx8:ËNËÐo!¤æylLýþtñA¹_rŸ™“#•J !R"¥>dWeBÄRñÚ³k£r£^ÜÝÓ¦§ý4û=®xL™ã2GvÕ—9¨?Ú…úÞ|5¾ì"=íC¶±Ÿf?ÙÅçÍÏ !É¥É/ö¦ÊR%„œK=•e.0Ÿ?h¾¹À\­Î`0ß;|éñ%ªLilm$„h©iÉÉ^ õ()¡Îý]ÐæÅ!†Z†„ qA6z6m"Y*,ò¿Òd׌]ô,BÈ·~ ?hBRËRe+›”')]Kàoïÿe¢ÁÑ(ª+jsa£kÆÛ'„œI=c¨eèiæIýÏÝÔ½¦¡æÉÓ'„m®6!$±(‘Šo•´îˆÞ‘P”@÷àmåMùêÚWy5yTKzyú÷71ÿ }¸þÊÄQè›ë³×ǘoÌ Ù÷t–‡©Ç×9áÉá¾Á¾¦Ú¦zzõõEuEM­Mˇ.Ÿì0ÙÇÊg÷íÝ[/o=w@ .ȫΫoªw:¥–¥R=Œ²åfì–Tœ4aÿ+]+±DœW“g¯o_&*ë¹#x3áú(“}>Ôçé—Ô—ÄÆÇÆÑïÿèš/&|±iô&žAamaRqRvU¶D*™Ô’Ÿ£!ÄÕÈuëØ­\6· ¶ ¹$™Á`|=éë¡æCéÍ™*Ìý³÷²Õ*iͨÈÈ®Ên>üËI_v÷ þ]¾“ Oeee"‘HNÀ… ¼À@aVVv/% –г*³êë%R‰ƒË/ŒpvúvtŒD*‰/Œ×Q×±Õ³¥ÛÄФRi~m~õójuc-cjî*­¡¥!·:—A6z6l&» ¶ ´¾ÔÅÐ…ËæÒ1e¢²’º¡¦ÐH˨©µé~É}¡¦ÐB`ÑK# `«W !;w¶saÏÚÚºã}¢þ€Îéóú¬7êÜECýІú õ(êP4Ô h¨?@ÑP€¢¡þECýІú õ!„8ç Ûž>ñ¿¶;Ù|es-ëZ_%ðFBýð±ù±/n̬Ìljmêë\zžý7ö /ìë,àoÕ× ¼R>H‘]¼’y…²cúŽqvãX*ø§ ‡áúÀKøà:[Ýù;gç~ÎÇÞ9™¹òÔJª«ÛB µ Ÿ7?7à\üçEÙ]—‹Ê½w{¿eýÖþÙû{ãe³ýüêç±ù±Læh›Ñ[ÆnÑPÕˆÎþ)ú§ôòt‡çïâÿ¾÷û*Œ¿þ¤|Õ $%Ì;:“có• âiæ™W“’r;ïvAMS…i§o÷öÀ·g:ÏìC@ýÊËæNv˜––RšâlèL·ŸJ9Õ*iõwõ§C“B·\Þ"•J©Å¢º¢qbòb„qÙ\ª±®±Îÿˆ™¨ŒZ”H$íîÚÏÁoÿÝýq…q¦tûñûÇÅRñ¢Á‹^µáÂã còbäw~iÙ%k]k9uuóBæ•Ö—R‹'SNÖ6ÔÎ8wå©•b‰˜ÒÐÒ°;f·ŽºÎ"÷?3‘3rvônÄ»9U9ôbRqRRqR¹¨|Űò  P€Ò˜;pnXrXøƒpÙú#âA„6W{¬íXBHamaPdGkè >Ö>|.¿ ¦à§èŸ.¦_<”pˆ>ÆÆ»»íž¹»¿A5–Z›½Œµ›µ!kÅÉW2¯¤®Kå°8„âºâ_â9zï(]ˆ¥âã÷ÛèÙxYzõêQÇưñóìŸ-u,3*2 ¼šu5¡(a±ûâEî‹´¹Úײ®}pîƒq¨ú£ÝAÈÚeÿ½§™çáy‡ewd£k³Ìs™»‰» ߤ±µ1½<}Ë¥-Á±Áˆ.c2˜½zŒð7„ú”†«¡«½¾ý¹Gç6ÞDÕ ÷ŠîeWe/²„ÍdB~{ø[«¤õó ŸOì?‘ÚÄFÏæÇ©?&%DfDÒõ‡:[}߬}:ê:ßµ1ßxŒí˜Ë—ËEå<BHdFd¹¨|ÕˆUr¶js‚ïu½³öª³Õ !.†.K=–E 6¼Ñw#àçàw&õÌõ¬ë - \6·ƒƒð¢ qA{ïì ¾\Z_Ú,n¦Û‹ëŠÍ´Íº ²P€2™ã:çó+Ÿÿ‘þÇôÓ !á !ôÍ—ÌÊLBÈš³kÖœ]CÝ})õAt'ŽBÇN”Eî‹.=¾tâþ‰Õ^« !Gîá«ñg ˜ÑG%—“Љ*>(Æ|cBˆìm Bˆ‘¦!¤òY¥©¶i¡ºÆº™‡gÒwyd5¶4öÌ‘È@ýÊdºÓôo®–6}ÀôgÍÏ~Oû} Ñ@[=[j­D*!„P³"Úýƒ^›«Ý…]{˜z88¿ü_#þ•Ww·àî2Ïeôœ’—ê‘ùÔ ù ƒüïð;8mœL9YZ_:ÎnÜj¯Õæs.‹Ë`06_Úš*?€®AýÊD›«=ÎnÜù´óy5yw î6´4Ð?!Ô‰üмC#,FôÆÞ^¸ñâÆ+Wb b™*Ìùƒæ÷Æ^º©#ƒÀ ŒVq«lKAM!䃑ÐÅP³¸96?¶73…¿5Ô dü]ýϧxq'ï—Íõsô£WÍpž|'øßgÿ½nä:/K/= ½ºÆº¼š¼ßÓ~ò„ÝŽcªÓÔon|s î@FeÆÛ1Ô­9zdþGgud´¹Ú™•™µ&|ê©]#-#BÈþ»û×x¯ÑæjgVdþõCnu®âó‡¿ Ô d†™3Õ6=šxTÔ$šã:Gvn„…Àâ³ Ÿm¾´yãÅm¶Z>ty÷wÍaqæ œ·÷Î^BÈb÷ÅÝï°7td†š =ŸvÞ7Ø—Z ™â8ewÌîˆ"¨F‡7ÖnldF¤Â2‡¿¼ÿ” ƒÁðwõ5‰!þ.þmÖú»ú‡/÷sð3à°TX<S qA+‡­ì‘½¸B †˜é‘{C»ƒðñè'ØOÐæjSG!†Z†Gß>:Ô|(ÃÓRÓe3*|A8{Þà_PÐeee"‘HNÀ… ¼À@aVV¶ÂRR¤+™WVœ\ñåÄ/ç¸Îéë\dõj!!dçÎ2ùaÖÖòfR·ë•[»íê6u¶údÇÉ} €rÃü€öÝ-¸ûαw¨Ïï}WvÒ tꀎÒähNè?á}¯÷û:¥‡ú }žfžY²ú: €7怢¡þECýІú õ(êP4Ô h¨?@Ñðþ1BqþÎÙ¹Ÿó±wŽQ‹¢&ÑôƒÓójò¨ÅŸgÿìkãÛSwÄÎè&Ú&3ÌèòN{V¡³–E,»žu½Mãd‡É?Mû‰^ KûoÜsªr¨ÅåC—èó¡l|^MÞúóë‹eûôß5c—…À¢Wò†.Aý@!ÿþ/ž½x,éX^Mž›±ÛP³¡l&ÛRDz;ïˆ]1»<Í<_ŸúCaVX¥ÂøëÚ¼¾ìÚÛy·sªr,Æ|ãÛy·_ܼ¸®8±8Ñ„oâbèbÌ7®~^ýÇã?ÒËÓ—†-½´ìKg½×¾ BY9l¥ìbfe&!d߬}:ê:=Þ9ȱÚk5“Á|ÕÚ¹®sß÷zßJ×êǼ´þ°Ô± [6ÈxݲÆ{ÍŒC3òkò †š핤¡óP€rhhiØw¿¹À|šÓ4Ùv©T¬ÅÑzgÐ;tãÃ'“Š“DÍ"!O8Òz¤®º.Õ.–ŠwßÞm¥kåçà—]•“SÓP³rØJ6“½÷Î^žÁ,çYÙUÙ¿§ýž\šL9˜p¥ÂRc©5¶6ši›M0]vש$øN°6W;À-@~òtç/æÝ,nv3vs7q§‚KêK"DH¤’‚š‚Ñ;¨Æ™Î3Mø&]8ºEî‹%êȸU?¯Ž+Œ+¨)`1YvzvÃ,†É©úÊp‹áòŒ´ŒŒ´Œd[ µ ÇÛI ©m¬íÍÔ sP€rಹW3¯æT猱£¡ªA·ßÉ¿óÝÍï–]N-V>«\{víü;²n»u¶ËlBH«¸uGôŽ1¶c2+2wÇ즖z,e3Ù{bö8÷sžå<+§*‡>ëï‰ÙC±ÒµÒU×Ý»ÏÇÚG›«M÷|3ûæ÷·¾_ûÖÚv“§;—Í¡¸®xûÍíR©”Šñwõß6q!¤Tg·¿IDAT¤¾„J ¨®ˆÎÄÓÌÓ„oÒµ£ëȸ}vå³Ð¤Ðfq3`!°Ø?gÇo<~xº°¶P~Ì‚Á \ü˜ëY׳*³¸l®S?§Áƃ F£êy!ÄÁÀ¡û]AOAýJÃßÕëå­çÓÎÏuK7†?'„ÌqCKÄË"–¥”¦˜ðM¼­¼ùjüüšü+™W6]Üd£g3Ðh µIRqÒ•Ì+Þ–ÞB5–›É–Ý‹•®U Wàù´ó9U9ÿþ/– KÀèóôW^ñ ⟞ÿ¤#C’BT™ªo|» Çr¿äþµ¬k#­FÚêÙ–‰Ê.¤]Kósðn1ÜHË(Ð+pçíÆZÆ3gRñÆ|ã.]»ãF‰Ê2฻ó›Z›ÒÊÓbóc×ÿ¾>|AxèôÃÓ1y1òc&;Ln·þXqrýÙAèðãÔ­u­;˜ÃKÝ/¹™9ÅqйÀ¼;ý@ÏBýJcšÓ´¯®–FŸGëë.g\ö0õ m¸œq9¥4eŠã”í~Û™*Þ;H)M™}xö¯ñ¿ÒQT=¯únÊwmîGЬu­½•=Ê©Êyoø{‡"–ˆ´ŒŽ%[ê±”ú‹¼¨®èVέftm‚HÕóª½3÷ޱC-z[zxþÃÙ7èúcwÌn3Y W ½ÉÅô‹];ºvÇ4.ÈJ×*6?¶´¾T•©êaêQù¬2©8©¦¡¦ÝŠ2cÀ úÒ«´;V&|“Á&ƒ…šÂÒúÒkY×ÒÊÒ†.¼´ìÃëH/*¬-\yj¥¹ÀüÓñŸv­è%¨?@ið8¼ öN?ªÉÑìfzгP€2ñwõ?ýðtøƒðGL ®Éќе¶úy5!äDò ùXèXta×sÎÝy{çÑÄ£oY½Õ,nOb:ÄQèØ…®!†Z†²‹êluBÈ‹§YÝ9:ùã›ûÝÍïT™ªclǘ ÌÕUÕ„••Tœ$‘J:xDÝŸÿábè"»ÈWã¿7â½úWjYjsõ ôÁ?Âþ¡£®sôí£}øõ(“!¦C¬t­N?<½ÞgýãŠÇieiï zG¥F­åsù„wÜÞÑÕÐm³!CéÚc|5þ4§iaÉaÅuÅq…qÔ£%]=Ž®èÎÑÉ·ëÙ× !»fì’}ÇZZyZ§Òë©ù="&/fÅÉF|£#óŽèóô°Gè,Ô dæ¸Ìùúú×W2¯ÄÄBdo" 3ž.–ŠÛ¼ÃªBTQú´´û»^ä¾èøýã¡÷CïäÝ1Ò2k;¶û}¾Š*Sµ¶áÿ=/ÚÍ£“3nÔŒÙ9±ù±×2¯u*ánÎÿ(®+nlm”jZ×X·ûönÒùçV.=¾´æì+«Ão¦N†× êP23g~wó»#÷ޤ•§988 èU“'L8xüþñ¨Ü¨áÃuÕuëëójòâ â–z,msy¿ lõl‡[ ?”p¨¡¥á£QÑ“@{ƒ…ŽÅ£²GœûÀTÛT…¡2Óyf7Nθ¹¹B–G,Ÿ`?A .Ȭ̼™}SG]§òYeÇîæüìªì¥áK²Öµp¥OK¯f^}ÖüLŸ§O=·LI-K½šy•üïq E Ô#Ê.†.ÔšøÂøÀ3©dˆéÄÙ]¼eõý”ô9Ô dtÕuGÛŽ¾ôø!dîÀ¹²«˜ æÿýþѵ¬káÉ=8*ä »_|P»/ŽÉ‹á²¹²×zÃ÷%]øèLêj‘zÿGwŽNθ·?ÅqʹG稇r !s\çhªjþÿKO{ŒùÆöúö÷ŠîÝ+ºG7:¾Ÿò½–šÝ’ú$•~' !„ŽŸ?h>U”Ô—ˆ%bBÈÑÄ£mv¡ÉÑDýñú@ýÊgÕˆUöúö„©ŽSÛ¬p?Ïþ9»*;¡(¡úyµŽºŽ…ÀÂÝĺVÁb²½­t­^ì³ÍO´ø9ú9 Y̶ÿHRN§˜ÎWãwyÈ`0v6tŽÎæqxô\“.ü„M§XëZŸÿÇùÔ²ÔGOU>¯Ôäh::»º¶ sêç$ûL2®Àìõí_@q3vëÙœ¡;ô«÷:¢¬¬L$É ¸p(ÌÊÊVXJŠôÉåOŽ&=»äl—Ÿ|P:«W !;w–ɳ¶îÄ›âpý }EuE§RNåVçž{tÎÕȵMñ|'XöÍå²T™ª+†­xé*€¿3Ôí+®+¦¦¨2U7ùnj³v_ì¾§MO_º¡&GõÀ‹P´Ï˜oè¨ÉÑôµñ}ñgD–].çúGïg |P´Ï„oòªY„\áè,•öCzêP4Ô h¨?@ÑP€¢¡þECýІ÷BÈ?Âþa¥cõŸ1ÿ¡[²«²Ü;RP[ÐØÒø¡Ï‡øõ²Þ#–ˆO¥œŠÊzÚôÔ\`>wà\ç°ýæöÄ¢Ä6Ã̇­öZÝã1ŠÉö5‡ú€Bâ ã[éÅüšü)¿L¡ßjZÓPÓGyýeAè‡M£7µÛ¨\šZ›–œXWG-FåF…&…~=ùëé¦+2Çéhú<ýÞˆé>Åì¥W¡þ „_üáqxôbøƒðfqób÷Å>Ö>l&›úÙú¾WÇ`0:Ò¨\vÞÞW×O³ßj¯Õ†š†7²oI<²éâ&3#-#'sxÞa¦ “^ÔU×í½˜îSÌ^z êBb:Dv±¨¶ˆ²ö­µª}”ÑßB«¤õXÒ1¦ óмCÖºÖ„·¬Þb0‡K:¶nä:çãiîÉd0Ó}ŠÙK/AýÊ¡¡¥aùÉåÖºÖ[Çn•molm\qr……Àâ“qŸP-uu"’Š“DÍ"!O8Þ~¼¯/µªEܲèø"wS÷@¯À÷OÜÉ¿SÓPsÀÿ€Kžÿ‘P”ðýÍï3*3!ÿ ÿ'ƒ0tÔuDÍ"smó ñAmRZqr…žÍæ1›ådNïtÕˆUÇ’ŽÅæÇJ¤’Á&ƒ ^ ÎV§ÃÄñœѹÑ5L¦¾Ý,çY–:–„ǃ.‰%â‡O„Pñþ®þaÉam7ÝLÍœèì Ï ^±ÜÝÔý}¯÷Òâr£šÅÍnÆn‹/’½,Ôã’K’ëë½-½©âƒ²Ø}ñ¡„C·rnQõÇá{‡ÿHÿcÁàûO¤c‚ïßʹµ|Øò‘V#å^»Ã«xÊ•m/AýÊËærXœÄežËd/Ë_z|):7ÚÇÚ‡ZL*Nz7â]Ùé'SNÎqóåÄ/ !©$®0ŽÇá-9±äNþ* UÜJXÍÿ¨y^CßY/Œ'„XéZ9 ŽÝ?¶Äc‰…À‚îù죳·ónOqœ"?sÙÞ-¸K5^˺v*åÔñùÇ\Õp,à^Ñ=z«kY×~‰ûe׌]¾6¾O›žR)Õ7ÖÓ¹°ñbc}c}סYÜL5®<µòZÖ5ªñFöË/G,Œ`3Ù¯:ºmW·=|òPþlŸ²ýUwR²ª²!®F®²¦Ú¦Ú\휪jq–ó¬Äõ¿¯·Õ³µÑ³!„\ɼ²ýæv_ß·,ßjwô:@ùêÚWY•Y\6שŸÓÌ3 µ _̹û1ŠÌöµ…ú”†¿‹ÿõ¬ë'œ”ä–¦ÊTî4"j­8¹¢¶±vú€é>Ö>|5~AmÁÁøƒáÉáÃ̆MušJmr+çÃ[7rƒÐA¥Æese÷ânêòý­ïïÝ;8÷ ›ÉVc©I‰ôÜ£s!‰!þ˜Ž I ÑQ×i·þÝézŸõ¶z¶¥OK÷ßÝŸ]•ýù•Ï¿›ò jMsš6Ätˆ ߤ±µ1­,í`ÂÁ È __{}û€6SMMø&î&îm º6Ô•˜[9·´¹ÚúÈV϶LT¶'fOjYê…ô Óœ¦½ê¸Ò+Ò_œÙFCKëVÕ<¯!/›8iÀ3ȨÈhhiಹª»gìžqhÆ{§ß;½øt…¨âÃóšðM¾õû–žû"gô:@ù5þWêÃåŒËÁw‚¿õûv‚ý„6¹u?F‘Ù¾¶P€ÒðµõÕçéŸL9¹jÄ*êÄSP[W7©ÿ$m®6!ä·ÔߪžW­¹nŰôV“úO¹g䩇§èS¯”HÌ;â |ùž®ÀÓÌ“º,1Ät‡Å¡Ú]\O¦œü÷[ÿ¦ê•ÄâÄGeÞþ Ÿ”HÏ;ì(t¤'öŸ8ö籿§ýþلϨsH@ÈÝ‚»7sn^z|©YÜ,•J9,Nq]ñ“§Oúiöó4ód0|.ßÓÌ“îÓ˜oübãÑÄ£]„¦Ö&BK…úN(}ß\Û|~èüÄâD9õÇÆQë›ê廜i¤b©˜òâ$ª¥UÒJ-ÚèÙl›¸míÙµëϯϯÍo7ïž¹›¯Æ§ãå^GØ*ìfx˜yð JëK{ø[BQÂÚ³k–9™j›R{é©ÅdûšCýJƒÉ`Î0s_ì¾Ûy·½,½!aÉaR©ÔßÕŸ ¸_rŸ™“#•J !R"¥>dWeÓýô×ïÿªâCŽEƒýûܿϧŸã2‡’ÂRa½3ènî`à@„W0ÆvLăˆ¬Ê,C±T¼öìڨܨ7|Úô”:åtPwÁÙÐYv’Á€~Èÿ.Q¼ò¸:?’²¨ÚëYó³6íT‹ºê_óc¦8NI,No~NI.M~qCU–*ý¹S§sÚ$‡I_]ÿêè½£s\æT?¯¾˜~qbÿ‰<ƒn®¥¦Õ¦…úóºðp.õ\Tn”¹À|þ ùæsu¶:ƒÁ8|ïð¥Ç—¨Ò¡ãº3²W!Ô´‰T"gwÝœÿAµçÕäÉ66µ6•Ô—yÂ6×ET™ª„†Š•®•l{»£×‘á}ñA§Ù.³Ï§Ï¯É§[z$FaÙ¾æP€21˜1™YÛP›XœX.*_㽆ž@Í¿ DÍR”ÅRù럻®½0ƒ¥Â p ø1êÇû%÷cóc›ÅÍ‹‡,îøæ-âÙ‰œ)¥)„¡¦ü¯\Ø5c—ì{?¸õÃÿëBJ^R‹¼ÐØ«ƒð¢nÎÿp1t!„Ü̾)–ˆéWYDåFµJZ]Œ\d#/g\>wÀËÒëᓇ¿ž]rVOCZÕîèuhx_Pú´”ÒfzP÷cú0Û× êP2sÎ+Œ;“z&¶ V…¡2Ûe6½j¼ýøC ‡Î¤žÙ>e»™¶Õ(–Š#3"Åq÷wý¶ÛÛ{bö¹w$¡(ÁÕÐÕÕеýmþ§òYågW>ûϘÿ¨2U¥RéÁ„ƒq…qfÚfTžÔü•Ä¢Dê”Ó*iݳ'¡(A¶ ŽFQ]‘D*Qa¨ÈiìíAh£›ó? µ J,NüþÖ÷ëF®c0e¢²¯®}E™ê8•˯É_ÿûz3m³Óv$—&/ [úþ™÷é·oµ;zí<*{t¿äþŒ3èówL^Ì7׿!„Ðskz*F1Ù¾þP€’™`?áÓÈO%*®+ö¶ô–½àaê1ÇuNxr¸o°¯©¶©ž†^}c}Q]QSkÓò¡Ë';Lîæ®uÕuýýN¥œ"„töÕXÖºÖ"Χ·X”>-­UBÖùüÙ‰•ÏîÛ»·^Þz î€@]WWßTï$tJ-K¥{p:ÆæÇúìõ1æ3ƒzÕÇ‹½=mtsþ!dƒï†€€}±ûΤžò„ééM­Mî&îô£­ï~¯Eܲ{æn-5-oKïU#VíˆÞñCÔÔ·ÐîèµPù¬rË¥-ŸF~jÌ7ÖVÓ.}ZZ.*'„ 24©ÿ¤žQL¶¯?üþ-ô0&SJ÷ü_Úâ°8S§Ôˆ¥bzæ)í‹ _l½É€gPX[˜Tœ”]•-‘J&õŸäçè×#{_쾘bÀ3}VGXêXƒÉ`>(}P!ªÐähn›¸>[¸¹n»•ËæÔ$—$3Œ¯'}=Ô|¨lú|¨ÏÓ/©/‰/Œ+Œ£^õñÒÆÞ„ž5ÈxPð¬`#-£'OŸ$—&·ˆ[ÆÛžLß!ÚriKzyú'ã>¡ïG¬±z¤ÕÈ}±û¨W•´;zí8õsZä¾HCU#¿&?¹4¹\T®¡ª±È}ѯs¥ï õTŒb²íYb1ƒÙÓ3:;³ þæÊÊÊD"‘œ€˜îÂ…F ¹ÚÚòæ-vGõóêÌÊLBÈ`“Á²shR©4¿6¿úyµŽºŽ±–1=ëB"•ÄÆ ¸;}»6›ÄÆó8<ú —Q‘QÓP3ÄtˆìÍBÈ£²GSºÆ{ͪ«:˜mSk“Óv§1¶c‚g·ˆ[2+3%R‰¾5›RVCKCnu.ƒ0lôlØLvAmAi}©‹¡ }™],gUfÕ7ÖK¤jNëK;;ruÔulõl;x°]&•J³«²EÍ"¾ =±ƒÒ"nI,Nd3ÙƒŒÉÆ?mzú¨ì‘&G“~ª¨ÝÑkx%â’ú’ŠgšM+]«—¾Ú¼§b“mOY°ÀÈÒ²åÓO+ä‡Y[[Ë…ú:§Ýú£°=j”YDDñÀr”‘X"^|bñÝ‚»QïE yÂn%[ôjz½dÄóÅ‹ë–-«•Ö©úó? ‡™˜´ðù’¤$µ7©þH+Oû,ò³ÂºÂÒúÒ‰ý'¶)>–E,{ÖÔö  ŽÆ®é»’#@¯xò„UVÆrtlêÙnQ@c0ˆ·÷ó«WÕ—,iç¯%%BÿÆŠ•®Õ&ßMmÖ&&ÿß}Hf'3“Ìžû0™Lh, B!„º1Ž®nB!„Ðw`¼‚B¡îã„Buw¯ „B¨»Ãx!„BÝÆ+!„êî0^A!„Pw‡ñ B!„º;ŒWB!ÔÝquuê¾¼½½ÿùç¹wïÞO8°SuÏVu¡Î¸ !!!×®]ËÈȨ©©€?þøÃÛÛûýû÷°hÑ¢9sætH-ý‚0^A¿ºâââ©S§Û§OŸîׯùQnnn`` HHH´©ÌvØ©ºg«ºP‡_û÷ïO™2…ú’ ‹ˆˆˆ´´4055íZú5a¼‚~uµµµÄ”——wmcP¶ÿ~"X9räÎ;¹¹¹ÕÔÔΞ=ÛÕíB¨7Àx¡M™2EKK ètzW·õIIIįܹsÍÌ̈m77·ªª*PUUí²–!Ôóa¼‚~i«W¯ŽŒŒ$w—.]*,, ãÇß¶m[ttt³ó’““oÞ¼ùêÕ«²²2!!¡þýûÛÚÚêèè´TK@@€««k~~¾ºººƒƒÃ€¨Ÿ¾{÷îÆ/^¼(--Ñ×ן?¾´´4™¡Ñ4‹ððð .äçç÷éÓgñâŃ ¢––““sóæÍØØØ¢¢"))©aÆ-X°@PP°i«Z/§%­·öåË—«W¯f±X4íØ±cƒ€ŠŠŠY³fUTTÀÂ… çιqãF²L)))ƒ™3gRoÍܹsÇÉɉ<ñ»wï^¿~½¦¦ÆÔÔÔÑÑ‘N§gee|øp"‘ŸŸ?++‹Åb>}šHáææÞµk—¯¯ïöíÛ‰ÒètzLLLÓÒ¤¤¤Îž={ãÆ eee"qذaD¶sçΑ'2zôè+W®Ü½{w÷îÝ***m*§%l¶¶¦¦ÆÀÀ€ÈéèèèêêJ^ÃÌÌL"OQQQÀW~~~ÿþû¯‰‰ ‘MSS“üÁ&ãNNξ}ûÞ¸qÃÉɉF£‘1„¥¥å½{÷ìììȆ•””°ý›ö/›çØTRRR@@,nÚ´‰xðà°°0ˆÍÊÊ"–å//¯€€²b#44´Q899ÍÍ͉m)))b£ªªêóçÏEEEdióçÏ'! éä•VÊ "Ö!?·mj­’’’››Ûo¿ýÆd2«««`ÇŽÔ+F\{÷î%&&–––ÖÕÕ1™Lò£ŒŒŒFÓ8¸¸¸ ‰mIIIbcĈÜÜÜÔS€?RlåúCíè‘vhÇ·!8ß!ö}þü™Üjv›šøøø¸¸¸šæ$‚2ýÕ«WM«+..n”"**J–F-–Åb}úô‰š­õi¥œ–ikk555ˆ9¶Ðè×wïÞ½»víj©.âi*òv ¹Á`0ˆ†††–N¡•ëß´ÞvôH;´ã[„ŒWbŸ‚‚'''ñ똒’B¦§¦¦4MII‰zȧOŸ>|ø ##Cìë†EQKÛ»w¯±±q£êšÎÇl½m\\\õõõgccÓ¦S£zòä u´ƒ¾=÷ï¶¶¦¦ÆÆÆ† V`ñâŃÖÐЀââbrò¬……ÅÂ… ÅÄĪªª~ûí·v·¹%­\ÿ¦™Ù?ÇÊÊJ bûðáÃÆ c¿Iíø!„ß„9§>|øÐJN!!!ò6Ê™3gˆQý¢¢"â™[=z4õÞaïÞ½ÄýnnnäoÒ¤I“„„„&NœHìúúúêèè˜|¥¡¡ߦ¿æ…„„Èßû'Nü÷ßÄvMMÍ‘#GØ/FeBALžmSkW¬XúúúK–,€ŠŠ bT£´´”Yºt©µµµ‰‰I³ã¢¥ëß4'ûçX__øU[]Ú÷-Báø úÕ «««¿dsæÌ4h×¶mÛÆß4³““STTTAAAzzzß¾}µ´´RRRˆUqÅÄÄȧK¨…«¨¨ %$$‰ÆÆÆÄJ!'Nœˆ‰‰ÉËË‹ˆˆPTTÔÖÖæààÈÎÎ.,,€ƒ¶éDˆÒÞ¿_YY9fÌ555aaᤤ¤ššš 6´ýÂ4_þw[{õêÕ .ç~óæM99¹ÈÈÈ—/_ÆÇÇÿñÇ®®®ªªªjjjÄP‡µµõàÁƒóóóÉ!ŽÕúõo÷9þ ¶~‹B€ã+À™3gˆ¿h+++CCCóóó›Í©¦¦3kÖ,žOŸ>ÅÄÄ”——Óét›˜˜mmíFùétúÇUTTÞ¼yÃb±h4šqgAUU566vÑ¢E555/^¼ˆ-,,TQQY½zµµµu›ÎBYY966ÖÞÞž˜ ‘––'((øçŸ¶ç¢4ÁNkããã‰üçÎëÓ§//ï­[·ˆ9¿W®\¹xñ"F»wïžžžÔÔÔDDDhkkß¹s§CÙHë׿}çøãÚú-B­•vý:êëëß¾}[\\LLÝÐÖÖ–––ÎÍÍMNN:>räHjþššš¤¤¤òòr!!!MMMâ©]RÓß½{G¬$Ûì2© ÉÉÉÅÅÅ"""òòò–Ak¶EEEñññͱ±1u‰³†††ÔÔTb}[UUUò£¶–Ó’VZ›””DÜààåå%×;€ÄÄD"äãã#WgÉÌÌÌËË#¦ò°X,ò-N:::ÄC@ïß¿'fxPüòåË’’••ÕÔÔ$ÚL|:`À ‰³gÏþñÇ !!A<1Ôìõo¥[ï‘úúúb{àÀâââÄvPPñýÑÒÒ"GŒ"""ÈõøÉÕn­‹BT¯ „z›¦ñ B¨§ÃûA!„êî0^A!„Pw‡Ï!„z›)S¦hii@Ó·?"„z(œ¿‚B¡îï!„B¨»Ãx!„BÝÆ+!„êî0^A!„Pw‡ñ B!„º;ŒWB!ÔÝa¼‚B¡îã„Buw¯ „B¨»Ãx!„BÝ]ÛÞžÝIMAu6EEÅ#Ftu+B¨ÍÚöþ éÓ§{xxt^kBÊÆÆÆÝݽ«[BmÖæ÷3ã¿wõPÓ§Oïê& „P;áü„Buw¯ „B¨»Ãx!„BÝÆ+!„êîÚ<ßýd»wï&6†nnnÞ¥méŸ?>|ø0±=þ|•.mB¡ã•înÏž=ÄÆªU«zM¼Bž”‰‰ Æ+!„¾ ï!„B¨»Ãx!„BÝÞê=ÃÃÃóóóyxxúõë7fÌžFyJKK}||Þ¿¯¢¢2eÊhi*Ië¥}üøñÔ©SÄöÒ¥K%$$>|˜ ++;fÌ…Ö+E!„Úã•Þ ==}Ñ¢EÔDYYÙóçÏ[XX)þþþ¶¶¶EEEÄ®ªªêµkךN%a§´?’oÙ²%**ŠØø÷ß­¬¬ÈJg̘Q\\L­´ÃÎ!„Яïõx£F" µk×ÚÚÚrppäååYYYùûûÙ233­­­‰`EQQqåÊ•:::3fÌh_iTóæÍããã[µj•œœ|úôÉÑѱººš¬”V”••W­Z5pàÀ¦•"„B­Ãñ•ﯿþÊÉÉMMÍØØX~~~ÐÑÑÙ¹sgCCÃÚµk_¾| NNN !++ Ë–-;}út;J£:tèÝ»wi4šñîßüüüäää’• EEEIJJÀêÕ«œœ:ýº „êE0^éñ=zDlˆ‰‰‘“Q233‰W¯^åææÊÉÉ)'N$‚X¸pa£x…ÍÒ¨‡ØÛÛÓh4èÛ·/™˜““3pà@j¥D°óæÍÃx!„P›`¼Òã}üø‘ØxþüùóçÏ›f " r ¬€ŒŒLûJ£¦³k¹¹¹ÉD&“ d¥ÒÒÒäGRRRß=)„Bˆ ã•Á`€‘‘Ѹqãšf ‚qqñŒŒ ((( ?úðáCûJ£âää$6ˆQ*²Òüü|2‘ÚÔ•––ÖÔÔtu+B=õOÙïÂx¥Ç›0aBbb"¯_¿^PPü(77÷õë×Äø‡‰‰Ill,<~ü¸¸¸X\\\\\ÚW›FETúèÑ£ÂÂBâ–Е+WÚ{®¨[¨©©©¬¬ìêV „z<ŒWz§çÏŸ“ï"0ŒåË—oÞ¼ùöíÛ¹¹¹ ZZZ“'Oyÿþ}rrrTT”™™™™™¬ZµêÂ… ¥¥¥zzz–––©©©D0AÅfilZµjÕÅ‹+++ËËËõõõ­­­ÓÓÓÉ'ŸB!6a¼ÒcDDDDDDPS455—/_.--¼dÉ’gÏž½ÿþìÙ³dEEÅ &ÛJJJ^^^¶¶¶ÅÅÅéééÇWUU½råÊøñ㉠Äì6Kc“ŠŠŠ§§§]IIIff&Qé­[·ŒÛwBýš0^éîvíÚÕÒG ƒØèÓ§¿¿rrrxxxnn.¼¼¼††Æ!C¨ùMMMÓÒÒ¼½½‰¥f---###ÉOåååÙ/Á` #çÏrss“‰Ć™™YZZ¹¾­¥¥%õ¤ðe‡!„ØAc±Xìçž>}:¸»»wZ{P' ×ÑÑ&vkkk'OžüäÉÐÖÖNHHèÒÖ¡N×Qÿÿæççãü„ÐSSSc?3ޝüBÎ;çåå5vìXuuõŠŠ ÿ´´4àää<~üxW·!„jÆ+¿###Ÿ{÷îQÕÕÕO:Õ¦Y´!„ÐO†ñÊ/dñâÅ¿ÿþ{@@@jjjee¥„„Ä!Côôôš®›‚Bu+¯üZxyy'NœØÕ­@!„ÚßÏŒB¡îÇWB]àÃ.ðp¾ÄDî9?}¿Pó88@X˜©¨X§£Sclüyôèϼ¼mx¬õ¯ „~ª·o¹àåeŽQeeU!#Ó (Èìêv¡nŠÉ„ÒRŽÌLz\¯»»°  ÓήÜѱDH¿3¿ŒWB?Ii)DZcâ7oŠôï_süx¾©é':ÿPFmðñ#§‡‡°‹‹ˆ‡‡ÐúõÅÓ¦•sàÀÜ/»!ô3ÄÅñš›+=}*xð`‡GÎĉ•¬ ¶b0Kž>Ͳ°¨Ü¾±p¡\y9þŠý*°§BÎÇGð÷ßå¬~ò$kêÔ |‚ý掽¼Þ§¦Ò§OWÈÊ¢wu‹ÐÏ€ñ B¨sݺ%¼v­ôìÙegÎ|Ày*¨£èèÔxy½ççgÚØÈcÈò+hÛûƒsrr:¯5¡N¥  ýƒ…´éýAaa| Ê.]ZºreñÖ‹PSUU³fÉ}þÌáîž#,ŒÑpÓ‰ïêÛ·/ߤI“ÚØ$ÔÃ?~|È!£GîꆠŽäëë«  ð3kÌ̤¯X!3qâ§+0XA‚yî܇©SåW¬¹|9§ßöbm‹W$$$$$$Ž;ÖI­AÝÄñãÇGÝËüüÁÑÝ»rruýU€VPç‘’ª'BOOáéÓË»º9¨³`,Šê~~!!ü;wñðàs@¨séèÔÌ™S~ô¨8>.Ô‹áú+¡Ž×ÐJLž\©¯_ÕÕmé, ^^^¡¡¡EEE pðàAee円†˜˜˜§OŸ&$$­­­§OŸþšÄYX(½~=ÔÕ»ùNN ’’?¡Þî`ÅŠbooÁsçÄ6l(êê¶ Nñ B¨ãý÷Ÿ@VÝÅ%¯«Ò‰¶mÛæááAMùüùsqq±™™Yii)5]OOïç4IjëV¾ÐPr—VSósêíDD˜ –]¼(ºbE1.Øß+áÐB¨ãùø^¥¬\×Õ é,¥¥¥d°²dÉ’ÿý×ÍÍMYY¹¶¶¶¢¢B__ëÖ­ ãg6IøæMþ€€ŸYcwccS^QÁÄßÕ AÇWBŒÅ‚à`þåË{ó3A™™™äö¢E‹ÈЄN§GDDˆŠŠÀ•+W~Z{èYY@mß¾Ü))?­Þn…Áh8°:(ˆßÌìSW·u<_iƒ[·n™˜˜¼xñ‚ÍüçÏŸ711IMMíÔV¡ŸáÖ-01¶»ΟøU»>;›^VÆ¡«ÛkoF,_¾|ûöíäîÒ¥KgÍšåààt:VÚJèιY³äfÍ’µ·çøü™HäIH›=[nÖ,¹Ù³¹[<˜É”Ú°ãóçz™âuëÚQ{¯1xpuBOW·u ŒWÚ ;;;00°ÑéV¼{÷.00ý•µP÷• Àv×ûw¿j×ggs@/¾—H‰bcc###cbb~¤ÌÊI“8ªªø"#ùŸ=cìÞ UUÒ«VñEDðEFÖjk×jk·t¬èùó¼11P¸oSHèGšÑÓ©¨Ôeeá}ƒÞ ûµ lmmõôôÜÕ A?­-èév={*+9@H¨×.6zêÔ©øøø½{÷»gÏžââú¡NYÜÜNžT´´ä(+òòú£1dÈâfÂСCÅÄÄ~¼Øz…ü#Gd€Å’Ú¸‘xº§A\<ÿäIV Á­¶VzýzZ]]ƒñ‘r‹ê—ÅÉùåë‡zŸ‡’3B—/_nnn>oÞ¼€o§Äïß¿ßÄĤ¬¬¬i"yk†,çÅ‹ŽŽŽ'N\¹reFFñé;wfÍšenn¾cÇj9Mç¯444¸¹¹Í™3ÇÌÌÌÎÎîüùóÕÕÕM›çàà`nn¾páÂêG,ëÁƒööö“&M²³³Û»wonnî]£î¯°ÌÍÁƪ(+sdgÃøñðûïP_ßüQäŒÄDX¾ÌÍaÞŠÌÉ™üx½´tKù<àNJ€Â={˜íš7ƒPOÑÃÆWˆ!÷ïßß¶mÛç¯SÒ®]»vëÖ-r9¦ÄÄÄÀÀÀººoî‰õ_ ‰r¼¼¼vìØQ[[ =º}ûvttô‘#GNœ8Ad{üø±¿¿XX±ÛhþʧOŸÌÍÍ©ñÇ­[·N:åçç'%%E&>|øp÷îÝD-pùòå“'O._¾œØ]´hÑåË—©M=pà@BBBŸ>}~ðZu_’’0mØÛƒ°0¸¸ÔÖÂôé ÿý- ª3Bî߇mÛàk×õkpë+q%&B` |Ûõ_É0ˆ(ÇË vì¢S=‚Û·!:ޝ]ƒ¿?|íúÆóW>}sóoâ[·àÔ)ðóJ×Ãǰ{7|íz¸|Nž„¯]‹Á·]@Bôâ®Gl¨éߟÜfòòÖ·úÊ'Zm-°¸¸D®\¹r8+*ÈO¥W­bñð|8}CÔ ô°ñ¦M›ÌÍͯ_¿îíí½xñb‹µeË–v”³cÇŽiӦݾ}ÛÓÓÓÔÔ4??ßÚÚúâÅ‹[·nõöövqqQVV÷õõmöð­[·†„„HJJ=zÔ×××ÙÙYUU5>>ÞÑÑ‘šm×®]&L¸~ýº———½½=F[³fMRR¹ººŠŠŠ:tÈ×××ÓÓsÏž=’’’d(Ök-Y ÀåËpñ"Àš5GŽ€¡áwÜ´ ÌÍáúuðö†Å‹Å‚vu=ìØÓ¦ÁíÛàé ¦¦ŸÖÖpñ"lÝ ÞÞàâÊÊ-t=lÝ !! ) G‚¯/8;ƒª*ÄÇ÷]»vÁ„ pý:xy½=Ðh°f $%«+ˆŠÂ¡Càë žž°gHJB¯ïzÔ*zV–å+Íñé“ô²eß]öV_ÏIüG}Œˆ÷åK¾ÈHZ]¯øŒ~)=l|…0gΜ‹ÄïÀäÉ“SRR ¨£ìX°`ÁÙ³g‰m333YYÙèèhwww"QVVvâĉϟ?oúJêúúz^^Þ "ÑÖÖVKKëîÝ»ùùùÒ_‡p-,,¼¼¼ˆmkkkYYÙ={ö¸ºº£÷ðµëÁÚdeaÏpu…ƒN æÌ¯]S§Â¦Mð+t=j­ºZfÙ2ŽŠ (›=›76–'1‘'1‘±{wáÁƒÍòÉĤÎÍšÂÀØ¿ŸØÎ?~¼ARWPïÐ#ÇWfÍšEÝÕÕÕ€¢¢6¿3ÂÖÖ–ÜìÓ§77·••™8hÐ há­¶ïÞ½«¬¬3f ¬€„„„ ‹ÅzõꙸpáBêÄ.‘AXXxåÊ•...ëׯ¿ÿ~VVððððññµõ\z>>ðð^^8p´´àÒ%¶Žú¶ëAW í]”®AAèÓ¸¹Òõ0h@³/4~÷*+aÌ t=HH€ °X@ézø¶ë¿ì„…aåJpqõëáþ}ÈÊàá_¡ë{µ†††Y_‰wïÞ%RNž<Ùʱ’»w£#5::EÛ·çŸ<Éäçaww!OÏæ«“’ª20 þWÛ¯ùiõàÁU,:½ÃN¡®Ó#ãqqqê.777P§ë7Õ짦ôÓéôF%Òét¨kn4•˜WÛ¨%d uÖm£Å£ˆ U_§š:99=xð ¡¡áСC PUU=zô(ñŽ´ÞNNN%%`ëFœ› Õ®oþÓFOsÐé $ôÍÔâŸøfÒ‰ÎmÒõ_R¨³ný]Kd g;9ÁƒÐЇÁ€ ª GÂ/Òõ½ZäW䬵ÜÜ\"¥•Õ#…oßòð&?¾“‹N¯SQ)Ü·øTr×.î·oBãê¶zäý ÖñAaa!õå¯_¿îØZdee &&†Édrpü?싊Š9992%66ÖÈȈ܎Žyyy2eÔ¨Q£F€†††k×®-X°€››{åÊ•Ûàn§¶ll ¼¦N//Ø·vìøÑ2‰ø °¨ïméè®YY€˜`2Òõ@ézˆJ×Ct4¥ëaÔ(5  ¡®]ƒ €›z}×÷ šššn_oÄQ–hãààpûö •„„DKÕjj溹@=ƒQ§¢B$VN™R¯¨øeR-O¶vî×ü:/gF¿‚^¯¨©©ÀñãÇÏœ9ÃÁÁQ__¿wïÞW$%%uuuccc7oÞ¼ÿ~b&ÊÉ“'Ÿ>}*##CÜH"ìÛ·ÏÐÐxAkff&ˆ˜™™@RR’··÷üùó%%%€““SII {¼²z5DEÁÉ“ðÇ0nìÞ #F€©é•©¦pü8ù¾“ IDATœ9P_{÷v|¼") ºº ›7Ãþý_f¢œ< OŸ‚Œ PºöíCC ÞÍ›™ù%13HJoo˜?ˆ_NNPR Äx¥G200hšN£ÑšMÿ®jê7‡š>dH›Êa Wµ«us=ò~PëfΜÉÇÇwþüyEEE™Ã‡jáß‚qøðaŽ#GŽÈÈÈ 6LVVvÕªUD:õ¦’‚‚‚––Ö Aƒ444âããLL)))Ù¸q£ŒŒŒ²²²¡¡¡––Ö¸qã }ÿÞõ$nnpæ ØÚÂòåÀÉ 7o‚´4ÌšÕü|öÍœ ||pþ<(*‚ÈÈÀáÃÐ ]‡9220lÈÊ~™,|øð77•ÀÀ´´`Ð ÐЀøx<øËÔ™’ظdd@Y AK Æèõ]BíÒ ã™K—.‰ˆˆ÷Œ¹¸¸¼¼¼úS–4è(ãÆóññQWW/..ŽŠŠÊÏÏ—““»víÚœ9s¨Ùœœœ,--“’’^½zU[[;nܸ‡sn´´´6nÜ())™••ž””Ä`0vîܹ®w¿±ìÍpp-­ÿ?é##·nAI ̘Ñü”6ÉÈÀ¥K "¹¹ \\àåÐõ0nøø€º:CTä烜\»ßv=89¥%$%Á«WP[ ãÆÁÇ_æÜhiÁÆ ) YYIIÀ`ÀÎл»!„Ú‹Ö¦©ÄšlîîîÖžïx÷î]VV–žžž  `£D}}}ÊœÍêêêøøx...nnîÄÄÄüü|###bä£Ùrbbbª««GŽI¦ÔÕÕ…††JKKkkkÀŸþ¹sçÎÐÐPÃo— IMMÍÏÏ×ÒÒ¢Ñþ¿4µ–÷ïßgeeÉËËw|¨X,Vvvvnn.ƒÁPVV¦wƒÉü4mõêÕÇŽë”Ò““!744¾™ê/_BI Ôx2,áÝ;ÈÊ== tÙ—D}ýo¦ëVWC|>–Ö£ŸÅxõzøÝëYÚ¯ôÂûAáŸþÑÐÐðññQUUUUUíêæ ŸèŸ@C||@U°ëB¨‹`¼Â–äää””iié«W¯Rïø Þ/9RR@Z®^ìz„ê"¯°eíÚµ¯^½ÊÊÊ¢®¤‚~ k׫W•Øõ!Ôuzáú+ºè>úµ`×#„P7€ã+!„êî0^A!„Pw‡ñ B!„º;ŒWB=FM}ú_ꎞŽ]ÝžÍ㕇ú_êê©?K}F&vÈµí¼’Âx!„~!ÅŸ‹ÿ ø‹Î׃JFÚú|± ‰¢¢b'µuçÏŸ÷ððèêV ŽTTTÔ·oß®nêbûü÷‰ó‹W~=îzO)!ÀñÔ’6½¨!Ô#„¤‡ø$øì7ßÏÍÉÝSJFˆÐ¶ñ _öýA¿æàà€ïêeˆ÷õ9e9ûý÷?Ï|ÞÀlÐSÔÛ0zƒ¶´6ùi@jÀåèËÉ…É•5•ò"òƪÆK†/‘”€šú£:¦}Mw˜î8p(,3¬´ªôÕºWütþŒ’ ·X·ÐŒÐ¬’,NN I™ƒgN0•(“T|8e}ŠZÂŒk3ȘL&Ø{Ø¿+zGæ‰{÷>® ²ÀqÄÿ'Š–W—Ûþk›]šMì†e„͹9ç©ýS1¾//ßõd׸Ävviö_½ÉÓ¨ý7ânì|²“ÂÌ)˹y),#ìöœÛ-Mþ˜{snXFXë—åñ’Çj­½=Î)Ø©®¡n£ÉÆÖË!d–d.ñXòñÓÇ˶— U [ÏÜy%#DÂx!ÔÃDeG –|zêi IÜòÜcAÇ%=ÚótÏÍßo€_ЬµvúÀé¢|¢9e9¡¡™%™J"?Äyª³–”//‘¨.¡¾Ä`‰ž‚ž‚ˆBu}õÛ‚·;ï<ûüì’áK8iœDžÈìÈaŠÃœ,ú2úæWæï|¼3,#ìÞ›{óõæÀËÜ—7ânòî0Ý1N}\=³þIò“þ¨Ug—fïyºG˜Gxó˜Í&j&"|"Y%YN!Nß>¼}…u¬ÄüD—H—ÓÓN³3Š™¹Ôk©0°Ç>ßy'y界Æ+¡†ŸÎÎæœ¿¨I¨·<>éÒ¤èœèŸ>22B2`©c))( ªâªªâ_¬ÍOç?7íœ8¿85qÙž3ágΆŸÍ+Ï«m¨%Óß—½WU"¶ÅøÄÎÛœ'~˜UÄTv˜î˜xqâÛ‚·Ä§“À“ ÓL#Rf ™UV]öwàßdiw_ß­gÖï3ß7Qk"‘¢ÎP?>åxtNôÓä§-Å+Wí®¶ëR}Ád1·=Úf¦i6N}Üw3{Æ{n´}°Üà3Sψò‰vUÉ5‚ñ B¨‡é'ÝV\\#”G¤¥e–d2 ôDfGNr™4ºÏèþ2ýûËô×SУsÒ•Ð(X)«.›zuj^y^ÓêªëªÉmê(‚¢¨"TÖT»Y%Y`¬jL=ÜXÕ˜¯¤|L€ÕÞ«W{¯&n ±€ElР³^~5æjfIæy›óßÍù<ë¹_Šß0ÅaWì®4ºh/N$Ox°è†¤F‡”Œ;0^Aõ4 y¯Í¼–\˜‘ñ¶à­Ç+âÏÅ»ÍvOÒžDælúǽg¼g^yž™†Ù £ÊbÊ|\|4mÇãädyóèKÍE=jÇd1 ÙÐô@ê N#?8Åý¥{YuÙð“Ã¥Û{ØÀ»+#UF)š’šUuU191Þ>°Ô±l½ÆN-¡F0^°°°'OžÌŸ?_EE¥«ÛònÛ°ž%,-ìÉ›'óGÎW‘Péê¶|£Û6¬ûKÈO(ú\D±Ô3ëÃ3À¼k’’_Þ­½ìβõ÷ש‰ðŠ´T&14²nô:ò'¿¶¡öyæó65LIL ‚ÞÍÖM&†f„RóåSÈ"Hb‡ŸØ¥é—–x,Y}iUé<½yäG?줒bÆ+¶gÏ“. ‚‚‚ž={¶páB%¥ÿÿƒÛÖ „¥†íñÙc¢iÒ…aAPrг·Ï-T§ôo7hXõ¹î³ƒ‡ÃÓä|Û´¢4==†¶<Ø"#,3N}œ²˜2“žT˜”ò1¥®¡.¿"¿•xENX.D\Xm¼Z”O4¥0åXð±ôâô65l‚æ„óÏÏ <*À-`¢fÂd1Ÿ$?qs¦æ±`}6üìZïµëG¯7R5b0ʪË2J2|}¥¥;iþJÓPcŸß>×h×ó6çǪmô‘  «­ëŠ»+þôû³¬ºl¥ÑÊ.)¡F0^CCÃ]»vumL´gÏSSSj¼ÒÖ ªîš¼K…¡Ò…mJ Úã³Ç´Ÿ)5^é ë¡ôõ3K2§]F¦ðÓùwßEl¨øàþÊýdÈIê!ý¤û©3Ô[)sr¿ÉÎaί<<^}YÖYGp¼Æø§ÉOÙoØ ÙA3͸ýòöúûëÉÄIÚ“|}É*b*šÿ¹ãñŽ-·4:Üa¸ûuu*.ž3ÓÎlòÝt"äDIUÉNÓĽ¶î\2êõ0^CCCCÃî¸@·mXÏb¨fh¨Ö/c·mX÷'Â+ró÷›ûüöEfG2™Ì¡ C7ŽÙ¨-õeѶC“y¼òðKñK/NgKNXÎ\Ó|þZkËyË Ëþ;óßCÿzýá5c¨ÂÐ&ÉØ…}ûÌ÷)‹)ßzq+¯"OFHfÖYdø&ú ó“yf š¡%¥åé™Yü¹Xœ_\ELe’ö¤n5«ƒ“ÆydÒ^‘+ÑWÊ«Ë[&êî¶%£ÞÖ¦e׉õ1Û±¾mlll`` ‹Å266Ö×׿{÷î‹/6nÜÈÏÏOæ)--}òäIzz:N×ÓÓ5jù‘ŸŸ_HHˆ£££˜˜˜Ojjª´´´¥¥¥¸¸x£ŠØ)DTTÔ××799yèСfffÍN)//÷óóKKKãçç×ÕÕ1bDë'˜™™éçç—ŸŸ/..nbb¢¥¥Õ´^aaá{÷îeffÊÉÉM™2ETôËŒ¿«W¯ººº,X°€_QQQ™?~³ c§¢ï^¥ï¢Ñh«W¯f}ÛØ¬ØÀ¤@°Œûë«èß»û"ûÅFóüÜ”þý\ú$áIúÇt:']OYo”¥kýBRBG;Š ˆù¼ôI-H•–¶l).ФÙ(D”_Ô7Þ7ùCòPå¡f:fÍN)¯*÷KôK+Lãçæ×UÒ¡ö½þ-ÊôKôË/Ï7Ñ4Ñ’¡\ö¯õ ó ß{q/³(SNTnÊ )¢ü_û7üªk˜kÀÛ€#ã+* •ù†ó›m;}÷*µ¤Ýÿÿ6’ŸŸ_YYÙJ†W®”NMMûÁŠz‡½O÷^¹êlíÜÐðeÂ?F[´hÑéÓ§ét:Y¯ŽŽÎ† 23¿,ZÅ`0îܹcddW¯^ €Ë—/ŸŽ=šˆW5ŒŠ¾{•:“Åt¼æx!˜Ò¿c–UÖT^ »²|ìr2^q qYs{My¥kú{-õb2À/ÁïУCºÊº›<6½ýðµå‚þký)Rú—BúË÷ßè±1ýc:¬¿ÖLǬé4‘K!—ÖÝ^WVEé_u£À-ýý½õÎÖÓtÐh´EF‹NÏ>MŒðõêÈélðØYôµw–Ý1R7€«áWÞÀåЯý«1z¾áü¦ c§¢ï^%Ôµn¿¼]ü¹x¼Æxyù‚ʯx/·87nã>Æß?uŒÿÖ®=ººº&&&cÆŒÑÐÐèê&¡ÐéñÊñãÇ/\¸ÀÉÉieeÕ§OŸ¤¤¤Ó§OKJJRóÜ»woÑ¢E\\\“&MÒÖÖ®©©yúôippð¼yó|}}Él\\\ööö‚‚‚=JHHX¾|yppp› Yºt)77÷âÅ‹ååå›5qww_¼x1èëëëëësrrÆÄÄ„„„0™ÌfãggçƒÒh4 mm파Œ»wï^¼x‘Á`zó(!7aùõåÁ›‚ÛTÈR·¥ÜœÜ‹Ë‹Ê7;jâí¾øÊbÐWÑ×WÑçäàŒÉŒ I a²˜ÍÆ+ÎΤÑh-´eµ3Š2îÆÝ½|‘!È88•Ò¿×—qsrÛ²ç¥óú%ú%ä&X;[¿ýó­„ ÄÜs™,f£ñ•vWÔúUB]®¼ºühàÑ£G©‰ÛÆmã§ó·têhû_¼˜þìÙ³+W®9rD]]ÝÚÚÚÖÖ–ÕF=Q§Ç+ÿý7‡ŸŸŸ‰‰ ‘rïÞ=+++jž­[·òóó :”Ha±X666^^^oß¾%oy¨©©=}ú”<8pàÀÐÐÐòòrbÐÍB…„„Zjð¶mÛÀÙÙyéÒ¥dbHH'gówXÿúë/ðôô´¶¶&R"""Œœœ¶oß. @$ÊÊÊM­¯¯·µµõòòruu]·nÝܹs³²².\HŒ¸üHE­_¥÷÷“¿9h~kýL4Mˆ”{/îY9Û¿w¶òsóm ªLéš³6^±^o?¼%oy¨Iª=]û”xÊÁúƒ÷ M -¯*æf¿1…À B¼-÷ïmà<Ûy© ¥SCZºƒþ×ÿÀóOë!_/{z„ñ!c'?§í“¶ ð|í_ÙàÁDSë™õ¶çl½b½\Ã\×™­›;bnVqVÀÛ€…F ‰—©¨õ«„ºœí`Ûòšrÿÿ¬Ò,NÎ~Rý,nú¤ êT|||cÇŽ;v,“ÉŒ‰‰qww?uêÔ©S§~ûí·Y³fuÞx3êT¯dffæææš™™‘Á XZZêëëGEE»yyy jjj>|øð!‹õe©Gb0#::š 56mÚDü 77·©©iRRR^^ž°°0û…lذ¡•`%'''%%E__Ÿ¬@KaDVVVNNÎÈ‘#É ¦OŸ~ýúõØØXccc²ñdÄÀÅŵwï^//¯ÐÐÐuëÖ±s%ÛTQKW‰ŠÚ$³(3·4×LÇŒ VÀr°¥¾Š~TÆ×þ-ËKÈMP“T{øúáÃ×”®¡q@tF4jl2ßD¾ì›‹ÛTÛ4éCR^Yž0Ÿ0û…l˜°¡•`%§$'¥ E_EŸ¬@KaDVqVNIÎHõ‘d ªÓõ¦_¸›kÜ÷ëe7ßDF \\{-÷zÅz…¦†®3c¯ÛRQKW‰ŠPgâZ;jíÚQk»º!€ƒƒƒ)ß¹sçýû÷oܸ1mÚ´‘#GnÞ¼Y[[ûûÇ£î¤sã•’’hîî†ŠŠ ¯@ZZÚŽ;š–@D¢¨¨HýHPPêêêÚTHß¾}[ipQQhjj¶’‡Š8Á>}¿µ‹˜CT\\L¦¨ª~ób—8¼c+jå*u¸’Ï%Ðtù† ¯V@ZaÚŽ»Íu e‰¢ø·-瀺†º6ÒWªÕþ­,M¶û÷S ô‘lrÙ%Õ ø¥ßö/C¾^ŸŽ­¨•«„j‰   ]hhè‘#G,--'L˜°aÃꨛëÜxELL 222¥SSˆ<ýúõ#^hD__ŸýŠØ)„‹«µS–€¤¤$v*%ë}÷î]£ô´´4 >˜“žžN.CLø%ïØŠ~&1~1È(Êh”žñ1£Qž~rý¦m®kTØë_¶ áâlµ% éÛý+ ï ›\öÂ4 >˜“þ1:]†˜ðK4»c+Býˆ‘#G>zôèŸþ™8qâÊ•+/^ÜÒí~Ô­tn¼¢¬¬,''çççD>Z|ÿþ}rpûöí›——gccÓ¿2Åb=yò„œŒÒº)úöíuþüy{{{2=44ÔÐаéºFJJJ ¡¡¡ÞÞÞS¦L!£££=<<øøøtuuÉœ‡šë}¶çl®9\ ¹D<–Vw®Ž‹Ö\ÿNܼüúr+g+‹Z2Z™E™wâîÔ5Ôm2ßD΀¼²<íÚƒ,x¸xüýßä¾a2æÎ'>U—R€u·×…¤„ðsó믴¯"„P‡àäättt;vìŠ+,--Ïœ93dÈ®njÍψW]\\<<¾¬¹téÒ¼¼¼;wVVVnnn+V¬xüøñãljDމ'¶~û†ªC €3foذ!22222’H466niñ•eË–åää9rÄÇÇÇÇǾ.‹òçŸR³:ujýúõçÎ#v‰õWˆÛO`nnÞ¯_¿„„„#GŽÀ×õWÚWÑO¶füšÄ‰.!.1_û×di^YÞ¸;䯬Õ+·Ån+n¬xüæñã7_»†Æ1±ÿÄÖoßPuH!0CoFñ§â î"Ó##Ó¿öo_ã–_Y6fYNIΑÇG|^úø¼üzÙýiõmÿÎ:µÞ}ý¹À¯ý+ȸ³ìqû Ìû›÷“ë—›päñøºþJû*Bu //¯5kÖÌ;×ÙÙ™ºÄ(ên:=^áää¼téÒÒ¥KÀÈÈhذaššš ƒ¸ B˜9s¦•••¿¿RR“ÉTQQ>|89uÔÔÔ”——WFF†Z2‘(%%õ#…@s¯éqtt´³³{üøqzzºˆˆˆ®®®A+çxðàArÙÙ1cÆP—%hhh$$$x{{gffÊËËS×·^^Þ¨¨(__ßÔÔÔšš¢1MÖzEl^¥ŽÅÉÁyiÞ¥¥&K“ÀHÝh˜ê0Ííš A/Ò¿ÃfZ ±òOôOúÄd1U$T†÷NN5ígÊKç•þ¶åýLyé¼RÂR?R4÷šÇÑŽvúvß4#´³«ûÅ)**.[¶ÌÉÉiúôéìüNEEEUWWÿ„†5+))‰|(„Ôèõ|û÷ïwuu%'~4}êåË—³fͪ©©!Sž>}zîܹcÇŽ™ššvB«ÛïgÄ+ §§§§§÷sêênLMM»[¯w8===•_µµMMµ{yÿö8Œø£«›ÐalÙ®2ZÕG¢Ï£¤G¯üóçÏ¿zõª««ë–-[¾›ÙÅÅ…XC¼ ]½z•º`ùØ)¡  @RRr̘1|||®®®M¯¬¬¤Óé”——/..vss{ùòåúõ냂‚:éÅsíó“â„ê(Ÿj?ù§øç–çÊÉŒ×ß4uþJ«Á9Ô¹D m‹´¢´°Œ°’ª’?FüAç¤Àë¯ãÞÇUÖVJ JV-Á/Ѩ¨ÄüÄØ÷±5JbJ†Ê†¢|Npx› IDAT¢¹å¹¯<˜,fVIÖ‰D¶©¦*ˆ(tÆÉªvF±¨%t:}öìÙçÏŸ_·nÝwg±°¹{§200he±mÛ¶IJJÒh´G5¯ <8""‚‡‡‡L™}:¹n{‡Ãx!Ôc|ªýäàéPXY¨*®j¤jÔÀl|¸åÁ÷ÇíãÞÇù¥ø«kKkórñrÐ8–x,‰Ï‹WQ0îc,Â+’Y’é—â·õáVu†ú`¹ÁõÌú…î ó¸ƪ•–}_ö>4#4!?Án°ÝJ£•'COÊ ËO0•(_^D¾Ùzï¼¾Cxš5I{Æ+ÝŠ”””––VPP´´ôŒ3¨Oﻹ¹Í˜1ãÀÄ.uþJ³³Ià÷ß'6âââìíí©¯¹õôôœ>}úÁƒ‰Ý¼~ýºõ¶=zTNNŽšò×_¥¦¦òññéèèL:µC¦‡ÆÇÇóðð¯²a2™‘‘‘‚‚‚‹/&žð€'Ož¤§§[YYÍž=ûãÇD¢¯¯ï¥K—:éyŒWB=ÆýÄû•ƪÆçmÎ7tªêªæÜ˜Sü¹Åw3Š>ý=ùoKKb÷áÛ‡ñyñ“ûM>jq”|™C|^¼ÍU›ËQ—,|}óû2úþ;ë_ò&ѧÚOY¥YrÂr+V:‡9+‰)­4úÎS$Öý­õ¾3µKœßgÙíôïßÿíÛ·7oÞ¬¬¬411±²²ÍÉÉ ©¨¨höõë×/^¼˜Ü­­­Ý¶mÛ„ ~ûí7¨¬¬ttt,--µ²²211ÉÊÊruuuww1bñV¸·oß6ñPUUU5J¹|ù2±ñäÉ“³gÏ9rÄÜܼÝ'·nÝŠŽŽ^»v-uQS ß¶m[Ÿ>}’““Ož?K z³X,°„y…ãóâàyæsØ4fuF‹·€¶”v›ü BAMM-88X[[Ž=JþrÛÙÙ•——7{ˆ¦¦&¹]__ÿÇŒ3fÛ¶mDÊÝ»w‹ŠŠÖ¯_ïèèHfûí·ßFíååEÄ+[¶li©pup…N§[[[6LJJ*//ïîÝ»ÑÑÑkÖ¬ÑÑÑ!vo«gÏžíÚµk„ Ôv¸¸¸nݺE”sæÌ;wîØÛÛ[YYõïß_SS“‡‡ç»Ì444¬ZµŠÁ`ìÞ½›L|ñâ<}ú4,,ìÿ!2‹ii_Vã%Â#ö9r„:ûÄÎÎnõêÕ÷ïß¿sç›ëÇ4rÿþýõë×;ÖÉÉ©é+ó @ ƒˆ·ÁL˜0šhkk¿|ù2??_^¾ù;¤?¢mñJJJJNNÎñãÇ;¼¨»yýúõw濫§é`rÏ"Â+9e9ÔåU¾'í›(DøD`öÙâåâQ^QxWôNITéGŒóWz(nnîÚÚZUUU???ooï°°0—ÜÜ\##£7ª««·t “É\·n//ïþýûÉi¹ðùógxùòe³um¿Òtª¬Íýû÷333Ù8ÅÆÜÜÜöìÙcffvüøñfGGDDD¨»DžfëëëÛÑ€ïj[¼2|øpèˆ÷ n®MïB=ñþ MWA×3ÞódÈIêüò©öPáþÒ½Õ°|är꫹ + ó*ò`„ò÷WîGþ;2HnLóWˆ[BܜܥU¥ß­ç¯ôP¥¥¥bbb ""2gΜ9sæ@AA££ãܹs¨“X,ÖæÍ›þþûïFãÄ4Ø={ö4uÈà }óW¨òòò€¯õBšrvv>vìØ¤I“þùçŸVžŽîZ8!ÔcXh[8;§ÿvé7#U#&‹ù_ÚUum4šÔo’k´ëÍ7ƒÓƒ U %ø%Ê«Ë3J2"³" [4PvàoÚ¿8ÿ¶à혳cƪ•’É-Ë É™5d¯¨ˆ«$ä'¬óY§(ªÈAãhiý•Ÿ¿ò&ÿŠ?¤|L€èœhâ!jêû’P‡+--uuuÕÒÒ"þP111AAÁ‚‚‚ŒŒ êl‹ÅÚ±cGYY™³³sÓŸü &\¹råÞ½{GURú2h×ÐÐðôéÓ††b·MóW^¼xammMF'aaa‡ƒÖ^8ß´Ù¸|ù²¥¥åáÇ»m°¯ „znsÓÎÙ{Ú§§§§C€q`âGÏÆs[ÇIã¼4ãÒ&ßMÏRŸ¹¿üÿ€±´ ô@ÙÀÅÁå2Ãeõ½Õ‘Ù‘Þo¼‰OyûI÷#¶è-Øô`Ó½7÷ˆÝ–Ö_ùqo>¼!Wy€˜œ˜˜œ ¾/ u¸7oÞ¨©©îÛ·O@@@II‰››ûÝ»wbbbdÀAµoß¾›7o2dîܹÔtbý•aÆMŸ>ÝÝÝ}ìØ±ŠŠŠ £¼¼<''§¦¦ÆÁÁaÒ¤IÐÆù+?~ܹsçÞ½{åååEEEóòò @WW—x"‰páÂ(..oo︸8033›?><~üøòåË4-77—F"Í;÷5êX¯ „z’²üìýˆõm¥…¤Mûš²X¬•F+‰8ƒ@}'×J£•MgΊñ‰·9ŸV”]ü¹Xœ_\ELEOA|¼YJPêúìëñyñq¹qUuUJ¢J†*†Ä˜:`ªŽŒNDVDYU X-­¿òãtdtš}jšz¾¨c±X¬¸¸¸¥K—ª©©1™Ì°°°ÄÄDâ#ƒ­[·6{ÃÅËË ˆh€ÊÂÂ‚ØØ¿ß¾}/^¼˜ t:ý·ß~#3´‰ŽŽÎ¼yóîÞ½›™™ILX°±±Y»v-uŒ¤°°z)//¸g¤¡¡A¤ob±XQQQª?¾™Å£»\ÀŽÄýoœ¿Òëáü•^©£þÿÍÏϧ® ÕÔƒ‚+WJ§¦¦ý`EµU‡|÷¢££íìì|||ˆÏŸ?gff²X,YYYbR )**JPPÈMÞÙ¡RUU¥.2Ëb±233‹‹‹ÅÅÅåååétú4µ¡¡!77·°°PHH¨OŸ>ÿcïÎãbZÿ€?ÓÌ4MM5í{Ú•$‰º’ìR!»-*—K]ËÍåºÜºtQá*IdÍVI+’kÒ¾HÚk´N3¿?Žï˜_뤦™êó~Ý×}užóœç|ž}:çsžÓþnΗ/_rssÛ(''§¦¦†*//g= Ôưað7õ2Œ/^HHH°²„Puuõ‡ÔÔÔäääXyyy¥¥¥†††BBBœÄ¯©©ÉI7 \_¾ 5jë°pgwjØßÄá;}q8œšš–+ôWQQébµYYÙ®—ä—–––––îú,íkb¨TjûÆ>œZapi\`À)**ºÿþÒ¥Kyh«ïó …baaÑçÃö߯!>‰ŸBñ¶°èt•-âÛÀ84Ðã`p8t芊Š,LÌwàú ?"VVV¼Žp àeeu•×QÚzðàADDľ}û¸±œ<襾ÿ#麇ø60ñIü4Úϼ¡c|‡zü tÙÙÙ»víZ¹rå¤I“x è\_0TÐéô„„„öíEEEk×®ÕÓÓc½¡ð›þ¨_¹té’©©©¨¨¨°°°‘‘щ' {‡˜˜kkkiiiAAAuuõ;v°ÖøkllÄáp¶¶¶%%%K—.•””±²²jóƒñ÷ßëèèH$MMMOOÏÜÜ\çââÒa`Ûuléb¾¬óæææÚÙÙQ©TQQÑY³f±ÎÃáZ[[£¢¢pÿóäÉ“ž~°œO°§Ú—Y\ºôÎÔ4HTÔ[Xø¸‘Ñ'N¤0ÿï!ù˜˜BkëÒÒ§ÿQW?·cÇ“ÚÚæÿÅIÇáýtùò·|}Ó7mŠ`­ò“—Wãå•U°TX˜ø¿8›ÌÌ.çäÔü/΂©S¯fd8JK[”ióæH_ßo™VNN›[LJJi·±u;,'±õt¾¡ÊÊFsóàââo÷ï<È/Š_fh(ÓmÌ=:Q·°äçç¯Y³æÓ§O­­­OžyyyIIÉåË—ŸS—1òò"’’BË—ëÄlæýùv5,‡±µ÷£¼?ðçÛMN>70°8^uÔÔØcÕýåaЭ¦¦¦_ýõþýûíwÑét&“yñâÅþçô?î^_ÑÒÒB…‡‡³7Þ»wµKWW!Ál§¼¼œÃ³`/Lzøð!{cDDD/ƒÿغ/&-- {ñ7¦¥¥%** ±½ùI@@ MùúˆÛ´´$Báá9ÿ?Œ„–!¤«+‰Šˆ°gÕj°þ+/wæð,ššT„ÐÇÿï•]ù½ þbëv¾˜´´/_¾|¿õÓÒˆŠÊgM!$ €£Ó»J+8<|^¾xWú޵¹2xåŸQò0žëË—/ööö>ló8*KqqqÞý€»ù ö>XŸÒÒÒªªªàà`¬°tÑ¢E!°|ùò€€€ÂÂÂæææÒÒÒøøxWW×Çsx–ùóç#„vïÞ}éÒ¥ÊÊʲ²²³gÏ °|yx@ÀëºææÖÒÒúøøbWרÇŸsx–ùóµB»wÇ]ºô®²²±¬¬þìÙW>ëeð?[·óÅÐh-667’’Jêë[22*—-»›‘Qif¦$'÷í&‘¤¤ÐÛ·åÙÙÕmüîé‰Àà°(`ï´½¬Í¤Â¤Œ²Œ.úƒeddØØØdffvñ‹@èý»ÊAâîý ##£íÛ·{yy9;;;;ÿuÉ’%¶¶¶!mmíÓ§O;99­]»¶Í±;wîäð,&&&ëÖ­óóóspp`5.^¼8$$¤7¯êþغ/ÆÜÜ<;;›ýÍ– «–ÅL™2åÊ•+¬+%ÑÑÑmâðDÜfd$·}»±—W²³s¤³s$[º¶¶Z!mm‰Ó§§99=Z»öa›cwîÏáYLLÖ­3ðó{íàpÕ¸x±nHH‘øã ÷ÄÖí|1ææÊÙÙÕ&&ߟâPˆXµ,fÊÕ+W2´´ü°ÍèèÅmâðD`ð§2®ûN ·,XÜÒÒÒÙï{:~ûöí={ö@¥í@Áõõm===/^¼hbb""""$$dhhèííÍþHíºuëž>}ºdÉEEE"‘¨¨¨8yòdwwwÎÏâëëû×_ijj jhh=ztãÆ! ‰Þÿ±u;_„¤¤dll¬µµµ˜˜…B™1cF\\ûâ+ÇŽ[¸p¡¤¤d÷V99Q?ðô´¸xq–‰‰‚ˆQHˆ`h(ãím4‡ÕaÝ:ƒ§O—/Y¢«¨H!)“'«øøX¹»Oàü,¾¾Óÿúë'MMª  ^CCüèÑÉ7ŽBIHõ&øˆ­Ûù"„$%…bc—X[kЉ R(Ä3Ôââ–²/¾rìØ”… u$%…º¸uÎɉ† –Ö–eAËþ‰ý‡Î ¥¹ÜpY~yy#½qûíÛïlgu«m¬]~yù² e_hßo¼î¾¿{ËÍ-\ ¬Gt6 „ãUǃ‘BÊ>, ZÖÊh}óùͲ eØï¿|{X½¦±Æ?Éßå†ËêÕ;Ãw>ÎzÌ¥y 8QQ>Íojjê:Y¡P(OŸ>í·Ø@/ázT}‰Ý†×жlÙrâĉëׯcw‹øDcc#™L¶±±ádyÂáp[·n=vì¯éÔ–-OœH¹~Ý»[Ä'édòq­›7ûï*çúêïoiii×o³ºw²e‹\VVv/OÔ^½IßSßR˲¡¥áiþ·Ÿ4iÛÒ=>šúÔå© E!ôà×.¡£sŽÎ7˜ªn¨ÿïø¹#æþcýO‡#ÿõç›Ïoº>»§µ§¢˜b‡»vßßÍyÍ‚B¢xÈ\^~9¹(yIà’6g Zd¢j’ZœºáÚ†ª†ÿ÷¸™½¡ýáYœÞC¬ªªª||ÒΟW¾xñ‹   ™LÆápØ3’ÂÂÂkäu˜à;VÕ&'ÉÂÃ~~~ååå666jjjŸ>}ºxñ¢¨¨èôéÓyè~~¯ËËëml´ÔÔÄ?}¢]¼øÖÇ'UTTpút5^‡x 6'–B¢ì˜¼CONOˆ D&’'©M MMÈK°i‹ŠÏ—¡ÈP) y Xºð4ÿ)ƒÉ0S3ëlÌŒ²Œ¤Â¤®ÏÛÐÒÐÙ® ý,Ø.3 \Lļ´ä’žœ«e’Ú$—ÇJÌÔÌ($ʽ÷÷˜L&¶ !4I½Ó÷îîž²»¶©›WƒuvqåÇh? v¢$QU'N7Qý^ë˜XQ_±cò'S'VãlÝÙ“}&‡½ âù ÜI¾²~ýúêêêÛ·oçääàñø1cÆlß¾ÝÚÚš×q¾±~ý¨êê¦Û·³rrjðxܘ1rÛ·[[÷àB"LtetÛü˜— KŒŸÏd2ó«ó‹jжý´M”$zé奌² =Y½„¼-i-9Š\gcv–7pèh? N¤}JCEdF$æ'bw󙈉}‘]À`6HòqqñƒöþfnêóåÚ†qqÒÁƒfvz1ŸO ˜Ì¼Žbð“•oßh®a~æé™Œ²Œ—E/q8œ™º™Aˆ @ˆË‰#áIÅ5Å«Ww1f/ëW~ €gÑ­úæz„PzI ‡Û70h ’|0ttøÜœ™šÙ™§gbsbS‹Suet¥„¥Bc”Æ$ä%`¥!“Ô:½„z]¿òp´²*³íRÎ b !éZÒmŸl'À¿ç`0ƒïoÀ`0Vy,™H~’ýäý—÷ËÇ,ÇÍÔÍ|}B„a]=BßËú•ÞÐ!’HQMƒÉÀ}[{bÆð“/Þz{ËÓÚS•ªŠ5¶2[#2#Z¼<€AòÀ`@ÄÇ«ŒÉ‰A™©»uh¦fv,öXB^Âx•ñmÀi£—õ+½ C#äF<ËfqÚBI\ ‡p{§í¯2ÞÞÐ>4=ÔòŒ¥ UEZDº¶±¶¨¦¨‰Þ´qÂÆ9zC}…0ˆq}½8èX–@&’Ç*ÅZ  ¨d*bK Vnn2™OµŸ^¾H*Lªm¬EšyÈ}ª»,E¶°º0µ85»"›ÁdÌÖ=wÄÜn`à‚ë+€ƒˆ'- ’ w¼nõ|ƒù#äF…ñß*Opÿ-ù¯®©NGF§Âã0€.f°(€Bú¾ ƒ¡‚a¼s|VyVmc-ƒÉГÕÃÆtç¸ÆxM~u~e}¥¤°¤’˜ÏöƒAòÀ€!€`_Œ¤ q!ñö{GÈàrP= ‹Y´‡.3¼}O§&¡¦&¡öƒ±0Ðô,_yöìYQQGeí`€;~üøñãÇyècÊÊʼ~DÏòmmm2™4¤ïµ¯_imm Z¹råôéÓ—,YröìÙÆÆÆö¦¦¦nܸqæÌ™ŽŽŽñññý2CÝð£Ã®8ð:=ÈZ£ IDATŠןñŸ{~nYвÇY«ªZÒ>¥í¸»#õS*«CImÉ‚ÿÜ|s³¢¾¢¹µùcùGþ €Ò×WÚÔ¯|ýúuæÌ™ìùGHHÈÉ“'###eeeY÷ïßÿý÷ß›››±ÍóçÏŸ8qÂÅÅ¥?#°{½ý5¯Cà; y G¢àqø-æ[æœ/-"Užu!ùAàû?ûG¢|¡}™¨6ñÀŒ ¢ O²Ÿüþk`J íHÛÑŠp£ð—!}}¥ ww÷øøxOOÏðððS§N©««¿~ýÚÉɉ½Ûþýûg̘qùòå°°° 6àp¸mÛ¶}øðWa@{ÿÄüƒúÍê7ç‰Î b D̛В‹’—.A%æ%jý¥…5- 2Q5a¯_i¢7é{ê[i[íµÚ{0êà³ügxüT­©û¦í‰Ï÷Ž÷Îø’A!QZô³ùϸ￶aÕ)Å)´&š¼¨üŒá3\'¹RHV‡›on¦f–e2˜ )…£®0Z_•?Õwê £¿OÿÕk\m¼zÕž.âïóϪ¤¶$½$]JXj¹ÑòÎú¤§Òô)šSÄ„ÄXóFÌû#ò¤‚¤> €^‚|囜œ6kÖ,V²‚’’’Z¸pá™3g^½z5mÚ4¬ÑÑÑ‘ý@GGGW¯^õk¸€.Õ4Ö, ZRR[‚m^}½º¡zñèÅ›Â6µ2ZB - §OI K®2^…õ N Þ÷h“ÉÄ6‹jŠü“ü󯮼J&’BEÿå÷ÜuŠw¥ïDH-N=6¯ï_YïpÅ!1/±ë>×?Ô”Òìp×ÛÒ·¡‰jß—¾?uèUÉ+A‘ ª~6ÿ™uH~U>BHGF‡ý@*™*G‘+¬)d0ì™<ùÊ7X]­¤¤d›v¬…½ê–J¥¶ïÐÐÐÀõÚŒ•³ve ?:ÜDÕä¿%ÿuÝùEá‹Ij“Î.<«.©žY–¹åæ–¨¬¨ä¢äÕÆ«W¯¢’©³o¿³Ý?ÉËW « ="<ÄHb»¦ì²Ð´'‹TxÇ{ßϸ1ù¢“©ÓÛÒ·~Ïý„B;§ìœ9|&OŒÉ‰ù#ò;ïîÌÑ›c¥mÕ·ñ÷Re}%B¨•Ѻ4hiCKB¨‰Þt/ã^LNÌ•åWôäôB´fBH\H¼Í±T2õsÝ熖A® @@¾ò‚‚BèåË— C@àûo/^¼@)**²ZRRRÌÌÌX›ÉÉÉ!%%¥þ‹ÐIaÉÓ N …B£F­¿Ö#Âc¬òØÝ–»±sõæÞz{+:+º¡¥L$ß|s“Πœyp–î,¬ƒ–´ÖñyÇ“‹’#2#œLîgÜG¹LrY9v%ÖÁFßF'°íö¶ð÷áœä+=ÒË„†Ád „î¸o:Ìt÷”ÝêRêUEÿ›{0ê`в „ëJRµÀ[¯|###cdd”’’²k×®C‡‰D&“yâĉˆˆyyyCCCVσNœ8ÑØØ!”ŸŸ¿eË„ÐôéÓy: }9},YÁ(‰+!„Æ«Œgï£(ªˆ*ÿZ®BUùXþ!´õöÖ­··b?°™ˆ‰}C8„P^eBÈRË’}l»±ÂWDI¢!!‚Ð)»SØ×:2:§ìN™û˜¿(|¥hX{McM›ckkðxìüò•ïŽ=:}úô¿ÿþÛßß_SS³   ´´k'¾PÊÊÊ&&&ÚÚÚ$)##£¹¹yôèÑ‹/æ]à€¶HR·ØªhØ¥ìÿXiKÍ­ÍméVíÁDÿïâD#½ƒœ8ÑËúuIu„ UKJ0d"yuXzIzUC™H&1 !”Y–É~`uCu)­tu¯~ùÊwS§N½sçÎÏ?ÿœ••UYY‰RTTûÁqÉÅIj“:ì &©†ŠÎŠÖ–Öf5>É~‚Â~ðK‹H#„ « Ùzšÿ´Í8\Š¿á²Ã©djaua]S+eihiȯÎÇ à%È¡1Jc„èìèÚÆZÖ#B·ßÝf2™ãTÆq;BzjHç+X‘,{ª1{öìÙ³ggee•––JJJêêê²ÿ:µaÆ™3gŽ3&,,¬¸¸¸  @IIIUU•¡0TQÉÔå ª ”Å•ûð€Ý™§g~¹ýËŽÉ;ÌÔͤE¤kkòªòÂ߇ËQäœLféÎ:óổ„"$‘:3ˆxblN숡ٺ³Bd"YQL1.7.ôUè¬á³šZ›"2#¼b¼~,þ^Ö¯àqø…£ú=÷s¾áìné®&©†Õ¯T7T›©›a÷zDI¢3‡Ï¼ûþ®ëM×3È‹Ê?É~‚¼x4\0|gHç+X-­¼¼|›v-----­öý544444°¯•”” Æ€þ7AuÂÝ÷w-Ï|«#é«õKÔ$Ôþ˜ùÇÞ‡{wßßÝfׯ BúrúkǯõOòßÿpÿþ‡ûY{çêͦóm±ƒu&ëDØ}o÷î{ß±7´Mí‡øÛs™è››˜—87`.«‘J¦î³ÚÇÚÜ9eçóÂç y S}§²W­€Åm¢ùÊ?ÿüsæÌ™?ª«««««ó:‰‰jnÆ öý“&¿MýΠ?+xVÓXÓ·O²,2\¤+«T˜TY_)),©&¡6Go޾ Öa·ån]YÝÀ—™åÿ[/Î`!ëq!„ÐJ£•õÍõÁiÁ¥u¥*T•5ãÖLR›Ô&_á^ümPH”+˯œH8ñàÃ2Z™„°„™šÙÏæ?+‹+³ú(ˆ)\w¸îã—Gk¢©J¨bï;ä^TÜÖØˆ‚ç›'\þÂØÛÛ#„BCC»íÉ眜œ|}}åää®]»Æþp2Ààp8„BZÄë@@ß²_¸°þþ–––Òh´.:¼|)´x±RBB¾œ× 5`@õ÷OHà»'¶@‡45;.ïЭÿå—_^½zUPPÉ }NS³!ôᡃþ–™)¨¥ÕÂë(W Ñ|EGGÇÀÀꀨÔVuõ–gÏ`Ðßž=#ýƒÏ>7DóWM™òõÁX(ô§W¯HEEK˯¼pä+€¾go_WP@Œ‰î¾+}$(H\G§Ùа‰×®€|Ð÷´µ›--¿=*ÕÚÚé‚°ô¡÷ïI7oŠnÜXÍë@·@¾àŠ={*òó‰—/‹ñ:0$üñ‡Ô¨QóæÕñ:À-¯¸BUµeÍššcÇ$³³‰¼Ž r/Š''“÷ï/ïüýN`ÀëÙzq™™™?~TQQáR4€Ÿ¬Gh;¯c}«"3S»û^}ÇÕµòùs¡µkŠ%%;x• ½'üçŸR¿üR1r$T® fCt}[Эѣ5Ú¿© hiiiý|F‰yæÌç ”7o–÷ó+¡PýôÒÓI®®r¶¶4''¨\äz–¯èèèèèè ‚õmA×p8œ££ãìÙ³yèK... ¥ŸO*%Õzî\ɪUŠ‹)=[¢¬ +Þ‚>óàÅÍMÖĤáàÁ2^ǸêWÜ¥­Ý|ýzÏ\°@ùÉxÂô¦&Üñã’®®rööµ¾¾%D",õ3øA¾à:zHȧ‰Ö­SذA!/*pÁ{ôHdæL•€q²}ûÊñx^úä+€þ ,Ì8v¬4(èSq1aæL¹¨(‘†xœpêógBPø¼yÊÎÎòFF‘‘…Ë–Õò:(РÞÐLLnß.º{—,¶i“¼€SC£ENŽ¥¸ 3 ®¦F /øù3LfÌœùõС2xhÈ|Яðx¦MM]y9þùsòû÷‚ .´|SS“ZXx~äÈy¿ ˜êê-?ýT¯¯ßdlÜH"A©Ê5Ôó•ÄÄÄG­^½ZMM×±0´HK·Î™C›3‡×qð™{÷Ò¶l9ý¯€¿ ¡ú•ØØØßÿ½  €½111ÑÃÃ#//GA {C+_ñððh“¯Lœ8qÿþýpqàgCý~Ðĉ'NœÈë(Е>ÎWª««=z”››K$úé'¬½¬¬ÌÇÇGJJÊÅÅ…Õ¹±±ÑËË ÇïØ±ƒ@ tq8Kmmmdddvv¶°°°‘‘‘©©)ÖöêÕ«_ýUXøûjTXã®]»„„„þûï¿Ç#„"##Bjjj«W¯î°~%???22²´´TRRÒÂÂBWW—µ+222>>ÞÉÉIBBâÎ;YYYrrr666’’’Ý~8)))111L&ÓÜÜ|ܸq7oÞLKKcÅÌ™J¥†‡‡gffŽ;vúôé]ÇÓíÄÙG»uëV~~¾¢¢â¼yó¨Tj·1ü /ó•€€€mÛ¶ÕÖ~ ÞÜÜ<,,LZZZFF¦´´ô÷ßg2™®®®Ø^gg瀀___,YéâplÓßßûöí555¬fff111aaaAAA...m~lmݺËW¢££BçÏŸÇöNž<ËW<<<,,,XùŠ»»ûÑ£G[[¿½› ‡Ã­]»ÖÇLJH$"„"##9bdd´sçÎŒŒ ¬””TTT”¡¡agŸ ƒÁprr:wî«ÅÙÙ™F£]¼x‘36òÈ‘#ýõ×ÜÜ\„Ð/¿ü2}úô®ãév⬑õõõÝÜÜòóó±>ÒÒÒ7nÜ033ëüÏà}–¯ÜºukíÚµaΜ9zzzMMMqqq«V­ G?~üåË—Û·o7nÜ„ üüüV­ZµaÃN ]·nBhܸqãÆÃãñ/_¾Œg0ÝWá8880Œèèè5kÖ¨ªª"„:¬Y9uêÔáÇq8ÜܹsõôôòòònÞ¼éçç'--}øðaV·7„ 6P(”¼{÷ÎÅÅ%..®³³?~üܹsx<ÞÖÖVCCãÇ>>>222í{nÞ¼YPPpݺuJJJ¦¦¦ÆÃ gggAAÁ 6 EFF¾{÷ÎÎÎ.##CJJªGãý¯ÏòwwwaaáØØØ±cÇb-L&sáÂ…aaaººº‚‚‚¡¡¡FFFöööþþþ®®®£F:}ú4‡‡ÿöÛo¡S§NmÞ¼™uÒøøxMŸ>•¬ „lllÆ÷âÅ‹6ÝÜÜXÉ çñpbçάð _Àÿú&_)++CeggïÝ»·ý^öŠssóaÃ†åææÚÚÚjiiqxxEEBhøðá}mgªªªBmÚ555B•••¬ö !ÔÒÒÒŰío?©©©µÏW´µµ N¨««·ßÄNð¹¾ÉW$$$B#FŒ°··o¿wܸq¬¯7oÞœ››«©©ùßÿ-X°ÀÚÚš“ñ‹>tVmJ£ÑXŹ¡6K­p8‹œœœ6íÙÙÙ!NžêbØöKÒu¸HVzÌy<œO<77—õ8¶É:="..Þ£{‘ GÄÅÅBrrr¼þÒ7ùŠŠŠŠ¶¶vIIÉÂ… GŽÉjg2™=b•¤œ;wîÂ… kÖ¬ùûᅩŒRRRÔÕÕ»=Çkkk¿xñâìÙ³X}.&!!aâĉ8+¡ wvvÆvEDD$$$°‰=,ÓÅe UUUeeå„„„Û·oÏ›7kLNN¾ví™L622ú±gذaŠŠŠ‘‘‘±±±¬'´ïÞ½ÛþâÊÄÃÉÄ1Gޱ¶¶Æn6Ñéô}ûö!„&Mšôc“CöW p öñbWm,}Vo{ôèÑùóçYZZêêê ååå%%%åææ644àñø”””-[¶ž:uŠL&‡††š››/\¸011‘D"u{øÁƒ/^¼qãFìù äääÄÄÄ––0wîÜ}ûöýüóÏqqqÆ ËÈȸ{÷®¬¬ìçÏŸYb·Ÿ¶oß/,,Œ­¿Òf»vírqq±µµ;w®®®n~~þ7ZZZvîÜÙ›_(·mÛæææ6uêT[[[uuõ?Þ¾}[VVöË—/8\W¯yë6N&Ž)))ÑÓÓ›;w.‰DŠŠŠzûö­´´tûOàC}–¯ØÚÚ¹ºº>|øðáÇX£€€À¬Y³BuuõÂ… I$vm!4~üøcÇŽ9;;»ººž={¶ëÃB‹-ª¬¬tssKJJJJJÂ:˜››c5¹£GÞ²e‹··wHH¶kïÞ½999AAA¬gΜ9bĈwïÞýý÷ßè믴™…³³sQQÑßÿ}çÎ;wî ÿ­wòÇôæÃÙ¶mÛû÷ï®]»†µlÞ¼¹¤¤äÆ]§AÝÆÃÉÄ1'OžÜ±c‡¯¯/¶‰­¿3úr½¸¥K—ÚÚÚFEE}øðÁ`¨©©M˜0+MMMMupp°°°`ÕØ"„°‡}ÊÊÊJKKåääº8ãää´dÉ’‡æææŠ‹‹™˜˜°ö?~|É’%qqqÁÒÒÒÐÐ0,,LKK‹uíZHHèÅ‹áááYYYMMMXlû÷>|xãÆ¬õd§L™Â¾ž¬•••¼¼<ûıFYYÙÎ><ïïï¿yóæ˜˜„™™Ùøñã‡.--Í ¯Ã‘»‡“‰ctttÞ½{wûöíüü|%%%XßÀ‚ÞæVʵx­/^°×ŸwõêÕÅ‹÷è_f†‚¡þ¾Ã~ciii``0fÌ"‘˜œœŒ•Änݺ•×qä+ýdüøñ?~úô)¶I"‘<==Û¿ÐíA¾ÒO¢¢¢’““ÓÒÒÊÊʧOŸ®  Ð?§î¬2( _é?ÆÆÆÆÆÆý^+++++«þ?/ÐWº³1oA¾~ù øä+àw¯€ßõøù ¢¢¢«W¯r#ÀWRSSyècŸ?f! =ÎWž={¶xñbn„øÊùóçÏŸ?Ïë(@ƒ|0@õ,_7 ÿAý øä+àw¯€ßA¾~ù øä+àw¯€ßA¾~ù øä+àw¯€ßA¾~ù øä+àw¯€ßA¾~ù øä+àw¯€ßA¾~ù øä+àw¯€ßA¾~ù øä+àw¯€ßA¾~ù øä+àw¯€ßA¾~ù øä+àw¯€ßA¾~ù øä+àw^CN¯««cm~ýú!TUUÅjÁápT*•‘ÀOpL&“×1ÀÐõåË%%%:ÞY‡©S§FFFögHð!¸¼$++kaa! Ðé¿ÆK—.íÏxàOp?Ð3]\ ?ÀÞÞþñãÇî"3gΤÑhýý€B¡pÞò@ÏÔÔÔÀϾ5aÂ<Ï`0Ú´ãñøÉ“'766666ò$0¸ªGù ܱ´´$ÚþÉ`0lmmyüòà½yóæµ¶¶¶i$‘HS¦LáI<ðÈW€÷¦L™B&“Ù[°Ê!!!^…_|xOPPpÖ¬YD"‘ÕB§ÓçÍ›ÇÃà+¯_°¶¶niiamЉ‰Mœ8‘‡ñÀW _¾`jjÊZÇ–@ Ì›7¯}.Cä+Àðx¼ vKˆN§[[[ó:"øä+À/æÎ‹Ý’‘‘122âu8ðÈW€_Œ3FQQ!4þ|Çëpà#psÀååøçÏÉïß VTh4øÙü ™¼ !Ï7o\]åx _@bb •}ý&cãF ÞÑ;DA¾èW­­¸»w)—/‹¥¦ 055[ääè""m—¢²—”–ÞÅë@øEk+.7—øä‰pI Lf̘ñuÕªƒ&^Çúä+€þóü9ùÀéìlâ´i_ÏœùljZO&ïËmP##·YY•ò: ¾óù3!*JøêU±ùó•çͫ۹³RVÞ»9„à˜LøÇÐ¥¥¥?ð¾Ãúzß~“¹s‡biYïî^®¦ÖÒý1täÑ#‘Ç¥**ð»vU,[VËëpÀÓÔÔä¼3\_p]I aÃù/_~~%õ¼ lÓ§<¹þôi‰ýûe²²û­çuL€û _p×Ç‚«V)R©­×¯)+Ã|ÐH$æÖ­•ººÍnn²ÄÓ§?‰p¯`ƒç™\TQ_¿^AUµåêÕbHV@ßš9“Xœœ,´g ¯c\ù €[ššpNNò1}|>S(ðè{††M'N”Þ¼I9s†ÊëXwA¾à–'$³³ýýK$%[y ´ÌÍëÝÝ+þùGêͯc\ù €+ ˆâ¿üR©© îZµªÆØ¸ÁÃCxÄ ÞÀJ©©µ,]:˜7ÍËË{úôiEEƒÁ@-]ºTFF!”™™ùæÍ›/_¾àp8… &ÈÊÊöC<¸–ê¹s8ú·:¡êÕ«bbýp^~°wo…­­òíÛ¢66u¼Žpä+€¾÷ñ£àãÇ"~~%xü ý…7((ÈÃÃËT0Ó¦M»ÿ~@@@QQ{O<¿téÒ½{÷â¹üÜ­ä±cÔ³gY›µóç|EO¯ÉÖ¶Î×— ùÊ`ù  ï…†ŠÖ2yò ]j¥¡¡áСCX²bbb2~üx'--WTT$..nee%&&›ÝÚÚH öìÙý„’“©~~ÜŸÿ­XQcg§œžN24„Õú!ÈW}/:ZdæÌ¯ƒøù¹¹ÍÍÍØ×žžž Ø×8ÎÁÁaÇŽÂÂÂ!77· ¼ÿ!ôË/¿`í}N ¾^ÖÍ 1 *U ºš§àMÊÊôÇE _” _ô±êj|n.ÑĤ×pK@@@ff&kó¿ÿþ#“ÉBBB6lصk—††k—  àüùó:„jiiÉÏÏ×ÓÓëpLáèh¡×¯B ‘jGG„Ã!„ð••bXÖG›5«Y[»³¤$2…„*vìáæU>7aBCZš¯£\ù  eeB::ͼ„[üýýKK¿¿ðܹs!*•ºaÃödC |ÿgVTT´³1›õõewíÂWT „Wí舒ݹS8:!Ô0aB¥³sgÇ ?~,võ*B¨rëÖuõšÓ ¡£ÓGæu€+ _ô±êjC§ÓÝÜÜîܹƒ"‰ÇŽ›9s&ç‡Ë¸» fg#„‰ÙÙøª*Ê;cÇÖ¬XÑaÿ&}ýª-[Ø[EE¢aaØ×5«W3ÄĘ""?8ø ä+ÐgöîÝ‹%+¡±cÇfff²¯Ô2gÎMMÍÎŽ¿x‘r÷.B¨URò󉤷oÖ¯GL¦Ô¡C£F5Õþ&}ý&}}öòóç¬|¥zõjº²rï'?€|úL~~>ëëgÏž={öŒ}¯žž^gùŠPZšÔáÃ!„Ã}ñôl•‘©·°¨^»–êç‡ki‘wu-¼u‹A¥r3vøä+ÐcŠŠŠ[þw#†}å• L˜0¡³£Ú¯&Ç"øñcõæÍ¡UÕúŸ~Â+ÝÜZ©Tæf„éÝ»†‰» ¬EI‰u‡hè¼ì 8&sЮ‘à†ÒÒRÖE‡{÷([¶Èeee÷[H`à{o`éâöh{°þ øä+àw¯€ßA¾~ù øä+àw¯€ßA¾~ù øä+àw¯€ßA¾0ZZ[–-û'ö^2°¥§. Z¶,hYjq*«±O>[î ¼Ÿ0`0˜Œ¤Â$1!xíð£3èî÷ݳ*²˜LfUC«½÷Ÿ-÷FÁõR|Ÿù–ÒJg Ÿ5€FA¾CG^UžO¢Ï®)»d)²ed0p?0ð4·6_N½ü,ÿƒÉ«Ê|äãÅ~jZÍéºSucµíH[ M q!ñ‚ê‚ /.„¦‡šªšÎÓŸ×á”3Ê2’ “ºþXZºØ[Y_yäÉ‘-f[Ô$Ôº!Tþµ|ãµeÇæ›«7·ëÎÜv¯&bþ·ä¿r#°ÍYº³¦þ>ü™… „ç\O*™ŠuX2zImcm›.-¹¤'§ÇÞ´,èyÁ󘜘‡6·63™LT\Sü¹î³¼¨<Ö‡ @^̺I4Œ:lEðŠ”â,_¹ýövsk³ã8G÷©îX‡9zsvßßšÊ:ËÍ·7+ê+vLÞádêÄjœ­;{²Ïä°7aå+»§ì®mªípK×WFTUXg²®ëABÊ>¬]ßDo Z4Zqt·ý¹72ì _ 0z²z¬d!$A–°Ò¶ºöêZVyÖ(…QKÇ,½ñæÆ†klGÚŽ”9\f8‰@jó0­®Œn›d¥•Ùºíö¶¸Ü¸ö§«kªcå+ ¬d!4R~$B¨ªþÛeB G-d?|þÈùìùJÚ§4„PDfDb~"vÛˆ‰˜ØÙÙNùÿGÛSñ¹ñáïÂÃV‡áqø®{~(û°èÒ"1…àåÁJâJì»v†ï,¬.dm{TY\¹OF€¯˜ö+yˆ ‰#„šèM!uIõÈ‘·ßÞNÌK H øTûÉLÝìW‹_µ¤µXýYùË·wârã†I [a´b˜Ä0a¢0‡ûïå?¼6‡Ô7×#„ÒKÒÛÏK ØÙ”{Y¿r,ö˜QèPä÷JØüª|„gŒ§ßs?÷©îXâ…Í/€¯m¬ýÚüµÍ ¯J^},ÿØf"}22œ€|0Àd–e¶´¶°J\B¯K^#„äDå°Mq!ñ•cW®»!ô…öÅ麓Çh§h„uh_Š%'íNêÉ~¿’q,öX“‘E½+}Çž½-}ËÞGAL!ä1݃=Â`w²:ÔËú•ú–ú¯Í_ÛY–‰ªi¬aµhHjœ°=±:dõÒ ¥~ö~c”ưv™s„ý*T•¾N@¾`Ê¿–ÿùÇ«=‚xA&“y!ùBRa’*UU•ªŠº|AWFw° Xg ²…DùRò%¯*o¸ÌðÎÆÄŠ]RŠR°|…Πû$ú$%÷(03u³ Ô #ÑG´¤µ°`²Ê³Ú$=3†Ï¸˜|ñÖÛ[žÖžX„P+³5"3¢•ÑÚÙȽ¬_i“j „.½¼ôàÓwŒQ£+«Ë¾k¸Ìð!ÁWNÏ?m¦n†µRÅ¥‘àä+€FSJóÚ«kwßßU“P+©+)£•!„vXìÀöÆdÇŒ<("(¢JU$æTäÔ5ÕI%XÉA‡,4,N%œÚÿh¿’¿„°D^e^mS­¾œ~›«#]³Ô²4T0L/IŸ~vº¦”f+³5·"w¸ìðOµŸðßÊ;Æ«Œ·7´MµíòÃLÆ‹Âd –Ö–åL†ŽŒŽ ¾m¥j}K}~U>“ÉTSÀÖ‘k?BûñZr+sq§%­EÄ ª JjKF)Œ"Ɉ5J KjKk³ó¹îsIm‰œ¨œ¢˜bÀ‹€?£þ<:çè|ƒùì}˜Lf~u~e}¥¤°¤’˜{9N?ȯÊÿ\÷y¸ÌpÖSßN°¡¥áUÉ+7Vyl·Oq{dNpï{pƒ¦¦&ç!_ô óþ—'Je-.’˜—èrÓ…ÖD‹sŽ“£Èñ6¶¡`(ï D=ÊW ~ú̇/þŠþKJXJ™ª\ZWú¹î3Bh…Ñ HVè%ÈW Ïü¤ñSÄLj—E/+ê+B$iù˜å;-wò:.<ÈW ÏèÈ脬©n¨.¬.Ä à5¤4„B¼ €ÁòècT2•Um è¯LþX¶ì®‘‘ÑèÑ£ eddxè¯LŒ‡ {uöìYƒ¡¬¬lnn>eÊSSS2¹«5xŸƒ|À`2ëða„FKOOùòå“'OBBBMMM§M›6gΑnGüÖ·0Q(”I“&mÙ²%,,,11qÿþý‚‚‚055uwwOOïàÙ€ŸA¾`“––¶··?uêTbb¢››[zzú‚ lmmcccyàä+† 11±•+W†‡‡_»vMAAÁÑÑqåÊ•¯_¿æu\ {¯rF}úô馦¦ùóçïÙ³§¾¾ž×A®@½-``+ª)²8m±ÂhÅïÓÇZ ¼ ä ./¿ÌÓ¸úFmcmlnlÔǨ˜œ˜ÚÆÚ6ºY¸ñ:¨ÁcìØ±W¯^ ÿý÷ߟ?~æÌ™½ÑæôéÓ²²² ,à^„]¸}ûv^^^›F™3g¶iÌÍ͉‰©­­;vì¤I“ÚUTT”žž^TTD"‘ôõõq8—Âþa¯@ ?:ÜDÕä¿%ÿqûD{î Îí³ qsæÌ7nœ³³³½½½¿¿ÿ˜1c8<ÐÇÇÇÀÀ€WùÊ;w¢££Û4Ι3‡=_¹zõªŸŸ_NN¶¹qãÆ6ùJ^^Þ¯¿þš’’ÂÞ¨««{òäI555®Äý£ _ 6¯·žrq!ñ¹zs-µ,è ¿Ýÿ×á Z²²²[¶lqtt¼|ù²žž'GmÞ¼YVV–Û±uÍÅÅE@à{i‡ŽŽûÞ„„„œœ555%%¥„„„ö‡§¤¤(++5JII©²²òÁƒk×®}øð!ÀGI… 3`_<øð€·‘ z$éäÉ“«W¯vvv¾uë–¨¨h·‡lÚ´©ëš««+ïlïâÅ‹þùg t˜¯¨««_½zÕÈȈղuëV;;»üüüäää &p%èù ` a0IWÒ®×Ë‹Ê/³l–î¬6}ØëWšèMúžúVÚV{­ö‰>’˜ŸXÝPýjû+a¢pRa’ßs¿”âZM^T~Æð®“\)$ kœ…/^¤¥Ô5Õ©PU¦ëL_g²îcùÇ%KB‰y‰Zia=ƒ–™¨šô×g¸…H$z{{Ï™3ÇÛÛ{Ïž=Xcrrrff&FSVV7nûÿìõ+V“ „¦L™b``ÀÚ|óæMjj*F“““›<8üøp·¾(|1FiÌ©ù§teu…B…Õ…b$±]SvYhZˆ“Å ª ¼ã½ïgÜ¿˜|ÑÉÔ)·2÷`ÔAœÀZ“µö£ìÄŠkŠe>"HÆÊÆY»²ú­Þô?;;;//¯°°°ÆÆÆW¯^ÉÉÉYZZŠ‹‹'%%½|ù’•¯°³¶¶f¿Ž‚ºvíš’’’ B¨µµuýúõ¯_¿ÆÞg$..žŸŸéî¥5zôh„Ð7»ÉnçÌ™Ó&_qrrb}­§§wüøñ^¦ iiiÖÖÖØå–ÔÔÔÇ[YYihhdff>yòdß¾}ãÇ÷îÝÂ… ©Tj|||FF†———Ooè ä+€ãᇇ!7 ·ßžÈXa´¢¦±æXì±®& û.ð•þv¥úæ››týà̃¬{IZÒZÇçO.JŽÈŒp2uºõöV+£uóÄÍ¿üô ÖASJs“i‹ ¡ˆ-,,±dÂÂÂäää°]ÍÍÍoßv|=oÞ¼yì›'Ož”••õóóÃ^²øèѣׯ_[[[{zz²ÊM^¿~½páÂóçÏ{{{#„ìììŒ»Ž­ÍÝeeå±cÇÊÉÉ•””<~üøýû÷>¤P(еÂÂÂM›6 6ìÀmvUVVúùùMž<Ûtww¿zõjrròDZϧ¥¥eúôéÑÑÑL&“CC¾0ò«òBæêæì?©ÿÔm¾2Bn+YA},ÿˆÚz{ëÖÛ[±;>LÄľÀ!B(»"!4kxÛÊ0DèëëÇÆÆnذáòåË‹-ÒÐÐÀáp‚‚‚œ<íìççyéÒ%Ö‹±ZWaaá3gÎ|û–c2™L¦˜˜ku];;»éêê:räHÖÃA555oß¾½~ýúªU«z4&;;{åÊ•"""íËõõõYÉ BhÒ¤IW¯^]°`+™#‰ãÇ¿~ýzYY7›‚|0øQÉTöM“je´¶ïÙÜÚÌúº÷¿#BýÊE¥RkjjÌÌÌ‚ƒƒ/^¼¸xñ⦦¦‘#GN›6méÒ¥Ø%“Î\ºtéæÍ›m~äWVV"„BBBº8°§õ+£Fbß%..îìì¼yóæÎ®uíÕ«WŽŽŽ’’’fòòòì›Ø‡ÐacCCÃÐ-ÈWÆ0‰a¡¸Ü¸åc–³cs{üÊ:,?¸¸äâ$µÖúdu¸Ÿq_Wöÿػ︦®þà' aÂ{+"‚¢8PTœ 8E-j[kU:¤Ui]µŽ:«­uÕÑ:+Š‚{Õ=@DDQAÙ ›„@€¬ß·Oš‚‚ ôó~=äžœ{î—”Ç|¸÷Üs»4ØFh"±¨¥Ç…ö‚Ëå²ÙlBHïÞ½{÷îM)**Š‹‹[·nÝßÿ.¿ä‰¼cÇŽ………9rDW÷ÿEdj´©S§¾yCºº:õâÝæ¯´Š˜˜˜àà`33³¿þúKþ(¥‚¼톷£÷îØÝomTWQæ0L,_J½ô{L‹'÷ù»øïº·kþÙù¡ƒC=m= µ ¹5ÜÌòÌ )8,N°Gðxçñ;ïíÜ»K,Oth¢m’ÏÍ¿ò⊪Šêg½?#„èjè¾,y™]‘mÁ¶ Ó}毴S¹¹¹&&&±±±...Ô5ccã1cÆÜºuëôéÓ Îi=uêÔÞ½{>üæ=½b±¸ÞònÅÅÅÔëÍ_ÉËË«©©‘/ƒËåîØ±ƒÈÝ×ÓL—/_þöÛoíìì:ÔÖ÷W¿äh7\M]?rûèhÂÑ…ÊÇ89Ÿr¾EãØèÙüäóÓ²ËË_Z\ï­9ýæBlõm— ]²úúê]÷víº·Köî—ý¿¤^ô³êw>åüÐ]C©Í¶[åxÒñ%—–È6wÇîÞ»›"ÿ¼$hu·nÝ>|øîÝ»>|د_?kkk&“™ššzç΃QïÜ åÂ… ‹- —o§Ö_ñõõ=pà@xxxTTTÿþý x<^fff\\ÜÌ™3©+;-š¿’žž>sæÌž={ÚÛÛëéé\¿~½ªªÊÈÈHþùOŸ>½~ý:!äåË—„øøø­[·B\]]½¼¼!< ‘H$½{÷ “?Ä Aƒ¨—”ò ´'+G®´Öµ¦Ö‹ã°8SzLÓµÅy…2©û¤.Æ]öÅí‹Ë‰+«.Ó×Էѳñuòï<žêð‰û':ï{°/!/A XêZzwöþ¬ÏgÔ»K‡-ID±Ù±Ü®lèâââ^½zåíí­««›˜˜xãÆ Ù[ZZZ?üðCƒ'!~üñG±XQ¯ÝÐÐÐÅÅ…Á`ìÝ»wáÂ…7nÜïÃápêMCi&sssGGLJ>|øPÖèääô믿êèèÈZž>}JЬÿ´iÓ¨¼’ŸŸ/‹ !‡®wmmm¥Ê+4ü? Z¤°°Ïç7ÑáâEVH'--ýƒ•@yÿß=±XÈf³÷ïßO÷ïßÏÈÈ „˜šš4HSSSÖY~}Û]»vÕÕÕ½9`½õmÓÓÓãããËÊÊôõõmllÜÝÝ›XMÿ­ž>}úìÙ³’’mmm—îÝ»¿Ù:¿RìüJjjê•+W\v~E~}[Ù»çÎþ|ùùª <0ß:>@°fÍšððpvçαX,›8RZZúÝwßÅÄĬX±bêÔ©MŠ‚ó+ÐÁ%''ûúúR7æH¥ÒªªªÄÄDBˆD"9uêÔ¨Q£ÒÓÓÃÂÂV”ί@‡%•J<¸nÝ:FݸKa2™·nÝÊÍÍݹsgVVÖŒ3¾úê+Ù³~@9!¯@Ç”ŸŸ?oÞ¼„„‰D"ß. :TSS3f̘;wÚÚÚ*ªBh>äè€.]º´xñâÚÚÚza…RUU©Të¡AÓ0:>Ÿ¿téÒ¹sçVUU …ÂûÐéôôt,Ôž ¯@G;jÔ¨'NBšX•F£Ý¼yóVï y:‘Htþü:B< ¤R©ªªªªªªŠŠ F{³³X,¦îjþðu»Áü€ö‡WÃ;ÀÕÔÕËÞ«‡Ýyo§1Ëx‚K»\0Ïç;:¾reȦMi|>¿²²’Ïçs¹\>Ÿ_QQÁãñ*+++++«««««« !ÕÕÕ=êÝ»·¢ ‡fA^hxµ¼­Ñ[§õœÖºyå÷˜ß]L\dye[ô6 ] ÿnþ­xˆ¶£««Û©“!?¿·OL¡²‹ü£ŒAÉ!¯À?¾ìÿ¥1ËX¶¹=f{_«¾í%¯´ˆ¶¶¶¶¶¶¢«€@^€|áñ…¢Khò ´b©xÇÝvvcœÆ¤—¦ÇdÆ” Ê¿ðøâð£Ãj*jAnAT7¡X¸óÞNBÈç}?×djRÇ“Žsk¸³úÎú…1LBHYuY\N\vy¶ C¥³agÑàŽÑÑuâ:7s7w ÷z‡¨ª«ºþòz>/ßDÛdDçõÞÝÿ`ó?&ª•Í_ÉçåG>Ž”H%ÙåÙ[£·R#¸X°-¨×O^?IÈKà×ñ9,Î`ûÁš­ÿ±ÈA^€vC$mÞ:¼Óð—Å/wÄì gö™—w+ý–_7?ê»9>7žúŠífÒm¨ÃPBH¸nÕÕU}­ú6–WN=9•S‘Óôѧ÷š®§¡×¢Â˜ æO×~:šp´N\'ël£góGà¶ú¶ò;æqó6ÝÞ$»ÿvR÷IkG­•í’\<ûÄìb~1µiÄ2Zí³Z¾€}MT+›¿’Ï˧FÈåæÊòJ_«¾l‹’ª’ygçÝ˺';ºScùˆå]'6ý¼ähgò®½¼6Ðv ÇI]EÉ`zÚx^}q56+–únŽÎˆÖdjj05¢2¢¨–9jD5ž¶žyêÉ©˜Ì˜¦ëëäÛX^i¬0BHTF”1ËØÍÜÍœm^+ªM)J‰ÍŠýþÂ÷Ó#d;&æ'ÞH»1Ønp'ÃN…ü‹)'ã4¦¿MBHU]ÕœsŠùŶú¶ž¶žb‰øö«Û‹/.–?ô;| V+c¦câ²íî6só—ªÑœm.–ˆgEÎJ.H¶`[ ´ÈVgg•g]{ymÉ¥%†=̰\,´ähgJ«KûËxçñ²êk8:#šúnŽÊˆêgÝO[M;:#šê@½h"¯øwóóL=úšú--Œ²räJ;»Ø¬Ø^*CµeŸ’ª’„¼„rA¹,ý”V—î Ø9¼Ópjs íÀïÎw+ý•WΧœ/â ´¸gâ*U„‚éG§—U—½Ï'Ð`µ2T^Ù³ÃJÏ*Ä3DÖ~)õRrAòØ®c7ÙÄ ÿsU+¹ y⡉ûìß2~KÓÀ;C^€vÆVß¶Þ·¬µžµ¥®etf4!¤\PžR”2Ñu"K•uæé™|^¾™ŽYtF´1˸“a§ÆÆl•[`Þ,Œ’˜Ÿ8ãØ ‘DT¯½´ªT–Wºw•…Bu‹r¿ˆÚ|”ûˆ2×s®ìˆSã«þ_ÍŠü÷ÚÖ;| VûVw3ïB4™š»bwÅF"ž IDATQW¯¤R©”HuÔu’ ’[:@ó!¯@;c£oóf£§­çÑ„£yܼGy¤Ré@ÛZªZ„èŒèa†¥§ú9û51æ{Î_i¬°Ø¬Ø_nÿ¢ÊPÞi¸µžµ¦ª&Т2¢ò$ÒÂgªc*¿5Eq¸5\Bˆl¢+ÅRײޱZú 4ø1¾uRçXÒ±wØà} ¯@;#»¹FÞ›GŽFgF?Ê}dÎ6§f³v6ê•¥¦¢&•J›¸DZiþÊ›…ÝL¿IÙLCI)Jiú@õ°ÕÙ„\n®üÊ(o¦«–~ ~Œo/FƒM™ê6Õ@«þ Aê*êï0 @3!¯@GÐߺ?ƒÎˆz•— [òu€Í€SON©2T©MìÞ*óWÞD=¹†¥Æ’µÄfÅÞxy£Eƒô´èy"ùĶèmòóWd÷õȼç'Ð U†j… B¾ÅÃÊ#")B,=àk:íß'Ðó‹ * Z:>@ó!¯@G £®ÓÓízÚu¡X8Ðn Õ8Ðvàþû/¦^ìbÜňeÔÄîm´„«›™!dNäG=M½—%/o§ßÖ×Ô/©*iþ cœÆl‰Ú•5zïhO[O‰Tr+ý–@(¨×í=?ÙèÛ<+|¶àÜK]K:ààÛÕ÷@üðÄ𨌨þ6ý 4 x5¼Ìò̸츙}fºšº¶ôÍ„¼Ä@»II :ÃÃÚƒjécÕG•¡Z'®`3@!%y;zí:öܳsÿ¹{9°{ ¶ªö¾ûš?ˆ–ªÖî »gŸ˜Q–‘Q–A1Ô2\;jmð‰àz=[ý˜á>cáÅ…gžž¡6©õWöNÚ»ðÂÂi7"’þ½%›Ãâ ¬@›B^€vC…¡âbg`×à»ãÇÓit= =jÂ!D]EýÇ?ñ‹|}UØæq›ƒÜ‚ž¼~B£Ñz™÷r1u‰Îˆf©±¨ù îH5::ÈZ\L]®Í¾F­oËÑæ ï4\*•†x†Ô‹Íüš¨¶Þóƒ\œMœïgßç ¸R"5g›Bô4ôöLÜ“^šŸ_V]¦¯©o£gãná.»½ -ÐdË)4Gaa!ŸÏo¢ÃÅ‹¬NZÚÛŸ‘ кð»×¾ØÛÛ7¿3ýí] y”ò (;äPvÈ+ ìW@Ù!¯€²C^e‡¼Êy”ò (;<ïڽώf§o÷Ãð]ˆÒ©Tœ|ròQî£Zq­£‘ã”S,ØòÄñÉä“QQ•µ•ÖzÖ“{Lv2vRTµM@^€ödúÑéNÆNK†-‘o|ó FX£¨’Z¤ÁúÛÈýìû_úªBPAmÞL»ùGì§gœ–%’ZQíŒc3ârâ¨Í¨Œ¨£ G7ønðëæ÷ÊhähOârâh4Z½Æ}“ö±ÔX ©§¥¬¿-dWdñ¹@(`3À¿›¿¡–aZiÚᇇ«êªd}¶ÝÝ—g¢m2×s®©¶é­ô[=úkÉ¥%}¬ú˜é˜}€"šyÚ½Þ–½]‚ÒùùæÏ¡ °{àºQë¨O[Ï齦׉ê¨M‘Dt$áƒÎ88å ½=!dÝ v0þà‘„#¡ƒCV:@CW }x^ü|å••b‰øÉë'AaATã²ËœŒäç¯ÅÂOÂ?q·tŸ;`nXBXlV,FÞix€K!¤ˆ_tèá¡Ô¢T–*+°{à›ò‡àÖp#G&ä%ðëøÇÛÑ{¨ÃPùYåY#^¿KÄvvÝœ8ÿ\[)äÎ;3o¤ãÈOÝ?•õ§Gu5½×ô&êoõÏŠWûú⪺Šúâ!‹åÛ4†Sƒz”ŸÄ«á ´H…ʧ?xçÕäP6È+Ð>TÖVR3-x5<Ù” ^ üÿù+©$.'Ž¥Æú<âó»™w©Æ+/®d”eøuó›zdjIU Õx!õÂÞÀ½ƒìQ› y ³#g— ÊeG<‘|BþüÄ¥ÔKóÏÍŠ…ÔæíW·Æ\6|Ùô^Ó !5š¸œ¸ÎFåk¦»rº6]ÿ›Ö^_ûäõ“¦?Mc75vÕæqÁc±T<Ðz !dKô–¤ü$-U­~Vý&¸NPWQ§ú¤•¦Bº›u—ßÑR×RWC÷U髦 ðá!¯@ûàhäVo¾jc''£¯©¿tØR;»Å/¶Eoû3îÏi7,Ø ‡,ÔU×½‘~ãhÂÑÍQ›©¼Â¯åŸ®¨©ðëæçeïÅVggWdxp ")ÂÃÊcœó¸B~áw翊…>Ž>>]|˜tæíW·#Gütí§^½¨DÒŠõ§§Ê2McBAco½®|M1Õ1 ü+0½4j¼”zéH‘° 0] ]BHyu9!ĈeTo_c–ñ‹â¡@v&@ ¯@û ­¦Ýת/Fck°ûZõmº³ ]娴c–º–„ÁvƒBÁÖè­t=|Z¸ ]…2Äaȳ×Ï’_'‹$"ºÊé§§K«KC‡{ËÝeôàߟ|rrœó¸ÓON׈jäO·x;z›j›n‰Þr,éØÊ‘+[·þÅCój>õ"ÓÄ”Ø:q!äô“Ó:j:? ÿÁVß6»<ûû$äè€\L]¨°BébÜ…âíèM…ŠÇ)© ©°²Ðœmž˜ŸH¹úâjLVŒT*%„H‰”zAŸH-J%„Lé>Eþ(¹}´%zKJaJ«×/›ón´Tµ!u¢º¿>ýËÎÀŽjâ0Äûï¿Sÿ^7j“ÁÔdjBäo¢P-šªšïS@«C^€ˆ­Î–ߤbJƒÔ‰„êºjBHRAÒ›C©ª¨BjEµ„êJŠüQh4õVƒÄñ»ÕÿžóWÌÙæ„}YX!„X°-<.©*1Õ1¥öÍ,ϔ߱VT›ÏËç°8ožwP,ähW¤„:íѺLuL !+G®t0t¨÷kŒYƄǭõ¬eo%¿N–J¥m!DG]‡RV]&¿ï‹’ïVÿ{Î_éÊéªÊP-”K¤:íŸç®H¥Rj®1uîÄÕÔ•r;ý¶X"fÐÿI'QQ"‰ÈÕÌõ­|`È+Оh©iårs忆[…·£÷ÁøƒgžžÙ4v“•®Õ(–Н¾¸J#d7èð£ÃomìlÔÙÑÈ‘’ÇÍ[~y9õ!DOC¥Æº•~+½4ºC8½4}ÃÍ ïVÿ{Î_Ñdjë4ìRê¥M·7-¼€Acˆ%âí1ÛóyùŽFŽÔy&SÓžæ=å=úõί¡ƒCi4Z!¿pýõ„q]ǽåóøàW =éÊé›ëµÓËœmN#´ÖZ¿¤eŸÀîICw µÔµ4Ô2äÕðr¹¹µ¢Ú9ýæø:ù±ÒϺ_lVì¸ýãlôl˜ fziºP,ìdØi¢ëDj@×ÀýöÙ7¦“a§ZQmfyf7N·œŠœw¨ÿ=ç¯BB‡FgDï‰Ýù8ÒR×2›WRUB£Ñ¾óúNÖgÑÐEAaA»cwŸyz†Ã⤧֊jÝ-Ü}}Þóè­Ïg€VÆ`H !âwœ¹ñßy}gÄ2Êçå?Èy—רú%ï`Ïš%Ö³Œs*ròÒKÓ%RÉè.£ÇtC¡Ñh»'ìžè:‘HIzizjQªX"Ùyäá Ã²Mæ˜ëië) Ÿ>{UöÊÇÑgµÏêV=ÖzÖ}ô—“±SYuYR~RIU‰Ûâwÿß½ì½d}zš÷Ü5a—™ŽÙëÊ×IIB±ÐÛÑ{ׄ]æ‰mA,þç×:Z[\ €¬°°Ïç7Ñ!&FããÍâã3tu%mQ€X*N+IãÕð$R‰“±“ŽºÎƒœ,5u¢B"•<Èy §¡'¿t[… âyñs}‹#kÌ,Ï,¬,ìnÖ]8!R©4«"«¬ºL_Sß\ÇœÉ`Ö;zU]Õ«ÒW"±Öµ®7ý–’ËÍ-âY°-ŒYÆ5¢š¤ü$mùY/oÖßZŸLƒr*rŠ«ŠuÕumõm "R©4½4_Ç·`[j¶i1m-,LgófýøøLEÍbooÿöNÿƒ¼-óÖ¼’“Ã2Ä*22¯GöñÌdè0Ö¬1|ôHýĉ\EÍÒ¢¼‚ëAÐÊ,,„l¶$!Aýí]ZUb¢š“S£·—C»†¼­ŒF#V_¿ŽÇàƒ*.f$%©T­èB M ¯@ë;–ÿ¾FVVýÉmçÄ  òJG…¼­ÏË«ÊÊJ¸e‹¾¢ ÿ .—¾o{òdžº:&evLÈ+Ðú ²dIé¹s¬ðŒ_ø¶nÕ§ÑHpp¹¢ ¶‚¼mbذ*OÏêU« jkÛëbÐ^<}ªvø°Nhh™¶v›ÜBÊyÚÊŠ%ùùÌE‹Œ±l´¢"•9sLúõ«™0¡­ße€¼mÅÚZ¸mÛëK—´¶mÃDh}Î--é¶m¯éøBëÐðŸÚPÿþ‚•+K¶mÓ[»Ö Vè‡ÿ¬¢"•  ³¼<•?þ(ÐÑÁ• Ï;€¶5y2OSS²h‘qf&ó×_‹X,|¯@+xúT:³™ge%Tt9Ðæp~ÚÜØ±üÇó?V9ÒêäImLg÷ÁåÒúÉ0 ÀÜÁA‘‹°òç@˼õùA©¨ oÞ¬ÎîÖ­væÌŠ#ª˜Lüû-P\Ì8qBgß>6FBCË&LàaÎJ»†ç@zç¼BIMUýí7ý›7µÔÕ%‚®]kMMŸH‹ —ËÈÌTIHPüX]GG2y2/8¸·.wÈ+ІÞ3¯P^¿V¹~]ëÞ=ÔTÕ’Ÿ?“er„õŠ.CYÐéDGGbi)tv®4¨zðàj55|muÈ+ІZ%¯@c.^¼’––¦èBÚ\‹ò þ¦e‡¼Êy”ò (;äPvÈ+ ìW@Ù!¯€²C^e§¢è QSSSt ™ºº:!„Åb)º傼-£«««è:26›Máp8Š.@¹àz(;äPvÈ+ ìW@Ù!¯€²C^e‡¼Êy”ò (;äPvÈ+ ìW@Ù!¯€²C^e‡¼Êy”ò (;äPvÈ+ ìW@Ù!¯€²C^eG“J¥Š®à¿«°°póæÍ²Íœœœ˜˜˜É“'ËZŒçÏŸ¯ˆÒ”ò €"I$33³ââb&“ù滵µµ!!![¶lùð…(\P$:>mÚ4•Ú†B‚‚‚]#€âáü ´LEEõ= ­åñãÇ#GŽlð-33³‡Òh´\ÀÀápšßY¥íꀩ¶¶–Ïç+ºŠÅÎÎÎÒÒ2''§^;“Éô÷÷¯ªªRHUm­Ey׃Ïßß_E¥þB¡p̘1 ©@Ù ¯(ÞøñãE"Q½F{{ûN:)¤eƒ¼ xÖÖÖŽŽŽòóTTTTX€RA^P þþþ C¶)‹}}}X€RA^P ãÆ“H$Ôkæêêjaa¡Ø’”ò €R066vss£Óé„:Ž‹AòW”…ŸŸ5…E*•úøø(º%‚¼ ,FE¡ÑhŠ.@‰ ¯( ]]]OOO©Têïï¯èZ” Ö〖),,|ÿõm_¿V¹~]ëÞ=”Õ’FUþv’9BÈLB ÑQt%JN'::KK¡³síÀÕƒW««ãk«ƒ°··o~g¬ÇTjªêo¿éß¼©¥®.ñðøùUš˜ˆY,‰¢ëRuu~S§ (º¥ ‘Š zV3!A="B‡Å’L™Â .×ÖÆïÌ ί@˼óù•Š úæÍúááìnÝj?ÿ¼bøð*&ÿþ4 ¢¢BWWWÑU(£’Fd¤Î¾}l„†–M˜À£ãÄ\{Ö¢ó+È+Ð2ï–WÔ¿øÂ„N'¡¡¥þþ•xÞ0¼3.—¾u«þáÃ:5[·¾ÖÑÁ‰–öªEyÑÚܹs¬iÓÌ\]k®\É@X÷ÂfK–-+9y2/-h‘ÍTtEð! ¯@Û:vLgþ|ÎÔ©Ü;_cž ´gçÚ“'ó45%'š#²ü ¯@ЉÑX¾ÜpîÜò%KJåžÐ ŒEGŽä››‹fÍ2åñðuÖÁá?0´•¬,æÜ¹&£FUÍ[¦èZ cÒÐìÞýºªŠ6w®‰'ï:4äh++Vš™ ׯ/„h;ÆÆ¢Ý»_ÇÆªŸ8k:2äh×®iEGkþøc©šnB„¶åì\;}:oÓ&}\êÀp?3´Lsîg‹ÉÈ‘VÝ»×þúkᇩêËÅ'Ož¼{÷nii©X,&„¬[·ÎÚÚº¬¬ìÒ¥K©©©ùùù‰ÄÀÀ K—.>>>m]£¸˜J„Bj³p˱‘Q[TIp¹ô#¬+¿û®Tѵ@sa}[P°[·´²³™ûö(º6´téÒÈÈHù–êêê+W®Ì;—Š/ò6nܸzõêÀÀÀ6-ÉxÉ»we›´ÚÚ6=œRa³%Ÿ}ÆýóOݹs˰`‡„¼­ïÜ9V¿~kk¡¢ i+²°2kÖ¬ÁƒÓh4kkëäädsss???{{{--­§OŸîÚµK ˆÅâU«V7NMM­JÒ ×¼y³o&NämÞ¬çŽæÈ‘UŠ®Zò ´2©”DEi~ýuG¾'(++KözæÌ™†††ÔkŸ‰'Òÿ·J¼——WMMÍÎ; !€ÇãµÍfv¶ÁÚµ„ºNT_¾l‹C(?CC±«k òJG…¼­,'‡ÉåÒ{öì°#¾þúkù¼òå—_ª¨¨hkkïÞ½[GçÿÝ¢"¨×]»vm"¬hŸ:¥A‘²X…¿ý&ÑÔ$„¨={f°f ‘J VòÃuNN ï,‘÷½ºZdbR¶`Ipð{ÿˆíU5j(º hÈ+ÐÊrrT!øbPBBBaá¿óˆ=zD‘BáüqóæM@žž^]]­¡¡1räÈ… 61&ß×—}èZr2!ÄpÅŠ¢Ÿ¦ œo¾afdB¸Ÿ~ÚhX!DwÏõ‡ !Å«WK5þÓßÖ66ÂS§´]´ ähe|>¢­ÝaWïÚ¾}{rròªU«¨Í]»vikk«¨üûÏé«W¯âââd›B¡P*•6=sEªªúzÛ6Ëñãé\®öɓՃkÞ¹C…•šž=K-jlGÕ”ý-[!•~~Õ^^÷ï¿çO×®éèH*+qKsÇ„¼­L,¦BŒ{†›››ü@½zõÒÓÓ“ï0kÖ,??¿²²²ØØØððp‘HtöìÙìì숈Zãkç‰,, 7n43‡H¥ÆßOÝÝ#Ö×/ܶMªÒð¿Õ´º:Nh(M(–üðC+ý|íƒñϯt<È¡­ÌÎήoß¾£FZ¹råüùó©ÆÄÄDù“. ª:´|Î"»™Á(üí7‡ÓXÖÅ‹ªÏŸBŠW®”È]èxWÚÐСCe¯ÓÒÒÞÚ¿¶[7Ùk‰ºº¨ÉUæhuu„©Š ûàA³  ³  ÃÕ«eïr¾ùÆ,(ˆ^Qñ.u(\hCeeÿÞ×­ñ¶É°ÌìlãÅ‹e›ôª*ÎW_åEFJ›œûB‰4:s£ž”D¡ ;ìÄgøOA^h5k×®õ÷÷wúß½¬èBÚ·ÈÇ‘ëÖ;ÜH»!kl•϶íF@^ø)«.[s½S£ @WþSV__­¯©ïßÍ¿ @Wþ;¢3¢Ï=;·Æg*Cµ½Œ @QQt-–ËÍ]s}MlV¬X"v·tÿnðwN'Ù»7Ónîßÿ¢ø¿–oÎ6h;pV¿Y‡R+ªuÞä<¼Óðe×m¸¹!&+¦BPñxÁcM¦ffyfØ£°»™w³Ë³tFg£Îõø(À%€S¶ã*ïUk¯¯Êˆª×¹™»-²XþЩdoÜÞc‰Çòxy&Ú&SݦútññÚé5­ç´#WȺÅåÄýyÿÏGyøµ|moGï¹æ²ÔXmú¡Õˆj~øû‡z|ÔÛ²÷åç—ßÚŸ[ÃýúÔ×qÙq«|VMî>Y!#È ¯@;íáNþkr!¿Ú¼óêN|Nü±iǨÜp3íæ¬ÈY²Îé¥éé¥é¯+_o÷ß.?¤¿&ÉFH$„Ù‘³_•¾’õIÈKHÈK(â{ü;Q”WÛ|xrNEµ“3=|úÕÙWõ4ô¨–åW–M8J½Î©ÈYsýÓ§õê?špôÇ+?J¥Rj3—›»7noLfÌñéÇ›üñqøÇ1™1M,—g]¶7°o¢Ã–¨-B±ð{¯ï›‡’Už5+rVIUÉþÉûûÛôoºsÛ ƒ¼í̃œ=Ìzüð{g£Îù¼üÍw6ÿýüï•WW†O '„\{y2Ðü@×@] Ý\nîÝÌ»YåYõFp3wÛ°£‹quuªÑÁÀaVßYîîl‹QMjQê—Ü»kV¿Y ƒê—×Dzϖñ[:v*äþxùǘ̘3OÏ|êþ)!$)?éhÂQ–kÙðeƉ$¢+/®¬½¾VþÐ99+¯®ÔQÓY4d‘—½[ƒ]ž½%zË¥ÔKãÊg£Ö•R˜²/nßï~oÎYœ¸œ¸/O~©£¦9=ÒÎÀNQ#ÈC^€vF“©¹{ânMBˆ½ýoãóÝëŸ_RUb¨eh¢mBï<ÞˆeD±Õ·µÕ·m`„ »õ5õåWŽ\¹óÞÎ]÷vð êÄu²ö«GuEµ8:ü6î·øÜø«/®6–WM9ôNÕ?$RÉÒ¿—Žt9ÌaØ[;ŸH>ñÃß?ô0ë±3`§®†®¢F¨yÚ™®œ®TX¡¨ÐU<¬=ÒKӳʳ µ gôž—ç»Ïw°Ýàn&ݺ™ts·pg2˜õF¨V¸5Ü€C¼‚7W#¬‘½v6q–?‹`©kIá×ò©ÍìòlBÈ@Ûò»´(ŸW^–¼$„|{öÛoÏ~K]’)õ‚Fh-ü$šëÐÃCYåY{&îykÏØìØk/¯õ±ìspÊÁzÚ¨?GQÅS.μØÙ¨s«Œ ÐÈ+ÐAÐh4BKõ×G½(~q?û~jQjäãȲê²#Wø:ùÊz¾ùÇý‰ä¼‚‘GÎõœk­g­¡¢A£Ñ–]^&›ŒB‘]<úçˆ %Œz²y*‰TBKÄoî(R§ž÷œ¿‘Á­áöÛÖ¯^ûìÈÙ„ƒS°@µ89 „‚‡¹/¦^ï<¾é#¶éÈõ ¯@;ó¬ðYiu©ì‹H"º—u"»jCélÔ¹³QgêõW§¾ =êiëÉVg76&ujdÁಯü:q]lVl‹ ³Ò³"„ÜyugjÏ©²Æ»™wåûPãË‘THj= ½½{gEÎ =Z!¨øÄýÙ[—>¿ÔF#4ò ´3ÕÂê9‘s– _&›o›^šînán¨eHY|q±‰ŽÉ0‡aÖzÖLóyñó—%/…baaeayÅLÇŒòÇý?¾ø­®†îËâ—›£6g”e´¨0oGï=±{6ÝÞ¤¥¼  IDATªåeï%‘J®¼¸²#f‡|ÿ]÷vÍ?;?tp¨§­§¡–!·†›Yžy!å‡Åi£ù+oFÕ×Vˆ?°gâž¡Cë½ÅRc˜|`îé¹?]û‰[à ñ QÈÈõ ¯@;ÓÛ²wVyÖ„Cd-šLÍå#–S¯_W¾Žx±-z›ü.]9] šsl×±;bvD>ŽŒ|Iµ°ÔX#:¸úâjó ënÚ}R÷IÇ“Ž‡ž•5ú:ù^H¹ ›±a£gó“ÏOË./[|iq½Ýçô›Óücµ)5µv.¼°pkôÖrAù䮵)óÈÐá!¯@;ÃVg‡O _}mu\NœD"éeÑëû!ß;ÿ³hÛß ‘#¯½¼–Q–!%R33GŸ½gÐiM-çmªczø£Ãnmxòú FïeÑë{¯ïeÙ¥ùVû¬¶Ö³>–x¬ ²ÀDÛ$È-ÈÅÄåBÊ5YŸIÝ'u1î²/n_\N\Yu™¾¦¾ž¯“¯RÍê`Ð}7²ÕÙãòjx?ùYvS·ÒŽ ­Þ\0€¦òùü&:\¼È ᤥ¥°’”Ùª««=<´Ã‡·£·¢kéøð»×¾ØÛ7µÂa=8¿ÐjŽ'/«.Ñy„9Û¼ˆ_t2ùdXB˜–ªÖ@»o߇¼Ðjx5¼M·7mº½I¾qé°¥šLME•Ð1 ¯´šÉ=&ójy×_^Ï®ÈfÐ]»~Þ÷ó7–B^h5ÚjÚóÍŸ?h¾¢ èhšš0ÐÞd—––*ºh}8¿ÉÚ¾}w[ZZöìÙ³{÷înnn]»ve0pËt»‡¼ÉÆðð!>|øðá¶mÛÊËËuuu=<<†:lØ0·J y:mwwwwwwBˆT*MKK»uëÖÍ›7-ZD£Ñúõë7iÒ¤#F0™xFt;ƒ¼FëÔ©S§NfÍšÅår£¢¢Î;7oÞ<]]Ý€€€É“'ÛØØ(ºFh.Ì·€ŽÍf3f÷îÝQQQŸ}öÙ¥K—FŽ9wîÜÜÜ\E—Í‚¼ÿ!ÆÆÆsæÌ¹qãÆÆ“““}||6nÜØô#&@ ¯@ûÆ«ámÞz+ý–¬eç½'’O(®¢Ö—Q–q þÀÖè­w3ï*º–‚N§?þêÕ« ,8v옯¯o\\œ¢‹‚¦`þ ´o¼ZÞÖè­ÓzNó²÷¢Z~ùÝÅÄe‚Ë„¶;è¶èmºþÝüÛî”ãIÇÿŒûóUé+jsN¿9l´õAÿ;˜LæŒ3Æ·téÒéÓ§/]ºôã?nþîŸ}ö™Ý?üÐv6aÓ¦M=ª×èáá1wî\ù–¢¢¢7nܾ}›ËåŽ7nÊ”)õváóùW®\ILLÌÍÍUSSsvvž0a‚©©iÛVßrÈ+ÐÑ|ÙÿKc–q›b{Ìö¾V}?@^¹›y÷Ué+=s¶9N®´ƒ;wîÞ½{õêÕ!!!ÍÜñÁƒ555mZ[ž?þæ9!###ùÍ5kÖ8p@*•R›nnnõú'%%ÕÖÖÊZ®^½º{÷îÍ›7>¼ ª~wÈ+ÐÑ|áñ…¢Kh5“»OþÆó;»¿Ÿÿ¼Òvh4Zpp°Á’%K ¦NÚœ½öíÛÇb±Úº¶¦:tH~5<ùw‹ŠŠŒŒŒ† ¢¡¡qàÀ7wçóùL&s̘1®®®æææeeeaaaIII¡¡¡wîÜQªåjW ©ª«ºþòz>/ßDÛdDçovØyo§1˘º$–ŠwÜÝag`7ÆiLzizLfL¹ ü /˜ &!äÉë' y ü:>‡Ål?Ø@Ó ÞP)…)òUÖVZéYõ·î¯«¡›ÏË|)‘J²Ë³·Fo¥º¸X°-Úâ‡íoÓ¿-†…¬Y³¦gÏžNNNoíß»wïPUÓúöíÛÄê½K—.522¢Ñhÿýwƒy¥G÷ïßWSS“µŒ;ÖÏÏïùóçñññC‡*Ñ£:‘W =I.Hž}bv1¿˜Ú4b­öY]¯üü‘X´5zëðNÃ_¿Ü³ƒê0³ÏLn wÞÙy÷²îÉöÒ`j,±|¢ëDj³˜_¼àü‚˜ÌY-U­ ¾ µ ©˜’Ë͕啾V}Ì+§žœÊ©Èiú'šÞkºž†^³?h[_ýuttôªU«Ž=J)**ŠˆˆxñâŸÏ·°°ðôô>|8F£:ËÏ_ip6 !dæÌ™Ã† £^s¹ÜÈÈÈ„„>ŸÏáp¼½½Û:¿å¨––V½&“Ù¿ÿçÏŸË®" …ÂO>ùÄÝÝ}îܹaaa±±±t:}øðá„¢¢¢C‡¥¦¦²X¬ÀÀÀÚj~ò ´UuUsNÌ)æÛêÛzÚzŠ%âÛ¯n/¾¸ø­;&ä%\{ym í@'Ž“ºŠ:FŸ9+¹ Ù‚m1Ðn [Užuíåµ%—–8:ô0ë!’ˆ>‹ø,¥0EKUk¨ÃPSÓ--MCCÃÙÙ9  UæÉ&''«©©õêÕ‹Ú”H$qqq,ëóÏ?¿{÷Ÿ‹’W®\ÉÈÈðóó›:ujII ÕxáÂ…½{÷4èýkxò ´çSÎñ‹ÚÜ3quAG L?:½¬º¬éK«KûËxçñÔæ¥ÔKÉÉc»ŽÝ4fƒþϹôä‚䉇&î°Ëø-R.¤¦t2ìt8è°ì"QU]UvE¶™ŽYˆgÈŽ˜VzV!žo™˜éßÍßݽé>úšúoýÁáCêÙ³g—.]Μ9C£Ñø|¾———ŸŸŸ®®nnnnttteeeƒ{…††~þùç²Íººº¥K—z{{=šÂç󃃃+**üüü¼¼¼Ølvvvö"""<<<ÆGIMM}ë=Õ ^Ëþýû©W®\Ùµkׯ}||Þùg'„;v,>>~þüùºººòíwîÜÑ××_ºt©Ý‹/¶mÛöçŸÞ¸qÃÂÂbáÂ…ººº7nÜ8zôèæÍ›‘Wà¿îQî#BÈ\ϹTX!„h05¾êÿÕ¬ÈYMïh«o+ +„jâª&SsWì.ꤷT*•©ŽºNrA2!$6+–²pÈBù-ZªZNÆoŸÓ ïÜ@maÀ€111„M›6ɾ¹§L™ÂãñÜÅÑÑQöZ$}ñÅC† Yºt)ÕrúôéÒÒÒÐÐÐàà`Y·Ñ£G<øäÉ“T^Y¼xqcƒËÈŸ\a2™þþþ}úô166.((8}út||ü¼yóœ---ßåÇ&äÆË—/÷öö–¯“¢¢¢rìØ1jäÁƒ ‚­[·ÒéôððpBÈ!Cž={–œœ,‰¨–Ö…¼í·†K©7SÄR÷íÿ4ÛèÛÈoRçcŽ%k¬EM!ÄÎÀîÊü毴S¶¶¶}ôÑ©S§fÏžíçç×­[7GGG55µ·Þ2#‹¿ùæCCÃ+VÈ !W¯^‰‰ù7"K¥„ôôtªOsføÊÛ¸q£üì“)S¦|ûí·çÏŸ?uêTóoÉ–wþüùÐÐСC‡nÙ²…N¯¿œ¬‹‹‹| êÒ¥ !ÄÛÛ[>š899%%%š›7|…ô} ¯@»ÁVgBr¹¹òË«¼5B´ÿw[ƒM™ê6Õ@«þ Aê*ê„]u]BÈ«ÒWVºVïS0毴Sêêê555¶¶¶×®];{ölLL̾}ûòóó===¿ÿþ{‡Æv”H$ ,PWW_³flZ.!¤ººš’””ôæ.ªªªÔ‹–Î_ysªìĉÏŸ?Ÿ••ÕŒ±¾°°°•+WŽ9ò·ß~kðì›Í–ߤú4Ø(‰Þ¡€·B^€v£§EÏÉ'¶Eo“Ÿ¿"»ë§ù<¬<"’"ÄRñ×¾¦Óþý;²˜_\PY@ñ°öˆx±ñÖÆîfÝea‚š¿B]Re¨V*Þz Ì_i§Š‹‹©;kØlöôéÓ§OŸN)** þøãoÞ¼)°ŒT*]´h‘X,þå—_꟠¦Á®\¹òͬ# ï6E^AA!DCC£éAÞ´cÇŽÍ›7ûúúþúë¯MÜ­XÈ+ÐnŒq³%jKTFÔè½£=m=%RÉ­ô[aSÿ‚7È·«ïøá‰áQQýmúhðjx™å™qÙq3ûÌt5uí4zÏý=©E©Cv ê0ÔDÛ$Ÿ›äDå}›g…Ïœ[`©kI§Ñ[åýç¯<-|zýåuBÈË’—„øÜxê&jWSWÙó Õ¥¦¦Z[[8p K—.ýúõ£õôôX,VQQQff¦ülŠT*]¶l—ËݱcÇ›_ùÞÞÞ1;£,#£,ƒb¨e¸vÔÚàõç6Acì´wá……7ÒnD$EÈÚ9,Ž«©+!D…®²oÒ¾oÏ|—wöéYê]–«+§+õz†ûŒ…žyz†Úllý•÷÷ôõSÙ*/„‡¹æ>$„È?/ Z—P(¼uëÖ×_}ûöíÕ«WkiiYYY©ªª¾zõª²²ROOO8ä­^½:<<ÜÍÍ­Þˆ¨õWúôé1tèPKKKCCC—››[[[;gÎ___ÒÂù+%%%?þøãªU«ÌÍÍuuu ŠŠŠ!={ö¤îH¢Ü¼yó?þ „”••BΞ=›@9rä§Ÿ~J¹|ùòþýûi4Z~~>uIæã?~Ï[Zò ´'.¦.×f_£Ö·åhs†w.•JC2õHrArB~‚@(°ÒµêoÓŸš@C p p6q¾Ÿ}Ÿ+àJ‰´±õWÞŸ³‰sƒwMËÿ¼ÐºŽ9RSSãëëkoo/‘HbbbRRR¨·úöí»dÉ’/¸œv옛››‹„æ@^€ŽéÔ©SË–-‰Dòa…"‰n߾ݩS§ 6Œ?þÍgûB^€Ž¦¼¼|Ñ¢Eׯ_o¬ƒP(ܰaCK‰ „P ÊÝ»w}||îܹÓD&“yûöíV¼?äè „ÂZB¾ýä“OÊÊÊ„Ba=E"ѵk×>Xaðþp=:‚¢¢¢Ý»¿'$ŽRoévƒA§Ói4!D"‘ˆD"©Túøñc§£££˜r¡…WÚ“b~ñ7g¾é8òS÷O]‹r166þúëÈγg)•••|>¿²²’ÇãQ¯©Mê—Ë­¨¨¨ªªzþüyïÞ½]84 ò @{R+®Ë‰ëlÔùí]ÿ«TUU ]´&Ì_e‡¼Ê׃ ÝŠ…Ÿ„ânéâr,ñؽ¬{å‚ò½“ö.½´”òËØ_¨n¼Þ'¿J¥¿ÿ͘eL5.¾´¸ª¶j«ßÖY˜ºŠ:·†ù82!/_Çç°8ÞŽÞC†ÊvKÄ·^݊ΈÎ.ÏfÐ:Op™`«o+?xR~Òñ¤ãy¼”½{#íÆ¾¸}Ûý·Ë2MäãÈ%—–H¤ÿ,Ïz2ùä‚A š® CB^€væÎ«;,5VèàP'Ž“ºŠºSc€Í€ˆ¤ˆ»™wýºùB¢3¢XF,UÖÝÌ»T^¹—uO"•xÚx66fjqj\N\ÓÇ-*L,Ÿ®¨©ðëæçeïÅVggWdxp ")ÂÃÊcœó8B¿–?Þy|oËÞl‹QMJaÊø+¯®¤òJ>/ÿÇË?J¤’—€¡CÅñ¥ÔK¿Þùµ¥Ÿ@€¼팔Hÿšò—çß•ÔØ  ÑhQQ²¼âiãÉRc]L¹(•J©·!l46æâ!‹yµ¼¦ÛØÉ•Æ ;üèpiuièàÐ``YŸÑ]Fþ}ðÉ''©¼v?ûþíW·/?¿\'®“J¥j*jyܼו¯M´MÎ>=['®›Ñ{ÆÒaK©Ý}|¿¿ðýÉä“MWÐñ ¯@;ÓŨ‹|X!„èièu5î-•J³*²r¹¹óÍÓVÓþëá_©Å©NÆNw3ï::pXœÆÆ¬7`«–˜ŸH¹úâjLV µ|™”H©é¥é„±T<ïì<*KÕSY[i¢mò¼ø9!$Ð5Pþ­@×@äøB^€vÆDÛäÍÆvwÝÛ•Zœú0÷!Fó´õTWQW¡«D½ŠRc¨åqóš^]í=ç¯4XXu]5!$© éÍžª*ª„sOÏEeDYëYOë9ÍZÏZ“©I£Ñ=¢òŠH"ú=æ÷øÜxÙí†%„­¿±ÞÞÀÞFφ’Z”úëmÌ·…ÿ"äè˜ fË>·_Ý&„xÚþs§çæ;›ïfÞícÙ‡:ËÒ˜V™¿ROË>Ý#’"†îj©ki¨eÈ«áårskEµsúÍñuòõ²óÚqwÇò+Ë÷ÆíÕÓÔË,ËäÕòœ9ÎO ŸR# ±âfî–—àó‡X"Î,Ït4r,ä¶zµJëÛ@AÅ ¦F/‹^T‹‹© uC–`>°5>k– [bÌ2ΩÈIÈKH/M—H%£»Œ¦V‚énÖ}ùˆåLìŠì¤ü$¶aôùó@ :㉠q"’ˆ^¿H/MïoÝÝèu ùY‹Vï¡ÛM+,,äóùMt¸x‘ÂIKKoõCK¤’9ô4ô|Ú·†›Z”ªÉÔt1u‘5>+|VY[ÙÙ¨³ž†^«×Ǫ́»–ʪËô5õÍuÌ™ ¦ü»¡ £,ƒFh†L3»"»€Wàjê*B¨_˜ÏÍçhsÌtÌjEµ‰ù‰mu…äµÝï´{{ûæwF^€–Q`^h~÷Ú—å\e‡¼Êy”ò (;äPvÈ+ ìW@Ù!¯€²C^e‡¼Êy”Š¢ x_.¿¸¸˜¸™zDÑ…(¸œ¸?ïÿ™—P#ªq4rœÖsÚØ®ct†¬C¯à—;¿D½Šª¬­´Ö³r šÖsFS`Í B^€öÄñgǾV}M9¤èBÞч¬ÿûl¸¹A¶™˜Ÿ˜˜Ÿh¡kánáNµð &šPÄ/¢6_–¼\yueziúŠ‘+>@y-‚¼í^ò‚dE— tîfÞÝpsƒÆÐ-ÀPË0­$í@üú¿ÿìo¸¹¡ˆ_Ôߦÿ*ïU¦Ú¦·Òo}áûÃûuóëaÖCż y úõö¯„¥Ã—~ÜëcªÅ‰ã´Á÷ßÓ-•µ•?ÿ›¥ÆÚî·]G]‡âíè]È/\uuÕñ¤ãÈ+ l0ßÚ‡øÜx‡õb‰8&3Æa½õ¿ûÙ÷ !.¿¸…QÝjEµë‚Oçqó¾8ù…Ûf7÷-î /,¬ª«"„DgDþèò‹‹ÇvÍw6K¤ùCÄåÄÍŽœí¾Å½ËÏ]¼vz­»±Ž_Ë—ïpúÉ鉇&ºþâÚmS·qûÇzxH6BVy–Ãz‡WVÈ÷§W_[Ýtý­®€WTd i0µçÔÆú$ä%ˆ$¢!öC¨°B×uF‹ËŽk‹ªÞί@Ä­áN ›RÀ+ 6O$Ÿ¨TLî1ù‹“_ˆ%bBˆ@(سC_Sÿ÷O¨>GŽþxåG©TJmærs÷ÆíÉŒ9>ý¸Sƒ²þæú?ïÿ);ijÂg«®®JÈKØ7þS÷O?qÿDWC÷FÚçìÛKå•œŠœ•WWê¨é,²ÈËÞ‹­ÁÎ.ÏÞ½åRꥃñƒ=‚Ÿ>ýóþŸê*ê ‡,ôqôa2˜·_ÝþéÚOçžóuòÞixëÖÿžÊªË!b‰ø£°B!¤VT{1õâíW·Ã§†;qœ!ü:>!„­Î®·¯®†îëÊס@KU«M‹häè€ô5õwNØ©ÉÔ$„¸šºÎì3såÕ•½,z-º˜ê0ÆiÌ™§gn¦ÝLÓON‹$¢Õ>«GuEup0tømÜoñ¹ñW_\ ö¾”z‰òõ€¯§÷šNuï<žN£Ï;;ïBÊ…æä•yÏ@C]¥ºôü’‡µÇâ!‹m l³Ë³×ß\çÕÕ×W‡…Bdg’êi¬@±W ræ8Sa…bÎ6'„ô±ì#ßÇLÛŒRRUb©kù²ä%!äÛ³ß~{ö[ê [J¤Ô ¡B2Ë2 !C†Ê@mRV”жš6!D]E}‡ÿêõÿµwßqM]ýÀO{dŠ" ¢8AAÔŠXîg¥jm]Uë¨õÑÖ-ÖºZ­[[·"Š2E'Cöž°IòûãúË“" hB~Þ¯¾úÊ=9÷Üo(5ï=÷\}›½£÷ºîs}˜þŠhT;¯ŠWo_^AgP—Àò ´CÊLå6R«¢Q§"¨SS[ê©ÔÔÛ¥AÔlù×ɉªºª•-ö‰óW,t,!¦Z¦T(¡°Yl3-³§ÙO‹+‹Ù,¶™¶!$>?^rÇ’Ê’\~®™–&¯€¢A^€¶„Fhu‚:©K}ñ›xÌÙܹÁæ:æ„»‰w;éu7†$…B¨/~=5=BHzIºä^‘©‘õÆ‘Qýõt6è¬ÅÖJ/I/«.G–ÊÚÊÔ’T¡ÍÖ&„8;2éÌ»IwK«JÅ·]zyI$õ6í-ë Z yÚ-¶VBABZIš‰¦‰ÏŒv¸ôÒÒenË\,\ôÔôxU¼”┫¯®r9Üyýç ï2<02pwøn5eµ¡6CY Öý·÷7m „|Ñå B›Åî Ñ!49ôì³³Ã;¯TÅm¿·ýãêÿÄù+ c\·q¿?ø}áÅ…«¯2×1§æ¯”T–¸X¸P×zÔ•Õ‡uvåÕ•E/Ú0tƒ¡ºaHRUð„>åè²€¼mI¿Žý®¼º28ðÝ<’“OôíØ÷Ó‡5×6ß8lãš›kV^_úÜ IDATYï­¹ýæBì¸v³ûÌ>}hÝÍuën®¿ëmë=Äfõú«¾_mÚ°òÚÊ•×Þ 2¾ûø³O϶BýïûzÀ×÷ßÞH‰ð>ì-nÔbk­õ\+Þ\>hùƒôá)á<ÄS{NÅbq €W@Ê”•E„šš’’ôï4Yí±ºNX•Å«âI÷Nßî¾] ºŽ>]TQ¤£ªc®m>ÂvÄ(»QT‡•ƒWv1èrüÑñø‚x¡Hh©k9Îaœøv!BÈ´žÓ*j*N>9™[–kªeê×ÛÏÙܹ^^‘]ýõp”9§¦œÚ¾ûÆ›ùü|mUms—o\¿1Ñ4÷1Ò0:?ýüö{ÛC“CùÕüŽÚ©çÊ®*Y«ª¢©¨àþ¦ö‰†[× Erssù|~=R™0Á8<<•Ë•ùD I‡k:¤®pwlAƒ¬¬ž0Þ Ì)³²ª%„¼y£$ïB೯dm]+ï*@&W@Ê´´µQQXÀZ[T»G¼‡ò Hß Aå7n¨áj3´¦gÏ”32˜ƒ—Ë» ä¾ñãËÒÒX÷î©~¸+€”œ8¡icSÓ½{µ¼ ™@^éëÔ©fðàò­[u‚F„¢W¯”ÿþ[}îÜy²‚¼2ñÃ…©©¬¿þÒw!ðYظQ·[·*Ÿ2y²‚¼2ѱc­Ÿï×_u’’Xò®Ú¹cÇ4cbØëÖ4þ|'hóW@V-*²²ª™=Û¨¨ˆ!ïZ Ý UݼYwéÒB{{Ì\iÏW@V”•E9„Ð,0äóñ§ HßÓ§Ê‹q¿ü’?of®´sødHWWpð`vZË××8#iºqƒ3uª±“SÕ¦Mùò®dyd«S§šóç3 ÑØ±&!!¸Ã¤ ºš¶c‡Î¢EÜñãKÈf±°ÔOû‡¼2gdTwútÖ€•_}e4gŽQJ fàÂÇ»uKmØ0ÓÇ5ׯÏ_»¶€ÉQŸ<ïZæƒÏ;lƒì ô’’Xžžå£Gó ¨`³ñG4KN38XíôiõW¯”}|Ê–//20À5Û¶=ïyZæSò !D  ]¹Â9yRãñc:]diYËåÖq8B)Ví‰PHãñè))¬œ&›-6¬|útžƒnjW@†>1¯ˆ0<`¿z¥TXÈäó±nÆ;ùù7_¾\ææ'ïBN44„¦¦µvvÕNNUÊÊøÎj?W@†¤•W A×®] HLL”w!2×¢¼‚ù¶ èW@Ñ!¯€¢C^E‡¼Šyò (:äPtÈ+ è˜ò.ÚMMM555yWÑnijjB¸\®¼ P,È+Ð2***ò.¡=£~¼GÞ…(\E‡¼Šyò (:äPtÈ+ èW@Ñ!¯€¢C^E‡¼Šyò (:äPtÈ+ èW@Ñ!¯€¢C^E‡¼Šyò (:äPtÈ+ èh"‘HÞ5|¾²³³kjj¨M@PUU¥¦¦&îЯ_¿sçÎÉ©:EÁ”wŸ5###mmíØØXÉ¿=–””ˆ_÷ë×Ou(\³éÓ§3ŒߢÑh'Nlåzί@Ëäææòù|yWÑ®ôíÛW(¾ßN§Ó«««“’’Z¿*Y³²²j~gœ_3}}ýÞ½{¿Š…F£=Z.%(äùûòË/¼ûaذa­_ €B^¿áÇ×;¿Â`0\]]µ´´äU€BA^?‡3pà@&ós E"ѨQ£äX€BA^P£FâM&“éáá!Çz ò €BðððPQQ¡^3™L///UUUù– 8W‚²²²——‹Å"„yW @W…Omm-!DUUÕÕÕUÞå(äEáì쬡¡Añöö¦N´ëÛ€ÜÔÔД ååø»Ó;ݺ ;ÆåN¸~#ïZ&ÒКšÖ™˜ÔÒhò®äÏg€–ùôõøy<úÅ‹ê·n©=z¤"à+¨žPB&’†óßõhj ]]+||ønnåO"‘Ññã_M›–,ïB…PHx¼@“œœªÎË8°bÖ,£Ó§5ä]´Ì_ ɲeܨ(ödõî]%ïr ýPVýòK®……Î?諪 GŽü¤9à øW@†~ùEçömÕ£G³V@êh4PÄçÓV¬001©stÄïX{†ëA +7oª8 ½ys~¿~•ò®Ú­+ +æÏ7,)Á]Îíò ÈDe%í§ŸôÆŽ-3¦LÞµ@{F§“_~É£Óɯ¿jË»!ä‰ß~ÓæñèK—Ê»hÿ8á²e…§Ni¾z¥$ïZ@VW@úx<úï¿k}ýu±A»½(//ïÛo¿íß¿¿µµµµµõ«W¯$;ÄÅÅuîÜÙúÿeddȺ$å¸8Ëέ¬­©˜²?¢â=ºÌÞ¾zÇy²‚¼Òwñ¢:.š<¹TÞ…ÈЂ þùçŸüü|¡°µdªªª–-[&´^\£UUq—-£µâ FfÏ. QËÉÁ}$íò Hß­[jC†”·ãEá²²²ž}hÿ~ppxxøŸþIñððhzØáášþI)o­#* KÔ¿ed$V¼mŸW@Ê’’”êêhvv5ò.DVœ'L˜ ÞìÝ»·µµµ““µYZZº|ùr‘Häèè8sæÌfŽ©qê5éÄ¢[7VZÕȹr…j´´·Wzýº±}饥Ë—‘¨ÊÑ‘×ì#¶K]»V¿yƒ)·íò HY^ƒbdT'ïBäãÇÌÉÉQRRÚ²eKóŸT:qbÙèÑ„zEwÉš@ÀÊÈÐÿáêÝü jºtil_ýdæäˆ””ò¶l!Ÿ÷³‡ŒŒÔ¯´?Ÿõo6ÈBe%Âf·ÛÉ+ááá§No>|ø0111&&†rýúõK—.BZôìYB…BˆòÓ§:Û¶|ó Ï'T”3¦±½8ׯs.]"„Ô¶ðˆíªª°¢ßkíþ»€”‰D„ò¼¼¼5kÖBìííýýý[º»ˆÍÎÙ»W¨¦FÑ:xPåéSBHµ½}ÁÚµíÂÈËÓ[³†êVÒò#¶?4Ú»_?hW¤ãÞ½{%%%L&sË–- ÆÇ\•¨µ°Èß¼Y¼)TSËÙ³G¤Ôè„ µ{÷%%"&3oËòQGh+pŸ:€tˆD"BH]]··÷ûﺻ»B"##õõõ›DIâždze¥Rrr‰I‡$„ÐêêL:¢™»;!$%2RÐäÚœ_Pª¡¡Ú{öBDÔÉ¡Ð`éR¦Ä½ÓŸ-œ_______É–L™2…zbÒÄ™B˜YYK–¡’¿y³jh(çÊFq1wÑ¢¬S§DÌþ¸.õõ-ý÷Ùtøÿ#¦†„4un MÁùù£ÕÖ.ZÄ()!„ð}|ÊÆŽÍÿé§Z33BˆÊ“'ºÿù¼ 3äùÓÝ´IùéSBHmÇŽù7B„jj¹»vQ“m5ã\»&çäŠ&½_й¹¹|>¿‰×®q¸‰‰Ÿõ³l@.ð»×¶´h"œ_E‡¼Šyò (:äPtÈ+ èW@Ñ!¯€¢C^E‡¼Šy](PL‘`oø^K]Ko[oy×Ò†å”åœyz†2²ëH  ªQ*?[Ù €¼mF nWØ.ÏNžøæûën® N &„ØÚ‹S…T~¶²׃>#7ÞÜyÒˤW€ ¯|>ʪË6m˜Ñk†ƒ¡C[€‚ëAÐ&½Ê{•% Lºu¯÷nLFL|~<¿šo¢eÒÛ¤·>GŸj—œK‘T˜‘Q\Y<¿ÿ|ƒE)ª(ŠNN+Nc2˜6z6ýÍû3hŒw K«Ô8;:™8Õ;tyMypBpVi–¡ºá›!¡àhÌÑnFÝÜ­Ü%»=Ïy›˯ás9\7+7]U]Yü”êùoÈ•JK.Ù~o{súG¦F>Lh­gýE—/ä52yÚžm÷¶FŠ7GÙÚ꽕Ê%•%³ÎÌz–ýLü®2Sy™Û2¿Þ~Db.EB~ÂÞˆ½T‡Ù}f³¬·7žŒ=Y#¨ïh®m~püAj†xÇL^æ¶{ÛD"ÕÇ·»ïæá›Å»ÄeÇÍ9?'ŸŸOmp 6 Û´+l×ÔžSÅy¥ ¼`É¥%‘©‘â½Ø,öº!ëÆu×Øç½øübzIzÓ?“i½¦i³µ›èð8óñ©'§ûf³ØME9{bCІþfý©\FC^€6æqæãÛ ·Ý,Ý:éwÊ.;ùææ?/þ1×6_䲈r4æè³ìg\wp§Áš*š™¼Ìè´èG$¿c3co'ÜvµpµåÚª0U¨“+¡É¡GcGcMãêºjêüÍ÷W¿?;í¬xÇ'YOî$Þq³të¤×)—Ÿ{íÕµ3OÏxÛz0@)¯)Ÿ{~n>?ßBÇÂÅÂE Ü{嵕’Å „ÿsþqÙq&š&®–®š*š©Å©·n¯º¾ÊZϺG‡ ~ä‹Ï/F¤D4ýca;¢‰¼R'¬[}}õ—ö_ºX¸|ð', 6ßÙ|,æØdÇÉë¼Ö‰O2µòÈ’W )ª(Ú:bë‡1ÔæÓì§¾ø‰9²ÀyƒÆ(ª("„\˜yËáRj5/r^HŽPXQ¸}äöQv£$×{­·ÔµŒJÊ.ÍVb(õ1íSP^›[\Y,Î……ûÇì÷ìäImºZ¸~w廤*¯\~y9Ÿ7Ðr౨ TY[9ãԌŠBñQnÅߊˎÙuä6ïm ú»oë¸ì¸qŒ;òðÈÎQ;üÈ£íG¿á©U&Þ Œ ,ª(Z5xUÓƒBÊkÊ¿ùç›ûoï¯öXÝœó²@ò ´1æÚæâ°BénÔ}ˆÍon$ä't1èâeãõWì_‡£ûv÷µÔ±¤ÑhJ %GcGÉ,t,ê…BÈ“¬'~§ýê„uõÚ Ë Åy¥«AWqX!„P—xòøyÔflf,!d‘ó"*¬BØ,ö‚ ¾:û•x—ð”pBˆ*K50*º¨$‰DD¤¡¢—רGm?úÃ?—Æ¥§ì‹Ø·Õ{«[«éžùåù¾ú¦—¤Ž l=Xò­±' Ëÿ¼¦ôœ¢«ª+•‘šyÚ-“z-¦Z¦„ÒêRBˆ‹…ËÉ)'Å›p|Bu]µ½¡ý›!“zL’œZa®c^o„¨Ô¨í÷¶+1”<;yši›©*©Ò-49463V(Š»iIî¥ÊR%„ˆ#¯ŠG1Ö4þWµšÿª–:ýsúéé}äOœ¿òSðOlûmáÛ]a»¨*Z]~yùyÎóÑö£© !$µ8•WÅëfØ­iŸzƒt<¡ A¼9¬ó0]U]©Œ ÐÈ+ÐÆd”dÔk¡¾Ë5”5¨ÍÞ¦½{›ö&„äñó¢Ó£ÿüŸ¯oœšzŠN{·‚ÃûÓ&î&Ý%„ì½Gò¯þ¯ò^µ¨0MMBH&/Ó€cð¿jyÿªV“­I™â8EW­þ A*L•ÆFþÄù+%¼*ž8Rˆ]~y™Òˤ—8U8™8 í??»,»±‘?qþJ½¨A¹—tïiöSjÕüŽZëKCE#à'&›pL|JiŠã ÐÈ+ÐÆè¨ê|õû«¯®ÚèÛd•fÝ|sS ø9ùQgMDx”ñ¨ŸY?3m3ƒõ:ïõý·÷4FÓ,;8Bæž›;¬ó0mUí„‚„{I÷tTu Ê š_ØÈ®#w†í I ùâÐ.æ.¡à~òýŠš òÿyˆ2¢ëˆ£1GO=9š:À|€®ªniUiJqJtZôì>³»ukpäOœ¿ò~Ô(­*¥REƒSI<¬=ŽL82çÜßã¾G'm"çÉnd€zW éiÜÓJ×ê@Ô{oïQ-£ìF-p^@½îoÖŸºëXÜ_MIíš^mhç¡#»Ž¼üòòÙgïî^ß}¼º’úᇇ›_˜š’ZàØÀ9gç¼-|û¶ð-!DŸ£¿ÊcÕ·—¿¥fºB4Æ!ßC˯.¿“xçìÓÿÝ)Íåp +rÑǴωÉ'üNûM<>ñÈ„#ö†öŠ?2´oÈ+Ðf0Ì—j‘Ù/l¿ˆN‹Š„½LzI.[2§ßœi½¦=H{\”L1Ò0h9PÄ#¼?ø¯>¿Nvœü<ç9FëeÜËÁÈ!,9Œ£Ì¡&j4¸#Õh­g-nénÔ=xnppbpvi¶¡º¡g'O*9I^ûÐfkÿ6¤˜Œ˜¢Š"Usms''ñíÍ­` å@  ñ# ICÐŽkwzêéË//G§GÛrm›¹VŠìF†ÏM¼J#@säææòùü&:\»Æ à&&&µZIŠ#± ÑXÓX|/Rqeñ„ãÞ¾½2ëJƒ.ò­ísð9ÿîµEVV-¸ ˆó+R’8Àl€‰–InYnHR¯Š×߬? À'B^šNúªëª¯½¾&nq0rØ>²Y€& ¯H›¥[øÂðÈÔÈô’tѕ۵iñÍAðÑW¤ICEchç¡ò® ½¡¸ @›qõøñãÏŸ?ò®¤ çW =y²}ûö²²26›mooߣG—>}ú°X,yŸyÚ“Õù¾}ûöÉ“'Ož< 9xð ‡Ãqqq4hРAƒttðè¢6 yÚ:nmmmmm=nÜ8BHfffhhhxxøúõëW­ZÕ¯_¿‰'zyy1X§®-ÁühÏŒ'Nœ¸{÷îlݺµ¦¦fÑ¢E¨¬¬”wuÐ\È+ðY`³Ù£F:yòäÍ›7½¼¼ü×_ÕÕÕÉ»4ø0äø¼XYY­ZµêÎ;ÞÞÞ7n>|xXX˜¼‹‚@^€¶-ŸŸ?ùÄä£1GÅ-³ÎÌÚt{“ü*’²<~Þ©'§æ_˜?ùÄäSONÉ»œöC[[{õêÕAAA;wöóóÛ´iN´(2Ì·€¶­ZPm£o#ny˜þ°ª¶J¦vrš­í*U2= !ä§àŸŽÆ?˜ÖÑØQÖGüܘ˜˜ìÙ³çÒ¥K?üðÛ7oöíÛ§®®ÞÌ}þúë/™VØÿ»wïÖk1bÄÎ;Å›¥¥¥÷ïß¾wï^iiéܹs¿ûî;Éþ 22òòåËOž<ÉÈÈPVV¶³³›:uêС ·æ!ò ´7‡}s”92=Dtzt묲ŸÇÏÓWÓd5ˆÍbKžCéòññéÔ©ÓìÙ³gÏž}ôèQUUUyW$kÖ¬¹zõj¢¢¢fΜ)Þ¬®®ŽŒŒŒŒŒ\¸pá’%Kd^_K ¯@{ÓÛ´·¼KšÕ«õÕôi4Ú77WdÊÖÖöøñã“&MZ¾|ù®]»š“GãââZ¡°¦½y󦉳555½½½\YY¹zõê÷;0™LŸîÝ»wèС¨¨èèÑ£GŽÙ¿ÿøñãMLLdY{Ë ¯@ó4ëé™§g2K34Œ&tŸ §¦W¯Ã¬3³,u,ðüR+¨qj†“©S€KÀé'§#S#‹+‹ùRaªðªx瞋͌å×ð¹îÐÎC[–‡WÅ»øüâãŒÇeÕeµ;é4ÄÅÂåMþ›õ·Ö „‚ç9Ï'Ÿ˜Lõ\3d­­,>¬Ç@ÃBƒ,--wîÜ9cÆŒ‹/Ž3FÞåHÁ† ¨7nÜh°Cß¾}ûöí+Þ466^½zubbbhhèóçÏ‘W>Ò¹gçV]_% ©Í q¾øm½>’óW„"atz4G™ãwÚ/25’j¬ÔÅæÆÎ97§¸²X¼×ù¸óã»ÿÏðÿP›2Í¿0¿¨¢èÝÛÉäÄã+­èaÜ#:=šRZUJ½ ^7XíæàÍÏsž7ý‰¶ÜÖA£C³><ȵšÜ¶mÛ¼½½•””îÞ½{äÈ‘øøx>ŸollìêêêïïÏår©Î’óWœMBÙ°aÃäÉïrmttôï¿ÿþøñc>Ÿohh8tèÐE‹q8²½vù¬¬¬BCCÅóxª««íìì<==׬Y³iÓ¦¨¨(ƒááá±víZ55µ°°°;w¾~ýšÃáøúú~óÍ7tºLnåA^€6#«4kí͵B‘pŒÃ˜ÁÖƒBÁõ××¹ÿËw¼ÿö>G™³Ìm™-×V…©" æŸWRUò¥ý—îVîš*ši%iG=ûôlÿŽý}ì|J*K枟[RYÒݨûøîã4Œ2y™·âo•U—uÖï|bò‰zóm;¹ò:ÿµ8Ó4¦²K–)–… ž>}úÆêêêþþþâö¤¤¤¤¤¤œœœ={ö4s(&“icón&øÉ“'×®]+ž:‘‘qèСˆˆˆ3gΰÙlBÈôéÓ#""šðæÍ›VVV’-cÆŒIHH`³ÙvvvS¦Lùôy²555wîÜ100èÝû_×Uy<Þĉ³³³©ÍóçÏ—””L˜0aþüùÔ£%+++÷îÝ«££3cÆŒO¬¡AÈ+Ðf\zq©FPã×ÛoµÇ»+ñ#lG|õû qšÞQDDNüÓ–û.U|¼°¢p™Û²yýç‰û|Ñå ·}nž_ð±ó¹øübIe‰—×¾1ûÄ&;N.«.SWVïÛ±/FÓdköíØ·þ‘þmå •¥Õ ŸzÃÉEc``0`À€àà`êÌÇÒ¥Kǯ¥¥•‘‘žššÚà^”ÜÌÌÌœ:uêòåËœœ!éééëׯ×ÐÐX±b…»»»¦¦fZZÚÎ;¯_¿~ìØ±yóæ58fs¼xñ‚RSS1kÖ¬U«>é¶µ7¦¥¥*))I¶?|øÐÙÙù·ß~³°°ˆމ‰™9sæŒ3´´´îܹóí·ß:ty>woòßBÆw/Ù8¾Ûøæ•.ú]Äa…ò$ë !$(>("5‚úû®ˆˆ¨I…I„ê"ÎW}¿ª7Žºrsït¥HÚ''§3gÎŒ;–2jÔ(}}}Bˆ……………EsvÏÍÍ1cÆâÅ‹‡ Fµüý÷ßuuu›6m>|8Õbmm½cÇŽ˜˜˜   *¯üñÇ-*ÒÜÜ|Ë–-}úô100ÈÎÎþûï¿>ìååE…¤°mÛ¶“'O®\¹ÒÓÓ³Þ[:::û÷ï§îœêÖ­Ûìٳׯ_ß«W¯•+WR¼½½ÿù矻wïVVVRgŒ¤ yÚŒªº*Bˆ†Š†d£¦Šæw4T7”ܬ¨© „<Í~ú~O%¦’ø@ÚlíO(–Ì_i³¸\nAAŸŸ_ttôˆ#ÜÜÜìíííí휜X,VÓûLŸ>}Þ¼y£F7&$$B/^¼xñâwYô."ôñ’÷ûXXX,Y²„Á`ìÚµëæÍ›‘W„BáúõëOœ8±bÅŠÙ³g¿ßÁÎÎNò6occcBHŸ>}$ûtèÐRPP`jjÚÒ>yÚ 5Bȋܒù#.çÃ÷”ÖûJ0Ò0"„¬÷Zo­g]¯'“Î$„©BbÒc,tùû´ˆˆ'"4óWÚ(@Àd29ΟþÿàÁƒ×¯_Ÿ;w®¨¨èÇ1bDc;OŸ>ˆ"ð)XIDAT}úôéÔ£¡Å„B!5ìû»ÔÔÔP/>nþŠ$jÆIAAAÓƒ¼¯®®î»ï¾»|ùòêÕ«ýüü죬¬üÁFê4êÃJò ´®–®'bOl¹³ÅJ×Ê\Ûœò:ïõ/÷><ß¶ž¡‡‹9öÏ‹¶ÜÖQ«#Õ( ‚âƒB!ij“çј£?‡ül¤aäbáBuˆÍŒÍ/Ï÷²ñ"„¨)«eð2„"!ÖÔ­˜¿ÒFåææŠo²±±Ï™]¸pá²eË\\\458«Çãñf̘1~üø)S¦Ô{‹ ÇŽsvv–]Ù>$„èéտÿi••• . ]·nÝ´iÓdSš ¯@›1Èj£±clfì°ƒÃ,u-BAJqJgýιüÜÓÇ´ÏøîãÏ>=;8p°©–©žš^iUi/£º®zn¿¹#lGô3ëçmë}åÕ•™§gp Œ4Œ²J³òùù , òJWnרÔ(÷ýîÆšÆ4Bklý•OŸ¿r7ñîÁ !E•E„K//ÅfÆB¼:{Ítšù‰ƒCc¢££íííW®\ihhèááaffÆb±Þ¼y“P[[›››û~^áóù~~~_|ñEƒç'F¸téR*îèééñx¼”””«W¯r¹Ü˜¿qúôi___kkk--­ììì‹/B† ÒüqÊÊʾúê«ÇoذaÒ¤IÍß±õ!¯@›Á 3Ž;øÝÕïî&ÞÏ'„¸Z¸.s_6êȨî[ÏOÃ~ê¤×é÷¿§—¤§—¤BX Ö]¾ðîêMuØî³ÝB×âèãyü¼<~!ÄÉÄihçw7‹~çþݼóó²J³²J³Hãë¯|ºüò|É+JÙ¥Ù٥لÉç%tåææFGGïØ±ãÌ™3gϞݽ{·ä»]»vµ¶®‘2wîÜgÏž={ölÛ¶m’íÔú+æææ7n\³fxvªäŽQd]]ÝÕ«Wß_kúôé’sJΜ9#y»Ð8@™:uê?þH¹sçΣG!kÖ¬Y³fäPM\’ ähK´ØZÇÌåçfñ²¸êܪëªOL>ÁUçŠûH>?ˆÅ`˜|âý™³t}VïY~N~©%©EE:ª:ÆÆ,Æÿ¦R2hŒo\¾ùÚùëĂĪº*SMSUñ»Ýº‡- K,H,­*Š„2ZÜ–ânå~bò‰÷Û%?/H׎;ŒŒŒ<<>>R, ÔÄÜá÷ÉdÑ\…ÅãñlOJJZ²d‰ŠB^€ÏEIIɼyóêMI¡<þ|Ò¤IVVV7nlýÂàƒWà³6tèÐÛ·oß¾}»Þ[/^œ4i’ÍáÇe±6+|:Ì·€v®¦¦fÇŽ¤4ËÈÈHMM533£^ÿôÓOÁÁÁsæÌY¼x1“‰¯E…ÿ0О%&&$%%‰—Àg2™÷ïß9räáÇ>Ü¡C‡cÇŽõïß_Þ•BSW }‰D§OŸÞ°aƒ@ \ _(9rä¿ÿý¯’’ÒâÅ‹g̘ñÁ§Ü!¯@;TPPðý÷߇††¾¿l‡P(ÌÌÌ\²dÉôéÓ%ŸáŠ yÚ›û÷ï/]º”Ïç7¶Æ˜@ èÚµ+ÂJ‚ûƒ =©Ü°aìY³x<^]]]cX,Ö½{÷Z³,øDÈ+ÐN¤¥=!ÄŽzp`Ó«·×ÖÖµV] ¸íA~~~LÌyBœÝÝÍJKKKKKËÊÊø|~ee¥P(¬×™N§gee‰ïjŇ¼Ðödð2Ü÷»Oí9õG¯?ŸC7M__̘!!Ü߯ÿü ÊÊʲ²2*¾”ý?>Ÿ_[[+—Rá# ¯@;Çf³Ùl¶¼ ‡ù+ èW@Ñáz´ÕuÕvÛì<;y®ñ\óóÝŸ#R#J*Kž}ûlüãK«KC„RÝ2y™nûÝ!7¾ºa­gM5zð`зüoµfaª,Õ”â”O„§„§§1è }›I=&qSoÇ C7lÞšZ#¨q4v\9h¥-×V<¾P$<}øÔ“S™¥™†ê†“'ï2¼™D§Gÿþà÷Ç™ùÕ|Cuá‡.r^ÄQæP;6]^s Ð:W áUñ|ÿôÍåçR›B¡ÐÅÂåPô¡¤Â$+]+BHXJ!„N£‡&‡Ry%ƒ—‘Zœ:­×´ÆÆœ~jzDJDÓǽé“¿ù…B望ó¶ð­¸Olfllfl?o^ÿyâÆÒªÒ Ç'¤—¤S›)ÓNM š¤ÍÖ¦ZÖÝZw2ö$õ:½$ýç»?¿ÈyÑœNÆž\{k­øÎÞ ^Æ¡èC)g¦a³ØÍ)¯™‡5ähc¦?t4vÜ;foƒ.*LBˆ«…ë¡èC¡É¡Tž}j¥k¥®¬–æ×Ûj!„¸X¸´ra„k]kÿ¾þN&N&š&UuU¯ó^¯½¹60*пŸ?ƒÆ úD§G÷1í³sÔÎNzrù¹ko®H‰øçÅ?3fBže?;{’£ÌYã¹ÆÃÚ£NXwãÍÿÜùÏ H/I_´^CYcÅ îVîšlÍ´â´a;¯¿¾~,æ•Hš.¯ù‡5ähcTYªÆÐQÕ·8™:)3•Ã’Ãf:ÍŠ„QiQ_Ú}ÉQæŠ>T+¨e1Xa)a £¯i߯Æücâ²(Œ²ÞkýþÈý‘Ù¥Ù5‚q{&/³£VGêµ6[û·q¿Q×h̵Í×x®þûð×y¯©wo¾¹IùÎý»±c©–©=§òªx¿Þÿµéþ~þw°nÓ°Mâ+8ÖzÖ;|vÄdÄÅQy¥éòšhYC^€6¦+·k½L ÂTq2qzö VPû2÷eIe‰‹… G™³'|Ï£ŒG½M{G¦Fö0î!ž´Ñj…ñªxcþ“]šý~çªÚ*ñk;C;ÉÚLµL !üj>µ™ZœJqµp•Ü} ÅÀ÷CC½ !‹/-^|i1uIHDDÔ ¡5§¼æ@ÖW Ñbk½ßèlîž“ó8ó±C©oǾJL%Ž2',%L…¥RZUêbÞÔÅ ©Ì_y¿°óqç³K³½l¼¹,2Ó6c3Ù4mÍÍ5â!ñÅ# &>B½„"!!D ¼ß“:•ÒÌòò ´®–®[C¶†%‡=Î|Üˤ5™´_Ç~¡oC•ÊDö“W”VœFùÖí[qЩÔD¥Fµh3m3BHhrèÇ)âÆûÉ÷?¸#uÐc9›;\y}h©C^€ö ‹~]UÝ „ ´â´%—P..ëƒÖW ªÕ•Õ»ukbw©Ì_y_„ƒ.v]¬ÅÖJÈOø5ô×ä¢ä 2´óÐQþò_¦Š‡µ‡@$¸þúú¾ˆ}Üq´ÃèÀÈÀ¥—–.s[æbᢧ¦Ç«â¥§\}u•ËáÎë?ïƒå}ô¡¤yÚælá|éÅ%"1ßÂÅÂE$%$± 3Z¿ª‘]GîØ{îÙ¹sÏÎQ-eΛ!Añ-x2p7£n“'Œ=¹üêrq£·­÷•WWšÞÑ\Û|ã°kn®Yy}e½·æö›Ûœò>úÐR‡õm  f¨èªêÚ¼[iÍ\ÛÜDÓ„Èéb!ÄHÃèø¤ãýÌúq”9*ƒ¬vV|[Pó­÷Z¿bÐ smsƒe¢i²ÌmÙ2÷eÍÙÑ·»ïÙig½m½ 8L:Ó€cÐÇ´Ïz¯õóûÏofy}h颉×hŽÜÜ\>ŸßD‡k×8ÜÄÄúÏÈ5üîµ-VVMM`¯çW@Ñ!¯€¢C^E‡¼Šyò (:äPtÈ+ èW@Ñ!¯€¢C^E‡ç3@›·?r¿Ç`¬ÃXy¢ˆ^侈͌­ª­êlÐy€Ù€÷ŸSZœ–VV]f®cîféÆf±åR'@ÓW -Ù¶ÛDËd´ýhÉÆ}û ÚD^i°~Éãç-½¼4*5JÜb¡cqdÂê™Õ”_ïÿº?r¿P$¤64ŒŒ=Е۵Êh\€¶dOÄž‹Ï/Ök\0`ÁØnm ¬Fê—…òšòÉ'&G¥Fi³µÇw?¯ÿ¼!6CÒŠÓrÊrÄ}ÎÇß±—Fh>v>sû͵5°Í.Íö?ë_Y[Ù ´ί@›7¿ÿ|y— pv†îL)NénÔýÈ„#*TcZIš SEÜgwØnBÈîÑ»½l¼!K.ýêìW¡É¡§žœòëí'—²ƒ¼mCViÖ¹gç„"aZqÚ®°]Tã‡1&š&’óW"ÁÞð½–º–Þ¶Þ¯r_E¥EÑitw+w3m3BˆH$ O •÷Š£ÄÚy¨ŽªN½£<Ïy›˯ás9\7+7]U]Éw"ADJD|~¼@(°Ò³r1wQf*So•T–üñènFÝÜ­ÜÅý©Æz ´ØDýRÿYÕjÎ>;K£Ñ¶Ü&+„ŽZůßä¿ÉàeØÚSa… 3\š„¼ŠyÚ†¬Ò,êk>ƒ—!þ¾ïÛ±¯‰¦‰äü•:AÝ®°]ž< ÷„mÞ¼óËÎæÎsÏÍN¦·ßß~zêi+]+j³ ¼`É¥%‘©‘â#²YìuCÖë6ŽÚL,Hœa~rQ²¸—ÃÝ=zwOãž„^oWØ®©=§Jæªq¦ÓL*¯4Vÿûöâó‹é%éMÿ@¦õš¦ÍÖnð­9/ʪËz÷´Ð±ˆJzšý”£ÌékÚ×ZÏZÜçuÞkªÉ Ø,ö›ü7M õ!¯@ÛÐA£C€KÀîðÝÆÆcÆPÆšÆ vŽÍŒ½“xdz“§¥®e|~|HRÈÚ›kû˜öy™÷r\·qZl­°ä°×y¯·ßÛ¾oÌ>Bˆ@(ð?ç—g¢iâj骩¢™Zœz;áöªë«¬õ¬{tèQY[9ûììL^fnVn,:+<%<©0Éÿ¬ÿõ¯®p ¤[ÿÅç#R"šp„íˆÆòJjq*!ÄÎÐnñ?‹¯¼º"n÷íî»qèFê¡<~U•äŽt½ƒF‡¤Â¤ACéƒ  Õ ¯@Û@}ßïØÛQ»c€K@Ó‹*‹~ÿ»›¥µ¹êúª3OÏÄdÄÜô¿Éåp !µk½zÝMº+‰h4Ú­ø[qÙq#»ŽÜæ½M|Ço\vܸ?Æyxd稗_^Îäeö4îylâ1êŽß:aÝâßxsã¯Ø¿».–ný£íG;™85Ýçý‹Ybµ„à„àœ²œ!6C,t,ÒŠÓ‚‚Î<=c¤n´Èe!¤º®š"¾ž%FÅ”ªÚ*äP(È+ÐÙqíÄa…âlî|æé™±c©°Ba1X}Lûœ;Ÿ_žoÀ1O '„¨²T£E"!D$‰ˆHCE#.;Žò8ó1!ä×oÄË“0éÌeîËn¼¹ñ(ã‘ÔëÿÄž©’Ušu`Ükª1,9ÌïŒßþøÚùkFõ¡R‹¤A !D…¥B ò ´C†ê†’›TÈh°‘ºw·¨¢ˆrúééÆäUñÈ¿ç«BL5Mi4ZIe‰ÔêþŸ8…Še&š&â°Bq±pé¤×)>?žŠhÔ5¬¬Ò,É…"aVi–†ŠN®€¢A^ šlMBÈÇ)ºjºõÞ¢nÖTÑ$„¤•¤™j™ŠßJ祋D"-¶ùÿôC]ˆ«—šïç¯t1èB£ÑÞo§NÑêCyö@²C\N\em¥ƒ¡ÃÇ• ;È+Ж(1”dq>£ÇþgŸžˆ_;M§ýo!Í|~~vY6!¤§qÏsÏÎíÛÝÓ¸'M"Á/÷~!„ô2éEÑSÓc1XQ©QUuUTÄ©ÔF~\ýŸ8EOMϱƒããÌÇÁ‰Á’׃ õÔôôÔô!õ;›hš<Ïy~+þuK³@(Øq!dˆÍVÐÊW -1×1™ûòÛËßšj™Òiti­_2¢ëˆ£1GO=9š:À|€®ªniUiJqJtZôì>³»uÙuäÞˆ½11Ã~æféÆb°ÂS 5U4';N&„P«¼Å<<ÒÝʽFPs/é^µ þìfÖÿé ö/v]<ãôŒùçç{vò4×1§æÛŠD"ÿ¾þâS/‹\-¿º|ÑÅEÞ]½ Õ C“C_æ¾är¸{LüÄ£Hò Hõm(‘†®H|*?'¿å×–ÿóâj³±õKZŠAcò=´üêò;‰wÎ>=+nçr¸ÝŒºBØ,ö¡ñ‡¨õWþŠý‹z×€c°ûËÝâ›™¿sûîqÆãä¢djS-ÓŸ¿øyÖ™Y­Pÿû˜Ø4lÓ†  ·âoQ-tݯ·ß¬Þÿ«g¬ÃØ”¢”À¨@q=ÔóƒÚî#eô[Šy¤LUUH©ª¢³ÙB©>ÆaŒ¡Ýƒ´¼Jžˆˆ¨õK X  L3À%ÀR×Rr/ ‹—*yˆ¹[¹ë¨êPS!Úlí߯ý–T˜“STQ¤£ªc®mîdâ$¾½ÙZÏú†ÿðäðøüxH`©c9Ðr äýÀ–º–As‚‚‚òøy&š&ž<«ëª\ztèÑtý22¡û„ÁVƒC’B * ´T´œ-œëÍ&„|ëöíØncÃSÂ˪ÊÌ´ÍÜ­ÜÛnX!„”—ÓÕÔ¤ÿ[Š€FM¿h¦ÜÜ\>ŸßD‡W¯”GŽ4¹y3Íʪ¶Õª „ìÚ¥}ù²zPPš¼ f±²²j~g<Ÿ¤Ìʪ†É½xQ!2Y{ùR¹sçyW2¼R¦¤$êÙ³êþ}UyŸ—šZd$»ÿJy2¼ÒçåU¤V^Ž?a õܾ­VUE÷ð(—w! øÓ¤oôè2¡ö×_ò.>"9tHËݽÜаNÞµ€L ¯€ôij ýýKöìÑÎËcÈ»ø,\¸ þü¹òâÅEò.dydÂß¿XSSøË/õ—·:>Ÿ¾}»îĉ<[[L¶m·W@&ØlÑêÕçÏ«_¸ .ïZ = ÉÒ¥B!Y²¤XÞµ€ !¯€¬ Z>wnñªUúQQmx 2Pp[¶è†‡«îߟ£¥%w- CÈ+ CK—yzV|ýµáÇ*ò®Ú‘ˆìÚ¥säˆÖ–-yŽŽUò.d ydˆN'Û¶åöëW9}z\)ª®¦-]ÊÝ·OkÓ¦ü‘#›ZpÚä-ÑîÝ9³g—,_n°b…AAî‚O£2nœñýûª‡gO˜P*ïr 5 ¯€ÌÑhdÙ²¢½{s""ØžžÔÂRrðqRRXK—r'M2ÖÕ\¸1`V³ý\ày‡Ð2|Þa*+ij<¨E§‹<=ˬ°·¯14¬Ã3u¡1B!áñ))¬'OTnßVŽfwìX»jU!Ö±mZô¼Cäh™OÉ+~ñ¢zPZLŒŠ@@“Vaоii ]\*||ÊÜÜ*¸¨Ø. ¯€ }z^«©¡%&*0pyC£‰44„¦¦u&&µ4„Ûö¥Ey…)»:š¦¤$êÚµZÞU@€¿Ó€¢C^E‡¼Šyò (:äPtÈ+ èW@Ñ!¯€¢Ãzü èp~ò (:äPtÈ+ èW@Ñ!¯€¢C^E‡¼Šyò (:äPtÈ+ èW@Ñ!¯€¢û?ùiëð÷WÙIEND®B`‚fio-3.39/examples/uring-cmd-fdp.fio000066400000000000000000000012021476262051600172020ustar00rootroot00000000000000# io_uring_cmd I/O engine for nvme-ns generic character device with FDP enabled # This assumes the namespace is already configured with FDP support and has at # least 8 available reclaim units. # # Each job targets different ranges of LBAs with different placement # identifiers, and has different write intensity. [global] filename=/dev/ng0n1 ioengine=io_uring_cmd cmd_type=nvme iodepth=32 bs=4K fdp=1 time_based=1 runtime=1000 [write-heavy] rw=randrw rwmixwrite=90 fdp_pli=0,1,2,3 offset=0% size=30% [write-mid] rw=randrw rwmixwrite=30 fdp_pli=4,5 offset=30% size=30% [write-light] rw=randrw rwmixwrite=10 fdp_pli=6 offset=60% size=30% fio-3.39/examples/uring-cmd-fdp.png000066400000000000000000001421311476262051600172200ustar00rootroot00000000000000‰PNG  IHDR…£}ª|bKGDÿÿÿ ½§“ IDATxœìÝy|ŒçþÿñÏd²ï’H„ iB±/§¨}I‘¢G,-E©5=öjKíZίjëŽ/UKª­}«¦¥­XJˆ ••²‹d~Ü:¦ 1™,3I^ÏÇùãÎ5×}ÝŸ{æöîœkf®[¥ÑhPDfÆ.Ê%fWÀÌ®€!˜]C0» †`v Áì*‚ÙU0³«`fWPþ>|X¥cÅŠúìõùçŸ?÷ÜsU«VÕîxúôéâûT‰‰‰¡¡¡ 6´···´´tsskذaÿþýcbbJd| ³«ǃ `gg÷â‹/fgg»œRÔ±cGFãçç§ÿ.‹/6lXDDD£Fîܹsúôi›âûT111Mš4Y¾|ù¥K—–.]wñâÅöíÛýõ× %x ”=fW*Ž3gÎlݺ5##c÷îÝ¿üò‹±Ë1-k×®U6^~ùeggçÆgdd4iÒ¤´;wî\euÈ!cÇŽusssssûðëT©RÚ‡@i37v(1/½ôÒwß}×¥K—–-[»Ó’˜˜¨l899•åq:¤lüë_ÿÒ6ªÕêÛ·o—e( Ì®T_ýµ±«0QÆ(ǽs玲áââb”PzXÀÈ&Mš¤{'%åNGÚ–víÚ)=—-[¦ÛsóæÍóæÍ{öÙgÍÍÍU*Uhh¨î£Û¶m‘Í›7ë6†…… 6ÌÓÓÓÒÒò™gžùïÿ›™™©[Ì/¿üäââbiiéëë»téÒzõêiw¯W¯^áç’””4mÚ´€€;;;{{ûúõë)ü¸iiiºÇÕemm­ÛÿîÝ»ï¾ûn‹-œœœ,,,<<<7oÞ¬çiÀ40¶ .hßž]½zUiœ6mšÒÒ¶m[ÝÎvvvJ»ŸŸß‚ nß¾½nÝ:9yò¤î£[·n-¸K5N:u÷îÝ^½z)-S§NÕvÛ·oŸ………ˆ899=zôÎ;'NÔVøYœ?ÞÝÝ]DÌÌÌV®\yóæÍäää·ß~[DÖ®]›¯’Zµjýþûï·nÝjÖ¬™Òâåå5wîÜ{÷î­Y³Fi©W¯^NNN‰Ôö¤gFÏau_ 6mÚܸqC¹W•Òòßÿþ·HÇýæ›o”+++m·Ë—/׬YSD<˜’’2oÞ<¥[¿~ý´ÏL ß](¯ªW¯>cÆŒ*UªŒ9ÒÕÕUŸ]BBBš7oîèè8pà@¥eÇŽÚGßx㜜éß¿ÿóÏ?ïììÝùD­|÷›*ÈÒÒ²kpss{졵7ƒ*œî÷=SSSK°0)vm%;lFFFÁ]ªV­*"ÙÙÙ½zõªR¥ÊÇ\¤Jt'Êu‡ÍÊÊ*ئƒÙUãÓ;ÓNMFGG—e µk×ö÷÷W¶¯\¹¢-F÷K©Š¬¬,Ý…ü•:kԨѺuk¥Ã©S§´³³³æÌ™cÄÚŠ?¬.mOí†J¥êÞ½»ˆlÛ¶mÏž=)))“&Mzðàþ'èééÙ¾}û|Ãæåå]½zUÙ}z£Fìì쬬¬¼½½_{íµk×®=¶¼Y³f 8P·E­VŸoÇŽÓØ .h[>ú裖-[Z[[ÛØØ´hÑbÆ Úeee:99ýïÿ{ìq òSRRÞ~ûífÍš988˜››W­Zµ{÷î_}õU^^^Q.%”•¦èŸ« òðòòŠ‘¯¾úªÒþ>ýâÅ‹Ú5®^½úÌ3ϵ˜ VÀCááá^^^ºŸ¾'&&ÆÅʼnˆ­­m×®]W`Š˜]À#±±±cÇŽ½~ýzVVÖ™3g^yåFcnn¾fÍeMUZÌ®à¡ÀÀÀo¿ý6--­{÷î...­[·þ믿FõÛo¿ 2ÄØÕͤI“´Ëˆˆ··÷ AƒŒXL뮀!øî*‚ÙU0³«`fWÀÌ®€!˜]C0» †`v Áì*‚ÙU0³«`fWÀÌ®€!˜]C0» †`v Áì*ÂÜØ¨PÓÒÒŒ]€|||ôïÌwWÀÌ®€!˜]C0» †`v Áì*‚ÙU0³«`fWÀæÆ.C£‘7,þúËüÞ=µFcìjcS©4ŽŽy5k>ðòÊQ©Œ] *7òÐE>ÃtÏ€.òe‰ÙU&$7W¶Û½ÛþØ1Û»wùr=Ÿ“SÞóÏg¼øbZ‡éjµ±«AeB>…#Ÿa,ä3P8òe@¥áS-%'111--Ͱ}°[°Àõúu‹Ö­3»tÉhÚ4«ví'§\3Þ%¢ÒËË“»wÕ×®Yüþ»õ¶?ÿlS«VÎÌ™É]º¤»4T ä3ð$ä3Œ‹|ž„|F1ùøøèß™ÙU%ɰÙÕk×,æÎuûñGÛ  ´‰o×®SµƵk+WºìÞmß¶mÆ;ïÜ⟠Jù  ùŒ2C>EB>£¨˜]`4Ì®ž8aóÆÕªWÏ™;÷V‹Y¥TPñœ:eýÎ;nqq~˜Ð¦M¦±ËAD>†!ŸQÚÈgÀ0ä3ôW¤ÙU~0À˜¶lq|õUÏöí3¶m‹å­!P$-ZdmÛÛ¾}Æ«¯znÙâhìrPÑÏ€ÁÈg”*ò0ùŒR¢~ûí·]€Š#==ýþýûzvÞ½Û~Ú4÷ñãSÞzë–9÷ØŠÎÜ\zôH×hT‹¹z{çøùéû¯(ù ùŒRB>ÅD>CO...úw&ÇÙ³V3gº¿újÊ„ ·] PŽ©T2aÂí´4Õôéî^^š6å;,(.ò(ä3Jù ”ò%ŽuW”$=×]MIQÖlÔ(룸¥)P|yy2fLµ3g¬¿ÿþ/gç\c—ƒrŒ|JùŒ’B>%‹|FáXw€© «bf&￟Ä[C DhÿA……U1v-(ßÈg d‘Ï()ä3P²Èg” ‚@Y»|ÙrófÇ7ßL¶·Ï3v-@ÅaoŸš¼y³Ó… –Æ®åù ”òÅG>¥|FIav@Y[¶Ì¥aÃû}û¦»(<<ÜWÇ÷ß_Ì?ÿüó’°Òê×/µaÃì+аþ: ‹|†~þùgÝ ß¸q£±+2Eä3Љ|.x‹[.Ï(Ì®(S æ‡Û…„¤¨TÆ.¥ÂÉÍÍ}ã7^{íµû÷KñÞ—½{÷ŽŽŽ¶±±)©†úØQT*•Œ™rø°]Bw­D‘‘Ïe©Ì»˜ô©³uëÖÑÑÑÏ>ûl×V¾Ï(ò¹d•Yó·\ ŸQ"˜]P¦öï·³±ÉëÚ5ÝØ…T@/^üî»ï233<©4&$$h?0¿téRÙPâÊòŒÊ£nÝÒ­­ó°3v!(Èç²dôÄÖSÙ{%A>Ã`äsÉ*/ Œ2C>£ø˜]P¦""lþõ¯L ± ©€üüüzôèammݹsçFU "šçžËüé'¾%"#ŸËRy ÌòRg¹@>Ã`äsÉ"ÙùŒâã›ÏÊÔÅ‹–/¾ÈŠQ¥ÂÜÜ|õêÕ•¹(ê×ÏÞ½ÛÁØU ü!ŸËRy ÌòRgyA>Ã0äsÉ"ÙPùŒbbv@™JLT{z>0vÆwéÒ¥ž={ê¶Ì;wèСyyyíÚµKJJš={öðáÃE$ 33³à+V¬ˆ‰‰Ù¶m[|||nnîÈ‘#ׯ_¯}tÕªU .ÔmTŽèææ¡´$%%­]»öèÑ£±±±yyy5jÔèܹó˜1cªT©RÔ3 Ÿ4iR¾”íÈÈÈÕ«Wÿúë¯éééÕ«W£˜X@™ÊÊ2³µågMR·nݨ¨(wwwåÏ™3g:TDŽ?ž””$"Û·oW:{ö¬ÏÂ… £££u×ÅÿàƒÌÍÍwîÜ9þ|y¦f̘qüøqíŸ{ö쉎ŽÖ¾MŒŠŠêÙ³çÆÓÒÒvïÞ½wïÞœœœõë×÷éÓ'11±¨gô¤[]ýøã66víÚµaaaúœ¶¶yü÷EF>?I¹Nì|ÇÚ¸qã¨Q£öîÝëçç—˜˜øÙgŸuëÖ->>~Ó¦MsæÌ¹}ûöÁƒÇŒ“››û¤:åiÁŽBÏ0LeÎçrÀùòWÏ£|ùå—3gÎìÖ­ÛÞ½{þùçQ£F]ºté“O>éׯ_JJJïÞ½O:¥=µ•+WvëÖMDüýý:¤V«øá‡³gÏ:;;+&L˜0bÄ 8t襥å‰'*çÔªÏ(6®eJ£îvªP«Õ}ûöU¶µï ¿þúkeã?þˆŠŠ‘ÈÈÈØØØ^x!ßîîîîcÆŒqrr Ö¾I*’3f¤¤¤ˆÈ /¼àíííååÕ»wo‰‹‹[°`Açôï¾ûîƒD$00°eË–ŽŽŽ“'O67/ì—lذ¡½½}¯^½”–}ûö•T=•J%šJúÁP,äs!*Lb2ÄßßßÙÙ¹mÛ¶JKvvö¸qãìììºwï®´\¹r%&&¦A v(Èg¦’çs…IàÂßâêy”–-[>ÜÎÎÎÙÙyüøñ"róæMe(ggç>}ú(=7nܨÝëÓO?mÛ¶­Í+¯¼¢4~öÙgÚoû~úé§]»vÕÎbWBä3ЉÙU0š—^zIÙ¸xñâ… RSS÷ïßïãã£4*ï·oßÞ£G{{û|ûvêÔI»}êÔ©€€€":11ñÌ™3ʶö”òþLDöíÛ—••%"õë×÷Õѹsç"%66öÊ•+ÊvíÚµ• ;;;77·BöÒí©­¶HÇ€W1ÛËËKÙ°µµU6<==Õjµn‹šº†;GÅHàBÞâêy”—_~ù¹çž jܸq:u|}}µ#ܾ}[ÙPÖI‘Ó§OGFFŠHzzú¶mÛ”¯©ŠÈСC---E$%%eË–-ÚÆ +Ò3@³«`4¾¾¾Ú•nß¾=<<ÜÛÛ{òäÉJË®]»233ÃÃõ !éªZµjq}óæMíö’%K”7‚ï¼óŽÒrÿþý7ng|Å;w´ÛVVVÚmÝÿ_nO…†’[ÅHl3³‡oþU®`‹šº†;GÅHàBÞâêy”>øàÂ… ]ºtùå—_¢££ýýýó åëëÛ®];eû“O>‘­[·zxxhÝÜÜ´ßoݰaönÝZ³fÍ-Zèy" â'<`L/½ô’òIõ®]»jÔ¨ñïÿ»sçÎNNNwïÞ½uëÖܹsmllÚ´iSpGå3ç§R=á‡d®®®ÚíÉ“'7ΠòŸBw¥å#wEFF†Ác>錠´UìÄÖSi;þ|PP¥¥¥öÖ¨Û·oïÛ·¯ö‹EÐý2‘²LÞàÁƒgÏžíéé©ý¬ûÒ¥Kº»¼òÊ+Ú»?ÿñÇÑ:|سga}*›ƒ¾öÚk"²jÕªÀÀ@¥±k×®111Mš4Ù¶m›Ò>iÒ¤|û>|X¹EIÁG[µjõÕW_‰Hddä¢E‹ÎŸ?Ÿ••åææ4}útåÇA±±±k×®=~üx||¼™™™››[«V­FŒQ¯^½B ~ì±^~ùåB XµjÕ¯¿þš‘‘Q½zõÁƒÿßÿýßÕ«WEdöìÙÇ/8àÈ‘#­¬¬þ÷¿ÿé6.^¼øßÿþwágÙ³Ç~Âèè+Æ.å ù¬ د¿þúµk×¾ýö[m‹Z­Þ¶m[¾õ õö­[·þùçŸJ·gŸ}vïÞ½…=•ù ÃÏŠ À…¿Å}êQ._¾üÞ{ïEFFªÕêÚµk÷ë×oÓ¦MQQQÊ£5jÔ8r䈲‘‘Ñ®]»{÷î©Õê#GŽT«V­`y}úô9þ¼™™ÙÁƒµ÷<¬´Èg¤ý±Ž>˜]P’˜]…>Ú¶m«Üá4,,Œ"•8ÞÂ0ä3PÚÈg†|Fiصk×”)S:wîüñÇ»ã#ŸQP‘fWYPŠ<ضm[ÝOònݺ•””$"666mÛ¶5^i@%Õ£G 튃ÙU@éJLL|ë­·âââ²³³/^¼8eÊF£V«çÏŸïââbìê€JáÎ;¾¾¾‘‘‘)))Ë—/÷óóã»@‰07v€Š¬C‡ëÖ­Û½{÷ðáÃãââ4MõêÕ8lØ0???cWTVVV-Z´>|xNNNãÆW­ZÅ­ €Áì* ©ÕêŽ;vìØÑØ…•š­­íæÍ›]P±2‚ÙU0³«`fWÀÌ®€!˜]C0» †`v anì¨DÂÃoLštRD,-Íþø£±Ë€i"Ÿaúøî*€Š ##·K—½£FýdìBÔkËǤJ5©bJPïÞ^ÑÑýÚ´©jìB€2bÊÿ–M¹¶|LªT“*¦‘ϨlLùß²)×–I•jRÅ” ò¦ÙUF£ÉËÓäåiŒ]Èc˜rmù˜T©&U ƒ™ò¿eS®-“*Õ¤Š`0Sþ·lʵåcR¥šT1@¥ÂÊ*;;óC‡z»ŠÇ3åÚò1©RMª3å˦\[>&UªIÀ`¦üoÙ”kËǤJ5©b€J…ﮀ!øî*€roß¾ø±c#”íóç_´²R+Û))÷W¯¾¸|||¦­­y“&.¯½Vç_ÿz´^ÏíÛÙ«VE8Ÿ˜˜éà`Ѳ¥ÛoÔó÷wÊ7æáÃÝ—,9ìX’Z­jÚÔeΜFµjÙi¹r%uéÒó7<ÐÔ­ë8~¼ß'Ÿ\9q⦈×îÜÙ3_mú\HyOâç·#7·°Ÿ¹¹YEDô,Ù§ñ±V¯Ž ûCDš7wݲ¥½ˆ=šøê«'DÄÙÙòÔ©^ùޏwo×°° ?ýt3%很,XÐlæÌßt‹)©WdáÂf…W®=ß„„,K‡>}jöêåuìX’¶€#Gz,^|îðáKKu‡o½Õ(55çÝwÏFD$ÙÙYtêä1kV#;»Gÿ…Õ–”›+ 8…†6(¼ Â ŸµÈg!ŸSB>k‘ÏB>ŦÒhX’@‰ILLLKK+¤ƒ¯¯Ï$öìYXÃŒ±¼ömÍÍ›YÁÁG²²r,hÚªUÕ›7³–-;¿woÜ{ï50 ¶ˆ$%eÉÎÎ]´¨Y«VUccÓçÎŒŒ¼óÅíš6uѳkWÏÑ£ëÖ«çôÛoÉ£GGÔ­ë¸}{G¥Ãµkéýú²±Q/^ܼY3רØôùóÏ^¸p7--G÷v–ùjÓgd}Ê+ E} °«~}gåÝ¡¢oßC7nd(ïuت•Ûĉþ9_º”:`À‘ˆˆžUªXð¼éùŠ<‰r¾ÙÙyï½×¤u몙™¹[¶Ä„…ý1kVÀˆ¾Úzô¨>v¬ŸÃ?Ä…†žêÐÁÃÂÂlâDÿÚµíwî¼>gÎé#|fÍjôØ’þú+}á³11éII™¥tÏÓ={ì'LðˆŽ¾Rƒ£#Ÿõ™|&Ÿ F>Ã0䳞#“Ïä³ÁÈgäãã£gVP1-[ödzg7êÜÙÓÞÞÜÛÛ>,¬eÕªÖï¾yëV¶ˆ,[v>66cæÌ€Ž«ÙÚªëÔq\¹²¥F£yçÈ|C P»iSuÛ¶î;zœ9sçÎûåü½{9sæ4j×Î]$,¬Eff®žE>²žå•ª§>%eô躭[»Ùؘ7n\%*ªo•*–…t.½WD9ß9suîìiggîæf5nœ_ûöùº×nØÐÙÆFÝ·oÍ:uI9²Ž¿¿“­­zð`o//Û#G’tÆüGI~~ŽK–4OJÊ,ÊÓT(äs‰ ŸÉg Ä‘Ï%‚|&ŸQ 1»  bÚ»7ND:uª¦m±´4kÓ¦jVVî±c‰"²o_¼™™ªsgOm‡ªU­ëÔq%¥qã*úw.½WD9ßþñvpÆ6ÊïZªõ𰑆 ýâ¬Z5m=-ÉÝÝÚÛ[ß’€Š‡|.ä³Ï@I#ŸKù,ä3*Ö]PÝ¿Ÿ—ššce¥Ö]»GDÜܬEäæÍ,¥ƒˆ4i²»àî11iÕªÙhÿtpx4ˆ¥¥ZD”%UîßÏKO`e¥v~’u IDAT¶µUëîîäd¡g…Œ¬yºŠ³nTAO}õG66ê§wú[)½"O:ß‚ìíuP©D­VÙØ¶$WW««WKþ÷}€é#ŸŸ„|.ù ”òùIÈçBÏ€‚ÙU¥¥™ƒƒEjjNzúÝÿÒߺ•%"U«Z[Zš9:Z¤§?øã>jµÊà£ØÙ™§§?ÈÈÈÕýorrqòcpyQQ}‹yè|eþ4>u33UNNžn˽{9%Xa>Å|Ežt¾¥Q’ró "ŸKù\z%‘Ϩ´ÈçA>—^Iä3L+¨˜ºw¯."‡%h[îßÏ;q⦵µúùç=D¤G¹¹š_MÖÝkÍšKÏ?ÿ}á_ëR~£ütEqófV‰|¦Z"åßSŸÆÂ¹»[ëþëæÍ¬¸¸ŒÒ¨S«˜¯ˆr¾‡'è6|ï½³%XÒ;÷¯^M7x@ ¼#ŸKù,ä3PÒÈçA> ùŒÊ‡ÙUShh}//ÛùóÏ<ŸžþàêÕ´É“OÞ¼™5gN#77+¥C­ZvÓ¦ýzäHbjjNJÊýM›®®Z5cF€þw‡†6pv¶œ7/òøñ¤ŒŒÜK—îM›ö›>JëSñË+‘2  ×®{RRÖçŸÿ™‘‘{ýzú¼yg\]Ÿ¾Wñ .Ö+¢œï{ï=t(!=ýABBæÜ¹‘7ofQ„ûE^Rttê”)'óýÐ ¨TÈçA>“Ï@‰#ŸKùL>£Ri4e÷€ /111-­°Ï9}}}>ø ±gÏ’\1gß¾ø±c#´öéSsùò"’’rõê¨}ûâ2mlÌ›4©òÚkuŸ{®ª¶gJÊýÿý/jß¾¸øøLGGËúõFªÓ¶­»ˆœ>}§ÿÃÚž¯¿î7eJ}_ßo´-:U[»ö9¹z5mÉ’s?ýt37Wüýß|³áŠœ9“rölÐck:ÔGÏ‘ )¯4ü4"55g᳇'Þ»—Ó°¡ó¬Ysæœ>w.EDF®Û­[uݧBD¢£û=©ýŸ·Â_‘§Ò=_«V­Ü&Mòæû‚—D·nžýú=j ­ß¢…Û AGµ-&øO˜PO·¤4uë:¾ñF½£Oœ¸)"ÁÁµ.l¦OaúÛ³Ç~Âèè+%;,*<ò™|&ŸÉg˜&ò™|&ŸÉg”=Ÿ"|BÀì*€’d”ÙUSÓ½ûþ¬¬Ü£G{»>33óAdäí‰O98XŒ_ÏØuU^¼"¤©á  L ¯PLEþLž0.òùI‘Ï@ùeÈì*@«M›ªmÚèµD}Å£]DߤþŠ˜fÍJùljÈg òÙÔÏ@1ye€0» †av ÁìjyrãÆ Õãû÷ïo×®]xxx^^ÞN:¥<vñâE}†4hF£±³³Sv\¾|ùĉ£¢¢ºwï~íÚµ¥K—Ι3G[Xá*˜€€]5v€üÈg0Mä3€òˆÙÕŠiäÈ‘ÉÉÉ"Ò¿ÿºuëz{{8PD®_¿>uêT¥Ïo¼‘““£ôyþùççÍ›gaaaÀPºBBBš7oîèè¨t‘;vhÕó €écvµŠ=yò¤²]½zue£FÊÆŽ;233¯]»¦|5UD|||” ¢•ïè¾¾¾ÚÑ´ƒ(z(¸«U” Ýž6mÚ´iÓtÍÎξzõªî¬¨µµµv[ûý‡ª_¿¾n£îh F£lè®úZÈAä¤Ü_½úâþýñ Y..–>>}úÔìÕËëØ±¤±c#”>GŽôX¼øÜáà ––ê<Þz«QjjλH²³³èÔÉcÖ¬Fvv‚ñʕԥKÏGDÜÌÍ• œBCèY̺u—-:'"¿þšìëûˆ¨Õª“'{5k®í3yrýqãürs5~~¿ßX£I“*ÊŽÖÿïÿýkéÒó‘‘·óò¤qã*S¦ÔoÞÜU»ûíÛÙ«VE8Ÿ˜˜éà`Ѳ¥ÛoÔó÷w*¤*?¿¹¹šB:¸¹YEDô|ìCûöÅkŸÆÃ‡»/Yrþر$µZÕ´©Ëœ9jÕ²»w/ç©g×§OMƒ_ ΀‰ ŸÉg¦‰|&Ÿ”fW+ wwwíö¼yófÏž]°Ïµk×´Ûº3­éééEJnnnú0ÀÍ›YÁÁG²³óÞ{¯IëÖU33s·l‰™6í·{÷rFŒðŽî7fLÄþýñ œ;Öoñâæ?üz*%å¾……ÙäÉþµk·Ü¹óúœ9§íìÌgÍj¤ŒyíZzpðõªU­›5sýë¯ô… Ï^¿ž¡O=!!uBBêìª_ßyË–öÚöèè~#Füøã7÷ïïV«–ˆ¨Õªèè~ÁÁG†}öÅk*ûŒ‰I›7ïÌÌ™õê9EGß›1ã÷!CŽúiÛV­ÜD$)I9ßÜE‹šµjU566}îÜÈþý|ñE»¦M]žTUTT_ƒŸánÝ<µOãüùgG®»xqóß~K=:bÒ¤“Û·wtt´ˆŽî÷ê«'ŽO*xvÆùy)Ï€¯…aç ÀÏä3ÓD>“ÏJ +T(;vìpvv®Y³f“&M”–sçÎévèÔ©SûöíE¤víÚþþþJã•+W”ÔÔÔÄÄDÝþú ¥?= `Ù²?nÜȘ3§QçΞvvænnVãÆùµoŸщààÚ :ÛØ¨ûö­Y§Žã‘#‰#GÖñ÷w²µUìíåe{äH’ΘçïÝË™3§Q»vî¶¶j??Ç%Kš'%å_ £¨Fެ“—§Y¿þ²¶å×_“ãâ2zöôÒí–™™ûî»Mš6u±±QTY¾¼ENNÞ¼yg´µÅÆfÌœбc5[[u:Ž+W¶Ôh4ï¼YÌòô1`@m¥°¶mÝ;vô8sæÎ;÷•‡BBsv‰‰Y={ÖÈ7HQ_ #ž/€â ŸÉg¦‰|&Ÿ”fW+¦µk×:::ŠÈ×_ýÙgŸÝ½{7))iÖ¬Y'Ož\´h‘ÒçÃ?Tn'µmÛ¶cÇŽ¥¤¤¼õÖ[Ê-§Š:”þô<(PT{÷ƉH‡ÿx;¸aC›#|u[ªh·=<¬E¤aÃG?©VÍ&1ñÑ›¿£GE¤}ûjÚwwkooûb–Ú®»ŸŸãöí¥¤<|GµvíåaÃ|ÌÍUºÝllÔº?Ûñóstw·¾pánRR–ˆìÛof¦êÜÙSÛ¡jUë:uÏKIH(îû×§jÔèÑÇÝžž6"¢}ÞÚ´©Z¿¾S¾³1ÂW­Vå¤H¯…qÏ@qÏä3ÓD>“ÏJ +”'7nܨY³¦nËóÏ?Ÿ¯“““ˆ´hÑâÌ™3K—.Ý»wïèѣǎ[­ZµöíÛŸ8q¢Q£‡¿èÒ¥ËñãÇß}÷Ýü±K—.µjÕ=ztݺu/]º$"*ÕÃ(êP›7oTù?o~¨OŸZË—ÿñùç¾öZÝõë/¿ôR-''Ë|}RRr4šŒœœ-"®®V––fŽŽééþø£OÁÏ´ Qœu£ô×»·×²eçµg7pà3Å|Q >_FG>ë‰|PÆÈg=‘ÏôÁÊ•Wxxx¾éÚÄÄĸ¸8±µµíÚµ«ñJЬ{÷ê"røp‚ncPÐÁ÷Þ;kð˜Ê樂ß7)îܹõjnÂfccž““§lwë¶oóæeÛÒÒì•WžMNÎ^¿>zçο†÷-¸ovvî™3·µFEÝKJÊò÷wrw·‘=jäæj~ý5Yw—5k.=ÿü÷…º^ÔjÕðá¾ÊÙ…‡ßøÏ|Š?¦)Ÿ/€Â‘Ïb2yE>ÐE>‹Éäù ”wÌ®Vj±±±cÇŽ½~ýzVVÖ™3g^yåFcnn¾fÍšªU«»: BCë{yÙ¾÷ÞÙC‡ÒÓ$$dÎyófÖˆ†¿5 màìl9o^äñãI¹ÑÑ©S¦œÌ÷C§Â5hà|õjZ||æï¿ß¾~=½eKWíCC†Ð"ŸM*¯Èg \SéÿKó‡;¨T[¶l0`@)„2óàÁƒ½{÷~õÕW§Nº~ýºF£©U«V‡Þx cW‡²,"[·n-æ8‰‰‰ii…-«äëëóÁ‰={w饂RRî¯^µo_\BB¦‹‹U«Vn“&ù?óŒýéÓwú÷?¬íöúë~ݺyöë÷¨%4´~‹nƒÕ¶L˜à?aB=¹z5mÉ’s?ýtóÁMݺŽo¼QoãÆè'nŠHppí… ó/ö”ÏŸ¦Îšuúܹ;ÎΖcÆø½òŠ·î£³fý¾eK̦Míuß5*‚‚Þ¾ýÙgíæÏ?óÛo·ss5U™:µ~óæz¦¤Üÿßÿ¢öí‹‹Ïtt´¬_ßiÔ¨:mÛºKé(ø4N™Rß×÷mK§NÕÖ®}NûçâÅçÖ®½Þ¹^=§BÑÿµ(ãó-×ö챟0Á#:úб A9C>k‘Ïäs)!ŸaòY‹|&ŸK ùŒ‚||ŠðQ³«D*Äìj¹³mÛµ/¾øsÇŽNRÞþøã e_*ÞÂ0ä³ùŒRB>Ã0ä³ùŒRB>£ "Í®²2ǦM1¯¾ú˜£ÆE>€i"Ÿ˜&fW ìüßÿ];6"##÷«¯®Þ½{¿W//cW!ŸÀT‘ÏLŸ¹± €òJwÕ¤|´«´o_|Ó¦»ëÔq\¹²eÁå×­»¼hÑ9íøÊòL%U0Tä3˜&ò@…Äì*(:º_Qw0 ö€µ éR'$¤N1ŠÏ`¢Èg+€!˜]C0» †0dÝÕO?ýô§Ÿ~*ñR`Ê.]ºäéééàà`ìBPZ"##½¼¸ÿ&@2»ºgÏž={ö”x)Œ+33ÓØ%”'†Ì®nÙ²eÀ€%^ L™J¥š4iRXX˜± Ai 6v å 뮀!˜]C²2˜”u?¯[th‘ˆxØ{ü8þGc—óD¯m{í`ôÁÉí'k3NÛ°< 3çÑŠ·Ó;Mi""Ý×vÿ3ùO¥±¹Wó-C¶”qµP|ä3˜&òJß]Pî…´‰žíïáoìB ó͹oF,Ø~vêÙݯî‘®uºFOVފȃ¿ðw÷ÿwÀ¿£¦EñÖ@9E>€i"Ÿ 1» ¥.)-iþþù}öÕ³ÿ•ä+>ÐÙ·óâ^‹Õ*u©Ö•ù ¦‰|PŽ0» ¥næw3_¨÷ÂóÞÏëÓù׿¾üåËcž3¹ýäÒ. *9òLù  avµ,,[¶L¥R©T*///c×ãY¶LT*Q©„Ë ’Ù¹õò­Ë3:ÏЧóQ?Œþzôž 5TÚ…@%G>€i"Ÿ”/ÜÕÊ999Í›7wtt<~ü¸>ýCCCCCC›4irëÖ­Ò® e''Gš7GGÑï2ÐP •&M„Ë 4]I¾²ðàÂS7N=È}иzã)í§4÷j®ôi«š­Däí½owñ»û~Ø¢f‹´ì´u¿¬½mô—/ÙºVë' õߨb–4cÏŒ ÿ çj?÷Ôž'bN쿼d«‘¼5PñÏ`šÈg(>V0„……ŹsçNœ8aìB`Trîœp˜’ÔìÔСͽšÛZØx,Zž“›3oÿ<åÑ1'ê¸ÕiçÝÎÚÜÚÍÎmz§éÞ.Þ¥ZÏ–È-1wb¦wž®OçjŽÕì­ì×ÿ²~ÝÏëJµ*({ä3˜&òŠÙU‡•¹UcÏG\ûUõs·w¿x!)-ID:øtø-ö·YßÍ:wZù½Ò¾×öòÁ{1ÅÝ‹[tpÑâ^‹m,lôéÿ¬Ë³l´³´[thц“J©*0 òLù ÅW.gWwìØ¡ú[LLÌÀ]]]{÷î}åÊ¥Ïüùó•íÚµSZ¾ÿþ{¥ÅÍÍ­à8×®]8p ƒƒƒ««ëСCïܹäàààéé9jÔ¨ÔÔTe¯ððpí^YYYÚª’““§L™âããciiY¥J•^xáСC‹¿xñb¯^½œœœlmm;uêôã?jÊÎÎ~ë­·êÕ«gkkëââ´k×®ÜÜÂÖ¬©8Úµ{xÇ'•J† éÚõQKJÊcvÙ±ãQ‡˜8PœÅÕUz÷–¿/™?ÿa‡¿/ùþû‡-_ÿçÚ58PÄÕU†•;w$&F‚‚ÄÁA<=eÔ(ùû2ððG{é\’œ,S¦ˆXZJ•*ò ò¸Ë@.^”^½ÄÉIlm¥S'ѹ $;[ÞzKêÕ[[qq‘  ÙµK*ÉePlÎÖÎ*•J·ÅÕÖUD’Ó“Eäíno/ë½ì¯» Ý4´IX“[Fì½´·ðý–øù.ò-äÿúð_OÚ÷`ôÁÔìÔ—¿|YÛyêî©"v4LùóÚkùviZ£é†l-lX°ñäFÞ0Aä3˜&òН\®»Ú·o_FÓ·oß;wNš4iÚ´i6løé§Ÿ^|ñÅÁƒÿòË/"2{öìÙ³gÛÛÛk÷ Ôh4-Z´ˆ‰‰)8Δ)SfΜ¹aÆíÛ·6,99ÙÒÒrÞ¼y¾¾¾_~ùå˜1cÞÿ}éÝ»·v/íà mÚ´ÉÈÈX·n]ûöíf̘ѥK—?þ8$$DÛ---íõ×_Ÿ7o^ãÆ/^¼8räÈÎ;ïÝ»·C‡"2~üø­[·nݺµ]»v÷îÝ[¶lYŸ>}:Ô±cDzxZëøq‰Œ”¶mÅ×WÖ¬ùö[éÐA&M’AO¸ócß¾¢ÑHß¾²s§Lš$ӦɆ òÓOòâ‹2x°üò‹ˆÈìÙ2{¶è\(´h!_ÿgÊ™9S6líÛeØ0INKK™7O|}åË/eÌqp÷ßéÝûÑ^Z Ò¦ddȺuÒ¾½$$Ȍҥ‹|ü±è\’–&¯¿.óæIãÆrñ¢Œ);ËÞ½Ò¡ƒˆÈøñ²u«lÝ*íÚɽ{²l™ôé#‡Ie¸ Š-5;5_KrF²ˆ¸Ú¹ŠˆJ¥êÛ°o߆}ä=ˆ¸±î—u¯o}f—™¯¶|õIgݨ!͆ i6D·eçùSwOÜ~ò¸6ãž´Ws¯æë¬õÿ^}ïÀ{j3õ°æÃ .Lù ¦‰|€â+—ß]ÕòÜsÏÙÙÙuíÚµW¯^'Ož¼eÐ ÙGŽÙ¼ys;;»¡C‡6hÐà»ï¾›2eJ“&MìííGííí½gÏžBvŸ1cÆÕ«WW¬XÑ»woGGǺuë~õÕWžžž&LHLLÔv»{÷î‚ Ú¶mkooߢE‹/¾øâþýû'NT=pà@ƒ ºuëfccãáá±téÒºuëp.åUãÆ²q£DFʰa¢ÑÈèÑҥ˧Vó ‘çž;;éÚUzõ’“'Å Ë@FŽ”æÍÅÎN†• ä»ïdÊiÒDìíeôhñö–B/™1C®^•+¤woqt”ºu嫯ÄÓS&LË@îÞ• ¤m[±·—-ä‹/äþ}ùû2¤AéÖMllÄÃC–.•JuOFNÆ…Ä Ú?£nF%¥%ù{ø»Û»‹HÓ°¦W’¯ˆˆ¹™y;ïvýû#•Ju(úq_.6ª–5[®°ÞÆÂæÝ}ï~ñÛÆ.Jù ¦‰|€â+÷³«-[¶Ôn׬YSDâââ §E‹ÚíêÕ«çk©Q£FáÃ~óÍ7"Ò«W/m‹••U—.]233øám£µµuëÖ© ¨^½zddd||¼ˆž8qâµ×^‹ˆˆPˆŠŠª_\Õ –Y³dûvi×N’“eÞ<}wÔ¹ ¤fMƒ.ÑyÑ¥zõü-5jeÊ”¯Ùt>,wïJ@€¼þº4n,?}—§23“^¿MV1YY‰““ܽ+©©ÿ˜`UÖй ¤Àeðp^U™cU©dèP:TrräðaY¶L^zI–/—JuQHëÖV¶ýbðã äïá?¯‡Þ_ˆ.QózÌ{Ò¡ÏN=û¤½Ú<Óæ\è¹R+ Jù ¦‰|€Tî¿»Z8OOÏØØXíŸ ×¯_/õë×OD¾ýö[mKvvölllzôè¡mLKK‹ŒŒÔþyöìÙ¸¸¸Æ{zzŠˆ³³óÅ‹EÄ¢[·n;vìP©TºcV|W¯ÊÈ‘òõײk—ØØHŸ>róf ëé):—$$Hé\Ò¯ŸˆˆîK–-ˆè\’–&:—œ=+qqÒ¸±xzŠˆ8;ËÅ‹""Ò­›ìØ!*•TªË œ¨à³«Ý»w‹‹[µjUZZÚ•+W&Nœ¨|K´Ä-\¸ÐÛÛ{NÜñÎ IDATÒ¤Iááá©©©—.]zùå—ãããW®\©¬ °³³?~üÏ?ÿœžž~êÔ©!C†XZZ®\¹RÛa̘1gΜÉÎÎNJJZ²d‰F£éܹsilŠÒÒ¤o_Y±Bê×—gž‘mÛ$.Nú÷—œœâŽÜ½»ÄÅɪU’–&W®ÈĉR:—,\(ÞÞ2i’„‡Kjª\º$/¿,ññ²r¥è\bg'ãÇËÏ?Kzºœ:%C†ˆ¥¥è\2fŒœ9#ÙÙ’”$K–ˆF#•ç2P2 4¨”>Pù ¦‰|†áÊåìjDD„J¥Ú¹s§ˆØØØÌž=[DT*ÕâÅ‹E¤iÓ¦½{÷VzΟ??$$dÁ‚îîîÇóÍ7«U«–œœ¬R©¦OŸ^pœS§N©Tª~ø!77W¥R-Z´èøñã*•êÈ‘#ééé*•êí·ß~lIÕªU;yòäàÁƒ'L˜àêêÚªU«ôôôýû÷5JD–-[¦R©"##ßÿý3fT«V­}ûöUªT9xð`‡”AŽ9R¯^½Aƒ¹¸¸øûûÿý÷k×®9sf©?¡¦`üxqp3g¤O9wNnÝ’Ž%'GŽKK™?ÿ1»DDˆJ%;wŠˆØØÈìÙ""*•,^,"Ò´©ü}Èüù" ˆ»» .o¾)ÕªIr²¨T2}úcÆ9uJT*ùáÉÍ•J-’ãÇE¥’#G$=]T*yÂe ÕªÉÉ“2x°L˜ ®®Òª•¤§Ëþý2j”ˆÈ²e¢RId¤8;ËûïËŒR­š´o/UªÈÁƒò÷e GŽH½z2h¸¸ˆ¿¿|ÿ½¬]+•ä2PbœSRRúôé³}ûvcWÐE>€i"Ÿa8•F£)Ú*Õ–-[ PJ•AAA{öìÉÎÎ67¯àk×*T*Õ¤I“ÂÂÂŒ]ˆ‰ ’={$;[Êÿe,"[·n-æ8‰‰‰iii…tðõõùàƒÄž= ë 8ö챟0Áãüù?–-[öÉ'Ÿôïßÿí·ß¶²²2v]0uä3PÚÈg†|JùŒ‚|||ôï\.¿»j, 6Œ‰‰Q¶ccckÕªUI¦Vñ Êß—ÄÆJ­Z`j@Åcee5kÖ¬5kÖüðà ¸qㆱ+ˆÏ`ªÈgŒÙÕ¢YºtiZZÚ®]»NŸ>=fÌc—#YºTÒÒd×.9}Z¸ ˜°Î;ïØ±#///88øÜ9n¡ ¦‚|ÓD>ÃÌ®ÁúõëÏŸ?ïéé9uêÔ „††»"Ãúõrþ¼xzÊÔ©²`p0mµjÕÚ¼y³ŸŸßË/¿|ôèQc—xˆ|ÓD>£¨˜]-‚Ö­[>|855õòåËÓ§OW«ÕÆ®ÆÐºµ>,©©rù²LŸ.\LžÝºuëG½ÿ~c—xˆ|ÓD>£H˜] â377_¼xñÀÇ¿oß>c—xˆ|ÓD>CÌ®P)¨Tª¹sçöïß„ 'Nœ0v9€‡Èg0Mä3ôÄì*•…J¥š7o^``à¸qã.]ºdìr‘Ï`šÈgèƒÙU*•Jµxñâzõê…„„ܼyÓØå"ŸÀ4‘Ïx*fWTß^ø6hcPƒe |ùú.ò½tó-†_WÚë/­o¬ :|åp×5]ý–ø»T"–––}ô‘¥¥åĉsss]*òÐùŒ²G>ú ŸQ8fWT¿ÞøuÒ®IížiwrâɃcVs¨–¯CoÿÞÑÓ£Û<ÓÆ(åt=åúkÛ^[vdÙ­Œ[Æ®•Ž““ÓêÕ«Ïž=fìZPñ‘Ï€þÈg”%òÐùŒB2»:pà@*Y±b…±«@)Ú¶m[DDDI'L™úîâwfxËá¶¶µœkw¼nÕºÆ.ª0aGÚÕh¶sÄN; ;cׂÊÈÏÏï­·ÞZ³fÍ?þhìZPÁ‘Ï@‘Ï(3ä3P$ä3žÄÜ€}zöìY·®Ig.JÜŠ+4hЭ[7c‚Òòí·ßzyy»Šb‰Ogkgc¢¯…=Z›[» TjÁÁÁGŽ™9sæž={ììø)(-ä3PTä3Êù ùŒÇ2dvõ?ÿùÏ€J¼˜²+VtëÖ/ÀW`7nÜ0v Å•›WΖ¿á­!LÁ;XdÉ’wÞyÇØµ Â"ŸÏ(ä3`ò2» &eߥ}c·U¶,k "=ýŸ¯EäJò•¥‡—F\ÈÍËmàÑ ´c¨îŽë~^·èÐÿgïN㚸Ú>ŸHÈÆ"²)¢ˆˆ²¨ ˆ@E+P-O[[µŠ¨´ŠÕ>­€‚ˆµúØÒ×¶Zµ*·‚(¢"U”ŠbT–°'&!aIæý06bXà¾~~ 'gι'Óþ&É™(„!Ýððû‡÷fìͯÈcb»avgnœd2IΤV{¬äŸ¥ ½½®/¶==½¯¿þzÓ¦Mï¿ÿ¾­­­²Ë ä3]ù zä3]ù Ú‚««€~ÏsŒ's sÕï«Òž¥ýö7YŒ·¿hxáwÌ¢N9è{p¢ÉÄWìW‘é‘/^J6 š4%hþÑù¥õ¥;ÓvnuÛ:Ö`,³–~9<ðDà/üâ4©£IŸ~ù´×w €>1þü'NìܹóÔ©SAÙå€ò€î€|½ò€î€|2ºrW+èb2c^ _o÷Ü>Ýl:Uƒj¥oµÇ{O5¯ºmOA‹ bN„ÃpŠe‚ñ„Øù±-¢–i;û¾f”⫯¾ÊÏÏ¿xñ¢² ƒä3 ‚|} òA>ipu0`e=ÏBÍ=SÒb@70bÖ¶'Eƒbm`-yh¥oe@7(¬*l÷T€ÇÆÆfáÂ…ñññ"Q?[ ôSÏ(òô1Ègù ¤ÁÊ€©YÔÌoæ“ÕÉT ªt»M¯¤¾D¦³YK¦EªWÍ«®ã×Ð ÚÖÌÚµkß{ï½Ë—/ûøø(»0ÀA>Ð)Ï Ï@>Ð)Ï@®®&‘D#ÑøÍüÆ–FéD¶€Ý¶3[ÈÆ0LzÅœºÆ:„M¯£ñaÝ(0ÀŒ9ÒËËëСCÞÞÞ°zèUÏt ä3è3Ït ä3€•Þàñx–––*û†ƒŠ—×ïðšx–_Yú|§¢¯§Š—×Ì= ýóý&\ƒ ¡í֦‡•%ŸÖ<­æU[ZwôÆ;RpppQQQvv¶² ä3ù ú ä3ù ppuõ ÃÄb±X,Vv!ˆN§OŸ>]¦QuÊ0 c*ñzÒ×Ò§G·w¸U£¼þ.lv˜EggêΛ%7[™µÌl”ù¢ŽAfÄfÅÞ/¿/h<ª|´éÂ& ¢Æví}_3J4vìØI“&ƒžù @O|¨ÏVxò䉯¯¯¶¶6•JurrJIIñðð Aòß_MMMHHȨQ£H$’¾¾þâŋѩà OŸ>õ÷÷×ÓÓÃ&$$Hž …’Ñêêê6nÜhnnN&“MLL<<<~þùg@ÐÑnJú“H$]]Ýyóæ]¿~*&&ßÄÄ$77×ÝÝÁ`P©TWWWÉ x>ŸŸwVWW—©¼ÝòÚN§ø+Öž°žø~ï«¢M]CuúÖ)åaŠÇ> a!è—7·&äDȨ-£H«HúôZüàÕ?Gêþy¼3a¡´®4àH€NˆŽ^¨žÏw>Å5onÅyÊzêÄ_/T˜p#Aò”°EêõäÕm<µÑ|«9y5Ùä }?ßúYÐÒñáþ§?iIw½î¼øyןüs¸¯Æàã›|a’[šëëÎXË ®¡ºÆ¸f3³¥ûð›øÙÌl¼³z°ºLåí–×v:Å_1D"yzz^ºtIÙ…x ä3¨&Èg€úæê*“Étvv¾wïÞ™3gª««=ÿðáC2™ŒaXBBB¨²²ÒÑÑñÔ©S‡ª¯¯ÏÈȨ¯¯wvvÎÉÉAùúúb¶páB„PhhhhhhyyyRRRzzúÒ¥K%)>Hppðš5k^½zuûöm"‘(ý”‹Årtt€j‚|}quuëÖ­l6;>>ÞÓÓ“N§ÛØØ$&&òù|é>ááá/^¼Ø·oŸ——ÞçäÉ“†­[·Nf´   gggæáááíí››[[[ÛÙA6oÞ<{öl*•:eÊ”ÖÖÖ¡C‡¶-;<<¼¤¤$>>ÞÇLJÁ`nÛ¶mîܹí&Þÿþý>>>ZZZcÆŒILL466 ©ªª’tãóù‡ÂwaòäÉÇonn^¿~}§^Rŧ“ÿŠõ†­ç¶²ÙñKã=ÇyÒÉt›a6‰+ùMoî³á/ê^ìóßç5Á ïsråI ÃÖhs¸g9›;ÓÈ4ko[ïÜÒÜZ^mgÙ^R[²ÿƒý>¶>Z­1†cW$k‡œ©z-u¸›ø‡><„ïÂäQ“onm^²ó‡[±éä¿b ­„; Q…U…U¼*‹(‹}Yû”]Êçì쬣£síÚ5e5ÈgÚ‚|ªò€¶ ŸA_\]½rå BhΜ9’}}ý±cÇJ÷9þ¼ššš¤ÅÈÈÈÆÆ&//¯¬¬Lº§£££äç#F „***:;ˆ““Ó;Ë>wîBhÞ¼yÒ—/_ •ÓßÛÛ[ÒB&“ÝÝÝÁÕ«W%4ÍÞÞ^òp„ Æ ËÏϯ¬¬|gI]˜É}ÅzÕ‚+¡96R‡›¡?ÖèíÃ}ÿ¼AÍÇVêHiÙ ³É{‘WÖðöá%Uü¡ vEgq¥Àá¾!4oüÛ‡{ýåP÷ýs!ï R¯¿:ÙÝÚ]Ð"¸ú·Ôá&ÓìGHîá†é Ë•_ÉéäáVl:$÷mM bnaJþmœ¹QÙ |êêêÓ¦M»yó¦² ƒä3mA>Uù @[Ï ×ïjÕÔÔÄår555étºt»®®®t‡ƒÒÖÖn;³gÏLLL$¥ûH$„X,îì 4íes8MMMƒ!¿§üþø=ãX,–¤EGGGf[ƒŠŠŠêêjcccEæêÔt¨ãW¬74µ6q…\M M:ùíÃMÓ•îÃpBÚ!í©ªg&ºR‡›"U<‘„câÎB#¿ëp·6qM M†¦b‡»ƒþ†Z†!GêpSÚn†A»¢úuµ±¶Â‡[áéPǯ(ÎÅÅe×®]ÍÍÍøo *òTäó ×ëWWÉd2ƒÁàr¹<Oúkuuµt'ðû8um¢î"=š¶¶6‡Ãár¹Š\`í¨?þ%}###IK]]†aAÒ‚¿øC駺?]#«“š ®ËkâI_`­~]-ÝG‡ªÃò‡êj]=Ü=1ˆôhÚmŽ€Ãr¹ÀÚQüKúFÚR‡›ßæps«BZÿn¤ÀáVx:è...àÁƒŠ|Õ@Ÿ|Õù<ÈõÅÊø—ëñõp,«¨¨HºÏâÅ‹[[[³³³¥£££MMMñ;;)¢G‘X´hBHæ¾o6lÓÿâÅ‹’–¦¦¦k×®Q(éU„Bann®äá£G***ììì$\¥R©ÍÍÍøÏVVV?üðCw¦ë{ø—ëñõp,«¨êíÃ=qq«¸5›ùö‘ºmºÙ´U¬ðáî‰A$9,B]zôöáŽpØÔÁávX„ºøHêõomºVx¢A‘^AØ"Ì-•:Üå*Øv#ì$\¥’¨Í­ÿîmV?dup¸›z„‰‰‰‘‘Ñýû÷•]€·@>€j‚|äúâêêîÝ»‡ šššÊãñ –/_.óùÊÈÈHssóO?ýôòå˧¾¾þÈ‘#111еG‘ÍÌÌlÆ /^är¹eeekÖ¬©¬¬ìèê*Þ?444%%…Ëå-[¶¬²²2>>ÿÂ>N[[{ëÖ­999|>ÿÞ½{$)>>^ÒaâĉEEE¯^½ÊÉÉyþüùŒ3º3]ßÛ½x÷ÚГ¡©SyM¼‚ò‚å?/—ù|eäâHs}óOþôrÁeŽ€Sϯ?’y$âBDŒ_ŒâDí‘A¤G3j¶!iÃŇ¹BnYCÙšßÖTr*7xvp¸Gš 5 =šò0…+äU-ûqY%§2~i<þ…}œ6E{ë¹­9Å9ü&þ½Ò{ $uRüR‡{äÄ¢ª¢Wõ¯rŠsž×<ŸaÙÁáVl:è)ãÇô葲« òTäó`ÖWWÍÍÍsrr—,YbhhnffF$%} îÞ½ëëë»víZüžWgÏžMNNö÷÷Gݾ}›@ $''#„(ʶmÛB!::!äàà€ßɪSƒHYûüùóÒO"„ŒŒŒrssÖ­[§§§çääÔÐÐpãÆ SSÓvwï¿téÒ¼?ŸÏOKK[±b…t7:þÝwßíØ±ÃØØxæÌ™ºººééé³fÍ’tØ¿¿­­­µµu@@@||¼µµµœò:šNÁW¬7˜ë›ç„ç8š9.ù߯ÁÇ‚Ãç…› 5#ªIn†ÁݯîúÚû®M\«¿Aìö±gïŸM^›ì?Ù!tûùm Bòƒd„e eÛùm! Bô•h„C„ƒÏw>„°Bêpß?/ýT`B BÈHÛ(÷«ÜÇ€u'Öé…ê9}ëÔÀo¸±ù†é·¶QîW¹K–†œÁûó›øiÓVÌxûp“éß-ýnÇ…ÆaÆ3÷ÌÔ¥ê¦oJŸ5Fêpì·5±µþÚ:à‡€ø¥ñÖÆÖrÊëh:_1PÜøñã ”]YÏ š Ÿ3†aÛ€@HJJ¯WvÇØ±cÁ‹/º9Nÿboo_[[[VVöî®*†@ „††ÆÅÅumó±ÛÇ š/¢ÙᎰ¯åÖ–íí‡ÛÏÏ!túôénŽSUUÅãñät°°0?p ÊËK^@w\ºD 1d2‹»3Èõë×W®\ù×_)xwG0@>ÐÛ ŸA×@>ÐÛ ŸA[æææŠwî‹Ï®²X¬!C†´´´HZJKK‹‹‹ÝÜÜú`vÐÇXÖõCZDR‡»®´¸ºØm,nè7ÌÌÌ0 lo‚€êƒ|Õù<˜u÷fë jhhÞ±c‡žž^AAÁºuë´´´¶oßÞ7³ƒ>ÖÐØ|,xÇ‚zt½‚ò‚u'ÖiQ´¶ûÀá½îbáÅÿÝþßóºçM­M¡KŸ]£?FòlJaJhr(BˆD$=þâqß””p'!êzBÈn˜½6ûý{\«¸õXÞ±óçKêK454Çœèjî*½: m1B]]½´´tüøñÊ® Ïr¬<³2™¾aæ†Ï§}.¿gÀñ€¼²<™ÆO&²Íc[¯UTä3èYÏmVÆfÆæ•å‰Ä"ûáö맯Ÿd2I‘ 3Š3v¥ízÅyõô˧ïìÌr.^¼ôäRaU¡°UhÄ0²f·Âi…µ¡µœ­0 û«ü¯?þþ#»4»üu9ƒÌ0b¶ÌaÙ‚q àô^é Ÿ³¾øìª‘‘QZZ›ÍÆ—]°`¥¥åÝ»wGݳ«ˆ˜˜ŸŸ_^^N ð…P$#m£´iìFöÌ=3u×ë.8¸ÀÒÀòîWwGë¦Ã}5†°‚ÿ*¿œ]NXAÀB½-¯,/ôÐ飦ç®ÏM_•nÄ0’éàcíÃÜœ6jZ_V4%ˆ¹…)s’ÔØÒè~Ä}Å™mÕS-‚ÀÄÀßý¾ÍcÛÝõwÏržªA]yfå³Úg½=5èïˆDâ°aÃà½wù222<<<¬¬¬:êPXXäàà`kkûÑGååÉ^ëÁ>ª òYŽsçÒ™é}6 Ÿù¬ Èç¶ò+óý~õ£‘hWW\Í\“9B{IJߖÝ,¹)«—ì—+ϬŒÉŒ©m¬Up¢¨ô¨îð°ô¸tåÞú{Q^Q«ûþâ›Z”*g«çõÏŽ”6”\tðÁ†¿ôû0­a›.l¯Gå‚|VÄ@Í羸ºŠrww?{ölIIISS‹Å:~üx§Ö/ÂÂÂ0)»víRvE½ÈÝÚýìš³%Q%M‡›X±¬ãAÇÍõÙឆýˆIþíòȇ[u\~rðO?¡jPMuLo~~Súw•‚a˜‹ÅâÞž(êzÔ“š'?üì8ÂQS]s˜Ö°½>{IDRoÏ “ŠŠ %ÐØØèîî.ssHñòåË•+WÆÄÄÔÖvøGT~~¾ŸŸF»zõjffæˆ#–-[vóæÍÞè£â Ÿ;Rͫޕ¶Ëw¼¯â›œûøs Sú|pu‚|–ò¹S Ÿeˆ1ñ–‹[´4µ¢½£ èº݈9#‡Œ ¿Þ,j–³a\VÜÄá“—'Ó4hŠOçgç÷ÉäOôéú ŠãǸùq"±(úz´ü­ˆâßc Æ’ÕÉ#tFìñÞ£CÑ9–wL~… o@>Ë1°ó¹®®@o«äV"„t4u”]È»ÑH´ë«®ÿäÿS¯ÎR˯=ùàäB›…CiC% Êã/«ìy3P)zzzõõõ}3ׄ d1 ‹ûî:W§ÄÅÅMœ8199™Fkÿ(±X¼eË--­èèh]]݈ˆˆ‘#G†‡‡777÷lÕùÜ‘­—·Î;o†ÙŒ¾™ Ïr@>w 䳌ÜW¹ÏjŸÍµš«©®‰·Õˆ>Ö>•¯+åÏ Ò+r•ó*"¨ø\‘^‘»æ¾õ)kCkMuÍ—ì—rî=n®gþtóSmMmI‹QØaÜ,jÆ×vÊù,ÇÀÎg¸º  Db‘²KP-ט×DbÑ¤á ­@[C† é³³ÃvÑh´ëׯÿôS]çê”ÈÈÈU«V‰þ•››ûìÙ³¹sçjjþóç‘èããSYY™žžÞ³}Täs»NçŸ~Vû,Ü-\Ù…€þòYÈçN|–‘ó"!4Áx‚t㣠’§:"¹Û‚°U8FL§VP}-|]ÚP:Îpƒ ÷©W>Èg9v>÷Ñ]­ ÷¤¥®>»ÿÙ&Æ!dgl÷ûÇ¿#„ŠëŠ÷fì½ýò¶H,²1´ ›&½¡ô’ù‡ß?¼7co~E¾Û ³Û8sã;W¯ïÚæÒÕþö7YÜÑøV{¬äŸò¥ ½½îvGÏþÍú!¤MÑÞ}m÷¥'—jùµtKé!:”~ð  tJ?;Te’sµŽäää „&Lxûϳ ð§æÎÛƒ}TäsGX\VäõÈï}O#uâ;¤¡óŸßzeki})Q8Vì2‡e ltj0@>Ëù¬ Èçv×#„dÖŸ5Ò2B•ԗȶG\zr !´fÚûóšxOkžÆdÆèÓôc|bz³4 (Èg9v>ÃÕU@¿ç9Æ“¹…¹ê÷UiÏҤϷ^4¼ð;æGQ§ô=8Ñdâ+ö«ÈôÈ— /%M š4ÿèüÒúÒi;·ºmk0–YË ¿x"ð—~qá/Œ[( IDAT$gÞ®m.]­üýRäf£rTóªB[.m™6rÚ‰Ohkj_c^ûúê×7Jnœýø,¼¹ Þ‰Á`Ô××[XXàÿüóϸ¸¸œœ6›úä“O~þùg„ФI“’’’BYYYŸ~ú)BHGGçÞ½{¡ÔÔÔÕ«ßü-”‘‘±gÏž7n‰D‡íÛ·›šš"„¢¢¢Byyyø\D"ñéÓ§ÒÛþý÷ßd2Yº%333:::##ƒD"Íš5ë믿ær¹·oߦÑh®®®_}õ•ôwŽêëëßz¾óHçÎnÈr¢¼¢F]ùºòPΡ6>¨xðµç×ݬô/ÏÒ Ÿ»ò¹]Ü&.BˆJ¢J7R5¨!Ž€Ó‘ß©–_»7c¯¿¿×X/Eúëû¸¬8„ÐÓ)‡ß? ©Ègiƒ*ŸaeÀ€“óZøz»çöéfÓ©T+}«=Þ{ðkŽ2-‚ˆ9Ã(” ÆbçǶˆZv¦íTp¢nnÞKð¥—ÈDòŸ=#tFhij-¿hµóê’ú’ŸîªâWE€ªÑÐÐ L&ÓÃÃ!´mÛ¶ÀÀÀ7nüþûïD"ñóÏ?g2™ EÒæÌ™L&süøñ’OOOÉæ»víZ¾|ù­[·âããsrrBCCñ>AAAø8“&Mb2™L&óéÓ§2Û¶m÷îÝ+W®¼sçζmÛ’““7nܸk×® 6ܾ};$$äÔ©Sû÷ï—lX]]½hÑ¢K—.íØ±ã¯¿þJLLd³ÙK–,¹ÿ¾¤ÏÓ§O™ruêÔ!ÄårBTêÛžQ©!‡Ó³}ú£AžÏIùI¥ ¥[ܶtzÃÀ¤ŸCŠe´Þ蟻av¿æýš_™ßu•ù ùÜ{y>· CB¨SßÖï,¶€½íóÂ/ ¯®¸j®g¾à肃Ù{¯< 8ÈçA›Ïpu0`e=ÏBÍ=SÒb@70bÖ¶'Eƒbm õ.œ¾•Ý °ª°ÝSÉß¼—àﺻŒr‘^_ßÍ !t£ä†ÒÊý‰Djjú÷öÁÁÁS¦L¡P(vvvOŸ>ÕÕÕíÔhþþþ ÅÅÅeöìÙ>lhhèrm~~~ãǧP(¾¾¾–––™™™Ÿ}ö™µµ5•J]ºt©‰‰Iff¦¤sLLLyyùÖ­[gÏžM¥R---ããã1 Û±cG— èü&òÿ<ë©>*n0çsÅ늨ô¨hïhŠåݽße®Õ\„еg׺?èG Ÿ{ä³Ä`Îg„þí®ÆæFéFA‹!¤¥©ÕK“ ZŸ$}b©o¹oþ>¢Z'î‹¥AÔ0×3˜áná¾ÿÆþìÒì^ª(ò¹Çõ—|îÊÊ«W¯Þ´iS—TÜ?üpæÌeWzK]]¥¥¥²«èIÍ¢f~3Ÿ¬NÆ¿Ë#¡GÓk»j’YölIªWÍ«®ã×Ð Þ9W77ïH7×®5!¤K}ëW¸U!TǯërU`ð ‘HÒwÕ´³³ëÎh¶¶¶’ŸBUUU=Å”^GÉÐÐðÙ³gÒïùJ¦¦¦ª©©¹¹¹IZôõõ--- X,–Ì—†z ƒÁ@56¾ýç™@€ÒÒÒêÙ>ýÎ Ïçtf:·‰»ì·e2íqYqøw<¯_©;RÁJð½€Tl Ÿ»òYŽAžÏ!s=s„‹Ë’nd½f!„Ú½ÄÜ}"L´öÜZCºá^Ÿ½Ò‰è7 ·?‹þ¼Î¼î2Ê¥gËùÜý:ŸaÝU (üJ?ý‰H¢‘hüf~cK£ô "[ÀnÛ™-dc&ýFV]cBH¦§È\Ýܼ#Ý\7jòˆÉÿ—û2ïÿã… ¥ íÎÈ`‹ÅÒÿUK‰© ð³‰DBÝûµB§Ó%?"‘(]žšššX,ÆnnnÆ¿dooßvœÒÒRüì°Ç×277G±XoÿyÆb!„ÌÌÌz¶O¿3Èó9pb`àÄ@é–ä¿“7]Ø´aæ†Ï§}ÞÙѪ¸U¨Û»úÈgiÏ=hç3BhªéÔƒÙ X‹Æ/’4° B]X)[Û®lk5~ÿ°äÒªÛÿÜö-Øg?¬ÿ/:B"’Bla;‡ ô1Ègiƒ*Ÿ»ruõðáÃþþþ=^ Pe!888..NÙ…€Þâçç§ìzެѳ.=¹”õ< ÿâ$B¨AÐÐîí>›Z›V>´öæ­Å§5O«yÕÖ†Ö ¾sÞÍÍ{ÉlóÙ†tìçYM­M’;¤3ÓBžc<•Xè/ÌrEm©©©µ´´H·¼~ýº sõÞ—tH$’––ŸÏüø1‘ØáGBðŪzÐÔ©SÒo ×ÔÔTTTta. …"9Ëôôôã Ÿ;b?ÌþôNs›¸ž?zÎ<4³´¾4ñÃÄf3¤ûÈä3B(™Ž_­âU‰Ä"üçSù§äluåéEê‘Ùj˺ÝóvÿUþW`b Ý>;¯¯[¥·Âf… < gøªò¹;úu>:»j@HJJ‚• + `øÊ§OŸîæ8UUU<ON 󪼼äõécóίç×g¯íâM6»¹9=îÒ%zHˆ!“YÜÍqâââRRR^¼x!ÝÈd2¥r¹ÜÈÈÈŒŒŒ×¯_?þ«¯¾Ú¾};þ½›àà`OOÏ%K–H:¯Y³fãÆ’WW×ü!ôüùó¯¾úª  @GGgÕªU~øajjêêÕ«%=.\øŸÿüGf4OOOéïû„……Mž<ùƒ>´„„„„„„ „Ølö¡C‡RSS+++µ´´Æ·bÅ —®ßù!==}åÊ•2»wï–9Azüøqlll^^žX,¶³³ 4i’ÌV=Õ§û ŸUÊkáëi§-°Y°{Þne×z 䳤ò¹S ŸUJ×ò¹/·]ù,i|–À×oU\] ««\]œg‡`@ꩳÃo¿ýöþýûgΜ鑪€êƒ|V†}qñ‹›%7/,¿ O×Wv9 Ç@>ƒ®|V]Ëç¾Ü t ä3h«SWWae´£¦¦F_NåP‚Z~í+ö«cKÁŸÓ ]Ï(K×ò¹/·ÊùQm¶{ƒ¢A´äo@ÿUVVæàà ì*À 5ÈóYŸ®Ÿ˜¤ì*€ê‚|JùÜ…|îË­€rA>Zpu0xM š$¿s S~ªŠŠ oooeW)Ègä€|Jù €σV¯¬ Àãñ,--}||zcðnRåÚ§:{ÁãµXZ&øøœUv!íPåÚ70öÐï477×ÔÔ >\Ù…x ä3¨&ÈçÁ¬W®®b&‹Åbqo ÞMª\[»ètúôéÓeUg/0 ‹1±¸s÷Fëª\[»èôøéÓOÈ4ö»½ †™˜˜(»o|Õù<˜õÊÊ £¸¸»·Zë%ª\›âTg/ Rqñ eWÑ>U®Mqc/ýÎóçÏ ˆ#”]€·@>€j‚|Ìz峫è×òóóÍÌÌ †² ðÈgPMσYÏ_]=þ<áB¡PÒ^WW·qãFsss‰¤««;oÞ¼ëׯKoXSS2jÔ(‰¤¯¯¿xñâ´³´´4 @GGGOOÏÇÇGæ#œOž<ñõõÕÖÖ¦R©NNN)))ø†AAAmkS|d9åuDÎ.ÇÄÄà“š˜˜äææº»»3 *•êêêš-݇ÏçgggãÕÕÕ»ö +¾›rþ<“@ˆÁÿ …­R•6n¼nnþ#‰´OW÷»yó~¿~ýåÛ/fcHHú¨Q?Hûôõ¿_¼8ùÁƒê¶c––r.èè|§§wÐÇçlq1[z'Oê}}Ïkk R÷;9OI)öð8…otµmmŠ,§¼ŽÈÙ嘘\|R“ÿåæ²ÜÝO1ñTê~Wפììré>|~Kvv9ÞY]=¶k¯°â» räççÛÙÙ)» ² Ÿ@5A>f=uÕ××ð… J7²X,GGÇÄÄÄøøøÚÚÚ;wîP©Tww÷„„¼Cee¥££ã©S§:T__Ÿ‘‘Q__ïì윓“#3fhhhhhhyyyRRRzzúÒ¥K%³0™Lggç{÷î9s¦ººúèÑ£ñññ>$“Ɇ%$$´­MÁ‘å—×.ù»†a˜›Í^¿~ý®]»X,VVVV}}½››[ff¦¤FsqqÁ0 ðÖÖÖ®½Â îfgùúZ`XØÂ…oWÂwt<ž˜XïV[»öÎ@*UÝÝýTB£^L¾£ãñS§ž:äQ_¿.## ¾^è윘“S!3fhèõÐÐIåå«’’æ§§¿\º4E2 “ÉvvþíÞ=Ö™3 ««??ztn|ü_Ö’ÉD KH˜Ó¶6G–_^»äïrX˜#†…ÙÙé³ÙMë×§ïÚ5ÅZ“•õA}½ÐÍíTfæ+IMÃÅe8†…aXXk릮½Â î&ÈaØ£GàìT ä3¨&ÈçA®V/))Ù¿¿––Ö˜1cCBBªªªð/^¼Ø·oŸ——N·±±9yò$†aëÖ­“*((ÈÙÙ™F£yxxx{{çææÖÖÖâOmݺ•ÍfÇÇÇ{zzâƒ$&&òù|‹”3²âå)¾Ë8>ŸèÐ!|ÞÉ“'?~¼¹¹yýúõŠ¿¶šNþnöˆðð%%œýûÝ||̵´HcÆè&&úÓCB®UU5"„Âó^¼x½oŸ«—×h:]ÃÆfèÉ“>†­[wMf¨   ÎÎÃh4 ‘ÞÞ£ssYµµü©­[o°ÙMññnžž#ñA½ùü‹”3²âå)¾Ë8>¿åÐ!|ÞÉ“Ž÷nn­_Ÿ®økÛ©éäï&ÈQRRÂáplmm•]€·@>€j‚|äúèêê¹sçBÞÞÞ’2™ìîî.®^½Š:þ¼ššš¤ƒ‘‘‘M^^^YY™ôPŽŽŽ’ŸñÕ‚+*Þ|¨ðÊ•+¡9sæH:èëë;VÁ"匬xyŠï2ŽF£ÙÛÛKN˜0aذaùùù••• –Ý©éäïf8wîBÈÛ{´T%DwwS õêÕ„ÐùóL55‚¹¤ƒ‘ÍÆfh^^UY÷íR¥Je „**xøÃ+WJBsæ˜I:èëSÇŽ¢`‘rFV¼<ÅwG£iØÛHN˜0tØ0z~~Me¥¢otj:ù» räåå‘ÉdÅèÏ š Ÿ9õ>˜£©©‰ÃáhjjÊ,îkhhˆb±Xx„¶¶vÛÍŸ={fbb"y(݇D"!„Äb1> —ËÕÔÔ¤ÓéÒ›ëêê*X§œ‘/÷Î]–´èèèÈlk``PQQQ]]mllŒ£øtrv³G45‰8œ&MMuƒôv%4„‹ÅÇ; „´µ´ÝüÙ³“wA[ûßAH$"BH,ÆðY¸ÜfMMu:]Czs]]²‚uÊYñòpïÜeI‹ŽŽlyÔŠ ^uu£±1MÁÊŸNÎn`ÅuÅñ7âï¾ºÛ h‰E!™qÃ}„P„¨ëQ!CºaöÚl%ªòî•Ýûàø¿-ûmŠééö””ÐäP„‰HzüÅã>›·› « c3cóÊòDb‘ýpûõÓ×O2™Ôµ¡2Š3v¥ízÅyõô˧=X¡ªIKKsqqÁGÐ# Ÿ{ äsG ŸèÈçžùÜÈg0ôÅgWÉd²¶¶¶P(ärßúèþu###2™¬£££®®ÞÒÒ‚µáêêªà, C(òxo}:¯ºú÷#RdäΖ÷Î]–´ÔÕÕaØ[¼ð‚ Þ|È‘@ (R¡‚Óõ62™¨­M [¹Üæ·+á#„ŒŒhd2QG‡¬®®ÖÒ²_`TúŸ««©‚³0$¡°•Ç{k)€êêÆŽ6Q¼þΖ÷Î]–´ÔÕ ß>Ôo 60 â8Ô˜n*ã”-ùuIq]ñ¡Å‡lx¿1ÿ;ßïÔoR.hJs ÓÚÐZ¹Eöמ]Ó¡èL1Y¦ÝÇÚ‡¹…9mÔ´>ž·;ò+óý~õ£‘hWW\Í\“9B{IJߖÝ,¹ÙÙq^²_®<³2&3¦¶±'WSQAB¡ðÖ­[Ê. Ï=ò¹-Ègº ò¹A>·ù >Z`Ñ¢E¡‹/JZššš®]»F¡Pð/ò/^¼¸µµ5;û­7Ä¢££MMMñ[9)bÞ¼yèŸõp,«¨¨¨ûõw¡¼wî2N(æææJ>zô¨¢¢ÂÎÎNòÁU*•ÚÜüæ:š••Õ?üÐéúÀ¢E–¡‹ŸKU"ºví%…¢Ž‘ñâ1­­âììré­¢£ïššimUôS´ó晡ÖÀ±Xü¢¢†î×ß…òÞ¹Ë8¡°57÷ß=ª­¨àÙÙéK>¸J¥j47‹ðŸ­¬~úᇇݙn:ùà$·‰ûÍ{ßL>‘¢A¡‘hóÆÎË ÍSv]ýRÚ³´Ù泉bŸWŒ‰·\Ü¢¥©ím@7Ð¥èF̉9ddøåðfQó»·——7qøÄäåÉ4þ6ÆÍ›7›šš|kE@>÷ Èç¶ Ÿè2ÈçùÜä3<úèêjdd¤™™YhhhJJ —Ë-**Z¶lYeee||<þíõÈÈHssóO?ýôòå˧¾¾þÈ‘#111êêŠ._°{÷î!C†„††¦¦¦òx¼‚‚‚åË—÷È'7»PÞ;w§­­½uëÖœœ>ŸïÞ½ÀÀ@‰/é0qâÄ¢¢¢W¯^åää<þ|ƌݙ®DFÎ03Ó MOI)ær›‹Š–-K©¬äÅÇ»Rñææ:Ÿ~zåòå§©¾^xäH~DDNLÌluuEÿƒÜ½{Æ!š¡¡é©©/x¼–‚‚Úå˯ôÈ'7»PÞ;w§­MÞºõFNNŸßrï+0ð"‰DŒw“t˜8Ѱ¨¨áÕ+nNNÅóçœ3†wgºA¨´¾!4ÖVºé®âºâ’ú˾~ëµ7æÍ}•û¬öÙ\«¹šêšx QècíSùº2Ù¹{ÊEzE®r^Õ÷gÌ}/--ÍÞÞ^___Ù…€ò¹§@>· ò€.ƒ|î)Ïí‚|ƒGÏ_]=þ<@HNNFQ(”ÀÀ@„‘‘QnnîÒ¥KCBBôôôœœœø|~ZZÚŠ+ð­ îÞ½ëëë»víZüVTgÏžMNNö÷÷Gݾ}[zÌmÛ¶!„Btt4BÈÁÁ¿ß”¹¹yNNŽ££ã’%K ƒƒƒÃÃÃÍÌ̈DbGµ)8²üòÚõÎ]ÆÑéôï¾ûnÇŽÆÆÆ3gÎÔÕÕMOOŸ5k–¤Ãþýûmmm­­­âãã­­­»ð +¸›?ÖL!&9™‰¢Pö^DÑrs—.µ I×Ó;èätœÏoIKó_±ÂöŸcM½{7Ð××ríÚ4}ýïÇŽý¿³gŸ%'ûúû[!„nß®”sÛ¶›!!&:ú.BÈÁáWŸ³!ssœœ–,I64<ügxø33m"Q­£ÚY~yëwìò?ÇZã»ïÜwì¸el|xæÌ“ººšééþ³f:Ö®¶¶úÖÖÿp!>ÞÍÚZ¯ ¯°‚»9 µŠ[B$"¬tÓ]iÏÒHDÒÌÑ3À¼9/rBŒ'H7N0š yJq’óËM(¦¥¥yzz*»0 @>÷ÈçvA>ÐeÏ=ò¹]Ï`ðèù»ZùúúÊ,$ŠÓÓÓ‹‹‹‹‹‹ëhÃ!C†ÄÆÆÆÆÆ¶}jêÔ©mÇlw–1cÆœ;wNº¥²²rèСrjSpd9åu仌³¶¶–^Í@†••UVV–tK^aÅ_ÀNñõµÀ°°ö*¡ÄŹÆÅuø©ø!C4ccgÇÆÎnûÔÔ©ÆmÇlw–1ctÏó•n©¬äJ‘S›‚#Ë)¯#ïÜeœµµÞ•+K:zÖÊjHVÖÒ-]x…’Ô¢ÔÕgWã?ÛÄØÈ<»xÂâ=Þ{:Ú¶¾±þ`öÁkÌkUÜ*™á8ÂqÝôuÖÖ2Ãf¬ÎØs}Ï’D5¢Ãp‡íÛMuÞ¬Ã+ÂDWž\9•êiÍSnw¤îH;ÿ&}„/Y%=HæêÌèëÑÅ$uҬѳ¾öüšÛÄH¸ýâ6Ls5wýÊý+‰¦Hm±Úc…ߎ #CiCo¯»-§BèÚ³kÎ#©o> ]\W¼7cïí—·Eb‘¡MØìvþsê¨Ô×Â×÷O”tÛ0sÃçÓ>a"«è7oW̵š{pÑA™y|å¥kkµŽÑ³ÖeíÏ÷~¾Uz !ägëéY\WŒ2b¼õ%#-#„PI} Rø(.\àóùøj3tä³ä3äs7A>ƒžù,ù ùÜMÏõÆÕU%b±XãÆ«ªªÒÐxs+ùÒÒÒââbüÓ` a±øãÆ­ªZ£¡ñæÃª¥¥œâbv`à8å”ÂsŒ's sÕï«Òž¥ýö7YŒ·7ãålXÍ«ö;æ×ÔÚåådêTÎ)ÿïÕÿ.ùuÉñ¥Ç†;H»+mWðÔàhïè¿Êÿ >šzöã7ŸÎ,Î\Ÿ¼>lVØßbL|áñ…]i»X\Ö×-2µíNß½Úyu´wôÕ§WÃRÂØ¶QcÃÌ #uG&$o¿ºF¢}åþ•"µu´GÝ¿g]c݃Š;ÞÛ?|ÑðÂï˜ErÐ÷àD“‰¯Ø¯"Ó#_6¼Tüedna~zêÓ›%7Ó‚Óð“-"ÈÜÂô;æ÷Ѥæ›ßv^_y™ÚÊ9å»Òv=©~"}?Vn!D%½µh~âËpŸkðHLLôòò’¼+ @7A>K@>C>wä3èYÏÏÏÝù PŸ­»Úg‚ƒƒ_½zÕØØx÷îÝ€€--­íÛ·+».Ðó„ÁÁ¾zÅmll¹{·2 EK‹´}»³²ëýILfL9§|«ÛÖÙæ³©TË¡–ñ ã1 Û‘ºC¦§¿¿ÃpŠÅe”ËlóÙ+6þ½‹ÚÓ)«œWikjëRtñ3žŸsæ5ñdñ³õo4ž¢Añïk9Ô2óyægNŸYXS5¨K–šh›d>ÏìBm=+™Ž!ÌÝÒ]RÆkáëížÛ§›M§jP­ô­öxï©æUKoòÎRƒœ‚Ęø§;?I6É+Ë«âVyY{u4¯„œW^¦6Ë¡–q â-‚wî#†0„@P|®AâÁƒ=úÏþ£ìB€|nä3ä3ä3PÏmA>C>C>ƒuuÕÈÈ(--Ífã ˜.X°ÀÒÒòîÝ»£GVvi²bbbB~~~yy9@ÀBŠ32¢¥¥ù³ÙM3gžÔÕpPÐÛ IDAT=¸`Á9KK»wGÖVvi²bbr „˜üüšòrƒ/„ TDjQªAÍÍâß{‹éÓõ-‡Z° X\–tO[ãWÑ5Ö2FUq«ð‡nn¿-ûMº³µu«¸õYí3™é¤W/2d"„Æ—´1Œ$cvª¶ž•Z”:Áh‚ݘõ< !$½–“ÝÀlˆ™Ì&òK6jÚ8Ãqg βl¼Ãw~\î¸\z…{™y%ä¼òmkB2zÈ[Ï 3BÍÒø¤–¦–âs ÇŽ³±±±··Wv!@>·ò¹Ý¹ Èg : ŸÛ‚|nw®AòàÔÊ!wwwwwÙ·nTPXXXXØ_ ³·¹»›º»÷ƒ%]ÂÂÃÂä}¹(K³¨ÿÚ‹}\;¿ KëK¥ÂO2pøÂÿøû·!n÷§»?ýYô'‹Ëz-|-éÖöM`:‰.ù™€D5"Eƒ"iQ#¨‰1qj“ÖÍu£-‚[¥·ÖL[#)ƒßÌ'«“%kHáôhzø¢KŠ—ú™Óg›.l:þ×ñµ.kKêKr_åÆÎÿwk™y¥uôÊwT›6å­·XÌõÌB2çÓ¬×,„Ì9®œ¹‰gÏž¥¤¤ÄÄÄ(» ŸÛùÜî\ƒä3PÏmA>·;× ù $ÚÕUP‰HÒÒÔâ7ñùXúMàÎZyfeî«ÜíÛ盯KÑ%Gs~{íÛîœXt¹¶n®•]š-lzXzHÊ ‘hüf~cK£ôI˜ä-tÅKõç“s,ïØÊ©+ºûS€}€ôýdæUDGµÕñ뤻M5z0û`«`Ñø—™/` „œGÂB"o‰‰‰±´´ôööVv!@>·òy0ƒ|ªò¹-ÈçÁ òH ¨• SæXÍa¢¼²<éÆ#·Ì84C„É{[B$å•åéÓõ?žüñê|)¢¦Ö&U¨­ Òž¥Ð1FŒ¤eÖèYèŸïá ’7Þ/•H ~2ù“ºÆºŸîþ”R˜òñäåÏ«ˆ¶µÕðjdjs2u²jqùÉeÉA‰E)…)ÆZƮ殚n`ËÏÏOOOß¼y³šœ•ù,òyЂ|ªòYäó ù ¤Á€Á+lV˜©Žéæ‹›3Ÿgr›¸lûÄý³†»…+øŽ7Q8ÅtJ ¯æÇ;?6„­ÂÛ/n'ÞOT…Ú:KŒ‰Ó™é2o€‡ÍÓ¡èìLÝy³äfcK#³–¹ñ2_&R°Ôì?`û²öyZzÒ åÏ«™ÚŠjŠ6_Ú¬O×—î£FP‹òŠâ9›/n®áÕ°ìoR¿)­/Ý=o·äÞ¸!åää4cÆ eÀÏÒ Ÿ3Èg j Ÿ¥A>fÏ@Ã:÷Ù{””äïïßKÕD BCCãââ”]è-~~~¡Ó§Owsœªª*Oö^ŸÒ,,̨òò’×§³R‹RWŸ]-y¸ÐfaìüØåIËo”Ü4zXz¤=K“<\3mÍÆ™BlûЭC©ÏR+_Wjij3·bÊ —Q.¡–üºDf‹( I‹«…ëK~l4ìËÚ—QœQëѡèÌ=KŸ®ÿ¿œÿ!„Æÿæ½odñ´ô\ô˿߲ ›6yÄäŽ i ™2=D~m½!¯,/àxÀoË~›b:Eº½¤¾dOÆžœ9­¢Ö1úcÖ¹¬;zïè­Ò[!?[¿H¯HÅK¾ýãS>Mk0Vμ ¾òÒµ‰Ä"kë/f±ÿÆþ‡•mz$=ïãªÇ±™±yåyb±Øn˜]èŒÐI&“:;W:3}噕2{´{Þn;•û…xé=$ÄÉ,V°ÿéÓ§·mÛvúôi[[Ûw÷ä3ä3äsoƒ|]ù ù ùÜÛ ŸA[æææŠw†««@!puuÀë×WWAˆ¾}úáé;!wzé½ý¾™÷½ß¶³Öd½»ëÀÕ©³Ãªª*///ÿÍ›7÷va@ÅA>«,Èçòt ä³Ê‚|0 ŸA[ººÚ•»ZýòË/999]Øôkiii6lPv ·äç盘˜(»  LiÏÒfžÕǧ†Ý™·†W37aî;êjo~—•qÊ^Ô¿ðïÛÓ5d[·nÕÓÓ[¿~½² tòyp‚|@õA>NÏ ­®\]½téÒ¥K—z¼ â ”]èE@Ù%eJ]™Úïæå9Û®l[?}½E§¨¦("-‚¡ÉXë²¶ËHΟ?okk;zôhIKRRÒÍ›7“’’455•X@>Èçò€~ òyÀƒ| êÊÕUX`"%!Ç}ó›:UÙ%Ðútý_?øõø_Ç—þ¶´ŠW¥­©í2Ê%nAÜÊ.M±Ùìo¾ùFGGçüùó:::¡‡FDD¬\¹ÒÞÞ^ÙÕÈçN|ôÈçN|ŠëÊÕU@L5mÚ¨iÊ®¢ˆ …,+88øøñãl6{Íš5ŽŽŽ¡¡¡Ê. 0A>+òЗ Ÿù WW€îñãÇIIIb±!ôàÁƒ-[¶TTTP(”‰}½R ÈgPMÏ Sàê*0aöÍ7ߨ©©ág‡"‘è?þ ÑhgÏžÕÒÒRvu0xA>€j‚|¥¦ìЋþøãû÷ï·¶¶JZ0 ãñx………J¬ ä3¨&ÈgÐYpu°wïÞݶ@ „……åçç÷}Iä3¨*ÈgÐpu°¾ÿþ{‡ƒa˜L;†ab±xÅŠUUUJ) 9ÈgPMÏ  àêjWÄÄÄ`bb¢ìZ€ö•””$$$H§IF}}ý¶mÛú²$òTä3踫Bµ´´Lš4IKKëæÍ›Šô ³··¯­­ííÚ€®‰ˆˆ 2H$ŠÅbGGÇ?üÐÓÓS)µÀ`ù ª òt \]}C,ã7ƒ€ôôô7nH·hhh´´´˜ššúûû/Y²DOOOYµÀ`ù ª òt\]E! ‚‚eWP¦””ÐäP„‰HzüÅãÞž.µ(uõÙÕøÏ‡ýMV'÷öŒ†ýUþ×ÿ‘]š]þºœAf˜ 1[æ°lÁ¸’÷i9BÎÅ‹—ž\*¬*¶ FvÃìV8­°6´î³:A÷4GDD¨©©‰Åb555„‰Dš3gÎâÅ‹]\\”]ù ù<°@>ƒòòy`|]뮂ƖF÷#î+άèò>Ö>Ì-Ìi£¦õ`UrxŽñdnazXzôÍtÒž×?8PÚPzpÑÁüþÑïô†mº°)êz”¤OTzÔŽ?wxXz\ ºroý½(¯¨ÇU}ñM-Jíû‚A—Ä”••á‹ñOš4iïÞ½÷îÝ‹…SCÐ÷ Ÿù<8@>Uù¬8ÈçÁòt\]E)))„…BI{]]ÝÆÍÍÍI$’®®î¼yó®_¿Þvó'Ožx{{kkkS©TWW×ììì>¬ð†abLu×÷˜;!àx€²«ø‘@<à{`¬ÁX²:y„Έ=Þ{t(:ÇòŽ5‹š%}üìü>™ü‰>]Ÿ¢Aqá7?N$E_VbÙ@Alv%Bßêëë¯]»6##ãĉ .ÔÔÔTv]`‚|îÈç ò¨ÈçN|Ø ŸA7ÁÊÈÇÇÃ0__ßäädI#‹Åš6mZcccBBÂÌ™3Y,Vxx¸»»û?ü$éÆãñÖ¬Y³sçN;;»'Ož|öÙgnnnþùç¬Y³”±+ ^4íúªvÞÿm™ë™?ÝüTºEƒ¨aÌ0.¬.ljm"I¡H¯H™­¬ ­5Õ5_²_bÖv¡w RJKó:—m†§ å‚|Väó€ù T ä³â Ÿ<ÈgÐMðßMûÂÃÃKJJöïßïã㣥¥5f̘ÄÄDcc㪪*I7‡³{÷n:>yòäãÇ777¯_¿^‰•@g½¾.m(g8ŽAftÔGÐ"¶ ÇèSCÕgoïƒÐ{pjÀù<À@>0`@>0Ï ›à³«í;wîBÈÛÛ[ÒB&“ÝÝÝ;võêÕ>úoÔÔÔœ2eŠ¤Ï„ † –ŸŸ_YYillÜÇ50hu´Â=[ÀþþÖ÷iÏÒ*_WRITûaö+§¬œ:rªdÃâºâ½{o¿¼-‹l mÂf‡µ¼¾±þ`öÁkÌkUÜ*™á8ÂqÝôuÖÖ¡„; øZK†tÃÃïÞ›±7¿"_Œ‰í†Ùmœ¹q’É$é>yeyQ!¢ñé—o½õ]ïÙs}Ï’D5¢Ãp‡íÛMuLåì¯Õ+‘X$§ÃPÚÐÛën¿û…Cˆ×Ä{Zó4&3FŸ¦ã#§ç¥'—Bk¦­QdXÀA>Ë€|¨Ègπ«íhjjâp8ššš Æ[oC"„X,–¤EOOOæm(ƒŠŠŠêêj¸º @ŸÁW¸_õûª´gi’Æ^ß1?a«p÷¼ÝN#œjø51™1ÿ9ùŸoç~ëoçzÑðÂï˜ErÐ÷àD“‰¯Ø¯"Ó#_6¼”¹šWíw̯©µ)Ê+ÊÉÔ©œSþß«ÿ]òë’ãK; wš4%hþÑù¥õ¥;ÓvnuÛ:Ö`,³–~9<ðDà/üâ4 ï3!vÂ8ÃqIIíÖ¿+mWðÔàhïèVŸ]šzöã³röWæä²Ë¾¿õ}\VBhŠé”Ãï£?¦£žµüÚ½{ýíü½ÆzõÈÔ€Aò¹k Ÿ½ ò¹k Ÿí‚=·ƒL&kkk …B.—+ÝŽ¯ `dd$iáp82ÛVWW#„ z¿L€<1™1eœ²mÛÜ,ÜèdºÙ³¸qú4ýˆÔˆZ~-ÞáµðõvÏíÓͦS5¨VúV{¼÷Tóªe)ç”ouÛ:Û|6Uƒj9Ô2~a<†a;RwHw´"æD8 w hP&OˆÛ"jÙ™¶SÁRýíüñmG:»Y¸=¬|Ø hè©×AŽÏ§}^øEáÕWÍõÌ]p0û`»ÝØöò¤åSL§ìœ£è€Ïïù P Èçw‚|´ ®®¶oÑ¢E¡‹/JZššš®]»F¡PæÌ™#iäñxùùù’‡=ª¨¨°³³ƒ® tý‰r5w•´ˆ¤i£¦ […7Jn „²žg!„fŽž)é`@70b&=HjQªAÍÍÂMÒ¢O×·jYÀ*`qÿý;Eƒ‚× g¥oe@7(¬*”9×숭±­ägCº!B¨Š[Õq÷ž¤AÔ0×3˜áná¾ÿÆþìÒl™‚Á'IŸXê[¨F웪ä³" Ÿ}òYÏ€¶`e€öEFFfff†††ÒéôY³fUVV†‡‡WVV9r_G£ÑÖ®]3~üøÂÂÂÏ>ûŒD"ÅÇÇ+±rB¨YÔÌmâ’ÕÉ4Mº}(m(B¨†WÓ,jæ7óÉêdªUºƒM¯¤¾Dz„}œ}Û)JëKo>É®EÖ’yVªWÍ«®ã×ÐßýIvéµðÕj! arú÷àºQnnýyyÝe”‹¤Q„‰Öž[kH7Üë³—H€SC@€|†|¨&ÈgÈg@—ÁÕÕöåææîÚµ+$$¤¬¬ŒJ¥N:5--ÍÍÍ !óÅ_ „†¾o߾͛7çææŠD"''§ôôt—w è]$"‰Afp›¸üf¾ô "þ&}º>‰H¢‘hüf~cK£ô "[À–DKS‹ßÄüåcùçFl!Ã0éU˜ëëBz4=ü!õä}B{jÝ(i$" !IJ¥·]ÙÖ,j>üþaÉî»ýÏmß‚}öÃÚ9]E@>wä3 o@>wä3@VxC$©©©©«ÿ{¹YOO/..îùóçÍÍÍl6ûÊ•+ø¥U„PXX†a†•••9::¦§§s¹ÜÆÆÆŒŒ ¸´ €ŠxoÌ{¡ëÅ×%-Í¢æ[¥·4Õ5g˜Í@Í= ýóý&\ƒ AòÆ;nŽÕ&Ê+Ë“nç˜ïNß9ó=ÆOJŸH¯lðõjè(Õ±êÔª÷z¿\cÄÝñ¿¿±Úxvc\FÜÖ‘[¥ G¨)äó³Ï´‹|~ò@åô½«nnn‡nÙ²¥"99ÙÑÑQuvÀK-Ð7ðÂý +ÂW˜è›x9zeÈ3‚#‚3ó2W Z!ý¾)°O`Ô½¨ÏÂ>330{ÕáՔ씿Ÿü»‰¾‰ôk¦ÿrï‚# –½¶ìÕW^--+=úûÑÍ‘›WY­úm¼¹¡ùÚ_ÖÎë5OùÌS}]ý%ý—(;¸Ú¹^M¾šš“š–›vÿñý®Í»Ö橨èЭC-­ZŽè8¢‰Y“ yÆî«»Þ<èfç&= V±ïƾg7 !:­íTéHðÂÈçJÏ´ˆ|®ù  2…¢²ÕIž²L¶gϞѣGk¨ Úäæææëë»zõêS§Nùûû¯ZµjÁ‚Ú.ªŽ’ÉdBì¢>ü¹ãF)~üñÇjŽ’žž.—Ë+éàìì´qcúàÁ•õyQaqaÓC¦+ßw¾öµBˆ¬‚¬-Q[ÂâÂÒrÓŒõ=šyLé>Å»…·²g£„5?¯9wï\IiI[Û¶³zÎúö×o££„£:Z5x•4È—Q_†ÝKÍIµ0²èдÃd¯Éª‹+½ñíòí³cEøŠ+ÉWJËJ;Ùwzß÷ýΕ}î>¼ûñ±£Ó¢--§yOû«ç_¯¥\¹c¤²ÃŒ3æ÷žïä¬léëÜ÷«‘_ÕàYR’ÉÆ Mx”.O××ÑomÝzË  ]'éI}&ï|:þôS7ß;~/¿lªãBCÍfÏnGÛ…à%C>“ÏÐ4òê!ŸÉghùŒŠœœœªÞ¹AÏ®^¸paÁ‚—/_¶³³{÷Ýw?øà]]–~:fW€—xvU»¤«ÃÈ™åŸ h W‡Pù hù õÏ€¦‘Ϩè…fWôá½¼¼~þùgmWà¥ÄS­@Ì®€š¾¾ðµssLzLº<Ý9Èù‹_¾ÐvE!Èg¨«ÈgõRƒ^ªc’פI^“´] <òê&ò@½Ä½« fW@Ì®€:ÔYw5  ÆKA îõÙùóÚ.àe¢ÎìêàÁƒÛ¶m[㥠.[¿~ýĉ===µ]4å›o¾±²²Òv/ufWß~ûíÑ£G×x)¨ËÖ¯_ïéé9xð`mM 533Óv/Ö]u¨sï*¼¤ŽÅÛ¹%áQBaI¡"ôÝP+c« ÓAçîËg!†»_ûÆZm—ùJÊJv^Þy ú@£#}#7;·q¯ŽëëÔW&“)ûÄdĬX{9ériY©Ç+s|ætvè¬:Èw¿~·íü¶¬Â,/G¯ƒV4³h¦ú霃sä=ø~ì÷µtH¤ú”Ï …âJò•C7E&F&ç$›š·jÜj¬çØa†©†³ Ÿ¼ êS>KÈ^5Ž{W4W“¯Î:0˧•ÏÅ9OM;egn'„˜÷Ó¼ó÷Îðíõù×'{MÖv/¦àIÁ¸ÝãöÝØ·¸ÿâ‹s.˜pÀDßdÊÞ)·ÜVö¹žz}ÔŽQ¦¦Ç'˜ѼQó±ß=›pVÙáTü©¿Ÿüû’K~™ñKá“™ûgªîâlÂÙq'–\^{G á©gù|÷ÑÝ€]‰7Ø|mÞµ}ã÷5³höþOïRíF>¨ûêY> ²€f0»  ¡8sD¡PLè:ÁDßÄÑÒñì{gmÍlÏß;? í[SÓû|øùÐÏ«¹—Žk;ì ¨‘‚Ÿ+ètÐoØÞµyW#=£fÍ>ú¹®²C™¢lá‘…F«‡¬nbÖÄÊØjùÀå-·XttQqi±Ôç»_¿órôä2ÈÚÄznﹿ¥þv9é²ôQQIÑÒãK§xMq²vª#Ð0Õ¿|Ö•énôߨ®I;C=Ãæ–Í× Ycil¹óòNeö’Ï^ õ,ŸÉ^Âì*€†"57Uaidùß–œT!„•‰•ôV&“éÈ^šT|÷à‡k? wncj£l4Ö7¾õÁ­¶¶m¥·—þ¸tûÁíA.ƒŒôŒ¤]ݡ퇦椞Š?%µÜyxÇÙÆYzÝÆ¦âÒÛ/£¾BÌè1£V@ÃUÏòÙÉÚ)vAl#£FÊ}]}{sûâÒ⢒"©…|ðR¨gùLöЗ& šJËJŸÚ"²§u¯ëNÆŸ,-+íüJçJúœ»wNÑѾ£jcG»ŽÊ„ …¢üf !„¸óðζ Û–\n¨gXcEÀÓÔ³|®(§0'ñqb‡¦Ì Í¥òÀK¡žå3Ù @Cxª•BÈårOOO—Çk»jÊ*ÈÚµ%üvxjNª‰‰G3)^Sº·è.„‹ ›2]êæìZnÃg7n<»QñýØï=_ñü2êËÐßCS²S õ ;;tðèÓº®Ž®ÔùQþ£Í‘›OÆŸLÏM774ïÚ¼ë,ŸYí›´B|}ákiM½ËI—ƒœ…º:º±Æ>«`—5./XUÙ˜ÚœŸuþYŸÞL»)„hdÜhåÉ•¡¿‡>È{ÐĬIÿ6ýgû̶4þóþ‚;ï!¤²”ì,ì„ ¤·N6Nq™qÒkiÁÖÖÖ­…K/Øv O+ŸJ*€ªhhù¬J^$ÍŒ ޶5µ ¬l'ŸÔ -ŸÉ^ÒàfWÍÌÌ<<<Ξ=«Ú¨P(ÊÊÊÊÊÊ´U€jÊ”gŽÚ9ª°¤påë+»5ï–™—ü·þö÷Aí>z@Ûñ ã§í›~;üfàM]…P(Šèôè¿|÷—™=gÎò™%„Ð:ûøèïG7ùoêÒ¼‹¼Hþõů§îúýØï½½„òŒQ;G• êæØ-9;ù“㟌Ü1rט]ž¯xNòš4ÉkRǵ;4í°gÜžçÖ\É…cUHi]º°G‹ÿþë¿5:réñ¥g΄¼"Ý•[”+„010QÝÐDßD‘]-½}»ËÛÓ÷M?úûÑnŽÝÖÿ²ÞÍέ³Cç!·Òo˜|"Cž±øØâ¨Ä( #‹·»¼=µûÔêÔ  j€ù¬´%j˺_Ö !¼½þñ—(—mä3€: æ3Ù @CX@!ÌÍÍïܹªíB¨)8"8);iqÿÅýœû™šµjÜjݰu¶¦¶ËÖ?È{P®³´>”®Ž®ŽÐBèÈtteºº2]™L•ÕÆ¦O+#=#S›…}¶jÜJu/ÉÙÉõû¨S}“66m6 ß P(> û´VV!„´xŸ¡®áš¡kš[6·0²á6bº÷ô„G ÿºø¯J6T…B&ûó÷\~Î~ û-ü,ü³^[zèl±9« +ètP`Ÿ@[3Ûù?Í÷àÔ´S+­ø"â‹Ã1ÜààÅ4À|Vz¯Ç{1ÄŸ|ÜÉÚiØ·Ã6Gn®¼?ù  65ä|VEö¨>fWÔ'âN!ú:õU¶èôhÙ£°¤ðL™ªãëä{%ùÊÇG?¾–rMúÙQØ”0é‹w!DX\˜ŽL§Ÿs?e[3Û66m¢Ó¢ÓrÓjæHªLúÖ½gËžº2]e£T›ò¥;Xó‹óU7,xR „°0²P¶¼Óõ¨™Q·>¸µ=`»C#‡Õ§W7·l>ÆcL\fÜù{çgöœÙĬI?ç~½Z÷Ú~i»Æ @ýÒóY•¾®¾“µÓòËýœýÖŸY™)µ“Ï´®æ3Ù @Cjrv533söìÙ-[¶400°µµ}óÍ7¯]»&}äãã#ûãÆBôïß_Ù’••õÜ$>œ?¾“““¡¡¡ƒƒCÿþý·oß^PP°bÅ i(Ÿ?—A9vì˜ÔbcóçÓ´ƒƒƒe2Y^^^dd¤ô‘žžžâÀÊJ +îËÀÀÀÊÊêõ×_?}ú´ô‘ê&‰‰‰–––ÖÖÖC‡½sçNågé÷ß÷÷÷oÔ¨‘‰‰I·nÝ>¬<“&MR966vôèÑÖÖÖÒÛT^UÕO‚L&spp¸té’ŸŸŸ¹¹¹‰‰Iß¾}###_üϨŠK‹s‹r õ M LUÛmLm„™ò̪µlÀ²à¡Ádÿñ·ÿÍcÅÌèú IDATÇÄ=¥ëNå^Êeë<œƒœ•ÿÜL¿)„H|”ø¢e»¬qQ§â?Ý7u¯dóW,^*l•X›X !æ=”Þ:Y; !Ê]¹¦å¤ !Tï)Pu9érȃVèÈt¤¤*ŸšÚÖ¶­ò‘©P 3ŸŸJšY8ÿçeù @»f>“½4¤ÆÖ]MMMõöö.,,üæ›oz÷î}ïÞ½÷Þ{ÏÛÛûÔ©SÞÞÞgÏž½~ýzÏž=·nÝ*„8r䈯¯ïܹsßzë­ªŒ „HKKëÑ£GAAÁW_}åë뛟ŸÿÕW_Mœ81++kñâÅ‹/633SÖ3hÐ …BÑ¥K—ÄÄD©%00000°âº«þþþ …ÂßßÿàÁƒÊFi_ùùù_ýuïÞ½ÓÒÒ-Zäçç·mÛ¶I“&©n2wîÜ |óÍ7çÎ6lؘ1c.^¼ø¬³ïíímjjºwï^ooï{÷îÍ;÷·ß~344TNì*Gž:uê²e˶oß~ãÆž={>·ªªŸøøø9sæ¬]»¶S§N111ï¾ûn¿~ýNœ8áëë[ í0Ð5074Ï-ÊÍ+ÎS½@”~Ódkf[õ¡d2™¿›¿¿›IYÉù{翾øõŒù}ôN×w t ,Œ,òŠòn}xKõvÑò#Tù ªÕ\7ªKó.ß\úFZ}UéaþCñÿ—ÅBˆîŽÝ7GnŽN‹á6BÙ':-ZáÝ»â˜%e%KŽ/ße¼ôœ‰òˆtd:/éóahKÃÌç§2Ð5BdþyKù @»f>“½4¤Æî]]´hѽ{÷¾øâ‹Áƒ›™™¹ººþðà …bÖ¬YRww÷o¿ýöúõëãÇW(S§NõóóSN­Ve„E‹%$$lذaèÐ¡æææM›6]¼xñ AƒjêÊNBBÂúõë‡jaaѶmÛÝ»wÛÛÛÏž=;==]µç¤I“¤ Óþýû2äÒ¥KÒM¦OõÑGeeemذaÀ€Ò1îÞ½;//ï©,XЧO//¯’’›ªWõ\yyy_~ù¥Ty—.]víÚU\\‘^Ø6à‡k?Tã°*ÓÇ©OS³¦¿ÜýEZ€Ur*þ”b@ÛÒÛnŽÝœmœþ~TÙ§´¬ôpÌa{ {Õ_)}}áëœÂœy½çIo[7n-þÿa©BˆÛ™·Ÿõ­>ûì…FØ¿¿âõ×_WÝêèÑ£sçέ©£P’ö5dÈe‹¡¡¡ŸŸ_AAÁñãÇU{víÚUùºyóæBˆ”””g {ìØ1!ÄÀ•-¶¶¶íÚµ{jçnݺ©]Õs™ššzxx(ßvìØ±Y³fׯ_OMM}¡q€:"Ð7С‘Êð§âOåç%{WÕb k°jðªÇù眓ø81§0ç@ôœû‡»½ûÛ]Þ–úèÈt‚ef/8² Sž™Uµ,lYâ£Ä•¯¯4Ô3,7`RvÒ–¨-K,•œ*„hkÛ¶{‹î[¢¶dÈ3"îFDÜx§Û;:õUÌg!Ä¡[‡6Ý””T\Zœ”´æç5ot³sí>Zê@>к˜Ïd/ ©™•ŠŠŠ²³³…5ªøéíÛ·¤×Ÿ}öYxxxTTÔwß}§££Sõlmm³³³ŒŒÌÍÍk¤æJHÅTÜWÓ¦M…iiÿ³J‹jÁBˆ²²²g ›››kdd¤úã}!„••ÕSû›šþÏ 8/TÕsYZZ–kiÒ¤IJJJFF†½½ý Ô¶f¶&صeyØò´Ü4c}cf;ÞÚ!]Ø…Å…M™.õt vBì¿wQè"i¥¤M‘›¶Dméߦÿ–[vݽûÚî9ç¤ä¤ê¶´j¹òõ•£:’¶µ6±y;ä˨/—X–š“jadÑ¡i‡þåŸ=[öTV²ØoñÇÇ>~í«×,-—¾¶TZÝICz·îýø6žÝ8bûˆÂ’BGKÇÉ^“§tŸb¤g¤ìãÑÌãÇ¿ý¸6b퀯”••¹7sßý×Ý:WíÓ°O½[xKw1(}ñÆ‹-îûϾFózÏÜn°æ@½ÔóyVÏYÎ6Ρ1¡ûnìK—§ëëè·¶nè8¡ëò@ÝÑóY½4C¦P(^l™lÏž=£G.×nee%—Ë ¤GE=ËéÓ§g̘¡¯¯÷îÝÈÈHww÷ª`ii™““ó¬ V ‹víÚ©.{êì윕•¥úS}ssswwwÕuW%ÒR§FFFÏÚ×øñãwîÜùÝwß?¾â&Bˆ… ®^½úêÕ«ª·…–«077777Wu‚µS§NqqqªÔª8r%g \UU9 ±±±ùùù2Ù—‰yå•WRRRRRRž:»*“É6nÜ8x0ÿñ¨·fΜifföã?Vsœôôt¹\^Igg§Ó®¬€ê 5›=»i|üsž²”C>šF>C=ä3 iä3*rrzozjle€7ß|³¤¤¤ÜsçW¯^íèèXRR"½MHHx÷Ýw÷íÛwèÐ!ccãáÇgffV}„#F!BCCU;xzzΛ÷ç2(öööÉÉÉÊÒÒÒîß¿_®N“ââb鵋‹Ë¶mÛžz8Ò¾Ž9¢l)**:yò¤±±±êïú_”´¬´>€²È¸¸¸*n^•ªªr„………—.]R¾½qãFJJŠ»»;7®UTc³««V­rrrzçwŽ=šýèÑ£­[·._¾<88XºU.—ûûû¯_¿¾C‡-[¶Ü»woJJÊÈ‘#ŸøÀÎÎîáÇ2™láÂ…RŸõë×wêÔ©}ûö6lhß¾ýd2ÙÁƒ…ÆÆÆãÆSîk̘1³gÏ–ö•——>yòd!ÄùóçU7Y¼x±B&“­^½Záéé©úl.UNNNçÎëÚµëÈ‘#›6m:uêÔE‹µjÕJW÷Ïõ¼Ë¬úËýçVUõ“ „033Û´iÓ§Ÿ~jooß»wo++«S§NùúúVïß ©±uW¡¶víÚÜ»w¯ÖöèááñàÁƒ¤¤¤ªoº«õë®õëFA=ä3 iä3ÔC>šF>£"í¬»ŠªHKKkܸ±r1!Dbbâ;wúõë§Åª¨ÙÕÚöøñã©S§þñÇùùù/^ °°°X²d‰¶ëðb˜]­UvvváááYYYÒR§Ã† kÓ¦ÍÅ‹[·n];Ëd²ëׯ'''Ëd2iÅXjÐÓv ŽŸŸŸŸŸŸ¶ö¨­½õ ÷®€:˜]u0» ê`vÔÁS­ ¾9sxîÁ¹B]ƒ[ÜÒv9€?‘ÏP7‘Ϫƒ{W ¾Ú~hüÂø-{h»Àÿ Ÿ n"ŸT‡:÷®®[·îǬñRPÇ}óÍ7¡¡¡Ú®šríÚ5mWð2yáÙÕ‘#Gj¢ÔqVVVfffÚ.šâãããíí­í*^&/<»Ê]« xª€z ,.lzÈtéõ‰É'ÖYwîÞ¹¬‚,!Dg‡Î—“.Kuvè¼gÜ!DTbÔøÆo¹­Ÿs?!ÄŠðÛÝ.õ‰]«+Ó­¸ —5.¥e¥•Ô`cjs~Öù-ïÒœKFÇ~?öŸëÿ‰ÍŒÍ-ÊmaÕb´ûèñÇëÈtÊmûóôŸ×œ^s&áŒ®Ž®ç+žKú/q´tTîåÎÃ;ŸÿüùùûçKËJ]›ºö ¬åS‘Ï‚|P'‘Ï‚|Psd …BÛ5¨?ÒÓÓåry%œ6nL<¸²>ê™¶oZøíðnÍ»Íé5§“}§¸q£wŽ>?ë|èÿä‹7¾æ:Lê¹àÈ‚}7ö i?dÃð RKX\ØÎ+;w¼µ£Æ«znyW“¯NÙ;%Ð7pŒç˜2EÙO·~Z¾ânï,컰ܶýÛôŸÚ}j»&í®$_™ºwj[Û¶!o‡Hî=¾7â»ÆzÆ«‡¬~ÕáÕ?²þXujUâ£Ä y†ê3Oëø)BM 5›=»i|üm‚— ùL>CÓÈg¨‡|&Ÿ¡iä3*rrrªzgÍÕµoª÷T/G/c}cw{÷Øc­Œ­†´¢¯«àæ©CaIaøíðV-NÞ>™Wœ'5îÞ?Âm„VÊBx9zMóžÖȨ‘•±ÕøÎãßèðÆöKÛåEå/ G»ö|ÅÓX߸gËž}œúü–úÛã‚ÇÒGÁÁ9…9K,ñiåc¢oâbë²fÈš yFk¨S§@}UÇÇ|Ð`Õñð!ŸÔ}Ì®¨WÜíÝ˵X[öqê™™)ÏB„ßwoæ>îÕq…%…Çc !² ².Ü¿0Ðe VÊëçÜïû±ß«¶´oÒ¾¤¬äöƒÛåzv²ï¤|moa/„HÏM—Þþr÷!DïÖ½•š˜5iÕ¸Uk¨S§@}UÇÇ|Ð`Õñð!ŸÔ}¬»  ^1Ö7®Ø8ÂmDX\ØO1?½ÓõÑF¸ðnát:èЭCov|ópÌá¾Î}MôM*¶:ëFU^^nQî¿.þëD܉´Ü´œÂe{Á“‚r=Í Í•¯ t „ ¡B—ççê–;kSë„G U©AÔÄ)€Ê‘ÏJä3€:…|V"Ÿ¨‡ÙUõ__§¾–Æ–ûoì÷wõ¿–rmóˆÍFzF>-}Î&žÍg„Üyß÷ýÊGˆý0VCµMÙ;åÒ—–ô_òF‡7¬Œ­d2Ù·—¾ýûÉ¿KW~Ua k`j`šWœ—ÿ$_õNZt¿ŠªŠ@ äós‘Ï´‚|~.ò€+¨ÿôuõ‡´“³6bmÿ6ýôŒ„þnþ¥e¥ÎlÈgx·ðÖJa¥e¥—“.ÛšÙ¾ÝåíÆ&e2™¢¨¤èEÇñmí+þÿ÷M’ÇŸúÅû³ÔÙS ~«³áC>hàêløÏê fW4þ®þBˆ=×÷(—–Ðv€©éžë{†»בi' uut½½2å™_]øêqÁãÂ’Âó÷ÎᄎûEÇ ìhilùYØggÎæ?É?ÿÐüý!RÝä3ÔÍð!ŸÔA2…¢ª7ÏÀs¥§§ËååÖ©ÊÙÙiãÆôÁƒ+ë󢮥\¹c¤jKüÂøŠÝúoí_\Z1=BúŠ[±àÈ‚}7ö›tÌÙÆ¹ëy¡ò<þâ—/~¾ós¦<ÓÒØÒ·µ¯­™í?ÏýSáfç¶ìµeªÛÎè1c~ïùÎAÿ­¶¯s߯F~%„Hx”°æç5çî+)-ikÛvVÏYßþúmTb”bT§Quù¡f…†šÍžÝ4>þ޶ ÁK†|ä34Œ|†zÈgA>CÃÈgTäääTõÎÌ®¨IZ™] Š«C¨‡|4|†zÈg@ÓÈgTôB³«Ü©ê`vÔÁì*¨ƒÙUP³« fW@Ì®€:˜]u0» ê`vÔÁì*¨ƒÙUP‡ž¶ 4?ßùyEøŠ?²ÿˆý0ö©b2bÖF¬½œt¹´¬Ôã9>s:;t®å" áP(W’¯ºy(2129'ÙÜмUãVc=Çë0L&“©ö$Ÿ –•–•#$:$áa‚ž®ž›Ûtïé=[ö,×|êî]€ÿ$ßo«ß体àÞ«â~Öý){§G?Èð¬>×S¯Ú1ÊÔÀôøäã3"š7j>öû±gÎÖfêò¹wÝ Øø8qóˆÍ׿]Û7~_3‹fïÿô~Ðé Õnä3M Ÿ+QZV:=dúêÓ«Gw}ö½³‡ß9ìÐÈaž ‡c«v#Ÿ:‚ÙU¨ …¢LQVVVVwöÞqmÇ€]Z©§¢u¿¬{õ•WNêìÐyϸ=Bˆ¨Ä¨ñ?Œß6r›ômðŠðÛÝ.õÙ³Ú7i_ÉvYãRZVZIS›ó³ÎWÒá¹î<¼#„°3·Sm´³°B$ê™¶oZøíðnÍ»Íé5§“}§¸q£wŽ>?ë|èÿä‹7¾æ:Lê¹àÈ‚}7ö i?dÃð RKX\ØÎ+;w¼µCu¨.§{Ow²v:{<ðp ok_}]ý9½æ´°jq0úà’ãK&vø±ßÇå ®Ï„1é1£wnÙ¸åÆýÇX߸¸´xÌ®1»MÚ~¨Ôÿû«ß«WXÅc´2¶*·w!Dǵ;4í ]w*eÈ3FíUTR48¨›c·äìäOŽr=õú®1»<_ñ¬é?“§è¹¹çƒüÊKU¥ {&œM8»ïí}îöîÊÆ{ïùmõsmêzpâÁZ¨­Þ 5›=»i|üm‚— ùÜóyKÔ–u¿¬Bx9z-°ÔÅÖEùù\ƒÈg¨‡|n€ù¼óòÎOÃ>ßyüÒK•þÛý£Ó¢;ÚwÜÿö~A>×(ò999U½3+¨W¦zOõrô2Ö7v·wý0ÖÊØjH»!úºún:–†ßoaÕâäí“yÅyRãþèý#ÜF”jT§QnvnÆúÆþnþmlÚDÜx·Û»í›´7Ñ7ã9Æ¡‘CÄ݈J*iß´ýš!kbÒc*ŠÅÇ÷hÙCyi(„P»°ŠÇXõóœœüQ¿ú8õ1Ñ7icÓfÃð …âÓ°O«>H­Q…B&“i»5€|®œvóù½ïÅ|s|òq'k§aßÛ¹¹òþä3PŸÏ•ÓJ>vífç¶ûêî]Wved¥ä¤,;±,]ž.ž·âù h³«êÕon%–Æ–}œúD&FfÊ3…á·ÃÝ›¹{u\aIáñØãBˆ¬‚¬ ÷/ tXnCÕ5Œšš7B¸Ù¹)[ìÌíÒsÓ+/æõv¯Ïè1ãxìñ€]YYózÏ«‘Â*cÕ…Å…éÈtTÈ·5³mcÓ&:-:-7Mía«OZà/¿8_µ±àIÂÂÈB;5¨Qäså´žÏúºúNÖNË.÷sö[f}db¤ÔN>õù\9­ä³¡žá÷c¿ŸÐuÂ׾û_vüE¡Plòß$„°1µ‘úÏ@ÝÁº«êc}ãŠ#ÜF„Å…ýóÓ;]ß9}`„ÛïÞA§ƒÝ:ôfÇ7ÇîëÜ×DߤÜVffÊ×2!ÓÕÑU\G¦S¦({n=ózÍ‹Lˆ¼’|åó¡ŸëÈÊ¡¥^aO=ƪ(.-Î-ÊBx¬ó¨øiâ£ÄrË6)Õº«NÖNBˆrW¨i9iBˆV[Ugduù\‰:•Ïýœûˆ;q:þtÏ–=ù 4äs%´˜Ï¦¦ û.\Øw¡²åLÂ!„kSWé-ù ÔÌ®¨ÿú:õµ4¶Üc¿¿«ÿµ”k›Gl6Ò3òiés6ñl†<#äFÈû¾ïkh×î_Ë]l]–_Úζ]û¦ÿ³ø½F “‰ò?2Ð5°0²È+Ê»õá-]™nÕ‡ª¸LjëîØ}säæè´hÕ_rE§E !¼[xkzï´…|–Ô©|6Ð5BdfIoÉg a"Ÿ%u*ŸýãW!„òÎ\ò¨;X@ý§¯«?¤ý˜Œ˜µkû·é/­Uäïæ_ZVºá̆ y††®?’²“†.Ü2bËÖ‘[ôŒ¦…L“ôY;…ë?)}"½°mÀ×~B tXª(U>U²õüÖ^_ö*UTöíº¦usìælã|ô÷£E%ERKiYéá˜Ãöö}új±0E>k7ŸWZõþOå§!¤U;Ùw’Þ’Ï@ÃD>k7ŸÅU¤Phí/^jäsÃÌçC·m:»));©¸´8);iÍÏkÞ<èfç6Ú}´Ô|®Aä3ÔC>7Ì|V(ùðÞã{Å¥Å×S®OüÏDS›e¯-Sv ŸkùŒj’) m× þHOO—Ëå•tpwoµdɃ‘#skp§×R®Ü1Rµ%~a|Åný·ö/.-Ž˜¡|†æ‚# öÝØwlÒ1gç§5£ÇŒmŒøî¿¿µ ô ìÒ¼Ë[»ÞR¶Ìö™Ý¾Iûé!Ó•-Ã]‡›šïº²Kzún¨­™m× ]•æõž÷^÷ªS˜ê1†Å…•ÛûÚ7Ö !î>¼ûñ±£Ó¢--§yOû«ç_¥YY_F}v;,5'ÕÂÈ¢CÓ“½&K‹ëiΩøSSöN)׸òõ•Êÿ{—ÜJ¿µ6bíåäËeeeîÍÜçöšÛÙ¡³F «—þó‹•+­¯]KÐv!xÉÏ¢áå³¼H~4öhhLh£„tyº¾Ž~këÖƒ\Mè:¡Ü3©ÉçA>C=ä³hxù,„ˆLŒÜñëŽßÒ~Ë-Ìu´rÒ~È»ÝÞ-΂|®!ä3*rrrªzgfWÔ¤çήà8lXî¬Yk­$ ¡Ù¸Ñê§ŸÌÃÂîk»¼dÈg@ÓÈg¨‡|4|FE/4»ÊÊj•‹KñÍ›üPР[· ]\е]^>ä3 iä3ÔC>šF>£š˜]P«ºw/8wÎøÉVµ4¢¸Xv·w¶ Áˇ|4Š|†ÚÈg@£ÈgT³«jUÿþy……:aa¦Ú.¨ŸÂÃM uüüò´]^>ä3 Qä3ÔF>E>£ú˜]P«ììJúôÉû׿,Yó¨q …ø×¿,ûôɳ³+y~oà‘Ï€æÏ¨òÐò5‚ÙUµ-0ðQt´ÁþýæÚ.¨oBBÌ££ çÎ}¤íBð²"Ÿ !Ÿj Ä#ÆIDATQMä3 !ä3j³«j[›6Åo½•l-—A@‘ËuÖ®µ~ë­ìöíY’j"ŸM ŸQ}ä3  ä3j Ñ @ æÍ{\V&æÏoRV¦íR€zAùjÞ¼ÇÚ®/7ò¨Yä3j ù Ô,ò5ˆÙUZ`iYúÕW©çΙ¬^m­íZ€ú (È:2ÒäÿH³´,Õv-x¹‘Ï@Í"ŸQSÈg f‘ϨAºË–-Óv ê¼¼¼ââ*ýª¢iÓÒæÍŸÙ!ëÖ­@&Óti@ý¤PˆM›oÝjõùç¾¾ùÚ.õù Ôò5Ž|jùŒªhܸqÕ;ëi®¨ÜoÈóóu>ùÄ&!A?((ÃÐÇ /¦¨H¶pa“£GMW¬È|ã ¹¶ËAýA>ÕD>CCÈg šÈgh‚L¡ ŽÔ˜ôôt¹üÅþeùäA—.…* ¨~ýÕèÓOmRRô7mJëÑ£@Ûå "ŸõÏÐ4òPùŒªsrrªzgÖ] e=z„„$Y[—ŽóÊüùMõµ]P×%&êÏŸßt̘W¬­KCB’¸4„†ÏÀ‹"ŸQ;ÈgàE‘ÏÐ(î]P“Ô¸wUéäIÓ•+­ïß×ïÖ­ ÿ|OÏÂ-ž4jTªÃ×@hðÊÊDv¶nb¢þµkFáá&/;:>ù裇~~yÚ. ù < ù í"Ÿg!ŸQM/tï*³«jRufW…¥¥""ÂôÐ!³3gL²³¹*ʳ´,óñÉ6,××7_WWÛÕ !!ŸÊ‘ÏÐò¨ù õ0» @kª9»ª¤Pˆädýû÷õrrt ž‡Š†N&SXX”5o^âàð„C»Èg@ùŒºƒ|T‘Ϩ&fWhMMÍ®hOµcvÔÁì*¨ƒÙUP³« fW@Ì®€:˜]u0» ê) m×/î]u0» ê`vÔÁì*¨ƒÙUP³« fW@Ì®€:˜]u0» ê`vÔÁì*¨ƒÙUP³« Žÿг\ê‚£:ÏIEND®B`‚fio-3.39/examples/uring-cmd-ng.fio000066400000000000000000000005141476262051600170420ustar00rootroot00000000000000# io_uring_cmd I/O engine for nvme-ns generic character device [global] filename=/dev/ng0n1 ioengine=io_uring_cmd cmd_type=nvme size=1G iodepth=32 bs=4K thread=1 stonewall=1 [rand-write] rw=randwrite sqthread_poll=1 [rand-read] rw=randread [write-opts] rw=write sqthread_poll=1 sqthread_poll_cpu=0 nonvectored=1 registerfiles=1 fio-3.39/examples/uring-cmd-ng.png000066400000000000000000002434611476262051600170630ustar00rootroot00000000000000‰PNG  IHDR#à®Í4ˆbKGDÿÿÿ ½§“ IDATxœìÝi\W×ð$„}U@‘  ‚ "udq|D¤j­(jQ ‚û.Џ´µâcßÖ¢TëŠKE)¸¢`p±€Ê’°BØó~‘Ͱ„ œÿÏÃÍ{ÏÌå8÷΄Äçó!„B‰”¤@!„êµ0ÓB!„Ì´B!„Ä3-„B!qÁL !„BH\0ÓB!„Ì´B!„Ä3-„B!qÁL !„BH\0ÓBõ6 $!ûöí“tDï±X¬ÀÀÀaÆÉËËS(55µaÆ͚5+''GÒ¡!„Ä3-„úŠúúúÙ³gÓéôéÓ§×ÔÔH:1²µµåóùFFF’ä999æææ{öìÉÌÌܽ{w~~þ‹/¬­­ÿüóÏÂÂBIG‡Ì´ê+ÒÒÒN:UUUuñâÅH:œ>gýúõDF5oÞ¼eË–©©©©©©8p@YYYÒ¡!„ÄHZÒ „º‰©©éÌ™3¯\¹boooii)épúœ¿ÿþ›Øøê«¯…d2¹´´TB!„ºfZõ222þù§¤£è»ÊÊʈ ÉF‚êN8{ˆPæïï/¼¸›X:=eÊAÉøñ㉚áááÂ5Ož<¹yóæAƒIKK“H¤ÀÀ@áOOŸ> 'Ož.Œˆˆøæ›o´µµ)ÊÀ׬YÃãñ„ƒyðà‹‹‹ŠŠ …Ba2™»wï666ìnllÜö±°Ùì   SSS:.//?dÈOOÏóçÏ×ÖÖ6dîܹ EGGÇ××·ªªêèÑ£#FŒ R©Ó§OÏÌÌl;6Ïp7œ„ƒ’H¤ÊÊJâGwwwÒ§äää„ëWTTlÚ´iÔ¨QŠŠŠ222šššS¦L9yò¤ˆG„êYø¡žíùóç‚¿°ÙÙÙDaPPQ2nÜ8áÊt:(722Ú¶m[iiiTT$'' zêÔ©æ»ôïß?%%¥¢¢ÂÉɉ(Yµj• Z\\œŒŒ (**Þ¼y³¬¬ÌÏÏOXDDDÛGñôéS ’’ŠŒŒ,***))Ù°a9r¤I$zzz=*..1bQ¢££³~ýúwïÞ>|˜(166®««ë’غç$4?ùgÏž%JdeeÕ^¾|©«« #>>¾¼¼|óæÍD5777Á!#„¾˜i!ÔÓu,Óš8q¢ PUUU”LkýúõDɯ¿þJ”ª îÖ,Z´ˆ(y÷î‘vˆ’Í'MŸ>]¸|Ô¨QÍ3­;w%kÖ¬!JÔÔÔêëëù|>›ÍœgÏžuIlÝsDÌ´&L˜@.\¸(ihhPRRýXB= Î"Ô; nÉ@qqñ¨Q£>» “É$6 ±‘——Gläææ¾xñ‚Ø600TÓÔÔlÒˆœœœð¼Ñf^^^RRQaäÈ‘Âõ“““½¼¼š42pà@bC^^žØÐÕÕ%“ÉÂ%ŸŸßùØÄq:,??ÿÖ­[M"‘’’Ò××'¶q¡/fZõNÚÚÚíÝ¥Éj!àóùÄFqqq‹Õ÷iÚÆb±Û©Rk¤¤ÞÿÓD"‘Z+„×ÉØšßI…ð‹µ¨Tjóî ºª/„P÷ÀL ¡žN8·h²L»9 …Ò…1¨©©µØ5—Ëewá»>§ ƒNÇ&ŽŽjjjœœœ”••þùçvu!œ wQ]]ݼBè‹€™B=ð/WAš’••Õ1 0ÀÄÄ„Ø~õê• á›U„êêjá Dœýû÷·²²"*¤¤¤*×ÔÔ0Œ°°0 Æ&ŽŽNŸ>}ùòåòòrÿúúzÑ»ÐÖÖ¶¶¶nÒEcccvv6±íééÙ®˜B‡™B=‚‚‚­­-±}êÔ).—{ñâÅëׯws –~Ÿ>}úÖ­[åååëÖ­«««q÷£Gª««ÀåË—_ZZúðáÃĬ¾OB¨]pö!$’úúúk×®EGG§¤¤¼~ýšÏçëééÙØØ¬X±ÂÔÔTÒÑu< ¡öÂL !„BH\pö!„BH\0ÓB!„Ì´B!„Ä3-„B!qÁL !„BH\0ÓB!„Ì´B!„Ä3-„B!qÁL !„BH\0ÓB!„Ì´B!„Ä3-„B!qÁL !„BH\0ÓB!„Ì´B!„Ä3-„B!qÁL !„BH\¤%B¨Wa±X•••’Ž!„ÄÈÀÀ@ôÊxO !„BH\0ÓB!„Ì´B!„Ä3-„B!qÁL !„BH\0ÓB!„Ì´B!„Ä3-„B!qÁL !„BH\ðñ¡žˆÏ‡·oeÞ¼‘~÷ŽÌçK:„$Dâ+(4êêÖëèÔ‘H’޵fZ¡¤¡è/ÊߺE«¨À›î5¥¨Ø8aBÕôé•66\2YÒÑ `¦…ê)nÜ oÛ¦úúµŒ•ÏǧÌ¢zÀ€:EÅ)̸PŸ×ØäÜ\™GänÜ y{kééÕ…„”ØÛs%ú ïË#„ºNǾa:7Wfýzµ;wh..•~~¥Ô‰#6„zÜ\™ÈH•‹åǫڸ±ÿÊt3ü†i„Зäî]êÌ™:%%ä'òöîeáï „>kÀ€º½{Y'Nä•”gÎÔ¹{—*éˆP«0ÓBIRLŒÂ·ßj[[W>7jTµ¤ÃAèK2jTõéÓyÖÖUß~«£ épPËpBHb.^” U_±¢lÅŠR|œ ¡•åïÝËÒ×W U§Ñ]\Ú=wÄ 3-„d¤§Ë†„h|ûm¹¯o©¤cAè F"¯oie%éûï5ttê-,ðÞpÏ‚³‡! (/'/^¬=fLUPP‰¤cA¨7øþû’q㪖-Ó*/Çw?ô,˜i!„$ "BYJ öîeãê‚¿PÊ’Ž}ÿ‘Cu·—/)'O*¬^]"/ß(éXê=äåKNžT|þœ"éXÐG˜i!„º[x¸Ê°aµ®®IÒ×Ý¿Ÿ)䨱c’Žu–›gذš}ûT$ú3-„P·*,”NH {y•ãÆgee•••5hÐ ‰ôÞÐаbÅ SSÓ%K–ÔÖÖJ$†Þ‡D‚E‹Êè……øÄ[O™B¨[]¿N§Rð+Dúº/^\¹r…ÇãÅÇǧ¦¦…………‚{l™™™’ð åèÈ•“k¼qƒ.é@Ð{˜i!„ºURõ«¯x22ø=`}‘‘ÑäÉ“åääìììÌÌÌ$Nï!#Ã3†wï¾5¾§À»‹¡nõâeút\¡…@ZZúСC’Ž¢w2¤æâE†¤£@ïa¦…êV,Y[»^ÒQôQQQ;vìü¸oß¾œœœÓ§O444œ={–Éd^¼xñüùó999ÅÅÅrrrýû÷;v¬———––ÄÆÆúûû ZX»víÓ§OïܹSVV¦©©9mÚ4???999A…ÔÔÔC‡=|øËåöë×ÏÓÓS”8333§M›&\²~ýúùóç766Ž?žÍf‡††.X°LMMy<^óšÚ¢E‹Ž=*øôàÁƒS¦LÙ¾}»p!Ñ£ššZRRQÂf³9róæÍ¼¼¼ÆÆÆþýûÛÙÙ-]ºTYßkð mí6ߪÕSàì!B¨[UWKÑh8uøž——WVV•ú~¢gÿþýÒÒÒçÏŸß²e Qòûᅦ„„8::^»víþýû‹/ÎÌÌüå—_ÜÜÜÊËËÀÙÙY¸…¨¨¨ ÄÅÅM˜0!//ïÈ‘#‚îîܹãááßØØøÛo¿;wŽÅbýû￟sðàÁÄ!!!óçÏ€Û·o³Ùl8sæ ñQzzºÁöíÛ³²²Ú8´&a‚ƒƒoß¾-øñòåËYYY‚4+##cÚ´iÇŽ«¬¬¼xñâµk×êêêŽ=:cÆ ‹ÕŽ“ÞÐhUUøû½§À‘@u+>ð©ÃÖhhh,]ºTQQÑÝÝ]II‰(´´´\°`NWRRòññÑÔÔ€¢¢¢¸¸¸æ-xxx 6L^^ÞÉɉ(®¶iÓ¦úúz˜2eŠ¥¥¥‚‚ÂÊ•+¥¥EšÜ “É®®®Ä¶ ¯úóÏ?‰gÏžedd@jjj^^ÞÔ©SE9´v &’Ë©S§êëëëèè8;;@~~þ¶mÛ:Ð`/F"ÿ;Ócàì!Bõ'Nl§¤¤€AUU•‹‹Ëëׯ«ªªøB¿?KK[ø¾ÈtúûGÏ÷{òòò^½zÕ¼šššZaa¡p#C† ~킞ž^||<Ìœ9ó矀/^<þ\GGçúõëD³þùgHHÈ™3g&Ož,//ÿÙCk‹•––Fl n­I'ÄÅÅUWW O’"Ôsà=-„ê)ÔÕÕ›”xyyíß¿ÿùóçööö<ÈÊÊ211!>â·t×BVV¶I‰ ZYYY‹Õh4šˆá1™LÁC‚gΜ‰Õ××_¹r%QráÂëææ&Ê¡µKQQ‘`{×®]Äk 6nÜH”ÔÖÖ¾}û¶3í#$>xO !„z å“/QÉÉÉyðà±ÐÉuß»WWW ¶«ªªDodæÌ™Ä½¥ .ôïßÿ?ÿù¢¢bEEEqqñúõë©TêØ±c›ïØäÐZCjejYUUU°½råÊï¾ûNô˜’,¼§…B=”ð]+Á]¨ŠŠŠŽµÖ¿bûõë×Ä—Ë-..nRóÙ³gYBˆ©C‚³³³ŒŒ ”””<}úÔÅÅ…B¡K´æŸ~ýõׂ㲴´¤ÑhëÖ­›;wî×_MŸO|‘Ù—ÈÖÖ–Ïç ¾]!„êe0ÓB!„Ì´B!„ÄåKuB!„¾D±±oýý“€B‘zöl†¤ÃAb‡÷´z­üüü€€&''gddX\\,\çÁƒ...*** …ÉdîÞ½ÛØØX°>ÝØØX”¦Nž<)¼ª=""â›o¾ÑÖÖ¦P(\³f Çk»Óî9!¨w«ªj°·¿¶xñ=IÒ‚ž[=*ÔLrvÖÉÊr;V]Ò n‚™VžnffÁáp?~üüù󺺺={öŒ92//¨sýúõñãÇÇÆÆ666Þ¸q#%%%///##ƒø4""âÅ‹¢45gÎ>ŸO§Ó‰÷ìÙãçç—‘‘1iÒ¤ÜÜÜÝ»w‡…… k»S„:ŒÏç76òù’¤=9¶&zT¨=*„: 3­ÞiÑ¢E%%%0kÖ¬Áƒëëë{xxÀëׯW­ZEÔY±bE]]Qg„ JJJ›7o–‘‘é@S¼¼¼FŽ©  @T€sçÎ >±S„Ú‹N—þûïÉGŽ•t -èɱ5Ñ£BíQÁ Ôa˜iõByyyÉÉÉÄv¿~ýˆþýûçÎãñx¹¹¹Ä-+000 6 †¦¦f{›jÒ;“É´&h„رS„B¨×Àñ½Paa¡`;(((((HøÓšššììlá INNN°-˜½©!C† ·Fàóßßü^%ÖF§µW\\Á²eIÄöÓ§ÓeeÉÄvyyí¡C/®_/((àÑhÒææ*K–~õÕÇõ1¥¥5fܸQÀbñ KKµ+ŒML›´™0i×®§·n±Éd’……JX˜™žÞÇ‹öÕ+ÎîÝO“’Šêëùƒ+øøýòË«»w‹ÀÝ}€v“ØDo¹ðZcdt®¡¡­é655Ù¤¤i]{[tèPFDÄ39R5&ÆnÞd}ûí]PR¢¤¤85éñÚ5‡ˆˆç÷î•—×À¶m#BBþ¦«FdûömG.8ÞÂÂjŠcÆ ]''[·Ø‚'ïÜù$!¡B!ÛØh®[gÆáÔmÚ”ž”ĦÓe&NÔ\»ÖŒNÿøVRC ª8´íPo‚÷´z! ÁöæÍ›ùÍ 2DMMMPG8ëâr¹ímJôÀDì¡örtÔÎÊrspÐ.,*ªvuýûâÅ·aaf))ÎþiK¥’çÏ¿ýǹD6»ÚÍ-áòå·7ÿç—èè ååµ³f%>zTÚ¤Í-[Ò.dÞ½;52ÒòÞ½"âÁ1Bn.×Ý=1=½ìàA«œvîñÿ÷ï‹ï(©¬,·íÛG4MÄ–Û¯5®YYnmüi-ÍêðilÍwßee¹Q©dA‰µµfV–Û°aJ-öúxÞ¼A·nMþóO[2™ÔáóöÙi;lâxccóÂÂÌRRœÎŸ·³²R úçĉlá¶mK_²dðýûN¡¡fçÏ¿ HÙ²%}åJ“¤$'__ã?þÈÝ·ïY‹!Ý¿?mãFóƒ_¼~]Õv$¨×ÀL«W9w’’®®®¹¹9QòäÉá 'N´¶¶€˜˜˜…¯^½"68‹Å®/JS¢±S„ºDxø³·o«BCÍìì´åå¥õõå#",ÕÕå6mJ-.®€ðð§yyU!!¦¶¶Z4ÙÐP!2Ò’Ïçoܘڤ©Ù³XX¨P©äqã4lm5ÓÒÊÊÊj?ôòôÝ»º°0³ñã5ˆF""Fñx "ÙvË"†'VŸ=]ÅÛ{°•••*=|¸rF†«²2¥ÊââxÃÂÌìì´éti55Ùï¾3²¶nºÂÁÝ}À°aJT*ÙÕU×ÐP!1‘µh‘¡‰‰"FöôÔ×Ñ¡%&²…Úü$$##…]»F²ÙM—^ Þ 3­ÞéÈ‘# ðçŸþúë¯l6{íÚµÉÉÉ;vì ê8p€XŠ~úôé[·n•——¯[·ŽX®ÞÞ¦D'b§uÞµkù0q¢– „B‘;V½ººáÖ-ÄÅHI‘ìì>Þ5QW—34Txò¤¼°ð“ß‚ff*‚mmm*°Xï+ܼÉk뽨¨È$/bm´,zxbõÙÓØU†W½²øF„8^›OR«ÿýoìÂ…LáSÓÑjjÊÀ°aguµ´¨‚xZ ICCN__ÔЗ×i}IÞ¾}«««+\2a„&u`Ô¨Qiii»wï¾víš··÷²eË´´´¬­­ïÞ½kffFÔ´··¿}ûö¦M›îܹcoo¯§§çíí=xðàÌÌL ‘HDµÏ6uòäIOOOAîîî«V­’““Ûºu+QRSSC"‘Ž;¶`Á‚;522"^ô°råÊŸ~úI°j¡«­mäpêdeÉÂke@MMŠŠª‰ `n~±ùî99•ZZTÁ ÆÇF(2‹kk¹ÜzYY2FÞ]QQÔÇiÛhYôð„ufVsŸ="¶# áyÆÏÓˆ´v¼ÍÉˬ@"™L¢R?–HI‘/§h-$UUÙììJQ¢B_:Ì´¾$Ä7L‹XyÀ€l»ÎèÑ£ccc…K"##‰ áZm75gΜ9sæ4/ß²e‹ˆ®^½ºí8j/ EŠÁápê¸ÜzáßšÅÅÕ ®.G¡H)(Èp¹õÏžÍ “Iî…N—ær뫪„–”tvZ­Ãáed¸v²ë&a´}?Û‚”©®®Q¸äÝ;1ÞÃî䈴v¼â‰Xøúœ=ì»bcc›¤n,+??h4šƒƒƒäBC¨ LšÔþþûãó³µµwïÉÉ‘'LЀɓû74ð>,ÞëðáÌ ®¶}[H1ÍDLŠŠª»ä^E—„×yŸ=mÓОë,*ªÎÏïJðNŽq¼ …Â…..ñ[·¦waHeeµÙÙø$P_™VŸ–——·lٲׯ_WWW§¥¥Í;—ÏçKKK>|X]¿)}Ù‡èèжlI‹/àrë³³+W®L.*ª 3SS“%*èéу‚&&²8œºòòÚ'²Ì6ý6R`àP%%ÊæÍ©·o³«ª23ßý#ÊÍQâï|x]FÛ§±mãÇk°ÙÕ¿ýöoUUÃë×ÜÍ›ÓTU?¿WçîԈǻukúßr¹õ……¼õëS‹Šª.4課²8ÉM&Q/F}6êý$RLLÌìÙ³Åê6õõõ×®]‹ŽŽNIIyýú5ŸÏ×ÓÓ³±±Y±b…©©©¤£CÝÍÝÝN:ÕÉvX,Vee[÷˜LƒýûYÓ¦uå á7-ÀŒº{öŒ‚÷/Fʈ‹Ë/,äQ©ÒææÊK– 3æãÿ"ÊËkø!#..¿ €§ @2DqñbÃqã4àñã²Y³5—/7 Âdž”Lœ¨uäÈÈήܵëɽ{E `b¢°zõ°}ûž¥¥•§§»´Ûüù"¶ÜFxâÐáÓØ§nûöô„Ö»wuÆ)­]köøÉ“rðöìèØOøT@V–[kÁˆ~ÞÚ‘Ï>^ÙÑ£ÕüýM”o~I8:j»¹}, 2j”Úœ97%¾¾&¾¾ÆÂ!¯øZ±ÂøØ±,Ñ_ñÕ^—/Ëûújfe½êÚf‘€àåÛ¢ÀL !ð…gZ=ͤI׫«nÞœ,é@Ð{}mD0Ó·veZ8{ˆBWTT=rä¥úúÿe}û–››[)â-ÔåpDPOƒ™BuJEEmh裂WŸšZêç—Â`ÈøøK:®¾ Gõ(ø–„ê8uu¹_üø¿žž·X,ž¢¢Ì¸q£tui’­;/“jB°D©›}vDz`̨wÃL !„:eìXõ±cûèÌ”`{Òöˆô̘Q/†³‡!„Bâ‚™B!„¸`¦…B!$.Y§åáááááÑå¡ „$KGGGÒ! „PoÓ‘LkÚ´iƒîòPPO¶oß> I‚ÄåÒ¥K˜i!„P—ëH¦õßÿþßß×ìÛ·ÏÆÆ&""BÒ qyûö­¤C@¡^×i!„B‰ ¾O !„DûÖß?(©gÏfH:„Зïi!„Hœu²²ÜúìKJBƒ™B‰‹©é›’Ž!$I˜i!„B‰ fZÝ!<<œD"‘H$|оO  H$ÀË!„ú \ßuuu#GŽTPP¸}û¶(õÍÍÍ‹‹‹Åê>uu0r$((€h—B` ˜›^âQ^^{èЋë× «UT(Œ3tœtnÝb/[–DÔILœ¼sç“„„B …lc£¹n‡S·iSzR›N—™8QsíZ3:ýã?Œ¯^qvï~š”TÔÐC‡*1˜¨¨—;v<€‡K˜Ì³@&“’“FŒˆÔY¹rÈwß54ðŒÎ%S¦ô77W&vÔÔ”ûñǯvï~ššZÚØÇ+ 9RU°{iiÍÁƒ7n°X<CÉ.Ë IDATÆÒRmÅ cÅ6¢22:×ÐÀo£‚ššlRÒ´?Š‹+œÆ„„I»v=½u‹M&“,,TÂÂÌôôèïÞÕ}öèfÌÐíðXtàxê 0Óê ÆÆÆÆÆFIG$­±ð2芊ªÝÝkj·n5·²Rçñbbr‚‚þy÷®náBfV–ÛÒ¥IׯlÛ–¾l™ÑÎ#ÿú+?00¥¼¼VFFjåJ“,ÏŸö˜N—^»ÖŒh37—ëîžH¥’´1BõÍîöíé¯_W‰——¡——¡©é…!C”bb¬åYYn Þ¹s§èúuG==:ɤ¬,7w÷ÄùóMŸ®Kìë⟓S¹ysZHˆ©±±bVÖ»ààGóæÝþ¿ÿ7z´°ÙÄñ6ìØ1bôhõ¼<îúõ©³f%?>ÞÂB¥µ¨22\;|†µ§qË–toïÁ;wŽüçŸoï$ÿä3gld²²Ü¾ýöîíÛìæG÷Í7..:ÄèÀXtìxê pö°#dddži'7<<€ÁUU˜?ÊÊ '\\€ÁmmX¼>\ûq/¡ËJJ €Bee˜:Zº àÅ prEE Ñ`âDº  ¦Ö­cc Ñ@E\\àÂè#—AGÕÖ6r8u²²dáe=-’—ÿXD2™D¥~,‘’"56òmr¹õ²²d,Ü‚ªªlç^°À€Ç«?~ü_Èή¼w¯hΜMê((È4)!º.)©!Ž·±‘on~‘É<+øóôi9ääT¶Ö¯‘Ñ9áúÍÿ|õÕeQâg0>ž4 … |¡Õ_‹ ]rrÉìÙš7Ò®±èØñ"Ô|‘™–««+ŸÏŸ1cøûûûûûçååÅÄÄÄÇÇ{zzuBCCù|>Nì5eÊ>Ÿ?räÈÛ X³fMaaá¾}ûŽ?>wî\ÿÍ›7lذ!**jýúõÄ^ÎÎ΂½ ---£££###‹‹‹ïß¿O£Ñìíí£¢¢„«UVV._¾<$$$//ïæÍ›¥¥¥vvv‰‰‰Ä§>>>û÷ï?pà@IIÉóçÏg̘qëÖ­®?ƒ=ÐíÛðø1Ðé0|8> péXYÁ‰À烒R »¸ºŸÄ@øûƒ¿?äåAL ÄÇÇËBCϡ˦L>„.ƒOÚ €5k °öíƒãÇaî\ð÷‡Í›¡ 6l€¨(øp€³óǽ ÁÒ¢£!2Š‹áþ} ÑÀÞ>½  ²–/‡È˃›7¡´ììàÃe>>°?8%%ðü9ÃŒÐG.ƒŽ¢P¤ ™šš.·¾ Û¤Ó¥kjªª>Is·jDAjzç½3ôÔÔdûíßÚÚÆ£G_Μ©§¨HiR§¼¼Žÿéâõ’’PU•¥P¤dÈdRF†kV–[“?_}Õê»U[¬/ü§µåðíâ쬣­M‡ÇÀÏfÀmëðñ"Ô|‘™–0//¯1cÆÐét''§äääŽ=ß·hÑ¢‘#GÒéôùóç:ôÊ•+æææòòòÞÞÞúúú—/·õ_½àààììì}ûö9;;+(( <8::Z[[Û××—Åb ªUTTlÛ¶mܸqòòò£F:~üxmm­ŸŸñé7†êèèH¥R555wïÞ=xðàË—jøp8v RSá›o€Ïoo°·‡9sDÚ×Ë ÆŒ:ÀÉ ’“;ø|ߢE0r$Ðé0>  W®@@˜›ƒ¼´y@p0dgþ}àì 0x0DGƒ¶6øú‚Ðe°mŒòò0j?µµðá2€7`èPpt*45a÷nèS—AGMšÔ … ]\â·nMïp›Ä\$1‡H(+«ÍÎæŠÞ•*]W÷þ™ GǸ“'sˆm EjîÜA%%5Gf?ÿfÁfó}kjÒÒJ?fd¼c³«ML54ä`òäþ ü‡K„w9|8s„«m?]Ø ÈdÒ‚Lâèbcßþ÷¿o³'/Bmûâ3-KKKÁ¶®®.äççw Q£F ¶ûõëפ¤ÿþm7{öìYprr”ÈÊÊÚÛÛóx¼¿þúKP(''gee%øÑÔÔ´_¿~©©©0eÊ”»wï.Y²$))‰˜4ÌÈȰµµíÀá|©ÜÝaíZ8sƇ’ؼYÔ….ÐÕèÐeBƒýú5-éßÿ3Íž= t€¬,ØÛB—ÈÉÐe¦¦Ð¯¤¦BAÀ”)p÷.,YIIï' 32 O]8DG‡¶ukúßr¹õ……¼õëS‹Šª.ìø¯ùÀÀ¡JJ”Í›SoßfWU5deq’›L&¶mèP¥ììʂޣG¥¯_s--?¾£aÞ¼Arrä½{ŸŽ§1`½ù¾ †Ìž=Ï=*åñÒÓËV­J‘‘‘ 3¯ž=(èab"‹Ã©+/¯=q"ûàÁŒà`Óæ+¢ºßœ9 ™½{Ÿ::ö#Ö`uR?^„ÚðÅgZŠŠWPR(èØËÛRRRd2™F£ JÈdrÍÖÔÔTTTÈÉÉ1 árMMM(,üøŸlUUUÒ§Ó Àf³àСC¿þúë¿ÿþkoo¯  0eÊ"ë[6o++¸{ÜÝAJäëSè2 :øò¡Ë¤¤€L¡ËÈä¶š­©Š “ƒO/ÐÔº @Uµé¬’†› pèüú+üû/ØÛƒ‚L™}ð2h?uu¹sç&:9élܘ:rdìÌ™ µ'OZ÷ëG{ü¸ŒÉ<{ýz zaïÞgééeLæÙ[·Ø |&óìO?e¤¤”0™g<(æñ˜Ì³û÷¿==ú©S6ffÊ>>÷G¾´fÍÃo¾102R¨­md2ÏÿóÙ¨BCM'MŠóõ}°nÝpƒ×†²2eÆ ]>-2lq_¼~ýðýûŸõÕeOÏ[ 2Ç'^ñªª²gÎØ::öÛ°á±¥å¥I“®ÿõWþO?Y5į«4?Àdž=|8\\â/¾'¨L§KÏ™3χE‹˜m7"âXtÿñ"ÔUzùû´¤¤¤jk?YTQÞâÚêΑ••UTT¬¨¨àp8ÂÉ1o¨¥õñÁ¥ŠŠŠ&û9‘o‘H¤ùóçÏŸ?¿®®.!!!<<|æÌ™{öì èò˜{®„¨¨SSX¾†‡áû M))øô2hy‰}'ÉÊ‚¢"TT‡óI²EÌ ]Ðì2xŸcù‰óçÃüùPW 3gž=Ч.ƒQR¢¬]kºv­i“rsså¬,·&…¢”€¾¾ü?~%\2q¢Vój­4ˆqâÄ„Ö>µ°Pyú´\øFWŒcÇÆµö©’%$Ä4$¤éñЉˆ§Q (hXPаŽ5Òb³Ý|¼u•/þžVÛ´µµóòò?¾~ýZ¹¹¹À¥K—%5557nÜ R©“'OVVV¦¦~|ûKzzz~~þðáõµµ@IIéÅ‹ ##ãèèH<)Üfï— ‹ÁŸÂ… @¥ÂŒPTÔÍjkƒÐe…… žËÜÜ„‡¬¦nÜ*„.¨¬¡ËÒÓ!?†mm%%xñ@Fß?Ù§.ƒ>ãĉœo¿ma…B¨7éå™Ö¤I“òóó—ËMII™7o…B‰ŒŒTXºtiZZZMM ›ÍÞµkŸÏ·³³GÀ=Qe%¸ºÂ¾}0d §OC~>ÌšuumyÒ$Èχƒ¡²^½??ÏeÛ·ƒ¾>øûCl,p8™ _  B—Ðéàã÷ï— ))0oP( tÀÒ¥–55Àfî]ÀçCß¹ z»?þÈ]¶,©ªª!::»¢¢ÖÉ ¿¡^î‹Ì´’’’H$Òùóç€J¥†††‰DÚ¹s'XXX8;;5·lÙâååµmÛ6  ¬^½ZKK«¤¤„D"}ÿý÷ÍÛIII!‘HýõWCC‰DÚ±cÇíÛ·I$Rbb"—Ë%‘H6lh1$--­äädOOO___UUÕÑ£Gs¹Üëׯ/^¼>|Ãtjjª’’ÒÞ½{ƒƒƒµ´´¬­­•••ãããmllˆFçÌ™£¢¢bbbrõêÕ#GŽ„„„ˆý„ö>>À`@Z̘Ož@q1ØÚB]ܼ  lÙÒÂ.II@"ÁùóT*„†H°s'€…|¸ `Ëðò‚mÛ@C,€Õ«AK JJ€D‚ï¿o¡” ‘௿ ¡H$رnß Ë Z¹ @K ’“ÁÓ|}AUF.®_‡Å‹>|Ãtj*()ÁÞ½ ZZ`m ÊÊ.HLcc˜3TTÀÄ®^…#G \_š6^LE¬.jQ\\…ÅÅèèìÈHËæ«¹£¢^2™gŸ?¯`±ª™Ì³Är(„З‹Äç·ïùX‰3{öl1ô¥pqq¹|ùrMM´t/_ëF ‘Hþþþ’¤‡qqË—¡¦¾üËÀÝÝN:ÕÉvX,Vee[o’d2 öïgM›†o›DH\._–÷õÕÌÊzõùª¨C ÚñPóyOKR† –““Clçååéééõ‘4 }bØ0øp@^èéõ‚4 !„˜`¦Õ>»wﮬ¬¼páÂãÇ—.]*ép„ìÞ ••pá<~ x „jþ_¼Ž=¤­­­¥¥µmÛ¶ÀÀ@IG„$áèQ mmÐÒ‚mÛ/„B­ÃL«¬¬¬$’4++ÀË!„hpö!„BH\0ÓB!„Ì´B!„Ä3-„B!qÁL !„ZW xí{MMƒ¤Ãˆ}KÄ3dÈùîé‘xm=“yvܸ+­•ˆ[BB¡ƒCœ‘ѹîé¡.„™BµÊÑQ;+ËÍÁA[Ò|ä쬓•å6v¬z·õèåe˜•åfb¢ØF‰ø¼~Í]²ä^xø³ââênè¡.ב·<,[¶lÕªU] êá~þùçÓ§OK: $.%%%†††’ŽBÂLM/ ¢c-é@ÐGÏFŒPùñÇÁÖÖWy¼q[¡vÁ÷i!Qµ÷+2B¨ó¶o!'G–tu\G2­ü¿aº¯!‘HÞÞÞø Ó½ñ Óõ4˜f¡/ÞÓBõµµ?üqùr^~~•¬,yäHU¶¶šd2‰¨ðêg÷î§IIEõõüÁƒ||Œ~ùåÕÝ»Eàî>ÀÀ€±cÇxø°„É< d2)#ÃU¸‹¢¢ê]»žÞºÅ&“I*aafzztˆ‹+X¶,‰¨síšCDÄó{÷ŠÊËk 9ÙIY™RZZsð`Æ,Á±´T[±ÂX°È©¡õjÞäfdTp8õÐgÏøÍ7ƒ¤¤H‚®Á74ÀСŠCE<-QQ/‰ãÒÔ”ûñǯvï~ššZÚØÇ+ 9RUP³¼¼öСׯðh4iss•%K ¿úª³«ÁŒŒÎ54´u;\MM6)iZ'{A¨'ÃL !ÔlØðøÊ•üF¥ZYYõÒÛûÞï¿O°²R€Ü\®»{"•J>xÐjÄÕ¼<î–-é/^¼£P¤ž=›A´àåeØö:­-[Ò½½ïÜ9òñãÒeË’üý“Ïœ±…«æ—.Mº~½ 4ô±ŸŸÉ®]#239³g'›]íîžXSÓ°cLjѣÕóò¸ëקΚ•xüøx HL,ôóK º¿ec#\¼øfË–ôÂBÞ÷ß#úmü›7ÜíÛÓ_¿®å´xyzyº¸ÄçäTnÞœbjl¬˜•õ.8øÑ¼y·ÿïÿÆ­EEÕîî‰ÕÕ Û¶YŒ­^TTþtþüÛ[·Ž˜={@gÆ¥I¶ŠP„Ï"„zƒ»w‹ ãÇkÈÉ‘ÕÔd¿ÿ~˜¾¾¼àÓðð§ïÞÕ……™¯A£‘ ""FµwyõìÙ,,T¨Tò˜1êvvÚiieeeµMêx{¶²R£R¥‡WÎÈpUV¦„‡?ÍË« 1µµÕ"ºŽŒ´äóù7¦ ö²²R[ºt°¢"EY™òÍ7..:¿ü’UYYßbðFF »vd³yí žÇkØ´ÉœˆßÔTyÏžQuu›7§}èâÙÛ·U¡¡fvvÚòòÒúúò–êêr›6¥×´«#„P˜i!„z­þ)]»öÑãÇeÄtU\œ#qC nÞd€µµ– ¾ŠŠì Aò-6Õ33Á¶¦¦°XMÓáÕ›”ÄÅHI‘ìì>¾'B]]ÎÐPáÉ“òÂBØÙiÿþûá]LLëëù/_¾k-x 9áLœø± EjìXõêê†[·Xíê!ÔÎ"„zƒ †[X¨œ9“;þm5JÅÓSÒ¤~P[ÛÈåÖËÊ’i´OÖV+*Ê´« ãã?˜Ä"ªæÏãR©ŸtQ[ÛÈáÔ€¹ùÅæ æäTjiQ9œº£G³®]Ë/,ä½{W'ø”¸åÖZ𪪲ÙÙ•¢¯ Ðô`UUeÙìê’’%% ‡S'+K¦Ó?ù ¦&EEz‹®ÓB3-„Po@"««®««n}=?)©(*êåòå÷CBL¿ý–I¡HÑéÒ\n}UUƒp¾RRÒt^ŒD‚®E¡H)(Èp¹õϞͬÍobÉ’¤ääâ°03eeY ŽËÚº5x¯JkÁ+îEW^^Ççr€Ä᫪ÊR(R † ‡SÇåÖ '[Ä›BÕÕåÚÕQ¸N !œ=Dõ±¯^q@Zš4~¼ÆO?}E"ÁßŸÚØh‡i8BQQuó{BTªt]]#±íèwòdNç›<¹CÿáÃáÂÇ3'L¸ÚÐÀ'>RW—ûï TTd‰L¨¦¦Q¸róàËÊj³³¹í £¦¦!-­TðcFÆ;6»ÚÄDQCCˆ›‚ÓµµwïÉÉ‘'LÐlWG¡&0Óz¯²²ÒÐÐÐÙÙYÒ´¬‡‡÷Å©¬©4\kè| ‡žÏ^öøÅ‹ŠÚÚÆ’’šŸÎäóa̘÷/) ª¤DÙ¼9õömvUUCfæ»  šß­:T);»² €÷èQéë×\KKÕf´[`à==zPÐÃÄD‡SW^^{âDöÁƒÁÁ¦d2‰L&YY©U9ò²¬¬¶ºº!)©(::ûÓ> >+‹Üd2ñ³ ™={ž=zTÊã5¤§—­Z•"##f&RG‡¶eKZ||—[Ÿ]¹rerQQuX˜™ššlçO’„††|¥~€³‡ïñùüÆÆÆÆÆÆÏW3yyyssóÛ·o öœðz>ŸßÈïçSÞGÞ\×üvP³áîá}A¢£'DGgûù%ççóde¥¤oÛ6ÂÝýý ôôè§NÙìÚõÄÇç~C˜˜(¬^=ìÀçM!…†š®]ûxÒ¤8%%ʺuà —Íš•@|:tè…åˆ/Ü—ø‰µ¾ûÎX¸de¹ ÚTU•=sÆö‡26lx\PÀSP  ¢øÓOVãÆiöï½wï³_}µgÏS%%ŠÖôéº?ý”ñßÿÞ6Léܹ‰ÂÁ/[±ÂøØ±¬»w‹˜Ì³îî¶oñÙóC£‘ׯ¾eKÚ?ÿ”64ðÍÌ”/xŸ–ººÜ¹sÊØ´)­°G¥J››+ÿúëx"U¼” ˜Ì³Ë—)(È4) Ò¾Y||Á’%I‚‰“¿m[g_?ÑÄYYyN™2ÅÕÕuäÈ‘¤.ŸG"#µ÷+VH$RLL ¾#^|ZÌ´$ŽD"ùûûã;â»\‹™–Dïˆ?uêT'Ûa±X••m­Ôf2 öïgM›ÖŽÕÜbòÍ7·SRJïÓêÅ\\âKKkîÜ™*é@P7¹|YÞ×·ÞÏo÷… ²³³ 4}úôY³fiii}~g$Ñ+ãì!B!Ôûô_±bE\\Ü•+Wÿýw[[ÛÀÀÀ—/_J:°>§›2­/^¸ºº***Òh´Ñ£GÇÆÆ:88H$‰äååEÔ)**òõõ8p …BQWWŸ9sæãljÎ;Gú ''ÇÃÃCIIIUUÕÙÙùÕ«W‰ØHFFÆìÙ³UUU‰£¢¢UWœM()) 000••ÕÑÑqppøå—_x¼V_(¨O¡P”••§Nú÷ß…‡‡íëèè$''ÛÛÛ3 6qâÄ;wî×ár¹wîÜ!*KKK7‰¼Åðšw'ú‡…/\¹*ú*Ò–ÓFo›ë°×´˜DZLòú¿ÃÍ)ò=á;ðû”¥õ•ê3˜ùøÍ‡‘ztލLZLÊ)Éñ8ì¡ä«¤ê¯ê|ÀùUѧÃ-Z#…³ÏVõW%~Œº%ø¨ºNè|V–ü`b »LVgµŽÃ^‡_îþ«k}¸?Ô§,¥(û)Oœú÷‹ÃýW8ѾÎjäœdû=ö m9mbøÄ;Yw„ëpk¸w²î•¥½¥›DÞbxÍ»ýŒ!„úCCÃÕ«Wß¼ysË–-éééÓ¦M[²dÉÇ%WÒ™VVVÖ˜1cRRRNŸ>Íf³;™––&++Ëçó£¢¢   ÀÒÒò?þøá‡JKKJKKÇŒsïÞ=puuåóù3fÌÿ¼¼¼˜˜˜øøxOOOAG¢7âíí½|ùò7oÞ$%%‘Édá ---Oœ8Y\\üðáC[[Û… >|¸ÅÃ$êGGGõïß¿O£Ñìíí‰ äóùÇ///÷óóÛ²eKaaáÍ›7KKKíììuètú¸qãø|>ŸÏ¯¯¯o¹ˆÝ‰xÆÄ!‹5fû˜”œ”ÓKO³#ØÇ‹¼™ö6MVZ–„õß((¨(°ÜjùGÊ?Ìý¡4²4auB)·tÌö1÷^ÝW Wþþ óàÒßßÁ?ow^ŒwLüóxÏŸ…†[äF¼ó^n»üÍ®7I!Id)²ðGÏgE¡åVËNDΉ,Ž(~öÐÖÈvá±…‡[îŠBË­–Ñ÷£‰ú÷CîÓ(4û½öQ·¢ pr ÿ¸îðr^¹ßI¿-®[ ÷Þ\s³”[j·Ç.13QP‡.KÇÇ?Âçá×®o¹ˆÝ‰xÆ@lì[&óìÝ»EµµLæÙàà$Q§0™g[ûcjzÉ<ûüy‹UÍdžÝ»÷™¤ƒE’!##3kÖ¬«W¯>|¸¢¢ÂÃÃcÉ’%yyy’Ž«OèŽñ!!!åååQQQŽŽŽ0tèÐèèè × ÎÍÍýý÷ß§M›FÔ9yòäÀW¬X‘’’"\ÓËËk̘1ààààäätúôéââb55µv5dkk VVVD6Ó\pppvvvLL ñăÁ Üj­þ‰'ˆú ÑÑу òõõuqqÑÔ|ÿ¤4—Ëýá‡ÌÍÍ`Ô¨QÇ733óóóÜ{‘ˆÝµ}ÆÄ!älHyUyÔ£‡8ÀÐ~C£Gü~à'ÁŸ Î-ÉýÝë÷i¦Óˆ:'—œøýÀ'V¤„~:ܼƌ'3§ÓOW«É«µ«‘ ©A¶FÉ IDAT¶`¥oEd3ÍŸ Î.ÎŽñŽq6s†#Ô)Tpÿ©µú'–œ ê+P¢G ä{Â×e¸‹¦Â‡á®áþ0÷s]s5pÔq¯ãfÌüNú=^×Îá­»¶ÏpvÖqvÖ‘t]Fx>Bm ‘Hvvvvvv7oÞÜ´iÓ”)S¾ûî»E‹ÉÈ´ï-¾¨]ºãžÖÕ«W`òäÉ‚uuucccá:çΓ’’~‹––ÖСC>|øöí[áš–––‚m]]]ÈÏÏoo#£GþlØgÏž€©S?YCzåÊÿ6ê;99 Jdeeíííy<Þ_ý%(¤ÓéDšE055íׯ_jjjAAÁgCê@wÐæ‡«O®Àä¡BÃÍP7Öút¸“"IIAKQkh¿¡s¾-ût¸ ¯¢ ùåùímdô@†ûÑY˜:ìÓáö»âïÐÊp?: N¦Bç_ZÖÞÄžWÇûë©ÐpËÒ‰4‹`Úß´ŸR¿Ô7©ínѺƒ6ÏB¬­­/_¾¼lÙ²C‡9;;§¥¥I:¢ÞLì÷´jjj8Žœœœ¼ü'ßÒ¥¬¬,\§¢¢›îðòåKÿû®C¡P€x¾]Ðéôφ]QQ!''Ç`0Ú®Ùv}âÞRaáÇ÷*))5ÙWCC#??ŸÍfkkkƒhDïZ?câPS_éæÈÉÈÉË~:Üteá:¼ Pômi¤X/u”…†›*<™üÆö6B—ýÜp××Tð*ädär¢ w+õ‰{K…BÃMm6Ü üò|ö;¶¶¢ÈÃ-rwÐúC!a eùòå3fÌX»v­‡‡Çš5k.\(é z'±gZ²²² ƒÃáTVV '[l6[¸Ž’’Ree%Ç#Ö€w¬£Î7"Üš¢¢bEE‡Ã%Ùj­>‹ÅákKJJø|¾ð«MˆS¡¡ñþå:¢¼õDô¬´,CŽÁ©æTÖT '[ìwlá:J4¥ÊêJÞ|¸à†F«­}ÿfFFF?ÿüsgºë~Ä1‡H(¬(Ìd}:Ü#fÖ7Ö7YµóêN½ ½úF‘‡»+p³p€ËéŸ÷&‹•1­ ·…\J:ÿõ57žß ÊP…gN«ëª“s„†;/=¿<¸îpÁ -…V[ÿa¸C~¾ÙÊp‹ÖBµ—””ÔÒ¥KüñÇK—.-[¶Lð u•îÈ´¶mÛ¦¢¢âïïWYYùäÉ“… 6¹ï²}ûvƒo¿ýöÊ•+¥¥¥‡Þ´iSxx¸èùu—4"Üš¾¾þÊ•+/]ºÄápÞ¾}»|ùò‚‚‚Ö2-¢¾¿¿ll,‡ÃÉÌÌüúë¯ "##…×§+**†„„Ü»wË妤¤Ì›7B¡DFF *Œ1"33óÍ›7÷îÝû÷ß'L˜Ð™îºß¶™ÛTè*þ'ýãžÅUÖT>É{²ð—…Mî»lŸ¹Ý@ÝàÛ_¾½òäJ¯¢”[z8ñ𦋛ÂÝÃE¿AÕ%·¦¯¦¿2f奴KœjÎÛ²·Ë_^PQ°Ò±•áž¹]_Mßÿ¤lZ,§š“ÉÊüúÈבž‘ÂëÓ©Š!gCǭá¦ä¤Ì‹šG‘¦DÎî#2Y™oJßÜ{uïߢ'¶2Ü¢u‡Bcgg÷Ûo¿=|øÐÇǿƧkuG¦e``pïÞ=KKËY³fijjz{{ëëë“É¿·KCCãÁƒ®®®>>>Äzù3gΜ?žx}RR‰D:þ<P©ÔÐÐP ‘H;wî b|»žÐ!Þ>%øhÞ¼y ¥¥•œœìáá±bÅ UUÕÑ£G—••ݺuKOO¯ÅÃ$ê{zzúúúõ¹\îõë×/^,\M^^þÀ7nÔÖÖ¶¶¶VVVŽ·±±TØ·oŸ™™™‰‰‰‡‡Gdd¤‰‰IáµÖˆgL Ô îß³Ô·œõÓ,ÍMïß¼ƒ§ë«é“¥„†›¡ñ`íWsWŸhõ•êÆaÆg9ïs~ö¨Ùôoi1éüãó@]N = ¤Å¤Ww€Å& â ÛÕi±Ðp?:'üѼ¨y ¥¨•¼6ÙÃÒcʼnªþª£·Ž.ã–Ý º¥§ÒÊp+j%¯Möíé{—¨Ï­á^¸¾x§Ã-+ÀóÀÆ‹µµ­wY+Ó”ãWÅÛ n}f:f&ëL<~öˆôŒ4Ñ6i#¼ÖºñŒ!„P†~ìØ±{÷îmÚ´IÒ±ô*û6ccc—››ÛÉv¾,æææÅÅÅM„ü"tòÛxŒÃŒyµ¼Ü}l¸7™sŠßîþ2†»~B½ÕåËò¾¾šYYyqñ_ýåãã³k×.b jQû6žÂÂB•ºº:AINNΫW¯ìì캡wÔÍ + UüTꄆ»$çû•17Bõt“'O^¸pá¦M›Úûî!Ôšnú6ž²²2ooï7oÞTUU=xðÀÃÃCAA!,,¬{zGݬ¬ªÌû7ï7¥oªj«d?ð8ì¡@UsÆáFâu?йƒÉÜÁwpœ¤ciË’ÓK˜;˜‡î.4ÝcJOü‰ºE”O:2IPèqÜCñ¢>jÕªUjjjÄj“/HBB‚ƒƒƒ‘‘Quž?¾víZGGGSSSSSS‡ üôÓOÏž=kïŸèº#ÓÒÒÒº~ýzyy9±,iúô醆†<4hP7ôÞCßi˜ššš——G"‘ˆ…S½’–¢Öõ€ëåUåÖ»¬•ý”§œn¨aø`íƒAê}i¸ÿ '-&¥¾IÍ+Ï#-& §øxYye}Ÿe¢i"é@ÚröÉÙø¬øæåé«Ò/~{ ²¾Ïò²zÿÝ Ç=›h˜üÇô?A1óbº5VÔ·ÉÊÊ®Y³æÒ¥KÏž}þ뛪ªªìí훬Hîf¯_¿^²dIxxxqqqkuwíÚåêêJ¡Pöïߟœœ|çν{÷jkk‡‡‡OŸ>ýÉ“'b ¯›^›aoooooß=}õL’Ž¢›Ø›ü?{÷×ÔÕ>ü$! ìí@Q¢(Èp0**C}­V«¢V•V±ú«ƒŠXTPªâl+â¶Úâ*ˆ UP¤ŠâA@a$@€äþþ¸6F„Fàóýôó~’“sÏyîÍ«>9çÜs?ï¯{j`àÔÏåë’(å”Ç{Œò¸œqY’ú99ßœûf†ÉŒ5“Z¿û©rvv1bÄo¿ýÖîȆa@zbKbïÞ½cÆŒ9xðà¤I“êëëÛªsøðámÛ¶Í›7/‘——733333SUUmë‰ÆÝ¢‡fàs¶ñúÆé#¦OÔk}Ò Òæš·Üf9¤Y@†æÍ›wõêU.—+¾ƒÁ¸}ûö±cÇz&ªV…„„,_¾\tCƒrrr¢¢¢F%L³DùúúR©Té…™H×ùôó¯Ë_9IRùfæMß‹¾!.!sFÏ‘v`ˆ1}úô¦¦¦û÷ïË:öÉËË‹¯pæÌ@ÐâAÆBŠŠŠÏŸ?755•BhõØì!ôŒœŠœ„GšùÍæÌ×NZ;vÐXü£F~ãû®½ºVTSD•£Ž4Ög´ý0{ÑÍÞZ0ÚeĈÛÅQ¡žâ—"¦‹Í ¹òËÌ_”vž¿‰:™vò—û¿ó:f>À¼ÝÊH•²²ò¨Q£îß¿oggwàÀk×®Q©Ô±cÇúøøØÛÛ“H¤¸¸¸+VàõŸ?Ž YXX°Ùì­„»wïâ›–WVVFFFÞºu«¤¤DAAÁÒÒÒÏÏÏØøÃ:K###ñ»§ª««§¤ˆûs×ÂÇB¢]ô$È´ýG]SÝÿ¸fâc-ãœòœ ëAóOÏÿmÎoVƒ­B[þÞrýÕõýûÇ ÇáqŽ><ê{Á÷Ô¼SÖºÖm5˜ù}fC ºänìn3Ħݚ÷óîÇ¿ŽÿÆêH³@/allœ™™¹eË–ëׯïß¿ܸqçèÑ£¾¾¾§N²¶¶vvvÎÎÎ^¾|y||¼èOŸ>¥ÓéøëÈÈÈðððuëÖáiVii©——ÇÛ¹s§••Uaaá?þèéémaa’™ÙÕ?w-”••!„”””º·Y Áì! ÿ`óØvc¥“é¦:¦»Ýw7ñ›¶ÇoÇ?½ŸwßPÝÐVÏV^N^¡¾aò=U=©Æs6ýl^UÞ‡ ’TÖVÔfR™Çnô€l 6,??ÿþýû†††¶¶¶òòòêêê6lÐÓ“ôεk×"""fÏž½|ùr¼$,,¬°°pãÆöööt:ÝÐÐ0""ð­[·Jí>¾­g>‚~ ==}РA²Ž¢«¨rTsBFFšLÍ—%/K9¥šLM;}»Sÿžúáú^æ^¦Ú¦$")nYœô‚)ª-Ú™°3Ê3ŠF¦IR˜ê°P—ЯÏ~½óöN"‘¸Ør±ôb@ l6{æÌ™§Núᇼ¼¼LMMñIC1G=~ü‘žžþÝwßYZZ ?‹‹#‰¢[—khhfdd°X¬ÏDî.ZZZeeeUUU-Êÿúë/„гgϤº!~g2­k×®]»v­ÛC½\FF†ô¶½A[wG÷!ÊòÊ¢4E©ÑÕJ9¥Ü M¦æç-,.e\úêôW¡qƒÆÍµ˜;eø1 veVBv›Çžwªå½N{ïìÝ{g/Bè–ï­!*CD?²hqÜûø¢³‹vÜÚA@„E–‹Ät €´Q(”ÆÆÆ-[¶XXX\ºt髯¾B7nîܹS¦ˆûƒƒ***òõõÕÑÑ9pà™LÆ ñ%\£Gþô¼¼<<ÓêöuZ–––ÏŸ?···—ü¨îÒ™L«[ž{ú–.>÷ô~øsû:6¯å:ÜŠº „C !D r䈲²²°œB¡(**r¹Ü/^ˆÙ”¡Û×iÍ™3ç·ß~‹]¹re‹c=Öiúº¦º—%/…o3Ë2K9¥ÆZÆšLM„Å^‹œŠ„QÎVÏöÐìCávöm™…ÛËÁ–ǼÑÈ´mqÛ¢ÿ–u8àóU]]­¤¤daa‘““ƒ’““³µµ=tè@¸}»Í?8|>õêÕ999¿üò‹pEתU«ð9Ç©S§òùü´´4ÑC¢¢¢&Nœ(~«+ôõõ}}}_¿~}øðáO?•ö¶«iú™¶5nkzqz}Sý³âgëþZG&‘7;}xæææ›_•¾jä7VÔUN9Œa˜$wö<«ÁVG<ÈËÉoù{˩ǧdøLeee :!´yóæW¯^566VTT>|Ã0›6ÿàüôÓO‰‰‰?ýô“µu+wõêêê®_¿>))‰ÍfWWWŸ>}:222((HÌ(W×­Y³féÒ¥aaaAAAõõõ ™™™ôõõ%‘HÒÛO‹ÐÑG*˜=ü Áìa¿‡Ïž?¾‹í”””p81 ô÷í+qqW§£Ž>8ºóöN„Sëà샻w=-z*Àf:fëìÖ ÷ÓzYò2æIÌ÷‹j‹¨rÔ¡*C½Í½½Ì¼z`6aóÍͧŸ-™¨7ñ„Ï „énÓú¦+ä6LÞ |ôáý¼ûË.,khn@‰Ÿs@ÔµkL­ììœ.¶3a„… Nœ81&&æáÇø~ZC‡õöööòò"¢ûi!„f̘±hÑ"V[;xð ³³3B¨ººúÀqqqÅÅÅŠŠŠ#GŽ\ºté„ <|BB²eËZîØ±ãÓ\åùóçÑÑÑ<(--åóùÊÊÊ666_~ùe‡n Ò××—¼2dZ@"iõ{}:Óˆê–L+++ËÅÅåܹscÆŒé®ÀúeZ0{€–Î;7xðàVo™>Âår/_¾ìããC$BžÐUpð‘C‡a6g<æ¼H%Óâp8†††nnnÒh¼‹zsl’ë=gÁá4us»$ë@ZÑ›c“\ÿ8 @òîÝ»ãÇûùù‰n…:M*™†a@ÚTtNoŽ­UL&ÓÖÖ¶Eaï9 ÃL èØ}=£7ÇÖ*&3ÂÖöt‹Â>w€>­±±ÑßßذaóçÏo¿6@göˆo—‚‚¾ËY/Ô›c“\ï9 JNÎRYGѺÞ›äúÇYúŠmÛ¶ååå]¾|YNN*ÂgÖiŸ—ŠŠŠôôôOËÃÂÂΟ?¿k×®!C†|ú)èœîÏ´._¾LøOCCƒ°¼¢¢bíÚµúúú EEEeúôé-öò/++ó÷÷:t(…BÑÐИ5kÖ“'O>m3//ÏÇÇGYYYMMÍÍÍ­ÅÐΫW¯<<<”””ètº••Ull¬““~à’%K>Mò–Å„×1§†w:hРÔÔTGGG:>yòä{÷î‰Öár¹÷îÝÃ+ã¿0:q…%?͹|9›@Ãÿkhh‰¤~íÚÛúúG(”=**û§O¿xûöÛ/f¿ÂС‡)”=¿ÌšuåÉ“ÒOÛÌË«ññùKYy¿šZ¤›Û¥œœjÑF^½ªô𸬤´N·²ŠŽÍqr:‡¸dÉÍOc“¼e1áµEÌ)‡…¥ât(5•åèxNA!‚NŸ<ùì½{…¢u¸Ü¦{÷ ñÊrr»;w…%?MÀ穸¸ØËËkÇŽ¢…†…‡‡>|xçÎøþ¢ »t¦åááaØŒ3D Y,–¥¥eLLLDDDyyùƒètº££ãÑ£Gñ ÅÅÅ–––çÎ;pà@eeebbbee¥Mrrr‹6 Ïž=›0wî\a/ÙÙÙ666=ºpáBiié‰'"""ž>}J¥R1 ;zôè§±IزøðZ%þ”1 377¯®®^½zupp0‹ÅºsçNee¥ƒƒCRR’°ƒÁ˜0a†a†577wî Kxšåáa€a3f| ×Ò2:&æeD„CyùªæÓérŽŽçŽ}ößÅäZZFŸ;÷êÀ§ÊJ¿ÄDŸÊÊ›˜ää¢mÜ[X¸üìY÷„„·sçÆ {Éή¶±9õèëÂ…¥¥ßž81-"âß§OË©T†=:õÓØ$lY|x­Ê–hn®Q]Í[½:!8Ø–ÅZyçΜÊʇsIIï„u ò„ 1,Û›×uî Kxš€ÏS^^ÞìÙ³ ÓÒÒž?Žòx¼uëÖ\%&ÆMG‡é﫤¤!t'?¿vÏžÉ..ØL²‰‰ú™3n†ùùÝjÑÔ’%¦66 ²“ÓW×a©©¬òò÷-Ù¸ñnu5/"ÂÁÙyÞHLŒ+—Û$abZ–<<ÉOÇå68à„÷;nœvt´kc#õêɯm‡ºš€ÏPvv¶··wee%ŸÏ—““;~ü8BèíÛ·sçÎMJJ:vìþ¬нz(Óúã?B®®®Â*•êèèX__óæM„ÐåË—‰D¢è¶ÚÚÚ&&&iii¢MYZZ _<!TTô~°áÆ¡©S§ +hhhŒ1B Ŵ,yx’Ÿ2ŽÁ`ˆîÀkjj:`À€ôôôââb ÃîPwâO³[üñÇk„«ë0‘HHŽŽºõõÍ7oæ"„._Î& nne ­Í01QOK+)(`ªŽH¨ ¡¢¢÷p¹q#!4uªž°‚†}ÄU ƒÓ²äáI~Ê8ƒ½Ït‹ž¸³€ÇãÕÔÔÈËË+((ˆ–kii!„X,^!¤¤¤ôéá¯_¿}î£h …‚Â7;àñxl6[^^žÉdŠ®¢¢"aœbZ–<<\»§,,ùt·MMÍ¢¢¢ÒÒR$É»sšÝ‚Çã×Ôðäåå(GÂ@±X\¼BHIiß§‡¿~]5hЇSPRúÐ…BBá›ðx|6»Q^^ŽÉ$‹®¢B•0N1-K®ÝS–(+· OS“^TÄ)-­ÓÑaH¹ä݉9Í~,§"'ânÄÃw«ê«ø>BHªðxÍcôñS¨ï­º'ã@{½GæDÏ95®µhyìËØ€+! ‰òâ»=Öo½,}¹;iwZA_À=pôjÛÕÂçŽwTbNbp|ð»šw™ßgvc„ÒöàÁƒo¾ù¦©©‰Ïç Â/¿üòõ×_ûûû“Éd1‡ƒ®è‰L‹J¥*))ÕÔÔ°ÙlÑTŸÕÒÖÖ¦R©ÊÊʧ¾¾¾Ó·•R©T6›ÍápD“­ÒÒvÖ2KÒrGÃk÷”…%†„kj¾üý¨ëÝI•JRR¢ÖÔðØìFÑT ¤„‹ÒÖfP©$ee*‡ÓT_ '×É!U*•¤ @a³9œ&Ñd«´´NÌQ¶ÜÑðÚ=eaIEE†!ÑïXS“Ž¿•à«î@wŸ¡‚šÏß=(80뀱¦±ÜysgÓMø§K¬—,±^â~½’[)Û8û„[¯o)Ó”Ç ×¢ÜÍØÍÍØmÁ™Þ=êÉ~»"½8ý§þçhèxséM2‰–6ïÔ¼cÞÇlõ:6„ó¶úmp|pQmQy]w®¸è ß~û-ŸÏoñ»º¹¹™B¡¬\¹Ò,©ê¡ÙC|…ÝÕ«W…%<ïÖ­[4 Ÿì›5kVss³ð¶;\hh¨®®.>Î)‰éÓ§£ÿæq,+++«ëñw"¼vO×ÐКš*|ûìÙ³¢¢"sssá€NollÄ_>|¸+Ýõ€™3 BW¯¾‰„ëÖ[MŸì›5kxs³@xÛ.4ô¡®nTs³¤£kÓ§ë¡ÿæq,7+«ªëñw"¼vO×ÐМšúaRøÙ³ò¢"޹¹†p@‹N'76¾ÿ¹idtìðá§]éî3tæÉ6½eÊ–1ÇÐÈ4…1}Äô´€4YÇÕ'Å¿Ž·×·'H}½_&Øpuƒ¢¼b¨k¨&SS…¦²mê¶!ªC‚®5ò;ÔÔÞ;{Ç seѹ/ý¤ùóÏ?W¬XÑÜÜÜêôECC¾øHOeZ!!!zzz±±±l6;++kÞ¼yÅÅÅø WHHˆ¾¾þâÅ‹¯_¿^SSSYYµmÛ¶°°0ÉG¹vìØ¡ªªÇáp222-ZÔ-#:¯ÝSÆ)))mܸ199™Ëå>zôhþüù %""BXa̘1YYYïÞ½KNN~óæÍĉ»Ò] ™¨§§›Ãf7feUÍ›[\̉ˆpÐÒ¢ãôõ•/¾qýznM ¯²²!**}Û¶ä°0{ÉG¹v온ª*—Ïá4ed”/Zt£[Ft:^»§ŒSR¢nÜx79¹ˆËmzôˆ5þU …á ¬0fŒVVVÕ»wìää¢7oj&NØ•î>Cy•y¡š’.ÍmÉ©ÈÉ­Ìu2têý¦¾K}]þzšÑ4y9y¼„D$¹»×'dwì~”—å6Ë{>ûìŠS§N­[·N `Xë+0 ;|øpoxâH?&­ý´®\¹‚¢ÑhøvþÚÚÚ©©©sçÎõ÷÷WSS³²²âr¹ñññK—¾ßüZSSóáÇ«V­Â—±_ºtéÊ•+ÞÞÞ¡””Ñ67mÚ„"¡¡¡! |­º¾¾~rr²¥¥¥§§§–––¯¯oPPžž‰Dj+6 [^«Ú=e“ÉÜ¿ÿÖ­[utt&M𤢢’`gg'¬nfffllìããall܉+,áivü»Î&®\ÉFÑháóç_Eik3RSçÏkì¦ieÍå6ÅÇ{/]jößwMøp¾‡‡áªUñ¿ŒqüÒ¥Súî! IDAT×W®xx{!„RRŠEÛÜ´é„ú!dañ;þ@}}åääÿYZj{z^ÑÒ:àëûwPµžž‰Dl+6 [^ßu;§üßwMÞ¿ßqëÖû::'M:£¢"Ÿàmg7X仞lf¦al|ÜÇ篈ccµN\a O³_j4#„($J»5xñ¯ã)$ʤa“úA¿ÉùÉ!SSÑBSmSáG’æj}ÅÁƒüñG|“ ¶ê`VPP€o-¤„ æ hýáìÙ³b2ŒÞfĈõõõùùù²¤£G.//oëîÅ^…@ ìÝ»WÖˆ3bÄñúúæüüe²¤£GÿV^^_P°\Ö´ ¿»ûüùó]l§¤¤„Ãw‡£þ¾}%..Ýyd\VÜŠK+Úút–é¬]®»ð×ø:-Ññ•u•‘÷"oeß*a—(P,[úÙúk·h6qEâ®Û»îæÞ%I-6;mÖUÖÅ?âcü¯nœK?—Y–Éæ±‡¨ ñ6÷^0v‘@lÑHÒŠ¤ÐÛ¡‰9‰9ŠÝ0»ÿsþ?6½-n[J~ ƒÊ˜¬?ùdž$±µÅh—~+@[Ôê)~)b* „¼Oz+PŽyÃßæTäüœøsÊÛ¾€o¢eh¸ïŸ}Þ=]ßV¨µ µcÂÇ«­™´æÛñßò1¾QèûŸ.ÓŒ¦EÎŒlѯ„W^4¶f~ópá«&¬úõѯ÷óî#„¼Ì¼B\Bü.û]uýäÜ“6Cl„G½,}é~Ü}üÐñ¿Ïù]ò¾„&DN(¯+ïÍ+â¯^e¬^½¡ŸBD"‘H$"„Z<-—L&+**ª¨¨¨««O™2eÁ‚2 ·Ò××o¿ÒúÕSX,ÖÈ‘#KJJ„‹ûòòòrrrà1™ý‹Å9òDIÉJ2ùý V^^MNNõüù#e çáÎÙ²—_\ÿ:þyàsªÜûÛ<«ê«,#,ÅXÊ)õ:éÅkæítÙi¥kUXSøãÍ=÷Œžm1ÐB´Ùàø`ß/|C]Cÿ-ü×÷‚oÀ•€K ß&å$­¾²:Ð.pŸÇ>&øëÅ_ÁñÁ,6kÃä -bÛ‘°c…ÍŠP×Л™7c«ë«É$òšIk†¨ ¹’qeóÍÍ ãÇ$‰­­3êú?ÿuOŠžl²›_•ïuÒ‹&G‹ôˆ3hÌ»êw! !o«>zêƒøP³7d/>·øŸÜâ}ãñÄ…D eoÈö:éµ`ì÷‘îŸö+á•o[aMap|ð«ÒW¢÷E²yl„òÑÄ:LGÕÔ×HÞW"bcw tÓÌÌLCCCUUU]]]UUUå?jjjªªª4MÖ‘~.úÛs«ªª|}}ß½{WWW÷ðáCEEÅÍ›7Ë:.Ðýªª|}ÿ~÷Ž]W×ôða±O¬¢"eóf›öà?aIa…5…6ÚëÛÓÉtCuȆmÛÚ¢¦·¹·Å@ ™6aè{}û§ÅO«ê?Üa­k½Üf¹’¼’ MÏ~Mý•Ãk9nçeæ5J{Lóåa¨n˜ô&é«oŒ5édú\‹¹ƒ”%½ù0‰#ylÝ+!;C˜£¡£0ŒÚ†ÚÍΛmõlédº‘†Ñ.×]¥œîén7Ô%VK˜à؃cÂCÒ ÒJØ%.Æ.mõ+$æÊ·ˆÍPÝpï—{ë›ÚßžCjíÎnñßr_A$ÝÝ@(óÒ¥KQQQ!!!ëÖ­[´h‘‡‡‡™™ÙÀ!ÍêIý*ÓÒÖÖŽ¯®®Æ<}ùå—†††>6lXû÷,ü™†ééé………_8$§­Íˆ÷®®æMštFE%òË/ÿ04T~øpþ°a­ìy&[ø3 ÓÓË 9B¾p ôqYqDÑÁàÃ} L Cuà V‹ýÑFtf:VÝé(ê „JØïŸ¾à`àpjÞ)ÑÊÆšÆÍ‚æ×å¯[t'ºZHKA !4J{”°D[A[Øf‡bë^qYq¦Ú¦šÌ÷ÍÜys!$ºvJ“©©§ª×âñ¡Ž:~¤ÖÈK—ªëß?|óȃ#‹,‰®.oѯ˜+ÿilªtÕaªý…¯@U@Õ5~´ ž)Ê+JÞÖ¯fBŽŽŽŽŽ-õB²Ž¢ostÔutle Eoh(n ÈJ#¿ŸZ½wô§ŸæUæi+|¸sÿ‡/ºÇÇEBlûØÃcgýÍb³jj…Õ>\aR>lõG@‘D#Z ˆLЉØDuqV}Sýý¼û+ǯ†ÁmäR卸t›C-·2·C¡~cõͺ¿ÖEÿ½jªÜÊÜÔw©»Ýw·Õ¯¨¶®|[±)Ñ>ú¹¥¯¦j‘›²jY¡ù¢˜¾èŠþ–i€„($Š¢¼"—Ç}ñý‹®Üº¿ì²Ôw©›6»tW¡©„©'~ºõSWþ‘îtl]\§u/ï^CsƒpŸ ‰Â 0¸Üº¦:Ñ„F84%y¨n#ÝÂ’ÂN¦\öŲcùŒö]ûߢ_I´[·B´Úº_DÞ‹Ì`eÌõáÁɬ „èy¤§_Í@‡L5šÊÇøiín•5ñÀD>&ndHˆ/৤i05Ž[¨JWÅ—þðšy½!¶Nˆ?Xyðpá»avè¿y:\U}•p@KòPIÒ×ã¾®¨«8öðXìËØ…ãŠïWŸÆVÆ)k›•®•ºÁõW×…_ _À}«£¨3Yr‡º s Ó|¾íu•u×_]Ÿô&‰ÍcW×WŸ~|:ò^dC„#I$"ÉZ׺ŒSväÁ‘ªúª†æ†”ü”˜Ç1½!¶Ž`‚„ì„KöÊ4åíqÛÿÉý§®©.»<{íŸk[LØIêœÑs¨ {îìq6tÖb~ØQ¹Õ~%Ñ"¶¬²¬õ×Ök05Dë Ä.;kjÖ_]_Æ)«®¯Þ·%¯2oÇôÂ{Tªþ¿Ÿè}b?-Ðýi?­&3v»ï^tvÑÝÜ»ÂB'C§ø×ñ·+ǯ\;i-B¨º¾úÀýq¯ãŠk‹åGj\j½tÂÐ ¡'EO<÷lqˆÁNaÉdƒÉG6iH+Hó‰öùôéι•¹»w%ç'ã{VùMð;ñè„èžU’‡z;ôȃ#±‹cE·òÿ´_ ¯¼hl|ßXÓø;ûïÂï†?-~úlÝ3Ñ~_”¼Ø´;­0M ˜0˜ |´ä}%d',»Ðr»¾Ówx›÷º¯]cúûkegçÈ:~«CûiA¦$™V¿×§3-Ð-Bo‡žzþÿƒ~àL÷ö;åÈ”†¦†;+ï´_µÿ‚LKÚ:”iÁì!„Šo7ÌN&O•î\¿eœ²±ácñ§0á j ò+óa©;èU:3¦%¥P²5hРwïÞu±Ó=¦ŒSfiãiæ¹Úvµ2M9«,k[ü¶üªü?þ1XypûÇ÷_0¦%mR‹‹Ëðá»Côuááá ¿û±½††°m4èK4˜¿Ïù=úßè¹§æ–pJ”ä•& °÷˽Ÿyšz›ÎdZ .„uZŸ›ððp„l‚ï½;¯¦&ëè ñCÇ:^ÖQ ¬ÓÈ´¤2-iL @Z ÓÈ´:#,,Œ@ „AƒÉ:ô^i!„PSS“™™™­­­„õ1 377—jTèë ÓzO YG€~¥3;—ö?d29##CÖQd)öelÀ•„…DyñÝ iw—·âÒ üõóÀçT9ª´{Â0ìßÂÿ|þç½¼{…µ… T=U½yó¾ù¥ðyk5 5W_^½öêÚË’— Í Ú ÚæÌ—Z-5Ö2î±8è`L ÐÔ5Õ9F9.½°´Ó-¸»eoÈî± Ç‡;goÈv2tê™îD½©|ãí“W•93òÉš'\ 8`Ý_ëvÞÞ)¬³3açÖ¿·::ÝXrãÑêG;]v¾(yáñ›G\V\Ï @Ÿ™Š%ü§¡¡AX^QQ±víZ}}} …¢¢¢2}úôÛ·ozø«W¯\]]•””ètúäÉ“ïݻ׃±ÞÃ0L€õÞ5¦»M}¢}dÅ$iŸÇ¾š#¨rÔÁʃw¹îR¦)ŸL;ÙÈoÖñ2÷úzÜ×L ™f9Ør¯û^¾€z;T†aÐA¦…ÜÜÜ0 ›1c†h!‹Å²´´Œ‰‰‰ˆˆ(//ðàNwttúy§¥¥…b±XÂ55µ?ï455‹ŠŠJKK!Ó Çà«Ë—_\ÿ:^XXÆ)ó:éÕÐܰcú«ÁVeܲ°¤°¯Î|õÓ´Ÿ¼Í½BùUù^'½hr´HÈ1ƒÆ¼«~’ò¶ê­hË¥œR¯“^¼fÞN—VºV…5…?ÞüÑówÏè¹Ñ-–X/Yb½Äý„{^eÞöøí6ŽÐ‘]žt=hþéù¿ÍùÍj°^Çt·éH­‘gçŸm5þàø`ß/|C]CŸ=YqiEÀ•€K /‰9߉Z§ýrÿ—½wö"„¬u­Î>8\cx[5˹å?'þìmîí2Â¥[ºà󳇭 R©JJJ l6[´Ÿ7ÔÖÖ–ÔÔÔ´8¶´´!¤©©)ý0â„%…ÔlrÚä`àÀ¤2õTõö~¹Wƒ¡±-n[9·¯PÛP»Ùy³­ž-L7Ò0Ú庫”SÚ¢‘šÂíõíédº¡ºaÄŒ öÆm­VßT¿mê6‹42ÍTÇt·ûî&~Óöøí†êmîk3ÄÆÁÀáiñÓªúªîºb|;þÛ—ß½¼¹ô¦¾šþ—'¾Œ¼ÙjµêúêEgYëZoŸ*é„ ÓjÝÌ™3BW¯^–ðx¼[·nÑh´©S§ 9Nzzºðí³gÏŠŠŠÌÍÍa@ ™û;ëo„ÐdýÉ ‰2~èø†æ†»¹wBwÞÜAM6IXA“©©§ª'ÚH\V‘@t0p–h05 Õ 3X,ö‡ám™†Ï'âŒ4Œ4™š/K^¶ÈÛÚb¦c&|­ÅÔB•°KÚ®ÞÈ$²¾šþ¶©Û Ãï†ßËky÷t}Sý×g¿6Ô0Ü㾇D$õLTô'0{غ¤¤¤€€&“iggW\\T\\…Ï!â ƪU«ÂÂÂFõòåËo¾ù†B¡DDDÈ0rB¨‘ßÈæ±©rT…!Z®ÎPG•qÊùÜF.UŽJ'ÓE+¨1Ôr+sEAÞ;úÓ.ò*ó´Þp+R[|ªFW+å”Vp+4™íp‹®C'ˆ! ‰»¿¯×i 98üõ÷íìÛ†Nò1þª?Vi1µ~vû™D€4 €Î€L«uÚÚÚ©©©ÁÁÁþþþt:ý‹/¾ˆwpp@………}÷Ýw¡îÙ³gýúõ©©©|>ßÊÊ*!!a„ í5. ‰¢@U`óØÜF®h²…Ïj05($ ƒÂà6rëšêD“­êújÑFå¹<î‹ï_ˆÏ3ªª1 ]µYQWRc¨áo ¨;ï×ë®uZ¢($ B¨º¡Z´pÓMüƃ³ OßáÞ/÷ŒÐJê h̾Ççó‰D¢œÜ‡ÔSMMmïÞ½oÞ¼ill¬®®¾qãžf¡ÿž0aXAA¥¥eBB›Í®««KLL„4 €^bÊð)¡Û96nä7ÞÏ»//'?Qo"BÈn˜úoWU_%ÐÂM5šÊÇøii¢…Q)QLäcF•xͼ§ÅO…o3Ë2K9¥ÆZÆÂ-™ÖÄoÂ_;v>óäL7eg„$„¬ûk]‹Â¤7IèãyÌ}ÿìË*ÍŠòŒÂ“0@ç|ÖcZ£FŠ:t(B¨°°PWWW4ÓôivÞ>ަ“éÖºÖ¥œÒ°¤°2nYð´`|1Ð>ð~þýíqÛ™æ˜AcŠjŠ~ºõLÇg ?4’ÿ`ýÕõ[¦l3p _À¿þêzä½ÈP×PÑQ.ªÂî;»×L\#¼÷L"ovÚ,¬`¢mò¸ðqqm1‹Íz[õÖr°eO^ŠOýùâÏ¡*CgšÎÔdj–rJcÇ\y~e”ö(ü®L„ÐÅg÷ý³!d¶ÛLlK€v|î‰ÅÏ?ÿšðäÉ“Y‡è Ñý´LÂLf˜ÌØí¾[ƒ©qùëË¿Üÿe[Ü6›E#ÓFýûœßm†Øà5u•uÏu~Wâ®U—W5ó›‡k ÷›àwâщûy÷ vx™y…¸„¨ÑÕ.-¼tàþ-o)®-V”W©5òÐìC¢‹™Bt2ýGçƒãƒÿ-ü—/à›é˜EÏÆ÷ÓÂmrÜô晢LSþ¿)ÿ§¯¦ÿ¤è‰çïžÂ˜WŽ_¹vÒZ|Ã-„ûq÷É“x‘Æåò›àg npí嵋Ï.–pJÈDò0µav_[~-/'×¹‘yC]ð"tô¹ áìÙ³ÞÞÞR ¨'=xð`ýúõiiiÚÚÚß|óÍwß}G"Á’ÏÖ„Î"Ô¾wÐ/OOtþüù.¶RRRÂápÄT00Ðß·¯ÄÅE\¾Åý„{%·òÞ*xæ)è-®]cúûkegçÈ:~K___òÊŸõ˜–µµubb¢¬£@¿+â¤2-褣Žì4xYò²„Sb°Ó`Ï=²ŽÐë|Ö³‡Ðø3 e Wƒ1-iL @Z Ó–άÓZ±bźu-Ÿä>K‚ォÈÊ2”u ÐßÀŠx ©Ñ£‡ikkË: -Ož<‘uÐu&Ó:xð`ÿØ#HŽ@ ,^¼ØÅÅEÖiYµj“É”uÐßÀ:-iL @Z`ô7±/c® „($Ê‹ï^È:>k0¦ý›±[ö†ìñCÇK©ýº¦:Ç(Ç¥–J©}úÈ´t †aL D Mw›úDûÈ*$z-˜=Ð1 ãöòÛ²Ž€¾Æ´¤Æ´BˆÃáXXXÅÆÆÊ:@‡ÅeÅ­¸´ý÷Ò¿÷ÞÝ›œŸ\]_;hlZAþÑØAcÏÎ?‹ºŸwÁ™‡=;8 „‚ãƒ}ô+^'s}&‰@ú´ £]F|_L ê õ¿”ކ—º:UQ^ñÆ«çÒÏe–e²yì!*C¼Í½Œ]@$[›¸"q×í]wsï’ˆ$‹›6ë*ë {É©Èù9ñç”·)|ßDË$Ð>P4†å—Ç¿Ž—ü:DÎŒ\õǪVcÞ1}ÇÆëñž>§ÊQ>8ºóöN„PZAšÁN„‰HÊü>¯SYWy/òVö­v‰UÁr°¥Ÿ­Ÿ±¦±˜‹ @òÙi1™L[[Û…† -×ú çáÎÙ² B›nlš?fþÝ•w/.¼H"’Í>´uêV„Ð÷=xzºòüŠðB›œ6œupüÐñÙ²[M³B™ßgfoÈó_[i–øðBI9I«¯¬¶bssé;ýgÎè9;níØ•¸ëÓcƒãƒY.º¿ê~ÄŒˆä¼düîB\~U¾×I¯gÅÏ"="ø?Ø:ukä½È·Uo…:z¦Mk+fÑpK¬—doȦ‘iců†0Í*å”ÎümæµW×¶NÙúïšcþS]_íù»çãÂÇ|±ôŸ]¦Õ*…œœœk×®É:@WùÚøZëZÓÈ4sóÌï3Uh*®#\É$òåç—ñ Í ñ¯ã‡¨ ¹õú·‘‹þ‘ñÇÌQ3eBÈZ×z¹Ír%y%šÊ‚± ÜGºÿšú+‡Çiq¬·¹·Å@ ™6aè{}û§ÅO«ê«ðÂ’Âjj7;o¶Õ³¥“éFF»\w•rJEïôuh5f …%…ÖntØh¯oO'Ó Õ #fD`¶5n«äЧA¦èWÌuÌ[”(Ó”íõíïåÝ+ã”!„â_Ç›0Ÿ?f~CsÃÍÌ›¡êúêoL5š*“ð NÍ;%Zb¬iÜ,h~]þºEM33ákE„P »{çÍ„Фa“„4™šzªz¢‡wú:|³äâ²âˆ">;‰Ó`jªf°2XlV§› éÎL«¬¬ÌßßèС ECCcÖ¬YÂgÖÚÚÚþ3þ|„“““°¤ºººÝpk×®Õ××§R©ƒ rrrúõ×_ëë냃ƒñ¦„3ƒ7nÜÀKÔÕÕñ’°°0ÀårïÝ»‡$''‡º|ù²0’†††Oû¢P(***Ó§O¿}ûý½6¢‡äååùøø(++«©©¹¹¹åä䈿J¯^½òððPRR¢ÓéVVV±±±ÂK±dÉÑ–333½½½ÕÔÔð·ååå⣒ü"„Aƒ¥¦¦:::*((ÐéôÉ“'ß»w¯ãß9½Lû´p標|ÿ¯—!„.g\ž9j¦ûHw‘ôç‹?B±/c'L¦“ébš5Úed°Ó@Ì_ìÿ¢sá±yìð»á.Ç\Æ„Á›Â×<Õ7Õ·¨©@U¾¦(! a¡F~#·‘K•£¶85†Z·\‡V/©$ùl[€ Fï-z­ž—ZÅ©¤¤$|M¡PBmíÁãñØl¶¼¼<“É-WQiýFÑyÀŽFÕ.|ÆV”¦¦&B¨´´´µêôjOŠžì4À÷‹2 3Á·tjÁb ÅP•¡X ~ÿF^N~šÑ4„´ï:Þ>}s-æþžö»Í~ûƒödüñ¥É—¡…gzüêÑâØ=wö „ vD¥D!„Ü»ãÔUÖ=ÿÕy³f«.¯²Š°úþê÷ Æ.0Ò4jä7ì4ºÔÑë &測8ÑÖýµ/ßä¸i„æˆ)G¦ø_ñÿ¿)ÿ§¯¦R£«]ZxÉÙÐyËß[,#,§™r3ëæ¡Ù‡\F¸tûu wêžK©Tª²²2‡Ã©¯¯Ç—™·%11±¦¦ÆÔÔtåÊ•ææææææ’· ¤¤TSSÃf³ÛJ¶ˆDbcc£h‰p­½>8ßîé´Ú>C§­­Ýn m5«  Àf³9Žh²%ar#aT’\„PEE†a¢WÏ·è[F½!»Ýjñ¾ñ-JB]CC]C¥ÔâÃS¡©lŸº½Ea Ý‡}G?=¶ÕÖôTõÎ:(Z2Ù`r«=JrÄÄŒï§õiù0µa§ÿwúÓrešòFÇ7¶Úý^· ˜Ïš5«¹¹¹Åýk¡¡¡ºººøÂs„Pnnî7ß|sñâÅ?ÿü“F£Í˜1£¬¬LòfΜ‰j±ë•……Åš5kð×:::………ÂX,ÖÛ·oÑÇètº0122:|øp«§ƒ÷uõêUa Ç»uëFûë(|êŸC™••%áá’D%ÉE@544¤¦¦ ß>{ö¬¨¨ÈÜÜ\GG§ç±º-Ó Ñ××_¼xñõë×kjj*++£¢¢¶mÛ†Qq8ððð‘#G:ôÂ… EEEžžžMMM¶¢§§·fÍš«W¯²Ùì‚‚‚•+W 3­)S¦EFFr8œœœœÕ«W:B3f̘¬¬¬wïÞ%''¿yófâĉmŽžž^@@@ll,›ÍÎÊÊš7o^qqqDD>[×9;vìPUU ˆ‹‹ãp8‹-’|L’¨$¹!%%¥7&''s¹ÜGÍŸ?ŸB¡DDDtúÔð©nË´455>|èáá±jÕ*|•÷¥K—®\¹âííZµj•‚‚ÂÓ§Og̘‘‘‘Q^^nooßÔÔtçÎ …Ün !mmíÔÔT???555++«ªªª»wïêê¾òWppð’%KvìØ¡©©ùõ×_÷ÝwÚÚÚaÆ xððp333cccŸˆˆccc| «+W® „h4¾ÝÞ×ܹsýýýñ¾¸\n||üÒ¥KB)))¢‡lÚ´ !D BCCB¢ëúEéëë'''[ZZzzzjiiùúúéééá›8|Úr‹¹NñQI~BL&sÿþý[·nÕÑÑ™4i’ŠŠJBB‚]×þ_€0LÒ-[Þ@ œ={V˜ý€®1bD}}}~~~õ8zôèòòrá=¡’ ûöísqE¬ýÖªU«˜Læùóç»ØNII ‡Óò12¢ ô÷í+qqWÐ×®1ýýµ²³ÛÙItš¾¾¾ä•ái<=ŠÅb©ªª 'LByyy999bŽ@™VO«ªªòõõ}÷î]]]ÝÇ}||7oÞ,ë¸Ðý ÓêQÚÚÚñññÕÕÕøÒ¨/¿üÒÐÐðáÇÆ ë™ð禧§|…¤¤{öÓ’sttttt”Uïí×@w€1-iL @Z ÓÈ´ýþ,dü?^3OÖá „PìËX<ž‘?ì™s¢œŒvõLw€ Óô[ø³ dÈnÆnÙ²Çß}½­~»ì²°¤°òºòèЪÎÜ{˜œœÜíq€ÞïñãDzH‹Å200u]bºÛt¤ÖȳóÏÊ:Þbï½cŽ98ûà¤_&Õ7ÕË:>SÉ´ÂÃÃÃÃû=ÐË8qâĉ²ŽHQ_Ï´@ !.!òrò²Ž€Ï]‡3­Ž>'€L@š@o;—ú¼£Žî¼½!”Vf°Ó!D"’2¿Ï­SÆ-Ûu{×ÝÜ»$"Éb Åf§ÍºÊº¡¸¬¸—Vàuþ^ú÷Þ»{“ó“«ë«B©«SUh*•u•‘÷"oeß*a—(P,[úÙúkã‡ð1þW7Î¥ŸË,ËdóØCT†x›{/»€Hø° 6§"ççÄŸSÞ¦ð|-“@{‰v6ÚeÄðÅTPg¨§ø¥H~•2™ Ï[b½d‰õñë´‚ãƒ}¿ð u }RôdÅ¥W.-¼„þ[5¿üâòø×ñ›nlZ=qõ.×]YåYÞ'½B¥œR¯“^¼fÞN—VºV…5…?ÞüÑówÏè¹Ñ-BI9I«¯¬´ Üç±O€ þzñWp|0‹ÍÚ0yÞo~U¾×I/š-Ò#rÌ 1ïªß…$„¼­zÛîIµÈ}Ü{ø,x›{[ ´ ‘i6Cl ž?­ª¯jQÇׯ×ZךF¦™ë˜g~Ÿ©BS K +¬)Üè°Ñ^ßžN¦ªF̈À0lkÜVáQÖºÖËm–+É+©ÐTŒ]à>Òý×Ô_9<þiXRXmCífçͶz¶t2ÝHÃh—ë®RNiÏ9@¦ Ó|ÌtÌ„¯µ˜Z¡vI‹:æ:æ-Jâ²âˆ¢ƒƒ°Dƒ©a¨n˜ÁÊ`±Y!‡SóN‰b¬iÜ,h~]þ{çÍ„Фa“„4™šzªz]?#@Ÿ³‡€Ï‚UAø_D…¡–÷÷ÐÈ4Ñ·üF6½wô§ æUæi+h³yìcýõ7‹Íªm¨~ŠïªÐÈoä6r©rT:™.z¬C-·2W|À°N €þ2-@?A@„îmB¢(Ê+ryÜß¿ H­ÖYvaYê»ÔÍN›ÝGº«ÐT‰Ô?Ýú Oã($ ƒÂà6rëšêD“-|Žx°N €þfýLkâ7á¯;Ÿyr¦ëmN5šÊÇøii¢…Q)QLäc|¾€ŸV¦ÁÔX8n¡*]•@ „Z<öÇn˜úoWU_Õ߀L ÐO˜h›äVæ×?.|ü¶ê­å`Ë®·h¨«¬»þêú¤7Il»º¾úôãÓ‘÷"ƒ‚H‰H²Öµ.ã”yp¤ª¾ª¡¹!%?%æqÌG-Ø*Ó”·Çmÿ'÷Ÿº¦ºìòìµ®m1™èǰ) •””p81ŒŒ†……•º»‹«Ó9o*Þüp㇠V†2My¹ÍòÿYüïIÑÏß=…VŽ_¹vÒZ|Ã-ÜdƒÉߎÿV´B({C¶èÛêúê÷ĽŽ+®-V”W©5r©õÒ C'àŸVÕWí¹³'1'±ŒS¦LS¶f§ÁÔ8”|!4J{Ôå¯/#„r+sw%îJÎOnæ7×î7ÁïÄ£÷óî#„¼Ì¼B\BºýRಖ]XÖ¢pÇôÞæÞRêôýÅ ÔÌÌ|#ë@ú-}}}É+C¦èNífZãÆ ]»¶rÞ¼Z1u]qê”âÞ½ªåÉ:~«C™ÌzÔàÁ͹¹dYG@–—G2¤YÖQ€÷ Óô(Þ“'ð<>¤èɪ±1¯ýz G@¦èQ'Ö=}*_^Þú¦ €.*+#¥§ËOšT'ë@À{iz”]“)¸pAQÖÐ?]¼¨¨¨(€L«÷€L Уäå±9sjWª©¿èf55ÄãÇ•||jååáv·Þþ¦ô´•+«ääÐþýª²€þfß>U-_Þòéé@† Óô4C°fMåÉ“ŠÏŸSe ýÇóçÔèhÅÀÀJ¬c@¦Ù³k¿ø¢Á×W»´ž¾ @7(-•óõÕþ⋆ٳa³ºÞ2-€ ‰hÿ~ƒùúj××Ã_DtI}=Ñ×W›ÁÀöïgáÏS/_@6GŽÊÍ›7F¶è´ÒR¹yóÊ9R¬¨ó†½dZ™ÑÕmºp¡°®Ž8kÖ@X³@'<N5k`]ñÂ…B]Ý&Y‡Z™@–tu›ÎŸ/00hš5kàöíê°õª©!nß®>kÖ@ƒ¦óç Íêµà Ó€îÔî¦[% ‹ÃÂT1 -^\3{v­†_áД•‘.^T<~\‰@@•³g×ÂÚ¬Ö¡'LC¦èNË´pl6ñÐ!•³gkk‰ff  C‡6)) HðäðÙãóQM )/Oîñcù§Oå>>µË—WÁ†2™@fº’iáwîÐïÞ¥gdPß½“c³I|Þ’±Ã!„–É8ŠÏ‘ˆƒ7™˜ð&Mª³³«£RáŸo™L 3]Ï´@oãçç‡Ú¿¿¬ ·èP¦S»Ò™€´@¦ -iH dZÒ™€´@¦ -iH dZÒ"'ëý •J•u ›ÉÉÉ!„˜L¦¬ O‚L Д••eèfòòò!---Y@Ÿ³‡Ò™€´@¦ -iH dZÒ™€´@¦ -iH dZÒ™€´@¦ -iH dZÒ™€´@¦ -iH dZÒ™€´@¦ -iH dZÒ™€´ÈÉ:½Ë;w’““…oKKKB¡¡¡Â›I“&É 2ú È´|¤©©iÆ d2™Hü0ï‘’’‚MMMñññ²‹€>†€a˜¬cЋmmí²²²V?UWWg±X$©‡£ ‚1-@wª®®æñx²ŽtÕÌ™3Oœ8ÑÔÔÔ¢œL&Ïš5«¼¼\&QÐKhiiI^2-@wâñxGÖQ€®š:uêáÇ?-ojjš6m|Åà3סL î=Ð’¹¹ùÀ?-×ÑÑ155íùxè» ÓЊ™3gÊÉ}4ïA&“=== ‚¬B /‚L @+ÜÝÝ›››EKššš\]]e}dZZ¡¯¯ohh(:‚ehhh`` Ãè‹ Óк™3g ws““›5k–lã /‚L @ëÜÝÝù|>þšÏçOŸ>]¶ñÐA¦ u:::£G&‰ÁÂÂbРA²Ž€¾2-mòðð D"qÆŒ²Ž€> 2-mrqqAa6mÚ4YÇ@Ÿ{Äz—†BRýî]úóçÔwïȵµD@Ö1}îœBÖÖV²ã³F$"EEÁàÁM&&¼‰ëììêäåá±Å}dZ€Þ‚Í&:¤ræŒ"‡C43k°´¬÷ô¬UVað]¦>t#––%²ä³& êjb~>ùñcùóç™LÁœ9µË—W)(À‘ÞŽ€aºMIII'Š' ‹ÃÂT1 -^\ãéY«®Î—Fx ¸\.BˆÁ`È:ð^y9éÂÅãÇ•X9{v-üéaúúú’W†L Ð:‘iÕÖýýµ““åçϯõ÷¯TR‚ßè´¯¦†¸oŸjt´¢Mþ},EEøƒÓs ÓÈLG3­·oÉK—êp¹„¨(–‰ OzÐ/=NõõÕf0°#GŠuu›dÎç¢C™ 8dæí[²§ç@:]péR!¤Yt‚‰ ïÒ¥B:]àé9ðí[²¬Ã­€L µµÄ¥Kulމ)ÒÔlnÿ@k45›cbŠl^ºT§¶þYïuà+È€@€üü´ñIC Ö—Ð%4š *ŠÅåüü´aW”Þ2-€ \¼¨˜’"Å‚Ñ,º…¦fsT+%EþâEEYÇ>™ §q8Ä={T,¨…µYt#ÞW_Õ†…©Âb¯_ §<¨Âç£U«*exïÁƒ"Nœ8!ëˆZÑ'‚”9?¿J CQQ*²|™ G54ΜQ\¼¸öÍê=¬­­ÿŸ½;kâÚû~’@«ìŠ "( *PE´EQ|*X­µjUpßèu+µ.ÈR”ꥶV½¶µ¶½.ÕºDpÅE(„€, lIžÓÓˆˆ¿ïç¾HNÎÌü&¹-ÿÎ9s†ÇãõéÓGÕAZÒ%Bªœ¾¾xöì‡ëÕÕÑTþ†J :Tjªvu5}òä*UPO“'W ô ´Uþ†J :ÔÅ‹ÚÎÎuxØ€’‹œëPiu¨´ CÝ»§éêZ§êêlàÀº¬,MU§€¿i¨:¼[ ™ÖÖ:”·gÏž¨¨(éÛo¾ù¦  à÷ß/**‰DGµµµ=qâÄñãÇ ž?®¥¥Õ£GaÆ͙3ÇÜÜœròäÉeË–I÷°nݺû÷ï_¾|¹¢¢ÂÌÌÌßßéÒ¥ZZZÒß~ûmzzzMMM÷îݧNÚ^QœœJJJvïÞ}áÂ…ÂÂB±XÜ£GŸÐÐPCÿgj …–O§!ßq½z5=ª«êð7\Ó€%Ðð(ÜWÍ™3‡Çã±ÙlêíŽ;444Ž?¾yófªåÀk×®õóóKLL¼víÚܹssssüñÇI“&UVVBÆ/»‡={öÌœ9“ËåŽ1¢°°p÷îÝqqqÒÃ]¾|yÊ”)ÉÉÉb±xÿþýÇŽãóù>l—¨999þþþûöí«®®>qâDbbbccãÞ½{'NœÈçó<6†|Çéé‰ü}ï,ðK@‡‰h †ªCtz¦¦¦¡¡¡úúúAAAT£››ÛÌ™39ŽÁ¢E‹ÌÌÌ!¥¥¥\.÷Õ=L™2eÀ€:::ãÆ£Zd»mܸ±©©‰òþûﻹ¹ééé-_¾\C£5£¯F]³f U-}ðÁ½{÷¶´´?~UätÚ7$€ áš@§Ãb±dß\¿~z½bÅ é¼ò֑ݼ®îå} µµµ­Ø›\T###éëåË—/\¸ðÕM9ö  B¨´:;Ù«VÒ }úÆUUUß|ó 5ý¼í¶lÙ¢££C9sæÌÑ£GAYYÙÖ­[ïÞ½ûù矅OG©!: ­Ù~€ÖáóùÕÕÕ-t°µµÙ±ƒïïßRŸwÜjX”””KKKêõƒ"""222 †µµõ¤I“:”““C}Ú£GÏ?ÿ\nŸ}ö™¦¦æÎ;e£££?üðCBHFFF|||zzzmm-µTÕo¿ý&]C¡OŸ>‰‰‰­‹J¡Ö•¸téRQQN766vwwŸ5kV¿~ý<ÔÔÔ¶„|Ç:¥³d‰—§ê jËÆÆFñΨ´ =¡ÒP9TZÊöV•F”•€² ÒPTZÊ‚J @YPi( *-eA¥ ,¨´”•€² ÒPTZÊ¢¡êï“'Ÿ.[vƒÂbѳ²&ª:(®i€:¨­8wîUUiFgÎ&§SEíTaÚÑøñ–<Þ¤aÃLT:*-P‰D,–ˆÅUiFgÎ&§SEíTaZ £‡ 8óçǪ:Eó:s69*j§ Ðj¸¦ ,¸¦]—[4~õúþý šš êuee÷ßþ•”TTT$ÔÖÖ8°Û¼yvï½÷r~Lyy}||ιsE|¾PW—éæf¼xq?}¹}¦¤Œ‰‰¹ñb ƒAsuíîleÅ‘î$/Oðõ×÷ÓÒJ›š$}ûê-ZdÿãyW®”B‚‚¬}|,ä²)¾ç⽎½ý1‘¨¥á6ccÍ´4ÿöý›õí·9qqY„ÁƒI¹p?{öBˆëæÍqrGLLô‹Ë¾zµ´²²²eË µkoɆi¯_$2rPËÉ¥ç[\\×­ËÆFwâÄžãÆY^¼X" š:6::3%¥˜Åbxy™}ù¥³@иqã½´´‡9j”ÙºuÎÎË¿°ÒH"éß_?,¬Ë@Ð$ @»áóùÕÕÕ-t°µµÙ±ƒïïßRŸÖ MKJ*’–¥¥uAA©uu¢-[\ÝÝMJKëbcï'&>‹ˆlM))© J­¯EE rw7),¬Y¿>##£"!a¸«k7Ù}úúZ„„ôí×OÿÖ­²´¾}õŽñ¦:\—µnÓ¬Y¶ÒcÇvŸ?ßÞÆF÷ìÙgaa7½¼Ì˜LúÒ¥ÖÖ:Ç?¿3k–ͺuÎÍFzò¤&2ò^AAMI‰PI÷ž:¥³d‰—§Œ!ÄÆÆFñÎ=õ›õôií_8ûøXèèhôî­çfb¢µqcÆóçõ„ØØû……µk×:y{›kk3ììô¶ow“H$6dÈí*8ØÚÕµ›Íðô4õö6»{·¢¢¢áG¹_UÕî<|¸)µ“¸¸!B¡HÁ-ïYÁxJõƯ±½„„ôõð0f³5\\ sr Y-tVÞ/Box¸³‡£al¬¹p¡ýÈ‘frÝ‚‚¬ 0`³=íìôRSùŸ}fçà ¯­Í˜:µ·¥¥vjj‰Ì>ÿÉÞ^/&fpI‰ðm¾èÂPi€zJL|F5Ê\ÚÂbч 3©«]¼È'„p¹Et:ÍÇÇBÚÁÄDËÎN/3³²¸ø_^C²°`Bøü¿;\¸À'„Œùò(ݺiö飣`Èö¬x<¥zãר^\\ לּ_„:_/¯”VÿùÏ0ê‚–”“ÓË´ffZ„^Žê𛳥yšdjªÕ»·¢‘ «Ã<-PC b QS“!;W†bl¬E)-­£:B<ñêæÕæælé[]Ý—;a±„jÚECƒ¸¦¦IS“¡­ÍÝ\_Ÿ©`Îö¬x£´´nÖ¬·¸«z,b IDAT׬åH<ž`ÅŠrƒ‰ Æ°Ê´'•¬ò »Ò!dâÄž[·!/Œ”Ãå>+.²ÙΛ×wèЗ AUV6ìÜ™Ãå>+*êé±õçεóô4%„ܹS1yrŠ´ç‚ö+V8ÚÚ•¶Œe¾{÷PBH~~uLLæÕ«¥"qpÐûüóß|“u÷nå½{Ífûä÷ÜB­yô¨ZÁK>Ðîð‹@gƒJ  M^¼høâ‹ÛEEB¡°)#£|éÒ›ººÌE‹ú©:×» ¿t*Xå õLL´~þyxBÂéS/òùB}}¦§§i\Üž=µU­#ÈN“’#¢ÔÁÞø‹tÂÌ ÞPi´É°a&ƽ£#SÒ ìJË¿HçÌ j £‡Ê‚J @YPi( *-eA¥ ,¨´”•€² ÒP¬\  “'Ÿ.[vƒÂbѳ²&ª:t ¸¦ ñã-y¼IïìrðÐ:¨´”ÅÉé)S.¨:¨*-eA¥ ,˜j¢²²áÛoÿJJ**.®ëÖec£;qbÏqã,/^,™??ꓚ:6::3%¥˜Åbxy™}ù¥³@иqã½´´‡9j”ÙºuÎÎË1æå ¾þú~ZZ©HDú÷× ë¯`˜={DEeBÒÓËlmB Úã :)í³|¹ãÂ…ö"‘ÄÞþÕòþû=4¤643Óúî»÷¾þú~FF¹XL\\ W¬p<ØHºyyy}||ιsE|¾PW—éæf¼xq?ýRÙÛ‰$-t06ÖLKóoö#.·Hú5¦¤Œ‰‰¹ñb ƒAsuíîleÅ©ªj|ãÙMœØ³Õ¿E+Π3 I$-ýSðVø|~uuu lmmvìàûû·Ô§JKë‚‚RëëÅ= »éåeÆdÒ—.u°¶Ö9~üqxøY³lÖ­s¦öùèQͤIçÙlFtôàAƒŒž<©‰Œ¼WPPSR"TðÞC'§? )Û8kÖåË—K“’ü¬¬8ÒÆ  ÔO>é3aBOêm@@rAAu¿~úk×:õë§ÏãU­Ys;/OðÓOžîîÆ„’ê|EQQƒÜÝM kÖ¯ÏÈȨHHîêÚ­]¾ÒfQ_£¯¯EHHß~ýôoÝ* IëÛWïÈoªÃìÙW.]*yõìf̰ °”ÝÉ[ýª:ß.êÔ)%KÌx¼³[¹ò¦ôìnÜ(ÛºuÈ«;y«ß¢uç РҀ.Å¢ëê2‚Æšš¦7[Šï“ÃѨ©iª­É[ÒK5Š É_ÇùÛĉV[·fíßÿpÞ¼¾{÷>ø¿ÿ³Ò×gÉõ©¬l”Hþ±‡²²zBˆ‘‘&‹E×ÓcÖÔ4eeM|õZQ rrïÜjãÇ[ÆÆÞ—žÝ”)½Úø£´ú|:Œ€:3¦;!$%¥X¶1 9"â^«÷IERcˆ”ŠŠ†üüÅ÷Àfk46Š©×~~Ü_~) ^³Xô?îSVV¿w/ïøñ'3gÚ¾ºm}½èîÝréÛœœª’’:}SS-BÈØ±=D"Izz™ì&»våŽq¦å«V€Á ÍœiKÝÉ“O?ýô-æ¿Ng>_€–¡Òuæhi©qïüùâšš¦âbáúõ¥¥u³fµþÏ|XXÖ¦M—.•ÔÖŠx<ÁŠ7ä[Ö¿¿A~~uQ‘ðöíòÇkÜÜ^®Ñ0}z--ƶm÷==M­­9¯n««Ëܺ5ëöír¡Ptï^ÅÊ•7™Lzx¸³ô|­¬8«V¥§¦ò‚ÆÊʆC‡òããsÖ¬qê W}>ú¨—®.sÛ¶û~~Ý©9XmÔÉÏ XåÚ“ªVy ¯§•Ãå>+.vë¦éîn¼l™C¯^:wîTLžœ"í¶`½ŸŸÅ¤I/[‡ 1þ裗ÍY²ÄaÉ’~„üüꘘ̫WK›š$}ûê-^Üoß>Þ•+¥„  ëÈHùÉUr>¬[w'3³ÂÀ€jÿñǽe?]·îöáÇ”­À(Éååõ?ÿ<|óæ»·n•‹DggÕ+ÿ±žVeeÃÎ9\î³¢"¡žËÑQî\;OOÓ·üÚõê׸b…#µTeÔ(óÝ»‡JßFGgîÞýàäIŸ~ýô[؉â¿EŸo—†U”í­Vy@¥íI…•V—óûï;6êÕ¨Jëòå:>¨TZʆõ´º€C‡ fÏnf†¨TZç×_ÍŸŸV[+:x0ÿÅ‹†qã,ß¼ teXå •dg)É‘Î.z—[äêz‚ZåüÕÙÜÒ&Rû§¦CµW`èx¨´Z‰Ç›ô¶›[[·Ðaλ9sìÚ :Œ( *-eA¥ ,¨´”•€² ÒPTZÊ‚õ´ ËÛsmOÔù(Bˆ™ŽÙåE—Uçµæý>/™—¼|äò…ÃJ¶: …Ò·«G­žã1‡2f÷˜‡e©ÆÁ–ƒO?ÜÁi ]àštys<æðVóÌT¤%G3&ó’_m¿·òÞ‰Ù'!¾v¾¼Õ<ªÌ"„$LMp0uøÐéÜU9(³àí‰Åb±ª3!¨´:@IuÉæ¤ÍìŸW–¼?ØÇÖ'z\4ƒÆPj6PSÉaaaÉÉÉ"‘HÕaÞi¨´”níéµôû`DïŠtNš>íÀ´Ð¡¡ËG.Wv0P_öŸ|òIVVÖ¼yó<==¿üòË[·n©:Ò; •€rý–ñÛƒçÖø¬Q¤óÙœ³!ÿ ‰ôühàGÊj­ç’%KN:•˜˜8cƌ۷oOœ8ñ·ß~«««Su¶w fÄ€ZÉ+Ë‹L޼ùôf“¨É¥»ËŠ‘+[¦>j5ì¼²óÔ_§ž½x¦©¡9Ørð”S¼ûx3诞³±‰[y1æ§-Nk¡C± 8ò|ä·“¾å°8o ¿?}ÿ·W¾Ý´×¥»Ë;(¢OŸ> ,X°`AFFÆÏ?ÿ¼~ýúèèèààà9sætëÖMÕéÞ ¨´@}Ô6Ö®O\¿|Är3‡¼çykN¯™~húOýäÞÓòUâW§ÿ:ýïÀé9¤º¾zÏõ=!¿‡˜vÀÃÊãu;ÌùWN#­9µ&À!`¨õÐ7ö¼Rp%éAÒgÌepqqÙºuëš5k>œpðàÁ™3g²ÙlUGSs=õ!¨„y… ¶¬ÍÔv²pÚ°µQÔ¸)iõé•‚+vÆvÃ{×ÒÐ2毵ºw·ÞJÍs8ãpAEÁjŸÕŠt6×3×ÑÔÙ{}ïžk{”š ÞeÆÆÆ .LNNž3gÎ÷ßïëëûÛo¿I$UçRg¨´@}hjhºX¼¼ doboªcšÍÏ.©.!„xÙxÝ*¼µîôº;ÏîPc‚ÜyÜ.hµÑ³ªgQÉQÑã¢ÙL…®ôéÖg_ð>‹u>ê?7þ£¤T„6›½hÑ¢ääd__ßðððÙ³g?þ\Õ¡ÔF@}hÐh4Ù#m£’ê’²š2SÓ¯ü¾ríîz$óÈ'‡>!„ ±2Õu꘾cZØa[æi%ó’õ‚i¦ÉµÇ]ˆ‹»G9rÎÚÐZö#×®ÿ þϬó¶œÛB#´Yn³Z84@mذaòäÉË—/÷÷÷ŽŽ5j”ªC©!TZ >õ¹–²Ú2BˆLjB£Ñl7¥=JÛs}Ï‚# ÖŽ^;ÛmöëvØ–yZÓMŸ>hºlËñûÇWžX)·F¼œÁ–ƒ÷ïýëìˆs :cÆà­ ''§cÇŽ­_¿~Þ¼y ,X¶l™Ü®@aôÔGmcm6?[ú6§4§¤ºÄÁÌÁTÇ”âçšW–GÑ k ï=üû¿§ÑhçyçU÷5Üzºí ÞËf²7r7&ÜJPuP:::[·nˆˆøþûï×­[‡ÅåÛ*-Pl&{wCFQ†°Qx¯èÞÊ+™ f¸o¸´Cø™ð¿Jþj5”Õ–ýöƒD"Qä®ÀŽçÞÓ}÷äÝZZ_%~uàöUÇwBppðwß}wìØ±ˆˆUgQ+4ÜqíˆÏçWWW·ÐÁÖÖfǾ¿K}ޖ즿û𻘔˜»ÏîŠ%bg ç•^+¥ëieó³Þ9xýñõgUÏ454{ö v rꀱ’ð³á‡n’mÑ{ľ)ûÈëŸ0M¹RpeÞïóêšê!-9È:uJgÉ3/¯Ûž>}zÙ²e_|ñÅ'Ÿ|ÒîÁÔ†âQi@{RI¥²ÚRiBâããwîÜùÛo¿õïß¿}ƒ)UJJÊæÍ›ŸŸ¯««ëææ¶xñbig{{{‘¨Åg3§¥5ÿl†f]¿~"{ˆŽ„J äÑh4»wï~õÕW§OŸþ÷¿ÿ=dÈêêê={ö„„„8pÀÃÃÃÏÏÇã…††&%%Én{÷î]mmmêu||ü7ß|³råJªÌ*)) ª¯¯ŠŠrww/,,\¿~ýäÉ“\]]©MZ¸y°uJKK !úúúí»[aôšagg÷àÁƒ+W®ØÙÙ >\KKËØØxõêÕ½{÷Vp§NÚ¾}û‡~JµÄÆÆ®]»ÖÛÛ[[[ÛÎÎnûöí‰dÆ J;òº­lÿGš°Ý¡Ò€fUTTxyyݺukݺuwîÜ¡õ¸\®‡‡Ç붺}û6uA+##ãóÏ?wssÛ¼y³ôS.—K§Ó}||¤-&&&vvv™™™ÔWÊ`ffF©¨¨k?qâÇ;zô¨’ŽKÁè!4ƒÅb544|õÕW®®®GŽ¡V2dÈÔ©SÇŒÓò¶Ïž= ±°°Ø¹s'“ɤ¨)\|u“‚‚j„±Ýçi¹¹¹effÞ¿ßÛÛ[ñ­Ú *-hFEE…¡¡!F ljjJKKÛ³gÏ‚ Ö®];{öì×mXSS3wîܦ¦¦Ý»wHÛY,–žž^MMMVVƒÁxÝæí>Oë£>úé§ŸNž<¹`Á‚xú–Œ@3ž?nddäêêš——GÑÐÐ>|ø÷ßO£ÑZXCK$-]º4//ïÛo¿•ÎèZ´h—Ë%„Œ;V$¥§§Ën²k×®#F´|«-lllBBB¹Ù‘Çm‹Œ¢Œ|<ÚnôÙ¹g™ flJì´ÓöïÞ{ø[íçqåãÍI›ŸU={^ûÚÇ«“?ÿüS$9ÒÄÄdÓ¦MÍö¡ÖÓ’k|µEŽÁÚµk×®]Û>A ñññyãA)ýû÷ŒŒl¯ã*£‡ &~¹ó‹ ^ðÕ˜¯õÄf²9,Îý>H_–þæ-áI’¼m¼4%ŽætÌqÅñê?WëiéE‹6Õ15dn»Ñº›õšÓkD oµ«¸ qƒz :>ë8‡ùÚÇ« ‰Dòã?úûû›˜˜¨:K—‡J ÔDAy!¤Ÿi?UéòòÊòòËó}í|Õà¸7žÜxðüÁûöïkiüýh<1Þa|QUQ2/ù­vé:4´ã«O•8zôhnnîœ9sTD Ò5Ñ$n"„°,Uéò’$±¬‘}FªÁq¯>ºJq²øÇdg's'éGŠ“Öjj¯¼¼<22rúôéªzP šÁ<-èò¸¹ÜùGþž–Û?¶¿Ü§ÿçô1ãb^·mymyüåøs¼s|_WS×­§Ûâá‹Läv›2?%æ|ÌÅü‹ :õ‡k¸o¸•õ‘H":ó×™_3~Í)ÍÔ ¬ ­ƒ]‚g žA§Ñåv’:?5ú|tJ^ KƒåÕÇëK¿/õ‚ÜiÒ8šœQ6£Ö^ÇaqÉö:ö1öÔ­¯cÌ1N[ü†%Ï=87Ôz¨6óïçÖå•å}òuÚã4‘XÔ߬˜w˜â_cU]Õ oI»-¹|á°…"‰È>ÚžjyßþýøIñrÇUð›—ÍÖ$jêkÒw‘ç¢oþx¥à !$È9(Ò?2¯,b®k.›Ö\Ïœ’_žOþ•ß .äp8Ë—/Wu5J º<¿¾~¼Õ¼Ðÿ†&=Hºv_SC“j¯V¸mwkaÃ’ê’ ýAõMõQþQîVî…/ ן]?ùçÉ S\{¸ÊîvsÒæ÷B¢ÇEß*¼ò{ȲãËŽ|z„ÚIj^êÒãKüÂvîKÄ'²NlNÚ\,(^=jµ\¶-É[æ=.úlÎÙ°“a•ÂJ&ƒ¹|ärkCëã™ÇÃφsXœu£×)’íugÔöâÊjËî<»³aÌß¡{Tñ(h[ƒ?ÈrГÊ'‘É‘++þ5òVófÿ:ûRþ¥¤$ªpaмռ ýA3Ïp xõ¸ ~órÙ _nNÚüWÉ_²÷E ê„m–¶l`ªˆ|!|¡ø±ÔOee¥ìš¢±X¼víÚììì_ýUGGG%ÁÔFàÝ›[ø¢p­ÏZoom¦¶±Ýö‰Û%É®üÃnƒ]‚]{¸²™lÏ^žÞ6Þw‹îV_>CÍÃÊ#th¨¾–¾!Ûª~¼ñcu½üJAÎA̰™ìÀvÆv©S?sÿÌÁÔA›©=Õuª¥¾eêÃÔVdk_ɼd ‘Œ¶-QUWî>¼÷pm¦¶½‰}̸˜’êÙMÞuŽû±D¼÷Ú^é&éOÓù¾¿ƒÿëŽ+ÕÂ7/—ÍÎØ.nBœ°QøÆs” !äÕµÂ[þ•Õɉ'eE"ÑçŸþçŸîر£oß¾ªÊ¦~PiÀ»‹›Ë¥Óè>¶2»Õ1±3¶Ë,Î,üãa·ÎÎÒ×z„¾€O½õ±õ90í€lgS‡&qÓƒçä';[ÈL׌2À|€´Å\×\ºÏ·ÊÖ¾¸¹\'s'SSêí…‡!²s§LuL{wë-·IËQ‡õæhæx$óH¥°’ê°ûÚîYn³dg—ËWª…oþÕlÝ´»õéÖGvs]M]BHmC­l#Uéié)~,u²k×®åË—Q‹¶S^¼xÂårwïÞ=rdGOÑSo=€wTƒ¨Z×ÜÃnË d'÷P°)Ô¤{êº!DP/Ø{}obnb± ¸ª®JÚíÕ‹+:¬—Ã14BcÐl&[ÚB§ÑÅq+²Éjã<-a£ðJÁ•ÃHcÔ4ÔhjhJçlQŒ8FÔ$'Å£~æþÙÊ+n%,ò\”_žãÉ­[_w\Y¯ûæ_—MŸ­/ûÖÆÈ†"W›WBäêÅŽ¥6D"ÑÆ8@¡Óé þþþ„ŒŒŒ¥K—655íß¿ßÅÅEÕ1Õ *-xG±,=-½šúš¬eµåÖýy¿Ï»ñäF¸ox€c€!ÛF£í»±/â\D[þH·:[çi].¸\×T']gÅ`qXœš†šÚÆZÙ‚FziJñ¨ãÇǦÆîOß?ï½y{¯ï2pŠìܹã*âuÙÊjÊd»½gõ^üåøÌâÌI&I3‹3 !C­_û<µ$ /^|áÂê­X,¾~ýú_ý•˜˜øÝwß 2dÛ¶mX=K0zï®±öcEQúÓ>ì6m׈#D…v+‹ÒŸ¦›è˜|:äÓnÚݨ©?õMõ![+$=Hêiг¯ÉË9:^}¼ÈÿÆé( é-Å£2hŒ™Cf–Õ–í½¾÷döÉO‡|Úòqñj¶ÒêR¹lîVî¶Æ¶§ÿ:-ýQDbÑÉì“z£lF½ÕẴÊÊÊ?þøÒ¥K²OSÖÐИ:uê¾}ûÖ­[÷ÓO?¡ÌRTZðî ó ³2°ZõçªÔ‡©‚zA¥°òÐíCñ—ã×ø¬QðJƒÎð°ò(­.Ý}mw…°¢®©.íQÚÁÛ;C¶·%–ˆ“yÉr–¼à Ø›¸›.å_ªm¬å=ç­øc…Ü€‚Q?ø‘®¦î¶ ÛüìüÌtÌZ>®"ä²å–æ®:µÊDçåFòzQ÷bÕŸ«J«K+…•_q¿*(/ØòÁé=ªjïñãÇYYYMMM²íMMM 'Nœ˜>}:Žz@Yð„ihO*y´ì’H„‰ý'n Ø:ëð¬‹ù¥¾v¾I’¤o [°bä BH¥°rç•ÜÜ¢ª"=-=G3ǹs={yBî<»3ùçÉr›ØFÙJ[FÙŽÚ=yw…°bÛ…m)y)¥Õ¥l¯>^&:&ß_ýž2À|ÀWc¾’Û‰Ÿß¤Ÿ^Žd…y… é9䣄¤-K†/Y2|IËÙ”!ýiú”„)¯>Ý9¿7—;ÿÈ|êõý°ûššÊ>¢”D"¹Uxëû\.¸\XU¨«©Û»[ïi®Ó&8N ØByQ÷âÏì?Oýu*›Ÿ]×Tg®kîÒÝe®û\3‡Ë  pM ÔAmcíè]£çþ>·Õ{ï0ž·š×a Žûõõã­æùÚùvÌád=,8%aJAEAü¤ø;ËïüwÆ»ëu_ybeÔù(iŸ¨ä¨ ‰|í|ÏÌ9sséÍ(ÿ¨,~VàOÜ\Õ< ëB¥ê@"‘ˆ%b±X¬ê ÍsÚê4%aŠªS¼Ä 1vîègÚOSC³§AϘq1lƒýéûD Ò>A.A3‡Ì4Ñ1a3Ùn=ÝââDbQôùhÆèŠ0zê€Ãâœ=¯ê]ƒ‘MΪÙ&ƒi¡k‘]’]ßTÏb°!‘þ‘r[9˜9hih=®|,‘H¤ƒŒðF¸¦𮫪«*¨(p4sÔÕÔ}]a£°®©®¯I_”Yo×´ Ë{ÝìòJaå·W¾MzTTU¤ÍÒØ}à‰LŽ,(/(©.‘Þ{XR]´?¨¾©>Ê?ÊÝʽðEáú³ë3Š2¦&¸öp¥úì ((/ègÚo­ÏÚ~¦ýxÏykN¯É+Ëû食Ü{ºS}œ¶:9š9ž~¸Ù̾v¾!ï…ô3íwçÙùGæ÷éÖçȧGÚýûyÕ·W¾»Gñ°òøÒïK{û×õ|^ó|üÆûØúlù`Kƒ6:uJgÉ3/OÕAÔ–â1zê)65öé‹§_ø~ác룣©Ó»[ï¸ q&“ÜÏkžSªêªÂý‡÷®ÍÔ¶7±SR]"·“Â…k}ÖzÛxk3µíŒí¶OÜ.‘H6p7Èv6 7ŽÝèÚÕÍd;Y8m ØÚ(jÜ”´IÁ¨Á.ÁÔ¶C­‡úØúÜ-º[!¬h¯ï¡ ‡-Ìþ<ûìܳ6F6öMˆ¿ßl·Jaå¬Ã³<¬<6UôŒ@ •¨§ÄÜDBÈ(›QÒƒ5¬×°º¦º‹ù !^ „Œì3RÚÁTÇ´w·Þ²;áæré4º­´ÅDÇÄÎØ.³8³XP,md3ÙÔx"ÅÞÄÞTÇ4›Ÿ-W·½Ž³…³ôµ™Ž!„/à+zžmÃd0mŒl6ŽÝ8Úvô7¿¹\pY®ƒ°Q8óðL;»mÛtFǤP'˜§j¨AÔ ¨hjhrXÙvcŽ1!¤´º´AÔPÓP£©¡©ÍÔ–í`Ä1Ê/Ï—Ý !d`ÜÀWQP^`®kN½ÖÓÔ“ûÔHÛ¨¤º¤¬¦ÌTÇôieç¡ÓitBˆ„´4¯£çiIùØú$æ&žç÷ìå)mID‹Ž.2Ó1ûzü× Ê,€Ö@¥jˆÅ`éjê ê5 5²Å5nh¢cÂb°8,NMCMmc­l±U)¬”݉ž–^M}MÖ¿²Z®3*ë*åÖ>(«-#„qŒ¨·4Òž÷ëÉM¨oÔâ•u•²_œù¢AÔð݇ßIOßç{Ÿm¶ ìÞLé ÍÂè!¨§1}ÇBÎç½\d«AÔp¥àŠ–†ÖˆÞ#!^}¼ÈÿÆ) é-ÊXû±"‰(ýiºlã®´]#vŽI^^Uªoª¿[tWú6§4§¤ºÄÁÌAzA‹Íd7Š©×~?øýrç—v:ËÖˆLŽ\yb¥\cêÃTòÏqÌ—vä–äîš¼‹* upM ÔS˜WصÇ×6'mÖfj{Xy”T—ĦƖ֔n~35†ævåÑ•MÜM:,A–ƒž½xq.B›©M¾ÜÉ£k«þ\õÕ˜¯õ$‹Nÿu:þr|ô¸hÙ«\ºšº[/l]>b¹ôÞC&ƒî.íÐß¼ÿíÂÛEUEÅ‚âÇÝzºuäWñª?²þèeØk’Ó$SÓ’ê’ƒ·¿|€ùê®LBÈïýwÇ¥„ç­Î-î Þ«<@{RÉ*²ëiB&öŸ¸5`+ùßzZÜ\n± ˜Ídì>pÞ{ó†Z•öÌ/ÏI‰¹úèj“¨©¯IßÅž‹÷ÝÜw¥à !$È9ˆZ'½RX¹óÊNînQU‘ž–ž£™ã\¹²“™ö”×”ÿ<õçÍI›oÞ‰EÎÎ+½VRëiQ–=\wf]fq¦Û thèÇ®ßyvgòÏ“¥ [°bä jÁ-Ê(ÛQ»'ïnÇoIªº¾útÎéSÙ§òËóùÕ|&ÙǨÏûöïÏt›©¥¡Eõ™ûûÜó¼æ×Üÿ}Æï=ìä°Êƒ²½Õ*¨´ =©p=-U¡*­Ë‹äïÚPTZʆõ´:TZÊ‚J  •ö\Ûce›ÍÏæWóm£l·]ئêDÐéàÞC€Všã1gŽÇU§€N ×´”•€² ÒPTZÊ‚J @YPi( *-eÁzZêædöÉeÇ—BX VÖçYï`€Î×´ÔÍx‡ñ¼Õ¼a½†½³:TZÊ‚J @YPi( fÄ@—ÇÍåÎ?2Ÿz871îbÜÕGW+…•„Á–ƒÓŸ¦S ¶|xúaBÈ•‚+3~™ñÃä|l}!›“6ÿxóGªOΪñê!ìcìEbQ Œ9Æi‹ÓÞ6Þ¥7ô´ôÎüuæ×Œ_sJsõkCë`—àƒgÐit¹mSæ§Äœ¹˜‘Ag¸öp ÷ ·2°’%¯,ï딯Ó§‰Ä¢þfýüÃÏ`È6,¯-¿ŽwŽ/àëjêºõt[<|±ƒ©µ‰H"j!¤"ÞY4‰D¢ê  >ø|~uuu lmmvìàûû·Ô§uBÿšô ɽ§ûÒK-œsŸçïN[œvê¯SëϮ߰mBÿ TÏU®úï½ÿŽs·}âvª…›ËÝkÿÏýÜî©Þïváíy¿Ï ó ›ê:U,ŸÈ:±9iól÷Ù«G­–ÛÖ×Î7ä½~¦ýnÞ ù=¤¯Iß#Ÿ¡:<ªx4é§Il vô¸èA–ƒžT>‰LŽ,(/(©.‘½õïuEAûƒê›ê£ü£Ü­Ü _®?»>£(#aj‚kWBH2/¹å €Žqê”Î’%f<^žªƒ¨-Å;côÔJÈÐ+6“íbá’ó¯C¶á¸~㘠æ±ûǨuMuI’¬ ­Ï=8WÓPC5Í<:iÀ$•Ä#„xXy„ Õ×Ò7dÎ<#À1àÇ?V×Ë£Á.Á®=\ÙL¶g/Ooï»Ew+„ÔG±©±UuUá~áÃ{×fjÛ›ØÇŒ‹)©.Q0Cljlá‹Âµ>k½m¼µ™ÚvÆvÛ'n—H$¸¤[µò­¼SPi€Zq±p‘k1`xÛx_.¸\Z]JIzäÒÝeú éuMugsÎB*…•×_k?V%ñ|l}L; Ûâ`êÐ$nzðü\Og gék = B_À§Þ^xx2²ÏHiSÓÞÝz+˜›Ë¥ÓèÔX*ÅDÇÄÎØ.³8³XP¬HÈ· ðNÁ<-P+l&ûÕÆI&qs¹'²OÌv›},óؤ“†Z:õGÖÿçô'³O޲¥ÍÔna·m™§Õrø¶û ó3`lânº”©¶±–÷œ·â-‡þcs¯0+«U®J}˜*¨T +Ý>9~Ï¡HÈ6PcXåÚ“JVy¸óìÎäŸ'˶ðVó^íæ»Ë·AÔ:?•º*Cþ·ÜÙ9glmÛ1Ï[Å«Vl»°-%/¥´ºÔ€màÕÇËDÇäû«ßB˜øjÌW²Û.¶`ÅȶQ/ÓŽ²µ{ònBH~y~LJÌÕGW›DM}Mú.ö\¼ïæ¾+W!AÎASNiù+ªVî¼²“û€[TU¤§¥çhæ8×c®g/OEB›yì"ý#ÛåËE`•e{«UPi@{RázZ@A¥¥lXO  S@¥ ,¨´”•€² ÒPTZÊ‚J @YPi( *-eA¥ ,¨´”•€² ÒµÅÍåÚFÙRÿ«oªWuB9™}’ÊãøµcÇ1%/Åw—¯}Œ}Çä Òµå××·šçkç«ê /wÏ[ÍÖkXëqåãy¿Ï‹M}^û¼ÍB¥jÂi«Ó”„)ªNщÄ]ˆÔcÐñYÇ9LŽª³¼»4T”"Ò?RKCKÕ)Þu¸¦ žPft¸¦]Þžk{¢ÎGBÒŸ¦ÛFÙBtFοrdû”֔Ɯ¹˜‘Ag¸öp ÷ ·2°"„ps¹ó̧ú$ÎMŒ»wõÑÕJa%!äÆÒ†lÃòÚòøËñçxçø¾®¦®[O·ÅÃ;˜:P›ˆ$¢3ù5ãלÒA½ÀÚÐ:Ø%xÆàtÚËÿŽÍ+Ëû:åë´Çi"±¨¿Yÿ0ï0ENÊ>Æ^$µÐÁ˜cœ¶8Mño T•tys<æÌñ˜ã´ÕÉÑÌñðôÃÍöÙœ´9ä½èqÑwžÝ™dþ²ãËŽ|z„üoÖ|èC“$}qæ‹¥#–ÆŒ‹É}ž¼?˜RR]´?¨¾©>Ê?ÊÝʽðEáú³ë'ÿ<9aj‚kWBHj^êÒãKüÂvîKÄ'²NlNÚ\,(^=j5uÜG‚ö±5Øññƒ,=©|™ù¸âñOJ®R€. £‡ðNv víáÊf²‡Zõ±õ¹[t·BX!×'dhˆ‡•›Év±pÉùWŽ!Û065¶ðEáZŸµÞ6ÞÚLm;c»í·K$’ Ü Ò­<¬¶>Ò;c»ÌâÌbA1!ÄÇÖçÀ´²›8˜:4‰›<@½½ðð!ddŸ‘Ò¦:¦½»õnû@—€ÑCx'èjêJ_S“¨$D"ׇÍd˾m5ê„q_ÝaAy¹®¹ ^°÷úÞÄÜÄbAqU]•ôSa£ÚCMC¦†¦6S[v[#ŽQ~y~Ë1O @= Ò5A#´öÝ!‹ÁÒÓÒ«©¯ÉúWƒÆh¶Ï¼ßçÝxr#Ü7<À1ÀmH£ÑöÝØq.‚*ãX ‡Å©i¨©m¬•-¶¨÷-Ã<-õ€ÑCPl&»QÔH½öûÁï—;¿´}ŸcíÇŠ$¢ô§é²»ÒvØ9B$‰Ä¢ô§é&:&Ÿù´›v7F‘{ìW/ò¿1DJ…°â´@m Ò5Ñß¼~y~QUÑíÂÛ+»õtkû>ü¬ ¬Vý¹*õaª ^P)¬k4ƒÎð°ò(­.Ý}mw…°¢®©.íQÚÁÛÿ±ï0¶Á&î¦Kù—jkyÏy+þX!7˜jŒ&‘ÈÏTh5>Ÿ_]]ÝB‡þýûDD” ÚýÐË®;³.³8Ó€m:4ôc×ï<»3ùçÉÒ †-X1rµàe”í¨…ÃÊö!„ðVódßV +w^ÙÉ}À-ª*ÒÓÒs4sœë1׳—'õi…°bÛ…m)y)¥Õ¥l¯>^&:&ß_ýž2À|À±™Ç!ùåù1)1W]m5õ5黨sñ¾›û®\!„9EúG¶ûWAIæ%Ïû}ž\ã–¶»+éˆÐI9¢ûå—&™™UDmÙØØ(Þ•´§7VZÆYÏûbÖ¬7OT€ÖùÏ öîÕ¿|ù‘ªƒ¨­·ª´0zÊÖ¶17—¥êê,7—ekÛ¨êð7TZС\]ë®^e¿¹´VZ{àÀ:U§€¿¡Ò€åãSûô©Æ½{šª žîÞÕ|úTÃǧFÕAào¨´ C¹¸ÔÙÙ5$$è«:€z:p@¿oß—ú7w…J :Zhhå±cºÙÙ¸¬Ðβ³5Ó Á'î=€öôÆ{ ! ™6­‡XL~ù¥ÖÎ뺼ӦMëÞØHûõWü“¥\¸÷:5¬[÷üöm­ŸÆ"@»ùé'ý›7Ùë×?G™Õ© Ò0 ~ÅŠò-[Œ““±Z:@;¸xQ{Ë£+Ê À ­Î•¨FhhE` `Å ³Œ LØh“Œ ÍŋͫCC1C«ÓA¥*³ysé!uÓ§÷8sFGÕYºª3gt¦Oï1dHÝæÍ¥ªÎÍ@¥*ÃdJví* ªZ¼Øì›oºÕ×cv À[¨¯§}óM·Å‹Í‚‚ªví*b2q‹[g„{ =)rïá«Ô‹Š222­YS6f V\x³ÄDNd¤QYcõê²iÓªTçÝ‚'L€Ê´®Ò"„””hDGwûã]‡ú)S£Gט›7µ{<€®®¸XãÜ9ÎáúÙÙš&V­*75Å?) •¨L«+-ʽ{š?ý¤ö,G(¤[X4Y[7ˆi4ük Þub1íÅ zA³¸XƒÍ¿ÿ~ÍŒ/œœp›¡j Ò•ic¥E©¯§Ý¼©uÿ¾æÓ§Ì/èbq»DƒVÊÉù’bo¿QÕAÞit:ÑÓ÷ìÙØ¿ý!uššøÛ­JoUii(/@ëhjJ<=…žžBUBY¼ø/BÈ¿ÿÍWu€. ÷( *-eA¥ ,¨´”•€² ÒPTZÊ‚J @YPi( Öˆ€ö¤¯¯ÏápTÚ“––!ÄÌÌLÕAº$TZО¨¿Ê N444!:::ªÐ%aô@YPi( *-eA¥ ,¨´”•€² ÒPTZÊ‚J @YPi( *-eA¥ ,¨´”•€² ÒPTZÊ‚J @YPi( *-eA¥ ,¨´”•€²Ð$‰ª3@'¿nÝ:±XL½mjj"„hhhPoétzDDÄ¢E‹T– KA¥ÿðøñã^½z½î¯F+((°²²êàT]Fବ¬ÜÝÝéôfþ@Ðh4”YŠÓPuP+|>¿ººZÕ) ­üýýoÞ¼ùj;Nÿàƒòòò:>@çacc£xg\ÓyþþþͶK$’÷ß¿ƒÃti¨´@ž¡¡áСC †l#ƒÁðôô422RU*€®•4#00Pzû!E"‘ª*@…J šáççÇd2e[ ÆèÑ£U• ‹B¥Íàp8£G–.£¥¡¡áëë«£££ÚT]*-hÞ„ D"õZ$Mœ8Qµyº"TZÐe>y¢QUÅÀÓYUH,öåpºB*+}OŸf¼±?( &ÑÓ÷ìÙdiÙH£©: ¼ TZЉˆD$%…sâ„ÎÅ‹Ú/^à¢{'ñ !déÒ„¢¯/1¢v„j/¯Jß®•tçÎq¶l1zü˜éá!\´¨ÂÕµÎÚºQ__ÔܓޡãddŒ$„¸¸àY‡ª$“/1oßÖ:wN;$ÄÜʪqíڲѣkT Þ€&Áuyh?­{Âô£GÌõë/_Ö¨^º´ÜÚºQÙ u¨?4 Yu&1·oïvℎ§gí† ÏÿŸ½;kâZû~’@–°…­â‚ì(È"à‚ŠT´U©Ø ÖZmµ ¸àН rÝ@QªEk«mµjß¾Z•«­QµHE]£ApD !!dyÿ#HKÆçû¹$“3g~3iËs眜eúuªª¶–ðé§6ÙÙM'‚J  IgÎP.´?¾ù÷ß«FŽj:ï’‘#…¿ÿ^5~|óÂ…ÖgÎP5¼ÌÓhÌÅ‹›6™GEÕGEÕÁMºD’íÝ˶µ5Ý´É\OOÜå±{ nPi4£¸˜c±paÊušÎÀ; ‡C+VÔ55á6l°°±{z½áþFÐÐ@X¼Øzôèæõëk5m°aCíØ±ÍK–X54ÀÚý TZ HI1ÁãÑÞ½XÁ€^!ÿ*%ÅDÓYÀà?r€¾öèñôiêºuµRMg@{H££kOŸ6ºžPÙ@¥èkÉɦÇ‹BBxš€¶™9“7|xË·ßšj:x *-@Ÿª©ÑÉÌÔ_´¨~l¨>‰$**ÊÍÍ-<<\$i:è;8ú曆ÌLýšøÅ[• O]½ªO¡H'M‚Gˆ¨Ñƒ._¾,222 ±555öÿzøð¡f¾UÿOøN â“ÉÒk×ô5¼• OåäPFèêÂsÀÔÈÉÉiÊ”)d2900ÐÝÝ]Óq@ŸÒÕ•-¸}Vï/àî" O=x@ü䘡¥^:::Ðt  1®®-/j:x*-@Ÿb³ ÖÖbM§èG>|8uêTÅ-›7ož7ožT*õ÷÷çp8›6múúë¯Bnnn }ß~ûmeeåï¿ÿÎb±$É7ß|sôèQù§©©©}ôQbb¢âFìˆ4-''ÛÂápŽ9rãÆªª*©T:`À€ÀÀÀÈÈH“Η àñxÇ¿víZee¥@ 066vuuýì³Ï¦OŸŽŠ?~ü¸¼ñöíÛÿýwƒÃáæÎûÙgŸ!„”'är¹üûï¿«««e2Ù€œ'OžD"‘:Mø¾±¶–p8°ªV£‡€>%âõô`èð5GGGƒaaa½‰‰™7oBèÖ­[!töìY좯P IDAT£ââb;;»ÄÄD&“Éd2)”WÃCû÷ï×ÑÑ9þ|||))IyB©Túå—_þòË/,ëðáÃùùù§OŸvvv^µjÕÿýßÿuý’k?==is3ü}ï/à›ô)™ Á¯Û !!!Øky]%¯!ÊÊÊ B¨°°°ªªêã?n³»……Edd¤‘‘Qhh¨±±q7lܸ±¡¡!ôñÇÛÚÚÚØØ`·£ª««wìØ¡|ß 6°X,lßQ£F.Y²„J¥"„®\¹òóÏ?·iiii9`À€Å‹c[ÒÒÒ?~¬ä•••ååå!333???‰djjºtéR//¯nœìû‡C2ø¿3ýTZ yŸ~ú)öâÁƒ÷ïßçñxW¯^µ³³Ã6bU×Ù³g§L™b``Ðf߉'Ê_ß½{×ÍÍ­K‡f³ÙEEEØkù­5KKKìN …!WWW{!‡“››‹µûì³ÀÀ@##£—/_¾xñbóæÍ e̘1íw$Uzô ®ƒQ[333ùëÕ«W/[¶LõÌŠEvë ÓÒÒÒ¾A›fò6!SSS% BAAAùùùyyyùùùYYY‰$'''66Vqº=ýÜÓ€~aúô麺º¡ÚÚÚÒÒÒàà`"‘(ÿYâÙ³gCBBð=x"·žžžüµX,FÍ™3gÓ¦MÖÖÖ...Øö6ë…Î;wΜ9Øë²²2¦‚ŒŒ „………ÖàéÓ§Ø ©T*¿ Ü&†¼Ù“'O°8Îßß_Išš‡ÚÚZŸÈÈÈÇËo¹)Ÿà@•ô ÆÆÆ~ø!öz„ 4 !¤8\(ŸËÕ=†††¶¶¶Øë¢¢¢ŠŠŠ’’???„ÐŽ;°é_þùç¹sçx<^mmíž={ŠŠŠÖ­[§¼Û;wZ[[#„._¾üÏ?ÿ455:t¨±±!4yòdìw”Š:Äf³«««åk:,Z´hèСÊÊd²+V”––ŠD".—+Ÿ6iÒ¤ž\úN¿Oô6›ÝÔÔ¤¤½½Ýþýì©S•µyoedd„‡‡£ÁÂ6Nš4©²²ÒÃÃã÷ßǶ¤§§¯ZµªÍ¾™™™Ø<ôöŸúúúþú믡ÂÂÂ;w––– …B¼aÃlÌ®ªªêÈ‘#·nÝb±Xx<žF£ùúú.X°ÀÙÙ¹ÓØ<ïØ±cØzZB¡ÐÈÈH¾žÖyyyù”)S°ÆÛ·oÿßÿý_Åõ´fÍš%画„………éééÿüóÏóçÏù|¾¡¡¡½½ý´iÓ¾øâ ŽjëÒ%ƒ+,™ÌrMÑZò_«¨*-@o‚J ´§XiÉ+B >Pi©[—*-=P¨´Ô*-j/:D¬\¹Rƒyèc°ž5Ú´iÓ¦M›4{Zê•€º@¥ .Pi¨ TZê•€º@¥ .Pi¨ ¬\ ôôôç«Vå"„ˆD|YÙ MÇj÷´Ú ¹Yòá‡W/¾­é oÑŸ³µÑ¯¢ö«0½hút&sæ˜1æšúTZm “ɤR™T*Ót·èÏÙÚèWQûUº FÚ@__çúõ)·Ó„þœ­~µ_… Ûàž€ºÀ=-À;Ng-Y’ƒ½.-ý„D"`¯D<¸z•Åb ôôt<߈ääDMJòæp]¹<à•@;]¹Rš8ÑJ¾…HÄc.JnÞd#„èt ´–707';8PKJjjÞø+èîþú’µ5!Äf¿jpã!4~ü룘š’†5P1¤’žU§V^ÆÞ2b„‰êÕ÷`ç;aÂ¥Õ?ŽÁnhɹ¹½NkiIF þzT×ÊŠ"ÏóÖHd[[U#wÌÓh!‘HÊãµ’HŹ2!Œâr…X„‡ÇÅö»WV6YYQäo _wB$BØ´ ‘HÊç‹I$‚žAqw##]s*éYõxŠz2O«½N/£Šý¨‚B!tÞè_júF::ßö ^7ÀဣP^oÁãqòÅ):ŠdfFª¨èý1tÐA¥ÐBD"ÞÐP—ÇkåóÅŠ5_¼"„ÌÍÉD"žJÕåóÅee3\·¢¯¯Ãç‹››%ŠGkk{:¬Öíx FHÝ&†òËØix<®µUª¸¥±±µ¶ÑÃo¤£óUG$lâ?xÀè!@;MžüBèúõù‘HšÍ%“ ãÆY"„¦L ‘Èòòj÷úᇇãÆý©ü¶"l˜ Âp¹Â^¹WÑ+ñz®Ó˨œ…Yq¬“ËVW7«#§\¿ì|33k7g$$÷b¤úzQE¿Û‚w TZííjc£_”‘ÁâóÅM«Wçr¹Â¸8w„54Hýú¼¬,6×ÚÐ :uª"5•±q£›ê·‘¢£‡·o/¼u‹ÓÜ,yø°qýú|Unö¨’¿çñz%†ò˨œ¿¿‡#üå—ÇÍÍ’§OùÛ·™™u¾WÏ÷èÁÎ7!¡øúõ>_\S#ؼ¹Ë.XÐ…ßš)ÄdòÖ¬Ém3˜´¬òèMYåAq¥%„ÐŒ÷ì‰^-ŒÄ Ó«kjŠŽ‡‡Ix¸ãèѯ‚jh<È Ó«Y,•Jtu5Z¼ØaìX „PAAý¬Y™ò–K—:­YãjoN¾eâD«#GF#„**š’’JnßæJ$ÈÅ…ºnÝðo¿-+*j(.~k¶yóìTìYIsf¼âÆ þþûoîÕ«AƒéË7††fÍ›7ô“Oboƒƒ3*+›œbbÜœ˜ÌÆï•—ó~úi¬¯/ !Äá`ç+Ù¹ÓË××¼ªŠ¿ysaaaý‰þžž¦½rIß »Œ“&YGD8:;åç×FDä8:RÏž À,\˜}ë§ýÙÍŸol£ØI—¾ Mï;êÒ%ƒ+,™ÌrMÑZvvvª7†ÑC€6HN.{þ¼9.Î=0ÐZ__‡F#-[æ4~¼e›f¡¡ƒ‡7¦P!!¨YYìo¾qpq1ÒÓ#Ì™ckc£—•ÅQè³´±±5.ÎÝßßBOàäDMJòæp=ŒúÍ7R©ìèÑGò-yyµÕÕÍS§Ú(6$Û¶yxzšR(77“={F¶¶J·o/’g«ªjމq °ÒÓ#88P÷íó‘Éd[·ö0ž*ÂÂcÁÆŽµ°,*ª¯¯a-Zô–³c³…S§hÓIW¿ ž/=•@\¹Rš0áÒêÇÇ`7´äÜÜLä¯--É¡áÃ_?YYQØì×…Ôl„ÐøñVò-d[[ƒFõ÷·pr¢ž=û¬¡áUuräÈ£ùóíttpŠÍ(‚âИ“Õ‚|ÿþKGˆ¢ÓYx<.0ÐZÞÀÜœìà@-)i¨©éi-Ø)w÷×·‘¬­)!ùu3ÆÜÕÕ¨ÍÙ-X`O àÚtÒ¥ïB³ç @OÀ<-À;O$’òx­$AqZÏ[¼n€Ã!G¡¼Þ‚Çã¤R™¼O>_L"ôôŠ=˜™‘**z:ôùõ×v7Þ;qâñòåÎM·oswíòjÓ†JÕm³ÅÌŒÄákk[Œ‰<^+BÈÃãbûÎ++›¬¬(o=nOæi)24|}шDBHqÊ7ß8¬]{W~v¹¹µ{öŒlßI—¾‹î/ýTZ€w‘ˆ74ÔåñZù|q§Å–ê}êëëðùâæf‰b±%¿U£ \Ûû8¯Ì˜1hÏž²_~yîxôè£O?ddDlÓ¦¡¡U&{£‡ÚÚ„™‰HÄS©º|¾¸¬lFû{EJ0!ª7î¶éÓm’“Kåg7{ö~)Ý>_ú=hƒÉ“?@efÖ(n ÎHH(îvŸØX$6†ˆ©¯UTðUïBÑim•b¯ƒ‚è§OWb¯‰DüܹCkk[Žež?ÿìë¯íÛïÛÒ")*ª“¿e09¡‹‹‘…!4eʉD–—W«¸Ë?<7îOåw­ú€ûúk{ììÒÓŸõUæw¤?Ÿ/ÊA¥ÐÑÑ®66z Åׯ×ðùâšÁæÍ…\®pÁ‚îÿ™ŽflLܾ½ðÖ-Ns³„Éä­Y“Ûf0Q¹aÃŒ+*šX,Á½{uOŸò}|^¯Ñðå—CÉdÂÞ½¥cÇZ ¬ß~_CCÝ={ÊîÝ«$ÅÅõk×ÞÕÕÅÇŹËÏwÐ ýõë󲲨<^kCƒèÔ©ŠÔTÆÆnýá®ÏçŸ14ÔÝ»·4(èlVõóó@ XåЛ4µÊzµžƒN¯®©˜š’|}i«V¹ bPPP?kV¦¼ÙÒ¥NAAÖ3g¾Þí:r$íóÏ_?6gÅ —+œBMII%·osÅb™£#5*ÊùØ1fv6!:81±íäª6?æÅÆ””Ô##æÎµUü46öÞ™3•§NW¬À0ÁÁuu-?ÿì_”Ÿ_'‘ÈÜÝMÖ®}c=­†ÑÁƒ :½šÅP©DWW£Å‹ÆŽµèâeSUû˸f+¶TfâD«#GFËßîÚUräÈ£ôô@gg#%¨þ]ôñù¾Ó`•uëÒ*Piz“+­wÎï¿?9qâñLlÿViýý÷Ç}Ÿ h¨´Ô ÖÓ€wÀ©S• ¾e†@›@¥}ç·ßž,Y’ÓÜ,ùõ׊—/EÓ¦Ùt¾à]«<@7)ÎRjC>»¨=:åéy[å¼ýlnù±þ±éP½Ð÷ Ò€nb2gvu—°°Áaaƒ•4X´ÈaÑ"‡„ô/0z .Pi¨ TZê•€º@¥ .Pi¨ TZê•€º@¥à ééÏííÏÙÛŸsu=ß7GÌ̬™4‰îäôG߀¾•€7LŸnÃdÎ3ƼŽõô)?<üvrrÙ‹Â>8}*-è_ÜÜ.Ìž}CÓ)úHJJ™——éùóõõáép@;Á?Ù4&1Ñ‹L&h:j÷´h ”Y@ëÁ=-À;Ng-Y’ƒ½ÎÌœœ”Tzó&‡@ÀyzšÆÅ¹¤/oÙÐ :pàÁÕ«,K §§ãáaî0j”¹*46¶zy¥Ë»Z½ÚuÙ2'‰D&ŸÇýÑGRS}Buu-©©Œk×Xl¶ÀÐP×LJåìâbÔ>FMÐÔ”hgg8cÆÀiÓlNœx¼sg B(/¯ÖÞþBˆ@À1!] åʤ””û·osD¡ÜÜi&&ÄN#•—óvï.ÍÉáJ$hØ0£èèaª\y'§?$™’4)'gª*] ­p2™²I KØlvSS“’öövû÷³§NUÖ¦{"#s®^eMšdáèìl”Ÿ_‘ãèH={6kÀå CC³„BÉŽž¾¾æ\®09¹ôʕꄯ°°Á*v²paö­[œ«Wƒ ¸ÐЬùó킃mBŽ044«¥E²s§—¯¯yUóæÂÂÂú'ü==Må1ZZ¤ ~~æä̙ʔ”²ØX· ìBnn\]Ïœ¯xvª‡÷õ¥­\éâînüð!/,,+'gjk«Ty¤'Oø3g^§P»vy{y™={ÆOL,®¬äs8‚²²½þM½Õر—_¼h‘—• '.]2X±Â’É,×t­egg§zc=h•°°Ážž¦ aìX‹€Ë¢¢úúzöQrrÙóçÍ›6¹ZèØÚ¤¤ø˜›“·m+|ñ¢EÅN-rJeG>’7ÎË«e³…S§ø÷(¥UUÍ11nVzzê¾}>2™lëÖBÅqqîÖúú:4iÙ2§ñã-•Ÿ—êá#"ýühŠÎˆ& Fˆ‰ Q…H¥­qqîþþzz''jR’7‡#èæwP•@«¸»›Ê_[[SBlö«ŠáÊ•j„ÐĉVòD"~Ìs¡Pró&[ÅNÆŒ1wu5:{ö66‡:räÑ‚ö{K§³ðx\` µ¼ss²ƒµ¤¤¡¦F 1aÂ¥Õ?ŽÁnhuDõð#F˜´Ù·ÓH7n°BãÇ¿îÜ‚lkk $@E0O  U _ÿgH$ „°)"‘”Çk%‘mV ÑÈ!.W¨J'˜o¾qX»ö/w®¨hÊͭݳg$öv„‡ÇÅöÙ*+›LMIo¡\—ÂS(„öû*Äç‹I$‚žÞ;š™‘**:ä…yZt *-À{HÄêòx­|¾X±^ÁÌ47'«ÞÕôé6ÉÉ¥¿üò8<ÜñèÑG³g‘wH$â©T]>_\V6C~—«·ÆP„k·_O«I__‡Ï77K‹-ùM;%`Z‚ÑCÀûbòäBׯ×È·ˆDÒìl.™L7®“iRŠÜ×_Û×Ö¶=ÊLOþÕWoÌ2e€D"ËË«UÜøÃÇû»ýƒÅÈ̬Qlœ‘PŒ½¦PtZ[¥Øë  úéÓ•= ßi$l(CÄÔ׋**ø^ @§ Ò¼/¢£]mlôâã‹22X|¾¸¢¢iõê\.WçN£‘ºÔÕçŸ14ÔÝ»·4(èKË7n)EG»¤¿~}^V›Çkmh:U‘šÊØ¸Ñ »¥„ÅHH(¾~½†Ï×Ô6o.är… ¼ªØ† 3®¨hb±÷îÕ=}Ê÷ñ1ëax" 36&nß^xë§¹YÂdòÖ¬Ém3˜èXåЛ4²ÊCAAý¬Y™ò·K—:­Y㊭G…™8ÑêÈ‘ÑèÕ’T :½º¦F@¡èxx˜„‡;ŽmÞ¥N0»v•9ò(==ÐÙùõªT˜†ÑÁƒ :½šÅP©DWW£Å‹ÆŽµPl ajJòõ¥­Zå2dÈ«èóbc JJꉑ‘NsçÚ¶ßKyx„“9³K‘**š’’JnßæŠÅ2GGjT”ó±cÌìl.B(4tpb¢W§ßB÷dd°ÂÃsÚlܱãõÒ `•uëÒ*Piz“×Ó` ÒR7XO  _€J @] ÒP¨´Ô*-uJ @] ÒP¨´Ô*-uJ @] ÒP¨´ÔEGÓtAy9oß¾ûw¯I$2„¡¡î½{ÓBiivî,AYZ’ÿþûc UAffM||ñ³g|#DÓYP¸§kn–|øá•Å‹ok6ÆóçüY³²ÊËyŽ*(˜^XüÝw¾x<ûtÑ"&s¦‹‹‘fCªâéS~xøíää²/„šÎ€zA¥“ÉdR©L*•©¾‹›Û…Ù³oônŒÓ§+y¼Ö-[Fxy™R(:úú:< /oZ磻¤”yy™ž??Q_†V€–ƒÄ súú:ׯOÑt TYÙ„rv~îZ)—˜èE&4€¾÷´à!ËBDâ;ÿŸn(³ÀûîiÞyt:kÉ’ìõ•+“RRîß¾Ímh!„rs§™˜ëêZRS×®±Øl¡¡®-*ÊYq>Sy9o÷îÒœ®X,st¤._îtüxyv6!:80ÐZÞié'$!$Id\ºTU]ÝL"¼½ÍfÏ`I àä3ÓóòjííÏ!„œ|Ò·’0JNdǯ˜˜|ì£aÃ.´¹Ÿ~:()É»£ë£üô•œHG:9ýMÆïFÊÉ™ª¤ï¨´ï¼  k&sfddÎÕ«¬M› V®tIJòzø–…âp„¡¡Y--’;½|}Í«ªø›7Κ•uâ„¿§§)BèÉ~hh…BzP6á IDATHMõóò2«ªâÇÇ?xÐH$âËÊf`‡÷/?è–-—/W÷ïÈ‘fMMâ´´G·OžççG[´ÈaÑ"7· ®®ÆgÎŒWŒª<Œ’ ² {õ‘¼ÚCÕ׋||þ«äâtzúJN¤£>á§‚¨î¿ Š""ýühŠÎˆ& Fˆ‰ 19¹´ªª9&Æ- ÀJOàà@Ý·ÏG&“mÝZˆí’œ\ÚØØçîïo5HI)H”(;›ëà`èïoA&h4Ò† Ãmm :×i%'Ò½ Òé»w"A¥Ð*#F˜´ÙB§³ðx\` µ|‹¹9ÙÁZRÒPS#@ݸÁFo%o`jJ:´“jc«üüºØØ{õØP¤ä>Ša”œH÷tzÄî@E0zÐ*ÊS­E")׊òð¸Ø¾qee“©)‰Ï“H=½7v42ÒU~ -[Fxzšž=ûdÞ¼[¡‘#Mç̱<ù%»tÆÊŠÒщt*GìÆ‰À<-T•@›‰x*U—Ï—•ÍèhŠ·¾¾Ÿ/nn–([µµ-Ê{ÆáPHÈÀb±,'‡›–öhéÒbbÜ.´—7èF˜Þ¥Ê;=‘ö`žªƒÑC€–›2e€D"ËË«UÜøÃÇû»13a‚%úw Ãå +*š”wëé™^^ÎCéèàüý-…áë×kä (ÖV)ö:(ˆ~út¥*az]§GìôD=•@ËEG»¤¿~}^V›Çkmh:U‘šÊØ¸Ñ »Í=ÌØ˜¸}{á­[œæfÉÇë×ç››“;í9.®àÁƒ—"‘´¶¶åðá‡2=Ú\þé°aÆM,–àÞ½º§Où>>fª„éûÓïôD=“ÉÔòÿ¢ï'6›ÝÔ¤ìn½½Ýþýì©S;¹cÔ%õ³fe*na2g*¾mh<È Ó«Y,•Jtu5Z¼ØaìX yƒŠŠ¦¤¤’Û·¹ rq¡®[7üÛoËŠŠŠ‹ƒÑ›Ë\!„f̸gÏÈû÷_þúkÅ;/ª«$~Èý°0ÛÐÐÁòAÃÇy±±%%õÆÆÄÈH§¹sm; £äDÞšaÁ‚¿oÞäÈ7Nšd­¸ÅÒ¥NkÖ¸vzúžˆ:dd°ÂÃsÚlܱÃ+,l°úÞ¸tÉ`Å K&³\ÓA´–ê¡Òô&TZê0yòU¡Prã†æŸÀ@WA¥¥n]ª´`ôð¾ãr…ÞÞÿÅtƒyþœÿäIŒ z*-@/_Š6mºÇb qaaÝÊ•w u—/wÖt.À;Vy¼ïÌÍÉ?ÿìâÄã9sn²Ù##ݱc-RRF¨§éh€wTZ€ÆŒ13Æ ½Fí#æóùšÎ‚J ÐFçÇŒ³}ûv‹Õy[ NPiÚ'hõêÕýõW```ttôÇ5çý• }¨_ýuFFƶmÛŠ‹‹§M›U]]­éTï#¨´íD$CCCÿüóσ>xð`Ê”)©©©--<=ô.¨´m†Ãá‚‚‚.]º´|ùò#GŽL™2…N§k:Ô{*-@ûéêêFDDÐétÿeË–EEE544h:Ô{*-èβ·?‡ý¯¥E¢é8!”žþËãêz¾oŽ˜–ö;âØ±—;Ú¢n™™5“&Ñœþè›Ãi1 ‹øøø£GÞ½{wÆŒEEEšN¤ý Ò€Y3™3'M²ÖtצO·a2göå:«‹90™3]\Œ”lQŸ§Oùáá·““Ë^¼öÁáÞãÆûïÿ;tèÐ/¾øâÂ… šŽ£å Ò€WÜÜ.Ìž}CÓ)ÀRRʼ¼LÏŸŸ¨¯5éM¦¦¦iii_}õÕš5kvïÞ­é8Ú þÁÐ%&z‘ÉM§ÐNaݺu|ðÁÖ­[BëÖ­Ót"í•€þ Ê,u›;w®¾¾þúõëÉdrTT”¦ãh!¨´Ú@$’<ȸt©ªºº™D"x{›Íž=$ À’@Àa ÊËy»w—æäpÅb™£#uùr§ãÇ˳³¹¡ÐÐÁvv†;w– „òòjííÏ!„ƒ¢x.W˜”Tzó&‡@ÀyzšÆÅ¹¤¢ÓYK–ä`m®\™”’rÿömnCƒ!”›;ÍÄ„XW×’šÊ¸vÅf u}|hQQÎòIN‰ìÏ?«~ûí ƒñ’Ǭ6dþü¡xyrœŸ !ôä ?44‹B!¤¦úyy™UUñã㋾8"Âq×.ï‚‚º%KrV­Ê={6ý;k>22çêUÖ¦M+Wº$%y=|È ËBq8ÂÐЬ–ÉÎ^¾¾æUUüÍ› gÍÊ:qÂßÓÓ!”•U³rentô°ýû}¤Rtñâ³øøâšÁ† ñ㶠ÿì?1±øéÓfU.Ë¢E‹9gTV6mß^ãæìlÄd6nÜxïË/oýôÓX__BˆË††f …’;<}}͹\arré¼y·¼ÂÂ÷ä{iS­‚~kΜ9l6{Ë–-NNNšŽ£U`F<@dgs ýý-ÈdFÚ°a¸­­üÓääÒÆÆÖ¸8w ==‚ƒ5%e¤@еUÂÂ{zšR(„ѣͭ‹ŠêëëEmÚDD8úùÑ(#LŒbrriUUsLŒ[@€vè}û|d2ÙÖ­…ò½üüh‘‘ŽFFDâüùvÁÁ6Ç3›šÄo ïäDMJòæp] /H¶móÀò»¹™ìÙ3²µUº}{Ñ¿‡({þ¼yÓ&÷À@k[[ƒ”ssò¶m…/^Àzâï‹+Vøûû/_¾üåË—šÎ¢U Òhƒ ¬òóëbcïÔcÃUtzvC !tã!4~¼•¼½©)ièPƒ·vÕwwSùkKK2BˆÍn[îŒaÒf ÎÂãq¯×‰07';8PKJjj¡À@ë“'Ç)îââb$Ë=jì(¼…Y±ŽT…BP\”ÁɉjaA¾ÿ%‡#D]¹Rš8ñõ!ˆDü˜1æB¡äæMv—Þ]x<~÷îÝR©4!!AÓY´ Œ´Á–-#<=MÏž}2oÞ-„ÐÈ‘¦sæØNžüBH$’òùb‰ §÷ÆÜj##Ý.ÂÐðõ0±IT²v(”7!Iy¼V„‡ÇÅöVV6YYQx¼Ö£G™W®T×Ô[åŸb·Ü: ofFª¨hR=<•ÚödÍÌHް¶¶ÅؘÈãµ’H„6Ë(Ðhd„—Û£U¬`žÖ»ÅØØxÛ¶m‘‘‘3fÌ;v¬¦ãh ¨´Ú‡C!!CBŠÅ²œnZÚ£¥Kÿ‰‰q[¸ÐžHÄëëëðùâæf‰b½R[Ûv\ ‡C½‹HÄS©º|¾¸¬l†|n~áá9¹¹/ââ܃ƒmLLH8:vŒ™P,“ɰÞ›q¯º††V™ìÄNßÌŒD$â uy¼V>_¬Xla+…𛓻t 6`žÖ;gÒ¤I»víúã?ðxøêpÚÀÓ3½¼œ‡ÒÑÁùû[:4 ‡Cׯ×`ŸN˜`‰þ†Ãp¹Âö÷„(ÖV)ö:(ˆ~úteσM™2@"‘ååÕ*nüᇇãÆý)‘ȰÌÍÉ_}egjJÂ*¡–©bãöáëëEü.Åhi‘ÕÉß2ŽÐÅÅÈ‚ŒÂnþÉ/BH$’fgsÉd¸q–]:ÐÑÑÑ ãÏ?ÿÔt-•@KÄÅüP&C£G¿Z¤ :z˜±1qûöÂ[·8ÍÍ’‡ׯÏo·fØ0㊊&Kpï^ÝÓ§|³vé²èh×AƒôׯÏËÊbóx­ ¢S§*RS7º8ççGãr…GŽ<ª¯ …’œV¼ÙÃá™LÞš5¹m;eh¨»gOÙ½{u¤¸¸~íÚ»ººø¸8wyH½øø¢Œ Ÿ/®¨hZ½:—ËÆÅ¹Óh¤ž_ðnqtt úñÇ5DKàdí'@w±Ùì¦&eó‡ìííöïgOÚ…9Fª¸ÿ寿Vܹó¢ºZ@"ᇠÑ ³ ,/«¨hJJ*¹}›+‘ êºuÿûîþÝ»µòUBóbc JJꉑ‘NsçÚÔÏš•)o°t©Óš5®Ø‚[˜‰­–-sVlƒb2g*¾mh<È Ó«Y,•Jtu5Z¼ØaìX ìÓúzÑÞ½e™™5\®Ðؘ8a‚•¹9ùÐ!Bhøpã?þ˜¨[ ,*ÊùØ1¦|1°ÄD/å'88£®®åçŸýãã‹òóë$™»»ÉÚµí×ÓbÐéÕ55 EÇÃÃ$<Ü+Uå‹rÉ/•ªÛfËš5®Ê3t[F+<<§ÍÆ;zºü„v»tÉ`Å K&³¼Û=äææÎ™3çìÙ³îîî½LkØÙÙ©Þ*-@oÒT¥Õ óçßjSii+¬Òúûï5ô‘žWZ¡É“'ÄÄÄôV*uËÌÌŒöìƒÁè¨Íýû÷Oœ8qçΚš„¥¥¥Í¨Q£Æïââ‚Syªf—*-=@[“'O¾råJ§·cš››?üðÃÅ‹÷Mª·zúôixxxrrò‹/:j#•J“’’BBBˆDâþýûsssÿþûï½{÷Z[['''òÉ'%%%íÛCPi ­?üðùóç•••Ê›Éd2©T*•J•7S«””//¯óçÏëëë+isøðáÍ›7oÞ¼ÙÅÅ…L&S©Tww÷ÄÄĈˆµÆƒUïôôç«Våb¯ííÏ©2Õ©?Sœ7Ö…B/…ooN­ª€–qss#“Éùùù¶¶¶Jšéëë_¿~½ÏR½Ubb"™¬l9’òòò~øaøðá_|ñEûO#""Ž?®®pPiÞCÓ§ÛLŸn£é½¦Í|z…ŽŽŽ««kqqñgŸ}¦é,P^f!„NŸ>-•J?þøíS©Tjii©r½•ÞbÈ!Ïž=‰D¼téRuu5‰Dòööž={v@@@ ÓéK–,Á—––’H$„§§'ÇkÓ‡»y󦕕B¨®®.55õÚµkl6ÛÐÐÐÇÇ'**ÊÅÅEÞØÉÉI"QöXR–“Óö©Jܹs!¤xˆ¾•ÞbàÀ[¶l¹|ùòwß}7räȦ¦¦´´´ˆˆˆ“'Oúùù1™ÌÈÈÈ«W¯*îXTT¤§§‡½NMMýöÛo×®]‹•Y'44´¥¥eçξ¾¾UUU›7ož5kÖ‰'<==±]”üx°{¸\.BÈÈȨӖê3â𦦦 ÙÙÙþþþd2™F£mذAùÌ-E—.]Ú·oßgŸ}‰mINN®ªªŠ‰‰ ÐÓÓsppØ·oŸL&Ûºu«ÚÎuô Êàà`ûÉö:¨´ð E L˜0!???66¶  Ô£Óé~~~íuïÞ=ì†Vaaáºuë|||âããåŸÒét<(ßbnnîààPRR‚­q¥–––¡úúú6Û/^¼Èd2Ïëð7%½Fð:::"‘hË–-žžžgÏž7oBhäÈ‘sæÌ™OËÇǧ¤¤¤´´4 @õ½z TZx‹¦¦&CCC"‹srrÒÒÒ–.]³páÂŽväóù‹/‹ÅGŽ166–o'‰T*•Ïç—••>»³×çi}þùç?ýôSzzúÒ¥KU_¾·Àè!Þ‚ÇãQ©TOOÏòòr„ŽŽŽ¿¿ÿ¡C‡p8œ’5´$ÉÊ•+ËËË8 ŸÑµ|ùr:Žš2eŠD"ÉËËSÜå‡~7nœòûX=aggñèѣÇ·ÿTÝË®B¥€·àñx†††¡¸¸¸ˆD¢ÚÚÚÇËd²Ñ£Gw´WBBBfffBBÂ[çrEGG4hýúõYYY<¯¡¡áÔ©S©©©7nTr—«çV¯^½xñâäää7–””¡PÈ`0¾ÿþûˆˆàææ¦¦Cæ½éz´*ètÖ’%¯¦ƒ”–~B"©ñ/Šä ܉ø¾yùÄÆ¦ «wé ÓPiz“–UZ˜ÈÈœ«WYý¤ÒÂÌŸëîÝÚ¾©´0ÁÁuu-ŠuUû-Z©°°~îÜ›~h릫‹ON.ýý÷'GŽñ÷·Ðt´õV¥5a„9sæ¨oùƒwW—*-=€WÜÜ.Ìž}CÓ)@?"•Ê6lȧRuwíò²° ›˜·mó<Ø`ãÆ|‘H“ÏTî/_¾¬®®vrrÒtwTZÀÛåæÖ>zÔøÑGÈäW·3 ÜôéX,AFK³ÙÔíÖ­[x<^¾n;è6¨´€·»}›‹rs3VÜèæf‚º}û…f2õ•¿þúkÔ¨QŠk4€îõ´Ú@$’<ȸt©ªºº™D"x{›Íž=$ À’@xµvNy9o÷îÒœ®X,st¤._îtüxyv6!:ØÎΛâ—Wko!D àŒ7&ör¹Â¤¤Ò›79ÎÓÓ4.Î}Ð }ôæ¬ù+W&¥¤Ü¿}›ÛÐ BåæN31!ÖÕµ¤¦2®]c±ÙCC]ZT”³‹Ë«G°I$²?ÿ¬úí·' ÆKOúHÓA´Œ´Av6×ÁÁÐßß‚L&Ðh¤ †ÛÚÈ?MN.mll‹s÷÷·ÐÓ#88PSRF ][&1,l°§§)…B=Ú<0к¨¨¾¾^Ô¦MD„£ŸBÑ1„Á11!&'—VU5ÇĸXa‡Þ·ÏG&“mÝZ(ßËÏéhdD41!Οolsü8³©IüÖðNNÔ¤$oGÐ¥ðdÛ6,¿››Éž=#[[¥Û·ý{ˆ²çÏ›7mr ´60бµ5HIñ17'oÛVøâEK—ôVXÿqqîÖúú:4iÙ2§ñã-UOد`¿Ùïó•ÆûŽT*=vìØ§Ÿ~J£Ñ4E@¥Ð&Xåç×ÅÆÞ+(¨ÇF‹èô ì†BèÆ 6Bhüx+y{SSÒСoíª#îî¦ò×––d„›Ý¶Ü1¤Í:…Çã­å[ÌÍÉÔ’’†šB(0ÐúäÉqŠ»¸¸‰Å²G; oaAV¬#UA¡äã•!''ª…ùþý—Ž!tåJ5BhâÄׇ ñcƘ …’›7Ù]:Ð[aýO˜ðFiõãc,°W1¡¦ê"„š›ÅбJÕÕL&õû믿***,X é ZFÚ`Ë–žž¦gÏ>™7ïBhäHÓ9sl'Oþ!$Iù|1‰DÐÓ{c5,#£®ý¥44|ýLlUûå)”7!I±á'‹í;¬¬l²²¢ðx­G2¯\©®©46¾ÂþœwÞÌŒTQÑ…5ÉÚ—ff$GX[ÛblLäñZI$‚¾þh42BˆËíi¡ƒ]„öý«žÐ‚Üí£÷pž–!B«‰å°·¶¶†ÝNÕŸ577'&&Θ1cèСšÎ¢% Òh…„ (Ërr¸ii–.ý'&ÆmáB{"¯¯¯Ãç‹››%ŠõJmmÛq±^"ñTª.Ÿ/.+›!Ÿ›ßFxxNn8÷à`‡Žc&$cCT…ÇfÜ«®¡¡U&{ã±Ó73#‰xCC]¯•Ï+C/^BææÝ¯r0õ¯zBì-km}c +Å´#=œ§5j-5•”4Ìœ9H¾±¤¤!4z´vެ}ûí·ÍÍÍ6lÐtí£‡mà陎ýLLGçïoqèÐ(]¿^ƒ}Š[aÃp.WØþž…¢#ÿ[D?}º²çÁ¦L ‘Èòòj7þðÃÃqãþ”HdØGææä¯¾²35%auFKËõDûðõõ¢Š ~—b´´HŠŠêäoŒFGèâb„Ý.ÂnþÉ/BH$’fgsÉd¸q–í{ë*¬ÿÌÌÅÁÁ Å*&DYXï-q¹Âêj•~о¾4{{ÃË—«ZZ^Íê“HdééÏ­­)Šƒ­Z#77÷§Ÿ~úŸÿù3³~ý¸¡w TZ-WðàÁK‘HZ[ÛrøðC™ ýj‘‚èèaÆÆÄíÛ oÝâ47K>l\¿>¿ýÝšaÃŒ+*šX,Á½{uOŸò}|záMt´ë Aúë×çee±y¼Ö†Ñ©S©©ŒÝ€óó£q¹Â#GÕ׋„BIN÷×_+ÞìáðL&oÍšÜ6ƒ‰24Ôݳ§ìÞ½:@R\\¿ví]]]|\œ»<¤^||QF‹ÏWT4­^Ëå ãâÜi4R¯\½„„âë×kø|qM`óæB.W¸`ÁëGš(Oˆò÷·àp„¿üò¸¹Yòô)ûö"ùí.õÁãq;wz¿|Ùº~}>—+lhmÙRXYÙ´c‡Wÿy4Soáp8+W®œ8qbhh¨¦³hxî! 7i깇÷ï¿üõ׊;w^TW H$ü!úaa¶¡¡ƒå£QMII%·os%äâB]·nøwßÝoóèÀÇy±±%%õÆÆÄÈH§¹sm êgÍÊ”7XºÔiÍWlÁ-ÌĉVË–9+¶A1™3ß64ˆdÐéÕ,–€J%ºº-^ì0vì«§æÕ׋öî-Ë̬ár…ÆÆÄ ¬ÌÍɇ1BÇÿñÇDÅðØb`QQÎÇŽ1å‹%&z)¿8Ø þÙ?>¾(?¿N"‘¹»›¬]Û~=-^]S# Pt<!!A,¿|ùráÂ…ÿüóÏñãÇÝÝÝ;ít¬òx蠟?_µ*{moN•©Ný™â¼±6(‚|)|{ûsªL¨êõ +V¸¬XáÜÑ§Š“ÀÔšܹsgÍš5Øk©TZ]]}ðàÁÿþ÷¿MMM'Nœ>|¸fãi1˜§èMïÐ<-ZU¸w IDAT´UûyZ=š5k–@ J_¯!B"‘Ž9bnÞkOÀ<-¼Âf³çÏŸßÒÒ¢Xf!„$ɨQ£ ÌR7¨´­Åãñ¾úê«úúz±XÜæ#±XüÓO?UWWk$Øû*-@;µ´´,\¸°²²²}™%·wïÞ¾Œô‚J ÐB‰dåÊ•EEEJʬÖÖÖóçÏ—••õe°÷ üöÐBÛ¶mËÈÈh37 Çãñx¬ö"“ɶ¶¶nnnuuuôzTZ€öIdxˆŠíËkËÃ~ ´Ü5mGPk6€ZA¥js9æcçÇÙŽS¥qÞó¼/N~9:rõøÕêP7¨´@½þ·ð½x´1p£*ÿbüñ‰S?÷ø\ÝÁ}fÌ´JymybFâÝçwÅñˆF¬¿ÆÛÆûH$Ì>xéÁ¥ê—Õ$’·÷lÙCø‡çœ’œ$R‰’ÃÑôi9Q9JÔðj¯'˜y@Ÿ¨ßiø_ò~9}àhèÑŒè´1à•@{4·6o¾²yõ¸Õ.–.å/Ê7^Þøå©/úü'ß¾¡-W¶\~pù»ïFÙÔÒ”v'-â÷ˆ“_œôä×Q‡Œÿaô0ÒÆKƒ]‚GÝiËìÊì«®~ãû ”Yh=h^ /zB´··ž®ž›µÛžà=­’ÖíW·cŸfWf;ÐümýÉ:dš>mÃÄ ¶¦¶jÍs¦ðLe}å†À ª4¶¢Z ŽÞ9šöOšZSúTZíAÒ!°~}CÈÉÜÉÂÀâ>û>§‰ƒš`7!¿*?örlAu6&H§+¹¡ÕCÕÕ;3vîš¶‹¢KQ¥ýPÓ¡ÇÂŽéõw^ßùcîjJèc0zÐÆdc§¸ÅLÏŒÓÄ©å×ZXl ÚâùçÙ’³óNÍC´9ÇsÎdÇÉJ:ìÉ<­ f¯…÷ÅÉ/ÚlO¹‘’r#!t-âÚ`“ÁŠyðü1ìÇg츶‡p |(94à•@{ðZxm¶Ô6×"„ÌôÍB8.dxHÈð±Tœó$'íNÚÒ³Kc>ŒYè³°£{2OëK¯/¿ôúRqËùÒók/®m³F|Þ6ÞGÃŽ.ümaµž0ß{~·ú=hæÖæûìûò· .ƒÓÄq±t±0°@y¦x–×–#„tð:þ¶þ‡>;„Ãá®3¯k,n|ú ;JÑ¥l£o;‘BÓq=•@{Pt)[é[ Y…‚VA1«xíŵºݸIqòqÆ=à<IDµÍµ‡sËd2U~Ø÷|ú™u„¬CÞreËÉ{'5Ð}8™L¦é íÁf³›šš”4°··Û¿Ÿ=uª²6]¥ø„éï?û>)3©¨ºH*“º[»¯°V¾žÖ}öý_ ~½óôNuc5I‡4ÄdH؈°P÷Ð6S»Ô!S÷N)ng;îØìc¨ã'L#„²+³ÃŠ…!åcŽ(ºtÉ`Å K&³\ÓA´–ê¡Òô¦ÿoïÎÚºò>€Ÿ$$”. JQqÔª¸ƒ­ÓGÛŽ Z—ªŒ»u­‚TË8µjm]ZmÕÖj­\pÅQ*Z”AE([!@’÷;MóFÅ\ñûyæäääžß½>£ßÞsr®A’hCÒ¢Û%-ÌÐI €.HZtAÒ  ’]´è‚¤@$-º iÐI €.HZtAÒã‘ó¡­CÒ#Q¯ª'„pXCÒæ%e'qXœ¡Ý‡Á¸7Ý „xvôÔnô´÷Ô|¤?MVx#&†. ©DY¢9ÇçP¯=âä9)vL쫾[Z]šx-ñ¼ø¼D*±4µôqð™?x¾›­›Îa/͹{1öJî“åÝÙ{MðG+Gê#¥ZyæÏ3?Üý!³$Sªvµîî>½ßtj‰˜öA’ç$Ç\Œ¹”s‰c èðiȧR…tƒhCÊ£ž)o˜ó°UÃWñ8<}j{×XW¥JÙ@žMÊü”:BÎgŸ÷ïêoÎ6§Þæ<ÏÙzikJ~ŠR¥ô°óˆ ŒÒÿ2VÖTöý¼¯¦Û¢¡‹>ø±R­tùߊòQ®£'&ꌫç•×®­^YßCÐcÞ yßÜþæzÞuBHXï°-£·ä<Ï!„Ø[ÚkWkÏ·'„ä–æ½ÿ” I Ú¼!âåâÈc‘IÙI÷£î›š˜Ríeò2Ÿí> |±XVv LQ¯ˆíëè[PQ°öìÚ)û§|ï wgoíÃnJÚ1 "fLÌï¿GøäÄ'Çg§’œ“¼ðĨ€¨v¨Ôª“NnJÚT$-Z>l¹Nm›/lžã?'fLÌÙ̳Q§¢Êåål{ÑÐE]­»žH?±æì‡·jø*}j{Õe.ÍlâÅ|^ý<íiÚúë©·Ê…ãšp'$öíÒ÷qùã-¶ä—åëÅËÅýðÑÕÜ«IITpa1Xâåâ°aÓûMu}q\=¯¼Nm›’6ýYü'‡Åyð¯T©BJ1ç˜kL…È y…þc4fàí—WPQ°2he s 9ÛÜÅÆeûøíjµz½h½NÏp¯pïÎÞ\6wÓ @çÀ{…÷ÊäešOýý"ý#Û™µ³æZSéá›[ßÈ2ƒ„õëeß‹ËæNè5ÁÅÆ%ùaò?}ÿéfëfÎ6Ïû½.íº$?LnDmÍë‚ø‚š¨‡» ×”QYS¹&dÍànƒÍÙæ®ר1±Å²bí¯¼¶Ô™¾3UjÕÞ›{5_I}’*‘JF»~Õ¸ \yÚ\l\Æ%Èëä¯=G5QB †þc4’¼½DY"&ƒ$ Ò´,.6.éEéEÒ"íž½;öÖ¼îÈïH‘H%ÔÛ aСi‡´;»ÙºÕ«ê³Ÿeë §½ZÈÎÒŽÒ˾—¦ÅÞÒ^sÌ7ª­y‰²Džöž¶¶ÔÛË/B´×NÙZØvkßMç+ —:Ði »ûñôãåòrªÃî›»?ôùP{u¹Î¸ \ùkkoÞ¾{ûîÚ_·4µ$„T×Vk7RiŒoÆ×,€FÃì!¼¥j•µÔÔRŸ„>/~šW𧽏‡ú›B-º§î‹B¤ éÞÿî=—u®HZTYS©éöâÍ Ž…æ5ƒ0XL—ÍÕ´0L•ZÕˆÚ´5q–¼N~=ïúÜs5eTÕV™š˜jÖlQ:ð:P‹œô/õŸ¾ÿ\rrÉÁßÎ4/·4÷Öã[ñ¡ñ¯WÛ«®ü«jkÇm§ýÖ¹ƒ3!D'›UBtòbc4’¼¥8,ߌ_¥¨z°ôAS~º?ûèì[o­ ^êj͵f0ûníûìügMùGºÑµ5qÖµ¼k5õ5š}8,몭ª®«Ö4š[Sú—:Ö}l\rÜÔ³ÌÞûß½SûLÕ^û¯3®>^UÛóªçÚÝ8H¼–˜^”>±×DMczQ:!Ä¿«¿þÃ4fàí5Òu¤R­Ôy6Ë®”]CvQªº3¤¡T)SŸ¤ ,3úÏhoÞžZú£¨W´†Ú!);ÉÁÊ¡‡ ‡¦% {ùkžŽR&/ÓÜÐÒ¿TƒõAÿžW?ßûß½§2NÍè?£áqõñbm%²Ú|}…6ÂßþüMó‡¢T)OeœêÈï8ÌyØ Ð8HZðöŠ ˆr´r\öë²ä‡ÉR…´\^þýï¯%®Z¡ç$“åçèW"+Ù}sw™¼¬¦¾&åQÊww¾k µ½)•ZuA|AçÆRT`”×j£hãÕÜ«ÕuÕâgâÅ¿,Ö™°Ó³Ôwû¼kij¹íò¶—; »†ÇÕ‡NmY%YËN/X´û0ÌèÑÑ5Ë~]V"+)——¯­Ë+ÍÛüÎfÍoThÅP«1 ÍF"‘Èdº¿¹Ó&:ïØ!=º¡>oJ{K$BÈxññ¡ñùðJîMc°KpRv’æíÜs]L)——ï¼¾S”-*¬,ä›ñÝíÜgùÍä4ˆ’ö4mÊþ):_F 5-ÄÃvOÙ]&/ÛvyÛ¥œK%²+®U@÷…àË_BzÙ÷Z7bÎAB\B&~û÷LVT@T‡þï|WÓ²`ð‚ƒ4\RŸ¤N=8õдC~Ž~Úí¹¥¹±—bo<ºAíY5Ðü}·÷iïY¥©1cvßÜ}ê£SÚ[ù¿8®žW^»6¥Jéfëö¯À}~åó{…÷þXò‡ö¸$â“ãS RU*•W'¯O†|Ò¯K¿7ë‚øÂ죳uÎhó;›Ã½Âõº¾-èôi‹ ìÄâCb´œõÍÉ I šEÌŘïýxsÁÍ~àLóŽ;b÷ˆšºšËs/¿¾«ñBÒ¢Û%-Ì!„$e't0ÈS¥7n‰¬¤ßçý¨§0QžT³ýfè:@óÅœç9[/mMÉOQª”vQQ/¼´º4ñZâyñy‰Tbijéãà3ð|7[7BÈž›{¨µMvvÿ™üŸ­—¶Þ}zW¥VyuòZIF !,&+séÿ»¥TRU{1öJî“åÝÙ{MðG+ÇÎ×5ÖU©R6ÐÁ†g“2?åõŽ™B–Y’—'à âÆÆ5ÐóôŸ§ !sÎÕç° ÁP«Õ†®Œ‡D"‘Éd t wìŒÝPŸÆ‰<™”¤IZ%²’°a5õ5›ßÙìëà[RU—w.ëÜg£> ÷ '„<*{4ñÛ‰\n̘˜¾]ú>.¼å–¼Ò¼bY±æ·‡Å²â°aŠzEôèh_G߂Ђµg×Þ-¼{ð½ƒÞ½©>¡ûBóJózÚö\´²§mOñ3ñŠßVä<ÏùöÝo}|©>žñžîvîGÞ?òÒšƒ]‚#Dô´í™ö4mÎñ9ÝÛw?>ãx³_Ÿýûú¿.'Büý> ùÔUàúªžÏªžýzl0hó;›[ 0h¢Ó§-,°‹s ]ˆÑrvvÖ¿3fÀ8Å%Ç=©x²:xu0ÈÂÔ¢[ûn ã<ÁцgUϨ•5•kBÖ î6Øœmî*p[,+Ö9HAEÁÊ •Îæls—íã·«Õêõ¢õÚÝäuò #7xwöæ²¹ž=ãCãë”u“6êYj¸W8õ]ÿ®þA {…÷ÊäeÍuðñÀ3þ•qvÖYçÎãöK¼–øÒnåòò|èçè·q¤¾gHZ`œÎe#„ s¦iá°8ÖÔ×\ɽB¹üð2!dh÷¡š¶¶ÝÚwÓ>ˆ(KÄd0ƒ„Aš…ÀÅÆ%½(½HZ¤iä²¹Ô|"ÅUàjka›!ÉÐÉm¯Ò»coÍk; ;BˆD*Ñ÷<›†Íb;wpÞ0rÃpáðϯ|~-ïšNyüƒ#¸\¶…nc1Y-S€1Á:-0BµÊZ©BjjbÊãð´Ûmx6„YI­²¶ª¶ÊÔÄÔœm®Ý¡¯Cni®öA!}ú¼8D^iž½¥=õšoÊ×ù´ƒy‡bYñóªç¶¶¯­V{:“Á$„¨ICë:šq–F0è\Ö¹‹â‹ƒœi•j弟æÙYØm»•Å@Ìh $-0BÇÒÔRªVÕVi‡-jÞP`!à°8<¯ª¶ªº®Z;l•Ë˵Â7ãW)ª,}ÐpÎ(¯)×ÙûàyõsBH^ê-ƒ4çïõtÔ7 js‡òšríÆÕgV×*kÿ3ù?šÓú2hÛ¸m}:½$zÀKaöŒÓˆ#!sþÞd«VY{=ﺙ‰ÙnC!ÝÈ_sˆ”2y™æ†e¤ëH¥Z™ú$U»qWÊ®!;‡(ÕßURÔ+îÞÓ¼Í,É,–»Ù¹inhqÙÜ:eõ:ä«Ãi‡›é,cË…-KN.ÑiL~˜Lþÿ<掫;²Š³vMÙE…0hÜÓãu3ÿ榤Mæls?G¿bYq\r\IUɦQ›¨9ĨÀ¨ë®om´àXôíÒ÷iÅÓÏÎfÎ6§f ÿ>È£›Ë~]¶nĺ¾û*UÊßþü-ñZb̘í»\–¦–ñ—ã Y¤ùí!›Å^¼FÓÁÃÞãNÁÂÊÂ"iQ~Y¾ƒOK^Šýòà'k§‰žm-l‹eÅßÝùîÄý½ì{Q¿Ê$„ûãØŽ«;!½ã{7x$x ìòÍÉ »>4žüµŸ–(KT$-â²¹}:õ™=`¶WMÏÜÒÜØK±7ݨWÖ÷ô˜?hþ¾Ûû®ç]'„„õ£öI/——ï¼¾S”-*¬,ä›ñÝíÜgùÍÒ^̺/´´ªtÿ{û7%mú½àw¥JÙ»cï%K¨ý´(Ÿ?\ufUzQº×*Ò?òÞÿH{š6eÿM‡¹ç.º˜Úp‹2L8l÷”ÝÍx•4d Ùo™¿Î8[š+‘IØLv÷ÝG¹ŽúÀç33ªÏ¬£³.Š_¾çþÑéG1{ØÊa—º½Ñ.HZМ ¸Ÿ–¡PIëÚ<Ý_í ’ݰŸ@«€¤@$-€FÚss0Z˜!ÉÈ$Âhá¶ËÛ ]´:øí!@#Íô›9Óo¦¡«€V ÷´è‚¤@$-º iÐI €.HZtAÒ  ’]´è‚¤ЖT×Uß5|ÖÑY†.ô‚¤Ж¨Õj•Z¥R©´=ã=§œj¨’ xî!@[Âãð.F^4t /ÜÓ  îi@›'ÊÍ9>‡z}nÖ¹„+ 7Ý(——Búué—ú$•ú¨_—~GÞ?B¹žw}úáé_Mù*HDÙ”´é›ÛßP}2—e²¬‡puUª” Ô`óI™ŸòÒ"E&e'é_CâÄÄy?Í{éél~góÊßVRݺojbºçæžè‹Ñ„Ô'©Âh!!„Åde.ͤú”V—&^K/‘J,M-}|æžïfëÖÐÕ€fÅP«Õ†®Œ‡D"‘Éd t wìŒÝPŸÆ¡¯ƒïÂ! {wìõ,+ü@xÊü”Óž^{ví¶Ðmã<ÆQ=—ýºìØÇƸÙ>~;Õ"ÊøýÀþw÷7{U”Cw½i ¯:k®5õ•´¨ÎžñžîvîT†Ó(–‡SÔ+¢GGû:úT¬=»öná݃ïôîìMÓ™Bkpú´Å‚vbqŽ¡ 1ZÎÎÎúwÆì!•ÿ?G?.›ëÕÑ+si¦5×zLÏ1lûçû?Sjêk’²“ºZw=Ÿ}¾ª¶Šjü)ý§‰½&ÒWU£kxñtô4.9® ¢`eÐÊ@ç@s¶¹‹ËöñÛÕjõzÑúf9)Ð’¯Ž^:-V\«@çÀky×Jd%„¤ì$¯N^ï÷}¿¦¾ælæYBH¹¼üfþÍ‘®#髪Ñ5¼x:úe‰˜ &5;IX\l\Ò‹Ò‹¤E>,¼¬Ó£Âes_lœØk¢(Kt2ãäG>ýœþóÄ^ý»úG_ŒþåÁ/“<'Ê85L8ÌœmÞÀa›²N«)5¼ôtôQ«¬•*¤„> }^ü4¯4ÏÞÒ¾qG€7‚¤Æo˜ó0+®ÕOü4ÁcBÚӴĉ‰f&fƒ_Í»Z,+>þÇñ%K>‚f¹khƒ0tZ8,ߌ_¥¨z°ôÁK×ø@ËÀì!?6‹=ÆmLFqF|r|°K°™‰!dB¯ J•rû•íŲbÿ®þmº.›[§¬£^‡|r8í0!d¤ëH¥Z©ùé%eWÊ®!;‡(Õ ÝŸ€f„¤o… !GîѬ:éÂãðŽÜ=2Þc<“ÑÒWƒ‡½Gninaeá‚;ùeù>>„¨€(G+Çe¿.K~˜,UHËååßßù>ñZ⊠¸ËÐb0{m^ÚÓ´)û§P¯=â<!âåb>Þ½¬j•µ¾¾T‹™‰Ù(×QÇþ8Fë¯QC§£½s˜GœÇxññ¡ñ„ÕÃW¯:³jÄîV\«OG|êÜÁ™ÒÁ¼ÃñÇw^ß¹îܺÂÊB¾ßÝÎýËÉ_rÔ2ç ûi@ó2à~Z@Á~ZtÃ~Z­’]´è‚¤@$-º iÐI €.HZtAÒ  ’]´è‚¤FK”%F ©ÿ)ê†.‡BNeœ¢êqßêÞ2#^ʹ¼+Ø5Öµe†HZ`´Bz„ˆ—‹ƒ]‚ ]È߯º/tØcå—çÏ>:;.9îYõ³^ I Œ„g¼çÔƒS ]E+’p9¡oç¾'><Ácó ] ÀÛËÄÐ-¶ŒÞbfbfè*Þv¸§`œ³ZÜÓ€6oÏÍ=Ñ£ !©OR…ÑBB‹ÉÊ\š©Ý§¤ª$öbì•Ü+,&Ë»³÷šà5ŽVŽ„Q–hÎñ9TŸs³Î%\I¸ñèF¹¼œrká-k®uiuiâµÄóâó©ÄÒÔÒÇÁgþàùn¶nÔW”jå™?Ïüp÷‡Ì’L©BÚÕºk¸Wøô~Ó™Œ¿ÿ;6çyÎÖK[SòS”*¥‡GT`”>'åëªT)è`óI™Ÿ¢ÿUƒ@Ò€6o¦ßÌ™~3=ã=Ýíܼä¥}6%mŠ3&&íiÚœãs>9ñÉñÇÉ_«æ#E&e'­>³zá…±cb³že…'„ˊÄ)êÑ££}} * Öž];eÿ”ƒïôîìMIÎI^xbaT@ÔŽ ;TjÕÉ'7%m*’-¶œ÷QÙ£°a\nℾ]ú>.¼å–ü²üמ”NR€6 ³‡ðV÷ ÷îìÍesý»ú ƒîÞ+“—éô‰ððsôã²¹^±»2nIDAT½2—fZs­ã’ã * V­ t4g›»Ø¸l¿]­V¯­×|ËÏÑ/Ò?²Y;k®õô~ÓCÝC¿¹õL!£>KŽ«¬©\²fp·ÁælsWkì˜ØbYqË9’¼zwì­ymgaG‘H%:}¼:zé´ˆ²DL3H¤iX\l\Ò‹Ò‹¤E„ aСi‡´¿âfëV¯ªÏ~–M½½üð2!dh÷¡š¶¶ÝÚwkú@›€ÙCx+XšZj^S‹¨ÔD­Ó‡Ëæj¿­UÖJRBHŸ„>/0¯4ÏÞÒ^ªîýïÞsY犤E•5•šOåurêUµU¦&¦ælsíïvàuÈ-Ím¸`¬Ó0HZ`$„Ѽä°8|3~•¢êÁÒ,ë¥}f}ëñ­5ÁkBÝC­¹Ö cß­}ŸÿŒŠq‡ÇáUÕVU×Uk‡-jÅ}ðN À8`öŒ—Í­SÖQ¯C¾ 9œv¸éÇé:R©V¦>IÕnÜ•²kÈÎ!JµR©R¦>IXfôŸÑÞ¼=ƒÁ „è<ö' {ùk‘R&/{í -0HZ`$<ì=rKs + ïÜÉ/Ë÷qðiú1£¢­—ýº,ùa²T!-——çûÄk‰+‚V°,“åçèW"+Ù}sw™¼¬¦¾&åQÊww¾ûGŒ²âZmm¼š{µº®ZüL¼ø—Å:“‰`ÄjµîJ€F“H$2™¬®®ÝãâŠCCêÓ8Ÿ?\ufUzQº×*Ò?òÞÿH{š6eÿM‡¹ç.º˜Úp‹2L8ìãk÷!„ˆ—‹µß–ËËw^ß)ÊVòÍøîvî³üf rD}Z&/ÛvyÛ¥œK%²+®U@÷…àË_BzÙ÷úùƒŸ !¹¥¹±—bo<ºQ¯¬ï!è1Ðü}·÷]Ï»N ë¶eô–f¿” â ³ÎÖiÜüÎæp¯pšF„VâäI‹¨(ÛÌ̇†.Äh9;;ëßI šÓk“VÿþN‹—N›VÙ@hŠC‡ø íoßÎ3t!Fë’f E98Ôçæ² ]€1ËËãtíZoè*à´ Eyx(ÒÒð<>¥¥™º¹)^ßZ’´¨!CªïÝ3{öìå›&@•”°îÞ5:´ÚÐ…Àÿ i@‹ ¨¶°P=Ê7t!ÆéØ1>Ÿ¯BÒj=´ E™™©ß}·òë¯ÛUTàï€fVQÁüúëvS§Vš™áçn­þ¦€–6wn™‰ ùâ‹ö†.ÀØìØÑžÁ ‘‘ºOOBÒ€–Æã©-*=p€ÿ¾©¡k0÷ï›<ÈŠ*µ´Tºø’ÀäÉ•ÔDDØãé«Í ¸Ø$"Â~À€šÉ“±Y]낤Àd’/¾(âñÔör9þ"h¹œaÏã©¿ø¢ˆ‰ÿ?µ2øÃàóU»w˜L›Ö w¶­¸ØdÚ´N&»wòù˜7lu´À`ëŽ-¨®fNšÔk¶áþ}ÓI“:WW3-pt¬3t9ðHZ`HŽŽu?þøD(¬›4©óÆ6Øú@OÌm&Mê,ÖýøãĬV O˜€æôÚ'L¿”JEŽãÇŵW«ÉGULž\)(é(À””°Žãýu;ƒDE•Nž\‰µY-ìž0¤Í©qI‹"•2¿üÒúÈ~e%³wïoï'§ºvíT,<¹ÞzJ%©¨`åå™Ü¹cv¯š:µ22² :’LS’¥¦†qù²ù•+æé馛H¥,%noÁ[É$|¾ÊÁ¡ÎÃC1thu@@µ©)þù6$-0˜¦'-€Vî’¦v肤@$-º iÐI €.HZtAÒ  ’]´èbbèÀ¨˜ššº€VOã  f肤@$-º iÐI €.HZtAÒ  ’]´è‚¤@$-º iÐI €.HZtù?‹à¤ïùÙIEND®B`‚fio-3.39/examples/uring-cmd-pi-ext.fio000066400000000000000000000014751476262051600176530ustar00rootroot00000000000000# Protection information test with io_uring_cmd I/O engine for nvme-ns generic # character device. # # This requires nvme device to be formatted with extended LBA data size and # protection information enabled. This can be done with nvme-cli utility. # Replace bs below with the correct extended LBA size. # # First we sequentially write to the device, without protection information # action being set. FIO will generate and send necessary protection # information data as per the protection information check option. Later on we # sequentially read and verify the device returned protection information data. # [global] filename=/dev/ng0n1 ioengine=io_uring_cmd cmd_type=nvme size=1G iodepth=32 bs=4160 pi_act=0 pi_chk=GUARD,APPTAG,REFTAG apptag=0x0888 apptag_mask=0xFFFF thread=1 stonewall=1 [write] rw=write [read] rw=read fio-3.39/examples/uring-cmd-pi-ext.png000066400000000000000000002361661476262051600176710ustar00rootroot00000000000000‰PNG  IHDR%sôbKGDÿÿÿ ½§“ IDATxœìÝy\”Õþðϰ þ£ "( ¢(¨I殹@j7\²¼uÕ4WTrßn’š»¦÷æUo]e™¦fjYf¢f.*â†Û€(û><¿?&”me>ï׋×kæ<ç9Ï÷ÌœÈ/ç<ç‘‚ €ˆˆˆˆˆˆôÁ~]G@DDDDDD‡I ‘aHDDDDD¤G˜é&DDDDDDz„I ‘aHDDDDD¤G˜é&DDDDDDz„I 5y§OŸ†D"QûÙ¼y³®Ãzn) „……¡C‡077‡T*…½½=:tè€×^{ wïÞÕuˆDDôL‰ˆž#¥¥¥5jär9^yåé:¤çBŸ>} ¼¼¼íšMõ»º{÷.üüü°aÃܸqëÖ­Crr2®_¿Ž^½zá믿Fjjª®Ã$"¢'`HDô‰‰‰Áþýû‘ŸŸo¿ý¿ÿþ»®C¢j<«ßUbb¢ÚŒè•+WjuþòåËÅ$ï7ÞÀ»ï¾ {{{ØÛÛã£>‚6Â&"¢Ä$ˆè9âëë‹W_}2™ AAAèÚµ«®C¢j4ÕïêçŸ_¿ð jÇ ñðáCr""z¶é:""ª9ccc|ýõ׺ƒj ©~W=_ÛÚÚê0""ª+Î5ÐÐPÍGÊ7È|}}!—ËannŽvíÚaìØ±øæ›oP\\\mÜãÆƒ££#¤R)\]]1sæLäççc÷îÝèÒ¥ d2ñÊ+¯àÆ5îO]Tõ½îرÝ»w‡™™är9ºuë†O?ýT<§ª~•W5•œœŒ9sæÀÇÇfff055…——ÂÂÂðàÁ±ž³³³Æµ$  V6eʸ¹¹©]Ç×׉ÎÎÎOŒgÛ¶mH$ÈÍÍËBBBª¼¶©©©ÆùYYYxÿý÷+++ÃÉÉ ƒÆ—_~Y«Ï†ˆˆêI "¢'ÄcóçÏË_|ñEsår¹xÜËËKXµj•ððáCa×®]!**J£Þþýû«m£yóæÂ… „¬¬,aذabùܹsÕÎùñÇccc€`ee%œ9sFxôè‘0kÖ,µ¾lÚ´©ÆŸÃÕ«WGGG€``` lÙ²EHOO222„+V„;wVw‹-„Ë—/ <ºté"–»ºº Ë—/²³³…;vˆåÞÞÞBII‰VûSù{ …»wï ~~~bù¼yóªý>*WO#ØÙÙ‰ßc||¼pçÎÁÝÝ]üŒÅúÿþ÷¿ÅëH$áСC‚ BZZšàææ&|ñÅbÝ?ÿüS­/±±±5ŽëI}:tèXnbb¢vÎÍ›7777€`aa!œ:uJÈÌÌV®\)ž3räHµï‘ˆˆ´æ+&DD ¨¡’À¾}ûª³³³«u¸|ùr±|Ïž=b¹‡‡‡Ú9ÞÞÞâ± &ˆåÙÙÙb2UÛ¤é…^Ï{å•W4ŽT›~øá‡bù¼yóÄr{{{¡´´TUrSñs¾víšVûSù{=räˆxìóÏ?Ë „ëׯWÙ¯Ú$]»vÏ›5k–X¾`Á±|ôèÑjç¼õÖ[â1KKK!..N0`€Úù‚ ›$ð¥—^½ýöÛb¹R©¬­­ëôQ}Åå DDÏ aÆ©½ðàjÕ†§§§øÚÂÂB|””$¾¾wï®_¿.¾÷ððP;ÇÉɩʶMMM5––_/)) ‘‘‘b]ó£¢¢0qâÄ*ÛnÕª•øÚÜÜ\|íææCCCr@µtR[ý©JÅv+¾.++Ã?üPíy5¹^RR¢¢¢ÄºÍš5_7oÞ\|}øðaµ¥½ÿþ÷¿Ñ¹sg@vv6ºv튂‚‚:/ƒm(ÉÉÉ8{ö¬ø¾âçj``wwwñ=—…5&DDÏ —z·QÕ}Y ‚øºâ½eU#—Ëk}]…B¡ö¾rÂö4ÿ×$‘HžZ<î“6úS333ñµL&S;–žž^¯¶+?coþüùb¢8cÆ ±¼¨¨ â{SSSìÙ³G|Ÿ››‹àà`×+žúªÜŸÊŸWÅï(%%¥Qb""ÒwL‰ˆPå䤢ª6d©ŽT*mˆpžÊÞÞ^í}åóòòjÝfåÙ¶œœœÚVGÚèOUòó󫽆ƒƒC½ÚvttT{¿råJ‚PåO»víÔꆇ‡£E‹âû¥K—ªÍÊO£åŠŠŠ0lØ0ØØØà?ÿùO=z£ùÊŸWaaaµu‰ˆH;˜5 Êÿˆ­˜Ýºu«±Ãyª–-[ÂÇÇG|ûömñuNNŽÆ¬^¹ÂÂB„¤¼Í›7G÷îÝź.\P;·¨¨XºtiCv€vúS•ŠíV|-‘H0hР§Æù¤ë¹¹¹ÁÏÏO¬[ÕÃÜûöí‹^½z©•mÙ²—/_Ftt4‚‚‚%%% Q›¬<3[RRèÝ»7&Ož 8pàŽ?ŽÌÌL„††¢´´ô©}ªŽ‹‹‹Z¬?¯²²2µÙ̱cÇÖù:DDTsL‰ˆ¥¥%úôé#¾ß¿?òòòðí·ßâäÉ“º ì >úè#qÉàpöìYdffbÙ²eb‚P[»wïgÄŽ?ŽmÛ¶!33III˜0almm1mÚ´ëCEÚèOekÖ¬ARRîß¿ 6ˆåaaaðòòªwû;wî„¥¥%à믿ƞ={••…´´4,^¼QQQX³fXÿüùóX±b<kkküßÿýŸx¯]bb"ÆŒ¥R °²²BÛ¶mÅs£¢¢pãÆ \¸pA»— W|]W»wïMqàÀœ>}ÙÙÙX½z5233#GŽÔÚ˜ "¢Js""}””$Œ;VpvvŒ…-Z³fͦOŸ®¶+#þÚ™ñ‹/¾Ð(/ÿ©¸»huõz÷î]í±¹sç ‹/®òØ'Ÿ|"¶ýÛo¿ Æ ¬­­cccÁÃÃCX»v­Ð¶m[±þæÍ›kõ9¤¥¥ ,:vì(ÈårÁÄÄDpwwÞyçáÞ½{OìÓâÅ‹…Ñ£Gk” QQQUžó·¿ýí©ýñòòR;ÇËË«F}©¼;èÇ,tíÚU055d2™ ü÷¿ÿ­ÑwUSwïÞ¦M›&´iÓF055ÌÌ֭̄[ o½õ–-Ö«|G :uªòúëÖ­?Ÿ—^zI077 aîܹBYY™ ‚PXX( :w.DË–%°²R€ù ‘Näå 5ÕW¯šàÌ3üø£eeLš”‰I“A&ã?éõ‰““ÌÍÍëzú~&DDϱ†JïÝ3Æòåöøå3çbÖ¬‡hÙ²¤"$""mÈË3ÀÞ½–ؾÝ––eX²ä ÊÓuXÔHê›òoºDDzîüy^}Õ†øâ‹$lܨ`HDôŒ“ËË0iR&Nž¼ÀÀL›æŒõëmyï6Õ“@""=¶oŸ%þñôê•’P¨ëˆˆ¨ìí•X³& ~˜†Ý»­1c†3 %º‹žqL‰ˆôÔ·ßšcÉLš‰01៉ˆžW¯¾šƒ={’)CX˜ʸ_ =“@""=k‚E‹ñdbæÌ‡ðÆDDϽ®] ññÇ)8uÊ ›6Ùê:z†1 $"Ò3™™†˜4É=zäcþü ]‡CDD (  ááéøøcœ8!×u8ôŒbHD¤g6m²°qcù@DÔ½újþö·|ð= ¸Ôƒ4ñÿDDzäæM)¾üÒï½—ssÞ0BDÔT½÷^rr °s§®C¡g“@""=²~½-:t(ƈ9º…ˆˆ´ÈÎN‰©SaçNkdeñŸü¤Ž#‚ˆHO¤¦áôi9&NÌäF0¤w”J%f̘___¼óÎ;(..ÖuHDZ÷úëÙ00pø°…®C¡g “@""=qò¤2Y ÈÓu(Dîúõëøî»ïPPP€S§N!::Z<–šš OOOñçÆ:Œ”¨áÈåe80Ä&DDz"2R†^(€±1ŸHúÇËË /¿ü2LMMѯ_?tìØQ×!5Š—^ÊÇ¥K¦(.æzÌH×Qã¸~]ŠW^á½€¤ŸŒŒŒ°}ûv]‡AÔè:t(Fi©·oÃLJˠI…I ‘žP( áâRªë0ˆ7nÜÀСC5Ê—/_Ž7ß|eeeèÙ³'ÒÒÒ°dɼõÖ[___TÛîæÍ›q÷î]8p)))P*•˜0avïÞ­VoÛ¶mù¹¹¹øöÛoñÃ? ¤¤»wïÆðááP(à“!jXffªÇååñŸýôG‘žpWPz¦bĈâûŠÉÞ×_-¾¾víâããÑÑÑHJJÂ!CªlÓÑÑS¦L••BBB`mmÝ ±.\¸™™™€!C†ÀÝÝ®®® $''cÕªU r-¢†Tþ{_àß©&DDD¤3¯¾úªøúúõ눋‹CNNNž< ñXyRxðàA¼üòË077¯²½¾}ûª½¿pá|}}ë£B¡@LLŒø¾â쥓““øúÇDaaa½®EDÔ˜‘ÎxzzªíÔyðàA=zîîî˜={¶X~äÈàèÑ£9rdµí9884xŒéééjï×®]+>NâŸÿü§X^\\ŒÄÄÄ¿>QCãÆ0DDD¤S¯¾úª8ÓväÈ4oÞûÛßЯ_?XYY!++ <ÀòåË!“ÉXm[R©´Ö×—žžžj÷æUWïõ×_߯_¿]»v…™™–-[†qãÆáõ×_wÿôõõűcÇðÆoÀÍÍ K–,A`` ^{í5¤¥¥aÿþýèÒ¥KÃ} DDZ$nKDô¼R(ÈÍÍ­Q]OOlݪÀС5«ODDMÿ7=NNNÕî’\û9HDDDDD¤G˜é&DDDDDDz„I ‘aHDDDDD¤G˜é&DDDDDDz„I ‘aHDDDDD¤G˜é&DDDDDDz„I ‘1ÒuDDDD¤}G&"44 •àÚµá:Žˆˆt…3DD¤5ùùJôïÿ&MúUס4ˆ¦ÖŸª<Ï}|žco AA®¸uk$t é“@""ÒAPV¦úi šZªò<÷ñyŽˆ¨1q9(i\n„Ÿ~Y×a4˜¦ÖŸª<Ï}|žc'"jLœ $"""""Ò#œ $""­øñǼûn¤øþêÕW`bb(¾ÏÌ,Æöí×qòd RR `ff??[¼óN¼ð‚ú=KaÛ¶xüôS ŠXX£kW{̘á «*¯wúô ¬]{gϦÁÐP‚Îm±tiG´h!Wkûöí¬[w‘‘é(-ж­%¦O÷§ŸÞÆùó逖è×Ï¥ÊþÔõº5éÓÓxy†RY³¥öö&ˆŒúÄ: ù=ÉöíñØ´éÀßßûöõœ9£À?þq`m-Å… êŒë‡`Ó¦8üúk:23‹«VuÁ¢E—4b×ö¸X½ºKû]ñóKM-„­­>Ü Ã†¹âìÙ4µX#"^Ƈ^ÁéÓ©J Ñ»·–-눜œ¼ÿ~,"#Ó —£o_',^Ür¹ú?ë*öA©Ú··BXXûÇKDM—D.œ'"zN) äææÖ¨®§§¶nU`èКÕo(S¦Dâäɵ„"=½!!(,TbÕªÎèÖÍéé…X¿þ*~ø!|УFµ¤¥©ê)±fMtëæ€¤¤<,_èèGøì³žèÜÙVãz¸`òä¶ðö¶Â¥K˜<9mÛZâàÁ>bÝ{÷ò0räÏÉ ñá‡þèÒÅIIyE\\rsK4vP¬ª?µ½nmûÔØêûÕ”¯ï´kg-&åFŒø‰‰ùbX9®nÝì1k–:v´Æ95*‘‘Cac#mï§.ãâiÊ?¿¢¢2|ðºww@AûöÝŦM×°x±/Þ~ÛS-Ö—_n†wßõ‚‡‡NœHFXØôîícc̚僖-ÍñÍ7÷±téxûm,^Üñ‰}øóÏ<¬^‹»wó–VÀÝAõˆ®~ÿ“ö899ÁÜܼ®§ïçrP""jtë×_Cbb>–,éˆ~ý\`nnwwslÚÔ¦xÿýh~DFV½Ú|gµa` AII™FyvvI݃­'mŒ‹§}~ íi}(ßL‡ˆô—ƒQ£4¨àçŸSÕÊ‹‹Ëpþ|:LM ñÒKªes/¿ÜJ¥€‹34ÚÙ±ã^zéûφUV¾4¯|é\¹ôôB­Î”h³OÚR›ï¬¦M5–½¦§"99¿~ÁÖ“6ÆEùçwútªÆ±ààSøàƒØ:µ[êúðèQ1òôZDôüaHDD.,¬\]̓S§R—WŠ„„\Ìž…ôôB,]Úöö&bÝ-ä˜?ÿ"""ÈÉ)Aff1¾ø"Û¶ÅcáBß:Ϧ……µ‡µµ+WFãܹ4äç+qãF6æÏ¿TëY­Ú]W{}Ò–Ú|g5Õ³§#ÒÒ ñÿwùùJÜ¿Ÿ‡•+c`gW»vš6ÆEùç÷Á±øùçTäå•"5µË—G#=½o¿í¡õ>ܺ•ƒ9s¢ª\"JDú…ˆ "zŽ=ˈ¨ü|6>Ü 6(fZ<~ü1©©ÉŒàçgƒwÞi‹=ÔŸ9—™YŒýKU7%¥––R´kg…I“ÚàÅüñ¯½vZí¼©S½0gN;xzR+ïÛ×;wö$$äbíÚ+øõWÕ³Ô||,ñÞ{°yó5ÄÄd"66ø‰ýyóM:]·&}jl ùÕDNN V¯ŽÅéÓ dg— Ck,^ì‹¥KÿÀ•+™T;ØLã3€[·F>5öº~?5µQùó³µ5A·nö õA«VæÕŽá]0r¤zyXX;Øc̘3jå3gú`æLo>”?ëpÆ o|òÉ­:?ëžO|DDÓSßGD0 $"zŽ=ËIàónР“(,TâÌ™—u =C8.èyÄßÿMŸHDDTGéé…ð÷?†ÒRõ¿‡&&æáÞ½Ü:ÍnÑóよš:&DD¤×²²Š±dÉe¤¤   ÑÑ1kÖXXcúto]‡G:ÂqADMADDzËÁÁ{öôÄgŸÝÁرg¡PÀÊÊ/¾èˆM›àæf¦ëŸ;•ﳫJÅûÖžEµM¡¿D¤˜‘^ t@` —÷5”Š›µ<Ïj:.šJ‰H¿p9(‘aHDDDDD¤G˜é&DDDDDDz„I ‘aHDDDDD¤G˜é>'ˆˆ¨‰Š‹Ë† ×pñb”Ê2øùÙbÖ,øûÛ5jÛJ¥€ƒïã‹/pÿ~Êʸ¹ÉñÚk-1fL+4j}""}ÇߊDDDMPtô#„„D@.7‰1nnr¼þúYœ;—Ö¨mÏ›w ^B` Nœ€S§aذæøç?£1mÚï^ŸˆHßIAêÓÀW_}ÕP±5InnnèÑ£‡VÚV(ÈÍÍ­Q]OOlݪÀС5«ßùúA»vÖØ·¯—®CѪ²2ÆBVV1NSSCª³!C~BAA)~úi¤ÒÚÿ-¸¶mÿùg>úö=ví¬päH?µ¶Þzëœ;—†ƒû cG›F©O¤øû¿éqrr‚¹¹y]Oß_ïå £G®oDDMÚk¯½†ýû÷ë: Ò#QQ¸y3ãÇ{ˆIJÔ[·^Ç©S)<¸¹ÖÛNIÉxzZj´ÕºµÎKCrr¾˜¤i»>5Ð=ûöíèQ£¢)"¢&%$$D×!úõ×t€¯¯µÆ1__›¿ê<¨SXÛ¶[·¶€‘‘·oçhÔ¿s' àåe%–i»>qc""Ò"¥RÀ÷ß'᫯î!>> 99¥hÙRŽQ£ZaüøÖ00víº‰5k®œœLñï¿€uë®":o› IDATú!ÊÊ€Nl0gN;qÓ‘úÔ¿x1žž‡¨f¯âãGÔ*Ör·oç`ݺ«ˆŒLGi©€¶m-1}º>ýô6ΟW%J!!-±zu—'~F^^‡¡TÖìÎ {{DF}j½ò„ÈÙY¦q¬¼,!AUgôè3¸x1C<>|¸6lÀøñçÄ~À¥KA°´4®UÛå1/\è‹U«b±~ýUüãž00૯îâ—_Ò0c†ÜÝÍ­>1 $""-ŠˆHŬYQ k­[»¢¬ øöÛ?‹ÔÔ,XÐ0qbLœØÁÁ§p÷n.V®ŒÁ¢E¾ðö¶Â­[ÙX¸ð2Þxãþ÷¿Ñ­›}ë?éžÀšÆ ÷îå!$$2™!¶mëŽ.]ì””‡ððX\¿ž ©Ô×® ¯ÑgTž„6¤œœ€™™æÿæË˲²Tuöíë…¸¸,ŒV­ÌÞ°kW ÆŽ=ƒ·ßöDPkÚ.÷÷¿{ÀÑÑ|‹?¾°±‘bժΠi¥Ñ޶ëé;îJDDZÕ½»=¦Li ++)ll¤?ÞÁÁ®øôÓ[ÈÍ-Õ¨_P Äûïû¡sg[Èd†ðõµÁ† ())ÃÊ•1õ®ß±®_ÙÙ%Xº´#zöt„™™!Ú´±Ä¦M((PÖþCjDåûÁI*LlúøXaíZÄÅe!,ìX²ä2ÔÀº´-ÀâÅ—1{v&LhƒÈÈ¡ˆŠ†¹sÛãŸÿŒÁ¬YQj3¡Ú®ODDL‰ˆH‹úõsÁ矿¤Qîãc…ÒR7ofk“É áã£~———%M—…´´ÂzÕoˆXÏœQzõrV«kkk‚Ö­u¿ôП_u’ ––ÆjåC†4ÇÔ©^8q"£GG 3³³g·«wÛ‡ßǾ}wñúë­ñöÛ°·7cÆ´ÂäÉmqìX"öì¹Ýhõ‰ˆˆËA‰ˆH‹rrJ°{÷-üðC2RS ­¾L°ªY³ÊÉI9;;¤¥"#£ŽŽ¦u®_ßX‹‹Ë—W C˜™j´ceUu<ÕÑÆ=€ÔÔcåeîîÇfÏn‡_~IÃ¥K±n¿Æ}ui»}}ûöU+Û´iBCCu‘î¼óN$¢¢`éÒŽv… $à“OnáƒbQÕ£j33K êK  #£€*¹«kýÊuê«Tj¹Üyy¥ÈÏWj$‚å×­)mÜøÂ öض ¸r%#G¶P;våJ& G{ó~û-¹¹¥ðò²Ä²eÀÛÛJc–µ¶mW5cXYÅ:Ú®ODD\Jõàêê AðÅ_¨•Ÿ={‚ èe}úô ðòòÒu(D:¥T ¸x1¦øûß=`kk"&aEEeÕžWT¤DLÌCµ²øøl¤¥ÂÇÇJcV¯6õe2#””<¾öÀ?âË/ïÖ:ÖÞ½<ž…*—ž^ˆ„Ý?Œ¹[7{xzZà»ï’PTôx¶U©pôh"\\dèÛW})kbb>,¸„íÛ»cÇŽ`jjˆ)S"ñðaQ½ÚöóSíÐzþ|šFœå›ðó³m´úDDÄ$ˆˆ´ÄÐP‚îÝ푞^ˆ;oâÑ£b*™Ž½{ª=ÏÂÂ6\ÃåËQP Dlì#Ì{ÆÆXº´c½ê·oo„„\¤¤àò凸?]»ÚÕ:Ö°°ö°¶–båÊhœ;—†ü|%nÜÈÆüù—ààðô¥§Úf` Áš5þÈÊ*Áüù—ž^ˆÌÌb¬X»ws±jU˜˜<žÁÌÏWbÊ”H,]Ú žžpu•cûöîP( 0mÚo(-êÜö¸qîhÕÊŸ~ÿûßmdd!3³û÷ßÃŽ7áädЉÛ4Z}""$BUkqjÓ€D‡Åë¹/¿ücÇŽߟ={={öÔaDÏoooÄÇÇàrP}Vþ°øýû÷k¥}…BÜܚ͊ôôBX[KÑ»·3LññǪÿ>:t°Æáê%ÔÁÁ§ððaöìé‰ðð\ºôJ¥€Žm0wîãçþ•«mý;wr°xñ¸r嬭¥˜2Å ãÆ¹×)Ö„„\¬]{¿þš¥ðñ±Ä{ïuÀæÍד‰ØØ`­~¶5qíZ6l¸Š‹3PV& S'[„†ú¨}.+VDã³ÏîˆïïStízL­­Ù³ÛaÚ4¯Zµ].+«|§N¥âÏ?ó €‹‹ ½{;aÚ4oØÛ›4j}"}£‹ßÿ¤]NNN07¯óFdû™R½1 ¬“@˜ÖVyR÷Ë/C´R¿1 t……Jœ9ó²®C!"ð|üþ§Ú©oÈå ¤ÉÉɘ3g|||`ffSSSxyy!,, <Шÿûï¿#88¶¶¶J¥ðôôĺuëàíí ‰D"þx{{×ú_~ù¥Z‰›6mÂøñãáââ©TŠV­ZaÞ¼y((ÐÜ ¯ºØˆ¨éJO/„¿ÿ1µe’˜˜‡{÷rÑ£‡ƒŽ"#""z:&ÔèbccѱcGlÚ´ 999øã?‡’’lذþþþHJJëŸ~¨°…Åã‡Wœ¡¼wï^­c#¢ªMœØ¦V;8Ö¶¾6: 0Ë>‰ˆèùÙ@jT©©©jïçÏŸ/Þ‡7cÆ ±¼¨¨ ÷ššªo½^q g]¯Q•Ê×)Wq¥ºÄFDDDD¤kL©Q9::ª½_¹r%A¨ò§]»v°··W«_yc–¼¼¼z_£®ê‘®1 ¤FqøðaX[[ÃÍÍ ~~~bù•+W4êöíÛ½zõ´lÙ>>>â±Û·o‹¯srr P(4ίí5êª.±é“@jt;wî„¥¥%à믿ƞ={••…´´4,^¼QQQX³fXÿ£>7Y9pàΞ=‹ÌÌL,[¶LÜ”¥¾×¨«ºÄFDDDD¤KL©Î!‘HÔ/½ô’Æs÷FŽ)@LL ¦M›wwwLž<Íš5C=œœŒóçÏ#00P¬ß¿œ;wÆ ƒú÷4kÖ mÛ¶ëI$’:]£ü9—o†„„ ,, K–,Q‹½¨¨‰Ÿ~úéScóòòÏ›={¶Ú3 ‰ˆˆˆˆtE"TÜé¢. H$Ø·oFÕP1Õ˜«««¸cçÞ½{5R"] ìß¿_+í+ äææÖ¨®§§¶nU`èКÕ'"¢¦¿ÿ›'''˜››×õôýœ ¤gÞÑ£GáêêŠÊ¯P(HNN˜™™aÀ€ºˆˆˆˆè¹Â$ž IIIx÷Ýwqÿþ}"&&ãÆƒ 022ÂŽ;ààÀçu= OϼÁƒãرcØ»w/ „û÷ïC´hÑ“&MÂŒ3àëë«ë0‰ˆš¤]»nbÍÕ.ËNN¦øå—!:ލjqqYذá.^Ì€RY??[Ìšå»:·éë{ÊÕ]µª FjùLŸCDTŽI =󌌌0tèP :Tסé‰Û`âÄ6>…‡‹tN•¢£aܸ³èßß'N €±±Ö¯¿Š×_?‹Ý»ѳ§ãÓ©Blì+ˆ‹ËBpð) à‚?~¡Êz¯¿~ö¹8‡ˆ¨—ƒ‘Þðõ=‚Ñ£Ïè: j@ee,¸KKc|øa8:šÂÆFŠ÷ß÷CË–æX¸ðŠ‹Ët&Ñ3…3DDDôÜŠŠÊÀÍ›Ù?Þ¦¦†b¹¡¡AAͱuëuœ:•‚Áƒ›k-†½{_jRçQÓÇ™@"""znýúk:À××Z㘯¯Í_uhåÚ+VD#<<¦ÉœCDúƒ3DD¤5J¥€ï¿OÂW_ÝC||rrJѲ¥£FµÂøñ­a`  ¹ùÈ¿ÿýÖ­»Šèè‡(+:u²Áœ9íÄM>êSÿâÅ xz š-ŠQ«XËݾƒuë®"22¥¥Ú¶µÄôé^øôÓÛ8^•˜„„´ÄêÕ]žú9ýøc Þ}7R|ñ2>üð NŸN…TjˆÞ½°lYGää”àý÷c™¹Ü}û:añâŽËÿï¼6ý(..ÿþãÇ“œœCøûÛaôèVèÓÇ ††ê}®è›oþÄܹÔÊ~ýuL«=ÇËë0”Êš=žØÞÞ‘‘O¿üö퀳³LãXyYB‚ªÎèÑgpñb†x|øp7lØ€ñãωß\ºKKãÅIDôüÐ'N$#,ì23‹all€Ù³}вeW|óÍ},]úär#,^ܱNýX±â|÷]2>ú¨ì›[Š]»nbòä_ñùç/¡{wûjc rÅÕ«™¸q#[¶t…••ô©ý,O¸RNN ÀÌLóŸ4åeYYª:ûöõB\\FŠ@«Væï ص+cÇžÁÛo{"(ȵÊëœ<™"þñ ¢·Þò¨6¶gù"Òo\JDDZÕ½»=¦Li ++)ll¤?ÞÁÁ®øôÓ[ÈÍ-Õ¨_P Äûïû¡sg[Èd†ðõµÁ† ())ÃÊ•šËÛj[¿!b]¿þ*²³K°tiGôìé33C´ic‰M›j¼mÿ“„„´D‡ÖÉ 1b„Ú´±DD„&´ÌÌ 1v¬;\]Í‘Vç~œ?ŸŽ6m,г§#LM aoo‚ :ÀÝÝü‰ñeg—`âÄó(+°{w`@]Õ¬£¤Â„¦Ö®õG\\ÂÂ.@€%K.#0СÚ P%êÞx£õ¯ÿ,ŸCDúI iM¿~.øüsÍ)||¬PZ*àæÍlc2™!||¬Ôʼ¼,áèhЏ¸,¤¥Ö«~CÄzæŒЫ—³Z][[´nýäª&Êïe+çä¤ZbÙ¡ƒz?eP( ÔÊjÓÞ½qéÒC,^|üñH\ªù㫼s'ûÛiH°dIÇ'.m ªe›ùùUÿA€ÆÒÎ!CšcêT/œ8‘ŒÑ£#™Y‚Ù³Ûi?X"¢gDƒ,=z4FÝM59®®ÕÏ.4u99%ؽû~ø!©©ÈÎ.Q;^Õ¬Yu÷bÙÙ™ -­Ept4­sýúÆZ\\†¼¼R˜˜ÂÌÌP£+«úßKfn®þ¿g‰Duÿ¢L¦^n` AY™ú=vµùÌW¬è„Îmqðà=¼ùæ9@@€-ÆŽuÇ AÍ4âÊÎ.Å»ïþgg""øæ›?1|¸[û¥{=<,©©ÇÊËÜÝ-4ŽÍžÝ¿ü’†K—bÝ:{>kbÅŠNMê"Ò ’:mÛ¶mˆ¦ˆÔæÍ›Ñ¹sgôîÝ[סž:vì˜^')¨¨Xº´#‚ƒ]acc‰øä“[øàƒXq¹^E™™%õ%|‘¡zP¹IëW®S—X¥RÈåFÈË+E~¾R#,¿®®Ôæ3—H€#Ü0b„JKDF¦c×®›˜:õ7,Zä‹üÃS­mCC`Ïžž°°0FHÈi,ZtîîæèØÑ¦rUÒÆ=/¼`mÛ€+W21rd µcW®dzôМÕüí·täæ–ÂËËË–ýoo+e"¢¦ªA’À¿ÿýï5jTC4EÔ 6oތ޽{cÓ¦Mº…ôTbb¢®CÐ¥RÀÅ‹pp0Åßÿ®¾AEQQõï.*R"&æ!:u²Ëâ㳑–V+Y½ÚÔ—ÉŒPRòøÚþˆ Ú $¤e­bíÝÛ Ç'áÌ~ŠzÃÃÃFFôì鈀;øúÁÏ?§j$r¹‘¸4uÇŽ0räiL™‰Ã‡ûÖh¶Uºu³‡§§¾û. 󿵇‰‰*)W*=šúöU_¶›˜˜ .a×®@˜šˆý8t¨lmMªº Q“Â{‰ˆH+ %èÞÝéé…Ø¹ó&=*Fa¡‘‘騻7¡Úó,,Œ±aÃ5\¾üJÄÆ>Âܹ`ll€¥K;Ö«~ûöÖHHÈEJJ._~ˆû÷óе«]­c kkk)V®ŒÆ¹siÈÏWâÆlÌŸé‰Hжº|æK—þë׳P\\†ŒŒ"üç?7 @O¼–««Û·wÇÇE˜:5ÅÅÕ'öÚd` Áš5þÈÊ*Áüù—ž^ˆÌÌb¬X»ws±jU11€ü|%¦L‰ÄÒ¥àéi!öC¡(À´i¿¡´´fËU‰ˆžg¡ªµ8µi@"Á¾}û8HÏ$‰D‚ÐÐPÎ’΄„„öï߯•ö rsk6óäéé­[:´ñfª=*ÆÆ×pút*ÒÓ am-EïÞÎpp0ÅÇÇ:t°ÆáÃ}ÁÁ§ððaöìé‰ðð\ºôJ¥€Žm0wîãçþ•«mý;wr°xñ¸r嬭¥˜2Å ãÆ¹×)Ö„„\¬]{¿þš¥ðñ±Ä{ïuÀæÍד‰ØØàNüñ¯½vZ­lêT/ è‚‘#ÕËÃÂÚ! ÀcÆœQ+Ÿ9Ó3gzתqqYØ»7¿ÿþÉÉ011@«VrŒ厖H€£G¥v­Å‹}ѹ³FÌåÏÝÓ…kײ°aÃU\¼˜²2:Ù"4ÔGm ¬XÏ>»#¾?~¼?Lѵë1µ¶fÏn‡iÓ¼àë{Dã¾Õ§Ý«ø,ŸCúK¿ÿI»œœœ`n^çÈö3 ¤&I éš¾'µUžÔýòË­Ôo ƒDa¡gμ¬ëPˆˆ<¿ÿ©vê›r9(Q-¥§Âßÿ˜ÆÒÁÄÄ<Ü»—ûÔ¥”DDDºÄ$ˆˆ¨²²Š±dÉe¤¤   ÑÑ1kÖXXcúto]‡GDDT-&MØúõë!‘H ‘Hôz‹zzެ_¯Ú³^"8fõÊ®]7áéyqqYP( áéy7^k°ú ÍÁÁ{öôDvv ÆŽ=‹.]ŽaòäH´j%ÇÁƒ}àæf&Öõô<ôÔŸ­[¯7ZìDDD òˆÒŽ’’øûûÃÒÒçΫõùaaa ƒŸŸãÊÊÊPV¦›m·‰ê¤¬LõCDDDDÏ$Î>ÃŒqåÊ]‡ATsÆÆÇ,Ñ33DDDDDDzDï’ÀÇ‹›¥H$ܽ{£G†µµ5ììì„Û·o‹õÃÃÃź={öË¿ÿþ{±ÜÞÞ¾ÚöïÝ»‡Ñ£GÃÂÂvvvxóÍ7ñèÑ#ܽ{ÁÁÁ°°°€‹‹ &Mš„œœ±£GªµSXX¨ÖŒŒ Ì™3J¥°±±Á!CðóÏ?WÛ÷ëׯcذa°²²‚™™úöí‹_~ùE­NQQ–-[ooo˜™™ÁÖÖÁÁÁ8rä”Je5-Sµzö|¼Ñ‰D¼ñ†ª|ÀõòÌÌêÛ8|X½îÝ»ÀèÑ€µ5`gÆ,ÂÃ×­0fñý÷Ë+ŒYöïÝSµoa¡jÿÍ7GT× V•»¸“&Æ,ŽUo§Ò˜EF0gàáH¥€ 0dð„1‹ë×aÃ++ÀÌ èÛ¨4fQT,[x{«êØÚªâœ:u cÇŽë/Y²‚ @.—«µ3xð`‚ÿ'¶?gÎÌ›7©©©Ø¼y3>ûì3Œ7¡¡¡X¹r%RRR°bÅ ìÚµ Ë—/Û Rk§¢ÔÔTtíÚ{÷îÅ–-[ðàÁüöÛo033Cÿþý±k×.srss1uêT,Z´III8sæ >|ˆ~ýú!""B¬7}útlݺ}ô222ooo >gÏž­Ã'®çÎþøËN€;TåÇŽÝ»_|‚*¡«Îˆª:åc!4Tõ“”ìÛœ:T³X²DU¿Ò˜ÅàÁªòJcV£ý9s€yó€ÔT`ófà³Ï€qãT×\¹HIV¬ví*ŒY©·SQj*е+°w/°e‹jÓ—ß~S%mýû«Úª,7˜:X´HÕ×3g€‡~ý€ cÓ§[·}¤J4ãâT áðáÇ,‘½K+›8q"zôè¹\Ž`ذaˆŠŠj°Ý4'L˜Èår¼ùæ›hß¾=¾ûî;Ì™3~~~077ÇäÉ“áîîŽãÇרͅ "!!›7oFPP,--Ѷm[ìÝ»...˜9s& …Ú9YYYXµj^|ñE˜››# Ÿ}öŠ‹‹1kÖ,±ÞO?ý„öíÛcàÀÉdprrºuëжmÛù<ôR§NÀ'ŸÑÑÀøñªDiòdUò3fLíÛ›8èÑC•ä  š)‹Šj¸Ý4'LP%Šr¹j°}{à»ïTÉ¡Ÿ`n®Šßݨá˜ÅÂ…@B‚*© RíÚ¶­*)tqfÎ*Yde«V/¾¨ºf@€*!-.*ŒYüô“*Æ™ prÖ­SµODDDDô> ìÚµ«Ú{777@rrrƒ´ ö¾Y³fU–7oÞ¼Æ×à˜%"""Ò ÷I •••Ú{©T öXKKKµ÷044„™™™Z¹¡¡a®YTT„¬¬,˜ššÂÂÂB㸓“Õ’ÑŠììì ‘H4ê;::ÒÒÒÛ·oÇž={pçÎôïß–––>ªg"îÜ©z¼©‘‚ Ô«‰ûöíèQ£*&ª 88ÇGQQŒŒŒtÎsG"‘ 44›6mÒu(ú#8Xõ舢"€c!!!€ýû÷k¥}…BÜÜÜÕõôôÀÖ­ Z³úMÍøñçpáB®]«âY–Oáë{íÚYcß¾^ZˆŒˆH»ôý÷Säääss󺞾ŸÿB{ÆtèÐGE«V­IIIhÑ¢@zvuè ZâùטERТ@efcûöë8y2©©…°µ•ÂÃÃÇ»aØ0Wœ=›†wßëGD¼Œ?¼‚Ó§S!•¢wo',[Ö99%xÿýXDF¦ý?{÷—óù?püuë|wŽN¾ÍPI, E_‡¡ÌbhÌl|Y›MBûšÓϘÃl1Ù¾Œµ3a3²…°LŒÈœŠ,t “Jçîßéæîîpwwwëùxx|¿}îëº>ïëú\£ë¾ u0Àš º`h¨Ø×âã³ùøã‹œëI·n-ILÌeåÊ üóσZÇ?uª#S§:V97ŠÉ“OpâÄ]D›6†@Ù 1.ncÇåÕWÛ3bÄ3òò†$!!‡>8Ïüù.tìhJ\Ü}æÍ;ËĉÇùöÛÞxx´ 5µ¼ýJøðÃnxxXrûv.‹Ç0fÌQ6o›Eõ¸rÅ·Öu¯Î A¶ ÏlÙ² øûw`ÕªîüõWþþ' ŒfçÎþ˜˜è7Š)SþàøñÔ*ÛiÒ${†·“·«&úƒ¦ÚO¡¹yêö6u_~ù%/^ÄÖÖ–9sæ°bÅ ‚‚‚;,A¨Ú—_ÂÅ‹e§uΙS¶QôYá¡à࿹uë‹uaà@[ µiÕJ·ßv¢_?ëJóŒû,Ï=g†¾¾ÏàèhÂÑ£)üç?Ž8;›"•j1~|;ìì¤=šZá~¹¿ˆE‹ºÐ§R©NN&|ôQwRSóꥎÿù#¥¥2¾üòšÂõ3gÒ¸sçC‡Ú)åÉË+aéRWÜÜ,00ÐÂÅŜի{PTTÊœW¨ÏíÛ˜?ß…þýmJµpt4!$Ä™LÆ’%õüª÷¬¼.½{[Ñ¿¿5çÏg‘ñè55S§VÝN))ù ú¯JË®kxÚO¡¡‰™À&¦gÏž9r¤±ÃÕõìYöDA¨Äo¿Ýàùç•|_}õïJ󸸘+ülm­Ïµk÷yî9Å¥{66\º¤ø>Éß/{ïd¿~Šï´²Ò§];#nÜÐü~˜>}¬pr2açÎDfÍê„™™._|qI“ìÑÖ–(å10ÐRZŠèäd‚••>—.e‘šš••>$Ñ¢…„mÒZZêãèhBll&ÉÉyØØh¼^µÑ¥‹âlš­mY<))y˜›—µÇ¿ÿmI§N¦•¶ÓäÉhi)·Ô­?<)í'‚ÐÐÄ PA¨……¥dg¡§§¥´O«:FFŠi%’²eƒŠ×[´PZúhŸ[aa)¹¹Åèéi!•j)•Û²¥^½ ^ÝžyóβyóuÞy§#7näu—U«ºUšÞÄD§Òë-[ꑚšOZZffºdg—½BÆÕõ—*ïSã FÓ{+26V|6ººeí_ñè¹ÿüÇ‘9sN+´Stt«W÷¨²ìºôMµŸ Bs#‚ B½ÐÕm±±ÙÙEäæ×j ¨îý µÉÍ-æÁƒ¥`ffa9k&©|’JnäÈ6¬^ý7ß7ÞèÀ—_^côè6˜šêVš>3³™L¹Ü´´ l0¨«Ûrs‹ùûï‘UΔ©BÓ{ÕåãcGpðE…vòók[/}C“í'‚Ð܈=‚ B½yá…Ö9’¬ôÙðá‘,_~A£÷+_vZ¾,´\FF!7näª]®6EE¥òŸ :À¶m òŸuu[ðÊ+íIK+àË/ãØ½;‘×_w¨²¼‚‚ΟOW¸våÊ}RSóqv6ÅÊJ€ÁƒÿEI‰Œ3gÒ”ÊØ¸ñ*}ûþªò _S ¥%áõ×äíq‹×^³¯·û5·öAÐ1AêMPP'ìì¤,_~Ç“ÉÍ-&99Å‹c¸{7ŸÉ“5; ꌙ™.|Ãñ㩻¼y.OÜ ×Ë/·ÅØX‡5k.2hPk¬­õëí^ͱýA4A A„zci©Oxø† ³cÉ’ºw`ôè#de²m[?Z·–rî\»8x0 €ÎfÍš¿¹p¡ìú±c©””ÈppØÅçŸ_áôé²÷õ:u¼¼v±nÝeÚ´1äÇŸ§KsÞyçO<<öðßÿžaÒ${œœL(,,ÅÁaóæýU«z,\Xö*‡^8@@À)þïÿºboo¬ÆÜ\—‘#ŸA&+ÛûV©T‹Å‹»²nÝ%zõÚËøñÇ01Ñaóæ>ò×C@Ù²Ð;û3hPkÞÿîî{xá…ƒì߇Ï?ïY剚õ­ªgàà°‹¯e³½Ó¦E)ä54Ôæå—Û>l'åÙRMö‡¦Ú~‚ M"“Uܶ]Ë$¶oßθqã4“ hŒD"!00O>ù¤±CžRcÇŽàǬ—òSRRÈÉQí°{Ö­KaèÐú9E€;n²yóuÂÃT™føðHÒÓ 8qbHF&ÂÓLüýßüX[[cdd¤nö5²û­·ÞbΜ9š(J4nÓ¦MìØ±£±ÃžRiii8:V?+$4[·&0eJÕ{A¡)ËA…f¯Ž“Ý‚ Uúᇛ¼õÖI<(!,ìYY… ¦ürxAAhJ42¸añTh’$ þþþb9¨ÐhÊ—ƒ MƒÃ®Ó8бÚ4$áæö ŽŽ&„„¸WyÐHhè5>ü0VáþÓ§;1{v§Ú.‚ u$Þ(‚ <•ââFÕ¹ŒqãžeܸgUJ;uª#S§Š¥Á‚ BãËAAAAž"b(‚ ‚ ‚ðƒ@AAAhÖÄ!y‚"1AA„fí«Vy³mÛ6 ;¡ ƒ@AAAhÖì°¶¶gñâÅ 87’••ÕØA H AA¡YëÄë¯oäðáÃøøøðùçŸÓ·o_>üðC1|J‰A`=ËÉÉÁÑÑŸÆEcšcž&998.pÄçÓæóüšcAAÓZ·nͼyó8~ü8³fÍâ§Ÿ~ÂËË‹ï¾ûŽâââÆOh@bXÏd2¥¥¥”––6v(µbddDŸ>}*ýìI­“PF&“Q*{òžŸÑ;FôYUMŸ|ë$êºt)‹©S£ps‹ K—Ÿ™4é8gΤ5vX‚ ϯ9ÖéiõàA ^^¿1mZTc‡ÒdÅÄd0vìQ µÙ¿ß›£G_ä™g ™0áǧ6vx‚ 77—'NÈójkkWZïêêTULê>—†v9ù2¾ÿóÅ4Àét)Ë=ˆ8÷o$Ó$H¦I˜úíc}2û.[hû^[tßÔÅr–%£×æ\âcýæl¸<¯dš„„´ü6úa`FËÀ–ø|êCüÝJú¤e_I¾Â¸ãhØR~-ôX¨Bšü¢ Ï/'Ù?ÌÆ~¾=zoéa÷®Þk¼ùæoÈ+R¡O>–_÷M]Ìgš3$d‡/?Ö'÷Ëïo÷®Ñ Ñx­öÂøc¤Ó¥ À‰¸Jés r9wBžWÛ_»ÒzWW§ªbR÷¹šgh¨ÍáÃùòË7v(MRtt×®ÝçÅÿ…¾¾–üº––Ÿ‘””GddR#F(“ÌÃÃ={öàããC@@K–,¡¨¨¨±ÃêA“ÆÅÅáééÉéÓ§Ù±c©©©|ýõׄ„„pþüyôôôÉd„††””„»»;?üðëׯ'==#GŽžžŽ§§'QQeˈ|}}‘ÉdŒ9€ÀÀ@¹}û6Û·o'22’ñãÇ+Ä¢nÙþþþLŸ>ÄÄDNž<‰–––RšÇ%''ãîîÎÖ­[ áÞ½{œ9s†þýû3yòd6nÜXm›•ç “çÿóÏ?‘J¥xyyÉÛ*((™LF×®]ÉÌÌdæÌ™,[¶Œääd~ÿýwÒÓÓ8p GUHohhHïÞ½‘ÉdÈd2ùfaUêTSLê<—†—‡çJON'œfÇ›;Hý$•¯'MÈÁÎß:ž¶²/d„¾ö°Of%á¾ÜNÿÀúWÖ“’Αwž›ŽçJO¢âö7_d_Èéú°îÛ ôäöÇ·Ùî¿ÈK‘ŒßT¡OªY¶ÿ÷þLï?Ä99ÿ$Z-´”Ò<.9+÷åîl=µ•—C¸÷É=Î,:C§þLþz2ÖÐ'æû3LžÿÏù"Õ•âµÆ‹Ðcûäà d_ÈèúLW2ó2™¹m&Ë|—‘¼:™ßÿû;é¹é \=£W*¤7Ô3¤·Cod_È}!£xcq¥õV'&už‹ 4†¨¨»¸¸˜)}æâbþ0ͽI„æÅÀÀ€%K–°aÃvïÞÍ„ ÈÈÈhì° kƒÀùóç“™™IHHƒ ÂÈȈÎ;Fnn®RúyóæqóæMÖ¬YÃСCåé·mÛ†L&cÆŒ•ÞgêÔ©xzzbhhˆ··7Æ #::š{÷îÕ¹ì¹sçÒ¿¤R)={ö¤¸¸˜V­ZUYçyóæqãÆ BBBðññÁØØkkk.\È‹/¾Xc›•ç_»v->>>˜˜˜Ð¡C°µµ% €””…<¹¹¹¬_¿^Þ=zô`óæÍ2sæÌïY1jÏ¥¡Íß5ŸÌ™„ŒaP§Aéѹug¦…‘[PIŸÜ9›i7Y3n C]†ÊÓo{ãa¿ÙZEŸì;O{O õ ñvöfX—aD'Ds/ç^Ëž;d.ýú#Õ•Ò³]OŠ7Óʨš>¹s7îÝ äå|ºø`¬oŒµ‰5 ‡-äÅçTè“ó¯}y->]|010¡ƒu¦…akjKÀÖRîW蓹¬e½¼ z´íÁæ©›),.dæ6 ôI5bÕž‹P³ÐÐk88ìÂÁa½{ïãüù ^}õ8]ºüÌsÏýÌ+¯S8ÌäÀ$yz‡]”Ôê~%%2öì¹Åk¯ W¯½tîü3C‡â›oâ+]^š™YÈòåç0`?ÎλéÝ{“&ç§Ÿn’Ÿ_"?/¯„3gÒäq99…«“S¸B}ªûÓ«—jË®âã³°±1Pú¬üÚÙ*•%‚PAƒ±mÛ6RRRxùå—¹sçNc‡$hP“þúë¯ ì“+ôIcK:ÚTÒ'φÓBÒŸ.ú© [wæÌÍ3Üʨ¤O¶­Pw‹‡uÏ|¬OªY¶GÛZöɳûäs•ôÉ™ûô®¡O>Ì?Ì¥Âó×ÖÃËÙ‹¼¢<ö_¬Ð'õ q}¦BŸü— ­ÍZ“CRVû¤1jÏE¨ÙÔ©ŽÄÅÂÙÙ”û÷‹øàƒó̞݉?ÿÆÖ­}ÉÊ*bâÄãœ:U6¸4È–¸¸Qx{Ûªu¿£G“™93OOKöï÷æøñyù嶬Xq>º¨öîÝ||}q›E‹ºpúô0vïHÏž–Ìû[·ÞÇo` E÷î-‰‹E\Ü(®\ñU)ž+W|åyjúsòäP•ÊÌÎ.[–%•j+}V~-+K,ÝA3:tèÀŽ;ÐÑÑá•W^Áf¤Ñdgg£¯¯‘‘‘ÒçæææJé³²²(--ÅÔÔTao™D"᯿þàÚµkJe™šš*ü¬«« ?V¾.eÖªÎYYYèëëcll¬r>Uó[[[(ìdf¦¼|ÀÊÊ €ÔTõO•S7&¨ù¹4´‚â²ó³Ñ×ÑÇH¯’>ih®”>+/‹RY)¦¦ {Ë$Ó$üõÏÃ~“RIŸ4¨Pw­‡u—•Ö¹lC½Zôɇ÷Ñ×ÑÇX_>YC~k“‡Ï?«BŸ4¨¢O?ì“÷ëÐ'ÕŒ j~.Bíåå•°t©+nnháâbÎêÕ=(**åƒÎkì>={¶âÍ7;`jª‹¹¹.“&Ù3|¸ß|GNΣw`ÿÍ­[X´¨ Úbh¨M«Vz¼ý¶ýúYk,ž†$“•ÍvJ$ˆ ÍŠ••ßÿ=FFFLœ8‘´4ñ:šæ@ù«Ä¦§§‡±±1ÙÙÙäää( +Lôôô033#''‡¼¼<ù%šŠ¥¾Ê®xSSS²²²ÈÎήõ@°¦üåK.mll®§¥¥!“ÉTø ¡¼Ëƒ€RšúŠ©)ÒÓÖÃXߘìülr r”‚&zÚz˜IÍÈÉÏ!oCÚ-4Ø'ë±ìŠ÷150%+/‹ìüìZkÊ_¾äÒÆ´BŸÌ­¢Of?ì“&õIjÙ'ÕŒI¨Z8;+®œL°²ÒçÒ¥,RSó±²Ò¯Ó=´eà@åYDggSvïNäÚµû¸¹YðÛoeßf?ÿ¼ò€ï«¯šî¡4ÆÆ:úåI*•RXX(ÿÙÉɉM›6i<¦¦ª|Idù²ÐrÉYÉ\M©¤OvMqi±Â©–åVýºŠ6sÛP\ªfŸ¬Ç²7ÊíaŸ¼PIŸ\êÆ¬í5ôɇù÷\¨ðü‹ 8té:JËkó‹ò‰N¨Ð'o_àNæº>Ó[ÓÇú¤®”ÂâÇúäB'6ý^CŸT#&¡~T50iÙR€´´‚:ß#;»ˆµk/1tè!ºu‹ï·ûðÃXàÑ ©°°”ìì"ôô´04¬¿ïBëcO ½}Ù—ÉÉʧõ–_k×®ö³ù‚ 5±°° 44”ëׯ³lÙ²ÆG¨£&1\±bràÀrrrˆeòäɕέ\¹{{{¦L™Â¾}ûÈÊÊ"==7²téR‚ƒƒÕžÅ«Ï²+Þ§]»vÌš5‹={öÍ­[·˜>}:III5ËóAvv6W¯^e„ $%%"_‚YÎÔÔ”ùóçEnn.§OŸfâĉèêꢶ[·n\½z•ÄÄD¢¢¢¸~ý:}ûöÕxLMÕŠÑ+°0´ p[ þ>@NA±·c™üÍäJgŽVŽ^‰½¥=S¾™Â¾Ø}dåe‘ž›ÎÆ£YúËR‚Ç«=‹WŸeW¼O»V혵}{Îï!;?›[·˜¾e:IYIÌTCŸ|˜?p[ ç#ÈÎÏæjÊU&|1¤¬$BƇȗ`–350eþ®ùDÅG‘[Ëé„ÓL ˆ®¶.!/Wè“ÏvãjÊUÓ‰ŠâúÝëôu¬¡Oª“P?23‹Uòê¿òÁ_ù`°.Þxã$Ÿ}v?¿¶<8ˆk×ÊöÛ-Xà¼ÇÓLœ8([ŸŸ3fÌ eË–xxx‘‘Á±cÇhÓ¦MµmVžüøñÈóçæærðàA¦M›¦”ÇÈȈO?ý”%K–`kkK¿~ý077'22’çŸ^!íÚµkéÒ¥ ÎÎÎøùù‚³³³Juª)&užKC³·´'j^îíÜóù¬g[ãÿ½?ó†Ì£]«vhµ¨Ð'­8µà¾®¾¼ö–³,鸨#;Ïîd÷;»×ãa¿¹~É4 »Ï=¬ût†?¬û4 «~}X÷¥nø|êSç²%Ó*ôɇïÃ{<ÍÄЇÏÏÔ†èÑø¹û1cë Z¶Äc¹¹›{Œ65ôɇùÇ{Œ'`k€<nA.gdZßJú¤žŸŽÿ”%¿,Á6È–~õÃ\jNäœHžïP¡Oú­¥‹]œÿÏ¿M~„ŒÁÙÖY¥:Õ“:ÏE¨‚‚ΟOW¸våÊ}RSóqv6­óRÐ’gΤai©Ïk¯Ùca¡'¼(ïå|á…Ö9¢¼'tøðH–/¿ ÿÙÀ@›¢¢Ge t€mÛ꯺<óæ%>>›o¿í‡Ç£Ù«7ß<ÉÁƒI\¼8==­jJVôê«Ç‰ŠºËܹÏ1f̳hqî\:ÿýï_ܹó€o¿íMïÞeûLïÞÍgìØ£–²|¹­ÈÎ.bÆ«ìß›;ûÓºµ€)SþàìÙtöîõ"99—_þ½{½äK3Ú¹s¼òÊ1 ²eÁttZ°zõßüðC¡@U/Î IDAT¡ÿ¦o_«š á©¢é¿ÿ333ñöö楗^bÞ¼y)S¨kkëJÕTÑMb&099 ŠŠµNHH >>ž6RdÂÓ*9+‹™•Tè“i ħÆ3°£è“‚PR©‹weݺKôêµ—ñãab¢ÃæÍ}äÀò÷øÀµÒÏ‚‚:)]33ÓeÁùžÁª´ooÌÖ­Õï?mh:™òå—M÷SAš????Ö¯_Ï7ß|CPPPc‡Ó Ž9²eËHLLäÊ•+5¦¿té›7oæÔ©SòפY[[cggG¯^½èׯÎÎε>•_šÄL  $33S¾OmĈ8::rêÔ)Ú·oߨ!>±‚ƒƒ‘H$ÄÄÄpûöm$‰|ÿP5SÎ>HæƒÌ²}j3ÍñÙ­9µàí-EŸTWðþ`$Ó$Ä$Æp;ó6’iùþ;AAž úúúŒ?ž;wRRRRs†ÇÂ××]]]Ö­[Gtt4'Nœ`Íš5ØÚÚ̈#ˆm€(k23^^^xyy5vÍNPPÐSó팦y9{áå,ú¤¦ "h°è“‚ ‚ð¤óõõå³Ï>ãäÉ“ôî]õJŠd2¥¥¥”–*ÜÕ}òÉ'tëÖ 6Я_?òò”_ÓS1ý¦M›Xºt)&L_×××§K—.téÒ 6nÜXß¡W©É A„æ%4ôšü}»˜>݉ٳ•—fVÇÁaWiœ èXëAõµmÛ'''~ÿý÷Z  9|øp=F¦Y+W®D__µS¬ãããÙ¸q#Ï=÷œÂ°"¾ùæ EX{b(‚ Ô‹©S™:Õ±ÎåÔeŸ  ‚P¿zõêÅŸþÙØaÔ+U€Û¶m£´´”!C†T›ÎÄÄ„‹/Ö54µ‰A  ‚ ‚ jéÒ¥ aaa”””PRRÂúõëÙ»w/wîÜAOOîÝ»ãççGÿþýÑÒÒâÀ¼õÖ[òü/^DOO({Gtvvv¥÷‘H$;v ›²w¡¦§§óÙgŸqèÐ!RRR066ÆÝÝ3fàìì¬×ÉÉIå}‹­ZµâäÉ“ê4§NPŠ¡©ƒ@AAAÔÒ¶m[ŠŠŠ¸}û6Ÿþ9ûöíãÓO?¥Gää䊿¿?[¶l¡gÏž 4ˆ¸¸8Þ|óM<¨TÞùóç‘J½¦ç³Ï>cíڵ̙3G>LMMeìØ±ðá‡âááÁíÛ·Y¼x1cÆŒaóæÍ¸¹¹ÉËPå$OM¹{÷.¦¦¦ vOu4‰ÓAAAAxò´nÝ€””þøãéÓ§úúú´jÕŠ÷Þ{víÚ©UöÞ½{ ᥗ^âÍ7ß”_æöíÛÌŸ?Ÿþýû#•Jqtt$$$™LÆ’%K4R7uÈd²j?>|8ò?׫!id&ðÛo¿%**JE ‚Æ×ÕÕÅÄÄ„ÜÜ\þþûo´´´j,³!÷¾üòË|ûí·DDD0}út$IƒÝ»6Äž@AAAÔ’••”½òÀÍÍøøx´µµéÓ§Ÿþ9‰D¥÷–””0sæLâããùßÿþ§°—ðwÞ‘/+<’ôô‚&9,-•ü7_~y Ú1n\[Úµ3¢°°”„„¶nMàÇÅ_¨""n¿Þ}·s•÷˜0á¾¾m7îÙJ?¾ÈçŸ_à×_½qp0®4Ý¥KY ‰··-ŸÞ €¢¢Rââ²yÿýΜIcÚ4GæÎ}®Ú|%%222 9w.o¾‰çäÉ»¼ôÒ³¼ÿ~ j÷ýv]bÏÎ."*ê.‹#+«/¿ü7½{[©•gøðHÞ~»#/¾ØZžÑ¢slÝzƒ¯¾ú7ýúY˯ϜM‡& UëQ—þ¢j»¨óL+ãæÁwßõVˆA•|åýõûïãŸÈ6­õù÷@@lܸQãe U³¶¶–ŸÌª†ÅrPA¡ÉÉd”––ýTóÉ'³iÓU/îÊâÅ]qv6E__ ºt1gåJ7üý;ÔÛýKKeìÚõ:•½yÇŽ›µÊ¯£ÓggSÖ®u§E _}Gffaµy´´$´j¥‡··-›7÷á7:ðÓO7 Œ¦6_m×5vcc^x¡5óç»P\,cÙ² õ’§&µ©GCôužiSÓÔÚ´©*?ü¥{÷îŠPKb(‚ 4††Ú><˜/¿üwc‡òDˆÏfãÆk<÷œ&Tý2fÿ*ÍxªãøñT´µ[°|¹ááÿPRRûA¼­­––z””ȸ|Yõ%|ï¾Û™®]Í9t(™ˆˆ[*çÓTìžž–\»vŸû÷‹ÔÊóË/f¬ªâ®0c¥j=º¿Ô噜=ë£Ö¬YXX_Æ{¶Y¶iSsìØ1222:thc‡"Ô’ ‚ ÂjÛ¶JKe ò¯jÓ™˜èpñâˆzY†öã7yé¥gqq1§cGSîÝ+àÈ‘µÊ*ŸÅ«í/Ë LšdÀ–-×UΧ©ØŸ}Tu¿—:yª¢j=£¿¨óLýü~ç§Ÿj7+ ðþû1,[v¾Öù*Ó”Û´)Ù½{7Ý»wo´}m‚ú|˜““ƒ££#>>> }ëzÑÜ꣮'µrrŠpt ÅÇggc‡¢Í­>êíÐ4„†^ÃÁa»èÝ{çÏgðê«ÇéÒågž{îg^yågΤÉÓ8$Oïà°‹‚‚Úï™YÈòåç0`?ÎλéÝ{“&ç§Ÿn’Ÿ¯\ÞÝ»ùœÂÍ-‚=ö0mZÿü“[ã}vïNTˆÕÁawïæW›ÇÉ)\)OUzõÚ«R}Oº€³³©Jé5-3³ÈÈdFnÀK/•ýoùþ§Ú¸sçwïæcd¤££I­ówïnÀÙ³é×<›§ÉØOž¼ €££ ÆÆ:5¤V?OejS†î/u}¦¥)·iS’À¾}û?~|c‡"¨¡ÁO-ÛïQÚèïÆÐ”æVŸêáêêÊñãÇ•>{RÛ¡¹í?jnõ©Ž‘Q®®V?®üÏÓÔMÙÔ©ŽLêÈðá‘$$äðÁç™?ß…ŽM‰‹»Ï¼yg™8ñ8ß~ÛV dK\Ü(ù¡-µu÷n>cÇ¥  ”åË]éÙÓ’¼¼¶oO`îÜ¿¸¿ˆÉ“ò,[vÿ¬ZÕsçÒyë­“F³sgÿjïåãcÇÅ‹™\½zŸwLMukŒïÊßZש&åOSSõuñË/·ps³ÀÎN €¯oV­ŠåðádÒÒ hÙR¯Æ2Š‹e\»vŸ÷ßA[»ï¿ïŠ‘Qí=±´Ô ¤DFzzVVúõ{NN1ü‘ÊŠÐÖ–°paÍG½«“GSõh¨þR›gzð`Ù—?UuQMù^Ý^½ ÓÛ´)úôÓOiÓ¦Í7 ”iðA ±±±ü%’ÍAs«ºžÔv06Ö%>~Zc‡¡1Í­>êíÐôäå•°t©«üÛrsV¯îÁ°a‡øàƒóüòËÀ:ß#8øonÝzÀºu XöšCCmÞ~ÛIaÆñqãÆ=‹›[Ù ’§§%Úòóωddbn^ùÀîþý"fÎ<…½½1_~ùo´´ï¼÷šA©øÚêNTTÇŽ7Öææº hËo¿Ý!<<‘ÿüÇ¡Ò|•ýÿ ­Ù¿ß›6m ÕŠ¥¶gk"v‰LMuéÞÝ‚·ßî¨ðŠˆºæ©zÔgQ÷™Vv?¿ßk¼_eùÞ?F¥XkÒTÚ´)‹‰‰!""‚Õ«W7êûøõ‰=‚ B½30ÐRZ.åäd‚••>—.e‘šZýRJUüöÛžÞZ鳯¾ú·Ò, @—. ?[[—Í¥¤äUzë׳yé¥#´h!aáÂ.:„GñfdT~òâ/¿ $.n»võ¯ôóòøk: ¥´TF‹ ¿1\¾œEBBƒÛ*\3¦l§ºÓ½½Ëf}ãâFqâĆ ³ã·ßî°m[BµqTçîÝ´µ%XXT?‹§©Ø¯]ÅéÓÃØ¸Ñ³ÚÁœ:yTQÛzÔµ¿T§>žichJmÚTðÞ{ïÑ«W/† ÖØájjÐA`xx8‰Dþ'?_ñý´´4fÏž½½=ººº˜››3dÈ>¬TÖÝ»w  mÛ¶èêêbiiÉèÑ£9wî\•÷KHHÀÏÏ333Z¶l‰O¥³W—/_Æ××SSS¤R)DDDàíí-/kêÔ©UÖGÝûªR§š¨Ò†ÁÁÁòØìììˆŽŽÆËË ccc¤R) àĉJésss9qâ„<¯¶¶¶Æž«ºmVááqH$Áò?ùùÅâÎcöìÃØÛ®îÌÍ?eÈŸ8|ø¥²îÞ}@@@$mÛnBWw ––ÿcôèÝœ;—Zåý²ðóû3³OiÙò3||vŸ©TöåËéøú†cjº©t-›‰ˆˆÇÛûyYS§î¯²>êÞW•:ÕD•6 Ž–Çfg÷9ÑÑÉxyý€±qRéZ ØÎ‰·•ÒçæqâÄmy^míÕ{®ê¶™P5“Ê—J•/«JK+¨Sù……¥dg¡§§…¡¡ê‹\ŒÓ¶hQ6(ªìÛýû÷‹yë­?±±1àèÑvïN¬UŒõ±'Ðݽ%/ÖþäE©´¬þ99ÕŸhyÿ~‘Òr¾;n’›[Œ‹Ë/ ±¿ñFPvêeLLz1X[ëóÑGÝhÓÆ/¾¸Ê… jÕåôé²½YnnhkW?8×Tì­¶õ¨kQU]Ÿéöíýxé¥ê—ƒVæý÷»²pa—Zç{\SmÓ¦dåÊ•¤¦¦²jÕ*$u=ÕHh4 :ôõõE&“1räH¥Ï’““qww',,Œîݻǟþ‰T*ÅËË‹ÐÐPyÚ¤¤$ÜÝÝùá‡X¿~=ééé9r„ôôt<==‰ŠŠªô~rûöm¶oßNdd¤ÒfÖ¸¸8<==9}ú4;vì 55•¯¿þšΟ?žž2™ŒÐÐÐ*ë£Î}U­SuTmà  d2]»v%33“™3g²lÙ2’““ùý÷ßIOOgàÀ=zT!½¡¡!½{÷F&“!“É(..ÖØsU§ÍêÊ××™,ˆ‘#•g’“sqwßLXØ%BBrïÞ;üùçD¤Rm¼¼~ 4ôÑ{’’ÊÒþðÃeÖ¯÷&=}GŽø‘žž§gQQw*½_`àa»sûö›lß>œÈÈ?>B!ޏ¸L<=·pút2;vŒ$5õm¾þúEBBþâüù{èéi!“:¸Êú¨s_UëTUÛ0(È™,ˆ®]-ÉÌ,`æÌH–-ëCròt~ÿýeÒÓó8ðŽMTHoh¨CïÞÿB& B& ¢¸xŽÆž«:m&T/3³¨ÒUùàO•ýWÕÑÕm±±%äæלA ZZðÝw}ظÑ''æÏ?Ëùóªÿr{劯|¦¤¦?'OªvÜúË/·£E ·j½ ]»² _»–]ešÂÂRnÞÌ¥mÛG/%..–±{w"?üð|¥ñ—Ϻþô“ò—f•ÑÓÓ"(¨32|üñÅZ×£´TÆæÍ7xõÕê÷„i:öÆ¢N=êÚ_j£®Ï´14õ6m ÂÂÂØ²e Ë–-ÃÆÆ¦±Ãê É,7o7nÜ`íÚµøøø`bbB‡ ÃÖÖ–€€RRRäio޼ɚ5k:t(FFFtîÜ™mÛ¶!“ɘ1cF¥÷˜:u*žžžâííͰaÃˆŽŽæÞ½{ò4óçÏ'33“ $/;,,ŒÜÜšOŒS÷¾êÖIÝ6,—››Ëúõëåñõèу͛7SXXÈÌ™3Õªo]cRµÍêÓ¼yǸq#‹µkâãc‰‰.:˜惭­‡HIyð0íïܼyŸ5k0th{ŒŒtèܹÛ¶ù<|v‡*½ÇÔ©.xz¶ÆÐPoïg6¬=ÑÑÉÜ»÷hÚüùÇÈÌ, $d ƒ=+/;,l¹¹ª½‹Jûª['uÛ°\nnë×{ËãëÑÆ͛‡QXXÂÌ™‘jÕ·®1©ÚfBõ J8^qfåÊ•û¤¦æãìlZã!ªxá…²÷9’¬ôÙðá‘,_^·—rjcm­TªÅƽJµxóÍ“Yʪ.{{cüý¹ví>›6]­2]Ugvµicˆ½½1çÎ¥“Siš½{oca¡K‡Nwbo êÖCÝþRY[Ö¤6Ï´)hè6mjÂÂÂðóóSÚÖpäÈÞ~ûmFÍÛo¿ÝÑ šÖৃV¦  €¬¬,ôõõ166VúÜÚºl“rr²<-€©iÕïd¹víšÒ‹++¦×Õ-;ù­üµdgg£¯¯‘‘™›«÷®*÷U·NåjÓ†333«´<+++îܹCjj*¶¶¶•¦©‰º1AÍmVŸ JÈÊ*@__ccåÓ­­ËN9KNΕ§05]We™×®e`g§Ø”×Õ-;]«üµ%dg¢¯¯‘‘ò~*ssõ–Ï©r_uëT®6mø83³Êëde%åÎRS`k«ÞÉêÆ5·™P3©T‹Å‹»²lÙyþú+’]º˜³ysºw/ÛSsà@o½uRž§sçŸ9òV¯î¡Ò=,-õ Àÿþw…%KbHNÎÃÂBVlÛÖÖ­¥œ;—Á˜1Gî1}º³gwR8ÙpøðH °aäÈg Œ–_wpØÅ‚.¸¹µd„cœ;—A§N»k«&µh!aîÜçðñ±cóæœ"55Ÿ’ffº883i’=#F<#?òþqýúYóÓOýùê«8V®Œ%55™¬l‰®››_}Õ[>3’œœGŸ>e_–FF&ñ믷ùé§þ åݺ•Kÿþ¿Éž3ç4+W^ 7·˜¼¼²Ù“ò“$‡ ³#$äÑ—~ýûÛУGKNŸNÃÑqÝ»·äï¿3•òI$`d¤CëÖôèÑŠ÷Þ{ŽÎ•ÿ=KMÍG*ÕÂÖÖ@ã±·ooÌo¿yWù\\\~®užr?ýt“¹sÿ’ÿ.--™ *vµòºZY=údz¶{ÑÕIÐ{{c¾þºw•Ÿ—¿'°.ÌÌtY°À… *÷š««y•÷¨êºOå_¾Õ5VMëÜÙŒ•+ÝÔΫÊÖÆÆ ÆzÛÙÖ©m¶më§vÞÇÝ¿_ÄÙ³éŒa‡––¤AbÜ… #ÔÎûÒKÏVy0ŠTª™zÔ¦¿TlËrªÖQSÏ´9µiSrâÄ fÏž ”½g÷ÓO?eìØ±˜˜˜°aÃÖ®]Ëk¯½ÆüùóÅA0ÍH“Y:jTÙX{öìQ¸^PPÀ¡C‡000/Ñ=z4ÅÅÅ 'X–[µjmÚ´‘ZR[åkœË—…–KNNæêÕª×zו&êT›6,—ŸŸOtt´Âµ .pçκvíª0 (•J),|t²““›6mÒxLMÁ¨QŽìÙs]ázAA ‡ýƒ¶|‰æèÑ(..U8Á²ÜªU§hÓf#ÅÅêÍ`Rvòe¡å’“s¹zU½ôT¡‰:Õ¦ Ëåç­¸ùÂ…{ܹ“C×®– ³€R©……öë89}ɦMç5“ O™ –.ÁÈH›Y³:5v8O4Ñ–Í[LL þþþ”––"“•¯*`Æ øûû³nÝ:,XÀ‚ İ™i2ƒÀ•+WÒ®];‰ˆˆ ;;›«W¯2aÂ’’’ ‘/\¹r%öööL™2…}ûö‘••Ezz:7ndéÒ¥«=C¸bÅ ,,­/!ò IDAT, äÀäääËäÉ“ëuÆJuªM–355eþüùDEE‘››ËéÓ§™8q"ººº„„„(¤íÖ­W¯^%11‘¨¨(®_¿Nß¾}5SS°re_Úµ3%00’ˆˆx²³ ¹z5ƒ "HJÊ!$d ÖÖRyZ{{3¦Lù•}ûn•U@zz>7ưtiÁÁýÕž!\±¢/úFràÀMrrŠˆ½ÇäÉ¿Ö댕&êT›6,gjªÇüùÇˆŠºCnn§O'3qâtuµ Q|™x·nÖ\½šAbb6QQw¸~=‹¾}«?B˜AxòÜ»—Obâ¾ÿ¾––u?tèi&Ú²ùºzõ*¯½öEEE ÛmŠ‹‹ùöÛo¹pá[¶láµ×^kÄ(…ú"‘Éê¶MW"‘°}ûvÆWcÚððpùÌP¹W^y…Í›7eK—-[ÆîÝ»¹uëR©”^½zñßÿþ—LOOgùò儇‡“˜˜ˆ™™nnn¼ûî»x{—­·?yò$žžž ù,XÀ²eË”¾Í6leG¾_½z•¹sçIqq1®®®¬\¹’Å‹sêÔ)ù)¡UÕçwÞQ뾪ԩ&µiCWWWîݻǘ5küñÅÅÅxxx°|ùrz÷V\¶uåʦM›Æ_ý………ï½÷Ó§O×ÈsU÷YÕD"‘È'Ÿ|¢ôYxx£F…WˆÛ™Í›‡=Œ;eËN²{w·ne#•êЫ—-ÿý¯¶QÈ—žžÏòå' ¿Fbb6ffú¸¹Yñî»îx{?û°ŽIxzn©PÇ^,[Ö‰$¸BÛ1€«W3˜;÷(‘‘ÿP\,ÃÕÕ’•+û±xñ NJ&7wfµõyçnjÝW•:Õ¤6mèêú-÷îåqàÀXfÍ:ÌÜ¡¸¸[–/ïCïÞŠ¼+WÒ™6í7þú+ }Þ{¯'Ó§»j乪û¬*3vìX~üñG•Ú¬¶RRRÈÉQí€{Ö­KaèІ9Ð&4ô~«p­|ÿ]m¨²_( À™€õïAhî*þýŸ˜˜ÈK/½DVV%%ʧàjkk3vìX>øàƒ†UP‘µµu¥g˜¨èÇ>é:vìH^^7oÞlìP4¢|XÓ©£O²êOºŽ¿"/¯˜›7ßhìP4¢|xëÖ›ŠF=̓@A¡ixüïÿ´´4ÆŒCRRRµ[´´´8pàmÚ´©2Ðxê:l2ËA›Šääd,,,(*R|[BBñññJ³i‚PŸ’“s±°øŒ¢"Åýw YÄÇg*ͦ ‚ ‚ T%;;›W_}µÆ ”}‘¾víÚŠLhhbX‰ŒŒ üýýILLäÁƒœ:u ???LLLX´hQc‡'ƒ‚Ü r¯9¡ ‚ µVvòç«\¾|‰D‚D"‘¿‚öíÛãääDÛ¶m±··§]»v´nÝ--­Æ \¨Wb(‚ ‚ ÍÔêÕ««tïîKïÞmhß¾=íÚµ£]»vH¥âµHO+1AA„fH&“ñî»ï²q£=¯½&N‡{AA¡ªø®eA('‚ ‚ ‚ O±TA¨¡†òáá°6²æÄ;'9"ÍzcÇDÆE2«ß,Þþ÷ÛU¦;„e—‘˜•È•ÿVÔzqi1ߟùžðØpn¤ß@_GŸçlžcb·‰ ° ô­þ¥ÔK¬>ºš3·ÎPRZ‚ë¿\™Ùg&Ýíºk¤Ž‚ Bó$fA„z1µçTâÞ‹ÃÙÚ¹±CѸ]±»ˆŒ‹¬6Í?™ÿðÆŽ7>̽÷j,3¯(‰aùéÂO,ô^È©™§=©Ž”7v¼Áµ{×ÒÇ$Å0ö»±ê²Ú~ŽN?Ê3¦Ï0aˎ߯YAª¦‘™@???üüü4Q” hÜÚµkY»vmc‡!<Åììì;AƒRsRYvp¾Ïù^eºO~ÿ„nÿêÆ†—6ÐïýÈ+Ê«¶ÜÈå»—9øÆAZ¶ µIk>öùXiÀY*+å½=ïa¢oªa«Ð×Ö`éà¥DߊfÞ¾yò?„®–nk+‚ 4G:”:h¢(AШ²Á_ àÙØ¡O­Opt4hì  š¿o>C:Áý÷j+‡®”Îjr/÷ÛÎmãe×—åÀr:üýîß ×¢£¹vOR¸‡V -|œ}Xw|‘q‘¼èôb-j&‚ <-42|íÿÙ»ï說ôÿãï›ÞI i”P@@A R¤#Ò”¢c2tã(cch!ˆ…¿8Š(ƒ¢(XHèÒE H(!…Ò )÷÷G~¹ã%ABHr÷óZ‹µ¼ûì³Ï³O0äÉn?Έ#*£)‘JUœvô÷S,e-ÞÞ–ŽA*ËÚÃk9™|’ÈÁ‘DŸŒþÓºåM6Çl¦°¨»ë–o-ßž3{hЪԵVþ­Lu”ŠˆHY´1ŒˆˆT‹S—N1oË<œ?@Aa!uB˜ÞuºÙ&&W ¯ðÖî·øú·¯¹vG;Gî®w7#ÛŒ¤{ãîØÚØ^÷9Í6£°¨°\1Õv­ÍÞI{ËU7!#y[çñæÐ7qup-×=åõKÂ/Ôr®ÅÜÍsùú·¯IÎJÆ×Í—ÞMz3¹Ëd<=MõO]:€¿»©¶ü=ŠËN§œ®ÔEDäö¡$PDDª\v~6/nz‘i÷N£¹_sN%Ÿbæ73õñ(þóðèP¿/mz‰o~û†7†¼A»úíÈÌËdÅ+ûéX>zô#Âîû¬ëíÀYQ3¿žÉ æƒèØ ò§—'e&0ãëtjЉÿò1µœj±9f3ÿüîŸì<½“u¯ÃÝÑ€Œ¼ \\Jµåb_\––“VéqŠˆÈíA»ƒŠˆH•ËÈË ¼[8w×»{Z´bÑ Eäæójô«¦z»cwÓ¤vº4ê‚“µ]k3£Ç ÝÑÈ‚ÑÚÃkˆ½ËŒž3ª¤ý¼‚<mY8p!õ=ëãáäÁл†2¾ãxN§œæ½Þ+W[FŒ€‰‘kS(""UÎÑΑ€³²f>ÍðuóåXâ1ÓHX· nü÷#Ïó<‡.2MëŒz:ª\£€UáBúæo™Ï‚ p¶¯šM~JFô:7쌭Á|ÊkÏàžì<½ÓTV2"˜}%»T[%»z8yTI¬""rëÓtP©ržNžeŽLy»x“”™Ä¥¬KøºùòRŸ—­ʺ£ëøëÇ ]½v<ú÷5½¯\Ϫì5[b¶‘—Á£=ZæõÅ;³xÇb6ÝL¯åzöÕõ¨ €—‹W©kÞ.Å; ]ʺd* òŠ×)^-!½¸ÌÒ£§""Rs) ¬Á"""xöÙg¨[·.çÏŸ·pD""S²†íj—²‹o×âDÇ`00ä®! ¹kEì=³—?¬`º Ìê5‹§Ú?uÝgUöšÀQmG1ªí¨RåëYÏ3_=ô®Óø{§¿ßÔ3ÚÕoÇÿíÿ?ӈ蕼£?qOà=,ÛµŒ£ Gz×P³úGŽTÉÚE¹=h:hÊÏϧuëÖtéÒ¥B÷‡‡‡c4 ¹~e‘,;?›c‰ÇÌÊŽ_°DÉAñ}šö1•uì@pí`¾ùí³ú…E…l8¶zõ¨žàEDä–£$°ŠQTTdé0DD,ÊÙÞ™—£^æpüaròsø9þgžùêìmí™Ý{¶YÝÙßÎæ·¤ß¸Rx…KÙ—ø÷Þc4oë‘-[æõŸÇåìËLY?…ØË±¤ç¦óÅÑ/x{ÏÛ„„ðx»ÇMõm 6Ìï?Ÿ´Ü4žÛø3/’š“ÊKQ/›ËÜ~sq´s´`DD¤&ÓtÐ*dooÏÑ£G-†ˆˆE¬Ø·‚ù[çàçæÇ¬^³X¸m!G.¡ÈXDë€Ö¬zd•Ù9«]ÍêC«™²~ Ò‹Ï lèÕ¹ýæ2¼õpKuÅÌìïfóñO›>—¬ ¼·Ñ½¬¹ÒT¾%f Oú´Ù½Áóƒ˜Ûo.#BF˜]ëÚ¸+ŸŒú„¥ß/eèûCÉ-È%Ð31acxúž§K>ߦNÖþu-‹¶/¢Ï»}(**"¤N«ÿ²Ú슈ˆ\Í`47Õ€ÁÀš5k1bÄõ+K…´iÓ†ääd­ ¬€â(Öúû)–2œaÃ`íÚµUÒzbb"™™™åªÄÒ¥‰ôï_¾ú""r{Ð÷ÿÛŸŸnnn½}­¦ƒV‘ 6`0LrssÍ®_ºt‰éÓ§„ƒƒ^^^ôë×­[¯½æå·ß~cÀ€ÔªU zôèÁ®]»ªº+"""""rQXEˆÑhdðàÁ¥®%$$о}{V¯^Mdd$ÉÉÉìÛ·zõêÅŠ+JÝ“™™É„ ˜5kqqqìØ±ƒ””zöìÉöíÛ«£K"""""rPh3gÎäôéÓ,Y²„âááAÓ¦MY½z5Lž<™ÄÄD³{ÒÒÒ˜;w.;wÆÍÍvíÚ±jÕ*®\¹Â”)S,Ô¹Õ( ´€Ï?ÿ€˜•;::Ò«W/rrrøî»ïÌ®999fVÖªU+êÔ©Ãálj¯Ú EDDDDä¶ $°šååå‘––†““îîûùùÅSFÿÈÛÛûÿorbÎ×·øl­¤¤Ò ‹ˆˆˆˆˆ\MI`5stt¤V­Zäææ’‘‘QêzÉ4P³ò´´´2Û+IþJ’A‘?£$І ÀÆÍÊóòòؼy3ÎÎÎôíÛ×ìZff&‡6+ûù矹pá!!!TmÐ"""""r[PhóæÍ£Q£FL:• 6‘‘Á‰'xôÑG‰'22Ò4-´„««+'Ndß¾}deeqàÀF…ƒƒ‘‘‘ꉈˆˆˆˆÜj”Z€¿¿?û÷ïç‘GaòäÉx{{Ó¡C²²²ˆŽŽf̘1DDD`08|ø0žžž¼þúëÌœ9ºv튗—[¶l¡[·nˆˆˆˆÜ*ì,Àí®°°ììÌ_µ··7‹/fñâÅ×¼7<<œððp³²-[¶TIœ"""""b4XÉîºë.bccMŸãââ ,•ŠˆˆˆˆˆX‚’À*ðÚk¯‘™™É—_~É¡C‡7nœ¥C±¨S—N1ù‹ÉÜóÆ=4[ØŒàùÁÏ&tq¨©ÎŠ}+Lå—u¶`´RâÀùÏfßÙ}e^ßplƒékÖâµÕÝõã« Ç’Ž1zíhB‡ÒzQkûä1ž?X©ÏØvj½—÷¦ÙÂf•Ú®ˆH %•ì½÷Þã—_~! €gžy†¹sç–šÒ)"bMΧgØÃ8uéo=ø‡¦âðôü1ä l ÿûghtØhbfÄÐܯ¹£•?Ú|r3žÎž´«ß®Ìë›$fF vªæÈŠ]/¾Êv8þ0Ã?Ž«ƒ+ßùŽí¶S¿V}ýèQ¾?ýýM·6õ,Oú4Û#HÎN®„ˆEDʦ9Š•,,,ŒmÛ¶Y: ‘ã“CŸ‘—ÁK÷½DÛºmMåýîìG¿;ûY02¹žè“ÑtꎭÁÖÒ¡”©:ã+21cã <œ”ŠˆH•*(*¸©©~Ñ'£q°u kã®–¥LÕßž3{hЪԵVþ­ÌêTÔ“K‘ª¤é ""R%¢ND1~ÝxÓç–-ˬ÷`«Y8`áuÛKÉNaÙ®elŽÙLbF"îŽî´¯ßžI]&ÑÜ·y™ÏÜ6~ ·.dçéØÚØZ7”Ù½gèhªSh,äÛ߾忇ÿËñ‹ÇÉÈË WF„Œà±»3­[¼ºííã·³`ë¶Ú†ƒÝwãŸ}þIF^¯D½ÂÞ3{qut¥GPžïõ<®®7ÜŸëi¶°…E…åª[Ûµ6{'í-W](^o×±AG\ì]Le§.âµm¯±÷ì^ ‹ ié×’ðî×^÷~½>¦ç¦ÓvI[³{¦uÆß;ýBc!Íüoc”û›Ýϲ¡ËÊŒ¯"_÷«ûSPX@SŸ¦Lì<‘÷¼ÏîØÝ o=œyýçqêÒ)üÝýKõÓߣ¸ìtÊi bEDª“’@©}šö!fF ã>GôÉh~ ÿG;GÓõË9—iÙ¾\m%e&1üÃáää1¿ÿ|:v .-Ž¿{‘a cÕ#«­Zê™s¢ç0öž±,°€ã~dì§c™º~*ë_gj{û©íLY?…ðná,²”"c_ýús¢ç‘ÀŒ3ÊìÏÜ-sßq< ,à»ãß¾!œÔœTìmí™Öu ¼°þèzf7WWžïõü ÷çzŽÿãxy¿7äRö%]8ÄË÷½l*;sù Ã?޳3ˆ,£m½¶œK=Ǽ-ó8{ùl©6ÊÛǘ1<õß§øþô÷D6%F¶[bfÄ0üÃáÇöß·“‘—AjN*ÿô1Ëv-cfÏ™J˜lml ãbæEÞÝ÷.—s.“[ËÞ3{YýÓê*èI±ªêÏÍ*2±%fK™£láÝÃñtöäÕ¨Wùþô÷dçg“Ãô/§—9¥²"}|¸Íø;ºóúŽ×éÓ¤~n~åŽïF•ÕŸOðÜ×ÏáãæSª¾Á†ùýç“–›ÆsŸãbæERsRy)ê%bSb™Ûo®Ùî·""5™Áh4ÞÔ<ƒÁÀš5k4(5’Á``éÒ¥ ‹) \»vm•´Ÿ˜˜HffÙ»W^-88ˆ¥Kéß¿|õoÖÕg¥ n9˜Eƒñäš'Ùyz§ÙµÞMz}2Ú¬lB§ Lï:(žrøÖî·ˆ:E|z<N´ðkÁ˜°1tnØ€C1ìƒae¶.غ€w÷½Ë†§6p§ï劯"_÷«ûSXTHsßæ<ÛýY–ì\‘ø#üüÌÏ¥âû5ñWm_ÄÁ¸ƒR'„©÷Nåîzwßt<[b¶ðô§O—ù^æö›Ëˆý¬%SÝßÿ¥êùùùÝÌL£µJ嶦$P,Íš“@¹õ,غ€µGÖ²oò>‹ŒD^OuÅwß»÷‘›ŸËŽ ;ªì"ÕIßÿo?7›j:¨ˆˆˆÅëíº5îV#@¨Üø.f^äî%wSPT`V~>íxøVý¸ŠG>z„ÄÌDj9Õ¢sÃÎ,~`1õ=ë[:D‘*£$PDDD¬R§†èÔ°“¥Ã©vZX…233iÒ¤ ´t(""""""€’À›æææF—.]ʼf4)**¢¨¨¨š£)›¦ƒV!wwwN:eé0DDDDDDL4("""""bEª% ¼xñ"“'O¦aÆ888àããÃ>È¡C‡Luºté‚Á`0ý5j½{÷6+OMM½¡vK\ºt‰éÓ§„££#õêÕ£wïÞ¼ÿþûäää0gÎÓ3þ8½óÛo¿5•×®]ÛTÁ` ++‹]»v™êØÙ®~ñÅfqçææ^3¼¼¼èׯ[·n5Õ¹ºØØXFމ§§'ÞÞÞ 8ð†Fûí7† B­Zµpqq¡C‡lذÁì=ºÔs?Έ#ðöö6•%''—»}·ƒzõê±ÿ~zõê…»»;...ôèу]»v•»ß"""""ò?UžÆÇÇÓ¾}{þûßÿòÖ[o‘’’¶mÛHII¡cÇŽìÙ³€ï¿ÿžC‡áêêJHHË—/`ãÆ„……ññÇc4ñôô¼¡vhß¾=ü1‘‘‘$''sðàAºwïΓO>ÉòåËyá…0¸ººšÅÿý÷c4¹ûî»ÍÊÃÃÃMõ;wîŒÑhÄh4RPP|èì!C0 <¸Ô;)‰gõêÕ¦xöíÛ‡‹‹ ½zõbÅŠe¶1uêT¦NJ\\kÖ¬aË–-<òÈ#åú:ÄÄÄбcG8À§Ÿ~JRR+W®$22’#GŽàèèˆÑhdÅŠ¥ž;vìX&L˜À¹sçØ»w/¶¶¶7ÔŠ¾ÛRSS™2e sæÌ!!!;v’’BÏž=Ù¾}{¹ú."""""ÿSåIàÌ™39sæ ¯¿þ:ýû÷ÇÍÍ–-[òÉ'Ÿ`4™4i’©nHH+W®äðáÃ<öØcFÆŽK¯^½xøá‡+ÜîÌ™39}ú4‘‘‘ 8wwwüüüxá…¸ÿþû«ú”RÏ’%K8p 4mÚ”Õ«WÀäÉ“ILL,ußèÑ£éØ±#®®®ôîÝ›°ÿ~Өܟ™5k©©©DFFÒ§OÓûZ½z5YYYzïsÏ=G]j—j IDAT÷îÝqqq!,,Œ‚‚j×®]á~܈¬¬,Þzë-S¿ÛµkǪU«¸rå S¦L¹©¶EDDDD¬Q•'_|ñ666¥ŽIð÷÷§eË–ÈöÂ… ×}æ·ß~ @ß¾}ÍÊ}||¸óÎ;ÿôÞ:”Y^Ñ~ÜWWWÚ´icVÖªU+êÔ©Ãálj¿©öEDDDD¬M•îš——GZZµjÕºf½“'OR¯^=ÓçW_}•èèhvïÞÍþóllÌsÕi×ÇLJ´´4œœœpww¿™îTŠ’Ø¯ŸŸP<ÕòjW÷ÕÁÁàºGPäåå‘‘‘““nnn¥®{yyýéýWOã,i³¢ý¸%Ó¯æëëË… HJJ" ঞ!"·ž Ç60u}ñ/ðløõÙ_-Dˆbüºñ¦Ï¿„ÿ‚££#*Íh4òcÜ|ùË—ìŠÝE\zîŽî4º£†>Ê-À`0˜ê§å¦±ñØF¾þíkŽ%#· wBê„0¦Ãšû5·`oDD¤¢ªt$ÐÑÑOOOìììÈÏÏ7­›»úO=ÌîÛ¶miii´jÕŠ &pøðá ·ëèèH­ZµÈÍÍ%##ãº1ÛØØpåÊ•RåÜæþøey\/ž’é“þþþ7ÔîõžéîîNnn.™™™¥®'%%U¨ÍíǾ[(ÞxÆh4^3f__ߎ]DªOv~6½–÷b̧c*µÝÍ3#†N ;Uj»7£OÓ>Ä̈¡w“Þ–åš~Où‘«F{9–eC—qhÚ!>{ì3êxÔᙯžaþÖùfõço™ÏË›^¦w“Þ|;ú[L9Àüþóù5ñW†ügQ'¢,Ô¹U>ôÁ¤   ÌÝ,X@`` i3€Ó§Oó·¿ýÏ>ûŒ/¿ügggÌÅ‹+ÜîСCøúë¯KÕ eÚ´i¦ÏÄÅÅ™ÕIHHàìÙ³eöÏÅÅÅ,±iÖ¬ÿþ÷¿Ë¬[¢$ž7š•çåå±yófœKMÛ¼Y%SaK¦…–HHHàĉjóFûq£ï 77—ýû÷›•ýüóÏ\¸pŠÔpF£‘"cÑug,ÜJZ-jÅÈU#-F…ÙlY:d)wúÞ‰£#õ=ë³pÀB<=ùðà‡\)4ÿeÝðá<Ñî |Ü|p¶w¦}ýö,´˜Â¢Bl]`¡^ˆˆÈͨò$pÞ¼yñÔSOñÍ7ß––FJJ Ë—/ç•W^!""Ât¬Bff&C† aÉ’%´hÑ‚† òé§ŸrᆠF~~~…Ú7o5bÚ´ilܸ‘ŒŒ Ο?Ï„ ˆ7Kï»ï>.\¸À²eËÈÌÌäÔ©SL™2åš#NmÛ¶åĉœ;wŽ={öðûï¿sï½÷^÷4jÔˆ©S§²aÃ2228qâ>ú(ñññDFFš¦SV–¹sçrÇw0uêT¢¢¢ÈÌÌäèÑ£<ùä“u¼Ñ~Üè»…â)°³fÍbÏž=deeqàÀF…ƒƒ‘‘‘Š[Dª«ƒ+[Çmå½ïY:‚¼ƒ8þÜqj9™//°·µ'À=€+…WÈ+È3•Ïë?9÷Ï)ÕNs¿æ8Ù9q6õl™³5DD¤f«ò$Ð××—~ø!C†0qâDÓF$ëÖ­cýúõŒ1€‰'âîîΑ#G‹ˆHù¤ç¦{9–~-pw¼þúùœür riêÓô†—EˆˆˆåŒ7ù+<ƒÁÀš5kÌ’.¹µÜyçäääpæÌK‡b¦M›6$''›í{£ K—.¥ÿþ•™HùMœ8777Ö®][%í'&&–¹Ö·,ÁÁA,]šHÿþ嫳®·QJjN*oî~“è“ÑħÇãâàB›:mx:ìiîipY[§.âµm¯±÷ì^ ‹ ié×’ðîá,ý~)Î(µ1LJv Ëv-csÌf3qwt§}ýöLê2‰æ¾Å›™¬Ø·Â´ÎÏÍ·z›×¶½Æá ‡)2R'„é]§sw½»KÕÿ#[[Žÿã¸éó¸ÏÆ}2šmã·±pëBvžÞ‰­-¡uC™Ý{6ž¥Ú(K³…Í(,*,WÝÚ®µÙ;io¹êþQf^&Ç/'b{‰‰¼óÐ;4õizÝû>ûù3žÛøK‡,¥ÿúþ*RÓU÷÷©z~~~enøXNk«twP©9hÑ¢‰‰‰ØÛÛ›Êccc9uê”i”RD¤²”l”R’ýÑÅÌ‹ ÿp8¹¹Ìí7—õ;p1ë"Û#øë'å_÷ÿ‹!Å¿\íÍX8`!I™¥w7ŽØA\Z³z΢{Pw\ì]hR» ‘ƒ#1¼õr©{ròsx¥ï+„Ö ÅÙÞ™V­X4hù…ù¼]ú¬Úò2ÂÔ^ÇéÜ“#ñG¸œs¹BíU¶¿wú;Çž=Æwc¾#È;ˆV>À²]ËþôžÔœTž\ó$aa¼Ú·bïEDD,OI •ð÷÷'::šÔÔTÓººx€&MšðÃ?иqcK‡hÁ`àðáÃÄÅÅa0Lk!Eäö°éÄ&z™ä`ë@§†È-Èeçéìø}]w5«ëëæK£;•j;êD6z÷4+÷qó¡Ií&M8JB†ù¦ÎöΦi¢%šù4Ã×Í—c‰ÇÊL6¯§u@k³Ï~nÅe%f$Þp[UÅÞÖž ï ^éû ½‚{±dçvÅ–ÞuŠå'Öèulmlˬ'""5Ÿ¦ƒZ‘^½zÑ«W/K‡q]ááᄇ‡[: ©"W ¯‘—£#®®¥®×v­ O½Rx…¬+Y8Ú9âbïRª®·«7§SN—j Íâ6׌!6%÷ÿíŒìáèQf=oo’2“¸”u _·;—ôê Vl Å¿w5R¾¥øÕ±&ðz÷dÓ‰MlÙJç†Í® ™øùDüÜüxmàkØ”ŠˆÜÊ”ŠˆHµr°uÀÝÑŒ¼ ²®d•JK¦ú¸ùà`뀫ƒ+YW²ÈÎÏ.•¦æ¤–jÛÃɃ¬¼,~ýǯåNVRsS1¥vº¼”} (N6K¨žÝ0«zMàÕl€âwqµ¾}+…Wxû¡·ÍÞiÏwzòú¯Ó¦Îµn©y4TDDªÝ}Mï`ë©­fåW ¯°;v7NvNÜÛ¨øÌÕn‹ƒ)™ZârÎe³QÀ}›õ¥ÐXÈÁóK][¾w9÷¾u/…F󶼂<ŽÄ1+;~ñ8I™I4÷kn6 èlïL~áÿέíóï>|rè“ëö¹&˜·eÏ|õL™×¶ÿ¾(=ué÷K9‘t‚åÖ›E¹µi$PDDª]x·pöÝÇœè9¸Ø»FRfÛ#¸˜u‘9÷Ï1M ïÎî3»y5êUÜÜh[¯-Ò.ð¯ÍÿÂÅÞÅ4ýÓ¬í3ûxnãs¼tßK´­Û–¢B¾ùí–íZÆ‚ Jº;º³hÇ"¦Ý;ÍlwP{[{f÷6ß8«¥K~Šû‰øôx28{ù,íë·¯ÚV‰¾üõKz5dh«¡øºù’”™ÄêŸV³þ—õÜå—iWV(> bé÷Kh½¨õµš‘[Œ’@©WŸØ2¢%ƒ[fÑ Eø¸ùðÅ_ðæî7y%ê2p¶w¦M6|ððtlÐÑt_ g kÿº–…Û2ñ‹‰ÐÔ§)“:Obå•ìŽÝMðü`†·μþóðvñfÝãëxk÷[¼´é%âÓãñpò …_ ÞyèRëÝ\ì]x±Ï‹Ì‰žÃq?RXTHë€Ö¬zd•éœÀ/ôzç¿}žûÞ½OgOþyß? òâÐ…C û`˜Y'tšÀô®Ó žl*ôƒè܃w‡½[™¯»\&užDpí`¾>ö5Ÿýü‰™‰ØÛØÓØ»1áÝÂy¢ý8Ù9™ê{üÛjQDDªž‹—Ûš‹K³æÃâoƒV"%+…]ËÞSDäV§ïÿ·ŸqXüž={*£‘*ñÓO?Y:±b _¿¢ˆˆˆH5©”$pÉ’%,Y²¤2š©t+W®dåÊ•–C¬˜’@©In: ¼ÉÙ¤"""±bß æooúÏ$x~0¶6¶ÿÇqSý”ì–íZÆæ˜Í$f$âîèNûúí™ÔeÍ}›—ë]ˆˆÈíÍ`4–BDD*&11‘ÌÌÌrÕ béÒDú÷/_ýÊR’8u¨ß)÷N¡u@kN$Ÿ`ć#Ø;i/_ÿö5/~÷"¯zZ>`ºï¹ÏñÙÏŸ1 ù"GšÊ£NDñáòÁÃTk?J|ôÓG7ïõÞ‰—³—©NIX¢Õ¢V´ðkaJ>ÿ()3‰á'¯ ùýçÓ!°qiq¼øÝ‹Ž?̪GVZ7´ŠÞŒˆÔT–úþ/UÇÏÏ77·ŠÞ¾VÓAED¤ZŒí8–°À0œí áø?ŽãåìÅ€;`okÏ¿|aª›[KôÉhx5`óÉÍd]É2]ûüèç ½k¨%ºP©ñ^ëTTÄöâÒâ˜Õs݃ºãbïB“ÚMˆ‰Ñhä娗+ܶˆˆÜ>”ŠˆHµ )³ÜÓÙ“îAÝÙ»‹‹™ˆ>MHFµEnA.ßÿ€ÔœTöÝGßf}«-÷Z濫¢NDac°1MG-áãæC“ÚM8šp”„Œ„J}¦ˆˆÜz´&PDDª…³½ó5¯ ½k(Q'¢øêØW<Õþ)¾8úCïJÇ™¿u>_þú%¶z Ç6Ð#¸.ö.åzfe¯ ¬ìxÿìܨ+…WÈÈË Íâ6׬›‹¿»¥=WDDn=JEDÄâzõÀÓÙ“Ïþœ!-‡pèÂ!– ]†“]váûØïIÊLbÝÏëx¦Û3ån÷¦Ü ñ–‡C™å¶x8y•—ůÿøõO7Ìë¦é ""bqö¶ö h>€cIÇX´}½›ôÆÉÎ €!w ¡°¨È‘$e&ѱAG GkÙxíÉ/Ì7}îóï>|rèú6ëK¡±ÐlÇÕË÷.çÞ·î¥ÐX¾‘Q¹}) ‘aHË!¬9¼Æl#•>MûàêàÊšÃkÜr06†šñO—¥âméß’Ó)§‰O秸Ÿ8{ù,íë· ¼[8ž<·ñ9¶ÿ¾Œ¼ RsRùø§Y¶k3{ÎÔ¡ˆˆh:¨ˆˆTC1ìƒa¦Ï-#Z3#¦Ìú¡uCièÕ+…WèP¿ƒ©ÜÉΉû›ÝÏg?fÑ]A¯V‘xËóN®>_±eDK·Ì¢A‹x¡× <ÿíóÜ÷î}x:{òÏûþIwÞ.Þ¬{|oí~‹—6½D|z<N´ðkÁ;½Cç†+ÿEˆˆÈ-G犈ÜÂn…sEDIJôýÿö£sEDDDDD¤Ü”ŠˆˆˆˆˆX%""""""VDI ˆˆˆˆˆˆQ("""""bE”ŠˆˆˆˆˆX%""""""VDI ˆˆˆˆˆˆQ("""""bE”ŠˆˆˆˆˆX%""""""VDI ˆˆXDÔ‰(‚ç›þääY:¤¶áØSü-^kaépL¶ÚFïå½i¶°™¥C‘HI ˆˆXDŸ¦}ˆ™Cï&½-J… l>˜1tjØÉÒ¡p6õ,Oú4Û#HÎN¶t8""RC) ‘*ÕjQ+F®ié0¬Ââ‹i[·-ëŸ\«½«¥Ã‘ÊÎÒˆˆˆHå˜×NvN–CDDj8ŠˆˆÜ&”ŠˆHyh$PDDªÄŠ}+˜¿u>Ï$x~0¶6¶ÿÇñRõ/f]dáÖ…ì<½[ë†2»÷l=âdƯoª¿iÌ&ï\Ìž3{HÍI`ÿ”ýx9{‘’²]ËØ³™ÄŒDÜÝi_¿=“ºL¢¹osS…ÆB¾ýí[þ{ø¿¿xœŒ¼ x5`DÈ»û1l æ¿+=ué¯m{½g÷RXTHK¿–„w¿áwÓla3 ‹ ËU·¶kmöNÚ{ÃϹ%""R%F‡ftØhZ-jE ¿¬µæOëωžÃØ{Ʋ`À]8Äøu㙺~*ë_üo#™qŸ#úd4/|ûSî 9‘|‚Ž )3‰á'¯ ùýçÓ!°qiq¼øÝ‹ û`«YEhÝP¶ŸÚΔõSïÎÒ!K)2ñÕ¯_1'z  Ìè1Ãß™ËgþápœíœY6dmëµå\ê9æm™ÇÙËgoèÝ”•‹ˆˆTM‘aDÈBë†âlïLÇéÜ“#ñG¸œs¹Ìúc;Ž%,0 g{gBB8þãx9{±=‚¸´8fõœE÷ î¸Ø»Ð¤v"Gb4y9êe³vÂÃ×qµœjáåìÅcw?Æ ƒxÿûdæešêEl =7Ù}fÓ¥Q\ì]hæÓŒ…’”™T¥ïFDD¤2) ‘¡u@k³Ï~n~$f$–Y?$ ¤Ìò¨QØlèÜÓ¬ÜÇ͇&µ›p4á(  ô îÉG~Tªæ¾Í)(*àdòISÙŽßwеqW³º¾n¾4º£ÑŸuMDD¤FÑtP©ÜÝÍ>—¬Ç3b,³¾³½s©²+…WÈÈË Íâ6×|VlJ,þîþdäeðÞï±éÄ&2HÏM7«—“Ÿcj7ëJŽvŽ¸Ø»”jÏÛÕ›Ó)§ÿ¤wæ´&PDD,II ˆˆT)†j{–ƒ­Ndåeñë?~ÅÖ`û§õŸþôiöŸÛÏìÞ³Ôb^Î^ Vî_É¿6ÿË”€:Ø:àêàJÖ•,²ó³K%‚%Ó”—ÖŠˆˆ%i:¨ˆˆT)g{gò óMŸûü»Ÿú¤Êž×·Y_ …<°Ôµå{—sï[÷Rh,¤°¨¸Ž›·{œ;\îÀ`(NXó òJÝÛ­q7àÓBK\ι|C£€"""–¦$PDDªTKÿ–œN9M|zfVwB§ Lï:Ýt¦`‰Á=ø{§¿—ª3#¦TYjN*oí~‹¨“QħÇãáäA ¿Œ Cç†Mõ.ç\æõ¯³íÔ6.f^ÄÓÙ“n»áãæÃ;{Þà.ÿ»øâ‰/8rš…Û²çÌ hêÓ”I'±òÀJvÇî`xëáÌë?ïæ^Zm‰ÙÂÓŸ>]æµ¹ýæ2"dD5G$"–VXh Y³Æ¼ùf}ûfY:©$~~~¸¹¹UôöµJEDna7’¶k×éÓSxôÑôëW‘ÛBjª-íÚ5äÃ/бcŽ¥Ã‘Jr³I ¦ƒŠˆX‰úõ 8}ÚÞÒaˆˆH5úý÷âïûõëç_§¦X%""V¢eË<r²t""Rv¢V­"êÖ-°t(Rƒ( ±÷ޛ͑#N$'ÿù± ""rûˆŽv¡k×l ÕwZÜ”ŠˆX‰nݲqs+âÓO=,ŠˆˆTƒØX{~øÁ¹Ú7“šOI ˆˆ•pr2òðÃéüßÿÕ"-MßþEDnwK—ÞA``>ݺiWP1§ŸDD¬È„ —±³ƒ7Þ¸ÃÒ¡ˆˆHúñG'¾úÊ矿„­VÈU”ŠˆXW×"¦MKáÃ=øåGK‡#""U /ÏÀ‹/Ö¦K—lzöÔ( ”¦$PDÄÊ<ôP:÷Ü“ËØ±þ$%ÙY:©DF#̘áË… ö¼ôR²¥Ã‘JI ˆˆ•±±7ÞHÀÕÕÈØ±þää蟑ÛÅoÜÁ7߸òÆ 4h ³¥lú—_DÄ yxñî»ñÄÅÙñè£u4"("r‹+,„¹s½yã /^~9™Nr,’Ô`JED¬T``>Ÿ~Gv¶ >XWkEDnQ™™6ŒïÏGÕâõ×92ÝÒ!I §$PDÄŠæ³víy‚ƒóyðÁº¼újm!"r‹0aÝ:wî»/#GœXµê‚Δr1F£¥ƒ‘ŠILL$3óæÿÁ/*‚Ï>ó "âŒFxê©4z(ŸÂJˆRDD*S~¾¨(WÞ{Ï“£Gyøá4¦MKÁÓ³ÈÒ¡I5ñóóÃÍÍ­¢·¯U("r «¬$°DF† ï¼ãÅš5¤§Ûкu.¡¡¹4l˜O­ZE:kJDÄB23mˆ·å×_ٳǙÜ\zôÈbêÔî¼óŠ¥Ã“j¦$PDÄŠUvX"7×ÀŽ.ìÜéÂÑ£Žœ;gGF†-…”[ÖZà ¾¥©W×"j×.¤yó+tì˜CïÞYøùX:,±%""V¬ª’@‘ÛMpp0K—.¥ÿþ–EDä¦Ýl¨Õÿ""""""VDI ˆˆˆˆˆˆQ("""""bE”ŠˆˆˆˆˆX%""""""VDI ˆˆˆˆˆˆQ("""""bE”ŠˆˆˆˆˆX%""""""VÄÎÒˆˆHÅ9::Z:‘[†““nnn–CDä¦ÙÙÝ\§$PDäæééiéDnµjÕÂÏÏÏÒaˆˆXœ¦ƒŠˆˆˆˆˆX%""""""VDI ˆˆˆˆˆˆQ("""""bE”ŠˆˆˆˆˆX%""""""VDI ˆˆˆˆˆˆQ("""""bE”ŠˆˆˆˆˆX%""""""VDI ˆˆˆˆˆˆQ("""""bE”ŠˆˆˆˆˆX%""""""VDI ˆˆˆˆˆˆQ("""""bE”ŠˆˆˆˆˆX%""""""VDI ˆˆˆˆˆˆQ("""""bE”ŠˆˆˆˆˆX%""""""VÄ`4–BDDD¤²<û쳜9sƬlÏž=4mÚooo³òÈÈHª3<K[kgéDDDD*“½½=k×®-U~þüy³ÏJEÄ*i:¨ˆˆˆÜVFuÝ:ööö<ùä“ÕˆHÍ£‘@‘[Xjj*yyy–C¤Fñöö&((ˆS§N]³N~~>½zõ"11±#©µjÕÂÉÉ©Â÷+ ¹…ååå‘™™ié0Djœ!C†IAAA©kƒ&MšP§Nýÿ#"·$WW×›º_ÓAEDDä¶óÀ”™ØÚÚòàƒVsD""5‡’@¹íÔ­[—V­Za0J]+,,¤_¿~ˆJD¤fPYlW IDAT("""·¥¡C‡bccþ£ŽÁ` 44”ºuëZ(*ËS("""·¥rõqÈ666 2ÄB‰ˆÔ JEDDä¶tÇw†­­­Y¹¦‚ŠˆµS("""·­!C†˜Fmmméܹ3^^^ŽJDIJ”ŠˆˆÈm«oß¾¦‘@£ÑÈàÁƒ-‘ˆˆå) ‘Û–››=zôÀÎÎŽÞ½{[8"ËS("""·µx€^½zÝôË""·ƒñêm³DDä–‘˜˜Hfff¥·››k`ûvvîtá—_9wΞôtŠŠ*ýQ"Õ ðþhgP¹5¹ºQ»v!Í›_¡cÇzõÊÂß¿ÀÒa‰…øùùáææVÑÛ×* ¹…Uv˜‘aÃ;ïxñÉ'dfÚкu.¡¡¹4h§g6š?"·¨uëþɼ€ƒ¥C©ÌLlùåGöìq&7׆=²˜:5…;ï¼béð¤š) ±b••ÁgŸyqF#<õTÆ¥S»va%D)by9998;;[: ‘J‘Ÿo :Ú•+<9zÔ‘‡NcÚ´<=5]ÃZ( ±b•‘¦§Û0y²?{ö81jT:“'§P«–~©éŒFøüsw""¼)*‚·ßN 44×ÒaI5¸Ù$P{DD¬ØÙ³ö ^˜{Ö­‹cöìd%€""·ƒ|0ƒM›ÎÒºu.£FÕ᫯*œˆQ("b¥Îžµgذº¸¸±n]-[æY:$©7·"Þ~;¿ü%éÓýX³ÆÃÒ!I ggéDD¤ú¥§Û0fLuë°zõœ5ú'"r+³µ…Y³.áæfäÅkS¿~>:åX:,©¡4("beŠŠ`Ò$²² ,_ž PDä62iR ýúe1i’?gÎØ[:©¡”ŠˆX™Ï>ó`ï^'–/OÀ×WgL‰ˆÜN ˜??‰:uòyé¥Ú–Gj(%""V$3Ó†×_¿ƒÇK×@‘Û”££‘—_Næûï]ؼÙÕÒáH ¤$PDÄŠ¼ý¶……0qbŠ¥C¹åìÛ·àà`³?+W®´tX"ejÛ6—Aƒ2™;×›Bù*WQ("b%rs |ò‰O=•¦c D* ,,Œ˜˜7nléPDÊeÊ”ΞµgûvŠ9%""Vbûv23m6,ÝÒ¡ˆˆH5hÐ Ÿ°°(¥( ±;wºÐºu.µkk^ˆˆµèÕ+›;\0-‰Ô$JED¬ÄÏ?;šké0DD¤…†æ’–fC\œŽ‹ÿÑañ""V".Ξ 4Tj®+V0þ|³²%K–˧Ÿ~J||<………|þùç´jÕŠ¤¤$Þ}÷]vìØA\\EEEÔ­[—ž={2nÜ8¼¼¼LíäääðÕW_±~ýzbccINNÆÉɉºuëÒ©S'F¿¿¿Ù³>Ì›o¾ÉÁƒÉÊÊ¢N:<òÈ#Õò.D*KÆùœ;gG½zùŽFj ŠˆX‰Œ ÚFj®Ñ£Gƒ³³³©léÒ¥ØÙÙ±~ýzæÌ™c*?~ü8ýû÷gåÊ•dffòÕW_±iÓ&òóóyï½÷lÚ´‰}ûö1fÌNœ8Áûï¿ÏСCIMM5Õßµk#GŽdË–-ñá‡òÅ_˜˜Èï¿ÿ^=/D¤¸»ßOO×ýò?úÛ "b% ØÚZ: ‘ãëë˸qã¨U«ÇÇÓÓ€™3gš’¶~ýúѨQ#êÕ«ÇÀ¸pásçÎ5k«}ûö<ñĸººâééÉĉñóóàâÅ‹DEE™ê¾òÊ+pÿý÷Ó¾}{<<<˜6mvvšH%·[ÛâÅ€…… G"5‰¾‹‰ˆˆHÕ£G³Ï 11‘#GŽ˜Ê|}}Mÿ]’ÔDEE‘››‹““>ú(ÙÙÙ 4ˆ³gÏ’ñª2RRŠÏÏŒ‹‹ãÔ©S¦ò ˜þÛÕÕ•Úµk“P9±%"""Rcùøø”*»xñ¢Ùç… ²páÂRõ®\¹Âùóç fôèÑüðÃ<ðÀÌž=/// ıcÇLIáåË—ÍÚqtt4ûìââRñ‰ˆÔJEDD¤Ærpp(UæíímöyÚ´iüýï¿f±±±¦`úôéf›Æ\íêk¹¹æ»êfggÿiÌ""5ÖŠˆˆÈ-% €æÍ››>Ÿ8q¢T¿üå/¦<¯žöùÇ‘½´´´R÷Ö­[—   Óç³gÏšþ;++‹äääŠ/"R( ‘[ÎܹsqssàÛo¿åóÏ?'##ƒK—.±hÑ"Ž9³Ï> @`` ¦{?þøcrrrX½z5.\(³ý_|Ñ´Ì7ß|ÃþýûIOOgÉ’%¦ cDDnUJEDD¤FذaÁÁÁäää˜Ê&NœHpp0çÏŸ7«ÛªU+6nÜȨQ£¨_¿>/¼ð:ubذa$%%±víZÚ¶m €­­-Ë—/§K—.¸»»óÁ0jÔ(ŠŠŠhÖ¬™©Íˆˆºuë@§NX³f =zôÀÆÆ†¿þõ¯ 2___7nlºç_ÿú÷Ýw_U¾‘Jg0^=GBäÿ±wçqUÕùÇ_peßDKsDTPÜ·Ô,m%uJm™œ±ÌµÉLS£Ì%—´&ÇÊÊֱŚ)M§¦4·,)sAASQ17–@öýrðƒº .‹¼Ÿ‡œó=ßóùžs—ûáûýž¯ˆ4‰‰‰deeU©l@€?«V%rÛmU+/""W}þ_}üüüÊFCXàõŠˆˆˆˆˆ4!JEDDDDDš%""""""Mˆ’@‘&DI ˆˆˆˆˆH¢$PDDDDD¤ Q("""""Ò„( iB”Šˆˆˆˆˆ4!JEDDDDDš%""""""Mˆ’@‘&¤Y} """"Ö·yó9{l/öö¶92²ž#‘ú¢ž@±šœ#7Þø5?¼§¾C©W[{*Ò˜ÛØ˜c¯ wÜÑš¸¸Ñ à[ß¡ˆH=S(""Vc2™(..ùw5¸ÚÚS‘ÆÜÆÆ»ˆH]ÒpP±—flß~s}‡Qk®¶öT¤1·±1Ç."R—Ô("""""Ò„¨'PDD¬bË–‹LUöslì88Ê~NK+àå—fëÖ‹\¼˜‹³s3ºw÷fÒ¤@úõ3Ÿ³”ššÏêÕÇøæ›‹$&æâæfGïÞ>üíoö¨ð|;vŒ`ùòX¾ý6 ƒÁ†°0o"#C¹î:³ºOžÌäùçc‰ŠJ¦¨ÈDÇŽî<òHï¼s’ï¿O`̘¶ ÖªÂöXzÞª´éJ‚‚6`4Vmè£QQ·]¶LmÞ³Ëyùåc¼øâzölÎúõƒص+‘üOO{~úéö ãúúë›xñÅ£ìÙ“LZZÏ=׃¹s÷—‹ÝÚÏÅ’%=ªÜîß_¿„„<¼½íñ÷wcäÈ6Ü~{k¾ý6É,Ö;ofÙ²vìHÀÞÞÀ!~<ýt(™™…,Xp˜¨¨$\\ì¸á?æÍ ÅÅÅükÝïÛ`4B—.DDt©r¼"rõ²1™L8/"ÒH%&&’••U¥²þ¬Z•Èm·U­|m™2%Š­[/š%ÉÉyŒ³“¼<#Ï=FŸ>¾$'ç±bE,_}Å‹{0vl[’’JÊæçYº´}úørþ|6Ï<Mtô%Ö­DX˜w¹óÝtS+&OîH§NìߟÂäÉQtìèΧŸ-+{æL6£GoÇÉÉÀ²e=éÑ£9çÏg³hÑaŽM'+«°Ü+jOuÏ[Ý6ÕµšÞ³ª ùœÎ=Ë’ÀR£Fmçܹœ²$ðqõéãÃŒÁ„†zrüx&cÇî$*ê6¼¼ìkåþXò\\IéõËÏ/fñâîôíëKn®‘õëãyñÅ#Ì›„ f±Þ|ó5L„¿¿_}uˆˆŸ2Ä;;[f̦m[W6nü…ÈȃL˜àϼy¡—mÃÙ³Ù,Yr˜øøl’’rõvÐ&¤¾>ÿÅzüüüpuuµôðO4TDDêÜŠG8w.‡§ž eذV¸º6£}{W^|±7¾¾Ž,Xͯ¿æÿÙXΟÏaî܆m‰³³À@w^z©7&“‰gŸ®ðcǶ%,Ì''¶`èP?ºÄ¥K¿‹#–ŒŒB"#C4¨EYÝ/¾Ø‹Ü\£Em«êy-iS}ªÎ=³¶É“;Ò·¯NNÍèÖÍ‹cÇFáåe_¥cëë¹(½~‘‘%×ÏÅ¥>>LŸÄàÁ~3fL[ºvõÄÉÉÀ¨Qm tgçÎDz(à`œ Ü{o{Z·vfçΤ?œ¯|‚‚ÜY¾¼'II¹µAD®JED¤Î}ýõn¸¡¥Ùv{{[ ð%/ÏÈ·ß&%Cmmm6¬•YY__G݉‰I#!¡ü—ÚÐPóž´V­œHLü­ì®]%ç<Ø<oo:t°ì/¬U9¯¥mªOÕ¹gÖÖ­›—ÅÇÖ×sQzý† )Ÿð½õÖ€²^Àß 1o§ŸŸ#]»šnÙÒÉ,~¨¼ -Z8Ò¾½Å½"r•М@©SÅdfâà`(7‡ Àǧä‹nrr^YY€îÝ7UZg||-[:™mss3¯ÛÞ¾dh`é$ˆ‚‚b²³‹pp0àìlà<<ìªÞ¨jž×Ò6ýQmÏ ¬LuîY]pr*¿ªª>ž‹+]¿Ê¸ºš—µ±ƒÁ''óí¶¶6fËb\© Í›;pú´†Š4eJED¤NÙÛÛâæfGff!ÙÙEå¾ÿúkI"áë눽½-îîvdgqäÈH ›ZÃÅ¥ÙÙEääË}YNI±ÎÐÆÚlÓ±c£j1²ÊUçžU‡­­ ……Åå¶gdZl Y㹸Òõ«mWjCéËtD¤éÒpP©s#F\Àöí fÛ Šùþûd \}ɰ¹›o¾£Ñľ})åêyíµã\ýÿªÜöG¥CóJ‡Î•JNγjO‰5Ûd-Õ¹gUÕ¢…c¹a¯ÉÉy\¸S³`kÈÏEéõÛ±#¡Ü¾ððm,^|Ø¢z+SY.]*àôéìZ=—ˆ4>JED¤ÎEDt¦ukg-:ĶmÉÎ.âôé,fÎÜKrr‘‘¡øø8”•½î:fÏÞÇΉdf’–VÀ‡žfõêcÌ™bqoZDD<=íY¸0šÝ»“ÈÉ1rüx³gï¯v¯VõÎk½6YKuîYU Ô‚¤¤<þõ¯Sääùå—l.ýô>üð4¿ü’Mq±‰6m\¸ûî¶ÜsO;ììlë´¼ˆHS§OE‘«Ptô%ƌى‹K3¾úê&vî¼…6m\¸ï¾oÙ½;©Nëþûß÷1gÎ~ ð嫯nbÛ¶Ü~ûµ<ûl4Ó§ÿXçåEDš:%""Òd„„|θq»ê; «+.6ñä“ûqw·cÙ²´hሗ—= t§m[WæÌÙOAAqÔ}öl7ž¥sg""ºÐ¼¹žžöLšÔ‘AƒZ°mÛEºTgåEDDI ˆˆÈUgïÞNœÈà–[®ÅÑÑP¶Ý`°áŽ;®åâÅ\¶m»X'u_¼˜@@€{¹º:tpàÂ…œ:+/""JEDD®:{ö$âYn_Hˆ×ÿ—ùµNêîÐÁfÍl8y2³\ùS§2±±  :+/""z1ŒˆˆX‘Ñhâÿ;ÏÇŸáرt23‹hÛÖ…±cÛ1~|lmmX»öK—ÆàççÈ«¯öãùçc‰ŽN¥¸ºuóâñÇ;—½t¤&å÷íK! à3 ¤÷êØ±QÕŠµÔÉ“™<ÿ|,QQÉ™èØÑG âwNòý÷%‰Ò˜1mY²¤Çe¯QPÐŒFS•®§QQ·]±\iBÔ²¥S¹}¥ÛNŸ.)3nÜ.öíK)Û?rdV®ìÅøñ»ËÚ°ÿ¸»ÛU«îÒ˜çÌ á¹ç³bE,>€­­ Ïwß%ñ·¿Ó¾½k•%""bE;w&0cÆ^""º°jUoŠ‹aÓ¦³,Zt˜„„\ž|²+'2qb ááÛˆÏbáÂCÌB§NÄÅe0gÎþüçݼûî@úôñ±¸|HÈçtîìÉúõƒ-ŽàÌ™lƌى““Õ«ûÒ£GsΟÏfÑ¢Ãüüsöö¶92²Jר4 ­M™™…8;—ÿ5_º-=½¤Ìúõƒ9z4±cwÒ®+‹…°víî½w&pÇ­-ª»Ô_þâO‹Ž,^|˜5kŽàåeÏsÏ…1fL»rõX»¼ˆHS§á ""bU}ûú0eJG<<ìñò²güxÂÃ[óÎ;qde•+Ÿ›kdÁ‚î„…yãäd $Ä‹•+{QXXÌÂ…‡j\¾6b]±"–ŒŒB"#C4¨ÎÎÝyñÅ^äæ«‘êÉTÒëhó»ŽÍà`–/ïÉÑ£éDDü„ÉO=u€|Í@Kê6™`޼̜¹—‡ $*ê6öî½Y³ºð쳇˜1c¯YO¨µË‹ˆˆ’@±¢aÃZñþû×—ÛìAQ‘‰'2Êísr2l>‡+(È-9z4¤¤¼•¯XwíJ`ðà–fe½½èСþ‡º¹Ù“Sq’ àîng¶ýÖ[¯eÚ´ ¾úêãÆí$-­™3;׸î ~aýúx&øãã〗—=÷ÜÓŽÉ“;òßÿžã½÷NÖYyÑpP±¢ÌÌBÞ|3ޝ¿¾@BB.æÃ+ê5ûcrRªys’’òHIɧE G‹Ë×4Ö‚‚b²³‹pp0àìl(W‡GÅñTÆsýýKÞŠ™[n_é¶öíÝÊí›9³3ß}—Äþý©<ÿ|Ïró -©»4a8°E¹òøòÒKGÙ¹3‘ ꤼˆˆ( +š4)н{%22”ððÖxy9`co¿ÇâŇˆþ^ZZ!&“ùB€””| $¹³´üËX«½½-..ÍÈÎ."'ÇX.,=oUYcN`¿~>¬^ 11iŒ}Ù¾˜˜4ú÷÷)wÜ?$“•UDP;O?}N<Êõ²V·îŠz ÿè÷e¬]^DD4TDD¬Äh4±o_ ¾¾Žüå/þx{;”%aùù•/TžŸoäСT³mÇŽe””Gp°G¹^½ê”wrjFaáoç>| }_íX‡ ñ~ë…*•œœÇéÓY•¶­®ôéãC@€_~yžüüßz[F›7Ÿ£U+'n¸Á|(ë¹s9<ùä~^~¹/¯½ÖGGS¦D‘šš_£º»w/yCë÷ß'•‹³t¹‰îݽ물ˆˆ( +1lèÛׇää<Þxã—.—g$**™>8]éqnnv¬\y„RÉÍ5røð%fÍú ;;["#CkT¾KONŸÎââÅ\Hå—_²éÝ»yµcˆè‚§§= F³{w99FŽÏ`öìýøú^y詵ÙÚÚ°tiOÒÓ ™={?ÉÉy¤¥0~4ññY<÷\~ëÁÌÉ12eJ‘‘Ýp£uk^~¹/‰‰¹LŸþEE&‹ë¾ÿþö´kçÊûïŸâÝwO’’’OZZŸ|r†×^;ŸŸ#'ÖYySEcqDD¤QHLL$+«j=Oþ¬Z•Èm·Õ]OÕ¥K¼ðÂvìH 99OO{† i‰¯¯#kÖ kWO6l¸€ððm¤¦æóÞ{ƒX´èû÷§b4š õbÖ¬ßÖý+UÝò§Ne2oÞAbb.áéiÏ”)AÜ{‹b=}:‹åËcس'£‚ƒÝy≮üãG8t(Çízm«âÈ‘tV®Œe߾ЋMtëæÍc›]—ùó£Y·îTÙÏ_|q#¾¾Žôîý_³ºfÎìÌôéAÕª»TzzkÖgÛ¶ÎžÍÆd‚V­œ2ÄéÓ;áããP§åEššúøüëòóóÃÕÕâ‘}¢$PD¤kèI`u•&uß}w«UÊ×…#¶’—gd×®›ë; q|þKõÔ4 ÔpP‘jJNΣgÏÿš “8w.›3g²èßß·ž"¹2%"""HO/à©§pñb.¹¹EDG§2cÆO¸¹ÙñÈ#ê;<‘J) ‘z·ví >ãèÑtóøŒ^8Rkåk›¯¯#ï½7ˆŒŒBî½÷[zôø/“'GÑ® Ÿ~:”6mœë,‘êÒ:""Rï&N ¬Ö«[Þ ðeÀ û‘ÆG=""""""Mˆ’@‘&DI ˆˆˆˆˆH¢$PDDDDD¤ Q("""""Ò„( iB”Šˆˆˆˆˆ4!Z'PDDD*µví –.ÀÏϑᄏµž#ªØÑ£é¬\y„}ûR0‹éÞÝ›3‚éÙ³¹Åu†„|Nn®±JeŸ{®cǶmÐLjˆ”R("""•š81‰ ßFjj~}‡S¡èèKÜÿ·Üxc+¾úê&ììlY±"–ûîû–7ßÀ A-,ª÷ðá;9z4ððmÜtS+Ö¬éWa¹ûîû¶Q#"RJÃAED¤É ùœqãvÕwR‹Š‹M<ùä~ÜÝíX¶¬-Z8âåeÏ‚ÝiÛÖ•9söSPP\ßaŠˆ4(ê ‘FkïÞNœÈ`üx eÛ î¸ãZV­ú™mÛ.rË-×Z-†>¸þª:FD®~ê ‘FkÏždBB<Ëí ñúÿ2¿ZåÜóçG³hÑ¡«æi:Ô(""Vc4šøßÿÎóñÇg8v,ÌÌ"Ú¶uaìØvŒß[[ üËG^}µÏ?Ktt*ÅÅЭ›?Þ¹ì%5)¿o_ Ÿ%½EÇŽªV¬¥NžÌäùçc‰ŠJ¦¨ÈDÇŽî<òHï¼s’ï¿/ILÆŒiË’%=®x¶l¹ÈÔ©Qe?ïÜy3˖ŰcGöö† ñãé§CÉÌ,dÁ‚ÃDE%áâbÇ 7ø1o^(..¿ý:¯N; Šyå•c|ñÅy.\ÈÁÁÁ@ÏžÍ7®C‡úa0˜·ù÷6n<ˬY?™mÛ³çV|}+=&(hF£éŠ×ÀÇǨ¨Û®XîäÉLZ¶t*·¯tÛéÓ%eÆÛž})eûGŽlÃÊ•½?~wÙ=Ø¿ÿÜÝíª§ˆHc¤$PDD¬fçÎfÌØKDDV­êMq1lÚt–E‹“Ë“OvÌ_>ŸÅÂ…‡˜;7„N<ˆ‹Ë`ΜüùÏ»y÷ÝôéãcqùÏéÜÙ“õë[+À™3ÙŒ³''«W÷¥Gæœ?ŸÍ¢E‡ùùç ìím9rdd•¯Óðá­ˆ‹Í”)QlÝz‘çž;ÌÔ©A,[Ö“¯¾º@DÄO¤¥`ggËÌ™Á´mÛ›!2ò ..͘7/Ô¢vÌŸ/¿¼À?ÿÙ‡^½š“•UÄÚµ'˜ýô <°€^½¼¹÷ÞöŒqM¹¸22Š˜:õZ¶tbçÎD6n<ËÈ‘mªÜ.kÌ ô÷w !!·Ü¾ÒmíÛ»•Û7sfg¾û.‰ýûSyþùžåæ|VÅüùÝ®ªcD¤éP(""V3iR{÷þJdd(áá­ñòrÀÆÞ~;ŽÅ‹— ×û½´´BL&ó!|))% •7oî`qù?–±$V{{[\\š‘]DNޱ\"XzÞúRknc£FµaÔ¨6™ˆŠJfíÚL›ösç†ðàƒfu ðÞ{ƒps³c̘Ì{€öí] õúc²ÆœÀ~ý|X½bbÒ=ú:³}11iôï_¾Wó‡’ÉÊ*"(ȧŸ>H§Nåz”ED®V*""Va4šØ·/__Gþò¼½Ê’°üüÊïÎÏ7rèPªÙ¶cÇ2HJÊ#8Ø£\¯^uÊ;95£°ð·s¾…>Нv¬C†ø¿ -•œœÇéÓY•¶ÍÚªÛŽ°°Íeo×lÖ̆AƒZ°fM?ll`ûö„rå]\šáç爳³×^뇳³)S¢ª<äÖúôñ! À/¿l÷ܹž|r?/¿Ü—×^뇣cI;RSë7©+JEDÄ* úöõ!997Þ8Á¥Kä削JæƒNWzœ››+WáÀTrs>|‰Y³~ÂÎΖÈÈЕïÒœӧ³¸x1—Rùå—lz÷n^íX#"ºàéiÏÂ…ÑìÞDNŽ‘ãÇ3˜={ÿe—H°6K®ydäA~þ9‚‚bRRòyýõã˜Lп¿ïeÏÕºµ /¿Ü—ÔÔ|¦M‹¢  òÄÞšlmmXº´'éé…Ìž½Ÿää<ÒÒ ˜??šøø,ž{®¿õÖæä™2%ŠÈÈn¸•µ#11—éÓ ¨¨jÃUED3SEcqDD¤QHLL$+«j=Oþ¬Z•Èm·Õ]OÕ¥K¼ðÂvìH 99OO{† i‰¯¯#kÖ kWO6l¸€ððm¤¦æóÞ{ƒX´èû÷§b4š õbÖ¬ßÖý+UÝò§Ne2oÞAbb.áéiÏ”)AÜ{‹b=}:‹åËcس'£‚ƒÝy≮üãG8t(Çë|¼ÄÝwï0Û6mZÇ·bôhóíéÕˇ{îÙe¶ýÑGƒyôÑNÕjÇÑ£é|ðÁi~üñW.\ÈÅÁÁ–ví\;¶=cÆ´ÅÆ6o>Çcí5;×¼y!„…5/séº{õáÈ‘tV®Œe߾ЋMtëæÍc›=óçG³nÝ©²Ÿ¿øâF|}éÝû¿fuٙ͜éÓƒ ù¼Ü¼Õ+ÍUlÈÇHÓUŸÿb]~~~¸ºZü"²O”Šˆ4b = ¬®Ò¤î»ïnµJùº0bÄVòòŒìÚus}‡""4ŽÏ©žš&*""RMÉÉyôìùßrCÏËæÌ™¬+¥©OJEDD,ž^ÀSOàâÅ\rs‹ˆŽNeÆŒŸps³ã‘G:Õwx"""•Ò""RïÖ®=ÁÒ¥1e?|Æ´iA<þxÅ xW·|móõuä½÷±nÝ)î½÷[sñð°càÀ¼øb/Ú´q6‹íJJç󉈈ÔÍ iÄ®¶9""RûôùõÑœ@©2%""""""Mˆ’@‘&DI ˆˆˆˆˆH¢$PDDDDD¤ Q("""""Ò„( iB”Šˆˆˆˆˆ4!Íê;kÚ¼ù=¶{{[ŽYωˆˆÔ/õŠˆÈUíŽ;Z7š|ë;‘AI ˆˆÈ„„|θq»ê; ‘Z¡$PDDDDD¤ Q("""""Ò„èÅ0""bUii¼üòÏlÝz‘„„<¼½íñ÷wcäÈ6Ü~{k¾ý6‰©S£ÊÊïÜy3˖ŰcGöö† ñãé§CÉÌ,dÁ‚ÃDE%áâbÇ 7ø1o^(..æ¿ÊNžÌäùçc‰ŠJÆh„.]<ˆˆèbQìkמ`éÒöíK! à3 öî½=6›•Ÿ9³3Ó§a4š ÚP¶ý–[®¥{w¯²ºüüyõÕ~<ÿ|,ÑÑ©C·n^<þxgzölnVgjj>«Wã›o.’˜˜‹››½{ûð·¿u"8Ø£Jí Ú€ÑhªRY¢¢n»l™-[.šÝ³;F°|y,ß~›„Á`CX˜7‘‘¡\w …ÕºN#G¶©Õç¡6®ŸˆÈÕÆÆd2Uí·‚ˆˆ48‰‰‰deeU©l@€?«V%rÛmU+_’“ó3f'ùùÅ,^ܾ}}ÉÍ5²~}>‹N<˜;7„N<ˆ‹Ë`Μœ<™É»ï¤O’’J¯Ÿ‘¥K{Ч/çÏgóÌ3ÑDG_bݺA„…yW»=µ¥ôžÝtS+&OîH§NìߟÂäÉQtìèΧŸ-+ûàƒß³{wR¥×iüxÂÃ[—«»&ÏCC¿~"u¥>>ÿźüüüpuuµôðO4TDD¬fÅŠ#œ;—Cdd(ƵÂÅ¥>>LŸÄàÁ~3fL[ºvõÄÉÉÀ¨Qm tgçÎDz(à`œ Ü{o{Z·vfçΤ?œ/–ŒŒB"#C4¨Î΂‚ÜY¾¼'II¹ViãCR\lâÍ7O˜mß·/… r¸í¶ÖåŽÉÍ5²`Aw¼qr2âÅÊ•½(,,fáÂCfí9>‡¹sC:´%ÎÎÝyé¥Þ˜L&ž}6Ú*mª®±cÛ–µeàÀ êÇ¡C—¸t© ¬Ìĉ•_§ÄÄ\«ç+vZ:,´Ô¥Kœ>mq½NNÍ(,,.ûyøð-|ôQ|ÙÏöö¶ÜRRòyóÍ86n<Ë_ÿZ~¨k©ü|#‡¥šm;v,ƒ¤¤<‚ƒ=hÑ¢dÈãÍ7_‹Ñhbß¾”ru¼öÚq®¿þUîák þú×€²ë´yó9þò«ïj»~""µEI ˆˆXMDDgZ·vfñâÃlßž@vv ¹<óL4ÉÉyL˜P» @DD<=íY¸0šÝ»“ÈÉ1—Éãï­pˆhUuéâÉéÓY\¼˜Ë©üòK6½{›/åðç?wÀÑÑÀ /Ä2p` Ú¶u©¤6ps³cåÊ#8Jn®‘Ç/1kÖOØÙÙùÛÛ-#":sÝu.Ìž½;ÉÌ,$-­€?<ÍêÕǘ3'¤ÑõpÝsO;ÜÜìxá…X†¿¦lŽŸ5\×OD¤6h‰‘F¬¡/¥ëcË– $$äâíí@Ÿ>><öX0íÚ¹rðà%î¾{‡Ù1Ó¦1|x+F6ßÑ™^½|¸çž]fÛ}4˜GíÀéÓY,_Þ=É™èØÑ¿ý­o¿Ç÷ß'%oœ\²¤âùz9u*“yós OO{¦L âþûÛ—+7oÞÖ¯ç×KK…‡o#55Ÿ÷ÞÄ¢E‡Ø¿?£ÑDh¨³f•_'0-­€W^)¹~/æâînOçÎ<üp ¶¨rjSe÷ìñÇ;—­¥Xê†ZòÆýͶ-[Ãoœ`óæatêdþ‚—Ú~âõ©kZ"âêSÓ%"”Šˆ4b! lJþýï3¬[wŠ n¨´LiøÝw·Öad"Ò”éóÿê£uEDDˆ?ŒçÁ+Ÿ (""Ò( ±ÐÇŸaêÔ(rrŒ|ðÁiÒÓ ¸ýöò‹Ã‹ˆˆ4$Z"BDDš¤?Î]«Èïç–UfË–‹„…m"0З^ê]é‹FÖ®=ÁÒ¥1fç/G'""R—”ŠˆH“7ºÆuŒÛ–±cÛV©ìĉLœXãsŠˆˆÔ”†ƒŠˆˆˆˆˆ4!JEDDDDDš%""""""Mˆ’@‘«Z[¶ü“´´´úD%"""""WµŸÙºõŸ\ýõÌŸ?Ÿ3gÎÔw@RÏ”Šˆˆˆˆ\Õî`Á‚ýÌš5‹;v0|øp¦NJttt}&õDI ˆˆˆˆÈUÎÁÁ•¿þõ¯|óÍ7¬ZµŠ_ý•»ï¾›3fpîܹúOꘒ@‘&Â`0pË-·ðÉ'ŸðÎ;ïpüøq†ÎÂ… ÉÌ̬ïð¤Ž( idŽMgâÄ=„…m&4ôsÆß;})õ–ˆ42dÓ¦MÌž=›7rã7²aÆúKꀒ@i0rrŒÜxã×<üðžú¥ÁŠŽ¾Ä˜1;qqiÆW_ÝÄηЦ ÷Ý÷-»w'Õwx"ÒÈ4kÖ¬l˜èí·ßÎßÿþw&MšDrrr}‡&V¤$PDD “ÉDqqÉ¿†"$äsÆÛUßaP\lâÉ'÷ãînDze=hÑÂ//{,èNÛ¶®Ì™³Ÿ‚‚âúSD!žyæÞÿ}Nœ8ÁwÞÉ?üPßa‰•( ‘ÃÅ¥Û·ßÌ›o¨ïP¤½{S8q"ƒ[n¹GGCÙvƒÁ†;‹sÙ¶íb=F("]ïÞ½Ù´i={ödüøñ¼ýöÛõ’X’@‘FbÏž’áY!!žåö…„xý™_ë4&¹ú¸ºº²zõjžxâ –,Y³Ï>‹Ñh¬ï°¤5«ïDDäê´ví –.ÀÏÏ‘W_íÇóÏÇJq1tëæÅãw¦gÏælÙr‘©S£Ê޽C…uWÄh4ñ¿ÿçãÏpìX:™™E´mëÂØ±í?¾¶¶6fåÓÒ xùåŸÙºõ" yx{ÛãïïÆÈ‘m¸ýöÖ¬[wª,þ}ûRø (éu;vlÔã Ú€ÑXµa­>>DEÝvÅr'O–¼¹¯eK§rûJ·>­·û‰Hí˜8q"­[·&""‚ŒŒ –/_ŽÁPõÏei¸”ŠˆˆULœÈĉ„‡o#>>‹… 1wn:y—Áœ9øóŸwóî»éÓLJáÃ[7š)S¢ØºµúCwîL`ÆŒ½DDtaÕªÞæMgY´è0 ¹<ùdײ²ÉÉyŒ³“üüb/îNß¾¾äæY¿>žÙ³÷“‘QXHÈçtîìÉúõƒ«OUÅêÊÌ,ÀÙ¹ü¯ïÒméé…µ~^iºn¹å\]]™2e 666<ÿüóØØØ\ù@iÐ4TDD¬.7×È‚Ý óÆÉÉ@Hˆ+Wö¢°°˜… ÕÚyúöõaÊ”ŽxxØãåeÏøñþ„‡·æwâÈÊ**+·bÅÎË!22”aÃZáâÒ ¦Obð`¿Z‹§.™L%½Žún&"µmРA¬Y³†ÿþ÷¿¼ð õŽÔ%""buNN‚ƒ=̶¹Ó¢…#G¦“””Wãs ÖŠ÷ß¿¾Üöà`ŠŠLœ8‘Q¶íë¯/0dHù„ï­·0aB@ã±77;rrŠÊíËÍ-™¯ãînW§1‰HÓ0hÐ /^Ìš5køüóÏë;©! ««,1iÞܤ¤,²4I*((&3³..Öû5h9þþn$$ä–ÛWº­}{·jD)"RuúÓŸ8räO?ý4aaa´iÓ¦¾C ) «KK+Äd*?T1%%(IkjÒ¤(öîý•ÈÈPÂÃ[ãåå€ ¼ýv‹..ioo‹››™™…dg]1´tx¥5æöëçÃêÕ“ÆèÑי틉I ŸZ?¯ˆH©¿ÿýïüðÃÌž=›÷ß_ó) «ËÏ7rèPªÙ¶cÇ2HJÊ#8أƽ€F£‰}ûRðõuä/ñÇÛÛ¡,yËÏ/¿xúˆ×°cGB¹}ááÛX¼øpÙÏNNÍ(,ü­Žá÷ðÑGñ5Š×R}úøàÆ—_ž'?ÿ·×µ&6o>G«VNÜpCËz‰MDš{{{–,YÂO?ýĦM›ê;±’@±:77;V®<©äæ9|ø³fý„-‘‘¡5®ß`°¡o_’“óxã\ºT@^ž‘¨¨d>øàt¹òiÝڙŋ³}{ÙÙE$$äòÌ3Ñ$'ç1a‚YÙ.]<9}:‹‹s9p •_~ɦwïæ5ŽÙ¶¶6,]Ú“ôôBfÏÞOrriiÌŸM||Ï=×£ZËjˆˆX¢k×®Üu×]¼ð •Ÿ£, Ÿ©t|Œˆˆ4:‰‰‰deeU©l@€?«V%rÛmU+_[Â÷‘ššÏ{ï bÑ¢CìߟŠÑh"4Ô‹Y³*_'`äÈ6¬\Ù«Jç¹t©€^8ÂŽ $'çáéiÏ!-ñõudÍšctíêɆ 7¥ëcË–’9„ÞÞôéãÃcÓ®kY½§Ne2oÞAbb.áéiÏ”)AÜûÚ¸4;r$•+cÙ·/…âbݺyóØcÁe×RDä÷¬ñùᆠƒ%K=zt­Õ+Uãç燫«ë• Vì%""XcJ¿ûîÖ:=¯ˆˆ”°Öçÿã?N||<Ÿ~úi­ÖÛPíØ±ƒE‹qöìYŽ;vÅòGeݺuüøã$$”L?ðóó£uëÖôë×ÁƒlѼʚ&*"""""Õö§?ý‰C‡qêÔ©j—““Ã7ÞÈÃ?l¥Èj×/¿ü¤I“X±b¿þúë˳|ùrF…½½=«V­bïÞ½|÷Ýw¼ð ´jÕŠ+VpçwS-(OI ˆˆˆˆˆT[ÿþýñññaëÖ­Õ:Îd2Q\\Lqqùw5D/¾ø"=zô`ãÆ¸¸¸T©ü믿Î3Ï<Ã3ÏÌ£vªvŒ""b9ƒÁ@ß¾}‰ŠŠbÒ¤IU>ÎÅÅ…íÛ·[1²ÚµdÉ«öë“'OòÚk¯ÑµkWî»ï¾JËMž<™wÞy§–"¬>%""b'2qb`ë‰‹Ó DDª>}ú°råÊúꪚ|ôÑGsë­—ŸïîîNlllMC³˜’@±H‡ÈÈÈ %%777^yå¾øâ .\¸€ƒƒ={ödܸq :ƒÁÀ–-[˜:ujÙñ±±±888Ffff…ç±±±áÛo¿¥eË’µPSSSY½z5ß|ó ‰‰‰¸¹¹Ñ»woþö·¿lvlPPF£±¢jËñññ!**êÊ+ñã?”‹¡¡Q("""""¹îºë8{ö,ü1_~ù%ÿüç?éÕ«YYY¬]»–É“'óþûïÓ·o_†N\\S¦L©p.á¡C‡pvv.ûyõêÕüãÿ`Ö¬Ye `RRcÆŒ!??Ÿ¥K—Ò§OΟ?Ï3Ï<ÃÝwßͺuë +«£*oò¬-ÉÉÉxxxÔÙ9-¡ȈˆˆˆˆEÜÝÝÈÊÊâûï¿'00AƒáèèˆO>ù$íÛ[¶¶ê_|ÁK/½Ä]wÝÅ”)Sʶ¯X±‚óçÏ3wî\†г³3¼ôÒK˜L&ž}öÙZi›%®´ú^xx8eÿ~ß®º¤$PDDDDD,RÚk—Í!CØ¿?óæÍãàÁƒeC0·lÙBß¾}¯X×Êê‹ŽŽæ‰'ž wïÞ,Z´È¬Ü–-[°µµeذafÛ}}} $&&¦l]¾ºæççÀ¥K—*Ü¿iÓ&âââøì³+¿ôÌš4TDDDDD,’““”¼ñsþüù„……ñé§ŸòÀЫW/î½÷^FŒQå:/\¸ÀäÉ“iÕª¯¼ò vvveû Êæ vïÞ½Ò:âããˆÖåœÀÞ½{Cll,C‡µ¸kS("""""IOOJ†…ÚØØ0jÔ(FEQQQQQ¬]»–iÓ¦1wî\|ðÁ+Ö—ÍÃ?LQQo¼ñžžžfûíííqww';;›#GŽ`0®Xg]Î ¼çž{x÷ÝwÙ¼y3Ó¦MÃÆÆ¦ÎÎ]*""""")öèééIXX'Ož Y³f 4ˆ5kÖ`ccS¥uF#3fÌàäÉ“¼üòËfs yä¶lÙÀÍ7ߌÑhdß¾}åêxíµ×¸þúë«ÜóWÛüýý™>žûï¿lll8sæ Û¶mãÝwßÅ`0R/1Ú˜®ô i°ÉÊʪRÙ€V­Jä¶ÛªV¾>ää ÿ†Üxã+a°Ô”)QlÝzñŠI`©ððm¤¦æ7È$°¸ØÄŠGxóÍÜw_{ÆŽmGûö®ŸÅ‡ÆóÉ'ñ€ùj€Í›ÏñØc{™<¹#O<Ñ¥ÒsÜwß·ŒucǶ­pÿб¬Ys€ÿýï&Ü*,wôh:ááÛ¸é¦V¬YÓ€ÂÂbââ2™??š}ûRxøá@fÏîzÙãŒF—.pð`*ï¼s’¨¨d-óç‡âäT½¿o×$öÌÌBöìI&2ò éé¼ùælaÑ1ááÛ˜>½·ÜrMÙñ‘‘ùðÃÓ¼õÖö+Û>cÆ^:vt7KXªÚŽš€'žèB·n^|óM›7Ÿ«òqµ{ÿþ¾œ8‘AFF¡EÇlÚ4̬Çêr^z©·YUUÛQ×ÏKMî)ÀwXÔköÁ×3vlÛ«òš64qqq?~¼Zoþ”†AI ˆˆH#õÑGñ›¸õÖk/[ÎÝÝŽØØ;­2 í“OÎp×]m ñ¢S'~ý5Ÿ;-ª«t‚Ju¿,ÛØÀøñþ¼ÿþ©*W[±ÿ~bMU{!-9¦2UmG}®" ùš6$6làšk®¡gÏžõŠT“’@±ŠµkOðŸ1pà—:t‰ØMhèçtíú9÷ßÿ-ûö¥”•ß²åbYù€€ÏÈϯþ›ÝÒÒ X¼ø7ÜðÁÁ8ðKÆßÍþs†¼¼òõ%'çñè£?¶™^½þËÃïá—_²¯xžÏšÅðÉÉy—=&(hC¹c*ûׯßUjï?þ @p°G•Ê×¶´´¶mKàOº€»î*ù¿tþSu\¸Crr®®Í t¯öñ={zpà@*EEWîÍ«ÍØ£¢’ tÇÍÍî ¥-?¦"ÕiG]?/5½§õ¥!_Ó†$77—O>ù„Ñ£G7Øe¤rš(""V1qb '¾øø,.<Äܹ!têäA\\sæàÏÞÍ»ï¤O†oE\Üè²—¶TWrrcÆì$?¿˜Å‹»Ó·¯/¹¹FÖ¯göìýdd2aB€Ù1‹fòäŽ,[Ö“ƒS™:5ŠÇÛ˧Ÿ½ì¹î¸£5±±i?žÁK/õÆÃãÊsŽ»ü ,QšxzxXžDÔĦMç ó¦ukgFºŽeËbؾ=””|š7w¸bEE&NœÈ`þühš5³eþüVÿ뉯¯#F£‰ÔÔ|Z´p´zìYYE|ÿ}Ï=w˜fÍlxê©+¿åÏ’cj«uõ¼TçžnÝZòÇŸ?ªì%DW:î¯õ·,èßiˆ×´!z÷ÝwÉÍÍå/ùK}‡"P(""V—›kdÁ‚îe- ñbåÊ^Ü~û7,\xˆM›†Õø+VáܹV­êða%˸¸4cúô ³Çß;¶-aa%=Hýûû2lX+>ÿü,—.àåUqb—‘QÈŒ?âïïÆ›oÀ`¨¿¿€_éýÞ\vàroT´Ä¿ÿ}Æ,±öò²gذV|ýõ6l8ËCTx\E_àGŒ¸†¯¾º‰ë®s±(–ê¾ë¼6b·±{zöôfúôNfKDÔôk´ÃšÏ‹¥÷´¢sŒ·ëŠç«è¸ùó£«ë•4”kÚ¥¥¥±víZ&L˜€··w}‡#ÐpP±:''C¹áRAAî´háÈÑ£é$%]~(eU|ýõ† ñ+·ï­·”ë 5ÿòâçWÒ{”˜˜[á9NÊä®»v`kkÃSO…Ök¿Å{éRA…û7mF\Üh>ûlh…ûKã¿ÒËPŠ‹MØþáÃÏ?§ŸÅÍ7·2Û~÷Ý%=8ÿþwåsºnº©¤×7.n4ß}w+·ßÞš¯¿¾ÀGÅ_6ŽËINΠY3¼½/ß‹W[±Ÿ81šŸ~º×^ëÙdÎ’cª¢ºí¨éór9Ö¸§õ¡!]Ó†ìÙgŸÅÁÁ‡z¨¾C ©'PDD¬Îݽâ¡RÍ›;””GJÊ•‡ï]NAA1™™…88pq©ú¯677ó²¶¶%IQEÝÏÈ(bêÔhÙÒ‰;Ù¸ñ,#G¶©ò¹‚‚6TùÍ“>>DEÝvÅr½{7'&&ØØt†mYåXJ9;—´?+ëòo´ÌÈ(,7œïßÿ>Cvv!!›*<æÄ‰ ¢£SéÖíò½~~Ž,_ރÇ/ñÆǹõÖk,zyÆO?•ÌÍ ó¦Y³Ë'çµ{}«n;jú¼TUMïéúõƒ-:ïüùÝ,:î÷ê5mH¾øâ 6oÞÌ[o½…»{ã™ë)攊ˆˆÕ¥¥b2• bJJIïMUæ_]޽½-nnvdf’]T­D°ª xï½A¸¹Ù1fÌæÎ=@ûö®UîͱƜÀ{îiÏ»ïžbóæsL›Tí·L¶o_²Ðð‰™•–)((æÌ™lÚµûmQâ¢"7žåã‡Ð£GùDiñâüývÿùÏ/UJ¤ DDtáÑGäùçcyï½AÕjGq±‰uëNðÀ—ŸVÛ±×KÚQÓç¥:jzOëCC¿¦ Á±cǘ;w.÷Ýw×_}}‡#5 á ""buùùFJ5ÛvìXIIy{Ô¨°Ôˆ%ëíØ‘Pn_xø6/>\£ú]\šáç爳³×^뇳³)S¢je(«¥üýݘ<9'2xýõÊ¢..®xûu×¹àïïÆÁƒ©ÄÇgUXæ‹/ÎãímOÇŽ¿ýÅÿ›o.âííPáe€1cJ†ÎmÚt®Â·²VäÖ[¯¥sg¾ÿ>™Ý»“ªtL©+Žʈ×\ñUýÖˆ½>XÒŽš>/ÕU“{ 0jÔöj­ûXSášZ›é2““’’˜4iÁÁÁÌ›7¯£kP(""VçæfÇÊ•G8p •Ü\#‡_bÖ¬Ÿ°³³%22´VÎљ֭Y¼ø0Û·']DBB.Ï<Mrr&Ôü­¥Z·váå—û’ššÏ´iQÔß7¼™3;óðìXËœ9ˆ‰I#7·ˆ¼<#ÇŽeðê«Ç™ÀÆøL»iô~ä‚ý6'lfnì\~;û‡Ÿ<|Ñ1KJKX±wŸøœÄŒDÜ]ÜéÔ¤÷u½íb0lúJ=Ä¢¸Eì=±s©™šÝÀÔ¾SéÖ¼[µÌQDD®Mº(""5b\Ø8âgÅìlïRªÝg>ccüÆ‹ö9žuœ ŸN`aÜBÒóÓ+³à\÷}p«þ·Šg#žå»©ßñùýŸãáâÁ„O'p4ý¨Mÿý§÷3jù(<]=Y7~q“ãhQ¿÷¾/Û·]ÑüDDäÚ¦(""r RsS™;—á†_´ßâ-‹éÚ¬+kXƒ§‹g¥ãFmŠâ—´_xï®÷èÑ¢îÎî\Wï:^ú2®FW›¾¥–Rf}5‹zîõX0d~^~405`έshÕ°O}óÅæâ+š§ˆˆ\»EDD.ÁÓß<Íí×ßN¿6ý.ÚoþàùLì5£¡òÍÒóÒùhßGÜÙñN{6¶9fr1qð‰ƒ´÷momÛóÛަå¶ Ûpwv·¶Œ ÊéìÓ•Þ©Ç¥(""REŸìÿ„£éGy*ü©Jûþ1œUfCüÌ¥fº5«Ú³|;í sÓÎåŽunÒÙ¦ˆˆÈŸic© g˜¿q>ߟøžs !×…0ý¦é6›˜›‹y}Çë|ýËל:{ 7g7º5ïÆ]7ÜÅ€¶0Va‹ó è Ì¥æ*ÕÔØ³1»¦ìªRßäœdæošÏk#^ÃÓµòå—âç䟨oªÏ¼ óøú—¯IÏKÇÏˈÀëû>¦ß_æœp&€&ÞMÊÕ¤Þù¶ÄŒÄj­QDD® ""RãòÏåóÜúç˜ÖoÁþÁ$¤'ðÔ7Oq߇÷ñŸ»ÿCÏ=x~ýó|óË7üsø?éÞ¢;¹E¹¼ýÝÛ<üéüïû„µ «ôZ•íÀy¹žúú)†£W«^Õ>vjn*³¾žEïV½ùðÿ>¤¾{}6ÄoàïëþÎÖÄ­¬»o7orŠrðpõ(7–‡Ëù¶³g«½N¹6h9¨ˆˆÔ¸œ¢"ûGÒ­y7<\<èÜ´3‹†-âœù/ƾhí·#iéÛ¦/îÎî4öl̬³hÓ°«‡÷LRf³ÂgÕÈøE%E¸݈M ŸÔs¯ÇˆN#˜Ôk‰‰¼óÝ;UË‚ Üë$DDDÊ(ŠˆHssv#¤iˆM[o~^~J9d½Ö¿]~8ùÏ|ó ûNí³.댙S¥»€5áTö)¢6F±`ÈL.¦¹FÙ½>­û”ÛH&< €­‰[­mewó‹óËUp®€zîõj¤V¹úi9¨ˆˆÔ8wŸ ïL5òhDjn*gòÎàçåÇóƒž'ôºPVXÍß>üÝ›wçžÐ{¸¥ý-UºVu?¸1~#9E9Üûþ½_¼e1‹·,`ÃÃhÕ U•®ýGÍê5 GƒrÇy4àLÞk[»Fí€óÏ)þYröù6{ß=‘ºK!PDDj\Ù3lv&ÿ|°iäy>è †wÎðNÃ))-a×±]¼ýÝÛL^=™§o~š{ÃÞ{«õ›6ñfAÑAÕ:®ˆH…@©Q'Ξ`äò‘$œIàõ¿¼Î¾iûØ?}?ÿþOœ ¿ÿ54.lñ³â ö¶cµòGŽnÀÇäC÷Ý+<>4x(ñ³âéݺw-Wv^eõU·ý§÷3jù(<]=Y7~q“ãhQ¿÷¾/Û·]ñøÇ³Ž3áÓ ,Œ[Hz~z5T,"R1…@©Qíûˆœ¢ž¿åyº6ëŠÉÅ„§«'·_;{¯Þ;(R½bÆ2 ÝŒ£½K©PmÖWj)eÖW³¨ç^CàçåGSæÜ:‡V [ñÔ7OQl.¾¢k,Þ²˜®Íº²æ5xºxVSå""å)ŠˆHJÊHàz¿ëí[ˆ\’„3 $f$aïR*TÛõíùmGÓr[Ðm¸;»[ÛNF†åtöi6Æo¼¢kÌ<Ÿ‰½&ÖÙÐ-"×…@©Q%¥%¸]í\‰\ŠØ£±¸]¹©íMö.¥Bµ]ßÎc;èÜ´s¹c›t¶és¹þ.EDj’³½ ‘kSÌ‘&­ždýÜqaÇ ûý¥ó_ˆ]éxù,ݾ” ñHÉIÁÛÍ›-z0¥ï‚ý‚+¼ææI›‰ÞÍÖÄ­Œ„6 evÄlZú´´ö1[Ì|ûË·üwÿ9œv˜œ¢Z5hÅèÑŒé6ÆúÜâŸÇŽ›Ç‚M Øœ°WgWú·íÏßýœ¢æÄÌa×±]xºy2°Ý@ž¹ù<]m—÷Ue>• ŠÂ\j®R߯žÙ5eW•úÂùçízµê…‡‹‡µ-áL/o~™]Çwa.5ÓÑ¿#‘"/8FesÌ.̦ë?ºÚœ3í¦i<ÒûÌ3A ~ßå¶ ÛX:bi…õ]ÎÏýÏó)1—ÐÞ·=öy”÷¾I;ÕeóÏ'áLM¼›”›g“zçÛ3Ëûs("R›ED¤F j?ˆøYñL\5‘Ø£±üù3nÎnÖã™™ôxµG•ÆJÍMeÔŠQ•58Šž-{ròìIž[÷#—då=+ mZîšscçòð³`È~8ùú0¯yœÕcW[ÇŽKˆcêš©DödÉð%”ZJùòà—ÌKrN2³Ϊp>ó6ÎcR¯I,²€u‡×¹6’¬‚,\Œ.L»i­´bÍ5Ì^7OWOž¹ù™KžOe?y¸ª?ŽKr&ÿ ûNíã…[^°¶Ë<ƨ£09›X:|)]›w巬ߘ¿q>Ç3—£ªsŒŸσÿ}m‰Ûˆ}8ÖŒŒ#ñ³âµbcºaX‡a¬ïr~îÍçäÙ“ÌË/©¿àjtåà­ýsŠrðpý=—) Êg Î^v=""µIËAED¤Î[·“gOòtøÓ h7òê¯b±Xx!æ… Ï2šÐf¡˜\Lôi݇íðÓéŸÈ,È´éÖ2Œ‰½&Rß½> L ¬¡ã½=ï‘[”[áØ£ºŒ¢S“N˜\L ï4œÀÆÄýÇC="Ø/î ½‡æõ›÷k\µÌ§¶lŒßˆ 7Þlm[·ìÂlfšMß6}ñpñ È7ˆè!Ѥ榖ãRæ8®ç8J-¥¼³û›1öžØKJN ƒƒWZßUåç^Ñ|²øŽÅœ+¸¤ïË‚ƒÁpÙõˆˆÔ&…@©óbŽÄàdp"< ܦÝ×Ë—ÀÆH>@rNr¹óº4íbó¹i½¦¤ä¤XÛÂÂyÿÞ÷ËìLIi GÓVXÓŸŸ ó÷ö S“N6íM¼›Ø\ïJæS[bŽÄйIgü¼ü¬m[~ÝPîõMõ˵µkÔ Âpžœ}¾­¢0\•zDDj›B ˆˆÔi®FWê¹×#¯(ƒO¬öíó'|:=¿íavÄl†uFS Ëö,㥠/Uû¨Wç|jâ™ÀíIÛ),)´yõ‚«ÑOWOòŠóÈ?—_.8ýñî]YÿKãÐCY·{W0áÆ ¼óÝ;ÜuÃ]å6Ô©¨¾KUÙ|Îä)wÎ-odéö¥H>ÀˆN#lŽH>@¯V½.»&‘Ú¤å ""RçÝt+f‹™½'Ê¿\þÍ]oÒïõ~˜-U»#öGæÒócúzù2¶ûXz4´>×UTRtÅu_HMͧ:Ä¥…O Úû¶·iïß¶?ðû2Ê2™™6wË\ê#÷w¿Ÿ3ùgxç»wX{h-c»­r}—êBóIËM«p>=[ö$ qßüòÍŸ s©™µ‡ÖÒ´^S¶xE5‰ˆÔ…@©ó"ûGÒÒ§%3¿šIܯqäåUŇ?~ÈÒíKy*ü©Ëº£ft2Ö2Œ´Ü4ÞÚý™™–²ëØ.>øñƒ˜Éy55Ÿ+Uj)ecüÆ ï²EˆÄÇäË1/²-qùçò‰OgúÓ+\Ry9s¼û†»ñvóæ•-¯0(pþ^þU®ïRU4Ÿ#iG˜ùõL|½|Ëõw2858г…g™ùÕLÒrÓÈ*Èâù˜çIÊHbÞíólv¿©Ë ‹E ÒED®R)))äæV¼{埴cÉ’®Zÿ+õçw¥ÜÙñN [Ä?ÀÖÄ­6Ç"#ˆ=kÓ6¹÷d¦ß48¿äðõ¯s4†Ó’¹s¿IDATÙ§©ç^þ6ž>­û°ïÔ>F.YáQ6íòÖÈóÁï•-¯°9a3i¹iø˜|èß¶?¾^¾¼±ó àüf/Ïßò|…c ĈÿØ.ŒìI÷ݹ{åÝ6íõ}ŒÇú>VåùÔ¶½'ör×Ê»xÿÞ÷ kVîxbF"Ñ›£Ùyl§õ½zSúLaÙ÷ËʽW.oŽ 6-à­Ýo±öÁµ\ïw}•껜ŸûŸçc.5ìÌžà[ÿÁO§â3þW®¾ƒ)Y·ˆ½'÷RZZJÈu!<Þïqº5ïvÅõlŒßÈ„O'Tø½Ì»}£CFWxL¤2µýû_jž¿¿?^^^•w¬Ø' ""W±ºåê³`Ó>ùév?¶Û.w"+S[õÝòÖ-ž+dËä-•w¹ è÷ÿµçJC –ƒŠˆˆpþy»þmû×ÉÕ[_ZnÝþÑ’Ò›ögOp,ã˜6y‘kšvb&ÄØ»„‹ªîúΞåÙoŸejß©ø˜|8’v„9±sðv÷æÑ>VëµDDê…@q8¾^¾,¿{9+XÉ=ïßCJn õÝëÓ§uß±˜>-ì]¢ˆHQ‡Ô»uoz·îmï2DDjž q """"""D!PDDDDDÄ(Šˆˆˆˆˆ8…@¢("""""â@EDDDDDˆÞ(""Wµ‡ÖòøšÇp5ºrð‰ƒv®bŽÄ0iõ$ëçŸ#ÆÍÙÍŽ•g±Xøáä|ñólOÚÎÉì“x»yÓ¦aî ½—;:ÜÁ`°ö?[x–¯}Å׿|Í¡”C–ÒÄ» !×…0¾çx‚ýƒí8¹\º(""5&ÿ\>7¿y3ã?_­ã Jü¬ø:õ¢ïAí?+žˆÀ{—rA¿füÊ]+ï")3‰¥#–²oÚ>VYÅuõ®cÆ—3ˆÚeÓ?jc/¬ˆÀ¾÷-ßOýž¨ÁQL9Èðÿ 'æHŒf"""WB!PDDjŒÅb¡ÔRJii©½K©6u殕wÙ»ŒËf4Y2| ×û]›³-|Z=$“+ö® Ø\lÓTÈ(îï~?¾^¾˜\LôhуÅÃc.5³`Ó;ÍBDD®„–ƒŠˆHñtõdÓÄMö.Cþ¿vÚqxæárí.Fšz7åPê!ŠJŠp5º0ðü Ç öÆÝÙãYDZX,6KHED¤îÓ@—]˜MRfü;àíæ]iÿ‚s–ÒÞ·½ ˆÈUHwED¤FT¶QJVA¯íxØ£±œÎ>‡«7\wÂ&pc«mÆJ8“ÀË›_f×ñ]˜KÍtôïHä€È ^;#?ƒ¥Û—²!~)9)x»yÓ£E¦ôB°ßùÍLÞÞý¶õ8/þõ×ñòæ—Ùj?¥–RB® aúMÓéÖ¼[¹þ{Oì% *£“‘ÃO–¿»––—Fô¦h¶&nÅèd$´Y(³#fÓÒ§e•¾¿ è Ì¥æ*õmìÙ˜]SvU©ïåår8í0 ãâëéË¡ «tÞ׿| ÀäÞ“/ùš""b‹Åb±w""ryRRRÈÍÍ­R߀€v,Y’ÂàÁUë_]&®šHìÑX›˜–›Æ¨£(,)dÞíóèÙ¢'iyi,Œ[Èú#ëyé¶—2€c™ÇñŸ˜œM,²€®Í»ò[ÖoÌß8Ÿ¤Œ$RsSmvMÍMeÔŠQ•58Šž-{ròìIž[÷ûOïgå=+ mjí?lÙ0’2’¸Þïzžšëý®'>=ž§¾yŠ„3 üçîÿгEOkÿ΋:ÓÁ¿ß÷ñEçÁÃ7>Ìõ~׳ïÔ>&­žDÛ†mY=vuM|͗쵯±xËbÂZ†ñ÷A'È7¨ÒóÒóÒúîP™wû¼š.SDª½~ÿKÍñ÷÷ÇËËërOÿDËAED¤Ö-Œ[ȉ³'x6âYÂÂñró¢MÃ6,¾c1¾ž¾Ì‰™Cz^ºµova6³ͦo›¾x¸xäDôhRsS+ûäÙ“<þ4Ú ÀÃŃÀƼzç«X,^ˆy¡Ü9ç ˜sëB›…br1ѹig [Ä9ó9^Œ}ñ²æ8:d´u¼^­zÎO§"³ 󲯫nô~„CObÝøu´kÔŽ;–ÝÁÒíK/zNVA|üa-ÃxñÖËû^DDÄþED¤Ö­?²€íÚ´»]éݺ7…%…lMÜ À–_·pSÛ›lúúyùѦa›rcljÁÉàDx@¸M»¯—/9|€äœd›c&“u™h™ ß ü¼ü8”r¨Â°Y™.M»Ø|ö÷ò %'å’Ǫ).FÚ5jÇœ[çpsÀÍücë?Øž´½Â¾ç ¸ÿãû ô ä•a¯`t2Örµ""R]ôL ˆˆÔªbs19E9¸9»áéêYîxcÏÆÀù%£ÅæbòŠópsvÃÃÅ£\ßFžHÌH,76À ‹o¸` II4ñnbý\Ï­^…ýy4"57•3ygðóò«Úÿ¿?o°âd8ÿﮪöFm<øGáá¬?²žMñ›èÓºÍ1³ÅÌ£Ÿ=Š¿—?/}£APDäj¦(""µÊÕ芷›79E9äç• ‚eË@}½|q5ºâéêI^qùçòËÁ¬‚¬rc×s¯G^QŸªtÎuÁüó™ñåŒ Åý”_ƺdÛޤáÍ‘oZƒ¢ˆˆ\Ýt'PDDj]dÿHvßÍÜØ¹x¸xÖ2ŒÔÜTÆ-$-/¹·Íµ. ÉŽc;x1æE¼\½èÚ¼+§Îžâ¥ /ááâa]þi3ö±ÝÌüj&Ïßò<]›uÅ\jæ›_¾aéö¥,² ÜBo7omYÄ´~Ólvu1º0;b¶MߎM:òãÉ9}šäœdŽg§G‹5û…U£/~Aë­Ñy~^~¤æ¦òÁ°æç5tjÒɺ++Àªÿ­bɶ%tYÔåBCŠˆÈUF¯ˆ¹ŠÕåWDüù=wv¼“Eÿ¿'0æH É9ɘ\Lçßxãzµêes^bF"Ñ›£Ùyl'%æÚû¶gJŸ),û~;’v0ªË(æžoûõ¯s4†ÓÙ§©ç^þ6¾ÜónÖ ##/ƒå÷,gnì\~8ùæR3]švaFÿÖ÷–ùõ̯<óí3H>€É‡‰½&ò¡ÿǾSû¹|¤Mßɽ'3ý¦éÖw –0·F¾u™ßìåË-Êå›Ãßðõ¡¯IÌH$%7'Ú6jËmA·qûqwv·öÿéx6ÅoºÈˆðé˜OµT¤ŽÓ+"®=WúŠ…@‘«X]W‹²¸ýÑŠwŹÚé÷ÿµGï ‘*Sq ""âÞÞý6QJ9DJn Q¼²å{—%""Rã´;¨ˆˆ8¤qaã6ÎÞeˆˆˆÔ:Ý q """"""D!PDDDDDÄ(Šˆˆˆˆˆ8…@¢("""""â@EDDDDDˆB ˆˆˆˆˆˆÑËâEDD®bk­åñ5àjtåàí\‘ˆˆÔuº(""r<”øYñônÝÛÞ¥ˆˆÈUB!PDDDDDÄ(Šˆˆˆˆˆ8…@¢aDD¤FĉaÒêIÖÏëǯgñÖÅì<¶“¬‚,º5ïÆÞ{­}º5ïÆÇ÷} ÀޤŒùh ÿùo˜;—÷¾ÏÚÿðÌÃ Æ Ö„¹Ô\¥z{6f×”]W<§=S÷ÐÀÔ€Œü –n_ʆø ¤ä¤àíæM=˜Òw Á~ÁÖ1Ì3ßþò-ÿÝÿ_§&§(‡V Z1:d4cºÁÉ`ûïµ gxyóËì:¾ s©™Žþ‰Y¥9Šˆˆ€B ˆˆÔAí?+ž‰«&{4–g¿}–©ý¦=$š#éG½b4oüõ ¾þåkž[÷¯ {…;:Þa=ÍÏk¬ÿ_Ÿx–°–a¬øaËï^^i ‡Ÿ<\ësHÍMeÔŠQ•58Šž-{ròìIž[÷#—då=+ m @\BS×L%²$K†/¡ÔRÊ—¿dnì\’s’™5p–õúÇ21jÅ(LÎ&–_J׿]ù-ë7æoœÏñÌãÕ:W¹vi9¨ˆˆÔЇ{=LXË0L.&Bš†pøÉÃ405`ÈõCp1ºðùÏŸ[û–{4–V Z±áèòŠó¬Ç>;ð#:°ÇʹМÆ-ääÙ“<þ4Ú ÀÃŃÀƼzç«X,^ˆyÁfœ°–aLì5‘úîõi`jÀ˜ncÖaïíyÜ¢\k¿…q É.Ìfö ÙômÓ‚|ƒˆMjnjmO_DD®R ""R+Bš†TØîcòa@»lOÚNZn±Gc ¹.„ûºÞGaI!ë¯ « ‹ÝÇwskЭµV÷Å\hN1Gbp28Yï`–ñõò%°q ’œ“ @x@8ïßû~¹1‚ý‚))-áhúQkÛ–_·pSÛ›lúúyùѦa›+š‹ˆˆ8-‘Zar1]ð؈N#ˆ9ׇ¾äÁòùÏÑi½Zõ"jS_ü‚¿tþ k­e`À@<\<ªtÍê~&ðÏ*šS±¹˜œ¢nX|ÃÏMÊH¢‰wrŠrxç»wXd=É9ÉdfÛô+8W`7¯87g· çßȳ‰‰—T¿ˆˆ8&…@±»íâcòá³ÿ}ÆðŽÃÙwjKG,ÅÝÙ¾­û²-i©¹©¬þßjfôŸQåq«û™Àªp5ºRϽyEy|òàE7®˜ðéöü¶‡Ù³Öa L 0 ,Û³Œ—6¼„‹u\OWOòŠóÈ?—_.–mL#""R-»s1º0$x‡R±(n¸;»0¼ÓpÌ¥f^Ýú*©¹©ôjÕËÎÕVîÖ [1[Ì6;Ÿ–ys×›ô{½f‹séù>¾^¾Œí>–† 1 ••;·ÛþÀïËBËddê. ˆˆT™B ˆˆÔ Ã;àãýÛlü2¨ý <]=ùxÿÇÜÙñÎr¯L¨‹"ûGÒÒ§%3¿šIܯqäåUŇ?~ÈÒíKy*ü)Œ#F'#a-ÃHËMã­Ýo‘YIaI!»Žíâƒ?(?î€H|L>¼ó"Û·‘.Ÿøôx¦1½ÊKdEDD ‹Åbï"DDäò¤¤¤››[yG  K–¤0xpÕú_©}§ö1rùÈríñ³â/xNÄ››‹‰›g½#0󫙬úß*¾÷-j¤Þª¸”9edñúŽ×‰9ÃéìÓÔs¯GÿŒOŸÖ}¬ý2 2yeË+lNØLZn>&ú·í¯—/oì|€NM:ñùýçwOMÌH$zs4;í¤Ä\B{ßöLé3…eß/cGÒFuÅüÁókâ+‘«Pmÿþ—šçïï——×åžþ‰B ˆÈU¬.‡@©ôûÿÚs¥!°î¯©‘j£("""""â@EDDDDDˆB ˆˆˆˆˆˆQq """"""D!PDDDDDÄ(Šˆˆˆˆˆ8…@¢("""""â@EDDDDDˆB ˆˆˆˆˆˆQ»ˆ9C@T€õE%Eö.é’­=´ÖZ‡—;Ø»«Í ›‰x3‚ è {—"""uB ˆˆØÅ öƒˆŸOD`„½K¹lCƒ‡?+žÞ­{Û»Žgg§X·ôüt{—#""u”B ˆˆÔ¨Î‹:s×Ê»ì]†CX¼e1]›ueÍkðtñ´w9""RG9Û»©óÏÇÝÙÝÞeˆˆH§;"""×@© Ý ‘ñöî·‰ÚÀÞ{ ˆ Àèdäð“‡ËõOËK#zS4[·bt2Ú,”Ù³iéÓ8¿‘̤Փ¬ý×_Ïâ­‹Ùyl'YY왺‡¦däg°tûR6Äo %'o7oz´èÁ”¾Sö ¶Ža¶˜ùö—oùïþÿr8í09E9´jЊÑ!£Óm NÛ+M8“ÀË›_f×ñ]˜KÍtôïHä€ÈKþn‚¢ƒ0—š«Ô·±gcvMÙuÉ×¹…@©ãÂÆ1.lu¦ƒ>¾ïã‹öŸ;—‡o|˜C°ïÔ>&­žÄãkgõØÕÀïÉL\5‘Ø£±<ûí³Lí7•è!ÑI?Âè£HÍMeÔŠQ•58Šž-{ròìIž[÷#—då=+ m @\BS×L%²$K†/¡ÔRÊ—¿dnì\’s’™5p–µ¾c™Çµb&gK‡/¥kó®ü–õó7ÎçxæñKún* Á"""µEËAED¤N2šÐf¡˜\LôjÕ‹ð€p~:ý™™ö¸×ĵ Ãäb"¤i‡Ÿ°••;·ÛþÀïËBËdd^Ò]@{Sq†Ú»!g£c“Ž$f$r:û4?žü‘ã™ÇéÑ¢G]/²$-}Z2ó«™ÄýGNQYY|øã‡,ݾ”§ÂŸÂh0bt2Ö2Œ´Ü4ÞÚý™™–²ëØ.>øñƒòãˆÄÇäË1/²-qùçò‰OgúÓ+\"*"RXþÿŠz{ý u“Áb±Tü°…ˆˆÔy)))äææVÞ iÃìÙ錙SÃUÙúõ̯<óí3H>€É‡‰½&ò¡ÿǾSû¹|¤Mßɽ'3ý¦éÖw –0Gz?R®?@ü¬ørmYY¼¾ãubŽÆp:û4õÜëÑÁ¿ãÃÆÓ§uk¿Ì‚L^Ùò ›6“–›†É‡þmûãëåË;ß S“N|~ÿç$f$½9šÇvRb.¡½o{¦ô™Â²ï—±#i£ºŒbþàùWö¥]¦ñ™ðé„ Í»}£CF×rE"bo¹¹NÜpC–-;M¿~ùö.Gª‰¿¿?^^^—{ú' ""W±K ƒµäŽ;r˜2¥âW.ˆˆÈµ'!Á•[omÁ—_þFpp±½Ë‘jr¥!PËAEDDPP1?ÿìfï2DD¤8àŠ³³…víÎUÞY†B ˆˆƒ¸ñÆvî4qîœ q[¶xеk!®®Zü'¿Sqy:ãiïRDD¤äå9ëÉ­·æÙ»©cEDD“&% Ç;ïø §ÁED®}|PÒRÇ×î†`R÷)Šˆ8ÈÈ på³Ï¼í]ŠˆˆÔ ôt#¯¿Þ€ñ㳨_¿ÔÞåH£("â@‹¹ûîl.lDn®þ ¹V-\ØoïRÆ×ŽÐRžþ @DÄÁL›–Ii)LŸîG©þqXDäš³zµ7«VyóÌ3é˜LZÿ/å)Šˆ83o½uš;=X° ‘½Ë‘jôý÷î<û¬/'fjC¹ …@Ô¹sóæ¥òî»>,YÒPňˆ\öìqgâĦ„‡ç3mZ†½Ë‘:ÌÙÞˆˆˆ} –K~¾Ï=טÄD¢¢RqsS¹­^íÍ3ÏøróÍù,\˜‚“nõÈE臈ˆ»ë®lÞ}÷4[¶x0rd3¾ÿÞÝÞ%‰ˆÈ%HO72k–3gúñÐCYüóŸÉ¸»ëôäâED\ïÞ¬^}‚FÌÜsO3¦O÷')ÉÅÞe‰ˆÈEäå9ñÖ[>DD´dǯ½–Lddƒ½+“«ÁbÑ“ ""W«””rss«m¼ <™7¯ǻгgù„†ÒªÕ9ê×7ky‘ˆˆäæ:‘œìÌÏ?»²e‹±±ž”–?>‹ñã3µ ¨ƒñ÷÷ÇËËërOÿD!PDä*VÝ!Àl†¸8O¾øÂ‹­[=8{VÉOD¤®0-tï^È-·ä1|xŽ^ï ®4jc±a4BxxááyX,pò¤ Ç;“í„Å¢uF""öàéYJãÆfŠquÕ=¹2 ""rA4o~ŽæÍÏÙ»©&Zã#"""""â@EDDDDDˆB ˆˆˆˆˆˆQq """"""D!PDDDDDÄ(Šˆˆˆˆˆ8…@¢("""""â@ ‹Åbï"DDDDDD¤V|¢;""""""D!PDDDDDÄ(Šˆˆˆˆˆ8…@¢("""""â@EDDDDDˆB ˆˆˆˆˆˆQq """"""D!PDDDDDÄ(Šˆˆˆˆˆ8…@¢("""""â@EDDDDDÈÿ:XŠ•Á„oÒIEND®B`‚fio-3.39/examples/uring-cmd-pi-sb.fio000066400000000000000000000015511476262051600174520ustar00rootroot00000000000000# Protection information test with io_uring_cmd I/O engine for nvme-ns generic # character device. # # This requires nvme device to be formatted with separate metadata buffer and # protection information enabled. This can be done with nvme-cli utility. # Replace md_per_io_size as per the required metadata buffer size for each IO. # # First we sequentially write to the device, without protection information # action being set. FIO will generate and send necessary protection # information data as per the protection information check option. Later on we # sequentially read and verify the device returned protection information data. # [global] filename=/dev/ng0n1 ioengine=io_uring_cmd cmd_type=nvme size=1G iodepth=32 bs=4096 md_per_io_size=64 pi_act=0 pi_chk=GUARD,APPTAG,REFTAG apptag=0x0888 apptag_mask=0xFFFF thread=1 stonewall=1 [write] rw=write [read] rw=read fio-3.39/examples/uring-cmd-pi-sb.png000066400000000000000000002524751476262051600174760ustar00rootroot00000000000000‰PNG  IHDRS\èbKGDÿÿÿ ½§“ IDATxœìÝy\TåþðÏ000 û* "‚*ˆ‚š»f ©ÝpÉòfš»¹Q悚ûz±Ò[þÒ[×k¦×23[43q‹Â%À Åpcd¶™óûc.#À² Œ8Ÿ÷ë5¯×œç<ç9ßçÌy |ç<ç9"A‘!8`¤ïˆˆˆˆˆˆ¨é0 $"""""2 L‰ˆˆˆˆˆ “@""""""Â$ˆˆˆˆˆÈ€0 $"""""2 L‰ˆˆˆˆˆ “@""""""Â$ˆˆˆˆˆÈ€0 $""ƒsòäIˆD"×Ö­[õVƒÍ;W«_·oßnp»éééGÇŽaaa‰DtìØ¯¼òŠNöADDM‡I Q3V^^ŽÑ£GC&“ᥗ^BII‰¾CjúõëAàííÝdûlŠÏjëÖ­¸víšNÛ¼}û6°eËܸq›6mBJJ ®_¿Ž>}úà믿FZZšN÷IDD‹I Q3‡ ¨¨ß}÷þøã}‡D5h®ŸÕòåËÕIÞk¯½†éÓ§ÃÁÁøè£`kk«ç‰ˆ¨®˜5c~~~xùå—!•J‚®]»ê;$ªAsý¬~ýõWõû=zh¬‹ÅÈÎÎÖ*'"¢§›±¾ "¢ú311Á×_­ï0¨šëgõðáCõ{;;;=FBDDºÂ+DDäq“t :T£¼wïÞêí6oÞ¬µÝ¾}û°jÕ*´iÓÆÆÆ‰Dת÷ÕW_öíÛ§µ.22&L€‹‹ $ Z·nwß}r¹\+ö?þø¡¡¡°³³ƒD"——6mÚ6}||j}<222°páBøùùA&“ÁÂÂí۷Ǹqãðí·ß¢´´´Æ¸Ç'''H$¸ººâí·ßFQQvíÚ….]º@*•ÂÉÉ /½ônܸQëþÔGuŸëŽ;н{w˜››C&“¡[·nøüóÏÕÛTׯŠÏª6ÒÒÒ0{öløøøÀÜÜR©>>>3f öíÛ‡âââ·=zôècc«É¶mÛ ‰PPP . Óê‡H$‚™™™Öö¹¹¹X¹r%‚‚‚`mm 8;;cèСطo_­ûNDD@ "¢FsíÚ5€ú•””¤^·páBuy¯^½´¶•ÉdêõÞÞÞÂÚµk…ììlaçÎ!&&F«Þjl£eË–Âùóç…ÜÜ\aøðáêò hlóóÏ? &&&ÁÚÚZ8uê”ððáCaΜ9}‰ŒŒ¬õq¸råŠàää$ŒŒŒ„>ø@ÈÌ̲²²„+V„O?ý´Ú¸[µj%\ºtIxðàÐ¥Ku¹«««°|ùr!//Oرc‡ºÜÇÇG(++kÔþTý\ƒƒƒ…û÷ï ·oßÔåï¾ûnŸGÕϪ& …Bðññ2™L8~ü¸ —Ë…ŒŒ aõêÕáã?npl5©)æo¾ùF]njjª±ÍÍ›7777€`ii)œ8qBÈÉÉV­Z¥ÞfÔ¨QŸ5™ÿ2 $"jDºJû÷ﯱÎÞÞ¾ÎIàòåËÕå»wïV—{zzjlS‘p&Mš¤.ÏËËS'SuMšzôè¡Þ^ÒZTc¸aÃuù»ï¾«.wppÊËËA„ŒŒ ã|õêÕFíOÕÏõðáÃêu_|ñ…ºÜÈÈH¸~ýzµýªmxýúuõ6­[·V÷¹Bppðc“ÀÚÆV“ú$Ï?ÿ¼zÝĉÕå …B°±±©×1'""ù/‡ƒ5Ç×X~ðà‚‚‚êÔ†———ú½¥¥¥ú}rr²úý;wpýúuõ²§§§Æ6ÎÎÎÕ¶mff¦5D°bÉÉÉˆŽŽV× ÔÚ>&&“'O®¶íÖ­[«ß[XX¨ß»¹¹A,k•@JJJ£õ§:•Û­ü^©TâØ±c5nW›ý=÷ÜsJ¥Tkhß¾=æÍ›‡ÿüç?¸{÷.Ξ=‹iÓ¦5Zlu•’’‚Ó§O«—+7###xxx¨—9,”ˆH?˜5... n£ºû¶@õû??_ëª^…ââb‚ ñªè_Ë–-ѽ{wuÝóçÏkl[RRKKKDDDè²+§?Õ©Ünå÷"‘C† ybœÛßýû÷add„ŒŒ ôéÓï½÷>ŒíÛ·«·¯<äµ>±}õÕWøá‡““ƒ¹s碼¼ü‰1×ÄÅÅ}úô©vŸJ¥IIIêåqãÆÕ{?DDTL‰ˆ‘••úõë§^>pà ñÝwßáøñãú ì1>úè#˜˜˜P%§OŸFNN–-[†²²²zµ¹k×.õU§~øÛ¶mCNN’““1iÒ$ØÙÙaæÌ™:ëCeÑŸªÖ¯_äädܽ{[¶lQ—‡‡‡ÃÛÛ»Áí ‚€1cÆàâÅ‹())AZZšÆ}w#FŒhPl•‡W~__»ví‚››Õ1?yò$òòò°nÝ:äääFÕhŸ9=A“ÏECDd`’““…qãÆ -Z´LLL„V­Z sæÌfÍš¥1‹#!>>^øòË/µÊ+^•g­©^ß¾}k\·`ÁaÉ’%Õ®ûì³ÏÔmÿþûïÂðáÃÁÄÄDðôô6nÜ(´k×N]ëÖ­u:Â{ï½'øûû 2™L055<<<„)S¦wîÜylŸ–,Y"Œ3F«\, 111Õnó·¿ýí‰ýñööÖØÆÛÛ»V}©:ç'Ÿ|"tíÚU033¤R©$üë_ÿªÕgU¿ÿþ»0oÞ<¡sç΂ ‹{{{¡wïÞÂG}¤ž1´êc/j› Bqq±0tèPÁÚÚZøç?ÿùؘk{åää+V¬ºté"XZZ ÆÆÆ‚£££0dÈaïÞ½‚R©¬U߉ˆHçþ+üäGDDÁÕÕU=›èÞ½{ v8ßõë×5†™&%%iÌbJDDô;Àá DD¤áÈ‘#puuÕ˜žž®~ô‚¹¹9 ¤ðˆˆˆ¨˜‘–äädLŸ>wïÞEqq1âââ0~üx‚cccìØ±C'³^QÓcHDD†Šï¿ÿ2dìììн{wÜ»wo½õ.^¼ˆ×^{MßaêÍܹs5†‚€‡‡ÆŽ«§ˆˆˆˆê†÷ÞHDDDDDdH˜&DDDDDD„I ‘aHDDDDDd@˜&DDDDDD„I ‘aHDDDDDd@˜&DDDDDD„I ‘aHDDDDDd@˜&DDDDDD„I ‘aHDDDDDd@ŒõÕ_zz: ô5!gggXXXÔ{{^ $"""""2 L‰ˆˆˆˆˆ “@""""""Â$ˆˆˆˆˆÈ€0 $"""""2 L‰ˆˆˆˆˆ “@""""""Â$ˆˆˆˆˆÈ€0 $"""""2 Æú€ˆˆž^‚Ü¿o‚{÷Œ‘—'† è;"""Ã$“)áà €—W)$~SÃ0 $"" pò¤ ß}gÓ§Í‘›ËA#DDO ±X@``1† )ĨQù°¶Vê;$j†D‚Àßu‰ˆš«ôôt謽_~‘aíZ{ܽk‚îÝå8°;Ãݽ ÖÖ 1$"Ò‹ÂB#¤¥‰qåŠ)N2ÇÏ?Ë TŠðÖ[9xë­‡Jù/½!qvv†……E}7?À$ˆ¨ÓUxçŽ –/wÀÙ³æ -Àœ9Ùpw/ÓA„DDÔ °w¯¶o·…••K—>À!…ú‹šHC“@þ¦KDdàΓâå—]‘•%Æ—_&ãÿHgHDô”“É”xë­?~ÁÁr̜ٛ7ÛñÞmª&DDlÿ~+¼ù¦ úô)ÂW_%#(¨Xß!Q88(°~}6lÈÀ®]6˜=»Š‹Eú‹žrL‰ˆ ÔwßY`éRG̘‘ƒü#¦¦üù˜ˆ¨¹zùå|ìÞ‚èh)Âáä|1ôL‰ˆ P|¼)/v›oæàí·³!âÆDDÍ^׮Ÿä“Tœ8aŽÈH;}‡CO1&DD&'GŒ·ÞrAÏžEX¸0Kßá‘cõêL|ò‰-Ž•é;zJ1 $"20‘‘¶02þñ >òˆèôòËùøÛßò±färõ müóODd@nÞ”`ß>+¼óN,,xÃѳêw²Ÿo„O?µÕw(ôbHDd@6o¶CÇŽ¥92_ß¡Q#²·W`ÆŒ‡øôSäæò_~ÒÄ3‚ˆÈ@¤¥ãäI&OÎáD0dp fÏž ???L™2¥¥¥ú‰¨Ñ½újŒŒ:d©ïPè)Ã$ˆÈ@?.ƒTªÄ A…ú…¨É]¿~?þø#är9Nœ8ØØXõº´´4xyy©_7nÜÐc¤Dº#“)1xp!'ˆ!-L‰ˆ Dt´=zÈabÂç’áñööÆ /¼333 0þþþú‰¨I<ÿ|.^4Ci)‡€Ð#Æú€ˆˆšÆõë¼ôï$ÃdllŒíÛ·ë; ¢&×±c)ÊËE¸u˾¾M*L‰ˆ Dzº..åúƒpãÆ 6L«|ùòåxýõסT*Ñ»woddd`éÒ¥xã7~~~Ëå5¶»uëVܾ}_}õRSS¡P(0iÒ$ìÚµK£Þ¶mÛ0tèP¬[·Nk]E\ˆŽŽV—gddàÓO?Å©S§œœ ¥R‰–-[bÀ€˜6mlm9 #=}Z´P}ïgf3 $5%"2ÅÅF07çPPz:´k× prrR—-^¼¯¿þ:àÌ™3ÈÈÈ>žžžX·n‘˜˜©Tª^ÿá‡ÂØØß~û-V¯^  ѪWaÑ¢E8sæŒFÙ?ü€ÄÄD0!!Æ ÃgŸ}†‚‚|÷Ýw8vìÊÊʰk×.Œ1ééé:82Dºen®zPa!ÿí§Gx6Ag¥§ŠX,ÆÈ‘#ÕË•“½¯¿þZýþêÕ«HHHÄÆÆ"99/¾øbµm:99aÚ´i°¶¶FXXllltë¢E‹““xñÅáááWWW„„„RRR°víZì‹H—*¾÷þH•0 $"""½yùå—Õï¯_¿Žk×®!??LJ§§§z]ERxðàA¼ð °°°¨¶½þýûk,Ÿ?~~~ Š1==qqqêåÊW/Õïþùg7h_DDMI é———ÆLÄ‘#Gàááyóæ©Ë> ¹\Ž#GŽ`Ô¨Q5¶çèè¨ó3335–7nܨ~œÄû￯./--Åýû÷u¾""]ãÄ0DDD¤W/¿ü²úJÛáÇѲeKüíoÀ`mmÜÜ\²²²°eËÄÅÅáwÞÑylDDI é]åä®òû.]º uëÖ€€€´iÓF½îÈ‘#ðòòÒxnà¬Y³àåå¥qo^Mõ^}õUõòæÍ›ÑµkW˜››cÙ²e?~<^}õUõìŸ~~~øþûïñÚk¯ÁÍÍ K—.Epp0^yådddàÀèÒ¥‹îQ# 'Œ%"j®ÒÓÓQPPP«º^^žøðÃt V»úDDôlà÷ÿ³ÇÙÙ¹ÆY’ká¯&DDDDDD„I ‘aHDDDDDd@˜&DDDDDD„I ‘aHDDDDDd@˜&DDDDDD„I ‘aHDDDDDd@Œõ5¾#GîcîÜ€Db„«WGè9""Ò^ $"¢FST¤ÀÀÇðÖ[¿é;xÖúSæÜÇæ{S qEbâ(;ê;"Ò3&DDÔhA€R©z= žµþT§9÷±9ÇNDÔ”8”ˆˆLfŒ_}Aßaè̳֟ê4ç>6çØ‰ˆš¯^ $"¢FñóÏ©˜>=Z½|åÊK05«—srJ±}ûu?žŠÔT9ÌÍ`‡)SÚ¢GÍ{–²³K°m[~ù%éérXZš kWÌží__ëj÷wòälÜx§Og@,¡sg;DDø£U+™FÛ·nåcÓ¦+ˆŽÎDy¹€ví¬0k–7>ÿüÎË„…¹cÀ—jûSßýÖ¦OOâí} Eí†>:8˜":zØcëèò3{œíÛyhýûûNJÇ›ožØØHpþüðjã:vl"#¯á·ß2‘“S X»¶ /¾¨{cŸëÖu©u¿+¿´´bØÙIàéi‰#Ü0|¸+NŸÎЈ5*êlØp'O¦A"£o_g,[æüü2¬\èè Èd&èßßK–øC&Óü·®r  Ck„‡w¨u¼Dôì ‚ÀóDDÍTzz: jU×ËË~˜ŽaÃjW_W¦M‹Æñã© Eff1¢P\¬Àڵѭ›#23‹±yó;–‚5kº`ôhw@F†ªnI‰ë×wA·nŽHN.Äò屈}ˆ={z£sg;­ý ä‚©SÛÁÇÇ/faêÔh´kg…ƒû©ëÞ¹SˆQ£~…T*Ɔ èÒÅÉÉ…X½:׮墠 LkÅêúS×ýÖµOM­¡ŸYmùùFûö6ê$°ÂÈ‘¿âþý"uX5®nÝ0gŽ/üýmpãF>FŽBtô0ØÚJtòùÔç¼x’ŠãWR¢Äš5èÞÝr¹û÷ßFdäU,Y⇉½4b}á…ç0}º7<=-qôh ÂÃÏ£o_g˜˜aÎ_¸»[àÛoï""âOLœè‰%KüÛ‡{÷ ±n]è Aðþû±Õîcôhwtîl©TŒ^½œÐ¯Ÿ3âââáÃÒJq\A^^""üÑ»·“ºíÈÈ ÈåŠzõ­¶û­OŸô©.ŸYc›:µºww€TjŒNl‘0¶¶’Zm«¯ó¢âøED¨ŽŸLf SÌœé>}œ«Ý&,Ì;Ú@*cäH7´mk…¨¨tLšÔ¾¾Ö07cÜ8¸ºš#**£Êþ´ûàím…‘‘!¯WˆèÙÁ$ˆˆšÜ±c)€þý[h”K$FvDq±§O§P 42aÀºŽŽfhÛÖ —/ç -MûŸZÍ+i..R@zú£º§N©öѧfvv¦hÓ¦~¿°Öf¿õí“>Õå3kl:ÙÖ{[}ǯo_í„ï_ÿ V_¬ÌÏO³ŸÎÎf€Ž5‡ ·h!Õˆ¨¹NNfðð¨÷Õ"zFðž@""jR¥¥Jäç—ÁÔT¬u88¨þÑÍÌ,V×€€€ïjlóöí´h!Õ(³´Ôl["Q ¬¸ ¢´T‰ÂÂr˜šŠan.FUÖÖ&µïT÷[ß>U¥ë{kR—Ϭ)H¥ÚŸWméã¼xÒñ«‰……f]‘‹EJ5ËŒDÅxRìíM‘”ÄaD†ŒI 5)‰Ä––&ÈÏ/Caa¹Ö?Ũ GG3H$F°²2Aaa9®^±X¤Ó8d2c–£¨H¡õÏrVVã mÔeŸFê0²šÕå3« ##ÊÊ”Zåyyeõ¶ã¼xÒñÓµ'õ¡b2"2\JDDMnÈç¿þš¦Q^ZªÄ¹s™03ãùçUÃæ^x¡% .diµ³cÇ <ÿüOµ¾VUÅÐ¼Š¡s23‹õJIcö©±Ôå3«-''3­a¯™™ÅHI)jX° ÔçEÅñ;y2Mk]hè ¬Y_¯vkRS>,ERR¡N÷EDÍ“@""jrááíáêjŽÕ«ãpâD* Ë‘”T€yób™YŒˆ88˜ªë¶j%ÃÂ…•Žüü2ää”âË/“°m[-ò«÷Õ´ð𰱑`ÕªXœ9“¢"nÜÈÃÂ…ë|U«nûm¼>5–º|fµÕ»·22ŠñŸÿü…¢"îÞ-ĪUq°·¯[;ºÖçEÅñ[³&¿þš†ÂÂr¤¥É±|y,23‹1q¢g£÷!11óçÇT;D”ˆ ADÔŒ=͈¨ú|61 [¶¨xfZ~þ9iirH¥Æ°Å”)íг§æ3çrrJñϪꦦÊae%AûöÖxë­¶èÕË ðçŸñÊ+'5¶›1Ãóç·‡—×7åýû·À§Ÿö$%`ãÆËøí7Õ³Ô|}­ðÎ;±uëUÄÅå >>ô±ýyýuÏzí·6}jjºüÌj#?¿ ëÖÅãäÉtäå•¡cG,Y⇈ˆ?qùrÕL ƒ?§uŒ 1qÔc¯ïçSÛó¢.ª?;;Stëæ€¹s}ѺµEçðàÁ.5J³<<¼=‚‚0vì)ò·ßöÅÛoûhõ¡âY‡³gûà³Ïëý¬CjžøˆˆgOCÁ$ˆ¨{š“ÀænÈã(.VàÔ©ô =Ex^PsÄïÿgŸHDDTO™™Å üååš¿‡Þ¿_ˆ;w êuu‹š?žDô¬cHDD-7·K—^Bjªry9bc³1gÎyXZš`Ö,}‡GzÂ󂈞e|D,GG3ìÞÝ{öü…qãN#=]kkôêå„ÈÈ ¸¹™ë;Äf§ê}vÕ©|ßÚÓ¨.çųÐ_"2qb""jD …€Ÿ~JÆÿ{ ¹ÈÏ/‡»» £G·Æ„ m`d$ìÜyë×_8;›áã{`Ó¦+ˆÍ†R têd‹ùóÛ«'iHý ²àåõ ÕÕ«„„‘uŠµÂ­[ùØ´é ¢£3Q^. ];+ÌšåÏ?¿…sçT‰RX˜;Ö­ëòØcäí} …P«ãéà`ŠèèaO¬W‘µh!ÕZWQ–”¤ª3fÌ)\¸¥^?b„¶l „ gÔý€‹C`eeR§¶+b^´Èkׯcóæ+xóM/‰ðßÿÞÆÙ³˜=ÛMVŸˆˆ˜Q#ŠŠJÜ91ï€?ì ¥øî»{X½:iir¼÷^GÀäÉm1yr[„†žÀíÛXµ*‹ûÁÇlj‰yX´è^{í þýï^èÖÍ¡Þõýü£}{ìßß§Þ±À;… ‹‚T*ƶmÝÑ¥‹=’“ ±zu<®_σDb„«WGÔêU$¡º”Ÿ_vÔØ` IDAT07×þ3_Q–›«ª³\»–‹Ñ££ÐºµV¯î ع3ãÆÂĉ^ q­WÛþþwO89™aÍšx|òÉ €­­k×vFXXk­v»>‘¡ãpP""jTÝ»;`Ú´v°¶–ÀÖV‚ <êŠÏ?ODAA¹V}¹\•+й³¤R1üül±eKÊÊ”Xµ*®ÁõuëæÍW—W†ˆôîíss1Ú¶µBddärEÝRÕUGQ¥ ›¾¾Öظ1×®å"<ü<Xºô‚ƒ5Àú´-À’%—0o^ &Mj‹èèaˆ‰Ž :àý÷ã0gNŒÆ•ÐÆ®ODDL‰ˆ¨ à‚/¾x^«Ü××åånÞÌÓZ'•Šáë«y—··œœÌpíZ.22ŠT_±ž:•èÓ§…F];;S´i£ÿ¡‡––&€¢¢ê“l°²2Ñ(ñÅ–˜1ÃG¦`̘(ää”aÞ¼ö nûС»Ø¿ÿ6^}µ &Nô„ƒƒ)lm%;¶5¦Nm‡ï¿¿Ý»o5Y}""âpP""jDùùeص+ÇŽ¥ -M޼<Ía‚Õ]5«šœT°·7EFF1²²JàädVïú µ´T‰ÂÂr˜šŠan.ÖjÇÚºúxjÒ÷zzªfÅLK“k­«(óð°ÔZ7o^{œ=›‹³±iS Ö}õi»"aîÕËI«~p°#>øà¢¢Ò1q¢W“Ô'""&DDÔˆ¦L‰FLÌDDø#4Ô¶¶¦‰€Ï>KÄš5ñêვåä”A4‡@VV UrWßúUëÔ'V‰Ä2™1 ËQT¤ÐJ+ö[[qO`ض ¸|9£FµÒXwùr gO­í~ÿ=åðö¶Â²eÂÇÇZë*k]Û®îŠaU•ë4v}""âpP""j$ …€ ²àèh†¿ÿÝvv¦ê$¬¤¤æ•—”(—­Q–‡ŒŒbøúZk]Õ«K}©Ôeeö=xðÏØ·ïvcíÛ×À£«P23‹‘”TPcßšJ·nðò²Ä?&£¤äÑÕV…BÀ‘#÷áâ"EÿþšCYïß/Â{ï]ÄöíݱcG˜™‰1mZ4²³KÔv@€j†Ösç2´â¬xÜD@€]“Õ'""&DDÔHÄbºww@ff1>ýô&>,Eq±Ñљػ7©Æí,-M°eËU\º” ¹\øø‡X°à¹¹eX¸ð"23‹‘“SŠ+bqûvÖ®íSÓGW0‹Š˜6-àåe WW¶oïŽôt9fÎüååB½Û?Þ­[[à‹/þ¿ÿ} YY%ÈÉ)Åw°cÇM8;›aòä¶MVŸˆˆ‘PÝX""jÒÓÓQPP»+O^^žøðÃt ÖtWª>,Å?þq'O¦!3³66ôíÛŽŽføä“@ÇŽ68t¨? 4ô²³K°{wo¬^‡‹³¡Pð÷·Å‚žûW¡®õÿú+K–ü‰Ë—ÂÆF‚iÓ¼1~¼G½bMJ*ÀÆ—ñÛo™P(__+¼óNGlÝzqq9ˆmÔc[W¯æbË–+¸p! J¥€Nì0w®¯ÆqY±"{öü¥^þá‡pt4C×®ßk´5o^{Ìœé]§¶+äæ–â“Onàĉ4Ü»WA\\¤èÛ×3gúÀÁÁ´Ië}|ÿSãrvv†…E½'";À$ˆ¨{Ú“ÀºªHêΞ}±Qê7…!CŽ£¸XS§^Ðw(DDšÇ÷?ÕMC“@%""ª£ÌÌb~¯1Lîß/Ä;èÙÓQO‘=Yƒg=nª5""Â+¯¼‚è; Ò±ÜÜR,]z sæøÂÆÆ7näaåÊxXZš`Ö,}‡GDDT#<"bîܹèÙ³§.š""z¦DFFê;„façΛX¿þ²zÙËë̘áùóµV^Ÿúºæèh†Ý»{cÏž¿0nÜi¤§Ëamm‚^½œ77ó&‰ƒˆˆ¨>t’öìÙ£GÖESDDÏ^¬É“ÛÖiǺÖo ÁÁŽæ°O""j~xO ‘aHDDDDDd@˜&DDDDDD„I ÕÛýû÷!‰j|•——ë;D½8yò¤Ö±Øºu«¾Ã"""""À$ÀÕÕ‚ àË/¿Ô(?}ú4A€±±N&ŸmvúõëAàíí­ïPˆˆˆˆˆ´0 $"""""2 L‰ˆˆˆˆˆ ˆaŽ×#""¢ZÙ¹ó&Ö¯¿ pv6ÃÙ³/ê9¢ê]»–‹-[®âÂ…,(JØaÎ_Ú×»M?¿Ã˵ª»vmŒíþToCDTWI/RRR0þ|øúúÂÜÜfffðööFxx8ÍÛѳI 5©äädÄÄĨ—Ÿ{î9õû–-[ªß:tr¹wîÜQ_ÝOOOõ{KKK8;;7xÕñòòÒØOå¶+Ô'6""Ò­ß~ËøùÙh­óó³ý_íÛ taÅŠX¬^÷ÌlCD†ƒÃP“JKKÓX^¸p!.\¨U¯¤¤IIIZIš™™™Ærå!œõÝGûöíµÖUÝOAÔï«Þ»X›Øˆ B!à§Ÿ’ñßÿÞABB.òóËáî.ÃèÑ­1aB‰hO>òñÇ=°iÓÄÆfC©:u²ÅüùíÕ“|4¤þ… Yðòú€êjQBÂÈ:ÅZáÖ­|lÚtÑÑ™(/ЮfÍòÆçŸß¹sªÄ$,ÌëÖuyâqúùçTLŸ­^ŽŠz6\ÆÉ“iHÄèÛ×Ë–ù#?¿ +WÆ#::2™ ú÷wÆ’%þÉý9¯K?JK•øç?ðÃÉHI)‚©©ö3¦5úõs†X¬Ùçʾýö,8¯QöÛo/ÂѱúïOðö>…B¨q}e¦ˆŽöÄz·nåZ´j­«(KJRÕ3æ.\ÈR¯1 [¶a„3êÏ .^ •Gsѳ‹I 5)'''åU«VaéÒ¥5Ö¿sçŽÆrÕ¤°°°°Áû¨/Í›ík‘¡‰ŠJÜ91ï€?ì ¥øî»{X½:iir¼÷^GªÉG&On‹Ðи}»«VÅañb?øøX#11‹]Âk¯Á¿ÿÝ Ýº9Ô»¾Ÿßa´ooƒýûûÔ;V¸s§aaQJÅØ¶­;ºt±Grr!V¯ŽÇõëyHŒpõêˆZ§ÁƒU{L›ãÇS±vm<¦O÷Ɔ 8z4ááç‘“S #Ì›ç w÷®øöÛ»ˆˆø2™1–,ñ¯W?V¬ø?þ˜‚>ꆠ {”cçΛ˜:õ7|ñÅóèÞ½æIEBB\qåJnÜÈÃt…µµä‰ý¬H¸u)?_5$ßÜ\û_šŠ²Ü\UýûûàÚµ\Œ…Ö­-°zugÀÎÁ7î&NôBHˆkµû9~ÀÚZõÏKPPâââ°iÓ&;v S§NÅôéÓÑ¢E ôéÓç΃¿ÿ£¡MÄ™3g°råJœ={D«V­0uêT´k×7n܈*ýÔ[—}ìÛ·ãÆÓˆ5,, ,€™™Ö¬Y£./))H$ÂgŸ}†7Þxã±±y{{«1oÞ<|òÉ'É‚üü2ìÚ•ˆcÇR–&G^žæ#Õ]5«é^,{{Sdd#+«NNfõ®ßÐXKK•(,,‡©©ææb­v¬­~/™……æŸg‘Huÿ¢TªYnd$‚R©y]]ŽùŠй³¼ƒ×_? ²Ã¸q2ä9T•—WŽéÓG‹RDE¥ãÛoïaÄí¿5iŒ{==U“w¥¥iOôUQæáa©µnÞ¼ö8{6/fcÓ¦@­{>kcÅŠNÏÔ6Dd8˜R½¹ººjL”RîîîØ¶m[­ëwëÖ GŽÑ*ÿàƒÔï«Þ XÛ}Œ;cÇŽ­qýêÕ«ëÛ;ï¼óÄ}=ë¦L‰FLÌDDø#4Ô¶¶¦‰€Ï>KÄš5ñÕ~‡ää”A4‡ð@VV UrWßúUëÔ'V‰Ä2™1 ËQT¤ÐJ+ö«/u9æ"0r¤FŽtCy¹€èèLìÜy3füŽÅ‹ýðæ›^m‹ÅÀîݽaii‚°°“X¼ø<<,àïo[5Œj5Æ==z8`Û6àòåŒÕJcÝåË9€ž=µ¯jþþ{& Êáím…eËþ„µÖe"¢g‡ƒÒSïÈ‘#Õ&œéééHII˜››cРAúˆj P¸p! ŽŽføûß=aggªNÂJJj~xwI‰qqÙe yÈÈ(†¯¯µÖU½ºÔ—JQVöh߃ÿŒ}ûn×9Ö¾}U€©Z!3³II5ö­±Õµ;QÏ®il,BïÞNøä“‰€_MÓª/“ÃÙÙ ææbìØÑææbL›]ë!·¡[7xyYâÇ“QRòè*§B!àÈ‘ûpq‘¢Ía»÷ïá½÷.bûöîØ±£ÌÌTýÈÎÖoODÔT˜R³œœŒéÓ§ãîÝ»(..F\\ÆA`llŒ;vÀÑÑQßaQ%b±Ý»; 3³Ÿ~z–¢¸XèèLìÝ›Tãv––&زå*.]ʆ\®@|üC,Xp&&FˆˆðoPýl”T€ÔT9.]ÊÆÝ»…èÚվᆇw€«VÅâÌ™ )pãF.¼øØG$4¶úóˆˆ?qýz.JK•ÈÊ*Áÿýß гçã¿S]]eؾ½;²³K0cF4JKkNì“‘‘ë×"7· ^Dff1rrJ±bE,nß.ÀÚµ]`júèjmQ‘Ó¦E#"¢¼¼,ÕýHO—cæÌßQ^^¿.DD͉H¨ïx¾ŠD"ìß¿£GÖULDÊËËqìØ1ìÝ»çÏŸÇÝ»w!Zµj…¾}ûböìÙðóóÓw˜DÕ 8p QÚOOOGAAí®¾ÿ©q9;;âÞ‘`HDÔˆ = ¬«Š¤îìÙ¥~S2ä8Š‹8uê}‡BD y|ÿSÝ44 äpP""¢:ÊÌ,F`à÷ZCïß/Ä;OJIDD¤OL‰ˆˆê!7·K—^Bjªry9bc³1gÎyXZš`Ö,}‡GDDT#>"‚ˆˆônçΛX¿þ²zÙËë̘áùó«€w]ë뚣£vïî={þ¸q§‘ž.‡µµ zõrBddÜÜÌ5b{’Šûùˆˆˆš“@""һɓÛbòä¶V¿1;"8øÉÃ>G5A4DDDµÇá DDDDDD„I ‘aHDDDDDd@trOàôéÓ±`Á]4E¤SYYY°°°€©©©¾C!•••…¶mõ{ïQe¼HÏ4¹\¹\®ï0ˆˆˆˆˆž:¹øñÇcôèѺhŠH§D"&OžŒÈÈH}‡B*,,Lß!ià•@""""""Â$ˆˆˆˆˆÈ€ðañDDôL;rä>æÎH$F¸zu„ž#"""Ò/^ $"¢gZHˆ+G!8ØQß¡=˜=ŸßaŒsJßaé“@""""""Â$ð¶yófˆD"ˆD"¸ººê;¢'Û¼‰T/ž³DDDD‚Ã<ÅÊÊÊ+++œ9s¦ÎÛ‡‡‡#<<xðàA#DHTEYXYõ8g®zܧOg`úôhuý¨¨°aÃeœ<™‰DŒ¾}±l™?òó˰re<¢£3 “™ g,Yâ™LóOÙ­[ùØ´é ¢£3¡P:X#<¼C½bß¹ó&Ö¯¿ ¸p! ^^ßÄbbb†£K—#õçÍk™3½¡Pðö>¤.:´%lÕm9;›áã{`Ó¦+ˆÍ†R têd‹ùóÛ#0Ð^£ÍììlÛ–€_~IEzº––&èÚÕ³gûÀ×׺Výðö>…B¨U]SDG{lŸNÕøÌNž‚¯àôé ˆÅ"tîl‡ˆ´j%C^^YŽÓˆn:=tqüˆˆž5LŸrJ¥J¥RßaÕžR©zÈÌ,FXXJJ”X³&Ý»;B.W`ÿþÛX¸ð"òòÊ0q¢GaÚ´h?žŠµkã1}º76lÄÑ£)?œœR˜˜aÞ<_¸»wÅ·ßÞEDÄŸÉŒ±d‰¿zwî",, R©Û¶uG—.ö¸w¯ëÖÅãîÝ¢:Ç?yr[LžÜ~~‡Ñ¾½ öï>1q&N<‹³g3qüø`´j% JG!,, ¯¿Þ/½ä¦n/4ônß.ÀªUqX¼Ø>>ÖHLÌâE—ðÚkgðï÷B·n€ŒŒŠã§Àúõ]Э›#’“ ±|y,^y% {öôFçÎvOìGBÂÈ:÷ýqvÑøÌV¯ŽÇÔ©í°aC .^ÌÂԩј;7öƒ•• GáÍ7ÏáÌ™ŒÓ„ ž uUW]œº:~DDÏ}Š™˜˜àòåË8wC!ªàòe€ç,ýÏæÍWqÿ~""ü1`€ d2c88˜bæLoôéã\í6aaîèØÑR©#Gº¡m[+DE¥cÒ¤¶ðõµ†¹¹ãÆyÀÕÕQQUöwyyeˆˆðGïÞN07ÃÛÛ 7"#CÞ(}œ4©-”J»vÝÔ(¿p! ))E6L{h³\®ÀÊ•èÜÙR©~~¶Ø²%eeJ¬Z§ÑŸää",^ì‡~ýZÀÜ\Œ¶m­ðÁ]!Þ?¶QúTW£G»«ûÒ«—úõsF\ÜC<|Xª®3yrÍÇ)=½Ƶ¬¶í†žÍáø55&DDÔhŽKôí«ðýë_Á˜8ÑK«ÜÏÏVcÙÙ٠б£æÐ½-¤HO×LìNJôéÓB£ÜÉÉ uŒ¾vz÷v‚··¼‡œœGIϧŸÞÄ„ ž06im#•е†"z{[ÁÉÉ ×®å"#£€jØ¥‘‘¸hÔut4CÛ¶V¸|9ii“ÜÖ…¿¿æÕ4)h|>ÁÁŽhßÞºÚã4q¢Äbíã4ì|h.Lj¨©\xèÐ!õd)"‘·o߯˜1c`cc{{{„„„àÖ­[êú«W¯V×íÝ»·ºü§Ÿ~R—;88ÔØþ;w0fÌXZZÂÞÞ¯¿þ:>|ˆÛ·o#44–––pqqÁ[o½…üü|u;GŽÑh§¸¸X£YYY˜?><==!‘H`kk‹_|¿þúk}¿~ý:†kkk˜››£ÿþ8{ö¬F’’,[¶ >>>077‡BCCqøða(ŠzwƒÕ»÷£‰ND"àµ×Tåƒi–çäÔÜÆ¡Cšuo߯Œll{{ $¨tÎbõêGu+³øé§Gå•ÎY­öïÜQµoi©jÿõׇUû U•»¸o½T:gqäˆf;UÎYdeóçžž€DØÚ/¾<æœÅõëÀðဵ5`nôïT9gQR,[øø¨êØÙ©â<|à9«W¥¥Jäç—ÁÔT¬uŸÖãXXhÖ‰TÃ¥RÍr##”ÊG÷¹•–*QXXSS1ÌÍÅZíÚÛ›Ö±µ÷ÆžË˱gÏ_€¤¤üö[&ÆŽm]m}++“jË+bÌÊ*Q?¥R@@ÀwðòúFãuåŠê{ãöí‚'Æçí}Hkûš^=züPçþ[Zj~6‰êø UnCœ4©­ÖqЉÉÂèÑî5¶ÝóAWLjèYcpIàÈ‘#!FŒ˜;w.æÎ‹äädìß¿'NœÀ¸qãÔõ—.] A “É4Ú:t(A@``àcÛŸ?>Þ}÷]¤¥¥aë֭سgƹsçbÕªUHMMÅŠ+°sçN,_¾\ÝNHHˆF;•¥¥¥¡k׮ػw/>øàúYYY¸ví|||0bÄœ>}ºGÜÀ9üù' “:;v¨Ê¿ÿèÞøòKÕI665·1r¤ªNŹ0w®ê•œ ìßœ8T:g±t©ª~•sC‡ªÊ«œ³ZíÏŸ¼û.–lÝ ìÙŒ¯ÚçªU@j*°b°s'PéœEHˆf;•¥¥]»{÷| šôå÷ßUIÛÀª¶ª*(fÌ/VõõÔ) ;0¨tÎbÖ,àÃ>R%š×®©Â#ž³z%‘ÁÒÒ%% –7Éþd2c””(PT¤ý@å«Ou%ªþ"•Úˆ­àà`Šÿüç/”–*±k×M¼ür+X[Kª­Ÿ“S¦• ªäP%ƒ‰¬¬L ‹0‰‰£ª}õèáøÄø·}Õד&…iˆW¸¸H5ŽÓ˜1­ëô#Améòø=k . ¬jòäÉèÙ³'d2 „áÇ#&&Fg³iNš4 Édxýõ×Ñ¡Cüøã˜?>`aa©S§ÂÃÃ?üP»__-Z„¤¤$lݺ!!!°²²B»ví°wï^¸¸¸àí·ßFzzºÆ6¹¹¹X»v-zõê aÏž=(--Åœ9sÔõ~ùåtèЃ†T*…³³36mÚ„víÚéäx¤N€Ï>bc T‰Òá°Á IDATÔ©ªägìØº·7y2г§*É4Hu¥,&Fw³iNš¤Je2ÕUÀ€T%‡€……*~ –ç,-’’TIeHˆjöÐvíTI¡‹ ðöÛ@•s¹¹ÀÚµ@¯^ª}©ÒÒR Ò9‹_~QÅ8x0 •ÎÎÀ¦MªöIï† ypòdšÖºÐÐX³&^§û«vZ1,´ÂÇ¥HJ*¬w»R©1ÊÊMx4xðÏØ·ï¶zY"1Âøñm•U‚]»ñí·÷ðÆÚC]+””(—­Q–‡ŒŒbøúZÃÉI5äñ…ZB¡páB–V;vÜÀóÏÿTëY?Ÿb±o¼á¥>NGŽÜÇßÿîÙhû{ÖŽ‘®|صkWe77Õ n))):i?((Hcù¹çž«¶¼eË–µÞç7ߨ¦(>|¸F¹©©)¹\Ž£Gj¬333C÷îÝ5ÊüüüðÜsÏ!66©©©TW8Ï;‡)S¦ ::Z=4!!ýúõ«U|T°0`ÉààAÕͬ,ÕUµú¨rÎâç,tt΢ʹ‰ÿ³Zå-[Ö~Ÿÿ;gQ圅©©*–Ë*ç,ÌÌTWK+óóSÅ«º" ¨®pž;L™DG?šðœÕ»ððöpu5Çš5ñøõ×4–#-MŽåËc‘™YŒ‰u›„‡w€«VÅâÌ™ ý?{wuµ?~ü5ìû"»©‰ ˆŠˆ êuÌLMô¦„×ûI¨_CTºj‹¹.˜Y­×PÓ\ -SqË À—Ü 1•U†æ÷ÇÈäÈ0¬êy>sÎù¼ÏùÎ|Îçœ ’“¥Ì›—PãQuuïnÁµk¤§qút.ÿ-ÃÓSu+‡©S;a` Íš58Ж§Ÿ6®¥405Õeõê?9}:—¢¢ λÃüù‰èêj±xñ?«[†„t£Cc,8űc™H¥eä啲uë56l¸Lh¨[­ÏÒµV/¾ØSS]Ö¬¹ÀÈ‘m•Ïø5…DZýAÃ?47W}°\OO1u§±¶e033Sy­¥¥…¶¶6FFF*ǵµµÕ:gII ùùù`jjZí};;Å·àªßº[YY!©a>“­­-YYŠÕ>þøc¾ùæþúë/¼½½133ãÙgŸU<…xÿ}Å æ·ßƒB- ÿù=Ðg¹×gm[†ú,ZZ ­­˜ºy?mmõÎYR¢¸«g` xžðA÷ú,ôY¬¬jžƒw¯Ïr¯ÏòñÇðÍ7ð×_Š¥™™b`(úl«`ccÀž=Ã3¦ï½—DŸ>ÑLœx”üüR¶mBÛ¶Fœ9sgçÝ:¤ØwïþkÖüɹsŠã'NdQQ!ÇÙy7Ÿ~z™ÄDÅ~}ññ·)*ªÀÙy7ë×_ CcvìJÏž–Ìžý;^^ûøïOñòËN¸¸˜QZZ‰³ónBCÿ¨W=-RlåðÌ3 Šçí·ÝqrRíÏ––zŒß¹\ñìÛÃióÎ;î¬_‘þý÷ãï33]¶l¤ÜÓBwíÆÈ‘my÷Ý3xzîã™gqà@Ÿ~Ú¯Ö5›Zm× ÀÙy7›6]w{bUòëðâ‹ïµSõ»¥ÙZkû ‚ ´4±O š´´´(-­þ‹¾¾bàšŸ¯XHæÁ`Õ4Ðú,µôYåà¯j0(‘(¦­¾ô’b³ú£G!<&N„Õ«ÓX…ea¡ÇÂ…n,\èVãû½zY’œ<¡Æ÷ê{ÀÑÑ„O>é_íøðáö5¤VO§N¦lÝ:¸Îtm¸p!¯Ú]š89™òå—ëLga¡GX˜aa5·_KÐäšÝoÁ‚,XУÑÊ~Ø9[cû ‚ ´´'þN º¸uë–ʱŒŒ þþûïfeÂŇݾ}ûTŽ—””pøða 5j”Ê{$%©î‡tîÜ9ÒÒÒpwwÇÁA±|¶……—.)¾AÕÕÕeäÈ‘ÊO<ŸP×®)žµûþ{Ū•††Š…K²³›îœŠUî—‘-Ðg¹×gy°•”(žé34„ú,ŠiŸ÷;wN1ÕÝ]Q?P,ªs¯Ï¢««x6°jÅSÑg…f¶uk*¯½Vû³€‚ ‚ЈA šžyæÒÒÒØ°a¤¤¤0gÎå´æ´bÅ  &::©TÊ•+W˜2e éééDDD(§…V166föìÙüþûïÈd2™:u*zzzDDD¨¤1cgÏž¥¤¤„¬¬,>øàär9#FŒhÎj>> +p®[ݺAÇŽ°s§b0óÂ Š»WMá™gçØ°ACJŠbA•賬X¡XH&8X±•„T W®À”)Šgû""þ™ZÅØX±òçᅢL‰‰Š-6ôôéï7cœ=«TfeÁ(à}Vhbß}w™3ã(,¬ *êùù¥ŒS}sxAAhMž¸A`\\‰„½{÷`hhÈ¢E‹ÅTÈU«VàááÁرc•ù–.]ÊôéÓY¾|9¶¶¶¼ú꫼ùæ›ØÛÛ“““ƒD"á­·ÞªµüÄÄD$  ¢¢‰DÂÊ•+ùõ×_‘H$;v ™L†D"áÝwß}hìííIHHÀßߟ   ¬¬¬ðòòB&“qèÐ!G"‘””„……kÖ¬!44{{{† ‚¥¥%111 :TYö±cÇèÚµ+/¾ø"mÚ´ÁÕÕ•Ÿþ™Ï>ûŒ°°°F»OŒÙ³ÓÏžUÜù;^±Šç°aŠÁßñãŠAÍÒ¥µ—§¸«u¯Oah¨ØÇïõY<<+oVYºT±’èòåŠß«¯Â›o*¦]æä(ò¾õVíå'&*Ž8 XlE"•+Û^H$Šmd2Åÿ×Ñg±·W¬`êï¯X ÔÊ ¼¼ùRì9Šiœ‰â …¬Y£XYÔÞ† Qì-÷õYŽSl ñ⋊=]]{"~ö™b{ A¨…:{æU=[ö0¦ãáñ#QQ׈ˆð¬u¡‘ÈÈ«8;ïæâÅ|23‹qvÞ­|ŽNAš“D.¯i§¢z ‘°}ûv&OžÜX1 ÷7nû÷理¤ñg}I$‚ƒƒY»vmK‡òä7N±uDI ˆ>ˤI“رcG“”Ÿ™™IAz›];;;±~}&Ï='6ÇAx’ˆßÿ;;;LLL4;㉻ØÚõèуÔÔTåë[·nÑ¡C1Z¯=à¾>Ë­[Сƒ ‚ ‚ ´RbØ }øá‡ðÃ?pæÌf̘ÑÒ! ÂÃ}ø¡â¹Ã~€3gÏè ‚ ‚ ­’øª¾•ùüóÏY°`ØÛÛ³|ùrBBBZ:,A¨ÝçŸÃ‚ŠÕ:ííÏ Š>+‚ ‚Ðj‰A`+Ó¯_?Ž=ÚÒa‚úúõSìÍ'‚ ‚ <ÄtPAAA„'ˆ ‚ ‚ ‚ þøró+‚ !1AIcǶ#9yÿú—MK‡Òd +ðöþ…€€Ø–h}ñ4¶¢¢ ¦N=Á÷ß_gÑ¢žÄÇaÏžaióúë±\½z·Ö¼»wÿMLLF3F+‚ ¹FYô믿&6öñü@}‡bîܹ-†ð„JJJ¢]»v-†ðˆ’ËåTV*~ZƒÖOc[¹ò<—.åsèÐ3X[ëж­~Ø—˜˜èZóee³té9|}Û³gÏæ WAc2Ü¿?û÷ïoŒ¢¡Ñ?žóçÏ·t¬¨¨¨¥CQÆÆ:92ª¥ÃPjmñ4¦Û·Kضí/¾è¨V14ÔæÏ?Çך7,ì4£G·ÅÓÓZ Ax$4Ê pûöíLž<¹1Š„F%‘HfíÚµ-Šð„š4iRK‡ ‚N§¢BNŸ>mê•oÇŽT®^½KD„'‡¥7Qt‚ Kl/‚ 4‰ƒÓ™93NùúرQ¬Zuž£G3ÐÓÓfèP;Þ~»'RiK–œ#.. cc]†·cáž«~D¥¤Hùðà ÄÅeSQÝ»›Ò]£Ø"#¯²r¥b†€Ÿ|ÒŸ?¼@RR.••àînɼyÝèÓÇJ%_nn 6\æðát23‹05ÕÅÓÓš7Þ芫«yõþåÖ®½Hll6yy¥$$ŒÁÒR¯^íwáÂóèëk+_çå•òñÇ—8t(ôô"ŒŒtèÕ« ¯¿Þ™þýë÷œdii%7^fÿþ[¤¥¢¯¯MŸ>VøùudØ0;´µ%ÇÃ#©´¬Æ²%8qâYìí õÚ°...{¨¨PoJªµµ>qqÏÕ™îÂ…<ÌÍõX¾üû÷ßâöíblm ññq (¨+ª×,#£ˆ+ÎóñÇýªõWA„ÖLüÆAšÄÈ‘$'O`ÆŒ8JgùòsÌœéªU}8p DòòJÑÕÕbî\Wž~Ú“½{ÿfñâ3ë°paOeYׯ˘4醆ÚlØÐÞ½­¸qCÆŠçøûïÂzÇ6}zg¦Oï̸q1¤¦ðþûg s£kWs’“ïzš©Såë¯âåe (žûš4é%%¬\Ù//nÝ’ñÎ;I¼ðÂ1¶l„‡G›jõ^´è sæ¸òÁ½¹rEÊäÉÇ4j¿ûeg+b).®`ùr¼¼lÈÎ.&<ü/½ô+Ë–õfòä§Õnwß=ÃO?¥ñÑG^ôíkEAA9‘‘W ŒåÛoÓ¯ŸõCã8{öyŒŒþ¤nØp‰uë.2~wåPÝ6¬Ëå˾j×M]YYżõÖüë_6lÝ:ss]Nçí·ÏpâD&»v ÃÔTW™'4ôÆkÇ€ïâD‚ <žÄê ‚ B³˜4éizô°ÀÐP_ßötîlƱc™ü¿ÿ×WWsŒŒ´ñ÷w¤];#ŽËRÉ~»wËX¼¸'ƒÙbd¤‹‹|Ї¬¬†=sYTTÁ’%½ððhƒ¡¡6nn–¬^Ý—²²JÞÿ¬J ·næÆ°aöiÓ¹³žÈårÞ{/©Æò»Ð¯Ÿ5††:¸»[rù²owëþ'7o²hQOFŒpÀÄDGGÖ®õÄÆÆ€%K’¸}»Díò~û-›ÎM4Èm¬­õyë­8:šhßþý·ˆˆ¸È¿ÿý43ft¹/nÍÚ°9””T ¯¯Åô¡}{#ÌÌt™0¡3gºpíZŸž¬L¿}{*©©¼õ–[K…,õÎéÓ?PYYÙÒ­„ ‚ ÍÂÍÍRåµ=z¨N´·7$3Su`wüx&C†Ø«·µ5Ðx RÅÐP»Ú4D3lm ¸x1_y‡èàÁt´´$Œá ’ÖÆÆ€ÎÍ8>ŒŒêRwwËjÇê—_Ò>\µ=ôô´ø×¿l(.®àĉLµË:Ôž?þÈeáÂÓœ9sG9ÕòàÁ‘ôëg]gþÓ§Ç*ï&%ÝáÍ7OáéiÍÒ¥½TÒiÚ†ÍÁÈH19jà@[´µ%*ï¡hç'_N¤¥²råyV­êƒ¡¡6‚Ðú㫯f0jÔ(vîÜIYYÍÓ·…'‡˜*‚ 4 Õ‰´µ%ª×Ò’¨lAPZZ‰LV޾¾¶ÊtÃ*VVú\»V q\ffº5·²Ò'+«˜œœ,,ô”ϼõêõc­e¥¦(§>ViìABii%RiúúÚ5>‡fm­\gg«]æ»ïºãáц]»®óÒK¿зoüýyæ™¶j—“–VH``,†lÜØ]ݾk®Šê߆jŠgŸzÊKKýjïYY)Žåä(Ú4&&©´Œ)SNÔXÖÚµ²víŸ>ü O?m¬V¬‚Ðt^dáÂ\¾¼ŽÅ‹³~ýz¦OŸÎ¤I“04|ø¿7áñ$‚ B«¦§§…±±2Y9……Õ‚U‹­h*/¯ ¹\1(½_NŽb:¥••>zzZ˜™é"“•óçŸã«Ý)jNzzZ˜šê"•–!“•WÞ¾­¨ØØ¨]¦D¾¾íñõmOy¹œ¸¸l"#¯2kÖï„…¹ñÚkÎu–!“•Ky¹œÏ>Pm•Ælæx&°o_+¾ø"¹ÆéÅU}¡j눩S;1uj§jéöî½Áüù‰ÌÛÿû?—FQÂÖÖ‰W_]Á¼yóøê«¯øðÃùôÓOyóÍ7™0aBK‡'431TAhõ†µþ™ZåÎR®]“5¨ì’’ ΞÍU9vùò]²²Šqu5ÇÖV1˜5ê)**äœ:•S­ŒM›®0xðÏjßj¨ª»sGŽd¨/-­ä·ß²10Ðfð`;µËóðˆ&%E €ŽŽ„AƒlùôÓþH$ÕÏQ“Š 9sæ$’"åãû©LÑ=;žƒ É´¦6|аaöØÙpüx¦òùÀ*11Š69Rý»¢‚ÐZÙØØðæ›oräÈÌÿû_^}õUþú믖MhFbØÄ èܹ3cÇŽméPÍãX§'IAIvfìGÏõ{ë$¨ 鎅…￟į¿fQXXAr²”yójœ"Z¦¦º¬^ý'§OçRTTÁ¹sw˜??]]-/þg…Òntè`Ì‚§8v,©´Œ¼¼R¶n½Æ† — uk¶;„!!Ýh×Έ¥KÏ“ŽLVεkÌ›@vv1‹÷¬¶áy]/>Ã¥Kù”–V’“SÂæÍWËQkåËeËÎqôhË–y<ôÂÖÔ†ÒÓÓbÅŠÞܹSÊœ9 ¤¦p÷n{öÜà“O.ãînÉ+¯8µHl‚Ь­­YµjÛ·o'''‡1cÆNQQË<—+4/1´‰Éår*++¹Õ˜LLLèÕ«¿þúkµ÷Õ: r¹œJù£wýLf›Ð«}/~]PKŸ|ëô¸;sæ/¼pTùº{÷˜5Ë…‘#˜0áŸãÎλ éFß¾Ö¼øâq•ãAA®u¥CcvìÊœgöìß)/—Ó¥‹o¼Ñ•/¿Læ·ß²qvÞͤIO³bEïzÅid¤Í;︳téYþø#—Š 9={Z²eË •}­¬ôÙµk7^æÝwÏž^„™™ݺ™óé§ý8жÖz$'×oºÕƒûòuïþãÇ·gõê¾ØØ°gÏp>þø2K–œ%#£CCzõ²ä›oÕ{Ë‚¨¨ÁDE]cΜÒÒŠÐ××¢cGc–/ïͤIO?4žiÓœùæ›,øƒ þ¨VþøñíõÛ°¥ bǶmCX¿þ"&¥¸¸‚Œ èÌë¯wÁÀ æ//>ÃÖ­×”¯«ž <Ø–/¿Ø\á ‚Fz÷îÍž={ˆŠŠbíÚµíÞl‡Ï¾úí+ŠÊÔè“÷å×›¡‡åKFGŒæÈ¥ûúäpåùÛ½ÙŽ„Ô¼W{c:Û£YF ÎÉä“ÕÒËJdœL>©Ì«¨Sc½V§ÚbÒôº‚ ÂãF[[›7ÞxƒÍ›7³ÿ~^}õUd²†-À%´>­b˜œœÌ€HLLdçÎdeeñå—_ÁÙ³gÑ××G.— (nU{zzòÝwß±qãFrss9zô(¹¹¹ 0€ØØX|}}‘ËåŒ?€àà`‚ƒƒ¹uëÛ·o'&&•X4-;00Y³fqãÆ âââÐÖÖ®–æ~xzz²uëV"""¸}û6§NbذaL›6M›6=´ÍªòGEE)óÿþûïáíí­l«är9îîîäåå1gΖ.]JFFÇ'77—#FpìØ1•ôÆÆÆ 8¹\Ž\.§¼¼¼Æzk“&×¥¹%g%3`ÅSÙ9c'Yk³ørÚ—DŠàìͳèëè#ÿLNä+÷úd~:žË<ù.ñ;6þg#¹¹}ó(¹²\¬@lʽ~ãá‹ü39ã{Ý«û¶`‚}‚¹õá-¶n'æb þ›è“–ø¿@f ›Ån‡¶–vµ4÷ËÈÏÀs™'[ã·ñb·×ÞæÔâS sÆ´/§±éX}ò^þ¨ß£”ùû#=#¼×xyâ^Ÿ‚ü39îíÝÉ+Êcζ9,õ]JÆê Žÿ÷8¹²\F¬Á±+ÇTÒë3Ðy òÏäÈ?“S¾©¼Æzk“&×Eh½œw×ùãæöÎλ¹x1ŸÌÌbœw³fÍŸ­*Æõë/=2çáñ3lØ0¢¢¢HIIáå—_&??¿¥CQ«X&,,Œ¼¼<"##9r$Ý»w'**ŠŽ;VKÊõë×ùöÛoyî¹ç”é·mÛFÇŽyã7HLL¬–oúôé 0ÆŒÃÎ;¹}û6ÖÖÖ *{Á‚ 6 €~ýú)Mµ åÚµklß¾]¹Ê¦©©)‹-R¹3WWþ­[·*ó›™™E§N bܸqØÙý³D¸L&cãÆôêÕ €¾}û²eËzöìÉœ9sTîtjB“˜@½ëÒÜÂv‡‘W˜Gä+‘Œìv¯O¶íNT@ßêX-}è®P®ç\çÛéßòœÛsÊôÛ^ßFÇ·:òÆÖ7H\TCŸ<N÷êîêØžcØyj'· ncmbÝ ²Œ^À0—aôsì§4Õ&tW(×n_c{àvÆö¼×' LY4f‘ʹºòo}}«2¿™¡QQt íDÐÖ Æ¹ÃÎì¾>Y"cã6Ò«ý½>Ù±/[¦o¡ç»=™³mgÞn`ŸÔ &PﺭW}`i Íã£Ð‚ ´^®®®lÛ¶—^z‰éÓ§óÍ7߈Íå­âNàÏ?ÿ À¨Q£TŽÛØØÐµk×jé÷ìÙƒ––Vµ- ìííéÞ½;§NâæÍ›Õòyzzª¼nß^±ZYZZZƒËöòòzX«Ù½{7£GW_Œà§Ÿ~"88X­ücÆŒQ9®¯¯··7EEE8p@å=cccå°Š››mÛ¶%))‰ôôôzÕ¡1bõ®Ksûùü½>Ùý>ijCWûúäé=hI´”*öæötoÛS×OqóN }²ãuos¯îy÷õI ËöêXÏ>yú^ŸìQCŸœóÁ>uôÉ{ùǸ=pýuôñvõ¦¨¬ˆè“úÆÊ`·§ÜhkÑ–¤I¤ç7°Oj¨w]AáIбcG¾þúkþþûofΜIEEEÝ™„V¯Åï–”” •J100¨q…KKËjé«nG›››×ZîÕ«Wi׮ʱÓëéé(—•oHÙÆÆÆµ¦PÕy 055U;Ÿºù«î´ed¨nðkaaQcy¶¶¶¤¥¥‘••…ƒƒC½ãiHLP÷uin%å%H‹¥è`¢_CŸ4¶¬–>¿è^¿ zH¿É¼J;Ëú¤áu×¾WwyeƒË6Ö¯GŸ¼w]L 4è“u䯺Ӗ‘ÿ@Ÿ4¬¥OšÚ’–—FÖÝ,Ì5ì“Æu_AAx’têÔ‰Ï?ÿV­ZEXXXK‡$4P‹õõõ155E*•RPPPm ˜••U-½……),i¬XšªìÏcnnN~~>R©´ÞÁºògffŠ»—÷ËÉÉA.—#‘¨nÄ[ÕÆ¶¶ÿìÏô`š¦Š©5Ò×ÑÇÔÀi±”‚’‚jÁ¬»YÕÒ[YPP\@Ñ'Eèh5bŸl²<¹¡9ùEùH‹¥õÖ•?óî½ëoþ@Ÿ”ÕÒ'¥÷ú¤Ù}}’zöI cA¡º=z°l×)ä IDATÙ2æÏŸOïÞ½yöÙg[:$¡ZÅtЪ)‘UÓB«dddpåÊ•jé'NœHyyyÏέZµŠ:ÔùL^mš²ìûM˜ xNcÿþýÕÞóðð`îܹjåß·oŸÊñ’’>Œ¡¡aµéµÅÅÅ$$$¨;wîiii¸»»«Ü422¢´´TùÚÅÅ…Í›77zL­UՔȪi¡U2ò3¸’YCŸì=‘òÊòŸ[õó*:,è@y¥†}² ˾ß{}ò\ }r‰s·×Ñ'ïåßwîë_^Â዇1Ô5¬6½¶¸¬˜„Ôúä­s¤å¥áÞÞ]å. ‘ž¥å÷õÉE.l>^GŸÔ &AAjöüóÏãïïÏâÅ‹¹}ûvK‡#4@«._¾œ6mÚÌÁƒ)((àüùóL›6­Æ;G+V¬ÀÉɉ×^{Ÿ~ú‰üü|rssÙ´iK–,!<<\ã»xMYöƒçqttdîܹìÛ·©TÊÍ›7™5kéééu«òT*åÊ•+L™2…ôôt"""ª-ÀbnnNXX±±±Èd2™:u*zzzDDD¨¤íÝ»7W®\áÆÄÆÆò×_1xðàF©µZ>q9mŒÛ¼-˜ƒ¤ ¤€ó·Î3í«i5Þ9Z1qN6N¼öÕkütþ'ò‹òÉ•å²éØ&–ü¸„ðIáßÅkʲ<£µ#s·ÏeßÙ}H‹¥Ü¼s“YßÎ"=?¹#ëè“÷òo &úl4Òb)W2¯0å³)¤ç§áQmsCsÂv‡›‹¬DFbj"S#§¢§£GÄ‹ôɧ{s%ó 7ro›Ë_Ù1¸s}Rƒ˜AA¨Ý[o½…‰‰ ï¿ÿ~K‡"4@«:99‹§§'/¼ðvvvŠ££#ÚÚÚ*émmm‰Ç××—Ù³g+Ùµk{÷îeòäÉÄÅÅ!‘HØ»w/†††,Z´PLw\µj ¸óVµLCÊ~pJ[Õ~x÷§™:u* ˜™€ŸŸo¼ñVVVxyyqçÎNœ8A‡ÚfUùýýý Ræ—Éd:tˆ€€€jyLLLøè£xï½÷ppp`È!XZZÃСCUÒ®[·Žž={âêꊟŸ¸ººªU§ºbÒäº47''bCcñtôä…O_Ànžÿ $tt(ŽÖŽhk=Ð'Mm‰_o/_fGÍÆf® ]we×é]ì½—É}ïõ›¿âHØ{æ^Ýg²hϽºHXõó½º/ñ`ìGc\¶$à>yo?¼ûÓL¼wýÌíIX˜€Ÿ§ol}«`+¼–yqGv‡ NСM}ò^~/‚¶)óËJdšwˆ€Á5ôI}>òÿˆ÷~|‡†|0K#KbæÇ0´Ë}Òo=ÛõÄõmWü6û᫃«Zuª+&M®‹ ‚ <‰ŒŒŒX¼x1ûöí«qÅ|áÑ ‘Ëåò ‘°}ûvå਱uíÚ•¢¢"®_¿Þ$å?)zõêÅíÛ·k\Ùôq&‘HfíÚµVf×Å])*-âú*Ñ'¢×’^Ü–Þææ‡wŸœ4i;vìh’ò333)((P+­³³ë×gòÜsê¥AMñûêÔ©TVVÕhe ê³³³«qQM5íhw322hÓ¦ eee*ÇSSSIIIaĈ-™ð¤ÊÈÏ Íœ6”U<Ð'sRIÉJaDWÑ'AAxrÍž=›øøx’’’Z:A­bpçιqã………ÄÇÇãç燙™‹/néð„'ÐÂ;þ/¹7(,-$þZ<~›ü034cñXÑ'Ah9/æ3}z,Ñôìù/¿ü+§Nå´tX‚ ýôSþüóOødžÆZ|ŸÀ*ÞÞÞx{{·tBBBZ:ŒG’·«7Þ®¢O6¶Q!„Œ}R¨™\.§²RñÓZ¸¹ý@·nlß>¤¥C¡²RÎ[oý™™.«VõÆÀ@±HÕ’%½HHÈ!4ô~=½Vñ¯ ¹gŸ}–¥K—ròäÉzý_XXȸqãèÔ©Ÿ}öYFØ8þþûo–.]JZZšZ[cTVVÎçŸΔ)SX¿~=ŽŽŽ”––’ššÊÖ­[ '<<œÝ»wãææÖ µP%>%A„VÃØX‡#GFñùçÿjéPZ¥„„®^½Ë³Ï>¥hkK;ö)ÒÓ‹ˆ‰IoÁAx’ØÚÚÒµkWbcë7{Cñ…_%•••MYãZ»v-½{÷fïÞ½«•~óæÍ¼óÎ;¼óÎ;¸ººb``€™™={ödÅŠ6Cäµk5wAAx¸ØØlÜÜ,ª½çæfy/Ímž}ö©fK„'—§§' õÊcllÌ‘#Gš(¢Æ·bÅ ÔJ›’’¦M›èÑ£S¦L©5]`` _}õU#EXb(‚ 4‰ÈÈ«¬\y;;>ù¤?~x¤¤\*+ÁÝÝ’yóºÑ§¦3sfœ2ÿ… Ï£¯¯]cÙ5©¨óóÏ·øî»ë\¾œTZÎÓO3yrG^~¹ZZªûfæå•òñÇ—8t(ŒŒbÚ´ÑÃÉÉ”ñãÛ3fL;¶lùKÿ©S98;ïwÝ._ö­3—=TT¨7­ÕÚZŸ¸¸çêL—’"ÀÞÞ°Ú{UÇ®]“ªuNA„ÆàææÆÖ­[©¬¬DKëñœd¨î`Û¶mTVV2zô臦333ãÂ… Mcb(‚ 4‰éÓ;3}zgÆ‹!5µ€÷ß?KX˜]»š“œ|—ÐÐÓLú+_=//kFŽt 9y3fÄqèPý§4;–Áœ9 „„tgýzO*+áÇo°té922Šxë­Ê´ÙÙÅLštŒ’’J–-ëE¿~6U°}{* üÁÝ»eÊø5}&Pb}I¥ŠmkŒŒª|WËÏ/«öž BSéС¥¥¥ddd`mmÍÆÙ¿?iiièëëÓ§Oüüü6lÚÚÚ|˜ÌÌLLMMñôôä7ÞÀÕÕU%¯‹‹ jÕÇÚÚš¸¸¸ºÖ">> Z ­ ‚ M®¨¨‚%Kzáêj(¦.®^Ý—1cóþûgùñÇÆÙ{³_?kfÌè¢|ýòËN$%Ý᫯’™=»+&&нðð?¹y³õë½1ÂP<øÿçòÈnµPµÂœDRGBA„FôÔSŠéçééélذŸ~ú‰>úˆ¾}ûRPP@dd$|ûí·ôëב#G’œœÌŒ38tèPµòΞ=‹‘‘‘òõ† X·nóçÏW³²²˜4i%%%¬\¹///nݺÅ;ï¼Ã /¼À–-[ðððP–qùòå&n…dg+¦í›››7Û95ñxÞ³AZCCmå°Š‹‹¶¶\¼˜OVV×1Âo¿\í¸««9åår®^½«<öË/i jW-ý_ü‹iÓœOS05Õ °°¼Ú{EEŠo¹ÍÌt›5&AžlU ¥òÛo¿Ñ¹sg „ÖÖÖ¼õÖ[8::jTöþýû‰ˆˆàßÿþ73fÌPçÖ­[„……1lØ0ŒŒŒèܹ3ÈårÞ{ï½F©›&êÚòaܸq8;;+î¯Wsj”;~~~øùù5FQ‚ÐèÖ­[ǺuëZ: á Ö®]»–¡ÅÕ60±²Ò'+«˜œœlmÕæ¢&RiŸžÌ/¿¤‘‘QÄÝ»ªÓ"«I¥¥•H¥eèëkclÜtbšâ™@''S22Šª½WuÌÑÑ´Q ‚ 4Œ¡¡âyäÂÂB†Ê·ß~ËÂ… ™4innnÊ) ê8}ú´òÿ“’’xóÍ7ñôôdéÒ¥*é<ˆ––#F¨Î"±±±¡sçΜ?žŒŒ åÃædggGvv6wîÜ©ñýü€sçÎ1a„æ ME£|ú=÷ÜstéҥÐÌÖ­[G÷îÝ9rdK‡"<¡öíÛ'@^^ryõ©Š99%€b0ØP¯¿GBÂm/îɸqí°´ÔG"/¿LfÙ²sÊogõô´05ÕE*-C&+¯s ¨éôʦx&°k6l€óçó˜0¡ƒÊ{çÏç0`€u£ŸW¡6EEŠ/ ŒŒŒx÷Ýwñðð`×®]¼ôÒKôíÛžyæµËLKK#006n܈®î?_$–––*ŸìÕ«W­e¤¦¦*ÍùL §§'çÏŸçÂ… 6LãršZ£ _yå&OžÜE B£Z·n#GŽdíÚµ-Šð„ºyófK‡Ð*””Tpöl.îîm”Ç._¾KVV1®®æ ¾ XQ!çÔ©ll xå§Î]}ªgžiË÷ß_çèÑ ÆŒQ¤Cÿþ6,\¨Ø¼×ÐP‡²²Ê9ò ÿïÿuæÅ;6(fMxyYãìlÊO?Ýâ¿ÿí®\=µ¢BNtôM >¼ù¿ùáÉu÷®bª½™™‰___|}})//'..ŽÈÈHfÍšEXX¯½öZåÉd2(//ç³Ï>ÃÂBuK===ÌÌÌÉdüùçŸhk×½Šts>øâ‹/òõ×_ͬY³´ÒµÅ3‚ B“35Õeõê?9}:—¢¢ λÃüù‰èêj±xqÏ—¯­-¡_?k²³‹ù쳫ܹSJqqqqÙDE]«–>$¤íÚ±lÙ9ŽÉ@&+'#£ˆwÞI";»˜iÓþHvïnÁµk¤§qút.ÿ-ÃÓÓªÁ1kBKKÂÊ•}ÈÏ/cÁ‚?ÈÎ.&/¯”wßM"5µ€åË{×k[ A„†ªšššâááAJJ ::: 4ˆO?ý‰D¢Ö¾€Ì™3‡””>þøc•g gÏž­œV:jÔ(***8uêTµ26mÚÄàÁƒÕ¾óרœœœ äêÕ«lÞ¼¹Öt••Õ¿ lNb(‚ 49##mÞyÇõë/Ò¿ÿ~üýO`f¦Ë–-ƒðòRL_Çúõ^øû;òÍ7) °Ÿað{÷ ž¾=¯¼r__Å!66ìÙ3œ1cÚñÞ{IôéÍĉGÉÏ/eÛ¶!´mûÏÊt‹)¶µx晃ÅóöÛîÊgóZB¯^–ìØ1©´Œ‘#2dÈϤ¦5˜Áƒm[,.AžL×®]C[[ÅJË‹/æÒ¥K”––’““ÃæÍ›‘Ëå 0 Î²–-[ÆÑ£GY¶lýúõ«5]HH:t`Á‚;v ©TJ^^[·neÆ „††ªu‡°©Ì;—€€ÂÃà åüùóQ\\ÌåË—ùä“O D[[77·‰Q"¯k ›º Hؾ}»˜*´J‰„àà`1Th1“&M`ÇŽMR~ff&j¥uvvbýúLž{N½ôeܸrsK8yòáç ‚ M£)ÿ‡‡‡Ãþýû¹xñ"QQQÄÇÇ+÷ ìØ±#“'OfÒ¤IH$’jûŒ?žiÓ¦áëûðg©?ùäå:yyylܸ‘ƒ’žžŽ™™ݺu# €6jcbbxýõ×k|oùò嵎ƒ.\¸À–-[øý÷ßÉÊÊ¢¢¢ œ0`Ï?ÿ¼ÆëØÙÙabb¢Q^`‡Ø'PAA\¸pnݺŠ Òßÿý‡¦¯Ú'°&µ¯‰……aaa„……©¬†FŒQ¯ØªtïÞ+V4AD '¦ƒ ‚ ‚ ‚Po………$&&âååÕÒ¡õ$î ‚ M"2ò*+WžW¾vvÞͬY.Ì›×­^å8;ï®3MP+AA]ë£ ‚ ¹#GŽPZZŠOK‡"ÔS³ ðððÀÅÅ…èèèæ>}£{Ü꣩Gµ Êððø—6DGOlépìq«¦D;´Ó§wfúôÎ .'9¹å6ÓAj·ÿ~ @›6mêN,´*Í>T.—SYYÙâË¢6–Ç­>cbb Aƒj|ïQmEÜŠŸÇÁãVŸ‡11‰`Р­5¾÷$µƒ ‚ ´„ëׯsèÐ!åh£¥Ùïššš*÷yûlK‡"h@, #‚ ‚ ‚Ú®_¿ÎîÝ»™1cF‹îÇ'h®Y{öìA"‘(Š‹‹UÞÏÉÉaÞ¼y899¡§§‡¥¥%£GæÈ‘#ÕÊÊÎÎ&((ˆŽ;¢§§‡ 'NäÌ™3µž/55???,,,°²²bìØ±5Þ½ºté¾¾¾˜››cdd„——ÑÑÑøøø(Ëš>}z­õÑô¼êÔ©.ê´axx¸2¶víÚ‘€··7¦¦¦1|øpNžÂÊjcÇî"%%¯ZÙ—.åâë»sóõ­ÃËk ÑÑ)øø|§,kúôµÖGÓóªS§º¨Ó†áá ÊØÚµû”„„ ¼½¿ÃÔ4#£u ¾“'oUK/“•qòä-e^Õv]5m3AAxÜÉårÞ~ûm™8Q}: ÀØØÆŒCBB·oßV¦ #//ˆˆFŽ©,;** ™L¦QÝÔ9¯¦uÒ´ «Èd26nܨŒ¯oß¾lÙ²…ÒÒRæÌ™£Q}“ºmÖ”BCOpíZ>ëÖ`ìX'ÌÌôèÒÅ’¨¨±88˜t˜ÌÌÂ{isýú]Ö¬ÎsÏuÂÄD—îÝ­Ù¶mì½kw¸ÆsLŸîÆ€m16ÖÅÇçiÆŒéDBB·o)Ó„… /¯„ˆˆŒù´²ì¨¨1ÈdeÕMójZ'MÛ°ŠLVÆÆ>ÊøúöµgË–1”–V0gNŒFõmhLê¶™ ‚ <î®^½ÊÒ¥Kyå•WèÙ³gK‡#4@«îÞ­Øj̘1*Çõõõñöö¦¨¨ˆŠ©ƒZZZŒ;V%­½½=Ý»wçÔ©Sܼy³Ú9<==U^·o߀´´îjüüóÏŒ5J%­ ]»j¶•:çÕ´N÷«OV166¦W¯^*ÇÜÜÜhÛ¶-III¤§§«QÃÆ Ôk³¦´{÷UÆŒé¤r\__oï•sàÀ5@1uPKKÂØ±N*iííéÞÝšS§2¹ySZížž*¯Û·7 -­@yìçŸç5ÊQ%­]»j¶³:çÕ´N÷«OV16Ö¥W/[•cnnÖ´mkBRR6ééš}Ó˜@½6A„ÇY~~>3fÌÀÅÅ…7ß|³¥Ã¨UÜÃ-))!??LMM«½ogg(¦V¥077¯µÌ«W¯Ò®];•c¦×ÓÓPnkPRR‚T*ÅÀÀ“jeZZZÖ£Võ;¯¦uªRŸ6¼Ÿ……EåÙÚÚ’––FVV5¦©‹¦1AÝmÖ”JJ*ÈÏ/ÁÀ@SS½jïÛÙŠ©…UiÌÍ××ZæÕ«wh×Nµ ÌÍUËÖÓSe££Óx7×õõµ15ÕC*-¥  ¬Ú@0+«ú´ÅÆ:oCëTŸ6¼_NN1r9<ØÕªêjkk¤þ6Š©Êvv†´kgDÿþÖ b««9 dd1hÐÏÕÊøä“þŒùÏkÖüÉÆ—UÒ8àƒ““êïóÔÔ||âînÉ÷ß«1>7·(*ª¨ñ===-Mð÷wä?ÿé¤òﻦ| ˜šêÒ¶­}úX1iÒÓôèQó—šuiHì XXèѧ³f¹Ð³§¥ÆyÆ‹áâÅ|µãž;·ÿ÷.õªÇýêÓ_jӘ״6»wÃÍͲÞù–/ïÍÿþ—òȵiK)//gæÌ™XXX°~½êÀ%%%Ìœ9“óçÏó¿ÿýkkëŠRhL­f:è„ Ø·oŸÊñ’’>Œ¡¡¡rпĉ)//WYÁ²ÊªU«èСƒrÑ’ú=Zñ_5-´JFFW®\ѨLu4FêÓ†UŠ‹‹IHHP9vîÜ9ÒÒÒpwwW¹ hddDii©òµ‹‹ ›7onô˜Zƒ :°oß_*ÇKJ*8|øo u”S4'NìByy¥Ê –UV­Š§C‡M”—kvsôhÅ9ª¦…VÉÈqåÊÊTGcÔ©>mX¥¸¸œ„Õ)ÈçÎÝ&-­ww•»€FFº”–þóÇ€‹ËçlÞ|¶ÑcšWaaÞÞ¿P÷bXš9Òää øø¨7ÃaúôÎ$'OÀÕµöY-­²RÎ\À×÷zzZ¬_ïEBÂNžÍš5}qp0"<üOž>†óç¿7ìí INžÀºuŠ©÷]HNž 2˜7¯ÉÉðò²fùòÞ$'O¨6عó:IIwHN®yªø¹sÏóã#ðñQ\‡ää \¼8žï¿†‰‰.ロĜ¯3ߥK¾üòËH‚ƒ]II‘âë{„ þ ¨¨þŸý ‰ý?Ʋl™§Oç2yò1NžÌjPž ú)Ó%'OÀß_ñûè‹/þ¥r|̘곂ԩhÖ_jӘ״¦SS]òyyý3HyÔÚ´¥,Z´ˆ¸¸8öïßÏü¡<^\\̬Y³HJJâ믿¦[·n-¥Ð˜ZÍ pÅŠ8::Ltt4R©”+W®0eÊÒÓÓ‰ˆˆPÞž^±bNNN¼öÚküôÓOäçç“››Ë¦M›X²d áááß!\¾|9mÚ´!88˜ƒRPPÀùóç™6mZ“Þ±jŒ:Õ§ «˜››Fll,2™ŒÄÄD¦NŠžž*i{÷îÍ•+W¸qã±±±üõ×_ <¸Ñcj V¬Œ££9ÁÁ1DG§ •–råʦL‰&=½€ˆˆØÙ)Ó:9YðÚk?óÓO×ÈÏ/!7·˜M›’X²$–ððaß!\¾|0mÚÃÁƒ×)((ãüùÛL›ös“Þ±jŒ:Õ§ «˜›ëv‚ØØ4d²23˜:uzzÚDDŒPIÛ»·W®ÜáÆ )±±iüõW>ƒ?Õè1 ÍK.—SY)SmëaíÚ?Ù¼ù ï¼ãÎ;ï¸ãêjŽ6ffºôìiÉŠvi²óWVÊÙ½ûoºuS ”«þpV—®®®þ6á5 IDAT®æ¬[牖–„/¾H&/¯ô¡y´µ%X[ëãããÀ–-ƒxýõ.|ÿýu‚ƒ×£ë44vSS]žy¦-aan”—ËYºô\“ä©K}êÑýE“kÚÚ´¶6mJ6làûï¿§²²mmm/^Lee%YYYøûû“””ÄW_}E=Z:T¡µÈ>{÷îÀÐЩS§Š) øûû„••^^^Èd2:D@@€²[[[âããñõõeöìÙÊE[víÚÅÞ½{™„ÍÇtíú»v]eï^_&Ov¹WÇôjç[´è×{u gÕªø{uü†±cwàädAlìðô´ç…öbg·‘ÀÀ_ 퇣£9ÚÚÿü®­>šœWÝ:=L}Ú°Š‰‰.}äÍ{ïý†ƒÃ' ² KKbb&3th{•´ëÖ §gO\]¿ÀÏïG""FàêjÕ(×U“6‡±±GŽŒâóÏÿÕÒ¡<RR¤lÚt•=,˜2¥ö»Ø]:íµ!~ý5 -–-ó`Ïž¿©¨¨ÿ ÞÁÁ}**ä\º¤þ>€7ß쎻»%‡gýðEÔî×X±`ÀÕ«w¹{W½•›Ìóã#xöÙ¶jåˆðT™¶¨n=š»¿4äšœ>=V9´>¢¢3yòÓe›6¶èèhÖ­[‡üÞ·'\¹r…O?ý” &PXXÈ÷ß››[ G*4¶f}&°j/¸ÚXYY±víZÖ®][gYmÚ´aõêÕ¬^½ºÖ4ýû÷¯õ|‹£K—.ÊU-ï—žž®2úaõÑä¼êÔ©.õiÃ*®®®Õ¦¿ÖÄÅÅ…ãÇW;Þ×UÓkÕU{ÁÕÆÊʵk‡³víð:ËjÓÆ€Õ«‡±zõ°ZÓôïïPëùG—.–ìÞí[íxzº kkCåë‡ÕG“óªS§ºÔ§ «¸ºZñóÏ/Ô™ÎÅ¥ Ç¿Xíxc\WM¯• 4·mÛR©¬”3zôÃï‚›™éráÂóMÃŽ×ù÷¿ŸÆÍÍ’®]͹t)Ÿ£G3ñö®ÿ왪_÷õýcY"—_vbþüD¾ýö/Æ«yµ5Vì÷L©û¼—&yj£n=Z¢¿hrMýüŽ3yòÓüûßO×ë\ï¾›„ŽŽ„E‹¾uAknÓÆOHHÍŸi_|ñ}úôáÃ?ÄÌ̬™#šC«™ÚZdddЦMÊÊT¿ÉKMM%%%…#FÔ’S_F†Œ6m6PV¦úü]jj>))yŒÑ¡…"„ºEF^ÅÙy7Îλ8ð'Ξ½ÃK/ýJÏž?УÇüç?'8u*G™þàÁtezgçÝ””¨·ÄýòòJY¶ì,ÇÀÕu/þÄË/ÿÊ÷ß_§¸¸zyÙÙÅÅãáMß¾ûˆåï¿ëÞŠdïÞ*±:;ï&;»ø¡y\\öTËSÛOÿþûÕªo|¼bïÔ–zf1/¯”˜˜ &NTü.ú÷¿ÿݱ#µÞe¥¥’]Œ‰‰;×ÿÎ>}Ûæœ>KyyÝ_6fìqqÙtîlVí9¶ÆÌS“úÔ£¹ûKC¯iKiÍmÚX’““ ¨qÕu¹\ŽT*¥GbøƒÀܹs‡ÀÀ@nܸAaa!ñññøùùaffÆâÅ‹[:<á sçN1¿p㆔ÂÂ2âãÓñó‹ÆÌLÅ‹´tx‚P«ûU¹{·Œ÷ß?˼yÝøý÷1lÝ:˜üü2¦NýUùGT}myPvv1¾¾GˆŽ¾ÅâÅ=ILÃÞ½#è×φ þ`ëÖê{@.]zŽiÓœùí·Ñ|ô‘ · N¨¡tUcǶãµ×œ4È–S§Æœ<ƒ‡æ¹|Ù·Ö…,ü‰‹{Ní:˜›·Ìrí?þx6´k§x–Ö×·::ŽÉ '§D­2ÊËå\¼˜Ïܹ‰èèhñ01©ÿD¥ªö¯¨“›[÷¹#ö‚‚r~ù%åËÏÝ»U÷”9Mò4V=š«¿Ôçš:”^íKû¿ªMMù¶lù«Î|êhmÚ˜²²²xùå—)))©uë­ŠŠŠÿÏÞ‡UY­}ÿnDËYsÈ!ÔÊYÏq¨Ž§á¤9djÆÉ¡¯ ûFŒ(ÿ£U”wZ2225j‰‰‰…ÚI¿$K”¤b«çV4=zô G¶£Ì„††^w¸T<=zÔ¥GÛwÚghh[BCÛÚ: )c..öVÓ¥«âãã̱cÉÄÇgâãsã‘´›Ù¼ù"]»Z'||PðF3-[V·øìë›C\\^^ÖÉÝo¿¥0zô>êÖu+•uG%åëëLBBæu“Öüíô¹ÂàÁÛ­®ÛÛç-F»Ùf(¹¹&ìþòkã_MæÌ™Tî¿ßrävÈzlÞ|‘U«ÎòÄþ¶×³g-Þyçââ2™=ûëן§~}wž{®Ù c¹ž„„¼š*U T¯îtú¥{açžÂ(j?Júór#eñÚBEz§¥-77‡qãÆqüøñB%€999¬]»–G}TÃ܆”ŠˆH™«Zµà©RÞÞNÄÇgrùrV‰’Àìì\RR®áäd›[áÿióð°¬kg——ôÛý«Ws;v?~~.ìØÇÚµ¿3p`áG­¿.ôΓ5j8jJhÛ¶Þ=šÄÏ?'Ó­[Ñ7bquÍëjêw´¼zõšÕt¾U«Î’––C‹ßxÏÉ“W‰ŠJ$(¨z×óùú:3o^k޹Â{ï wï;е#ä÷ßçM+®N•*7Þi¥´b·µ¢ö£¤?/…UÒïtåÊ.ÅzîÌ™AźïÏ*ê;- _|1•ýû÷`4Z¯ÎßýÞh4b0ðõõ¥eË–4mÚ»¿þHn JED¤Ì%%]Ãd²Þ1}·÷GnnÆÑÑRR®‘––S¤D°°ìíaÙ²Îxx80tèv¦Oÿ‘ ÜiÙ²pÿ¹=~Üz—ß’zðÁ|üño¬[wžq㋼ËdƒîœÁèÑ{±·78%ïùç[`0À¿þµ‡M›.’””Ñh">>“O?=ÍÌ™‡yþù–橲«WŸ³Ø8ã¯7®JPPuRR®±iÓÅBõÃ`€É“›ðÚk?ßpÃÜ\—/gÃ?ÿ¹‹wß=ÁСõyýõ6#1Ï>û=þþ_qþ|z™Æn ÅíGq^ z—7S”ï´"(ïwZL&þþþ@23gdñâÅ<õÔSôèуڵ wž¦Üž ¦žÄm0X¹r%Æ +­˜DJÁ``Ò¤I7<¨^¤, :€/¿ü²LÚ‹‹#5µàœ¿ò÷oÄ¢EqôéS¸ú¥¥ÿ­$&f±lYgfÍú‰~HÄh4Ѳ¥Ï>ÛÔ¼`DD cÇZîœ7p`æÏoSèg%%eóßÿ'"â"±±T¯îD»v5˜4© õë»søð† ÙnqϸqLžÜÿ¯,Ê»w÷càÀ:VGF<ÿ| ‚ƒ½­Ú)j¬¥í矓X¾ü4û÷'Ÿ‰ÑhÂÓÓ:t¨É€uÌ[ÞtïDsèP"ññ˜LyStƒƒ«óøãþæ‘‘ØØ :wÞh¾/(ȋի»Y´uþ|ݺm¶(«QÉ´´22,GÖúö­ÍÂ…–C=øàN¾ÿ>»ïöæ—_’¬î3ÀÝÝ;îp¡M› VfÍ<­úõÏî"**‘ìOBBf©ÆÞ°¡›7÷´zf¾-þWä{ò­^}–)S~°*ÿé§\½š]ì~üyiQ^þü.ó7*¨ÅýN¯ç7ÚÒ¯_íë>¯°ëg+â;-O¶úû_ÊŽ¯¯/îîî7¯X°/•ÊmMI Øš’À?’ÀÝ»{—ës¥r»zõ;~Ë€µ™=»µ­Ã¹¥é]Þú”Þ~Jš–ÊÊù±cÇòì³Ï–FS"¥îÝwßeÕªU¶C*©Ë—/`ë0D*“ ^~9 w÷*<óLS[‡sKÓ»¹=iwP¹í¥§·$=]óÞÅVl{0°HetéR&¿ÿžÎ'Ÿt¦fÍ’o:T™é]ŠÜžJ% |ûí·5T*$ƒÁ<èçSle(Û:ÛXºô$aaGÍŸýý¿2¯¿+Š¿®Õ+È„ M˜0á®"Ç(·§š5‹}ÖœXÒ»¹=i$PDDÊÄÈ‘ŒYò©°ÑуK!ɧ#"DDDDDD*%""""""•ˆ’@‘JDI ˆˆˆˆˆH%¢$PDDDDD¤QX…‡‡c00 Ô®­sîDDDDD¤ä”–¡k׮ѲeK:wî\¬ûCCC1™L•rd"""""RYéœÀ2–››Knn®­Ã)wK÷/%l[¾î¾ì¿ÛÆ•®'W=ÉÖè­<ÓåžêøTuŽÅcþŽù:c®‘Vw¶bbç‰Ü]ûn«ºÆ\#Ë-cÍÑ5œ¾|š*öUhîל±ÆÒ©~§ÛÏÉÍá“CŸðõѯ9xggšû5gDëtoÔƒÁPª}‘ÛƒF˃ƒGeÏž=¶ED¤Ül?’è©Ñ4ñmbëPJÝWG¿bkôÖ։Љb財¸9º±iÔ&vŒÛAjuxøÓ‡Ùuz—E]c®‘±kÆ2wÛ\†µÆ®§v±î_ë¨]­6­|ŒuÇÖYµŸq-ƒ+F°úÈj^èù&àëǾÆÕÁ•'W=ÉÉK'KµÏ""rûP(""Rñ©ñÌŠœÅ æƒ®['×”ËÔõS©ê\•¹}çâã‹/ßÿ2õª×cÚ·ÓÈ6f›ë¯ýy-[£·òpðÃüóîâéâIíjµ™Ó{ «7äÅM/r5óªÅ3¶…ñk¯|4ü#ÚÖi‹sgî¨z¯õ{ G{Ç2뿈ˆÜú”–‘uëÖ™7u1 dffZ\¿|ù2“'O¦Q£F8::âååEïÞ½Ù¶mÛuÛüõ×_éÛ·/ÕªUÃÕÕ•îÝ»³{÷í5½JD¤¢›þítzßÕ›{Ü{Ý:?ÈÉK'y ðœ«8›Ëííìéפ1Wc,F7ŸØ @ˆˆE;ƒž=IÎLfãñæòKi—øüðç l6n5,îqqpá—ÿBãšKÔO¹}) ,#ýúõÃd21pà@«k±±±´mÛ–+V°páB.]ºÄþýûquu¥G,]ºÔêžÔÔTÆÇôéÓ¹pá;wî$11‘vìØQ]©ô¾Œú’“—N2-dÚ ëí=»€µZX]ká×¢ä%uÞ®ÞVõkº×àûóߛ˶DoÁ˜käî;­×ŠˆˆÜŒ6†±iÓ¦qúôi>ûì3úõë@ÕªUY±b 6d„ ôïß___ó=ÉÉÉÌž=›{î¹€6mÚ°|ùrZ¶lÉĉ9|ø°Mú""RX§.ŸbÎÖ9|þ{rŒ9ÝÄä.“-6IÉ6fóÖž·Øðë.&_Ä©Šw×¾›á­†Ó­a7ìíìoúœÀys…Š©†[ ö=½¯PucSb™³mÿü_ÜÝnX÷ÔåSøyøY]ó«šWv:ñ´¹¬ºku.§_¶ªŸ˜žÀù¤ó沟c šK5fo™Í†_7p)í>î>ô èÉ„Îðtñ,T¿DD¤òQh_}õ}ûöµ(wrr¢G|òÉ'lÚ´‰GyÄ|ÍÙÙ™öíÛ[ÔoÑ¢wÜqQQQÄÄÄP«V­²^D¤Ò¯¥óâæyæÞghâÛ„S—N1íÛiŒøl?ø1íê´`ææ™|ûë·¼9èMÚÔiCjV*K,eôªÑ|úð§´¯Ûþ&O‚ãÏ/“>LÛ0þMúÓ¡^‡›ÖMÉJÀÕÑÕêš«C^YrF²¹ìÞ÷²5z+[£·Ò¹å±B;Û @FN†¹,>5€©¦Ò±^G>ûÇgTs®Æ–è-ügÓøîôw¬yt NE쥈ˆTšZβ²²HNNÆÙÙëœóGÿbcc-ʽ½½ ÜêÛÇÇ€øøø2ˆVD¤t¤d¥Ú5”»kß«ƒ+-jµ`~ÿù\3^ã•ÈWÌõöœÙC@:7èŒsgj¸Õ`j÷©4¨ÞÀ†ÑÃʨ•œ¹r†©!SKÜ– €Åßé†Ñܯ9+~\Áò–“”‘ÄÅ«™¹y&q©qk ³r²p²wb^¿yÔñ¬CUçª n>˜±Ær:ñ4ïx¿Ä±ŠˆÈíII`9srr¢Zµjdff’’’bu=..ï{??Ë)DÉÉÉVuáä/?©ˆœª8T+È¢,°f >î>‹;fÙêÚ¨+?\øç¿}žÃ›§uF<Q¨QÀ²pñêE¶†1·ï\\\ uOþ\zvºÕµŒky#zU«šËœª8ñéßòXÛÇXº)÷¼y_öwL&ozÀb˜üÆNõ;ao°œ"›¿¹Ìw§¿+lED¤’ÑtP5ž&¾MðqϛҼ ؼ³f»*tnЙwþþƒmÑ×?Gµ¢iW·þ5üùö×oÍë÷Œ¹FÖ[G­ªµèÞ¨»¹üJÆæX%u©Y©|ñÓôkÒÏbä°[£nøºû²ó·íæó{5îU]‘Û€’À2f4±³³£JËAWooo,XÀo¿ýFvv6IIIlܸ‘?  Åd2a2™8þs¸’~…‰k'ræÊ®f^åë£_óöÞ· ªÄ£m-Ç‹ˆÈ­DÓAKYóæÍY·nõë×àÂ… Ô­[×* ¹Ý-Ý¿”°maøºû2½ÇtæmŸÇO"×”KËZ-YþÐr‹sW<¼‚‡W0qíD.^Í;'°¾W}f÷žÍЖCmÕ 36Íà³?3Î_xoƒ{ùpø‡æòVw´âË~Éüóéõ^/rss º#ˆÿXaÑg//>~ðc–}¿Œ?}”ÌêzÕ¥o“¾<Ñî ‹AóuiØ…ÏG|΢]‹üÑ`2s2©ëY—QíGñä=Oxˆˆ€Ád2™JÔ€ÁÀÊ•+6lXiÅtKkÞ¼9]»veîܹlݺ•Aƒ1gΦL™bëÐ*¥¼(Vúù[Ê!ðå—_–Iëqqq¤¦¦ª®¿#-Š£OŸÂÕ‘Ûƒþþ¿ýøúúâîî^ÜÛ¿ÔðT){ÿý÷™2e µjÕÂÏÏÙ³gjë°DDDDDDM-uíÛ·gûöí¶CDDDDD¤@ÚFDDDDD¤Q("""""R‰( ©D”ŠˆˆˆˆˆT"JEDDDDD*‘RÙôã?fïÞ½¥Ñ”HXèçSl%ŠË—kÛ:³RI7lØÀ† J£)‘2°õÿÿˆØÆÉ“¶ADDDĬT’À•+W2lذÒhJ¤T -ZDŸ>}lŠTRãÇÇÝÝÝÖaˆˆˆˆ˜iM ˆˆˆˆˆH%¢$PDDDDD¤Q(""eîÔåSLøz÷¼yóñóÇ?ÌŸàÁæ:K÷/5—wZÜɆÑJ¾ïϘ?ûÏí/ðúºcëÌßYÓך–st7¯,‹?ÆÈ/G¼ ˜–ó[òÈçpèü¡R}ÆöSÛ鹤'óKµ]‘|JED¤LO>ÏeC8uùoýí-?s˜¨ÉQ¼9èMì ü34²ýH¢§FÓÄ·‰ £•?Ûrr ž.ž´©Ó¦Àëýšô#zj4ëw,çÈòÜ,¾ÒÅÐeCqstcÓ¨Mì·ƒ:Õêðð§³ëô®·.éO®z’ðá\J¿T ‹ˆLI ˆˆ”©ÏNJV 3ï›Ië;[ãâà‚›£½ïêÍ¡I¥;‚"¥+òd$ÝuÃÞ`oëP Tžñåšr™º~*U«2·ï\|Ü}ðrñâåû_¦^õzLûvÙÆì=cÁδ¾³5k_‹›ƒ[)E."bMI ˆˆ”©3‰g¸Ëç.Û"Erêò)N'ž¦g@O[‡R òŽïàï9yé$>€sgs¹½=ýšô#æj [£KvÑœ>sÓaL…MºEäö¡$PDDÊTNnŽöŽ6ŽDŠ"òd$ŽöŽtiØÅÖ¡¨¼ãÛ{v/-jµ°ºÖ¯…Eâúsr)"R–Jåœ@)Xjj*ÁÁÁ²nÝ:[‡#"R®"ND0vÍXóçfáÍ ¬÷·c^ßy7m/1=‘Å»³%z q)qx8yжN[žîü4M|šøÌíc·3oÛ<¾;ýövößÌŒž3¨ëY×\Çh2²ñ×|õÇŽ“’•B=¯z Æ#w?b^·ø×¶wŒÝÁÜmsÙ~j;ŽUéÚ°+ÿéõR²Rx9âeö݇›“ÝuçùÏãæh9½¯0ý¹™Àys…ª[íûžÞW¨º·Þ®C½¸:¸šËN]>ÅkÛ_cß¹+¾¿ IDAT}s4ómFh·Ðë¶q³>^ͼJë7Z[ÜóL—gxªãSMFçþ±1ʰxðâã+Î÷þ×þäsh\³1ã;ç£ï?bÏ™= m9”9}æpêò)ü<ü¬úéW5¯ìtâi x?‡""åII` ¹»»ÓªU+ví²^n2™ÈÍÍ%77ב‰ˆØV¯Æ½ˆž͘Õcˆ<ÉÏ¡?ãTÅÉ|ýJÆÚ.l[¨¶âSãúÉP²r²ëF»ºí¸|7½ÈeCXþÐr‚ï ¶zæ¬ÈYŒ¾g4sûÎå‡ ?0zÕh&­ÄšGטÛÞqj×N$´k(‹-"×”Ë7¿|ìÈYĦÄ2µûÔû3{ëlÆvËܾsÙt|¡ëBIÊHÂÁÞgºFOæ__ü‹]§w9:ÒœÙ쉞ÍÐO†òÈÝпiÿëÆWœï½ þ\H¾À¬ÈYüÿ+ŽöŽüòï_ÌõS²Rpuü#)ΗŸ('g$;‘ò¤é eÈÃÃS§N±aÃ[‡""rK ßÎ…ä L™N·FÝpup% F .Äd2ñRÄKÞ7,hÁwãâàB§úèÖ¨?ÅüÄ•Œ+õÚ×mϘc¨æ\ //sÒñÑÁHÍJ-°í¡-‡Òܯ9.. j>ˆ€ìømO´{‚&>Mpupå¡à‡¨]­6;~ÛQ*ý)/[£·bÂD€æ²ðá\ͼʌ^3èÜ 3®®Ö d^ßyħÆ[µQ”>Žl7’\S.ïïߢCç—GŸ&}nߟæ{/¨?5X0`×2Šô¾L˜0 ÅŽGD¤<) ‘ /âDv;BüC,Êkº×$ FGc›ku_ËZ-->תZ €¸”8sYˆŸ>ü©Õ½M|š“›ÃÉK' Œé¯kÃ|=|hî×Ü¢ÜÏÃÏây%éOy‰8A ¿ø¸û˜Ëvþ¶Àj ž» ª7(°Âö±cýŽ4õmÊš£kHÊH2×}oÿ{<Þöq«R ŠïÏ ó½_¯?Õ]«Ó°zC«6=œ<HÏN·º–Ÿ4Vu®ZìxDDÊS¹$ L˜0úõëãèèHÍš5ùÛßþÆáÇÍu:wîŒÁ`0ÿ1b={ö´(OJJ*R»ù._¾ÌäÉ“iÔ¨NNNÔ®]›ž={òÑG‘‘‘Á¬Y³ÌÏèܹ³ù¾7šËkÔ¨a.Ç`0––ÆîÝ»ÍuªTÉ›aûõ×_[Ä™™yÝxñòò¢wïÞlÛ¶Í\ç¯mœ9s†áÇãé鉷·7ýúõãÔ©S…þ~ýõW DµjÕpuu¥]»v¬[·Îâ9Òê¹Çgذax{{›Ë.]ºTè~÷Ý j×®ÍÁƒéÑ£¸ººÒ½{wvïÞ]è~‹È­-Û˜MJV ¹¦\Z-he>œ<ÿÏÏq?ìBúgùÿqÏ—¿9MþÈ äMó{ã»7èó~Z¿ÑÚÜnض0€ëŽ ¹;º[|6`ÀÞ΋r;ƒ¹¦?–”¤?8/Ðêþëý¹çÍ{nÚ^~÷œÙc±ëf¶1›´ì4œª8Y¬Ìçíæmñ¹8}|¢Ýd\Ë`ù˼õu?Ȱ a7ï¯nö½ß¬?Õ\ªY•5ònP`r{5¯¬ d¸0ñˆˆ”·2_C‡ÈÌÌäƒ> K—.œ={–§žzŠ:°uëV:tèÀ®]»ˆŠŠ¢S§Nøûû³dÉÖ¯_O×®]™4i>ø`‘Ûˆ¥cÇŽdddðÞ{ïѵkWÒÓÓyï½÷xüñÇIJJâ…^à…^ÀÝÝòõx“ÉD›6m8s挹<44”ÐÐÐë® 4h&“‰Aƒ±víZ‹kùñ¤§§³téRºtéBll,Ó¦M£G¼û9ÒªI“&1eÊ>øàöîÝË€x衇8pàÀM¿‡èèh:t耛›«V­¢C‡œ={–I“&ñÓO?áääd‘¨þù¹£GfæÌ™|ôÑG9r„N:©Å}·­Zµ"::š‰'2þ|Z¶lɱcÇxâ‰' aóæÍtíÚõ¦}‘[›£½#U«’–•Æ/ÏýRêÛç?¹êIþ~=gпi¼\¼0 |xðC^Ýòj©ÿG½4ûSkwŸÙMfN¦E’åh£iÙi¤_K·Jœþ}:III,\¸^½z™ß׊+HKK»á½S¦L¡[·n¸ººÒ¾}{rrr¨Q£F±ûQiii¼õÖ[æ~·iÓ†åË—“ÍĉKÔ¶ˆÜ:î¼£ÉÈ¡óÖ‡Ë/Ù·„{ߺ£©p»dþ™17¯Íšî5y´Í£Tw­n^ו•“Uⸯ§¬úS"OFRdzk6¶(ïÚ0ï—nùÓ(ó]ɸbÞóÏŠÚG{ƒ=µyŒËé—yÿÀû¬;¶ŽGÛ>y›ÄÇ[ïH'"CĉüÃü‰< äøì7ÏðøÊÇÍÇC¬9²ÿ0Ƭƒ˜?Ç⎗‡˜?¯ï|oWoÖ<º†^½˜¹y&m¶å¾÷îcÓ‰M¼ó÷wèsWÞ/¶zf~þaþ,Ù—·Ô ÿýµj‹-â¡à‡XvhÞì@··»ñÕѯÐl~þ(ƒ>tݶÄÁ?ÌŸïN‡1׈˜?ïì}‡ïϘ?~?@Ƶ üÃüY´kQ‘úSÞ~¼ð#‰é‰&Yu=ëòå?¿¤å-ÿõxÚ-lÇsëŸã‘»!Ð'lc6þaþLÛ0 (^ÝÝx°Õƒ˜L&žh÷D¡ã+Î÷þ×þ´_Ôž6¾ÀØc©]­6övÖIx«;Zñå?¿$%+…^ïõ¢Ë[]8“x†ÿXÁ½ î-Q<·ëiþºÉ¸Ô8óÏ“˜?_D}Qàw&"Reº&ÐÉÉ OOORSSÉÈÈ0ošr3Û·o'99™-Z0nÜ8‚‚‚ *v»ÕªU#99™”””›&‚vvvdgg[•ÿyCš?»ÞvÐ×ãäätÃxò§OúùYF[\NNNxxx’’BjjªU"XœDª8ý(ê»…¼gL&“Õ{Î9?‘Š'ÿ¬´‚|8üÃ"·çéâÉôÓ™Þcúuë´º£ÕuŸy½r//^¹ßzÆ äf¦¢–CáúSÞ"OFâéâI›:m ¼Þ zÞþÛÛVåÝý žYœ>Né>…)ݧ)¾â|ïpýþ$¤%àåRð/H›ú6åýaïx­¤ñ„ø‡ÜðºˆHi)óé ûÛßÈÉÉ)p7ǹsçR·n]rrrÌe§OŸæ‰'ž`õêÕüïÿÃÅÅ…’PìvÎ[À]Ðy}ÁÁÁ<óÌ3æÏµjÕâÂ… ubcc9wÎú \WWW‹Ä&00wß}·ÀºùòãY¿~½EyVV[¶lÁÅÅÅjÚfIåO…ÍŸš/66–'N«Í¢ö£¨ï 33“ƒZ”9r„‹/D­ZµŠ»ˆˆX‹<I׆]m2µ0J3¾„Ôî~ãnrrs,ÊÏ'ŸçlâYmò""·µ2OçÌ™C£Fø×¿þÅ·ß~Krr2‰‰‰,Y²„—_~™ððpóH^jj*ƒ â7Þ iÓ¦Ô¯_ŸU«VqñâE† µk׊Õîœ9shРÏ<ó ëׯ'%%…óçÏ3nÜ8bbb,’Àû/²xñbRSS9uê'N¼îˆSëÖ­9qâ¿ÿþ;{÷îå·ß~ãÞ{ï-°îŸcoР“&Mbݺu¤¤¤pâÄ ~øabbbX¸p¡y:ei™={6Õ«WgÒ¤IDDDššÊÑ£GyüñÇ‹=êXÔ~õÝBÞ(îôéÓÙ»w/iii|ÿý÷Œ1GGG.\X¬¸ED¤`OF0¿ÿ|[‡q]¥_rf2/l|˜«1d\Ë êb×NÄÃÙƒñÆ—ÚsDD*š2O}||8pàƒ büøñæHÖ¬YÃÚµk6,ïüŸñãÇãááÁO?ýÄÀ9zô(—.]¢[·n\»v;wâèèȬY³ŠÔ.äMI|8 .¤I“&æ³öò‡pqq1Ÿ}˜ÏC=Ä„ Ìñ¤¥¥ɨQyëöíÛgÕÆ /¼äMC;w.7šù× rþªQ£FìÝ»—¶mÛ2dÈ|}}=z4Ó¦M£AƒØÛÿñ[Õ‚ž[д×Âö£¸ïÀÝÝ7ß|“—^z‰ZµjÑ¥K¼¼¼Øºu«Ž‡‘b«é^“e.ãjæUúô!Z¿ÑšÑ«GSß«>k]CÏ:¶QD¤ÌL&S‰@2 ¬\¹Ò"é’[Ë]wÝEFFgÏžµu(ZµjÅ¥K—,v-*ƒÁÀ¢E‹èÓÇ6›,ˆŒ?www¾üòË2i?..ŽÔÔÔBÕõ÷oÄ¢EqôéS¸ú""r{Ðßÿ·__ß7|,¤/Ë|$P*†ØØXªW¯n1¥àÌ™3œ:uŠE&"""""åII`%råÊFÍï¿ÿNzz:`øðáT­Z•3fØ:<)J+ ???"##IJJ2¯«0`8p€† Ú:D³ððp QQQ\¸pƒÁ`^ )"""""%S¦çJÅÒ£Gzôèaë0n*44”ÐÐЛW‘"ÓH ˆˆˆˆˆH%¢$PDDDDD¤Q("""""R‰( ©D´1ŒˆˆÜrÖ[Ǥµ“p´wä—ÿb㈠âDc׌5þ9ôgœª8Ù0"k&“‰.üÀÿ~þ»ÏìæÂÕ x8yРz~˜M`0Ìõ“3“Yl=~ÝÀ±¸cdædâçáGÐAŒj7Š&¾MlØ).ŠˆH™I¿–N%=µjT©¶Û¯I?¢§FÓ±~ÇRm·$z5îEôÔhzô´u(×õ[âo _>œ3Wΰxðb?s˜Õ¬æŽªwðì7϶-Ì¢~ØÖ0^Úü=z²qäF¾Ÿø=a}Âø%î}<ˆˆ6ꉈˆ”D©Œ>œáÇ—FS"¥n„ L˜0ÁÖaH%6dÈ[‡`3&“‰\S.¹¹¹¶¥Ô´˜ß‚¦¾MY9b¥­C){ƒ=‹-¢šs5êxÖa^ßy|wú;>9ô Ïv}G{Gsý¡ACy¬ÍcæÏmë´eAÿôÿ°?s·Í¥Wã^åÝ)¡'+WÞšÿJå°wï^7nŒ···­C‘J¬N:¶ÁfÜÝØ6f›­Ãÿ×È»ǧ·*w°w –G-ŽÅ#+'ËœÎé3§Àvšø6Á¹Š3ç’Îa2™,¦ŠˆHÅWâ$pذa¥‡H™ÐϧˆÈÍ]ͼʙ+ghêÛ'›Öϸ–AfN&wùÜ¥PDä¤aDD¤LÜl£”¤Œ$þ»ç¿DžŒ$æj ®Ž®´º£O¶’{êÝcÑ֩˧xmûkì;·c®‘f¾ÍízÝg'¦'²x÷b¶Do!.%'ÚÖiËÓŸ¦‰OÞf&K÷/5¯óu÷åí¿¿ÍkÛ_#êb¹¦\‚îbr—ÉÜ]ûn«ú‡ÎÂ?Ì{;{Ž?g=º––À¼myÓ,ííì ¾3˜=gP׳n¡Þ_à¼@Œ¹ÆBÕ­áVƒ}Oï+TÝ?KÍJåxÂqÂw„SÓ­&áý u߆_70®ã¸"?SDDlÏ`2™L¶BDDŠ'..ŽÔÔÔBÕõ÷oÄ¢EqôéS¸ú¥eÌê1DžŒ´HRúÉP2s2™Ý{6íê´#!-ðál>±™Wx•aAy#ùg¯œeðǃq©âÂܾsi]»5¿'ýΜ­s8“x†øÔx‹ÝAãSãúÉP²r²ëF»ºí¸|7½HTLËZNðÁæúý?ìÏ™Ä3ÜåsÓC¦s—Ï]D_ŠfÚ·Ó8uù?ø1íê´3׿ٚÀüþö èÉè{Fs—Ï]¾x˜±kÆÒ°zCÖ<º¦,^s‘ýwÏY°síë¶ç?½þC`ÍÀ›Þw)íý>èGˆ³{Ï.ë0E¤Øêï);¾¾¾¸»»÷ö/µ;¨ˆˆ”»ðáœO>Ï =_ Ä?w'wToÀ‚ ¨éV“—#^æRÚ%sÝ«™W™ÑktÆÕÁ•ÀšÌë;øÔøÛ¾|é!ÓéÖ¨®®Ô`áÀ…˜L&^ŠxÉꞌk¼|ÿËߌ‹ƒ -jµ`~ÿù\3^ã•ÈWŠÕÇaAÃÌíu¨×ÿ~Šù‰+WŠÕ^i{ªãSû÷16ÚD#ïF øp‹w/¾á=II<¾òqÚ×mÏ+÷hˆˆí) ‘r·ùÄfº7ênQîhïHÇúÉÌÉä»Óß°ó·tiØÅ¢®» ª7°j;âDv;BüC,Êkº×$ FGc›kqÍÅÁŶ²"â¯ç l6ùýçœq"‚Ø”X\\òÎ ¼çI:Ôë`qßéÄÓÌÛ>½g÷’cÌ¡qÍÆ<Ýéi>üþCöœÙÀЖC™Óg޹í·ö¼EÄÉb®ÆPÕ¹*M}›2ªý(«õný?ìObZ"ËZƬÈYüpጹFZÖjɳ]Ÿ5Ÿ˜ï·Ë¿ñüÆç9{OOÆtÃ?‚ÿÁ዇²lˆEÝqÇ1¹Ëdó™‚ùºûwç½!ïóÍ_jV*ßÿ– Ç6p:ñ4q©q8Ø9Ðл!>ÀcmÃ¹Š³¹þ¨U£Ø½í-ªGVi:¨H§#"n?%="BI ˆÈ-¬"'·Šü$p÷ø‚wŹÕéïÿÛÎ ‘BS("""""R‰( ‘Jiéþ¥ø‡ùs,îq©qø‡ùóúÎ×m–ˆˆH™Óî ""R)l?’‘íGÚ: ‘r§‘@‘JDI ˆˆˆˆˆH%¢$PDDDDD¤Q("""""R‰( ©D”ŠˆˆˆˆˆT"JEDDDDD*%""""""•ˆ’@‘ &ýZ:=–ô`ÔªQ¶EDDnCJEDD*“ÉD®)—ÜÜ\«k-æ·`øòá6ˆJDDnUl€ˆˆˆXrstcÛ˜m¶CDDnS ©D4(""e"âDc׌5Þå8öûëÆ8/c®±PñÖp«Á¾§÷ݰΘÕcˆ<Yìx^Ìø¯Æ›?ôNf÷žÍôo§›ëüú3NUœXº)aÛÂ8tþþaþØÛÙsü¹ãæú‰é‰,Þ½˜-Ñ[ˆK‰ÃÃɃ¶uÚòtç§iâÓ¤PïBDDno“Éd²u""R”ŠˆH¹ªT`¹§‹'Ýuc÷™Ý$¤&y2’ ;‚Ñz™9™l:¾ €¤Œ$öŸÛÏý÷—[ÜeïõÞIqEœˆÀÎ`gžŽš¯¦{Mjp4ö(±)±¥úL¹õhM ˆˆ” —ë^Ü|0'"øæØ7ü«í¿øúè× n>˜õ:¶-Œÿýò?þÖâo¬;¶ŽîþÝqup-Ô3K{M`iÇ{£wRTÙÆlR²Rhµ ÕuëI<ƒŸ‡_©=WDDn=JEDÄæº7ꎧ‹'_ùŠAÍqøâa^Œsg:×ïÌ®3»ˆOgÍ‘5<ÛõÙB·ûç Sn…x À¡ÀrG{Gª:W%-+_žûå†戈Hå¦é ""bsöômÒ—cñǘ¿c>=zâ\Å€AÍaÌ5²ð»…ħÆÓ¡^GkÛx]\¸f¼fþÜëÝ^|~øsî¼£Éh±ãj¾%û–pï[÷b4ndTDDn_JED¤BÔl+£VZl¤Ò«q/ÜÝXµ’Íbg¨ÿtÙ*Þf~Í8xš˜«1üxáGÎ]9GÛ:míJ]ϺLY?…¿í %+…¤Œ$>ûñ3ï^Ì´i!M‘²qøâa†,bþÜ,¼ÑS£ ¬|g0õ½ê“m̦]værç*Î<ø«¬¶é® Uœx óNþz¾b³ðf l6ùýçðBx~ãóÜ÷Þ}xºxòŸûþC#ïFXrÄ¥ IDATx»z³æÑ5¼µç-fnžIÌÕª:W¥©oSÞùû;tªß©ô_„ˆˆÜrtN ˆÈ-ìV8'PDDlKÿß~tN ˆˆˆˆˆˆš’@‘JDI ˆˆˆˆˆH%¢$PDDDDD¤Q("""""R‰( ©D”ŠˆˆˆˆˆT"JEDDDDD*%""""""•ˆ’@‘JDI ˆˆˆˆˆH%¢$PDDDDD¤Q(""6q"ÿ0󟬜,[‡Td뎭3Çßôµ¦¶Çlû©íô\Ò“Ày¶EDD* %""b½÷"zj4=zÚ:”bëפÑS£éX¿£­Cà\Ò9ž\õ$á;¹”~ÉÖለH¥$PDDÊT‹ù-¾|¸­Ã¨ì\@ë;[³öñµ¸9¸Ù:© ªØ:)súÌÁ¹Š³­Ã‘ N#"""· %€""R ‘2±tÿR¶…pèü!üÃü°·³çøsÇ­ê'¤%0oÛ<¾;ýövößÌŒž3¨ëYÈÛHfìš±æú›GmfÁw Ø{v/IIœx//ÓY¼{1[¢·—‡‡“më´åéÎOÓħ‰¹ £ÉÈÆ_7òEÔO8NJV õ¼ê1,hÜývËß•žº|Š×¶¿Æ¾sû0æiæÛŒÐn¡E~7ó1æ U·†[ ö=½¯ÈϹ%""R&F¶ÉÈö#i1¿M}›²rÄÊÖŸ9‹Ñ÷Œfnß¹¾x˜±kÆ2ií$Ö<ºøc#™1«Çy2’6¾ÀÄ{'2¯ïMÈÉÍá䥓沿í KÃ.u}Ü}hP½Áº&""R¡h:¨ˆˆTNŸó×ã™0XßÅÁŪ,Û˜MJV ­´ºî³Î$žÁÏÔ¬Þ?ð>›Ol&6%–«™W-êe\Ë0·›–†S'\\­ÚóvóætâéôÎ’ÖŠˆˆ-) ‘2eÀPnÏr´w¤ªsUÒ²Òøå¹_°7Øß°þ“«žäàï™Ñsý›öÇËÅ ƒÁÀ‡?äÕ-¯šPG{GÜÝHËN#ýZºU"˜¿1MaiM ˆˆØ’¦ƒŠˆH™rqpášñšùs¯w{ñùáÏËìy÷ÞÑdäÐùCV×–ì[½oÝ‹ÑdĘ›W§¦{Mmó(Õ]«c0ä%¬Y9YV÷vmØøcZh¾+WŠ4 (""bkJED¤L5ókÆéÄÓÄ\áÇ ?rîÊ9ÚÖi[fÏ íJ]ϺLY?…¿í %+…¤Œ$>ûñ3ï^Ì´iØì±·³§}Ýö$¤&ðÞþ÷¸’q…ÌœLöÝÇŠWX·Û-OO^‰x…]§w‘~-èKÑLþßä§ˆŠˆˆTT“ÉTðb ©ðâââHMM½yE Y³†¼újƒ¥”qT–~»üÏo|ž£±GñtñdL‡1ü#ø¾x˜!ˆXÔ×q“»L6Ÿ)˜¯»wžêø”U}€è©ÑVeII¼µç-"NFs5†ªÎUiêÛ”QíGÑ©~'s½+Wx}çël?µ„Ô<]<éÚ°+5ÝkòÎÞwhîל¯û€Ó‰§™·}{Ïî%ǘCãšyºÓÓ|øý‡ì9³€¡-‡2§Ïœ’½´bÚ½•'W=YàµÙ½g3,hX9G$"¶–™i yó†¼ûn,!!i¶GJ‰¯¯/îîîŽýK%""·°¢$;ÖcÔ¨d¼hë×DDäÖ[…ÎëñÅhÝ:ÓÖáH))i¨é ""•„¿ÿ5Nœp´u""RŽòÿÞoØ0ÛÆ‘HE¢$PD¤’Îdï^ëcDDäöµw¯ \ÃÓ3×Ö¡H¢$PD¤’ Içüù*9âdëPDD¤äæÂ¦MnZ (V”ŠˆTAA™d³|y5[‡"""å`çNWÎs`ÈòÝL*>%""•Ș1I|ýµÇŽi4PDävf4˜7Ï›4´P,) ©D H¡uëLfάö†¹}}úiUNŸv`ڴ˶E* %""•ˆÁÏ?‰tfÙ2M ¹:åÀoTç‰'’iÐàš­Ã‘ HI ˆH%Ó¼y“''2{v ¶nuµu8""RŠ’’ì=ºõê]ã©§mŽTPJED*¡1c®0hP “'û¥õ""·ƒÔT;ÆŒ©ENŽ¥KcpqѼ)˜’@‘JjÖ¬Ú´ÉdĈ;Ù¸ÑÝÖለH œ?_…aÃîäÜ9Þ{/oo£­C’ LI ˆH%åà`bÉ’†½ÊÓOûòÆÕÉÊ2Ø:,)¢íÛ]ùûßkcoobõêóÚ TnJI ˆH%foÿùÏ%^z)>¨ÆÔáÿØ»ïø¨ªüÿã¯dÒ{Hé„^¦àŠD`W@ì(*EE ~• Mª(_quÅUYëþV×]‘€B\¤7©ÒHHŸ´ÉüþÈ7Ña$!É$™÷óñàñpΜ{î眹NòÉ9çÞ=m–ˆˆTÀ™3Î<ñD&NlBß¾FÖ­»H“&E¶Kê'[ ""¶wß}™Ü~{.K–4bêÔÆDDä3n\·Ý–CãÆú…BD¤®0رÃ/¿ôbófOÚ¶-äã/Ò§ÑÖ¡I=â`6ëIQ""õURRÙÙÙÕÚæÁƒ®|ø¡/ß~ë‰ÑèH“&E´lYˆŸ_1ú‘!"b ÙÙŽ$&:ïLq±Ý»ç1~|#Fä`0è»ÙÞ„„„àåUåýüŸ+ ©Çj" ,•ŸïÀÏ?»qø°+çÏ;“‘áHqqœJ¤Æ:ô Í›OÀ×·›­C©//3EDDЧ‘À@ÝøÅžÝh¨å ""R.WW3ýúé×OKŒ¤þ }ŸçžëÆðá7Ù:›ÓaDDDDDD숒@;¢$PDDDDDÄŽ( ±#JEDDDDD숒@;¢$PDDDDDÄŽ( ±#JEDDDDD숓­‘ªóõõÅÓÓÓÖaˆÔ ¾¾¾„„„Ø: ‘ææævCÇ+ ©Çnô‡€ˆ=qssÃËËËÖaˆˆØœ–ƒŠˆˆˆˆˆØ%""""""vDI ˆˆˆˆˆˆQ("""""bG”ŠˆˆˆˆˆØ%""""""vDI ˆˆˆˆˆˆQ("""""bG”ŠˆˆˆˆˆØ%""""""vDI ˆˆˆˆˆˆQ("""""bG”ŠˆˆˆˆˆØ%""""""vDI ˆˆˆˆˆˆQ("""""bG”ŠˆˆˆˆˆØ%""""""vDI ˆˆˆˆˆˆQ("""""bG”ŠˆˆˆˆˆØ%""""""vDI ˆˆˆ4(·Þz+ÿÆgQf0¸pá‚£©}JEDD¤A?~üuë888pË-·Ð´iÓZˆHD¤nQ(""" ÊØ±c1 ׬ãèèÈÃ?\K‰ˆÔ-N¶@DDª.))‰ììl[‡!RçÜrË-ìܹ“ÉtÕ:Ý»wçÔ©Sµ•ˆHõ ÁËË«ÊÇk&PDDDœQ£FQ\\\î{ƒàççWËQ‰ˆÔ JEDD¤Á:t(ÎÎÎå¾g6›9rd-G$"Rw( ‘ÇÓÓ“Ûn» ''ë/ÎÎÎÜvÛm6ˆJD¤nP(""" ÒÝwßmµ'ÐÉɉaÆáîîn£¨DDlOI ˆˆˆ4Hƒ ÂÃÃ⬨¨ˆ»ï¾ÛF‰ˆÔ JEDD¤ArvvæÎ;ï´ØèååEÿþým•ˆˆí) ‘+**ŠÂÂB $)1bÄUo#"b/”ŠˆˆHƒuóÍ7ãïï@aa!QQQ6ŽHDÄö”ŠˆˆHƒe0ÊѨQ#zõêeãˆDDlÏú¾É"""ÿÇl†óçùõW'23 ˜Í¶ŽH¤òÆеë8¾ýÖÇÖáˆT‰§g1&BC pqÑ—±Ü³Y?ÒEDꫤ¤$²³³«µM“ ¶nõ䫯¼Ø¾ÝƒŒ -‘† ðÐÝֈ܃ÁLy –ÃèÑYøúÛ:$±¼¼¼ªzøçJEDê±êN¿ûΓE‹8wΙ>}ŒÜv[.ݺåѲe!¾¾&•J=µ~ýzFeë0Dª,'Ç‘ÄD‡»²m››6yR\ìÀã§óøã—qwׯôöDI ˆˆ«®$ðìYg^z)ô **›iÓÒhÙ²°"‘š“ãÈ'Ÿø°zµ?>>ÅÌ{‰aÃrl–Ô’Mõ7];·c‡;üc3RS |úé^{-I  ˆHçéYÌã§³yó9úö52ujc–/o¤½ÛR!JEDìØºu><úh Èåÿ¸@Ïžy¶IDD*!0ÐÄâÅÉ,Y’Ì{ïùñôÓÉËs°uXRÇ) ±S_}åÅܹAL™’Îk¯%áêª?‹ˆÔWück×^$.ÎèèŠu¿¹%""vèàAWfÏæÑGÓyæ™4ôGc‘z¯W¯<Þ~;-[ÕÖለH5êÙ3 Rxûm¾ýÖÓÖáH¥$PDÄά\é£#¼öZ²ù "ÒýñYüéOY,\ˆÑ¨¥bM?þEDìȉ.|ö™Ï=—Š——6Œˆˆ4TÏ=—JV–#ï¾ëoëP¤R("bG–/oD§NŒ•eëPDêŸ~ú‰ÐÐP‹ï¿ÿ¾­Ã)W@€‰)S.óî»~ddèW~±¤+BDÄN$&:±u«''¦ëF0"UЧONž`ôèѤ§§—ÕÿñÇ7n[¶l¡¸¸˜¿ýío¬_¿ž¤¤$NŸ>];"R <rss‰ŠŠâܹsäææb¾â·â´´4.\¸À©S§ÊÊ[¶lYößžžž’˜˜X=±%"""RgY•¥¤¤X¼^ºt)K—.µªWPPÀùóç eâĉü÷¿ÿàî»ï&&&¢¢¢8zô(@YRxùòe‹v\]]-^{xxT½C""u€’@©³\\\¬Ê,^OŸ>©S§^µ3gΔ%€3f̰¸iÌ•®|///Ïâunnî5c©ë´'PDDDê•&MšQöúøñãVuî¿ÿþ²;y^¹ìó÷3{VÇ6mÚ”¶mÛ–½>wî\ÙçääpéÒ¥ª/"R( ‘zgÑ¢ExyyðŸÿü‡/¿ü’¬¬,RSSY±bà¹çž E‹´hÑ¢ìØO?ý£ÑÈ'Ÿ|ÂÅ‹Ëmÿ¥—^*»Ì¿ÿýovíÚEff&¯¿þzÙ cDDê+%"""R'|ýõׄ††b4ËÊžzê)BCC9þ¼EÝÈÈHþõ¯ñÀмysæÎKß¾}¹çž{HNNæóÏ?§{÷î Þyçú÷ï··7k׮堸¸˜ððð²6—/_ÎÀèÛ·/ëÖ­cðàÁ8::òàƒ2jÔ(‚ƒƒiÓ¦MÙ1 .dذa59,""ÕÎÁ|å ©7’’’ÈÎήPÝÐж¬Z•Äðá«/"" ƒ¾ÿž²ÕUð¹fEDDDDD숒@;¢$PDDDDDÄŽ( ±#JEDDDDD숒@;¢$PDDDDDÄŽ( ±#JEDDDDD숒@;¢$PDDDDDÄŽ( ±#N¶@DDDDjÞ×_ŸçÙgwàââÈ‘##m‘ˆØŠfED¤Æä暸í¶<þøN[‡R-ZÊSŸûXŸc¯ #F4ãäÉÑôídëPDÄÆ”ŠˆH1›Í—ükZÊSŸûXŸc©MZ*""5ÆÓӉ￿ÃÖaT›†ÖŸòÔç>ÖçØEDj“fEDDDDDìˆfED¤FlÚ”ÀäÉqe¯¾WWCÙëôôV¯þ…Í›HH0âááD×®xâ‰0n¾ÙrÏRZZ>o¾yŒï¾K )Ɉ··3½zòôÓ퉈ð-÷|[·céÒÃlßžŒÁà@·nˆ‰éL‹žmŸ:•Ųe‡‰‹K¡¨ÈL»v><õT8|pŠ;R3¦%C†4)·?U=oEút=ááë1™*¶ô10Е¸¸á׬SŸÙµ¬^}Œ•+УGëÖ `Û¶$}t~~.üüó]寵qãí¬\y”;SHO/`Ñ¢îÌž½Ç*öš¾.^}µ{…ûýûñKLÌ£Q#Ú¶õfäÈæÜuW3¶oO¶ˆ56ö–,9ÄÖ­‰¸¸80„_ìLVV!óæ$..OOgaΜÎxzZþZ÷û>˜Lб£/ÑÑ+¯ˆ4\f³Y çEDꩤ¤$²³³+T74´-«V%1|xÅêW—I“âØ¼9Á"¡HIÉc̘XòòL,ZÔÞ½ƒHIÉcùòÃlÜx‘… »3vlK’“Kêæç›X¼¸;½{qáB/½´Ÿýû/óÑGýéÖ­‘Õùn¿½ O>ÙŽöí}Ù³'•'ŸŒ£];¾øbPYݳgs=ú{ÜÝ ,YÒƒîݸp!‡ rôhÙÙ…VwP,¯?•=oeûTÛnô3«¨ÈÈÒ¡ƒ_YXjÔ¨ï9>·, ¼2®Þ½™6-‚Îý8~<‹±cc‰‹Ž¿¿Kµ|>U¹.®§tüòó‹Y¸°+}úa4šX·î +WaΜH&LµˆõŽ;nbòäpÚ¶õæÛo/ý3†àììÈ´i´léņ 爉ÙÇ„ m™3§ó5ûðë¯9¼úêAΜÉ!9Ù¨»ƒÚ[}ÿKÍ ÁËË«ª‡®å ""Rë–/?Âùó¹ÌÛ™!CšàååDëÖ^¬\Ù‹  7æÍÛÏ¥KùÿW÷0.ä2{v$ƒ5ÆÃÃ@X˜o¼Ñ ³ÙÌ+¯ì/÷cǶ¤[·F¸»è×/˜AƒB8pà2—/ü.ŽÃdfÓ™þýƒËÚ^¹²'F£©J}«èy«Ò'[ªÌgVÓž|²}úâîîD—.þ;6 — k«ë¢tübbJÆÏÓÓ‰À@W¦N gÀ€r3¦%:ùáîn`Ԩ愅ù›Äc…዇‡ñã[Ó¬™±±ÉWœÏºáá>,]Úƒädc•ú " ‡’@©u7^`ðàÆå..ŽôíD^ž‰íÛ“€’¥€ŽŽ ÒÄ¢nPaa>:”Nb¢õ/µ;[Τ5iâ@RÒou·m+9Ç€–q4jäJ›6Uû kEÎ[Õ>ÙRe>³šÖ¥‹•µÕuQ:~Z'|ýkß²YÀß‹Œ´ìgHˆ:Y.nÜØÝ"~¸z‚ƒÝhݺʳ"Ò@hO ˆˆÔª‚‚b²² qu5Xía ,ùE7%%¯¬.@×®_]µÍ3g²iÜØÝ¢ÌÛÛ²m—’¥¥› ŠÉÉ)ÂÕÕ€‡‡+ùú:W¼S•¸¯e"öLI ˆˆÔ*G¼½ÉÊ*$'§Èê—âK—J‰  7\\ññq&'§ˆ#GFb08TkžžNää‘›k²úe95µf–6VgŸŽU‘]]e>³Êptt °°Øª<3³°êÁÞ š¸.®7~Õíz}(½™ŽˆØ/-‘Z7lØM|ÿ}¢EyAA1;v¤àæfàÖ[K–ÍÝqGSL&3»w§ZµóÎ;ǹõÖÿTx6ìJ¥KóJ—ΕJIɫљ’šìSM©ÌgVQÁÁnVË^SRò¸x1÷Æ‚½A5q]”ŽßÖ­‰VïEEmaáƒUj÷j®Ö‡Ë— ˆÏ©Ös‰Hý£$PDDj]ttš5ó`Á‚lÙ’@NNññÙLŸ¾‹””Õ”Ê|fÕ¿0ÉÉyüío§ÉÍ5qî\óç  ríT·š¸.JÇoáƒ|ÿ}"99E$&yé¥ý¤¤ä1aBÛïÃÉ“Y̘±«Ü%¢"b_ôˆ‘z¬.?"âÊ糌ٜ+z¥ÏL;ƦMIL4âîîD×®þ<ñD;n¹Åò™séé¼õVIÝ„#>>.tèàËã‡Ñ¯_0ûö]æž{¶Z7eJ83ft 4ôK‹òÁƒóî»·ŸÍÒ¥‡Ø¹³äYj><÷\'^ý¤sð`Ô5ûóàƒm«tÞŠô©¶UçgVYY…¼úêA¶nM"3³Nü˜3'’˜˜}:””Ü tèЛ¬ÆàäÉÑ×½ªŸOE¯‹Ê¸rü5r¥wï@ž}6‚V­¼®z Ú„Ñ£-Ë££;гg ÷޻͢ü™g"xæ™öV}(}ÖáÓO·çý÷OVùY‡R?é Ï>"BI ˆH=V—“ÀúnذÍä器¶í[‡"uˆ® ©ôýßðè9"""U”’’Gÿ¢¨Èòï¡çÏçpölv•f·¤þÓu!" ’@±kÌ»—„#Fcû÷§1mÚÏx{;óÔSímžØˆ® iÈôˆ±[AAn¬]ÛŸ>:ÍøñÛIJ2âëëL¿~Á¬\Ù“æÍ=lb½så>»òü~ßZ]T™ë¢!ôWDì’@±k}ûÑ·¯–÷U—ß߬¥>«èuÑPú+"öEËAEDDDDD숒@;¢$PDDDDDÄŽ( ±#JEDDDDD숒@;¢$PDDDDDÄŽè9""" ÔÑ£¬Xq„Ý»S1™ŠéÚµÓ¦EУG@­¶m2™ùâ‹s|úi<çÎåP\l¦ysOî¹§%÷ÞÛ ggÇZ­/"bïô­(""Òíß™1cbñôtâÛoo'6ö4oîÉ}÷m燒kµíÿùŸÝÌšµ‡¾}ƒøöÛÛÙ²ewÝÕ”W^ÙÏÔ©ÿ­õú""öNI ˆˆØÈÈ2nÜ6[‡Q㊋ͼðÂ||œY²¤;ÁÁnøû»0o^WZ¶ôbÖ¬=×JÛ¿þšË† ¿Ò¡ƒ/ÑÑ pÅÏÏ…'žhGÿþÁlÙ’À—k­¾ˆˆ( ipvíJåĉLþð‡¦¸¹ÊÊ FŒhJB‚‘-[j¥í„„\BC}¬ÚjÓÆ€‹sk­¾ˆˆ( ipvîL 2ÒÏê½ÈHÿÿ«s©VÚnÓÆ''Nʲªútî[kõEDD7†‘d2™ùÏ.ð÷¿Ÿåر ²²ŠhÙÒ“±c[žl}a IDATñÐCmptt`Íš,^|€7þüç›Y¶ì0û÷§Q\ ]ºø3cF‡²›ŽÜHýÝ»S ý(™½:vlT¥b-uêTË–&..…¢"3íÚùðÔSá|ðÁ)vì(I”ÆŒiÉ«¯v¿æ…‡¯Çd2Wh<]‰‹~Ýz¥ QãÆîVï•–ÅÇ—Ô7n»w§–½?rdsV¬èÉCýPÖ€={Fàãã\©¶Kcž5+’E‹²|ùa}4GGþþ÷3üøc2O?AëÖ^µV_DD”ŠˆH ŠMdÚ´]DGwdÕª^ÃW_ýÊ‚IL4ò ˜81Œ‰ÈŠÚ™3ÙÌŸ€Ù³#ißÞ—“'3™5k/<ð~ØÞ½«\?2òŸtèàǺuª+ÀÙ³9Œ‹»»7ßìC÷î\¸Ã‚ùå—L\\9rdd…ƨ4 ­NYY…xxXÿ˜/-ËÈ(©³nÝŽÍ`ìØXZµòbÁ‚n¬YÓ—ñã·1aB(#F4«RÛ¥~¸-ÁÁn,\x·ß>€¿¿ ‹uc̘VVíÔt}{§å ""R£úô dÒ¤vøúºàïïÂCµ%*ª|p’ìì"«úF£‰yóºÒ­[#ÜÝ DFú³bEO ‹™?ÿÀ ׯŽX—/?Lff!11éß?aa>¬\Ù£ÑTùAªEfsɬ£Ãï&6#"|Yº´Gfý3f3Ì»—¾}ƒ,Àª´m6Ü9{™>}=F\Üpvíº‹™3;òÊ+˜6m—ÅLhM×%""Rƒ† iÂÇßjUáKQ‘™'2­Þsw7a¹‡+<܇à`7ŽÍ 99ï†êWG¬Û¶%0`@c‹º¹Ò¦í—z{;›[~’ àããlQ~çM™2%œo¿½È¸q±¤§2}z‡n{ýús¬[w†ûîkÄ m tÅßß…{ïmÅ“O¶ã_ÿ:ÏÚµ§j­¾ˆˆh9¨ˆˆÔ ¬¬BÞ{ï$7^$1ÑHf¦å2ÁòfÍ®LNJ¸’œœGjj>ÁÁnU®£±““S„««ƒU;¾¾åÇs55±'°mÛ’»b&&­Þ+-kÝÚÛê½éÓ;ðãÉìٓƲe=¬öAV¥íÒ„¹_¿`«ú}ûñÆG‰Mb„ÐZ©/""JED¤=ñD»v]"&¦3QQÍð÷wÅÁÞÿ$ ,[>ø{é酘͖K RSó’䮪õ¯¬S•X]\ñôt"'§ˆÜ\“U"XzÞŠª‰=7ßÈ›o¡CéŒÝÂâ½C‡Ò¸å–@«ã~ú)…ìì"ÂÃ}xñÅ}´oïk5ËZÙ¶Ë›1¼ÒïëÔt}ÑrP©!&“™Ý»S rãá‡ÛÒ¨‘kY–Ÿõ•çç›8p Í¢ìØ±L’“óˆˆðµšÕ«L}ww' ;÷С›øì³3•ŽuàÀà·Y¨R))yÄÇg_µoµ¥wï@BC½ù÷¿/ŸÿÛl«Édæë¯ÏÓ¤‰;ƒ[.e=>—^ØÃêÕ}xç›qs30iRiiù7Ôv×®%whݱ#Ù*ÎÒÇMtíÚ¨Öꋈˆ’@©!ƒ}ú’’’Ç»ïžàòåòòLÄÅ¥ðÉ'ñW=ÎÛÛ™+ްwoF£‰ƒ/3sæÏ8;;Óù†êwìèG||6 FöîMãܹzõ ¨t¬ÑÑñósaþüýüðC2¹¹&ŽÏäùç÷tý¥§5ÍÑÑÅ‹{‘QÈóÏï!%%ôô^~y?gÎd³hQw\]›ÁÌÍ51iR11] õ¦Y3OV¯îCR’‘©S¢¨È\å¶ï¿¿5­ZyññǧùðÃS¤¦æ“ž^À矟åwNâÆÄ‰aµV_DDÀÁ\ÞZ©’’’ÈήØÌShh[V­JbøðÚ›©º|¹€×^;ÂÖ­‰¤¤äáççÂÀ rãí·Щ“ë× *j iiù¬]ÛŸ °gO&“™Îý™9ó·çþ•ªlýÓ§³˜3g‡]ÆÏÏ…I“¹ÿþÖUŠ5>>›¥K±sg &DDøðÜsxýõ#8ÎÁƒQ5:¶qäH+Vf÷îTŠ‹ÍtéÒˆgŸ°——_ÞÏG.{ýÍ7·äF¯^ÿ²hkúôL^©¶KedðöÛÇÙ²%‘_ÍÁl†&MÜ80„©SÛèZ«õEì-¾ÿ¥f…„„àåUå‘}®$PD¤«ëI`e•&u?þxgÔ¯ Æm&/ÏĶmwØ: ~|ÿKåÜh¨å """•”’’Gÿ²X& pþ|gÏfsË-A6ŠLDDäú”ŠˆˆTAFFsçî%!ÁˆÑXÄþýiL›ö3ÞÞÎ<õT{[‡'""rUJEDÄæÖ¬9Ahè—=šARR¡¡_òÚkGª­~u rcíÚþdf2~üvºwÿO>G«Vž|ñÅ š7÷¨µXDDD*KÏ ››81¬Rwp¬lýšÐ·o}ûjÙ§ˆˆÔ?š ±#JEDDDDD숒@;¢$PDDDDDÄŽ( ±#JEDDDDD숒@;¢$PDDDDDÄŽèañ"""rUkÖœ`ñâC„„¸ñãwÚ8¢ò=šÁŠGؽ;“©˜®]1mZ=zT¹ÍÈÈb4š*TwÑ¢îŒÛ²N#"RJI ˆˆˆ\ÕĉaLœFTÔÒÒòmN¹öï¿Ìý÷oç¶Ûšðí··ãììÈò凹ï¾í¼÷^_ú÷®R»ÞÍÑ£DEmáöÛ›ðöÛ7—[ï¾û¶×‹cDDJi9¨ˆˆØÈÈ2nÜ6[‡!Õ¨¸ØÌ /ìÁÇÇ™%Kº솿¿ óæu¥eK/fÍÚCAA±­Ã©S4("""õÖ®]©œ8‘ÉCµÅÍÍPVn080bDSV­ú…-[øÃšÖX Ÿ|rkƒ:FD>ÍŠˆˆH½µsg ‘‘~VïEFúÿ_K5rî—_ÞÏ‚Ì1"b?4(""5Æd2óŸÿ\àï?˱cdeѲ¥'cǶ⡇ÚàèèXß|äϾ™e˳ÅÅÐ¥‹?3ft(»ÉÇÔß½;•ÐÐ/’Ù¢cÇFU*ÖR§Ne±lÙaââR(*2Ó®O=ΜbÇŽ’Äd̘–¼új÷ëŽÓ¦M LžWö:6ö–,9ÄÖ­‰¸¸80„_ìLVV!óæ$..OOgaΜÎxzþöã¼2ý(((æ­·ŽñÍ7¸x1WW=z0n\+ Á`°ìóïmØð+3gþlQ¶sç¹]õ˜ððõ˜LæëŽ@` +qqï[ïÔ©,7v·z¯´,>¾¤Î¸qÛØ½;µìý‘#›³bEOzè‡²Ï `Ïžøø8W(N‘úHI ˆˆÔ˜ØØD¦MÛEttGV­êEq1|õÕ¯,XpÄD#/¼Ð °¼ùÈ™3ÙÌŸ€Ù³#ißÞ—“'3™5k/<ð~ØÞ½«\?2òŸtèàǺuª+ÀÙ³9Œ‹»»7ßìC÷î\¸Ã‚ùå—L\\9rdd…ÇièÐ&œ<9šI“âØ¼9E‹2yr8K–ôàÛo/ý3éé8;;2}z-[öbÆsÄÄìÃÓÓ‰9s:W©/¿¼ÿû"ÿû¿½éÙ3€ìì"Ö¬9Á“Oîäão¥OŸÀ«Æøà$ÙÙEVõFóæu¥[·F¸»ˆŒôgÅŠž3¾õò¶ÊÖ¯ŽX—/?Lff!11éß?aa>¬\Ù³Â·í¿–1cZÒ©“îîFjNX˜±±I<öX¾xx?¾5Íšy›\å~ìØ‘BX˜7ýûãæf 0Е^èDëÖ^׌/3³‰wP\læ½÷úV(´³¹dÖÑáwš¾,]Úƒ£G3ˆŽþ³æÎÝKß¾AWMn¿½$Qÿý¿hsÍó×åcDľ) ‘3dH>þØúƾ™9q"Óê=ww¾eáá>»qôhÉÉy7T¿:bݶ- €[ÔmÔÈ•6m®@UDé^¶R!!%K,;u²ìgãÆî$%-Ê*Ó³gOsæìeß¾ËeK57mzÕYÀÓ§³øÓŸ¶âèèÀܹ¯¹d´6x{—,ÛÌÍ-ÿ €ÕÒÎ;ïlÊ”)á|ûíEÆ‹%=½éÓ;Ô|°""u„–ƒŠˆHÉÊ*ä½÷N²qãEdfZ¼_Þ¬ÙÕöb¸’œœGjj>ÁÁnU®£±““S„««ƒU;¾¾7¾—ÌËËòdzƒCÉþEwwËrGGŠ‹-÷ØUfÌ_~¹ ݺ5â‹/Îòàƒ?гg#ÆoͰa7YÅ•™YÄäÉ?Ѹ±;±±IlØð+#G6¯p¿jbO`Û¶Þ$&­Þ+-kÝÚÛê½éÓ;ðãÉìٓƲe=¬ö|VÄË/wiPLjˆýP(""5æ‰'âØµë11‰Šj†¿¿+ðþû'Y¸ð`Ùr½ßKO/Äl¶\šZò ò€×*׿²NUbuqqÄÓÓ‰œœ"rsMV‰`éym¥2cîà£F5gԨ晉‹KaÍšL™ò³gGò裡m °vm¼½3f+³gï¥uk/:wö¿2ŒrÕÄžÀ›oäÍ7áСtFnañÞ¡CéÜr‹õ¬æO?¥]Dx¸/¾¸öí}­f”ED*-‘a2™Ù½;•  7~¸-¹–%aùùWxw~¾‰Ò,ÊŽË$99ˆ_«Y½ÊÔwww¢°ð·sº‰Ï>;SéX ~[Z*%%øøì«ö­¦U¶ݺ}]vwM''ú÷æí·oÆÁ¾ÿ>Ѫ¾§§!!nxxxç›ñð00iR\…—ÜÖ„Þ½ õæßÿ¾@~þo³œ&“™¯¿>O“&î l¹l÷üù\^xa«W÷áwnÆÍ­¤ii¶MàEDj‹’@©ƒ}ú’’’Ç»ïžàòåòòLÄÅ¥ðÉ'ñW=ÎÛÛ™+ްwoF£‰ƒ/3sæÏ8;;Óù†êwìèG||6 FöîMãܹzõ ¨t¬ÑÑñósaþüýüðC2¹¹&ŽÏäùç÷\ó 5­*c³_~É   ˜ÔÔ|þò—ã˜ÍpË-A×>›¥K±sg &DDøðÜsxýõ#8ÎÁƒQ§}û.sÏ=[-ʦL gèÐ&ŒmYÝž=¹÷ÞmåÏ<Á3Ï´¯T?ŽÍà“Oâùï/qñ¢WWGZµòdìØÖŒÓøúëó<ûì.‹sÍ™I·nV1—>wÏŽÉ`ÅŠÃìÞJq±™.]ñì³×ÀË/ïç£N—½þæ›Û r£W¯Y´5}z¦N '2òŸVûV¯·W±.#öËßÿR³BBBðòªòÈ>W("RÕõ$°²J“º¼³Fê׆aÃ6“—gbÛ¶;lŠˆP?¾ÿ¥rn4 ÔrP‘JJIÉ£GY-<>‡³g³¯»”RDDÄ–”ŠˆˆTAFFsçî%!ÁˆÑXÄþýiL›ö3ÞÞÎ<õT{[‡'""rUzD„ˆˆØÜš5'X¼øPÙëÐÐ/™2%œ3Ê€weëW·  7Ö®íÏGfüøí$%ñõu¦_¿`V®ìIóæ±]Oé~>‘Ú =""õXCÛ(""ÕOßÿ öŠˆˆˆˆˆH…) ±#JEDDDDD숒@;¢$PDDDDDÄŽ( ±#JEDDDDD숒@;âdëDDDjÒ×_ŸçÙgwàââÈ‘##m‘ˆˆˆmi&PDD´#šqòähúö ²u("""u‚’@‘눌ü'ãÆm³u"""ÕBI ˆˆˆˆˆˆQ("""""bGtc©Qéé¬^ý ›7'˜˜G£F.´mëÍȑ͹ë®flßžÌäÉqeõccï`É’ClÝšˆ‹‹CxñÅÎde2oÞAââ’ñôtfðàæÌ錧§å²S§²X¶ì0qq)˜Lб£/ÑÑ«ûš5'X¼ø»w§ú%ƒ»vÝE÷î_[ÔŸ>½S§†c2™ __Vþ‡?4¥kWÿ²¶BBÜøóŸofÙ²ÃìߟFq1téâÏŒèÑ#À¢Í´´|Þ|óß}—@R’oogzõ äé§Ûá[¡~„‡¯Çd2W¨n` +qqïYgÓ¦‹ÏlëÖa,]z˜íÛ“1èÖ­11iÑ“ÌÌÂJÓȑͫõz¨ŽñihÌfsÅ~*ˆˆH“””Dvvv…ꆆ¶eÕª$†¯Xý꒒ǘ1±äç³paWúô Âh4±nÝV®<œ9‘L˜ À¤IqlÞœÀwÜÄäÉá´mëÍ·ß^$:úg ÁÙÙ‘iÓ"hÙÒ‹ γ Ú2gNç²ó=›ÃèÑßãîn`É’tïÀ¯¿æðê«9s&‡ädc•îùO:tðcݺVïM˜ð#?þ˜ÂæÍCiÑÂÓâ½1cbyðÁ6Ü}w󲲨¨-œ9“Mûö¾ÌžIûö¾œ<™É¬Y{9u*‹?ìGïÞ$'—ŽŸ‰Å‹»Ó»w.äðÒKûÙ¿ÿ2}ÔŸnÝUº?Õ¥ô3»ýö&<ùd;Ú·÷eÏžTž|2Žví|øâ‹Aeu}t?ü|Õqzè¡¶DE5³jûF®‡º>~"µÅßÿR³BBBðòòªêáŸk9¨ˆˆÔ˜åËpþ|.112¤ žžNº2uj8„”{̘1-éÔÉww£F5',Ì‡ØØ${,Œˆ_<< ŒßšfÍ<ˆM¾â|‡ÉÌ,$&¦3ýûãáa <܇¥K{œl¬‘>>öXÅÅfÞ{ï„EùîÝ©\¼˜ËðáͬŽ1M̛וnÝáîn 2ÒŸ+zRXXÌüù,úsáB.³gG2hPc<< „…ùðƽ0›Í¼òÊþéSeÛ²¬/ýú3hP\æò傲:'^}œ’’ò>¼i¹mßèõPÆOD¤¶) ‘³qãE´Nøþú×¾e³€¿éoñ:$Ä €N,—î5nìNR’eb·m[4¶(v£uë*ÿÅôšú÷&<܇/¾ø•ôôß’žwß=ÁCµÅÉÉÁêwwƒÕRÄðp‚ƒÝ8z4ƒää< dÙ¥££C†4±¨äFX˜‡¥“˜X3Émetîl9›Ö¤‰;€ÅçÓ·o:ø–;N&„b0XÜØõP_ÆOD¤¶iO ˆˆÔˆ‚‚b²² qu5XíÓº//˺%{ðÜÝ-Ë(.þmGCAA199E¸ºðð0XµàJ||Í,…zä‘¶Ìšµ—>:ÍSOµ'>>›;SX²¤{¹õ}|œË-p%99ÔÔ|üü\ÈÊ* kׯ®zî3g²iÜØýšñU÷žÀ+y{[~6..%ã冓Ç cæÌŸ-Æi×®TV¬èyÕ¶oäz¨®ñih”ŠˆHpqqÄÛÛ™¬¬BrrŠ*•Võ|žžNää‘›k²J?ûTYåOR•9²+Váo;ÍO´ã½÷NðÇ?¶À××¥Üúéé…˜ÍÖí¦¦æ%É ‹‹#>>ÎääqäÈȫΔUıc£ª|lu1¢Ë—¶§qãZÕȵQã'"ÒÐh9¨ˆˆÔ˜aÃn`ëÖD«÷¢¢¶°páÁj=_é²ÓÒe¡¥._. >>§Êíº»;QXX\özèÐM|öÙ™²×..ŽÜRSóyslØð+ý4ž7ß<ƬY‘õn†ëÞ{[áííÌk¯fèЛÊöøÕ„†8~""ÕAˆ©Çêú#" ô9ÇØ´é"‰‰F5r¥wï@ž}6‚V­¼Ø·ï2÷ܳÕâ˜)SÂ:´ £G[–GGw gÏ@î½w›Eù3ÏDðÌ3íˆÏféÒCìÜ™BQ‘™ví|xúéö¼ÿþIvìHJî8ùê«åï×+ÏéÓYÌ™³C‡.ãçç¤IáÜk«zsæìeݺ3|úé«$±TTÔÒÒòY»¶? `Ïž4L&3;û3s¦õsÓÓ xë­’ñKH0âããB‡¾<þxýúW¸ÕéjŸÙŒÊž¥XjðàÆ¼ûî-eK–âÝwOðõ×ChßÞò/Õ}=ÔÅñ©mzDDÃs£ˆP("RÕ‡$Оüãgùè£Ó¬_?øªuJ“À¼³#{¦ïÿ†GÏ ©#>ýô >zõ½€"""u’@‘*úûßÏ2yr¹¹&>ù$žŒŒîºËúáð"""u‰!""véʽkåùýÞ²«Ù´)nݾ",̇7ÞèuÕ¬Ys‚Å‹Yœ¿tˆˆHmR(""véäÉÑ7ÜÆØ±-;¶e…êNœÆÄ‰a7|N‘¥å """"""vDI ˆˆˆˆˆˆQ("""""bG”ŠˆˆˆˆˆØ%""""""vDI ˆˆˆˆˆˆQ("""""bG”ŠˆH½ôõ×ç ý’ÐÐ/éÐaƒ­Ã‘¢¨ÈÌûïŸbäÈïéÜùŸôîý >ºƒ-[1›¯}ìOì$4ôKV¯>V;ÁŠˆT‘’@©—FŒhÆÉ“£éÛ7ÈÖ¡Ô˜Ü\·Ý¶‘ÇßiëP€ºOu3M<ðÀvþßÿ;ËܹùïïbýúAxxx≜8‘yÕc¿üò[¶$Öb´""U§$PDD¤Ž2›Í—ü« êZ<ÕmñâCüòK|Ð^½ps3pÓM,[Ö—«ÿÊ”œœÇ‚5ªy-F+"RuN¶@DDDÊçééÄ÷ßßaë0ÊÔµxªÓ¥Kù|öY<÷ÞÛšÀ@W‹÷ÜÝ 92òªÇΞ½—;)^½Y¿þךUDä†i&PDDDìÞwß%`2™éÑ£Q¥Žûüó3œ8‘ɬY‘5™ˆHõÓL ˆˆÔˆM›˜<9®ìulì,Yrˆ­[qq10p`/¾Ø™¬¬BæÍ;H\\2žžÎ œ9ñô´üuêTË–&..“ :vô%:ºc•b[³æ‹ $Ä?ÿùf–-;ÌþýiC—.þ̘Ñ=,ŽKKËçÍ7ñÝw $%ñöv¦W¯@ž~º=¾åö{ãÆÛY¹ò(;w¦ž^À®]wáïïR©ñ;|øn\] e¯ÓÓ X½ú6oN !Áˆ‡‡]»6â‰'¸ùæÊí“,((æ­·ŽñÍ7¸x1WW=z0n\+ Á`p¸f<ݺ}MVVa¹m;8Àöí qcw bcx=ááë1™*¶$50Е¸¸á×­wøp:¾¾.,Zto¾¹À¥Ky»sûíMxæ™öøùY~f‰‰F^}õ«W÷±º^EDê2}c‰ˆH:´ 'OŽfÒ¤86oN`Ñ¢ƒLžÎ’%=øöÛ‹DGÿLzzÎÎŽLŸAË–½Ø°á11ûðôtbΜÎem=›Ã˜1±¸»xóÍ>tïÀ¯¿æðê«9w.·Ò±MœÆÄ‰aDEmáÌ™læÏ?ÀìÙ‘´oïËÉ“™Ìšµ—ø?ìGïÞ@ɾ¯1cbÉÏ7±xqwz÷âÂ…^zi?÷ÜËGõ§[·FVýž;wÓ¦E°tiwŽÏbìØØ*ß磻”Ä’—gbÑ¢nôîDJJË—æÁ`áÂîŒÛ²ÂãñòËûø÷¿/ò¿ÿÛ›ž=ÈÎ.bÍš<ùäN>þøVúô';8Ù IDAT ¼f<܇ÇoIê›oþÂë¯eæÌŽe `EÇðzŽUá¾UTrr/¼°‡¾}ƒøôÓøú:óÝw ¼øâ>¶oOâ‹/áíí\v̬Y{ˆŠjÆ-·4Ü›‰Häå ""R+ÆŒiI§N~¸»5ª9aa>ÄÆ&ñØcaDDøâáa`üøÖ4kæAll²Å±Ë—&3³˜˜Îô‡ðp–.íAr²ñ†â2M̛וnÝáîn 2ÒŸ+zRXXÌüù,b¸p!—Ù³#4¨1ÂÂ|xã^˜Íf^ye¹í?ùd;úô ÄÝ݉.]ü9vlÔug¯gùò#œ?ŸËܹ2¤ ^^N´níÅÊ•½ rcÞ¼ý\º”_áövìH!,Ì›þýƒqs3èÊ /t¢uk¯*Å÷Í7xã£üéO-™4©Ýïâ®ÚÖ†ü|®®Ž,]ÚƒæÍ=ðñqfôèLžN||6ï½w²¬þºug8s&›^Ð2P©Ø»÷ŸÛ:©#”ŠˆH­ˆŒô·xâ@§N–K7v')É2±Û¶- €[”»U9Q)åîn°Z†îCp°Gf”ÍmÚ”€££C†4±¨äFX˜‡¥“˜hvéâoUv£6n¼ÀàÁ–ãáââHß¾Aä器¾=©Âí ؘ={Ò˜3g/ûö].[j¹iÓPúô ¼îñ{÷Ž(›Ü¿ÿ2Ï=·›^½Y° «E½ªŽamðð(YÕ¯_0ƒƒÅ{C†”Œóöí%œ¸x1—Å‹±dIÜÝ ˆÔ}±|ðÁ$î¸ãþñPXXþòm±Z*""µÂËËòGŽƒ ¸»[–;::X<‚   ˜œœ"\] Ë K¸Ÿ]å¸||œË-p%99ÔÔ|üü\Êö¼uíúÕUÛ:s&»léc©êN ŠÉÊ*ÄÕÕPî>´ÀÀ’ä:%%¯Âm¾ürºukÄ_œåÁ gÏFŒßšaÃnªp;/æòä“;iÒÄ·Þꃳóok.*?†Wª‰=M›zàïïjõ^@@IYjjɘnÙ’HVV!÷Ý·½Ü¶V®<ÂÊ•Gøî»a´léY¡XEjν̙ӂcÇ^'&&†U«V1qâDÆŒƒ»ûµÿ“†II ˆˆÔi..Žxz:‘“SDn®É*,½ÙJU¥§b6—$¥¿—šZ²œ2 ÀG||œÉÉ)âÈ‘‘V3EµÉÅÅoog²² ÉÉ)²J/]*IT‚‚Ü*ܦƒŒÕœQ£šSTd&..…5kN0eÊO̞ɣ†^·œœ"|'EEfÞ}÷«›¨TçÖÄžÀž=øë_O–»¼¸ôZ(}tÄ´áÚXÕÛ°áWfÎü™éÓ;0ujxµÇ(r#‚ƒÛòÈ#¯2cÆ >øà–-[ÆÛo¿ÍsÏ=ÇèÑ£mžÔ2-‘:oàÀà·e¡¥._. >>ç†ÚÎÏ7qà@šEÙ±c™$'çáKppI2uÇM1™ÌìÞjÕÆ;ïçÖ[ÿSáÙ©U:;÷ý÷‰åÅìØ‘‚››[o ©p{ݺ}Í©SY899п0o¿}3Öç(ÉdfÚ´]œ:•ÅêÕ},–è>õÔÙ´©äF2ui ¯4hPcBBÜØ¶-©l`©-[JÆ`èЊϊŠÔUAAA<÷Üs|ÿý÷Üzë­üÏÿü<ò§OŸ¶uhR‹”ŠˆHÝ??æÏßÏ?$“›kâäÉ,fÌØUîÑÊðövfÅŠ#ìÝ›†ÑhâàÁËÌœù3ÎÎŽÄÄüv‡Òèè´háÉóÏï&66‰¬¬BÒÓ øôÓxÞ|ó³fEÖÚ attš5ó`Á‚lÙ’@NNññÙLŸ¾‹””<ýt{Þÿ$;v¤%w }õÕîŽ1*j iiù¬]ÛŸ °gO&“™Îý™9Óú9éé¼õÖ16mºHB‚:tðåñÇÃè×/øªý8y²rË­®|.ÀÈ‘ÍY±¢gY,«W—Ä’˜hÄÝ݉®]ýyâ‰v•~dÁÑ£|òI<ÿýï%.^4âêêH«VžŒÛš1cZâàpõx&LeÔ¨ï¯ÙþŸÿ|3C‡6)‹ûzchK{÷¦±jÕQöí»L^ž‰-<¹ë®¦<ñD;ÜÜÊÿƒCLÌ>>ý4ÞªüÖ[ƒyÿý~5²Èu]ïûßd2ñÉ'Ÿ°råJ‚‚‚xýõ׉ˆˆ¨å(¥2BBBðòªòÑ>W("RÕå$°>(MüñN[‡""Rc*úýŸÀÌ™3Ù·osæÌáþûﯥ¥²n4 ÔrP¡I“&üíocòäɼòÊ+Ì™3G“h ”Šˆˆˆˆƒ§Ÿ~š¿üå/|óÍ7<òÈ#ääÜØ ¸¤îÑ#"DD¤A ýòºuÜÝ ¿Ý24ôK¦L gÆŒ5šÅù®ç÷û!ëúyD¤á4hŸ|ò &Lࡇâ¯ý+¾¾¾¶Kª‰’@iP*{[¨­ëÃXˆHÝÁgŸ}ƃ>ÈĉY»v­.ß@h9¨ˆˆˆˆˆ”«U«V|øá‡œ;wŽÉ“'c2™®ÔyJEDDDDäªÚ´iÃ{ï½ÇîÝ»Y²d‰­Ã‘j $ðÿ³wßáQUùÇßé=H¥JB0ô*Å€HV‚â*ê.]Å. ² Ò  ,¢(6;"‚(„ª€t„$ %BHOÈÌüþÈ/£cé ˜Ïëyò¸sî9ç~ÏÙïœsÏ‘›jÞ¼93gÎä£>â§Ÿ~ªìp¤””ŠˆˆˆˆH¡ȰaØ:u*—/_®ìp¤”ŠˆˆˆˆH‘Lž<WWW^ýõÊEJAI ˆˆˆˆˆ‰³³3S§Nå‡~`ÿþý•Ž”’@)²ž={Ò¡C,XPÙ¡H ) ‘byúé§Ù»w/ááᕊ”€’@‘Û̉×1âW‚‚ÖÑ¢Å÷ ¾ƒ®TvX"R…tèЦM›²bÅŠÊEJ@I ˆˆÜ2ÒÓ Ü{ïFFŽüµ²C¹e…‡_%$d;..¶lØÌöí}¨[×…Gù…;â+;<©B† ÂÆÉÌ̬ìP*ĶmÛÆßß¿HõOœ8ÁË/¿L¯^½ $00àà`žxâ Þ}÷]Ž?ŽÉd*ç¨ ¦$PDDn&“ £1÷çVø==ôse‡€Ñhbò䃸»Û1wn+¼½©^Ýž×^»›úõ]™2å ÙÙÆÊSDªˆ>}ú‘‘ÁÎ;‹Õ.=={ï½—‘#G–SdeëܹsŒ5ŠÐÐÐ"=Ãh42oÞ< „½½=‹-bß¾}ìܹ“ P»vmBCC8p 0‚ü”ŠˆÈ-ÃÅÅ–­[ïãƒ:Uv(·¤}û®•LŸ>wâèhc.·±±¢ÿ;¹t)ƒ-[.Ub„"R•x{{Ó¤I~ýµx«7r¿ð3b4Þ_Z-\¸V­Z±fÍ\\\ŠTÿ½÷ÞcÚ´iL›6€€qww§E‹Ìž=›Ñ£GW@ä7f[©g‘"ûõ×=ò ¬þÿu.Ó§Ï—ˆT]mÛ¶eß¾}ÅjãââÂÖ­[Ë)¢²7{öl‹T÷ôéÓ,]º”æÍ›óÈ#ܰÞèÑ£ùøãË(ÂâS(""åbÙ²(æÌÉ]æâããÈ;ïtà7ŽžˆÑ-[Vç…šÒºuMÂÂ.1vìnsûcÇâà`S`ß1LüôÓ¾úê,‘‘×HIÉ¡~}†mÀðáwammeQ?))›·ß>ɦM—ˆÍ¤F {5rãêÒ¯_V¬øÍÿWðõ] äκEF*4ÿï0ж¬ÕÓÓÝ»ûZïôéjÕrÊw,¯ìÌ™”"SD¤,òùçŸc4±¶þ{.2,jðÅ_`4¹ÿþûoZÏÝÝcÇŽ•6´S(""åbÄ?FŒðcÀ€-ÄĤòúëGxé¥@š4©Ftt2S¦âÑGwðÉ'i×Γ^½j=˜1cv³iSñ—4nß˳ÏîcâÄf,ZÔ£Ö®ý3Ž›ÁäÉÍÍu2 ÙNV–‘™3ï¦}{/22 |ùe “&$9ùº9þÀÀïiÚÔƒ/¿¼§Xñ%Q,®””ë8;çÿç;¯ìÚµëe~^‘©W¯ÙÙÙÄÆÆâééÉ’%KX¿~=/^ÄÁÁÖ­[óÐCѽ{wlll cìØ±æöÇŽÃÁÁ€   RR þ"ËÊÊŠ_~ù…Zµj˜˜Èâŋټy3qqq¸¹¹Ñ¶m[žyæ,Úúûûc0Š4OOOvïÞ]xÅØ»w/@¾n5JED¤Üedxíµ» ¨ä.]œ?¿ ýúmæõ×°vmÏ29OûöžŒÓØüzøðF„‡_åã£yúé&¸ºæþ³zœóçÓY´¨={ÖrïG|ê)ÿÛöQ y;ÌYYRQD¤ ÝygîòóK—.±xñb~üñGþ÷¿ÿѦMRSSY¶l£GfåÊ•´oßž^½z͘1cØ´iS¾þŽ9‚³³³ùõâÅ‹yóÍ7™0a‚9Œ'$$„¬¬,æÌ™C»ví¸páÓ¦McÈ!¬X±‚   s‘‘‘å|þ»l¿ZµjvÎ’ø{ÎÙŠˆÈ-ÅÉÉÆœæñ÷wÇÛÛ‘'®_úíÅ{ö¬ÍÊ•]ó•T#'ÇDTT²¹lãÆ‹tëæ“¯þ‡vâÉ'}KOyps³ =='ß±ŒŒÜo¹ÝÝí*4&©Úò6JIOOg×®]øùùÑ¥KñôôdòäÉ4lذD}¯_¿ž·Þz‹|1cƘËCCC¹pá/½ôÝ»wÇÙÙ???Þzë-L&¯¾új™Œ­$ {äÀðõõ5ÿüy\I3""Rîn”˜Ô¬é@||&W®dáí]ô{. ’’r>ˆfãÆ‹ÄÆfœl¹,2/IÊÎ6’’r\\ÊïŸÁò¸'°Q#7bc3òË+kØÐ­QŠˆ”Ž“SîýÈééétëÖ•+WòòË/B`` y hQ:tÈü¿ÃÃÃyñÅiÛ¶-3f̰¨†µµ5={Z®"ñòòÂÏψˆbccÍ3‡ÉÇLJ„„®^½Zàñµk×pôèQ\‘¡YP(""å.)é:&Sþ¥ŠW®d¹É`iµ›}û.3uj  ¨CõêXYÁGE3sæQó·³ööÖ¸¹Ù‘’r´´œBÁ’.¯,{;tðdñbˆˆHbðàzÇ""’èØÑ³ÌÏ+"r#¹_@9;;3}út‚‚‚øöÛoyì±ÇhÓ¦ Æ £wïÞEîóâÅ‹Œ=šÚµk³dÉììþø"1;;Û|ßàÝwß}Ã>bbbÌI`EÞضm["""8vìÝ»w/q?åMËAED¤Üee8r$Ñ¢,22™øøLª•zÐ`0qàÀ¼¼yüñFÔ¨á`NÞ²²ò?‡ªwï;ض-6ß±¶0sæQók''[®_ÿ£^½Âøâ‹˜RÅ[RíÚyâëëÆ?^ +ë?h ëÖ§vm'zô¨øo¾E¤êJNÎ]jïî•ƒ bùòå:tˆwÞy“ÉĸqãøðËÔ_ZZ#GŽ$''‡÷ßËGâØÛÛãîîŽ ‘‘‘DGGøÓ¡Cs››ÕûëOi@€‡~kkkÖ­[WèÒÐʤ$PDDÊ››óççСD22 =z• öcggÍÔ©-JÝ¿íÛ{’ÉûïGqõj6™™vïNà³ÏÎä«?qbSêÔqfæÌ£lÝKZZ±±L›NBB&O>ÙÈ\·Y3ΜIåÒ¥ Jäܹ4Ú¶­Yê˜KÂÚÚŠ9sZsíÚu&M:HBB&IIÙLŸNLL*³fµ*Öc5DDJ+/ tss#((ˆÓ§O`kkK—.]x÷Ýw±²²*Òs Ï>û,§OŸæí·ß¶¸—ðé§Ÿ6/+½ï¾û0 8p _K—.¥k×®Ežù+k5bôèÑDEEñÞ{ïݰžÑ˜ÿ ÊŠ¤$PDDʳ³ Ó¦µdÑ¢tè°žaÃ~ÁÝÝŽ+ºÐ®]îò۰Køú®6?¢Y³ï™0a‘ϱhQ;† kÈòå§éØq=Ý»o`õêß8°.?¾“Aƒrÿñòrä»ïzЯ_^}5œÖ­×ñlãÚµl¾øâî¸ãé^y%÷±½{‡1~ü^þûß–æ{ó*ÃÝwWç믻‘’r^½Â¸çžŸˆ‰Iå³ÏºÒµ«w¥Å%"UÓ™3g°±±¡víÜ–§NÊÉ“'ÉÎÎæÊ•+¼÷Þ{˜L&:vìXh_3gÎdÛ¶mÌœ9“öíÛß°Þĉ©W¯“&Mbûöí¤¤¤””ÄçŸÎâÅ‹™2e 66•÷…ØóÏ?ÏÈ‘# eÊ”)DDD‘‘Aff&‘‘‘¼óÎ;Œ=+%F+Ó­IÍš5 -ó¾åÆJ›j9¨ˆˆˆˆˆ[zz:û÷ï§]»v•Š“!""åbÙ²(æÌ‰0¿öõ]͸qþ¼ðBÓbõã뻺Ð:ãÇ0~|“bÇ(""%·uëV²³³ ®ìP¤˜”ŠˆH¹1Â#üJÝOttå=LWDDnlýúõtìØ‘5jTv(RLZ*"""""ÅröìY6mÚDHHHe‡"% $PDDDDDŠå½÷ÞãÎ;ï¤OŸ>•Š”€’@)²³gϲzõjÆŒS©Ïã“’S("""""Eb2™øïÿKÆ ùÇ?þQÙáH ic)’o¾ù†Ý»wóõ×_ck«Tâv¥™@)TTT3fÌàñǧE‹•Ž”‚’@¹©k×®1fÌüýýyñÅ+;)%%"""""U\ZZqqqËÊÊbüøñdee±dÉììì*8:)kZÈ+""UFXØ%ÆŽÝm~}ìØ@n¼³Ý²eQÌ™€#;wÞ_î1–Ô‰×X±â7öî½Lll>>NÔ©ãL‡žÜsO-ªae±±téòS¾>Þy§½zÕ6¿^°à8K–DZÔÙ°!˜FÜ,ÊbbR £eËê¬ZÕ½Àø¿'#ÃPà1{{k6teذ†üóŸwaeuóvVVàæfÇw8ÓºuMBBêÓ¼¹Ç ¯ÍÍ”&v++ðð°§u뚌çO‹ÕKÜfÀ€-œ8q­Èq?ÿ|SžzÊ¿Xãø³â|^n¤,ßÓY½º;Õ‹ÝnÖ¬V|úééÛîšV–œœÆŽ‹‡‡‹-²8–••ÅØ±c‰ˆˆàÓO?ÅÓÓ³’¢”²¤™@¹e¤§¸÷ÞŒùk¹ôß«Wm¢£\»ðÊÀˆ~DG&  Z¹ÄSŒFóæcР­ØÛ[³hQ;öíëÇÎ÷³`Aj×v&4ô8n!"â*µj9=˜7ßl ÀèщŽl‘¼ðBS¢£Ó®'³fµ":zp¾à›oÎ~•èè”ã=œyó" mwòä 6nìÅsÏpút ƒmeÒ¤ƒddäûú•&öƒû3sf‡%2tèvvîŒ/U›Å‹Û›ëEGfذ†|øa'‹ò~ýê”hP²ÏË”å{ZЛ›]‰Úµk÷G’r»]ÓÊòÊ+¯°{÷nÖ¯_ÏÁƒÍå™™™Œ7Žððp>ùäš6mZ‰QJYR(""· “Ʉјû#E³páqÞ{ïÓ¦µdÚ´–TÃÑÑww;Z´¨ÎìÙAŒݸÜÎo4šX½úM›æ&Êy8•5ÕxóͶX[[ñá‡Ñ$%eß´žž×fÅŠ.ŒÕ˜U«ÎòÜsû0ã£SÚØÝÜìèÝû^z)œ3f-—6…)Î8*âóR’÷ôVs«]Óò´xñbV­Z…ÑhÄÆÆ†©S§b4‰gذa„‡‡óñÇÓ¼yóÊUÊ’@¹e¸¸Ø²uë}|ðA§Êå¶pút K—FѼ¹<Òð†õFn|Óe¯¥±cG<¶¶ÖÌœÀwßÃ`(~_»¶^^ &Nž,ú>€_lFË–ÕÙ¼9–uëι]YÅÞ±£QQÉ$'_/Q›µk{Ò§ÏEjûÖ[m-–-uýy)Í{ pèPóRÐâøì³® ZÿoyMËÚºuëxóÍ71ýÿ·'ƒS§Nñî»ï2xð`ÒÓÓYµj•©”5%"""·©/¾ˆÁh4qÿýwÞ´ž»»ÇŽ ,ÑÔ…ùúë³<ø`}«Ó¤I5._ÎbÛ¶‚7—(LÞ,^qÿX¶²‚áðråoEnWV±ÿyö±¨÷{•¤Íu•ñy)É{úÐC?³jUñfe¦OgÆŒ#ÅnW[ùš–•½{÷2qâÄ}øá‡4oÞœ¯¿þšúõëWpdR”ŠˆH¹X¶, _ßÕøú®¦sç9rä*=¶ƒ-¾§yóïùç?áÀ+æúaa—Ìõ}}W“•U´ þ,))›™3УÇÖйó ¾ƒU«Î’™™¿¿„„LÆßKPÐ:Ú´ù‘#åܹ´BϳfÍï±úú®&!!ó¦müý¿Ë׿F?:¬/Òx÷î½ Pi÷,&%e³eK,ÿøG=|0÷¿_Sì¾.^L'!!WW[üü܋ݾuë:”HNNá³yeûîÝ øù¹ç»­,Û¤8ã¨èÏKißÓÊr+_Ó²ÍÈ‘#1ùŽ™L&RRRhÞ¼9îî·Ïû&Å£ÝAED¤\ŒáLj~ °…˜˜T^ý/½H“&ÕˆŽNfÊ”C<úè>ù¤3íÚyš7m3f7›6]*öù2 ÙNV–‘™3ï¦}{/22 |ùe “&$9ù:O>ékÑfÆŒ£Œݘ¹s[søp"cÇîæ¹çöñí·Ýoz®þýëpìX§N%óÖ[m©VÍ¾Ðø"#{L…ÉK<«U«œíÚ×®=OPP êÔq`РzÌÁÖ­±\¹’EÍš…ö‘“c"**™éÓñµµfúô»qu-þŸ'^^Ž &³ðöv,÷ØSSsص+žY³ŽbkkÅ+¯¾d®$mÊjõy)Î{ºiSî—?5tèÍgŸnÔî‰'•,è?¹¯iYŠgøðádee˜Bî²Ð%K–0dÈj×.ÚFZr{Q(""å.#ÃÀk¯Ýmþ¶<0°:óç·¡_¿Í¼þúóŽ¥zœóçÓY´¨={æþÑââbËSOù[Ì8þÙСõ ÊAêØÑ‹ž=kóý÷¿sõj6Õ«œØ%'_çÙg÷Ò¨‘|Ð ›ÊÛï½°MPþúØààÚ¼ûn‡2;ÿ7ßœµH¬«W·§gÏÚlÜx‘ï¾ûÿÛ·Àvýß»÷lØL½z.%Š¥8Â@ÙÄneÕªÙÓºu žzª‰Å#"JÛ¦<ÆQžŸ—’¾§㡇~.ô|µ›>=¼H±æV¹¦å!##ƒ‘#G’˜˜HNNá»éΟ?ŸÐÐÐ ˆL*š–ƒŠˆH¹sr²É·\ÊßßooGNœ¸F|üÍ—RÅÆèÖÍ'ß±?ì”o E‹¯}|rgââ2 <Ço¿¥ðàƒÛ°¶¶â•WZTjÄ{õjÁ;/®]Û“èèÁ¬^ݽÀãyñ¶ŠÑhÂú/1œœHLLjuÖ¯¿@ö4nüÇ.›7_¢F ‡ÿP É]:·víùwe-Èý÷ßIÓ¦ÕØµ+;â‹Ô&OhèqÂÃéÝûŽB·ê/Ø+CIÆQÚÏKq•æ=4hk±žûXZ·Ã5-‰µk×S©Q£.}úôáé§ŸféÒ¥lÛ¶£GòÍ7ß0}út~øaZ¶l©°ŠP(""åÎÍÍŽùósèP"Ž½Ê„ û±³³fêÔerމ›R§Ž33geëÖXÒÒrˆÍ`Ú´p2yòÉÒNÞ~»=‰‰YŒ·›ììÊû ïùç›2r¤¡¡Ç˜2åIddä™i 22™wÞ9ÅèÑ¿bccUà’¼—_ÄÊ þõ¯]lØp‘¤¤l ññ™¬\y†éÓóòË-ÌKeV­:g¾Gª »Ó²e RR®³aÃÅ"ÃÊ ^x¡)o¼qì¦n&®\ÉbÓ¦K<öØÞ{ï!! X° ÅLÌ„ ûñõ]Íùóéå{e(é8Júy)èZ¦8ïé­ ¢¯iE0™Løúúט>}‹/æ©§žâÞ{ï¥N:‹ÜZ¬L¦[ýÿ’""r#qqq¤¦<ƒóW¾¾X´(޾}‹V¿¬ °…ÄÄ,–/ïÂŒG8x0ƒÁD‹Õ™0¡)­[×rŸ8vìn‹¶ÂŽ3;,êŒÆ~;–¹[ç2´ÅPv<µƒuÿZGjuxâË'Xwb]¾þ3®gðèg²êè*^ ~…½Ïîå»'¾ÃÙΙQߌ"êrT™ŽYDDþ>”ŠˆˆC|j<36Í`PóA7¬c4™üÃdÜÝ™Ûo.Þ®ÞTwªÎk÷½Fýõ™òã² ÙæúkŽ­aKô z„ÇZ?†‡“uªÕaöý³¹«Æ]LÛ0äÌd‹sÌÙ:‡“ 'ùø¡i[·-޶ŽÜá~oô{ûr¿ˆˆÜþ”ŠˆˆÃK?¾ÄýMî§kî7¬³ï÷}D]Ž¢mÍå6Ö6ôèÏ¥äK3‰Om §oO‹~¬¬¬ö æZæ5~ŠüÉ\~9í2_þ‚š=€§‹§E';'Ž¿xœÆ^K5NùûR(""RD_‡MÔå(¦ôœrÓz¿žý€ÀÚùŽÖ ´¨¹I@Mçšùê{¹z°ÿü~sÙæèÍŒZß™ÿÞB‘Âhc©§¯œfö–Ùì?¿ŸC-ïhÉ ÷¼`±IJ¶!›%»–°þäz.^»ˆƒ­­ë´æ¡»¢û]ݱ±¶)ô<þóü1 EŠÉÓÅ“ÝÏì.RÝØ”XfoÍÛƒßÆÅÞå¦uO_9 @-·ZùŽÕrÏ-;“xÆ\VùWү䫟˜žÀù¤óæ²c±Ç¨æTY›g±þäz.§]ÆÛÕ›`¿`Æw‡“G‘Æ%""U’@)wé×Ó™¶qÏw}žŸN_>Í”§ðèçòÉßЮn;¦oœÎ'äƒþG›ºmHÍJeÙÞeŒþf4+YIûzí =Wä"Ëe SÖOa@À:ÖïXhÝ”¬œíós¶Ë-»–qÍ\ÖµaW¶DoaKôº4ìbQÿçß~ #'Ã\ŸÀäõ“éT¿Ÿÿósª9Vcsôfþ»á¿üræ¾}ü[ÜÜŠ9J© ´TDDÊ]JV »M¤uÖ8Û9X;ùæsÝp×7½n®·+f~ž~tiØG[G<]<™Üc2 k4¬ÄèáËð/‰¹Ãäž“KÝ— €ÅㆶJóZÍùìÐg¬8¸‚¤Œ$.&_dúÆéÄ¥ÆXÜ[˜•“€ƒóúÏ£®G]ÜÝÜ|0c;ŽåLâ>ØûA©c‘¿'%""RîlhY»¥E™¿—?Þ®Þœˆ;ažÙêÖ¨/äå_æðÅÃæea£ÂŠ4 X.&_dΖ9Ìí7';§"µÉ›KÏNÏw,ãz»£»¹ÌÁÖ•¬ä‰¶O°lÏ2:ü¯.“ÉÄÿýÀb˜¼ÆÎ :cce¹D6os™_ÎüRÔ!ŠˆH£å ""Rî<= |pyMçšÄ§Æs%í Þ®ÞLï5 ;‚ø6â[ûü1ÚÔið aônÜ»Hç*ë{·Do!%+…GV>Ràñ…?/dáÏ Ø»›e{—1îÛq¼tïKü«í¿ =WYßøh«Gy´Õ£ùÊ×[ĵxþžçyªÓSÇ:ÔëÀ⋉ˆ`póÁÇ"b#Što!Àþßsw½Ïÿ>sY›ºmøp߇æÔ?Ë»¦}t„ˆˆH-‘r—~=q',Ê""‰O'À'oWo‚™wÖ´µ¶¥KÃ.¼ûà»XYY±5zk…Ç]RíêµÃ×Ó—Oþh¾À`4°îÄ:j»×¦G£æò«Wñ›ë—/©KÍJå«#_Ñ? ¿ÅÌa÷FÝñqõáçß~¶è0?°Wã^å14ùP(""åÎÉΉWÃ^%üR8×38zé(ÖNÀÎÆŽ©ÁS-êNýi*'ãO’mÈæJúÞÛý&“©È3g·k+kæôõÌkLúa © $e$1=l:1‰1̺¶mL&ÿùá?œ½z–lC6áÃyò«'ñtñdzïéuímì™Ýw6WÓ¯òìšg‰¹Crf2ßE|Ç;¿¾CËÚ-y¼Íã8b¹X™L&Se!""%Gjjj‘êúú6bÑ¢8úö-ZýÒZ¶gs¶ÎÀÇÕ‡w|‡yÛæqäâŒ&#-j·`B· Ï <w‚ÏÆÞs{¹˜œûœÀÕ0´åPBZ„x_aE›ºa*Ÿú<_y׆]ùè¡,ÊŽÇgþöù¸p£ÑHË;Zò\×ç,ÆœggÌN–ï_ΑØ#¤d¦P¯z=úôãßíþm±3蟺pˆE;qøâa2s2©ç‘ÛfT‡Q7l#"UOEÿþ—òçãル«kI›­$PDä6v+'""rkÐïÿ¿ŸÒ&Z*"""""R…( ©B”ŠˆˆˆˆˆT!JEDDDDDª%""""""Uˆ’@‘*DI ˆˆˆˆˆH¢$PDDDDD¤ Q("""""R…( ©B”ŠˆˆˆˆˆT!JEDDDDDª%""RîN_9ÍøïÆÓáðŸçï_|çø´0È\gÙžeæò΋;Wb´’gÿùýøÎñeϹ=_wbù=kúFÓ Ž®ðøÊÉøŒøzA ƒh1¿ÿÎóÊôÛNo#xi0þóüË´_‘ crf2­ÞleÑæù{žç©NOa0ðŸûÇÆ(}üû°xðâã+Éûþ×ñärhìÕ˜§;?ÍÇû?fWÌ.BZ„0»ïlN_9 @-·ZùÆYË=·ìLâ dŸC‘Ф$PDDÊE¯Æ½ˆž͘Ucص‰cá`ë`>~5ã*mßj[¤¾âSã ù4„¬œ,æôC»zí¸píÓ6LcÈò!¬¶‚ ;ƒòsƦŒî0š¹ýærðÂAF3šçÖ<Ç·kî{ûéí<»æY&v›È¢A‹0šŒ¬=¾–›f›Ëä“ Ϭ-³Ûq,sûÍeCä&®›HRFv6v<ÏóÔ¯^Ÿ5k˜ºa*.ö.¼|ïËÅOa"ÿYÔ·£X®¤_áðÅüÚûUsÙÙ«g ù4'['ZL«:­ø=éwfo™Í¹«çòõQÔ1FOŽæ__ý‹gv°iô&sbdceCôähB> axëá h:à†ñ•ä}/h<®]`ƦœŒ?‰½=Ç_°èãÀùÄ¥ÄÑ7 o¡ñýYQÞ÷‚ÆãçéÇ ɸžQ¬ëe€••U‰ã©HJEDä–v* k+kzúö´(÷rõÂÏÓˆØbSbóµkQ»…ÅëÚK‰3—õôíÉÊGVækà@Ž1‡¨ËQÆô×{Ã|Ü|h^«¹Ey-·Zç+Íx*JØ©0kâíêm.ûù·Ÿò݃çíêMà 죨cìÔ M}šòmÄ·$e$™ë¾¿ç}žlûd¾R ŠïÏŠò¾ßh<5œkpW»òõéæà@zvz¾cyI£»£{‰ã©HZ*""·´lC¶y)ÞÝ ï¾a½˜Ä˜|÷kåýáž'osš¼™È]æ÷ÁÞØxj#±)±$g&[´¹Ñ¬«½«Åk+¬°±¶ÁÉÎÉ¢ÜÚÊ£ÉX&ãù«ò¸'0ãz»bv1®Ó8‹˜Ó²Óp°u°¸G0OM—šæûáòêwŒÿn÷o&¬ÀŠƒ+xºóÓœI<þß÷1ÀüBãû«ÂÞ÷ÂÆSÍ©Z¾²F5˜œÇ&ç–” %‘Ц$PDDniö6ö¸;º“–•Æñÿ/óíóG}3Š}¿ïcjðT4@u§êXYYñѾ˜¹yf™ÿ¡^–ã){wÆì$3'ÓâÑ ö6ö¸Ø»–Fúõô|‰ÓŸgïòêwŒý›ö't{(Ÿø”QFñÁÞxèî‡òm¨SP|ÅUØx®¤]ÉצC½,Þ¹˜ˆØ7lq,"6€Žõ;–8&‘Фå ""rË»Ïÿ> &Îç¸üÒÝK麤+SÑfÄþÌ`ÌíÓËÕ‹ÇÛgñÎÅLé9¥D3j6Ö6´¯×ž„ÔÞßó>W3®’™“Éî³»ùìÐgå0’\å5žÒ2šŒl‰ÞRà,ÛÄîñpòàõ°×Ùqfé×Ó‰¾Í ß¿Pà’Ê’Œñá»ÆÍÁ?/ —_/|\}Š_q4žS §˜´~^®^ùê[[Y3§ï®e^cÒ“HHM )#‰éaÓ‰IŒaÖý³,v¿¹•Y™L&-H¹MÅÅÅ‘šZðî•åëÛˆE‹âèÛ·hõKë¯ÏJx ÙÌ0Ÿ'¿|’_Îübq,Ø/˜MQ›,ÊÆuÇ ÷¼ä.9\²k aQa\J¾„»£;M}š2²ýH:7è À዇²|H}øÎñµ(ïáÛƒ÷‡ä&~ ~^À¶ÓÛHHMÀÃɃnwuÃËÕ‹w}ÈÝìezïéöÝ˯ƒ?±\8±ÛDÚÔmÃÃ+¶(ße<㻌/òx*ÚóxhÅC¬|d%íëµÏwüLâæm›Ç¯g5?Wï™ÎÏðÑþò=WJ6ƹ[çòþž÷Y÷¯u4ñnR¤øJò¾ÿu<£ï^ìþ"oþò&G.áè„£ùâ;wœùÛçsàÂŒF#-ïhÉs]Ÿ£uÖ¥ŽgKôF}3ªÀë2ëþY m9´Àc"…©èßÿRþ|||puu-¼bÁ¾V("r»•“@¹ýÌÝ:—¯|Ížñ{*e&²0_ï÷{“y=“ŸÇý\xe‘Û€~ÿÿý”6 ÔrPrï·ëvW·[2„²/!5Öo¶&ǘcQ~þÚyÎ&žÕ&/"ò·¦ÝAEDD€°Qa•ÂM•u|×2¯ñÊO¯ðl—gñpòàTÂ)^ÛônŽn<Ýùé2=—ˆÈ­DI ˆˆˆT9^®^,x9+®`ØÊaÄ¥ÆQͱtfáÀ…Ôõ¨[Ù!Šˆ”%"""R%ujЉN :Uv""N÷ŠˆˆˆˆˆT!JEDDDDDª%""""""Uˆ’@‘*DI ˆˆˆˆˆH¢$PDDDDD¤ Q("""""R…( ©Bô°x¹í¬;±ŽçÖ<€½=Ç_<^ÉAØ©0Æ~;ÖüúØÄc8Ø:TbDù™L&^8È÷ǾggÌN.$_ÀÍÁ†5òHÐ# l:+++sýk™×øáĬ?¹žq'ÈÌɤ–[-ZÞÑ’‘íFàP‰£‘’ÒL ˆˆ”›ôëéÜ»ô^F~3²LûíПèÉÑtjЩLû-^{=9š`¿àÊå†~Kü‡V@Lb M¼›ðRÏ—hâÝ„èËÑLùq §¯œæ“‡?¡]ÝvæúóiêÓ”/ýò¦ã ö ft‡Ñ4ñnÂ዇ûíXîªqß>þmy\æb{{×Û,üy!íëµç¿½þ‹¿—¡í.§]¦ÿ‡ýééÛ“Y÷Ï*ï0E¤ TÖï)?>>>¸ºº–´ù×Z*"".t{(ç¯ç•àWèéÛWWÖhÈ ñrñ⵰׸œvÙ\793™©½¦Ò¥aœíœñ÷òg^¿yħÆØ÷…kx©çKtoÔg;gü<ýxë·0™L¼öj¾6×3xí¾×º3';'k2À|®®óú¦×K4Æ¡-‡šûëX¿#=}{räÒ®f\-Qeí©NOqâÅl¹F51ð£,Þ¹ø¦m’2’xòË'i_¯=¯ßW²ë"""•OI ˆˆT¸§6УQ‹r{{:5èDfN&¿œù€Ÿû€{îºÇ¢®·«7 k4Ì×wØ©0¬­¬ééÛÓ¢ÜËÕ ?O?"b#ˆM‰µ8ædçd^&šÇßËoWoNÄ(0Ù,L‹Ú-,^û¸ú—Wì¾Ê‹j6âµû^ã^ß{yó—7Ù³³Àº×3xâË'ðóòcÁ€ØXÛTp´""RVtO ˆˆT¨lC6)Y)8Ø:àbï’︧‹'»d4ÛMZv¶8Û9ç«[bö¨ÇzIDATÓ¥&gÏäëàî…wß0†˜Äj¹Õ2¿vwp/°^MçšÄ§Æs%í Þ®ÞEàÿûë+ÖV¹ß»š(Ú]qOàŸõôíÉÆSÙ½•Î :[3˜ <½úi|\}x£ÿØX)¹) ‘ eoc›ƒ)Y)¤e§åKó–z¹zaoc‹½ iÙi¤_OÏ—&e$åëÛÝÑ´¬4Žÿçx‘“•¤Ì¤up%ý ›læ±¢bvÃ,h³™ò”÷Xˆ¤Ì¤|Ç^ùé² Ù¼óà;×´ç»=Y0pwßqã„[DDn=Z*""®wãÞl=mù ÁlC6»bváhëH׆]èvW7àe¡y®f\µ˜ÌsŸÿ}Lœ?ïØÒÝK麤+“å [VNG.±(‹Lˆ$>5žŸ‹Y@';'®®›_÷z¯_þ¢Ð1ß fo™Í„µ <¶ý·í@þe¬‹v,âTü)–YjNEDäö¦™@©p»MdϹ=ÌØ4g;gÚ×kO|j<¡ÛCIHK`FŸæe¡»Od×Ù]¼ö:®ö®´ªÓŠ‹×.2sóLœíœÍË?-ú>»‡I?Lbzïé´º³£OþÈâ‹™Ûon¾B77æÿ<Ÿç»>o±;¨Sƒ§ZÔmV«‡.âRò%bSb9wõmë¶-ß V†¾?þ= ª7`pà`¼]½‰Oç³CŸ±æØš×jnÞ•`ÕÑU,Ú±€ó[ܨK¹Íè""·±[ù}N ÀÍ`þ€ùÀÏ ;FlJ,NvN¹Ï ì0ŠŽõ;Z´;“x†yÛæñëÙ_É1äÐØ«1Ït~†öÄ®˜]„´avßÙæ¾—ìZBXT—’/áîèNSŸ¦Œl?2ßýn>@bZ"ˇ-gƦ¼pƒÑ@‹Ú-˜Ðm‚ù9y~»ò/ÿô2±x8y0¦ãþôO_<ÌåC,êŽë4ŽîyÁüLÁ<=|{ðþ÷KxeK.5+•#dý‰õœI ÁÉ։ŃÓªN+~OúÙ[fsîê¹2«ˆˆü}i9¨ˆˆTˆÑGÓ¾^{œìœhY»%‘ÿ‰¤ºSuú5é‡ßûÎ\73'“MQ›¨_½>›£6“–f>¶:b5ƒ›®Œ!äs£1…nåµ ¼Ôó%º7ꎳ3~ž~¼õÀ[˜L&^ {Õ¢ŸöõÚ3¦ãª9V£ºSu†·΀¦øxßǤf¥šë…n%93™©½¦Ò¥aœíœñ÷òg^¿yħÆWôðEDä6¥$PDD*DËÚ- ,÷pò {£îìŒÙIBj›¢6ÑòŽ–<ÚêQ2s2Ù¹€¤Œ$öœÛÃ}þ÷UXÜ7s£1… ÃÚÊÚ<ƒ™ÇËÕ ?O?"b#ˆM‰ §oOV>²2_Þäsˆºe.ûù·Ÿ¸ç®{,êz»zÓ°FÃREDDª-‘ ádçtÃcƒ›&ìTkO¬å_mÿÅwß1¸ù`:ÖïÈœ­søþø÷ü#ð¬;±Ž¾=p¶s.Ò9ËúžÀ¿*hLÙ†lR²R¸{áÝ7l“C-·Z¤d¥ðÁÞØxj#±)±$g&[Ô˸žaî7-; [‡Ç_Ó¥&gÏ+~©š”ŠˆH¥ëѨN¬>ºšAÍqøâa^Œ£­#]taGÌâSãùöè·Lè6¡Èý–õ=Eaoc»£;iYiÿÏñ›n\0ê›Qìû}Sƒ§2 éª;UÇÊÊŠö}ÄÌÍ31a2÷ëbïBZvé×Óó%‚yÓˆˆˆFËAED¤ÒÙÙØÑ/ 'âO0û|‚ý‚q´u`PóAŒÞúå-âSãéX¿c%G[¸ûüïÃ`2Xì|šgéî¥t]҃ɀÁ˜[ÇËÕ‹ÇÛgñÎÅLé9+l¬mh_¯= © ¼¿ç}®f\%3'“ÝgwóÙ¡Ïò÷Û}"N¼ö:;Îì ýz:Ñ—£yáûмDVDDÄÊd2™*;)™¸¸8RSS ¯øú6bÑ¢8úö-ZýÒ:|ñ0C–ÉW=9ú†m‚—“mÈfûØíæ1€I?LbÕÑUü4â'|=}Ë%Þ¢(Θ’2’X²k aQa\J¾„»£;M}š2²ýH:7èl®w5ã* ~^À¶ÓÛHHMÀÃɃnwuÃËÕ‹w}€æµšóݹ»§žI<ümóøõì¯ärhìÕ˜g:?ÃGû?bWÌ.BZ„0»ïìò¸"rªèßÿRþ|||puu-i󯕊ˆÜÆnå$PDDn úýÿ÷SÚ$ðÖ_S#""""""eFI ˆˆˆˆˆH¢$PDDDDDþ¯½ûŠª\À8þ,Ë (  2¤A¨”qýQáÔ-í:“àôcì6)bŽcÃ8¥™•“?ÉÒ§É´,ÓJ+Ó[wFÅ ­„®9ZZ]E ÄÙ…e…eï4 \Îêù~føcϾ{γ煇ó¾ga"”@0J ˜%L„&B ¡€‰PÀD(`"”@0J Ày‡ó·(®åÇÝä6:R‡}ùë—-ù_I4:N‹ü£ùJ_‘®¹ŒŽðA”@€!FÝ4JE3‹”Ÿnt”K6:a´ŠfiØ ÃŒŽ"I*©)QÖ§YZ²s‰ÎÔŸ1:ÀGQjð«ƒ5~íx£c˜ÂÒ]K•Ò7E›ŸØ¬`[°Ñq>ÊßèàÊXxÿBúàã¸À5‚¸\ tŠU߯Ң¯I’ö–îUÜ¢8I’ÕϪCÏj3¾²®R¹_çê›âodõ³*¹o²æ¤ÏQLXŒ¤?n$3eã”–ñÛ&mÓÒo–ªàDj\5’¤=Ó÷(Ü®ªú*-ÿn¹¾*úJŽ uè®!×Ñ´Ó”Ð;¡e¯G[þ»E~Ü C•‡äp;«Ì¤LM¸u‚ü,­ÿWzô÷£z%ÿ–ÊÓìÑÀ¨šq׌Ÿ›¹äiö\ÔØˆàN+ìð1ø(€N11u¢&¦NÔàW+1*Që[Áñó¶ÏÓä¿MÖâkÿ©ýš²qŠžÞü´6>¾QÒŸ7’Éþ,[Ûl×ó[ž×ô;¦+÷\>sX™dJ’N;O+ム¹›ÜZtÿ"Ýs»Nž=©·¾¨qkÆiíÃk•Ü7Y’´óèNMß<]3FÎÐcßP³·Y_üò…æmŸ§rG¹fÞ=³%߉êÊø Cv»–]®”ëRô[ÍoZ¸c¡JªK:tnÚ+Át¦ƒ|BfR¦’û&Ën³khìP¥Å¥é§²ŸTíªnwüä¡“•“*»Í®¤è$zæÂíáZ²s‰Nž=©çÒžÓ]7Þ¥ [â#âõú?^—×ëÕܼ¹­ö““ªì¡Ù U¸=\n 1‰côÞž÷ät;[Æ-Ù¹Dµ µš3jŽFô¡ [DPî¹:í<Ý©ç€+‰ð 7GßÜêqTH”$©ÂQÑîø¤è¤v·çΓŸÅOiqi­¶G†D*>"^˪ÜQ.IJ‹KÓºGÖµÙGBï557éÈ™#-ÛvÛ%Iº³ÿ­Æöé­~=û]è­àS˜ ð ݺ·z|~=žWÞvÇÛmö6ÛÎyÎÉávH’nYzËÿ=ÖñªãêÓ½n‡ÞùÏ;Úvx›Êåªm¨m5ÎÕèjÙoݹ:ø(ÈÔf½‚{©¸ªøï®5ÖŒD t*‹,]v¬nÖnêØCuî:ýòÌ/²Z¬Ÿõi–öü¶GsÒçhLâ…ÛÃe±X´zÏjÍÿj~Kífí¦ànÁª;W§úÆú6Eðüi.kFb:( SÙmv5z[z{”>Þÿq§ïÞ÷ÊãõhoéÞ6Ï­(\¡;Þ¼C¯Gžæ?ÆD†DêñÛWÏ ž²Xþ(¬î&w›×Žì?RÒŸÓBÏ«vUwè* F£:ÕÀ>U\U¬²Ú2í;¹O%Õ%rýN;ÞŒ‘3£gÿý¬vÛ)‡Û¡W>Ú÷‘–·\³ÒfÉj±ÊêgUjLª*•ZùýJU»ªÕÐÔ Â…úp߇m÷{× …ÙÃôrÞËú¶ø[Õ7Ö«èL‘rþ•ÓîQ|•Åëõ¶¿Øàó***ät:ÿz ¤ûkþüJëèäT­ûý˜fo™­ƒåfSöÐl=šü¨öŸÚ¯qkƵûÔ°§”sgNËw žwwÜÝš:lj›ñ’T4³¨Í¶WÞÜý¦òŽä©¬¶L={(1*Q“R'iø Ã[ÆU»ªõÚ®×”4_•ÎJ…ÙÃ4²ÿHE†Dê­‚·$Iƒú Ò¦n’$W+7?W' ÔäiÒM‘7iÚðiZýÃjí>¾[’”qs†Þ¿ðòNÚ%ÚQ´CYŸfµûÜ‚¿/PfRf'`´†‹ ꯷ß.WZZÑqp…DEE)$$äR_þ %®b)ÆÅjÒ¤³z≎­_\½ÊËý5bD¬6l8©””£ãà ¹ÜÈtP0‰¸¸F>ÜÍè€.tþs¿ÿs'/¡€I$'7¨  í×*®]võëר°°f££À‡PÀ$ÒÒêUZꯌŽèÍÍÒÖ­Á¬D”@0‰¤¤ÅÇŸÓÚµ¡FGt]»‚TRbÓ¸q]{C0ø>J ˜Hvv6mê®_åj \Ë<‹rs{)-­Nññ¬Dk”@0‘t(%¥A/½!î ×®uëz¨¸Ø¦Y³~7: |%LÄb‘fÏ>£}ûµf ÓBàZtô¨MË–õÔ“OžU¿~FÇ¢€É äVNN•,ˆÐŽAFÇ\A55~š<9Z±±š:µÊè8ðQ”@0¡ììjëPNN”~ü‘õp-p:ý”­¦&‹V­*“Ýμ´&5o^¥n»­A=ÖW[¶„pJKý•™ÙW%%6­\Y¦^½1: Kþ|fqMÅ1~IEND®B`‚fio-3.39/examples/uring-cmd-trim-multi-range.fio000066400000000000000000000004761476262051600216420ustar00rootroot00000000000000# Multi-range trim command test with io_uring_cmd I/O engine for nvme-ns # generic character device. # [global] filename=/dev/ng0n1 ioengine=io_uring_cmd cmd_type=nvme size=10M iodepth=32 thread=1 stonewall=1 [write_bs] bs=4096 rw=randtrim num_range=8 [write_bssplit] bssplit=4k/10:64k/50:32k/40 rw=trim num_range=8 fio-3.39/examples/uring-cmd-trim-multi-range.png000066400000000000000000002044151476262051600216500ustar00rootroot00000000000000‰PNG  IHDRN}[µabKGDÿÿÿ ½§“ IDATxœìÝg\Ið' „ÞC¤W+U¤ØÛ+–óOE==û)özêÙ»ž,(Š(6P°‚T‘^¤I€äý°ºÆ€H5žÿÏ›ÙÉì3“wg7.— !„BHQB!„j-˜ê!„B -LõB!„„¦z!„BB S=„B!¡…©B!„ÐÂT!„BHhaª‡B!$´0ÕC!„Z"‚!Ôž8;;“Ûk×®\,íCQQ‘‡‡ùräÈ‘sæÌ`¯DYY¹¦¦†(444$ ëO§¸\îþýû‰šâââd›\.wüøñäi2kkk¢„\wîÜ! õôôˆ’ãÇ·Hl\.W__Ÿ¨¼k×.¾]ÍÒÆv¤Íi³ ó‡·; œúS=¾ÊµG2::šJ¥¦¥¥‘•‡ÚÚsuÏž=D‰®®.QrîÜ9¢ÄÖÖ¶!!cûôé™ê;vŒ(a0ä ;88…óæÍûéˆ!Ô¡à\„§OŸ>:::Äöž={$%%ú bCEE…,|ÿþ=q‹¼¡µk×®äõ>sss¾§r,\¸ðéÓ§¼%çÏŸWVV&¯š››ó^äݲeKii)_$fffÄï ¡¼…ïß¿€ÔÔT¢¤™±ÕŠ:5aHÛ‘†DØØ6±†t¡öHÊËË=zôèÑ£¯_¿...®©©!?;¢;|Zd®9r„Ø000àÛxôèÑË—/ÉQm2•ìÖ­yqÙÌÌ,** :´mÛ¶æ´ÁT¡Æ!ÿ”€±±qCÞB^á".³jjjˆ´´4bƒX;E——çk$..îÞ½{¼%UUUœœL¼d0¼{544444ø¡ÓéÄ•J­§°¥bk & ic;ÒÛæ/Ö.ÔÉ   ooïšš%%¥uëÖïÞ½ûâÅ‹Àápj¥Eæ*9'Ÿ?Nìíí ÑÑÑÛ·ooþŠ¥fÆ&&&ÄS3ˆ(((¨Î놭­ž›£™ó§QƒÓ´.XXXܾ}"##GUZZÖ„v œ+W®¼~ýzYYÙÛ·o/\¸0zôhøðáÃÂ… åää ??Ÿ¸ªËårÓÓÓ•ê­Y³ææÍ›ÙÙÙ¯^½zö왥¥eNNέ[·@RRr÷îÝMî BÂIÐ÷… $H999vvvÄÏBÏž=ÍÍÍ}}}ÉŸGGÇ   ÂÂB'''òއN:999]¿~h¡Î½µ }||bbbìííÉÆÍÍÍ7lØ@4róæMbݺ¸¸¸……………y.ÄÝÝý§½HII5j”¨¨(˜™™©ªªnݺµÎðf͚̻XÊÁÁ!..nÈ!äj'---77·ŸÆ¦¤¤Dt¶žØbbbˆ‡‹‰‰õèÑCUU566¶E†´±©­ùm6yþ4vpÞÞ‘är¹¯_¿&ï533:t(ù´''§7oÞ´Æ\‹‹8p ±àÏØØØÂÂBUUuþüùä ³§oß¾`jjZQQÑØ™ÌÌ̉'Š‹‹‹‰‰YXXÈÊÊR©Ô!C†ÄÆÆÖ3ê˜(\.êØÒÒÒ²²²äääLLLJJJâââÈ]†††ÊÊÊ>ä{‹‰‰ ñ(ÝêêêÚ{íììø eddôôôbccy ÕÔÔxOf$%%åçç+)){yy—¨&Mštâĉ†ô¢²²òÝ»weeeÊÊÊ:::ÄýµÃ“““SUU%¶ÌÍÍãââØl6Y"**ÊûW–7¶¤¤$ÞË”vvvä½ uª©©ILL,**’‘‘éÚµ«¨¨hƒÖØ!mZGxµÔà4aþéQ‡÷2hý]ž‘$‘œœ\^^®££Ã`0’““333ɽÏŸ?ç}{ ÎÕÒÒÒ¤¤¤êêjeee---¾yÂb±^½zebb"))Y»# £ººúÝ»wÄ#” ¥¥¥ë%„:8Lõ0&“9tèP¾g888xð ;;›Ëåjhh˜˜˜ 4hàÀbbb: RWgççãÓõÐx!ôKUVR%%ñêmC%&&ª¨¨/—.]:iÒ$ˆŠŠÊÏÏ€   b׫W¯ôõõ7lØœœœœœ,!ñåúÝÎ;EDD‚ƒƒ×®] ®®®¼{ K–,‰ŠŠ"_†††&''“y^bb¢‹‹Ë±cÇÊË˯^½zóæM‹uäÈ‘#Fäåå5ª;—.]Ú»woXX˜ŽŽN\\Ü¢E‹6oÞ gâĉ'OžÌÉÉ9xðàóçÏLLLæÎ{ñâÅÆ[G')É©¨À¿ïè œ ¡_ŠË¼÷¶Qh4š»»;±M&vdŸ˜˜±±±YYYC‡å{»ŠŠŠ¯¯¯œœÜ˜1cäåå›À’%KŠ‹‹`èСºººššš®®®½~ýúF5åë뫪ªª¡¡1mÚ4¢äðáÃïß¿ÿðáCJJ ())ÙØØˆ‰‰)**þñÇMQ(ÀÅÿO¡¯0ÕC¡¶ÎÃÃØHHHxûömYYÙíÛ·õõõ‰B"í ÛÅÛÛ[OO¸\®ŸŸß›7oª««?~üMT0`@sú…¢pñ.„PËÉËË+//¯§‚þÎy..õÕAuº{÷®|}Q8`À€>˜™™]¸p( ™;w.ß{#""455ëÜÛ«W¯3gÎ@llìÆß¼ySYYÉ`0†¾xñbâÂnVVÖ¡C‡¢¢¢rrr¨T*ƒÁèÕ«×ï¿ÿnbbRÌk×®å½üºfÍšóçÏó>WoôèÑÄ®ØØØ'Oždff~þüYFFÆÀÀ`ذažžž4>"®qBC¥ýüT““Sú‚¼‰J 0ÕCµ$Lõ8LõÚÁ¦z¾-ãܹs­BHà:wîlkk+è(Bµ¤F§zãÆk8B7zôèóçÏ : Ôþüh—ŸŸŸŸŸß¯ !ħ)[ ;vl‹‡‚ 1cÆ:„B-Ÿ«‡B¨Y’““Bè‡ða+!„BB S=„B!¡…©B!„еzíI\\\PP_¡–––———@âi¾ˆˆˆˆˆò¥¯¯¯šššàÂA!„„ ¦zíOHHȳgÏ€B¡¬X±BÐá4Wyyù?ÿüCl»»»cª‡Bµ LõÚ“=zôèÑ#77—Hõ¨Tª¿¿¿ ƒjggg2ÕC!„P˵z!„BB S=„B!¡…p…YRRRddd^^N711éß¿¿¸¸8o6›}ûöí¸¸8‡Ó­[7‡íÛ·“{­¬¬\]]ÚTHHHLL ù®… ÆÆÆ>yò¤ªªJOOÏÍÍMLL¬žƒš™™µVÿQœ¡¢"nk«,è@êЖcãÓ¦BmSÁ´”wïJoÜÈ JËϯŒ!èpðÃTO8yyyKIIyyy½zõjÁ‚jjj'Nœ8p Q'99ÙÍÍííÛ·T*uÒ¤I)))ÿý÷‹/ˆ½Ó§OoxSÙÙÙ‡"¶###õôôØlöÿýÇáp ž%DêF¦\ ¤¤Dl0Œ&4ŇlF£ÄFŠPc¥¤”]»–ElÏœiL£QÈ]……U‘‘ù99L š¹¹bÏž |ïÍϯŒŒÌËϯ’‘±´T25•«³Í÷ïË¢¢òi4Š™™bü¼}[òøq‹Å62’íÓGõÊ•ŒŒŒ èÚU^GGŠ/¶Fµü£ð~d×®.·¾ ’’4ooÃ:w5gk‹Ž.|ôè#¨«‹£iiŸƒƒ3@\œêãcTûˆ))e,.® ôï¯vçN.o0-õ‰ôïÿó‡wýÍÍe**ŠééI[Z*Q(uD™/*JéÓGUWW^¿.~ò¤@R’fo¯¢¥%UgH55œ®]å…lõ!jã0ÕB\žßôäöèÑ£G |wf…BhlSõ·Ö„j5\HHæû÷eÓ§’ÿÍ8v,eëÖ7ÆÆ²––ŠU›7¿67Wܹ³—’Ò—[…JÚ¶-¾K9++¥7o>­^ç⢱y³%NåmSR’öèÑGCCÙØØO«WÇ-\Ø•ÈT€Ë…•+_ž9“ji©df¦páBÚIÕÕìׯ‹gÎ4©'¶Ÿ¶ÜðÚÈ0ÖcïÞ„ž=‰TZ]Íáí&qÄêjöË—Ÿºw—OJ*‹ˆÈ%Næ5aÜø‰Ôƒì¯••RvvÅöíñbbÔ-”•Åɤ¤Dž>ý¨«+•¿nÝ«mÛ¬RRÊß¾-ÖÒ’ŠˆÈ[»öÕ¡C¶äùH¾NŸ~âD ›]oJŽPËÁTO¨Ü¸q£¸¸¸gÏžd‰»»»‹‹ ùòŸþ100€®]»’…?~$6 ølHS ×Àƒ"ÔXúú2~~&ññÅïß—‘…W¯f®[7bDç-[,©T ÄÄŽÆŒÇN \¹’±iÓëáÃ5·m³&þëqåJÆŸƨ«K,ZÔ·Í‚‚ª#Gì€ËW×;;w&üþ»¨(NŸ~æLê˜1:6˜Ç Íòó{J§Sýü¾$|±5°åúÃûÑP̞ݠl¦‡ñG¬­•¬­•zG–hkKùù™Ü½›“™YQûˆ••ìS§ˆ¡Ø»7±kW9++¥&Œ[C>‘zý9RkófK¢wóæu6ìÎÛ·%½{+“|úT}à€-0™l{ûëË—¿œ:Õ`ß¾Þ0s¦‰½ýõÝ»ÈT¯vH—/g,\øLDÿÇ‹~\«'TnܸàèèhccC”{oݺµ`ÁâT\ß¾}ÉÄ+<<œØ ãk°!M5\ŠP‹8xðÌœiL$(`e¥dg§òüyQtt<˜³f™ùŠ›[gUUñS§Þ³XަƌÑ&6(07W¬¬dgg3‰’“'߀¯ï·sT..:I60ÈzZnxx­ê§ÃØR&MÒ'6(˜9ÓXB¢¾3­÷‰ýýãcrØèþþ=ÍÍ•x«yxt&6$$hFF²ee,òÌ¥¬¬¨¾¾ oº\;¤#:3??'ŠP‹À³zíI\\\PPù;‡Ã÷Åh?VSS£P(ÁÁÁ“'O¾yóæÉ“'333­­­322BCCwìØAÜA¥R/_¾L<÷dË–-¹¹¹t:ø¾5^ i*$$äÊ•+ä[6oÞìííõøñc¢$99Ùßßîܹòòòõtÿþý®®®äÃüj26››PB£Qtt¤yËõô¤<Èó¦ÄÒR)1±„J¥„„dò.' Ñ¨L&;1±´[7y²7Q“£@EE q”÷ïËh4JçÎßešš’ zŽF=-7<<^ÍY«WÛO‡±W¯[k«ªÚˆÿ:¶Ò'BöW[û»•vƒuâ«©®þ­} •Já½SXRRäóç²ÍÚ!Q( ¥%U\\ýÓj>LõÚŸz’¡!C†˜˜˜€ªªjXXX||üÇóóó%%%­­­÷íÛ''÷mM·A\\ñ4c.—Û­[·eË–éèè{É3v iªS§N+W®¬Ì!Cø ktË–-¼ÏmFè—à…B¡Pø—Ž­ ²²¢¼…ÔF^ÿàpº «ž–žà4eµÙÖ¨5jùnë}"M €Bi\ü@ž%E¨µaª×žôèÑ£G ¯ß¥K—.]ºühïÍ›7ÙlöСCÉ„,::𨒒"s¾Ÿ6UgêiddTgeáËùÎM"ÔN® IDAT|4ÅÄDîíÛ’ÊõôdÈò””2èÚUžF£˾}[2i’ž‚¬ðî]é͛٠ºÞG£Qôõe’“ËÒÓ?óž÷JOÿÜüø›^sÖêÕFýÃøÓ$%EÊÊX¼%99ÌŒO3?²¿iiŸ‰›j W®dÐé´!CøÏí5'¤¬¬Š&´†PàZ½ŽëæÍ›sæÌùüùÛoÀÿþûؘ7o^c×á!ÔÖ·dîÙ“HžÑ‰‰)|ô装…¢µ5fÌ0€}ûÉ·TU±W¬xI\ÂkàQ&MÒ€’È’ààŒ[à[Z$¼æûé0ÖOWWúÇròJehhVi)«þ·4S3?¢¿{÷&’×Á?|(_¶ìEMMÓ×GÖéÆ,LõÐ/Ckì •U«V3†÷VJÔN•••ݸqcß¾})))·oß^³fÍÅ‹%$$–/_îïïCéhΟ?cÇŽmf;Ÿ?®®®oÒΊC‡~64lÉUJ))e§N¥>yRðéS5”–² dŒe¥¥EOœH¹{77%¥,((}ëÖ7––J{öØHJŠ€¡¡¬œ}ÿþwwïæ$'—EDä­YóJFFdÇŽ^bb´Ü\æÑ£)d›Ð¹³ÔÎ Ožç¥ÊËYÆÆrÝ»+|úTúàÁÇääÒÀÀ´ÄÄC<7—I<Ú£vlÒÒ" i¹þðZpôš9ŒõSU• É ËÉÌü|ùrFFF• ùù•55ÜšNåŠèèBÆ‚ià¸ýô©ÑßÿþK ÏKI) ÍZ¿þÕØ±ÚÞÞ†µ§„˜íÈ‘ä'O JJª(D ~ìXÊ“'¥¥,@SS’/¤sçÒ=ú¨¢"ž›[ÉåByyžžt=!5ARýúui?¿O-Û,j2òÛA/àv\£FòððˆŽŽŽÏÎÎöððX´h‘³³³ŒŒÌÏߌPÛãêªÉWâåe0bDçû÷órs+ÕÕ%~ûÍÀÌì»gíþö›þðáš÷ïççä0eeE‡×47ÿî7rí6ííUìíUÈ— øû÷7N‡x:nŸ>ªöö*£Gß§ÕßÎO[nHx­¡ ÃX>}TÂÂ>x_ZZíä¤fg§ðï»_k±ž]-õ‰Ôƒ·¿zz2ÞÞ†úúß~+ÖÀÝ]‹¯dÔ(mÞ—¼!±Xl[[eÞ§:#ÔÚ(ÜúoÖªý %00°ùÿõGµ)cÆŒ¯çöš#//¯¼¼¼ž ú;w湸ÔW§©¨`Ÿ;÷aÊ}²„Íæö%uñ¢³àâê¸ð€ÐPi??ÕääA‚¾Ð××ÿy¥VƒkõB¨é>f­[÷æM1Yrî܇OŸªÇÓ`T~"ñÁ ¸!ÔtRR¢––J&Dª)//úî]iddþ”)úcÇjÿüÍíßÎ ?Úecà ÞýJ?ýDÚ`̵*LõB¨é$%iމ‰¥oÞççWöï¯þ÷ß=ø8Œ~%üD⃩B5—±±¬±±¬ £€†|«¬@Ôó‰´Ù˜j%¸V!„BHhaª‡B!$´0ÕC!„ZMY«7nܸqãÆµx(!ÁÒÔüá“lBµSMIõ\\\êù2{$”vìØannîää$è@Pk¹ví¦z!$|š’êýöÛoømÍŽ;œœœ¶oß.è@PkÉÌÌt!„Z®ÕC!„Zø\=„jG>îÚ•t:õøq{A‡ƒB ‚gõB¨AŒŒdçÌ1ýü¹æéÓAÇ‚B …gõB¨A””Ä””ÄääDþ/¯‡ÚÚR+Wöl½¨B¨~˜ê!„Pk‰Ž.øü¹FÐQ „:4Lõ~…ÀÀÀ}ûö€²²òùóçÀ@Ø·@Yp „ú%0Õk .—;gÎYYÙµk×6¤¾ªªª··wrrrkdž~.æÌYYhØ4;;PUooÀiÐ:¸\¸{7÷ö휜œ %%1==7·Î;KÆÄnÛOÔ9vÌîÂ…´{÷òEE)ÎÎj£Gk×ÔpNœxÿäI¤$­o_µ#:ó¶YYÉ>{6õñãl6tí*÷ûï æÚµÌÓ§S«ª8‰‰%žž‘@£Q°õö~HÖ;VÇݽ3›Í4)Š(±±aÈœ> ŠŠôõë-NœH‰‹+f³9={*Lž¬//OçíïÍ›ÙwîääçWJK‹X[3ƌё”¤ÕÕ¤IQl6·ž òòô½{mêÜÅ;ŒGÚ]¼˜™O£QÌÍ'OÖ§Ó©ìŸöÎÞ^¥ÉŸEú‹ —[ß}o P;øsõ˜L&ƒÁ’’ÊÏÏoø»ÌÌÌ ÚéÓË(Êܹsñ¹zßa2Á))hÌ433((€¶7 ÆŒÍ?뜗—W^^^Oý;ó\\ê«Ó55ÜY³ž„‡çN™¢oc£ÌdÖœ?ŸöàAþ–-VNNªïÞ•nÛÿìYá¨QÚFF²zzÒ·neŸ;—æëkœž^nn®¨­-šuùr†¿ωõˆ6?®?þ~bb©¡¹¹bffEpp‹ÅIN.‹Q<99Ìôôϼkõ(°´TЉ)ô÷MI)۳ǦK9 I.ž>-Ø´éµ¥¥âر:ÒÒ¢é韗,y^ZÊÒÒ’4¨“±±lJJÙîÝ ²²ô€€>:I‹Å™9óé½{¹^^ÖÖJÙÙÌ={%%igÏ:ª¨ˆÿ(ª§O êÿ•/*Jµ°P¬s×§OÕä0Ž©¥¯/cl,ûâEѾ}‰Ã†iîØaÍfscb W­ŠMNþaï ñ¦}Mëo‡*íç§šœœ"è@Ðúúú<:žÕk ‰øøxQÑF¬ÎFBHBâã§AÛ°woâíÛ9 võñùò]>C†hŒþéS•‚ÝÆ†¡ @ ÅqãtÀÉI522ÿþÄíÛ­‡×''µû÷ó?éÅŽñññ%K–tŸ:õËÉ< %w÷p:ýçÏ.PW—PW— RAFFÔÆ†A–ÛØ0¼¼ô—,y‘’R:p :P( ¡!™šZ~옜x¯””Hzúç- P€¾}Õôõe¦M{´reì¡C¶DïÞÍ™7¯ËÌ™Ædl#FÜõ÷ýÑi9èÕ‹ñ£]?Å7ŒãÇë½|Y’¹aƒ…„ÍÆ†1uªÁ¢EÏùz÷áCùÿÙËȈ#ЄϢiýE>l¥É´µµ;uê$è( ikNƒ¶áüù0j”6YB£Qvïî5t¨o5GGUbƒJ¥hkK€££ Y_[[*;›IV¾v- FŽüv±[7yéf†:b„ƒ!vâÄ{‹C”=šìîÞ™ÈóH""”~ýÔÈ—}ûªÉËÓïÝË++cÀ… i0fÌ·þvé"§«+sûvNi)«™þ”““*¹­§'YYÄK7·Î**â|½5J‹Èóx5ê³lj×ÚåY½¨¨¨åË—Ûׯ_?~üxXXF³µµ={¶˜˜œ}º¨¨èĉ÷ìÙC¼ËÈȈ|‡óå·‹Å9r¤‡‡‡‚‚¬Y³†zðàASSÓ§OŸòFÎb±ÜÜܪ««§M›Ö¯_¿mÛ¶™››§§§{·mÛ6hÐ %%¥Ù³g7.88XSSó™î7//9î݃OŸÀÃ`òd¨¬„®]ÁßÄëZ‹cbþþPS÷î¯/ôi`j Â×iŽŽàïOžÀ×iàï99ðu|×ÎŒPQ¾¾ ¨ÞÞ°t)Lš4LŸ¢¢0q"|`dôí]_§°X0r$xx€‚ÌšC‡ÂÁƒ`j ßO`±ÀÍ ª«aÚ4è×¶mssø: `Û64””`öl7‚ƒAS:È4h*"*Je±8ÕÕœŸ×nªˆ…ÅâI Ì?šcâD=11Ú‘#Épútª­­²¶¶_&“ÿ@åå,”¡Ñ(t:•B??“9sLÉûöõ>}º¾¾ÌŽ;{öwõkÿóö6l~ï<=õ$%¿õÎÙY•X_ØdMî/BÚéY=ƒáììLœ0³³³›>}: 6ìñãLJ–’’ÒÖÖÖÖ֦Ѿݜ¥¨¨èìì,##SXXXg;Ó¦M€¡C‡†……mܸñÌ™3ãÇ€!C†Ü¸qãðáÃ3gÎ%%%ò]¤uëÖ¯_¿ž<á7bÄ===¤¤$ ¢0??ßÛÛ{ܸqàêêjjjêêêúÇ„„„ÀìììÖ­[GTvssÓÑÑ)++kµlKÌÍÁÜrr`Ó&¸t LMáþ}PP€;öƒ;ì pvþrÂÌΦO6 ?†€8|¤¤@[´µ¿kAQœAF¾Nþv¦M:ÂÂ`ãF8sÆ2n܀ÇaæL%¥oï"­[ÁÁ°~ý·~#F€žxx@R|ŸÞÞ0n€«+˜š‚«+üñ„„8vvðu€›èè@™ME¡€ #**?.î“•Õ·aÇß6ìÎØ±÷GÖž7¯K Œf]j#£K–<ߺ5ž¬¬¡!9dˆFyy··Aý4ð³øõýEHh´Ë ¸ G¡PÈåt&“ù£ÊM&""Bä‚UUUÄM!„ÒÒR’ú¶§ªªŠï½ÄõY¢Ž²²ò‘#GöîÝúï¿ÿ®Y³æâÅ‹äùÅ¡¤X,PP€ùóÁÑñ»›šŒBï§´Â4‘/¹`UðL(-à™Pk|¹>KÔQV†#G`ï^ˆ‰ÐPø÷_X³.^„5 šÄÂBñêÕ~ÙÙ¹¹• t--)â|ššÄœ9¦d5 I:oIçÎ’22¢ß×ùrµ}Ø0ÍÁƒ5Þ½+e±Øzz222¢oß–'ù”•¿»]£Nýú©?|è’šZ&//Ö¹3ÿz57·Î %ÆiþèíÆiØ))©´¦†cd$+!ñÝoìž=‚ƒûæä0sr˜²²¢;KЉµâó„k#ð–ðž³€¿ÿî1a‚.ßYÕæ|¿¸¿ !Oõ È—•••iiiâu®ño …âäätëÖ­§OŸöéÓ‡,ŽŽ¦P(ÎÎÎdIQQQnn®šÚ—(äååeffª««ëêꀫ«ëáÇÕÔÔìííííígÍš¥¡¡±cÇŽ”êUT€»;lÝ ²²0t(Œaaü'Àš@Ax¦TVBZZÝ·z4…NNpë<} <Ó¢£BžiEE› _§äåAf&¨«ƒ®.€«+> jj`oöö0khhÀŽ˜ê5P§N’|7HK‹ð>َЂˆ¥K9ò¥©©\Õ~DZZ¤{w…:wݼ™=y²~ý×étjý@‰ø5*¤¦ià0’ 1ƒ?næg¿°¿ v·~VVVIII111ÄËÕ«WÓ¸ö«‘Ö¯_/..>þü?%[·nõññ15ýößS‘yóæUVV@uuõܹsY,ÖŠ+( DEEmܸ±¦æËJ øøx.—K\î(¦L77ðð€àŸàî]øóÏhÖÊ ’’àë4€Õ«º°±Ö¯qq˜?¾NغbcÁÇx¦ˆˆÀ¼yPY P] sç‹+V±+* 6n„¯ÓâãË…5 „ZxxîÑ£É_òäIñ b„j=í2Õ‹wvvŽŠŠ€AƒÏÏsvv>sæ x{{“·ÁnذÁÄÄÄÁÁÁÊÊÊÄÄDGGÇÐतÄÙÙùàÁƒµÛILLtvv~úô)›Í&|õꕳ³óË—/™L¦³³óñãÇë ÉÊÊêÎ;,K[[ÛÒÒRCCcõêÕ+W®$Ñèì윜œ¬ªªêäädhhhmm­¦¦våʕ͛7ûúú¬_¿>,,¬S§N¶¶¶]ºt6lØ„ 6oÞÜêÚüû/X[Ã… ©©PRAA * »v½=œB™žžž™™)))Ù¥KrWFFqs†˜˜˜­­-“ÉŒg³Ùݺu“”ä_¾“ŸŸO\eÖÑÑ‘‘i+Ï‹jõïÀMJ‚¬¬/ÛÖÖ@§{îèê‚¶6ÿ[JKçãmmÐÕžiJJðu› ))P\ ¦¦ #Ïž}Y§¥ ; ÆwϱÓÓ99à™ £::îî UUðý4€ôtÈÌIIèÒåÛ®ŒŒ/7gˆ‰­-0™l6t뵦äç¹Ê¬£¿d´÷ïÀE‘ð;pÛÁ~n»Lõå÷ßß²e ñD½>}ú$%%åææ :¨_¤ÕS½vä÷ßaË–/OÔëÓ’’@(¦¦z LõÚÁ¦zíò® DGG_ºt ÒÓÓ£££‡.èˆ DGÃ¥Kéé 8 Bµa˜ê5‚¯¯ïüù󭬬zôèÑ·oßM›6 :"$¾¾0>XYAз/à4@!Ô† ùÃVZÖ¬Y³fÍš%è( Íš8 BµxV!„BHhaª‡B!$´0ÕC!„Z˜ê!„B -¼-!Ôî~rxcøFP•V}0ëÁOë ŠÏŸ»Éwç9Λi7“o×Ûü·ÿÜûçYæ36‡m¦a6ÇaŽ¥¦%o6‡}âÙ‰ ×A©…©"4‘njÝfØÎ°×±çk§†SsòÙÉ˯/§¥Š‹ŠwSë6Ñbb_ý¾Ä·/"„: <«‡j÷¼m¼“'›ªšþ¼ªà\z}énòÝ:wÅæÄŽ91FŠ.6-ìÞ÷:Ëuö<í•EV`sØ3‚fl ß4¶Çب™Q!^!šršS§„¼ ám‡ÉbN<3ñâ«‹Ë,:çéå)—%E%}.ø$$µnßBmXSÎê͘1cþüù- jãóLUMS R–\_2ñìÄÿþ÷_¯Î½Àÿ¦ÿõ„ë»ÜwYu¶*¯*?üôðô ÓO{ž¶Ñ²ùQƒ‰ ›Ò’Ð%ÃM‡ÛjÛþ¨BYUHÒ%y %E% „YB¼ì£ÛçnòÝ»ÉwtÈ:÷ßßf “x™_ž‹CÛiÛpVN\îNòa+"S#ƒ~ ’“ifGBí®ÕC ²ª²N ,5-%E%»«wÿgø?,6kÍí5ÄÞ‡2 tÄEÄRŒÅ}ë*ê¶j<±>}XÜoqcßÈ.OHÛsl7µng^œ9õüT1³8»4Ûÿ¦^y+üªjª@Œ&¶Ùusgùβâ²#»œa;#µ(õÈÓ#-Ö%„P{ƒ©BHxˆ‰ˆõTïI¾4V6V‘Vy›÷–8ãå¤ïô<ëù²ëË^f¿$.ËÞò¹UÏ)½fÊ.ÍÞxwã¦a›$D%ê©Fœo«¨®à-d²˜@ÞZ+&"vÚóôë)‡Ÿ÷¨£¸\î.÷]@Þ„Aœ´×±§Q¾]&îäˆLlÁ~!„Ú¼€‹òâò|Ï V’TÊ/Ï/ü\¨"­â?Ðß¼“yÐë Ig'çPc1 IDAT€•¦ÕxóñƒŒÕÓ`sÖêÝM¾[VUæyÚ“¯|ûýíÛïo€;Óïh+hë+é@nY.oÜÒ\à=é(E—ZÜwñâ¾ßN \WÕ®ÄK Y PTàë>~þn‘B¨CÁT!$<ˆuo¼ˆ[”¤”€B¡¸wswïæ^éyœöøðÓÃý±´ÿR/k¯5Øœµz-&N´˜È[ü&xþÕù|ß–Ñ[«÷î»_ç¾Ùm$Yø:÷5Ô³Âb2b`°ñ`â¥Ug«£ÑG‰ó—$¢û¼_Au4x!$<*XoóÞ’/?&æ—盪šªH«€ùvsâvWªˆƒ®ÃþQû)Jxr¸À€^Z½ ×®‹í€Ía‡¼ Q—Uï«ß—(ùÄüd¸É7+¯*?wÎÕÔ•<óç¬ï¬*­zÿý}² žÌ7Ðhà/ê B¨íÁTœ …¢¡¡!è@`ýúõGå+l;á ‡³OÏR¦Q&ž Ø0²‹³ý¯øßMàÿ2ƒ6^{$!*±ê֪؜X&‹ù*çÕü«óEi¢ø›¬ð÷¿òªÙÕ……är¹õŸ9û¨êF—%•%‹®-úXþ±˜YìËÿCчõC׋‰ˆ‘Õ¸\îÂk Ó>¥U³«c³c?÷;CŠá?ÈŸ¬@§Ñ7¸løTñiNðœŸ>”V–^~}yߣ}=Õ{þfõ›:†ŒÍf×·öux÷ uuõ'NtêÔIÐÀúõëÍÌ̼¼¾»¢ÔvÂ#ÌFl·Ý¥»‹`ÃÈ.Î^uuÕ²aËú™ôã-o#áµ#‡ŸÞ¾T¥U—ö_º9bs\v‡Ëé¡ÞãÔøSäsõÎxž9óòÌœà9Ù¥Ùb"b: :뇮ÓãW<;úﰿϾ8Klkõúèö96îQbÖÉìü¤óÿÜûgà¡§g§žg&œ!à …ÿþ÷߉˜ÿ;ý¿²Ê2-­a¦Ã¦öšJÞ~KpÔs ˜°3jçÈã#+k*µäµ¦ÙLóéíÃW u ·llÆ2ÄÝÝÝÒÒ’o +êP(ý¶+ …ˆß–Ñz¤¥¥ÍÌÌ¢¢¢~^õ¢P(sçÎÅoËhY1b¬×Y/¶l­ûZAÇòåÛ2Ο?ßÌvòòòÊËËë©`` ¿sgž‹K}uBÍ*íçW3gΖ+W®¤¦¦êéé¹¹¹=ZMMíçoF­@___€Gÿugõ^¾|Îb±ºuë6xðàÓ§O¿ÿ,,,ÜÜ܈:999aaaÙÙÙrrr={~yhBBBB@@±½|ùòÄÄÄ[·nÑh´Þ½{[[[ó¨$$$„‡‡q¹\77·+W®»DD¾ K~~~XXXff¦²²²‰‰‰½½}ýÿ7"êgddHIIõîÝÛÆæËs>|xóæM••ýóÏ?###Ÿ>}Êf³mllœœœxëTWW§§§ûûû•J]±b_äµÃ«}¸FX‹ãp97ß܌͌ëcØÇRÛrõÕÕ.<,}º¡¡¡ cC¿Ô¯X«Çårg̘ann~ñâÅüüücÇŽõíÛwïÞ½k×~w&cË–-:::û÷ï/**Šˆˆ°°°?~|UÕ·õÅ«V­Ú±cÇ_ý•••uþüù^½zmÞ¼¹ ¬X±ÂÏÏ/##ãéÓ§«V­ª¨¨ wÕÔÔ•·oß®­­½k×®‚‚‚gÏž3F__?<ü‡‹¸yë?yòÄÉÉ©oß¾ùùßVRïß¿ëÖ­ÿûßÿÖ®]›››{ÿþ}gggWWW&“ùÓa¬?¼:×kqEŸ‹69 Û9ìiêÓÌO™sæúõ[²úÔãSdJV¥ç!Ï«zÜ~{»èsÑѨ£úKõ·„mámgãõ‡"M>:ùÄ£y¥y›nl2ýÛôÞ»{mdoÄ^·Ýnï,(/z´7|/¹ëpäa²fUMÕ䣓»®èú*ôSŧ믯[®µ´Ûh—S’Sg7‰ú]Vt }Zô¹è|Ìy£eF³ÎÌ"ÌQɪ\uuÕûl7Ø^xv!¯4ᅦÿu]Ñ•Èê~ªÎðê9\CF !Ôþõ×_÷ïß_»ví«W¯\\\|||ž={&è¸Ð¯ó+.àîÙ³gÖ¬Y^^^GŽ|ybû¹sçÆ'&&VYYI”œ9sf„ ãÇ?}ú4qÚŒ(ù믿ÈÔÄÝÝ=88xÁ‚[¶l.—Û³gÏäääââb:Þ¨FæÌ™³cÇ¢‘uëÖýù矒’’Ä.&“)..gÏžõôôœ5iµÄ¼Ä”‚33âÜÙ(?Þç½o3¤ŽuÇåŠ!‚ìììîÞ½{òäÉ#GŽÜ¸qãÿûŸ±±qO…t•.OõZ{@̱Þ†a$‰cÆÃüùó@\\œ½L&C+xo¤›§³wÇd29>Å/Q'†ÄÑ—+ÖE0ø!&‹‰ïÝÎŽBþáß=FÚ6a0˜ 2é[Àì[y¶ˆ—F8‚iQóð~¦þ_7뇯ûÛwÍCHë®Í+† ‚£R©“&MÚ´iÓ´iÓÖ¯_ÿçéº<Õ£P(zzzIII™™™ì· ðé·82™lllüîÝ»åË—KKßÀ'11ñƪªpà@¢<99ÌÌ̈’’’’êêjümCCCNNŽ   ñ ŸL&ùq@@€™™YóGƼw×Í  0 K+Jc±XD ’]šÍžñ0&“Èü~ï‰ÞìÇÞI¸SR]B¤hÜuJ#“&d9­0ÉbwÎX,ÖÞ{{Gë¬6¸Åú©…©ìõš>–~¤ñÑð[w¸¬’,öñi¹FŒð·xœøÅ©oªßwoßÒáKåÅ8óÞ‚ H»()):uêĉ{÷îMKKÛ±cû"HÿÐcõðq{÷î%J‚ƒƒ ~˜ØˆäÛ³gQÒÐаlÙ2ü1%uJ#„ 6À®]»ˆ4%==}ñâÅìs`›×ß±cqß.:::22ÒÚÚÚÎÎŽ¨†aØÁƒ‰·~~~uuu‹/&æI(((”••Nß¼ysaá› ··»n&'*ç6È-÷KîùØóDáßþf¯#%,µØnñ‡ü·âo…Ë>ºŸq¯k¬ã±£Ni„½µ¶ ò*òN?;M^zyiÛ­m²¢²­ÕϯÈgŸ$û÷ƒ¿k¾Ö¬½šÆ÷ýýÛœ·øŠ*À`2ð ÂËG|*ª ¦ÿ¿}JAÊö;Ûùù¾ïŽÐîAÚ‹D"-]º4 44tÙ²eCÛ‘~ ;’÷¥K—~øðáÈ‘#©©©C‡ýøñcSS“]lì÷1US§N-,,ܰaógϬ¬¬ ÆíÛ·UTT 77÷äÉ“)))°sçNooo|šê±cÇìììfΜٮF( ¾vüÿ*tÄGæææ...3fÌ(((øë¯¿RRRlmm+++ÿûï¿Å‹OŸ>½ÅÓ$ê§¥¥ 6¬  àúõëvvvW®\aĦ¨¨X^^>vìXccãäääÐÐÐß~ûm÷îÝD…yóæmܸqÁ‚………ÒÒÒãÇç^‹ÝñxÅ:ókþÇf˫țzþ­w·Ô¤Õ^d½p4rä¸Íæ;Í·®±Îå¨ËoF¿é*è–T—Ü|{sÖÐYøœ‰èŒèð¤ð†¦†Ü/¹Þ·¼çXÍ!‘HgžÉý’ÛÐÔà}Ë{ŒÁkMëv5¢&­6ÏzÞ;¾ ñÑDÓ‰æ*æ~3üêë[ò.DOA/£8#<9üü‚ó*’*ÍN¯¿ôÂÒ; wÊLÈMO ÷°÷Ø>i;{µI¦“¼oy+I(É‹Ê?N}üîó;ï‰ÞÄ4y1ù±c/½¼$Dz˜ôpöÐÙ‚\Âk­;¯X'Ó‚ô#çÏŸŸ?þòå˺äÒuºo· | e:njj:jÔ¨¡C‡¦¥¥}ùò…½NIIIXXØçÏŸÅÅÅÍÌ̬¬¾íM‰'.D5;;;Âs)üurA2±„ò8Ãq2"2Üϯ_^[.-,=JÑ;üÿb+¿[þ~zþé{‰÷’ ’9–PÆ51š®Ç]ÿTöIKVk²ÙdFj3¼æÝµëе-¶‚ ýFk‹­´)>>~Ö¬Y...>>>m×FxÖ³‹­tGªWSSäååE”0 yyyMMMö{¿"Õëé@Ú÷T/1/1³$s’é$¢$!7ÁÄÇdø {§ìår`?C¤z^h»v/€R=é7:œêÀýû÷—/_¾ÿþÖVœ@: ÿ¯«WSS³zõ길8¢ääÉ“¥¥¥ .ärÒG%æ'®¸´¢ª¾ Ëd1÷…íã#ó͵žÛ³!‚ m;vìüùó·oßÎ1¤黺c¬ž°°°Íˆ#\]]¥¤¤ïß¿ïååõK¥zøþ¶………uuuÞÞÞøÕžªKèÈéPÉT“ &H)*=*¥0åÌü3z m<ûîO.¾¸˜› ¹ øà9 6B~‹ÅÚ¶ùrüe[u[=Y=“ó)&·2÷íê·—}ñíE2F~¶üYOÛÛ]M¸ú×½¿žy>“þafRZIZXjØõ÷׋kŠ“þHê¶~I_w{]DFÄ$ƒIåVÒ-3E3gÿLiJ(Hðyà_O&‘S×§vV„½ÍÚµk=z´oß>b§>¡±±ñäÉ“ÑÑÑÛ¶mc_›‚Àb±nß¾YUU¥¡¡1cÆ ö›m›7o&Öqww5jT‹½¤¥¥£¡ ‰½¯z³nJõ¢¢¢Þ¿—ŸŸ?qâÄÇÿšÛ-/]º´§Cèræ*æi»Òž¦=M)L)¯-_=zõ8ÃqÒÂÒmÙ¿ð à‹ü!ÝæNòËñ—WÛ­ö´öÄKèLú©—§ð׿JææJæÓ–×–÷\Œ}ÆÃ´‡FòFÍó-×¹¯‹kŠ[<°‹úýûíM ½8ó¢…²L7î|ÖyÛƒmûk߆àGŸ½waÓÈM»#v—Ö•vb„½ ??ÿúõë=<</^ÌËÚþ§OŸNJJÚµkW{·ÜìD‘‘‘;w¨¨ªªª®®n^Á`,_¾<66võêÕ***7nܘ0aÂ?ÿü3räH¼ÂôéÓkkk.\X___^^>räÈ×»=räÈË—/%$$üýýEEE»ö¬:I÷-ŸcdddddÔmÝõ6ÖÖÖÖÖ¿ÊHF²ho?о§é13-»dv3Â]tv48~`D!Q]ÜsõUõMõÏ?>÷°naÁ>×oIMɹ7çlÔlð<teuÇ w#ñÆ2«eê’ê¼7¥"¡¶0LT@twÄî¶k÷q£GÖÕÕ={ö,¾ 'wׯ_OKK[½zµ¢¢b7ÄÖÜÕ«Wñ¥/_¾ÒbÓ§O?|ø0 `ôèÑ`oo?gΜ5kÖ­NÓcõAºAÕ×*”êé@ú¼gŸ5ÐFi·ü«oõ‘AgÒmÔlØ ­U­Y,ÖýÔûíjÊIÏIT oÜÅé3gÎ ­­­m³æùóçÃÂÂz*Ï ‹ÐÐÐ!C†´VÉdÉË˳?–5kVmmíÅ‹9*㻆9r¤y;G={v7o¸õóТØ‚ôy™e™¡É¡™e™päù 釿lz²z£uFs9¼¸¦8*;ª¸¦X„_dÒ =9=öfñמ6žYeYÑÙÑdÙTÑÔXᇠCY,V\^\jIjUC•š¤š½¦½E ÅF2K3£²£øÈ|Ãԇᷔ _ä¼ä´Q·Qç\DZµØZóOô?ÜwÒä\hÙÆ8éðôpeqe™ï%'Ç~Š¥3érVªV-Õb¨_é_Ç'êX©ZY([0YLÿgþx‰–´–£®#G¿¼_y"¶&F“ŽŒÎ0õa·’n}®ø ò#µF~(úwïÔ¥¾]yhÏ·ü«?~¼··÷óçÏñÛ`\ˆ‹‹sì>ÚÍÔÔÔ¸WHLL,))qttdÏÒ =Â7z ØÙÙEDD$$$DFF²ªÿüùóãÇ#""ZÌ{3”ê!ÒoÕ7Õ¾t1rá’ê¾<øô ¾¬þ`åÁ ?l¸ÝQ×q¿Ó~*ùÛ¨£;Éw²Ê²ùc>ÅhËhÇçÇo¸}½ýzâÑpFi†ç Ïš¯5ãtÇ1˜Œ‹o/n¸=hjžì÷´ oDˆ*ô2祺”ztvô®ˆ]'Ì,ËL.NVWyœùxgÄÎ@×@k5kÞcë L32#r’Á·õ’X,Ö¶Û.¾½8hÀ SEÓà·ÁçÞœc0Gµ*þip\ð—ú/K­~¬|/垬°¬–´V‹ýWž#¶k ׎Ço¤7&%ã5‹ª‹@‚&ÁÞ5þ¶¨¦ˆ÷¾~Aââↆ†xª—••uõêÕ?666êéé9;;ãêêꈖ6l011€ƒ¾~ýºyƒ‹/&Ö‘MHH¸yóæÇ)Š®®îôéÓÙo îÞ½;11‘{xàý>bjj*(++³JJJÒh´´´´æõ===—,YâïïÏžê̘1CLLŒÇN{”ê!ÒçiJi®´]™T””U–åiíÉOù¶¿Ü—ú//¹xëí}öMПppÂAüçþ­·ÖÜ^£ ª°aÄöfKëJƒ¦‹År:åäí7ßb>™r*r*ê+Â…á Ć&žž¸*dUØÂ0 ÃØùRÿå¸ëq¨·­·9b³9ló‚! \ÀÓÚÓæˆÿ3"Õã[kg´ÂvÅO^Ì·yoËëʉ§¨Áoƒ/¾½èfâ¶gü·='o&Þ\ºžýÖ)÷PWÚ®$a$ß(_M)M|À #¹[¸Ÿ}}ö„ë eqåæýòxå›Çv7åîÊ›+©dêJÛ•xI}S=àõ x®Ü@o཯_“žž^jjêÛ·oÿý÷‘#Gº¸¸Éäððð±cÇnݺuΜ9üüü^^^÷îÝ»páBee%~TZZš±{~~þÆMMMñ’£G:th̘1Ó¦Mkhh8{öìéÓ§‰]œ‰Ù­‘à^]yy9»Ï„……KJJØËôôô¢¢¢† †ŸÅýû÷ÃÃáBcõùuxq–Û,'ëL4˜(',w!îB£‰½¦›±þÃ03%³zC~U>^¢.©î=Æ›¸oDã£9ê:f–ef•gqtçbèBÔё֩þZífò­YQQM)MöCx­s…§‡‹ÓÄ+Æßžs–ý~Cn’Á$i¡æÔ·ê,óY4>ZÐË âKï.Y©Zy^ó~ \®|óØuE¸Óƒ¯¨ÂqÅ@‚‡L"×7Õ§–¤Ê…ì „˜€Ô5ÕáoÕ%Õe…eÃRà « «ª ¡ JjJ4¥~X"_ATxM㣑0’¬Ð÷UEùkk;»Ÿ«žn¯iOÆÈxYåYdŒÌž“a¦"®RQ_Á{¨â4qC—à·ÁÏ?>·V³¦3ég^9:åhký²kíÊ· PZû}%99øRÿÃ&œø[9a9ûúe‰ˆˆTWW0€Éd>|xáÂ…øãË­[·r9jÍš5²²²À`0¼¼¼233OŸ>­¡ñmmÑk×®À”)Sˆú4ÍÁÁáÒ¥KÑÑÑ]´â¬|ýú•£¼¡¡›2vìXMMÍ7oÞÄÆÆjhhܾ}ûþýöÍãé=:’êݽ{÷îÝ» ÒË%&&¶9xéÓêëë{:„ÿÃ^èjì s-IX«Ï@n$ÞØz«¤ ¤½†½¤$уÅ9 £ øLåã=¶N”Y–™]ž½vøZ"ˆqž¡.°\péÝ¥“/OZ«YßNº­,®l¢`Òj¿­÷ÅÞk‹˜,&û[9øXþ‘½Û<]æò-ÿš¨TjccãÂ…  Fppp`` ‘‘Ñ Aƒ&L˜```ÐÚQ::ß&ôìÞ½ûñãÇ{öì!6£€œœ bßÛ=??RRRðT¯ÓÇêá£ôJKX ‘Á`TUU)**â÷ö8H$µk×9rDWWwòäÉ22mìŠÞku$Õkï¸H?Àû¸H…ïûK!“Èe&'Ï4›}Ø~ZIÚƒ´JbJ¼4Âd1·ÝßFÂH¡î¡ÂüÂxáéW§£²£z$¶Ÿ«‘A%Sí4ì¾…‘5¥43J3r*rÔ$ÔˆjyUyí UE\e´Îèû©÷ÓJÒN¾8¹Úî‡Gýò¢µØr*rØ«ÔéMò~öñû½Ì矞c6Fg ïÝýš*++ÅÅÅ)Ч§§‡‡GFFFttôõë׃‚‚V®\¹b·Ù‚ƒƒÏž=»hÑ"Ž¿-ø-´)S¦4ßЂHÝ:}¬ž‰‰ ‰DâOÃŠŽ IDAT˜‘––Æd2‰1…Í999ùùùÅÄÄÄÇÇ?xð€÷îzô A_×2ëeð<€(ùJÿºõþÖ”â”æO[„F¥PY,I' ñUVOZZÚÖÖöíÛ·eeeDaDD¸¸¸´v™LÆ÷¸š8q¢¼¼<ïÝõ6h.‚ }¾4>§áÈó#rcŽ ù’RœÉÅÉ~Ñ~RYeY%5%õMõ~Ñ~ÊVªVŽºŽ%£Jö?Þÿ&÷ùs“™© ª°{ün(¬.¼…hÖJÕÊJÕÊ/Úïuîk¸øö¢Å‹‰7ØoضÙé”Ó(íQ‚TÁ„‚|ÄÞÄŸ+>ÛkÚs4¢)¥ùï»?}ùÄd1ý¢ý¬Õ¬E¯%\Ë«Êkb4ùEûYªXZªXr­+”Õ•½Ëç3Ƈ½p¦ÙÌôÒô q²Ê²LMó«òKkKMMß¾÷‹öÃ×®ã1TSESs%󸼸cw°?*mÞ/Wž#¶¼Ê¼&F“Å‹wùïØû]?b}QMÑüËó'N¢(!B¬T­ˆîxì ²Ë³o'Ý€šÆü»€‘Ú#ñgÄýRZZšššZZZÚ‹/LMMñ}ÀÊÊÊ***Z~žž¾bÅ ==½¿ÿþ›¨STTôéÓ'˜5kÖÕ«W92xð`---¨¬¬ü믿 1ž¯+üùçŸS¦Lñññ9xð …BIKK;uêÔˆ#†Îå(CCCŽUZú”ê!ÒO8é9q”ÐøhÄ¢¸™fœ{ÖÍÁgý›Z’ú¡ðCqMñHí‘[Foa_xé0|‚íôéÓ{:¤tI¶þêÕ+ ‰}ûöuEã?©7ÇÆ»^uÓ§ßQU=Q^ÞÐÓ´ 7ÇÆ»þqÒEÊ t1rYjµt¦ÙL”çuŠÏŸ?Ÿ:ujÅŠøVfH_×%©“Éd±XL&³íªÝ®7ÇÖÜëׯ1 Û¼y3Gy¯: &“…ëé@ZЛckÎÉé:† Ó9¿Ö¾u‚ôi+W®ÔÐИ5kVOÇ‚tŽ.y€kiiILcémzsl¼ëUgqåÊ„ž¡U½96Þõ³@¤Oؾ}ûÇoÞ¼I¡ !^ýn‰ ‚ ¿–²²²øøøæå¸zõêþýûÙWEAúºÎOõV­Z…ïáo~BøðáÃŒ3äåå©Tª’’Ò¼yóð¥ nnn222T*UUUÕÓÓ³¸¸¸y›/^¼°µµ0`€‡‡Gmm-{#wïÞ:t(FŸ0aBJJ …BÁ½páBóØxo™Kx­árÊNNNx¿³fÍ:þ¼‰‰ F“””üý÷ßsss‰:øº>»víÂ+5ªcW˜÷Ól—ŠŠ¯vÿ',,›(g0X‡Ç™™ô: ¯š||‰Ê¸Â¼Ÿ&‚ ¿¦‚‚77·Ý»ØË„Åbùúúž8qbïÞ½£Gî©Ø®Ðù©ž¯¯/‹Åc/|ò䉅…EVVÖÝ»wËË˯^½úúõkssó·oßâ=zdii™““^^^tûöí¡C‡–——³·™ŸŸïëë{îܹ¢¢¢Õ«Wà vã®\¹âääÄÇÇ÷òåËÜÜÜU«VÍ;—ÉdŽ;–ÅbÍš5«yl<¶Ì=¼q?å;wî|ùò"""nݺuíÚµ¢¢¢   °°0kkk<‰¼sçΫW¯`Ó¦MøP­ðððŽ]aO³½ÄÅùY¬u‡`/d0X“'ß\·îñܹŸ>-NO_0a‚æ’%æÎ½KT˜8ñÆŸ>]´È8/oiJÊ33YW×[¾¾o8Úܱ#ÆÔT&5uÁë׳ëêšœoÕá|ýÊ9òJ``¶mÖË"#§æåU=úbb~ÏÈXØ<6[æ^‹¸ŸòàÁò,Ö://sX¼øÁ¤IZ ““Ý ¤ÝÝÃöìyAÔùí7 hjZÃb­c±ÖÙÚ*uà óxš‚üš>~ü8eÊ”¼¼¼7oÞ|øð/üúõëÚµkvíÚåììܳ"®;à2™Lwww:~õêUsssaaakkë‹/VWW/\¸¯°`Á:~åÊaaáQ£Fùùùeggsüì(..ö÷÷×ÐÐY³f¬¬ì½{÷ðètúªU«øøø._¾ldd$,,þÜZ³¾Â¼œfg¹p!éÎÌ ŒV­$##¨¨(¼e‹•‹‹ÎùóI·ogÀùóîÝËvw7Z±Â\RR@IIØÏo¤™™ìÆQ%%?$"vv¦MÓ¡êêJzx˜ÖÔ4EE}»åôþÍ›¢Å‹—.5‘”0@Ä××AY™×õÖ¹´Ì{x¼Ÿ2añbc7·bbübçÎWTöö~ÞÞô‹÷&‚ ¿ ŒŒŒ©S§–——3 …rêÔ)ÈÉÉ™1cÆ“'O‚‚‚ð]s~¦;R½„„„¬¬,###¢ÐØØxÀ€qqq999 ÙÙÙ&&&ìƒàæÍ›ìM©««û±`¦¤¤”ŸŸOôRPP`dd¤¨¨HÔ·³³ã1Hî-óï§Løä þúìô³|d¾®î‘ÝWú×ÈŒÈèì輪<~uIõ©&Sˆýðc)³,ónòÝäâäú¦zQEgCg*™Úq"åÅ‹ ,hjjb0D!†aGŽ™7oÞÊ•+ùøºõß@¤;uGª'''-¥/x‚"//ÏÏÏÇüøq‡{Á“<<á#à·©;Ü&N^^Ú^›§L””––²WÀ!’¶æÉåOv× ðœƒ#}Á³yy!â=šfo¯Üá^ð$ã‰j{s¦u ¼6O™PZZ¯¥õ=¹Ç!’6ž¿n^»û¥0XŒ-a[TÄU–Z-íX :2:^üvGì~—ÿ®sck‘¦”¦×0¯ƒO¾É}Ãduë™y•yŽAŽ¢¢ ‡,;plQuQЫ ã1Çÿçô¿‰ñ:ž8slŒÎG=GaªpbaâîˆÝÿDÿsfÚ-i­îŒùy‘‘‘žžž ƒã·=N§R©(Ïëߺã®±±±††Æû÷ïÙŸ$&$$äææš››«¨¨kiiÅÇÇWVV²8~üø™3gòØ‹‰‰‰¢¢âû÷ïÙŸH>yò¤Sâooxmž2QøæÍ›ººïÿ;ÿ>Þ2þVPP   Ã°´´¦‚òÞ]7pvÖ|2)‹äâ¢Ož|f¯ðâE‰t %¥Õi.ÆW€°°D ‹2­áµyÊ„§O¿7ÛØÈxüø3??ÙÁáÛ$(HÁË`É’3gÞùÉî~)•õ•×ß_¿špµÃ-H JYªXŠÑÄÚ®Ú~îWÜ}ú°—HÐ$,U,%h]Ñw ô†ÚÆÚÓSOÏ<×NÃÎÍÄíÂŒ T uGø"é,«-®1ü¨ËQ'='{Mûå6Ëÿžðwauá–û[º?`ägܺukÙ²et:½Åg8 7n´ðéOº#Õ#‘HAAA ÅÍÍ-..®¶¶6&&fæÌ™"""€aØ©S§]]]ß¾}[__Ÿ““³råÊW¯^mݺ•Ç^Èd²ŸŸNŸ6mZbbbMMMxxø‘#G~~«æ„׿)$$$æÎ›žž^]]}óæÍmÛ¶)++oÚ´ ÿTSSSTT466¶ºº:88XIIISSógºë³fé;9iž:õÞ×÷MII]AAíŽ17n¤Ïž­?a‚&üþ»Þ¤IZû÷¿:~<¾¨¨®¶¶éÁƒÓ¦Ýöô4ÓÕ•ä±ww# ùÀÀ„ãÇã¿|iÈÍ­öòŠlh ÿ|ü¯ÍS&ܸ‘~åJjeå×ììʹsïåç×x{[ËÉ}»«gn.‘‘9µ|>¼åÛŠ¼w÷K‘”|¸øá•ÙWz:–½úü*©(©§£øFQTñò¬Ëì7礅¤Õ$Ô¾Ô©j¨ÂKY.Ú1nûQ#´Fð‘ùâòâÐÆ-}HppðÚµkñ –Z¬Àb±Nœ8ÑKö^BºHW­«WYYùâÅ ÃNž< ööö/_¾TWW?~¼¸¸¸‹‹Ë AƒâââÌÍÍñ£† öêÕ+™qãÆ‰‰‰ÙÚÚVVV>þ\WWöîÝËÞfxxøãÇ1 {ñâEee%†a€)S¦„††Òét ee倀€   ÆÒ5Ç–¹‡×¢6O7dÈÙ³gO›6MVVÖÝÝ}ìØ±Ïž=#FR©Ôààà’’99¹sçÎ]¼x‘L&wà óxší…/á¶zõ#?þ¿Ž™ŒÝ¼9yÿþágÎ$ª¨œÐÔ ¼u+óر1gÏ:âG‘HØÿMÚ³gرcñjj'þú+jãFK?¿‘xCD›¶¶—ÀÞþòøñÿÀêÕ„…??9<|êâÅÆÞÞÏååF¾j` 5}º.@k±ñÒr›á5׿)þùg䃵µƒtuO%&–ýóOKâSOO³ß×›;÷ž‘Ñ™1cTÝÝ:v…y9Í~IY\YJPª§£èh|´A±—0YÌÂêBaqÚ·RŠ¢Š2YLiAiG =. `Û¶mÜ·Ud±X¹¹¹ò éµ°öþ>Ã0ìòåËS§Ní¢€:Waa¡‚‚œ9sΞ=ÛÓ±pª¨¨øý÷ß/\¸ÐÓ±´ ðU«V:t¨§áféÒ‡ÇÇge-RWï’gp?cÕªÈÇãÒÓ²ÕëUðE®^íøP\QQQM ·y¾ZZš~~EŽŽ9¸µ),+232<=¼ ª€ÆG3U4j2•ý™i½áÒÛK±Ÿb,†œÁ|‹ù+CV¾þü:éïwàX,Öƒ´Å5ÅÂTa e 77A>AM Ž IAÉÝãwŸ{s.¡ Ád˜(šÌ4O›ð:¯s_ Rõeõ€L"ŸŸqo|éKÃÓÃ߯}ýýõ¨ì(2‰l¦h6gðî³f_šÍ`r…,N?êr”Ç«×@oøûÉßâ.øNô;plkÕ¢³£ç]ž·Æn‡µ-#=%4TÈËë Àÿ€D"áO·˜L&ûÝ;>>>QQQ iié1cÆÌ™3§ÇÂý´øD®Ûô«îþý÷ßàààÛ·o%øšÃøÂ(H?£«{*8ø·Aƒäð·L&ëÑ£55±^˜ç!]­Å)t&}ùå2Í?ž¾nø:bNî(íQ#Žð¸î±4B€"àå›T”´Ñaã‚! ð æJæ“ÏLf¿£v4æhdFäj»ÕžÖžDIg&y?ð>êrTATAATAˆ_(§"g¯ãÞQÚ£`„ÖM)ÍE×m{°-Ð5¯CÂH"ü"–*–Ðs%óf3ðc?}¸“|gã_«ÿ%¢<¤ã‹…²…´tNENp\ð‚« öŒßc«ÞÂÊjLsãÝuMuÁ3ƒ»yQ¤H$Ò„ ›>ô»~=³íÚÈ/ ;¦et—Ó§O_¿~]___VVvíÚµsæÌ‰ˆˆ R{ÝBPNNNŒžëéˆúž›7'››ËΘqGRÒРsyyÕºõÂ)¨øþ¶‡Ç€¶öI|ðÒ ðÙ¸®Æ®D‰´ôpáE5EO³ž@hr(8~ßÊPÞPMB½‘k ×ÀÍøûúrúê’êáéáÄ  (ZߟŒÐ!N’ù¤úk5/¡×N¼ÆÈ«Ìãé$Ž’˜’­ºíL³™!óCÄÄ_[œU–Õ¼Ú¦°MIEIÁ3ƒÑPHé‹úÕ]=*•:wîܹsçöt m»s§åu4ÞéêJô=¹ñým{:Š_I/¨* ’©ÒBÒìåøTƒœ/9MŒ¦âšb*™*)øÃÄjyQùüª|öFHiUÈ*ö:¥µ¥L3½4˜Ü )(IÂ~øå,/"_Q_‘_•?Pf`›Ñ²§Pø=EŽçÈ:w¬PH”éfÓ·Ýßv#ñÆÚákÙ?:ôôЫœWÿÎúåyÒGõ«TAGÆÈ|d¾&fS#£‘ýlMc Ðøh…B¢41›šMì%éìPÉT“±ÒveóvšRßÇY×7Õs|ZóµðÙ®³Æê±Ã39"ÍÅ]Ž¿|=ñúåY—‰ŒyÍí5VheéCPª‡ H?„a˜¥Šetvt|~¼…²Qþ¾ð=†aCU‡bf¦döêó«ÄÂD3%3üS:“žUžÅÑHTv”œˆœº¤:Q‘qùÝå€)DIõ×êüª|bu’ÒÚÒÂêBYaYb«1»Ÿ«Ü@o F(â @EâûŠë2Ž:|aÆöUWÞå½ÃÓeAúŠ~5VA„°Ön-?…OäžòºoÛœœ|q2¹(yºétü†ÜJÛ•$Œ´÷Ñ^|Ô“ÅüûÉßµ?ì#¼Î~EÀç¡OE}^’Y–éýÀ[WV—Œ}ßüšŸÂ¿ïѾz41šv†ï¤3éËm–÷Õ$Õ ª LFE}ÅÝä»Äòu="§"Çÿ™ÿ«Ï¯ˆ’'YON¿:-NŸn:/I(HX²’J¦nÛ<3x&ñOQMQE H¡»z‚ôyøºzi¥i0ïò¼aêÃ<¬=ŒŒÎÏ8¿íþ6»£všRš%µ%µµ+mWsi­T­M<äóÐÇæˆ¦”fY]ÙDý‰Ê1ŸbfÏ¡5b‘å"9ƒà߃·†mvt˜š„¾ÔðœÁsVÚ¬d@\@|ŒÎ˜±c%%s¾ä427ŒØ0ÓìûƉžÖž«BV [×T7R{äå!¥[ïo%bv1rq3v›<ósågØxw£­ºíºá]2Ês’Á¤ÒÚR÷+î’‚’2B2%µ%U6j6›Gm–þ¶z‘ÿ3ÿú¦úÜÊÜÜÊNØoA„R=Aú<|]=â-1°Ì\Éü¶ûíüªüÂêBMKJ‹cÛoz¿86­$­‰Ñ¤!¥!Â/’\”\õµ d„¾mZc¢`2?¤ ª  º@”_TY\™ŸÂß<†ßô~­3:½4ΠëÈèp,•â åð|ùóìòlqš¸²¸2ȋȳǬ$¦ì%]wçO_Nÿï 3XŒÂªÂâšb>2Ÿš„š0¿0{µÃ×r<á%hI¡zÒ— TA>_W¯µOE›ïñE (úrúÄ[=9½«áËãqƒJ¦È´ö©0¿°‘‚ûÛæ1s9‹NGÆÈJbJxŠÙ/‡é:’êM›6mÚ´i ÒËùúúúúr[Áéë ÐÓ! ‚ ¬#©ž£££ŽN«ûç ý’¯¯/À*«žé:‡´µÑFIíƒïoû±ü#IŸ<ÓÙÈ™}±eAÞ #©Þܹs§NÚé¡ ½™¯¯/€úÞû±«Rh‰ÜvÂ÷·%Þ¶ö0A¤¡±z‚ ÄË>Až…ÖÕCAé·Pª‡ ‚ Òo¡TAA¤ßB©‚ ‚ H¿…¦etÄåË—@FFæêÕ«=‚ ‚ HËPªÀb±¼¼¼DEEwîÜÉK}kkk99¹… fddtul‚ ‚ †à4448q‚ÇúÊÊÊöööÂÂÂmWEAé9è®FKJJâããk»*‚ ‹qýýõKo/åTä0YLe1eWc×é¦ÓùÈè-‚t”ê}£ªªÚÓ! ‚ô+ëï¬ù²Ôji E #_‰¿âóÐ'*;ê„+¯Pùy(Õƒ˜˜˜7â¯þÌÏÏ/''Ç^®¢¢™™ß¤ÊÊÊR(?\Ô——çääuO´‚ŒÖñgÆÒÿ–†§‡ï ß¹dè’}¿í‹Ë‹[rmɪU×ç^OkOOkO£¿¿ÿÓNÃ.ãÏŒÉg&çVæ6ogwäîeVËöý¶ï~êýuwÖUÔWð‘ùVÛ­V•P I Ùr‹UhÓÈM¼¶9l³×0¯ý¿íO+M›z~*<É|ââµnø:¿É~LóvÒíá; « ÿñ''Ÿ¾|r;ïF£Ðü'û›0Ï«ÌÛ¾3¥8…J¦&ý‘„×)®)v;ïö•þu¯ãÞ!*Cò*ó¶ÝßæzÎõÂŒ fJf­Ÿº>µã_ Ì}:pexÄb±6ÝÛ´úÖêCÄ®ˆ}åõjíðµ>}¼B¼,n7 é\(Õk†aÇg±X“0^½z…a˜½½=QR^^^XXH¼-**ÊÍÍUPPPWG'¤g°OíTU€¢ê¢´c¤ðýþŸœˆÊ%ò"òímÖDÁ„£ÄAË!xf0{‰ž¬IO/Mç¨É夞f=; ;¢‚¤ $>ûð0í! #9h9%2Â2ÚÒÚ‰…‰…Õ…Ð5n~¸y9þòL³™ó-æK IKÐ$¦›N_2tIhrè¹×纨SAšCp[¶{÷¨µk׆††ÊÈÈÀâãã—,Y¢§÷}t …BY½zõéÓ§W­ZÕÔÔ´uëV Ãz.vù¥‰ð‹¯©d*°€Õv„©ß·ÃÁ#“È4>QBÂHL³] ²Ž«þZô2èAÚƒÂꪆ*¢œãž´~RŒÆÚÆZ~ ¿ Ÿ {}1Ú÷±ÂŒÆê¯Õ`zÈ´yTË?ʋȷðOŽÕÃsPuöBk5ëÃчŸd=™o1ŸKË‚t"”êµlðàÁžžžªªªzzz………ÕÕÕÛ¶mÛ²e \¾|9 ##CNNnøðáÚÚÚòòò™™™_¿~Ý¿ÿÒ¥K{:|AZFÂHMŒ&öö«›-¾¶øÕçW[Fm™ ?A‚&aØéW§wEìâ=7¥’©BT¡ÚÆÚº¦:öl¯¬¶Œ½Ž¨€hí×Ú¤õIdŒÌ{x?9V¯®±®!ÒéPª÷éûmkkë·oßæäääææ êëë«+[[[ã36øùù­¬¬æÎ›””Ä`0 [nA^@VX–ý‘eIMI~U¾0ìgÍ`2Þ侑–™;x.Qø•Î9ü·MÃ5†ßM¹û4ëé¸ãð’’š’ìòlö:c޽õMî›!ÊCˆÂã±Ç/Ä]x¼ìq»ò?Þ™*™FdD<ÿø|¤ÖH¢0æS ˜*¶pA.òKÕ›?~ii)þº¬¬LNNŽHæ***ÖÖÖ¦¦¦ì)++ÛÛÛÛÛÛ[YYF4hÐ!CPž‡ ½œ­ºmqMñù7çëšêr*rv„ï”ê‘HÈ$²¥ŠeIMIà‹À/õ_è ±Ÿb/¾½ØÞvÖÙ¯§‰ïx¸#:;º®©.­$mÃÝ 2Â2?Ô¾NE\eCè†'YOª¿VWÔW\z{Éÿ™ÿF‡]”çÀïf¿«I¨ÇŸ}}¶¬®¬¢¾âjÂÕã±Çå„åZ.ì¢Nic±Ú7Šð˗/O:µ‹êN†††^^^‹-ÊÉÉÑÑÑ™={v```OÕKap ?|ïH+Ü\]áêÕ«?ÙJQQQM çRvZZš~~EŽŽÜê´×»üw®ç\‰·ÖkìÖhíý¾Oí®PýµzOäžÇ™«ª å 7Ü´åþ–ÄÂDX2tÉhÑíŒÖí|Ö™(Y7|Ý`åÁÓ/L'JVÚ®\i»’ÇÀ ãÏ âõ—ú/Ÿ|œù¸¤¦Dœ&>\c¸Œ° ¾.‰¡¼¡÷oO*»<{ÿãý1ŸbL†ž¬ÞöøFù&$¼_ûž¨\Q_qôùчé ª DDõåôY.²Qûa ]§«l¨<s,2#òsÅg°D†k÷´ö”âÜaé\wï ¯\)—‘‘ÙvU¤[hjjö`ï¿tªçïïÿ×_éèèdddXYY£ík[ƒR½_@NõcÇ445<õxÚÓ =¥z½MϦz¿ôÜåË—?~üÇ÷îÝCy‚ }NIMÉ ßAt&(É­ÌýTþÉJÕª£B¤÷ø¥S=4h’’RO‚ ÒA• •›Ã6TÔ7ÕÇçÇ{…x‰ˆ,·YÞÓq!Ò+ ¸‚ ?…}üî#ù:…Œ°Ì¹éç.Ä]˜<£¨¦HL@ÌFÍæÐÄCÊâÊ]Ú/‚ }JõA~ ûL‹a­fm­fݳ1 ÒkýêpAAú1”ê!‚ ‚ô[(ÕCAé·:2VoÙ²ek×®íôP^oúÞû±²´4힎AédhZÂ+SS yyùžŽé*ïÞ½ëéAÎבT/  ì–ðÃ0wwwGGÇžé*Ë—/îé(AN†Æê!‚ ‚ô[(ÕCAé·ÐX=Aþ&­$-,5ìúûëÅ5ÅI$ýLS!Bd…eÑŽºÒw¡TA¤¿Ñ‘ÑÑ‘Ñyûº¸¦˜½< &@ZPÚÍÄÇvŠkŠ×Þ^++,û|ùó.Aî€R=A_ÅÑçGõåôyOõd…e8–íÒ¨éR(ÕCAZ5ÙprO‡€ ÈOA©‚ }^fYfhr(þÚÓÆ3³436'¶¢¾D ª ðDðZåuåâ.L3&',O³ž¾Ëÿ¶¬àr›å$¬…ùjÿDÿ×ùZ.lox‹,Ñøh,+./.µ$µª¡JMRÍ^Ó^€"Ðâ±YeYÑÙÑdÙTÑÔXÁ˜££äâäØO±t&Ý@΀ct]\^\tvt£)¿*ß/Ú0ÀVØ®àÛHí‘éÄGdŒÜ¼rTv™o˜ú0uIuH,L|‘óBOÐFÝFE\…ËåB¤Ûür©ÞÅ‹ÓÒÒ¶nÝJ"ýð×|àÀiiiiiiÚÚhÃé“î$ßÉ*Ëjd4¾Ëg$o”^šþ8óñ¶ÑÛb?žüüÒÙÐYAD¯ò!Ä/ÚB¢xX{à%U³Ìgusx³ÍΫÌó¼áYóµfœî8“qñíÅí·M Ò“Õã8VO0æSŒ¶Œv|~üö‡Û×Û¯_Þ±3Ð5oAžõ+¦z¡¡¡›7oæHõ322Pž‡ }‘¦”æJÛ•IEIYeY M f\‹u4樫±«¾œþ´ Ód…e‰1j7o’0Rȇ<Õ³Ó°{—ÿn²Áä•¶+[ëb…튮O€"S‘SQ_¶(L‚&Fl˜xzâªUa Ã0 c?¶´®4hj~¬Ó)'¿h¿ùóùÈ|ü6øâÛ‹n&n{Æï!Îq}èz éÛys%ss%óÀŠ¢Šì§É%69ƒÁã5¯ü¥þËq×ãPo[osÄfsØæC¸€§µ§Íÿgþ(ÕCÞ­«÷»»{OG ÈÏš=h6þÃ0OkOmЀA*â*!B˜,&d–e–Õ•M2˜”Y–™Tôm!’›‰7 {$š£®cfYfVyDZnÆnıfJf ô†üª|¼äü›ó°tèR¢ò$ƒIÒBÒ?—Ê.†.DÀ:Ò:Õ_«‰LZT@TSJ³yü‚ôˆN¾«WWW–žžN¡PLLLð›g‘‘‘OŸ>ÅëˆŠŠ®Y³æéÓ§‘‘‘xÉôéÓuuu¹·@hhh¸ÿ~jj*FÓÔÔ´··ÌÉÉ9uê^8K§Ówî܉—xxxÈÊÊæççŸ8q"-- ¶oߎ7ëîî.++»wï^¼æ¬Y³´´´š÷…a˜ÁèÑ£ùøøðröCDDDBBBªªªôôô1 ã~•rssCCCËËËUUUœœÞ½{‡_ IIÉÅ‹³·,,,šŸŸÏ`0¦Nª¯¯Ï%*Þ/^²råÊ’’’ðððªª*'''~~þ¶¿céÝäDäšN6œìíû)ÖZÍúFâI“lÕmo$Þ¸™xS_NÿuîkAª žœ^ó ?3V{xê’ê²Â²a©a…Õ…U UP%5%šRšì5E‰×bbP×T &#«<‹Œ‘•Å•‰ †©ˆ«à£îxÔâ¥k‚¨ñšÆG#a$Y¡ïuùkkyo A®Ó™wõ>|¨®®¾víÚ¼¼¼””WWWssóœœüÓêêêíÛ·¥§§/X°@GGçÕ«W‡œ;wÎÍÍ-55õõë×&LprrâÞÑ™3g´´´8PPP9tèÐcÇŽùøøäæær´üÏ?ÿ899½ÿ>''gçÎIII¼DÅËE óñññööž1cFFFFrròìÙ³ŒŒ²²Ð¯p¤Ïà…ßZø4Ò›n²X¬[n9:[ªXÊ‹ÈßI¾Ãd1¯¿¿Þ=·ôZ ïFâ¡ÿ ݹ'»,›=›d°8GÚµ8_o´E­Öç96.8Ç0¬Í_¹‚ôˆN»«—‘‘1yòd%%¥7oÞˆˆˆÀ† ŒÝÜÜ^¼xáààààà !!±eË–²²2ÐÕÕMLL¼qãÆ!Cxi¯0qâDUUÕ˜˜QQQ`2™ãÇüøñªU«¼½½_¿~žžþíÄ(ooïššš˜˜¼DQQ‘¨³uëV åû¹{{{ûúúÞ¿Ÿýt&Nœ¨¢¢#&&ÅÅÅæææãÆûðჼ¼;;ÛÈÈ.\8tèPö`bccŸ?N¥RÀÎÎN__Ÿ{T***<^„ŠŠŠ/^ddd¼|ù¿ÖÖÖS¦L‰‹‹C¯‘þGE\Å\É<,%ÌQ×Q‚&¡%­“ &=þ8óñƒ´÷ÜãÞÂÏŒÕã‚Ébn»¿„‘BÝC…ù…ñÂÓ¯NGeGñÞ#kJif”fäTä¨I¨åyUyœ5IdâÇvp\°¼©¢éO‚ ½^§ÝÕûçŸêêêV¯^gi ¥¥åââòòåËgÏžá%›7ovuuݳgϹsç\]]7oÞLäy¼´àïï_[[ëåå…çy@"‘öîÝ;}úôÎ: ÑžQ€¬¬ì²eËÊËË?Î^söìÙxžÖÖÖ’’ÒZ³Ç§Óé+V¬Àó<PWWŸ2eJ‹•-Z„çyx/úúú¼GÅ ///"ß:tèˆ#Þ½{ÝÞv¤Op6t®kªÛto“³‘3Q[¶+ËËôHT`T •ÅbÑ™t¢0±0±½íÌ6Ÿ Çc¿ÿK Ë«äLõd…e+*€ÁbŠ:TRSÒÁ¸é;:í®Þ»wïàåË—EEEDáçÏŸ 66ÖÆÆ/9sæLzzúܹs.\8gΜvµðöí[ FõáÌÌÌÌÌÌ:ë,x_zz?ŒÝÁ»Ž‹‹c/TVþ>8FBBjjjZk611tttØ ÕÕÕ[¬¬¤¤Ôá¨x¡ªªÊþvàÀ‘‘‘ïß¿6lX{›BžUX]x%þ >àÈó#¥ù\ZG=Çá;JkK'èOÀK´¤µ ä >}øÓáÏž ð ö6‡mv:å4J{” U0¡ ±w#ñÆçŠÏöšöìÇZ©ZY©ZùEû½Î} ß^´`1Ñ`âL³™é¥éâ.d•e™*šæWå—Ö–š*š¾/|ïíg o0Rk$¸ºxr`ã½%5%4‰ášÃ¹Ä†¯¢G|d g`¢hÂŒ¦”æ¿ïþýôå“Åô‹ö³V³VU¼–p-¯*¯‰Ñäíg©bi©bÙ¥—Aî:yZûSQ1bĈ#LM¿? ²°°HLL +,,”——ç½â¹ïètzÛ•ZÂ¥/Žç›d2¹½s´À`´¼öUó©¼GÅ®µ‹À>žh=½Eú.'=n#eÅĶÝÎ`1¤¥ˆÂ #6¼Î}=Zgt×G×jxn&nÃ4†EeE•Ö•Š ˆÍ0QVWö4ëéÿ±wßqM%kÀ'PB¯Ò›‚¢"‚¢"b±c[uu]{Ëz]·\W]×rm+Š]qíÛÚ,¨ˆ‚DA¤I äýãøžÍ„Pƒñ÷ýÜ?’9“™gNöê㜙IÍŸu³ts³t£ß2Œ•WŽï4>,%L t·èînåþwìß©ù©’ŸšÓ}Ž£±cLFLgã΃í+±”jŽ­ÚKUKªþ¢ÆèÕ?¬€æ×h©^çÎCBB 4f̺°¨¨hóæÍÖÖÖtɾ}û^¿~4hÐ ooï»wïÒÏ(km¡sçÎ÷ïß‹‹ëÕ«]!44444téÒ¥„555BHAA®î§?Ê©IAITfF¥5×®]+((¨öù/Õ׫W¯$ûzõê!¤!“ˆ:t † 9s&ûfY¢’å&ÐýR[z)ÔÞdjá À—ÅHݨ†#ñhc:Ž‘*éaÙ£Î~«5<#u#Éߥ5Ó2“\BWõ³Ÿk­­A[Ƀ—«ÝkBÍ ÊuŠ^­]ËÈE£­ÕóññQSSÛºukYY]¸jÕª½{÷Ò"mÚ´C‡B®_¿^RRòóÏ?W½K:t8xðà¬Y³œœœ¼¼¼Š‹‹£££'Ož¼{÷nºŽdËaaaS§Nµ´´¤.Õ•Œ7âîîÞ­[7ww÷ÜÜÜ3gÎØÚÚâ.€"i̵z½{÷NJJºqãF\\œ’’ÒÏ?ÿìéé)¹önîܹ’õ«þ:E­-ôíÛ—ª@¡àááA_mÕªU\\Ü¥K—ÒÒÒ¬¬¬6oÞ"¹m‚Ò«W¯èèè   &“ùìÙ3kkkj±[·nÔY'ÕöÅ`0öïß?`Àúqsµ±µµýí·ßj¾K“'OîÛ·ïåË—sss­­­·mÛ¶zõjBˆŠÊ?ÓWmYö¨d¹ ”ñãÇO˜0áúõëGŽÁÊŠ‡Q×½ ãÔ©SãÆk¢€ÞŽ;&OžLŸ–Bñöö¾téRnn.}ÊLS[´hѶmÛ^¿~-ùÓ 5c0~~~^^^MÈÑ‚ x<Þ™3gØNfff ›Ð !¶¶6~~™^^5Õ€†¸z•çëk˜˜øFÞÀ'666µWj2ø Üæ¶cÇúçË!/^¼¸|ùòøñã›-Ï€¯G#¶µêß¿ÿO?ýbgg—––vîÜ977·;v4OïÔoàR ýüü:uêTõ1:( ¤zÍmÇŽ?ýôÓÇ“““ ©_$kæ<=====›¹Sh~HõäÀÄÄD^‹©ßÀ•K×Ðü°V@a!ÕPXHõÖê€ÂŠL‹Üro õú¯oþâ°8ò‡ò(åÑöÛ !Jl¥Cã5CÙEÙÞÿó]þ»#Ž4CwÐÒ`V–®ÍB÷…B±0"5B$É;Bi£ßf¡ûÂâŠâˆwMÝW¥¨òàãƒÃ ?ÿò|Dj“w-S}fõ=zÔèq@Ë%ï  eddÈþë)-Ó´ÓÓ,´-~ðÏj«h»š»j«hË1*)ºªººæºš*šµWm°åW—,þxfò™ñGÆç”ä4CÐÕ'ÕûóÏ?ÿüóÏFZ¸€€€€€yGMèKOõ§>.®(–w-È,×YmôÛÈ; ³:§zuýÍ\ äy@°-À•WWŽ==V^YŸ?ñØDB‹É’Ú… ‹Ž==vÿí}“ådì4ÅeŠK‰ü{ëÆqν<šš_š/‹÷ŒÙ£ÎU‹Å7n'geñ”x]̺Œu«ÊQ¥[Î(Ì8÷â\|v<¿Œo©c9¦ãCÉ®Ë*ËNDK Š…†ßwù^–AM>1Y(ÖPAKEk§÷NÙî|½êÀ¯³Ig=5½i§§k/t_Ha0RuVÜXa£k3Þqü³Ïþw÷/3^þ9âOòÿ[7¶„ly’öÄç‚OÇVÇvŸ¿ñîÆJQ¥@(˜~þ½7÷¦uæiç™ÎO÷õ?üäð‰I' x„Ç©¿=þ­»µû8Çq"±èrìe7Ù8Üa8ÕoqEñ„câ³âgu›ådâ”V6ýôtHPë |zúÔü¥%l(€–©|ñZi´j¥ÑŠÉ`ªsÕ]Í]«­ÓÙ¤ó§ „>¶}b2c.¿º¼Îk GErëF?Û~TÞ6½MÕ¹êþ¡þ·o/îµx~ùt;#Xys%5£VX^h©c¹g̃Eñ´óüöÄ·«ƒV{µõb3Ù„?ïÿ›ûSߟ¦wN·0òÐHjN±]ͺ6ÊÍ€¯[€¯‚‡ýÚRÛ’ò¾à½T¾­ûÒ¯]L]ØLvàó@BÈØŽcéòv†í¬t¬‚^ñËø„Î&wzï¤ò<Š›¥[~i~BvõöÊ«+„QíGÑÚµ§h˜Õ€¯‚®ª.ýššQ«úUKYKòm¥¨òÿ“Á\tq‘dyNqŽH,zóÚÙÔYKEëUÖ«£OffðËøb±8£0ƒ’_šOYEYJ,%UÉŒ4ŒÒùé5ŒµzÐ(êTÅ`)±”„"¡oOߪ‹ÿltm!+o®<úôè »AÃÛ ×VÑf0×â®}zTLÄ„6“Íf²"@(\ZWQYQkïX«©(*-£^/»²¬ëþÛ lHƒ ÃÕÜõþÛû†ê†V:Vtypbð©èS»F'¢Oè¨êøò§¯ÆdÆH¶àdâô8õñËŒ—N&NTa¥¨2)7©ÖÞ±VÖꀂ°Ô±üÀÿ  óK󯾺ª¥¢Uûgj³´÷Re¶òª[«¨²„7߬¼¹ÒÞÀžÅ`±˜,SMÓ‚Ò‚gžQW‹Ê‹nÄßlÁ·§/“Á\g=µ¶O$m¾·G=@³aàHdhD™™™EEE5T°³³Þ´)kذšêÔÏíÄÛ‹..2à”Jº˜uÙ6b[bNâŠ+ròKó»˜uñîà=¶ã؉Ç&¦¤~àhoÔ¾§Unö® IDATÏ‘#%ë0ãø¤ã’Í>ûðlÅõI¹I–Ú–"±(£0cŠË_·Ot_|x±ôòÒ¤Ü$[][U%ÕòÊr+«kq×ì ì;wZ㹆råÕ•U·V• Jmtm>–|Þnø‹ŒRu1íÒǶÏL×™~+(Qï£6ÞÝH‰JÔ4áL×™}lû4QÐB\ºÄ[ºÔ >¾öÉch666rì©4¦ZS=Ë%Kr'Nä7[H_›cÇ4¶nÕ‰ŒL–w ð‰|S=<À€fefVùö-ö4¡äd% ‹JyG-R=hVåÑÑÊòŽ@‘EGsÛ¶-—wÐR Õ€fåî^òü¹rN«öªPwÙÙ¬gÏ”{õ*‘w ÐR Õ€fåáQÂã‰5ä€b:{VCCC„ThHõ Y)+‹¿ù†ð fAþühd̃5Çç++cÏ%|‚?j ¹Í›—Çf“íÛuj¯ uáç§Ã`9sòä´ Hõ ¹©©‰/Î=rD#&†+ïXGL ÷èQ¥KsÕÕEòŽZ¤z £Gó»u+›=Û(+ ?Ïв²Ø³guëV6z4­„AªrÀd’íÛ3ÔÔijg•–â"€)-eΞm¤¦&Þ¾=ƒ‰ÿ?Á¿á¿ Ѿ}Þ¿gOœhŒ¹=€zËÊbOœhüþ={ß¾xt Òê€Ü˜› ß—”0½½M°n bb¸ÞÞ&%%ÌÀÀ÷ææy‡-R='ssÁ™3i¶¶oo“ß×à ,2*(`þþ»ž··‰­­àÌ™4äyð9 ±Gï@£ÉÌÌ,**ªë§D"rö¬Æ¦M:b1™6­`ôh¾¾¾°)ÂPÙÙ¬³g5Ôd0ÈÒ¥¹£Gó±>¯…³±±‘cïHõ 1Õ/Õ£2wïÖ>uJƒÏgvìXæäTfi)ÐÔ±ð#jðÕ IA+9™¥üü¹²††hüxþœ9y8Wå‹€TGCR=JY#$Dõþ}Õ—/¹©©ìÂB–|rD!¤¿œ£øº1™DCCdf&pp(ïÕ«Äã„ËÅ_ß_ ¤z 8žêAKãããCÙ¾}»¼øRÉ7ÕÃã}……T@a!ÕPXHõR=……T@a!ÕPXHõR=…Å–w P¸\®¼C€FÆf³ !<OÞ@} ՀƤ¥¥%ï ‘)++B åÔà(,¤z ©€ÂBª °ê(,¤z ©€ÂBª °ê(,¤z ©€ÂBª °ê(,¤z ©€ÂBª °ê(,¤z ©€ÂBª °ê(,¤z ‹!‹å´ ÿý÷•+Wè·OŸ>%„tîÜ™.2dÈðáÃåÔR=ø—ÐÐP777‹ÅdJ?ù‰DB¡ðáÇ=zôKlPWHõà_Äb±¹¹yZZZµWÓÒÒ F3GõÖw OeeeòŽZooï]»v ©r‡3vìØ¬¬,¹D„.—«¥¥%{}¤z_µÊÊÊ¢¢"yG-ΠAƒüüüª– ‚Aƒá¿€/và€4;;;++«ªå–––mÚ´iþx Þê@5¼½½Ùì=ùa³ÙcÆŒ‘W<P?Hõ Ç¯¬¬”,©¬¬:t¨¼â€úAªÕ011éС½Ó–Á`tèÐÁÔÔT¾Q@]!Õ€ê5Š>ZÉdz{{Ë7¨¤zP½!C†Ðg¯ŠÅâÁƒË7¨¤zP=]]Ý®]»R?›áêꪧ§'ÎêÀg9’šØ1b„¼c€ú@ªŸåééÉb±X,Ö Aƒä Ô~-ª¬Œqïžêýûª11ÜÔTŸÏ‰ä4&/Bˆ“S'y‡†É$"33ƒC¹»{‰‡G‰²²XÞAASAªõWXÈܽ[ûäI¢"fÇŽe]º”ŽÃ×Ò1ñÀ@DG#„tê”)ï@ ÑˆD$?Ÿ™’‰ŠR>sFƒÇ}ó Μ’E€od"#ê¹­Š Öñ(,Ñž=ÅÅ #œ¤ê€LΞÕ SÞ³'óy ÏÀ rÏžŒ°0å³g5ä 4R=¨]QsË)SøXŸð•pp(Ÿ<™¿i“ã~ép„2Ôn×.m¡,X+ï@ ùDFFnÙ²…~;gΜ^½zÉ1žüüüyóæÑo8uêTù…óUðñÉýûoÞž=ÚÿùÏGyÇõ‡TjQVÆ8yRcÚ´œŸ×„……Íš5kõêÕ%%%MÚ‘ÍÂ… ããã#"""""²³³›´»Z©©©-\¸°¢¢‚Š'99™¾Ôl÷äk£©)š6­àÔ)²2†¼cúìÔâÞ=Õ¢"æ˜1|y„âãã“——G144œ={6U¸dÉ’ŒŒ BÈÔ©SØ(ikk»ººr8-åÄ ‡ãêꪭ­]õR³Ý“¯Ð˜1ü­[uBBT,–w,PO˜Õ€ZÜ¿¯Ú±c~÷¬…prr"„p8œŽ;Ò…ÑÑÑÔ\Wý~æîK‡{Òtôô„;–…„¨Ê;¨?Ìê@-^¼àºº–Ê; ød÷îݯ^½Ò××700w,-îI“êÔ©ìÉyGõ‡Tjñþ=ÇÂOoëcöìÙ………ô[WW×… BöíÛwçÎww÷¹sçB6mÚôôéSBHJJŠ……]àÀ}ûö=räHbbbyyù!C®\¹"yuêÔ©QQQ7n¤'®:tíÚ5ªMcccªðŋ׮]{óæMyy¹®®n×®]GŒ¡¬¬\§±”••8pàñãÇeee&&&C† éÑ£}5**êÆÉÉÉ¥¥¥666mÛ¶•¥‚Ôþ©S§¦¦¦~®#)ÕîÕ垀ì,-çÏ«Ë; ¨?<À€Z2ðÛçõ3kÖ,z‹Åòòò"„TVVîÛ·/""bß¾}„aÆééé …Âßÿ]rçAPPТE‹Ú·oß«W¯ÈÈH>Ÿ_u_‚••ÕÂ… 555©{÷î½páÂ… RkÚÄbñÊ•+Gµwï^›‰'ÆÆÆþòË/C‡MKK«ÓX¶nÝ*‰FÅçóO:5eÊ”µk×R—>ŸäååÕ¦M›çÏŸ/^¼¸oß¾„:#yüøqpp°©©)õ©j÷%hii¹ººÒSt–––®®®ôÕãÇ=z”bjjºlÙ2BˆP(ôññINN^¼xñ™3gdKß¾}gΜI±²²¢rÖƒöìÙ³W¯^¤ê¬\¹RWW—ª\\\L “ªYC©ý5tT5ªzܨ+‹…ØûCžЄ¼¼¼TTT!EEE·nÝ"„œ={V]ýÓã°sçÎB"##óòòªîuqq¡òM½°´´¤^Ј£¢¢^½z%{SíÚµ£^´nÝšÍþ4MpéÒ%B—Ë¥Þúúú^¸páõë×"‘hñâÅ>>>Ty­dìê©@RUU4hõúüùóyyywïÞ]·nUrÿþýììì³gÏÒ¡$:Ï#„X[[·jÕª®½§¤¤P/^¾|9qâĉ'þ÷¿ÿ¥¯¾xñBö¦èô”Á`¨©©Q¯©§À?üð|xxøÒ¥KܵkW???ú#µV±#¨<ÀhZ£G¾pá!äáÇû÷ïwppðôôtppˆ‰‰ …'Ož¼víÚþýû«~°jòWW***EEE„sssjGˆ$sssÙ›ôëÊÊO¿ƒ¬ªªJ8p`ppð7ÂÃß?žžžžŸŸêÔ©Ç_¿~ÉdÖZAÆŽ 0«дºuëFmü …{÷îõöö&„Œ5Šºêïﯣ£ãââÒ.”””¨"‘ˆrþüùE‹BºtéB•»JÈÍÍݱcÇ“½‹¬¬,êEQQQqñ§Ót©í–,Y’––6yòä;v„„„øûûSW“’’ÒÓÓe© cGuò¹{ðµAªд Øq8œ¡C‡B†Îb±!•••ÞÞÞ Fƒ–½ÛØØP/¨<éÆÔO„ùúúRÏ@ß¼ysýúuªNZZÚ† Œ«}~ú9W¯^---%„P3”„ƒI“&B¢££7lØŸŸO•Q/´´´ôõõe© cGuò¹{ðµÁ\€&çííMMeõíÛ—:DGGÇÃÃãöíÛ’‰ uJ\BBõöæÍ› sæÌ¡6ŸV{õøñㄹsçFEEeeeÜ»w/''çСC„[[ÛÓ§O¯[·îáÇ ,°¶¶VQQÉÌÌ1bµ!·Ôqwt~fkk;räH‡Càìì¼nÝ:jëë?üØ»woKKK‘HÏ`0:vì¸bÅ jCF­$}®£j‡¿sçκÞ€¯ C,Ë;›¢¢¢Z6ÊÖÖÆÏ/ÓË«¨yBRTOŸ>–––†††TIzzzjj*—ËíÔ©U"¨³”%Y[[SS_Õ^¥ …IIIùùù<Orï*¥¨¨(99Y èèèËò˶yyyt E…¡¥¥õúõkêdcz´ŠŠŠ´´´ÜÜ\SSSúX;+tëÖ-''‡²aÆáÇWí¨ÚáwîܹÞ÷dtõ*Ï××01ñ¼Ox<^ÕÿÖ©ÀW ©´’©ÞèÑ£åü©^KS×TÿÄøz­Y³&66¶ÚKíÚµûõ×_›9htHõ¾^±±±òAjQàž={‚ƒƒwîÜ)ߨR=€¯µƒA¾\\\ZBŠ ‡­(,¤z ©€ÂBª °ê(,¤z ©€ÂBª °êÔâ¿ÿ¶µ=ok{þûïÊ;€ºAªróüy^çΗ÷ìIw ÕhɱIiQ¡¶¨`Ñï¿wJLÅb1ä@!Õ¹‹?ý¯jɱIiQ¡¶¨`€à7p@޵£¢†Ê;Šêµäؤ´¨P[T0@0« À0«ò±fÍóC‡ÞBµÏžíM—¿~Í÷÷ ËÎϯÐÑáöìi°`½¹¹]!.®`ÇŽ¸ððœÂBJŸ>†¾¾muu¹Rm®Xá¸v틘˜|MMNÿþÆË—·WQaÑܽ›±}{\\_I‰Ù¥‹Þ?:xy …bBÈæÍ./^äIÅ&{Ë5„W­ÈÈß|Ró½2ÄtÛ¶.{«5eʃÐÐlBȼyvK–´#„lÜC-¼óô4Ù±£«T?þØ~˖ؘ˜üÒRaëÖnnúõ¾o5##F˜Õ9=^>_`d¤âà 5~¼¥››ÁHÐñ?^ÄÄhk+g±`}xxÎÆ1 |}}î¤IÖ3f´–l“IY™åæ¦ÿóÏjŽ ebˆ±¤à+VTT”™™Ys[[?¿L/¯¢¦ÀÉé²µ5ÎQ""r¦M µ³Ó\½ÚÑÊJ=.®à—_¢>|(9~¼W»vš„°°ìéÓÙÛk®YÓÉ‚õqùò§,ãÂ…>ZZJt›<ÛÙY÷‡tt”NžL^·îÅŒ­—/oOU¸zõýÂ…Îκ«Vu23S‹ŽÎݼ9öùóÜž= Ü>›,-Ë^K¸5xñ"oÔ¨»tªG))vìø7êÑ=r8ÌN´ü±½©©ê‰ɧN%_»Ö¯j0¤ñ¾‘Ïùÿñj¬^ÝÉÆF=#£tÓ¦˜ë×Ó/]êÛ¶­&€««Þ’%íx<ÎæÍ1ÇŽ½7ÎB ÿðC;eeÖúõ/SöìéÞ¯ŸQµ!=}úqÏž„ðð77}YBR$W¯ò|} ßÈ;ø„ÇãÊ^p ¥‰Ä?þø¤²R´}{-UUVçÎ:[·ºWþôÓSªÂòåO++E~~]Ú¶ÕTUe¹¹¬XᘖV²kW¼dS?–¯\éhf¦ª¦Æž6ÍVW—{ïÞ§ŒV(¯YóœÍfúùuµ³ÓPUeõè¡¿`Œÿì­¡eÙÃkRµÞÆÆR\\ù¿ÿ9ÛØ¨s¹¬©Sm¨<ïsšî¡Æ+Šýý]´”•Y––¼-[º¨«s¤øõ×ŽÆÆªœE‹ÚB®\y¿jU'##--%__{BÈÝ»Ÿ ©gOƒo¿µ‰09_¤zÐRÄÇóSSKìì4UéB{{M##•˜˜üôô’øx~ZZIÛ¶š&&ÿTèÞ]ŸrëÖɦÌÌÔèY4ƒ*ge•Qoãâ ²²Êìì4 ”éú]»êÉd -Ë^“ªõ66VGj²OU6Ý7B·M ##ºPI‰5”šÒ«€¶¶›Í°±QWUýôÙÐP…’™YZCH®®²†Т`­´99優ËÚôô”?|(ÍÎ.ãó+ !/_æÛÚž—ª“–V"ŠécÏx¼ýáÆá0éù˜ÜÜ BˆŽÎ¿zQScËxdZ -SñËž¤®Õ«ªÖÛ(™6„äJ»Z5Ý7ò¹ñÖ“É,¡ú¢ç« IKK çêÁ—©´zz\BÈÇåRå99e„}}e%%!¤kW½ãÇÝëÝ‹ŽŽ!$7÷_½äçWP;‚Š¿®á¹¸è&&Žj`×Uèá6Öüq&“ADt Ÿ_шáUÕÀoäsãmôŠ‹+þ @óÃ\h)ìì4ÌÌTãã $2ÆÅdd”:8h«ÚÛkZX¨ÅÅ $?8mZèâÅeìÅÞ^ÓÀ@9>žO?@$„DDä4<þF ¯áj½5œÊ32Jé’èèÜ& •ÒÀo„¯d̹¹åmÛ^ ªçsójCzü¸þ#h~Hõ ¥`2ë×;³ÙLŸÇÔùQQ¹‹Gª©±×®u"„0dýúÎxÁ‚ˆØØ‚²2azzÉêÕÏŸ?Ï[°À^Æ^X,ÆŠ…B±¯oDB¿¤DøðaÖÑ£IÔlVC4Jx Wëm¬™¾¾²ÆíÛ9¥¥•OŸæž;÷®Inà7BwÁ‚ð˜˜ü²2a|<þüpGGí>}Œ%¤ÒRaXXöŽq <¿…/[øªÉñ°úÄ5Êڵdz „$$Hçãó¯á ýýãBC³ *ôõ•»uÓŸ7ÏÎÊŠGÙ½;~Ó¦Xºæ_¹±ÙÌI“îÓ%Ë—·§ÎN Éôó{õêŸËevï®ÿóÏúô¹Ù«—áþýÝ«-7·LÆ–k¯)Ôû6ÖàÍ›Â5kž?ž/Š<<Œ–.uèÓçuéàÁ±±ù’·BòuCî[ÍßH­èñòù##eOO“ùóíy?¿ÂØXuÔ(ó ì9Åÿ×oxxŽäR9)ô2µfVó7Ò2cøR`­ÀW kõ fX«×Ò`­|‚T@a!ÕPXHõR=……T@a!ÕPXHõR=Pd·oðó‹kÝúü÷ß?”w,r€TYß¾­|}í™L†Œõ³²Êüüâ=ÊnÒ¨š R=€df–úù½Bª ©€ÂbË;øÚ½ySžÃçW´j¥êà ek«N ÉŒŽÎ#„©ŒgñàAVLL¾ŽwÀ€VZZJ"‘8$$3!o` Ò¯Ÿ‘º:G²A‘HüàAÖ«WÊʬ=ô[·Ö1’¿ÿN Ï!„<~üÑÏ/Žbf¦Ú±£ö•+ïé:cƘ«¦¦–œ?ÿŽ*ñð0HI)NN.&„ØÙiôéct÷nÆÛ·EÊʬž= llÔ¥zIHàGDäVêës{ö402R©!¤ôô’ÀÀw5‡Ý¦†§§qµ—¤nãÇY11ùZZ\77}UBÈ›7…µŽ® @Pïã€F‡Y=›Š ÑÒ¥‘ƒß½›ÁçWÞ»—9bıcïee•QvïŽ?u*ùÇŸ^¾œ–]¶qcÌ€·ââ æÏ¿q#=#£lÍšçžžA?–ÓmæçWŒ2cÆ£çÏóÒÓKþûßè={gii¥Ÿß«3g’¥Ê÷íKÈÈ(¡^—— ýü^8ñv̘»×¯§çä”;÷nðà`*e¤ë,^üxÈà‡³òóËSúô¹¹oßë†W+ê6.]yþü»œœò={â ŠˆÈ¡®–• k©×w!¯ñ€$†X,–w 7EEE™™™5×±µµñóËôò*jôÞý5êäÉäuë:kA•½µP(>t蟿íöïOüî;*Ï£9:jSy!„Åb̜ٚrøðj¼)zzÜ ¬èú³fµ!„4ù_¢ºº\*Ï#„èë+›™©Ñ72cF5£›6ÍVjçr¾ ùŽhX«ò_ Š­¬Ô¥ò‰ï¿·‘|khøÏÒ.‹Áá0%{©ª²!%%•ÔÛÄÄB±˜XZòMš›«1d=kå³úô1²¶V?uê­½†'1±ðéÓÛ¶u‘ªfb¢&ùÖÚZÏ'ÿ?^eeööíÿ<҉Ą¨¨Ÿë·kõhR+ä44899ÿX==îàÁ&¥.üÓæ‰²· ¯Ï%„äç !IIEÛ·¿RRúô礲2kÂˬ¬²3õíkdl¬Zõã±±Ôq-„¡PLí6<Ù†¢¥¥ôÍ7V¯_óƒƒ3èúiiÅË—G•• ë:ÒFÇá0§L±¡Fçåe"¹\²~Zø¾A]Ø IDATx¾¬•+WÊ;›ŠŠŠâââšëøùé \ܺuE£÷Þ³§aZZÉÎñ/_æ¿zÅ?~üíáÃo6lpvvÖŒüø.<<[( Uß¼)žÿüyž¿œ¡¡Ê‹ù")(hjrôô”kIM•{ï^fnnůÝÝ ‡ ûg‡‡­­ÆáÃIÙÙeë×w–ZýV^.Ú³'aÀã{÷2>Ì~òäã–-±‘‘}|ìéý§={|øPºeKìË—y¯^ñ/]Jûã—Ç›-X`ßðÕ„Õªz +J Ï.*ª ‡ÃlÕêÓ@Ú´Ñ8räMVVÙ–-]tt¸54"ãwÑüã…¦ðúµÒµk<_ß¿ÒÊJmÞ<;ssµj›jDUoãøñVU«ihpÖ¯wÎϯ¨zìsµÔú]Èk¼ çê|Õä{®Þ—hذÛóçÛyzšH•Sçêa¶y³‹\h"8W¯¥Á¹zìÆôää"BHHHfQ‘`À€ZN6h9ð¾"iiÅçÎ¥~·™©i5oÞL÷÷ëÚUïòå´5kœªîýûïTê𼸸?¿¸Q£ÌÍ̪ٴÐüêÔbà@c —Ëܽ»{§NÕ¯ÒãrYR+ÕZ¤zð15U«Ç1uƒTÓCÛáÃÍj¸ GX« °ê(,¤z ©€ÂBª °ê(,¤z çê€|lº·éiÚSBHO«žózÌûjc¨H,ZveYzAúo³Ó·£ ëóµ¸kÇ£Žï³W…£B•ÄdÆl°Ý\Ëüç~?Wû‘´‚´cO%d'¨pT–|¼ýIÚ“Ü’\=5=C‡±Çò¸<º‚X,~œö8(!()7‰É`k{X{ô±íCWhà7E>s¯2(ø:!ÕùÖnXg“γgµÒhÕ¢bøÀÿ°:hõ¸Žã$ÿÚ–‹€Ç^^ „–Ò…uºogžŸ)¯,§²‡üÒüÍ!›¯Ç]Ï+ÍëaÙ£Úú©3NÏèfÑmRçIYEY›înºsñฃÕ&m´AÉܳsÓ Ò¦u™6Ø~ðëœ×ko¯ÝýhwÐì &”P,ŒH¨Z!¯$¯ƒºwmÑÅEZu˜Ôy’ŽªNBv‚¨ÿÎÐ'&°Õ³¥êŒ;:îŇSœ§ŒwO¹ûæî¬³³\L]Œ; ÊQ­÷ $ «½Wõ|µê€|ØéÛµR—[’WC 1™1·ni«hÓ©^ÒǤ_¯ÿ:ªÃ¨±Ç6[lI“¶Ýßæ`è“#Y.û}+”„¥„-r_D½yhdÿÖýO8<ìà°ÏÕ÷½àk¥cµ{ôn&ƒI±Ñµ™pl‚ß¿¥KkèhÙåeosßþýýßZ*Z„w+wmí?‚ÿh†AqÙ܃ãJÕi£ß¦ƒÊ+Í3Ò0:6ñ—Í%„xX{ØèÚÌ œµ%dËNïTÅ—ôZ2«Û,êí€6T•Tì ÛK…WïAQ>w¯ê=(øj!Õø—þ­û_švÉJÇŠ.)®(ŽHp1s©áSK(.»²lj—©ÙEÙUÿ¦—QHRH…°¢ëþÔÛ½cö¶Ño“’—ò¹úç^œË)ÎYÒk •=Bº˜u±7°ÿ+ò¯n ”ÙÊÕ~*ê}Ôõøë¿ øÊó(žvžæZæÍ0(&ƒéjîZCýú ªëþ]̺Pyý)BHr^2]²uÄVÉO l30àq@dZdEj»Wõ|µ°-@Z[ƒ¶òýûrÄþRA©›OC¹•pËZ×ÚZךz+9×U­»oîBœM% MœK¥áïÂ?÷©‹1 !=­zJªpT¤Ú!M3¨ZÕoP<ƒÖz­%KÒùé„ÉBÇVŽ’K÷!B‘bÈ3”16ZÕAÕ|¯ê7(øjaVäïÿÃ_OþzýšËæzØxŒé8†Åø´À\ \~uùaòÜâ]U]w+÷Áöƒéé–®J.Š÷´ó<uìmî[e¶²TûRŽ<9r-î!¤µ~ëUWQíÜOºO¹ðòBdj$!¤½QûÏíiˆÏŽ_usU̓ínÑݧgMéNbN¢ÿCÿ“ßžä°857EÙ¾ïNâêµ±¦ñ¦¡›!B‘ð^Ò½:=qŽÏŽ'„˜jšJšj™B²<¬=ªýTtz4ƒÁ0R7:uìáÛ‡¥‚R m ïÞ[ulžAÝ{ÿjÜÕüê\ugSçÑF«sÕ8()YEY«n®2à,†j“B&8Mhà j½W2(øz Õ9{_ð~þùùãÇu1ëšúëõ_¯Å]Û?v?›É&„Ì???:=Ú·§¯…¶Åû‚÷ÞÿsMðšÈ…Ÿž‘Õp•^_XQx-þÚ·¿íaÙ£jûRzY÷j£ßfÆ™å•åTɰvÃL4Lþ{ã¿]̺ŒsGÑàj|n,ÆÆ ÝÖ<^]UÝ®ROîf¸ÎhgØ®ævh}mû†$…„‚…î © „È´ÈüÒ|Ég‚µÊ-Éå°8’O- !<%!$¯ôÓF‡AÉo7~Sᨬ°‚ºï Þs˜œoO|««ª;²ýHPp2úäèãé÷ËT—©M=¨RAéÁˆƒƒì l=0>;~ÛýmûÂöŒ §0ë7(ÚÚàµ!oCRóSGµåïí¯­¢ý¹€Ó ÒŽ>=ú}—ï¥6ÿÖuP²Ü+Y@CªröìóàÙÁÆÆ„~¶ý8,Îþðý‡šá:#«(ëvâín ¾íü-U¹C«#FP¯k¾J/ŠOÎMžlÀ3¨Ú~Õ`,´-,´-$ÿ¾·Ó·«¨¬ „˜hšÔ¼,Œ¢ÎU¯µNÍö†ï²ŸüR"(Ù|o³™–Ùª«$'‚^é¨ê8™8ÉÞu¥¨’ÔžFb³Ø„P@½MÍO½sÍd/p[@ÝÒâŠâ a…KiT¡í†zí÷Z¼ÖÝÊÝFצéÅ$ÌÓ“Ow6éL½ícÛ§—u¯‘‡Fú\ð¹6㵎­~ƒ¢j?ª›E·„섃¾Îy½qèÆªk !ù¥ùsÏÍíeÝkyŸå ”,÷J–AаVäÌÉØ‰Êó(#FB.Å^"„¨sÕ5•5¯¼ºò$í uÕÁÐáø¤ãÔ뚯þÓ¾‰“äßß’í·4 Ù »Bwmº±ÚÇªÒ ÒÆk­k½vðZ©‡}A¯ƒúµîG/Û—…š’Z…°B,K– ʨKÔ[;}»[³nÍ ¢o©[‰2ªý(ú#,kTûQ"±ˆzÞtƒb0tžGigØÎÅÔåÍÇ7/2^4dP´¶†mûÚöÓ}ιïÎÅfÆÎ<3³BX!U§¨¼hò‰ÉmôÚl¶ås'ÛÉ8(ï•,ƒ aVäÌPý_ËØ©CÈÞóßBT8*G&ùßÝÿM86A_MßÉÄÉÃÚch»¡TÍš¯ÒôÔô>×~£kàZ½Ýa»Ù,öê[«é’·yo !«n®Rçªë¨êìµC²¯é§§§óÓo&ÜœÝm¶ÔµÔüÔ_úýR§àM5Mc3csKs%1çç/ ³Ô¶”ü”Ï ¨¼Hêè8Mòÿ7¹™e®m‘ñ.ïc+Çzª*SMÓÞ6½¯Å]‹x!¹¥RT9ïü<3-³ÿ ùßçò<Ù%ã½’qP¤z gRÓ$ÅÅ„ú,Ùv†í?Ä/ã?I{rëõ­•·VîÝqêÛSFêFµ^¥”T”ÔÐ~ãjàZ½¹ÝçRçñÒö…ï»[tw¬ãX;};©ÓqK*Jþú毘ÌŸ >‹..Ú7v=Ýü:X™­ìféV§à;›tŽÍŒMÈNènÑ.LÈI „Ô𠸃Q‡¤Ie’…EåE„j9Z3Š_Æ'„¨*©6dPÕ¢þÍ@mÅ¥ˆÅâ¯üÈd0ÿñ'•çå–ä.¹´äÐøCõ”Œ÷ª_<À9KÌI”|ûâà Bõ`.%/eáÅ…„ e>¶}Ö^»aȆ÷著¨ù*-!;AòQ—dû2¢ž¸‰Ä"B¿Œ?ñØÄ´‚´jkRkõjþýs UµÖk-UY_MŸÒΰ«¹«ÔßâN&NfZfžvž>n>÷’îmº·‰¾ô:ÈÍÒ­®é쨣!Á¯ƒé’RAihr¨£±#µä®ZCÛ%„P{“iÑéÑ„®f]›tP;CwžyvFòãå•åÑéÑl&»“q§† ê×뿆&‡J¾ÌxI‘\«·éÞ¦ÔüÔ]Þ»è$¬BXñNú¨È´ÈCÝysÇDÓ„§ÄKÊMⲸ³ºÍšÖeõ@½u+áÖ±¨ca)aÚ<%^J~JyeùðvÃìó£†ò§£v·8R‹¤(±”bÿK©÷7Uó½’qPèêUž¯¯ab⛦hêÇãÖá¤n¤z_59¦zñÙñù¥ù„=5=]›¼Ò¼”¼e¶rk½ÖRËÛEbQFaFVQ–WÃLËLjc WéToó°Íù¥ù)ù)\W²}:н}~i~Fa]b¥cE'4ÙEÙéütS-ÓšÆk,ÏÒŸ•U–I–˜i™k¿Í}›U”EvhÕ!¿4?5?•.Y´F…£rzòi©ßå¿ûÀÿ UèhìXõwA Ê ’ó’UØ*¶z¶U÷ð&ç%s˜jã…$~ÿmî[&ƒi£gC×Ôƒ"„TŠ*ß¼ÿXòQKYËRÇòs›Žë1¨òÊòt~znI®:WÝJÇJê?¼Ç©©gúR˜ &õ+j ùü½’}PåêUž¯ïŸèaÆY[Ëú;%Ðtê@È1Õk’©ž¼ci&%‚—?]¹/šÕm–¼ci4”|]½Êóõ=c`ð{VVV‡†>dÈéƒi ÙÔ5ÕÃZ=Å!‹ÆŒï4¾öª_ ªXðàÁƒ#GŽØÛÛoß¾ÝÝÝ}Á‚OŸ>•wT ¤z ˜6ÝÛ43p&!äÁÛM¤¶O*<5%5WsWMeMyÒ˜0¨–€ÉdvïÞ}ݺu=ÚºukFFƸqãÆŽ{ýúu‘¨šÙÐrà\=PLK=–Ê;Äår½¼¼¼¼¼ž|øo¿ýVTôåmáRlHõ Aœœœ×®]{ýúõ¡C‡>yòDÞÁ?ê@C1™ÌÑ£G_¹r¥uëÖ“&M:zô¨¼#‚Oê@ãÐÓÓÛ»w¯¯¯ïêÕ«W¯^³{[ìÀ€FÃ`0æÍ›gmm½xñâ’’’µk×2™˜W’'¤zÐÈ<==UTTæÌ™£©©ùÓO?É;œ¯mh|6l8xð``` ¼cùªaVäìNâÄdÄUQ+{ú·î¿{ônBÈÌÀ™wïB¾ªß±­7ÿPÿ]¡»"E*³•%Ëÿ{ã¿'¢NBÜ­ÜÆ4[¿ t-îÚ¾ð} Ù *•^Ö½þÓû?FêFõhG(yrdÛýmZu8üÍáFŒj5|øð¸¸¸U«V9;;[YYÉ;œº‰ŒŒ 3fŒ±±qµÞ¿Âçó­­­=<<”””èK'OžÌÊÊ¢^4ÈÎήÚrsséý+fff£FjÔ|‚Y=§› 7gÎÔRÖ:÷ݹإ±á¾á’¿þ¾o̾§‹ð;›² ~ìféV5ßú}Ðï‰ËYLV3÷ÛEþåsÁÇÓÎ3baÄéɧSòR¼ÿòÎ(̨k;R =0ôzÜõÂòÂF d·dÉ++«U«VÉX?22Rî³€YYY?üðÄ üüüÒÓÓ«­Я_¿äçç¯_¿ÞËËëíÛ·RuvïÞíçç·~ýúÏu´ÿ~??¿4fôU ÕyÚ¾OMImãÐV:VGWUwYïeÔ”ÔIVQÖ‹Œý[÷W€~ÓùéîlÐfÀ¬n³T9ªV:VÛFlûXòñà?êÚÔïA¿ÿàñÆ!1<¨6›½bÅŠ‡†„„ÈRÿ§Ÿ~Z¾|yrrrÇõY<ðòò²°°ðôôü\Û·oÿñǾ¾¾þþþ?þøãßÿM™5k–@  *|óÍ7¾¾¾\.—Ífß¿ÿùóçUÉÏÏ?uêƒÁàñx¾¾¾M4¥Gê€|%ç&›k™«pTäÈ/èuƒ0ú¶î«ý>¬VŒtI—˜hš¸˜ºÜL¸ù±äcš:÷ݹæOAŠ‹‹KÏž=eœ»Z»víºuë,--›8¨Ïb³Ù§OŸöõõ•| +eóæÍêêêÓ§O§Þª©©Í˜1ãíÛ·çΓªéííMñ÷÷¯ÚÈ¡C‡ Ð Û“‘ꀧ[·nÖÖÖ5Txûöm||¼³³3—Ë¥ ÝÜÜ!×®]“ª5%5BHAiì}AËÁápºví9pàÀI“&‰D¢~ýú1™Ì5kÖýþûï}û~ZuÿþýN:Ñ©žŠŠ W•——8p€ÃáÐ é¼ûæ.ÕŽì±5º[ ·¬u­­u­ !B±pMÐ6“í7ÒÏ€g@éiÕ³¸¢˜z**ãmTá¨Lršäê3áæ`ûÁÔ§Ž==ÖǶçIõ+yÓ>wç«ÆÖòGyeùÌÀ™µŽQLÄ„ƒ!c_ÐÒØÛÛ߸qãàÁƒ©©©ZZZ„eË–y{{¿|ù²oß¾\.×××7 àþýû’6l•ŠÅâE‹‰D¢­[·¶iÓ†’’’2wî\CCË/ª©©BfÏž=dÈŸ³g?ý²Ñ·;”––B¤ò9º¤´´Tê—Ë1cÆúõëwîܹeËBÈÑ£G»víJ¥}ÍkõàKŸŸVÖÖ°-• Pº[t'„ÜJ¸%YÓLËŒžH£žfeÑWêû“oO_ú-‹Éj­ß:6+Vª;ÉF´U´ÙL¶® •ç‘ÿ¤˜Y˜Yר—P$¼—tžYŒËŠË*ʲӷ£r)Š«¹«äGd uŠË.›»?b?õ¶BXqäé‘]ÿyZ-Õ/­†;_ml]Í»Jµ ¡¬Q!¬Š…’…%%Ô%û‚–ÆÐÐ0;;[$‰D¢—/_R…l6{Ù²e®®®ŸûÔСCé)½mÛ¶]¹råÇìßÿÓöáÇKKK¿ÿþ{*Ï#„XXX 4èÙ³gOžXZZºbÅ ;;»ˆˆ*Õedd‚€€ŸÔÔÔ€€å펛››###ííí©—]¾VÏÉÉÉÝÝ=--­µµU±÷^BB!dòäɯú›Í^´hQDD„——Wÿþý»¶¤Ža­¼Oh4ZØ”°6iÛª_Veó³EQECŶÛ2+3Wùutß®2/ /‹÷,îVþ­–¶–FqãÏ™?§”¨µÔö¦rkrKŸ—*/˜cÐÿ˜ð©Lz14¯&¯¥­å^ñ½} û”ohè|©ËF,“Ëå»îìZ:|©ò/·3TjknkN(J8ùà¤J^´1²ùûØ¿ÇäÆD&G¶´µÕ}vé3®>wsàæ7ûv 7),,´µµŽŽŽŒŒT4šššÈd¯¼ìÞØØ¸lÙ2BHdd¤¡á‹•š™™™Ô³7.\Èb±¢¢¢Äb±â#ááá§OŸ¦.³v“µk×666FEEQ/›šš"##© “_eñâÅ›7oÞ²eK÷Ö.šÊí÷Ч…Bjã€ðx.ááü)S„]{hÅÖh”“wÎ0×ë+¯Vi+Õ 3œnçßVô9>ÿ¸Ÿ£!$ÿ÷üý‰û‹"ÛìûVú®¤VqL:øõݯ•?¢E×Zð¿ -Çn\6bYNuηqߦW¤7ˆ¬ ­‚|‚2+3ïÜ!„,¾Ô˜e¬2H?'ìö²<·ð\BQ·qLÔ 9E][ì ¶îð}â÷ß'~ŸúYªÊfrq…qáñá9Õ9Ú íávÃ_Þ»®ó¥~|âãŠ†Š¸¿Åi3´;8n'¿yåÚtµtG:ŒÜ4nÓØƒcœ"çü‘!מ\;œ|8¯&¥Íí}úÏ?ÿ¬hI,N$ÿ¿Õ hª“'Oº¸¸P3yzzzŠ “•Qûê©4®^½úµƒëêêŽ?^±Ë;ÒÖÖ~¹ŒvÙØØ„„„´ûÖŒ3^ûñ?~庢ÀûÊœmþtÃÓ÷ nO;>Ó{&FO)M »6ÀzÀt¯é]X!ô*ÕÕÕ—/_Þ°aƒÊØÐ3õ çLt›¸kÊ®s™ç$xÞòÜÚÐ:È'h•ß*å…€ avîÜiff6gÎuÒG!ê@ÏÑfhÔï£úut£"h’ØØØèèèÇëêꪻ–> ›­@·(((X·nÝœ9sÚ]œ=QÞžL&“J¥/·óùü¿þõ¯<ïË/¿ìùª@QÞR[[Ûš5k~ýõW•öŠŠŠ--­(ïB=QÞFKKËÒ¥Kýõ×£GÿkŸêÌÌÌyóæ±X¬S§N™ššª«<  êÀ{þüypppJJ !$+++##ƒj?{ölpp0Ç;yò$—‹g«¢¼™êêêùóççææJ$Bˆ––Ö±cǪ««W¬X±yóæ¥K—FFFr8u— „`³x#¥¥¥!!!555TÎ#„H$’«W¯Þ¹sÇÄÄääÉ“#FŒPo…  QÞc±ù±«BŒfzÏìîÃÅÆ¥W¤B, ,ç˜Û݇{Yþïù÷Ëï×7×sõ¸Þ–Þ^^*ZÚZ’Š“ j è4º‘Íp»á&z&=_'h°¬¬¬… 655)r…N§2dß¾},K]µA»pÔF$ýöCq}ñ;Ž‘qññÅ.)©3&<“~¦ÇG¹_vZÔ´9?ÎyXþ°AÜ“3ãØŒÅg DEŸ7w þÝoßñù• •{Û;úÀ轿ím÷iño!%%%88X(ªä~z˜Ý°‘#ÎÎÇRuùá^+·&·\P½$ÚÆÈ†j‰JÚykçž»{¾œøbÓ²ØüØi^Óþ=ùßÔK©\ºüçåûöÙÙÌégRÁ»ŠýôÓO¥R©L&k·ƒP(ŒŽŽþøã{¸0èÒ7¨Íx×ñ›7¯ö[­îBÚÁoä‡Ç‡''©»úYöûâÃ/92Ë{!$µ,UѲhè¢O}?U¼dЋ‡.&„\{r­ç  uîܹ+VH$’WåA*‡H(JȪÊâ°8~Ž~Êóm/«h¨8—y®ã/ÄÍÌm’û¤Žû(;–zŒN£/¾¬ƒ>™•™„©žS;?,€2¹\~ùòvB^¬‘ÐÖÖ600022266ær¹‡ÃáP/ŒŒ¨Ÿml:ú]€ž‡¨êt0é §¹§"êµJ[7]Ût)ëÒX—±N&NÉ%É[¯o ²uüVAyÞò|ù¹åÜ&ØÙn½¾u,o¬Ê˜b‰xãÕÑ9Ñã]ÇÛsìïÜݳumÀÚå#–+:ºwÈßÉâ~ž)«ÇM)Iù×­­ò[êÚ©ºid}ôzBˆ ËälÆÙm7¶EÍ‹n7¼«¾–üòø—ôòôLõLO…œf÷Êé“–¶–ãiÇG:Œœî5½ $<=oÞüK||#‡Ãa2™ê®Þ¢¨G»·8l»±íâã‹;&í˜?p>Õr éÀ7w¿1Ð5X7z!dËõ-Ë~=íëY>³¨›®m’ʤ*ƒ\ɾ²mâ¶A!TËæk›wÝÞåjê:ÆeÌ ï ¢†C÷%%ü´à§¡¶C !R™ôoþîiî9Ám ïN&Ng2Î ³Önø{Tùh¥ïÊ@^ !d¥ïJß}¾ûö˜âU'kmhÝÙÙ ºZº\=na]áoÏ~`=@‡ÑÎFerÙ¦k›´ÚßÍüŽNòlxKÇÕÕ– KËu×o ¿ÿÐ[Ô·Ôÿœù³ÛBùzî’aKô´õŽ¥ID5š˜¼KKå-ôsuŠAÎ=:gªo<0XÑø—þBQ‰•¬P9 3¨qNÜe\SÆÕçR9ÂaqM ~ï¡ÿùm Üôü¾˜ðŤŸþòéË}ärùÆ«ójòN…œÂ¾z}fõ ·È­Î•ʤN\'åY(]-][Žm^M^am¡@$ËåŽ&Ž4MÑÁÞØ^ù%5S‹‘¡h”Ée„‡å•§²ºÎ™ëLÉ­ÉíL©Š•–«²­²ƒþݱVo,o¬Ÿ£ßíüÛ•¬(¿µûÎîôŠôŸüÄÕÃHú:Ìê@o!'íô«Ès4Bû¯vBSi!„P ûè4z¨è²Ë”/õRùï£Ëå/þ*ôÞñÇÓÉĉò´æ©rã÷¼úäêñyÇ©œ' »cßAx_`Vz OsOQX[(“Ë{b‰¸ìyS‹édâ$ i4Ú³ºgr¹\‘ü**”C›‡¹ƒÎÐa訬‹Í­k®SŽ€¥ÏK•;<«{Fq7w§^R=©ü'’ˆß;<0ØŒmöv§öîkõN§Ÿn7œšzT¨TB8¬?*ÿŸ¼ÿH:ðÓ‚Ÿ¬ ­¨a«pÂ~åýö Oéÿ0 „pXœ9ýçT «ÏfœU4M9ÚÜÖüçafj1MõM'»O®j¬º˜uQ¹ƒÊ óÎúûÓ[ù·e‚²W7Š$"åžÙüljGBˆT&=’|„ò§Á¢ZÌôÍ!ÏEÏ !…µ… :ZíÜýÐcN§ŸÞ·G9Ô&—$ß)¼cÎ6÷sô£Z”?XsyÍ`›Á—².…LJSÿSù~ ¯Á¬¨µ¯žX"®j¬ t ô¶ðþÇ„´´µlÙ›ëÌu~Rý$±(qÁ ŸúœúÔöIÛùBþ†_7ÜzzË–c›Q‘ámáÍ 3Šë‹ÃãÃ?tûÐÃÜcKà––¶–•VŽqãbêR×\w#ïÆLï™ -P.`¼ëøï~ûÎÒÐÒTÏ4¹$9§:'Ô?t‚Ûê]3¶Ù(§QW²¯°´X E ³¼g1ÒÊÒ‹5ùÑh´ .T5V‰%âðøp'ÿÁ6ƒ»ãëí<úÄýLôuôeë° ë o=½ådâ´wÆ^–ö‹§Ë¯úe•X"¾ž{ýzîuå϶{‹.ô4< / …|>¿ã><žKx8Êa×Z±…2…ŠzÔϵ÷Šï Dc–±Ÿ“ŸÊÊr¹<¾(>›Ÿ­ÃÐf7ÌÇÒ'">‚ZçGE=ª[amaRqRƒ¸ÁTÏt„ÃåAD ƒ÷žé=s×Ô]w ïæÿž¯²…2E"“Ä䯔 ÊŒ&¸M ÓèTÔStPD=EK÷E=BˆX"N-M-”Õ5×èxZx¶¬| ˤmÒ¶—?È 3pÞÚÕ«ìÐP‹ü|l¶Ò[°Ùl ‹Î÷GÔèÓÔõÔHõ¾™þºkèíõz›7zX« ±õ o¹œuùнC„'ÕOÂãÃUîÃÐ0¸-ú]-Ý.|L@o†¨}Ë ïê. çà.€ÆBÔÐXˆz Q@c!êh,D=…¨ ±°¯ü—„¢„y7ÊÊõµõ]¸.!ƒC¸z\uo ³zð‚\.½ºèô"‰L<08À9 :'zÌ1ñÏâÕ]¼%ÌêÀ · n_}ruªçÔ“vP-¾Ž¾cŽÝr}Ë¿ÝQkið–0«/<®zLa?BÑbi`éhìX&({Þò\}uÀÛCÔ€, , !*©N °´Y†LC5ïp@=~¼ÿãµ'×!®f®kÖM9šU•Åaq]§xL¡úì¼µ“šg ê4§ÿBÈéôÓ—³.BF8ŒøÌÿ³—ljLŽÌâg³ŒçôŸóÃÕÂêc©ÇòjòÌ Ìçœ?ÀjÀö™ÿgÇÓŽgWg7‰›ì8v»¦î"„<ª|tõÉÕÂÚB9‘{[z 6g›wþ¤(|!ÿDÚ‰œê†Î0»a /Xþór©LJYé»ÒßÉŸÒÒÖrþÑù{Å÷„­B3}³q¼qÝ'Òi¯ü'znMî—ÿù²ã³é0rµÿêW½;Ýkúá{‡O=85Ã{†­‘-!äXê±jaõºÑë:8.ôf4¹\®î@m„B!ŸÏï¸çΟ2Eص‡.®/®j¬Zöó2[#[kCëIúÜ .\Ͻ¾}âöàAÁ„~NzEúÖ˜­+}W® XK)}^ZXW¸ôìÒIî“öíSÇŽc7Ùc2[‡}4åèƒò»¦îº”u)È'ˆ©ÅõûÔÖÈ6£"#¥4å~Ù}KŸ c7¸p]LõM+*þôÓŸ"Á*¿UöûôŠô#ÉGF9:ðÑÑnåâÆl~vÇgÇÕãR¥¾J£¸ñнC§ÓOÛÚD}ýu£×ãëxXÐ`W¯²CC-òó Ô]¼Àf³-,,:ß³z ÆÆZt­üÚü}Aû\¸.„_G߸¸³™g©Täiá)‘I”?eDZãêsÛ§ ¶`Ð~g®3!ÄÍÌ-ðPàÿ\ýŸØ±Ö†ÖT·iQÓÎ?:¿9ps' +”ž}˜ FCí†æÿžO©o©ŸÛ®b@×ÀÀC»ïì><ûp'OŠò÷_ÿþ¼åùÅÅ},}!ãxãN=<•ZšjÄ4R¬“[we]q}ñéONµJõ1Ñ3ÙqsÇÉ' ]ÔnåºÊËìÞ‚D&9tàÇû?Î8ÿ‡-‚“NÃ@×`˜Ý°wÔò f6†6T$"„0µ˜6F6å‚ò·ÇȆÊy„{Ž=ƒÎà™ò¨œG¡Þz£‘í8vŠ 0=m½þVý ! /ø|ÔçŠ>FL#KŸ”ҔΟԳºgÙülž)Êy”Iî“”?^ú¼4µ4ÕÑØ‘Êy”©S !]èü)¼©C÷¾wø3ÿÏ6nä~Ôï£3Ÿœ¡ÓèË~^ƾföz'Ìꀚ©lÏ«§­W%­z‹qLX&ŠŸi4ƒÆ0Ñû£E‡¡Ci“µu~@“ór£Û"&7&©$©FXÓÜÚLÉû=O(JeRå몜•ù¬ ¬”;põ¸Ê/®/&„<=9¢R@nMî« ~÷µzç3ÏBfùÌR´h3´§xNù>ñûëO®¿j6z3D=èÕh4!D&—)ZDm"uÓ&m›ûãÜ'5O– [2Áu‚¾Ž>!dOÜžûe÷ ­³ƒ0µ™„¦Ö&寖¶êž 5²¡Íg£>{y™\ÖîMÖ†ÖíöWÖñs/jšj!*7Û1!ÕÂêŽG€Þ Qz5*gÔ7×+Z jÕ¶<üAùƒ,~Ö$÷IÆnP4Rvž·…7K›•_›ßÒÖÂÒfQ*su^^ºµÍµCm‡*ÏöEÄGˆ¥âW-È{÷µzŽÆŽ9Õ99Õ9Ê·*S·z8;¾ËÈ .X«½šµ‘µ‰žIܳ¸Q!¤¥­åxÚqucDZ£Óè9Õ9µÍµTKamáƒòo4K›µ|ÄòQÃî;»©ÙJH°?q?5IÑÕÒ]?z}UcÕž¸=Rù‹Ù¾ÿäýçགྷïæ:¶|ÄrBÈöÛ'x+ÿVtN´‘ÍT¯©Ýw\è>Øl OSãf+—³.ŸN?}¿ü>S‹émá½)pƒÎØ~c{?K$ ±²`ð‚©žS !7ònl¼º‘â`ì –ˆ7nZtz‘1ËØÕÔuÃØ ÅõÅ*ãןzp*µ,Õ@×ÀÃÌcÛÄm«ŸÍ8›RšÂaqÜLݶNØêiîÙɼ,¼¶Œß¢x÷ü£óa±aÍmÍnfn©ÄXϸIÜ”Q™1ÌnØ4Ïiº9)™\ömÜ·‘)‘ºÖ†Ö ¢†m·-ýy©Ÿ£_ÔÜ(åcí¹»G,;;Ô6ÕB6ŒÝ0Ùcr×þ¡â£ {Û[×\çÂuˆ £œF}9ñKj›=胰ÙJo󦛭 êôijŒz ¥ÏK/=Ì=h„–S£h±çØ[¾¸wA$ÕÉä2wsw"'ieiT»»™{s[³Ê8Í­Í%ÏK-ÞÞ‘ LP¦hñ4÷ìàÙ*…2 Ura«´µ¤¾¤AÜ`e`eeh•W“WßRO±2´Ò¢kuþ¤„baA]]ÇÍÜM(Ù;dŠÇ”ðYáÊÇ’Ëå…u…‘ÀLßÌÆÈ¦gö1–Ë奂Òa6CÛÑØÏÉèãõzì«ïkCkÅN( ¯º:ÉÔbþ±õ1í¿ºqX•qŒ˜FŠ8Eaë²mŒlÞ¥0e: å]ˆÝÌÜT>®Òÿå“J*NJ-M õU,‰£ÖÃ)o¿B¡ÑhŠM[z F³çØÛsì{ø¸Ð°V §Õ6×F&G*fûj„5_ÝùŠ«Ç3`Žz ̓Y=èsrªs¶ßØþªw;^É×%†Úì1yΉ9Æt:½°¶ÐÃÜãÇàYÆÝz\èƒõ Ïñ4÷üßÿ«Æ, ,wMݵkê.5Ö}.àh,D=…¨ ±õ4¢€ÆBÔÐXˆz Q@c!êh,D=€.“Y™9xïàC÷©»€õÚ÷¨ò/Œ·'nOç?"'rJ÷UðFð \€.3ÀjÀÃ5Õ]À0« ±0«ê±ãæŽÒ~ „ °°a܆=w÷dñ³ZÚZ\M]««ÅT·•¾+׬%„|÷í¡{‡î­¾Çaq!ÓMÏáçB†Ø9óÉ™—ÇO+K›r~Ç5LõœúÝÌïÚ}kù¹å·óoB¾OüþûÄï !¾Ž¾'æŸè l?G?Å[çW9ÇLøÇ¿ný+‹ŸeÌ2ž;`î*¿UÉ%É_Ýù*¯&ÏŒm¶`Ђe#–½ñ—ð:4¬)èË„B!ŸÏï¸çΟ2EØ úv6C{ õÀ c7ØÙþ”þÓ™ô3×–][}quLnLÜÊ8KKªç˜cÊeÛ&n Bµì¸¹ÃXÏøSßO»£0BÈ£ÊGAǃY³3eSo9›8SQOÑ™­Ëa?bmÀZ¶û›»ßœzxjmÒ¶u£×1µ˜a·ÃÎež;4ûP /°›Îà­]½Ê µÈÏ/Pw!ð›Í¶°°è|\À5kjmÚ=u· ×EWKwñÐÅT` ò ’Ée—².Q}ÒÊÒh4š]KÑ"•K}òëLªìW©mªÝ¸ÅÚÐÚiøyÀç„_s~ýrâ—––'Ô?”r§àNÏT} ¢¨™ƒ±uMVÙh—Ñ&z&_¤^^ʺ4àü1.c”?(”BîÜu2v²5²íérÿ_»e¿ŠÇNÑÙ˜e¬E×ráºèiëQ-l B¿ñ5Ó«okõ@ÍXZ¬—4Æt¯éÇÓŽgñ³ÜLÝ®?¹½4ÚÁØáæÓ›W²¯ümäß.<ºäÔÁ°ï¸VïíÊ~¶[ù%FgëþÑ 3!r‚å4Ðõõ —šå=ëxÚñ‹/³æeáeÁ¶ÇgÈ4¼øøbÈ Äâİ)a||¨íÐüùïRF{—ô¸€ ½T?«~.\—+ÙWÎgžŸå3‹¢ÃЙâ1¥ ¶`÷íÝ£G+OŒu–6‹Ò&m#„T «ya¼guϺõˆ]Qz¯ Ÿ ß›~O,Nœä>‰j¡2ß™Œ3_½íö{¶.;½"½©µérÖe ¶…=Ǿ» еõ@=&ä…ñÅ•¼0^È©—ûÌôžI§Ñ'ºO¤&Ø!Cl†ØqìÌØf~Ž~Ý]¡6C{Ïô=uÍu#ÂGüòø—½3÷2èŒÊÞqs‡ò[g3ΪtN(JˆLŽä…ñZ¥­‰E‰¼0^zEúþÄý¼0!ävþm^/¹$¹»Ï úì«Ч©}_=èå°¯^oƒ}õàD=…¨ ±õ4¢€ÆBÔÐXˆz Q@c!êh,D=…¨ ±õ4¢ô.q…qáñá^_y}|ücu×òBl~lx|¸ë.×?Ÿùs.:'Ú¿?/Œ·ðôÂ8h6D=P›jaux|xRq’rc€s@¨¨®–®ºªzÙ8Þ¸PÿP:­'þ`.>³829rsàæ8ôˆz 6üFþËQ¯›ì1ùüÂó^^ê.4„–º €?Ì0OÝ%€FAÔõ¸œu9¹$™’ZšN±ãØù©tK(JȪÊâ°8~Ž~6F6Tc\a\zE:!ÄÒÀrNÿ9IÅIÙüìæ¶f®>wÁ TŸ¼š¼”Ò”Fq£™¾™¿“¿¥¥òg~:ÒbIDAT°b‰8©8éYÝ39‘{™{°A£Ñ”;Èä²øgñ9Õ9L-¦¯£¯«©ëkϨ¢¡â\湎û¸™¹MrŸôÚ¡º ¢ôV4²>z=!Ä„er6ãì¶Û¢æE ·®xÿ`ÒAž)ïæÓ›L-¦ÇîNÁ™\¶`бD¼ñêÆèœèñ®ãí9öw înÙº6`íòË©^}rõŸ1ÿ´1²é0²®¹îÛ¸o=Ì=¢æFèPž·<_~nyFEÆ· ¶F¶[¯oËÛó_À»CÔõ˜á=ÃÉÄéLÆ™avÃBýC_îð¨òÑJß•¼@BÈJß•¾û|÷%ì;1ÿ!$À9 À9àXê±l~öj¿ÕÜ&B>üIlA,!dÛmW²¯l›¸-dP5Ôæk›wÝÞåjê:Æe !$£"ÃÓÂóø¼ãÔLÞÒáKgý0k÷ÝÛ'n§úo¹¾åaùï§}=ËgÕ²éÚ&©LÚñYZ·{"j„Û2 —âês©œGá°8Ž&Ž¿¨ô±`[P9behµ`Ђú–úsΙê› VtûË!„K=F½å4jýèõŠ+¶nfný­úßÈ»A½¬ÖÄäÅXXÎôž©A1#ð~Á¬ôR*«ëXZ¬Ê¶JÕ>†–*-¹Õ¹R™”©ÅŒHˆP4Êä2BÈÃò‡ÔK'ÿªÆª‹/Ö4Õ´´µBêZêj›kerFϯ͗ËåŽ&ŽÊ«÷ìíUó½ kõ BÔ€^ŠÞ™Ëòö›tÆ E£S—V¥2)ƒÎøçþùÓßúYõb3„­Ë~1’\.WŽFþ+ØÑM¥ཀ¨jC2¹\NID‡ïlÆ6{—1=Ì=t†CGeÙ\l~l]sƒÎȬÌ<õàÔp»á§BN)&ê²ùÙ…µ…ÔÏ®¦®4íYÝ3¹\®èPÑPAM vkõ ÂZ=P3}3BÈsÑsBHamaDB„Ž–Î;ŽÉaqæœÿô÷§·òo)Ëe¯nID„mº6!D&—)æðÄqþïùŠÎ¦ú¦“Ý'W5V]̺¨h<šrô P Æ_|¡î@mZ[[›šš:îa2yr“«kk—]_Gÿaùû…wëšëަå4jº×ô´²´s™ç’K’¥2iSk“µ¡u£¸ñ‡´’K’…­B©\ªÍÐ.o(WîS&(S~¼„¿£ec垸=+çTç\ɾò¯[ÿšá5c•ß*fÆ6«l¬¼ùôæí‚ÛEõEw ïîKÜ×ÒÖ" !™ÄÞØÞ×Ñ÷~Ùýïÿ˜[“›Y•¹?q¿ÛâQÕ#™\& Œ˜F¦ú¦]þmPâŸÅ_̺˜\’œQ™!—ËÄ É%ÉîfîLmf7 cyy:11ìÐÐzu/èèè°ÙìÎ÷Ç\x ==Yssw-S;2çHLnL¹ <Ô?Tq/-!dÅÈ*=ç T}ŒÄË}(Ú íÝSw¯ø`ERqRƒ¸ÁÉØi¥ïJ{޽¢Ã¿'ÿû“ÁŸ¤W¤7ˆ¬ ¬Vû­Ž{§¸€K1b^p:¾(>›Ÿ­ÃÐÙ¸ÙÇÒLji$ÕÚÀ®Æaqp-z‰¦&º¾þkV/@oF£VÉ@ß$ ù|~Ç}&L°Ÿ1£qõjü› / 7¾rÅàÆu/°Ùl ‹Î÷ÇZ=x w÷Ö¬,]uWê‘­ëîÞõë7 Ç êÀk|ðAKR«­ [ô9­­´¤$ÖÈ‘-ê.Þ¢¼ÆøñM"ýÆ }u=íæM}‘ˆøš›· 7CÔ€×°´”ŒÓtô(+{ú¹œ=Ê3¦ÉÒR¢îZàí!êÀë­__÷ø±Î/¿¨»è9.<~¬ûùçuê.Þ ¢¼ž«këüù _Í ñG O éß|Ã?_àé‰{2Þoø« ²fM½LFÖ®5—aƒ-M§øe_³»,½÷õ S8é‘#•IIz»vqÕ] t¯°0nB‚ÞUŽTݵÀ»BÔ€Îê×O¼sguT'<Ü·hh$¹œ„‡›;Æ «4H¤îr  àÁhð¦O67ÓÿùOÓgϴêuu‘ø4‡XLÛ¸ÑüÚ5ý;j¦Oª»è˜Õ€73o^CTTe\œÞìÙ6iiLu—]#-9{¶M\œ^TTå¼y ê.º ¢¼1_ß– ʸ\ip°ÍÚµEEÚê®Þ^Q‘öÚµÁÁ6\®ôÂ…2__<C£ÐäXqЇ …B>ŸÿÖ¿uKçNnI‰öðá-ãÇ7$rph32’Òñ¯H€^L&#£¨H;=yó¦^J ËÞ¾mÓ¦Z<ã½Àf³-,,:ßQ O{ǨG‘JÉÝ»ú—/³ûMO @ÄxŸp82ÿæ3Gnf0Ô] t¢¼wz r9)/×.)Ñjh Ëå´.º&74”ÙÙIlmÛhøe}ß¼iÔøÐ5h4bkÛfkÛ¦îBà¸Ú ±õ4¢€ÆBÔÐXˆz Q@c!êh,D=…¨ ±ð`4…Y=…¨ ±õ4¢€ÆBÔÐXˆz Q@c!êh,D=…¨ ±õ4¢€ÆBÔÐXˆzëÿˆ]j!&„œIEND®B`‚fio-3.39/examples/uring-cmd-zoned.fio000066400000000000000000000012221476262051600175520ustar00rootroot00000000000000# io_uring_cmd I/O engine for nvme-ns generic zoned character device # # NOTE: # Regular writes against a zone should be limited to QD1, as the device can # reorder the requests. # # As the passthrough path do not use an IO scheduler (such as mq-deadline), # the queue depth should be limited to 1 to avoid zone invalid writes. [global] filename=/dev/ng0n1 ioengine=io_uring_cmd cmd_type=nvme zonemode=zbd size=1G iodepth=1 bs=256K verify=crc32c stonewall=1 [rand-write] rw=randwrite [write-opts] rw=write registerfiles=1 sqthread_poll=1 sqthread_poll_cpu=0 [randwrite-opts] rw=randwrite sqthread_poll=1 sqthread_poll_cpu=0 nonvectored=1 registerfiles=1 fio-3.39/examples/uring-cmd-zoned.png000066400000000000000000002776671476262051600176150ustar00rootroot00000000000000‰PNG  IHDR#e%mbKGDÿÿÿ ½§“ IDATxœìÝg\W×ð³,,[è•& ±¡Rl€‚ŠDM4¢Dƒ€H,€½+ Ø#ƼƠĮˆ ¬(˜XAP©K–¥ïûaÌ:Ò\ʲˆçÿóÃp÷ÎsçNÂaîÝ Ç„B!$b¢!„B¨×ÂL !„BHX0ÓB!„Ì´B!„„3-„B!aÁL !„BHX0ÓB!„Ì´B!„„3-„B!aÁL !ÔsÅÄÄPHBBBDQgµ·G~~~C† ‘’’¢ÑhJJJC† ™>}zVVV·Ä‹ê,Ì´úòÔ××Ïœ9“ÅbM™2¥¦¦FÔáÑØ±cy<ž¾¾¾¨é2íêQVV–©©éîÝ»ÓÒÒvíÚ•›››’’bmm}æÌ™üü|a‡Šê˜i!ôåIJJ:uêTUUÕ¥K—?~,êp°¬[·ŽÈ¨æÌ™³xñb%%%%%¥}ûöÉËË‹:4„ ÄEB¨ÝŒŒŒ¦M›våÊ[[[KKKQ‡ƒ„åöíÛÄÆ7ß|Ã/¤R©%%%"Š!Ôn˜i!ôå‘8s挨£@BWZZJl(((ˆ6„P‡áì!BÝÄÇLJ¼šXÑÜ$--­ÿý·¨¨hèСD‰††ÆºuëÞ¿èÐ!¢ÄÀÀ ®®®ó±9Pii)ñã«W¯äääˆÇGâÕ«Wššš --}ëÖ­²²²M›6u\\\øax&“’’‰j©©©¯_¿ÖÖÖ&zÝù5åsçÎ%’’’üjv !$˜i!Ô}:–i7Ž_¨¨¨(H¦µnÝ:¢äرcD‰ŽŽ¿ÿ–Õ‚ ˆ’÷ïßÙ€ ™ÍД)SÈåÍ3­;v%+V¬ J”””êëëy<›ÍæŸ/^t>6r¦õþýûAƒ{õïß¿°°¨3zôh¢pþüùDICC?!ã·/à™ä/’óöö&JV­ZE”¸ººv¾GfZv !$8{ˆPOÇ¿›EEEŸÝEWW—Ø––&6rrrˆ7oÞðçÑtttøÕTUU›4B§ÓÉÓUD›999qqqDsssrýøøxww÷&ôïߟؒ’"6455©T*¹rss;Nçñxrrr<oîܹ/^¼‹uáÂ%%%â(wïÞmrŠÄÄĈQÐ|º­3™““Ol÷éÓ‡ØèÛ·/±qþüy.—+x:¬Bu'\PO§®®ÞÞ]š,âGl—‘«ñoŸ´­  €¿MN•Z#&öáÏ9 …ÒZ ?¼NÆÆ·nݺ .‡øã?Œ‰rò3¨ Fócååå5iª3InmåÊ•ü{“„šššÌÌLò¢®Îô¨ èB¨;á=-„º9·àk²Âº9Ö…1wwššÃá²;ùfLEEEŽpöìÙÍ›7ÛÓ§OçDÎYÉíWWW7¯ðYÄb5¦M›šO 4HðÕÔÔ888ÈËËÿöÛo‚Ç]Ý)„P—ÃL ¡îCþÇOSÒÓÓ»3†~ýúÛü`È7«ÕÕÕ伈³oß¾VVVD…„„~åššiié5kÖˆ06xöìÙ÷ßOÜvš2eÊÆ‰r))©””uuukkë&í766fffÛnnn‚G«©©ijjÊ?.ù£qãÆ¼G§OŸŽŠŠ*++óññ©¯¯<Œ®íB¨Ëa¦…P÷‘‘‘;v,±}êÔ)‡séÒ¥èèèncß¾}ÄŠìÓ§Oß½{·¬¬líÚµuuuî~äÈeeeˆŠŠÚ¿YYYNN΂ ~úé'ÆVRR2uêTâɆ††Ço~ñÈ‘#Ä×ôNŸ>óþýûmÛ¶•••€‹‹K{ã?|ø°ŒŒ œ9sæØ±cååål6; >>~ûöííêR’¿!¸®íB¨‹ e=B¨999nnnjjjZZZÞÞÞžžžäÿ$“““Oœ8Ñü?Uþw›:f̘æ…Ë—/hRxôèQ¢‘G988ÈÉÉIHHèèèìܹsàÀDÏö‚Íf¯ZµÊØØ˜ÅbIJJjkk/Z´èÍ›7-†àêêJ.¡R©üµä|ÿûßÿZ‹ü–@}}ýÖ¢:uêTóóÆ÷òåK¢ZYYÙúõë‡*---..®¬¬<~üøðððÆÆÆãoûLfeeýôÓOzzzt:Éd0`Þ¼y‰‰‰äÀéQuuõĉeee<Ø0ÚîBH„(¼öÿý„ê}444ˆoÕ…‡‡ã|Buœ=Dè«©¡¡Aþ+«  €xΓɴ³³]h!ÔÛ`¦…Ð×(''gñâÅoß¾­®®NJJš={6Ç?tè± !„P—ÀÙC„¾:õõõׯ_OHHxûö-ÇÓÒÒ3fÌÒ¥KŒŒDBõ*˜i!„B Î"„B fZ!„B‚™B!„°`¦…B!$,˜i!„B fZ!„B‚™B!„°`¦…B!$,˜i!„B fZ!„B‚™B!„°`¦…B!$,˜i!„B fZ!„B‚™B!„°`¦…B!$,˜i!„B ‹¸¨@õ*•••¢Ž!„„HGGGðÊxO !„BHX0ÓB!„Ì´B!„„3-„B!aÁL !„BHX0ÓB!„Ì´B!„„3-„B!aÁL !„BHXðñ¡žˆÇƒìl‰wïÄß¿§òx¢Ž!Q£Px22ššõuЍ£Aí™B¨ih€˜Ö¥KRwï2ËËñ¦;BMÉÊ6Ž]5eJå˜1*UÔÑ `¦…ê)nÞdmݪøö­„•×Ó³Ô̬º_¿:YÙ1̸ÐW¯±ÊË©oÞHüû/ýæM¦‡‡š–V¿±­-GÔ¡¡Ï ðð¾ÓÉ©ÒÛ»¤_¿:aĆP¯ñæDh¨Â¥KR#GVmØP„ÿÉt3|Ã4BèKòàcÚ4âbê‰9{öàï „>«_¿º={ NœÈ).¦N›¦ñàCÔ¡Va¦…¥ˆ™~P·¶®:}:Ç¢ZÔá ô%±°¨>}:ÇÚºê‡Ô#"dDj®ÓB‰Ì¥KRÊK—–.]Z‚_§B¨$%y{öhk+*3™NNíž»G†™BH4’“%ýýU~ø¡ÌË«DÔ± ô£PÀË«¤²’²j•ІF½™ÞîYpö!$eeÔ… Õ‡¯Z¹²XÔ± Ô¬ZU|ˆOï)ðî"B¨[¥¤Ð¦LÁZÄÅÅ8 ê(z§Aƒj.]’uèÌ´Bݪ €ª®^/ê(zа°°íÛ·ó ÉÊÊ:}út^^^CCùsçtuu/]ºtáÂ…¬¬¬¢¢":Þ·oß#F¸»»«©©@dd¤¿…€€€çÏŸß¿¿´´TUUuòäÉÞÞÞt:_!11ñÀOž<áp8}úôqss$δ´´É“'“KÖ­[7wîÜÆÆÆQ£F±ÙìÀÀÀy󿀑‘—ËmÞB“®-X°àÈ‘#üO÷ïß?qâÄmÛ¶‘ ‰#*))ÅÅÅ%l6ûðáÃwîÜÉÉÉillìÛ·¯Í?þ(/Ï5ø„ºz›OÕê)pö!Ô­ª«Å˜Lœ:üÀÝÝ===Áø0ѳwï^qqñ .lÞ¼™(ù믿üýýííí¯_¿þèÑ£… ¦¥¥ýñÇ...eeeàèèHn!,,lÞ¼y7nÜ=ztNNÎáǃƒƒù‡»ÿ¾««ë­[·ÿüóÏóçϼ~ýú³q8055UEE…øÑßßîܹpïÞ=6› gÏž%>JNNÖÑÑÙ¶m[zzz]k6aõêÕ÷îÝãÿ•žžÎO³RSS'Ož|ôèÑÊÊÊK—.]¿~½®®îÈ‘#S§N-((hÇIÿ 0™UUøû½§À‘@u+ð[‡­QQQùñÇeeeg̘!''GZZZΛ7ÅbÉÉÉyzzªªª@aaá7š·àêê:dÈ)))¢„\mãÆõõõ0qâDKKK™eË–‰‹ 4¹A¥R‰m~^uæÌbãÅ‹©©©˜˜˜““3iÒ$AºÖ.«W¯&’ËI“&ikkkhh8::@nnîÖ­[;Ð`/F¡ÿœé1pö!„zŠqãÆñ·@GG§ªªÊÉÉéíÛ·UUU<ÒïÏ’’ÞÙ¯_?bƒÅúðÕ3þýžœœœŒŒŒæÕ”””òóóÉ 4ˆüØ--­[·nÀ´iÓ~ûí7HIIyùò¥††Ftt´ŽŽÑì™3güýýÏž=;aÂ))©Ïv­] ’’’ˆmþ­5"é€7nTWW“'Iê9ðžBõÊÊÊMJÜÝÝ÷îÝûòåK[[Ûǧ§§ñZºk!))Ù¤„_­´´´ÅjL&SÀðtuuù_<{öldd¤¶¶ö²eˈ’‹/r¹ÜÈÈHAºÖ.………üí;wذaQR[[›Ý™ö¼§…B=öÉKT²²²?~LlûúúvrÝ7y÷êêjþvUU•àL›6¸·tñâž}ûþïÿ³±±‘••-///**Z·nƒÁ1bDó›t­5”V¦–ùÛË–-ûé§Ÿ!ÑÂ{Z!ÔC‘ïZñïB•——w¬µ¾}ûêèèÛoß¾%68NQQQ“š/^¼H'!¦ ŽŽŽP\\üüùs'''ÆÿZâÙ³gÅ:ñÚpò 6bI™››[`` ºº:ÿf^“'šÎž=[ÀoP"$˜i!„P¥¥¥¥¥¥ElŸ8q‚Ë冇‡çææv¸ÁuëÖë߯\¹ÿþýû"¡œœœ­­-±=fÌ%%% ON›6­Ãဴ´´¶¶6±”””™™ùìÙ3+++غu+±üëêÕ«çΫ¨¨(..Þ½{wRRÒÏ?ÿÜ™ƒ"$T˜i!„ÈDFFêêêò@åéé©««Ë_rD¥R:4jÔ(iiécÇŽÍ™3§±±Q__Ÿø4((h̘1Í[ضmÛž={/^L”ÔÖÖêêê_1bDDDĸqãÄÄÄæÎëì쬢¢Âïá–-[ÆÿÙ˜ù¹cèСýû÷SSS~kmw­ù§ß~û-¿_–––L&síÚµ³gÏþöÛo‰ï]¾|yΜ9ššš#FŒ˜>}:›Í>uêÔСCÛqÒê^”×T"„PÇTVV¶QAWWgïނɓ۪ƒꌨ()//Õôô QÒkñ'âÑîñÿýw{wA}455‡.ê(B¨Wiw¦åêê*Œ8B"7}úôS§N‰: „êU:ò”‡ˆˆˆ™3gvy(!š1c†¨C@¡^WÄ#„B fZ!„B‚™B!„°`¦…B!$,˜i!„B fZ_’ììlJKÚõ2%&&†Ü‘QG„Bu%Ì´¾$<ïĉü’»wïòx<âEf_¢±cÇòx<þÛEB¡^3-„B!aÁL !„BHX¾ÔY'„BèK™íã4šØ‹SE:¼§Õkåææúúú2™L:®¯¯ïççWTTD®óøñc'''¦««»k×.þútAš:yò$yU{ppðwß}§®®N£Ñú÷ï¿bÅ .—ÛöA»ç„ Þ­ªªÁÖöúÂ…EH zrlMô¨P{T0]ÈÑQ#=ÝeÄeQ‚º fZ½Srr²±±qpppEEÅÓ§O_¾|YWW·{÷nss󜜢Nttô¨Q£"##oÞ¼™“““ššJ|œ’’"HS³fÍâñx,‹Øq÷îÝÞÞÞ©©©ãÇóæÍ®]»Ö¬Yìíƒ"Ôa<¯±‘רÈu -èɱ5Ñ£BíQÁ Ôa˜iõN ,(..€éÓ§8P[[ÛÕÕÞ¾}»|ùr¢ÎÒ¥Këêêˆ:£G–““Û´i“„„Dš"sww777—‘‘!ªÀùóçùŸ xP„Ú‹Å¿}{‘##DH zrlMô¨P{T0ufZ½PNNN||<±Ý§Ob£o߾įùóç¹\î›7oˆ[V ££ClHKK«ªª¶·©&G×ÕÕå·Æo„Øð !„P¯+â{¡üü|þöÊ•+W®\Iþ´¦¦&33“œ!Ñétþ6Pð¦ D.$·Fàñ>Üü'¯kã µ×y‹ÇÛÏŸO‘”¤Ûeeµ¤DGçååq™LqSS…E‹ô¾ùæãú˜’’šýûSoÞÌ+(àJKKXZ*-]j`h(ۤ͘˜ñ;w>¿{—M¥RÌÌÖ¬1ÖÒúxÑfdTìÚõ<.®°¾ž7p Œ§§þdþ†å‡ÔЃËúù n;Ô›à=­^HEE…¿½iÓ&^3ƒ RRRâ×!g]§½M ˜€E¨½ìíÕÓÓ]ììÔÉ………ÕÎη/]Ê^³Æ8!ÁñÌ™± uîÜ{ÿý†¨ÀfW»¸ÄDEeoØ`òÏ?Náá£ËÊj§Oý÷ß’&mnÞœ<¾îƒ“BC->,$¾8Fxó†3cFlrréþýV;ìØ1ôÿþïuJÊ{M,=ÝeÛ¶¡Íc°å¶ÃkMjªszºKÿZK³:|[óÓOúéé. •_bm­šžî2dˆ\‹G |:g΀»w'œ93–J¥tø¼}vDÚ›èoddΚ5Æ .ØXY)¯\ùω™ä¶nM^´hà£GÆ.¼óõMؼ9yÙ2ø8//ƒ¿ÿ~ò¢Å=š¼aƒéþý)oßVµ ê50ÓêUΟ?/''§©©ijjJ”<{öŒ\aܸqÖÖÖЯ_?CCC¢0##ƒØ¨¨¨((( פ)Á xP„ºDPЋììªÀ@cu))qmm©à`KeeúƉEE5ô<'§ÊßßhìX5&“ª§'jÉãñ6lHlÒÔÌ™ýÌÌ êÈ‘*cǪ&%•––Öþw”çïß×­Yc,##gΜ9vìXyy9›Íˆß¾};Qgß¾}ÄRôÓ§Oß½{·¬¬líÚµÄrõö6%8ŠPç]¿ž ãÆ©ñKh4±#”««îÞ-€7òÄÄ(66ïš(+Óõôdž=+ËÏÿä· ±±[]*ܹSÖÖ¢  9`€”€A¶Ñ²àá ÕgOcW11‘¼²ðF„èï˜1Ÿ¤V¿ÿ>bþ|]r‰‘ÑÇhUUé0dÈÇY]55?žCRQ¡kk úÒá:­/Ivv¶¦¦&¹dôèÑMêÈÊÊ€……ERRÒ®]»®_¿îáá±xñb555kkë5mmmïÝ»·qãÆû÷ïÛÚÚjiiyxx 80-- ( Qí³M->=†_sÉ}_ßAººçø%ãÆ©><23+wî|öðaaCÊüüóIIeÉÉN-Æ6w®Ž€-·ž0tø4¶¡¢¢n۶䘘‚÷ïë† ‘ 0Z³æé³geàá1ÐÞ¾ùT@zºKkÁ~ÞÚ‘Ï"÷WAArØ0%Ãþý¥š_ööê..KüüYX(Íšu‡_âåeèåe@‰xÄ×Ò¥G¦ þˆ¯öŠŠ’òòRMOÏèÚfÿáÛ‚ÀL !ð…gZ=ÍøñÑÕÕ wîLu 胯mD0Ó¶veZ8{ˆBWXXmn~¹¾þ㟬ÙÙœ7o*¼åƒºŽêi0ÓB¡N)/¯ ü7/ËåÖ'&–x{'HKKxzˆ:®¯ŽêQð)!ÔqÊÊôcÇF?þÚÍínAWVVbäH•à` MM¦¨CëäeRMð—(u³ÏŽHŒõn˜i!„P§Œ¡=öøñQff ­E•šêÜá3lo¯Î?›7'{x ܱÃüŸŠ=<â||âÏž+##‘žîòÃîÝc7ïÝwßé89ig cѱþ"ÔàìaGHHH<{öìÁƒ¢‰”„<{xô AA/²³«Ö¬1¶±Qg±Ä•”$úIßÚZµIµ3ú "Ç`P5õôdbc ,Ð34”e2©nnÚÌØX6©Íçïß×­Ycüê»ïtÄÅ)äj •<5¦¯/£¢Bù²œÍ®€7òÄÄ(66êü ÊÊt==™gÏÊòó;› ~–±ñÇÛHêê àŸ·#” ’mÒ»ùóu©TJ“FÚ5¢í/BñEfZçÏŸ§ü'++ËÕÕUNNNQQÑÑÑ1##ƒ¨³yóf¢Â¨Q£ˆ’«W¯%JJJÍÛyóæ«««´´´¢¢âܹsKKK³²²œœœ¤¥¥ÕÕÕ.\XQQAìÉß«ººšUqq±¯¯¯ŽŽF“——Ÿ4iÒíÛ·›Ÿ’’âàà ++Ëd2Çwÿþ}þG555k×®500`2™ NNN/^lhhÆ9ìqFú°ZœB9sìì>–”•µ°Ëùó+de«+ÈÉ¢"8:—lÞü¡Â—\½ú¡ä¿Ëà“vÞ¼WW–EE˜;JK!+ œœ@ZÔÕaáBøï2€ÈÈ{‘.(.__ÐÑ äåaÒ$hé2€”ppYY`2aÜ8 ]PSkׂ0™  NNpñ"|%—AGÕÖ6VTÔIJRÉËzZ$%õ±…T*…ÁøX"&FiläñÛäpê%%©L&•Ü‚¢¢dçž7O‡Ë­?~ü5dfV>|X8kVÿ&udd$š”‡..®!úÛØÈ35½¤«{Žÿïùó2Èʪlí¸úúçÉõ›ÿûæ›(Aâ—–þxÒh4*ðH«¿,Ð#÷.>¾xæÌ~Íi×Xt¬¿õ_d¦åììÌãñ¦N >>>>>>999·nÝrss#êòx<‹Åßkâĉ<ÏÜܼÅv|}}W¬X‘ŸŸrüøñÙ³gûøølÚ´)//oýúõaaaëÖ­#örttäïÅ—ŸŸoiiZTTôèÑ#&“ikkF®VYY¹dÉÿœœœ;wî”””ØØØÄÆÆŸzzzîÝ»wß¾}ÅÅÅ/_¾400˜:uêÝ»w»þ ö@÷îÁÓ§Àb‰ :pù2XYÁ‰Àãœ\ »8;Ä@øø€ää@Dܺÿ]<.˜8x< ]Ÿ´ãë +V@~>„„Àñã0{6øøÀ¦M—ë×CXüw€£ãǽøòóÁÒÂÃ!4ŠŠàÑ#`2ÁÖ>½  ²–,ÈÉ;w ¤llà¿Ë<=aï^Ø·Š‹áåK00€©Sá+¹ :ŠF“––¨©iàpê»°MK¼¦¦¡ªê“4—«F”¦÷q>˜:UKIIòÏ?_×Ö69òjÚ4-YYZ“:eeu¼O¯×€¢¢$&&##A¥RRSÓÓ]šüûæ›VŸ­Úb}ò¿Ö–÷‹££†º:ƒß;W×þŸÍ€ÛÖáþ"Ô|‘™™»»ûðáÃY,–ƒƒC|||Ǿ߷`Ásss‹5wîÜÁƒ_¹rÅ×××ÔÔTJJÊÃÃC[[;*ª­?õV¯^™™âèè(##3pàÀððpuuu//¯‚‚~µòòò­[·Ž9RJJÊÂÂâøñãµµµÞÞÞħ7oÞ¹ÐÉéÖ–-Én“˜‹$æ ¥¥µ™™Á[`0Äëê>|gÂÞþÆÉ“YÄ6&6{ö€ââš#GÒ/\x7ožnó}kj’’Jø?¦¦¾g³« eUTè0aB߆Þ“'Åä]J=újÛß.ìT*eÞ<]¢w‘‘Ù߯Óù6{rjÛŸiYZZò·555 77·íXXXð·ûôéÓ¤¤oß¾m7{îÜ9pppà—HJJÚÚÚr¹Ük×®ñ étº••ÿG##£>}ú$&&æååÀĉ‡SŸŸÏ]·.±°°zþüŽÿš÷ó,'GÛ´)ñÞ=vUUCzz…¯o|“ÉĶ ,—™Y™—Çý÷ß’·o9––ŸÑ0gÎ:ºgÏó‘#Uúõc5ßWZZb÷îÿþ[Âå6$'—._ž !!¶f1¿¿ZZ¬•+ŸÄÆTTÔ••Õž8‘¹êêÕFÍWDu¿Y³úKKKìÙóÜÞ¾±«“zxjßiÉÊ~\AI£Ñ c_‘‘áo‹‰‰Q©T&“É/¡R©m4[SSS^^N§Ó¥¥¥É媪ªŸÿñlEEEÊ§Ó ***Àf³àÀÇŽ{ýúµ­­­ŒŒÌĉ‰îë²iXYÁƒ0cˆ |}’. Ñ ƒ_ ] &T*. RÛj¶¦ÊËN‡O/PU ] ¨ØtVIE€Í8pŽƒ×¯ÁÖdd`âDø /ƒöSV¦Ÿ??ÎÁAcÆDsóÈiÓbÊËkOž´îÓ‡ùôi©®î¹èè<<øâž=/’“KuuÏݽËnhàéêžûõ×Ô„„b]Ýsq¹ ººçöîM--Ö©ScŒå== vyÅŠ'ß}§£¯/S[Û¨«{nõê>U` ‘ìøñ7¼¼¯]k¢£óñÚ—§MªÉãÁ‚z-îËdR×­3Ù»÷å7ßD¹¹Ý•‘‘8~|ñˆPT”<{v¬½}ŸõëŸZZ^?>úÚµÜ_µjþ¿®Òü4€®î¹C‡ÒÀÉéÖÂ…ù•Y,ñY³úóx°`nÛ8Ýß_„ºJ/ž–˜˜Xmí'‹*ÊZ\[Ý9’’’²²²åååäd‹˜7TSûøÅ¥òòò&û9‘oQ(”¹sçÎ;·®®.&&&((hÚ´i»wïöõõíò˜{®˜(/##X²LLÀĤ ÚƒO/ƒ–—Øw’¤$ÈÊBy9TT|’ló†¤Ëš]r,"ߢP`î\˜;êê &‚‚`Ú4ؽ¾ªË CäähFFMÊMMåÓÓ]š RÚÚR¿üò ¹dÜ8µæÕZ3`€ô‰£[ûÔÌLáùó2ò®&tt¤ÙÚ§rr4#ÿ¦ýO#ßÊ•CV®Ò±FZl¶›û‹PWùâïiµM]]=''‡ÿc~~þÛ·o…q ¸|ù2¿¤¦¦ææÍ› c„ üÂÊÊÊÄÄOINNÎÍÍ511QWW99¹””°··'¾In³÷ËÌ„ à̸x ˜: » Yuu ]Ÿ¹ ÀÅ€êê:Ûòøñ› û÷Ce%dd€·7ç2€mÛ@[|| 2** - ¾ýòò 4H—°Xàé ‡ 0gÐh@º àÇ!) jj€Í†;ǃ¯ç2èíþþûÍâÅqUU áá™ååµøL„z¹/2ÓŠ‹‹£P(.\ƒ eÇŽ`ffæèèHÔܼy³»»ûÖ­[UTTæÍ›÷óÏ?«©©S(”U«V5o'!!B¡\»v­¡¡B¡lß¾ýÞ½{ %66–ÃáP(”õë×·’ššZ||¼›››———¢¢â°aÃ8NttôÂ… á¿7L'&&ÊÉÉíÙ³gõêÕjjjÖÖÖòòò·nÝ3f ÑHll¬Á¬Y³ ¯^½zøða¡ŸÐžÀÓ¤¥!) ¦N…gÏ ¨ÆŽ…º:¸sh4ؼ¹…]ââ€B    P`Ç33øï2€Í›Áݶn˜7~þÔÔ ¸(Xµª…v€Bk× ¡(ؾîÝ bcà Z¹ @M âãÁÍ ¼¼@Q† ¢£aáB€ÿÞ0˜rr°g¬^ jj`m òòpëüw@l,À¬Y  ††põ*> _Éeð¥iãÁTÄê¢ݸ‘gfv)<<34Ô²ùjî°°Wººç^¾,/(¨ÖÕ=G,‡B}¹(<^û¾K¡P"""fΜ)¤€¾NNNQQQ555ââ½|­B¡øøø‹:ÆÉ ¢¢ ¦¾üË`ÆŒpêÔ©N¶SPPPYÙÖ“$uuuöî-˜<Ÿ6‰°DEIyy©¦§g|¾*êv|©ù‹¼§%*C† ÉÊÊ"¶srr´´´¾’4 }bÈøï2€œÐÒêiB!!ÁL«}víÚUYYyñâŧOŸþøã¢‰È®]PY /ÂÓ§€—B¡ÖáßâípäÈ‘•+Wª«««©©mݺÕÏÏOÔ!Q8rV®uuPSƒ­[/„B­ÃL«¬¬¬bbbD5++ÀË!„`pö!„BHX0ÓB!„Ì´B!„„3-„B!aÁñ¡/^Ø£°í··€ª”ê}Ïû¢ç£òêòË//G¥D½,xY]_­&­fÒÇdá°…†ª†äj®Ç]Ÿd?i²ï<‹yvä’úÆú?ŸüyþÙùÌ’Lº}ˆÚ9CçŒÓG¡PÀh··ŽË¯¼jÜ*w+wxüëâ×D¡¹†yÄœaô!Ô¼§…úâ¹[¹§¯Jo’¾ôÛomßp}ƒžÝU÷« Þ Û'oQðÂùÿœo¤ÝhoSÜ:îœð9g’ÏÚ>ö~|~Þy¦sÑéE¯Š^’—'_úáØéÙ¥¯J'Ò,8îvÜPÅðFÿK]™ŠiBݯ#÷´/^¼|ùò.õp¿ýöÛéÓ§E–ââb===QGÑ Í0™1Ïb±m©iììtÔiÇíöíÉÕÎ}ÎHݨv¶ßÞžR˜½(Z‰¥}dúìrÜu+ýVÛGÏ(ÎXð÷‚©ƒ§.³^Ö©n „: g‘ ÚûŠL„жÉÛš”ªÒÅéoËÞòx M‹ÊšÊ°Ça§=þúö/+-«ÖL]‘Ú…áqŠvÅìši2s²Áä&•W—oŸ¼}€Â€¼÷yô½äû4÷éZûµÄ§ìJ6¬ŠZ5¢ßˆ³OÈÒeo¦ß\{míÝÌ»g¿?+-)MnêAÖƒèWÑ †-À4 ¡ž¿{ˆê=*j*üÆø™k˜3%˜FêF»v×5ÔmŠÞD|ú ëž’Þ(íQtqºKiÕ¸UÚ ÚÝ[·l~Ä|+-«M65ù(bNDcÐ`ÕÁ ÆÅAŽA&}LŽ=9–˜—HT¨©¯IªäNÇšrš2t—!.‹‡/Î,É<òøH“ÖÔdÔ¤$¥Ž<>ö(¬ú…jfZ¡ÞCR\ÒDýã}e})•—/‰{BctÆü“óOÀ•€§¹O‰9Á‹n´qC« që¸ó"æé)ëíqÚÓÆd%ßDý‰póÕMâG& #û¤R>îK,Àº›y·É¾y”Ecm¿½ý÷øß»ª ¡ŽÁÙC„Pï!G—k²Ò\‘©È®dsŠU¤TÖÛ¯7ëcvöÙÙ¹'怅†…›™ÛøãÛh°KÖi5ð<ÏyªJ©îrÜEN•Ú "¥ÅœbâǾ2}@ž)O®£ÈT$×!3ëköûÌßçGÌßzs+(ó-ç rP„0`¦…ê=*j*š”W€"K(Šógç!Îõõqoâ‡-9»ÄßÖÿËZk°KÖi^ ¬m¨ýå¿ðÓ,›_möLÙcÚÇ´µ] * øa€…¦Åïñ¿wæøˆ®‘Ÿû@f®a~dæ‘þþaËÍ-T1êwæßu¾#¡ÀÙC„PïQUWõ²à%ÿÇÔÂTv%ÛPÕ¸Edl–Qœâb⣴Gýú¿_)ÊíôÛB iï½½iì´CÓѨ´+üø÷Ô£SÉ%<øŠ¢­ž-Q2Vg¬ª”ê×wˆ[â±¥Mž€Jf©iydæ†cãÇÿ9Þù¾ „:3­*++õôôEHËzxx_œÊšJ½=Ç}=ô|öððz2†cà ‰y‰Ü:nr^òòKË%¨kìÖð+¬¹º&…RÛP[\Uü[Üo<ox¿á‹çLò™½÷ö&æ%ï6ÖÝ®Ëÿ÷¶ì-¹Úó‚çë®­{Sú¦¦¾æuñk¿H¿gùϾ3ÿŽ¿æŒF¥m›¼­´ªÔû‚wViÖûê÷çŸÿåá/&ê&ß[|ßFÃ4‡ž~˜.N_}ý_ÿþ%¼ž¢ž§¡¡¡­‰oÔmpöð×ØØØØØ(ê@@JJÊÔÔôÞ½{äž^ïÀãñy=â|JyJ™jšÞ[Ùl¸{Fx_ ò¦ýmýwÆìLÊMjä5«w;ΞVø·ááOý/xç¾Ï•—ì/ß뤭3Œ…øÈÖ«©W?[Çyˆ³ ]æâó‹ó#æçWäKŠKR<%Øi¹šõë“sNî½·×å—êúj-9­…V }³ˆ.N'*ðß0ý*Zw».ÿ Óßôûæ·é¿-:½hݵuë®­[f½ì§? ¡¯¨§¹aeå6qâDgggssóv=)u-J{_±B¡P"""ðñÂÓb¦%r ÅÇÇŸßåZÌ´D‚xFü©S§:ÙNAAAeeetuuöî-˜<¹­:¡ÎˆŠ’òòª÷öÞuñâÅÌÌÌL™2eúôéjjj¢­—ÐÑѼ2Î"„B½OߥK—Þ¸qãÊ•+öööýõר±cýüü^½z%êÀ¾:Ý”i¥¤¤8;;ËÊÊ2™ÌaÆEFFÚÙÙQ( …âîîNÔ),,ôòòêß¿?FSVVž6mÚÓ§O‰ÎŸ?OùOVV–«««œœœ¢¢¢££cFFù@6’šš:sæLEEEâǰ°0þGÕÕÕüÖŠ‹‹}}}utt$%%544ìììþøã.—ÛZ7ùõi4š¼¼ü¤I“nßþ°Ø6((ˆh_CC#>>ÞÖÖVZZšÉdŽ7îþýûä:çþýûDeqqñ&‘·^óà ~Æ„!%?Åù€³¬—,s sØ–a‘I‘v{ì( )”…÷ÿûo¸+ ½Nxõ_ÕŸö#My™ò´ƒÓž¾ûo¤þ=OT¦,¤dg¹r•ó’SôQtÜç˜Qøép ÖHj~êÌC3}‰Ãî†ñ?ª®#ÏÊbß¿}uüu$Kjü¬a·ÇîÓ1-â×§ýH“÷–Ÿ:évÊÃ}-ˆh_ãgø¬xÛݶҞÒÌ%ÌqAãî§ß'×áÔpî§ß'*‹{ˆ7‰¼ÅðšNð3†úÚèééýüóÏwîÜÙ¼ysrròäÉ“-ZôäÉQÇõéŽL+==}øðá §OŸf³ÙG MJJ’””äñxaaa——giiù÷ßggg7uêTðñññññÉÉɉˆˆ¸uë–››ÿ@‚7âáá±dÉ’wïÞÅÅÅQ©TòG|ùùù–––'Nœ -**zòäÉØ±cçÏŸèС»IÔ'ê?zôˆÉdÚÚÚôóóãñx&&&eeeÞÞÞ›7oÎÏÏ¿sçNII‰Mll,¿‹Å9r$ÇãñxõõõM"ðpž1aHg§ß6Ëó-·Xžx|"tVhQpÑ“5OÆêtþ¡ØV†»<ßr‹eø£p¢þ#ÿGLÓvmØÝ0ð›àÇ;Ì3Ñ4)ã–yŸôÞì¼9wþwJ8%6»mbÓbùuX’¬‘º#y‡y¼Ã¼úCõM"ðpž1„ÐWKBBbúôéW¯^=tèPyy¹««ë¢E‹rrrD×W¡;2-ÿ²²²ÐÐP{{{))©Áƒ‡‡‡s8rÕ«W¿yófÏž=“'O&êœwîLš4‰\xåÊŸ6ê;88ðK$%%mmm¹\îµk×ø…,ËÔôãã ŒŒúô铘˜˜——÷Ù:p8hóŒ ÃÕgW`Â`ÒpK+¨}:Üÿž£ˆ9“FJVmpŸÁOÞ<É.ýt¸û“‚WЀܲÜö62¬¿Ãýï9˜4äÓáö¾âc×Êpÿ{ŒHç_\ÒÖЖ[ǽöœ4Ü’,SMÒp÷5ê#×'ñ]b^y;‡[°ÃA›g !„ÖÖÖQQQ‹/>pà€££cRR’¨#êÍ„þ”‡šššŠŠ :.%%E.———'×)//YYÙæ-¼zõJCCƒÿ#¹FâËðíj„Åb}6ìòòr:.--ÝvͶ뫪ª@~~>¿DNN®É¾***¹¹¹l6[]]]cµëpÐú†šúšŠê º]JòÓáfÉ“ë”sË@Ö«¥‘*x¥!On)x* yím„%ù¹á®¯)ç–Ó%èÒtÁ†»•úª2ª_NnF³á–VÉ-Ëe¿g«Ë <ÜZ?c!DF£Ñ–,Y2uêÔ€€WW×+VÌŸom ¡gZ’’’ÒÒÒ•••äd‹Íf“ëÈÉÉUVVr¹\b xÇÔùFÈ­ÉÊÊ–——WTT’lµVŸ˜È#±¶¸¸˜Çã‘mBœ âGAžz"øáº™¤¸¤4]º¢º¢²¦’œl±ß³Éuä˜r•Õ•Ü_¸âbî®h„Üš,C¶œ[^Q]!H²ÕZ}b"OM–4ÜœfÃ]Á™ÿ†n‡BíÒ·oßßÿý·ß~Û¾}{ZZÚ¦M›:ÿ 5ѳ‡Ä1‡HÈÏÏOKK#×™6mZ}}=ÿ[x„;vhii«ÂÑ%𹸸@TT¹ÐÌÌlÙ²emÔ¿|ù2¿¤¦¦ææÍ› ƒ'}n¼¸QYSù,çÙü?æ7¹ï²mÚ6eþøáʳ+åÜòNÉ¡ØC/m š$ø ª.i„Üš¶’ö²ˆe—“.WTWd—f/ùkI^yÞ2ûV†{Ú6m%mŸ“>‘I‘Õiißþ6¯|hii9}útUUUÕ«WkkkS©T~•Ç;;;{zzëåÏž={áÂâaôqqq åÂ… À`0€B¡ìرÌÌ̈Uðíj„<¡C<}ŠÿÑœ9s@MM->>ÞÕÕuéÒ¥ŠŠŠÃ† +--½{÷®––V‹Ý$껹¹yyyõ9NttôÂ… ÉÕ¤¤¤öíÛ·aÃuuukkkyyù[·n3†_!$$ÄØØØÐÐÐÕÕ544ÔÐаðZ;œ€gLt”u®~h©m9ý×骾ªz¬ž´Z[I›*Fni•ÇM=Ã=•—)¬18ûïÙ žfZÌ€¸×q”…” O/c #ð| PRv\Ýf͈¶«ÊBÒpÿ{žüÑœ°9 &«ïjéºôÄREÅa[†•rJ﮼«¥ÐÊp˪ÅÄ» só:áEÔçÔp¢}£Žþt¸%¥ö¹íÛpiƒºŸºõNky¦ü­å·Æ $ ·kˆ±†±áZC×ß\CÝB Õ Û¯µÃ xÆB¨ &&&G}øðáÆEK¯"²·ñp¹Ü7oÞt²/‹©©iQQQ“/B~:ù6ƒ5ÜZî›_Ùpo4-ª(ÊÞõe 7¾¡^#*JÊËK5=½#.¾víš§§çÎ;‰5*¨E=îm<ùùù ä'vdeeeddØØØtÃÑQ7Ë/ÏWðV¨k wqV;ÃÆ‡!„zº &ÌŸ?ãÆí}öjM7½§´´ÔÃÃãÝ»wUUU?vuu•‘‘Y³fM÷u³ÒªR?=Þ•¼«ª­zœùØõ« Cf#7ºŒâ ¯ó^ßìûF§¾îv]ÝíºfÁfÄGaˆ’‘ûGŠ6È/BBv‚îvÝGo5)|IœÆA»uçq;é%û¥û)w³`3ãÝÆßüîIvÇßE“cwÈN§~†×Ó,_¾\II‰Xmò‰‰‰±³³Ó×okh^¾|`oooddddddgg7oÞ¼_ýõÅ‹íâ\wdZjjjÑÑÑeeeIJ¤)S¦èéé=~üxÀ€Ýpô‚x§abbbNN…B!NõJj²jѾÑeUeÖ;­å½å§ìŸ¢§¢÷8àñå¯i¸¯QRß%æ”åPRˆ…SHز˳§›žQœqpÚÁ§Ëž&ú&îsÞ'Fùð9w+÷ôU醪†¢ òKqóÕM9†œ…¦E“rGCÇôUé#úèæãvFb^âŒc3X4Öµ…×b—ÄjÊj~û×·÷2ïµ··eo^TTÕËß» ))¹bÅŠË—/¿xñⳕ«ªªlmm›¬Hîfoß¾]´hQPPPo@illܹs§³³3FÛ»wo||üýû÷÷ìÙ£®®4eÊ”gÏž )¼nzl†­­­­­m÷«gòóóóóóuÝÄÖÐÖÖðëî ~~¾–áî9N>=YQS±~üú¡ÿÏÞ}‡5u½?!aƒ•!"ÊP"(Èp**CýY·E­"*V±úmUµTAqkm«ukµÅ "¸@‘*ŠAe„LHîïkc „Âx?OŸääÜsÞsCåõžsÏí= /™0h„A¤÷6ÎÅØ…H 6_µs÷+Ą뮮SSUÛáµCUY!´yÜæ”¼”Ðë¡·oã»ûÊh÷ÝÝÃz;0íÀè}£¥<{¾{ððð4hÐo¿ýÖì•- ÄB¡ü6Ä–ÅîÝ»‡ vàÀÑ£GWW7þÕìÞ½ûðáÛ7ož9s&^¢ªªjiiiii©©©ÙÔÛEÍ€¼å–ç"„éj®"hFvYvNyŽ»©{7è7åcÊÛÒ·ãÍÆãiBˆ¨Dô6÷.üTŸߢ¦Â=Ã;,îøìSQfΜyõêU‰‡7D£ÑîܹsìØ±Ž‰ªQááá‹/ßÐ@Bvvö¡C‡† "J³Ä’Édù…™ ›Àw¬mÑU Ш¸·q$"i´ÑènÐoÒû$„ÐPƒ¡â…Cõ‡Š>’(Wë!&L˜PWW÷ðáCEҠˋ͌]ri þÚ"ÂBâÓ©C§îôÚÙÔ±åUåÑ¢ogÝ.â1È Û¾¶Ë–›ëšK4›°$aç÷r6½m6ºo4d~ÞkM€ n¼¹q.í\FI‡Ïé§ÑÏßÊöðÙø1ñF—$#!;¤Lr6rþŸÇÿ8|ÎæØÍÉï“idÚã1ß»}O#Ñd‰­)f;ÍBiÛNjÓ´“—'K©€ºýö¶C?ª ›]–ýSÂOÉ’B…žEˆK#3ãM…ú©æÓ°Èa¢j+G¯üvä·L`¶ãó²åñf㣧DKô+ã™­^P?Pgà2Çe¿>ùõaîC„Ÿ¥_¸gxvY6BHŸñŸÍ“õÕôB9å9Hæo¹b2™C† yøð¡³³óþýû¯]»VPP@&“‡àââB$ccc—,ù|ö^¾|‰_²±±áp8­„{÷îá›–———GGGß¾}»¨¨ˆÁ`ØÚÚ._¾ÜÜü˶™™™ôÝSµµµ““›ù1÷øñc„x 2-@—ç1Ð#k]Öâ‹‹ãÞÆ½ yIVþ<PQ]ae+åÀbn±ß ?~=»çv;C»üÊünþàû»ïÉ'mzÛˆ7øUà¯ÿäÿx!0øJð¥9—ðF³W\Yâ²Çgþýêï°¸0‡µnÌ:‰Ø¶Åo[â°d‡×Ž›7CbBØÕl¢ÊÊÑ+ûiô»’~eãÍ4í{·ïe‰­©e|—ÑÆ“YVUö¬àÙ¦±›ð·ï+Þûð£(S¢}¢‡õö‘ý1<>üCÅÙOcÖº¬ùçæßϹ‡'.D1k]–ß ¿ÙÃgO<±a¿2žy‰Øò+óÃâÂÞ¿!I¯Ö|^ÊÍásBTU<`<‰ÄŸR/c_=“¹¹yFFÆ?þxýúõ½{÷Ž1‚Ëå=z400ð?þ°··÷ððÈÊÊZ¼xq\\œøÏŸ?§R?ŸóèèèÈÈÈÕ«WãiVqq±ŸŸŸÏß¾}»]~~þ?üàëë{òäI›Ï?Ømý1–PRR‚RWWoßfe³‡€ž+"1"¿2½ëzcª ÕTÛ4jr†a›b7IÔô·ò·émCQ¡8öwt1vy^ø¼¢ºBô©½¡ýb‡Åêªê <{ø5åW._rwV?K¿!úC(*Ÿ!>¦Ú¦‰ïØ-0×5§ªPgØÌè£Þ'ñ]b+bk_ñYñÂÜLÝDa|ªù´Ñc£Ó'ª ÕLÇl§×Îbn±ø!͆ºÐn¡{ôe)Oj^j§ÈÓܳ©~E¤œy‰ØLµMwOÚ-ËZu a!ñ'…4ÛWÏdddôþýû‡ššš:99©ªªjkk¯[·nÀ€2¶píÚµ¨¨¨iÓ¦-^¼/‰ˆˆÈÏÏ_¿~½‹‹ •J555ŠŠÂ0lÓ&9þ`7µƒÃĉMþ%Š°ÝµæšÖo¿ý–”Ô²émÐ ÄÅÅ5õÌGÐ ¤¥¥õéÓGÑQt´ØÌX%‚’«É—muuè:¦Ú¦é¬t‡%>ådi`)zm f€*âiP4B®&®â- „Ìuͯ¼¼ò¶ô­ÄÅ'ñÕBz ½·¥o‡è•è3ô_¿nElí+63v¨þP]º.þöî»»!ñµSºtÝšð©7CÙä`½Á—Ò/­½’Ia"„Ž<:2Ïvžøêr‰~E¤œù†±iR54Þ–¾•0È „PUm•x›x6¦¦ª&{_=ƒÁàp8S¦Lùã?¾ÿþ{??¿¡C‡â“†RŽzúô)þ"--mÍš5¶¶¶aaa¢Occc•””Ä·.×ÑÑ155MOOg±XÏDn/zzz%%%’yóßÿzñâ…\7ÄoM¦uíÚµk×®µ{( “KOO—ßv# 3hêîèîªVP‹O-Yï¶nøiny®x6ƒÿÂÆá‹îñë"!Ÿsìñ±[™·XÖ§šO¢j /®ÐItÑk"•ˆЍD‰ $Ä„­ˆM\×iU×U?Ì}¸täRQ¼ZY™,Z³…Ó¢i‰2-C]`·`õß«Oþsr™ã²œòœ”)?Oü¹©~Å5u曊MòŸ"c-c„‹Ã/d}b!„hJ^˜‘ò-÷L$©¶¶öÇ´±±¹téÒ×_1bÄŒ3ÆŽ+ýØ‚‚‚ÀÀ@ƒýû÷«¨¨à…µµµø.këÆ~ZrsñL«Ý×iÙÚÚ¦§§¿|ùÒÅÅEö£ÚKk2­vyî!èZÚøÜCÐùáÏ=ìQHD’šªÏ{õÝ«¶ÜºÿÍ…oR>¦ltß8qðD Š@8žr|ëí­mù%ÝêØÚ¸NëAúÑ> $"‰F¢ñjyUuUâ »šÝÒP½{G$FœH=ñÍWß{|,À:@|í¿D¿²h*¶2^™xµ¯ ¿Š~ÎJŸ2äËE‹tV:BÈ¡ŸƒìÝõL•••L&“@ øøøøøøÔ××'''=ztéÒ¥ëׯŸ?~Sòx¼E‹Õ××9r„ÉdŠÊI$’ššÇ{õê•”MÚ}ÖôéÓûí·˜˜˜¥K—6œ5–7X§è¹Æ™`‰g³J>4jÿ(&íŸÔ"¡ 5/U‡®3gÄMª&þ—8¿žßbk…¸·q}™}ê •89£çépÕâS‡2†J$玘[VUvìñ±˜×1sF̑ޯ,ÆVÂ-‘ˆÍÎÐÎDÛäú›ë¢/E ļŽ1P3c<¦EÝõ@l6[]]ÝÆÆ&;;!¤¬¬ìäätðàApçΦŽ+V¬ÈÎÎÞ·oŸhEײeËð9ÇqãÆ ‚ÔÔÿþ´:4jÔ(é×±ÚÂØØ800ðíÛ·‡nø©¼·]…L Ðs…8‡2 ×^]›ø.‘Ãç°«Ù§ŸžŽ~ê*ã•$¢ÑÞо„[räÑ‘ŠêŠšúšä÷ɧžžê ±µ”ÆgÅK\X q aR˜[b·ÜϹ_UW•Ušµê¯Uv2†:Ýz:ƒÌØuw—‡©‡]Oz¿²ˆ-³$síµµ:tñ:J¥ížÛ+k*×^][Â-aW³Œý1·Œa˜ƒC“W·nÝš°uëV{{û†Ÿ†„„®]»611‘Ãá°ÙìÓ§OGGG‡††J¹ÊÕv+W®\´hQDDDhhhzzzuuuMMMFFƉD¢üöÓ"´ô‘Šf{ ˜=ìöðÙÃóçÏ·±¢¢".Wòž;q&&Æ{öyzJ«ÓRâ["!„&[LþyâÏóÎλ—sOTènê÷öËèKG.]5zBˆ]ÍÞÿpìÛØÂO…jªjƒõ/²_äØß!ô¬à™ïヌ˜l7•Œ1sÄ÷HEuÅ®»»²J¸%L ÓÙÈY‡®s0é BhˆþÇþ(ш‡©Ç”ß¾Ìd…8‡Œè;búÉ颒 §  § é±ÉCj^jÀÉ€?fþaoøŸ_9å9;v&½OÂ÷¬Zî¸üø“ãâ{VÉêŽ;;Ž<:3?F|+ÿ†ýÊxæÅcæºæk\ÖDÞ‹|^øüÅêâý¾*zõsâÏ©ù©B¡Ðª—Uð¨àá}†·´¯ø¬øo.|#1¢m¶ù[uº_ˆ×®Ñƒ‚ô²²²ÛØŽ££ãœ9sFuêÔ©ÇãûiõïßßßßßÏÏ@ ˆï§…šzô¨¸¸X 0™L‡I“&µè– cccÙ+C¦d™V·×¥3-Ð.vÜÙqþùùGA:ø3íÛïØ#ckêjî.½Û|Õî«]2­ÌÌLOOÏsçÎ 6¬ùÚ=L‹2-˜=€Bqo㜜òTéÖõ[Â-9 .¯2ï}ù{XêÞ.Î;×·oßFo-{Ä@¡Øo¤m’Ô9û­¬©Üpcà §L 3³$ssÜf†*c™ã²v ¯gâñx—/_^¸p¡’\‘i+È´tI:tß§ÿ~òŸ“3þ˜QÄ-RWUwìï¸{Òî¾Ì¾Š­Ë;xð †aÓ§Oo¾*hŽ\2-.—kcccff#öÛ¢3Ç&»Î3 .·ÎÆæ733͘˜©Š¤¡Î›ìºÇ(“‘ýGŽì?RÑQt7?~üå—_Ö¬Y#¾h5¹\Ä0L(Ê{ƒŠÖé̱5ŠN§;99IvžQ`&bBagÜF¹3ÇÖ(:=ÊÉé´Da— K«­­ 222š5k–¢cé&ärM‹Á`ໜuB96ÙužQ0¤ììEŠŽ¢q96ÙuQºŠÍ›7çææ^¾|YYÖµXéô,eeeiii Ë#""Ο?¿sçÎ~ýúu|TÝUûgZ—/_&ü«¦¦FT^VV¶jÕ*ccc‰¤¡¡1a‰½üKJJ‚‚‚ú÷ïO"‘ttt¦NúìÙ³†mæææ0™L---ooo‰K;oÞ¼ñññQWW§R©vvv111îîîø .l›ì-K ¯)R†wÚ§OŸ””777ƒA¥RÇŒóàÁñ:<ïÁƒxeü_­8ò³E._Î""ð?55_n´.+«^µêޱñi—†ÆÞ .Þ¹óá¿'³*((¾ÿÃ$Ò.}S§^yö¬¸a›¹¹•3™{µ´¢½½/eg³Åyó¦ÜÇ粺ú*5ÒÎîdLL¶»û9üÀ… o6ŒMö–¥„×)CŽˆHÁ;íÓç`J ËÍíƒE¥FŽsöÁƒ|ñ:<^݃ùxeeåŸ[w†e& g*,,ôóóÛ¶m›x!†a‘‘‘‡Þ¾};¾¿(h/íŸiùøø`6yòdñB‹ekk{êÔ©¨¨¨ÒÒÒGQ©T77·£Gâ mmmÏ;·ÿþòòò„„„òòr‡¤¤$‰6ƒƒƒƒƒƒóóóÏž=?cÆ Q/YYYOž<¹páBqqññãÇ£¢¢ž?N&“1 ;zôhÃØdlYzx’>ä 쬬ØlöŠ+ÂÂÂX,ÖÝ»wËËË]]]Euh4š££#†a†Õ××·î Ë8Ì–òñ1Á°É“MÄ Y,ž­íÉS§^GE¹––.{ôh•ªìævîèÑÿžLž­íÉsçÞìßï^^¾{vb|ü‡3¾,ÿÏÊb;8üñä ëÂ…ÉÅÅß?>>*êŸçÏKÉd"†…=:®al2¶,=¼FIrHˆ-†…XYé°Ùü+âÜX¬¥wïN//¯qu=—˜øQT‡FSqtìa!R_¿ºugXÆaz¦ÜÜÜiÓ¦åç秦¦¾|ù/äóù«W¯>pàÀÖ­[§L™"½ÐR4{š““éíí­¦¦6pàÀS§NáÞ¿¿k×.OOO:naaqæÌ Ö/_.ÑÔÂ… h4š»»»——WJJJii)þÑúõëÙlvTT”‡‡ÞÈ©S§x<žŒAJiYöðd2ŽÇãíß¿ïwĈ'Ož¬­­]±b…ìç¶EÝIf» ½—“Séêím¬¦F8PãÔ)ozPÐí¢¢*„PhèÝ÷ï?íÚ5ÆÓÓˆNW±°Ð>sÆðåËoK4µpáP‡^4šŠ»{?//£”Vii5þÑúõ÷Øl~T”«‡G?¼‘S§¼x¼:ƒ”Ò²ìáÉ>dW·¿;Þïˆú'OzÕÖ V¬ˆ—ýܶ¨;éÃô@YYYþþþååå@YYù—_~A}øðaÆŒ‰‰‰ÇŽßÚWeZþù'BÈËËKTB&“ÝÜܪ««oÞ¼‰º|ù²’’’···¨‚¾¾¾……Ejjj^^žxS¶¶¶¢×}ûöE|¾ØpãÆ „иqãDttt „d#¥eÙÓ}È8&¾ïСC{õê•––VXX(cØ-êNú0ÛÅŸ¾Eyy‰EBts3¬®®¿y3!tùr–’ÁÛûË£ ôõiÚ©©Eyyœÿ†j *!TPðù.7nä „Æ ª £C4HSÆ ¥´,{x²G£©X[ëŠÞªÝ«=-­¤°PÖ ´¨;éÃô4ÏŸ?÷õõ­¬¬Ä§Gêëëcbb<èíí]WWwáÂ…†÷¹ƒvÑwðùüÊÊJUUUƒ!^®§§‡b±Xx„ººzÃÃß¾}+þÜGñ:$ !„ovÀçó9Žªª*N?\CCCÆ8¥´,{x¸f‡,*i¸[‰®®nAAAqq±’ìÝIf»àó••|UUeƒôßHh!‹‡W@©«ïixøÛ·}ú|‚ºú—FH$"Bßì€Ïp8µªªÊtºŠøádã”Ò²ìááš²¨„É” OW—ZPÀ-.®20 É¹ìÝI&hTÌë˜à+Á!‘ôjÍ+yw'þTì—!/Éʲþô¶£„ì„°¸°•3¾ËèøÞAGzôèÑ‚ êêê¨@ ìÛ·oîܹAAA***RmÑ™™LVWW¯¬¬äp8â©>«¥¯¯O&“™L&—Ë­®®nõm¥d2™Á`p8.—+fbÅa IDATžl7³–Y––[^³C•”••aF $ÖÕý|ñCü£¶w'od2Q]\YÉçpjÅS¢"BH_ŸF&™L2—[W]¬¬ÜÊKªd2‘Á q8µ\nx²U\\%å([nixÍYTRVVƒaHüûÄÖÕ¥âoeøª[Ð]OSUW5ñ—‰FZFG|´®osoosïÙgf?ùø¤}ck”Ç@¬uY‹/.Ž{×ÝIøÀþVð© ´ª=€Î)>>þÛo¿ÿ®®¯¯'‘HK—.…4K®:hö_awõêUQ ŸÏ¿}û6…BÁ'û¦NZ__/ºí·cÇCCCü:§,&L˜€þCıX¬ÌÌ̶Çߊðš2®¦¦&%%EôöÅ‹VVV¢ ZT*µ¶¶mffvøðá¶tצL1E]½úN,ÁíÛ(e|²oêÔõõBÑmw¸;ª¯—õêÚ„ пsˆ8‹—™YÑöø[^³CÆÕÔÔ§¤|™~ñ¢´ €ke¥#º E¥ªÔÖ~þ禙ٱÇŸ·¥»žÃ0!Ö)¶ómÔП‡œ Pt_ì¾»{XïaWæ]¡©ôÜ켇øë¯¿–,YR__ßèÿ555øâ ?”i…‡‡0 888&&†ÃádffΜ9³°°0** Ÿá 766ž?þõë×+++ËËË:´yóæˆˆÙ¯rmÛ¶MSS388866–Ë妧§Ï›7¯]®è´"¼f‡ŒSWW_¿~}RRÇ{òäɬY³H$RTT”¨Â°aÃ233?~ü˜””ôîÝ»Q£Fµ¥»>jÀõààø˜˜l§63³bæÌ˜ÂBnT”«ž¯`lÌœ?ÿÆõë9••üòòšC‡Ò6oNŠˆp‘ý*×¶m£45Uƒƒãccßs¹uéé¥óæÝh—+:­¯Ù!ãÔÕÉë×ßKJ*àñêžBˆ@ˆØ±ã1BÈÆæwoïK!ccfRÒÿÙÚêûú^ÑÓÛx+4Ô~Àu"Q©©ØdlYzxM|×Í ùßïZeï^·M›=úŒ††j|¼¿³ó—GáFFޱ´Ô17ÿ% àï¨(Wss­Vœa‡ z8UeUE‡äîÀ?üð¾IPSu0 ËËË÷rBò4~pöìY)Fg3hРêêê÷ïß+:FX[[—––6u÷b§B ‚ƒƒwïÞ­è@¤4è—êêú÷ï¿Qt °¶þ­´´:/o±¢i~w÷ùóçÛØNQQ—+íGã={Š<=Ûó.ȦV—³«Ùûî‹{Wø©J¢Z÷²þÆþ›¯ú}%:0»,û§„Ÿ’?$ „ =‹—=÷÷<ùøD|E|yUyôƒèÛY·‹8E 2ö¯ír§åæºæ¡£Žn¿³!¤G×;0íÀO ?¥¤ 1¡U/«U£W ï3\¼ŽQ‰(ZޝÓJX’°óÎÎ{9÷ˆJD›Þ6Ý72 ¥Œ×l§™@(RA›¦¼^T´TEåóE¬ÜÜÊìlö¬YƒPˆFW——pKüNøÕÔ×l›°Í®¯] ¯$"1âë3_o¿ÕßÊ!ô¾â½ß ?Š2%Ú'zXŸaÙÃãÃ?TüçyÅÜb¿~üzþvÏív†vù•ù?ÜüÁ÷wß“3NÚô¶Yh¿p¡ý‰Ç'æ–çn‰Û²Þuý ÝAY¥Y¡×CgžõÛôßìúÚáu†þÕ|Úè±Ñi€U…j¦c¶Ókg1·X¢‘üÊüõ®ë]Œ]¨*TSmÓ¨ÉQ†mŠÝ$^­º®zó¸Í6½m(*”¡Cžøs nKÜCõ·òÇuèçàjâú¼ðyEu;ÜÞz&%%¥‰¿G(ãÒ¥K‡ _½zõ¼yó|||œ---{÷î iVGêV™–¾¾~\\›ÍÆ-.ÎŸÍæ}FC#zÒ¤?MM™Ï22jdÏ3ÅŸi˜–V’ŸÏ%"ð…S Üʼ…cÕ¢js‹Ëxeºt݇Jb¿lƒ§DPBaHÚ Úv\§·î–iBˆD$1È ŸÃ«å‰'[ø¼¡]‡D$ÑH4^-¯ª®J<ÙbW³ÅQSUãñy¯¾{%}Cv [b Ⲫ2„M K@2ìK+3X§@Ò­f@dìÀ±¡;ÙwD%µ‚Ú‡¹U•UG …r6rFÿÎ!â*ª+D´pãÌÆ 0Aj^ªxá¡äC£ö`_®*ñëùÏ ¿ì4›Q’QÌ-6×3]Т¨P꟟€îqØã̳3í4J@g™ { qé£Þ',.,>+žWËË)ÏYù×Ê^ÉFøbˆK“ÂÜ»å~Îýªºª¬Ò¬U­’˜L q1d®½º6ñ]"‡ÏaW³O?=ý :Ô5Tü*ƒÌøùîÏOóŸV×U¿(|±úïÕ*D•î_îűзÈ)Ï)üTø4ÿ释¶}aB€žf]žø~Z“-&ÿ<ñgºÎå¹—÷=Ü·9v3‹Ã¢¨P¬{Yÿ>ýw‡~ŸoP5džÿúü΄Ë./«ÔÔ¸Üqùñ'Çæ>4Ùnâgéî®EÕº4çÒþ‡û¼õcá§B5UµÁzƒN;èØßQ<ª õÂâÂþÉÿG XXžœqßO ·ÁmÃ÷7¾{d,“Âüߨÿk?+xæû»¯(æ¥#—®½Êd» ^2ñ—‰cLÆ´úŽÍŠÏŠÿæÂ—çð~·M؆ïhGÝçRÐ.ºÄÎ¥ -ºôÎ¥Š5ñøÄr^ùƒeš¯ @‡¸v¤—••­è@º­í\ ³‡òÒšÙÀ€€€€NôPzÐ1"#####£>}ú(:ènZ“iyzz8°ÝCYdd$BÁÁìÝØnSSØ6ºeÄŸih²Ý_k¥ØMk2­9sæÀ:­ž&22!„à{ïÆÎki):„®¦¡¢£tj°N @^ ÓÈ´ä2-yL @^ Ójˆˆ@ `ÿ!H™BÕÕÕYZZ:99ÉX?$$Ã0+++¹F€®2­Ï„B¡P(TtèVZ³si÷£¢¢’žž®è( }Ä¼Ž ¾Œ"I¯Ö¼Rt8ôhpM ºosï¬uY#û”SûUuUn‡Ü]X$§öèN ÓB111„ÕÔÔˆÊËÊÊV­ZellL"‘444&L˜pçΆ‡¿yóÆËËK]]J¥Ž3æÁƒ;(†aBLrÅÅП‡œ PTHtZi!ooo Ã&Ož,^Èb±lmmO:UZZúèÑ#*•êæævôèQñj\.wéÒ¥ëׯÏÏÏ¿{÷nyy¹««kbbbÇŽ:D»³øÎ1ÿcŠ€.2­Æ…††æääDFFz{{«©© 8ðÔ©SAAAEEE¢j•••Û¶mstt¤Óé#FŒ8yòdmmíŠ+9:X߸?ÿü!äåå%*!“Énnn'Nœ¸yóæìÙ³ñBUUU{{{Q¡C‡öêÕ+--­°°ÐÀÀ ƒc ÇŠÍŒ]ri þúÖ¢[»ïíNzŸÄ®f#„†÷žš—Š4¼Ïð³³Î"„æ>œ}föaßî&®¡°¸°_ŸüŠ×ÉX›A$va¶ÓL H‰A›¦¼<¹¥á¥¬HQSU»ñæÆ¹´s%>§ŸF?+ÿÙÃg+”$ŽMX’°óÎÎ{9÷ˆJD›Þ6Ý72 E½d—eÿ”ðSò‡dP`¡gâ"Ãâ‹‹ãÞÆÉ~¢§D/ûsY£1o›°mýõõøG/C^’•ÉGÝ~g;B(5/Õd» Bˆ¨DÌø.¯S^Uý úvÖí"NƒÌ°ík»Üi¹¹®¹”“ @w×´Áçó+++UUU †x¹žžBˆÅb‰J´´´‚x]]]„Pqqq‡D @!Yë²ÜMÝBnl˜5lÖ½¥÷.ιHT"œvpÓ¸M¡]wáéBèÊË+¢ÿ"„6¸o80õÀÈþ#³Öe5šf!„2¾ËÈZ—%åOSi–ôðB‰Ù‰+®¬pèçpsÑÍûßÞŸn=}Ûím;v6<6,.lží¼‡ËFMŽJÊMÂï.Ľ¯xïwÂïEá‹hŸèGA6Ûý úCÅQ…–ž‡ñf㛊Y<$ÜBû…Yë²(*”á}†ãgC”fs‹§ü6åÚ›k›Ænúgå?§þﻚíû»ïÓü§2|±ti5‚L&«««×ÔÔp8ñr|ÞP___TRYY)q,žcáù ã:ÚÚST(VVßehP4¼y©U.¿¼ŒW¨©¯‰{×O£ßí··yµ<¼ðÏô?§ ™¢ðBö†ö‹««ªkP4fŸ=qðÄ_S~åò¹Çú[ùÛô¶¡¨Pû;º»Ÿûöm …2nÜ8Q!—ËMKK½}ñâEAA••L (V’o`R˜.Æ.r”pKBqoã¬zYÍ6«¦¾æfÆM„»šýèãqfãiNþṚ¸þ1óñs]ózaýÛÒ·5- ,E¯ Ô BEœÏËFï¾»‹m4ZTA—®;@s€øá­> c–]lf¬A ŸÄéÐuLµMÓYé,KÊt°N«qáá቉‰ÁÁÁt:ÝÙÙ¹°°044´°°ðСCø"ŽF£-[¶,""bÈ!¯_¿^°`‰DŠŠŠR`äôpJÃÂ)C¦ÄfÆþýúïù¶ó/§_ž2dŠC?‡íw¶ÿõꯩC§Æ¼Žc2†ªB•Òl[ÖiIÃç{|ìVæ-‡õ©æ“¨¼º®Z¢&ƒüe=‰HBaCÕ jyµ<²2YbZ4­œòñ’Ö‡FO©,jµ>!d½Ûºá§¹å¹ú ý†åt3i5N__?%%%,,,(((//J¥~õÕWqqq®®®¡ˆˆˆ5kÖ „z÷î½k×®µkצ¤¤;;»øøxGGGE‡ø1Æc˜æŸ/þô±ðyVð,zJ´ª²ªS§û¹÷‹¹Å—^\Zí¼Zz ¢…Gíî› ß¤|LÙè¾qâà‰ p<åøÖÛ[ñ,J$"‰F¢ñjyUuUây¾€]\ÛσD(!Ijªj<>ïÕw¯šZ@·³‡Ÿ %%%eå/©§––Öîݻ߽{W[[Ëf³oܸ§Yèß'Lc–——gkkÏápªªª Í R!ªx™{½.~ýsâÏî¦îªÊª!Ÿ!>¡ ê^T1·Ø¡ŸƒB©y©:t9#æhR5ñ;løõü–¶ãläŒþCÄUTWH\ÐBr>J íqØã̳3¡qfã˜@tû'îPò¡QûG 0i×è6zt¦5dÈÜÜ\üu~~¾¡¡¡x¦èN|,|BgÓΊV|{ ô ‘hgÓÎN¶˜Œo©ÐñˆJD{CûnÉ‘GG*ª+jêk’ß'Ÿzzª¥í„¸„0)Ì-±[îçܯª«Ê*ÍZõתFçCåw,ô-rÊs ?>Íú¡âƒm_[„Pˆsˆ!ÓpíÕµ‰ï9|»š}úééèÑ¡®¡p• ô=:ÓBýôÓO\.÷¯¿þzöìÙâÅ‹ 5ž<3Ùn‚ïeaoé$Á¦·Mþ½ÔzÙõµÃKT•UÇ›GÉû®CéáíñÙ3ÃfÆï©¿;ìup9àògúŸ“,&!„朙ãó«Ä±»îîB™l79”|!4ñ—‰øÃ ™†ç¿>oÙËrÙåevQvß]ýnöðÙfºfµ‚Z“í&¡×B[z¤Ä›+þÑê¿?O8npÛ0HwÐØ#cƒ®ýoìÿŒµŒBZT­Ks.y˜züxëGÛ(Û±GÆÞ̼ypÚAÏAží~žèœ&ëR€ÏgÏžõ÷÷—S@éÑ£Gk×®MMMÕ××_°`Áš5kˆDø7VãBgêß;h‚Ÿ¯/:þ|[)**âr%·'gbb¼gO‘§§´:€¶¸v¤—••­è@º-cccÙ+÷èÉ2{{û„„EG€n«§ÏÈdZò™€¼@¦ /iÈ dZòÒš]–,Y²zu럺¬EÁ÷Þ•efš*:ènzô~Z E¬­ôõõ—gÏž):è†Z“i8p {ìdG æÏŸïé Ðè¶–-[F§Ót7°N @^ ÓX§­tõõÕƒÉß•½ã×óB×\¨3PÑAµ ÃþÉÿ篗=È}ÿ)ŸAf Ð0Ófæ¤Á“^§²¦òêë«×Þ\{]ôº¦¾FŸ¡oÕËj‘Ý"s=sÅ@§×´ UuUn‡Ü]X$^˜š—üW°S§”)ñ‹ãõÝê~‘wåïNäVäFO‰~¶òÙÅÙ{©õZý÷êíw¶‹êlß¾éÖ&wS÷ oïì¼¹Æðõ°¯'YLj*þŒï2šúH%Ü¿~|ëø­ö†öÕuÕgÓή½ºöSͧy¶óšT³ŠÚß÷pßî»»Bö†ö¦²­”WúSÂOþVþžƒ¾lq,c/tc0{ˆB #;;ûÚµkŠÐJ í 1á±GÇD%©y©Eœ"OóÏ¿õ##ò+ó×»®w1v¡ªPMµM£&Ga¶)v“DSö†öŠ•UÆw cX`· a •¢ä!"1"¯2o£ûFWW‰¦MÓþvä·£FKTk8(üv䷯׼¾¹è¦±–ñ¤ã“¢4~eŽ]Ížwvž½¡ý–q[ZÝX»¦è–Fö9Xoð¥ôK+G¯dR˜¡#ŽÌ³G$ñ ±™±J%WWÑ!:tSmÓtV:‹ÃߣÁÊÀªu18 p2Ó1“ˆaöˆÙÊJrü›öVæ-„³‘³xá/þ¿HTk8(D©UŒµŒ7Û\Ê+¼iÓÛÆ±¿£x…êºê¹gçšê˜þäõQ‰Øº^è®ÚóšVIIIPPPÿþýI$’ŽŽÎÔ©SEϬurr"ükÖ¬Y!wwwQ ›Ín¶\YYÙªU«ŒÉdrŸ>}ÜÝÝýõ×êêê°°0¼)'''¼æ7ðmmm¼$""‚@ ðx¼à)++#„._¾,Ф¦¦¦a_$ICCc„ wî|¾ùHüÜÜÜ€€&“©¥¥åíí-ý,½yóÆÇÇG]]J¥ÚÙÙÅÄĈNÅÂ… Å[ÎÈÈð÷÷×ÒÒÂß–––JJö“@ úôé“’’âææÆ`0¨Tê˜1ciºõt釘í4©áŸ¯ö~ÕÔ±ø¸ÈÊd‰&½‰AÉ~ 8\T‚×qttÄ0 ðúúz„†a“'OÞשS§ð¾=zD¥RÝÜÜŽ=*qHpppppp~~þÙ³gãããg̘!å,eee988{|,À:@ô žD$©©ª ÄŒµYë²$þ|Õ¯ÉT¦¥&™¬MÓÅ0uèTuUué‡d|×HHâ¤,‡'I 2ƒ_ÏçÕòZgëÄ7w`×°Å 7ÜØP+¨Ý;e¯èò¡ëA×gÏÚÝI»eZ¡¡¡ï߿ߵk—§§'N·°°8sæ †aË—/Ç+XYY?~<--möìÙ†º¹¹MŸ>]öBCCsrr¢¢¢¼½½ †žžÞ† Æß^CNNNNdd¤···ššÚÀO:e``TTT$^sáÂ…4ÍÝÝÝËË+%%¿øÔ¨õë׳Ù쨨(|Œ§Nâñÿ;híÚµ...T*ÕÞÞ¾¾¾^[[[ö¨šÅãñöïßG>bĈ“'OÖÖÖ®X±¢EЩ Ĺ#æ–U•{|,æuÌœsÄ?g6N€ RóRÅ %µ”k·ýHDÒÿÙüÕ—W掘Û^-7eìÀ±¡„ìñ‰¿LÜz{k[ _ý÷j‰Cß%"„, ,E%{îïÉ,Î<ä{OÂÚ1<ºvË´._¾¬¤¤äííha  IDAT-*Ñ××·°°HMMÍËËÃKüüü¾ÿþûK—.999•••mÙ²¥E-üù矡 &ˆuýúõàààö…Þ————¨„L&»¹¹UWWß¼yS¼¦­­­èuß¾}BM5{ãÆ „иqãD%:::ƒ j´²]«£jF³¶¶½:th¯^½ÒÒÒ [ÔÊtëé 2c×Ý]¦zt=ñBœC ™†k¯®M|—ÈásØÕìÓOOG?ˆu ]Œi³†ÏRUVÝuw—cÇ~ýÚ±åF…8‡ôQï³õöÖ;Ywxµ<‡õíJx%ÍÞÙ×ì½úkïý½y•yµ‚ڼʼ ;¯¼¼2DˆhNöâ‹‹{îïI+L³üÙR|ºóûCÛàÛhŸuš|>¿²²!¤®ÞÈuò·oßöéÓ½eË–¸¸¸‡þöÛoJJJ²· ££SYY©ªªÊ`4¹i^{ÁƒiØ—žžBˆÅb‰ŠL"‘BMíÁçó9Žªª*N/×ÐhüÎ&ñyÀ–FÕ,|ÆVœ®®nAAAqq±A‹š ó ‘hÓ­§ytd݉´¨Z—æ\Úÿpÿ·~,üT¨¦ª6XoðÁiñÅÝÏ žùþî‹×Ä·ÈÊZ—…¿•Ø=k²Åäñfã%öÓº0û‚u¯ÏÿtÑ hL¶˜|6ílÃäA‡®syîå}÷mŠÝÄâ°4©šv}íÎÌ:ÓK­—”AI?!´Üq¹‰¶Éµ××.¾¸XÄ-RQR1Ò2 q™k;W´ÖŒm ¯ýÏRûdZd2™Édr¹Üêêj|™yS*++‡ºtéR++++++Ù[PWW¯¬¬äp8M%[JJJµµµâ%¢µö"²ì\L&“í Ÿ¡Ó×oåsdÉd2ƒÁàp8\.W<Ù*..–ñpY¢’å$ „ÊÊÊ$—‡¡««Û‚!Ðù¬³v혵~Ĥ0×»­_ï¶¾áGÖ½¬Å³qøîY…MUÆÙô¶yYôÒ¶¯­”:íˆIa~ïöý÷nßK”K”ôBt2ÝÏÒÏÏÒOÊáG|´%<zˆv›=œ:uj}}½Äýk;vì044Äž#„rrr,XpñâÅ¿þú‹B¡Lž<¹¤¤Dö¦L™‚’ØõÊÆÆfåÊ•økƒüü|ÑG,ëÇ迨Tª(133;|øp£ÃÁûºzõª¨„Ïçß¾}›B¡ˆÏýµ>õ‰Ï!Š‚ÌÌÌ”ñpY¢’å$ „jjjRRRDo_¼xQPP`ee´h»ÓÏNÏ·¯è(B»eZáááÆÆÆóçÏ¿~ýzeeeyyù¡C‡6oÞ_£âr¹>>>‘‘‘ƒîß¿ÿ…  |}}ëêêdl!<<|À€+W®¼zõ*‡ÃÉËË[ºtiaa¡(Ó;vlAAAtt4—ËÍÎÎ^±bEÃ+4Æ ËÌÌüøñcRRÒ»wïFÕÔp Ãáp233gΜYXX…ÏֵζmÛ455ƒƒƒccc¹\nzzú¼yód¿H&KT²œ„ººúúõë“’’x<Þ“'OfÍšE"‘¢¢¢Z=4z¸siç–\ZRUWuêé©ÊêJ¯Á^ÍèÚ-ÓÒÕÕ}üø±Ï²eËðUÞ—.]ºr势¿?BhÙ²e ãùóç“'ONOO/--uqq©««»{÷.‰D k¶„¾¾~JJJ@@Àòå˵´´ììì***îÝ»ghhˆW [¸pá¶mÛtuuçλfÍ}}ý²²2°nÝ:¼Ndd¤¥¥¥¹¹y@@@TT”¹¹9¾…Õ•+WB ßî ïkÆŒAAAx_</..nÑ¢E¡äädñC6lØ€";vì@ÙØØˆ¯ëgllœ””dkkëëë«§§:`À|‡†-KÌuJJö“€¢Óé{÷îÝ´i“ÁèÑ£544âããÿ³»  Eb3cmvÙœzz*Ê'ª}WÙº.†a-;€@8{ö¬(ûm7hРêêê÷ïßwXÖÖÖ¥¥¥¢{BeA öìÙãé)LJŠÅZ¶lN?þ|Û)**âr¹R*˜˜ïÙSäé)­ -®]£éee5³“6h5cccÙ+Ãs;‹ÅÒÔÔM˜"„rss³³³]]]¥€. 2­ŽVQQøñãǪªªÇ¨©©mܸQÑq ýA¦Õ¡ôõõãââØl6¾4jÒ¤I¦¦¦?622ê˜ð禥¥åçç|…äDŽO˜rsssssSTï!!!!!!Šêèiàš€¼@¦ /iÈ ¬Ó€®$æuLð•`„‰Hzµæ•¢ÃiÜÑGG·ßÙŽÒ£ë=Xö Ùú¸.14Z ®i@Wâmîµ.kdÿ‘ŠDš…ö ³Öe™ë™·è¨.14Zª5×´’’’Ú=Ðù=}úTÑ!9b±X&&&ŠŽº›ÖdZ‘‘‘‘‘‘í èäŽ?~üøqEGä2-hw-δZúœD€ Vĺ›Ý6>G¢@ Ü[zOŸ¡bW³÷=Ü÷6®ðS!•Dµîeýý7_õû !›»äÒü„% ;ïì¼—s¨D´ém³Ñ}£!ÓPÔ`yUyôƒèÛY·‹8E 2ö¯ír§åæºæ$.IÜqgGBvI™äläü?ÿqøœÍ±›“ß'ÓÈ´1Æc¾wûžF¢‰š•.»,û§„Ÿ’?$ „ =‹—Fö–[SÌvš „)´iÚÉË“›ú´Ùs. ><>üIÞ“zA½U/«U£W ï3¼EC KƒL ÐM<_ýœªBÅ_G?ˆŽ¼¹zôjüW~ ·Äï„_M}Ͷ ÛìúÚ•ðJ"#¾>óõÖñ[ý­ü=zd­ËZ|qqÜÛ¸°¸°À¯wxíø'ÿŸÀ ÁW‚/͹„·YÌ-ö;áǯço÷Üngh—_™ÿÃÍ|÷=9ã¤MoñF¶Åo[â°d‡×Ž›7CbBØÕl¢ÊÊÑ+ûiô»’~eãÍ4í{·ïñf¥Ç†z_ñÞï„E™í=¬Ï°ìáñá*>ˆ]zlM±Œï2äwÎqUuU?Üúa娕æzæÙ¥Ù¡×CgžõÛôßìúÚÉ84º:¸÷ÐÝ\{s-ê~Ô´¡Ó;,ÆK"#ò*ó6¸op5q¥“é4ìž´[‡¦³9vs)¯TüX+›Þ6ŠcGc—ç…Ï+ª+DäWæ¯w]ïbìBU¡šj›FMŽÂ0lSì&‰ü,ý†è¡¨P|†ø˜j›&¾K\`·À\לªBa3£zŸÄw‰¢ÊÍÆ‘ñ©æÓFNœ¨*T3³^;‹¹Åâ=Ê›œ4<ç8Ÿâ2¼Ïpª u¨ÁП'þ\'¨Û·Ev³C «ƒL Ð<]ù¿¸’V˜¶&fmÛ°ña¢OoeÞB1#*!I#û¬©¯¹—sO¼KKÑk5„P§›«DPr5qUСë˜j›¦³ÒY–x#C †Š^ë1ôBCô‡ˆJôú¢6e‰íî»»¡ÑF£Etéº4ˆ÷({líHú9Ç‘•ÉVV¢·f:fºtÝ×E¯ñtJ–¡ÐÕÁì! û(øTx!Ѐa°ê~¢ ^X+¨åð9de²øÒ(„6M!TÂ-/d¢×$" !„!LÔBÈz·uÃ~sËsŧÌè$ºè5ˆJDŠ ET¢DPbBc«Ôòjyde²h’§EÓÊ)ÏoDÆØÄµq®Ñs.ÂTe„ÿDNÕ*æ—ñʘf³C €L ÐMðjy‹Î/ªÖñ;¤0Eå$"‰Afpø^-O<¡Áçætè:²4N"’ÔTÕx|Þ«ï^ ÄöŠ¹ÙØHDDãÕòªêªÄ3v5»í±µ}VSç\¤á’ù²ª2„MK–¡Ð Àì! ;+®¬È.ËÞ7eŸhúiÙŸËb3cBcŽEÝɾ#ª_+¨}˜ûPUYuÔ€Q2v1Îlœ¤æ¥ŠJ>4jÿ(&íÊtÍÆæläŒþhÃUTWH\õ‘SlÒI?縪ºª×E¯Eo3J2йſzæºt]$ÛÐèê Ót[ooMÈNØ:a«½¡}ÃOCœCú¨÷ ‹ ‹ÏŠçÕòrÊsVþµ²„W²Ñc#>O'‹çC¦áÚ«kß%røv5ûôÓÓÑ¢C]CÛr•«ÙØB\B˜æ–Ø-÷sîWÕUe•f­úk•ÄŒ›œb“Nú9ÇQT(›b7¥¦U×U¿(|±úïÕ*D•î?‡-ÃÐèê°) q¹\)ÌÌŒ""Š'N”V§¥ÒYé>¿ú4úÑ©<z ÷¬ŠÍŒeqXŠu/ëo¾úÆ¡ŸBèYÁ3ßß}E‡,¹tÕèU&Û¿ì˜?ÆdÌß#x#ûî}[ø©PMUm°ÞàEö‹û;6Úˆ‡©Ç”ߦˆJBœCFô1ýätQISPSôØp9å9;v&½OªÔÔ¸Üqùñ'Çæ>DùYú…{†KM¤Ÿó÷ïEO˜>0íÀÎ„Ï ž 1¡¥åjçÕâûiÉ24ÐRÿM ÑÍÈx§è@º-cccÙ+C¦hOÍfZ#Fô_µª|æÌO=ͨíÞ­ùäI®¢é¶Z”iÁì! Cõí[Ÿ“#y‡ åæ’úõ«Wtà3È´Ê‚ÿ왪¢£ ;{öŒlnÎWtà3È´jÔ¨ªçÏUKKåµL€®¤„˜–¦:zt•¢ŸA¦èPÎÎUtºðÂ5E@÷tñ¢ššš2­Î2-@‡RUŦOÿôË/ê••ð÷í¬²Ré—_Ô>©ªÂínüMèhK—V(+£½{5ÝÍž=šZ¼¸BÑ€/ Ót4M¸reù‰j/_’ ÝÇË—ä“'ÕBBÊ ¡¢c_@¦P€iÓ>}õUM` ~q1<}€vP\¬¨ÿÕW5Ó¦Áfu dZPRB{÷²h4,0P¿ºþ" Mª«•õi4lï^–üÿÔÉÀP 55á‘#…ùùÊ3gö‚+[´Zq±òÌ™½òó•)TSƒyÃN2-€ÂÖ]¸_U¥4ujoX³@+¼|Iž:µwU•Ò… ù††uŠ42-€"Ö?ŸgbR7ujï-[´aëdTY©´e‹öÔ©½MLêΟσ4«Ó‚'LÚS³O˜n”Pˆ.^T‹ˆÐÄ04~å´iŸttò€n ¤„xñ¢Ú/¿¨($¤|Ú´O°6«ƒµè ÓiÚSë2-‡£tð ÆÙ³jŸ>)YZÖØØÔôï_§®.$“{@' ÊJbn®òÓ§ªÏŸ«ª© >-^\:(dZ…iK¦…«©!ܽK½wšžNþøQ™Ã! àò–‚½C!d¤à(z6%%¤¦&ì۷΂?zt•³s™ ¿¾2-€Â´=ÓÍòåËB{÷îUt t-Ê´`j@^ ÓÈ´ä2-yL @^ ÓÈ´ä2-yL @^” [!“ÉŠ´3eee„NWt tIiÚ“ÉTt ©ªª"„ôôô]ÌÈ dZò™€¼@¦ /iÈ dZò™€¼@¦ /iÈ dZò™€¼@¦ /iÈ dZò™€¼@¦ /iÈ dZò™€¼@¦ /iÈ dZòBÀ0LÑ1èD.\¸pîÜ9ÑÛ””„­­­¨Äßßß××W‘ÐA¦à?ž>>¢¥ZaÊ”)Š€®2-óôô;~üxEE@×™€Æ©««;99‰D"‘8jÔ(&“©èˆèz ÓФɓ'c†aؤI“ ]ì I***†¹»»+:º$È´KM !1‘zïõåKòÇ*Ÿ>)ýw«Ðñ|B––CF¦¤„ÔÔ„}ûÖYXðGªrv®RU…G¼t i: GéàAÿgï¾ãšºÚ€ŸÈ`„VE!²Ù8pQQ«P±¬­ÚjYî…?¤ZEQÄòj©uVÛZG_‹‹ŠàÄŠA*BBÈøýqÛ„0B0>ß$çž{ÎsnZx¸çäÜ“')MM..Mùå}EEÕ}þy#ü5ÒǺôÜCÈ´½©™Vc£Æ²eæwï’æÌi\¶¬N_þF soÞhìÙctìeäHÞž=Õ üÓw Ó¨LW3­Š ­°0 ·µ“S‹ò@-#"ÌutÄ2 jUu8Š.eZpà2Z3gÐÖ¥¤TBš@789µ¤¤Tjk‹fÎPQ3¼ýdZÕhlÔ ³0@püx•©©@Õáð¾25?^5`€ ,Ì¢±~­÷;ð‘T@$BK—šc“†d2¬/ GÈdÑþýÕnéRsØ¥¿L  ýEÉÎ&íß_ w³è¦¦‚ýû«³³IýEQu,àiúZS“Æ?Í›×k³èENN-sç6&&Áb¿ ¯ýü³¡Pˆ–,©Su ¨›¥KëÄb´¿¡ªoA¦èS<îäIÊ‚o`ß,å …K—.uvvçóùªô}}Ñ‚oN¢ðx8UÇþ™ Oeei75i̜٨ê@ÔÙÓ§O/^¼Èår322òóó±ÂêêjÛ={öLµ¶«ÿGø^˜9³‘ÍÖ¸qC[Õ€@¦èS7oj»¸ðàa;Jegg7yòd‰äçççââ¢êp@Ÿ¢R…..<È´úxÂ4 O=~Lôñáª: 5§©©ùÓO?©:  2®®¼œ²ª£ÿ€L Ч*+µ¬¬`êð­gÏžM:UºdãÆsçΉD¾¾¾L&sÆ ß|ó BÈÙÙ™Ëm'IýÏþS^^~úôiƒ! ¿ýöÛÇKŽ&''O™2%>>^ºë‘J¥fggc%L&óàÁƒ7nܨ¬¬‰D ðó󋌌44ì|m5›Í>zôèµk×ÊË˹\®££ãçŸ€Š‹‹;zô¨¤ò–-[NŸ>]RR‚Ãáh4ÚW_}õùçŸ#„äGÈb±öîÝ{ûöíªª*±X<`À{{ûI“&ùûû‰ÄN#üÐ Üz挞ª£ÿ€ÙC@Ÿb³qð(\iC‡-))155ÅÞFGGÏ;!tëÖ-&“‰JIIÁ=~üØÆÆ&>>žN§Óét2ùŸ›{öìÑÔÔ<}úôššùñ¿|ùrêÔ©»wï.++Û·oßÇçÍ›wóæÍ+V,Z´H(nذáòåË’úgΜٻwïåË—\PP°víÚ„„ùŠD¢9sæüþûï ãÀ¹¹¹'Ož´··_±bÅ_ýÕõK®þ(› ¿ßû ø$}J(Äáñª¢ŸÁãñAAAØkI^%É!Š‹‹KJJBùùù•••Ÿ|ò‰Ì馦¦‘‘‘úúúÁÁÁÝ`ýúõ ¡O>ùÄÚÚÚÒÒ»UUUµmÛ6ùç®[·ŽÁ``çŽ1BOOoáÂ… !tåÊ•ß~ûM¦~dd¤™™Ù€°’C‡½xñBNåå奥¥!ccc"‘hdd´hÑ"ww÷n öC€Ç#¡¾{Ø_@¦ª÷ÙgŸa/ž>}úäÉ6›}õêU¬˺RRR&Ož¬««+sî„ $¯>|èììÜ¥®kjj °×’[kfffØ‹ôôt‡rtt´•âçç‡b2™<ÀjZYYa/444,--±×©©©2Ý 4H¦¾H$’¾›Õ–™™‰DB½zõjÊ”)[·n={ölUUÕŸþùå—_vi°ô=È´@õlmm%_LIIIMMµ¶¶^¹r%Vrþüy.—›šš:cÆŒ¶çš˜˜ô¤k‹%y€%Rßÿ=VÂçó_½z¥È¹X2„‘¬’® SMz}U]¼mlutt’’’°a–••9r$**jìØ±sæÌ©¬¬”;8TVÄ@¿ðÙgŸa÷–Ο??`À€Ï?ÿÜÏÏO__ÿÍ›7¯_¿Þ¸q#™L5jTÛ ‚"íãpíO'K^¯\¹rñâÅŠÇ,äa·¾0---m+ÈT“ÔAɉ!äïïïçç—›››“““›››••% ³³³cbb¤—ÛÐÁ=-è´´´BµµµEEEAòµÄ”””   îÿÐÖÖ~»Á’@ @Íž={Æ X¹Ì~¡_}õÕìÙ³±×ÅÅÅt)!SSS///¬BEEöB$InƒÊ„!©öòåKì‡óõõ•auu5F«­­õòòŠŒŒ‹Å’,›8qbO® }'‹U@}ÔÔÔ455É©`kk³gOÍÔ©òê|°222ÂÃÃÑ¿›`a…'N,//wuu=}ú4V’ššºbÅ ™s333±uèmz{{?~!”ŸŸ¿}ûö¢¢"G¥R×­[‡ÍÙUVVBhÛ6÷èè\é`zë‰w—¹d¼ÕÕ<##‚Þôé§M³¼y“) +kòŽ…™™Õ~Ü8³ï¾sa³[7o~œÍÔÑÑš0Á,&ÆEGçíoçMg¤ IDATXIHB!rrÒŠr’P'8±¦À½¦¦¦¦©©IN[[›={j¦N•W§{"#³¯^eHR‹œÅã ·msóö6a±x‰‰EW®TmÝêb…b2yÁÁY--ÂíÛݽ½M*+97æçç×;æëæf$ÝæÄ‰Cííõssk#"²‡¥¤¤ŒÇ*¼|É™1ã:™Œß±ÃÃÝݸ²’÷øÉ“7MM­Ò_+“‰M‘– Oºzåsv>ïèh€eZ˜  ë¯^5c™–tÞÞÔåË\\ ž=c‡„degO54$tãº)ø‰toK‹hëVW.WxêTyRRqLŒóüù¶’&OþháB;½Ë—«¢¢Žg¦¥¥±|¹ƒ••î¹s±±yóçÛÄĸ´Òßsâã——s˜L®’¾{˜–¦»l™^ªŒÆBÈÆÆFñÊ0{PO‰‰Å¯^5oØàâçg¡««im­›”äebBÚ¼9ÿõë„PbbQeest´óøñæÚÚx²{·—X,þþû|™¦BB¬ÜÜŒÈdüèѦãÇ›Ô××óÿí¥¨±±56ÖÅ××k$)É“Ë*¤ü– O©:½Œ½%"b¨•LÖ>ܰ¤$ÈÐ §²ò>l¼±±.~~::šT*qñb»±cÍdª[ f@&ヂÒh”¬¬šo¿¥98èkkãg϶¶´ÔÎÊbJµùNHvv”„&“Û•ËÞciÔÓ•+U¡ Ì%%‚ƨQ&<žðæÍ„Pz:CCççg!©`bB¢Ñ(…… ÕÕïütqy{É‚Œª©ù§Â5¡±cßöbdD2DWÁ å´¬xxJÕéeì-Ç*^YyŸ6ÞqãÞI­~ùevCKÂÙùm´ff$„аaoguÍÍÉ’xÚ ÉÔ”dm­hHà}ë´jˆÏ±Ù­D"^z­ BˆJ%!„X,V!äêz¡íéååMæædÉ[=½·x„¶ì‚Ïq8"¯­—>]__KÁ8å´¬xxÒz²N«­N/£‚í(‚LÆw^é_JúD:o[ººo+àpÇ‘ÉoK44p’Í): ÉØ˜XVÖûsè ‚L  † ==-6»•ÃHÿÖ|ýš‡21!Ї#(.žŽÇãºÝ‹ŽŽ&‡#hnJÿ­­íé´Z·Ã+) êa×2aÈ¿Œ¶ ¡kmI—46¶öb„2zø‰t4^e„„-ü˜=¨§I“>B]¿^-)áóEwî°H$ü˜1f¡É“…✜Zé³öï6fÌ%ù·…¤aÓLØô†ÅâõʽŠ^ ¯ç:½Œò™š’¤ç:Y,^UU³2â”èá'‚73³Zº000cëÖǽR}=¿¬ŒÓíÁû2-€zŠŠr´´ÔŽ‹+ÈÈ`p8‚²²¦•+°X¼ØX*•ˆU4HgíÚœ¬¬6»µ¡âDYrrÉúõΊßFŠŠr20 lÙ’ë³¹YøìYãÚµ¹ŠÜìQ$þž‡×+aÈ¿Œòùúš2™¼ßÑÜ,¬¨àlÙR`lÜùY= ¸GŸ6Þ­[_¿^Í᪫¹7æ³X¼ùó»ð]3ù!ÑéìU«ÈL&5»<z“JvyÞi !4}úÀ]»<Ñ?#•¤§WUWsÉdMWWÃðð¡#G¾Ýª¡¿woIzzƒÁ¥PŽŽúaa´Ñ£MByyõ3gfJj.Zd·j•£­íIÉ„ æŽD••5%$Þ½Ë ‘ƒeÍšaÿùOqAAÃãÇíÆ6w®‚-Ë Oº}å`³[ããgfÖ46¶fã›WXØ€Šˆêïÿ‘ô¥@Ñé3: Fñë&ÿé”ôxŒˆÞÞÔ+ÖmûŸ„¿¿ÅŒoK¢¢==©_|qCR²l™Ã²eöÒ!a[|-]jä]ñ-¾º vyP¶.íò™ 7©p?­þcÒ¤«<žðÆ x’Lñ¡}"i)ì§}„ÅâyxüO xû'ë«Wœ—/›¼åz|" ¿L zäÍþ†  .—+Èϯ[¾ü¡žžÖ’%öªŽëßèW`—è>Òo¿ù;öböì›55\}}­Ñ£M“’<ÔVuh}Az™” É¥>Öé'Òcê 2-è‘Q£LFú@g¦$ ØûùŸHÿŒ¨1˜=PÈ´”2-eL @Y ÓPÈ´”2-eL @Y`çRPHjê«+ „ââéªð~€{Z €K:}Æ»< { Óeqv>?kÖ UGP%È´”2-eñ5ÑÐÀÿé§§W¯2ª«yFF½éÓN›fyó&sáÂl¬NVÖä; 33« ü¸qfß}çÂf·nÞü8;›©££5a‚YLŒ‹ŽÎÛŒ¥¥ì;‹²³YB!rrÒŠrR0˜C‡žoß^ˆÊÉ©µµ=ƒÂãqLswO•ÔY¹Òqñb;¡Plgw+™2e€««!v¢™éçŸGìÜY”Ÿ_'¡áà W­rôð0–œ^W×’œ\rí£¦†«§§ååE]ºÔÞÁA_NTvvg…B±œ T*1;{j»‡ÒÓ’˘™9)!¡èæM&ss3Šu4H§±±µÓÑMŸ>°ÛŸE7Æ @€‹åý_]RSSÓÔÔ$§‚­­Íž=5S§Ê«Ó ,/88«¥E´u«« —+(h FÉʪùö[šƒƒ¾¶6~ölkKKí¬,¦T›E­±±.¾¾¦ÚÚx;;JB‚“Éía¨ß~K‰Ä‡?—”ääÔVU5Oj)]ËnÞìêæfD&ã wíòlmmÙR ‰­²²9:Úyüxsmmož¦&Nº™Œ—ž³³£˜š’žüü³Ïéëdê44´ŠÅï´P[Û‚26&Ї#(.žÞö^‘%%AŠWî¶€ËÄÄ"ÉèfÍÜÃ¥Ûã ?€ÙC€:˜4é#„Pffµta``ÆÖ­»Ý&6‰Í!bêëùeeÅ[ “5[[EØkÿô“'˱ׂÆW_ ©­m9|˜~îÜßß|cÛöÜ–aAAämII#“ÉspÐ75%!„&O Šsrj¥OÙ¿ÿÙ˜1—äßµêx<î›ol±Ñ¥¦¾úúë.¬îH/òA¦PQQŽ––Ú[·>¾~½šÃTWs7nÌg±xóçwÿ×|T”“aË–ü[·˜ÍÍB:½jÕ™ÉDùœœ ÊÊš î£Gu/¯·{4Ì™3„DÂÿðCÑèѦVV:mÏÕÓÓÚµ«øÑ£:.WøøqýêÕµ´4bc]$ã4HgíÚœ¬¬6»µ¡âDYrrÉúõÎýá®Ï_ ÖÓÓúá‡"ÿ°5X=ÔÏÇ €°Ë 7©j—ôÏ~Z%ééUÕÕ\##¢·7uÅ ‡ÁƒuóòêgÎÌ”T[´ÈÎßßbÆŒ·%QQŽžžÔ/¾xûØœeË–-³G••5%$Þ½ËÄC‡R–.µ?r„~ç !l/»¸JÆ‹옘¼ÂÂzBd¤ÝW_YK‰ytêTù‰c¥30L``F]]Ëo¿ùÆÅäæÖ …bÃÕ«ßÙO«¡¿woIzzƒÁ¥PŽŽúaa´Ñ£M»xÙÕö2®Zåˆm†™0ÁüàÁ‘’·;v<ø<5ÕÏÞ^_N#Š}<Þ÷ìò l]Úå2-@oRa¦õÞ9}úå±c/ΞÐö–iݾýIßGÔdZÊûiÀ{àĉò ÚY¡P'i@ßùóÏ— f77 /{ó†?mšeççÞg°Ët“ô*%’ÕEm¥§3ÜÜ.`»œ·]Í-y`"Ö>¶ª·ô=È´ ›èô]=%$Ä*$ÄJN…ÐPZh(­Aú˜=PÈ´”2-eL @Y ÓPÈ´”2-eý´à}RZÊÞ½ûÉýû¯ëëùB¡!¤§§õèQ’ÚõÔÌŒô^<313³:.îñßsJJ‚T Ê÷´ sÍÍÂ?¾vWµa¼zÅ™93«´”½w¼€üüÀôÖÐøg£ùÐP>ÃÁA_µA*¢¢‚~71±øõkžªc@¹ ӀΉÅb‘H,‰?ÅÙùü¬Y7z7Œ“'ËÙìÖM›†»»‘Éš::šŸ|2 'gZïöÒ’’ŠÝÝΛ £S+@ÍÁâÐ9Íë×'«: T^Þ„²·îZÉïN"áU}îiÀ{C #„„÷þG7¤YàÃ÷´ï½ôtÆÂ…ÙØë+W&&%=¹{—ÕÐÀG=x0ÍÐPW×’œ\rí£¦†«§§ååE]ºÔ^z=Si){ç΢ìl–@ :”²d‰ÝÑ£¥wî°BÁÁV~~’ö‹Š>%ñ!>_´woIZZeUU3‘ˆ÷ð0ž5kðøñfxîîÆ••œ¸¸ÇOŸ6ÅÅÓ±.$íK:Ý´)ïâŪôöô4nj:ô<"âîŒññ¡††ÒBCiÎÎç N+ªü`ä Äßß"$äŸC’l!T_Ï÷òúŸœ‹Óéðå ¤£6á«‚( Ò""†úøPÉdÍáà KJ‚ ‰‰E••ÍÑÑÎãÇ›kkãi4ÊîÝ^b±øûïó±S‹c]|}M± IIž\®P~Gwî°h4=__S O¥×­fm­Ûix#g Ý» öؽ™@­ n(S’žÎÐÐÀùùYHJLLH4¥°°¡ºš‹ºq£!4v¬¹¤‚‘qÈN²qãÌssëbbååÕcSiééþrî)ŒœtO§=vo Áì!@­Éï,µæóElv+BÈÕõBÛÊååMFFDG@$âµµß9Q__K~G›6 ws3JIy9wî-„§§ÑìÙÖ“&}$ç”Nƒ17'w4îQ¤Çn Öi 8È´êŒ@РP´8AqñôŽ–xëèhr8‚æf¡t²U[Û"¿e (ˆ³³Y‡=_´è^t´ó‚¶’ ݦw)Òc§i Öi 8˜=¨¹É“…✜ZéÂýûŸs »13nœúwÃbñÊÊšä7ëæ–ZZÊFijâ|}M÷íáë׫%ÈdÍÖVöÚß?ýäÉrE‚éuöØé@=™@ÍEE9¤³vmNVV ›ÝÚÐÀ?q¢,9¹dýzgì6OT”“aË–ü[·˜ÍÍÂgÏ×®Í51!uÚrllÞÓ§oø|QmmËÏÄb4r¤‰ä¨““AYYƒÁ}ô¨®¢‚ãåe¬H0}?üNè œX¬”¿¢¦ššš¦&ywƒlmmöì©™:µ“;F]’—W?sf¦t >CúmCïÞ’ôô*ƒK¡õÃÂh£G›J*”•5%$Þ½Ë ‘ƒeÍšaÿùOqAAÃãÇèÝm®BÓ§ܵËóÉ“7Ç—Ý¿ÿºªŠK$j ¬bl%™4|ñ‚“WXXo`@ˆŒ´ûê+ëNƒ‘3vc˜?ÿöÍ›LIáĉÒûP,Zd·j•c§Ãït Ê‘ÁÏ–)ܶÍ=$ÄJ‰½~0ÒÒt—-3£ÓKUˆÚ²±±Q¼2dZ€Þ¤’LK&MºÊã oÜPýxè*È´”­K™Ì>t,ÏÃã؃n0¯^q^¾l‚4@ÏA¦èÍþ†  .—+Èϯ[¾ü¡žžÖ’%öªŽ ðÞƒ]:Òo¿ù;öböì›55\}}­Ñ£M“’<ÔVuh€÷dZ€F25 æ ½f”2-eL @Y ÓPÈ´”2-eL @Y ÓPÈ´ Céé [Û3Ø¿–¡ªÃA¡ÔÔWX<ŽŽçú¦ÇC‡žc=Ž}±£eË̬ž81ÝÎîlßt@/‚L :äïoA§Ï˜8ÑBÕ¼`I§ÏèËíCCitú }9%ÊSQÁ ¿›˜Xüú5¯º ×A¦ÿpv>?kÖ UGÞ‘”TìîntîÜx|x/Á¸ú¯øxw ¯ê(è>¸§ ÿ‚4 ¼ïàž@ðù¢½{KÒÒ*«ªš‰D¼‡‡ñ¬YƒÇ7ÃãqX…ÒRöÎEÙÙ,@m$4Š‹§c-„†ÒœÏ;:œ:5¶Ý.ââGD ݱÃ#/¯náÂì+¤¤ŒGÿ®šŒÌ¾z•±aCÞòå îÏž±CB²BL&/88«¥E¸}»»··Ie%gãÆü™3³Žóus3BeeU/_þ *ÊiÏ/‘]¸ðw\Üãêjîºuð~e‚ÿûoN|ü㊊fE.Kh(-4”˜Q^Þ´eKAt´³½½>Þ¸~ý£9snýúëhoo*BˆÅâgñxÂmÛܼ½MX,^bbÑܹ·¶nu ±êÉç"“­ð‚ÙC€:¸s‡E£éùúš’Hx*•¸nÝ0kk]ÉÑÄÄ¢ÆÆÖØX__Smmܰ¤$ÈИXTYÙí<~¼9ÖõîÝ^b±øûïó%gùøP##‡êë óæÙZ=Joj´¼%!ÁƒÉäv)x.W¸y³+¿³³á®]ž­­¢-[ þí¢øÕ«æ \üü,tu5­­u“’¼LLH›7ç¿~ÝÒ¥Ž2 Ó¨ƒqãÌssëbbååÕcÓUééþØ -„Ð5¡±cÍ%õŒˆC†è¶ÛTG\\Œ$¯ÍÌH¡šÙtgøpC™’ôt††ÎÏïí>&&$RXØP]ÍEùùYüñÇéSôñóçojJ’Î#A&ã¥7e°³£˜š’žyø°V²ËBèÅ vLL^aa½!2Ò¬óòêgÎÌ”TX´ÈnÕ*GlÃ-Ì„ æ‹ÛK×AÑé3¤ß64ð÷î-IO¯b0¸ ÁÑQ?,Œ6z´)v´¾žÿÃÅ™™Õ,ÏÀ€0nœ¹‰ iß¾„аagÏNÛ léRû#Gè’ÍÀâãÝå_œÀÀŒºº–ß~ó‹+ÈÍ­ Å..†«W·ÝO«$=½ªºšK&kºº†‡ÅRUɦ\’‹@¡hÉ”¬Zå(?†nËÈ`„‡gËnÛÖÓí'Ô[Zšî²eftz©ªQ[666ŠW†L ЛT•iuüy·d2-u…eZ·o¢ê@@LKÙº”iÁì!€²@¦ ,°Ëàƒ“šújÅŠØk[Û3Š,uêϤ×É “ñ’­ðmmÏ(uA ]i>8––ªŽ¢×È,Àô+0{ ,iê'ÅŠ………WJ™ ~¸/^¼ š;wnVVìè¤BiêgÄùóçýõWMMÍÐÐÐiÓ¦]ºtIÕ!}  ÓÔÓèÑ£9ráÂ{{û¥K—Î;÷Ù³gªêƒ™ Îìííøá‡3gÎðx¼ÀÀÀ 6Ô×׫:¨dZ€ú6lØ©S§âââÒÓÓ§L™’žž®êˆ>i àààôôô?þxáÂ…111<OÕA©?È´ Céé [Û3Ø¿–¡ªÃA¡ÔÔWX<ŽŽçú¦ÇC‡žc=Ž}±£õöäÉ›Ðлnn©..ççÍ»•“S«êˆz„B¡lÛ¶-99ùÒ¥K_|ñƒÁPuDj2-è¿¿>câD UòV@€%>cÔ(“>ë14”F§ÏppÐçÉS& IDAT—S¢Æòó냃³tt4/_ž˜•5eà@/¿¼yëSÕqõÔ”)SΜ9ÓÒÒòÙgŸ©:u™üÃÙùü¬Y7TèGD"ñºu¹ŠÖŽ$CCÂæÍ®VVºë×çòù"UG×Sƒ :}ú´½½ýœ9suj,BèÆš î „ N“Ó¯ÝY¡PÞƒh¨TbvöÔŽŽ––²BæædéBìmY[áÑ÷wx<~÷îÝóçψˆ8{ö¬¾þ±¯Ï@¦P›6å]¼XõãÞžžÆMM‚C‡žGDÜýã1>>T„ÐË—œàà,2Ÿœìãîn\Yɉ‹{üôi# Q\<k!4”æì|ÞÑÑû]ÞV\Ü㈈¡;vxäåÕ-\˜½bŃ””ñèßUó‘‘ÙW¯26lÈ[¾Ü!!ÁýÙ3vHHBˆÉägµ´·ow÷ö6©¬älܘ?sfÖ±c¾nnF¡¬¬êåËDE9íÙã%¡ þŽ‹{\]Í]·nÖ¯Lðÿ͉\QѬÈe ¥…†Ò3ÊË›¶l)ˆŽv¶·×§Óׯ4gέ_ííME±X¼àà,O¸m››·· ‹ÅKL,š;÷ÖÖ­î!!V=üh$í·´ˆ¶nuõñ1ár…§N•¯]›ÛØØªH„‹Û-^lçì|^ÒàØ±ftúŒ  ë¯^urdÒå®b³[BÚÚïü®ÄÞ¾yÓÚ“–û‰”œœ<}úôÕ«WÅÁA_ ?ÞØQð¦¦$é~\¿zõC--ØXI––Úqq GPVÖ´rå‹ëB¥{å"XZjoÝúøúõjGP]Íݸ1ŸÅâÍŸo£`„!__S&“÷ûï/š›…œ-[ $·»”GC·}»Ç›7­k׿²X¼†þ¦MùååMÛ¶¹‰]ûÞ#8nÞ¼yiii,KÕ±¨œ¸íB讚šš¦&yë‡lmmöì©™:µ kŒñäÉ›ãÇËîß]UÅ%5Ö ±¶’ÌF••5%$Þ½Ë ‘ƒeÍša?þøäáÃZÉ.¡/Ø11y……õ„ÈH»¯¾²ÎË«Ÿ93SRaÑ"»U«± ·0&˜/^l/]!D§Ï~ÛÐÀß»·$=½ŠÁàR(GGý°0ÚèѦØÑúzþ?gfV³X<¸qæ&&¤}ûJBÆœ=;A:xl3°¥Kí¡K6‹w—q3êêZ~ûÍ7.® 7·N(»¸®^Ýv?­’ôôªêj.™¬éêj>KU%›rI.…¢%S²j•£ü¤Û72"z{SW¬pÜhÅ éÀú¡´4ÝeËÌèôÒn·ÀãñFµdÉ’ ôb`jÃÆÆ¦óJÿ‚L ЛT•iuüy·d2-u…å1·o¢ê@:Ôÿ#|¿ô<ÓB­Y³¦¢¢âÔ©S½•²effÆÅÅýý÷ß%%%ÕyòäɱcÇîß¿_]]233³´´1bÄØ±cßE¬K™Ì@Ö¤I“=zÔÐÐ ¿ZssóÇÖ7Qµ«¢¢"<<<11ñõë‘$‰‚‚‚ž={vZ,‹D"‘H$¿šR%%%¹»»Ÿ;wNGGGNlܸqãÆ$‰B¡¸¸¸ÄÇÇGDD(5<ØåðÁIM}µbÅìµ­íE–:õgÒëÆdÉxÉVø¶¶gYPÕë1,[æ°lY‡›H/Sj„ «ôõõ­­­=zäçç'§šŽŽÎõë×û,ªvÅÇÇ“Hò¶#)--Ý¿ÿ°aþüò˶G#""Ž=ª¬à Ó|€,,UE¯‘Y€ÿ~Å€=÷°wƒ½…F£•••u^OÕä§Y¡“'OŠD¢O>i! …B)**RB\ÿ€L í4hÐíÛ·ù|þÞ½{ÓÒÒªªªˆD¢‡‡Ç¬Y³ÆÇãÓÓÓ.\ˆU.**"‰!7776›-Ó‡»y󦹹9B¨®®.99ùÚµk555zzz^^^K—.uppT¶³³ å=–”J¥fgg+>û÷ï#„¤»èKi fff,kÓ¦M/^üñÇ===›šš:ñÇøøøøûûÓéôÈÈÈ«W¯JŸXPP ­­½NNNþÏþ³zõj,Íb2™ÁÁÁ---Û·o÷öö®¬¬Ü¸qãÌ™3;æææ†"ç˃݃m ¦¯¯ßiMe€ñh‡¶¶6‡Ã¹sçFóõõ%‘HT*uݺuÖÖÖ ¶––¶{÷îÏ?ÿ<22+ILL¬¬¬ŒŽŽ?~¼¶¶6FÛ½{·X,þþûï•6ÔцV¶ÿ’DØë Ó@;H$Ç7n\nnnLLL^^6©—žžîããÓÑY=Ânhåçç¯Y³ÆËË+..Nr4==]CCCz•½‰‰ F+,,Äö¸R333„P}}½Lù… ètú™3~Ÿ£WÀì!ÚÁãñÈdò¦M›ÜÜÜRRRæÎ‹òôôœ={ö¤I“äŸ[UUaaa±wï^---¬ÏçcK¸\]]ÛžR^^ŽÍ0öú:-//¯Â¢¢¢ñãÇ+~VoL í`³Ùzzz8.(((((H dgg:thÑ¢EÑÑÑrÔÃápÂÂÂÁÁƒ $åB¡p8œââb<¾ÃGöú:­/¾øâ×_MMM]´h‘âÁ÷˜=@;Øl6…Bqss+--EijjúúúîÛ·‡ÃÉÙCK(._¾¼´´ô§Ÿ~’¬èZ²dIzz:BhòäÉB¡0''Gú”ýû÷3Fþ}¬ž°±±‰ˆˆxþüùÚUö¶«pO ðÞ;tïÐöëÛBfºf·—ÜVu8o½á½ùß“ÿ¥=M{Ró„'à™ë™ÿhx˜w˜ƒÙ;ß6ŸulVΫ™s¿ñüfÃÄ Ò%‘à÷œßÏž-«+#i‘†™›ã>g‚Íìotç]ÎÜV®¤òº ëB}BB“NzQû+ô°ô85ç½yŒP¹ÊÊJSSÓªªªØØØï¾ûnÈ!l6û?þ‹Å#GŽì謭[·fffîØ±£Ýµ\QQQ÷îÝ[»ví¦M›ÜÝÝ…BáÅ‹“““wìØ!ç.WÏ­\¹R $&&–——õÕW6668îåË—¿þú+wvvVR×ð„i@oRá¦ÖqêúU¦µ>m}Êã”õ¯Ÿf?M—¨[X]{9¶¬®,9(Ù¨¿¤š"™·•;ÿÔü&~ÓFÿÎÎuÍuÛ®m»Tr)íÛ´¡&C±:O˜O œH›¸ïó}’™MÌoÿüÖÑÌqÛÔmxœ“þ£Wž0 7n\@@ÀñãÇïß¿í§5xðààà`'½ŸBhúôéóçÏ j·µŸþÙßß!ÔÐаwïÞôôtƒA¡PÃÂÂFÝí8322ÂÃÃe ·mÛ"SXTTtìØ±{÷î1™L¡Ph```kk;räÈO?ýÔÒ² »wé ÓpO ”(xxð7žß`¯½z%& Üq}‡t¦…:óõg yRo¿¾ý)ëéÕð«T*Bè#ÊG;vfÐ3ä÷^Z[úíŸßNwš¾rìÊ |xZ[[KKKÃÃölÙÒnl?-™Â¶%2 ¢£££££{'P„üüü:íãääß[ý*2-P–ø©²?ÓÌHš¤Š† ±X¬øÊÜל×'óN~áú–faÈZäâ5ÅrÎÊy•³(eÑʱ+¿pý¢«‘ŸŸßÚÚª¼9µdZÐw¸­\ž€gojߥ/@]£_Š„<?årÉå˜K1 Óülå=€Ž\¾|ÙÚÚZñMJAG Ó¨•ÒÚÒøŒø‡¯ „‚á _5v•‡å? _Èß{goÚÓ´ª7UDM¢‡¥Ç,×Y㇌Çkt¸zÉ.ÁN(’»¯5{iöõI{š†Z4j‘LùÙ¢³Ñ—¢ËëÊñx{û/ݾüÔéSÉÑ¢ê"„>YÛµmiOÓ^s^›êšN¤M\æ»Ì€l€Úø=ç÷Ÿîüt8øðð†+Ò®^½¨ê(ÔdZõÑÜÚ¼ñÊÆ•cV:˜9”¾.]qýœs~ýâWïÞ¡MW6]|zñÇ =z6µ4º(âtÄ_þá3¨ÃÝ®Kþ¯7÷õyÍy½3sgÈð©öSe½á½Ù>uû£!ŒFÆÞ»{W]X•W•÷ÿwØQf!´.mÝ(«Q'¾:¡OÒ¿F¿öÝåïn–ÝLù:E¨'ÝÔò;WŸ_ýÖû[H³@·Ý¿ÿï¿ÿž2eŠªQ°Ÿ@}°[ØQã¢<,=´µ´-œwîj¶n¹úÏbÞ;åwhTš¯µ/I“DÕ¡®›°ÎÚ¨ïfF¸ óOÍ÷ä³e²ìââSsN%$:™9‘µÈCŒ‡$$ÿhøo9¿å3ò± -‚„OLHh0B¢Ì6cáÈ…eue‡ï–iÍœb®KÔ=|ÿð¡{‡ú`\@-8pÀÇÇÇÑÑQÕ¨ȴꃨInñöFމ©®é“š'Ø=¡q6ãr+sc.ÆäUåas‚éáérnhõ"n+÷›SßÐLh?þ g²RbŠÝ„еç×°·Úm„ÐèÁ£¥·iÀ`Ý,»)sî£!GBŽèt¶_ßþ˃_zkàÃñìÙ³¬¬¬o¿ýVÕ¨ ˜=¨’ÌJscmcf³–SkªkºÉ“ÛGn)…)sOÌEyZzÎv›=i¨¼Ç·õÊ:-¡X¸äÌ3]³;ÜÑÊT×!TË©ÅÞ  @jJ×1Ö6–®#Ím€Û/!¿Ì?5Ûµm8„›ï5_‘NÀÄÇÇÛÛÛO˜0AÕ¨ È´êƒÝ–)©m®Eë#„p8\а  aA‘ ûeö¡û‡¥,Šþ8zW‡oë•uZ.mà ù?þ³$ÍòÛç÷ç?¸~ÔÎCv15ìIØ!Ïž¿<ø»3' Mzßi–‡C/øsÁÖk[ñøyóz>ð!¸páÂíÛ·Oœ8Ñ÷ÏTW0{PÍ­ÍOjžHÞ–°J˜ML3ì‘[’[im)BHSCÓ×Úwßçûp8Üuz‡oë{níyÆ|¶æ~žÐn…?óÿœ~dºt‰X,ƾ¢ø1íc¬d¼Íx3]³/n` ¶0ض¥2; Jóèu8ä0Y‹¼9}ó±Üc= P{uuuØÖê]ØRÈ™@}µÈß§ŸÏÈç¶r3¯¾°Z ¯;1VR!öRìSæS¾_Û\{ û€X,iÕáãÛzî¯Çí¹µ'Ÿ‘ï²ËÅv»­ä_EC…tµ¢š¢—7¾¬Ù"hyQû"*5ª°ºpžÇ<Éš3ž?5¾¾¹~ù¹ååõ弯³…g¾ûóp‹á_{~-'ïÞg$i’6]ÙôÇ£?”7R „BáŠ+ˆDâš5kT‹Zçz“Jž{(ý„éŸ?ÿ9!3¡ ª@$¹X¸¬·Z²ŸÖ“š'ÇóŽß¯¸_ÕXEÔ$62<$Ø%Xy³$a§Ã:ºgvzÞilö/ägÐ3ÎÊ|ZÍ®&jÍ¿pý"ÐQv+£G•öÜÚ“W•Çð šæ0-|D8I“„íè Ó¡;åwÂO‡ó<„Ðʱ+ZÜë#ýJ§Ï=l÷;vìøí·ßN:5lØ0%øÞëÒs!Óô&>a€‘ŸiegggddÈåóùšššVVVŽŽŽvvv4F£YZZjhÀtVŸ‚L P+/_æ"´ïòeÊàÁƒñx¼ªÃùÐAb P¥µ¥ËÎ.ñã»;Ûí¶¶ÛmݒܰC‡îÂJF'Vmï…‡¯Ún·½WqO¦<õI*vw:öe¿=ô„ù$ô¿¡nIn.»\朗ó*§ÛMe–fNÜ?Ñ.Á®Ãëu^^ÁÍ´±±4«?€L  &^½y5󷙥µ¥{?Û›·2/UþA?jàþù)êJ_Gw0sPmï‹kϯ <zÊ”8Ð×ÑG ÕÇýöD>#?ø·`‚Îå°ËY‹²êüò/o•Ýêj; á§Ã³_7¿îÅð€ÚƒL  &Næd·°7MÚä>À¬EÖ!è|bÿIΊîß½ø]}~u¼Íx<®¯ïˆôz¿"±hÝÿÖQH”Óv˜êš’ 7OÞledµþâz¾°k;v&ÝHrà~nþ9-Þ | Ó¨‰òºr„½©½ªyï•Ö––Õ•M¤MTƒ~üýàùëçSì¦4IX ^àÀhddÐ3ºÔTüÔøÈ‘‘}Ÿ}‚÷dZ5! B¿JÀÆ«ýÞ}y!älá,]èlî,9¤8I®@—Àwï½ôgé Sb¯dŽ~æüY´„ŽÎ­k®K¾|~­†]£GÔóèµÔw©ƒ©ƒL³™ 3®'Ü,»‰×À» p‹;È`vH(^zzéÏü?KX%ì¶•¡UÈðyó°%bÒd-ÌÚq}Gfi&A“0nȸïü¿c·°7§oÎ~™­CÔ™`3!æã‚Ž"±uÄ.ÁN(Ê©@Õ¡f/Í–S!tíùµ‘V#µµ´±·¥µ¥;3wfWd EB'3§¨ñQŠ_ÆF^£ûÜ%ÕVŽ]¹xÔb¡Xh·ãŸåSì¦$ÏH–éWÁ+/›@(j2tÉè%G½S~!ì?5¾´¶!d®g.­9Å!TVW†þ”è6È´ï=ÿ¡þôuôÈ¿"¯>¿ZUDÔ$båõÜz¯Ý^rNd61ƒn´lŸºÝ{wå›Ê—7Îümæ±ÙÇܸI7w5.bDÄŽi;r+s#NG¬8·"å묑¬Ò¬åç–G‹Ú´G$](¾w5®š]½nÂ:™Ø¶el[8ráŽi;.—\ŽJjà6háµVŽ]iehu®ð\ìåX‚NÌÇ1ŠÄöÿìÝi@SÇÚð ! a—A\P\@µ(Š­híªuoÝ¥µ.\¯;R”ê‹¶ÖZ{«·ÖÖbµV+AW¬¢‚ˆ£ !DÖ–$ï‡Ó{L†°„þŸNæÌ™ó̉ÀãÌdò²e’ÝʇYR]r÷ÙÝã6R/Ÿ”=‰8ÁÕçÆ‡ÇrôWù_Û“·?-{ªùcäÊÿàÇ®ä^IZD%.L“ÿ)?âpÄ{ƒß ókx_ Ÿ¼Jl[’¶üYü'›ÉÎú8‹ª#ªB Ù†ÊSId…¤Bó{´fàÕ›[PQ°6xms!ËÐÕÊu÷”Ý …b#o£JÍé§û8øpYÜ὆9ef”IÊè³þNþ ‡-430ëÆíFeßÞü¶ª¦J¥‘¯ˆv¸,nø€pW+×”Ç)süæ¸Û¸² gúÌt4sLyœÒ‚ØÚV2?YAc\ÇÐaTJ+£B¢FôaÈ2t³v‹™S\U¬|I“¡Îõ›+WÈÞ8H_’–Ÿ& BÝC_v_šš'¯›«•kÜä8I¤É>*ˆ‚Â`04¿@‹!Ó€W/‡§ÇÐ v ¦K¬­]­\3‹2‹DEÊ5½ì½èc{S{Bˆ@$ ^»ÿ÷­ÿ*Wv·q¯—×?|þPåvÊ«…lMl !ìÐ%v&vt›ÍŠ­mñrxžvž6Æ6ÔËK/B”×NÙÛô¶è­r‰úPzxØz$df~¿ IDAT&”Kþþ&ã7Ìö­¼º\å¾45O¾al†},ú(_nÂ1!„T×V+RÙ˜©©æ÷h1ÌÀ+ªVVKM-yÇy7<›W𧼏‡úƒM¡ÝSã"„Qèàs‹DE•ÒJºZÃÁc¶1}Ì ¦“ËâÒ%z =¹BÞ‚Ø”µr–¤Nr-ïÚ‡ÒaˆkÅ}½f‹bidI-rÒ<Ô9~sVýºêÈí#‹‡/Î-ͽù×Ía;_v_e/{ò/‹ÍŒk¦üÒÙÒ™¢’›UBTòE5÷h dZðŠb3Ù¦¦âqÖ'Y­ùèþüãóoþu3jlT˜GX7n7ƒqèæ¡­ç·¶æt‹ckå:­«yW¥õRzŸ6“mÄ6׊«ëª•zhJóP'yLŠM‰=œvxþÐùÿ88Ã{†òÚ•ûjâe±•ˆK”« u5>³(sꀩtafQ&!dXÏašß Å0{¯®ñnãe ™Êw³ìOÝ?rßH™BÝÈM&—¥å§Y[¿?ä} C jéOM}MGˆ­’&õ0ïÑ׺/]Ø'üožŽR&)£´4•É`Î2«¤ºäàO?8ýþ÷ÕßW cV Ubósòs±r9ûçYúM‘Ée§œ¶7µí<ºY·hdZðêŠ Œt2wZýÛê”Ç)¢Q¹¤üè£ñWãׯÑp$‰©ÇôwòV Ü8P&)“ÖKSŸ¤~çûŽ[sÉòd~²ÊÀRdP¤9×|3oó•Ü+ÕuÕüçü•§VªLØiê›ÞošpLv]Úâbkl«þ¾šP‰-G˜³úÌjkckå:z ½èÐè iÅêßV «„å’òóþWš·íµmôgT´Š¡P`ÚŒ@ ¨ªRýÌ2ç={¡¡êê4—ò–H„)ý§ì Û9ûØì˹—é±®c“&Ñ/? øp娕„rIù¾kûxy…•…¦¦¶óüç ï5œr÷ÙÝißMS¹Ä%Ú….í2úÀ´e’²]—v]|tQX%4çšö ´6¶þòú—„vþ=îß*„¸†LýÏ‹™¬ÈÀÈ!=†¼yäMºd鈥KG,U›6¤å§Í82ã¿oý×ßÉ_¹<·47æbÌõ'ש=«– _rèÖ!å=«4uÇ…n8ýÁiå­üÞWÃ'¯›L.s·qÿ8èãÏ/žQ˜qoÕ=åûf ²v¦ìL+H“Ëå»\>rù`ÇÁͽW2?yþñù*=ÚöÚ¶é§kô|ÛÑ™3ÆK—ÚòùtH—åìì¬yedZЖt’iA›ØqaÇO?ÝXz£¿p¦mï;îÀ8iôÒ‡—š®Úu!ÓÒ¶feZ˜=BIz˜Ø'P'ß*ݲû «„ƒ?L} %¿"ÿIé,u‡Ÿ=BáÍçuºûVH+Öÿ¾~Ùˆeæ\óaΦ¤M&&‹‡/nÃðZ ™tJÖÆÖß½ùÝ‘ÛGfþw¦ J`f`6¼×ð¸Éq=Ì{è:4€i@gÐ+  W€®£Pë´´™€¶ ÓÐdZÚ‚L @[ih 2-mA¦ -È´!äôƒÓ.Ñ..Ñ.Ÿy´Ãíx9<êv.Ñ.5õ5ípdž.>º8vÿX·7ÜàL º‚êºê1ûÇÌ;>¯Å-LrŸÄÿ”ßnއô áÊë:¶}n§âiùÓùÇçǦÄ>¯~®“^È´ +P(r…\.—ë:Æyîôœqd†®£x!îRÜ ‡A'gŸ4bé:€.ß{]Ûè ºŽ¢ÓØºÝ@ß@×Q¼0¦ðÊAšÐn0¦/‡·(au|?ò>GŸC—KÊ÷^Û›ô0©°²ÐmèÝÝ{¾ÿü¡=‡Ò>*yôÙÅÏRŸ¦Êä²þ¶ý#ƒ"6^Z]5þ<ÿ¼@$0á˜øöð]2b‰»;!äë_G_ˆ&„ØÛ~ñÆŸ]ü,ýYº\!Ø}àÊQ+;V®“–ŸæíBaê1³?ÉV¾…P,Œ¹s9÷2Séãà56ÊÉÜIMÝbÜdr™š VFV©KR›~p } …B¡ë ëUUUj*¸¸8ïÙ# UW§eþ¼0éai «„‡#¤õÒm¯móëá' cSbs·NØ:}àtBÈ“²'Sÿ3•«ÏÝ1qÇ ÇA•ÿµ=y{^i^qUqÖÇYT›ÅUŇ#jêk¢C£ýœü * 6œÛ^˜~dæªNØ¡°¼Ò¼~6ýÖ¯ígÓÿœ¿æìšG%þóæüzøQu»»(aQ‹> ï'´ùóiÔðøáÏ«Ÿ«d~ÐÙ9c¼t©-ŸÿH×tYÎÎΚWÆì!tM±)±ùùëÇ®v 6æ÷¶è79ÎÚÈzoÓsñsªB¥´2*$jDï†,C7k·˜‰1ÅUÅ*T¬ ^ädÈ2tµrÝ=e·B¡ØÈÛ¨\MR'Ù4~“ƒ—Åõ´÷ܶ³NV·9i³†¡N8ºvXÏaÁ.Á…e’²¶z [È´ kJÌI$„ŒvM—°™ì€^ÒzéåÜË„K/BFõEW°1¶émÑ[¹^O¡ìL—X[»Z¹fe‰ŠèB.‹KÍ'RܬÝlŒm¨äm/ãeïEÛÛB"¦ý€Ž ë´  ª•ÕŠjD}Žû»XYB„UÂZY­¸VÌÑç² •+XYæ–æ*7BñŽónx‹¼Ò<;;êØ”cªrÖÒв¸ª¸D\bclÓd´&úX¡GQuë:°N  A¦]›É6ᘈjDâZ±r²EÍZ[³™l#¶‘¸V\]W­œl•KÊ•150׈³>Éb2˜jnW.-W( ƒ.)©.!„XYR/„Ñø•-‚eUf k×w!䣛lÕÊj¯å]3Ð7Ù{$!$°O ùß"¥LRFhQÆ»—)diùiÊ…ûS÷Ü7R¦x1ªTS_“Q˜A¿ÌfW»ÛºÓZ\·NVG‡|òÃÝÚ¨—ÐÑ!Ó€®)20ÒÑÌqKÒ–d~²¸Vœ[š»âÔ ¡XEÍ!FEšsÍ7ó6_ɽR]WÍÎ_yj¥Êdbd`¤“¹ÓêßV§ÞC^ae¡©©‡­Ç<ÿyÃ{ § ;V*.ýnæw[’¶Ü.¸-“˼ì½V®¢öÓ¢<.y¼î÷u™E™æ\ó…þíóöÝgw§}7®ðaÀ‡+G­¤6Ü¢Œv}`Ú6|JÊ’ùÉóÏW)ÜöÚ6jÿ èì°Ëƒ¶5k—dZЖt¸Ÿ–®P™ÖÕÅWuÀßiiöÓèih 2-€úúÆ×.Ñ.U—h—]—vé:"èp°Ÿ@ ÍõŸ;×®®£€ cZÚ‚L @[ih 2-mA¦ -È´´™€¶ ÓÐdZIu]õ˜ýc柧ë@@#È´:…B!WÈår¹r¡çNÏGfè*$P߯Й±.,¼ ë(@SÓÐŒi@§ÇËá-JXD'ÎKŒ»wýÉõrI9!d°ãà´ü4êÔ`ÇÁÇÞ9F¹–wí½ÞûjÚWÁ.Á„-I[¾½õ-U'{u6“Álx ·7™\¦&+#«Ô%©žZøó¤‡IšÇ?5~ñ‰ÅvgÛkÛÖž]KºyŸ£ÏùúÆ×Ñ¢ !iùi.Ñ.„¦3û“lªNiuiüÕøóüó‘À„câÛÃwɈ%î6îêž&´)†B¡Ðu Ðu‚ªª*5\\œ÷섆ª«Ó2TBã×ÃoÙÈe^ö^9Ïs¦žžº$õÌŸg6œÛ°+l×äþ“©š«[ýó½Ÿ'ºOÜ=e7UÂËá¾}ø»7¿kó¨(ÿ½óßæÆð²îtãv£NQ™UÙs§§‡­•ÃÑŠ«Š#GÔÔ×D‡Fû9ùTl8·!½0ýÈÌ#>>Zê)tgÎ/]jËç?Òu ]–³³³æ•1{]Ê‚a üü¹,î@ûÙŸdwãv›Øo"‹Éúåþ/Ti½4éaRÏn=Ï?G)—”ßxzc¼ÛxíEÕâvGs¼žCš¤X[»Z¹fe‰ŠZÜ,4 Öi@—ÂeqN0•—ÃûõÁ¯ø~ðKæ/SLÖsXô…èSY§^÷|ýôƒÓ£]F² Õ4ÛšuZ­‰¡Ñîh¢VV+ªB¼ã¼žÍ+ͳ3±kYËÐ,È´ ëí<Úœk~âÞ‰ðþáwŸÝŸo o0¢×ˆ+yWŠ«Šî%¬ \¥¾z¹cPƒA*%l&ÛÔÀT\#Îú$«Ñ5þÐ>0{]‹Éšè>ñAñƒ);ǺŽ5Ð7 „„—Ée»/ï.®*ÖsX§ŽËâÖÉê¨ã¯B~¸û!d¼Ûx™BFô’²?uÿÈ}#e uãsІiÀ+!¼8!äXú1zÕyHß#¶Ñ±ôcSúOÑc´Ç/CíÅÐß®ninaeá‚;OËžúöð%„DF:™;­þmuÊãQ¨\R~ôÎÑø«ñk‚×`”  Ý`ö:½»ÏîNûnuÜ?¶?!„ÿ)_¥ŽƒO¯n½jeµ~=ü¨}ƒ n~¾÷³V?uØ‚ÔtGyç°þ±ý§ôŸ²3l'!dý˜õë~_7îÀ8s®ù¿ÆýËÙÒ™bih™ð~¾kûþøïÂÊBSS[/ßørx¯áíÓ_ ØO Ú–÷Ó öÓÒ6ì§Ð! ÓÐdZÚ‚L @[ih 2-mA¦ -È´´™€¶ ÓÐdZÚ‚L @[ôu@gõۃ߾LýòqÉãšúBÈ™9gúZ÷ÕuPmC¡PÜ.¸}êþ©«yW * L8&½-z¿åóÖdÉ ƒªS!­øíÁogþ<ó@ð@Z/µ3±Ø}à<¿yî¶îº  CÁ˜@ªëªÇì3ïø<å´ü´å§–è5âæ²›É “íLìtž6<.}<ãÈŒ¼²¼ø©ñwWÜýù½Ÿ»›v_õëªè Ñtèäè‰ǺŽý}îï·–ÝŠÎd…ÿ'œ—ÃÓaä 2-€&( ¹B.—Ë• ÏþyV¡PÌòeÈ2t2wºòÑ•.3 Ea2˜{Â÷ô³éÇÑçô0ï31Æœk~8íp­¬–®10bÖYÖÆÖ\×·‡o\XœL.Ûqa‡Ãèh0{Ð#¶Ñ……T E…„ss]D¤uΖÎÙ«³•KXL–½‰ýƒâ5õ5l&›²=t»ÊUî¶îúOËŸ* z’à‡1-€–Éeº¡]UJ+óÊò2W.)Ÿ}l¶¿“ÿæñ›[@†ÙCè zxØz$d&¬µÂœkN9pãÀlßÙL“ªÀËáé1ô‚]‚éK¬­]­\3‹2‹DEÊ{4 ´زFôáfí¦Ã{CÞÓ×ÓâoÚÄœDBH`Ÿ@åÂo¦£R­a§4¼Âb²œ-7ßô\üüóËŸû8ø ï5\¹‚¤N2ëØ,Wk×Ï&~ÆÔc¶ì.]2-è"æøÍYõëª#·,¾8·4÷æ_7w†í¤NÕÊjE5"Bˆwœwà óJó”3-.‹Ûâf ™µæì:†ëO®ï˜ØÄ–­Y§Eõ‹£Ï1b©¿‹J§4¿PY°KpbNâþåLK¦->±ØÖØö³IŸÑymkîÐÅ Ó€.b’ǤؔØÃi‡çðƒ3¼gÐàÙL¶©©¸FœõI–J6ж¦ ˜²óÒN:†×=_730SIö'Ùê+¨Áf²M8&¢‘¸Vܬl¦eR›;”KË• ×ÿ¾¾VVûÅ_Ð6øËà]“wyw÷nqx] Öi@Ád0g ™UR]rðƒ§œ~ÈûÊgÇ»—)diùiÊ…ûS÷Ü7R¦h³ýØLöÛ>oS1œ¼rÖYmÕòËŒë;ŽrñÑEå°o¶žßÚš ·'o_õë*•KR§B¼ì½è’=Wöäç쟶ŸJÂÚ0<€.cZÐu¼éýfüÕø]—v…÷·5¶U>yãÉÕ¿­þ÷¸r$“ËÎþy6þjüމ;Úv”ëÁïìOÝ¿ëÒ®1.czvëÙ†-7*20òÆÓ[Ïo5dú9ù‰jD_\ÿB(6ùɾ&/<•uªW·^S=§ÚÛWçû“÷O°0}àtªÂÏ÷~Þse!Äk§W‹ïÐåa—hKºÚå¶ãÂŽ7œþàt?›~*§Ê%åû®íã=äVš˜zØzÌóŸG-9ºûìî´ï¦)Wæʧ”wÏ"„Lé?e‚ÛåBÈñ÷Ž{w±lÝÙuÇÒ}û¨oß¶í]£¨ «x9¼"Q‘…¡…_¿å£–÷êÖKM§Ô_H©ª©:›}ö̃3¹¥¹‚*KÕDzÏ· ³|gÑû`Í;>ï_uë|ŠòQsÐìò mÍÚå™´%gZÁñŒãGnùeÖ/º^QÈ´´ ûièÒÑ»G?ðý@×Q@‡€L   ü˜þ㢄EÕuÕßßù¾BR1Ñc¢®#€+âÚ/‡ç³ËÇÕÚuwøn­î%2-€60}àtúCy4Ìh 2-mA¦ -È´´™€¶ ÓÐdZÚ‚L @[°s)@grúÁéå'—BØLvÖÇYº§q_ßø:úB4!ÄÖØöêâ«^Õ)ºÐ\ÓèL&¹OâÊè ë@Ô™ë?—ÿ)ßÝÖ½YWuŠ®42-mA¦ -È´´+â +ð‰óÕˆT  Æå/Û™ØBÊ%å{¯íMz˜TXYhÈ6ôîî=ßþОC !¼Þ¢„EÔ%]Œ¹s9÷2Séãà56ÊÉ܉n°´º4þjüyþyH`Â1ñíá»dÄww•FR¥ì¸°ã⣋l}v`ŸÀ…üKT#ÚÄÛ”ú$Õˆc4Úyôº1ëŒØFt³jb£<*yôÙÅÏRŸ¦Êä²þ¶ý#ƒ">5±½Œ[Œ›L.SSÁÊÈ*uIêËÎ6ùÌéà·'o¿•«^V?°ûÀ•£Vvܬ®tjÈ´ ‹ÈX•aÈ2¤Žã¯Æ~ùóU£VQò…UˆÃÒzé¶×¶ùõðŠ…±)±ïþðîÖ [§œÒ7„ÿ)áÏ “&mIÚ²`è‚wÜ.¸½àø‚å'—'¼Ÿ@µY\Uq8¢¦¾&:4ÚÏɯ ¢`ù Ó¾›vdæåF¶%o[4lÑŽ‰;ÎeŸ‹<Y.)g1Y+F­èÙ­çÉÌ“Q碌ØFëÆ¬£šU!äIÙ“ˆÃ\}n|xü ÇA•ÿµ=yûÓ²§Ê}WÛËžXö'ÙÚ{æ”êºê ‰VŒ\ánëþèù£5g×¼sôÿ¼ù¿~v  ³Ãì!t5gþ<³ûÊî7<ßX8l!U››_‘¿~ìú`—`cŽqo‹Þq“㬬7ñ6=?W¾vúÀé>>\wx¯áAÎA…e’2º‘‚Š‚µÁkƒœƒ Y†®V®»§ìV(yUˆðŠ`7€Ëâ†wµrMyœ2ÇoŽ»»!Ëp¦ÏLG3Ç”Ç)tå&c‹M‰­”VF…Dè=Âeèfí31¦¸ªXùŽšÇ¦% Ÿ9ET#Š Œì8Øeèiï¹3lg¬nsÒf:ì&»ÐÙ!Ó€®àΊ;ÔàJzaúǧ?öuôÝ2a }61'‘2Úy4]Âf²zH륗s/+·ãeïEÛ›ÚB"õ’—ÃÓcè»Ó¬­]­\3‹2‹DEÊxÚ{ÒǶ&¶„vè;;ºMMb»ôø!dTŸQtc›Þ½•ï¨ylmHý3§pô9íÒ/ݬÝlŒmPé”&]èì0{]dzÊg Ž/°7±ß÷ú>“EÖÊjE5"Ž>Gyi!ÄÊÈŠ"¬*špLèc6“MQÝ!Ä;λá}óJó”§ÌŒÙÆô1ƒ0˜zL.‹K—è1ôä ¹†±ÕÊjŵbŽ>‡ž¤£XYæ–æ*7¢alÊZ¹N‹Òè3§™˜3ŒDnhY\U\".1çš7Ù5€.™tâZñ¼ŸæÕËëD0çšÓål&Û„c"ª‰kÅÊ 57gml­Iãl&ÛÔÀT\#Îú$‹É`¶UÌMÆÆf²ØFâZqu]µrFR.)o}l­_§õ²gNk¸d¾¤º„bid©I׺Ì@W “Ë–\ö¨äÑÞ©{éé§Å'órx„q}ÇB.<º@ׯ•Õ^Ë»f o0²÷H o1Þm¼L!KËOS.ÜŸº侑2…º‘!õšŒ-°O ùßD¥LR¦2꣥ØÔSÿÌ)ÕuÕè—ÙÂìâªbw[wc¢Y×:;dZЮþ9•Ôf¶žßzñÑÅ­¯mõwòox620ÒÑÌqKÒ–d~²¸Vœ[š»âÔ ¡XEÍÓi"20ÒÉÜiõo«S§ˆjDå’ò£wŽÆ__¼¦5£\MÆiÎ5ßÌÛ|%÷Ju]5ÿ9å©•*3nZŠM=õÏœÂeq7ò6¦¦Kê$÷ ï­úu‹ÉŠõwØt Z@¡ÐÖ´C¡Pè:è:AUU•š öŽŠz>mšê¤Rkde†Þè©/^ÿ"¤oùßžU¼^‘¨ˆËâzw÷ž?tþ°žÃ!wŸÝöÝ4ú’>\9j¥K´ ]2Úeôi¨Fö]ÛÇ{È+¬,450õ°õ˜ç?ox¯á6â2õ?Sé’ÈÀÈ!=†¼yäMºd鈥KG,U%·47æbÌõ'×ëeõ}­û.¾äЭC×ò®B"¼"¶‡nW›6¨æOÊžÐß0ýÅ_Ä\ŒÉx–!WȽì½V®RÞOK“®Asýø£é¶m–wïbtP[œ5¯ŒL ÚR“™VHˆÓäÉ¢%KÊÚ-$€WÍž=Ý~ýÕ„ÇÃÎdÚÒ¬L ³‡Ð®ÜÜjïßçè: €®,+‹ãæV«ë(àoÈ´ ] *¹~[W‡U$ZQ[˸~;l˜D×Àßi@»;V,•êñxFMW€æKJ2’JõÆŒë:ø2-hWvvõAAâƒͱF Í)äàAó  ±]½®c¿!Ó€öYš™É>q¤éªÐ &™™œåËKu¼€L Ú›«kí›oVÆÆZÖ56 IDATVUáW@›©ªÒÛ¹ÓòÍ7+Üݱ¾Á¯9Ð+Êär²r¥\®ëPºújÅ l¡Ò± Ó07—8PxýºáŽ–ºŽ +ˆŽ¶¼zÕð‹/ŠÌ͵õýKÐ2È´@7<=k¶m+þæó={,°: Å ²gÅ¡CæÑÑÅ>>R]‡ªôu¼ºÂªª«õ6l°ÊÍeEGs8H¸š§¦†ñé§6gÏmÙ" S÷õ  +Ó]š1£ò›o /]2œ6ÍáÖ-]‡Йܺe0mšÃ¥K†ß|S8cF¥®ÃÆ!Ó $$ä[ZÊfÎtX¹Ò6/¥ëˆ:º¼<ÖÊ•¶3g:XZÊò°#|Ç…o˜€¶Ôä7L«qþ¼Ñ¶m–OŸ²üü$cÇVûøH{ö¬33“éá¿„ðÊ“ËIE3/u÷®AR’ápœêÖ®-Á^ð:Ѭo˜F¦m©5™!D&#))F§N_¾lXQ @•¹¹|ĈêÉ“EÕL¦®£yU!Óie¦ES(HAëéSýÊJ=…_G­K?ý´†±]×¼Ò …©©¼GzGÇ:~ t­Y™>{ƒAëët3gŠ!¯½†Ïµ´ç´™€¶ ÓÐdZÚ‚L @[ih 2-mA¦ -È´´{Ä@[²µµµµµÕuЖŒI3¿~hÓÐdZÚ‚L @[ih 2-mA¦ -È´´™€¶ ÓÐdZÚ‚L @[ih 2-mA¦ -È´´™€¶ ÓÐdZÚ‚L @[ih 2-mA¦ -úº:–çÏŸWVVÒ/Åb1!äñãÇt‰©©©•••"è„ …B×1@òí·ßΞ=[M…C‡Íš5«½ÂèÜiÀ?TTTX[[×ÕÕ5z–Åb …B33³vŽ  “Âì!´%©TZ__¯ë( U˜Læøñãÿý÷†o%uŠÉdVUUé$6€ŽÀØØXóÊÈ´ -UTTàop0a„ß~û­a¹\.Ÿ0a‚@ hÿ:ŽfeZøì!¨=z´AÃrƒ   v C¦ª8΄ X,–r¡¾¾þk¯½Öh/ƒL 1yòd•Eñõõõ“'OÖU<2-hD@@€Ê MMM‡ ¦«x:)dZÐ&“9yòdz‘Åb…‡‡3™LÝFÐé Ӏƅ……шuuuaaaº 3B¦óññ±³³£Žmll¼½½u@g„L Ç`0ÂÃÃY,‹Åzýõ× †®#è|iÀKQˆuuuøÔ!@Ë`xèpjj·ndfròóY••zr¹®z¥Ù¹BþïÿFê:’Wšž15•÷èQ׿Í!RßYÜi Ó€$#ƒóÝwfçÎI$zööõ={Ö™›Ë üQÑ%‡·Á¼¡ŽÉdŒÜ\ÖÅ‹†……ú\®|üxñûïWxzÖè:.h2-芋õwì°8uÊÄãæÓOKÆŒ©¶³Ã7Uwùù£ !ŽŽø®Ã¡¨HÿüyÃ4}ýuÇÉ“E«W—ÚØà'¥Cc(øÏ"´@Ђo˜þþ{ÓèhKKKÙš5%ãÆ‰µ@“˜h´}»eI óÓOKÞz«R×á¼Zœ5¯Œ1-Ð%™ŒlÝjuø°ÙG•-ZT†Õ'7NXýÅÝ6l°æóÙëÖ=Ƕ²2-Йº:Æ¢Ev7npÿïÿ&4{$ àÇá(–//íׯöãmž>e}ñE‹…ÿ«t8Øåtfýzë[· Ž)@šÐb&T9Rpë–ÁúõÖºŽL tãË/»ýò‹É®]‚ñù)€V8°æÿþOðË/Æ_~i®ëX@2-ÐÌLή]k×>®Öu,]ÁÈ‘Õk×–ìÚe™™ÉÑu,ðøì!´%M>{¨P·ÞrËÉ?àû]ÚÐ[ou¯«cüø#~²´«YŸ=Ę´·S§Lnß6ø÷¿Ÿã@ÛŠŠ*ÉÈ08uÊD×À È´ ½}ù¥yx¸ÈÝ˳ZîÆ.J:¤ëˆ Cpw¯ íßÕZ2-hWéé²ß}·B×tnþþþ|>¿OŸ>Z½‹L&[²d‰§§çüùókkkµz/h+ï¼S‘“ÃNOÇj­Ž™´«ädCGǺ0 Õ üùçŸgÏž•H$ÉÉÉéééTaQQ=––““£ÛÕñ#Ô*OÏGÇúäd#]C¦íê΃¡C¥ºŽ4âææ6~üxƒàà`///]‡š:Tr÷®®£€¿axhW|>+(;;túúú{÷îÕuÐl}ûÖ^¾ÌÕuð7dZЮÊË™––2]GѾþúëèèhúå矞——wüøñÂÂB™LvâÄ —_ýõäÉ“yyyÏŸ?700ppp˜;w®!äôéÓË—/§[X·nÝýû÷¯^½ZVVfkkºlÙ2ƒ#ééé{÷îMKK‹ÅÝ»wŸ9s¦r<999¡¡¡Ê%6lx÷Ýwårùˆ#Š‹‹×¯_?kÖ,Bˆ§§§D"iØ#•.Ì™3çàÁƒôÙøøø &lß¾]¹º£••Ujj*UR\\|àÀK—.Èår‡ààà… vëÖ­ÉG*‰¾ýöÛóçÏçååI$sss7ÞxcÒ¤I„-[¶|ûí·tåÍ›7?~<;;›Á`¸ºº¾ýöÛo¼ñ!D}„B¡pß¾}W¯^}öì™B¡pppèׯ߸qãBBB8œ®³°ÉÂBVV†/Aì(0{íª¶–Ñ5¾šmîܹ|>ŸËý{ä`Ïž=úúú'OžÜ²e UòßÿþwíÚµ!!!‰‰‰7nܘ7o^NNηß~;uêÔòòrBȤI“”[øúë¯gÍšÅãñFŽYPPpàÀ¸¸8úvW¯^1cFrr²\.?|øð/¿ü"?~LWèÛ·ovv¶ õríÚµï¾û.!äÊ•+ÅÅÅ„„„êÔ½{÷œ·oßÎçóÕtA%<Êš5k®\¹B¿\XXøÕW_ݾ}û‡~èׯßòåËþùgõáu.l¶¢¶{¨tÈ´Ú€ÍÂ… ÍÌÌ"""ÌÍÿþŒ½¯¯ï¬Y³ŒŒŒÌÍÍ/^lkkK …<¯a 3fÌ0`€±±ñĉ©åj›6mª¯¯'„L˜0Á×××ÔÔtÅŠúúÿ˜—`2™áááÔ1WÑ9DVVVvv6!$==½  àµ×^Ó¤ ͲfÍ*‰|íµ×z÷îíèèH G={ölÛ¶mê¯ýôÓO ©k‡jbb²hÑ"SSSBHbbâwß}§RáÂ…¶¶¶óæÍ£J¾þúkåÔ³¡¼¼¼GB,--ýýý9Ž……Ň~8hРt@C˜=h£G¦oݺEqvv®®® {úôiuuµòr”––6l¡gÏžÔ‘Ñߟ£Ç ¨A¥š••UQQ‘r#¯¿þúW_}EùóÏ?ŸïîîNjôkЮ¢«•••5ZÍÐÐPåúC‚ §OŸîÝ»÷Š+¨’S§NI$’Ó§OO:U“.4‹P(¤cbb¨M6nÜH•ÔÖÖæççkr­òÒ4º³ÊTª)?FSXš‘‘Q\\ÕÍÜÜÜC‡EFFŽ5êwÞ)((PÛ9€–Ø@`³ÙÊ/óòòþøãêxåÊ•š¬WCùr©ôÅÕÕ|Šóõ×_§Æ–N:åààðÆo›™™UTT<þ|Æ \.7  É.¼ ã%_¢diiI¯X±â£>Ò¤5Šr’§ÜÁššš†TªÑu!j"$„„„„ß¾};--íöíÛ)))2™,55uݺuÊËíÚÆ´Úžò¨=èRQÑÂñèo´}úô)u ‹Ÿ?Þ°ò¤I“X,!¤¤¤äþýûaaal6›þXbBBBxx¸ž^Ëù+¤QKÇfΜ¹~ýz{{{zÐNe¿Ð·ß~›þ¤dVV_Irr2!ÄÆÆÆ××W¥ƒr¹œ S ƒ®öäÉê€Á`Œ1BM„EEE®®®%%%¾¾¾ .üꫯè!7õ ¼Z™@Ûsrr¢=zT"‘|ÿý÷Ïž=kqƒ6l Ö¿Ÿ={öæÍ›•••Ÿþ9•F¨0773f uheeEQž.|ýõ×[!ÄÄĤwïÞÔqFFFnnnff¦¿¿?!dÛ¶mÔò¯ßÿýĉ"‘¨¤¤dçÎü±úf£££ííí©Þ¸q£ªªêË/¿¬¬¬$„Œ7Žú¥²/¿üR <{öŒÞÓaîܹÔ"-5*Š¥K—Þ¿¿¶¶V(Ò‹ÃÆŽÛšg £Ñå-#ªªªÔTpqqÞ³Gª®N§ ²åâÅ‹ŽŽŽÔñÇ·nÝšžžÎd2{öì9uêÔ£GRŸþ#„888|üñÇ*-Ì™3‡ÃáìÛ·O¹pÇŽÔNQéééñññiiiÕÕÕÔ~Z?ýô=Ó§OŸÄÄDê899yþüùä›`Q…cÇŽÍËËóöö>~ü¸&]hxÖÏÏïûï¿§"‰ŽŽ¾ÿ¾T*µ²² ûôÓO©9;jŠ+W®êééYYYùùùÍž=»_¿~M>R‘HtèÐ!j?-©TjffFï§E5þèÑ£ñãÇS•7oÞüÓO?)ï§5mÚ4º©—E˜žž~úôé7näçç‹Åb—‰'¾õÖ[Lf×Ù€êÌã¥KmùüGº¤Ë¢Ç˜5L ÚÒ«“iAûSδ”“ZPLKÛš•iaö@[ih 2-è¶lÙBOB‚‚‚–-[¦Ãx4„ý´ X¿~ýúõëu@³aL @[ih 2-mA¦ -È´´™€¶ ÓÐì§Ð~NŸÎ_¾ü&!„ÍÖËÊš¢ëp@ë0¦]Auµl̘Äyó®ë:FtäØTt¨P;T0mhÒ$G>j@€µ®v‚L º…B!—+är…®iDGŽME‡ µCÐb˜=€®ÀÈHÿÂ…ñM×Ó…Ž›Šj‡  Å0¦ -Ó€NÇ+\´(•:¾2‡Ã¤ŽËËk÷îý3)©°°Pbh¨ïím1¾ëС/ÖÇ”–ÖÄÇgŸ?_(HLLX¾¾VK–ôsw7SióâÅq11÷/_.f2>>QQ^NNFt#‰>ûì~jª°¾^Ñ·¯éâÅnß~ûèÚ5!!$"¢gp°½Jlš·¬&¼—qsûE&S7ÝfeÅIM mÛÇØ¨½{³ãâ²!ƒ[;6Šré’àƒ®BÌÍÙ·nMT¹cbâØ¸¸ׯ ËËk !Û¶ Z»ö¶r0mõŽlß>H}ät‹Š¤lgg“)SzLœèxùr1@JÊø;2/^,b³™¶ÿú——HT·iÓ½ÔÔb##ÖèѶëÖy½ø K‡$“‘þýÍ"#û«º†B)ph3 ªªJMç={¡¡êê´ÌÂ…©II…tŠ J#"R¤RÙ¶m>~~ÖB¡46ö~bâ³­[MŸÞ“R\,ˆH©©‘EGòó³.(oØžž^väÈ å6ÇŽµ_° o¿~f·o—,XÚ·¯iBBUáÉñÔ©¸\掃 ²,(oÙrïÁƒŠªª:啩ĦIËš„§ Í}Œêyzžòð0§2-Jxø…üüj*ÓR¾£ŸŸÕ²eî^^æ99¢éÓSRSC»uc·à¹iøŽ¼ ÕßšùÖ­ÞþþÖ‰ìر¼¸¸¬uë{xæŒñÒ¥¶|þ#m4„gggÍ+cöº¦ØØ¬üüêõ뽂ƒíõ{÷6Ž‹óµ¶6Ø´)ýùóBHlìý‚‚êµk=ƒ‚ì ™®®¦»wû*ŠÓUšš>½§—Ë>Ü&(È6#£¬¬¬öw¹_YYå5b„ ÕH\܉D¦aê[Ö0<­jò1¶• úúû[q¹úvËÎïÖ­¦²öÞª¿QQ^ÁÁöFFúVVœ>r5ÊV¥ZDDÏ̹\fxxWWÓ”Áœ9®îîf††Ì™3{;:¦¤+µùÜÜLcbKšóx C¦]Sbâ3BÈèÑvt ›­`-•Ê._Bx¼B==Fp°=]ÁÚÚÀÕÕ43³¼¨è½¼^Œ!ÙÛs !Áß.]BFzq NŸ>Æ©¦eÍÃÓª&c[8°›æ•µ÷ŽPý üGjõÍ7Ô€ÍÓóE´¶¶„^ÌêÚÙqéx ÉÆÆ woMC‚Îë´  ª­•‹DuSy­ !ÄÊÊ€"J© „oï_^ž—WegÇ¥_š˜¼h„ÍfB¨eµµr±¸žÃa2•/73ci§š–5OYkÖi5ÔäcÔ°Mp¹Ì¦+ý–Þ‘—õ·!cã Âd2¸Ü%zz zsŠ—…diÉÉÍmû9tè€i@Äf뙘°D¢:±¸^ù¯æóçRBˆµµ›­gjʋ볲¦0™ŒßÅÈH_,®¯®–)ÿ-)ií´Z‹ÃËÎoå­UÂPÿ›lAOQW'W.©¬¬kÃU´òyYµµð^˜=€®iÜ¸î„ Šè’ÚZùµkBæÈ‘¶„ñãd2EZZ‰òUû÷çŒù»úa!eÔ45=D ¥m2VÑ&áµ^“Q=å¹N¡PúìYµ6⤵ò¡ú{ñb‘raXXòÖ­÷Ú0¤²²ÚÜ\q‹„ΙtM‘‘ŽŽ†[¶d$'ŠÅõ¹¹U+VÜ ¥QQ^VVª‚““ÑêÕi))‘¨®¼¼öèÑÜøøì5k<5FŠŒìonÎÞ¼9ýÊ•âêjYNNåêÕ·5ìÑ$þÖ‡×&a¨ŒêaS\,=|øquµìéSñæÍ––M_Õº€[õŽPýݺõÞ… Ebq}Q‘dÆt¡P:{v3>k¦>$>_´råM•ÉDè°Ë´%ìò ¼Ó!dÊ”;w!oŒ”Íã=+*’p¹úÞÞÝæÏï;lØ‹ ÊËk÷íËæñžJLMÙfóæ¹nC¹{·lÚ´‹tÍ?t[¹ÒÃÅå]2z´ÝÃ!¹¹U11™×¯ e2âînúñÇ>ÿ<+#£üÞ½°Fc{÷]g [Vž6´ø1ª!Õmß~ïâEAeeÝ€æëÖyFEÝÍÌ,'„,XÐ7$¤»ò£ „ðùS_ŒæÏMý;Ò$åþZXpüü¬–/wïÕ˸á?‰û©S_”DFz bõæ›—è’¥KÝ—.í§µÅ×’%ýâk¾ÅWsa—mkÖ.È´ -ép?­Žcܸ$©Tvé¾I¦£xÕÞdZÚ†ý´Ú‰P(<ø·úúÿeÍÏ?yR¥á´9¼#ÐÑ Óh•ŠŠÚõëïJ$’úôôÒeËn™˜°/î§ë¸^]xG CÁ.-gmmðÝw#ŽyÜ&.nH†º­=(/“RA/QjgM¾#0fèÚi´J@€u@À+:3E/`ïPÔ¿#3fèÂ0{ -È´´™€¶ ÓÐdZÚ‚L @[ih 2-mÁÎ¥9}:ùò›„6[/+kŠ®Ã€ÎcZ™4ɑϟúÊn-ƒL @[<=O͘qI×Q€.!ÓÐdZÚ‚ñÐE”—×îÝûgRRaQ‘Ô‚íìl2eJ‰/_.^´(•ª“’2~ÇŽÌ‹‹Ølf` í¿þå%ÕmÚt/5µØÈˆ5z´íºu^FF/~1>z$úì³û©©B™ŒôïoÙ_Ã`¾þúatt&!$-­ÄÅå!„Édܼ9qРÓt+<>úÈM&S¸¹ýB•L˜ààíݺÐÖÖà‹/†~öÙýôôR¹œ ØmåJÁƒ-éËKKkâã³ÏŸ/$&&,__«%Kú¹»›©‰ÊÍí™L¡¦‚•'55´ÑS<^!ý/^sÿòåb&“áãcååädTYY×dï¦LéÑâ÷¢ýè …ºŸ:€fUUUj*¸¸8ïÙ# UW§„BiDDJM|ëVok‰DvìX^\\Öºuž³g»B.LMJ*?¾û¢EnÎÎ&çÎ=‹Œ¼hËbé-[æÞ³§ñÉ“O£¢îΞí¼nÕæ“'â©S/p¹Ì;dù×_âíÛïå剋‹%~öÐÓ󔇇ù±c£” gϾzõª0))ÄÉɈ.ŒˆHy÷Ý>“'÷ ^†…%çåUõëg¶v­g¿~f|~åš5w=ýç?Ãýü¬!ÅÅTeÑуüü¬ Ä6¤§§—92ÂÇÇ¢Mi£¨Ç8v¬ý‚}ûõ3»}»dÁ‚Ô¾}M‚¨ |píʕ↽{ï=ç°0GåFšõ^調ԙ3ÆK—ÚòùtH—åìì¬yeÌ@W›•Ÿ_ålod¤oeÅùè#·Q£lUªEDô0ÀœËe†‡÷pu5MIÌ™ãêînfhÈœ9³·££aJJ±R›÷++뢢¼FŒ°14dº¹™ÆÄ ..–´2Ô9s\årÅÁƒé’´´’gϪCC•«I$²M›¼}|,¸\¦§g·;‡ÔÕÉ7oΠc+(¨^»Ö3(ÈÎÐéêjº{·¯B¡Ø¸1½•áibúôžT`ÇÛÙfd”••ÕR§æÎm¤w44ÔA¥‘æ¾:ì/@k Ó€® 1ñ!$0ð©Õ7ßPZ4OÏnô±­­!dÀ€ÓOvv\àE"ué’€2j”]bccл·q+C1ÂÆÍÍ4!á¯òò¿³“¾÷ž³¾>C¹—ËTžss3µ±1x𠢸XJáñ õôÁÁötkkWWÓÌÌò¢¢Öæ‚Mòòz1ŒdoÏ%„ÐÏ- ÀÚÃÃL¥w³g»0™ •Fšõ^è¶¿­uZÐéÕÖÊE¢:‡©¼¬§QÆÆ/*0„Édp¹/Jôôr¹‚nS,®çp˜††Lå,-9¹¹­úœ5ËyÍš;GŽ<^¼¸_nnÕõëÂ;©Ô15e©”XZrŠ‹¥%%5ææl‘¨ŽâíýkÃÆóòªìì¸Þ·5ë´”™˜¼xhl6“¢¼eÎ×U«nѽ»y³dçÎ! iÖ{ѲþtÈ´ Óc³õLLX"QX\ßd²¥y›FFúbq}uµL9Ù¢‡j4ÁPÇùÛ”)N;wf>üxþü¾>|ýu'33¶Jòò:…â-””ÔB,-9l¶ž©)K,®ÏÊšÒp¬HììpÍ+·Ø¤Iޱ±÷éÞ͘ѫ•oJ‹û Ð`öº‚qãºB.^,R. KÞºõ^‹Û¤æ"©9DJYYmn®Xó¸\ýº:9uÂûá‡<ê˜ÍÖ{ûí>%%5òOžükÖ,—†×ÖÔÈ22Jé—ÙÙ•ÅÅRww3BÈøñ2™"-­Dù’ýûsFŽü]ý¨U;`2³f¹P½;}:ÿý÷›±vøe:rÔC¦]Ad¤‡££áÖ­÷.\(‹ë‹Š$6¤ …ÒÙ³[þg>2²¿¹9{óæô+WŠ««e|¾håÊ›*“‰êõïož›[UX(¹s§ôéS±¯ï‹=Þy§s×®ûÇÛôìiÔðZÖÎYwî”J$²{÷ÊV­ºÅbéEEyÑýur2Z½:-%E Õ•—×=šŸ½fgGõyóÍ^&&¬]»î‡„t§Ö`µRï/€ØåÚ’®vy ï§•Íã=+*ŠU IDAT’XXpüü¬–/wïÕËøîݲiÓ.ÒÕ>üÐ-$Ä~êÔ%‘‘C†X½ù拯ÍYºÔ}éÒ~„Üܪ˜˜Ìë×…õõо}M—,éwèÿÚ5!!$"¢çöíª‹«T<~,Z·înff™¹9{áB··ßî­|vݺ;ÇŽå=:J9£„…%—–Ö|÷݈-[2nß.•É^^ÝV­úÇ~ZååµûöeóxÏ %¦¦l³yó\‡·iæcÓTÃǸr¥µUeôh»†Ñ/wìȽ§š sçºÎëÚŠ  cÁì!€¶ ÓÐdZÚ‚L @[ih 2-mA¦ -È´´™üÃéÓù..'\\NxxœlŸ;^¼X4v,ÏÍí—ö¹@{B¦ÿ0i’#Ÿ?5 Àºîõô©xþüë±±YÏŸKÛáví™@ÇâéyjÆŒKºŽ¢ÄÅe dqòäh##|;tMø— :³}û ¦®£Ð"Œi€Î Í‚.cZÐéñx…‹¥RÇ/Ž‹‰¹ùr1“Éðñ±ˆŠòrr2¢k–—×îÝûgRRaa¡ÄÐPßÛÛbþ|סC­5i¤²²nРÓtS+Vx|ô‘›L¦ ×qO˜àïG)-­‰Ï>¾P ˜˜°|}­–,éçînÖ0Œ¢"©…ÛÙÙdÊ”':9ò8::“’–Vââr‚Âd2²³Ã›|bâØ¸¸ׯ ËËk !7oNìÖÝdH‰>ûì~jªP&#ýû›EFö×äÉ»¹ý"“)ÔT°²â¤¦†jÒ@WÅP(Ôý4‹@ ¨ªªRSÁÅÅyÏAh¨º:-³pajRRáØ±ö ôí×Ïìöí’ Rûö5MH¢*…Òˆˆ©T¶m›ŸŸµP(½Ÿ˜ølëÖAÓ§÷Ô°‘>¸våJqRRˆr‘òÞ{ÎaaŽ„âbiDDJM,:zŸŸuAxÆôôô²#GFøøXÐaÔÔÈ·nõö÷·–HdÇŽåÅÅe­[ç9{¶ !ÄÓ󔇇ù±c£”{§yð~~VË–¹{y™ç䈦OOIM ­«“«éÉñÔ©¸\掃 ²üë/ñöí÷òòÄÅÅ’¬¬)mþN5jøð³ÏŸ×Ði%´Æ™3ÆK—ÚòùtH—åìì¬yeÌ@—2}zO .—9|¸MPmFFYYY-u*66+?¿zýz¯à`{ccýÞ½ãâ|­­ 6mJþ¼FÃFæÎu•Ë>¤+§¥•ÒÐP‡ÿÝå~AAõÚµžAAv††LWWÓÝ»} ÅÆéÊaDEyÛé[Yq>úÈmÔ([õýÒ<ø úúû[q¹úvËÎïÖ­AH÷++뢢¼FŒ°14dº¹™ÆÄ ..–´ð=%È´ Kñò² íí¹„àïŒ!1ñ!dôh;º›­`-•Ê._hØH@€µ‡‡YBÂ_ÔÜ!äÀ‡³g»0™ ê%W¨§Ç¶§[°¶6pu5ÍÌ,/*’Ðaþ#µúæ›j@ëe4~àÀn*×6Ò¥KBȨQ/·±1èÝÛXM< !¬Ó€.ÅÄäů56›I¡–HÔÖÊE¢:‡©²›€••!D(”jÒeÎ×U«n9òxñâ~¹¹U7o–ìÜ9„:EÝ…âíýkÃØòòª,,8†¡^³‚çr™ ¯U’X\Ïá0 ÿq¡¥%'7·‰I^¬Óh2-x%°Ùz&&,‘¨N,®WÎW¨ 3­­ 4ojÒ$ÇØØû‡?ž?¿ïÁƒgÌèE7Èf뙚²Äâú¬¬)ô(—ŠFÃPÆhp]k‚×$$##}±¸¾ºZ¦œlуvj`Y@“0{¯ŠqãºB.\(¢Kjkå×® ˜#G6±LêÿÙ»ï¸&¯ýà'ÂéÀˆl. *ïÔ­^´néuRµ¢ b¹Zj몭ÅZûk­m-Zƒ(N((C fd&!!düþxÚ£ 1?ïWÿHÎsžs¾Ï¡/øzÎɉ2:öÑGµµ-ûöqŽ{0sæc{cßz«·T*ÏʪU.ܵ«hÔ¨ÔôÆ™3UÊBBÒ7mºE½f±t[[eÔëà`ö?–=gðÏ ‰ZʤÖ)õõâÒRÁ3‡ž ™¼.¢£]úô1ˆ½™ž^)HJKùK—^årE11ÌN55mZcc½Ï?Ï îemýØ”Rt´‹áŠYÕ<^kCƒøÐ¡ÒääÂU«Ü©)%*ŒM›n>]%Hªª„ëÖåp¹¢Y³þÎØ\]MKKù••Â7êîÝøúö|Îà;’«©)cãÆœóçkš›¥oÙ²«*‹‰Ð58库FNyÈήŸ2åŒâíüùNË–¹PçQQƳٳg8ùûHªB6»¢ªJÈbéb1høpËN5BÙ²%wÏžâcÇ~t*¥¡A¼sg!›]QY)41a¸¸ô˜;×qäH+å Š0ÌÍ™~~K–8÷ïÿ÷ô;wxkÖdçæÖ›š2¢¢œÞÀ“wµûøñŠ/¾ð:´'Ÿ/Ù»·82òÒÁƒ£üý-æÌqœ3ÇÑÝýwÓÇG+‡Ú~0í}À›oöjç–gccÃjëAº¦#=váA°O  ãi€6c0tLLôI~þ¤¶¶xê ’æf©r²U[ÛÒ~Ë4 íÚW"‘gfr÷î-ž?ÿòêÕî³g;(*t!˜îÕ‘Ÿù OÂ>-€ŽÃê!h¹·Þê-•ʳ²j• wí*5ê513fŒ5ùg ‘ÂåŠJKùí7ëåu¬¤„GÑÕ¥X}ýõ0œ>]¥¨Àb鶶ʨ×ÁÁì,ëH0Ýî™=>óAày Ó-íbgg¸bEVFF5×ÚÐ >t¨49¹pÕ*wjš':ÚÕÔ”±qcÎùó5ÍÍÒ¢¢¦+®[Zê?³å˜˜ìÛ·ÅbYmmËîÝEr9>ÜRqÕÕÕ´´”_Y)¼q£îÞ=¯oÏŽóâÿ™σ&—«å_Qðzª®®æóÛ› rp°ß±£züøgÌuJvvý”)g”K8œÉÊoÄ;w²Ù••B†‹K¹sGŽ´RT(-å'$ä^ºÄ•J‰³³É'Ÿ¸ýïù7o6ܺB?æŠ2iRßmÛ†4þðCé•++*„L¦Nÿþ†ááÂÂú) ïÜá­Y“›[ojʈŠrzÿýÏ ¦yj ³f]8w®FQd«|ÅüùNË–¹<óñŸù êž^‘©R¸y³wxx?5öúÚHM5Z´ÈšÃ)Ñt ZËÞ޾㕑i@wÒH¦¥o¾™&IÏžÕü7ðt2-uëT¦…ÕCxÝq¹"Ÿ?©/º¡$¤Ï·ßrø|ÉSƒwr2IHð©©v*x¡PúÙgC¨øÝÝͶmÚÚ*Û¸ñæ?]ä?xмv­G` ­‘‘î€FII¾––úŸ}–óðaK§:‚—†ÑG}têÔ©eË–?~<000!!A h:ª×2-ÐcÆØ\¿^·fÍììzj¹ŠÍ¦&´!gÏVBF¶QÔ77ghôÔ¦Úâáñh ÆÚZŸR]­šîxzš©”°Ù•::´ÀÀGçDXZê;:šäæ6TU !¶ŽR¾ÅÙ¹‡D"/.nj+x++}å<²#X,ºò¡ NN&VVú55"BÈÉ“„qãuÁ`èŒa)IÏ«îTGðRa±X³fÍ:}úô'Ÿ|òÓO?ÿþûïš굃ÕCÐë×{zy™9r÷ÃÏB†5Ÿ>}À›oö"„ˆÅ2@ÂdÒ Û[Ý£‡^§º06~ô “ÚD%b‹õXb±ŒÇk%„ òÇ“ –•ñmlX<^ë¾}œ“'+ªª„MM­Š«Ô”[[Á÷ìÉ,-åwvìXll,_dZ  h4Ú74´¯D"ÏÌäîÝ[<þåÕ«ÝgÏv`0t uIs³T9_©­U]£ÑH÷b0tLLôI~þ$ÅÞ|™W¯>Œ‰ñ écfƤÑÈþýœM›nÉårª…§Oí¸ï¸††V¹ü±¤¿gO&ƒ¡cl¬Çãµ åd‹:)ÔÒR¿S©À>­—‡©©éÆß}÷Ý+VŒ?>!!!00PÓA½°zÚÀËëXI ¢«K °úúëa49}ºŠº:fŒ5ùgŽÂ办œb±t[[eÔëà`ö?–=`o½Õ[*•geÕ*îÚU4jÔ ©TN]²´ÔŸ9ÓÞÜœIeB--2åÊO__/.-í܆›–éÍ›uŠ·……M55"gçVVú„jòO1\„±Xvñ"W_Ÿ>j”u§:‚—œ¯¯ïŸþ™ •¾ß1¥Ýi€–ˆ‰É¾}»Q,–ÕÖ¶ìÞ]$—“áÃÿ>¤ :ÚÕÔ”±qcÎùó5ÍÍÒ¢¢¦+®?9[ãêjZZʯ¬Þ¸QwïžÀ×·çtZt´‹áŠYÕ<^kCƒøÐ¡ÒääÂU«ÜétNó÷·àrE{ö×׋E"if&÷‡Joá±à9Þ²eWUŸÉØXoÛ¶ü7ê„Bé­[õË—_ÓÓÓ‰‰ñPÙ§AlìÍôôJ@RZÊ_ºô*—+Љñ°°`>ÿ ÀK…ÅbÅÅÅÅÇÇ8p **ª¹¹CŸc….£ÉŸÜhÐUÕÕÕ|~{û‡ìwì¨?¾{Œ:¢  ñ‡J¯\yXQ!d2uú÷7 ÖO±^VZÊOHȽt‰+•gg“O>qûâ‹‚k×j§<BîÜá­Y“›[ojʈŠrzÿýÙÙõS¦œQT˜?ßiÙ2êÀ-ʸq6Ôt,Z™BȧŸ~j``¯é@´ 2- „‹óÛo¿]»vMÓ±hdZð·àààaÆ%%%i:íL Y¼xñåË—¯\¹¢é@´2-xdèС¾¾¾Ðt Z™úHÓ±tÔ™3gbccïß¿_XXØV‚‚‚”””+W®TUUB¬­­ûôé3lذѣG;;;Óh4u†9-€6Ûr8“ƒ‚l5È#'öáp&aùÂzœ3ǑÙììÜ£-–“S–ah¨û×_Ao÷íkøÞ{çΟ×þeµÀÀÀ+W®477·_­¹¹ù7Þ˜;wê©îÝ»‘˜˜ØÎ™«2™,!!!44”Á`ìØ±ãêÕ«.\øüóÏmmmß}÷ÝÜÜ\5…‡L àoîî¿OzVÓQÀKD&“¯\yÝÄDoËo++}33ÆgŸ é×ÏhÕªëb±LÓÑ©—¯¯¯D"yfþ!—Ëe2™L¦ÉÑHJJòööþí·ß Û©³{÷îuëÖ­[·ÎÙÙY__ßÄÄÄÃÃ#...22R­á!Óxº«Wk‹‹›Þ~»·¾þß Çt:mâÄÞ••ÂôôJÍÆ¦n¶¶¶VVV999íW344<}úô¾}û^LTOE§·¹¸_RR²k×.77·÷Þ{ïÉ«‘‘‘L&S}á!ÓxºK—¸„wwSåBww3BÈ¥KÚÿ倃...ÖtϦ¯¯ß~…üQ&“½óÎÓ÷š˜˜äåå¹»»«!4B°#´ƒX,Û¹³05µ¼¢¢™É¤ûøôœ:µÿرÖtúß[\KJx[·æefr%ù A& 8}ûmÉÅ‹\BHXX?{{cj‹wVV­ƒÃ¯„:VXªÜ—+JHÈ;w®†N§yy™ÇÄxØÙ’ÇwÍŸ<””Tpé·¡AL¹zu‚™£®®%9¹ðÔ©Êêj¡±±ž¯¯ÅÂ…ƒ›œ¤Rù‰å?ýt·°°‘Ç“ôëgÞÆŒ::6ç*‚—J‰«kèh׋òÖõ¯¾¶uk^NNLF<=Í–-sQÞÖÝÐ þòËÛii•••BÝ!CÌ#"‡ ë¶Ý`Šö«ªDææ {{ãI“úN˜Ð'%åÎ3#üòˤ¤|BˆOÏÇGBΞ­ž=û"!ÄÔ”qíÚ„vúur:*•ÊÛ©`aÁÌÌßÖÕ’!ÄÆ†¥\H½--åuøé_U}úô¹sçŽX,Þ¹sgjjjEE“Éôññ™:uêØ±cét:›Íž7oU9//šòòòâñT‡F£;wÎÆÆ†RWW—œœ|êÔ©êêjccc__ß… :;;+*;99I¥Òv³°°ÈÌÌìøƒP§°*wñ"!Óm°~}öñã_|á7thO>_²woqd䥃Gùû[BîÞ„…e°Xôädoïžå储Ø[·o7)|oÎGw÷ß]\L©¿åOн9hËŸììºyó2—,¹zäÈXòÏ®ù¨¨Ì´´Êµk³/vNHð.*â…‡gBjjDaa--Òøxo??ËòrÁºu9S¦d¤¤xy™B22ª/¾íºc‡¯LFþøã~lì­ª*áÊ•nT¿*Áß¿/ˆ‹»uïÞ3ö)+jÎÇô²2þÆ7W¯v<¸‡Ó´jÕ>8ÿÝw#ýü,!\®(,,C$’nÞìåçgÉåŠó>üðü¦MÞááýžóG£h¿¥E¶iÓK¡PzøpيכšZ;áÇ;}ü±“»ûïŠG¶æp&‡†ž~ðàã ’.w×J10xìo%õ¶±±õyZ~%ôêÕëܹsëׯ?~üø_|1tèP>Ÿ¿wïÞÈÈßdj£ IDATȃúûûs8œ¨¨¨´´4åoÞ¼i``@½NNNþßÿþ·|ùr*ͪ©© kii‰÷óó+//_·nÝ”)SRRR¼¼¼¨[Úùð`×p¹\BHšù V@\¼Èut4°Ò×§[X0W®t0ÀHq511¯©©5&Æ# ÀÊÀ€îèh’”4T(lïÍO ïçåeÎbч· ´½y³¾¾^¬R'2r¿¿‹¥ëéiVXjfÆHLÌ+/o^½Ú}ìXªëíÛ}årù† ¶¿øû[DE êуafƘ1Ã>$¤Ï·ßrø|ÉSƒwr2IHð©©v*x¡PúÙgC¨øÝÝͶmÚÚ*Û¸ñæ?]ä?xмv­G` ­‘‘î€FII¾––úŸ}–óðaK§:z*ªý˜À@[CC] æÇ;mÝñ_*r¹œ¢ž^.ÆÆÆ|>ÿâÅ‹ŽŽŽúúú+W®0`@[HMMݾ}û¿ÿý﨨(ª$11±¼¼|õêÕcÇŽ500pttܾ}»\.ß°aƒÚžãïÙ“BBBþ¡ˆ°Û!Óm0fŒÍõëukÖÜÈή§V‹Øì`jB‹röl5!dôhE}ssæÀFOmª-æŠ×ÖÖú„êjÕtÇÓÓL¥„Í®ÔÑ¡>:'ÂÒRßÑÑ$7·¡ªJH ´=xp”ò-ÎÎ=$yqqS[Á[Yé+ç‘ÁbÑ•epr2±²Ò/(h¬©BNž¬ „Œ÷¨ CgÄK‘Hzî\u§:z*ªý1cK­¾ùfĬYŒPSŒõ!ÍÍåB*G71ÑÓLL/‹Å …cÆŒ¹~ýúš5k²³³©E=6›íïïßÖ]7nÜ &´rrr>ùä__ߨØXÅU6›­££¨(±´´tttÌÍͥθRkkkBH}}½JùüÁáp~ýõW5õKÁê!hƒõë=½¼Ì¹ûá‡ç !C‡šOŸ>àÍ7{BÄb™@ a2é}4©GÎý¥46~ô “ÚDõä¿“Y¬Çº‹eÔòÓ!<Ù`Y߯†ÅãµîÛÇ9y²¢ªJØÔôhAŠúsÞVð={2KKùþÉ´ gOfM¨¶¶ÅÔ”Áãµ2™tCÃÇþ"XXèB¸ÜçMt¨Ax²ýŽGheõŒýÎíxÎ}ZööÆ„*'V Þ`Üå¨^zzz­­­ëׯ÷òò:räȇ~H:tèôéÓß|óÍöï­¨¨ˆŒŒ´µµÝ¹s§žÞß?\±XLmá2dÈ“·”••Q+ŒÝ¾OË××7777//oìØ±¿«» Óm@£‘Ðо¡¡}%yf&wïÞâùó/¯^í>{¶ƒ¡ch¨+Hš›¥ÊùJm­êºX·¯1:&&z$?’bo¾ŠˆˆÌ«WÆÄx„„ô13cÒhdÿ~ΦM·¨õ޶‚§vÜw\CC«\þØRß³'“ÁÐ16ÖãñZ‰r2ôð¡ˆbiÙõ,‡ÒVûz«£Ckm}ìÐ&åÄ´-ϹOkØ0‹äd’›Û0y²¢07·2|¸Åó´üJàóùFFF4-44444T"‘dffîÝ»wþüù«W¯ž={v[7 ‚¹sçJ$’={ö˜š>úä&ƒÁ011ùùùíÊÐíû´¦M›öÝwß;vlþüùj:¾X=màåuŒú˜˜®.- Àê믇Ñhäôé¿#¨u+jŽÂ办œb±t˃ƒÙ?þXöü½õVo©Tž•U«\¸kWѨQ'¤R9uÉÒRæL{ss&õ' ¥å±|âÉàëëÅ¥¥‚N…ÑÒ"½y³Nñ¶°°©¦Fäì܃š.¢&ÿÃE‹e/rõõé£FY?ÙZgQíŸ9óØÚPHHú¦M·:!!ÄÊJ_yn‰ËUTtècÏÃÏÏÂÁÁøøñò––¿§X¤Rù±clmYÊ‹­ÚŠÊ´¼¼¼JJJ!ººº_ý5F;}út[wI¥ÒÅ‹—””|ùå—Š] ,`³Ù„·ÞzK*•fee)ß²k×®Q£Fµ?õ<ìíí###‹‹‹wïÞýäUu»ŠL ´DLLöíÛb±¬¶¶e÷î"¹œ þ÷!ÑÑ®¦¦ŒsΟ¯in–5­XqýÉÙWWÓÒR~e¥ðƺ{÷¾¾ÝðÝvÑÑ.vv†+VdedTóx­ âC‡J““ W­r§Óit:Íßß‚ËíÙS\_/‰¤™™Ü~(}¼…Ç‚çpxË–]UYL|&cc½mÛòoܨ ¥·nÕ/_~MOO'&ÆCdŸ>±±7ÓÓ+Ii)éÒ«\®(&ÆÃ¢Nt¤Úß´éÖéÓU¤ªJ¸n]—+š5˾ƒB¬jjDß§¹Yzïž`ãÆ›Šé.õÑÑ¡ÅÇû46¶®XqË54ˆ×¯Ï)+ãoÞìý2| ¦ºQ™!$&&æöíÛb±¸¶¶v÷îÝr¹|øðámݵiÓ¦3gÎlÚ´é©{¹¢££íììV¬X‘‘‘Áãñ:”œœ¼jÕªvf¹žßÒ¥KçΛ˜˜¸jÕªÜÜ\¡P(‰ ¿úê«ÈÈH:®¾ó´hmmÈè‚êêj>¿½ýCö;vT߉=FQPÐøÃ¥W®<¬¨2™:ýû†‡ ë§X((-å'$ä^ºÄ•J‰³³É'Ÿ¸}ñEÁµkµÊ_Ò|çoÍšìÜÜzSSFT”ÓûïÈήŸ2匢ÂüùNË–¹PnQƳùøãÁÊu!Îdå· â; ÙìŠÊJ¡‰ ÃÅ¥ÇܹŽ#GZQWëëÅŸžæL—+25eŒcci©ÿõ×…„77Ó£GÇ)O¶páàýû9ŠÃÀââ¼Ûœôºº–bco^¿^'•Ê=<Ì–/ò<­B6»¢ªJÈbéb1ˆJU‡r)ÁÄDO¥dÙ2—öcPnßÜœéçg±d‰sÿþFÇk‹»uæLuSS«››éš5î11ÙÔB^dä O>éèc]Ÿß¸m[^VV­L&÷ô4_²äeÿ†éÔT£E‹¬9œ’çlgùòå ÑÑÑ?üðÕ+W¨ó´ú÷ïF£Ñ”ÏÓ"„Lš4iÖ¬Y¡¡O_±ýꫯ‚ƒƒ ! ;wîd³Ù•••&&&...sçÎ9rd—ãLOOˆˆP)ܼysxx¸Ja^^^JJÊåË—kjj¤R©©©©ƒƒÃðáÃß}÷Ý>}út¼G{{ûgWú2-èNšÊ´º`ÆŒó*™–¶¢ò˜ ž~@öËàåðÕÒ]™VHHȨQ£þûßÿvKTÚ¤S™V@•T*½sçΠAƒ4È+™¨***jiiqrrÒt ¯<œò¯cÇ,Yr•zíàðkG¶:½Ì”÷©`±èŠ£ð~íȆªnaÑ"çE‹·uUy˜Z#„ÎJOO·²²<¸ÍŸt2-xíLœØgâÄNì~}É©lÀµb ¾÷°{ƒn‘žžøâOŸÒ>X=€ÇTWWߺukܸqšD Ó€ÇüðÃfff£FzvUxdZðˆX,>|øðûï¿Ï`04‹6@¦=z´±±qÚ´išDK Ó€¿ñùü¤¤¤©S§ZYYi:-L þöå—_ŠÅâ%K–h:íL !äöíÛß~ûíÒ¥KMMM5‹öÀyZðÊÛ{yoüéxBˆµ‘õ…4Î#¢Æ? þL½ZP] ’ˆlŒm<{yÎõ›ëlí¬\mjÊÔ¬Y*÷~4ô£µAk•K$2É÷YßÍ=ZZWª¯§ïfãö÷ãìÇQ'¹os¶ •WŽ[9Ç!äÍ=oÞ©½Cúôñ9üÁau<)h¡P¸xñb//¯éÓ§k:­‚9-xåÍñŸÃYÉQI_^ñéñNnr :1çĵÅ×âÇÇçWç‡~Ê.bw¶)a«ðƒ>øåÖ/kƒÖ^Y|åèGG ô "~Ž(~XLU¸µüÖ³ÿ „9qVr¨4‹’2=ÅÙÊùßîÿ.\Qˆ4 Ú±nݺººº¤¤$:®éX´ æ´Ô(Ì3죡Q¯}ûú&…$…ìÙrzKð `åj¿ÎüÕÝÖ½vâOÇßæÞN‹H³0´ „ô2éµuâÖtNzû½—Ô–üç§ÿLr´tôÒçz Ð"7nÜ0`€ÊúàîÝ»=ºk×.kkkM¦­i¨KÜø8•gkg}]ý{ ÷äryÇ¿çä¡àáÙ?N2J³(,=Vþ'ùíÜ•õ kþ‘ùKG/6ׇ¿=xð`Μ9'Nܰaƒ¢ðèÑ£[·n]½z5…W¬¼8ÂV¡H"d9¨S_'wŠsJ*“úôöéø-þùKdÜø8¤Y ÀãñfÍšÅãñ:TPP@¦¦¦®X±bþüù³fÍÒlxÚ sZ UJjKâÒã®=¸&‘J<{y.½Ì§Ïß ŠX*ÞyqgêíÔŠÆ ¦.Ó§ÏÔ!SÇK×isWŠS‚“T&m§; C‹Ì…™/õv*!dþˆù*åGóŽ®>±º¬®Œ®Cl9ø=¯÷Þu}Wq5¯*ÒƒÕcó©Í©·S ZY9- XdÊzÊgľÏúþË‹_î ÛçÙ˳ã±v“J¥K–,¹ÿ¾L&ÓÕÕ]³fÍ/¿ü’’’²qãÆ™3g.]ŠõeuA¦Ú£¹µyÝÉuKG-u¶v.yX²êøª}ðÝ´ïüúúBÖŸ\üöñ/B¿Úw(¿…¿÷ÊÞÈŸ#¾wÐßο­ ÿ[Øá=<Üzfk¸gøøÁãU.5ŠãÇÇ4XÙT¹óÒÎe,Ë®Èþ4øSêj ¿†²2uåˆ~#½¨‡~SœSŸþõé¹ÒsGf1f+7u±ìbZqÚüþƒ4 ”mܸñܹs2™Œ"‘HnݺµxñâãÇGGGGFFj::m†ÕCм^ô˜hŸ>>zî¶îÛB¶µJ[7¦m¤®^,»èhá0 @_WßÂÐb帕̼°Ø„ ³Ïò·óßøÖF•K‡?8œ81ÑÕÚ•¥ÇØs`âÄDÏ^ž²äTæPZ$-„&™01¡¯i_}“Én“ç ŸWZWºïÊ>•ÖlLlŒ˜Fû®ìÛ{yï x.x%üôÓO)))Tš¥pöìÙ 6 ÍR7dZ =˜ºLOÛG9N–NVFVÕÔœÐû1×˯¯9¾&»"›ZdG°Û™ÐêFÂVáG‡?r´tü<äóv+Þvz›rªøõÖ€a@Ù$öèÞ@‡@BȹÒs*÷4¸?|¿!Ã0þtü7W¿é®G€W×ùóç×®]«R(—ËE"ѽ{÷4Òk«‡ =LõMUvš÷4èYï©ÔZY­^ïÕËëHî‘}HÚgèt¯éoz³»eŸ–T.]ðëk#ë­·*§Jí°2²"„Ô j©·½MzBÌ Ì”ëô4è©\G™Wo¯o¿™uxÖæS›i„6Ë;__%%%óç«î ¤H$’ýû÷‡……ÙÛÛ¿à¨^+È´@{ðZx*%µÍµ„ž†= !4-Ô-4Ô-T"“dÞÍÜ{eïü#óW¿±z¶ïì¶ì–}ZkO¬KÅ_ýû+Ešøuàçï~>¤×¶n©æU+Â&„ í;ô›«ßP3s Ô£)Ÿû Ì§Ï¾ð}³š½éÔ&º}†ÏŒçxåÔ××Ïš5K,«¬*Ðh´uëÖ¥¤¤¼àÀ^+X=íÑÜÚ\P] x[È-¬á×8[;SSD^I^%µ%„]Ý€_ÿûkvšsZ­!í8¿£¨¦h×”] :ã©~ÊùiÒþIÊ%r¹œúˆâŽoP%cíÇZYŸ½s–Ú°E¡Ž-U9U™o_ß}áûXz¬ÏØŸ¥\ÇŸÒ×NkkkdddMMD"yj:.—Ë333ÿúë¯ÛksZ =Xz¬ ì «ÞX5Èbç!gÕñUzt½˜ E…˜1Ÿ:°ç@^ ïàõƒr¹|x¿áê‹ç—[¿ì8¿ƒâ±Í£jyÕyëþZ7Ûo¶±Mycù—¿Ì­Êá3C±çŒAgÄ›ûsÿ¶xeàJs–y:'ý«K_yÚzÎ:³–ýúú홲gÎÿÍYr=F{ßëýn|:xÉ­_¿>''G*}´üM§ÓuttZ[[ !æææžžžîîînnn>>8ª :‹&—Ë5hêêj>ŸßNû;ªÇo¯Ng)ÃôWÿþ*áLÂÍŠ›2¹ÌÃÖcù˜åŠó´ ª ~Èþáʽ+ML]f³þážáaa:D´Sæþ<·­9³ŸgüL­Š¥âtNúïy¿ß®¹]Å«bê2]¬]¦ ™â¢rËò;ÎïÈ®ÈIDv¦vœ'D ‹Ð×Õ§®¶õ Ó„‹e#~ŽID„¥£—~<âãnRx©¤¦-Zô!+h4N—H$4­OŸ>ÞÞÞnnnnnn®®®šóÖ©mÈ´ ;i$Óeññçöîkg×ËËË ©•:t*ÓÂê!€V13ëCH]zzͳ«‚úaG<€VéÛ×ãg׃™€º ÓPdZê‚L @]i¨ 2-uA¦ .È´Ô™€º ÓPdZ =JjK]4ì‹aN Nññ^I^Ô¥½—÷R%#“Gj6ÈWµ×â.ß»¬R~¬à5Œ.[]^d¿Ï© ¦`ÎÿÍñJòòØæ1ãÇY²ºÜÔ™’3A»‚œœº1<ÐnÈ´@Ki»\.ßÀÞ R3Ü3Ü«·K5²ÿȱöcoVÞ¬Ö+®úÛùG ê¡ßÃŒeFeß^ý–ßÂWi$Ì#ÌÍÆ¥Ç u u´p̸“ñ¿ÿ8[9èL÷šÞ§GŸŒ;]ˆ­{¥sÒåDþ†ãŠ0šDM1Á1 ô œ,&$Ôðk”oyf¨süæÈä²}—÷)nÉzUÍ«ï<¾­~Úy•Ø-“ÞM¶ ŸùŒr"'„Ðh´Ž÷ÐeÈ´àõÅ.bëÐt%–F–Ž޹U¹U¼*åš¶Š×¶&¶„j^5õ6Ð!ðà{•+;[9Kd’â‡Å*Ý)ï²6¶&„¸Ù¸)JlŒmmv*¶îÅ.b»Û¸[YQoÏÞ9KQÞ;eed5À|€Ê-í‡:¢ÿk—#¹G„ T…=—÷Ìò¥¼»\¥_…vFþÉØÌ ÌšT¾Ý˜iLi7+RÙ˜‰¾IÇûè2¬ÀkJ,SKKC’†-a«ðbÙÅù#æ+ˆL]¦bÏ¥§aOj“SÇCýß–ÿ±<åzÊ‚‘ JëJ¯Þ¿º-d[[ý*kkäÛŠ­«‡ò[ûžö„•Ü´ª©Š¢’/¶ÓÀó@¦¯)a¢o"häÿ7ÿy>ºñsÄÕûWc‚bB\BÌXf4mÿÕý›Nmzž?Ò]Ží9÷i](» ’ˆç,0è C†¡@,hnmVNhSSu¢ËÄÄŒÄï³¾±ïʾ©C¦*ïýWé·#ÚŠ­VP«\m˜Ý°ä ɹU¹“Ý&+ s«r !Ãû ïxw]†ÕCx}½åô–T.Uùn–]™»Fí%•·73¤ •I³dYYÎ:ÓÜÀœÚúÓ"iybë‚´â´¾¦}YR”Œ8†ü³NG©Ö+&´:*FÿhèGµÍµû®ì;VplæÐ™í÷ÛOÆÆåsUbó³ós°p8~û¸â‡"•I³5±g?®SÝt 2-x}E‰¶3µ[ñ犌;¼^ƒ°áÐCÉ’W®êàL]‡îoçÏås÷\ÞS/¬ID™w3¸ñÃË[gÉä²tNºÊÄRôØhS–éFöÆó¥ç›[›99Ë~_¦²`×ÁP§ ™fÌ4þüìçÁŽÁÖFÖí÷Û*±q‹V¤®°4²T®£CÓ‰ß(j\ñç .ŸÛ lXÏ^_VW¶ù͊Ϩ¨M.Ç"4t›êêj>_õ3wÊìwì¨?¾½:¥|$!d’ë¤m!Ûfžu®ôœ¢0È1(­8MñvþˆùËF/#„4v^ÜÉ.fW6Ušè›¸X»ÌõŸ;²ÿHBHvEö”STnqˆwP”Œs·gÊžzaýçg??Sr†Ëçš²LÇ cidùõ¥¯ !n6nëß\¯ÒH°cðäï­dE‰Úwè´”iŠ’E‹,j?6uÈz55eêÁ÷úÛù+——Ö•&œI¸t÷ufÕ‘ ÷_Û¯|fUÇCÝrzËžË{ŽÍ>¦|”ÿ“ývpä•c“ʤÎVΟŒýäçþw³òæ­å·”ûͯÎß–±-«W, Ħ.Ó@Ï@¹BOÞ¥u¥ÊB†$ y²‹²º2cêµ ÓDåjOƒž5üšZA­•‘Õ3£5f+^ëÐt!rÒÞ¾ìÓx… Ó-Ä 3Œ™Æ¼ž@,PN¶¨uCK#KaÈ0ˆÍ­ÍÊÉVƒ°A¹}A‹ ÿ¿ùt½îD r¹œF£)Jj›k != {Roi„öô;»Ûª^!X=íôæ 7 !§K²%–Š/–]Ô×Õ5`!dÌÀ1äŸ5DJ½°^1¡EyËé-©\šõ K¹pWæ®Q;GIåf•Z$-7+o*Þr kø5ÎÖΊ -–«UÚJ½ÞücöÝô”ð²C¦Ú)zLtŸ}bÓbÓ9é± ´®téïK¹nLp µ†=6Ú”eº‘½ñ|éùæÖfÎCβߗ©,&F‰¶3µ[ñ犌;¼^ƒ°áÐCÉ’W®Ržå2fo;»íFù a«ðVå­å,×£ëÅÅ(*¸Ú¸–Ö•V6UÞ(¿q¯þžo_ß6 Y8库FNyP>O‹2ÉuÒ¶mäŸó´ØEì*^K5¤×ˆaÃû WÔ,­+M8“péî%‰T2ÈrБ ÷_Û±ì"!$Ì#,n|ÕÈ΋;ÙÅìʦJ}k—¹þsGö©h$dH îÀô±i±×˯KeR[åc–SçiQîÔÞYsbMnU®)Ë4jxÔû^ïgWdO90EQaþˆùËF/£Ü¢Œs·gÊžn%eéœôˆŸ#T 7¿³™:ÿ^u8åAÝ:uÊ2-èN¾šº”ÇÔeî½¼7þtùü]×w©š+þ\ñË­_&8OØ>i;UÂ.býûÓt{TÏ ïFùˆŸ#¢ÇDO÷š.“ËþÈÿ#6-v¶ßì•ãVªÜä9,r°Õàëå×#Žd9èÈÌ#T…»õw'7™¥ËÚ2a‹wïû ÷ãÒãÊêÊjø5ŠÏ¼q°³ãÐVÌf,3ê•iQ•Ý·¹»X»P9œB ¿&ìû°IKüøx?;¿òÆòu­Ë©ÌI™žâÕÛKmƒýºKM5Z´ÈšÃ)Ñt ZËÞ޾㕱zZ%rx¤¿?KåiëYøßB3–Ù„ÁôèzGóŽRDQZqZ?³~§ŠO Īð×Ü_'»MÖHx„;ÿ¨áQ=ô{˜±ÌføÌq ùöê·üÕd4Ü3Ü«·K5²ÿȱöcoVÞ¬ÖS—3›DM1Á1 ô œ,&$Ôðk”oïò8<5æJÌH,o,_¸z¬ýX=G Çí“¶Ëåò ì oà•†L ´Š§­§J‰)Ët¬ýØ e¸|.!$­8ͳ—çÞˆ$¢¿ ÿ"„4.ß»ü–Ó[ /Ð!ðà{•Kœ­œ%2IñÃb•š¶Š×¶&¶„j^5õö쳄ÑG+*XY 0 |{—Çáɘ;Ž]ÄÖ¡éP«“K#KG ÇܪÜ*^U—›x…`Ÿh–ëÉÂÉn“ÙEì? þ˜í;ûhîÑÉn“‡÷:þ÷üßÿåþ¯cÇÆ9Œ3Ð3h§ÙçÙ§Õ~x¼Þ¾+ûN¬âU5‰šåÂV¡JMc¦±â5ƒÎ „ȉœ"–ŠbS—©ò= {–Ö•*—tmž:¤!–Šy-!$Ô-T*“n?·½†_3¼ßp&•I³dYYÎ:ÓÜÀœF£BZ$-mgÌÀ1äŸ5DJ½°^eB‹¨yXz¬Vi+õ:xwðÙ?BÞrzK*—*>þIÙ•¹kÔÎQRy{s„Z™¼B]C !‡s+v| 6dÎ9<Éuu¤Â‹GסûÛùsùÜ=—÷Ô ëEQæÝÌnüÐÙv¢ÇF›²L7²7ž/=ßÜÚÌyÈYöû²§®‡ªo\m\KëJ+›*o”߸WÏ·¯/!$zL´©ÝŠ?WdÜÉàµð„ ‡nJ¾¼*pf¹à5S ;i䔇ìŠì)¦(—pVrž¬´+H,gÌË ¦ŽÈ?Çœ˜sÂÁ¡ãéTxõÂúÏÏ~~¦ä —Ï5e™Ž8ÆÒÈòëK_BÜlÜÖ¿¹^ùÞù#æ/½Œ:³Š2ÎaÜž){!¥u¥ g.ݽ$‘JYZ8ráþkû/–]$„„y„ÅSÜÒ‘qh'få#¾!“\'m ÙF¹S{g͉5¹U¹¦,Ó¨áQï{½OUh6켸“]Ì®lª4Ñ7q±v™ë?wdÿ‘]Mèœò n:å™t' ž§dZê†ó´^ È´Ô™€º ÓPdZê‚L @]i¨ 2-uA¦ .È´Ô™€º ÓP]Mðªú³àϯ3¿¾S{§EÒBIýOê ËAšª{Èåòëå×ÏûýBÙ…ò¦rc¦ñóïy½÷®Ë»4ªÓ(jü³àÏÔÛ©Õ"‰ÈÆØÆ³—ç\¿¹ÎÖΚ ू9-€ghnm~c×sž«\˜õ kÉïKú\]|5=*ÝÆØFSá©Ãº;SS¦–Õ—%ONÎ^šýËŒ_z™ôZþÇòøÓñŠ:ñéñNnr :1çĵÅ×âÇÇçWç‡~Ê.bk0r€— 2-€gËå2¹L&“)¿}\.—äû‘ž©ÝùÏkÍ„…N£ïÝ1Øj0S—Ù×´o„S–é÷Yß‹¥bE0ϰ†~didÉÒcùöõM I’ʤ[NoÑ`Ø/¬<ƒ!ÃðtÔi•ÂJ^%!ÄTßT©}OûÂ…Ê%zt=[cÛ‚š‚I ƒÎ „ÄS¹ËÙÚY_Wÿ^Ã=¹\®XdxÍaN  +¤2©¦Cx¡šDMeõe.Ö.ÆLã¶ê[…"‰hå ¤Y ˜Ó€W[“¨ÉûÞŠ·KG/ýxÄÇR¹Ôi‹Uò¶ÓÛÉ““ !uÍuÉ’OqNUóª™Æ¾}},t¶r&„°‹ØóŽÌ£êŸœ{2é\Ò¥»—„ „Íïl^}|5u)/:©ËT®ìšèJØsàÚ;‰áIN Ní'm†™ 3Û©Ð løòâ—iÅiU¼*s–¹½…ý$×Iœ'œ»s®­‡ººøªˬ­õuõ•Ûç·ð ¹…‰‰–†–‰Û‰$õv*!dþˆù O¥mE“Ë嚎´Guu5ŸÏo§‚ƒƒýŽÕãÇ·W§ fÿ4û|éù´È4;S;EaØ÷a3|f„¸„Bjø5a߇µHZâÇÇûÙù•7–¯ûk]NeNÊô¯Þ^Tý¨_¢ÒŠÓüúú-µØÃÖ£èaQø÷áÿßÞ½G5uå{ß!$! `”·"¢€ >x¨€¢¢¨­ŠÚ‚ÕÖªµUG µ>J je¡\ÞVW½öZ:>F¯•‡v´>Ju  hQ^Š@ $÷8g2 !@Ž‘øýü•ì³Ï>¿}Ö¿žsاhmÑ@î@õ&uÒÒì¬Ù²ìø²‚Ê‚®5|0Ñaú/¥^Rq$B¦ÅÍŽówòomo=~ûø¾¼}[¦oYæ»Lˤ:ÚwT;põÀ¾¼}„'ÿ¯C¿v·qY%O¤OæfÎ q ‰+^÷ò€gÏš¯[gWVVnèBŒ–‹‹‹îq÷ŒÁ'~Ÿ(UÊŒkT˪µâÚ·=ÞVMÎM~ÔôhsÈæ`—`‹çfí¶þ~•JµM´­ÓP«&­òwò粸^^%JrêXÃr¿å]kxÜô˜ªɹÉUMU±3bC\Cøl¾5ßúó€ÏGvêÖuR:îøyÀç÷¾¸w~Åy+—°Ãa©/¾2×ØÚ¸ìø2'ÿ³vô¢<#†»‡` œFÙÊ*Ί Œp„ôkéË|—1LuQ©È„aâBíbcnãfíV\S\#®Ñ\£ÁËÁ«w5L>ÅÝÆ½S NøÐÔ„Æß´J/B‚Fi6f.ÊìÔ­ë¤tÜ‘Âb²\¬\¶ÏÚþDúä›üo|†øLvž¬Ù¡µ½5òx¤›Ûî9»™&ÌÞÀX!i€‘Xî·<ætÌÑ_Ž®™¼¦¢¡âücϼ=êMr…\,B¼÷ywݱ²¡R3iqYÜ^×9!rÓ¹MT … çt³äA_žÓRÏ‹cÊá³ùÚÒiRºï¨)Ä5äBé…Ëe—5“–B¥XóÓ;s»ÝswS¹¶/G02HZ`$掚›œ›|䯑•Wfüœ±Ø{1õ<›É¶4³”ʤw7Üí”ôkþ˜ù{òöP5¼3öf´ïR²¡D{-ØL¶ÇB,KåÒ¥™Þí¨^Ü¡±­Q³ñ«ÿûJ®§½›FØÿ Ù¶×{°w¯Ë0&xN Œ“ÁŒœù´åiÆÏgîùhÂGš[g¹ÏR¨7ªnh6*:4õàT…Joë5°™ì÷|ÞS×pò·“‘"õ5òËÌ9“’Sž£Ù8/s^ÜŸ¾ì¸ëÒ®˜Ó1vɽŸKñtð¤ZR®¤”Ö• ?¤az,Àhàš%ÞKR R÷æí]0z¹æ&aðÚƒk_þýË¿Ìü˸!ãJŹžK-HMœ“¨ß«\ïÿPÑ¡½y{§»N6p˜G~!aðÚÃkqãx,žŸ“ŸX&N+L«—Öwû—}Ýîxêî)çÎ Ç.´5·­“Ô}óû“¿c?f‘×"u‡ý1åJ !Äsg¯`ô°Êè“¡Vy $^NL¿–~æã3²ýS§M­¯ý.ªn®¶4³e7j…ÿ õ#G·ß ÿ.\³sÙÆ2õÍÕ³!óGÏŸí>[³…râÃÞƒÿýØ–s[Žß>~ì½c¾C}õ;»R/X%*Õˆkñù õ[¸Þy ³–Iiß‘"‘IΕœ;{ïlECE­¤–eÂa5b¶ûìHßHj¬'V\.ë¼t¾šæ Ñr  Vy [Vy@Ò}2xÒzœ¸sâè/Gÿù7Co($-ºa=-C:vëØÇ¾º x- ièÁ·Xµº¥½åû›ß7µ6Í5ÇÐÀkOÄ臨Tä³×ÇÍÆmÿ‚ý´®%ý’€,òZDýQw肤@$-º iÐI €.HZtAÒ  ’]°r)@ræÞ™õ'×BØLöÝ/û뵿&\N „ؙ۬)Ðq¯~15€žÂ5-€þd®ÇܲeΆ.D›Oü?)ÛXæaçÑ£½úÅÔz I €.HZtAÒ  žˆcà³ÏG,wjd0ùŸåÛ[ØB[\=ý{vus5Íóì½ÒåÄa !¢RÑê¬Õê]rVç$]NʯÈgš0}†øÄΈu8Q6´4¤¤^,»X+®µàXøõ];e­‡­G§ArWç&^NÌ)Ïa›²ƒF}úµX&Þ.Ú^ô ˆÏáOs™¶eú>›O «¥6µò§å»sv=,R(£íF ƒ…]Ï€–Ú^Æ=É]¡Thé`Í·.Z[ô²­Ýžsªø]—v]¯ºÞ¡èðì=Þq|¦Я!i€‘¸s‡Çâ©?§¤~“ÿML`ŒúŸüzI}Ä‘ˆ¶Ž¶ø·âý†úÕKë“s“?øŸâfÇ-òZ:2´lcÙ§?~šý{öÎì«&®Jœ“øË£_VXµþäú¬²ÔcÖIê"ŽDÈ:d o'ø9ù=jz´õüÖðïÂ.=ê3ÄGsøKñ«'­Nœ“x¾ä¼ðŒ°±µ‘ÅdEF 8ìdñÉØó±|6Ëô-êaµ×FyðìAÄ‘®)7uAê8Çq4þ±ëÒ®‡ÏjÎ]{m/;c%Jè;çj-í-[/lšåaçQþ¤|Ó¹Mï{ÿÛ%ßú õÓqjý9ûϳû¯ìw컟NúTÝ’œ›\ÕTõÕŒ¯B\CÌ9æÃ ߶φo³]´ý‰ô‰æ¾‹¼ù ñᲸ“'»ß©¾ó¬õ5È£¦G›C6»óX<7k·ýó÷«Tªm¢m ˆðŒc?†Ëâ.³ÀÍÚ-÷~îr¿å¶<o©ÏRÇ޹÷s©ÎÝÖ–œ›ÜÜÖ;eø‹çnãž4'©NR§yDÝk£I×s®&–‰…AÂñŽãy,ÞX‡±{æíiW´ïÈÞA•ÝíÔú;$-07£nª/®Ü®¾ýÅ™/|}wÎÞIm½Pz2ÍeÕÂf²œÚ:Úò+ò5Çñtð¤>;X:BjŵꯢR‘ Ã$Ä5„ê`cnãfíV\S\#®Ñd¬ÃXê³…!dŒýªÅÞžS—ÚòîçBGRlÍm‡®yDÝkÓ#íç\cÊñr𢾺۸ۚÛÞ«½§ŽSºL  ¿ÃÝC0›¯:±ÊÁÂáà;YL–ºQ®‹ebŽ)GóÑ(Bˆ5ßšR/©×l´àXPŸÙL6!DETÔ „ï}Þ][ÙP©yËÌœmN}fÓ„Éeq©†‰R¥Ô±6¹B.•K9¦ê&šߪ¢¡BskÓÔÇç´Ô^xÎ)3ƒÁøÊyVu’º§Ò§® Û©$-0R¹tÅÿ®èPv¤G¤ ¸ªÍd[p,Ä2±T.Õ 4ê{s6æ6º Îf²-Í,¥2éÝ w™ ¦¾jî¶66“Ígó¥riK{‹f"ilmì{m}NëeçœÒõ‘ù§-O !V|+]¦`p÷ŒB©øóÉ?—?-?°ðuûiÍOkD¥"BÈÌ‘3 !—Ë/Sýå ùÕÊ«f¦fS‡OÕñ³Üg)TŠU74šzpªB¥íÊvÝÖ4"ˆüëF›Ú³Ög®úÐT›vÚϹZK{˽Ú{Ô×’ú’:I‡‡­¹-Ñmjý’¼Rÿy+Ioâ.Æå”çĽçïäßu«0Hè8ÀqgöÎKe—¤riECEÔ©¨zi}lh¬ú>.„AB'Ó—ÿ2÷~®X&nlm`€Âÿ%„7žRIšš˜••¬[·Ì²³y?ÿÌurjß¼ù)Ö‚7ˆ½aI ô©/I‹¢PÜ\þ©Sæùù¼¦&$,€Îå”)-aaâ  &ÓÐÕ¼©´À`ú˜´(*yôˆõð¡is³‰J…×QÛŽÁPYZ*‡íptlgàÂÐz”´ð·‡ð:b0ˆ£c»£c»¡ è\œ  ’]´è‚¤@$-º iÐI €.HZtAÒ  ÞÆ@\Ó  ’]´è‚¤@$-º iÐI €.HZtAÒ  ’]´è‚¤@$-º iÐåÿFQû…Ú d¡IEND®B`‚fio-3.39/examples/waitfor.fio000066400000000000000000000005401476262051600162250ustar00rootroot00000000000000[global] threads=1 group_reporting filename=/tmp/data filesize=128m [writers] rw=write bs=128k numjobs=4 runtime=10 [readers] new_group wait_for=writers rw=randread bs=4k numjobs=4 runtime=10 [writers2] new_group wait_for=readers rw=randwrite bs=4k numjobs=4 runtime=10 [readers2] new_group wait_for=writers2 rw=randread bs=4k numjobs=4 runtime=10 fio-3.39/examples/waitfor.png000066400000000000000000002705611476262051600162500ustar00rootroot00000000000000‰PNG  IHDR‹UÕŠrbKGDÿÿÿ ½§“ IDATxœìÝw\UõÿÀñ×eoQœ ‚7Љ&jnÔRËñ­,G™Y®ÒŸ¥9*W¹²¬,-MÑÜJ¡âJE'*ŠJ"Š(" ˆ ÷÷Ǖӽ\.KÇûùxðÎøÜ÷9¼Ó·Ÿóù|ŽJ­V«B!„Bß:£²Ž@!„B<¹¤XB!„I±(„B! ’bQ!„B$Å¢B!„0HŠE!„Ba‹B!„ )…B!„AR, !„BƒLÊ:!„(Œ­[·2oÞ<Ê•+Ç–-[ŠÜF`` k×®åêÕ«ÿüsåû9[_xáíYYYܼy“_~ù…}ûöÏÛo¿ÍùóçQ©TãY°`—/_¦OŸ>ʶï¿ÿ^™àâìì ÀСC騱#ÙÙÙL:•víÚšG½ß}÷_ý5*•Š?þ˜:pøðafÏžMvv6 ,ÀÙÙ™‰'êÅqçÎf͚Ō3hÑ¢æææ4lØP︱cÇÒ¿ºtéBFF&L [·nÊ1ƒ "&&FïÜGQ!Š­¬ËU!ÄÓeÞ¼yJoV÷îÝÕjµZ½`Á5 ®\¹²P[XX¨ÓÒÒÔgΜQ޵°°P§¦¦æÛv||¼NoÙÙ³g•}yõ,ªÕjõ7tÎ9|øpžm+Ǭ[·NÙž­ÄÍÃÞHm#GŽTö•/_^™™© ^»vm¡ï¡¹¹¹rÞòåËuö¹¹¹éõ,7F!„(Ê¢ÜBˆ"ÑžŒqàÀ233•^ÂáÇS¡BÒÒÒ8rä{öìQŽõññÁÂÂBùùĉ|ñżþúëtéÒ…—^z‰W_}Uç³®\¹òx/¸zõ*7nÜP~îÚµ«Î~íëMLLÔ™œ’ÃÈÈè±.ÁS1 !DqÉch!D‘4hЀªU«rýúu’““ aÿþýtìØ‘Ó§O³iÓ&öîÝË©S§”ó´ šéÓ§óÅ_øY9³‚§””Ÿmmmóý9÷ñåË—ÇÌ̬äƒ3ð™Å‰Q!ŠKz…E¦½ì̼yóHLLÄÊÊŠ–-[Ò¡CvíÚ¥39§XLHH`úôéÊv___6nÜÈÞ½{ùûï¿Ké þS­Z5eF7À¥K—tök/¹£R©pqq)°ÍäädÚ·o¯|…„„Ç')) SSSúöíËñãÇñðð(V|%áiˆQñl’7¸!„BCÖIÏ¢B!„0HŠE!„Ba‹B!„ )…B!„AR, !„Bƒ¤XB!„I±(„B! ’bQ!„B$Å¢B!„0HŠE!„Ba‹B!„ )…B!„AR, !„Bƒ¤XB!„I±(„B! ’bQ!„B$Å¢B!„0HŠE!„Ba‹B!„ )…B!„AR, !„BƒLÊ:!„úbccINN.ë0„ÏggglllŠ}¾ô, !„Bƒ¤XB!„I±(„B! ’bQ!„B$Å¢B!„0HŠE!„Ba‹B!„ )…B!„AR, !„Bƒé .ýúõcýúõ%‹Bù$›'ûmBˆ¢kß>…R˜:Õ‘¬¬Ò_"Å¢x¬öïßÏo¼‹‹ æææØÙÙáííÍ¢E‹ÈÈÐ_ë-##ƒ3fàææ†……õêÕãÇ,p\`Q>'<<\§­³gϲuëV¼¼¼°²²ÂÍÍÑ£GsïÞ½BÅ&Ä“à›o*аáz÷¾WðÁ¢Düû￸»»+_/^,ëž ægÎP«n]ÜÜÝ•/“èè²ë©0iÒm"#Mñ÷·)ÕÏ•uÅcóÙgŸñõ×_ël{ðàÁÁÁ³nÝ:vìØ••jµš~ýú±eËåø .0bÄBCCKìsr[ºt)‹-R~¾|ù2 .$::Zy÷yqc¢4ܼi¾}Ö,X+Zž]ºtáòåËŒ?ž÷ß¿Œ#z2¨ÒÒp?UVÙ®ø´ªQ#ƒÎïãçgG¯^¥÷CéYŦM›”ÎØØ˜_~ù…¤¤$Ο?OÓ¦M8xð Ÿ~ú©rŽŸŸŸN1öå—_’˜˜È±cÇØ¹sg‰}Nn«W¯f×®]$&&2~üxeû† ¸~ýzž±Í™3‡ÄÄDNž<Éž={Što„(i»vYci™M§N÷Ë:!òå0g¦ÿþ[Öa<Õz÷NæÄ nß6.µÏ”bQ<Úg À!C°µµ¥^½z̘1CÙ·|ùrÒÓÓXµj•²ÝÓÓ“Ï>û {{{š7o®×sø(Ÿ“Û¤I“èØ±#ööö|ôÑG:û.]º¤›——Ÿ|ò ööö4mÚÔ`lB”–#G,ñöNÅÔTÖS,MnnnDDD(_uêÔ)ëžh–AA”[¹€û;–q4O¯Ö­S02R—êD)ÅcqöìYåû?þøCgŒà+¯¼¢ìKII!""@g¼———N{¹~”ÏÉ­eË–Ê÷åÊ•ÓÙ—œœ¬[³fÍtŽñôô̳]!JKx¸õëçý¡çMVVÍ›7WÆ)û/^¬lŸ9s¦²=44TÙÞ AÒÒÒò¸~ýzzôèA½zõøòË/óüþûïdffê[˜˜|Xù¾E‹XXXèµ»|ùrÖ­[W¢±~ûí·,Y²Dg[FF¡¡¡„††Àòå˱´Ì»)¯˜¶nÝÊØ±cu¶ÅÇÇÏ©S§øí·ß8wî\±%õïÅñãØnÚ„QJ ÎcÆpýÏ?1¹qƒŠŸ®7}:êÕ+°½ŠS§bró&j33nÍš…ÉíÛž# «T)“¸¸Ò+áäoFñX4hÐ@ù~È!¨Õjƒ_9={õ´þÀ9uê”N{ÇŽ+±Ï)íÇK'NœÐÙwòäÉb·+DIHK3ÂÊJAçhÓ¦ò}NQøàÁÿWÏŸ?ORR’Î1¹ÏÕÀüùó9uê|®U0iû裈ˆˆ V­ZʶñãÇ+ªsz:wîÜ©ŠÆÆÆÌœ9“ÐÐPvìØ‡‡ ùsoöìÙ¯3¯˜¶nݪìŸ8q"gΜáĉlÙ²…O>ù¤HÊã¦OçÁÃãÍCC©ðÍ78}ü1FÿáÔ¿?÷^{­Àvl°yWÂG‘áæVèDÞ¬¬²¹¿ôf³I±( 홿ýö , 66Vy¼Àûï¿Ï[o½¥7pà@åûàà`,XÀÝ»w9~ü8“&M*±Ï)íØŽ;ÆÜ¹s¹{÷.§N2›¥E­FfAkñññQ¾?}ú4)))œ¶È±páBå{sss½q7Eùœzõ꼃ûÌÌÌøâ‹/øâ‹/ôöçÞ!þøãöíÛGäÃâÆÛÛ[)².\¸@–ÖâÐEù³ª ªÆÔ©SGyâѯ_?ÙÙªU«VJïiff&‘‘‘L™2…£G’••Å_ý¥·ªƒ!VP~ñbÔÆÆšÅ´³³q;–è­[ɬ\¹ÄâO.)Åe„ XZZÒ»woÜÝݹwï:ÚÛo¿mðm,Bš‚ÉÄÄ„ÌÌL呯ƒƒµk×ÀÕÕ•¨¨(e-U•J•oÏbQi÷ú>}šÔÔTYÍ ààÁƒlܸ‘:uêðÊ+¯`kkKll,‘‘‘ìÚµ‹ÔÔT¾ùæ›BîìÙ³III¡k×®¸ººâää„­­­Nñš{ICLbbp3²5ïûúk¬ÀÆßãÄDœG"fÍÔ&†K‰¤×_'éõ×õ¶[ëô.FíÛGfµj…½LQʤXO”ØØX~ÿýw¦M›–çþvíÚñí·ß–rTBˆ§••žžž=zTÙ¦½"‚···ÎXÀzõêáèèXbŸß¦MeU‡;wÒ¨Q#à¿^Ä®]»òþûïóã?’••ÅW_}ÅW_}¥×NQ{;ïܹúuët^$ ÍÔÔ”>}úØŽ*#ƒJ£Fa|çÉ={r¯Oîwë†ù™3˜FEaqê3gr;ד ñì‘bQ>ÌÍÍË:ñœˆW^'„Ï2éYÏ„ÔÔTRSSË: !„â™óH=‹uêÔ¡N:òQæT*C‡eþüùeŠxNä¼ÁE!žuÒ³(„B! z¤žE!„ϧ¨Ä(¶„m¡m­¶4­Ò´¬ÃydÙêlBcB ¾̃¬ôjÐ ×ò®‹ #üV8qÉqØ[ÚÓ¢z ÜÜ Ÿ¥ÎâЕC\I¸B–: {^¬ñ"æ&ºã¬Ÿµû*ž R, !„(²¨Ä(\„­¹íS_ÔL œÆ_çÿ"!%AÙÖ´JÓ<‹Å={øj÷WD%FéíëV·s}çbij©³ýxôq>ýëS½s*ÛUæ«n_ѶV[eÛ³t_ųCŠE!„ϵ€ðî¤Þ¡i•¦¤g¥s>ö¼ÁcOÅœ"*1І•RÛ±6m*r9þ2{"ö°ýÂv,M-™ë;W9>9=™÷6¼ÇÔ;Ô¬P“¶µÚb¤2âЕC\ˆ»ÀÈM#ÙýÞnœlœJãR…()…B<צv™J‹ê-p°r`êΩù‹jw¢o㾸ػèl?y€!Áÿ¼?_uÿ 3c3Ž\=ÂÔ;4ªÜˆuo®ÃÄHó×®Z­æ?ßá`äAþ¹üýË„)ñä’bñ sèÐ!vîÜÉàÁƒ©Q£F‘Ïßµkäý÷ß§R¥J% ‡ÁÎ0x0#GÙµ „÷ßÉÑgB¶:›CWq.öÖæÖ´«ÕŽjåªé—‘•ÁÈ\½sµZkyWZ×h…‰EDýŸnu»úØÆ•ç¹Ý§¦µjq;‚ûîcf©)Ó3ÓhíÚZ)A³‚C»Zí8yY õÙëO¯'&)†vµÚѤJ“BÇ,Ä£’bñ sèÐ!¦M›Fûöí‹],Ξ=›Þ½{K±(C‡`Ú4hß¾øÅâìÙл·‹Ï€ôÌtÞ^ó6‡£+ÛLŒL˜Ôqo5KÙÊûß'.9Nç|GkGöZHK—–~Öw¿CºPqY™Z1´åÐB^Å£ËÊÎâNê*ÛU¦¼eye{“*M0Vs(ê™Ù™:=‹ÿ\þ€fU›åÛvFVŸmÿŒg6òž÷{ V!)Ÿ0­[·æ‹/¾(V¡(D©hݾø¢x…¢xæ,;ºŒ”)ôjЋŠ6 »Æá¨ÃÌØ5ƒºë*Eଽ³ˆKŽÃÃÉoWoLŒL¸’x…ƒ‘¹w±PÅââC‹ÉÊÎ*T\ŽÖŽ¥Z,.?ºœÛ÷oóe·/u¶W+W‰&òõž¯éþKwÚÕj‡J¥úoÌbë‘x8yl÷NêFlÁÉë'™Õc}÷}Ü—"„)Ÿ0­[·¦uëÖe††µn­ùHÍHeË;[t–Yvt_ïþš_C~UŠÀ„”jV¨É–w¶`¤úo‰ß„”YÈùù°õ‡EêY,-»#v3÷Ÿ¹øzøÒ¿i½ýoy½EjF* ,à·c¿)Û‡¼0„Z`°ÝËñ—¶~wÓî²bÀ ^¨þÂã_ˆ=7Å¢öX¾òå˳mÛ6"""pvv¦W¯^T¨PAçø7rúôi>ýôS¬¬¬òÜ7qâD,,,ôÚ·³³cëÖ­DEEQ»vmzõê…±±17nÜ`Û¶m$$$ТE :vì¨Óv~c£¢¢Øµk±±±T¨PöíÛS¯^=ƒ×œ’’–-[ˆŠŠ¢J•*ôìÙ{{{½ãâããÙ±cׯ_ÇÖÖ–úõëãããƒJ¥*ôý}®ÅÅÁ?€ƒ|ø¡î¾´4øö[06†ñãÁ$Ÿÿå´Çò•/Û¶AD8;C¯^+GÙ¸NŸ†O?…\9ªì›8æ¨Nûvv°u+DEAíÚšöæ(7nh>;!Z´€\9šï˜Å¨(ÍçÄÆjâmßòÉQRR`ËÍyUª@ÏžGŽ;vÀõë`k õëƒHŽ–¹žõ{ê­/8Øk0?þ‰ãÑÇ•m]ëveYÈ2þ ý“î”Ù¿¬*PÁ*Wn0ªÍ¨’ ¼„„0fë:¸wà›W¾ÑÛŸ–™Æ;kßáèµ£4©ÒÏ*ž©Œ8só ¿†üÊá¨Ã¬°’råtÎ;}ŒÅA‹©`Uõo­§Fù¥tEBè{®ŠÅÙ³gÓ¬Y3&L˜@xx¸²ÏÁÁÝ»wӤɆ7nÜȪU«øðÃó,W­ZÅèÑ£uŠÅÙ³gÓ¨Q#ÆÏ•+W”ã[·nM`` [·neðàÁ¤§§+ûFŒÁ?ü ülhÌâ¤I“˜3gYYÿ=‚Q©T 2„~øSSS/]ºDïÞ½‰Šúo]/GGG6mÚD›6m”m?ÿü3£GÖ{¯rãÆÙ¹s'ÎÎÎùÞWT¬¨)ަNµFiý…6r$,[?ý”¡ÿåkÖ &L­ÅÁvï­eãFXµJS æU,®Z£G닳gC£FšÂU+GiÝ5äàÁ •£Œ¡)†s³8iÌ™Z9ŠJC†hÎÏ•£\º¤·¨•£8:¦M •£üü³æ:r¿û»qcMÑ*9Z¦ªÛW×Ûf¤2¢j¹ªœ¹yFÙ6Úg4.ö.lÛÌ—»¾ÄÊÌ Ï*žôjØ‹õz곞´1‹†þÉçÛ?§K.,èµ@gKŽ?ŽÿÁÑkGy·Å»Lê8IgßÒà¥ÌÞ;›%‡—0ñ¥‰:ûB®†p7í.¾¾¸Ú^\ˆÒðÜ‹9Þ{ï=LLL>|8666lß¾sçÎñá‡ràÀGnÿƒ>ÀÚÚš>øcccÖ­[Ç¡C‡5j«V­¢yóæx{{sûömüüüøñÇ>|8M›^|õûï¿gæÌ™¨T*|}}ñððàÊ•+lÞ¼™_~ùGGGfΜ©sÎÈ‘#133°|‹ IDATcøðáXXX°k×.Î;Ç«¯¾Jxx8Ü¿Ÿ?þ˜´´4ºwïNÆ IKKãìÙ³ìÛ·¸¸8) kÁ8~ÆÓôÆy{Ã/¿h ŷ߆áà ßÖ{ïi ËáÃÁƶo‡sç4Ea ä(|ÖÖšÿúušpÔ(MÙ¼¹&þÛ·ÁÏ~üQK>9Ê÷ßÃÌ™šâÐ×<<4ÅèæÍšûàè¨Ù¯mäH03Ó´ma¡)fσW_ÕÊpÿ>|ü±¦‡¶{whØPóýÙ³°oŸ¦WWr´L]»sMo›Z­æúÝëØ™Û)ÛŒTFômÜ—¾û’­ÎæJÂöþ»—±[Çv3ŒOÚRàg=Ic:òs÷Í¥G½Ìï5c•qžÇ…Þ [=ý×]ëveöÞÙ„Æ„êíÑzW®°êä*Ò³ÒùªÛWåýBÿüs¬­­•}•+WæÀÊõdffòÆo°qãF~ûí7ÆGrr2iii :”¥K—ê|æÙ³ge6uQ˜™iŠ®fÍ _?øõWMñÕ¸1,YR´¶ÜÜ4½|s”™35íAR’æò£ððÐ<Ò}˜£Œ uêh ÛÏ?­¥m[:þú+ÿbña޲aƒ¦ØË¬y\¼p¡¦m­¥reMñ›s=™™ðÆš^Ñß~ÓÞÉÉšâpèPÈ•£œ=+³©Ÿ[ÏmåÝÞÕy½üØrâSâéàÞAÙ¶7b/mkµÅØÈ#•µjQ£B V_Ɇ3 U,>)cgïÍÒà¥ôlГ¹/Ï5X(ØšÛ°ã½YÏá:Eu*¦wN9‹r,9¼„»iwYØk¡²~£¥é¹+'L˜ ŠffftêÔ‰ .pãÆG.ǯŠ5jÔÀÍÍ‹/2q¢îc†N:è<*ÎíêÕ«DGGóâ‹/êŠ-[¶¤_¿~¬^½š'Nàãã£sÚ×bbbÂôéÓÙ¸q#AAAŒ7ggg^|ñEöíÛ‡¿¿?mÛ¶UÎiذañoÂóÊÅV¯Öô€uí åÊiŠ'KË‚ÏÕ6a‚î9ffЩ\¸ Oø¨ÅâøñÿŠ y”ìæ/jÆ8j{˜£ä“£\½ ÑÑð⋺…"@Ë–šâyõj8qBS8æ˜0A÷ZLL`útM±¤)5íîÛþþšâ5çÉÑ'‚¥©%½–÷¢kÝ®T´©È¹ØsºrH3Læ…!Êq#7¤¼eyšUkFuûêddepäê¢ïFSÏ)Ÿq­ZטÅvp!î§oœ`KØNÅœ G½¸;º°äð–/ÅÎÂ{¾?ô½^{š ¢ME|=|ù3ôO~ ù•cÑÇhVµF*#Nß8ÍÑkG5ÇÔ÷5Û¸vã(oUž™{f2äÏ!üØçG¬Í¬ /Äãð܋ի믱±± ##ã‘Û¯VM!ZkkkÊ—/¯Óó—³4Q ILL V­ZyîwsÓük>!Aw6aÍš5õŽÍÙ–Ó&ÀöíÛ™7o“'O&,,ŒjժѮ];FŒÁ /ÈÌ»"óñWWˆŒÔŒÇsw/zyä(s”ÈQòÈQ¬­5“jrå¨òs>9JN>ÈQæ(¹r”ðJþ[Τ–äd͘@m¥˜£ää“åaŽêÍæŽŒ„\9ÊÃE+G±±)S4_éépæŒfÒ‹··¦·Qr´L¸–wå£6áíêÍpïáˆ<À…[°2³¢½[{½7¸,~u1qÉq‹>Ƶ;×°2³¢f…š´rm¥³”NYèR§ ®å O"qwøï}êt¢²]å|Ûs´Òýÿñïлao‚®}'€Êv•iåÚJïÐ9÷Õ³ª§Îö>úàlã̉ë'8tå/{¼\¨k¢$H±h€‹‹æ½Ÿýõ#GŽT¶TªqT«V   ¶nÝJÏž=•}ÇŽcýúõXZZÒ¬™îX˜Ù³góÊ+¯`k«/“™™É”)SxñÅÍ2>ÑÑÑ´hÑsss¼¼¼¨P¡K—.eÅŠR,ÅÒ¥š±vï¼sçjÆ/¾õ–æñk^½hêaŽò×_šÉ"95qK‹‹‹¦·/(H3›Z+G9v Ö¯×báÂ…¬]»VÙ>yòd._¾ÌªU«J-–‘#GÍܹsÙ¶m›RÌ嬳¨=Ã:ÇâÅ‹?~''ݱ# , ÿþ8p:tè@“&Mظq#îîîʂܵ?|øpîܹ£·ÝÊÊŠ/¾ø‚Æÿ{)|ff&€òÆ—3gÎä½÷ÞÓyƒËK/½¤÷—œ8Ú¶m˹sç”7ÉT­ZUï ....sîÜ9Ž;FLL ŽŽŽxyyå»”ÈåäIÍãæöíõ'´|ððU^qqš…»óë ëÔI³Þ`^ËÁäìË•£,XýûkzML CMïæÆšX´r4ßö‡×½¹YYiÞ­•£<ÌQrå(3gjÖˆÔ~ƒËK/é¿Á%'޶m5ë*æ¼I¦jUý7¸¸¸h–ß9wNóH;&FSPzyå¿”Bˆ£R«Õ…[´*ýúõ`ݺu%Ðónøðá,]º”³gÏÒ Aƒ²ç©¡R©=z4óçÏ/ëPž}ÇkÆ ž= ÏqŽ>î?ÿbccINN.Ô±îîn,ZK…;^ñt5JÓñðÝw±…:ÞÙÙYYù¥Ö=7=‹O:¶lÙŠ+(W®uêÔ)ë„Ðåï¯yóŠš5$%G…â¹ ÅâÂßߟ_~ù###¾þúk½w= Qæüý5¯î32‚¯¿Ö׳Bˆg’‹O___4h@›6mðôô,ø!J›¯¯æ±s›6š™ÉB!ž R,>!|} ^Kˆ2%9*„Ï¥²]6_!„B<ѤXB!„I±(„B! ’bQ!D±^ d¼ÿxþç÷?®HZfkN­aàªD%F)Ç]Ž¿ÌÀUÙpfCF+BcB¸j §bN•u(*l¬û/ïg઄\ )¥Èž/R, !„(–µ¡k±q›ÏnæHÔB®…­ÎæÚk„\ !%#E9öþƒû„\ áúÝëe±øëü_œŒ9ImÇÚ\ˆ»ÀÀUÙ|vsY‡•'íXów?Žk!$¤$ësžôûPÖi6t||<ÑÑÑŒ3¦¤â¢ØvíÚ%¹(JMhh(ÕªU+ë0ÊÔšSk012ar§ÉÔr¨…‘Êscsú7íOÛZmq-ïZÖ!Š<ì‰ØCK—–X›Ys/ý!×Bx±æ‹eVž´c}œžôûPÖ©X¼téÑÑÑ,X° ¤â¢ØÎž=ËÙ³gË: ñIMM-ëÊTôhêV¬Ë fƒt¶W·¯Nuûêe•ÈÏåøË\I¼ÂÛ^o—u(zšb}Ö=R±èíí È»¡EÙ“wC‹Ò–ónèçÑÊã+  )=‰‰¸j`žÇÍì1³P½‹‘ ‘l8³‹qÉÌΤf…šômÔgå˜Ð˜PfïÍ[^oáíâÍŠã+8}ã4æ&æ¼äö}õA¥Ré´›’‘¶sÛ8uý7îÝÀÆÌϪžômÜ—råòl»yÕæü~üwÂo…S΢<àUÍ €°Ø0üNúqýîuªÙWcÈ C¨Q¾F±®§¬ì‰Ø@÷l>»™_C~`]è:‚"ƒ”ãVZ]b÷E»fU›±âø ÎÇžÇÊÌŠNµ;ѳ~O½ß]îXµm¿°íáÛIJO¢¶cí|‹ÉÂä@A÷¡°í<ËdQn!„E•¥L$È‹˜í1‹†¬>¹ši;§‘¥ÎR¶í¿¼Ÿ?NüÁWݾ¢oã¾ÜM»KȵšUkƬ=³ˆ¾­¿ãÂÎÞ<ËÔ.S•mwRïÐnI;î?¸¯óyÛ/lç×_ùóÍ?©V®šNÛMª4aFà b“c•ãýÏû³´ïRî?¸Ïè-£uâüûüßlºŠ6‹|=ùyÓïM²²³ <ÀÞÒž^û¡PÇìŽØMÝŠu©Z®*›Ã6sþÖy¢ïFëÜS(¹û’ÓN£Ê˜8[É·”cÂØui‹z-Ò+µcÍ1ᯠ:“¤ö_Þφ3èß´¿Þµ6®']Ï÷>%—žUR, !„(’7›¿Iç:ºn(Uìª0½ëtýkN­aÛ¹m¶sâú ¦îœŠ•™=Ò¤rÌŒÍ8{ó,Ë-gòŽÉx»zëüEüKð/Ôv¬Í×Ý¿ÆÙÖ™°›aüpèV\ÅpïáT±«@FV¦Æ¦ yaõëã`å@RzÁQÁøòcÑÁEÌyyŽN<Ë.§A¥Œk7Žò–åÙ¹Ÿ•ÇW2=p:ñ)ñøÖ÷¥SíN©ŒXq|ÁWƒùõè¯L|ib±¯'/!×B ],:Z;ê8Ð='®Ÿà=ï÷èÝ 7¶æ¶LœN¿&ýèÝ wžç=ê}Éñû±ß©Y¡&£}FSѺ"a±a, ^J@xëk­§_ãÿzësÇ ðwøßl8³KSKÞmñ.Mª4!!%ÇWðKð/zq6 ºÅÉ¥g‹B!ŠÄµ¼+®å]112ÁÆÌ†–.-uö¿Pí, YF¶:›e¯/£YÕfÊö—Ü_¢iÕ¦¼³ö¶ÛƈV#”}5*Ô`ý[ë171 ]­vddgðÝÁï8sJ)Ë[•'`H;/íäŸËÿ?žŒ¬ ÌŒÍ8ví˜^’;©wôŠÃ37Ïèµ]”Èï>”E.=iä .É7ß|ƒJ¥bß¾}eÊ#{–®åyñÍŽoP S±ï¾²å‘=K×"tu©Ó…ÔŒT¶_ØN=§z´ti©|Õw®Ï…¸ ÊØ°¢*gQŽäôd.Üúïñfbj"c·Ž%-³àÞ½â(©ëY9`%«®*ÔWagBï‰Øƒ¹‰9/ÖÐ]tÚÊÔ €«w®ý‚‹(ðR ÎLæÔŒT> øŒ”Œ|jù«OM²ÔYLü{"ÉéÉÊö€ð¶„mÑû¼¢ä@~÷¡,réI#=‹€/¿ü’É“'sàÀÚ´iSÖáˆçÌ—}ÉäÍ“90ámÜ%ÿžC[%ðR «O®æÏÐ?©Q¡¶æ¶Ä%ÇqãÞ ²²³Xöú²bµÝѽ#G¯¥×o½¨[±. YÿÐÒÔ’ªåªê-ƒRJêzǘÅÝ—vÓʵ•Þ˜Áš5±4µd㙜½yVyÌ›³¾`Iòpò`Â_˜÷Ï<œlˆLˆ$9=+S+I?†bÚr(Ïld×¥]´^ÜšZµHHI &)†úÎõ9{Nçø¢ä@~÷¡,réI#=‹ÉøñãQ«Õ´oß¾¬CydÏÒµiÿ Q‰QØYØQ³BM¾ìö%é™é…j{P³Atpïçë g¿<[olaa¯§4å¼ E{m<Ыa/þ½ý/©™©Ê¸½’¼/9FûŒæÝ•™îî:“X еs†ðoü¿$?HÆÕÞ{K{â’ãX5pµk+Ç%ò»EmçYôDô,ž;wŽž={R®\9ìììxùå— gðàÁ¨T*nß¾­sü½{÷˜2e õë×ÇÒÒ;;;:tè@`` Îq'ND¥RqêÔ)~ÿýw6lˆ……®®®L›6ììlr+NÛ?ÿü35ÂÜÜœñãdžÇù%''3mÚ47nŒµµ5+V¤k×®ìÚµ«P÷êÚµk 6ŒêÕ«cffF¥J•8p áááãûþûï©[·.ÔªU‹/¿ü’ÌÌLåØN:1yòd|||P©T¨T*¥'Ñе'–ÂþJÓ¹˜sô\Ü“r•Ãn”//z™ð›á ^>Õ0·“så_Ú=¦l™Bý)õ±üÀ»Qvtø¶çråȆ‰¨†©8uí¿ú†_4Äb„®\™¶mšÎÌÍGiûçý?Óhj#ÌG˜3~ÝÃü30Î/9=™iÛ¦Ñxjc¬GZSqLEº.èÊ®ó…Ì¿„k [1ŒêŸVÇì}3*«ÄÀ¥ ¿™ëw®ß÷{¿§îçu±aA­ÿ«Å—}If¶VþÍëÄäÍóo¶ªa*TÃT´ŸÛ>ßk)N,…ý=ˆÂñªæEgýž²êöÕiéÒR`mfMK—–¤656¥žS=<«zRÙ®²^aeoiOK—–T²­¤wnÎ>gç<÷5©ÒDùË4Kí4¯Ö¼Pm»Ø»ÐÒ¥ežEqãÊñ¬êY¬ë)M»#vÓÀ¹Až÷'‡•©*7â…ê/(ë >ŽûšYÑMª4¡¶cí<ßÚRP¬ Yû±Iå&ÊD—Š6iéÒ2Ï D…Éy݇â´ó¬)óžÅððpZ·nÍÝ»w•mÿý7ÁÁÁ4o®ÿ HLLÄÇLJ°°ÿfU¥¥¥±wï^öíÛÇÊ•+4H÷¥öß}÷Ë–ý7NäêÕ«L:•ììl¦M›öHmÏ™3???åçü Ÿøøx|||8þ¼²-%%…;w²sçN222011ü+‰ŒŒÄÛÛ›[·þ{URll,~~~øûû³gϼ¼¼tΙ={6kÖ¬ÑicòäÉ\¸p•+Wü¬‚'–ÂþJSøÍpZÏjÍÝT­ü;ó7Á‘Á4wÍ#ÿRñ™íCXŒVŽd¤±7|/û.ìcå• j™+ÿö|DzƒZ×p•©[§’­ÎfZÏiÔöœísð ÑÊ¿| Ÿøäx|æøpþ†Vþ=HagØNv†í$ã§ e9Œ¼DÞŽÄûkonÝÓú'Åââ‡ÿiöŒÛƒW\ù0›5G×è´1yód.ܼÀÊ!ň¥°¿!ž5Ÿ¶ÿ+‡²£Pž¦XŸ'eÞ³8nÜ8îÞ½ËË/¿Ì™3g¸ÿ>'Nœ qãÆìܹSïøñãÇÆk¯½ÆÑ£GINN&>>???ìíí5j÷ïë6]½z5‹-"&&†¤¤$þøãLLLX¼x±Î4ùâ´½aþýö[¢££Q«ÕÌ›7Ïൎ=šóçÏÓ¨Q#üýý¹uëñññìܹ“Ž;¸öÕÇÌ­[·hÛ¶-ÇŽãþýûJ¼÷îÝcذazçäÄCBB«W¯¦B… üñÇìÞ½€]»v1cÆ 8 YHV­Îwösqb)ìï¡4ûswSïòrã—93õ ÷¿¿Ï‰É'h\­1;ÃòÈ¿uã ‹ ãµf¯qô³£$/N&~A<~Ãý°·´gÔêQÜOÏ•Á«Y4`1ßÄô] ý#ïÉ•Åh{É |ûú·DÏF½Tͼ×óÉ¿µ£9ã<ª6”?·æÝ"~A<;Ç줣GGeéC>^ó1·îÝ¢m¶ûü÷¿¿OØ4M¼÷Òî1lEù÷0¾˜obHX˜Àêa«©`]?ŽüÁîóóoì.fô~˜ ^ªF½T;Oö•h,…ý=ñ¬iQ½µj•u…ò4Åú<)ÓžÅäädvìØ‹‹ ëׯÇÂB³V‘§§'›6mÂÝÝ]çtzz:~~~4hЀõë×+Å•µµ5ýû÷'!!‘#GràÀºu릜7eÊF¥üüW©ÏÚ÷ÖÒtZSN];ÅÅØ‹ÔqÖÊ¿N£uâð²²³xó×7Y|==Š‘ÅŒ¥0¿!DÉk[«-#Ê: ñÊ´X¼rå YYY´mÛV)s”+Woooüýý•m—/_&55•sçÎajªY±?§,ç{Ð<ÞÔ–×,ÞZµ4ÿr¹wïÞ#µ]P‘—#22’ôôtºwï®S(Ö•+WÈÌÌÄÇÇG)Îr˜˜˜ÐµkWˆˆˆÐ)кvíª×VN±Q¼ÿy‹Ka~¥éÊí+degѶN[½EUËY–û–7þ§µò/î2©©œ»qÓ÷µr„\9’+ÿò˜Å[«âÃëN»÷HmTä刌‹$=3îºëŠ…u%þ ™Ù™øÔöQг&F&tmЕ°˜0"nEèh]䑋݈[ÅÌ¿bÆR˜ßƒB}e>f0øø5÷£¡œñ€jµš¬,ëÛ?xð@çgKKý¸9Ÿ™9¹# IDATóÅmÛÁ¡hc+Šúš¥’>_»ÒŽ¥0¿‡²`0ÿÈ•j­Qç“#™¹òÏ,ëÎõ¶€â¶í`SÄü+àQsç—DþQFùWˆßƒB}eZ,Ö¨QcccöïßOZZšNïbRR!!ºk=Õ¬Ysss¼¼¼8xð`‰Æò8ÛÖnÿþýܺu ''§‚OÒR£F LLL8pàIII:=zYYYÊøNwwwóvìØ¡÷¨9 777e›‘‘føªö,é’ŽåISñÆFÆì¿¸Ÿ´Œ4ÞŤÔ$B"såŸcMÌMÌñªáÅÁ %œ±m€š5íï¿´Ÿ[÷nád[Äüs¨‰‘ . )5I§G/+;‹çþÎrå_ؽGÍgæ_E­ü{8S43«ùWÌX„BO™Np±±±¡K—.DEEñÆoFJJ ¡¡¡ôéÓ‡¸¸8ã­¬¬èß¿?AAA 8#GŽpçÎÒÒÒç·ß~£U«V¤§}Í£ÇÙ6hzÕúõëG||<]ºt! €Û·o“˜˜H`` ;wηGÓÚÚšîÝ»KïÞ½9qâ)))œ?žpöìYš6mªóØ`Á‚Ì›7›7o’˜˜ˆŸŸü1}ûöUŽ«PA³ÜÀŽ;HIÑ|IÄò¤±1·¡Ký.DÅGñÆOoFʃB¯…ÒgIâîåÊ?3+ú¿ÐŸ ˆ .È‘ËG¸“r‡´Œ4Âo†óÛ¡ßh5³U±ÖÜzœmXšZÒÏ«ñÉñt™ß…€³ÜN¾MbJ"çé<¯s¾ï¢µ6·¦{£îÄ&ÅÒû‡Þœ¸z‚”)œ¿qžKpöúYšVoªóØ`Á®Ì œÇÍ»7ILIÄ/Ä×<Ì¿æZùgý0ÿÂvò €ü+f,B!ЧÌCûí·±uëV¶nݪlwpp cÇŽìÞ½[C0þ|BCCñóóÓY²F[q)=ζsÚ !44”=z¹í ÌÞ½{õ–²±±aéÒ¥zç¼öÚkŒ7ŽqãÆél4hNc»víP©TÌš5‹Y³f)Û Íˆ.N,O¢o_ÿ– ƒØº•­¡Zùgã@GŽì>¿Sc­ü{c>¡×Bñ ñÓY²F[±óï1¶Ó~Hd¡×Bé±0ü£€ü{cÁ—ƒÙ¾—æ3rýÎÍmXúVù×ì5Æý9ŽqæÊ¿–ƒtzÛÕy˜³˜0KÙfhFtqbBQfff^KqbyyTö hB¾}±µ°ÅÖÂ–î »spÂA2³2112ÁÖB+ÿ¬Êsøÿ3§ïš»6ÇÆÜ+3+êW©Ï0ŸaO Ö›,SX³mGGB> á³—?£^¥z˜›˜ãdëD·†ÝØ5vW¾k,‚f2ȱÏ1¤ÍªÚWÅÄÈ'['ú·èÏÑÏê­køÿìÝyXTeûÀñï°£,Š*¢€‚ .šîKj„ûnf–Ùï5÷ËL­ÞÌ^Í¥Ô6Ñ^Ë3ÔR#WÜÒpÏpD‘Eæ÷/£ã00 Ë(ÞŸëòºàœçœç~F½9çYfôžÁ’aKðtòÄÂÌwGw>é÷ «Ç®Ö(çSÛ‡•¯¬¤qÆX˜éñù3 !„†Q¨Jñ¨bðàÁlÚ´©Ì*@£FhР§N*óûWv3fÌ`þüùœ'?:‰Ÿkåüü•ç¿¿È}zzº^e6lÀÒ¥‰ôé£_y!ÄÓmâÄüU-¾ú*Q¯òÎÎÎØØØZÝ&£?Y„üW¥aaa$''“ššJxx8dddhŒ«¢< X>€°Ø0’ï%“š‘Jø™p¿ $ãA†Æ¸:!„âYdô1‹aaalÙ²E븷··^ ^ Qa§ÃØr²Ï_-o¦õ”ÏŸºdæd²pïBvßÅÍ{7Q©Tœš~Še—ñíáoÙ6v>N>D߈¦ÿý™0‰I“Ê-¦ŠªÇ®Ý½Æÿ`ÏÅ=‰;BŽ2‡à!Átôè¨U63'“°óaüvæ7Î%Ÿ#)=‰êÖÕiY·%o¶}“ÆÎµ®ÉSåñk̯¬=¹–+w®§Ê£^µz j6ˆa~ʪ"*¯'â'Ê¢E‹øûï¿INN¦N:ñÑG•汩z Ê¢ðEü÷7ÉéÉÔ±¯C_~„¥|þ„Ðe饬>¾ÚØa<3þw ·îß*¾ °"rË-×8–”žÄïg'ì|ß úN+É|{ûÛlݪq,æf 17cøã⬼²LÖZOŸ'"YìÖ­›AÛÎ ÝÕ,ŠÖͧ›AÛÎ Ý>ø9Ÿ”Ï_eñO¶–¶„ŒÁÝÁ]½^æ;ßáÎï%¦¦µ›VÚ­å\ì\èÕ¨Ý<»±óìN6DmÐY¶ªEUúúöåEŸñªé…cUG.ß¾Ìüˆù¸|€Ùa³‰x3B]þtâi¶ÆnÅÂÔ‚O{}J7Ïn˜*L9på3~ŸÁ¾Kû8xå îÑTñ„y"’E!„OŸäôd×ë3»ÍÔxYà·3¿ñj«WÓr UØ{i/SB§°ôÀRòTyÌë3n »a¢0aEä V]IðÑ`þøŸro¯(;’, !„0ŠèLMLY5t•Æ+ÎV®­XôÒ"zýЋð áø»øSË®ݽºcª0ÀÇÙç’?¡:|õ0ìø€•ƒWâQÃàxŠrîÝs%Ž©¼eæd2~óx.ݾDð`êÚ×Õ*›Klb¬F¢ùOV£®GzMGŽÌì6Sý}¯F½èîÙçvòA·Ül°úÜ»ßecÔF.¦TÎ H•™$‹B!ŒâBò”yJ:,ïä¿.Ø£¼`s±ëiטÙu&¶L ë7]éàÞgüëøº^`QþJø‹··¿Íwƒ¾Ã«¦—Áñ ÿ„É¡“±±´¡“G'ëžw}^ë^uìêЪ®f=¦&¦8Û:ë½üxr”*Y<|ø0 Oý€_Q9,^¼˜Å‹; ñ ©[WûI‹Ð_Á¬¢Æ÷å(s€ü§ˆ»ÇïæD þJø‹cqÇXº)Õ«TgIß%4ªÙ¨Øú¢®G19t2Ëú/Ó¹(µ¾ñåI³˜”žÄ«^%>5žà!Á…&Š›Nm"O•Çì³5Â6õÛ0ÿÅùô[Ýõ¯×J÷X  '(ô òòò´Ž‹'[©’EOOO¬­­yñÅË*! ²xñb|}}éÑ£‡±Cψß~ûM’ÅRjP£±‰±zë¶–¶Å–7U˜Òʵ•:áÉÌɤÇw=xÿ÷÷ùå•_мötâi&l™À’¾Kh^§y™Äó¤‹KcôºÑ¤f¥²zØjžsyNgÙÔÌTç ’è¢ÊˆÊ­TÉb5¨Q£‹-*«x„0ÈâÅ‹éÑ£‡|E…IHH0vO½ÁÍsü·ãŒ^?š‰í'âWÇ[K[’Ò“8Ÿ|žèFú¤[;¯Lÿ&ýyÞõyêV«KŽ2‡CW‘š™JVnV‘õœO>ÏøÍãY¸€u[”IÏ+^!;7›‡þ¨3A.à[Ë—çv2w÷\LLLxÎå9LML‰ºÅÇ»?(ñ+QyȘE!„F1 ÉŽÆesôfÞy£Ð2C› öf,'¯,¼ŒßPu¤d¤0zýhnݿŨu£ -S°ÎbIâ1†éÛ¦k-ë3vãXõ×_÷ÿš^z°êØ*’Ó“üm óè:˜#üG°1j#ñ©ñ¼¶ñ5­²5mjòF›ÂûDT~’, !„0 …BÁüçÓ©A'6ü½˜›1dädP˶ÞNÞ h2€öîíØrä+W®äêÕ«Ô­[—qãÆáææÆ°aÃèß¿?“'OÖÙCëÔ§=ÅѧÿoÖ¬Y|óÍ7DDD T* `„ êiõÑÑÑLœ8¥RÉ_ýEçÎÕ÷Y¼x1~~~¥úYÚW¥Õ»÷f5ªÎâÅ]‹9••+£‰‰¹…R™‡··¯¼Ò„æÍkjÝãÎ,‚ƒcˆŒ¼NZZ6..¶ èI``ƒGÚ§¤gÏ\˜;·=?üpŠ]»®­¤mÛ:LšôvvÚOÅŽ¹ÁÊ•Ñ\½šFݺ¶Œ× 77;† ÛNÿþžLžüp«®ÇÛbhú´§8úôߣñÍšÕ–o¾‰"""¥RE@€ &øccc@tô-&N܃R©â¯¿éÜyƒú>‹wÁÏÏ©T?KCûJ!žUºÎ¢ -[¶äÏ?ÿTÛ´i£FâÁƒeMLLX²d o½õ–úXdd$AAAܺ¥½ÀêØ±cY¹r%YYYX[[óÒK/¡R©Ø¾}»FÙçž{ŽÈÈH,,þ‡Ì믿ΣÝajjʼyóx÷Ýw™0a_ýµÎ¶R§¾í)оýW_`` ééé?oooöïߣ£#Ðùä0""‚Î;—êgiH_GŸuml–вe-þüóá ›6cÔ¨ßyð@ùXÌ –,éÊ[où«EF^'(h ·niÕ;¶)+W¾ð¿öåbm½˜—^j€JÛ·ÿóXûœ‰Œ……©úXpp4¯¿¾‹Gÿ6šš*˜7¯#ï¾»— üùúën:ÛbHú¶§(úö_A| HOÀŸÆk”÷öv`ÿþá8:ZsàÀ5:tXWh}CéÜÙµT?KCúª0²Î¢ÂXž©u¯]»Æ+¯¼Âƒ8p ëÖ­cóæÍê¤mòäÉœ<™¿½SZZýúõ#%%…—_~™uëÖ±sçN–-[†——ÁÁÁ¬]»Vãþ;wî䨱c|ñÅüöÛo|÷ÝwÔ¯_Ÿ'N°qãFu¹¸¸8þõ¯¡R©xå•W aýúõ 4ˆ™3g–¨MúÖiH{JÓvíÚÅ©S§˜?>Û·ogÅŠxxxpöìY¦N @Ó¦M‰ˆˆÈßô¹çˆˆˆPÿñóó+³Xôí«òríZ:¯¼²ƒ” èźulÞÜ—×_oú¿˜ÿàäÉ$ÒÒЯ߯¤¤dòòËY·.;±lYw¼¼ªÍÚµgkßeŽ»Á_tâ·ßðÝw=©_ߎ'Ù¸ñáÞ±qqiüë_á¨TðÊ+¾„„±~} ƒ5bæÌý%j“¾uÒžÒô_]».sêT2óçwdûö¬XÑ{Ξ½ÍÔ©4mêHDÄPLL<÷œ3CÕüü ßAÂXôí+!„xÖu»¿Ÿ~ú‰ÌÌL­§h ÀÕÕ•Ù³góý÷ß³|ùrÖ¬YCRRŸ}öï¿ÿ¾Æ}† ‚»»;«W¯fĈêãfffìÛ·///õ±† ÒµkW:ĨQùû„þüóÏdgg3mÚ4™¿C‡åµ×^#88Xï6é[§!í)MÿÈËË#<<ÿ‡OÌ „··76l`ÅŠØÛÛÓ¹sg Õ«W×x ]–±èÛWåå§ŸN“™™«õmÀO\]í˜=û ߊåË»³fM,II|öYÞ¿µÆ}† i„»ûw¬^È>´Ï„}û†ãåUý‘öU£k×:tQ£ðóÏgÈÎV2mZK™¿C‡zóÚk»ŽÖ»MúÖiH{JÓòòT„‡ÁßÿaÒ7hÞÞÁlØp–+z`ooIçή(P½zþ×Å1$}ûJ!žuFM£¢¢?~¼Ö¹ñãÇ3{ölu™#GŽÊž={Ô¯‹U*•úë³gÏjÜ£eË–‰@‹-HIIQ‹ŽÎÿÏøÕW_ÕŠc̘1%Jõ­Óö<®$ýWÀÏÏO#Qptt$((ˆU«VqæÌZµjUl;Ë"}ûª¼DE%ý/¾fZçÆoÎìÙÕe޹@hèEö칪~]¬RñÈÏë¶Æ=Z¶¬¥‘ˆ´hQ €””‡¯~££“xõÕ&ZqŒã[¢dQß: iÏãJÒüüœ4EGGk‚‚°jU gΤЪU­âšY&±èÛWBñ¬3j²˜••€ƒƒƒÖ¹êÕ«£P(Ôe Æî$Y…±´´Ôø¾°ûŒƒS*Žk*X/°Zµj…ÆQúÖiH{W’þ+PX½‡¡k'‹¾}U^²²”ÿ‹ÃZë\õê–(ˤ§ç“¬ÂXZjþurp°Ò*ca‘?òC©|88±`½ÀjÕ´ÞÕ«kߣ(úÖiH{W’þ+PXÛе ‰Eß¾BˆgQ“Å:uêpìØ16l¨qîøñã¨T*uW×üWQË—/ÇǧðWcæææ¥Šãäɓԭ«¹$lj' ºgqÊ¢=%é¿111>5 ½Ÿ¹¹aC€ ê8y2‰ºu5×®Y ¤K—.DDDàïï§§'œ={–àëëËØ±cèÔ©cÇŽ%88˜† âáá³³3wîÜáÊ•+deeñÞ{ï1tèÐbjÕöÒK/ѺukŽ9‚ÞÞÞ(•JΟ?OÓ¦M‰‹‹ÃÔ´èe4Jª,ÚS’þ+àããêU«X¿~=žžžÄÇÇsóæM>ûì3²þþþDDDàîîNýúõ111Q¯³X±[``ºt©GDDþþ?âéY SΞ½ÍƒJ|};¶):¹2vlS‚ƒ£iØð<<ìqv®Ê;Y\¹’FVV.ï½÷>Áx{; Tª8þM›:—†©©Ž­L Tí)Iÿðñ©ÁªU1¬_OÏêÄÇßãæÍû|ö™ærMþþÎDDÄáîþ=õëÛab¢P¯³X±! çdã$O…£&‹ …‚ÐÐP&OžÌš5kÔ:LLLèß¿?ß|ó ÖÖÇ }ÿý÷øúú²`Á.]ºÄ¥K—€üqnC† aذaÅajjʶmÛ=z4;wîT?ëÓ§'N¤wïÞå²µ]iÛSÒþðòòbÞ¼y¼þúë;v {{{,XÀ!C4ÊΛ7~ýúG\\©©©ÆXŒM¡€ÐÐ~LžükÖœVOè01Qп¿'ß|Ókë‡E¾ÿ¾'¾¾5X°à—.ÝåÒ¥»XX˜2dH#† +y¢ùë)nÛÖŸÑ£w°sçeõ“±>}<˜8ÑŸÞ½7—ËÖv¥mOIûÀË«:óæuàõ×wqìXþ/)öö–,XЙ!Ci”7¯ýúýJ\\qqi¤¦f—Y,¢lÜH»AÄ?Ü˾‡§£'<:qþÖyvŸßMï>4tÌ–rõÎUBcCéèё浛s$±Tµ¨Ê0¿üëîeßcߥ}ħÆcifI“ZM´^‘Æ&ƲçÂ{?~îEŸiP£V½Íj7ãЕCœN\ˆßßÅŸ@Ÿ@–XŠWM/dqé¥X˜Z°xÿb\>€¯³/Ãü†±óÜNÞÿý}îekðwñgYÿe8ÙäÿìcoÆjÝ»@Á9'd± Þ…{y5R]ÞÌÄŒº}Àè£KÔîâÚu=ŠÉ¡“I¸«9”¨¶]mV XA“ZM ŽMß~**Æžzr*€ÃWsøêaõ}&L"ñ^"K,Õx]p?ksk¾‰ü†ð áêkLML™×{šЈ©$Ÿñd{bö†¶µµ¥eË–zÝG¡Pàéé©•À011ѹ6 ®s»víÂÞÞž6mÚ¨'¹ìÙ³‡O>ùºwï®Qþñ¶oì IDATR§¾íÑGIúò“²Ç—Ð)Œ™™M›j¿¾+Íϲ4}UEí'lkkAË–ú-Ù¢Pä'o'pLL:×Ôun×®+ØÛ[Ò¦Mmõ$—={âøä“HLLtï^¿È¶R§¾íÑGIúò“²Ç—Ð)Œ™™ M›jÿRQšŸeiúJÄ“IÞËüOtt4ï¼óNNN¸¹¹qýúuõ“ &hÌ¢¬EG'óÎ;{qrª‚››=ׯ§«'˜L˜à¯1KXˆ'Áªc«Pæ)™0™‰ÕÇ'L¢ïª¾:¯ËÌÉdë«[ñ¨á¡>6}ÛtróryµÕ«|Ðõu²ónçwðãN^;Éá¸Ã´­ßÖàx3s2 }5TýÄòŸÏö|ÆÊ£+ J kËì]³IËJcnϹŒ|n¤FùÕÇWóiø§l=½•þ#4î£Ol?ù¡ÄýTXŒÿ¢`6ô„vônsŽ2‡¯ïÐxE>ã÷„œ áXü1º6Ì߯ÝÐχx2u6ô“¤W¯^´oßž¤¤$Ž=JBBVVVL›6Å‹;Ä“I^C !„(12s2ù6ò[ã×Ó®³éԦݫEÝ(UJí[¤q<53•ï§.PÇ>'¨ˆ‹eÓÙµAg[Oo埔4Ž­:¾Š”Œõ½ËB»úíÈÌɤ~õúêPýÓÓ«'Ík77(¶’ôSq,M-Õ×–‡²ü|ã“'‹B!JlL«1üvæ7¾Ü÷%. YfÜɸîó»Ô‰ˆ¾^{þ5~;ó+®äxÂqžsyŽôìtö\ÜÃíŒÛøÕñ£M½64©Õ''vžÛɈŸGàçâÇ­û·ØunU,ªè¬ÃÚÜš¾«úòB£¨iS“Ó‰§9tå …‚מ­T}ñ¨ÿk÷ì<·“éÛ¦³êØ*š×nŽ­•-ÉéÉœ¿užèÑ ÆÅþá¤I}c+I?ǵš+& 6ÚDn^.Õ­óWC(«Å¸Ëòó!ŒO’E!„%Ö¼vsæöœËÇás4þ¨zÛ8¿:~tiØ…Eû©Ç²§±sc÷]Ìû¿¿OÔõ(¢®G©Ï¬X0¡ÃÊÌŠYÝg1%tŠF½îtkع»çZÇØVcÙy?¡±¡êck–å¶vuíë²fø¦o›NÌÍbnÆhœ÷qòÑHK[Iú©8Õ¬«1 éBN…°æ¯5êãe•,–åçCŸ$‹B! 2Ü8t"âbéÒÕ;t|´ë#@s2DÁkY—Â×wíÕ¨íê·cßå}$¤&`afAÓZMµv&èíÝ›&µšðç?’‘“¯³/íÝÚs:é4“&:û×ÒÌ’5Ã×°ÿò~Î%£ŠE:7èlÐ.ŵ¥±sc~íwN\;AÌÍ2s2©e[‹F5áãìSªØôí§âb˜×{Aƒ8xšŒœ õñÂö†.ê~çšÕn¦q¼$Ÿñd“dQ!„AbnÆàë쫱ž`ÌͶÄlÁ¡Š“¶‚„¢(vVvúêU·k5W^nñ²Æ1_g_|}u^c¢0¡“G':ytÒ«]ôi‹B¡ EÝz!,Ilúô“¾1¶skG;·vÇ Ûº¨ûé:W’χx²•*Y<þ<.\ÀÕUf9 ãûî»ï 1vâ‘’’Rª]—*ƒ%–p)å-ë¶Ä¡Š—o_&âbJ•’Ñ-Fm&®!’Ó“Y÷÷ºbËyÔðÐ;¡}ÖU¦ÏdzNž,ŠJ##£²~—¨(‡‹/RÉ5­Õ”?ÿù“«w®jØt z‘è§Å­Œ[,=°´ØrÝ=»K²¨§ÊôùxÖ•*YôòòÂËË‹M›d¼0®üAÝSÙ@T”Áxy;ãš0‰MðWÂ_ÜH»­•-Ï»>§ã“óÄUŸ±{ŽUõšÜQ–»¡èÛÓêiø|ýÈ“E!„«k_× I"EŸ±{5mj–ÙL`}éÛÓìIÿ|ýÈ¢ÜB!„B'I…B!„N’, !„B$YB!„:I²XÆ:Äœ9s¸råŠAׇ‡‡3gÎnÞ¼Y¶ !„B@’Å2vèÐ!æÎ[ªdqîܹ’, !„≠Ébk×®³gÏÆÍÍÍØ¡!„B”š¬³XÆÚµkG»víŠ/(„¢Ò»”r‰w~ÈÀfØt ±Ã ’,–±C‡Ƙ1c´ž.^½z•ððpqpp sçÎx{{ë¼WFF¡¡¡\½z•:uêDµjÕʹB!ÊÊý÷9”6õÛ¨K>Çܰ¹ i>„~Mú1:!ô#Éb+³Ø¹sgdñƒ>à‹/¾@©Tª) ^{í5–/_޹¹¹Æ}.\¸@¿~ý¸zõážšŽŽŽlÙ²…€€€ro‡BˆÒó¨áÁÏ#~ÆÅÞE}ì^ö=ŽÆ¥½{{#F&„þ$Y¬Ë–-cÞ¼y( ñññáÊ•+üúë¯üðÃ8::2oÞÿüs6oÞLÿþýÕÇ9B‡X²d ~ø!U«VUŸ«]»6û÷ïÇÎ΀ÜÜ\†Ê/¿üÂêÕ«™>}zÅ6B!u=ŠùóÝr4­\[ñÓ‰Ÿˆ½‹“owz›ýò/ºyvãµç_S_s$îKö/Á±ª#Kû-UOÏNgüæñtpïÀ›m߬Ðv¤f¦–*Ö¢úáÓ^ŸjYü5æWV] À¦¨M¼|P}ïµ#ת¿¾|û2›£7s>ù<¹y¹¸;¸3¨é |œ}* W„Ð$Éb9‹‹‹#!!öíÛk$Š­[·fðàÁ¬]»–'NСCõ¹÷Þ{O(˜™™ññÇóË/¿pðàAI…Fu7ë.GãÒ¬N3>Þý1IéI4vnL5ëjܸwƒQ5°gwp4þ(ïÝ}Oýj6òj$GâŽäTl½/¯{ež²ØrÕ¬«±|ÀòbË”&Ö¢ú´Ç,^K»Æ™¤3$ÜM án‚VLkO®enØ\”ª‡íÜwi?ø‰÷ú7ƒš Ò«ýB”IËÙ;wððð(ô|ƒ ¸}û¶Æqwww­²Ç î)„ƶúØjÜÜ™0‰zÕêag•ÿKn€{ëN®ãzÚuêØÕàà•ƒ´rműøc¼r!͇pàòükÜŠ}4þ¨ÞÉ¢cUG½Ê•E¬ºúáqý|ûakiËÇ»?fpóÁôóÕœàrâÚ æ„Í¡ŠEFø yíæX˜Zs3†UÇW1k×,ÚÔoC]ûºzµMˆ² Éb9«^½:—.]*ôü?ÿü€ƒƒƒÆñË—/Ó¶m[­cÞS!ŒÍÉÆ‰_^ùkskãnù ØËÒ|×Ó®sùöeÆ·Ïݬ»ì¿¼ÿavånÕÝ4&è²føT*•^±™›š_¨ŒbÕÕs±wQ?u¬k_Wk_¦ñ—U¬ºú¡¤¢nDaª0eñþŨT*Tä'ǹÊ\þIù§ÔõQ’,V€3fðÖ[oѯ_?ñööæêÕ«lÙ²…œœÞ{ï=É-7nÜÀÇLJÀÀ@,--Ù³g±±±8::2fÌã4D!SÛ®v¡Çí¬ìhZ«)‘W#ÉSå±ÿÒ~:6ÄÙÆ™÷‚}#šÓ‰§üWÁú(ë1‹e«®~(©Œ(UJ]9¤³LVNV™Ô%„¾$Y¬&L !!ÿüç?lÛ¶mÛ¶×Yüä“O´®ùúë¯yûí·ùöÛoÕÇ ÖY”es„OƒøûÀßD]âpÜaú7ÉŸä÷|½ç±0µàà•ƒœN<©‰©Æ¢ÕE)1‹å«. …¾N¯mW›Ê|;ð[LML ½Þ¡ŠC¡Ç…(/’,–±ÜÜüצ¦šÉçÍ›Çøñã5vpéÒ¥‹Ö.Ý»wÇÊÊŠŽ;rúôi¶nÝÊÕ«Wqqq‘\„O•öníùêÀW¬ˆ\Ajf*ÜóW|°2³¢¥kKö^ÚËÅ[i^»9¶–¶zݳ<Æ,–W¬ºT1¯@\jœÖ¹ž^=Yz`);Ïídz§éØ[Ù«ÏÝ˾ǖ˜-´¬Û²Tõ QR’,–±‚‰,OXpssãõ×_/òúîݻӽ{wõ÷#FŒ(Û…¢‚ø»øcciÃÿÀÂÔ‚V®­ÔçÜøâÏ/ò¿Öó4”ϘE(ŸXuq¯á޵¹5¿DÿBÌͪYå?X;r-¯·~Ýv³öäZ6FmÄÍÁ [K[’Ó“¹qïÊ<%ÁC‚Kƒ%abì*‹íÛ·3nÜ8~üñGìííñòò2vHBaT¦ SZ»æÏöméÚRcÈ£IW{7ãOÚ«ÈX­Ì¬ø ëXšYr>ùÓÚëY!*“fµ›ñ󈟩_½~‘åfõ˜ÅØçÇR˶–Æq'ÖŽ\‹J¥ÂÏůµ™ø»ñ¨T*êW¯OoÃý†cmn]ê~âI%É¢>ýôSfÍšÅþýû 0v8Bñĉ¾Íþü”ÈÌÉdKÌî&°nä:­ò'®àó?>G©R§ÊC¥Rñöö· Õ({6é,sÂæp&ñ ÿîýo’Ó“þóprw2ïðÇÅ?ØûÏ^~ñ­\[›Íȵ#9“tF]6æf ã7§·öz­ ö.àû#ßk‹¹CÌÍÌMÌy¹ÅËÅöG£/¡ÌS[À±ª#‡'Ö«¬åM’ÅrðöÛoóöÛo; !„(ÚM u½ÖÅNpÙ»•þ#xíù×p¶u&öf,S·NåXü1Î$žÁÇÙG£ü޳;Ü|0o´~ƒzÕêajbʯ1¿J£šx·Ë»4¯ÝK3KbnÆðqøÇlˆÚÀ fƒðwñG¡PàÀè£iìÜǪŽÜͺËѸ£¼ûÛ»|ù:Yüï_ÿåLÒÓx­‚©‰)«†®ÂÉÆI}¼•k+½´ˆ^?ô"üB8þ.þ8VuäíNoóíáoùp燤ÜOQ?¥8—|Nýõγ;Q(,ë¿ OGOªØWaî s¹|ç2‡®Òˆ­–]-º{uÇTa €³VŠrîÝsÅâ T!³¡ïÝ»ÇG}DãÆ±¶¶ÆÎÎŽ®]»²{÷nu™ääd\]]qtt$..Nãú}ûöaffF@@¹¹¹zß³@zz:sçÎ¥Y³fT­Z•š5kò /®.3jÔ( ·ni/?Pp.55€îÝ»3kÖ,:tè€B¡@¡P¨Ç'.X°…BÁŸþ©qŸøøxƇ««+ÔªU‹#FpöìYr3fÌ@¡Pð÷ßóã?Ò¤I¬¬¬¨_¿>sçÎ%//OÏž‡Ó§O„½½=vvv¼øâ‹œ={–1cÆhµ÷Ñz¿ûî;š6mŠ¥¥¥ú)©¾ñ—¤/¯wÙ²e4jÔ+++<<<øôÓOÕ?s!ÄÓ¥M½6ZÇ\«¹pÿÁ}­síÝÚk$Š’/ ÌSÒay}ѯù^xÎ÷Äs¾'½~èÀõ´ë@þkìÁk³ãì’Ò“4E€¬Ü,õ×WS¯âlã¬NÕѽ£Ö±™]g’§Ê£ë7]ùpç‡ü|ògN'ž.® „¨ÊýÉâ;wèС±±±êcYYYDDDð矲fÍFŽIÍš5Ù´i;vdðàÁìß¿ nܸÁСCqttdãÆ˜™™é}O€””:tèÀ™3Ç¥dddFXX999˜™•ÿÖË—/Ó¦M’’’ÔÇY·nÛ·oç?þ eË–×|õÕW«¿‹‹cΜ9äåå1wîÜbë<{ö,íÚµãîÝ»êc¿ÿþ;GŽ¡E‹:¯ûâ‹/X·îáx¢¼¼<ƒâ/©ùóç³~ýzõ÷—/_fÖ¬Yœ;wŽ5kÖ”êÞBˆŠgif©uLA~2¨R©´Î=:é¥@ž*ÿ—ã¢Æúå(sø&òr”9L ˜D¿&ýp¶qÆÂÔ…BAÏï{r;ã¶Aí€ü§ˆ»ÇïæD þJø‹cqÇXº)Õ«TgIß%4ªÙ¨Ø{ȘEñ´*÷'‹o¿ý6±±± 0€cÇŽ‘žžNJJ ëÖ­£ZµjLœ8‘û÷óÃlÓ¦ .äèÑ£L:•ÜÜ\† Frr2ëÖ­£N:%¾ç”)S8sæ M›6eûöí$%%‘’’BXXݺuÓú-Vááá|òÉ'ìß¿•J…J¥Òz’ø¨É“'“””DÇŽ9~ü8÷ïßW·áÞ½{Œ7NëšµkײtéR®_¿NZZ?ýôfff|ýõ×…þCû¸éÓ§s÷î]^|ñE¢££¹ÿ>'Nœ Y³f„……é¼nóæÍ,\¸„„T*_~ù¥Añ—TA½×¯_çöíÛ¬]»~úé'öì‘å „x’˜(òÿûÐ7ù1Tƒ °6·æäÔ“\œq±Ð?_÷ÿ€øÔx«:2)`õªÕÃÒÌ…BA\jWn_ѸoýjõILOä­ Zuî»\øî'¦ SZ¹¶âͶo²¸ïbþü¿?IÏNçýßß/óv ñ$)×GjÙÙÙ¬[·___BBBÔ‰YÕªU6l·oßf„ ìß¿Ÿ^½ò_'Lœ8‘ÈÈH–/_NLL ûöícÞ¼ytéÒ¥Ä÷ìÔ©›6mÂÁÁÝ»wãì쬎­GôèÑ£<›¯vÿþ}vìØ““Û¶mÃÎ΀ƳaÃüüüøûï¿9þ<^^^êë>úè#&Nœ¨þ~äÈ‘üú믄„„O½zõtÖ™žžÎ®]»¨W¯!!!XYYàïïÏ–-[hذa¡¯‰¦NÊ´iÓJIM™2E£ÞáÇ£T*yùå— ¡[·nß[Q¶ì­ìü¥jR3S }*X7Ìñߎ3zýh&¶Ÿˆ_?l-mIJOâ|òyB¢Cé?’vní¨cW‡‹)Yó×ú5éÀ_ ñï=ÿV?¡,ÐË»Q7¢˜°es{Î¥yæê .W¼f0ý›ôçy×ç©[­.9Ê]9DjfªÆëí¢È˜Eñ´*×dñÒ¥KdffrúôiÌÍÍÔOá ¾´Æ(~ÿý÷:tˆ}ûöѧOÞ{ï=ƒîyùòe²³³éÝ»·F¢XÑ®\¹Bnn.:tP'ZÌÌÌxá…ˆåâÅ‹ÉVak4zxxùc6‹«S©TÒ±cGu¢XÀÞÞž6mÚ°}ûöB¯}<‰64þ’zá…´ŽüqñâE­sBãq«î†³3‘W#i¹äá”Ç×Y,­Mp4î(›£7óFÈ…–)صd¸ÿpö^ÚËÜÝs™»ûáPÆÎñªéERúÃa4£[ŒfkìVÎ$áåu—½Q(¼èó"¿ùM£ŽØ›±œ¼v²ðúýŒ»kÊômÓµ–»q¬úë¯ûM¯F½*:,Q‰”ëk肉*• ¥R‰R©$//O#¹xðàÆuÇŽ#!!€ .h$F†ÜSŸWÍ&&&÷Tfff±×룤¯¼­­µy-¸‡>¯¡‹ª³¨ëkÔ¨Q¢{=®,û² NC† ñ¬°´TñàAÅþ151eÙ€e´¬Û²\¤V(Ìq>Kû-¥½[{ì­ì175ǵš+=¼z°bÀ Ú»· »gw¾|éK¼¼±2³ÂÉÆ‰áþÃY3| ¦÷µ4³äç?3Ò$ŽU±4³¤±scV XAGí .›GofÔs£hèØ+3+ª[W§EÝÌë3™Ýf–[û…(Lv¶ VVúåe¡\Ÿ,º»»ciiIË–-9pà€^×ܸqƒaÆQ³fMÞ{ï=¦NÊ«¯¾ÊæÍ›K|ÏÌÌL,--Ù·oIII899é,[pîòåËå2228räˆVù‚„HŸ™ºnnn˜™™±ÿ~ÒÒÒ4žÎ)•JõøÁ† {/}¹¹¹ajjʾ}ûÈÊÊÒxº˜––ÆÑ£GKt¯’Ä_Ò¾,°k×.­WÍ;vì AƒzÇ+ijÆÞ^É;¦^¯_?ÖZ¯u¼£GGO ;WTù}¼ûºXöã‚|ƒò Ò:þë˜_µŽÙYÙ1÷…¹Ì}A{ÂàÀ¦5¾÷qöaNÏ9ÅÖo _ZÈ—; Qnß6¡~ýœ «¯\Ÿ,V©R…aÆqðàAFŒÁáÇIMM%++‹³gϲzõjÚ¶mKvv6Ÿx :”[·n±~ýz¦L™Â[o½Å/¿üÂÂ… K|OkkkLJJ ={ödÇŽܺu‹;wî°{÷nzôèR™?8Û××ÈŸröìY2339yò$ àÚµkZmsppòœŒŒŒ"û¡jÕªôîÝ›ÄÄDúõëlj'ÈÈÈàÌ™3 >œ˜˜üüüJõ ÷q666ôìÙ“«W¯2tèPbccÉÈÈ£¥¥a IDAT **Š’œœ¬÷½JIû²ÀâÅ‹ùòË/¹yó&wîÜaݺuLž<€Aƒ•¢7„¨Ü6Ìáüy‹â !žz*\¼h‡Çƒâ —‘r_3fÑ¢EDEE±nÝ:åXUðJtÆŒìß¿ŸùóçÓ©S'¾üòKŽ?ÎŒ3hݺ5%ºç¢E‹8zô(QQQôé£ý[iA¹áÇ3kÖ,<ˆÏÃEV]\\èÙ³§ÖìáN:¡P(øüóÏùüóÏÕÇt͈^¼x1GŽ!""BkÙ¾ÿþûB¯+… rðàA¶nÝÊÖ­[ÕÇkÔ¨A·nÝØ³gzÜgqJIû²À€˜>}:Ó§O×8>räH™Ü"Düý³ µ5vBˆ mIzº þþúM¬* å¾tNõêÕ‰ŒŒä‹/¾ E‹ØØØP¥J7n̸qã8räVVVlÙ²…… Ä;ï¼£¾ÞÜÜœM›6Q½zu†Jbb¢Þ÷pttäèѣ̜9ooo,--qrr¢W¯^„‡‡«×X´²²b×®]¼ð T©R;;;ú÷ïÏ¡C‡¨Y³¦V»|||X¹r%7ÆÂ¢øßè=<<8~ü8¯½ö...˜™™áääİaÃ8vìX©×(,Œ$00[[[lmméÝ»7 77333lmõû¦$ñ—´/ ̘1ƒ%K–àé鉅…îîî|òÉ'¬^½º´]!D¥Öµk fDGk¯k(„¨\vî´ÁÅ%oïŠ{²¨Pé;S¢ƒ`Ó¦Me( 4jÔˆ pêÔ)c‡ÃŒ3˜?>'OžÄÏÏÏ {( –.]ZèÓc!ÊÃ[o½…M¹ýû—˜˜HzzºÞå{÷v¥Y³læÏO*¾°â©”™© S§úŒu—I“îè}³³3666†V»©B¶ûÆ3`ÀÂÂÂHNN&55•ððpÉÈÈq€BT"o¾™Ê¯¿ÚræŒ<]¢²úöÛêää(92­Bë-ÿ}î„Q………±eË­ãÞÞÞ ` !žnAA÷X¿ÞŽ9sY¿þ²Ú”•Ëõëf¬\YiÓnS£Fùîœô8y²XÉ…††òâ‹/âââ‚……nnnLš4‰”æ‘´â £PÀÌ™·8yÒŠÿþ×ÞØá!ÊPn®‚÷Þs¢N\^~ùn…×/O+¹nݺ=ñ3‰Q.„0\“&ÙL›v›Ï>sÄÕ5‡®]‹^ÖKñtøøcG¢¢,Ù°áff·wy²(„•È›oÞ¡_¿{L›æLT”Œ_âi·lYuÖ¯·cñâ$||*nô£$YBˆJæÓO“iÙ2‹Q£\عS†›ñ4ÊÍU0sfM–.u`öìdºv½o´X$YBˆJÆÜ\Å·ßÞ`ðà4&Ntfñb²³eÆ‹O‹„3^}µ6Û¶Ù°bÅÍ Ÿýü8I…¢25…>ºÅܹÉÛÓ«—+aaU–¢™™ /v W¯z$%™±aÃ5£>Q, \„¢1"îÝ3˜?ß jáã“ÍС÷èÖí>µjå;^>¤Âø"##ñòò¢FÆE}ú`eee„¨De'É¢Bñ”077§wïÞ˜››kÏÍÍ套^2RT¢²“dQ!„xŠ‘““£qÌÞÞž¶mÛ)"QÙI²(„BŸýÙû½?÷¬o¯µ?S×®H®d ‹"""—™¨¨(š7oÀí·ßŽÁ`hàŠäJ¦/¸ˆˆüÅ”—ضÍädW²³).v ºº¡«{¹»ß L#)é>&M jèrÄN®®&7®&"¢‚®]ˈŒ¬hè’¬RXù‹ØµË•Ï>k̪U(-u 8¸ŠÐÐJ||ª1L ]žØ©Y³»ÈÍý/¯Ž ]ŠÔCq±8³t©%%4kVňÅŒSŒŸ_Ý/^o(“ɤÿ!"r‰ÉÍÍ=o߆ÎËsbÚ4_V¬ð¢C‡r˜ë¯?IÓ¦Uç¥i8?ÿü3×^{mC—!çÀd‚ädWbc=Y²Ä‹Š “&cܸ"œœÎOD;ÇoC/VX¹¯°øÅÞLꇟŸ‘çŸ?Ê7ž8ՉȅPZjࣚðÉ'>4o^Å»ïæœ—ËÓçõ€‹ˆÈÈh„×^óçå—xðÁ"bc³E.qîî&¼€ØØVq÷ÝÍY»¶öç/6…E‘+Le¥G fñbofÌÈåñÇ puÕE$‘ËEHHsçæÖ[K˜0¡) x7h=zÀEDä óâ‹lÛæÆçŸ$*ª¼¡Ë‘zpr21eJ>ÍšUñê«8°a®heQDä 2kV¾ùÆ‹·ßÎUP¹LœxŒQ£Šyüñ@RS]¤…E‘+Dr²+o¿íË¿þu„O6t9"ržüßÿ!*ªœÇoJUÕŻ¢ˆÈÀd‚)SüéÖ­Œq㊺9œœLüûßy:äÄgŸ5¾øã_ôEDä¼[±Â‹;Üøæ›lôå7¹œx-^ŒóáÃæ¿OÜpå‘‘ XÑ¥)8¸Š‡*dÆŒ& vü¢¾¸[aQDä 0k–Ç'2R÷)^Êbccyì±Ç̧§§7`5 ÏcýzŸÞb[eóæ ‹V<úè1.ôfÁo&O>vÑÆÕeh‘Ë\b¢¿ÿîÂØ±ºü,—ÇÂÂZAQÎÌÝÝĈÇYºôâ¾JGaQDä2·v­!!•tê¤UE¹|ø¿ôŽyyTûø4t)—•ÁƒK8xЉݻ/ޓѺ -"r™ûõW7úô)kè2TRRëÖ­ÀÍÍñãÇSPPÀš5kÈÍÍ妛n¢uëÖTWWó믿’ššJqq1^^^téÒ…¨¨¨Zýfff²|ùr‹m...øùùEÛ¶m­Ö”Íúõë9qâ:t _¿~g‡=µÙ:ç²²2¶lÙ¾}û(--%00°°0¢¢¢pr:{ pùýwsæàp¢æýe;sòºëÎÚ§çòåæ>¼ôO=uÖc¤FçÎåxzVóë¯n´o…¢ˆÈe.=Ý™k¯ýk¿*'))‰˜˜|||ˆŒŒä±ÇãÄÿBL»víhݺ5ñññ¼øâ‹8p V;wæ?ÿùáááæm™™™æ~ëÒ»woÞ{ï=üýý-¶üñǼõÖ[<„Я_?† fµ/{k³eÎLœ8‘‚‚‚Z}z{{3aÂyä«5T„‡ã¶y3î ¸&'“óßÿÖŒûñÇøýûßýý)^±âŒ}8åäðꫜ¼î:ަ°hƒ""*Ø·O+‹""b£ÂBÇ‹úd䥮´´”É“'E—.]pqq!<<œ-[¶ðàƒRUUÔ½.]º°sçN¶nÝJRRcÆŒaÅŠÊäÉ“Í}FòóóY³f GeË–-<óÌ3Ì;×ÜfÕªUL›6ÍüwTTÝ»wgëÖ­¼õÖ[uÖ\ŸÚl™ó„ ÌA±oß¾téÒ…ÂÂBöïß϶mÛˆ?kXÄÑ‘Ü÷Þ£Åm·á˜ŸO£µki¼`e;ãûöÛmªÏÜ—ÉDà?ÿ‰Cq1Õ^^ä¿þú™ÛK|};vñî$TX¹ÌUTpvÖ·ŸO)//ç‘GáñÇ·ØþÄO˜ÃØðáÃ-‚ÛØ±cÙ´iùùùÌš5‹—^z ¨OÙ·o7Þx#7n$''‡¦M›0sæLs»îÝ»óÅ_àèèˆÑhdĈäååÕêoÊ”)v×fËœO­R:;;3{ölœÍûŽ;Æo¿ýV«¯ºÈ}ï=š F#~o¾‰ÑÏÃÿj>úä“”öî}Ö~öî¿üRsÌóÏSdÓøbÉÕÕDyùÅ{G–¢ˆˆ\qzè!‹¿=jŒªªª,./WWW›ÿ½~ýz‹@VQQÁŽ;Ø»w/ÅÅÅTVVZ´‡šWà4mÚ”’’RSSÍÛo»í6pttä¶Ûn#))é¼Õv¦9´oßžääd*++CYNpbÐ Ç?ëñŽÇŽá7}zM_ýúQ|×]6- KaQDD®(ÞÞÞxyyYl;vÌòtß}÷ÕãsssÍÿþùçŸyöÙgë¼çït%%%a2ý±Êûç{}}}k[ßÚNWלÞ|óM&L˜@vv6°¸ÒÑÑ‘ñãÇó”÷ G“Y³p8~ܼ­ðᇱåMðÅÅÊjĪjÚ_+÷‚6Z½çƒ)2„Š3<@$¢ˆˆ\QjßËÕäÔÓ»ÿ3lØ0BCCë<þÔJ`YYO<ñÇÿŒš7oΠAƒhܸ1F£Ñâró)[~ŠíÈ‘#×:ëSÛŸÕ5g€ÈÈHÖ®]Ë®]»HII!++‹””6mÚ„ÑhäÃ?äÆo¤sçÎuÿgþ/¾hŸžìo¾¡ºQ#›úðZºÔê¾F?ýD£Ÿ~¢"<\añ¡°(""W>Øo¸ãwÞiÛå¢PX‘¿„>}ú0gÎ^zé%233III!%%Å¢Mdd$:uÀÉɉÿûß<óÌ3”––’žžNzz:Ìš5‹;­š!C†ðôÓOóÎ;ï`4ILL$11‘~ýú1vìXž}öÙs®ÍVƒ béÒ¥lذ¡Ö>þñœuUÑ¡°¦=†¡¢æÐ…>JéÿŒÉ›>àñãÁdÂoêTÊ»v¥ì´L¹2L§ß‰+""—„ÜÜ\óCgÑš˜˜\†µ­ý•¨®¯™Xc2™HLL$%%…¢¢"¼¼¼ ¢C‡„„„ÔjäÈ6lØ@^^ÁÁÁ\ýõxxxðþûï›Û :´Ö ]VV–ù .;v¤_¿~ìÝ»—~øÁÜæÏ—›í©ÍÖ9WUU±cÇ233ÉÏÏÇÅÅ…úôéƒ ŸÚsÇ}Û6ª]\(zäL§Ý;éµlÎYY5cS„4!-?ͼm|Ÿñ<õíS<±â F $20’p¿p x¹zÙ4V¯½Îkí3~™A…±‚g®}Æ®ã–&-%-?ÁmóÖ­oáæävÞk¹T(,ŠˆH½y»y×¹ÝÇ݇CŇÌßy3‚:ðÝoßñuÒפå§Q^UÎ-ná©OYíçtçûžÅ'ødË'xðð¢‡-öí/ØÀƒ_=ˆƒÁù÷ÌÇÑÁѼßÕÉ€#'ŽPi¬TX”+šÂ¢ˆˆÔ[JNJ­m'*N°ïè>=-¶‡ù†1)z’ùïäœdÆ.K~I¾M£œï{+ŒTUWq¸ø0‡‹×Ùf[ö¶šX>ØÍ-‘·p_÷ûxöûg½`4sïžk×}’"—…E©·Õ¿¯fiÒRîì|'¥•¥¼°òNVžäæ7›Ûýûçsgç;ií×Ú¼-È3gGg²lë|ß³èåêÅ‚Ñ êÜ÷üÏs ð³ïš›“u¼–ø¶Ž·áíæÍcËãîÏïæÓQŸÒ8ĦúD.' ‹""Ro‘‘üóûòöú· ô $£ ƒ’ò<œ=,^C3oë<þ»ù¿øzøÒ§Uü~äwªª«¸&ü›Æ:ß÷,:98Ñ»eï:÷5rm@Ï=ñpö°Úǵ­¯eÞ¨y<²øîšŸŽú´^ïi¹”éõ""Ro·wºÇú=ƱÒc$N¢¤¼„VMZñé¨OiéÓÒÜî¹ÏÑ6 -' H<”Hj^*†uÆô[¦7à Î]|1ú ªMÕܳà'6tI"ç•Ádëš¾ˆˆ\4¹¹¹”””ØÔ6"¢511¹ j[ûó¡°´´ü4B›„ÒÔ«)ÅeÅddàáâA„_D­¯·œRp²€¬Â,<\ø-‘‘gìËd2±d×íZDZ^F“‘0ß0FuŘnc0 lØ·=È ×¿@·æÝø÷º“”“„«“+×µ¾Ž®w‹¾·fmeáÎ…ì<¸“ÃÇãéâI·æÝx´Ï£ténnwzß‘‘ügÃØ·›Æn¹÷ª{ùÛÕà³íŸ1û|$Ä'„'ú?ÁMíoª×|ÊÚôµ8¹&üfÆÏä ïðΆwÌÿH.ý¼—ÓûiÐŽw6¾Cjn*. j3ˆ§¯y_ß3ÖzJqY1oox›U{VQ\VLÿ6LŽžlu¾¶üÎvlíçJ¦°("" Âd2ñôwO³ui÷ïv«gmàßÈŸÍ“6ÛÔ`Múz¶ì‰·›·ÍÇœëy9eÇÁL]7Õ<·²ª2%.b{öv–Ý¿ g3ÖZ^UΘ/ÆX<8•œ“Ì£Kehû¡µê®Ïo .竟˙¢ˆˆØåÅA/òâ éöN7Â}ÃYzßR‹ýÓžÎG›?:k?ËS–³ÚôO xÂj­P³‚™š—J¸_8¯Üð ]›w¥àdoþ˜¿.¨U·­¿³‡úü–®4 ‹""Ò –$-ÁÑÁ‘¹wÏ%Ð3м½g‹ž¼së; ùd?ýþ“E¸Š‹æµÁ¯™ÿîÒñ}Æóʯ°;·9,ú7òçékžæ£Íñbì‹=qÔ¼2–ŸV«žáxáúÌi7„Am›Ë¿®ÿ#»Œ4ï{öÚgY”¸ˆô£éç4Ÿº¤=[»¶óá§ß°ûÀs=/§D5‹bêЩæKñ=[ôdÖ³¸á¿7›këª5vŠM ï IDATw,ƒ™·Ï¤<{ðêàWÉ8–Aüþx‹ñêó¨Ëùêçr¦°("" â÷üß1VéÿA æ2® “ù߇ŠYÓ§eŸZý´ðiÀ‰Šæm;î`Ìc¨4VÖ9vYUY­m½Zôªµ­™w3z†X®9:8äÄ‘GÎi>ÓÚôµ´ökMh“P»Ž;×órJt«èZ÷l¶ðiA˜og­5³0“ Ï sP<Ý€°µÂb}~u9_ý\ÎED¤AT›ªÎxÞŸÿíêäZ«šrú»gmšE¥±’ÉÑ“Þi8AžA¸8º`0¸ñã)8YP«Ÿ:ûþ_¸±6nuuõ9ͧ.âžÅãåÇÙšµ•{=hS¿§;×ób¯s©õtõù \È~.g ‹""Ò Zûµ&%7…øÇâñrõ:¯}gfáßȿ֓² °¿`¿]xØêBÎç\mØ·ªêªZ— O½ÓÖpz.âöÇñxÿÇ-V³ ³È(ȰXA´Vk¨O(»rvñû‘ßk­.nÈØPk<{~g: ñ[ºÔ(,ŠˆHƒ5’mßocÜ—ã˜Ôo]›uÅËÕ‹¼’<öäïaIÒÆtCßV}íî»™w3Ò¦3û|†wÀöìíLY3żx¾¯ù\ˆ{פ¯ÁÇ݇nÍ,ï—lìÖ¨y5Laia­×O‰‡y~åóL¸zž¤ä¦ðʯPU]ÅvCÎZëöCH<œÈÄeyõÆW‰je~ÀåÏ— Á¾ßÀ™ÎCCü–.5 ‹""Ò îèt Xš´”ñKÆ×Ùæô§aíqO·{X¿o=¯®~•WW¿jÞÞ!¨mÚ’W’W¯~ÏäBÎç\«¬ß»žqt°üJ«&­ò bSæ&z¼÷Ç'õN½_ð|ÒnË’—±d׋í­ýZóèÕžµÖqÝDZ"e©y©Œ]8Ö¼Ý`0psäÍ|Ÿú½E{{~g: ñ[ºÔèÛÐ""Ò ÓnžFÌðúµêGc·Æ8;:Ó§7´½ïø~aýêÕ÷ 6ƒxûÖ·iØ7'7=¹§Û=Ì¿g>.Ž.çy&5.ä|ÎÅöƒÛ)*+âú6××ÚçèàÈÌ;fÒ#¤îÎî´Žî!Ý™=r6QÍ¢psr£‰{FvÉÂ1 ÍïXd@ø€Zííù œé<4ÄoéRc0éëï""—œÜÜ\JJJljÑš˜˜\†µ­½üµ¼¹öM>ÛþÛþ±F..úø§Áåžœ±mC×z¹˜4)€3rmj„§§g}‡[¬•E‘+ØÚôµônÙû²_—S­%ºgQDDä ¶züê†.Áf—S­%ZY«´²("""Ì€ðäéj¹x´²(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•Þ³(""õ–s<‡û6’s<&&\=„¬¶goçž®÷à@^I_îü’Þ-{Ó»eï VÏŧ¡T›ªI<”È–[¨0V0¬ã0B›„ZmŸ’›Âî¼Ýä—äããîCÏ=ií×Új{£ÉHüþxöìÇh2ÒÒ§%ýZõÃÕÉõBLG. ‹""R/[³¶òà¢)­,5o{¸÷ÃÄïç£ÍqCÛÌa1÷x.1q1LŽž|ACÜŧ!¼ºúU¾Oýž‚“æm]›u­3,®M_Ë”5SÈ<–YkßvC˜~ËtÜÝ-¶oÏÞγß?[ë˜`ï`¦ ™Â€ðçi&r¹QX‘z‰‰‹¡´²”¡í‡îŽƒÁggú¶ê‹«“+þþ½¦ ¯ +2(¬Ü½’ÂÒBº6ëJ¹±œÔÜT«mwÚIæ±L:5íDÿ6x°ïè>Ö¦¯%6-wgw¦ß2Ýܾ¤¼„G—>Jai!a¾a €ƒÁøýñ¤å§1qÙDÖ<º†@ÏÀ‹1U¹Ä(,ŠˆH½ì=º—ÿb†ÇXlïתýZõkš=™=¹AƾÐ^¹ñz¶è‰Ÿ‡¯üøÊÃâ 6ƒÑe-}ZZlߘ±‘‡=Äw©ß1å¦)¸8º°ùÀf K éÜ™ÅcãäPL&,z€¸Œ8Öï[ÏÈ.#/Üå’¥°(""vÙ°o;í¤°´bâbêlwú=‹gb4Ù´iùiTUWæÆ5á×ÔºO®ÒXÉÆŒ(<€Éd"´I(}[õÅÍÉÍܦ®{?Üô!•ÆJ«ãí>–&îMì®çbÒnˆÍm»w©s{ÿ°þ„û…“~$'pq¯ ‹åUåô íkŠƒk¯!.#Ž c…y{æ±L–§,g@øºw!~<©y©ø¸û0¤Ý¼\½(­,å§ßâ`ÑAB|BÜv0ÎŽÎvÏ]–¢ˆˆØeþ ÌÛ6€Ü’\«añô{­I<”È?–ÿƒì¢l‹íÁÞÁ|xLJtjÚÉÜîo_ÿü’|‹vþüyoØ{æ`X×=‹Ä`q_åŸÝÚáVsX´µž3™7¦³¶ðpöàáÞÛÔö|0V),-$Ø;Ø" G5‹ÂÑàH|f‘‘ô 탓ƒûí'.#Ž=ù{Îxâßûþ½ÖÊbyU9s·Îel÷±„ù†Ù]Ï™¼ÿ>ÆjãYç5a÷b†Å¹[çräÄ^òºÅöÆ!<7ð9ÞXû7}rׄ_ƒÁ`øãžÅ¾‰ Œ¬Õßœ„9”U•qgç;iâÑ„_2~!5/•—|™CE‡pqtaL·18:8ò}ê÷¤ä¦ðåÎ/¹¯Ç}kÊr(,Šˆˆ]„`@øænKS¯¦µî,¯*·),þwó).+æÕ_eÌUc,öÍÛ6×z¿­`t·Ñœ, Ì7Œå,ÇÁðÇ+‚ NX<\— WO°ø»ÒXÉß–þ»¢îâùÏ׫ž3y¬ïcv­,^,kÒ×0}ýtn‰¼…Q]GÕÚ?®Ç8J+Kywã»æ•c€‡z=Äßûþ½Î>M˜ˆ}8–`ï`Œ×úÉPâ÷ÇÓ·U_>ù‰ù¾È±ÝÇ2øãÁ¬M_«°x™QX‘Ÿ£Á‘‚“ÌŒŸ‰ÉdÂdª Y'*Ot8 ºÁàvƒ™“0‡E‰‹1ÐüT®¯‡/¾¾6i4™¼|2A^A¼|ÃËõ®çL&EO²¹ž‹eåî•<±â F ä­[ߪµ¿¬ªŒ¾z€­Y[‰jE·fÝp08”“Äì„ÙlÊÜÄü{æÓØ­±Åq·wºÝ ŽônÙ›½G÷òp¯‡ÍA Ì7ŒfÞÍ8XtðÂMT.…Ei' 0šŒ¼÷žÕ6ÇËðxÿÇiéÓ’oR¾áõŸ^ÇÃŃnͺ1¬Ó0†¶jÓxÆj#O¬x‚F.x}Èë †z×s&—Ú=‹‹ñbì‹ÜØöFÞö®Å,§|¾ýóš÷fö|]ÿ/‹}où˜ië¦ñá¦yîºç,ö5õjZ«¯Sïo´¶¯¸¬ø\¦# @aQDD„·›7Æ éýˆÕ6þ8Ñe#ºŒ ÚTÍþ‚ý¬Û»Ž'WK“–ž1,šL&^Œ}‘'xÿö÷­&{ê9“KåžÅië¦ññ–¹­ãmL¿yºÕyæy­J[eñÔ3Ô\Âðvõ¾`µÊ¥MaQDDÄ„¾ˆM‹å©oŸbîÖ¹DGáåæE~I>{Žì!épsîšCóÆÍ™¸l"MÜ›pUÈU´ðiA¥±’Í6“]”MûÀögçÕÕ¯²"e÷÷¼Ÿ™¿Ì¬µÿÔ{í©çL.Ô=‹«ÒV‘–ŸÀ®Ã»Xž²œ‡v0´ýPóÊ燛>äã-ãíæMKŸ–ÌŒ¯=ïÓ߃yKä-,J\Äì„ÙlËÞÆUͯÂÁàÀ®Ã»Øšµµ¦M‡[.ȼäÒ§°("" "¤qóï™ÏSß>ErN2É9Éû##ÍÁl`Ä@VïYm^å:½7nzÃê»óvóùŽÏ˜µiVmn޼™&îM쪧!ü¸çG–§,·ØvúßmÚšÃâc(.+æý_Þ¯³¿Ó߃ٷU_^¸þ¦ÿ<ÄC‰—œ Žü½ßß¹µÃ­çu>rùPX‘zy´Ï£u>‰\×·¡­}³¹CP~xèvÜArN2¥•¥4õjJ»€vDýñ^¿÷oŸü’|¶eo#«0 Â|ø:ôj‹ûÿ<ŽŸ‡ßY?ÿwúl­§!ÜØöFB›„ZÝá÷Çý”ƒÚ²xJ¹.þv÷=`x§áü²ÿ² k^JìÌÕ¡W×ú&th“P&GO¦[óÚ†÷ëO#—Fø5ò«µïÞî÷š¿#—ƒéÔ{DDä’‘››KII‰Mm#"Z“ËС¶µ‘ËÛ¤IA̘‘kSû   <=Ïü2ù3X\ûq0‘ÿQX«EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E1Ûwt£ŒfiÒÒ†.E. ‹"""1iùiŒ^0šo’¿©µïDÅ ²8Xt°*“K‘SC """×ñòã$d%Ð/¬_­}á~á,½€æ›7@er)RX³F.èݲwC—!—…E©·vÿÀª´U/?Nÿ6Ü×ã>Ò¤3kÓ,ð8½Zô ñP"ÓÖMc\qôlÑ“Ïw|NJN ž¼>äu²øî·ïÈ*ÌÂÅÑ…ÎÁÕuþüÍã­K_ÇÇ[>¶èûÏûž¼æIz„ô¨5îUͯâ³íŸ‘š›Š‡‹ƒÚ â¶·a0ìš³-sÉ(È`iÒRöäºŠ0ß0FtAdPdýØS›-çéL5öéÁì„Ù,N\Ì/¿˜ûbÌì;ºc_äÎ.wrgç;kõ×§e>Ûþ»ïÂÕÉ•ëZ_ÇדּV[riSX‘zùç÷ÿ´xbþ ,MZÊ=]ï!!+‚“æ}EeE$d%Ð¥Y^[ýy%ytêÀkÞ`ÎÖ9ý¯I_ÃÜ­sùxäÇ\Õü*òOä×êû”Sû޶zܼ­óó crôdZú´ÄÛÍ›÷üÈœ­sprpâ¾÷Ñ«e/Ž—gIÒ6gnæ±e±îoëpur­w½Ÿnû”0ß0ïÿ8HÉMáã-³r÷J–„/ad—‘v÷Y×\vÜÁ+?¾‚‡‹£»&*8 G’s’™»m./­z‰>¡}ibwmõ9OuըĽ ^®^¼¶ú5FFdxÇá6Ïù“-ŸÐÆ¿ oÜôA^A¤ä¤ðAü,øuãûŒ§™w3 þ¿¹4),ŠˆˆÝ%.à½aï10b yûmnã–9·°÷èÞ: ô äëû¾ÆÝÙݼíí o0uèT†wú#¸ ë8Œq_ŽcSæ&Ö¤¯ahû¡õ®7À3ÀbÜë"®£GHî]x/_íüª^a±®¹<¶ì1ªMÕ̹kŽy•ïÔx]›wå¯àÛß¾eÂÕì®íË_ö§ºj„?VAC‡Øub+ßV,·ÄH¯ ¿†ÊêJfÄÍ`ç¡æ°Xß߇\šEDÄn{ò÷àãîcœ¹µÃ­¼»ñÝ:ÒnH­à²;o7îÎî ë8Ìb»Á``T×QlÊÜDjnê9…Å¡í‡Ö÷Ô _Z~Z½ú¬k.‰‡q48šço2™0a ÊXP+(ÙZ[}ÎS]5ž‹!í†ÔZáíÔ´€Ååÿúþ>äÒ¤°(""v+«*ÃÇͧÎ}Ý[=.Ø;¸Ö¶òªr¼]½ë¼oðT_åUåg­ÉXm´ºÏÛÍ»Îí>î>*>tÖ¾ëR×\NVœÄh2¿?Þêqe•eõª­>ç©®ÏE]ÿÛ:;8Pmª6o«ïïC.M ‹""b·@Ï@2ŽfPXZˆ»e(HÉM±»¯ô£éä–ääd±/)' € ¯ší§‚ÕÑGkõs¦”œÚ5¨8Á¾£ûô ´«Þ3 ö¦ÂXÁGw~„£ƒcm|=|ëU›=çél ÔN“ÉdS{{Ï߇4<}ÁEDDìÝ*£ÉÈ ±/p¢â„yûê=«Y–´Ì®¾ú‡õÇd2ñìwÏr¬ôK™[³¶òÑæÌmZú´`ñ®Å/?nn»6}-_%~euŒÕ¿¯¶x2·´²”V¾ÀÉÊ“ôïoW½grcÛ)­,%6-–öíéݲ·ùÿ:u -?Jce½j³ç<‡³ Ô{®gr>Òð´²(""v{¸÷Ã|ü5«ÒV±qßFZû·æØÉcdeÓ!¨¿åþ†ƒÁ¶õˆGz?ŠßVðËþ_è?³?á~á””—U”…ÉdbdÔHÚ´ 20’ŽAIÎIfÀ÷ çȉ#,:HTp‰‡ë#20’~ÿOÞ^ÿ6^ddPR^‚‡³‡ÅÃ&ç㼬þ}5_üú‹ÑÊ·^®^ä—äsøøaŒÕFæÜeùê³ç5¯VžÎ,½1WÁÙÑ™ô#éüzðW²‹²ñrõâþ÷Ó±iÇzÕfÏy:7'7þ5ð_¸:¹²' Y $d%œ·óp>Òð ¦ uˆˆÔ[nn.%%%6µˆhMLL.C‡ÚÖþ|Û{t/%%„ú„âãîÃø%ãY›¾–õÖ›¿/\XZHZ~¡MBiêÕÔj_ù%ùdeãâäB„_„Õw+šL&~?ò;¥U¥„û†ãåêE^I´ hK÷&@Í‹ \ô /\ÿô|€â²b2 2ðpñ Â/ÂØ3—Jc%{²”¦^M ò ²XM;—ÚÎvžl­ñdåIöÙKiU)&“‰Þ-{s¢âÉ9É4oÜÜü>È3õwj_+ßVµî¥Û~bŸI“jÎóŒ¹6µ ÂÓÓ³¾Ã-Öeh©—¥IK¹:ôjZûµjž†·mkÓ×în|Ü}lzŸ_€gžgmg0j]r ô <ëÃ*ÞnÞD5‹:kÿgbë\œiØÞæ~í©ílçÉÖ=œ=èÜÙb[]߆>SÖöÙóûK›Â¢ˆˆÔKlZ,Ïýðͽ›ãëáË–ðDÿ'¸:ûdËäùž?k»-zðä€'/BE—¿+é÷ñW§°(""õ2¢ó~ÏÿÝâûÂþüyæÚg¸©ýM \}NVž´éž=kïD”Ú®¤ßÇ_îY¹]N÷,ŠÈÅu±ïYÔÓÐ""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""b· û615‚¹[ç²óÐNF/Mçÿt¦Ç{=xæ»g(,-¬uŒÉdbqâbFÎI—ÿt¡ã[¹eÎ-|¾ãsL&…¥…´Ö–§¿{ÚâØ¯“¾&bj½cz›Ûä–ä15‚—V½dWýEeE¼üãËô™Ñ‡Žoudø¼á¬M_ËÒ¤¥DL 6-¶Î¹&d%pÏ‚{èòŸ. Ÿ7€²ª2bâbüñ`:Lï@×wº2váX6fl´sQâ¢Z}ÿyßê=«ë7~<#ç¤Ó[èÓ‹­ü' ìš³H}95t""rùJÊIbúÏÓ©0VPZYʲäede³pÌBs;“ÉÄÓß=Íò”åÇïÎÛÍ+?¾Bjn*Snš‚»‚:—‡ÉdÂ`0·?ƒGOewþn"#ظ¯&õkÕÏæšË«Ê¹÷‹{IÍK5oKÎIæÑ¥2´ýP«Çí8¸ƒ©k§b4¨6USi¬ä¾/ïc{övs» c›27±ùÀf^½ñUFwmsmVÇ]7cu͸eUe,J\Äöìí,»ÎçÔ¿ÈÙheQDDêmEÊ FtÁšG×üt2_Ýûͼ›±5k+©¹„±å)ËYž²œví˜}×l¶ýcIO%±pÌB"ƒ"ù*ñ+~=ø+ÑaÑ9q„Ýy»š ùKÆ/ÜÖñ6œœÌ .£&D^zµÍ5¶ý3RóR ÷ gþ=óÙõÔ.~žð3c¯Ë÷©ß[=nåî•ÜÑåV_MÚ³i¬x`ówÌg{övšy7ã¿#þËÎ'v²ñï™=¦¬™B~I¾½§µÖ¸Ã;gÍ£kÌç¬]@;öÝËG›>:§¾El¡°(""õÍkƒ_#´I(nNntéÎø>ãØ¿ÛÜnIÒ™{÷\® ¿wÜÝéÙ¢'ïÜú?ýþSMŸ­¢šÕD€Ô¼TŽž<ÊඃéÖ¼›y»Éd">3žÎÁiìÖØæšcÓb1 ̼}&W‡^‡³!Cø¿þè°h«ÇumÖ•7†¼A˜oŽŽüú1Ãc1OWO‚½ƒ™=™»¢î¢¼ªœ5ékl®­.QÍ¢˜:t*¡MBÍçlÖ³prpªó’¶Èù¦ËÐ""Ro}Zö©µ­…O NTœ0oû=ÿwŒÕFúШ z&Læ*>@÷î¸;»³1c#ô~„¸Œ8 Ž\z5{Žìaæ/3)«*cïѽœ,`T×QvÕœy,“ Ï Úø·©µ¯Xâ2âê<®_«~æËâ§÷åãîC×f]kµ1/w~Iæ±L»êû³èVѵÆmáÓ‚0ß02 2Ωo[heQDDêÍÕɵÖ65ÁæôQªMÕ««T›ªkãim*•8;:Ó«E/¶em£¬ªŒ¸ýqtkÞ OWO¢[ESa¬`kÖVóåèþaýí®ûÏáë”Óëù3wŸºû¢î¾¬µ;u.NWVUfS" A+‹""rÁµökMJn ñÅãåêuÖöÑaѬ߷ž û6°-kïûw:wÆÇ݇û6ò[Þo¸;»Ó­y7»j mʮûH?’N„„žS—¸íékç¡$J$ªY”žŸ÷þlnà×È€¬Â¬ZýlÊÜduŒ¸ýq<Þÿq‹€›U˜EFA†¹o‘ I+‹""rÁŒIie)ã¾ÇÚôµœ, ÒXÉÁ¢ƒ¬K_ÇÄe‰ßonjµðÝïRa¬ xÍßú´ìÃÚôµìÈÞAŸÐ>89Ø·î1¸í`L&—MdË-”V–r°è SÖL±z Úš¡‘5OOÿcù?øyïÏ””—s<‡÷yŸ/w~‰‹£ ×G\`¾ì=oÛ<¶ØBYUÙEÙ¼±æ ‹WæüYâ¡Dž_ù<™Ç2)­,e[ö6&|=ªê*†´bW½"õ¡•E¹àîèt Xš´”ñKÆ×Ùæî¨»ÍÿŽð È3ˆ=ù{hìÖ˜ÎM;›÷õïo~°ÃžWæœ2®Ç8Vü¶‚Ýy»óÅóvƒÁÀMíobåî•6бW%vw,;îàáÅ×Úÿâ  ð jî3Ün0«ÒVYŒëhpdx§á|“üMc i7„eÉËX²k‰ÅöÖ~­yôêGmªSä\heQDD.8ƒÁÀ´›§3<†~­úÑØ­1ΎδðiÁ moàÃ;>¤_˜eð;õdòÕ¡Wã`øã?W§ž–þó¿måæäÆç÷|Î=ÝîÁÏÃW'W:5íÄGw~d^ý³õéjgGg>»ç3&GO&Ü/gGg¹4¢OhæÜ5§Ö;ß¼éMFFÄÇÝW'Wº5ïÆüÑóéÕ¢—Õ1º‡tgöÈÙD5‹ÂÍÉ&îMÙe$ Ç,Ô;å¢0˜Ît7¯ˆˆ4ˆÜÜ\JJJljÑš˜˜\†µ­½Ô­ÚTÍðyÃIÍKeëä­VhJ‡Šw IDAT¹X6ìÛÀƒ‹ä…ë_àž4h-ri™4)€3rmj„§§g}‡[¬ËÐ""ò—óÆš7èØ´#=BzàëáËþcû™ùËL~Ëý>¡}<(Š\JEDä²—š—Ê­sn=k»Am1ëÎYdË`ÎÖ9µö{8{ðÂõ/\ˆE.[ ‹""ò—óÂõ/àëî˶ìm.>Œ§«'½ZôbrôdÚ´mèòD.) ‹""rÙ‹ Œ$ý¹t›Û·jÒŠi7O»€»á욓ȅ¢§¡EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E±JaQDDDD¬RX¹¥æ¥Cú‘K÷]‹—CrîEDD.A¿åþVÄŽ^ºAìr¨Q΢ˆˆˆˆX¥°(""""VéÛÐ""b·Ìc™,OY΀ðDG±åÀRrShäÒˆ›ÚßħÛ>¥k³® `>&£ ƒoû–&îMÛ}¬y{UuÄ@ÿ6ÜÔþ¦Kj.£ºŽ²¨×á].>Œ§«']›u¥SÓNVûêÚ¬+[la×á]¸:¹2 |­š´ª³†œã9¬K_Gqy1müÛpMø5õ®Õh2²iÿ&ÒòÓ¨ª®"Ì7Œk¯ÁÕɵV¶ÌÉÞåÊ£°(""vË<–IL\ .Ž.¼»ñ]â2âèÔ‘»¢îâ³íŸ±1c£EX\ž²œ÷yGG†u†·›7¿ü•˜¸ž½öÙ³Ž;#n&L6ÕèáìÁý>§¹Œê:Š“•'¿d<›37×:v@øfÞ>wgw‹¾ÜÝ™µi?ýþ“¹­£ƒ#oÞô&wt¾Ã¢Å»óòª—©0V˜·umÖ•[;Üjw­‰‡ùÇò]”mq\°w0Þñ¡9Ú3'{k”+¢ˆˆÔÛœ­s8Yq’[;ÜJKŸ–4õjŠƒÁ¾¡}YµgÇËãåêÀÆ}iáÓ‚¬Â,â3ãÒnHÍöŒD‡EŸu¼÷ãßÇXm´©6ÿFþ6…Å3ÍàDù 6gn¦SÓNDFâßÈŸâòb$°aßfÆÏäékž®ÕWIy Ã:#È+ˆ”œ~Ùÿ /ÿø27´½Á|NvÞÅ‹±/b¬6Ò³EOºw¡àd«ÒV13~¦]µ,:È‹ ¸¬˜¨fQDGáâäBrN2›37óÈ’GXýÈj<]=íšS}k”+‡Â¢ˆˆÔ[ie)+XA¸_¸Åöè°h~ØýñûãÜn0ÅeÅ$ç&óìµÏ2'aqqæ°—‡¯‡/‘‘gï±¾Ùµ²x>æâéêÉⱋñrõbûÁí=qgGg†´Bö–lÖ¦¯­+•¬|x%!CÌÛžûá9–ìZÂÖ¬­ ŒÀ¼mó0V™=™ÉÑ“Ím'GOæ¶¹·ÙUëË«^¦¸¬˜Wo|•1W±h?oÛ<^ÿéuVü¶‚ÑÝFÛ5§úÖ(W…E©·a‡Õ WðÇ*aÜþ8·L|f<Æj#ÑaÑìÉßc¾|ZTVDrN27GÞŒÁ`8ëx“¢'ß œÆÚ\ ÌN˜MlZlÇ9q¤Ö¶;:Ýa®m}-Kv-!÷x®yÛŽì¸;»3±ßD‹¶-|Zpw×»ùdË'6ן£Á‘‚“ÌŒŸ‰ÉdÂdª Ö'*Ot8 ºÙ7§úÖ(W…E©7kl4ónF¸_8÷Õ\bŽËˆ#Ð3v툋fiÒR2eò[îoT›ªéתŸMã]ˆ{O±6—7}HlZ,¾¾ôëOS¯¦¸8¹`ÀÀ—;¿´¸ï”`ïà:ëšzN)*+¢©WS ŽµÚ·ðiaW­' 0šŒ¼÷žÕ㎗·{Nõ­Q® ‹""Ro޵Ä)ýZõcþöùì?¶Ÿ¸Œ8ójctX4ƒ¸ýq¤ä¤˜·ÙâBÞ³hm.?ïý7'7V>¼??óv“ÉħÛ>µiEÔšÆnÉ9žƒÑd¬Ʋ ³ìªÕÛÍ› cô~Äêqþ€}sªoråPX‘ ¢XæoŸÏçÛ?'»(›'[= @÷&DF²qßFRóRií×Úü0ÉÙ\È{­1 89:áêhùê™7}HQY>î>õîûª«X‘²‚~ùÀâ{Va‹ÙÕWßо|•ø¡MBÖqX­ý»óv›¬±gNç³F¹<),ŠˆÈÑ»eoœœXðë ƒÅêaÿ°þÌÙ:‡Jc%÷õ¸Ïæ>/ä=‹ÖtkÖ¤ÃIÜ:÷VµÀöìí¤ä¤œSP¸¿Çý|Ÿú=ïŽG|f¼Å“ÆnÎnvõ5¡ïbÓbyêÛ§˜»u.QÁQx¹y‘_’Ïž#{H:œÄœ»æÐ¼qs»æt>k”Ë“¾à"""D#—FtkÞJc%‘‘øzøš÷E‡ESi¬°ù~ņ29z2müÛU˜ÅÜ­s™»u.¿åþÆÿòÿj=Äb¯.Á]x}Èë¸8º°5k+³f³,ymÚ0±ïijwpšÆ!Ì¿g>müÛœ“Ì‚_0kÓ,–&-%ép‘‘4oÜÜî9Ïåò¤•E±[h“P&GO¦[óngl7±ïDvÜQë« =Bz˜_ÃÒ'´Ï«Óg›‹»ß>ø-kÓײ¿`?ÞnÞ @3ïfT›ª).+¶©¯Sûºw±Ø>²ËH¢[E³nï:Ž—'Â?‚k[_Ëžü=LŽžL„_„͵vêÀýÀŽƒ;HÎI¦´²”¦^MiÐŽÈ ?^MdÏœì­Q®<Ó©çêEDä’‘››KII‰Mm#"Z“ËС¶µ‘ËÛ¤IA̘‘{––5‚‚‚ðôô¬ïp‹uZDDDD¬RX«EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E9¯%2zÁhbÓbº”zÙ°o£Œ&!+¡¡K±Ùžü=ÌÚ4‹û¿ºŸÑ F“x(±¡K’+ˆSC ""—Ÿ´ü4^ýñU‹á†[ì+*+"!+ÚÞÐ@Õ›üù$d%Pp² ¡K±É°¹ÃHÉM±ØVTVÔ@ÕÈ•H+‹""b·ãåÇIÈJà`ñÁ†.å//ïDmüÛð·«ÿƵ­¯mèrä ¤•E‘ËØòû—èÀ+?¾Ò°ÅÈIaQDDìòMò7ÌN˜ ÀâÄÅü’ñ‹yßc¾°h[XZÈgÛ?c×á]¸:¹r]ë븳ó s›ÄC‰L[7q=ÆÑ³EO>ßñ9)9)zòú×È(È`iÒRöäºŠ0ß0FtAdP¤Åx'+Oòíoß²óàN?Œ§‹'ÝšwcD—4vk\k.±i±ÄîþÿìÝy\UuþÇñ\vÙÜ@EÜ5×Ò,µ231·ÔÊÒö)m±¦Åi¦œ6ûÕTXYSj阹–Zîf¹‹+*nˆ ²("" p¹¿?îxƒ+D/ØûùxôxÀ÷|Ï÷|Îé¤ïÎùžsV’}1›fõšñp燭î÷Áôƒ,ŽYLÒ¹$L&ÁµƒÔz­ý[Wü V¡’ (r­(,ŠˆH…œÌ>Éô$ŸK&ù\r™ýÎäžað·ƒ-–¯Š_Elj,oÞù¦¹­dŽc»€vL^3™ôœtZù·àû=ßóÖê·0šŒæu6ÛÀvÿ‡wú¿Ã°vÀKÁ´÷´Þ\(¸`QÇÊø•LšÎü‡æädnå—WX³ÈbÌE1‹Ùad©}Y³˜W–¿‚Éd²hŸ5îýˆˆÖÖØ=4÷!ŒÅÆrûøºûòÅ/lê+r­),ŠˆH… n=/W/&¯™ÌðöÃÜzp™ý¾Ùþ Íê5ãÝ»ßÅßËŸ¸Ô8¾ØòsöÌá‰îOà`ÑÿÛßR'„ ='ÐØ·1ÞnÞì>¹›7W¿‰‡‹£;ަ}Ãö¸\ˆMeæÎ™¼±ê ºw'È'ˆBc!Îgíú(­ü[Q×£.Ù³Ùž¸¹{ç¹)’îù€å—³(fîÎîŒë2ŽöíÉÌÍdÖ®Y|³ý›RûRr%uÌMc¸¹ÉÍ89:qüìq–Æ-%;?Û¦ã•esX¬W«žMýD®…E©@Ÿ@óU¿ Ÿ º5îVf¿&uš°pÌB\\èÚ›ÂâB¦nšÊÞ”½¥Â¢Ÿ§‹^Œ»³»¹íÙŸ¥ØTÌŒ3èØÉÜ~{ØítìÀØycY¶O÷xšÚµYñè V^ÍïÇ~çÌ…3 p1¸°3i§yýÑ ø$âú†õ5·j=ˆ{¦ßCBf‚EmNŽN4¯×œ¿ßñw‹öG:?Âù‹çm:n³GÍ.ueÒgƒ³MýD®…E¹&ú·èoŠ%Ú4hÀÙܳeö¿<(DŸŠÆà`à“Ÿ`2™0q)p‹8zæ(9Œš3ÊêmñËC]|F<¾î¾A.…ÊA­ñé¦O-ÚŸèþ—Mä…¥/Ð'¬á~á„Ö ÅÑÁ/W¯+ˆÿêÚ¨«MýDª…E¹&Êz ÄÙñÒ³bSq©e ½–jË-ÈÅh2²åø«ÛÉ/Ì rs$Éç’é܃A­áïé‹Á^]þªEXÌ/ÊÇ×Í·Ìñ|ÝK·ß~­ü[ñóþŸY³˜øŒx.]d`«L¼u"ÞnÞVë+¡9‹RS),ŠˆH…9péif[o«VVCï† øjèW eö©ãQ¸ôTµ¯»/ßüG‡ÿ½F8·0—Œœ ÜœÝÌm~ž~$œI +/«T8ŒI)s;!uBßs¼ù÷ØÔXšû96;ÍY”šJaQDD*ÌÃÙ€Y'®évîl~'‘›"Y¿’‰½'Z\­<ñ=ÞüJ³ygymùkäå[„Å^!½8rú¯.•~ˆ§«'+®`IÜ’Ru|ðÛ m;”¦u›šÛü=ýq68ÛüY@ÍY”šJaQDD*,¤nîÎî,ŽYLlj¬ù–îß³xµëök¯áû=ß3?z>Mê4ÁËÕ‹Œœ N?…±ØÈŒ3èÖ—I;ˆø6‚õ[—ÞÏèîìN O Å+uëö‹c³öðZnþìfB높™›IJv ­ü[±?m¿Eßîø–oû7u<êÐÈ·E>}˜¢â"z‡ö¶i_®ÕœÅ/¶|Á¦„M?{€)ë§ðåÖ/xþÖç5_R®Š>÷'"Rà &Œ¶Ýݬ2nNn¼Þçu\\9”qˆ¨¤(›¯°U„‡³sGÏåNàlpæÈé#ì9¹‡äsÉx¹zñHçGhÝàÒK±ÇvËýíïÇ„‰é8~€ŸfŒ˜Am÷Úãú{ú3kÔ,šÕkFna.±©±¤ç¤3¶ËXêôP©:^íó*Íë7'37“è”h¤ÀÑÁ‘ˆÖüßÀÿ«òý®ˆ£gŽšÉ;*ã3âÍm5å×b;£ÑCÙ³2® Óµžp"""–––FNNŽM};wn‹/f2z´mïû«J¹…¹=}”¼¢æÛñötôÌQN_8muyYû!5ÛCRÈäÉ6õ÷÷÷ÇÓÓ³²›[ °("R U$,Þw_;ç1iÒ™k\•ˆT·ÜÌ#œãñdzlêµaQ·¡EDj¸Ö­/²w¯[ùE¤ÆKMu"-͉V­.^·m*,ŠˆÔp½zå²oŸ§O_ÇIL"bëÖÕÂݽ˜.]ò¯Û6EDj¸Þ½sñô,fáÂò_ -"5Û¼y^ôï—ë7‹PaQD¤†ss31rd63føpîœþX¹Q­^]‹\yè¡s×u»úSEDäð—¿œÅÉ ¦NÕS¯"7¢‚>ø .çi×îúÍW…E‘B­ZżðB&³g{çjïrD¤Š}þymÒÓ üõ¯×ÿ½™ ‹""7ˆ¡C³éÞ=Ÿ'Ÿl@zº>Ð%r£X¹Ò“iÓjóê«gðó+ºîÛWX¹A8:ÂÔ©©ÔªeâÉ'—§?âEjº}û\yùe?|ðœ]^¼ ‹""7oïb¾þú'O:1zt€®0ŠÔ`¿ÿîÁ˜1të–ǤIÖ¿Òs­),ŠˆÜ`7.dá“äæ:2dH æ0ŠÔ0&|÷O<Ñ»îºÀ´i©×õ[Ф°("rjܸ ’ +dÈ@þùÏzz­ŽH pà€+£GðÎ;õxá…3L™’޳³}¿Ì¬?9DDnPÞÞÅ̘‘ÂÛoŸæçŸ=¹ãŽÆ|ùem22ô¥‘ê&&Æ•W^ñcðà ŒF/Næ©§lûöóµæ`2™ìWED¤”´´4rrrªl¼óçùòËÚÌ›çMv¶#íÚåÓ±c>MšâãSl×[\"Fùùœ=kàÐ!¶ms'9Ù‰æÍ xòÉ, :ƒCÕmËßßOOÏÊ®¾@aQD¤ªê°X"?ß <ظуØXW’’œ8Þ€ÑXå›’k. Ø ·w!R ®®&||ŠiÖ¬€òéÓçíÛ_›—m+,ŠˆÜ€®UX”ÇòåË™0aGޱw)RÍ]mXÔœE±JaQDDDD¬RX«EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E±ÊÉÞˆˆHi®®®ö.Aª9777€«ù2‡üI89]]ÜSX©†|}}í]‚Ts>>>À¥O¹‰\Kº -""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V9Ù»¹²””ÆŒCQQ‘¹íôéÓ899qÛm·Yô gÚ´i×¹B¹‘),ŠˆˆTs$&&räÈ‘RË~ÿýw‹ß{÷î}½Ê’? ݆©ÆŒƒ³³s¹ýî¿ÿþëPü™èÊ¢ˆH5”––FNN޽Ëj¤gÏžZ]îàà@³fÍpuuåèÑ£×±2©îüýýñôô¬ôúº²(""R4nܘV­ZáààPærƒÁÀ!C®sUòg °(""RCÜwß}8:–ýW·ÑhdàÀ×¹"ù3PX©!î¹çL&S©v:vìHƒ ìP•ÜèEDDj???:wî\êꢣ£#÷ÝwŸª’¢ˆˆH 2xðà2Ûï¾ûîë\‰üY(,ŠˆˆÔ ýû÷·¸²h0èÙ³'¾¾¾v¬Jnd ‹"""5ˆ··7·Þz+ƒ“ÉDDD„«’™Â¢ˆˆH Aqq1NNNôë×ÏÎÉLaQDD¤†éÓ§...ôë×;W$72}ÁEDäOÈd‚ädg’’œÈÎ6PÆÛX¤Zó¤mÛìÜù#dÅŠÊCìÃÅÅ„··‘fÍ ðõ-¶w9W¤°("ò'a4Âo¿ÕbÙ2O6nôàÜ9Ý\ªÙ~㫯î\ì]Œ\…Búô¹À°açiÖ¬ÀÞ唢°("ò'°n]-Þ}·.'N8Ó­[Ï>{–Žó .ÄÇLj•‚H5f46ãÓOGñâ‹Iö.E*¡ À³g ÄÇ»°m›;«VÕbút_úö½À믟!8ØúwÀ¯7SY¯‚»JKK#''çªÇILtæÿ¨ÇæÍÜ{oÏ=—Y­þ’«SPP`ž»(5›É6x0eJ]ŽwfܸsŒŸ‰«ëÕÇ4<=+=Ua®,ŠˆÜ ¶lqgüø2wîI:wηwIRÅoлw.={æñý÷Þ|üq¶owãË/S©[×h×ÚtãADä4ož7ãÆ5äÖ[sY¸PAQ¤¦0L<ôÐ9,H&3ÓÀСA>lßÿ)PX¹Á,[æÉßþVŸ¿ü%‹ý+­Jnc‰ÈõÕ´i!‹¤Aƒ"~8€S§ìw3XaQDäãÊë¯û1n\&dâà`ïŠD¤²|}LŸ~ŠÚµ<ñDrsíÛEDnYY¼!=zäòÊ+gì]ŽˆTZµŠùê«S¤§;1iR}»Ô °("rƒøøãÚ8:¿þ•®WáˆÜ@‚‚Š˜2%eË<Ù¾Ýýºo_œˆˆÜvᇼyùå3xzVï¯AˆHÅÝv[.}úäòæ›õ0¯ïü½:GDäðá‡uhÓ¦€ÁƒÏÛ»”ÎÑ£G¹ë®»Ì¿/_¾œæÍ›Û±¢Š1™LìÛ·5kÖ°uëV¸pá^^^´lÙ’¡C‡2xð`ì<ÁÕ5&†ÀaÃp0þï51‰¿ýFQP«ª^^ý4ýû7âçŸ=‰ˆ¸~ÿ­+,ŠˆÔp©©Nüö[->ù$M´\gwÞy'ÇŽॗ^â©§ž²sE¥ÅÆÆ2tèÐRíYYYlÛ¶mÛ¶ñ믿i·ÀèŸÿK/YE)­I“Bî¸ãsçz_×°¨ÛÐ""5ÜÚµµpw/¦_¿ ö.Eª±nݺñí·ßÃêÕ«éÑ£‡yÙŠ+X¹r¥Ýj«ûÁ8=j·í×$ƒç°{·§O®Û6EDj¸mÛÜéÞ=gg½OñZhÚ´)GŽ1ÿS“nA8991iÒ$æÌ™CÏž=qww'44”O>ùÇËž„úõ×_íRŸûæÍøÌž À…¾}íRCMró͹8:š®ëƒ. ‹""5ÜÁƒ.´juÑÞe\WF£‘›nº‰°°0ÂÂÂØ¼y³yÙgŸ}fnï½÷ÌíÑÑÑæöÖ­[“ŸŸÏÑ£GÍmaaa:tˆ… 2`ÀZ¶lÉÛo¿]fŸÈÈHÂÂÂÌ· >üðCsŸ[n¹Å¢Þ;v0aÂzõêExx8íÛ·gèС|÷ÝwYôµ¥&€5kÖðÈ#Э[7Z´hA·nÝ6l|ð4ÎØ±cKúuëR¯^=óï.”eÚû‡hFÓ°0BÚµÃùÄ ó2ÏŸ6/ mÓ—Ëj°Æ1;¿W^“‰üŽ9÷È#å®ógçîn"4´øøë÷UÍY©áÒÒ 4lXT~LjÁ` Gæ[§Û¶m3´mÛ¶™û]þóÖ­[Í?wéÒ77·RãΜ9“ Ti­}ôÓ¦M³h+,,$::šèèhV¬XÁÌ™3qw/ûJQY5-]º”_|Ñ¢íÌ™3œ9s†½{÷òí·ß²ÿþ+Ö•Mff¦ù÷ÐÐÐr÷%{äHÜvíÂëÇqÌÍÅÿ…89>N§NQÿo3÷˘<™‚–-˯þ›o┚ŠÉÅ…ô÷ßÇéôér×hРˆŒŒëáteQD¤†ËÏwÄÃãÏw ºgÏžæŸKBaAA{öì1·8p€ììl‹>\÷r+V¬àã?fïÞ½9r„¿]€.7aÂŽ9b°^zé%ó­ê’+«W¯6EƒÁÀ{ï½Gtt4«V­"<<€;w2eÊ«ûYVMK—.5/õÕW‰‰‰a÷îÝ,Y²„—_~Ù¦[åS§N5_ÕtvvfĈå®ÿ ‚ÿß5:š:~ˆßsÏᘓ\ ”ç‡ )wÏ+ðüï~dN˜@aÓ¦6m_À㘠®ßÃH ‹""5œÉÄŸò)è^½z™Þ·o¹¹¹ìÙ³‡‹/âëëK`` ÅÅÅDEEQXXÈ®]»Ìý­…ŧŸ~š{ï½OOÏ*©ñûï¿7ÿ¹œ——×5ª´|¹¹¹e¶—UÓí·ßάY³8p 8::b2™HIIaéÒ¥<ðÀìÞ½»Ôzï¿ÿ>~ø!Lš4‰§Ÿ~ºRõºüáU7Žyy¸$$ضò/‹9Ñhà@óƒ1<`Ñ-ø¶Ûh†!#£R5JÕÐ.""RcõêÕ‹ÿüç?üöÛo$ü7¬tïÞݲâãã1^ö²çËo__­ò^bݼysÒÓÓ>|¸ÅÓÙW«Gæ«§EEE$$$ð÷¿ÿ¦ú² IDAT;v`4ùå—_èÔ©péÊë¤I“X¸p!piþä”)Sú¨BÛ}íµ×øàƒèׯMš4ÁÍÍ ‚‚‚ˆˆˆ`ñâÅ´k×®*vÑBÝ·ßÆõ¿O>6nLÆ?ÿ \z¸%-2Òüp‹Ïwßá¹|y•o_ìÃÁdºž_‹ˆˆ-ÒÒÒÈùï{ëÊÖ”ÈÈ4 °­¿ˆÔlãÇû0ujšMýýýý¯æuP teQDDDD¬RX«EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E©°Ä³‰DnŠdoÊ^{—Råv&ï$rS$‘›")4Z,»‘÷[Ä'{ ""5OIhòrõ¢C@{—Se.\àù%Ï“z>€Çº=†³ÁÙ¼üFÝo‘+Ñ•E‘ÿú¿ßþ“ÉD#ßFö.E¤ÚPX¢OEóýžï™Ü2ž®žö.G¤ÚÐmh¹*Ŧb¶ßÂþ´ýÔr­EïÐÞù•êWh,dcÂFNdÀd2\;˜››ÜŒ›“›ª¶d4y}ùëôoÑŸ¾a}ùdã'cá¾…¤d§Ð;´7íÚ_ƒ*EìCaQDD*íbÑEþáa¶&n5·99:ñzß×sÓs[tJ4O-~ŠŒœ ‹õëժǧŸÒ­q·r·5uÓTL˜lªËÃكǺ=fã^À×Û¾&õ|*ßüÎæuJ ™´r‹cód÷'i×°]…Ç©ÎED¤Òfì˜AnA.­#¨ïYŸ¸Ô8¶&nåŸkÿI‹ú-Ì!ðýõï“‘“A¸_8݃»ãäèÄñ³ÇÙ”°‰C‡l ‹Ÿmù c±Ñ¦ºêÕªgsX<‘u‚Ï6Æ[w½E½ZõlZ§DV^O/~š='÷ðþ€÷ÖnX…Ö© ED¤Òò óX2v Më65·ÍØ1ƒw×½Ëô¨é昙›IH–Œ]‚£Ãÿ¦Ëgæf’™›iÓ¶ž½ùÙ ]Y´Õ+ß SP'†¶jó:ÇÎãñ…s.ÿ³FÍ¢k£®Z_¤¦PX‘JÔjEPx¤ó#|µõ+v%ï2·ÝÕâ.fDÍ`~ô|ú„õÁÏÓ€:u¨ãQǦmï9¾ê ÿ¯cd÷ÉÝ,ty…ÖÛ™¼“Ï6F:,³&µ›Tym"Յ¢ˆˆTZY¯˜qtp$Ð'˜ÔsÛ󽞧±oc~Šû‰·×¾‡‹:Ñ&‚-Ø´­ªž³x±è"ï®{—:!üû£Å²’¹•_lùƒ ÏÞò¬ÅѨQœË?ÇÀðûÛT“HM¥°(""•–”•TªÍd2qòÜI¼]½ÍmŽŽ k7Œaí†Ql*æxæqÖ]Ï‹K_$.5Ž—o{¹ÜmUõœÅÜÂ\ÎæålÞYö§í/³Ï—[¿à™[ž±húæ§9žyœ9{æpÑx‘wú¿ƒÁÑ`Sm"5¢ˆˆTÚÒýK×uœÅ­è™;gr&÷ }Âú˜ÛÖYÏ­¡·bp4àèàHhÝPšÔiÂì]³Y³È¦°XÕsݜܘÐsB™Ë¾ßó=§/œæ©OábpÁ‹å80ù®Éø¸ù0më4ÎåŸãÓˆOq1¸ØTŸHM¢°(""•æîìNÄÌîjqõ=ë³?m?[ŽoÁÁÁG»>jî÷ÌÏPÛ½6‚:ÑÈ·…ÆB¶ØFò¹dZúµ´i[U=gÑÝÙÝjX\sx §/œæ/7ÿåŠÁsbï‰Ôö¨Í{¿¾Ç£óåË¡_RË¥V•Ö)bo ‹""Ri㺌ccÂF–Ä-1·•¼gñò×áô ëÚCkXqp…ÅúA>A¼{÷»×­Þka\—qø¸ùðúŠ×ypîƒÌ1ƒÚîµí]–H•QX‘ ®Ì„žèÜ'º?ÁƄħÇãáâÁmMo+õ—ÏîûŒŒœ v&ï$)+ Bê„Ð#¸‡Åƒ#ÕŨ£8}á4ÎŽÎí%ûÝ1°£EûжCñ÷ôg÷ÉÝl9¾…{Â﹞åŠ\S&“ɶ ""rݤ¥¥‘““cSß°°¦DF¦1`€mýE¤f?Þ€©SÓlêïïï§g¥¿w¾ úýˆˆˆT ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""•¶æÐ^úù%œû £çŒ&¿(ŸöþÀè9£I<›hîwìÌ1FÏÍ¢˜Ev¬V¢S¢=g4{SöÚ»”rÙZë†c=g4QIQש²?…E©”yÑóxzñÓüûÛ·•E±©˜¤¬$¢’¢È-Ì5÷½Pp¨¤(Nž;iÇŠà—¿°'eÍê5#>#žÑsFóSìOö.«L—×z%2ˆJŠ"37³RÛ©îÇÁÞœì]€ˆˆÔL?ìý'G'Þè÷¡uCqtpÄÕàÊÈ#¹5ôV‚kÛ»D)ïG~¥[ãnÔr©Åù‹ç‰JŠâ–[ì]V™.¯õZªîÇÁÞED¤R’³’iQ¿tzÀ¢½‘o#ù6²SUr%ÇÎãøÙã<Üùa{—R®šTëNaQDD*dö®Ù¬8¸‚ì‹Ùœ-`ôœÑeö{oÀ{6]]LÈL`QÌ"e¢¨¸ˆ:! k;ŒpÿpsŸè”h¦¬ŸÂ˜ÎcèÞ¸;³vÍbß©}¸:¹r{ÓÛÚv(ãææ²lÿ2öžÜË©ó§ðtñ¤c`G†µ†›O™cßxßíúŽƒéñqóaTÇQtê @\Zs÷Ìå乓ùñh×GiR»I¥öÇ^~=ò+}ÂúðSìOLšÀ‚èlNØlî÷ýßWÙq¹|œN˜µkÒàáâA¿fýÔjP©w¬õr+ãW²òàJ²/fÓ¬^³+†I[ÎòŽƒ­ãÜÈED¤BÏ&š$(™‹X–Ëç,Zóýžïykõ[MFsÛ†cøÏîÿðNÿwÖnçòÏ•E§ N¼ÿëû$ŸK6÷_¿ŠØÔXÞ¼óMs[V^½§õæBÁ‹í­Œ_Éô¨éÌh>A>Ac·hÏ?×ü“´œ4sÿŸüÌ×þæBÁž_ò¼EË,gåc+©ïY¿Âûs%Í}c±±Ü~¾î¾|1ä ›ú¬;²Žõ[èÈOq?q ýÉç’-Ž)TÝq)§möL^3™ôœtsßW°öðZ"#"KÆËk-ñÊ/¯X<$µáØÅ,bd‡‘¥öÕÖsàdöÉ+‡ŠœK7*…E©‡nzˆ;šßÁc #À;€ÉwM¶XþÃÞX¶Y¹ãì>¹›7W¿‰‡‹£;ަ}Ãö¸\ˆMeæÎ™¼±ê ºw·ø‹ø›íßЬ^3Þ½û]ü½ü‰Kã‹-_0gÏžèþÞ q68óh×Giåߊºuɾ˜ÍöÄíÌÝ;—ÈM‘|pÏõÌÜ1“Ö Z3±÷Dj»×fCÂfïšÍä5“9“{†­Ò¯Y?™µkÛOlgúŽé¼zû«•ÞŸ²D%EÙëÕªgS?¸zvŸÜ͓ݟ`pëÁx¹z1yÍd†·ÎàÖƒË\ïjK‰ïv~GHžïõ<õkÕ'.-ޝ·ÍŠƒ+Xºáí†[­`ùÁå,ŠY„»³;㺌£}@{2s3™µkßlÿ¦Tݶžå‡ÊœK7…E©àÚÁׯÉÑ OOº5îf±|ñ 63#jŦbfŒ˜A§ÀNæöÛÃn§C`ÆÎ˲ýËxºÇÓæeMê4aᘅ¸:¹Ð;´7…Å…LÝ4•½){Ía±¶GmV<º‚Õ‡Wóû±ß9sá …ÆB\ .ìLÚYªž¦u›òÃ?àlp6ןOTRvzÐâÊeàôø¬{Oþï•.•ÙŸ²Ì5“ÉdÓ1,©Õ¿ûc±‘¾ÍúèH+ÿVù•ú÷XâjK‰úžõYüðbÜÝÍãtễsdÞÞyañµÂ¥[ÄŸD|Bß°ÿµj=ˆ{¦ßCBf‚Åöl=Ê;•9—n4 ‹""bѧ¢18ødã'˜L&L\ IEÆ"Žž9j±NÿýÍA±D›m8›{ÖÜ–‘“Á¨9£JÝR,qþâùRmw¶¸³Tø ÷'*)Š{Âï±h÷vó&À;€Ôó©Wµ?eéÚ¨k¹}*cÝáuÔ«Uv ÚUh½«=.%´`Š%J®´ÆgÄ—[k|F<¾î¾A.¶A­ñé¦O-Ú+s”¥ªÆ©ÉEDÄ.r r1šŒl9¾ÅjŸüÂ|‹ßËz˜ÀÙñR)6›Û"7G’|.™Á=Ôzþžþ¸\pppàÕ寖ù¼·«w©6'G'«Ûurt"·àó2+³?e¹s‹Š‹Ø°»[Þ]æÃ$WrµÇÅ<Ž[éqàÒ>¤d§”[k~Q>¾n¾VÇø£Êœe©ªqj2…E±‹†Þ )0ðÕЯ08ÊìSÇ£N¥ÆŽN‰Æ×Ý—ïF~‡£Ãÿ¾?‘[˜KFNnÎn•÷Jªj®ÅœÅí'¶“s1§ÔU9.…1[o{_¸Ô¸Rm .pìÌ1ü<ýÌmÖjõóô#áLYyY¥ÂaLjL©±+r\é8Øã\ªnEDÄ.îl~'‘›"Y¿’‰½'Z\¥:ñ—\êåÖnNn¼Þçu\\9”qˆ¨¤(«ïͼZ÷µ¹goy–³yg‰9CÎÅšÔnÂw#¿£±oãrkõ÷ôgÖ¨Y4«×ŒÜÂ\bScIÏIgl—±<Ôé¡Rý+r\é8Øã\ªnL×c¢‚ˆˆTHZZ9996õ kJddØÖ¿ªìLÞ‰»³;­ý-PRV)Ù)´mØÖ|{ïBÁbSc ô ,ó=ƒ…ÆBŽž9J^a ¼àïåo1?,+/‹øŒx‚kÓÀ«Åº%ËšÔi‚¿§©e‰gñvó&¤N±©±\,ºÈMA7•;ö‰¬œÊ>E»†íJ]éÚwjÆb#;Vx®§/·~ɇ¿Èæg7—:>%r s9zú(yEy˜L&º5îVeÇeñ Œ›?ŽI}'1¶ËX²ó³IÈLÀÃѰºa±ØR+\zª<§ ‡`ß`|Ý}ÉÈÉàXæ1šÕkVj^¨-çÀ•ŽCeÆ¹ÖÆ¿tl¦NM+§ç%þþþxzzVvs EDª¡š¥f>{8E,[z^ßõðǰx%ö®µ¦¸ÞaQsEDDn`½í¯Ôõ¨kï2lR“jý3QX¹uiÔÅÞ%ج&Õúg¢°("""×Ì­¡·räÕ#ö.C®‚ž†«EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E±JaQDDDD¬ÒK¹ED¤Rò óøè÷Xuh©çS1™L웸Ï7ÎWÛ¾bÙ¸e„û…s*†û¾» ='0¡ç„kVÓõÚŽ=œfõjÕ+w]?O?óÏŽm`ÜüqLê;‰p¿p>ÚðÓâãæÃƒä©O0k×,fïšÍÉs' ò â…^/pwË»«~ÇäšRX»0™L¼ôóK,‰[bÑ~0ý o®~“ixçîwøð÷ùzû×ýJæÓ9;:óÐMUª?O?êzÔ­p=WÒ⃋6m¿^­zl¿­â…WÒ±3LjOçŽæwàêäjnïÞ¸;Íê5cá¾…tè@¿fýptpdÓñMÌØ1ƒïú„õ)5ÞÞ”½¼ÿëûM—ö7¯0ÿW'W2.dðïmÿ¶ØösKž£I&åþO„T/ ‹""R!ë÷7þÖïotü¸#¡uB-nüßoÿÇWÛ¾*wœ%qKX·„õ[ð×ÛÿJû†íqur%65–Ék'3/zÃÚ £c`GÖZƒ»³;ü››ÜŒ“£Ç3³dÿ<\<®¸˜‰1¥Ú6&ldÒŠI|{ÿ·æ[±©§&Ê+Ìã…¥/àåêÅk}^³Xfp40{ÔlÞûõ=^]þ*Ŧbó²;šßÁ¤¾“,®D–øåÀ/Œí2–G:?B:ü~ìwž_ò<‘›")6óÞ€÷èÖGG¦mÆô¨é̈šÁÿ ü¿k¾¿RuEDÄ.Æ,Äàh`æý3-nqviÔ…ïý˜þßôgíáµt ìHïôkÞƒƒ€pÿpÂý+~…j[â6^_ñ:Ó‡O'´nh¥ê¹’ø¿ÆW¸¦k-¯0'=ɱÌcÌ1ƒ Ÿ R}âÒâˆK‹³ŠpéÊjtJt™ëÜz+“úN2ÿÞ¿Eú5ëÇÊø•¼Þ÷u†·n^ö×ÛþÊüèù9sc>€t#SX»8œqc±‘^_ô.Ý6a2ÿ ’À¤>“xæÇgèóez…ô"Ü?œŽË|_à•ìJÞÅK?¿Ä¿‡ý›æõ›Wºžšä\þ9[ðÓ2}Ätº4êRªOtJ4/xœï¦˜NÇ€Ž ÄœŠáŸkÿÉsKžÃÓÕ“Þ¡½-ÖëÚ¨k©±¼èd¹ƒ£/›_ÿ#Շ¢ˆˆØEɬ+Íï+4—®"®yr »“w³+y;Nì rc$µ=jóiħ´¨ß¢ÜíE§DóÜ’çøü¾Ï­¾”ÚÖz®¤:ÍYLÏIgì¼±$e%1cÄŒ2ƒ"À‚} (6ó;þa»wgÊ=Süí`~ØûC©°xù¼Ç%•¹ Š‹‹KµKõ¦°(""vÑ´nSâÒâØòì¼\½Êíop0Ð¥QsàÉ+ÌãŽßÁkË_cñ˯¸îþ´ý<óã3|ñ)íÚWI=Õ݉¬Œ™;†¬ü,¾ù-;Y훕—euYIˆ¾R¹±),Šˆˆ] o?œ¿ìdÌcËx:tÀËÕ‹ôœtebaÌBèø77¹™á³‡s_›ûèÚ¨+A¾A Ùr| YyYäå_q;‡2ñä¢'ùpà‡ÜtS•Ôs%ÕaÎ⡌C<<ïa.]ä»û¿³K´nК•ñ+ykÍ[8::Ò)°GÑ)ÑL^3 Â·ü寡°(""v1¤Í¢ND±(fO,|¢Ì>÷·¿€¸Ô8öœÜSvŸ÷[ÝÆ™Ü3Œùa §/œæÁ¹–Ù§ä=‹©Ç&.›Xêµ>ãæ3ÿüÙ}ŸÑ¿Efî˜IFNpé3e¹ü=˜£;Žf~ô|’²’xtþ£¥úÖ÷¬ÏÝË>&rãSX»ppp`Ê=SèÝ´7óöÎ#65–ÜÂ\x5 ¥_K†´Â-!·°hÌ"æEÏcÛ‰m$g%ãîìNhÝP†µÆÐ¶e‡!¸4gÏÖ**RÏÆÇ͇þ‘i[§±þèz’³’1a¢¡WCz…ôâ™[ž±xB\þ\L%x‰ˆHµ‘––FNNŽM}ڙƀ¶õ‘šmüx¦NM³©¿¿¿?žžž•ÝÜÇÊ®)""""7>…E±JaQDDDD¬RX«EDDDÄ*…E±JaQDDDD¬RX«EDDDÄ*…E±JaQDDDD¬RX«EDDþdR²SˆÜÉŽ¤¥–ÅœŠ!ìý0"7EÚ¡2©ŽEDDþdJÂbTRT©eþ^þLè9n»Ù¡2©Žœì]€ˆˆˆT~ž~Lè9ÁÞeH5¢°(""•v*ûë®çüÅó4«×ŒÞ¡½9túk­a@Ë„Õ  ñl"Kâ–pkè­´oØží'¶—G-—ZŒì0€óϳáØ’²’pur¥Mƒ6tiÔÅb{qiq¬;¼Îbì?.»'üšÖmZj»í¶cËñ-ìOÛO-×ZôíMOP…÷Ù–}1šŒl=¾•øŒxŠŠ‹©BïÐÞ¸:¹–9NEj³å8]©Æ¦u›²(f[·b,6š×›Ðsé9éü°÷º5îf¾ºxùx:°ýÄvöÚ‡«“+·†ÞJ“ÚMʬÕÖóCª7…E©”ùÑóysõ› Ìm;20| ‘›"i^¿¹EXŒÜ‰‹Á…O6~¦„M´öoÍÈ#Y¿’×–¿Æù‹ç-¶Ñ1°#Ÿß÷9~ž~ĥƕ»Dɲp¿p‹°X²Ý~ÿˆ­‰[Íýx½ï댹iL…ö»¼}‰N‰æ¹%Ï‘|.Ùb½†Þ ™6dm´©tm¶§+Õxg‹;Y¸o!Û·±-q›yœ ='v>ÈM‘·¢KÆswvçË­_²öðZó:GïÝýCÚ±¨©"ç‡To ‹""RaûNíãUo`,6Ò¥QÚ5lÇÙ¼³¬Š_Åg¿°ºÞŒ3È-ÈåÞV÷ÒØ·1 ¼p ýÏ/yž¢â"Ú6lKç Îää°öÐZöœÜÃ3?>ÃüçãààPézK¶Ñ:‚úžõ‰KckâVþ¹öŸ´¨ß¢RóóÊÚ—“çN2vþX²ó³iОö ÛãâäBlj,Û·ñøÂÇYóø<]=+\[eŽSY5†Õ cX»a,Ü·îÁÝéÚ¨k…ö9çb­#ð÷ò'.5ŽÍÇ7óÕÿàŽæwàåêTþüêIaQDD*l掙‹<×ó9Æ÷onŸÐs3#¬®—W˜ÇÒ±K ­jn›¸l"EÅEŒí2–×û¼n;½í¯ ùn{NîaÛ‰môîQézó óX2v‰ùŠ#\ >ï®{—éQÓ+ËÚ—¬úÙùÙ¼uç[<Ðé‹þßîü–·×¾ÍÒýKÝÛÄ  IDATqt…kûfû7>NeÕàààÀÂ} é܃gn~Ææ}.4²â±·È_]þ* ÷-dGÒú„õ*~Hõ¤§¡ED¤ÂöœÜƒ»³;¹å/íA>AŒh?Âêz­#J—]É»08˜Ø{¢ÅU±ÚîµyªÇSæ>WcP«Aa à‘ÎP×£n¥Ç.k_¶$nÁà` 37“Ï·|Îg›?cꦩLÝ4•Ôó©À¥WÓT¦¶Ê§²j¼CÚ )5—ò¶¦·v>ÍÜVÙóCª']Y‘ ;—Ž^ 08J- òµþÐHYBd_ÌÆÏË7'·RËû66oïj4òmTªÍÑÁ‘@Ÿ@bRcÊX£|eíKfn&F“‘O7}ju½?Î7´µ¶Ê'kžTVCÚ<œ=(*.2·UöüêIaQDD*ÌÇ͇Ôó©MÆR 9+ÙÊZ—†ø#oWoNeŸ"¿(¿T:‘u¼=À¼üBÁ…Rã¤d§XÝnRVR©6“ÉÄÉs'ñvõ¶ºÞ•”¹/nÞ x¼ÛãV×ûãC¶ÖV‘ãt¥¯‡ÊžR=é6´ˆˆTXÇÀŽäæñÕÖ¯,ÚS²SX°oA…ƺ)è&Œ&#oøØ¢=+/‹oû·¹@€O묷蛖“ƼèyV·±tÿRŽž9jÑ6sçLÎäž1]n¾™¼Â<‚k3¡ç„RÿÜÙüNÚ7l_©Ú*rœÊãjp5¯{-Tåù!ö§+‹""Raty„_ü¿6ü‹M ›hÐŽ³¹gYuh•9ˆØêÑ®òË_˜5É;é؉œ‹9¬;²ŽÌÜL:t {ãî´iÐ?O?VƯdôœÑtìÀé §Y¿ «Ûpwv'bfwµ¸‹úžõÙŸ¶Ÿ-Ç·àààÀ£]½ªcq¹§o~š•ñ+™¸l"3w̤}Ãöx¹y‘‘“Á¡Ó‡ˆ9ÃŒ3ô ¬pm9NåiäÛGGì[@QqµÝkTÙ˸«òüûSX‘ kß°=oÝù“×N&*)ÊüÙ¸¸=ìv>Þð±y.[yZù·â“ˆOxmùkD§Dm^VòþÀ’:ÜœÜx£ß<¿äy‹íö éIß°¾¼µæ­2·1®Ë86&ldIÜs[É» «ò³vA>AÌ5›‰Ë&›Klj¬Åòp¿p‹ X‘Ú*rœÊãëî˶CX¸o!³wÍ6·WUX¬ÊóCìOaQDD*eTÇQônÚ›õGÖ“ScþBÇßWý°|¢ä¶lÇÀŽeŽÕ¿En¾™ HÎJÆÅÉ…¶ Ú–ú2 ÀÝ-ï¦Mƒ6üvô7r siíßš[šÜÂþôýLè9¡Ì§]\™=j66Ÿ‡‹·5½­R_p)o_Zù·bù£ËÙ}r7±©±äæÑÀ«-ê· Ü?üªj³õ8•W#À{w¿Ç VƒØŸ¶ŸÜÂ\s{Y߆¾Òx%ËÚ5lgÑ^‘óCª7“Éd²w""b)--œœ›ú†…5%22lë_UbSciíßÚâjVlj,#fÀÓÕ“­ÏnµÛ%6ÛÀ¸ùã˜Ôwc»Œµk-Tk« 5áü¨©Æ÷`êÔ´rz^âïï§§gù˶@WED¤R>Ýô)ÇΣsPgêxÔ!!3õGÖc4sÓ˜2r2˜»wn¹ýBë†20|àu¨¨æ»‘Î?;…E©”¶ ÚòÛÑßH<›hÑ>´íPóK¢kŠÓ¹§‰ÜYn¿~Íú),ÚèF:?þìED¤R&ôœÀ¶CØ•¼‹SÙ§ðró¢k£®4«×ÌÞ¥™Ù2w žG=›î¨Ê¯¡ØZ[MUαæ,ŠˆTC5a΢ˆØÇõž³¨—r‹ˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆX¥°(""""V),ŠˆˆˆˆU ‹""""b•¢ˆˆˆˆXådïDD¤æ‰N‰fÊú)Œé<†î»3k×,öÚ‡«“+·7½¡m‡âààPj½„ÌÅ,âPÆ!ŠŠ‹©°¶Ã÷ +/‹¿,þ }›õåÑ®š×Û~b;Ÿnü”zµê98ÒÜžs1‡'=I¯^<Õã© íÃòƒËY¿ŠóÏÓ¬^3îü0GNáË­_òü­ÏÓµQ×RûÚ¥Qþ³û?Ä¥ÆáçéÇÛýß *)ŠŸ÷ÿLRV.Ú6lËÈ#©W«žy{ë¬çëí_[ŒýÇe/ö~‘ÎAKm·S`'fíšÅ´x¸xЯY?µTæ1©j ‹""RaçòÏ•E§ N¼ÿëû$ŸK6/[¿ŠØÔXÞ¼óM‹u¾ßó=o­~ £ÉhnÛplÿÙýÞéÿÃÚ Ã×Ý—SçO1?z¾EX\qpQIQ¼rî}Øš¸•í'¶3¨õ  ÕÿÊ/¯°(f‘E‹b1ªÃ(¢’¢ÈÌÍ,µ¯íÚ1yÍdÒsÒhåß €w׽ˌ3,Æ_wd3wÌäëá_Ó)°2J]¢dÙÙܳ¥¶Û¶a[‹í–µ‡×©À(ל¢ˆˆTÚ7Û¿¡Y½f¼{÷»ø{ù—Ç[¾`Ξ9<Ñý ¼Ø}r7o®~FwMû†íq1¸›ËÌ3ycÕtîNO=Cz2wÏ\R²SÌëo>¾™.º°#i›ofDûlJØ@Ï&=m®yùÁå,ŠY„»³;v}”v Ûq6ï,³wÍæëí_[]ïÛßR'„ ='ÐØ·1ÞnÞ¬>´š;fàäèÄæk㮜Ï?Ϙ…lKÜÆ³?>Ëú§ÖãêäZÙCÌw;¿#¤NÏ÷zžúµê—Ç×Û¿fÅÁ, ]ÈðvÃ+=¶ˆ-ED¤ÒšÔiÂÂ1 Ía¨who ‹ ™ºi*{SöšÃÞŒ¨›Š™1b†ùJÀía·Ó!°cçeÙþe<Ýãiz6¹7%lbDû¤d§™À“ÝŸä\þ96&lü_X<¾‰&µ›˜¯4Úb~ô|>ø”>a}ÌíƒZ bàŒ=s´Ìõü<ýXüðbÜÝÍmÿÚð/Þð>ƒÛ 6·G´Ž`ÌcØš¸•uGÖ1 å›ëû£úžõ-¶{{ØítễsdÞÞy ‹rÍ),ŠˆH¥õoÑ¿ÔU³6 ÚXÜR>ÁÁÀ'?Àd2aÂ@‘±ÀÒz÷Ààh0‡Â èÚ‹C‡X»˜bS1)Ù)$žMäŽT¨æC‡ðu÷µŠÎgîmu¯¹Æ²öõò p0ý îÎîD´Ž°hwpp`d‡‘lMÜÊ´W´Pj»%Waã3â+=®ˆ­ED¤Ò|Ü|Jµ9;:Pl*6·åäb4Ùr|‹Õ±ò óðvó¦mƒ¶lMÜJ±©˜Ç6V/ Oz†ôdÆŽÄœŠaÚ~z†Ø~  ¿(_7_›÷§DCÚ.]ÄÛÕ»Ìyƒ%c],ºXnMÆb£ÕeÞnÞe¶ûºû’’RîØ"WKaQDD®¹†Þ )0ðÕЯ08ÊìSÇ£Žùç^¡½Ø»i/Ñ)Ñl;±ûÚÜ@ׯ]q1¸°ùøfö§íÇàh {p÷ ÕâçéG™²ò²ðu· qiqëÈ™#¤å¤áïéo±,&5¯Kí%¡ïÌ…3¥Æ¹Ò¸ÔÒ5](¸À±3Çðóô«P½"•¡÷,ŠˆÈ5wgó;É+ÌceüJZúµ¤[ãnæZù·">#žBc¡¹ÿ-Mn`ÚÖidåeÑ+¤nNntnÔ™ßýÎÖÄ­´oØ/W¯ ÕÒ³IOþŸ½;«ªÎÿ8þºìû¢èQD MÑÒÜ—´ÔÌ¥ÔÊ%Û&­ÆÑ™²š¦œŸÚjÛTše›V¦™[i›¥Q©¹á "î*ˆ ²_îïâæ .èý|oõ!¬ag.žáDÆ "ƒ"‰9Sæ9"Gðï¯ÿÍÿ~þ½sôÜQ²ò²ðpöà¡îUzü"•¥™E©qÎ|:îSÆ_3gGg9Äî»IÎHÆÛÕ›{:ßC»Àv–þŽGº†t sHg«<. ˆ%3•èȇw|Hˆ-É.Èf墳¤\Hab׉–Q<]<+t¬F^øtü§\r¹…¹ìKÝGbz"nNn<ØýAËK»¡ø¡—o~‘PÿP.ä] æd g.žá‘>pGÇ;lžãÖ«oå=ÿÁùœóì=µ—¬¼,šû7ç£1Yf+Ej’Ál6›í]„ˆˆXKMM%++«B}ÃÃ[2gN*C†T¬uHÏI'!-PÿP½ËÜÖ¼AóRëø L>{˜œ‚½1zËœÉKÎHæDÆ ½ õµ´›Íf¢“£1›Ít錣¡ì5qøìa²ò³õ ÅÏÝI+&u(ŠŸúÙò:žòÆz©´¬4’3’qqr!¼a¸Íw+šÍfž9HNaa ÂðvõætÖiŽž;JëF­ñw÷Š_~ß²ûxjÀSÜÛå^2s39zî(.„7 ×˸ÿ¦L)þßÕܹ©êo4ñòòªêé–ë6´ˆˆTšŸ»]›u­ô6(~EÍU¯ºì9‚}ƒ ö .Õn0J}]^e­Ü»’î¡ÝiÙ°%Püäö‡;>$êPa ìÞÛx¹ñ”häÕˆF^.ÛÏ`0XnM—hìÕø²«ø¸ùÙ$ò²Ç©n ‹""Rç?œÿ|óŸËöëÒ™Gú<ÂÚ„µ<ñÍ4õiJ$¦'’ž“Àý®érEê…E©ó² ²-ß]ž’×׌n?šƒiIÎH¶|¯u€gõ{Œ›®º©Fk©kED¤Î õeñ¸Å—íW²pP›A l=ÓOs*ó^.^„5 «ðSÐWB‡ ,·Øj½¦ˆ=(,ŠˆHçáìQ¡u…—2 ½Œe>„STt­¤HM«=ÿ„‘ZGaQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDj¡•{W>;œµ k¯ÈùöžÚKøìpælšsEÎ'u‡Â¢ˆˆˆ”iGòÂg‡3oó<{—"v¤opÚµçЇì]†ÔBšY›ED¤Ò6Ù@øìpF/d{ÒvÆ.K‡W;pˇ·ž“Në[óèWZí³jï*Âg‡ÓuNWÌf³¥=5+•ðÙáü÷»ÿ^éaå¥DtR4|ùýç÷'â庼хI+&±3y§ÍcýzòWÆ-GûWÛÓùÎ<öÕc¤ç¤—:fn&3¿ŸI÷7»Óî•vÜòá-DŠ*ÕïÏ^×ËókçmžÇ˜OÆðچןnù¯„ÙlfyÌrn[t^í@»WÚ1tÁP>Ùõ‰U-R·é6´ˆˆTÙ®»˜5“Ù@‘¹?w?ÚÛ²éè&Ìf3ƒ€MÇ6á`pàlöYö§í'¢ql góž—=_›—Ú`*2U¨¶Ï¶NÙú§Æ–•ÆØÅc­úžÏ9OÔ¡(~>ü3ŸŒû„.!]¬¶ïMÙËË?½L¾)€œ‚>ýœäŒd>ÿ©¥_^aã—Œ'þt¼¥-6%–V>À«†X³º®«­qV–ÙlæÑ¯euÜj«öý§÷3óû™Ä§ÆóÜMÏUéØR»(,ŠˆH•}»ÿ[n‹¼I]'Ñ̯ŽŽôjÑ‹ù[æ³ÿô~"Œ˜Íf~9ú ÃÛ ç«}_±ñÈFK¨Ùt´8ìtínϡ؋Á` W‹^Üuí]´5¶%À3€ŒÜ ¶'nçñ¯gþ–ù¥Â⚸5Œë4Ž¿]÷7ŒÞFâRâxxÍÃD'EŸO„±xìïü˜øÓñ„5 cæ3騴#ç²ÏñÞÖ÷X¼{q©«ãºÚçMî1™®Íº2æ“1<Üça&÷˜lµ}uÜjVÇ­¦M£6<~ýãDEâêäJlJ,O¯šÏb>ct‡ÑtjÚ©j Rk(,ŠˆH•ulÒ‘ç?o™å*Ñ«yq¨ÙtlÆâOÇs6û,ƒZâDÆ 6ÛĤn“0›Íl>¾™öAíñuó½ìùO¨©¡ØK€gö}”w¶¾ÃôµÓ9{ñ¬eV !­tM½ZôâéAO[~¿6øZ&u›ÄÌïgÏþý×î_‹Á``Þ­óhÐ _f šÅÑóGÙ|l³õq«áºÚge­Ø»GGÞ±Æ^-í]BºðÚ°×üþ`Ö\¯°X(,ŠˆH•õlÞ³ÌÐqmðµ¸;»³ñèF&vȦ£›p48Ò=´;Î`Þ/óÈ-ÌåðÙÜË>ǘŽcìP½5[cÙubã—Œ§ÀTPæ~¹…¹¥Úº5ëVª-Ä/€‹ù-mÇÓcô2Z‚â¥ú´èS*,VÇuµ5ÎÊ:˜vS‘‰ÞoõŠoK›1[~8™yòOŸGìOaQDDªÌÏݯÌvgGg® ¹Ž-Ç·[˜Ë¦c›èÔ´^®^ôjÞ‹×6¼FtR4q)qônÑ»Bç«É5‹¶Æ2Ë| LLí5•[®¾£—G ßȹìs¥öqur-Õf 8 ý™?ªãºÚge•¬u,ïÏÃVÀ–ºEaQDDjD¯½øùÈÏl8²I;ø{¿Åïóós÷cã‘ì;½wg÷Z}«2)=‰Ï¦öšjÕž˜žÈ±sÇðqó©ò±CýBÙ“²‡ƒg–š]ÜptC™û\Éëê`(~iJY°eÖĥƱù›ñvõþSç‘ÚMaQDDjDɬÖë_'ß”Oï°âß tkÖ¨CQœÌM8tö‹v.â–«‹_3³3y'Ïýð\•Ÿ$.1øªÁÄœŠaòç“™5p‘M"-¸üñt‰š¸®¶”¬wŒNŠ&='ÝjVò¶ÈÛØñõîZzSzN¡c“Žx»zs:ë4Ò°bï ÆwOæ=þT b ‹""R#ÂÂ1z9v_7_Ú¶·lëÖÛòÇyeŽ=í4–Ÿü̬u³˜µn–¥½­±-­µætÖé*û®kïbMÜâOÇ3áÓ –vƒÁÀÍ7óuü×¥ö¹’×µ¹sŒ^F¶ßBç7:[Ú=qˆ‘Wd{âvVî]ɤ“ÊÜÿŽÈ;þt bz)·ˆˆÔ˜^-zÐ=´»å–&?Õ[Ö쵄 ­nàÃþÇU¯ÂÍÉÆ^Ûi,‹Æ.ÂÅÑåOÛÕÉ•Åã3¾Óx<pur¥­±-o|›>a}lîw¥®«£ƒ#óFΣspgÜÝ­¶ ^¼ùEæÜ2‡žÍ{âëæ‹³£3!~!ÜØúFÞù6=[ÔîHÅÌzźˆH­“ššJVVV…ú†‡·dΜT† ©X©Û¦L10wnj…úF¼¼¼ªzºåšY›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±ÉÉÞˆˆHýrüüqVÇ­¦OX:6éhïr*-þt<ë¬cÈUC·w9Rd."æd Û·‘oÊgD»„ú‡Ú»,©'ED¤ÒNfždÅžtíN—.VÛŽŸ?ΜMsðvõ®“aq_ê>ælšCëF­ëDXœµn_Ç͹ìs–¶ŽM:*,JµÑmh©´“™'™³iÛ“¶Û»”¿¼o÷KzN:›t$Âaïr¤RX©ÃfœÉ–)[Xq× ®mz­½Ë‘zH·¡ED¤R¢“¢Y¹w%[ŽoÁTd²l›Úkj©þÛ·±çÔ\\éÖ‡æþÍ­¶_ºÆ12(’m‰ÛˆKÃÓÅ“1Ç`2›Ørl i Ò¢A ú†õÅÕɵÔùŽž;ÊžS{8•y /W/:6éÈÕW—9–” )üxèG2ó2iЊ¾a}mŽ»ÀTÀÆ£ILOÄl6êJæ=psr»ì5«IƒÛ ¶ëù¥þSX‘JÙž´{V°õøV¶ßjÙviX,,*äÁ•²þàzK›£ƒ#/Üô#Û´´•¬qtqtáõ¯³éè&ÚÛ1¦ãbNÆðÏÕÿ$9#ÙªŽ Ÿ Þù¶%fd3iÅ$«zJô ëü[çáîìni[¾g93¾›A¾)ßÒÖ±IG†µVjÿ˜“1<¸êAÒ²Ò¬Ú<xcÄtmÖµœ+Vl˜1_¶€‡³÷w½¿B}EjšÂ¢ˆˆTÊu!×1ºÃhVìYA·Ðn\r]™ýD/ +/‹íF`ô6—Ç/Ç~aÆ÷3¸±õx»z—꟟Ͱ¶Ãhæ×Œ@ï@NdœàÞe÷’™›Id“H"ƒ"qqr!6%–­Ç·2qÅDÖM\‡—«ó.²õøV®¼šˆÆx™—ÉöÄíl8²y›çñhßGØsjÓ×NÇTd¢KH:uà\ö9¾KøŽy›ç•Ëìg“–•FD㺅vÃÉÁ‰cç±éè&¤¨PX|só›V³°å ð PX”ZCaQDD*¥KH ƒåièÉ=&—Ù¯ÀTÀ·÷K°o°¥í‰ož`ÅžD'EÓ?¼¿Uÿœ‚ÖÜ»†°†a–¶ßÍ 37“Yg1þšñVý?Üñ!Ï®–5ûÖ0®Ó8¼\½X>a9Þ®Þì<±“³ÏâìèÌà«“¼-™¨CQ–°øáŽ1™˜ÚkªÕlèÔ^S¾px©±œË>G‹-X}ïj Ví—>…\žôøG¥fEj …E©#¯iúµìÇŠ=+H½Zªÿˆv#¬‚"Àæã›q48r.ûó6ÏÃl6c6®‹Ø{j/tƒlÿ€µ kˬçÌÅ3–Ÿw%ïÂÝÙÉ=­ƒnˆ_wt¼ƒ÷·½oÕ>¨Í l_À²˜eôïOc¯Æ4ðh@¹Lé5¥BýDj…E©A>A¥ÚJfÌ ‹ Kmûãƒ/P­Y”ºJaQDD*ÍÕ±ø•5é9é5zž¡=ø,æ3BýCÑnD©íûOï·<(c0prt²ÔVâí-o“‘›Ÿ»Ÿ¥íšàkX·†·~yËêöpRzËb–•:χ~¤OXq08Ö0Œæ š³hç"Vî]Y¡°¨5‹RW),ŠˆH¥…ø…à`p`ùžåâïî”ýžÅ?㡱6a-Ó¾œÆÂè…DEâíæMZVÎ`墳,¸}M}›Ò©I'öžÚ˰…ø¡Õ ìLÞI\JœUP¸§ó=|ÿ5olzƒÍÇ7[= íæ\ú½‰“?ŸŒ¿»?×_Cˆ_¦¶&n%9#™«_U¡±ÔÔšÅï¾#!-(~Ê`uÜj~=ù+@úŽk©EDê¸Kî®^1~î~Œl?’{V°hç"K{u‡Å`ß`]Ä´/§›KlJ¬ÕöˆÆ4õmj9÷–ã[8xæ £àäàÄ3ƒŸaÉî%VïiìÔg?ËŒïfMtR4‘M"Þv8ϬÆê<ýÃû³îÀ:¾Ýÿm©úž¿éùjse}à{VÇ­¶j»ô÷ºò×Rqf38\ÁïàSX©ã<<ŠÈξò‰ñ…›^`xÛáìKÝGvA¶¥=Ô?”©½¦Ò©i§Rû”lëÔ¡BýÚÛòÍß¾a׉]ĦĒSC w mµ±ú.d?w?¾¼ïK¢EqìÜ1|Ü|èÖ‡&>M(2‘™›iuÜÛ:ÜF¯æ½øñð\È»@x@8ýZöã@Ú¦öšJxÃßÖ›·¾IZV;’w”ž„‡‹-´ {hw«WéØÃÀÖ õµ¹ýÒqHýpñ¢¥«)sÉ;DD¤ÖHMM%++«B}o¼±Ç_`Ê”ó5\•ˆÔC†„pà y䑊½ãÓh4âååUÕÓ-·ï?‡DDäOkÓ&Ÿ¸¸Òß‘,"õONŽGŽ8Ó¦Mþå;W…E‘:®[·¶lq§ À‹EäŠÚ¼Ù¢"¯ß[Ø IDAT]»æ\±s*,ŠˆÔq7Üp‘Ü\Ö­ó´w)"RÃ>ÿÜ‹k®É%  bïì¬ ‹""u\``!ýú]äƒüÐ*t‘úëØ1gÖ¯÷dìØÌËw®F ‹""õÀ£ž#6Ö…Ï?÷¶w)"RCž{.€- :´b¿U…E‘z U«|ÆŒÉä•W’•¥ÿk©o~úɃô`æÌ38:^Ù[ú‘zâá‡ÏST<Ò˜¢"{W#"Õ%9Ù‰ÿ»1Æe]Ñ[J(,ŠˆÔ~~&Þ{ï[¶xðâ‹ í]ŽˆTƒ‹xà 7.ä¹çÒìRƒÂ¢ˆH=Ò¾}Ï?š ü˜3§x©ÃÒÓùÛß‚8Þ‘wßMÁÃÃ>· ôu""õ̰aYdg;0cFG:3{öi\]•Eê’Ç™4)“ÉÀG$(èÊ}½ßifQD¤ºãŽL,8ņ ŒÝ”;Üì]’ˆT€Éd`Ñ"_n»-˜ L¬\™L«VWîÛZÊ¢°("ROõè‘êUÉ4lhbìØ¦<òˆ‘cÇœí]–ˆ”¡¨¨ø‰çaÂyá…†Œ—É'Ÿœ¤aÃ+÷òm[ f³V´ˆˆÔ6©©©deUß»Ô~øÁ“çŸoHb¢3×]—à 7dÓ©S.¡¡øúšpÐÔÈ•—gàüyGpaëVwÖ®õ$1Ñ™.òä“g -¨¶sF¼¼¼ªºûr…E‘Z¨ºÃ"€É?ÿìÉš5^lÜèAF†¢HmТE\dôè „‡Wÿ-ç?õ€‹ˆÈ_„£#ôï‘þý/b6ÉÎ$&:‘™é€Ùl°wyRI»v­aáÂIÌ›bïR¤ \\Ìøø˜hÕ*?¿ÚýbT…E‘¿ ƒ‚ƒ ®¾[]re™Í¹,\7Ýte¿úMþztBDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±IaQDDDDlÒ7¸ˆˆÔBF££Ñhï2¤+ù|´lÙÒΕH}§™E±IaQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±ÉÉÞˆˆˆHùΜ9êU«¬ÚvìØÀ»ï¾kÕîããØ1c®XmRÿÌf³ÙÞEˆˆˆˆmùùù4jÔˆ¬¬,0›Í˜Íf~¿IXPPÀ=÷ÜÃÂ… íUªÔ?ËuZDD¤–sqqáöÛoÇÑÑ‘‚‚ (,,Äd2Y~/((`ܸqv®VêÍ,ŠˆÔBéééäååÙ» ©E~ùåFUn???bccqrÒ*3ù¯¯/nnnUÝ}¹>M""µP^^YYYö.Cj‘öíÛÓ°aCΞ=[ævggg†Nnnî®Lj;OOÏ?µ¿nC‹ˆˆÔ >ggç2·0|øð+\•ü(,ŠˆˆÔÆ ³¬Mü£ÀÀ@"##¯pEòW °(""RGtèÐàààRíÎÎÎŒ9ƒÁ`‡ª¤¾SX©Cn½õÖR°0tèP;U$õ¢ˆˆH2tèP ­ÚZ¶lIëÖ­íT‘Ôw ‹"""uHI0,¹åìääÄ­·Þj窤>SX©cn½õVË7¹˜L&Ý‚–¥°(""RÇ :“É¿±¬‡^Dª‹Â¢ˆˆHD§N9r¤«‘úN_÷'"R ¥¦¦ÖÈ7¸äæøùg6nô .Ε¤$g23(*ªöSI›ü8í\‹T–««_ß"ZµÊ§cÇ\ú÷Ï&2²f¾}Çh4âååUÕÝõu"".80¾?K—ú•å@‡¹té’ÃèÑ™øùá ûLuNvöõ|òÉ Lšjïr¤’òò œ?ïÈ.¬^íżyþ´j•σ¦3|øjÓ+35³("R U×ÌbQ¬\éÃ+¯4Àl†ûîË`ôèLLÕP¥Ø[RR!!!ö.CªAl¬+‹ùòÅÞDFæòÿw†«¯Î«–cÿÙ™E…E‘Z¨:Âbf¦S§²e‹wÞ™ÉÔ©çðõÕýf‘Ú,>Þ•§ŸnÈÎî<òÈY|0ýOS·¡ED¤”ÄDg&N ââE«V ]»ê™¡‘š‘Ç’%'ùøc_ž>€£G]xöÙ4œí7·§°("RÏ$&:3ztSš6-dÑ¢7.¼üN"Rk p÷Ý4o^À?ÿiäìYGÞy翽ZóŠÓ’f‘z$3Ó‰ƒhÚ´%KN*(ŠÔa}ûfóñÇ'Ù¶Íçž °[ ‹""õDQL™ÈÅ‹Þy'ww­O©ë:tÈãå—OóÉ'¾,Yâc—EDꉕ+}غÕwÞÑ­g‘údðà,zè<³g7äôé+¿‚PaQD¤ÈÊràÿkÀ]weêa‘zhòäó4nlâÅ\ñsë‘zàí·ý1™àÿ8gïRþò.\¸À<`ùý¿ÿý/v¬ÈZAAÛ¶mcóæÍ=z”ììl¼¼¼¸êª«1bÍš5³w‰8¦¥a|ôQ((°´¥¾ñ¦FìX•ý¸¸˜yüñ³LžÈÝwgСÕûG¡Â¢ˆH—›k`éR&NL×{kÂÂB¶oßnù=33ÓŽÕX;|ø0£F*óžß}÷óæÍã©§žb„ v¨ÎZã'ŸÄý—_¬Ú yíYó/Ò¶m‹ùòò˧¯ØyuZD¤Žûùg²²=ºö„©²³³ÉÊÊÂÏχzˆwß}—gžy†ÀÀ@ 8è>ýôÓüúë¯v­ÓgéR<~üÑ®5ÔV·ßžÉÚµžäç_¹ïTX©ã6nô C‡\}…ŸTÈÀY¿~=Ó¦M£ÿþŒ;–÷Þ{ϲÝl6óÅ_Ø­>çÄD>ÿ<ù­ZÙ­ŽÚjÀ€lrrˆŽv»bçÔmh‘:nï^Wºvͱw5îäÉ“<ú裖ß_zé%rssY¼x1GeÀ€–Û§™™™|ùå—ìÞ½›3gÎàââB«V­:th©õƒÜ}÷ÝVmÎÎÎx{{Ó¦M†J‹-ʬ)::šU«V‘’’Bpp0ãÆ³ÌÒÙR™Ú*:æ””¾øâ öíÛGFF¾¾¾4kÖŒ.]ºÐ³gOœœŠÿºoݺ5óæÍÃ`°ž•Šˆˆ aÆœ={€”””rÇPÂûóÏñ^¾³—©¯¿N‘‡®ûöÑð¹çÀlƒ3Ó§“¹µ›EE4~ì1²³) äÜ´i>ø`…jù« ,$0°¸8Wzö¼2ÿ»WX©ãNœp&4´þß‚ÎÉɱZ ¸~ýz^yårss **ŠÇ{ŒŒŒ «ý£¢¢xçw˜4i?þ¸¥½¨¨È긗Z»v-o¾ù&3fÌ`ܸqVÛæÏŸÏ+¯¼bÕ¶bÅ ž~úi›c¨lmsLL &L ;;»ÔùæÏŸO`` ›6mÀÕյ̺ ­ö76Çp©¬›oÆ÷ãqÝ»€€™39ýÒK8ää`üç?q>z€Œ{î¹|PüÞ}·;H{öYÌîîªã¯¦E‹’“¯ØùEDê¸  øøüõly饗9r$×_=^^^ÏäÉ“)øí Ú#FpóÍ7“’’Âk¯½Æùóçy÷Ýw ²ÌB:;;³xñbËqÍf3™™™üôÓO,[¶ “ÉĬY³èׯMš4`×®]¼úê«–} ÀèÑ£INNæÅ_,³ÞªÔV‘1¿úê«– 7tèPFŒAaa!IIIlÚ´‰èèèË^ËU«V‘“óû,Õ°aÃ.»€ÙÅ…”¹s 1‡Œ ¼W­"»o_<6l°ÅÜk®áìO\öX.ññ4xã .Ür Ùýúá¾m[…êø«ñö."3óÊ­$TX©ãL&ƒÝ¾3Öžn»í6fÍšeÕöðÃ[ÂX·nݬ‹‹ OüZÞzë-î¼óN tíÚµÔñHLL ˜L&¢¢¢¸óÎ;X¼x1f³€¦M›òÖ[oáøÛ‚““S©ºÞ}÷ÝJ×V‘1_:#xýõ×sýõ×[~¿ï¾û,·–mÙ»w/Ï>û¬å÷Ûo¿Î;—»Ï¥ ƒƒI}ùe‚xÌf?þ¸å©eSƒ¤Î‹Ù©ü¸aÈÏÇøè£ 0pfúô Ÿÿ¯ÈÑÑŒé .QVX‘:iРA¥ÚvïÞmù911ÑêÖñ¥¯‹IKK#11‘ÐÐPRSSùꫯˆçìÙ³äççc6›9qâ„eŸäädËÏqqq–Ÿ»víj Š=zô(³ÞªÖv¹1÷êÕ‹Ÿ~ú €iÓ¦ñôÓOÓ¼ysÂÂÂèܹ37ÝtS™õlÛ¶I“&Ygÿþý˽nKvÿþœàüçÏÿýõ6ŽŽ¤¾þ:…¸¥íõÍ7¸$$6kE~~•®AjŽÂ¢ˆˆÔI¥Ú.½•zòäINžÂ÷£p¼pÁªŸñŸÿÄìêJÊ[o)P^A ‹""Ro[n»4ˆ»îºËfß–-[ðòË/[Â_Ë–-y衇08880}útŽþ¶öîRAAA–™ÆÄÄD«mǯ¶Ú*Â`00uêT¦NJrr2‰‰‰9r„÷ߟäädΜ9Ã’%K˜6mšeŸ•+Wòä“Obúí^æí·ßÎ3Ïž{Îò{êë¯cjÔH³ŠW˜Â¢ˆˆÔ&Là‡~`ûöí¤§§3|øpZ¶l‰——©©©¤¥¥a2™èÝ»7÷ß?P¼æoùoï |ï½÷ظq#EEE¤¥¥TjæàÎ;ïä³Ï>#11“ÉÄØ±ciݺ5§OŸ.óöqUk«ˆ]»v±|ùrœœœ ¤Q£Fœ={Öªî¾}ûÃs—„/777vïÞ]êµ@¡¡¡¼p™€W¢ÑÌ™¸ÄÇ×®g§OÇéÄ ‚‡Ç!;ŸåËÉíÜ™ £FÙ<†©qcr7¾ì¹r;v¬ð­m©>ú©7\\\øè£ø×¿þEãßÂÇálj‰‰!%%OOOFŒÁĉ-ûLŸ>›nº ƒÁ€Ùl&>>ž‚‚.\H£FÊ<§§'Ÿ|ò‰eÐd2±ÿ~ºvíÊÿþ÷¿j«­"ÆŒèQ£ðôô$99™Ý»w[‚bPP³fͲ<äòÇu™¹¹¹lß¾½Ô±±±:·Ï²ex¯X@‘‡©o¼ÙÙ™‚æÍI»ä ëF3fಥÆ%µ‡Á\2-""µFjjªÕ²å oÉœ9© R±þ"ÕÅ-&Ão´0 €‚?¬µtÛ½ÛòðJa£F„…Uêø™™¸þ6k Å3‹]ÿXŸM™Rü„ùܹ©êo4ñòòªêé–ë6´ˆˆˆTInddùÛ;uúSÇ/òñ!§ë7¥fè6´ˆˆˆˆØ¤°(""""6),ŠˆˆˆˆM ‹""""b“¢ˆˆˆˆØ¤°(""""6),ŠˆˆˆˆM ‹""""b“¢ˆˆˆˆØ¤°(""""6),ŠˆˆˆˆM ‹""RiŽl |v8 £Ú»”j÷ØW>;œðÙádd[m«Ïã±EaQDDä7›m拸/pwv·w)"µ†Â¢ˆˆW˜Ç¿û/·^}+Í4·w9"µ†Â¢ˆˆ0÷—¹dåeñdÿ'í]ŠH­âdïDD¤nÛ|l3¯m|øÔx<\<¸¡Õ <Ú÷Qx4°ô1™X¼{1+÷¬$)# ³ÙL¨(ÃÛ glDZv¿í›–ÀûÛÞçÕa¯âçîW¥ý'.ŸH¾)ŸwF¿CdPd T)b ‹""Re»Nìbö³1™È-ÌeYÌ2v&ïäó{>ÇÃÙ€W~~…÷¶½gµolJ,±)±8;83áÚ —=W›—ÚXÎs9žl²µB}‹ÌE<õíSô ëÃÍ7WhŸKýtø'þ¹úŸ4õmÊ{£ß£©oÓJC¤6SX‘*ûvÿ·Œj?Š¿÷ø;½›ËÌïg’–À;[Þáá>°îÀ:ÜÝyeè+ôhÞ''Ž;Æê}«ñpñ°ëïZÌÁ3ùnâw•Þ÷£ñ|ÔóôjÞ‹9·ÌÁÓų*±/…E©²È&‘Ì2ƒÁ@—.Ì5Ÿß½‘µ k-a1Ð'€Z߀£Á€cƈ Ÿ+áñ„j®R³Ryuë<~ýãzVx?S‘‰ßÏ`ñ®ÅL¸vÓLÇÑÁ±Úë© ED¤Êz5ïe Š%BüBhÑ Gϵ´=Õÿ)&>™þóûÓ»Eo"ŒtjÒ‰¶Æ¶Wºd+3¿ŸI›Fm×q\¥ö{só›dåeñ`÷y´ï£5THí °(""5.ÂÁºÖ±+y;“wÍœsð÷ðçoЦQ›Ë£º×,¦ç¤³îÀ:Z½ØªÌ>^í@¿,3¢ýÃû³áÈVìYÁÍWÝ\©R‘ºF¯Î‘*Ûtlf³Ùª-)=‰£çŽêjÕîhp¤KHìþ ¯xŸú‰¬¼,þóÍ®dÉfÌ—ïdCûÀö|:þS Œ[2ŽÉ;ª±2‘ÚE3‹""Re1'cøÏ·ÿá¡îÑØ«1q©qÌü~&…E… n3ØÒï¶E·qëÕ·r]ÈuûS`*`ó±Í¤ç¤“[˜[¡sU÷šEw=q¨ÌmÃ#>5ž=ÓöXžèþ£V­X6aw/½›{–ÞÛ·¾I¿–ýªµF‘Ú@aQDDªlp›Á|û9+ö¬°joÙ°%tÀò{\J»Oì.ówt¼£Fk¬IÁ¾Á|vçgÜûÙ½<¸òA^ºù%†·nï²Dª•nC‹ˆH•]|-Üö‘M"qsrÃßÝŸÛ:ÜÆ§ã?µš‘[y×Jî¼æNÂÂ-ý® ¾–†¼ÀSž²ãþ¼Ï–Œ_B§¦˜öÕ4>Ùõ‰½K©V󛈈ˆÝ¥¦¦’••U¡¾áá-™3'•!C*Ö_Dê¶)SŒÌ›Z¡þF£//¯ªžn¹fEDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›ED¤J¢“¢iÿj{Âg‡[þË.ÈæåŸ^&|v8ñ§ã-}÷žÚKøìpælšcÇŠ`þ–ù„Ï'5+•“™'™³iÑIÑö.«L—ÖZž•{W>;œµ k«tžÚ~ìÍÉÞˆˆHÝ4gÓr rrÕ†á`pÀÙÁ™Í{àêäJ€G€½K”2¬?¸žvÆv½ŒìHÞÁœMsptp¤KH{—VÊ¥µÖ¤’°X[¯ƒ½),ŠˆH•>{˜ð€pæÜb=[سyOz6ïi§ª¤SX‘JÙpdîø€Ô¬T›añÆÖ7^6,ÆœŒáŸ«ÿIrF²U{Oo|Ûò—ññóÇ™³iîÎîÌß2Ÿõ×[ú::8òÂM/0²ýHK[vA6“VLbëñ­¥ÎÙ'¬ón‡»³»Õ±]\y}ãël:ºÉÒ÷ÕŸ_åÓñŸR`*à¾e÷‘r!Ų­±Ë&,³ Oyænš‹óeûx8{p×û+Ô êPF/#íŒí˜·y+ö¬`ëñ­Vת$,VÇu)9Ž‹£ ¯þü*[Žo±ôurpâÉOr×µw•[k‰å{–3ã»ä›ò-m›tdXÛa¥ö¯èg`{Òör¯Ce>Kõ•¢ˆˆTJŸ°>ø¸ù0Ë|üÝý¹£ãVÛ9ö ;“w^ö8'2Npï²{ÉÌÍ$²I$‘A‘¸8¹›ËÖã[™¸b"ë&®ÃËÕ˲ςèdåe1¢ÝŒÞFâRâøåØ/Ìø~7¶¾Ñ2Ûu1ï"[oåêÀ«‰hA€g™y™lOÜΆ#˜·yö}ÔªžÛ[˜Ë¨ö£ð÷ðç—£¿:žßÏàdÆI\]ßi<ŽŽ|ÿ5q©q,ýu)ww¾»Êã)Ë››ß´šÝ*O€g@…Ãb¾)ŸMG71âê\r£;ŒfÅžt íÆu!ו¹ßŸ½.–ãD/ ;?›íFÐÈ«q)ql9¾…gÖ?C›FmèÚ¬«ÍZöœÚÃôµÓ1™èÒ…A8—}Žï¾cÞæy¥ê®ègàrס*Ÿ¥úFaQDD*¥OXú„õaaôB½­nÕäæU(,¾»õ]2s3™5pã¯oµíÃòìúgY³o ã:³´˜ øöþo­n]>ñͬس‚è¤hú‡÷ÀËÕ‹å–ãíêÍÎ;9{ñ,ÎŽÎ ¾j0ÉÛ’‰:Uê/x3fÖÞ¿– Ÿ LýL y›m¦Gó¼Ûû¸8º0áÚ zoQ‡¢,¡¨*ã)Ë?zü£R3‹µåø² ²^|[·KH +ö¬ {hw&÷˜\æ~öº”È)Èaõ½«iÙ°¥¥mAôžÿáy>ØþUXüc­P| ME&¦öšjõ™›Úk*Ã/UwE?—»Uù,Õ7 ‹""b›oÆÑàȹìsÌÛ<³ÙŒÙ\’.\Š_¹C§ß÷yõÈRkÜúµìÇŠ=+H½ðûëU |°ý›¯R9sñL©¶[¯¾Õˆ ŽtmÖ•Ãgsÿu÷[@‹-hâÓ„'þÔxÊ2¥×”ò;TQÔ¡(ÜÝéÚ½RûýÙëRbxÛáVAàžÎ÷ðΖwJý㢬Zw%ïÂÝÙÉ=­Ã\ˆ_wt¼ƒ÷·½oÕ^•Ï@Yªë8u™Â¢ˆˆØÅ¹ìs˜Ì&ÞØô†Í>ò.Xý~ih)Q2»VXThi{{ËÛ¬MXKônÑ›@ï@\œ\0``é¯K­Ö¼•ô,ÕV²ÍÖ¶ÌÜÌ?5ž²ÔԚŨCQôlÞ³ÒÚüÙëR"Ä/¤T›ƒÁ¦¾MÙ›²÷²µfäf舣Á±BÇ®Êg ,ÕuœºLaQDDìÂÇ͇|S>»N´Ù'< ¼JÇþéðO¸9¹ñíýßÒУ¡¥Ýl6óÑŽ0 U:nyªk<5±fq_ê>Než*µdàJJJO*Õf6›9‘qWK›­Z}Ý|I¹‚Él*Ë:vu}ìñYªmEDÄ.z„ö೘ÏõeD»¥¶ï?½ßòÀJe œpu´žE{{ËÛdäfàçîW¥ã–§ºÆSk8øƒë[^oÕ^r}ÒsÒ+tœ?c;5ÜwÝ}V·¢îXÈÙì³–µ¦åÕzMð5¬‰[Ã[¿¼eu«>)=‰e1ËJ¯2Ÿò®ƒ=>KµÂ¢ˆˆØÅC=bmÂZ¦}9…Ñ ‰ ŠÄÛÍ›´¬4œ9ÀÞS{Ypûšú6­ô±;5éÄÞS{¶p7´º€É;‰K‰«±¿Ü«k<5±f1êp;àiý­:!~!8X¾g9…E…ø»ûÔÈ ¤»³;#Ž`P›A4òjľÔ}l>¶ƒÁÀß®ûÛek½§ó=|ÿ5olzƒÍÇ7[= íæìVê|•ù ”wìñYªmEDÄ.‚}ƒY4vÓ¾œFlJ,±)±VÛ#GT)(Bñ_ò[Žoáà™ƒ,Œ^¿Óï™Áϰd÷’RïA¬59ž?ãtÖibSby¸÷Ã¥¶ù¹û1²ýHVìYÁ¢‹,í5ïërnduÜjK[&‚ IDATÉ{Kž„.¯ÖAxvð³ÌønÑIÑ–ïqŽlÉð¶Ãyfý3Vý+ó(ï:Øã³TÛ(,ŠˆH•<Ðíx4(Õ^ÖwC½Lí5Õêõ(mmùæoß°ëÄ.bSbÉ)È!Ð;6ÚaŒ°ô õ-žåiZúQâ’m‚:XÚüÜýøò¾/‰:űsÇðqó¡OXšø4¡È\dõFyÇîÝ¢7ž.ž4ôlXjÛ×ÞI^a^•Æs%EŠÂl6[Ýê½Ô 7½Àð¶ÃÙ—ºì‚lK{u^W'W]ÄÆ£I8€‡‹ýZö³zºýrµÞÖá6z5ïŇäBÞÂÂéײÒ0µ×TÂþ¾&´2Ÿò®CeSÌ%Ïõ‹ˆH­‘ššJVVV…ú†‡·dΜT† ©Xùk™´b i üüÐÏv9ÿ†#¸oÙ}<5à)îíro¹}í]k]1eŠ€¹sS/Ó³˜ÑhÄË«ü—Á—c¹fEDDê±ÎÁ­¾ ±6«Kµþ•(,ŠˆˆÔc“ºM²w V—jý+q°w"""R•·öQêÍ,ŠˆˆH) ‹RwifQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&½gQDDªlÝu|wà;R.¤PTTÄ‚;ðE쬉[à C^ Ô?€#g0}ítFuŨö£j¬ž+u{9v€¨CQlMÜJ~a>ÿ¾þßD6‰,³ï©ÌS|›ð-ûOïçtÖiüÝýéÜ™[Ûߊ‡³G™û?œå{–sìÜ1LfÍüš1²ýHÚ4jS“Ã’ZNaQDDªä³˜ÏxêÛ§¬ÚŠÌE$¥'±=i;ÙÙ–ö‹ùÙž´n¡Ýj´¦+u{±pq©qVm¹eöýhÇG<ûó˜Íf«ö/÷}É»ÛÞåã1[‚|‰w~ÌsëŸÃd6Yµ/Œ^È”žS˜ÒkJ5ŒBê"…E©’¥¿.ÅÉÁ‰ÿÞð_†á`pÀÕÑ•1ÇÐ'¬O©0r%„5 cñ¸Å4õmzÅÏ]ÓN_ÿ©¥ÿ©ÌS– 8ªý(´€£ƒ#›Žnâ“]Ÿ0ç—9 l3P3ŒQ ‹""R%ÉéÉ´iÔ†ñ׌·jñ !Ä/Ä.5yºxÒµYW»œ»¦­¾g5½0óû™åö½·Ë½<Üûa ƒ¥­oX_nl}#ƒÞDtR4ó/âéâ ÀŽä˜Ì&nl}#/Þü¢eŸá(0°ô×¥lKܦ°ø¥°(""•²hç"¾Ýÿ-™y™äŸÏgÜâqeö»tÍbyŽž;Êʽ+9v€Â¢BZ4hÁèö£‰0FXõÛz?«ö®")# ³ÙL¨(ÃÛ §±¥OYkï[v¹¹6ÏÿʰWhâÓ¤Òõ\i%A±"üÝýËlö &¬Añ§ã)2YÚÝÝÊüójîß¼¸“»¥-æd /þø"wu¾‹k›^ËG;?bÿéýøºù2¶ÓX:w .5ŽOwʉŒûó·ëþf9žÔ ‹""R)ÇÏg{Òvà÷5‚e¹tÍ¢-Kv/aÖ÷³¬ÖÉm8²Ov}ÂsƒŸct‡Ñ¬Ú»ŠóïRkð>Øþ¯{•íFXÕséšÅè¤hr rÊ<¿“ƒ†ß_ RÑzÊ3áÓ ˜ŠL—íàçîÇ[#ߪPßêp!ïÇϧCP¼]½-í×…\‡¯›/_Æ}ɸNãhæ× €Ô¬T–íY†›“}Zö±ôÏÈÍ`{Òv"›Dò̺gHÍJµlû*þ+Þýó/ò¯Õÿ²º–ßÄÃÚû×ÒȫѭT…E©” ×NàÆÖ7rÿòûiâÓ„§=mµ}é¯Kùrß——=ή»˜ùýL<\<×i‘A‘¸8º›Ë ùïwÿ¥[h7‚}ƒù`ûÜuí]ôhÞ''Ž?Æš¸5dæf–{ž·/°šEHÎHfæ÷3yeè+zVºžòlOÚ^á°àP¡~Õeæ÷3É3åñDÿ'¬Ú}Ü|˜?j>Ó¾œÆïÜHëÆ­1`àЙCø¸ù0÷–¹½Œ¥Ž·0z!íÛ1­ï4üÝýÙpt‹v.âéuOs6û,CÛå†V7à`pàã³-qDÀ×?QêXR{),ŠˆH¥„ú‡êŠ“ƒ^.^¥Ön8²¡BÇY°½8Ä-¸}×4½ÆÒ~}øõtlÚ‘{?»—/÷}ÉCÝÂÉÁ‰Ö­ù¿ÿÏê÷t¾‡ yÊ=O—.V¿§\HáÉoŸäù›žgP›AUª§<‹Æ.*5j‹³£s…úU‡W~~…Õq«™~Ãt® ¹®Ôö¿ú¶ìËg¿~F|j¼¥½góž4oмÌc¶lØ’¥ã—ZÆq}øõ$œN`{Òvî¼æNfœiéÛ=´;Ýßìί'~­ÖqIÍSX»ˆ9ƒ£Á‘×7¾€ÙlÆLqÈ*4pøìa&u›Ä´/§ñðš‡éÞŸˆÆ–'°/½z9iYiܽônþÞãï k;¬Êõ”§¬ fOf³™gx–v|Ä×?Á=ï)Õ'5+•á ‡“ŸÍý]ï§S“N8:8²7e/Fȇ~`å]+iÙ°¥Õ~Û ,x#ŒlOÚÎÍ7[µû¸ùÐħ )Rª}ŒR³EDÄ.²ó³1™Ml>¶ÙfŸ’Snޏ™¶Æ¶|µï+Ví]EBZy…y m;”i}¦áãæsÙóË>Ç]KïâžÎ÷”ùÂîÊÔSžÚ´fÑd6ñï¯ÿͱ_ðÔ€§¸·Ë½eöû0úCÎeŸãÙÁÏ2¦ãK{ÿðþ´3¶ãÁ•òÎÖwxéæ—¬öóq-}ÝŠ£…¯›o™Û²ó/¿–Uj…E±‹ Ÿ òMù¼3êËìÓÀ£åç ZX½:6%– ŸN -+í²+#7ƒ»?»›1Ç0¶ÓØj©Ç–Ú²f1·0—©_L%êPÿwãÿq×µwÙì›”žPjæ ¬APü`“ü5),Šˆˆ] l=9›æ°6a-ÓúN³š‰ºwÏc?·¼‚奟^bTûQVaÆèeÄÙÑÙæÓØ—ëžÏîaXÄ0îî|wµÔSžÚ°f1+/‹‰+&²#y³Î*õ.Ì?*yuÐ[›ßâµá¯áçîg9NÉmùË=Ø#õ—¢ˆˆØÅý]ïgÝÁu,Ù½„e1ËhÞ 9Þ®Þ¤e¥qêÂ)LE&ܾ(¾MúîÖwiàÑ€¿ò ó9xæ …E…ô ëkó99Ü·ì>¦ÄÝɽÌo=)yÏbeê)OM­Y|kó[l:º €cçðâ/2Ë|þÕç_–s¿ºáU¢“¢ñrõâëø¯ù:þëRÇ»ô=˜c:ŽaÉî%l<º‘žózÖ GGŸ=LNAŽGîêl{fRê7…E± g>÷)/ÿü2«ö®âЙC–m~î~ÜÒîÚ¿pû‰þO°ô×¥H;À¹ìs¸8º0¢ÝžðT™Ç‡âPµûÄn›3%ï`¬L=öpøìáRcHHK°ü\r]à÷µ•YyYzfXÃ0>û1O¯{šØ”XâOÿþ4tx@8ÓL'2(²ZÆ!uÁ\ѹr¹bRSSÉÊʪPßðð–Ì™“Ê!ë_]v$ïÀÝÙÝêT xýÛÉÌ“´j‡³Pü²ìØ”Xšú6-óvf©À2‹èˆÑÛhõ²ìç²Ï‘”ž„‡‹M}›ZŽ_âçÉ.Èf墳厣CPË7˜T¶ž+éðÙܹxÆæöV­,k*œ=BÚÅ´rwéŸÏ¥Ò²Ò8‘y³ÙLOå=”—JÏI'!-PÿÐRÛÓ9•yªÌëºçÔLE&:5íTnmR¾)SŠßy9wnêez3xyyUõtËEDj¡ºEÄ>®tX´ï?“DDDD¤VSX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±IaQDDDDlRX›EDDDÄ&…E±Ø{j/á³Ã™³i޽K‘ZBaQDDä/fGòÂg‡3oó<{—"u€“½ ‘Ú£}P{=qÈÞeH-¢™E±IaQDDª$#7ƒßÏ ÛÜn´ûÿöî<ªê:ÿãøóz Š^d‘EÌpͳ²Å¬IÓ4—´¬™jÆÑ™¦~Í4΢ý¦ÆfšÑ(+g&m\²\2í—bÚ¦¸â†€ˆ™ˆ ²¢€,÷÷‡‡;Ýà&÷ ¢ÎëqNçÐçûù~>ïÏwî™^绾ڛQïŽâ󣟳:m5‘s"IÊJ²öÝrl ‘s"Y”²ˆÝ¹»™°lýþÖQª¶ŠÄäDîùç=ôúk/bæÆ0yùd¶foµ™sEêŠFcÛ¦#›šœwûñíŒ]2–>¯öa`â@~»á·”œ/qxÝ—Z‹ÅbaeêJÆ.K¿¿õ£÷«½¹áý,Ý·‹ÅrYµ5÷8ýPó·ÏgüÒñÌÝ2—È9‘Ö é{¿;ÞüL\6‘¾ëKÜkqüÏÿý¥•¥juä÷!W7]†‡U×VóÈ{Y”imK/Hç©ÕO1âÆv÷Ûwrs>ŸC¥€zK=5u5<úþ£ìÍÛkíw¡î;rv°óÄNfß=›‰±/«Þ}'÷1ç‹9ÔÕ_œ·ª¶Š©+Ø›·—5­ÁÓÕÓ¹1¿·‹ÅÂsÿ÷k3ÖÚô=\t˜YŸÎ"³0“—î}ɩڜ9NMÕx9Ò Òøë—åBÝ*k*Y“¾†¼²<–OZníçìïC®N ‹""â°Å{“Y”ID§fß=›èÀhJΗ°p÷Bï]lw¿ ‡706z,OÞü$Ý|»algdaÊBöæí%°C ³îžÅÀœ­>Ëʃ+ycÛ¼ôÙKÜÕã.:{uvºÞ ‡70¦ï~6øgtñêBzA:³>EVq v,à™[ŸqjÌï¯å£ôX›±–ž{òüíÏÝ5“‹‰ô‚t^Üü"¤~ÀCý"6(ÖáÚ–ì[âðqjªF€›»ÝÌø¥ãyæÖg˜6xZ³×¼.cc'òÄÀ'0{›É(Èà™uÏ’›Bfa&Qæ(Àù߇\tZDD–”•„Á``þƒó¹%ô<]= ö æwý„ð»ûÅÆðòð— ïn .ë3×8*‘;"ïÀËäE×]™‘0ƒqÑ㨮­æ³£Ÿ]V½ÑÑÌ1‡P¿P<\=2€·Ç¼K;§/‡6µ–Ui«0¶3²èáE Н‡¯u¾¹?š Àæ¯7;U›3Ç©©/GBx/Þó"¡~¡¸»¸Ó?¸?Oz€ÃŇ­ýœý}ÈÕIgEDÄa9gr0{™éáߣѶ!áCHÎNnr¿ø°x C£±|=|‰ ŒiÔÿŽÈ;xÿÀûäœÉ¹¬zÂÍâBxÇp²K²³©µ|]ü5uõu yspñþE ëßùåùNÕæÌqjªÆË1¨Û Fm!¾!œ»pΦVg~ruRX§Ø !ß}ˆãû|=|›‹æš†~MÝ{WU[Õ¬1ZJSki¨«áþæÔÔÕ8=gsS{ÇÛY&S£¶†š¾ÿ¿»3¿¹:),ŠˆˆÃBýB9xê GO%Ò?Òf[òqÇÎ…ú…r ÿ©ù©DFÛlûò›/­}:µï@nin£qväì°;Gòñd~9ä—6&·4—ì’lëØ-¡{§îdf°ýçÛñ6y7kŸæÖæÈqº”v†‹w¡ýP¨½-ùû¶§{EDÄa÷Üp‹…ik¦±ëÄ.*k*9Yv’—>{ÉáKŒ#¢.>û‹µ¿àËo¾¤¢º‚‚³¼±í Þ?ð>nF7†E°^Ö|wÏ»ì:±‹ªÚ*òÊòxù³—m^™ó}©ù©¼°árÎäPYSÉž¼=üôßR[_ËðžÃ< KeM%SÞŸÂçG?§ä| 5u5œ,;ÉG¿`Úšil?¾Ý©Ú9N—âãî@JnJ“¯½¹\-ùû¶§3‹""â°)qSXwh‡‹3é½IÖvƒÁÀ½7ÞˆÃpi×¼ÿÄL¾i2I‡“Øwr?^ùãFÛwçï¬Oø†ø†pOÏ{ؘµÑf^£ÁȨ>£ø(ý£&çÞs8kÒ×°êà*›öîºóÔ-O5«ÎæÝg4»OìfuÚjž\õd“}Ž~Ø©Ú9N—æ†ÙËÌŽœĽgmo©/·´äïCÚžÎ,ŠˆˆÃÜ]ÜY:a)b'Ðɳ&}ú°`ÌëÙ¿†³W—âjteñ„ÅÌH˜AD§\®´wkÏ ÐA,·°Ñ»ÿ|ïŸ=__L.&bƒbY2q CÚ£pÞûÑѸ»¸ãçáÇØ~cY>i¹SïX´Ç`0ðÊ}¯8*‘ø°x|Ü}p5ºâÂ]7ÜÅ[£ß"><Þ©Ú=N?ÄØÎÈüÑó‰ ŽÃÃÕ£ÅÖß %Òö Ýi*"rÕ),,¤¢¢¢Y}##»“˜XȈÍëßšê-õŒzw™E™¤ÌHiñ,µåØ_ñ83‡ÍdꀩmZË÷]͵µ–«í÷q­š>Ý Àë¯6«¿ÙlÆËËËÙéVê°ˆˆ8ååÏ^¦w@oâ‚ãèèÙ‘ãgŽ3Û|bPè ÿrú}\?EDÄ)Ùg²Y˜²°Q»§«'3‡ÍlƒŠœ—Y”Éþè’ýîìq'oyû Ttí»ž~ÿíEDÄ)3‡Í¤£GGöäíáTù)¼L^ ÈŒ„ÜÐù†¶.OÚ˜~×ݳ("rºVïY‘Öw¥ïYÔÓÐ""""b—¢ˆˆˆˆØ¥°(""""v),Šˆˆˆˆ] ‹""""b—¢ˆˆˆˆØ¥°(""""v),Šˆˆˆˆ] ‹""""b—¢ˆˆˆˆØ¥°(""""v¹´u""ríÉ9“ÃÚŒµÜq+11ì:±‹ƒ§br1qkÄ­„ù…5¹_¥ŽÇwUœEm}-áÃ1“‹ €²ª2þ½çßÄÆpkÄ­Öý²K²ùøÐÇøyø1¹ÿdk{m}-on“þ=¸÷Æ{ZéòS|ñÍœ­>Kÿ Ê‘ÓGØtd#nA¤d£µFwf׉]dfÐÞ­=ãcÆp¶ú,[Žm!·4“‹‰>}2Àf¾ŒÂ >ûú3›±¿¿í¾¨ûèÞ©{£yûuíÇöãÛ9Txˆö¦ö J°O°Cëq–¢ˆˆ8,çL‰É‰x¸zðöŽ·Ùüõfë6c;#¾÷ÏŒî;ÚfŸÔüT~±öä•åÙ´wíЕ·F¿EŸ€>x›¼Y¼w1[³·Ú„ŵkycÛÛÙ{$Ü;°ÿä~“yþ¶çªEê f}:‹ u¬m±A±Üu?‰É‰ÜÐù›°˜˜œˆ›Ñy[瑜 @osoÆÇŒ')+‰Ö¿ÀÙê³6sÄÅ2ÿÁùtñê@FAF£±4l‹êeæýÛWcGÎk—v.üvØo™ÒŠCëq†Â¢ˆˆ8maÊB*ª+Ù{$fo3l;¾?~úGîºá.¼MÞœ,;ÉÔS)¯*':0šè®Ñ¸¹¸‘^ÎΜüdÕOØô“Mx™¼:˜G6r¶ú¬uÿ­Ç¶âBni.Ûs¶3¼çð‹íÙ[HOhvÍOä÷O]}BЯk?ÎTžacÖFÞ<óæ®õü…óü¨×èæÛï2‹2ùåÚ_R[_Kß®}‰ Ž£âB›lfÿÉýL[3¬À`08{ˆ­óŽì=’Î^É(È`GÎþwóÿÒ³sOnîv³Óc‹4‡Â¢ˆˆ8­¦®† ?Þ`sIô7ëꃫHÉMáŽÈ;øÇÎP^UÎì»g3é¦I6c¼»ç]þ´ùO¬;´Ž‰±IO`ýáõl?¾{zÞCyU9é…é<Ûó,ܽäìdkXLÎN¦£gG¢ºD5»æE)‹¨«¯ã ¿`zÂtkûŒ„Œ\4Òî~•5•¬›ºŽˆNÖ¶g?~–ÚúZ¦˜Êoïø­5>ÛóŒþ÷höŸÜÏÎ;¹%ô–f××Ô¼k§®µžq„‹òåÏ^æÝï(,J«Ó.""â´Ñ}F7ºwî¶î·Px¶ÐÚ¶=g;Fƒ‘’ó%Ìß>Ÿ7¶½Áëɯózòëœ- íT🳄ÉÇ“­ûÖÕבž@Bx‚õ2pYUééćÅ;tænÿÉýx¸zð³øŸÙ´û3.zœÝýFöiöæíÅh0òìÐgmjðóðãé[ž¶ö¹ôzÀ&(<÷<;]öØ"Í¡3‹""â´®º6jótõ.>|Ò ä| u–:^K~ÍîX ÷üv$¢S[]¼ÄœœL¯.ôìÜ“„ðV§­&çL‡ Qo©'>,Þ¡šËªÊðÀh06Úìkÿ¡‘¦Ú)¯.§‹wÜ]ÜmëæÛÍ:ßåñ iÔÖÎÐŽ Ÿ Ò Ò.kl‘æPX‘V×Á½ê.ð“›b·Ïwúˆ‹gÉÞ%?sœäìdëÙÆ„ð ÉÇ“É(Ȱ¶9ÂÇ݇‚³ÔYêƼÒ<;{]|p§ÑºL8U~ŠªÚªFñDé ë|€uû¹ ç“_žowÞÜÒÜFm‹…“e'é`ê`w?‘–¢ËÐ""Òꇦ²¦’P¿Pf$ÌhôÏÝ7ÜMt×hkÿ!áCXºw)yey$„] „~~Du‰bë±­l;¾îºààP-±A±TÖT²`Ç›öüò|V\éÐXýƒûSg©cî–¹6í¥•¥ücç?¬}}øâè6} + ù õ»s¬;´Žo¾ýƦmÑžE|{þ[ëØ"­IgED¤ÕýtðOIÊJâÙŸeQÊ"¢»FãíîMqE1GN!íT Ç-$È'€›»ÝŒK;–í_†Á`°9{8$| SRSWãq:\Ëcã“ÌOøû–¿“œL¿À~œ9†G6b2šë‰OðIæ'¼³ûöäíᦠ›¨¨®à³£ŸQr¾„˜Àu@Ÿ€>tñêBRV—M$&(†ÓçN³1k#žnžvçðpõ`䢑ÜÓó:{uæPá!¶ߎÁ`à‰O8¼~G),ŠˆH« ö fÉ„%<ûñ³¤¤“^n³=ªK”5(´wkOlP,)¹)ô2÷¢£gGë¶„ðì¼xVÐÑû¢»F3ûîÙ¼¸ùEvçîfwînbc¸=òvæn™k½ïòRz™{1oä<^Xÿ©ù©¤æ§Z·5¼g±áÁww~çïùåÚ_ÚÌ›žÀ°ÈaÌÞ4»É9ð8[³·²6c­µ­á=‹zZ®…EqXÃå䨠X»ÛúuígÓÞËÜ‹õO¬gßÉ}¤¤SYSI€w=;÷$ÊÜøÕ7ÓOcßÉ}ô ècÓÇŒ„ äTýb'0´ûP¾8ú*¬_pùÃÆ?¶îüÐZ†÷ÎàÐÁlÉÞB^in.nô èÛè .÷Þx/}úðå7_r¾æ<½Í½‰‹çPÑ!f$Ìhô´5€ÉÅÄ’ KØš½•¬¢,<Ý<¹­ûmú‚‹\1‹Åbië"DDÄVaa!ÍêÙÄÄBFŒh^ô‚tz›{Û¼î&½ qKÆáeòbÇÏw4ù@Ë•´åØ_ñ83‡ÍdꀩmZ‹\]¦O7ðúë…—èy‘ÙlÆËËËÙéVêÌ¢ˆˆ\óŠ+ŠY~`ù%ûEtŠàþ¨ûy-ù5Ž}{Œ¸à8:zv$»$›/Ž~A¥Ž)ý§´yP¹š(,ŠˆÈ5ïôùÓ$&'^²ß=îäþ¨ûéЗ/¿ù’œ396ÛÇôc}™¶ˆ\¤°(""×<Oë}Œ?¤ážÀ 3Ýw4{óörªüÞîÞ Hÿ­]j³]ê^I‘+EaQDD®y½:7+,~W°OðUýHCXikz)·ˆˆˆˆØ¥°(""""v),Šˆˆˆˆ] ‹""""b—¢ˆˆˆˆØ¥°(""""v),Šˆˆˆˆ] ‹"""W¡-Ƕ0qÙDvçînëRìºj”˧°(""r*>WÌîÜÝ”œ/iëRìºj”˧°(""""v),Šˆˆˆˆ]ú6´ˆˆ8,5?•W¾x…)qS2€¥û–’QA¯.<7ô9~öáÏÖcO |ºϮ»xmëkø·÷'qT¢µ½¢º‚§V?Åð!<}ËÓWÕZþ4üOœ¯9ÏLJ>æÀÉœ:{ /7/bƒby¨ßCø¸û49Ö nƒX¼w1OÄäbâöî·3¦ï C£’²’H:œDyu9=ü{ðhÜ£Nך]’Íê´Õ)>Bm}-áÃy¨ïCD™£lÆjîš­Q®? ‹""â°²ª2vçî¦_`?^Üô"EEô2÷Â××SgO±"u…MXÜpxƒõAˆ_—ýš Ÿ väì`׉]<ÐûKÎ;yùdêêëšU£¯‡/oŽ~ó²ÖPZYÊз†rîÂ9›ý’²’xg÷;¬˜¼‚`Ÿ`›±n ¾‰9ŸÏ!¯,ÏÚcÖFÒ Ò™u÷,›q~ýɯY¶Úúï[ŽmauÚjÆÇŒw¸Ö÷ö¿ÇìOuü¡þ¢IDATgSg©³oé¾¥¼4ü%ê÷Ãkr´F¹þ(,ŠˆˆÓÞMy—ðŽáÌH˜A7ßntpï@BxË÷/'¿<ŸÀl;¾!HÉMaÛñmŒ‹@rvòÅ}Â.9ßîÜÝÍ‹þíý[d-5u5¸]ybàô2÷¢“g'Ê«ËÙ•³‹å–“˜œÈ_îû‹ÍXÿÚõ/zø÷àå{_Æìm&£ ƒ7·¿É²ýËxrГÖc²þðzV§­ÆÃՃDž§›'c'Ý57£éé,Ú³ˆßoü=ƒBììКœ­Q® ‹""â´.^]øðÑñpõ°iO»“³“=Žüò|²K²yjÐS”U•±5{ëÂâñdÂü¬gÈ’ K°X,ͪÍÕèÚ"kñóôcÃøôëOùêØW|{î[jêjp3º±'wO£±Â:†±jÊ*L.&†F ¥¦¾†×“_ç@þkX\™º€y#ç1,r˜uÿz?À}ïÜGvIv³kýùšŸSo©gḅÜt“µýöÈÛ‰ ŠaêSùøÐÇüô–Ÿ:´&gk”ë‡Â¢ˆˆ8mxÏáÂÀ-¡·`lg´†Â­Ù[1„#ÅGø0ýCê-õä—ç“s&‡I±“š5ßÀ-ZÿwÙ[KqE1–M°¹¤ü]g«Ï69VCPlÐ' gΟ±¶egáëákÂàb`{ ×¼–üZ³kM=•ŠÑ`dÞÖyX,,\ Öµuµ|óí7¯ÉÙåú¡°(""NëÚ¡k“íÜ;Ð7 /;rvPo©gë±­DúGbö2“žÀ”…¤JãPá!àâeëæh{Ø[Kâ¶DòÊò¸%ôèýf/3nF7 ¿Yÿ›&ÃbSˆ¸¶»x¦³ÞRom«ª­Â×Ý×nýŽÔzþÂyê,ul?¾Ýî~U5U¯ÉÙåú¡°(""­bHÄ$ 5?•'vò`ŸØm nF7¶߯¡ÂCÛ:¨Yc¶æ=‹ö¤æ§âëáË¿Çÿ›v†ÿ¼qî|ÍyŠ+Šqwuwzì.^]Èþ6›ÒÊÒFÁ+­ Í¡±ºvèÊ…º ,³c;c“}:zv[SKÖ(×&…Eiñañ¼žü:oíx‹ÒÊR†„ÀÝŸ8¾:öGO%ºk4Þ&ïfÙš÷,Úããîño‘U”e}ýÌ™Ê3¼°þªj«.+, ÂÑÓGùÍúßðêý¯âeò.>9¾6c­CcÝ}ÃÝ$&'’”•ijCŸµ9»y¶ú,kÒ×çðšZ²F¹6),ŠˆH«ˆ ŠÅËäÅçG?ÇÍèÆ€Öm a üåË‹OÛ6÷4´î=‹ö ‹FJn #ßIÏÎ=‹ï2ôpõ È'¨Ñëgñã›̇i²ùëÍ ~c0"(9_B~y>½Ì½¬—é›;Ö¦¯7ñÞþ÷X‘º‚°Žax›¼)®(æÔÙSÔÕ×±pÜB‡×Ô’5ʵI_p‘Va4¹9äfâBâlÈøn@Œ‹¿âµ9bêÀ©<ý0,de’Y”I O Ç-ÄÏÃï²Æ6{™Yq9“nš„«Ñ•£§²ÿä~òÊòð6yóXÜcôèíðšZ²F¹6,Í=Ÿ/""WLaa!ÍêÙÄÄBFŒh^ÿ–PZYJVq¡~¡xØí—W–Çɲ“xêjm·X,¤ä¥`±Xˆ ‰Ãhhú»+¡¹k)­,%çLÜ;Þ1€ô‚tªk«éÜÿ’c5l ë†ÙËÜhüo¾ý†Š „ú†âëáKqE1ÇJŽÑÿ‡õ^ÃæÖZSWÃ7ß~CeM%Þ˜½Í6÷&:²&Gk”Ö7}úÅßÏë¯6«¿ÙlÆËËËÙéV*,Šˆ\…®ö°("mçJ‡E]†»EDDDÄ.…E±KaQDDDDìRX»EDDDÄ.…E±KaQDDDDìRX»EDDDÄ.…E±KaQDDZÔ–c[ˆœÉ¢”Em]ŠSV§­&rN$IYIm]J³œ,;É’½KxìƒÇˆúk‘s"ÙrlK[—%×—¶.@DD®={òö0~éxž¹õ¦ žÖÖåüW³x §Ïnë2ä:¦3‹"""×° As·Ì`î–¹Ö¿Žþæ¨MßùøË!­ “‹‰Û»ßÎÌa3ñõðµöÙrl ¯xœ™ÃfÒ; 7s·Ì%£ ƒˆN|ôØGX,V\ÅŠƒ+È*Ê¢ÎRGxÇpÆÇŒgRì$ ƒu¬”Ü–XΓ8uö^n^ÄÅòÔ §èÜߦ¶òªrþ¾åïl<²‘òªrzø÷`FÂŒ&×\W_DzýËX}p5¹e¹X,BýBy ÷Lˆ™€‡«ÇeW‘«•¢ˆˆ´Š´‚4þúå_¹Pw€ÊšJÖ¤¯!¯,å“–7ê¿ïä>æ|>‡:Kõ–z, Ïýßs¬ÍXkÓ÷pÑaf}:‹ÌÂL^º÷%Š+Š™°l‚M¿3•gøüèç|õÍW,¸”!¨®­fÒ{“È,Ê´öM/Hç©ÕO1âÆj{õ«Wùç®Ú´¥¤“^Žk;W&÷Ÿ|ÉãÑó/=©«¯»d?ÿöþ윾³Y}EZ›Â¢ˆˆ8dÚàiÜÜíæK>à².cc'òÄÀ'0{›É(Èà™uÏ’›Bfa&Qæ(›þo`lôXž¼ùIºùvÃØÎÈGé±6c-=;÷äùÛŸ'ºk4&é鼸ùE>Hý€‡ú=DlP,ƒ„ð¦ôŸB/s/üÛûSVUÆî»yþ“çy{ÇÛÖ°¸xïb2‹2‰èÁ¬»fCÉùþ¹óŸ,Û¿¬ÑZ6Ù„‡«¯Þÿ*ƒÃãÒÎ…ã%ÇY{h-žnž-E®" ‹""Ò*Âxñž­ÿÞ?¸?Oz’YŸÎâpñáFa1&0†—‡¿lsYyUÚ*ŒíŒ,zx]¼ºXÛ„ `îæ2ü_ÃÙüõfbƒbñoïÏsCŸcÁÎü.éw|{î[ëYJ€¬â,ëßI‡“0 Ìp>=ü{àéãÉì{f“}&›íÇ·ÛÔÐ!€;o¸£Á@”9ªÑ~HÖóY—î$rRX‘V1¨Û Fm!¾!œ»p®Ñ¶ø°x› ðuñ×ÔÕ×1äÍ!X,,X¬ä—ç/cOzo5u5MÖSU[eý;§4³—Ù¿ëÖð[…Å™wÌdÚšiÜñö B”9ŠØÀXz™{5½x‘ëˆÂ¢ˆˆ´ “‹©Q›‹a°!è}×wziPo©øÁ{ýÂáÛ;Þ¦¦®† 3Õgf/3nF7 wÿónJΗ8µ¸xqÓS›Ø—·½y{I9‘BâÖDü<ýxmäkôìÜó’cèžE¹V),ŠˆˆÃÚ.¾¦·¹áÇYÝ;u'£0ƒí?ߎ·Éûûæ–æâßÞ¿ÑÍ'JOp¼ä8Ü;XÛB}C9Xp¯OÝèìâ–즿~b42ÀzßceM%wýã.^Xÿ>ú¡3˹&(,ŠˆˆÃ|Ü}€‹¯ª)­,mò¬`K=–=ŸìaÊûS˜?˜À¼MÞUq¤ø«ÒV1)vƒÃØ!£ßeÉÞ%Œê3 €½y{yé³—¬g( ¿q8©§R™¶f³ïžMt`´õ—ï_‚»d,öy! ö ¦¦®†íÇ·SZYjsyû‡èžE¹V),ŠˆˆÃÂüÂ0{™Ù‘³ƒ¸×â¬íßÏâåÝg4»OìfuÚjž\õd“}¾Z2!v_ûŠÙ›f3{Ólëö^æ^ÜÐùŠ*ЬmSúOa]Æ:2‹2™¼ü?¯½1 ÜuŸd~b3GFAûOîozþ˜¶ýjʳ?ÛèÕB¯xÜú÷¾ÁðžÃ¯tYrÑçþDD®q&“…  —îØ‚ŒíŒÌ=Ÿ¸à¸V}!µÁ`à•û^!qT"ñañø¸ûàjt%Ä7„»n¸‹·F¿E|x<wö¸“¿ÿèïÜØåFÜ]ÜéâÕ… ±X2a nF7›qM.&–M\ƤØIø·÷Çäb¢—¹o~‹[#nmTÇê)«yä¦GˆôÄÝÅ??ú÷çÏ#þÌÌa3[mý"M©®n‡»{ãû~[‹ÁÒÔ]Æ""Ò¦ ©¨¨hVßÁƒCùÉOʘ:µ´•«‘«ÁC[ÍÌ™§›Õßl6ãåååìt+ufQDäYÑ#n—î("×<‹Žu#"â›SaQDä[ÅŽú6±Èƒ´4íˆmÞƒU-AaQDäwÇçÉËs!-­ñ{ Eäú’”äEPP-7Þ¨3‹""ÒLÑÑUôèq¥K}ÚºiE••V­òf̘ò+:¯Â¢ˆÈuàé§Kùè#o23uvQäzµ`55&MRX=ðÀYnº©ŠY³üÑ;.D®?ùù.¼óŽ/3fœ¡S§ÖýrÒ÷),Šˆ\ ˜9ó4û÷»³x±.G‹\Ojk üú×] ¬eòä²+>¿Â¢ˆÈu¢OŸj~õ«^~ÙŸÏ?÷lërD¤…¼ø¢?©©&æÍ+ÀÅåÊ_:PX¹Ž<ýôF:˯~e&5U÷/Š\ëæÏ÷ãý÷;0o^QQWî èïRX¹ÎüéOÅÄÅUñÈ#A$%9ýÕiCµµfÎìLbbGþøÇbî¸ã\›Õ¢°("rquµ°`Á)ÆŽ-gút3óæu¤ºúÊ~;ZDœ——çÂÔ©]ùøc/Þz«àŠ?ýü} ‹""×!£þð‡ÓÌž]ÌÂ…> §Ÿ¶oë²DäTV˜7¯#Çw£¨È…>8Ù¦g,½dADäjSXXHEEE‹ŒUTäÂ+¯tdÝ:o¢¢ªyøá³ vŽ€€Ú_Dœg±\ü„_R’«VySSc`úô3L™RÖb³˜Íf¼¼œ¾%e¥Â¢ˆÈU¨%Ãbƒ´4ÿþ·7¶§²²]»ÖZƒ¯o=ƒþS r%UW()1rô¨í ªe̘r&M*oñ÷(*,Šˆ\‡Z#,6¨®6°g;&òò\)+kG}}«L%"v˜L||ꉌ¼@llU«~ëùrâKK#""W?“ÉB||%ññ•m]Šˆ\ô€‹ˆˆˆˆØ¥°(""""v),Šˆˆˆˆ] ‹""""b—¢ˆˆˆˆØ¥°(""""v),Šˆˆˆˆ] ‹""""b—¢ˆˆˆˆØ¥/¸ˆˆ\…|||hß¾}[—!"×ww÷ËÚ_aQDä*t¹ÿç."ÒRtZDDDDìRX»EDDDÄ.…E±KaQDDDDìRX»EDDDÄ.…E±KaQDDDDìRX»EDDDÄ.…E±KaQDDDDìrV¶u""""rUÚùÿcµçÈm³VIEND®B`‚fio-3.39/examples/xnvme-compare.fio000066400000000000000000000033041476262051600173340ustar00rootroot00000000000000; Compare fio IO engines with a random-read workload using BS=4k at QD=1 ; ; README ; ; This job-file is intended to be used as: ; ; # Use the built-in io_uring engine to get baseline numbers ; fio examples/xnvme-compare.fio \ ; --section=default \ ; --ioengine=io_uring \ ; --sqthread_poll=1 \ ; --filename=/dev/nvme0n1 ; ; # Use the xNVMe io-engine engine with Linux backend and io_uring async. impl. ; fio examples/xnvme-compare.fio \ ; --section=default \ ; --ioengine=xnvme \ ; --sqthread_poll=1 \ ; --xnvme_async=io_uring \ ; --filename=/dev/nvme0n1 ; ; # Use the xNVMe io-engine engine with Linux backend and libaio async. impl. ; fio examples/xnvme-compare.fio \ ; --section=default \ ; --ioengine=xnvme \ ; --xnvme_async=libaio \ ; --filename=/dev/nvme0n1 ; ; # Use the xNVMe io-engine engine with SPDK backend, note that you have to set the Namespace-id ; fio examples/xnvme-compare.fio \ ; --section=default \ ; --ioengine=xnvme \ ; --xnvme_dev_nsid=1 \ ; --filename=0000\\:01\\:00.0 ; ; NOTE: The URI encoded in the filename above, the ":" must be escaped. ; ; On the command-line using two "\\": ; ; --filename=0000\\:01\\:00.0 ; ; Within a fio-script using a single "\": ; ; filename=0000\:01\:00.0 ; ; NOTE: If you want to override the default bs, iodepth, and workload, then ; invoke it as: ; ; FIO_BS="512" FIO_RW="verify" FIO_IODEPTH=16 fio examples/xnvme-compare.fio \ ; --section=override ; [global] rw=randread size=12G iodepth=1 bs=4K direct=1 thread=1 time_based=1 runtime=7 ramp_time=3 norandommap=1 ; Avoid accidentally creating device files; e.g. "/dev/nvme0n1", "/dev/nullb0" allow_file_create=0 [default] [override] rw=${FIO_RW} iodepth=${FIO_IODEPTH} bs=${FIO_BS} fio-3.39/examples/xnvme-compare.png000066400000000000000000001273061476262051600173540ustar00rootroot00000000000000‰PNG  IHDR÷P\Y dbKGDÿÿÿ ½§“ IDATxœìÝwXWà³tvé EEPDETD$± ÅD4öè'ŠDb7E% ,‰KÔ¨¨‰D±¡¢Ø‚‚,*½I•Î~L²Ù âR–ßûäÉ3{÷Î3³ÃuÏÎ;,.—K"ALØ4d¹ :å€è@– ¢Y.ˆd¹ :å€è@– ¢Y.ˆd¹Ð$™™™^^^}ûö•“““’’RSSëÛ·ï¤I“’““…tDÈr ñ’““û÷ïïçç÷òåË;v¤¥¥ÅÅÅ >ü—_~ÉÈÈvtÐ!Ë€ÆÛ°a“ÍNŸ>}Á‚jjjjjj»víRVVvhÐAI;hÇnÞ¼É, 2„W(..ž——'¤ˆ £Ãµ\h¼wïÞ1 ***€,CSS“õ_)))ƒ â½ â×ßßæÌ™ZZZRRRݺu[±bEii):uªV;!!!DÃ+100¨ÕÔ´iÓÔÕÕ¥¤¤´µµ—.]úþýûƒ8PVVV]]ý‹/¾xùò%´iiižžžFFFl6[FFÆÐÐÐËË+''G=ÍÊÊZ¹r¥±±1‡Ã‘““ëÝ»÷”)S~ûí·ŠŠ ¦BAAÁ¦M› ¤¨¨())©¡¡1f̘S§N1ïÖÚÁïááÁ¿î¾}ûÌÍÍÙl6‡Ã((häÈ‘ÚÚÚ’’’ ÆÆÆ)))L___þ¦N:µyóæîÝ»KHH°X¬èèèF¥Ý»w³X¬ââb楓“S­RFF†¿~ý  ÙpåÇdþ)a±XçÎãr¹YYY:::'OžäÕáp8L.]ºDGGØÙÙ1%Ë—/gêäææ²Ùl¦ðÔ©S¼uÅÅÅ_¼xQ«)]]ÝÇçää 8)ÑÖÖÞ°aCaaá¾}û˜’^½zUVV2+>yòDUU•‰!>>þ¯¿þÒÓÓcÚIII©Ÿ?®®®NDbbbÙÙÙ¹¹¹7n$¢p¹ÜW¯^éè葼¼|xxx~~þæÍ›™&L˜À‹¡ÑÁ¿xñ‚÷OögŸ}–’’ÂÌöÄ”¬X±‚©¶cÇ" (,,ÌÉÉÙ´iSASS3''çÃÃÐÐpëÖ­yyyAAADÕè£ÄkóÌ™3Lɹsç˜iii^5@Ó!ˀƛ5k“¨(((¼xñÂÆÆÆÝÝ¿/Ú°aSrôèQ¦D__ŸWmÞ¼yLá!Cx…îîîcÆŒù°©ï¾ûŽ)Y±bS¢¦¦VUUÅår³²²x9áŸþÉT333cJx±­ZµŠ)qqq©y÷š~ñÅüåƒ b²ÜaÆ1fϞͼU]]­¤¤Äúûû71xþ,÷üùóLáÏ?ÿÌ”ˆ‰‰ÅÅÅq¹Ü;v >œ?Â.]º0u‚‚‚><†#GŽäªªªFEE5ú( ˜å x š#– ñ~üñÇQaa¡™™Yii)sQñCÌ‚¼¼<³ššÊ{×ÝÝYˆŒŒ|øð!>|ØÃÃãæºuëÆ,ÈÉÉ1 :::âââü%D”––Æl%**Š)éܹ3³ÀËCBB˜Ó222üCm™hSSS###™š¦¦¦ü1DEE¹ºº¦¥¥Ý¹s§ÖЉ‰1WA‰èÃḠ¾}}ýZ 555aaaD4þü‘#G0@AAALLŒÅbñoCŽyWÔ™ ZZZ‚¥FkÄh4d¹Ðx222¼k³ÅÅÅ’’’«Y«„Ëåò–{÷îmkkË,Ñ¡C‡ºté2jÔ¨›ûû/‹õ±^ûül]¹r%“Ä.Y²„))//OJJúØÞeffò–ùSPþÆeeey˼MOOoJðµðÆuóo+;;›ˆìíí¿ýöÛ˜˜‡¬¬,.—kbbROSZZZÛ‘†%A4â@4²\hooo]]]fyýúõ¼‹Ÿ Å»œ{öìÙ”””]»v¹»»ó'~ÃÜUËØ¼y󇃚z÷îý±u544xËEEEVàÏù¯v–••}X¡éÞ¿ÿá¶:uêôêÕ«ˆˆæå–-[ÔÔÔ>Ù”””ÿKRyy¹²²òþýûy+(èàå@ã>~ü866ÖÞÞžˆ*++œœ˜«‹ 5nܸž={2Lš4éÝ»w3fÌhz„:::¼¹šž={ÆÿÖÈ‘#‡Î,—••ñ'u DÔ¥Ksss¦3 1£¼¼\^^~ýúõZZZ¼™…ššÞ•Ï)S¦4}xx›à-°X¬Q£Fñ_­å]å=àG¥³gÏ^ºt)??ßÃ㪪Jðö[ù@@‡,éþýû7nüõ×_•””Ž;ÆÜc™’’2yòäêêꆶÆ?DöÁƒóæÍã Ðm¢(((Ñ/¿ürôèÑ‚‚‚¬¬¬µk×FEEùøøÔ¿îÁƒ;uêDD—.]Ú½{w~~~jjêœ9sTTT-ZÄT`¦>{öì­[· ·mÛ–ŸŸOD&L`ê4ŸÔÔÔ7oÞøùù1%^^^†††úúú¼;u÷íÛWRR²wïÞ7oÞ4¨qAŽ/®stýZó@@G×ÜÓY@‡ÀÿOÉ»wïxwòÔš®‰ˆ–/_¾víÚZ…‡æµYTTÄLº+!!ñöí[^ùÉ“'k­µvíZþqqqÞüI<_~ù%ÓBrrò¢E‹zôè!##Ãf³»wï>kÖ¬ØØXAö4++kÕªUýúõãp8ÒÒÒzzzóæÍ{ýú5¯B~~þÆ(///!!Ñ©S§Q£F8q¢¦¦¦éÁóϱ¼wï^333YYÙAƒ:tˆógÏlmmUTT¼{÷ncccÞŠ]»vý0 "JJJâßÓO¥²²²1cÆ(**þðÃuîZýqý  ¹°¸ ÿ9ZG\\œ‘‘³œ””Ä›¢>#–@t ËÑ, òððà W&"==½É“' 1€v÷å€èÀµ\Èr@t ËÑ,D²\Èr@t ËÑ,D²\Èr@t ËÑ,D²\Èr@t ËÑ,D²\ÂDJfffqq±°£‘¢¯¯/xe\ËÑ,D²\Èr@t ËÑ,D²\Èr@t ËÑ!!ìêÀåRJŠäÛ·……â\®°£èx8œ5µjƒ ))üBÐKC[† å@R]M·nq.\»s‡]P€Á&B&.Î55-5ªd„"EÅa‡‡^Úô`‹‹ßß ùdff7nÝ78[·ª¾y#in^jmý~À€²®]+«Åð=  Õ•”ˆedˆ?.}û6ûÚ5NM kîÜü¹sßÉÊâkCÇ…^Ú ô`"I___ðÊÈr 95.Ë}ýZrõ{÷ØÅîîy]»V¶DlÐ8%%b'N(ìÙ£¬ P³n]ΨQ%ÂŽZzih¿Ðƒ‰Œe¹â7nl±H Ã)))©¨¨hÐ*÷ïËΚÕYB‚»kWæìÙJJSжHIqMMË&M*zûVÒ×Wµ¢‚eaQÊb ;,h-襡]C&2TTT¯Œ,šSC³Üà`…eË4llÞïߟ¡«[Õr@±Ù\›mí*__Õ¸8i+« LîÑ —Ñ€L4(ËÅ 4.È­[×iáÂüï¿Ï”–ÆÝíÀĉEG¦EFÊzyiÔà’ž¨C/ "=XÇ,„ãéSé5kÔÿ÷¿ü¥Kó0p 13+Û»7=<œíï߀ŸÕ¡ÝA/ " =XËМ±œŸ/îâÒeРRŸl|yhw:w®ÒÒªòñQ34¬00ÀDD"½4ˆ0ô`íF,@[çï¯,&Fߟ…çO´S'}ùeÑ–-j¥¥ÈDzimèÁDº.hm¯^I:¥ðõ×¹rr¸' ûúëÜ¢"±”…43ôÒРmÈr µùúªôí[áèX$ì@ ÝxðàŸÃ‡ ;" "RU­^¸ðÝJø:!RÐKLÓû¢I“&™™™ñyñâEs…ÊÞ•+Wš«e‘„L´áC€V•‘!qëÇÕ57z£ººzÉ’%ÆÆÆóæÍûØMÝæææ Ý»woåØà“¦N-ã†„È ;h6è¥ëÑľhß¾}^^^111½zõúã?.\¸ ##ÓŒáÙÛÛ'$$ÈÊÊ6c›¢ =˜C– ­êúuެlM‰°¶"..îòåË¥¥¥ááá±±±Â†Ã©±µ-¹z•#ì@ Ù —n9ÁÁÁÌÂ_|¡  `ddôìÙ3##£–ÞnFFïïË—/[zsíz0†,ZUd¤ì!¥’’xî"üÍÐÐpôèÑ222VVVýúõv8Ð`ƽÿ㙊 \øè¥[NNN³ /‹‡mz0Q%!ì c‰‹“úâ Üëÿ’سg°£€ÆëÛ·¢ªŠ•˜(idô駈AÛ‡^ºåp¹øí ÍA&ªå@«ÊÌ×ÒªvHQQÑ‘#Gnܸ‘œœ\ZZª¤¤Ô»wï/¿üÒÞÞ>44ÔÃÿò?þhkkûâÅ ¦dáÂ…žžžYYY¸}ûvjjjMMM—.]¬¬¬æÏŸ¯¬¬LDAAA>>>¼F’““Ïž=›žž^]]mggwñâŽ;gΜƒòÞݽ{÷˜1c˜åØØØ={öûÌÕÕUSS“ˆ¼½½9Â[÷Ö­[ÚÚÚ³gϾsçSbjjÊ ý¡mÛ¶ñw³ãÆ#"55µÈÈÈ&ÑLTaÄ2´ª²216?f·’ׯ_7.000))iïÞ½ÑÑÑ3gμs率‡ÇÂ… ÇŽÍ›§$00ÐÖÖ–ˆŒŒŒnÞ¼)..~õêUOOÏøøøqãÆ>|¸¸¸øÂ… aaa•••?~|ff&¹ººòÏw²sçN ‰ß~ûÍÛÛû“ï~l®”{÷¸„‡‡×ÔÔ;v,$$$33ó¯¿þªU퓱A+`³kˆ¨¤ß(Dzi~ÍÕ͘1ƒ¿¯Û½{wBBÂ… ˆèçŸ^³f­­mXX؃æÎûòåË#GŽL˜0!??ŸˆÖ­[wõêÕZ[<|ø°››› »°zõê»wïò^^ºt)!!).z0Q…OZ—K˜·³Õ¬Zµ*==ˆÆŽ;dÈyyù (((QXXØÑ£G•””ÆÏTæ$ÆO?ýôùçŸëëëÑêÕ«™oZcÇŽÕÓÓÓÖÖ¶··'¢´´´­[·~¸Quuõùóç+**:99)))5è]žM›6UUUј1cÌÌÌ–-[&!Q{üQCcƒ–ÀüEc$¦È@/ͯuú"33³Y³fq8%%¥Å‹khhQvvöµkך—à¿Ðƒ‰*d¹¢)+++**ŠYîÚµ+³ &&¦­­Í,‡††ѬY³˜—111ÌÇ%%%gÏž={6eff>yò„© ®®Î,0ßÀˆèÚµkeeeµ¶;räHÞrtt´±±±àï2RSSkEÎápÔÔÔø«5"6ÁµN_4uêT “=zð†¢äåå5Ó®t8ÈrDSvv6o™ÿ‘ŒÒÒÒü †Ê”0·~9sFCCƒ)äodûöí̃(xw—UTT¤¤¤ÔÚn§NꉪþwïÞ½û0Z"b³ÙüÕ€àZ§/ruuݹsç‹/¬­­>|˜À{¶f«h4Ì> šøóIþ+ åååµ*|õÕWÌ][—/_^¹råÑ£GçÎËb±ˆHUU•·â²eË-ZôÉíJII5ú]ÿÄQü‘¿ÿž¿Z#b\+ôEÉÉÉ>d–===?6m«®Aä‚W©suцk¹¢I]]ÝÌÌŒY~óæ ³PSSûªÀ›HÙÒÒROOˆªªª-ZTXXèèèȼ¥¥¥Å»ªðòåKþö§M›ö±¹F›¨K—.Ì-Áü‘—””ð5)ÄØ ãh…¾ˆÿj-ïrqAAA­j¼ÐLÌÂëׯÛÿ\|fn3ž2eʺuë\ =B– ²|||´´´ˆèòåË<(..Þ»woaa!5jÆŒL5‹5sæLf966vòäÉü“oݺUNNŽˆ®\¹rîܹ¢¢¢ÜÜ\??¿'Ož|ýõ×-ù† ˜ù]._¾UXXÀ|9ã'”Ø ãhé¾HWWWWW—Y>yòdiié‰'ÒÒÒjU“““377g–/_¾\ZZ~ïÞ=÷B^^žù)“ˆžqâÅÆÆîÞ½ûÑ£Gïß¿gžQyæÌÞ<ºwïöÉØ uàïZ”àÓ¬¥Yú¢:{ÂS§N 4èÕ«W[¶l‰ïÚµë„ Nž<ÏÔéÒ¥KDDeeemÛ¶-22òÝ»wêêê£Fª®®>v쯵K—.½|ù²žÕÇÇçùóçeeejjj«V­ÂHfÎùö‚7¶BÈr 9!Ëè€ðw-JðiBGƒs¾½hP–ÛàÙ§NŸ>ÝÐU ]ÐÑѱ°°vMÒà,×ÅÅ¥%â¡›4iÒ™3g„@“4æIBÁÁÁÎÎÎÍ ‘“““°Ch˜cD²\Èr@t ËÑ,D²Üö$%%…U—ªª*a‡ÖH·nÝâß‘€€aGí²ÜöD[[›Ëåž|Wú®º¦šˆä¥å/{Üv"U/²^øEø=JyT]SÝ¿K÷¡î¦Ú¦Â  CCG µ £†¦Àµ\‘•––æééiddÄf³edd ½¼¼rrrøë<|øÐÁÁAEEEJJÊÀÀ`ÇŽ½zõâÍÕ«W/Aš:uêÿ Rþþþ3gÎÔÒÒ’’’êÖ­ÛŠ+JKKëßhëèÈ\Í]V%iÕSÒúR R&”˜›øÃÄb–ÅÄzÆîrÜ%Æk;ŠªØôX§£N)ÎÕ¹W#Fè(êLýyêݤ»ÂŽ  CCG üÐQC!ËMOŸ>íׯŸ¿¿QQQLLÌ‹/*++ýüüLMMSSS™:ׯ_:thhhhMMÍ7¢££SSSããã™wýýýãââijòäÉ\.—Ãá0+úùù¹»»ÇÇÇ5êõë×;vìX¿~=/°ú7 СœŠ9UT^´qÔÆ]ÊJÊr¤8c{}äñHØqµc?c—ã.ÂŽ‚ˆ¨†[³êâ*…ïì¾S—SW–UÞ4zSW•®«/¯®¨®vtж £ tÔÐtÈrEÓœ9srss‰hÒ¤I={öÔÓÓsqq!¢7oÞ,_¾œ©³dÉ’ÊÊJ¦Î°aÔ””6oÞ,))Ùˆ¦ø¹ººššš*((0Õˆ($$„÷®€è’󒉨—z/aÒ±D½z•ójŒá ¦D\LÜÞÈ>½0=³ //¯¡¡ÑЦjmÝÀÀ€×¯fAÀtU5UD$%.%ì@:–ß_ÿNDÆZÆü…ƚƼ·xÐQ :jh:Ì>%‚222xË+W®\¹r%ÿ»åååIIIüÙ©ŒŒ o™7ðXð¦z÷îÍ_È߃Ëå2 üw׳Q€F¨æV_‰»r:öt|v|QyQWå®Î&Î3MgòîžP~iþžû{®¿ºž^˜Î–b÷ïÜžù¼!]‡Ñü_æ_u©fªm<=˜ˆî'ߟyjæþIû­ ¬ˆÈûº÷‘è#Lø•ñâ,ñ:·rí嵿.`–ûøö©õîDã‰Ûí¶,¼÷y»ïí¾‘p#³(S^ZÞLÇlÉÐ%FêÝÆÛ»Œ¢ Y}5ýñ}ÆÛÙÝùë/ž°¹aþwüý{~i>E¹G)Ë*׿Ñú>ov–G) | ˆH\L<~E|£wÇp»!3ÌǨqÔ"—D~ìÝÄÜD"Ò”×ä/ÔTÐ$¢¤¼¤ú 4:êí:jtÔÐÈrEºº:oyóæÍëÖ­û°ÎëׯyËüoIIIC›œššš h„ˆÄ÷ßܽFxítÜYí¹ðçïëÞE«F®¼‘ìâl§cNeUe[Çn¬38»$Û7ÂwÆ©[Ælq6qÞûåÞŸÿ¼áê†ï¾ÿ¢ÏÌ*¿=ÿù?óåiÍ:s]óc;:ùh=²íi›°*ù6öÜë¹´„4Sþ®ôY Y=+fg9s*¯*÷ç3XwpjAꆫ&t|Êñ]²wåÕå[Æl1×5/­, Ž ^yqeaYál³Ù¼xÖ]Yç>Ì}»Ýö—9/9 ²Ñú¾«¹««¹«±ŸqoÞÌ7Î&îï‹Wã•[ŠÍ_È–dQAiASZ€ú¡£FG- tÔÐt±,RBBB”””tttú÷ïÏ”<{öŒ¿ÂÈ‘#‡ND]»v52úûG¸ÄÄDf¡¨¨(33“¿¾ M NÀ4޹®ù|‹ùŠ2ŠÊ²Ê3Mg:ôv8u¤¸¼Xð|#|S RÖÙ¬³2°’“–ÓSÑóÿ¿§Ó¦k›rJrˆÈ®—¤¸dÈó¿o5/«*»þêzWå®7^Ý(©øûÇšsÏÎMè;¡Ù÷ŽajAê«5–ú–lIvµã¹\î·×¾pïÖÛ¬·2°âHqÔ8j‹>[4¼{í¿b7 7s]sYIY-“øñʲʂl´q¿)»Ó¼¸Ä%"‹ÕÊÛèhÐQ ²wè¨ë„ŽY®h:pà€‚‚ýòË/G-((ÈÊÊZ»vmTT”Sg×®]Ì´OgÏž½sçN~~þ7ß|ÃL ÕЦ'àFÊÊÀêç©?ó—©UÕT½Êy%x#a/Èh¤þH^‰”¸ÔgÝ>+«*»“t‡ˆ”d•,õ-ï%ßË.Î&¢ë¯®›t6™>pzYUÙÕø«D”_šÿà̓ц£›e§>tíå51–s9‚ÑI®SµÏ2žeeÔ³"ý³w#ºà/<ä|h¶Ùlþ-“†n´Ñ¿)»ÓhòÒòDô¾â=aie))È(´ÐF€ÐQ££:jh:ŒXnORRRtttøK† V«Ž¢¢" 4èÉ“';vì sss[°`¦¦æðáÃï߿߯_?¦¦µµõÝ»w7mÚtïÞ=kkk]]]77·ž={¾|ù’ø~*ûdS§Nš2e /''§åË—ËÈÈlÙ²…))//g±X‡ž5kV544d&´lÙ²½{÷òf¨\QyÑÁ‡Ã^†ee–òÊ™QQ]QT^$-!Í‘úÏâj5"b¾-Ñ„¾®½¼váÅ…ÿ™ý/äYÈ„¾,ºZøÜô9ÿçù‰ÆC_„Ž4ÉŒªjvL„DÔß¿ÿ‡ï&ç%׺…éÃu?Ü»ÉJÊ6t£;øÞ&ÞªODµ¾œef‘žŠ^=Í@¡£FG̓ŽZ²ÜöD[[›7“Ó'uíÚu÷îÝõ×iÞÙyQo£ÖÛ¬wèí ,«Ìb±GÞrc 3ÀIRâRòÒòEåE%%üß0˜!pä:1/GêT’U:÷ôœcǘ´˜ÝvËHÈ í6ônòݬâ¬_Ÿþº|DOØjÖ{H IDATRâR 2 %å%®øócÓ¥Ô³n{×,ä೨ö³FïNo÷¢;d÷½ÝÏ2žñW|–ñŒˆ,ºZ4¥e¨:êO®‹ŽšŽš#–;®ÐÐÐZisfffZZ±Ùlá…Ð0Õ5ÕRu’ëôÕ ¯TØ*ÌH„òªò†¶3ªç("º™x“WRQ]q?ù¾Œ„Ì0½¿ÇMHŠKÚÙ½ÈzáágÓÆy”Ÿc_ÇêšêÀ;YÅY-úðhÃÑÕÜêG)ø ÷Eîöðjn}¿šÓ?{w+ñ¡Ã!‡-7¶4e£|YIÙÊê¿ïM°Ýo{*æTw§Ñë6P3¸w™duMuè‹P--þ1мÐQ££:jh:d¹Zjjê‚ Þ¼ySVVöäÉ“iÓ¦q¹\ ‰}ûöuêÔIØÑJ\LÜ\×<»8ûÀƒïJß•U•E¾Ž<ñøDCÛñᥭ¨í}Ý;IyIé…éS¿y÷ÆLǬ‰»Óhb,1Ÿq>e+/®Ì.ÎÎ/Íßxmcr^òÖ±[ys¨@³CGŽZp訡éX‚€ý{+88ØÙÙ¹…‚VSUUvâĉèèè7oÞp¹\]]Ý#F,Y²ÄØØøÓëƒhqrr"¢3gÎ4±ÌÌÌââú&l40Ðß¹3s̨ܸ)ˆw¥ï¾¿ýý­Ä[ÙÅÙJ²J#ºè$×iïï{‰¨¯f_{#{æI€Œ…Ÿ-TV¨Uâ9Ü“þyPáµ—×2Š2d%eûwî?oȼõ·ÙgSQ]± ‚wûÊ‹+yúË×+jŸŒ–ÿ1ŒD4¾Ïx?¿ÙÁ³™©SþÞDÞSkEøÃý®½º–^˜® £Ð[£÷\ó¹Ÿwû\£Ä¿w*l•Á:ƒ=†{tSî“3éè$þš «j­XÏFë?ø!³Bˆè¯Ü¿Ö^Yû,ã™’¬Ò|‹ùÓL¤å–ógæŸ~~RÕÔÔ˜t6ñæaªmÚÒa-ôw BÑrŸ&:jAŽ:jžVë¨Ñƒµúúú‚WF– Dí?Ë!Âßµ(Á§  Îùö¢AY.F,€è@– ¢Oh>½ïkéÐ¥K‡.-´kè¨D²\€Qk^‘Ü"@»†Ž@TaÄ2ˆd¹ :å€èhÌ}¹......Í —¶¶¶°ChªÆd¹ãÆëÙ³g³‡mY@@À€FŒ!ì@ ¥\¼xY.ˆ€Æd¹_}õ•³³s³‡mY@@Àˆ#üýý…´”””a‡Ð p_.ˆ7}ˆHCNãÞâ{§n;níè¢ØeꀩõÔ©®©ö¿ã9îrzaú®C9bÊýŒK+KëYqëØ­Î&εª­¹ÊÕÜ•÷òiúÓc{ðæAvq¶´„t7•nVúV_ úJAFAøëŒAFB¦›J·‰Æ¿2ýJ\LœG‚cƒÏ=;÷*çUiE©*GÕHÝÈRßr¤ÁHmÅƯ¼¸òüŸç5ä4¬{X¯°\!-!-H$е‹Žšˆæž¾lø²EŸ-â~¬wu`Ô_¹1…¦Ú¦ÁÓƒ[9Zød¹Ð»ºš»:vÈ+Év,MræÉ™½¿ïõæ1Ót&òùtùÓY/9Øô°ÙûåÞZkMýyê'«ùFøxp`¦éÌ“tUîZVUö(å‘ÿmÿcûqâ¦Ú¦ŸŒíÃÆK*JþÌüóÛkßn½±5½0}­õZ^e¯P¯‹/.zðÚå¸KYV9³8óLì™M×7Þ ŒvæUûÎî»ol¿9ÿüüú«ëÕ8j ,4ü˜@ûÐ.:êsÏÎ…'„Xþ±Þõø”ãsNÏé­Ñ{븭â,ñWaÁˆe€TT^äá7îฃn¹±Åñˆã¶ðm‰¹‰uV~ðæÍ6›-àõUí¹¿gïï{7Ún\k½¶g§žÒÒŠ2ŠVV§gœî¬Ðù§ÿ÷±xêÇ‘â˜é˜m½™ˆNÅœªª©bÊŸ¤?¹ðç§~Nó†ÌÓ”×”–ÖUÒ]>bùÔþu\ÇæHq¦ ˜"+)Ëì;€°dgy_÷vìë(`ýÄÜDçcÎVVßÙ}‡ ­A– ÐRʫʎ9…<ùvÔ·3Mgzðòáu5þê´Óê¬ÿ®ô¸˜8GŠÓ ­œ˜vÂÙä£3¾~÷zç}4úL0¥Ö[²’²k­×–T”l¾¾¹A[ä§§¢GD¥•¥EåELÉ«œWDÔ]µ{­šv½í>Öˆ¼´|~i~£chº5—׌í5v˜Þ0A*?Jy4õç©ó-æ/¾¬¥€F@–Û|}}Y,‹Å“Z:4__b±ˆÅ"œÆÝä» 9 “úM2Ó1“—”–ª7Ô{Œ÷Çê×pkÔþưÞ×?ÚãÄãÕÜê±½ÆÖù®™Ž™ºœúݤ»oóß6hÓV¿²ºRJ\ªž¯¿ºnàcÀ_2kЬúcÈ,Ê$"%¥UP’U"¢¬â¬úÛùX ÝU»ûÚûŽ6Í+aK²w9îZv~Ùí¿nßþë¶*[u¨ÞPK}K›6²’²u¶)%!UY])`ЮµµŽšˆV_Zí`ä`ÑÕâ“5ï'ß¿þêúœÁsâ´qø}½1$%%Ÿ={vÿþ}aB%)IÏžNƒ¶¤¨¼Èk„—©¶)[’m¬eìçàWY]É»éô~òýj=†ê •‘Q㨭¹Š¹§´åp¤8Á3‚gšÎ$¢7ùoG6ßiî}Ý» ¬ Îúi…išòšõ4hÓÃ&aUï¿é§  ‹ÅjhðŸŒ!~eü­·ìì‡,^tnoö)"¤=è†Ûö;lzØ”U•ýöü·eç— ûaXè‹Ð:ÛÔÓÈ,ÊÄ e€Ž ­uÔÁ±ÁÉï’WY­¤²¦‚¦œ´ÜÁ‡ƒµhTÐDÈr@tHKH›hýûûºa'Cu9õ™/˜ •#ôGü‘úÇÚËkcÒb˜ám׿]«çú@³Pe«~cûÍC÷‡NýœL:›ˆ±ÄŽD™úóÔòªrþjù¥ùH-H6°î‰©M]Niÿc˜·4ä5Ú²8K\[Q{éÐ¥_ôþâjüÕŸ¢âWJ\jBß {¿ÜûDz?ŽM9fodŸ_š¿üÂò?3ÿü°©)¦WûßöWú®¡a@ûÒ¦:ê´Â4ŸpŸïì¾ûØH“Zº«t?ì|˜#Åñ¹és(êP EM×.³ÜÖ?’““]\\”””TUUíííÿ~†··7SaèСLÉ•+W˜55µÛyýúµ‹‹‹¼¼¼ªªêŒ3Þ½{—œœìàà //¯¥¥5wîÜ¢¢¿§ å­UVVÆ‹*77×ÓÓS___JJJYYyìØ±7oÞü0ø¸¸8;;;EEE6›=räÈ{÷þ}0zyyù7ß|Ó«W/6›­¢¢âààpþüùêêŽqqcèпgfb±hút""›Kòëú‚òo…ädrq!%%RU%{{úç4 oï¿+üsЕ+—üsü§×¯ÉÅ…äåIU•fÌ wï(9™H^ž´´hî\úç4 ÐÐ×â; (7—<=I_Ÿ¤¤HY™ÆŽ¥ºNŠ‹#;;RT$6›FŽ$¾Ó€ÊËé›o¨W/b³IE…èüyê §A“)É(Õºh©ÊV%¢Ü’\"Úh»Ñ×Þ÷mÁÛ'gô÷ï?;xvØË°ú4ÜnhàcPÏCv $0q–¸ [åKã//͹¤.§Ÿ%þ ïÝW ´ãÖŽyCæ}eú•àû»qÔÆu6ëê¯Ã ¬3·d¼ÈzADMùi¦cFD÷“ë× Î·èj0>Àmˆ[uMõå¸ËÖßgüòáËD0 4›<»Ñ‘@Ûצ:êð„ð¢ò¢©?OåU^~a9ùßög^¾~÷ºÖ*º 8ä|ˆ-ÉÞzcëá¨Ã;ÐÒÚe–ëèèÈårÇOD©©©ÁÁÁáááS¦üý¨ŒuëÖq¹\çßYÆŒÃårMMMëlÇÓÓsÅŠÇŸ6mš‡‡ÇæÍ›ÓÓÓ7nÜ´aÃf-{{{ÞZ<fff'Nœ ÌÉÉyðà›Í¶¶¶ úÏ€–âââ… ®Y³&55õöíÛyyyVVVÌ»‹/Þ¹sç®]»rss_¼xÑ«W¯ñãÇß¹s§ù`t÷.ÅćC&&´oÑÅ‹dnN'O—KJuÝRèèH\.1„‡yxPj*Sx8ýsкuÄåßi@cÆ—K|§ÁÚñô¤+(#ƒèøqš6<Jyd¾³ŽœyH×!DTX^øá[~~¾¾›Çl~¼ìña|kemª£ž>pz­Ê~~D´lø2æeWå®®eªmzÐù ¬¤ì–[Ž>:Úˆƒ-­]f¹ü\]]-,,8Ž]TTTãæ1ž3gŽ©©)‡Ã™1cFŸ>}._¾ìééÙ¿999777==½K—.Õ³úêÕ«“’’ìíízöìyâÄ --­¥K—fffòªlݺõóÏ?—““4hÐñãÇ+**ÜÝÝ™woܸѧO[[[YYY ;vôìÙ³ûÒ^™˜ÐáÃK3g—KnndmM“›£ßÕ•,,ˆÃ!²³£¨¨FÎctù2yzRÿþ$'Gnn¤§Gõž´z5%%Q@ÙÛ“‚õìI'N–-]J|§ÐÖ­ôùç$'GƒÑñãTQAÿœtãõéC¶¶$+K´cu¨Ó iÞW¾‘ù‚÷2>;>«8ËHȵ;À@bn"IˆI Õº÷˽,ëfB]ۛϓô'%%ü%ÅÅD¤¯ªÏ_('-7¶×Ø>š}ø¯ñ6 =½¥Ã–>Ï|~òñÉZo•V–z_÷V’UZo³¾)›ˆN‰&¢~û1/¹ÄÍ}Ÿ“S«ÚÓô§DÔ[£÷‡-„½ ÓVÔv6q–—–oJ$ÐöµÁŽºÌt̘DwÓµMÇÿ8.ìp ¶vŸåš™™ñ–uttˆ(--­í 4ˆ·Ü¹sçZ%]ºt©¿ÙsçΑ¯DZZÚÚÚº´´ôêÕ«¼Bsó/qwîÜ9666==ˆÆŒsÿþýyóæEFF2•ããã---±;í•“­]K¿þJC‡Rn.mÞüéU|§éè5ê4 ¾:w®]Ò¥Ë'š=wŽˆˆï4 ii²¶¦ÒRâ; HF†øN26¦Î)6–ÒÓ‰ˆÆŒ¡û÷iÞ<ŠŒü{ r|wä~.—+ȤšM‘_š¿øÜ⸬¸ªšª²ª²Kq—Î>9k¦cfÓÃæÃÊrÒrLܼ}¶h¾Åü×6n¹±åUΫŠêŠÂ²Âð„p—ã.ÙÅÙG\Ž4ôBŒjnuJAÊλ;Ïÿy^CNƒÿiID´$dÉùç糊³*ª+R R‚íº·«¯fß }'|ØTqy±¼ ò[€¡ vÔ3XgðId$d6†müùñÏÂþ£Ý?IHQQ‘·,%%ED{À‚‚oYLLL\\œÍfóJÄÅÅëi¶¼¼¼  @FFF^þ?ßÒ444ˆ(##ƒW¢ªªZë^uuõ´´´¬¬,--­={öXXXüôÓOÖÖÖD4lØ077· êøF(Ê6o¦ë×éþ}úé'øW¾Ó€¤¤ˆ¨‘øá; HLŒÄʼnï4 qñúš-/§‚’‘¡ÿž¤¡ADÄwª*ÕšðV]ÒÒ(+‹´´hϲ° Ÿ~"kk"¢aÃÈÍ:ÚiÐ@A‚|nú‘†œÆë5Ûom’ö¤†[ÓO«ßñ)Çya<1õĉ˜§¦IKHwSî¶uìV§~N-ظ^ãd$d.üyaᯠS S%Ä$z©÷òî9ÃtFÏ~dQÝ3!û3ã™§ø|ìÙµª­¹ÊÕÜ•yËk„×螣ýqÌõŒkVq–”¸TwÕîc ÇÌ0!àåÓZ‹ÅbK²u•uçšÏ3xsg ì20xzðµW×~ŠþÉç¦OnI®Œ¤LwÕîîCÝ¿ôÕG•Ä$ h¯ÚlGͳþêzÞ˜ÿÛþþ·ý‡é cî¡øXï:¤ëý“öÏ;;oÃÕ ®nX6|٢ϵB¨ðIí>Ë­Ÿ˜˜XEEI~ó5´´´¢¢bAAAQQ¢ËŒUÖÔü÷¹ µ’••EDêêêDÄb±f̘1cÆŒÊÊÊ[·nùúúNœ8ÑÏÏÏÓÓ³Ùcn»nÝ¢‚26¦… ÉÄ„LšãytbbôßÓ î鬚HZš© €ŠŠþ“è2c•ùNúà4 ¬,""uu""‹fÌ 3¨²’nÝ"__š8‘üü¨C äjîÊKçˆèø”ºim-ðæ ).9Úp4ó,Ù·vtQì2uÀÔzêKIHÕpëø%åéò§‚l®þjÆZÆÛí¶ ÒN#ç'Æ3Õ6å}gD5·ZZBºQq@ûÐf;jžÍ£7lÓõt€Ÿuûì™×³ ©ÝX®Ÿ––Vjê¿S¼ddd¼yó¦%6Ä\q½xñ"¯¤¼¼üƲ²²£GæÇÆÆò^>}ú4--ÍÄÄDKK‹ˆ”””âââˆHRRÒÖÖ–™š¿MÑ—”DsæÐ/¿Ðùó$+KãÇSvv34«¥E|§edPËœ_qåÿÈÊËéÆ ’•%¾Ó€Š‹‰ï4 §O)-LLHK‹ˆHI‰â∈$%ÉÖöï) ;ÔiÐiÊkr¹Üœ’FÝUÞnUÕTå—æ×ÿ `Á‰x–;jÔ¨´´´Ý»w'&&º»»3WM›Ý¶mÛôôô<<3Ö4®¿Îp½áD´/r_=·1EåE¬ª©¡?Bر€ˆh—Yndd$‹Åúí·ßˆHVVvݺuDÄb±¾ûî;"0`€½½=SÓÛÛÛÕÕuëÖ­êêê³fÍúúë¯555sssY,ÖªU«>l'::šÅb]½zµººšÅbùøøÜ½{—ÅbEDD”””°X¬7Ö’¦¦fTTÔ”)S–.]ªªª:xðà’’’ëׯÏ;—ˆ|}}Y,Vll¬’’Ò÷ß¿zõjMMÍáÇ+++‡‡‡ñ÷w»ˆˆˆ^½zMž|øåË—---ÝÜܶlÙRUU%술‘倲7²OX•ðY·Ïø ßW¾·Þg=÷ì\aEÕrÞä¿™wvžo„oÎ{ ²¡`™šN ›3gÎöíÛãââ„´u訡mb³Ù;vìØ±cGppð¬Y³òóó…4Fcž$´`Á‚åË—7{(ÐÆíß¿ÿìٳŽZJnnn=„EËâr¹5ÜšššVzZ€±ŸqoÞÁÓƒ[a[þ·ývøã—?ß3¼´²´¶ð!™¥K—~ñÅk×®utt\¸páâÅ‹ÅÄð{:4:jh# ÝÜÜ&MšÔ­[7aG ƒçå‚ ¸\®°ChŽçæü›ÂŽ¢El·MFBFØQuëÖíØ±cû÷‰ñóóSVVvPÐn £†¶ÃÈÈè—_~™?þ”)SŽ=*òDLc²ÜüÑÙÙ¹ÙC¶ŒÅb¹¹¹ùûû ;h)NNNÂßœ M›?¾………»»û„ ~üñG###a dè¨Û£N:=zÔÕÕuêÔ©GEWÖŽàZ.ˆˆÄÜÄ·vD¾‰¬®©î£ÑÇËÒ‹ÿÝk/¯-øu³üÜë¹´„4IØÜ0ÿ;þ¿¿þ=¿4Ÿˆ¢Ü£”e•óÞçí¾·ûFÂÌ¢Lyiy3³%C—©ÿû/\~iþžû{®¿ºžQ”¡"«¢¯¦?¾Ïx;#»ãŽûÜô!¢G) | ˆH\L<~EüÇ"7ÜnX]Sßl=jµÈ%‘<.Bbbbrîܹ%K–8;;ûûûÛØØ;">tÔÐîp8œC‡¹¹¹Íž=ûôéÓºººÂŽ‚,DÁëw¯Ž9ÉJÈîvÜ=P{àÛü·Û·½y÷†WÁ¶§mª„ù¿Ì¿þêú‡%뮬sæ¾ÝnûËœ—ÎÇœ‰(«8Ëé˜SyU¹Ï8ŸÁºƒS R7\Ý0éè¤ãSŽè2€ˆ²‹³Ž9•W—o³Å\×¼´²486xåÅ•…e…®æ®®æ®‚ßîUÏ÷*€vMYYùÈ‘#7n\´hÑ–-[&Mš$ìˆ@˜ÐQC;%++»wïÞiӦ͚5ëôéÓjjjÂŽ> sB€(ðð-,+\ÍíÙ IDATo»~¨ÞP¶$Û°“áv»íYÅY®îfáf®k.+)k¢e¿"^YVÙ7Â7µ uÕK}K¶$»‡ZÀñ\.÷Ûkßò¶˜R²Þf½•GŠ£ÆQ[ôÙ¢á݇·Ø.´KÞÞÞnnn«W¯þé§Ÿ„:jh¿ØlvPP‹ÅZ¼x1/Ô. ËQpû¯ÛDÄÿÝE]N]OEOÀÕM´Lj•\{yMŒ%fe`Å+é$ש‡ZgÏ2Š2ˆ(ìeè>‚­C·f›ÍnÔˆ2OOÏ+Vx{{·Æd¶Ð6¡£†vMUUuÿþýqqq>>>ÂŽ> #– Ý«¨®(©(‘–fK²ùËU9ªIyI‚´ +)[«Á¢ò""êïßÿÃÊÉyÉ*l•¢ò"i iާ ÿ ·{AG0wîÜÒÒÒõë×ËÉÉÙÙÙ ;hmè¨Aèëë{{{/[¶ÌÜÜÜÖÖVØá@}å@»'%.Å‘â”T”¼¯|Ïÿý‰™¡¤q *È(””—ü¹âOq–xuä¥å‹Ê‹J*J>öý‰E,7‡Û½ ƒXºtiaaáÊ•+uttúõë'ìp U¡£Ñ`ooïÞ½µk×8PUUUØáÀGaÄ2ˆf@3Žñ®ô€×ê4Úpt5·úQÊ#þÂ}‘û†ý0¬š[MD£zŽ"¢[‰·ø+8rØrc ³,+)[Y]É,Ûî·=sªÑÁˆŒÕ«W›››ÏŸ??+Kл1Ad £ѰfÍiiéÍ›7 ;¨²Ü¿÷èÑÃÞÞ^ØÔ­‡×î—÷XÛÃ~W=žm<¼¶ÉËÒKIVióµÍw“|Ÿ“àyÞ³Ö¸¸†58ÂKWIwåÅ•E•å—æŸ||r÷½Ý«­V3 ¼Fxi+jo¹±åfÂÍ’Š’Œ¢Œ a²K²y·{õÑì“”—”^˜þ8õñ›woÌtÌšgWÚ3qqñ€€‡ãååUSS#ìp U¡£Ñ //¿yóæÐÐÐ;ø(ŒXþ—Ë­©©i ÿâÊÉÉõïßÿîÝ»ü…m'<ÑÀårk¸mâxÊ-–ë¯ÓÿîÊ>î¶^;¢«¤{fÆ™í·¶/Y\U]Õ³SÏ%Ÿ/9}ø~ò}§~NVV¼‡.öñí3¾Ïø¦3&Ä+!¢„U ¼UÙª¿~õë÷ض1½0]AF¡·Fï½_îý¼ÛçL…NrBf…칿çÛkßfe¨°Uë >5ýTg…ÎL…uÖëÖ^Y;êÀ(%Y¥oF}£¯ªßr»ž>ïì<ÞKæÙ[Çnu6qn¹4޼¼|@@À¤I“‚‚‚æÍ›÷é@T £FG-2,-----½½½CBBÄÅë0ÂÅâr¹ [Å vvÆdK©3Ë:‹åáááïï/ì@DMY®P899Ñ™3gšØNfffqqq= ôwîÌ7®¾:о4âïzÿþýþþþ¡¡¡úú-˜W@# —†Ž¦qç|bbâ¸qã|||&L˜ÐBA- ú÷#– µÍ™3§gÏžëÖ­kè¯ím¾¾þøñã÷îÝ‹ÁwmS+e¹qqqŽŽŽŠŠŠl6{ðàÁ¡¡¡666,‹Åb¹ºº2u²³³—.]Ú­[7))©N:Mœ81&&†y+$$„õääd%%%UUU{{ûÄÄDþ ØH||¼³³³ªª*ó’yÊ3£¬¬Œ×Znn®§§§¾¾¾´´´¶¶¶Í‘#GJKK?¶›¼úRRRÊÊÊcÇŽ½yó&󖯯/Ó¾¶¶vTT”µµµ¼¼<›Í9rä½{÷øë”””Ü»w©,!!Q+ò:Ãûps‚±–—ç¸ÇQq©"{!{ð–Á¡OBm¾·aÍe±æ²\úçã.Ê^zri·UݤæKuZÖiâcÞþóI=a*³æ²’s“]ö¹(-URõPµßeŸ˜ýß[°Fâ3â÷9«z¨2/ƒîñÞ*«ä;žÅ¹ž§=õ×èK/ÖþZÛæ{›#÷”V~üãþ§¾Ô|)ewå±coÆýóq_õeÚ×þZ;*9ÊÚÏZ~±<{!{¤ïÈ{ ÷øë””—ÜK¸ÇT–p“¨yá}¸9Á@!..¾iÓ¦G]ºtIر4†››[RRRXX˜°:´F–›`aa}öìÙ¬¬¬Ã‡>yòDZZšËåQzzº™™ÙéÓ§øá‡¼¼¼[·nåååYXXüþûïDäèèÈårÇOD©©©ÁÁÁáááS¦LámHðFÜÜÜ.\øöíÛÈÈHqqqþ·x222ÌÌÌNž<˜““óèÑ#KKËÙ³gïÛ·¯ÎÝdêŸ8q‚©ÿàÁ6›mmmÍì ———Ë511ÉÏÏwww÷ööÎÈȸ}ûv^^ž••UDD¯‡ÃùüóϹ\.—Ë­ªªª¹€›ðˆµ„„¬‹mÑÉÑgçŸÍòÏ:<ûpàõÀ')O¤%¤¹¸A_QzAºÙ³Óѧ˜öC^`Þ­¯oå•äYl³ø=ñw"ràÈ=Àß<yœòð°ñHÝ‘ìþ"|Ê~¾[àFÜŽ¹-´\øvûÛÈ5‘âbâüoý{< 2̶˜|x2pr`ŽΣõ, -gž½/â#wA†Ù³N0õ¬yÀ–b[ot'ˆˆ¼F{qpMtLòKóÝO¹{;zgøeÜ^q;¯$ÏÊÏ*âe¯Gšó¹ÁçÜ\înÕ¾ªZ‘ ¸9@›bbb2~üø€€€êêúC Ð6éëë3×À„Ô¡5²Ü5kÖäççÚÚÚÊÉÉõéÓçĉ%%%üuV¯^ýúõëï¿ÿ~ܸqLS§Nq¹Ü%K–ÔjÍÕÕÕ‚ÃáØØØØÙÙEEEåää4´‘•+WZZZ²Ùlssóªª*55µÃ^½zuÒÿÙ»ï°&?à ,‘¥"    R”QTP±(-µ?­ŠZ"ucÕâQD­uÕQ-UkQ*Ö"h(‘V !@Èï·1@HXü~ž>}’˽wß7—œ9Þ{ï cbb<<<4446mÚ4cÆŒÎNË¿oß>EEűcÇÆÆÆjiiVVVò³±X¬C‡a§0yòä³gÏ677Iô–Š_èw¬/l¸´ÞHñqçJ%RÇ»$–Åù°¹ãÖ¿­y»×{ï,³YXžsKÏñx¼€ßÛ5÷ÔŶú¶"ÅÅÄÅ}‚{fQf5³ZÒBÖÎ\;Íh™@¶Ñ³i=Ò:œÚQsÇ­/¬.Œù"Æc‚‡‚¼‚†¢Æ&÷M3L;oî¸õ…Õ…û¾Øç1ÁC‘¤8Vclì’X-%­Àß+š›Ã:ôÕ!ì&ž|vñÙæÖæ s’7·xÕ‰~Ç`  x÷îÝ¥K—¤tÇ_|‘••Õ3%¤úc”{ýúu„››?EMMÍØØX0ÏåË—eddwÊÑÔÔ?~üÇKJJsZY½_ä}Ô¨Q¡²²2I ±¶¶î2lìÝ™3g &^»v-88XD~www~ ‘Htvvf³Ù7nÜà'R( þS33³#Fdgg———wR7ªC"ß±¾p=ç:BÈm¼@s+¨k~ØÜ/Ëàd<&´”’æøã¾}XR÷as~Ø(„P½LÒB¬G‹ÑÜ/!„fš~ØÜAׂ]:iîÇ—Bîfï¿,ÑÙęݾñ\ ¹‰‹QÍ=Òl„òˆìwÙåõ6·xÕ!‘ï 4:::óæÍ;vìÜ ŒìííGŽyñâEi„õùNB‡Á`ÈËËS©TÁtÁ<õõõ!%%¥ö%¼~ýZ[[›ÿT0@@a÷|KT…Bé2ìúúzyyyÑ9Eç×ÐÐ@UTTðS”••…ŽUWW/++£ÑhZZZâÔ%Qu¨ów¬/pZ9Œ&†¼œ<•øasSTóÔ³ëBJµTåkmæ& ' „Úxm’B!vÕÜ­œzv½¼œ¼‚¼xÍÝI~ E „PE½@s“Ú5·‚z½ŒÖ@ÓR»¹Å®uþŽÀÀ´hÑ¢‹/¦¥¥ÙÛÛK;ŒŒŒÌܹsããã׬YƒÃá¤x¯ÏG¹D"QAAÁ`0™LÁ.FÌ£¬¬Ìd2Ùl6¶ÞR÷*êy!‚¥)))Õ××3 qºåÇ&kjjòSjjjx<žà×{+ÔÕÕ±§â|Cį®Ÿe‰ ò Œ&“ÃèÒh‚y”ÉÊÌ&&ûg¶¬Lw›»7 ,M‰¤TÏ®g41Äèv–›<¬©$ÐܬvÍÍ !„Ôÿkn$Fs‹] :†††VVV¿ýöŒrƒ‘««ë¡C‡^¾|9nÜ8iÇÞëËØ¤_lÞ2¦¢¢"//O0ÏgŸ}ÖÚÚÊ_m¡££ƒ­À$Ž^)„ÛüJhíGKKËU«V‰ÈõêU~ ‡Ã¹uë‰Dœ­ÝÔÔ”™™ÉúìÙ³²²2sssþ…\2™ÜÜÜŒ=622:zôhOªëؤ_lÞ2¦¢¾"¯òÃæžøYk[+µaLÄõµ:­mb7woÂ7ÏrBèïg6÷6ËUç;inËy¡«ÏÞÿVέ—·Hr$ÁÙÚM-M™EÍ]ú¬Œ^f>Êœ!—L 7·þ×Ü›ŒŽÞ餹ū#//¯”””††i355ÕÔÔLJJ’v àý1Êݱcǰaƒƒ™LfNNÎÂ… …®7îܹS__Ñ¢E×®]«¯¯¯­­=räȶmÛ¢¢¢Ä¿0Û+…–¦§§·jÕª«W¯2Œ’’’+V”——w6ÊÅò'$$0Œ¼¼¼/¿ü²¼¼<&&›HŒQRRÚ°aCzz:‹ÅÊÊÊòóó#111ü 'NÌËË{÷î]zzú›7o¦NÚ“êúߎÏv £ >œø"‘Éaæ”æ,<µPèzãÎÏvê«é/:µèZεzv}-«öHê‘mW¶EyE‰a¶W ,Mo¸Þªó«®>½Êhb”Ô•¬ømEy}ù*×Nšû³zÃõ‚Ï'â¼äâ’®³vÂÃÄ#]þ'£?éŨDpëš¿.ßÅÐ¥ªë‰?žþq8ýð<Óyü!.BèÙêgW]A¹ºä¯ËúÏz”u‡ÙG¡Q©QóÏÌW’W:6ÿØãUS–§ØÜÌ»érÔåaÉCqbëyáB%¼úþÕÍ%7ƒ§Ôxžò\{u­àSô)+Dä|ühûÌíK{ŸñN+úwqøƒóò÷µôEð>ÁOq7q}Ži+ÓR–§ „&iOÊ_— qBîYAYþSüOg>‘98Æ?8ÎÄÄDhÿ…þרØèìì,´ Æ7ˆfHBG-‘bzñÒ‹K£R£ª«¥ˆ¡¡áëׯ¥ô`‚úéZ®³³³³³sÿÔ50…†††††J;Š~âlâìlòq7·[h¨ÛÇÒÜÇkãµµµµI;Ž™í1§1î¼ßyiò/‡q4ãè­ü[ojÞàeð²/ØèØx›{ë«vpÇËýâû¡…V )J/ÆðÓ½Ÿ§þÑíGlt‡"Ê œlum}ó]taQÜ7qÆÓ§…ãeðÃ)Ã] ]\ ]"S"f¥³é‡??,ÎNæ¢)>û)»…½úÊêð¤ðk‹¯õ°@Ñ(Н¥ïŽä÷‹ï/·]Þ§uõ##£¬¬¬~«ÎÌÌlܸqçÏð­äñxmm´'qqq9|ø°`JQQѬY³|||¤’¤ £–Hôè‰#'þüùÏ?9ˆžE==½þ\(z°.õÓ(ú…@¹½ì¶´£8­¯3^¬fÖÞÙ{óµµ ‡nº¾)þy|F@Fûüuì:¼ ^Ò!nìW±"^}[÷vÿÝýã5ÆóG¡|$9ÒF羿ùþ˜ôã)ŸSUÚ»…ïøýý·÷oåßJx™0{Üì.ë}¼êq—ylumB¯«_745\YxEt昹1¢3tI¨@gÓ{XH¿100èùx=D¡Pn߈=‰®®®•••P⯿þêêꪦ¦&•º:j‰ìœµS^V^ÚQqijjÖÔÔp¹\).¡=˜ þ˜± `àø§èŸüêüùæ[²’ÃËe‰özöá3Â;Ë߯“ì¯Â[nn Oê´4LìãX.;Óxf‡¯Z²R§ªÿSøÏ;ú;‰ªîÝÂq8Ü‚É B¿=úMtNŸ³>>ûSœØxˆÇ/\œü=„C8.Ûõ &“Éb±¤È@dgg÷í·ß ¦°X¬¸¸8lsA0$Áwp>|x[[[MM´ˆ¤ÒƒÁµ\À ×Ù!t6ý§{?%½N*o('È#,–Ú,¢;…`AMÁî”ÝÅÜ6îxñ¡Ó:˜g^ÛX{0íà­ü[•ŒJ¢‚Õ(«ûu„ÐñûÇwÝÞ…Ò jüüùÏ»Svg—e·ñÚÌG˜‡8„LÒž$˜çaÉCƒ]!¼ ^h‘*VUäíÈ»…wñ2xË‘–a.a:ÊoÔŒ1Š4ⶉº § ïðª,Û@.µ u‘Õ"~¢½ž½ˆCz݃wB&&e0Q7¡1i™ï2G)’báX#>.}ÜÚÖ*+Ó ÿbf¼Í@7¼‰`444B—.]Ú²e –róæÍèèèôôt:ŽúßÿþwêÔ)„ФI“°yzwîÜY´hBHYY›íœ˜˜¸|ù¿½AJJJddäÝ»wñx¼¥¥eXX¶ãýñãÇwíÚ…zøð¡BÇçææ ûüùs"‘(˜’šš‘’’B 7oÞÌ`0¶mÛ–‘‘A¡P¦OŸ¾qãF åý”‡ÚÚÚƒÞºu«²²RAAÁÊÊ* ÀÄäýÇÒÈȈËùE><#£ÓoåÅ‹GŒÑþòÈ€µÑ5t°k’ ;vìÀR “n£\À ‡-²ìÏeI¯“ø‰UÌ*¯3^M­M;fî°e]ŪŠJúúÜ×Ûgl÷6÷F½­{ëuÆ‹$K:èyp¢öÄwôw;“w× –LcÒ¼ÎxqZ9»fí²Ö±.­/ýáÆóÖ÷¬åHËÅ6‹Û,ž}rvQmÑI?npÚ`¬nœ_¿þÚz¿ßýNqÚz”5–Gôí^áIáþSü#Ü#ž”=Y·<8>8î›8çÛÕ6mumG«Œ~ZþtÚÏӔ䕜 ›Z›D\4há¶ð&½NÂ~òýoòÿDÇPɨD)Ë+w–A™¤Œ¢1i¢ËéëÂÕ(j!.[ÛX«NUç§·?eìC%“ü÷öÞŽ[;ded7¹tgEºö•v‰ KÜ×m€SUUEççç/[¶,))iÓ¦MAAA‘‘‘yyyÞÞÞß}÷ݦM›ÌÌÌø‡888äçç{zzò7¢wuuåîïïñèÑ#ÿààุ8„ÐâÅ‹/^Üþ®6ÁcÛ§ìØ±cùòå7nÜ ¥Óérrr«V­ÒÕÕ £P(7nĤÑh^^^g×®]ÖÖÖ¥¥¥?üðÃüùóÏž=kii‰åÉÍíþ™Çã={öÿû_·KèÐQƒ¡J¥"„ÌÌÌ ëRÿô`0c04E¥F•Ô—lrÙädàD%Rõ†éEωV£¨mKÜVͪÆ2445„¹†ÙëÙ“åÈFjF‘î‘B#Ÿ¨Ô¨ÒúÒ N¦éO#Ë‘ ‡ÆÌáñx[· fc·°·¹m³iI’#™i™í™½§…ÛòcÒb†êmîk«këdàô´üi»®·Þ‡ö(Êù¯Ï/˜´!TL/>™yÒf¿MxRx}S}‡ùËÊ44E(´à°ßDq' õé¬Ý^)œ?ÁXˆÐ)c—ƒ:„ M vXî³ÜpmƒÅ‹ __°m×`:\Ø[c¹3TJFå`™´,//âp8ü‰dnnž››«¢¢"QÞÞÞ–––$ÉÎÎnÚ´iOŸ>­«ëþ7ËËËËÔÔ”D"yzz¦¦¦~ûí·&&&d2Ù××W[[;55•Ÿ9**ª´´tÆ Ó¦M#“Ɇ††111<oëÖ­"ª_jj*F›7o^¯”&EÐQƒ!ƒH$"èÁÄÓ?=Xw®åž>}:==½×C\RRÒªU«¤è+ÙÙÙÚÚÚÒŽ¢7ÝÌ»‰š®?ŸBÀ>ýÉåœËw ïÎ3wçÍ„Ã~uªºÞ0½ÂÚB~Jb^¢ NÆÉÀ‰Ÿ¢FU3n˜S‘SÁ¨àýHr$ljÆHÍHªþ²ò%I¼Øl÷TŒU!TɨT!IöÏ¡DTɪ›]7otÙ¸éÚ¦¼ê¼75oNeJ›÷Mœà†t6ý§”Ö—vïÚ£êTu“&ba$ì%  é^ŬBÉÊÈ#ëF$!C—ßî:_ßðµô M¾ý­õ·}ú‰êíG¹æææ=)Ppë]---„Pee¥¤?4ù¯Àhhh¼~ýÚÔôývÊššš/_¾ßý811QFFÆÉI ëPS344ÌÉÉ©¨¨ÐÔõg#qœ>}zÞ¼yd2¹‡åHtÔ`Èh?Ê…¬3ýÓƒug”û÷ßÿý÷ß½ àrrrrrr¤èClöÐÙ¨ ™ÛÌà0ˆ²D¡•‡S†#„ª˜UÍÜfV3‹(K$Ë}ÐɪRTù?ž°BBÑí«(ª-âÿxR$* ½ªJV¥1i5¬q~< Þ¢)ƒ“A_BÄôÖí^x~yØçfŸOןþù¯ŸçVå^Ͻ>wü\ìÕ5W×Ä=‹“ÁÉ,²ô›IßtYß–O·t™Çz”uNE΋Ê‚?^½¤½DÙèØˆ_o_žU’…²i)ú¦Ü³õˆ¹ãç–7”G߉>œ~xªÞÔ“>'¥‘(ØÂ¤--ï§X“H¤ž¨ ðþ›E Ð7¥w6ƒÃáðx¼`x222üÝ;}1ìC IDATš›› BÈ¢£®£¨ûØí»Ú ÿùçþÜÂÁ :j¸/w(LˆÔ{°îŒrÏŸ?ïíÝÅ H`ˆÁápÁÁÁÑÑÑÒô///i‡Ð›x‚QÁa°šY‚¿Ÿ°)pjT5ž@!PXͬƖFÁßO‚ x‚¢¼"‹Ãz±æ'jczÇã N‘­i¬A©RT±§8Ô›Ss{x»Wüóøøçñ'¼OðS´µ>7ûüçôŸKëKù‰‘î‘›]6ß-¼\Ï®ß>s{O*âké{:ëôµW×–Ù.kÿjVIIs2p¡8BŠ…·ñÚÎ>:‹úzÒ×Ýc Ø“ºççôŸwÌÜ1ÓxæÀ_缾±!$¸üI‡dddG"„ºQ]ßM˜'ŠŠŠ,ëÅ‹"öéö]m§OŸ¶²²ÂVÔ £CISSB¨Ëë“Ѓõ[÷冦OÇ~Šº]ð~ã¸fnó½¢{ò²òSõ¦"„Ç8"„°ép˜:và,8„›‘—Ç}XòP0ñHÆ‘©‡¦ ÞëÈiå<-Êš[•KcÒL4Lø×Hr$þ"@®G]Ï=9×KgÙMOËŸ²š?د…ÙÌDé«ê &R‰Ô™Æ3ÇkŽ¿ž{½wЦ85ðyåóßÿ.ô»…ž®LRs “náQ©QÙeÙŸŽýt¦QÇ› ñ<å™ð2¡;÷™›y7µ•´½Í½þ!„í!ÔåoDuuõŠŠ þÓªªª²²²nTG"‘ø¿5]]]ÏëÍo¥››—Ë}øðîãÈ‘©S§Š¾úÑ%&“yéÒ¥¯¿¬y52°¿Óuyýz°~ëÁ`” šBCµ•´Ã““ó“YͬÂÚÂU­ªbU…¹†aÓáB§…*“”LüñŸÂ[ó«óCþ šêª£¬³öêÚÔ7© ƒÎ¦ÿþø÷ƒi×;­¼h @TØsgÏãÒÇìö³òg«¯¬–ÃË Ž£ÆkŽ/¬-,o(\ú¸¸®Øj””7ÿ ³é+/­|E{ÕÚÖÚÔÚô÷«¿/>½h5ÊÊÅÐ¥}f*‘Š{×wŸ|·ÌvÙ–Ä-Ûom]ýº™ÛÜÐÔœŸìsÖ§ŠYuÊçT7öêyám¼¶šÆš¤×I_ÿþõÑŒ£^æ^{çì퟽mû“ÃTã[ 6ÊíòZ®½½=F;sæLcccqqñ?þˆ-Î,©ñãÇ–——?~ü¸¸¸¸w7´ ÕÑÑY»vmjj*ƒÁ Óé¿ÿþûÁƒׯ_/âÚˆ8þøã …òé§ŸöV¨Ò52°Û¾ ­?{0œ¤3¼q8ÌXþÁŒå!›±üÇô°œÊÊJ&SÔˆÈÀ@ÿþÊY³zsÔ$¸ #Bhîø¹{fïAÿmؘ—XÁ¨ É‘,FX,²ÔV×–Ÿ³°¶02%2ýmz+·u¬ÚØ»€“Y'ïÝCyMðÚ9k'VÈ¡{‡_'–7”+Ê+ŽÓ·Äf‰à¹³OήeÕþêûkxRø£ÒGÜ6î­ «W ®»û¦æÍÆës*r”IÊËl—}eùÕ“²'óÏϰâ“!!‚ûÄL7˜~lþ±^|—øZ¸-ÉùÉW^\yQù¢´¡TVFÖXÝØÃÄãëI_wx÷é7ç¾É(Îh?ûÎl»åý½ÜÝc&”mÝôu‹móŸ>+væÑ™ûÅ÷iLO£:ÆÕÐõëI_‹yí±ç… •€Ãá¨êÅ“GMö6÷¯1^Duíí›»ÏÃÄ£}Î1ªcn.¹ÙÙQ>ûsíÕµ‚)OW?åÿŽqŽví*™•ü—°O‘`9v톑‡]YtED̽¢W¾×ÙÙÙŸþù¡C‡V¬X!˜žŸŸ/ø”Á`ìܹ3%%¥¡¡ÁÔÔtãÆaaaزþþþ®®®óç |³V¬ œ7}úôcÇŽ!„Þ¼y³qãÆœœeeåeË–}õÕW‚{K"„æÎûõ×_ •æêê*¸.hhhèäÉ“¿øâ ~J````` BˆN§:t(11±¼¼\QQqܸqK–,±³ëÎòÚ|<ÏÅÅeΜ9AAA=)G´¾è¥tÔ’KÎO^zq©P⎙;ºÜ· HªW>ó/_¾œ={öþýû±€z0¾ž÷`úúú]gúŒrX`”;ä êQ®ta?žÒV¦I;îØ²{¤ÒÈ/-¿‘gÉÅ%))¯×¾î·¨@o™r`ж’öÅûº¢^ù^'$$¬^½úùóç²²ÝY4ô–¡×K£AÞQƒ¾Ö+ŸùŒŒ ??¿û÷ïwïÚ,‡D£\˜± @MM‡­‘Ö¶V:›.z¯ã¥°°pÔ¨Q0Ä FÅÅÅd2†¸ŒràãõÉèOÌ4ÍDçqÐs@É8"bZ0Ð08Œ_üÒÚÖê¨ï(íXÄUTT¤§§'í( ;Š‹‹uuu¥xþb Ýtüþñ]·wa v´¿+rà¼o­3®c]×L[óç³?{ôÛÝ)‚[õÁ[à„ÚÚvöêÇlÍÕ5=ÿk¤ÒÈ•v+?3ýLÚራ°°pÒ¤I]ç@C £ƒBqqñ¨QÝ_4ôº>å2™LKKK##£„„µ§ر‰oàœ“ÙbiyÚÈhXB€û!5cßÐ8‹¡j±ÍbÁµŽ†°¥S–."¼JÿÈ_—ßu&ð¡H÷ÈH÷HiG!6›ýòåË… J;0Ô|<5®ââbiGÞë“Ë<¯­­­­­­/ ï¡[‡¨Tª½½½PâÀ9 ×ÖÆkk“l ³þ1cë•co/¼½ç ; è†ÌÌÌÖÖÖ)S¦H;‡ÃÉËË7nœ´ïõɵ\…‚‚‚¾(¹çrlâ8g¡ @((X"í(:6cßÐ8 -==]___MMMڀIJ³³›››'Ož,í@À{°ú¤,--ÍÖÖ¶ë|0ðdeeihhŒ9RÚ€÷z”{ùòeÜšššøé555!!!úúúAEEeæÌ™·oß<°ªª*00pôèÑAMMí³Ï>{òäIû2‹ŠŠ|||”••UUU=<<„.i¾zõÊÓÓSII‰L&[[['$$¸¸¸`.^¼¸}lâ—,"¼Îˆ8娨(¬RmmíÌÌLggg2™<}úô´´4Á<,+-- ËŒí¯ÐwXüÓ”ÈåËù8\ö_SS«@$ìÛúúÇ„½**fÎüóöíâßÌÆÀÀäÑ£{ÕÔ~úì³ø'OhíË,*ª÷ñ¹¢¬|@Uõ ‡G\AÁ뻾zUëéyYIi?™¼ÏÚúlBB‹ËìÀÅ‹o´Mü’E„×§•‰Uª­}83³ÂÙù‚‚B ™¼oúôóii¥‚yX¬–´´R,³¬ìžî½ÃâŸ& ùùù/^¼pss“v ÐYYYÖÖÖÒŽ| ÷G¹žžž<oîܹ‚‰VVV±±±111ÕÕÕ÷ïß'“ÉÎÎÎÇÇ2”——[YY]¸páСCµµµ)))µµµ¶¶¶éééBe—––ž?>99Ù××—_K~~¾­­mVVÖÅ‹i4ÚÉ“'cbbž>}J$y<ÞñãÇÛÇ&fÉ¢ÃëèS åñxæææt:=(((<<¼¢¢âÎ;µµµNNN©©©ü< ÅÎÎŽÇãñx¼ÖÖÖî½Ãbž¦¤<= x¼Ð¹s?Xµ¢‚eeu66öeLŒSuõÊû÷ýÈdYgç Ç?ûïÍdYY½páÕ¡C.µµ))>µµM¶¶±ééeBeßžTZºìüùÙÉÉž¾ï—ÚÊϧÛÚþ–•Uqñâ\í»“'gÄÄ'}EEÂØ±*±±ZZÔÀÀ[••¡õëï¼}Û°wïôY³ÆP©rãÇ?w΃ÇãÜ*jñb3[ÛŠœ‹‹®»û˜ÌÌŠêj6öÒ† wétNLŒ“««.VHl¬;‹Õ"f"J?<ñOÃbµ:ä‚Õ;y²æÙ³îÍÍÜ  dñß[‰ª}š0@´µµýõ×_Ÿ}ö™Œ ÜE|’““›››]]]¥ø@?ý‹réÒ%„»»;?…H$:;;³Ùì7n „._¾,##ãááÁÏ ©©9~üø‡–””eeeÅŒmKUVöïE¶ëׯ#„§<©©©‹¤ˆ’ÅOüSÆP( þS33³#Fdgg———‹¶DÕ‰>Í^qéÒk„»ûHðÎÎ:lvë…¡Ë—óedpúü šš”ñã‡?|XYRÂø0T-PBeeLìéõë…!77=~55²±ñ01ƒQ²øá‰Ê EÎÂBÿÔÌløˆÔììªòrqÿ#Qu¢OˆÄÄDæéé)í@ ;®^½úÉ'Ÿ¨ªªJ;ð>YcY‡Ã©¯¯———WPPL×ÐÐ@UTT`BJJJíýúµ¶¶6ÿ©`€Â6Ôáp8 C^^žJ¥ ®¢¢"fœ"J?†ŽúòåË!˜®<õÓŒåyóæ!„®^½ÊOáp8·nÝ"‘HØãÏ>û¬µµ•¿¼0&""BGG[rI3gÎDÿÍ[ÆTTTäååõ<þn„×å)cššš233ùOŸ={VVVfnnοK&“›››±ÇFFFGíIuý`Þ>!D"‘üüüBššš™™™¾¾¾ªªªÖÖÖ,+))iÉ’%ØQêêê<ðôô\¹r%¶dT\\\||¼··7B(##C°ÌM›6!„p8\DDBÈÒÒ[J__?==ÝÊÊjþüùþþþëׯ×ÓÓÃãñÅ&fÉ¢ÃëP—§Œ¡R©غu«–––ƒƒƒŠŠJrr²££#?þ}û&L˜`bbâããcbbÒwXÌÓ”¼­óq¸¨øø|„‰´ÏÏï*BHS“’™éçëk˜¬ªzÐÚú,‹Õ’”ä½dÉ„ÿÚšüàŸ§§áÊ•Ijj?Ÿˆ‹{ïéím„ÊÈ(,sÓ¦B8\TDÄ„¥å¯q!}}åôô¯¬¬4çÏ×Ð8äïsýz==%<^¦³ØÄ,Ytx´u§ü_[Ë8à¼uë=-­ŸΩ¨È''{;:Žhëé&¨™˜œðñ¹ãdb¢ÚwXÌÓ`°“—•—v GÊÊÊ¢££—-[¦¯¯ßunÀ 4´;jwìØ±O?ý–˜p<žd«Ñàp¸óçÏ‹Ý 4ÆÆÆl6ûíÛ·Ò¤ÕÕÕ­Ò< àp¸àààèèhi"бñ 6»õíÛ¥Ò¤§««Ù%%ˤH§¼¼¼BüñGË©¬¬d2E­äl` ¿å¬Y½¹Úsb^âò¸åØã”å)‘·#ïÞÅËà-GZ†¹„é(ëðsÒÙôŸîý”ô:©¼¡œL [Œ°Xj³tŠî¡Bn.¹}7:ým:MGee*Ê+^uýBö…ܪ\‡¡«¢ëmî½`ÒœŒDÔìNÙQœÁmãŽ×:-tÿ?û³Þe .j"f©ËS#nG¤¤d Žc7»nfpÛ·e¼Í )Óõ§otÞH!Pº}BˆËãŠ8ëã÷ﺽ !¤AÕøùóŸw§ìÎ.Ënãµ™0q™¤=ID“EqÛ¸"2 § ÏÈÕêÿ±;hWÝX=$5Dºñ½^²dIqqñ•+W°uÁÀѽ4‚Ž:êÜQwï3åʕիW_¾|yܸq}"Ñ_E‡Ô(·¢¢bܸq•••rrÿ®HTTTdhhèççwòäIéÆÖ!åv[Ekܸ“••+ääþ½x[TTohø‹Ÿß¸“'gH7¶Á(—¯~?!„–ý¹,éu’‹¡‹ÿcuãG¥ü/úU÷Í¿—¯«˜U^g¼šZ›vÌÜa=ʺŠU•u3ïæö۽ͽ ±e45h‚Ö„¼ê<ï3ÞK/½¸4Ô1Ô×Ò·×våÅ•ð¤ðEÖ‹ÖM_'~oëÞÎ;=$KŠp˜¨=ñýÝÎäEµE4&ÿãIü ݌ܖÛ.×WÕ¿‘{#4!ÔqŒ£^.hj®Šn|N|ذ…V 7:o O¢£’ó“»<ëÙ'gÕ«opÚ`¬nœ_¿þÚú‚š‚Ó_œ¶eÝë­ÜÞÿñô‘ô{}êÔ©;wž={Vps;0@ô]/ £†Žz@êÆg¾±±ÑÕÕuúôéááá}"Ñ(w¨íÀ^WWçïïÿîÝ»ÆÆÆøøø(**†……I;.Ðûêêšüýo¾{Çhllyð ÜÇ'AQ‘f+í¸€”y›{[Ž´$É‘ìFÛMÓŸö´üiûßeÉ¢R£JêK6¹lr2p¢©zÃô¢çD«QÔ¶%n«f}°ü£¿­¿Ž IŽd®ež»&W…¤‚²Ñ±Yf»LI^I…¤²`Ò‚ÙãfŸÊ<Åäÿ£(:€†¦†0×0{={²ÙHÍ(Ò=’Æü`xñƒôšàeªiJ’#yšz7L}“ú­õ·&ê&d9²¯¥¯¶’vê›Ôöï¤G‰sÖìö6·mØY›i™í™½§…ÛòcÒâ·ªx<^mm­Pâ£G"""V­ZCÜtÔÐQvljj ‘v  SCj”«©©™””D§Ó±\çÌ™chhøàÁƒ1cÆH;4aQQQ8.;;»´´‡Ãa7ÊñijR’’¼étŽƒÃ9•ƒsæ\24T~ðÀo̘·Æ]TT&•]UZÊÄᢰeAß™ õþvh-E-„P%£{z3ï&Bhºþt~žðÉèOšZ›îÞ,Ä\Ë\¨X'§ß¾üM0ÅDݤµ­õuõkñ¸óæBÈaŒ?ƒ:U]oØ+c‹¤™–ÿ±†‚BÈTÓ”Ÿ¢© É¯·ÛG‰yÖ$9’‰º ÿ©‘š‘:UýeåK¡ß…à#»lÙ2.÷ý¤GöÝwß999ùûûK10 ]ÐQc £¤^¾|yòäÉaÆI;ЩþØ/·?9;;;;;K;Š®…†††††J;ŠÁÍÙYÇÙY§ë|Òj ×+úñý–Ñ<!ÄC<„P3·™Áae‰ü{™0Ã)ÃBUÌ*ÁD’I¨X‡ñ˃_næÝ¬`T445ðÓÙ-lñ`5³ˆ²D²ÜKa«RT kÿÝK¢ ©„÷ƒã/ƒ ['ÓÆë`ï+‰Žó¬‰ŠBµ¨’UiLZ «FªÞ>Ô«·{«  `ûöíÍÍ͇ @Ñéô… ***FFFг<ª £Æ@G=566Mœ8ñ‹/¾v,@”¡6Ê€ð¢ƒÃ`5³š`³ËÔ¨j¢_zqiæ»Ì0—°Ùãf«Tp8ÜÉÌ“ÛomÇ~‰…@a5³[?aë¦ôJ½N̳¦7Ñy<žà ¥¦±!¤JQí¬ä{wè-­­­«V­jkkC8pÀÞÞÞÐÐpÑ¢E çΣP†ææ™ ‡ £îè¨ûƒÁ())111Lܼy3N?{ö,00 ©Ë §c?EÝ.¸ÍOiæ6ß+º'/+?U¯ã¨1Ü6îÃ’‡jTµo&3Œ< û•ÀiåH€ãGôßt8L»Ž} ‡Aö:ñÏšÓÊyZþ”ÿ4·*—Ƥ™h˜tv}| öìÙ“››ÛÚÚŠÂápË—/¯¨¨øí·ßFŽìx3ptÔ‚ŽºOýðÃË—/ollä§œ?>>>>**J]Þ·F¹€E¨c¨¶’vxRxr~2«™UX[¸ê¯UU¬ª0×0l¦Ygð2x›*fÕ±ûÇêØuM­Mo3bÇJÀ´Pe’ò‰?þSøOcKc~u~È_!Bóâºd¯ÿ¬ˆ {îìy\ú˜ÝÂ~Vþlõ•Õrx¹0Xöïã•™™yüøqþí¸\.·ººšÇãýúë¯::ƒàN EÐQK:ê¾síÚµ¿þú«¬¬lóæÍXÊíÛ·7oÞ¼råJÑÇ‚`Hí$úÎ@ÛIôºA½“Г²'óϺâ“!!» ø)Ó ¦› ý·Ãab^b£‚$G²a±tÊR[]Ûö… „ò×åó×±ëöÞÙ›RRŬR&);ŽqT£ªN?Œ2Õ4Ýòé1(¬-ŒL‰L›ÞÊm«66À.àdÖÉ{E÷B^¼vÎÚ)Q+>Yájè:ïô<~J¨cèäQ“¿8ûþf¡@û@‡1Ý8*Ð>PôY_þße„Ð쓳kYµ¿úþžþ¨ô·;AkÂjÇÕ¢·aì9ló ¡Ä3wð·ñýIð{Í`0ÜÜÜjjjÂDGGÏž=[ ôÑNBÐQóS £huûÏêýr -ñññW¯^m?ÄEñx¼æææU«Vµ¿Æ Ç™3gÒÒÒøýÇkii!QQQ0ÄDº³Æ²O¯‡¸}ûöíÛ·OÚQ€>X=QRR†Ãu À IDAT€€¬¿ÿŽäñx8NFFÆÒÒÒÅÅeÚ´i] À“'O:Ôá…\þ_îäåå322f̘ÑÿáIÁ(ÝÇf³ò#“•g̘>mÚ4{{{*•*í @ÍÍÁÁÁB[ÉÊÊbƒ^33³O?ýÔÎÎÎÔÔTJ‰Á(ÝWRR‚Pìöí#ÜÝYÒŽº#.nsyy96WYVV¶µµ•J¥:999;;O:UQQQÚ‰Á(Ýghhˆ>W)í@ {îÝ;‹=ÒÕÕ1cÆôéÓ---aß A F¹€Qmm-Bß9øøLsrr‚]‡ i0(EEEáp8ß©ææf„ž÷Ý… Àû¡F¹!ÔÒÒ2aÂ{{{1󇆆òx Ðw455‚ó† åþ«­­­Ã¥Ã "p_.BÉÉÉåääH; Üx<Þ£ÒG=ÿ+­(­´¡T¨ 7LïKË/猛#´=©€Ž|$àZ. -ÎGœ—\\"í@ºãMퟳ>EuEç|²êÉŸ þ¡8bõ•Õ»nï’vhÐk £`àƒQ.JHHÀý§©©‰Ÿ^SS¢¯¯O TTTfΜyûöíö‡¿zõÊÝÝ]II‰L&OŸ>=--­c bf{Ì|Îú%òx¼6Þ ¾Ãï÷Üo¬nL”%ŽRé©LR>óðL3·YÚ¡€Ä £`‚Q.òððàñxsçÎL¬¨¨°²²Š‰‰©®®¾ÿ>™Lvvv>~ü¸`6&“¹bÅŠ 6”––Þ¹s§¶¶ÖÉÉ)55µÏ0tP”ÛËnÿâý‹´é}Uýܵ¹JòJü9¼œ–‚V3·™ÓÊ‘b`Ћ £`àƒQnÇÖ¯__XX¸oß>EEűcÇÆÆÆjiiVV¾ßø¾¾¾~ÇŽvvvT*uòäÉgÏžmnn ’bä0p445ÕÓ§@Tv,:5’`õ©Ž]ºt !äîîÎO!‰ÎÎÎgΜ¹qãÆ‚ °Dyyy~33³#Fdgg———kiiõsÌ|´ó—Ç-Çß\r3úntúÛt:›ŽÊ ÊT”W¼þêú…ì ¹U¹ CWE×ÛÜ{Á¤28¡cS—§FÜŽH)H!ÈÇ8nvÝÌà0¶%nËx›A!R¦ëOß輑B  „Žß?ŽÝ¤AÕøùóŸw§ìÎ.Ënãµ™0q™¤=ItÀüÖ<4Øe€ÂËàs×ä ó<ô9Q–ؽð0µµÓÞÊ¿UɨT *X² °0Q7˜Q¤·+"ÃpÊðŒ€ Ñg‡ar˜¹U¹Q©Qjµ((q aÐQCG @Âñx<ÉÀáΟ?ïííÝGI‹§§g||<›Í–——çp8òòòòòòl6[0Ï÷ß±fÍ„……EuuuII‰`KKË'Ož'>ìFØB«…7òš}rvQm‘±ºñ§ ÆêÆùÕù믭/¨)8ýÅiëQÖ]l¶ÇlœÆ¸ó~ç;<ìÇS·Ã£1i^g¼8­œ]³vYëX—Ö—þpã‡ìòì³¾g-GZöô½îÊO÷~о²Ñ±ÙìºÙHͨ¯kÒÕwßkÐÿú´5¡£†Žz‚l°Ð××?3ÌXî‘HTRRjjjb0‚éØ\eMMM~J}}½Ð±4 !¤®®Þ÷a:àoëo£cC’#™k™ç®ÉU!© „ltl–Ù.S’WR!©,˜´`ö¸Ù§2O19ÂÿžyMð2Õ4%É‘õêí^|NN7ónÞοm7ÚN¢CtÔ:júŒr;¦©©™™™XRRB&“§L™’””äää„ŠŠŠúþûïB#GŽÜ»wïÚµk333¹\®µµurr²t K/.Í|—æ6{Ül’ ‡;™yrû­í<$Ùª¢7Ñy<‡ã§Ô4Ö „T)ª]‹C¸.ótOP”WdqX/Ö¼Àãð☻&·/‚AÑ›è½^2`È€ŽZü¡£@0cù_\.WFFFVöý°_UU5::úÍ›7ÍÍÍt:ýúõëØ!Êãñx<^II‰••Urr2ƒÁhllLII!. ·û°ä¡Uí›Éß #Ã~åôâ–€œVÎÓò§ü§¹U¹4&ÍDÃDœë$9R ·{ìzÔõÜ“s½BÈÍÈËã>,y(˜x$ãÈÔCS¹Ží­òˆ {îìy\ú˜ÝÂ~Vþlõ•Õrx¹0—0qޝ9¾°¶°¼¡üqéãâºb«QV½B(Ô1TGYgíÕµ©oRMÿýñïÓ®wZ/ÑEIýõâ¯ÿ(©/iæ6—Ô—D¦DÆ?7Õ4õ6‡ÚƒŽ:jzÝG½“©©©££cDDDrr²§§çÎ;×®]+í (ØIè#0ˆwzRödþ¯óSò×åó×±ëöÞÙ›RRŬR&);ŽqT£ªN?Œ2Õ4ÝòéÁcW|²ÂÕÐuÞéyü”PÇÐÉ£&qö ~J }` } BhöÉÙµ¬Ú_} O TúˆÛÆ 5aµãê.·aļ©y³ñúÆœŠe’ò2Ûe_Y~%¸é"Bhîø¹_OúºÛáÑÙôC÷%¾N,o(W”W§1n‰Í’>½çŠÉa^˽ö÷Ë¿ k +™•r2rcTÇÌ0šñ?«ÿÉËÊ÷]½@ê`Ž¡¤Z:jè¨,èÁ ‰vú¨G¹÷ïß_»víÇ555¿ýöÛï¿ÿïÿœ j0Êý âQ®´`?žÒV¢”àc7”¾×`ˆµ&tÔ KCì3?„I4Êý¨'èÚØØ¤¤¤H; ½æ£¾/ÀóQ_Ë€î9~ÿø®Û»°Ç» V|²"Ä!D(Á.ƒÎçß‘ @G ÀÇ F¹ ±Å6‹Û,Gpaý :j>f0cÀУ\CŒr ݹ/wùòå«W¯îõPÀ€·!h÷!¬&/ÏPÚ1ÐS°ú—…ÅMMMiGúÊ“'O¤½ ;£ÜŸþÙÛÛ»×C‡[´hѬY³¤è++W®¤R©ÒŽ€ž‚ûr 0Ê0tÀ}¹Ð¯v§ì©4òKË/Eäá¶q£ïF_{u­¼¡|Šî”Þ'°t³=f춈wÌÜámî-”mÝôu‹móŸ>+væÑ™ûÅ÷«˜UDYâèa£ô¾™ü¢¼¢8ñwOЦçkéû•åW8!4åÀ”jV5?Ã%7ôUõ±Ç+/­¼ž{=mešUKÙ{gï¡{‡°Ç¡Ž¡Ël—­½ºö¯iP5œ ×L[C”%Š  /‚ãƒB<áÅ÷/>ÂèSp-œ?žþq8ýð<Óyü!.BèÙêgW]A¹ºä¯ËúÏz”u‡Ù‡¸Q©QóÏÌW’W:6ÿØãUS–§ØÜÌ»érÔåaÉCqbkÃËï_þùÍŸT"uËÍ-‘)‘X¶Œ€Œí3·#„Z-Ì_—ÏârÛ¸÷ÞÞCÝ)¸Ã/3Ä!$+(KQ^ñÕšWËl—!„"Ü#²‚²ü§øŸÎ:}"ó€¡ÅÃÄ#]þ'£?ùh OÁ(úƒÃØ“ºgÖ/³~yðËö[Û=OyîLÞYPSÐaæûÅ÷B ­Šy}UL?Ýûépúá-®[6:o«6–(KT’Wr2pºðõ…Š#]XÔY<¢ÉáåLÔMöÍÙ'ƒ“9ñàMÇÒôBwÞÜÌœ]žÝÂmAÝ)ü =­(Íz”µ¬ÌûFÅ×Ò—$GÂÞ 1Á(ú§•ãuÆëòóË[?ݺ`Ò‚PÇÐPÇй7¾ŠýªÃüuì:¼ žB HTKìW±Þæ.€ÿ¶îíþ»ûÇkŒ÷µôz‰$GÚ輑ÕÌú1éG‰j¤¥¨¥FQãò¸¯h¯ø)úªú5e eülw ïúZø’åÈ÷ŠîqÛ¸‚éSõ¦¶/V¨À6ˆF¹Ðçþ)ú'¿:þ„ùV£¬äðrDY¢½ž}øŒðÎò·ñÚ$*ËÍ-áI–†‰}ËåqgÏìðU«QVêTõ ÿyG'QÕ‚xˆ‡¼‡ÖaŒðåÜ;oî8:ÛêÚÖ7Õ?-ÊO¿û殣¾cû2qÇåqÛ§tVŸB!&“iiiidd” íXKÌK\·{|sÉÍè»ÑéoÓ± €“´'ño7¤=é¼ßy„н¢{ Î-8:ÿ¨“B(<)üTÖ),OîÚ\<ß¾ £H#Á í § ÏÈèìU‡J-H]dµˆŸh¯g/â^÷àÝ„‰†IgLÔMhLZæ»ÌQÊ£ºQ~YCY«ŠJ¤7ä':Œq8™yònáÝ/,¾@ÑÙô‚š‚‰#'æëçßÊ¿u·ð®åHK„P^UIޤ­¤ÝzƒÂï¨E„—”©(¯xýÕõ Ùr«r†®Š®·¹÷‚I dp2BǦ,O‰¼y·ð.^o9Ò2Ì%LGY‡_KAMÁî”ÝÅÜ6îxñ¡ÓBÅA…¤RÛX{0íà­ü[•ŒJ¢‚Õ(«ûõ{u.+"Hq`(ùèF¹T*ÕÂÂâŸþLäñxmmmmm’]< ®c]ó×å/ûsYÒë¤M×7M ŠtÌ«Îó>ã}øóÿúû‡?ì½wÎø9XþøçñØÿ±O›\6ÙèØœytæ×/~í¬ŠÜ5¹=‰ÐV×v´Êè§åO§ý€ï „1ÌPAPDDED‘Ùª …:@õµµ¶T,u@.×ÙçÚ u@TP¯•ª—¶ZG¤ZµÚB-àŠ^AÑDÁƒL „)œ÷ÃiÓ4" Âÿ÷ð!ì³³Ï:¡]ÍêÙgï¯v4÷ê“?ª\º½j»^t½±µ1§$gâЉíže¾ã|~3wúnÑ7Eèïúl¢~]x^V^ß-øN¼ÅÆÈ†žÆ"Ñs´éhÑkSmSòç<ògå@Bˆ‘¦‘…ž…”1$ç'+1”è;Û4CMÃáÃs¹¹\Wš »@'Ë*·¢¢bÅŠæææªªª†††³gÏÎÎΦ¹ºº2þ´páBBˆ¨¥¦¦¦Óh/_¾ ·´´d±Xƒöññùúë¯ATT=”««+ÝóòåËt‹ÝÃ`0êëë¯_¿NRVV&„œ={VIccã«çRUUÕÕÕ1cƯ¿þJKQQQPP‡ÃÑ×ן9sæãÇìÃñûï¿èè訫«O˜0áÂ… ¢"88X|ä¼¼¼ÀÀ@}}}ú×ÊÊÊŽ£’þC`0ƒÎÊÊòööÖÒÒRWW÷ôô¼~ýz×ÿæ}[…ýj㻣Þ¶ Ïÿvžr6÷컣Þe;‹©Äüáá„ ¿]ð´òTWQï`Xëhkú¾åë~&îm¿H“Àd0õÔõæØÏùñã4ò*ò.ç]]}qõø¸ñ;Rw,™¸dѸEÒ_õæ·7oôÙØqz7݇e_×á·òß!ÎfÎÒŸ—f¬iímÆ1;xóàýÒûGéoTW ¯æUä±”Y¢GÔDí·žÝ²7µo÷Gñ·óÿ‡Û?ftŠsZ|rqWc€>¨'êWÃã5ñb¯Æúö;–jÛ¯Û!‚DO-––è5ýà ½,_³°¹¾¹ž¥Ì’¸} }ibh6óšxmTÛ˜ÝcįèAÙBHQUQ§Av5€þNfUnii©““Ó©S§öïß_UU•ššZUUåââ’‘‘A¹víZvv¶†††ƒƒC||ÎÓÒ“Ãæ|ÿûª†ªì’ì©#¦h¸š»f<Í(ç—'ÝOêt\Þê<ñ¯þt¼ŽÔ¹ç>:õ‘x‹©¶éû9„âÚbQc´_töªì8ÿ¸Ã7o¼ÜIÕÚUóç3ÌK¿_j÷èí·Ëùå^V^oi¿ÕÁYʬŠ¢v¤í8d©oiªmšËÍ=÷àœø^A‡NTaª¤?IO’ÞîB´i;cÒb"§GÞ]u7!(¡±@¿ ÷DÝ%‰Kö]ß䔲$åÑšGk 6xo V°ÒPeªj¨j4µ65´4ˆ·K¹Sš*SU[M›É`æ­içé¹0ù†ô;2«r×­[÷ôéÓ]»vùúújjjÚÙÙ8q‚¢¨åË—Órrr>øàŠ¢BBB¼½½ß{ï=éGX·n]aaa\\ÜÌ™3µ´´Œ7nÜ8}útY]‚Ä寯ÆÎœ9S[[{ĈÇŽ355]±bEYY™xÏàà` ??¿¬¬,ú¦k»Ö¯__SS7uêTú;V__ßnç5kÖxxx¨««;;;·¶¶HU§êëë÷ïßOG>~üø£G677¯\¹²Kƒô*L?¿ßÊÛ™¶Óg¸½ìSÀ¨a›0îj\9¿Üe¨KOÇp¯ôžèé2¿™O±Ô·oÔdiÎ9ÃÎÄNü¯LXèY¬˜²âAÙƒãwK´¢R¢8lÎ&ŸM݆õ [cÛE7®^“84Åb EQßÜþF|¯ uõqƒÇ•óËÏÜ?ÓA•ûsþσu:Šß!ÅÓu»„mÂ;/îj.¿HO]^Ý@âai¸s'ßY­ZP]XU(åÛ§YORBÑbÔ´øÌø)û§)¡4A¾aý‹ÌªÜ³gÏ*))Íœ9SÔbbbbggwçÎ/^Ð-óæÍÛ°aCRR’««ëË—/###»4Â÷ßO™1ão›=^ºt),,LVW!BŸËÏÏOÔÂb±¼½½ÁO?ý$ÞÓÉÉIôzÈ!„’’’× {ùòeBÈ´i=Ubhh8räÈv;O˜0¡ÛQuJCCc̘1¢_íííßzë­œœœÒÒÒ.Ð_ØBNæœÝ ˜:bª†ªÆÉœ“þvþâ-ôAͲï—ý^þ{k[kckã¿ÿ˜x/Ñiˆ“ÏpŸW;k²4éX¶>›ôÙR—¥›“7ñË*5 ›ëë®\ :TÁ¯ø:èëîí!Dc0áná„©;è“DèÉÉÂ6¡Ä÷tqËVa4j? BøM|-5Ô·‚Üu»˜JLg3ç ~ÅÁ›«Õ­™O3Ý=ÖÕq"<"8lNdräµÂk - •á?„w<ûoow0㘭¹¸&íI¯‰W#¨9~÷ø¾ëûÖy­c2˜Òù†ô/²ÙI¨©©©¶¶–¢££óêÑG üÇ.ˆ‘‘‘)))7nÜøæ›o”””¤ÁÐа¶¶VMMMK«Ç¿îÐÁ¼z.cccB—ËoXUU•òº‰šššx<žššš¦¦¦x»®®n»ýÅçw5ªNѳÄÅ•”””——›ššvi(¹Ë.Éžûí\úµ]Œ!¤`mDÇAŽæºæÍÂfúñTBˆš²ÚtëégîŸé…E;}Gúª)«x>4)´¸®XYIy¤ÑÈp·ð÷ǽÏTjg×Gi%dûöôVôúƯÛûQ¢ÛZϵÁÎÁô¡÷ˆi#¦ùß‘àÓÁåürU¦ê0ýaÓ­§¿?î})o–J îgãçGò°ô?xüí·‡o.Úô’2Ù|2“Á7xœÄ×)·an;Rwtp#÷ÒN €¾«'êŽÃÛ°gWú®oï|»3m'‡ÍqæþŽÝ;2,:±h”ɨÍoooè¤Ðp·pÑfo³þ;ËÓÊóà܃f³ÓN^vvY«°u„áˆå“—'ÜN¸QtÃj›Õ¼Ñó‚Æuƒ¾º~Ò¢¤ý7öoþysi]©¶š¶­±í9&›O–&ȳží4€­¾[{ôCèM²©rY,‡Ãáóù€^ÒéuRSSkkkíííCCC¤AGG§¶¶–Çã½®ÐURRjnno­k%"Í.,«Ýsѳ‚ML:ÚÞ£ãaµ´´x<ŸÏ/tËË¥ZÃ]ʨ¤ù!/_¾¤(JüÓ Ã022êÂ%ô cÞóê·¥W¥„¤H´l÷Û¾Ýo{Ïõ7*L•iÖÓèÕAw¤î¤3hã‚ú«*«¶Qíüÿ²ûÿ\Û©]w³7µö‹–fœn ~ba;Ë,k±´òÖ´³¥‘M§8!%d)³º!ôA}úèÒ¥KµµµUUUñññÿþ÷¿cbbè{³|>? 66ÖÖÖÖÜÜ<11±¤¤dîܹ---RްuëV ‹U«V]¼x‘Çã½xñ"44´´´TTå¾ýöÛ%%%ûöíãóù?^¹rå«w&ÇŽ›ŸŸÿüù󌌌'OžL™ÒþL9ú\aaa.\àñxùùù ,(--‹‹£gwÏ–-[ôôôÂÂÂ’““ù|~nnîâÅ‹¥¿9,MTÒ|„õë×gddÔ××ß¾}{áÂ…ªªªqqqݾ4Ò$óIö&ö÷q³p#„ÄgÆäÕ/yM¼Ã··¶µŠ¯YÐ)™U¹FFF·nÝ X¶l½¢RRRÒ¹sç !Ë–-ÓÒÒºwïž¿¿nnnee¥‡‡GKKKzzºªªjTTT§#BLLL²²²‚‚‚–/_®¯¯?a„êêê«W¯š™ý±ûbTTTppð–-[ŒŒŒ>üðÃþóŸ&&&/_¾d0k×®¥ûÄÆÆŽ=ÚÆÆ&(((..ÎÆÆ†Þ¢öܹs„6›MoçKŸkþüù+V¬ ÏU__Ÿ’’òÉ'ŸB233Åß²qãFBƒÁؾ};!ÄÑÑQ| -q–––NNNsçÎ566 Y·n……½QЫ#K̯î8*é?Bˆ¦¦æÞ½{?ÿüsSSS777]]Ý+W®¸»ã«$@›l>ÙÞ´“*wꈩ«=V§?IŸ´o’ÄD½ ƒÝ&÷\ÛÓ;1¬¾¸Ú)ÎéTΩe“—Í5»wN Š!±fço`0Nž<)ª<áÍ9R <}ú´×Î8f̘ÊÊJÑÚ×Ò`0{öìñõõí¹¨@¾–-[¦©©yúôé7§¬¬ŒÏïhq`++Ë={Ê|}e¿€0È þ½V$økÂ@ƒæû KKËÎ;ýI>k²X\.WOOO4I›RTTôøñc///9F 0Påö¶êêêçÏŸ744ܺu+((H[[{Ó¦MòŽ @ ÊíU&&&)))555ô£°ï¼óÎðáÃoݺ5lØ°Þ &&†Á`äää3 ú‰b…!›ýrAzÞÞÞÞÞÞò:{DDDDDDçýú'ÜËÅ*ª\P¨r@a%ç'[m³¢šZ›ä!„\øííÛÞ9cêãTŸxëhëÞ9@— Q$j€€*ÖÔS Öø ÷‘w ™i3³`mÁ$óI½p®g5Ï–$.‰I‹©l¨ì…Ót55@OèÎË2ú¾»wïÊ;èA\.×ÊÊJÞQ¼ûö¶Æ¶'ž”w }ÅîôÝcýrΗnÿq´äµ$$j€Ò*766666Væ¡@— ï( õ÷*$lõݪ¦¬&ï(൨zH—«\Š¢z"-|sèã¨zHwîåô)‡nÚöë6BÈw¬¶YB˜J̼Õyâ}*ê+¢¾Zx•©Ätä¸Ég“ÇŒ’œŸüiÒ§tŸŸ?ùy÷ÕÝO3j5„¬•Yºlݪ†ª}×÷ýRðK¯L‹¥å4Äi¹ër#ú-BJxù÷˧rNåUäñšxCu‡:~0î%Æ_«<~ùxGêŽÌg™Â6¡±]„G„4em-lvÐÁ@à sy¦ôŸ€!Q@oB• ý^°sp°spÇ{E¥D…L Ùî·=»$ûÓ¤OÃÎ…%-J".|²ôÌÒ”G)/o\9ee´_t~e~à‘@BH9¿|Þ‘yM­MÛ|·M0›P\[ü¯Ÿþ5÷Û¹GçuäHI{œ¶òÜÊ÷ˆ={Ú¨¶óÏG¥Dqyܵžkéó>­~:ïÈ<¶2{_À¾±ƒÇ>¯y¾õÊÖgÕÏ:½(‰/ý5ô&¬± B C ã G¶ Ûe¨‹—•×½Ò{Õ‚j‰>!.!ÎfÎl¶ƒ©CÞê<]¶nLZLqmñz¯õ–ê*êà †ÇùÇQõyòç¢w9›9/uYª£¦£ËÖý`ܳlg}õ5¿‰OI‹©k¬Û4u“«…«ºŠºµ¡u´_t9¿¼÷® Ÿ@¢YA• ÂhÓÑ¢×ÆšÆ„2^™DS‰–äüd%†’—•—¨ÅPÓp¸Áð\n.—Ç%„xYy}·à;ñ·ØÙ´¶µ>ª|Dÿšþ$â6ÌMÔÁHÓÈBÏâͯ@Á Q€¬`Æ2 Z,-ÑkúY,ŠH®¥ÇVa‹ÿÚ,læ5ñ!cvyuÀ¢ª"-^ïð­Ã?çÿÌåqëëDGé !š…ÍõÍõ,e–ºŠºø{õ5ô « ;{À@ƒD ²‚*ƒ0d; *SU[M»¾©þáê‡L³Ý>K—d=ÏÚä³i–í,]¶.ƒÁHÈJøâ—/èofªLU Uúæú†–ñïOô¢)Ãã^ x¨ w`Æ2(¶ »EØB¿žúÕÔÙ'Þ|ÌiÖÓ„”ð΋;âñ™ñSöORBa›ð΋;†š†‹Æ/ÒS×c0„¦Ö&ñÎîÃÜÉŸÓáhÕ‚êNï($$jè¨r@AØ™ØV–Ö•Þ-¾û¬ú™Ó§73Â=ÂŒc¶æâš´'i¼&^ æøÝãû®ï[絎É`2•˜ÎfÎüŠƒ7V ª[3Ÿf»{ìo#xDpØœÈäÈk…×Z * —˜0@ Q@ï`P”äÝVVVÆçó;è`m=,&¦|Ö¬ŽútÏ“—O6\ÞËÍå°9K]–þŸãÿe—dÏýv®¨Cè¤Ðp·pzŸFš§•çg“>ïC)X[ þk fÿýÉ’KëJµÕ´mm?qþd²ùdúhµ zWú®ÔÇ©ü ›ã>ÌÝPÓð@ÆBÈ(“Qg?>_©´”ùð!+#ƒÝبäéYV5rd³¼ãyB–†þL!¡Ê¹y“*—ÖØÈHOW¿zU=7—õü¹2Çâ†@¯ÓÐh30ÚØ4»¸||ê[åôÈÒÐ÷!ƒ)$T¹ 7o^åHèR•‹%@q ÊÅ*ª\P¨r@q ÊÅ*ª\P¨r@q(Ë;P(,KÞ!À€Æ (JÞ1Èf,€â@• ŠU.(T¹ 8På€â@• ŠU.(T¹ 8På€â@• ŠU.(T¹ 8På€â@• Šãÿ|{gS½IEND®B`‚fio-3.39/examples/xnvme-fdp.fio000066400000000000000000000024201476262051600164550ustar00rootroot00000000000000; README ; ; This job-file is intended to be used either as: ; ; # Use the xNVMe io-engine engine io_uring_cmd async. impl. ; fio examples/xnvme-fdp.fio \ ; --section=default \ ; --ioengine=xnvme \ ; --xnvme_async=io_uring_cmd \ ; --filename=/dev/ng0n1 ; ; # Use the xNVMe io-engine engine with nvme sync. impl. ; fio examples/xnvme-fdp.fio \ ; --section=default \ ; --ioengine=xnvme \ ; --xnvme_sync=nvme \ ; --filename=/dev/ng0n1 ; ; # Use the xNVMe io-engine engine with SPDK backend, note that you have to set the Namespace-id ; fio examples/xnvme-fdp.fio \ ; --section=default \ ; --ioengine=xnvme \ ; --xnvme_dev_nsid=1 \ ; --filename=0000\\:01\\:00.0 ; ; NOTE: The URI encoded in the filename above, the ":" must be escaped. ; ; On the command-line using two "\\": ; ; --filename=0000\\:01\\:00.0 ; ; Within a fio-script using a single "\": ; ; filename=0000\:01\:00.0 ; ; NOTE: If you want to override the default bs, iodepth, and workload, then ; invoke it as: ; ; FIO_BS="512" FIO_RW="read" FIO_IODEPTH=16 fio examples/xnvme-fdp.fio \ ; --section=override --ioengine=xnvme --xnvme_sync=nvme --filename=/dev/ng0n1 ; [global] rw=randwrite size=2M iodepth=1 bs=4K thread=1 fdp=1 fdp_pli=4,5 [default] [override] rw=${FIO_RW} iodepth=${FIO_IODEPTH} bs=${FIO_BS} fio-3.39/examples/xnvme-fdp.png000066400000000000000000001500441476262051600164720ustar00rootroot00000000000000‰PNG  IHDRpaõ%bKGDÿÿÿ ½§“ IDATxœìÝ{\Îçÿð×ÝIg)”ä”r>¥$E9 3Ëissæë4æÇlÚ˜™ŠMsf9Ęsh!9Ÿ )¡¤³Jî>¿?n}Ö]wÜrçN½žG}×u}Þ÷íÚç®÷}]×G"‚"""""""""ÕÙ¥¡îˆˆˆˆˆˆˆˆ¨êaÒ‰ˆˆˆˆˆˆˆˆTŽI'""""""""R9&ˆˆˆˆˆˆˆˆHå˜t"""""""""•cÒ‰ˆˆˆˆˆˆˆˆTŽI'""""""""R9&ˆˆˆˆˆˆˆˆHå˜t"""""""""•ÓRwDDDDï²ððpìØ±±±±ÈÊÊ"88¸TÙM›6aÓ¦MrÇÖ­[‡FUX|999رcÂÃщD‚š5kÂÎÎÍš5ÃÈ‘#+ìÚDDDT½1éDDDDTNsæÌÁâÅ‹}úôÁ—_~‰½{÷bçÎ ËwéÒÆÆÆ0`€x,;;»Â⋌ŒD=mmm̘1îîîHHH€¯¯/RSS™t"""¢ #APwDDDDïš´´4˜››C*•®]»†–-["///^„»»»Âz‰‰‰°¶¶÷¯\¹‚Ö­[WHŒnnn8sæ àûï¿ÇܹsÅsDÿþý‘——W!×&""¢jo×t""""*‡˜˜1á@L$éêê–™pz›Å„ôíÛWî|·nÝpäÈ‘·U#L:•Cñ„H$5E¢XBB‚ܾ¥¥¥Ü¾ŽŽ<<<ÞfHDDDTÍpM'""¢j...#FŒ(uÜÆÆëÖ­C¯^½ÄcMš4A“&M°oß>¹²6l@PPÎ;‡üü|4hПþ9š6m X¶lY©: CCCüñÇXµj•ܵ>|Xê[·nÅùóçQPP€úõëcìØ±h×®Ž9‚   ÄÇÇÃÒÒ|ðXêzÙÙÙØ¾};Nž<‰¤¤$èèèÀÑÑC‡E›6m”~ÏæÏŸ_j¡ð~ýúA[[ÄäÉ“÷îÝÃÚµkqýúu¢yóæ4hÂ6ÇŽ‹èèhqßÊÊ 3fÌÀÚµk ¸ººbܸq055}íø||| ­­]ªl‡°dɹcÏž=ÃÞ½{Џ¸8H¥RX[[£S§Nøè£`llüÒë"""ªÖrrr„cÇŽ ­Zµ„Zµj ¡¡¡ÂóçÏ…ÀÀ@AGGGøí·ß„‹/ ‘‘‘B@@€X€Ð¶m[!00Pؼy³`hh(jÔ¨!ܸqCAˆŒŒæÏŸ/–×ÒÒ‚ƒƒ…‚‚AáÁƒÂwß}' GΞ=[êÎÎÎÂöíÛ…_~ùEÐÐÐ:::‚0cÆ aÿþý‚›››X~É’%r¯óòåË‚­­­@hܸ±°{÷naÞ¼yA"‘ß}÷ÒïÙ7JÅ·wï^áØ±cÂ;wA„àà`AOOO ˜™™ 7n¶nÝ*899ÉÕ»råŠ ‚páÂaúôéâq]]]ÁËËKøóÏ?… ˆ¯¹N:ÂíÛ·Ëß±cÇ„ˆÇ{öì)W7**JpttûÁÚµk…   ¡I“&ÁÒÒR8vì˜ÒïU[;™t""""AáîÝ»B­ZµÄdİaÄüü|ÁÕÕUøúë¯åÊ^¸pA.¡ñLjç>þøcñøÿþ÷?ñxnn®P»vmñܪU«äÚìÓ§0yòä2¯qàÀñ\Ë–-Åã;woÙ²EmòäÉ8rä455߸} 8Û·oøùùÁÝÝ›6mÂÞ½{߸ý²èëëËí=Z\ä¼8U¼FE×+ž|+((PªgÏž•Ù-Ž>{öldeeaÉ’%°²²*OÈ &â]³äõK&¡ˆˆˆˆJbÒ‰ˆˆˆD ,@||„³³³¸­ŒÇ£  @|â\ñzhÑ¢àûï¿Ç¯¿þ @–Ú¶m›Rí+âíí-—p|YÜ=zô(÷uˆˆˆ¨zàšNDDD@¶ž¿¿?öìÙƒŽ;Љ X²d þúë/•\ÇÅÅ®®®âþºuë0mÚ4•´]'''Œ3FÜ÷óóCff&YÂéûï¿Ghh(¼¼¼È¦•)ZÓ©I“&J]¯eË–ðññ÷ÿýwqýªõë×+ÕFAAȦûíÛ·O<7wî\èééŸÊ£TÛeiРæÎ+îoÙ²E\kóæÍâñþýû£oß¾ot-"""ªÔ¼’9©Ù•+WOOOÁÄÄD¨S§Ž0fÌ!++KðôôtttäžXæéé)Œ?^hÛ¶­Ü“ÑÜÜ܄ӧO “'OlllÄãµjÕ<==…„„¹knß¾],S»vm!77WîüÏ?ÿ¬ð/^|||ñ¸­­­0cÆ aÇŽB‹-äêxxx{öìAž?.,Z´H°´´5kÖ:tè ØÚÚ ®®®Â©S§”~ÏÊŠÏËËK,“““#Œ7NÐÒÒõëלœœ„Ñ£GËÕk×®ðóÏ? ‚ ÿô:+++ÁÇÇGhÕª•øÔ?cccá‡~ Åë9rDÐÖÖ$‰°aÆ—Ƨì¿Ñ–-[GGG€`gg'899 „:uê‹/ ”~¯ˆˆˆ¨ÚÚ)„_»Qµ”žžŽ«W¯Šû†††hݺ5ÂÃÖ722BVVV©ã-Z´@\\222Jsuu…®®®¸ÿüùs±}sss4kÖL®|TT=zTªV­Z!""¢ÔzGµjÕ‚©©)îÞ½[ªNãÆacc#î ‚€»wï"99úúú°±±¹¹¹Â×Z–²â“H$ðôô”;–••…ˆˆ‚€&Mš@__§OŸ–+S§N888 'NÔ«W111xøð!bcc¡¯¯¦M›Ê-œ^äÁƒÈÏÏ:/+¾×ù7€„„ÄÅÅA*•ÂÊÊ 4xÅ;CDDD$ÚŤQ%¡(éDDDDôŽÚÅ5ˆˆˆˆˆˆˆˆHå˜t""""ªÆŽ‹eË–‰û‰‰‰èÒ¥‹ÜâDDDDïN¯#""""""""Uãô:""""""""R=&ˆˆˆˆˆˆˆˆHå˜t"""""""""•cÒ‰ˆˆˆˆˆˆˆˆTŽI'""""""""R9&ˆˆˆˆˆˆˆˆHå˜t"""""""""•cÒ‰ˆˆˆˆˆˆˆˆTŽI'""""""""R9&ˆˆˆˆˆˆˆˆHå˜t"""""""""•cÒ‰ˆˆˆˆˆˆˆˆTŽI'""""""""R9&ˆˆˆˆˆˆˆˆHå˜t"""""""""•cÒ‰ˆˆˆˆˆˆˆˆTŽI'""""""""R9-u@DDå—””„ììlu‡ADDDDDU¥¥% Ë]Ÿ#ˆˆˆˆˆˆˆˆHå˜t"""""""""•cÒ‰ˆˆˆˆˆˆˆˆTŽI'""""""""R9&ˆˆˆˆˆˆˆˆHå˜t"""""""""•cÒ‰ˆˆˆˆˆˆˆˆTŽI'""""""""R9&ˆˆˆˆˆˆˆˆHå´Þ´‰D¢Š8ˆˆª¬b×®]ê£\ˆ×ƃZÈÌÔ„ ¨;"""Å Q»¶=ƒŽoV¤éé¸sG™™šxöŒ'Ñ»÷OªHoœt€iÓ¦¡cÇŽªhŠˆ¨JY¾|¹ºCxmR)pü¸öï7ÄÉ“úÈÈà X"zwhj h×.=zäÀÇ' 5kª;$ªâîÜÑÁ®]F8vÌ÷ïk«;¢rãý“*‚DÞì{k‰D‚   .½†„-ŒYVVϱ{÷C&œ¨Záý“Þ“NTnH$ ÜÝÝÕžÚøúú–z?®^½ªî°ˆäüûo ÌkÑ£Ó1eÊN ¢jÁÙ9  ÕÇòå¦ê‡Þ¹¹|þ¹ŒŒ¤X³&&&Ru‡DôÖñþIåŤ•ÛðáÃ!>ûì3ñ˜¦¦&A@xx¸#S/___$$$¨; ¢2¥§kbÜ8ktìø³g§ª;"¢·ª}û<,\˜‚€€Z8|Ø@ÝáÐ;`î\ <|¨…õë`lÌ!T}ñþIåÁ¤Q5³|y-hhË–%CƒŸDT õ²ðý÷µ‘›Ë¡žT¶sçô°¿!~ü1¶¶ÏÕ‘ÚñþI¯‹nU#wîè`ÇcÌš• CC~[KDÕ׬Y©ÈÊÒÀÚµµÔ URR)°`Amxyå K—§ê‡¨Òàý“^“NDDÕÈÒ¥¦hÞü>ü0KÝ¡U84jÔHî'""BÝaQ%af&ŤIiX»Öü•˜J 6Bt´6æÎåTôâJÞW'L˜ðÆm^¾|ãÇG§Nààà ¶½qãFDür)))¥^“¯¯o…_÷]Æû'½öR‹‹/bذa°³³C5`ddgggøùùáùóÒC—·oߎŽ;ÂÀÀzzzpvvÆúõëK-Ø]üCOÙkL˜0¡T;ýõzöì èéé¡Y³fX¿~½Â×¢(¶¨þM#zC‰‰Z8~ÜcǦsápz'%$$ _¿~hÙ²%üýý_Y~Ê”)8sæÌ[ˆŒÞUC‡fBCCÀÞ½Fê…*¡mیѽ{ìíù¤ºâ¢££1dÈ•µwéÒ% 2¡¡¡J¥8zô(Î;'''•]ãeÌÍÍ®]»¾•ëU¼’²˜t¢·nË–-puuŶmÛàää„„„ìÝ»W®\Á´iÓðþûïË%…¾ûî; :gÏž…ƒƒ"""°wï^lÞ¼Y®Ý+W® ൯€ .ȵåçç‡ 6àúõë077Ç­[·0vìXË•S66¢Ê $Äzz…èÖ-GÝ¡•Ëßÿ›7oâéÓ§øå—_PÈg6Ó20(D÷î9\—JIIÑÄ•+ºðñÉVw(UÞü©TöDÀN:¡^½z033Ãþýû1jÔ(5G'ãåå%Ž‚úý÷ßÕN¥Àû')‹I'z«RRR0iÒ$ñƒeâĉ055…··7œ‡ƺuëñññX°`Xÿ‹/¾€½½=lll0wî\•\C‘o¾ù666°³³C÷îÝÅã{÷î·Ë‘:=«W×\hk ê…¨\zöì '''èëëcÒ¤IÐàJø¤;?Åå˺xöŒC@é?çÎéACC@ÇŽ\Ë©¢¥¦þ7}ÑȈ£fÞ%¼’2øÛ½UGŽANΣ,êÔ©#nÛØØˆÛÛ·oüóÏ?r£ž6l(n7nÜX%×P¤Q£Fâvñ¿‡ŠÛå‰HnßÖAÓ¦ùꃨÜlll°ÿ~\¿~S§NUw8TE4oþ ÏŸKp÷®¶ºC¡Jäöm4hP==~QSÑïñ»Š÷OR†–º ê%11QnßÅÅEa¹¢…^?~,w\WWWÜ60P<”óu¯¡HñëWüC±<±©SR’&¬­ù¸çê &&7nÄ™3gðèÑ#H¥RXXX ]»v1bZ·n¯¿þZaòýòåË066ÆÆñý÷ß‹Ç7oÞŒN:áßÿÅÆqáÂ<~üÚÚÚhذ!úõë‡O>ùššš€qãÆáرcrm>|k×®Ehh(ÒÒÒ «« WWW¥Ê}øá‡¥â½pájÕúïÉ9û÷ïÇæÍ›‰ÂÂB888`èС/}¯”}=TuYYÉî‹))Zprz¦æh¨²HIÑâg&€ääd¬X±'Nœ@jj*LLLàííÜÜÜ2ë<{ö ¿ÿþ;<ˆ»wï"//fffpqqÁ„ àààˆŠŠBïÞ½åê"00€ìóÈÐÐaaaعs'nß¾„„hhhÀ­[·Æ§Ÿ~ŠV­ZŽ=Љ'ʵ÷ã?bÀ€ÀÒ¥KåÎEFF¾òŠñãÇËûöÛoñí·ß}^ÿ⹺áý“”Á‘NôVYXXÈíŸ}°uëVhkkãÀ‡££#öíÛ‡AƒaíÚµX°`Ü455cccÀ¨Q£ðã?ÂÊÊ ‘‘‘èÔ©þüóO 8ûöíCÆ qæÌàÖ­[X¸p!ÆŽ+Nm^»v-þüóO¹Ø¾øâ tïÞ¡¡¡8pàk•[°`A©rÅ­\¹Ó§OÇÕ«WaooÇ# {öì)³Î뼪ºôõekƒåäð×búOn®zzÕ{ݸäädøøø`çÎHJJÂ7ß|ƒ¸ººbÿþý ëdggcðàÁøá‡pýúuøùùáܹshÞ¼9öíÛ„‡‡J-à=|øpDGG#::ÆÆÆ¸yó&ÆŽ ===ìØ±—.]‚¿¿?RRR°ÿ~ <çÏŸtïÞÑÑÑ¥~GdÚ°aÃk¿^^^ˆŽŽ†xlþüùbŒÕ9áðþIÊaï ·bÚ´iøðÃÑ£G¹A7nÜ+—““###|óÍ7ooohiý7 ïîÝ»âö;w^ëu¯Q^å‰H|j]—‘‘Y³f!?_6rìØ±â‚¬S¦L ±¹dÉܼyâ/ÌR©Tüv¹È¦M›ÄÑ>Ož<Á7ß|#&a† ¸¹¹¡E‹dIþ   2ãóöö†··7 _º8¬²åŠ$&&bÕªUâþرcakk KKËRßzQÅ롪¡è¾È>T?3U«V!)) `gg‡¡C‡ÂÐÐ}ûöEË–-Öùå—_Äß½áé鉚5kbøðá€üü|Ì™3GáӪˢ««‹… ÂÂÂúúúðööFÏž=È>»xŸVÞ?IL:Ñ[eii‰åË—CòâµhÑ"„……!77QQQøøãamm-þqdkk‹¯¿þZ¬ÿóÏ?#&&=¢E‹Trò*OlDD),, YYYâ~½zõn ‚€ƒB"‘`Ĉâñ;v //pþüyÄÄÄà£> KÀÑY|T©•••¸]Ö·ßä¾ÍvppÀ¿ÿþûF劜>}ZnDRño¤íííÖQÅë!"ªÊÂÂÂÄíâ÷U ì{ë‘#GÄíâ÷UKKKq;!!/^T*†-Z`þüù3f Ú·o&Mš Q£Føë¯¿Ä2iiiJµEDêÁ¤•[`` $ ~ûí7ñ˜T*…D")õãçç'–™0aNž<‰Aƒ¡°°ݺuƒµµ5ú÷ïæÍ›ãÔ©SrÃb¿ùælݺ...ˆŠŠ‚““úõë'÷‡1Éôº×˜0a‚øT»"æææ†»»»\쇆D"ALLÌKc9r¤\{mÚ´Á„ ÊùN)'%%En¿ø¨Ï5jÈ+šbÜ¿qJ]zzºø”Î7ÂÇÇ&&&J¯c7`ÀññчõYRÉéÏoZ®HÉ?8Š¿V===…uTñzˆˆª²'OžˆÛ%?CôõõÖ)þ9tâÄ ñ¾Zrí&eï­þþþ˜3gΟ?+++üý÷ßˆŽŽÆ§Ÿ~*–áBäD•§r>|¸8TöuuêÔ :uRºüСCK--·_òe¯€€€…çÞÿýrÅcÆŒye]""U277—Û/µ@œrW¤èž©§§‡Áƒcݺud †»»»#44Ë›™™ÉÕß±cÚ·oÿZñik+÷teË)¾˜8 ÿºËZìV¯‡ˆ¨*355ÅÓ§O”þ ):^’™™™xÎÍÍ [¶ly£vìØ!n5 4xeIó"‹6¼®²Ú$¢WãH'ªôfΜ©0©sùòeq»}ûö°¶¶~›aU:022÷ãââÄíØØXq["‘ OŸ>âþˆ#Ä'øÜ¹sS§NE§NäHuww—û¦;**JîÚ¹¹¹hÙ²%V¬X¡º¤$777¹'ÝE#SKªÌ¯‡ˆ¨2ðð𷋆eß[»uë&nGGG—zƒ¿¿?Z¶l)7\YÅïÙe–+þLñ‡û”| ¯£øÈ®¢õ¨üüüн{÷r·IT]0éDï„;wbõêÕxòä ²²²‚ÿû¿ÿ û`)ÏÓ(ˆˆªšš5kâ§Ÿ~1_¿~=âââšš ²„ÓìٳѴiS±^:uä~q¾víZ©¼k×®¯¾úJü¶wõêÕ¸páòòòpÿþ}L:¥¦¿ VVV˜6n܈3gÎàÑ£GJ¥077Gûöí1bÄ´iÓ¦T‹/âã?4l؇R8àÒ¥KØ´i._¾ŒÔÔTèééÁÊÊ ÞÞÞ=z4LMM_ý5¶oß^ª¾ Nœ8!î¿i¹)S¦ˆ†Ø·o6oÞŒÈÈH‚ :sæÌ‘«3dÈ,X°àµ^Um¼?RIÿûŸ,Ù²re’š#Q¯ääd¬X±ÇGjj*jÕªoooäææbß¾}reÏœ9sssäææbÓ¦M8|ø0îÝ»‡‚‚˜ššÂÉÉ C‡…——ÙúO;vTxÝéÓ§ãóÏ?GFF~øá?~999°µµ…§§'ÒÒÒ°{÷n¹:LJ­­- àïïýû÷#11FFFpqq««+|}}åêÌŸ?ï½÷^™q-瑚š ___œ={000€››.\XjŠwuÃûgÕgii CCÃòVߍQbÒ‰ˆ¨òãý‘JbÒ‰H9¼V}ËR36 IDAToštâô:""""""""R9&ˆˆˆˆˆˆˆˆHå˜t"""""""""•cÒ‰ˆˆˆˆˆˆˆˆTŽI'""""""""R9&ˆˆˆˆˆˆˆˆHå˜t"""""""""•ÓRE#'NÄ_|¡Š¦ˆT*55†††¨Q£†ºC¡j*557VwDDDDDDoG:Q•–››‹ÜÜ\u‡ADDDDDDTí¨d¤ÓêÕ«1xð`U4E¤R‰cÇŽÅòåËÕ USƒ RwDDDDDDjÁ‘NDDDDDDDD¤r*éDDDTÒ凗~?`XãG«9"Õ9s Æ5ŒÑº…Òuž<}‚“÷O"!3ÖÆÖè׬Ÿxnõ™Õ((ÕŽwco4³l¦°Ž{}w´µi[ªN|F<ÎÅCJv jhÕ€}-{¸Ös…ž¶žÒñ÷²xuµtaojÎõ;—ÙþóÂç8{wßAnA.LõMádá„Ö- !)ý}XÈD?ކ…¡Üë»ÃÂТ\qUVÉÙÉØqu‡¸?¢Ý˜è™¨1"ÕŠKÃÞ{Qפ.|šûÈÛwsbÒbäŽÙײÇÍ>„F‡âFâ ¹ó“;MVøyAD•ÿO%"¢ µíÊ6¬?·^Ýa¨Ôé˜Óø7ñ_¥ËG?ŽF×€®XqrçEa;gcÏ*]'6-ƒ ›š6øç³JÚk?fÏÂÍÄ›XùáJH$e߆W^û·³¿á§ã?aÎÁ980æ€x<3/vO€¹9vÛ }m}ñ\Znl€ðmoåÚëîÐݺ#-7 .þ.ØveÚØ´Q:^"¢ÊÎÂÐSܧ 3/×®©;•Úp~â3âË<_4¢iã…Pê3EGSã/âç÷ËÑ»ƒ#ˆˆˆ”°ýÊvt è‚­—·"· ™ù™øíìo踪#æü=ç¥ucÓb!‘H`ojÿF1 h9Í¬š½²œ´PЉ{&"· NGëÛ´/>wû‡"aýyÕŽD+š:™‰Ì¼LñøéØÓHÏMG¿fýäNPK¯þçþ¿—¶[K¯jêÖ,5 ƒˆˆ*§»©wáîïz~W®úÞøÓ÷MÇÊW2áDôŽbÒ‰ˆˆèî¦ÞÅü#óáÕÈ ¿ù®v®x¯É{„íFàXô±—ÖÏž ‰4%šåºþñ»Çv/ Z @3ËW'öÝÚ‡¨”(ôiÚç¥ëh?ÚšÚ8€¼çyåŠMA èhéˆÇóŸçržå(¬×¹~gŒwÿÒ¶u4uW ºX‰ˆ¨bH ¥ø2øKŒr…æVÍ_»~À™ü|âg DÇz+ B"z8½®’Û½{7ôõõÑ«W¯×®{úôi9rÐÒÒB||ÙÃZ‰Tf÷n@_(GŸÅéÓÀ‘#@@ ¥°ÏV9×®ãRü%H ÐÚ¦5:ÔíPªLV~NÜ;GPC«ÚÙ¶{­_VW†¯„A©²úÚúë2ö•ån$Þ@¡P3}³RçÆ¹Œƒ¹ùKë+OYŽß=- -x4ðPªü‘¨# ðý-®¦nM41o‚‰7p)þ:Ùwz£8‹üuó/@׆]¡«¥+w²p [çË»±7Z×i-W¯¶AmŒw}yÒ  üL@"¢wÖÃŒ‡8qï2ó2aoj¯F^ÐÑÔ‘+#¤8yï$bÒbðìù38Y:ÁÍÞMé/9þ¼ñ'¤?P:¦OÚ}‚Zzµ”*»öÜZäKó1¹Ód¤>MUúÒB)¾ ùçãÎc×'»`ml­t]"ª|˜tªÄž>}ŠAƒA__ÙÙÙ¯]ßÍÍ nnnØ»w/?æ¢{ô<} $K:•£ÏÂÍMö³w/À>[å|ÿÏ÷ˆJ‰‚£…#î=¹‡%Ç— k£®XùáJ11q*æ&¦–MÑÖ¶-²ó³±òÔJÔ1®ƒU>«`gb§–Ø›˜7D"Aàå@×0FJN ljÚ%J”I\)›wº÷äüÃýåŽ]O¸®ð©te‰J‰Ô5©ûʲv&v¸‘xwß)WÒ©x¼9Ïrp+ébÓb1Êy¦už&WÖÁÜ>Í}ðç?1pË@t¨Û½z£sýΨW«žR×{µ§ˆˆÞUoÄáÈÃp®ëŒ´Ü4¬:µ VFVØøÑFñÞž˜•ˆaÛ†¡P(„w#ohH4°0d!²ó³±à½ðj䥶ø£Gã×Ó¿"è“ hkj+]OZ(Åç~Ž„Ì ‚±®qFIDo“N•˜¾¾>‚‚‚ ¯¯ÿêÂD•¾>$û/Q1É9É0Ð1Àæ7‹ÇÖœ]ƒ%Ç—`éñ¥˜×m`ɱ%°7µÇöaÛÅ䄎ÐsmO$d&(•tzÕº@åáháˆ9^sðÓñŸàî¸i¹iÔrÐK§°²Èßæ/ÎEë(eT=m=@V^Ö_·†V XYánê]Üy|1i1¥¦.î½­mZcݹu8ÿà<Î?8¨oZƒZÂÈö#QC«F™×0ªa„ŒÜªóT'""EÎÅÃ#þ€–†ìϵám‡cÐïƒ0iÏ$쵉ÎoÀƒô8?å¼ø@‹/»~‰þ›ûãFâ ¥’N>Í}T»´PŠYfa¬ËXq„«²rŸçâŸè «¥‹ˆä¸Ø¹¨<>"z»¸¦S%7hÐ ôéÓGÝa)oÐ €}–Jc;ÈÙ~$ô´õ°ãê<“>¢)9)x”ùH,WǸæu›'Ž,R—ÑΣqbâ Ìñšƒf “ƒåaËáà…íW¶—YïÉÓ'¸—z-­[*u¢§ÁÿQ¶n£F Ô:M¹¹Pî¤XñxgxÌÀOïÿ„ƒcâþ“û°yn'ß–+¯©¡‰am†áØ„cØ?z?fu™çºÎˆI‹Á’ãKðQàG(”y½Ö-˜•ˆ¸ô¸rÅKDô.Ñn„˜p€ÖuZÃÕÎɸP(¢P(ÄÄb9- -|ÙåKµ&k~;û¤…RLr›ôÚu u 1¿û|ääbì®±¸ðàBDHDoSµétûömìØ±CÜŸ7o"##qôèQhjjÂÕÕÎÎÎâù°°0„††ììì0zôh@tt4ÈF$}ùå—e¶ûöm>|:::èÙ³'—.]ÂñãÇahhˆnݺ¡aÃÿ£…m۶ɵ£¥%ÿÏ•œœŒÃ‡ãÁƒ000€««+\\^þsᄇ‡£  ...ðôô,U&##ÿý7âââ ««‹N:¡]»v/m—ʰaW죖-þý-[€{÷þ;þÿè–1"áöm XŸÂ¼y@d$pô( © ¸ºÅú,€}vvÀ‹>‹èhàEŸ…¾>ð¢Ï*lÿömàða@GèÙxÑgqépü8`htë볈ŠŠõYÌ›'[—©¸ädY»²Ø_ÑgqáÈÊ*è³ÈÈþþ[ö^ëê:ì³•Š©¾) kÊ«¡UuŒëànê]ĥšQíFXøÞBÌØ7Þ¿y£c½Žp±sk=W|Ôê#¥¯Uk:±0´À˜cðäéè5ÕCf^&6\Øß£¾hmÓZîÝ£QGq&ö B£CÑÚ¦5¾íù­Ò×)©KÃ.Ð(ÿ=‘ƒ¹âÒãŸö¶í_ZöA†l-&æMÊ_I&z&Òz–žXŠ 6`IŸ% Ë9Y8ÁÉ Ÿ¹~†»©w1iÏ$ÜH¼]×wah›¡ ëÌòœ…´Ü4 ‚îÝÑÆ¦ø´<"¢ªBÑÈÞf p&ö ¢GÁ¹®3&ºMDÔã(|ô)š[5‡{}w´³i÷úîJOiSõšNÉÙÉXyj%º7îŽ_Oÿ*ÏÊ—¦K‹§d{7öVøpŒám‡CZ(Å‚³s 6|´á•ŸeDTyUÛ‘N;vìÀ·ß~‹+V`Ö¬Yxøð!víÚ…:`É’Ò¿/Z´6l(u|Íš5 ˵ïç燯¾ú ‰‰‰X·nš6mŠ   øúúbáÂ…HHH€ŸŸš7oŽþù§Ìvž?.w|ùòå¨W¯V®\‰ÇãܹsðôôD×®]‘œœ¬ð5OŸ>sçÎÅdž.]ºàý÷ßGnn®X&$$¶¶¶øå—_ššŠˆˆôìÙmÛ¶ÅÝ»w_ù¾’7nß~ üñ‡üñ}ûd‰#eíØ!kgÅ `Ö,àáC`×. C@AÄ¢E²¤WIkÖ(._Ô¾ŸðÕW@b"°nд©lÊœ¯/°p! +Ó¼9  ÏŠí”è³X¾¨WX¹R¶^Ó¹s²R×®²d”"Ó§sçÊ^kXÐ¥ ðþû@±>‹ÀÖøå 5ˆˆ%ÊÚ¶Øg+W%LŠ¦Òµ²n…ñ!çºÎÅÀ-Ñwc_µŽl¹|o”;fªoйÞsÑᤅRœ‰=Sªž¦†&jêÖDγ$g—ÑϕХa¥€=çœ{i¹Œ¼ ÜN¾ 3}3´³Um¢ÖÊÈ €ìŒ" ™ Øri‹Âò Íbjç©€ÈäÈ2ÛM}šŠ¬¼,ë¿Ö:!DDïEë×=´è{3}3lùx ŽŒ;‚-âNÊLÞ;~é„÷N¼Åhÿ£©¡‰‰'¢QíFoÔÎÈö#ñ•÷WxZð£ƒFãRü%EHDo[µéäèè___\½z‘‘‘HJJÂÁƒ²?$A@«V­àëë‹iÓ¦AGGðððÀÒ¥KåÚiÔ¨|}}Œ˜˜˜2Ûüø1þúKö___ØÚÚâ³Ï>Ã_|?ÿü€l“­­-,Xooo€ƒƒƒ\;Åmß¾3fÌÀ°aðeËhhÈþ˜ ‡‡‡|||.÷aõèÑ#áh±$Ç’%K0{ölÌ™3+V¬Ìž=7FXX˜XΜ9hÚ´)[ªýÇ}¾¾²„ÎgŸ_|¼è³˜7Ov|ÁàEŸ…ƒƒ|;Åmß̘ &åõ¢Ï"<\«l»ø/XFFò‰¹%K€Ù³9sdÉ7@¶ß¸±,)UTÎY²ìÁùÑX¤6Ož>AÞó<¹5†òŸçãQæ#èië‰ßèœ Àˆö#ÐÞ¶=ÚÛ¶Ç$·I8{÷Ç’cK°ÊgÕ+¯Uk:E¦DbÃù èíØ»Ô9G G‰:I‰GªuwèŽîÝQ -€çjOÌý{.=¤òØé×¼Öž[‹·`zçée®9õû¥ßQ -À”ÎSTžÀIÈJ˜ü÷Ä¿‡™ñ}È÷Üj°Âõ¦Š’“/›ê· d"’#pzòiè¨4f"¢ÊâQæ#44“ÿæþ“û€&²‘©ÁÁp¨ís40k€ám‡#); >›|0sÿL\˜úê©iª^ÓÉLß Sܧ”:ž˜•ˆ6®–ÂóŠŒr…B¡?„þ€Ñ;GcÓG›ÐƦJã%¢ŠWmG:3fŒ¸-‘HбcGäææ".N5ߨúé§â¶š7oŽŒŒ qš˜˜˜ÀÑÑ·oßVÐBi?þø#à믿Nàîîoooœ>}aaaruAÀÌ™3åŽM™2X³f òóóR© r¯ßÎÎË—/‡½½½RñQ šš²Ñ?  9Œ%ùôª„“"Åú,$ cGYKE}Åú, d#š22þ›¦&&²d•’}/ú,¾þú¿„¸»Ë’V§OË’FÅ P¢ÏbÊYLkÖ/ú,¤RÙè«â¯ßÎN6²Š}¶Ò( ±éÂ&¹c›/nFnA.>ný±˜ðøíìoøûößråìMíÈ ­N7“n–úæXZ(ÅÉû'¡­©n»)¬§­©ú¦õåFüT4M‰&VX =m=LØ=Aá(«àˆ`¬:µ [İ6ÃTzýôÜtì¸*›¶Û·i_¹sRAŠ%Ç– P(”;ž÷<›.l‚†DCar¯Èƒô°­iË„Ui[.m´ð¿Ï½«®âlÜY4µlŠv6²‘©Á·‚±îü:¹zµ jè†Q©{ì»jL‡1ø²Ë—Èy–ƒQ;Gá꣫ꉈ^SµéTRݺò“®UK6G9»<{WÀÖÖVnßÀÀ¨S§ŽÜqCCC¥®)•Jqýúuhii¡qãÆ¥Î;::"$$—/_–[¯ÉÜÜÆÆòßëêêÂÎθ{÷.š6mŠß~û ÇGãÆáåå%NÙ7nÜë¼l*©V-Ùè!WWÙÔ¯À@ Yé9ìJ)Ñgñ¢ÏBE}%ú, d‰¢}††Ê]S*®_—­ï¤ ÏÂÑQ6âëòeùõšÌÍ}ºº²„RD„lê\Ó¦Ào¿ÇËÚöòúoÊû¬Ú]~xá÷Ñ’ C ÜN¾Ñ;GÃÁÜwSïâXô1tmÔ_x~!ÖéÒ° ¾9ü þ¹ó˜5@V~ŽF…MMLï<]m¯¥i41o‚ñŒ‡w#o$e%AOG—‘ž›ŽU>«ÄGX+¢©¡ùÒ¤Ùê3«ÅÅÓï=¹ÿpÿW®7¥¨Ž{}w´µi °¯e½ŸîÅü#óáý›7<xÂÞÔyy¸qéq˜ÕeF;.ó¯smx^ø‰Y‰øçÎ?È-ÈÅ x¯É{b=+#+t²ï„mW¶!<&ζΨ¥_ ÉÙÉ8} RAŠ¥ï/…“eÙO;’Jå¾p!"ª ’³“±ãê\yxPϤúoîvž›Ž¿oÿz&õð‹Ï/âl;ø…û!6-­ë´œŽ9G™°¨×"µ½–â¢R¢p(òP©5454ñ¹Ûç€}7÷!&-ùÏe_(ú‡ûþ–=>hö`¼ëx …Xzb)> ú#Û„½©}…}dë}ù¥ìççŸ+îz²iq%½å> MMÙSû®]îÜJôY¼è³(Ñg‘’"›6X¬Ï"/O6N_ÿ¿dÒâÅÀäɲ©zîî²EГzš=»ôîôÖ´µi+Žº)â\×Îu˨!cihùÒéUêä`.[;#*% 65màÙ@ÁÓ0ªai¡ϤÏäþ`(2±ãÄ׎åuêØÖ´…m ÛW¬€k+b¬küZ £—[ £Fot}"¢ÊÆÂТTRÆDÏ Ì¼´ž¾¶>¼yUdho¤èsóeŠF4½Ê‡Í?TEHDô–q|º’pçΤ¦¦ŠÇvî܉´´´·ËìÙ³ ,@aáóµÃÃà 777xxÈÿ2_XX???¹cþþþxúô)ÆÙA‹/.•X*šÆ'•ªw=•wÚ?YY²…·gÍ>ùX¶L¶¨vEqp%yŠõYìÜ ¨¡ÏâEŸÅ‚@±>‹ðp 4ps“-(^\a¡ì)yÅùûOŸãÇËMdI§’‰¥¢i|ì³TI8Z8"’#ÔÉ»íQæ#dåg¡‰y“W&""""µ«v#âãã±nÝ:qÑî… ÂËË ^^^ðõõExx8 :t(Ùæúõë‡N:áý÷ßGRR´´´Ð¦Mܺu ¾¾¾pww‡£££Âö±fÍDGG£°°¾¾¾èÖ­ììì°aÃÄÄÄàÙ³gðõõE—.]Ð¥K—2_Ã!C€¹sç"** ;wFBBöìÙìܹ‰§OŸÆ‘#G˜˜kkk\»v ½zõBóæÍ OŸ>X´è¿9ß½{÷ÆÄ‰±oß>4iÒøë¯¿P¯^=,X° ‚þUª°ƒeI??Ù"ØËÖB²±´µeÉ“ÈHÙ:O%“.Eâãuëþ[´{áBÙ(//ÙÓâ^ôYÈÚxÑg1oЯЩðþû²§ÞiiÉFݺ%«ëî.[SIQûŽŽ²»££e __ [7ÙšJ6Èž€÷ì™ìx—.²Ÿ² "[ì{î\ÙT¸Îeû{öÈbÞ¹S6]îôiÙB뉉€µµltT¯^²ÅÌ#"€d£ÅŠõYôî LœìÛ'E•‘![?«^=Y’‹¨Ìê2ëµÊl9—ñÙŸ¡—c/´®Óýšõ« èʯhm¦—q±s)5-²¢:ŠóÎãhÔQëch›¡oõúDDDDT>Õ.éTäã?Vx¼[·nèÖ­ôˆzöì‰[·n!$$éééèÕ«¼½½±fÍ[fûeôY¼¢Ï–Z£iÆ Y[‡ÉiuëÊq ú,&L-">c†ì©v.ÈŸ9³trkÛ6àáCÙšN±±²Ïûõ“½'ì³TIXZâ踣»öVŸbW•˜ê›bºÇtx6ð„‰ž‰ºÃ!""""%H„¢•¤ËÛ€D‚   äwu‡CDDïœg9Øxa#n&ÝDFnàSçOÑá‡\¹ôÜtLÚ3IÜÿ®çwhT»Ñ[UžIŸaݹu¿Žù=棉yu‡DD*ĤU¨G™Ðg}´µm‹íF õi*]€§Ïž–*ë`§bÑ?‹põÑU5Dûfž>Ç–K[°öÜZdäf@*HÕ½C¤…R Ù:YùY˜é9ÚšÚX¶ IYI¥Êè`jç©Ø{s/v]Û…ìgÙjˆøÍ„F‡baÈB}ñ$û IDAT¤ç¥#3/YùYꉈTL%I§Í›7ãÌ™3ªhŠHåBBB0}útu‡AÕÔµk×`kkûê‚UØö+Ûñ´à)¾îö5š54·jŽº&uK•5Ó7ƒ™jêÕ|ÛaªÄÿü?¤æ¤b×'»ðÑïáñÓÇꉈˆÞ!gbÏàVÒ-|×ó;ôqêhjÙÚšÚ¥ÊjkjÃÅÎã/¾í0Ub×µ]Xsn ÷YŒ «Aøëæ_ꉈ*€J’NÄÁƒUÑ‘Êݸq7nÜPwTåææª;µŠM‹Ô1®#s²pRW8j¼Ëx8˜;¨; ""zG}fZY‹ÇJNE¯*œíœÑ¯y?èhê èjºÃ¡7°zõPܼÙLJµµõ«+Pµ¢’¤SPP¬Š¦ˆTJ"‘`Ú´iX¾|¹ºC¡jjРAêAížIŸ4$UÿÙL8Ñ›(úÌÔÔÐTs$Ͼ–½ºC •x[Ûæøã­X¿~=>øàLœ8õë×Ww`TIpM'""ªã/bÙ‰eˆzø4èSH AcóÆø¶Ç·€¼çyØ~e;ÎÆž…T¢™e3ŒrUª­°õòV€©¾)õZ„-—¶àzÂuH ¥hU§F´=¥bûdû'*·Þ’‰ž ~íÿ«Re‰ˆˆÊãiÁSŒÝ9‰Y‰€ýˆ€3€Ío§×Š<„C·!#/v&vÖvX©¶î¥ÞüCóÄý¥}—"ü~8Âî…!ûY6ê›ÖÇð¶ÃÅ)ﯲèŸE¸‘¨ü¬¥}—Ên¦ªN }ûÎ…Ÿß# ï½÷úöí‹™3gÂÊÊJÝ’š1éDDD¢¡YCLí<Ë–áRü%|îö9´5µaXÀìéJ}Ñã2©TªT?2Ë£!Bñ#•¦©;á ¦«¥Ëئc9üð0[nl¡³SgœË:f=M:<‰·wâæèF¯Z½x—üŽ)G¦`¨k(×–…¡c›ŽeóõÍyt„qûÆQÕ¬*]ªw!ê]«¯¬fçí¬ìº’¦vMsŒíÛêßÒªR+¥ûRZ¯t.z.:::|÷ÝwtîÜ™ƒ²hÑ"Ú´iÃСC>|8ºººêQP1è$‚ ä‹Òz¥iX¡¡ìËgýòõÑÕúð…Ãë¬÷_Ýgbˉ|ßà{Ùö:Öu財 :š:²mVFVXYQR·$ÏÞ>cî7si]©5-*¶ÀÁÔ¡»‡2õèTVw[cl Ê7PU7A(˜1£7n´`øðᘛ›«; á £)Ѥa…†Üu€ªæUiX¡¡lÿ‰€ì¼½“–[âÕÙK¶½]•v´\ÕR®­’:%iX¡!ÇüPÓª&“[M–íoU©ÍW4çÇý?â;Ò=m½lcs´(žy…ü¡©©I§Nh×®6l`Ù²eó÷S–†ÙçÌ)S²ŒÂ¶Œv2ÚÍŽÈé$|kkkÖ¯_ÏÖ­[™={6·nÝâÏ?ÿÄØX¹<œBÑ'A„§¥¡…–†ÉiÉ$§&+äMzŸò>˺ É ™nKŠ@_[?Ç㋜N‚ dFOOÒ§OöìÙÃâÅ‹9räãǧW¯^hhˆE‚zd,Ëø¬ûXÆï²’Ùçfüûøôvµ²_Z"§“ðù$ }ûö¥fÍšŒ=š=z°nÝ:Ê•+§îЄ A„'‘H¨m]›«Ï¯âæGmëÚ²})i)FfY76)–—1/å~Eˆ ,6 ssÊ•Êù ŒÈé$Bv´µµéÞ½;nnn¬^½š?þøf̘A­ZµÔžðª[®.‚/à懋‹Ü>ÿ×þÙÖ}þGsù¼L3—ꔫ“ã±EN'AUjÖ¬ÉîÝ»ùþûïeOU«VUwXB>?×䳸¸8*Uª„›››ºCQ™âا/ÉÕà«”[šyGæ©;•)Ž}úx¸x !Ñ`Ä$Æ&Mc¡ïBÙ/°™ÑÕÒeÞ©y$¦$éKõfŸIJZ £¿D")øA(þôôôððð`ß¾}Ò£GfÍšÅû÷ÙÏ,Uë[§/&ú&¬¿º^néøã㜠>—mÝÍ×7Ë-Yßt}ÃÒÁ±¦ù³ dÆÜÜœíÛ·cggÇ€xò䉺Cò™tÊgR©”´´´"—0ÍÀÀ—L÷Õ> éÒ¤i²÷°¨¸| ÉP SöLÉtQìÓ—àZÈ5Ü·ºs-äw Ä}«;4¶iÌ¢N‹Š â«e_ÑeCš¯hކDƒúå드–ŒûVwV_–q c¾®ü5mW·åÛßÒhI#Nœà׿â^Û½Àûù±›/nâ¾Õ÷­îD&D’š–*{}*à”Zc!ï*UªÄ–-[˜3g;wî¤[·n©;,¡y—ü÷­îl¾¾€y§æá¾Õ}÷ö`ªoʦ^›(S² ×uÄm­VµbÇíô¯Û€ßÿûñûÇ+´=¢ñ†îJÇui¶¼ÿƒ.Õ»0¯ƒz¬KLI”}Fž J8›~t:î[ÝY~AäR,Î X½z5666ôïߟ—/3Ïã)by]>344,v£·Å±O_’†v yëýVÝa¨TqìSqà`êÀئc¶œð´ƒcÚVi‹ÿk’S“±7µÇPׯ“”>ûɬ¤™B;ЦrG<&%5…Êf•s|äsA°3±Ë´ÏûA(º$ ]»v¥^½zxzzÒµkW¼½½³ü‘NrCWK7ÓÏòÆåeÿ¿ªyU~À7¼M|‹u)k, ,xýWWJh—Ph£ŠY >À“7OˆMŠÅ¦´M¦ñ(hÚÚY~ff–ü\(^ôõõY»v-={ödäÈ‘øøø §§þïr‚ê‰A'A!_”Ö+Mà s,§¥¡E5‹jr۔ɡ£©ƒ“…SžãËÆzÆJõY„¢ËÆÆ&MšÄ÷ßÏÔ©SqwWï,K¡èÓ”h*ýùaoj/÷Úº”5Ö¥¬³­#‘H¨X¦bžãËšÊ÷Y(ž Yµjß~û-S¦LaáÂ…êIÈ…fyÝÇéÒ¥ ¥J•B__Ÿ pàÀZ·nD"A"‘0dÈYùׯ_ãáá­­-:::˜™™ñÝwßqëÖ-Y™={öÈêJ$‚ƒƒéÙ³'ÆÆÆ˜ššâææ–éŒ¼´ýèÑ#zôè©©©lÛš5käÊ$&&ÊçÍ›7Œ?tuu)W®­[·fÆ $$dþt¦¬êëèèPºtiÚ·oÏ©S–p,X°@vüråÊqõêUZµj…¡¡!úúú´hÑ‚óçÏ+”çüùó²ºZZZ™ö;»>eS^ß—‚vèî!Ín„Þ(=Œ=Œé¸¤#â5\ ÉP ’¡¶\Ú"+'äÝWvÇlœ:#t°ùÕ†¶þ@xl¸¬Œ§§¬n£Ù¸t—y.èÒ§ÜÏåµuñIйlòÒ¶¯¿/Mç5Å`´’¡ªO­®PæS÷^Þ£÷_½±üÑ’#KPqREz¬êÁÑ{G•zÒ×ÇõuFè`ý³5×äÉëï§Û7Y }×ôeóÅÍ8OwFo”&cM賦!Q!råëϪÀ¬ƒ³du[ÿÙ:Ó~ç%¦¼¾/‚ —IWW—… 2f̦NÊêÕ«s®$‚ ((_¾<‹-bß¾}ìß¿_Ýáù P :иqc®]»ÆîÝ» gýúõ,^¼˜;wî ««‹T*eÍš5„††R¿~}vîÜÉòåˉŒŒäôéÓDFFÒ¸qc.^¼@—.]J¥tîÜOOO<==yñâ;vìàäÉ“ôîÝ[.–¼¶=|øpFÅóçϹtéššš e>FýúõÙ¾};‹/&""‚ëׯãêêÊ AƒXµjU¶ç,£þ¶mÛdõ/_¾Œ¾¾>­Zµ’«Ÿ~ú ©Tг³3oß¾eìØ±Ìœ9“°°0Μ9Cdd$-[¶Ä××W®|É’%ùꫯJ¥H¥RRRR2íw^bÊËûRÐv^Û‰Û7´5µ¹2ù !ÿ Á³µ'Ö MšF[§¶HWKéÛ¨/§ž¢áì†<‹|Æññlj\ÉÚkÙg?f7"2>¯^^HWK)¥WŠ—Ñ/ñ:æÅ¦Á›xõç+ƵÇŠÓ+˜¶š\,yi;0"…GòWÿ¿ˆXW//…2Ÿòõ÷¥þÌúEqhì!¢¼£8ìy©TJ[¯¶Ü¹í9˨È¡±‡ˆ\É®»¸|:Ôáæ³›s€¨ÅQœxx‚}·÷±{än^-|ÅÚk9âw„&s›ÈÔŒ9ÀÕÉW˜Üa2ÒÕR¤«¥\é>åS^Þ¡`|p÷­îG™‰ûVwvÝÙ¥î°AøÂ=šß~ûùóç‹'¡Ð|ˆûVw?< Àøýã™~lºš£„¬5mÚ”>}ú0}útÂÃÃs® )…bÐiÒ¤I¼}û–ŋӦM prrbÛ¶mÄÇ+Î.˜8q"OŸ>åÏ?ÿä›o¾‘•÷ññA*•2f̘L3dÈ7nLÉ’%iݺ5:tàêÕ«DDD|vÛ¿þú+®®®èëëÓ°aCRRR(S&ëµÈ'N$((ˆÅ‹ãææ†¡¡!L™2…víÚåxÎ2ê{yyáææ†‘‘•+WfÛ¶mXYYáááÁ«W¯äêÄÇdz|ùrÙ9¨W¯[¶láýû÷Œ›ùzêÜÈKL ÜûRRÒRðôñD[S›ÃwPúº´rlÅïn¿+ÌøI“¦ñýÆïIIMaçð8—wÆ@×€ÖŽ­ñîåMPD³ÍV8NxL8KÝ—bofa CÆ·¹¡9‡ïþì¶ccÙ0hŽVŽ”Ð.ÁØVcñ›î—eŸÓ¤i Þ0˜Ti*»Gî¦N…:èiëQɼ[†lÉt@'³ú)i)챋:ê` k@‡&lºØÄX†l¢PO*•²ùûÍT2¯„‘žßÖþ–é¦ó<ò9³*ö+7ò“2ï‹Pð:8v`[ŸmÜýñ.~~À¶>Ûè^³»ºÃA ÿþ²§¿ÿþ[Ýáö¦ölë³ó£Ï0!€¿ûÿÍÔ6SÕ– dë×_ÅÀÀ€ùóç«;AÅ Å Ó‘#GhÛ¶­Üv333ªV­ªP~Ïž=hhhàææ&·ÝÒÒ'''®_¿NHHˆB½úõë˽._>=1ßÇÙòóÚvƒ ²ë¢‚ÿý€öíÛ+ì;|ø0žžžJÕïСƒÜv]]]ZµjEBBÿý÷ŸÜ¾’%KR«V-¹m5jÔ lٲܾ}›ÐÐÐ\õA1rïKAºr‡ÐèPjX× ¬qY¹}Í*7Ë´|PDÎå±1µ‘ÛײjKöÜÜ£PÏ®Œ¦¦²×‰ëÒÖ¼|û¡ßym»¢yELJ*Ÿ òNÈ_R½luÊ•.'·OWK—·Þo©U¾Vµ?Ô¯a]ƒ &äöÕ,W“r¥ËqãÙ žE>“ÛW϶žBÂ˶ÕÓ¯‡ý>o'¯1)ó¾‚ ÂÇú÷ïÏÈ‘#™::€R¥²ž}ñøñcÊ•“¿yþ´¼ŽŽ€ì1ëŸÓvÉ’%³,ÿ©Œã”(QCCC¥ë)[ßÂÂH_îö1ccãLÛ377çåË—„‡‡cee•ëx>'&Èù})h¯c_`f¨øÄ,ÆhjhÊm{“>{ëúÓëH†J2m3("ˆÔ´T¹º™ÍÒÑÔ!Mú¡ßym»¤ŽòÇÜÈ5nÜ8üýý3f ûöíËvÆ» ‚ ¨]»vÔ«W?ÿü“7ª;AEÔ>褫«‹¡¡!±±±ÄÅÅ) <}º¦SWWcccâââHHH%¸VU,ùÕö§Ç)UªÑÑÑÄÆÆæzà)§úKØ,--å¶¿yó©TŠD"?x‘qŽÍÍ?ÜœZ&¿b*Œ2›2Ÿ>IjZªÜ6K£ô>5¯ÜœÓ?ŸVi,ùÙöÇ,ŒÒÃcò6ГSýŒ ËRòïDœâÊŒÁ¦ŒÁ'ÈýßãçÄ$‚ y!‘H˜?>;wfÊ”)¬\¹RÝ! ‚ 9?üðÄÏÏêÕ««;A ÅòºŒ%fËì2„……áïï¯Pþ»ï¾#%%Eî©kæÍ›G… d‰¯s+?ÛþØ·ß~ À¡C‡öÕ®]›qãÆ)UÿàÁƒrÛ“’’8qâzzz ˹zõªÜ¶»wïòòåKœåf9éëëóþý{Ùë*Uªð×_©<¦Âȹœ3eËr÷Å]…%U¾þ¾ åk–«IEóŠÜ¹MtB´Âþö‹Ûã¾:oRÎ϶?=޽™=w_Ü•{r¤¾éŽÔeï­½JÕÿt¹Ú;„D…P§B…enן^çÝûwrÛþóK_‚Ù¾ú‡¥§ú:ú¼OIÿ› E2T‚ÿ+ÅëÃçÆ$‚ yeddÄܹs9qâPw8‚ EŽ‹‹ ÕªUcíÚµêEP‘B1è4{ölLLLðôô䨱cÄÅÅáççÇ Aƒ23gÎÃc»Wƒ¯ò{ÇßóK~¶ý1 ‰k¬EKC‹î+»sãÙ ’¸ûâ.ÝVv£mÜjºåª~|R<Ÿ\Ä}µ;†% Y=@ñ©>¥õK3`݇?&61–=7÷0ußTÊ›”gr‡É²rféq)𱉱l½´kckÌT“ ‚ |ކ Ò£GæÎKbb¢ºÃA(rúôéÃÑ£G‰‰‰Qw(‚ ŠA'.^¼HýúõéÖ­ >œ‰'bgg‡¦¦|sss®\¹B—.]=z´,áø?ÿüÃÞ½{éÑ£—.]B"‘°woú ===¦L™¤ßÌÏ›7HŸY”‘8üsÚþt О={ÊôíÛH_fvõêUzöìɘ1c055¥AƒDEEqöìY*TÈ~öEFýÞ½{ãáá!«ÏñãÇ:t¨B–,YÂôéÓ±²²¢Y³f”.]š“'OÒ¼ys¹²^^^Ô¬YGGGzöìÉâÅ‹qttTªO9Å”—÷¥ u­Ó•ƒIIK¡þ¬ú”ÿ¥<+N¯`í€ô÷Oó:5­Ô”«“¯bfhF;¯v”S —y.D'DsaªZ¦'ÄŸ{x.’¡¢¢¹tÉP Ççô£ÓH†J¸t™è„h$C%,øoÁg·íú?W¹8=}<ʬ9»×*®\™|SÚ{µÇØÃ˜.˺ÐЮ!=*ôùSõíÊØÉê·â;êÚÔåÆo7¨S¡ŽBv è׸=WõÄ|¼9ƒ7 ¦­S[Îÿz^.§–Ž–[‡låuìk,Æ[°éâ&¶ ݆¦†¦R}Ê)¦¼¼/‚ ‚OOO¢££Ù´i“ºCA(r:tè€D"áðañôèâ@"ýôùï¹m@"aÇŽ²ÁU«Zµ* <}ú4_ÚÿRÔªU‹ˆˆˆLŸ¼WœI$<==Y´h‘JÚ ‹Ãê'+ú7îÏÆÁ"¹]^½}÷–ÒcKÓ§a¶ Ù¢îpòU÷îÝصkW¾´ÿêÕ+âââ”*[±¢ÞÞ¯øæåÊ ‚ |)òãú¸`ÁvíÚÅÙ³geIŠŽ1cÒgç/YòJÍ‘Bá–_ß/GM\\6lPi»BîYXXdúÐ7%í*3ÂÂÂ011!99Yn{pp0Ož<¡eË–jŠLøRù\õ¡ã’Ž Û?8@˪âoRA„¬õïߟ˜˜‘ÛI!š7oÎÕ«WÅ2åb@íO¯ËÅðáÙ>}:¦¦¦øùù1fÌŒŒŒøí·ßÔžð:x÷ Þ'¼éÛ¨/ |ý}ùy÷Ï4°k@ï½Õž )d奕¾ $)% €Cߢ²Ye¹rÀs¯':š:Üÿù~Çš•5—×0÷Ô\, ,8?Zñ…ѰÝÃ8p’qÍÆñC“”®×sKO®‡\ÏtßÀz™ÒzŠªB„bÉÜÜœ¯¿þš]»vñÝwß©;œ|•ÀÅ‹yòä X[[Ó ALLLäʱÿ~Ùkcccú÷ïŸcû‡æñãDz×ݺu£lÙ²ªë@!sïÕ=果˽W÷ˆILÏi3µÍTúÕí'WîuÜk/m,{½»ÿnj•­U ±fånè]¾Ýø­ìõ‰á'°)m£Æˆ”³îê:fŸ˜MÛ&lê¥üòØ?ÏüÉò Ë3ÝçháÈþAû3Ý'd­iÓ¦$%%qíÚ5\\\ÔN¾ù®Ÿ…b¦“¥¥%ÇçíÛ·²}:WùO;ÆÌ™3¹sçþY¸o‚Ož<‰››sæÌ‘mKMMeèС,]ºkkkY~C;;;<<}ªQ£F”-[–Ó§OsïÞ½LËÄÄÄàããCçÎUsa–ñ™YZ¯´š#É_Kº,á쨳ëŽïk.¯!þ}<.êEøˆ££#<ÈUqýLW˜®ŸbÐIAÈW©i©êዳëö.G}}Ø~s;gÏ÷>;;×L·šÝ”ŽOUm~ÚÏu=ÖÑ̾YŽÇïïÓŸ Á”Ž÷¿¡ÿá`êc¹Ô´T~9ø ß7ü' 'ÂbÔ>Ƨn½¼E¿íýxþ€ÄäD*”®@Ç i0D©ï‚"+++RRRxóæ æææâúù‘¢tý3A„|Ѧr&кRk ýKsÀ„Ù€ÓÓ¨§tßÜ»¡wYÚe)—=.3½ít–ž_ʳ¨grm}œÄ;&)†?ŽÿÁøfã¹ìq™í}¶Mßí}¹òüŠÒñ©ªÍOû©¬G¿<"`B€Rÿ);à0ñÐD::v¤±M㜠ç :1š¹ßÌåŠÇþéÿåŒË1~ÿxf›ñÙm —¢|ùò¤¦¦ÊŠ+hݺ5¾¾¾ÄÅÅqñâE¾þúk†U|ÁÊ•+Ù±c‡ìuDD>>> å.\¸€···Ü”¤¤$ÆG‡8þtµtyŸúž~Ûû±ãöÆ|5† £/°®Ç:î‡Ýgß½}rm}šÄ{òáÉ´®Ôš“#NrtèQ*•©Ä„CXyq¥Òñ©ªÍOû©¬M½6)ý™0!@©'€Õ—Wó>õ}®žîš•ÐØPF6ɉá'8>ü8]œº°äÜÜ·º“˜’øÙí‰2y^½z%®ŸŸ(J×O1ÓIAP‹¾ ˆIŒaö·³q±Kn³*Ìï0×®YÖKHN`FÛ8š§?E®†U v\H‡µøãøyz,q~´©;nï 8*˜åßeþØæ\µÕw‡Ük{S{¸- (2ˆM×7ѹzgœ­œ?û8‚PÜeÜ4±hÑ" ÀäÉn¸9ÂèÑ£e¯›5kF³fÍX¿~½B[æææxx|È9ãççÇêÕ«©S§³fÍ’mŸ1cû÷ïgÆŒ¸»»Ë¶Ož<™yóæQ©R%\]]([¶¬\›Ÿ+--I“&¡­­ÍâÅ‹ÑÐÈþ7î^½z±råJ>ÌØ±c±··'!!õë׳i“ò¬/îvÝÙ…_˜ýêöývú{j¬gÌ´¯§Ñq}Ö7¦½jõ¢}Õöê²ÀmWŸ_eñ¹Åt«ÙM–°<7ò£Í‚ö8â1Ë/,gGßhi|Þmñøfãßl¼ìu©¥ÖhQ Q¬¾¼š×62¼ÑðÏ ù‹c``¤‰ë§¢¢rý3Aµ8x@aZ½¹9v&Y¯Ã×ÓÖ“ e¨bVss¼z@x\îMž_m´—1/™{r.ó:ÌCO[/ߎӮJú´ðOäÛ1¡8)Y2}™k\\‰„Ç“ Ûߺuk¥nZÊ”)C¯^½d¯ÃÂÂ6l¦¦¦¬\¹ ýÙ»wï¦L™2ôîÝ[®aÆdzC¦ R©” &àïïÏÖ­[111É±Žžžƒ&--+V°}ûvêÖ­+·\äKçûÄ@áቄåd[·^¹zr¯µ5µidÓˆäÔd.>½˜§xò£Í‚”*Måç?3¬Ñ0-s®Gs'NæÛ1г%JéËÅÄõSQQ¹~ªd¦SÏž=éÙ³§*š•óòòÂËËKÝa_°Ì~éÞ§¾'þ}<ºZºèkë+ì7-iJPdP¦ut2ÝnªoJx\8oâß`n`ž«xò£Íœ¨:§ÓÉ€“Ä&Åâ¾Õ=Óý‹Î,bÑ™Eœ~›Ò6¹ øÿeœ‡7ñoòT_¾47MšššÌœ9“Ù³gÓ¤IZ´hAíÚµiÞ¼¹R7Mfff²›¦„„†JBB›7o–»9yôè©©©”(Q‚%K–ȵ‘–– —Ø\•9IæÏŸÏ­[·Ø¾};¦¦¦J·Ù·o_V¯^;}û6lkÖ¬)e,EIä»H ýóñS™mû˜Q ÅÏ8Sýô:oÞåíZžmfGÕ9ßâæ‡_˜^gï._ âÜŠÌn?›Îy{Ô¼øÌü<ƒAZZZâú™…¢pýTÉ Ó7ß|CåÊ•UÑ” ¨”——NNN´iÓFÝ¡_¨ƒŠA§LèhêPR§$ñïãy—üNaàémÂÛ,ë¾M|‹T*E"‘ÈmÏø’›Ó—ï‚j3'~y¤ÒöúÖéKß:}¶ï½·—÷ÿȸfãT’³âUì+ Ή G‰‰é¹\ôôôhÛ¶-:uâüùó\¹r…72}útÚµkÇÂ… ÑÕÍ9ÙpZZžžžøûû³víZ2¿±ÖÔÔTئ¡¡!»AKMMÍ´L^mÞ¼™C‡áãã#»aŠ‹‹cãÆ ÿTÉ’%0`‹/fàÀT«V '''•ÅV˜è§ßg6x‘Ýg&@TB” ²Ï7ý¼]Ëó£Íìlê¥Ú¥B•ÊT"`B€Âö°Ø0\–¹Ð͉JŽ)>3?Ïû÷ïôÁûvíÚ‰ëg&ŠÂõS%ƒN e†„ÂÄËË‹6mÚ°hÑ"u‡"|¡BBBÔB¡Õܾ9‡âLàÙ’-Hÿ"›Õ,'€¤”$î„ÞÁ¹ì‡|B^?"<.G Ç<ÍHÊ6‹²·w²õÆVöÚ+·]*•rèá!ZUj¥ŽÐ¡È‰‰‰Òov6oÞL¿~ýhÙ²%-[¶ä×_eÉ’%x{{Ó°aCúõë—c{sçÎåĉüñǸ¸¸È¶ÿõ×_ 0€ªU«¢©©‰ŽŽN¦3Nž1›Ð˜Ðlëõ?Ê¡‡‡ˆMŠ%$:„ŸüLx\8.yNøm;oï¤âÜŠì¾#¿¤*UšÊÿþÀí—·IHNàUÜ+V]ZŦk›p¶r¦ÝþjЏh‹Äõ3'…ýú)ž^'‚ ä‹cþÇùÏHÙk§éS}w÷ßM­²µ¨`\]ýv1ÿô|FïMJj •Í*3æ«1¬¿¶^–O¡{ÍîÌùfެ}m}¦¶™ÊÌã3¹ñâ©i©Ô´ªÉ–Þ[¨[®nžbU¦Í5—×0÷Ô\YŠs+2ªÉ(jXÖPègg§Î,ì¸0O±¨ÊoÿýÆö›Ûe¯3r:5µkÊúž’`†Ç…£¯­•á‡_׺Tï‚Q #öÝÛÇ ƒ‹ CWK—jÕXÔi«eÿ¤$A>xþü9‰„Ê•+ãääÄ·ß~K»ví055%44”£GÒ AºwïÀ™3g¸uëIII„……áííM«V­x÷îS§N¥dÉ’èëëãíí-wœo„¦L™BBB£FÂÕÕ"##9vì;w¦OŸ>*ëßèÑ£IJJâÈ‘#9rDaFN€ððp|||¸yó&ÏŸ?ÇÛÛ›&MšP¯^zRêæÍ›ËÕ áŸþáÊ•+?~œ°°0úôé“«œ'EALb u¼êÈ^Þ9€ŸšÿĈÆ#ÐÑÔaS¯M,<³ïóÞL?6ëRÖôªÕ ÷Úîxõ¢Û¦nT0®ÀÉòI«§¶™Ê¶›Û˜vt±I±Ø™Ø1§ýº;wÏs¼9µy7ô.ßnüVV¾ÕªVÔ-W—ÕÝV+ôÓÂÀ‚ó£Ïç9U8ðàž{=e¯3¾ƒèhêpÿçû²í©T¦’l[ã øôõaß&šÀ‹èH‘bkb‹g3O׌®VÎK¿EƒNVVVâúY„¯ŸbÐIAÈm*·É4_ÂÇìLìXñÝ …í-*¶È¶žƒ©ƒÜÀ‰*äÔæ†CÒpH¦ûrê§:üÑöþhûG¶ebc¸ùâ&œ:¡©ñ!7ަíª´“[ö(BÞÜ¿ŸòåËckkËßÿÍ£G¸ÿ>¯^½¢^½z 4ˆêÕ«+Ô1b„¶ì–Y 6L–ÓD[[›ùóç3bÄ.^¼HLL vvvŒ5Š *¨®s@¿~ýHNNÎrfyOj×®MíÚµ•>Fƒ hÐ û'´uF%Œrü,1Ð5`j›©Lm3Uaßè¯FgRãCÛÿx£ 9µYêF–ý)ŒŸ™nŽn¸9ºåXîô“ÓØ”¶¡¦UMÙ6‰DB½rõžè'|¾çÏŸ£¡¡AµjÕÄõóÿÅë§tA„/T*eÆñè0®é8u‡#ÅÖÇ©V­šìu•*U²}”u³fÍhÖ¬Y¦ûêׯŸ«cÛÛÛcooŸ«:¹5räÈœ ý?ssó\å?)W®ÜgçKUÙy{'wBï°¾çz…ù#00kkkÙS@Åõ³h^?EN'AAøEÄGðüís6÷ÞŒ™™ºÃ„b)--k×®Q£F u‡"ÂgJ¥|ï.Þ|eû•ºÃùbfù„9¡è3A„B/«|Jã›Ï´|ŹslSO[„ä¥Û,nÌ ÌØÑw‡ºÃ„bíúõëDDDкuku‡"|A²Ê§”Õ5ß}«;Wž_ɶÍO?3sj³¸‘H$üÕí/u‡ñÅ Èõ %¡ð)ðA§çÏŸãááÁ!CèСCA^åŠ[òª(Ÿ/¯ëܼÎ_}®®âºÙ¢¦¸õ'¯Äy(^²Ë§”™Â˜/B„/ÏÑ£G©T©’ø¥^(PÙåSÊ̶>Ûò1AÈ›˜˜7ÞcëÖû¼z¯îPT¢¸õ'+'žÅÕu©©ÒL÷)çAA(œÙ·oíÛ·Ww(‚ EÎÅ‹hÔ¨‘š#>WÏtêܹ37oÞÌ6XQRÜú“•ØØX|}}qqqÉtQ>ÇwçÍ›D*T0Rw(*QÜú“•»w_ãëû©T (&süR΃ ‚P8ýý÷ßÄÅÅÑ»wou‡"‚Päœ?žêÕ«cll¬îP„Ϥ–œNµjÕRÇaóMqëO^Õó`jª‡©©žºÃP™âÖŸ¼çAAP—ÔÔTÖ­[Çwß}‡™™HÔ/‚©©©œ8q‚=z¨;A tÐiéÒ¥ìÞ½€jÕª±|ùr¹ý lÚ´‰S§N‰™™mÚ´ÁÝݹ²ñññlذӧO••nnntíÚ L7kÖ,.\È7011¡S§N™þ!¿xñ‚%K–pûömtuuiÚ´)£FÂÍÍÔÔT&OžÌ£G2íO^«LŸr¢Ì9œ8q¢lºb›6mèÖ­Ë—/Çßß===Ú·oÏ AƒÐÒÒ’•?zô(›7oæÜ¹sÔ­[—… ªä}Íë9ûqqɸ¹ý#{=~34°’+sóf8›6ÝãÑ£H$ NN¦ TGGS…ö®^ cóæû<~…––ÎÎf VS6Ó&³ãEF&²iÓ=bbÞãèhÊ?ÖÃÒ²¤BÛ»wûó÷ßþDF&bccÄ÷ß×Àß?еkï`mmÀªU_gÚŸÏ9nN}RFNçðÑ£H†?&+¿iS{Ž}ÊÿóžÊ•K3jT-…òwï¾ U«²ÇÖ.YÒ ;»RŸý¾~Î9A„M›6ÊСCÕŠ B‘ãëëKxx8]ºtQw(‚ hN§víÚ1mÚ4®]»Æ7äö=þœÚµk3iÒ$4h€‡‡NNNŒ=šFñæÍYÙgÏžQ«V-¦NŠ‹‹ ”/_ž¾}ûÒ¥KÙÀÐÇÇ;sæ }úôÁÞÞž‘#G’””DÏž=Yµj•\wîÜ¡fÍš¬_¿žo¾ù†!C†ðöí[ÚµkÇéÓ§y÷îÓ¦M£fÍšYö'/ÇU¶OÙQöº»»óÓO?áëëË®]»èÙ³'Õ«WgäÈ‘”/_žáÇóÍ7ßœœ,+?lØ0š5kÆ´iÓ˜6mýû÷WÙûš—sö¹J”ÐdÚ´&T¯^_ßçDF&ÊíŸ7ï uën"88šAƒªÓ§#7o†S³æFþúëŽ\ÙY³.Ѱá^¼ˆeèКôêU•£Gƒ©Vm=§N=Ëôxóç_eïÞz÷vÄÍÍuëîÒ¸ñ6SäÚ:ô?ºwßÀðáÎ4kVŽqãN±|ùM|}ŸÓ£G<<êdÙŸ¼W™>åD™sX¶¬Ó¦5¡L=|}Ÿãî~›7_Ñ·o5zö¬Â±cO©Sg3ÿý,W¾råÒüþ{¦MKÿ¯BC•¼¯y=g‚ ‚Ž··7#FŒ B… êG¡Èñññ¡qãÆØØØ¨;A t¦SÅŠ©X±¢lÍÇúõëÇ£G¸pá7ÀÍÍ5jЩS'†Ê?ÿü#+ÀÙ³ge9†ÜÜÜ033ÃÓÓ“eË–ááá!w¼û÷ï³k×.hݺ5GŽaÍš5 >\ÇÀ‰ŒŒäÚµkÔ­[WÖöòåË9sæ &&&¸ºº`aa‘iòr\eû”eÏa5(_¾<?& +«ô™ :uBGG‡ °xñb~úé'jÔ¨ARR666²þ«ò}ÍË9û\ZZ¸º–çÖ­p…}§O?g„3´mkË¿ÿ~aïÕ«* neäÈc4h`I­Zæœ:õŒ)SÎѺµ ÿÝYVöÛo+R¹òZúô9HPÐ0tu5厧­­ÁŠmdå#"øí·sœ8ñŒìØ·ï kÖÜÅÍÍíÛÝde»u«L•*ë¨SÇ‚† Óß¿Ìúói?•9nnú”•ÜœCW×òìÙó€úõ-Y´¨…¬|ÇŽØÚ®¦_¿CÅÐPW×ò²¥sÍ›—CKK~ü\ïknÏ™ ‚ H¥R¦L™‚‰‰‰J¿³‚ |)^¼x¯¯/þù§ºCT¤ÀŸ^—™ÀÀ@|}}©Zµªl`"CÇŽ)S¦ {÷îåÍ›7ræÌ*Uª¤ÔºgÏžlܸQá¶¶¶²A ===lllxúô©l›¿¿?7oÞ¤Zµj²§ ݺuËSß”9n^ûô±ÜœÃ5nÜX6à”¡_¿~lß¾]É^ª6&eÎY~[·.}ÙÚ AÕå¶khH8Љ´4)ë×ûÈþ÷Ó²úúÚ¸¹9ÏÑ£Á ÇhßÞNîuÕª&<}#Ûæãó€þý«É•-QB+σÊ7¯}úXnÎáǺv­,÷ÚÌLŸ¶mmyýú'N(7ÃJÕ1)sÎAaÕªUœ9s†yóæ¡«««îpAŠœÅ‹cmmÍ×_­îPQK"ñO=yò Ë)È*T ""‚   ¢¢¢xóæÂŒ› wïÞUØfnn®°ÍÀÀ€Ùëàà`Ù, Oëkjf=«#+Ê7£ÿ¹íÓÇrsMM?ä#²°°P(›ÑÿŒó‘WyI™s–ßžÏÞ{{170—ÝtªÒ?wÿ!<.¼P :e8ðàoÞh8šZ…{ÐéBð¬KY+=è@×M]1Ñ7¡UÅVXY)”yÿší7·coj›£[&­ÀßwÿÆÒÐ' '¥ê„Æ„òûÑß¹ôôÍí›cSÚ†×ñ¯Ù{o/žû<Ñxà GC’û ÜùuìOÛMIK!ðM ßù›‡¯Ò¡¿¶øSÅÁ{eÎáÊ‹+iáÐBnÐ&³z1I1õ?Ê´£Óh]©5‹:-BO[í·¶c[Ú–Je*ÉêŸ 8‰_˜ŸÂÍßᇇÑÔÐDC¢¡Tl1‰1l¸¶+#+º×ì.·O*•ù.’}÷÷ñÛ¿±¥÷j[×Î´ÂæÕ«W,[¶Œ3f(ì»sçcÆŒ¡C‡ 8°àƒŠk!׎ ¦[ͼ­²ÈΕçW¸ôôÍ웩}Ð)ÃÍ79t–ZekÚA§ð¸pæšÇ¾ûûJ¥4±m"òɼyó¨Zµ*:tPw(‚ ŠA§:uê`ddÄýû÷‰‹‹“ Â@úüÓ§O)[¶,UªTáýû÷”*UŠððpš6mª0ûhÆŒ$$$d9c(;µk×F__Ÿû÷ïóîÝ;Ù ¤™È/µk×þì>åæ~ÌÏÏ©T*{úÀµk×hÒ¤‰l[ÆSæ2ÞÞ¾}K—.]X¿~=vvòK>7¦ÂÀյǎ=åòåP¾þÚVnß•+¡´hQáÿÿ·žü“é`ÉÈÆ#yþ }PÂÄ—Ìs^zzIé:O£žÒcs¬KYsbø …™1ûïïçç?s/ìKº,‘û<ËI~;§v¯<¿Â¸½ã財 ˾]F3ûfJÇ”aýÕõJ÷%MšÆø}ã9ðà³NÌbf»™tpì@»*ídå^Ç¿– :}Ó“7O”ŽmpýÁ„D‡°áÚÊ•U(Ó¦rÚTnCTB ½²íæ¶"1èK¿~ý ä믿–K‡ððáCŒ³³3sæÌQc”Bq0ñÐD‚"ƒ¨W¾¶¥mUÒ¦¾¶>.,»°Lîú[öÝÛGpT0£¿-78¯«¥‹‡‹믮çlÐÙ)7ÎÃsŸ'ýëö§]•v~xXÝ![»wïæìÙ³lݺ5WŸåBáW(r:•(Q‚Y³fÍøñãIII"Tbb"£G&99™  ¡¡A‰%˜3g!!!Lž^^×ñóû° b÷n._Ícïr¦Š> 7‡‚ IDATåæ~léÒ›<{ö!WÒ’%7¸sç5={V•åR¨T)ýéuÁÁÑH¥àãó ìÿæ5&!ïÌ ÌYà¶€n ÔŠÊ,¿°œÝww«;Œ<Û~s;®+]Ùzc+ É Ä$ŰêÒ*/mÌÄó­û4ê)‰[ÛÏŠ¡kÍ®8Y:åX.5-•‘ÿŒ$!9•]Wfº«cµŽüÐäŽ<:ÂÚ+k?+®‚:vƒò Øâ¾€1{Æð2æe®ãÞh8†ŠKä3£!Ñ`x£ô¤Ö{ïí%UšJïZ½©hZQ©úí«¶§Aù¹Ž1;¥õJSªD)‚£‚UÚn~HIIaĈ<{ö ¦OŸ.ûîÖ­[ôë×'''V­Z%ò8 ŸmvûÙÌi?GeNê¶ÿÁ~¼Ïy#EªîPòDKC‹}wâáâŽ¦ŽºÃ)¶BBB˜9s&C† ¡~ýúêGP±½Û_ºt)®®®ÄÅÅqÿþ}\]]9x0=ÿÅèÑ£Y³f À‚úõëciiÉÕ«WÙ¹s'½{÷–µ3räHÖ¯_Ï–-[°´´¤aÆØÛÛóã?²iÓ&Ú¶m À¶mÛŽwýúunݺ…«««lŽ««+;vìà÷ßgÒ¤Iüõ×_XZZR¯^=ê×¯ÏØ±cÑÐÐxʪ?y9®²}ÊNnÎa777"""°µµ¥nݺØÛÛóöí[öíÛ‡³³³¬œ‘‘“&MbçÎÔ­[—Þ½{3oÞ<ôôôTò¾æåœ}®¸¸d\]w°téM~ùÅ—îÝ÷Pª”.gÎôÂÅŚƷâä´ž*UÖÒ¦Í.:wvàĉ²'·épæLoêÕ³¤V­8:®£~ý-ØÚþ…©©û÷';æ×_ï’;Þ˜1'ðô<É/¿øéƒ.íÛÿ ¤ç:~¼;úÔ®½ gçTª´†¿ÿögôèô_†3þ$³ëOn››>e%7çðc'6ÄÍíj×Þ„Í_Œ{’~ýª±~};¹rÇ;co_ŠfÍ|¨Vm±±ï=º¶ÊÞ×Üž3!k]ªw¡‰m“œ ùîÉ›'L=:•–[²¹÷fUhD»*íØÑwýëöçTÀ©lë'¥$¡!ÑÈs®ªÓONs&ð ]kt•-­ËξûûðíO‡j²ÍýÓ¿^´5µYyi%‰)‰yŠ­ mgbGŸ:}ˆ/—×$'»nïâAøF4‘«|HeK¥/IHNàmÂ[Ük»S±ŒrƒNíª´£~yÕßèh꘬š÷+¿H¥R&NœÈµk×HII!--§OŸâããáC‡èÓ§µk×fåÊ•bÀIP‰úåë+̤Ô§‘M#ìMÅ“ŠU!«T5ïß¿çǤ\¹rxzzpTBA(ÐåuíÚµ£zuùY/­úþûï4h="22’2eÊP¹råLg 8ððáC¢¢¢°´´ÄÖÖVnÖŒ‹‹ eËʯ·µ··G"‘(äNrpH_& ¡¡Á¬Y³øõ×_yðà%J”ÀÉÉ‰ØØXRSS12úÇ&«þ$''çú¸Êö)'¹9‡þ÷¿ÿ1qâD?~ŒžžNNN™&MŸ>}:#GŽäÙ³gØÚÚÊ~«â}ÍË{õ¹J”ÐdÚ4ùáAÊ–5`Ïž.DF&òøq T©bB©RŠ_*­¬JòÏ?‰ŠJÄß? MìíK)”2¥1ii~éÉØ?p`uºtùWCSóù©YÓŒ;wòèQ$‘‘‰ØÙ•ÂÒ²$cÇžÒˆrêO^Ž«lŸ²“›s˜¡F 3nßȃoˆŽN¢bEcÌÌ“‹ÛÛ—âÁƒÁ<|‰††„ªUMÐÒÒ %%M%ïk^Ι O™ÄÚoÞ½álàYBcCÑÓÖ£¶umœ­œ?m €á¸ôô)i)8Y8å˜#*<.œ³Ag ÇP׺Öuq´øHùÆ‹œ :€®ƒëæêó«Ü ½CjZ*µ¬kÉÍîÈ(ŸœšÌ˘—xŸóÒ5q“i #s.èššÔ*[‹šV5³ùcKÎ-Qú—a}m}†4’c9¿0?Ò¤i˜ê›*ìÚp(f%3Ïá–ás©>ýä4ZZrK·²sÔÿ(@޳lJ•(E³*ø…ùq=ä:_Ùf½ÌVYqì6•Ú°æòŽùcú×Ó•ª³ûîn444ä’‚+ãetúl*=m½—Q¨B~ ]²d {öìA*ýð·Ÿ––ÆÜ¹sILLdÀ€Lœ81O›„)“X;)%‰³Ag |ˆD"¡R™J¸Ø¹ ¥¡xKÆ©€SD'FcSÚ†[d{ü„äΞ!8*- -ªšW¥±McÙ’¸ð¸p|nùÈÊ÷¯ÛŸÈw‘\xz¸¤8lMliY±¥l6PFù 7A@úgZF[Y%⎈àøããÄ%Åá`ꀫƒ«Ò+Mþõû—çoŸ+U _Ý~”Ö+­tyáóü½J¥R~ýõWüýýÙµk—,¥‹P¼è SÅŠ©X1û_Õ444ptTî‹”D"ɶl… ²|rZVËÕNž<ÉÙ³g™:u* 6”m¿y3}ÆCݺueÛ²ëOn›!§>)#7ç0ƒ‰‰‰\³bii©°¤Nïk^Þ«Ï¥õìÝwX××Àñï² ‚€€R X¢ÅÞ5бkLbI4Ö&&¦Ù#Ѩñ§&ö.±ÄÞÐ`o± ˆbAEš H‘öþÁËêº ‚KâùäñyÂÌ;gÝræÞsõõ4êiciYš 4‹åjca‘wÛ¦Míµn±†Ñó ø‹©SkLg;w.3³Rªify]Ï«œ7ÇË®)? r!{ôVõêš_Š_Tª”’ZµÔ¿$Öïõuî™P—[aíe§–1óðL\­\©k_—è'ÑL?8/;/ü»ú«#YYY|½çkVŸ[M]ûºxVôdÕ¹U,?³œŒLíOÍŸXÌìÀÙT·®N½Jõ¸q™o÷~K{·öLï8]mˆüês«ÑSèqáþâSâq³vãFÌ ¦šNsçæüÒõJë—.ðu¯8³‚c·ábåÂ…ûøvï·|Öì3†4Rྠ‹«•+ …‚•gWbfhFÔ“(ìÊf×J+_¦|¾WùÍ;ÝŒ½©JÌåøçÁ?ZW†ËMHT•Ì_þoÚÁÜK—¸}½P’NÅqF‘‰‘$¤&`jhª¶_Û=|•©x™Y™ª/³]<ºʪŠÚbËñ8å±Öí/*é5;¶mÛ†¿¿ökLKK£uëÖLš4©˜£ÿu¹Ö>vûc·¥”²ͪ6#=3¥§–b¨4Ä¿«¿ÚCM71y×d*˜UÀ§ª·ÝbÑñEÔ®¨ý¡ÎѰ£ŒÛ6##|}IIOaÞßó°7·gQ÷Ej ¢Ã7sáÁâ’ã8~š x”üˆyÏÃÖÔ–eï.Ë×ëæ‹ÎÞ;Ë‚c ¨i[“ÈÄH¦šNÓªMùŸßÿ^~°(Ñbbb4h<`Íš5ôïß_µoæÌ™ìܹ“ÿýï/ý>)þ½JD!ñ’$22’™3gÒ¥K<==ˆˆˆà‹/¾ÀÚÚšÁƒë8Bñ¦9y2‚o¾ bÑ¢Öd?!Zºô"GŽ„óí·o£¯_òjb yÖÞveßïÿž.]˜Ñq†êéçéðÓô^՛ᛆ³®ß: «Î­bõ¹ÕøÕöãÇvÏŠô\ ೟i<áÝzy+ÓN£SõNÌî4[õÅvëå­ŒÝ6– fø¼ùçÔ±«C»:ì½¾—à‡Á¸Y»1¼ÑpU?¿ÿ釦3óÐL&µœ¤j¿øÄb­’_Í’žÏêü¼óÇ;øõç½úïa |ù*‰¹žznÖnLðÀŒC3˜{t.gÃÏò(ù~µü^:]+.9³Ò¯¶ç«ÈI^ä'égd`@BŠöSKâ¹M Ÿ-°¡-éôªžO%¤&pâÎ ®<¼BK—–|ÙâËB9Ga054%>9^×ahuòäI>ýôÓ\÷§§§³oß>ÂÂÂr]PEˆ‚È«°öíG·²qÍ*²qÀFÕkELR —vfðúÁì|'V&V? fâ_q±ra}ÿõd‹ £ó²Îç½ýè6Ã7ÇÆÄ†?ßû“2¥²W•Úp(–t`dÀH6 Ø„µ‰5Ÿ4þ„Ç)U‹Pl´E•ÄîW§~+üøhóGl}o«ªýň‹Üzt‹‘Gæ™ðºÄ꾫UïéÌ*°øÄbN‡Ÿ¦ž}½—Þ¿n5ºåã.‹â–’’Âûï¿OttvmÚY³fÑ©S'ÌÍÍñ÷÷ç·ß~cúôéj‹3ˆÿù¶ú‚ÆÓ£G¼½½©U«žžžT©R…BÁþýû)_¾¼®C|m&L cÇìeŽ÷îÝ«ªŸ$J¦‰püøììÒ°á*ìí2jÔ¦LñæË/ê:¼×víZ,Íš­cãÆìQ}ûîPÕOÿ]¿ø €½?V[ͦž}=¼½9{ï,§ÂOÙ#††5¦ÖG.”/£ùšœÓ÷ˆ·G¨¤èìÑVž]IZFšÚ1 …‚÷ê¿§¶m`½±öüZžf<-ð5¾¸T|튵IIOy¥‘*…ipýÁ~˜ ¾¨Z®*·ÝbNà|ú²æÜš\‹MŠåfÌÍ|OÌYÝìù?™^¨¾Xå§VRrZ2@¡%ÅŠã܉©‰ªÿ73Ô«EWθœÆˆC}C*šUäFÌ î<º“ï¢Ë9^Lä|øOJKÊ×ñEQÓ)‡µ‰5ï¿õ>±I±U7âqÊc–žZÊ”½Sð´óT«´7d/Çnã@è<í<ù¦MþjiÓÌ©™Z’ñeªYUãNÜÂãÂ_ú¤ûn|v-W+×<Û•¤s_¾€­©­Ú¨§¼ô¨Ùƒê6Õól““*é>õù”GÉè½²7­ªµÂË΋.]tSdd$ 55õ¥I§ôôt”SäúrDv›œ©ÁU,5Gà9˜k–²¸òð =ý9æhŒÚ¾œ‡$ç®}]µ}ÚàUËUåØíc„D‡xñ ¦ê%rÞ3Ÿ<}’¯ã¥¦SÉ3mÚ48 öZšžžÎÊ•+Q*•üüóÏ´k×N‡Šâ"I§\âææ¦ë0ŠDÍš5u‚xÖÖÆX[kÔþ·35-•¯Lâ õ’’/ÚŠçþ{QZ=Í)™Y/ÑPPI®—«‘W¹{“öníUÛ,-ñöÂãÃÙ²‡c·i©Vê))[º,Ož>!21û²¯ö ¦™S³µo]­5û®ïãÄÝt­Ñ5×vñ)ñ\¼J9ãr_Œ^Uqœ{÷µÝ´ªÖ*ßÇü—VµŠIŠ!!%³ÒfùšrZÔRSŸ0xð`bccIOOϵdff¢§§ÇÆ%é$t.?ïSJ½ÜXjÛ×ȱi]¸àùâúÛ^a͉¼bÿ>ëׯgÉ’%Z÷)•JÜÜÜ$áô‘¤“Bˆb¥ÔSâfíFðÃ`nÅÞÒXŠøFÌ LÜ9‘]ì*ôØ´éR£ ‹O,fÇ•Œi2&ךS+ά -#Oš|RhÉ‹¢>÷͘›¬=¿C†5öò^°öüZêØÕ¡šUµ[RLÝ7•àÈ`‚F©ýÛÓ –.ýk×®©þ}+ ôõõUÓBÊ”)ƒ››µjÕÂÕÕwww\\\dµ%Qäu÷ý×dÿ½ž×u6&6Žoíùµ„D‡ø¸’änÜ]ìËÚ—€„ÀH‚ƒ••…žžööö´mÛ–O>ù„Å‹säÈ.\¸ÀºuëøòË/éÑ£’pÅb@½ñûéßIH}¶`ALR «Ï®ÆÜȜޞ½èS§J…’å§—«Mç¾]W5 ¨›Ý÷Ò“KIMOUÛçÔŸµç×j}ZqfYÏV=ÿ<Ç狀MuêÚ=õimš°”ô€ÕgWsþÞùW¹ â_ $$„#F¼´žžS¦LáéÓ‚×Ìÿ>2ÒI!D‘¸sƒÁ;¸›]t~Ð|epý‚¯.[TçÖÖofV&’q6ü,W£®ÒÜ©9Ÿ7ÿ§rN/=V›“`ÚŽ³0² ÝþÚWÌÞ½\|p€?/ÿÉùûçÞh¸ZÂõe÷ `é©¥ÜÏnsÿñ}üúS¿R}96Ò8oFfzzºþyâÄ @^½fâçW…jÕªadT8ׅȯÔôT_Ĺ{ç€ì‡¡1¡ ®?s~ëñc·¥ãÒŽ4«ÚŒŒ¬ ö‡î§”²¿¾ó+V&V@vm¹i¦ñå®/é´´Íœš‘œ–ÌÙ{giY­%[/oeÝùu\¸õRɼÿóûc¶Ž¡Íâ64­ÚãRÆœ ?CDBKü–hÅY¿R}ºÿÑú•ê—ÇΫ;q4wd~·ùê‹xTï̆ ¿}<•Ì+qìö1>m–½2äü ùœ¾{Zu½âWÛM7t+€À›¤¤§¨­.[œÒ2ÒXp,û!ÖÕÈ«lüg#A·‚pµr¥k›¼£DDDпž>}úÒšx™™™Ü¿Ÿ•+WÊêðoI: !„(R¹ ¡\0]<ºx3ˆ„*˜U``½ÓÔ SZOá]Ïw9~û8ii4rlD“*MØze«Ö¡ë ¤SõNÞ äAÂÌJ›Ñ©z'¼ì¼rsrËÉœ¿ž³÷ÎbidÉo}@‡í†5F튵¹q™:ëÐέ¥”ÏF;äv½oW~›·+¿ëù‹CÍ 5ÙñþB¢BŽ fÝùu˜—6çÃòV¥·^º²Y~êTY•±*pë—SÁ¬¿õøðøpNÜ9ATb–Æ–Œª<Š†Ž _kE¶¢:÷‹ý*J*[TÆÛÑ›ºöuµ®¼˜ß˜zyö¢Zyõ©u¯rïŸçë싯sÞSòs³ÒfùŠ#‹¬<—P/. 4úàíýÚµ_Ú^ˆ¢äeç¥õ½ª‘c#;È‘›G¸{ ~hû«4ÖH u­Ñ•F•qàúâRâ¨hV‘‰¾ Ž Ö˜¦ÐÀ¡AvßaG¸sƒRÊR o4'Ÿ\ÿvpïý>HBJ3;ÍÄ×ÙWíý²“SÛoçï[£§ÐcÇû;Ônäv½ŽŽ%nA„6®m$É”‹ÔÔD D|||®5ñôõ³Sééé( lmm¹~ý:YYY¯T;Sü{(²´U+H ëÖ­£gÏž…“…F¡P0zôhæÌ™£ëPÄÊÏ/»èï† Фÿ‡’˜˜¿/IÎÎNøû?¤}{ùRõ¼NË:û$–¿Gü­ëPŠÝŒC3°+kG¯>ùj?2`$;¯îäʧW4¾XQP^s¼¨a[ƒ½Wè:y}FŽÌžRöË/uIÉòݾïøýôïìºG G]‡#JggGÜÜZqõê!Õ6}}}222ÈÊÊÂÀÀ€Ê•+ãåå…»»;îî¹ab’¿U[…îÙØØ¼ÎïkC¡Œt>|8ãÆ{yC!tà·ß~cãÆºC¼¡bbbpqqÑuB 7k7v^ÝIpd0µ+ÔÖu8â_ìþãû$¤&àjåúòÆB!J°‘ª„“©©)Õ«W§fÍšª“““J¥îGµ Ý‘éuâ?/)©II¯¶¼·¯ï¸®¹8{ï,GÃŽ•ErZržµgþ«rêjäWZ=Xyv%C7¥[;<+zÒÅ£KE÷êr«ƒô¼ ´NŸEkoÈ^NÞ=ÉÞ½˜•6Ë÷(;!„nE&F²öüZUÍ©?Nÿ»µ;~µýt™Ð¥àà`Àž¡CWÒ¿elmmu’( %é´`Á™^'J¤ìùÁcùû)tÅjÿÞÍßò¥7ÿlLlØûá^Ëu;ñßbilɘ¦cð©êƒ¹‘¹®ÃB€“>N>ºC”îîî@G<<bk+Ó“…v2ÒI!Ä©Ž]µU·Dþ˜šÐÞ­½®ÃÈSI+>+žiU­­h¥ë0„dmb-¯­BˆW¢ûuj…B!„B!ÄŽ$„B!„B!D¡“¤“B!„B!„(t’tB!„B!„…N ‰—`AAAìÙ³333ÆŽ«ãˆ„B!„B!òGF:±M›6±sçÎ×êcáÂ…Ìž=»"B!„B!„(z2Ò©%%%áç燱±1‰‰‰>ÞÛÛoooˆŽŽ.‚…B!„B!І$б±1ëÖ­ÃØØXס!„("kϯÅÊÄŠÎ-ò}Ì‘°#켺“ànãÎgÍ>Sí¼~0)i)ùêçÃÒܹ¹ÖcúÖéK÷jÛ’Ó’ùëê_œ¸s‚¨Ä( õ ©lY™Î-¨_©~¾ã^^ñêRŲ ~µüp·qWmÿhóGÄ%Ç©µÙi&Í*ª~^plGÃŽ²¨û"L MTÛ7ü³-·¨~îåÙ‹ÎYt|ÇnÃÆÄ†.-h]­õ+]Bˆÿ¶¸ä8>Úü‘êçoÛ|‹sygF$Ä›$Š˜ŸŸŸ®CBQ„îÆÝ%3+3ßío2xý`Zº´¤W*™WRÛ?¼ÑpÂbظs"uíë2¶©öz~ßíÿލ'Q¹ã`î ÖþÐC|¾ãslMméQ«Žޤ¤§p&ü ﯟ:öu˜Ýi6–Æ–ºþÜâMËHãzôu[Ȫ³«˜Ùi&ªwàƒ°ýÊv–ŸYN.ô¬Ý # µ~ל[ÃýÇ÷ º¤–@jäØ[S[†nÊo=~£j¹ª´ti‰Kyv]ÛÅG›?bV§YtñèR kBñßW¦TF5EÀå6\Ø@âÓ‚ÏHy]ËN-ãÊÃ+|ßî{J)Kûù…(N’t*"!!!¬^½Zõó¤I“Ð×W¿Ý‘‘‘ìÞ½›»wïR¦L6lHƒ òì÷Ô©S=z”´´44h€O‘Ä/„"oGÃŽ²?t?‡oƸ”1·ݦC|ªú ÔSæzÜΫÙuþ¾mó-Ö&ÖûëWª¯ÙcadAíï ¦¥Ló}Ì¡‡²qÝkvçûvߣ§xVÒ±uµÖôòìEïU½éµª›lVYô2y»q•ÆxVôÄo…SöL¡uµÖ`›¤ IDATêRÇ®FúF,?³œ»qw5â½sƒ €ìQaÏ'ìËÚs+öµ+Ö¦q•ƪíNåœp*çDã*Ùzy+»®í’¤“B J84àtøiŰùâfB¢CÓtŒÚ(ß™‡gr6ü,+z¯Èó³„ÿ&RH¼ˆ­]»–o¾ù†ôôtµísæÌÁÑÑ‘_~ù…èèhNœ8Í›7'22Rk_cÆŒaâĉܻwÀÀ@š5kFÇŽINN.ŽKBñÿÆnËÐMC)g\Žê6Õ©k_—RÊR|ð –uÊóØÈÄHôzX•±z­&·šL3§f/m÷8å1ã·ÇÚÄš)­§¨%œrT±¬Âß ÜŒ¹É~|­¸^äeç…¹‘9ñ)ñ\yxEµÝÝÆkk.<¸Àã”ÇjÇÞ ¤½[{” %GnÑèóHØšTi¢õ|¥”¥°0¶ 2Qû{©B¡k+z¯`×»ÔN×¢®qòîIPè(0!Š€$ŠHµjÕ˜2e nnnûÖ¬YÃØ±céÞ½;ÇgöìÙ¬^½š}ûöqøðaºuëFVV–Ú1÷ïßÇÔÔ”½{÷2sæL¶oßδiÓØ±c&L(®ËBˆ7Þ©»§Øzy+ýêôcÄÛ#p´pÄÕÊ•q>ãøªÕWÄ&Åæy|Zf ……âÕ>Qþ~úwVœY»µ»Ö‘R/Zs~ qÉqtö茡¾a®íÚ»µÇÔДM7ñ(ùÑ+Å–“RÙ#¡žfù„o¿ý–ß~ûiÓ¦ah˜û— !„(n§ÃO3ûðlÕÏKz.aó¥ÍÝ ".9ެ¬,\­]¹yMÕÆÕÚ•¯[} dO±š¼k2“ZN¢ºMuVœY¡šž¼tøyÿ5ýÉÈÌÈW¼æFæüúί/m—3‚æþãûû:{t.òb¤·bo¡¯—ÿ·ïÀ›Ô®P;ÏvJÜ­Ý9y÷$'­kÛ׊3GrZ2 è)ô4>`7©Ò„Í7x3Pu¾§O9~†¹]æÊéðÓ†ªj7E&Fó$B‰O!J‚¤´$>XÿêçÏ›NLR ;‚w™IFf†Æ{&<{ÌÈÌ`覡´umKZ=Í÷á‰-&RöF®1ü°ÿ.E\ÊwÌ/.ñ*×4ºéhÞªôIiIüyéOÎß?ÏÃćX›XÓÒ¥¥ÚôjmýŧijåÒŸ&âTΉ÷ë¿•‰æHâ]×v±ëê.âSâq0w o¾ZÛ,?½\m[Aîï覣ù9ðç<¯÷òøÄbµ6µ+ÖæfÌM&íšDHtýV÷Cñÿþný5®V®ªcþyð—¸õ(ûó€›µ½<{åù»B—$éTÌ222øçŸÐ××ÇÅÅEc¿››ûöíãìÙ³jI'+++ÌÌÌÔÚ–.]‚ƒƒ¹qãÕ«W/òø…"¿œÊ91ªÉ(fÎæLøFŒ¤V…ZøÕòãZÔ5fšÁ¨&£ÈÈÌ`õ¹ÕŒó‡OÕg¯{›/næäÝ“lº¸I•tjZµ)i™i¬;¿ŽoÛ|«uªØóF6©1r47Jƒ|µ«k_ccv^ÝI¿5ý¨`V€Òú¥©cW'Ïã3³2Q*òW§átøiú¬ê£¶íÖ£[´wkŸ¯ã!»Ð9¯QQ9mÂãÂóÝ^2²2øéàO¤g¦3¨Þ šTi‚žB#aϦмs7k7L MiR¥ sçpäæÕd'ÑWiœçH1¥ž’ÌÌüwB]3Ô7dT“Q켺“•gW2ãð ìÌìhëÚ–¤´$¦î›J«j­¨V¾“wO¦[;úÕé§züûÖߺqˆˆ„URÄ©œý‡3|Ópæu›§±pÅ‹ºÕèF —ü¯Äúâ¯rM±I±¤¤§ðö¼·±6±fX£a”-]–“wOòIÀ'ô¬Ý“oÛ|«µ¿Å'cilI§êˆHˆ`vàlv]ÝÅîw«ì¸s"ë/¬§£{Gzyö")-‰I»&ajhª¯gEOUôÊ÷×¹œóK¯÷IÚµ6ñ)ñؘÚ0ªÉ(fšÁùäóŒ|{¤ê¡Úóɤ_ƒ~eΑ9´®Öšwk¿KJz œþƒe§–±¸Çb:6Ì÷ïOˆâ"I§êÅÓψz^Η©W¦!„E%§¨t·ÒÎ-èíÕ€fNͨk_ÏŠžØšÚ²úÜjÂbÃÞh8ýÚ¶õÊVL MÙ~e;[LD©PâháÈíG·é^³{®¶Ÿ÷V¥· ýºlMmYÒs ßìý†ã·ÙSîö„ì¡þ´ªÖ*Ï㣟D¿ôƒzŽœÄÝó~?ý{âMMOò—T+¥Ÿ½‚NjFjΑãù$Yzf:a±a¸”wafÇ™t­ÑU£½¹‘95lkðσʼ37USçjØÖÀÂÈ‚wNšžŠ¡¾!GÂŽÐÜ©yžq˜™KM'!Ä¿ŠR¡¤CUí»òÆå™Öašj¿»µ;åË”ÇÂÈ‚ÇpñÁEÞªô–ê;ÀŸ—ÿÄÔД«‘W¹u W+W,Œ,HHM Cƒ|Õt·q×É5efeòäé~÷wÕC_g_Œ Œñ?êÏ»žïâaã¡ÑŸ¾ž¾*!ð(ùsçt+ˆæÎÙïûC÷³þÂz|}ù¹Ë³QHm]Ûâ»ÈW-^[S[zyöz­û›Ÿëµ4¶T«qÙ+ê5ph€…qö烎 4P¿}œÙ³y»òÛÌï6_µ½uµÖ´\Ô’±ÛÆrhø!Y O”8RÓ©˜)•JjÕªEzz:ׯ_ר €———Úö¨¨(‚á)))ܹscccœœœŠ.h!„(¾.êîêÙ×C_OG G¼ì¼ØuuÉiÙ¯s'îœÀÂÈ‚>^}ˆIŠáï°¿ì©WÿE—º]•¬~¥úl¼€A4®Ò˜2¥Êt+ˆá›‡3nÛ¸\;wï7bnhÜ‹Üä$îžÿccbS Xs>À&¦¾|Iè„Ô,, tŽ9I²QMFÑ·N_Ê•)GHt¥ JçzLNAðÀ°ìi€Ï ×SèѸJcRÒS8u÷™Y™Ý R[µN›fN͈~ÍЯtB¡k9I“Õ¬ªail‰B¡ ³GgÂãÃU«¯%§%sðÆA¦´žÀÖË[UÇm¾¸™n5»[ÜyÉíš •†¬ï¿^•pÊ‘óZòÎI­ýù8©¯âíT.ûûÐý„gÓß·_Ùdâzž‘¾NšïÅ…ys»ÞWµñâFº×ì®y-.¾D&Fr4ìè+÷/DQ‘‘N:ðùçŸÓ§O¦NÊòåËU£˜Ž=Êðöö¦iSõ©™™™Ì;—/¾øBµÍßߟ¤¤$FM©R’ÑB”læ¥ÍsÝ×­F7¾Úý{CöÒÙ£3^ù“n5ºÑ¸Jc_ÄŸ—ÿ¤iÕ¦=€‡­G¾/EQÓéy5lkàaãAëj­±5µedÀHþ¼ü']<º¨º^xl!Û®lãfìMÕħÍ>-Ðyž7¨þ U‡ü¨U¡¡Ñ¡Üˆ¹ñÒa÷9»=í<_)¶œ$YŽ†Ž iý[k>Ýþ)^v^ZoM«6e~Ð|oÒÁ½ÑO¢ÕjŽ4©Ò„mW¶x3SCS*˜U |™òyÆ1ªñ(”zJ>Þò1•-*ÓÌ©Ÿ7ÿü•®I!t!¯±Ýjtcá±…\  ~¥úì¾¶›úöõéèÞ‘ŸþÄÖ+[ï3ž˜¤Îß?ϼnóòuήéô¢Ü®I©§ÄÔДٳ ‹ #.9ŽŒÌ ’Ò’ˆKŽÓz\9ãrj?ð4ýÙBáñÙÓÅ_LhAöÈ&m ëþæwTs~Ýyt€%'—°öüZµ}9u&¯F^Å×9¶„(.’tÒÞ½{óàÁ&NœHHHMš4áÁƒlÞ¼™¦M›²~ýz AAAìÙ³‡ˆˆ*T¨À… h×®5jÔ 88˜;vСC~øá]_’B¼–o*[.m¡kö†ìe\Óq”/Sö„ì!9-9û‰bü?±-ŠšNGÃŽrâÎ Æù¨hòuö¥Gͬ:·Š+¯¨%ZUk…‹• 7YqfNåœèåÙ+ß×ñ¼Ê• Ô¾[nl¾¸™Ã7k-œšãnÜ]nÄÜÀÕÊ7+Í•W_…‰ yÄŒC3ð?âÏ÷í¾×hãYÑSCÓì)Š×öиJcµZ]Mª4A¡Pp$ìf¥Íò\µ.ÇîÝ,>¾˜îhëÚû²ö…r=BQ8•s¢f…šì¼¶“¯Z}EÀåzyöB©§¤“{'–žZÊ©ðS\ЏD+—V”ÖÏ}´éó »¦S~íÞÁ˜­cpµre`½T0«€¾ž>·ÝfâΉd‘¿÷qmŒ Œí£}s[å´¨îïë2.•Të^«»ZañçI1qQIÒ©˜¼XsiìØ±ôë×]»vN¥J•øä“OhØPó)ô°aÃ033cìØ±rêÔ)¬¬¬?~<Íš5+¦+Bˆ¢S¶tY|}Ùw}kίÁ³¢§j4K×]ù~ÿ÷¬=¿VµªY~EM§˜¤¶]ÙÆ˜¦c4 ™—5* @¹2êO_Ê9áTΉÎ-8~ç8¿ýå•“NÕȱ‘*‘wîÞ9¼ì¼´¶›uxJ=%“ZN*Ô:êà÷Ó¿³ñâFÞë}Õ*t9”zJ¼+{³ûÚn[Àxõ•Z­L¬p³v#øa0[.máÇö?¾ôœ -¤L©2Ìè0Cj !þ“ºÕèÆ·{¿eíùµ\ޏ¬ÝÒ­f7–žZÊŸ—þäƒ ªaó£°k:åת³«ÈÌÊdvçÙ¸”¶Ð’‰¡Ék÷]×¾.A·‚¸qIcjvHTH®ÇÅýͽì`™(•J–ZÆãÔÇŒj<І 9v”RÊRu-ï?¾Ï§Û?ej›©……Aj:²_ý•'Ož¨~NLLÄÔÔCCC¶ÖÖÖ 0€‰'2zôh„“··7S¦LaÊ”)Œ;€¦M›2nÜ8>ûì3I8 !þSºzt%#3ƒ‡f¨fêT½J=%3Ϥ…K ÕSK] gdf=[!íÁãl¹´kkÚº¶ÍõXS¢ŸDG˜*3:Π®}]†lÂþÐýj£¿âSâ™´k;¯îä»¶ßÑȱQ¡žÛÈÀˆ½?ƒÙ³µ¶É½™©µ^SN§¨Ä¨—®›‹µ©µ$œ„ÿYÝ;¢¯§ÏôCÓiçÖNU<ÚÝÚjVÕ¸@bj"õìëé8Ò—«lY@­QFf—^»ï~uúailɲSËÔ’Lû®ïãè­ÜëéêþæÜ‹ð¸p²²²Ø~e»jJ}¿:ýp´pd~Ð|B£CUÇħÄ3qçD2234ìQHÒ©ýúë¯;v €ÔÔT.\¸@£F…û^!þ B£C鳪ªç uƒT+›iÓܹ9æFæ( Ô†÷—/SžÆ•“šžZ ©uEå­Jo1 îÖœ_Cÿl¹´…ùϧÕo­¨n]uýÖi,ì!\Èàõƒ™ð×àÙjpmþ(Ïî´³#x‡j¿±1+z¯`¸÷p¾Ýû- iHå=è´¬Þó¼¹w—õÖãWË/7á%çþåè/jmzyö¾¬=»®í¢÷ªÞ|³÷µý9I%7k7¬M¬5Α³¿‘c#ôõ^>H;¿S*…¢$´n+ά`ÚÁiôYÕ‡àÈ`­m--iZµ)©é©«ƒvõèªÚ®ëä{~®é³fŸÑ¸Jc¾ßÿ=> |ð[áGÛÿµU­¾p)€>«ú’ž¢Ñ_ÎûÉwû¾cÚÁì•âVœYÁàõƒìºOË{-§|™òtZÚ‰ŽK;ÒbQ Ö]XÇ€ºøj÷WŒÝ6V-¦W½¿/»Þ¤´$ú¬ê£ÖfÄ–ªý½={Sɼ½Wõ¦íÿÚò$í‰*NCÖô]CMÛšt\Ú‘6‹ÛÐínø,ðÁ¼´9¿õø-ÿ¿!Š‘"ë5?™) Ö­[GÏž= +¦µ²wï^úôéÃßÿÍ­[·Ø·oºí”ýF°¿ŸBWüèÑ6lØP$½?|øÄÄ—¯Jàìì„¿ÿCÚ·Ï_ûו˜šÈ凗5¶¿8$üyW#¯’••¥1Äÿ^ü=î=¾G=ûzSÚt%++‹‡‰™yx&L+ð‘÷Gù…5xý`ކ%äsíÃúsVi{žÒ Ï>ÚŽq0wÐZ8²GjE%FQJ¿޿ޝ5…A۹˗ù¼³Ú¶Ûn‘€©¡)Õmª«í?~ # ÕêCÏKÏLçLøìÊÚå«>“÷ãy»òÛ@váñ:?×QµŸßm>gïeGð"#ÉÌÊd^·y´umKFVËN.cË¥-Üzt ¥B‰»;ïÕ¶®mÕÎ{:ü4+Ϭäüýó9 Þ«ÿ^ïÍ€µº”ïö»?ÜS9§ŸGQ4$éôš:vìÈŽ;HKKC__óvfff’••EVV–¢BÝù Á|ÐàjΪIu›ê¬ë·.ÏößíûŽ¡ ‡2­Ã4Îß?ÏðÍÃýçh6Ü <+<>lÓ0ö]ßǤ]“ÕdÓ;L'$:„ž+z™‰ß ?RÓSù©ýO¼åð÷âïñõî¯é±¼+{¯ÄËÎ €Ã73êÏQŒ÷W2³2ÙveßíûŽˆ„¾hþ…*¾Ûnã·Â#}#æuGû:Ü»Ë~äΣ;º7Ú’nB!Þ\5+Ô$ô‹P>Üø!Críók(Ê\ÛÏû{ï¿õ>{‡ìåaÂCFmÅðMÃ90ìåË”W_vjßïÿž™‡g2¼Ñp>öþ˜äôdú­î@FfC6áè­£|ÙâK:WïLjF* -dÄ–|ÙâKU¢()-‰^+{Ñέ«û®ÆÜÈœ·O0açÎß;φTkžf<¥ÿšþ\‹ºÆä–“iïÖž¤´$[Äñ;{²¼×òW¼«Bˆ’@¦×±õë×sçÎÊ•+§ëP„¢DëY»'^v^Ñȱ¾Î¾üóà%?ÒÚ~h£¡4ph€‘µ+ÔæÚg×°0²`æá™Ü‹¿ÇD߉4sj†±1.å]˜Ûe.YYY|³÷µ~84`X£a”-] # Ô@§êøýÔï$¦&ªÚÍ<<“Ç)™Üj2«4ÆØÀW+W¦w˜Ndbd‘Þ!„âyõ+Õ§ƒ{Ê”*CÕrUéW§IiIœ?­µ}«j­x§æ;˜•6ÃÆÄ†½CöÒÖµ-—8|ó0=jö`@ݘ™ccbÃW-¿¢ºMufžIlR¬ª##ftœAE³ŠÓܹ9ã|ÆqáÁކUµÛðÏ.E\¢—g/úxõÁÜÈœŠf™Òz Jƒ"¿?Bˆ’C’NB!J„Zj©ýlcbÀćZÛ×®P[ëö½!{ÑSèáëì«¶ÝÊÄ —ò.\ЏDDB¾Î¾¬ê³J£wkwÒ3Ó¹}]µ-ðf M«6UkkmbMË*y]šBQ¨ úžùbû{CöÐÂ¥…Úv…BAC‡†¤¦§r$ìÆÆ\wQ£’›•W^Qm;|ã0Mª4Ñè÷­Joå~aBˆÿœb™^—žžÎÏ?ÿÌòå˹~ý:úúúÔ®]›1cÆÐ½{w&MšÄ÷߯:ÆÎÎŽððp¾ûî;&Ož¬Ú¾e˺víšï~sddd0oÞ<~ÿýw®]»†‘‘NNNtíÚ•ÁƒJ“&Ï^s¦Ë¥¤¤`dd¤Ú~ñâEjÔ¨ÁéÓ§©_¿¾j»Á³Œý‘#G¨Q£ªm;wî¤mÛgs¢_ŒG¡PàááÁ‡~È|€B¡ ..N­­[·ÄüÁãÇqwwçǤeË–ùú=ÄÇÇóå—_²iÓ&bccqttäÃ?$%%…¯¾ú '''NŸ>­vÞM›6ĺuë¸ÿ>™™™lذ=zäë:Ž=úZ÷öÈ‘#,\¸Ý»wóøñcªU«ÆØ±cyï½‚Ï B”\¦†¦j?ç ÑÏBûôd##mO3ž’š€çÏ\Ïu+ö¶¦¶$¤&°ääö„ì!"!‚Ç)ÕÚ%§%«ú}òô †ú†kôW®L9ÂbÃò¸:uRÓI!ÄëÈí=33+Sk{mï]ÑO¢²qH®çºõè–ªïõÖ³åÒÂbÈKŽS;_Î{& U®ŒælmÛò"5„øw+ò¤SFF;wfÏž=Ì™3‡¾}û’œœÌO?ýD=˜3g£Gæ»ï¾ã³Ï>£aÆ„‡‡³gÏ ;EZZ¿þúkûÍiÛµkWvïÞÍŒ3èÝ»7†††ìÛ·ÁƒsòäIÈÊÊRÕhÊQºti²²²?~<³fÍRm¯W¯žZ{m5²²²øùçŸ3fŒÆ=éÚµ+»víbÆŒôíÛ—´´4–,YÂСC9räË—/ÇÜÜ\­©S§2nÜ8&NœÈ½{÷èÞ½;ݺu#44›<©©©´hÑ‚‹/2wî\zöìIRR3gÎdݺì:+ÇŽ£aƱO˜0‰'2iÒ$ž½nÅŠìܹ“Áƒ3räH,--±³³Ãßß///&L˜@TTfffüùçŸ(•J:wîLll,Ë–-ãÂ… Ì;÷•û]¹r2p ‘IDAT%Û·oçƒ>`Ô¨QX[[S¶lYºwïÎĉ‹úhȉçý÷ßgôèÑXYYQ±bE&OžÌ;ï¼ÃŠ+ضm›ÆqM›6åÝwßÅÔÔ777>úè#9räÈKϹdÉΜ9Ã!C6l–––ØÛÛóóÏ?S©R¥<íÚµ+ÄÜÜ;;;®]»F=^ù: jÈ!øùùQ¶lYªV­ÊòåË©X±"S¦LááCíCˆ…%‡‘iiªŸ[ýÖŠµç×ÙùÚ¸¶!#+ƒ3ág4ö-:¾ˆ&¿6!#+ƒŒÌì6V&V ¬7KcKŠìû©é©ÇúTõžM³Ëñ(ùQF9 !„¹É™ºö4ý)“vMbÌÖ1yòZÚTkÀ‰;'4ö]xp—i.܈¹¡ÖfháؗµW=ØIIKÑ86·÷L€³÷ÎNðBˆ…"O:йsgµí …‚æÍ›“’’ÂîÝ»UÛ]\\X»v-·nÝ¢M›6üôÓOlذAmúZAûݲe íÚµÓˆïóÏ?WõU\râéСƒÆ¾öíÛ«µyÞóSÎU²èþýû/=ç®]»hӦƾ秾ióÖ[Úç]¿êuTãÆÕ~.UªÍš5ãéÓ§8pàµûB-[ÂbÃxðøçîãΣ;Ô¯Tÿå¾¢ñ>ãq0wàóŸsøæaRˆKŽc͹5Ìû{|' T(Qê)iàЀ¨Ä(ŸXÌ£äG¤¤§püöqVŸ[­Ùo³ñ˜™3uïTކ%)-‰ÐèPÆn›ë´!„¢ ä‡ý?ðàñƒ"»!DÉSäÓërF¢têÔ)×6ׯ_Wû¹M›6Œ;–3fðÞ{ïaeeõZýæ´µ¶¶.XðE$¯xr¦ÉEDDhì+[¶¬ÚÏ¥J• 3SûÜíçåŒúÒv/Ÿ¯ß¤M™2e´nÕë((sssm9猌”£„È/CÃ,ž>-Þaû“ZLâË]_ÒzqkÌÌùªõW8•sâüýóôXÞCÕÎc¦yÄØ¦cqþÉYµ½ÓÒN4wnÎÇÞk´ý"Tí|åŒË±yàf~ ú•){¦ðàñÌJ›Qݦ: »/T}hðïêÏìÀÙ,?³œY‡gandŽOU:{tfá±… \;¶5€ƒ¹úo`ú¡éŒAzF:Õ¬ª1òí‘,;½Œ [A8ÿäŒ_-?~lÿcQÝÎ<= Q—#ç^þÐîzÖî©‹°„(ÑRR²_K—Ö^?N¼™ ³HH(þ5—ú×íOHTŸíø €¶®mñ«í@õÕyš‘=jðúÁÔµ¯Ëº~ë質'ïžàûýß3;p6Ç]ÔhšÓèôzÌï6Ÿ•gW²úÜj¾ÛÿJ*[TfXÃaôòì¥jû‘÷Gèëé³åÒÚ,nƒÒ¯Š^ttïHЭ ~ ú•_ƒ~åŸqÿ`l`Ìò^Ë™8 ÿ¿ýùfï7Ø•µS­f÷ó‘Ÿé±¼æ¦›‡ÈIiIÔš¥^`½×ÊìëíâÑ…Yfi;Løà•ûÍI€ä'A¡§—ýæòôéSµMqqÚççLÅ(ˆ¼âÉIää\_aÉI6å$Ÿž÷ª‰›‚^GAïmŽèèhœÕ¶åœ³¤$…ø7([6ƒGò®qTª–«Êš¾k4¶{VôÔHå(èö™™3±ÅD&¶È{ µ…‘SÛLÕºo¼ÏxmU,«°àÛ›;7ÏW\EÍ×Ù7ß÷H‘-..ûuÑÜ<ÅýÅ›ÁÜ<“Û· ^Þ°çšì¸òé­ÛW÷Õ›Wû)õ” ¬7õæÙNO¡Ç°FÃÖh˜Æ>m5L MøºÕ×|Ýêk}#Þ‘¯ØŠ’±±¼g¾&yýùQäéûwÞy€Ã‡kì;qâzzz\½zUµ-55•wÞy‡¯¿þš€€¼½½ùøãùûï¿_¹ßnݺð×_i´3f ^^^ªŸ+T¨@xx¸Z»“'Oj½>cãì)OŸf?E:t(}úôÑÚ6GN<ÏÕΑ³-§MaÉ™Z˜3Í.GVVV¾jBiSÐë(è½Í¨>üéÓ§:tCCCUQs!ÄË9;§RJ×a!D‰’óºXµêSG"J'§§\¿^Š,À!D®äõSäG‘'úöíK—.]˜>}:‹-âáÇ¥K—âèèHÕªUY»v-Û¶mS½èÞ½;?ýôAAATªT‰¦M›âáá¡)T³fM6l¨jÿñÇÓ·o_HÍš5iݺ5ƒ&..…BÁ˜1Ù«M´k×{{{x~ÿýwprrbëÖ­,\¸?þøCÕéÒ¥ÕúÈ)ªÝ¬Y3ULcÆŒÁÄÄ$Ï߃¡¡!ûöícÈ!L™2[[[Zµj…‡‡½zõRÅ•Ûy ‡Rë³ ×ñ*÷6Ç/¿üž={pqqÁÍÍK—.±dɾøâ‹<¯Y¡Î×7‰ðp}ù-„ÿ/3vï.ƒ¯ï]‡"J7·§T¬˜ÎîÝyÆâM%¯Ÿ"¿YY¯7hT¡P°nÝ:zö”â¤ÿVÆ cÑ¢Eܼy“*Uªè:•Ñ£G3wî\®_¿®QÓ)¿ þþþj‰E!ŠÓˆ#011aÆ EÒÿÇILLÌwûví*Q«V*Ó¦I~!„8tȘ>¨ÀÎwqq‘é!B¿¿%«V™qèÐmŒŒdžÏ“×Ï7‡ÍK¹äaCñ/É tÆÍÍ3gΨmËÌÌäàÁƒT®\¹D%œ„Ecذ8L –ÑNBˆ7[F†‚éÓËáëûD¾0 ­úöçéS‹å½Ò³oyý!I§7ÌG}Ä… HII!44”÷ߟÐÐPfÏž­ëЄÅ sçêÔIaÊ”òRUñF[µÊŒ°0&LˆÑu(¢„*W.ƒ‘#±x±9ááÅ¿’%•¼~Š‚¤Ó$ €:uêлwo,--©[·.÷îÝcïÞ½…¾ZÞë8}ú4 …‚¹sçàâ⢪e%„x= |ùe4çΕfùò²ºG!tâÆ ~þÙ’÷ß§J•4]‡#J°â±·OgÂ+ÒÓºG“×OQPúº@777,X ë0^ª^½z¼f©1!DjÔHeìØX~ø¡<•*¥á뛤ë„¢ØÄÅé1thÓøøãX]‡#J8}ý,æÍ‹ÀÏÏŽÉ“­øñG©‰(Þ\òú)^…ŒtBˆ7аaèÚ5±cm¸pAê; ñíݽkTià3Éd̬ь7k!¦°!`ºh‘B°0*¨…Šˆ þ‚A°0…?" 1Xˆ ba¥[X؈ ¸³~Ä-6:Ù11&Ûnå.™;;;3ÏÓßwNq9÷ò›÷ž—æP*µÄÑ£¹˜ŸOŵkï ‡æ_é뛋sç¦bròǸxÑ|'š“þÉR šÔéÓcóæ/±ÿڸߑÐ@c+Ó±{÷Úxó¦-®^}Ùì·Z—Dœ‰‘‘qþ|wœ8áS;š‹þI%„NMª­m1._~»v}ŠãÇ{bl¬;fg½DçÑ£e±sçOÑÚº““E§-±$ûö}ŠK—ÞÇÝ»™8x0Å¢I%4>ý“J šXkkÄÉ“¿Ç©Sãúõ®ê:k]@"^¿n‹#Grqøp.¶l)G¡ð6r¹ùZ—Eœ‰Bá·˜šJÇÐÐÏ16Öå²?lh<ú'IÏ{÷~ŠmÛþŒÑÑî8vlMäó³±gÏçØºu&Ö¬ñ‚Ôr9/‹;w2ñðag¬_ÿ5ÆÇßF¹Ö¥Ñ òù¹¸wï׸y³+.\X·n-ááÏ14TŠg#%ƒ¢NéŸTƒÐ €ˆˆX½z>ΞŠ¦ãÆ®8s¦;FFVE.7ëÖ}+"•24ø*•Zâýût¼zÕ ©Ø´éKŒŽNÅöí3ÑÚªw‘¬tz1ú#vìøããËãöíåqåÊŠÈd¢¯o.V®üííî;êƒþI5¥+<›>%Êø®ááᘘ˜¨ÊÚ>|ˆR©T•µggSñôiG<ÞÅb[LO·ÄÂBU~  b™Ìbd³ó‘ÏÏE9V­2è–ÿÖ‹?ijgñòå1=ÝbN"uCÿä{zzz"“Yò¡Cït* •.UóäɓذaCd³ÙZ—Bëíí­u KÒ޾尥þI>?ù¼!ËWñN'j§š;€æVéN'§×8¡‰:8¡‰:8¡‰:8¡‰K׺–®««+:;;k]Ѐ:::*º^èPÇ*}T‹ÏëHœÐ €Ä HœÐ €Ä HœÐ €Ä HœÐ €Ä HœÐ €Ä HœÐ €Ä H\:"&j] å—¿ü‰2=Á!IEND®B`‚fio-3.39/examples/xnvme-pi.fio000066400000000000000000000022531476262051600163200ustar00rootroot00000000000000; README ; ; This job-file is intended to be used either as: ; ; # Use the xNVMe io-engine engine io_uring_cmd async. impl. ; fio examples/xnvme-pi.fio \ ; --ioengine=xnvme \ ; --xnvme_async=io_uring_cmd \ ; --filename=/dev/ng0n1 ; ; # Use the xNVMe io-engine engine with nvme sync. impl. ; fio examples/xnvme-pi.fio \ ; --ioengine=xnvme \ ; --xnvme_sync=nvme \ ; --filename=/dev/ng0n1 ; ; # Use the xNVMe io-engine engine with SPDK backend, note that you have to set the Namespace-id ; fio examples/xnvme-pi.fio \ ; --ioengine=xnvme \ ; --xnvme_dev_nsid=1 \ ; --filename=0000\\:01\\:00.0 ; ; NOTE: The URI encoded in the filename above, the ":" must be escaped. ; ; On the command-line using two "\\": ; ; --filename=0000\\:01\\:00.0 ; ; Within a fio-script using a single "\": ; ; filename=0000\:01\:00.0 ; ; NOTE: This example configuration assumes that the NVMe device is formatted ; with a separate metadata buffer. If you want to run on an extended LBA format ; update the "bs" accordingly. ; [global] size=100M iodepth=16 bs=4K md_per_io_size=64 pi_act=0 pi_chk=GUARD,APPTAG,REFTAG apptag=0x0234 apptag_mask=0xFFFF thread=1 stonewall=1 [write] rw=write [read] rw=read fio-3.39/examples/xnvme-pi.png000066400000000000000000002253141476262051600163340ustar00rootroot00000000000000‰PNG  IHDR³ýi¸bKGDÿÿÿ ½§“ IDATxœìÝw\UåðÏå²¹* € ÅˆŠ "*‚‚Š;&)’¹Ó,wY¦‰åÏÕ0-·Y.0Í=0ÅQŽCT\ÈT™ç÷Ç#× 2¯—äó~½xuîsžóœï¹ž—ùåYAU½` uG@DDDDDDo.&DDDDDD¤2L:‰ˆˆˆˆˆHe˜t‘Ê0é$""""""•aÒIDDDDDD*䓈ˆˆˆˆˆT†I'© “N""""""RMu@DDD•wùòeìÚµ ‘‘‘HOO‡L&C½zõ`gg‡þýû£yóæê‘ˆˆj(ötU¡¡¡0`¦L™‚ŒŒŒ2_7{öl8;;cñâŸ{÷.Þ}÷]Œ7¹¹¹˜={6BBBT5Ñ«±§“ˆˆ¨šðññAJJ ÀÒÒ³gÏ.õš#GŽ`Ù²ecccœÍÌÌ”ÎÛÙÙUY|DDD!APwDDT}}ùå—8qâ„RùçŸŽØØXŠeü1¾þúk…zƒF‹-ˆ{÷îÁÈÈ]ºtÁ„  ©©‰GÁÛÛ[©ý·ß~~ø!ù0ÑÂ9Ž–––xðàÒ=š5k†ÀÀ@¬¬,X[[ãwÞA÷îÝ Øï`ðàÁ˜:uj‰÷¹}û6F+W®àÑ£G ØÚÚ[õêÕhÑ¢…BÙ7°sçNDDD -- °··‡··7Ú·o_¦ç%""*E0""¢W¸víš°|ùr€øóþûï Bll¬Ð»woÁÍÍM âãã…ÐÐP¡cÇŽbÝzõê “&MöíÛ' 2D,1b„ ‚-„†† ÖÖÖâ¹aÆ 7nÜc8}ú´Ð¤Iáý÷ßΟ?_ì=>úè#aß¾}‚‡‡‡XÞ¥K¡sçÎB`` °bÅ ±ÜÜÜ\HKKÛ/((&Ož,žÿä“O„Ý»w -[¶¶¶¶ÂíÛ·Ëô}%'' ¡¡¡‚‘‘‘Øž±±±°lÙ2á×_\\\Äò3f(|EŸiòäɯ¼OFF†Ò5ƒ BCC…ÐÐPaß¾} fçÎS¸~þüù‚T*>>>BHHˆðñÇ‹õýüü„œœœ2=3Ñ+1é$"¢2™2eŠ˜èéé áááBHHˆP¿~}áÁƒ uûõë'ÖuppË£¢¢¡ÔÔTñܲeËÄr …„çâÅ‹‚¶¶¶_ì=\\\ÄòÝ»w+Üãøñãâ¹&Mšˆå¿üò‹X¾jÕ*±¼qãÆbyPPXîêêZ®ïËÌÌL¼ö½÷Þ˯\¹¢ßÁƒ‹}¦Ò’ÎÒ®yüøq‰IçÏ?ÿ¬°çææŠçÜÝÝÅsÓ§O/×3#ˆ[¦Q™|óÍ7pssdeeaðàÁ3f vîÜ ‹¯kÛ¶­xljjªpîÖ­[âñøñãa``ˆGpp°xîûᅦO‰óÅãºuë–éÜíÛ·ÅãŸ~úI<¶±±)öøÜ¹søçŸŸ|ò <==•~’““‹ÏÉÉI>>ðððxåuEWS•H$ çòòòÄcCCCŒ9kÖ¬ O4}}}‘€   œ={¶Ä{hkk‹Çe:WôÞ±±±âñåË—áéé @ž\uñâE8::"""üñ‡RÙÙÙÅÆW§NñX"‘@&“áñãÇ€¸¸¸’KebbbÄãÚµk+œ+úçUž½B‰ˆˆJ¤“ˆˆÊìÖ­[ ‰È®]»pìØ1xyyUIûS§NÅÚµk!.\¸€sçÎáàÁƒhß¾=œ«äÅÑ××ÇÓ§OMš4¿¿±õš6mZ¡ösrr>Mx {wK³ÿ~¬_¿ƒƨQ£*G!™L&>oÑXŠûLDDTY^KDDe’˜˜lܸ¾¾¾€‚‚ >÷ï߯’{4kÖ ½zõ?/]ºë֭ôiÓª¤ý’téÒE<ÎÈÈ(vØìW_}%ö .[¶ ¡¡¡J?&&&Ŷ_t[“§OŸ"==]üìêêZj|iii:t(öîÝ‹1cÆ **ª¢ èÙ³§xüòJÀE?MDDTQL:‰ˆ¨Tùùù6l† ‚#F`ýúõâö)))xûí·•zó*ªh‚=== 4¨JÚ.ÉüùóÅa¥‘‘‘صk—x...Ÿ|ò 6l(“mݺu±s:uttŠm?((™™™€­[·Šåæææ˜4iR©ñ%%%‰C}AÀÝ»w+ö ÿúꫯÄy¸W®\Á¥K—È“ã£G÷þþøã•ºpõZ""z¥©S§ ŽŽŽ¡S§NÂéÓ§…~øA°³³SXµU«V„ ÁØØXa%Ú &/^ÜÜÜ®qrr/^¬p¿‚‚¡yóæbo¾ùFá|jjj±÷øðÃ…1ÖÂwww!""BèÝ»·P«V-±¼aƀÄv#""„=z‰D 4kÖLhÛ¶­`ff&Ìœ9Sa…ײ(ºzí!C„æÍ› ­[·444‚›››õÊgòðð¿“®]» „æÍ› Ïž=+ñš²~×÷ïßüüü]]]AGGGhÛ¶­P»vmACCCèÝ»·^®ç%""*ADáu$·DDôßôÏ?ÿ --Müìàà€´´´b‡ÔÖªUKaèhÑò&Mš <<\é\ýúõaoo¯P+¶ïââ¢0ï1''§ØE…êÔ©333…Er 999!""ùùù åZZZ⊼…ž>}Š7n ''&&&hذ¡ÂbDeU¿~}$&&~þùgøúúâÚµkÈÊÊ‚µµ5,--K}&â¢F¹¹¹¸rå ìíí¡¯¯_â5åý®srrƒ´´4ÀÖÖ2™¬ÜÏKDDT‚`&DDD*ðrÒYÙňˆˆþ£‚9§“ˆˆˆˆˆˆT†I'Q ƒ§§'=z$–-Y²ÞÞÞjŒŠˆˆH}8¼–ˆˆˆˆˆˆT…Ãk‰ˆˆˆˆˆHu˜t‘Ê0é$""""""•aÒIDDDDDD*䓈ˆˆˆˆˆT†I'© “N""""""R&DDDDDD¤2L:‰ˆˆˆˆˆHe˜t‘Ê0é$""""""•aÒIDDDDDD*䓈ˆˆˆˆˆT†I'© “N""""""R&DDDDDD¤2L:‰ˆˆˆˆˆHe4ÕU\bb"222Ô½ÁÌÌÌ “É*|={:‰ˆˆˆˆˆHe˜t‘Ê0é$""""""•aÒIDDDDDD*䓈ˆˆˆˆˆT†I'© “N""""""R&DDDDDD¤2L:‰ˆˆˆˆˆHe4ÕU_‚Ü¿¯…{÷4ñô©‚ îˆˆˆj&ƒÔ«—›hkó/cúoaÒIDD òó“' °oŸ §OëãÉŠ!"ª.¤RÎÎÏѳg&NG:ꉨTAàï­‰ˆþ«‘‘‘Qeí?n€E‹êâî]-tè…îÝŸÁÉé9¬­sQ§N>4˜©Ef¦¤¸vM§NéãèQH0~|Æ ==þ“žTÇÌÌ 2™¬¢—3é$"ú«ª¤óÎ-ÌŸ_gÎè£ÿ LúÖÖ¹U!©Bf¦jcÕ*#Ô®]€¹sSгg¦ºÃ¢7Te“NþΚˆ¨†;{VÞÞVHM•bÇŽøî»D&œDDÕœAÆOñcwÑ©S&O®o¾1æÜ{ª–˜tÕ`µ1fŒ9ºty†]» ]»çꉈˆÊ¡^½|,Y’„¥K“ðÓO†øè£úxþ\¢î°ˆ0é$"ª¡öí“aî\|ðA¾û.::üõ8Ñ•·w:¶l‰Çùóz˜5Ë \_ˆª&DD5Е+:˜3ÇcƤaÊ”Gð—âDDÿy..ϱvíCœ8¡åËÕ‘ˆI'Q “–&Åøñæpu}†Ù³SÕU¡vížcáÂd¬]k„Ç Ô&DD5ÎòåFÐоû.‰[ ½¼½Ó1dH:þ÷¿zÈÊâPR?þsƒˆ¨¹qC;wÖÆÇ§B&ã„"¢7Õǧ"=]6©;"&DD5É7ßÃÁ!ƒ¥«;""R¡ºuóñÁ±aƒ!ž<á?ùI½øÕ š8yÒãÆ¥qá ª‘Ö¯_6mÚ _¿~¸s玺Ã!R9_ß§ÐаgO-u‡B5“N"¢âØ1èéÀË+SÝ¡©ÅªU«™™‰èèhìÛ·Oá\·nÝ`cclݺUMU-ƒôè‘É…Hí˜tÕçÏë¡cÇ,hiq?Nª™&MšØÙÙ¡ÿþê‡èµèÜù._ÖEN‡¸ú0é$"ª!¢¢´Ñ¢E¶ºÃ R›‰'"<<€µµµºÃ!z-r—'ÁÍ›Zê…j0Mu@DD¯Gb¢ææyêƒHÔ®];¤¥¥)”õîÝ?þø#`êÔ©Ø¿?zôè5kÖÆÐÐÐÛôóóCûöí±víZÄÆÆ"''cÇŽÅO?ý¤TÏßß'NœÀ„ Î-X° ,>|M›6äää`ëÖ­8pànÞ¼‰çÏŸ£nݺèС&Nœ;;»Ê}!D*P¿¾üïýädM4ož£æh¨¦bO'Q ñü¹ôõ9´–ª‹/¢oß¾âçnݺ‰ çÓ§OqìØ1@hh(?~ ذa†Ž"66±±±èÚµ«ØÆ™3gpàÀlذ»v킞žLLL”ê½gll,6l(–ÍŸ?_l»0áÌÈÈ€/^Œˆˆ¬X±þù'°wï^ <aaaUÿ%U’¾¾|{¬ÌLþ³ŸÔ‡oQ !વTí 2D<þã?šš øý÷ß‘-ž——'.ü“““ƒýû÷ÃÛÛ»Øö’’’°lÙ2˜™™¡E‹ððð¨’8W­Z…«W¯ìííááá:uêÀÏÏÏ>û yyM@ÕKáßûçHjĤ“ˆˆˆÔÆÝݦ¦¦€üü|ìÝ»°{÷n±—~ýõWÀ±cÇ```WW×bÛëСôõõÅÏ?þø#ÆWé89"Æ fffâñÇqñâÅJß‹ˆèM䓈ˆˆÔF*•bàÀâçÝ»wãÖ­[¸zõ*V¬X©T ¸víbbb°{÷n 4ÅÿÆÄÄD%q&''‹Çüñ‡¸½JÑáÁpóæM•ÜŸˆè¿ŒI'©UÑ¡²‘‘‘X¼x1<<<`oowwwñܺuëpúôé‡Ö€–VÅVè””2ö¼nݺâq§NÄ9Ÿ/ÿŒ1¢B÷'"z“1é$"""µ²µµE«V­ÄÏ¡¡¡bb9xð`±<$$­[·FãÆ«<†¢Cr çe®X±=zôxyy‰çccc‘ŸŸ¯pýÊ•+Ѻuk¤§§WylDDÿuL:‰ˆˆHíŠö^¢[·n€=z V­Zâ¹¢ U¥6mÚˆÇW¯^Å“'OpâÄ tèÐ0yòdØÚÚ/V´dÉ$''#33ûöíÆ 0cÆ …X‰ˆHŽI'©]ÿþýÅ¡±EuttЧOñ¸èÊäädØØØ(ìÛ¹mÛ6ØØØˆ •V¯ÐôéÓѧOaß¾}ðôô„••fΜ @žïÞ½3g΄ƒƒÑ¥KôìÙ!!!X±bFUõ_ Ñ@"\@™ˆè¿*11eªkcÓ+W&¢oß²Õ'"¢7ÿþ§Ê233ƒL&«èåÁìé$""""""•aÒIDDDDDD*䓈ˆˆˆˆˆT†I'© “N""""""R&DDDDDD¤2L:‰ˆˆˆˆˆHe˜t‘Ê0é$""""""•aÒIDDDDDD*䓈ˆˆˆˆˆTFSÝ‘êD<ŒÀ¥û—P  E´³j÷ÚÛ. péþ%\O¼Ž¬Ü,˜×6G«ú­Ð¤n“ÛNÎHƹ;çÿ4µtk¡‘Q#¸Z»BCRúïËÏÆÅÅûájí —.~>""ªìé$""zåäaZÈ4Œ›©7q/í&욀±Ac‘•›õÚÚÞ}e7ÜW¹cúÞéˆMÅ“çO°+bzmì…ûéÙé õ={„÷v¾58}éÙéøûÁߘ°kzmè…ȤÈWÆ–”‘„ö|„•a+ñ×½¿*õœDDT5ØÓIDD5ÆšskPO¿†¶ªîPTnYè2ìÚß±·o˜ã0 Þ<óÌDz~Ë^KÛî]€‘žvÜ=-=±|õÙÕøîÔwÐÑÔÁ·ý¿Ëg=Æ™¸3Xã½=ìzˆåï¶}>Û|0}ïtw¨ÄØæš M ?U½J÷tJ$þð‡?üáÏ+~†}óœÿŠÕgWcו]êCå’3’±åÒ¸5rS^jojÞÍzã·«¿áö£Û¯¥m/;/Ìóš§pÀ˜öc !ÑÀáèà åÆúƘÑe†B m,Ú ±qcĦÄ"-+­ØØ~½ò+¢’¢0Ùmr…žˆˆT£Jz:§M›WWתhŠˆè²|ùru‡@5ÐñØãÈ+ȃ[#7¥s¬;aßõ}8}]'ª¼íî6Ý‹mGGª-©4¥š‰`¤g„:}Pì5Y¹YÐÕÔE-ZJç3±èø"¬´)™)å~.""R*I:]]]áããSM½Q‚ƒƒÕ‚Ú ‚€Ë.#:9OŸ?E#ãFðlê ]M]±Îå—v; Ó‘aŒË\¸w#_GKG´oоÒõsósÿ4+ÃV$à#÷ÊkQ‘I‘8ç„O`r§ÉjH•ÎÏ90ýš÷ƒ[#7„\ )µ=""z}8§“ˆˆT&6%“›ŒŒì ô¶ïü‚|ü€/~‰Ÿ|~BsÓæ õþ€†Dáñáxòü ìMíq3õ&–\†®6]ñàÀòÖ¯ªXAÀü#óðwœ­œáháˆ]»°îü:ääåàjâUL!ž‰é‰ä½†/+,KÌHËb’cp(úlëÙ¢™I3±üØcÐÕÔ…{c÷ ·]’µçÖÂDf‚]f”Xç½ 8s1É1xôì÷]Œ¡­•‡«…áfêMü0ø‡RïKDD¯“N""R™»iw‘–•†C㉠É쮳1àç˜2 ‡Æ‚D"A[˶hkÙGoEdb$ìMí1Éu’ØÎúóë±ìä2|sòÌõš[áúþ܋ژâ>¥Â±Àö¿·#àï m3‹û,Û8uSöL¶T»Ø{§hOkU)\AVKª¥tN[ª xž÷0´ÍPx·òÆØà±8wVœ{iUÇ ÙyÙØ2l õ +ÔvIþÀ‰ØØÄ⋱Æ{ ôµô_Ù©·L!""•ilÜþ=ýzÅô´ôÐ×¾/n¦ÞÄ­G·”®‘H$í2Z¡ì½vïAOK;ÿÙ‰œüœJÕ¯ŠX·^Ú ˜ØQqNd_û¾°¨mQ¦û©Ra☛Ÿ«t®ðû(Ú,ÕbÅÀh`ØSC¦"ìvfïŸÿ¨pV¤í—GãÛ?¾Å/ïüG ÇW>‡KÌò˜…W èÝ œ¾}ƒ~¤°ÍÊg?à ‡AèhÝñ•m‘ú°§“ˆˆT¦±qc˜ÊLq(úÒðôùS@ÄÃò•P›ÖmªpM]ýºJI‹Ž¦,j[àfêMÜ}|6õl*\¿²±æäãÖ£[J¤h`Ø@©«:VåZÈFs:Íj™o?ò²Â23™™ByÝ:X7d†l‚Q£ðmÿoa[϶JÚ.t"öþwüØä³ N–N¥>GQVu¬0Æe ¾ùãü€÷;¾Cчp&î ìMíÅyº•8wçò ò#G*%ÐDDôz°§“*lÛ¶m%náîî^zo(¥ïãŸþQwXDjñÛÕßÐñ‡ŽX|b1n§ÞVJ®ò…|¥k „‚W¶ùò¢3å­_éXKi®´x^‡–f-qâ”Ζ9ÔwP:×À°5„†D{®î¶ªh;<>ÿþ1V ^…¶–mÅòÍ7#!=¡´G42n@>ÿÌk™ã#·8¬–ˆ¨šcO'U˜ŸŸüüü0qâD¬[· •J‘——§æÈÔËßß'N„¹¹¹ºC!R«¡óχ†DûÇì‡LG&žûùÂÏ8}ût±×=zö™9™0Ð6˲ó²ÿ4zZzhhذÂõ¥R‹drûåíhY¿%Z›·.s¬R‰Më6ElJ,î¦ÝE#£F ñÜM»[ÆoHNs:»Ût‡¿†?ÎÄQê={ç,$ zÚõTºî³ƒŸÁ³‰'´€¥¡K±4t)ætŸSé¶ï<¾ƒI»'aIß%J[­l¾¸m,Ú ~­ú€°Ûa  sãÎJñ=|*_e·°Ç²E´±h£T/äZŽÄ«µ«Zt"""9öt‘JH ¶¦6A@^â/£^µ¥†D"ÁOý¤P¶ùâfdåfa˜ã0¥lÊSßTfŠ´çiä=—ËO/GrFr¹c}·í»€uç×)”‡\ Arfr‰Ïöº˜ÈL0Òy$ÎÄÁ¥û—ÄòèähŒ:ˆÁƒÑ¤n…kÖ_‡Œì Lï2ã;ŒÇ ‡AØta~»ú[¥Ú~ôìFކ©Ì‘I‘X¶RáçÉó' ퟾}þGü‘–•¦Pžœ‘ŒŸþú  h1 Òß½>ìé$""•H$˜í9sÍÅ[›Þ‚—­ôµõñ0Bœ/Y¸ä0Çaâu¦¦xòü FŽ·@ EW›®˜é1Sé>å©ïíàoþøŸü ÉÉ0Ò3‚GSrÇêëä‹)7°íò6ÜJ½G GêתM M|~ðsÜJ½….MºÀ¥K¹Ú€…Çн¿eÙ¿ÓÉÒ ‡¢Ák½ºÙtƒ©ÌII8s |Ûÿ[´2oUìµ'bOàjÂU¥9ÖFÖØr`…¾G""ª<&DD¤2CÛ Eç&qúÖi¤†¶ªPÖÀ°A©Ûe8Z8–Z§"õ]­]ájíZ©XŸå>CPxFµ…æ¦ÍÅòü‚|Ü}|—9nU+iÞc!Ϧžðlê©T^–}FKk´,ÿPX‰DRî?èfÓ Ýlº•û~DD¤ZœÓI¯Ý–-[бcG yóæxøð!öìÙƒ¿ÿþÓ¦MÃ[o½¥°Ñ—_~ ___œ?vvvˆŒŒÄž={°yóf…vÿþûo1á,Ï=Ö®]‹ .(´µbÅ lÚ´ 011Áõë×1nÜ8üþûï õʽY2³3ñ¿ãÿõÄk åAáAxœõï8¾£¦Èˆˆ—» IDATˆª&ôZ%''ãƒ>@~¾|þI“&ÁØØÝ»w‡‹‹|XÖáDZqãFÀýû÷ñÕW_‰×Ïœ95‚¥¥%æÌ™£|ƒ Ü£8_|ñ,--ѰaCôèÑC,ß³gx\‘؈¨x—\ÆÊ°•HÎHFFNV†­Ä¹;窬~U3Ð1€³¥3FŒÀg?ÃÒÐ¥4óÌǨv£àÓÆçµÅBDDTÝqx-½VGŽAff¦øÙÂÂB<¶´´wìØ‰'âøñã ½žM›¾ØDÞÖVyÓòŠÜ£866/6’¯U«–xüàÁñ¸"±Ñ«ù:ùª´~UÑ×ÒÇN¿ˆNŽÆµ„kHÊHBwÛî˜×c^©ó‰ˆˆj&ôZ%$(nÞ¡Cñ ƒDFFRRRÊuu_,Îa``€â”÷Å)zŸ¢ŠîïW‘؈¨xm-Û¢­e[•ÕW•f&ÍÐ̤™ºÃ ""ªÖ8¼–^+SSS…ϧOŸ† J?III€zõê)ÔÏÊÊ‹öfVæU‘؈ˆˆˆˆj&ôZL›6 ƒ BÏž=z¯^Uܳ-33µjÕÂ_|èÞ½»ÂJ¶7oÞoܸQì½Ê{ŠªHlDDDDD5 “Nz­ÌḬ̀|ùrH$À¢E‹pêÔ)dee!&&Æ ƒ¹¹9¦L‘/Õoee…yóæ‰×ûí·ˆ‹‹C||<-ZT%÷¨¨ŠÄFDDDDTÓ0é¤ Û¶m$‰Â—ùùùH$J?+V¬ëLœ8§OŸÆÐ¡CQPP///˜››ÃÛÛ8sæŒÂÐÕ/¾øÛ·oG‡ƒæÍ›càÀ9r¤B<…Ifyï1qâDqUÛB&&&øý÷ßáîî®ûáÇ!‘H÷ÊØÞ{ï=…öœœœ¸w'ÕH¡èÊ(i@"A`` ||¸<<½^±±± «ÄÆÇÇÃÜÜ\):t( 88X%í'&&"##£LumlšbåÊDôí[¶úDDôfàßÿTYfffÉd½<˜=TíÍš5 ¾¾ÊÛ"\¾|YŠFÆðvë·ÑÒ¬¥XçåÅjõY„-—¶ âaò òÑÆ¢ F:…©hýì¼lD'GÃw»|&©†[‡o-W¬…žç=ÇŽ¿wàüóÈ+ȃ‰Þk÷6ýµ W®ºÚtÅøãKýŽ.Þ¿ˆïþøNüüó;?cWÄ.üqëhIµàÙÔo·zyyØri þ¼û'ôµôÑÕ¦+¶X¡ï¼Ð¹;çp êâŸÄCGSÎVÎì0ÆúƯŒ9ìvVŸ]­P¶Ú{õ+îywÇ»È/È/íëêbµ÷êRëE'G@±ó6-ëXb’c Ž.@tR´xÞ½±;>èô_$þ™ÀFŸÐ×Ò/õÞqâ ©Q¾JUçkˆˆT…‘Ê\¸w~~èܤ3|Úø @(Àïׇ÷fo|Ýïk h9€âb51)18 =ízb¸ãpÜL½‰Ïþˆ]»°Óo',j[T¸þ˜ 1°¨m©§$I¹cä+¥ß>ÑIјÐqœ,ÿ4cƒÆ"'?÷Òîaó°Í01(ÛÊÚMë6ÅÔÎSñÝ©ïpéþ%|qø Ø™Øa¸ãp½qT\Äçîã»p²tÂ0Ça8u3÷ÍDzv:üÚúUè96]Ø„¥¡K1¡ÃxÙz!#;Û.oÃ7|ƒàwƒáPߡĘíMíѲ~Kˆ<€ù=磎nh¼ò9?rÿ‚ ”é;Ñ’j•©Þ£gµt”ç.Ê´åsg= m=Ýû -„½©=z5ëì0—î_‚C}ômÞ:š:Jm]¼QüeE¡¸Çqèkß·ÄØªó5DD¯“N""R™ôìt42n„uo¯ƒT"ônÖ~;üðå±/Ñ·y_hjh*,Vs7í.–ô]/[/òÞ¦u›bü®ñ˜d>6¼½¡Âõ5$¨¥S«ØEWÊ+|ú{\O¼ŽÏº}†±íÇŠm¸4pAÿMý¡©¡YâÂ.Å)\ÆHÏÐÖª-ÞióÀ£©Nß>µçÖbù€åèߢ¿X~êÖ)þ¨t–ç9vü½m-Ûb¦ÇLñúî¶Ýá±Ú£Ô¹¯AáAø'þü6ê7˜ÊLËôœí´/ã7Rvyy ‰òÖãšRùsæäåZ˜µ@ ³HÎHƺóëp$æ&¹NÂ…ûPG¯¾èñ¤ÒbïSø‹¢~¹øË+c«Î×½NL:‰ˆHeÚZ¶ÅjïÕbòSÈ­‘Îß9˜ä´0k¡pNSCÝlº)”uµé C=Cüqó¤g§+ôj•·~Uĺ?r?yYQÍLš¡±qcÜK»Wêý^¥Kã.ⱆDÖFÖxøô!º4yQ.•Hamd[©·*üVu¬páÞì½¶}ìû@Kª]M]ü2ìXÖ¶,6¶¬Ü,|zàS¤d¦`»ïvhKµ+õ¬•UØ»š“Ÿ£t®pËÂU^ Íô˜‰èäh|wê;dædâØcò *1áŠ_!ö`ÔÁWÆV¯!"zª$éœ4ifΜYzE¢×,552™ ::ÊC¥ˆ^‡ÔÔTØÚÚª; µ1Ô3DdR$¶]Þ†„ô<}þ‚ !=–•¦t±¾q±½VõkÕGZVâŸÆ£™I³ ׯl¬¹ù¹HÊH‚¶T»Øy¦2ÓJ'/·«¥¡©†utë(•¿œl•ç;ÿ¶ÿ·øú¯ñù¡ÏñÅ‘/àhሎ ;bà ÔÖ­­×ó¼ç0‰é‰xšý±)±J¿4xUÌé´ªcÅîE™’™¢P§†DË,‡÷fo¬=·k¼×û¼¥å2 HJ¯ø¹†ˆHUØÓIo´¬¬,H¥R&DjâÄÛ.oC¯f½0 ÅéA"‘à`ÔAl»¼ ”ç÷eåfÛVFv(-ðRÞú•USCššÈ-ÈEn~®ÒÜÃg¹ÏÊt?U)Ïwn¬oŒÅ}cAϸòð NÞ<‰Í—6cÕÙUX5x•BÏ* ÿ®gt™† à½Ùïÿú>öŒÚSæ-9T1§ÓÙÊ?_ø1É1JscRä 9Y:)]—žŽÜü\ÔÑ­ƒE'Á¥Ë+A*N#£Fåª_ݯ!"R•*I:׬YŸªhЍJI$Œ7Ë—/Ww(TC :TÝ!¨M~A>vü³ÆúÆX5x•¹k‰×J¼.=;ñOãaQÛB,KÉLABzLe¦J½V婯-ÕVèiûdÿ'ð²õBw›îeŽU"‘ÀÉÒ î]ÀÕ„« Mv^6n?ºýª¯E¥Êûß5‹z/‚‰ÌÎVÎp¶rÆ»ÎïÂm•~¾ð³RÒi¤g÷Æî€•ƒVbLÐLÞ=[‡o-S’¨Š9M<`¨gˆã±Ç1­ó4…sÇo‡ž–z7ë­Pž•›…‰¿NÄgÝ>ƒLG†1cðÑžð˰_”†%Qå)G"""ªR )¬êXáIÖ„? Ë3²3p8úp‰×éhê`ièR<Ï“ÏÇËÍÏÅÂc ‘W‡Ý>TXq¶¼õ7Âç‘_´¬4ˆ<C=ÃrÇ:Å} 4$XºOŸ? Oø¾>ù5 „‚ |[U£¼ÏqñÞE¬;¿ù‹D<6%‚ ($ñÅqkä†9Ýæàâý‹ð?â_eÏP^zZzø´ë§ˆLŒTX<'äZÎÝ9‡©îS•†+þ²¡W³^òçè>çîœÃÿŽýï5GODT3px-©Ì÷¾Ç¬ßgáí-oæ® ôµõ‘—ÆÆ‹O,†£…#ö^(^c¨kˆžv=ÑkC/ëãîã»ÈÉÏÁ쮳áëä«tòÔŸÜi2¦…LC¯ ½ð,÷ºÛv{ßÊ««µ+–XŽGÀm•šÖmŠGÏÁ¯­Z›·Æ¥û—Êõ=ŦÄâ‹Ã_ˆÃAGŽ‚w+o8[:cˆNŽF~A>|·ûb˜ã043m†G 2)ÙyÙðÝî‹!­‡`H«!åzŽYž³°åâìýa/6Dzv:î¥ÝÃÀ–1»ëlò}<ûqâWßí¾Ùn$lêÚàpôahjh"0<ÑÉÑèfÓ tú \Ï^Þný6ròsðíß"àïhjhâ~Ú}Ìò˜…qƉõ~¹ø B®…àjÂU¤d¦À»•7êèÖŸcË¥-¸šp¾N¾ä0c‚ƈ[²nKRÚ\Óê| ‘ºH„²N®(©‰^KÕ’D"Á´iÓ8¼–Ô¦pxmpp°JÚOLLDFFF™êÚØ4ÅÊ•‰èÛ·lõ«Š ¸ÿä>’3“QG·š7AbF"î<¾@¾úhá~ýîG™pæÃ3ÈÉÏÁ”ÈËσ‰ô´ô”Ú.o}@ÞëwûÑmê¢aƒ Ç È·ëˆIŽA^AšÖm m¼µé-$g$ãÏ)–ù;ÊÈÎPþjYÇFzF¸špU¡¼aÔÒ©…ë‰×•ê%.ïs¤>KŃ' £©«:V ûm¦>KElJ¬Â½¬¬!Ó–)Å\Ï šÖmZæç®j9ù9ˆM‰EP€¦u›*½q㘞(~nmÞZR-¥_XÕ±‚eK\¸wA©çZKª…¶–mKŒ¡:_C5—ºþþ§7‡™™d2Yé‹ÌžN""R)‰D‚† ¼úµê£~­ú¯¼N[ª–f-Ë|Ÿ²Ö—éÈÐʼU¥bMËJ܃s°Ú{µÂê­Ù¸óøN¹ç.Êtd%îëYÞr üßy]ýº%.TW¿.ê6,þ\yö"}´¥Ú¯\M·‘Q£bØ)é9\¸”;†ê| ‘ºpN'Q9åæçâHÌG+”ýïøÿ— '¨1:""¢ê…=DD¤vû#÷cûåí 󷌡­‹_ý·¼õ«š¡ž!&wšŒe¡Ë°úìjé!îq ´ °rÐJ…ž3ßíÊóP_V8“ˆˆèMĤ³šûõ×_¡¯¯>}ú”ûÚ³gÏâÈ‘#X»v-455qÿþ}DHô’_ôõ ¼³8{8rX»ÐÔøÎÖýš÷C¿æýTV¿ªiIµ0½ËtLï2½Ôº#^CDDDDÕ“ÎjìÙ³g:t(ôõõ˼PHQ:uB§N°gϤ¤¤¨ B¢—<{ *O:+ð΢S'ùÏž=ßY"""¢7“ÎjL__Ð××Ww(De£¯ÊÿKDDDD&Õ^áv Dÿ|g‰ˆˆˆ¨ˆ—tFEEaçÎâç¹sç"::G…T*EÇŽáâòbòS§Náĉ€† b̘1€ØØXlÛ¶ €¼Gò“O>)±ý¨¨(>|ÚÚÚèÕ«ììì—.]ÂÉ“'!“Éàåå…¦M_ìmƒ€€…v45ÿ¸’’’pøðaÜ»wèØ±#:txõòõ.\@XXrssÑ¡Cxxx(Õyòä <ˆ»wïBWWnnnpvv~e»T‚M›€»w_|nÝðö¶lnÝzQþé§€®nñmDEEÞ)Ì DGGR)б#PäÅ©SÀ¿ï,6þ}g üûÎB_ø÷-¶ý¨(àða@[èÕ ø÷Å¥KÀÉ“€LxyEÞYÄÄEÞYÌ+Ÿ—YTR’¼Ý{÷y쥼³¸p rsåu‹ygñä pð ü»ÖÕÜܾ³DDDDÕBÝ2eçÎX°`¾ÿþ{|üñÇxðà‚ƒƒÑ¾}{,[¶L©þ¢E‹°iÓ&¥òõë×[¿°ý+VàóÏ?GBB6n܈-Z 00þþþX¸p!>|ˆ+VÀÁÁÇ/±¼¼<…òåË—ÃÚÚ?üðRRRðçŸÂÃÃ]»vERRR±Ï<}útÌ™3<À©S§àé鉷Þz YYYbcÇŽÁÊÊ «V­Bjj*"##Ñ«W/´mÛ7oÞ,õ{¥b\½ ,XìÚ¥X¾w¯_óÏ?å d×®òd´8Ó§sæÈŸõÔ)ÀÓxë- È;‹cÇ++`Õ* 5ˆŒ”'ÊmÛ|g‰ˆˆˆÔN"‚P©$ÂÇǧªbz- „Ìš5 _ý5@´iÓ±±±HKKƒ¶¶¶X_&“ÁÑÑaaa í´k×qqqJ õ¶ÿé§ŸbñâÅ€ÌÌLXYYAÌœ9óæÍ¤¥¥ÁÊÊ íÚµÃÉ“'‹m'++ ºÿö„íØ±¾¾¾1b¶lÙ ùïÂÂÂÐ¥K¸ºº",, ‰àè興ˆÌ;_~ù¥Øö²eË0{ölL:ßÿ=ÀÙÙ‚ àÒ¥KâõwïÞE‹-ðûï¿ÃÓÓ³Âß¹:H$L›6 Ë—/W_ùù@ß¾òähÿ~ woàôi`ÂàÌÀظlí „„³fÿ¾³ My/fZš¼g²L8:Ê{ ‹j׈‹S^¨§°ýO?þ}g‘™)Oè˜9ø÷EZš¼¼];yÏgqíde½è½Ý±ðõFŒ÷òþûÎ", èÒpu•ÿûÎÁшˆ÷–yg±l0{60uª<ùä=š‚ ï…-¼þî]y²üûïòDU ‡È—R³b˼ИMS¬\™ˆ¾}+°Èýgñïª,333Èd²Š^\c{: ;V<–H$puuEVVîY £F ààà€'OžˆÃtÀÐÐöööˆŠŠ*S›K—.Ì›7OL8ÀÝÝÝ»wÇÙ³gqêÔ)…kAÀ¬Y³ʦL™¬_¿ÙÙÙ€üü|<|øPáù6lˆåË—£Q£FeŠ^"•Ê{ÿš4† “o 2z´¼ç³¬ gQEÞYH$ò„-+Kqoeyga` ïÑ|òäÅ0]04ìíåÃpËâßwóæ½H8ÀÝèÞ]¾UÊKï,Až`5eŠ<¦õëßYäçË{_‹>ÆòžU¾³DDDDjWã“Î (|622€ mQR+++…ÏÐÐЀ………B¹L&+Ó=óóóMMMØÚÚ*···\¾|Y¡ÜÄĵk×V(ÓÕÕEÆ ‘••%]·nd2lmmÑ»wo,^¼çÏŸÇøñã™tV†‘‘¼÷¯ @>ôsÁ eËŠµõÒ;‹ßÙ mQRœ—ÞYÈÅ—ÞYÈde»g~¾¼×RS(æÅ¿ï,^zgab¼ôÎBWWžPfe½:»n<[[y/òâÅÀùóÀøñL:‰ˆˆˆªŸtJ¥ÒJ]ÿò\˲´/‘HÄ¡«ªòrûE{D‹*]]X¿C‡ˆ‰‰Á‰'йsgüþûïpuu…££#çtVV“&ò `ëVy2V•|g•æZ–¥}‰äÅÐUUy¹ýÞYÎ(¬ß¡ƒ|£'€ÎåCj]]åCtùÎªÕÆ?7Âf‰ l–ØÀíG7u‡Så&ìš›%6Xuv•Ò¹Vß¶Ÿ½ðgãŸÅó=7ôT8÷ζw^gèDDD¯UO:ËÊÀÀOžÄîݻѥKA"‘àìÙ³8rä`nnŽððpôéÓˆŒŒÄþýûѯ_?,Z´Hl»oß¾˜4iöîÝ‹fÍšáÉ“' µµ5¾úê+ý©¼Á'U+VÈÁII‘Ï?´´´´äÉSt´|žçËIW¡û÷å[—.Ú³p!Э›üÇßÿÅê´k×ÊÛø÷ÅܹÀÀò=+ßz HL”Ï«tr®_—_ëî.ŸSY\ûööò{bcå  ¿¿|oΆ å[±ÄÅ99òrOÏW¯;|¸|±Ÿ9säCa;w–Þ½[sP|¸ìÙ³ò…–ssyoeŸ>òÅŒ"#å«ÿöë'ߦPß¾À¤Iò-hš5“÷ȷgá;K*0çàô±ï—.ØsuO¹®½tÿ>Øý¦w™ŽaŽÃT!QõRã’ÎBÆÿ?{///xyy)•÷êÕ ×¯_DZcÇ––†>}ú {÷îX¿~=âããËܾŸŸ_±åEW¹-ÎËs4g̘???:t÷ïßGƒ 0eÊtìØQéÚ‰'¢víÚ˜1cN:… .ÀÄijfÍRJnðàÁœ9swîÜ……//¯JÏ­±d2ù°Ï¢ttä Xy”ðNÁËKþó²^½äÉå±cò-Núô‘¯»~=PÌ;[bû%¼³(åUš£9c†¼­C‡ä‰tƒòD¼˜w'Êš1C¾ªí… ò……fÍRNnäûxž9ܹ#_ðhà@ùwÂw–ªXpx0n¤ÜÀŠ+pìÆ±r]{8ú0>?ô9–õ[†n6ÝT!QõSc÷鬮V¯^÷Þ{äIð_ý…§OŸª9²ÿ¦j±Oç›nõjà½÷äsHy²÷×_ßYܧúÿÜ2aËð-X|b1.Þ¿ˆ¼ü<´±hƒ]fÀÙÊY¬›“ŸƒÕgWã@ÔÄ?‰‡Ž¦œ­œñŽã;ðlâ ©Fé¿Hh¶¬ò Ê6´ºžA=œÿè|™ê&¤' ïO}±jð*¸Z»"äZfé]¦cr§ÉJõ#“"ÑSxÙzÁ­‘V]…uCÖ¡E›2݈¨ªpŸNª¬ÊîÓYc{:««Õ«WÃÎÎ^^^ÈÎÎFxx8\]]ÕQÉV¯–Ïõò’ï._=–¨ˆg¹Ï0ÿÈ|Lï<ÍÍšãfÊM|vð3øíðÃæa›Ñ¾A{€ÿŒ:ˆý€v Ú!#;ÿÚˆ÷w½í¾ÛÑ¡a‡RïýI´Jžá³Ÿ¡óþpµ.ßû}6î,ŽÝ8†±íÇ2á$"¢‰ U3ÎÎÎ9r¤8ôUSSß}÷ºÃ"*™³30rä‹¡¯ššòE’ˆŠHÏNÇ,Yp¶r†¾–>Z™·Â·ý¿En~.¾:öbîíÙ¸³°­g ÷ÆîÐÕÔE=ƒzø´ë§hlÜXÑáˆ{‡O»}Zîkë×®™Ž ?ýõ“¶)DDD5LŒ8 IDAT“ÎjfóæÍ€¹¹9>üðC\¿~-[¶TwXD%Û¼Y>¯ÒÜøðCù3KÙÙisêÓeUDÀi¦“Âεͪ5cYÏeèié1uïTœf:±ð¿…o·"‚ ‚ð–ˆ5‚ B™Þt8ÛW¸¶¾ßë§“Ö±ªÃ~|muû±ÃEÆxuÂÕ"Ëiaß‚k¯•VX‚ ‚Pn•J§sÍš5„††–FQ‚Pê8ÀøñãÕ†ðº|ù2¶¶¶êCAAmJ¥Ó¹k×.víÚUE B©»ví×®‰ÑA}222Ô‚ ‚ ‚Ú”J§3((ˆÞ½{—FQ‚Pª$ Ì;WÝ¡¨^½z©;AAµ ‚ ‚ ‚ eFt:AAA„2#:‚ ‚ ‚ B™NAAA¡ÌˆN§ ‚ ‚ ‚PfD§SAAA(3¢Ó)‚ ‚ ‚ ”Ñé,ciiiÔ¨Qu‡RjÞÇ:}HÎÞ;‹é8Sf홥îPJÍûX'AA„÷…–ºxßI¥RòòòÈËËSw(Åbdd„««+'NœPº÷®ÖIÉ“æÉ_ÃwŹ{çpÿÉÉ'3£û ¥ûïb„7Ξ°=hjhòy‹ÏÕÜI¸CÈÍùן·üM‰¦#z=©TÊŽ;¸ŸtŸ±­Æ™>3'“ÿîýÇÝÄ»èiëQϺ.•]ÞB¤‚ ¼¹,\8™œœîtèÐ]]]u$|`D§³ŒU¨P;wî¨;ŒRõ>ÖéCÒÔ¡)ÉÉê£T½uzŸl»¾ K#KšWk^êeÿsõbÓbËE§3ßΛ;‰LˆdD³hj•ÏNç•è+Lß7ËÑ—ÑÔÐ,²Óyèö!¾Ýý-N•œhP¹‰Ïùåà/8š;²²÷J*VzK‘ ‚P2†èèðÕW_1mÚ4ºtéBÏž=©_¿¾º>bz­ ‚PfbÓb™°cvL(ÕrkZÔÄ¿•?v¦v¥Z®*‡.fËå-J×ÍñoåOu³êo=¦âXôß"Fþ=’aM†aedUdúÐû¡Œú{c[Že}¿õ|åñ3?žÉÊÞ+¹þä:‰ÏßBÔ‚ ¼7üüþäøñãŒ5ŠS§NÑ£GzôèÁþýû‘J¥êPxÏ•›Nç­[·èÞ½;+VÄÀÀ€&Mš°sçN¼½½‘H$H$†.O‡¿¿?öööèèè`aaÁ'Ÿ|Â¥K—äi¶nÝ*Ï+‘H¸wï}úôÁÄÄsss||| ±+IÙaaaôîÝsssùµ+V(¤ÉÌÌTxNBB_|ñŽŽŽèêêbkk‹··7þù'E¶ÙËùutt055¥S§N>|XžföìÙòçÛÚÚröìY¼¼¼¨P¡xzzròäI¥ôéé霳™í3[Ý¡”šEÿ-"øj°ºÃ(1;S;ö ßCç:‹L›'Íãû=ßÓÀ¦ýöW¸×Ô®)ÛNÄÜм¬B¡”YXXàççÇÞ½{ ÂÚښѣGÓ¹sgvìØAnn®ºCÞSå¢Óyûömš7oιsç&66–Õ«W3þ|®\¹‚®®.R©”+V»»;ýõ‹-"11‘#GŽ˜˜HóæÍ  {÷îH¥Rºuë@@@}¼¼¼äm5qâD¤R)...$''3nÜ8f̘ALL ÇŽ#11‘>úˆ£G*¤744¤eË–H¥R¤R)999Ö»$1•äuyÛþ:÷> |ÐÖÔæÌä3DýE€wƒW &OšGçH—KÐl‡o¦éÏMyø€_ q~"+‡¬dÇ•4û¹‰é²‘€y}ç!].¥¢~E§²˜i;¦)ÄR’²#ã#™³oË-#~n<óúÎSJóª£áGqŸáÎÝø»ì·‹¤À$vìF*•Òa^.G]~m›åçŒd׸]$ÎOdËÈ-œ»wކ?6ä⃋컓¤ùI¼uí—·<*˜'sž°rÈJö\ÛC‹™-äêcwrvòY&wžŒt¹ér)¾8 rŠŠ©$¯‹ ºîõºÓ¾…ºÃþŸOŒõŒUJ{æÁî%Ý£CÍÞÙ|$æ¢Ó)ï¢F±xñbBBB¨]»6'N¤C‡ìÝ»WÝ¡ ï¡r±¦óÛo¿%99™+VЮ];œÙ¸q#öööJé'MšÄýû÷Ù°aü±<ýæÍ›±··gìØ±œ;wN)ßðáÃiÞ\¶¦ÈÛÛ›Î;L||<•*Uz£²¿þúk<<<hÚ´©¼“V˜I“&q÷î]‚‚‚ä»ÀV¨Pï¾ûNa䱨ü›6m’ç766fãÆT¯^ºté‚•Õ‹©Sééé,Z´WWW7nÌúõëiРãÆSÉ-‰’ν.oSN^›ÐÖÔ&hD6&6xÕñbJö|(îÚ›'ÍãkþGNnø‹jæÕdu©ãM`ß@z,êÁÏ»~fv/Å‘žØ§±üáûæF²7l_´û‚_÷üÊî«»ù­çooTvjf*ý3C3Æycœ×¸Bëœ'ÍcØŸÃÈ•æ<*[S[jXÖ`ýðõ쿱ÿµm–Ÿ?'/‡-#·`g&›òØÂ±ý6âúƒ+Ã× çü÷çòI¥RÖýozÚzôpëÁ£¤GŒÝ4–ŸC~–w–K¢¤1©òºªQec„g Œ³Ïr%ú ¹y¹¸Vq¥IÕ&Jé³s³yüô1' )tMdD|'îž@SCWWTnðÚ˜_¶àĤ¨6åÍ@Û€áM‡°˜Î<<Ȧ3Ç¥Åq$òñéñXZЦz,,Ký™‚ ¼]5kÖä÷ßgܸq,X°€1cÆàááÁÔ©S±µµUwxÂ{¢\ŒtîÙ#Û°CÅOR-,,¨]»¶Rú­[·¢¡¡¡td‡µµ5ÎÎΜ?ž¨¨(¥|îîî _W­Z€Ç¿qÙMš4Qºö:ÿþû/:uRº·{÷nTÊß¹³âô(]]]¼¼¼ÈÈÈPú¤ÊÐÐPÞáÌW¿~}lll¸|ù2ÑÑÑŪCiν.oÓ•¨+D§DS¿J}y‡3_›šm L7þ..U]äÂ|Õþ€­·*ås¨ä ïØH$ª˜Váqò‹z—´l'K'y‡SW¢®I=›zòg>]-]’“q­êZHîùëW©/ïÜåk`Û[S[.<¸ÀƒÄ ÷Û7–w8óu¨'û=°ûÚn•ã/͘Ty]„âÙys''ÉÉUü0nõÙÕ´YÔ†µç×’ø,‘Ë/Óo}?úoìO³y:©TÊ”½S貪 {ÂöŸφ‹õÏ(ró ž ¶üôrÚ.nËÆ IÎHæÔýStû³Ûxžû\!íÆ‹Yqzã¶cá ‰KãlÔY|7øâìGfNfÏ(ʺóë˜yh&OÒž°ûÖn>Yó ËN-+QYê™ ÀÑÈ£|¼òcN?8MBzËO/Çc±kϯUs„‚ ”–jÕª1{öl6nÜHTT;vdÑ¢Edgg«;4á= ö‘ά¬,RSSÑÓÓÃÈÈH龩©©Rú””*VTžN—/""BéÓ™WÓëèèÈYx“² MÿªüçèééQ¡B•ó©š?$1&&Fẉ‰IåYZZòøñcbcc©\¹r±ãy“˜ è×åm‹KÀ¢‚…Ò½ zÐÔP©yòô çïŸGâ')°Ì»ñwÉÍËUÈ[ÐtPMò¤/ê]Ò² uTÿ~|ù9–Æ%µ(*¿•±“£Ð4ÑWþž´¬ +ãåõªo3&U^A5ùëÜxrCÞyÉ·ãÆ~:øÝœ»ñ›ÏohHdŸž‹:G¿ ýõ÷(‚!‘HØpq/n¤—K/~éô‹¼Œ­×¶òUÈWhi(þ)Û~};³Ï¢KÝ.üÞåw$‰üú;¾ ²qe¾öüš†UÒ°JCöGìçæ“›Ô¶¬Í¨æ£äå,;µŒ_üÊì#³ùÎû;yúå§—cclƒ+ÿ×Ö?þY<+{¯”ýÉšO<ÈP÷¡hkjÙ~ªcRÖR³RXa=ÿ þg+gžç>gðæÁü°ÿœÌÄôiAx¸»»³sçNÖ­[ÇܹsÙ»w/T«V­èÌ‚PµtêêêR¡B233IKKSº«”ÞÄÄ---²³³åk_ýçééY¢XʪìWŸS±bE233IMM-õüOžÈÞl[[[+\OHH(p3˜ü6¶´|ñæ<ÿMZYÇTåw6ó;Ÿ/KLOTY±6–Õ©mͶòõ†¯þË]–«ÔYUEY–ý2+cÙ‡±OKÖÑ+*~к¢â럯”6¿³™ßù„â?¾ILÂÛ±ì´lÄïóŸË;œmÓ¢Z .<ºÀÙ(ÙZÞuç×0²ÙH…2º9w+ð¨Žü²Ç´£ð½ÓÕ¹+VFV¬¿°žì\ÅOî% C݇*\Üx0úÚúl¾´YitT½ôRøÚÅÆ…ÌœL?}wFÍ54d¯MÛêmåN}3²¹ìõXa}yAxwijj2dȶoß@·nÝ6…„âR{§^L1ÍŸf›/&&†ððp¥ôŸ|ò 999®}œ5kvvvE®©,LY–ý²=z°k×.¥{nnnŒ?^¥ü!!! ׳²²8xð úúúJÓ•3339{ö¬Âµ«W¯òøñc\\\F9 xþüÅ›¬Zµj±lÙë§…•$¦òÈÅÖ®>ºª4¥òhøQ¥ô làdéÄå¨Ë¤d¤(Ýï4¿¾Ë}KKY–ýêsª[Tç꣫ ;Ç‚¬ó­;J—m—¶©”ÿÕéªW¢®•EC»†JÓ\Ïß?ϳçÏ®í½&›‚ݩދ©ç:<Ï‘}OF§D#ñ“þDù÷ÛÆ$”½Ü¼\nÅÞBS¢‰½™½Òýêæ²#G®Ç\'7/—ÈÄH4%šT5©ªN"‘`g¢øúåæå††DC>­÷åššddg¦ÏÜÀ=-ũ޺ZºØÛ™“Ƀ$Åï!UØ+NÏ7Ж}?Ë~VPr% N,PŠ¿°+N¯(v|ª0Ñ“ÍFp0sPºçdîÈÖ­ ‚ð~ªV­[¶l¡S§NŒ9’ 6¨;$áU.:?ÿü3fff°ÿ~ÒÒÒ¸víC‡-pdì—_~ÁÑÑ‘aƱ{÷nRRRHLLdéÒ¥üðÃÌž=[~ÄGq•eÙ¯>ÇÁÁñãÇBjj*QQQŒ=šèèè";ùùعs'©©©„‡‡ãëëKtt4óçÏWÚ°§bÅŠ|ûí·„††’žžÎ¹sç0`:::ÌŸ?_!mÆ çáÇ„††IëÖ­K=¦òHSC“À~²õg}–öáÚ£k¤e¥qàæ^¨0*²7¾«†¬âyÎsz.îÉÅÉÈÎàAâü7ùsöÞY¦t™R¢Xʲì—iH4X9x%ZZôZÒ‹ .‘ÁÕGW鹤'Mì›àÓÀ§XùÓ³Ò ½Šïr_*èU`ùàåJùL L¼j0±¤f¦²õâV¦nŸJU³ªLîK$ý¹âY¬Y9Y<~ú}m}…UM M…¥ .làÒã7Ûý» c[UŠ¿°e±s-€W /Âã”gä¿Nu,ë(Ýáý3jÔ(&OžÌÌ™3Ù´i“ºÃÞ1©*'¾¿®‰„   yg¬´Õ®]›ŒŒ îß¿_&å(\]]‰/pçÝ÷™D"! €¹sç–Jy1)1TžX™AͱfØšR)óC”ü,Óq¦ôoÚŸõÃßïõ`½zÉÖõmÙ²¥LÊòäIëá âääH`à>þXµô¥eäß#9q€ë¯£«¥ È6¿}|¡ ¹Ù¸½ØHè¦´‘О°=Œùw :š:Üøò†üú®[»ðßêÏ0÷a|ëõ­üzVNƒ7¦’a%þèñ‡üz—Õ]¸{‹±-Ç*l”¿‘ÐP÷¡Löz1òÞ~y{öùí#WšKÓÀ¦üÒéÚÕlWh}~;òKO-eǰ妣Öò–Ä?‹'ì«°BÓLØ1m×·±±ÿFù2ù ]ˆºÀ_ÿÂŦàcnA(Jó÷ÿ‚ X¸p!«V­¢E ±‰Ø‡ÂÊʪÀM_U´Eí»×‚lífݺuyòä ÚÚ/vô»wïwîÜ‘¤ ÂÛ²ùìf6œÚÀޱ;®¸yxq\‰ …Ë?§32Q¶síÂÿâlåL‡ZèR· qéqÌ>2›»‰wilÛ˜¸ô8ö†íÅÝÖ=ÈgøºùÁú ë‰LˆÄÕÆ•ÇOŸ«+Wc®x"gkg¼œ¼ø¸öÇÄyÇñë‘_9už†¶ ÉÍËåÐíCT6®ÌÏ~VŠÕÒÐ’”̆ ¡¶emî$ÜáðíÃx:y2¡í…´ŸÔû„ÙGg3i÷$âÒâ0Õ7¥­c[bRcøëò_ õm^­9Í«5'ðD ç¢dg0cÆŒáöíÛL˜0ÌÌT?¢Møp•‹N'@RR#FŒ`úô阛›síÚ5ÆŽ‹±±1ßÿ½ºÃ>@!WC<È€fÐhp4ü(_I‡&ôkÒOÝá Â;çNÁÓ䇹£›s7ŽE#&5†ÊÆ•Üx0®6ŠgÂJ$¦µŸF×>œºŠìÜlšWkNk‡Öl¿±‡É•ÊÜx0]êváXä1¢S£1Ö3¦KÝ.¸Uq+4ÎソçÒãK\xt3}3†7NS»¦JéF6‰‹ ×c®ÓЦ!jwBGS§Èú¶´oIKû–…>_þ×äE¦Ñ×ÖgYÏe\z|‰‹.’•“ÅØ–ci[½-Fº%þÔ[„w”D"aÆŒøøø0mÚ4ÕÒ[“‘‘ÁæÍ›111‘o Y˜ÜÜ\Ž?Nxx8´jÕ {{û7J÷î]vìx1 bbb AƒŠŒ{÷îÝDD¼Øô­gÏžØØØ¼&Gé+7Ók<ÈÂ… ¹xñ"?ÆÔÔooo¦OŸŽ£cá›…¯7{öl¾üòK…k“'OfÆŒjŠèí*éôÚç9ÏÙtf«O®æVÌ-Ó±3³ãÓFŸò½Ï÷âÖðYàCÈÅŽ÷±ï:ÞjЍl‰éµå_—Õ]HLOääå]ËAÞeñûÿðáÃøùùD£FŠ•733“Í›7ãééùΜÿ¹sçNfΜILL -Z´`íÚµ…¦‰‰ÁÏÏ””:uêDll,»wïfäÈ‘”8}~§óâÅ‹?~€àà`\]]•ÊÌ—””D›6mÈÈÈà£>¢^½z%êt¾Ók¼¼¼ðòòRwï‰'2qâDu‡ñÎÑÑÒap‹Á n1XÝ¡¼wvŽÝ©îAAxCžžž4oÞœyóæ±nݺbåÝ¿?3fÌàÊ•+üþûïeaé2dÉÉÉLž<™±cǾ6m^^£G&!!LMMpwwgÊ”)T­Z•O?ý´Déð÷÷gõêÕ„††’““ÃüÁŠ…›µråJùqÞÞÞe¶OQÊÅ ‚ð¶]xtÀĥőö<À„ÞUwX‚ ïŒáÇsêÔ)nß¾]¬|ÞÞÞ*uàÊ‹N:ñ÷ßS·nÝ"Óîß¿Ÿ+W®0hÐ y oß¾XYY1wî\òòòJœ>_³fͰ±±áÈ‘#\¿~½ÀXž>}ÊæÍ›éÖ­[qª[&D§SAø ùºùª´¶QAPÔºuk*W®ÌÎśŤ¯¯ÏСCqpp(£ÈJWŸ>}”Žp,Ìž={”vöÕÐРyóæÄÄÄpùòå§Ï§­­Íˆ#X¸pa±üùçŸxzzRµjU•b/Kåfz­ ‚ ¼M «4¤aåócAÕhhhðÑGqøðaùÚè¨(BCCIHHÀÌÌŒ–-[R¥Ê‹³‘;Æ¥K²³­­­åÓ=ãââ^{þ§‘‘Æ S¸Ι3gHMMÅ‚V­Zamm­æñãÇ«\§š5kÒ±cG•Ó¿*Ô± uþµë×¯ãææV¢ô/ëÕ« .dÿþý„……Q«V-ù½ôôtÖ­[GPP»wï.q}J‹éAA¡Dš4i­[·ÈÊÊbñâÅx{{sôèQÒÒÒ ¥}ûöøùù)å[² lµ' IDATd AAAò¯ãããÙ¼y³RºÿþûÀÀ@nÞ¼)¿–••Åøñãéܹ3'Ož$99™àà`<==Y¾|yÙTTE111hjjR¡B¥{ùÓgcbbJœþe:::øùù!•JY´h‘½uëÖÑ¢E ªW¯^⺔&1Ò)‚ ‚ B‰Ô¬Y“ÜÜ\®]»ÆÜ¹s}:;vdΜ9…N#}Y^^„‡‡³råJ LWÐn²ònnn®Ê;Ζ&ggg"##¹wïõë×W¸wïÞ=yš’¦/ˆ¡¡!ƒfþüù 2„ºuë™çm+•NçàÁƒÕvШ ¼Î¼yóh×®sçÎUw(Â***JÝ!‚ B™ÉÙæ5ä£>â£>â믿fÁ‚Ò´iSXdy3gÎäàÁƒüøã´jÕJ~}Ù²e <˜Úµk£©©‰ŽŽN#¨‡"11QÞá|Ûk:;tèÀŽ;8yò¤B'R*•еµ5...%N_˜Áƒ³jÕ*ž'Ož¤Q£FXZZò÷߯7xòä 7fèСԫWO)ßȑʿC>ÿüóBŸóÙgŸÉׄjkkó믿2räHBCCyúô)Œ=;;»Ò«Ü+LLLTšªkmmͶmÛ8vìáááT©R…±cÇâààP*éÝÜÜpssS9î&MšÐ¤I•Ó—ÑéAÞIææ˜Û™SQ¿¢ºC)3))üsõªT¬R.:yå-žÒ¶îü:VœYÁ_þÂÅæÅ*÷ªîx.ñ$#;£À|Y9Y|òõ¬ëqùñå·® ¨Ý;w¸|ù2&L_«U«ÖkêÈ?§³ îîîÅz~õêÕ©^½z±ò”D«V­Ö—ªBSSOOO<==K-ý«ç˜ÅÖÖö­®g}ÑéA„rÊÌÀŒýŸíÇ@Ç@Ý¡å/žÒ”™“ÉïÇ~§]v NÛŠ¶ *t”sîñ¹˜˜ÑÛ¥·èt ”µk×booOóæÍÕŠPΉ„A¡«jRsƒ·»öæuÊ[<¥åÈ#¤f¥ÒÊ¡àÑŒ†U¢¯­¯tý⣋lº¸‰Yg¡!o«„Gdd$AAAøùù!‘HÔŽPνõ‘·âïïÏðáÃéܹóÛ~|©{ßêSRïr;Ì›wž‹cY¶¬=ººoÿ<§Òö¾Õ§¤D;¨ß¹¨sü~ôwù׫û¬&øJ0G#¢­©‡£=ë÷$'/‡µç×rúÁi ´ ðtò¤›s7¥ò2s2Ùtq§îŸ"Wš‹³•3C݇–(¶›!l¸°ÞýÜégÖž_Ë•è+äæåâbã Fƒ0Ñ7QÈ'•JÙ¾ƒ·›‹‘ŽîUÝéåÒ mƒë½²÷Jþ¹öÿÝûäŒd¤R)K{.¥‚®â!àEµßš¾kÐÖÔVˆåÐCˆ8@ôÓhôµõqµq¥·KoLõM‹Ý&¡÷CÙukS£«¥K#ÛFô¨×C¾yÎëâñ ö#=+½Ð²çu›‡¥‘¥<î¢Ú°(7 $7¯è0LôMXôÉ¢"Ó]|$;LÞÞÔžC·r3„„g XZà]Ûö5Û+½±ÎÌÉ䫯˜Øv"v&vò2áC0cÆ jÔ¨AÏž=ÕŠðxëÉ]¸p­[·²uëÖ·ýè2ñ¾Õ§0aaaxxx°råÊï¿Ëí°fÍu6l¸Á“'…¿az—¼oõ)̤IÇñð"7WZàý¥Ê3GsGƵG®4—3Ï0eï2s2éçÚŠz™´ksŽÍaÂŽ hH4èëÚ-M-&ì˜Àú ëÊJžNïu½™yh&5-jâëæ‹¹¡9ÿûë$g$AáViȸÖãˆIáÔƒS ‚–†ý\ûѼZsV]E×Õ]yüô±…¹z5Ž£G"•Jåi=J;”g¦ú¦4µk*ukhÛ>.}hëØ–ãw³$t s»Î¥KÝ.òëÇ"t)Háü¼ãó¸ñä“>šÄÿšüO~½a•†tÿ³;:š:ÅŠ­²qe*WÆP×ɘùñL¼kxàé䉣¹#~Á~LÝ7•å=—°(t‡nb|›ñ|ÞâÅ‹ «4¤ÛŸÝ˜¶o‹>Y¤To/'/ú¹ÉΛópô ‘m£"G9 j¿—-úo"0±íD… }¼kxã¹Ä“ÑÿŒæàȃèié©Ô›.n¢a•†Lhûb3¯^´]Ô–ôçéEƲÍvòG*ÃãÂÙpaõ¬ë1§Ëù¡ªmX”&UKÆüzÞŒ½ÉÑQG©¨'Û ª]ÍvH°åÊZÚ·¤¯k_@6ò»åÊvÛ)¦ ”³gÏ2kÖ,Æ/?ªCŠ¢–Å®®®èë+¯‹xW½oõ)©wµÌÍõ©Y³øSÑÊ«÷­>%%Ú¡üiãðb·B ‰ÕLe†·©þ⺦D“j¦ÕFA6 G½ ×ëY×ÃÞÔþâÒÒÐâ#§®y:yb¢oÂÑ;GIÍJ øJ0½ôRH[ת.fˆ8ÀÓ̧JåTC±ìƶÑÒx³Ï|·\Ù@ÏŠÓÚ*V¢mõ¶ï§Ÿ~bΜ9\¸p333ºvíJïÞ½•â|ôè ,àòåËèêêÒºukF¹¹²5$“'O&,,¬Àú”ô¹ªÔ©(ª´á¤I“  ]»vôìÙ“E‹޾¾>:ubèСhiiÉÓïÛ·€uëÖqâÄ 5jÄœ9sJåu-i›½‰´´l||þ‘ýë¯mhÒ¤²Bš‹cY»ö:aa‰H$œÍ:´uê(o¢qöl ëÖÝ "" -- \\,øì³ò‘¶‚ž—˜˜ÉÚµ×yúô9uê˜3aBc¬­ •Êçï¿ÃIL̤Z5cþ÷¿ú„‡'±råUªT1béÒöÖçMž[TTQT†…%2bÄ~yúµk;±oß}öî½ËÓ§Ï©YӔѣ]•Ò_½€—×_òQ† ¼pp¨øÆ¯ë›´™P¸üµù´5´ÑÔÐTzƒ¯­¡ÍóÜçò¯³s³‰M‹EGSG© kck¥Njqã*hë Ö$g$óøéc͉~†Dƒ€mJiãÓãÉ“æA#ÛF ÷LôL”Ò¿‰œ¼¢ŸF££©C%ÃJJ÷mŒmxô@å2çt™ÃoGcòžÉLÙ7WWšÙ5£{½îëýóÞØV6Ú‘•“ňà$=K"h`|çËq—¤ _Uk:-+Èb­l\Yé^~›F¥D°ýÆv$?`Çì¼±Sž.áY[.oáäÝ“Ìí6+#+•buÊÈÈ`Ĉx{{3hÐ ¥û×®]cèС¸ºº2wî\1Â/Ë[ítvìØ‘zõêáãã£ô)ÊÇi×®qqqLž<™š5kråÊÆŒC`` û÷ïÇÜ\ö†ðÁƒxyy‘””Ä÷ߣ£#§NbÀ€¬[·ŽÿýMMM…çÅÇÇÓ¿zöìIÓ¦MY»v-}úô!))Iᓚ+W®àé鉖–ß}÷œ>}šŽ;râÄ 5jį¿þJ:uppp(°>%y®ªuzUÛÐ××—–-[Ò¥K’““Ù²e Ÿþ9^^^%}®*u*Š*mhccÄ´i-øã‹üýw8¾¾!¸¸X0`@]2øõ׳¬Xq•­[»Ó¡ƒ½<ý¤IÇ8u*š)SZ ©)ûÃggW¡T^×’¶™P6´4´ÐÒÐ";/›ìÜl…Ítžç>>XXXÀÂ… ñ÷÷WxÞ7زe uêÈþz{{³gÏV¬X¡Ð‘2d‰‰‰œ;wŽFÉË^´hÇŽÃÌÌ ¬¬¬ ¬OIž«j^GÕ6¬_¿>U«Ê΋ˆˆàöíÛT®,ûd·k×®èèè0{ölæÏŸÏĉ©_¿>YYYT«VM^ÿÒ|]KÒfoJKKª\º¤¼qÅ‘#ùæ›ctè`Ï¿ÿv—_ïÛ·6M›n`Ô¨ý4ib««%‡?à»ïNàí]¿ÿ~±ãfNÔ¬¹’þýC¸{÷3tu5ž§­­ÁâÅíäéãã3øþû<ø€Îeoß~‡+®âããȦM>ò´={Ö¤V­U4lhEÓ¦²×¯ ú¼ZOUž[œ:¦8mèáQ•­[#pw·fîÜ#wé∽ýrÜŽ{~T¨ ƒ‡GUÌÍeo¨Û¶µEKKq”ª4^×â¶™Pv$ nUÜ8ûð,×b®áVÅM~/'/‡ÈÄÈ7*?5+•ÇOËG³@6꓃¥‘%¶m‘H$4µkÊñ»Ç±ª`…ƒ™ƒBo$èR‹?]üF±¨"?–wOpùñeÜ«*¦~5æ*‰„fÕš©\¦_°?wü # Ù6¢‘m#6HË…-Y}vµJÎyÇçr3„É^“¦+Ï?1Ÿ–ö-ilÛ¸ÔÚ°,Öt¶«ÙŽöÿÀù¨óJ÷.=¾¤ð\+#«G/cRcÙtå¦vMK=FA( ©©© <˜7nË®]»èÒ¥ ¹¹¹,\¸ àëëË”)SÄÆAB‰”‹¥"##9zô(µk×V:\¶K—.TªT‰mÛ¶‘@dd$ÇŽ£FJ›Úôé#[s±fÍ¥gØÛÛË;1úúúT«Vû÷ï˯…‡‡sñâEêÖ­+ïpæ+évЪ<·¤uzYqÚðeÍ›7—w8ó 8€M›6©XËÒI•6+k«Vɦ­ZOẆ†„!CœÉË“²zµlGÇüÿ¿šÖÀ@G¢£ÓÙ·ïžÒ3:uR|ÃU»¶lÚàýû/Ö3mÞ|€Aƒê*¤ÕÓÓ*qgG•ç–´N/+N¾ìÓOk*|maa@‡öÄÅ=ãàAÕ§ –fLª´™P¶ü[ù£!Ñ`æá™ò5yÒ<æ#ߦ¤tµt™ux™9²QñìÜlf˜AN^cZŽ‘ÈMô˜ˆž–Ó÷OWØ1÷N¦í›FmËÚhJÞΛ± m& «¥Ë/‡~!ñY¢üúŠÓ+¸ùä&}]ûkÔõÜÃs,=µ”\é‹)«·ão#•J:ã…Ùv} ÿ[ˆ¯›¯Ò16q$=KÊW¾ÊTßÿVþ„Ç…³ôÔRùõÉ<ˆ™#š‹5lÂû%%%…pãÆ rr^ìªýÇpïÞ=úöíËÒ¥K™>}:Ó§ON¡ÄÊż°;wî`gWðt=;;;âãã¹{÷.II²?\ J#nù®^½ªtÍÒÒRéš‘‘QQQò¯ïÝ» |5I~ÐTyn~ý‹[§—§ ó§)ƒl´öUùõÏo’*iLª´YY»s'ùÿcT^Ë”-?MþÿçÌ9DzeWÒæwJ®\‰£KÅ7€––ŠçÑɦ€=þâMß½{²üU«*ÇQ¹rÉÖªòÜ’ÖéeÅi×YY)ŸÓWµªl§Ï{÷”§½GIcR¥Íe·ão3eïÂãÃ4„OêB£*ønÏw„Å…‘›—‹ï_úºö¥–e-¦ï›ÎÍØ›dådá»Á—O|ʧõ?¥yµæÌí:—éû§ÓraKÍIx–@׺]q¯êNèýP|7øâéä‰_S¿bÅi¢gBûšíé°¼ffB~m¨.Ÿ5û ‰ ÿ[Èšsk074çvümViÈ~,tm檳«8~@iM§‹‹¼ý¡¼IHH`À€ܽ{W¡Ã)•J¹sçÇÇÐЭ[·R£F 5F*¼ÊE§ÓÐPöæ955µÀûOŸ>•§ËΖíªgooÏ´iÓ -3//OåÍwòdzgÏ䛕6###àÍêTœ6|YzºòA~¯¦-®’ÆTÊ:©©ÊkÅž>}®ÆÈH¶®aÈgê×·(°¼’Ûa` UhiiÙ%*S¥Q§â´áËÒÓ•ë•_FAé‹£¤1 %c]Ášq­Ç)\«R± ¦ú¦J׫šT¥‚n…Óçë\§3ju <.œìÜlª›W§‚nn>¹ÉÓ,Ùï“üó ‹«sδ«ÙŽˆørrs¨iQ³À5‘.•]Ø6tÑO£‰NÆXטª&UÑÕÒ}m½K"ÿ\Ì—½¼qPÃ* Ù1lŸ>&&5}m}œÌT^Ãø²þnýéïÖŸ„g 666ÔªU‹çÏŸS±bEbcciݺµÒèã?ü@FFF¡#†¯ãææ†7nÜàÙ³gòN(È6*+nnno\§â´áË®]»†T*UØÐáܹs´hÑB~-Áx~Ç;99™îÝ»³zõj§¾iL凇û÷ßçôéhÚ··W¸wæL4€|#OϪìÛw]]-<<GÉ5))“áÃ÷’““G­ZÊÇ<¨‡Ì›wžk×âå׃ƒÃ9}:º„µ+ZiÔ©8mø²?þ¸Èƒ/ÖJ.Xp+WâèÓ§¶|-%@²Ý“ïÝKA*…Í›o¡¡ñúŸÑ’Æ$‚ ïƒGѧOŸ×v8óiii±téÒצU©åœÎ´´4nܸ‡‡_~ù%;wf̘1èëëóý÷ßó÷ßS½zu"""011᯿þ¢W¯I5 }}}¾ûî;V¬X££#qq²3ûÖ®]K‡ظq#Ë–-SxÞœ9sÐÔÔ$ @>¢éááÁ¨Q£èÓ§S¦L‘w†‚‚‚°³³#99™Å‹³gÏ…ŽgaõIII)ösU­Óë§ óåQboo¹¹97nÜ R¥Jlß¾y:ccc¾ýö[f̘Axx8wîÜaÖ¬Yèëë—ÊëZ’×êMåŸÅ%›þûÕWGY¹ò*[¶t¥bE]ŽëËèÑhÞ|5j˜’““ÇÝ»)ôìY“ ¼ä;·ëpìX?>ÿü®®kpt4ÁÈH‡ððD>þ¸ºÂ®§íÛo!22Eþ¼H,ð" à‡É6Éùã‹ìÝ{Ý»?ÅÒÒ€z1`@nnk©[לgϲiÜØš1cܘ1ãùß’¯«OqŸ[œ:¦8mø²I“šâãóšš$&fòðáS¬ËÒ¥íÒáBppmÚlÆÌL cƸ•ÚëZÜ6ÊW×DO[ÌìLî%Þ#'l,Ì IDAT/ß ¾ô¨ßƒ^ ”O–UbÌ_Ïú.‰D‚––‰„ÜÜ\…=L4445jãÇÛ! 匕••ÂR¹bÚòV;ï‚C‡qüøq¦NªtÝËË‹Y³fñÕW_©)ºÒój§ó}õºNç»bР]üøc+ªUSܸ§M›Í\¾KBÂ¥s*ßE/w:œLÔN©NAAnݺ…ÏP N~M[[sss,--±¶¶ÆÊÊŠJ•*aee…¹¹¹üksssqLмy§³\l$TžÄÆÆ2{ölºu놫«+ Ýûæ›o°´´dذajŽPøÐœ9Ãôéÿ±ti{´µeËU«®rüx?üÐò½èp ‚ ‚Púòòò¸yó&0C:w6ÀÒÒ’ *¨;4á#Þ­¾¢U«VôìÙ“-ZРA\]]qpp@"‘pðàA*Uzý¶éï‚I“&áããÀþýûñððàüùójŽJ(Ì·ß6åÔ©hªTYB³f°µ]¸q‡˜6­“'7Swxo,,, ‚ƒegÿõïÂØ±Õ• ‚ ¼û444èÑ£Ð'§æ8::Ч b¤ó¶¶¶¬^½š%K–p÷î]±³³ÃÖ¶ð5[ï___¥‰ªW¯®¦h„¢ äÌ AÎÄÆ>ãÞ½´µ5©[×¼ÀMxÞE66FL›ÖBáZIÖ ‚ ‚ å“ètBWW—Úµk«;Œ2Q¿~}u‡ ”€¥¥––o¨ó.«PAGé,PAAáý!¦× ‚ ‚ ‚ eFt:AAA„2#:‚ ‚ ‚ B™k:Aás3ö&sŽÎá|Ôyrórq­âʸVãhdÛHÝ¡ ‚ ‚1Ò)‚ ”ϲŸáµÔ ¿`?u‡Rn]޾L¯µ½0Ô1d¯ß^ŽŽ>JÕŠUñÝàˉ»'Ôž ‚ ()•‘ÎQ£F1a„Ò(JJݲeËVwÂ*!!5j¨;Œw†T*%OšG^^žºC‘«?§>u­ê4 HÝ¡'Íã›o0Ö3fVçYèiéðC‡8u–I»'qpÄAt4uÔ© ‚ ¼ ¦× ï½gÏðìÙûsΪð®9¥îÞ)†:†yXÝa”[gž%">‚AÉ;œššøÔñ!ðD ‡n¢c­ŽjŒRA•J§sñâÅôîÝ»4Š„R%‘H€ñ€øþÔ¥5kª;á}z?€ú••Ï[®o]_žFt:A„òDŒt ‚ ebÅéÌ<<+#+º˜ßŽüÆåÇ—É“æábãÂm¾o~³?|?£þ%Ï}âutµtU~^®4—=·öð×å¿‹ #5+•j¦ÕèíÒ›A¡!QÜÆ 9#™…ÿ-ä@ÄbRc0Ó7ñ’#Ýœ»Ñ¹NgÖŸ_/ÿ|Ôyœf:²QŰ¯ÂŠŒ§Ö¯µÈÍËU)öJ†•85¶èQñ; w°®`­tÏÚXvínâ]•ž)‚ o‹èt ‚ ebxÓá o:œ.«»p/ñ?ø‘o?ú–Ú–µ¹›I»'1`ÓÖô]C“ªMhW³·¿¹ÍÈ¿Gr â@±ŸwôÎQÆmÇĶ ìHž47v0ãÀ bRcøÆóyÚ¸´8z­ëEVnÿÇÞ}GGU­}ÿN&½@B ¡×PC‡¡7¥wDiRñrQ¹¢ˆ5*‚\DP‘^ÄB1/ Ué=@ %@Ræýƒ7#c¤MÈï³keöÙgŸçì™òÌ.gÚcÓ,HBrKö-a⹞xÝN×tf%1Í®¸¤8\]3su¸]v-áZž_WDD$7´{­ˆˆX]Brovx“z¥êáâàB­µø Ë$§&3uÃÔ<»N`Ù@†7NaçÂx¹xñLƒgèR£ _íüŠø¤xs½¿Î âZ“ÛN¦µ_kÜÝ(êV”‘A#i^±yžÅ“ŸL˜€ôe"""%""bu..T÷©nQVµXU|Ü}8uˆèøè\_£µ_k¾í÷m†òê>ÕIIKáØ¥cæ²°£a´¨Ø"Cý/û~ÉsÏå:kðpòàæ­›Ž%$'PȹP¾Æ$""r?š^+""VWÈ)óDÈÛÕ›èøh.߸Œ»O®®—ǼÿÍ#ìh‘q‘\O¼nq<=)»•z‹¸¤8œìpstËÕ5ïÅk:+yW 2.2ñÈë·Ë*©(EDD¬OIçlÛ¶m„…Ýþ6¾P¡BŒ?ÞÆ‰ˆäLlb,&“)ÃÔÏË7/àíæëk ]>”çv2¹ídºÔè‚—‹ƒù;ç3mã4óôSG£#NÄ%ÅqãÖû&žr6]Õk:—m̧[?å`äAzÔìaqì`äAš”k’ç×É M¯µ²+VðóÏ?çªÙ³g3sæÌ<ŠHD$ÿ%¥$±ÿâ~‹²#1GˆŽ¦ºoõ\r¦¦¥²;b7ÅÜ‹1°á@Џ1'¸I)Iê·¯Ò€Í'6g8ÖåË.LÛ8ÍüÚÅÁ…äÔdóëv_´cñÞŹŠ7§•m„_Q?~>ü³Å}¥¦¥òá(Q¨­*µ²Il"""w£¤ÓŠnÞ¼IŸ>}èÓ§OŽÎ bÊ”)/žqk|‘‡‰‡“lù€=ç÷œÀ‹xiíK8˜Üvr®Û7Ú ,HL| sŸËÕ„«$¦$²ãÌíY”¡þ„(]¸4Ó6Nã—ã¿pãÖ "ã"y=ìubnÄX¬éô/îÏ©+§¸xý"{ÎïáìÕ³” ÈuÌ9ag°ãÝŽïr-ñœHL| ± ±LY?…ÓWNóöãogë13"""ùAÓk­ÈÕÕ•%K–àêšqk{‘‚ÄÕÁ•×Û½Î[Þâóš–Jíµùæ©oîúœNÿþtóïÆ]>ÈÒ5Bº‡0sËLî^È¿~€§‹'-*¶ «WfoŸÍÀÅ©Y¼&«Ÿ]M1÷b¬~v5ŸmûŒ7Ö¿qû9®EhT¦‹Ÿ^LÉB%Íí¾Öæ5^ }•ösÛãéâÉÚÿǼ¶Òꖬ˲Ëøà×h7·ii·Ÿyº¨ÿ"s_Šˆˆùä.]ºÄï¿ÿN‹-hÕªÑÑ™?¯nܸq¼òÊ+œ?ž-[¶Ð²eK:wîLBBB~ÜŠˆˆˆˆˆH¶i¤ÓJªT©Â”)SØ»w/GŽXn›ÿÝwß1~üxú÷ïÏÂ… ±³»û‡‡‡Ó¼yszôèAxx¸Å£.\¸€‡‡ëׯ7—MŸ>‰'2iÒ$>úè£ü¹1‘,úïïÿåÝ_Þ5¿ö{×A#ß<{ò{×ï¾uÆaLð˜lÇ("""Ö§¤ÓÞ{ï=&OžlN8‚ƒƒiÓ¦ 6l`Ë–-SgM&&X®I3f o¾ù&_|ñï½÷NNÚ±PDƒ38pp®ÛÉÍ:O±=M¯Íg©©©ìß¿{{{*W®œáxµjÕøã?,Ê‹+F¡B…,Êœ)[¶, œ8qÂzA‹ˆˆˆˆˆä’ÎÔSk‹Ñ;™L¦L니ˆˆˆˆ<”tæ3£ÑHíÚµIIIáØ±cŽ:t€zõêY”ÇÄÄdØ0(11‘³gÏâêêJ¥J¶{fœˆˆˆˆˆÈÝ(é´‰'0uêTÒÒÒÌåááálÚ´‰   š7onqNZZü±EYHH7oÞdèС8::Z?p‘lÒFB6ðÔSOqñâE^yåŽ=J³f͸xñ"+W®¤yóæ,]ºƒÁÀ¶mÛ #22’%J°oß>üqj֬ɡC‡øñÇéÔ©o¿ý¶­oIDDDDD$SJ:óÉ?×\Ž?ž§Ÿ~šÐÐP"""(S¦ cÆŒ¡qãÆÎ>|8… büøñlÙ²…;wR¬X1&L˜@Ë–-óéDDDDDD²OIg›5kÄÍÍ €øøx<<<2}œ‰Ï<óÌ]Û "((È¢¬yóæ¦ÞŠˆˆˆˆˆ<¨´¦3Íš5‹íÛ·””ľ}ûhÒ¤‰£± tæ± ðÌ3ÏЯ_?¶nÝŠ½½=3gδuX""5®ÁÇ݇&åòþ »—Oðã¡ùáМ¼|’?'ü‰“}Æ™(éþ8ÿá§ÂY´gFƒ‘­£¶æyLyáÂõ LÝ0•ðSá4-ß”ŠÞ¹•r‹ÓWOóÛÉßp²w¢I¹&¼ùØ›øºûŸÏ—;¿ähÌQB„Ò tš–oJ§ê¨äý÷nèÛÏlg繬8°‚ªÅªR³xM4€—‹—Åõ>ü3£WÆÃÉƒí£·ãlïœ!ÆÏ·Î…ëønÏwTô®Hç긕z‹ã—޳ñøF|Ý}™Û{.Õ}«ßó¼Ô´T®&\eÏù=Ž9L«J­˜Øj¢EìY•›Øã’âØqf‡¢Ѷr[>ìú!..9:§Ëü.”÷*Oå¢?Ã{ÓñMŒš—Ö¾„»ÛFmËóö+yWbLðþŠú‹“—OÞ·~ýRõ©_ª>ë­çÊ+yO^8véýõ§d¡’¬ºžâÅ-ŽG\‹`ÀwØx|#£âFáëî‹»“;c‚Çðá=JÃÒ <&CÛMÊ5¡I¹&ì8³ƒ¶•ÛÒ·NßLcX¶Fƒ‘¸¤8ÂŽ„ÑÕ¿k†:/4yCчn' E*f¸Þ²}˘ôó$Æ~?–ÐÁ¡Øì²tÞÿÎýqkÆÑý«î|Öã3šWÌÞ”ÜÆžfJcü÷ãùáÐLÛ8·{+ÇçtªÞ‰Çª>f®s#Æœ Ýy_'.ŸÈÑ}@Î>/wc­÷4Ýüó³u½t;Îì0ÿü°õ©È£JÓk­ eË–¼ôÒKôïß_ §ˆH6ø¸û0£ó ftžaëP )i)ŒX9‚ÄäD¾èýE†?vJ.mÕþŒŠbÇ™Œk>€å–ç¨Þµ{ãâàÂÉË'9s4Ëç5*Óˆoú}ÀèÕ£¹pýB–ÏÍ‹Øí v k< ¸=JŸjJÍÑ9OÕ} ?o¿,]óñjÓ¨L#óë¬ÞG~^rúž¦Öx¾ÙOÐzÕî…qÿG²OEVJ:EDäÒ½fw‚ÊÝ¿¢°êÀ*N]9E§êðq÷¹k½¥ðrË—sô|Vbh^±9Ï4|¶ŸÙÎùkç³ÝŽÁ` ˜[1.ß¼œ­s+©@ÿúý¹qësvÌÉòyy{ÉÂ%HHN 6!6Gçô«×¿¢YK«úe̯³zùýyÉé{ºlß2Ebx“á÷ŒóŸ6ŸØÌ–“[èU«þ¾þdŸŠ<¬4½VDD¬"}=$€»“;ƒ±óÜNö_ÜOjZ*uKÕµYH_o™ndÓ‘ Æl_÷òÍËüvò7"ã")âZ„ŠÞiPªA†GW¥;véá§Â1Ú©[².µKÔ¾ï5G&ìh˜EÙàÀÁ¸:¸ÞõœOÂ?Á„)K÷àêàÊàÀÁ÷­·áØËÞ·núÈZ^[q`[MÄÕÁ•Ç«=ÎÊ+Yq`Å]§>ÞÉd"æF % •Ìví*·ã¿¿ÿ—õG×óFû7ò5ö ×n®º8¸àéâiµsî&«÷‘ߟ—œ¾§Ë,ÇÎÎŽê>Õï_ù›OlÆÞÎ>ÛS¬3ó ö©ÈÃJ#""bU‹ö,â¿¿ÿ—±kÆòٶψ¹ÃΈôû¶C–!1%Ñ¢þ‡~ $<„”Ô”l_kþÎù4ŸÕœ…»råæFdôêÑ´šÝÊbWº¯wÍ»›Þ%*>ŠŸÿLÏ=ùbÇYºÖ¹Øs|¶õ3®%^Ëvœyåè¥ÛSK{–¶ÉõwEìâzâuZVj ÜžN °òÀJL¦¬%Øé–ï_NBrË5¦B‘ ÙŽ%}D+:>š¸¤¸ûÖÏ«ØÓLiæÑÕnþݲôEINι›ìÜG~^²òžž¼r’ð‹Y™"Ùyû/îÏ“¸ä>yXi¤SDD¬âÎMxE¢šO5^hò‚ùø;¾`úæéÌØ<ƒ×Ú¾–íM~þií_k™¶q=jö`z§éæ‘ÍqÍÇÑi^'E¢q¹Æç\ºy‰y}ç™_÷\Гðž x£Ã]¯u-ñ{/ìå«'¿Êò.»£ƒGgûžî'>)à®»j.Ú³ˆK7.™_ßkÇÏœXq`Ýü»aowûω€Ò”ñ,ùØsì8»ã®}“ž0$§&sìÒ1vEì¢O>Lj5)G±¸;¹›ŽKŠÃÃÉÃê±Ç%ÅñûÙßù+ê/ÚVnË«m^ͳs²*;÷aÍÏ‹5ÞS[yPúTäQ¢‘N±:ƒÁÀsÏY” l8ï]Ì­Ô[¹¾Æ¿ß¡4Âb*­—‹SÚO¡^©zÎéS»Åë:%똒xÏ‘–oÿø–©¦òeß/­òX—ìHO´’îY/*.Šð~øë‹r™O9ÎÌ?§''$'ðÓ¡ŸÌ£@éuzÕêÜåÊŠË7/³íô6ªùTcp£Ár.”å˜î”þÇ?@!§{·‘W±r*DŸÚ}X;h-³{Í6?.%¯Ï¹›ìÞGn?/Y•÷4}Ú;ÿee*nfçeejüý<¨}*ò°Ë“‘Î °}ûö¼hJÄ æú|Š­ìãòeM»òvõÎ0àdïDÉB%9qùg¯žÍò†™IMKåpôaŒ£Å³÷Òµ¯Ò>ÓóþùÇmúšÌ›É73ÔM#ÿ¬û‹÷.¦d¡’#kYa5UŠVá\ì9ÎÆžµØ%]¿zý8pñKö-ÉpÜÑèpߤ?)5É\7Ýχ ôH(¡GBÍåQqQ¬;²Ž)í§d:âøÏÇ]ô¨Ùƒþ‹úóüÒç zÏç!ÞͱKÇ(îQü¾ïM^Æž99'+²{¹ý¼ÜK^¾§½kõ¦†ol] e¥–æÇ²äÔƒÔ§"’y˜åIÒ¹dÉúöÍüÑ"¶d0 ¡cÇŽ¶E ¨Q£Fáîž½±GÑ•›W¸qënŽn沤”$.\¿€‹ƒ e=Ëæª}£‘j>Õ8uˆ3WÏdØ´äû?¿ÇÑÞÑâ!ñÙåëîk~fßË-_æ½_ÞãͰ7y£CÖvJµÆšÎî5»3gÇB„òb³)ãY&[çW÷©Ž£Ñ‘Ý»I3¥eš„Ÿ¹z†K7/á_Üß\v6ö,û/îg먭v.œáœ2žexù‡—Y¾y–·1ÍÆ°úÏÕ|ñûÝúi†ã·RoñÖÆ·x¬êcx¹x™ËWì_A»*íîšD/™õåýäô=M·xïbóî°ù!¿ûT¤ Ñîµ""bu>n>\K¼Æ³Kž¥šO5N\>Á/Ç¡•_+^jñð÷s:O^¹½sígÛ>ÃßןU;dé]jt!æF 36Ïàä•“4(Õ€¸¤8Ö]Ç“uŸ¤sõÎDÆE²tßR‹k4)ׄ&åš®ˆ]Àí'JPͧ¡GB‰‰!!9ðšWlNqâ÷(޽=S¦q-‚ZÅke9Ö¼T¹heV \Åëßàñÿ>Np…`*yWÂ`0pæê¶žÞŠÉd¢O> oœqðÕ¶¯›KHxaGÃhT¦N\ºq‰_OþJ墕y£ÓíÑÜø¤x¾Üù%Ëö/£nɺ,Ý·”¾u,g:]O¼ÎW»¾ÂÇ݇ø¤xÞÚøÁåƒINK6oД¾Ói•bU,FŸ_z%û–°p÷Bœœ)éQ’K7/e8/Í”ÆÕ„«üñ‡cÓªR+&¶šH%ïJ±¬:¸Š°£a<ð\žÇîåâÅ€îú¾|¾ýólŸ“îPô!Ö]Ï‹Xóçö^ØË M^ )%)Ç÷18ppŽ?/wöå½î1§ïif¢ã£ïÛ§Y]ÿü ö©HA¢¤SDDòÅä¶“Ù{a/œÿƒ".EÜhp¦TÏÍã ¢›7¶œÜBd\$½+28pp†dän×hZ¾)MË7ÍPž¾ÈŽŒ‘ãXóR©Â¥ø¢÷\¸~çvEš)àòÁ<ÛðYj—¨“½S¦çº:¸òYÏ8sõ »#v›ÿЯ[ª.Ï<—éOOÖ}ò¾1eÖÇÅÜŠÝsC//Þïü>‡£ßó<£ÁHy¯ò• ¢Aéu+ši{GcŽR÷NæÝm­{frrÎZûµ¦µ_ëLåô> gŸ—;ûòNyõžfæÉºOR¥¨åÔÚG©OE ƒ)»OoþgƒÖtÊKk:ÅÖÒ×t.[¶Ì*íGEEÿŠ€Ÿ_%BB¢èØ1kõóJ—ù]¸rã [GmÍ×ëJÁöÛ©ßxnÉs|ØõCºÔèbëpjêˇŸ­~ÿË£Ã××77{T,ÓšNy¤DÇG3þûñ<]ÿi%I¹¤¾‘¼ éµ""bœÿƒðSáë!ÊФ\“lµs·õ^w ,˜éT])˜|Ü}ø¨ÛG™N•–ìQ_ŠH^PÒ)""V•ÙzHkS’”wÔ—"’[J:­ìÉ'ŸdûöíìÙ³‡"EŠØ:‘|S¿T}ê—ªŸëvr³iˆˆˆˆØžÖtæRçÎ1 ¤¤dþü·´´4L&¹Ü¯IDDDDD䡤‘N+[ºt©­C±tŠˆˆˆˆˆˆÕäKÒ™’’ÂŒ3¨]»6...xxxÌŠ+Ìu^{í5 ƒù_éÒ¥xë­·,ÊW¯^­vÓ¥¦¦òñÇS¯^=\]]ñöö¦Q£F¼ýöÛDFFnqô鲉‰‰å`×®] ~üñGÌuÂÃɵ8/44ôžñ¸¹¹Ñ¨Q#æÎkžŠûÏ6Ö®]ˤI“(Y²$îîî°aÆ,¿×®]cÔ¨Q”(Q'''ªT©Âûï¿ÏÔ©SÍ×ðóóËpÝ•+W2aÂÊ”)ƒÑhÄ`0°|ùò,ßGNûöÎþ|úé§)V¬NNNÔªU‹ùóçgù¾EDDDDÄv¬žt¦¦¦ÒµkWþýï3dÈΟ?ÏáÇ©W¯½{÷æ£>n'—×®]£zõêxxxÜNFÇŒà /¼€Éd¢{÷îÙj7½n÷îÝyùå—yöÙg9}ú4'Oždâĉ¼÷Þ{ >œàà`L&:u²ˆßÙÙ“ÉÄK/½dQÞ°aC‹úÉÉÉæµ›ÁÁÁxzzc¾ßÔ IDATb2™øðÃ3í“îÝ»3aÂÈ™3g8vì]ºtaذa 8 CS§N¥nݺ9r„]»vqóæMzôèATTÔ}߇¤¤$Ú´iÃܹsyýõ×¹xñ"›6mâüùóÌš5 €íÛ·süøñ ×4iµjÕâÀœ={–*Uªdë>rÚ·cÇŽ`èСtëÖãÇsèÐ!üýý4hï¼óÎ}ï[DDDDDlËêIç×_ÍÏ?ÿÌ Aƒ=z4EŠ¡T©R„„„P¯^=&MšDLL … bÍš5FºvíÊ•+W˜?>ûöíãã?Îq»ß|ó ?üðƒfìØ±øøøP¸pazõêÅ+¯¼bí.È =žçŸž_|‘bÅŠQ²dI&OžLÏž=ùúë¯Y»vm†óš7oÎO<‡‡ÕªUcĈÄÇÇóÛo¿Ý÷šóæÍc÷îÝ :”áÇS¤HJ—.ÍG}D™2eîyn÷îÝ8p žžž”*UŠ#GŽÐ»wïßGv :”>}úP¸pa*V¬ÈÂ… )Y²$S¦LÉRÂ-"""""¶cõ¤3}:l×®]-Ê ­Zµ"11‘uëÖ™Ë+W®ÌâÅ‹9}ú4:tàÝwßeÙ²e888ä¸ÝU«VðøãgˆoâĉSvóCz<ÿùèØ±£E;X¼NO/\¸pßk¦OïíСC†cÍš5»ç¹5Ê´<§÷‘]ÁÁÁ¯iÙ²%·nÝbÓ¦M¹n_DDDDD¬Çê»×¦DuéÒå®uŽ;fñºC‡Œ?ž÷ߟçž{ŽbÅŠåªÝôº>>>Ù ÞJ/‘‘‘Ž.\Øâµ££#pû±,÷“>ê›Y_zyyÝó\77·LËszÙåé陡,ýšÑÑѹn_DDDDD¬ÇêIgñâÅøå—_hÙ²e–ΉŒŒdåÊ•<þøãÌŸ?Ÿ   œãvÓ ¬$(vv·oݺ…½ýßÝ›i}ƒÁpß6³Oz"—~y%=ÙLO>ï”ÓÄ-»÷‘ݾMwéÒ%üüü2ùAù"AD$/¥šR™:™²žeÞd¸­ÃÉ«O¯íÙ³'¿þúk†c¿ÿþ;vvv>|Ø\–””DÏž=yýõ×Y½z5AAAŒ9’­[·æ¸Ý=zðÓO?e¨;nÜ8êÕ«g~]¢D """,êýïÿËôþ\]]Û‰À°aÃèׯ_¦uӥǓ¾óíÒËÒëä•ô©ÅÿÜE×d2eiMhf²{ÙíÛt[¶l±x}ëÖ-6oÞŒ““­[·Î~à""¸k ×Xy`%Ëö/ËplÐÒA¼±þ D%""’3VO:û÷ïO·nݘ>}:sæÌ!**Š7nÆO<ÁÈ‘#©V­š¹þðáà bÀ€8::²råJ|}}éÙ³'çÎËQ»O?ý4;wfÞ¼y„„„Mll,sæÌaöìÙL›6ÍÜnûöíÛ»éÆÄÄäI“HMMÍôþêׯÀ¦M›¸xñ"aaa´hÑâž}’Ï—_~ÉG}DLL /^dêÔ©¬ZµŠÜsÚpN 4ˆ€€æÎËœ9s¸zõ*Œ;–ÄÄĵ™ÝûÈnߦ[µjK—.åÚµkœ:uŠrá¦L™bmy”q-Âú¡ëY:`i†c;Ïí䯨¿l•ˆˆHÎX=é´³³cÅŠ¼óÎ;Ìž=›òåËS²dI^yå&MšDHHË—/Ç`0ðÕW_ñÁðé§ŸЦMÎ;Gtt4eË–¥mÛ¶ÙjÀh4²zõj¦OŸÎ—_~I¹rå¨X±"‹/fíÚµæMozõêÅ»ï¾Ë¶mÛ(S¦ Í›7ÇßßßrÒ·é>ùä¨\¹2ÕªUãàÁƒÌ›7ÿûß÷¼g‘‡YÏ2x»zÛ: ‘\3˜L&S®0X²d }ûöÍ«˜$Ÿ >œ9sæpòäI*T¨`ëpÌ^|ñE>þøcŽ;–aMgV BBB,¾XÉO£FÂÝÝeË2N“Ì QQQÄÇÇg©®Ÿ_%BB¢èØ1kõskWÄ.fþ:Óüz^ßy¬<¸’m§·›‹Éd¢ªOUŽD1שêS•×Û½À‰Ë'˜:™×Ú¾F ß|½ûk~>ü³¹þ×O}Ñîï/ÌþiÀwHM»÷lŠtž.žÌê9ëžufn™É®s»rï‹Í_ä£-?G:³>8„¹¿Ï5×YðäŒüxèG¾ýã[vEìÂÕÑ•>·¯a´3òõS_›ë›L&ÂŽ†±ñøF¢ã£qwt' L}êôÁÕÁ5K}!"–üþý/__ßûrÝÃ2«o$$ŽjÕªñí·ßÒ AsYZZ¿üò åË— NyøUò®ÄØfc™¹e&»#v3zõhj—¨MŸÚ}8s„÷7¿ÏØfcIMKeÑžE¼Ôâ%ZTü{yÂÊ+ùß¹ÿ±âÀ s×¼bs’Ó’Y²w ovx;ý'ìŒMV¿[u0:Ü·Nçê‰MˆÍq¼~Þ~÷í“©Mµ¨“fº½CyýRõ)êV”AKQ²PIÆ6 Xnh—œšÌÈU#ùõį j4ˆÇª>Æ…ëølÛg,ܽïú‡»6`‘ü¥¤³€1b_|ñU«V%""‚iÓ¦qüøq–/_nëÐDäãåâE`Ù@¼\n?–©_žª÷-+µ¤AéÔ-Y—âÅY´g§®œâ…&/·Gë¾ÿë{<œ<øá¯x¥Í+ FÊy•ãÌÕ3ôªÕ‹À²÷¡Q™ÌŸ3œSUŠUáùFÏç*ÞûõI9¯rTò®d®“®D¡”(T;ƒN™Þÿ¬í³Øt|ãšcdÐHsyýRõéöU7¦„M¹ïh®ˆˆH^³úšNyp¬^½šúõëóÔSOQ¤H4hÀùóçY¿~}žï–›»víÂ`0ðñÇP¹reóZVyxµ®l¹ÛtÃÒ ±·³§œW9ꕪGèáP’øýìïx¹xѯ^?.ß¼ÌÖS·w0¿•z‹ŸýD·šÝò=þtyïÝú$§–ï¿ýbŸÚ},ÊkøÖ B‘ l8¶ë‰×sܾˆˆHNh¤³©V­Ÿþ¹­Ã¸¯† fy:œˆ<<<=ïz¬GÍügÝXt=]ý»²æ¯5ô¨Ùƒà ÁÌÙ1‡5®¡yÅæl:¾ ÿâþøºgmçê¼^Ó™×ñÞ«O²+%-…‹×/bg°ãÅ5/f8~éÆ%ÒLi»tŒ¥dÒ‚ˆˆˆu(é›ëT½S7LeÕÁUt¨ÚõG×óRó—(êV_ÂŽ†‘œÀÊ+éQ3ë33òzM§µãÍ £Áˆ£Ñ‘Ô´TƱXëy§JÞ•ò%‘tJ:EDÄæ ;¦µ_k6ÛÀw{¿£nɺu+ @÷šÝ™¶q‹÷.fwÄn>îöq–ÛÍë5ÖŽ7+ÒËtÿúñ_´­Ü–öUÚX6ßNý†¯‡/ŠXn·ñøF–ì]Âç½ü/""òhÑšNy t÷ïNjZ*ïo~ßbt°K.íŒÌøum*·ÁÅÁņQþÍVñ–/Rž‹×/’š–JlB,?ú O—ÛÓt'´œ€³½3o¬ƒØ„Xó9'.Ÿ`JتùTÃh¸û#fDDD¬AI§ˆˆXÅñKÇé÷m?vEÜ~®å³Kž¥ß·ýîZ¿•_+<]ñÄ<ñÄyÑ”Hž3f cÆŒ±uR€õîÝÛÖ!ˆˆˆˆØL®“Î%K–äE"V±}ûvªT©‚···­C‘¬L™2¶ADDDÄfrtöíÛ7/â± }>EDDDDlKk:EDDDDDÄj”tŠˆˆˆˆˆˆÕ(é«QÒ)""""""V£¤SDDDDDD¬FI§ˆˆˆˆˆˆX’N±%""""""b5J:EDÄ&Ö]ß»~æI)I¶)Û~8ôƒ9þï×°u8f›Ol¦íœ¶T^ÕÖ¡ˆˆˆ(éÛhW¥Çÿ}œ¶•ÛÚ:”ë\½3Çÿ}œ òA¶€³±gº|(3~Á¥›—lŽˆˆ ¤SDD¬¬Öµxâ›'lFðá–©_ª>kž[ƒ›ƒ›­ÃÀÞÖˆˆˆHÞx§ã;8Û;Û:  éyD(á‘‘F:EDÄ*þûûy÷—wر¿wý0Ú9ò¯#êÇ܈aú/ÓùíÔoíŒÔ+UÉm'SÖ³,p{ã¡V¾`®6$Œûíg¶› Àα;ñrñâÊÍ+|ºõS6ßHT\N” `tðhªûT7·‘jJ%ôp(K÷-åHÌâ’â(çU޾uúòLƒg°3X~7{âò Þßü>;Îî 5-_&´œí¾©:½*©i©Yª[Ô­(;FïÈö5DDDJ:EDÄ*fpà`j}P‹¾5Xòô’{ÖkÃ[ k<Œ÷:½ÇÞ {yaå ¼¸æEV\ ü½ñÐðÃÙpl¯…¾ÆØfc™Þi:G/¥ï×}ˆŽ¦Ï×}HJIâÝŽïÒ¨l#Î_;Ïëë^§÷ÂÞ|óÔ7Ô+U€_OüÊØ5c™Ðb!ÝCH3¥±ö¯µ¼µá-"ã"ùw«›ã;sõ }¾îƒ‹½ Ÿvÿ”ú¥ës.öïlz‡³WÏf«o2KºEDDUš^+""„¾uúR¯T=\\hR® ­ýZ³ÿâ~®&\Í´þ°&Ã,ˆ‹ƒ uJÔáÈ¿ŽàåâÅŒ_gpþÚy^iý -+µÄÕÁ•ÊE+óq·1™L¼±þ ‹vË2¼Ép ;ÆËÅ‹gÓ6N3'¼ŽFGÜݸqë7“ofH<Ó72Ê*­é‘‚DÓkEDĪ\\HNM6¿n÷E;ï]lµëu¨ÚTS*»#vg86gÇšÍjFª)•Ô´Ûuйc`Ãq-‚Áp;ANJIÊpn‹Š-€¿§Ù¦»šp5[£œ"""’N±*ÿâþœºrŠ‹×/²çüÎ^=K@™«]oB‹ ”õ,ËÄ'òëÉ_‰KŠ#6!–ïö|ǧ[?eRëI FŒvFËÃÜßçr5á*‰)‰ì8³ƒE{el·å<]<™º~*á§Â¹™|“ã—Ž3þûñ™N¹‘Û &“)óÅ2""òÀ‹ŠŠ">>þþÿŠL›C÷îqVŽÊÒÉË'y5ôUFÄÓÅ“áM†Ó¿^ö^ØKï…½-êŽÁøæãÍÏôL×ʯ#ƒFf¨püßÇ3”Å&Ä2kÛ,Ö[ÏÅë)ä\ˆ¾58„¦å›šë]M¸ÊÌ-3Ù|b31ñ1xºxÒ¢b йcööÙÔ,^“ÕÏ®àÔ•SLß<íg¶“’šB•bUÝt4ówÍgÛémô©Ý‡w:¾“»NË¡MÇ71tùÐL½ýøÛô­Ó7Ÿ#[KL4P³fE¾ø"’Ö­oØ:yHùúúâîîžÓÓ—)éyˆe'é *Ç!×xî¹ì­?‘‡Wd¤=ÁÁåXºô<õë'Ú:yHå6éÔôZ‘ÂÏ/™£Gm†ˆˆä£ôßû+Þ²q$R)é) êÕKdûöŒ‘G×öí.T¨Œ§gš­C‘LI§ˆHѺõM""ì9pÀÉÖ¡ˆˆH>HKƒuëÜ´–SlNI§ˆHQ§N"•+ßâ›o Û:É[¶¸rö¬½{çïr"ÿ¤¤SD¤><–Õ«=8tH£""²ÔTÓ§{Óºõ *WÖzN±-%""H×®qÔ¯ŸÈ”)EÑÞå""®o¿-Ä©SLštÙÖ¡ˆ(é)H xõÕKìÙãÌÂ…šf+"ò(:qÂ>*ÂóÏ_£B…d[‡#¢¤SD¤ ©Y3‰ñã¯ðöÛEÙ´ÉÕÖለHеcذ”+—ÌÈ‘WlŽ ¤SD¤@>ü*Ý»Ç1~¼/ûöi}§ˆÈ£ >ÞŽáÃK’bà¿ÿ½ˆ‹‹ÖQȃAI§ˆHõÖ[14l˜ÈÓO—"4ÔÝÖለH.DDØÓ·o)Ξu`îÜ‹x{§Ú:$3%""”ƒƒ‰9s.Ò§ÏuFö壊”d°uX""’M›7»Ò«WiŒF+VDh·Zyà(é)ÀŒFøÏ.ñÆ1|ùea{¬ aan¶KDD²àôi†-ÁàÁ% J`É’ ”(‘bë°D2°·u""b{ýú]§mÛ›¼÷^FŽ,NõêI<ñDmÚÜ xqý#"ò HH0°m›+«V¹³aƒ•*%óí· L°uh"we0™ô¤6‘‡UTTñññyÚæN,XP˜uëÜHH°£D‰Ê•KÆÓ3 ƒAÿeˆˆØB|¼‘‘öœ:å@Zšúõyê©ktî|£Q¿›Åº|}}qwÏñþË”tŠˆ<Ĭ‘t¦KJ2°k—3þéDD„×®Ù‘–f•K‰XÝ‘#ÿ¡dɾxxÔ´u("9âînÂÛ;…êÕo˜@Ñ¢Ú(HòOn“NM¯‘L99™hÚ4¦M5eK~~~òâ‹èر˜­C)p´‘ˆˆˆˆˆˆX’N±%""""""b5J:EDDDDDÄj”tŠˆˆˆˆˆˆÕ(é«QÒ)""""""V£¤SDDDDDD¬FI§ˆˆˆˆˆˆX½­‘œ+\¸0nnn¶Cä¡P¸pa|}}m†ˆÈCÇÙÙ9Wç+éyˆåö?‘‚ÄÙÙwww[‡!"Ràhz­ˆˆˆˆˆˆX’N±%""""""b5J:EDDDDDÄj”tŠˆˆˆˆˆˆÕ(é«QÒ)""""""V£¤SDDDDDD¬FI§ˆˆˆˆˆˆX’N±%""""""b5J:EDDDDDÄj”tŠˆˆˆˆˆˆÕ(é«QÒ)""""""V£¤SDDDDDD¬FI§ˆˆˆˆˆˆX’N±%""""""b5J:EDDDDDÄj”tŠˆˆˆˆˆˆÕ(é«QÒ)"""”àà` ƒÅ?€'žx¢Ìh4aãhED}J:EDDä‘òÔSO™Í»1 4iÒ„Ò¥KçST""—’Ny¤ôíÛ;»{ÿ‰cggÇÀó)"‘‚ÍÞÖˆˆHÎEEEoë0D87fÇŽ¤¦¦ÞµNýúõ9qâD>F%"òpòõõÅÝÝ=Ççk¤SDDD9Ý»wÇd2ezÌh4Ò¬Y3<==ó9*‘‚II§ˆˆˆâ"""ÿÏd‚ˆγçúu#&“­#ɾ¢Eû ¨[·/aa…mŽHޏ¹¥Q´h*~~·ptÔ/cy¸L&ý !"ò°ŠŠŠ">>>OÛLM…Í›ÝX»Öß~såÚ5MŠ‘GAà; ­É£ÑDƒ‰´oƒ=â(\8ÍÖ!Iàëë‹»»{NO_¦¤SDä!–×IçÆn¼ý¶7gÏ:˜@›67©W/‘rå’)\8;åŸòZ±b½zõ²u"9v㆑‘FþüÓ‰-[\Y¿Þ´4C†Ä2dÈU\\ô'½X’N‘,¯’Î3gxýõ¢lÝêJ—.ñŒ{…rå’ó B±†7ìX´¨Ÿ}æE¡Bi¼öÚ%Ú·¿aë°ä•Û¤SßY‹ˆpÛ¶¹Ð³gi._6òÝwç™93J §ˆÈÎÍ-!CbÙ°á,AA ŒYœ3Šhí½<”tŠˆ`K–bР4o~“åËÏÓ°a¢­C‘l(Z4•wßæ½÷¢™7ϓѣ‹“˜h°uX"”tŠˆPk׺óÚkÅ1"–™3£prÒ×ã""«ž=ãX¸ð;v¸0a‚/iÚ_H J:ED  œxå Še̘+ô¥¸ˆÈC/ ‘Ù³/²i“+~XÄÖመ)é)`bc R‚&Mn2qâe[‡#""y¨aÃDÞz+†Ù³½X·ÎÍÖáˆJ:ED œ?ôÂÎfÎŒÖ#PDDA={ÆÑ«WÓ¦%!ASYÄöô熈Hrì˜#‹âå—/ãî®?""ª—_¾L\œsçzÙ:%""ÉŒE¨YóÝ»ÇÙ:‘‡NHH~~~ÿ:dë°D2åíʈW™;דk×ô'¿Ø–>""Dd¤=›7»1xp¬6É1cư}ûv[‡!’eýú]ÇÎÎÄêÕ¶E 8%""Ć n¸¸¤Ñ¶í [‡"""ùÀÍ-vínhC!±9%""ÄŽ.4nœ€ƒƒžÇ)"RP4kv“?þpæÖ-MqÛQÒ)"R@>ìHI¶CDDòQÍš·HI1p℃­C‘ÌÞÖˆˆHþˆŠ2R¢DŠ­Ã¹«!C†ðË/¿X”­[·Ž¹sç²iÓ&®^½Š³³3àÀÌŸ?Ÿ;wréÒ%¨T©ݺucÀ€Fs;ÑÑÑ,^¼˜_~ù…sç·‡‡*T mÛ¶<ûì³899Y\{íÚµ,X°€#GŽ––F•*UèׯŸõ;B$/~û÷~LŒ=Õ«ß²q4RPi¤SD¤€HL´ÃÕUSkåÁ5wî\V­ZeQöÒK/Ñ®];6mÚDïÞ½Íå«V­¢wïÞ|ÿý÷TªT‰íÛ·3{ölþúë/Þzë-Ljjª¹þ«¯¾Êüùó™0aááálܸ‘F±gÏÞÿ}†jqÝO>ù„qãÆ±wï^Ê—/Ϻuë˜={6+W®´n'ˆä1W×ÛǺqCö‹íèÓ'"R@˜Lh×Zyè´iÓ†6mÚàîîÎsÏ=À•+WøÏþcN*û÷ï§§'AAAÔªU €ß~û%K–X´õì³ÏÒ´iSœ)]º4'N4Ûºu+gÏž 22’O?ýÔ|lðàÁ”.]___^xá«Þ¯H^Kÿ½oÒwŽbCJ:EDDäÕªU+óÏUªTáÀüöÛo$$$˜Ë}||Ì?/^ÜüóÚµkÍ?¿þúëÄÄÄЦMüýýñóó£M›6׺zõ*Û¶m³%-[¶¬ùçòåËçþ¦DD ­é‘Ö eºK—.Y¼îÕ«W¦çž8q€Ë—/Ó³gO®\¹ÀäÉ“éÛ·/ÉÉÉÔ¯_ß\ßôÿCAéÉgº;×zº¸¸äà.DD 6%"""òÀrpȸ㦷··ÅëŋӰaû¶±aÃsÂYªT)@rrr¦õ½¼¼,^'&&š¾s„UDD²FÓkEDDä¡l1úxôèQ‹ã Ô®]›>úø{,G-¯_¿žiûAAA;ߦ¯õ8}út®b)ˆ”tŠˆˆÈC¥hÑ¢¼úê«þ‡”Ï?ÿœ;w’˜˜È©S§;v,>>>æÍÀÀ@óˆé©S§'..ŽLÛ/^¼8£F2¿ž7oDGGóùçŸ[ùîDD=J:EDDä0yòdzôèaQ@‹-2Ôíׯ‹/æñÇ'--ÐH€Éu IDAT¤IFŒA•*UXºt©yšl… øôÓO©^½:NNNüë_ÿbôèÑÚíÝ»7ÿú׿=z43gΤN:œ:uŠ:0lØ0zöìiqN—.]˜0—_M¸ÊÖÓ[ù¼çç´«ÒÎ\> þú~Ó—qß#tpè]c{-ô5œìr|o""’÷4Ò)""Ƭm³X~`¹­Ã°º˜øî^HÓòM-¦—Vó©ÆcUcÕÁUœºr*_Ún[¥-“ÛN¶H85„ÁŽuGÖY”q-Âøæã-N€:%ëP¡HŽ_:NlBl¦±­8°‚ÃчÙtdŽîMDD¬CI§ˆˆÈ#fãñ¤¤¥Ð´|Ó Ç‚Êa2™2${Öj»_—kœ¡®“Ñ £öF{L&“¹ÜËÅ‹A#2½vBrÎöÎx8yd8ÅÛßæŽïàîèž“[+ÑôZ±*“ÉÄçÿàHÌ®'^§|‘ò´¬Ôg{gs?ÎÿAø©pÜÜ0ˆçv²ÿâ~RÓR©[ª.Ê4ÊuýäÔd.\¿@Hx Œ­Xït(ú;Îì 95™*ŪЬB3¾ÿë{ÎÅžÀ¿¸?müÚܳ> ÿ¦{ÖIçêàÊàÀÁ÷­÷gÔŸT(R!ñ Þ·ËF`Ù¾e\Œ»h>^µXU:TíÀªƒ«Ì÷0¬ñ0œì²Õö½½t”¤”$ºÖèŠÁ`¸oýÐ#¡œ¿vž‘A#1Ú3å§WèT½MË7eÍŸkîÛžˆˆä%""b5Ç/g䪑Ä'ÅóXµÇHMKeÑžE¼¹þMæõGuŸêõíY„ÁŽ}öq-ñÕ|ªqâò ¦ožN+¿V|Òý‹0»õó*V“ÉÄëa¯³hÏ"”n@Ý’uY¾9svÌáVÊ-Fddí¦xFÅE·G ÿ)½,*>Ê\v4æ(¡GB©\´2U‹U5—o8¶g{g‚+ç¸í»™½}6ÅÜ‹1¾ùø»ÖÙyn'aGÃ8s”+7¯ðNÇwèS;ãzÜ¥û–râò >éñÉ}¯+""ùOI§ˆˆXÍÙØ³Ä&Ä:$ÔœLl5‘®ó»òâš ŠÁ` ~©úÔ/UŸõÇÖs(êÕ|ªñB“Ìí|±ã ¦ožÎŒÍ3x­ík9®?÷÷¹”,T’1Ácr+À·{¾eÑžEô©Ó‡wÇÜÆO‡bÌê183½FfîiÍ+é;È:2s4:˜’@Ÿ:}èY«'Ï/{žm§·™×^–.\š¤”$>¹Oϵ}7‹ö,bÓñM,xrÅ܋ݳ®“½ž.ž»tŒgvвbK‹s.^¿È;›ÞáóžŸãêàz϶DDÄ6´¦SDD¬¦B‘ Li?ÅbTÌÅÁ…ŽÕ:râò N^9™áƒÁÀsÏY” l8ï]Ì­Ô[¹ªŸ±~½ûk†7nÑFÇj)Y¨d–®gMé‰crjr†céýqç°ÑÎÈÇÝ>¦ŒgÆ®Kø©p&þ8‘O{|j‘pæ¤íZ¶üú_=ñuKÖ½ç}” `B‹ |Üíc–XÊo§~£ûWÝ-³2éçIt¯Ù=Óu£""ò`ÐH§ˆˆXM…"ðq÷!ôH(‘q‘\O¼Àþ‹ûÛ;¡Vò®dqŽ·«w†¤ÅÉÞ‰’…Jrâò Î^=‹_Q¿×Ïm¬©i©œ¼r£ÁHÏ2Ú)]¸4—n\ºïõÒYcM§¯‡/pûñ#ÿ”^æëîkQ^ع0szÍ¡×Â^<»äY>èò•‹VΓ¶Óm:¾‰i§ñeß/©WªÞ}ïãN¥ —fPÀ fü:ƒE{1¬ñ0B„²õôVªùT3¯Ó8}€íg¶“š– À3 žÉ@‹ˆHþÐH§ˆˆXͪƒ«hüIcÞÙô§.ŸÊ\¥šR3œ“fJ»g›ÿÜt&»õsë}š»_<ùÁß×€ÓWNg8–^V³xÍ ÇÊx–¡¬WYì v¬>¸Úœ°åEÛû.ìãå^泟Q¿T}sù‚] ˆŒ‹¼ß-P¾Hyàöú[€%Ýtôÿ±wßÑQ•ÛÃÇ¿“IO€RH¡%ô’FÀÐHSª€ô&¡‹"¾*z¥xAA¼Ašô‚Þ‹Hï5(½Æ„Ð!¤H/3óû#oFÆ ¤Iî˵œçìçœ}¬1;O92­V!Ê8éBajš©{§b¤0bçðX›ýõ‹UgVqüöñ<û%¤&’™‚•©•¶-#;ƒÈ§‘X˜XPÙ¦r‘ã•FJ×sl8¿zÎõhX©asU*”xØ{Á½Ä{Tµ­ª“ϽÄ{|B9 ±¦³­g[¦Mãä“z#£§îžB¡Pоf{½~“wO¦uõÖt­Û•9‡ç0çð>oûùKŸûî㻌ùe ³;ÏÖ{ÕÊš³kðrñ¹œ3'nŸ@ƒ†ÕZèå÷èiÎ.»¹#–^.^x¹xéÅm¿¶}áû¨Pª: !„È!#B! BScS4 Ùêlc/z¥†B¡`Å+tÚÖœ]CZV}½ûêm`S˜xGkGÓœ‘ËùÇç›[è\ù`éé¥:íÛ¯m'6%ö¹÷VR¬ì7˜“wNrîÁ9m{Xl»ÿÜMú=¨n_]§ÏÒÓKIÎHfbˉ5 ¢{ýî¬<³’ÿ^ýïK;!5a[†áhíHhL(Á'‚uþ}’þDçüÇogÚ¾i$¦%ê´Ç&Dzâ)ŒèZ·ëK?#!„%GF:…B„B¡àÓÖŸò¯=ÿâí•oÓ®F;,M-¹üè²v½dî» ûz÷Õös´räIú†nª}ÊáˆÃz2©Õ$½ë&¾gýžÌ=:—É»'›‹­…-­ý¹wƒõç×s+þÞ.Þ<|ò,Uþnþ\Œ¼hÀ'[0Ÿ~Btr4ö £[ýn³ýÚvª0½ýtmÜ‘›G¹Âê3«ÒhÓcib‰s9gŒŒùb÷ÜŠ¿EËê-ñw÷/Ô¹fœ¡ý-Èû;}\}ض‡v?¶£g­‰IŽaø~ŒFÌë2•äÙ÷PÄ!®F]Õ[ÓYŶ Ýêu+ÒsBñò¤èBa0½½zÓ¢z Žß:N\jÌ+ÐÏ»ñ©ñ»uì¹ý¾l÷%#/rþáyì,ìÑxM*7yéøÑ£ñrñâZÔ5|]|éT»“ö5…ÉU¡P0­ý4Þõ~—ÓwO“­Î¦Eµ4«ÚŒ^ëzanR°wƒ’±‘1ÿéö.E^âüÃó¨5j–¾³T[8>ËÊÔŠqÍt§¡š*MÛtìKŸ»uõÖzSÿ.wj-@ÇZéP³—]âVü-b’c°u°¥c­ŽT Ðîžû"µkSÛ±v¾qB!J†Bóìâ!„¯”èèh’““ ëééApp4;,¾4tYÕ…„”NŽ?iøâ’š•ÊO—~bh£¡:í*µŠ7¼Ae›Êü<äçÍI!žçUøþe›““ÖÖÖùæm«¬éB! )%#…™gr-úšNûO—~âqÚcÞõ~·”2B!Ê™^+„¢Ôxž·O›KZVÁ'‚ñw÷' J@±Ä7+3+ü\ý°qjwÂÆÜ†ðØpŽß>ÎÐFCéãÕ§DòB!^Rt !„(3úûô7h|q±4±dóÀ̈́ņq-ê1É1´­Ñ–/ßü2ßõ‹B!Ä?B!J¯«/¾®¾‹7”Zµ¨åP«´ÓB!Ê4YÓ)„B!„Â`¤èB!„Ba0Rt !„B!„0):…B!„BŒB!„B! FŠN!„B!„#E§B!„Bƒ‘÷t !„â¹v†îdÃù ØYÚñCJ9£¼¥d¦°ñÂFÎ=8‡Z£ÆËÅ‹>°±°)ò9‡ÿ4œô¬ôÅ5 "Ð3°L÷BˆÒ"E§B!žË×Õ—ŠV™¼k2wß-ítò›K¿ ýP)ßl<&JŸZÌÆóÙBQZ¤èBñqæþR2SJ; QŒnÄÝàpÄaºÕë¦-8*˜W k½®¬9»†3÷Ïàïîo°¾|óKì-í_›>BQܤèB!Ä+ëÈÍ#@Î4à¿käÖˆ5g×pøæaƒ«Ï®F©P2ÈoÐkÑG! EŠN!„•Å/W~!,6Œ§éO©jW•^ {QÏ©ž6æï›ÕÌê4‹µçÖrùÑeTj^.^ ö¬Ý¦¨ñÙ„ņÑC”FJÖõ[W¨\s¥g§³éÂ&Nß=M¶:›š5Òh+ÿXÉÕ¨«zÔ$(ßgtöÁY¾;úöóªwW±íò6ŽÞ:Š‰Ò„Ö­éÕ ÙêlÖž[Ëï÷~ÇÒÄ’@Ï@ºÕëV¤gž+än»þÜEä“HÌŒÍðsó£GýØYÚ½0ç·O°èÔ"¶E=½pãžA›¡R«ò{ØXذ¨ç¢|ãÂbÃò\·éZÁ€ðØp¦ïŸNXL˜öxójÍÛt,³ÎÒþ™,ï³KË|¯}'áÆF…ûQª,÷BC‘o#!„sæþnH‹ê-èãÕµFÍoף皞|ûÖ·t­×Ðݬ&<.œ¡[†Ò¾f{úy÷ãfüM~8õÛ.ocóÀ͸”w)rüðŸ†ãRÞ…Z|€B¡(t®³Sj¿ ý‹ cä#ñqõ!òi$ïýô™ªLî'ÞgMß58X9è9yØ{ðA‹øîØwœ{pŽ){§PÓ¡&ý¼û±ÿÆ~í&>÷ßÃÇÕ‡¾Þ}Ùõç.&í˜DRF}é>VžYÉœÃsÙd$íj´#9#™õç×3÷è\¶ÚJ}çúÏ͹¶cmê9×cWè.¦¶ŸJó X™Z½ð>ßoþ>¦@ÏÄDiR ¸„ÔÊ™é¯]´6ÍYóø8í1½öæû0ãÀ j;Ö¦C­ô¨ßƒsÎQß¹>ëtÆÌØLï\gœÕþ²"×Çwè\»óss+Ë}„¢$IÑ)„Â`’2’¨jW•¥½–¢T(èX«#7 ä«_ѹNgŒŒu6«¹—xÙgÓ®F; g´ÐÃÞƒ mALÝ7•e½–9ÞHaD9³rynºRÐ\¾?þ=×£¯3¹ÍdÞküžöþîþtYÙc#ãçnì’—Ü`l-lðuóå]¯whåÑŠã·³$d ó»Î§KÝ.Úöc·Ž±å⢳0÷±éÂ&|]}™Ôj’¶Ûmiµ¨U¾k_ºô#/òß¡ÿÅÑÚ±@÷ÙØ½qŸHÁe«³0Rè¿zÜX™sŸ™Ù™ÔuªK]§ºÄ&DzôôRö…ïcLÀÎ<8C‹ Lys J#ež×ÉýÅÀ³VŸ]ýÂÜÊr!„(IRt !„0_W_õ\¤-~r5«ÚŒÓwON]§º:ÇŒŒiãÙF§-Ð3 ŽÞ¢eõ¿Ú• %Ul«p+þV‘ïí‚gîŸá×k¿Ò©v'L”&˜›³ºïj\Ë»æ™[ZVŸíúŒ¸”86ô߀©Òô¥îõe厮fª2õŽå¾Ç2w—×\“ZM",6ŒïŽ}GJf nà§?=·à„¼wˆÝýçîæV–û!DI’¢S!„ÁØXØÊúóë‰JŠâiúS4 QIQ$¦%êõ±³´ËsÔʹœ3‰i‰D>¤–C­"Ç¿l®Yª,b’c0Ušæ¹îÑÑÚñ¥‹Î¿Ÿ×ÄÈ¥‘’ æôÚÿ^læ™Ïë2o~Ë{¾`ʾ)x»xóFå7è^¿;åÍËë啞΀ˆNŠæiÆS"â"ô~ið"†XÓéVÁ ÏwQÆ¥ÄéÄä2R1¿ë|z®éÉ’%,î¹8ÏûÍÏPÿ¡(PäøŠôBC‘¢S!„ÁLÛ7õç×Ó¡VºÖ튭…- …‚ÝîfýùõhÐ_ß—–•–ç¹’3’ô6x)lüËæjldŒ±‘1Yê,²TYzkS³R t=C)Ì3·³´ãëN_3½ýt®<ºÂ‘›GXsn O-da…:#«ó¬?jùî6îô\Ó“Q?âCÿWàWrbM§Ÿ›«Î¬"<6\o cx\ÎB>®>zý’2’ÈReQÁ¼³ÍÂßÝÿ…› 奪mÕBÅ—õ>Ba(Rt !„0•ZŦ‹›°³´ca…:Ç®E_{n¿¤Œ$"ŸFâRÞEÛ—GTRŽÖŽz£V…‰7UšêŒ´}²óÚÕhG[϶ÎU¡PàãêÙûg¸uU§ ÉÈÎàvÂí=ƒ*ì3ÚĬ޳p°vÀÏÍ?7?ù ¢ÙÂf¬:³J¯è´µ°¥yµæwføOÃ÷Ë8Öõ[W "Ñk:[Uo…… #òa‹u޼q  :Öê¨Óž–•ÆèŸG3¹Íd¬Í¬¾e8ïÿï}V÷]­7-Y!ÄËÓŸ$„B¥‘· n#…³ÏæiúS §àûöÈ·¨5ê"<­âQØû8{ÿ,KO/E¥ù«ˆ‹@£ÑèñyiVµŸ·ùœ³Î2mß´b»‡Â²0±à³ÀÏÕÙoû9ßù;K;î=¾G¦*“ Í'è½ó²°ñ‡"ñáöq´v$5+wþÓí?EÊugèN¦ïŸNZVö$¤&0Ðw 'îœà܃s\ûøù£¹Á”½S '1-wz6艟«ÿÚó/ÂbÃx’þ„ÆîéëÝ—Z޵˜¾o:¡1¡¤d¦ÐÈ­ï4|‡w¼S¨ûØpakÏ®åqÚc*ÛT&)#‰û‰÷éT»SßœJyóò„Ü aÁ‰\‰ºB¶:7Œ§½'SöNáüÃód«³ñvñ¦gÆ6û2eŠlã…Ì;:{+{ŒŒyø€±MÇ2:`´6fõÙÕl¿¶«QWiäÖˆoßþ– æµm”ö>|]}éïÓŸîõ»3ü§á$¤&p5ê*66Ô¬X3ßµ¦e¹øç*ïñzqrrÂÚÚ:ÿÀ¼m•¢S!^ae½èÐh4á÷?£äŒd½é¯®\±µ°åjÔUvwwÊ™•ãzôu½øÜ©Ä…½øÔx>yˆ™±nÜtÞ·ŸOD\„εªØVÁÚÔZ/çŠVñ°÷(ð}·LU&q¨5j<ì=ôþÜy|‡è¤hí熕b¢4á܃s:qnÜp­àÊ™ûgôF®M”&øºú>7‡²ÜGüsIÑ)^–Bñö*…ñliˆøâ’˜–Èç»?×UJÎH&à‡»7fEŸ%š“B<Ï«ðý/ʶ—-:eM§BQHYª,ö…ïcëå­:m3Î$#;ƒ‘oŒ,Åì„Bˆ²Ev¯BQêv†îdÃù ÜI¸C¶:›þúÓ£Az7ì],ñÅÍÆÂ†qMÇñÍáoXtj¶¶Üy|+S+‚»Ó¤rmlÿ ýó=_îzL!„âu$Ók…âöºM¯BQüäû_¼,™^+„B!„¢Ì’¢S!„B!„ÁHÑ)„B!„Â`¤èB!„Ba0Rt !„B!„0):…B!„BŒB!„B! FŠN!„B!„c\Ú !„x=-ÿ}9³ÏÀÉÚ‰“ãO–rFÅkä¶‘Š8ÄÄ–×tœÎ±ó–•¦ÓöYàgŒh2€öËÚs+þ–ö˜Ÿ›[n1|ÒB!D)‘N!„1¢É">‹ ŽSÒN¥Øý÷ê9qè¹Ç¯LºÂŽá;hW£ŸEh N€õýÖSDZï4x‡°OäàBñZ“¢S!„(„˜äf˜A÷úÝ‹ÔÿfüMú¬ëCÏ6ÌykJ…²˜3B!Ê):…BˆBø|÷çtªÝ‰ÕZºï¹çè¿¡?£F3±åDd'„B”=Rt !„´õÒVnÄÝ`r›É…î»7l/£~Å׿¦¯w_d'„B”M²‘Bˆq3þ&_úš³Î’­ÊÆËÅ‹Z~„Ÿ›Ÿ6&S•É¢S‹Øõç."ŸDbfl†Ÿ›ïz¿Këê­Qå?µÖ7µP©UÊ©¢UEN¿º@±QIQ|}øköXˆ•©UúäZwn O-dEïx¹xª¯Bñª“¢S!„Á¥f¥2ußT&¶˜H§:ÜŒ»ÉäÝ“¸i kú®¡±{c¦í›Æî?w³ û¹7"9#™å,gÔ¶Qlè¿&•›ä{­°O r“wM¦K.T (T¿SwNqàÆÞküžœB!þ‘dz­BƒKÊHâãVãçæ‡¥‰% *5`^—yd©²ø÷kãNÝ9EŠ5h^­9æÆæT´ªÈgŸQÍ®Z)f[.máÎã;|Öæ³B÷u.™5+þXÁòß— ;!„¢l“¢S!„Á™›áUIw”¯–C-­ %&9€V­8ÿð<_ìþ‚‹‘µÓd÷Ü_ QNCˆ|ÉìC³™óÖ,L, Ý¿º]uVõY…•©³Ïf噕ÈR!„(»dz­Bƒ³1·A¡PèµÛ[Ú“C|J<ŽÖŽL{s>.>ürõm@#·FôóéGûší t­â^Óy(âIIôßÐ?ÏãóÍgþ±ùu*¶Uôb|\}XÙg%ö cÖÁY(P0ÌXrB!^uRt !„0¸¤Œ¤<ÛãSã°·²@¡Pн~wº×ïN¶:›ÓwO³üåŒýe,Ÿ·ýœáþÃó½Vq¯éè;¾õÚ·_ÛΤ“˜Ør"㚎Ë÷<~n~¬è³‚á? gæÁ™(” ö\¬¹ !„e‘L¯Bap©Y©„F‡ê´…ņ“C§:8Z;à3߇›ñ7062¦yµæ,yg …‚ÇK<ïâæïîÏŠ>+°0±à«ý_±þüúÒNI!„08):…Bœ…‰Ó÷OçÒ£K¤e¥qåÑ&현‰Ò„/Û}©ûåž/ù3æO2U™Ä§ÆóãéÑh4…Þ5¶¬jìÞ˜e½–anlδ}ÓØpaCi§$„B”B£ÑhJ; !„EMrrrb===ަsç‚Å¿¬å¿/göáÙ8Y;±øÅ|sä.G^F­QÓ°RC&µš¤óžÎÐèP6^ÜÈ÷þ òiÎ{:«ÚV¥Wz7ìçºÐ’öåÞ/Ùta“^{‹j-Xõî*Ìk@ZVšÎñÏ?cD“Úϧîœbä¶‘¤g§xš®BVIÿ‹×““ÖÖÖEí¾UŠN!„x…•å¢S!DÙ ßÿâe½lÑ)Ók…B!„BŒB!„B! FŠN!„B!„#E§B!„B¸? IDATƒ‘¢S!„B!„ÁHÑ)„B!„Â`¤èB!„Ba0Rt !„B!„0):…B!„BŒB!„B! FŠN!„B!„c\Ú !„…Ξ°=(”Œk:®”3‚›ñ7ÙºSûy\³q(ÊRÌèÅ4 ;®ïàî㻼ßüý|ãÓ³Ó9uç·ncnbN}çúxUò*L…/ï ~Avvw:t耙™Yi'$þad¤S!„Am¿¶»!9÷/W~aáÉ…9wQýúÁ'‚ÉVe—v*ÏuùÑez­íÅG;>â‡S?ä(â­·f噕ħÆsåÑl@·U݈K‰+Œ…/Ç SSK>ùä˜:u*W®\)í¤Ä?ˆB! &&9†I;&1iǤb=oM‡šLh>ʶ•‹õ¼±8d1[/mÕk÷°÷`Bó T·«^â9Æ¢S‹ýóh†7Ž“µS¾ñ!wCóóÞoö>ëû­ç“ÖŸ0»ólVôYÁµèk$¤&”@ÖBˆ—ãCPÐjŽ?Θ1c8}ú4=zô Gìß¿FSÚ Š×œB! ÆÑÚ‘¹oÏeîÛsK;•b³èÔ"¶]ÙVÚiYeÛÊ챇·ê¼•o¬Z£æË=_ÒÐ¥!|èkR¹ ·ú{+{C¥*„(f±wï^¶lÙ‚³³3cÇŽå­·ÞbÇŽ¨TªÒNQ¼¦¤èBaPÝëw§iÕ¦¥†øÿÞ®ó6åÍË(ö{pçñ:ÔìçñÑ£±·”¢SˆW‘ŸŸ‹/fçÎÔ®]›?þ˜:°wïÞÒNM¼†d#!!„QuâSã9~ë8’aab«Ïs7§ åôÝÓd«³©çT€*/¼~Lr Ço'&9†rfåðsõ£ŽSíñóÏsâö ¬Í¬î?œ3÷ÏpùÑeTjÞ®Þ4vo¬Ÿ¥Ê"òi$Á'‚P xîF<7ânpâö ”FJ¼]¼iX©á s~Ö‚ ÐP°)o–&–Œh2¢Àç.¨?îÿäLgŽMŽåÈ­#Ä¥Äá`å@Ëê-q´v,ök !JVÍš5ùî»ïøàƒX°`ãǧuëÖL:77·ÒNO¼&d¤S!„A=ocUgVÑrQKÖž[KBj—"/Ño}?l@|j¼6N£Ñ0eﺬ잰=ĥıáÂÆü2•:ï©`Ë~_F«Å­Øx~#‰i‰œ¾{šn«»ñáöÉTeêÄn¼°‘å¿/çƒí°ðÔBbSb9óà ý7ô'h[éÙéEºïuçÖ1ûÐl¢“£Ùýçnz®éɧ,Ò¹JË­ø[½u”Î+:óû½ß‰O‰gÙïËh½¸5kÏ­-å …Å¥J•*Ì;—7òàÁ:vìÈ¢E‹ÈÊÊ*íÔÄk@F:…BDîÆ:×£¯k‹—\;®ï`æÁ™t«×oßþ#EÎï@Ï>8K¿ ýóó¶ Ü‚B¡`Ã… l¼°‘Þ^½ùºÓ×Úsüïêÿødç'éþ¯ì×k¿2çðºÔíÂw]¾C¡PhÛ?Úñ•ÊWâÓÀOñuõÅ×Õ—ý7öJmÇÚŒ £=ϧä›#ß0÷È\þÕî_Úøe¿/Ã¥¼ šOxáýǥƱ¢Ï íçžkz|"˜aþÃ0Qšäûü òCKÊH`ýùõü2äê9Õ S•ÉÍCøjÿWxÚ{Êôi!^#þþþüöÛo¬[·Žùóç³wï^‚ƒƒ©R¥Ji§&^a2Ò)„¢Äýø{Έ߸¦ã´'@#·F4­Ò”óÏsæÁ gÄ`ô£uÎÑ­^7*ZU|î¹Ç7¯-8ºÖ늓µëϯ'K¥û›{…BÁ0ÿa:mC ÁÂÄ‚Í7ëŽDu>{¹x‘žNäÓÈBŸ«´åüÙ´ªÞJ[p˜*Móç±þüúRÉMa8J¥’¡C‡ò믿Э[7>\ÊY‰W™Œt !„(Q*µŠ?cþD©PRÕ®ªÞñêöÕ9yç$×¢®áçêÇ­„[(JÜmÜuâ •m*“˜–¨sî°Ø0ŒFüú :}”FJÒ²Ò‹ £¾s}m»½¥=æÆæ:±fÆf¸”wáfüMî=¾‡gEÏBݧKyÏ–&–¤f¥¨YXÓicn@5»jzÇ<ísžÇ¸Å~]!DÙP¥J¶nÝÊÔ©S=z4S¦LaÀ€ùwâo¤èBQv)^|øÙQÒ¿ºüõÏßõjØ @o÷VµFýâ4ù$RÀÜ^5µj­ÎÖ;–[åÙ!^¦¦¦|ýõ×T®\™iÓ¦‘žžÎ{ï½WÚi‰WŒB!J”ÒHImÇÚ„F‡r'áÕí«ë¿€zÎõP*”xØ{Á½Ä{Tµ­ªûðéC½s×r¨EhL(ƒüaka«s<<6œ}áûp­àªÓžš@Jf V¦VÚ¶Œì "ŸFbabAe›Ê:×xöEêÎo žs=¼]¼ ÿ0^ ,¬él[£-³Ï&<6\ïXîŸSÇ:zÇ„¯Ÿ1cÆ`aaÁÌ™3±´´¤_¿~¥’x…¼ú¿†BñÊÙd$ O-Ôe<ûà,!wCðuõÅßÍ€A¾ƒXzz©Î9ö„íááÝ¢`LӜ̀ŸZ¬Óž‘Á”½S´S{Ÿ¥P(XñÇ ¶5g×–•F_ï¾:ÿ8Z;’˜ž3¥W¥Q1ÿø|b“c ~ó¯jvÕèV¯!wC´¯Oœ„–„,A©P2Üx)f(„(IC‡e„ LŸ>S§N•v:â"#B! "÷=·rv®]xj!õœêÑ¡VºÔíBlJ,sÌåvÂm¹5"6%–½a{ñwógAÚi›ý}ús#îëϯçVü-¼]¼‰|I\JÞ.Þ\‰ºBð‰`ê9×£­g[:×îLl»X¾9ò çœÃ×Í•ZÅ¡ˆCT*_‰YféåêhåÈ“ô' Ý2”ÚŽµ¹“Ç ô dR«I:±=ë÷dîѹLÞ=™ØäXl-liåÑŠ¨¤(~ºô“ÎýT  JÁ'‚9ûà,óŠ7ºÖëjÈÇÿ\·n³ãú’3“QkÔÚw޶­ÑVgà €g”‘ÄÐÍCéX»#vvœ¸s‚è¤h¾ïö=^.y¿WUñz?~<Lš4‰;wbggWÚ)‰W€Bóì!!„¯”èèh’““ ëééApp4;,þeåϪåP‹µ:h?ǧÆsìÖ1¢’¢076ÇÇÕç¹ÓTCcB9}÷4Yª,j:Ô¤EµüzýWî'ÞйR8vë’QÞ¼'''¬­‹ü¿UŠN!„x…•å¢óUñlÑ)„¯#C|ÿ>|˜   ¶lÙ‚ŸŸ_¡ú¦§§³yóf_™÷þöÛoÌž=›¨¨(š6mÊÚµkŸEPPOž<¡S§NÄÄİ{÷nF͇~XäøÜ¢óÂ… ?~€mÛ¶áíýü=?~LË–-IKK£M›6Ô¯_¿TŠN™^+„B!„(”ÀÀ@øþûïY·n]¡úîß¿Ÿ3fpùòe¾ûî;eX|†Jbb"_|ñï¿ÿâMÞÔj5cÇŽ%>>ž;wbk›³¡¿¿?S¦LÁÝÝwÞy§HñÕªUc„ ¬ZµŠ²³³ùá‡X¾|ùsóY±bÙÙ9;·k׎>}ú¼Ô³(*ÙHH!Ä?Òù‡ç >Llr,əɟ&änHi§%„¯Œ#Fpúôi""" Õ¯]»v*àÊŠN:ñóÏ?S·nÝ|c÷ïßÏåË—xð€âãã±³³£Y³f¸ºþõnäcÇŽqñâEœµÓ=cccÙ´iÓs¯emmÍðắh ç?þ )) š7o޳³³NLdd$Û¶m+ð=Õ¬Y“Ž;8þïrGó*¨sÛ®]»†O‘âŸÕ»wo.\Èþýû £V­ZÚc)))¬[·Ž-[¶°{÷î"ßOq‘‘N!„B!D‘4nܘ?ÿü“ŒŒ /^L»ví8zô(ÉÉÉ„„„о}{‚‚‚ôú-Y²„-[¶h?ÇÅűyóf½¸S§NLhh¨¶-##ƒ‰'òÖ[oqòäIÙ¶m,[¶Ì07Z@QQQ(•JÊ•+§w,wúlTTT‘ãŸejjJPP†E‹é[·nM›6¥zõêE¾—â$#B!„Bˆ"©Y³&*•Š«W¯2þ|† Â_|¡=¾gÏÆ¯ýܲeKZ¶lɪU«ôÎåèèÈ„ ´Ÿ¯^½Ê²eËðõõeæÌ™Úö¯¾úŠ;vðÕW_Ñ¿mû_|Áœ9s¨Q£­[·ÀÅÅE眆–žžŽ™™YžÇLLL´1Eÿ»¾}û²dÉvïÞÍ|@õêÕIKKcÕªU/Üa·¤ÉH§B!„¢H€œé± …‚7n––¦=Þ®]»}+V¤oß¾ÚÏQQQŒ9{{{–,Y‚©©)ó mÛ¶Q±bEúõë§sŽ‘#GäYЖsss233ó<–••¥)jüßYXX0|øpÔj5‹/`Ó¦MøùùéL·-m2Ò)„B!„(’Üw71cÆ fÍšEÓ¦M ÄÇLJV­Z¨ètppÐiii‘––ƺuë°³³ÓÆ………¡R©077gÁ‚:çÈÝåõÂ… Ú¶’^ÓéììÌ­[·HJJÒ›2ûøñcmLQãó2pà@–-[Ư¿þÊÈ‘#Y¾|y©O3þ;éB!„BIrr2VVVôîݛӧO3oÞ<Y³f mÚ´aüøñdddè|jµš?üððp,X€‡‡Gžqyí&kddÄ„ 1b*•ªè7õêÕ«À;wôŽå¶åÆ%>/VVV 2•JÅСC©[·n¾}JšŒt !„B!Š$w4r6¯4hmÚ´¡M›6|úé§,X°€àà`š4i Aƒò=ßìÙ³9xð ÿþ÷¿iÞ¼¹¶ýÇdÈ!Ô®]¥R‰©©iž#¨‡"!!A[”–ôšÎ:°cÇNž|¸ÞzÍü‘ŒŒ lllèÛ·/7nÜààÁƒ:1<à³Ï>{áÆ;†Ö¾}{4hÀÚµkILLÔ¶oÙ²…¨¨(&Nœˆ‘‘Q‘㟧|ùò|ÿý÷Ìž=ooï⽩b #B!^I!wCXp"g=©±)«ß]]º ‰×ÆÕ¨«üzíWî<¾ƒ™±õëÓ»aoì,í^ØoÙïË8q˜>^}è^¿{ e+Dé:wîÕªU£zõêÔ«W=zбcGìííyôèûöí£qãÆôîÝøë=DEELÛ¶mIMMeêÔ©XYYaiiIpp°Îuž-$ÿõ¯‘––ÆØ±ciݺ5$$$°ÿ~ºuëÆ€ŠõOœ8ÁùóçµEá½{÷´ù <m¬‘‘‹/fĈtíÚ•Î;î]»7nï¼óŽÎ¹ ÃæÍ›¹pá÷ïß'88˜¦M›Ò¨Q#Zµj¥sîðË/¿ðÇpàÀ¢¢¢0`öööÅúŒò#E§BˆWRM‡š|ÐâfœÅÅÈ‹¥ŽA¨4*¾Üó%•m*3:`ti§Sæò1„o|ËÆ î?œ¾HHM`IÈ‚O³gÄÜmÜóìw)òsÎE¥VѬZ³ÎZˆÒsòäIüüüpttäçŸ&,,ŒëׯM£F6lõë××ë7z´þwȸqãž{‘#Gj_-bbbÂ7ß|ÃèÑ£ áéÓ§T«V±cÇR¹rå⻹¿±±±)ÐT]ggg¶oßαcÇÇÕÕ•÷ߟjÕªK¼>>>λqãÆ4nܸÀñ† Ðh4šRÍ@!D‘EGGk7qȧ§ÁÁÑtî\°øWÅà̓9{ÿ,×ÿßõÒN¥Ø%¤&Ðô‡¦¸Vpåਃùwø‡åSÜÖ[ÇŒƒ3øiàOx¹üµ†êÁ“. dçðÔt¨©×/#;ƒ®«ºbmfÍ¥ÈKLl9‘qMŸÿó%ÍPßÿ7oÞ¤C‡¬]»–¦M›ë¹EÙâää¤Ý©¸¶ÊH§BQFÙYÚ±ä~,M-K; ìåSœÒ³ÓùîØw¼YãM‚À­‚[nyî(çüãó±³´£W.E^*‰t…(Ö®]KÕªU (íTD' !„e˜»;ö–%»öæEÊZ>ÅåÈÍ#$e$ѼZó<ûºúbab¡×~áá6]ØÄœ·æ`¤«Ä?Ç­[·Ø²e AAA(ŠÒNG”q2Ò)„ Î>8ËwG¿Ó~^õî*¶]ÞÆÑ[G1QšÐÚ£5½ô"[ÍÚskùýÞïXšXèH·zÝôΗžÎ¦ ›8}÷4*ŠzNõæ?¬H¹í ÝɆó€œÑ»Yf±öÜZ.?ºŒJ­ÂËÅ‹Á~ƒ±±°Ñé§Ñhؾƒ‰IŽÁÚÔwz{õÆÒÄ2Ïû^Ñg¿\ý…SwN‘˜–ˆF£ai¯¥”3Ó} x~ÏoMß5˜(Mtr9tónàÑÓGX˜XàíâM¯>ØZØú™„Ü aן»ˆ|‰™±~n~ô¨ßC»y΋ò ÚDJFÊsÏý}·ïq´vÔæß3ÌÏ MƒP© ö> õ\”oÜ…‡9/“¯j[•C‡Øº“øÔx¬hW£ík¶×ûÁ:=;Ov~ÂÇ­>¦²Meí9„ø'˜1c5jÔ W¯^¥ŠxHÑ)„ <ì=ø Å|wì;Î=8Ç”½S¨éP“~ÞýØc?“wMæîã»Ü{|Wúz÷eן»˜´cII ô¨=WJf ý6ô#,&Œ‘oŒÄÇÕ‡OðÞOï‘¥Î*tn¾®¾T´ªÈä]“ gè–¡´¯Ùž~Þý¸“NýÀ¶ËÛØdá©…¬=·–M6áhí¨wßïÿï}VjH ‹ ãÛ#ß’­Î.ôóSkÔÚcÙêlÆÿw<‡ofh£¡´ókGlr,KO/eùïËYÞ{¹ÞÑYyf%sÏad“‘´«ÑŽäŒdÖŸ_ÏÜ£sÙ:h+õë¿0Ÿ³÷Ïò}·ï176×¶½u”OÿHûšíq°r(Ô3ÌÏûÍß§ [R<[¨¿ÈÃ'øÏ‰ÿšÀˆÆ#°±°á`ÄAÆýwjwâ?Ýþ£3š9ïè<­uþ® ñO°jÕ*Nž<Ɇ ´ïÃâE¤èBa¶¶4©ÜD;êæëæË»^ïÐÊ£ÇogIÈæwO—º]´íÇncËÅ-:?Èü{®G_gr›É¼×ø=m»¯«/ÝWwÇTiZ¨Ü*•¯D¥ò•°2³â^â=fwžM»íô ÄÃÞƒ mALÝ7•e½–°(d‡"émãëêK·Õݘ¶o‹z.һﶞméç“ó¾¹Ö­ñsóËw”3¯ç÷¬E§qàÆ>nõ±Î.²íj´#pI cËÁÑuŠÀÙta¾®¾Lj5IÛÖ¶F[Z-jEJfJ¾ùø»ûkG*ÃcÃÙp~õë3¯Ë<íaAŸa~»ÿ.Œ¹÷ÊÑ1G©`^€7k¾‰[/o¥YÕfôõî äŒün½¼•߆ÿ&S Å?Ê™3g˜3g'NÔ¾ªCˆüÈâ!„%¢eµ–Úÿ6RQÅ6ç…á-«ÿÕ®T(©b[…ȧ‘:}w†î Gý:íõëSÕ¶êKåeldLÏ6:mžØXØpôæQ’2’Øvy½öÖ‰­ëT—jvÕ8pãOÓŸê¿M Ýs7rk„±ÑËýÎwëå­ôj¨;­­¢UEZUoEtr4Çn+ðùÜ*¸qåÑ~½ö+Yªœ‘cscsV÷]MÇ:ùö_Ö{fÊœWĥĴ-ˆrfåø±×:ë ‹ú KBî/.Úz¶Õœ¹ÞõÎùeIîßô¬4>Ýù)Ÿ´þ· n%›¨”‘‘¡ó>Ì¿»rå £F¢mÛ¶Œ5ª3¯:éBQ"r׿212Ai¤ÔûßÄÈ„LU¦ös–*‹˜äL•¦zçp.ï¬W¤6¯¼6€q.çLbZ"‘O#ñ°÷àÑÓG)Œøpû‡z±q)q¨5jnÄÝÀÏÍO瘹^üËÈVgóèé#L•¦T´ª¨wÔŽfAΨ[TRŽÖޏUpC¡PФrŽß>ŽS9'ªÙUÓ9ÇÁˆƒl¹¸…Åï,~©\ "7—·Op)òþîþ:ǯD]A¡PðF•7 |ΠmAÌê8 küÜüðsócß š-lƪ3« Tt~ü{v†îä‹¶_èLWþωÿЬj3¹5*¶ghˆ5oÖ|“¯öŹçôŽ]Œ¼¨s]'k§ðØp–ž^ªm¿—xàÁØYÚ1*@Ö°‰×Ë“'O8p ׯ_';û¯]µøáîܹCß¾}Yºt)Ó§OgúôéRpŠ"Sh :?E!D™Mrrrb===ަsç‚Å¿¬ˆ¸¦ìBx\8‰i‰ø»ûÓ³AOü\ýø×žÆ“ô'4voL_ï¾Ôr¬Åô}Ó %%3…Fnx§á;¼Óà g—éû§“–•†‡½ñ©ñt­Û•+QW¹‚¿›?ž5 *pŽ]Vu!!%ÏÛ~Î7G¾ÁÎÒŽ{ï‘©ÊdBó zçºôèSöLáVÂ-ªÚVE­Q•ÅàFƒ™Ð,gÊh^÷­@ÁÆ õürß‹ùìyZTkÁئc8ÿð+Ϭä@øâSã¹· n¸”wÁËÅ‹O?-á;B_^ßÿñññ 8Û·o뜹ªV­Š••sçÎ¥7êC IDATF%™®(ƒœœœ°¶¶.j÷­Rt !Ä+¬,ÉÉ\‹¾¦ÓæZÁ[ [®F]Õiw·q§œY9®G_׋vwÐlu6á±ád©²¨n_rfååiFÎ觃•Ãs ƒ¼ä'ÇŸ$S•ɸd«²©éPó…k"=}Ä£¤G”7+»;fÆf/¼o ÐÓ-§=&<6\§­¢UE½Ìȧ‘D%Eaab§½g×0æ%>5ž‡Obfl†[7íÆåãhí¨÷çöw5jê½jåEϰ´eª2¹“ô¬tÜmÜóܰéY·n“£×^Á¼µk*M! ìïßÿqqqôë×û÷ïçYp*•J4hÀæÍ›16–ÕxBŠN!„øG+ËEç«àÙ¢S!^WÏ~ÿ?zôˆ~ýú•gÁù¬ÿýïÔ¯_¿„²eÙ˲¦S!„Bˆ€‡òî»ï¨à466féÒ¥/Œ¢ d¼\!Äk¥ÿ†þùƘ›˜“ž•΄;d«³é¿¡?=ô wÃÞ%aÁr|v=kY¿Ž¢ì‹½E¯^½xüøq¾'@vv6{÷îåþýû¸»»—@†âu&Ók…â&Ók…BäÇÓ3kë–¤¦>F­VëS(£P(P©T¨TíbmddĘ1c˜8qbI§,ʘ—^+#B!„B¼¦þüóO`ÉÉñÚ6ìííqttÄÙÙ'''*V¬ˆ““öööÚÏöööòšQ,¤èB!„â5¤V« æ3a‚o½e‰££#åÊ•+íÔÄ?Œl$$„B!ÄkÈÈȈ=zðô ÀÃÃC NQ*¤èB!„Ba0Rt !„B!„0):…B!„BŒB!„B! FŠN!„B!„#¯LB!^1¡1¡Ì;:sΡR«ðvõæƒæàçæWÚ© !„zd¤S!D™‘š•JÛ¥m ÚTÚ©”Y—]¢÷ÚÞX™Z±7h/GÇŽ‚;ý7ôçÄí¥žB¡GŠN!„e†F£A­Q£V«K;­óðîúwK; Ô5ŸíüŒòæå™óÖ­±µ°å«_QÅ® “wO&S•YÚi !„:¤èBQfX™ZqxôaVôYQÚ©”IgîŸáFÜ :Öꈹ±¹¶]i¤äí:oóèé#E*Å …B}Rt !„¯ˆ»!4¨Ô@ïXç:1B!DY! !„0ˆå¿/göáÙ8Y;±øÅ|{ä[.E^B­QãåâÅG-?Òn~³?|?c~£ííãk˜›øz*Š=îá§K?FRFUl«ÐÇ«ƒýc¤Ðý=kbZ" O-äÀD%Eaga‡GEºÕëÆ[uÞbý¹õÚüÏ=8‡çlO gT1ì“°|ó©õM-TjUr¯hU‘ÓïŸÎ7îfüMœË9ës.ŸÓv;áv®)„B”):…BĈ&#Ñd]VuáNÂþ}àß|Þæsj;Ö&".‚É»'3pÓ@Öô]Cc÷ƼYóM">‹`ôÏ£9pã@¡¯wôæQ>Øþ·ú˜àîÁ¨5jv\ßÁŒ3ˆJŠâ³ÀÏ´±±É±ô^×› U3;ΤIå&¤e¥±åÒ>Ýù)OÓŸjóo0¯uê²eà–BåS´°’2’°4µÔ;fi’Óö$íI±_W!„x2½V!„Á¥e¥ñU‡¯ðqõÁÂÄ‚•0¯Ë<²TYüûÀ¿‹í:M*7atÀh*˜WÀÖ–Á~ƒéR· «Ï¬&9#Y7÷è\ZUo¥¿²ÏJ†ù{é| ¡œY9R3SõŽ¥e¥PÞ¼|‰æ$„BäG¦× !„0¸òfyBö–öÄ$ÇŸ£µãK]#)#‰¬`_ø>¢’¢xšþTçxnQ–©Ê$)# 3c3¬L­^êš/bˆ5öD%Eé‹zšÓVÍ®Z!²B! OŠN!„—˜žˆF£Ñ›úŸ€½•ýK_cä¶‘œ¹†/Û}I—º]°µ°E¡P°êÌ*fœ©~jª4¥œY9’2’HÉLÉ·ðTP´éª†XÓùFå7øáä\ºJú=tŽ]º @@•€b¿®Bñ2dz­BƒËÈÎàò£Ë:ma±aÄ$ÇPÇ©ÎKrªÔ*Î=8‡ƒµC ÁÎÒN[àfdgèÅ·¯Ù€#7èë²² 3ÎÔ~¶0± K•¥ýüæo²ùâæ—Ê·¨WnŒgEOvÿ¹[ç¾Tj¿…þF¥ò•ô,•Ü„Bˆç‘¢S!„Á•3+Ǽcó¸ððiYi\yt…I;&a¢4áËv_¾ôù•FJšTnBlr,Ë~_Æã´Ç¤g§súîi6^بÿq«q«àÆÌƒ39q˜”Ì¢’¢˜ºo*±)±:k:ë9×ãvÂm=}Ä…‡¸÷øþîþ/sQ)Œ˜Ýy6OÒŸðéÎO‰MŽ%1-‘iû§q'á³:Í*Ôkf„Bˆ’ Ðh4šÒNB!DÑDGG“œœœ àééApp4;,¾¸tYÕ…„”Öö[ËŒ38ÿð<*µŠ†•2©Õ¤ç¾§ [½nÌë2¯@×yœö˜ïŽ}Ç‘›GˆMŽÅÆÂ†VÕ[á`íÀ’%Ôw®Ïÿ†þøë=ûÃ÷ç¼§ÓÒŽÆîù°å‡Tµ­ª=ï­ø[|±ç ®F]ÅÆÂ†Ñ£à3 žLÑ]¾Î¼£ó8÷ðjuÎ;O?lñ¡öY !ijJëû_¼>œœœ°¶¶.j÷­Rt !ÄÿµwçáQU÷Ç?“ÉÂ$„} !² ˆEYd©€Ú¢Q*µ¿ÖZ·J‘ª¥Bw… (J%¬ F ,Â’!²}æ÷O¦Æ˜,7Càýzž<sï9÷~Ϲ—0_ιçÖbµ)éÜùôÎ=/à2’NTUU“N¦× CÒ 0 ¯LâƒÝhÎ÷sìŸæ詾OiÖÀY:NÀœ€k–™Ñ†fôŸQá€ñH:† UhHh•ÿ—øjˆ8 Ók†!醤`’N€aH:†!醤`’N€a\¿´æç5jìÝX}Z÷©öc;wLÿù¯ÖƬÕñsÇõó³?ËÃÕãŠå÷žÙ«'v(l_˜Ì&³v>½³ÚcªI™IzuÓ«Úqb‡úµé§v~íTPT “'õÃñäáê¡>­ûè•a¯ÈßÛ_ÙùÙú(ê#Å¥Å)<6\=[ôT¿6ý4¼ópµ÷ko?nDB„¢NEiÕÁUêÔ¨“º6骇{>,_‹o©ó¯;²NÓ¿ž®ºu1=Bu\딉ñ?ÿQRf’–í[¦v~ít_çû$IÅŠO׿øÍò÷ö×ûcßWgÿÎW­Wl-VFn†öÙ§#iG4¸ý`ýyðŸKÅĞ•Ÿ¥È„HŤÆhh‡¡z{ÄÛ²¸Y*UçþïWß6êаƒý¼[â·èPò! ©Ö¾­KÅ|_—û4­ï´ µ£DEï—+©ÎkZž÷"ÞÓŠ‡VèÖ¦·V¨Þªƒ«4­ï4}¾÷óZ×§ÀФpÝHÍNÕ¿ý£{7Ö®§wUûñÛûµ×Œþ3t8å°ŽŸ;~ÍòÁ̓ÜnTL¯\7{7Ö¼ûæiÞ}óœJ­Pd-ÒS«ŸR^až]\æË®$µ¨ßÂÐþLÉNQdB¤žøŒ$iåÁ••:ÎØnceq³èø¹ãŠK‹s¸^ï–½µdâIÒô¯§+)3ÉáºÕ»‹ÉEOÜþ„¤Ë£ôŶâJÕ™Ðc‚ü:ç=·Ü£Þ-{Û?;ÚŽš¾_*{MKj+F:† Û¦v ™kfjÁ®JËISÔé(M\:Q¯|\yEy¥Ê¯Y«ù;櫨¸¨Âçú8êc \8PŸíùLç/סäCšþõt ~op©ç¼J|¾çsÍÙ2G)Ù)Zwdøô-Ž\ìйN]8¥;èbÞÅ ÇY]âÒ/OYláÓÂ)çÿéôOÊÌËÔ öƒ$]žN)I«®–ÍæX‚]bå•Ê-ÌÕí­oWÛm+KɈVjvª²ò³®Y¾ºb·Ú¬öÑÕ‘#ú’ÊÔ¹’Š´£¦ïG®éñóÇ5ÇüR?ŽL‘.¯Þ³ª%îë¹OÚŠ‘N€!~¹OLJŒni|‹žìó¤}ÿâÈÅš»u®æm§¿ ý[…ùùµo«×7¿®Ñ]Gkîð¹ö‘Íg>£áWLjŒno}{©:é—ÒõáøíŸøôÍß1_“{M–›ÙíŠçº˜wQÑIÑúäÁO^ewzÿénÓµdçgKÒWÕ Û¦ôœtûç«­øY«®ÒÈÀ‘ru¹üu¢W‹^jéÓR§.œRdbäû¦$a¤ÂâBM?ªŸNÿ¤qÝÇé¹ÁÏU*ooûŸ³ò³T×£®á±gågiwânN9¬¡†êù;Ÿ¯¶:ŽªH;Œ¼_Œ¸¦Îr½ô)p#a¤`8“ɤɽ&—Úö»Û~'‹›EË£—« ¸ ÊçX¼ûòåS}Ÿ*5•Ö×â«Ù¿™­ æAeêŒë6®Ôçîͺ+¯(ïª#-K÷.Õ«›^ÕGã?2äµ.Q’håæ^µ\JVŠæï˜¯µ‡×–ÚnRùSŽËóëéɹ…¹ú.æ;û(PI™1·Ž‘ty”Ëç.Ó®“»tKã[Ú;TõêÔs8¦_*ùò/Iõ<®~ŒêнžG=ë6Nß>ú­Þóžýu)Õ]çJ*ÚŽªÞ/ŽªÈ5-Y…ö—?ŽLÅ-¯ž#Sã¯åzíS ¶c¤`8?O¿2#®jV¯™Ž;¦ÄŒD‡ü(O±µXGRÈl2—z÷^‰ßtüM¹õ~ýå¶ä™ÌK…—Ê”µÊª׿¨åÑËÕ¬^³R#kŽ0â™ÎŽ ;êÔ…SJ¼Xj”ƒ&J’ž=¨ûW”Ùïnv—¤k&ýùÅùö²%ÖY'I Wxl¸}{JVŠ$i}ìzÍþÍìrGýº‹Ñ]GkRØ$=öÅc <üªïC¼’£éG%IMê6¹æµ©ÎØQ™:ލh;ªz¿\Mu^Ó±·ŽUÿ.:¿$ j?ÈþZ–ʺžú¸‘0Ò 0œÕf½êþ+-òc´Š|AMËN“¯ÅW‹Æ,RRf’žþêi‡^a¤»:Þ%IÚu²rï4õóò“$%g%_µ\rf²ü<ýJm[y`¥îhwG™²þuýÕ±QGåå9<ªÓ«e/ë6N§/žÖ'QŸ8ü¯¬]/é}r5Õ»3U´U½_*¢*×t\÷q^DHºœtVu¡ë¹OÚŒ‘N€áÎ_:¯œ‚y¹{Ù·åå+)3I7‹Zù´ªÒñÍ.fÝÒøŤÄ(!#¡Ì¢%ßüüÜ]ÝK½$¾¢ü½ýíïìûÓ ?éßÿC¯lxE/ßíØJ©F<Ó9ªë(-Š\¤ðØpýaÀÔÒ§e…êwnÜYîfwí9½GV›µÜ$Una®ìñàUíqÔ”)’¤…»–ZaòdÆI=þ¼Š¬_ ÷Jy\£ºŽÒÒ}KµŽúXGÒŽèÓ=ŸjéÞ¥0X¯{U®.®:vì]¢Ý§v+#7C’”™—éð³žu’·‡·>ýéS}ì{K?¦ïŽ|§¿où»Æw¯ÐÞ¡JÎJÖGQ•:‡tycþŽùÚ¸[g3ÏJº¼0ÉdÒÒ}Kµ;q·.^Raq¡<\=$]^­3:)Z[mU^Qž²ò³ªô\jeùyúéÞ[îUtR´ÞØò†öŸÝ¯Ã)‡µ+a—Âö…é¥ /iÒ~ê:JÏ x¦Ì;!û´é£ãç+l_˜6ÄmP|z¼öžÙ«µ‡×ꕯÈ×â«9÷ÎQ·:ÊÎÏÖ{‘ïé‹ý_¨‘W#å䔕._³¢>Ò™Ì3ÊÈÍÐÉŒ“JÏI×îS»µ+a—%’LRFn†2r3JõYצ]¶/Lû’ö©ÈZ¤S§´ýÄö2õ""´.vÞÚö–í^¤Þ­zëÝÑïªG³¥bùç¶*l_˜žêû” ‹ «5ö¸´8uoÖýŠ×å?ÿ©p1©1Z¶o™v'îVjvª$)6-VÁ̓•[˜[év·®ôýò˾,ù;P^+{Mw'î.÷g@»ö‘ÎòÎwðìA·®•}Z“œõû7ooo¹»»_»`ù3½P#^ú‚¢“¢µ÷Ì^5°4PhïÐr_¨^•× <ÚëQ ©íÇ·+9+YíüÚ)4$TíýÚ;tŽ~mú©_›~e¶—,òKîfw=Õ÷©JÇZš×o®Åc+)3IQ§¢”’•"«Íªþmúë÷·ý^Ýšv³' ¿æéæ©£(!#A{Nï±!ïѼ‡&÷š\n"ý`¯Sy}ÜÈ«ÑUÔñµøêÍûÞÔ‘Ô#W­g6™ÕÆ·ú¶î«ž-zª¡WÃr—§.þ]T×£®}u[£b/OeêüÒ€!0¤Ü}•m‡T¹ûå—}ùKÕuMËó`Õ±a驵7RŸ7“­¢oo\7RRR”}í‚’ÚkþüÝ{¯cå«Ëý߯ó9çµóé5z^ÜÜ~8ñƒ&¯˜¬·G¼­û»Üïìpj5ú²ösÖïÜ8üýýåí]±UÛáKžé7”ÔìTÍúf– ~ˆ$©ŠèKÕéµCì=³W;NìPZvšr s5Ç|õjÙK}Z÷©Ðqæï˜Í2!­Bʪ‹›ScïÆzgä;åN•FÅЗªI'ÀPå= $©úЗªŠ¤`ˆàæÁ n~íU%¯¥*‹†çã™N€aH:†!醤`’N€aH:†!é†÷tP‹E$Dèß;þ-Irwu×'¿ýĹð+ŒtP‹ulÔQ3ÌTNAŽ~LüÑÙáP#Ôb~ž~òkå§ú–ú΀r1Ò 0 I'À0L¯â§Ó?é­moÙ?8þC­>´Z»NîÒ…Ü ²ÙlêÔ¸“bScíe:5îzI’tìÜ1½þ‚þ6ôoêâßE’ôùžÏµîÈ:{ùÏ'|.³‹ùŠ1<¼ìa[‹Š×Ç⣅,¬r›]¤ºue³Ù´!nƒ6ÇoVjvª¼Ý½Õ«e/ë>Nžnž¥Ž›œ•¬ÕW+6-V™y™jÓ Æv«@ÿÀ21äåiÙ¾eŠLˆT±­XþšÜk²CmÀH:†hï×^3ÌÔ[ÛßÒžÓ{4ýëéêÖ´›Æu§Ø´X½¹õMÍ0SÅÖb…í Óïø£îhw‡½þꃫõ㩵êà*{Ò9°Ý@Z µ"z…^¹û¹˜®>agzÿé²ÙlÅëfv«–6Y‹TX\¨i_MÓ¶cÛôhïG5¬Ó0%e&iÁ®úlÏgZ6i™{7–$EŠÒCai@»ß}¼¬6«Ö^«>}@oS#GØÏŸS£ K'(65VSnŸ¢ æA:}ñ´ûâ1Z j'5¤`_‹¯BZ…È×â+Iº3àNMš IÔ~z¶è©Íz¨IÝ& Û¦çOèÉ>OJ’l6›¾9üêzÔÕÚÃkõ×;ÿ*³É¬Ö¾­•‘ 1·ŽQH«kÆÐ»eïoS]ºZ°k¶ÄoÑ3ŸÑ´¾Óìõƒ›kä'#5{Ãlû¨jV~–Ú4h£EcÉlºWÜ7ºëh½¸þEmŒÛ¨#´æðî:ZýÛö×¢ÈEZóó l7P[â·(°I ü½ý:gu?ÓY¦N9m*²élæY¹˜\ô‡5(³?=']V›UGÓªg‹žò±ø(&5FKö.QrV²2ó2e³Ù”œ•,Iº{A’TX\¨ÔìT¹›ÝÕÀ³A™ã6©×DI™IŠ€š@Ò pºá‡ëÕM¯ê«C_éîNwkcÜFýqàÕЫ¡ýµ!nƒr sµúàê2£|WSÝÏt:Âl2ËÝì®bk±fôŸ!“ÉTn¹ö~í%I³7ÌÖ’½Ktw§»5¢ËùZ|e2™´îÈ:-Ù»D6]ŽßÕÅU®.®*´ª°¸°L¼EÕ?Õ¤àtõëÔ×€!Útt“–E/Sf=ÔЫ¡$iT×Qz}óëZ½\{NïÑ¿FþËáãV÷3Ž0™L i¢Nü ÿºþjÛ m©ý›ã7kEô ýgÌTl-Ö²èejàÙ@ F/(Uî生Ë7¨y¢NEéPò!5²ï+²éøùãÆ5 €*à™NÀuaTà([‹õæÖ7KfÞßå~™]Ìš·mžîìp§,n'Fé˜g=«:®uôòÆ—íÓc¥Ë¯™½a¶ni|‹Ì&³Ì.fµ¨ßBs/jÿÙýörÙùÙZ»¾ÌqgôŸ!“‹æ|?ÇþL¨ÕfÕ?·ýS99Æ7 €J`¤`ˆøôx½¸þEÅ¥_^ç÷+~/“L ›VnùÁƒåcñQ‘µHwv¸Ó¾½¡WCõoÓ_ÛŽo«ÐÔZ#8Ú¦@ÿ@-´T/†¿¨ ¨oYmV%g%ë‘ÛÑŒ~3ìeßñŽž]û¬Æ~6V~òt÷T~Q¾}„ô-o¨G³zmØkêÓºÞñ¶^Þø²ú-è§ö~íuîÒ9è2B½ZöRDB„&.¨ÁƒõxÈã5×1\…ÉæèÃ.€ëNJJв³³*Ð^óç§èÞ{+¸1ðûUåïï/ooïÊVÿ’éµÃt CÒ 0 I'À0$Ãt CÒ 0Éê±T IDAT I'À0$Ãt CÒ 0 I'À0$§Ø·Qsì?ùEùΩÂÖÆ¬µÇßåÍ.ÎÇnë±­ºh¨:ÍíäìP é8Ç]ïRü_â5´ÃPg‡Ri÷u¾Oñ‰Wß6}Š$)ñB¢¦¬œ¢yÛæ)ýRº³Ã@I'À`·þóVývÉoÆMáíío+¸y°ÖL^#/7/g‡€$ÉÕÙ€êñƽo¨Žkg‡@)Œtpƒ á\éâƒÝhÎ÷s$I{NïQÀœI’ÙŬØÿ‹-S>-'Ms¿Ÿ«Nü ³‹YA̓ôÂÐÔʧ•¤Ë =¹úI{ù oÐÛ?¼­ˆ„]Ƚ IŠš%_‹¯Î_:¯ww¾«Íñ›•’•¢ºuÕ«e/Mï?]w¶£ØV¬ð#áúbÿŠM‹UV~–Zû¶ÖøîãõHÏGäb*ý³ÇÎÓ›[ßTdb¤Š­Å ôÔ³ƒž­pßtšÛIÅÖb‡Ê6ôj¨Èé‘>× ’N€!BCBª[ÿy«ºøwÑŠ‡V\µük›^Ó·?¡ ÿ‡¢“¢õäê'õ‡5Ðêß­–ô¿…‡¦®šªMG7éoáÓÌ35wø\Å¥Çiüçã%I©Ù©÷ù8ååkνsÔ»Uo¹xF/­Ic?«%–(¨y$iÛ±mš¹f¦ž½ãYÍ5_V›UßþV¯mzMÉYÉúËà¿ØãKÈHиÏÇÉâjÑ»£ÞUp‹`ºpJolyC‰‰ê›ò’nnTL¯\Æw¯ æA²¸YÔ§u ¢g(#7£ÜòOôyB!­Bdq³¨{ÓîŠý¿XùZ|5oÛ<¹xFòW j?Hžnžêаƒþ5ò_²ÙlzyãË¥ŽÒ*DSûLUý:õåkñÕ#=Ñý]î×'QŸ(;?Û^nÞ¶yÊÌËÔ w½ þmûËÓÍSuÒÜás•šjhßP›‘t® Ýšv+õÙßÛ_’”’•RnùîM»—»}cÜF¹˜\4$`H©í¼©CÃ:”|HÉYÉ’¤!C´tâÒ2Çèܸ³Š¬E:š~Ô¾mûñí’¤í–*ÛØ»±Ú6h{µ¦pScz-àºP×£n©Ï%ÏSÚd+·¼ÅÍRf[Aq²ò³$I=ÞîqÅs<RMê6QV~–>üñCmˆÛ ä¬deæe–*—[˜k?nNAŽ<\=äéæYæx~^~:qþÄUZWÏtn&$C™dª±s¹›ÝU¯N=åäçèðÿ–Ùd¾jù)+§(êT”^ú‚îïr¿|-¾2™Lú8êc½¾ùu{Âënv——»—r rt©ðR™Ä³d!#GñL'àfÂôZ€¡,nÚ?ßµø.-^nØùîît·ŠmÅÚszO™}‹"iÀÂ*¶«Øz¹L#ïFúÝm¿SÏ2™.'ÈùEùeêÞÑîIÿ›f["#7£B£œÜlH:† l¨çOèlæYí;³O‰‰êÕ²—aç{öŽgÕʧ•þüß?kÛñmÊÊÏÒ…Ü Z¶o™ÞÝù®žòœÌ&³Ì.f…´ QZvšÞßý¾2r3”W”§È„H…í +{ÜAÏÊÇâ£W7¾ª'vèRá%ŧÇkÖ7³Êr .3Ùl¶ò–\÷RRR”}í‚’Ûéõ×Ó4jT–ÁQ•vüÜq=þ¼%’ÅGSûLÕ¤ IŠNŠÖØÏÆ–*ûTß§4kà,û;=K ¬i}§•)/Iñ‰/³íBî-ܵPnÔÙ̳ªW§žºøwÑã!«_›~ör¹zkû[Úzl«Ò²ÓäcñÑíîP#ïFz/â=IR×&]õõï¿–$8Bs·ÎUDB„ŠŠ‹Ô±QGMï7]ÿô±vÜ%I×mœÞ¸÷ªuZ%m‰ß¢)+§”»ïï÷ü]㻯áˆ8[^žI]»¶ÓâÅÉ2$ÇÙá –ò÷÷—··we«IÒ µXE’ξ}[ëñÇ/jòäŠ=¨½’“]Õ¿k}ñÅç9;ÔRUM:™^ 7‰€€BÅŹ;; @ *ù½ß®]“#ÁÍŒ¤nAAyŠˆ(ûšÀ+"¢¶m åãcuv(¸‰‘tÀMbÈK:}ÚUz8;@ °Z¥õë½x–NGÒ 7‰îÝóÔ¡C–,©ïìP5`ûvO%&ºiìØš]@ø5’N¸‰LzA_]W11ŒvÀ¬¸Ø¤¹sý4dHŽ:tàyN8I'ÜDFŒÈRppžfÏn(Ö.€×Ò¥õtâ„›ž{CH:àfb2IÏ?Ÿ®}ûêè³Ï˜f 7¢cÇÜôÎ; ôØcÕ¶m¡³ÃH:àfÓµk¾fÍ:¯¿ÿ½¡¶lñtv8€jtá‚‹žx¢©Z·.Ô´iç ‰¤nJS§fhÔ¨,Íšå¯ýûy¾nÙÙ.š:µ©ŠŠLúàƒ³²XxŽ×’N¸I½öZšn»-O=Ô\ááÞÎP§O»jüøæJLtÓûŸ_±³CìH:à&åæfÓ¢Eg5n\¦¦O÷×;ï4P~¾ÉÙa*hëVOÓBf³M«VfµZ\wH:à&f6K/¾˜®—_NÓGÕ×°a-µaƒ—³Ã8àäI7M™ÒT¡¡MÕ·o®V¬HRÓ¦EÎ (ÃÕÙœoâÄL zIÿøGM›ÖD;çë·¿ÍÒwæ¨I¾ÀÀõ"7פ]»<õÕWÞÚ´ÉKíÛjéÒ$…„ä:;4àŠL6oj€Ú*%%EÙÙÙÕz̃=ôé§õµ~½—rs]Ô´i‘Z·.”U&ÿd€3dg»(9ÙU'N¸Éj5)88O&\Ô}÷åÈlæw3Œåïï/oïJ¯ÿð%I'ÔbF$%òóMúé§:úùg>í¦‹]dµr*À5x{ÛäçW¤Î ’«† Y(5§ªI'Ókåòð°©_¿\õëÇ”-Py,$0 I'À0$Ãt CÒ 0 I'À0$Ãt CÒ 0Œ«³T^ýúõååååì0À ¬N:UªOÒ µXUÿ0Ók†!醤`’N€aH:†!醤`’N€aH:†!醤`’N€aH:†q•ô¥³ƒÜ"ÿŽSYlš½QÚIEND®B`‚fio-3.39/examples/xnvme-zoned.fio000066400000000000000000000040351476262051600170270ustar00rootroot00000000000000; Running xNVMe/fio on a Zoned Device ; ; Writes 1GB at QD1 using 4K BS and verifies it. ; ; README ; ; This job-file is intended to be used as: ; ; # Use the built-in io_uring engine to get baseline numbers ; fio examples/xnvme-zoned.fio \ ; --section=default \ ; --ioengine=io_uring \ ; --sqthread_poll=1 \ ; --filename=/dev/nvme0n1 ; ; # Use the xNVMe io-engine engine with Linux backend and io_uring async. impl. ; fio examples/xnvme-zoned.fio \ ; --section=default \ ; --ioengine=xnvme \ ; --sqthread_poll=1 \ ; --xnvme_async=io_uring \ ; --filename=/dev/nvme0n1 ; ; # Use the xNVMe io-engine engine with Linux backend and libaio async. impl. ; fio examples/xnvme-zoned.fio \ ; --section=default \ ; --ioengine=xnvme \ ; --xnvme_async=libaio \ ; --filename=/dev/nvme0n1 ; ; # Use the xNVMe io-engine engine with SPDK backend, note that you have to set the Namespace-id ; fio examples/xnvme-zoned.fio \ ; --section=default \ ; --ioengine=xnvme \ ; --xnvme_dev_nsid=1 \ ; --filename=0000\\:01\\:00.0 ; ; NOTE: The URI encoded in the filename above, the ":" must be escaped. ; ; On the command-line using two "\\": ; ; --filename=0000\\:01\\:00.0 ; ; Within a fio-script using a single "\": ; ; filename=0000\:01\:00.0 ; ; NOTE: If you want to override the default bs, iodepth, and workload, then ; invoke it as: ; ; FIO_BS="512" FIO_RW="verify" FIO_IODEPTH=16 fio examples/xnvme-zoned.fio \ ; --section=override ; ; To reset all zones on the device to EMPTY state aka. wipe the entire device. ; ; # zoned mgmt-reset /dev/nvme0n2 --slba 0x0 --all ; [global] zonemode=zbd rw=write size=1G iodepth=1 bs=4K direct=1 thread=1 ramp_time=1 norandommap=1 verify=crc32c ; Avoid accidentally creating device files; e.g. "/dev/nvme0n1", "/dev/nullb0" allow_file_create=0 ; ; NOTE: If fio complains about zone-size, then run: ; ; # zoned info /dev/nvme0n1 ; ; The command will provide the values you need, then in the fio-script define: ; ; zonesize=nsect * nbytes ; ;zonesize= [default] [override] rw=${FIO_RW} iodepth=${FIO_IODEPTH} bs=${FIO_BS} fio-3.39/examples/xnvme-zoned.png000066400000000000000000001363241476262051600170450ustar00rootroot00000000000000‰PNG  IHDRÇ…vYÀbKGDÿÿÿ ½§“ IDATxœìÝwXWà³ôeé AQ±`£°ƒ¢b‰Ø;±`4‘(Š5ÑØ»Fc¯Ø°£`+ DT:"eém¿?&Ùoƒ°.+°”ßûäÉ3{çÎ3»ãeÏÎ;,Gb‘’tЀ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«¨×BCCY6nÜ(¼~jjªOûöí•””äää´´´Ú·o?räÈøøø:‰šd•õZß¾}y<ž¹¹¹(•ããã;vì¸~ýú˜˜˜uëÖ%%%EEEõîÝûÏ?ÿLII©íP iBV Ðx¬X±‚ÉÇ7cÆ -----­-[¶¨««K:4h´d$Ô˜[·n1 ݺuãJKKþüYB@ã‡k•Gff&³ ¡¡!ÙH é@V •ÓÕÕeýWBBB—.]ø/wíÚ%¸688xüøñzzzrrr-Z´X´hQAA;v¬B;gΜ!¢gÏžñKÌÌÌ*45vìXmmm999CCùsçæççïÞ½»sçÎl6[[[{ðàÁ111‚Ñ&%%y{{[XX(***((˜››ûøø|úôIø1²ªÅTËÎÎþù矻t颪ª*++«££3`À€cÇŽ1k+`UïCµB}üø±«««†††œœœ™™Ùºuë¾úymݺ•Åbåææ2/ÝÜÜ*Ž‚‚‚`}áP <€*üöÛoÌ ‹uúôi—––fddtôèQ~‡ÃÔ100ˆˆˆÈÎÎvvvfJ.\ÈÔÉÈÈPTTd ;Æß6..NZZúÍ›7š266~úôé§OŸ:wîÌ”®X±"''gÇŽLI›6mJJJ˜ Ÿ?®©©ÉÄý÷ß›˜˜0í$$$9@&ßËÌÌd^¾}ûVMMi¿_¿~Lûoß¾522""eeå›7ofee­ZµŠ©3lØ0~ ¢¼"†zíÚ5YYY"RUU½sçNffæ¼yóø¸ƒƒƒ…?Œ'N0%§OŸfJäååùÕD<(Q «a&NœÈ$***oÞ¼qttœ7ož`~³bÅ ¦äÀL‰©©)¿ÚÔ©S™Ânݺñ çÍ›7`À€/›úå—_˜’E‹1%ZZZ¥¥¥</--Ÿ_½~ýš©fccÔðc[¼x1S2jÔ(!G'˜Uæää´mÛ–ÙªE‹éééL^½z1…“&MbJÊÊÊøÉ'?Çñ}%Ô6mÚ0%“'OfJrrr˜<³¦²J @ ÂüöÛo:u"¢œœ›‚‚‚ªFcš™™1 ÊÊÊÌBbb"-ÿj[XXØãljˆËåîÝ»wþüù_6Õ¢E fAII‰Y022’––,!¢¤¤$f/áááL‰¾¾>³```À,œ9s†I‡ƒ2Ñ*((ðx<555çééùúõk"âp8gÏžÕÒÒbvq÷îÝ (%%Å\`$¢/‡Œ yD õýû÷ü‘·¦¦¦ü¦ttt¾|£Ä#ÆA¬„QPPà_sËÍÍuuuå_4û²f…Ç_nÛ¶­““³¼qãF"Ú³gAÿþý¿lJJêŸ?O,«ª~û‚aôõõe’Æ9sæ0%EEEïÞ½ûêa®X±âìÙ³LûûöíëСS.Ø8›Íþò`“““+4%ä}%TÁ,›â_„üvb€È*à+üýý™ååË—‡……‰×ÿråÉ“'¶lÙ2oÞ<Á,Q<ÚÚÚüåU«V}9,‡?®µ*§Nò÷÷g–—-[6räHþ*===þ²à¤;………_V¨‘P™k¤_î1//¯BkEEEÎÎÎêêê¿ÿþ»è1PM²JfÓ¦MOŸ>ŒŒtqq!¢’’77·ôôt1š4hPëÖ­™FFŽ™™™éééùíuìØ‘Y~ùò¥àª~ýúõîÝ›Y.,,Ìßbccù›L˜0¹œ8xðàŸþ™)WRRŠŠŠÒÓÓã·Ç,”——ó¯zxxÔl¨Í›7·°°¨°G.—›ššZ¡µ“'O^ºt)++kþüù¥¥¥¢‡Q³€¬ªôàÁƒ•+Wž:uJMMíàÁƒÌ}w £G.++«nk‚£==z4uêTþİßhçÎ***DôçŸ8p ;;;--mÙ²eáááB6üüùó!C˜§qXXX:tèËk§»wïf¦K=yòdhhhNNΚ5k²²²ˆhذa³fͪñP·lÙ 3>yòäÝ»w³²²~üñÇ’’’ MñÖ Ž4QÍ4u5<û4‚,233­¬¬*ü±¶¶®P²páÂeË–U(Ü»w/¿M.—ËL4*##óñãG~ùÑ£G+lµlÙ²Q£F –HKKó§ºá1bÓB||ü¬Y³Zµj¥   ¨¨Ø²eˉ'FFF ?Æ'NùÉäIVVÖÊ•+;w¬,##Ó¬Y³þýû9r¤¼¼¼Òà…¿¢„úèÑ#ggg555YYYSSÓµkך››ó›277çñx……… PUUýõ×_ÅCøAˆŽÅ«þœ Œ€ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñ!«ñÉH:hTRSSsss%|SSSÑ+ãZ%ˆY%ˆY%ˆY%ˆY%ˆY%ˆY%ˆY%ˆY%ˆOFÒT‚Ç£„Ùerr¤yõïŸ'éˆ@Tè]¡áBÏ#qÕÊ*¥W®\Yk‘@““——W\\\­M<`Oœ¨/#ÃÛ²%uÒ¤l55Œu¨_ääxÖÖ…#Gr?~” Ò,.fuï^ÀbI:,øô®Ð ¡ç‘8 Ñ+#«€šTݬòøq• tóÿ=ÅØ¸´ö€o¤¨ÈstÌ34, ÒŒŠ’··Ï“Áä õzWhÐóHPµ²J ¨‰9^ÉϯÙÌ™Y6¤ÊËc4>@0|8÷À¤°0¶N9.}ÕWè]¡‘AÏSÿ!«ÉxñB~éRíï¿Ïš;÷3´4 66…Û·'ß¼©\Ÿ±¡Î w…F =O=‡°P“D›•%=j”A—.éøÒÐàèë—êé•j™››™a˜z½+4bèyêFÀ@}¬.%E6¤a^{€jøpîˆÜÕ«µ »Ô#è]¡qCÏSo¡Ë€ºöö­Ü±c*?ü¡¤„{#°~Èàr¥vîT—t ðô®Ð ç©ŸU@] Òhß¾xèP®¤ãÑ£GföîÝ+鈀ˆHS³læÌÌ;Õ²³ñu¢^@ïZ•oïCΜ93räH~#oÞ¼©©ð.\¸ Þ•+WjªåF =Oý„êTJŠLh(ÇË+ 7ü£¬¬lΜ9–––S§N­ê¦\[[ÛØØØ–-[ÖqlðUcÆäHIñΜQ–t €ÞU˜oìCvìØáããóìÙ³6mÚüõ×_çÏŸWPP¨Áð\\\bccÙlv ¶Ù¸¡ç©‡U@º~Ãf—;:æI:¨/¢¢¢._¾\PPpóæÍÈÈHI‡ÕÃá”;9å]½Ê‘t €Þµ?~œY)((ôèÑÃËËKWW—ˆüýý÷íÛÇß644ÔÐÐpÒ¤IwïÞeJ¬­­ùck¿´fÍÁîqРAD¤¥¥ö ïJãž§¾ÁX¨S……RŠŠøÑ·Ž¼ÿ~РA›6mz÷îÝöíÛ#""Æ÷îÝùóçÏœ9sàÀüù!6mÚäääDD·nÝ’––¾zõª··wttô AƒöîÝ›››{þüù’’’Ý»w2$55•ˆ¼¼¼ç™Ø¼y³ŒŒÌÙ³gýýý¿º¶ª9*îß¿?jÔ¨›7o–——d̘1Ý»wwuuµ²²jÕª•™™ˆÄçÏŸkèP d•Szz:YðÑjòòò‚ÌÌÌììì˜æ 'Nèèè0…‚¬]»–™àž—QqqqBBB…ý6kÖLHTÂ×2233¿Œ–ˆ«‰4uÓ‡xyymÞ¼ùÍ›7?Žå?k³û@„Ùz'ÁüMð÷¢¢¢ &L˜Àܽsùòe__ßL™2…Åb‘¦¦&à ̚5ë«û•““{-Cp¢ÁÈóóó«‰4uЇÄÇÇ?~ü˜Yööö®jz0Veƒ’EFQéæõ®U4NÚÚÚ666Ìò‡˜…òòrþ¯ïü‰^ûöíkbbBD¥¥¥³fÍÊÉÉ:t(³JOOÿë{…gp;¶ª9¿‘sK§`äyyyüGÆI06¨ÿ꠼ɿš]¡`-³ðþý{ÑŽã?W™ÛD=<<üüüDÜ .!«h´õôôˆèòåË=ÊÍÍݾ}{NNõïßßÓÓ“©Æb±ÆÏ,GFFŽ=ZpRÖ€€%%%"ºråÊéÓ§¹\nFFÆúõëŸ?þÃ?ÔRä+V¬`æÕ¸|ùrxxxNNÎÆ™/U‚$Ե݇3ËG-((8räHRRR…jJJJ¶¶¶ÌòåË— nÞ¼yÿþ}BYY™ùɈž?þîÝ»—/_ò¨WXù 5(55577WH33ÓÍ›S Vj—ËÝ»w/ó¼ÊÂÂBUUUþó*ÇVåççÛÙÙåääHKKß¾}›yØ_bbâÎ;ïÝ»—œœ,%%¥¥¥Õµk×I“&µiÓ†ˆ¾|î%ýûd61ÖvíÚõÈ‘#D¹uëÖ'Ožäçç3Ïš;qâÿÁ-[¶ ùjlP7ðïº>À§PAô!•ö`ÇŽëÒ¥ËÛ·oW¯^)--ݼyóaÆ=z4::š©c``pûöm"JKK[³fMXXXff¦¶¶vÿþýËÊÊ<ÈoíÒ¥K111BzÂÀÀÀW¯^jii¹ºº.^¼#c8çkÿš¿(U@MBV Ðáßu}€Ošœóµ­ZY%FÀ€øU€øU€øU€øU€øU€øU€øU€øU€øU€øU€øU€ød$@­ÛõhWà­@"ÒQÒ¹?û~¥%—·éî¦Çgd–•—‘²¼òÓOëO„Õ›´7ëo¯’𤬼¬£AÇyvó¬ ­%@ƒ„*@Û4áZ%4~^¶^±‹c-t,„”Ô½„ì„‘FÆeÄý:ü×g žEzGnºEŠ%U"l¬"“#ݸqä8W§\½=󶑪јÃcî½»'é¸$t° l“…¬@2Ž=;Æ-â®ì¿²³Ag¶,›#ÇØfà“ùO$W­°\o9êÐ(IGADTÎ+_|q±Š‚Ê/οh+i«³ÕþîçæÍ—\^R\V,éè f ƒ•t°M²JɈÿODm´ÛH:¦%ücøÛOo˜PQ`J¤¥¤],\’s’oÆÞ”llPSÐÁJ:ئ Y%€d”–—‘œ´œ¤iZ¾HD–z–‚…–º–üUРƒ•t°Mfë€Æ ŒWv%êÊ‘D§Gs‹¸ÍÕ›»[¹·Ï¿‹FDYYÛl»þözrN²¢œbGýŽSm§vkÞˆ¦ÿ9ýúÛëL5kCëããŽуøãÿ}äïöföDäÝ_Ä>¦N´o´4KºÒ½\‹¹6ãÔ f¹]P» k‡[_ë¼¶ª?çÞzëØ©ÜTeye#›9vs,´Eº;ˆt)Ü ¶†©–évCœ-œïþ}—OÈ”à»Áß?Ì*È"¢ðyáêluá;þæógÅx’ðÄ,ÐŒˆ¤¥¤£E‹}8ækÍ™‰7ª¢ÅÑ ›VÕÚ¸Œ8"ÒUÖ,ÔUÑ%¢wŸß š&t°Õ::t°è`›&d•ÐÜŽ»=ïì<Ÿ>>›‡n.畟}Þÿº 7eq¿Å¢7’ž›îvЭ°´0``@W£®éyéA·ƒÅ¸te§Âß|/[//[/Ëõ–muÚ2ß¿ñpø_˜ÄÃ-â‘¢œ¢`¡¢¬"edKË:Xt°"BÛ”a,4¶Æ¶Ó»OWUPUg«·ïÚÖu_ø¾Ü¢\Ñ[º”àçègof¯$¯d¢a<8¸§ÙÏ×~þ”÷‰ˆœÛ8ËJËžyu†©_XZxýíõæêÍo¼½‘WœÇž~yzXûa5~tü³—Ú/íkÚWQV±•V«MC6ñx¼Ÿ®ý$âÑ-w\nofÏ‘ãhq´fõ˜Õ»eï Õ¦uŸfklË–e[éYE/ŠVg«‹²SñÞüo9œšÅ#±X¬:Þ/@CV”£C[)t°M²Jh ìÍì9,Xb¡mQZ^úöÓ[Ñ ‰ !¢~¦ýø%rÒr=Zô(,-¼ûî.©±Õúšö½?=7ˆ®¿½n¥o5®ó¸ÂÒ«ÑW‰(« ëчGß™W#õ¥k1פXRÌÏöŒfJÍZiµz™ò2…›"|[æèú´ì#X¸Ç}Ï$›I‚%VzVÕÝ©Øoþ·ŽØ”啉(¿8_°° ¤€ˆTTji§ :Xt°"BÛ”a,4Ü"îîÇ»CbBR¸)9…9üræ™(ŠËйE\yyŽG°\‹£EDÌ·"Ö~ص˜kçßœÿÞæû3/Ï k?¬{óî·Ͻ>7Ürø…7ú™õcFûÔ8&B"êÜñ˵ñŸã+ÜÊòå¶_ݗزìêîT¼7_ìÃùÆÛ~L5M‰¨Â—ª”œ"2Ñ0Ò,@“…,:X¨ ²Jh ¦žœþ1|¹ãr×¶®êlu‹µ7|ïê«™7¢“–S–WæqóŠó¿0C³š)5c^ö3í§ÆV;ýâôÐvCŸ%=Û:l«‚Œ‚] »{ñ÷ÒrÓN½8µ°ÏÂ?:~„* *yEy¯½®jš !ÛVzt5²SQÞ|Uû$öá|ãm?ÝŒ»m½¿õeÊKÁqt/S^Q÷æÝ¿¥e€Æ ìW·EË@Û”a,4xeåeOž4Sj6¡Ë E ææ¢Ò¢ê¶Ó¿u"ºw‹_R\Vü þ‚ŒB/“^L‰¬´¬³…ó›´7ëo¯wlåÈ<’khû¡eåe›înJËM«Õ?œß™WÆ+{’ðŸyïÛÑë×^eÍ”šm¸ˆÚë¶w±pažèŘÙc¦Š¼J…ïÞÞôïÇ®Å\KᦰeÙõ;Ní6õË_Çw8—ßžq›?©ïEß?_üyÅ늙–ÙW£|œ i7d½ëúIÇ'1SVü³‹VŽü§·Uˆð׿^{{-9'YEA¥­NÛ)¶Sz¶è)Ê»$xtŠ]ºÎï=¿…z‹gIÏF)X3vql… …ìTø›fâ"ú;ãïeW–½Ly©ÆV›Þ}úØNcEi¹ö¼N}½þöú'‰OÊËË­ô­æ÷šomh]Û;mÄjéß5TKí} è`Ey—ÐÁòÕY‹ž§¶™ššŠ^Y%Ô$Ie• Aøw]àS€¦ç|m«VVYíÙzÜÜܪ» 4Ý»w÷öö–tÐÀT;«¸VÙh%%%y{{[XX(***((˜››ûøø|úôI°ÎãÇ]]]544äääÌÌÌÖ­[צMþÜ9mÚ´¥©cÇŽ θ<~üx===99¹-Z,Z´¨  @øNëæ FÌËÖ+vq¬…Ž…¤ùV'žŸØþpû°öÃÂæ„ñSJ"z±ðÅùïÏ‘c+ÇØÅ±þëjÔµÒj‚)eÐí ‘Gª*¨î¹óé‚§¡3Bçôœâø»ã“„'¢Äöe ‘Þ‘{Gí%¢€Ì—N>Ÿ >+CV:µrºâuåùÂçÇÆk«Óöçë?Ý7T°Ú/οDÌ‹˜ÖmÚþˆý{Â÷Ô? ¢ƒ=ýòôÍØ›_–WÕ+ò8d¡m1ÂrD´o4RJ€¬²qzñâE‡‚ƒƒ¹\î³gÏÞ¼ySRR²~ýzkkëÄÄD¦Îõë×íìì.\¸P^^~ãÆˆˆˆÄÄÄèèhfmpppTT”(M=šÇãq8fÃõë×Ï›7/::ºÿþïß¿_·nÝòåËù ß)@ãÃ-⮿½~ÐîA»ï^}cõÐ}C×Ü\—WiåGÑ$›I"^?ѶÛ¶?ܾÒiå2‡e­›µ–—‘WUPµ7³ÿÃó}ýïÿø¾ªx„ãÈqlŒlV}·ŠˆŽ=;VZþÏdÔÏ“ŸŸ}Þ­ƒÛÔnSu•uåeäÕŒöY8¦c%×i9rNlY6sìÕ•–›æÝhû¡_¯JDDqqîÝíÍìqþEš%ýõ @È*§É“'gddÑÈ‘#[·nmbb2jÔ("úðáÃÂ… ™:sæÌ)))aêôêÕKMMmÕªU²²²b4%ÈËËËÚÚZEE…©FDgΜá¯q§CQi‘ÛA·3¯ÎüÔÿ§ñÖã}úøøôñ¹}u쑱•ÖÏ,È”–’æÈqªµ—#c¸[¹Wµö}æûÍw7·ÓiçÑÉ£Â*¶,{™Ã²¼â¼U×WUk‚L4Lˆ¨ ¤€[ÄeJÞ~zKD-5[V¨éÜÖ¹ªF”啳 ²ÄŽš²¥——l3°—I/Q*?Ix2æð˜éݧ/è½ ¶hRU6B‰‰‰ááá̲¾¾>³```À,œ9s¦  àýû÷Ì¥H"255e”••uttªÛT…½›™™ñ[ã7Â,ˆ¸S€Fã^ü½ØO±#;Œ´1²‘•–•—‘·3±óà_Uýr^yµÚ_²Òÿz•­1Ž<=RÆ+Øf`¥kmŒl´•´ï½»÷1ëcµvÍ÷îó;"ÒPÔPg«3%Z-"º÷î^…š]ºFÌ‹¨´±ÊxeâMÙ‰Èo?½]b¿D”ÊW£¯NûsÚšAkFw]Û45˜­§JIIá/ûúúúúú ®-**z÷î`6¨  À_æd½©¶mÛ  ¶ÆàñxÌ‚à]Bv ð-â2âÖÜ\‘QZVj¥oåÝÛÛÚКYU\Vüëƒ_/E]JÊN’—‘·6´ÕqTß–}§™©À|­yY¹°lG‹£6'¬ªµÌÉ;îö÷6ßó íLì„lRã|LDBжHËM ÿn¤fT­–óKò_¥¼úéÚOlY63–acdÓL©ÙÝww¿ÿãûiݦÙÙH±ð &@cP¯:X"J᦬¹µfÛ°m¢ ñ8øäà¶Ûv»í¶Ò·úje¨.d•¶¶6yÕªU~~~_Öyÿþ=Y0ÃÌËË«nS¢ÓÒÒe§bË/É_²bA¯:qŸâ–\^2îè¸ý£÷3óÙ¬ Yy9êò–¡[ºuÉ-ÊÝõx×´“Ó9lkl[UƒÑ‹¾é¦ßîÍ»·Poñ<ùyßßúª*¨:´r(,-T©øË _IY‰œ´œ¯¿½nh&X2±ËDá1¤rS‰HMA­ª jl5"JËMÞNU1´ÔläôùwüEYÅ-C·,8·àÎßwîü}GSQÓÎÄ®¯i_ÇVŽlYv¥mÊÉÈ•”•ˆHD}ë`‰hÉ¥%®®Ý›wÿjÍñ®¿½>¹ëd¤”µ¿7*gΜQSS322êØ±#SòòåKÁ ýúõëÝ»75oÞÜÂâŸkqqÿLÔÁårSSSë‹Ò”èDÜ)€Ø¸E\Ÿ>>Ö†ÖŠ²Š–z–ë]×—”•ðo|ÿ •V+;;-ŽÖâ~‹™{kGŽsÜóøxëñDô!ëÃÞð½¶›mý¯ûgfWZ?)'IWYWHƒæ€×yœˆ‘°X¬êÿÕ¢}£Cg„ºX¸Ì>3{ÖéYüÙzˆ¨‹a—Ón¬sYçØÊ±°´ð쫳 Î-èõk¯ o.TÚ¦Ž’N*7ƒ`ê³úÖÁ<Ÿ¿Ø~±(•uUt•ä•v?Þ½ëÑ®Z  ÉBVÙ8íܹSEE…ˆþüóÏdgg§¥¥-[¶,<<<0ðŸlÙ²…™&çäÉ“wïÞÍÊÊúñÇ™©tªÛ”èDÜ)€xäeä­ôþÿ;´y3sm%í7©o˜ q}Lûü•ø×²ËËž%=c†]]›zMÈïè5BSQóG§Ï{ìÖÁÍJßJŠ%µ/bߘÃcŠJ‹«edí|´31;qlçÊ'ò›¶’6Ó~U˜U:ÊÕ¾½Yš%m¨j8×nîඃ¯F_ݱ_p­œ´Ü°ööØþׂ¿zt±pÉ*ÈZx~áëÔ×_6åÑÉ#·87øNpfAfuÀºQ¯:ؤœ¤À›¿8ÿRÕˆ Zj´Üë¾—#Ç ¼ˆçÔŒ€mHŒŒþsãS¯^gvìX'##³cÇŽfÍšI::€jc˲ºöSdrdAIÁ‹ä Ï/”•–L™–_Y•U\Vœ‘Ÿñ{Øï<O”É¿EVAÖìÓ³£Ò¢JËK K /E]:ùü¤‘c«J~¸Q’WbrΚ5«Ç¬éݧ¯¼¶rõÕo?½-.+Î)̹{sÔ¡Qé¹éûFí«î3Ee¼²„ì„Í÷6Ÿ{}NGI§Â‰9gæœ{u.-7­¸¬8!;a×£][îoi¯Û~Xûa_6•[”«¬€| ^«‡¬xºuÝ9r§‚ŒÂÊ•‡Ÿ–t8Kô•ÿlÀb?~ÜÝݽ–‚:SZZräÈ‘ˆˆˆ>ðx}úÌ™3ÇÒÒRÒÑA]sss#¢'N|c;©©©¹¹Âò"33ÓÍ›S ªÉÜi×£]·‰HGIç·¿­ ]û<éy9¯¼ƒ^‡…}ò§ö&õÍ‘gGxœ”“$/#ßB½…»•»[·œµ‚’²’›±7Ï¿>ÿ:õubN¢Œ”Lí6..žÖž2R•Ü€0áØ„°a_Ž ³\oÉ_JUßkT¡Úâ~‹½l½ø/_$¿8ø×ÁG¥å¦ÉI˵ÔléÔÊÉÓÚSÄ˃'"‹¥(«h¬nÜˤ×䮓55™òr^ùÓħ×Þ^ ÿžÌMÎÈËPUh©Ùò»ÖßMè2¡Ò©5zní©¡¨qþûó¢DõPmü»†êª¥O¡Þv°|˯.¯0ƒ{¶^ñAüƒ©'§–‘ðq³Po¡ç©m¦¦¦_¯ô/d•@ÔÀ³Êa]è:Uƒ1*Î-!hÊÉ)¡q¡o}ßÖYTõD·-Ý U OŽ?)é@@LMößu½‚Ošœóµ­ZY%FÀԺʺ<ïSÞ'IR§JËK³ ²„?¨ê3d•u¡G‹–º_[ÞÛ¤7íÛ!äñ’ ·ˆ»ûñîÒòÒ>¦}$ ˆ O¨ =[ôüj§ÖN‹ú.úóÅŸ‡ÿ:Ü­y7ÁG’Ô³@³ªV͵›;×nnïqÑÅEç^3P5˜ÝsöðöÃk¼}¨È*ꑩݦNí6U"»Ž][Ç{\ë¼v­óÚ:Þ)Ô8Œ€ñ!«ñ!«ñ‰s_åþýû>|Xã¡@}£§§§¬,ÒÓÒ¡!ŠŒŒ444”tÐðˆ“U^ºtéÒ¥K5 HVAA¤C€†Gœ¬òøñãîîî5 Ôg,kþüùÁÁÁ’j‹›››¤C€ ÷U€øU€øU@#táͳ@3³@³¶ëÚJ:–ºê¸ÃÑ|­¹¤€Æ ,| Y%4B..±‹c{´è!X˜_’ï°ÃaÊÉ)’Šªö|Èú0õäÔ ÛAŸò?I:häÐÁÀ—U@SÁãñÊyååååu³;Ëõ–£ª›}ß îlÐù줳YNÝì@:X€&Nœ9`"ŽçÖô[’Ž¢V¬´FAFAÒQ@Ó… ‰ÃµÊºÄb±X,ž2ߤ‹E,á4€š†o<µ,€(p­R%%%ÖÖÖ***÷îÝ¥¾OÇŽ?}ˆüF¤¤„¬­IE…D; ÈLJ||¨cGÂiP;â2âÖ…® ûVV^ÖN§O_Áµ×b®Í85ƒY~åóJ^F^°$dJHðÝà‡ïfdQø¼pu¶úçüÏ[ïo½{#•›ª,¯lcd3ÇnŽ…¶¿Í¬‚¬m¶]{=…›¢ÁÖ0Õ2Ònˆ³…ó¡'‡oÑ“„'ffD$-%½(ºªÈÍך—•— 94-ŽVØœ01߀o†„CV)¦òòº»yê¯òrÂiP?¼Ï|ïvÐ-ÃÞ:tkgÃγ>®¹¹æCæ~§ÖN±‹c§ÿ9ýúÛë_–ø]ñ›×kÞZçµ1ŸbܺQZnšÛA·¢Ò¢ÀA]»&f'®¸ºb䑇<u2èDDé¹énÝŠÊŠVXmkl[PRp<ò¸ïEßœÂ/[//[/Ëõ–muÚwü«Á ù> qè`à«0V²²²/_¾|ðउ’•¥—/ §Aýt;(§0g¹Ór;;EYEófækצ妉¸ù´îÓlmÙ²l+=«èEÑêlõ ÛA‰Ù‰Kí—ö5í«(«ØJ«Õ¦!›x<ÞO×~âï1!;a¹ãr{3{ŽG‹£5«Ç¬Þ-{×Ú!H:Xø*\«€ÆàÎßwˆHð;‡¶’¶‰†É»ÏïDÙÜJϪBɵ˜kR,){3{~I3¥f­´Z½Ly™ÂMÑUÖ ‰ !¢>-ûnµÇ}؇P?¡ƒ€¯j×*Ïœ9ÃúW||ü¨Q£ÔÔÔ455]\\âââ˜:þþþL;;;¦äÊ•+L‰––Ö—í¼ÿ~Ô¨QÊÊÊšššžžž™™™ñññ®®®ÊÊÊzzzS¦Lár¹ÌV.\àoUXXÈ*##ÃÛÛÛÔÔTNNN]]}àÀ·nU2ZTT”³³³ªªª¢¢b¿~ýîß¿Ï_UTTôã?¶iÓFQQQCCÃÕÕõܹseeÂnh<ììþ™É†Å¢q㈈ÿ_’•UÉ&gÎü¿B|<Ejj¤©I..ôïi@þþÿTø÷4 +Wþ)ù÷4øO;ïßÓ¨Q¤¬LššäéI™™O®®¤¬Lzz4e ý{Ð… ÿßJà4 Œ òö&SS’“#uu8*; (*ŠœIU•©_?8 ¨¨ˆ~ü‘Ú´!EEÒÐ WW:wŽšÈi ®â²â¼â<}úteeå 6‘‹‹ +~ã)))=zôÈÏÏßµkWïÞ½SRR–,Yâààðûï¿{yyñ«åææÎœ9sÕªUVVVQQQ“'O¶·· éÓ§Íž=ûĉ'Nœ°³³ËÉÉ 2dÈ­[·úöí[o«dÝ»G‘‘Ô³'™™ÑŽDD/RŸ>4>]ù&C‡GC‡ÒÙ³4>ùúÒž=ôð! Lôø1‘Ÿùù‘Ài@G]ºÐ¿§ÁÚñö¦¥KiÏ:uŠÆ§Œ ’“£U«ÈÌŒ¦éÓIY™6l "rqùÿV|))Ô£åçÓ®]Ô»7¥¤Ð’%äà@¿ÿN§åæÒÌ™´jYYQTMžLööB}úÍžM'NЉdgG99DC†Ð­[ÔNqÉIËqä8yÅyù%ù‚ß{˜™!ÄkPEA%¯(ïõ¢×Ò,éJë(Ë+s‹¸yÅyU}ïaKÄÝᶨ·ÐÁ€(äµJA^^^Ý»wçp8ŽŽŽÎÎÎáááâͳ:yòdkkk‡ãééÙ®]»Ë—/{{{wìØQIIiÚ´i&&&—.]²ù’%KÞ½{·qãF•Ö­[9rDOOoîܹ©©©üjÙÙÙ={öTRRêҥˡC‡Š‹‹ç͛Ǭ½qãF»v휜œØl¶ŽŽÎºuëZ·n-Ʊ4TVV´w/EFÒøñÄãÑ´iäàPeJY—uïN9:’³3…‡‹9ÏêäÉdmMyzR»vtù2y{SÇŽ¤¤DÓ¦‘‰ = hÉz÷Ž6n$RQ¡Ö­éÈÒÓ£¹sIà4 ìl  ž=II‰ºt¡C‡¨¸˜þ= èÆ j׎œœˆÍ&Z·ŽšÔi .f 3L‹‘Y)âè¬J}gþ]¯ìIÂÁÂa;zýÚ«ŒWFDý[÷'¢Ð¸PÁ ®{\WßXÍ,³eÙ%e%̲ÓïNÇž; B _Õà³Jþ²‘‘%%%‰ÑN—.]øËúúúJ „7{úôi"rvvæ—ÈËË;88\½z•_¨  `kkËiii©¯¯™œœLD xðàÁÔ©SدÑÑÑMâB%Ÿ›-[F§N‘edЪU¢n(p‘‘X§ |褯_±ÄÀà+Íž>MD$p¼<98PA œ¤ @§YZ’¾>EFRr2Ñ€ôàMJaaÿ |ŽÆ…ʯòéë£ÆV[umÕ½w÷òKòc?ÅzŸó®0^«z öñ1V3ö½è{ûïÛÜ"nVAÖѧG·ÞߺÄ~ óãºOCUÃÕ7Vߊ½•Wœ—ÂMY²"=/}’Í$¦…vºíÞ}~—œ“ü4ñé‡Ì6F6BwPO¡ƒ€¯j#`©ªªò—åääˆH¼~¨¨¨ð—¥¤¤¤¥¥ÿß]JKK i¶¨¨(;;[AAAYYY°\GG‡ˆRRRø%ššš,ÖÆlhkk'%%¥¥¥ééémÛ¶­{÷îû÷ïwpp ¢^½zM›6mذabN¶j]¿NÐþý$%ò¯§ÉÉ‘˜ü8 HJФ¥Ià4 iiaÍQv6)(ÐOÒÑ!"8 HS“þ{¶6%%QZééѶmÔ½;íßODD½zÑ´iÔÔNƒê3V3>áybmèÚÙgf—–•¶nÖzNÏ9{#ö>ˆ`hæÖÁÍÞÌžÿð´vA톴âií9òÀH~ Å.Žå7¨©¨yj©_üº2derN²Š‚J[¶ÛGlïÙ¢'S¡™R³3Ïl{°í§k?¥pS45ºu=6Š>SÁÏÁoÙ•eýwöWc«ýØÿGSMÓÚ;ü›±7§žœÊÉ<Ã-``€»•{ííšt°è`¾ªÁg•ÂIII –dU:ïË·‘——WUUÍÎÎær¹‚‰%3öUWW—_’]aÛ´´4"ÒÖÖ&"‹åéééééYRR4|øðõë×{{{×xÌõWh(eg“¥%ÍœIVVdUqâ8qHIÑOƒÊ§ÿùFòò¤ªJÙÙÄåþ'±dƾ œôÅi@iiDDÚÚDD,yz’§'•”Ph(Ñðá´~=5©Ó@,&&¿ ÿM°¤ŸY?Á—‚ßiª*¤ÆV[ê°t©ÃR!–9,[æ°¬Òµ-5[{ô+A×{3{áÇð-ÐÁÖ; šÊŽõ67Ÿ`jZ‹?+€ˆüXáôôôù/SRR>|ø ¤¾Ø˜+Š/^ä—ݸqƒÍf÷ÝwüÂÜÜÜÈÈHþË/^$%%YYYéé鑚šZTTÉÊÊ:991SÔ ¶Ùø½{G“'ÓŸÒ¹sÄfÓ!”ž^Íêé‘Ài@))T;§Á?W?²¢"ºqƒØl8 (7—Nzñ‚’’ÈÊŠôôˆˆÔÔ(*ŠˆHV–œœþ™¢¶I_—‘”5xðà]»v‰7VjP#Ï*û÷”´uëÖÜÜܸ¸¸yóæ1WkÜš5kLLLæÏŸáÂ.—3f̘äääM›61ã`göìÙ=ÊËË‹ˆˆ7nœœœÜ¦M›ø¦OŸþüùó¢¢¢´´´µk×òx<{{ûÊvØåæÒС´q#µmK-ZÐÉ“””D#GRIÉ·¶Ü¿?%%ÑÖ­”›Kqq4oÕÎi@kÖ‰ ÍŸO.—K114f %'Ó¦M$p‡C³gÓ£G”—G4nÉÉ‘Ài@Ó§ÓóçTTDii´v-ñxÔtN‘h/Xp~îܹ6lðôôoÂN¨) 2« c±X̃=Øl¶ŸŸ±X¬_~ù…ˆ:uêäââÂÔô÷÷÷òò ÐÖÖž8qâ?ü ««›‘‘Áb±/^üe;,ëêÕ«eee,+00ðÞ½{,ëöíÛyyy,kåÊ••†¤««îáá1wî\MMÍ®]»æåå]¿~}Ê”)DÄb±"##ÕÔÔ6lذdÉ]]ÝÞ½{«««ß¼y“y¬ݾ}»M›6£GÖÐа°°¸råÊÎ;—.­rpH£2{6)+Óóç4d½|IŸ>Qß¾TRBwîœùûW²IX±Xÿ<؃Í&??""‹~ù…ˆ¨S'ú÷4 òò¢€ÒÖ¦‰é‡HW—22ˆÅ¢Å‹+i'"‚X,ºz•ÊʈŢÀ@ºwX,º}›òòˆÅ¢*NÒÕ¥ðpòð ¹sIS“ºv¥¼<º~¦L!" "‹"#IM6l %KHW—z÷&uuºy“þ= èömjÓ†F& ²° +WhçNj"§4Xïß?•tÐäHIIO›6íøñ㉉‰Ã‡þü¹¤#jºX<¯z°XÇwwoê7(»ºº^ºt©¨¨HF¦‘ß›Ê`±XóçÏ–t õŒ«+]ºDEEÔðO777":qâÄ7¶“ššš››+¤‚™™éæÍ©ƒ « ‹™™Œ””™ƒC?MMMI‡ÓD¡w…¦FðœÏÊÊòöö~·THÛ IDATüøqpp°“““¤Ck$ªuÃjƒ¼V))íÛ·g–›HJ ÿѾ=ý{Pb"7‚”àÛ4Ÿ5ëׯ_4èÎ;_¯P£ÔÔÔvîÜ9bĈٳg>|XÒá4EÈ*«gݺu¹¹¹çÎ{öìÙôéÓ%HȺu”›KçÎѳg„Ó€¨U«/^´³³óòòÚ¼y3f΀:&--ýÓO?Í›7oåÊ•;wî”t8M®±TÃîÝ»}}}õôôtuu|||$HÂîÝäëKzz¤«K„Ó€ˆˆ”””Ö¯_ß©S§Õ«W¿xñbÓ¦M‚O~¨3gÎÔÔÔôóó+//Ÿ6mš¤ÃiBUVƒ­­mhh¨¤£I³µ%œU7n\»víf̘1zôè]»vÕÒÔëU5jT~~~@@€ŠŠŠ‡‡‡¤Ãi*0jR§NNœ8QXXèææöîÝ;I‡MΤI“æÎ»råÊ»wïJ:–¦Y%Ô0##£?þø£Y³fcÇŽ‹‹“t8ÐäÌž={ðàÁsæÌ‰‰‰‘t,M²J¨yjjjûöí3447nK¨c,+ ÀÂÂbÖ¬Yyyy’§ñCV µBIIiïÞ½ÆÆÆ'NLMM•t8дÈÊÊnÙ²%77wéÒ¥’Ž¥ñÃl=DDÞ\˜v>ÉI˽þáumïîZ̵§f0˯|^ÉËÈ×ö+µ.tªÁ˜Nc„Ô)+/ ¾|9êrrNr·æÝö¸ïaÊ-×[”Ù0``€»•{…j‹û-ö²õâ¿|‘üâà_}x”ž›./#ßB£…½©ý„.TTD‰ÿۯЋÅR–WÖWÑ·6´vëàÖ^·½Ý}éô„Ó–z–•Öd±Xj jÖ†Ö3{Ìì ×ˆ\÷º¾I}#üô^°ýáöªŽ±çÖž©¹ÿOÕfö˜éÝÛ›ˆ|/úž{}NGIÇ¡•⾋$uv18ή]»<<<&NœxìØ1UUU ’Ò;ØÐ¸Pÿëþ³?F/Š®û½Ÿ––ÖÚµk'OžÜ»wï#FH:œÆ ×* 1È/ÉwØá0åä±[p±p‰]Û£EŒJ§ÖN±‹c[9ÖÍî¾Å‰ç'¶?Ü>¬ý°°9aü”’ˆ^,|qþûóDäØÊ1vql…ÿºu­´š`Öt;häÁ‘ª ª;Gî|ºàièŒÐ9=ç„Ä„8þîø$á‰(±}{ãZˆú!*dJÈü^óã2â†îê{ÑW0£~ÈÊòÊBjþ5ÿ¯ÕW?M|ê~Ðý~ü}¦ÚÖa[ù›{tò ¢=î{ø%ÎÎÂñþìû¡3B‰ÈÚÐ:vq,“RÑ/οDÌ‹˜ÖmÚþˆý{Âÿÿ‘Iв²òï¿ÿž““3oÞ¼²²2I‡Õ†¶Z>d}˜zrjÐí OùŸ$TЫW¯‰'¤¥¥I:–ÆLœ¬rÔ¨Q,hbˆhãÆ’ŽjÑÉ“'ÃÂÂjº‡©;<¯œW^o¼n¹ÞrÔ¡Q’Žâÿ¸EÜõ·×Ú=h÷ãÝ«o¬ºoèš›kâ2*¿óíчGD4Éf’ˆ×E´íÁ¶í·¯tZ¹ÌaYëf­åeäUTíÍìÿðüC_Eÿû?¾¯*žZm\ZJZ‹£åØÊñÇ¡©Ý¦þùâÏùgçóx<±#áS–WîߺÿR‡¥¥å¥þ×ý¿½Aá8rNlY6óñIœ¾¾þ®]»"""6nÜ(éX ÚÐÁVKðàÎÏN:Ë‘åH:øÇ‚ TUUýüü$Hc&ÎØAƒµnݺÆCúlãÆíÚµsrr’t P[.^¼hhh(é(ÄÇ‘ãÜš~KÒQ4 E¥EnÝòŠó6¸n¸sMOE¯•V+¿+~g_ ›SÉ/ ™™ÒRÒ¹ê}=:2öˆµï3ßo¾»¹N;æ ¶,{™Ã2뮯Ú7j_µvZ³ÿÐç‡Gï݈½qáÍ×¶®_ÝïÓO¿Z§{óîDôöÓۜœó“Î ¯¼iȦ¯6(œ²¼rVAÖ76RS,,,~üñÇeË–uêÔÉÞÞ^Òá@5 ƒ­–5ƒÖ(È(H: ø6›íïï?a„›7o¢ÿ©%âd•&Lpww¯ñP >Û¸q£““Spp°¤Ú’ é ŽÜ‹¿û)vŽÝ#›Ð¸Pyy;;ÿþ>|*­_ΫÞŠ•!+e¤dü…ý$|äé‘2^ÙÀ6+]kcd£­¤}ïݽYÔŒªµ÷lœÅbï2~áù…‡ÿ:,<«uh”»•û˯߱Ã#¿ñ¯Vþv,b•ñêшSww÷'Ož,^¼øòåËššš’ V ¥¬Ÿzôè1`À€ÀÀÀÞ½{ËÈ`f™š‡÷¼ª&fÈ*ÈÚö`Ûõ·×“s’å;êwœj;µ[ónü ã2âÖ…® ûVV^ÖN§OßJÒªÏùŸ·Þßz#öF*7UY^ÙÆÈfŽÝ m "ÚõhWà­@"ÒQÒùmÄoëB×E&E–óÊ­ô­¼{{[Z Öy’ðÄ,ÐŒˆ¤¥¤+LÞž—¾öÖÚ»ïîJKIw2è´Üq¹±š±ã5_k^V.,UÐâhUzÕ‘ÁŒç¼wû{›ïù…v&vB6©q?>&" ‹ª*Xh[¤å¦… #«¬ÁÆ™ñiâÓÒòR©ø‹ö>ŒˆZiµ¼ ³IY±bExxøÒ¥KwìØ!éX@$è`+ÞÁB}æëëÛ¿ÿãÇ;VÒ±4BÈ* Ác&f˜þçôëo¯ó ÓsÓݺ– èjÔ5=/=èvç1ÏÕV»[¹ÑûÌ÷nÝØ2ì­C·v6ìü1ëãš›k>d~l9-7Íí [QiÑÿØ»÷x(³ÿàg\fÌ#÷’B*d+ä²­hS¹,[íÖ·"?¡òÝ¢ËV«ë*ÙÚn´]W—íæÛU¤%Ñ…ˆrÆmÆÌÃŒç÷ÇÓN“Ë ãrÞ¯ïëûâÌyÎó9ÏÑÙçÌsžsöÎÛk©mYA¯ø5þW÷sî¼/˜1_iµr¥ÕÊù§ç—Ö—þ–ø[˜}˜¡šaQmQè½Ð%—œýá¬åXK4É“Iê“./¹Üiüá‰á¾3|÷¹ì{YùrÍõ5ÁqÁ׺.¤¾}\QÐzœõx¥ñ¯(¯ìŽÙ)Ê):è;4s›…|¹ÞÊkÅJc…˜ø>½ŸãûyúÏÂc¨fTÈrä®2ñd•Ù›•ÄX¸*QÀCxõMõj$5~zÇ*£TB09̧Ÿî~¸»Û¹]éxÒnae°­¼Ö^œ«ÿ„Ý»w/[¶ìöíÛ®®®’êì`¡aCKKËÇÇçÈ‘#îîî8œ$Ç–à° OÉåôò-Ž[ìõìI8’Î(Èï#U‰ª;vÖ²jÑ Í[¶ÎÒ™E%¨ìwÙßn¤‘QA¯³³Óµ#ÈôUô£D!²#a‡`6v+{çÜæcÌñ²xM“ó´òZKüMÄP=M=Ñc­ÇYÛëÙ¿¢¼j`7ˆë:tDÄ//½¼lÚ2À'Ú§ÓY§­þ° O §7Ó;Í_ÙX©!¯!¤Àv ¢.™ºDÄHúu¨X çOXm§]•ÑÇ&B‡‚z{õÌ™‡Ý 3mveé•™ãgö"˜NžE×€íŠ:I½šQ=¨&Áf̘±xñâ]»v1™LIÇõì`¡!ÊÏÏÁ`\½zUÒ CpT AÐðô ð`Žî~ VûÍøoš¹Í©%©€”)› 6ü j$5Q:‚…$&Ha¤ìõ¾¼Ù¯JRÕWÑϯʯbTññ²xtÊÊ@Õ@¤ö¶ú­ˆÚÐÝ Qê$uðïÓ¶þ£LPÞæ´-3(ÓcЇéhS)ŒÔ™ì3>ûp¸Ál46-úYt½âÇ©bž,„>÷² ú‘º¼ºd ¯aÖd¤dFFõ" 0|¿ñ}vPö ÷‚ÍÝ߼ͽ™-ÌÈ”ÈÁv½qãÆÖÖÖãÇK:¨—` Q***‹-ŠŽŽ†»‰œ AÐ0ÔÂkap8\»•KUˆ*€fM ¯…ÕÂÂÉà²Á ÊDå’úÁBf‘fOQZ_Ê‚§€k¿å†2A™Ê¤Ö±ê§MvEð;)ŒèúJ\¯ýHc¤GF-6YÆ\øK•]M½“¸Æ (”È”ÈãéÇgëÌ>íuZÒ}F&“÷îÝëãã3zôhI‡õ ì`á{•CÚªU«._¾?oÞb·²ÃÃÉxòVÇ­’-<"9"·2÷Û‰ß:t¾II;ngÜn¿½Ý›ˆû̓ÂZŠZž¦žƒmH ‘‘ñóó»rå ÜÖh(‚,4¤yyy=}úôãÇ’dX£ÊÏikkkkëÙ¶lýD"Íš5«]âà ox@¤ ד@𵝳æá i!¶!ZŠZá‰áIEI¬VI}ɺÿ­«aÕluÚŠNÓ ± !ãÉ¿%üö¤äISkSQmÑúÿ­o7_+Ä6D›¬½ñÎÆäÉ ƒÆ¦]̹x$íH¨}¨à—ëò8ù)r*rØ­ì–S]]-|]G==Ý?þ¨ž7Oœ£ÁíÔ Œ˜ü»ZBaB£ /‹7m¶zÆjëqÖüœ%õ%ûïOÿ˜Îåq'ªN\;síéìÓOKŸ<¦xì™·-äèÓ£ ï(9…Iê“VY­\Ãsþéùõ¬úsÞçÂÃ_T¼àµñ¦hNÙ`»Ap]Ðu6ßßœ_•OÆ“ý¬ý~4ÿñeåK÷sîü þßø¯·Y/¸oĽ9ÑîÑb¼J|­¼Ö¤¢¤[on½©~SÑX!#%c¨fèjäºtÚÒNßüéÒOŸ2:Î 39`Âneóíê]£vÙ6ÍÙ´Òj%ÿ×vº§©§±º±ÓuthÁ!W#׎9'(Ox°êAWG]Ë»¶ñÎFÁ”W^ñï¿…Ôqæ‘™ÕÌ/뎠E‚åÌ<2saÔ­·„Ä,½þw}òäÉ?ÿüóéÓ§D"±ûÜPýÑ»ØÁö\RQÒê««Û%îvÞÝíþCPOõåo~ïÞ½‰‰‰‰‰‰ÝgÁtuu»Ïô/8ªtà¨rD£Êa½éI H“t ½ñûãßÇ(Žñ1÷’gÕÕU‹¿ßø~À¢‚ÄeÆáZŠZW—õûú½þwM§ÓgÍšêã#ìÅðë]Áï`¡þÖ—¿ùœœ;wîˆ=°a£G£ÊšûîÝ;777EEE`iiyûömGGG ƒÁ`V®üükMMM``àøñã±X¬ªªê¢E‹^¾|‰~tóæMÌ¿JKK½¼¼Èd²²²²««kqq±à‰D,¤  ÀÓÓSYYý5&&†ÿQss3¿´ºººõë×ëêêâp8---GGÇ3gΰÙ]~QÍÏÅb•””œ=úüÊADDZ¾––VVV–ƒƒƒ¼¼<@˜3gNZZš`‹•––†f–‘‘iy§áu<èW¬?¼«zçö§›b "ÁŸ`¹Ëòö«ÛŽ1«0˜U˜•gÿmnFMàÅÀñ›Æcý°ªëT]ô²ìߖʹ‰fƬ”֕zð"’•ƒ•]»×|ÝÜ¢RPUàyÂS9Xý5&5†ÿQs«ÀõdÖ­¿²^7L·§õ_-ǃŽgžžò\‚Ÿë‡U RrŽr~ôîßæŽ@Ë×ú¯VVi–Ãùy‚?aNÄœ´¢4Á<,+­( Í,ã+Ó.òNÃëx:ѯõ‚†¼‚ è:ÐÂmãÒØ4á{Jœ¢¢â¼yóúþ}AP˜™™ihhÄÇÇK:ác F•EEEÖÖÖÙÙÙW¯^¥R©§OŸŽŠŠzõê‡C$&&@¡P,,,®\¹rôèÑúúúÇ×××[[[§§§ÜÜÜY°` 88888¸¢¢âòåËIIIÞÞÞü‰^ˆ¯¯¯¿¿YYYFF†´´´àG|UUU/^ŒŠŠª­­}þü¹ÝòåËOœ8Ñi5Ñü±±±hþgÏž´‚!!!‚˜ššÒh´   ðð𪪪”””úúz{{ûääd~"‘8sæLAár¹í"ñt"^±þPD-²Þc]š}Õï*5’zzùé¨Ä¨Wå¯p28$‰ù)@¡S,vY\ɾrôÇ£õQõÿû¸žUo½Ç:½8àfî†D# Ì‚/;Wü^qÙ÷rÒÛ$ï“Í-r!¾ç}ýíüËö—e„eHKI ~ôåzÒ«,vY\̼õCTmdíó­Ïí ì–Ÿ^~"¹‹æ¦WY첈}‹æöŒ€%8tˆI„Ì A¢Ó±¦46-èRP¸[xÕª”_RêYõöì“ “ùyˆ8âL½™H4‚D#ÜÜv‘‹x:¯uôÍøoL4L„ç±Ñ±œÈ8!dHh°ap§2OqÛ¸¶º¶’Ž¥ ,ÈËË+))é>+A˜`0þó¨ïbTF£Ñ¢¢¢œœœH$’±±qll,‹õÕòƒ¡¡¡?~10Š6Iä¼CÚ~—ýû]öK: QIII}÷Ýwñññ’ŽDFN IÊŒ3A_L“t,ÃA¿*9ƒÁ““#‘H‚éJJJ‚yèt:@QQ±c ïß¿ æÁb±t†ÒíZshirrròò"­CØU~uuu@UU?…L&·;VMM­²²’J¥Š>ªýt ë+Ö8\£™!'+GÂ}ÝÜD%ÁÄËâgÿ6·6g• 4wE^%­Òt¬)ÿA%KháþÛÜ[ N¦tÑÜ¢‚ h(’““›>}z»ÿ|Cõ7ccã·oßöß$¾e F•»wï5jTpppBB“ÉÌÏÏ_¾|y»çi{öìÑÕÕ]±bŽ{÷ètz}}ý‰'vîÜ!úƒG±"XšŽŽÎºuëîܹÃ`0ÊËËýýý)JW£J4ppðíÛ· Faa¡…B‰ŠŠB'¦¢ÃÂÂÒÓÓY,Vvvö’%K°XlTT?ÃÔ©S ËÊÊÒÓÓ?|ø0{ö쾜nàí^´{qTð¥à„7 L3¿"ù™åíž§íY´GWUwÅ™÷òïÑÙôzVý‰ä;oíŒðˆýÁ£X ,MGEgÝåuw^Ýa43ÊÊýÿö§Ð)뜺hîE{tTt‚/ß~u›ÑÌ(¬.ô‰ö¡Ð)QÞQèÄT”"^1ìFXzq:‹ÃÊ.Í^³+ƒúA ¹ÇM-¬.,«/K/NÿPóa¶~Í-Úé ‚†¨iÓ¦åääH: ‚F–I“&±ÙìÒÒRI2 ĨRWW7==ÝÂÂÂÝÝ]]]Ý××744TGGGZZšŸGMM-33ÓÍÍ- ]Ëçúõëqqqžžž€ŒŒ Àãñ[¶l`0˜}ûöÌÍÍÑzzTˆà¤DtwGþGK–,hhhdeeyyy­]»VYYÙÒÒ²¡¡!55U[[»Ój¢ù½½½Ñü,+11qÕªU‚ÙH$ÒáÇwìØ¡©©icc£¤¤”””dkûeå÷C‡M™2ÅÈÈÈËË+**ÊÈÈHHx]NÄ+ÖtUuÓCÓ-t,Ü»«¯W÷=ïꪣ¢#-%ÐÜòj™›3ÝÌÜbTשn5¼žs=. Îsº' ãCf&îeïßrs ³ ³ïþ>€ùNs×î=-³J ¹sn ~´$f @CQ#ks–—…×Ú‹k•ƒ•-wY6°R7¦jꢹ5²6gy[z^ Dó³8¬Äõ‰«fÝÜ8ÒaïÃ;níÐ Ñ´Ùo£DPJÚd;Q ¹½MÑšb´ÍÈë¤W”w”‘¦‘ðº:ˆW ‚ hÐ255-//¯««“t  úúú222oß¾•t ÃAž€Á\¾|§õ…¡¡!›ÍþøñcËZÌÌÌjkkËËË%Ha0˜àààÈÈÈÞn¸ÕÝÂþ¸o„5÷N³ZFmùïC£¹=<<V¤ÿŸ IDAT}ß‹¼ººšÉd É §§ûÇÕóæ ËAÐÐÒ÷×4ÍÂÂ"::ÚÎÎN|q,°w…F±üÍ;88,^¼Øßß_\Q 'ººº¢gˆg•UUU£Fjmmå§”––ÛÛÛÀÙ¡VE¯4ª•'ÐÜu¥ÅÔb{CØÜAPçÈd²¦¦fAA¤ hd;vlYY™¤£bT hhhðõõ-++kjjÊÌÌôòòRPPغuëÀœ` M ¾ç}ËêËšZš2K2½Nx)යÂ憠¯Ü~{[o¯žÞ^½I¿O’t,CÕãâÇŽ' öH:H tttàÛM¸À¶ïFH«­­=ÒæNö“Ujhh$&&Òh4ô5Âï¿ÿ^__?33s„ pöA"""ƒÁäææVTT`0ôEÇaICQ#q}"­‰f³ßF)Héû#ßë«égnΜ :’š;>³ “[–[A«À¬Â /:BP;®F®E›Š¾ÿ¤’>Ñ>­¾º:"9¢¶©VÒ±@â1~üø¡5ª|üø±£££°{î·oßnÞ¼ÙÉÉÉÄÄÄÄÄÄÑÑñçŸ>~üø›7ozú Ô#°ƒí‹ÕÁŽ;vh½›6h{ž~߯åàà0Â7 ‘tÄÁÈÁÁhd7÷ܹ#¥¹!H""S"§Ž™zlñ1›?mØ­lI‡‰ÁøñãºÍÖÔÔ4þü &DGG@TúôéSxxxeeemm—÷Ümmm§Nòññùã?tttZZZJKK/^¼qãÆ “ ‚D4¢:X!ÿù`ÏÓ­UBAí™·GNFNÒQ@⤪ªZWWÇãñ—ˆïA¶¶6Éî/9uêÔcÇŽÙØØ°ÙßsGFFž>>hŠœœÜ”)S¦L™2jÔ¨'N `¼Ô3#ªƒURRjiiijj"B²Áž§[pT A =#çŽgäPVVæñxJJJB²‰ÄG XTÚ³gœœ°¿Àâââ'NLž<™c'È××÷Ì™3ýõÙˆê`ѧ¾¾^ø¨ö<Ý‚£J‚†¼„„5×× ??^óxÿ£ý©%©ÒRÒæcÌ·:nÕ&Ùt”ƦýùôÏÄ÷‰”F K0m¶ÚjõŒq3Úò`ÕƒÈÔÈôé46 ”¥ §pÿÝý+¹W j Æ8¥qž¦žË¦-“ÂHõ(€âºâßÿžñ)ƒ×Æ3V7±ëd¦´ˆA&¯IÞ÷hßãâÇX¬íÛmNÛÆÎ„3ˆ8âÝ9›6±Ä^à!ª „ߨ.]ºÔÖÖæììÜé§ ¯_¿î‡¸úì`a;¼5 @£Ñ´´´$K7yÏ#±ý*¡¡¥ûUBƒß0دÒïš_âûDG}Gß¾†j†/*^ø^õ¨:ñúO×Ñ 5ÌóÍÜæÝλ-ÇZÖ°j"’#>ØõÝ.OSOÁB,ÇZÍš¢9¥°¶Ðó¼gÆÚŒœŠœÕWW‡Ø†x›{·!m·ÞÜ O _a¹bÓœM¢ð±áã³ ñ2ø}.û¦jM-£•íIÚSZ_JeRßü÷MOƒœk0wõ]eÝø‚øÛ!¶le¥eƒfS—·5~ër‹å›6· ¯GG%%u[ëù§ç—Ö—ª†Ù‡ªÕ…Þ -®+>ûÃY˱–boåŽf™YÛT[ð Ü‘B’ÄòïšJ¥~óÍ7—/_6119zôèÝ»w+++q8Ü´iÓ¼¼¼ìì줥¥Ö¬ù|ÿúõk077g0íJÃ`0©©©€úúú#GŽ<|ø°ººZ^^ÞÂÂbíÚµFFFüÌ<žÐ»p•ŒŒNîÂgΜY[[ÛqC” ¼~ýú¯¿þ²±±éù•è¥~ݯv°°ƒ„Äò7_[[;cÆŒ‹/šššÂž§A·_%AЀñ4õ4cŽ—ÅÏ?ÓN×îåU»ý("9¢œ^¾Åq‹½ž= GÒ¥ù}¤*QugÂÎZÖW/¾ûZûZi[áeñ¦š¦¿(á•VÚV~Ö~ŠrŠJx¥eÓ–ÍŸ4ÿLÖ&§ýÌ„ÐØÜ¸Õië,YY‚ªÁ~—ýT&Uðpуô˜â1Yc2^ï6ÙM_E?ùCò,ÿc¤fD%x›{k)j%Hîx}zz”(µf·²wÎ݉ÖÚDÓäÀü­¼Öß½Õ €Åb---Û·o?{öì¶mÛ²³³ããã'L˜àëë› prr***rttlwì«W¯Šþ ذazcG¥R.\x÷îÝ;v¼xñ"66–F£¹»»çääð/(((ªÓ;!jjjŠŠŠ}»$ƒì`a;üÈÊÊØóˆUB4¬LÑœÂÿYSAPͨF}Pø0Gw?VûÍøoš¹Í©%©‚…˜jš¶+Ö^ÏþoŸ¿SŒÔŒ¸mÜ÷µïE åC Àf—oÕHj:£t=HÍ/k¸©Ë«&kLæ§hÈkðÏÛë£D¬5^o¤&ð嫪IímõÛv÷s$úõ?‡Ãyúô©¾¾þ¬Y³äääTTT6mÚ¤££ÓíᨻwïFEE-^¼ØÏÏM‰ˆˆ¨¨¨ ³³³#úúúQQQ‚ìØ±£¿j@WÁæÏŸ¯÷/~„Cì`Q°ƒNøßgÁž§zó^åš5k6lØ öP AîäÉ“W¯^•tP©««Ó××—tb “çÿŒ•Æ€Zx- 'ƒã¿Ó‚R!ªj˜5‚‰xY|»bÆ©ÌS T1ª›ùé—\«……“Ád¿Z@™¨\R_‚þÜ£ IXÿg ÀHKI †-…‘jC:Yª®GG‰XkœB»³(”©Lj«N¤Ö1_û:ƒÞÛq8[[Û¿ÿþ{óæÍ&&&èô3!ò¿ûÏÍÍýïÿkaaÎÿ4!!AJJÊÞÞžŸ¢ªªª¯¯ŸŸŸ_UU…>U;uuõššš†††vé·nÝäåå-\¸°?ÎÛß`‹‚ìpÂUž§àj=¨à~ÍІ•ÆÊãä«…%xKÎzR%© ?|õÕÕYeY[·ÎŸ4_ ¯„Á`NgÞõpzC#bD,‘ÕÂjjm¼ïA׫Kb'b­iÍ4A0 ?¥®© LTîªäAû–$Aèe¤¤¤¶oßnnn~ýúõ¥K—¦OŸîííýí·ß ?¼²²Ò××WSSóèÑ£è”6@KK úâ“™™YÇCJKKÑ{»^¿ÝÔ ‹üüüׯ_ÛÙÙ‰~ÔÐ;Ø^€ì ö< ö<}Ô›Qå±cÇàj=# ƒñõõ…«õ cèj=ÃÛ·¿½–wíQñ#W#W4¥…×ò´ô©œŒÜlÙBäµñž—?W%©þ4ý'~"‡Ëéi¶lï¾»›ò!å;ƒïДvÿ{ô>)v¢×šÃå¼¢¼2ýyV[AM•I5R7êê{têTSSÇc0777777.—›‘‘ãïï¶bÅŠ®Že±X«V­âr¹ÑÑÑd2™ŸŽÅbX,Ö›7o„lƒÙqÑ‹>úá‡Ξ={ûömÁñÀ0;Øìànü{ž¾ƒïUB4R„؆h)j…'†'%±ZX%õ%ëþ·®†U³Õi+:ª+ÒRÒVÚV5ÌšègÑ ì†fnsÆÇŒØœØ`BÆ“KøíIÉ“¦Ö¦¢Ú¢õÿ[ßn¾V¯ƒ;Ñk-“?r §"‡ÝÊΣäm¸µAVZv«ãÖŒÐ{;`nn^\\ ‘‘™5kÖñãÇ1Œâx<^PPPqqñŸþÉ* ½6wî\÷üùsÁCNœ81{öláO úBWW×××÷ýû÷'Ožìø©d7Rï'°ƒíØÁhÏ#''{ž>‚;‹@";‹ {Czg‘—•/ÝϹóõÿƽÍz½½zü”9zs¢Ý£Á¿;•%&T1ªð²x³Ñf«g¬¶gݱ@Ѧ"þÏ ì†ƒ)?®aÖñdÛ ¶ª$ÕãéÇ“5&oÿv»ˆ”Ô—ì¼?ýc:—Ǩ:qí̵§³O?-} ð˜â±gÞžéÿ¿“¾Ó³_^“± ™>vú~à§Î ´™`Ó‹£g ¯õÍŸo柞_Ϫ?ç}.<1üEÅ ^oŠæ” ¶„o§Öwè¢üíw;ïæo $±ü».--utt¼uë–‘‘ѶmÛ&L˜À`0þþûï?þøcýúõþþþhN??¿ÄÄDþúþ;wî}²··¿yóæÒ¥KaÏÓNv£JH$pT9ì éQ%$AèMOZ@š¤$I,ÿ®ß¾};þü‡655ÅÆÆfff¢»Æ?ÞÓÓÓÃÃÁîX°`ÁòåËÝÜÜ:-ðرcNNNvôèÑ„„ …¢  0iÒ¤U«VÍœ9³×¡&%%­^Ýáž{÷îŽwG¯_¿¾pá³gϨT*Ç#“ÉzzzÖÖÖßÿ½Ø·\‡½ëð;XáÄò7_XX8oÞ¼øøø––Øó´Ó£Q%\­‚ ‚ ÉC¿"ãÆûí·Î·ãCwk—Ø1¥2™&–8öööÝžell¼gÏq‚ ±ãÏ€ÕÕÕ…=O_À÷*!‚ ’¼ŠŠ ,«¬ÜåÊ–AbרØPPh¿ƒ ÔSpT AõF̳½½zo«ßV3«õöêL9(鈠¡­¬¬l̘1RRð΂`;p***ˆD¢¼¼|÷Y!¡à X‚ ¨7VZ­\iµRÒQ@ÃGyy¹Ø_5„ ! v°†B¡Œ3FÒQ ýò “ÉÔ××wuuíÂûh0Ç&ºÁS &³U_?ÆÕõº¤éÄ`ŽMtãAÝ*++;v¬¤£€ hd¡P(ššš’Žb8è—Q%‚ mmmƒs;¦Á[§H$Ò¬Y³Ú%žZ ÒÖ†´µõl%á1˜cë‰5kÖÅv‰C®A½SVVŸUB4À*++G-é(†ƒ~™+//î": æØD7xj!/-.^%é(:7˜cÝð¨Apuuu eÒ¤I’‚ ‘…B¡X[[K:Šá¾AA„½xñBJJÊÔÔTÒ@4‚°ÙìòòrI2ˆTyóæMÌ¿š››ùéuuuëׯ×ÕÕÅb±JJJÎÎÎ=<°¦¦&00püøñX,VUUuÑ¢E/_¾ìXfii©——™LVVVvuum÷ÈîÝ»wnnnŠŠŠÁÒÒòöíÛŽŽŽè+W®ì›è% ¯+BªžTKK+++ËÁÁA^^ž@ Ì™3'--M0‹ÅJKKC3ËÈÈôî ‹^͹y³ƒ‰@ÿ×Ü̈„½~ý#]Ýh,ö ’Òagçk}úúb6&‹=¨ªúç¢Eq/_R;–YZJ÷òºE&VV>âêz½¸˜&XÈ»wõnn7ÿ YZ^¸}»ØÑñ zàÊ•ñc½d!áuEH•#"²Ð“jiÏʪrp¸"/E š3çrZZ…`«5-­Í,#s wWXôjB 999zzzpF‚Òëׯy<Þ”)S$Èp þQ¥››‚ ,L¬ªª²°°ˆŠŠª­­}öì@pppˆ‰‰A3P( ‹+W®=z´¾¾þñãÇõõõÖÖÖéééíÊ ®¨¨¸|ùrRR’··7ÿ,EEEÖÖÖÙÙÙW¯^¥R©§OŸŽŠŠzõê‡C$&&¦cl"–,<¼N ¯rHH‚ ¦¦¦4-(((<<¼ªª*%%¥¾¾ÞÞÞ>99™Ÿ‡H$Μ9AA¸\nï®°ˆÕì)77= Y°@ïëHXbcßFEÙ×Ö<{¶„@qp¸“÷ïÅdYX\¸råÝÑ£Žõõk?öª¯o¶¶ŽMO¯lWfpð£àài~—/ÏOJúäí}›–¢"šµõßÙÙUW¯. Rÿïôé^¼zU‹ÃI#HHLÌÜŽ±‰X²ðð:%¼Ê!!bjªJ£q‚‚’ÂÃgUUù§¤üP_ßlo%9¹ŒŸ‡H”9s ‚„ H—»¡wWXÄjB *999æææ’Ž‚ ‘%??ŸL&Ã5`Åb€fÀ†††–””:tÈÕÕUAAaâĉ±±±šššÕÕÕh†?ýÂ… ---AAA¢_ÛNx5Å"44µ¤„~轫«®‚vâD¥ØXWMMR`àÃêê&@hhÊÇΙ7o‰$kl¬ré’+‚ k×>lWÔÊ•&ÖÖ£‰DYGÇq..²²ªjkÙèGaa©4'*ÊÞÉiZHl¬ ‹Õ*bBJ=<Ñ«Œb±ZuDÏ;}ºÆ… .--¼  $ѯmN'¼šAƒ‡ÃÉÏÏ733“t ,ùùù&&& FÒ 4ª¼qãÀÅÅ…Ÿ‚ÃáØlv||<àæÍ›RRR‚[ehhh?þ¼¼¼\°( þÏèä••Ÿ"Ý¿0wî\~UUUCCCƒR²èá‰^e‘Hü降‰ÉèÑ£sss)Šˆa÷èt«)7n¼¸¸LˆDÚÁA›ÍæÆÇ—nÞ,’’¸ºêò3hhUž?¯./g|ê—…žÇŽ•TV2Ñ_ïß/Ìûe¼ª*ÁÐp”ˆA )YôðD¯2ŠH”53Sãÿjb¢2z4)7·†Bõ‹Nx5!‚'Ož477Ïž=[Ò@4²äå噘˜H:Ša¢_Ö€m‡ÃáÐét99¹vïK¨««ªªªÐ EEÅŽ‡¿ÿ^p©qÁ5uvÖÿ΃EUU± ú/Âë¶Ê¨æfnVÖ—‰Íyyµ••LSSUþƒJA¶¥…‡þl`pêäÉW}94ø™0ñºàÕ.A6¤MŒ3XdJäÔ1Sã–ÇeáwH222h4Ú·ß~+é@ av°P·?~laa¡   é@†‰UîÙ³GGG'88øöíÛ £°°ÐÇLJB¡DEE¡³4÷ìÙ£««»bÅŠ{÷îÑéôúúú'Nìܹ3""Bô§—»wï5jTpppBB“ÉÌÏÏ_¾|¹XžÔõ"¼n«ŒRTT KOOg±XÙÙÙK–,Áb±QQQü S§N-,,,++KOOÿðáCW¯ˆxº°gÏlÅàà¤Û·‹Œ–ÂÂŸÛ 3*Ê^]€fÐÕ%¯XqÿÞ½:S_ß|âDîÎév¢?½Ü½{ö¨QrÁÁI ™ÌÖüüÚåËï‹åI]/Âë¶Ê(EE\XXjzz%‹Õš]µdÉ,V:*ÊžŸaêTõ†²2Fzzå‡ôÙ³;_‘LÄÓACK|ä÷è”ç)IÒK{æíñ³ö“ÆHK:hȸyóæäÉ“Ñ÷ü!¨_Áâãñx)))sæÌ‘t ÃGíWÀãñK–,hhhdeey{{*++[ZZ²X¬ÄÄÄU«V¡G©©©effº¹¹ Kì\¿~=..ÎÓÓ‘‘!Xæ–-[ fß¾}ssst]]Ýôôt wwwuuu__ßÐÐPiié®b±dááuªÛ*£H$ÒáÇwìØ¡©©icc£¤¤”””dkkËÏpèС)S¦yyyEEEõâ ‹XÍž·uWÀã-Yr ¡AÌÊZâím˜¤¬|ÄÒò‹Õš˜è¹jÕ”Ûš™¹ÄÍM? QUõOCÿ®_çæéiÈÈ –¹e˱o_&ÀÜüœ«ëu€®.9=ýG w÷8uõ£¾¾BC­tt¥¥¥ºŠMÄ’…‡×E[wSåÛZöða‡;žjj³±¹¤¤$—”äikûåFêС9S¦¨ýååu+*ÊÞÈH¹WXÄjBP?‘“‘“tÐPB¥Rïܹ³téRIACì`Å(''‡F£ÙÙÙI:რ=[½ƒÁ\¾|YÈhj°144d³Ù?~”t 033«­­íjÙAƒÁGFFJ:a ÿb³¹?®–t 03;[[Ë./÷“t ]òððüóÏ?},§ººšÉ¶Ò¬žžîTÏ›'ÎÕh Ö\ÿüRÖƒU"S#Ó?¦ÓØ4@VP–‚œÂýw÷¯ä^)¨)`pã”Æyšz.›¶L #ÕîØä5Éûí{\ü+ƒµ`»ÍiƒÃØ™°3ãcGœ£;g³Ãf"–ˆy³÷Ñ^€:IýØâc¿?þ=·2· i3mºÞfý4­iÂæÎ'-%]ðK`0¯C^ãdp½ UßT$íÈâ‡ÕŒjyœ¼ÅX‹µ³Ö© Ì`¿¯'$ƒ Q%cm†ðÚ¡f™YÛT “!zýïúСC±±±©©©8œ¨Ë­A]éÞÀv°ƒX_þæ÷îÝ›ðða—ûÆA]]Ýî3ýk Vë0UUU“&Mª®®–•ý¼‚Kiiiqq1ú4NªªX“&®®ö—•ýüp²´”^\L[²d’dƒ$Âi¢SѦ"¿k~‰ï·Üß4;h¿ËþÂÚBÏóž€äâä ¸ Û?ÜþhCÚn½¹ž^ŨÚ4gS»cw'í^c½fŸË¾ø‚øÛ!46MVZvͺqJãâòã¶Æo%b‰›6VZ­\iµrþéù¥õ¥¿%þff¨fXT[z/tÉÅ%g8k9ÖRHÀèá&L&©Oº¼är§é˜"zx*“êqÞƒÃåì·×RÛ²‚^ñkü¯îçÜ/x_0Óå^óðH---—.]òññCÊÁ v°°ƒ~Z[[oܸñã?J:ae€Þ«0 ¾¾¾eeeMMM™™™^^^ [·n•t\ø544ûú>(+c45µffR¼¼n+(`·nµ–t\„ùZûZi[áeñ¦š¦¿(á•VÚV~Ö~ŠrŠJx¥eÓ–ÍŸ4ÿLÖ&§ý·›S<&kLÆËâÝ&»é«è'HþåŒÔŒ²oso-E­äÉía·²wÎÝi>Æ/‹7Ñ490ÿ@+¯õ·Äßú£j= /"9¢‚^ff§kG%è«èG-ˆBdGÂŽþˆ ‚záæÍ›t:ÝÇÇGÒ@¢‚, v°C]BBFsww—t ÃʰUjhh$&&Òh4ôÅï¿ÿ^__?33s„ Ý<°"""0LnnnEEƒA_t„D§¡ALLô¤Ñ866—””Ž|ÿý }}rfæ’ :ÙST²""²0˜ˆÜÜšŠ &¾èõSMÓv)özöûü-˜b¤fÄ=Èù IDATm㾯}ß.§‰æ—­ÕåÕ“5¾lc¥!¯Qͨnw^/8åÉ@Õ@¤ö¶ú-•Ù×=:êQx … R){½/ËA©’TõUôó«ò«_ía AÑÜÜ|øða///þNZÐà;Xì`‡º‹/ÚÙÙ=ZÒ +Ãj,ÀÁÁÁÁÁAÒQt/$$$$$DÒQ mÚÚ’Ž¢{!!!!’ŽbÁËâÛ¥08ŒS™§>¨bT567òÓÙ­ìv9IØ/[ÝbFZJZ°4)ŒTÒ~=z\ûÉ• ÊT&µŽU§Fó½²èáµðZÀ,Ò¬c9¥õ¥ò/Ž-Æ×~ H¸˜˜˜ÆÆÆ€€Iõì`ì`‡¾OŸ>eddDGÉ=K³á6ª„ jgõÕÕYeY[·ÎŸ4_ ¯„Á`NgÞõpz¶VY§hÍ4A0 ?¥®© LTîöX Àt›§w°ÒX9‡õæ—7=Zƒ¾ö Œººº˜˜???IÇõ ì`E?v°ƒÄ©S§FÝÕ^}P¯ «°AíðÚxÏËŸ«’TšþÓ(Â(ôî„Ã别|—óŠòŠÿkAM•I5R7å{t¼,¾•׊þìtÒéÒËK⊠0×`.á=/.˜x"ãÄ죳yˆ°/Ë!hDDDH¤ŸþYÒ@};XÁDØÁ ÿüóÏš5køûBâG• gÒRÒVÚV5ÌšègÑ ì†fnsÆÇŒØœXq•/“?r §"‡ÝÊΣäm¸µAVZv«£H+„k—Ô—P)99Ÿ>YŒçLéÛm²öÆ;“?$38 ›v1çâ‘´#¡ö¡pmH²’““¯^½ºeË<¾ýtJhh,ì`‡œ#Gލ©©-^¼XÒ CÿJH,†Ä~•P_ éý*_V¾t?÷ÕJnE›Šø?7°¦|\ü¸†YCÆ“m'ت’T§LÖ˜¼ýÛí‚Çúãï¤ï´ðìB~JˆmÈô±Ó¸ð?%pV`à¬@ÀüÓóëYõç¼Ï…'†¿¨xÁkãMÑœ²ÁvC·Û©¡>Ô}Ø|s~U>Oö³öûÑüGÁÍÓ Œ,¶´×áÑØ´£O&¼O 4Rä&©OZeµjæø™¢ÄÖkIEI«¯¶ß3v·ónOSø_áLô×óæÍ³²²:pàÀ6¢ôÓ~•°ƒ…ì ÕÓ¿ùÒÒÒ¹sçîÝ»wáÂ…Ýç†z¸_%UB"£ÊaoH*%½éI H“t $aþ»nkk£R©_­\”}çÎ2™<°1éw°ƒ…DÐÓ¿ùµk×Þ½{NQF•½Y­çìÙ³ééé½8Ò×­['é( þ’››«¥¥%é( >®]»vâĉk×®)*~ÞóéÊ•+wïÞ=}ú4RB4À’’’îÝ»‡”ý¤7£Ê»wïÞ½{Wì¡@ƒ\~~~~~¾¤£€ú›Ý~!x‚ ÞillÜ»w/N÷÷÷?w´tff毿þêïï?kÖ,IGAÐÈÂd2·mÛ¶`Á;;;IÇ2lõfT gÀŽ@ €ËÀvÆ*‚FÁþA5kÖ¬[·®¼¼üèÑ£p¢Ä€£J‚ ‚ÄãðáÃt:½Ó­°¹\nuuõš5kZ[[>0‚†½Ã‡766¢ý‚ ­­­)));wîÔÖÖ–th#UBA$ÅÅŧOŸn7÷…n§ªªjmm® A$F?~æ>BòðÚx‘©‘÷ÞÝ£4RfŒ›ñ—ç_hºÉv+[È»w{šz¶Ë¶iÎ&Á-Åó(yç_œöéY ³'ƒ?j¼½®ýOÓRS%þNcÀJcuFéx›{ÿhþ#:rÆáµ¬Z~†øUñºÊŸ7îÜO HS'©£)S}zý9Ä6ÄÏÚoãÿ{ó?u’ºƒ¾Ã/v¿àdp¢ÄIÎ:½JFFÆÞÞÞÃÃÃÆÆ>–„ h`ÄÄÄTWW·Rb0))))))ooïo¾ù¦Ýü|Hìਂ hÐùçÕ?ÇÓÏ^6m™à`/oCÞ[êÛùÍwÔw<¾øx»£|þöé6[DrDô³èeÓ–E»GS×Ìm~^þ<2%òü‹óÇ›¦5­ÛØ:ÞÊk-ª+Úþ`ûöÛ+èçld¬Í¸œ{yó½ÍË-–ovØÌ?œ×Æ{úñ) ¥8ÅÃÔM\o³~…Å ûö™™2R2€}.û¶9mûßëÿmߪBTYc½¦çW Ÿ>} ÉÝ}צMsÉd²¤Ã Þkjmšÿ×ü ʢݣ% $òçŸòx<~Ь¬lkk«»»»››ì” |¯ܾ}󝿿f~z]]Ýúõëuuu±X¬’’’³³ó£G:þîÝ;EEE0gΜ´´´Œ‚ !ƒÁaH>0ïÔ¼S™§v=ÜåvÆmOÒžâºâN3?ûô °Üb¹ˆÏEôçÓ?§ßî´}³Ã扪q28E9E{=û+K¯ŒV½âÊŠ®âNVZÖHÍèÐ÷‡¤0ReþEcÓÐt@ʇÁ̹”ÜV^+ ¥ä«ô´Ò4˱–èEĽͽñ²xôj@ƒ–šši66ÿwoÐP‡ HÒþ•(“&^¼$$Ü¿¢CJiii £¨¨øÓO?ÅÇÇß¾}û矆Ò@‚£JàêêŠ È‚ «ªª,,,bcc£¢¢jkkŸ={F bbb³1™Lÿ°°°ŠŠŠ”””úúz{{ûäää­Aƒ‡Ëñ8ïqóõÍßîX6mYˆmHˆmH|Aü±?vš¿Ý -%MÄ{t–Øc=M=»úôcÃÇ?Rÿ0V7ö6÷n÷^¿Ùa3«…õ[âo=:£ MMU¢*á½£¾ã§è*ë×W6Vò³¥–¤z›yd OKŸòÚx‚é³ufw,V'ϦBƒ“œœœ¤C€ ñ b‰üò<%é@ ¥ääüËåJIIÙØØ;vìÙ³g›6m‚otKUv.44´¤¤äСC®®® 'NŒÕÔÔ ¬®®æg£Óé»wïž9s&‰Dš>}ú… ZZZ‚‚‚$9AƒÐ“Ò'EµEîSÜ-ÆZÈJËâdp³tf…ÞUþ6¤g‹‡m°=<±ËÒP±9±<„çlèÜé§c-ÔHjOJž”ÑÊztjA@‚ï@ÚLhÿ¸2åCŠƒ¾ƒõ8kz3ýå?=õCª­®mÇ21ÃCxÓ!‚ ‘ŒÇ㨪ª³qãÆ´´´èèhGGGørŸÄÀKß¹7n\\\ø)8ÎÁÁáüùóñññË–-Cåä䬬¬øyLLLF››K¡P4558f± Ö\ÿüÞ݃U"S#Ó?¦£¸¦iM{^þýhšÖ´ËK.ž–>]viÙI÷“özö€ðÄð3ÙgÐ< ¤1¬2b°ß@ðÁZG*D•Œµ]}Šî”•\œ¼Âb?q–Î,!‡ˆ]fY&ÀHݨ« FjFT&5«,k,yl/ʯl¬¬aÕp$}}~¢Í›ÓY§SKR0û@cÓŠëŠ§Ž™Z¤[ô°èajIªùs@aM!^¯¥w† Agw°~×üß'ŠÑ…GntZÝλÃî…¡½y“ÁÅ<‹Ùûh/àyùs½½zi)é‚_ Ð<õMõGÒŽ<,zXͨ–ÇÉ[ŒµX;k­‘Z—},$^ݺUwÞ<¦¤c€£ÊNq8:.'''///˜®®®¨ªªâ§(++·[QJMM­²²’J¥ÂQ% §‰NE›ŠÐ{‹-÷·ÍÚﲿ°¶Ðó¼çñÅÇï¾»ûkü¯çüÞø{4Üë8ôÿÑŽ-Ž[¬´­Î¿8î‡s]‚Ñ;Öã¬Ç+EyewÌNQNÑAß¡™Û,'Óå¼ÁV^+V+¤ÀÄ÷‰è-ßÏÓC5£@–ëò%2ž  2©ÂËéˆÛÆ}_û~ûƒí2R2Û¶“p$þG–c-ådäž–>å!ÌN׎ KÐWÑZ… ÈŽ„b© 9pTÙ¹… îܹÃOáp8>ÄãñsçÎå'2™ÌÜÜ\þ¯yyy•••¦¦¦ðA%IŠ©¦i»2žl§k—VšVì$¾O4mºdê’fns|A<€Æ¦=ûôl®ÁÜNŠe‚ò6§m™A™S*Ñô6¤-­4­™Ûœ[™;cÜŒNÏâmîÍlaF¦D6°D ‚ ~28;Ø^Çб:¢K(LÂH¡ÏBQª$U}ýüªü*F•!h¸‚3`;·gÏžäääàà`‰dkkK¡PBCC)ʉ'Ðy°("‘1yòä·oßþç?ÿÁb±QQQŒ‚F8¼,¾câÂÉ  n½½µÂbÅÍü› '/´g½÷ÑÞÿ½ùß"“E·ßÞž£7‡ KRl߫䓯H"ŒZl²xŽîœÅçÔÜ/¸¿ÀøóÔ¿ÜùåzÞu)ŒÔ꫚öS·¥ñmÿv{·y,ÇZæWå¿©~Ã×µó–ú`¥mÕé§B¨“Ô÷»ìÏ£äE?‹v6p6Ñ4üÔf‚Í®‡»RKR]Œ\p28m²6?ý‹ ©%©ò8yM“N°Àx¥‘™y<ýølÙ§½N÷4<‚ÄeÐv°½‹¡«n§[-¼‡0‹4ëøii}©ðÉ&4,ÁQeç444²²²ÂÃÃËËË ÂŒ3íííÿýïcÆŒ9xðàÆ³²²x<ž¥¥eRRÒÌ™3%>A_™£;‡Œ'ßÈ»áfìö²òå‘…GädäfŸõ¤ô •I½žw}ƒíá%ôñ½Ê¸×qq¯ãþòü‹Ÿ¢© ¹Ødñ±ôcô ~â~—ýÛ·¥–¤ÇÓÙô]λúrÒv¼Í½ÏfŸ½÷µ_ÇO³Ë³©Lª½žýh…ѽ('ƒ ± ¼ø{òïíÞžÒUÖÕTÐ̯Ê{'¸wÈŒq3d¥eS>¤°¤N÷AH>p,ýØnçÝΆÎò8ù®²A$)ï`ŃÐþŬ4VANÅa½ùåM§ëAÐgÀ~Æãñ¤¤¤×#VVVŽŒŒüðáCKK F»ÿ>:¤„„„ ‚ Hyy¹……ERRƒÁhjjzüø1RBÐ $+-ëbäò–úö@òG}Gt™·Én¼6^Tj•IµgÝß1¼¢¼â¿áƒb¶0ºÊ_m«E‘œ 5ŒïÜo:£tg¾®~}1çb»Ø­ìðÄp2ž¼Õqk¯Ëw6pž¤>éiéÓ'%OÚ}4[g6‚ g³Ï îB%LÓšFeR¯å]ûÿöî<®‰kíø @]A@T@DE-¸PËRû¶.Ä E¥®Xµ.,â‚—ÚZ[m«WëUiµnTpE«XW•LBØBÞ?æ67E 1à÷ýôäÌ™3Ï òtæÌŒ„ªòlîYSmÓ‡””ÊIl»ÆÀTcŠžæ÷5Õ¬ÍXP z.eWÖ®Q;Gá>p螺uU9pàÀÂÂBêsqq±™™ÞrÐUÚBå=°Á¯¿‹Á:”sh’ý$Z»'Ã~Íü_ç?¬xØÜÒ\ß\êá©#wŽ8÷qöµö}½³–ºUsÊ×¼óf»Í^›ºv㹫7 _Õ¿:Ÿw>th%·òÇÐe{§…F£-öXLÙœ¾™z“Š5çVÐ"huó$UL2Õ˜ ¼mXn—­z@©)<Á¶k öÆö/ J_•Þ*¾õ´ú©sgBH´g´™ŽÙ²“Ë2ždp85üšƒ·&_I^á½W/¡{êîEÔæÍ›ãããÏŸ?ûöíØØXE‡²¸]r;èç ê³}¢=!$oy^«>N½ÌuÍ.}\¨ Uq6ãŽþu´]NHñ௡ªñûýßç¦Ì-~U¬ª¢:ÀpÀbÅŸ ýŒ®ò†ó×'\QmÄoâ“¿Ÿ¿ú¶{Zu[>zy˜kµ(Ú3zlÿ±ûþÜv8¬‚[Á 3úéõg3ŸIy1°Õà¶I“þ{3¹—¥×0Óa7žß°Ž·½8Ž2Ò|$Fj:´Õ}Mý<6§o–p¡ò¿„m,€ö£ü öb°;âoæ´O´Ÿd?iË„-„Ÿ˜UgVÙ=F‡©óå˜/© &zšz)ÓRv^ݹöìÚÒW¥=4zØÙ}ûÑ·#Í1g º)Z«¿(·½vèСv ¨#]»vmÙ²e7oÞ466ž9sæ_|A§ãÏKoF£Ñ9DHWø¹Ã[‘Ç¿ç(ååå\®¤‹lVV–;v”wçwoNßÜ[»÷'NŸHè~$<=?ýñ²Ç•Òþ¯á¦Ú¦G¦Qt ~¯•~ ÐÝàß|{³´´l»ÓߺõµJWW×ôôtEGК1ÛX(VñªôYúŠŽE‘š[škø5ÃL‡):¤[ßW ÐñF˜dkÖðY Ùôëâèx   ŠŽ¤‚° ;T• ;T• ;Yî« •{( ôB ÁϽ+ËÊ2UtÐùÈRUúûû÷ïß_î¡€2Û¾}ûŒ3œœœ´—={öèêê*: è|d©*§M›"÷P@™mß¾ÝÉÉÉßß_Ñ@{9uê”–––¢£€Î÷U€ìPU@—•š›jgEý×ÐÜ èp!äăT—w®œSÎVg;÷qŽt´5´¥VgžùOÎU>â4púêö q™:tª í³Ë‘¿9}sÖÓ,A‹ÀÞÈ>Ú+Zš²I°´$tÐgégEfI”d€ ÒèvU¥–––££ãåË—Å…BaKKKKK‹¢¢€÷ææ6hË ;#»CŸzcŸ i"†GÄÄß.¹='eNÔ±¨”i)äïNÌ>:;íqZÌ™˜…£&$äVå†ì !„Tp+‚÷747Äùǹ˜¹×¯ùcMÐÏAû§ìwêíDÉÈÏXxla´gôŽÀ-–ßïÿ¾!mC§lùèåÔv‹ª‹‚÷3U™ÉÉCL‡<«y{>öiõÓ6wªÕI€B Á€40–BØlv~~þ©S§´—‡§ÞNL5¦[_7o+ï;¥wªùÕ­úD¸E¸š¹2Õ˜&–>Òeê&f$ׯô^ée饩¦i­o4)I(®K]'ZËÕÌu¶Ûlm m]¦îÔ¡S'ØMø1ûGn—Zš˜‘øªþÕj¿Õîîšjš66  ÜŠŽÛs€v† ¨* [l2XôÙHˈRÎ)oÕÇÁÄ¡UKjnª MÅÛÊ[Ôb e`­o}·ìn§ŒâmåýïOþ-¾Š­¡msKóãªÇÔ׋O.B<úyˆ:jZô´xÿ=PH° Ϫ²²²rÁ‚æææ ÃÀÀ`òäÉ·oߦ¹»»Óþöé§ŸB|}}E-555mŽ@yñâÅâÅ‹---ÕÕÕMMM}}}üñG>Ÿ¿aÃj(wwwªç™3g¨}}}ª%11‘F£ñx¼+W®P‹TUU !¿ýö›(’úúú×·Å`0tuu?øàƒ .P‹ÄW),, ÕÑÑÑÓÓ?~|~~¾ä£ôðáÃÀÀ@mmmMMM—'NˆEXX˜øÈ= ÑÓÓ£¾VUUIŽJúƒ@£ÑLMM³³³}||Øl¶¦¦æèÑ£¯\¹òî?s€Nƒ­Î}¦îÉa«>L5¦ø×FA#§Ó"lqÜæ(zÙ·UœÕ½ò{„—…„Ngû¥íþ?øÙ>„ZJÝ€ÄoâS#ðyêªêšjšâ#ë±ôÚ Ø&ÁF|£¯ÿ7ü_Ãe:r† r»¯²´´ÔÍÍ­¾¾~Ïž=EEEóæÍsss;þ¼››ÛåË—srrFŽieeµk×.BÈÉ“'===£¢¢>þøciF „”••1‚ÏçïÞ½ÛÓÓ³®®n÷îÝ3f̨©©‰‰‰‰‰‰ÑÒÒÅ3nÜ8¡P8lذÂÂBª%:::::úõû*…Ba``à±cÇDÔ¶êêê¾ÿþ{²²²+Vøøø|÷Ýwaaaâ«DEE-[¶lÏž=™™™'Nœ2eÊõë×ßv”òòòÜÜÜX,Ö‘#GÜÜÜŠŠŠ¢¢¢îܹ£®®.*hE#GDD¬]»öÇü믿FŽÙfTÒGGǼ¼¼… nÙ²eðàÁ<˜9s¦··÷Ù³g===ßã_€"ÑM¾2èŒ=x ¼ûKïÓiô7ö™udVö³ìÕ¾«'ØMÐeêÒh´½Ù{7žÛHQ1è ƒÅkäÕ5Õ‰Ÿ÷P« ·ý€ò@‚Éäv­rÅŠEEE[·nõ÷÷×ÒÒ²··ÿå—_„Badd$ÕÁÁÁaïÞ½999S§N …>>>¢’RšV¬XQPP””4~üx6›mdd3nÜ8yíB«Ý)((ؾ}ûøñã{ôèÑ¿ÿ˜˜˜,X° ¼ü“:¨BÑ××7 ;;›º¨øFJÍ>fMIDAT+W®¬©©IJJòóó£öñÀ<ï—-[æå奩©éêêÚÜܬ¯¯/}Tmâñx;wî¤"6lØþýû.\øNƒ(¦³IÐD}öûÎï—Û¿¼ÿ˜cmÆ „‚›ÏoŠ7îÊÚ5jç(P hÜ|~Ó@Ë`Ú°i=5{Òh4BHCsƒxgÏ~žäïiZ”j~uÁË‚÷  Ã Á€dr«*ûí7•ñãÇ‹ZŒíííoÞ¼ùüùsª%88xÕªU)))îîî/^¼X¿~ý;ð믿B>øàñµNŸ>%¯½¡¶ jQWW÷ññáóùüñ‡xOgggÑç>}úBJJJÞ6ì™3g!cÇŽµ 0à]\\dŽªM,ËÑÑQôuРA½zõÊÉÉ)--}§q”‡½±}ÁË‚ÒW¥·Šo=­~êÜǹíuÚím¦c¶ì䲌'œN ¿æà­ƒÉW’Wx¯ Óètº«™k%·r÷µÝÕüêúæú¬¢¬·üc¯h¦ÎúÔõ— .×5ÕåUå->¾¸Õ|-%‡ ’ÉglCCCmm-!D[[ûõ¥?655¥>¯_¿>--íêÕ«?ýô“ŠŠŠô#ÔÖÖjhh°Ùì×;ÈÌëÛ222"„”••‰7ŠÌ`0!o{CICC‡ÃÑÐП¤JÑÕÕ}c‹%sTmÒÑÑiÕbhhXRRRQQabbòNC(‰Ÿ˜UgVÙ=F‡©óå˜/-õ,o—Üú9ˆZjŸh?wÄÜÅ‹©÷­B&ì™0Újô¼óÄûBò–ç‰ÆÔÓÔK™–²óêεg×–¾*í¡ÑÃÎÈîÛ¾i>’ê°#pÇÖ‹[¾ùó–Œ-:LÏ~ží'~›ùí´_¦ 4øÛôßÌtÌv8!=aþoó›Íý úGŽŒÜ{cïÕ«VqVÁƒƒcýcÛ逜Ï;?ëÈ,ÑWjÇ7}°)Ä!¤¶]l+H°­È§ªTWW×ÑÑár¹|>ŸzÎÛ¤§§×ÖÖ4hîܹÒ ­­][[ËápÞVXª¨¨466Š·ˆž$BÍ hswÞ¸-j–©±±q›#¼mX6›Íáp¸\®xaYQ!Õ#°¥ŒJšƒ@yñâ…P(?T†††ï°KʤŸ^¿ƒÿwP¼Å±—£ø Ešq:L•>+Wú¬|ãR]¦îú±ë[5F{þã5Ü=-¾™üxËh«Ñ¶(/ÞVÞ’w @JH°­ Á´"·°“'OnnnnõÑøøx33³ææfêkAAÁÌ™3=züøq&“9iÒ¤ÊÊJéGøðà !­Þ*éää´hÑ"곉‰Iqq±hQYYÙÓ§­ß„«©©)*ºlll¾ûî»7îµ­“'OŠZÎ;Çd2Å篾+jú.5Vdnn®”«K•4R__Ÿ-úú×_•””888àB%¼¹U•±±±–––ŸþùéÓ§kkk_¾|¹k×®¯¾ú*11‘ºöÈår·oßngggnn~äÈ‘’’’   ¦¦&)Gˆµ°°X´hÑÉ“'9ÎóçÏçÎ[ZZ*ª*ÇŒSRR’œœÌåróóó.\øú•·!C†äææ>{ö,33óÉ“'£FzÛîXXXDEE8q‚Ãáäææ~òÉ'¥¥¥IIIÔŒSÙlÚ´©gÏžQQQ©©©\.÷îÝ»3fÌþâ§4QIs!ÚÚÚ+W®ÌÌÌäñx7nÜøôÓO FRR’Ì»ݓܪJCCÃëׯΟ?ŸzMJJʱcÇBBB!óçÏg³ÙwîÜ™4iÒÝ»w«ªª¼¼¼ššš.^¼È`06lØÐæ„ccãìììÐÐÐÈÈH===—êêêK—.™™™Q6lضiÓ&CCÃéÓ§ñÅÆÆÆ/^¼ ÑhË—/§úlß¾}ðàÁ¶¶¶¡¡¡III¶¶¶Ô+"©×Š0™LêušÔ¶¦L™²`Áj[</---<<œ’••%¾JLL !„F£ÅÇÇBœœœÄŸ9$ÎÒÒ233ÓÙÙ9((ÈÈÈ(""bÅŠtúŸ©ÝjäVóu%G%ýA „hiiýë_ÿZ·n‰‰‰‡‡‡®®îùóçñZxW4¡°õkjÛXF;tè¨Òƒ÷7`À>Ÿ_TTÔa[ttt¬ªª=›W4mÇŽþþþí(Öüùóµ´´>üžã”——s¹\ ¬¬,wì(÷÷—Ô:ü^+ü »Á¿ùöfii)}g¹]«i”••õìÙS4é—RXX˜ŸŸïíí­À¨d†ª²£UWWGDD<{ö¬®®îúõë¡¡¡=zôX½zµ¢ãªÊellœ––VSSCÝÊ8qâDkkëëׯ÷ëׯcHLL¤Ñh999ÅÅÅ4º#@fòy_%HÏÇÇÇÇÇGQ[ŽŽŽŽŽn»€tp­d‡ªd‡ªd‡ªd‡§õÈè䃓ßf}ûäÅ“†æBÈ©™§úôWtPò! ÿ,þóø½ãW ¯¿*f«³-zZ|âôÉD»‰4êS[_{òÁÉSO=(Pß\oÌ6vèåînkd«Øà  @‚E‚…Î×*ÚP×Tç³Ë'üH¸xãÍç7£ŽG¹›»g/Ì>?û¼1ÛXQᵇ'/Ÿ„î-¬.Lþ0ùö¢ÛG§íÕ£×’ß—Ä]ˆõ‰;·îì:_kß3agn,¼çw¿ü~àO©¹© Œ:$X$Xèd¹V¹m۶ÇË=Pr{öì9uꔢ£€örûömwwwEG¡¤„Ba‹°¥¥¥E¼ñôÃÓB¡pºótM5M3³Ëó.+*¼vB§ÑwîÐÖÐ&„ôÑé“p©àÒ¾›û–x.aÐTŸ`‡àéæSŸû8o›°mÂÞ ñâýúû)*lè\`‘`¡kxçª2((¨=â%gjjª«««¥¥¥è@ ½¸»»»¹¹): %Åb°.̾Ъ±”SJÑÑÐQDDíÎRÏòѲGâ-jt5¶ÉƒŠ Í ÔIO¬l«µll5T5žÖ< …¢y\ Á$XèÞ¹ªÄUJBˆ E è:Ô«úW…Õ…vFvluöÛúð›øõÍõ àŒÞìë`AÉái=й½ª5dûÑ×E‹æ˜' lâm¨–q6ã’?L&„¼¬{™|%ù\Þ¹rN9[íÜÇ9Ò=ÒÖЖ’š›:'eÕÿløÙm—¶eeÖðk!›>Ø´òôJjѽè{êªêâíí !ýôú=yñDš^g“`#ùüIŸ¥Ÿ™%¡C ¿æë«_§=N+ã”õdö´Ô·œd?)À6àÒ“KoÛ©ì…ÙºLÝ·­¨¡ª!>>·û¨òQbF¢Ë q|¢„HN=2øü?Ÿ_.¸œ‘f¦c&j Þ<èÚé÷ÞIûý`‘`•2O{³´´”¾3ž ]A˜KX‹°å‡k?ˆZn>¿YÎ)÷·õ§¾&f$ׯô^ée饩¦i­o4)I(®K]×j¨·W3W¦ÓÁÄáÑÒGºL])c˜é2óõJjKD1´‡ÄŒÄçµÏWû®ö¶òf1Xú,ýy#æyôóhÕíõ’rÅy#æ=øâÁáXêYNÜ;1ùÊ›/Ôðkfšájæº~ìzÂe†‹ Ð&Ì€€®`„ù;#»”»)‹<é0u!»¯ížá<ƒN£SRsSUh*ÞVÞ¢U ´ ¬õ­ï–Ý-㔉?¶ÞÁÄA¶Ü-Üm lZÅ0uØTU•vÌ´gsÏB<ûyŠ7î ÙÓªÛë;%劄5ºš¥žåWc¿ªâUm¿´Ý©·ÓHó‘âøMü釦[XoØLW¡Ë¶PZH°âH°o„ªºˆ™.3—ü¾dÿŸûçœ_ð² ûYö– [¨E‚FN‡â¸Íñõ _ŠŸô0Õ˜2Ç0}Øô§WˆbÈ,ÊŒˆ—¼ÊûÜöCí—ºª:‹Á’¼•V;%ýŠâ¼­¼Ïæž½wAü¤G Ìÿu¾‘–Ñæñ›E§˜ï³PBH° ÁT•ÐeŒ·Ÿ˜‘¸ïæ¾YÃgýpý‡PÇPÑÿktF¼Þý¥÷[ýY¾& œ´åâQ “M¦^G&Á£¥$w€Ag°ÕÙœ¯‘÷N'²­H=ᆭ¾F¼1æLL£ ñ›¾Xïo½·NÜêØËQæð@Ù Á¶÷ŠH°ÐÙá¾Jè"è4úôaÓ_Ô½øáú'œ˜6lšøÒ±6cBÁÍç7Åweíµs”@(·GØ3èŒÿsú?*†c÷މ^`Ý~ÆôCIÏOoœ°gÂÆsßgÅØó±K~_Òj•Œ'„Á&ƒE-;.ïÈ­ÈÝ´KôÚny…J V àp­ºŽ?N¾’¼õâÖ@û@#-#ñEÑžÑ׊®-;¹l혵Cz´N?<|%9> ^¾\ÿtè§»²vm½¸ÕÇʧ¯n_9ŽüFÑžÑמ^Ûxn£¦š¦‹™ §óMæ7•¼Ê6ØæŠÇï7×5ÿpЇ†Z†ÜŠ·»wl ñÀ‡ªÃÑ¿Žî¸¼ƒ2xË`™·,,€x³È“¢Þ,"!~÷µÝ'>?1Àp@«E5üšWw¦>N-}UÚC£‡‘]¸k8uËí’ÛA?‰wÎ[žG}y!d’ý¤q6ãÄ[!G¦qìõ¿ŠV^u(çÐÁÿ;èÜÇY¾{÷FÔûÊRsSË8e=5{ºôq‰òˆ2×5—°S’W$„p¸§>õàTÁË‚rn¹šŠZ?½~ãlÆMwž.z Zø‘ð yÞ’ø‘°è2ð|eÐ?$X$X¥‚ÌÓÞÞéÍ"¨*@ž^U*ƒ#wŽìÿsÿoÓSt ¤;ü^+¿nòS@‚‘nòo^ð¾JE:xûàçΟ+: €. @9¡ªƒÿäügNÊœº¦º·Ôòkì@  üð´ùHÍMuÚêdm`˜Ô®×èn`”ªJ9q=»ä @ùa,ÈU%ÈU%ÈU%ÈU%ÈU%ÈU%ÈU%ÈNUÑÀ;8ñàDÔ±(BƒÎ¸ÿÅ}E‡ófß_û>îB!ÄHËèÊü+R®Õ)v º°N‘…`A9áZ%@g2Þv|Þò¼æ#ˆ$a®ayËóllßi­N±kÐ…uŠ,„ Ê U%ÈU%ÈU%ÈO뀮Ài›§Óª‘F£]š{ɘmL©á×|}õë´Çi¥¯J5šŽ½g¹ÎÞw8!$57uNÊj•ô9é .\¢«Ðz;­ö]m¦c&ðeÝËä+ÉçòΕsÊÙêlç>Α†¶­ɘ“!>=?¡Êðìçù¥ß—œÎW©_ee±ÔY£-G¯òYÅb°DÃJˆ’ÿ"sú欧Y‚½‘}´WôëG@Bloc“`#hHè ÏÒÏŠÌzÛÒ6¹(øØó±7žßh4;ôrXì±x¨éÐwÚ5P,$X$X€6¡ª€.âÎ’;šjšÔçä+ÉÛ/m_ⱄú¿o%·2x_p}sý¦6¹ôq©äU&f$~öËgÇm qñëï—·ññ¶òÖRײèi±mâ6–ÁW©_UñªÄ× qqêíÄTcŽ4éeéu§ôN5¿Z4HqmñJï•^–^šjšÖúÖI“’„BáºÔu­<Ðx S80ÐZß:ãIÆL—™¶†¶šjšSœ¦˜j›f<Éun3¶ÄŒÄWõ¯Vû­v·p×TÓ´1°IH¨àVˆoQúØÚÉëÇœÂiàD{F5ª©¦9ÈdЖ [šMëÓÖ‹Âns×@© Á"Á¼ªJè n-ºEýM7§4ç‹_8›:o·A´ôlîYBÈhËÑ¢1Â|D}sý¥‚Kâã 6,úlÒÄRÎ)§¾¦æ¦ªÐT¼­¼E ´ ¬õ­ï–Ý-㔉2Èdè³Ûˆ2Ðx ¨Å˜m,SšØ.>¹Hñèç!ê`¨ehÑÓB|‹ÒÇ&G’9E]UÝÁÄAôÕÆÀÆPËðAùêÌFš]…C‚E‚hfÀ@×Qòª$âH„ Ûdçäjt5ª±QÐÈiਫª‹ßiCÑgéB*¹•âlu¶è3ƒÎ „‰P4!Äq›ãëÛ-|Y(>+I‹¡%úL#4º ©Æµ¨ÐTZ„-RÆÖ(hä5òÔUÕEó (z,½‚—âƒH›¸÷¼í‡òÆc.¢£¡C£Ñþ¹¦^·âï…S§Í]åÛflâ`¡»AU ]¯‘~8¼¹¥ywðn¦Ž¨Ag°ÕÙœ¯‘'~nAM2Ð2fpÑC£¯wé}:.¯˜ÛŒAg°,^#¯®©Nüä †_óþ±½ÿm?o;æ"¯?mâEÝ BˆKOš]%‹ fÀ@W h,<¶0ÿEþ×~-šá3ÿ×ù©¹©„1ýÇB.ä_õo4^-¼ª¡ª1Êb””›k3V Ü|~S¼qWÖ®Q;G „’þ -Y›±yöó$Ïe¢Tó«[ý±¹b“Lò1§Ô5Õ=( úú¨òQ·ÂÖÈÖPËH·k pH°H°mBU ꟳuäfã¹éùé?ØèjæúúÒhÏhSmÓ iÎçç5ò ^,:¾¨’W¹Úo55JÑžÑf:fËN.Ëx’ÁiàÔðkÞ:˜|%y…÷Š÷ùãz›±E{Eë0uÖ§®¿\p¹®©.¯*oññÅ­&5µSl’I>æ¦s]꺜Ò~ÿ¯Ò¿–ü¾D®¶ÚwõÖb×@ù …„´Û¯6H¯ý~H°H°J™GÙЄÔÏ@ÊË˹\®„«WWµž·ó>î–Ý ü1ð‹¾™ü_?ò÷+ËRsSË8eL5¦c/ÇYÃg¹õu#„Ü.¹ôsh•¹#æ.öXlg%jm5zwÐnjWw¦>N-}UÚC£‡‘]¸køHó‘oÄÏÚïß>µD{Fë3ìãý‹Z¸/Xà¾@rl”‚— é ™E™Í‚æþý#GFî½±÷jáUBHðààXÿXɱµÉǼ¨º(îB!ÄHË蛾IHO¸Sr§EØ2ØdðÏ%â¯S“f×@Éq¹*ŽŽ{÷–ŽU§èXºµöÈ®  VY!ótKKKé;£ªyj³ªôó3›8‘YÝa!@»ÊÏgŒÛç÷ߟÙÚ6*:–n ÙºdžðNU%fÀ@‡²±i¼wO]ÑQ€ÜܽËPUZZ6):îÙºdeƒª:ÔðáüÌLfSî„è".^Ô2¤žÁÀÔ'Cv…n™GÙ ª€åëË«¯WIMeµÝ”§’–Æ;–§è@Ùºd%„ª:”±q³—ï‡tpO7@pà@–Z` œŸ2@v…î™G ¡ª€Žýòî]Ư¿²¼—ª*úκáá5ÚÚ-ŠŽAv…î™G9¡ª€ŽfmÝøñǯõ¸\¤ €N,1QÍn ÇCG•²+tÈ<Ê I`Ѣꖲx±a þÎÐ9¥¤°e¯ZUÅdbÂ¥Av…® ™Gi¡ªÐÑìÞ]𙩝§èXàݸ¡c0{v5ž–¡l]¡ CæQfôµk×*:è:x<^c£Tï#62ôéÓ§OÍÅ…OÃÃð:‰ìl9sLFâõU%~s•²+tIÈ<¯gÏžÒwVm¿8$›0[W§²f~AZ\\…º:f³(»”öªU>>u‰‰å*˜ð¤¬]¡‹AæQ~4!ž? òS^^Îårßi•«W™‘‘ƽz5­YS5lX};ï©ªŠž˜¨wô(;"¢zÉ’—¸V ü]¡ @æQ KKKé;£Ø1‚Ÿ’ò\OO0eJïÅ‹ Õü§²{·Ž¯¯Ùի̯¿.‹ŽÆ‰]ç€ì 2Oç‚k• O2\«9w޵i“ÞÓ§j..|_ß:'§ú¾}›´µ˜ëÐñ¸\•²2Õ{÷/j¦¥±ZZháá5ááÕxîbg„ì 2Ry§k•¨*@žÞ§ª$„$#ƒuü¸Ö¥Kšµµ8ßP0:]8lXý˜1¼À@^8Þ©!»B'‚Ì£$PU€Â¼gU)"’âbµ§OU_½R 1å £±X-úú+«Fç ] ²+(3d¥‚ªF^U%(žÖU%ÈU%ÈU%ÈU%ÈU%ÈU%ÈU%ÈU%ÈŽ& tV¸V ²CU ²CU ²CU ²CU ²CU ²CU ²CU ²CU ²CU ²CU ²CU ²CU ²CU ²ûx£ÄRÍí­bIEND®B`‚fio-3.39/examples/zbd-rand-write-trim-gc.fio000066400000000000000000000017541476262051600207530ustar00rootroot00000000000000; Using the libaio ioengine, random write to a (zoned) block device. Write ; target zones are chosen randomly among the first 128 zones starting from ; device offset corresponding to the 524th zone of the device (524 x 256 MB). ; For first 3 seconds, run only random write. After that, run random write job ; and garbage collection simulation job in parallel. The garbage collection ; simulation job runs trim workload to reset the 128 zones randomly. Use flow ; option to make the zone resets happen every 128 blocks writes by the other ; job. This example does not specify max_open_zones. The limit of maximum ; open zones is obtained from the target block device. [global] group_reporting zonemode=zbd zonesize=256M direct=1 time_based runtime=30 filename=/dev/sdb offset=524z [warmup] rw=randwrite bs=2M size=128z ioengine=libaio runtime=3 [wjob] wait_for=warmup rw=randwrite bs=2M size=128z ioengine=libaio flow=128 [trimjob] wait_for=warmup rw=randtrim bs=256M size=128z ioengine=psync flow=1 fio-3.39/examples/zbd-rand-write-trim-gc.png000066400000000000000000003143251476262051600207630ustar00rootroot00000000000000‰PNG  IHDRÍj¹ñbKGDÿÿÿ ½§“ IDATxœìÝyXTUðï0새 Šˆ,â¾ ¸.J¹äRš¹d)–[f™hJ¹ûZ¤¦©¹ç†¨©‘&šš¢i.¥™‚"‚ ‹Šˆ¬3÷ýcäÆ8  Ê÷ó<<ï̹çžû;—Ãkó›sÏ‘‚ €ˆˆˆˆˆˆˆèù„éé:"""""""z90É@DDDDDDDZÁ$i“ DDDDDDD¤L2‘V0É@DDDDDDDZÁ$i“ DDDDDDD¤L2‘Vèë:""ªþ+¾·µµÅŽ;*ÔÖÆ±qãF•²µk×ÂÅÅåyB¬VjBéÅ‘;v 22ÉÉÉH$¨]»6ТE Œ5J×!ÑK„I""*S`` ¶mÛ†@£F*ÜV=`nnŽ7ÞxC,{ôèÑsÇX¼(}ÌÍÍÅŒ3ƒ?ü¯½öš®CÒš—¹oå^½z!!!˜2e ¼½½‘œœŒàà`ddd0É@DDZÅ$•©C‡8þ¼VÚrtt„±±±VÚª®^”>®[·ß|ó àèÑ£ÈÊÊ‚žžòIÊÇcÞ¼y€Úµkcß¾}•6¯ù¬¾Õ$ï½÷ÁÁÁ 5hЃ ÒUhDDô’b’ˆˆ¨†j×®ŒŒŒ——OOO•áwïÞÅï¿ÿ°²²ª’x´yÍgõ­¦HIIÁü!¾ïׯŸÊq???DDDTuXDDô’c’ˆˆ¨†òôôÄ­[·˜˜ˆ¶mÛê:­z™û¦©ääd•÷666*ï Ñ­[·ª ‰ˆˆj&ˆˆj¨?ÿüŸ}öÙ3ëXZZbÏž=¥žÿÃ?àÖ­[Édèܹ3ÆŽ KKK•z7nÜÀ?ü€Ë—/C¡P eË–}ºÊ7³°wï^ìß¿áááHOO‡‘‘<øý÷ߎ›7o"33æææpssÃ믿ŽÎ;‹m|óÍ7Ø¿¿J»ëׯGhh(Ξ=‹¼¼<899á£>BóæÍÕâÒVúé',]ºT­|Æ hܸ1ÒÒÒ0dÈ‚€mÛ¶¡~ýúˆŽŽÆ| ÖU[`²¤{Ô³gOµ>ïÛ·µkׯ|€'Nˆå™™™èÑ£ÀÇdzfÍ=zôÛ·oÇÉ“'q÷î]¢iÓ¦6lÚµk§qß5¹¦¦¿ÿgõ­´ßõÖ­[ñ矢  7F@@Ú·oˆˆ„††"11666xýõ×ñæ›ojܯ"%‘áÇcòäÉ*õ^ýuL™2ðøñcìܹ¿ÿþ;’““!“ÉШQ#xyy¡OŸ>Ï|$göìÙW)8p ÔêvìØ‹/V)ËÏÏÇÞ½{qôèQ$$$@.—ÃÎÎ^^^xë­·`nn^î{@DD5„@DD5ÒÁƒgggáØ±câÏòåËâÏ€Äúßÿ½Xnll,øøø?ýô“0gÎAOOO Ô¯__¸víšxNxx¸`bb"¬¬¬„ 6[·nš5k¦r¿þúK£˜/_¾,¬ZµJåÜþýû ü±°oß>¡K—.‚L&AF%èéé 3fÌ8 lذAhÚ´©xÞôéÓÅv£££ÕÚuww¶lÙ"lÚ´I033FFF•+WTbÒfÕâØ¼y³ðèÑ#A!$$D,_´h‘ ‚ððáC!<<\J¥Â?ü üüóÏÝ£’úœ––&‚ œ?^ ËÍÍÍÅ1òï¿ÿŠñ^¼xQ°··®®®ÂîÝ»…™3g ‰D"|õÕWý^5½¦¦¿ÿgõ­¤cÂöíÛ…+VˆcÙÐÐP8p 0eÊáçŸ<==Åú‹/Ö¸_‚ ùùᇄèèh±¯ŽŽŽA*• Ÿ~ú©ðóÏ? 6lš4i"˜›› ‰‰‰¥^óÊ•+jýÜ»w¯xOßxã ±Üßß_åܘ˜ño¥N:Â?ü „†† nnnÁÆÆF8vìX¹îÕ;™d "ª¡<(´iÓF|Ÿ‘‘!899‰<ÜÜÜ„ˆÇ‹'7nÜÿÀÒ©S'A”~ëÔ©#–/[¶L¬¿eË– %AÎ;§rî˜1cÄc'Ož“ }úôTÎ={ö¬xžžžž’’Rj»»ví :T,Ÿ0a‚X^}T(â‡K¼yóÄcmÚ´Ë›7o.–oܸQpqq)÷=zº^ÑqA„üQ,·²²R‹3''GpppëlÚ´I<Ö¼ys±ü×_ըߚ\S[}{úØ/¿ü"kݺµXÞµkW±|óæÍb¹£££Æ}ªÈÉÍÍUŸ~ú©J›ÑÑÑáúõëϼö³îÁ¤I“JL2äåå Mš4}ûí·â±#GŽˆåµjÕzf’ƒˆˆj¬|\‚ˆ¨†êر#Ö®] Ëåxë­·pãÆ Ê•ý÷ïßÚµk—x®……7n,¾oÛ¶-vïÞ 8{ö,nÞ¼‰‹/âþýûbÖ­[‹¯ÝÝÝKl÷êÕ«øðÃÕÊûôéƒO?ý´ÄsFŽ)¾öðð•øê«¯püøqŒ;‰‰‰ÈÍÍE~~¾XW¡PàÖ­[jÏ©—c½zõÄ×E÷"""´ÞG‰D‚wÞy_}õ`Ó¦M Â¥K—píÚ5q1ëW¯âܹsðððÀ¦M›ž¹ ai÷èy>|Xܵ€Ê#...¸zõ*àûᅦ¿¿…~·šÐFߊ¯ÙP|ÁÉÒÊ P( §§Wf¿*2F"""/¾÷óóS9Þ¤IDFF¢Aƒô®|>Œ˜˜ñ}ñ{PüuVV6oÞŒéÓ§k=""z±1É@DTCYZZŠë'|úé§8rä@OOÛ¶mC“&MJ=÷éäÃÓÏgÇÇÇãÖ­[¥Ö±°°(±Ý‡Š» ÷ôÅ9::НŒŒÐµkWäååaüøñâóûC† Á„  P(TVØW(¥¶[«V-ñµD"_Н+«ï¼óæÌ™Aƒ³gÏbÇŽèß¿? víÚ@™€¨W¯Nœ8 6”Ú—’îÑóŠUy?qâD˜™™¢¢¢Äò¢­O+ò»Õ„6úfhh(¾.¾ Eiå …BL2”Õ¯ŠŒ‘§ïmݺuÕêxyy•xîó*ž`Tã-þ7ÑÑÑ•½Ø˜d "ªá~üñG„„„ˆïçÏŸÞ½{?óœâ3ÕÞ “É`jjZj‚‚‚І«F&“©•íÝ»WL0XYYaË–-000Àƒ´v]•ÖGgggx{{ãäÉ“€µk×bÿþýظq# Å$ÃöíÛaaaîÝ»£Q£F¥¶WÒ=z^O÷}ôèÑ%.Š)•Jµ~íâ*£oÚT‘1R”¬)’——÷ÌkýwþtÒˆˆ`’ˆ¨F;þ<Þÿ}ñýСC1mÚ4Êo)§OŸ^âîééé(((WªOJJÉd2´jÕJmåû¤¤$xxx¨Õ/®yóæ8vì˜Z¹]¹ú•ššªrnQœ¹¹¹åj§,žžž*ïµÙÇQ£F‰I†uëÖÁÖÖ½zõ‚ °¶¶FZZîÝ»‡Å‹‹½h“‘‘‘øºøŒ___|öÙgj[Ö­[WÜ ¢èœþýûÃßß]»vÕ¨ße]Óßßÿ¹úTÊêWEÆH= ‘H åßb—.]Äã±±±ÀܹsáííyóæaåÊ•”‰€mÛ¶U¸?¾¾¾J¥ËåeÆÛ«W¯ _‡ˆˆ^^zeW!"¢—ÑÝ»w1pà@ñƒ·»»;Ö¯_/ÏÊÊÂéÓ§K<·  [¶l œ_|KÀ   ˜˜˜ uëÖ8p Xþã?ŠšÖ­[Wb»æææèÑ£‡Ú››[¹úVüY÷ØØX$''ÂÂÂÊÕNY*³C† ¿#FŒ€T*…¾¾>Þ~ûm±ž‘‘Þxã ­ö š6m*¾ÎÌÌDvv6þþûo=zÖÖÖh֬ƌ#ÖYºt)>|@™ ˜7oŽ= û]Ö5«£²úU‘1âêꪲµå·ß~‹ŒŒ ÊYD³gÏÆ­[·Ð¡Cªd_Ë¡"œœœ$¾ß¼y³˜ðÙ´i“X>hÐ •GˆˆˆD:\u’ˆˆtèã?VYy¾yóæB÷îÝÅwwwÁÆÆFA3fŒàêê*Öµµµ(´iÓF¨[·®¸åà‚ …B!^#;;[;v¬ ¯¯/7n,4kÖL=z´ÊµÛ·o/|ýõ×eÆüõ×_ îîî*çzzz o½õ–ZÝiÓ¦ R©TÜ©ÀÛÛ[˜0a‚ʹíÚµ,XPj»§OŸÆ/4hÐ@,¯S§ŽÐ½{w!99¹RúXÜðáÃÅó‹oyþüy±üÝwß­Ð=*­Þ† Ä:‚D"ÎÎ΂•••(/,,æÏŸ/ØØØ„Úµk ;vìíí…Î; §N*W˺¦6úVÚ±óçÏ ,,,Är{{{aÊ”)ÂŽ;„V­Z©œÓ­[7aÏž=õIÓ1ò÷ß‹ç( aÅŠâŽ/fffB‡ÁÇÇGˆ‹‹ëFDD‚D"Ö¯_ÿÌ{ É˜ånEÛX:88ˆÛmÖ¯__X¸p¡PPPPîß-Õ;%‚ð$NDD5Êõë×K®]ÄÐОžž8þ<=z$–£sçÎHJJ­[·`jjŠæÍ›«,”W\VV¢¢¢ ÜÜÜ`jjª6K¢~ýúÏ\lP.Jwçεò¢xž–‘‘¸¸8Ô©S5‚žž"##UêØÚÚBOO¯Äv[µj…„„dffªëܹ³Ê#!ÚêcqwîÜALL Ôú;yò$är9š6mªò ¾¦÷¨´zŽŽŽ*‹)¦¥¥!..r¹NNN%>º"âââšš SSS4hÐà¹f”vMmô-??¿ÄcmÚ´ATT”Úz#uêÔ¥¥%âââÔÎquu-×O‘ÌÌL•{'''µónß¾¤¤$ÀÁÁ¡Ä{{ûömäåå‰ N–vÊ3¦ 99 Ëå°µµ-1>""¢b˜d """ªDßÿ==z¤¶Uç‘#GгgOÊÔíÛ·Uv± ""z…ñ_2"""¢J‡ àÊ•+bÙýû÷±páBÊí1—.]ʽ¸»Q%1bÒÒÒàíí  &&ÙÙÙðòòÂW_}%.IDDô¢ããDDDDDDD¤ |\‚ˆˆˆˆˆˆˆ´ƒI"""""""Ò &ˆˆˆˆˆˆˆH+˜d """""""­`’ˆˆˆˆˆˆˆ´‚I"""""""Ò &ˆˆˆˆˆˆˆH+˜d """""""­`’ˆˆˆˆˆˆˆ´‚I"""""""Ò &ˆˆˆˆˆˆˆH+˜d """""""­`’ˆˆˆˆˆˆˆ´‚I"""""""Ò &ˆˆˆˆˆˆˆH+˜d """""""­`’ˆˆˆˆˆˆˆ´B_×QÅÄÅÅé:""zAØØØÀÌÌL×aQ À™ DDDDDDD¤L2‘V0É@DDDDDDDZÁ$i“ DDDDDDD¤L2‘V0É@DDDDDDDZÁ$i“ DDDDDDD¤úº€ˆˆª¯ôpýº!>”"?_¢ëpˆ^††ÌÍåpu͇……B×ái “ DD¤âúuC„…Õ±c2ܼi ëpˆ^zÀÇ'o¾™W×|]‡CDDô\˜d ""À­[˜?ß ¿ý&C£Fð÷ÏFçÎ9psËG:r º‘襑Ÿ/ÁýûRDGâÌ:$úuðõÍFPP5*ÐuˆDDD"ÿÕHDôŠ‹‹ÓJ;yy,_n‰õëkÃѱӦe [·Çðé¢*#À‰¦X´È ññ=:&܃‘ÿ3´ÃÆÆfffºƒˆ^~aL2½ ´‘dÈÈ"0Ðqq†øøã{6ì!¤Rþ³@¤+r¹Û¶™#$ÄÎÎùXµ*VVr]‡E/&ˆ¨Š„qw "¢êúuC¼ñ†=îÝ“",,#Gf2Á@¤cR©€‘#3–ˆ{÷¤xã {\¿n¨ë°ˆˆˆ4Æ$Q ”œ¬Q£êÃÖ¶»w'ÁÙ™ÏU'ÎÎؽ; ¶¶…5ª>’“¹Œ½˜d "ªarr$øè#[Ôª%Çš5ɰ°àTl¢êÈÂBŽuë’Q§Žï¿o‹ÇùŸmDDTýñ_+"¢&(¨’’ô±n]2Ìͺ‡ˆžA&S`õêd¤¦êcÆ k]‡CDDT&&ˆˆj³gMðóÏfX´(öö…º‡ˆ4`o_ˆE‹RñóÏf8{ÖD×á=“ DD5„\Ì™S>>ÙèÑã±®Ã!¢rèÑã1||#8¸.ärî/KDDÕ“ DD5Dxx-ÄÆ ((CסQ¥ãæM„‡sB""ª¾˜d "ª!¶m3GÏžÙptäND/"GÇôì™íÛÍu Q©˜d "ªÒÒ¤øë/c øHסÑs0à.^4FzºTס•ˆI"¢àìYèé èÒ…k1½È<=COOàDDTm1É@DT\»f'§˜˜º…ˆžƒ‰‰'§DGê:""¢éë:""ª|iiú°³ã–•ƒÞ½{«•Ïž=#GŽ„B¡€··7RSS1sæL¼ûV­Z!''àéé‰Õ«WãçŸƾ}ûôôt£AƒðôôD@@lmmk×®ÅÂ… U®÷í·ß">>»víBrr2är9ÆŒƒuëÖ©Ô›1cþùçDFFâáǰ²²‚¿¿?>ýôS„‡‡ãÇD\\d2Ú¶m‹éÓ§£qãÆ€¹sçbãÆ*í?~öööxï½÷pòäI±¼}ûö -õ¼9sæ`×®]ˆŽŽ†D"««+†Ž7Þx£|¿Rak[ˆ´4þ'UOœÉ@DTääH`b¢Ðu/¬&Mš ::õêÕË‚‚‚0räH@dd$RSS{öìëüóÏ?pvvÆ‚ °yóflݺAAAèÙ³'"""pöìYŒ;111ظq#ˆ “ÿ¦Å/[¶ úúúØ·oæÎ èÛ·¯Z½ 6`ìØ±ˆˆˆ€››îÞ½‹Í›7£gÏžHNNÆöíÛñÅ_àÞ½{8zô(!—Ë3gÎÄ¡C‡J¼6lÀ|Pâ±’Îûé§Ÿ°råJ:tŽŽŽ¸|ù2¦M›†Å‹kvã©D¦¦ dgsK""ªž˜d "ªð3És‘J¥0`€ø¾x2a÷îÝâë«W¯"::péÒ%$%%áµ×^{xxàÝwß…L&ƒ……Æ@ZZ>\j õêÕC`` j×®ÁƒâÄz#FŒ@³fÍ`aa///±>^Ã;¡¹ÀÀ@ØØØ Aƒ;v¬X¾víZܸqCë׫)$åß4QuÄ$‘† $¾¾ví¢¢¢••…#GŽÀÙÙYfffèÔ©“øþàÁƒÈÉÉÁÑ£GqêÔ)ÛYµjîÞ½‹;wî¨l³'''­ÆLDDDÕ“ DDDåT•eùòkÍêššJàªqÛÅiò»,rùò}\¸pr´mk‰ŽëªÕàâÅ DG?ÄÇùpt4C¶06––ëšå?DDDT5¸ð#UªððD,[…ÂB…Jù† qèÖí6oŽÃ½{¹¸téÞ~û†?‰Œ Õçûøá:ºw?„mÛnâÁƒ<œ9“†þýaòäsÈÏWm·èz6ÄbáÂ+¸{7ÞÁ ADZfMŒJ]AfÍúýúů¿&!##»v݈‘زåV¬¸¦qÊsÝòö©º(­ïEæÍû_}))qî\† ;‰±cÿ@n®\¬›…W_=‚‰ÿD\\RRr1þøøD **Sãk–güQÕáÂDDT)œkaâĦ¸zõnÜÈR9öóω˜7ï2ú÷oˆÿý¯=ôô”ßPŸ?Ÿ·ß>qãÎ 4´;$`ÿþÛX´è úõ³Ç7ßx h) ýûocÊ”ó°³3Á´i-Õ®—žž‡uë<(“ }ûþ†eË®á½÷\`` Ì±oÝzÛ¶ÝÄàÁŽX° ßI˜8ñOêaâĦbyIý©Èu5íSY&LhZfmxÖï²Hjj.d2}lÚä%–­YƒÅ‹ÿÅ’%ÿbæÌÖ€„„Gxð ¿þê‡:u Ó¦µÄë¯ÅäÉçðë¯~H´7~ˆˆˆ¨jq&U¹¢oö?úÈMü€:XÁÓ³.^¼‡sçÒŸÔUn8~|S•¯¿Þ66ÆØ²å Ô¿Y<¸‘øZ"Úµ³Dn®wîäˆå?þxØDåÜÞ½ ~}Ó õM“ëV´OÕ™ @íqŒQ£œab"ÅŽñâìŒÆk!8¸˜`)z÷n€¸¸¬R“Å•güQÕâL""ªRr¹€k×2!•Jàèh¦vÜÉÉ §N¥âß3Ѿ½¢£3¡§'Axx¢ÚŽFR©rr䈎~ˆ–--TŽ=$¨][ù¡öñãB1Ž7² •Jа¡zBÁÞÞéé¹åîŸ&×­hŸžVUk2hÂÒÒffªÿYad$Eýú¦ˆ‹È’ô? IDATËBBB6\\j¡qc3Ô«gŒ_MBJJ.>Ì ÁåË÷ii¹pv®UêuÊ3~JZ‚ˆˆˆ*g2P…mÙ²‰¤Äooo]‡§3ÁÁÁj÷ãï¿ÿÖuXD/ å§gåßQÉ[&¿ùf#LœØ ææjÇôžó_8…BÃOï¸nEûT•ÕþôS:w>ˆ ®àæÍ,µ$‰\^±û®N[íQyp&U؈#0bÄbõêÕ©TŠÂÂBG¦[ÁÁÁ „®C!ª–¤R š6­¨¨LÄÇ?‚““ê·ÖqqÊéò-ZX@*•ÀÍÍQQ™9ÒIeŠ=ÄÄUÕš š¸w/¹¹r•"òò”‰˜˜èÃÁA…BÀìÙCOO‚_~ñU™ù°aC,NžL-ó:å?DDDTõ8“ˆˆªÜûï+×@X±"ZeÆÀùóøã4¸»[ÂÃC9Õ}Ü87À÷ßG«´‘—'ǬY‹Sç+bäH'ÀêÕ×UÊ÷í»´´ò?*¡©Êì“®(6nŒU)Û´)99…:ÔzH$04”BµÝ"®\y ñµÊ3~ˆˆˆ¨jq&UЏ¸,üòKnÜx@ù°E øû×G¿~öHKËÅ’%ÿâæÍGèÐÁ ii¹8tè<<êbùòŽâôúÞ½ -­5/þ.dÀÝÝ r¹€£GS`ggŒùóÝ))9عó–Êõºt±F—.ÖX¶ìΟÏlÛvVxýõ†6Ì ×¯gaË–¸q# mÛÖARR äð𨋿ÿ¾WfÚ´©SîëjÚ§ªvñâ=DF¦"--99r,[v V¨Wϸľ[[‹õëÕ3Ƶk1zôi4ibޏ¸,;–‚W^±Å'Ÿ4 |dbÚ´˜9óoôí{~~v05ÕÇåË÷Ÿ¬Í |œâöíÇðð°ÒÊø!""¢ªÅ$Uª¾}íK,=Úýû7ĉw‘’’ ;;Œå‚¶më¨Õ5ÊýúÙãĉT$'çÀÜÜýúÙ£];K¯çåU^^õTÊ$ 8¸ ÞzËgΤ£°P®]màåUo¾ù»ÊÔÿ²Ú/ÏuËÛ§ª6l˜S‰å¥õqØ0'˜™écôhœ;—Ë—ïÃÒÒ®èÔIuFÁàÁŽèÚÕ'OÞEzz>j×6ÀÛo7FFFNœ¸«ñ5Ë3~ˆˆˆ¨êHAÓu©Ki@"Ahh(† ¢­˜èS‘5Ο?œ‚¾¾jþkûöíX¶l._¾ …B–-["00*õ>øà¬Zµª\×(‘½{÷båÊ•8{ö,òòòàää„)S¦`̘1j}Ñ$¶¿þú mÛ¶ÕànÒËfðàÁ€°°0­·§qÝ lË—«ˆ«É?–cçÎx¼û®³J¹\. sçppa÷îº ލü{¦Š°±±™™úŽ,DDZÆ5¨ÊmÞ¼;wƶmÛЬY3$''cïÞ½øë¯¿0yòdôíÛW%QñÕW_aذa8sæ š4i‚¨¨(ìÝ»›6mRi÷¯¿þ 幯ªU«pîÜ9•¶–.]Šõë×ãòå˰¶¶ÆÕ«W€ððp•zšÆFDÕSvvæÍ»ŒÿU]`çÎxÜ¿Ÿ·Þj¬£Èˆˆˆˆ^LL2P•JKKÇ~¹\7n,--áëë À¡C‡°víZ@bb"æÌ™#žÿÉ'ŸÀÑÑ 4@PPV®Q’Y³f¡Aƒppp@Ïž=Åò½{÷Н+U/2™Ú··Âðá'1}ú_X´è ÆŒ9Ù³/áÝw1dH#]‡HDDDôBa’ªTDD²³ÿÛ®~ýúâë ˆ¯·oßøí·ßTf58;ÿ7¥ÙÕÕU+×(‰‹‹‹øºV­ÿ¶GKJJ_W$6"ª^LM¥Ø±£BC»ÃÃà µkÂ××~˜9³µ®Ã#"""zápáGªR)))*ï;uêTb½¨¨(@zzºJ¹±±±øZ&“iå%)~âŠ/aR‘؈¨zrs3‡››¹®Ã """záq&U©zõTWX?yò$APûIMMÔ­«º*yNNŽøºøl…ç¹FEU$6"""""¢—“ T%&OžŒ W¯^*ßø_¹rE¥^vv6jÕª…Y³f|}}Uvš(¾šþõë×K¼Vy¯QQ‰ˆˆˆˆˆèeÆ$U)„„„@"‘æÏŸ'N ''111:t(ììì0qâD€½½=¾øâ ñü¯¿þñññ¸sçæÏŸ¯•kTTEb#"""""z™1É@¶eËH$¬^½Z,“ËåH$j?K—.ëâäÉ“>þ™±5J¥½víÚ!00°‚wšˆˆˆˆˆèÅ НdW‘$„††bÈ!ÚŠ‰H#±±±*»8ܹsvvv:ŒˆHÝàÁƒaaaZo»ø#:e™0Á°|ù]­ÇADU‹ÏT666033ÓuDôò ãLªö¦NŠaÆ©•_¼xQ|Ý¡C&ˆˆˆˆˆˆtŒIz!ìܹßÿ=îÝ»‡¬¬,9rŸþ9å£ ëׯ×q„DDDDDD¤_v"Ýš5kZ´h°°0,Z´wîܱ±1\]]1lØ0Lš4 ÖÖÖº“ˆžòKÔ/Øzq+ÀÒÔß üNÇ=Ÿ¸Œ8ˆ:€¨Ô(ääÀÎÜmê·ÁÀ–a(5ëåæbtèhñ½D"Áâ>‹Ñ vƒg¶¿ïß}ý;T|?¤Í h9@û!"""ªDL2PµgnnŽ÷Þ{ï½÷ž®C!¢rpoàŽº²º˜~`:nÝ¿¥ëpžË’ß—`իЫI/ônÖf†f¸’ró›å‘˱ñ­p©ë0Ð3À¤®“pëþ- ¬>³_ùUjû…ŠB,ù} ’&ÃËÑ z~ûÚöUÒ7""""mb’ˆˆ*…¹ìÌí 3’!¯0O×á<—Œì twꎕƒVŠe=œ{ i½¦Üˆ/}í÷¤zRtrèscsH `(5Į˻ð‘×G°1³)±ýÝÿìFNA ®¬.:9tªüNU®É@DDT†±ÆbΫsÔÊ_qyR\Lºˆ’6kÒ×ÓÇ÷È—çcÍ™5%¶-äXõÇ*Œö]âq"""¢ “ DDDep²rB}óú%S Ô5­ ‰DRâñ1ÇÀÄÀ¡‡"=;]íøþ÷ö–-::tÔjÌDDDDºÀÇ%ˆˆ¨JäæâÇ ?âüíó(T¢Mý6x§ý;°0±P©÷Ç­?pàÚÜɼ#}#´·o-ÂÒÔR£ëŒÜ>r…\£º&*@”×ñ@®c¸ûðRëXšZbhÛ¡ØpnÖý¹Ó^™&S |ÿÇ÷˜å7«Â1U'L2Q¥+Tâƒ] “C'¼Õö-ÜȸïN‡]—waLjâ,õçÖcѱEx¿Óûðsõã¼GØrq –ü¾a#ÃÐÒ¶e™×šà=¡ÄGJb 5x®>}sâ´±kƒ±Æ>³îØNc±í¯mØzq+>èü˜X9píjÖ‚wcoœO<_áXˆˆˆˆª &ˆˆ¨Òe<ÎÀ6CЧY€‹œ­œ1v×XÌŽ˜Þü°ý¯ípoàŽOº"žëëê‹î+»#;?[£kulXù(¦˜ŽÇ±uØÖ2“õÌêáÍVobë_[±þÜzLé6‚ `å镘Ú}j¥ÇKDDDTU¸&U:©ž¯6}U¥ì—W`abßã~GV^À¾¶=þIþûÿÝyÀX߇nD³zͪ<îÒÌøu®Þ½Š­Ã¶ÂÊÔJ£s>èòôõô±ùÂf<Ì}ˆˆ˜H%Rø¸øTr´DDDDUG+3ƇO>ù¤ìŠDU,##fff022Òu(TCeddÀÕÕU×a蜕©¤©Z¹m-[<Èy€;ïÀÍÚ _÷ûÿûý˜ñë ÌŠ˜…¶õÛ¢³Cg h9æÆæ]«²×d9‚s ç°cÄ Pß¼>µ„—vbÓùM8rýÆ{/×µ‰ˆˆˆª;>.A/µœœH¥R&ˆt,_ž_bù£¼GSSÊE¼¶_öúÿ$ÿƒãqDZéÂ&¬8½+®@7§ne^«2×d½Š=Wö tD(êÊêŠåS~ž‚»|—º.Ï<\—qØýÏn¬üc%ë8¢W“^åº>Qu§•$Ã÷ß!C†h£)"­’H$@HHˆ®C¡jðàÁº¡ZxóiÒ`mf-–¥g§#%+õÌêÁ¾¶=`ì®±˜ÿê|X›Y£½}{´·o‘íGÂk…6œÛ Q’¡²Öd8{ KO.Å–··¨mgùwÒßx”ÿ¨Ì6Z4D¿æý°÷Ê^|èùa©Û^½¨8“ˆˆ*T"ż߿aQŸE0Ò7B¼sÌE¡¢ã½Æ‹¶Ïß>ÕgVcºïtññŠØôX‚ öÁ¾*]N¾Œ‰û&ÂÊÔ 3©vü·5ËoÆt7k7m†HDDDT-0É@DD•â—¨_°õâVÄß‹G]Y]ttèßÕ¾°6³FÂýäËó1í•iÖn˜xÎÔS±ùüfì_¾ÈÊËÂí·Ñ¿EL{ešÎúòÝ©ïSƒÄÌD$f&–YôÎѸ÷øò ó0lë0´©ßFŒßÜØ\m}‰a[‡‰‹_Fތİ­Ãð®Ç»|œ‚ˆˆˆ^8L2Q¥poà.®[`(5D»í0¨Õ ĦÇB®£‰u˜˜¨œ3¼Ýp o73”™#}#Ø×¶‡ÌP¦‹.ˆ>éþ ÆtóÌ:.Vÿ­Ç0®Ë8(…ø¾¶qígž;©ë$µ2GKÇòIDDDT 0É@DD•ÂÎÜvæv*eÆúÆhiÛ²Ìs­L­ÊµsCe+ï£  =ÊU¿“C§rÕ'"""ª®ôt½˜d """""""­`’¡šÛ½{7àà`ØÚÚÂÞÞ^Ë‘•b÷n ‚c§OÁÁ€­-À1KDDDDôÂáš ÕØãÇ1xð`˜ššâÑ£²÷_š§§'<==±wï^¤§§WB„DOyü<05*0fáé©üÙ»à˜%""""zá0ÉP™šš"44¦¦¦º…H3¦¦@h¨ò‰ˆˆˆˆ¨Æa’¡š|R©;w†‡Ç[8qG888`ôèÑ€ØØXlÙ²€rÆÁgŸ}Vjû×®]áC‡`hh4iÒpáÂ?~fffðó󃳳³x^LL ¶mÛ¦ÒŽ¾¾ê¯+55‡ÂíÛ·!“ÉйsgtêôìmÐÎ;‡ÈÈH S§NèÞ½»ZÌÌLzy³DDDDDU®Æ.ü¸cÇ|ùå—øöÛoñé§Ÿ")) aaaèØ±#/^¬VþüùX¿~½Zùš5kJ¬_ÔþÒ¥K1cÆ ¤¤¤`íÚµhÞ¼9BCCŒ¹sç"99K—.EË–-ñÛo¿•ÚNaa¡JyHH5j„åË—#==gÏžE÷îÝñÊ+¯ 55µÄ>üñÇ BRRNœ8=z oß¾ÈÉÉë9röööX±b222¸»»#..®ÌûJ%¸røòK`×.Õòýû•‰MíØ¡lçÛoO?’’€°0 cG „1ˆùó•Iާ­YSrý¢ö—.fÌRR€µkæÍ•@sçÉÉÊ:-[%ŒY±§Æ,BB€F€åË•ë-œ=«L¼òŠ2ùP’?‚‚”}=qèÑèÛ(6fqäˆr‘È+€Œ *J™qw8f‰ˆˆˆˆª”Dá¹HŠ!C†h+¦*1`ÀìÛ·S§NÅÿþ÷?€ hÓ¦ bccñàÁŠõÍÌÌжm[DFFª´Ó¡CÄÇÇ«-¬XÔþ矎 ²³³aooAðÉ'Ÿà‹/¾›7o†žž2W‰nݺ¡K—.ˆŒŒ„D"´mÛ—/_ÆÌ™3ñÕW_‰m/^¼Ó¦MäI“ðí·ßÚ·oApáÂñü„„4oÞáááèÑ£G…ï¹.H$Lž<!!!º B.z÷V~þåàÕW“'÷ßN,-5kgÀ`ß>`êTàɘ… mÚ(g)Åý9¼ûî»âk™L†–-["33S|ì,,,дiS\»vM£6-Zøâ‹/Äx{{Ã××§OŸÆ‰'TÎS§NU)›8q"d2Ö¬Yƒ¼¼<€\.Grr²JÿGGG⣧H¥Êo÷œ€¡Cˆà½÷”34M0WlÌB"Q~@ÏÉQ},ãy³É”323ÿ{ì,,€¦M•UhâɘÅ_ü—`ooÀ×W¹uåSc‚ L¨7q¢2¦5k€'cr¹rvEñþ;8(gNpÌU©Ÿdhذ¡Êû:uê@…¶Œ,‰½½½Ê{™L===Ô¯__¥ÜÌÌL£kÊår\¾|úúúpuuU;Þ´iSÀÅ‹UÊ­­­ann®Rfll äääˆßˆ®^½fffpuuÅ«¯¾Š àÌ™3;v,“ Ï£Nå·û …r*ÿ—_-ZT¬­§Æ,žŒÙ mY’§Æ,d2ebà©1 33Í®)—+g%èë%ŒY<³xjÌÂÚxjÌÂØX™@ÈÉùïQˆÕ«•±¸º*g‰,Xœ9ŒË$Q«ñI©Tú\ç?½V‚&íK$ñQ„ÊòtûÅg<Wô´LQýN:!&&GE×®]Ž.]º mÛ¶\“áy99)ôô€T~ø®ˆç³jk%hÒ¾Dòߣ•åéöK³(z«¨~§NÊE'ºvU>"Ñ¥‹ò‘ ŽÙj)<*. ]à²ÐÍÿ×\×á¼°ŽÇ‡ßj?¸-vÓu(DDDD¢ŸdДL&Cff¦Zybbb•Æ!•JѺukâúõëjÇ£¢¢íÚµS)OKKSYàrss‘SSSqg‹… ";;ÞÞÞ˜1cN:…£GâÒ¥K˜6mZ%õª†3èÓX¸P¹ÃBÑî•E&S>æð´*³J•»j%ŒY<³xjÌ"-MuGÈÍU>ajúßÎ *׎ðöV.Xyê”2ápé’rýªvú6ë‹ØÏcáéè©vìqÁcø®öÅØ]cuÙ‹!áAÞßõ>–ü¾éÓË>ˆˆˆ¨ 1É ¡&MšàúõëÈÈÈËvî܉û÷ïWy,EöçÌ™…B!–GFFâèÑ£ðôôD·nÝTÎQ(Xºt©JÙ²eËðøñc¼ÿþûâ"— .Ä®§vA(z,C^ÑoÞI¹&AV0gŽrgˆ‘#o¾Q.‚XYš4Q~¨/6f±s' ƒ1+~ØŸ3GùÈH‘ÈHeBÀÓS¹dq …r‹â–-?V.šY´ÈåÂ…ê;w=–Á1û A¡òÿmºÖêëVxkË[ºCr"î ܱï½}Èt‘ ý²«¼\±víZq‘ŹsçÂÇÇ>>>wXµjºuë†aÆfΜ‰þýûÃËË }ûöÅÝ»w¡¯¯víÚáêÕ«†··7š6mZbûM›6Åš5k …Bàà`øùùÁÁÁëׯG||<òóóŒ=z}”ÛséÝ7N¹%¨››röƾ}Êí29f_82CŽÓuÕÚ‚Þ `¬o¬ë0ˆˆˆˆJTã’ E†Zb¹ŸŸüüüÔÊýýýqõêU9r<Àk¯½___¬Y³wîÜѸý#F”X^|Š’<½ÆÂ”)S0bÄüúë¯HLLDÆ 1qâDtîÜYíÜÀÀ@˜››cÊ”)8qâÎ;kkkL:U-™±mÛ6$%%áÔ©S¸uëêׯþýûÃÏÏï¹×¯¨±ÌÌ”Óø‹32R~à.RÆüü”?Oó÷W&ŽQn9ùÚkÊÖ¬J³¥¶_ʘEcVm…)S”mýú«2qÒ°¡2ñR˜E` rÑÇ)S”»Nœ;§\rêTõdƶm@R’ò1‰[·” Töﯼ'³ôb‚ˆˆˆª3‰P´ò_EHŠ!C†h+¦måÊ•5jd2åX???üùçŸxøð¡Ž#{1I$Lž<!!!ºååµr%0j”r @ùáþÏ?ŽYÀàÁƒaaaZo»<‹±N˜`X¾ü®Öã(K\Fþwü8“pr…-lZ`j©X¹ çoŸÇÕO¯ÇƸ=ãÄóþú/ŒôÔÊ#ÆF ädþ¸õä<œ›tuLêàÞã{øîÔwø-ö7Üͺ‹ZFµàÑм' Y½f*q=Èy€§WàÈõ#HÉJ¥‰%œë:£‹þèÓ¬¶\Ø‚…ǪõGª'EôgÑeöÛm±ä ÍÙ©+«‹3ÎhT·8¯ï¼þ8]£xèå¡Ë¿gzqÙØØÀÌÌL×aÑË/¬ÆÎd¨®V®\‰&MšÀÏÏyyy¸téºté¢ë°ˆJ·r¥rý?? /OùˆÇ,=qëþ- þq0LôMðÝ€ïànïŽÛncÁÑH¸Ÿ R·g“žˆý<»qäú‘RËgþ:“ºNÂâ>‹“ƒ!?*“Ü©R1øÇÁÈ+ÌÃÂÞ ÑÑ¡#’2“0ûÐl¼¹ùMly{ Ú5P.0šö(MYWž‡y¯ÎC'‡NÈ)ÈAè¥PLûeæ>D@§t @«¯[¡¹Ms„Ž-WßùÁŸˆˆˆj".üXÍ´oßï¼óŽø(ƒ¾¾>¾ùæ]‡ETºöíwÞùïQ}}墖D–ü¾s⋞_À»±7L Láfí†Å}#õQj…Úü ËèäÐ &&hc×ÑŸE£ŽI,ù} ’2“ä„Î=`j` ׺®XÚ)AÀ—‡¿T‰+13_ø}È e¨+«‹[ìšØ5‰QlØKì-" ˆˆ€€€€€Röýƒ—ÕuA–uî\^†9sæ|gÎ"œ9SX°`Ae‡"¼§z÷î]Ù!‚ ‚ Â#v—AAA¡BˆNAAAA*„èdAAA¡BˆNAAAA*„èdAAA¡BˆNAA„·LTÔB ÄþýûÉËË«ìpAAFt2‚ ‚ ¼e ——‡¿¿?mÚ´aþüùÄÄÄTvX‚ ‚ :^·ÌÌLêÔ©ƒŸŸ_e‡RaÞÅ:½O.D_ÀdŒ s‚çTv(æ]¬“ «˜›wdÓ¦Mœ8q‚²gÏÚµkÇСC ­ìðA„÷˜èdxͤR)Tv(e¢¯¯OË–-‹=ö¶ÖI(T -Ý÷ÅÅè‹H†H˜²kJ±Ç߯: ‚ T+++† FHH‹/&66–>úˆo¿ý–èèèÊOAxiTvï:"##+;Œ õ.Öé}âåèEZ`Ze‡Q¡ÞÅ:½K¤R)S‚§°íÚ6Z:¶¤¾E}ò ò9{ï,±c¹2ö —\æÔÝSl¾²u‰:§G®äÈ…×w0iÿ$N<…¾…Âñð¤p‚ÂùëÆ_$f&rë»[U*>e•T·é3©®®NçÎ騱#ûöícñâÅtêÔ‰Þ½{3~üxŒ+;DAá=!:A„×joè^¶]ÛÆØÖcé3R–žWÇÚóke_{ØxàaãÁ¡ˆC¤-;WCC£Øz¿ªN%Ťê}yÓöÝØGóYÍÑ¡‹±¿1ÝwãvÂm4†i "A2DÂÆseù¯Ç^§÷o½1kŽÖ7ZÔœP“‘›F’˜ñüÖ€­²s›Ïjοwÿ¥åœ–èÐÃö;[FlÁ“§ObQ¥ìãáÇi5§ú£ô‘ ‘ÐpjC…[ù5¾­ÎpjOªMŸ}8øßA¤Ri©möâùZßhaó _¬û‚Ȥç÷Óo±Ÿ,†þ«ûóÇÙ?pîŠî]LǘòùêωM•Ëï9Ó€™A3eç¶ÿµ}±õV%&Uï‹ œSwOðqÃåÒ5Ô4Ú|he„$(!;7›3Ñgh_§}e‡R¬ª_eSWW§gÏž8p€Î;3nÜ8¾ýö[233+;4AáW%:îܹƒ··7/^dçÎ$&&²nÝ:-ZÄõë×ÑÖÖF*•²zõjâããñôôdûöí,[¶Œ””Ž;FJJ ÞÞÞœ={€=z •Jùè£ €°mÛ6BBBøì³ÏäbQµìaÆ1bÄî߿ϹsçPWWWÈ󢄄<==Ù²e ‹-"99™K—.áëëË—_~ÉŠ+^ÙfEçoÞ¼Yvþ¿ÿþ‹žžíÚµ“µÕøñã‘J¥¸ºº’––Ƙ1c˜1c œ8q‚””>øàŽ?.—¿Zµj´hÑ©TŠT*•m¥LJ‹I•ûò¦m¿¸¿Å~hªkr~òybÿ/–€ö Z;ˆi\:!]%¥óþ½}¯Y^ĤÄpxÜaR¥°æ‹5üsýšÏj.{¶ðÓ…HWI1Ò5"îq -ä÷¯~çá¯Ûa,Ë-gÚ?ÓäbQ¥ì¨ä(æœÏÊ+I^ÌÂO*äyÙñðãxÎðänò]öÙGj`*ûö#•Jé´°×b¯½²ÍŠÎJŽbߘ}¤,JaÇ7;¸}ÿyp%¦pHüÞÑ{I]” À‘ÛGØsm;‡ïäáü‡¬ùb Á7ƒñùÅGÖ²wô^.L¾Àä'#]%EºJÊáq‡•®Si1©r_å¥?MÀLϬ’#ÊâtôiròrªìC|U¯ª000`úôé¬]»–Ó§OÓ£G*Ñ‘/‚ ¼»ªÄt‰I“&‘––ÆêÕ«éС...lÞ¼…ü'NäÞ½{lÚ´‰®]»ÊòoݺFÍÅ‹Î>>•– ‚ðª#‚ƒƒèÔ©“\º¹¹9õêÕSÈ¿k×.ÙœÃÕ¨Q.]ºDll¬Âyžžžr_ÛÙÙWî²›5+Û/ÿý7]ºtQ8¶ÿ~”:ÿÃ?”K×ÖÖ¦]»vdggsàÀ¹cÕªU“u0iÔ¨ÖÖÖ\»vøøø2Õ¡"båîË›t=ö:ñãidÓHÖÁP¤µsëbóßM¾‹««¬ Èõ>`ו] ç9Vw”=ÈH$lLlˆK{^oUË®mQ[ÖÁ Œë±×‰JŠ¢¡uCYCm mÒÓp³s+áìçç7²i${˜/ÒØ¶1¶&¶\޹LLŠüîMšÊ:ŠtjXøïÀþ›û•Ž¿"cRæ¾#;7›ÀSŠxu'V‘Uÿ®¢Íò6l¾¼™´ì4ÎÝ;ÇGë?"`wÏòŸÉåݺ—ÀS¬;¿Ž_B~áaæCößÞOÏ =Yyn¥\Þ;Éw輺3þ»ü‰|IBF³ŽÌâƒß> 4Qq+À¢²×_XÏüãóIz’ÄökÛ鼺3A¡Až d陥$f&²þâzº¬î™è3åªÏ›V - äNˆÜ(©TÊO~¢ÛÚn‡“ü$™MW61ü¯áää[޲uÜtyKN/!¯@±ƒ~ÿíý\Š•ï ,.¾Óѧi±¤/m$-'ÈG‘|±í º¯ëNLÚóïsUêQdæ‘™Ì?>Ÿ„Œ.Ä^ ß¦~ Ù9„œ¼œWžWU˜››³qãFÚ´iÃ!Cä¦2 ‚ BE©ô‘ OŸ>%##ôõõŽ›˜˜(äüø1FFŠÃ£‹DDD`k+ÿ°ôr~---Ù¶wå)»Zµj%æYÑuttt000PúîŸqXZ1¡í…k&g%³¦Ï ðáÒo­§ùÒóK4Õ5ˆI‹!-;à!Á˜èþÌ™ÐvÝ×u'`wÁƒƒ‘H$ e§f§²¢Wá[øì–Ù´XÚ‚)ÁSøºÙ×,ï¹€‘>#i±´KN/ÁÇÁ§Ìõ)Íè–£•j¿²ºòà )Y)rñ›®lbó•ÍôvíÍì.³eé»nîâû ïF©([Gÿ–þ¨IÔXxr!NfNxÚv<«IÔøÊó+6\ÜÀÊ^+±3¶{e|sÎÅÁÔ-Ÿo‘]ëïoè´ªñéñ²Ñ$e­G‘Ä'‰TӪƆO7ÈÒVž[ÉÜcs™wlSÚ¿ÅnU£­­Íüùó™Õb”Üç¡»Kw,õ-Ùxy#¹ù¹ çõnÜ[öÿ‰wwròrˆK>2ÅÑÔ‘i§É:t5uéZ¯+‘"‰J‰*6¦ž {Êåw®îLÆÓ z»>¿¦¡Ž!NfN e¨ZŸ7åpÄaŒuij×T–öÇ¥?ø¦ù7ry?rùˆêÕ§¶•¥Žý=ú£«©ËšókäÊØru Þ5½å:JН€’ž$ÉÝ[kCk¦´Ÿ‚‘Êõ("•JÜL~ºÉ ¦ƒÐÕÔeëÕ­•>ú¤,ÔÔÔ˜5k]»veÔ¨Q„……UvH‚ Â;¤ÒG2@á”íÛ·L¯^½dé „‡‡+äïÙ³§l£6mÚÈ›3gK—.%**J¶#BY¼Î²_ôñdz~ýzöíÛGß¾}厹»»ãëëË‚ J=?((ˆO?ýT–þôéSŽ9‚®®®Âô“œœ.\¸ 7µãÆÄÅÅáêê*7ŠAOOgÏžÿÂT·n]¾ýö[†-y%xUbªŠ\m]±6¶æÆƒÄ¥ÅÉM™8~\!cÛÆÔ¶¨ÍµØk<Î~¬ð&¼Ë¢.˜è™°yÈæ2Çò:Ë~ù:µÌkqãÁ bScå¦L$e$aû½-Û‡mç#7Å?_>?&%FndÀõØëĦÆâaï¡0máÒ½Kd=ËBOKO–vàfᔚ. ŸO%*:þ,¯ð3ÿ8ëñÖ„ÍÃÙR~¾xycªžü‚|Â’ÂP“¨±7t/ä;ÔÕÔÉÎÍ&,)Laþ½µ¡ü”'#ÂÜ,Yš£©#ú‡“‘@zNáB•×㯔™„“™“B\V†ò#¿t5uQ“¨aQM~ôŒž¦Ož=ߤ<õyÙëZ“ápÄa||Q—¨ËbŽJ‰B]¢®ðÀ/‘H°7¶'-;M–VÖ:ëÓ³aO6]ÙÄ™è3ø8øWÇú ëYöɲRã˜ÑyãöŒ£ÝŠvx×ôÆËÞ‹æ5›Ó×õùÏØ²ÖãE¦z¦èk˸ÔÖÐÆÚКÈG‘ĤÆP»zíW5k•"‘Høå—_4hÇgÏž=ÅŽ(A„²ªô‘ ³fÍÂÔÔ”€€:Dff&7oÞäË/¿,öÍ÷ìÙ³qrr⫯¾bÿþý<~ü˜””V¬XÁÏ?ÿ̼yóTîxe¿|GGGÆŽKPPÄÆÆ2bÄâãã;v¬Rç°wï^222§_¿~ÄÇdzhÑ"…ŒŒ˜4igÏžåÉ“'\¼x‘þýû£¥¥Å¢E‹äòzxxÎýû÷9{ö,QQQ´jÕªÂcªŠÔÕÔ ü,¼ü<ú®èËÍ7É|šÉáÐÃ,=º5‰ü·D"aíky–÷Œ^Ë{q%æ Ù¹ÙĤÄà¿ÅŸ Ñø©ÛO*Åò:Ë~‘šD5ƒÖ ¡¦Aïßzs9æ2Ù¹ÙÜxpƒ^¿õ¢™C3üû•éü'OŸp6ò,ýVõÃ@Ç€Uƒ‡Å›è™0hí "#ÈÈÉ`ו]LÝ3;S;&8Y–ÏÉÜ C]CÎE##'ƒMç6aclƒ“¹âƒ_ycª&É ÿ½¬Wã^ø·ôÇPÇPáØË߯Åùûæß4_ÜœÙ!³¹ûè®ÂC{¾´øyúÅ•]´5oiT­Ï›ù(’»)wåwm(¥JŶEëøµ×רIÔX}¾p'¢nýƒ±®V®¥Ç¸Z¹rxèa6öÛˆ§'!wBèõ{/º­ëö|Mê¡Ì1PmÄUeÓÔÔ$00¬¬,¦NZÙá‚ ïˆ*1’ÁÉɉ³gÏ2aÂzõêE^^nnnÌž=›©S§’”$?lÝ‚óçÏ3sæLFÅýû÷166ÆÝÝÝ»wÓ¾}á/çΓíZ ««ËäÉ“™1c†Ü/îîî|øá‡ìÝ»·\erÓvíÚÅÇ,—çóÏ?gãÆÔ¨Qƒ .0cÆ FMll,Õ«W§M›6œ|˜>ø@á}}}/^ÌØ±c9sæ yyy4kÖŒZ´h!—wáÂ… 2„úõëcjjÊ¢E‹¨_¿¾ÒuzULªÜ—7íOòbú?Óñœé‰Ž¦Ôû€5ƒÖPkb-…é ­ê´âÂä ÌšAç…IÍJ¥†Q ÚÖmË™ÎÈÞ¶ÿ²ÿ&þ5€ïþ‹dˆ„Cã¡¡¦AÛyϧáH†Hø¿^ÿÇøNãËUvç6û܀­,:²H.Ϫ«Üj0¾u}9?ù<3‚fÐeaÒ²Ó°5±åO˜òá”R§d¼|~Ê“ªT§cƒŽìµ»ØfŽÍèãÙ‡¾+úŠ®¦.vfÎ'säÖÄÐÒÐbÓàM|·ã;,ÇYRÛ¢6›‡lF]M½Lu*)&Uî‹ð樫©S×¼.¡‰¡ h2@nZ@xR8ÃÊ ‰WV´€©¦¢&Q#è« ¹7Õë.¬ãäÝ“åŽÿeYŸ×±&ш#h©kѺÖó…nÕ%ê8™9q'ù1i18˜8Èó ýÜתÔÑÞØžÎ8v€ð¤pVÿ»š±­;Ü‹‹à·³¿1°é@šÚ6¥©mSFøŒàܽsôßÒŸ¹Gç²äã%e®Ç‹R²RÈÉË‘ÛqäiÞSâÒãÐÕÔ-q‘ª®zõêÌž=›!C†Ð£GR_(‚ BiªD'€³³³lw‚ÅÇÇ»¡©©)óçÏgþüù%–Ù¼yób× JL¯ˆ²‹ôèÑã•yÌÌÌX°`Á+§E¼Š*çׯ__¶›Ç«Ô­[—'N(¤WDT½/oZç†éܰ³\ZÂã ¤T×WüL6°nPê´…ºüÀ]~(ö˜tUÉu/oÙE~ºð•ÛB6´iÈÖ¡[_YÆ«¨r~w×îtwí^j>¿Æ~ÅŽ¦¨ˆ:©z_„7g¸Ïpüwù³üÌr&µ›$Kš÷”ŸüDõjÕå†Î+K‚- -žå=SØÙàfÂÍrÇ]’×UŸŠp8â0Þ5½ÑÓÔ“Kà1€©§²âÜ ¹ƒÃ‚yðøZêZrùU©ã¯!;À˜ÝcÈ+ÈãƒÚŠæ%Å·âÜ ÌõÍù¤Ñ'²4S@~4JYëQ¤@ZÀú ëùÆûùZ.n ;7[n!Ñ·QÛ¶méÔ©ÿûßÿØ·o_…ŒØAÞ_Uâ§HBB 4àáÇhj>ÿ!Mdd$ýû÷¯Äè„÷ÑÖ [ÙtnÿŒþG.ýpèaàùö‘‚ ”,òQ$A¡A²E—žYŠ‹¥ êvb÷»¹x€ÐÄPORˬQ¢HÊL’moéiç‰wMoºÖëJRû$æ›Ë¥ØKxØz_OȬ ­˜Õe  l¿¶]îšÞ5½ñ®éMà©@.Æ^`ó•ÍxÚzÒÝ¥;|'0%x ~kýh_§=zZz\¿.[›áï›s?í>¾N¾Å–ídæÄÖ«[¹—zi§ñqðÁÚК×wò ý¹ù¹ž ÄËÞ /{/¥ëó¦=ÊzÄÕ¸«Lï8]áX?÷~D$G°ñòF¢EáfíF\zÉO’q³vãF OâRÃ…vµÛ©TG7k7#CCº5膻»Ò×láЂòÓÃz»ö¦U­VœŒ:IrV2F:F|æö²q"JqDWIe÷hØ£Øô߬«ZŸ7%äNR¤´«ÓNá˜D"aZÇiôuë˹{çÈÍÏÅ»¦7­[±çÖî§ÝW8G•:Nn7™ãQÇéÙ¨§Â±WÅ· ûf>äRì%<~€…¾í?lOM¹é^ªÔ£Ÿ{?ôµõùÊó+.Ü¿Àõøë˜êš2¸Ù`¼ì½J¬ËÛÄÖÖ???V®\I=ÞÊ5&A„ªA"-çøt‰D¶mÛèÓ§O¹9räK—.åÊ•+ÄÅÅabbBûöí™>}:NN%/î&¼Ú¼yóøî»ïäÒŠÖ?xH$Ê<%åYÞ3¶œßºÓë¸p›”')Ø›ÚóI“OøÑïG…Æåù-ö#èz\Ú¡q‡h_¿} g¼Ýz÷.ÜÎpÇŽ^vdd¤ÒyG.\tuñ⇇ðî¶sIO’økÐ_•J±ªz|oÊëú~¾yó&=zô`çθ¹¹UhÙ¯ÓîÝ»±°°[ïém”’’ÂØ±c¹pá¾¾¾8::òðáCöïßµµ5Ô¯__åò---Å"‚ ¼ ;ªÌH†víÚѮ⛠¡|ÆÏøñb‘º²ÒÒÐbÏ ù ªìPÞ9{G¿ù…<APNÛ&Ô·Tý!æu«êñ½í6lˆ““ÿüóO•êdX¾|9Õ«W—uÚ¾(11‘o¿ý Μ9S ÑUœÔÔTNŸ>ÍòåËéСƒ,}À€ôéÓ‡±cÇ*µ®– Be«2 ‚ ‚ T®¡Í‡Vv¯TÕã{tìØ±Ê=È.[¶Œ ÛÉ`aaÁ¼yó°°°¨„È*–©©)ãÆ“ë`puuÅÑÑ‘;wî––†±±q%E(‚ œÒ7AAÞ ^^^ܽ{—ÄÄÄÊEi=zôÀÇǧ²Ã(7毻\ IDATFŒQì±ììlttt000xÃQ ‚ ”É ‚ ‚ …oÍ>Lrr²,}äÈ‘DFFrîÜ9ÒÒÒpssãêÕ«XYYÉFÜ»wÝ»w ££ÃС…#P"## ’+3**ŠS§N¡®®Ž››7–¿|ù2§N"77—¸¸8Âõ–F]lyêêêŦGFFròäI455iÕªŽŽŽ@á:ÿþû/zzz´hÑ{{ûbÛ%11‘“'O’˜˜ˆMš4)v}„Å‹+½·žžƒ.5_pp0<ÕO¡ª ‚ ‚ ˜™™‡––{÷î%**ŠgÏžqõêU5jDDDÇŽcéÒ¥@átWWW…é [·nåÙ³g²N†"EeêééqöìYêԩõk×øùçŸùþûïò—¦¨¼aÆÉ=„¥W«VóçÏãèèÈ©S§˜9s&¿þú+‘‘‘„††booϱcǘ1c«V­R±jÕ*~ýõW4h@Ó¦Mùï¿ÿøùçŸéÚµ+sçÎEKK«Lñ*ãÂ… hÐ ºuëÆ‰'ˆÇÐÐnݺáîî^l~UuîÜ™N:qíÚ5¢¢¢HLLÄÄÄ„Î;ãíí]îÝ<AÞ‰TÙ%pK*@"aÛ¶mbM¡J’H$ˆ5„JS´EÚŽ;*¼ìÈÈH¥óŽ]¸2üâÅ+<áýóÕö¯¨iR“©¦*KÉJÁg‰6F6v¤¢{÷½Îïç 6°hÑ".]º¤ÒbBÕeii‰¾¾~e‡!»o‡É ‚ B™\¸'Ïž{ÌTÏ”CC¡§¥÷†£*Bpp0¾¾¾¢ƒAAP™XøQA„ egl‡™žYe‡!”Qbb"—.]âÃ?¬ìPA„·ØÉpÿþ}üýýôá—_p6wæsϱ1²áëí_s4ò(—\fL«1´«Ý'3'Æ´C¾4Ÿó÷Ï3z×h=yDïÆ½i]«5çïŸ'¯ ¼‚<†ÿ5œÀPÛMЦV¶^ÝJÇ•¹w O;OÆ´õøkÜzxKSM“šŒi5†¤'I\zpI–îaãÁ˜VcHÈHà\Ì9¾Øöj|æöÞ5½Y{a-Ý×u'.=Néú+[§Üü\†ý9 ÿ]þ˜é™1°É@š×lÎoç~£ÛÚn$f&ª£²í¥L¬­3¦Õ4Õ5±6´fL«1Œi5†Ñ-G[F´ Øôƒ$ãi}]ûâdæÄœcsø~ï÷*v„òËÊÊbÆ 4HnQEAA(«7>’á£>âÊ•+Ô­[÷M_úµx×êS’ŒŒ Ž?NË–-‹=þ6·Ãáýyô({{å÷¯ÊÞµú”äÆ$Ž¿OáÚµŠs‡ß—v¨êž\È­‡·˜øÁD¾nöµ,ÝÓΓnk»¡¡¦—½—,ÝËÞKöf½]ív|æþ¾N¾4±m‚¶ËÎ,ãpÄaÆ·/·{Aû:íiû[[Fü5‚#ßÁÆÈ#Ô$òýéÆºÆxÙ{QM«©Ù©²t+C+¬ ­¨¦]˜´~éú íë´ ß–;™91d禜ʪ^«”ª¿‰®‰RuZzf)!wBÛz,#}FÊÎ÷°ñà£õ1íà4–õ\¦RŒÊ¶—2±:›;£¡¦šD m¹{W\}KJ÷°ñ•ݶv[®Æ]eoè^fw®fá úeýìå³~ýzrss4hPe‡"‚ ¼å*eM77·wjžw­>ªz[ÛÁÌLgg“Ò3¾%Þµú¨J´CÕÀÇ ?–K¯k^GSÇWžûAä¾njÛ 5 v\/Ü©£Wã^rÇ«W«N›Zmx˜ùQ'Ê·†šÔ–¿~ÛÚm1Ö5æxäq2žf¨TnIuÚy}'½÷–;ÞÀ²ަŽŽ8LzNºJ1ªÚ^%ÅZÚ8µ‘ûº–i-<~ K+ÏgG(›èèh–-[ÆÐ¡C122ªìpA„·ÜɰdÉvî,üEªAƒ,[¶Lîxvv6¿ÿþ;G%%%sss:tè@¿~ý†î=yò„õë×sìØ1?~Œ••~~~|òÉ'¨©©{½™3g2þ|._¾Œ©©)Ý»w/vëͰxñb®]»†¶¶6­ZµbĈøùù‘ŸŸÀäÉ“ +¶>ª^W™:•F™6œ8q"gÏž C‡ôêÕ‹eË–Ž®®.]ºtáË/¿DCCC–ÿàÁƒüñÇœ:u €&Mš0þü ¹¯ª¶Yydfæâç÷—ìë¹s[Ó¬™•\ž+Wùý÷ÿ KA"‘àâbÆ—_6¤~}ÅÍ.\Hà?n‘І†®®æ ÚXö&½¸ë¥¤äðûïÿ‘žþŒúõÍøöÛ¦Ô¨QM¡ì;ÃùóÏpRRr¨YÓ¯¿nDxx*kÖÜÀÆFŸ+:[Ÿò\·´:)£´6 KaذC²ü¿ÿÞ…ƒïqàÀ]ÒÓŸáìlˆn ùoÜH ]»í²UÐ/n‡££Q¹ïkyÚLx.7?—ÄÌD´Ôµ0Õ3U8n¡oÁý´û%žo¬£¸öA^Añéñh©kQ½Zu…ãÖ†ÖĤƔ#òÂõ^PàiÙiÄ¥ÇQ×¼ì#·^U'5‰»Ž'?I¦@Z@DrMl›”)F'3'•Û«¸X+ÊË‹BVÓ*ü^Ê-È-ü»œŸAyLœ8GGG†ZÙá‚ ï€7:’¡sçÎL›6‹/rùòe¹c÷ïßÇÝÝI“&ѬY3üýýqqqaÔ¨Q4oÞœGÉòÆÄÄàææÆÔ©SiÙ²%þþþØÙÙÑ¿zôè!ëxñz'NœàóÏ?§V­Z >œ§OŸÒ·o_V¬X!Çõë×iܸ1ëÖ­£k×® <˜´´4:wî̱cÇÈÊÊbÚ´i4nܸÄú¨r]eëô*ʶa¿~ý?~<ÇgÇŽôíÛ—† 2|øpììì6l]»v%77W–¿èÖ­[3mÚ4¦M›ÆÀ+쾪Òf奣£Î´i>4lXãÇï“’’#w|Μó4iò;ÑÑùòˆ|þy}®\I¤qã ¬\y].ïÌ™çðòÚȃ Ò˜O?­ÇÁƒÑ4h°Ž£GcнÞܹؽûŸ}V??'Ö®½·÷frròäÊ2ä½{ï`Ø0WZ·¶eìØ£,[v…ãÇïÓ§O]üý=J¬ª×U¦N¥Q¦ ­­õ™6͇êÕu9~ü>ýúqåÊCú÷o@ß¾u9tèpà@´\þ¢Q ?ýäôi…ìí *侪Úf‚< 5 4Ô4È-È%7?WáxVnV™ËT—¨£©®InA.ÏòŸ)Ï|– r A"[àE9y9 iE²s³‹MÏ|ZX~ÑBŒA]¢Ž–º$ø·ô—­sPôgyÏålê· '3§2ǨJ{U¯ã³#ï×_åêÕ«Ì;WörAAÊãþ4©]»6µk×.ö‡Ø€ ãÌ™3x{{àççG£FèÞ½;C† ᯿þ’å½sç'Ož”­àç燹¹9,]º¹ëݺu‹;vP¿~}Ú·oOpp0«W¯fذa²8¾øâ RRR¸xñ"Mš4‘•½lÙ2Nœ8©©)¾¾¾XZZ[U®«l^EÙ6lÔ¨vvvDDDpçά¬ ßôvïÞ---æÍ›Ç¢E‹?~<5âéÓ§Ô¬YSVÿм¯ª´Yyih¨áëkÇÕ«‰ ÇŽ»Ï?œ S'þþ»‡,ýÓOëá嵉áÃѬY ÜÜ,8z4†)SNѾ}Mþüó#YÞ?®³ó>ÿ<ˆ»w‡¢­­.w=MM5–/ï ËŸœœÍ?žâÈ‘>ü°pèðž=‘¬^}??'¶lñ“åíÕË™ºu×àáa‰—Wáý+®>/×S™ë–¥N%)KúúÚ±kWžž5X° ­,·nN88¬bÀ€}DGÁÀ@ __;ÌÌ ŠÚ´±ECC¾¿´"îkYÛLP$‘Hp·qçÂý ÜL¸‰»»ìØÓ¼§ÜM¹«R™^ö^œº{Škq×ð´ó”;~#ቄæ5›ËÒŒtHÍJ•Ë÷4ï)?@[C»Øëd<Í .=Nö¦ G$d$`¡o­‘m™c/­N'ïžÄÒÀRa*À‘;GØvuË?Y^æUi/eh©k‘_ð¼óûû ïi_§=;–©œ’¼ŽÏÎû*""‚:uê{ìÏ?ÿä·ß~cæÌ™²Ÿ¹‚ ‚P^•²&ÃË¢¢¢8~ü8õêÕ“=ˆéÖ­Õ«Wg÷îÝÿwìÿŠ] Œo[‹¶†6³Cf“’•"K_ýïjB†ò©Û§roýÕhDtj47âoÈÒŸ^ŒºZÉdÚÚÌ9:G6Ú!7?—‡gWǨ£dSt*Êxßñèhè0ýÐtÒ²Ódé‘"™vpõ,ê¡.‘WÙËÚ^Êp0u >=žü‚|Ò²ÓØº¯L[{*ãu|vÞ7ÿý7=zô !!AáØÁƒ™2e Ç—ý®!‚ ¡JŒ‹‹ŒŒÀÞÞ¾Øãööö$''s÷î]RS ßF=zôHáz‘7n(¤YXX(¤éëë+û:::@ö–ÿåóÕÕKþ…´$Ê\·¨þe­Ó‹ÊÒ†ffÏçÂZZZ*ä-ªQ{¨JÕ˜”i³×-22íÿǨ¸ö@QZQž¢¿çÏ¿¨0¢è!ôúõ$ºu“ÿ%ÞÂB~¸µ¾¾&Ïž=;]x¾bVVª­ ÌuU­Ó‹ÊÒ†/²´T†ngg@tô㯧 UcR¦Í„ây×ôfA÷L?4K[àdæDJV ý=úÓØª1—bŸo!y'ù?ø‰ðäp¾Øö$lþ|³\™¬ñÇg0õÀTZ/k“™IO’xòì þ-ýåvgßf<‘"é»±/ÎæÎdåfñ•çW8˜8ú0”~›úÑÝ¥;Ÿº}*;ÇXǘŽÎé´ª¦z¦Ä¤Æð,ÿÚN Ÿ{?¥ë¯l\,]Øôù&~ þ‰VËZá`â@´€„Œ6ˆ Å‘lÊÆ¨l{)+ÀHŸ‘ì ÓªNdåfÑ®N;šÙ5ãbìE~=þ«\­[Ñѹ£BÙ=õ¤wãÞôÛÔû ×W˜¸o"-[2¾Íø2}vE»wïf„ H¥RV¬XÁÔ©SeÇvíÚÅ„ øôÓO7n\%F)‚ ¼‹ªD'Cµj…Ků֞ž.ËW´N€ƒƒÓ¦M+±Ì‚‚¥K,¢§§WbYYYJ­‹  }}} |u*K¾èÉ“' y‹Êx9oY©SUP­ZáCdF†âæôôgryôõ ¯üâ 52/¶#CmCìŒíJœÒQ–•i¯²ÄúAí83ê wSîb¬kŒqaç´“™“BÕ«UÇRßR!ÝÆÈ@!ýÅÊ~vyû÷ïç»ï¾C*•"•JÙºu+ÇÇÜÜœ+Vð믿2dȾûî»ÊUAxU‰N ¹uë™™™²‡n€‡rïÞ=¬­­©[·.Ïž=ÃÈȈÄÄDZµj¥0ºàçŸ&;;»Ä¯âîž·nÝ"++KÖé… B¾.îîîå®SYÚðE7oÞD*•Ê ý½xñ">>>²´¢] Š:ZÒÒÒèÑ£ëÖ­Ãѱø­ÄT©*ðõµçС{üûo<;:È;>€¶míÿÿßv<¶¶¾¾ò£`bbÒ4h?¿ýÖU´haÑ#1\¼˜@‡5åŽ]»¦¸æ@E©ˆ:•¥ _týznnò£Y.]z€,MK«ðû$?_І,\x‰ÔÔ¦OoQá1 ªKËNcÒþI,빌–ϧýd>Íä^ê=šÙ5“¥ékëãeïU¦ò­ ­‹í x™ºšºÂZ k4,!÷sZêZ¸Xº”)¦©R'+C+¬ ­JÏøÿ•%ÆWµWYcÕ×Ö§‘U#¹4]“Ë(kzY>;ÂsÁÁÁŒ3FÖÁ •JY¾|9<àĉLž<™AƒUr¤‚ »ªJ¬É ££ÃÌ™3yüø1ãÆ#/¯pÅöœœFEnn.óæÍCMM fÏžMll,“'O–å…¹‡³gÏV©ƒ ߨ÷Ýw¤¥¥1a ç|¦¦¦2cÆŒ Ÿƒ[¤"êT–6|Qrr2sçΕ}ÏÔ©SÑÖÖfâĉ²t444dS(Ξ=Ë… ¨Q£F…ÇTŒ醓“1‹]–=à?~ŸÕ«oàêj.›×?b„;µk3cÆYnÝz¾¾Djjƒ /¯€ºu·`S.wÌÍõX¸ð7o&ËÒwî çßãU¬]é*¢NeiÃ-Yr…˜˜çk,^|™ëדèÛ·žl-€:u w—ˆŽ~ŒT [·ÞFMíÕߣªÆ$¨.7?—ƒáÙq}‡\ÚÌ#3yš÷”¡ÍÅ–yBñÄg§ì‚ƒƒñ÷÷—ë`ÈËËcË–-ܸqƒM›6‰Aáµz£#–,YÂÎ;ÉÌÌäÖ­[øúúòÝwßñá‡2jÔ(tuuùñÇùóÏ?©U«³}ûvz÷î-+gøðáèêê2eÊV¯^““IIIüþûïtêÔ €Í›7³råJ¹ëÍŸ?uuud#|}}e ýôÓO²‡ßmÛ¶aooOZZË—/'88X®£¡¤ú<~ü¸Ì×U¶N¯R–6,âççGrr2˜™™qëÖ-ªW¯Îž={puu•å344dÒ¤I̘1ƒððp"##™3gºººr_U¹Wå•™™‹Ÿß_ÄÆNçøþûã¬Ysƒ;ºcd¤Í‰Ÿ2bÄa¼½7Q§Ž yyܽû˜^½œY¼¸lgCC-NœøŒ‘#ãæ¶''côõµO¡k×Zr»t츃¨¨Ç²ëE±xq;B )\ÔpÉ’+8ÍþýŸ`a¡Çáýéß?w÷ßiÐÀŒ¬¬\š6­Á¨Qî̘qŽ¢ä«êSÖë–¥N%)K¾hâD/üüþB]]””îßOgÀ€¬X!¿jý°a®ìÜFëÖ[15ÕAMM¨Qîv_ËÚfBñŒué3’¹Gç²ìÌ2LtMˆN¦šV5{–ù-ÿëĦ˛ˆN‰&¯ ~›úñq£éÝXñßN€~›J_›á“ÆŸðI£Šû|”5Æ·ÙÛôÙ© 8 0‚áeݺuSXØZA*šDZÒO"e Hضm}úô)5ï;wï«[·®Üî„……‘’’BõêÕqvv.qT*åöíÛ¤¦¦R£F äÞŠÇÄÄ%wŽ««+‰„«W¯Ê¥;99É-ø˜žžNhh(:::¸¸¸‘‘©©)}úôaÛ¶m¯¬Onn®Ê×-­NÊP¦ ÓÒÒ011áóÏ?gãÆ¤¤¤®®....%.r™@LL ²+â¾–ç^½ŠD"! € (ËË+àÔ©riÚÚêx{Ë%NIÉ!""‰êÖ5ÅȨäùÑ©©9„‡§¢¥¥N­ZF yOœˆ¥ àù·œ‘‘6îî\½šHZÚSYººº„V­ä·È K!%%GG#jԨƘ1!^æÖ­/©_ßì•õ)ÏuK«“2”iÀ€-ºLDÄ`œœŒ }ÄãÇO©]ÛssÅÅ ¡páÅÛ·SPS“P¯ž)jv_ËÓf/*êHÛ±cG‰yTU´¸ª2F.\äuñ⇥䡪{ùûùàÁƒŒ=š‚‚‚; p·¦S§NaddôFâªKKK¹©«‚ ¯ÉŽ7:’¡víÚÔ®]û•yÔÔÔ”Þ«Y"‘¼2¯½½}‰;”4ý $$„“'O2u?¦ø IDATêT¼¼ž¿%¹rå €Ü€WÕ§¬×-RZ”Q–6,bjj*Wß’Ô¨QCaŠDEÜWUîUyih¨)¬7PSS¼¼”›mbòê¼­[ÿ0úò/8pÿû_K…é W®$bh¨%›6ðªú¨rÝ"¥ÕIeiC‰40+5Ÿ––:Ë/LYQ÷µß~íÚœ<ËøñžhhˆocA„÷QHHC‡%??¿Ô(\›aÍš5dff¾èA„÷•x:yIË–-éÕ«>>>4nÜ777‘H$9r„êÕ«Wvˆå6qâDüüü8tè¾¾¾\º$ö¯ª&Mòâܹxll~£yóMØÚþƘ1!L›æÃäÉÍ+;¼r KÁ×w;w†ðùçAŒ}¤’£A¨Ú’’0|øp… ‰MMM44ä«jiiaoo››¡¡¡o:\Aá=R%¶°¬JlmmY·n¿ýöwïÞ%%%{{{lmKžsý¶éׯŸÂB’µjÕª¤h„Ò èÂÀ.$&fýMMu40+vÑÄ·‘µµ>Ó¦ùÈ¥©²îƒ Âû")é —/÷£  p[i‰D‚±±1666ØÛÛcmm••¶¶¶XYYamm±±q%G-‚ ¼/D'C ´µµ©W¯^e‡ñZ4jÔ¨ôLB•ca¡‡…Eñ ¾Í ´”ZCAA€¬¬,23CiØp1?ü`€••5jÔ@SS³²CA@t2‚ ‚ ¼5ôôôpt@³fb·A¡êk2‚ ‚ ‚ ‚P!D'ƒ ‚ ‚ ‚ BL—Aª”à°`–ž^ÊÝ”»ääå°ïë}˜èšðËÑ_8{ï,‰™‰|äòó»Í¯Ìp߈¾ûr)¶ø]€¾húSÚO‘}ý8ç1A¡A컽Ї¡ääåPà®Ö® i6„ú–õK½ÞÐC ¹ÂØÖcé3²Âê!‚ »OŒdAªŒ+®0z×hZ:¶äü˜ó„|B ƒŒýg,çîc]ßu\w!^C*9Úªé—_˜~p:íë´'xp0Ç\ä—®¿pëá-zlèÁ¡ðC¯<ÿï›r'ä E+‚ »¦BF2 >œo¿ý¶"Š„ ·råJvîÜYÙaï©GQ§NÊã­„T*å Ï/ÐÓÔÃÞØžS#O‘šÊ¹{çèïÑŸºæuøÞ÷{¤H_Kæ7¢e¶õßöZÊWÅ߃þ¦‘•r»õvíÍM¿}íiçÉ‚n è¶®sŽÎ¡ƒs‡bÏKÌLdÆáôh؃]7wUDØ‚ ‚ ¼gÄt á—•Õ˜¬,ÛÊCxo«ìÞ*ññë˧§¦›è™ÈÒ$ $o.¸·Ä쮳‹M¯oY bÒbJ¥H$Šm7iÿ$ºÔë‚§§èdAA%Òɰ|ùrúôéSE B…*ü%z, >ŸBeé³seÇðöÈ/ÈeºèTP]vn69y9Ô³¨WlÃŽk;ˆHŽ`ÑG‹8q¸"Aá] F2‚ ¯UZvKÏ,åpÄaâÓãÑÓÒÃÍÚ¡^Ci^³9‡Â1ü¯á²s\æ¹[Và©@O°©ß&ÜmÜYvfûnï#îqÚÚ4±mB_·¾øÖòE]M]vnJV KN/áÈ#<Ìxˆ¶žvžŒn9šú…‹!®þw5¿ý€K±—¨ýKmÔÕÔ û>¬ÔºÖ[·ÄŽ’—U¯Vs£•é²ë¿]L žDtJ4êjêÔ3¯G?÷~twé®Ôùûnï`„Ï…c  Ì>:›¥/¥šVµW–ã¾ÀŒ§Å“H$œqR¶Ž† ‚ ïÑÉ ‚ ¼6I™Iôþ£79y9Ìê2‹fvÍHz’ļãó°u3;Ϥk:8wàÎwøæÏo8q˜ÿÆÿ‡–ºR¤H¥ÿ½;‹ºÚÿ8þ†]ÀÁ}ÍÜqMs7—Ì]ÑJÍò^—\³,ÓÜ*+5sÁ%Íʲ,MS[4Å}É¥\SsA0M”m˜ßþ˜Û* 0¨ïç}øx4ç{Îù~ÎwäÊ|æ,fŽ_>N÷/»3ìÉa o<;ìxkÃ[ürêæv™KÝ’u‰KŒãÓß>eЪA,{~ J5nï5ðU‰)‰Lm?•ú¥êséú%&mœD¥=øú¹¯ñ/îÏü—ÿ6øo¶÷dÈL""»®'\gjû©”+RŽðØpì]À«?½Ê‘°#Ll=ñ®m£ã£ùpû‡ô¬Ù“ö•Û§»>výX:>Þ‘†¥f*–?^ûWWËëy¿Îcö®Ù¼Öô5%DDDq:]BDDrÍŒ3¸xý"ãŸOË -qsr£l‘²Ìê4 ¯^¼³é¢ã£3lk0°3Øa´3b÷ÿÿ\Ùì0Œ F {þÚCÅ¢i\¶1ÎöÎ-P”7[¼IÙ"eÓÅqéú%ƵGóòÍqup¥bÑŠÌé<³ÙÌÛ›ÞÎõgq?VôYÁŒ3¨êSÊy–cF‡Ôô«ÉÒƒK9~ôŽmcnÅðÒŠ—hPªï¶}7}ßGWð×µ¿x³å›ÙŠmý©õÌÙ=‡îÕ»3¸áàlõ!"""%DD$×  EùVåŽFG•iDBJ»ÎíÊvÿÍÊ7ãÐ¥C¼õË[ ;bYª°ià&Ë,¸½ÃÎ`GË -­Ú{¹yQ±hEŽG'âFD¶ã°•vµ`Kð– ¯ßJ¾Å‹+^¤¢WEfvœiµ| ,6Œ©[§2í™i¸8¸dꞇG¶Ìb8~”×~z%ê1¥Ý”û‰ˆˆˆ<,´\BDDrE’)‰‰7p²wÊpÑEÛK*²krëÉøûù³úøjú~Û€º%êòœÿs´©ÔÆ*€Z³jݱ¯¿®þußSýssO†Œx»yp%þJºk&³‰ak†áãæÃ‡>Äh0¦«³õìVn$ÞàùeÏgØÿ¬³˜µs[m¡táÒ–ka±a Z5_w_t[€ƒÑá¾Æ""""%ò±={ötû[@^}õUG$"’yŽFGÜܹ‘xƒø¤øt‰†´e^n^Ù¾‡Á` Kµ.t©Ö…”Ôößǧ¿}ÊÕC×jýëõÇÑ與³ñ‰ñüùÆŸ~ØN×o6O±ÈÍ=2rùÆe< x¦»6~Ãx’LI|Üýc«1·\Ø’™fR˯}j÷¡Oí>éÚþpâ^ûé5F5ÅÐFCÓ]OŠgÀʤ¤¦°8`1…\ ¥«#"""&-—Èeßÿ=¿üòË}õ±páBfΜ™C‰ˆä´ÙÛB¶Y•'™’ØóלíiR¶I¶û÷ŸåOÈ•ìíìi\¶1 »/Ä`0°íìÿîÙö±¶˜Ì&^<˜®EûÑdALæÿÍ@pqp!Ù”lyÝú“Ö,?²<ÛqÞïŽ~Gç%Ó•›Ífˉ­*¶²º¸;3‘gXÔcŽFÇÇ”jbä# ¹Âü®ó­ö¿¶f›ÎlÊÑû‰ˆˆÈƒE3rÑÍ›7 ÀÕÕ•¸¸¸,·oÔ¨5bíÚµDGg¼1šˆH~6ºÙhö_ØÏ”ÍSpup¥A©DÆE2cÇ ¢â£˜ÒnŠeÙDvMØ0‰­'Rγ7o°ìÐ2Ìf³ÕI £›fÿùýŒY7†Ém&S»xmL©&~9õ ó~Ç´g¦Y}Û_µXU_:Lxl87"¸píõJÖ»¯8ïljË'˜´qýë÷§˜{1.]¿Äü=ó9qœê¼@Mßš–ºßûÞrÌgjäx,ïmyí!Û™öÌ4«}/DDDD@I†\åêêÊŠ+puu½we‘‡—›k_\Ëü=óygÓ;D܈ÀÅÁ…Z~µXúìRK"`Ó™M¼¼úeK»ª3ª°ê…UŒ]?–Ы¡Ìýu.ó÷Ì穊O1¿ë|¾yþ¾9ò #IXlNöN”)\†÷Ÿ~Ÿ€–þ<]=YÝo5 ö,`rÐdÂcÃñpö ŠOv_È“ež´Š{|«ñ¼µá-Ú,nC!—BLl3‘òžåsûqe¨Kµ.x8{ðã‰yiÅKD܈ÀÉÞ‰*>U˜Õi«t´ª¿áô†lßkÂÆ |{ø[Ëë´=š”mÂ’^K8qœ¥—0fÝƬ“®ÎUÓϺ‘G‡Ál6›ï«ƒ+VгgÏœŠIþ¥V­ZDGGsñâE[‡òÀ1 À @?ÅVèÑV®\™ã=‡„„dºîðá>Ì{9Ç㑼¥ŸgÉÜÜÜl†ˆ<üVj&C.9sæ ß|óåõøñã±··~Ü‘‘‘lܸ‘¿ÿþ› ðÄOРÁݧžþþûïìÞ½›ääd4h@³fÍr%~‘¬Òƹlùòå¼ýöÛ¤¤¤X•Ïš5‹Ò¥K3wî\¢££Ù¿?Íš5£E‹DFFfØ×¨Q£7n—.]bçÎ4oÞœ:pëÖ­¼ŠˆˆˆˆˆˆÈ]i&C.©T©“'OæÈ‘#œ>m}¤Ù·ß~Ë«¯¾JïÞ½Yºt)vv·s=»wï¦iÓ¦tíÚ•Ý»wÿÿTÿÛÂÂÂpwwgÓ¦ÿíÚ=}útÆŒÃØ±c™={vÞ LDDDDDDä4“Á¦M›À„ , €ÆÓªU+öìÙÃÎ;­Ú˜ÍfFmU6bÄ (À'Ÿ|Bbbbî.""""""rJ2ä1“ÉÄü½½=+VLw½råÊ:tȪÜËË «2gggJ•*Å­[·²´œˆˆˆˆˆˆHnP’!ŸúçR ÀjÆÃ?¥òïú"""""""yMI†ÍdÈauêÔá…^àùçŸç×_ÅÞÞž™3gÚ:,yˆ‰:ÆÓX}l5‘q‘üùúŸyÃ'~ÀÛÍ›†¥•Xy”)ÉþüòK¶oßÎÁƒ6líÛ·§pá¶KDDb•¼*QÉ«. 2.2ÏïÉk?½†·›7{†í±ºöñÞ)êZ”€šy—ˆˆˆä=%rAóæÍµ!£ˆˆ<2¼Ý¼™ÑaÞnÞé®-س€*>U”dyD(É """÷­Kµ.¶ADDDò%DD$W„\ aÝÉu–×CŸJHtû.ì#æV ¾î¾„ß·Ôñu÷µ|ã}õæU¾>ô5½jõÂÇÍ€¡;9vÄRؓð3Üyã¹»çbÆœ©x]\ùoƒÿÞ÷˜4€‹ƒ f³™C—q:ê4± ±”)R†æå›ãlï|×þB¯„²ûÜnŒvFjùÕ¢†o c9y’}ç÷‘’šBUŸªî…ðóÉŸ ½jyÕçÛ¾r{ÖŸZ×ñ¶ªØŠ-Á[¬ê F]:Äîs»I6%Fàî@ Þx¸Uœ‘q‘ì:·‹È¸HÜÜ©S¼û<žá¸EDD$S’ADDrUÚÝ$SGÂŽP½Xu‚£ƒÙ²I­'±ïü>~ûû7ºV늯»¯¥Ý'~ pw övö i4ÄRΖ³[èS»-†Ü}L}ëôåÒõK ]3”¸Ä8ÚUn‡)ÕÄ7‡¿áMïðYÏÏxÜûñ ûsupeïù½TôªÈѰ£¼³éÞhþŸh©k6›™4‰oCu¨åW‹e‡—±ôàRL©¦t±æÄó½Ûx•idUgЃ0Ú3ý,ï_ÌÌ3©â]…º%ër"âïlz‡ö•Û3½ÃtŽ™îKDDDlOIÉå=Ë3¢ñþ¼ü'¡WBIHNàëç¾nP^°w=jô ŠOz}Ý o7o«uûk¯ÅÎ`Ç'~°|nZ®)GÂŽÐ¥jF4qÏþýy^ŒÉÙÞ™ 1ˆ¹Æ(ìr{óß1-ÆÐiI'^ùá6üwƒ!]Ñ7£ù¬çg–þ:|ÞÀݼTï%Œ,;¼ŒoC@Í>xú«çõƺ7°·ûß?í»ï}=ß{·ªOUê–¨k©“¦vñÚÔ.^›Åûãçá—áûõ㉙¶m«tdfÇ™ Kù«?½Š¯‡/cZŒ¹ÏwMDDDòÒ瘊ˆˆä ¾uúZþÛ`00´ÑP\\¨S¢¥ •â‡?jNn/#¸ró «v&äJ^þß‘Œk¯¥kµ®yFî4¦²EÊ2¹ÍdK‚ÀÅÁ…ö•Ûr%„Ы¡uG@ÿ% þÅýIHI ,6ÌRþÕÁ¯üÄ`«¶«v¦h¢éúÌÉç{§ñf×'û?n/{IK0tªÚ 7¾>ô5ɦäl÷/"""y/Gf2|ùå—ìÝ»7'ºÉ‹ýý[9Ê•+%lD¾àãîsÇk]ªu!pw ûÎï£Q™F¬9¾†ÎU;Ó¸lcÖ_ÃÚãk©âS…àêèšéõú9½'ÿÝiLe‹”ÅÛÍ› §7q#‚Ø„Xþÿ€¨¸(Ê{–O×ÎÏÃÏêuAç‚ÜL¾ €)ÕDèÕPŒ#% •´ªk0(U¨”e¯„Ê©ç{·÷0«L©&NGÆÎ`ÇÏ'Æ€ÁêºÑÎÈ­ä[œŽ:MµbÕrì¾"""’»r$ɰ~ýzÖ¯_ïŠ"6±õÿÿˆØFpð-[‡/üûCä?¥}^{b- K7äÇ?òyÏÏ)çYŽbîÅøùäϼÙòMV[of1ÀÇ´æø&nœH×"4/ל"ŠXÕ5™ÓïÜuËÿ¿á]Ý©}N=ß»½‡ÙaøÇÿþ­Gx8{äè=EDD$wåH’aÅŠôìÙ3'ºÉQƒÀÀ@Ú·ooëPä5lØ0ÜÜÜlF¾WªP)j¯Í†Sh_¹=…] S¡hàö2€Eû±=d;Ag‚øå?¿dºßœÞ“!3RÍ©LÚ8 ;ƒëú¯ÃÍéïÿ’ß—°ëÜ®l÷m4)ïYž³Ñg¹s2…ËX]¿{)Ãv¹õ|3³³ù³I–ZFÕbU©åW‹Ç¼ãdäIúÖékµ´àLÔ‚ÎQ¼`ñGDDDr—öd‘|¡kµ®ÜL¾É[¿¼E×ê]­Ê&l˜@ ßx¹yÙ*ÄL1`ÀÑÞ³ÙLJjŠÕµãÇï»ÿ¾µoï‹°hß"«ò §7pézÆI°Ýóõvó&&áö“ÙĬ]³ˆŠ‹àåF/ðñž­Ú$¦$2qãDNEžÂhÈüI"""b{:]BDDrEľ;úe“Ãù{æcogÇS!Ú?Þžw7¿Kt|4«t´”W(Zª>U9qùo¶|3Ob¿“ÌŒÉ`00¦ùÆoO‡Ï;ðTŧputåð?,{3¬9¾†¿cþ¦yùæéúkXº! K7$pw .à›ÃßP¯D=:UíÄóþÏÌׇ¾&ôJ(µüjFt|4µüjq,⻩Z¬*­*´²Ä•ç›™ñ†\ aÝÉuVuªúT¥ícmèV­3vÌ`ì/c‰Š‹¢°Kaš•ov;¦Êí‰z*ŠéÛ§sðâAj—¨)ÕÄÖ³[ñõðåý§ßÏwMDDDò’’ ""’«:<Þ!Sõ :ä¶ï`2›ðtõ´º6¦Å\<@ëJ­s#Ä,»×˜jФ\v…î"úf4 ò\­ç¸ró ;Cwfº¿'Ë<É“ež´*3 Ln3™^µz±ïü>’MÉ4,Ý&e›ðãŸ?òwÌßöu?Ï73ïáê n8˜š~59q‚Ú~µyºòÓ8-×ûÕíGÇ*Ùº“ðáx8{бJGü‹ûßóž"""’ÿÌÿ\(™ íÉ ù–öd[KÛ“aåÊ•9ÞwHHH¦ë~ûT€¹s/çx"’·ôó,Ùáãã£=‚D$/¬Ôž """""""’#”d‘¡$ƒˆˆˆˆˆˆˆä%rÙ³Ï>KéÒ¥¹zõª­CÉUJ2ܧ:`0HIIÉðzjj*f³™ûÜ_SDDDDDD$ßÓ–¹ì»ï¾³u"""""""yB3DDDDDDD$GäI’!%%…3fP£F \\\pww§qãÆ|ÿý÷–:ãÇÇ`0Xþ”(Q€)S¦X•¯]»6Ký¦1™LÌ™3\]]ñôô¤~ýú¼ÿþûDDD°{÷n«û¤-HHH°*?~ü8À`0°nÝ:,uvïÞMLLŒU» 6Ü5ž P¿~}/^lYZñï>~úé'ÆŽ‹ŸŸnnnÔ«WÍ›7gú}¸~ý:Æ Ã××'''*UªÄ‡~È»ï¾k¹G… ÒÝwõêÕŒ=š’%Kb41 ¬Zµ*ÓãÈî³ýçóìÓ§^^^899Q½zu–,Y’éq‹ˆˆˆˆˆHÞÈõ$ƒÉd¢S§N¼ùæ› 0€K—.qêÔ)üýýéÑ£³gÏn'®_¿Îã?Ž»»;AAAÀíäÈ#xùå—1›ÍtéÒ%Ký¦ÕíÒ¥ ¯¿þ:/¾ø"ýõ¡¡¡Œ3†iÓ¦1xð`7nŒÙlæ™gž±ŠßÙÙ³ÙÌk¯½fU^·n]«úÉÉÉ–½7nL¡B…0›ÍÌš5+ÃgÒ¥KFM¿~ý8þ<ÁÁÁtìØ‘Aƒѯ_?€t}¼ûî»ÔªU‹Ó§OsàÀnÞ¼I×®]¹|ùò=߇ÄÄDZµjÅâÅ‹™4iááálݺ•K—.±`ÁöîÝËÙ³gÓÝwìØ±T¯^cÇŽqáÂ*Uª”¥qd÷ÙŽ9€Ò¹sgΞ=ËÉ“'©Zµ*ýû÷çƒ>¸ç¸EDDDDD$ïäz’᫯¾â—_~¡ÿþ >œ"EŠP¼xqñ÷÷gìØ±DEEàááÁ?ü€Ñh¤S§N\½z•%K–pôèQæÌ™“í~¿þúk~þùgþûßÿ2räH¼½½)X° Ý»wgܸq¹ýÒI‹ç?ÿù¯¼ò ^^^øùù1aºuëÆW_}ÅO?ý”®]Ó¦MéÕ«îîîT®\™!C†Ç®]»îyÏÏ>ûŒƒ2pà@L‘"E(Q¢³gϦdÉ’wmÛ¥KúõëG¡B…(^¼8§OŸ¦GÙGV 8€€ ,H¹råXºt)~~~Lž<9S ɹždH[ÞЩS'«rƒÁ@‹-HHH`ãÆ–òŠ+²|ùrþúë/Ú¶mËÔ©SY¹r%ÙîwÍš5<ýôÓéâ3fŒÕŒ¼Ï¿¿Ùhß¾½UªW¯žÕë´ä@XXØ=ï™¶\£mÛ¶é®5iÒä®mëׯŸayvÇ‘U7¶zíèèHóæÍIJJbëÖ­÷Ý¿ˆˆˆˆˆˆäŒ\?]"í›æŽ;Þ±Npp°Õë¶mÛòꫯòá‡òÒK/áååu_ý¦ÕõööÎZð¹änñøøø‘îZÁ‚­^;::·É¼—´Y=ËÂ… ßµm2,Ïî8²ªP¡BéÊÒîyßý‹ˆä7{Ïïeîî¹8Ú;òE¯/lPZwrË- ˆkæu—­~æg$""ò Ëõ™ ÅŠ`Û¶m–= þýçí·ß¶jÁêÕ«yúé§Y²d Ÿ~úé}õ›ö73Híìn?’¤¤$«ò˜˜˜ ë †{öùow‹'íƒ{ÚørJZr!-ÙðOÙý žÕqdõÙ¦‰ŽŽNW–vÏü’8ÉI•¼*1²ÉHâ“âùíÂo¶'GÕ.^›‘MFq#‚×g»Ÿ‡ù‰ˆˆ<Èr=ÉЭ[7vìØ‘îÚþýû±³³ãÔ©S–²ÄÄDºuëÆ¤I“X»v-5bèСüúë¯Ùî·k×®¬_¿>]ÝQ£Fáïïoyíëë ÀÅ‹­êýö[Æ¿À¸ººÿûàí"**Ѝ¨(ÆŽ‹ÉdÊp|µk×`ëÖ­„‡‡D³fÍîúLÒâùüóÏ™={6QQQ„‡‡óî»ï²fÍúöí{×e ÙÑ¿êÕ«ÇâÅ‹Y´h×®]ãâÅ‹Œ9’„„„lõ™ÕqdõÙ¦Y³f ß}÷ׯ_çܹsôë×°°0&Ožl™M!""""""¶—ëI;;;¾ÿþ{>øà.\H™2eðóócܸqŒ;–ÀÀ@V­Z…Á`à‹/¾à£>bÞ¼Ûk4[µjÅßÿMdd$¥J•â©§žÊR¿F£‘µk×2}út>ÿüsJ—.M¹råX¾|9?ýô“e“B€îÝ»3uêTöìÙCÉ’%iÚ´)U«VµÌ¨^½:O<ñ„¥þСCéÝ»7ýúõ£zõê´iÓ†þýûƒÁ``Ô¨QÀí™%J”HÏ_|A©R¥(_¾899±yófÈäÉ“)V¬­[·¦jÕª<ûì³–¸ît_ƒÁÀöíÛ­úÌÊ8²ólÓÌ;—   *V¬HåÊ•9~ü8Ÿ}öo¾ùæ]Ç,""""""yË`6›Í÷ÕÁÀŠ+èÙ³gNÅ$ylðàÁ,Z´ˆÐÐPÊ–-këp,^yåæÌ™Cpp0*TÈVƒÀÀ@«D’H^6lnnn¬\¹2Çû ÉtÝáÃoÏú™;7o}°jñ‰ñw¼>»ól¼Ýnï­b6›Ù²•ÍÁ› ÇÅÁ…Z~µèY³'…]noP{àâfî˜iiÿy¯ÏùþïÙunF;#þ~þ¼P÷ŽV÷1›Í bËÙ-DÆEâæèF½’õ¨€«ƒk†}/鵄U¬bGèŒ4/ßœÕ{’šÂÒƒKÙa?®®´¨Ð‚ÎU;§Æ“&!%o˾óû0™MTõ©ÊKõ^bÄ#8ð÷þ|ýÏ,ç^ú~ÛSêÝg’¥)äRˆÝܳ^VÞïŽK:r5þ*[o᫃_qà襤¦PÓ¯&/ÔyB.Ö›þfõ=Ìlõó,6Ÿ{~)%"’Væúé’T®\™eË–Q§NKYjj*Û¶m£L™2ù*Á "‡`vçÙ8Û;[Êv„îà“}ŸÐ¦R¼ ÜÞ”6%5…ak†±-d/Ö}‘§ê)žç–=ÇéÈÓ |b þÅý¹xý"ÿùî?$§&§{¦™Ͻ o<œÌ~Ïà`t¸w%2ÿ~§IIMaЪA4(Õ€^µzz%”y{æ±êU,ï³?? ëÏHDDDlGI†GÌ!Cøä“Oxì±Ç¸xñ"ï½÷gÏžeÕªU¶MDRõJÖ³|»~&ê Ë-£Z±j|Ôñ#Ë = ö,`sðfF7Íà†ƒ-mŸªø-¶`Èê!l¼…Â.…iPªe&@íâµyÎÿ9ZThÁ‘°#ü|òg>hÿ..·ûÞ»€­g·2ªé(†6jé»vñÚtþ¢3“ƒ&³ Û‚ô}—¨M¯š½hV¾»ÎíbáÞ…Ìê4‹ŽU:ZÊw†îdÅ‘VI†ÌŽÇÙÞ™Ù»fóçå?Ûr,ÿ©ÿ«øº|Ñ%ݬŒÌŽç^ê—¬Ï:Ù‘™÷;Í•›WèY³'Ï<þ -+´¤¼gy¬À¤ I,î± ËÏHDDDl'×÷dücíÚµÔ®]›çž{Ž"EŠP§N.]ºÄ¦M›rü4‹ûqàÀ sæÌ bÅŠ–½(DäÁ²8`1NF'¢ã£°jîNî|ÒãK`å·—“ô¨Ñê}ÑEiV®—ã.³3Ôú¤¸ý!ÿŸÊ)À¥ë—,e«þ¸D ¨`U·ŠOÊ)ËæàÍÄ&Ħë»iÙ¦–ÿ¶3ØQºpéÛååþWn4)]¸4a±aVm³2žu'ÿÿ4žjÖÿ?\­X5Ê.“.®ìŽ'/döýNc´3Ò®r;«²ZPÈ¥;Bvp#ñõg$"""¶£™ Ê•+óñÇÛ:Œ{ª[·n¦§ðŠHþV·D]S´j×n^cEßVÓùSRS ÇÑèHÑEÓõ‘6eþµ é®yºzZ½.àxûXÄ´)ôi}Ûìxå‡WÒµŽ&ÕœJpt0uJÔ±ºVĵˆÕk;ŒvF :LWždJÊÖx’MÉDÆEâhtLw?€bŬ÷3žË=2ó~ÿ“§«'Fƒ1]y1÷bÄÜŠ!,6ŒrEÊe鉈ˆˆm)É ""¹Êl6óƺ78qŒ…Ýò¸÷ãV×#F’S“I2%¥›ú—á7á÷b4q4:bJ51¢ñˆtÓõÓ”÷,Ÿå¾ïvÏÌŽÇÞÎ{;{’S“I6%§Ûû )%ÉêuNŽ'7öd€{¿ßÿôÏäÌ?Å%Þ~F®®Y~F"""b[Z.!""¹jö®Ù¬;¹Ž±-ÇÒ²BKKùœÝs8pñöò¨¥`6›9v4]ûcÇ0 ÃÝÙý¾Æ˜Ñ=33ƒÁ€qÌf3Ç#Ž[ÕKIM!ôjh®§~ÉúéÚßéOíâµ3=þ{½ßÿs+†¨¸(«²èøh"nDàíæM‰‚%²üŒDDDĶ”d‘\óɘ¿g>Ïû?ÏKõ^²º̵›×x­ék8Ù;ñÁÖ¸zóª¥Î§û?åäå“<[ëÙlÏ6Ý|4Îöμ½émbnÅXÊC®„09h2•½+g8eÿ~de<#ÀÎ`ÇÔmS-{)¤šSùhÇGÄ'¥?Òãɬ̾ßiŒ#ïmyÄ”DàöÉS6O¹}:Ç“Ã,35²úŒDDDÄv æû\ün0X±b={öÌ©˜DrŒÁ` 00öíÛÛ:yD 6 777V®\™ã}‡„„dºîðá>Ì{9Ç㸓ó×Îóô§O“dJ¢N‰:é>øGóþÓïÓºRk]:Ĥ“8wõå=ËE|R<ÿ©ÿ†6ŠÑÎÈÙè³LÜ8‘3Ñgˆ¹C½’õèV½5x~Ùóü}ýoÂcéV¬Ë6ft³Ñ ?ÊÄ  ½J™ÂeH5§q#‚ê¾Àˆ'o/;¸SßuŠ×aü†ñœŽ:Íõ„ëÔ/YŸgk=ËcÞñvÐÛœŒªaÕneß•ø÷¿ë¦n›Ê§û?µ¼ÕtC ÍÌðEDDä>i&ƒˆˆHÝL¾I«E­°j€­CÉqS·Nåí ·yªâSløïŒ<ÀÔöSùóòŸtù² ›Îlºï{ÜJ¾EŸoúðý±ïÿÔx~ùk_\‹«ƒ+W $8:WWξy–Ÿúÿdi;ï×ywí;æV ßú€ÎU;söͳJ0ˆˆˆä!ÍdÉ"³ÙLª9•ÔÔT[‡’+jðbÝ-¯ë•¬Ç¬Ž³è¸¤#Ó¶M£u¥Öéڬ鷆ê¾Õ3ÕÿÔmS9uŠÍ7S´@Qü<üø°Ã‡l=»5Ã6ÎöÎxðdG莅»ã½>ÿýs|=| ¹’©XDDD$gi&ƒˆˆHp,À¶ÁÛø¬çg¶%Ç}Ðþ¦´›’®üqŸÇq¶wæBÌÌfs¶ûŽfù‘åt®ÚÙ’`HãâàŸ¯ÿI%¯JéÚ =1€ù{ægØwlB,ßþÆRODDDòž’ """rO·’o‘’@%¯J †l÷³åìL©&ꯓå¶=jôÀÇ͇-g·p*òTºë_ø’fåšQªp©lÇ'"""÷GË%DD$×øÏòçFâ ¯ v ÙE1÷bÀíµôó÷ÌgsðfÂcÃqut¥–_-6È¥Ÿ`Ó™M¼¼úeKÛ_ÞÎômÓÙunF;#þÅý™ðÔJ²þyõæUæý:-g·pùÆeÜÜ©W²Ãçqïÿmd˜dJbÁž¬?µž°ëa8Ù;Q§DzÕêEórÍ1ÚÓÅpbô œì²<ÞÌÆt7M Sª)Su‹(ʾáû2U7#ëO­`H£!^_{b-ã6Œã¯«a´3RÙ«2Ïû?O§ª¬êˆ8@A—‚¼¿å}ÖŸZOt|4ÞnÞpGÅEðU ) ¼ÿôûÔ/YŸ¨ø(fì˜Aßå}y¯Ý{ô¬Ù“Ö•Zsöͳ þ~0›ƒ73eó=1ˆiÏLãÐ¥C Z5ˆW~x…ÕýV[îIÀW$¦$2µýTꗪϥ뗘´q=–öàëç¾¶œV09h2¿œú…¹]æR·d]âãøô·O´jËž_FƒR ÒÅñf%¦»9ýÆéì½)Y͇Û?¤gÍž´¯Ü>Ã:×®3µýTÊ)Gxl8 ö.àÕŸ^åHØ&¶žh© À›ëߤQéF|Ûû[ :dËÙ-LÜ8‘]çv±ºßjÜÜ3¼Ï³µžeáÞ…l8½+!”÷,ÀW¿¢a醔÷,Ï‹rø ˆˆˆHfi¹„ˆˆä™õ§Ö3g÷ºWïÎà†ƒ-å3vÌàâõ‹Œj<-+´ÄÍɲEÊ2«Ó,¼ xñΦwˆŽN×_Ïš=ñ/ O–y’æå›óGøVßdÏØ1ƒK×/1®å8š—oŽ«ƒ+‹VdNç9˜ÍfÞÞô¶¥îž¿öP±hE—mŒ³½3E åÍoR¶HÙofc²µ˜[1¼´â%”jÀ»mßͰΊ>+˜ÑaU}ªââàB9ÏrÌè0ƒš~5Yzp)GÃZê&¦$àdtbz‡é”,TgºVëÊË _æÜÕs|öÛ÷ºp¶w¦½þ¤šSY°gp{)Ç’ß—Üq–…ˆˆˆä%DD$×uØò­þÑð£¼þóëÔ+Q/ÝÆ‚Ag‚hQ¾…U¹£Ñ‘Fe‘’À®s»Òõ_÷†Õk__.߸l)Ûtfv;ZVhiU×ËÍ‹ŠE+r<â87"hV¾‡.â­_ÞâHØËR„M7Ñ TƒoVb²¥[É·xqÅ‹TôªÈÌŽ31Ú³Ô¾ÝcíØ¼ÅRæêxûùÉyZ.!""¹.,6ŒA«áëîË‚n p0:X®%™’¸‘x'{' 8H×6킨¸¨t×þ=¥ÞÑ耳UßµfÕºc|]ý‹bîŘÜz2þ~þ¬>¾š¾ßö n‰º<çÿm*µÉÑñf6¦»ÉÍ=LfÃÖ ÃÇ͇;|˜.!ÞnÞ\‰¿b)+îQ€Â®…ÓÕ÷tõLW?#®®¼Tï%fíœÅœÝsØw~‹º/Êr|"""’ó”d‘\ŸÏ€•HIMaqÀât›ú9qwrçFâ â“âÓ%Ò–Ix¹yeùÞŽFG<œ=ˆOŒçÏ7þ¼çeƒÁ@—j]èR­ )©)ì;¿Oû”!«‡0®Õ8ú×ëÏ{ff¼Y‰énrsO†ñÆ“dJâãî[ÅØraKfvšI-¿;'HÒ¤Í(ñ,ài)«[².Ÿÿþ¹eo†ºróvráßG[fä…:/ðéþOùñÄ4+׌ê¾ÕïÙFDDDrŸ–KˆˆH®1¥šùÃHB®„0¿ë|«½ †­Ʀ3›,³¶…l³jŸdJbÏ_{p¶w¦IÙ&ÙŠ¡ícm1™M¼x0ݵEûÑdALæÛ³ügùr%{;{—mÌÂî 1 l;»-]ûìŽ7+1ÙBàî@ÎDžaQE–Ù!wòÝÑï輤sºr³Ùl9‘¢UÅV–òæå›ããæÃÎЖýÒl=»€Ö•Zß3Fw'wú×뻓;CŸzÏú"""’7”d‘\óÞ–÷ز÷ž~ï®{Œn6šK0eó¶žÝJ|R<箞cÔ£ˆŠbBë ™úvûN}—*TŠ1ëÆ°#t7os+†o˼_ç1¶åX«oê'l˜À©ÈS$™’¸ró Ÿìû³ÙLÃÒ st¼Y‰)/}ì{wr4ü(5>ªA…©¬þ\ˆ¹®Í‰Ë'˜´qç¯'1%‘Ð+¡Œþy4Ç#ŽóB¨é[ÓR×ÑèÈí?àÚÍkŒüa$]û‹Ø„XÖ_ËÇ{?¦¦oMúÕí—©X‡7ÎáQ‡©]¼vŽ_DDDîÁl6›m„ˆˆd]HHH¦ëŽíÍv,Z”w› 8N—/ºÜµÎÇÝ>¶|ks+†ù{æ³éÌ&"nDàâàB-¿Z |b åþ‘°#ôXÚê!†ðjÓW©0µ‚Uy‹ -XÜc±¥ï{°)xá±áx8{Pŧ  àÉ2OZÚœ¼|’oŽ|Ão~#,6 '{'Ê.CÏš= ¨€Á``Ó™M¼¼úe«{u®Ú™—ê½”åñf&¦¼6`Õ€{ÎÚXõÂ*Ër‰$S[ÏnåÇ?r*ò7"p²w¢ŠOž­õ,«t̰׸;#aGHHI T¡R<óø3 |b ÎöΖzÕ?ªÎ­ä[–×MÊ6aI¯%wŒíß&µžDß:}ï:¦ÉÀ¾,hâÃÓ/9¹ÜÜÜl†ˆ<üV*É "ò€ÊJ’aÊ”¢=êÄÊ•—r1"É =zÇß?‘·ÞJ¬«È(É "yd¥–Kˆˆ<Ê—O"8Ø¥•Elf3œ=ëH¹rI¶EDD$CJ2ˆˆ<jÕJ .ÎŽcÇœlŠˆÜ‡cÇœˆ‹³Ãß?ÁÖ¡ˆˆˆdHI‘G@åÊIøù¥°q£¦ÊŠ<È6lp£xñ*WÖLÉŸ”dy Ð£Ç V­rçÖ-ƒ­Ã‘l¸uËÀªUîtïkëPDDDîHI‘GDïÞ×IJ2°hQa[‡""Ù°hQa’“ ôî­$ƒˆˆä_J2ˆˆ<"<=M ~Å‹ qñ¢ƒ­Ã‘, ³ç³Ï 1bÄ5<=M¶GDD䎔dy„¼ðÂuJ”HaìX/RR´lBäA’b`ÌoüüRèÛ÷º­Ã¹+%DD!ööfæÍ‹àØ1'&Lð²u8"’ ï¼S”£G˜=;{{C+""ù›’ ""˜Š“˜93’ï¿wgþ|íÏ ’ŸÍŸ_˜åË=˜=;’Ç׉""’ÿ)É "òjÙ2žI“¢ ,Â[oié„H~“’bà­·¼ ,¤IQ´loëDDD2ÅÞÖˆˆˆmô¯‰W^ñæÂ>ø ’%Rl–È#ïâE{ÆŽõæèQ'>þ8B y h&ƒˆÈ#¬eËxV¬¸Dd¤=íÚ•böì"ܺ¥Y "¶pë–Ù³‹Ð®])"#íY±â’ ""òÀ1˜Ífí $"ò ɱ¾RR ,]Z¹s ãà`¦G´kGõꉔsÉ5f3;æÄ† n¬ZåNr²áïñ ׵ɣä(ÜÜÜl†ˆ<üV*É "ò€ÊÉ$Cš+WŒ,[æÁªU„…Ùãæ–JÅŠI.lÂÉ)?ÿsa” ‘üÏl6”dÏÕ«FΞu$.ÎŽâÅSèÞ=–Þ½cñô4Ù8Jy)É "yDI‘Un$þéäIGŽqæìYG®_·#11~ˆ¿re§NM Aƒ ØÛëhÉß莻{5jÔ˜LÁ‚©T¨„¿•+ëäÉ]J2ˆHY©ED$C?žô@™×»÷{T¯îÆÇÇZ¿.ùÛÊ•-7no¼Q‰§žzÊÖለˆä8mü(""¬#Gްÿ~† bëPD2% €®]»2fÌ.^¼hëpDDDrœ’ ""òÀš7oµjÕ¢Aƒ¶E$ÓÞyçüüü9r$ÉÉɶGDD$G)É ""¤“'O²cdž fëPD²ÄÙÙ™ÀÀ@Ξ=ËŒ3lŽˆˆHŽR’ADDHóçϧråÊ4kÖÌÖ¡ˆdYÙ²eyï½÷øüóÏ ²u8"""9FIyà„„„Ä!C0òç©"÷Ò¡CxóÍ7ùûï¿mŽˆˆHŽP’ADD8 .¤L™2´mÛÖÖ¡ˆÜ—I“&Q¢D FŒARRþ?ÍEDDä^”d‘JXX?ýôƒÆÎNÿŒÉƒÍÉɉ¹sçrîÜ9¦NjëpDDDî›~;‘Ê¢E‹ðöö¦cÇŽ¶E$G”.]š÷ߟ¥K—òã?Ú:‘û¢$ƒˆˆ<0¢¢¢øþûï4h¶G$Ç´oßžÞ½{3~üxBBBlŽˆˆH¶Ìf³ÙÖAˆˆHÖÅÅÅÙ:„<÷Ö[o±bÅ Ž;†‹‹‹­ÃÉQ‰‰‰´nÝš¤¤$¶mÛ¦¿ã’£œ±···u"òð[©$ƒˆˆ<®^½J™2e˜4i¯½öš­ÃÉçÏŸ§víÚ°páB[‡#""’U+µ\BDD³gÏÆÁÁÚ:‘\Sºti¾øâ >ùä–.]jëpDDD²LIÉ÷bcc™7o¯¼ò îîî¶G$WuìØ‘‘#G2dÈþüóO[‡#""’%Z.!""ùÞÔ©Sùàƒøë¯¿(\¸°­ÃÉuÉÉÉ´hÑ‚˜˜~ûí7\]]m’ˆˆHfh¹„ˆˆäo 2dÈ%ä‘áààÀ·ß~ËåË—0`€­ÃÉ4%DD$_ûä“O¸ví#FŒ°u("yªdÉ’|ùå—|ûí·,Y²ÄÖለˆdŠ’ ""’o%''3sæLˆ¯¯¯­ÃÉsíÛ·çõ×_gÈ!9rÄÖለˆÜ“öd‘|ëÓO?eÈ!Sºti[‡#b)))´lÙ’ˆˆ8€‡‡‡­C¹íÉ ""ù“Édbúôéôë×O y¤ÙÛÛóÝwßqãÆ á*""ùž’ ""’/­X±‚ÐÐPÞxã [‡"bsÅŠcÙ²e¬ZµŠE‹Ù:‘;Òr ÉwÌf35kÖ¤zõê,[¶ÌÖáˆä'NdúôéìÙ³‡ÚµkÛ:‘[©$ƒˆˆä;k×®¥[·n=z”êÕ«Û:‘|#55•víÚqîÜ98@Á‚m’ˆˆÈ?)É ""ùOýúõ)^¼8kÖ¬±u("ùÎåË—©]»65båÊ•¶GDD䟴ñ£ˆˆä/AAAüþûïŒ7ÎÖ¡ˆäK>>>|óÍ7¬Y³†¹sçÚ:+šÉ ""ùJ³fÍpvvfãÆ¶E$_{÷Ýwy÷ÝwÙ±c 6´u8""" å""’ŸìÝ»—F±cÇš6mjëpDòµÔÔTÚ·oÏÉ“'9tèžžž¶IDDDIÉ?ž~úi®_¿Îž={lŠÈ=ðŠ IDAT!** üýýùñÇ1 ¶IDDmÚ“ADDò‡#GްqãF&NœhëPD^^^¬ZµŠ72sæL[‡#""¢=DD$èÞ½;¡¡¡:tH߯ŠdÑ´iÓ?~<Û·oçÉ'Ÿ´u8""òèÒr ±½“'OR­Z5V®\I·nÝlŽÈÇl6ÓµkW<ÈáÇ)Z´¨­C‘G“’ ""b{}ûöåàÁƒ?~;;­äÉŽk×®Q§N*W®ÌÏ?ÿ¬Ÿ%±íÉ ""¶ÊòåË7nœ>‰Ü‡Â… ³|ùr¶lÙ´iÓlŽˆˆ<¢ôÛœˆˆä™víÚ±téRL&“¥lÚ´i”*UŠgŸ}Ö†‘‰<êׯÏÔ©S™0a[¶lIwÝd2qâÄ D&"" -—‘<‘œœŒ““f³™Š+2qâDš5kF¥J•˜3g´uˆ"³ÙL=øõ×_9|ø0¾¾¾DDDЫW/L&»wï¶q”""òÒž ""’7Ο?O™2e°³³Ãl6S¤H !!!xxxØ6@‘‡HLL uêÔ¡téÒlÚ´‰;wÀµk×ÇÛÛÛÆQŠˆÈCH{2ˆˆHÞ¸pá‚å¿SSS1›Í\½z•«W¯R¶lY¦M›F||¼ #yx*TˆÕ«W³oß>:tè@ëÖ­‰‰‰!55ƒÁÀÚµkm¢ˆˆ<¤4“A$‹._¾L\\œ­ÃyàüüóÏŒ5Š;ý³cgg‡›› àÅ_ÄÅÅ%#±=777|||îY/$$äžu®]»FïÞ½ ¶ú¹³³³£aÆ|ùå—÷«ˆˆ<œ|||pssËnsÍd‘¼޽½ý¯§¦¦ËÙ³gqttÌÃÈD>G¥C‡„††¦K쥦¦²oß>®_¿n£èDDäa¦$ƒˆˆä‰ððð»^·³³ãé§ŸfúôéÆ<ŠJäáb6›Y¼x1DGG“’’rÇzÛ·oÏÛàDDä‘ $ƒˆˆä‰°°°;~à±³³£mÛ¶Ìž=[ ‘ûÌ矎Ùl¶:*öß ¿üòKF&"" %DD$Oüý÷ßîÇ ƒHΩT©AAAôìÙ¸ýó•“ÉÄŽ;¸uëV^†'""%DD$ODDD¤+³³³£M›6J0ˆä wwwÞ{ï=–,Y‚§§ç÷BIIIaÇŽyˆˆ<ì”d‘\—œœLll¬U™Ñh¤M›6Ì™3G ‘\ФI6mÚD÷îÝô³ìììØ°aƒ-B‘‡˜’ ""’ë._¾lµTÂh4Òºuk%Dr™›››eVCÑ¢E­f5˜L&6oÞLbb¢ #‘‡’ ""’ëþy²„ "y¯I“&¥›ÕÀÞ½{mšˆˆ&(È6 ƒÁŒ‡G*%K¦P¢D2ƒM±©´Y ï¿ÿ>ß}÷7ndÊ”)é11v;k$)I?,"9ÅÑÑŒ‡‡‰Š“(T(ÕÖáˆä8%Dò‰ë×íX³Æ  <èŒÉ¤_èäa<ËáÃ_søpþ˜ÁP°`*MšÜ¤S§8š5‹G+äQâææÆûï¿Oûöí7n Aƒ;²r¥;Û¶àÜ9[‡)òÐ+[6™–-ãéÑã+&Ù:‘a0gth¹ˆÜÑåË—‰‹‹Ë±þnÝ2°xqa/.„™Ö­ãiÚô&U«&R¬˜‰”á–ßO?ýDûöím¾D"5®_7rþ¼‡;³e‹+û÷»PªT2ãÆ]¡U«x›Æ'âææ†Ï=ë…„„äØ=ãââØ¹3”~hÖ-(]:™¶mãyâ‰[<öX… ›ptÔ¯‹"9%)ÉÀµkFNŸvdß>6n,Àùó´jϸqW(]:ÙÖ!Ê#ÎÇÇ77·ì6_©$ƒHåd’!(¨S¦%6ÖŽ¡C¯ñüó±J*ˆä±óç˜3§?ý䯓OÞäí·£õ žØL^' Ì[„Ï?/H™2ÉŒs…¦Moj)‘H2›açNW¦Mó䯿èßÿ:Ç_ÅÉIÓÄ6”dÉc9‘d0›á£Š°hQaºw¿ÁèÑW(ZÔ”CŠHv8àÌÛo%,̹s#hÔè–­C’GP^&®\12xp1BB5ê*Ïÿ{÷×ÔõÿüÂ^"D†TDÄ…¢T­ZE­«Õº­öSÛ_—ÚÚ¡UkµU°në޶κ•¢â@-.€àÃÞ3ä÷_n âëùxôQrï¹ç¾OLr’÷=çÜᙋùµH]¤R¶n5Æ’%¦pv.ÄŠ‰03ã÷Cª}¯šdàŠrDµ,?_„iÓ¬±v­ ,`þ|  Du@»vùؽû ºvÍÅØ±6رÃXÝ!Õ˜û÷µ1x°RSÅØµë1FÊ`‚HÍÄbFÊÀ®]‘š*ÆàÁv¸_[ÝaU“ Dµ¨¤øì3+\¸ ‡ŸbР,u‡DDÏÑÑ‘añâg˜2%³fYàÀjgñ‰ê¬„M¼ÿ¾-¬­‹±gÏ8;szQ]âì\„={žÀÚºï¿o‹„®ÕO¯&ˆjÑâŦ8qBÁÁ‰ðöÎWw8DT‘˜>=cƤãË/-qíš®ºC"R™¼<¦Nµ†‘‘«V%ÀÄ„#éˆê")Ö®M@ÆRL˜`Ü\þl£×_­DµäèQ¬\Ùóæ%¡CÎõ&ªë¾ü2:åbòdk¤§óþ–T?|ýµ%ž<ÑÄÚµ 06æBÃDu™A V®L€D¢‰™3-Ô‘Ò˜d ªyy"ÌkŽÁƒ³8E‚è5¡¡,^,†°dICu‡CôÊ.^ÔÆX°@;»bu‡CDJ°³+Æ‚8`ˆ‹õÔ‘R˜d ª«V5DF†fÌHQw(DT††%øì³lßÞQQ\|‹^_R)ðÃæð÷ÏA·n¹ê‡ˆª [·\øûçbÎsH¥¼¿,Õ}L2Õ°Œ ¬Yc‚>Jƒ¥%ç¾püøq¸¸¸Èý·gÏu‡E80 -[à×_MÕ QµZµj…Áƒ#99¹Zu ::æææ*ŽŽj‚H|øa:Μ1@b"Wø¦×ÓÖ­ÆÈ£#ï$Q­Zµ èÛ·/âããkô\ìÇ^OŽŽEÈÁ¶m¼½2Õ}L2Õ°cÇ .°õºËËËÚ5k——‡ÈÈHœþøc:tøý÷ßãÇÇéÓ§+¬óƒ>À¬Y³„Ç%%%Ø»w/öíÛ‡;wî 33úúúprrB¯^½0jÔ(èé•õ!>>&LÀåË—‘ŸŸF¡oß¾˜AçÎ?F·nÝäêc?öú±¶.FRÂQÝÆéD5(/¯ô-¦§ÇõÔ-""o¿ý¶ðØßß_H0dffâĉ€Ó§O#-- °zõj¼÷Þ{ Dtt4¢££Ñ¥K—rëÏÏÏÇûï¿/¿üááá˜6m®\¹‚%K– ** .D`` $I¹Çoß¾}ôNŸ>ÀÀ@ÄÅÅ!$$|ðŠ‹ùã .Ð×/An.»Mzýä剨©¿¿?¢££áàà lûöÛo…~ÂÙÙ­ZµBtt4ºwï.”9wî>ŒÕ«Wc÷îÝÐÓÓƒ………B¹2åíûóÏ?Ѻuk>|AAAÈÈÈÀñãDŽիWã—_~ÁŽ;PPP€ÈÈHL˜0AXHÒÎÎŽýX= ¯_‚œÞÆ’ê6~["ªA²ÿ™*b_P' ÂßÏßò²2ºººøã?ðÓO?Á×׿þú+<==ñ¿ÿý-Z´Àÿûÿûö탥¥%Ž?$'' Ç:ÁÁÁðóóßþ‰ÆcÊ”)ذa45y?l"¢ºæ“O>AŸ>}аaC8pݺuƒ>ýôS$%%ÁÅŧOŸÊoÞ¼...ÂâÂ^Z®¢}C‡ÅÖ­[1lØ0¹xZ·nˆˆ´jÕ ‘‘‘ÂöåË—£]»v•¶‡ý© ßñDôÆ111ATTT¹ûæÍ›‡yóæU«^±XŒ   ½´\@@¢££«u""ªÌḬ̀lÙ² ÷+ó9oaañÒr/Û7|øðr·ß¸q£ÒóV„ý©G2UT*þ®ë‹x½ˆýÕ4&ˆˆ^"&&îîîxüø1$ îß¿/ì{þnDDDuû1"ªmœ.ADôFFFhÚ´)úõë‡ÜÜ\Á××cÆŒA§NÔÑK±#¢ÚÆ$ÑKXZZâÏ?ÿTwDDDÕÂ~Œˆj§K‘J0É@DDDDDDD*Á$©“ DDDDDDD¤L2‘J0É@DDDDDDD*Á$©„¦º "zÓI$ùؾ=Nx?ßDT;$’||úi,-uqþ|u‡óÊê[{ˆˆj “ DõÔ¼yžˆ‹Ëª7?ë[{ªBm“Ÿo"R KK],ZÔ––ºêE%ê[{ˆˆj “ Dõ”··¼½ÍÔ†ÊÔ·öT…:Úþ&?ßD¤:Ø«;•ªoí!"ª L2Õ3R¬\y_xhÆ Ê„…I›‘HWW#tîlMM‘B}yyÅøç âⲡ©©æÍáëk Q…ç30Ðĉ ÈÎ.‚³³ºu³†H±j$&æáôéDddÁÖVþþ6ˆŠÊæ»6h …aÃËmÏ«œ·²6UæÏ?âÑ£\¥ÊÀ¨QNhذê 3*óoYæÉ“\„†>Cff àïommÅewbb²™‰$:èÚÕ ÿ]•Sõ뇈ÞL11Y8tè‰ðxêÔf‹å?#RR &ABBôôÄhÛÖ Ë­O"ÉGXØ3H$02Ò„——Z´hðÒóÅÆfáìY ÄbÚ´1EëÖåו ’QT$EÓ¦ÆèÒÅ û÷?>çÝÝMàèhPn{^引µ©2Ë–ÝL¦\Y}}1Æs}i™«WSqö¬`h¨‰±c]pùr2®_O‡TZ‚6mLѾ½¹ÂqYYE }†§Os¡£#†——Z¶4 Ø§€¯¯¼½ÍPR"Cpð]a»‹‹š53®öóYözJL̃©©œœ áåeVî÷"ªYL2ÕS×®¥ ,L‚6mÊýH OÂŒÐÖÖ@·nV(.–aݺhè舱t©·\ç}ö¬Ÿ~==Møû[#?¿ÁÁw`g§•+;ÀÖV_á|%%2\¼˜ŒV­LðìY>,¸ ??k¬Yã+ßž=ñ˜=û_ØØèÁÏÏññÙ ¹ 7·8pà1‚‚£Aƒ õ¿Øžªž·*mª+*j{™Ã‡ŸàèÑ'ðö6GZZ‚ƒïÀÚZë×w‚½}i{ŠŠJðá‡çqíZúöm„ ´pìØSÌžý/æÍóT¸:§Š×ÑÁƒ›…‰]!‹…íë×Ç`Ñ¢[hÖÌ^^¦HN.ÀÂ…7Ѷ­)–.m33¡ìêÕ÷±xñm¸¹5@»vf¸u+ ßo¿Ý zÉ%TËΧ¯/Fxx\]YZþóÏÝ1aBS¡¬L|ûí¿Øºõ¼¼ÌЦMCìÞ•+PŠ›7Ó1ujs¥ÚS•óVµMµmëÖXhhˆ™†ŒŒB4oÞ11YX¸ðºw·Æ²eí¡«[Úösç$˜<ùÜÜLàéi†ìì\,[v¶¶zö•Ui{óæX¤§bÒ¤¦ çûûï'°´Ô…‹‹‘°­ªÏçó¯§víÌðôi.–,¹  ÌŸï‰,jð#¢1É@TÏèèˆ1}zs¬_°0‰Ü¾øøL˜[[}ìÞí##-¥ÙÿwÞ9…±cÏãï¿{ÀÂBññ9˜<ù"¬¬t±o_w”~\LœØ }ûžÄ´i—±gŸÂùΟ—`ëÖ®ÂUmSSmlÚ‹ˆˆ´kW:ü>**_} ®®ÆØ¹Óúú¥_V?ÎEŸ>'C‡6A›6¥?XËkOuΫl›*3p C5þeªîeÿ–Ï»x1 »wwÚ>rd‚‚Î`Ê” Ø¿ß"PT$ÃùóIض­«0 B&>û,_}uíÛ›ÁÖV_e¯"z³9;aúôæ¸};±±YrûxŒ¹s¯#0Ð?ÿì%Œ"‹ˆHÁ{ïýƒÉ“/`Ç?ˆDÀþý°`ÁMôïo‡Å‹½…«Òû÷?ÂŒ°±ÑÃ_´T8_rrÖ®í ô³®_¿“XºôÆŒq–Véø-[b±uë9â§ŸÚ ñ>üÓ§_‚¶¶¦Oÿ/ÉP^{ªs^eÛT™iÓšWZ¦*<=MáéiŠãÇŸ"**Í›7ÀäÉÿý˜_µê.¼…E‹naÖ¬Ö€… oÁÑÑÛ¶uÚ1iRSôêu ypp0ø¿çP†¥KïÀÙÙHèƒ44D;Öü+: íª>Ÿe¯§°p¡—Ç'Ÿ¸¡oß“ˆŠÊ`’¨–ñ–DoM›b—'Å8 ?ÀÌL#F8!=½Û¶=l܃¼¼bŒã,ü€Æ Ы—-"#SqåJŠÂ9 p6ïéYúe"66[ض}{¤RFv `g§Þ½U«mÊœ·ºmªëFv’k{›6 Ñ¡ƒ¢¢2‘ ÐÒá‹/ZÊ­³ ƒ7FQQ ΜyVéyªòú!"ªÈªU÷”…~šZ»vfèØÑW¯¦âòåäÿ+[:Ôþ£šË {ç{XYébóæX•(œ#(¨±ð·H´mkŠü|)ž>ͶoÚ W×ß~»QµGµ)sÞê¶©6‰DÀ˜1ÎrÛÞßzzbl߇ÂÂÒøJJdHJ*ÀÓ§ÿM!´µÕǬY­Ñ¨‘ž°mäH'è舱v­üÔ‰mÛ }{ó §*÷|–¾ž¦Li&÷|6l¨9s<ж-×"ªmÉ@ô¹u+àâb¬°ÏÉÉP®ÌíÛ¥ÿ¿~=))wäÊ–}™ø÷ß4xyÉwÞ66zr4(ý1š“S$l»w/Ф‰â ìíËÿ¢QeÎ[Ý6½¨¶ÖdP–ƒƒâóèäd„ðð$Ü»—ooshii`ìXœ;'A\\ÒÒ PR$%åøïÿ/S•×Qy¤RîÜÉ€X,*÷î5NN†8wN‚[·2àåe†»w3 ¡!ÂÁƒ!zar½X¬¼<)îÞÍÖ(ób’ AƒÒÏàÜÜb!ŽØØ,ˆÅ"aZÙóììô‘œ\ùçâ‹”9ouÛô"U¯Éð<33aJD1lmõ“…‡sàâb„l‹3.£Gcðõµ€:t°ÀСŽrÇššê 0Ð;wÆãüù$tìhâbþø#¿þÚ¾Â8”y>Ë^Oå%*ÞzËVé6‘ê0É@ôF©|õ#Å/<Še|}-áëkYîU/.ìõrŠßޤÒê]½©Êy«Ú¦º®¼E­dÂ7ÏÒÿß¾ ‘]„€[ØØèASó¿ÁlR©2ßT«þú!"ªžÒÏ$‘H‘¨üÏ–wß-½Êml¬¥°OãÇê–”(ùë½ç­n›jSI%]qYè qâÄ[¸r%—.%ãÔ©,Zt -Z4@Hˆþûáÿᇮص+kÖÜGÇŽ8pà,,t_z'£Wýw$"õ`’è âîÞ—/'#::S¡S‰)VàæVú#»eˆ¸|9]»Z£woù+¹¹R¬YsOîËCU4mj„Ë—“› ooù•ª«2B ªTÕ¦ÚZ“AYOŸæÁÙÙHnÛƒ¥ÿžÍš•þ{.^|‰‰yؼ¹³ÜÜÔ¨¨ ¥§8TåõCDT±X„æÍ **qqÙpr’ÿ슉)]ïÀÝÝb±Íš#**£Üa÷îeâØ±§hÔ¨êSÄbœ]zUþÅQæT¹NeÏ«ª6©zM†ç¥¦ '§XnjaAAé4==M¡¯\±â.FvA»vfh×Î S¦4Ã… I9ò,.¼…ààÿF)8;¡K+üóÏ3Ü»—‰5kîcâDÅ… «âù×S||ŽÂÉýûA[[¬ÐçQÍb~è 2z´3ôô4ñÇ1ÈÊúoAJJ¶n…‰‰6Þ{¯ÉseÅX·î> ¤rõ,]…íÛã„U£«jøp'ˆÅ"l܃ÜÜÿêŽÏÁñãO«U§2j²Mê´qcŒÜH„ÿMÃ… Ipsk LýÐÒ*½ìT\,uîæMå§7TåõCDT‘²;„„Ü•1‘‚ðð$xzš èÉ“›~ÿý®\R|óÍ¿ÂPùê5Ê n±¸oß#¥¦UWM¶IUD"(¬Ÿ°aCéºFÆ9 ‹.®\yÿýX®\Y¦¼‘‰cǺ>þø2ÒÓ Ñ·¯Ý+ÇZözZ¾ü®Üô‘¸¸lÌœy ÅÅê]ß‚èM$ž3gÎuAô:ÉÉÉAaa¡Reïßׯßbúô´Žê?R,_~/& Wbž<ÉEÛ¶¦hÐ@mÛšbÿþÇØ±#qqÙ8y2sçÞ€––V¬ð®*5h //3ìÚmÛâ›…‹“ñÛoQ¸v-kÖt„•Ué:!!wþßù23 áîn‚={âqâDîÞ-]ƒ!!!ÞÞf07×½½öî}ˆááÃ9ò›6Å¢[7kܸ‘Ž!C™‚/ IDATam­÷ÒöTõ¼UiSm’Hò±vm4.\H³gùÿ·-..Få¶½Q#}¹òݺYaÉ’(ÄÆfáÀÇX¸ð&ìì °jUGam gg#üý÷ìßÿ±±Ù¸~= [·>À¥KÉHLÌ ÂÓ§ypwo€+î¿òë§>RÇû™Þ<ÚÚÚ04T\«àEiiÊ¿ÿþ»´¾·ß®™«ó剉ÉÂæÍpñb2ÒÒJûÌÌÌ"¸¸¡Y3cjaãÆœ:•ˆ˜˜,ìÝû‹Ý‚——BB| ¯_zÝÕÕ hcÅŠ{8u*ÑÑY8sæ~øáŒŒ4ñë¯í¡£#FbbÖ­‹‘;PºÎÏÒ¥wpñb2J ÌÎ.B³f ЪUC¤¥bûö8w. Ñљر#wïfÀÜ\‰‰yÂ-,+j¡¡f•Ï«l›ÔeÛ¶ÐÐÁÞÞë×GãÎLl؃-[ {wküðCaºÝÝ»X³&·n¥#**G>ÅO?Ý€‰‰6æÍó”»)88àØ±Ü»—‰)Sš)Œf¬Î¿cÙëiÆœ>ý 11Y8|ø æÍ»!CWi-Š×:ÞÏôæ144„¶vµ×»ÍéDõTÛ¶f宨ìëkÓ§ßBX˜±±Y‰€yóÚ¢sgKáÊDs¡lLL´µÅ˜<¹)üü¬®²Tt¾Æ 1}z …íØÃ××§N% #£ööúøæ,[Vº £ŽŽ|,Õ_ÕóV¥MµÍÏÏ~~Ö Û+jcYùÑ£šZ€óç“`fVŒE‹¼àïo#wŸõ- ,¬7NJÀãǹÐÖ£gO[4j¤‡mÛâ”>gU^?DDýú•¥zìXÚ㟞!1166zxÿ}áÖÅÏ{ÿ}gôïo‡þ‘ !!ÆÆZèßßmÛš*}¾N,Ñ©“¥Ü6‘˜3ÇC‡:âÂ…d— K+têd‰wß UXøðeõWå¼Um“ºÌžÝÿþ›†«WS`jªqã\áã#ŸX²ÄÏžåãÊ•¹ŠÔÜT˜é›ÁÙÌCÛ …™¾™\ÙYGf!6%Vx<¶ýXôtíùÒúï%ÝÜcs„Ç-­[âë_«´ DDošCQ‡°åꀩ¾)‚«9¢W“ƒÃQ‡%‰B^QlŒmàaë-B[¬­Pþ»ãßá®än¹uõiÞ£¼F•»ïfâM쿵qiqÐÑÔAKë–jS}S@~q>Æî+”‰DXØw!5hôÒø÷ÝÚ‡ÿîñ‚-TÚn"¢êàH¢zÆÊÈ wù¦ú¦¸ôèò‹òÕRµ‰9ße¾Ø¹>>ë=^v^Øu}ü–ûáPÔ!¹òÃÚ ÃÇ]>ÆÄ¸ôè….‚L&{é9B·àÒ£K¸Ÿ|wù[¬É&½<yâã.#1+מ\Sw8¯dQè"ôZÝ Q’(¼Ýâm¼ßî}ØÛbÞÉyð_áèäh…cn?»K.•û_|Z|¹çùùÌϵmŒtŒ0Âsü]ü±÷Æ^tYÞÒ´4´ðq—1 å\zt ^ÄÊ +_qI1….Â¥G— %.=ÞÛÞûÕŸ"¢ p$Q=c m¿w\Ý¡¼²Œü ˜è™`ûÈíÐ×Ò¶÷p퀕øêðWðsòƒ¡Ž!€ÒQ ©¡ =D'Gãè½£èݬw¹õǦÄâ|Üyhˆ4 -Ö†ƒOÍ7Šˆè `clcè  ¸@Ýá¼’”œø9ùaù å¶nÎÝÐܲ9&홄ÙGgcÛˆm ÇýÐë8™9)l·6²VضéÊ&¬¹´;G­‡°ÝÛÞÝWtG^Q@¬!†ƒŒu¡%Ö‚¶X»¯ïÆÔNS+µ¸çÆáxssöuDTã8’ˆê¬NްaعXZÁÃÖ¹E¹ˆ’D•{ìï1JG*TdyørŒò‘H¤º ‰ˆ¨^ï3?ôþAa{w—îÐkáꓫ厚kiÝ>> ÿ5nØX®\~q>ÿ³®r °k`‡#wÀÞÄ^¡~M MŒô‰Bi!V]XUnìR™+ÂW`¬÷Ør÷Õ&ˆ¨Î270GsËæåî+.)XZ–»¿k“®hmÓQÏ¢p*ú”ÂþGép&æ Þo÷¾ê&"¢zÇÉÌ ¶Æ¶åî+‘•À\ßü•’ÕgbÎ « ›t.w¿g#Oèié•»ïÃöBOK;þÝäœd…ýûo퇵‘5Ú;´¯v|DDUÅéDo€ƒQqüÞqdäg ‰iŒô g3g¹2±)±Øu}âÒâPX\ˆV-0°å@…r™wrn&ÞT:¦EýUø¥­2™ù™¸™x;)\zÞÔNS1q÷DŸ †¿‹¿Ü¾ßÃÇ{mÞCÝÕŠˆˆ”—_œMW6!âQŠKŠáaëÑ^£a¢g"W.<>‡ïÆÓŒ§ÐÑÔ—¶(,|X™QÛFAZ"Uª¬‰ž‰Üˆª ‡´DŠž#ÊÝ}·ö!.-b‘Í-›ãÝÖï*ŒJ([³Â±¡#NEŸÂ¡¨CHÉM…zºöÄ[Mߪ0‰aªoŠam†aýåõX{i-¾èþ…°¯DV‚ßÃÇ7=¿©v‰ˆªƒI¢znÁé0Õ7E·þHËMÃêK«±3r'V ^.Mº(ý‚3bëôpíA-A¬!Ɖû'Ðku/|ð F{®ô<[D×JÇÕP¯aµÛôÛÙß -ÖÆÜ>s_ZÎßÙ-¬ZàzÂu„=Úû4ó)ŽÞ=ŠOT;""RNqI1&îž m3±)±>ŒÝ×wcûÈíBÂyÝåuXpz&øL@OמÈ.ÈÆæ«›±(tvÚ%¬»ó2Ó:O«tÁß2Zb­WjÓâÃÃÆã}Æ—[fEø m3;!1+DüÕWca¿…è×¢ŸPîIÆ¥}[jn*Ƶ=œŒ>‰©NEŸæ}ð[àoЕ?y¼Ïxl½¶[®nÁÄ…ÄÍá;‡a¤m„ÎM:#âqDµÛJDTUL2Õsææø¾×÷Âã®=à÷»>=ð)B'‡BOK{nìAqI1–¼³š¥ þ.þHÎIFz^ºRçiaÕ¢FâÑÎÈØscÖY»v/-+‰0Åw ¦ý5 Áç‚…$ÃÊð•x·õ»¯”è ""å¤ä¦`ˆÇômÑ@iÿâlæŒñ»ÇãÛcßbõ»«Û®mƒg#O|ê÷©pl×ð[Â¥ÎÕ޾槔ÈJðÕá¯[”‹-÷”›¬ø6à[41m"7Ía@ËX€Ï~޶¶m…ÛN–µ-J…Ðɡ»€¦A„]×w¡“c' k3¬Üx, -ñn«w±åÚ¬»¼3ºÎ€L&ÃòóËñ™ßgªn>Q¥¸&Q=Wö¥®Œ©¾)º4é‚ÔÜT„LJ(]XªDV‚ßÂ~CF~†Pö›€o0¨Õ Z÷eöÞØ‹ù§çcð hÛ¨­RÇôjÖ Îfθòø .Ä_€$[‚Q0®ý¸Ž–ˆˆ€Ò;"ôn.—Ÿî.Ýa¢g‚ИPdd(í‹n$ÜÀþ[ûQ$-èjêâa …eí$²•1óÈLÜ~v[†o™¾Y¹eܬÜÖQÐÓÒÃ!(”â`ÔAa»¶XÐÃ¥‡Â¾¡m†€Â-›_4Ñw"454±ñÊFdægâØ½c‹Ä S‰ˆjG2Õså-Œhclxœñ0Îg¤2)¶\Ý‚ÕW£•M+xÙy¡¿[¸[¹+užš^“!ìA¾?ñ=Ö­‡Gåü ‘¦tœ‚O|Šó!hnÙÜÀÂÐBé:ˆˆ¨úÌôÍ ‰¶[Y#=/O3Ÿ¢™E3üÒÿüú3f™‰oŽ}ƒ6¶mÐÁ¡´c]c¥ÎUÓk2,ùg .?¼Œí#·W˜`x™²õ¥?¶Y•öÓe}óóÊúɲþº"¶Æ¶ÔjvFîĆˆ 8qÿ>êôQ•ã#"R&ˆê¹Bi¡Â¶²¡™zš¥WY4541µãTLñ‚è”hœ}p{oìÅÚKk1½ÓtLë<­ÒóÔäš ·ŸÝÆ'û?Á²ËÐή°}õÅÕ°2´Â;îï¼ôø~-úaéÙ¥GäÓH›pLésÑ«)¯€ì‚lnSlªoŠŸúü„ïÞú7nàLÌl¸²!çC20]ºVz®š\“aGäì½¹;F¹°}Ƙâ;.æ.•Ö‘™Ÿ r£ZY·Â6l“IX¦ì92Ð6¨´îɾ“±çÆ,_džŽx«é[•CDT˜d ªçî'ßG3‹frÛÊFxÚyÿ³íìÚ¡«SW¸š»ÂÕÜ£½F£ïº¾Xqa>êôQ¥·çª©5g<Æø]ãñcï…5ÊĦÄ*uÅJ¬!Ƥ“ðÕß_á÷w`md]#±‘¢ô¼t$e'É KÎIFbV", -…õuÆïy½çÁÂÐ^v^ð²óÂ(¯QèÒ ë/¯W*ÉPSk2œŽ>ßÂ~Ãæ÷6+ŒÂû÷É¿È.Ì–+ö ß(ÞÕáâËo{oa[@Ó|ü{\y|E¡ü¿Oÿ \»ìMìÑß­?þºù¦tœòJ·Õ$"zL2Õs+ÃW¢];á‡õÆ+qGr}[ônOy/é.>¼ˆ6¶m„!©)¹)HÏK‡‘Ú¾¨¤ç¥ãÃ"¿8#6bcÄF¹ýÒà}¯÷•ªkPëAhiÓö ì+/LDD*#‰1÷ä\,è»:š:(’áÇ?¢¸¤X.‰ñ(+/¬ÄW=¾¦WD'GC&“Uû–Ǫp=á:¦ï›3}3Ì:2Kaÿ³ìgr“r’°åêxÛ{£Oó>Âö‘;pìÞ1xÙy¡§kOa{C½†˜Þy:žYˆ•Vbb‡‰€‡é±ôìR˜ê›b¢ïD¥bý¦ç7ø°ý‡ ˆˆj“ DõLlJ,f™…ø´xÀï1µmô´ôž—Ž„¬ h9?öþQ8f¤çH¬¸°C:ÃÉÌ @iâÁÃÖsÞš£ŽföÞÜ‹˜”À¥G—*-¿(t®>¾ŠÜ¢\Ì:2 õâ¡(ý’ûâÂa?žø·ŸÝ†´DŠÔ¼T ß2>}ðqçUÞ"¢7É¡¨CØru âRã`n`ŽöíÑceXZàaÚCJ ñE÷/0¼ípá˜Ïº}†±Ù~8˜8 « Ò!Ð=_tÿBmm >Œ¼¢<<Îx\éÚÐѱ#Þkû¾9ú æžœ +C+<ÍzŠÌüL k3 _vÿRáv”:L€†H!çC°!bÌ Ì ÏFžø¡×°2´ÊŽÝ9©¹©((.Àð-Ãáaë!ðþ€Ó)ˆ¨ÆˆdÊN\#"À³gÏ]yA‡bút+DGÇÔpTÿÉ)Ì‘[€ÑÃÖÚbmÄ¤Ä » 6†©¾i…Ç>L{©L c›j-j¥J ™ x˜þð¥eìMì…+\w“îÊÝrSC¤!7$õEQ’(a~lS}S¸š»¾BÔT_©ãýLoCCCXYYUZ.&Fù×á´i¥õ-[ö¬’’ªóüç·¶XmµE~q>¢“£!-‘¢©ES…»/”IÉMÁ“Œ'ÐÑÔ];¥Ö#¨I/ö-åq·r‡¡Ž¡Ü¶Y $Ù$f%BGSN¦NÐÑÔyi=…ÒBÄ¤Ä ¿(ö&örk?”¹üè2Jd%Â㺠Ðܲy…u–MÑxž£©£\â‚^êx?Ó›ÇÊÊ †††•,ß.Žd ªg ´ àãࣰ]™ÎÚ5¶¶BuØÛ”»ÚvEª:<´.݈¨>)ïó[WS-­[Vz¬™¾™Ú“ÜÏ«îÔ ‘¬¬«´¶X»Ò¾éeÉóò”÷€ˆ¨&iT^„ˆˆˆˆˆˆˆ¨rL2‘J0É@DDDDDDD*Á$©“ DDDDDDD¤L2‘J0É@DDDDDDD*Á$©“ DDDDDDD¤L2‘J0É@DDDDDDD*Á$Ñ"); .ó]„ÿþ}ú¯ºCz-ŤÄàýíïÃe¾ "G¨;"¢×ÊÁ¨ƒB?äö³›ºÃym‰9ƒž+{¢ÙÂfê…ˆH“ Do C DOº~Rîþ÷}Œ®Ë»"=/½–#{=ddcÞÉyµm²ÔÑk©_‹~ˆþ2;*ìË-ÊE•=0~÷x5Dözx˜þvOÀ¢ÐEHÎMVw8DDåb’ˆ%²È Sw‚ñ»ÇÃe¾ ¤2©ºCì¾±iyi8üáa´²n¥îpˆˆê™L†Y JJJÔŠ Õ/­0tóPu‡!XòÏx6òľ1û` e îpˆˆÊ¥©îˆ¨nX6`™ºC¨Ó†µ]M]u‡ADTohàô¤Óê£NûéíŸØQÇ‘ DDJà—:""R7öEDô:àH¢z*« ¿„þ‚£÷Ž"#/ 0Æ{ŒB¹ÌüLxþê)<^7dº:uUØ20WŸ\Å¡¨CdKP"+AðÀ`ônÖR™ë/­ÇŸ7ÿD\ZÄ"1ZXµÀï1èݬ·Üù¤%Rlºº {®ïÁƒÔÐÕÒ…ƒ‰šàÝVï"1+7 Ê7[ðߢVÛGnG;»v/m÷èí£q>î¼ÒÏÓÑñGálæ¬ty""R^LJ ~>ó3.<¼i‰îVîø¬Ûg åŽß;ŽÉ{' o}v :š: Û?†%aK.¬!tùãËh¨×©¹©>Œ“Ñ'ñ,ëŒtŒàmïi§¡…e ¹ó¥ç¥#ä|NÜ?ĬD˜ê™ÂÙÜîèÛ¢/6_ÙŒù§ç®<¾—ù.±†w?¿[i»›-li‰rÓýÌ Ìqaڥʽ˜d ª‡ ¥…µmî&ÝÅìž³ñvó·‘[”‹•á+qá¡üc]cDõ—×cîɹn_º“}'cjÇ©È+ÎÃÈ­#”& &잀³qg1³ÇL¼ãö ¤X¾ýùfö˜)$7¤%RLÞ;ÿÄþƒ/ý¿D·þÐkã\Ü9|yøKD>ÄŠÁ+ýe4ÆïÓѧq÷‹»‹ÄJ·}ã°*x‰ˆèUŧÅ#hSô4õ< žvžx”þ?ú ÓÊ• h€è/£1iÏ$œ¸¢Âí³ŽÌÂÇ]>ÆÂ¾ q/ù†ldK´)Řÿö|´wh'OðíÑoñîÆw±ù½ÍhÛ¨-€Ò»-m B´s{Ï…ƒòŠò°#r¾8ô2ó31ÎgÆùŒC«_ZÁÍÊ ;Fî¨RÛ•IDÕWœ.ATíº¾ 7obX›aÞv8LôL`kl‹9oÍ–X«Zu4 À Vƒ`¬k +C+Ÿp½›õÆ_·þBhl(Þmõ.F{†‰ž ¬ ­ðMÏoàfå†E¡‹š› ØwkNEŸÂÐ6CñA»`¦o##ônÖ“}'W½N….Bf~&fÌFç&¡¯¥fͰ°ïBH²%Õªs¢ïDø8ø@OK6¸ûù]4ÔkˆE¡‹ð$ã ¾öÿÝœ»A_K®æ®ø-ð7Èd2|wü;¹¸g<Æìž³áïâm˜˜cjÇ©èêÔUUÍ'"zcq$Q= èÒ¤‹Üv‘H„ööíqGr§Êu¶¶i]îöã÷Žz¸öP8W‡¸ýì6„!Ð=Çîø9ù)Ô3±ÃÄ*ÇDDDu×?±ÿ€ÂwKCK41m‚©ª\§‡G¹Ûß; ‘ü]üå¶[ZÀÕÜ7o"1+ÖFÖ/í‹Ö YW嘈ˆH“ DõPÙÈ33…}åmS†¾–~¹Û“sJïÓ=a÷„ K‹“+[Ý”Á5ˆˆÔ¯PZˆœÂèhê”Û˜˜U+É §¥Wî¹² ²m–´©ðظÔ8˜ê›"« :š:0Ю¹[@rM"z“1É@T™ê›RrRö•-”¥*†€-÷ÀÇÁç¥eÍ Ì+ŒëE"ˆª×d "R?m±6 ´ S˜ƒÜ¢\…Dƒ*û"m±6Œu‘SƒÛŸß®t##dd!§0§ÒDCuû"®É@Do2®É@T• -ªú¼«O®ªô\½šö\|xQa_dB$\¸"&%ðVÓ·gbÎ(”{r.ú¯ë/<.»MWaq!`Ö‘Yødÿ'*ˆˆjNE}QZ^ZµF1¼L¯f½ •Iqåñ…}+/¬D—å] ••Ž,xY_Ô]¹Eõ´ôP$-¬ Àö·«4v"¢ú†I¢z(È#­mZcGäl»¶ ùx–ý óNÎCBf‚JÏõŽû;èéÚ«/®Æ¶kÛœ“Œ¼¢<œ}pÓÿšŽ‘ž#…éîðwñÇÎÈØ±)¹)ÈÌÏĶkÛ°õÚV|ê÷©P¯»µ; <>’l Î>8‹ööíU;՜Ϻ}=üpüœ}p¹E¹ˆNŽÆŒý3*œ‚Wísù}|qè „Æ†"« éyéØvm‚Ïã+ÿ¯„Ÿù}»v˜{r.NGŸFNa³ñí±o‘”“$w»gwkw2¡±¥‹XönÖsÞšM õÌòÊ-ÊEë_Ê_ü2Ð=¿ôÿ¥–#¢Ú¦Î÷3½9 aeeUi¹˜å_‡Ó¦•Ö·lÙ³jÇU]R`á™…G±´M-šbZ§iX±^X?'¨uü]ü1y¯ü]†Ý1ÊkÞÝø®B½Ñ_F+lKÏKÇòóËqüþq$d&ÀX×nVnï3^®)+r>ÇïGbV"LõMÑÞ¾=þ×õplè(”‹M‰ÅÌ#3q3ñ&LôL0ÉwF´¡‚g¦zNEŸªp ¤y}æaˆÇZŽˆj›:ßÏôæ°²²‚¡¡außÅ$Q½.I"R-¾Ÿ©6Ô·$©ßÏT^5ÉÀéDDDDDDD¤L2‘J0É@DDDDDDD*Á$©“ DDDDDDD¤L2‘J0É@DDDDDDD*Á$©“ DDDDDDD¤L2‘J0É@DDDDDDD*Á$©“ DõØ®ë»àö³ú®í‹Nü€E¡‹0n×8¸ÌwA”$ É–`éÙ¥¼a0\æ» >-^ÍQÓÃô‡p™ï‚ƒQËÝŸ[”‹¥g—bä¶‘p™ï‚Ÿþ[§âSVEíàk’¨þÉd˜ù÷L¸ÌwÁ;>À‚Ó 0ïä<ô_×m—´Ê]}rKÏ.E‡-\mH IDATeÐ)¸“#¦2»®ï‚ëWH²%åî¿—tKÏ.E·ß»Áíg·ZŽ®òø”UQ;øš$ª>Mu@D5ãiæSÌ>2wÀº!ë !ú/§¸3r'ÌõÍ–†–˜Þy:2ó3™©®pé9'¦†&üœüÊݯ¯¥é§#ä|.Ä_¨åè*OYµƒ¯I¢úã`ÔAìˆÜOº~‚©§ Û‹KбîÒ:á±g#Ox6òÄñûÇ‘š“ªŽPéÇïG+ëV°4´,wS‹¦hjÑ#^ù‡~uTŸ²*j_“DÕÇ‘ DõÔ…ø (.)F { \‚†x …¡…š"£Êœ¸w>>0Ò1Rw(åªëñQÝqöÁYÀÀ–å¶kjhbB‡ ꉔW”‡óqçÑÓµ§ºC)W]èMÇ$Q=•Y 0Ó7Ss$Téyé¸òäJýâT×ã#¢º…}Ñëé\Ü9äç×ÙÏúºÑ›ŽÓ%ˆê™‚⬼°מ\컵¯Ü9ûF:Fã=F©:óŠòðOì?ˆK‹ƒ¦†&š[6‡oc_a„DÙ9˺Â@Û'îŸ@vA6œÍœÑ͹D"‘BÝ1)1ˆ| I¶†èÚ¤«Ü(‹Šê>vïr sáaëo{o@bV"NFŸDaq!ÚØ¶AÛFmΧL{*óçÍ?ñ(ý‘Re`”×(4Ôk¨TÙÓ1§!-‘¢‡k¹í‰Y‰8}ùhܰ1º»ti=•µqëµ­HÎIÊÛ›Ø WwEîBBV@WSWîjcyñIeR„ņ!.-…Å…haÕ;B,+ÄUÕv”y’ñ¡±¡ÈÌÏ„£©#ü]ü¡-ÖVêX"ª}1)18u1)1€ó!ÐÔPüÚÙ²š(U§$[‚°adK`¤c¯F^haÕBáœe¦všŠØ”Xœ}pb 1ÚØ¶Ak›Ö õÊd2\}rw“î Ÿ1Ýœ»AWS÷¥uÇ$Ç ìA´ÄZèÒ¤ š˜6ÜL¼‰‹/B_Kšt‚ƒ‰CµÚS™eg—A™Reõµô1ÎgœÒuŸ¸ö&öhjÑTn{”$J)énå߯¾/­çem|±߯¾ð¶÷F‰¬Áç‚…í.æ.x»ùÛ//« ¡±¡xšñ:š:ð²óBKë–åÆUÕv”¹žpW_A‘´mµA{ûöJGô¦a’è ´ùêfèié)•d8ûà,>=ð)ô´ôàïâüâ|Ÿ †‰V^ [c[¡ìµ'×ö %²\|x­¬[áYö3,8³~N~X´F([$-‡»>ĵ'×зE_4Ðm€c÷Žaö‘Ù˜×g´ GYÝ2Èñ(nVnˆNŽÆüÓó1Òs$º9wê «ÐʦîHî`îɹ˜Ñu¦tœRíö¨Ã‰û'в…\{nìÁì#³acl?'?Ä¥Åaå…•ð°õ(·eۊȧ‘ÐrìMìå긑x±)±ê1ô¥ñ%f%bÄÖ(‘• ‡Khˆ4ð㉑]zÿÿj·£Ìá;‡qôîQxÛ{#-/ Áç‚amdõC×+ÄMD¯‡¼¢<¬¾¸ƒZ R*ɰúâj,þg1Ü,ÝÐξn%ÞÂ÷Ç¿ÇÛÍ߯Â~ å’Ž£"6%úZú‡«…+"ŸFâûãßãónŸË%N£“£1õÏ©È.ÈFïæ½!-‘bëµ­øþø÷X;d-ZXÊÿè/«Û@Û—^B³&8ûà,æžœ‹Åý#&%Q’(8˜8àLÌüxòG¬~w5::v¬v{j[‰¬§¢O!Ð=PØ&“Éðí±o±õÚVxÙy¡ml¹¶¯l„´DZn=•µ±Ì–«[–—†I¾“êøûÎß°4´„‹¹ËKã;w“÷L†›•<í<‘]eç–ÁÖØÁƒ…DOuÚQfîɹ¸—tÍ-›#65 Ï,Dw—îX6`™\BŠˆ˜d ªwt4u0½ót¬¿¼aÂ舮N]åÊü}çoäåVZW|Z<&ï +C+ì³Ú€‰&¢ïÚ¾˜ö×4ì½GáœçãÎc눭ÂU+S}Slº² #Ðή ¨¤çãÎcÛˆmÂH™L†Ï~†¯þþ íÚÃÖØV¡îð¸pl±E¸JþÁްåÚ$ç$cóðÍ•ú!›† ä|>lÿ!t4uªÔžÊ¼8·XU ¥…‹ “»Úõ, _þ®®Ø9j'ôµôRàõï(Ô¡l‡·WsW¼·å=h‹µåÚ䄽7÷bjÇ©ÔjÐKã[wi¥?Â¥é—`¢gø¼ûç´an&Þ’ UmÇó.>¼ˆÝ£w ¯§‘ž#´)SöNÁþ1ûË!CDêålæŒé§ãö³ÛˆM‰ÅÔŽS…ÏbHËKÃê‹«•ªkÿ­ýXpzú»õÇâþ‹…÷üþ[û1ãÀ ØÛà‹î_(œ397k‡¬PÚ¿ô[×KÏ.Åï1Ðk(½[Nz^:ŽŒ?"Œ8û¢ûxgý;øß¾ÿáȸ#‰D u§å¥a廥Wáó:ç¡SH'Ì:2 ¶ÿ¿ú0µãTt é„àsÁrIeÛS™i§)õüUÕµ'ך›*7a˵-Øzm+‚<‚ðSŸŸ„íÝü Ÿú\a”вmœÞy:4Dø5ìW8›9 ß4Dë="6`Õ»«äÊåÅ·ðôB8š:bÛˆm¹&ùNB¯Õ½™ $ªÚŽ2’ ´ °aØaÛª «°ðÌB,:³³zΪړLTÏqM"ªÐÆ+‘W”‡1Þc„«Ð¸acôjÖ ‘O#qåñ…ã´ ×Q{6òÄ¦Ä Û´4´ðE÷/„/ ‰0¸Õ`I‹p&æL¹1ºÊ Ã÷°ñ€L&C@Ó¹émµEAqg<~åöÔ–óqç‘[”+÷Åi{ävHeRŒö-ü0€&¦MÊ‹Z•6zÛ{ÃÃÆÝüKnêÄõ„ëˆO‹G·þ•ÆW"+A‰¬7o Û454ñy·ÏáãàSív)§y¾/ÚÆ›~Ì'[?aÕ™UŒi9Èâ: ñ;gÅ7¼ùp®>¼ÊÀu©W¾ö¸VrÅÃÞCëømÇó¶;”qÀÿ–?W^ÕJT¼{œ¶X«<%=…)»§p%âJŽÌ} LMÉÌÌ,Ô¾¨ Ú“ö^ÛË›ÕÞÔZ; _£~:œÜ¼‹{±ºçyiãঃøtÛ§¤ªSµžNô¼ø–_ÂÎ+;µÊª—®hFyÑvdËÈÌà÷S¿k•ýqú’Ò’èÝ ·ÎôÂÂæææÆâŋټy3ÖÖÖx{{óÙgŸnиDñ¥œ:uêTC!ÄëäñãǤ¦ê·Àϵk¦ìÜiÉèÑ 8ªÿ¤¤§°èØ"NÜ>¡"x/î +5äôÝÓl¼¸‘·O”–Dª:•ÈÇ‘ì ÞÅñ[Ç OÈêŒ""¨[¾.%K”ĵ²+.n`͹5„F‡râÎ ~>ò3çîcYeØYe]°.<¶ÿ[þš×ŒKŽ£nùºlº´‰½×ö @X|nUܨQ¦;¯ìdûåí„F‡r1ì"û‹“wNò þu»Q¥Fürü—ë^ì¿ÿ[þšõ§>¦v¹ÚÌ?2Ÿã·ŽkîJÄ$ÇPǮΠµ§°MÛ; ×Ê®¼ãüŽV¹­…-Ulª°9`3þÍí˜ÛìÞÍ’ãKhZ­)Á‘Ádffr/ö *6ÈSM”&ħÄãâG‡ZèåÒKïø"Gò×¹¿Ø}?!C8rã?ø‘;±w˜ÖiNe^¸­+òÛÉß4ïÉÖ­ùéÐO„F‡òwàßÌÚ?‹Ê%+ók_)©*™¿ÿÏð¬Ï³J¥ÂÃî]»ĬY³¸}û6îîîQtâõcjjŠ¥¥ås÷{ôHÿ~eçάúÞyçñsöÌ?×£®óçÙ?9qç’²bKŽÃÑÖ‘m—·±;x7gï<|üPÓ¸}‚Ä´DÒÔiddfPŦ 5mkR²DI~9þ ~×ü‰ áÀõLÛ; «VÌí:3c3Ä?`ù©åZ¯ PŦ óŽÌãÄí„Å…’@írµ)¥*…ïU_¶]ÞÆí˜Ûœ¼s’Åþ‹ ‹ Ó¬ ­…mŽu››ñÛÉß8qû±É±ÀSÀVœZÁ‰;'ˆKŽÓ$]+—¬¬w{ [Tbßïûžš|Dý Úóû뗯ϣ¤G¬=¿–£7ò0„õÖãËŸr–åxð€ÌÌLRp(í§6–·*Ï‘G¸~™Ï[~ÎÞÐ;¾àÈ`–\Æå— Šb÷ÕÝL÷›ŽÊ†Þþ2e^¸1I1l¸¸·O`if‰™±ë/®'("ˆ?ÎüÁ곫yËñ-¦uš–ëS) ³>ÏvvvtïÞWWW6mÚÄ/¿ü‚ õê={}!žfiiù2¿_e<§ETÃJ iX©aŽÛú6ê«SÖªF+ZÕh¥SÞ´jSöÛÏᇹuS¥)ÃßN«­tîBäöšÕJUc´Çh­2çrÎq¿?îÆÞÅTiJ»ší¨d]‰5çu§KäVwöÐȧ5«ÖLç®û‹¶§°Ü‰¹Ãµ‡×Ñ|DŽÛ»×ëΛÕßÄïš1É1T´®È„6ŠÒî ykã@·˜(MèìÜù…âä6¯^¿uœÛ1·Qg¨Þ|8­Zi=Ý"/íÈ~OöwíOtb4Çn£Œy|ºøÐƱAŸ#Ÿ›*Uª0þ|víÚÅ”)Sèܹ3?ÿü3...Ï?Xˆ"è]çws,W™¨túï†Þ9î? ñºÔé¡ÐC„Ňa]š.uºäØ/äöšîÕÝq¯î®UÖÓ¥'-Zp8ô0R²DI>hðQ‰Q =¤wÝÝëuϱüýúï¿t{ ‹_ˆ™dÒ¶¦îÚ@ …‚©¦j¾ïÓÔi¼YíMZØ·`{àöCÎK'¶ÈÁЃZOÖ'¾ŸºþDxB8gîžá^ì=ÊY–£]çv4¯Ö\kÝŸ¼´Ã»¡7–f–|èö!§îœâbØEJ«Jóq“µž¢ô*qwwgûöíÌ™3‡)S¦pàÀfΜIÉ’…—˜Å›"S³z–Bááá$$$èµïŽ–ŒmGHÈõŽJ¼ÎVœZÁÌý39õé)¬Ì¬ ŽŽW=¾Âò¢Ÿç¨¨(¾üòKüýý™4iÞÞ9_< ñ$KKKììž?¢êúuýû•O>ɪoþ|:-r7tãP"G²yÀfC‡’£W=¾Âò¢ŸçS§N1fÌLMMY¸p!ÎΆYàZ¼^ìììôU—‹ ²&ƒB˜•_·ÿú•½€Õã{U•)S†¥K—2lØ0¦NÊ÷ßäõ…¯*×Ê®9.¶øªxÕã{U¹¹¹±mÛ6*T¨€——GŽ1tH¢éBa`ïÔ~çù;Ыß«ÌÈȈѣGãààÀ_|Att4³fÍB©4ÌÔ!„ÈÍfC Â3½êñ½ÊÊ”)ÃüÁøñã>>tî¬;=Rˆü"I!„¢€½ûî»”*UŠ¡C‡bbbÂôéÓ ý¹êB!Š/ccc~üñGJ•*ÅØ±c133£]»vÏ?Pˆ<éB!D!pwwgáÂ…lÛ¶Y³f:!„ÅŒB¡`„ xyy1zôhNŸ>mèD%I!„¢´jÕŠ3f°lÙ2þþûoC‡#„¢˜Q(L:•V­Z1jÔ(®_¿Ž‘‘•+WæÝwߥÿþXXXèÍìÙ³ñóó#.. @= ЂWWš:þkûs5ò*ƒ›æ]çwQ™¨‰ áëÝ_ãnïnè MzF:+Ϭd鉥Ä&ŢΔ'ˈWG×®]™9s&‡¢C‡†§ØÉÌÌäìÙ³lß¾£GrïÞ=¬¬¬°··ÇÛÛ›®]»¢P(tŽ böìÙœ9sµZMƒ øôÓOquu5@+þS¼®2„(Fn=ºÅÒKéõF/¾nÿµÖ6#Eñš)µáÂ~=ñ+3:Ï`Ýùul»¼-×}c“c±QÙ°¶ïZÌMÌ5åmk¶¥ý’ö|µã+Z9´ÂÒÌR³mꞩħij±ÿFj”©@Ç6¤¦§²úÜj¶låýúï\Åk¯S§NÌž=›´´4LLL Ž^>ýôSÎ;ÇöíÛ±±±1t8/ÅËË‹%JðÝwßѨQ#’’’ؼy33gÎdïÞ½¬_¿¥ò¿DaLL ={öÄÌÌŒßÿªU«²yóf&L˜ÀÝ»wùì³Ï ØšWËÖË[9uçsºÌ¡kÝ®šr3c3FeãwŒ'êqúmÀk•:$!4lmmquueÏž=¯M’!11‘.]ºàààÀÒ¥K ÎK ÅËË www,X€½½=Ì™3‡Ï?ÿœÀÀ@¾úê+­c.\¸@Ÿ>}hÛ¶-»wïÆÄļ½½ùí·ßððð0PkdM!ЬÓwO“™™I“ªM ŠÁ¹Uuãßþ¥I•çŸ ÷êîüÑû­€¥.]HLK$("HSž‘™A`D ¶¶šC¶7«¿ @Àƒ€|h…(ÊZ´hABB†EcðàÁ8::¢Vç|·5##C3ýª(˜2e ˜››S¦LL›6m¸págΜÑÚwΜ9ܺu‹Ù³gãää„J¥¢OŸ>¼ÿþû,Z´ˆ«W¯¨¯žSwNH_ i:„^+¨\²²¡C"G-Z´ÀßßßÐah©_¿>^^^9nËÌÌ$##ƒŒŒŒBŽª`(•JæÍ›GíÚµ133£J•*Ìš5 V­ZEjêSÍ222?~<ÖÖÖÌœ9“råÊQªT)¾ýö[ªU«ÆW_}¥µa“$ƒETöt€RªRŽÄðª—ªŽ©ÒT¯}m-l©]®vŽÛÒ3²æ+gYNSf¤0¢œE9Rt†¾>J|d%(„x–jÕªQ¦L‹ÙWÙüùó9|øðk?Šàøñã´i£»~JµjÕˆÿozURR[¶lÁÉÉ ggg­ý===ÉÈÈ`Íš5ðkDú¢ÿÔ*[ËÐ!ñL5"<<œ°°0C‡¢ öïßÏo¿ýfèP^Z5¦dÉ’Zå&&&T¨PÔÔTRRR4å§NâÚµktêÔIk ¥RÉ»ï¾KXX~~~…ÿÓdº„ELbZ"¯ÿ˜ñ˜¹&¿øÿÀªV¡4Ê}m€Àð@¶l!4*…BAMÛšôx£‡æý®à]¬<­½òpvê 5C7 ¥“S'z¼‘5'ùôÝÓÌ98G³ï„¶¨W¾^®¯ÿþ^访O*ZWÔ{ÿ——GÀƒÜ«»S­T5­m£ÜG1y÷dæžÇg->C¡P‘ÁŠÓ+(gY¯9gà…ȦP(¨[·.W®\1t(â /^D¥RñÆohÊΟ?ORRõë××Ù?»ìرc…ã«*ûûÿêìQ× D§rNj¥Á IDAT:Søž”™™‰ßu?ö^ÛKX\* *6 —K/M¢bΡ9œ¾sZsÌ“u^ºÎä]“™Ônuìê°êÌ*v^Ù©Ùÿy}a¿5ýPgè·^‚ʆEï-Òk_!^uõêeýF»rå *T0p4 ..Ž›7oR§N¬¬¬4åÙ#NžÕùûûÓ©S§Â ô)’d¢ˆ136ãÓŸ²óÊNþ<û'ÝêvÃ¥¢ ðìµ–_‚ÏAÚÕlG7z¦NcÓ¥M¼³ì¾éø ½ô¦AÅ<ªóˆÉ»'óví·éÛ¨¯¦Î£7ràúÄ?Ð$j”©ÁðæÃ¾i8 <PŦÊ3c÷¬çIÛšmõnkaÞûùÈϘ*Mùþíïu¶}Ð𪕪Æìƒ³Ù°[ [n=º…g=OF6)wð„^ªT©BPPŽŽŽš²… röìYþý÷_"""ÈÈÈ`àÀüþûïš}‚ƒƒQ*•¤¤¤P·n]MùŽ;¨U«qqq4jÔHSþ믿röìY6oÞL||<ŽŽŽŒ7w÷¬ø.]º„§§§f'§ÿžÂ²víZjÕª¥UßòåËiÙ²e®¯³qãF?~Œ‹‹ “&M¢zõêÌš5‹þù‡´´4\\\˜:u*Õ«W×:jµš+V°eËnÞ¼‰R©ÄÙÙ™Aƒéühêß¿ÿ ]ØïÞ½›5jä¸-%%…»wï²|ùr‚‚‚˜5keË–Õl  |ùò:ǪT*¬¬¬¸yó¦Þ±U5ÊÔàÓŸ2çÐÎÜ=ÃÈæ#1Qš`ef•ë1ééŒÚ2Šý×÷3°ñ@Ú¹¶#2!’%Ç—°ìÄ2–õ\†KEÞu~—˜¤þ:÷Ÿ·úœV­4ul¾´™“wN²éÒ&M’¡¥CKÒ2ÒXw~ßvüö¹ë}âñ‰ÞSL”¯Ç*BèÂҥKãëëËàÁƒ5å{öìá§Ÿ~Âßߟ˜˜­¾ÈÕÕ•uëÖpèÐ!>üðC ë1ͧOg%}}}>|¸¦Î0kÖ,>ŒR©¤aÆLž<™ªU«°lÙ2f̘À™3g4}£R©$88X§¾Ë—/cff¦S~ðàAfΜÉ055¥U«VL™2…øøx¾ýö[Ž?Ž……o½õ'NÔYè7::š °oß>ÂÃñ²²ÂÍÍO>ùDg4›““S®S ŸfkkËñãÇsÝž@pp0>>>”-[­íׯ_rËnܸ¡W,A¦KQÄ(JšVmª¹Û^»\mšVmJÓªMs\•àÄíüxàG<ª{°ø½Å¼]ûmºÖíÊ ¯Ô)_‡)»§Dy«òônЛŠÖ¹v‰&UšhêÜvyVfV\‰¸Bpd0•ˆO‰§iÕ¦´®Ñš’%JæøúÙœíœ5±êóŸÊD•g.wë/¬gÓ¥M,ë¹,ǹ´˜¶w‰i‰ŒvÍ'îŸàÝЛ 6ðó‘ŸIIOÉ¡V!´UªT‰ððpBBB˜8q">>>899±cÇ>Œ½½=7&$$„·ÞzKëx333BBBøè£´Ê­­­µê\°`ÎÎÎøúú²uëV’’’>|8f-BW¿~}­úƒƒƒ !$$„ÆëÔ—Ûë,\¸úõëãççÇŸþIpp0}ô‘f탰téR.\¸À§Ÿ~ªU—Z­fÈ!üøãxyyqôèQ|}}©S§£FbÅŠZû¯\¹R£>ÿå–`8}ú4uëÖ¥cÇŽ=z”9sæðöÛokíd%rbnn®÷Ì¢¬”ªM«6Õ$Yݪ¸Ñ´jSÍ…N[ÄÞk{Ób _µùжŽméÝ 7úm 9=™›GœžL­²µø¨IÖûüFô M™™™lÜŽ•™ÿþ£™ÂV­T5n=ºÅûõßf_˜­I•&z÷C*5zf]B¼n*W®¬ù>o×®“&M¢oß¾>|˜M›6¡T*9r$!!!:ß…-[¶$$$D3*"[ûöíµêüî»ï4hÇŽãçŸÆßß_kÑÜ?þXS¿«««æû;888Çúr{~ø!C†pâÄ &MšÄ¶mÛ;v,ß}÷cÆŒáøñãŒ=šõë×3wî\­º"""ðôôdÇŽ|óÍ7œ={–¿þú‹˜˜zôèÁ¹sç´ö²¿|ÞÏJ0,\¸ àåå…‘‘‹/¦V-íéVÙÓøÌÍÍuŽÏ.‹Íõ5 š$„l¸¸@3!›‘ˆ÷ë¿OFf/n²†uw­Û•»±w9}7+;”–Äþëû™Úa*Û/o×Ô±ùÒf<ë{òºÚ|i33öÏàÞаRCí±É±|¸þCb“cÙØ#=]zÒÆ± ãZãë_³úìjfœm€ÈÅëÆÊÊŠÇk•µoßž÷Þ{kkkìììðõõ}é¡nnntîÜ jÔ¨Aß¾}ILLÔÜmÊ/Mš4¡cÇŽ˜››ãââBçÎ §J•*´iÓsss7nLÇŽ¹|ù2‘‘‘šc·nÝÊÁƒéÑ£ýû÷ÇÆÆ;;;¦L™B:uðññ!:::_ãhܸ1W¯^åСC 0€1cÆ0tèP­y°ÏS”Ã,l¹õE¶¶´rhExB8‡BY‰ƒ†•²ëÊ.’Ò’€¬„y)U)¼z•ÅÑGHU§²#hÝêu+ÄÖñz²´´Ô鋆JÓ¦MQ©T¸¸¸L©R/7J³W¯^4lØ•J…»»;­[·æâÅ‹|Èܹsiذ¡fjcöú Oÿ[ÁýSve’dB`nš5¬êqêcmÙ+ƒ«ŒÿW£L êW¨ÏÎàLi?…­—·Ò»Ao”FJº8waù©åœº{Š€´¯ÙžÆ%têÍÉ«´&C`x c¶a~÷ù4®ÜXS¾ôÄRì,í4Ï{HˆÀº„ҔÆ%ˆMŽ%%=¥X>^è/33##í†9 ƒ|YO.Y?d€|˜¥¥¥ÖßÙwTž.Ͼ òõ³§n 2$×úŸ\÷ ?×dxRÛ¶m™6mû÷ï×$xðàÎþIIIÄÇÇëU·Ð¦T(1Qš–‘Fª:Uç‰@ © ZÓä:;wfÚÞil ØBG§Žø^õåó–ŸckaK]»ºì¹º‡¤´¤¬uõôQ'k2ˆâ,##CçxnÓÃ^ÆÓ}‘©iÖg>¿GƒåÔ)•J6iõC©©©š) 4ȵþ›7oj’ ù¹&ÓڴiÞ={Ø¿¿&ÉÝÏäÔe—ÙÛÛëUA$ƒ‚¦U›räÆÎß?‡½‡Ö¶‹ahV­™V¹g=O¾õý–µç×rùÁeÚ8fey=ë{²üÔr¶lãBØ…g®"þ4g;ççïTîÆÞeð†Á|×é;ZØ·ÐÚªu‡Ë¾tÖx`x N=·cn“˜–Hë ’`ÏÿBw²¦¦¦jýXÊ^3àer˜eöˆ†Õ«WÓ´iÓçî¿råÊçî“Ù?z³:ƒ¬›*•Š€ÝQWÙeÍ›7/xŠ2…B¡é‹.Ü¿€[7­í—\ÊÉòD_T²DIÚ8¶aïµ½¬9¿†hFAt¯×ï÷}ÏÚók9s÷ ?wûYïXšTi’?â5OåʺëOåÆÈȈ´´4ò×½/255ÅÚښǨ׵ìõ" "Ð5kÆ‚ ÐZ¬þë‹Þ|ó͉G²&ƒ‚¾úRÕ¦*¿Ÿþ]kºÂÉ;'Ya=ÎvÎ:sdßu~c#cf˜ÅÛµßÖÜur.çL­²µØzy+ ) Z£^1I1|´þ#’Ó“Yyz%Þ«½µþ;z@kÿÖ5ZSÓ¶&‡B±%`‹¦<.9Ž)»§0¸é`„xžøøx;;ÏR®\9@÷.ÆÅ‹ó%žìçn§¦¦Y 3&_ê~žŽ;pâÄ m.\ fÍšš•µ_–ŸŸ-Z´Èq$GöüÜ'‡õªT*<==¹råŠÎÊ­[·bddDïÞ½ó%¶âæó–ŸcflÆt¿éD'þ·æÆ²Ë ¢wƒÞšG*gë^·;ê 5?øQk´B—:]P)ñ9èCÛšm m¡`!^w /Ü=ÝEFFrÿþý|‰G¥Ri%1Ú·oÏÚµkó¥îç騱#jµš3gÎèl[²d -Z´È·…~§OŸÎ矞㶜ú¢&MšàèèÈÎ;µÖ R«ÕüóÏ?T¨PAgèÂ$I!Š˜Ä´D¼W{³êÌ*fîŸÉ¨-£€¬¡þÞ«½IËH#àAÞ«½9rãVfV¬í»–Æ•Óce:-ëDû_ÛÓMÚÕlǪޫt†®–6/MK‡–¤¤§Ð½^w­mÝëv×”ònh¶äôdM’àÈ#|³ç¼W{³è˜ö\ÚÍ›¹uØäXNÞ9©ó_dB¤ÖþÆFÆüÑû:9ubüŽñ´\Ô’î¿wÇ}¡;W"®0¥ýú»ö/´¶Š××Ç_hª‡GÖ¨£… Mtt4>>>ùöƒ'ûq˜þþþDDDpäÈš4)œ;¼]»v¥]»v,]º”5kÖððáC’’’8rä£G¦oß¾ù:%!,,ŒÏ>ûŒ   ’’’ˆŠŠbÆ |ÿý÷ØØØh¦Jd;v,U«VåóÏ?çÚµk$%%±fÍ6nÜÈðáõûY\¾{ïÕÞš‚®¨ù¾û÷XMvÃ… x¯ö&:1šúê³êƒU¤©Óh¹¨%ÝVt£ù‚æÌ?:ŸÑ£™Ú~ªÎë¼åø6*L”&ZÓíl-lñ¨îAJzÊ M•(HçîÓôEÑIѨ3Ôš¿÷‡ì7txBY}‘Þû{xxÁªU«HLLäöíÛL›62eÊäK\ë¸nݺѯ_¿_§}ûö:Ó ÆGãÆuFŸ=šÑ£GYS-Z„¯¯/aaaX[[S§N¬Y!?$$$°sçNvìØÁ7ÇÄÄ:uêÄÀ5# ŸÈìÙ³9sæ ¸¸¸ðÙgŸáêêúRñØÙÙé¬gñ6H’Aˆ$I!Ч‚þ<»ºº2vìXúôéS õ‹×ƒ$„ÏRŸç#GŽ0pà@Nœ8‘o#Äëée“ 2]B!„0°›7oKíÚµ ŠBˆbêÒ¥K”+WN â¥I’A!„00___lllžù˜,!„¢ ùúúÒºukC‡!ŠI2!„æëëK›6mòu)!„B_ááá\ºt‰öíÛ:QH’A!„0 ;wîpþüy:tè`èP„BSÛ·oÇ‚æÍ›:QH’A!„0 ß~ûŠ+ôyÖB!НôôtV®\‰———A{(ŠI2!„æM›4hL•Baÿþû/‘‘‘ 0ÀСˆ"B’ B!„Ì›7•JEÏž= ŠBˆb(99™¹sçÒ¥K*V¬hèpD!I!„ÂX½z5ãÇÇÜÜÜÐá!„(†.\È£G7nœ¡CEˆ$„BˆB–––ƤI“hÔ¨žžž†G!D1tåÊ–-[ÆØ±c±³³3t8¢16tB!Dq3mÚ4nܸÁ–-[P(†G!D1ÇÈ‘#iذ!}úô1t8¢ˆ‘‘ B!D>‹‰‰ÉuÛÆY³f ³fÍÂÁÁ¡£BQœäÖedd0nÜ8’““™7ož,<,ò$„Bˆ|tîÜ9Þ~ûíÜíÛ·I“&1lØ0:vìh€è„BsæÌ᫯¾Ò)ÏÌÌdâĉ=z”… bkkk€èDQ'I!„(">Ýö)-µ$&)÷»è¢`3pà@"##Y¼x±Ö¶Ã‡3zôh<==3fŒ"Bˆ‚“˜–HÛ%m¼q°¡C)Ö–/_΢E‹ðõõåÂ… šòÌÌL¦NÊÖ­[™?> 40`”¢(“$ƒB¼&oŒã GÔ™ê·gdfIf!G%²Ý¾}›~ýú‘’’ÀÊ•+ `Û¶m :”®]»òÃ?`d$ݯâõTv}¼þôÊq[ff&™dddrT"ÛÖ­[ùá‡066æûï¿ 55•/¾ø‚uëÖ±`ÁÚ´icÈ0E' ? !D1¿û|C‡PlEDDàííM\\éééšòyóæakkË/¿üÂÇÌ_|! = !Š, S öÛoè0Š­½{÷òå—_jþNOOçìÙ³ìܹ“+VpíÚ5–-[†‡‡‡£Å$„Bˆ—Ç€xøð¡V‚!--7bccÃŒ3xÿý÷ ¥Bˆ¢ÌßߟO>ù„ÌLíJ¥’éÓ§cllÌÆ©Q£†"ʼn$„(¢âSâ™}p6»¯î&&)†JÖ•ðjàEJz sÏ ªMU¶ÜJ£¹4Ç-ô\ÈÙ{gù7è_""ÈÈÌ`ç:9uB¡fÕÙUlº¸‰Ñ7P(Ô´­‰W/z½Ñ …BÁé»§éýgoM}Áÿ F©P’’žB]Ÿºšòí VÙZ\ »„çžšòµ}ײæÜ…"!5ûÒö|èö!=Þè¡wÛã’ãôoS¦š'W°%` 7ÝD©PâlçÌ ·Atrêçõ9_úÄ:´ÙP–_¢ÙÇi¦“V,µlkiÕ±¼×rZ:´Ô©û׿röÞY6_ÚL|J<Ž¶ŽŒk5÷êîZqëûÞñæ§÷¿IQ•””Ä Aƒ¸qã†V‚!›R©ÄÕÕU ¢ØºuüÈñÛÇIW§S«l-F¹â÷Ó¿sìæ1z¾Ñ“6Žm¾y¸æ¸=ƒ÷ðÓáŸð¿å¯YgæÔ§§(¥*ELR -dïµ½„Å…anjNƒŠ Òtͪ5`á±…ütè'\+»²®ï:…âÃõ`£²áô§§Xvb3öÏÀÎÒŽÅï/æÇ?ráþ223p©èÂØ–cq­ìªwÛ}¯úêݦèÄh]À¾}„LJcef…[7>ñøçrÎ/£>çKŸXŸì‹ÎÜ=ƒã G”FJ‚¿ Ö©ãò¸Ë˜›é”~€YûgqøÆa”FJVjÈäv“©jSU+n}ß;Óß™®÷¿IQuáÂŒZ­ÖI2¨ÕjÂÂÂðññ‘ƒ(42)Tˆ"(UJ¿5ýXwaŸ¸‚ÿ(þôþ“ðøpVŸ[ ÀÆþñæ‡u kBƇ0±íD|úàTÖ‰íàðÈÃØ—¶².˜‡oÎô}Óy¯þ{qˆ}C÷ÑÆ± “vMâ‹¿ q寄Œá-Ç·´b236#d|5ùH«¼~…ú„Œa`ãLÜ9‘v5Ûá7Ì=ƒ÷PÓ¶&ãwŒçÿ_ônÿ‹´iȆ!üxðG¼xqtäQ|‡úRÇ®£¶ŒbÅ©yŽQßó¥O¬Ù¯Ÿ}NƒÿLÈøBƇиrc:r; Ž.À¹œ3¾C|Ù:p+IiI ß4œ‡æé½SÜ¥¥¥1lØ0._¾œc‚²†ªîÝ»—Ë—/rtBÞ­G·è¹ª'—Â.± ûN~z’™gòÇé?¸qS¥)!ãC˜þÎtÚ×jOÈøÚÕlÀ¤]“èÛ¨/‡GfÓ€M(²±™I÷ß»ówàßLn7™ÓŸžfSÿM¨LTô[ÛõÖ0²ùHBƇ 2QiÅÔÒ¡%!ãC¨W¾žVùÇM?&d|ÎvÎÄ¥Ä1mï4ƶˉÑ'XÓg ±É±ô]Ó—“wNêÝ~}Û‘çžì¸²ƒo:|ÃÙ1gù«Ï_Ä$ÅÐceÎÝ;—çõ=_úÄšýú*®•]5ýPð—Á9Ö‘Ûyønïw rıQÇø¹ÛÏøßôç³mŸåù½SÜ]»v’–––ëZ …‚Ÿ~ú µ:ç5„Èo’d¢ÚpqèÝ 7Þ ½±QÙPÞª<“ÚM¢‚U…gÛ¾V{Þ«ÿÖ%¬±³´Ãwˆ/œ:±íò6üBüèÕ ƒÜQÚ¼4å,Ë1Ê}kudkÀVüB^þ³wƒÞ¼]ûm¬Ì¬¨bSŸw}(gYŽŸü¬u1ü"rkÓÖË[9zõ{Ðßµ?6*ì,í˜Òn uìêàsЇèÄè<Ř×ó•[¬ùÁ­Š;cajA25èÛ¨/‰i‰œ¾{Z³Ï˼wеZ͘1c8~üx® †lÆÆÆÌš5«"âÕásЇ¸ä8&·ŸŒ‡½æ&æÔ´­ÉO]")-é™Ç}s(M«6Ee¢Â¥‚ Á_SJU Ÿƒ>ܽˤv“hãØK3KìKÛóSן(kQ–o}¿Ís_‘-)-‰o;~KÃJ Q™¨¨_¡>³»Ì&MÆ´½Óò\ï³Út/öÚL uÖšóôs·ŸÉÌÌäßoòc^ÏWn±æ‡^.½4q»Ww§uÖ\ »È£¤GZqçõ½Sœ„……Ñ¿’’’ž™@ÈÈÈàþýûlÙ²¥£Å™$„(‚^?@ û:ÛWnüÌcߨðFŽå{®îà­oélkåÐJkŸ—ñt|&JšUkFš: ÿ[þyª3·6ù^õ mͶZå …‚fU›‘’žÂá‡óc^ÏWn±æ‡§ë®`•4×”½Ì{§¸ÈÌÌd„ øúúêuW(==£Grò¤þw@…( …²F<©´yiJ;<óX— .9–çöÝjª4¥yõæ$§'çø½ý"T&*Í…lNe(gYŽ ð ""òTonmò½ê‹‘ˆ6ŽÚ«ý—µ,KMÛš<àAüƒ<Ř×ó•[¬ùAŸ¾èeÞ;ÅEdd$½{÷æÑ£GÏMvCVß5gÎRSS !:QÜÉš BAÙwßËX”ÑÙVRUò™Çš›˜çXž}§#§:m-l¬a™/˺„µNYó¬×ŒJŒÊSÏkÓCr=ö棛:eúĘ×ó•[¬ùÁÊÌJëo# ëÑ—Ù^æ½S\Ìœ9“-[¶ä8,U¡P`bbBzzºf»¹¹9Õ«WçòåË4iÒ¤°Ã RÕ©yzšCvñ)ñ˜›aaj¡³=¿ú"k3ÝïxÈúžHˆ êqå,˽p½Ïj@ƒŸäzìÍè›”·*ÿB1Ú¨lò|¾rŠ5¿<Ý™*M4`~Ù÷Nq–K¿~ýÏu= ¥RIZZ™™™( Ê”)ƒ½½=AAA¸¸\I$ƒERióÒD=Ö½(Ï©LÙ?Fr:>û‚º¬eYM™‚¬Çô¥¦§jýX‰KŽ{æë²ÏiA*ˆ÷NÑ2eË–¡P(066Öü¸S*•T¨PZµjáè舽½=Õ«WÇÁÁ2eò÷}+ÄëÀTiŠ…©S“˜–¨s±˜—ïS¥)VfVħÄó8õ±Î…sNß­F #ÒÔi:u=«/ŠIŽÑ\˜iÅœý=ŸC6¯L•¦X—°æqÊc¿ D©Pêuœ>1æå|飠û¢‚xï%ju"§O{‚‘‘FFFZIíªU«âä䄃ƒöööšþH¥*¸Ä‘O“éBAÙÃñ³‡fËÌÌäÔSyª³C­ì¿®ûüë¡´ö4wyžây1ìâ3_çämí!åiê4Žß:Ž©Ò”7«½ùÂq?KÇZ8qû„ζ a¨9³&×£®ç)Æ=_ú(a\ÈJÜ@ÖÂ\c¶y¡:ž§ Þ;EÅÑ£+_hÒ¤ ÞÞÞŒ?žåË—ãççG`` à×_åË/¿¤gÏž¸¹¹I‚Ak¹}ŸD&Dr#úFžêÌí»5Uʱ›Ç(a\BkºW9Ër:ýPdB$÷ãîçú)é):}Upd0 8Û9çióttêˆ:SÍ™»gt¶-9¾„‹Z ÎÔžš¥oŒ/z¾ô¡2Qi%nÚÿÚžµç×¾PÏSï¢ -- >$--–víÚññÇóý÷ß³víZNž<ÉÅ‹ù矘={6#GŽäwÞÁÙÙY ¢ÐÉH!Š ž.=Ùtië.¬Ã©¬ï8¿CRZ¿ÿ•TuÞæâu«Û]Á»Øpa¥èV·é鬿°ž=W÷н^w­ù¤ö¬=¿–…Ç2¡Í–ŸZ®óCéi{®î¡²MeZØ· 69Ÿ>D$D0®Õ8Íè€üÒµnWvïb鉥”µ(KûZí±0µàÌÝ3LÜ5‘¾úR£Œîãžô‰ñEÏ—>ꖯˎ+;ð¿åO½òõ8rãC› Í—s‘­ Þ;EE“&^¬[÷ý¥›xBè×zÇncšï4,M-iT¹wcî2cÿ ÊZ–ÍÓ´†q­Æqâö ¾Ûûæ&æ4­Ú”ˆ„|úù8’ï:}§ÕWxØ{°êÌ*VYÅûo¼ÏÃÇñ9àCó2¤¨Sr| +3+fšÍ˜c¨]®6!CøjçW˜(M˜ÜnržÏÇ3Ûtëÿû÷Lí0•F•¡ÎP³óÊN]ÀÌÎ3uF8è㋞/}Ô-_—s÷ÎƃøÜ~t·*nùr.4qÀ{§(P(4l¸…BÉüùáÏ?@Qd>ý0U!Ä3…‡‡“ ×¾;vX2z´!!…Q’’ÀìC³Ù¼‹˜¤ªÚTe`ãD>ŽdÞ‘yl°Y³øRëè\@æ4…@¡f噕lØLhT( Ô,[//¼\¼t†m.9¾„uç×ñ þUlª0¢ùÃùíäo@ÖÂR›l²iõûéßÙ2` û‹}!ûˆO‰Ç¾´=ƒ¢§KÏjÿ‹´éϳ²ñâFB£C1QšP½Tu¼\¼èÝ ·V›^4F}Ï—¾±&¦%2y×d†f-ÎØÉ©S;L%15‘FsiíkgiÇÑQGuêÎ~^¼÷jo­Çœ©LT\úüðbïâÄŸgQ|XZZbgg÷Üý®_×ÿ}øÉ'Yõâ¢äFô f˜…ÿ-ÔjœË9óEë/˜{x.Ã.j¾wÎß?O•=tŽ¢S“ÃÂc ñ½ê˃ø¨LT4¨Ø€!͆èŒx‹O‰gºßt\?@\rõÊ×cbÛ‰LÞ=™€ m6”/Zg=V¸ËŠ.D?Žfå+ùnïwœ½wu†š7*¼Áç­>ǵ²«ÞmÑ6-:¶ßk¾„Å…a]š:vuÜt0îÕݵö}Ñõ9_/khT(wM$àA6*†½9Œ> ûà{՗ᛇkíÛ­n7ú¹öÓ©{DóŒm9ÇŽZåo9¾ÅÒKýß;Å!?Ï¢ø°³³ÃÒÒ2¯‡o$ƒ/èuI2äfòîɬ9·†ÃP¹deC‡£‘}¿oè>õ^¯CŒéU}ï–Wñó,Šž¢–dÈM‡¥HNKæÐˆCÏß¹e_ÀuÔСäêuˆ± ½ªïÂò*~žEÑó²IY“Aˆ"ªÃÒš»4Ù2238~ë8•KV.–‰B?òÞBä‡È„H\纒ž¡½úýÝØ»Üо•ïë숢CÞ;B¼Þ$É Döõž¯ "%=…[nñÕŽ¯¸õèÚN0thâ'ï!D~ˆMŽeÒ®I„Å…‘”–Ä…ûøtÛ§X•°b”û(C‡'^aòÞâõ% ? QD-~o1œþƒÏ¶ƽØ{+iP±ôþ㕺p)ìžxjþn»¤­fÝ€œ<½–@NšTiÂ_}þ2XŒ¯»×å½#„xµ•µ,ËÊÞ+ùóìŸ|°úÂÂ)Y¢$îÕÝù©ëOT±©bè5–XÆŒý34;ÎpÔ¬“§×ÈÉhÑŒöm°_g¯Ó{G¡KÖdâ½îk2!òF>Ï¢0—5„y#ŸgQdM!„B!„B¼$É „B!„Bˆ|!I!„B!„Bä I2!„B!„"_H’A!„B!„ùB’ B!„B!„È’dB!„B!D¾$ƒB!„B!ò…±¡B¼&ïžÌ–K[x¯þ{˜(MØtiŸ·üœF•1`íªÙT£q•Æœ½w–û±÷9:ꨡC.psÍaѱE9ns¶sæïAkþxÀW;¿âfôMÚ×jO« ܽËîàÝÔ.W›YgQ«l­\_+#3ƒÞöæì½³4¯Þœ•½Wæ{{„âU–”–„ן^Ä$Åðví·yøø!Û·óï‡ÿrþþy&ïšL»Zí¨d]‰ÝWwÓ¸rcfw™mè° œ×Ÿ^œ¹{&ÇmdR»Iš¿7_ÚŒÏAŒF¼åø–¦–<àøíãt¬Õ‘éïLÇÊÌ*×׊Hˆàíeo›˘–cÙ|d¾·GQôI’AÁåðˬ9·†q­Æ1ìÍa´qlƒ¥©%>|XÛw-&J’Ó“YufUıýòvn>ºÉ(÷Q)^Vö4ªÔH§ÜÖÂVëïëQ×¹uƒíƒ¶ãPÆAS~êÎ)úüÕ‡!‡°oØ>” eޝ³üärîÆÞÍßà…â5²æüÃÙÐo +5 iÕ¦”T•äû}ßÓªF+z. —K/B¢B $ŽÅþ‹±5·¥§KÏ©?/¼\¼°³²Ó)oP±Öߧ”ªûoDe¢Ò”/:¶ˆ9‡æ`flöÌÄ̤]“036Ë¿À…Å’$„>ÀÑÖQSæ^Ý€àÈ`ª—ªŽ‰Ò€Æ%ÜtpÄñwÐßìÙÏH÷WçΉGu>núñs÷s*ëÄÔSµ nUܨ_¾>Â.ð — .:Ç^ºÎ¼#ó˜ÓuÃ6 Ë·Ø…âu®ÛõréÅè~X¡ !Š0I2Q„¥¤§pøÆaB£BQ(Ô´­‰‡½‡æb7%=…%Ç—pîÞ9¶]ÞÆùûçµêHS§q/îóŽÌ²†®6­Úu¦šÃ¡‡¹ùè&©é©8Û9Ó¼zó§$¥%q(ô7ÝÄØÈ˜Úåjófµ75S"""X{~-7¢n0ÿÈ|Ͷoô ¢uÅg¶sKÀîÄÜÑû¼ôsíG)U)½÷?uçAA$§%SµTUZØ·ÀÂÔB¯cÕ™j‚"‚°/mOí²ºIˆ¥'–’¢Na”û(¢£r­çŸ  Íu{Ûšm©kWW¯˜„¢0E%Fq8ô0aña¨LT4¬ÔPkT×õ¨ëüô/¡ÑYßq -ÔJʆLJpüÖqMÙ{õߣrÉÊħÄs0ô ÷cïcfl†ke×\¶ ¾q˜ˆ„¬Ì¬p­äг³fûÙ{g9rãiê4îÇÝ×ô{ |âñÉsÛ9ÿÈ|2ÉÔ뜘›˜ë5J.[ZF¾W}5ý¨SY'šUk¦÷Ô«¯’’žB×:]u vL ³sgÜ«»³íò¶\ëùÅÿRÕ©¹nïïÚ•^1 !Š.I2QDùßògìßc1UšÒÚáÿØ»óø˜®÷ãŸd²ÈF"²‘M‚ˆ D‚„Ú•Úµ”–*Õj­-Õõ[ÝWE[[©­U-jWkƒZ"Tl!"+AÙd—Lòû#¿Ü“0‰6}Þ}yÕœ{î™sî5sïœ{ÎsºQT\ÄÊ•«Œ™?d>­Z—»_ %””üÿŸÿ¿Y*))¡¨¸( P˜˜•Ȩ_GQ\RLÏ&=Ñ×ÓçÓ}Ÿ’]Í'}?¡G“JyA±A¼þû똚УIò‹òYxt!Ž–Ž,}jé};jÚÂà…4·iŽ—½¹·sùñääåóùŸÓ×£ï}÷ߺô¼tæ œ‡J_³&êf‹ƒ³þ¹õÊt”Šì¸°C×o¬¤°âÄ U†:ÕE!µU!«˜sh6´slÇÍœ›Ìþs6mµeþùX›Z—»ß×¢bŠ•´²kÀѸ£LÜ4‘v-ðqô!» ›GаnC]ˆ³¥³’wÙ_˘wx-l[àëäKxb8~L¿æý˜=`ö?~”Ä+›^¡MÃ6¸Y»‘x+‘¹‡æÒ¨^# YpÏ Âe–[‚¹ 3ºÌÐÚö[èoD§F³`è‚û–³ôøRFùŒÒ8^ñéñl ߆»µûC›N)„øw‘N!j¡øôx&lœ@ú Ù8f£I:57•A+ñÂo/°{ünlÌm˜Öy«BVq$öƒ½ÓÅ­‹FY«BVáXÏQãÆäóýŸs5ã*'¦PžX¼ÙýMžüéIÂÔN†øôx&nžˆ¹ÛÆmSžþ¿Üñeú¯èÏÔ­SÙ4f¶æ¶Lë<ó‰ç‰Kcjç©H,ÏЖCèxUÄßÅŸvŽíèêÖUIËÌÏdôÚѼºõU~{î7¼jÇX(–Ægû?cV¯Y¸hlS«ycç¼ØáExþÆy6„nÀßÅŸi§)é“7OƵ¾+kG­UžÎ¿âÿ }–õáÆ­J'Ãöðí|õçW l1yç)y·‡ogÆï3p¨ëÀ[Ýß§‘>|Xö×2Öm¨ñ^ºÐe´CU k5 GÜ­Ý•´È”HžZýc×%pBà=G×ýzæWDà§‘?acn£±íÆ­|qà ¾ò{L MuªÏ¤€IJÞ[ù·öó0¬L¬X>|¹V,!ÄÓ?#|»¢Zý|êgò óë;Vc©*kSkFùŒ"#/ƒµg×V¹üâ’bŠKŠ K SÒ ô x³Û›tpî ¤­>µš¼Â<ÆùÓ¸r±r¡GB¯‡V¸,×?¿‹¿F@½:õ˜0u‰šU!«*Ü7<)œ±ëÇòv·í3ZkûÒãKQ«™0I§º h1@cÃwAß±3b'ou‹^M{éØ"!„xt~øë&LÖÖïëèK€K§¯&$!¤ÊåSLJN ×o]WÒÖmÈ{½Þ£Q½FZõ˜ÒiŠÆTA^ƒ°3·cÍé5ª «\‡m¸÷p€f6ÍÖzÉÙÉlß^á¾Îm`ü8âG­•(ÞÙýCZ¡£KGêòrÇ—1Ô/y§.Q3eë2XòÔœ,*Ñ*!Dm&#„¨…“Âʼ]¶úAxbx•ËŸ0‘È›‘Œ]?––ö-éܸ3íµ£sãÎÃþË"…Ÿ»qŽÔ Íxe7…g¯Ÿ¥c»*×~L†»•<¸˜r±Üí ™ Œÿmíû)3¶Ï çÒžø»øÓÁ¹]:2Â{„F=.¥\B_OŸ;ÐC3J_E^a—R.=pð݇“¡<ʵ(¹ükѨ|¶ÿ3V>½RYôN{.íáhÜQšÛ6W®9w–w,þêb5ðw¬…²e®Þßó>ÁqÁÌ8ï¯ãBˆÚE:„ø*/𓮬M­Y=r51©1Çs$æ«BVafdÆ×¾Özúw,(%àïâ¯óT’â’ÒùÁw߬däe0ný8FûŒæyßç•ôýQû©W§¾Ž¾¨ôULôŸX¥÷>•pŠwv½C'×N|Ü÷ãª5@!jooöMØÇ©k§8qå¢0çÐ<í6 ÛðUÿ¯4¶íŠØuÏ¥–…ÿ2’AˆZÈÙÒ™†ýÀŒßg0`庹uC]¢fÔ~ŒTF,~r16æ6°ôøRÎ\;”>½8{ý,®äÜÎ!,1Œ¢â"®ßºÎ¢àE«Œy±Ã‹tpîÀwAߟ¯<Ù Ž æú­ë|þÄçJ=œ,X>|9Ó·O§Ï²>tqë‚©‘)§N‘˜•ÈŠá+4b8 j1ˆ ¡˜¹c&N–N‹?ÆÝÞx¤Ç®L½:õp àµm¯ÑɵÍlš‘™ŸÉÁèƒðí o5Öyßpn‘s[ïÔ¯y¿rÓ#S"ÙsiVL•¾JyŠ4uëT¢S£éæÞ-a[4ö½ªR!þ ¶HJN sÎ!6-_G_RrRØ{i/~Ž~,º===¢S£Ù±“˜´Ò¨‹‚a oÀÓÞOs ê—R.pâê /­¾O4‚nîÝxïû쿼7k7² ²Œ ¤Q½FLlºR~Íû‘Ò+…Ùgs*á>Ž>¨‹Õˆ:€C]ëÀ“-ŸdΡ9¼³ûR²S°2±¢«»æ4ÀG¥iƒ¦8Ôu ÿŠþônÖ{ {®e^#ðr Žõ™?d¾F`åO÷Ê•Œ+Á™uq êa‰aZ1\¬\ì5˜´Ü4^Úðy…yxÚz²äØý/ß¼ü€­BÔz%wŽBÜWRRÙÙÙ:åݵ˜iÓ숊Š~ȵ*_~Q>GbŽ“ƒz4mÐT#8cY'ÃÝ\¸•KëÅHe¤}Ê-Ìåxüq®d\A]¬Æ¡®]ݺ–»ŒVAQGb‘Ê+ººw-w™Ê¨›Q;оž>ÝÜ»Õx´êĬDÎ^?˵Ìk—ãjåJçÆµ–é:}í4A±A÷,+À5_G_­ô²N†»ÝÙÉp¿€bm¶‘éYMžÅƒ¹¹9vvv÷Í­û¿Ã©SKË[° ©Êõz©¹©Ž9LbV"u êжQ[©e w{Úûi#IÏK×Hw³vS¦Ñ%e'q*á×2¯al`Lãú p (7PZn‡cs#ëuëÔ¥…m‹r"BéìðÄpêÕ©ÇÍŸÀÜØüAÁ»˜|‘K)—¸qëÆÆxÙ{áë諱j”.Ë—wϲžö~{ {­ô²N†»•u2\¿uç6Þ³ìþžýeºÄCVÓŸgñß`gg‡¹y•¿÷6H'ƒ•ôoêdBTù<‹G¡6v2!ª|žÅ£ð  “A!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB:„B!„BQ-¤“A!„B!„Õ ¦+ „ÿVyLÚxü}°1³aʼnl ߯3mŸÁ@ÿï¾Øww¿Ë׿¦™M3†¶е™5óƒæ“–›F|zÏâ¿ÇÈÈssóûæKO×ýßáîÝ¥åõëWõ!ó•ebhBÓM ŽædÂI"’#¨k\—Mz`nlΆs”Ô=—ö0²íHú5ï§tî®8±‚í¶cd`DW·®@iG€žž!WCx§Ç;Ê÷jE-éàÜA§ëŸ“u¸M/vx‘°Ä0­„‘C[ÅËÞ‹³×ÎòÅ/p±tÁÃÖ£Üònܺ™‘]ݺR .àÛ o‰O‹§oó¾Jrnç0rÍH¶…mãqÇy¼Ùã1ûÏÙäæ’–›ÆäN“°0¶ÀÓΓ;p²tâ­îoÑÑ¥#\:Ш^#Ú3¥ÓZ;´VòL ˜„¾Ö¾IYIÔ3©G—Æ]¸vëóƒæSX\ȆР4¬ÛÎ;Íü ùÔ7­Ok‡Öôï뿬&>Ïâ¿ÇÜÜ##£ûg,ßÉ D-£ÒSÑÁ¹’.ÐÀ´_õÿJÙîiëI³X™Xñý±ï9ã<íÚ+7jÛ·aalÁÅä‹\J¹„‡V&VddÑÁ¹Ýܻݷžvž5Ò¦â’brnçð㈕›ÅMz`jhÊü ùŒh3/;/­ò ô ø¸ÏÇJyéyé|sø‚ã‚•Ž‰ýQûù-ô7z4éÁ·ƒÿeÐ×£/=–öШ¯½…=#ÛŒ| ã«K{ë›ÖWò”132£ƒs¬L­JËqé€JOóIßñøãÌ; ùqˆÆ÷¶C]ê: ¯§…±…Ö1Ó¥=.V.¸[»+y*Ú×ÇчÞ#èêÞ•#±GXrl ß ú†-*é‡c³þìzFûŒ~ s!„øg“Õ%„¨åÊ~$—ifÓŒú¦õÑÓÓc× 28™p€¼Â<þŒþ“ÿ€íáÛ•ý6ŸßÌÐVCY½ï¥¢6«Œùí¹ß´žFunܠ¥½ººwÕxíníÀõ¬ëJÚŽ ;ÚRó˜šÐÃ]³“¨Öã[Q{«jãù<Õê)í¶4íArv2A±AU._!îÖ£©æ÷¤¯£/ú¸X¹Ð¶Q[ö\ÜC^a]ù ++žmû,©¹©= ÀmõmvEìbpËÆpûŠÚäÓȇÅO.ÖêàíäÚ‰Œ¼ "S"Ë-ïîk‘[}7®e^SÒvFì´¯E-í[âjåZ¥v”©¨=ºèÒ¸‹òw}=}\¬\JÓÝþN/ë(º~ëºÖþBˆÚEF2QËÝýôáNC[eɱ%l ÛŠŸ“{/íÅÏÑžøòÏ/Ù~a;3»Î$57•³×ϲpèBÞ³ºc2Ü­¢6©ôUX[0ïð‘ òĶ ÛÚr(wféñ¥l ßF·.ˆ:€—½væv:½guÇdÐÚ§‚6YšX‘ÁšÓkHÌJäVþ-JJJHÌJt¿™™PX\Xúu!ÉÙÉ©ŒÊíh¶¯kÿ@?àïuŽîçîúê¢ÒWQ¯N=­ôÛjݦœ !þ½¤“Aˆÿ0wkwZ9´b÷¥Ý¼ßû}¶†oed›‘¨ôU ôÈÊ•„$„–F尿ï‡áNC[¥gÓž:×£º~DïŒØÉôíÓñ°ñàyßçq¨ë€¾ñéñ¼»û]J(©rÙeCU³ ²µ¶UtÃô°Žïƒ*[†ì©ÖOi‚¼“B<*ý=ûóɾOض…>}Œ äõ.¯ÓÀ¬^v^üùy…y¥#¾Zê>¢njç©””èö½¯¸@•õá²æôúxôaP‹AX™X¡§§Çî‹»YszM•¯EúèPX\H¡ºP«ÎwvŒ !DM’N!þㆶÊdzîì:ÂÕ§×C[ eeÈJ¶…m#ôF¨ñ[Õ“AW¿œþ…â’bæ šGÓM•tsãûQ»ŸvŽíŽ &,1L™~Q¦¢¡¯ðpޝ. õKo>ÕÅjT*«BVq«à¯v~•ŽÎ Š ÂHe¤5G÷ú­ë¼±ã >éóIµÖG!*R¯N=z4éÁ¾ËûX{v-m¶¡Y†´Âgû?cÝÙuœJ8Åwƒ¿Ó¹ÜêŽÉ  u±šµg×Rß´¾FÌ€ð¤ð*[OO¶Úrµ´sºm£¶Ê¶¢â"bÒbÊÝÏHe¤1¢ãÍoj­º$„ÕIb2ñ7ÀsúÌ>8›'š?¡ò´õ¤™M3¶†o%» _Gß®éý¹ÖwЈ' .V³5lë—=Úg4õMë³*d•F§Â¾ËûŠ«8~AMß²c‘‘@II ;.ìP–²í3+/"êf”²Of~&ïî~u±7k·j­BÜ˯!¨‹Õ|}ðkÑ [ D¥¯bΡ9ôlÚSUöO¥ÒWáXϑ̼LBo„*éÙÙì½´÷ËŸÖyúzú|ùç—ÜÊ¿@qI1sÍ%çvù« ¸Öw寭¨‹Õdäe°+b–&UŸ!„÷#KX QIÿô%,Ʈˑ˜#dægr1ù";#vÒ¾6f6ZyM M8wãQ7£˜Õ{–FÌœÛ9Ž9Ìß1ø»ø?Ê&hÑ¥MíÛq!ù¿œþ…Mç7±ëâ.–ŸXŽC]Î'žçZæ5#éߢ?/nxQ£¼¨Ô(º¹wãÓ}Ÿ²îì:RsS‰OçPÌ!{ ÆÔДÇ?FPl‹Ž.boä^VœXÁõ[×éîÞÓ×N–FHB}<ú(uªêñ½_{s sy~ÝóÇ+yŽÅ£Ÿg?œ-9u€ug×±ñüF ‹ ù¤Ï'Ô1¬ƒ‘O4‚ˆ¤>Ûÿ¿_øÍa›ùæÈ74·iμAó”¥.Åßd Kñ(Ô–%,£nF1eËÎ'ž'¿(Ÿ«!l>¿™§Z?Un~+Öœ^ƒžžŸ?ñ¹pÐÔÈ”³×ÎÍ»=ßÅÉÒ鑵ánº¶É§‘'®ž`éñ¥ì¾¸›-a[XºÇzŽDÝŒâbòE.$]ÀÙÒY«¼Jð²óâÙ_ž%$!„ì‚lÎß8OBf®8Y:áfíÆÖð­,=¾”?"ÿ`ñ±Å4·mŽÊ€øŒxŽÇ'-/vŽí°1³a{øv¶„máÇ“?Ò¹qg^lÿ¢Ní9™p’™¿ÏÔÈ“œŒ•‰U¹u710aò–É\Hº@^aÇã—NëЃi[§‘A^aÇâ´°kñHÏam KXŠGáA—°Ô+Ñu²š€¤¤$²³µçå—g×.s¦M³#**ú!×Jñ°ÉçY< æææØÙÝ?°at´îÿ§N--oÁ‚¤*×KñÏ Ÿgñ(ØÙÙéÔá] 2]B!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB:„B!„BQ- jºBñO‘’‚ÿBåõÆ1iÓ°M Ö¨úœ¿qž¡? U^ïy?.V.•.§6#!„ø'رƒ×¶½€‘ʈ o\¨áUŸå-çË?¿ÀÎÜŽ£SŽV©œÚ|Œ„¨ d$ƒBü?s¢ÞŽbz—é5]•j×Ê¡QoG1Öwì•S›‘Bü ð@ÔÛQ¸ÔtUªÝ‹^$êí(<í<¨œÚ|Œ„¨ ¤“A!„B!„ÕB:„B!„BQ-¤“A!„B!„ÕB? Q ½²éö]ÞWáö¹ç2Øk0êb5?Ÿþ™Mç6›‹žžM4eD›<Ýúiôôô¸• Ÿo}”ýö§¯fóùÍddѤAfvI'×Nï£.Q³êÄ*¶„m!.=•ž O;OÆù£¯G_€ ËÞxn#9·sðnèÍ{=ßõ¾+³ÿœÍŽˆª ñnè͇ˆ«•«æ{êО2YYÌ=4—½‘{ÉÌËÄÙÊ™q~ã*ü˜ãñÇ136£»{wþ×ó˜™i¼§.í)Í×¿æø•㨋ÕxÙy1³ÛÌ «.í¹Ù¨‹Õ:åm`Ö€ãSß7_eÎw™èÔh¾8ð'NR¤.»¡73ºÌ c;­|•9FBˆš% BÔR? ûMz(¯Çgìú±tríÄÏ@éò‰›'r(úo÷x›Á^ƒ)*.â·ÐßxoÏ{„\ a΀9Ô­S—¨·£X²ŠÏöÆÂ£ ß~<IÌJdò–ÉLÜ4‘¯ Y¥ì 'ÄÿzþA-Q .`ɱ%LÙ2…ÿõüãüÆi•½èè"&tœÀ¤€I\N¹Ì‹^düoãéÔ¸}=ú2³ÛL.$]ॠ/ñêÖWÙ6n›ÒF]Ûp[}›çÖ>Ç¥”KÌê5‹~Íû‘[˜ËÒcK9~EûfJ×öÜÏê‘«è¼VD—ó}§ö~ÀX¿±¼ÙíM2ò2˜shoïz››97yÅÿ òÇH!îvîõs˜š*¯]È·G¾åõ.¯+?8S²Sþópò‹òùü‰ÏiïÔž”œæšÃsëžã³¾Ÿñ´÷ÓônÖ›¨·£”ŽÕO÷}ÊË_æ«þ_qúÚi^Þø2¯m{ÍÏoVÞ/9;™á?§ ¨€/û}I{çö\˼Æ{?`Øêa¬yf mµÕ*ûóŸ3Ñ"_õÿн—ö2sÇL2ò20T2½Ët\¬\ضY{gafdÆÿzþOyO]ÛŸÏðŸ‡cb`ÂÂ! ñqôájÆU¾8ðWÒ¯hO]Ûs?—Þ¼Tåsz/ºœï2¹…¹|ðÇLl:žvžDߌæÝï0zíh~ùíÚ•?FBˆš'Ó%„øˆM‹eò–ɸ[»3È|Tú*¶…oã@Ôžnó4ãüÆQß´>¶æ¶Lé4…>Íú°5l+¢h•ççäGÏþ˜™áníÎhŸÑäær2ᤒgkøVÅbX«aŒi7KKìÌíx¿×û´°kÁœCsHËMÓ*»½s{úxôÁÔÐï†Þô÷ìORvNõœèѤ¦†¦ø:úÒÇ£áIá¤d§(ûV¦=Îm ,1Œ‘mFòlÛg±4±¤a݆|øø‡ª µêUÕöÔ„ŠÎ÷z7ëÍÀ±0¶ÀÉÒ‰9æ`knËwAßq3ç&Pùc$„÷²ëâ.¾ úާZ=¥tfÌ94‡„ÌÞëõ=šôÀÜØœÆõóÍ o°1³áãÀ•ï¥;=íý4mµÅÄЄN®èæÞs7Αž—®QöµÌk¼Ûã]º¹wÃÔД¦ šòÝàï())á£ÀÊ­ëðÖÃiißC†´BÓM9sˆñíÇãi뉩¡)Ï´}ÇzŽŠ9¤±oeÚ3çÐnåßbVïYtnÜSCSÍúðו¿´¶…Þ¥éWM‰N®RÙ©L{ʦO” üÓék§µÒj¢=•¡Ëù¾Ó©k§4^ª 9#•þ.þ@å‘BÜI]¬æÕm¯Í¢¡‹4†¶OÙ2E™†VÑw÷mõm‚ã‚©cPGkÚ–®úxôA]¢æTÂ)­mK/å±Å¡.Ñ퉾®*ÓžŠ¾gÓóÒË}B_íÑ•®ç»Lna.Ii—R.‘œŒ§'¶æ¶@å‘¢æI'ƒµÐžK{˜{x.O¶z’‰þ+Ì7Øk0=šô`CèV…¬"-7äìd]È‘0¤å­yŸºä5ˆ^M{±ì¯e¬=³–›97É+Ì#(6ˆi[§1Úg´ÎÓtU™ö ÷Nk‡Ö¬]ÏÚ3kÉÌÏ$);‰Ï÷Î[7þíÑ•®çûNëÏ®gÏ¥=dd“™À;Þ 9;™i§)#B*{Œ„âNŸíÿŒƒÑùì‰Ïî9lf×™8ÖsäÓ}Ÿr ê9·sˆM‹eúöé¤ä¤0«÷,å{©²fv‰³¥3oí|‹C1‡È*È"#/ƒµgÖ²ðèBÞéñNµp¨L{fv›‰¥‰%Ÿ~BPl¹…¹DÝŒbÆöåN¨‰öèJ×ó]ÆÄЄ?"ôF(y…yœ¿qž×C•!³zÍRòUö !jž^IIIIMWBˆ“¤¤$²³³uÊ»k—9Ó¦ÙõhŸp·žÛšÜÂÜ ·õË{½ÞJŸ<¬>µšÍa›‰IA=šÚ4e„÷FxPæK¶øº·Õ·•2Ú9¶cýèõ<û˳œ¸zBI714áüë畲ל^ÃÆs‰I‹ÁPeˆ«•+#¼G0²ÍÈû–Ýjn+ò ó”ôÇ?ƪ«´æ’¶wjϯ£~­T{² ²™{x.{.í!=7Fõ1²ÍH Š øöÈ·8[:sà••jÏ£¦Ëùì5˜¡? UÒÖ^ÇÚ3k9s˜ìÛÙ4®ß˜q¾ãî=\cßÊ£Ú¬¦>Ïâ¿ÅÜÜ;;»û拎ÖýßáÔ©¥å-XtŸœÕ',1Œ!?¹gžïŸüžÞÍz¥ÃÞ/"0²tidCÚ4lÄŽ”ÑUg¯ŸeØêaeL ˜ÄŒ.3hòeôîMº³lØ2¥ìÅÁ‹ ¼È[7¨[§.-ìZðR‡—èäÚéže÷nÚ[ã»Jèû:ù2rÍHôi§1­ó4ÛS&6-–Ùgs,þEê"šÙ4cj§©¬:¹J‰á3¼õp¾è÷…ÎíyÔt=ßñéñ|ùç—@içïŸúžÙgsîú9ŠKŠiíК׻¾N;ÇvûVöÕf5ñyÿ=vvv˜››ß?cù6H'ƒ•ôoèdBT?ù<‹G¡¶t2!ù<‹GáA;dº„B!„B!ª…t2!„B!„¢ZH'ƒB!„B!ª…t2!„B!„¢ZH'ƒB!„B!ª…t2!„B!„¢ZH'ƒB!„B!ª…t2!„B!„¢ZH'ƒB!„B!ª…t2!„B!„¢ZH'ƒB!„B!ª…AMW@!Äß"S"9sý i¹i40k€[}7Ú9¶+7ï±øc„\ )w[³<ÛöÙr·—sæÚ“Â)*.¢‰u\0Ðÿû’°îì:’³“•×}<úàaãqϺ§å¦±æô嵓¥C[½ç>B!þYŠKŠ9•pŠ IÈ+Ìá®­ì[áfíVnþ ¡¸‘u£Ümm¶¡‹[—r·ååLlZ,u ëÐÒ¾%ÞÞÊöBu!ßû^cŸñíÇcfdvÏúŸ»qŽƒÑ•×þ.þø9ùÝs!Dõ’N!Ä¿ÊÉ„“Ä¥Å1¬õ°š®Jµ K ãÝï—Gïf½q°pàbòEfí™EsÛæÌî?›f6Í4ö9ŒÅÁ‹Ë-ÏÓγÜN†èÔh¦oŸNAQ]ܺPRRŠ¿V0oÐ<:8wÐÈ¿äØn«osæÚVXuÏ6,?±œŽÿ€™‘ãÛ¯Ló…â_e[ø6lÍmñwñ¯éªT«Íç73çÐôõôéÞ¤;æFæ;ÊÌ3éÓ¬_ôû c }6žßÈ©„Så–7Öwl¹ ¢ðîîwiÒ  ­Z“–›Æû¿ÀÝÚO¯ Y%oJN kϬÀHeÄ+þ¯Ü³ ýñ¡7Bñ°ñ GŸÊ!D5N!Ä¿Ê;»Þ!6-_'_\­\kº:Õ&:5šØÔX¶Û®ñ´(äj£~Å„ØÿÊ~Tz*ý:7îŒO#­òî¼A+s3ç&Ï­}ŽŽ.ùzÀ×JY“&ÑgY"S"•N†‘mF°*dÅ%ʼn=¹çhíкÜúgäe°þìzôôô072gZçiU;Bñ—œÌë¿¿Ž­¹-ÁS‚kº:Õ*äjV&Vl³C%}qðb枇±1sÎÕÚo„÷ì,ì´ÒÛ4l£•v,þ7MäýÞï3Êg”’>´åPFý:JÉg¨2dZçiD$Gð[èo”””°2d%Ïû>¯Q·;Åq!ùÍm›ËµHˆ" Bˆ•ÏŸøœ¸´¸ZÕÁàaãÁ‡¨5ÕÏÉVö­½JXb˜ÆPR€Î®y±Ã‹:½ÇÜCsÉ*ÈâƒÞhtVÔ7­Ïû½ßÇÙÒ¹Üýžlõ$¿…þÆ¢£‹X:li¹y~<ù#½›õfKØê"„ÿV¶æ¶Ì0[sÛš®JµëÕ¬ƒ½kýˆ¡ý |{ä[ö^Ú[n'ÃÈ6#iåÐê¾å—3kÏ,Z7l­ÑÁÐÁ¹3»ÎÄÚÌZk?#•=›ôdGÄÖ]Ç8¿qå–¿(xO¶|’õ¡ëï[!ÄÃ#…ÿ*~N~ ÷^ÓÕ¨vÍm›W8¤nº1*+¯0;èèÒ‘zuêimØb Þ ½ËÙ†µ†½…=û£ö‘¡µ=« ‹5§×Üw«BÔCZ!À5 ¦«Qíz6éIG—ŽZéÆ*c U†¨ ())©rù'®œ .=Ž>ÍÊŸÆðŠÿ+X›jw2@é¨;===–ýµŒ‚¢í²¯ž 1+‘A^ƒª\?!Dõ‘ BÔB;"v“SáöžM{âe祼.(*àHìbRcÐÓÓ£iƒ¦tnÜYùQ[PTÀÒã?Áì53#3ö]ÞGvA6îÖîtsžžÖ{åæq8æ0qéqèÐܶ9þ.þèëiöqªKÔ‰9B\z·‹nãiçI€k€òĽ¼:¸X¹T©½ºÖ©"[¶p5ãªNyžk÷V&V:ç¿“ºDMDrë7¦¹Móró„\]¬‚ÇúIDAT !"9‚üÂ|œ­œy¬ñcZ±ÎÝ8G^aÍ4#¯0ƒÑ‰OÇÜØ?'¿{u4Ô7dBÇ |ø1‹‚±pèBí«O­¦«[×Z7ºDñ`ÊbºTdL»1XšX*¯SsS9s„Y7014¡m£¶£·¢S£Ù±Sy=¹ÓdbRcŠ B¥¯¢MÃ6NéJÎNæHì’³“±0¶ ]£vxÚyjåË*ÈâPÌ!®g^ÇØÀ˜vŽíhißòžu(»NU¶½ºÖ©" ‚P‚n?øM MuõVžÈ›‘0¨Å r¯õ…Å…F*×U:ºtÔº®ž¸z€f6ÍHÉNá`ÌAnæÜÄÆÌ†.n]î9:¤™M3oö8{/íeù Œö­±}áÑ…LôŸˆJ_UA BˆGEF2Q í¸°ƒØ´X´‚¢/fÙ_Ë0Ô7TÒÅ£Û’n|²ï®e^#.-Žwv¿C¯¥½8wãœFg®a~Ð|¶„maê֩ĤÆp>ñ<6Mà¥/iÕ#(6ˆnßwã‹_”•Dtj4S¶Laðƒ¹~뺒/1+‘Çxœ?"!#›97ùtß§tYÔ…QÊ­C|z|•Ú«kþ)6„n =/ÿ¨Ü§…Á ™{h.ñéñĦÅòqàÇ<¶ø1ö\Ú£‘¯¬&1+‘>Ëú°éü&ÒóÒÙsiýWôço .QWXÞ#h`Ö€½‘{‰º¥¤çæòÓÉŸ˜è?±šZ,„¨-–_ªõ£;>=žùAóÙ±cc%}UÈ*º,îÂêS«IËM#ôz(Ϭy†Q¿Ž"57U£Œ;˜4ŸU'Vñå/IÊNb÷ÅÝ<ùÓ“üpü­z,ûk]¿ïʯ§%#/ƒãñÇüã`^ÛöšFýŽÆ¥ÓÂN¬9µ†Œü ¢S£»~,ƒV âJÆ•rëP¤.ªR{u­Ó?Å’cK°1·aF—åneÓ+l8·ÔÜTB¯‡2aãžXþ‘)‘ùÊ®E‡bÑoE?þºò©9©,ûkݾïÆêS«ïYÉ“Òc]¨.TÒÏ\;ClZ,O¶zòAš)„¨&2’AˆZj`‹ôhÒ€’’^ÛþÅ%Å|3èe•‚øôx&lœ@ú Ù8f£1:57•A+ñÂo/°{ünlÌm˜Öy«BVq$öÁqÁü:êWe¤C}Óúü|êgN&œÄ×ÑW){âæ‰Ø™Û±mÜ6åÉúË_¦ÿŠþLÝ:•Mc6°òÄJ®f\åÄ´ÊSž7»¿É“?=IXb=šôÀØÀX£Um¯®uº—Gµ,cXbŸíÿŒY½f•;,×ßÅŸvŽíèêÖUIËÌÏdôÚѼºõU~{î7e DVAPý½^ï1Öw¬²Ï샳ùáø4ª×ˆ×{­ÜºóbûùòÏ/Y|l1óÎ`Í©5´wjO“Mª«ÙBˆZdRÀ$L M¸•‹a?ÃÊÄŠå×+óþ¿ð;ŸíÿŒÁ^ƒùzÀ×ÊÓï“ 'yæ—g˜¸i"ëG¯ÇÝÚi§q!é1©1Ü̽Ɋ§KWÇ)))aÀÊÌšÏ8¿qªJ;—·‡oç«?¿b`‹Ì8Oy ¿=|;3~ŸC]Þêþ³ÿœk}WÖŽZ«ä{Åÿú,ëÃ[7p¶tÖªCUÚ[™:ÝËÔÎS«pF*ï×3¿r ê?ü s­íÃZ ÃÇÑwkw%-2%’§V?ÅØõc œ¨\oË®EkN¯aóó›•Q†·Õ·y~Ýó|ø±²¬ryZص {“îüõ'›Ã63Â{P:ŠáåŽ/?дB!Dõ‘‘ BÔBZ  qýÆÊëcgÄNÞêþ½šöRÒ>õ3y…yŒõ«±$•µ©5£|F‘‘—ÁÚ³kµÊÒrˆÆ…¼luƒ;o¸VŸZM^aãüÆi Ýw±r¡GB¯‡*K^—S\RLXb˜’Ï@߀7»½©µ¤âƒ´·2uªiáIáŒ]?–·{¼­5$´Œ¿‹¿F@½:õ˜0u‰šU!/9YvÓ^¯N=žk÷œÆ>“ü'¡ÒS±æôš{εå3 ++vFì$.=Žü¢|V\¥ƒžK{âïâOçtté¨<-¯®öV¦N÷ò°c2ˆ:Àgû?cåÓ+iÛ¨m¥ö…;®EÉw\‹ê”^‹î|0P¦‰ué½Èå›—ïY®·ƒ7\;q4î(Û÷óGä¼Ôá%é(Bˆš% BÔb§NñήwèäÚ‰û~\¥2Ê ðT™ JååõwñÇßÅ_¹±6µfõÈÕĤÆÌ‘˜#¬ Y…™‘_øZëi}Etm¯.uª)yŒ[?ŽÑ>£yÞ÷y%}Ô~êÕ©§LG¹—â’b›×²ÀŽEÅEåîSv£z÷ ïÝÆ´ÃòËÙr~ –&–,¾ì¾õBü·-ÿk9ëC×3­ó´jü¯K°^½;þ»[ÙŠ>e+øx;x³oÂ>N];ʼn+'8u€9‡æàiçÉ¢¡‹*\æ÷n÷koeêTSB¯‡òÆŽ7X4t‘2Zà§“?ÑÇ£öö÷-C¹éév-R®CåÜwÜmJ§);Ê׿F]¬V¦ð !þ¤“AˆZêjÆU^Ùô N–N,²@yzz=”ÌüLº¸uÁË΋«!DÝŒÂÏÉOcÿèÔh tþcU´´oIÈÕº¸u¡¯G_m¹…¹,ÿk9ÎV¥7l;"vЬA3šÙ4ÃÍÚÑ>£IÊNbèC™ùûLB^Õ&[•öV¦N÷ò°b2äå3aãz4é¡ -³/r.V.J'CF^¿œù…Iþ“´nÈÊž5·ý{5 /{/ì-ì¹’~…¼Â<5г ²I¼•ˆ¹ ÌÜ³ŽæÆæ<ïû< ‚ЮE…‘Ü…`ßå}Ì>8›-2­ó4%}×Å]xØxàníNsÛæD$E—§Œ¢+Sv-ò²÷¢²Tú*>ËúÐÅ­ ¦F¦œJ8EbV"+†¯Pâ-tpîÀwAߟ¯– Ž æú­ë|þÄç@éÍ×ÒãK9síŒR‡¨Ô(^ð{AçöV¦NÚ†sŒ J;<ÊÓ¯y?åïõêÔ#À5€×¶½F'×N4³iFf~&£RPTÀ·ƒ¾ÕX_Jƒ¤]¿u…Á 9uí6\HºÀ‰«'x¹ãË+NlßN\zE¬;»ŽÃ±‡•õêÔcœß8²7ßĵÌk—“};›ùAóiÒ ‰FÿíõçXˆê¢§Å÷ﯭVi¹i¼´á%ò óð´õdɱ%Ûïœw?°Å@RrR˜sp±i±ø:ú’’“ÂÞK{ñsôcÁÐèé鑘•Èo¡¿“Vúc}Qð"eªÛü ùœL(½FýzæWüýä5ˆ~Íû‘Ò+…Ùgs*á>Ž>¨‹Õˆ:€C]åÐͽïï}Ÿý—÷ãfíFVA‘4ª×ˆéMJŸ¶ïŒØ©Q/;/üœütnoeêô¨}ºÿSe¹Î;ƒ1W¤iƒ¦8Ôu ÿŠþônÖ{ {®e^#ðr Žõ™?d¾F e€Oû~JVAc×¥oó¾Ô7©OP\IYI|;ø[eU$€ï}Ïõ[×)T2?h>.V. ö ”N½(›~Qf~Ð|%ÆÒÅä‹ÌšOW·®eþÛ•”€¾<&ÿpz%÷ %.„Ð’””Dvv¶Ny2eüxΟÅÄäÑÝáÝ/T›†mèâÖEy_”Ï‘˜#ĤЇM4Õ º¸(xê⿟ä8X8( ×2¯)é†*C&úOT^p$öѩѩŒp±r¡«{W­§4¹…¹?ΕŒ+¨‹Õ8ü_{wÓf݇qü* ´@¡ŒÂlàĹ©y²¹‰‹˜@Ôèjb¶©ãÀDÉ܉JLPôÀ;pLçÉ4ËÜ`&&F›„([t*1¾;. cãµ”×ö9xÂÂn¸[öýßÀEBi{õÿ~I™*º£èú‹“é’a&‡Í¡6¿òï;ßLËéÇË?ꛋßÜòšÂÜ›f2x‡¼jél¹þ?7%WÛò¶ÝòèhÇ@‡šÚš40: 4{šÌ}ð¦jÓ%Ã4k”õ–[$þýw iÅ• Ÿ~š¤ª*—ZZ.š+˜ÃáÛ=÷‰ªÖÖÖyÏ×_OWOUGŽt-&ZH:;uòç“·¼æ‰õOܰ•àêÈU5µ5É;äU\tœ ² nØh0]2Ì´9góõ’a¦Ü”Üæ!\¹¦¦¶&u u)).IÒ7Ì:̰{¸[?tü Ë—e‹¶)/5O…k ¯Ïò™.fZ·jî˼/äßw¾™–Ó¿ÿ÷Ïæéÿ>}ÓL†?zþПWþT×`—lÑ6Ý“q6eoºåÜŒ–Îýtù'MŽ)Ç™£¢;Šä°9n¸æðÙÃ7lÚ˜Y2Ìf¶’~¥• Ï?Ÿ©ŒŒIUW_1; V0·Û-‡Ã1÷…³;AÉ„(”’á÷ßmòx²õÕW—´vmx¬£°0¦èóÏU_Éì(XÁ–¢d8p U§OÛõÅóߊ <=þxŽJJ|*/¿fv¬`‹-8l,¡µkÇÔ¯¿²V ˆt¿ýfÓºuãfÇBv÷Ýãjk‹‘ßÏý>@$óû£ÔÖÃsÂ%°„bcƒÚ¸qTMM fG°ãã=¯ð›Ùý÷ûXÔÜÌsÉš›ãX´e ÏEo” À{äŸêëíòùx¸‘ª¡Á®ÑÑ(ûÌŽ„lÕª)Œê³Ï|ô@8uÊ¡G•–6÷¶ÀL¼ë–ØSO )°è“O’æ¾@Ø ¥#GœzøaŸ22&ÍŽ,Hié êëíjo7gƒ€ÅioQCƒ]»wš˜%°Ä’“Ú³§_￟¢žó¶X˜ººDýò‹M/¿Ì-D®íÛ‡”Ÿ?¡ªª4³£X€}ûÒ”—7¡íÛç7|0%° öìéSrr@ï¾ë2; € GéÀ—ž}v@ë×3h ‘Ëj•Þ|³WgÎ$¨±‘Ù @$ilLÐ×_'è­·zeµ²á’XññA½ñF¯jkUW—hvóHååé ¤W^é3;°h[¶øåñ «¢"]ÑfÇ0Ѫ¨H—Ç3ÌÀGD J`™<ú¨O{÷ö©²r•΋7;€9ìßïÒ·ß&èða¯œN†lae¨ªêQVÖ¤ÊÊ258ÈË@ œù|QÚ»7Séé“Ú·ïŠÙq€yãÙXFåå×TR2¢—^ÊÐ÷ßÇ™À,‚AéàÁT}ü±Sû÷÷¨ `ÔìH€aâãƒ:tÈ«¡!«^|1SýýÌ ÂQ¿Uee™êë³êýJH˜ ˜7J`EEIï¼Ó­­[ýzî¹ÿpëfÆÆ,*/w냜zûí+òx°…•'3sRGvÊëÖŽYjmeãNZ[c´cG–¼Þh=Ú©ÌL6!²P2Ë,..¨÷Þ󪬬_ézíµtõöòI`¶óçã´sg–ššôÑG]zæÖ„aåÊÏWmm‡RS§´kW¶ŽKÖÔ”ÅìXÀmmjÊ¢cÇ’µkW¶RS§T[Û¡ü|†#òP2&°X¤W_½¦C‡¼jnŽWIÉjÕÔ8åóñ–[{{ŒÊËÝÚ½;K.×”êê:TXÈp-¬|.×”ŽïTié ª«]òx²Õؘ §²eüƒ„Ç“­êj—JKuüx§\.æ!2Y‚Á {P€twwkxظ#Ô~¿E55)ª©q***¨’ŸzhD÷Þ;®ŒŒIÙí¼ÚŒHVµ·Ç¨¥%N úî»x­^=¡ÊÊ«*.ö™·9‡Ã!·Û=çu­­­†þÜþ‰QU•K§OÛµzõ„{̧­[ýºë®q¥¤LÉfãå"`”±1‹úú¬úë¯X;¯/¿´ëÒ¥ûTYyUkÖL˜·9·Û-‡Ã±Ð/?AÉ„Èè’aÚÀ@”NJT}½]çÏÇqlXbNg@Û¶èÉ'‡TT4"+w-! ˜U2LûûïX<™¨3gìºx‘Y ÀRËË›Pq±O;wéÎ;¹5á’XfKU2Ì4>nÑ… ±êíµr ` ‹%¨¤¤€rr&•=! ]ÂŒÙ%ÃLýýQºp!VƒƒVñ`ŒTRÒ”òóÇåtrbág±%C´‘a#66¨ ÆÌޏ9mÚÄ W@høˆ‚’‚’‚’‚’‚’‚’‚’‚’ ƒf‡ï'€!(€!(€!(€!(€!(€!(€!(€!(€!(€!(€!(€!(€!(€!þv1y;¥@IEND®B`‚fio-3.39/examples/zbd-rand-write-zone-reset-gc.fio000066400000000000000000000014531476262051600220670ustar00rootroot00000000000000; Using the psync ioengine, random write to a (zoned) block device. Write ; target zones are chosen randomly among the first 8 zones starting from device ; offset corresponding to the 524th zone of the device (524 x 256 MB). Simulate ; garbage collection operation using zone_reset_threshold and ; zone_reset_frequency options. The zone resets happen when total written data ; bytes is beyond 70% of 8 zones, and 8 = 1 / 0.125 blocks are written. This ; example does not specify max_open_zones. The limit of maximum open zones is ; obtained from the target block device. [global] name=zbd-rand-write-gc group_reporting rw=randwrite zonemode=zbd zonesize=256M bs=32M direct=1 time_based runtime=40 [dev1] filename=/dev/sdb size=8z offset=524z ioengine=psync zone_reset_threshold=0.7 zone_reset_frequency=0.125 fio-3.39/examples/zbd-rand-write-zone-reset-gc.png000066400000000000000000001634621476262051600221070ustar00rootroot00000000000000‰PNG  IHDR}»w¤ü9bKGDÿÿÿ ½§“ IDATxœìÝw|Í×ÿð×ÍÍÞ;2eŠÕ† ÑÚÔZ³f­ÒjQ¥:´Uj¯"T­ˆ=jS[íªˆ!²#{ç~~äçóuݹ™—›×óûèã{ïùœÏ9ïó¹'qß9Ÿ!Ai¢P-uG@DDDDDDÕ‡I‘cÒGDDDDD¤Á˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0&}DDDDDDL[ÝQí±téRlß¾]®lëÖ­¨S§N¹Ûºqã&Mš$WöÉ'Ÿ oß¾•ŠñURÆHô:À¡C‡ðàÁÀÔÔuêÔAýúõ1hÐ XZZª;L""Lúˆ¨Æ¼óÎ;055ÅðáÃŲ¼¼¼ µåêêŠY³faذaxôè wïÞUç«âuãòåËqàÀtèГ'OVw8DU.;;={öĉ'ýû÷ÇðáÃ!‘H0þ|,[¶ Í›7G@@€š#%"RĤˆjŒ§§'ŠŠŠª¤-sss´mÛ†††UÒÞ«èucXXÆøë¯¿@RRúõë'Ö]·nÜÜÜÔ'©×ë>fÏž-&|:uBHHˆ¸­}ûöpppPWhDDebÒGDD•âèègggáäÉ“ÂÉ“'…}ûö €àââ"¤§§ ‚ áááb9ÁÛÛ[øóÏ?…õë× VVVAWWW ûˆŽŽêÖ­+´´´„ï¿ÿ^صk—СCÁÀÀ@lkÁ‚*Å#œÂÞ½{…íÛ· ]»v÷kÓ¦PPP ‚ $$$(´ëää$Ì›7OسgаaC±|õêÕr1Uå³²²„cÇŽ FFFâ~“'O?~,‚ ܸqC,ïÚµ«¸ßéÓ§…zõê ãÇ?ϲŽÑê=ûì"##…mÛ¶É}ÞÁÁÁÂÉ“'…sçΉý¦¦¦ ÁÐÐPXµj•,˜˜˜„îÝ» ùùù*}¶åÙÙÙBPP@H$ÂŒ3„Ý»w =zôçâÂ… +ýùVåË3ËÛoŸ>}Ä98}útáàÁƒÂ¶mÛ„wÞyGÐÒÒBBB*4&UçBYTý9?~¼ðÏ?ÿ‚ éééB»víÄmï½÷ž*ìØ±Cèܹ³ ­­-ìܹ³Ô>?~¬p¼gÍš%ί~øA,×ÓÓ“Û·<󋈨mcÒGD•òìKöÓ§OA™L&¼ûî»â— CCCáÚµkbý“¾uëÖ‰Û–,Y"– III‚ BÇŽå¾°=#H$’r'}Ï<Ÿy{{ ………‚ B^^ž`hh(\¾|Yøõ×_ooo¡¨¨HÜ///O077WHr”µûÉ'Ÿˆå+W®Ëßxã ¹}ªcŒÃ† ÷ëÔ©“X>qâD±\*• Ož<Aîß¿/H¥RááÇå:F/Ö{þxáøñãbù›o¾)¾vvv† Úíܹ3 äʱiÓ&¥q¼ÿþûÐÖ.ù•¨§§‡'NÀÛÛvvv066Æ”)S…¬¬,Èd2¹¶£££KŸ¯¯¯øÚÖÖVé>ÉÉÉÕ2Æ>ø@<½íøñ㈅­­-6oÞ 333¤§§£¸¸7nÄÔ©S±aômÛVéi¸/;F•ñôéS¹Sûž?¥ôù׫V­Â?þ--­—Ž»<ó1==]n>"ª·oßÆÐ¡CÅ/eÝ»wÇìÙ³ËÜïù¿ê¿ø ?###…gÔ½X§°°°¢!+ôõ¢¸¸8,\¸P|,®Uå*«kŒ‰Æ Ã?ü $¹óööÆ!C0xð`L: ÃÂ… ‘€>}ú”Úž²cTY/޽}ûö4hÒºÊî˜XUæã‹Ÿá‹Çýù÷ÏA/¯êãó”}6é÷§Ÿ~ Aƒ°k×.œ?—.]ÂÓ§O™3gâÑ£GX½zuŒéEù9yñ3~1¡Tæ×_Åùóçñå—_Vê55¿ˆˆTÁ¤ˆ*íéÓ§èÕ«233ÞÞÞØ´i“xJW×®]±jÕ*¥§ ÆÅÅ¡^½zJîäù¼–-[ÂËË ÖÖÖHNNV¨S\\Œ„„¥19rDaÎÀÀ \ãJNN–[Yx>þ¼¼¼rµõ2Õ9ÆáÇ‹I_xx8"""ðßÿÁÊÊ ÝºuÃîݻӦMÃ!CªüAðzzzrïŸÅ;yòdØÙÙaêÔ©¨S§âããÚÚÚâJÝ3ß|ó Äò²Æ­ê|ôòò‚»»»x*æ‹óïù÷ªÜ´4^^^U>Æêè7))  À¾}û0cÆ %óoÊ”)â?ž­æUdLeÍ…iÓ¦½tÜù9ñôôŸ! (_QëÙ³':wîŒO>ù‡W3/]º¤0'Ê£¦æ‘JÔxA!i€¢¢"¡K—.â ÌÌÌ„;wîÈÕ122ÂÃÃAP¼‘ËðáÃA(¹áFÿþý•ÞxdÑ¢Eb¹›››x“Ž?ÿüS®­ÊÜÈåÅ›±‚ äääˆw" ìÚµKA¸víš •JÅòŸ~úI¥v_vÇê£ BëÖ­•ÞÈbçÎrmŸ:uªÜǨ¬z2™L¼++áàÁƒBnn®`gg'ÌŸ?_aŒÂÝ»wÅý>,èêêÊÝðçeÊ;:$èèèˆÇ=55UA8zô¨Ø†§§§œœ\æX_öùVåËŠ£¢ý>»ÑÊ„ äîèùË/¿ˆmtïÞ½ÂcRe.”¥"?'»ví´´´‚‰‰‰Ü|–.]*èéé 7nÜAV­Z%¶!‘H„ÜÜÜ2÷Ë>÷ŠÌ/"¢jÀ»wQåìÙ³GîË–ƒƒƒÐ¦M¹ÿ´´´„ððpaÉ’%‚ŸŸŸ\ý#F 4ÜÝÝ än’Æ 222äúùí·ßÄÛî[YY >>>BPPàìì,¶åáá! :´Ì˜?.Æõl߆  mÚ´âââäênÛ¶M033¿Ðùûû Æ \]]å¾|0 Ôv—/_.¬Y³FhÔ¨‘ÜÊ6mÚ¬–1>oõêÕâþK—.ËóóóÅ/ánnn‚L&+÷1*­ÞĉÅ:kÖ¬owomm-¸¹¹ Í›7²²²Ä:;wî®®®Ð¤Iq^¬]»Vå±–g>>sá¡mÛ¶‚D",,,„¦M› :::‚‘‘‘ðᇊw‘­ìç[Uc,Ïü-O¿yyyÂ/¿ü"4mÚT°¶¶oooq¿>}ú(´_Þ1©2Ê¢ÊÏÉ‹A8~ü¸ tttÁÓÓS¨_¿¾pèÐ!±^\\œP§N¹?HUösWu~U£mAxîÜ%"¢rJJJBXXX™õZ´h'OžàñãÇråÈÏÏÇ;w ‘Hàíí-ws—çâöíÛÈÎΆ‹‹ œœœpéÒ%äääˆu Ñ¢E‹—Æ’˜˜ˆÛ·o+Ý wCÈÉÉÁÝ»w!•Jáææccc\¹rEîaÍúúúpwwWÚ®³³3´´´ððáC…mõë×G:uª|Œ/ÆéÒ%€ŸŸŸÜõ_7oÞDjj*êÔ©ƒúõë‹åª£Òê™››ËÝ­0;;wîÜANNìììÄSz_‡˜˜hii¡N:prrRù¡å@ùæã‹§²fdd 22¹¹¹°°°@½zõÄ;b¥µ<Ÿ/Pù1–wþV¤ßŒŒ Ü¿™™™077‡§§g©í–·mUçÂË(û9qssÔܥuäÈ‘ û=}úQQQ(**‚ƒƒœâLOOÇýû÷áãã‰DReŸ{Y󋈨…2é#""¢×Â… °téR…GWäææÂÌÌL¼™Ë;w*ý8"" ªÚƒsˆˆˆˆÔ,%%›7o–KúŠ‹‹1sæL1á›0a>"¢p¥ˆˆˆ^ ˜?>¶lÙØÚÚ"::IIIðòòÂgŸ}†qãÆ•ëtY"¢Z€§wi0žÞIDDDDD¤É˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á´ÕU\BB²²²ÔU#;;;Wx®ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0mu@DD¯.A?ÖÁ£GÚÈÈBÔQõ02’ÁÚºžžÐÕå/;Ò,LúˆˆHNq1ð÷ßFØ·ÏgÎ"='…Qí!• hÖ,;gãÝw3af&SwHD•&þÝ–ˆèu•€¬¬¬*kïøq#Ì™c…˜øûç¢C‡4mš‡ºu afV -æD¤¡²³µ/EX˜NŸ6ÄÑ£FÉ$3& cÆ<…¿2“úØÙÙÁØØ¸¢»‡2é#"zUUÒ÷ð¡fδƹs† ÊÂĉ©¨[·° "$"z=egkaófS,[fSS¦OOFçÎÙê‹j©Ê&}ü›-Q-wþ¼Þ{Ï ))RlÙ‹ß~K`ÂGDµž‘‘ cÆ¤áØ±´j•‹ñãë`Þ"¢Zjß>cLŸnƒ?NÃo¿%@O¾&"*Í{ïebÆ'¸xÑS¦ØAÆû»Ðk„IQ-ôßzøúk[Œ™† R!á­‰ˆÊäç—‡•+ãpâ„!,°Tw8D*cÒGDTˤ¥I1fŒ=Z¶ÌÁ´i)ꇈèµÒ¼y~ü1 +WZàða#u‡C¤&}DDµÌ‚ÐÒ~û-‘` "ª€÷ÞËDŸ>™˜=Û¹¹Ò\Ÿ|ò 4h —³©†¼õV¦M³EAººüýJ¯&®ôÕwîè¢aÃ|u‡AT­6lÈ„jTãÆ(*’ *JGÝ¡•Š+}DDµDB‚ööEêƒ4Ì¿ÿþ‹eË–áêÕ«ÈÎΆƒƒÞÿý—˜ˆÕ«WãôéÓˆ…L&ƒ££#Ú·oqãÆÁÂÂû÷ïǤI“ö]±b:uê„ððp‰åü1&Ož\åã#*K:%¿W“’´Ñ Aš£!RŽ+}DDµD^ž yêUsçÎaÀ€8qâd2þüóOìÞ½ ¥ÞD%""ݺuúuë••…}ûöáÈ‘#(,,ÄÚµkÑ«W/$$$ G¸rå Ä}-Z„N:4h€“'OB*•âðáÃLøHm K“ͯÕôêâì$"ª%¼k'U©ï¿ÿEE%«ï¼óüüü`jjŠÏ>û ÚÚÊO&úꫯ––èÚµ+ÜÜÜàää„=zž6"U=û½*ðojô cÒGDDD勨¨(ñ}ݺuÅ×FFF°¶¶VØ'!!7oÞßÛÚÚŠ¯íììÄ×GE^^àƒ>ËoܸÿýíÛ·óù{DD*`ÒGDDDåöôéS¹÷zzzrï öIJJ’{?wî\ñáéß}÷X^PP€Ç<==ѺukqÛúõë¡¡¡°³³“ÛFDDÊ1é#""¢r³°°{ÿleœ…}¬¬¬äÞöÙgˆŒŒTúŸ§§§Xoøðáâëƒ">>6lÀ|À;u©€I•›£££Üµt111âëììl$''+ìcoo ˆïïÞ½«PgðàÁ wÿlÛ¶-ÜÜÜEEE?~<222лwïJƒˆ¨6`ÒGDDD2sæLñ†-ÄåË—‘‘‘… Š7xyÑœ9s`ll 8tèvíÚ…ÌÌL¤¤¤`þüù¸yó&¦N*·D"Á°aÃÄ÷ÿþû/(wgO""*“>"""ªV­Z!$$íÚµƒ––†ŠÞ½{ÃÖÖîîîb½Ù³g£sç΀7ÞxÀ!CàììŒéÓ§£U«VèÛ·/ ___…¾úôéSSS€T*Å!C”Æ´mÛ6ñ:Á[·n‰ågΜË:T•‡ˆè•'Þ`–ˆèu•€¬¬,•êzzz`ñâtë¦Z}""R ¿Ru³³³Ï’¨€P®ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôQµÚ³ç.\HRwUFÓÆCDDšO[Ý‘æJLÌÃçŸ_­­>Οïªîp*MÓÆCDDµ“>""ª6¶¶ú˜7¯9lmõÕJ•дñQíÀ¤ˆˆªUïÞÎê¡JiÚxˆˆHó1é#"¢j•‰bÅ÷ãÇ{C*•ÈÕIIÉÇ™3‰ˆ‹Ë…M›ZÂÇÇBi{‰‰y8s&‰‰ù01ÑF³fVhÐÀì¥ýEGgâìÙDH¥4ib‰7ßTÞvxx:.^LFaa1êÕ3Å[oÙaïÞGxô(Ш‘9\]”ާ2ý–5¦²,Yr‚ Z]CC)Fözik×Rqöl"ÀØX#Gzâòådܼ™†âbš4±D‹Ö ûefâÔ©žÏæS||.,-õàînŒfͬ ‘(­NDTk0é#"¢jµÿcDGgbìX/H¥R±|ݺ(Ì›ooS4kf‰ää|Ì{ M›Zbñâ°²Òë®^}¿ýv š¡ys+„…=Å÷ßßD·nŽ˜;·tuµú34”âÂ…$xy™âßKêñE#|øa=±® 3gÞÀæÍ÷Ѭ™š4±Àöí±jÕ=ãÖ­4Œ__¥ñ”§ßòŽ©¦mÞ -- þý÷)ÒÓ P¿¾¢¢21wnÚµ«ƒ%KZ@_¿dìçÎ%â£.¢aCsøúZ!++K–܃ƒ–.õ‡]É©°7F#-­ãÆÕSèïàÁXØÚêÃÓÓD,+ïñ|~>5on…'Or°`ÁmèéiáçŸ}`SGŒˆèÕÆ¤ˆˆª…‡‡ &L¨Û·Ó)·m߾ǘ=û&zõrƯ¿6ƒ–VÉRÌ•+)xÿýÓøè£‹ i‰Ø»÷~ùå‚‚œðÛo~âªÍÞ½0yòØÛ`Ú´Æ ý%'çcíÚVJ’»=Žcñâ;1Â::% Õ¦MÑØ¼ù>úõsÅO?5ãûë¯XL˜p ººZ˜0áIŸ²ñT¤_UÇT–O?­_fòðõµ„¯¯%Ž}‚ððtÔ¯o†>ú_rõûïw1wnæÍ ÃôéoæÎ ƒ««1¶ly[ǸqõÐ¥Ë1ÄÅåÂÅÅèÿ¡€Å‹ïÀÃÃ~~V-- FŽôÄúõ‘X¹2uë@¹ç³ùôî».˜;·™ÇgŸ5D÷îǞΤˆj5>²ˆˆjÜï¿ßPrêÞ³„š7·B«V¶¸v-—/'ÿÝ’S?ù¤¾Üiz={:ÃÎN7F£°P¦ÐG¿~uÅ× д©%òòŠñäI®XþçŸÑ °úÔ­›# +46Uú­è˜j’DŒá!W6|¸ ¤Øºõ Jâ“É$%åãÉ“±žƒƒ!¦OŽŽbÙ!îÐÓ“bíZùS=·l¹-¬Å„ïEªÏ’ùôñÇÞrÇÓÂB³fù iS«rŽžˆH³p¥ˆˆjTq±€;wÒ!•Jàêj¬°ÝÝÝçÎ%",,ÍšY!""ZZìßÿ’.Î’Jµ›[Œˆˆ ñ²g^LÚÌÌt99EbÑÑ™J%pvVL𜜠‘œœWîñ©ÒoEÇô¢ª¾¦ïyVVzâ)œÏèéIáà`ˆ¨¨LÄÄdÃÓÓ?þØ“'_F‡Gв¥ üým`ƒ\åöµ´ÔC¯^Nضí!ΟOB«V6(*°~}$.lQjªÏgóIYâØ¹³ƒÊc&"ÒTLúˆˆèU’ÍH$H$PHŽ oß’U SS…mZ•<—E&S1›ª@¿SM’•±Ðø,t ;ÖW¯¦àÒ¥dœ8‡yóÂР–-ó‡‹Ëÿ±Q£¼úkÖÜC«V6Ø·ïllôÅÓ=•©ìçHDDLúˆˆ¨†I¥Ô¯o†ððt›OË—GÈîúàA¾ùæ:ŠŠÔ{}$‘ºq¥ˆˆªÅ³ç×EGg(Ið52G—. rBRRæÍ ÃýûYhÞÜ IIy8|ø üü¬±dI ñôÁnÝ‘”ô&æÎ ÃÕ«)ðõµBq±€'âao¯9s|ññ¹Ø¶í¡\-[Ú eK,^|W®¤6o¾??+ôìéŒAƒÜqï^&6nŒFtt&š4±@ll. ‹áçg7RËE¹ûUuLêdk«ôôB|ðÁ9ñ‘ 'OÆ£]»:øüó†b½¶mí0cÆ¿8~<îî&ÈÌ,ÄÑ£%+•Ÿ}ÖP¡ÝÖ­mQ¿¾îÜIÇÔ©’ÛŠ|ŽÏϧèè,4kf‰ÌÌB>üº¢GÊ'–DD¯3&}DDT­JûÂ=r¤'zõrÆéÓ ˆÏƒ½½†÷D“&ŠÞ>ÜAAN8}ºäA: rBÓ¦–*÷h‹À@[¹2‰˜5˸ââÅdÉðÖ[v ´Eß¾§ndò²öËÓoyǤ.ß~û&nÜxŠk×R`i©‹Ñ£½àï/ÿpö ü‡«WS›[[=tìØ ­ZÙ”ºZ9t¨;~üñ&t-µïòÏç“»» Fö‚‡‡‰’Vˆˆj‰ ¨zß/""zÕ$$$ ++K¥ºžžX¼8ݺ©V¿6ÈÉ)ƶmðÁò&(.ð\\Œ°cG[õ§FAA'ššsçºVKû?üp2™€™3}ª¥}¢šÆß¯TÝììì`l¬xÇk…òš>""ªµ²³ 1{öM„…¥É•oÛöOŸ`À75E¦YÂÂÒpöl"€’ÄìÚƒ#<ÕQíÁÓ;‰ˆ¨Ö22ÒA³fV<ø ºvu‚¹¹îÞÍÀ™3‰øàôï_·ìF4ȵk©8{6IIyÈÍ-ÆâÅwàçg…–-m*ÕnXX:æÏCïÞÎ8s&}ú¸È=ʈˆª“>""ªµ ¥ØºõmDDd ,, ‰‰yèÐÁß~û¦ÒÇ׃¹Wi{™að`whkK0iRtìh_¥íÑË1é#"¢ZÏÛÛÞÞ¦êCí|}-áë[õ7’iÔÈ™Wy»DD¤^ÓGDDDDD¤Á˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0&}DDDDDDŒÏé#"¢jq ü6]Û°4´ÄÒw—ª9¢ÊÉ/ÊljÈ8{ÿ,b3ba¢g7K7ô÷é'3'…úQ)Qø+ü/„'†#·0ö¦öðqðÁ»ß…®TW¬—W”‡‘!#Å÷‰s»Ï…£™ãKãÙ¶!7BÄ÷ý}ú£wãÞU0R""Ò4\é#"¢jáë苉oMD|f<®Ç^Ww8•›‹‹[`Ή9¨gS#ýFâm··qäîtXÙ{ÃöÊÕŸwjº¬î‚ðÄptkРÛ‡ƒ©æŸƒö+Û#29R¬«£¥ƒ‰oMDïÆ½qéÑ%üóV]\õÒxŠdE˜wj.=ºiÉþ~Î~Õ2v""zýq¥ˆˆª…½©=ìMía¤g„ü¢|u‡S)yEyÈ.ÈÆŽa;àií)–·ól‡v+Ûá‡c? GÃÐ’”ü-5%;mÜÛ`ù{Ëźm=Ú¢¾m}ŒÛ1ßþ[oHµ¤ðwñ‡©¾)t¤:ЕêbûÍí8vÆvJãÙñß俬¬áïâ_]C'"" À•>""¢28˜: dHˆ\”$\®®xšûybùÿ1øáÚiçÙ:R\‹½A¶kkicˆïà÷‹¿+¥X(ÆÊ +1Òo¤ÒíDDD/bÒGDDT4sj¦P.dˆÏŒ‡± Ì ÌÅrw+w8˜:(mK&È`mh ‰D¢tû¨£` c€!HÎNVؾ7l/ê˜ÔA — Õ6<½“ˆˆjD^Qþ¼ú'®<º‚"Y||0¬Ù0¹d .<¼€¿îü…'éO §­‡fNÍðnãwaih©R?C· E±¬X¥ºæær§`–G^Q柚¬‚,,ì¹P¥}.<¸€bY1û.µŽ¥¡%6ˆu—×aí¥µ˜Önš¸M&Ȱâ Ìè8£B1QíĤˆˆª]‘¬c·…¿‹?4€è”h,=¿ÛonÇÖ![ÅU±àËÁøåä/øÐÿCtôꈬü,l¼¶óNÍCèÐP4®Ó¸Ì¾>mý©ÒS'•Ñ‘ê”{,»oíFðå`<|úë4Æžö žM½2÷+’á·Ó¿ÁÇÞcüǼ´îÿ1Ø|}36]Û„±cÅÄø¯;ÁD×­ÝZãÊã+厈ˆj'&}DDTíRrRÐß§?º7èhïÙV³} f™‰Õ}W¶\ß_G_|Þæsqß^Ðfydd«ÔW çê=íÑÏÙÖFÖˆI‹Á¦k›0*t~êúZ»µ.u™ ÃW}…œÂl´©ÌdÓÖØ}ßè‹M×7!ør0&¿=‚ `ùùå˜ÒfJU‰ˆˆ4¯é#"¢j'Õ’âúïÈ•µólssœŠ:…ÌüL€“™þ‹û{Ãö¢°¸ ¯­õ×£mƒ[G3G´vkAMaψ=0×7LJÛ?DtJt©û|sèÜN¸Mƒ6ÁÊÐJ¥~ƶ m-ml¸ºy8r÷¤)Ú{¶¯ª¡Q-Á•>""ªvV†VJ¤ åuLê -7 O2žÀÛÆóƒæã×S¿â›Cß`Æ‘hâÐ.èݸ7LõMUꫦ®éJî¶9°é@Ì<<»ní’[¡|fÁé¸s[‡lU9áJîúÞïaÛ¿ÛðÇ•?pìÞ1|øI…c%"¢Ú‹IU»‚â¥åYùYCC%71ù©ëOø®ówø/î?üõ7þ¸ú–_†eï.ÃÛîo—ÙWu_Ó÷¢g‰Ü“Œ' ÛBþ ÁÎ[;2$ÖFÖbùä}“ñqËñ¢Z~„ÿíÀò ËájáŠÎõ:W:^""ª}˜ôQµKËMCRVlŒmIJäìdÄgÆÃÖØNfN€1ÛÇ`Î;s`clƒfNÍÐÌ©†6ŠÀeXwyJI_u\Ó·éÚ&äåaT‹Q ÛnÅ߸X¸È•ŸŒ<‰Egaãûßp#ö² ²Êì×ÙÜA ƒ°ûÖn|ÜêãRó@DDô2Lúˆˆ¨ÚI%RÌ>>¿tÿzÚz(,.ÄÇ~D‘¬Ÿ~"&3W]Áª‹«ðU‡¯ÄÓA#“#!B©Ï½« 1i1Øöï6¼iÿ&üœýÄòSѧ°îò:˜˜c`“bù͸›˜°g¬ ­0ýÐt…ö²Tî{FÇÕb¼m¼+7""ªµ˜ôQµ8~›®mƒÔ°6²F —è°ªlŒmó4ŘÖn5$î3¥íl¸²{—ì…‹¹ 2ó3ñ(íz5ê%÷¼ºšÖ«Q/$g'cä¶‘°4´„‘ ’²“—‡@×@Lï8vÆvbý¥ç–"·0Óãqúã2Û¹m$RsR‘_”A›ÁÇÁG¯©¾©ÂõŒƒ6 o~söþY Ú4ø}ÀÓ?‰ˆH)‰ ê…DDôÊIHH@VVÙ§ €§§/N@·nªÕ¯¬¸Œ8ĤÅt¥ºhêØyEyˆLŽD±¬õlêÁ@Ç@é¾)9)ˆM…ž¶œÌœ`¤kT#1—¥X(F|F<³¡#Õ«…+ŒõŒêE$E -7í¥m5²k$î{ùÑeÈ™¸ÍLß õmë—ºï?1ÿ(”¹ZºÊ%žDTsjú÷+Õ>vvv06Vü÷FE¡\é#"¢jaoj{S{¹2}m}•°nehU®;]Ö©D G3G8š9¾´^yOÅ|þ”QUø»ø—«>Õn•NúxQ9ÑËõíÛ¡¡¡êƒˆˆˆj©*Yé›4iZ¶lYMi” ¨;"""ªåª$ékÙ²%ú÷ï_Mi®ð‘ºi©;""""""ª>Lúˆˆˆˆˆˆ4“>"""""" ƤˆˆˆˆˆHƒ1é£ Û¸q#$‰ÒÿZ·n­îðÔfÖ¬Y ÇãÆê‹ˆˆˆˆj)&}TaC† ;v¬X&•J!Ξ=«ÆÈÔkÖ¬Yˆ‹‹SwDDDDD˜ôi4&}DDDDDDŒIÕ¨ýáûáù³'<öDÃ_ª;œ×ÖßQ£ãªŽðžë­îPˆˆèǤÔâÊ•+ªq6l@@@6oÞŒ  ..»wïÆõë×1iÒ$ôèÑC.)ûþûï1hÐ \¼xõêÕCxx8vïÞ?þøC®ÝëׯcåÊ•åîcåÊ•¸|ù²\[‹-Bpp0nÞ¼ ܾ}£GÆþýûåê©©FÈd2™ºC½1ÿ Ø8@Ýaˆœ^_G_ì±F:Fꇈˆ^Lú¨F%%%áã?Fqq1à£>‚¥¥%:tè???ÀáDZfÍÀãÇñÃ?ˆûþùçpuu…££#¾þúë*éC™3fÀÑÑ...èÔ©“X¾{÷nñuEb#¢—3Ò5ÂÉq'±¶¿ò•u~êöƵ©DªîPˆˆè5Á¤jÔ‘#G-¾wpp_;::Н·lÙ8~ü¸ÜªŸ‡‡‡øÚËË«JúPÆÓÓS|mbb"¾Ž_W$6"¢ÊÒ×ÖWwDDôšÑVwT»ÄÇÇ˽÷÷÷WZ/<<œ,½Š¾þÿ¾ì)?­©¼}(ó|?ÏA|]‘؈j£¨”(üú÷¯¸sŲb4²k„)m§(Ô;z÷(>Úù‘ø>lJô´õÊŒ9‚gàÂà HËM\žxHÍIÅÒsKq<ò82`¢g?g?|ÚúS4°m ×_Zn–_†c÷Ž!>3––ð°ö@¯F½Ð½Awl¼º?ŸüpõñUxþ\òÇ ©–_D”9nï¹Þ(–«tŒ¬¬qñÓ‹*Õ%""*/&}T£lmmåÞŸ9s­[·.µ¾µµµÜûÜÜ\ñõó«y•飢*QmóðéCôû³ ´ °´÷Rø:ùâQÚ#ütâ'Ä<‘«Û©^'D~‰q;Æáؽc¥–O?4ßšˆ¹Ýçânò]ôÿ³? 1+ýþì‡ü¢|üÜíg´piØôXÌ<<}7ôÅÆ÷7¢©cS@RVRIÝâ|Ì~g6ü]ü‘[˜‹C0íÀ4däe`´ÿhŒö7濆v 2$¤\cW%1$""ª <½“jĤI“лwotîÜYnEìÖ­[rõ²³³abb‚3f:tèmíÿým"**J|}ïÞ=¥}•·ŠªHlDµÍ¼Só‘—o;}‹Ön­a¨cooÌí>‰Y‰jsl˱ðwñ‡Ž|ì}ñE, ,0ïÔ<ĦÇâëö_£­G[êÂËÚ ‹z-‚ øîèwrq=NŒo;~‹öžía¤kk#kŒo5o»¿]UÃ'""z%0é£egg‡ @"‘æÌ™ƒÓ§O#77wïÞÅÀaoo &œœœðí·ßŠûÏŸ?<À“'O0gΜ*飢*Qms:ú4($R¶Æ¶p³t«P›>ö>JËÞ= -‰Ú{¶—+·1¶—µnÅßB|fÉéßGî´qo£ÐNpÿ`ŒðQ¡Øˆˆˆ^E<½“*lãÆ:t¨\Yqq±˜l½¨W¯^Jž‹÷Æo`Ñ¢E8þ<:vìCCC899!((ÁÁÁr§NΘ1žžžX¼x1nÞ¼‰  qãÆ;v,Μ9#Ö{¾ßòô1nÜ8¬ZµJ.VìÛ·?ÿü3Î;'–>|‰÷ï߇««k©±7N.¶¦M›bìØ±â#%ˆjƒ‚âddCO[†:† Û­Œ¬p?õ~¹Û5Ð1PÚWf~& É‚&¥îû õ, -‘™Ÿ =m=éVßõ·¼¦ˆˆ^Lú¨Â† ‚!C†ThßÀÀ@ª\РA4h\Ydd¤Üû¯åSµ•+W–šŒõèÑ£B±À¨Q£ÊÜ—H“éJua¤k„ì‚läæ($~ÏnÂRU}™ê›";?·¿¸]æã LôL™Ÿ‰ì‚ì2? ”ÿ!«,¼¦ˆˆ^<½“^yS¦LQšT]»vM|ݼysØÛÛ×dXD¤‚g§O>;Íó™§¹O+´Ê÷2]¼» X(ÆÕÇW¶­º¸ o- ÅBÉÊ[çzGý­P7(8³Ïßè °¸P|ßé÷NØzck•ÆNDDT˜ôÑkaÛ¶mX±bRSS‘™™‰cÇŽáË/¿Pr*fpp°š#$"e¦´ssüpôœ½9…9ˆLŽÄ体•žòY©¾ÚL‹¹ ¦˜†Sѧ™Ÿ‰´Ü4l¹¾KÏ-ÅWí¿W§´™'3'Ì>>'#O"» ñ™ñ˜yd&’²“ä®ékT§î§ÞG\F®Ç^GÌÓø9ûUiìDDDÕI"<ÿొ4 ‘ $$ýû÷¯ª˜ˆäddd`ÇŽ ÅíÛ·ñäÉèëëÃËË ]»vÅĉacc£î0‰”êׯ 44´ZÚOHH@VV–Ju===°xqºuS­~U¹Ÿzsÿž‹ / ¨¸õlêáÓÀO±îÊ:œpÐïÍ~hïÙ^îy|ЫQ/ m6}7ôUh7òËH…²´Ü4,?¿GïE\FLõMÑЮ!ÆøA k BÝeç—áèÝ£%Ïé3´D ç˜ôö$¸Z¸Šõ¢S¢ñÍ¡op+þÌ Ì1®å8 n:¸ ŽLÅœˆ<·¨tÛœ®sÐ߇ÿÕ4uý~¥ÚÃÎÎÆÆÆÝ=”IQ5bÒGD¤ùøû•ª[e“>žÞIDDDDD¤Á˜ôi0&}DDDDDDŒI‘cÒGDDDDD¤Á˜ôi0&}DDDDDDL»*ùè£ðùçŸWESDU*%%ÆÆÆÐÓÓSw(TK¥¤¤ÀËËKÝaQ-Æ•>Òh¹¹¹ÈÍÍUwDDDDDjS%+}+V¬@ÿþý«¢)¢*%‘H0zôh,X°@Ý¡P-Õ¯_?u‡@DDDµWúˆˆˆˆˆˆ4“>"""""" V%§w•FL?4!ÿ† µ[k4°m€bY1.<¼€Çéqý³ë€k±×pöþYl¾¾R‰ç>9§æÈ)ôf(¾>ø5Î?[c[…íw“îâPÄ!ìüo'³q{êíW*>U•6ÎI"ÒLúˆˆ¨ZíßCðÙÛŸa|«ñby‘¬Á—‚Å÷¾Ž¾ðuôÅÑ{G‘šªŽPéGïÅuÞ(5¡ªgSõlêáÊã+HÌJ¬áèÊŽOU¥ƒs’ˆ4Oï$"¢juöþYÀ»ß•+×ÖÒÆ‡ª#$RAna.Î?8Ž^ÕŠR¯z|DD¯&}DDT­2ò3V†VjŽ„Êã܃sÈ+Ê{e“ªW=>"¢W Oï|ÅíØ±†††èÚµk¹÷=þ<Ž9‚•+WB[[?®†‰^°c`hT`ÎâüyàÈ`åJ@[àœ}­E¥Dá@øD¥D–_m-ÅvØ6@§zTj31+gîŸAbV"LôLÐ̱Ø5Pèó™ñã³÷ÏBª%E‡&xÓþM…vAÀµØkˆHŠ@F^\-]ÑÖ£-ôµõ_ÚvTrÎÜ?©Þr{ n–n€[ñ·ðOÌ?0Ô1D [ \Ì]*4ž²,9»•êêb´ÿh•Û>vïœÍQϦž\yxb8.>¼ˆ"YÙ5B˺-_ÚÎËÆ˜_”UWÉÕoY·%üœý dXzn©Xîií‰nõ»½4¾ÌüLœŠ>…'éO §­‡fNÍиNc¥q•wÏÜŒ»‰«¯¢°¸M› …s •ö#"R'®ô½ÂrrrЯ_¿ ?ç«U«V˜5kêÔ©SÅ‘•"'èׯ俊hÕ ˜5 àœ­r s±øìb½wT¥ú«ÿY6+Ú`óµÍHËMÃŇÑk}/LÚ3 Åru÷‡ïÇⳋ±îÒ:ü|âg$d%ààƒxï÷ðûÅßåêF&Gâ5ï`Âî ˆJ‰B|f<柃ö+Û#<1\!Žgm¯¿¼óOÍGRv¶ý» ï¬yÂ`ñÙÅXv~³±þÊzt]Ó眯ÔxjšLáDä ¹U4A0ãð áPÄ!$g'cÓõMøhçG(–+mGÕ1nº¶ KÏ-E‘¬H¡ƒwâêã«eÆwîÁ9. ÄÆ«‘–—†¨”(|òz®ë‰˜´˜Jã™ÙÇgcþ©ùˆÏŒÇåÇ—1hÓ ŒÙ>yEy/? DDjÆ•¾W˜¡¡!BBB`hh¨îPˆTch„„”ü?ÕzV˜Ðzn'ÜFtJ4Æ·=m=qûÓܧXýÏj•ÚÚ¶¿œüA ƒð[ÐoH$bùä}“aojií¦)ô™œ“Œµý×(ù²ß#¸Ÿ]Œ~# #ÕĤŠ-7 ‡Æ‚…`Z»iè¹®'&홄C£A"‘(´ý4÷)Võ-Y¥Êm‹Àe˜~h:Fµ…ï­Œo5˱ôÜR´rmUîñ”åÓÖŸªtüÊëzìu¤æ¤Ê%U›®oÂæë›Ñϧ~êú“X¾ûÖn|qà …U\UÇ8¡õhI´°ðÌBxXyÀÏÙ %ÑÂH¿‘øãÊø½ïïp6w~i|sOÎ…«¥+¶ Þ"ö5®å8tYÝqqâjkyÇñLbv"ŒtðÇÀ?IJß/þ޹Ïż¿çazÇéå;ÈDD5ˆ+}¯¸~ýú¡{÷îêƒHuýúœ³TÅ~ÿ§duî“ÀOÄ/ôгQOØÛaãµ(,.Tدߛÿ[u–H$hêØyEyx’ñD,w³tìγĄ t Э~7D¥D!:5ZiLï5~O®~=ëzÈÌÏD?Ÿÿõiªo +…6*:žšrìÞ1˜˜£¹ss±ìϫƌ“«Û«Q/XY+´Qž1ñ¬½´V®-7¶ eÝ–r _iñÉ CRv’Ügë`ê€é§ÃṈ̃ÂãxFŒn!zìðæÃa c€­7¶ª}u–ˆèejÝJß;w°uëVñýôéÓ£GB*•" ~~~âöÓ§OãĉŒ9‰7(Y‘ûâ‹/JmÿÎ;8|ø0tuuÑ¥KÔ«WrýÁÕ«Wñ÷ßÃØØ;v„‡‡‡¸ßÝ»w±yóf¹v´µå?®ÄÄD>|=‚‘‘àïïÿÒñ_¾|gÏžEaa!üýýѦM…:ééé8xð bbb ¯¯ÀÀ@4kÖì¥íR)‚ƒ˜ÿV„7ßÞ{ذˆ~îKà—_úúŠûÀ;Àss Ó§ÀÑ£€T ÏÍYœ> üÿœ…‹ ðÿs‘‘ÀÿÏYÿ?g•¶çpø0 « téüÿœÅÕ«À߯Æ@ÇŽÀsswïÏÍYLŸ^r]ÞóKÚ}ô02*‰½Œ9‹Ë—³gÂÂ’ºJæ,ÒÓƒK޵¾>pÎjŒbY1"’" %ÑÂþðý@"·]ª%Ena."’"®ßr0u{o¦oÈ)ÌËÜ,Ý`kl‹C‡ŸŒ¼’ÏÜŒ» HÊJ‚‡•^doj/÷Þ@ÇZ-ØÉ?>ÀPÇÙÙU2žU×5}ÇîC[¶J¤bÌÑ©ÑJ¤ ˜D"‹¹ ÒrÓIJòŽÑÜÀï5~›®oÂùçÑʵŠdEXy=–÷Y^f|ðã;?bòÞÉè°ªZÖm Ô ÀŸrq•gϳ4´„±ž±\™ž¶L•…˜§1ð´ö|Ùa%"R›Z»Ò·uëV|÷ÝwX¸p!¦NŠØØX„††¢E‹˜;w®Bý9sæ 88X¡ü÷ßWZÿYû‹-Â7ß|ƒøøx¬Y³ 6DHHfÍš…üqqqX´h7nŒãÇ—Úe_x IDATNQ‘üu ,@ݺu±dÉ$''ãŸþA›6mЮ];$&*VÒgŸ}†¯¿þ±±±8}ú4Ú¶m‹=z 77W¬sìØ1899aÙ²eHIIAxx8ºté___DEE•y\I‰[·€ï¾¶o—/ß»·$qSÕÖ­%í,\L ÄÆ¡¡@‹€’9ˆ9sJ’Îýþ»òúÏÚ_´øæ >X³hذä”ÍY³€ââJê4n (™³b;/ÌY,XÔ­ ,Y$'ÿüS’ÀµkW’ *óÙgÀ×_—Œõôi m[ Gà¹9‹cÇ''`Ù2 %/IT}}ÎY!yî/êûf_Lh=¦ú¦ Û´$eÿ3·ëÖ., ÀO'~Âý”û IT± ü:/emK$¹U­ÒTt<5!*% ÷SïËß³Œ!)=åã(ÿQÐ’haÍ¥5€}·÷ÁÙÜ>ö>eÇÀÇÞÇ><†ƒ6ÂÏÙ'"O ï†¾Zô¿kú*0U¶Pés'ÍV¬ÆÕy¢²Ôº•¾úõëcÖ¬Y¸qã"""€¿þú @É©>>>˜5k&Mš]]]¼ýöÛxûí·1oÞ<¹v<==1kÖ,ìß¿<(µýäädìÙ³0kÖ,899aìØ±øüóϱk×.%«xNNNøá‡СC@½zõäÚyÞ–-[0yòd <6l€–VÉ?DgÏžÅÛoÿ{ç_óõ>ð÷M";dÈ$ˆ1‚¨"fíªÕªò%fŠª´Õ­ZEÒjkTiQ#FìÚ 5b“)dÈÞ¿?>½Wnî 7ÉçýzåÅ=ã9Ïs>GÜçsÎyžöôéÓ‡£G*ýƒ™™ûŠ8 ,`úôé̘1ƒÅ‹0}útêÕ«ÇáÇýg̘A£F¸ÿ¾Òn¤@F‚áá[7É9‘ßu«SGr\BCÁÒòé2ÜÝ%‡ëÂi‡/>þ[³‚§§T?i’´3×¾½ôSlÍâæ&µÛ±ЬYùÂk–à`É¡3¦N…ÿÖ,}$•öü·f©__YNQ~ý¦L·Þ’v9ÿ[³=*éÚ§ô÷¢_šbbÀÌLÙ1^°¦O‡3$ç¤ÏõêIN¡¼ÿŒ’³zÿ¾òn¤à¥DWG—Ö ¸òà o·|[é&@dB${#÷*áÓ”‚Âæì™ƒŽL‡£v*íä¬=½–#·”[ÿâhÓžŠ¸Ó·ÿú~ôuõi_·ýeº¸Z¹rãá î%ßÃÅÂE©Oôãh¥Ïe±ÑÉ܉Îõ;³çÚ""YõÏ*&·Ÿ¬‘~ËO,gØkÃx­ök¼Vû5ƵÇÉ»'úëP\À·}¾-µEIÌH$+/K)¢kv^61c0ªfTb„VÁ«Â,^¼œV­–bkk[ÙÊ*¼²;}rÞyçÅße2>>>dffr¯è‘¼r0bÄÅßMLLhÒ¤ )))Šc¢æææ¸»»sõêUdΟ?€Ù³g+>___üýý9~ü8‡VêSXXÈ´iӔʂ‚‚011aåÊ•dggŸŸOll¬’ýNNN,Z´ôCWWÚýª[ ’RŒ)íü=ËáSG‘5‹L>>’©¥5K‘5‹‰‰´£—’òä˜(€¹¹ä,j¸fùoÍ2{ö‡À×Wr—œ¶¢B±5KP¤ÓÊ•ðßš%?_Ú},j¿““´³(Öl•al›±|ü{¥òì¼l>Þó1W\U:ê§)2dèëéSXX¨9òRÜ¥²+ü *Êmz=gŒ«)dz»ÅÛ*)v_ÛMtŠª³TG{`âö‰ääçÐÉ­“Æú­8¹‚¿¯þ­Tæbé(ïÖ–Ö9…üxúG¥²ugÖ‘™›É fƒ¯*~ää¤ÈÉ“'+[@…Wn§¯8ŽŽÊgú-,¤·‘iiiZ‘_»vm¥Ï&&&èèèP«–ò=SSSÆÌÏÏ'""===êÕ«§RïîîNhh(çÎSº¯gmmMõêÊG… qrrâÊ•+ܼy“F±bÅ †J½zõèÔ©“âÈèèÑ£Kc¶ 8ÒîYëÖÒÑ߆ÆË&«Øšå¿5‹–Ö,ÅÖ,&&’£VlÍbjªÙ˜ùù!ÝïS³fqw—v<ÏS¾¯gm ÅÖ,††’CwåŠtt³Q#X±†•dwêôäȨX³•Ž<¯<ˆÉwÇ¿£±mcº4èÂö·sõôÒàʃ+,9º„ºVu¹õè i Št^Ž^ø8ûÐͽ  ,8´€³QgiQ»ùù¸qûêö|Ñõ âRãØ¾IiLg|œ}Xrt g¢ÎðËù_ðªíEÏÆ=™î7vDàš@ê`¬oLDl„ânß—þà~ò}ü\ýÔÊvµrå· ¿q7é.…,9º„6.m¨U½["¶ý8šÜü\–]‚·“7ÞNÞÛó¼y”ñˆ 1øäõOTê†4Âõ‡×ùùÜÏÜzt‹fµšó8†‡éiV«ã.²äèÛ5ÆßÍ¿L66«ÕŒ-8}ŽÏº|¦r¤òiúù¹úññžÙ}?u­ê’šÊ¾È}8Ôp`r»';†¥±ÃÂÈ‚£·’–€© W\eÔ¦QÔ·®ÏÍG79xã Ý:2µÃT-̾àå¦S¦ìdïÞ±Œ9’ùóçÓ³gÏÊVJ PðÊ;}ººå{“Zü®&ò5½óQŠË/º#X”ÂÂB¥öÞÞÞDFFrìØ1ÂÂÂØ±c3gÎÄÓÓ“ßÿ]ï,uëJ?/ÂO?I»~eYå\³*wí4‘/“)½¬ŠË/aÍòßšU´÷ö–‚È;aaÒñÕ™3¥c¯¿ÿ.Žw¾6 T[nT͈ ß •ò!͇¨m?üµáôhԃ÷›KuÃêôhÔƒæÍ5³­K[Úº´U*ëïÙŸvuÛqäÖf<¤†a 7Ì£ŒG¾uXEFI²{7é­¶üM7ËmÏóâÀRˆ=•:™LFðëÁ l6“wO’›Ÿ‹³íê´ãÏËr?ù¾JŸ²Ø8Ëa·ÂèëÑW¥îiú-깈ø´xÎF%:%SºÐƹ º:O~¯•ÅŽ!͇`j`Ê(¯Qœ¾šˆØ,,y·Õ»x;=#•à•ÁÀÀ”eË–1þ|¦NJBB‚Ò‰2 2yå>M111!%%E¥<**ê¹ê¡««KÓ¦M çúõë4hÐ@©þÊ)‘póæÊÿ¡&$$™™‰‘‘‘¢,++‹{÷îall¬pææÍ›ÇøñãñõõÅ××—Y³fqðàA:uêÄôéÓÙR<‰@sÞyGJeðÖ[RäÌÿû?X¸°âÆ31‘Žeç9¯Ytu¥¨¥áápý:[³ü·f)¶fIHŽ­Y³deIÇ8Ÿ8sóæÁøñÒQQ__)ÍÁƒÒ®ßôéªtÏ y^;uôjÜ«L2--Kt®ìÌìJ³¤ry¿¢©ÍiV«™F2Ê2&<ÛžçMhd(vؘڔئ¡MCÚ4T*ëÓ¤O‰íKk£g-O}:ºººLž,^X*WÎé“3hÐ µå¨”wéÒ…Ë—/Jrr2]»vÅßߟ•+W£±ü¡C‡ª-/åSÅïèM™2…¡C‡²{÷n¢¢¢ptt$((ˆÖ­[«ô}ÿý÷©^½:S¦LáðáÜ>}kkk¦M›¦â\þòË/DGGsìØ1îÞ½K­ZµèÕ«å¾ÿøÊbj*9,Šä•†ÖÒOqºt‘œ»ÐPHN–œ'É‘S³fK”_šåkVåŽÞ”)’¬Ý»%GÖÑQr„Õ¬YÞ_ â2eŠÕóôi)°Ë´iªÎå/¿HyüŽƒ»w¥€3½zIs"Ö¬@ *‘>}úPPPÀ‡~ˆ¥¥%ǯl•¯(²By$² ÉØ¸q# ЖN¯4Ë–-cøðᘘ˜’zêÔ)?~\Éš½œÈd2&MšÄ¢E‹*[•ªË²eR.ÂÿÖ,pêˆ5 @ÿþÒ=±Í›7Wˆüøøx£ »¹¹²dI<ݺi)Ò«@ €gÿ~]±b .déÒ¥téÒå9k'¨ ØÚÚbjjúì†êÙ,îô½`,[¶Œ'NMxx8>>>•¬•@ð–-ƒÿÖ,ÙÙÒ‘L±f@ P0fÌ ÄÔ©S‰ˆˆ¨lu¯ Âé{ÁhÙ²%Æ S½ÔÓÓã›o¾©lµ‚’iÙ† {rôROO R#@Áœ9sxíµ×˜0aÉÉÉ•­ŽàC8}/ëÖ­ã—_~ÁÞÞžñãÇsùòe—5‰·@ðÃ_ΚSk¸'íÂwtëHs‡æ|ö¢ßê«Ùzi+Çï'93™ÂÂBVô[™………¸y€Ðë¡Ä>ŽÅ¨šÍj5c€ç,Œ,Øvi›Â¥·æ l(Ž"†Ç„3ÿà|Ì ÌXÑo;¯ìdù €´[õE×/Xv=±ääãYË“a-‡and®±íg¢Î”ʦ½‘{Ùc?Ò`ªoŠ—£ý=ûc\͸\:j2_šèÚ³qOþü÷O²ó²¹–p!† «£ËOƒR‘±nÐ:ªéVS)_3p ¿GüΑÛGÐÕÑ¥y­æ {múºúJzkºvF{Öø™/"têÔ‰áô *ÈE FzN:~À¼ó¨o]Ÿ·Z¼…C ÞÙôoä\ô9&¶›ˆ¿›?®V®Ll7‘üÂ|NÝ?Å„mx”þˆþMûÓ¾n{NÝ?E^AyyŒÝ:–q[ÇQÝ :o·|›u;ðÛ…ßx}åë„Ç„àåèÅÄv çrüe…NÎÎLl7‘„ôÎFŸU”·phÁÄv‰Kã体ŒØ8==7Œ³kN¯¡çÚžÄ<ŽÑØ~MmÊÍÏeÌïcÚ„•±ÃZ£µsk–Ÿ\N5=xö Ì:j:_šèÚÔ¾)ÛM¤šn5jU¯ÅÄv™Øn"|'¨•QPX ¶|öîÙ¤f§2Ðs ®V®Ì?4ŸÿÛñe^;AU`ܸqDDDpúôéÊVEP;}@ ¨0YÌåøËÌè4ƒwZ½£(÷rô¢Çšèéèáíä­(÷vòVì<ù»ù3¸ù`ü\ýhY»%ff,;¾ŒÐë¡Lë0M)PH@½:.ïȸ­ãØÿþ~j8àPÙòûMs#s¼¼1Ñ7!)3IQn_Ýûêö˜˜p/ùóºÍ# ^ í&¹Z¹2zËhæìÃý~ÐÈ~ # lúîøw¸q€Éí'ó¿6ÿSôoáЂ^?ö"xo0Ëú.+“ŽšÎ—&ºÖ·®žŽ:2Ì Ì”ž:{K*oáÐB!»£[G.Ä\`Ç•|ÙíKŒª¥_;ÁËŽ§§'-Z´`íÚµxyyU¶:‚*†ØéA…±óÊNú4é£TÞÀºu,ë<µo§z”>¿Vû5ôtôر€~Mû)Õ×4©I‡ºˆO‹çð­ÃåÒ[OGNnÊãwt눹‘9a7ÃHÍN-“Ü’lÚ±€þM•ï€6²mDË:„^åqÖã2éXÖù*IWmÐÁUùøZ]˺D§D+Êʳv‚—•‘#G²ÿ~‘·O uÄNŸ@ *„Üü\¤=@_WKcK•zSî'ß/±¿¹¡êݹ¼‚ùùù!“ÉÔ¶sµr-µŽe™¯ŠX;ÁË€®®.½{÷fûöíLš4 q(O ÄJA… “ÉhîМÂÂBE¤E9ÙyÙÜN¼]&™ÞNÞ*åbÜEd2­Ÿ$8®aTƒ¤Œ$¥vÙyÙJG ‹“šª°åaúCâRã°1µ¡vÚ¥Ö½$ä6åæckf‹·“·ÒOZN«O­ÆÌЬÔ:–e¾4Aî¤Êù¿ÿÇÞȽ¥’ñ4*bí/ }úô!::šS§NU¶*‚*„pú*˜´´4êÕ«G```e«¢5ª¢M¯§ïœÆb¢ówϯlU´FU´©ªä„ŽL‡yç)î¤åäóÕ¡¯Ôî¾iÂÔöS1Ð3àË_’˜‘¨(_õÏ*®Ä_aP³AJ»bvÜIºÃÅØ‹Š²¥Ç–¢«£[âzÌ?8_±˜›ŸËÜйää1¾íøwãÊÊ4¿iêòɾOHÎLV”ß|t“à½Á¸Û¸£+SÖWSK;_šàbéBìãXò òIÎLfו]¥Je¡ ±v‚—777<<<ؾ}{e«"¨BˆãLaa!¼\ÿA™ššÒ¬Y3Ž=ªR÷²Ú$((,P<×…3wÎàõ¹³ºÏbnï¹*õ/£M¯ >Î>,깈Oö}BÛïÚâjåJbF"C[ ¥©}SÎF=I™pãá >Þó1‘#±q2düòÖ/J2=ì=øiðOÌÙ3‡öËÚãjåJBzé9éù)E¿˜Öa7ÝdàÏ©o]ŸŒÜ FyÂÅÂ…+ñW²a=÷dP³AŠ>æ†æ¼^ÿuºüÐKcKî%Ý#'?‡é§3¤ùí×ԦƶÙðÖ>Þý1í–µÃÅÂ…‚ÂâRãöÚ0‚Ú©ÈÖTGMçKS]þ׿LÚ>‰.?t!#7ÿzþ´rl¥ÈÇWTF»:íx½þë*²ûzô¥Óþ Ù0„û)Òý¼»fà[Ç—i¦•jíU.]º°fÍòóóÑÕ-ù•@ )Âé«`ÌÌ̸yófe«¡Uª¢M¯Þu¼I^’üì†/UѦªD÷†ÝéÒ  ‘ ‘ääáj劉¾ ^þS}SE;;3;&¶›¨‘Ì-økÔ_Ä<Ž!.5£jF¸Y¹©Üý¨kU—]ïìâ^ò=g=Æ­¦&ú&4±kBzN:ð$ Iq½;×ïÌõ‡×ÉË—ƒ—öî[ilò´÷dûÈíÄ>Ž%65–êÕq4wÄ@Ï Ä>šê¨É|•F×Nn8>þ8·ocndŽ£¹#ð$_QjšÔÄÖÔV¥Ü¡†€JyÑCM׎@PÕà믿æÂ… ´lÙòÙ‚g œ>@ TÉ™ÉÌü{&Ëú.£‘m#EyZvw“îÒʱ•¢ÌÔÀ´Ôy×jU¯¥Öa+ޮޮJ˜ÿ&vMžÙO_WŸÆ¶K¥SQÊb“<Ÿ¦”FǧÍWiu550ÅÃÞC©LžO¥-/ÍÚªnnn¸¸¸pàÀáô ´Â s§ïêÕ«ôîÝ›5j`llL«V­Ø±cÈd2d2ï¾û®¢}BBAAA¸¸¸ ¯¯µµ5}ûöåÂ… Š6Û¶mSô•Édܹs‡bnnŽ••jw¬Ê"ûÚµk 0+++EÙªU«”Úde)GŠ{ôèS¦LÁÕÕj×®M@@?þø#™™ê£²•Ô___ ºvíÊÁƒm¾þúkÅøµk׿ôéÓøûûcff†±±1;v䨱c*íÓÓÓ9v옢¯žžžZ»ŸfSI:•õ¹|˜ÄÄD:uêDXX˜R{Ú¶mKaa!………äå婵»,:•å¹y›ÌÌL 9r$?þø£Ú¹ëÚµ+]ºtaÒ$Õ$½räýýõW z| ;;›ºuë’””ÄíÛ·±µµ Y³f„‡‡sþüyš5k¦hñâEš6mЧ§§ÒNæÓ¹<Ë&Mu*Ís)+2™ŒI“&±hÑ"ûääáôNL}}*_÷ÿZQndNVnÑ_Ece*%).,,ÄnªÖfÖ\úäR¹dgçeýU4–&ªIåmÜíÜ99ó¤bœz³ê•ÅÍ/nRÛâI8úì¼ll§ØrèƒC4sl¦Vž¼¿\O'K'E]DTÍ>mFsÇæœ-^HÎHÆb¢¶Õm¹3ï†Õ í¿=ð-~ÀDÿ‰ gõY\žf“¦:•æ¹”†þýû°ysÅ|1'--M£¶nn®,YO·nšµfTÄï×äädZµjÅòåËéÔ©“Öä ^Nlmm15-ó]æÍ/ÄNßîÝÒ—ç.]º(•[[[ãîî®Ò~Û¶mèè訤 °³³£qãÆœ={–¨¨(•~^^^JŸ¥‹ç11Oò•Uv«V¥»[ðǨuÿþûï§:|EûwïÞ]©ÜÀÀ233Ù³gR‰‰‰’ÃàááA­Zµ'66¶T6hC'Ðì¹yIr‰_ÑþJÎ@ÓÚM©mQ›s÷Îq/ñžRÝk.¯)9|]šH¿þ¾ô·ÆúkS'Mž‹@ ¹¹9nnn"_Ÿ@+Tz —ììlRSS144Të½ZXX¨´OII F Õã\r®_¿NíÚÊ_^‹·×××P„y/l“ÛG>Ž¡¡!fffÏîPÊþò´¸¸8¥rssõ9”lllˆ‰‰áÁƒØÛk<@:Á³ŸËó&!5k3k•:3C3•Ü^ñã8{÷,²ÑêswÝ~x›ü‚|¥¾êŽ#êëê+åŸ*«l}Í×cÑqlªÛ”ªŸ¦ým«Ûr?ñ>q)qJ˜º¼^6f’Œ¢÷Ÿ§Nš<@ žÍ›7'""¢²ÕT*Ýé300ÀÌÌŒÔÔTÒÒÒT¿¨´777'--ÌÌLE€méRQ²‹S£F RRRHMM-µã÷¬þññÒ—];;;¥òGQXX¨’TX>Ç66O¾—6ñpYuz‘;{rç¯(‰é‰ää+•ÙU—lêP¿‡>8¤U]*RvQl«KNùƒÇes´žÕ_î€ÙÕP~þÓª´•;{rçJ¿Ë£“@ / 6äï¿ÿVûýM ( /ÄñNùGù1O9qqqDFFª´ïÛ·/yyyJQ'åÌŸ?'''Eà‘ÒR‘²‹Ò§OvíÚ¥R×¼ys&Ož¬Qÿ;w*•ggg³ÿ~ŒŒŒTŽËfeeqúôi¥²‹/ƒ§§§Ò.Ÿ±±1999ŠÏ 4`åÊ•Z×éEij¶'µÌkq1ú¢Ê‘¾°È0•öMk7ÅÍÆð¨pR2ST껆teÈš's~^²‹S׺.£/*EÎÉù5kÀö Û5ê_ü¸dDTQIQ´pj¡rÌòìݳdäd(•í¹$îÚäÉÑgc}crò¤5›‹l´ŒÈxÕßåÕI ‚… ðøñãr_Á^§ï‹/¾ÀÒÒ’I“&±oß>ÒÒÒ¸té#GŽT»3ôå—_âêêʨQ£øûï¿III!11‘+Vðé§Ÿòõ×_—y—®"e§N:Lž<™;w’ššJTTãÆ#66ö™NŸ¼ÿ¤I“رc©©©DFF2dÈbcc Q©”S£F fΜɉ'HOOçÌ™3 :}}}BBB”Ú¶hÑ‚ÈÈHî߿ω'¸uëíÚµÓºN/"º:º,¼„¼ü<®È¥èK¤e§z%”ï~‡ŽLùŸL&c͈5ääåÐïû~œ¿wžÌÜLî%Þ#è× Nß9ÍÇ=>.“.)»(:2V_žŽý—÷çܽsdæfr1ú"ý–÷£•K+›–ªzv:'nž`ÈC034ã‡á?¨ô³0¶`øšá\pÔ¬T¶ßÆœ?çàhéȬî³í\­]©nT“·N’š•ʆ“p0wÀÕÚUë: @ð¢àîîŽL&ãêÕ«•­Šà%ç…pú\]]9qâ^^^ôë×[[[ƌÌ3¨S§ººÊw¨lll8uê½{÷füøñŠ€/[·neûöíŠh˜'OžD&“±}»´CaddÄG}H_¦çÏŸH;kòÀ-å‘]|Û]ž®h›¡C¥ÿvvvœ>}š2a¬¬¬hÕªIII9r'§§ï>Èû<˜   EÿôôtBCC=z´JSSS–.]Ê'Ÿ|‚½½=íÛ·Ç‚СC¥¶‹/¦iÓ¦4lØBÆ 5²éY:•å¹/„Ó””Ę1c¸ÿ>œ:uŠR½zufÏž]Ùê ^Av^ÜÉ’ýKHLO$9#™í¶óÁ–hU§ƒ[ ®lõ€Uÿ¬ÂmžnóÜhûmÛ2ËÙqe‡BN£¯iQÃçKU±C ãèèÈýû÷+[ ÁKÎ áôÙÙÙJrr²âžYÏž=©W¯§N¢nݺ•­âKË×_L&#<<œèèhd2™âþœ dú6ïËÚkÙzn+>n„ͦnšÊ0Ÿa쟺}=ýÊVñ¥%pi ¥ü›þÙ ¸?'ÊÆ»ÞïrãÃ4´mX.9 ¹ñá Ú¸´Ñ’f•ËjGFnþ+ü½Eõν@ð4ìììTR˜½Èdeeñã?VÉ«Y‡ÆÍÍ 777Μ9£¶M\\=zô }ûö|ùå—Lž<www/^üœµU¦ÒóôÉñ÷÷Çßß¿²Õ¨rL›6iÓ¦U¶/úzú o3œám†W¶*UŽvT¶ @ðÜ),,¤ °€‚‚•:…4²mÄÆ¡+A3Á‹Ž……iiiäååUXéÒðàÁ~ûí7¼¼¼ðññQ©ß·osçÎ%""‚o¾ù¦4¬RSS™9s&666%:áŒ7ŽG±sçN,,¤—Ü^^^|üñÇ8::òæ›o>Oµ¼;}@ U}¾ÕVW¶*‚— IIQÍ×[ÄÇdzdÉNœ8¡¶> €Y³f1a„ç¬YÅòÙgŸááá¡ñ¾(ûöí#""‚aÆ)>€AƒakkË¢E‹Ô¾øy§O @ xA177 99¹’5Ñ ###FŽI:u*[­qðàA<ÈgŸ}öÔv»wï Måãå:::øøøGxxx…éù4*X U’}‘û»u¬â󡱇XppGnAWG—æÍ™0'ó'yIó óÙ}u7›Â7q-á©Ù©8[83ÀsÃZCG¦£VvØØ0æœÏ¡›‡Ð×Ó§CÝ|ÜùcR³Sùtß§œ¼{:ºvd–ÿ,LôM”tMÌHäÛcß²ÿÆ~âSã130ÃËÑ‹ ¾hh£Ù]¹ _¯QÛš&599áä3Û5_ÔœÔìTµu2™Œ#ãŽ`gf§T~óÑM¾<ð%g¢Î—Ÿ‡g-O¦´ŸBËÚ-UÚ}uè+NÞ;I~A>m3ÍOóëÅŸÁÞÑ{Ytd'îž 9SúrzzâiªV/Ó3Õd½hÃŽ÷ŸÐëOî·¬ÝRqÌòøã ûm+û­¤“›µynè\~<ó£¢ý·}¾eüãŸ:_tý‚™ÏT´ùwÚ¿è°êŸUÌ;8€³Qgq›çH¹`¯ýß5E{m¬Ï¢ó”—ŸG}ëúŒo;žÏüÈñ;Çèß´?_vû€äÌd¾;þ¡×C‰KÃÒÈך®ôjÜ‹î »c¨g¨Ù ÊM5é>ÙÎ;éž_ÿþý9qâ—/_&##+++ŒA_Š¿Œ‰‰aË–-Ïuýúõyã7”ÊRRR˜5kÁÁÁÔ¬Yó©ýÿý÷_µ¯¼ìßÿ¥yóæë¤-„Ó'‚ ¡sýÎÜøð†âKõÜйŒi=†ùÝçs.úc¶ŒaÒöIl¾UÑ'ìf·OdZ‡i,齄‚ÂþºüsCç—LJ?T+û‹_0Ög,ó»Ïgϵ=LÛ1äÌdªéVcrûÉ8[8³ýÒvf¾ ³üg)Æ|ö€þ?õ';/›yÝæÑÊ©Ñ)ÑÌÙ3‡~ëûñóàŸiîðìÿ ‹~I×&S#0®f¬øüí±oY|d1SÛOUqø2r3˜³w“ÛM¦¡mCn>¼ÉŒ¿g0ôס¬´ŽVŽ­¸›t—þ?õÇHψo{K‹Ú-¸Ÿ|Ÿ/|ɽ¤{éUü|´û#&¶›È‚î ˆ|É€Ÿ¤/{e}¦š¬mرüÍål8¿9{æðMoèÙ¸§¢nû¿Ûʾ>ÂÛÉ›ŸÎýÄúAëž9ëwf€çó]ïwy×ûݧÞéÓÆúT7OÑ)ÑÌ ËÕWÑ×Õçò—íÒ¤1ó³ùüÏñvò&37“ᙾs:³3Òk¤Fó+(?ÕªUP¤6[¾|9nnn„††bhhˆ££#‡¢  €÷Þ{øøx6nÜȸqã”îÜåää°|ùrÞxã …Ó'gùòå4lØS§N`iiÉÆùôÓOY³f ­Zµ*•ÎryÅóxËËÏž=‹L&ÃÔÔ”Õ«W³`Á~úé'BBB077ÇÈȈ•+WòÕW_ñçŸbee¥‘͇~ÈŽ;ÀÉɉ°°0fϞ͔)S=Z»Á’>ýôSZ´hA÷îÝŸÙ6..]]]µŽªü¸g\\œVõÓáô à¹0Às€âËi[—¶ø¹ú±ûÚn’2“°0zr÷ÁÛÉ›÷}ÞW|Örá1áüxúGÆ·©jrÚþMûÓÄ® ½›ôfÅÉ„Ý ã×·~Uì„ n>XQ^Ôéû:ìk¢S¢ù¦Ç7ø¹úP¯f=Bz…Ðáû|²ï¶Ø¦õù( »®î"ähoz¼©4GrR³S™ÖaÍj5ÀÃÞƒ…=Ò}uw> ýŒ¿FþH6?ÎzÌ}¾À·Ž/ ¬° ûü¾÷+“nc|Æàíä €§½§’\–gªÉzÑ–ÝÝ»37t.Ûþݦpú²ò²½г…3û¯ï'=']±CüÇ¥?èÓ¤O©ç¡,hc}ª›§z5뱨ç":|¯z?éë°¯‰J‰bIï% g×Dß„ÿµùg£Î–ËAéÑ×—"†7jÔ___Ö®]ËåË—™0a;w`èС8p€>}úàææÆÆÊ/Ú¶mKóæÍY¾|¹Ryûöíiß¾=k×®åâÅ‹Œ7NXqôèÑ´k׎o¿ý–õë¥={ö¤N:lܸ///‚‚‚J”÷´q&L˜€ŸŸݺucÀ€ 2„åË—+ÌN:1bÄ6lØ 4ΧŸ~Ê_ýŧŸ~Ê!Cå³fÍbþüùÔ«WO!»V­Z*:–†ýû÷säÈűÍg‘••…Ú:¹óž••Uf}ʃ¸Ó'‚çBSû¦JŸí«ÛŸ¯(ëäÖ‰ C6¨ômhÓ¼‚<®?¼®V¶‡½‡Òg[3[…#(ÇÎÌNi<ŽêÈt_nåX›ZS¯f=.Å]".µrÞÌžŸ|^±ËÎ;>À«¶sߘ«¶½žžöžJe ¬`cjÕø+úˆO?ýKKKú*=§¢Èwj +çh´VvúÈÀµ!J Ð:‹/®ôÜ(‚W›ÚµkW¶ /fÊÇ]ôu¥·×…*ÊR³SY}j5{#÷—Çã¬ÇJ}2s3ÕÊ6ÕWÞ)’!CWG£jFJå:2 ŸDNËÉÏQÜ™k¶¨Y‰ºßI¼£r”²8q§ONÌãÆlƒ½™=Ëú.£šn5µíÌ Í‘Éd*åVÆVÔê8¶¶¶JŸuuu©V­šÊøÆÆÒzÍÈÈP”]»vüü| Yºt©R{yTÌóçÏ+ÊÊs§/$$„‚‚"##‰ŒŒT´‘ßÛÛ²e ÇÇÔÔ”Q£FÒÞºu‹ÔÔT•#žIIIŠ6•Vœ¾nݺQ¿~}mˆ´ÊâÅ‹iܸ±ÒÛ0ày²sçNáô•‚÷¶¼Çéû§™0›z`adL&cíéµ|¾ÿs%QèëêSݰ:éÙé\þ¿ËèÊtË,«¢îô¥ç¤3zóhò òø¡ÿ˜™—ض¤ /2’#¤¯«‰¾ é9édäf¨8òà#Ú¢¢ž©¶íèèÚs#sþ¸ø½÷æB̾íó-†z†øºørôÎQ¤=`ëÅ­Lí0µL:—„ UG´³>Ÿ5OÒ©´730#5;UéH« òïÉy–•¼¼¼§Öëè<Ÿ€%£««ùúV×VGGGq”3??¿TòÔáå奔vA7nÌ­[·¸sçÊ'Pîܹ£hShÅé>|¸ÊEMàE`ñâÅtîÜ™E‹U¶*‚W”¨¨¨ÊVá¥!¿ Ÿ³Qg±6µføkÕê²ó²+lÜ. º°9|3g£Î*ÈYqr?Ÿû™Cc•Ë!,+ùùLÜ>‘›n²nÐ:¥#‹ãÿO¯Æ½è\ÿÉK­ŒÜ ®Ä_¡¡í“ˆŽ×®ñ í mbcjHÇöv]ÝÅá[‡y£Á“HuI™IJ»cÚп"Ÿ©6í¨¦[î »³á܆-$ ^€"Beï&½ »FÈ‘¤=ÀÇY5!uy0ªfDn~®âsç•y§Õ; j6H+볤yJHKP;O¯×ß/þΡ›‡èÞP9xE5=híÜZé^¬ bÉÌ”vÃKº+VùYjªòK ØØX­è#w¦ ¥6YYY¬\¹’Áƒcmm­•1JÂÝÝ]]]ôõõÕÞÕ;pà‰‰‰ Ës§¯x°9±±±\¾|™~ýúñÚk¯)ÕuéÒ…¿þú‹cÇŽ)9}………œ8q;;;<=µ{\SÄ>@ ¼èêèâíäMBZ?üóI™IdåeqòîI~9ÿK…;­Ã4œÌ˜¾s:a·ÂHÍN%93™_ÏÿʷǾeF§•âð|¾ÿsÝ<Äç]?WyFÕŒødß'„dž“™›ÉÅØ‹Lýk*Õt«1;`¶¢Ý4¿i˜™óÙ¾Ï8zû(¹Üxxƒ)N)ñØbY¨ègªm;z7î ÀÆðJZ:×¾ Ã7Ò«q/Eš mÑØ®1·oû8–óÑç¹—t/G/@;ëSÝA¥Ñ¿6oÞ\!òãããIKKÓ¨­››+K–ÄÓ­›fíËË…˜ ô[ßO©l\›qLi?E‘LNG·ŽüÐOr ¾9ü ‡n"!-s#s:Ô퀵©5ËOHQçšØ5!øõ`µ²;×ëLŸuÊQ§u˜Ækޝ1èçAJåA¾AùJo€“3“Yv|û®ï#öq,Õ «Óȶ£½GÓÖ¥­V棴\Š»Dï{?µÍ÷}¿çnÒ]E®7[S[¾ó{Z@DL…4µoÊÔSUòôÝN¼Í‚C 8q÷„"oÛ„¶X{f­Ú¼mÅQ÷|•{eå}¦O[/Ú°£8+ÈÉÏ!ll˜ÒýÈé;§óûÅßÙýînÜj>ÑG“y(žƒ Wã^,ì±€[n1k÷,.Å]ÂÜÈœ÷}Þç­æO‚rhc}§ü‚|Ú4ä¿X|d1±\œzQ©½cKZ9¶bRûI¸X¸h4æ«DEþ~½{÷.þþþÌŸ?Ÿèèh–/_Ž……ÄÁÁ7ß|S¥OHHK—.ÅÛÛ›¦M›rõêU|}}ùòË/quu¥{÷îôêÕ‹„„Ž?®$³OŸ>Èd2¶nÝÊÆIJJâý÷ßÇ××W\eäÈ‘œ?^‘ׯQ£F|õÕWŠ||Eåùûû“™™©vœ„„Ž=Êwß}‡½½=}ûöeÀ€Ü¿Ÿ'N°dÉ\\\èÙ³'}ûö¥víÚäææ2kÖ,¶oߎŸŸ®®®$&&²oß>zõêÅìÙ³ÕÞm./?ýôIII„††*vújÕªE›6m”vüâââx÷Ýwyüø1ݺuãÁƒìÚµ‹1cÆ0yòä2okk‹©©j¤c Ù,œ>A•F8}‚ÊæUvúÁ‹Ïë?¼NVn‡Ç®lU^j*ò÷ëÕ«W ä›o¾QÜ “S’ÓpáÂÂÃÃ)(( ]»v8;;óý÷ß+ê‹:}E)êô¥¨Ó———Çž={ˆŽŽÆÙÙ™Î;££££”„]NQ§¯ø8r§¯(E¾¢È>9·nÝâĉ<~ü˜š5kâíí“““Ú¹Ðr§¯8Å>îÊ“Ìãëë«6a{i(¯Ó'òô @ TaÒxcÕüôz:O¾úE¥Dq7ñ.½›<}GYP¹ÈwzyyѳgOû5kÖŒfÍ”£¾¿ßæìì¬â°”Ô¶(zzzj“•Ëóñ©CÝ8ŽŽŽ G²(vvvxyy•8>@ݺu©[W5åHEñöÛokÜVWW—Ž;Ò±cÇ Ô¨tˆ;}@ Uœ”¬>Úý±cÉÌÍ$<&œ‰Û'bfhÆø¶ã+[=ÁSHIIPI ”±Ó'@P…±6µfý õü|îgoL|Z<5 kÐÖ¥-‹z.ÂÑܱ²U<…˜˜ÌÌÌÊs´O xþ;}÷ïß§OŸ>ìܹóy]!T5{ÊÊË<‹Ÿeøð¿ÉÎÖ,©ò‹NU³§¬ˆy‚'´qiò¾Ë84öW>¸ÂÉ 'YØc!NæwJ bcc±··¯l5/9ÏÝé;wîÛ¶mcÛ¶mÏ{è ¡ªÙS×®]ÃÏÏÕ«W«­™çaݺÙ°á2ññé•­ŠV¨jö”ÄŒGðóÛH~¾úXT¯Ê<¶çˇ IDAT j#œ>A¹yîÇ;{õêÅùóçiРÁóºB¨jö”Djj*aaaøúúª­™ç!4´?eáäT½²UÑ UÍž’¸x1°°ûÿ%‡U ÍüªÌƒ@ ª6±±±åŽü(Tʾ⑄^vªš=eåe++#¬¬4Kxú2PÕì)+b@Pˆ¥M›6•­†à%ç¹:}ß~û-[¶l Q£F,[¶L©>33“õë×sðàA±¶¶¦sçÎ 2}}}¥¶éééüøã:tˆ””ìíí äÍ7ßTdº/>ÞçŸÎÂ… 9wî–––ôìÙSm~Áèèh–.]Jxx8´k׎qãÆH~¾t?hÖ¬Y\»vM­=eW›ž…&s8cÆ Eî“Î;Ó¯_?–-[Fdd$FFFtíÚ•‘#G¢§§§h¿wï^@ÊQ"ϧҲeK.\¨•çZÖ9+ii¹>ÉA³`A{ZµR>>qþüÖ¯ÿ—kבÉd4nlÅÈ‘MhØÐJEÞéÓqüôÓe®_OBOOOOkÞ{¯©b§IÝx‰‰Y¬_ÿ/çа¡S§¾†‰Šì-["ùý÷H³pv®Î;ïx™ÄêÕR2]SV¬x]­=å÷Y6i³æðÚµDƌ٧h¿~}Wöî½Ëž=·yü8‡úõ-7®™Jû‹ð÷ߤHºt©?uêÔ(÷s-Ïœ @ -òòòˆÅÁÁ¡²U¼ä<×;}o¼ñÁÁÁœ9s†sçÎ)ÕÝ¿ŸæÍ›3sæLZµjEPP7füøñ´nÝšG)ÚÞ»wfÍš1gÎ|}} ÂÑÑ‘¡C‡Ò»wo…cVt¼Ã‡óÖ[oQ·n]ÆŽKvv6dÅŠJzDDDдiSÖ®]K·nÝx÷ÝwINNæ7ÞàСCdddLÓ¦MK´§,ãjjÓÓÐt‡ ´iÓ cóæÍ 8&Mš0vìX3f ݺu#77WÑþ½÷Þ¤ü+ÁÁÁ3lØ0­=ײÌYy14Ô%8¸ MšÔ$,ì>‰‰YJõó矢eËõܹ“ÂÈ‘Mxë­†œ?ÿ€¦M×±re„RÛÏ??‰·÷ÏDG§2ztS rgïÞ;4j´–ƒï©oÁ‚Ólß~ƒÁƒèÊš5ññù…¬¬<%Ù£Gï¡ÿ?3Æ“öík3yòA–-;OXØ} h@PP‹í)븚Øô,4™ÃZµL nCÍšF„…ÝgÈœ?ÏС8°ûöÝ¥E‹ŸØ³çŽRûúõ-øøã6K?NNfZy®e3@ ´Idd$9994nܸ²U¼ä<×>777ÜÜÜ;HEyûí·¹víÇÇÇÇ€ÀÀ@<<<èÙ³'£Gfë֭ж7nÜàÈ‘#Š;fX[[3iÒ$¾ûî;‚‚‚”Æ»|ù2›7o¦aư{÷nV­ZŘ1czŒ1‚ÄÄDΜ9CË–-²—-[ÆáDZ´´ÄÏÏ[[[µö”e\MmzšÎ¡‡‡ŽŽRxæëׯsãÆ Åáž={¢¯¯Ï×_MHHÓ¦MÃÃÃC‘ÔÙÙYa¿6ŸkY欼èééàççÈ… TêºÏ‡¦KþøãIÒÚAƒÜñöÞÀرûhÕÊŽfÍl8xð}t”€g~ÿ½—¢mŸ>nÔ¯¿š·ÞÚÉíÛïa` «4^µj:|ÿ}gEû‡3™=û(û÷ߣ{w)ÙèŸÞdÕª‹ºò믊¶ýúÕ§Aƒ5´ha‹··ôüÔÙSÜNMÆ-M%Qš9ôósdÛ¶ëxyÙ±hÑ“d¦=z¸ââòo¿½‹;wFcf¦ŸŸ£âèf‡µÑÓS~¥çZÚ9@Û\ºt ###q§OPn^ˆäì·nÝ",, www…c §GÔ¬Y“íÛ·óèÑ#nݺÅáÇ©W¯žJP‘°nÝ:•1\\\N€‘‘ÎÎÎܽ{WQÉùóçiÔ¨‘Âá“Ó¯_¿2٦ɸeµ©(¥™Ã¢øøø¨D„zûí·øõ×_5´R»:i2gÍš5ұɑ#›(•ëèÈ1¢1…¬]{ @ñgñ¶ÆÆÕ t%66½{兀ѵ«ò/pwwKîÞ}¬(ûí·+ ÖH©­¡¡^™ MÆ-«ME)ÍåÍ7ë+}¶¶6¦K2Ø¿_³Fmë¤Éœ @ m.]ºD£FÐÕ-ù%«@  /Drö›7oàä¤>WŒ““>äöíÛ$%%ðèÑ#•'9/^T)³±±Q)355%**JñùÎ;Š]°âýËòN“qåö—Ö¦¢”f­¬žÜG³µµUi+·_>e¥¬:i2gÍÍ›Éÿé¨zwM^&o#ÿsáÂ3*Ç>åNADD=z¸*ÕÙØ+}65­@NΓ£¼wîHýUõ°·/Û}2MÆ-«ME)ÍÅÖÖX¥ÌÑÑ €;wRJOʪ“&s&¶¹téÍ›7¯l5U€Âé31‘¾¼¦¦¦ª­üø±¢üž™‹‹ ÁÁÁ%Ê,((Ð8ø‰ccãõÈÈÈÐè^]Y055ÊgSiæ°(ééª9Ìä2Š·--eÕéEÀÄDúRŸšš£R÷øqŽRSS)͈ñð°V+¯¬iŒõJÔ#--·L25A6•f‹’ž®j—\†ºö¥¡¬: ž™¹™ üy É™ÉÿÏÞ}ÇU]ý].[@† QAÅDÜ"jeî‘hjZY¹så7s•¥æ^¸03KMÕš{àÞâJAÜe ‚‚lîï~\½^-¦ïg=îùœÏ9ïó¹áž{ƇVU[ñ0á![‚¶°­Ï6Î?8ÏøãyÏå=ÌØuuuë2«Ý¬’»Øu[ÕÀÐÀl}V÷3ƽ7Nýzã¿™yp&: šUn†‰¾ —Â/qâî Zº´dJë)˜˜æXWd|$­~mE\RÛgç "o"wiii„„„¨g` Q¯E§¯víÚ˜™™D||¼ºÁ;w°··ÇÕÕ•””J—.Mdd$Mš4Ñ}ûé§ŸHLLÌqÄìe<<<066&((ˆ§OŸª;¹ÁKqñðð(t›òs ŸwéÒ%T*•z÷C€3gÎhlœµËfVÇ766–Ž;²|ùòç™4¦×·wyöì¹ÃÉ“a|ð“Æ±S§ÂhÖ¬üÿÿ¿»w߯À@ooÍQâ»wóé§;ðó{Ÿ‚hÜØ}ûîræL8ï¿_AãØ… ÚkÖŠJQ´)?×ðy/FQ«–æho``žžÏv/Ó×Ïüw’ž®BWæÎ äÑ£$~ü±q‘Ç$^5ç×ĺ^ëðpÈüv»Aù”6*Íä}“y·Ò»,ì´€®î]¹}½XâX||1eŒËàãîS,åD7÷nØšjÏΨe¯ù¸œÓ÷NcadÁúÞë1Ò{öØ’EÇ1ûÐl t ^ÚQ·sºE¸¢@.^¼Hrr2îîî%Šx¼kú ™dúôéê×aaaüðÃ0zôhuº““ºººê)ŸÇçôéÓØÙÙyL¯ƒAƒjQ©’9óæUw8¼Ç¯¿þ‹»»µz]ØÀT®lΤIÇ z¶>ñÑ£$¾ürii¸ºZ0¬­™;7K—ªÓׯ¿ÊÉ“al]Mù¹†Ï[°àwï>[+7þY.^Œ¢[·ªêµtUªdîÞyûv*üõ×tt^þo´ 1‰W'("€Êe*«ÓººwåiÊSRp±~¶æ³r™Ê|èúa±Ä±èØ"Öÿ»¾XÊ.¨k}̯!Z?M›jä{Ïå=Æ¿7^£ÃЧ~t:ì Ù•cþÝÀ•È+ j,£{B”´àè舳³l& ï•~Ú^°`ÞÞÞÄÇÇ„··7Û¶m`ðàÁüúë¯lݺ[[[êÕ«‡§OŸfíÚµtïÞ]]΀X¾|9«V­ÂÎÎŽ àììÌ7ß|Ê+hÙ²%«W¯Öª/00óçÏãíí­òööÆß߀ï¿ÿž1cÆðË/¿`ggGݺu©W¯C‡EGGG£ã—S{ Ro^Ûô2ù¹†YÚ¶mËÇqrr¢N:8;;Ë–-[4¾Y233c̘1¬]»–:uêн{w¦M›†‘‘Q‘¼¯¹f…ŸŠ··? œàÛoªPº´‡}Œ——ý‰›Ûr\]—ñþûëèСûöuUï\if¦Ï¡CÝ©[׎Zµþ Zµß¨WoNN¿`eeÄ?ÿtV×ùÁë4êûúë} À·ß2;=­Zm2×’íÝ냭­1+pwÿƒ*U~eÆ« œ9 ’uK¾¬=ù­7?mÊI~®áóFn@Û¶ñðXA… ¿0th½zUgùrÍ÷ýú¹ãì\š¦Mÿ¢zõßxò$…Áƒ=Šì}Íï5E#>9}¥~žÒ…¶•[аBC­t¥zJ=t•º¨T*­ãñü¼ïg¦´ž‚‰¾‰Öq!Ä«uàÀdñ"…*»ßüù)@¡Àßß?Oξ~ýºÖf®®®»GfddBLL eÊ”ÁÅÅ%Ç6•JÅ•+Wxôèvvv899iŒݽ{—›7ojœãîîŽB¡àüùóé•*UÒØÀåñãÇchhˆ››Ož<ÁÒÒ’®]»ª;9µ'55µÀõæÖ¦¼ÈË5ŒÅ‚ž={²jÕ*bbb¸víFFF¸¹¹å¸iMxx8wïÞÅÉÉI½áJQ¼¯…y¯^F¡P0lØ0æÌ™£u,--ƒ#Gîk¤(iÔÈ^#-&&‰kסP€««%¥Kç<íéÑ£$®^}„¾¾gçÒZy %#ãÙ?¹Ò¥ ðð°áüùHbc“ÕéJ¥‚&M5Î ‰!&&‰ŠKcgWŠ¡Cðõ=KPÐçT«fõÒö¦ÞÜÚ”y¹†Ã†0oÞY®]û’J•Ì Ž&..™Ê•ͱ¶ÖÞÜ27R¹r%U«Z¢««Sdïka®Ùó||2§®[·.Ç<…A|||žòV®\ _ßZ·Î[þ¢ý4šÃ7ö$ #=#<

Ì?ü@ƒ ÔéçÎe~ãÿü£^ÖžüÖ›%·6åE~®aKKKöæÄÎÎNkJgQ¼¯y¯ +ëùu¹±´4T?/7/ÏÛ´iöƒ×°=¯wïíLœè¥5òܹHÌÌôÕÓ_Öž‚Ô›%·6åE~®!dŽ^V¯n•k>}}%5kjn4STïka®™Ð´üôrfœ‰«µ+uëð0á!Ó÷OÇÃÁߎ¾Xgÿ^«P¡Reþd¡NKËx6þèí£ Ø0€ê¶Õ©íX›øäxæ½™= :- ¼ù³ß+KO.eö¡ÙT·©NÝru¹~™ŸöüD몭™Þvúk?ŠØCjÙ×ÂÙÊ™ðÇáÌ:8 ‡ÒÌï8_cÚkNüŽûamb͈¦#´Ž­½°–Ñ7˜ßi~®å,9±„žµ{j\¯;î°ùòf*YUâ«_å¯aB-@__Ÿ† µGí…(ˆ×b#—×Idd$3gΤC‡Ôª•¹8><<œï¾ûúôéSŠ·Í©Sáüøã1–,ù=½Ìoôûí_å§Ÿk=˜\ˆ×É?Aÿ0yßd:¸u`FÛêQ©3¡gèþgwl€ÿ'þT²ªÄ¯!Eq3ú&ƒ<il&òoØ¿¬»°ŽF1Äkˆ:}ÐÆA8Y:±¦çõìþúÓriK‡©;}[.oaÚþi´«ÞŽÙíf«ón¹¼…ÿŒ ¬YYF5Em‡ÚÔv¨ÍÒ“K±7³×¨+/ò2X]ÞéBmÇÚT²zö˜”«QWùhÅG|æÿ{úî¡”~Î;!¯>·š€ëüññX›h~Qö8Œ)SXÜy1ÆzÙª¿h ç@uÞÇIé²² Füêó«ÖZB!Dþ8p€úõëcd$ÿžDÑO‹/ðòò¢K—.xzzR³fMjÕªEÅŠQ(ìÛ·2eÊ”tˆ…6zôhÚ¶m Àž={ÔëçÄëi̘œ8†ƒƒ þ‰££C‡0a‚'cÇþ÷¿ ‰ÁÛÛŸõë¯гç6õú9ñß÷ËÉ_ä9Hcb]ǺxVðäìý³œ=]àò3È *!ЍÓìÍì÷Þ8J?Ûí5+ŽÁkL-oïÖ[[V]Ejzñ=¥°|Ü}4:|.Ö.t©Ù…ÈøH¶\Þ’ã¹ë.®cÖÁYüÞíw­>FïMdz]˜~ û¡§“ùh“tU:ƒ7 &46¿ü(gž·©÷BˆœÅÆÆ²ÿ~ÚµkWÒ¡ˆ7ˆŒô½ÀÑÑ‘åË—ãççÇ­[·ˆ‰‰¡|ùò8:æ¼f翦GZÃÈÎP¯¯Þ½ÝèÝÛÈȧܾ‡žž’êÕ­²Ýå¿ÈÞÞ„ <5Ò ²nP¼~Ò3Ò¹y¥B‰“¥“Öqg+gŽÞ>ÊåðËÔ/W¿@uLúp#¶Œ Å’4ªÐˆåаBCº¹wÓˆ#$*…[ƒ·¢@s³RGIbj"!Q!9®Ì«âZÓ—“j6™Óæ¯D^ÉöxÀõ&ï›Ìo]S?ãy;CvrôöQªÚTÅ÷ˆ¯:=«¼ãwŽ“ž‘ù¨ž¬µzýõWçû~ç÷»}ŒÙífSDZBˆÂûûï¿ÑÕÕåËgwbñv’N_ ¨ZµjI‡Q,Þyç’A€166y›zõ_bjªŸ§5xBdǽ¬;{ûî%ð~ §îž"àz3Τšm5vZ¨žÞ©xî¿u©Ù3C³W{QÈPe®uÌnó .ð¿­ÿca§…Ôv¨­NÿãÌ´tm‰©eMËòuã‚MIýõ䝸_ðgˆ×Ú»µ/X„Z6lØ@‡4ž-DaI§O!D±Pê(©jS•àˆ`nÇÜÆÙJsFÁè¸Ù¹¸¿ã~ô®Û›ºŽu©ëX—ž9q矬ù„éû§³ Ó”:J\­] Ž ¦W^XYh”q5ê*»¯îÖ˜ªÔQj<Öàϳâfç–íôÈçÇš¾Ë—¹uŽ5:j Ž ªæ—”wÝaÀÆLm=•ÆN5ŽýqæÜíݱ3µÃÝÞw{í?o¾¼™ÝWwÓ¨B#­Ý;ö^ÛËôÓiW½ÆºÇíW¶ãjíª5U‘7çÏŸçÊ•+üüóÏ%ŠxÃÈš>!„Ŧoƒ¾,<¶P=*™¹¿sœÚµ©çX¯Àå/9±„Wvh¤eM%MW¥«Óx`ñ±Åy“Ó’ù~×÷êi¨YlLlˆMŠU—3çð¢â£ ga\¿Ì{~ä^ì=ô+‘WØðïlLlhWýÙÚŸ˜§1|îÿ96&6Gã{ÄWã'.)®PñE1|ËpjÙ×bZ›iǶoçfôÍÎBäÆßßWWWjÖ¬YÒ¡ˆ7ŒŒô !„(6íª·#*!Š™fr+æuë•Å®]Ôs¬ÇüNóQ(êçôÝŒÉì0,<¶]]ººw%àz!Q!œºwŠ…ÇâléL«ª­ð®äÍ÷»¾gßµ}8[9ó$ù {®îÁ¡´Û WÇѺjk¢Þ‹búé†RÛ±6éé\ ¬YY~n¥ù­zç™yp&£wŒ&*> # Þ­ôî«»pÏ©R¦ eÍÊÒfYÞwy;S;îÇÝgϵ=8–vÄ·£¯ÆÎ“öMânì].…_ÊW]׸~IkM_‹ tpë@ÌÓ¾Z÷‰©‰T³©†ßq?ó¯=¼VÈÖ ñö cóæÍüðÃ%ŠxI§O!D±êS¯Ü:pèæ!Ÿ„SÖ¬,ŸÖý4Û©’m«µÕJKÏHÇÊØJ=0=#]=Š7§ý"â# ä~Ü}lLlx¯Í{xVðD©£¹Ùѧu?¥]õvºyˆ°'a˜šÑ®z»l78éߨ?îöî\¿LmûÚ´ªÚªÄžãçáàÁö/¶s%ò !Q!„=ÃÝÞµ{P×±®ÖÃÙ½½q²pzi™v¦v/=^Õ¦ªÖ”Q€¤´$ºÕê–Í™ÚTk£5W‘7~~~”)S†Î;—t(â $>!„ÅÎÊØŠN5:åx<ë9}ÙéU§×K˶5±¥uÕÖyŠÃÒØ2ÛµqÙiT¡*4ÊSÞW!§ŽØ‹ ³©JóÊÍi^¹yŽÇ òìB!Dî"##Ù°acÆŒAOO¯¤Ão "éô 0€o¾ù¦(Š¢ÈýòË/¬_¿¾¤Ão©èèhªT©RÒa!„xùùùaaaA—.]J:ñ†’‘>ñÆ{ú´&OŸ¾9ÏYÿ5'J:!„¯±û÷ïãïïÏèÑ£Ñ×/™iäâÍW$¾Å‹Óµk×¢(Jˆ"•ùìªá€ÜŸ¢¤øàâRÒ1!„x]ýôÓO8::ÊgiQ¬d¤O!„Bˆ°wï^öíÛÇÊ•+e”O+yNŸB!„¯Xbb"“&M¢cÇŽ4jôúl%ÞLÒéB!„âóõõåÉ“'|÷Ýw%Šx H§O!„BˆbpéÒ%NŸ>­•~òäI~ûí7¾ýö[Ê”)S‘‰·tú„B!„(3gΤOŸ>\¸pAÍðáÃyÿý÷éÖ­[ F'Þ&²‘ËkìØ±cìÞ½333FŒQ !„Bˆ¼8{ö,GŽAGG‡O?ý”¿þú ¾ùætuu™4iRI‡(Þ"Òé+f6lÀØØ˜V­Z¸ ???tuu¥Ó'„Bñ1kÖ,tuuIKK#11‘=zЩS'Nœ8Áš5k077/éÅ[D:}ÅèéÓ§øøø`llL|||¾Ï÷ôôÄÓÓ“M›6ñðáÃbˆP!„Bµ3gÎpòäIõëôôtظq#C† ÁÃã£o#éô#cccüýý166.éP„B¼ÁŽß9Îü#óÐ×Õç÷n¿—l@B¼åf̘¡åË’žžNbb"«V­¢C‡888”`„âm#¹3Ú´iSÒa!„xƒ¹X»0´ÉPR8u÷Ô+¯?]•Θcð;î÷ÊëâusôèQ5:|YÒÒÒˆ‰‰¡gÏžDEE•@tâm%#}ÅäêÕ«¬^½Zýzܸqèêj^îÈÈHvíÚŽ{÷(Uª 6¤Aƒ/-÷ôéÓ9r„ÔÔT4hÀ»ï¾[,ñ !„øï°2¶Âª¼¥J—Hýq‰qlüw#¥èߨ¿Æ±>kûPÁ¢?¼ÿC‰Ä&Ä«6kÖ,”J%éééÙOKK#<<œ^½záïïOéÒ%óïV¼]d¤¯˜ýõ×_üøãZßöÌ™3‡ *0þ|>|ÈÉ“'y÷ÝwiÖ¬‘‘‘Ù–5|øpÆŒÃýû÷9tèÞÞÞ´mÛ–ÄÄÄWÑ!„"[–Æ–ì黇µ½Öj;}ï4AA%•¯ÞÁƒ¹xñbŽ>@Ý!LJJâßÿ}…щ·™Œô&L˜Àùóç Ñ8¶fÍFŒAÏž=Y±b::™}ï#GŽÐ´iS:uêÄ‘#GP(êsQ£F1zôhæÎûj&„Bd£œy¹’Aˆ7{öìGù²ÖøU©R…/¾ø‚öíÛ£T*K Jñ6’N_ ˜6mãÇWwø¼¼¼hÑ¢{÷îåСCS7U*#GŽÔ(gÈ!üôÓOüòË/L›6 ƒWÓ!„ȃ3¡g˜}p¶úõ²®ËØxi#Çn#61•J…«+!‘ϾsµqUO¼}ƒñ;Ç3î½qT·­ÀÊÀ•츲Ce÷•(urþÐÔkM/Ò3rþÆýyæFæ,꼨ÐmZÒe ¦¦„? gã¿ ‰ áqÒcœ,èR³ n¶n9–÷[·ßØpq‡oF©£ÄÃÞƒÞu{£¯Ô׈#)-‰5çÖpâÎ ÒUé¸Ùºñy½Ïµâ}h6gîQ¿ÎïõÖts=ûR1»ö~Õà+–ž\ªÎóÇÇ §Ôc[ð6þ<û'ÉiÉ„D…ÐãÏ(u”¬ì¾R_¥R±ûênö]ߟµÓª IDATGd|$&ú&Ô+WwŒõd#4ñßñï¿;¹|ù²Vºžžiii4nܘR§NˆN¼ídzç+–žžÎÅ‹ÑÕÕ¥J•*ZÇ«V­ d>ÐóyÖÖÖ˜™™i¤R¾|y¹qãFñ-„PɪC› %]•Ω{§øzÓ×D'DãSÓ‡¦ÎM9uïº~Hå2•9uïMœ›àSÓG}þÆ7rêÞ)6ü»AÖÔ¹)ï¹¼GôÓh†6ŠŽâåƾöúš¡M†æéçË_I›Ò2Ò8}ï4ï.z—³÷ÏÒ¦ZºÕêFT|ÿèÌ–Ë[r,oüÎñ·š[1·Ðhù»mKÐL LÙ´•1-Æ T(©`Q;îðÑ;Ñ üË7¾¨_®þ+o“©)O’ŸàdéÄ’.KP*2?~èú!Ÿ¬ù„ŸöþDëj­ÑÕÑÕ*¯¶CmuyÍ*7ãüƒól ÞÊ”ÖS0Ò3`îá¹E1ºùh¾¨ÿ…:¶Úµéø{GQAk¾¨ÿE¡®oní­`QJV•Ôy²”5+KY³²è(t050ÍöýZt|×Þt8ƒ<i´¥Ã{B®£¯B¼6–9kAGGSSS>ÿüszö쉅…E.ç Qüd¤ïS*•Ô¬Y“´´4®]»¦u<88@ë¡QQQZ¶$%%q÷î]Œ©T©Rñ-„E y•æ¯ë:ÖEWG— ðpð`ç•$¦fþž;y÷$FôðèAôÓhŽÞ: @Jz Ûƒ·Ó¡F‡WvrjSm‡Ú,ê¼HÝáËÒØ©1±‰±\ºšmyïVÒÜ‘ÙÙÒ€ûq÷ÕiÛ‚·ЩF'¼5ìjàdá¤UfQ^ßœÚ[Pë/®Ð¨n[Š–Ù{m/“¸|!^…ŒŒ `<åË—gâĉ;vŒÁƒK‡O¼6d¤¯Œ5Š=z0qâD­\ðôô¤iÓ¦çddd0oÞ<¾ûî;uš¯¯/OŸ>eذaèëk®÷Bˆ×¹¡yŽÇ:ÕèÄ÷»¾gÏÕ=´wkÏæ ÍtªÑ ¯Š^,9±„Í—7ÓÔ¹)×p³sÃÖÄ6Ouõš>­srh“¹‘9Á‘Á¬:»Šð'á}kkkFމ··÷+jBŸÒ†¥i^¹9{¯íeÍù5Ô²¯E™ReèX£#“÷Mæ¯óȼóò\nQ¯éË‹ôŒtÖœ_ƒ¥±% ;-Ô8v9B{g¿üP(x8xpúÞi.…_ÂÃáÙR€´Œ4nÆÜÌö¼âº¾y‘Õ±Ëòí¶oy¯Ê{|àò Ê7àð­ÃØšÚRѲ¢Æyû®ïÃÿ¼?‹?Z\¤ñQÔ¬­­K:!r%ãÏElÑ¢E$$$¨_ÇÇÇcjjšíãlllèÝ»7cÆŒaذaZ>OOO&L˜À„ 1bM›6å›o¾áÛo¿•ŸâÒÑ­#ééÌ80Cc´©]õv(u”Ì<8“UZ¨74y])u”8–v$.1Ž aÔéñÉñì ÙUèò‡x AG¡ÃÔýSÕëÝ2TÌ:8‹„”„Ï+©ëëdéDØã0Ò3Ò‰MŒe{ðvÌ2§‰Žô‰¡®!?îùQcÊëèLØ=ª6UµÖE !„È?éô±E‹qüøq’““¹pá5*ᨄâÕ»þð:=þìÁ™ÐÌçÄ}æÿ™úYmÙiV¹æFæè)õhQ¥…:½L©2x9y‘œ–üʦæ$¯mšÛ~næsùVt¡Õ¯­øhÅG|üçÇØ˜Ø0%` ãvŽË¶¼u×ÐãÏl Ê|¼Ãèí£™yp&*4bNû9ÜŠ¹Eã…éø{GÞ]ü.: ê•«GjF*=þì¡ñì<(ØõÍK{Ï„žÑÊ³èØ³µ‘ƒ<ñ$ù -—¶¤õ²Ö´¨ÒB=ëfëÆŸ=ÿäÑÓG4YÔ„v¿µ£Í²6t]Ù•.5»0¼Éð<¿7B!r¦Påu±CN(øûûÓµk×¢Šé?íÓO?eÏž=ôèу£GrûömöîÝ‹››[î'‹"—9­ÖûS”ºtuëÖKéÄÇçm IåÊ•ðõ ukYs"„EI~¿Šâfkk‹‰‰IAO_'#}Eì?þ`õêÕ”-[–Áƒ$>!„B!D‰‘\Š···¬·B!„B¼d¤O!„B!Þ`ÒéB!„Bˆ7˜tú„B!„â &>!„B!„xƒI§O!„B!Þ`E²{çü¡~ ¹¯Ÿ%€ÜŸ¢¤\ :Ú±¤ƒB!Ä[¬H:}Û·ogûöíEQ”Å àÿ„(×®%–tB!„x‹I§Ïßߟ®]»EQB)…B¯¯/­[·.éPÄ[jðàÁ˜˜˜”tB!„x‹Éš>!„B!„xƒI§O!„B!Þ`E2½S!„o¦mÁÛð;áÇÍè›$§%°ý‹í¸X»”pd¢¨G3ëà,CIÏH§–C-†z ¥Žc|—uàÆ&íĽ¸{„|’mž¸¤8¶ocû•íG“”–„©îöî|Uÿ+ªÙVÓ:§Ûªn†f[Þgu?cÜ{ãò«oéB!D¶C¶e^N^œzš€þؙڕtX¢\»€Ï Jé—b×W»88ð åJ—£ÇŸ=8rëHžË¹{—¾ëû2óàL>}øÒ¼S¦òãîy¯Ê{ìür'g†žajë©EÑñŽì¹º§°ÍBü?éB!Þ@ïÌz‡ê¶ÕñÿÄ¿Àe츲•JÅgõ>ÃXϘòæå92(ïñß¡Êà»mßafhÆ´6Ó0Ô5à§–?q:ô4£wŒf_¿}è+õs-kΡ9Ôv¨ÍâÓtaSS_¾{±»ŸÕýLýº^¹zÌi7‡vËÛ1mÿ4Þwy_뜿?ý›wʾ“¿F ñ–“NŸB!²ö$ sCóŽD§Ó÷Nsíá5z×é­îð(u”´­Öß#¾\àC×s-kJë)eä–7;Õl«a¨kÈÝØ»¨T* EÞ"„È‘LïB!D¶Ò3ÒK:ñ ¿s ÛѳwìÞÑÈ“›¼vø^&15‘¤´$\¬]¤Ã'D‘‘¾böñÇsüøqÎ;‡¥¥eI‡#„¯”Çž$?Éö˜B¡àðÀÃê5b±‰±,<¶½×öö8 c}cjÙ×¢oƒ¾4¬Ð€=W÷0`ãu`úþé¾u¥ŽÆ¿7žòæå5êŠy£ Øw}O"050¥^¹z|íõ5Õl´7‹ÈÉ‹õïþj7sÏáøãÄ&Æpzèi,Œ,ò\gJz ‹Ž-bû•í<ˆ{€®uëЭV7¼½Qê(óÕŽ_OþÊÔýSÌ5y•§V2GmrÚP#·vºÍtÀ½¬;ýõ/òkp#ú3ÌàÄݤ¥§ábíÂàÆƒùýÌï»} Ÿš>8š;2çÐê8ÖQO_=tó}ÖöÀÜÈœ3CÏh”Ÿ—X z=ï†? ÇÒÈ’Je*ÑÁ­M*6Ás§FþáM‡3Èséªt\§¹ªÓ?tý¼ô½qîšçÎx™Re8ñõ‰\ó݈¾ízM;³Ì´[1·òTgQØ~e;=f{|ÓåMŒÙ9†Û1·Qê(©j]•=hïÖþ•Å(Ätú ©mÛ¶lÛ¶ÔÔTtuµ/gFF*• •JUÑ !DÉ»øÍEŒõŒÕ¯]ÀÜÃsù¦é7ê™QñQø¬ô!)-‰Ÿ[ýLýrõ‰JˆbæÁ™ôú«“?œLW÷®¼ïò>׿»Nÿ ýÙ{m/“öN¢_Ã~Lk3³÷ÏÒo}?†mÆÆO7ªë‹ŒÄg¥ÉiÉLm=•úåës?î>?ìú.+º°ªû*<<òÔ–ë·sC› ez›é\}x•®+»æ»Î »'°ãÊæwœOÝru‰OŽç×S¿Òo}?þìñ' Ê7ÈW™_6ø’/|Y¨5}/¶óòÈËè¨õ5¸óè>+}0Ò5bAÇÔv¬Íý¸ûLÚ;‰+‘WÐWêô¿ uýƒ<ñÎ,ÍQ©¦ÎM¹þÝu:þޑиPcy¥ ÷WÖ½›œžÌä'Ó |Sñ¿àϨm£Ûb,׿»ÎçþŸsôöQööÛ«î4*J®wŸ•>ôªÝ+O–¼vÜó#ë‹c}c­cYÿvã㊼Þ좣þêô™gʸ÷ÆÑ¼rsL L¨hY‘9íç`]ÊšŸöüÄÃí»ºwÅÃÁ#=#;5Æ»’7Ã.ò(ñ‘FÙ÷ãî3¦ù¼+yc¬gL•2U˜×a*•Š÷üXàöôkÔå`¤g„{YwB¾ ÁÂÈ"_u»}Œ*eªàUÑ C]CÊ”*Ãw;£¢eEºŠ³…Q×`æÁ™÷²îÙ¦ç§Îw+½ËÙûg»c,çœWOÝÛÓwz”¯¸ÛQEq Ý< ÑI°4¶ÄÙÒ¹Ð1ôÚååþʺwßu~WëüߺþÆçõ>À«¢®Ö®l¼´Q= `éÉ¥ô®Û]’›|ej` ÀÓ”§ZDz:Ýf†fÅCbj"ŸùFë*Ìn7[cZs^dm2³ïÚ¾âOˆÿ¼WÒéKKKcæÌ™Ô¬Y###LMMñòòbÆ ê<ãÆC¡P¨˜4i’Fú¦M›òUn–ôôtæÍ›‡‡‡ÆÆÆXYYQ¿~}~þùgÂÃÃ9räˆF=iii$%%i¤_ºt €3gΠP(ضmzzzêÄÅÅ1xð`Ê–-‹...̘1ƒ‰'ªë¨\¹²V½7ndäÈ‘”+W¥R‰B¡`ýúõynGA¯íó×ó“O>ÁÚÚÞyç–/_žçv !JÞƒÇè·¾eM˲¨ó"ô”zêc)é)¬fÉÚR>kt"«ì UµæÔ¢òÔÊ?—#.p;ævÚe¤g¤•–ß:'¼?™mgr/î½Öô¢ÖœZ|îÿ¹º3ñ*ÚQ…½)é)$¤$` k 1 8Ki£Ò…Н0×.¯÷WN÷î‹>«û‰©‰¬:» È\'wüÎq>®õqžÛã:ÝU« 9ý4œß0OeV²ªmÇ7üqfÚ‹#ÏE)]•Îà¿ckbËŒ¶3òÝá°1± :!º¨ÃâPì_+¥§§Ó¾}{vïÞÍœ9sèÙ³'‰‰‰L:•.]º0gΆ ƤI“øöÛoiذ!¡¡¡ìÞùÇnܸqDEE‘ššÊ¢E‹ò]nVÞŽ;²k×.f̘A÷îÝ100`ïÞ½ôéÓ‡S§N±iÓ&T*•z^CCCT*#GŽdÖ¬YêôºuëjäÏnMŸJ¥bîܹ >\ëštìØ‘;w2cÆ zöìIjj*Ë–-£_¿~>|˜+V`nn®QÆÄ‰ùæ›o3f ÷ïßç£>¢S§N\¿~[[Û—¾ÉÉÉ´hÑ‚ÿý—yóæÑµkWž>}ÊÌ™3ñ÷Ï\ïqüøq6l¨ûèÑ£3f ãÆ#!!æÍ›ç«^^^º¶Ã† cÞ¼yôíÛ—ü‘… ͘1cèÓ§áááŒ=:—;PQÒRøjÝW¤e¤±Ôg)æFšÛÿë+õ150åIòR´>Ò·råJvìØAŸ>}øú믱´´ÄÁÁ___<<<=z4QQ™ßÞš™™±yóf”J%íÛ·'&&†åË—sáÂæÍ›WàrW­ZÅÖ­[ùòË/:t(666”.]š>úˆ1cÆ÷%Ð’Ï_|Á°að¶¶ÆÞÞžñãÇÓ¹sgV®\É?ÿü£u^Ó¦MéÖ­¦¦¦T­Z•ÏáÃÚSž^´lÙ2éÛ·/ýû÷ÇÒÒGGGæÎK¹rå^znÇŽùôÓO177ÇÁÁºtéRàväWß¾}ñññ¡téÒ8;;³bÅ ìíí™0a¹ „(1éé Ý<”Ñ7XØi¡ÆhÁ࿳çê>pù€ý7ökœŸ’žÂ±ÛÇ0Ô5¤IÅ&Š¡¥kKÒUé†j[rb M5!]U´&ÈOs<Ô»'êêèâUÑ ¿üP(쿾¿@eBæÜó¢÷yŸ¿ÎÿUdmÌM~âÍš™5Í3KT|TŽ»FÚ˜ØhLEÅGñàñƒBÅ’_Y÷î´Žµû­“÷MV¿ÖWêÓÓ£'ÑO£Yvj›/oÖx0yI©_¾>•ËTfÇ•$§%«ÓÓ3ÒÙ¼•²feµ¦^ß#¾\¼Ê’.Kr}øûÚ ké°¼ƒVºJ¥RïøÙ¢J‹b‰SˆÿºbïôeMÇlß^sG*…BA³fÍHJJb×®]êô*Uªð×_qûömZ¶lÉÔ©SY·nzzz.÷ï¿ÿ U«VZñ5JcÊè«O›6m´ŽµnÝZ#ÏóêÕ«§ñ:«³öàö¸eM/mÙ²¥Ö±&M^þAª~ýúÙ¦´ùååå¥ñZ__oooRRR(tùBˆâ3yßdÜ8ÀäV“5Ö§½hä»#q,íȤ½“¸@BJ·bn1|Ëp¢¢ÿþxõ4ÏüùîHÊ›—gÔ¶Q¼y'ÉOˆMŒe͹5,8º€ÑÍGù`~ë¿s*Ç^¯Š^DÆG²2p%OSŸr7ö.÷NÄÊX{¤§8ï¬{wò¾É쿾Ÿ„”Ÿ„óÃîˆJˆR¯éËòIO0Ô5dö¡Ù4vjL‹ ª·(é(t˜Úz*qIqŒÚ6Ѝø(bc™°g·cnós«Ÿ5vo Åeš‹ÆôØ‚Øðï|ør!ì5gÕÔšžz7ö®Ö9—#.óî¸óèÉiÉÜŒ¾ÉÈ­#¹~‰Þuzç¸ÆTˆ·]±Oï̉i×®]Žy®]»¦ñºeË–Œ1‚3fðùçŸcm­ý ??åfåµ±±É_ðÅäeñdMÓ מW_º´æô}ýÌoÄ222r­3kÔ3»kiaañÒsK•Ê~ºJAÛ‘_æææZiYuFFFº|!Dñ¸~‰+µm£¶ÒÊÓÁ-ó[{kk6}¶‰…ÇòÓžŸŽ‘žµìk±âãêÎÏùçé²¢‹ú|·™n ôȈ¦#ÔÏ£ƒÌ–f•›±´ËR¬Œ­ØøéF[Ä„Ý{†™¡Õm«ã÷‘ç¹MÙÕ™0x^~ê\Ýc5«Ï¯fèæ¡' '~nõ3>5} T&À¸ã»s,,ýs#s¾ÿà{õÚ­Üäôœ¾õ½3×sõ5(o^žu½Ö1ýÀtoLzF:Õlªñ?ïÿ1ÿèül×sŽh:‚ä´d_Ì´ýÓ¨aWƒ±-Ær7ö.—Â/Qyjeú5ìÇÿ¼ÿ—çX r=ïþ¸çÇÌçô[R¿\}þúä/ìÍì5â¶0² ƒ[ü/øóEý/òô~¼ µìk±®×:fœÅûKß'##w{wV÷\MÇ:Ùž£P(´6  ¸@ßõ}5Ò²®ÝÏ­~¦«{WuúÎÍýrÓ±FGÌ ÍØry ŸûNø“p t ¨n[9íçЮzΟ …xÛ{§ÏÎ.óLû÷ïÇÛÛ;O焇‡³qãFZµjÅòåËñôôäË/¿,p¹Y¼ttt2?SRR4ÖèÅÆÆf›¿ [¿,ž¬ŽTVûŠJVg/«ó÷¼‚vœòÛŽü^Û,>¤råÊiYu¾.y!„¶v5´:/cndÎØcÛblŽyjÙ×ʱ̗ÕendΘcÓ¢pSú_VAë¬f[-Çíé Z&€³•3kz®ÉS¹/Êz^]NŠú@æF!‹;/ÎsŒ¦¦üÜêg­ôMŸe?{'/±æþÊíÞ}ž‡ƒ—#.¿Ò‘×¼¨n[e]—åšÏ±´#WG]ÍöXóÊÍó|,í²4_ñé+õùÐõCõNBˆ¼+öé;wààÁƒZÇNž<‰ŽŽW®\Q§%''Ó¹sg~øá6mÚ„§§'ƒ âèÑ£.·S§ÌEÉÛ·o×Ê;|øp<<ž=”·lÙÌí˜CC5ìzêÔ©lÛglœ¹à<%%€~ýúÑ£GlófÉŠçùMM²d¥eå)*YS[_ÜET¥RåiM`vòÛŽü^Û,‡i®ñHIIáÀ¨7•B!þ+Öœ_CŸz}J: !Ä[¤Ø;}={ö¤C‡LŸ>%K–ABB»wï¦[·n 4ˆªU«ªó÷ïßOOOzõê…¾¾>7nÄÖÖ–Î;sïÞ½•ûÉ'ŸÐ¶m[–-[†¯¯/‘‘‘ÄÆÆ²dÉüüü˜<ùÙ"ë>È\=iÒ$¢¢¢ˆŠŠbôèѤ§g¿À»víÚÆîÝ»y÷]ígõeõ¹ÕÄ%ÆÑ¦ºözx!„(. UÖÃÔ Z€B¿¿?]»vÍ1Ozz: .dùòå\¹r}}}ªT©ÂW_}Eß¾}ÕÏ}óñy¶vaþüù <˜5jpùò³EÂ-Z´P?›./å>Ãüùóùý÷ß ÁÈÈwwwÆŽË{ï½§ï´iÓXºt)¡¡¡T¬X‘±cÇrþüyõc4hÀ‰'ˆ§ÿþìØ±…BÁG}Ä‚ HHHÐZ+çàà åz1…B››_}õ_}õ•:vCCC’“Ÿí¤Õ¸qcŽ9‚···Æ(g©R¥ˆé{õøñcÆŽËúõ뉉‰ÁÙÙ™aÆ΄ 8uê”z³˜ë…ì§Òæµ¹¶Yl8}ú4~~~lÙ²…¸¸8\\\>|8}úäþ-©B¡À××W½±Œ¯ÚàÁƒ111aݺuÅR~DDD®ÿö³T®\ _ßì‰ IDATZ·Î[þ·Íók¶r2ÄkC¼†¼‚hŠÏ¥[ƒ·2ló04Ÿš>Li=¥„"*¸µÖ2fÇ” %U¬«0­Í4ÜlÝJ:,Q„ä÷«(n¶¶¶˜˜˜ôôu¯¤Ó'^oýû÷gÉ’%ܼy“Š‹ïá«ù•Õé»víšÖš¾¼’NŸ(iÒéBˆ7Ÿü~Å­°¾bŸÞ)^U«V%0PóEìß¿''§×ªÃ'„B!„(Òé{Ë 8 .””Äõë×ùâ‹/¸~ý:³gÏ.éЄB!„Å@:}o‘M›6Q»vmºw¥%uêÔáþýûìÙ³§Èw -Œ3gΠP(˜7oUªTÑz@»B!„"oŠý9}âõQµjU/Îû3JJݺu)äRS!„B!Äÿ“‘>!„B!„xƒI§O!„B!Þ`ÒéB!„Bˆ7˜tú„B!„â &¹!„"_nDß`[ð6¶oåfôM.¼Œ®AI‡¥¥8ã<{ÿ,Gnaõ¹Õ(JŽ>úÒüW£®²3d'ÿÝHd|$Aÿ *’8 *-#‘ÿŒdßõ}tp뀮Ž.[‚¶àaïÁ‚N 0Ò3ʵŒÕçVóý®ï_š§mµ¶Ìí0·¨ÂBtú„Bˆ7Ðâã‹)c\wŸ"/£’U%†x !("ˆ›Ñ7 j±)Î8k;Ô¦¶Cmö\ÛCLBL®ù]¬]p±váLè"ã#‹4–‚˜¾:Û®lcuÕÔ+W€k}L§?:ñÃî˜ÞfzžÊq¶r¦mµ¶Zé©é©øð£ó;‹4n!DÁI§¯[·ntëÖ­(Š¢È 2„!C†”tâ-Ö¥K—’A¼…[DuÛê…êôEâõÅŠÀ4vj¬îðTµ©Ê‡®ò÷¥¿Ðh-+æZ–³¥3C¼´ÿÆn¾¼™r¥ËѤb“"]Q0…îôùûûEB‹ãÇãââ‚••UI‡"ÞbåÊ•+é„Bmßõ}¤e¤ÑØ©±Ö1Ï žüô»BvÑ¿Qÿ—–Ó¶Z[ZTi‘í±+èY»' …¢HbBN¡;}]»v-Š8„(r Q²üŽû‘’ž’ãñÞuzcnd®~ý4šÃ7ö$ #=#<

žµF+ˠƃ¸}“#·Ž ÔQR˾5ËÖ̶®ÈøHß:Ld|$¦¦Ôq¨C5ÛjùjOvõßxxƒwO› ÀW ¾R¯‡ÊkO’ŸpðæAÄ=À@×€:Žu¨aW£@íÈZk–šžÊƒÇð=â €_{}§v¤Œk¯åø>¼×-/q>/·{1/‚#ƒ9qçii¸ÙºÑ¨B£|0ÿÈ|T¨ò”×XϘ/|™k¾Ë—²É«h•™v)üR®å˜ša†™Vú…‰ a™Ï²\ËB¼²{§Bˆb³äÄ­NßGwð=â˶àm›j,?½œ¦‹š²"p1Oc¸ðàÝWu§çêžD?Ö(ckðV|ø²üÔr¦L%">‚WvÐùÎürâ­8–ž\Ê»‹ßeõÙÕÄ&ÆrâÎ :üÞa›‡½´Sš“¬úçšÃO{"ìqÃ.â{Ä—¤´¤|ÕyôöQ/h̪ÀUÄ&År#úŸùFûåí¹{·XÛQTV®ÌÓûPR×-¿qæç^ÌŽJ¥âû]ßÓî·vì ÙÉćüyîOl@zFz^/k±‰x€…‘…Ö±¬´ˆøˆ—ÿGà´­ÞVã !DÉ’\„B«ž1Ö3àqÒcº¬ì‚…‘¿úüªÙù'è&ï›L·Ìh;Eæw’gBÏÐýÏî Ø0ÿOüµ6æxøô!˺fŽ&¨T*ÚþÖß#¾|^ïsô”zl¹¼…iû§Ñ®z;f·›­žn¶åòFü3‚²feÕlTžÚòbýI©I¬ê¾J]ÿ¢ã‹0Ô5ÌWÓ÷OÇÉÒ‰5=רóõoÔŸ–K[ö8ŒòæåóÕŽ¬ F–ž\н™}¶ë­r“ß2ž:ÿÑYã}(Éë–Ÿ8!ï÷â˦-þyîOVŸ[»SZMQ§oº´‰o·}‹®NÞ?~åut6?SÔm~ž¾R@Ý Ï¯¨ø(v\ÙÁÚOÖ<@!D‘“‘>!„Ŧ_Ã~èéd~°LW¥3xÓ`BcCñûÈræÏÖ:þr2s´eç õ‡l€ºŽuñ¬àÉÙûg9zZ«|ŸšÏ6Q(x8x”–ăÇ´ÊÜx°Æõöní±5±eÕÙU¤¦§¨}½êôÒ¨ç ŒôŒòUgD%DiÄlofϸ÷ÆáPÚá•´£°žÜíݵއç½Êë–ß8 z/>oeàJú7Ô\×Á­eJ•y鹯BÖ—-ÙÝ/Y£©†º†*{õùÕT³©Æ;eß)x€Bˆ"'#}B!ŠÍóA|¿ó{ŽÝ>Æìv³©ãXGžž‘ΕÈ+(Jœ,´Êp¶ræèí£\¿Lýrõ5ŽÙ›Ùk¼.mX€§©OÕe‡D… £ÐakðVhŽÎ(u”$¦&’ëZ°ìØšÚj¥å·ÎINbÄ–´XÒ‚FÑ |VhH7÷n.óU{ñ}ÈÙÍz^ôª®[~ã,̽ø|;nÆÜD©Pj|±™ÜòæåÕëó¢8Öôe]ÿG‰´Že¥Ùšh¿G¹IMOe͹5|ëým¾ÏB/éô !„(v¿žüÿ þ ñB{·öEVîó#19Q<÷ß‹ºÔÌ|œ†™¡öfy‘]™ù­Ó½¬;{ûî%ð~ §îž"àz3Τšm5vZ¨ž¦Xœí(¬¼¼Ï{•×­0qH.›U¾’ráfëÀí˜ÛZÇ²Ò òåÁ¶àm¤e¤Ñ¦Z›Â„'„(ÒéBQ¬ö^ÛËôÓiW½ÆÚ°íW¶ãjíJ%«JTµ©JpD0·cnãlå¬qþè¸Ù¹å»n¥ŽWkW‚#ƒéU§—ÖÆW£®²ûêî§D~ëô;îGﺽ©ëX—ºŽuè9wNðÉšO˜¾: :-(P;”:JTªg#Džý7;7jÙ×ÊW[ [F~ê*êëV {/*J*YUâúÃëܽ‹“…“Æñûïç+¦âXÓ×¢r &èLàèí£Z#ƒÇîC¡PðËù.wEà |júhlÐ$„x=”ü×MB!ÞXAA ß2œZöµ˜ÖfšÆ±íÁÛ¹}€¾ ú°ðØB2TêogÈNîÇå¯ÓW¬M¬é]§7Go%04PÂŽ+;èT£“F‡715‘Gà{Ä7Ç©©çîŸãRø%zxô(öø…ù§œ0a„’B!DÁ$$$’’·­ú}}-iÕ**U^ÍÖþ1Ocèþgwb“bi^¹9AAœ¼{Rýsâî <<©dU WkWL LXqf׸}ƒ—62óÀLê8Ôaaç…ëþ$œßNÿÆÉ{'5Ö#•3/‡ï_NÞ=IØã0â“ãqµq¥J™*”6,ß ?®p=ú:n`âÞ‰˜š2·ýÜâ¯óqôöQ®?¼ÎÚ k9~ç86&6„LJ£R©ˆO‰ÇÙRs4ñUiäÔˆ›17™{x.ž<àð­ÃLÞ7™zåê1£í =oÆÜdȦ!œ¼{’f•›e;2>mÿ4ìLí46éy›¼ê߯âícbb‚¾¾~AOR¨žŸ·!„â?%""‚øøø<å­\¹¾¾´n·ü…õàñÖ_\ÿÒn>VÇÍf3s·Í¥SX§*yÐíàV¿Jõ„·wù¿ÃÿßR%}""w°Û9é©.ôý*•íF“>íéq`zz§ˆˆØ,÷+KlýX›}hwšê2Nù•fúDDDDDD˜fúDDD¸úCEMu§ˆˆüJ3}""""""LIŸˆˆˆˆˆˆSÒ'"""""âÀ”ô‰ˆˆˆˆˆ80%}""""""LIŸˆˆˆˆˆˆSÒ'"""""âÀôž>‘ÛÌÖS[ùÇÿÀÕÙ•|TµÝD+­`Ñ®EÔô¬ÉìGgW¨G¾F""7›fúDDDn33¦Ór sÙ~z{U‡sSµ iŘNcHÍNe÷ÙÝîÇ‘¯‘ˆÈͦ™>‘ÛL€gõðóð«êPnº`ß`‚}ƒñró¢ ¸ Âý8ò5¹Ù4Ó'"""""âÀ”ô‰ˆˆˆˆˆ80-ï‘J¿,žÜ‚Ü«ŸÙk&µ½k`6›Yl=k®%%+ZÖmIÿ¨þÔð¨ÀŽ3;x{ãÛ–ö ø€/ú’Í'6ct2]7š¡m†âjtµ:ÙlfÍ‘5¬KZǹœsx»zC¿¨~xºx–Ù÷‡>dÙOËØx|#.FºDt¡ï=})6³pçB~<ý#ž.žtìJ¯f½lÆfÏxJåç³x÷b¶ÚF‰¹„fAÍ3üª×Ížñ\ÏÅC(1•ØU×ß߄Ǯ[¯<÷»T~q>Ÿìü„¿ì ØTLTÝ(†¶Š¿‡¿M½ò\#ù•’>©4;~ÙÁÌ^3qwv·”m<¾‘÷¶½Çÿ@¯@ŠMÅ<óõ3l8¶am†Ñ­u7ÒsÒ™·m ~\À‚~ ˆªED@c:áíMo³óÌN^Yõ  ˆÀîäݼþýëìOÝÏÌ^3-ç+*)bô×£Ùxl#O¶}’wõ 9+™9[æ°pçBÿ×bj{×¶é{Âê 4lÌ –ƒH<šÈ¸•ã8uñ§/ž&:$š-²òðJ^üç‹dd3¸Õ`Ë9í@na.ƒ âçs?3¢Ý¢C¢9sé O}ñE¦"›kjïx®çÙŽÏb6›íº.F»êÙ{¿K›Š¹l$±õcÐrÇÏgö–Ù,ûiŸþœº¾uò_#±¦¤ODD*ULhŒeöéHúíZDó:Íyëá·0 $lI`íѵŒí<–Q÷޲´íÖ¨]çvå鯞fݨuÔð¨AlýXËLY«V Š@×È®ìIÞÃw‡¾ãµž¯ááâq¥ï­ ¬OZÏó÷=Ïèö£-}· iE¯z1iÍ$K°í»^+D  sDg6ŸØÌÜ­s™ñÈ nú°¥|ÓñM,Ù³Ä*é³w<îÎîÌÜ<“ƒi7ާÚ>e_ïzÛÌZÚ;žëiÚöºu*žû]êüåóôêσM .2Žˆ€â—Å3qÍDæ÷Pîk$""Ö´§ODD*Íü~óq3º‘›Aü²x|Ü|x¯ï{–¤ `éOKèÛ¢¯UûZ^µèÞ™´œ46ßdÓçˆÎVŸÃk†pöÒYKÙ²Ÿ–ЯE?«ºMƒšV3ŒµG×’•ŸeÓ÷}a÷Yþídp¢AWÊÃ-7Œ4¨Ñ€ä¬d«¶åÏŠC+x´ù£Vu›×iNà mâªèxn{ïw)£“‘w÷°*ëÙ6ÛHvA6Pþk$""Ö4Ó'""•¦M½60rÙH.^¾È’!K¬–›ŠIÉJÁÕèJ-¯Z6}”.ñ;}ñ´Í±Ï«Ï^®^–%¥};œøË7±iŸ‘›ÉlâhÆQZ×kmu¬¦gM«Ï.N.Œø¹ûÙ”–VhsiR»‰Õq£Áˆ‹Ñ…"S…%…6Kõr sÊœ)º£Áˆ«Ñ•S Ïu|Îfya©ˆ€ˆr÷}­sÚ;g'gœœ)2QTRd³w®°¸ÐêóÍOeìéƒëßïßúm²ü[9W®‘§‹g¹¯‘ˆˆØÒòN©T37ÏdÅ¡Œ‹G\dœ¥üÞaÇ™ bëÇb6›Ù›¼×¦ý¾Ô} Ú5hWîs—ö]b.!È'ˆØú±V?9…9¼¿ý}|Ü}nhŒeÓžñ ¢C¢1›ÍìOÝoU¯ØTÌñ Ç+m§3¯<”ÇÕèJtH4ùÅù$e$Qb*¡q`ã«î߬È5¹”ôIeSÒ'"RÝÎIŸˆHu¡ïW©l7šôiOŸˆˆˆˆˆˆSÒ'"""""âÀ”ô‰ˆˆˆˆˆ80%}""""""LIŸˆˆˆˆˆˆSÒ'"""""âÀ”ô‰ˆˆˆˆˆ80%}""""""LIŸˆˆˆˆˆˆSÒ'"""""âÀ”ô‰ˆˆˆˆˆ80çª@DDDn—ò/±âÐ V^É¡´CäçSǧQu£ˆoO“ &6m|:€gv–Ùß°6Ãßm¼My±©˜Ov~ÂòýË9qáî.î4¯ÓœÁ­Ó5¢+ƒËE—iñV «vK‡,%:$úšc˜¶a ~\`ùüü}Ï3ºýh{†/"â4Ó'""RN—‹.sÿ¼û‰__Õ¡ÜtÓÖOcòšÉtkÔUZÅŽ1;˜ÖsÓÒûãÞ$I¼ásäå1ø³Á|¹ïKÆwÏö1ÛY>l9ž.žŒX6‚£Gðtñ$é¥$þùä?-mgÿ{ö5ûÎÌËä³]ŸЫY/’^JRÂ'"ÕžfúDDDÊÉl6c2›0™LUJ¥èÕam†Y>Ç„Æ0ãá<üáü¾áuº7înÓæë'¾æžà{ìêÚ†iN?ÌÚk©åU €º¾uyó¡7YŸ´¾Ì6îÎîx°ñøFö¥ì»ê¹>øÏûsìü1»b©4Ó'""RN^®^lµ÷û¿_Õ¡Üt¯õ|)=¦Ø”7 j‚»³;§3Oc6›+ÜFnŸïùœ^ÍzY¾R.üëA6¶ig0Ùn$s¶Ì)³ï¬ü,>Ûý™¥žˆˆ\¡¤ODDD®+¯(üâ|6Æ`0T¸ŸuIë(1•Ð:¤u¹ÛömÑ— ï Ö%­ãð¹Ã6Ç?Þñ1Ã;S¿Fý Ç'"∴¼SDD*MôŒh² ²Ëøs.æ]¬ð8ED‘’>©T?½øž.ž–ϳÿ=›™›gòâ}/Z ôœtú}Òüâ|^}àUÚ†¶%=7é§3äó!Lí1•þQýéÞ¸;I/%1êËQ¬=º–)k§0²ÝH^ðuvÝÅÈe#ùË7á«'¾²œï\Î9ú}Ò‚â¦õœFÛúm9{é,WO¤ï¾|:èSËÓ '­™Ä¿ÿ‹ôþmBÛSÂí ¹l$‹_DlýX›*2ÞòÄt-?ÿíçŠÝ”rÊÈÍàÍïߤTzÞݳÌ:—ò/1­ç4Âk†“’•BÂÖ^øç ìIÞÄî,õÎåœॕ/ѾA{ÿ×büÜýX—´Ž «'°ùÄf¾zâ+|Ü|Ê<ÏÀ–™»u.«~^űóLjˆà“Ÿpoƒ{‰ˆ`Ç™7ù ˆˆÜÙ´¼SDDn™•‡WòÎïÐçž>Œºw”¥|úÆéœ¹t†ñÝÆ‡·›7a5ØñÈ ½ùŸÄÿ!#7æ¿þQý‰‰ÆÃŃ ;Ð%¢ ?¥üd5Ó3}ãtÎ^:ËËq/Ó%¢ ž.ž4ªÕˆwz½ƒÙlfrâdKÝ-'·Ð¨V#:†uÄÝÙZ^µx©ëK„Õ »éãµ7¦ª–™—Éð%É­Ëÿþñˬ³dð¦?4fAÍðpñ < œéM'ªn w.doÊ^KÝ‚âÜŒn¼ñЄú‡âëîË£ÍåÏ÷þ™Nðþö«ï•twvçɘ'1™M$lI®,=ýð?^uRD¤ºSÒ'""•f÷ó»-³^{Söò×ïþJL½›…¬9²€®]­Ê]®´oØžüâ|6ŸØlÓ‹`ëw¸û–f)K<’ˆ“Á‰¸È8«ºÞ4ªÕˆý©ûIÍN sDgvÝÅßÿõwö$ï±,L‘HlýØ›6ÞòÄT•òŠò¶dñöÃoct2–«}»z°îè:K™§ë•ëÓ¡aŒëþJ¯GY÷ú··Œ¿‡?ßúŽSOñùžÏiY·%w×¾»\ñ‰ˆTZÞ)""•.9+™‘ËFìLÂc ¸],Ç K É.ÈÆÍÙ /W/›¶¥OxLÏI·9öû%€®FW̘­úh9£åUã;yá$u|ê0©û$¢ëFóÕþ¯²xmêµaPô þÐø7u¼öÆt-•¹§¯Ä\Â3_?Cwo>ô¦M‚fÚÞµ8Ÿ{ÞRâ@ Ï6õ<lê—ÅÓÅ“á1Ù±iïüðÛNmc^ŸyåŽOD¤ºPÒ'""•*·0—ø¥ñ›Š™ßo¾ÍC:\®ø¸ù]Mna®MâWº¬3Ð;°Üçv5ºâëîKnA.ÿv𺉋Á` wóÞônÞ›bS1ÛNmcÁö<ýÕÓ¼|ÿË<óäuÏiÏxËÓµTæž¾ñ«ÆSXRÈ»}ÞµŠ1nno?ò6-ë^=a-U:ãà`)kÚ†þóeoßo¿|%Ùûý«Ê2´õPü¸€o|KçðÎv¿#PD¤:ÒòN©4%¦Æ|3†cç1çÑ9V{ãžùú$XfÑ6Û`Õ¾°¤-'·àîìN§°NŠáwý‘s ;Ïì´96oÛ<:%t¢Ä|e¶,zF´å¥ÞÎNÎt ëÈÜ>s1 lHÚ`Ó¾¢ã-OLUaÖ³8rîóúγ̞^Í{¿ ×‡½l· q“IDATÊÍf³å‰Ÿ÷7ºßRÞ%¢ AÞAl:¾É²¿¯Té‹ÙËzùûïù¸ùðdÌ“ø¸ù0ºÃèë֩Δô‰ˆH¥™ºn*ßûž©L½æž¸±ÇRϯSÖNa}Òzr s9qáÏû<é¹é¼Òý»f®Öw}ÿúü÷Šÿfãñdd“™—ÉâÝ‹™ýïÙŒ‹g5“õʪW8|î0…%…œ¿|ž÷¶½‡ÙlæÞ÷ÞÔñ–'¦[éË}_2ë‡YìMÙK‹·Z9-Òêçtæi›6Ò0qõDN]ö®eV§ô=}‰GIÍNÅÃÅãÊ{úÚ°$\{’÷Ðwa_«>žnÿ4/Ü÷‘Ó"­Ê»Fve~ßù–¾¶$x4‘”¬|Ý}iÔ”øØx:4ì`is(íŸíùŒí§·“œuå=} k4¤Túµè‡Á`°yO@¯f½3¼Üãµ'¦[-~Yüug5— ]fYÞYXRÈú¤õ|{à[Ÿ;Ljv*nÎn4 jÊÀ–y¸éÃeö±ûìnfý0‹=É{È/Χ¾}lò #ÚÀÝÙÝRïž·î!¯(Ïò¹SX'>ðáUcûýïÀÄîÒzÈ5Ç$RQùùš7ç½÷R‰‹Ë­êpÄAáíí]ÑæK•ô‰ˆÜÁÊ“ôµo߀øøK žYÉQ‰ˆT©©ÎtìØ€/¾8K«VùUŽ8¨Mú´¼SD¤šˆŒ,âÈ‘kïÏ‘ò)ý^ /¬âHD®NIŸˆH5ÏÖ­U†ˆˆCÙºÕƒ°°"üýMUŠÈU)é©&ââ.sæŒ3ûö¹Uu(""Ád‚Õ«½´—On{JúDDª‰¨¨|5*äÓOýª:‡°i“'§O»Ð·ï­y@–HE)é©FFÊdùrÒlŸˆÈ()1ðÆÄÅåÒ¨‘öóÉíMIŸˆH5òÈ#Ù´j•ϤIµÐ³›ED*nÑ"_NœpaܸóUŠÈu)é©F øûß3ؽۅ µÌSD¤"ŽsaæÌš<õÔ%Šª:‘ëRÒ'"RÍ4o^À /\àÕWk±~½gU‡#"rGÉÌtbäÈ`4(bôè UŽˆ]”ô‰ˆTC£F]¤wïl^x!ˆ½{µ¿ODÄ99NŒLq± RððÐ:y¹3(驦¦LI§M›|aÕ*ïªGDä¶væŒ3ýû‡pú´ óç§PRÕ!‰ØMIŸˆH5åâbfÞ¼úõËâÙgƒ˜9³&†ªKDä¶óý÷žôéS£ÑÌ—_žÑÓ:厣¤OD¤3a„ &ONçƒüèÑ#”5k¼ª:,‘ÛÂÉ“.ŒÌŸþLûöy,Y’LppqU‡%RnÎU€ˆˆT½ÇÏ¢[·Ë¼þzMF®C“& Íý÷çR§Žþƒ#"ÕG^ž-[<ùúkoÖ®õ""¢ˆE‹’‰Í«êÐD*Ì`6ëMM""wª´´4rrrnjŸûö¹ññÇ~¬^íE^žÁÁÅ4hP„¿¿ ƒA2DÄ1åä8‘šể.˜LZµÊgРK<ôP.F£¾û¤jáí]áý÷K•ô‰ˆÜÁ*#é+UP``ÇwpãÌ.]rÂdª”S‰ˆT9oo3Å4iRHllµjéA-rû¸Ñ¤OË;ED¤Lnnf:tÈ£C-i¹“éA.""""""LIŸˆˆˆˆˆˆSÒ'"""""âÀ”ô‰ˆˆˆˆˆ80%}""""""LIŸˆˆˆˆˆˆSÒ'"""""âÀ”ô‰ˆˆˆˆˆ80%}""""""̹ª‘ŠóóóÃËË«ªÃ‘Jäîî~Cí•ô‰ˆÜÁnô€ˆˆˆ8>-ïq`JúDDDDDD˜’>¦¤ODDDDDÄ)éq`JúDDDDDD˜’>¦¤ODDDDDÄ)éq`JúDDDDDD˜’>¦¤ODDDDDÄ)éq`ÎÀÒªBDDDDDD*Ŷÿo¬ôô¥YÍ7IEND®B`‚fio-3.39/examples/zbd-rand-write.fio000066400000000000000000000006161476262051600174070ustar00rootroot00000000000000; Using the psync ioengine, random write to a (zoned) block device, ; writing at most 32 zones at a time. Target zones are chosen randomly ; and writes directed at the write pointer of the chosen zones [global] name=zbd-rand-write group_reporting rw=randwrite zonemode=zbd zonesize=256M max_open_zones=32 bs=512K direct=1 numjobs=16 time_based runtime=180 [dev1] filename=/dev/sdj ioengine=psync fio-3.39/examples/zbd-rand-write.png000066400000000000000000001474321476262051600174260ustar00rootroot00000000000000‰PNG  IHDR3…ɧ­÷bKGDÿÿÿ ½§“ IDATxœìÝwX×ðwéU:ˆ€(bÅÔDÅnÐX°Ä^£‰±×ˆ‰-1Q+ÖD¯ÆÞ{¯ˆQl ¢HU¤ ,sÿXYwQª¸ðþž‡çîœ9sæ;ã\²gΉ ˆˆˆˆˆˆT˵’Ž€ˆˆˆˆˆ¨ ˜Ì‘Jb2CDDDDD*‰É ©$&3DDDDD¤’˜Ì‘Jb2CDDDDD*‰É ©$&3DDDDD¤’4J:"¢ÏAhh( $noܸ•+W.p{¯_¿F×®]ÅíeË–ÁÙÙ¹P1~N>÷þõ¿gQ Áßÿ»wï"99‚  iÓ¦055űcÇ 6ÄâÅ‹K4N""UÂd†ˆ@JJ ¼½½ÅíäääBµ—‘‘!×^|||¡ÚûÜ|îýûпç Aƒ 9r$úõëWìñ„‡‡£Aƒ ×ÉÀÀåË—cÕÐà–‰ˆòƒ¿5‰ˆ¨L¹~ý:;vü$ç\¹r¥˜ÈXYYaÍš5011™™–/_þIb "*˜ÌQ©S±bExyy‰Û%ýˆYvò­[·F÷îÝÅí©S§bÀ€“O‘*c2CD¥ÖìÙ³å5RfÒ¤IèÒ¥‹Ò}?ÆÊ•+ ôéÓ:uR¨wñâElÚ´ ááá¨T©F›Ŭl®Gjj*Ö¬YƒÀÀ@téÒ#GŽDûöíåŽÓÔÔ„±±1œœœÐ§OT«Ví£íª««ÃÓÓ÷ï߇µµ5¾ùætëÖ­Øú—••777¤¥¥V¬X'''À®]»°fÍÀÀ1|øp²y&C‡¨©©áرcˆ‰‰ùè5êÒ¥ æÌ™#WÇÛÛÿþû¯øˆüóÏ?8yò$ÀÂÂ{öì÷ÅÇÇcÇŽ¸zõ*¢¢¢ ­­Zµj¡oß¾¨W¯^žú|þüyüúë¯øï¿ÿäÊ\]]•ÖW6g&..Û·oǵk× mmmT©R:uBÛ¶m!‘Hò Q©$•R=zô|ðgÍš5‚ ƒäÊW¯^-(Ô3fŒÜ9æÏŸ¯PGKKKX¿~½\™——Wžb~?ŽeË– ºººâöøñã…ÔÔÔöICCCìWní®_¿^066V8vöìÙÅÚ¿Ö­[‹Çüõ×_b¹»»»XÞ¦M±|íÚµbyÆ ó|Þ¯ Ìž=ûƒ×ÍÆÆF<ï‘#G“\ëN›6-OýݱcÇGïÁœ?9û.‚°oß>¡\¹r¹ÖoݺµðòåË<ÅBDT íf2CD¥ÖÝ»w///ñçܹsB:uä¾ 8p@Å/Èúúú¯¿þ*:tH4hܾ½{÷ ‚ W®\$‰XÞ¥KáÀÂÒ¥KSSÓ"If´µµ…‘#G ‡¼¼¼„Ç R©T®_çÏŸöïß/|÷Ýwr ͳgÏrmWOOOøå—_„mÚ´‘KT^½zUlý[°`xŒ››› ‚••%˜™™‰åºººBZZš ‚лwo±ÜÃÃ#Ï×HY2"xyy vvvbùˆ#Äëèãã#‚ ܹsGÐÒÒë 0@8|ø°°fÍÁÜÜ\,_±bÅGû%xyy 7ëСƒÜ¿Ÿ›››ÒdææÍ›‚¦¦¦ÜõÚ¿¿°jÕ*¹ëß¡C‡<]{"¢RˆÉ • YYYÂСCs…xÿËoöçl...â¾V­Z ‚  Ëìíí…ÌÌL±þŠ+”~ÙŸ:uªÐ²eK…Ÿèèh¥qŒ5*_ýtrr]¹re®ý›ÄîÝ»Å}ÙhuêÔ —.]œ9s>>>hÖ¬Þ¼yƒ (m·nݺ…é€wÀ7ß|ƒ-¡ü¡GËò«¸ú—319þ<A€žž¾øâ hhhÀÂÂ1118{ö¬Òc KOOOü©°¿wïÞ¸~ý:ÀÛÛ¿üò êׯ/îOJJÂÑ£G&÷Ú7àïïhÒ¤I¡ãìÝ»7üüüÈFã®\¹‚/¿üR©sçÎë}Òdˆès¢VÒ—+VÈm‡„„ uëÖpuu>¬ôXMMMØÛÛ£aÆpvvFbb"ÀÜÜ€üUªTH¥R´lÙõë×GÅŠÅúÅ!ç|ž¿þú ÎÎΨ[·.zöì ;;»";OqõÏÚÚuêÔðî‘¶¯¾ú šššH$ ï`±³³“)¬† ŠŸW¬XÆÃÕÕýõÙüª–-[½ã¥Aƒ¨Y³&š4i;;;£oß¾rÉVq3f ¾üòK²ëïêê gggT¬XÛ¶m {loõêÕrä•%Lfˆ¨Ì¸|ù2¼½½å~"""”ÖõôôDÏž=áïï/N^oР.\¸kkk²y 9_€˜™™ ¸ººbëÖ­ÅÖeË–¡W¯^H$þþþHOOÇÉ“'Q¾|ù";Oqöïý‘„V­Z)ý¬¬naÍš5K|éeVVnܸooo´µµqúôiüú믨P¡àáǸvíÂÂÂ`hhˆ`êÔ©E×ûtttpöìY̘1fffâõˆˆ€D"AÓ¦MqîÜ9ôëׯXã "úœI„ì?‹©Ž=™!"""""•Äd†ˆˆˆˆˆT“"""""RILfˆˆˆˆˆH%1™!"""""•Äd†ˆˆˆˆˆT“"""""RILfˆˆˆˆˆH%1™!"""""•Äd†ˆˆˆˆˆT“"""""RILfˆˆˆˆˆH%1™!"""""•Äd†ˆˆˆˆˆT“"""""RILfˆˆˆˆˆH%1™!"""""•Äd†ˆˆˆˆˆT“"""""RILfˆˆˆˆˆH%1™!"""""•¤QÒ‘¢¨¨($%%•tDDDÅÊÊÊ >ž#3DDDDD¤’˜Ì‘Jb2CDDDDD*‰É ©$&3DDDDD¤’˜Ì‘Jb2CDDDDD*‰É ©$&3DDDDD¤’4J:""úô ÓÄóçHHP‡ ”tDDTPúúY07—ÂÑ1ZZü?3•-LfˆˆÊ©¸pAGŽàÒ%=¼~ÍÁy¢ÒD]]@Æihß>Ý»'ÂÈ(«¤C"*vAàß㈈>7QQQHJJ*²öÎÓǘ!4T..©hÓ&õë§ÁÞ>FFR¨1¯!RYÉÉjˆŒTǽ{Ú¸xQgÎè#+K‚#â1bÄ+èêò«}¾¬¬¬```PÐÃ÷0™!"ú U2óì™&fÏ6Ç•+zøæ›$ŒÿööE!}®’“Õ°}{9¬Ze‚rå²ðË/±hß>¹¤Ã"Rª°É ÿGDTJùøèÂÝÝqqêØ±#K–D1‘!*ôõ³0bD<Ξ E³f©=º<-2åÜ8*•˜Ì•B»v•ðaÖhÑ"{÷†£Q£´’‰ˆ>1ss),ˆÆÂ…ÑøßÿŒ1vly¤¥IJ:,¢"Åd†ˆ¨”9rÄ¿übŒÇ’%QÐÖæŸc‰Ê2w÷DlÞ__]L™b…,® @¥“"¢R$ @3fXbذxŒ÷þ–ˆ4nœ†µk_àüy=,]jZÒá&3DD¥D|¼:FŒ°FÓ¦)øé§¸’‡ˆ>3¥aÞ¼¬]k‚S§ôK:¢"Ád†ˆ¨”XºÔjjÀ’%Ñ\j™ˆ”rwOD‰øýws¤¦rè–TÿsGDT <~¬…;ËaêÔ8ðx"ÊÝÔ©qHLTúu&% Q¡i”tDDTx‹™¢Nttë–XÒ¡”Z'OžÄ˜1cÄí   Ozþ/^àܹs8sæ ®]»†ÌÌL@Æ ±k×®OK6µ¤$èy{CÿÌè]¸µïFzA]=×c5CB`¼at}| …,]]dTª„$77$öì‰,CÃOÑ…2ÉÌLŠ|OOS ##þ„T“""© ô±lY'ü—býû÷GhhhI‡!Çì÷ßQnÏž|g¸g,~ù©T,SOKƒú«Wй}‘‘ˆóð(ÊPé=ýú%`åJoÞGѽ|–3f‚¨©!þ»ïл7¤VVÐ Þ¹s45?Aôe›¾~ÚµKÆ©SúLfH¥1™!"Rq¾¾ºhÒ$šš|ŸLi¶uëVñóçÈ@ÜŒâgÃ}û>~€ Àü·ßý*úø¡C7mš¸ûM­ZxS«V‘ÇIÊ5ož‚Ÿ~²DzºZZüýAª‰ ©¸‡µP«Ö›’£Ôˆ…‡‡\\\P§Nôîݾ¾¾<&++ ÀàÁƒÑ¸qcT¯^5°aÃpþüy¹ºK–,££#ѽ{w…¶¶oß.îÿꫯ Íñ(Va©%'£bûö¨âèˆ*ŽŽ°˜5KÜ'IO‡]çÎâ>«I“Šì¼Ù´ÿûZÁÁâvüðáE~Ê»:uÒ‘™)Ap0GÂHu1™!"RqQQê°¶Î,é0J…W¯^¡gϞسgâââ––†[·naðàÁ¸xñ¢ÒcÒÒÒ0tèPL:W®\Á«W¯ •J‹/bäÈ‘øý÷ßÅú}úôúÛ‰ñxôè‘\{ûrŒp|ûí·bÝ¢¥¯È•+!èêÊmßý³gfóçCëáC@zÕªˆÉsQѹuë],FF0Ú¹v:À¡NTnÐÖC‡B×ǧÈÏKÊ•//û½ÃuHu1™!"RqiijÐÓã#"EaÑ¢E èëëcݺuð÷÷ÇÊ•+qäÈ¥Çüõ×_¸rå ÀÒÒÛ¶mC@@6oÞ Ã·+rmܸ'Ož ›ûÒ²eKñøœÉË“'OàïïPWWÇ·ß~[ä}L¯V 1¿ý&n[xx ÜŽ0Ú²ÀÛ„gÕ*d½MxŠ’FLŒøYíõk˜xzB+8’´4¨%$@ïÒ%T<å¶m+òs“"==Ù*fÉÉü:Hª‹w/‘Šp³" •JqìØ1q»oß¾hÕªôõõÑ®];ôìÙSᘌŒ ìɱš×ĉáââ]]]4kÖ ½{÷÷mËñ½ÿþâçC‡‰’íß¿_,o×®,--‹¦sïIìÖ }úÔ_½‚Å̙⾘ áàP,çEF†ÜfzÕª=sOoÜ@R—.²BA€ù@=GâCÅ#û÷†À¿… c2CDDÙ\™¤ïI©]»¶ÜþZJ&¦‡‡‡#%%EÜöððç»8::âÿûŸ¸ïáÛG¸ yóæ°µµÏëíí¬¬,>> Crr2FŒ@–èôèÑ»wïV8fêÔ© ‚bccñý÷ß+mÛÉÉI¡¬_¿~ «¤uêÔ ÆÆÆ u¿ýö[ܼyS¡üæÍ›ptt ]úØ;qôÏœñúõA[QžžH¯^q3fÀ|öl@`9u*ÂFÆÛy=¹1]²&«W+ÝçP½ºø9ôÔ)dT©ˆ›<Z÷ïC÷úuh=~ŒŠmÛÊ—ehˆ(OO¹"¢Üpd†ˆˆè-SSSìÞ½={ö„‰‰ ´µµQ¿~}lÚ´ -Z´PzŒ®®.þý÷_,^¼Í›7‡™™ÔÕÕallŒ5jÀÝÝk×®Å!CŽmܸ1ª¾7¤8'þk>{ËiÓÄíØ3þ6éxÝ¿¿8ù_-!V£GC’ž^ä1ººx±y3bgÎÄ''dééAÐÔDFÅŠx=p ž;†´ Šü¼DT:I ò}n¢¢¢äVÖúGÇ*ðôŒ‚›[Þêeãï*iVVVróóiGfˆˆˆˆˆH%1™!"""""•Äd†ˆˆˆˆˆT“"""""RILfˆˆˆˆˆH%1™!"""""•Äd†ˆˆˆˆˆT“"""""RILfˆˆˆˆˆH%1™!"""""•Äd†ˆˆˆˆˆT“""Ê·èè4xz>ĵk±%J¡•¦¾•5Lfˆˆ(ߢ¢Ráéù T$¥©/DDe “""Ê7++]ŒW..æ%J¡•¦¾•5%©KKŒW£¤Ã(¥©/DDe “""Ê·èè4ìÜù..æ #‰‰¸x1 ÏŸ'C[[uê¡qcå£R©€«Wc˜€ÌÌ,T®l€–-­ ­­.Öyö,‡=G‹Vpv6Áµk±øï¿WÐÖVC‹V¨TÉ@iÛ/^¤ÂË+‰‰¨ZÕ-[–Ç£G 8sæÜÜlàèh˜k_ zμôçSËÙ—ºuáãƒû÷㡯¯‰–-­`k«§pLFF.]ŠFhh2A€½½>š5³„ŽŽ¬AA‰8~<M›š+ý·}ñ"{ö<ƒ³³ Z´°*Ôõ¼~=¾FVàà`€æÍ­ ¡!)Ú‹DD*‹É å[ö<“÷Ï:y2·‘˜˜!W¿~}S¬ZåKK±Ìßÿ%Æ÷CXXŠ\]kk]¬YÓuêž=K‚§çèêªcíÚ@œ=ûB¬«®.Áüù àî^Q®Ý»ŸaΜ;HOÏ’‹¡sg[xz>@µjåÄdFY_ rμöçCV¬xAøh5€žž:¾û®êGëe÷EKK ‹ßÃÕ«1â> fÌp AUäúñÃד&׎¹¹6–/ÿ..æ(_^ë×?Â… ‘Ø¿ßU᜛6cýúÇØ¹³…\ ù¹žwî¼Â¤I~ M–+·µÕÇÆÍP¹²òˆˆÊ&3DDT$ýöî}?¿8´n]°qc¤RãÇ×ÄØ±ïæÂŒW]»^ÈWŸòz΂ôG™1cjäkd&?RS¥8t¨ªT1Ë6lÂàÿ “™—/ß re:Ô jjïçzùò ^¾L· ª‚­[Ÿ`Û¶,Xð.™9v,ññé˜1ÃI!†¼^ϵkŤgÁ‚ÐÔ|·^QXX2ÔÕ¹~É0™!"¢"qófÔÕ%˜<¹–˜È€‰‰~ø¡:~þù6nÞŒCÓ¦ðñ‰ºº/_¦cÕª@‚ ~‰ONμðîË¿»{E…ù®®å±wï3DE¥Še·o¿‚®®~ü±º\][[}ôîmuëç¹Oy=gAú£LÎ䫨uéb+—ÈÀ!Uð÷ßpófœXÖ¡Cl؄ݻŸ¡uëò⣦¦Ú05ÕëU®l€-¬pôh¦O¯cc-À¶m!03ÓFçζ 1äõzúúÆBMM‚_u–KdÙ¿#Q6&3DDT$2`i©#NÏ©bEÙÐׯesi^¾L‡T*`ùò¹¶÷þ¼kk]…:Ù£™™ï†3^¿NGùò:PWWœ$žß/Ây=gAú£LqÌ™Éfg§Øw55 llôÞ&Z2&ÔDÅŠú8xð9æÍûzz¨_ß]»V„››ÜñƒW·wöí ÅðᎸ{7þþ/1vl hi)ŽžäõzÆÇ§ÃÒRúúüšBDÆßDDT$Ê•ÓÄ‹©HK“*$4Ù“¸Œ4ßÖÕ@zzFŒÈýËxöýü22ÒBdd¤RA!¡ KÎå¨Â)ªþ眙çÏû.²ù>åÊi‰ejjôìiž=í‘•%àéÓ$xyEaÒ$?Ü»©Sk‹u›7·B•*†Ø¾ý † sÄÖ­O ¡!Aß¾úcc-„‡§ 99“ }CQ‘hØÐ ‡=ÇÒ¥÷ááñn¾D||:þùç‘Xš5³Ä®]Oao¯®]íÚzøðµ8<¿ê×7Á‘#aøûïGršED¤`ÏžgjócŠª?Å9gæðá0 æ(÷¨ÙÆAˆ‹{ƒÖ­­Å2/¯H´hauu ÔÔ$pp0D¥Jزå öí{&—ÌH$²¹3³gßÁÑ£a8z4 :ÙÊ­ZWM›Z`×®§˜;×üÑ@n)æì93ÊFyˆ¨ìa2CDDEbøðª8v, ÿû_nÜx‰ L””‰sç"ñòå8;› I À¨QÕpòd&O¾ƒP¯ž 5ó% à6lhÅw |Ì!Ž8v,K–ÜÇåËѨ[×äíjfá9Þ÷’ÇŒ!Šª?Å9gFWW]»z¡C‡ °°ÐÁýûñðñ‰D î(Ö=úLL´Ð ììô‘‘‘_ß„…%£F #…vÝÝ+bÑ¢{˜1ãÒÒ¤<¸ŠBüúþûj8z4 û÷‡âúõ84mj##-6lh†I“n ,,{ö¼{DÎÖV*”ìµ$¢Ï“""Ê7++]…f@ÇŽЬ™.^ŒBXX ´´Ôàäd‚ÆÍÚ¨UËÇ·Á­[q¸{7©©R”/¯‹êÕË¡fÍw#öö7®&ê×Wl#{_ݺò/¤ìÛ·2Z¶´‚—W$’’2Qµª!Z¶,Y³îŸˆ®¬/9g^ûSR´µÕ°eËW¸t)¯¡§§W×ò «‹­\邘˜4ܸ‡çÏ“¡§§Ê• д©…ÜRÍ9Õ®-»¹Êäz6lh†sçÚãêÕ¾†ºº ðÕW–Jw ¢²I"y}:—ˆˆ>•¨¨($%%å©®£cxzFÁÍ-oõË‚»wãQ»¶±ÜÑwïÆ£woohâêÕ¯ËÌâ‹£0l˜~þÙ C‡:~ü€|’Jtëæ…ÈÈT\½ê&7¿…>üýA%ÍÊÊ ~ îžBÌ,Y²W¯^-LDD*«iÓ¦˜4iRI‡AJ,_þOž$¢Q#s˜šj!$$ ^^‘J äPf™âtíZ,||¢qíZ,`ܸšpw·ÇÍ›qxñ"††Zøâ 3T­Z®¤Cûä>4_¥0\\Ì1n\ XYéÂÍͦÀKi "¢RÉÖVOar{Ydo¯qãŠ~Égs… ˆˆ>5µ’€ˆˆˆˆˆ¨ ˜Ì‘Jb2CDDDDD*‰sf(Ï\]]ÅÏ={öĘ1cJ.˜ÏÈëׯѵkWq{Ù²epvv.ÁˆˆˆˆˆÊ&3”gÞÞÞâg~Y'##CîÚÄÇÇ—`4DDDDe3#"""""•Äd†ˆˆˆˆˆT3£b;vàêÕ«ˆŠŠ‚¶¶6jÕª…¾}û¢^½zJ¹téþý÷_„‡‡£R¥J5j*UªôÁy)ù9Ohh( $noܸêêêðôôÄýû÷ammo¾ùݺuSˆíâŋشi“\l666…½LD*Ç? ½bP£AèX½cI‡S(ÃvCZFšÒ}Ã]†£c…òG1p>è<|C}‘ž™ŽŸZý„z”ÿN{‘ð'OàaôCD'EÃD×l¡»SwèiÊ¿'*) MDòu0£Í …¶NžÄæ›a®oŽß¿þ†Ú†è1QéÁd†ŠÍÑ£G1hÐ ¼zõJ®üÈ‘#X¸p!¦M›†… Êí[¸p!¦OŸ.W¶qãF¬^½:×y)ù=OJJŠ\[çÏŸÇ”)SäÚܰafÏž9sæˆe ,€‡‡‡Ò؈ʚ×i¯qýùu´«Ö®¤C)4¿ç~HÍHUº¯s­Î e]7vލ{re¯Ó^+=~ÓM˜wnA+?rÿþ¹ö6÷Ù {{±<-# ן_‡†ºâž÷ì‡Ç ˜ë™c^ÇyLdˆˆÀd†Š‰¿¿?zôèôôtÀ€лwo„‡‡cæÌ™ˆÅŸþ ;;;qU4¹dá믿ƈ#ðäÉL™2¥ÈÎó¾qãÆaÒ¤Ihذ!V®\‰sçÎæÏŸ &ÀØØ>>>˜1ãÝ_I»té‚¡C‡âéÓ§˜6mZá/•¨jÕ0»Ýl…òʦ•Ê¢“£QÕ¼*ÚTmƒ‡Ñq!øB®íÆ¥ÄÁÚÐ_×øUÍ«ÂÂÀOâž`ýµõŽéǧcGÿoÛím˜szlÊÙ`k¿­°5²ÍWÿˆˆJ+&3T,.\(&­ZµÂ–-[Ä}ÚÚÚ6là÷ßÇèÑ£!‘H°fÍñ¯—¶¶¶8tè455jjj˜4iR‘œç}£FÂo¿ý¨U«ªW¯HOOG`` \\\äb³··Çþýû¡®®ÐÐÐÀرc z©ˆè3`¨m—Š.yª{hÈ!XX朞óÁºCÅÄæå~÷´th‰vÕڡúð{î‡äôdèkéçÚÆ?¾ÿàÏ ¢ŠYlé»E<71™¡brõêUñspp°Ü;jÄÏ‘‘‘†££#nݺ%–·nÝZLd C‡Evž÷uêÔIüli)ÿ%!66äbsuuhÓFñyz¢²$:)›onƃ¨ÐÓÒCÛªmÑ¥V…?<Œ~ˆýûñüõs‚{{t©Ýµ­j—P䓟dÂD×Di¹­‘-Lð ú²„¬\_viV^Y‰š–5±©Ï&˜ê™æ;^"¢ÒŒÉ ‹””ñshh(BCCs­ûòåK@jê»gÖ åŸ»0çyŸ………øYCCþÿÙ£19c300ÈSlDeAdb$ºýÛ ÑIÑbÙ‰‡'pöñYxvõšýûñÓñŸæŽüïúÿ°ø›ÅèZ»+>fàŽfIó—±®1V»ç}>[tR4<Ž{àE⠘蚠±]ct«ÓMa‚~QI|“ˆg¯ž¡®uÝ\ç¾ü~îwlôÛç ÎØÐ{Êé”+–XˆˆT“*•*UBt´ìË»»ûêQ£ÀÎÎ!!! þo¶ÇÙy ÂÖÖVŒ)88Xn_PPPÛ%Ru›nlBeÓʘÐ|,ô-p/êÖ][‡O`¯Ã^ôªÛ €,i€A ¡Y¥fÐPÓÀÓWOqøÞa$¤%|è¢ëϯç9™1×7ÏW?žÇ?Çóøçâö‘ûGð·ïߨÐ{ª˜UÉW[y1çô¼‘¾ÁôÖÓ•î¿z >O}àdí„Í}7[RED¤ê˜ÌP±èÝ»7®_¿ðööÆ/¿ü‚úõë‹û“’’pôèQ„……‰†uîÜ/^œ>}~~~hܸ1ÒÒÒðÇÙy ¢S§N¸téàÌ™3ðññA³fÍðæÍ,X° Àí©:  켺šº€VŽ­Ðȶì€]wv‰ÉŒ†šª™Wìv³äŽÒhß$æé\[únQÙɦºæÇ+½eªgŠŽÕ;ÂÉÚ zšzŽ ÆöÛÛñ<þ9~Üÿ#Žwêõ7”G‹¼áнCø¥í/øÂî ¥uLtMŸ Ø ܼ›k="¢²ŽÉ ÈÞ½{qçÎ…òŠ+bóæÍ3f Ž9oooÄÅÅ¡Aƒ¨Q£ŒŒŒŽ/^@*•¢C‡âJe?þø#Ö¯_G!33_~ù%j×®ððpT­ZUi9OAüøãX·n‚ƒƒ!•JѲeKÔ©SJçá•n5ÜÄD&[û&°5²E`L X6²ÉHL>2ODkÇÖ¨iYfP“¨åy‰áâúB|øq¹ ø­[£sôØÜÁqÁ¸ñüFžøA0ïÜèôpêHÍHÅÏ'~FJF :Õz·ìùŸþD§r“é­ ¬ ©®‰ëϯçé\Å1gæøÃãÐÑÐA«*­Ä?|dfebç8rÿÔÕÔ õxWÒ›$ŒØ;7Ân`nû¹èß ¾ÛøºÆ×Ȳ0éÈ$ Ù9›úlB]ëºމˆ¨4a2CŸooo 6 ÆÆÆ¨R¥ ñäÉdff½fÕªU%%e«iY?û K¼—ÀÒÐ!/Cô& zšzÕt”Xï_¿ñï?0Õ3…±Ò3Óñ8ö12³2ÑÒ¡ežÎUsfîEÞÃß¾CWSvÆvÐR×Bh|¨¸ÂÚ÷.ßúœµÜ1«}VãrÈeÀÓWO ½bíÕµ€ -&ˆ±.¾¸~Ïý` m€cŽá؃c 1Ìw›{“ÿ¦SÍNfI1õØT Ù5[únQ¹÷ó&3ôYùî»ïS§NáæÍ›b¹¡¡!zõê…yóæÁÚÚú-ѧԽNw´vl|ÿATR ’I%üÕù/T4~7‚9½õtì¼³báeŠìOZêZèZ»+~nó³Ò¶?…ε:ãÙ«g8ûø,Å<Ë­ËYc„Ë l0Pá˜à¸`…Ѥœ‹d÷Ò2ÒÈFhrJÉHQZþ¾.µ»@€€©G§bðÎÁØÒw jZÖÌÓ±DD¥•DÈ똽½zÉ–ÜܳgO‘DÉÉÉxòä ’’’`ffGGG¨©©•tXD¢âþý…¤¤¤<Õut¬OÏ(¸¹å­~QˆOG`L ìMìQÞ°<Òò2zZzp4sT:'}ÑÿzZz°1²ùlÞŸò&ó BãC‘ø&––°5²Íµnp\0b“csÝ_Õ¼*LõLOâž &9æƒçÎ^ͯñðG9ír¨i¥X‡(¯Jâ÷QNVVV /$χ=™¡Ï’¾¾¾Üä{"ú¼ëË­ðUN§êUøøÄtS=Sñ‹þçD[CUÍ•/ÿ¾*fUòü"M38˜å}µC ®œÆ†ˆèþ©›ˆˆˆˆˆT“"""""RILfˆˆˆˆˆH%1™!"""""•Äd†ˆˆˆˆˆT“"""""RI…Zš9..aaa˜8qbQÅCT =‚µµ5 K:*#üýýak›û»Hˆˆˆ¨ø*™yüø1°lÙ²¢Š‡ˆHe¤¦¦–tDDDeZ¡’™&Mš(¾7`å•D"Á„ °téÒ’…ʈ^½z•tDDDeçÌ‘Jb2CDDDDD*‰É ©}ûà¸À'OŠe/à¸Àž—=K0²ÏKøëpl¹¹Cv AÍ¿jÂq#.>¹XÒa©”BÍ™!""R7Ân ÏÖ>˜Øb"F7]Òá ÇæˆMŽ-é0ˆˆT“""*vNÖNšTÒa|VlÊÙ cõŽhSµ N><‰]þ»J:$""•Ãd†ˆˆ¨ì¼Oü|îñ¹Œ„ˆHuqÎÌgfÑ¢EH$¸páBŽŸ>}:$ îܹS´e[´H€Þ£˜>]v<ïQ•—–€9§ç éʦ¨½¨6ºýÛ çƒÎ+­«lÎÌÅ'á¸Àý6âúóëè»­/ê.®‹nÿv‚€=þ{ÐkK/Ô]\µÕFç ±õÖV‚ ×¾ ذ}·õEý¥õQwq]tßÔ»üwA*H±ÊgúlíXzq)8Š?DD¤º82CDDùö&ó úoïÑIJ»‘wñý¾ïáVÃ-_mÝ ¿…ç@*HYBAÀ”£SpèÞ!¹º£bÎé9xõ¿ý;Y"3áð{pL®nÀ‹¼€­‘mAº(ªþguH³¤yªk®oß±¾…:å“™ÏÌ”)S0eÊ”’ƒ(wS¦È~¨LÛ|s3D?€ƒ™æ´›gg¼Ly‰u¾ë°íö¶|µuâá ôª× #]F¢¢qE¨«©ãà݃8tïª[TÇ´VÓPϺ´5´q7ò.~=û+vùïBϺ=Qߦ>öìűÇ`¬kŒÉ-&õŠ+Œu„wv@S]£›†KE—Ïj""*<&3DD”o'ž„D"Áªî«PÕ¼*@ÏHs;ÌEÈ«ø<õÉs[ΜñGÇ? ‘HIJ½{¡®¦Žßn„¥¥XÞØ®1–~³×wÄÙÇgQߦ>öì,ïº_VúR¬ëdí'k§ÂvÓ Ý23g&ç\’M›6¡N:ÐÑѽ½=æÎ‹¬¬,¹ú €D"Al¬â²™Ùûâãã•¶¿fÍÔ¨Qººº¨[·.Ž9HNNÆøñãQ¡Bèèè yóæð÷÷—k;·93ÏŸ?Lj#`gg---”/_ýúõÃÇsíóªU«P½zuèèèÀÁÁóæÍCff¦\ØØXL›6 ÕªUƒ¾¾>Ê—/Ö­[cß¾} ϤS.bb;;ÀÜ •ßwñ" ¡|õðÞµWs.ɦM@:€Ž`oÌ ¼wbÀY}%÷¨¸/Ç=*×þš5@€®.P·.ðöEr20~pâéSÙÈNóæï™l@‡²Qš  ùdFÉ=Š·÷(ÞÞ£ÐÖ–%Z£FÉ)su•ÍñiÙò]lT"5„Ã÷ãAô Ü1P,—H$èT³“Â2Éùå^Ç×C¯c_À>ŒÜ;Rioë} èáÔÞÁÞ8x?ŸøY¡ž[MÙRÑ•L*ÁÊÀ WŸ]E£åï{ šT¨X jò‘É KOÛ=Lü¼²ûJt¬ÞñS‡ED¤RÊÜ3ººº eÙOs>f–ýˆÕû @jjj®í+›û"‘Hr-Ïí¹Õ-Œì6r¶Õ¯_?„……aæÌ™ÐÕÕÅîÝ»Q«V-tîÜ …>g™ãç„…É>?~\°äCÉ=Šì³œ™e?b¥ìþùÀ=ªtî‹D’{ynçÈ­nad·‘³­~ýd×tæLٵٽ[6êÓ¹³ìq8*ÚÚØÖoú×ïs}shkh£–U-¬q_ƒ…5“H$XØi!<»yâËJ_ÂHÇšêš°3¶C»jí°Æ} ¾¬,›ð¯&QÊn+ðû׿ù‚3t5ua m€zêa¾Û|4±oPWSÇ*÷UhdÛºšJþFDD*§ÌÌä•¥¥l)Ðñ3 › íÚµOG¥J• ¡¡K—.!!!AntF*•âôéÓGGù·XŸ:u mÚ´‘+;qâ J•*r円†èÚµ+ºví @¶hAݺu1oÞ<üùçŸEÞ§RëÅ Ù< ÙˆÌĉÀС²¹!Å!û¾ y÷°|Â{•*ÉF`.]’%9Gg¤RÙxïÅ©S²GÉrz{â½{††@×®²@6JS·®ì9Þ£%¦œN9Ìí0s;(.LÑé‡Ü¶“µ“ÂH ‡q«á–§—pJ$|[ï[q´&7Μ±sÀÎÖùT³‹¿Y\Òa©´272“Wµk×Lž<>Djj*nß¾ www„‡‡²8ôõõñõ×_#** ݺuí[·’’‚ oß¾¸{÷.œå1€eË–aÉ’%ˆŒŒÄ«W¯°cÇŒ?гgO€ŸŸ:uê„ýû÷#$$éé鈌ŒÄOž<ùdýTy™™²•Ëbce+tM˜Œìß/›ä^ÞÞ£˜¬[·NáwwwLž<“'O–+ïß¿¿8b#•Jqüøq?~\áx‰D‚~ýúa/J¹éÓe# Êæs²/ê7nÈö¹¸ÈÞ5S”úö•=zuåŠlµ¯l66@ûöïFD>…eËd£A^^À{÷( ds‰Þçî.KÄÞ»GÑ¿ÿ»©8~\öó>‰DöBîÝ;w÷?1~üx|÷ÝwPWW/é ˆòŒ#3¹ÐÑÑÁ©S§Ð¡Cèéé¡\¹rèÞ½;|||`aaQìçÏ9¯ÅÁÁ7nÜÀðáÃacc XZZ¢OŸ>ðóóSxÇ {‰çòåËQµjUhii¡råÊøí·ßðï¿ÿŠu¾øâ ?~½zõBåÊ•¡­­ téÒgÏž…»»{±÷³T8p@6úÒ¥‹ì=-Ù45eïŸ11‘Ú|h}AèèÈÕêÐA¶ÂW¹r@÷î²>Á=*7¯Å‹(ôc IDATÁA–¸ .K¦44d¾õé#]Qrbút`ùr jUÙ{y*W~û Èqâ‹/d‰L¯^²ýÚÚ²ö»t‘­¼Æ{”ˆ¨41nÜL˜0Ë—/ÇСCñêÕ«’Š(Ï$B!^®Ò«W/Àž={Š, ²nÖ¬Yøí·ßàëë —’GeH$L˜0K—.-éPJ¿Y³dI‡¯¯lÄ©Œ*îßQQQHJJÊS]GÇ*ðôŒ‚›[ÞêeËùûãþýûøñÇ‘••…U«VÁÉÉ©¤Ã£2ÀÊÊ =|Gf>#ááá8räÙÄ¢ÏNx¸ì]2€lâ?•µjÕÂÁƒáèèˆo¿ýVécèDŸ&3Ÿ‰~ø¶¶¶¸sçš7o++«’‰HÞ?¶¶²`6oð%"*uŒ±nÝ:ôîÝ'NĶmÛJ:$¢âŸSSS´hÑkÖ¬)éPˆ”35•½t“÷(Q©¥®®Ž9sæ |ùò˜3g0jÔ¨’‹H)&3Ÿ‰µk×bíÚµ%QîÖ®•ýQ™ðÃ?ÀÐÐsæÌºº:FŽYÒ!)`2CDDDDJõïßR©¿ýö´µµ1xðà’‰H“""""ÊÕ AƒššŠßÿ666hÛ¶mI‡D$âDDDDôAßÿ½¸(@@@@I‡C$b2CDD™‰=þ{°âò x^öD†4Wž^çeOÄ$ňõ¢“¢áyÙ×B¯•`´á¯ÃáyÙA±A¬÷ úAžêµ¼Æ—WÊúÁû±`æÎ‹† bôèш/épˆ0™!"¢ò{î‡vÿ´ƒÇ ,¿¼\–ÌdeÀç©-Z°æƒ5’À#ùa2~!~h©i±6t-'bOHƪ(«°¤÷>hñ¤-§ ‡O>åbòÅ2÷ìd߉ÕW£¥¦%%[CUßs¾„$†HÆ®^Áö·SPTÀø]ãI{š&és1saר]RAмö¼Ž_C~EŒ|¹ÚjÚLh7A®±§âNa¦c†‹™‹¤mwänæÏó¢ç’67K7Þw~_¦ yl4i`ÂÚе„&‡²ýÃíedlÿg;«/¬Æ¨ÿkõ‹H`ÒÞIRÅ$Œó‹Ï/RHeì(É™¶š)ŽŠŠ ßÿ=ƒ " €!C†ÔµJo)BÎŒ€€€€@¥èd߉†š Yº-†¹ “ê?Ÿtž+w¯T(çÞã{ŒÛ5Ž'yOpµtÅÕÂuUun¤ÝàbòE> ø„ãŸGGCGr˜?ÙùÙø¸ø`¦kÆÍ´›œO:ÏücóéѤ‡dåYþ3.&_¤¹ysš™6ø1OòŸpùÎeÎ&œeõ…Õ|Ýùk)}ü/û“W˜Ç ƒ0Ð6à|âyneÜbþ±ù¤>NE]E[}ˆŠ² ‡nâfúMv\ÛÁ÷1 Û#‹UVQ$*’ëY70–;˜y^ôœÄ|šûHÚ"ÿdnÐ\ŠDE´±iCK‹–dådq4ú(«/¬.#C^õµôyÏñ=ß>LbV"v†v"±ˆ=×÷`ÙÐO;Ï×ê·ôôR2³3ifÚŒöÛ£ª¬JÒÃ$BCˆÉŒ‘"•µC zhÞ¼9ÇgÅŠôéÓ‡ ÔµJo!B0# P):Ùw¢“}'6†mÄ\×¼LîA~a¾\Á̺‹ëx’÷„…=òaë¥ú6…obñ‰ÅŒ:ÈÈV#%íE™pk½—[ü¾=ü-‘„¥„ÑÍ¡::ìµ] ]®Ü»ÂƒgPSQÃÛÉ›»—îr*îT™`FŒ˜  AX4´ ¨K}6ôáBÒ¾üòK<Ȇ øòË/ëZ·!˜¨.$_@EI…¬œ,V_XX,–”z}Vð €ëÿ^‡V/¯ù ùR @—wº@úÓtI›²’2\þƒ è ™÷¾ÿì~™¶ÍJ%Ú5jGüƒx&´ dì í°lhɽÇ÷ªd,þçù¿×PSq§ÐRÓ¢Cã’¶«w¯¢¥¦Å”ŽS¤ÆÚèÛ0Ìm.mj¯Œm;b­g;û˜Þy:*J*@ñv0e%eµT¡~½šöÂÿ²?»"vÑÍ¡¦:¦jb¨m¨°Õ‡¡¡!“'Oæ×_eÔ¨QV|‘€@5"3uBVNEâ"~ ù¥Ü1OóŸJý]:Ø(¡du¢PT(i[º† è µ ñ²óÂ\×uUu”PbǵRy%˜ëš—i+É«)¯ïIÞ“*Ù#‹šÊ™9wŠŽ¶¥r|ç=Æ\×\h”ÆFߦL[elTRRbpËÁøžóåtÜiÞs|¬œ,NÆžÄÃÖ+=« õ›ê5•FúØs?‹O,F[]›V–­ðiîC§> Û!P½Œ5Š?þøƒ?ÿü“iÓ¦Õµ:oB0# P'4ÔlÈó¢ç|Òî“rÇ8;($ûLü4U592áFÚF’v±XÌŸáÖHå¥ê²§&rf¢Ò£ø÷É¿e¶êiê‘ö4"qQ™@ åQJ9•µqˆë~=ÿ+»"vñžã{ì»±BQ!C]‡Ê¥Ÿ²’2ƒ[fpËÁˆÄ"’²’8š¯~ÅÍ´›|Óå…ì¨^´´´3f ëׯçã?¦aÆu­’À[„ÌÔ;wîdÍš5øúúâææV×êT‰údËÛÂΰ¬9³ßᾸټÙϬ>Ù" GcvF줱Ac|\|Êôßθ-Iè¯,JJJ¨ª¨¢¡"]yMèç=F_K_!¹¯£ºì©‰œ™“±'QRR¢ë;]¥Ú[[·æà̓üvþ7©ím)Rر«ŒœÊÚh¦c†—Á Áddg°;r7Zôp”.£_ž~§ãNÓɾ*Ê*(+)cod­¡-[®laÏõ=’`¦²vT?£FbݺuìÞ½›?þ¸®Õx‹‚™"%%…àà`=zTתÈÅ–-[øã?øõ×_iÑ¢…Tß›f‹¤d¥Ì£œ7ã™m ÝÂ!ðëÈ_iaõŠÿ½a¶ÈÏdÉE1=p:Ã6âjኮ¦.™Ù™ÄÜáú¿×ñê_f;’<´²lÅõ¯óþÆ÷yÏñ=®Ü½ÂÍ´›5È@õÙS93§âOÑÒ¼%Æ Œ¥ÚǺåЭCüò ’/HUÓT+{Ž‹"6uÊ™ø3|ôq÷ã×f\™óyÊÓoʾ)hÐÚº56ú6pñÎEî>¾‹“©“ÂvT?ººº 0€;w2~üxáÜZCfjˆaÆáîîþƬd$''ÌãÇËô½i¶À°6Ãp·ucV2’³’ Ž æq® ÿ{Ãlk=k¶ŒØÂôÀéÜH»Á´RýÍL›)È@q«ÐäPbïDz1l#ªÊªüŸ÷ÿ±íŸmeÎH©jÒžª‘Á´Ló*›ËÐÒ¢%‹½3ÿè|ÂRÂK ÀÕÒ•þÎýù¿ÿ'5^»;vÇDÇ„“q'Êl1{~ݺq<æ8Gn)£Ç½PØšaøðálݺ•°°0Ú¶m[×ê¼%ÁL accƒMýH:¬O¶¼-ØÚ`cX?žY}²¥¾1±ýD©ŠR%xØz ¡ª±ö˯ìfºf2(t6sæðLJ¹zï*7Òn[‹¹®9MMšÒ̬™d\cƒÆ|áù­¬Ê–+ékiÑRÒ¦¯¥Oàø@NÅ")+‰†š édß Ë†–ˆÄ"©Äý×Éö²ó¢zŒ•éûèÝÈ/ÌWÈžÚäTÜ)Äb±¤lõ« i9O[ONÇŸæiþSŒèòNb2cøÂó Œ¤ó|*k£Š’ ‹z.âVÆ-t5tq4v”[¿UW‘™IøÝpR¥ ­®¡w*Õ\Y;ŠÄÅ9I¯Ê¨NNN¸ºº²sçN!˜¨5”Ä%5 ä´×Ý»wWI‰ÜÜ\Ö¬YCpp0b±///¦L™‚ŸŸAAA8p===©kN:E@@‰‰‰¨©©áîîÎĉ133“ŒY·nÛ¶mcÆ °zõjâââ033cìØ±tíÚõUU’››Ëºu눉‰aÀ€Lž<ùµy&ÁÁÁìÙ³‡øøx´µµiݺ5'N”«œaQQ;vì ((ˆôôt éÖ­£GFSóåRziýž>}ÊÚµkINNÆÒÒ’ñãÇãéùò ²éÓ§³wï^’’’pss“̵››¾¾¾åÚ¢ˆ.•y•AII‰©S§²råÊJ_›[Ëš3kŽFŒ/G/¦t‚ßI?‚nqàóèi½â·Op%€Äû‰¨©¨áÞØ‰'bÖ°”œ]ǶKÛØ0fE¬>½š¸Œ8Ìš1Öc,]Êñ¿JÊÎ-ÈeÝÙuĤÇ0Àm“»L~mžIpL0{®ì!>3mumZ7jÍÄÎ1l ‡ÿ‰ŠØ¶ƒ A¤?Iǰ!Ýœº1ºÃh©­¥õ{š÷”µÁkI~Œ¥¾%ã=ÇãéPÊÿvMgïÕ½$=HÂÍÆM2×n6nø÷-×Et©Ìs¨ˆêúý+ôôt²³³åëàð~~éôé#ßx·‹O>%:3šàÉÁu­ŠLêB¿ƒ7òUàW,è¹€ZTk÷ý/RÝ¿›7ofÅŠ\¾| Š/xë133CGçõ‡ ¿†Ýu¾2óøñc:wîLDD„¤-00Ý»wóÎ;ïLAA¤O$1nÜ86oÞ,%'00???Ž;FëÖ­HHH 88˜¿ÿþ›9sæ““#¿eËvîÜ)y!QTv@@ , ?¿øëœ‹‹ ;Ϥ¨¨ˆ±cDzuëV)ù,]º”¬¬,TTÊ–•,áÙ³gx{{"Õ¾sçNV­Zʼn'055•Òo÷îÝ,X°€çÏ_–!ݸq#¿þú+Ÿþ9$%%píÚµ2÷•e‹"ºÈûj“ǹ鼼3)¥ü/"Ýá»yÇä‚c‚)(*åbã6Žcsè+>ˆß)?ŽM;FëF/|$3à˜`þŽü›9ûæó¼”Ý·°óÓ qR%ÙWXppäë°‹å ÿ“‘gR$*bìÆ±l½øŠÿ] `iÐR²|³PQ~ÿå?ÃÛ×›¸WžyØNVZʼné'0Õ5•Òowøn.àya)ÿ;¿‘_GüÊçÝ^øßÝ’$p-E†ÿɰE]ä}õ wkw>hñA]«Q.µ©_Lf ‘Þ  …y‹ ®¨,½{÷fñâÅœ?žnÝd¯ T'uÌÌš5‹ˆˆlll˜1cöööDGG³lÙ2™/Ö?þø#›7oÆÞޞɓ'Ó¬Y3òóó9vìëׯgäÈ‘DEE¡¬üréxæÌ™ôë×Áƒ£££#9©vÖ¬YR/ÑŠÈž7o½{÷fèСXYY½v;Öâŋٺu+ÚÚÚ|öÙg´mÛ®\¹ÂÚµk©h‘löìÙ„„„`bbÂÌ™3iÖ¬IIIüôÓO\¿~I“&±wï^©kæÏŸ··7#FŒ@SS“   Ö¯_Ï´iÓèÑ£M›6eÅŠøùùáïŸ¤€¾~ùI²Šè"ïs¨MfíEDJ6†6Ìè5{{¢Ó¢Y´Læ‹õA?²9t3ö&öLî<™fÍÈ/ÌçXÔ1ÖŸ]ÏÈõ#‰Z%µuaæž™ôkÙÁïFGC‡ƒÙpn³öÎ’z‰VDö¼óèݼ7CÛ ÅJßêµÛ±ZÌÖ‹[ÑV׿³®ŸÑÖ¶-*Ê*\I¾ÂÚàµVOš½o6!q!˜èš0Ó{&Í,š‘ô ‰ŸŽþÄõ{×™´e{?{ÅÿÎÇ»¹7#ÚŽ@SM“ A¬?·ži;§ÑùMÍ›²bÈ üNùáâß?I}í×øŸºÈûꟶÿ´®Ux-µ©_ÌýüÃüè׬®–®µvï·ÜÜÜ ‚Z¡Nƒ™ÂÂB6oÞŒ®®.¡¡¡XY' öéÓ‡~ýú•©ª%‹ùùçŸ177'<<Iß|€K—.åâÅ‹xxxHúFņ /Oÿ}ÿý÷‰%88˜ŒŒ LMM–íãã#×6‘H„ŸŸjjjœ9s†6mÚHÉŸ9s&ªªå?ŽÂÂBüýýÑÔÔ$$$„&MšHú† †““û÷ï'==]j;\¿~ý¤‚ŠbaaÁÂ… Ù´iK–,ÁÕÕ;;;Zµj%µ­:u‘ç9Ô&…¢B6‡nFWS—ÐY¡Xé¿ð¿}èçÚóeøßñŸ1×3'|n8Ú¥|¤õh°ôÈR.&\ÄãRþ×~Æ”²Ûõ}bÓc Ž &ãi¦º¦ Ëöqóa÷$9üO,Âï¤j*jœùæ mlKù_ë˜é=Uå×øŸ¨ÿ4Õ4 ™B³RÏÜ}Nß9±ÿÚ~ÒŸ¤Km‡ëײŸTP1°Õ@,ô,X¸M6±äƒ%¸Ú¸bgüÂÿµ’Ú‚VºÈóê7MŒ›0³ëLœLð²óªkuê-Ý»wgãÆˆÅb¡ª™@S§™o <{öŒž={J™騱£T[bb"™™™1dÈÞ{ï=ºwïN·nÝèÖ­ÿý7·oß–ºnäÈ‘eî]²]ìÁƒU’=zôh¹mÍÊÊ¢K—.RL 0•@vv6]»v• ŒŒŒb¦€ÿ)([nÿ{!ÿrâe Š ÊXWz/žyòDbQ™r¦aI/ž¹þ+þ—|µÌ¶±ð¤p‰N;¨„ÿ)¨‹€€€€@í ¢¢B›6m¸técÆŒ©kuê9uºÍÌÄÄWWW®^½Ê’%K‰D@qNÆœ9sˆ‹‹“oddDçιzõ*111xxxÐ¥KÉ7nÌÑ£Gʽ¨IÙP¼*áååE||<&L ++KÒ—Í÷ß/±_&&&´nÝšÛ·oóí·ßJ*¼‰Åbüüü8~ü8æææ¸ºJ'3.^¼X¼@ñá˜_|ñ={ö”´—”Ä‹¯ÐEuù¯a¢k‚«+Wï\eÉá%ˆÄ/üOTÈœ}sˆËxÅÿtŒèܤ3W“¯“ƒÇ;tiÚEòŸÆF9zó¨B¹5)ŠW%¼½ˆÏŒgŸÈzVÊÿò³ùþÐ÷ûea¢kBëF­¹v›o÷|+©ð&‹ñ;éÇñ¨ã˜ë™ãjóŠÿZ, ^’$óÅöþç\Êÿ4_ø_¦þ§ .µ‡««+7nܨx €@©óÓ¢þïÿŠOå={6´mÛ –/_.)Pº\ñ¯¿þJƒ ˜8q"ÆÆÆ¸¹¹Ñ¾}{ÌÍͱ··géÒ¥ oYªIÙ¾¾¾hkk³yóf¬¬¬hÞ¼9®®®1wîÜ×3P\mMYY™åË—cnn.™«/¿üRÒÿjkkkÚµk'9ȪI“&\¿~777† &תUñaq'N¤mÛ¶téÒ…©S§V«.ÿEþÏç…ÿí›Åt Ú~ß‹é,?º\RU«t¹â_GüJLÜ2ãiƸ-r£ýí1ŸnŽý,{–Yªð–¥š” à;Ìmum6‡nÆê+šÏoŽëBWŒ¦1wÿÜ×3?þe%e–]Žùtóâ¹úÚ‚/w¼xæƒ~,SDÀÚÀšv?´Ãé;'\ºÒdn®ß»Ž›ÃÚ”ò?›þ·e"m¿oK—å]˜ºã5þ§€.µ‡‹‹ ©©©Roj‚:fÞÿ}þüóO ÉÈÈ ,, ‘HÄÖ­[%Û J¤Ó¼ys.]ºDŸ>}xöì\ºt‰ôôtY¶l™$£²Ô¤l(Î;GÇŽÉËËãæÍ›DFF¢©©Éܹs_{Æ W ÄÁÁ¬¬,ÂÂÂHOOÇÒÒ’-[¶0jÔ¨2×üòË/øøøMdd$ÏŸ?§{÷î9rDÊ///ÆŽKAAaaaË,]]þ‹¼ïú>ŽÿÆd<Í ,) ‘XÄÖ [±2xá¥üϪ9—f_¢O‹><ËFDJ—/‘þ$GSG– Z†ºª‚þWƒ²¡¸Rع™çèèБ¼‚úúú¸¹¹UhKEºTå9È‹’’S§NeåÊ• ]ÿ¼ð97R_øŸ…3"±ûYöh©i‘¸´ÿË}L\F"±[#[Lt_ñ‘ÌîdÝÁÝÖ]* *Ýׯ¶ 4dø_dCñA“ñ™ñ¸Ù¸ÉLÂO’NâýDô´ôp0u¨tM\FéOÒ1l`ˆ“¹ ÿÛó-Ë‚–ñϼp³qãÞ£{Üyp++¾ÆÿžfŸO~a>úÚú¸Ù¸UhKEºTå9¼Žêüý“Ezzº¤0IET÷ Þo5ùûÑ¡C>ýôSÆWí²êfff2ߥåd÷bÆÊ½Ê IDAT•+™0a‚¤Lï“'O˜2e éééLœ8±Üëôôôx÷ÝwËí···ÇÞÞ¾Ò}U• `ccóÚ4ÍÌ̤Î`©,888È=ÞÊʪLùkY˜šš–É ªÈ–Št©Ês¨ V_ɯ ´nôÂÿrŸ0eÛÒŸ¤3±óküOKw¿ÆGLì±7)Çî×ôUU6€¡ÍkÐ4kh&uKeq0uÀÁ´þ§oU¦üµ,LuMËäUdKEºTå9(N£F¸sçN]«!PÏùO3ß}÷ß~û­d…"66–œœttt˜9sf]«'PÏùîÀw|»÷[É Elz,9ÏsÐÑÐa¦·ào ˜4—A-1¨Å ºVGà Ffjƒ:Ï™øúë¯ÑÒÒ"**ŠˆˆrrrhÙ²%'NœœL/ PS|Ýók´Ô´ˆJ""%‚œç9´´nɉé'$'Ó Ô'¢3£ù×Höߨ_¦ïÙóg\N¹Ì½Ç÷ê@3úD£FHNN®k5*dÆ 888péÒ¥ºV¥Êܼy???  Ù9“ŸŸ_îøgÏžñË/¿Ð·o_Z´hA‡5jgÏž-÷š€€ú÷ï‹‹ îîî|þùçuúœÿ+3 ,`îܹ$%%‘™™‰¥¥%7®kµÞh>ýôS¼½½+µímeAÿÌí7—¤ûId>ÍÄRß’ÆF‚ÿU…O;}ŠwsïJmE¨=žæ?årÊe:Úu,ÓgodÏ_#ÿÂJ¯â­¡¯ÃÜÜœôôôºV€Õ«W³råJvìØ»»{]«S#ÄÇÇããã#÷øgÏž1pà@$m¹¹¹dffÊ×_ͤI“¤®ùùçŸùí·ß$çççDhh(u²ñŸX™PUUÅÁÁ:L5`ooO—.]ª’PõV¡ª¬Šƒ©Þé 2Õ€½‰=]šv‘Yœ@@@à¿Mõ´kÔk=ëºVEà ÇÈȈÜÜ\òòòêZ•×2aÂâââh×®]]«R%”””pvvæÿûûöí«ðƒö®]»HHHÀÆÆ†­[·rýúu.^¼È´iÓðóóãÙ³g’ñqqq¬]»uuu~üñG®_¿ÎÙ³géÕ«?–·RÛü'VfÞLß>ÌÑè£<ÍŠ£±#cÜÇw?޵¡k™Úi*mmÚ‘Á²ÓËí>š66mØzu+7ÓnbªcÊbïÅ\N¹ÌßQ“ò(uuZX´`¸ÛpŒKîw:î4ë/­—’ýjßW¿ÂÝÚ½Ì}[[µfó•ÍÜJ¿…¶º6ï9¾Gçþe*àU„<¶$f%²çúb2c(bghÇàƒifÖL¦œÊè&Ï<½NGwkwþ¸ü»#vs>ñ¼äºmn“™3SZ^ûFíÙ|e3‘ÿF¢¡ªA×wº2¨Å ™ºÊëõCCC>|ˆ……EkSÿ±··çàÁƒ’¿+úm‹‰‰ŠÓ=Ú·o€––S¦Láüùó\¾|™;wîЬYñïÖž={‰DLœ8‘>ø@2þ矦k×®œ;wŽ´´4ÌÍÍk¼r‚…˜yh&{®ï‘ü}6á,{®ïa„Û.§\&+çåayós9å2--[²èø"2²3p6sà‡“?àæ/%ÿdÜI6†mdýõ´¶*®6˜ù,³ŒìJúæ<,sß-¤î päöNÄžÀÏǯRME¶lûg -¤HüòÛ³ gÙzu+ß{Ïà–ƒÖMÞyzŽ -¸•q €»ïr÷ñ])y%93í·/cskëÖ,=µTꚣÑG¹‘vƒ=HÉ©ŒÔO €â`fëÖ­üþûïÁæÍ›ILLdôèÑÌš5‹éÓ§sàÀÂÂÂ$וPÒwõêU6lÀòåË%ònݺÅúõëINNÆØØ˜Áƒóù矣¬\¼iôèÑ\¸p€áÇKä¶mÛ–mÛ¶±aÖ.]Ê_ý%Y)-ÿêÕ«üùçŸÜ»w[[[¦OŸN·nÝÈÍÍå§Ÿ~âÈ‘#†¶Úò4ï)׸˜|‘Ï÷}ÎéI§ÑPÕPXß?ÃÿÄÎÐŽ©^S1i`ÂÍô›¬¿´ž#·`À–C*-S–-Wï]eÁ±h«k3²ÕH\-\QWQçFÚ 6†o代ßѾq{©-\òê¦È<ÉÒÑ@Ë] ]_Ä×! p ·Í.mÀÑØ‘zÿ€™®7ÓnòÛ…ßøëŸ¿ø´ý§X6´÷úEÉùq999’¶uëÖ(ù[$Ué›7o–:ï+55???Äb1_~ùe•dCqq€HþŽŽŽfòäÉìØ±ƒ¥K—råÊI_xx8ü1§OŸFC£øßáãÇ>|8±±±’qùùù\¼x‘K—.ñÓO?Iò\ÂÃÃ¥‚­ŠèÛ·/¿üò‹Â¶ 2„7òÓO?allLË–-ÉÉÉaÇŽ\¾|ooo©€'99uuulmmËÈrrr’Œ©m„`F@@@@ ÒìŠØÀ/>¿ÐÍ¡›¤½¿súù÷#þA¼ÌëLuLÙ;f/ZjZ’¶ŸÏþ ÀÒ>KÐü勵‹£wŒ&49”“q'éãÔGa}MtL¤îÛÕ¡+îÖî|´ý#v^Û©P0#Ë–Ï÷}ŽH,¨¿d•¤ä~nVnŒÛ9ŽÀ¨@&w˜\iÝv\ÛTnždé/W‘¬õ¬i×Hþ<[C[FH¦Îö)ðkȯ\K½& fõúEÉàÏŸ?—´1{ölúöí[¥óöJ8xð óæÍÃÛÛ› pâÄ f̘Á–-[øâ‹/PRRbóæÍ 8vì‹/¦gÏž(++³aÃÖ®]Ë„ Ð××gÓ¦M´jÕŠ‡2{öl.\¸@`` ƒ¯À.]º”ØØXzõêŤI“$ÕÅBBB˜?>‹-¢gÏžhiiU IõS’+³dÉ>üðCI»¦¦&cÇŽå믿–Ÿ¾¾¾Ì•l===ž>}Z³JË@f*MLf úZúR/ªj*j¼ïü>¾ç|e^çÝԻ̋õíŒÛh©iáã"]…GII‰ánà MåVú­*3}œú”¹oÉ Itf´B2eÙño*J*ûÅb1bÄ”y‘—W7EæI–ŽUÁ»©w™²ææÍ¤¶÷)êõ uuu@:˜?~<ãǯ¶{üïÿcôèÑ’¿}||8~ü8AAAüûï¿XZZVY~éÕ’¯¾úŠ]»v‘••ÅæÍ›qqqŠW¡¾ùæH\\Plw`` ŽŽŽ¬ZµJhiiѯ_??~Ìüùó £S§N¸»»K®­ Äb1aaa$%%IµçååAbbb™-s¯“UWT)˜‰‰‰!66öµ§Ã ÔëÖ­#  ®ÕxKxðàŽŽŽu­F‘W˜‡¾¦¾Ì>=M½r¯³hX6 8¿0Ÿ† eí{!+¿°üsJ(•Û×P³¡Ìv}-}RŸ¤V([²lÉyžC‘¸ˆ Iʽ.¯@º²“¼º)2O²t¬ ²ž­šrñ×w‘øåv!EýC ~QÌ”>ç¤cDzåÀ«‚¬ d5ªÄ¥(mÛJ©PVVÆÂ‚ÜÜ\I S‚•Uq9óû÷ï’’B^^qqq’mXb±Xòâ_òß©©ŠýU•?þøƒ¥K—Ò±cGÉY;¹¹¹œ={– 0räHŽ;&Ùj¦££Ã“'O‹Åe~‡žÓ¦M#<<œóçÏsþüy^¥mÛ¶¼÷Þ{’¿˜4i¿ýö3fÌ`ÆŒ’>===æÍ›WmvT!˜Pˆ–-9úÉQâÄ“ý<›ÆúÑ×ÒçÓ€OâòÒcÿù dï§¶3´cÛ‡ÛÈÌÎäî㻨«ªã`ä ól'S'N|z‚Øû±äæboh®†.Ùü5ò¯rW'¦zMe|›ñ$f%¢­®ƒ‘C¥Ë”× ö\ÈÜîs‰OnA.æºæ˜éš•»!¯nòÎSE:Œh5Ÿæ>Äß'·0WòBeodÏ_#ÿÂJÏJ.y%}¶†¶eÚåõúIe¶™ihh°iÓ&~øáÂÃÃQQQÁÃùsç²bÅŠ*ëòÎ;ï°dÉ6lØ@rr²$O¥¦ÑÓÓ# €Í›7sèÐ!‹ÅXYYñî»ï2tèP™ù7µ««+{÷îå÷ßçÒ¥KdffJΑéÛ·/ãÆ“lÏ+᫯¾ÂÆÆ†Í›7“€––íÛ·ç믿–yþLm $®B8X²g\È™¨k”””˜:uª3#PkÔôï_zz:ÙÙÙrupx?¿túô‘o|u±çú:4î 9[D$±ùÊfŸXŒ½‘=Ç>9V«úÈâlÂYÆïÏœîs×f\]«#ÅY·êàMðšýýˆˆˆ`РAK*} ¼Š™™:::Š^¾[X™Pˆ è ¾=ü-V ­0Ô6äΣ;<Ê-Næ%ÿ–§ÿÉ“™uxV…ãÜmÜùªÓWµ Ñ›O}òÅxð ¸ê ¡¡a#§Vƒ™~øKKKI‰·7™úd‹"¼‰öÿðÃ%,-0vlóºV¥ÊÔ'[ám·ÿ¿Âàƒ‰ÍŒåîã»Ü}|ãÆ|Óåz;õ®cí*GNA—S.W8®¼3aÊRŸüC@1RSS100¨“ÓíÞj=˜qww£^€Ë£>ÙR‹-ÂÖÖVêdÝÞDûøá"îîæõâ¸>ÙR‹…bkÛÑ£]Êô½ ö¿ ôjÚ‹^M{U<°éd߉¸o+®ÔÌ´™\ãªyu{SyüC fIMMÅÒÒ²®Õ¨çÔj03{öìzãÔõÉ–òX´h]ºt‘̼‰öÏžÝKËúQ=§>ÙR‹] K™ÁÌÛ`¿€€€À›Njjª+#PãÔz0S_¨O¶(›hÿìÙíêZ…j£>Ù¢o»ýo÷îÝÃÕÕµ®Õ¨çü'rf 9yò$7nÜ ¨¨'''zöìYî!KW®\!44”'Ož`eeEïÞ½155•’·xñbœœœ>|8·oßæØ±cäççÓ¡C<==eÊ}úô)$''cmmÍ€(**Â××—¶mÛÒ§OŸrmQôžòØSòÌß«ú]»v3gÎPTT„§§'íÚ½|9¼sçþþþˆD"X°`¤oìØ±ØÚÚVéYVe®ªByy……"Nž¼Ã÷)*áädDÏžÑÔ”ýÏãÊ•tBCSyòä9VV:ôîm‡©©¶”¼Å‹/âädÈðáNܾűcIäçÑ¡ƒ%žž²¿R=}úœÀÀx’“Ÿ`m­Ë€‰ñõ½BÛ¶æôéc_®-ŠÞS{*Bžù{U¿k×28s&…¢"1žžV´k÷ò­;wžàï‘HLBÂc,¸ é;Ö[[½*=˪̕€€€€€üÜ»wOêÝI@ &¨ÕÒÌ:::¸»»sæÌI[TT$&FúÐ.+++víÚ…‡‡‡¤-==‘#GrêÔ)©±ÚÚÚ¬ZµŠqãŠK[æåå¡¥¥…:t`Ö¬YRM˜0õë×KÉçý÷ß'--MÒfaaÁï¿ÿNÿþý™2e «V­*×Eî)¯=¯CÞù+­Ÿ³³3K–,‘ÿÑG±qãFTUU ÁËËKæýNŸ>M—.]ªô,™«Š§4³ŽÎ/¸»›sæÌ°R:?`àÀýÄÄ<|Egvíê‡ÇË­téé9Œù7§NÝ‘«­­ÆªUÝ7®ù û ÑÒòÅÇÇ,™5ë,¥ÿ•M˜Ð‚õë¥÷‘‡‡§ñþûûHK{&i³°hÀï¿÷¤ÿ}L™ÒŠU«º—k‹"÷”מ×!ïü•ÖÏÙÙˆ%K.Iÿè#g6nôFUU™{xym—y¿Ó§‡Ñ¥‹M•ž¥"s% ¡4³€€@} ¦~?222ððð௿þ’ú`* ð*oti朜úôéCrr25¢wïÞ¨««sâÄ nݺE¿~ý¸yó&ѯ_?ÂÃñµµ¥W¯^Ϙ0aÍš5£}ûöù/^$00Þ½{ãââ½{÷ؽ{76l`øðátï^ürøôéS|||HKK£I“&ôìÙ“ÂÂBŽ=Ê„ *e“¼÷TÄžªÌ_ .\àÀýRRRØ»w/[·nÅÑÑ‘yóæÑ¨Q#æÏŸ/³@y")¢‹¼sUSääЧÏ’“ŸÐ¨QCz÷¶C]]…'’¹uëýúíåæÍqXX4 ¨HL¿~{ OÃÖV^½l10Ð$>þÄ1aÂQš53¢}ûÒö¥OïÞö¸¸qï^6»wG³aÃu†oF÷îÅ'{?}úŸý¤¥=£Izö´¥°PÄÑ£IL˜p´R6É{OEì©Êü•páB*ÄÑ»·..Ƥ¤Ì±˜c¬¼ŽNöjE÷ºäÔ©SXYYÑ´iÓºVEà- Nƒ™‘#G²xñbBBBpvv–ª€…“'O`èСøúú²nÝ:Ž=J÷îÝ133ãáÃ‡ÄÆÆröìY¾úê+Ú´iSi=FŒÁüùó9|ø0-Z´ gÏž$)ª¤¤T”ÊQöTfþJ011aìØ±ìܹ“æÍ›sçÎöîÝKaa!Ó¦MCUõ¥K888ðÏ?ÿ0jÔ(ìììPVV–œ3SºÔ5#G:±xq(!!÷pvÞ(U+*êšLžìÀСMñõ½Âºu‘=šD÷î13ÓæáÃÿü“Á¨Q‡±³ÓCYYIrÎLuè" PÊJÊxÙy1°ù@ZZ¶ÄBׂÌg™lûgë.®ã§3?1´åPt4Š·H7Po€‹}›õ¥‰IŒ“˜•ȲÓËI aIY“ IDATþ±ùœžtºŽ­ªyNžKKvíz_²íKUU™Ã‡1~|ñøû_—’ee¥CÛ¶ŠÙ§««ÎþýèßÑÑYDG¯†™›7`ÅŠ.ŒuX*©½:¨{*3%xxXâädȲe—9räå–Ç?lÆìÙÒÛ¦Msgܸ#lÝ%iëÒÅFf0£ˆ.a£oÃÆa¥Ú¬õ¬™Ñe×î]ãrÊeâ³âqµ(>å~bû‰ed43mÆšÖà¹Ú“”G)<Ê}„¾VÙü¾úBjj*ÑÑÑ|ûí·u­ŠÀ[B­3³gÏÆÒÒRªÍÙÙ™›7orâÄ É©ñM›6ÅÛÛ[êÔxccc<ÈíÛ·9wî™™™˜˜˜àè舗——¤¼±ªª*óçÏÇÉÉ©Œ%}¥·SAqE¯ØØX%‹ ˆ `Wä.¢3¢)aghÇp·á|ØêCÉŠiÙ­¬Zñã鹞v U º¾Ó•9ÝçTúå·ÅŠää–Ûô“£¼côŽÂs ¯žòÎA‘¨ˆ¿þù‹=‘{Hyœ‚X,¦±Acú»ôg„Û´Ô´*em ¦Rü‘ÉH»âß -5-,õ,ÉÎÏþOÚRœ>ìß? ®Õ©jú÷/==]²Íµ"jêï×QòbÛ·Y_‚nQ$.’êŸÓ}™Ï2YwqT»²’2Æ ™i32³3é°ªƒÌ{¨(©°uäVÚØo·}”ûŸM>dçgs`ܬõ¬)1vçX.ݹ„ÿP<í<å¶¡ ¨€¶Ä•»WÊô)))±°çBF¶)eoo§Þ‹9F‘HÚÞwŒÞaߨ}h«ç ŠÅb¾þûkÜ< óÞÃ\‡ñ}ïï¥d÷wéOÐí ž=—ÛÆ¦ Û?Ü.·]ðú`ÆTÇ”ÃF_K_¡9WÏÊÌÁ²ÓËXIvuÏù=æ3êÝQÚÜôǦežKy70æâÿ.Ê5¶4"±ˆÌg™D°òìJ:Ùw¨…×%œÀÒ¥—éÞ½¶¶z¤¦fsèPæÑ­[£7:¨ßºuˆqmÆ1Ö},†Ú†'3õÀTüBü‰E,鳄îÝQVRfMèþ¸üþ—ýYÞ¯øEGII O;OF¿;g3gŒó8ï1—ï\fÆ¡¬ ]+ fôµôY5`öcÊÞ)콿?B“C™ê5µR À–«[¸r÷ – -YÐsmmÚò4ÿ)»#w³êü*¾?ù=={`¢óòßß‘ÛGÔbŸy|†©Ž)7Òn°àØ¢3£ù=ôw¦ušÀ›8póMMš2£ë \-\ÑPÕàFÚ XÄΈ n9˜VV­$²Þ<ÈÈV#ù¸íǘéšq3í&ÓN#,%Œ[é·hfÖLnÛ®O¿^¦í\â9æ™Ã¦a›$+(ŠÌ¼zVfŽÇGKM‹Ÿúý„‡­ªÊª$e%q êÚêŠU*­NâÄÓk}/Éߪ|ØêCfv›Yáµ¹¹L;8 ] ]fu›U“jÖ9×®]#**Jê€lšFf^àââB^^»ví’jwww—ʨ \\ŒÉË+d×®h©vwws¶n•ÿÐVÚ¦“}'ætŸ#ùÛ»©7ï9¾GPt³»ÏfHË!’¾]f°+bqâ$mÆ Œùºó×ü~ñwæÍåÁ³R«<Ñ™Òÿ&ZX´à»÷¾ã»£ß1fÇÂï†ÓÙ¾3SþŸ½;«ªZ8þ…à "ƒ2£‚#N€s j‰VšcWS3µ«aÝü•¥¥Þk7Í#MsÀÒ,´ÔRJ³TT'TAI@Qy:¿?¸çèñà ™ïçy|Y{íµ×Zû<‡ý²×Ð}†ÞußsaA/áãR¶@„•©~¤e§±ùìf~‹ûÑ>£Õçx»x³xÐbõð¨ÎîY5|ýW÷'46TÌ„D… 0T°þÅõ8X9¨ÏïìޙϞÿŒ€µ쿼_#˜ñóðãßî=vtëÈÔnSYðë.¦_Ô+˜yPxb8ïî}—u#×áioùüªôAeë©O8Y—-6Ò¯E?eC¬½½ôjsì[±ÏTC Š 8“r†‹iéàÚ¡Ü|yEyLÛ>øŒx‚GãVßí‘Õ±.|÷Ýwxyyáã# ®ˆGG‚™ÿ8p ÉÉÉ8p€øøx ¾¾¾ôêÕ«ÆW2« ÍSuoà@’“§sàÀ5âãï Pâëë@¯^î5¾’Y]¨hžŠx¼uq×ïb]6Ÿ®³›æjŒ CŽõ¹™sSvúúiÆ}7Ž¢Ýåæk/Ï=Æw G®!46G+G>yþ“*}O'ÞNÄÆÜFý¿>Íú°ùìfo'j¤û5ñÓº–»;v$dÜ[ÔârúeJJKðÿ²lΉR©D‰Rý€”¬rº5Òž»ènS6_3§0Gßæ©J>ÅìŸf³zÄjZ4l¡q¬*}PÙzêÓsûÌeÆ3質þþx9záëâû—Ù—¥©}SâæÄQRZ­Ü[üqåþ{à¿Lø~¡¯„ê R2ó3™²m Ó.²nÔ:õÆ¿«¬¬,öîÝ«µ˜µM‚™ûØØØ0lذº®F­022bÁ‚u] QS† k^×Õ¨FF†,Xн®«!j©‘©Všêa_ç1 (--Uÿ¼êØ*ŠJŠô ä…¶/àh刉žYó ¹Ú{]Ý̹Éé맸“‡”¬”*¯e@íüµ TYÖÆŠæp<À•×_pïá__‘)‘ÌÚ9‹CW”èÛ•­§>}àåèžiû8|šSɧˆ¸AÐá l-lù|Èç´løðýJÅœ…¡+Fy¢ ¸€…û²ç¦v›ª‘/-;I[&‘t'‰àQÁû@`Ó¦M( \×UO f„BÔ™¤;I4°l@ _ Fúµ;׸šqk3kô’Ò^ßõ:7sn²ð™…|ôÇGÌøa;'îÔÊû0ms6å,‘)‘x»xkûãÊê<÷ »Æëþ¯k¼Iº“DBF‚FÞ¦öM‰IáèÌ£Ô3Õ\ðQ9Ÿzž?Ìàó!ŸkµO¥*}PYúöÂ@Ag÷Îêÿ¼¢<ú¯îÏ;{ÞaÇK;ªT‡Ú¤Z!»Psâüµ;טðýîäßáëÑ_W8 íï"++‹uëÖ1yòäßÊBˆ‡‘`F!Dq±v!îVOmä…¶e+ÝJ>Å¿} þËþý>;üá‰áü«ç¿×aö–öÌüa&³šÍWÿÒk¸Ù ¯AœM9ˬ³XðÌ:¹u"»0›s!l>»… }›inü™É;{ßáÕ§^ÅÁʘÔüº€âÒbZ¨óôÉÉŸO2aó^ëñ>.>Ô3­GZv—Ò/Â8ßqtoR;o,/¥_bÚöi|üÜÇêå­kª*KŸ>¹q$CÛ¥‹{ÜlÜ(*)âèÕ£ÜÉ»£s¨¡.µ1gf展Ü-¸K@ËÙ4ÂÜØœôœt~»üË/Ðxër)ý/my‰‚â¾yñ›rƒÈ¿›5kÖ T*™8qb]WE<$˜BQgÆøŽá`üAî[ÈÂ} Õé­[Ó¢a Ò²ÓÔiâðUøWônÚ›WŸz([p`rçÉGóUøWêým*c|‡ñ„^ åôõÓLÙ6Eëø¼~ó4VñR]ï‡è9¢‘ÞÔ¾)Óžº·aâ°¶Ã8qíÛ£¶35Ds’Ê‹Þ/Vº®ú¸•{‹ ›'p3ç&ÿøþ:ó¨ö™©JT–>}s#†3×ÏèÎãS;ýTwòî°îÄ:­%ÆU†´¢±Ïúˆõ¤g§0|Ãpçìž¼[½4ùßAFF6l`æÌ™X[ë÷vTˆš ÁŒBˆ:Ó¯y?>}þSV_­VÖ·y_f÷šÍK›_RçKÎLföO³q±váãç>ÖxóvŸ·‰ºÅg‡?ÃÇŇnµ'¨ëb¬0fØ ¬_ÍO~*Û0RaB;çvLí:•žž=µÎéèÖ‘Ñ>£ùìðgĦÅbnlN¿æýø¿Þÿ§ÞcÊæ -yv ½šöbËÙ-D߈&·(§zN´rh۶ÃèáÑ£=W¾´ì4E*R•>¨,}ú`û„íl‰ÜBøµp’ï$cnlާ½'#Ú`x;ÝAÁ£0³ÇLÙ6âçó?såÖ2ó3±1·¡c†¶ʳ­dµÉ   ,--?þá{ QdÓLñ·ð¸oš)?Oú¦™OÕ†‘sûÎeRçIu]!jLu¾?NŸ>ÍèÑ£Y²d C‡­…Ú‰'AnšyëÖ-’““yã7ªSŒ5bÿþýòYLdd$nnï=#„¢<………¼ûî»øûûK #êTµ‚™Ë—/“œœÌ²eËjª>BTYtt4ÑÑÑu] ñÉËË«ë*ˆ\H»ÀóÁÏ?4_¿æýX5|Õ#¨QÍù;·Müu•”” P(´Ò?ÿüsnܸÁúõëë VBÜS­`¦[·²qÉ2ÌLÔµ²ñó[€Qu]ñÄI·ÊMÍBˆÇRbb"ï¿ÿ>kÖ¬ÁÄÄD~æÌÖ®]Ë‚ pvv®Ã ! !„øñrð"nN\—ÛÓ³g­”«Új›å™?>GŽaîܹ,]º€´´4f̘A¯^½=zt×P0¬ë !„Bˆ¿–À?þÈÊ•+)..fÖ¬YXZZòñÇ뵯“µEÞÌ!„Bµ¢¢"þýïchhHii)J¥’O>ù„#GŽpþüyBBBdOñ—!of„B!„Zpp0)))”––ªÓ 8qâ3fÌ yóæuX;!4I0#„B!¸yó&Ë—/×dTÛ®ZµŠk×®ÕEÕ„ÐI‚!„BÀâÅ‹)**Òy¬´´”ÜÜ\&MšDVVÖ#®™ºI0SÃTâþøã*?gÎ 8{ölÍVL!„¢‘‘‘üøã—›§¸¸˜¤¤$f̘AIIÉ#¬ºI0#„Bñ„+--åý÷ßÇȨⵡŒ)--%33“K—.=¢Ú Q> fjØìÙ³Q*•ôîÝ»®«"„â1—x;‘ ° ΦTÿmý…´ …wóñÞ«æ¯ÔŽ´ì4‚‚8~íx]W¥ÚvìØÁùóçu¾•144ÄÀÀ †ή]»Øµk^^^uPS!4I0#„BüE©‚™3×ÏT»¬ó©çË‚€[uTÇ_©©wSµ‚™”¬‚‚ˆHŠ¨Ãšé§  ›%K–h¥c``@»víøÏþÃñãÇY´h­[·®ƒZ ¡›35¬¼93III¼òÊ+¸»»cbb‚““cÇŽåâŋ喵bÅ Z¶l‰™™žžž,Z´¨Âq¬B!„xtë9èH×F]Õiª`æDÒ‰:¬™~BC?%33¥R‰B¡ AƒLŸ>ßÿíÛ·3zôhÌÍÍ븦Bh“M3„„ºuëFZZš:-55•ï¿ÿžŸ~ú‰ЩS's–,YÂæÍ›5Êxï½÷ˆeãÆ¬îB!„ÐÍÁÊ@¿Àº®F5]æ÷ßWSZZŠB¡ oß¾Œ=??? åoÞâ¯O‚™G`Ö¬Y¤¥¥Ñ³gO>ýôS¼¼¼¸zõ*ï½÷;vìà•W^áÌÍ!Û·oç“O>a̘1˜™™ÊÌ™3ùöÛo™8q"}ûö­£Ö!DÙð§1;ééÙŽ_;ι?ÏajdJOÏž4±m¢ó¼„ŒÎýyŽ?³þÄÊÔ Ú:µ-·ìöÎí9zõ(Ò.`cnC@Ëê™Ö ¯(ý—÷s=ó:n6n h1c…±Ö5K”%»zŒØôXŠK‹ñ°ó —g/LLk¼_*k展•è^þ`|ÇñØšÛj¤•*K9zõ(çSÏcijI/Ï^¸ÕwÓyþ»7ø=îw² ²hÞ 9½<{é]Çû³7ǯ'&5KKFûŒVçÓ÷žêóy©n;2ó3ùæä7ø¸øÐÓ³§FwŸß­¹-ã;ŽW§—óåÑ/iÞ 9[ |h¤e§±ùìfº6êJ×F]‰HŠ`{ÔvŽ%£¤ôÞj_÷=­Ïä4lØ„—_Å /¼€]ÔAˆª“`¦–åää°wï^ؽ{7ÖÖÖ´nÝš-[¶àããÃÙ³g¹té-Z´PŸ÷úë¯ó¯ýKýó˜1c())aüøñ„„„H0#„¨Sª¹æÆæ¬:¶Šý—÷«) |8ðC†µ¦NË-ÊejÈTÂõÊêéÙ“CW`nl®Q¶©‘)Ë/#,!L÷“ƒŸðý¸ï)*)bòÖÉܸ{C}¬c¶Žßªñ@™ɬ³HÎLÖ¸¦³µ3+‡­ÔzèÖå‹°/P¢¬D¯€…±SºNyh¾/~I^Q^¹ÇŸoý¼F0SP\ÀK›_âXâ1uš‘¡ïö}— 'hœ»íÜ6æÿ2ŸÂ’Buš‹Ï·~¾RmPQÝ…‰Æ}hãØ†Ñ>£«tO+ûy©©vÔ3­Ç†S8œpX#˜Ù³“åG–£0T0¤Í¬ÍÊ~7Ÿ¹~† ° ÞêýV¥ú@5gF5ÔìDÒ BÎ…ž®Ñ7ª`¦&>“5¥l¯˜¹ÌëÉ AÙìºBÔ$ fjÙÕ«W)..Æßß_Ȩ1`Àbbbˆ‹‹Óf  UV@@qqu?éQ!‚#‚É.ÈfH›!8Ös$æF G®aþ¯óéߢ¿ú-JNAá‰á´uj‹—ƒ ,Uʼnk'8ˆGW0»×lͲO“_œÏðvñµ°åHÂ.¤]`þ¯óIÉLÁDaÂ8ßq( ü|ágbRcØ|v3/uz €ë™×™´uYùYx»xãí쉑 Ñ7¢ O ç•WØ÷Ê>¬L­*lãò£Ë5þÂ^‘– *Ìü³û?µÞ̰>b=ã;ŽÇÃÎC³/"‚É-ÌeH›!4´jHÌŽ%ã?ûÿCˆ-Õs6ÎýyŽy¡ó()-¡³{gÚ;·'#7ƒ_baÅÑ•jÃT×~¾õó4²i„S=' Š÷´’Ÿ—šj‡¡!Ýwç—K¿p·à®ºüÃñ‡q·q'éNGвì÷ëá„ÃøyøUªÔŽ #Ú ä\Ýw£‹{ã5õ™¬)eÏ%¾@ê#¹žµA‚™GÄÀÀ ÆÊ¨‰²„¢&•±wÊ^áNsöÌ!ä\IôiÖ+S+¶ßF=Ózœº~Š[9·0VÐ*€äãɈ; õà«DIè”Pœ­(é] µƒ8zõ(Ý›tgíȵ˜(L€²aYÖ à@Üu0³:|5YùY,|f!ã:ŒÓ(ûë“_³hÿ"vßÅXß±¶qf÷™z½™©ŒWŸzUã碒"¦oŸÎ(ïQ¼Óç­üyEy윴“¦öMÕiÁÁü÷·ÿ²îÄ:u0óõɯ))-!Ð/PcXS _ ƒ×®TÝt]{פ]xÚ{j¤WåžVöóR“íðóðcÏÅ=½z”-•ŸEtj4oõ~‹àÁ„%„©ƒ™°„0ì,ìðrÐ\r¸¼>xPg÷Îr.„§?ÅŒî34Ž×ÔgRq3µ¬I“&qøða²²²4ÞΔ””ð믿ЬY3ó~ùå­¡d{÷î iÓ¦!Ä_Á°¶Ã´æmônÚ›s!¤Þ½÷×^CCÖXGhl¨ÎrnæÜÔJÚv¨:P(èÚ¨+Wn]aJ—)ê@ÀÃÎk®g^W§M<ŠÂ@AFn+Ž®@©T¢T–%9E9DýUö‡é ¼æ÷ZŪ©DYBàÎ@ë92¿ÿ|y·¬ÈLì4‘¯Ž}Å©äSê´Óɧ176gF͇hww^ôy‘µÇתÓòŠòXs|F>3#3¦v›ª‘6¤ÍñU¹§•ý¼Ôd;ToY®†1 åŽ&¥¤´??.¥_RËÌÏ$úF4Ïz=«õGÃòú@_5õ™BÜ#ÁL-³´´dàÀìÞ½›^x?þ˜V­Z‘˜˜Èüù󉎎ÆÇÇGcˆÀ²eËÔË7›ššʬY³1bD]4E!´Ül¨¨ÞN—Þ[J~展„Ɔbga‡¿‡?Nõœ012Á6ŸÝ¬1/BE×PÕŒòŽeåg©ÎÈÍ DYÂçaŸ—[ÿ»w+h]™Ú˜3£RRZ»ÞÀÒÄ’E‹Ê}óîn㮕fh`ˆk}W¢nD©Ó2ó3qªç„Â@ñÐ2ò‹ó ÒH³1·Ñ fÊ›œ_•{ZÙÏKM¶ÃÅÚO{OÇ— ! KÃÁÊ– [âçáÇö¨í$ÞNä|êyJ•¥ôhÒCëšåõ¾jê3)„¸G‚™G`Ù²e?~œßÿŽ;j³²²bÍš5Zç 6Œ7ß|“7ß|S#}ܸq2ù_ñØùãʘ™±wÊ^ì-ìÕéJ¥’oN~S+Ãg­Í¬),)ä•®¯”›§YƒfåS©93P¶:ÙÛ{Þ`É %”¿ nÒ$­4¥RÉõÌëX›Þ{ã_߬>7îÞ DY¢ÐWM}&…÷H0SKîÿ÷ôôääÉ“,\¸ÐÐPRSS±³³£OŸ>ÌŸ?ŸV­Zi?gκwïÎòåËILLÄÕÕ•É“'3gΜGÙ !„¨)Œ0Uh.=»òØJ2ó3±1·©ñkvoÜ-‘[hlÛ˜!m†h¿˜vQ=!¼"µ1gF©T2/t9…9,º\çˆûí:¿‹É]&k 5[r=·ro©ç™tpëÀ®˜]|yäKáqIw’عU£Lscójí‘R›÷´¦ÛáïáÏÆSùöÔ·$g&ó¯&e«…ÚšÛâåàÅáøÃ\H»@Sû¦åNî¯,UÜÉ»£u¬¦>“Bˆ{$˜©aeË‚™™æ_…ÜÝÝY»v­®S4,^¼˜Å‹àããC`àã¾—B€¯‹/QFñüúçé×¼§’Os#¦V€W»¿Jhl(oî~“õëñvö¦žY=Ò³Ó¹tóQF<*×ú®–Ssfî[È®˜]Lì<‘G´WçzpŸscs†¬€–hhÕó©ç9zõ(¼Üåeu¾‰&òó…Ÿù<ìsŽ&ÕXÌÌXû­KuÔæ=­évtmÔ#C#6Ù„ÆÛ‚#‚)*)R/Qî6î²íÜ6ŠK‹Õ÷1Ð/°Æ>“Bˆ{$˜©Aׯ_g÷îÝ@ÙÄ!„eý9–xŒË7/³>b=P¶OÊþÃwg¾ÓÚs£&¸Õwc㘼¹ûM¢oD}#Z㸗ƒW<4^L»È·§¿`Õ±U:ó<ëõ¬F03¹ód'fgÌNušjŸÕJfíÛ³(`ó™ODRIx»x3¸õ`þ³ÿ?5ÖŽÚ¼§5ÝKK|]}‰HŠ µckì,îm éçáÇWá_èœ/£/s†µFȹ6žÚ¨Nô üË~&…xœI0SC¦OŸÎW_•}úûûãèèXÇ5BˆÚÓØ¶1~øºj/»I˜F IDAT¤:ÖÞ¹½:ÍÆÜ†Ý“ws îW3®bmfMOÏž¸X»Pª,Õ˜¸_QÙþþXšXboi¯uìÿAAqFZkÇÖìyy§¯Ÿ&úF4yEy8Õs¢eÖx9zi•ñ(Ø[Ø?tX”êa[ÕÝwcj·©N8LlZ,&ônÚ[ke0€‘íGâ×Ä߯üÎÝ‚»4kÐŒÞM{s)ý~4³¯ÜœŒŠîÔÜ=Õõy©Év¨Ìè>ƒÓ×OkmJÙÉ­“ú~tkÜM¯>p¬ç¨Þ0ó~üÁ­s>õ<¹E¹ÇþŠŸI!gJÕš€U0räH¶mÛVcz\MŸ>m۶ѳgOV®\‰“SõÆÜ ý”ÍQÚŒªëªˆ'ÆHFŒ¨½ï¿ÔÔT²³+·#w³fM J•¼…z“ïQ×±²ªòF±ÛäÍL Yµj«Vé. „B!„¨yå¯)„B!„aÌ!„B!KÌ!„B!KÌ!„B!KÌ!„B!KÌ!„B!KÕZš9<<œäääÿíñ!D]{ñÿ„x4Âõ7,B!Ä£S­`¦yóæ˜››óì³ÏÖT}„¨’eË–1iÒ$|}uïÒ,DM ÆÖÖ¶®«!„B<ѪÌØÛÛcooÏgŸ}VSõ¢J–-[†¯¯/ƒ ªëªˆ'Äž={ª³c±B!j€Ì™B!„B<–$˜B!þ‚Åb즱œH:ñH®+ž±›Æ²=jû#¹žBÔ f„Bˆ¿ ôœtN$ #7ã‘\/§0‡I'¸žy]›ËØMcù1úÇGR!„ÐWµæÌ!„âïÁÓÞ“Mc7áZßUv·à.'’NÐãGÖL!Ê'ÁŒB!°4±¤k£®u] !„Ћ3µ`Ë–-¬\¹’eË–áããS×ÕBˆ™É’ß—0¡Ó:»wæÛÓßs#+f÷šÍ?wü“¾Íûòr——Õç¿vœÏN˽¤NÏ.ÈfÚöiø{ø3ý©é©¶, X@nQ.»Ïïæìõ³üy÷O¬L¬ðuõeDûÔ7«¯³¬nº±áÔÎýyS#Sžnú4ÃÛ ×¹7[hl(¡CÉ*È¢yƒæ¼Ôé%­£µÚS~}X;Usfº5îÀõ¬ë\H»@rf²F[T¾;ó ]H‰òÞ=9ˆoOË0¢ýˆrz]!j†3U”˜˜ÈÁƒÉÌÌÔ:öâ‹/Ò©S'y+#„øÛû:âk<ì<ô ¤‘M#¬Í¬ðóðãû3ß“’•‚‹µ G®¡³{g"’"8rõ£¼G–VvN¿‡^ïDÒ‰J3 ,ÔH[ŠJŠ0Vór——iíØ{ {² ²8žxœïÏ~OPX=û‘FYk¯¥yƒæüwàq¬çH̾<ú%›Îlbj·©ê>ÙsqÛ£¶cnlÎäΓñvñƒ §6°öøZ­:ÖD¿–×Î½Ðæê™ÖãßûþÍHï‘¼Ðæ㧯ŸfÁ¯ °0±`¬ïX¼½1Q˜}#šõ'×óÞ/ïÑ­q7u '„µA‚™Zàî»{]WC!jƒ•;^Ú¹±¹Fº_“²‡î°„0Fy"%+…„Œ¦u›Ff~&‡ß{è¾FÛ&Ï˳qÌF”Je¥êf¬0®‘¶ØZز÷å½üzùWÆäVÎ-ŠJŠ0Q˜p2é¤VYMìš2!S#Szyö¢¨´ˆ/¾àlÊYu ²-rˆ,£o³¾êó·̳ëž%!#A£Üšè×òÚù ×ú®ê·6nõÝ´æÓŸ¦TYJð¨`:¸vP§?Ýìi|\}˜´e»ÏïæÕ§^­ð:BQ,˜9pà!!!$$$`llL§N˜6mŽŽŽ¤§§3~üx¬¬¬Ø¸q#ææ÷¾d“’’˜ø€}ûö±sçNêׯ¯q®êØO?ý„••o¾ù&;vìàµ×^Sç÷ññaÙ²eåΙ)))aóæÍ„††’ššŠ}úôa„ ˜™™©ó­^½šï¾û޵k×RTTÄŠ+ˆ‹‹ÃÑÑ‘‰'òôÓOWºßóòòX¹r%D©TâïïÏŒ3 "44T£½÷_7//Õ«WséÒ%^xá^}õÕJ×_Ÿ¾|ðºwïÞeÕªU$&&âââÂäÉ“ñó{ø_k…u# e€Î‡â§?…ÂP¡~¸>œpO.¥_bGôJ•¥¤d¥x;‘q¾ã*u½.î]j´þ÷+¯-éÙéŒÙ4Fç0+([ñKWYª@F¥­S[nçÞV§Å¦Çbcn£È@Y4¸õ`>û\#½&úµ¼vê+òÏH –^€R©DIY Y\R À•[Wª}!„¨H­3¥¥¥Lš4‰ 6h¤ïÞ½›   ~ýõW:tè@Æ >|8S§NÅÚÚšàà` 9r$§OŸæ?þÀÈȨÒeBY1qâD¾ýö[¼!!!,^¼˜ŒŒ  .\ààÁƒiµAu¬¸¸ìË922’«W¯pöìY­üºæÌäää@XX˜FÞ-[¶°|ùröï߃ƒñññUµ1gF¥¼¶ "93™§?Åà6ƒq´rÄDa‚söÌÑÌÜ¿(€Š±aÙ›¢Re©:-¿83›rëÿ šè×òÚ©¯ÜÂ\J”%½z´Ü<ùEù5r-!„(O­3}ô6lÀÓÓ“W_}/// øõ×_Y³f cÇŽåüùóòÊ+¯pìØ1Ö¯_O÷îÝ™2e o¼ñÇgÙ²etïÞ]ï2-ZÄ·ß~‹……ÿüç?éÒ¥ …‚S§N±jÕªJW¸ß'Ÿ|BPPÁÁÁ©°±Ñý àÝwß%,,Œ† òöÛoãååÅÕ«Wùøã‰ŠŠbúôéê·=*o¿ý6Ï=÷#FŒÀÊÊŠ]»v±víZÞyçJ3ï¼ó‘‘‘¸»»óÖ[oáééIll,K–,Ñ„©¼ÿþû 8Q£Fáêꊻ»{•꯯ùóçÀ˜1c033#44”5kÖðÆoпZ¶lY­ò…–¿§?gÃΙIøµp†¶ @—F]0Q˜päêΧžGa¨PO:˜Úœ3SžÈ”HlÌmøfô7ÜÛk:·(—ôìtÌŒÍ*8»bV$ÜJàNÞ­à%êF”Îsj£_Ëc@ÙÊkº~W:[;SXRÈWÿBa¨Ðy¾…]µ®/„S«ÁŒR©äÓO?ÅÉɉ“'Obkk«>6lØ0lmmY¼x1áááê@eÅŠœ9s†×^{„„¾üòKFŬY³ô.³[·nallÌüAçÎ5ò¾ýöÛê!kúðööÆÃÃ__߇ƒ*..&88333ÂÂÂhÑ¢…úØ‹/¾H«V­øñÇIMMÕ"7~üxÖ®½7ôùçŸçòåË|¸:QiÞ¼9=zôàÀ:Ï0aBÔ__“'OÖ™¶páBÎ;Wår…uÃ×Õ+S+ÄÀDaBg÷{ßÃ~Müøè²À*;Ä jwÎLyú6ëKDRC¾Bˆeoˆ2076ǵ¾«Ö’Íú˜Òu ;¢v°ÿò~º/½'¹¤d¥ÐÚ±µz¸Øýj£_Ëãaï¹±9;¢v}#Z=$î»qß1¥ëö]ÞÇwg¾ckäVšØ5¡ži=Ò³Óùó”–<*¸ÚuBˆŠÔj0“ ”¿ýö[¹ùîŸ`llŒBQöʺQ£FXZZV©Ì¼¼<4¨ÞPƒ’’Ê i(O~~Ù˜aÕbR¥«ò=˜~?“JÕIÕöò†¾ÝÿFëAnnšËhVµþºTTo]uU•­jâñ¡0PÐÕ½+¿ÅýF'÷N“Îý<î=t÷hÒ£®ªX)“ºL"!#­ç¶ª÷]ñ´÷ä“ç>á½_Þ«V0ãhåȆ1˜½{6—o^&úF4F†FLê<‰ ZðÎÞw´Îy”ýjfdÆ»}ÞeÑo‹¸”~I㘅±ßýž¥—²#jq7ãÔÇlÌmx¡Í ´qjSí:!DEj5˜quuÅÀÀ€Î;³dÉ’ró5oÞ\ýÿÂÂBFŒAVVÆ cÇŽ,Z´ˆ÷Þ{Oï2ÍÍÍ100àĉal\þÕƒtzzºVð­•_µƒse†;8;—M¶}šK—.ѽ{wz÷î­þ׸qc~ùåáR¯¿þ:|úé§lݺ•^½z±`Áöï߯w™vvvøûûsåʦL™BFF†ú:ÙÙÙ|ðÁ”––­*Ó´iS–-[¦N+..æý÷ß×ù®ZVøÊ•‡/;Ù°aC:tèÀÅ‹™3gŽz•/¥RIPPûöíÃÉÉ ooïªts¹×ôööæôéÓ|øá‡mš;w.qqq)¡êõ×·/U-Z¤^ lcÒÀÀ@žyæ=Z/„¨m6æ6tmÔUëaúAªýI|€600 ‹{º6êŠÂ@÷äñG¥²m±1·ÁÛÅ[È@ÙrËÝ:Vª,Õ1G+Ýs ›Ú7ÅÛÙ[½@C«†tmÔUç$úªôëÃÚiibI×F]unrialA;çvê²d¬0¦•C+|]}q¶v–@FñÈÔú·Í_|¥¥%Ó¦M£AƒøøøÐ­[7œœœðôôdñâÅê¡G›6mbåÊ•¼øâ‹Ìœ9…BÁæÍ›qttdìØ±$''ë]æ²e˰°°`Æ ¸ººÒ¶m[¼½½±··gÞ¼yê‡í1cÆ`nnÎêÕ«qww§k×®899ñÑGé 2|}}˜6m]ºt¡wïÞ¼þúëåöÃG}„¡¡!K—.ÅÉɉ.]ºàìì¬^Øà£>ªÒbùÏþ”­¤æì쬾æÒ¥KÕ ¨†ó=Œ>õ×·/UÜÜÜèÚµ+­ZµÂÛÛ›-Z…/¾øbuºB!„Bü Õz0Ó¶m[Ž?ΠAƒÈÉÉ!22’ãÇ“ššJóæÍY²d &&&ÄÄÄ0mÚ4Zµj¥±‚—““[¶láöíÛŒ5Š¢¢¢J— eAÇáÇéÑ£ùùùÄÄÄpîÜ9ÌÌ̘7ožúaÞÉɉuëÖQ¿~}RRR8qâFFFìØ±ƒ¶mÛjµËßߟ‰'RTTDDD¬p¹ã¾}û²{÷nš5kFFF¤¦¦âââÂÆ?~| ÷|Ùêgß|ó vvv¤¥¥Aii)ß~û­zØ–ê ÓÃèS}ûRåóÏ?gÈ!ÄÆÆrîÜ9 éÛ·/{÷îUßO!„B!T ”UÙhåT«‰Ý¿ŒoE233‰‹‹£´´”&MšÐ°aCõ±K—.‘’’B‹-tΉŒŒäöíÛx{{kL^¯¨Ì¥¦¦’@ýúõiÖ¬™Î94ùùùDEEaddD›6m011áÂ… ¤¦¦âçç§õö$--+W®PPP€ >>>$%%qåÊ|||tNj‹‹#55;;;Zµj¥5G%>>žk׮ѩS'­`Cu¬sçÎ #T¤°°P=¼«uëÖ”––âé鉹¹9 •º®>õW©l_Ι3‡%K–pæÌ|||¸~ý:×®]ÃÕÕ•FUª1hРJ墺fΜ‰••U¥¿ÿô•ššª^ðäaš5kJPP*ƒU.¿B¨È÷‡¨kŽŽŽ•þãºÛj}ÓÌûÕ¯_ŸŽ;ê<Ö¢E ­eïWÞð¤ŠÊ|££ãC÷A133ÓZÆÙËË ///ù´–HvwwÇÝݽÜk4kÖŒfÍš•{ÜÓÓOOO½éòÙgŸ1eÊ:tè@VV3fÌ 55•iÓ¦U©ì‡Õ_Eß¾Tquu• ÿB!„â¡i0#½÷Þ{9sæ¨ßD]¾|™ÜÜ\¬¬¬xûí·ëºzB!„BT™,7ò77{ölÌÍÍ9þ<‘‘‘äææÒ¾}{öï߇‡Çà B!„â/JÞÌüÍ-X°€yóæqõêUÒÓÓqqq¡qãŠ÷…xÔ¦NJ@@@¥†® !„B¡"ÁÌÀÈȨÒó\ꂾó€„B!„f&„B!„xLI0#„B!„x,I0#„B!„x,I0#„Bå—K¿•ŸEóÍ ô ,·ß*ÛžGMŸû­rôêQ>;üR/`abA¿æý˜Ýk6vvùôí#!„¸Ÿlš)„¢F9X9`oa@QI/m~‰SɧÔÇ K 9–xŒðká,|f!c}Çjœu#Š¥,¥°¤€¼¢<~ˆþäÌd¾÷½:ŸR©döO³Ù³Sãü‹iYðë.¤^àƒh;›r–ÅS¢,Q—ýñÁ152%='Õá«ÕyãoÅ3kç,šØ5ÁËÁKïö0î»q\H» Î}#šiÛ§1¨Õ ­~«J{tiùQKJJKš eÂ_ ¯TÞòÜ¿UN_?Íâß«ë‘_œÏÖÈ­œJ>ÅÀÂØп„âAÌ!„Ð[Ô›QZi‡3wï\¾~ñkõ”§7r*ù.Ö.,xf]Ü»p·à.ÛÎmcù‘å|ðÛôoÞŸ†V ÕåìŠÙÅXß±¼Üåeë9s#†7v½ADRR/àåXXìŒÙÉΘ´lØ’·ž~ ogoLL‰¾Í¿÷ÿ›-‘[Ñ~¾®¾ê²¾ð3“:Obb§‰ØYØq0þ ¯ï| ° J•¥|8èCú6ë‹¡!+­d݉uŸfésKõnφS¸vO{Oô_€«¹¬ _æ3›´ú¯*íyT*{¿Uö^ÜËðvÃùg÷â`å@ôhüº€ØôX¾:öoô|@ï>BˆI0#„¢ÚÂÃywﻬ¹O{Ouúž e‹r½„‹V¦Vú’–Ææ³›ù-î7FûŒVŸãçáÇ¿ü[ýsG·ŽLí6•¿.àbúEu0‚ÂPÁú×ã`å ÎßÙ½3Ÿ=ÿkØy¿ÆÃOÏžÌí;Wýs@Ëú5ïGhl(ïö}—‘íï-hóVï·Ø¹•¸[qUjOèÅP X1tÍ4À¢¾ ,$ávG¯Õèê´G—Ø·b+<^Ê»ß*Þ.Þ,´X=,®³{gV _EÿÕý U3úö‘BBˆÖu„B<~.¥_bÚöi|üÜÇttëXn¾A^e+RÍÚ9‹?®üAvA67îÞ`ù‘ål>»… }›õ­RFz$¯( ›'p q=ó:¿ÇýÎŒfÔø0%}ÚÐ*¥RÉŒfp,ñ¹E¹$g&3ÿ—ù:ëUSí‰}+–¸9q•úWÙ·2•½ß*‘)‘¼³÷o'’W”ÇÉ䓼ºãUŠK‹ h Î§o !ăäÍŒB½Üʽń͸™s“|ÿyTûŽŒï0žÐ‹¡œ¾~š)Û¦hå›×ožÆJfúÖv'®`{Ôv¦†LÕ™çEï«TvyôiÏ„ŽØ³‹ iÿýxužõz–Ÿ/ü¬qn]´§2ô¹ß*-ø!úBÎ…häkjß”iOMSÿ¬o !ăäÍŒB½¤e§iLНˆ±Â˜ c6舧½'Æ c,M,éÖ¸Á£‚µö˜Ñ‡Kž]BÐ AôhÒƒúfõ1VãnãNÿýY9l%=Bˆ(ïŸM)„â/!55•ìììJåmÖ¬)AA© T¹üB¡"ߢ®9::beeUÕÓ·É›!„B!ÄcI‚!„B!ÄcI‚!„B!ÄcI‚!„B!ÄcI‚!„B!ÄcI‚!„B!ÄcI‚!„B!ÄcI‚!„B!ÄcI‚!„B!ÄcI‚!„B!ÄcI‚!„B!Äcɨ®+ „BüU¤e§±ùìfº6êJ×F]ëº:5.&5†‹iIÏNÇÆÜ†ÎîijßTgÞ•ÇVRTR¤óØÓMŸ¦s;ÇŠK‹ O çòÍË+Œñqñ¡­S[ ñv¢Ö±€–,}n)æÆæé_ý’¼¢<å5°l 3˜9™|’ÿûéÿHº“¤‘Þ£I¾ýúçÌüL‚‚052¥_ó~Ô7«¯UÞWá_±3f'ÓºM“`F¡E‚!„âë9þí´s>ä‡IDAT€³)gI¼H[§¶4oМ†V ‰¿ϸ„ƆbnlÎÒç–jçlíÌÈö#µÒÛ9i21©1LÚ2‰¼¢<<í=ñ÷ðÇÔÈ”“I' O ×Y/ww’î$ñÓ…Ÿç;NãØÝ‚»üû lqíε*¶\ñw'ÁŒBñ?VúÖu5j\¿æýÑ~li¤N8ÌË[_æ§ ?ñÁÀ0Q˜hw±v©t¼»ç]òŠòç;Ž÷û¿ÂP¡>‘¡óœ– [bmjͶÈmZÁÌîó»É/Îgxûá|vè³JÕAñä‘`F!„Þ*šO0¾ãxlÍmÕ?ß-¸Ë¡øC$ÝIÂÔÈ”¶NméìÞYãœÄÛ‰ìŒÙIOÏžø¸øpüÚqÎýyS#Szzö¤‰m×*Q–pìê1bÓc).-ÆÃ΃^ž½052ÕÈWTRÄá„Ã\»s ¥RIcÛÆtoÒ3#3u]sfômkeëó(µwn¯3ÝßÃO{OânÆ‘S˜ƒ‰¹‰Î|s6å,1©1¸Õwã½þïi2€Ö½¾ßˆö#X¸o!Ó.ÒÊ¡•:=ä\^^x9xU©NBˆ'ƒ3B!ôVÑ| €ç[?¯~À å=ïp·à®F_W_V ]ƒ•PÌ…anlΪc«Øy¿:¯ÂPÁ‡?dX»aeD¦D2kç,’3“5Ò­Y9l¥zâydJ$ÓwL'=;]#_Ë|>äsuà¢kÎŒ>m­l}*òEØ(Q>4€…±SºN©T^]JJK¸“wgkg€L%¯(1;IÉJÁÖܶÜTÃÈžoý<{.îáÚík8X9ÐÓ³' ,”[‡ÁmóáÙµ¹}çeÿÏýyŽ÷û¿_å¶ !ž Ì!„ÐÛ?»ÿSëmEAqë#Ö3¾ãx<ì<¸v×w¾Nqi1íœÛÑÉ­Ù…Ùì¿´Ÿ3×Ï0ã‡lýÇV ÔåG“]Í6Cp¬çHÌŽ\=Âü_çÓ¿Eê™Öàzæu&mDV~Þ.Þx;{cbdBôhÂÃy%äö½²+S+ÿ¾˜ôìt¼¼èÖ¸F†F\½}•°„0.¥_ªpŽLeÛªO}*²üèrJJK*uX6¨V0³>b=7sn²(`‘ÎãçSÏóæî75ÒZ°äÙ%XšXªÓï”-,àlíÌõCˆMU352e^ßyŒñ£óõÍêÓ¿E~Œþ‘·Ÿ~#C#¶Û†±Â˜Á­súúé*·Oñ÷'ÁŒB½½úÔ«?•1}ûtFyâ>ï¨Ó×_Kqi1“:OâÝ>廙–·z¿Å°o†qæú¯…óTã§4ÊÚ;e/nõÝÔisöÌ!ä\IôiÖ€Õá«ÉÊÏbá3 ×As¾Å×'¿fÑþEì:¿‹±¾cÉÈÍÀÃ΃“vbhpo‹µŒÜ 2r3j¤­úÔ§"3»ÏÔëÍLUý÷K.å9¯çí3Z븴ujK;çv˜™ŸÏá„ÄƆRXRÈê«Õys sXul™ù™Œh?s"S"‰HŠàý_ß§iƒ¦tq.#Úàç ?óÛåßèÓ¬?FÿH¿æý°1·©rû„O f„BTK‰²„À8Ösd~ÿùÇN%ŸBa àÍ^oj¼}±5·eúSÓ™»w.§’Oi3ÃÚÓdz7íMȹR寧ӎ&Ea  #7ƒGW T*Q*Ë‚€œ¢¢þŒ_ÐrÁ'‚Ù¹•>Íú¨‡¶ÙYØagaW#mÕ§>yÍïµJ×§ªö^Ü˻ޠO³>|üüÇ:ól»ogo´ ©÷ý8ÄИ㢚”S˜Ãž—÷àZßU}Χ‡>åË£_²áä†rƒ™MzàlíLHTJ”Üλ­s5!„x3B!ª¬¤´„7v½¥‰%‹i,YY8ÔsИd¯¢ZY+3?S#ÝÙÚY+¯ê Dqi±:-#7ƒe Ÿ‡}^nýTót^÷F6ø1æGí_„…‰¾.¾ i;„A­ÕH[õ©OEj{ÎÌÖÈ­Ì Ç3-žaÙeê~x0ðrôbhÛ¡|sòbRcÔÁŒ*8ìߢ¿F 0¹ód¾<ú¥ÆÐ³2´íP¾ ÿŠ[9·p´rÄÏÃO¯v !žLÌ!„¨’Re)oïy€%ƒ–h ßR±6µæÏ¬?É/Î× hT{‡èÚ,±2¬Í¬),)ä•®¯”›§Yƒf@ÙÃòˆö#Ñ~¥ÊR®f\å÷+¿ó¯]ÿ"æF ÿ×ûÿ*¼V¥ÚªG}*R›sf¾ ÿŠ¥,eP«A|6ä3ЇŸT ­[?4σÁ߃F´ÁÊc+9÷ç9^}êU},„’`F!„Þ”J%óBç‘S˜Ãò¡ËË}(îèÖ‘1;ùìÐgóKîäÝauøjužªèÞ¸;["·Ðض1CÚ Ñ:~1í¢z±€ßã~§§gO† ñ´÷¤‰]6žÚÈö¨í3•m«>õ©HmÍ™YòûÖ_Ãà6ƒYúìÒ ™¨?£p³qÓZáìBê~ŒþÐ `zzôÄÌÈŒ}—öñZ×4ÞÎG#žCñ‡()-¡§gOàÄÊÔŠWº½Âa_ðlð³´ ÐX@a¨`r—É­çøŽãk®ÑBˆ'‚3Bñ˜{Èèw1í"ßžþ([½J—g½žÅÖÜ–ÖŽ­Y6dïìy‡È”H"S"ÕyTûÌŸx-bjj#õz2==’ºÃVà/,.öçéÓþÌ̬§»Û^*å3-bpp/óóŸòæMO<jö8À³¼Ü•»wgrrÃÿib …œ9óGfg?gaa0s!$yû¶+““¿d||'SS_š=웎fÀþº|¹–¶Ü»7œ÷ï;sÿþç=ªjà°Z\ìÏÌÌñ\¼¸“¹¹µ´9ʦ…x9´ k×¶²°ð)KK=¹zõD–—»š=ð?[_oÏ;#¹}{$7onæÑ£Õtu9Ø µˆ€uá·,.þ–¡¡½Ü¸q"ÓÓ£ùð¡³Ùcÿ±íí¶ÌÏfbâ×¼~ÝÇWsëÖ—T*Íž ö_¥Ñ°Q pЬ­­¥V«íÛó½xÑ›ÙÙ¡¬¬tæüùo™˜ØÉÙ³ßsòänö¬@Ájµ¶¬®väÝ»#YZêÉó罩×+©V7S­n¸µŒmtt4}}}?ûð'bàÚï˜I’½½äåËÞ<{Ö—W¯zòõ«‚VÒÞÞȹsßséÒv®\ùÝbR„3.8$ÚÛ“ññíŒo§ÑH>~ìÌÊJG¶¶ÚÒhØ?RõöÖ3<¼—S§~äÈgÔ.bàªT’±±ÝŒí6{øiv €"‰ Hb(’˜Š$f€"‰ Hb(’˜Š$f€"UF£ÙCüCO|3IÌE3@‘Ä P$1IÌE3@‘Ä P$1IÌE3@‘Ä P$1IÌEú ¡qê׌©IEND®B`‚fio-3.39/examples/zbd-seq-read.fio000066400000000000000000000005011476262051600170250ustar00rootroot00000000000000; Sequentially read 40 zones of a (zoned) block device, reading only ; written data from the 524th zone (524 * 256M = 140660178944) [global] name=zbd-seq-read rw=read bs=256K direct=1 numjobs=1 zonemode=zbd zonesize=256M read_beyond_wp=0 [dev1] filename=/dev/sdd offset=140660178944 size=10G ioengine=libaio iodepth=16 fio-3.39/examples/zbd-seq-read.png000066400000000000000000001420111476262051600170370ustar00rootroot00000000000000‰PNG  IHDR ¦VbKGDÿÿÿ ½§“ IDATxœìÝw@GðwGï½J‘*( ØE± X°Dc‰ŠF“¨5jòYˆ-°G@Q@D 6zïí@Št„ã¾?×óÀó@ð8x¿¿vgggÞÝ}š™™ 'Nì©B¼ƒ·öB¨{ì۷ȢƌsÿþýÐÐP^…êYxE !„ºGjj*±±dÉ{{{bûêÕ«  ££Ã³ÈB=)„z#''§·oßvxèÒ¥K `+ ½páN×ÓÓûî»ïLjmm½zõê;wjjj,,,\]];Ill¬Ojjj]]šššÁäÉ“---Yëdeeýû￯^½ªªª’––>|øÒ¥K•••Yë´#%%…˹GlÂîß¿åÊ•¢¢"777kkknxöìÙÖ­[É]aaa%%¥‘#G.X°€íÞh×¾®Ã‡ûûûWUU‘»×®]c«Ã6G*--íúõëqqqoß¾•””455uqq111á¦;„P/ÂDõ>f>%''3™ÌS§N»òòòÿûßÿX+ ^¿~h§¹¹yÚ´i¬GUUU<Èåo€'NtÃ7ß|CÖÙ³g•Je« ..îããCÖinnvttìr¬vß¾}äY·nÝâ2€{÷îuøAäå壣£YãìÚ×õÝwßuØ>«ßÿ¬¿cÇö™ eãÆ­­­œ¿ „P¯‚‰B½QDDDè{>>>RRRÄßZQQÑ¢¢"&Kn!((¨¦¦vöìYŸQ£F…bbbyyyL&sÿþýäé-[¶øûûoذAXX˜Ë FII‰¨¶gÏžû÷ï_»vÍÍÍÍÜÜÜÁÁ¨pòäI¢‚Ю]»ýõW"E ÑhÏŸ?'ª‘ÙO× ?,•J•””üý÷߃‚‚BCCËÊʸ  ¼¼œü>ƒƒƒ¯\¹bkkKœhhhHæ.]þºRSSCCCi4QmÛ¶mdwjjjl‰”»»;kæäïï¿}ûv2¯úã?8¡^)„zµÊÊJ âO¬°°pPPQNæpÿþ}¢°¼¼\LLŒ(tssc2™Äî¢E‹È6gϞ͖Lš4i‹… åâââDF’™™ÉNg2™­­­êêêD;»wï&.Y²„(œ7oQBVëZ¬ÖËË‹lûÚ+//'ÛLHH ¹üº>…L¹<==ɲ&R­­­ªªªí{Y»v-Q(++ÛÒÒ¹#„Pïs¤ê½jjj^¾| ‚‚‚ÞÞÞ“'Of«# 0aÂb[NNÎÜÜ<22^¼xQVVVPP@b}öÞÎÎîæÍ›¬„‡‡ëÈ¿ý“&Mº}ûvssóÀÕÔÔôõõMMMíìì¦OŸyyyÄ IàëëJlçååÿý÷”––’Õºë‡9s&¹Ëe„/^øùù%''WUU577·¶¶’‡rrrLLL¸ÿº¾D^^^qq1±Í:šöööÄÔÊÊÊÔÔÔAƒuW¡…‰B½T}}=± P©Ô«W¯Î˜1£}5QQQAÁ?È’’’ÄFCCñ°ABB¢}Ï:w¤¤¯¯o]]]QQ±xÕ‰'Æ÷ðáÃúúz²f\\\ûÓ+** ±±ñ à ÉÊÊ ‘»\{öì!'¶·G|Q_þuqƒ5fÖ–Y·Yë „z9L¤êšššfΜ ÅÃÃcÞ¼yÖ¬««+))QQQ!v‰µ@CCCII‰F£577³–@FF[#<`½B#**JlÈËË_ºtÉÃÃ#===++ëÅ‹û÷ïoll {üøñ¨Q£¨T*ƒÁ€={öŒ;–­YbÞÏ—‡ñ)ÜPQQ±gÏ¢dÚ´iË—/—••mhh`›ÿÎ}œµµµäœôC‡1‚sœŸŠ9==½}/ ¥ýS™¡Þ‹×÷BìXŸ£P(gΜi_‡uÚÐ÷ßOL—¾rå YxóæM&“éàà@ìêèè3™Ì‚‚r&ÐgìܹóñãÇä\즦&===âÄ‹/2™L2Α#G–––’'º»»OÕ}y¬Oí±â&Ö¬èîÝ»D……äó}\ÆYYYI–Ü»wì”›9RL&sêÔ©d/Ä£oÞ¼!>°µµåüm „zL¤êuX/THJJŽûXnn.“%·’’2550`€‰‰ …B! ÇŽË`0˜Læ‹/È¿îÆ ·²²â2ƒ!’111###+++EEEâ,QQQ"Œ¬¬,rê´°°°¹¹ùСCÉjäh/_¾ü’08$RÜÐÚÚJf3ÂÂÂ#GŽÔÖÖ&ŸpdM¤¸üº¾0‘ÊÈÈ ‡6lùT¦¬¬lRRço!Ô«`"…P¯ÃšHµ×~©üü|b—B¡Ì™3§ªªŠl-44TWW—L€öìÙãããÃeãåå5uêTÖiI0lذÐÐP²NqqñŠ+ˆçûHÚÚÚ7nLIIé–08$R\Àºˆè”)SÈßÀ’Hqç&RL&3??áÂ…¬ +Ðh´9sædeeqþ*B½ …Éò~M„PoÐÐÐ@Ì1ïЈ#ÄÄÄŠŠŠÒÒÒ€F£3²²²ètº®®.Û’âÀd2“’’jkkŒŒ¤¥¥ËÊʉCärJ477ççç kkk+((´¯Ã`0ÒÒÒ***¤¥¥ÕÕÕeeeÛ×a ãÆsçÎ%q ý‡íZ¹¹¹ÅÅÅL&“|±‰‰ y«}œí¿®–––ˆˆ¢dÈ!rrrÄvxx81ÇËÈȈœµöôéSò1ZZZ¬ñ455¥¦¦VWWKJJŠˆˆpøB½&R!Þà>‘B¡^‹ý!„BˆK˜H!„BuÞÚC!„ê"¼"…B!ÔE˜H!„Bu&R!„B]„‰B!„Pa"…B!ÔE˜H!„Bu&R!„B]„‰B!„Pa"…B!ÔE˜H!„Bu&R!„B]„‰B!„Pa"…B!ÔE˜H!„Bu&R!„B]„‰B!„Pa"…B!ÔE‚¼!Ägètzmm-¯£@¡!!!¡¬¬Ì}}¼"…B!ÔE˜H!„Bu&R!„B]„‰B!„Pa"…B!ÔE˜H!„Bu&R!„B]„‰B!„Pa"…B!ÔE¸²9Bˆ7˜L(( åç VWS™L^GƒPÏoUP`èé½Âñ}&R¡¯ŠÁ€ÇÅ$ž<{û/Š£~‡JeÖho_7kV´t+¯ÃA_ŠÂÄÿ "„:ãKÞµ"¾¿|^mäÈ;»z ‹F-­fii†&T¨¨«()¡&& ‡‡‹=|(ÞÚJYµªjÕªJQQüCÜ‹tö]{˜H!„:§k‰Tn.m×.…ÿþ›>½vÆ -­æžˆ !~QW'píšÔ‰²RR­¿þúÆÞ¾Ž×¡6øÒb„P¯)êì¬Q^Ný÷ßÂÇé˜E!$.ÞºjUUppž•UÃÚµ*ý%‡—5ø&R¡žåå%µ|¹ªMý…––¼¡^DAqà@éÁƒ¥çÏˬ_¯ÒØHáuD¨Ó0‘Bõ €‰_UüᇪÇéÂÂø?n„:àì\séRQt´è–-Ê­8ûœß`"…ê)ññÂ;v(-_^åêZAÁÿi#ôiÇ7ž>]üè‘Ø‘#r¼Žu&R¡QUE]µJuôèúmÛÊy B|ÀÒ²qïÞ²Ó§eïßçu,¨0‘Bõˆ#GdàðáR\Ú!.9;×Ìž]³oŸBC^Âåø!ÔýÒÓ…®_—úé§r œñP'üôSyMÀÙ³²¼q )„P÷ûë/9SÓw3gÖð:~a÷îÝzzzzzz .ì‰ö“““ÝÝݧOŸ®÷ÞáÇ{¢#òòŒ~¨<{V×ýç8N¡nVR"øø±øÊ•U8Á¼())™>}º»»{rr2¯cé/.¬`Þ¾-Éë@W0‘Bu³à`qQÑÖ‰q¥æ¾€B¡¯_¿ÞÏÏO]]×áô ââ­“&Õá”s~/-Fu³èhÑQ£h4\5ª/PVVàuýÎØ±õÛ¶)½{GŸ£Þ¯H!„ºYJŠÐ AM¼Ž¢ÏJLL\¾|¹™™™……ÅÚµk ;¬V[[{êÔ)gggsss##£±cÇnÙ²%55•¬àââBLx:pàë‰6l Ê7nÜØ³Ÿ}š©é»–Jf&× ÏÃD !ÔÍètªªj ¯£è›ž?îââ^WWWSSsÿþý9sæ”””°UËÍÍ:uêÿþ÷¿¸¸¸ÚÚÚ–––âââÛ·oÏœ9óÞ½{DrfºŸŸƒÁ ¶«««ƒƒƒ‰íE‹}•Ï„: ¢Òeex׈`"…êfbbx?¢û1™ÌíÛ·766€žž^``àóçÏ¿ùæ2õ!´¶¶®[·Ž¸R5|øðû÷ïÇÅÅíܹš››·lÙR\\ S¦L‘••€²²²°°0âÜÀÀÀ¦¦&¢ýáÇÝχ>k€º:üÍpBÝŒÉ|^¯'ÄÇÇgeeÛÛ¶m344”––^»v­kµ×¯_“OØ ¯H!„PÿR__OlhjjZ[[@sss@@y9júôé’’¸ˆB\Á+R!ÄtttÈíÄÄD%%%b;))‰µš¾¾>¹®¦¦Æ¡ÍE‹=yò|||***ÈÂ>¯H!„055%s©C‡¥¦¦VWWŸ8q‚õ^˜››Û6lxýúuccceeebbâ¥K—,XGV?~¼ªª*$%%Oÿ™™™±Þ7Dq†W¤Bˆ?ìß¿éÒ¥MMMéééS§NEEʼn'²>¸' ð÷ß/Y²¤¨¨èåË—³gÏfk§µõÛ¤©Tª‹‹ËÑ£Gɶö1 CCC¶NžœýZƒÁŒŠ*KM­niiÕÑ‘7NYX˜JÊÍ­óóË·±Q67—}úôM\\¥°°€²¶¶[#ÅÅ ¡¡%55Íúú’ãÆ©¤¥U?|Xì訮§'Ù>0î›åÛWÐá÷ ­­ÌÈȲ¤¤*qqÚ¸qÊbl'fgׯÅU7HHš›Ë™šÊpnó³c„_ÃD !Ĉù7¬wŽ‚‚ ·oYSÓLÖ±°;qb¤’’±ûúuņ 1õdUUÑS§Fû‰YA¢¢ÔÓ§Sƒƒ‹‰ T*å?†:; OñöÎݽûÕ»w­dÓ¦i¸»'H‰[`\6Ë9¶ýýw “Éé+£®\©Ï©‹öß'45µ~ûíQQeÄ®  eÇŽÁK– $vëë«WGEG—±¶cc£|âÄQQÁÛüì!Äï0‘Bñ¥ää·7Æ´´0–µ´”«­e½|Y±víSoïq Ö/[Y]Ýlf&gf&+$$P]¶jUÔÇ“$$Ú~ûyxdÔÖ¶89i*+‹&&Vý÷_é®]¯&MR•”¤@\\åo¿½d0˜Ã‡+ "SYùîþý¢“'S?çf¹ŒÍñã) §LJAA˜ûDêSa××·89i**Š$&VEE•ýþ{œ¡¡4‘ÕÕ5GG—™šÊK+(WW·<{ö&<œ~âDê–-&í[ûì!Ô`"…âKçÎ¥·´0—-ÓÛ±c0ñ'yëVgçЗ/+¢£ËFV)„_’’¢7462XÿNçåÕ€´4 ¤¤ß½k]µªƒÄ‚˜$Î ii¡’’FƒÉšKÔ}Qè]í+Ì‘ÊÏÿè£1™PXX/%%Dì>~\""B½wÏN^^˜¬pñbæ§f;}vŒê0‘Bñ¥aÃäýüòIÚ¾}0QRUõîÌ™4âXY)yyåhi‰;9i²ž˜’ò–˜ñÍ Ù€€‚þI#ïîÕûøä~að]‹í+Ì‘ò÷/X¾\¼»çé™Q^Þ4a‚*±K¡P)¬k4œ:•úöí;¡[ûì!Ô`"…âK+Vèœ?Ÿ¨lmmKHHIEE“¹¹ì¨QŠðý÷AAE›7Çzzf˜™ÉJJÒÊÊšÒÒªãã+=<¬ÔÕÙ—GêÐÒ¥z…‡'ED”"[YùîþýÂ÷™Ǥ†£®ÅöæH‰ŠRœB'OVSTIJªŠŒ,£P`Å =⨅…\||åôé!'ªÀóç剉UŸÊ¢€‹1B¨ÀD !Ä— ’>ztÄöí/^¿®xýº‚($Ö("î4ihˆ_¾l½yslBBUBBy¢±±4—Y˜™Éº¹™íÙ÷ìÙ›gÏÞ€¹¹ìøñªGŽ$‰‰uý÷g·ÄÖ–/×{ò„îç—OìëH‘‹B¹ºEE•¥§W{zfGÿÝâÚµ,ÖÕ°X}vŒê0‘Bñ‡öïqspP³²R §Ô ,;|øG7Œ ’¾{×îÅ‹ò„„ª††ŠŠ¨¡¡”±±4qTKKÂÕÕØÂâ£SˆÂ!C>¬Š¹`θqÊ¡¡%µµ-ÄÊæ;w¾–éälqÙ,çØz[œ†=j”âêÕúOž”¦¦¾´µUa}öPFF( `£GÅ99µRRB66Jjjb­­Ìêêw¶ \ŒBüŽÂä|Ë!„>F§Ókkk9TÐÓèîNwtäT‡$$T™˜ÈWPªæÍ “ EEMa{š¡nÔÇ~Žøˆ„„„²²2÷õñŠBqrìXrVV¥¥‚œœPvvmhh ƒÁ\²D³(„`"…Bœ ,óøqInî‡ufÏÖZ³ÆÃ)¡þ)„âÄÕÕØÙYëùóòââzII¡#äõõ¥xB¨·ÀD !„>CCCŒuÎ5B‘xB!„¿ÂD !„B¨‹0‘B!„ê"L¤B!„º)„B¡.ÂD !„B¨‹0‘B!„ê"\G !Ä^½>zp‰åC^Çò‘âêâ{©÷RJSJkKeEe-5,g ž%FûhÝ©åÞË›ÙN\1r…ž[afyæ­„[éeé4*ÍBÝÂÅÌEBX‚8D¯¥oòÛdªbºÃnë)A©A—b/)ˆ+웲ORX²»?BˆL¤BüámãÛgùÏ&Lâu ¹{qoÈ^Ö·¿$œyzæÒüKZ²ZdaL~LCsÛ¹ÓMc+ñŒñ<z°¥µ…Ø J :u:fC ±ÛØÜø,ÿ™ õ£ßÛ¾ñ¾ÛïmWSØë°³(„¾¾Î%RQQQùùù= B¨§ijjŽ=š×Qô)åõ媒ªSŒ¦è+è+J(f•g{z®ðmáÏwþwÑ¿¬5  vMÚÅZ¢#§Ãº{'ùξ}TêÜ!sÇëŽÍ½þê:‡Þ¯¾¼ºûÁnu)õ+ ¯hHktãçBq©s‰ÔáÇoܸÑC¡ „zÚœ9s|||xEŸ²lø²Mc7Q(bwœî¸I“&Ÿ“S÷®N\Hœ¬)),9rÀÈOµÓÒÚ²/dp<0ËtÙÚêQ«?uÊ™è3‡(?ðò‚ËJJÝóyBÔé[{ø‹!>5wî\^‡Ð=JkK/=¿”LO›¨?qÆ d)¥)¾ñ¾ùoó™L¦–¬Ö “&Ê&=Œ¬¨,[‰†´†®œnrir+³•ûv³ÂËjËÌÕÌÉ,Šð©»uGŸ=þßqc%ã‹ó/ʉÉu6l„PwÁ9R!~RRS2óÂÌÒÚRb÷^ʽàô`w'w"—ò÷Ývw댥óÏÎÿoúÿœLœ>Õàâ3Zz”•9é|’ûkšjr+s‡¨aËJkK·ßÝ^\S,+*;\søLÓ™¬Ò_¾€É†“s*s6„P·ÃD !ÄO.Æ^Ô‘ÓÙ8v£¢¸b"=ñìÓ³÷RîÝн1wÈ\8ÿì<,¶ÄJÛJP@0§2Ç?Ñ¿º±šCƒÏòŸqN¤Ä:áî»›M?Oø™­<¿*?¿ªmŽi@RÀ?ÑÿxÌó(?()©)€¦–&'O§ºwuDáÍø›N&NMû‹õ’ÛÓ¼§‘9‘ƒU_Zp‰íÙ@„Ðׇ‰BˆŸ(J(ú~ë+J€ñzã-5,¿ù÷¯W^D"%( h `°sÒN²þRË¥5M5¼¼à2ë¬öhT÷áýö—_¢ß¯¡9‚µ\NLÎÁÐa°ê`1šXfyæµ—×ò«òðýáîÊ»T Þ1ÞÀ?Ñÿ(|3ô™WE¯L¤BüÄÑȑȢ£´FiHk¤–¥»«G­Þ°y“ÿ¦ zŒ•Œuåu(œè®\„Édî Ù{1öâÏã^j¹”íèÝwɉçô&Ì7Ÿ?ûÒìÌòÌØüXb:qmIYBùÚÂk‚Â0^o¼¾¢þF¿É¬‰”¢Áâ¡‹×ß^¿Â{…§‹§¥†e·ÄêL¤z»Ý»w£Frpè]ëvM}}ý¡C‡ˆí¥K—jkkó4ÄgÚO ’•)ª."¶§O¤<èNÒßxßÔ²Ô¦–¦iƒ¦m¶ÙÌa"Q·Ì‘b0Û·ÝN¸ý‹Ý/ˆ/k_õñ=–´7°?u:·2—H¤4d4`ŒÎ"‹"Ëu’7I“ &s:æzÛu¹×ò ó/ UÊ9<„PÏÁDª·sss#66lØÐg)òCÙÚÚb"…:%±$‘u·î]]VyëÃÿ:r:ë­×Û % ‹ÿ]\V[Æ!úò9R-®·]e<Ú9iç’aK>ÿ ¸ºÈ«kfªfP^WÎZçMÝh—„&N>êtt£ßÆåÞË/Î2• IDAT¿HœŽúú0‘Bñ“‡éoÆßœ=x6447ürï—úæú©ƒ¦G=>4{ðlr·²„2J{–ÿŒCƒ_8Gª¶©vÕU±±nön‹†.ê°ÎÝ”»"‚"ãŽ'挷´¶\u= )€*@%oÌÖ­$¡ô0ýჴööPÓTãöÐ >}óqŠÑ”Vfë?.½¾ôâü‹CT‡pˆ!ÔC0‘Bñc%ãmÛ‡V’TʮȮmª£‰}?ú{âè…˜ g¢ÏȉÉiÊh¾ky—þ&½¥µeœî8 ~á©ÿ…ÿ/&?FBX"09009õÐŽo‰I,Iü'úQš¨¦Œ¦U(¯*xð»‘ß©J©•©êo[{ý¾?hHkÈŠÉf•gÕ½«“•å°&çT㩌VÆO?-õZzyÁå]1 !Ô!L¤úŽää䨨(:.,,zUEûNê²Y¦³&èM8}†^KmYí?§ý9@fqôç ?_u=­,­¢¾„¨BN&N¿ØýÒsñ¯"®mªmÝ«¾¹žØ˜6hZnenpzpZYQ¢*¥ºjäªÅC³ÖŸb4åÓÿw ô@ÁÛ‚‚·0T}èþ)ûU$U80Ãd˜?ÝùéÛëß^^pÙXɸ»>Bˆ˜HõÙÙÙ+V¬ e-TUU=sæÌ´iÞŠâââR^Þ6 CGGçòåËí§+qÓÚ›7oÈÇŽ»}ûö˜˜¶÷ªŠ‹‹_¹reæÌ™d§óæÍ«¨¨`í´Û>9êO†¨¹ºðª–¬–ФÊòá˳+²Å„ÄôäõX×XZ2lÉ’aK*ê+ò«òÅ„ÄÔ¥Õ{z¥¥U#WÍ4Ùá!ò¥ÅÆJÆÇgojiʫʫiªQ’PúÔ{ñœLœ¦OË,Ϭ}W«.­®,¡ÌzTYRùê«RÂìçLœ  ª›ªÓ-J„PÀDŠï•––ÚØØ€Á´iÓ }||Š‹‹gΜyÿþ};;;ÈÍÍ5kVMM hjjΚ5+++kÞ¼y]kÕ·ß~;pàÀ 6øøøÕÕÕ­Y³ÆÁÁADD„µS--­™3gæää´ï!nȈÊ望‘2Sûäôj91¹¯öÖ]y]]y]nj ë+è¶U€j hÐá!A‘O½­ÏX/D!ĘHñ½y¡¡á‹/ÄÄÄÀÄÄdçÎ ãÇ|ýú5;vŒHhÄÅÅŸ>}ªªª k×®=yòdZc5lذ۷oS(”ùóç=ètzZZÚ!CÈN%%%cbb`ãÆÇŽëñï!„êy˜Hñ½   bCVV–œð”››KlÄÅÅ©©©………%S¦L!²(X¾|9["Åek¬§¬^½š¸·¢¯ÿáÛC† aí”È¢àÛo¿ÅD !„P߀‰ß{óæ ±ݾ‘ú³”È, TTØ'±rÙk 9µ\HHˆ,lmm²SeåS=”””!„ê0‘â{ eee`mmÝ~¼Ï–ääärrr ´´”}ú”µÄÐÐpݺuÊÊÊOžMVÐÔÔœ}úƒÀØØ8))‰§Ñ¡×]?¿t:½¶¶–C=½îîtGGNuBœáϯHHH°>iþYxEªùçŸ|}}'L˜ §§WSS’™™ T*õèÑ£¼Ž!„â?˜Hõ#ÖÖÖ~~~¬…zzzÇïÔr„B0‘êGV®\ùÍ7ß„††fddÔÖÖÊËË[XXXZZ¶_ÿ !~q3þæ¶ÀmÇgw0t€øâøYg¹Z»ºZ»ò:´nPø¶ðQÆ£Œ§yO›Íó~Ž„!6 /]Cu&R!þÐÔÒ´èÚ¢äÒdb7¡$á»›ß99~öÄ…/<:À`2 •ÙÊd2·ÜÙâ—øáñÕ”Ò”Ýv'Ó“÷MÙL&s£ÿÆÀä@²B|q||q¼†t'^4 †‡ ­ Ä¢×GwªM„Poƒ‰Bˆ?\z~)¹4YW^w÷¤Ýæêæõg£Ï^}yõ³'ÞK¹7×lîê‘«È   Po'ÜöKô3T4Ü:~«™ª™° pBIžà=^¯½æ ™c¡nq#þF`r Œ¨Ìf›Í¶meDe2Þdüûê_•¶ÖjíÈ#¿Úds„PBˆ?¥Q(”³Nè+耘´˜Ûd·ìÊìÈœHÎ'š«™ïwØOÞ¶»ƒ*@õtñT’h{»ÑpÍáG¦q8çœl¡náï ÇœŽÑCT¬:x°êàΜº5µ³§ „ø&R!þ[•«,¡LdQ$›Ï&Rc´Ç°.––^–ÎheŒ=9˜L&˜ÄU@fy¦´ˆ4™E!„K¤¢££ pýF„ø”†Fçfùô 2¢2¬»­ÌVèpöR3£¹ûÅ9RõK¤ôõõEEE§NÚCÑ ^âèÑ£ãÆãu ¨;òu"¥%£W—þ&õ¢TxvxgÛ(?0‘ž¹.RRXòSbòc"s"­´­Ú À'ò0„P?Ô¹DJ^^^^^þÈ‘#= ê%Ž=:nÜ8è>¦  €×!|#‡×ů×ÞZëfïf¦fFL6ÿì}½öæšÍ Œ]r}Éú1ëÍÕÌ%…%KkKÓÊÒnÄßXd±ÈJÛÊy°sL~ÌFÿ›Çm§;NZD:³<óß—ÿ:™:Ð!-" 1ù1U Ul׺Øà)„úœ#…âK†-ñOôO.M^üïb¢„B¡L5žÊºN7œMŸå=»sõÕl‡\Ì\`öàÙa™aA©A¿Üû…õ¨£±#hËj+K(GåFY³$Ê{n©Í›Y—iXî½œØ ß-ˆâ9^€B\¾ºðê"‹E â ‚ƒ”r>Õ…—øR(”ƒSºÏt£=FZDšF¥iÊhN2˜tÊùÔ1 @ø{æßû¦ì3W3¥‰JK˜©™ýáøÇ(­Q@ žp>a©a)Jíþ‰â7âY.Í;|||z,Ô+P(”7â­½>¦»~~étzmm-‡ zzÝÝ鎎œê „8ß#^‘PVVæ¾>^‘B!„ê"L¤B!„º©Nðòò²µµ}õê—õÏœ9ckk›‘/4å^^`k \=œ9¶¶€CB}&RŸŸVUUÅeý¬¬¬°°0γIÈχ°0àzè!+ ‡!„ú:\þ \\\,--ÍÍÍyúê\\ÀÒpèB} ©NÐÔÔÔÔÔäuˆ45‡!„P;|vkœu”œœ¼nÝ:‡o¿ý644”µÎ¾}ûlmmß¾}Û¾¼ËF¶óêÕ«5kÖL™2ÅÕÕ5''‡8zëÖ­… :88üöÛo¬í´Ÿ#Å`0®^½ºxñb{{ûùóçŸ9s¦±±±}Ø/_¾üî»ï–/_ÁzˆÉdÞ½{wõêÕS§N?þž={ŠŠŠ¾è;êýÊÊÀÁæÌ††…ùù0i|ó ´´t|9ë(9Ö­øö[øxèaß>°µ…‡¾­¼ËF¶óê¬YS¦€«+¼z¸u .øí·Úi?GŠÁ€«Wañb°·‡ùóáÌèhèáåKøî;pp€åËáã¡&îÞ…Õ«aêT˜?öì>?ô!ÔçðÙ)bÖÑ;w~ùå—úúz¢ðòåË^^^Ä9œœÖÜüÑËG‰Â–÷¤‰v|}}ûí·wïÞ@PP··wllìŸþéîîNT»ÿ~HHHddÛ;(ØæHÕÕÕ988°&F^^^ÇVRR" ïÝ»·{÷n¢ðôôüûï¿×­[Gì®X±ÂÓÓ“5Ôýû÷'%%éêê~áwÕ{)*ÂìÙ°z5HI‡À»w0w.¼xƒà'þM³ŽîÜ_~÷C—/ƒ—¼zHN†°0øxèÛ ÉüŒhÇ×~û ˆA ooˆ…?ÿ„÷C÷ïCH¼zö9RuuààðQbäåÇCp0° =Ü»»wÃû¡OOøûox?ô°b|<ô°?$%Az„êsøìŠaÛ¶m×®]ó÷÷_¹r%“Éܾ}{Úùí·ßfÏžííí}óæÍ‰'ÒéôY³f;wnÇŽþþþZZZQQQ¿€bÇŽŠŠŠýõW``à‰'tttâãã׬YÃZm×®]“'O¾v횯¯ïêÕ«)ʦM›RSS ¼¼üÂ… 222 ¼y󦛛›¢¢"™#öY«VÁ²eàé çÎlÚOŸÂŸ‚Uïˆýȶmàà×®¿?¬\ L&tièá·ß`ölðö†›7aâD ÓaÖ,8wvìðð--ˆŠ‚O =ìØ ¨ýpâèè@|<|<ô°kLž ×®¯/¬^  lÚ©©ååpáÈÈÀÁƒ7o‚›(*BŸz„ê[øìŠañâÅçˆ?ÀÓ§OOOO +--e½ÄeË–>}𨶷·WUUõññ™3gQ¨ªª:eÊ”èèè©S§²ÛÒÒâáá!""a``@º¸¸ݾ}›N§“ë¢N›6Í××—Øž5k–ªªª››Û… þøãÆd2/^¼uëV¢‚³³ó¶mÛZ[[;÷ð£'àåKX¿²³áäI˜76løüY‹Ãû¡‡éÓ!= ´:9ô°l¼z°·UUˆx?ô ª S¦@t4´zhiˆx?ôàâFFpû6Ðé@.‰;m¼z˜5 TUÁÍ .\€?þ ˜LX¼Þ=8;ömІ!Äææ&^‡€>/¯H-\¸uwèСP^^ÞÙv\\\Èm ]]]!!¡™3g’…fffPPPÐþܬ¬¬ÚÚÚñãÇ“YÈËËÏ™3‡ÉdÆÅÅ‘…Ë—/g=‘Ø%*HII¹ººzxxlÙ²åÎ;yyy ,,,*ÚÞá%* 7n€ˆìßFFpþú¶]¢‚”¸º‚‡lÙwî@^€°0ô‡¡Gq¥é¯¿&;vŒÁ`ð:Ä _&Rrrr¬»BBBÀùŸZ‡GeeeYwi4𤤤 ËlÓ­Ĥr¶HÈÖ)ç222í+4¼Ÿg}ìØ±»wï2ŒƒÝŠ@ n»¡o+arþñзU §Ø;wïƒÂàÁ £ýýdè¿@IM‰ÏkŸ¿#þvpof4ÿ—óŸ{„{Ymq´´¶Ô=ÂýiÞSÞÙû¾-tpÏxÓñš±É¥ÉŽö\¿œqUÏEÎ ÂcÇ.=sæÌ·ß~ûæÍ^ƒ>‰/)Έĥ¬¬Œµ0!!¡{{QUU€çÏŸ³Ý†‹‰‰555²äÅ‹¬bcc@]],±±±9räÈ“'O***víÚõÓO?ýý÷ßÝmoôîÌ™ÕÕàì ÀÞ½ÝÐ&‘¸|<ôÐÝCªªÏŸ³ß†‹‰`zøxè!6€eèÁÆŽ'O ¢v킟~‚þ0ô_ &?fÒ™IÛïm?qÌ=½¹µ92'Ò=ÂýM}ÛŸz )n$¸G¸KŠHvx4‰žäážQÞýéç~9ã&ªž‹œ'¬­—úøø;;;3kQ/Ô©ÀÑ£G‰§¥¥eçÎÝžH)**:4%%åçŸ&.Y1™Lww÷‡ª¨¨÷ {÷î%’'ÈÍÍuuu{{{HMMýóÏ?ÉœJ¥0º7ÚÞhãFˆ‰Ã‡ÁÛƃݻ!8øKÛ8àèѶ§¥vîìþDJQ†…”øùç¶KVL&¸»ÃÇ ¢,C{÷Âû¡‡Ü\pu°·HM…?ÿüóQ©0`@ú/àáÞÐÜàhä¸nÌ:WkWšÍJÛÊÕÚUALסñ™àô`ee‰N¼âž¯ûå_ƒ òõõ0`Àܹs=zÄëpPú`"µ`ÁQQÑ3gÎhjjŽ9REEåСC¬™Mw9t耀ÀŸþ©¢¢2bÄUUÕ 6å¬÷544FŽidddfff``onnNLϪ¬¬Üºu«ŠŠŠ–––•••‘‘‘Œ9²Û£í]®^…S§ÀÅÖ­*®_eeX¸°ã9IÜ[°DEáÌÐÔ„‘#AE‚z8tàÏ?AEFŒUÕ¶™ò‡}tPCFŽ##03ˆsó¶éY••°u+¨¨€–XY‘ØÙôù¡ÿ2™å™z zî3Ý7ŽÝèjíJ£ÒÆhqµvU”Päuhü¤¼¾<®8ÎNß®ŸôË拉¥===¾ÿþûO=EŽxˆ/ŸÚãLEEåüùóßÿ}QQQQQ‘²²²¯¯ïµk×^¿~ݽÙÙÙlذ!##£¢¢ÔÔÔ<øÍ7ß°V;vìØ‘#GnݺEžuåÊb^—‘‘ÑÖ­[/^¼˜——GÌ4WPPøá‡6oÞܽ¡ö.‰‰ðÝw`dôáù;ðò‚ `Þ< k›ŸÔ**pþ<|ÿ=AQ(+ƒ¯/\»Ý=ô`g°add@E€š<=;GŽÀû¡;;¸r¥m^—‘lÝ /B^^ÛLsøáèÛCÿ³Â_½ªj¨¢Å=Âíèór)“••Z–ÚÒÚ¢#§3Nwœ° 0q(·2×/ÑÏFׯ\ÍüiÞÓ¸â8aAa]mYm¶F²+²ãŠãŠ«‹%„%ÌÕÌMULÉCd#CT‡DæD&—&ˈÊ8:H K@CsCpzpáÛB É“iÔþysˆ­ç„f„¶2[Yš’š’ÐŒÐê¦j}ýqºã:<ëS¡¦¿I¿—rÏJÛÊRÃ’µ~IM‰÷ko353²A¶~›ÍO²ŸäUå1™L-Y-+m+A¶>7uúvðàAiiéü±±±qöìÙ¼Ž}Àg‰ÔêÕ«ôôôÚêèè% ,˜5kV||¼   ‰‰‰ŽŽÎÊ•+%$$8´óÏ?ÿ°­K.--J.d@Ì'r ‚£££££cFFN—““322¢P(lYXXøúúæåå©««7ïÄ RÈÏÏ/**RPPÐÒÒ¢u9à4ܹð~8ÆŽ…ØX¨¬„ÚZö™à„Õ«ÁÁ>²¶B–¡‡ `Ö,ˆAA01!!ÐÑ•+?ôÕa;ÿüþ.¹´4„†~XÈ€˜!Î2ôà莎‘t:ÈÉ‘° }[/àë ……—êêÀ2ôm+H8ùùPT  ¥Õõ ²Ï ¿{èµôö‰Ô$ƒIŸJ¤^½Þà·¡à퇋ªRª§œO™Pne®{„»(MôtÔéàô¶›ËTêSþpìLìÖ7ׯ¾±::7šµY]›³NˆÒDÉF„…>9‘ݶLëÿÂþ÷Í˽——Ô”…&Ê&Þ‹½ÉT‰slú;âo&pz"AŒ&¶räJàQÆ#e eeb×'Îg×ý]ïm+Çš«™O4í¡*Š+žŽ:•õï¢YOù÷å¿'"OxÌóè°ß×E¯×ø®!Ÿq…cNÇFÉ}TÜÔé3(Ê/¿ü",,¼}ûvAAA'''^G„ÚðY"¥««Û~Éï EDD†Nîs>eذal%4ÍÖÖ–Ü%&’«¨¨°UÓÓÓcËÉÚ÷¢®®Î:Áœ…B0`k‚ÕÇ|´p‰ó=8]Ý–üî°PDX†Œeè;>¥ÝÐ,Cß6‘¼ÝЃž{NÖ¾uuøÄÐ…@ÿú/`£k#%"u:ê´¬¨¬‹ù‡Õ+þËùïyÁóOUø¶p™÷²êÆj3533U3!A¡„’„èÜèU7V=\õPB¸-½öˆñ¨mªu2qR–TN,Iü/ç¿]vM2˜D\Rªkª‹Î6U15V2VW¨nª~–÷,<+üDä‰-ã¶}y<óhliœ=x¶¬˜ìÙÿ%—&ïz°«èm‘Uh‘Å"ª5090‘žxýÕõo-¿å>66Ç#3Z9=¦ª ®À9‘zÇx‘ádÚög8®8î× _­ŒášÃ‡¨©¨¯¸ŸzÿDä î¿FQ™‰úï¦ÜÍ®ÈÖ‘kû_M+³õfüM5)5këû=z ¬¶ÌXÉx”Ö(AÁœÊœˆìˆ´²4"‘â&*nêô=[¶la0Û¶m“••µ±±áu8€ï)^9|øðéÓ§ÓÓÓuttX/}¡¾ïða8}ÒÓAGpèyÇFׯFׯ3ÆSERÅÕÚ•,ojiâH‰>SÝXífï¶hè"²ðBì…½Á{ý“üZ´-KÖÌh¾·òž†´±ûóÝŸoÄ݈ə 7$„%|ûH K>/|^^WN£ÒŒ ž<ÊxÄšH1´2HUJ¶ ÇsŽ‘9‘VÚVçæž¢ Àâa‹'Ÿü(ã‘Hq›uVë>{EŠÃQˆÊªo®·Ó³#{d´2\­]ÉoÕÕÚu†çŒN}óÌæÝM¹ëç³Õ¶mÙð¬ð’šWkWŠ@‡ýVÔWèÈéø-ó#+TÔWTÔWp7uú¤­[·–——¯[·îÊ•+C† áu8)¥¥§§+++_ºt‰õæêûÒÒ =”•áÒ%À¡ç7‘¹‘T µ¢¾âDä &“I¬ÐV×\ñÅñ`ÑVÍÙԙ̢Àv í¸ô:±+@8ÿì|Pj[ãoê>ZÚg–é,"‹*…:rÀÈÌòÌ•#VYèÈé¨I©¾-ìTllÖ[¯ïâwñÞ£ŒG¢4ÑÑZ£‰Ý/Di¢kǬ%+hÊhº˜»œ{zŽ,ùl¨c´ÇhHkÜJ¸µyÜf*… >q>ÙƒgªßɆ“=žyx¿öž 7AIB äÄääÄ上›:}…Bùã?ÊËË׬Yãç秨ˆOZð&R\ùñÇ×®]khhÈ:A õ ?þkׂ¡!àÐó¡Šú “q,âXûC5M5ä6™ˆ‹:-­m/º>u*(5HNLn¬ÎXI!A! P®¿ºNNÍ!¨H~tç—˜>Õ¾°º±ºS±±ùò9R2ÑCÎÓzÛøVER…È~Hš2š¬»Ÿ •B¡Ì2çè“£¡¡õ'VÔW„¤‡Xi[©K¸©ÍÖïÆ±È ¸x{oð^1!1 5 'S'G#Gî£â¦N_E¥RÝÝÝøá‡k×®õý™µ½&R\1èpNêpèù™”ˆÔ;Æ»U#Wµ?¤§ÐÑä¶Ž<Î|,"(roå=y1y¢„ÉdoÛî´ IDAT^Œ½ø…§»ÛΑJ¢'W³Þ•‘.©)a0¬I~U~gCk6÷ïÿþö~í=Qâ­„[-­-óÌæqèW€"0gÈœ9Cæ´2[s*rB3Côÿ1±$ñ'ÛŸ¸ŒŠ›:}˜¸¸øñãÇgÏž}ðàÁ_ý•×áôk˜H!„ú,+-+¯×^Z²ZN&=â”RšBL$ç…B¤ S?¬Jp*êÔÛÆ·2¢2Îê¡Ø¾pŽTHz…B?pþ-è·Œ7ˆ/c]1«}¿ko­••ª1TSF³™Ñ]ð¶ÀHɈû¨¸©Óç999=zôhëÖ­wïÞe{¯+új0‘BõYÒ—\Þ°9¡$!¡äÃË‚Œ•Œ¹Ì¢ÀÕÚ5*7*ýMºgŒ' þîðûµ—×XUâUlRZ[šP’°iì&ÖÂ!ªCö:ìÝuWL~LL~ ˜©™Í4ã÷àß;ª¾¢„bHF°Þ×ë°ß z¦=¼—rµ—ýSös7uú777GGÇýû÷:tˆ×±ôS˜H!„øÆw£¾#ì"Xi[ “ïÚS–Tvµv%u€Aʃû¢ðEBIBCsƒŠ¤Š¡¢¡±rÛÒbZ²Z®Ö®ê=#GQm{°\FT&`yÀ£ŒG99R"R6º6jRj­ÌVrÚx‡ŒÕ+.$./.ÏZøÍ°ošZš¸Œ­Û=ÊxÄd2‰5XÍ2×ZÛ:43´¦©FOAÏv mZY𫵫žü‡©ZÜ„J¥P÷ØïI.M––ÔWÐçÜïñYÇËjËb bó«òÅ„ÄtätFk&—Bà2*nêôy222;wî\¿~ýœ9sFŒÁëpú# ñ +—æÎ >>>=ê(ÊÆ9Âë@Pwꮟ_:^[[Ë¡‚žÞ@wwº£#§:èë[}cujYjØ÷_ûÅØ¼ê—ßuêçhåÊ•EEEþþþ¬ozE]#!!A¾Ñ„ûƉå”45ûÅó¥ýÜ™3gnܸÁë(Pw*//×××ÿ|=ÔGYjX’ï½éýö+¿þú«£££——×¢E‹>_u+L]QÇ:u©!Ôû­µº_õÛ¯hkk/X°àĉÎÎ΢¢¢¼§é\"e`````€·öú< …òÝwßá­½>†¸µ‡ê“Ö®]{ãÆ«W¯®\ù™·V£î%ðù*!„êÝäää/^üÏ?ÿ444ð:–þ)„B¨/X¾|yCCí[·xHÿ‚‰B!ÔÈÉÉMŸ>ÝÓÓ³µµ•×±ô#˜H!„B}IJeËrrr"""xH?‚‰B!ÔG >ÜÛ»½sç0‘‚ÈÈÈÝ»wçääð:v½60þ™¹ÛwNy¯a×kCñµY³f…„„TUUñ:þ)ˆŒŒtssãm¾¾{÷î¼¼<ÖÂÞX™éà–ó&‡‡1„§…ïößWññøö‚ÀB}ÏÔ©Si4ÚÝ»wyH‰XYYíÚµK[[›‡1„‡‡»¹¹±%R½!°>ÀJÏj×ô]Ú Ú<Œ!<=Ü-À-‘ê !„ú111;;»€€^Ò_àÊæ`eeeeeÅë(:Ðkã/V­¬öƯ±×Öke•gýôëì!³gžÝåF³ÂOGÞh³q„fϾÞõuÑ냡—X.q0tèÑŽ:”V–ö(ãQt^ô»–wÛÆo3S3ë°Zfyæ­„[éeé4*ÍBÝÂÅÌEBXâ+‡Šz¤I“6mÚTYY)++ËëXú¾¯”H½xñ",,ŒÉdŽ;vøðá·oß~õêÕÖ­[ÅÄÄÈ:UUU<ÈÎΦÑh–––666ä¡àààˆˆˆ5kÖÈÊÊddd(++;99ÉÉɱuÄM#222iiiÆ ³··ŒŒ|ðàÁÒ¥KY¯ýTWWgffЉ‰ :tôèÑœ?`nnnpp0N—““³µµ522j߯”””ŸŸ_nn®ššÚŒ3dddˆ —.]zôèxxx€¶¶öÒ¥K; Œ›Ž>û-u»y/ÂRØÀ«?v¸öðÛ/o¿ÊµÕa«˜ËøÖW=Hzý&›F¥YjYÚ° MrpDzÄšqkdÅe^d”f(K);™;ɉ·_.‘“ ŒL+I¦5ÌÞÄ>23òA⃥c–jËk“•«ªƒ“ƒ3Ë2ńĆ:zàçÆ·<789˜^M——³5´5RaùÚß÷+%*å÷Ê/·û-õUuïêžå?¥5êK)«+{–ÿ¬¢¾¢»¢€Ô²T·nóÌæÍ4I¾m|û,ÿÙ$ƒIÝØ—œ<鉬‘tXÍ3Æó`èÁ–Öb7(5ètÔé˜ 1_#DÔÃlmm©TjXXØÌ™3?_}™O¤Z[[׬YsöìY²díÚµµµµ/^\·n™HyxxlÚ´©ººš¬6vìX___>xðàСC·mÛ–’’BT—— 13ûð?-n155ݺukvv6üøãD"åææfkkKæ+çÏŸß¼yóÛ·~ûX[[‡…… t|'tÇŽ‡b0Ä.…BY±bÅÉ“'i4Ù¯‰‰ÉO?ý”››KÔQPP¸uë–µµ5\ºt)44<==‰£ãÆ#)¶À¸éè³ßR÷je¶®¹¼æì–ñ¿¶¶©öbäÅuÖ‘‰”G„Ç&ïMÕ ,C£?Ö÷_ N >tp¨ÖÐm7¶¥”¼\B>äÇ3M–ñå¢SuÓ­7¶f¿É€'ýhobOLE²5´%ó•óç7{o~ÛÀ2¾zÖa[Ã(Ÿß[;b´²|íÖ+N.:I£ÒÈ~MÔL~ºñSnùûñ•P¸µö–µž5\Šºš žÿ½_ƒqK­–¶Œ›Ž>û-õaºòºW^U—Vçu ìjšjžå?£3†×´)­+ÕWзӷK)Myœù¸Ã:w’ïì ÙG Î2w¼ÞxaAáØüØë¯®ÝHQO1bDHH&R_A'RG={ö,•J9s¦®®njjêÉ“'Yëøùù­X±BPPðÿìwXSI×ÀOH€„Þ{‘"Rl` "º‹uEE]ýìewu_×ŠŠ Å‚]DE  ÒD)Ò•R¥I/I¾?®^#`]q~Ï>¹sÏsfÆì=™9sfÆŒZZZÍÍÍAAAááá‹/~üø1.æääD"‘V®\I¥RRSS×®]Þ­JÖ¬YÃÃóbÅ YYÙNç™îÞ½‹TdlllllL$ãââ""" F§ŽÔ™3g8@ ¬­­µ´´rss|±ÇâÇëYÆ÷º‰‹´rüJ*/5 % µ(uí­µáÛ»UÉš›kxˆ<+ÌVÈÒd;gº{wÅÕ`¬dl¬dLä"ÆåÅEdF0˜ŒN©3ÏÏxr€@ X°Ö’ÖÊ­È}ÿàbøE1ªØ9,ã{Ë™‡È³rüJ2798-8µ(uö™ÙéÿK¥Š:Žqd0ÏÓŸ/·TAD:‹âPû^ÚðóðR5ØVüø.ñ• JÀž§{:hc´ýòœ~pöðÙXá• ètá¡ÄøñãÏž=Ëd2 Â`Û2ÄéwGêèÑ£\\\ÁÁÁ'NÄJ|}}ÛùÈ;wîäãã 9r$VÂd2çÍ›wÿþýôôt|õJUU5((;×úÀ#FŒˆŒŒüôé“   ç•ÈÉÉ…†† |Ïà]»vÀ™3gÖ¬YƒFDD‰ÄNå<ÞÞÞ³gþÿÑëׯÍÌÌNœ8±{÷n~~~¬PZZ:<<3µ­­ÍÞÞþþýûW®\Ù´i“££c~~þóçÏ—-[†ÍQõFû^êsŽ>=ÊEà þ¿à‰Ã&b%¾ ¾¶g¾_Ÿ|<|a[ÃF*² ͹y÷ßÜO/IÇW¯TÅUƒþ/ˆÂM€mFì™ù©ñ“ EóJä„åB·„ ¿?¾>»àÌ¢3k&²Œof‘ðñõ?Þ«½g|éöœ×f‡ÌNŸØ=c7?ï—ñ’ߎ™ÚÆh³w·¿ÿæþ•—W6Ynrã˜_™ÿ<ýù2ÓeØUo±ï¥¡M§1RÑÑRTðyt¥uè/ãc}* # =àSó'u1õÅF‹;­9§2Ç;Éû]ù»6F›²ˆò<ÝyZ’ZØ-<ÔÉPÖðZܵ´Ò4>> u‹YÚ³°÷Ӄ䗢/ÀÝÄ»‘9‘ØS·ÝÂ+¯n¬¾wímñ[^ï$ÕIsuçö÷‹ 󢨖V^W®/£{Q¼ßýâ ~:ŒŒŒªªª²²²ÔÔÔÛ–!Nÿ:RyyyEEE–––¸666ÆÆÆ11ŸWâ‹‹‹SSSUUUýýýýýý™L&“Élú'66÷¶mÛ†ùÀÃÃcaa‘‘‘Q\\,((Èy%[¶laãE¾ÿÞØØ˜Õ‹€ïù7ùùù………ãÆÃ5j”Ý­[·Þ¼ycff†»2$éßÿ½ÿ~ddä¦M›8éÉn)ú^/q¢¨[äUäUYêXâ^ØèÛ+Çä~ßšâÔ¢TUqUÿdÿd–¡!p@ln,îm³Ú†ùÀCâ±Ð²È(É(®)¤r^É–©[ØxQ…U…ïËÞ+³zQð=ÿ&¿2¿°ªpœÚ8ܹ€QÊ£ìŒìn½¾õ&ÿ™ú—n·Ú†»2$.Ò¿6ÿÞs?23r“%gãÛEßë%NýÔtŒ‘Ú²ß#Æ¿ É ¹sù‚ÝCYC¬dÛãmÞIÞØç°ì0ï$ïú ÚU{+þÖÞ§{éL:.vãÍÿ¬þ›7b| uÒ•Öý7èß²º2LÆ?Ý?ø}ðI›“áçieiPXSXXSØ®òІ Û+¶xy`F`rIòË=lšù»çïøòn§Ð(4·9nlº$þC<L65·*÷rÌ弪_õœ—Äû$ý‰w’7…›²Ìx™žŒ^eC嵸k__d­ä͇7{žîáãá[h°POZ‡È“\’|9öò_V-'$‡‰]½ª,¢¼Álƒ8¿xJiÊ…×üÓýï©Ü³ag«c+À+ðoпvzv¶:íãQ.¾¾¨.¦¾Ú~IÉ”’·—n7ão®½RFPæ{íŠ.ˆfïHµ›rë%µ%ÐÜÖlsÙ¦¾¥+ôNò¶Ñ±q±vA+AC"‘hhh·páÂÁ¶eˆÓ¿Ž¶ñ²cJIÖLF[[ÛÎήc ÆÆÆœ+⤉]“EEE ##ƒ¥¸ÞìììvåYYYÀº].''‡5$ ‹vç|c*çŠa>a蘛›5É$&£-£m7²³¡Qâl|9®„Dd;¾TQÈ(áx|ù… »¼C·—gëv¹œ9¬!YX´;fvß*Bà`‘ѧÄ÷ÊÙèØ8ÞvŒÊ‹ É ™®9ýnâ]pµq5W3ÇféÌšqiFNe^‰G´ƒÉð˜ïObMR›¤/«¿ÔkéÃÔ‡«Ç¬Æ Å©â÷ßÇæ'©M2’3úÍó7¯/»v²B²Ú’Ú '$×1„KIDéžã=^/LP™ÐÊh=q*¡(#uÝá:6áú=°Í½¡…Þî¯Ü5Ä5~3üF¦%%xÄxø¦øŽVm§×É· ñ3¢««ûôéÓÁ¶bèÓ¿Ž”¢¢¢ŒŒLpppXXž‰àÑ£GøtÈËË«««Ï›7oøðáx9“É|úô)ðÄž>©äääÔÕÕcbbΟ?¿rå׸ËÈÈȱcÇvü¡¦   ''éçç7kÖ,¬066öÞ½{ ÅÐЗìüÊñ,ã›9Vµ³ñQ–‹ÌŒôKô›¥÷¥ÛscïÅÝ£pS XÆ7àÐL½™Øªb£íoß¿`œÚ—ñ%‘áÛ‰¥+Bग¥S¸)6:6x @X ¿ */*­4mºæôŒò …†{QÀC䙥=ëDÄ ¼$±8‘H º†»“ÉdÚèmU‘…‹M×œŽ¯¨6Y•QÞµGn5Ì ó¢0†K ‡®¦*û;Áðqó€$UòÖÂ[˜y“Ô&©‹«oðÝð0í!r¤† šššîîîMMMØ+ÑOô{°ùÆ·lÙbnnnkk«¬¬üþý{??? ‰²²2ü½uøðá9sæNžýìô:Ïu³ fß_ókŒ¯÷öC‡âÿŽ×—ÿÑÇ·gßߎ”––ÖÕÕ±PSS=y²tútv2= ©8iöÕÙëMׯ7]åuå3/ÏüXÿ‘L"«ˆªÔ5×Ô0™L;=»Ó@i]éô‹Ókšjø¸ùTDU**‹>iKj§–¦žž};¯¡µÁþ†}Zi‰‹¤$¢$À+P^W^\[LgÐ=æ{ŒW–¶ìÎ2ì)Iª¤„€DNeN]s7ߣåh ÐÔÖd|¸±µQC\[L¼µèöà.ó]K—âMÀ ÿ™òÏï#ïÛÎaÅí¥[DNäVå–Õ• †ùˆ¬' ú§û¯{°ä„ä„ù„³+²ë[ê…)—=”hÿk1(ôÉ÷hÅŠ4ÍÅÅ¥¯¬ú R©’’’]Ë}a ÎÚ›{²Úäó¯Î—Ö•€’°Òë#˜dyçäûBö½+70mgOVEVtA4~‰ųž08MsÚÑ™G>?ˆ§¿2”5Ü?m?ò¢†²²²ïÞýÿ,‡0áH™˜˜<{ö,** »äååuqqa=NñSc¢lò,ýYTÖ—ñ%ñºØ¹°'Œ@ô ÏÚSQ¾µèVy]yaM!‰GMT5zt$uüWøgUdÕµÔ)ÒiZy]ùÍ…7Õžæ£òR÷ZîÝm¾;«"«±µQJ@JR@²cÌܳ ËŒ—åTæðñ𩉪µ rw0p°n“õ1«±­›æ!=âæÂ›ŠÂЬbX¡’ˆRuI笻f¾ÞüŽå¬­k-k¬sd…dYCÍCyyùgÏžu)öøñã›7oþõ×_ZZZ`UGètz\\¶‹Á`\½z;C¶YYY·oßÎÊÊâãã=zôüùóyxx:Ц¤¤TUUQ©TqqqUUUKKË~ŠrG*$$$666!!¡¼¼\FFÆÒÒRZZzôþ |/6kȲ)$676¡ ¡¼¶\†&c©c)-ô+ïwb³}Î÷ÎÚ§Š·;Þ±ª¢ª] s¹5%Ú‡¾µC,¨'óÝó¡ù¸ùt¥uñK…ÖÑÚN ûUQUÖ&³ÈEÔ×èo{ƒˆ˜˜–hš=ÅÅÅÑÑÑŸ>}êR²?(**š9s&kêl£“­AAAþùgKK vàíí}ãÆ Ö}ëmmm¼~ý:Þ~ÇÆÞ½{·nÝúÇô¹ýáH€‘‘‘‘‘Q×rC ‹!~ð‚‘’‘‘Ò¯:¾ZZC||ÄO FkiiillÄë”3fèêêÖtTccc]]±±±¹¹ùõë×?|øÐQ¦ªªjË–----sçÎ6mZUU•››[RRÒáÇ÷îÝ‹‹ýßÿýß“'OˆD¢µµõ¸q㤤¤šššÊÊʲ³³?~üØö#…@ b€ÁNŨªªbïHIKKâJ‘¬¬ltt´x{{w*s÷îݺººY³f:t+3fÌ”)SîÞ½»eËì0´'Ožª‰D Óéýõ—••ÕÓ§OÏŸ?ŸžžN£Ñ~ûí·åË—·K-ËJbbâÆÝÜÜXÓ"`¾KeeåË—/;>ÒÔÔý#%++›‘‘Q^^κ&˜““ƒÝqqq ‰²²²ÌÌL555\wé:NhõÝ«wôèÑÐgu!~pºuÖâg;k@ü:` ^Xر±1vî-NðàÁ¶mÛ¸¹¹/^Üéƒ)))ÎÎÎ'Ožl·NJJŠ@ Œ1bëÖ­ŸRRR€þˆ‘1bDFFÆóçÏçÏÿšµ?$$tu?'µ´´¼qãÆ±cÇXw(F @ ˆ¡ 6ETUUuáÂ…¹s犈ˆ‘H”‘‘€èèèN©ŒŒ ''§cÇŽ¶»E£ÑLLLbccsrræÎ‹äRXXxûöí‘#G@ÄH͘1ãîÝ»®®®£FRTT€ .¤¥¥©©©áfNNN~~~OŸ>]»víæÍ›1¯#%%¥µµ›Ÿës#…@ ÄÐs¤Z[[:täÈ)))IIÉšššììlÐÓëäÈ£ììlGGG"‘Ø.ŒÏ#õÏ?ÿØÛÛïÞ½ûÀ <<<>|À‚“Ö­[G"‘z#µvíZ,ʪ°°–,Y‚­9º»» €©©é¤I“ž?>uêTmmíÊÊÊÂÂB..®]»vá•HKKŸ>}zÍš5²²²---¥¥¥˜y¿ÿþ{·¬âäH!ÄÏGXvز;Ëv™ïZj¼´[z'yo{¼íôìÓVìúɶŸ‚_¤0GJUUuåÊ•÷ïß/*****aaa,Fªã#¡¡¡Øñ|eee¬åx¾M ooïýû÷‡……¥¥¥a…JJJóçÏïô¤aNˆ/--Å/cbb°ØŽ< WW×þùçáÇoß¾qqñ¿þúËÌÌŒµž±cÇ>|øðôéÓ>|ÀN›!‘H¦¦¦kÖ¬111é™yìAŽ@ CÌ‘ݺuë–-[Š‹‹ËÊÊ„……eeeYƒ¯YÏÚ›6mš¶¶vǪX$•‹/ÖÖÖæåå1 999lѰǜ>}?˜l: ƒŸŸßÅÅe÷îÝyyyd2YMM­Ó¥:yyùC‡íß¿?77·¦¦†B¡(**b;ûú äH!14Á),Øœ@ ÈÈÈ`ÑQí`=kOJJJJJŠ“ÊÚ¥ï1JÒh4NÒA‰D<{Ã50j@ 0eee¡—ÓEöôýŒ•J522zñâEŸ×ÜK~XÃ8䱟J=ad$õâ…ýàšÑ‘Ö0ùÙíð¨ YƒÃÏ'•$ñ’x'©NÚe¾‹Fùú 5¦ Æ3Á3áCBqm1•‡j kà4Úi¤ÜÈv•hIh ;š^–.DúÍð·UcVÀµ¸k×㮨ù G“Ûh¶qšæ4¼Z&“yïí½;oïd”eЙteåú ,b“†§—èÕmlí$ïWઢ_j¿Ì}y<üxZiŸ…ºÅæ ›Eø¾¾5?5}:v,ð]০OêbêëM×s¢šÎ ßŒ¿éýÖ» ¦€Éd* +ÎÒ™å ï@á¦`]öFG½UU]Æ$ᣣ#¥s<ìxJIŠŠ¨Êƒ%ºTÇ~Ð{ÜC€’’QQQNro"z ZÚû!‘H'N lCý‰ttâDùààù]‹":T’täÅ‘z 4¶6ú$ûÖz.òÄî–ו;ÜtÀ…««že> Í ½±ð†±¼1^žP”pðÙA:“ŽUâêÂKâ-¯/?ÿê<&]‘ý§ïŸJ"JZZÀd27?Úì›â‹×^–¾çéž´Ò´ÿ¦ý÷=S‡FgÐÙ´EŒ_ìÕºWÝj¾UB”ïë¾ñ7Þ|~ÓÒÔÖt'ñN\aœÏ>n>hnk^tkQZÙçpàä’d'o§éšÓ»Ôâêráõü2¹$9¹$™›‹û÷‘¿½Ñc½_õetLF—êºô^ÚóSSRR‚¯Ù!ú‰¾w¤:&qÿAøa ãÄþºº?Û„Îùa ãŸÝþÃ/Åo¡ÁÂå&Ë%$SJR6úmŒ)ˆI+MÓ’Ô`ªlê8ÒQ[R[Œ_¬¦©&:?zëã­ç¢Î±:RÓ/5^ºÄh‰ŸHhvèß '#N2˜ŒÓ˜«™s¸ÎF½}É#ÚãˆõðMñõMñ&>l뤭zÒz¼$Þä’äƒÿõJôš7bž,§áÝ"iSëexNø.ÿ]W쯰N¿ù§ûÏÕ»fì ªDrIòž§{2Ê3Ü£Ü7Žß×⮥•¥©ˆªì™²G_V¿²¡ò« 7ã»HðAï‚(Ük—±JcI\¤ÜÊ\ßT_>žÏáº]öFõâ²Ó³[9j¥MÈE|ü€½º.½—öüÔsð„è1hF @üL˜*›þ;õ_ìóH¹‘+G¯ÜótOzy:æH‰ñ‹mž°Ùý•ûî€Ýõجd”g°V2^eü.óÏég¬†YY¨[dì4ßi7âsò÷­·ÞI¼“Y‘‰]ÞKºGä"^¶¿,A•ÀJŒåϼ±»nçŸî_VW†¿P ©­‰õ)ùoÒÉÈÊ€±Ü×)+"QR@òcýçPß—¿§3èfnfÃÓ8¤¡~H]ýºÕE+(úTÔ‡­ë”¸Â¸Í6»Ïu××hwËTÉ”5HKž&¯,¢œW•‡]æUçIR%1ïg¼òxüsUc•ÚA5üÏè„V¾kò.“1ùÜäÝ»oÆßL-Me­¡ËÞè±^ŒqJãXÕ¥º.½K{†0ÅÅÅ’’’ƒmŧßg¤¶lÙâââ‚_ÆÇÇÇÇÇGEEݺu +qww_½z5v|4äææ=z4$$$22OüP]]mjjŠeb€ssóôôtasb˜ø0èiopëÚ%'ê8ô_ººº¢¢"uuõ®E½ Ó¼yóÆÅÅ…B¡œ:uª¸¸¸¢¢âÆ"""žžž¾¾¾½nÝ:véÒ¥ââ⦦¦””;;»„„„'Nàõ„††ÊËËGGG××׿{÷ÎÜܼ¢¢?Ê'::ÚÝÝ]PPðòåË?~,))9{ö샺4}µÚÖ­öb„‡‡ËËË¿~ýº®®.--mîܹuuuØä™©©)“É$‰æææÌ/´›ˆâ\ûöž7oJ]\b(Ò©SæÅÅ«+*ÖÞ¸1CD„ìé™îë› ÙÙ5ëÖ…ÐhäK—¦¯njÚ˜’²ÔÎnXBBÙ‰_=ÝÐÐyyÁèèßêëÿ|÷n¹¹¹BEEãÍ›Ÿ#C££‹ÝÝy._¶úøÑ¹¤dÍÙ³S<ÈìÒ<öÕrh[·Ú‹^(//ðúõ¢ºº?ÓÒ–Í«QW׺vm0˜šÊ2™›‰D‚¹¹“¹û›8Q¾gŠØ7ðפ º@Œ_l½ézš/‰—@ äWççVæö²ZUQU 7%~c|æöÌv§gŸî Ã;'µ4ÕÙÇù„Í =™ÎeEäFàN$TäTæ( +b—Š4ÅÒºÒ÷ß³>–†¦³¶%öÏXü‘@4–7^5f•«ë‹Õ/êšëv<ÙÝê²7z£·#]ªërл´g¨’ššÊd2uttÛ!Nÿ:RwïÞ€¿ÿþ{íÚµRRR"""‹-:}ú4xyyÀ7Z[[ÝÝÝ—-[&%%ÅËË«­­íéé)%%Åꈉ‰ùùùóññ©««c~ ¾Jåíí X²d‰¨¨¨¤¤äªU«vïÞÝ¥yì«åжnµƒJ¥úúúš˜˜ðóókjjzzzjjjFDD°&ÈïeÇrÒÀÞs÷î;øûï1k×HIñ‹ˆ-Ò:}Ú¼¼ÒàÆÔÖV†»û”eËt¥¤øyy‰ÚÚ¢žžÖRRü¬˜ÅÏo¶±±·ººð‰“ 1ñóéÞÞïàÀñK– ¥HJò­Z¥·{÷˜.Íc_-‡¶u«½T*·¯ïli~~nMMOOkMM‘ˆˆ¥¥ }Õ±œ4ð×DFP¦¢¡âzÜõÚæÚÚæÚY/–ßYŽMiô;=»ÆÖFÇÛŽÏ2ŸU6T¶Ò[?Ô|xžùÜÙÇ™MœMÆÖŒŽï~Ö?öÓQïÊß9y;¹X»°nãoGbQâÿyUy­±…±«ï¯nc´áù¬4­˜L¦³sT^TCkCaMá?ÿpdwÝîVü­Ì™MmMµÍµaÙaÕÕùÕùöFõvnLWêºô¾µç'"%%EXX›÷7ý»´—™™ ÖÖÖ¬…Ø%v+%%°ßUØ |™lÇ044Ä/UTT ¶¶»ÌÊÊ€©S§²j™:u*ëY†Â¾ZmëV{1ôõõ%$$ðKnnnlÅ-33“ÃÅl±o`ïÉ̬këo²ÇZ[«@ff5¤¤|‡G°ŸÍ_ºX»ÐÐPRPðkšÔÖ~ŽUÊʪ€©S•XµLª´kW8{óØWË¡mÝj/†¾¾„„Äו_nn.ssÅôôÊÌÌ*IIŽŽ)àPûþš88„f‡î Ú»7h/V¢-©­!®QV×+ÿrÎð9ÑùÑÞIÞ+ï­lwË^¯_RU4T8ÞvüXÿñ7ÏßÚÝbÍ#e5ÌÊ'ÙçÞÛ{ø]UQU§1NØgÇ‘Ž~)~iei¿{~>«•@ ÌКñ8í1{í)%)ñâÛÚëni—½Ñc½Ò¥º.½oíù‰HMMEÓQÀ@d6g“° A Óét:Á`0 |ššõØ 囘¬BÖ íŽZÚÝíöÕrh[Gzœ ¯»v)ÏI¿õ6V`ÁÑt:“Ng2L–.„––¯¿)”oz¬Âvföh|ÙUË¡méqþÅîoœôÛ¯†…ºÅ±™Ç4%4É$²UÂÁÀáºÃubo³„C3´=9NiœYˆ›È-O“Ÿ¢1å윳ã”Çõ‰åí(«+ÃCÝÙ0Rnä%»Kz2zdY˜"l7ÂÎs‘'–D xI¼7Þ\d°HŒ_Œ—Ä«-©}vÎÙñ*]Y{;zÿfø›š˜VíH¹‘¦À÷9vÙ=ÖÛ)]ªërÐûÖžŸˆ”””¾:ÂÁ†þ‘RSS€Ç³:ÅOž<Áoijj@PP……Eµ`çé®^½/ êq…=°­Ëöb$$$”••á“R­­­!!!xC€‹‹‹õÈë+êoÔÔ„àñãl¯ÑëOžd€š 45E (ÈÎÂB±ÇZTUi˜³zµ>^”×ã 1z`[—íÅHH(++kÀ'¥Z[!!yxC€‹‹ÐÖÆÎßáPѯÆx•ñ™ÛÛ¯ºv,œ¥3k–Î,Ö’K°‘€“w옼£]¡ÿ ÿv%Ó5§XG- ­Žv²ÂÚSeÓï‰ ’÷NÝ»wê^Ö¹ºs»Ð.©µÇr{ö½ÑQ¯w’7û á;£Ã‰:öƒÞ©=ÀA?üÔÔ××ggg³n]Gôý;#egg{÷îuss+--­ªªòôôÄÆuþüùàèèH"‘-ZäááQPPÐÒÒRZZ±nݺp¨eΜ9°cÇŽëׯWVV–——Ÿ?~ß¾}½4¾¶uÙ^Œºº:›èè膆†ôôô… ¦§§›ššâëz""")))YYYíòDtWQcg§{÷F¹¹%”–6TU5yz¦c) æÏ×GG‰kÑ¢ÇIµ--ôÒÒ†ˆˆëÖ…8ðšC-sæ¨ÀŽáׯ§VV6•—7œ?ÿvß¾îåƒîHlë²½uu­66>ÑÑÅ ­éé• >JO¯45•Å×õDDÈ))³²ªÛå‰è®"øQQQ cÔ¨QƒmÈЧg¤ 7mÚtôèQgggggg¼|Á‚¶¶¶ ®®~öìÙU«V-_¾¼Ý³Û¶mãP˨Q£V¬XqñâEGGG¼ÐÞÞÞËË‹›»óMìœÐÛºl/†™™YVVë¿o*•Š…ŠcLš4éöíÛøÜÒóçÏÛmÜãPQch(¹i“ÑÑ£±ÎÎÁÎÎ_´Y°@ÓÖV ÔÕ…Ïž²jÕÓåËÛ=»m› pƨQÒ+Vè^¼˜äèø/´·×ôòJçæîù/ØÖe{1ÌÌä²²ªGúº;’JåÆBÅ1&MR¸};]Mí"vùü¹}»{*B ˆï>|øpQQÑ®E½£ßc¤\\\®^½:jÔ(~~~2™¬§§wâÄ Öø+V¬ˆŠŠZ°`ŒŒ 77·ŒŒÌ„ ÜÜÜvîÜɹww÷ƒªªªòð𨨨>|ØÉÉ „……{c|lë²½ ""6sæLAAA*•:uêÔððpÖ$RÇŸ7ožˆˆ›¨N ..¯^6j”4??7™LÒÓ?qbòÍ›3p+t£¢-X )#Cåææ’‘¡N˜ ïæf±sçh6Õ¶ÃÝÝòàÁñªª4¢ŠŠÐáÜœF€°0¹7Æ÷À¶.Û ""ä°°3gª òP©ÜS§*…‡;°&‘:~|Ò¼y""d6QPœ(B ˆïnff6ØVüºzŒ­(a{ïpÖ¯_êÔ)oooláï¡©©‰B¡ØØØp’æj!6l8~üø`ò]Ö¯vêÔooláï¡©©Bqµ±Q{ð`àæ9§¯¾¿¥¥¥ìO~TSS=y²túôâtHâ'¥7ߣœœœ)S¦Ü¾}ÛÈȨkiÄ·P©Ôn¥ƒ"gí]¼xñãÇ666JJJEEEW¯^uss°´´lÓ}ÀÅ‹I?6ØØ¨)) Õ]½šâæ/ Àci©4ئ!ÄGXX˜   A¿§hÇq¤ª««wìØ±cÇ7ûnŽ;F¥RË$DR]Ý´cGøŽß$Ž:vl•Úó8ªøùù™››‰ÄÁ6ä—`ˆ8RüñGuuµŸŸ_vv6‘H400Ø´iÓÌ™3Û.DßðÇ#ª«›ýü2³³kˆD‚ä¦MF3gªvý$@üb¼ÿ>11qëÖ­ƒmȯÂq¤„„„öíÛ×û”ý ™Lîó|˜¿BB¼ûö™îÛ÷Ýd9?d2‰ÉÜ<ØV ˆ_š{÷îÉÉɶ!¿ ‘Ù@ Ä@§ÓýüüæÌ™ÃÅ…Þïêh@ †Ïž=«¨¨ø¡¶«y#…@ ÄÁÝÝ}âĉrrrƒmÈ/ĉ‘B Œ’Ú’ÈÜÈ’Ú:ƒ¾zÌjn"7A‘ý"§"§¡µÁTÙÔPÖp°mì &#±(ñuþëz‹Ž¢0»£!c c_澬áíîÆƽ-~Ë`2t$uLL¸ünc´½Ê{õþã{n"·¾Œþp©N޼åD¦K]ìÛ•P”–ÖiÇ*5’ûš‰Î¤¿Ì}™[™KgÒh ã”Æñ’xÛ=RßR––W•Gá¦ËkKjwZ3û>ä\fPˆŒŒLHH¸sçÎ`òk)1tˆÊ‹úãîMmMØåŠQ+‚Ýu»¤â$¬„›¯—ŽTѧ¢{oïQc,ßïÁ¼{ƒö>N{\ÙP‰]êËè³q¤ê[ê7øn(©-€£V°¾à[}œY]cyc÷¹î‚dAÖb c·<ÚRP]€—ŒSwuÁÕnÉp¢«Ëvň?q²ÓfÊ ÉâŽT\aÜÖÇ[óª¾a.-(ýŸÕãUÆã%/²^l~´¹º±/™®9ýèÌ£:@lú°[2ƒ…›››©©©¡áÏôSa€)1t8yº©­iºætQ.7w`F`Rq’ª¨ª…º/‰×P®·ï˜¢OE'#N¹ˆàHù§ûW7VëËè7Ó›ÓJÓØ yq„ÉdÊÓäY½Œžþ–F£Ð¬µ¬I\¤'éOb b¶>Þznî9\&¥4e©×ÒÆÖFQ3e3^olA쫼oNçD†]]¶Ë@Ö`½éúv…—¢/1˜Œ©S±Ëºæ:'o§êÆjeåñ*ã¹\/s_f”g8û8‡8…HP% »"ÛÙǹ¹­y„ô#9£ú–úÀwOÒŸˆð‰ì±ÜÓ­>ì–Ì ÿúõkOOÏÁ6ä—£{ŽÔ«W¯ Ù‡2¸ººººº¶ˆ>fÈGNäT樉©´=ÉZû¬ö €ßÓçì±Üc,o,Ê'ºçéöŽTbqâ­ø[gçžu oÿµ-¬)|ü@€WàÁ’rBr°zìê™3ƒß§•¥iIhab;Ÿìllm\d°èï)¹>'rŒ)ˆa­ªKuuÙ.}}}}Ö’ÔÒÔ“'m‡ÛRy?§Y~•ÿªº±ZWZ÷îïwI\$`2™Kï,ȉ͵a7ÞÜhnkv0pøßÔÿaOmš°i¦ÇLÏÏÕcWKR¿9„MvKfP`2™GŽ166FYžî9Rêêê eÆ trêÇÕÕ`À˜Á6Ñ·WW§ ¶ ½¥¶¹6,;¬ º€—Ä;\j8î…e‡%%T7V€Àº*™ ~©~QyQ€Ís´Ò[ÃsÂó«ó™L¦¢°âX¥±dÒ7`Ó™ô¨Ü¨ŒòŒ6F›²ˆòD½H IDAT• XäMLAŒw’7DåEÑtL¸ãÜI_a5ÌŠ1:“¾óÉN«aVæjæ_ðÏ2Ÿ1˜Œùzó1ÏDùD->òâHл ̹I(JH)M‘’ûkÊ_¸‡¬Þ''2œèâ¼]¬x%zæa4·5ÀXű˜a‚Ê„ˆœˆz V’V–‹G.Ɵᙩ3óâë‹Áï‚.ÂËÙ÷!ç2ƒ…ŸŸ_llìOqîУ{Ž”¨¨¨¨¨è|–-¢Opuu0° Aô-wEEÛ„Þ°ãÉŽÚæZ¼Ä@ÖàÌì3T‰°ì°+±W ´®´cxgüçõŽõ¦ë‹WÝ_U^WŽßã;asb”Â(ì2±(ñOß? k qiAé³sΗ]}ïí=x•÷ _Òúž#u*âØ%àåãæ[1jG-gË…WJjKÚ3á`S>xë0F+Œ€ô²tìkËLí™ð$ýI~U¾Ub¼Êx1~1üNd8ÑÕšÚšüRüäiò&ò&x¡žŒ‘@|™÷²Ñ†ÏH…f‡'ap˜…þ9—êêê:äàà §§7ضüŠ )ñsV–¶ÁwC£MWZ×HΨ®¥.ø]pü‡xgç;¿Ý¯2^,x.êœ0EØ^ß*272®0ÎÁÀAœ_+9øü`y]¹–„ÖhÅÑ$.RnUnDNÄ»òwØëÿC͇¥w–~jú¤'£§'­ÇCâI.I~•÷ê{ýd"o2oļ{oïVÍúRï”Ó/Oã³V"Æ/Ö{G*¿:ÿtäé½S÷²:4¬”×—€Œ  k¡¬,”Õ•a—yÕy -(msÙ&£<+ä%ñî6ßí`àÀ¹ 'ºzÀ“´'µÍµËM–³–È ÉmŸ¼}ÿ³ýÓ.N› 2@ |Ž‘ëŒO}©‹©ÇÄ\»Š/íU6T>LyØÎž.ûC™ÁâØ±c---7nlC~Q#…@ ~.¾¾ØÆh[j¼tçäØ uëÄ­s®Î‰ÿÿ*ÿÕx•ñãUÆ_޹,% Å:EÔÜÖW·Ð`!þr­l¨TQö]ê‹ïɯl¨ÄwuþSÓ§½–{Y×}®Ä^Ù¼Ï/Õo¡ÁB€íÚsëÌÞàµc×v9#ÕýnhÏ_ÊÎÕû=l ¬]Rì²™ÞŒ]6´4À¹¨s5M5óFÌ£Qh‰E‰11?ý[ULs9‘áDWðJôâ"pul££‘cck£k¸+6 ËM–¯»p0pðJðòŒ÷L)I1–7®k® |Hᦾµ8èCe€ÊÊJÖ’ÄÄÄ›7oþ÷ß4m°¬úÅAŽø9ˆ+Œ#ˆ›&l§%„)«ƬÚå¿+®0nŒ"§!}S‡Mõˆö¸“xg²Údlo—Ÿˆßç—Ó˼—D±²¡òÌË3L&;³¾µ’Š“À ¯3]× éá“ìóæÃ›'ËŸ°‘ùìÇ´}ãÇ|öxˆ¼¬2õ-õO–?Á&àXØ1·—n×b¯aNç2ìuu—¬Š¬¸Â8SeSiAiÖò¦¶¦¥^Kc bôdô d ¸\I%I—¢/EåE]w¸.D- ­#ÖGvìz[üömñ[’]oº~Ûãmü<üX=œô!'2ƒ““ÓôéÓ—.]Š]ÖÖÖnذa̘1s粇÷+ƒ)ñsð©ù“„€D»¨pšÔ4Õp^ϳ 4…)öïããá31°n3]s:v·²¡’ΤŸˆ8ÑñAÖØ,Nèï©æ¶æý!û•E”}’}ðB,öËí¥‘gí¸µ\.lM³èS‘¦„&.ö¡æˆS?/wbå)¸‡ËŒ—¹½tÃWñ8‘áDWwñJð€y#æµ+¿w#¦ f™ñ²æ;ñ ¯/z~èlÔÙí“¶c%³tfWÿ"ëEIm‰¤€¤Õ0+ÏOÀ2WqÒ‡­ôVNú¹g­ëÏž=‹Ä<§þù§±±ñðáÃh7ý ‚)ñs È+Xü©¸©­‰Õ—ʯÎlúC¸\óFÌ›7bƒÉÈ­Ì}žõüÿüþ/¥$eËÄ- Hl¡·ü1ꎪ‰©uËàþŽ‘jhm¨j¬ªj¬J-Mmwë\Ô9pç Z’Zð:ÿõdµÉ¸À«üW€/w²Iö¿¡9‘áDW·h¥·ú$û‘…,5,ÛÝJ,N+Ío6N6õÐóC‰E‰¬…4 Ív¸-ö™ÉdbþÏIrØÏý ƒÁ8|ø0‘H¤Óé;vìàç篨¨xô葇‡‡„„Ä€ø¿´#åååuöìYWWW}}ý®¥Ο?ëÖ­‹/ª©uïÿ§¢÷Œ”é›â{<ìøŽÉ;°’êÆêó¯Îc·8¯çyæóñ*ã‰\D.—ЍВˆÒõ¸ëÞIÞ˜#5Vq¬W¢—¢°¢Ž ëSéeé¼ðe‰Š5Sö÷èï)2‰ÜqÃà­ø[ë?®³Š‡ÈCLV›ü¿àÿÝ}{÷÷‘¿cY **®Æ^€)S°§Æ+'“ÈAï‚Ö[‡O8yÄx‹ĉ 'ººEÐû ªÆªß ã!ò´»… G`F ë=ÿtäýšE=¶0Ï„Îd2]Ã]ÓJÓh fÊfö!‡ýÜß<|ø0++ [kf2™þù§²²²³³³©©éhG°á—v¤ BCC««»þ"Fvvvhhh]]]¿Z…@ :e¹ÉòÇi/E_Š-Œ5”5¬k® É ©l¨Ô—ÑÇf8ÄÙÇY˜"l(g(O“o¥·¾ÊUXSˆ/E­»: #`ÓÃM—c.ëIë ÊëÊß}|—Tœä1ßCVHVž&ÏEàºûön£M˜" ßOÐû©ÀŒ@lÕ ‹ïñMñM(J€éšÓÕÄÔ(Ü”ŽªƒÞ}¬ÿ¸fìÜK“’›=|öý¤û¶Wl­µ¬¹‰ÜÓ—Õ•Y¨[à•—úÇè?NEœšá1Ãj˜HNä".3Yƹ 'ººlks¾·®ÖZÖwïàÿ¸\o‹ßbÙA­µ­q±µ>k¥¤ d ¸¹¸£ò£ÒJÓ¸‰Ü‡fÂRaqÒ‡ös¿ÒÖÖvôèQü‹Þ+,,œ8qâhG°ç—v¤ìí파8œŽB ƒ‹¶¤¶«ëŽ';‹ñµ,T·D&«Mz„M]`È Éퟶÿ|Ýáú¦‡›’K’“K’q- -l†F¡ÍÑsïí½ëq×±[ý—óé»§¾)¾ø%þYC\£[ëŒ{-÷–ו‡ç„ßxs+1’3:<ã0«ÌºqëÊj˼½°DYÀÇÍ÷ß´ÿô¤õº%É.ÛUXSø2復„f§ç"U»Ë|בGXÿ= Ä5ãÖ`É®0LäMž¤?Á‡R’*yhÆ¡Ÿ.ÍýíÛ·KJJ°é( ƒÑÚÚºdÉ’»wï¢E’Áå—v¤äåååååÛ Á)VìÆ*Ž Ë +¬.ä!ñèJé¶{#:vÂ÷ßaŒUËKâãûšûçôìÓåuå±…±Õ|<|Ê"Êcǰ kKj?Yþä͇7É%É­RRÃćaÑ?¦˜¥=+µ4µ¡µ¡ßÚ `©aÙé)Åj¢ß}q:è;|¬ÿÈÍõÍIºnÊeû˱…±o‹ß2 )Q £ÚÅGs¸þ›ößã%¯ò^ÕµÔÉÊLP™@£Ðº+É.ÛUÙP¹nÜ:6ë¶K—Ú·Ì,¬.iAé1Šc° xœ“¶'Ëc b±#Ç)k—¡#öadúЦ¦¦S§N±zQt:½¡¡aÑ¢EÞÞÞCþô§BDZaƒ ™$ôc¤ètúíÛ·JKKEDD&OžìèèH&Žlݾ}û¡C‡âãã™Læ¹sçòòòddd–-[6ô–¨ €Êl>ä°›7¯¾¿¥¥¥ì¸ÕÔTOž,>-‚#=ÿ;wîøñãtúw7.())y{{ ucË‚ T*URR²k¹/üÒ3Ríb¤êëë­¬¬"""p//¯Ó§O³î‰ð÷÷ß³gOKË糜._¾|êÔ©µkפ帍©©9{öl§^‰Db0S¦LY¶lò¢‘H}ñ³°sçΈˆqqq—ÇŸ9sFYY9))iÕªU¬bÿüóÏÔ©Soݺuÿþý•+W„7fdd –Ùªœ?¾¹ù›§‹‹‹L&/\¸ðùóçgΜ9²»V}Î/=#ÅJ[[›‡‡™LŽˆˆÐÐÐÀ ííí555•^¾|¹­­ »Ä’HIKK/[¶ÌÞÞžB¡ ®y 4#õ™ìì캺ºI“&á^ˆŠŠÎ›7Éd¾}û/\¶lëƒØ%«@ ½' àsh‰DÐÐÐ%K– /êÇÍH}¦©© Ú‰—`w1Ú ‰ 466ö»‰ø…È~ùò:ƒAçáá™3gÎÒ¥KUUUÛ$D' Gê3ÒÒÒÇ`0¸¸¾NÔÅÄÄ€ŒŒ ^òæÍÖmz±±± +ûõð)@ zÍ?â+Wþnooßî<â‡-í}F\\ÜÐÐ0==}ûöí­­­Àd2Ož<$%%¥§÷5Ýܾ}û0ç òòòÖ¯_––íÏB ¢g444ØìÝëä䄼¨4#õ•Ç[ZZ9räÒ¥Kªªªùùù¥¥¥X9¶>!''7jÔ(uuu^^Þôôô––}}}{{ûÁ3@ C >>>€y\\¥ƒm¢kÐŒÔWÌÍÍ>|¨¦¦VYYSZZ*##sýúõßÿUìĉ666oß¾mii177÷÷÷çái &@ ˆ!Ï/=#…Eˆ³ú@Ó§OŸ>}zff&–Ù\SS“õ ¯•+WZYYÜ¿ÿÇùùù²²² ƒ`:@ ˆ€_Ú‘ÂÉ¥¤¤Ú•«©©uz¤ŠŠŠŠŠ öYVV˜#ñ‹ó‹.í;vLCCãáÇÊÊÊÊÊʃmø±Ë[xsatAt—’‰E‰ o. È«úÎ[úQÝXíöÒÍéžÓÊ{+ODœ(¯+l‹C™_tFêÝ»wïß¿—””¼víëâ@@y}ytAteCe—’5M5ÑÑS4¦ €Uýç-ýYȯÎ_pcAY]vù,óÙõ¸ë·ÞÒ×`ÿ Ñ3~Ñ©ÿû¿ÿ{ûöm~~>kF(@üìl~¸¹¬®l¤ÜÈÓ³OŸsÖLÙ¬º±zƒß“1ئ!†&¿èŒë90$%¾ùðF¦puÁU2‰ “Õ'Ϲ2'¥4%27ÒLÙl° D A~QG @üt$%z~ÈÑÈÑXÞøÆ›)%)T‰}Vû §2Ç;Éû]ù»6F›²ˆò<ÝyZ’Zøƒ ­ S&|H(®-¦òP d æ˜'Db­< # =àSó'u1õÅF‹{`^Y]Ùµ¸ki¥i|<|ê³´gµ øž‘o‹ß|vÐf¸½Þ7éè°öÎÑ3oÄ<¬$º úQꣂê"®´îýbübí:g´Âèkq×Þ¿å%ñNR4Wwn;3zÖÒêÆê5÷ט«›/7YŽ•¼Î}"ü„¿ØIÛ“XI]s“·“™²Ùª1«p{ e ÙwKß™ óõæc^ Äß Ûá¿#,; 9Rˆþ9Râç‹F!3âß ±mIm¸kïÓ½t& Ë»ñæÆVÿaþGucõ„³ê[êñz2.E_ºóû9!9¬dÛãmÞIÞøãÞIÞ ôt˶’ÚÛ+¶x\Žºðûà“6'q§‘:’:5g"ÏÌÓGä"âu^»[{pÆAìrÈ~ünHfÈå˜Ëì.Êâc(gxðÙÁšBL&0#0¹$yåü©·”F¡×ßI¼ƒ;RþéþXˆú¶šm²B²•õ:ÿõ,Y¸=ºÒºø`uÚ-ùÝów:ƒÎÞ·9nß»›Y‘ z2z¬…ØeVE'-E º r¤ÄÏÄ•˜+Ê"ÊëM×+ÐÉ‚o>¼ÙótßBƒ…zÒzÑOÍŸ^ç½öLð<qòðŒÃð$ý‰w’7…›²Ìx™žŒ^eC嵸k__ì–UWc¯*‹(o0Û Î/žRšráõÿtÿ{*÷ìFØ@—F.2Xäêò"û…¹š9VaEC…ºÿDÕ‰ 4xúî©GŒ‰‹´Øh±‰‚ImSí½¤{¯ò^­õYû|Õs^/öÔÅ×ÕÅÔ÷OÛ/) ™R’âöÒífüÍ•£WÊÊô¾¥¦Ê¦žñžEŸŠ°Ú"s#åc b"s#çëÍ€ˆœ0Uúxʾ[:%º š½#…OÂuJUCˆó‹³JP% º±š“f"Ý9RâgB‚*qñ} 7»\ë³–ÁdxÌ÷À&f`’Ú$}Yý¥^K¦>\=fµ0Ÿ°ÿrÿ§ïŸ†f‡VÔW´Ò[€‡È[ðùÄÌ»‰wÀÕÆwbféÌšqiFNeçV‰SÅq«&©M2’3úÍó7¯/Ìcðˆö`oäý§#O_»ŽÛp'ñN+½u‰ÑìòvÂm88ý íp[¬ÄFÇÆñ¶cT^THfÈtÍéX¡’ˆÒ=Ç{˜_5AeB+£õTÄ©„¢ÌõéeKM•L=ã=#r"æëÍ/úT”S™ã4Ú©¦©&<'ü³#•¡$¬„ÍNqÒ-rÝá:“Édc7‘›Í]lÎub¿Ä†ès#…@ ~&¬†Yá^$' D×pW`2™L`@½ ¾,å”ו;ÜtÀW»pj›k±å4 ÷-€‡È3K{Ö‰ˆœ[5]s:«UØqh$,6Zì•èuóÍÍæ;Ÿg=ÿPó‹£Çhnküÿöî;.ŠkíøYvaYXzYz¤ R[ìAÁÛKlA%1&jbõÆhLLblѨhLÔDƒŠõJ5€Xè¤ RVúïÞ½ ,Ë‚"Éïû×Ι33Ï™ÏGòäÌ3g˜ªb¥ET½|kG«X‹¼œýá¯÷¥æ¨„ÝtÙºy5y•ÜJ›#$G…C¤Ó÷‘úZø>Œ}øèé£{OîÍ6ƒ2Âd„]!®(.£2ƒ.G÷4õí/ù¶t©5RŽúŽ„;ywülý„·ónBô$ ³Þ%R666666çÏŸEÑÀ‚F£-[¶lêÔ©ô§µkײÙ쎢ŸM´™¸/vßµìkFoÎÇ4¶6^H»àfäFQST+¨)ȮʦÖxÞüü“+Ÿ´t´)_sß¼gy›¯lÞã·‡ÍdB®f]HèU7so†¥†Ír˜EinoÞruKS{ÓÛvoK$e±ÛâÕa«Äˆ+Š[é±Rô¡˜¯¹oî³Ü—7îõß«ÁÒ „$•$¹w„Ú%e}éH³‘ûc÷ÿ”ðS]su]E†¢›±ÛÝ‚»yÏòœôT˜*Òß–.õ±Fj¬ÕX–<ëræå©¶S©‡˜I%Igœ‘§ËO2Yú‘H3R0ˆ-÷X~3÷æ™gÎ=:g¦i¦ÂT©æV—7–óø¼wB!oY½•T’äÒˆÎBHam!Kže¨f(,£Yî±<<5<*7Êû€·…–EmSíÓ†§v;êY•”lum7Enúþî÷º*º…µ…ÜV®’¼Ò{^ïI$eœÕ8cuãà ‡érô¹þKôü+2¨k®Ë®Î6Õ0írj¡×ž_“ßÜÞ¬§¢ÇQá+¢„Ç?/VUT5×4'„¤U¤µv´7.Ú'¿&ŸÛÆ5U7Ug©Ws« j ¬µ­…5LÒDÕÐÒPX[¨¤ d¥eÕåš“’ƒ$„„$…ì¼µóì³Âù1ÕÜêÒúR†‚•–•è z]ÞªÑLÓL´²Jæ‘RJëKËêËôTôL5L©@Tš$ÜŒÝè´—E`ÑÑËÎ-ÛòÖ–¥îK{¼-¯BKGK~M>ŸÏ·Ô¶T’Wz=í_¯èßôˆÍfs8Ò–<Ú€ÁB¥îaâÑÝ^yºüPÝ¡Ž­°}¥KÈRËRø[‡­£ÃÖéÜGrTªŠªbkj÷*Èg/žI8b®iÞ]%!°.oNwwL¶‘RŒÔŒ„+ÂSh4šäçq=Þ–WA‘¡hϱï¹@Ÿ!‘èVñóâO®|ÒÝ^7c·G}Ø÷«„¥†t>çYNCKC°opßO(ƒ×3R€¿Ÿz"ãÆ%K–˜™™ t,ðÆijo¢¾(×¥Îë$ɦ¬¾,¹4™2Þz|o?ó×_^ÏHþ~þA‰TttôíÛ·—-[fbòßRÇøøøíÛ·3‰tf«k›·9ïU_%Ø'8Øg`&¢„úw¤£,F½†ûð&ø½µ½}ûö'Ožˆ6z{{oݺYÈà4#Õ%ooooo~N¤êêênܸQXX(//ïææ6jÔ(ª½ººúСCZZZk×®vniiùî»ïètúG}Ä`0$.ÔÐЕŸŸ¯¤¤äêêêååEµ‡‡‡?~üxãÆJJÿ}Í•jܼy³¢¢â©S§nß¾M ‰ŠŠ"„˜™™-Y²¤Ë©ââ⨨¨ÊÊJMMÍ1cÆ úß·l¢¢¢bccW¯^­¡¡qéÒ¥¼¼<‡ãïﯩÙó›Ã)))wïÞ¾¾¾îîîþùçÇ…1 Ϭ®®™““3|øð‰'JŽ§Ç‹žYUU5""¢¸¸ØÀÀ`úôéêê½ûšˆéÏD*$$dýúõ Â__ßððpmmmÊÊÊmÛ¶ ‚uëÖQ{׬YräÈ*‹’p8µyüøñ 6Ô×× ;øøøÜ½{WNN.<<üôéÓk×®Ë'NŸ>ýÁP‰Ô;w!'Nœ öŽ=šJ¤Äj¤>ýôÓo¾ù†Ç{ù±'öî»ï:tH^^žµ{÷nWW×M›6eeeQ}´´´nݺåäÔíû½|>õêÕG¶¬Y³†ËåþòË/˜©36lãÆ………„?üpâĉ’ãéqàÂ3ÛÛÛüñÇÅÅÅTmmí .øøˆ¯D Òë·D*""âÝwße0o¿ý¶­­mkkëÍ›7cbb/^IÙ»wïýû÷7lØàîîîééyìØ±Å‹¯\¹RšÃÏŸ?¿|ùrBˆ»»»»»;N¿ÿ~ll,ŸÏ—“ë¹Ò+00Ïçß¹sgéÒ¥T±y—uQܵkFóóó³µµ-**úóÏ?;¦­­½k×.a·U«V1Œ•+W²Ùìk×®edd¬]»6&&¦»«ïÝ»÷èÑ£t:= ÀÂÂ";;ûСC::]¬Ý¤  °|ùrCCC///)ã‘Æš5kVyí IDAT®\©¨¨•‘‘1cÆŒ¬¬,--­^„ú-‘úôÓO•””¢££‡¹X°@ ˜={vxxxVVÖСCΟ?ïêê:gΜãǯ[·ÎÑÑñ§Ÿ~’òð-[¶B<$¼hll,.þ5õ.>yòäÎ;Ë–-“0 óõ×_BÂÂÂf̘Aµüõ×_¾¾¾?þøãgŸ}¦¬¬L5ZZZÞ¼y“ÅbBvíÚåèè×ÐРªÚõÂß}÷œœ\TTÔ˜1c¨–ˆˆˆ€€€Î=ŒŒîÞ½«¢òòßTîØc<ÒÐ×׉‰¡"ìèè˜;wnxxøÉ“'7lØ ýI@Tÿ$Rååå–––W¯^½zõª@  ¾}:qâDaEñ÷÷wwwOJJëüñÇ ³(éã‘Æ¦M›„á1ŒÿûßáááqqqH¤dÖ?‰Tuu5!$??ÿóÏ?ï¼W´ªÉ×××ÔÔ´°°0 ÀÊÊJÊÃkjj!C† é—h»óüùsBˆ………X»¥¥%!¤¶¶VØbll,ÚÍfBÚÛÛ%œ¶ó“D33³Î‰”µµµ ñHÃÜܼó&u Mÿ$R„;;;ê«ÆbÜÝÿûݨ   ÂÂBKKËS§NÍš5kÚ´iÒNÕñdggwUjÍår…•鄱%£¤EAAX{~~>!Dš÷ò$œ¶¨¨H¬½s !„ª»—>é^XX(|É‘Ú^‹°Ô°M‘›Ì80yÈäŽé¯DÊØØØÚÚº¼¼|öìÙÆý÷k àƲ§£GžœòÎ;ïÔÖÖ~üñlj‰‰‰‰/¿¬éëëK¤;;;ÿøãüñµëóÏ?/((8}ú´0ÂÉ“'ÛÙÙedd|ûí·äÿבÅš5kJKK¿ýöÛK—.]ºt‰üÿºM_~ùe_nÎúõë333CBBBCC©–   òòò .HÎÏzŒGšS8ðÑG9r„Ú¤Ö‘ÂÚ}ÑŸ rΟ?? àÖ­[ÙÙÙ|>ßÌÌÌÓÓ“ªË~ðàA``à˜1c„æ„ê¼êêêÊÊJ‡#ápÊêÕ«çÍ›wýúõÂÂB555WWWáÞ½{÷Λ7/&&†Á`Œ7ÎÉÉ)<<ÜÊÊŠz¢GQTTLJJŠŒŒÌËËkmm¥ª¿;ko×®]«V­®$>vìXÑ•Äǯ¨¨¨§§':pªQWW·»;C§Ó?t÷î]BˆÏˆ#† ¢­­- ¯Ë3÷4§ØØØddd\¼x±¸¸ØÐÐ+›Ã ]½ìܲ-om±×³ÿ!ú‡ôŠt -‹“sOŽØ7bºýô=~{¨ná©á#7j)iÝ[wšñ­äVŽ<0r¾Ëü/'õéÿˆzØŸKþ¡CÏ=>—]•ÍðÌ5Íç9Ï[è²P8T’töáÙ‡eËËÙ lC—Už«† ž¹¡¥áûèï¯ç\ohi°Ö¶ð@gýü‰‹åççççç'Ö>vìØ±cÇvî/¶œAw‡ ©««Ï;·»½žžžžžžÂÍ™3gΜ9S´ƒ’’’X={—ßÚ333£pêlüøñãÇ—¦QLRR’»»»°\ìÀ999¢ëH8‰„x(=œÂf³,X 9N€7\JYÊ×·¿æ x„¾€¯ÎR·ãØÅÆ *A‰-Š•£ÉÕ4ÕdUgÙêÚBb b!#ͺ­òÍŸ'á¢ÚÊÚ÷ÖÝëU`à£ËE¤G;dUem»±-³2ó«)_Bª¹ÕóOÏî}ÞüüvÞí»ùw[ð›»±;!¤µ£uá™…™U™T‡´Š´Ua«¦*9 xÍþé-~mÆçàààââ"//ŸœœLÕƒðÁÀ s5ëê§9+=Vš¨›Ðåè„sŸÃ ‡³ª²l9¶ ®0nºýôË—c b¨D*¶0VŽ&çeêÕÓ¹û3°?ÓþŒH¢3dãØNúNL3­"íßQÿþãѳg»ºÐh4sŸÀáv;meíú–úÄ'‰#7N8L%R§îŸÊ¬Ê´Ð²Ø6a›³¡smSíÑ{GO?j ‰Ôk2bĈ۷o'$$P›L&sÏž=¿Ê ’98Sô- 3ŸÃ ‡c‹bm9¶™U™5M5“l&•Õ—ÅÅ®ô\)â‹ãôÔÕº;göÆn—V‘9°ÐÔPºýÄܺì—ýÝݘöÃäc“£r£\ ]´•µ?ýÑ‘{G>»öYÍ‹j*‹’]ý2˜kY×h4ÚÁ­µ­ !JjJÛ'm/|^_ß÷h ¿ ‘zMnݺ•œœüðáÃêêjƒ‰'êë뿞KwW}04)ö®ëp£á,yVLaÌ ±…±tÝËÔ+çYÎÁ¸ƒ--ù5ùµMµóœç½æÀr«sy|žï!_Bˆ@ õƒò´á)!$¥,eá™…í<ñ…|[:Z¨ÅuÅ6‡Ê¢„F™B"ðFA"õú¸¹¹¹¹¹½þëJSÂ0X¨³Ä_’§Ë0‘PœÐÒÑ[ëbèÂf²}Ì|~ˆþ!©$)½"âk.é{JýR#%_À'„tyZ*y:œp¸×ì0,€Ãæ(Ðh4ÚÄ£k›z÷ÑXH¤`Ðó1÷¹[p7º :¹$9È;ˆâ ï ÎR)ˆÉ¨Ê`ɳ\ ]^sH–Z–é•éñkãU˜*]v(©+ÑVÖ}ïIÝ“¢Ú"UÅ—ßÄ4U7}\ñ8÷Y®è¤Ttaô+ z ‰ zÔ„ÓÞ˜½m¼6_ _BˆMÎÓÄóvÞí§ OGšdÈIú[×/5Rbæ8ÍIŽLü=pÝÈuÎÎ*L•*nUNuNhjèB—…ÞfÞªy5y¿Þÿ5`X!ä~éý¯n}EÍcQ&ü¨üÑš k¶OÜîdàD›ã¹À›‰ zVÚV6'§:GMQÍAÏjôµð½–}H\øàÕ™9lfâ“İ԰•¡+ÅvÍušK™ï2ÿnÁÝí7·o¿¹j·ãØÙèØTq«¨ÍÀáÓ/fVe.:»ˆj¡ÑhoÛ¾™ùº=“èú¹!ÄËÔKŽöòÏš™Ø×‰F£í~{÷¾€}#ÍFª)ªÉÓåÕ'ØLøiæO#ÍGBÆ[ÿ~Ú÷Cu‡*2uÙºó]æÿ:ÿWº‚ð Lóô‚Ó ]j+k3L;ŽÝO3eW}Þ,4ê-)Q«Yž?þ•Åo¶oß¾©S±ôßßÊÚµkÙlvßÿýVVVr¹\ ¬¬,÷í«œ:UR ÿŽ ›Íæp8Ò÷ïõ£½ÒÒÒsçÎõö(t³*S¥>yÈd¦ !¤¹½9*7ª¬¾ÌHÝh’Í$yº¼èi%ÄF©h¬¸“w§¡µÁZÛz´Åè.o‚„Ø^iî9!„/àÇÅgTf(3•G[Œ6R3ë/ÍÐ)$R08Š?ÔÜÞܹ}šÝ4ê?êײ¯}r哯ÖFá.C—ƒ3ê²uÉÿô°äY‡GåFQèrô]SvÍt˜)<äÑÓGïG¼_Z_*lÑWÕÿiæOÃô† OÂd0÷Æì-Œ¥:|w÷»³ ϶óÚ—[VÑXA5ÚsìÏ-:'Ìr$ÇF9ÿøüÖë[ÛxmÔ¦³ó4»ib#•[—öÇîAw{ !JòJË=–w··Ç{Niíh]üûâ„âj“!Çøô­O‡ ;K34€Á ‰ AÞA¢³#­­'’N,¾È\Óœ’Y•ùAÄü}7#7n7*'êAÙƒ5Öœû×9F’ÂmåúÛûsT8ééqEq[ol`3šR*«/[zniCKƒ“““¾“C!­"í^ñ½¡+n®¸Éf²_ž$1¤¥£e–Ã, %¸Â¸ÌªÌ­7¶>­ª@WXè².GÌŒL¯Lÿýáï‹ÝKÛãòÇŸ]ûŒÇç¹»;ê;Ö6Õ^Ͼ~0þ èð¥ŒMÌø<>OÂ]ÕVÖ–HI¾çÂ[ÚÔÖäoï¯ÃÖI¯HO(Nø2êË!:Cb9•EBÌ5Í T ÊêˤŒ-¥4…%ÏZ3r00cuã¹ÎsýuLØ"elbÖù¬ëÕ½íN—÷œ2Ýnº0‹"„,q[r$áÈýÒûÔ¦4CÔHÀ`ÂãóÖ_\¯¬ ¼còa^BihmÐUÑUd(Šv6Q7!„Ô·Ô [„ …šéàwP›µMµ<ïÇØ;_W´¼IOEOtKžÕecCKƒ”±Õ·Ôë©èÑitÑÆêÆ¢›RÆ&¦5R”îîy—qÊÑä Õ S+R©Mi†0¨!‘€Aƒ/àoº²‰²{ên9Úÿ¬Þ¢ÊT-o(oéhÍWžÔ=!„¨)ªIy~UEÕ6^Û wYi[Év±©)ªU4Vð<Ñ„£¤®¤ï±õ±FŠH¼ç]Æ)ÊêËT™ªÔ¦4CÔHÀà >»öÙ‹¶f›á „ 7‘ñCô žºæºŸïýLí’òÞ¦Þ<úÃTÃÔßÞ_´=«*‹ªF—M±¹¹^L¿x(îðI\I]ɹGçú[k¤$ßsÊÅŒ‹ËF,>Ý;‘|¢¦©†ª9“rhƒ)¶ßÜ~1ýâ÷%ãþç/jM£wG¼™y<ñxri²«¡+·•{+ïVmS­³³§‰§”—xÏû½kÙ×6\Úp"é„“¾“Š¢J5·:çYNjyjÈ;!†j†²EÞclKÜ–DfFþûc|q¼ðÕ6Eùÿy([l}¬‘’|Ï©ß,y–ÿ ÿIC&é°u2*3â‹âi4Ú»#Þ¥öJ34€A ‰ YUY¿¥üF9œpXl×Û¶ok°4ì8v{ý÷~rå“GO=zúˆÚE­ÕÔ¹¬§;FjF¿ÎÿuÃ¥ iiiiÂv[][™³(BH±9ê;cëõ­I%II%I„'§évÓ¿ŒúòUÇ&A÷œú½Ì}YLaLDzµI­#E½²'åÐ5$R0h)i ߟ£©¤Iý˜ÁVZÿ­’[¿ëñžSwÃÓÔs¥çʘ˜ìªl%¥1–cÄV6—fhƒz‡@J•••\.WB++Ë}û*§N•Ô$ÿ£Âf³9ŽôýñÑb!‘)!‘)!‘)!‘)!‘)á£Åý£ ¦à³kŸÍrœ5ËaÖ@ÇÒ­ò†ò«ÙW³ª²ª¸U, 7#·3”ä•Dû,;·¬¥½EìÀw=Þ}Ëê-±Æüšü ir«såéò.†.sæ²™ljW%·r}ÄzBˆ…–ÅŽÉ;ļ“wçè_G !Óí§Ïsž×xÍHôm/K=M=:ný’üËŽ[;D¿U)ãÒÏý|jÞ)S SacRIRs{³Ø±~v~b-'’Nì¾³»ƒßAm^˾v8ápÒûIÔfK{KbI"!$©4i•ç*cucÑcO&Ÿ¤öººôÏØ)€þa¡eqzÁiC5ä[5M5ú*úS†N±Ö¶ÖaëÔûëXY}Ùæ+›Ï.<+ÚÓFÇfë„­¢-æšæ¢›—3/uë+º}Žãœ±Vc™ frIòﻢ“SZEZèãÐõ£Ö ËêËâ‹ã] ]SÊRú{ˆ¯)€þ¡¬ ìaâ1ÐQH²Ô}ézßõ4Úm1z‚Í„IG'%•$½h{¡¬ ,ì©ÂT‘0–~ÇW·¾"„|=õëÃf϶Òs¥XOe_sßð´ð÷}ß—£½¬Ê K “£ÉÍ6‰ü ‘€Á¡ËÂBÈži{ T ¨ß‰%‰—3.—Ô•(Ðôæ9ÏÓVÖ¦v=zúh÷Ýnž&ž§îŸz\þ˜É`޵;Ëa–0± Ö†¥†åTçtð;Ì5Íg;Ì¶åØ ÷fUe…§†—Ô—S ÓéöÓí9öÔ.±)i–|­~§ÁÒk1R3²Ð´È¬Êä øÒŸ'º ºš[ílà,Ì¢(*L•Îg;Î^{am|Q¼¹!D „¥†ù˜ùpT8½À‰ ]î0äÂyŽ·v†$…wÝÊ»u"éÄÑ9G] ] !õ-õ‰%‰®F®_ßþº´¾”ês=ûzZEÚ¶‰Û„Gypfûí<ÚŒ.ˆþ-å·¯&5Ûq6!$<5|Ó•M¢5FÇ7í;{Ò©FªÇ€%_«K‹Î.âñyî’:KýÐÌC:ˆilm,~^ì¨ï(–Uq«>¹òIyc¹KÃÝØ=`X€hAúƒ²„IC&=/:‘t¢øy1‡Í™`3a¼õøÎ—xËê- –FèãP*‘Š+Š+«/Û<[ßR¯¦¨ú8T¥>Þz|LaL¯Bx3!‘€ÁÁÝØ]ø»¢±âÓ«Ÿîœ²sÒIT UæüõÔ¯†P-þöþ¿&'ÜÊ»5uèTªÑLÓ,40”Ê«F[Œnç·ïÝÿðéC*‘ I á ø!ï„P“X„±Vc —þ±ôRÆ¥÷¼ÞcÈ1l´m¾˜ð…0’%nK[e¸ÇkuyÎ_çÿ*:Ö™<]^Â^1{îî‰Hølüg#ŒGˆ¶k*iN2ÙAßAI^)¿&ÿ̃3%u%AáAW–_¡Óè„6^!äȽ#6:6ÿrý—º¢úçC’B"Ò#€kjkâ xñEñ¯K•¿mû¶ÇîrÆåðÔðìêìÖŽV?;¿ £6¨*ªö6à¯Õ¥~©‘â x›"7ý™öç–·¶,u_Ú¹ƒèë{„¦ÊD›‰‡?/¦)#u#BÈHó‘¢Y)µ\§ð ˜9Ns¶ÝØVÅ­²ãØÙê¾Â‚z€× ‰ õ-õ‹ÿX<ÏyÞ|—ùb»tÙºy5y•ÜJû¿ï‚¥V¤B¤;L_U¿×vdÖº]l—¦’&õÃ\Ó|Ï:êwZEÚ¢³‹ª¹ÕÝå.–æZõ½Fª¥£%øÏàÛy·¿˜ðEàð@É…ÊÊ !,yµé¤ïD©yQ#ÚçÙ‹g¤S&4ÍnÚÎ[;«¸U«½VKyQ€A‰ ­KþX2ÍvÚb·Å÷úšûæ>ËÝxyã^ÿ½ÔKþI%IGî¡vIy‰‰6÷Åî»–}mÃè ¹«ÆÖÆ iÜŒÜ!ßüç›Y³„5×6Gž.O­ÐÝÛ€{¼V—úX#Åmå®]‘\š¼}âö…® »ìs%ëŠ"Cq¬åXjz¯ƒßñûÃß/e\¢ËÑ…y™yé²uoæÞ¼‘sc¢ÍD*òí7·“î>ª)ª[tîEÛ }  :H¤`hno^vnYnu.‹ÁúOþDwQË2­ðXq1ãb\QœïA_ - n+—ZêiŽÓ)¯²ÜcùÍÜ›gœ9÷蜙¦™ S¥š[]ÞXÎãóBÞ !„œL:ùó½Ÿ5•4ÕÛ:ÚrŸåvð;F[Œ–!à¯Õ¥>ÖH}ý]RI›ÉŽÌŒŒÌŒݵkê.ê+1ééGîaɳŒÕè OêžP¯%®òX¥¯ªOu¦ÓèŸÿ|ݟ낃ŒÔŒ4”4 j ^´½Ð`it^“SˆªHø›A"ýŒNð$=}’EÑó"jí¢ÎÓ?ÔZM:l³ Ïn¹º%±$1£2ƒÂ’g-v[,úe’)É+]pöۻ߆§†ç=Ë£ÕYêöözö„Íã6ÿþð÷œêœÚ¦ZBˆ]ÁßÞË[[d¸Çk½ Tõ·•Û9ª¦ö&ꇟ_ñóâ¨Ü¨œêªE_U…ÇŠE®‹DûO:å»iß}}çëÒúRj].WC×SvR‹;@ñx4B.iöÞ4ɳÄb*++¹\®„nnf~X»`A׫+ɦ©½)µ<µË]ŽúŽÂÚBH5·º´¾T¡`¥e%Z ]×\—]mªa*ú_zªÑLÓL´²ŠÒÎkϯÉonoÖSÑã¨p„KhRj›jKêJ”” Õ E—©|Ñö"­"ÍPÍÐHÍHú€%_«ÔT¿¨îrµØp³µ£õIÝ“ÆÖF]¶nw‹ZBx|^~M>·k¨f(v[:Z=}¤ÁÒènFºùªbß3BH]ÝÍÍì×_ŸÒJHúvIDATzy‰¯é ¯›Íæpz±ì>)è©3ŒÜÜš·l©‘Ð$HIQ|çÃÿü§ØÈ¨c cùÇém"õ ÿ×þ™ìí[>Tè(±GÕÔø††È¢$RÐÏ|}›?V|öLü­~RT”Ò¨QMÿ»,¼¡H@?=º‰Í懆v»F%HPT$Ÿ˜Èš6MÒtxs ‘€~¦¨(˜7¯!$D­¾azmß>M“öÑ£_ t ü™€þôœÁ û÷w»B7t)%EñÒ%ö–-5t<$H@ÿSVæ¯__û믪ééÌž{!„ÖVÚÖ­Ú>>MãÆa:jÐ@"¯Ä¬Y žž-«VéUUaá_€ž dófݧOå·m{6б@/ ‘€WBNŽìß_¡¬,XµJ¯¹jz°¿æÕ«Êû÷W˜š¶t,Ð øë¯Šª*ÿèÑò²2Æ‚˜—èGvîÔÚ¿_cûögÞÞXÊ|A"¯‰I{hhYS“ÜÌ™†¨—èŒË•{ï=½Ó§Õ¾ÿ¾rîÜþü°¼H¤àÕ21i?¾Ôʪ}æLÃ/¿ÔÆš€„‡«Lœhòø±âo¿=ÅÂQƒ¾µ½Óã·öºÄç“°0Õ={4²lYý¬Y ::¼WÀ›¯½vó¦òñãêiiÌyóêׯ¯UWçtPð>Z ¯–l‰¥±Qîða?þPmhstlqqi13kWSãcÉø'àråÊËéÌ„VK‹Üر/>ø vèÐ¶Ž þ)xµú’HQZZhÑÑJ11JiiÌ’Fc#‡É)øPVækkólmÛ¼¼šÇÁáà›Äo"$Rðjõ=‘xcõ6‘BÕ'€ŒHȉ€ŒHȉ€ŒHȉ€ŒHȉ€Œ 2L&s CxUzû'Ÿˆíȉ€ŒHȉ€ŒHȉ€ŒHȉ€ŒHȉ€ŒHȉ€ŒHȉ€ŒþUFe"‚wIEND®B`‚fio-3.39/examples/zipf.fio000066400000000000000000000003351476262051600155240ustar00rootroot00000000000000# Example job file for using a zipf distribution instead # of a purely random workload where each block is read # or written once. [job] ioengine=null rw=randread norandommap size=1280m bs=4k random_distribution=zipf:0.5 fio-3.39/examples/zipf.png000066400000000000000000001007741476262051600155430ustar00rootroot00000000000000‰PNG  IHDRq’÷hVbKGDÿÿÿ ½§“ IDATxœìÝy TÛðï`lÉ:ö]ˆ´­ÔT’¢¢ˆúµ¨<¼ÒNûæ½6Ñž•¨§MiU*K„mö} YS’e~ܺoB¡AßÏ_wΜ{Îwîy½¾Ý{î9ƒ!„Bu»@!„B=æ”!„B¨£0§D!„B…9%B!„ê(Ì)B!„PGaN‰B!„: sJ„B!ÔQ˜S"„B¡ŽÂœ!„Bu»@¡N–››»`ÁâøÜ¹sÊÊÊí:=99ùÌ™3‰‰‰µµµ C__çέÖÌÊÊ:uêÔëׯ?|øÀ`0F%**Æ Û¿Bõ ˜S"„z›?†……Ç>|h×¹ÉÉÉÆ ûøñ#Y",,ÜjÍ‚‚ÊÊJ²D@@@JJŠèš‹ ÿïŠú½àÿõBè?DB©¬¬|èÐ!AAAÖjÍcÇŽ ¥¤¤ä‰'DDDÄÄÄ>üKÃE¡nsJ„Po£  J·÷Áwzz:q0yòäéÓ§·Q3%%…8˜0a‚¹¹9qììì½å|Êf% ÇŽKII·¶¶611€€€77·/^weddÔÔÔ`åÊ•dÊH ù믿^¾|YQQ’’’Í"i6Ÿ²¬¬ìâŋϞ=+))áááéׯŸ‰‰‰¡¡!…Bé”k‚Bl‡÷)B=Ì›7o¾—SZ[[Ckó)™K×­[WSSC|üçŸ=ZTTÄÜlaaaaa!XXX4륤¤„¹fqqqqqq³:Ìó)ýýý-ZT]]Í\áðáÃ&L¸víÞÑDõ¸–B¨‡qqq ý*88xàÀäWRRR?<ÝÙÙyݺu·nÝ"ï\;vìúõë&&&¡¡¡:::D¡™™ÑE³›”0a„ÐÐP===âãäÉ“Éx¦NÚ¬r\\œµµ5‘PN:ÕßßßÃÃCTTBBBæÌ™ó3—!„º¼O‰êa´´´ˆƒ±dɒׯ_·oßnfföÃÓW¬X±uëV˜>}zJJʳgÏÀÃÃcÖ¬YÒÒÒä]CYYY:Þj D^RRRdÍþù§Ye77·úúzPTT¼uëqÿRBBÂÒÒ~ü8q¼|ùrWWWOìÛ·oËãÚÚÚÎ D.uÉÜoŸ>}888šU@¡ sJ„PϳuëVwwwâø?þhתäjAÌÇrrrmœbkkK§Óétº§§g{CUTT$ÒÒÒÈÂÌÌ̦¦¦fB¨GÜ!Ôøºº’›%Ο?ÿäÉ“íZ‘çÀïß¿€äää«W¯…ÄrBß–™™ÙÞhgÏžMûF!„B…9%B!„ê(|öB!„: ïS"„B¡ŽÂœ!„Buæ”!„B¨£0§D!„B…9%B!„ê(Ì)B!„PGaN‰B!„: sJ„B!ÔQ˜S"„B¡ŽÂœ!„Buæ”!„B¨£0§D!„B…9%B!„ê(®vÕ~úôi^^^…‚êjòòò£Fbw!„z! ƒÁ`½¶¥¥åµk׺.„P—²°°ðóócw!„z¡öݧü; ¡ËÒÒ’Ý! „êµp>%B!„ê¨vß§Dý抋‹kjjØB¡.ׯ_?Ö+ã}J„B!ÔQ˜S"„B¡ŽÂgßÝÝŽ;ˆƒ‘#G³5–ÎññãÇ}ûöÇ666JJJl !„BsÊîÎÅÅ…8X¹re¯É)ÉE§Ó1§D!„z|öB!„: sJ„B!ÔQøì»÷HJJzúôiqq1Ï€ÆÏÃÃÓ¬Neeå;w ”””¦OŸß›ÚØvkïÞ½;vìq¼téR11±û÷ï'&&JKK?^NN®íNB!ÔË`NÙdee-Y²$44”¹PZZÚÓÓÓÔÔ”, ¶²²*++#>*++_¸p¡åÔFVZ{÷îy¢ÁÆcbbˆ}úôùçŸÌÌÌÈNgÏž]^^ÎÜi§ýr„Buøì»Ç+));v,‘ª««¯Y³ÆÊÊŠƒƒ£¨¨ÈÌÌ,88˜¨–““cnnN$”òòò+V¬ÐÒÒš={öϵÆláÂ…|||+W®”‘‘€>888|úô‰ì”H(W®\9xðà–"„B¨§Ãû”=ÞÞ½{óóó ÿþqqqüüü ¥¥µmÛ¶ÆÆÆ5kÖ¼xñ>üþý{èӧϳgϤ¥¥`Ù²eÇÿ‰Ö˜ 6ìæÍ› ÅÚÚzÔ¨QP\\œšš:xð`²Ó¾}ûÆÄĈ‹‹ÀªU«>Üå×õŸ?SÒÒ¸ËÊ8?|Àß"ÔQ( AÁ&yù9¹z …ÝÑ î sÊ/008!'Gæää/_¾,,,”‘‘ #J¦L™B$”°xñâf9%‹­1ŸbggG¡P@MM,ÌÏÏpr²;Ô-aNÙã½{÷Ž8ˆŽŽŽŽŽnYÈÉdB RRR?×s ùF777YØÔÔd§’’’äW?üQ¨·ª­¥œ>-rú´0cÒ¤ÖÖ%ZZuRR}ú4±;4„P+šš ªŠ3'‡ÏÌoo/¥ P¿iSÙĉØêv0§ìñh4Zii)èëëOœ8±e"qÍÎ΀’’ò«·oßþ\kÌ8¿þ‹•Òâ¹Ùiqq1YÈú­<|ØgçNZu5ÇŠåsçVc‰P÷ÇÁ""""C‡~Z´¨2'‡zø°¨ƒƒÔ˜1]\Þ)*Ö³;@Ô`NÙãMž<9)) ÊËËœœȯ _¿~MÜG¤ÓéqqqðàÁƒòòrQQQðòòú¹ÖX4vìX¢ÓÀÀÀÒÒRâñ·ÏÏþVÔS1°¿è©S"³f½wr*£ÑÙBèg(*Ö8PàN9ý>&MúÀËÛÜ‡Ý ¶Áû”¡NVWG‰‹ãµ¶ÆM8{~ýú¥§§³; Ô­Q©ŒQ£jŸ>åûßÿªØ b¼O‰êdÜ --œªß{ddd¨~•ššJ–GFF.[¶l̘1ƒž6mÚþýûËËË¿×Î;wLMM  ¯¯¿wïÞ?þ’ðÑ/2`@]J 7»£@lƒ÷)B¬¤„¤¥qNU/·gÏž³gÏ’’’’’’’®^½êã㣡¡Ñ¬þ… .]ºD¿}ûöÌ™3±±±—.]¢R©¿.hÔ•¤¥‰?þè÷„÷)B¬¶–øøp2eoH&”k×®ý÷ß eeeŽŽŽ ÍÿQ|éÒ¥„„„½{÷rrr@BB‚··÷¯ u!~þ¦1¯ø}áØ#„:±9.QÕ»]¾|™8%B¡ïº~ýúúõëÉK—.ec0¡î ïS¶Ã•+WètzBB‹õ===ét:ósÔS]¹t:°<ôàé t:àУނ““SYYyãÆ‹-bw,¡n ïS¶C^^^XXXee%‹õ333ÃÂÂjjjº4*ô+äåAX°<ô™ aa€Cz¾Y³fÍš5‹ÝQ „zÌ)ÛÁÊÊJWWwèСìýrVV « 8ô!„Ðw`NÙòòòòòò쎱ƒ¼<àÐ#„Bß×ÃæS’3“’’.\Ê\g×®]t:½ªªªe!ùšl'!!ÁÁÁaÊ”)+V¬ÈÎÎ&¾½qãÆÜ¹s·nÝÊÜNËù”¾¾¾óçÏ722²¶¶öôôüôéS˰ãããííí‰%‚‰'H ãÞ½{vvv&&&ÖÖÖýõWaaa‡®Q÷WZ ÆÆ`aµµÿæåÁ¤I0o44´~9C1) ÁØ.„o‡ví:¾ú/…äch²„pp€)S`Å ø:ôpãÌ ÆÆ°uë7í´œOÙØ¾¾0>µ5xzBkCññ`oÆÆ°x1|;ôÀ`À½{`g&&`m ý½~èBõ^=ì>%1CñîÝ»›7o&×K»pá•+W,--‰IIIaaaõõõÌ'… _ó¢ÿ­[·~þü¯^½ëææväÈ¢Úƒ‚ƒƒ£¢¢ˆÍæS~øðÁØØ˜9G¼råʱcÇ‚‚‚$$$ÈÂû÷ïïØ±ƒèÎ;wôèQGGGâã’%KÎ;ÇêîÝ»UTT:x­º/qq˜5 ìì@P¼¼>KKˆ‹ƒÇ¡ÅÞ_3ïÞ…Í›\*ï¸r¾=$%AX|;ô_ ÉT•hÇß¶nbPáêUˆ77ø:ôðàÃסo>ŸòÃ06þ&G¼rŽƒ  `z¸v쀯CçÎÁÑ£ðuèaÉøvèa÷nHL„^<ô!„z¯vŸ’°~ýzccã‹/Þ¾}ÛÖÖ–Á`lܸñ'ÚÙºuë¬Y³®^½zýúuCCÃââbssó3gÎlÚ´éöíÛ^^^ŠŠŠOŸ> hõôM›6EDDˆ‹‹»»»xxx(++¿zõÊÁÁ¹ÚöíÛ'Ož|ñâE;;; …²zõê””(++óöövuu ¸~ýº‹‹‹¸¸8óò½ÓÀ¢Epîœ9°z5<{nn0zôN\¿ŒáâE¸}lmÁ€ŸzغfÍ‚«Wáúu04„âb07‡3g`Ó&¸}¼¼@Qž>…ï =lÚ .îî ¬ ¯^Á·CÛ·ÃäÉpñ"øûƒP(°z5¤¤”•·7 ƒ«+ÀõëàâââÐë‡!„P/ÕÃîSæÏŸ†ÈE¦M›–––VRRÂ|w‹-:yò$qldd$--ëççgaaAJKKO™2%::ÚÄĤٹ ^^^¼¼¼êêêD¡•••††ÆÍ›7‹‹‹%%%‰BSSSâØÜÜ\ZZÚÅÅÅÛÛ{Ïž=T*•Á`ÌŸ?ݺuD…™3g®_¿¾©©©}W¤'òð€øxX¾²²àøq˜=V®üñYóçÃס‡iÓ -  ¤Ú9ô°h|z02iiˆ??ø:ô - S¦@t4´zhh//àå…ˆø:ô`epó&ÃסSSø:ô`nÒÒàâÞÞ°gP©À`ÀüùðuèaæLX¿~‡¡G!ÔõÈû”sçÎeþ¨££eeeímÇÊÊŠ<PQQáææ633# ‡ ùùù-ÏÍÌ̬©©?~<™P€˜˜˜……ƒÁxùò%Y¸xñbæ‰DAAÁ+Vxyy999ݽ{777xxxøøøÚû[z>>¸v xya÷nÐЀ³gY:ëÛ¡€ö=0 =€Š psÓÐÃ!­ =dfBM ŒLCbb`a 0 =|;ô_>aÅ ðò''¸{rsxxàwz„B½QÌ)EEE™?rss@ccc§´ú-ó®µ@¥RûöíËÅ4ŸJ¥@³©™â]œf‘%Ìoê ·¬Pûõõ”Çß»w¯±±ÑÕÕuРAÊÊÊîîî £ßÒ{P©ÀÉ   }ú°tJ³ ÎÍ ÐæÐ·þí·CT*ôíûÍTN*šOÍ$ƒÛbè¿”0¿©óíЩ@¾™tø0Ü»àê ƒ²2¸»Ão2ôpâDêõë9쎢Ý6°.Òì÷þn?!ÔRÌ)ÛFäp¥¥¥Ì…¯_¿îÜ^¤¥¥àßÿmöœ:&&dddÈ’¸¸8æ ±±± ++K–Œ;öàÁƒOž<)//ß¾}»³³óÑ£G;7Úîèóg°°€êj˜9>„;;¡M"‡ûv衳‡¤¥þý·ùs꘦¡‡o‡bc˜†ÆŽ…ƒáÉ(/‡íÛÁÙ~‡¡ï˜ãÇ“¯_Ïew­è¶u‘f¿÷wûù¡–zaNÙ¯_?8tè‘í544lÛ¶­ÓsJqqqäää 672 Æ‘#G=z$%%E<4'ìܹ“È# ''gÅŠ`dd)))nnndúËÉÉ©  aaamw´jÄÄÀpõ*Œ;v@PPGÛì×àС/Ù^ClÛÖù9¥¸8èè@r2lØðåF&ƒGŽÀ£G %LC;wÂס‡œX±ÀÈ %ÜÜþK99AAàwúŽYºTcÖ,vGÑŠnBý½0§œ3gŸ§§§¼¼üˆ#¤¤¤öíÛÇœäu–}ûöqpp¸¹¹III >\ZZzåÊ•D9ót99¹#Fhhh 2D]]ýÕ«WC‡%¦rVTT¬[·NJJJQQqôèÑ'N€#Ftz´Ý‹¯/œ8VVà蜜pù2HJÂܹ­Ï_dÝœ9ÀÇžž /#F€”ìÛ]0ô°opp€›HIÁðá -ýå£}û¾y€.'#F€† êêðê úe*gE¬[RR ¨£Gƒ†LœÐ뇾ÃþüS}Ö,EvGÑŠnBý½0§”’’:{ö¬PaaáóçϹ¸¸üýýØéMœ8ñÎ;ªªªååå111ÅÅÅ222.\˜?>sµÃ‡Ϙ1#%%ååË—Ÿ?ž8qâýû÷‰9 ëÖ­ÏÍÍ}úôiJJ FÛ¶mÛÚµk;=ÚnäͰ· ÿÞà–’‚+W ¢fÏn} #‹¤¤àìY‚ÂBxþ¸¸Àߺ`èaâD¸sTU¡¼bb ¸ddàÂøvèáða˜1RRàåKøü&N„û÷¿ÌÕЀuë@\rsáéSHI ¶mƒÞ=ô¡å¼½ÆFÆ“'%gϦ{z¦¿­«keíëו.dž8‘êïŸ[VVÇ|î‘#Éwïæ@FÆ{ŸŒÓ§Óbc[yëëdž۷óNžL½y3ïdžêêú#G’?~Ûj`¬7ÛFl]•À*+?7ûidaxxq—†‡êÑzØZBvvvÆÆÆªªª- •••É’9s昛›¿zõŠ‹‹KKK‹››[YYÙÖÖV@@ vN:Õl!!¡ÐÐPrU âÅ"$L:uêÔ©éééÅÅÅ¢¢¢ ¥Y`ÚÚÚþþþ¹¹¹²²²ÄÓm±2åÞ½{óòò i4š¢¢"ñbPoF¥ÂÝ» ®_‡ÀÀbc¡¢jjš¿@C°³ccøvȾ2 =Ì™ææðêpq–psƒ²2ØÚþ×W«íœ:Õ|!! ýoU âŦ¡‡©SaêTHO‡âb `ú/½hkƒ¿?@n.ÈÊÓÐY™rï^È˃ÂB Ñ@QzýÐw†ãÇ“ !獵¿ÿóÏ謬²‚¤$ïÑ£#tt¾¼Dõî]ÝêÕ1OŸþ7Ë–kûöÁŠÐÐÐtäH’¡¡tAÁGw÷7ä+R³g+îÞ­CžòêU…]tié—ÿH$$xwîÔ>r$iÞ<:]ªe`,6Ûvl­ºq#7/Ο¯""ÂÝêW¬VUUßì§‘…66ýÆŽ•lÙ,BAË)UTTZn0Ój!//¯žžùQSSSSS³íS† Ö¬„J¥Òétò#ñþ””T³jªªªÍÒÓ–½ÈÊÊ2¿—ÃŒB¡(((0çš½œºú7«ðÚ~H­¢ÒÊ3­òòÓЃ¦&0 }ë§´z Ri迼ÓbèAUµyzÚ²YYøÎÐ… ðû }g«­mX²$ª à£Œ ÿ¸q’T*GddIFÆû?þxzÿþD ÞÆFÆ<}õªBN®„wNNMPPѦMñªª‚C‡~ù×KBByHÈÛqã¤ÔÔúºw/ÿêÕSSùÑ£ÅàÇ{ûèÒÒOÊÊúúŒððâãÚ íÇͲ[37näFE•¶úÉÄDö{9%+!„ÐÏéa9%»8pàäÉ“iiiÊÊÊÌ7DQïwàœ< iiĤõ) IDAT ¬ 8ôÝÌ;utD}|ôùø8 ¡±jUL``ÁÅ‹Y«Vi>|XøêUÅ´irîœ_n$¿zUaavî\úáÃ_þíQVVwâÄHCCi⣄³ó¿¿%r¬;wòKJ>+yêÔH*•jk.Œüásê¶›e1¶fÌÍtuim÷+*ÊÓ‘ÀBèç`NÉ’ÔÔÔ´´4IIÉóçÏ3?ÝF½_j*¤¥¤$œ?8ôÝL\\¬\©I$”ÀÅEqrXðï¿eYüü\'O¦˾2À`0©¯^Uí  L&X@<ó-)ùò¤;>¾–/× JàããZº´¿­íÓ¶Ãk»YckÆÜ¼îj·BýÌ)Y²fÍšeË–õïߟy2%ú-¬YË–Aÿþ€CßýTU}æByù> TV~€òòÏpåJvÛíHK³}?ÿ—[žÌ½ÈÊò3ב“ûñ*ým7ËblÍtp>%+!„ÐÏÁœ’%ê­ÎÿC¿únLHˆrskäåÿKøòò>0 ,ÌMVøßÿ”ÅÄx›ËËËêªD#%$þk$?ÿCÇbÿÉØ:e>eÛˆ›¾?60þ ‘E!Ì)B=•ŽŽØµk9G&ëèˆòñq@c#ãÀD6L F¢ùùe762ûspü7u¡´ôSQQí÷šmF[[ôúõ”“'GrqQ ®®ñäÉÔÿs±uÊ|ʶÑhåÅ‹YD¡„ïѣÉçÔœœ”³gG¯_ÿoHÈ[?¿lòDII^JèÓ‡ëäÉ‘vvO33ßgf¾qqÞM›­]ËÏÿóÿ í”Øºˆ³³V\\yVV ±ð§¼<¿««ÎâÅQì !ÔÍaN‰êI–.ÕøïÙ®ªjßÀ@ÃÈÈ’ÔÔêÆF†ŠJß±c%xx8É ""Üžž£22ÞÇÆ–•—åVRÐÕ#–ïáââX±BSEå›·|ˆBUÕ¾dÉ!"ÁÁFÁÁEEEµRR|††Ò!!EðíË.̱ØlÛ±uSQéûèѤG KJêääø ¥êêšV¬Ðd^5³Ù@4ûˆú QŒv¼ëgii ~~~]ê(ʪU«<Èî@Pgê¬?¿ÅÅÅ555mT¸wO`Å ÉôôŒvÔ}¤§¿—•å'W,ª¨ølež™ùþîÝ Bì ¡î£÷ýÙGýúõc½rûîSË4ÊËË·3$Ôóxzz^»vÝQ ÎTVV¦¦¦Æî(z¤Çßž<™:z´¸œ\ŸââÚÇ‹«ª>%Ž %B‘ðÙ7j]»n`#Ô»©© ÖÕ5Þ»W@– $²¿.CB¡î¦}9¥ººººº:>ûîõ(н½=>ûîeˆgßè'Œ'9åéÓÒ¼¼œœ NÃm•BˆÞ§D¡¤Nž,Ãî(B¨ûbu' „B!„¾sJ„B!ÔQ˜S"„B¡ŽÂœ!„Bu攵cÇŽììlvÒ\· ¬g‰ÊˆÚq{GvY6»i®Û†BP][[Ëî{`N QQQ...ìMÝÂÃÃwìØ‘››Ë\Øë¢Ò£\î¸d¿Ëfc á©á;nïÈ-ÿv|»A`!ÔÙN5jË–-ÉÉÉìŽýj˜SÂèÑ£·oß®¤¤ÄÆÂÃÃ]\\šå”Ý!°^`´êèíÓ¶+Ñ”ØCxZ¸Ë—f9ew !„:ÛâåË—GGG›ššÎ™3çÎ;õõõì ý"¸>%Œ=zôèÑ쎢Ý6°žet¿Ñ£ûuÇËØmëÎêë^^¨+¯»fìvÇò]ññnÝÀ™î¬-«MöˆÈê bK–,Y²dIll¬³³³››ÛÒ¥K---999ÙêZ¿(§Œ‹‹ c0zzz7oÞLHHX·n???Y§²²òáÇYYYT*UWWwìØ±äWAAA"""wîÜIOO—””œ1c†¨¨h³ŽXiDXX8 55uذaFFFQQQ>´±±a¾#X]]”‘‘ÁÏϯ££3jÔ¨¶`NNNPPPqq±¨¨(N×ÐÐhÙ¯  à­[·rrrddd¦OŸ.,,LT8þ|HHxyy€’’’M«±ÒѯR§‹Ë K cÃ@Í@OIïfüÍ„¼„uÆëø¹™Æ÷cåÃćYﲨœT]EݱêLC“‘á0ÎA¤ÈwÒKÒ%%g !Ú§Åø²Ðˆ0¿pÀ«€Ô·©Ã‡iEeD=|óÐfŒ’˜Y¹º¶:()(£4ƒŸ›_GAgT¿oYNPRPqu±hQzº†ÓeÿÚ¯ Ÿà­„[9e92Â2Ó‡Læÿ:¾Oχ$‡€W„WPb(Ñ”lFÛ´+ýð*õbMŒ¦çyÏyÙÈw545lº¿)½,Á`TÔVåÝ?r„:—®®®®®naa¡‡‡ÇŽ;Î;·råJccc|@ÚkuyNÙÔÔäààpúôi²dÙ²e555>>>ŽŽŽdNéååµzõêêêj²š¿¿?F€   WWWõëדS4ÄÄÄ‚ƒƒ‡ BžÂJ#\·n]VV¬Y³†È)]\\èt:™º={víÚµUUUd;úúúaaaßû“°iÓ¦}ûö566)Ê’%KŽ?N¥RÉ~µ´´œsrrˆ:4íÆúúúpþüùÐÐP8wîñí¸q㈜²Y`¬tôëԹšMN?aßñËjêj|¢|'8’9¥W„×ê«««k™†FÍÀ©?M€A‰A®®:Š:믭O~û5r±à5ÁC䙯—…FÊ\wm]Ö»,X3i‘–1m‘ÞŸN¦ng#ή½º¶ª–i|UõÃÖ…qP¾3¾76í ÜרÄtÙõ—ÿßq*'•ìWKFËùšsNÙ×ñ ÝXvC_UÎ?=š ç"¿Ž¯ú8›Ñ6-c¥£^%Ä^§¢O×Oé?å^ò=vÇ‚ûÉÈÈìÚµËÎÎîÈ‘#«V­êß¿ÿÎ;»î¯$Ä^]žS:tèôéÓœœœfff***)))Çg®sëÖ­%K–pqq™˜˜hjjÖÕÕ=zôèÉ“' .  «ÙÛÛsqqÙÙÙ &&&:::>yò¤],]º”››ÛÖÖVVV¶Õ»~~~¶¶¶ §§§§§ÇÉÉùï¿ÿFDD455µšSzxxìÙ³‡B¡˜ššjjjfggß¼yóÌ™34mÏž=dµeË–qssÛÙÙñòò%&&š››'''‹‰‰-X° ©©)44tÑ¢E ÐêJ;jû*uºCA‡N?9ÍÉÁi6ÔLE\%åmÊñÇÇž߄[K|–pqp™ 6є֬«¯{”øèIÚ“…^ V0ï{..»±v<o /:>Yÿ¤],õ]ÊÍÉmk`++,ÛêÝG¿X?[[ÐSÒÓSÒãäàü7ç߈ôˆ&FS«9¥G¨Çž{{(Šé`SMiÍì²ì›ñ7Ï<9C í™É4¾—qsrÛµã¥ò%%&š{˜'ÿ,& ¶`Ô‚&FShrè¢1‹D Õ9”,vÔöUBì•]‘}<êøöIÛSKSÙ B݈¢¢âþýûvíÚ5{öl[[Û+Vððð°;.Ôɺ<§Ü¿?GPPN'JnݺeffÆ\gÓ¦MüüüáááÆ #J †………¿¿rr2ùx·_¿~=âãã€={ö <822²ººZPPõFäääÂÂÂúöíû½€7oÞ K—.% #""¾7dïÞ½pýúusss¢äÙ³g‡Þ²eKŸ>}ˆBiié'Ož¡644XYYùûû{{{¯]»vÁ‚¹¹¹¡¡¡‹/&î\v¤£¶¯R§Ûÿp?…#hM½?(¹•pËÌãÛñ½±‰Ÿ›?|]ø0E¦¡9iáçŸü6™|¼ÛO¼ß£5ø¨|°§aÏ`—Á‘‘ÕµÕ‚|‚¬7"'"æÖ—÷ûã{c3xüÏc)i|Ó#8)ßßû{àúŸ×͵¿^ö¬g®‡ƒo1ÙÒ‡çëø I?Y÷„µ¡©Áꔕœ¿w”÷Z£µ F-È-Ï M]¬¿˜¸sÙ‘ŽÚ¾J¿ÏŸ/Æ_ŒÎ‰nb4 “6Ø|~ê-JjJü^ú¥–¦ÖÔÕÈ Ëé+éªR(”®ŽjKà–¡2C-[î ÞõÃÊ Ã#Ê#*;Êl Ùì!³»:6„ØNMMÍÛÛûþýû[¶l¹ÿ¾«««žž»ƒB©ksÊœœœÂÂB###2¡€3fèééÅÄÄ‹ŠŠûõëwÿþýû÷ï3 ƒÄMÁØØX2\¿~=‘*77·¡¡aJJJQQ‘   ë8;;·‘Pæçç§¥¥ééé1'”ð½T/777??̘1dž#FŒ°´´¼xñb\\œ<™Õqqqýõ×_þþþ‘‘‘k×®eåJ¶«£ï]%V:j—œ²œÂÊB#-#2¡€Cgè)éÅdߪ¢ÄÂÄ~âýÿ5ÓÐP8 6;–Lׯ'R%àæâ6Ô4Ly›RTU$È'Èz#ΓÛH(ó+òÓJÒô”ô˜Jø^ª—[ž›_‘?Fu ™çÀå–º–Ÿ]ŒË3PûzÙדY×_3þòóL\kÄÚø¶§£ï]%V:êšM‹®,z–ûŒø’âÿÊÿò¼Ë"|"Zš:ûŸÙ5u5d}ß8ßÙCfïž²û{ îÞýúíë¶;uŸæ.#(ÓF¿~ññKXI^ëêÖ¬»—|où˜å˜P¢ßÊ”)S† ²yóæyóæ999ýñÇìŽuš®Í)+** µ'¹JJJdNYZZ [·nmÙó¤Fyyy毀X¤€õFÔÔÔÚ¸¬¬ ú÷ïßFfÄTQQiVÞ¯_?(//'K”••™+‰Ó;·£6®R§«øX̯˜”hJdNYú¾2J3¶Þlmh˜&5Ê‹~9Ô7Ö·«5‰6Ç·¦ úK±<¾*@E¼Åeïå˜Æ—öíøÒ”áëõéÜŽÚ¸J¿ðÌpuôuj4µ¢÷E§ŸÎ(ËØ´sÿ´ýp9árM] ½Ýl ™0¯p~U~DVÄûº÷m4˜\šü<ïyÛÖÖ·µŒsùÇr×Ç®+ôW(‰(ý0þwÞÙ_³O.M>8ý ©¦éë#ÔËÈÈÈxyy;wÎÕÕ599yïÞ½Ä[¨§ëÚœRDDZ®ÚÍ\BÔ0`€¥¥eËX¼1Îz#\\mýd111HIIa¥S²ßÌÌÌfåÀüÂuVVóôMâ%!âôÎíèWဖ;Á0¯ãMÔ 3ÀrXkC£ÄÚø²Üg›ã+ )oYß>"YÚâ²—fó ×Yﲘ§o/ awnGÀ8o}~€äâã)“<'$ümü7?•Ÿ‹ƒ ÜMÝ…ù¾¼zo=ÔºúSõw›Ø8~cu][ í›”;ƒwJ÷•¶aûÃàSJSþðû£®¡Îw®ïP™¡?¬P¯D¡P/^¬®®îèèhooïááA>aC=W׿”ŠŠŠ222AAAáááä²>wïÞ%oR€¼¼¼ššZQQ‘……ÅÀÉrƒñðáCrrdÛ:¥““SSS‹‰‰ñôô´³³#Ë###GÝò‘–‚‚‚œœ\ddäíÛ·§OŸNÆÆÆ^»vOGG‡¬éêê:mÚ4â±{CCömÛ`̘1Ä·¼¼¼ðííÆŸîèWRS”– J O '—õ¹ûò.y“äEåÕ$ÔŠ*‹,†Y ”ývh’“#ÛÖ)€œˆœš„ZLvŒg¸§ÝX¦ñMݯµñU‘‹L¼ýâöô!_/{v쵯ñQùt˜Æ7ÐuÚiÄc÷†¦†m·¶ÀÕ¯ãËÅ ßÞnüéŽhJh’ %ˆð‰ª^{y-ý]ú`éÁs´çÜx}ÃîšÙ@³Rû‹÷çáâi{MIÍŽÄ‘àoãÿ½Y¹¤”Ò”ÙfK J_úß%Y!ÙŽtŠP/ ¯¯áÂ…Å‹ÛÛÛŸ9s†›››Ý¡éòwtV¯^íììåÁðƒ¼TÞ]Aÿ½—“S‘îaîgžÙ4qÓ@©/ÿ¢rR998«?UøüáÇ¿¡ßÀ AƒÎŸ??wî\''§Ã‡ÿ‚wéP×ù9eRR’——×µk׈’¥K—ݸqƒÌ„ÌÌÌ|}}—/_þàÁƒ…S¦LiûQ5³NifÏž]^^îììüüùóçÏ¿L±200øÞâ”Ë–-ËÏÏwss»sçÎ;wà벑ÿý7sµcÇŽ999:uŠøH¬OI”Ô”8\wXpyA¨C(Wëk—tp>åÇú>hÙ±¢PÕ§ÿæûªˆª5;jsÅfŽïœ3–gÈ]vúijjž¼û;èï-†[¸9¹ †w¬÷ó¼ç   àë­!®1Rq$QY„OD€G ¤¨$»"»¿xë¯gup>¥«‰k³Œó¿SÆ9iËjkH|ó_KñþWæ]YpiÁ‚Ë NÌ<¡¯üÝå¥ú}Œ1bÆ {öìÑÓÓÓÕÕew8è'Qˆ5YXD¼ãçç×®>bbb˜ß’9vìØòåËÍÍÍýýýÛÕNµaÃWW×øøø¡C{Ì|| …²jÕªƒ²R9&;†ù-™c!Ç–_Zn®mî¿ô÷ßë\]ã·Å•ïîãûs~[*..®©©i£Â½{+VH¦§gt°£–êê´Üµú‰õË«Ìã¥ò*‰(½/*­)€#fG¦jL€EW=ÉzÒ‡»‚°7wfYæûº÷"|"áKÃÉe˜ºÚΠޱޞžT'0Gn¨fxrÖI(©)YteQfyæþiû‰°ê:øgßÖÖ6//ïÎ;8±²û –—aѯØï{„ ƒ ÒÖÖ¦R©±±±‘‘‘°jÕª_Ð5ú&¸O$7H[^›ÊI͉L€U†8¾¨«(‹*;Ó7ÞÛø²è%ôåé»qÂF23[¤·¨‰Ñ••T’D”ŒP±iâ¦_–P²BB@ââÿ.ÚúÙ®ºµªúSµõPkvG„û¹¸¸Ÿ;wÎÞޞݱ Ÿñ+rÊáLJ„„<}ú”øÈÃÃãîîN¾ŽzºáÊÃC’Cžf|_.wKwò5p„:•“ê;×W„OD]\}œã¸´wiMŒ&uqunÎÿîjŒU;VeìÇú99 CZPšX ýWš?lþ$õIÌÚÉÈÉ!^¡óÖç_½¤P(ŒÆ¾3ŽP¯'++kccsúôéyóæ±òîéâÅ‹UTT¶lÙò bkUIIIHHHXXXUUÕôéÓ­­›ÿã°¦¦æáÇ ùùù<<>>Ä3cÇŽ¥P(>>>/^trrú5¿—˜S"„B¨»6l˜€€@dd¤¢¢bII‰ŸŸ_jjjMMœœœ¾¾¾¡¡!¹.:ó|Jww÷¸¸¸–­-Y²dâĉÄqUUÕµk×âããkjj$%%'OžÜrÚ"ë~¸H_Ë)¡T*uôèÑ)))äsbGJIIIæÔ“XCܬòÅ‹ÕÕÕ̯`ÛØØøøø„‡‡9e}}ýÂ… uuu—/_îëëÍÁÁahh8sæL())9þ|rr²€€€¥¥%¹‡_§Ãœ!„BÝ''çСCtuugϞͼr™¯¯ïìÙ³wïÞM|džO™’’BN7d6oÞ<â >>ÞÎή¢¢‚üêúõë–––{öì!>îÞ½ûõëí§åîÞÁgͯ^½âáá!·ŒîÛ·ïÈ‘#cbbBBBˆ÷Ó§O§OŸ€I“&uÒÓÓ`È!ÌíÈËË gff›ššž?. `kkK¬®>ÌÊÊ233ûßÿþ÷îÝ;¢0 àìÙ³]ôž4æ”!„êFTUU._¾\SSC§ÓÍÌÌ„……óóó#""Þ¿ßê)NNN¶¶¶äÇÏŸ?oÞ¼yòäÉS§N€šš‡ÊÊJ333:.$$”››ëíííçç7jÔ¨éÓ§@rrr«Y)³ÚÚïî§ÅŠ+W®ÄÆÆ®Y³†yÓ“,_¾ÜÎÎNQQQXX8++ëóçÏ«W¯ž±®®®°°PRR’ùþ¥s¢¯V ™ïnv¢öå”#GŽ„ÎØ/usíÚïõÄ~ß!ÔÍUUU™Ðüùó‰%uJJJ,XÊü–4‰Á`lذ¡±±qÿþýÌ÷€ØiÅÅÅ¥e>J&y]4ŸÒÃÃãàÁƒ&&&hùü://Zì©-&&&,,\PPÐØØÈÉÉ9xð` #>užY‡#'—$ ðÌ<{¥ÁÊŽœ,þê-†[vïŠÎ‰nljÔ•×uçÜìš#ÔqoÞ¼‰‹‹[¾|9»A?Ÿ}wG\\\t:=((ˆÝ .ÁŵŸN— šÍî@zªêOÕVÿXåU棲£æ_žÿÈî‘ß—¹D{C÷žyv†¬ŸXœø×£¿â âNÿoÉÕªOU³/Ì.®)&>655€Ý5»Ì²L²N|A||A|IM‰Ã¨ÿöRûaïÛn¿‰8ΫÌs u}óöM³ŸÀb„Ö¾ÖEÕEÄÇ믮WÖVZ µúÓÿÏÆ¦F¨­¯õˆòå]¨»°#g±ò««>UY]°"/Wxfxl^ì•yW0­Dkß¾}ƒ3f »A?£ósÊšššNo³StÛÀXÔM⯩YÉîZ×mcQOÿWzž÷|¸üðÃ3«ÑÔŠkŠ·=Ø•uëÍ-]xSüæÌ³3¼\¼ëǯ7îoL夆e†ýô÷Ä;&š&†j†D#1y1Ú²Ú3=4$4x¹x‰BU1Õ?Fü¡+§+'$÷©áSrIò¶ÛNFŸücäœNVzYôòRü%­†['ªNlhjL ܲ‡9~Ö#£4ÆÓÂSYT9µ4uÅÍÁéÁ±ù±6º6 u ó ‡¤‡¬½³öìó³Ì9åOœÅʯŽÉ‹*3ôøÌãêâê…ՅæºU ÿï$‹Šò‹ž˜u‚ŸÊƒ¥/¾Äå‘Ë0¹a'l$*˜jšÞzs+4=´¶¾–Ê÷Óg±ò«ù©ü§,N‰ñ‹@?±~‡f29k›ûîÃ;ZVßB@¨ 7n455e~óõ,ÿŽŽ€€Ng.¹pá¨Q£úöíËÏϯ££sôèQâ1),,lÚ´i4››[YYÙéÿíÝ{\ŒÙÿð3ÍLM5ݦûýž.’"ÄD’\¶¶BKìÚu.ËbÃî¢ýú­]B‰µX¹u!÷¶BšBRa#t×Åt/Ñuf~<ö1;Õôt“ôy¿ösæ<ç|ÎÓ«õqžsγa~–}ss3‰Druu-//÷ðð`0’’’oíär¹»wï622Ó××((( ‘HÞÞÞF°Yá±uEÈxñ~ ÜÜÜdee¥¤¤fÍš…÷Ëb±H$‡ÃILL$ý [CÙ£K|€=E§ÙÙûoOml"¤¤‚$$­¬Ngp¹<þ II¯œ/((Ý««{tÃ†Û ­ÿÆÙN"¸º^,/ëáq…Á8 )äàpþÑ£Jþ¸\ÞîÝŒŒÂÄÄöéë xPPPO"x{'vÁf…ÇÖ!ãÅû-(¨ws»(+,%4kV4Þ/‹UJ"p8¼ÄÄb)ûïöíW=½±ÄøY2S1ÃR:Œ¦¬&B¨±åýD~aM!BÈÞÀžÿìcQm^bªl*PÖ7×Ï99çäÓEµEü©B¨¹­™`ïX¶º¶ü—OÖÌÿ‘`„fÊfXjˆQ—QGÓÇ•š”B¨êmU¯¯"8jSeS,¡ÄPD(6Ú6Ðk<ÏÏÏOTTô×_ìX@ï ø<åÆð™™™™™™wïÞ=}ú4Vºzõjïý_–………{öìILLLII‘xÿƺº:&“™Ÿÿ~ÅObbâ´iÓrrrð]úkÖ¬ ÅþœŸŸ¿qãÆŒŒŒncë¶Y"±õt¼¡šš[[ÛÒÒRìã7X,‹Å²°°è6æuÔíûnãÆ¤€€§¹ffVdfÞ¼{·ìôé÷§È††>Z½:þß[ˆ ë÷ìIOL,NIñ þg “y:?¿þß8‹§M;Ÿ“³TAáýÔËš5 ¡¡ï³áüüú“22ØÝÆÖm³DbëéxB55Ͷ¶gJKß'7n°X%,ÖB ÅncîQGÝðs…?ªÆP'ɺ}v&+.+Pý$º¼¡ÜÑÈчé£-§-N'‘H¿Äý‚/Ž$Þ;ÝF(Fé䯅X#\·« Ý^EpÔ½DüöÛoÉÉɰÝ{Hس„222ÄÅŃƒƒËËË«««O:Å`0Μ9‹ÊÏÏ÷ññ‘•• +//onnÎÎÎvwwÏÊÊ ÂÛIJJÒÔÔLKK{ûöí‹/¦M›V]]%š––*--ýçŸVUU½~ýúСC/^ì6<áÍŒ­GãÅ$''kjjÞ¿¿±±ñÙ³gsçÎmllĦT™L&Ç#“ÉÓ¦MãýK`z’xGÂØw쀀ââ”ààiåå«««½Oú‚Á 9“›‹Êϯ÷ñI”•¥……Í(/_Ýܼ.;{‰»ûˆ¬¬Š  IRÒ+MMé´´¯ß¾ýþÅ‹eÓ¦iUW7ED¼qBZZyhè#iiÑ?ÿœYUåõúõšC‡¦_¼˜Ûmx›%[Æ‹IN.ÑÔ”ºQcã÷Ïž-;ר±±ÍÛ;!ÄdªóxÈdÒ´iZ<Þì?;;ÍÞu$|€Ã–C!t+÷áí¼Û!m9íήx¯¸¶!´~Êz% ª‰Djå´Þ+º×£Þ±.’ ’ù ïÜé—ÁQ?e?­~Wlç¶ß-º‹ÂŽÐ-‡óûï¿··· ”:tèĉVVVƒè/›SFFF"„¶nÝêíí­¢¢Â`0-ZtàÀ„йsçB§Njkk ]ºt©ŠŠŠ˜˜˜©©é™3gTTTøs#…K—.Y[[KHHb)þ7::!´sçÎï¾ûN^^^YYÙÓÓóçŸî6<áÍŒ­GãÅÐéôØØØqãÆIJJŸ9sÆØØ˜Åb±ÙÝϽõ¨#áì»ÈÈ¡­[m¼½-UT$ Ú¢E&8 „ÎËA:õ´­:}éRsI11²©©ü™3N**’ü¹‘‚‚ø¥KnÖÖ*TCC¹  {„УGØ·ÑÑ/B;wNþòòâÊÊžž?ÿlÓmx›%[Æ‹¡Ó©±±nãÆ©JJRgÎ83X¬R6û]ÝX"¶°ƒ{‚S‚#2#ªÞVÕ7×_~zyûßÛB³g ¹PMZ !tôþÑ×o^7·7?)âíYPSУÞgŒ˜Ú}{7¶áºú]õ©ŒS!©!ýá@ 8êwmïVE­zTö¨©­)¯:omìڼ꼱ca1% ˆÃá¬[·îرcü3></((hïÞ½Û¶mÃ^º †´}ö››‹øÞ¶‰Á>b_egg#„<<<<<<°GÌØÌúï#+++þùp===„Л7o°Ø+2g̘ÁßËŒ3~úé'áá o–`l=/fôèÑü‡ïS©Tì‘tnn.Á×%ìHøû.7·!ää¤ÿß0ôB¹¹u¡ìì*„‡Ç+Ø#æo!â¿…VVÊÒÒ¢|qÊ"„Þ¼y¿´+/¯!4c†/3fèüôÓ¦‚:Þ,ÁØz4^ÌèÑJJJ–FP©"Ó¦içäÔäæÖ*+w¾d¢w à°e¦l¶lܲ°´°mqÛ¶ÅmÃËLœ¦Mr¡³©óÁÔƒQ£¢Ga%t1út£éñ/â‰÷>Ju”‡¥Ç™Ì3~Wýø»¾òìJß#Gm­i]T[4÷ä\¼D‚*±mú6gÆ qqq$iÿþýnnnd2™ÃálÛ¶-22ÒßßáÂ…ƒ#èã=:BÜ`{J8‡Ãár¹\._¼ØÚúá¯FÆc â5;íEàÛN o–`lõzQO/ì¶>‘ûÖwB¢Àö”p8<‡Çåòøn!jmý°L\ü?ÿ¶Á³W?_aÍŒ­£^¯ëùÏ·› DîÛð´Ù~ón§ÝªâTq1Š˜‰²É/¿ìýr¯ð«T¥UOyœš =.F—¦IO5˜ùMd/žíú;úošºIGN‡J¦jÈhl˜²aƒÝ†~‰p µ Mæì×gí ìébt ª„­®í¹oàpJ@—Ëõóó»zõ*‡ÃáñxåååW®\)++[´hQllìáÇ!¡ül ì<%öbÊ«W¯š™™á…×®]ÿ266FÅÇÇ;88ôº}}}„P\\ÜêÕ«ñÂøøL-tª±u;^LVVVEE>UÙÖÖ–˜˜ˆ!$""ÒqÅI/:hr¡«WóÍÌ><ÿºv-!d` ‹26f „âãÝz¿JL__!W°zõh¼0>¾¯»M{[·ãÅdeUTT¼Ã§*ÛÚ¸‰‰Eø@B""¤öva©Áކ!1ŠXî&Á• ºtséF¼Œ¹ªù)Sü%›í7ã§ðì]„$²|üòåã—óö=B{ûŽ…Û·owÜÞ—«Pw£ÆiÉj™w¤Ó€è ÇÛºuë¥K—øÏ{ùý÷ß[ZZTUUcbb 1<пvžÒÝÝ!äïïÂf³kkkÏœ9ƒmFùꫯB‹/¦P(‹- õêUkk+›Íf±X>>>;wîì¦õÍ™3!´yóæ¿þú«¦¦¦²²òÈ‘#;vìèc𽈭Ûñb]\\ÒÒÒÞ½{—““³p᜜&“‰?øf0ÙÙÙyyy‡.õ´£æîn„ò÷¿’Åf¿«­m>s&;ß端ŒB‹›Q("‹] òêÕ›ÖV›ýŽÅ*õñIܹó>Á^æÌ1DmÞœü×_Okjš++ß9òxÇŽžíœè¨±u;^Lcc›‹Ë…´´òwïÚrrj.¼’“SÃdªã¾ ZvvU^^À¡K=í>e<ï—_~9þ<ÿße<¯ªªjÔ¨QÑÑÑP~fvžÒÊÊjýúõ{öìñòòòòòÂË,XàêêŠ244Y<oÛ¶m %®´´TTT´c9Ò|=e@@À‰'Æ/))I£Ñ,,,‚‚‚ø³Y¾|ùÝ»w,X ¦¦F¥RÕÔÔ¦L™²eË⽄††þþûïúúú¢¢¢zzz»víZµjBHNN®/Á÷"¶nÇ‹b0wîÜqvv–––¦Óé3fÌHNNæ?œrß¾}óæÍc0BVàéè#°;qbÖøñª’’Tba¡dñaûÞòåæwï.Z°ÀXMN¥Š¨©Ñ§LÑ qزeñ^BCÿ}²¾¾¬¨(YOOf×®)«VBÉÉѺ½Vˆ^ÄÖíxB íÎÎÎúÒÒ¢t:uÆ ädþÃ)÷í›:ožƒA²b’HGðiâñxÛ·o?{öl§ %Ç+,,LHHèøÒH=Ú±=rŲùÄùúúGGGcOÆ?ÍÍÍâââ...DŽÏD$iíÚµûöíë¾ê ñõ½œí‚=ÿD47·‹‹º¸\¼øñf‹‰ë¯ß_6›-üíó×®Ñ}}•ssóúØ`hÁ~÷_¾Ìýõ×_#""ºZ¾…Ñ×׿ví›ÿ‰Ãwzñ™¼ïûرcUUU...:::eee'Nœ ‘’’rttìÐ@?8vìIUÕ;™²²Æ'²CB2¥¤Du;4ÿ±cÇŽS§Nu5cE"‘( Ç{ùòå­[·ìíí;­†¢Ï$§¬««Û¼yóæÍÿÙ¨¸wï^:ÞÕ%`©«kÞ¼9yóæÿH¹wïT:½÷ëe €õ'Nœ@‰ˆˆÉd.—Ëáp°/dddTUUµµµÕÔÔÔÕÕÕÔÔ`Îgæ3É)W¬XQWWwéÒ¥üü|2™lii¹~ýzggçÁŽ ô+FÕÕµ\º”›Ÿ_O&“,-•ׯëì܃ y-6öW„ÂTUUÕÕÕµ´´444TUUÕÔÔ°1±N^F>'ŸIN)##³cÇŽ¾Ÿ4Ðh4Z¿9>ÈȈíØÁܱƒ9ØtƒF£ðx‚§[ÀpÐÖÖ6uêªÄÄÉÉùƒ ŸIN €AD¥R¥¥å‚=7Ã×Çx7#ø¼AN ú ž}@—šާ¥:ÊNßn°cù cT‡îR¢+Í5ŸÛï}ñ·Ìáq¦Ô“×s2qê÷ŽÐ@ŽâcêÝ(Z9­7soÕµ´·8›:ë2t;­VT[Ä*`½iy£ÃЙ¢7Eœ*.¼ÙKÙ— k  fŽ˜Ù£ð rJèRCKÃ~Öþ¯­¾þ´rÊQ…¤†˜«˜Ìc‚YÁ²n#݈Tæo¹Ó¾ŸµßÁСï9e§1ôhŸ¬^Œ¢±¥Ñõ¸+žüTÙiN¹ïξCwqyïW•V jªl*¤åËÏ.ßʽ%Pø…ÉS‚9% yk&®Q¢+¬| õÀx­ñsʵL\§1 P_Y/Fq:ótam¡¥ºå­ T2µÓ„2úIôÁÔƒdùK³/U¥TïäßyVñlE䊄U ÝÎVzOò!}Xêf¤hÔ£ð ¨g9å½{÷JJJàMJÃA`````à`Gú™††Æ`‡Äj›ÕC®åÁíkàôb/«^"„Bç†2$]Õ f#„‚Ý‚B?Lþayäòä‚ä³Yg—X/Þ¾Ó‡L"÷4*zªg9¥¡¡¡¸¸ø_|1@Ñ€OD`` Bk²ì@@ÿÚghØÍ|Æ'Ž=_^u^jajmSíj›ÕT2!Tó®&íUZqm1…L1R0²Ñ±Áÿ¸UÀjå´Zª[ŽÕ+ÐÅÛÖ·‰/ËÊT¤T¦Mï*ŒÔÂÔ•/8\޾‚>S‡)FëØÑ3ö³{Å÷DH"vúvÚrÚ!—R˜ò¬â]”>cÄ ! DO£ê¸†/½$ýE勯–F Y k kEº"B¨¬¡,êq—Ç-®-ÞÏÚÕœc>GUZµ«ÛÕêÀgÏîÝãò¸c5ÇZ¨ZàåuMu'žXŠŽV=YorW1hÈhtì‹à­þ3í_®PDMÕŸj®jŽº^Úé˫λúìê£òG¡ãéÇ)"9q¹oÆ|s·èîƒW&ëM­6!ô¼òyI}ÉH•‘XB‰"‹×N^›\ÿ"¾Ûœ€£g9¥¼¼¼¼¼ü¾}û(ð‰ DÈ¡¯;п"åå;„¾Á×ó½¬|y0õ V¸lÜ2*™ú¿„ÿÉ<ÓÊiÅ+ëÈéu?Š=FÄ/,­/ H À_=ð•ÅW¿Íú ¿äIù“•Ñ+++±ŠtÅ3ߤ[•»:fuAM^¢LWv ¶R·âï(·*÷@ʬÂo‰¿¹MÒ™´*jUÚ«4¬pÏ=ç¾>§/ßýë ˆDÅ¿†¯®©néù¥ËãߊQÄ6LÙ°ÄzIYC–ƕԗàùÜx­ñŠ’Š]ÝØNW$¾{ÿèbæ²Ëi–Á×7×w\Š~7ö;,§ì4  ¾Þjá?ÓŽ.üsáUÝ+!BߌùFN\®Ó¯:]¡ˆR¢+a9e§+Ps*r:½cùÕùøMI AéÉëa9eHjˆ”˜–SæTä`w‰¿GssqªøóÊçÂÇ‚º•{+·*Wœ*n¦b6F} Â~@ø·8,•lnk’SjÈhŒÑ£,¥\ÞP~3÷æ3ö³ÅgÇ­ˆ£‹Ñ»º€Þœ0Äè2t;æ=YeYKÎ-iç¶ ”W¿­ÆsJS%S<ù@ag± „PFIBȇéƒÏωSŽ&z­ˆZ_’QšúÞö{< ˆP6Øm¸ñüÆÃ’‡x53e3<¡DMÒ™tþÑù¹æsñ$J¦ŽÓý$ºòm¥ð=ÂD¢àhäx:ótxZøW_é1ôH$’(YŸñ¢ÓÛ‘Žœž!„,T-¦M¿ñüÆËÊ—ÆJÆÝ^NÁ[-ügÚ)‚Þ‰8vÿXÂË„¿<þ’•R­ïw Ë&±Ì’¶ØƒF¥uu¡Ï$Ÿ‘*#ñMßõÍõ‹Ï,ÎfgG?‰þvì·Dº€8È)CŒCG ä^ѽ=I{DÉ¢†ÚrÚ¢$DJ.HÎ,ÍÄóC©J«ò_%A•@áih}s=BHCæ?[ã5e5ù?bu´dµþSGF“D"Õ5Õá%*R*ü°¬¨Ó¦¶&áƒ%•¦.óÌ¢3'ÒOÌ?5¿¥½e¤ÊÈéFÓ=F{t{âLÇÛ) YÁÓ°xZˆ\NÁ[-ügÚ©>®§Äýõð¯‹ÙOyœ’“^³ïw û‡GYC!—Ç-k(“¦I ™¤¥:Šÿ£ MÆk’ך˜5Ùìl‚]@䔀!¦ãÖ[y·BÜØØã…Ï*žõ¨Yš B¨¤¾„âP ùÀê×ógu¯ê_ñxËHaG›)©+(Áâ‘“FÿæÊïÚÞñWH†ˆ¸[ÝÇõ”˜sÎEdFœ^xšH0ÂïØtæýâûü…O^?ijkXÜ À Öïû>wîœ]VVÁúGޱ³³ËÍÍШ=…-Iä_v¯èÞÍ—7{Ôˆ•†B(˜ÜÆiÃJšÚšðMÐï먿¯ƒÏ/rxœ½I{Bc4Æô~}‹JÀ½¢{o[ßbV¢+9™8ÙèØd”fà¨EÉ¢üS}=UX[ó$ÿø¨üQü‹xiš´¡¢!BHARJ¦Þ+º×ÜÞŒUhå´òoy&ÃÀÝj·‘n¾L_áÿ ?æéÂ?ÂÒÂN.8Ið4(áwŒˆŠ#4d4þyýÏß/þÆJ8\Nà@„PW'^!„JëKóªóøKê›ë¦D™(™ìâ†õ<å«W¯’’’êêˆþ¿5???))©±±q@£ô”¥š%BhUÔª™#fÊIȽ¬z™”—Ä`T½­"Þˆ“‰SPrPrAòì°ÙL]&—ǽw[àÙ´³©óÁÔƒé%é3Íœ¢7…J¦¦¦äVåÊÐdZ.ìçQŽJ@è½Ð‡%'hOЖӦ’©99wòïId|FM‡¡ó”ýtýåõš²š"$‘9æs%‰‡Ä`üxõǫϮ)•5”Å=ãð8KÆ.Á¦9±ó8ã_Ä;‡;ÛéÛµrZ“ò’Z8‚ ;Æ ð|ànu×S^}vuÓµMsÌçœÍ:Ë_ŽŸOÙ‘ð;Ö)ó)B>L¿«~>|œLT¤T’ ’Ÿ²Ÿ*Ó•Œ^€_›[T[4oÔ~r»…»”¨TøƒpâHŠJ†Î ]½² ¦›ÒSTømÖoüç°ˆSÅÃÜðCOgžÆ •èJÁ®ÁôRA"Q °Ñ¶ÁNØáoäçi?ËK¼?žtÉØ%~×üb³c±Øù”ÄCÂr”Ð{¡IùIX‰‹™ËšIkð §lÌ(ÉÀÖ”ÕücöKÏ/åo¤c 9åÇ¿ÕmÛÊár"E ”+H*t•Sv{Ç:8Ÿ!4×|naMáá{‡ñ›†½ï›™ìÅ.&$OÔ™ˆå”ê2ê#G<,yÈ¿«ÉDÙd¯ó^iÑÇî7¬sJMMMMMaKÝŸ ™âËôÕ“×ëøÕ¾/÷-´\øÏëH$Òõ1æªæ¬]Œ./)ßÕ…X¡‚^b®jž°2{c²”²ƒ¡Çóeúòot0P0¸±âFJAÊ‹ÊG¡7Yo2~ÈK§é2tAÙéÛ1$تAáˆDÅÿŽé•V~3æ›ûÅ÷±”NUZu²Þdló fŽù3³ûÅ÷ë›êyˆ§.£.äÆò·ŒWs2qšm2;­8ËãŽÑƒç==y½ø•ññ/ã++4d4 ZÚ[|™¾üÕ:Æ€:¼)»·ºãÏ´ß­¿‚ÿh}¾®±Ó÷}o´Û(äŽ9™:™*›RÈþF8Ÿ³~Êú¹£æ¦¦¼i~£-§m§o'°ïÊu¤«¥º%~Œ¥¾¼þ•¥W²ÙÙO_?­zW%%&e®jÎÿÒ#ú ÷îîî¡ÈHÁŸ QçÎ;tèP`` >UÉápΞ={ãÆ 6›Í`0ìíí/^L£½?¦aÓ¦MüñGff&Ç;|øpQQ‘ššÚÒ¥K™Læà b@H$„ÎÁ{t>;îóæõÃï/›Í¾äÚ5º¯¯rnnž: -í-ff†‡ç ®(ý,ÁïþçG_¿ÇãëyJõ”oß¾9s&‹ÅÂ+œ;wîÀ JJþÑyýúõíÛ··¶¾ÿwêŸþìííý1#|6ß=Üé¼BH”,êiÓå3nø¤ ëœRÀ–-[X,–¢¢¢ŸŸŸ‰‰Iaaa@@À“'O<==cb>lÙÛ¶mÛÌ™3=<|ÈårùË>^EEÅÂâÃ^;vìÀòH„PQQ‘¯¯/BÈÑÑqPÂøÀzÊvíÚåèè¸{÷î°°0}}ýââb6›•S(n”††Æøñã ÅÄÄrrrZ[[G=þüÁ `Á<åÓ¦M»|ù²AMM̓Øl¶ššÚ_ýõÍ7ßðW rqqyþüùãÇ[[[§M›výúuQQØž €ákXÏSbkøÓÁÙ³gÏž=;77{ޱ±1‰D¿]¹råÌ™3---cbbJKK‹‹‹ÕÕÕµ´´!t€OɰÎ)±ý7***å¼.VOOOOïý1cêêê°/3LŸ}ïÝ»×ÈÈèòå˺ºººººƒôLec刅ÇÓ«®Ÿ²ašS¾xñâåË—ÊÊÊ'Ožäº CB §%íUZaMá°êð)¦9å?üðøñãââb&“9ر yÃt=%ÿ @ Óœ0µqÚ¾=ûíXͱ¾LßsYçîÝ­mª û*ì§ë?!„ö8ïÁª547¬ŽYÍãñ]•èJXáæë›ß¶¼ÝïºÿcF£Ð8\ÎíüÛ¬Vqm1Y„l¤h4×|®.CWàÂï™ßŸt>¹ ¹•Ój©nùí˜oébtþ.•=:ÿè|iC©ª´ê|‹ù ’ ¨o®z•YšÙØÚ¨LWž1b†½=~¡ððˆt È)C—ÇM{•F£/9·änÑ]¬°Ó.J|¹iê&Eº"B(µ(õ~ñ}„«€5Ç|B¨®©.úq´“©SW-ÿ–øÛ?¯ÿÞ{€s€š´Z§_u¢ …§>,yˆ×¼™{3<-ü€Û,±Ã/\³úfîM¬Îí¼Û?ÿ;jq•LÅJ¢Gm¹¾…Ë{ÿæØ˜'1ë'¯'@&;seÔÊÚ¦Z¼fô“hw ÷³vb…‡G¤kÀ@N bîäß¡‹Ñ7LÙ`¢lB£ÐÄ©â“t&E>ŠL)LqéŠb°éŠtQzJa –SÞ-ºËåq™:]®ŸÎ©ÌI{•&¼ß¦¶¦ž†jlit1s±Ö´ÖÑhno~Æ~v<ý¸¼?ÿdáü;²â²~Sý  ÙìÔlvöµœk.f.¡²†²­q[¹<îó9öö.çzÎõ½wöv‡ËñŒö¬k®séj§o'C“)®+>þàxä£H-›/;ì6<â]䔀!†‡x-øËDÙ/™¤3‰D"%$ã9%S‡I£_{vÇãa_!„&éNêªÍÍS77´4ï·«IJ!!„"FÜ/¾Ÿ”Ÿ÷<®•ÓÊãñÄ(b¥õ¥¯ß¼V‘z8.E„rfÑü‰³¶¬ö×g¾Î(ÍÀrÊKÙ—Z9­K¬—ü4í'¬Â&_üxõǘ'1Â8•qªú]õ†)µ(•Çã!„xˆ‡ý!¯:HxÄ»€žå”Ø±Žššš ø”¬@VM}fª_¼0ìúžŠñ³Õ³=|÷pNeÎÃ’‡$‰©Ë¤QhJr~²Y¬´¾ô»±ß i³ë)» ìröåä‚dm9í¯­¾Ö–Ó– JH¤“OÆ=Ãr;Œ M†ÿ*l%¾„±¹½!$M“æ¯#pI§¼k}‡zTþ¨cMQŠ(‘ðˆw 0O :7z´^Ç·V‚!-++k°Cè¾§€©Ã<|÷ðü;™¥™ÆŠÆòò!KuË”Âl]ã$.|£~ZOÙ10,Ÿ;àvÀDéÃôá¾;û„·#@IR !”ÍÎæOŸ¼~ÒmªÒª!GÁ—ÍRD(DÂ#Þ5ô,§422222ŠŒŒ hÀ'‚D"-]ºtöìÙƒèOÞÞÞt:½ûzCÓ1âTñÛy·ŸU<[d¹+dê2CRCBÊí B.ï—õ”ÉŠË"„2J2°¤­Û’’^’Þ£Flõl#2#~¿ù»¾¼¾ŽœB(§"goR÷efŒ˜q"ýDlvl€s€–¬VÈáqâ_Äs¸"áõºkÀ0ó”€Ï•L§9.)? !ÄÔ}¿¿›©ÃÜwg_JaÊ8ÍqØleWúe=eGvzvSnû{[XZ˜œ„\aMaCKƒ™²Y6;›x#Sõ§Zª[f–fÎ<:SO^ÃåÖŽPÁnd ¿pœæ8w ÷ÈG‘ö‡í5e5$šJêKZÚ[VMXõ…É݆×ë®ÃÐ0}7#`àÉ<„‡ó±ûÅRIqªø1X‰¹ª96‡g™™…šÅ¶éÛÄ©âÅuÅÊ‘H¤?fÿ!|Æ´#²ùè¼£S ¦¶sÛ_T¾È«Î›¨=qçìD®ý¿™ÿ·eÚ%ºÒ«ºW™¥™yÕy\w¶ñlì¨ÎnÃëK×`âpÞÿúƒá æ)ýLJŠ‹zóFDV–Û¿-SÉÔˆ…râr~;Ç|Ž©²©UB”,Š•ˆDN.8ù¦å‘âÀ¾ŽUH`‹¬Í1ŸSPS@B$*™Z\Wlo`¯)«ÙÕ…X!C‚—ÈŠËw”ÝÈ.«/S–RV“Vkio‰X¡,¥,<’ÈRë¥KÆ.)ª+ªyWÃ`¨K«ãG©w‘®À54ˆ`¿þ`x‚œÐÏ45ÛB……¢£G7÷oË"$‘ñZã»úV†&Óñ[SeÓþ¡S§Šó‡¡%«…¯nìô®ZS¦+ãÇ!‰QÄøë€D"éÈé` "{‘®ÀŠjk·v`ÐÀ³o@?ÓÐh“‘áffÒ;ÀG••%fbÒ2ØQ€A3ÜsÊÔÔÔíÛ·v |>H$dkû.1Qb°|<••äGh“'¿ì@À F9å;w¶oß^\\Ì_˜ššêïï9%ýËÙ¹ñþ}ñ¢"j÷UŸ…èhiii.ä”ÃÙðÊ)ýýýrʉ'nÛ¶MGGg‚àódg÷VK«-(ˆÑ}UÀÐW_/.3~û¾‡¯á¾Ggâĉ'Nì(øÜÉhË–jOOkën^?êöïgHÈÓ³v°ƒ©Ÿsʺºº¿ÿþ»  €J¥Ž;vòäÉXyeeeHHˆ¼¼¼··7^¹¹¹yÏž=d2yÆ  EÈ帆††„„„¼¼< +++¬<&&æñãÇ?þø£„ć%\Xá¦M›h4ÚÉ“'oÞ¼‰ OHH@éèè|÷Ýw©©©ÿý÷wß}Ç?UYTT”Àf³ †±±1þUBB‹Åòôô”““»|ùrnn®²²²‹‹ ƒÑý|LFFFRRdzµµµ¶¶¾xñbVV3Þ²¬¬ìÕ«W_¼x1fÌGGGáñt;pþ–¥¥¥ccc‹ŠŠÔÔÔ¾üòKYYÙnc ×¦M{Ëd¾ûõWù¨¨R11˜ºà³•-vê”ôŽUpÐ0ן9exxøºuë>¼ßÌÖÖ6&&FAAAQQ‘Ífoß¾Çãùøø`ßzyy…‡‡‡††b ¥Ë±aaaëׯ¯¯¯Ç+0™Ì¤¤$‘˜˜˜ˆˆoooÔ*""bíÚµXNyëÖ-„Пþ‰};eÊ,§ô÷÷·³³ÃsÊ-[¶ìÚµ‹óïyÍ$iÙ²e!!!T*!”ðÇXYYùùùåää`uäåå-,,ºº3\.×ÓÓóèÑ£x‰——Wccã‰'𘱖GŽùã? „~øáGGGáñt;p¼e33³7au.\¸ÀdÎAÐ`˜Ø¾½jÎM›”öîewöŽnÀWQAYµJe„æ¹s»y»)øìõ[N»lÙ2 …òÅ_˜˜˜´´´ÄÇÇ'''ûí·W¯^E>|øpýúõÖÖÖ&L8vìXxxø·ß~»råJ"—GFF._¾!dmmmmmM&“>|Èb±¸\®ˆH÷«B/^ÌåroݺµdÉ---„P§k(<¸sçN‰ääädbbRXXxñâÅcÇŽ)((ìÜùáÕ«V­¢P(+W®¤Óé7nÜxúô©··wrrrW½=z”L&»ººêéé=þ<$$DQQ±cÍ5kÖˆŠŠ._¾\]]ÝÆÆ†`}ª¯¯ýúõëׯóx<‡ÂfÓÓÓ±%€ZZZ§OŸž5kÖŒ3ddd¢££±´¬ÛËétúË—/­­­ùJ„Pÿ>º-...))™4ižÀ!„Æïîî~úô錌 [[[¬ÐÏÏ‹!$**êààðüùóòòòNsÊ¢¢¢²²2GGG<¡D¹¸¸X[[?xð@ òÆñ„’xj×ÑÑé˜Sö""tuu;~ĺ` 9;7jh´¯^­â訵aCµ›ÛX^ ÀU_/²?ãÔ)i›æýû_à %ÀõON)''‡255uwwïø­µµ5þç5kÖèëëŸÆæÍJ2Ë–ÕMŸþ–J…ýà ••äèhéðp íØQ5wn¬¡üú'§ÔÔÔ444,//Ÿ7oÞÈ‘#ñr÷÷ßãK$=züøñ%K–ìÞ½ÛÊÊjñâźººÝ^N&“ üúõkJb¢äÝ»â—.IUU‘aº€O‘ˆ’–æjj¶™™µ¬\Y7eÊ;8nt¥ßrJWW׈ˆŸ¸¸¸¸¸8¬PDDdÖ¬Y ¥®®nÞ¼ybbbØBhܸqûöíóòòòññ9räˆðËB_}õUMMÍÆÓÒÒÒÒÒ° ¶¶¶Ø>žÑ£Gûúú;wûê—_~ÉÏψˆÀ#œ9s¦©©éÓ§OwïÞþ=ŸR`^^^%%%»wï¾|ùòåË—Ñ¿çAþïÿëËÍY·nݳgÏÂÃ㢢°’5kÖ”——_¸pAxªÚm[<àß«tàÀ77·˜˜˜îzÓ¦MüñGffæèÑ£ ^B"‘öïß?{öì |dÞÞÞt:½ï¿¿l6»±fÎeIDAT±±_Bð)ÃŽš!¨Ÿß÷ ºbooonnniiI¥RÓÓÓ±m4k×®ì¸úä”ɸqãnÞ¼y÷î]죘˜X@@¾ `Hƒœò#ILLLOOÏÊʪ¬¬TSSsttTUUý8]wµR ¿@NùñŒ;vìØ±¿_‡ß/†8ôä” ¯ §}ë)=#&&6Ø!øä@N èx€ŽzœS–””œ?~ BŸ”ÌÌÌÁô³×¯_ó¿èG=~7cTTÔÀEPóæÍƒw«=Ë)èö}€¾‚œôä” ¯ §}9%è+È)@_AN ú rJÐWS€¾‚œôä” ¯þbCöAíEŒIIEND®B`‚fio-3.39/exp/000077500000000000000000000000001476262051600130325ustar00rootroot00000000000000fio-3.39/exp/expression-parser.l000066400000000000000000000110671476262051600167050ustar00rootroot00000000000000%{ /* * (C) Copyright 2014, Stephen M. Cameron. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include #include #include "y.tab.h" #define YYSTYPE PARSER_VALUE_TYPE extern int lexer_input(char *buffer, unsigned int *nbytes, int buffersize); #undef YY_INPUT #define YY_INPUT(buffer, bytes_read, bytes_requested) \ ({ \ int __ret; \ unsigned int __bread = bytes_read; \ __ret = lexer_input((buffer), &__bread, (bytes_requested)); \ bytes_read = __bread; \ __ret; \ }) extern int yyerror(long long *result, double *dresult, int *has_error, int *units_specified, const char *msg); static void __attribute__((unused)) yyunput(int c, char *buf_ptr); static int __attribute__((unused)) input(void); /* set by parser -- this is another thing which makes the parser thread-unsafe :(. */ int lexer_value_is_time = 0; /* for determining if "m" suffix means mega- or minutes */ #define set_suffix_value(yylval, i_val, d_val, has_d_val) \ (yylval).v.dval = (d_val); \ (yylval).v.ival = (i_val); \ (yylval).v.has_dval = (has_d_val); \ (yylval).v.has_error = 0; %} %% [kK]|[kK][bB] { set_suffix_value(yylval, 1024, 1024.0, 0); return SUFFIX; } [Mm][bB] { set_suffix_value(yylval, 1024 * 1024, 1024.0 * 1024.0, 0); return SUFFIX; } [mM][sS] { set_suffix_value(yylval, 1000, 1000.0, 1); return SUFFIX; } [uU][sS] { set_suffix_value(yylval, 1, 1.0, 1); return SUFFIX; } [gG]|[Gg][Bb] { set_suffix_value(yylval, 1024LL * 1024 * 1024, 1024.0 * 1024.0 * 1024, 0); return SUFFIX; } [tT]|[tT][bB] { set_suffix_value(yylval, 1024LL * 1024 * 1024 * 1024, 1024.0 * 1024.0 * 1024.0 * 1024.0 * 1024, 0); return SUFFIX; } [pP]|[pP][bB] { set_suffix_value(yylval, 1024LL * 1024 * 1024 * 1024 * 1024, 1024.0 * 1024.0 * 1024.0 * 1024.0 * 1024.0, 0); return SUFFIX; } [kK][iI][Bb] { set_suffix_value(yylval, 1000LL, 1000.0, 0); return SUFFIX; } [mM][Ii][bB] { set_suffix_value(yylval, 1000000LL, 1000000.0 , 0); return SUFFIX; } [gG][iI][Bb] { set_suffix_value(yylval, 1000000000LL, 1000000000.0 , 0); return SUFFIX; } [pP][iI][Bb] { set_suffix_value(yylval, 1000000000000LL, 1000000000000.0 , 0); return SUFFIX; } [sS] { set_suffix_value(yylval, 1000000LL, 1000000.0 , 0); return SUFFIX; } [mM] { if (!lexer_value_is_time) { set_suffix_value(yylval, 1024 * 1024, 1024.0 * 1024.0, 0); } else { set_suffix_value(yylval, 60LL * 1000000LL, 60.0 * 1000000.0, 0); } return SUFFIX; } [dD] { set_suffix_value(yylval, 60LL * 60LL * 24LL * 1000000LL, 60.0 * 60.0 * 24.0 * 1000000.0, 0); return SUFFIX; } [hH] { set_suffix_value(yylval, 60LL * 60LL * 1000000LL, 60.0 * 60.0 * 1000000.0, 0); return SUFFIX; } [ \t] ; /* ignore whitespace */ [#:,].* ; /* ignore comments, and everything after colons and commas */ [0-9]*[.][0-9]+|[0-9]*[.]?[0-9]+[eE][-+]*[0-9]+ { int rc; double dval; rc = sscanf(yytext, "%lf", &dval); if (rc == 1) { yylval.v.dval = dval; yylval.v.ival = (long long) dval; yylval.v.has_dval = 1; yylval.v.has_error = 0; return NUMBER; } else { yyerror(0, 0, 0, 0, "bad number\n"); yylval.v.has_error = 1; return NUMBER; } } 0x[0-9a-fA-F]+ { int rc, intval; rc = sscanf(yytext, "%x", &intval); if (rc == 1) { yylval.v.ival = intval; yylval.v.dval = (double) intval; yylval.v.has_dval = 0; yylval.v.has_error = 0; return NUMBER; } else { yyerror(0, 0, 0, 0, "bad number\n"); yylval.v.has_error = 1; return NUMBER; } } [0-9]+ { int rc, intval; rc = sscanf(yytext, "%d", &intval); if (rc == 1) { yylval.v.ival = intval; yylval.v.dval = (double) intval; yylval.v.has_dval = 0; yylval.v.has_error = 0; return NUMBER; } else { yyerror(0, 0, 0, 0, "bad number\n"); yylval.v.has_error = 1; return NUMBER; } } \n return 0; [+-/*()^%] return yytext[0]; . { yylval.v.has_error = 1; return NUMBER; } %% fio-3.39/exp/expression-parser.y000066400000000000000000000142731476262051600167240ustar00rootroot00000000000000%{ /* * (C) Copyright 2014, Stephen M. Cameron. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include #include #include struct parser_value_type { double dval; long long ival; int has_dval; int has_error; }; typedef union valtype { struct parser_value_type v; } PARSER_VALUE_TYPE; #define YYSTYPE PARSER_VALUE_TYPE int yyerror(__attribute__((unused)) long long *result, __attribute__((unused)) double *dresult, __attribute__((unused)) int *has_error, __attribute__((unused)) int *units_specified, __attribute__((unused)) const char *msg); extern int yylex(void); extern void yyrestart(FILE *file); extern int lexer_value_is_time; %} %union valtype { struct parser_value_type { double dval; long long ival; int has_dval; int has_error; } v; }; %token NUMBER %token BYE %token SUFFIX %left '-' '+' %right SUFFIX %left '*' '/' %right '^' %left '%' %nonassoc UMINUS %parse-param { long long *result } %parse-param { double *dresult } %parse-param { int *has_error } %parse-param { int *units_specified } %type expression %% top_level: expression { *result = $1.ival; *dresult = $1.dval; *has_error = $1.has_error; } | expression error { *result = $1.ival; *dresult = $1.dval; *has_error = 1; } expression: expression '+' expression { if (!$1.has_dval && !$3.has_dval) $$.ival = $1.ival + $3.ival; else $$.ival = (long long) ($1.dval + $3.dval); $$.dval = $1.dval + $3.dval; $$.has_error = $1.has_error || $3.has_error; } | expression '-' expression { if (!$1.has_dval && !$3.has_dval) $$.ival = $1.ival - $3.ival; else $$.ival = (long long) ($1.dval - $3.dval); $$.dval = $1.dval - $3.dval; $$.has_error = $1.has_error || $3.has_error; } | expression '*' expression { if (!$1.has_dval && !$3.has_dval) $$.ival = $1.ival * $3.ival; else $$.ival = (long long) ($1.dval * $3.dval); $$.dval = $1.dval * $3.dval; $$.has_error = $1.has_error || $3.has_error; } | expression '/' expression { if ($3.ival == 0) yyerror(0, 0, 0, 0, "divide by zero"); else $$.ival = $1.ival / $3.ival; if ($3.dval < 1e-20 && $3.dval > -1e-20) yyerror(0, 0, 0, 0, "divide by zero"); else $$.dval = $1.dval / $3.dval; if ($3.has_dval || $1.has_dval) $$.ival = (long long) $$.dval; $$.has_error = $1.has_error || $3.has_error; } | '-' expression %prec UMINUS { $$.ival = -$2.ival; $$.dval = -$2.dval; $$.has_error = $2.has_error; } | '(' expression ')' { $$ = $2; } | expression SUFFIX { if (!$1.has_dval && !$2.has_dval) $$.ival = $1.ival * $2.ival; else $$.ival = (long long) $1.dval * $2.dval; if ($1.has_dval || $2.has_dval) $$.dval = $1.dval * $2.dval; else $$.dval = $1.ival * $2.ival; $$.has_error = $1.has_error || $2.has_error; *units_specified = 1; } | expression '%' expression { if ($1.has_dval || $3.has_dval) yyerror(0, 0, 0, 0, "modulo on floats"); if ($3.ival == 0) yyerror(0, 0, 0, 0, "divide by zero"); else { $$.ival = $1.ival % $3.ival; $$.dval = $$.ival; } $$.has_error = $1.has_error || $3.has_error; } | expression '^' expression { $$.has_error = $1.has_error || $3.has_error; if (!$1.has_dval && !$3.has_dval) { int i; if ($3.ival == 0) { $$.ival = 1; } else if ($3.ival > 0) { long long tmp = $1.ival; $$.ival = 1.0; for (i = 0; i < $3.ival; i++) $$.ival *= tmp; } else { /* integers, 2^-3, ok, we now have doubles */ double tmp; if ($1.ival == 0 && $3.ival == 0) { tmp = 1.0; $$.has_error = 1; } else { double x = (double) $1.ival; double y = (double) $3.ival; tmp = pow(x, y); } $$.ival = (long long) tmp; } $$.dval = pow($1.dval, $3.dval); } else { $$.dval = pow($1.dval, $3.dval); $$.ival = (long long) $$.dval; } } | NUMBER { $$ = $1; }; %% #include /* Urgh. yacc and lex are kind of horrible. This is not thread safe, obviously. */ static int lexer_read_offset = 0; static char lexer_input_buffer[1000]; int lexer_input(char* buffer, unsigned int *bytes_read, int bytes_requested) { int bytes_left = strlen(lexer_input_buffer) - lexer_read_offset; if (bytes_requested > bytes_left ) bytes_requested = bytes_left; memcpy(buffer, &lexer_input_buffer[lexer_read_offset], bytes_requested); *bytes_read = bytes_requested; lexer_read_offset += bytes_requested; return 0; } static void setup_to_parse_string(const char *string) { unsigned int len; len = sizeof(lexer_input_buffer) - 3; if (len > strlen(string)) len = strlen(string); strncpy(lexer_input_buffer, string, len); lexer_input_buffer[len] = '\0'; lexer_input_buffer[len + 1] = '\0'; /* lex/yacc want string double null terminated! */ lexer_read_offset = 0; } int evaluate_arithmetic_expression(const char *buffer, long long *ival, double *dval, double implied_units, int is_time) { int rc, units_specified = 0, has_error = 0; lexer_value_is_time = is_time; setup_to_parse_string(buffer); rc = yyparse(ival, dval, &has_error, &units_specified); yyrestart(NULL); if (rc || has_error) { *ival = 0; *dval = 0; has_error = 1; } if (!units_specified) { *ival = (int) ((double) *ival * implied_units); *dval = *dval * implied_units; } return has_error; } int yyerror(__attribute__((unused)) long long *result, __attribute__((unused)) double *dresult, __attribute__((unused)) int *has_error, __attribute__((unused)) int *units_specified, __attribute__((unused)) const char *msg) { /* We do not need to do anything here. */ return 0; } fio-3.39/exp/test-expression-parser.c000066400000000000000000000027761476262051600176600ustar00rootroot00000000000000/* * (C) Copyright 2014, Stephen M. Cameron. * * The license below covers all files distributed with fio unless otherwise * noted in the file itself. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include #include #include "../y.tab.h" extern int evaluate_arithmetic_expression(const char *buffer, long long *ival, double *dval, double implied_units, int is_time); int main(int argc, char *argv[]) { int rc, bye = 0; long long result; double dresult; char buffer[100]; do { if (fgets(buffer, 90, stdin) == NULL) break; rc = strlen(buffer); if (rc > 0 && buffer[rc - 1] == '\n') buffer[rc - 1] = '\0'; rc = evaluate_arithmetic_expression(buffer, &result, &dresult, 1.0, 0); if (!rc) { printf("%lld (%20.20lf)\n", result, dresult); } else { fprintf(stderr, "Syntax error\n"); result = 0; dresult = 0; } } while (!bye); return 0; } fio-3.39/fifo.c000066400000000000000000000044561476262051600133360ustar00rootroot00000000000000/* * A simple kernel FIFO implementation. * * Copyright (C) 2004 Stelian Pop * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include #include #include #include "fifo.h" #include "minmax.h" struct fifo *fifo_alloc(unsigned int size) { struct fifo *fifo; fifo = malloc(sizeof(struct fifo)); if (!fifo) return NULL; fifo->buffer = malloc(size); fifo->size = size; fifo->in = fifo->out = 0; return fifo; } void fifo_free(struct fifo *fifo) { free(fifo->buffer); free(fifo); } unsigned int fifo_put(struct fifo *fifo, void *buffer, unsigned int len) { unsigned int l; len = min(len, fifo_room(fifo)); /* first put the data starting from fifo->in to buffer end */ l = min(len, fifo->size - (fifo->in & (fifo->size - 1))); memcpy(fifo->buffer + (fifo->in & (fifo->size - 1)), buffer, l); /* then put the rest (if any) at the beginning of the buffer */ memcpy(fifo->buffer, buffer + l, len - l); /* * Ensure that we add the bytes to the fifo -before- * we update the fifo->in index. */ fifo->in += len; return len; } unsigned int fifo_get(struct fifo *fifo, void *buf, unsigned int len) { len = min(len, fifo->in - fifo->out); if (buf) { unsigned int l; /* * first get the data from fifo->out until the end of the buffer */ l = min(len, fifo->size - (fifo->out & (fifo->size - 1))); memcpy(buf, fifo->buffer + (fifo->out & (fifo->size - 1)), l); /* * then get the rest (if any) from the beginning of the buffer */ memcpy(buf + l, fifo->buffer, len - l); } fifo->out += len; if (fifo->in == fifo->out) fifo->in = fifo->out = 0; return len; } fio-3.39/fifo.h000066400000000000000000000027521476262051600133400ustar00rootroot00000000000000#ifndef FIO_FIFO_H #define FIO_FIFO_H /* * A simple FIFO implementation. * * Copyright (C) 2004 Stelian Pop * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ struct fifo { unsigned char *buffer; /* the buffer holding the data */ unsigned int size; /* the size of the allocated buffer */ unsigned int in; /* data is added at offset (in % size) */ unsigned int out; /* data is extracted from off. (out % size) */ }; struct fifo *fifo_alloc(unsigned int); unsigned int fifo_put(struct fifo *, void *, unsigned int); unsigned int fifo_get(struct fifo *, void *, unsigned int); void fifo_free(struct fifo *); static inline unsigned int fifo_len(struct fifo *fifo) { return fifo->in - fifo->out; } static inline unsigned int fifo_room(struct fifo *fifo) { return fifo->size - fifo->in + fifo->out; } #endif fio-3.39/file.h000066400000000000000000000151531476262051600133330ustar00rootroot00000000000000#ifndef FIO_FILE_H #define FIO_FILE_H #include #include "compiler/compiler.h" #include "io_ddir.h" #include "flist.h" #include "lib/zipf.h" #include "lib/axmap.h" #include "lib/lfsr.h" #include "lib/gauss.h" /* Forward declarations */ struct zoned_block_device_info; struct fdp_ruh_info; /* * The type of object we are working on */ enum fio_filetype { FIO_TYPE_FILE = 1, /* plain file */ FIO_TYPE_BLOCK, /* block device */ FIO_TYPE_CHAR, /* character device */ FIO_TYPE_PIPE, /* pipe */ }; enum fio_file_flags { FIO_FILE_open = 1 << 0, /* file is open */ FIO_FILE_closing = 1 << 1, /* file being closed */ FIO_FILE_extend = 1 << 2, /* needs extend */ FIO_FILE_done = 1 << 3, /* io completed to this file */ FIO_FILE_size_known = 1 << 4, /* size has been set */ FIO_FILE_hashed = 1 << 5, /* file is on hash */ FIO_FILE_partial_mmap = 1 << 6, /* can't do full mmap */ FIO_FILE_axmap = 1 << 7, /* uses axmap */ FIO_FILE_lfsr = 1 << 8, /* lfsr is used */ FIO_FILE_smalloc = 1 << 9, /* smalloc file/file_name */ }; enum file_lock_mode { FILE_LOCK_NONE, FILE_LOCK_EXCLUSIVE, FILE_LOCK_READWRITE, }; /* * How fio chooses what file to service next. Choice of uniformly random, or * some skewed random variants, or just sequentially go through them or * roundrobing. */ enum { FIO_FSERVICE_RANDOM = 1, FIO_FSERVICE_RR = 2, FIO_FSERVICE_SEQ = 3, __FIO_FSERVICE_NONUNIFORM = 0x100, FIO_FSERVICE_ZIPF = __FIO_FSERVICE_NONUNIFORM | 4, FIO_FSERVICE_PARETO = __FIO_FSERVICE_NONUNIFORM | 5, FIO_FSERVICE_GAUSS = __FIO_FSERVICE_NONUNIFORM | 6, FIO_FSERVICE_SHIFT = 10, }; /* * No pre-allocation when laying down files, or call posix_fallocate(), or * call fallocate() with FALLOC_FL_KEEP_SIZE set. */ enum fio_fallocate_mode { FIO_FALLOCATE_NONE = 1, FIO_FALLOCATE_POSIX = 2, FIO_FALLOCATE_KEEP_SIZE = 3, FIO_FALLOCATE_NATIVE = 4, FIO_FALLOCATE_TRUNCATE = 5, }; /* * Each thread_data structure has a number of files associated with it, * this structure holds state information for a single file. */ struct fio_file { struct flist_head hash_list; enum fio_filetype filetype; int fd; int shadow_fd; #ifdef WIN32 HANDLE hFile; HANDLE ioCP; #endif /* * filename and possible memory mapping */ unsigned int major, minor; int fileno; char *file_name; /* * size of the file, offset into file, and io size from that offset * (be aware io_size is different from thread_options::io_size) */ uint64_t real_file_size; uint64_t file_offset; uint64_t io_size; struct fio_ruhs_info *ruhs_info; struct fio_ruhs_scheme *ruhs_scheme; /* * Zoned block device information. See also zonemode=zbd. */ struct zoned_block_device_info *zbd_info; /* zonemode=zbd working area */ uint32_t min_zone; /* inclusive */ uint32_t max_zone; /* exclusive */ /* * Track last end and last start of IO for a given data direction */ uint64_t last_pos[DDIR_RWDIR_CNT]; uint64_t last_start[DDIR_RWDIR_CNT]; uint64_t first_write; uint64_t last_write; /* * Tracks the last iodepth number of completed writes, if data * verification is enabled */ uint64_t *last_write_comp; unsigned int last_write_idx; /* * For use by the io engine to store offset */ uint64_t engine_pos; /* * For use by the io engine for private data storage */ void *engine_data; /* * if io is protected by a semaphore, this is set */ union { struct fio_sem *lock; struct fio_rwlock *rwlock; }; /* * block map or LFSR for random io */ union { struct axmap *io_axmap; struct fio_lfsr lfsr; }; /* * Used for zipf random distribution */ union { struct zipf_state zipf; struct gauss_state gauss; }; int references; enum fio_file_flags flags; struct disk_util *du; }; #define FILE_ENG_DATA(f) ((f)->engine_data) #define FILE_SET_ENG_DATA(f, data) ((f)->engine_data = (data)) #define FILE_FLAG_FNS(name) \ static inline void fio_file_set_##name(struct fio_file *f) \ { \ (f)->flags = (enum fio_file_flags) ((f)->flags | FIO_FILE_##name); \ } \ static inline void fio_file_clear_##name(struct fio_file *f) \ { \ (f)->flags = (enum fio_file_flags) ((f)->flags & ~FIO_FILE_##name); \ } \ static inline int fio_file_##name(struct fio_file *f) \ { \ return ((f)->flags & FIO_FILE_##name) != 0; \ } FILE_FLAG_FNS(open); FILE_FLAG_FNS(closing); FILE_FLAG_FNS(extend); FILE_FLAG_FNS(done); FILE_FLAG_FNS(size_known); FILE_FLAG_FNS(hashed); FILE_FLAG_FNS(partial_mmap); FILE_FLAG_FNS(axmap); FILE_FLAG_FNS(lfsr); FILE_FLAG_FNS(smalloc); #undef FILE_FLAG_FNS /* * File setup/shutdown */ struct thread_data; extern void close_files(struct thread_data *); extern void close_and_free_files(struct thread_data *); extern uint64_t get_start_offset(struct thread_data *, struct fio_file *); extern int __must_check setup_files(struct thread_data *); extern int __must_check file_invalidate_cache(struct thread_data *, struct fio_file *); #ifdef __cplusplus extern "C" { #endif extern int __must_check generic_open_file(struct thread_data *, struct fio_file *); extern int __must_check generic_close_file(struct thread_data *, struct fio_file *); extern int __must_check generic_get_file_size(struct thread_data *, struct fio_file *); extern int __must_check generic_prepopulate_file(struct thread_data *, struct fio_file *); #ifdef __cplusplus } #endif extern int __must_check file_lookup_open(struct fio_file *f, int flags); extern bool __must_check pre_read_files(struct thread_data *); extern unsigned long long get_rand_file_size(struct thread_data *td); extern int add_file(struct thread_data *, const char *, int, int); extern int add_file_exclusive(struct thread_data *, const char *); extern void get_file(struct fio_file *); extern int __must_check put_file(struct thread_data *, struct fio_file *); extern void put_file_log(struct thread_data *, struct fio_file *); extern void lock_file(struct thread_data *, struct fio_file *, enum fio_ddir); extern void unlock_file(struct thread_data *, struct fio_file *); extern void unlock_file_all(struct thread_data *, struct fio_file *); extern int add_dir_files(struct thread_data *, const char *); extern bool init_random_map(struct thread_data *); extern void dup_files(struct thread_data *, struct thread_data *); extern int get_fileno(struct thread_data *, const char *); extern void free_release_files(struct thread_data *); extern void filesetup_mem_free(void); extern void fio_file_reset(struct thread_data *, struct fio_file *); extern bool fio_files_done(struct thread_data *); extern bool exists_and_not_regfile(const char *); extern int fio_set_directio(struct thread_data *, struct fio_file *); extern void fio_file_free(struct fio_file *); #endif fio-3.39/filehash.c000066400000000000000000000050131476262051600141640ustar00rootroot00000000000000#include #include #include "fio.h" #include "flist.h" #include "hash.h" #include "filehash.h" #include "smalloc.h" #include "lib/bloom.h" #define HASH_BUCKETS 512 #define HASH_MASK (HASH_BUCKETS - 1) #define BLOOM_SIZE 16*1024*1024 static unsigned int file_hash_size = HASH_BUCKETS * sizeof(struct flist_head); static struct flist_head *file_hash; static struct fio_sem *hash_lock; static struct bloom *file_bloom; static unsigned short hash(const char *name) { return jhash(name, strlen(name), 0) & HASH_MASK; } void fio_file_hash_lock(void) { if (hash_lock) fio_sem_down(hash_lock); } void fio_file_hash_unlock(void) { if (hash_lock) fio_sem_up(hash_lock); } void remove_file_hash(struct fio_file *f) { fio_sem_down(hash_lock); if (fio_file_hashed(f)) { assert(!flist_empty(&f->hash_list)); flist_del_init(&f->hash_list); fio_file_clear_hashed(f); } fio_sem_up(hash_lock); } static struct fio_file *__lookup_file_hash(const char *name) { struct flist_head *bucket = &file_hash[hash(name)]; struct flist_head *n; flist_for_each(n, bucket) { struct fio_file *f = flist_entry(n, struct fio_file, hash_list); if (!f->file_name) continue; if (!strcmp(f->file_name, name)) return f; } return NULL; } struct fio_file *lookup_file_hash(const char *name) { struct fio_file *f; fio_sem_down(hash_lock); f = __lookup_file_hash(name); fio_sem_up(hash_lock); return f; } struct fio_file *add_file_hash(struct fio_file *f) { struct fio_file *alias; if (fio_file_hashed(f)) return NULL; INIT_FLIST_HEAD(&f->hash_list); fio_sem_down(hash_lock); alias = __lookup_file_hash(f->file_name); if (!alias) { fio_file_set_hashed(f); flist_add_tail(&f->hash_list, &file_hash[hash(f->file_name)]); } fio_sem_up(hash_lock); return alias; } bool file_bloom_exists(const char *fname, bool set) { return bloom_string(file_bloom, fname, strlen(fname), set); } void file_hash_exit(void) { unsigned int i, has_entries = 0; fio_sem_down(hash_lock); for (i = 0; i < HASH_BUCKETS; i++) has_entries += !flist_empty(&file_hash[i]); fio_sem_up(hash_lock); if (has_entries) log_err("fio: file hash not empty on exit\n"); sfree(file_hash); file_hash = NULL; fio_sem_remove(hash_lock); hash_lock = NULL; bloom_free(file_bloom); file_bloom = NULL; } void file_hash_init(void) { unsigned int i; file_hash = smalloc(file_hash_size); for (i = 0; i < HASH_BUCKETS; i++) INIT_FLIST_HEAD(&file_hash[i]); hash_lock = fio_sem_init(FIO_SEM_UNLOCKED); file_bloom = bloom_new(BLOOM_SIZE); } fio-3.39/filehash.h000066400000000000000000000006711476262051600141760ustar00rootroot00000000000000#ifndef FIO_FILE_HASH_H #define FIO_FILE_HASH_H #include "lib/types.h" extern void file_hash_init(void); extern void file_hash_exit(void); extern struct fio_file *lookup_file_hash(const char *); extern struct fio_file *add_file_hash(struct fio_file *); extern void remove_file_hash(struct fio_file *); extern void fio_file_hash_lock(void); extern void fio_file_hash_unlock(void); extern bool file_bloom_exists(const char *, bool); #endif fio-3.39/filelock.c000066400000000000000000000102661476262051600141770ustar00rootroot00000000000000/* * Really simple exclusive file locking based on filename. * No hash indexing, just a list, so only works well for < 100 files or * so. But that's more than what fio needs, so should be fine. */ #include #include #include #include #include "flist.h" #include "filelock.h" #include "smalloc.h" #include "fio_sem.h" #include "hash.h" #include "log.h" struct fio_filelock { uint32_t hash; struct fio_sem lock; struct flist_head list; unsigned int references; }; #define MAX_FILELOCKS 1024 static struct filelock_data { struct flist_head list; struct fio_sem lock; struct flist_head free_list; struct fio_filelock ffs[MAX_FILELOCKS]; } *fld; static void put_filelock(struct fio_filelock *ff) { flist_add(&ff->list, &fld->free_list); } static struct fio_filelock *__get_filelock(void) { struct fio_filelock *ff; if (flist_empty(&fld->free_list)) return NULL; ff = flist_first_entry(&fld->free_list, struct fio_filelock, list); flist_del_init(&ff->list); return ff; } static struct fio_filelock *get_filelock(int trylock, int *retry) { struct fio_filelock *ff; do { ff = __get_filelock(); if (ff || trylock) break; fio_sem_up(&fld->lock); usleep(1000); fio_sem_down(&fld->lock); *retry = 1; } while (1); return ff; } int fio_filelock_init(void) { int i; fld = smalloc(sizeof(*fld)); if (!fld) return 1; INIT_FLIST_HEAD(&fld->list); INIT_FLIST_HEAD(&fld->free_list); if (__fio_sem_init(&fld->lock, FIO_SEM_UNLOCKED)) goto err; for (i = 0; i < MAX_FILELOCKS; i++) { struct fio_filelock *ff = &fld->ffs[i]; if (__fio_sem_init(&ff->lock, FIO_SEM_UNLOCKED)) goto err; flist_add_tail(&ff->list, &fld->free_list); } return 0; err: fio_filelock_exit(); return 1; } void fio_filelock_exit(void) { if (!fld) return; assert(flist_empty(&fld->list)); __fio_sem_remove(&fld->lock); while (!flist_empty(&fld->free_list)) { struct fio_filelock *ff; ff = flist_first_entry(&fld->free_list, struct fio_filelock, list); flist_del_init(&ff->list); __fio_sem_remove(&ff->lock); } sfree(fld); fld = NULL; } static struct fio_filelock *fio_hash_find(uint32_t hash) { struct flist_head *entry; struct fio_filelock *ff; flist_for_each(entry, &fld->list) { ff = flist_entry(entry, struct fio_filelock, list); if (ff->hash == hash) return ff; } return NULL; } static struct fio_filelock *fio_hash_get(uint32_t hash, int trylock) { struct fio_filelock *ff; ff = fio_hash_find(hash); if (!ff) { int retry = 0; ff = get_filelock(trylock, &retry); if (!ff) return NULL; /* * If we dropped the main lock, re-lookup the hash in case * someone else added it meanwhile. If it's now there, * just return that. */ if (retry) { struct fio_filelock *__ff; __ff = fio_hash_find(hash); if (__ff) { put_filelock(ff); return __ff; } } ff->hash = hash; ff->references = 0; flist_add(&ff->list, &fld->list); } return ff; } static bool __fio_lock_file(const char *fname, int trylock) { struct fio_filelock *ff; uint32_t hash; hash = jhash(fname, strlen(fname), 0); fio_sem_down(&fld->lock); ff = fio_hash_get(hash, trylock); if (ff) ff->references++; fio_sem_up(&fld->lock); if (!ff) { assert(trylock); return true; } if (!trylock) { fio_sem_down(&ff->lock); return false; } if (!fio_sem_down_trylock(&ff->lock)) return false; fio_sem_down(&fld->lock); /* * If we raced and the only reference to the lock is us, we can * grab it */ if (ff->references != 1) { ff->references--; ff = NULL; } fio_sem_up(&fld->lock); if (ff) { fio_sem_down(&ff->lock); return false; } return true; } bool fio_trylock_file(const char *fname) { return __fio_lock_file(fname, 1); } void fio_lock_file(const char *fname) { __fio_lock_file(fname, 0); } void fio_unlock_file(const char *fname) { struct fio_filelock *ff; uint32_t hash; hash = jhash(fname, strlen(fname), 0); fio_sem_down(&fld->lock); ff = fio_hash_find(hash); if (ff) { int refs = --ff->references; fio_sem_up(&ff->lock); if (!refs) { flist_del_init(&ff->list); put_filelock(ff); } } else log_err("fio: file not found for unlocking\n"); fio_sem_up(&fld->lock); } fio-3.39/filelock.h000066400000000000000000000004331476262051600141770ustar00rootroot00000000000000#ifndef FIO_LOCK_FILE_H #define FIO_LOCK_FILE_H #include "lib/types.h" extern void fio_lock_file(const char *); extern bool fio_trylock_file(const char *); extern void fio_unlock_file(const char *); extern int fio_filelock_init(void); extern void fio_filelock_exit(void); #endif fio-3.39/filesetup.c000066400000000000000000001332551476262051600144130ustar00rootroot00000000000000#include #include #include #include #include #include #include #include "fio.h" #include "smalloc.h" #include "filehash.h" #include "options.h" #include "os/os.h" #include "hash.h" #include "lib/axmap.h" #include "rwlock.h" #include "zbd.h" #ifdef CONFIG_LINUX_FALLOCATE #include #endif static FLIST_HEAD(filename_list); /* * List entry for filename_list */ struct file_name { struct flist_head list; char *filename; }; static inline void clear_error(struct thread_data *td) { td->error = 0; td->verror[0] = '\0'; } static int native_fallocate(struct thread_data *td, struct fio_file *f) { bool success; success = fio_fallocate(f, 0, f->real_file_size); dprint(FD_FILE, "native fallocate of file %s size %llu was " "%ssuccessful\n", f->file_name, (unsigned long long) f->real_file_size, !success ? "un": ""); if (success) return false; if (errno == ENOSYS) dprint(FD_FILE, "native fallocate is not implemented\n"); return true; } static void fallocate_file(struct thread_data *td, struct fio_file *f) { if (td->o.fill_device) return; switch (td->o.fallocate_mode) { case FIO_FALLOCATE_NATIVE: native_fallocate(td, f); break; case FIO_FALLOCATE_NONE: break; #ifdef CONFIG_POSIX_FALLOCATE case FIO_FALLOCATE_POSIX: { int r; dprint(FD_FILE, "posix_fallocate file %s size %llu\n", f->file_name, (unsigned long long) f->real_file_size); r = posix_fallocate(f->fd, 0, f->real_file_size); if (r > 0) log_err("fio: posix_fallocate fails: %s\n", strerror(r)); break; } #endif /* CONFIG_POSIX_FALLOCATE */ #ifdef CONFIG_LINUX_FALLOCATE case FIO_FALLOCATE_KEEP_SIZE: { int r; dprint(FD_FILE, "fallocate(FALLOC_FL_KEEP_SIZE) " "file %s size %llu\n", f->file_name, (unsigned long long) f->real_file_size); r = fallocate(f->fd, FALLOC_FL_KEEP_SIZE, 0, f->real_file_size); if (r != 0) td_verror(td, errno, "fallocate"); break; } #endif /* CONFIG_LINUX_FALLOCATE */ case FIO_FALLOCATE_TRUNCATE: { int r; dprint(FD_FILE, "ftruncate file %s size %llu\n", f->file_name, (unsigned long long) f->real_file_size); r = ftruncate(f->fd, f->real_file_size); if (r != 0) td_verror(td, errno, "ftruncate"); break; } default: log_err("fio: unknown fallocate mode: %d\n", td->o.fallocate_mode); assert(0); } } /* * Leaves f->fd open on success, caller must close */ static int extend_file(struct thread_data *td, struct fio_file *f) { int new_layout = 0, unlink_file = 0, flags; unsigned long long left; unsigned long long bs; char *b = NULL; if (read_only) { log_err("fio: refusing extend of file due to read-only\n"); return 0; } /* * check if we need to lay the file out complete again. fio * does that for operations involving reads, or for writes * where overwrite is set */ if (td_read(td) || (td_write(td) && td->o.overwrite && !td->o.file_append) || (td_write(td) && td_ioengine_flagged(td, FIO_NOEXTEND))) new_layout = 1; if (td_write(td) && !td->o.overwrite && !td->o.file_append) unlink_file = 1; if (unlink_file || new_layout) { int ret; dprint(FD_FILE, "layout unlink %s\n", f->file_name); ret = td_io_unlink_file(td, f); if (ret != 0 && ret != ENOENT) { td_verror(td, errno, "unlink"); return 1; } } flags = O_WRONLY; if (td->o.allow_create) flags |= O_CREAT; if (new_layout) flags |= O_TRUNC; #ifdef WIN32 flags |= _O_BINARY; #endif dprint(FD_FILE, "open file %s, flags %x\n", f->file_name, flags); f->fd = open(f->file_name, flags, 0644); if (f->fd < 0) { int err = errno; if (err == ENOENT && !td->o.allow_create) log_err("fio: file creation disallowed by " "allow_file_create=0\n"); else td_verror(td, err, "open"); return 1; } fallocate_file(td, f); /* * If our jobs don't require regular files initially, we're done. */ if (!new_layout) goto done; /* * The size will be -1ULL when fill_device is used, so don't truncate * or fallocate this file, just write it */ if (!td->o.fill_device) { dprint(FD_FILE, "truncate file %s, size %llu\n", f->file_name, (unsigned long long) f->real_file_size); if (ftruncate(f->fd, f->real_file_size) == -1) { if (errno != EFBIG) { td_verror(td, errno, "ftruncate"); goto err; } } } left = f->real_file_size; bs = td->o.max_bs[DDIR_WRITE]; if (bs > left) bs = left; b = malloc(bs); if (!b) { td_verror(td, errno, "malloc"); goto err; } while (left && !td->terminate) { ssize_t r; if (bs > left) bs = left; fill_io_buffer(td, b, bs, bs); r = write(f->fd, b, bs); if (r > 0) { left -= r; continue; } else { if (r < 0) { int __e = errno; if (__e == ENOSPC || __e == EDQUOT) { const char *__e_name; if (td->o.fill_device) break; if (__e == ENOSPC) __e_name = "ENOSPC"; else __e_name = "EDQUOT"; log_info("fio: %s on laying out " "file, stopping\n", __e_name); } td_verror(td, errno, "write"); } else td_verror(td, EIO, "write"); goto err; } } if (td->terminate) { dprint(FD_FILE, "terminate unlink %s\n", f->file_name); td_io_unlink_file(td, f); } else if (td->o.create_fsync) { if (fsync(f->fd) < 0) { td_verror(td, errno, "fsync"); goto err; } } if (td->o.fill_device && !td_write(td)) { fio_file_clear_size_known(f); if (td_io_get_file_size(td, f)) goto err; if (f->io_size > f->real_file_size) f->io_size = f->real_file_size; } free(b); done: return 0; err: close(f->fd); f->fd = -1; if (b) free(b); return 1; } static bool pre_read_file(struct thread_data *td, struct fio_file *f) { int r, did_open = 0, old_runstate; unsigned long long left; unsigned long long bs; bool ret = true; char *b; if (td_ioengine_flagged(td, FIO_PIPEIO) || td_ioengine_flagged(td, FIO_NOIO)) return true; if (f->filetype == FIO_TYPE_CHAR) return true; if (!fio_file_open(f)) { if (td->io_ops->open_file(td, f)) { log_err("fio: cannot pre-read, failed to open file\n"); return false; } did_open = 1; } old_runstate = td_bump_runstate(td, TD_PRE_READING); left = f->io_size; bs = td->o.max_bs[DDIR_READ]; if (bs > left) bs = left; b = calloc(1, bs); if (!b) { td_verror(td, errno, "malloc"); ret = false; goto error; } if (lseek(f->fd, f->file_offset, SEEK_SET) < 0) { td_verror(td, errno, "lseek"); log_err("fio: failed to lseek pre-read file\n"); ret = false; goto error; } while (left && !td->terminate) { if (bs > left) bs = left; r = read(f->fd, b, bs); if (r == (int) bs) { left -= bs; continue; } else { td_verror(td, EIO, "pre_read"); break; } } error: td_restore_runstate(td, old_runstate); if (did_open) td->io_ops->close_file(td, f); free(b); return ret; } /* * Generic function to prepopulate regular file with data. * Useful if you want to make sure I/O engine has data to read. * Leaves f->fd open on success, caller must close. */ int generic_prepopulate_file(struct thread_data *td, struct fio_file *f) { int flags; unsigned long long left, bs; char *b = NULL; /* generic function for regular files only */ assert(f->filetype == FIO_TYPE_FILE); if (read_only) { log_err("fio: refusing to write a file due to read-only\n"); return 0; } flags = O_WRONLY; if (td->o.allow_create) flags |= O_CREAT; #ifdef WIN32 flags |= _O_BINARY; #endif dprint(FD_FILE, "open file %s, flags %x\n", f->file_name, flags); f->fd = open(f->file_name, flags, 0644); if (f->fd < 0) { int err = errno; if (err == ENOENT && !td->o.allow_create) log_err("fio: file creation disallowed by " "allow_file_create=0\n"); else td_verror(td, err, "open"); return 1; } left = f->real_file_size; bs = td->o.max_bs[DDIR_WRITE]; if (bs > left) bs = left; b = malloc(bs); if (!b) { td_verror(td, errno, "malloc"); goto err; } while (left && !td->terminate) { ssize_t r; if (bs > left) bs = left; fill_io_buffer(td, b, bs, bs); r = write(f->fd, b, bs); if (r > 0) { left -= r; } else { td_verror(td, errno, "write"); goto err; } } if (td->terminate) { dprint(FD_FILE, "terminate unlink %s\n", f->file_name); td_io_unlink_file(td, f); } else if (td->o.create_fsync) { if (fsync(f->fd) < 0) { td_verror(td, errno, "fsync"); goto err; } } free(b); return 0; err: close(f->fd); f->fd = -1; if (b) free(b); return 1; } unsigned long long get_rand_file_size(struct thread_data *td) { unsigned long long ret, sized; uint64_t frand_max; uint64_t r; frand_max = rand_max(&td->file_size_state); r = __rand(&td->file_size_state); sized = td->o.file_size_high - td->o.file_size_low; ret = (unsigned long long) ((double) sized * (r / (frand_max + 1.0))); ret += td->o.file_size_low; ret -= (ret % td->o.rw_min_bs); return ret; } static int file_size(struct thread_data *td, struct fio_file *f) { struct stat st; if (stat(f->file_name, &st) == -1) { td_verror(td, errno, "fstat"); return 1; } f->real_file_size = st.st_size; return 0; } static int bdev_size(struct thread_data *td, struct fio_file *f) { unsigned long long bytes = 0; int r; if (td->io_ops->open_file(td, f)) { log_err("fio: failed opening blockdev %s for size check\n", f->file_name); return 1; } r = blockdev_size(f, &bytes); if (r) { td_verror(td, r, "blockdev_size"); goto err; } if (!bytes) { log_err("%s: zero sized block device?\n", f->file_name); goto err; } f->real_file_size = bytes; td->io_ops->close_file(td, f); return 0; err: td->io_ops->close_file(td, f); return 1; } static int char_size(struct thread_data *td, struct fio_file *f) { #ifdef FIO_HAVE_CHARDEV_SIZE unsigned long long bytes = 0; int r; if (td->io_ops->open_file(td, f)) { log_err("fio: failed opening chardev %s for size check\n", f->file_name); return 1; } r = chardev_size(f, &bytes); if (r) { td_verror(td, r, "chardev_size"); goto err; } if (!bytes) { log_err("%s: zero sized char device?\n", f->file_name); goto err; } f->real_file_size = bytes; td->io_ops->close_file(td, f); return 0; err: td->io_ops->close_file(td, f); return 1; #else f->real_file_size = -1ULL; return 0; #endif } static int get_file_size(struct thread_data *td, struct fio_file *f) { int ret = 0; if (fio_file_size_known(f)) return 0; if (f->filetype == FIO_TYPE_FILE) ret = file_size(td, f); else if (f->filetype == FIO_TYPE_BLOCK) ret = bdev_size(td, f); else if (f->filetype == FIO_TYPE_CHAR) ret = char_size(td, f); else { f->real_file_size = -1; log_info("%s: failed to get file size of %s\n", td->o.name, f->file_name); return 1; /* avoid offset extends end error message */ } /* * Leave ->real_file_size with 0 since it could be expectation * of initial setup for regular files. */ if (ret) return ret; /* * ->file_offset normally hasn't been initialized yet, so this * is basically always false unless ->real_file_size is -1, but * if ->real_file_size is -1 this message doesn't make sense. * As a result, this message is basically useless. */ if (f->file_offset > f->real_file_size) { log_err("%s: offset extends end (%llu > %llu)\n", td->o.name, (unsigned long long) f->file_offset, (unsigned long long) f->real_file_size); return 1; } fio_file_set_size_known(f); return 0; } static int __file_invalidate_cache(struct thread_data *td, struct fio_file *f, unsigned long long off, unsigned long long len) { int errval = 0, ret = 0; #ifdef CONFIG_ESX return 0; #endif if (len == -1ULL) len = f->io_size; if (off == -1ULL) off = f->file_offset; if (len == -1ULL || off == -1ULL) return 0; if (td->io_ops->invalidate) { dprint(FD_IO, "invalidate %s cache %s\n", td->io_ops->name, f->file_name); ret = td->io_ops->invalidate(td, f); if (ret < 0) errval = -ret; } else if (td_ioengine_flagged(td, FIO_DISKLESSIO)) { dprint(FD_IO, "invalidate not supported by ioengine %s\n", td->io_ops->name); } else if (f->filetype == FIO_TYPE_FILE) { dprint(FD_IO, "declare unneeded cache %s: %llu/%llu\n", f->file_name, off, len); ret = posix_fadvise(f->fd, off, len, POSIX_FADV_DONTNEED); if (ret) errval = ret; } else if (f->filetype == FIO_TYPE_BLOCK) { int retry_count = 0; dprint(FD_IO, "drop page cache %s\n", f->file_name); ret = blockdev_invalidate_cache(f); while (ret < 0 && errno == EAGAIN && retry_count++ < 25) { /* * Linux multipath devices reject ioctl while * the maps are being updated. That window can * last tens of milliseconds; we'll try up to * a quarter of a second. */ usleep(10000); ret = blockdev_invalidate_cache(f); } if (ret < 0 && errno == EACCES && geteuid()) { if (!fio_did_warn(FIO_WARN_ROOT_FLUSH)) { log_err("fio: only root may flush block " "devices. Cache flush bypassed!\n"); } } if (ret < 0) errval = errno; } else if (f->filetype == FIO_TYPE_CHAR || f->filetype == FIO_TYPE_PIPE) { dprint(FD_IO, "invalidate not supported %s\n", f->file_name); } /* * Cache flushing isn't a fatal condition, and we know it will * happen on some platforms where we don't have the proper * function to flush eg block device caches. So just warn and * continue on our way. */ if (errval) log_info("fio: cache invalidation of %s failed: %s\n", f->file_name, strerror(errval)); return 0; } int file_invalidate_cache(struct thread_data *td, struct fio_file *f) { if (!fio_file_open(f)) return 0; return __file_invalidate_cache(td, f, -1ULL, -1ULL); } int generic_close_file(struct thread_data fio_unused *td, struct fio_file *f) { int ret = 0; dprint(FD_FILE, "fd close %s\n", f->file_name); remove_file_hash(f); if (close(f->fd) < 0) ret = errno; f->fd = -1; if (f->shadow_fd != -1) { close(f->shadow_fd); f->shadow_fd = -1; } f->engine_pos = 0; return ret; } int file_lookup_open(struct fio_file *f, int flags) { struct fio_file *__f; int from_hash; __f = lookup_file_hash(f->file_name); if (__f) { dprint(FD_FILE, "found file in hash %s\n", f->file_name); f->lock = __f->lock; from_hash = 1; } else { dprint(FD_FILE, "file not found in hash %s\n", f->file_name); from_hash = 0; } #ifdef WIN32 flags |= _O_BINARY; #endif f->fd = open(f->file_name, flags, 0600); return from_hash; } static int file_close_shadow_fds(struct thread_data *td) { struct fio_file *f; int num_closed = 0; unsigned int i; for_each_file(td, f, i) { if (f->shadow_fd == -1) continue; close(f->shadow_fd); f->shadow_fd = -1; num_closed++; } return num_closed; } int generic_open_file(struct thread_data *td, struct fio_file *f) { int is_std = 0; int flags = 0; int from_hash = 0; dprint(FD_FILE, "fd open %s\n", f->file_name); if (!strcmp(f->file_name, "-")) { if (td_rw(td)) { log_err("fio: can't read/write to stdin/out\n"); return 1; } is_std = 1; /* * move output logging to stderr, if we are writing to stdout */ if (td_write(td)) f_out = stderr; } if (td->o.odirect) flags |= OS_O_DIRECT; flags |= td->o.sync_io; if (td->o.create_on_open && td->o.allow_create) flags |= O_CREAT; if (f->filetype != FIO_TYPE_FILE) flags |= FIO_O_NOATIME; open_again: if (td_write(td)) { if (!read_only) flags |= O_RDWR; if (td->o.verify_only) { flags &= ~O_RDWR; flags |= O_RDONLY; } if (f->filetype == FIO_TYPE_FILE && td->o.allow_create) flags |= O_CREAT; if (is_std) f->fd = dup(STDOUT_FILENO); else from_hash = file_lookup_open(f, flags); } else if (td_read(td)) { if (td_ioengine_flagged(td, FIO_RO_NEEDS_RW_OPEN) && !read_only) flags |= O_RDWR; else flags |= O_RDONLY; if (is_std) f->fd = dup(STDIN_FILENO); else from_hash = file_lookup_open(f, flags); } else if (td_trim(td)) { assert(!td_rw(td)); /* should have matched above */ if (!read_only) flags |= O_RDWR; from_hash = file_lookup_open(f, flags); } if (f->fd == -1) { char buf[FIO_VERROR_SIZE]; int __e = errno; if (__e == EPERM && (flags & FIO_O_NOATIME)) { flags &= ~FIO_O_NOATIME; goto open_again; } if (__e == EMFILE && file_close_shadow_fds(td)) goto open_again; snprintf(buf, sizeof(buf), "open(%s)", f->file_name); if (__e == EINVAL && (flags & OS_O_DIRECT)) { log_err("fio: looks like your file system does not " \ "support direct=1/buffered=0\n"); } td_verror(td, __e, buf); return 1; } if (!from_hash && f->fd != -1) { if (add_file_hash(f)) { int fio_unused ret; /* * Stash away descriptor for later close. This is to * work-around a "feature" on Linux, where a close of * an fd that has been opened for write will trigger * udev to call blkid to check partitions, fs id, etc. * That pollutes the device cache, which can slow down * unbuffered accesses. */ if (f->shadow_fd == -1) f->shadow_fd = f->fd; else { /* * OK to ignore, we haven't done anything * with it */ ret = generic_close_file(td, f); } goto open_again; } } return 0; } /* * This function i.e. get_file_size() is the default .get_file_size * implementation of majority of I/O engines. */ int generic_get_file_size(struct thread_data *td, struct fio_file *f) { return get_file_size(td, f); } /* * open/close all files, so that ->real_file_size gets set */ static int get_file_sizes(struct thread_data *td) { struct fio_file *f; unsigned int i; int err = 0; for_each_file(td, f, i) { dprint(FD_FILE, "get file size for %p/%d/%s\n", f, i, f->file_name); if (td_io_get_file_size(td, f)) { if (td->error != ENOENT) { log_err("%s\n", td->verror); err = 1; break; } clear_error(td); } /* * There are corner cases where we end up with -1 for * ->real_file_size due to unsupported file type, etc. * We then just set to size option value divided by number * of files, similar to the way file ->io_size is set. * stat(2) failure doesn't set ->real_file_size to -1. */ if (f->real_file_size == -1ULL && td->o.size) f->real_file_size = td->o.size / td->o.nr_files; } return err; } struct fio_mount { struct flist_head list; const char *base; char __base[256]; unsigned int key; }; /* * Get free number of bytes for each file on each unique mount. */ static unsigned long long get_fs_free_counts(struct thread_data *td) { struct flist_head *n, *tmp; unsigned long long ret = 0; struct fio_mount *fm; FLIST_HEAD(list); struct fio_file *f; unsigned int i; for_each_file(td, f, i) { struct stat sb; char buf[256]; if (f->filetype == FIO_TYPE_BLOCK || f->filetype == FIO_TYPE_CHAR) { if (f->real_file_size != -1ULL) ret += f->real_file_size; continue; } else if (f->filetype != FIO_TYPE_FILE) continue; snprintf(buf, FIO_ARRAY_SIZE(buf), "%s", f->file_name); if (stat(buf, &sb) < 0) { if (errno != ENOENT) break; strcpy(buf, "."); if (stat(buf, &sb) < 0) break; } fm = NULL; flist_for_each(n, &list) { fm = flist_entry(n, struct fio_mount, list); if (fm->key == sb.st_dev) break; fm = NULL; } if (fm) continue; fm = calloc(1, sizeof(*fm)); snprintf(fm->__base, FIO_ARRAY_SIZE(fm->__base), "%s", buf); fm->base = basename(fm->__base); fm->key = sb.st_dev; flist_add(&fm->list, &list); } flist_for_each_safe(n, tmp, &list) { unsigned long long sz; fm = flist_entry(n, struct fio_mount, list); flist_del(&fm->list); sz = get_fs_free_size(fm->base); if (sz && sz != -1ULL) ret += sz; free(fm); } return ret; } uint64_t get_start_offset(struct thread_data *td, struct fio_file *f) { bool align = false; struct thread_options *o = &td->o; unsigned long long align_bs; unsigned long long offset; unsigned long long increment; if (o->file_append && f->filetype == FIO_TYPE_FILE) return f->real_file_size; if (o->offset_increment_percent) { assert(!o->offset_increment); increment = o->offset_increment_percent * f->real_file_size / 100; align = true; } else increment = o->offset_increment; if (o->start_offset_percent > 0) { /* calculate the raw offset */ offset = (f->real_file_size * o->start_offset_percent / 100) + (td->subjob_number * increment); align = true; } else { /* start_offset_percent not set */ offset = o->start_offset + td->subjob_number * increment; } if (align) { /* * if offset_align is provided, use it */ if (fio_option_is_set(o, start_offset_align)) { align_bs = o->start_offset_align; } else { /* else take the minimum block size */ align_bs = td_min_bs(td); } /* * block align the offset at the next available boundary at * ceiling(offset / align_bs) * align_bs */ offset = (offset / align_bs + (offset % align_bs != 0)) * align_bs; } return offset; } /* * Find longest path component that exists and return its length */ int longest_existing_path(char *path) { char buf[PATH_MAX]; bool done; char *buf_pos; int offset; #ifdef WIN32 DWORD dwAttr; #else struct stat sb; #endif sprintf(buf, "%s", path); done = false; while (!done) { buf_pos = strrchr(buf, FIO_OS_PATH_SEPARATOR); if (!buf_pos) { offset = 0; break; } *(buf_pos + 1) = '\0'; #ifdef WIN32 dwAttr = GetFileAttributesA(buf); if (dwAttr != INVALID_FILE_ATTRIBUTES) { done = true; } #else if (stat(buf, &sb) == 0) done = true; #endif if (done) offset = buf_pos - buf; else *buf_pos = '\0'; } return offset; } static bool create_work_dirs(struct thread_data *td, const char *fname) { char path[PATH_MAX]; char *start, *end; int offset; snprintf(path, PATH_MAX, "%s", fname); start = path; offset = longest_existing_path(path); end = start + offset; while ((end = strchr(end, FIO_OS_PATH_SEPARATOR)) != NULL) { if (end == start) { end++; continue; } *end = '\0'; errno = 0; if (fio_mkdir(path, 0700) && errno != EEXIST) { log_err("fio: failed to create dir (%s): %s\n", start, strerror(errno)); return false; } *end = FIO_OS_PATH_SEPARATOR; end++; } td->flags |= TD_F_DIRS_CREATED; return true; } /* * Open the files and setup files sizes, creating files if necessary. */ int setup_files(struct thread_data *td) { unsigned long long total_size, extend_size; struct thread_options *o = &td->o; struct fio_file *f; unsigned int i, nr_fs_extra = 0; int err = 0, need_extend; int old_state; const unsigned long long bs = td_min_bs(td); uint64_t fs = 0; dprint(FD_FILE, "setup files\n"); old_state = td_bump_runstate(td, TD_SETTING_UP); for_each_file(td, f, i) { if (!td_ioengine_flagged(td, FIO_DISKLESSIO) && strchr(f->file_name, FIO_OS_PATH_SEPARATOR) && !(td->flags & TD_F_DIRS_CREATED) && !create_work_dirs(td, f->file_name)) goto err_out; } /* * Find out physical size of files or devices for this thread, * before we determine I/O size and range of our targets. * If ioengine defines a setup() method, it's responsible for * opening the files and setting f->real_file_size to indicate * the valid range for that file. */ if (td->io_ops->setup) err = td->io_ops->setup(td); else err = get_file_sizes(td); if (err) goto err_out; if (td->o.zone_mode == ZONE_MODE_ZBD) { err = zbd_init_files(td); if (err) goto err_out; } zbd_recalc_options_with_zone_granularity(td); if (o->read_iolog_file) goto done; /* * check sizes. if the files/devices do not exist and the size * isn't passed to fio, abort. */ total_size = 0; for_each_file(td, f, i) { f->fileno = i; if (f->real_file_size == -1ULL) total_size = -1ULL; else total_size += f->real_file_size; } if (o->fill_device) td->fill_device_size = get_fs_free_counts(td); /* * device/file sizes are zero and no size given, punt */ if ((!total_size || total_size == -1ULL) && !o->size && !td_ioengine_flagged(td, FIO_NOIO) && !o->fill_device && !(o->nr_files && (o->file_size_low || o->file_size_high))) { log_err("%s: you need to specify size=\n", o->name); td_verror(td, EINVAL, "total_file_size"); goto err_out; } /* * Calculate per-file size and potential extra size for the * first files, if needed (i.e. if we don't have a fixed size). */ if (!o->file_size_low && o->nr_files) { uint64_t all_fs; fs = o->size / o->nr_files; all_fs = fs * o->nr_files; if (all_fs < o->size) nr_fs_extra = (o->size - all_fs) / bs; } /* * now file sizes are known, so we can set ->io_size. if size= is * not given, ->io_size is just equal to ->real_file_size. if size * is given, ->io_size is size / nr_files. */ extend_size = total_size = 0; need_extend = 0; for_each_file(td, f, i) { f->file_offset = get_start_offset(td, f); /* * Update ->io_size depending on options specified. * ->file_size_low being 0 means filesize option isn't set. * Non zero ->file_size_low equals ->file_size_high means * filesize option is set in a fixed size format. * Non zero ->file_size_low not equals ->file_size_high means * filesize option is set in a range format. */ if (!o->file_size_low) { /* * no file size or range given, file size is equal to * total size divided by number of files. If the size * doesn't divide nicely with the min blocksize, * make the first files bigger. */ f->io_size = fs; if (nr_fs_extra) { nr_fs_extra--; f->io_size += bs; } /* * We normally don't come here for regular files, but * if the result is 0 for a regular file, set it to the * real file size. This could be size of the existing * one if it already exists, but otherwise will be set * to 0. A new file won't be created because * ->io_size + ->file_offset equals ->real_file_size. */ if (!f->io_size) { if (f->file_offset > f->real_file_size) goto err_offset; f->io_size = f->real_file_size - f->file_offset; if (!f->io_size) log_info("fio: file %s may be ignored\n", f->file_name); } } else if (f->real_file_size < o->file_size_low || f->real_file_size > o->file_size_high) { if (f->file_offset > o->file_size_low) goto err_offset; /* * file size given. if it's fixed, use that. if it's a * range, generate a random size in-between. */ if (o->file_size_low == o->file_size_high) f->io_size = o->file_size_low - f->file_offset; else { f->io_size = get_rand_file_size(td) - f->file_offset; } } else f->io_size = f->real_file_size - f->file_offset; if (f->io_size == -1ULL) total_size = -1ULL; else { uint64_t io_size; if (o->size_percent && o->size_percent != 100) { uint64_t file_size; file_size = f->io_size + f->file_offset; f->io_size = (file_size * o->size_percent) / 100; if (f->io_size > (file_size - f->file_offset)) f->io_size = file_size - f->file_offset; f->io_size -= (f->io_size % td_min_bs(td)); } io_size = f->io_size; if (o->io_size_percent && o->io_size_percent != 100) { io_size *= o->io_size_percent; io_size /= 100; } total_size += io_size; } if (f->filetype == FIO_TYPE_FILE && (f->io_size + f->file_offset) > f->real_file_size) { if (!td_ioengine_flagged(td, FIO_DISKLESSIO) && !o->create_on_open) { need_extend++; extend_size += (f->io_size + f->file_offset); fio_file_set_extend(f); } else if (!td_ioengine_flagged(td, FIO_DISKLESSIO) || (td_ioengine_flagged(td, FIO_DISKLESSIO) && td_ioengine_flagged(td, FIO_FAKEIO))) f->real_file_size = f->io_size + f->file_offset; } } if (td->o.block_error_hist) { int len; assert(td->o.nr_files == 1); /* checked in fixup_options */ f = td->files[0]; len = f->io_size / td->o.bs[DDIR_TRIM]; if (len > MAX_NR_BLOCK_INFOS || len <= 0) { log_err("fio: cannot calculate block histogram with " "%d trim blocks, maximum %d\n", len, MAX_NR_BLOCK_INFOS); td_verror(td, EINVAL, "block_error_hist"); goto err_out; } td->ts.nr_block_infos = len; for (i = 0; i < len; i++) td->ts.block_infos[i] = BLOCK_INFO(0, BLOCK_STATE_UNINIT); } else td->ts.nr_block_infos = 0; if (!o->size || (total_size && o->size > total_size)) o->size = total_size; if (o->size < td_min_bs(td)) { log_err("fio: blocksize is larger than data set range\n"); goto err_out; } /* * See if we need to extend some files, typically needed when our * target regular files don't exist yet, but our jobs require them * initially due to read I/Os. */ if (need_extend) { temp_stall_ts = 1; if (output_format & FIO_OUTPUT_NORMAL) { log_info("%s: Laying out IO file%s (%u file%s / %s%lluMiB)\n", o->name, need_extend > 1 ? "s" : "", need_extend, need_extend > 1 ? "s" : "", need_extend > 1 ? "total " : "", extend_size >> 20); } for_each_file(td, f, i) { unsigned long long old_len = -1ULL, extend_len = -1ULL; if (!fio_file_extend(f)) continue; assert(f->filetype == FIO_TYPE_FILE); fio_file_clear_extend(f); if (!o->fill_device) { old_len = f->real_file_size; extend_len = f->io_size + f->file_offset - old_len; } f->real_file_size = (f->io_size + f->file_offset); err = extend_file(td, f); if (err) break; err = __file_invalidate_cache(td, f, old_len, extend_len); /* * Shut up static checker */ if (f->fd != -1) close(f->fd); f->fd = -1; if (err) break; } temp_stall_ts = 0; } if (err) goto err_out; /* * Prepopulate files with data. It might be expected to read some * "real" data instead of zero'ed files (if no writes to file occurred * prior to a read job). Engine has to provide a way to do that. */ if (td->io_ops->prepopulate_file) { temp_stall_ts = 1; for_each_file(td, f, i) { if (output_format & FIO_OUTPUT_NORMAL) { log_info("%s: Prepopulating IO file (%s)\n", o->name, f->file_name); } err = td->io_ops->prepopulate_file(td, f); if (err) break; err = __file_invalidate_cache(td, f, f->file_offset, f->io_size); /* * Shut up static checker */ if (f->fd != -1) close(f->fd); f->fd = -1; if (err) break; } temp_stall_ts = 0; } if (err) goto err_out; if (o->io_size) td->total_io_size = o->io_size * o->loops; else td->total_io_size = o->size * o->loops; done: if (td->o.zone_mode == ZONE_MODE_ZBD) { err = zbd_setup_files(td); if (err) goto err_out; } if (o->create_only) td->done = 1; td_restore_runstate(td, old_state); if (td->o.dp_type != FIO_DP_NONE) { err = dp_init(td); if (err) goto err_out; } return 0; err_offset: log_err("%s: you need to specify valid offset=\n", o->name); err_out: td_restore_runstate(td, old_state); return 1; } bool pre_read_files(struct thread_data *td) { struct fio_file *f; unsigned int i; dprint(FD_FILE, "pre_read files\n"); for_each_file(td, f, i) { if (!pre_read_file(td, f)) return false; } return true; } static void __init_rand_distribution(struct thread_data *td, struct fio_file *f) { unsigned int range_size, seed; uint64_t nranges; uint64_t fsize; range_size = min(td->o.min_bs[DDIR_READ], td->o.min_bs[DDIR_WRITE]); fsize = min(f->real_file_size, f->io_size); nranges = (fsize + range_size - 1ULL) / range_size; seed = jhash(f->file_name, strlen(f->file_name), 0) * td->thread_number * td->rand_seeds[FIO_RAND_BLOCK_OFF]; if (td->o.random_distribution == FIO_RAND_DIST_ZIPF) zipf_init(&f->zipf, nranges, td->o.zipf_theta.u.f, td->o.random_center.u.f, seed); else if (td->o.random_distribution == FIO_RAND_DIST_PARETO) pareto_init(&f->zipf, nranges, td->o.pareto_h.u.f, td->o.random_center.u.f, seed); else if (td->o.random_distribution == FIO_RAND_DIST_GAUSS) gauss_init(&f->gauss, nranges, td->o.gauss_dev.u.f, td->o.random_center.u.f, seed); } static bool init_rand_distribution(struct thread_data *td) { struct fio_file *f; unsigned int i; int state; if (td->o.random_distribution == FIO_RAND_DIST_RANDOM || td->o.random_distribution == FIO_RAND_DIST_ZONED || td->o.random_distribution == FIO_RAND_DIST_ZONED_ABS) return false; state = td_bump_runstate(td, TD_SETTING_UP); for_each_file(td, f, i) __init_rand_distribution(td, f); td_restore_runstate(td, state); return true; } /* * Check if the number of blocks exceeds the randomness capability of * the selected generator. Tausworthe is 32-bit, the others are fully * 64-bit capable. */ static int check_rand_gen_limits(struct thread_data *td, struct fio_file *f, uint64_t blocks) { if (blocks <= FRAND32_MAX) return 0; if (td->o.random_generator != FIO_RAND_GEN_TAUSWORTHE) return 0; /* * If the user hasn't specified a random generator, switch * to tausworthe64 with informational warning. If the user did * specify one, just warn. */ log_info("fio: file %s exceeds 32-bit tausworthe random generator.\n", f->file_name); if (!fio_option_is_set(&td->o, random_generator)) { log_info("fio: Switching to tausworthe64. Use the " "random_generator= option to get rid of this " "warning.\n"); td->o.random_generator = FIO_RAND_GEN_TAUSWORTHE64; return 0; } /* * Just make this information to avoid breaking scripts. */ log_info("fio: Use the random_generator= option to switch to lfsr or " "tausworthe64.\n"); return 0; } bool init_random_map(struct thread_data *td) { unsigned long long blocks; struct fio_file *f; unsigned int i; if (init_rand_distribution(td)) return true; if (!td_random(td)) return true; for_each_file(td, f, i) { uint64_t fsize = min(f->real_file_size, f->io_size); if (td->o.zone_mode == ZONE_MODE_STRIDED) fsize = td->o.zone_range; blocks = fsize / (unsigned long long) td->o.rw_min_bs; if (check_rand_gen_limits(td, f, blocks)) return false; if (td->o.random_generator == FIO_RAND_GEN_LFSR) { uint64_t seed; seed = td->rand_seeds[FIO_RAND_BLOCK_OFF]; if (!lfsr_init(&f->lfsr, blocks, seed, 0)) { fio_file_set_lfsr(f); continue; } else { log_err("fio: failed initializing LFSR\n"); return false; } } else if (!td->o.norandommap) { f->io_axmap = axmap_new(blocks); if (f->io_axmap) { fio_file_set_axmap(f); continue; } } else if (td->o.norandommap) continue; if (!td->o.softrandommap) { log_err("fio: failed allocating random map. If running" " a large number of jobs, try the 'norandommap'" " option or set 'softrandommap'. Or give" " a larger --alloc-size to fio.\n"); return false; } log_info("fio: file %s failed allocating random map. Running " "job without.\n", f->file_name); } return true; } void close_files(struct thread_data *td) { struct fio_file *f; unsigned int i; for_each_file(td, f, i) { if (fio_file_open(f)) td_io_close_file(td, f); } } void fio_file_free(struct fio_file *f) { if (fio_file_axmap(f)) axmap_free(f->io_axmap); if (f->ruhs_info) sfree(f->ruhs_info); if (!fio_file_smalloc(f)) { free(f->file_name); free(f); } else { sfree(f->file_name); sfree(f); } } void close_and_free_files(struct thread_data *td) { struct fio_file *f; unsigned int i; dprint(FD_FILE, "close files\n"); for_each_file(td, f, i) { if (td->o.unlink && f->filetype == FIO_TYPE_FILE) { dprint(FD_FILE, "free unlink %s\n", f->file_name); td_io_unlink_file(td, f); } if (fio_file_open(f)) td_io_close_file(td, f); remove_file_hash(f); if (td->o.unlink && f->filetype == FIO_TYPE_FILE) { dprint(FD_FILE, "free unlink %s\n", f->file_name); td_io_unlink_file(td, f); } zbd_close_file(f); fdp_free_ruhs_info(f); fio_file_free(f); } td->o.filename = NULL; free(td->files); free(td->file_locks); td->files_index = 0; td->files = NULL; td->file_locks = NULL; td->o.file_lock_mode = FILE_LOCK_NONE; td->o.nr_files = 0; } static void get_file_type(struct fio_file *f) { struct stat sb; if (!strcmp(f->file_name, "-")) f->filetype = FIO_TYPE_PIPE; else f->filetype = FIO_TYPE_FILE; #ifdef WIN32 /* \\.\ is the device namespace in Windows, where every file is * a block device */ if (strncmp(f->file_name, "\\\\.\\", 4) == 0) f->filetype = FIO_TYPE_BLOCK; #endif if (!stat(f->file_name, &sb)) { if (S_ISBLK(sb.st_mode)) f->filetype = FIO_TYPE_BLOCK; else if (S_ISCHR(sb.st_mode)) f->filetype = FIO_TYPE_CHAR; else if (S_ISFIFO(sb.st_mode)) f->filetype = FIO_TYPE_PIPE; } } static bool __is_already_allocated(const char *fname, bool set) { struct flist_head *entry; bool ret; ret = file_bloom_exists(fname, set); if (!ret) return ret; flist_for_each(entry, &filename_list) { struct file_name *fn; fn = flist_entry(entry, struct file_name, list); if (!strcmp(fn->filename, fname)) return true; } return false; } static bool is_already_allocated(const char *fname) { bool ret; fio_file_hash_lock(); ret = __is_already_allocated(fname, false); fio_file_hash_unlock(); return ret; } static void set_already_allocated(const char *fname) { struct file_name *fn; fn = malloc(sizeof(struct file_name)); fn->filename = strdup(fname); fio_file_hash_lock(); if (!__is_already_allocated(fname, true)) { flist_add_tail(&fn->list, &filename_list); fn = NULL; } fio_file_hash_unlock(); if (fn) { free(fn->filename); free(fn); } } static void free_already_allocated(void) { struct flist_head *entry, *tmp; struct file_name *fn; if (flist_empty(&filename_list)) return; fio_file_hash_lock(); flist_for_each_safe(entry, tmp, &filename_list) { fn = flist_entry(entry, struct file_name, list); free(fn->filename); flist_del(&fn->list); free(fn); } fio_file_hash_unlock(); } static struct fio_file *alloc_new_file(struct thread_data *td) { struct fio_file *f; if (td_ioengine_flagged(td, FIO_NOFILEHASH)) f = calloc(1, sizeof(*f)); else f = scalloc(1, sizeof(*f)); if (!f) { assert(0); return NULL; } f->fd = -1; f->shadow_fd = -1; fio_file_reset(td, f); if (!td_ioengine_flagged(td, FIO_NOFILEHASH)) fio_file_set_smalloc(f); return f; } bool exists_and_not_regfile(const char *filename) { struct stat sb; if (lstat(filename, &sb) == -1) return false; #ifndef WIN32 /* NOT Windows */ if (S_ISREG(sb.st_mode)) return false; #else /* \\.\ is the device namespace in Windows, where every file * is a device node */ if (S_ISREG(sb.st_mode) && strncmp(filename, "\\\\.\\", 4) != 0) return false; #endif return true; } int add_file(struct thread_data *td, const char *fname, int numjob, int inc) { int cur_files = td->files_index; char file_name[PATH_MAX]; struct fio_file *f; int len = 0; dprint(FD_FILE, "add file %s\n", fname); if (td->o.directory) len = set_name_idx(file_name, PATH_MAX, td->o.directory, numjob, td->o.unique_filename); sprintf(file_name + len, "%s", fname); /* clean cloned siblings using existing files */ if (numjob && is_already_allocated(file_name) && !exists_and_not_regfile(fname)) return 0; f = alloc_new_file(td); if (td->files_size <= td->files_index) { unsigned int new_size = td->o.nr_files + 1; dprint(FD_FILE, "resize file array to %d files\n", new_size); td->files = realloc(td->files, new_size * sizeof(f)); if (td->files == NULL) { log_err("fio: realloc OOM\n"); assert(0); } if (td->o.file_lock_mode != FILE_LOCK_NONE) { td->file_locks = realloc(td->file_locks, new_size); if (!td->file_locks) { log_err("fio: realloc OOM\n"); assert(0); } td->file_locks[cur_files] = FILE_LOCK_NONE; } td->files_size = new_size; } td->files[cur_files] = f; f->fileno = cur_files; /* * init function, io engine may not be loaded yet */ if (td->io_ops && td_ioengine_flagged(td, FIO_DISKLESSIO)) f->real_file_size = -1ULL; if (td_ioengine_flagged(td, FIO_NOFILEHASH)) f->file_name = strdup(file_name); else f->file_name = smalloc_strdup(file_name); /* can't handle smalloc failure from here */ assert(f->file_name); get_file_type(f); switch (td->o.file_lock_mode) { case FILE_LOCK_NONE: break; case FILE_LOCK_READWRITE: f->rwlock = fio_rwlock_init(); break; case FILE_LOCK_EXCLUSIVE: f->lock = fio_sem_init(FIO_SEM_UNLOCKED); break; default: log_err("fio: unknown lock mode: %d\n", td->o.file_lock_mode); assert(0); } td->files_index++; if (td->o.numjobs > 1) set_already_allocated(file_name); if (inc) td->o.nr_files++; dprint(FD_FILE, "file %p \"%s\" added at %d\n", f, f->file_name, cur_files); return cur_files; } int add_file_exclusive(struct thread_data *td, const char *fname) { struct fio_file *f; unsigned int i; for_each_file(td, f, i) { if (!strcmp(f->file_name, fname)) return i; } return add_file(td, fname, 0, 1); } void get_file(struct fio_file *f) { dprint(FD_FILE, "get file %s, ref=%d\n", f->file_name, f->references); assert(fio_file_open(f)); f->references++; } int put_file(struct thread_data *td, struct fio_file *f) { int f_ret = 0, ret = 0; dprint(FD_FILE, "put file %s, ref=%d\n", f->file_name, f->references); if (!fio_file_open(f)) { assert(f->fd == -1); return 0; } assert(f->references); if (--f->references) return 0; disk_util_dec(f->du); if (td->o.file_lock_mode != FILE_LOCK_NONE) unlock_file_all(td, f); if (should_fsync(td) && td->o.fsync_on_close) { f_ret = fsync(f->fd); if (f_ret < 0) f_ret = errno; } if (td->io_ops->close_file) ret = td->io_ops->close_file(td, f); if (!ret) ret = f_ret; td->nr_open_files--; fio_file_clear_closing(f); fio_file_clear_open(f); assert(f->fd == -1); return ret; } void lock_file(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir) { if (!f->lock || td->o.file_lock_mode == FILE_LOCK_NONE) return; if (td->o.file_lock_mode == FILE_LOCK_READWRITE) { if (ddir == DDIR_READ) fio_rwlock_read(f->rwlock); else fio_rwlock_write(f->rwlock); } else if (td->o.file_lock_mode == FILE_LOCK_EXCLUSIVE) fio_sem_down(f->lock); td->file_locks[f->fileno] = td->o.file_lock_mode; } void unlock_file(struct thread_data *td, struct fio_file *f) { if (!f->lock || td->o.file_lock_mode == FILE_LOCK_NONE) return; if (td->o.file_lock_mode == FILE_LOCK_READWRITE) fio_rwlock_unlock(f->rwlock); else if (td->o.file_lock_mode == FILE_LOCK_EXCLUSIVE) fio_sem_up(f->lock); td->file_locks[f->fileno] = FILE_LOCK_NONE; } void unlock_file_all(struct thread_data *td, struct fio_file *f) { if (td->o.file_lock_mode == FILE_LOCK_NONE || !td->file_locks) return; if (td->file_locks[f->fileno] != FILE_LOCK_NONE) unlock_file(td, f); } static bool recurse_dir(struct thread_data *td, const char *dirname) { struct dirent *dir; bool ret = false; DIR *D; D = opendir(dirname); if (!D) { char buf[FIO_VERROR_SIZE]; snprintf(buf, FIO_VERROR_SIZE, "opendir(%s)", dirname); td_verror(td, errno, buf); return true; } while ((dir = readdir(D)) != NULL) { char full_path[PATH_MAX]; struct stat sb; if (!strcmp(dir->d_name, ".") || !strcmp(dir->d_name, "..")) continue; sprintf(full_path, "%s%c%s", dirname, FIO_OS_PATH_SEPARATOR, dir->d_name); if (lstat(full_path, &sb) == -1) { if (errno != ENOENT) { td_verror(td, errno, "stat"); ret = true; break; } } if (S_ISREG(sb.st_mode)) { add_file(td, full_path, 0, 1); continue; } if (!S_ISDIR(sb.st_mode)) continue; ret = recurse_dir(td, full_path); if (ret) break; } closedir(D); return ret; } int add_dir_files(struct thread_data *td, const char *path) { int ret = recurse_dir(td, path); if (!ret) log_info("fio: opendir added %d files\n", td->o.nr_files); return ret; } void dup_files(struct thread_data *td, struct thread_data *org) { struct fio_file *f; unsigned int i; dprint(FD_FILE, "dup files: %d\n", org->files_index); if (!org->files) return; td->files = calloc(org->files_index, sizeof(f)); if (td->o.file_lock_mode != FILE_LOCK_NONE) td->file_locks = malloc(org->files_index); assert(org->files_index >= org->o.nr_files); for_each_file(org, f, i) { struct fio_file *__f; __f = alloc_new_file(td); if (f->file_name) { if (td_ioengine_flagged(td, FIO_NOFILEHASH)) __f->file_name = strdup(f->file_name); else __f->file_name = smalloc_strdup(f->file_name); /* can't handle smalloc failure from here */ assert(__f->file_name); __f->filetype = f->filetype; } if (td->o.file_lock_mode == FILE_LOCK_EXCLUSIVE) __f->lock = f->lock; else if (td->o.file_lock_mode == FILE_LOCK_READWRITE) __f->rwlock = f->rwlock; td->files[i] = __f; } } /* * Returns the index that matches the filename, or -1 if not there */ int get_fileno(struct thread_data *td, const char *fname) { struct fio_file *f; unsigned int i; for_each_file(td, f, i) if (!strcmp(f->file_name, fname)) return i; return -1; } /* * For log usage, where we add/open/close files automatically */ void free_release_files(struct thread_data *td) { close_files(td); td->o.nr_files = 0; td->o.open_files = 0; td->files_index = 0; } void fio_file_reset(struct thread_data *td, struct fio_file *f) { int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { f->last_pos[i] = f->file_offset; f->last_start[i] = -1ULL; } if (fio_file_axmap(f)) axmap_reset(f->io_axmap); else if (fio_file_lfsr(f)) lfsr_reset(&f->lfsr, td->rand_seeds[FIO_RAND_BLOCK_OFF]); zbd_file_reset(td, f); } bool fio_files_done(struct thread_data *td) { struct fio_file *f; unsigned int i; for_each_file(td, f, i) if (!fio_file_done(f)) return false; return true; } /* free memory used in initialization phase only */ void filesetup_mem_free(void) { free_already_allocated(); } /* * This function is for platforms which support direct I/O but not O_DIRECT. */ int fio_set_directio(struct thread_data *td, struct fio_file *f) { #ifdef FIO_OS_DIRECTIO int ret = fio_set_odirect(f); if (ret) { td_verror(td, ret, "fio_set_directio"); #if defined(__sun__) if (ret == ENOTTY) { /* ENOTTY suggests RAW device or ZFS */ log_err("fio: doing directIO to RAW devices or ZFS not supported\n"); } else { log_err("fio: the file system does not seem to support direct IO\n"); } #else log_err("fio: the file system does not seem to support direct IO\n"); #endif return -1; } return 0; #else log_err("fio: direct IO is not supported on this host operating system\n"); return -1; #endif } fio-3.39/fio.1000066400000000000000000006056771476262051600131220ustar00rootroot00000000000000.TH fio 1 "August 2017" "User Manual" .SH NAME fio \- flexible I/O tester .SH SYNOPSIS .B fio [\fIoptions\fR] [\fIjobfile\fR]... .SH DESCRIPTION .B fio is a tool that will spawn a number of threads or processes doing a particular type of I/O action as specified by the user. The typical use of fio is to write a job file matching the I/O load one wants to simulate. .SH OPTIONS .TP .BI \-\-debug \fR=\fPtype Enable verbose tracing \fItype\fR of various fio actions. May be `all' for all \fItype\fRs or individual types separated by a comma (e.g. `\-\-debug=file,mem' will enable file and memory debugging). `help' will list all available tracing options. .TP .BI \-\-parse\-only Parse options only, don't start any I/O. .TP .BI \-\-merge\-blktrace\-only Merge blktraces only, don't start any I/O. .TP .BI \-\-output \fR=\fPfilename Write output to \fIfilename\fR. .TP .BI \-\-output\-format \fR=\fPformat Set the reporting \fIformat\fR to `normal', `terse', `json', or `json+'. Multiple formats can be selected, separate by a comma. `terse' is a CSV based format. `json+' is like `json', except it adds a full dump of the latency buckets. .TP .BI \-\-bandwidth\-log Generate aggregate bandwidth logs. .TP .BI \-\-minimal Print statistics in a terse, semicolon\-delimited format. .TP .BI \-\-append\-terse Print statistics in selected mode AND terse, semicolon\-delimited format. \fBDeprecated\fR, use \fB\-\-output\-format\fR instead to select multiple formats. .TP .BI \-\-terse\-version \fR=\fPversion Set terse \fIversion\fR output format (default `3', or `2', `4', `5'). .TP .BI \-\-version Print version information and exit. .TP .BI \-\-help Print a summary of the command line options and exit. .TP .BI \-\-cpuclock\-test Perform test and validation of internal CPU clock. .TP .BI \-\-crctest \fR=\fP[test] Test the speed of the built\-in checksumming functions. If no argument is given, all of them are tested. Alternatively, a comma separated list can be passed, in which case the given ones are tested. .TP .BI \-\-cmdhelp \fR=\fPcommand Print help information for \fIcommand\fR. May be `all' for all commands. .TP .BI \-\-enghelp \fR=\fP[ioengine[,command]] List all commands defined by \fIioengine\fR, or print help for \fIcommand\fR defined by \fIioengine\fR. If no \fIioengine\fR is given, list all available ioengines. .TP .BI \-\-showcmd Convert given \fIjobfile\fRs to a set of command\-line options. .TP .BI \-\-readonly Turn on safety read\-only checks, preventing writes and trims. The \fB\-\-readonly\fR option is an extra safety guard to prevent users from accidentally starting a write or trim workload when that is not desired. Fio will only modify the device under test if `rw=write/randwrite/rw/randrw/trim/randtrim/trimwrite' is given. This safety net can be used as an extra precaution. .TP .BI \-\-eta \fR=\fPwhen Specifies when real\-time ETA estimate should be printed. \fIwhen\fR may be `always', `never' or `auto'. `auto' is the default, it prints ETA when requested if the output is a TTY. `always' disregards the output type, and prints ETA when requested. `never' never prints ETA. .TP .BI \-\-eta\-interval \fR=\fPtime By default, fio requests client ETA status roughly every second. With this option, the interval is configurable. Fio imposes a minimum allowed time to avoid flooding the console, less than 250 msec is not supported. .TP .BI \-\-eta\-newline \fR=\fPtime Force a new line for every \fItime\fR period passed. When the unit is omitted, the value is interpreted in seconds. .TP .BI \-\-status\-interval \fR=\fPtime Force a full status dump of cumulative (from job start) values at \fItime\fR intervals. This option does *not* provide per-period measurements. So values such as bandwidth are running averages. When the time unit is omitted, \fItime\fR is interpreted in seconds. Note that using this option with `\-\-output-format=json' will yield output that technically isn't valid json, since the output will be collated sets of valid json. It will need to be split into valid sets of json after the run. .TP .BI \-\-section \fR=\fPname Only run specified section \fIname\fR in job file. Multiple sections can be specified. The \fB\-\-section\fR option allows one to combine related jobs into one file. E.g. one job file could define light, moderate, and heavy sections. Tell fio to run only the "heavy" section by giving `\-\-section=heavy' command line option. One can also specify the "write" operations in one section and "verify" operation in another section. The \fB\-\-section\fR option only applies to job sections. The reserved *global* section is always parsed and used. .TP .BI \-\-alloc\-size \fR=\fPkb Allocate additional internal smalloc pools of size \fIkb\fR in KiB. The \fB\-\-alloc\-size\fR option increases shared memory set aside for use by fio. If running large jobs with randommap enabled, fio can run out of memory. Smalloc is an internal allocator for shared structures from a fixed size memory pool and can grow to 16 pools. The pool size defaults to 16MiB. NOTE: While running `.fio_smalloc.*' backing store files are visible in `/tmp'. .TP .BI \-\-warnings\-fatal All fio parser warnings are fatal, causing fio to exit with an error. .TP .BI \-\-max\-jobs \fR=\fPnr Set the maximum number of threads/processes to support to \fInr\fR. NOTE: On Linux, it may be necessary to increase the shared-memory limit (`/proc/sys/kernel/shmmax') if fio runs into errors while creating jobs. .TP .BI \-\-server \fR=\fPargs Start a backend server, with \fIargs\fR specifying what to listen to. See \fBCLIENT/SERVER\fR section. .TP .BI \-\-daemonize \fR=\fPpidfile Background a fio server, writing the pid to the given \fIpidfile\fR file. .TP .BI \-\-client \fR=\fPhostname Instead of running the jobs locally, send and run them on the given \fIhostname\fR or set of \fIhostname\fRs. See \fBCLIENT/SERVER\fR section. .TP .BI \-\-remote\-config \fR=\fPfile Tell fio server to load this local \fIfile\fR. .TP .BI \-\-idle\-prof \fR=\fPoption Report CPU idleness. \fIoption\fR is one of the following: .RS .RS .TP .B calibrate Run unit work calibration only and exit. .TP .B system Show aggregate system idleness and unit work. .TP .B percpu As \fBsystem\fR but also show per CPU idleness. .RE .RE .TP .BI \-\-inflate\-log \fR=\fPlog Inflate and output compressed \fIlog\fR. .TP .BI \-\-trigger\-file \fR=\fPfile Execute trigger command when \fIfile\fR exists. .TP .BI \-\-trigger\-timeout \fR=\fPtime Execute trigger at this \fItime\fR. .TP .BI \-\-trigger \fR=\fPcommand Set this \fIcommand\fR as local trigger. .TP .BI \-\-trigger\-remote \fR=\fPcommand Set this \fIcommand\fR as remote trigger. .TP .BI \-\-aux\-path \fR=\fPpath Use the directory specified by \fIpath\fP for generated state files instead of the current working directory. .SH "JOB FILE FORMAT" Any parameters following the options will be assumed to be job files, unless they match a job file parameter. Multiple job files can be listed and each job file will be regarded as a separate group. Fio will \fBstonewall\fR execution between each group. Fio accepts one or more job files describing what it is supposed to do. The job file format is the classic ini file, where the names enclosed in [] brackets define the job name. You are free to use any ASCII name you want, except *global* which has special meaning. Following the job name is a sequence of zero or more parameters, one per line, that define the behavior of the job. If the first character in a line is a ';' or a '#', the entire line is discarded as a comment. A *global* section sets defaults for the jobs described in that file. A job may override a *global* section parameter, and a job file may even have several *global* sections if so desired. A job is only affected by a *global* section residing above it. The \fB\-\-cmdhelp\fR option also lists all options. If used with an \fIcommand\fR argument, \fB\-\-cmdhelp\fR will detail the given \fIcommand\fR. See the `examples/' directory for inspiration on how to write job files. Note the copyright and license requirements currently apply to `examples/' files. Note that the maximum length of a line in the job file is 8192 bytes. .SH "JOB FILE PARAMETERS" Some parameters take an option of a given type, such as an integer or a string. Anywhere a numeric value is required, an arithmetic expression may be used, provided it is surrounded by parentheses. Supported operators are: .RS .P .B addition (+) .P .B subtraction (\-) .P .B multiplication (*) .P .B division (/) .P .B modulus (%) .P .B exponentiation (^) .RE .P For time values in expressions, units are microseconds by default. This is different than for time values not in expressions (not enclosed in parentheses). .SH "PARAMETER TYPES" The following parameter types are used. .TP .I str String. A sequence of alphanumeric characters. .TP .I time Integer with possible time suffix. Without a unit value is interpreted as seconds unless otherwise specified. Accepts a suffix of 'd' for days, 'h' for hours, 'm' for minutes, 's' for seconds, 'ms' (or 'msec') for milliseconds and 'us' (or 'usec') for microseconds. For example, use 10m for 10 minutes. .TP .I int Integer. A whole number value, which may contain an integer prefix and an integer suffix. .RS .RS .P [*integer prefix*] **number** [*integer suffix*] .RE .P The optional *integer prefix* specifies the number's base. The default is decimal. *0x* specifies hexadecimal. .P The optional *integer suffix* specifies the number's units, and includes an optional unit prefix and an optional unit. For quantities of data, the default unit is bytes. For quantities of time, the default unit is seconds unless otherwise specified. .P With `kb_base=1000', fio follows international standards for unit prefixes. To specify power-of-10 decimal values defined in the International System of Units (SI): .RS .P .PD 0 K means kilo (K) or 1000 .P M means mega (M) or 1000**2 .P G means giga (G) or 1000**3 .P T means tera (T) or 1000**4 .P P means peta (P) or 1000**5 .PD .RE .P To specify power-of-2 binary values defined in IEC 80000-13: .RS .P .PD 0 Ki means kibi (Ki) or 1024 .P Mi means mebi (Mi) or 1024**2 .P Gi means gibi (Gi) or 1024**3 .P Ti means tebi (Ti) or 1024**4 .P Pi means pebi (Pi) or 1024**5 .PD .RE .P For Zone Block Device Mode: .RS .P .PD 0 z means Zone .P .PD .RE .P With `kb_base=1024' (the default), the unit prefixes are opposite from those specified in the SI and IEC 80000-13 standards to provide compatibility with old scripts. For example, 4k means 4096. .P For quantities of data, an optional unit of 'B' may be included (e.g., 'kB' is the same as 'k'). .P The *integer suffix* is not case sensitive (e.g., m/mi mean mebi/mega, not milli). 'b' and 'B' both mean byte, not bit. .P Examples with `kb_base=1000': .RS .P .PD 0 4 KiB: 4096, 4096b, 4096B, 4k, 4kb, 4kB, 4K, 4KB .P 1 MiB: 1048576, 1m, 1024k .P 1 MB: 1000000, 1mi, 1000ki .P 1 TiB: 1073741824, 1t, 1024m, 1048576k .P 1 TB: 1000000000, 1ti, 1000mi, 1000000ki .PD .RE .P Examples with `kb_base=1024' (default): .RS .P .PD 0 4 KiB: 4096, 4096b, 4096B, 4k, 4kb, 4kB, 4K, 4KB .P 1 MiB: 1048576, 1m, 1024k .P 1 MB: 1000000, 1mi, 1000ki .P 1 TiB: 1073741824, 1t, 1024m, 1048576k .P 1 TB: 1000000000, 1ti, 1000mi, 1000000ki .PD .RE .P To specify times (units are not case sensitive): .RS .P .PD 0 D means days .P H means hours .P M mean minutes .P s or sec means seconds (default) .P ms or msec means milliseconds .P us or usec means microseconds .PD .RE .P `z' suffix specifies that the value is measured in zones. Value is recalculated once block device's zone size becomes known. .P If the option accepts an upper and lower range, use a colon ':' or minus '\-' to separate such values. See \fIirange\fR parameter type. If the lower value specified happens to be larger than the upper value the two values are swapped. .RE .TP .I bool Boolean. Usually parsed as an integer, however only defined for true and false (1 and 0). .TP .I irange Integer range with suffix. Allows value range to be given, such as 1024\-4096. A colon may also be used as the separator, e.g. 1k:4k. If the option allows two sets of ranges, they can be specified with a ',' or '/' delimiter: 1k\-4k/8k\-32k. Also see \fIint\fR parameter type. .TP .I float_list A list of floating point numbers, separated by a ':' character. .SH "JOB PARAMETERS" With the above in mind, here follows the complete list of fio job parameters. .SS "Units" .TP .BI kb_base \fR=\fPint Select the interpretation of unit prefixes in input parameters. .RS .RS .TP .B 1000 Inputs comply with IEC 80000-13 and the International System of Units (SI). Use: .RS .P .PD 0 \- power-of-2 values with IEC prefixes (e.g., KiB) .P \- power-of-10 values with SI prefixes (e.g., kB) .PD .RE .TP .B 1024 Compatibility mode (default). To avoid breaking old scripts: .P .RS .PD 0 \- power-of-2 values with SI prefixes .P \- power-of-10 values with IEC prefixes .PD .RE .RE .P See \fBbs\fR for more details on input parameters. .P Outputs always use correct prefixes. Most outputs include both side-by-side, like: .P .RS bw=2383.3kB/s (2327.4KiB/s) .RE .P If only one value is reported, then kb_base selects the one to use: .P .RS .PD 0 1000 \-\- SI prefixes .P 1024 \-\- IEC prefixes .PD .RE .RE .TP .BI unit_base \fR=\fPint Base unit for reporting. Allowed values are: .RS .RS .TP .B 0 Use auto-detection (default). .TP .B 8 Byte based. .TP .B 1 Bit based. .RE .RE .SS "Job description" .TP .BI name \fR=\fPstr ASCII name of the job. This may be used to override the name printed by fio for this job. Otherwise the job name is used. On the command line this parameter has the special purpose of also signaling the start of a new job. .TP .BI description \fR=\fPstr Text description of the job. Doesn't do anything except dump this text description when this job is run. It's not parsed. .TP .BI loops \fR=\fPint Run the specified number of iterations of this job. Used to repeat the same workload a given number of times. Defaults to 1. .TP .BI numjobs \fR=\fPint Create the specified number of clones of this job. Each clone of job is spawned as an independent thread or process. May be used to setup a larger number of threads/processes doing the same thing. Each thread is reported separately; to see statistics for all clones as a whole, use \fBgroup_reporting\fR in conjunction with \fBnew_group\fR. See \fB\-\-max\-jobs\fR. Default: 1. .SS "Time related parameters" .TP .BI runtime \fR=\fPtime Limit runtime. The test will run until it completes the configured I/O workload or until it has run for this specified amount of time, whichever occurs first. It can be quite hard to determine for how long a specified job will run, so this parameter is handy to cap the total runtime to a given time. When the unit is omitted, the value is interpreted in seconds. .TP .BI time_based If set, fio will run for the duration of the \fBruntime\fR specified even if the file(s) are completely read or written. It will simply loop over the same workload as many times as the \fBruntime\fR allows. .TP .BI startdelay \fR=\fPirange(int) Delay the start of job for the specified amount of time. Can be a single value or a range. When given as a range, each thread will choose a value randomly from within the range. Value is in seconds if a unit is omitted. .TP .BI ramp_time \fR=\fPtime If set, fio will run the specified workload for this amount of time before logging any performance numbers. Useful for letting performance settle before logging results, thus minimizing the runtime required for stable results. Note that the \fBramp_time\fR is considered lead in time for a job, thus it will increase the total runtime if a special timeout or \fBruntime\fR is specified. When the unit is omitted, the value is given in seconds. .TP .BI clocksource \fR=\fPstr Use the given clocksource as the base of timing. The supported options are: .RS .RS .TP .B gettimeofday \fBgettimeofday\fR\|(2) .TP .B clock_gettime \fBclock_gettime\fR\|(2) .TP .B cpu Internal CPU clock source .RE .P \fBcpu\fR is the preferred clocksource if it is reliable, as it is very fast (and fio is heavy on time calls). Fio will automatically use this clocksource if it's supported and considered reliable on the system it is running on, unless another clocksource is specifically set. For x86/x86\-64 CPUs, this means supporting TSC Invariant. .RE .TP .BI gtod_reduce \fR=\fPbool Enable all of the \fBgettimeofday\fR\|(2) reducing options (\fBdisable_clat\fR, \fBdisable_slat\fR, \fBdisable_bw_measurement\fR) plus reduce precision of the timeout somewhat to really shrink the \fBgettimeofday\fR\|(2) call count. With this option enabled, we only do about 0.4% of the \fBgettimeofday\fR\|(2) calls we would have done if all time keeping was enabled. .TP .BI gtod_cpu \fR=\fPint Sometimes it's cheaper to dedicate a single thread of execution to just getting the current time. Fio (and databases, for instance) are very intensive on \fBgettimeofday\fR\|(2) calls. With this option, you can set one CPU aside for doing nothing but logging current time to a shared memory location. Then the other threads/processes that run I/O workloads need only copy that segment, instead of entering the kernel with a \fBgettimeofday\fR\|(2) call. The CPU set aside for doing these time calls will be excluded from other uses. Fio will manually clear it from the CPU mask of other jobs. .TP .BI job_start_clock_id \fR=\fPint The clock_id passed to the call to \fBclock_gettime\fR used to record job_start in the \fBjson\fR output format. Default is 0, or CLOCK_REALTIME. .SS "Target file/device" .TP .BI directory \fR=\fPstr Prefix \fBfilename\fRs with this directory. Used to place files in a different location than `./'. You can specify a number of directories by separating the names with a ':' character. These directories will be assigned equally distributed to job clones created by \fBnumjobs\fR as long as they are using generated filenames. If specific \fBfilename\fR(s) are set fio will use the first listed directory, and thereby matching the \fBfilename\fR semantic (which generates a file for each clone if not specified, but lets all clones use the same file if set). .RS .P See the \fBfilename\fR option for information on how to escape ':' characters within the directory path itself. .P Note: To control the directory fio will use for internal state files use \fB\-\-aux\-path\fR. .RE .TP .BI filename \fR=\fPstr Fio normally makes up a \fBfilename\fR based on the job name, thread number, and file number (see \fBfilename_format\fR). If you want to share files between threads in a job or several jobs with fixed file paths, specify a \fBfilename\fR for each of them to override the default. If the ioengine is file based, you can specify a number of files by separating the names with a ':' colon. So if you wanted a job to open `/dev/sda' and `/dev/sdb' as the two working files, you would use `filename=/dev/sda:/dev/sdb'. This also means that whenever this option is specified, \fBnrfiles\fR is ignored. The size of regular files specified by this option will be \fBsize\fR divided by number of files unless an explicit size is specified by \fBfilesize\fR. .RS .P Each colon in the wanted path must be escaped with a '\e' character. For instance, if the path is `/dev/dsk/foo@3,0:c' then you would use `filename=/dev/dsk/foo@3,0\\:c' and if the path is `F:\\filename' then you would use `filename=F\\:\\filename'. .P On Windows, disk devices are accessed as `\\\\.\\PhysicalDrive0' for the first device, `\\\\.\\PhysicalDrive1' for the second etc. Note: Windows and FreeBSD prevent write access to areas of the disk containing in-use data (e.g. filesystems). .P For HTTP and S3 access, specify a valid URL path or S3 key, respectively. A filename for path-style S3 includes a bucket name (`/bucket/k/e.y') while a virtual-hosted-style S3 filename (`/k/e.y') does not because its bucket name is specified in \fBhttp_host\fR. .P The filename `\-' is a reserved name, meaning *stdin* or *stdout*. Which of the two depends on the read/write direction set. .RE .TP .BI filename_format \fR=\fPstr If sharing multiple files between jobs, it is usually necessary to have fio generate the exact names that you want. By default, fio will name a file based on the default file format specification of `jobname.jobnumber.filenumber'. With this option, that can be customized. Fio will recognize and replace the following keywords in this string: .RS .RS .TP .B $jobname The name of the worker thread or process. .TP .B $clientuid IP of the fio process when using client/server mode. .TP .B $jobnum The incremental number of the worker thread or process. .TP .B $filenum The incremental number of the file for that worker thread or process. .RE .P To have dependent jobs share a set of files, this option can be set to have fio generate filenames that are shared between the two. For instance, if `testfiles.$filenum' is specified, file number 4 for any job will be named `testfiles.4'. The default of `$jobname.$jobnum.$filenum' will be used if no other format specifier is given. .P If you specify a path then the directories will be created up to the main directory for the file. So for example if you specify `a/b/c/$jobnum` then the directories a/b/c will be created before the file setup part of the job. If you specify \fBdirectory\fR then the path will be relative that directory, otherwise it is treated as the absolute path. .RE .TP .BI unique_filename \fR=\fPbool To avoid collisions between networked clients, fio defaults to prefixing any generated filenames (with a directory specified) with the source of the client connecting. To disable this behavior, set this option to 0. .TP .BI opendir \fR=\fPstr Recursively open any files below directory \fIstr\fR. This accepts only a single directory and unlike related options, colons appearing in the path must not be escaped. .TP .BI lockfile \fR=\fPstr Fio defaults to not locking any files before it does I/O to them. If a file or file descriptor is shared, fio can serialize I/O to that file to make the end result consistent. This is usual for emulating real workloads that share files. The lock modes are: .RS .RS .TP .B none No locking. The default. .TP .B exclusive Only one thread or process may do I/O at a time, excluding all others. .TP .B readwrite Read\-write locking on the file. Many readers may access the file at the same time, but writes get exclusive access. .RE .RE .TP .BI nrfiles \fR=\fPint Number of files to use for this job. Defaults to 1. The size of files will be \fBsize\fR divided by this unless explicit size is specified by \fBfilesize\fR. Files are created for each thread separately, and each file will have a file number within its name by default, as explained in \fBfilename\fR section. .TP .BI openfiles \fR=\fPint Number of files to keep open at the same time. Defaults to the same as \fBnrfiles\fR, can be set smaller to limit the number simultaneous opens. .TP .BI file_service_type \fR=\fPstr Defines how fio decides which file from a job to service next. The following types are defined: .RS .RS .TP .B random Choose a file at random. .TP .B roundrobin Round robin over opened files. This is the default. .TP .B sequential Finish one file before moving on to the next. Multiple files can still be open depending on \fBopenfiles\fR. .TP .B zipf Use a Zipf distribution to decide what file to access. .TP .B pareto Use a Pareto distribution to decide what file to access. .TP .B normal Use a Gaussian (normal) distribution to decide what file to access. .TP .B gauss Alias for normal. .RE .P For \fBrandom\fR, \fBroundrobin\fR, and \fBsequential\fR, a postfix can be appended to tell fio how many I/Os to issue before switching to a new file. For example, specifying `file_service_type=random:8' would cause fio to issue 8 I/Os before selecting a new file at random. For the non-uniform distributions, a floating point postfix can be given to influence how the distribution is skewed. See \fBrandom_distribution\fR for a description of how that would work. .RE .TP .BI ioscheduler \fR=\fPstr Attempt to switch the device hosting the file to the specified I/O scheduler before running. If the file is a pipe, a character device file or if device hosting the file could not be determined, this option is ignored. .TP .BI create_serialize \fR=\fPbool If true, serialize the file creation for the jobs. This may be handy to avoid interleaving of data files, which may greatly depend on the filesystem used and even the number of processors in the system. Default: true. .TP .BI create_fsync \fR=\fPbool \fBfsync\fR\|(2) the data file after creation. This is the default. .TP .BI create_on_open \fR=\fPbool If true, don't pre-create files but allow the job's open() to create a file when it's time to do I/O. Default: false \-\- pre-create all necessary files when the job starts. .TP .BI create_only \fR=\fPbool If true, fio will only run the setup phase of the job. If files need to be laid out or updated on disk, only that will be done \-\- the actual job contents are not executed. Default: false. .TP .BI allow_file_create \fR=\fPbool If true, fio is permitted to create files as part of its workload. If this option is false, then fio will error out if the files it needs to use don't already exist. Default: true. .TP .BI allow_mounted_write \fR=\fPbool If this isn't set, fio will abort jobs that are destructive (e.g. that write) to what appears to be a mounted device or partition. This should help catch creating inadvertently destructive tests, not realizing that the test will destroy data on the mounted file system. Note that some platforms don't allow writing against a mounted device regardless of this option. Default: false. .TP .BI pre_read \fR=\fPbool If this is given, files will be pre-read into memory before starting the given I/O operation. This will also clear the \fBinvalidate\fR flag, since it is pointless to pre-read and then drop the cache. This will only work for I/O engines that are seek-able, since they allow you to read the same data multiple times. Thus it will not work on non-seekable I/O engines (e.g. network, splice). Default: false. .TP .BI unlink \fR=\fPbool Unlink (delete) the job files when done. Not the default, as repeated runs of that job would then waste time recreating the file set again and again. Default: false. .TP .BI unlink_each_loop \fR=\fPbool Unlink (delete) job files after each iteration or loop. Default: false. .TP .BI zonemode \fR=\fPstr Accepted values are: .RS .RS .TP .B none The \fBzonerange\fR, \fBzonesize\fR \fBzonecapacity\fR and \fBzoneskip\fR parameters are ignored. .TP .B strided I/O happens in a single zone until \fBzonesize\fR bytes have been transferred. After that number of bytes has been transferred processing of the next zone starts. The \fBzonecapacity\fR parameter is ignored. .TP .B zbd Zoned block device mode. I/O happens sequentially in each zone, even if random I/O has been selected. Random I/O happens across all zones instead of being restricted to a single zone. Trim is handled using a zone reset operation. Trim only considers non-empty sequential write required and sequential write preferred zones. .RE .RE .TP .BI zonerange \fR=\fPint For \fBzonemode\fR=strided, this is the size of a single zone. See also \fBzonesize\fR and \fBzoneskip\fR. For \fBzonemode\fR=zbd, this parameter is ignored. .TP .BI zonesize \fR=\fPint For \fBzonemode\fR=strided, this is the number of bytes to transfer before skipping \fBzoneskip\fR bytes. If this parameter is smaller than \fBzonerange\fR then only a fraction of each zone with \fBzonerange\fR bytes will be accessed. If this parameter is larger than \fBzonerange\fR then each zone will be accessed multiple times before skipping to the next zone. For \fBzonemode\fR=zbd, this is the size of a single zone. The \fBzonerange\fR parameter is ignored in this mode. For a job accessing a zoned block device, the specified \fBzonesize\fR must be 0 or equal to the device zone size. For a regular block device or file, the specified \fBzonesize\fR must be at least 512B. .TP .BI zonecapacity \fR=\fPint For \fBzonemode\fR=zbd, this defines the capacity of a single zone, which is the accessible area starting from the zone start address. This parameter only applies when using \fBzonemode\fR=zbd in combination with regular block devices. If not specified it defaults to the zone size. If the target device is a zoned block device, the zone capacity is obtained from the device information and this option is ignored. .TP .BI zoneskip \fR=\fPint[z] For \fBzonemode\fR=strided, the number of bytes to skip after \fBzonesize\fR bytes of data have been transferred. For \fBzonemode\fR=zbd, the \fBzonesize\fR aligned number of bytes to skip once a zone is fully written (write workloads) or all written data in the zone have been read (read workloads). This parameter is valid only for sequential workloads and ignored for random workloads. For read workloads, see also \fBread_beyond_wp\fR. .TP .BI read_beyond_wp \fR=\fPbool This parameter applies to \fBzonemode=zbd\fR only. Zoned block devices are block devices that consist of multiple zones. Each zone has a type, e.g. conventional or sequential. A conventional zone can be written at any offset that is a multiple of the block size. Sequential zones must be written sequentially. The position at which a write must occur is called the write pointer. A zoned block device can be either host managed or host aware. For host managed devices the host must ensure that writes happen sequentially. Fio recognizes host managed devices and serializes writes to sequential zones for these devices. If a read occurs in a sequential zone beyond the write pointer then the zoned block device will complete the read without reading any data from the storage medium. Since such reads lead to unrealistically high bandwidth and IOPS numbers fio only reads beyond the write pointer if explicitly told to do so. Default: false. .TP .BI max_open_zones \fR=\fPint When a zone of a zoned block device is partially written (i.e. not all sectors of the zone have been written), the zone is in one of three conditions: 'implicit open', 'explicit open' or 'closed'. Zoned block devices may have a limit called 'max_open_zones' (same name as the parameter) on the total number of zones that can simultaneously be in the 'implicit open' or 'explicit open' conditions. Zoned block devices may have another limit called 'max_active_zones', on the total number of zones that can simultaneously be in the three conditions. The \fBmax_open_zones\fR parameter limits the number of zones to which write commands are issued by all fio jobs, that is, limits the number of zones that will be in the conditions. When the device has the max_open_zones limit and does not have the max_active_zones limit, the \fBmax_open_zones\fR parameter limits the number of zones in the two open conditions up to the limit. In this case, fio includes zones in the two open conditions to the write target zones at fio start. When the device has both the max_open_zones and the max_active_zones limits, the \fBmax_open_zones\fR parameter limits the number of zones in the three conditions up to the limit. In this case, fio includes zones in the three conditions to the write target zones at fio start. This parameter is relevant only if the \fBzonemode=zbd\fR is used. The default value is always equal to the max_open_zones limit of the target zoned block device and a value higher than this limit cannot be specified by users unless the option \fBignore_zone_limits\fR is specified. When \fBignore_zone_limits\fR is specified or the target device does not have the max_open_zones limit, \fBmax_open_zones\fR can specify 0 to disable any limit on the number of zones that can be simultaneously written to by all jobs. .TP .BI job_max_open_zones \fR=\fPint In the same manner as \fBmax_open_zones\fR, limit the number of open zones per fio job, that is, the number of zones that a single job can simultaneously write to. A value of zero indicates no limit. Default: zero. .TP .BI ignore_zone_limits \fR=\fPbool If this option is used, fio will ignore the maximum number of open zones limit of the zoned block device in use, thus allowing the option \fBmax_open_zones\fR value to be larger than the device reported limit. Default: false. .TP .BI zone_reset_threshold \fR=\fPfloat A number between zero and one that indicates the ratio of written bytes in the zones with write pointers in the IO range to the size of the IO range. When current ratio is above this ratio, zones are reset periodically as \fBzone_reset_frequency\fR specifies. If there are multiple jobs when using this option, the IO range for all write jobs has to be the same. .TP .BI zone_reset_frequency \fR=\fPfloat A number between zero and one that indicates how often a zone reset should be issued if the zone reset threshold has been exceeded. A zone reset is submitted after each (1 / zone_reset_frequency) write requests. This and the previous parameter can be used to simulate garbage collection activity. .SS "I/O type" .TP .BI direct \fR=\fPbool If value is true, use non-buffered I/O. This is usually O_DIRECT. Note that OpenBSD and ZFS on Solaris don't support direct I/O. On Windows the synchronous ioengines don't support direct I/O. Default: false. .TP .BI buffered \fR=\fPbool If value is true, use buffered I/O. This is the opposite of the \fBdirect\fR option. Defaults to true. .TP .BI readwrite \fR=\fPstr "\fR,\fP rw" \fR=\fPstr Type of I/O pattern. Accepted values are: .RS .RS .TP .B read Sequential reads. .TP .B write Sequential writes. .TP .B trim Sequential trims (Linux block devices and SCSI character devices only). .TP .B randread Random reads. .TP .B randwrite Random writes. .TP .B randtrim Random trims (Linux block devices and SCSI character devices only). .TP .B rw,readwrite Sequential mixed reads and writes. .TP .B randrw Random mixed reads and writes. .TP .B trimwrite Sequential trim+write sequences. Blocks will be trimmed first, then the same blocks will be written to. So if `io_size=64K' is specified, Fio will trim a total of 64K bytes and also write 64K bytes on the same trimmed blocks. This behaviour will be consistent with `number_ios' or other Fio options limiting the total bytes or number of I/O's. .TP .B randtrimwrite Like .B trimwrite , but uses random offsets rather than sequential writes. .RE .P Fio defaults to read if the option is not specified. For the mixed I/O types, the default is to split them 50/50. For certain types of I/O the result may still be skewed a bit, since the speed may be different. .P It is possible to specify the number of I/Os to do before getting a new offset by appending `:' to the end of the string given. For a random read, it would look like `rw=randread:8' for passing in an offset modifier with a value of 8. If the suffix is used with a sequential I/O pattern, then the `' value specified will be added to the generated offset for each I/O turning sequential I/O into sequential I/O with holes. For instance, using `rw=write:4k' will skip 4k for every write. Also see the \fBrw_sequencer\fR option. If this is used with \fBverify\fR then \fBverify_header_seed\fR option will be disabled, unless its explicitly enabled. .RE .TP .BI rw_sequencer \fR=\fPstr If an offset modifier is given by appending a number to the `rw=\fIstr\fR' line, then this option controls how that number modifies the I/O offset being generated. Accepted values are: .RS .RS .TP .B sequential Generate sequential offset. .TP .B identical Generate the same offset. .RE .P \fBsequential\fR is only useful for random I/O, where fio would normally generate a new random offset for every I/O. If you append e.g. 8 to randread, i.e. `rw=randread:8' you would get a new random offset for every 8 I/Os. The result would be a sequence of 8 sequential offsets with a random starting point. However this behavior may change if a sequential I/O reaches end of the file. As sequential I/O is already sequential, setting \fBsequential\fR for that would not result in any difference. \fBidentical\fR behaves in a similar fashion, except it sends the same offset 8 number of times before generating a new offset. .P .P Example #1: .RS .P .PD 0 rw=randread:8 .P rw_sequencer=sequential .P bs=4k .PD .RE .P The generated sequence of offsets will look like this: 4k, 8k, 12k, 16k, 20k, 24k, 28k, 32k, 92k, 96k, 100k, 104k, 108k, 112k, 116k, 120k, 48k, 52k ... .P .P Example #2: .RS .P .PD 0 rw=randread:8 .P rw_sequencer=identical .P bs=4k .PD .RE .P The generated sequence of offsets will look like this: 4k, 4k, 4k, 4k, 4k, 4k, 4k, 4k, 92k, 92k, 92k, 92k, 92k, 92k, 92k, 92k, 48k, 48k, 48k ... .RE .TP .BI unified_rw_reporting \fR=\fPstr Fio normally reports statistics on a per data direction basis, meaning that reads, writes, and trims are accounted and reported separately. This option determines whether fio reports the results normally, summed together, or as both options. Accepted values are: .RS .TP .B none Normal statistics reporting. .TP .B mixed Statistics are summed per data direction and reported together. .TP .B both Statistics are reported normally, followed by the mixed statistics. .TP .B 0 Backward-compatible alias for \fBnone\fR. .TP .B 1 Backward-compatible alias for \fBmixed\fR. .TP .B 2 Alias for \fBboth\fR. .RE .TP .BI randrepeat \fR=\fPbool Seed all random number generators in a predictable way so the pattern is repeatable across runs. Default: true. .TP .BI allrandrepeat \fR=\fPbool Alias for \fBrandrepeat\fR. Default: true. .TP .BI randseed \fR=\fPint Seed the random number generators based on this seed value, to be able to control what sequence of output is being generated. If not set, the random sequence depends on the \fBrandrepeat\fR setting. .TP .BI fallocate \fR=\fPstr Whether pre-allocation is performed when laying down files. Accepted values are: .RS .RS .TP .B none Do not pre-allocate space. .TP .B native Use a platform's native pre-allocation call but fall back to \fBnone\fR behavior if it fails/is not implemented. .TP .B posix Pre-allocate via \fBposix_fallocate\fR\|(3). .TP .B keep Pre-allocate via \fBfallocate\fR\|(2) with FALLOC_FL_KEEP_SIZE set. .TP .B truncate Extend file to final size using \fBftruncate\fR|(2) instead of allocating. .TP .B 0 Backward-compatible alias for \fBnone\fR. .TP .B 1 Backward-compatible alias for \fBposix\fR. .RE .P May not be available on all supported platforms. \fBkeep\fR is only available on Linux. If using ZFS on Solaris this cannot be set to \fBposix\fR because ZFS doesn't support pre-allocation. Default: \fBnative\fR if any pre-allocation methods except \fBtruncate\fR are available, \fBnone\fR if not. .P Note that using \fBtruncate\fR on Windows will interact surprisingly with non-sequential write patterns. When writing to a file that has been extended by setting the end-of-file information, Windows will backfill the unwritten portion of the file up to that offset with zeroes before issuing the new write. This means that a single small write to the end of an extended file will stall until the entire file has been filled with zeroes. .RE .TP .BI fadvise_hint \fR=\fPstr Use \fBposix_fadvise\fR\|(2) or \fBposix_madvise\fR\|(2) to advise the kernel what I/O patterns are likely to be issued. Accepted values are: .RS .RS .TP .B 0 Backwards compatible hint for "no hint". .TP .B 1 Backwards compatible hint for "advise with fio workload type". This uses FADV_RANDOM for a random workload, and FADV_SEQUENTIAL for a sequential workload. .TP .B sequential Advise using FADV_SEQUENTIAL. .TP .B random Advise using FADV_RANDOM. .TP .B noreuse Advise using FADV_NOREUSE. This may be a no-op on older Linux kernels. Since Linux 6.3, it provides a hint to the LRU algorithm. See the \fBposix_fadvise\fR\|(2) man page. .RE .RE .TP .BI write_hint \fR=\fPstr Use \fBfcntl\fR\|(2) to advise the kernel what life time to expect from a write. Only supported on Linux, as of version 4.13. Accepted values are: .RS .RS .TP .B none No particular life time associated with this file. .TP .B short Data written to this file has a short life time. .TP .B medium Data written to this file has a medium life time. .TP .B long Data written to this file has a long life time. .TP .B extreme Data written to this file has a very long life time. .RE .P The values are all relative to each other, and no absolute meaning should be associated with them. .RE .TP .BI offset \fR=\fPint[%|z] Start I/O at the provided offset in the file, given as either a fixed size in bytes, zones or a percentage. If a percentage is given, the generated offset will be aligned to the minimum \fBblocksize\fR or to the value of \fBoffset_align\fR if provided. Data before the given offset will not be touched. This effectively caps the file size at `real_size \- offset'. Can be combined with \fBsize\fR to constrain the start and end range of the I/O workload. A percentage can be specified by a number between 1 and 100 followed by '%', for example, `offset=20%' to specify 20%. In ZBD mode, value can be set as number of zones using 'z'. .TP .BI offset_align \fR=\fPint If set to non-zero value, the byte offset generated by a percentage \fBoffset\fR is aligned upwards to this value. Defaults to 0 meaning that a percentage offset is aligned to the minimum block size. .TP .BI offset_increment \fR=\fPint[%|z] If this is provided, then the real offset becomes `\fBoffset\fR + \fBoffset_increment\fR * thread_number', where the thread number is a counter that starts at 0 and is incremented for each sub-job (i.e. when \fBnumjobs\fR option is specified). This option is useful if there are several jobs which are intended to operate on a file in parallel disjoint segments, with even spacing between the starting points. Percentages can be used for this option. If a percentage is given, the generated offset will be aligned to the minimum \fBblocksize\fR or to the value of \fBoffset_align\fR if provided.In ZBD mode, value can be set as number of zones using 'z'. .TP .BI number_ios \fR=\fPint Fio will normally perform I/Os until it has exhausted the size of the region set by \fBsize\fR, or if it exhaust the allocated time (or hits an error condition). With this setting, the range/size can be set independently of the number of I/Os to perform. When fio reaches this number, it will exit normally and report status. Note that this does not extend the amount of I/O that will be done, it will only stop fio if this condition is met before other end-of-job criteria. .TP .BI fsync \fR=\fPint If writing to a file, issue an \fBfsync\fR\|(2) (or its equivalent) of the dirty data for every number of blocks given. For example, if you give 32 as a parameter, fio will sync the file after every 32 writes issued. If fio is using non-buffered I/O, we may not sync the file. The exception is the sg I/O engine, which synchronizes the disk cache anyway. Defaults to 0, which means fio does not periodically issue and wait for a sync to complete. Also see \fBend_fsync\fR and \fBfsync_on_close\fR. .TP .BI fdatasync \fR=\fPint Like \fBfsync\fR but uses \fBfdatasync\fR\|(2) to only sync data and not metadata blocks. In Windows, DragonFlyBSD or OSX there is no \fBfdatasync\fR\|(2) so this falls back to using \fBfsync\fR\|(2). Defaults to 0, which means fio does not periodically issue and wait for a data-only sync to complete. .TP .BI write_barrier \fR=\fPint Make every N\-th write a barrier write. .TP .BI sync_file_range \fR=\fPstr:int Use \fBsync_file_range\fR\|(2) for every \fIint\fR number of write operations. Fio will track range of writes that have happened since the last \fBsync_file_range\fR\|(2) call. \fIstr\fR can currently be one or more of: .RS .RS .TP .B wait_before SYNC_FILE_RANGE_WAIT_BEFORE .TP .B write SYNC_FILE_RANGE_WRITE .TP .B wait_after SYNC_FILE_RANGE_WRITE_AFTER .RE .P So if you do `sync_file_range=wait_before,write:8', fio would use `SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE' for every 8 writes. Also see the \fBsync_file_range\fR\|(2) man page. This option is Linux specific. .RE .TP .BI overwrite \fR=\fPbool If true, writes to a file will always overwrite existing data. If the file doesn't already exist, it will be created before the write phase begins. If the file exists and is large enough for the specified write phase, nothing will be done. Default: false. .TP .BI end_fsync \fR=\fPbool If true, \fBfsync\fR\|(2) file contents when a write stage has completed. Default: false. .TP .BI fsync_on_close \fR=\fPbool If true, fio will \fBfsync\fR\|(2) a dirty file on close. This differs from \fBend_fsync\fR in that it will happen on every file close, not just at the end of the job. Default: false. .TP .BI rwmixread \fR=\fPint Percentage of a mixed workload that should be reads. Default: 50. .TP .BI rwmixwrite \fR=\fPint Percentage of a mixed workload that should be writes. If both \fBrwmixread\fR and \fBrwmixwrite\fR is given and the values do not add up to 100%, the latter of the two will be used to override the first. This may interfere with a given rate setting, if fio is asked to limit reads or writes to a certain rate. If that is the case, then the distribution may be skewed. Default: 50. .TP .BI random_distribution \fR=\fPstr:float[:float][,str:float][,str:float] By default, fio will use a completely uniform random distribution when asked to perform random I/O. Sometimes it is useful to skew the distribution in specific ways, ensuring that some parts of the data is more hot than others. fio includes the following distribution models: .RS .RS .TP .B random Uniform random distribution .TP .B zipf Zipf distribution .TP .B pareto Pareto distribution .TP .B normal Normal (Gaussian) distribution .TP .B zoned Zoned random distribution .B zoned_abs Zoned absolute random distribution .RE .P When using a \fBzipf\fR or \fBpareto\fR distribution, an input value is also needed to define the access pattern. For \fBzipf\fR, this is the `Zipf theta'. For \fBpareto\fR, it's the `Pareto power'. Fio includes a test program, \fBfio\-genzipf\fR, that can be used visualize what the given input values will yield in terms of hit rates. If you wanted to use \fBzipf\fR with a `theta' of 1.2, you would use `random_distribution=zipf:1.2' as the option. If a non\-uniform model is used, fio will disable use of the random map. For the \fBnormal\fR distribution, a normal (Gaussian) deviation is supplied as a value between 0 and 100. .P The second, optional float is allowed for \fBpareto\fR, \fBzipf\fR and \fBnormal\fR distributions. It allows one to set base of distribution in non-default place, giving more control over most probable outcome. This value is in range [0-1] which maps linearly to range of possible random values. Defaults are: random for \fBpareto\fR and \fBzipf\fR, and 0.5 for \fBnormal\fR. If you wanted to use \fBzipf\fR with a `theta` of 1.2 centered on 1/4 of allowed value range, you would use `random_distribution=zipf:1.2:0.25`. .P For a \fBzoned\fR distribution, fio supports specifying percentages of I/O access that should fall within what range of the file or device. For example, given a criteria of: .RS .P .PD 0 60% of accesses should be to the first 10% .P 30% of accesses should be to the next 20% .P 8% of accesses should be to the next 30% .P 2% of accesses should be to the next 40% .PD .RE .P we can define that through zoning of the random accesses. For the above example, the user would do: .RS .P random_distribution=zoned:60/10:30/20:8/30:2/40 .RE .P A \fBzoned_abs\fR distribution works exactly like the\fBzoned\fR, except that it takes absolute sizes. For example, let's say you wanted to define access according to the following criteria: .RS .P .PD 0 60% of accesses should be to the first 20G .P 30% of accesses should be to the next 100G .P 10% of accesses should be to the next 500G .PD .RE .P we can define an absolute zoning distribution with: .RS .P random_distribution=zoned:60/10:30/20:8/30:2/40 .RE .P For both \fBzoned\fR and \fBzoned_abs\fR, fio supports defining up to 256 separate zones. .P Similarly to how \fBbssplit\fR works for setting ranges and percentages of block sizes. Like \fBbssplit\fR, it's possible to specify separate zones for reads, writes, and trims. If just one set is given, it'll apply to all of them. .RE .TP .BI percentage_random \fR=\fPint[,int][,int] For a random workload, set how big a percentage should be random. This defaults to 100%, in which case the workload is fully random. It can be set from anywhere from 0 to 100. Setting it to 0 would make the workload fully sequential. Any setting in between will result in a random mix of sequential and random I/O, at the given percentages. Comma-separated values may be specified for reads, writes, and trims as described in \fBblocksize\fR. .TP .BI norandommap Normally fio will cover every block of the file when doing random I/O. If this option is given, fio will just get a new random offset without looking at past I/O history. This means that some blocks may not be read or written, and that some blocks may be read/written more than once. If this option is used with \fBverify\fR then \fBverify_header_seed\fR will be disabled. If this option is used with \fBverify\fR and multiple blocksizes (via \fBbsrange\fR), only intact blocks are verified, i.e., partially-overwritten blocks are ignored. With an async I/O engine and an I/O depth > 1, header write sequence number verification will be disabled. See \fBverify_write_sequence\fR. .TP .BI softrandommap \fR=\fPbool See \fBnorandommap\fR. If fio runs with the random block map enabled and it fails to allocate the map, if this option is set it will continue without a random block map. As coverage will not be as complete as with random maps, this option is disabled by default. .TP .BI random_generator \fR=\fPstr Fio supports the following engines for generating I/O offsets for random I/O: .RS .RS .TP .B tausworthe Strong 2^88 cycle random number generator. .TP .B lfsr Linear feedback shift register generator. .TP .B tausworthe64 Strong 64\-bit 2^258 cycle random number generator. .RE .P \fBtausworthe\fR is a strong random number generator, but it requires tracking on the side if we want to ensure that blocks are only read or written once. \fBlfsr\fR guarantees that we never generate the same offset twice, and it's also less computationally expensive. It's not a true random generator, however, though for I/O purposes it's typically good enough. \fBlfsr\fR only works with single block sizes, not with workloads that use multiple block sizes. If used with such a workload, fio may read or write some blocks multiple times. The default value is \fBtausworthe\fR, unless the required space exceeds 2^32 blocks. If it does, then \fBtausworthe64\fR is selected automatically. .RE .SS "Block size" .TP .BI blocksize \fR=\fPint[,int][,int] "\fR,\fB bs" \fR=\fPint[,int][,int] The block size in bytes used for I/O units. Default: 4096. A single value applies to reads, writes, and trims. Comma-separated values may be specified for reads, writes, and trims. A value not terminated in a comma applies to subsequent types. Examples: .RS .RS .P .PD 0 bs=256k means 256k for reads, writes and trims. .P bs=8k,32k means 8k for reads, 32k for writes and trims. .P bs=8k,32k, means 8k for reads, 32k for writes, and default for trims. .P bs=,8k means default for reads, 8k for writes and trims. .P bs=,8k, means default for reads, 8k for writes, and default for trims. .PD .RE .RE .TP .BI blocksize_range \fR=\fPirange[,irange][,irange] "\fR,\fB bsrange" \fR=\fPirange[,irange][,irange] A range of block sizes in bytes for I/O units. The issued I/O unit will always be a multiple of the minimum size, unless \fBblocksize_unaligned\fR is set. Comma-separated ranges may be specified for reads, writes, and trims as described in \fBblocksize\fR. Example: .RS .RS .P bsrange=1k\-4k,2k\-8k or bsrange=1k:4k,2k:8k .RE .RE .TP .BI bssplit \fR=\fPstr[,str][,str] Sometimes you want even finer grained control of the block sizes issued, not just an even split between them. This option allows you to weight various block sizes, so that you are able to define a specific amount of block sizes issued. The format for this option is: .RS .RS .P bssplit=blocksize/percentage:blocksize/percentage .RE .P for as many block sizes as needed. So if you want to define a workload that has 50% 64k blocks, 10% 4k blocks, and 40% 32k blocks, you would write: .RS .P bssplit=4k/10:64k/50:32k/40 .RE .P Ordering does not matter. If the percentage is left blank, fio will fill in the remaining values evenly. So a bssplit option like this one: .RS .P bssplit=4k/50:1k/:32k/ .RE .P would have 50% 4k ios, and 25% 1k and 32k ios. The percentages always add up to 100, if bssplit is given a range that adds up to more, it will error out. .P Comma-separated values may be specified for reads, writes, and trims as described in \fBblocksize\fR. .P If you want a workload that has 50% 2k reads and 50% 4k reads, while having 90% 4k writes and 10% 8k writes, you would specify: .RS .P bssplit=2k/50:4k/50,4k/90:8k/10 .RE .P Fio supports defining up to 64 different weights for each data direction. .RE .TP .BI blocksize_unaligned "\fR,\fB bs_unaligned" If set, fio will issue I/O units with any size within \fBblocksize_range\fR, not just multiples of the minimum size. This typically won't work with direct I/O, as that normally requires sector alignment. .TP .BI bs_is_seq_rand \fR=\fPbool If this option is set, fio will use the normal read,write blocksize settings as sequential,random blocksize settings instead. Any random read or write will use the WRITE blocksize settings, and any sequential read or write will use the READ blocksize settings. .TP .BI blockalign \fR=\fPint[,int][,int] "\fR,\fB ba" \fR=\fPint[,int][,int] Boundary to which fio will align random I/O units. Default: \fBblocksize\fR. Minimum alignment is typically 512b for using direct I/O, though it usually depends on the hardware block size. This option is mutually exclusive with using a random map for files, so it will turn off that option. Comma-separated values may be specified for reads, writes, and trims as described in \fBblocksize\fR. .SS "Buffers and memory" .TP .BI zero_buffers Initialize buffers with all zeros. Default: fill buffers with random data. .TP .BI refill_buffers If this option is given, fio will refill the I/O buffers on every submit. The default is to only fill it at init time and reuse that data. Only makes sense if zero_buffers isn't specified, naturally. If data verification is enabled, \fBrefill_buffers\fR is also automatically enabled. .TP .BI scramble_buffers \fR=\fPbool If \fBrefill_buffers\fR is too costly and the target is using data deduplication, then setting this option will slightly modify the I/O buffer contents to defeat normal de-dupe attempts. This is not enough to defeat more clever block compression attempts, but it will stop naive dedupe of blocks. Default: true. .TP .BI buffer_compress_percentage \fR=\fPint If this is set, then fio will attempt to provide I/O buffer content (on WRITEs) that compresses to the specified level. Fio does this by providing a mix of random data followed by fixed pattern data. The fixed pattern is either zeros, or the pattern specified by \fBbuffer_pattern\fR. If the \fBbuffer_pattern\fR option is used, it might skew the compression ratio slightly. Setting \fBbuffer_compress_percentage\fR to a value other than 100 will also enable \fBrefill_buffers\fR in order to reduce the likelihood that adjacent blocks are so similar that they over compress when seen together. See \fBbuffer_compress_chunk\fR for how to set a finer or coarser granularity of the random/fixed data regions. Defaults to unset i.e., buffer data will not adhere to any compression level. .TP .BI buffer_compress_chunk \fR=\fPint This setting allows fio to manage how big the random/fixed data region is when using \fBbuffer_compress_percentage\fR. When \fBbuffer_compress_chunk\fR is set to some non-zero value smaller than the block size, fio can repeat the random/fixed region throughout the I/O buffer at the specified interval (which particularly useful when bigger block sizes are used for a job). When set to 0, fio will use a chunk size that matches the block size resulting in a single random/fixed region within the I/O buffer. Defaults to 512. When the unit is omitted, the value is interpreted in bytes. .TP .BI buffer_pattern \fR=\fPstr If set, fio will fill the I/O buffers with this pattern or with the contents of a file. If not set, the contents of I/O buffers are defined by the other options related to buffer contents. The setting can be any pattern of bytes, and can be prefixed with 0x for hex values. It may also be a string, where the string must then be wrapped with "". Or it may also be a filename, where the filename must be wrapped with '' in which case the file is opened and read. Note that not all the file contents will be read if that would cause the buffers to overflow. So, for example: .RS .RS .P .PD 0 buffer_pattern='filename' .P or: .P buffer_pattern="abcd" .P or: .P buffer_pattern=\-12 .P or: .P buffer_pattern=0xdeadface .PD .RE .P Also you can combine everything together in any order: .RS .P buffer_pattern=0xdeadface"abcd"\-12'filename' .RE .RE .TP .BI dedupe_percentage \fR=\fPint If set, fio will generate this percentage of identical buffers when writing. These buffers will be naturally dedupable. The contents of the buffers depend on what other buffer compression settings have been set. It's possible to have the individual buffers either fully compressible, or not at all \-\- this option only controls the distribution of unique buffers. Setting this option will also enable \fBrefill_buffers\fR to prevent every buffer being identical. .TP .BI dedupe_mode \fR=\fPstr If \fBdedupe_percentage\fR is given, then this option controls how fio generates the dedupe buffers. .RS .RS .TP .B repeat .P .RS Generate dedupe buffers by repeating previous writes .RE .TP .B working_set .P .RS Generate dedupe buffers from working set .RE .RE .P \fBrepeat\fR is the default option for fio. Dedupe buffers are generated by repeating previous unique write. \fBworking_set\fR is a more realistic workload. With \fBworking_set\fR, \fBdedupe_working_set_percentage\fR should be provided. Given that, fio will use the initial unique write buffers as its working set. Upon deciding to dedupe, fio will randomly choose a buffer from the working set. Note that by using \fBworking_set\fR the dedupe percentage will converge to the desired over time while \fBrepeat\fR maintains the desired percentage throughout the job. .RE .RE .TP .BI dedupe_working_set_percentage \fR=\fPint If \fBdedupe_mode\fR is set to \fBworking_set\fR, then this controls the percentage of size of the file or device used as the buffers fio will choose to generate the dedupe buffers from .P .RS Note that \fBsize\fR needs to be explicitly provided and only 1 file per job is supported .RE .TP .BI dedupe_global \fR=\fPbool This controls whether the deduplication buffers will be shared amongst all jobs that have this option set. The buffers are spread evenly between participating jobs. .P .RS Note that \fBdedupe_mode\fR must be set to \fBworking_set\fR for this to work. Can be used in combination with compression .TP .BI invalidate \fR=\fPbool Invalidate the buffer/page cache parts of the files to be used prior to starting I/O if the platform and file type support it. Defaults to true. This will be ignored if \fBpre_read\fR is also specified for the same job. .TP .BI sync \fR=\fPstr Whether, and what type, of synchronous I/O to use for writes. The allowed values are: .RS .RS .TP .B none Do not use synchronous IO, the default. .TP .B 0 Same as \fBnone\fR. .TP .B sync Use synchronous file IO. For the majority of I/O engines, this means using O_SYNC. .TP .B 1 Same as \fBsync\fR. .TP .B dsync Use synchronous data IO. For the majority of I/O engines, this means using O_DSYNC. .PD .RE .RE .TP .BI iomem \fR=\fPstr "\fR,\fP mem" \fR=\fPstr Fio can use various types of memory as the I/O unit buffer. The allowed values are: .RS .RS .TP .B malloc Use memory from \fBmalloc\fR\|(3) as the buffers. Default memory type. .TP .B shm Use shared memory as the buffers. Allocated through \fBshmget\fR\|(2). .TP .B shmhuge Same as \fBshm\fR, but use huge pages as backing. .TP .B mmap Use \fBmmap\fR\|(2) to allocate buffers. May either be anonymous memory, or can be file backed if a filename is given after the option. The format is `mem=mmap:/path/to/file'. .TP .B mmaphuge Use a memory mapped huge file as the buffer backing. Append filename after mmaphuge, ala `mem=mmaphuge:/hugetlbfs/file'. .TP .B mmapshared Same as \fBmmap\fR, but use a MMAP_SHARED mapping. .TP .B cudamalloc Use GPU memory as the buffers for GPUDirect RDMA benchmark. The \fBioengine\fR must be \fBrdma\fR. .RE .P The area allocated is a function of the maximum allowed bs size for the job, multiplied by the I/O depth given. Note that for \fBshmhuge\fR and \fBmmaphuge\fR to work, the system must have free huge pages allocated. This can normally be checked and set by reading/writing `/proc/sys/vm/nr_hugepages' on a Linux system. Fio assumes a huge page is 2 or 4MiB in size depending on the platform. So to calculate the number of huge pages you need for a given job file, add up the I/O depth of all jobs (normally one unless \fBiodepth\fR is used) and multiply by the maximum bs set. Then divide that number by the huge page size. You can see the size of the huge pages in `/proc/meminfo'. If no huge pages are allocated by having a non-zero number in `nr_hugepages', using \fBmmaphuge\fR or \fBshmhuge\fR will fail. Also see \fBhugepage\-size\fR. .P \fBmmaphuge\fR also needs to have hugetlbfs mounted and the file location should point there. So if it's mounted in `/huge', you would use `mem=mmaphuge:/huge/somefile'. .RE .TP .BI iomem_align \fR=\fPint "\fR,\fP mem_align" \fR=\fPint This indicates the memory alignment of the I/O memory buffers. Note that the given alignment is applied to the first I/O unit buffer, if using \fBiodepth\fR the alignment of the following buffers are given by the \fBbs\fR used. In other words, if using a \fBbs\fR that is a multiple of the page sized in the system, all buffers will be aligned to this value. If using a \fBbs\fR that is not page aligned, the alignment of subsequent I/O memory buffers is the sum of the \fBiomem_align\fR and \fBbs\fR used. .TP .BI hugepage\-size \fR=\fPint Defines the size of a huge page. Must at least be equal to the system setting, see `/proc/meminfo' and `/sys/kernel/mm/hugepages/'. Defaults to 2 or 4MiB depending on the platform. Should probably always be a multiple of megabytes, so using `hugepage\-size=Xm' is the preferred way to set this to avoid setting a non-pow-2 bad value. .TP .BI lockmem \fR=\fPint Pin the specified amount of memory with \fBmlock\fR\|(2). Can be used to simulate a smaller amount of memory. The amount specified is per worker. .SS "I/O size" .TP .BI size \fR=\fPint[%|z] The total size of file I/O for each thread of this job. Fio will run until this many bytes has been transferred, unless runtime is altered by other means such as (1) \fBruntime\fR, (2) \fBio_size\fR, (3) \fBnumber_ios\fR, (4) gaps/holes while doing I/O's such as `rw=read:16K', or (5) sequential I/O reaching end of the file which is possible when \fBpercentage_random\fR is less than 100. Fio will divide this size between the available files determined by options such as \fBnrfiles\fR, \fBfilename\fR, unless \fBfilesize\fR is specified by the job. If the result of division happens to be 0, the size is set to the physical size of the given files or devices if they exist. If this option is not specified, fio will use the full size of the given files or devices. If the files do not exist, size must be given. It is also possible to give size as a percentage between 1 and 100. If `size=20%' is given, fio will use 20% of the full size of the given files or devices. In ZBD mode, size can be given in units of number of zones using 'z'. Can be combined with \fBoffset\fR to constrain the start and end range that I/O will be done within. .TP .BI io_size \fR=\fPint[%|z] "\fR,\fB io_limit" \fR=\fPint[%|z] Normally fio operates within the region set by \fBsize\fR, which means that the \fBsize\fR option sets both the region and size of I/O to be performed. Sometimes that is not what you want. With this option, it is possible to define just the amount of I/O that fio should do. For instance, if \fBsize\fR is set to 20GiB and \fBio_size\fR is set to 5GiB, fio will perform I/O within the first 20GiB but exit when 5GiB have been done. The opposite is also possible \-\- if \fBsize\fR is set to 20GiB, and \fBio_size\fR is set to 40GiB, then fio will do 40GiB of I/O within the 0..20GiB region. Value can be set as percentage: \fBio_size\fR=N%. In this case \fBio_size\fR multiplies \fBsize\fR= value. In ZBD mode, value can also be set as number of zones using 'z'. .TP .BI filesize \fR=\fPirange(int) Individual file sizes. May be a range, in which case fio will select sizes for files at random within the given range. If not given, each created file is the same size. This option overrides \fBsize\fR in terms of file size, i.e. \fBsize\fR becomes merely the default for \fBio_size\fR (and has no effect it all if \fBio_size\fR is set explicitly). .TP .BI file_append \fR=\fPbool Perform I/O after the end of the file. Normally fio will operate within the size of a file. If this option is set, then fio will append to the file instead. This has identical behavior to setting \fBoffset\fR to the size of a file. This option is ignored on non-regular files. .TP .BI fill_device \fR=\fPbool "\fR,\fB fill_fs" \fR=\fPbool Sets size to something really large and waits for ENOSPC (no space left on device) or EDQUOT (disk quota exceeded) as the terminating condition. Only makes sense with sequential write. For a read workload, the mount point will be filled first then I/O started on the result. .SS "I/O engine" .TP .BI ioengine \fR=\fPstr fio supports 2 kinds of performance measurement: I/O and file/directory operation. I/O engines define how the job issues I/O to the file. The following types are defined: .RS .TP .B sync Basic \fBread\fR\|(2) or \fBwrite\fR\|(2) I/O. \fBlseek\fR\|(2) is used to position the I/O location. See \fBfsync\fR and \fBfdatasync\fR for syncing write I/Os. .TP .B psync Basic \fBpread\fR\|(2) or \fBpwrite\fR\|(2) I/O. Default on all supported operating systems except for Windows. .TP .B vsync Basic \fBreadv\fR\|(2) or \fBwritev\fR\|(2) I/O. Will emulate queuing by coalescing adjacent I/Os into a single submission. .TP .B pvsync Basic \fBpreadv\fR\|(2) or \fBpwritev\fR\|(2) I/O. .TP .B pvsync2 Basic \fBpreadv2\fR\|(2) or \fBpwritev2\fR\|(2) I/O. .TP .B io_uring Fast Linux native asynchronous I/O. Supports async IO for both direct and buffered IO. This engine defines engine specific options. .TP .B io_uring_cmd Fast Linux native asynchronous I/O for passthrough commands. This engine defines engine specific options. .TP .B libaio Linux native asynchronous I/O. Note that Linux may only support queued behavior with non-buffered I/O (set `direct=1' or `buffered=0'). This engine defines engine specific options. .TP .B posixaio POSIX asynchronous I/O using \fBaio_read\fR\|(3) and \fBaio_write\fR\|(3). .TP .B solarisaio Solaris native asynchronous I/O. .TP .B windowsaio Windows native asynchronous I/O. Default on Windows. .TP .B mmap File is memory mapped with \fBmmap\fR\|(2) and data copied to/from using \fBmemcpy\fR\|(3). .TP .B splice \fBsplice\fR\|(2) is used to transfer the data and \fBvmsplice\fR\|(2) to transfer data from user space to the kernel. .TP .B sg SCSI generic sg v3 I/O. May either be synchronous using the SG_IO ioctl, or if the target is an sg character device we use \fBread\fR\|(2) and \fBwrite\fR\|(2) for asynchronous I/O. Requires \fBfilename\fR option to specify either block or character devices. This engine supports trim operations. The sg engine includes engine specific options. .TP .B libzbc Read, write, trim and ZBC/ZAC operations to a zoned block device using \fBlibzbc\fR library. The target can be either an SG character device or a block device file. .TP .B null Doesn't transfer any data, just pretends to. This is mainly used to exercise fio itself and for debugging/testing purposes. .TP .B net Transfer over the network to given `host:port'. Depending on the \fBprotocol\fR used, the \fBhostname\fR, \fBport\fR, \fBlisten\fR and \fBfilename\fR options are used to specify what sort of connection to make, while the \fBprotocol\fR option determines which protocol will be used. This engine defines engine specific options. .TP .B netsplice Like \fBnet\fR, but uses \fBsplice\fR\|(2) and \fBvmsplice\fR\|(2) to map data and send/receive. This engine defines engine specific options. .TP .B cpuio Doesn't transfer any data, but burns CPU cycles according to the \fBcpuload\fR, \fBcpuchunks\fR and \fBcpumode\fR options. A job never finishes unless there is at least one non-cpuio job. .RS .P .PD 0 \fBcpuload\fR\=85 will cause that job to do nothing but burn 85% of the CPU. In case of SMP machines, use \fBnumjobs=\fR\ to get desired CPU usage, as the cpuload only loads a single CPU at the desired rate. .P \fBcpumode\fR\=qsort replace the default noop instructions loop by a qsort algorithm to consume more energy. .P .RE .TP .B rdma The RDMA I/O engine supports both RDMA memory semantics (RDMA_WRITE/RDMA_READ) and channel semantics (Send/Recv) for the InfiniBand, RoCE and iWARP protocols. This engine defines engine specific options. .TP .B falloc I/O engine that does regular fallocate to simulate data transfer as fio ioengine. .RS .P .PD 0 DDIR_READ does fallocate(,mode = FALLOC_FL_KEEP_SIZE,). .P DIR_WRITE does fallocate(,mode = 0). .P DDIR_TRIM does fallocate(,mode = FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE). .PD .RE .TP .B ftruncate I/O engine that sends \fBftruncate\fR\|(2) operations in response to write (DDIR_WRITE) events. Each ftruncate issued sets the file's size to the current block offset. \fBblocksize\fR is ignored. .TP .B e4defrag I/O engine that does regular EXT4_IOC_MOVE_EXT ioctls to simulate defragment activity in request to DDIR_WRITE event. .TP .B rados I/O engine supporting direct access to Ceph Reliable Autonomic Distributed Object Store (RADOS) via librados. This ioengine defines engine specific options. .TP .B rbd I/O engine supporting direct access to Ceph Rados Block Devices (RBD) via librbd without the need to use the kernel rbd driver. This ioengine defines engine specific options. .TP .B http I/O engine supporting GET/PUT requests over HTTP(S) with libcurl to a WebDAV or S3 endpoint. This ioengine defines engine specific options. This engine only supports direct IO of iodepth=1; you need to scale this via numjobs. blocksize defines the size of the objects to be created. TRIM is translated to object deletion. .TP .B gfapi Using GlusterFS libgfapi sync interface to direct access to GlusterFS volumes without having to go through FUSE. This ioengine defines engine specific options. .TP .B gfapi_async Using GlusterFS libgfapi async interface to direct access to GlusterFS volumes without having to go through FUSE. This ioengine defines engine specific options. .TP .B libhdfs Read and write through Hadoop (HDFS). The \fBfilename\fR option is used to specify host,port of the hdfs name\-node to connect. This engine interprets offsets a little differently. In HDFS, files once created cannot be modified so random writes are not possible. To imitate this the libhdfs engine expects a bunch of small files to be created over HDFS and will randomly pick a file from them based on the offset generated by fio backend (see the example job file to create such files, use `rw=write' option). Please note, it may be necessary to set environment variables to work with HDFS/libhdfs properly. Each job uses its own connection to HDFS. .TP .B mtd Read, write and erase an MTD character device (e.g., `/dev/mtd0'). Discards are treated as erases. Depending on the underlying device type, the I/O may have to go in a certain pattern, e.g., on NAND, writing sequentially to erase blocks and discarding before overwriting. The \fBtrimwrite\fR mode works well for this constraint. .TP .B dev\-dax Read and write using device DAX to a persistent memory device (e.g., /dev/dax0.0) through the PMDK libpmem library. .TP .B external Prefix to specify loading an external I/O engine object file. Append the engine filename, e.g. `ioengine=external:/tmp/foo.o' to load ioengine `foo.o' in `/tmp'. The path can be either absolute or relative. See `engines/skeleton_external.c' in the fio source for details of writing an external I/O engine. .TP .B libpmem Read and write using mmap I/O to a file on a filesystem mounted with DAX on a persistent memory device through the PMDK libpmem library. .TP .B ime_psync Synchronous read and write using DDN's Infinite Memory Engine (IME). This engine is very basic and issues calls to IME whenever an IO is queued. .TP .B ime_psyncv Synchronous read and write using DDN's Infinite Memory Engine (IME). This engine uses iovecs and will try to stack as much IOs as possible (if the IOs are "contiguous" and the IO depth is not exceeded) before issuing a call to IME. .TP .B ime_aio Asynchronous read and write using DDN's Infinite Memory Engine (IME). This engine will try to stack as much IOs as possible by creating requests for IME. FIO will then decide when to commit these requests. .TP .B libiscsi Read and write iscsi lun with libiscsi. .TP .B nbd Synchronous read and write a Network Block Device (NBD). .TP .B libcufile I/O engine supporting libcufile synchronous access to nvidia-fs and a GPUDirect Storage-supported filesystem. This engine performs I/O without transferring buffers between user-space and the kernel, unless \fBverify\fR is set or \fBcuda_io\fR is \fBposix\fR. \fBiomem\fR must not be \fBcudamalloc\fR. This ioengine defines engine specific options. .TP .B dfs I/O engine supporting asynchronous read and write operations to the DAOS File System (DFS) via libdfs. .TP .B nfs I/O engine supporting asynchronous read and write operations to NFS filesystems from userspace via libnfs. This is useful for achieving higher concurrency and thus throughput than is possible via kernel NFS. .TP .B exec Execute 3rd party tools. Could be used to perform monitoring during jobs runtime. .TP .B xnvme I/O engine using the xNVMe C API, for NVMe devices. The xnvme engine provides flexibility to access GNU/Linux Kernel NVMe driver via libaio, IOCTLs, io_uring, the SPDK NVMe driver, or your own custom NVMe driver. The xnvme engine includes engine specific options. (See \fIhttps://xnvme.io/\fR). .TP .B libblkio Use the libblkio library (\fIhttps://gitlab.com/libblkio/libblkio\fR). The specific driver to use must be set using \fBlibblkio_driver\fR. If \fBmem\fR/\fBiomem\fR is not specified, memory allocation is delegated to libblkio (and so is guaranteed to work with the selected driver). One libblkio instance is used per process, so all jobs setting option \fBthread\fR will share a single instance (with one queue per thread) and must specify compatible options. Note that some drivers don't allow several instances to access the same device or file simultaneously, but allow it for threads. .TP .RE .P File/directory operation engines define how the job operates file or directory. The following types are defined: .RS .TP .B filecreate Simply create the files and do no I/O to them. You still need to set \fBfilesize\fP so that all the accounting still occurs, but no actual I/O will be done other than creating the file. Example job file: filecreate-ioengine.fio. .TP .B filestat Simply do stat() and do no I/O to the file. You need to set \fBfilesize\fP and \fBnrfiles\fP, so that files will be created. This engine is to measure file lookup and meta data access. Example job file: filestat-ioengine.fio. .TP .B filedelete Simply delete the files by unlink() and do no I/O to them. You need to set \fBfilesize\fP and \fBnrfiles\fP, so that the files will be created. This engine is to measure file delete. Example job file: filedelete-ioengine.fio. .TP .B dircreate Simply create the directories and do no I/O to them. You still need to set \fBfilesize\fP so that all the accounting still occurs, but no actual I/O will be done other than creating the directories. Example job file: dircreate-ioengine.fio. .TP .B dirstat Simply do stat() and do no I/O to the directories. You need to set \fBfilesize\fP and \fBnrfiles\fP, so that directories will be created. This engine is to measure directory lookup and meta data access. Example job file: dirstat-ioengine.fio. .TP .B dirdelete Simply delete the directories by rmdir() and do no I/O to them. You need to set \fBfilesize\fP and \fBnrfiles\fP, so that the directories will be created. This engine is to measure directory delete. .TP .RE .P For file and directory operation engines, there is no I/O throughput, then the statistics \ data in report have different meanings. The meaningful output indexes are: \fBiops\fP and \fBclat\fP. \ \fBbw\fP is meaningless. Refer to section: "Interpreting the output" for more details. .RE .P .SS "I/O engine specific parameters" In addition, there are some parameters which are only valid when a specific \fBioengine\fR is in use. These are used identically to normal parameters, with the caveat that when used on the command line, they must come after the \fBioengine\fR that defines them is selected. .TP .BI (io_uring,libaio)cmdprio_percentage \fR=\fPint[,int] Set the percentage of I/O that will be issued with the highest priority. Default: 0. A single value applies to reads and writes. Comma-separated values may be specified for reads and writes. For this option to be effective, NCQ priority must be supported and enabled, and `direct=1' option must be used. fio must also be run as the root user. Unlike slat/clat/lat stats, which can be tracked and reported independently, per priority stats only track and report a single type of latency. By default, completion latency (clat) will be reported, if \fBlat_percentiles\fR is set, total latency (lat) will be reported. .TP .BI (io_uring,libaio)cmdprio_class \fR=\fPint[,int] Set the I/O priority class to use for I/Os that must be issued with a priority when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR is set. If not specified when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR is set, this defaults to the highest priority class. A single value applies to reads and writes. Comma-separated values may be specified for reads and writes. See man \fBionice\fR\|(1). See also the \fBprioclass\fR option. .TP .BI (io_uring,libaio)cmdprio_hint \fR=\fPint[,int] Set the I/O priority hint to use for I/Os that must be issued with a priority when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR is set. If not specified when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR is set, this defaults to 0 (no hint). A single value applies to reads and writes. Comma-separated values may be specified for reads and writes. See also the \fBpriohint\fR option. .TP .BI (io_uring,libaio)cmdprio \fR=\fPint[,int] Set the I/O priority value to use for I/Os that must be issued with a priority when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR is set. If not specified when \fBcmdprio_percentage\fR or \fBcmdprio_bssplit\fR is set, this defaults to 0. Linux limits us to a positive value between 0 and 7, with 0 being the highest. A single value applies to reads and writes. Comma-separated values may be specified for reads and writes. See man \fBionice\fR\|(1). Refer to an appropriate manpage for other operating systems since the meaning of priority may differ. See also the \fBprio\fR option. .TP .BI (io_uring,libaio)cmdprio_bssplit \fR=\fPstr[,str] To get a finer control over I/O priority, this option allows specifying the percentage of IOs that must have a priority set depending on the block size of the IO. This option is useful only when used together with the option \fBbssplit\fR, that is, multiple different block sizes are used for reads and writes. .RS .P The first accepted format for this option is the same as the format of the \fBbssplit\fR option: .RS .P cmdprio_bssplit=blocksize/percentage:blocksize/percentage .RE .P In this case, each entry will use the priority class, priority hint and priority level defined by the options \fBcmdprio_class\fR, \fBcmdprio\fR and \fBcmdprio_hint\fR respectively. .P The second accepted format for this option is: .RS .P cmdprio_bssplit=blocksize/percentage/class/level:blocksize/percentage/class/level .RE .P In this case, the priority class and priority level is defined inside each entry. In comparison with the first accepted format, the second accepted format does not restrict all entries to have the same priority class and priority level. .P The third accepted format for this option is: .RS .P cmdprio_bssplit=blocksize/percentage/class/level/hint:... .RE .P This is an extension of the second accepted format that allows one to also specify a priority hint. .P For all formats, only the read and write data directions are supported, values for trim IOs are ignored. This option is mutually exclusive with the \fBcmdprio_percentage\fR option. .RE .TP .BI (io_uring,io_uring_cmd)fixedbufs If fio is asked to do direct IO, then Linux will map pages for each IO call, and release them when IO is done. If this option is set, the pages are pre-mapped before IO is started. This eliminates the need to map and release for each IO. This is more efficient, and reduces the IO latency as well. .TP .BI (io_uring,io_uring_cmd)nonvectored \fR=\fPint With this option, fio will use non-vectored read/write commands, where address must contain the address directly. Default is -1. .TP .BI (io_uring,io_uring_cmd)force_async Normal operation for io_uring is to try and issue an sqe as non-blocking first, and if that fails, execute it in an async manner. With this option set to N, then every N request fio will ask sqe to be issued in an async manner. Default is 0. .TP .BI (io_uring,io_uring_cmd,xnvme)hipri If this option is set, fio will attempt to use polled IO completions. Normal IO completions generate interrupts to signal the completion of IO, polled completions do not. Hence they are require active reaping by the application. The benefits are more efficient IO for high IOPS scenarios, and lower latencies for low queue depth IO. .TP .BI (io_uring,io_uring_cmd)registerfiles With this option, fio registers the set of files being used with the kernel. This avoids the overhead of managing file counts in the kernel, making the submission and completion part more lightweight. Required for the below sqthread_poll option. .TP .BI (io_uring,io_uring_cmd,xnvme)sqthread_poll Normally fio will submit IO by issuing a system call to notify the kernel of available items in the SQ ring. If this option is set, the act of submitting IO will be done by a polling thread in the kernel. This frees up cycles for fio, at the cost of using more CPU in the system. As submission is just the time it takes to fill in the sqe entries and any syscall required to wake up the idle kernel thread, fio will not report submission latencies. .TP .BI (io_uring,io_uring_cmd)sqthread_poll_cpu \fR=\fPint When `sqthread_poll` is set, this option provides a way to define which CPU should be used for the polling thread. .TP .BI (io_uring_cmd)cmd_type \fR=\fPstr Specifies the type of uring passthrough command to be used. Supported value is nvme. Default is nvme. .TP .BI (libaio)userspace_reap Normally, with the libaio engine in use, fio will use the \fBio_getevents\fR\|(3) system call to reap newly returned events. With this flag turned on, the AIO ring will be read directly from user-space to reap events. The reaping mode is only enabled when polling for a minimum of 0 events (e.g. when `iodepth_batch_complete=0'). .TP .BI (pvsync2)hipri Set RWF_HIPRI on I/O, indicating to the kernel that it's of higher priority than normal. .TP .BI (pvsync2)hipri_percentage When hipri is set this determines the probability of a pvsync2 I/O being high priority. The default is 100%. .TP .BI (pvsync2,libaio,io_uring,io_uring_cmd)nowait \fR=\fPbool By default if a request cannot be executed immediately (e.g. resource starvation, waiting on locks) it is queued and the initiating process will be blocked until the required resource becomes free. This option sets the RWF_NOWAIT flag (supported from the 4.14 Linux kernel) and the call will return instantly with EAGAIN or a partial result rather than waiting. It is useful to also use \fBignore_error\fR=EAGAIN when using this option. Note: glibc 2.27, 2.28 have a bug in syscall wrappers preadv2, pwritev2. They return EOPNOTSUP instead of EAGAIN. For cached I/O, using this option usually means a request operates only with cached data. Currently the RWF_NOWAIT flag does not supported for cached write. For direct I/O, requests will only succeed if cache invalidation isn't required, file blocks are fully allocated and the disk request could be issued immediately. .TP .BI (pvsync2,libaio,io_uring)atomic \fR=\fPbool This option means that writes are issued with torn-write protection, meaning that for a power fail or kernel crash, all or none of the data from the write will be stored, but never a mix of old and new data. Torn-write protection is also known as atomic writes. This option sets the RWF_ATOMIC flag (supported from the 6.11 Linux kernel) on a per-IO basis. Writes with RWF_ATOMIC set will be rejected by the kernel when the file does not support torn-write protection. To learn a file's torn-write limits, issue statx with STATX_WRITE_ATOMIC. .TP .BI (io_uring_cmd,xnvme)fdp \fR=\fPbool Enable Flexible Data Placement mode for write commands. .TP .BI (io_uring_cmd,xnvme)dataplacement \fR=\fPstr Specifies the data placement directive type to use for write commands. The following types are supported: .RS .RS .TP .B none Do not use a data placement directive. This is the default. .TP .B fdp Use Flexible Data placement directives for write commands. This is equivalent to specifying \fBfdp\fR=1. .TP .B streams Use Streams directives for write commands. .TP .RE .RE .TP .BI (io_uring_cmd,xnvme)plid_select=str, fdp_pli_select \fR=\fPstr Defines how fio decides which placement ID to use next. The following types are defined: .RS .RS .TP .B random Choose a placement ID at random (uniform). .TP .B roundrobin Round robin over available placement IDs. This is the default. .TP .B scheme Choose a placement ID (index) based on the scheme file defined by the option \fBdp_scheme\fP. .RE .P The available placement ID (indices) are defined by \fBplids\fR or \fBfdp_pli\fR option except for the case of \fBscheme\fP. .RE .TP .BI (io_uring_cmd,xnvme)plids=str, fdp_pli \fR=\fPstr Select which Placement ID Indices (FDP) or Placement IDs (streams) this job is allowed to use for writes. This option accepts a comma-separated list of values or ranges (e.g., 1,2-4,5,6-8). For FDP by default, the job will cycle through all available Placement IDs, so use this option to be selective. The values specified here are array indices for the list of placement IDs returned by the nvme-cli command `nvme fdp status'. If you want fio to use FDP placement identifiers only at indices 0, 2 and 5, set `plids=0,2,5'. For streams this should be a list of Stream IDs. .TP .BI (io_uring_cmd,xnvme)\fR\fBdp_scheme\fP=str Defines which placement ID (index) to be selected based on offset(LBA) range. The file should contains one or more scheme entries in the following format: .sp .RS .RS 0, 10737418240, 0 .br 10737418240, 21474836480, 1 .br 21474836480, 32212254720, 2 .br \&... .RE .sp Each line, a scheme entry, contains start offset, end offset, and placement ID (index) separated by comma(,). If the write offset is within the range of a certain scheme entry(start offset ≤ offset < end offset), the corresponding placement ID (index) will be selected. If the write offset belongs to multiple scheme entries, the first matched scheme entry will be applied. If the offset is not within any range of scheme entry, dspec field will be set to 0, default RUH. (Caution: In case of multiple devices in a job, all devices of the job will be affected by the scheme. If this option is specified, the option \fBplids\fP or \fBfdp_pli\fP will be ignored.) .RE .TP .BI (io_uring_cmd,xnvme)md_per_io_size \fR=\fPint Size in bytes for separate metadata buffer per IO. For io_uring_cmd these buffers are allocated using malloc regardless of what is set for \fBiomem\fR. Default: 0. .TP .BI (io_uring_cmd,xnvme)pi_act \fR=\fPint Action to take when nvme namespace is formatted with protection information. If this is set to 1 and namespace is formatted with metadata size equal to protection information size, fio won't use separate metadata buffer or extended logical block. If this is set to 1 and namespace is formatted with metadata size greater than protection information size, fio will not generate or verify the protection information portion of metadata for write or read case respectively. If this is set to 0, fio generates protection information for write case and verifies for read case. Default: 1. For 16 bit CRC generation fio will use isa-l if available otherwise it will use the default slower generator. (see: https://github.com/intel/isa-l) .TP .BI (io_uring_cmd,xnvme)pi_chk \fR=\fPstr[,str][,str] Controls the protection information check. This can take one or more of these values. Default: none. .RS .RS .TP .B GUARD Enables protection information checking of guard field. .TP .B REFTAG Enables protection information checking of logical block reference tag field. .TP .B APPTAG Enables protection information checking of application tag field. .RE .RE .TP .BI (io_uring_cmd,xnvme)apptag \fR=\fPint Specifies logical block application tag value, if namespace is formatted to use end to end protection information. Default: 0x1234. .TP .BI (io_uring_cmd,xnvme)apptag_mask \fR=\fPint Specifies logical block application tag mask value, if namespace is formatted to use end to end protection information. Default: 0xffff. .TP .BI (io_uring_cmd)num_range \fR=\fPint For trim command this will be the number of ranges to trim per I/O request. The number of logical blocks per range is determined by the \fBbs\fR option which should be a multiple of logical block size. This cannot be used with read or write. Note that setting this option > 1, \fBlog_offset\fR will not be able to log all the offsets. Default: 1. .TP .BI (cpuio)cpuload \fR=\fPint Attempt to use the specified percentage of CPU cycles. This is a mandatory option when using cpuio I/O engine. .TP .BI (cpuio)cpuchunks \fR=\fPint Split the load into cycles of the given time. In microseconds. .TP .BI (cpuio)cpumode \fR=\fPstr Specify how to stress the CPU. It can take these two values: .RS .RS .TP .B noop This is the default and directs the CPU to execute noop instructions. .TP .B qsort Replace the default noop instructions with a qsort algorithm to consume more energy. .RE .RE .TP .BI (cpuio)exit_on_io_done \fR=\fPbool Detect when I/O threads are done, then exit. .TP .BI (libhdfs)namenode \fR=\fPstr The hostname or IP address of a HDFS cluster namenode to contact. .TP .BI (libhdfs)port \fR=\fPint The listening port of the HFDS cluster namenode. .TP .BI (netsplice,net)port \fR=\fPint The TCP or UDP port to bind to or connect to. If this is used with \fBnumjobs\fR to spawn multiple instances of the same job type, then this will be the starting port number since fio will use a range of ports. .TP .BI (rdma)port \fR=\fPint The port to use for RDMA-CM communication. This should be the same value on the client and the server side. .TP .BI (netsplice,net,rdma)hostname \fR=\fPstr The hostname or IP address to use for TCP, UDP or RDMA-CM based I/O. If the job is a TCP listener or UDP reader, the hostname is not used and must be omitted unless it is a valid UDP multicast address. .TP .BI (netsplice,net)interface \fR=\fPstr The IP address of the network interface used to send or receive UDP multicast. .TP .BI (netsplice,net)ttl \fR=\fPint Time\-to\-live value for outgoing UDP multicast packets. Default: 1. .TP .BI (netsplice,net)nodelay \fR=\fPbool Set TCP_NODELAY on TCP connections. .TP .BI (netsplice,net)protocol \fR=\fPstr "\fR,\fP proto" \fR=\fPstr The network protocol to use. Accepted values are: .RS .RS .TP .B tcp Transmission control protocol. .TP .B tcpv6 Transmission control protocol V6. .TP .B udp User datagram protocol. .TP .B udpv6 User datagram protocol V6. .TP .B unix UNIX domain socket. .TP .B vsock VSOCK protocol. .RE .P When the protocol is TCP, UDP or VSOCK, the port must also be given, as well as the hostname if the job is a TCP or VSOCK listener or UDP reader. For unix sockets, the normal \fBfilename\fR option should be used and the port is invalid. When the protocol is VSOCK, the \fBhostname\fR is the CID of the remote VM. .RE .TP .BI (netsplice,net)listen For TCP network connections, tell fio to listen for incoming connections rather than initiating an outgoing connection. The \fBhostname\fR must be omitted if this option is used. .TP .BI (netsplice,net)pingpong Normally a network writer will just continue writing data, and a network reader will just consume packages. If `pingpong=1' is set, a writer will send its normal payload to the reader, then wait for the reader to send the same payload back. This allows fio to measure network latencies. The submission and completion latencies then measure local time spent sending or receiving, and the completion latency measures how long it took for the other end to receive and send back. For UDP multicast traffic `pingpong=1' should only be set for a single reader when multiple readers are listening to the same address. .TP .BI (netsplice,net)window_size \fR=\fPint Set the desired socket buffer size for the connection. .TP .BI (netsplice,net)mss \fR=\fPint Set the TCP maximum segment size (TCP_MAXSEG). .TP .BI (e4defrag)donorname \fR=\fPstr File will be used as a block donor (swap extents between files). .TP .BI (e4defrag)inplace \fR=\fPint Configure donor file blocks allocation strategy: .RS .RS .TP .B 0 Default. Preallocate donor's file on init. .TP .B 1 Allocate space immediately inside defragment event, and free right after event. .RE .RE .TP .BI (rbd,rados)clustername \fR=\fPstr Specifies the name of the Ceph cluster. .TP .BI (rbd)rbdname \fR=\fPstr Specifies the name of the RBD. .TP .BI (rbd,rados)pool \fR=\fPstr Specifies the name of the Ceph pool containing RBD or RADOS data. .TP .BI (rbd,rados)clientname \fR=\fPstr Specifies the username (without the 'client.' prefix) used to access the Ceph cluster. If the \fBclustername\fR is specified, the \fBclientname\fR shall be the full *type.id* string. If no type. prefix is given, fio will add 'client.' by default. .TP .BI (rados)conf \fR=\fPstr Specifies the configuration path of ceph cluster, so conf file does not have to be /etc/ceph/ceph.conf. .TP .BI (rbd,rados)busy_poll \fR=\fPbool Poll store instead of waiting for completion. Usually this provides better throughput at cost of higher(up to 100%) CPU utilization. .TP .BI (rados)touch_objects \fR=\fPbool During initialization, touch (create if do not exist) all objects (files). Touching all objects affects ceph caches and likely impacts test results. Enabled by default. .TP .BI (http)http_host \fR=\fPstr Hostname to connect to. HTTP port 80 is used automatically when the value of the \fBhttps\fP parameter is \fRoff\fP, and HTTPS port 443 if it is \Ron\fP. A virtual-hosted-style S3 hostname starts with a bucket name, while a path-style S3 hostname does not. Default is \fBlocalhost\fR. .TP .BI (http)http_user \fR=\fPstr Username for HTTP authentication. .TP .BI (http)http_pass \fR=\fPstr Password for HTTP authentication. .TP .BI (http)https \fR=\fPstr Whether to use HTTPS instead of plain HTTP. \fRon\fP enables HTTPS; \fRinsecure\fP will enable HTTPS, but disable SSL peer verification (use with caution!). Default is \fBoff\fR. .TP .BI (http)http_mode \fR=\fPstr Which HTTP access mode to use: webdav, swift, or s3. Default is \fBwebdav\fR. .TP .BI (http)http_s3_region \fR=\fPstr The S3 region/zone to include in the request. Default is \fBus-east-1\fR. .TP .BI (http)http_s3_key \fR=\fPstr The S3 secret key. .TP .BI (http)http_s3_keyid \fR=\fPstr The S3 key/access id. .TP .BI (http)http_s3_sse_customer_key \fR=\fPstr The encryption customer key in SSE server side. .TP .BI (http)http_s3_sse_customer_algorithm \fR=\fPstr The encryption customer algorithm in SSE server side. Default is \fBAES256\fR .TP .BI (http)http_s3_storage_class \fR=\fPstr Which storage class to access. User-customizable settings. Default is \fBSTANDARD\fR .TP .BI (http)http_swift_auth_token \fR=\fPstr The Swift auth token. See the example configuration file on how to retrieve this. .TP .BI (http)http_verbose \fR=\fPint Enable verbose requests from libcurl. Useful for debugging. 1 turns on verbose logging from libcurl, 2 additionally enables HTTP IO tracing. Default is \fB0\fR .TP .BI (mtd)skip_bad \fR=\fPbool Skip operations against known bad blocks. .TP .BI (libhdfs)hdfsdirectory libhdfs will create chunk in this HDFS directory. .TP .BI (libhdfs)chunk_size The size of the chunk to use for each file. .TP .BI (rdma)verb \fR=\fPstr The RDMA verb to use on this side of the RDMA ioengine connection. Valid values are write, read, send and recv. These correspond to the equivalent RDMA verbs (e.g. write = rdma_write etc.). Note that this only needs to be specified on the client side of the connection. See the examples folder. .TP .BI (rdma)bindname \fR=\fPstr The name to use to bind the local RDMA-CM connection to a local RDMA device. This could be a hostname or an IPv4 or IPv6 address. On the server side this will be passed into the rdma_bind_addr() function and on the client site it will be used in the rdma_resolve_add() function. This can be useful when multiple paths exist between the client and the server or in certain loopback configurations. .TP .BI (filestat)stat_type \fR=\fPstr Specify stat system call type to measure lookup/getattr performance. Default is \fBstat\fR for \fBstat\fR\|(2). .TP .BI (sg)hipri If this option is set, fio will attempt to use polled IO completions. This will have a similar effect as (io_uring)hipri. Only SCSI READ and WRITE commands will have the SGV4_FLAG_HIPRI set (not UNMAP (trim) nor VERIFY). Older versions of the Linux sg driver that do not support hipri will simply ignore this flag and do normal IO. The Linux SCSI Low Level Driver (LLD) that "owns" the device also needs to support hipri (also known as iopoll and mq_poll). The MegaRAID driver is an example of a SCSI LLD. Default: clear (0) which does normal (interrupted based) IO. .TP .BI (sg, io_uring_cmd)readfua \fR=\fPbool With readfua option set to 1, read operations include the force unit access (fua) flag. Default: 0. .TP .BI (sg, io_uring_cmd)writefua \fR=\fPbool With writefua option set to 1, write operations include the force unit access (fua) flag. Default: 0. .TP .BI (io_uring_cmd)write_mode \fR=\fPstr Specifies the type of write operation. Defaults to 'write'. .RS .RS .TP .B write Use Write commands for write operations .TP .B uncor Use Write Uncorrectable commands for write operations .TP .B zeroes Use Write Zeroes commands for write operations .TP .B verify Use Verify commands for write operations .TP .RE .RE .TP .BI (io_uring_cmd)verify_mode \fR=\fPstr Specifies the type of command to be used in the verification phase. Defaults to 'read'. .RS .RS .TP .B read Use Read commands for data verification .TP .B compare Use Compare commands for data verification. This option is only valid with specific pattern(s), which means it *must* be given with `verify=pattern` and `verify_pattern=`. .TP .RE .RE .TP .BI (sg)sg_write_mode \fR=\fPstr Specify the type of write commands to issue. This option can take multiple values: .RS .RS .TP .B write (default) Write opcodes are issued as usual .TP .B write_and_verify Issue WRITE AND VERIFY commands. The BYTCHK bit is set to 00b. This directs the device to carry out a medium verification with no data comparison for the data that was written. The writefua option is ignored with this selection. .TP .B verify This option is deprecated. Use write_and_verify instead. .TP .B write_same Issue WRITE SAME commands. This transfers a single block to the device and writes this same block of data to a contiguous sequence of LBAs beginning at the specified offset. fio's block size parameter specifies the amount of data written with each command. However, the amount of data actually transferred to the device is equal to the device's block (sector) size. For a device with 512 byte sectors, blocksize=8k will write 16 sectors with each command. fio will still generate 8k of data for each command butonly the first 512 bytes will be used and transferred to the device. The writefua option is ignored with this selection. .TP .B same This option is deprecated. Use write_same instead. .TP .B write_same_ndob Issue WRITE SAME(16) commands as above but with the No Data Output Buffer (NDOB) bit set. No data will be transferred to the device with this bit set. Data written will be a pre-determined pattern such as all zeroes. .TP .B write_stream Issue WRITE STREAM(16) commands. Use the stream_id option to specify the stream identifier. .TP .B verify_bytchk_00 Issue VERIFY commands with BYTCHK set to 00. This directs the device to carry out a medium verification with no data comparison. .TP .B verify_bytchk_01 Issue VERIFY commands with BYTCHK set to 01. This directs the device to compare the data on the device with the data transferred to the device. .TP .B verify_bytchk_11 Issue VERIFY commands with BYTCHK set to 11. This transfers a single block to the device and compares the contents of this block with the data on the device beginning at the specified offset. fio's block size parameter specifies the total amount of data compared with this command. However, only one block (sector) worth of data is transferred to the device. This is similar to the WRITE SAME command except that data is compared instead of written. .RE .RE .TP .BI (sg)stream_id \fR=\fPint Set the stream identifier for WRITE STREAM commands. If this is set to 0 (which is not a valid stream identifier) fio will open a stream and then close it when done. Default is 0. .TP .BI (nbd)uri \fR=\fPstr Specify the NBD URI of the server to test. The string is a standard NBD URI (see \fIhttps://github.com/NetworkBlockDevice/nbd/tree/master/doc\fR). Example URIs: .RS .RS .TP \fInbd://localhost:10809\fR .TP \fInbd+unix:///?socket=/tmp/socket\fR .TP \fInbds://tlshost/exportname\fR .RE .RE .TP .BI (libcufile)gpu_dev_ids\fR=\fPstr Specify the GPU IDs to use with CUDA. This is a colon-separated list of int. GPUs are assigned to workers roundrobin. Default is 0. .TP .BI (libcufile)cuda_io\fR=\fPstr Specify the type of I/O to use with CUDA. This option takes the following values: .RS .RS .TP .B cufile (default) Use libcufile and nvidia-fs. This option performs I/O directly between a GPUDirect Storage filesystem and GPU buffers, avoiding use of a bounce buffer. If \fBverify\fR is set, cudaMemcpy is used to copy verification data between RAM and GPU(s). Verification data is copied from RAM to GPU before a write and from GPU to RAM after a read. \fBdirect\fR must be 1. .TP .BI posix Use POSIX to perform I/O with a RAM buffer, and use cudaMemcpy to transfer data between RAM and the GPU(s). Data is copied from GPU to RAM before a write and copied from RAM to GPU after a read. \fBverify\fR does not affect the use of cudaMemcpy. .RE .RE .TP .BI (dfs)pool Specify the label or UUID of the DAOS pool to connect to. .TP .BI (dfs)cont Specify the label or UUID of the DAOS container to open. .TP .BI (dfs)chunk_size Specify a different chunk size (in bytes) for the dfs file. Use DAOS container's chunk size by default. .TP .BI (dfs)object_class Specify a different object class for the dfs file. Use DAOS container's object class by default. .TP .BI (nfs)nfs_url URL in libnfs format, eg nfs:///path[?arg=val[&arg=val]*] Refer to the libnfs README for more details. .TP .BI (exec)program\fR=\fPstr Specify the program to execute. Note the program will receive a SIGTERM when the job is reaching the time limit. A SIGKILL is sent once the job is over. The delay between the two signals is defined by \fBgrace_time\fR option. .TP .BI (exec)arguments\fR=\fPstr Specify arguments to pass to program. Some special variables can be expanded to pass fio's job details to the program : .RS .RS .TP .B %r replaced by the duration of the job in seconds .TP .BI %n replaced by the name of the job .RE .RE .TP .BI (exec)grace_time\fR=\fPint Defines the time between the SIGTERM and SIGKILL signals. Default is 1 second. .TP .BI (exec)std_redirect\fR=\fPbool If set, stdout and stderr streams are redirected to files named from the job name. Default is true. .TP .BI (xnvme)xnvme_async\fR=\fPstr Select the xnvme async command interface. This can take these values. .RS .RS .TP .B emu This is default and use to emulate asynchronous I/O by using a single thread to create a queue pair on top of a synchronous I/O interface using the NVMe driver IOCTL. .TP .BI thrpool Emulate an asynchronous I/O interface with a pool of userspace threads on top of a synchronous I/O interface using the NVMe driver IOCTL. By default four threads are used. .TP .BI io_uring Linux native asynchronous I/O interface which supports both direct and buffered I/O. .TP .BI libaio Use Linux aio for Asynchronous I/O .TP .BI posix Use the posix asynchronous I/O interface to perform one or more I/O operations asynchronously. .TP .BI vfio Use the user-space VFIO-based backend, implemented using libvfn instead of SPDK. .TP .BI nil Do not transfer any data; just pretend to. This is mainly used for introspective performance evaluation. .RE .RE .TP .BI (xnvme)xnvme_sync\fR=\fPstr Select the xnvme synchronous command interface. This can take these values. .RS .RS .TP .B nvme This is default and uses Linux NVMe Driver ioctl() for synchronous I/O. .TP .BI psync This supports regular as well as vectored pread() and pwrite() commands. .TP .BI block This is the same as psync except that it also supports zone management commands using Linux block layer IOCTLs. .RE .RE .TP .BI (xnvme)xnvme_admin\fR=\fPstr Select the xnvme admin command interface. This can take these values. .RS .RS .TP .B nvme This is default and uses Linux NVMe Driver ioctl() for admin commands. .TP .BI block Use Linux Block Layer ioctl() and sysfs for admin commands. .RE .RE .TP .BI (xnvme)xnvme_dev_nsid\fR=\fPint xnvme namespace identifier for userspace NVMe driver SPDK or vfio. .TP .BI (xnvme)xnvme_dev_subnqn\fR=\fPstr Sets the subsystem NQN for fabrics. This is for xNVMe to utilize a fabrics target with multiple systems. .TP .BI (xnvme)xnvme_mem\fR=\fPstr Select the xnvme memory backend. This can take these values. .RS .RS .TP .B posix This is the default posix memory backend for linux NVMe driver. .TP .BI hugepage Use hugepages, instead of existing posix memory backend. The memory backend uses hugetlbfs. This require users to allocate hugepages, mount hugetlbfs and set an environment variable for XNVME_HUGETLB_PATH. .TP .BI spdk Uses SPDK's memory allocator. .TP .BI vfio Uses libvfn's memory allocator. This also specifies the use of libvfn backend instead of SPDK. .RE .RE .TP .BI (xnvme)xnvme_iovec If this option is set, xnvme will use vectored read/write commands. .TP .BI (libblkio)libblkio_driver \fR=\fPstr The libblkio driver to use. Different drivers access devices through different underlying interfaces. Available drivers depend on the libblkio version in use and are listed at \fIhttps://libblkio.gitlab.io/libblkio/blkio.html#drivers\fR .TP .BI (libblkio)libblkio_path \fR=\fPstr Sets the value of the driver-specific "path" property before connecting the libblkio instance, which identifies the target device or file on which to perform I/O. Its exact semantics are driver-dependent and not all drivers may support it; see \fIhttps://libblkio.gitlab.io/libblkio/blkio.html#drivers\fR .TP .BI (libblkio)libblkio_pre_connect_props \fR=\fPstr A colon-separated list of additional libblkio properties to be set after creating but before connecting the libblkio instance. Each property must have the format \fB=\fR. Colons can be escaped as \fB\\:\fR. These are set after the engine sets any other properties, so those can be overridden. Available properties depend on the libblkio version in use and are listed at \fIhttps://libblkio.gitlab.io/libblkio/blkio.html#properties\fR .TP .BI (libblkio)libblkio_num_entries \fR=\fPint Sets the value of the driver-specific "num-entries" property before starting the libblkio instance. Its exact semantics are driver-dependent and not all drivers may support it; see \fIhttps://libblkio.gitlab.io/libblkio/blkio.html#drivers\fR .TP .BI (libblkio)libblkio_queue_size \fR=\fPint Sets the value of the driver-specific "queue-size" property before starting the libblkio instance. Its exact semantics are driver-dependent and not all drivers may support it; see \fIhttps://libblkio.gitlab.io/libblkio/blkio.html#drivers\fR .TP .BI (libblkio)libblkio_pre_start_props \fR=\fPstr A colon-separated list of additional libblkio properties to be set after connecting but before starting the libblkio instance. Each property must have the format \fB=\fR. Colons can be escaped as \fB\\:\fR. These are set after the engine sets any other properties, so those can be overridden. Available properties depend on the libblkio version in use and are listed at \fIhttps://libblkio.gitlab.io/libblkio/blkio.html#properties\fR .TP .BI (libblkio)hipri Use poll queues. This is incompatible with \fBlibblkio_wait_mode=eventfd\fR and \fBlibblkio_force_enable_completion_eventfd\fR. .TP .BI (libblkio)libblkio_vectored Submit vectored read and write requests. .TP .BI (libblkio)libblkio_write_zeroes_on_trim Submit trims as "write zeroes" requests instead of discard requests. .TP .BI (libblkio)libblkio_wait_mode \fR=\fPstr How to wait for completions: .RS .RS .TP .B block \fR(default) Use a blocking call to \fBblkioq_do_io()\fR. .TP .B eventfd Use a blocking call to \fBread()\fR on the completion eventfd. .TP .B loop Use a busy loop with a non-blocking call to \fBblkioq_do_io()\fR. .RE .RE .TP .BI (libblkio)libblkio_force_enable_completion_eventfd Enable the queue's completion eventfd even when unused. This may impact performance. The default is to enable it only if \fBlibblkio_wait_mode=eventfd\fR. .TP .BI (windowsaio)no_completion_thread Avoid using a separate thread for completion polling. .SS "I/O depth" .TP .BI iodepth \fR=\fPint Number of I/O units to keep in flight against the file. Note that increasing \fBiodepth\fR beyond 1 will not affect synchronous ioengines (except for small degrees when \fBverify_async\fR is in use). Even async engines may impose OS restrictions causing the desired depth not to be achieved. This may happen on Linux when using libaio and not setting `direct=1', since buffered I/O is not async on that OS. Keep an eye on the I/O depth distribution in the fio output to verify that the achieved depth is as expected. Default: 1. .TP .BI iodepth_batch_submit \fR=\fPint "\fR,\fP iodepth_batch" \fR=\fPint This defines how many pieces of I/O to submit at once. It defaults to 1 which means that we submit each I/O as soon as it is available, but can be raised to submit bigger batches of I/O at the time. If it is set to 0 the \fBiodepth\fR value will be used. .TP .BI iodepth_batch_complete_min \fR=\fPint "\fR,\fP iodepth_batch_complete" \fR=\fPint This defines how many pieces of I/O to retrieve at once. It defaults to 1 which means that we'll ask for a minimum of 1 I/O in the retrieval process from the kernel. The I/O retrieval will go on until we hit the limit set by \fBiodepth_low\fR. If this variable is set to 0, then fio will always check for completed events before queuing more I/O. This helps reduce I/O latency, at the cost of more retrieval system calls. .TP .BI iodepth_batch_complete_max \fR=\fPint This defines maximum pieces of I/O to retrieve at once. This variable should be used along with \fBiodepth_batch_complete_min\fR=\fIint\fR variable, specifying the range of min and max amount of I/O which should be retrieved. By default it is equal to \fBiodepth_batch_complete_min\fR value. Example #1: .RS .RS .P .PD 0 iodepth_batch_complete_min=1 .P iodepth_batch_complete_max= .PD .RE .P which means that we will retrieve at least 1 I/O and up to the whole submitted queue depth. If none of I/O has been completed yet, we will wait. Example #2: .RS .P .PD 0 iodepth_batch_complete_min=0 .P iodepth_batch_complete_max= .PD .RE .P which means that we can retrieve up to the whole submitted queue depth, but if none of I/O has been completed yet, we will NOT wait and immediately exit the system call. In this example we simply do polling. .RE .TP .BI iodepth_low \fR=\fPint The low water mark indicating when to start filling the queue again. Defaults to the same as \fBiodepth\fR, meaning that fio will attempt to keep the queue full at all times. If \fBiodepth\fR is set to e.g. 16 and \fBiodepth_low\fR is set to 4, then after fio has filled the queue of 16 requests, it will let the depth drain down to 4 before starting to fill it again. .TP .BI serialize_overlap \fR=\fPbool Serialize in-flight I/Os that might otherwise cause or suffer from data races. When two or more I/Os are submitted simultaneously, there is no guarantee that the I/Os will be processed or completed in the submitted order. Further, if two or more of those I/Os are writes, any overlapping region between them can become indeterminate/undefined on certain storage. These issues can cause verification to fail erratically when at least one of the racing I/Os is changing data and the overlapping region has a non-zero size. Setting \fBserialize_overlap\fR tells fio to avoid provoking this behavior by explicitly serializing in-flight I/Os that have a non-zero overlap. Note that setting this option can reduce both performance and the \fBiodepth\fR achieved. .RS .P This option only applies to I/Os issued for a single job except when it is enabled along with \fBio_submit_mode\fR=offload. In offload mode, fio will check for overlap among all I/Os submitted by offload jobs with \fBserialize_overlap\fR enabled. .P Default: false. .RE .TP .BI io_submit_mode \fR=\fPstr This option controls how fio submits the I/O to the I/O engine. The default is `inline', which means that the fio job threads submit and reap I/O directly. If set to `offload', the job threads will offload I/O submission to a dedicated pool of I/O threads. This requires some coordination and thus has a bit of extra overhead, especially for lower queue depth I/O where it can increase latencies. The benefit is that fio can manage submission rates independently of the device completion rates. This avoids skewed latency reporting if I/O gets backed up on the device side (the coordinated omission problem). Note that this option cannot reliably be used with async IO engines. .SS "I/O rate" .TP .BI thinkcycles \fR=\fPint Stall the job for the specified number of cycles after an I/O has completed before issuing the next. May be used to simulate processing being done by an application. This is not taken into account for the time to be waited on for \fBthinktime\fR. Might not have any effect on some platforms, this can be checked by trying a setting a high enough amount of thinkcycles. .TP .BI thinktime \fR=\fPtime Stall the job for the specified period of time after an I/O has completed before issuing the next. May be used to simulate processing being done by an application. When the unit is omitted, the value is interpreted in microseconds. See \fBthinktime_blocks\fR, \fBthinktime_iotime\fR and \fBthinktime_spin\fR. .TP .BI thinktime_spin \fR=\fPtime Only valid if \fBthinktime\fR is set - pretend to spend CPU time doing something with the data received, before falling back to sleeping for the rest of the period specified by \fBthinktime\fR. When the unit is omitted, the value is interpreted in microseconds. .TP .BI thinktime_blocks \fR=\fPint Only valid if \fBthinktime\fR is set - control how many blocks to issue, before waiting \fBthinktime\fR usecs. If not set, defaults to 1 which will make fio wait \fBthinktime\fR usecs after every block. This effectively makes any queue depth setting redundant, since no more than 1 I/O will be queued before we have to complete it and do our \fBthinktime\fR. In other words, this setting effectively caps the queue depth if the latter is larger. .TP .BI thinktime_blocks_type \fR=\fPstr Only valid if \fBthinktime\fR is set - control how \fBthinktime_blocks\fR triggers. The default is `complete', which triggers \fBthinktime\fR when fio completes \fBthinktime_blocks\fR blocks. If this is set to `issue', then the trigger happens at the issue side. .TP .BI thinktime_iotime \fR=\fPtime Only valid if \fBthinktime\fR is set - control \fBthinktime\fR interval by time. The \fBthinktime\fR stall is repeated after IOs are executed for \fBthinktime_iotime\fR. For example, `\-\-thinktime_iotime=9s \-\-thinktime=1s' repeat 10-second cycle with IOs for 9 seconds and stall for 1 second. When the unit is omitted, \fBthinktime_iotime\fR is interpreted as a number of seconds. If this option is used together with \fBthinktime_blocks\fR, the \fBthinktime\fR stall is repeated after \fBthinktime_iotime\fR or after \fBthinktime_blocks\fR IOs, whichever happens first. .TP .BI rate \fR=\fPint[,int][,int] Cap the bandwidth used by this job. The number is in bytes/sec, the normal suffix rules apply. Comma-separated values may be specified for reads, writes, and trims as described in \fBblocksize\fR. .RS .P For example, using `rate=1m,500k' would limit reads to 1MiB/sec and writes to 500KiB/sec. Capping only reads or writes can be done with `rate=,500k' or `rate=500k,' where the former will only limit writes (to 500KiB/sec) and the latter will only limit reads. .RE .TP .BI rate_min \fR=\fPint[,int][,int] Tell fio to do whatever it can to maintain at least this bandwidth. Failing to meet this requirement will cause the job to exit. Comma-separated values may be specified for reads, writes, and trims as described in \fBblocksize\fR. .TP .BI rate_iops \fR=\fPint[,int][,int] Cap the bandwidth to this number of IOPS. Basically the same as \fBrate\fR, just specified independently of bandwidth. If the job is given a block size range instead of a fixed value, the smallest block size is used as the metric. Comma-separated values may be specified for reads, writes, and trims as described in \fBblocksize\fR. .TP .BI rate_iops_min \fR=\fPint[,int][,int] If fio doesn't meet this rate of I/O, it will cause the job to exit. Comma-separated values may be specified for reads, writes, and trims as described in \fBblocksize\fR. .TP .BI rate_process \fR=\fPstr This option controls how fio manages rated I/O submissions. The default is `linear', which submits I/O in a linear fashion with fixed delays between I/Os that gets adjusted based on I/O completion rates. If this is set to `poisson', fio will submit I/O based on a more real world random request flow, known as the Poisson process (\fIhttps://en.wikipedia.org/wiki/Poisson_point_process\fR). The lambda will be 10^6 / IOPS for the given workload. .TP .BI rate_ignore_thinktime \fR=\fPbool By default, fio will attempt to catch up to the specified rate setting, if any kind of thinktime setting was used. If this option is set, then fio will ignore the thinktime and continue doing IO at the specified rate, instead of entering a catch-up mode after thinktime is done. .TP .BI rate_cycle \fR=\fPint Average bandwidth for \fBrate_min\fR and \fBrate_iops_min\fR over this number of milliseconds. Defaults to 1000. .SS "I/O latency" .TP .BI latency_target \fR=\fPtime If set, fio will attempt to find the max performance point that the given workload will run at while maintaining a latency below this target. When the unit is omitted, the value is interpreted in microseconds. See \fBlatency_window\fR and \fBlatency_percentile\fR. .TP .BI latency_window \fR=\fPtime Used with \fBlatency_target\fR to specify the sample window that the job is run at varying queue depths to test the performance. When the unit is omitted, the value is interpreted in microseconds. .TP .BI latency_percentile \fR=\fPfloat The percentage of I/Os that must fall within the criteria specified by \fBlatency_target\fR and \fBlatency_window\fR. If not set, this defaults to 100.0, meaning that all I/Os must be equal or below to the value set by \fBlatency_target\fR. .TP .BI latency_run \fR=\fPbool Used with \fBlatency_target\fR. If false (default), fio will find the highest queue depth that meets \fBlatency_target\fR and exit. If true, fio will continue running and try to meet \fBlatency_target\fR by adjusting queue depth. .TP .BI max_latency \fR=\fPtime[,time][,time] If set, fio will exit the job with an ETIMEDOUT error if it exceeds this maximum latency. When the unit is omitted, the value is interpreted in microseconds. Comma-separated values may be specified for reads, writes, and trims as described in \fBblocksize\fR. .SS "I/O replay" .TP .BI write_iolog \fR=\fPstr Write the issued I/O patterns to the specified file. See \fBread_iolog\fR. Specify a separate file for each job, otherwise the iologs will be interspersed and the file may be corrupt. This file will be opened in append mode. .TP .BI read_iolog \fR=\fPstr Open an iolog with the specified filename and replay the I/O patterns it contains. This can be used to store a workload and replay it sometime later. The iolog given may also be a blktrace binary file, which allows fio to replay a workload captured by blktrace. See \fBblktrace\fR\|(8) for how to capture such logging data. For blktrace replay, the file needs to be turned into a blkparse binary data file first (`blkparse \-o /dev/null \-d file_for_fio.bin'). You can specify a number of files by separating the names with a ':' character. See the \fBfilename\fR option for information on how to escape ':' characters within the file names. These files will be sequentially assigned to job clones created by \fBnumjobs\fR. '-' is a reserved name, meaning read from stdin, notably if \fBfilename\fR is set to '-' which means stdin as well, then this flag can't be set to '-'. .TP .BI read_iolog_chunked \fR=\fPbool Determines how iolog is read. If false (default) entire \fBread_iolog\fR will be read at once. If selected true, input from iolog will be read gradually. Useful when iolog is very large, or it is generated. .TP .BI merge_blktrace_file \fR=\fPstr When specified, rather than replaying the logs passed to \fBread_iolog\fR, the logs go through a merge phase which aggregates them into a single blktrace. The resulting file is then passed on as the \fBread_iolog\fR parameter. The intention here is to make the order of events consistent. This limits the influence of the scheduler compared to replaying multiple blktraces via concurrent jobs. .TP .BI merge_blktrace_scalars \fR=\fPfloat_list This is a percentage based option that is index paired with the list of files passed to \fBread_iolog\fR. When merging is performed, scale the time of each event by the corresponding amount. For example, `\-\-merge_blktrace_scalars="50:100"' runs the first trace in halftime and the second trace in realtime. This knob is separately tunable from \fBreplay_time_scale\fR which scales the trace during runtime and will not change the output of the merge unlike this option. .TP .BI merge_blktrace_iters \fR=\fPfloat_list This is a whole number option that is index paired with the list of files passed to \fBread_iolog\fR. When merging is performed, run each trace for the specified number of iterations. For example, `\-\-merge_blktrace_iters="2:1"' runs the first trace for two iterations and the second trace for one iteration. .TP .BI replay_no_stall \fR=\fPbool When replaying I/O with \fBread_iolog\fR the default behavior is to attempt to respect the timestamps within the log and replay them with the appropriate delay between IOPS. By setting this variable fio will not respect the timestamps and attempt to replay them as fast as possible while still respecting ordering. The result is the same I/O pattern to a given device, but different timings. .TP .BI replay_time_scale \fR=\fPint When replaying I/O with \fBread_iolog\fR, fio will honor the original timing in the trace. With this option, it's possible to scale the time. It's a percentage option, if set to 50 it means run at 50% the original IO rate in the trace. If set to 200, run at twice the original IO rate. Defaults to 100. .TP .BI replay_redirect \fR=\fPstr While replaying I/O patterns using \fBread_iolog\fR the default behavior is to replay the IOPS onto the major/minor device that each IOP was recorded from. This is sometimes undesirable because on a different machine those major/minor numbers can map to a different device. Changing hardware on the same system can also result in a different major/minor mapping. \fBreplay_redirect\fR causes all I/Os to be replayed onto the single specified device regardless of the device it was recorded from. i.e. `replay_redirect=/dev/sdc' would cause all I/O in the blktrace or iolog to be replayed onto `/dev/sdc'. This means multiple devices will be replayed onto a single device, if the trace contains multiple devices. If you want multiple devices to be replayed concurrently to multiple redirected devices you must blkparse your trace into separate traces and replay them with independent fio invocations. Unfortunately this also breaks the strict time ordering between multiple device accesses. .TP .BI replay_align \fR=\fPint Force alignment of the byte offsets in a trace to this value. The value must be a power of 2. .TP .BI replay_scale \fR=\fPint Scale bye offsets down by this factor when replaying traces. Should most likely use \fBreplay_align\fR as well. .SS "Threads, processes and job synchronization" .TP .BI replay_skip \fR=\fPstr Sometimes it's useful to skip certain IO types in a replay trace. This could be, for instance, eliminating the writes in the trace. Or not replaying the trims/discards, if you are redirecting to a device that doesn't support them. This option takes a comma separated list of read, write, trim, sync. .TP .BI thread Fio defaults to creating jobs by using fork, however if this option is given, fio will create jobs by using POSIX Threads' function \fBpthread_create\fR\|(3) to create threads instead. .TP .BI wait_for \fR=\fPstr If set, the current job won't be started until all workers of the specified waitee job are done. .\" ignore blank line here from HOWTO as it looks normal without it \fBwait_for\fR operates on the job name basis, so there are a few limitations. First, the waitee must be defined prior to the waiter job (meaning no forward references). Second, if a job is being referenced as a waitee, it must have a unique name (no duplicate waitees). .TP .BI nice \fR=\fPint Run the job with the given nice value. See man \fBnice\fR\|(2). .\" ignore blank line here from HOWTO as it looks normal without it On Windows, values less than \-15 set the process class to "High"; \-1 through \-15 set "Above Normal"; 1 through 15 "Below Normal"; and above 15 "Idle" priority class. .TP .BI prio \fR=\fPint Set the I/O priority value of this job. Linux limits us to a positive value between 0 and 7, with 0 being the highest. See man \fBionice\fR\|(1). Refer to an appropriate manpage for other operating systems since meaning of priority may differ. For per-command priority setting, see the I/O engine specific `cmdprio_percentage` and `cmdprio` options. .TP .BI prioclass \fR=\fPint Set the I/O priority class. See man \fBionice\fR\|(1). For per-command priority setting, see the I/O engine specific `cmdprio_percentage` and `cmdprio_class` options. .TP .BI priohint \fR=\fPint Set the I/O priority hint. This is only applicable to platforms that support I/O priority classes and to devices with features controlled through priority hints, e.g. block devices supporting command duration limits, or CDL. CDL is a way to indicate the desired maximum latency of I/Os so that the device can optimize its internal command scheduling according to the latency limits indicated by the user. For per-I/O priority hint setting, see the I/O engine specific \fBcmdprio_hint\fB option. .TP .BI cpus_allowed \fR=\fPstr Controls the same options as \fBcpumask\fR, but accepts a textual specification of the permitted CPUs instead and CPUs are indexed from 0. So to use CPUs 0 and 5 you would specify `cpus_allowed=0,5'. This option also allows a range of CPUs to be specified \-\- say you wanted a binding to CPUs 0, 5, and 8 to 15, you would set `cpus_allowed=0,5,8\-15'. .RS .P On Windows, when `cpus_allowed' is unset only CPUs from fio's current processor group will be used and affinity settings are inherited from the system. An fio build configured to target Windows 7 makes options that set CPUs processor group aware and values will set both the processor group and a CPU from within that group. For example, on a system where processor group 0 has 40 CPUs and processor group 1 has 32 CPUs, `cpus_allowed' values between 0 and 39 will bind CPUs from processor group 0 and `cpus_allowed' values between 40 and 71 will bind CPUs from processor group 1. When using `cpus_allowed_policy=shared' all CPUs specified by a single `cpus_allowed' option must be from the same processor group. For Windows fio builds not built for Windows 7, CPUs will only be selected from (and be relative to) whatever processor group fio happens to be running in and CPUs from other processor groups cannot be used. .RE .TP .BI cpus_allowed_policy \fR=\fPstr Set the policy of how fio distributes the CPUs specified by \fBcpus_allowed\fR or \fBcpumask\fR. Two policies are supported: .RS .RS .TP .B shared All jobs will share the CPU set specified. .TP .B split Each job will get a unique CPU from the CPU set. .RE .P \fBshared\fR is the default behavior, if the option isn't specified. If \fBsplit\fR is specified, then fio will assign one cpu per job. If not enough CPUs are given for the jobs listed, then fio will roundrobin the CPUs in the set. .RE .TP .BI cpumask \fR=\fPint Set the CPU affinity of this job. The parameter given is a bit mask of allowed CPUs the job may run on. So if you want the allowed CPUs to be 1 and 5, you would pass the decimal value of (1 << 1 | 1 << 5), or 34. See man \fBsched_setaffinity\fR\|(2). This may not work on all supported operating systems or kernel versions. This option doesn't work well for a higher CPU count than what you can store in an integer mask, so it can only control cpus 1\-32. For boxes with larger CPU counts, use \fBcpus_allowed\fR. .TP .BI numa_cpu_nodes \fR=\fPstr Set this job running on specified NUMA nodes' CPUs. The arguments allow comma delimited list of cpu numbers, A\-B ranges, or `all'. Note, to enable NUMA options support, fio must be built on a system with libnuma\-dev(el) installed. .TP .BI numa_mem_policy \fR=\fPstr Set this job's memory policy and corresponding NUMA nodes. Format of the arguments: .RS .RS .P [:] .RE .P `mode' is one of the following memory policies: `default', `prefer', `bind', `interleave' or `local'. For `default' and `local' memory policies, no node needs to be specified. For `prefer', only one node is allowed. For `bind' and `interleave' the `nodelist' may be as follows: a comma delimited list of numbers, A\-B ranges, or `all'. .RE .TP .BI cgroup \fR=\fPstr Add job to this control group. If it doesn't exist, it will be created. The system must have a mounted cgroup blkio mount point for this to work. If your system doesn't have it mounted, you can do so with: .RS .RS .P # mount \-t cgroup \-o blkio none /cgroup .RE .RE .TP .BI cgroup_weight \fR=\fPint Set the weight of the cgroup to this value. See the documentation that comes with the kernel, allowed values are in the range of 100..1000. .TP .BI cgroup_nodelete \fR=\fPbool Normally fio will delete the cgroups it has created after the job completion. To override this behavior and to leave cgroups around after the job completion, set `cgroup_nodelete=1'. This can be useful if one wants to inspect various cgroup files after job completion. Default: false. .TP .BI flow_id \fR=\fPint The ID of the flow. If not specified, it defaults to being a global flow. See \fBflow\fR. .TP .BI flow \fR=\fPint Weight in token-based flow control. If this value is used, then fio regulates the activity between two or more jobs sharing the same flow_id. Fio attempts to keep each job activity proportional to other jobs' activities in the same flow_id group, with respect to requested weight per job. That is, if one job has `flow=3', another job has `flow=2' and another with `flow=1`, then there will be a roughly 3:2:1 ratio in how much one runs vs the others. .TP .BI flow_sleep \fR=\fPint The period of time, in microseconds, to wait after the flow counter has exceeded its proportion before retrying operations. .TP .BI stonewall "\fR,\fB wait_for_previous" Wait for preceding jobs in the job file to exit, before starting this one. Can be used to insert serialization points in the job file. A stone wall also implies starting a new reporting group, see \fBgroup_reporting\fR. Optionally you can use `stonewall=0` to disable or `stonewall=1` to enable it. .TP .BI exitall By default, fio will continue running all other jobs when one job finishes. Sometimes this is not the desired action. Setting \fBexitall\fR will instead make fio terminate all jobs in the same group, as soon as one job of that group finishes. .TP .BI exit_what \fR=\fPstr By default, fio will continue running all other jobs when one job finishes. Sometimes this is not the desired action. Setting \fBexitall\fR will instead make fio terminate all jobs in the same group. The option \fBexit_what\fR allows you to control which jobs get terminated when \fBexitall\fR is enabled. The default value is \fBgroup\fR. The allowed values are: .RS .RS .TP .B all terminates all jobs. .TP .B group is the default and does not change the behaviour of \fBexitall\fR. .TP .B stonewall terminates all currently running jobs across all groups and continues execution with the next stonewalled group. .RE .RE .TP .BI exec_prerun \fR=\fPstr Before running this job, issue the command specified through \fBsystem\fR\|(3). Output is redirected in a file called `jobname.prerun.txt'. .TP .BI exec_postrun \fR=\fPstr After the job completes, issue the command specified though \fBsystem\fR\|(3). Output is redirected in a file called `jobname.postrun.txt'. .TP .BI uid \fR=\fPint Instead of running as the invoking user, set the user ID to this value before the thread/process does any work. .TP .BI gid \fR=\fPint Set group ID, see \fBuid\fR. .SS "Verification" .TP .BI verify_only Do not perform specified workload, only verify data still matches previous invocation of this workload. This option allows one to check data multiple times at a later date without overwriting it. This option makes sense only for workloads that write data, and does not support workloads with the \fBtime_based\fR option set. Options \fBverify_write_sequence\fR and \fBverify_header_seed\fR will be disabled in this mode, unless they are explicitly enabled. .TP .BI do_verify \fR=\fPbool Run the verify phase after a write phase. Only valid if \fBverify\fR is set. Default: true. .TP .BI verify \fR=\fPstr If writing to a file, fio can verify the file contents after each iteration of the job. Each verification method also implies verification of special header, which is written to the beginning of each block. This header also includes meta information, like offset of the block, block number, timestamp when block was written, initial seed value used to generate the buffer contents, etc. \fBverify\fR can be combined with \fBverify_pattern\fR option. The allowed values are: .RS .RS .TP .B md5 Use an md5 sum of the data area and store it in the header of each block. .TP .B crc64 Use an experimental crc64 sum of the data area and store it in the header of each block. .TP .B crc32c Use a crc32c sum of the data area and store it in the header of each block. This will automatically use hardware acceleration (e.g. SSE4.2 on an x86 or CRC crypto extensions on ARM64) but will fall back to software crc32c if none is found. Generally the fastest checksum fio supports when hardware accelerated. .TP .B crc32c\-intel Synonym for crc32c. .TP .B crc32 Use a crc32 sum of the data area and store it in the header of each block. .TP .B crc16 Use a crc16 sum of the data area and store it in the header of each block. .TP .B crc7 Use a crc7 sum of the data area and store it in the header of each block. .TP .B xxhash Use xxhash as the checksum function. Generally the fastest software checksum that fio supports. .TP .B sha512 Use sha512 as the checksum function. .TP .B sha256 Use sha256 as the checksum function. .TP .B sha1 Use optimized sha1 as the checksum function. .TP .B sha3\-224 Use optimized sha3\-224 as the checksum function. .TP .B sha3\-256 Use optimized sha3\-256 as the checksum function. .TP .B sha3\-384 Use optimized sha3\-384 as the checksum function. .TP .B sha3\-512 Use optimized sha3\-512 as the checksum function. .TP .B meta This option is deprecated, since now meta information is included in generic verification header and meta verification happens by default. For detailed information see the description of the \fBverify\fR setting. This option is kept because of compatibility's sake with old configurations. Do not use it. .TP .B pattern Verify a strict pattern. Normally fio includes a header with some basic information and checksumming, but if this option is set, only the specific pattern set with \fBverify_pattern\fR is verified. .TP .B null Only pretend to verify. Useful for testing internals with `ioengine=null', not for much else. .RE .P This option can be used for repeated burn\-in tests of a system to make sure that the written data is also correctly read back. .P If the data direction given is a read or random read, fio will assume that it should verify a previously written file. In this scenario fio will not verify the block number written in the header. The header seed won't be verified, unless its explicitly requested by setting \fBverify_header_seed\fR option. Note in this scenario the header seed check will only work if the read invocation exactly matches the original write invocation. .P If the data direction includes any form of write, the verify will be of the newly written data. .P To avoid false verification errors, do not use the norandommap option when verifying data with async I/O engines and I/O depths > 1. Or use the norandommap and the lfsr random generator together to avoid writing to the same offset with multiple outstanding I/Os. .RE .TP .BI verify_offset \fR=\fPint Swap the verification header with data somewhere else in the block before writing. It is swapped back before verifying. This should be within the range of \fBverify_interval\fR. .TP .BI verify_interval \fR=\fPint Write the verification header at a finer granularity than the \fBblocksize\fR. It will be written for chunks the size of \fBverify_interval\fR. \fBblocksize\fR should divide this evenly. .TP .BI verify_pattern \fR=\fPstr If set, fio will fill the I/O buffers with this pattern. Fio defaults to filling with totally random bytes, but sometimes it's interesting to fill with a known pattern for I/O verification purposes. Depending on the width of the pattern, fio will fill 1/2/3/4 bytes of the buffer at the time (it can be either a decimal or a hex number). The \fBverify_pattern\fR if larger than a 32\-bit quantity has to be a hex number that starts with either "0x" or "0X". Use with \fBverify\fR. Also, \fBverify_pattern\fR supports %o format, which means that for each block offset will be written and then verified back, e.g.: .RS .RS .P verify_pattern=%o .RE .P Or use combination of everything: .RS .P verify_pattern=0xff%o"abcd"\-12 .RE .RE .TP .BI verify_fatal \fR=\fPbool Normally fio will keep checking the entire contents before quitting on a block verification failure. If this option is set, fio will exit the job on the first observed failure. Default: false. .TP .BI verify_dump \fR=\fPbool If set, dump the contents of both the original data block and the data block we read off disk to files. This allows later analysis to inspect just what kind of data corruption occurred. Off by default. .TP .BI verify_async \fR=\fPint Fio will normally verify I/O inline from the submitting thread. This option takes an integer describing how many async offload threads to create for I/O verification instead, causing fio to offload the duty of verifying I/O contents to one or more separate threads. If using this offload option, even sync I/O engines can benefit from using an \fBiodepth\fR setting higher than 1, as it allows them to have I/O in flight while verifies are running. Defaults to 0 async threads, i.e. verification is not asynchronous. .TP .BI verify_async_cpus \fR=\fPstr Tell fio to set the given CPU affinity on the async I/O verification threads. See \fBcpus_allowed\fR for the format used. .TP .BI verify_backlog \fR=\fPint Fio will normally verify the written contents of a job that utilizes verify once that job has completed. In other words, everything is written then everything is read back and verified. You may want to verify continually instead for a variety of reasons. Fio stores the meta data associated with an I/O block in memory, so for large verify workloads, quite a bit of memory would be used up holding this meta data. If this option is enabled, fio will write only N blocks before verifying these blocks. .TP .BI verify_backlog_batch \fR=\fPint Control how many blocks fio will verify if \fBverify_backlog\fR is set. If not set, will default to the value of \fBverify_backlog\fR (meaning the entire queue is read back and verified). If \fBverify_backlog_batch\fR is less than \fBverify_backlog\fR then not all blocks will be verified, if \fBverify_backlog_batch\fR is larger than \fBverify_backlog\fR, some blocks will be verified more than once. .TP .BI verify_state_save \fR=\fPbool When a job exits during the write phase of a verify workload, save its current state. This allows fio to replay up until that point, if the verify state is loaded for the verify read phase. The format of the filename is, roughly: .RS .RS .P \-\-\-verify.state. .RE .P is "local" for a local run, "sock" for a client/server socket connection, and "ip" (192.168.0.1, for instance) for a networked client/server connection. Defaults to true. .RE .TP .BI verify_state_load \fR=\fPbool If a verify termination trigger was used, fio stores the current write state of each thread. This can be used at verification time so that fio knows how far it should verify. Without this information, fio will run a full verification pass, according to the settings in the job file used. Default false. .TP .BI experimental_verify \fR=\fPbool Enable experimental verification. Standard verify records I/O metadata for later use during the verification phase. Experimental verify instead resets the file after the write phase and then replays I/Os for the verification phase. .TP .BI verify_write_sequence \fR=\fPbool Verify the header write sequence number. In a scenario with multiple jobs, verification of the write sequence number may fail. Disabling this option will mean that write sequence number checking is skipped. Doing that can be useful for testing atomic writes, as it means that checksum verification can still be attempted. For when \fBatomic\fR is enabled, checksum verification is expected to succeed (while write sequence checking can still fail). .TP .BI verify_header_seed \fR=\fPbool Verify the header seed value which was used to generate the buffer contents. In certain scenarios with read / verify only workloads, when \fBnorandommap\fR is enabled, with offset modifiers (refer options \fBreadwrite\fR and \fBrw_sequencer\fR), etc verification of header seed may fail. Disabling this option will mean that header seed checking is skipped. Defaults to true. .TP .BI trim_percentage \fR=\fPint Number of verify blocks to discard/trim. .TP .BI trim_verify_zero \fR=\fPbool Verify that trim/discarded blocks are returned as zeros. .TP .BI trim_backlog \fR=\fPint Verify that trim/discarded blocks are returned as zeros. .TP .BI trim_backlog_batch \fR=\fPint Trim this number of I/O blocks. .SS "Steady state" .TP .BI steadystate \fR=\fPstr:float "\fR,\fP ss" \fR=\fPstr:float Define the criterion and limit for assessing steady state performance. The first parameter designates the criterion whereas the second parameter sets the threshold. When the criterion falls below the threshold for the specified duration, the job will stop. For example, `iops_slope:0.1%' will direct fio to terminate the job when the least squares regression slope falls below 0.1% of the mean IOPS. If \fBgroup_reporting\fR is enabled this will apply to all jobs in the group. Below is the list of available steady state assessment criteria. All assessments are carried out using only data from the rolling collection window. Threshold limits can be expressed as a fixed value or as a percentage of the mean in the collection window. .RS .P When using this feature, most jobs should include the \fBtime_based\fR and \fBruntime\fR options or the \fBloops\fR option so that fio does not stop running after it has covered the full size of the specified file(s) or device(s). .RS .RS .TP .B iops Collect IOPS data. Stop the job if all individual IOPS measurements are within the specified limit of the mean IOPS (e.g., `iops:2' means that all individual IOPS values must be within 2 of the mean, whereas `iops:0.2%' means that all individual IOPS values must be within 0.2% of the mean IOPS to terminate the job). .TP .B iops_slope Collect IOPS data and calculate the least squares regression slope. Stop the job if the slope falls below the specified limit. .TP .B bw Collect bandwidth data. Stop the job if all individual bandwidth measurements are within the specified limit of the mean bandwidth. .TP .B bw_slope Collect bandwidth data and calculate the least squares regression slope. Stop the job if the slope falls below the specified limit. .RE .RE .TP .BI steadystate_duration \fR=\fPtime "\fR,\fP ss_dur" \fR=\fPtime A rolling window of this duration will be used to judge whether steady state has been reached. Data will be collected every \fBss_interval\fR. The default is 0 which disables steady state detection. When the unit is omitted, the value is interpreted in seconds. .TP .BI steadystate_ramp_time \fR=\fPtime "\fR,\fP ss_ramp" \fR=\fPtime Allow the job to run for the specified duration before beginning data collection for checking the steady state job termination criterion. The default is 0. When the unit is omitted, the value is interpreted in seconds. .TP .BI steadystate_check_interval \fR=\fPtime "\fR,\fP ss_interval" \fR=\fPtime The values suring the rolling window will be collected with a period of this value. If \fBss_interval\fR is 30s and \fBss_dur\fR is 300s, 10 measurements will be taken. Default is 1s but that might not converge, especially for slower devices, so set this accordingly. When the unit is omitted, the value is interpreted in seconds. .SS "Measurements and reporting" .TP .BI per_job_logs \fR=\fPbool If set to true, fio generates bw/clat/iops logs with per job unique filenames. If set to false, jobs with identical names will share a log filename. Note that when this option is set to false log files will be opened in append mode and if log files already exist the previous contents will not be overwritten. Default: true. .TP .BI group_reporting It may sometimes be interesting to display statistics for groups of jobs as a whole instead of for each individual job. This is especially true if \fBnumjobs\fR is used; looking at individual thread/process output quickly becomes unwieldy. To see the final report per-group instead of per-job, use \fBgroup_reporting\fR. Jobs in a file will be part of the same reporting group, unless if separated by a \fBstonewall\fR, or by using \fBnew_group\fR. .RS .P NOTE: When \fBgroup_reporting\fR is used along with \fBjson\fR output, there are certain per-job properties which can be different between jobs but do not have a natural group-level equivalent. Examples include \fBkb_base\fR, \fBunit_base\fR, \fBsig_figs\fR, \fBthread_number\fR, \fBpid\fR, and \fBjob_start\fR. For these properties, the values for the first job are recorded for the group. .P Also, options like \fBpercentile_list\fR and \fBunified_rw_reporting\fR should be consistent among the jobs in a reporting group. Having options like these vary across the jobs in a reporting group is an unsupported configuration. .RE .TP .BI new_group Start a new reporting group. See: \fBgroup_reporting\fR. If not given, all jobs in a file will be part of the same reporting group, unless separated by a \fBstonewall\fR. .TP .BI stats \fR=\fPbool By default, fio collects and shows final output results for all jobs that run. If this option is set to 0, then fio will ignore it in the final stat output. .TP .BI write_bw_log \fR=\fPstr If given, write a bandwidth log for this job. Can be used to store data of the bandwidth of the jobs in their lifetime. .RS .P If no str argument is given, the default filename of `jobname_type.x.log' is used. Even when the argument is given, fio will still append the type of log. So if one specifies: .RS .P write_bw_log=foo .RE .P The actual log name will be `foo_bw.x.log' where `x' is the index of the job (1..N, where N is the number of jobs). If \fBper_job_logs\fR is false, then the filename will not include the `.x` job index. .P The included \fBfio_generate_plots\fR script uses gnuplot to turn these text files into nice graphs. See the \fBLOG FILE FORMATS\fR section for how data is structured within the file. .RE .TP .BI write_lat_log \fR=\fPstr Same as \fBwrite_bw_log\fR, except this option creates I/O submission (e.g., `name_slat.x.log'), completion (e.g., `name_clat.x.log'), and total (e.g., `name_lat.x.log') latency files instead. See \fBwrite_bw_log\fR for details about the filename format and the \fBLOG FILE FORMATS\fR section for how data is structured within the files. .TP .BI write_hist_log \fR=\fPstr Same as \fBwrite_bw_log\fR but writes an I/O completion latency histogram file (e.g., `name_hist.x.log') instead. Note that this file will be empty unless \fBlog_hist_msec\fR has also been set. See \fBwrite_bw_log\fR for details about the filename format and the \fBLOG FILE FORMATS\fR section for how data is structured within the file. .TP .BI write_iops_log \fR=\fPstr Same as \fBwrite_bw_log\fR, but writes an IOPS file (e.g. `name_iops.x.log`) instead. Because fio defaults to individual I/O logging, the value entry in the IOPS log will be 1 unless windowed logging (see \fBlog_avg_msec\fR) has been enabled. See \fBwrite_bw_log\fR for details about the filename format and \fBLOG FILE FORMATS\fR for how data is structured within the file. .TP .BI log_entries \fR=\fPint By default, fio will log an entry in the iops, latency, or bw log for every I/O that completes. The initial number of I/O log entries is 1024. When the log entries are all used, new log entries are dynamically allocated. This dynamic log entry allocation may negatively impact time-related statistics such as I/O tail latencies (e.g. 99.9th percentile completion latency). This option allows specifying a larger initial number of log entries to avoid run-time allocation of new log entries, resulting in more precise time-related I/O statistics. Also see \fBlog_avg_msec\fR as well. Defaults to 1024. .TP .BI log_avg_msec \fR=\fPint By default, fio will log an entry in the iops, latency, or bw log for every I/O that completes. When writing to the disk log, that can quickly grow to a very large size. Setting this option directs fio to instead record an average over the specified duration for each log entry, reducing the resolution of the log. When the job completes, fio will flush any accumulated latency log data, so the final log interval may not match the value specified by this option and there may even be duplicate timestamps. See \fBlog_window_value\fR as well. Defaults to 0, logging entries for each I/O. Also see \fBLOG FILE FORMATS\fR section. .TP .BI log_hist_msec \fR=\fPint Same as \fBlog_avg_msec\fR, but logs entries for completion latency histograms. Computing latency percentiles from averages of intervals using \fBlog_avg_msec\fR is inaccurate. Setting this option makes fio log histogram entries over the specified period of time, reducing log sizes for high IOPS devices while retaining percentile accuracy. See \fBlog_hist_coarseness\fR and \fBwrite_hist_log\fR as well. Defaults to 0, meaning histogram logging is disabled. .TP .BI log_hist_coarseness \fR=\fPint Integer ranging from 0 to 6, defining the coarseness of the resolution of the histogram logs enabled with \fBlog_hist_msec\fR. For each increment in coarseness, fio outputs half as many bins. Defaults to 0, for which histogram logs contain 1216 latency bins. See \fBLOG FILE FORMATS\fR section. .TP .BI log_window_value \fR=\fPstr "\fR,\fP log_max_value" \fR=\fPstr If \fBlog_avg_msec\fR is set, fio by default logs the average over that window. This option determines whether fio logs the average, maximum or both the values over the window. This only affects the latency logging, as both average and maximum values for iops or bw log will be same. Accepted values are: .RS .TP .B avg Log average value over the window. The default. .TP .B max Log maximum value in the window. .TP .B both Log both average and maximum value over the window. .TP .B 0 Backward-compatible alias for \fBavg\fR. .TP .B 1 Backward-compatible alias for \fBmax\fR. .RE .TP .BI log_offset \fR=\fPbool If this is set, the iolog options will include the byte offset for the I/O entry as well as the other data values. Defaults to 0 meaning that offsets are not present in logs. Also see \fBLOG FILE FORMATS\fR section. .TP .BI log_prio \fR=\fPbool If this is set, the `Command priority` field in \fBLOG FILE FORMATS\fR shows the priority value and the IO priority class of the command. Otherwise, the field shows if the command has the highest RT priority class or not. Also see \fBLOG FILE FORMATS\fR section. .TP .BI log_issue_time \fR=\fPbool If this is set, the iolog options will include the command issue time for the I/O entry as well as the other data values. Defaults to 0 meaning that command issue times are not present in logs. Also see \fBLOG FILE FORMATS\fR section. This option shall be set together with \fBwrite_lat_log\fR and \fBlog_offset\fR. .TP .BI log_compression \fR=\fPint If this is set, fio will compress the I/O logs as it goes, to keep the memory footprint lower. When a log reaches the specified size, that chunk is removed and compressed in the background. Given that I/O logs are fairly highly compressible, this yields a nice memory savings for longer runs. The downside is that the compression will consume some background CPU cycles, so it may impact the run. This, however, is also true if the logging ends up consuming most of the system memory. So pick your poison. The I/O logs are saved normally at the end of a run, by decompressing the chunks and storing them in the specified log file. This feature depends on the availability of zlib. .TP .BI log_compression_cpus \fR=\fPstr Define the set of CPUs that are allowed to handle online log compression for the I/O jobs. This can provide better isolation between performance sensitive jobs, and background compression work. See \fBcpus_allowed\fR for the format used. .TP .BI log_store_compressed \fR=\fPbool If set, fio will store the log files in a compressed format. They can be decompressed with fio, using the \fB\-\-inflate\-log\fR command line parameter. The files will be stored with a `.fz' suffix. .TP .BI log_unix_epoch \fR=\fPbool Backward-compatible alias for \fBlog_alternate_epoch\fR. .TP .BI log_alternate_epoch \fR=\fPbool If set, fio will log timestamps based on the epoch used by the clock specified in the \fBlog_alternate_epoch_clock_id\fR option, to the log files produced by enabling write_type_log for each log type, instead of the default zero-based timestamps. .TP .BI log_alternate_epoch_clock_id \fR=\fPint Specifies the clock_id to be used by clock_gettime to obtain the alternate epoch if \fBlog_alternate_epoch\fR is true. Otherwise has no effect. Default value is 0, or CLOCK_REALTIME. .TP .BI block_error_percentiles \fR=\fPbool If set, record errors in trim block-sized units from writes and trims and output a histogram of how many trims it took to get to errors, and what kind of error was encountered. .TP .BI bwavgtime \fR=\fPint Average the calculated bandwidth over the given time. Value is specified in milliseconds. If the job also does bandwidth logging through \fBwrite_bw_log\fR, then the minimum of this option and \fBlog_avg_msec\fR will be used. Default: 500ms. .TP .BI iopsavgtime \fR=\fPint Average the calculated IOPS over the given time. Value is specified in milliseconds. If the job also does IOPS logging through \fBwrite_iops_log\fR, then the minimum of this option and \fBlog_avg_msec\fR will be used. Default: 500ms. .TP .BI disk_util \fR=\fPbool Generate disk utilization statistics, if the platform supports it. Default: true. .TP .BI disable_lat \fR=\fPbool Disable measurements of total latency numbers. Useful only for cutting back the number of calls to \fBgettimeofday\fR\|(2), as that does impact performance at really high IOPS rates. Note that to really get rid of a large amount of these calls, this option must be used with \fBdisable_slat\fR and \fBdisable_bw_measurement\fR as well. .TP .BI disable_clat \fR=\fPbool Disable measurements of completion latency numbers. See \fBdisable_lat\fR. .TP .BI disable_slat \fR=\fPbool Disable measurements of submission latency numbers. See \fBdisable_lat\fR. .TP .BI disable_bw_measurement \fR=\fPbool "\fR,\fP disable_bw" \fR=\fPbool Disable measurements of throughput/bandwidth numbers. See \fBdisable_lat\fR. .TP .BI slat_percentiles \fR=\fPbool Report submission latency percentiles. Submission latency is not recorded for synchronous ioengines. .TP .BI clat_percentiles \fR=\fPbool Report completion latency percentiles. .TP .BI lat_percentiles \fR=\fPbool Report total latency percentiles. Total latency is the sum of submission latency and completion latency. .TP .BI percentile_list \fR=\fPfloat_list Overwrite the default list of percentiles for latencies and the block error histogram. Each number is a floating point number in the range (0,100], and the maximum length of the list is 20. Use ':' to separate the numbers. For example, `\-\-percentile_list=99.5:99.9' will cause fio to report the latency durations below which 99.5% and 99.9% of the observed latencies fell, respectively. .TP .BI significant_figures \fR=\fPint If using \fB\-\-output\-format\fR of `normal', set the significant figures to this value. Higher values will yield more precise IOPS and throughput units, while lower values will round. Requires a minimum value of 1 and a maximum value of 10. Defaults to 4. .SS "Error handling" .TP .BI exitall_on_error When one job finishes in error, terminate the rest. The default is to wait for each job to finish. .TP .BI continue_on_error \fR=\fPstr Normally fio will exit the job on the first observed failure. If this option is set, fio will continue the job when there is a 'non-fatal error' (EIO or EILSEQ) until the runtime is exceeded or the I/O size specified is completed. If this option is used, there are two more stats that are appended, the total error count and the first error. The error field given in the stats is the first error that was hit during the run. .RS .P Note: a write error from the device may go unnoticed by fio when using buffered IO, as the write() (or similar) system call merely dirties the kernel pages, unless `sync' or `direct' is used. Device IO errors occur when the dirty data is actually written out to disk. If fully sync writes aren't desirable, `fsync' or `fdatasync' can be used as well. This is specific to writes, as reads are always synchronous. .RS .P The allowed values are: .RS .RS .TP .B none Exit on any I/O or verify errors. .TP .B read Continue on read errors, exit on all others. .TP .B write Continue on write errors, exit on all others. .TP .B io Continue on any I/O error, exit on all others. .TP .B verify Continue on verify errors, exit on all others. .TP .B all Continue on all errors. .TP .B 0 Backward-compatible alias for 'none'. .TP .B 1 Backward-compatible alias for 'all'. .RE .RE .TP .BI ignore_error \fR=\fPstr Sometimes you want to ignore some errors during test in that case you can specify error list for each error type, instead of only being able to ignore the default 'non-fatal error' using \fBcontinue_on_error\fR. `ignore_error=READ_ERR_LIST,WRITE_ERR_LIST,VERIFY_ERR_LIST' errors for given error type is separated with ':'. Error may be symbol ('ENOSPC', 'ENOMEM') or integer. Example: .RS .RS .P ignore_error=EAGAIN,ENOSPC:122 .RE .P This option will ignore EAGAIN from READ, and ENOSPC and 122(EDQUOT) from WRITE. This option works by overriding \fBcontinue_on_error\fR with the list of errors for each error type if any. .RE .TP .BI error_dump \fR=\fPbool If set dump every error even if it is non fatal, true by default. If disabled only fatal error will be dumped. .SS "Running predefined workloads" Fio includes predefined profiles that mimic the I/O workloads generated by other tools. .TP .BI profile \fR=\fPstr The predefined workload to run. Current profiles are: .RS .RS .TP .B tiobench Threaded I/O bench (tiotest/tiobench) like workload. .TP .B act Aerospike Certification Tool (ACT) like workload. .RE .RE .P To view a profile's additional options use \fB\-\-cmdhelp\fR after specifying the profile. For example: .RS .TP $ fio \-\-profile=act \-\-cmdhelp .RE .SS "Act profile options" .TP .BI device\-names \fR=\fPstr Devices to use. .TP .BI load \fR=\fPint ACT load multiplier. Default: 1. .TP .BI test\-duration\fR=\fPtime How long the entire test takes to run. When the unit is omitted, the value is given in seconds. Default: 24h. .TP .BI threads\-per\-queue\fR=\fPint Number of read I/O threads per device. Default: 8. .TP .BI read\-req\-num\-512\-blocks\fR=\fPint Number of 512B blocks to read at the time. Default: 3. .TP .BI large\-block\-op\-kbytes\fR=\fPint Size of large block ops in KiB (writes). Default: 131072. .TP .BI prep Set to run ACT prep phase. .SS "Tiobench profile options" .TP .BI size\fR=\fPstr Size in MiB. .TP .BI block\fR=\fPint Block size in bytes. Default: 4096. .TP .BI numruns\fR=\fPint Number of runs. .TP .BI dir\fR=\fPstr Test directory. .TP .BI threads\fR=\fPint Number of threads. .SH OUTPUT Fio spits out a lot of output. While running, fio will display the status of the jobs created. An example of that would be: .P .nf Jobs: 1 (f=1): [_(1),M(1)][24.8%][r=20.5MiB/s,w=23.5MiB/s][r=82,w=94 IOPS][eta 01m:31s] .fi .P The characters inside the first set of square brackets denote the current status of each thread. The first character is the first job defined in the job file, and so forth. The possible values (in typical life cycle order) are: .RS .TP .PD 0 .B P Thread setup, but not started. .TP .B C Thread created. .TP .B I Thread initialized, waiting or generating necessary data. .TP .B p Thread running pre-reading file(s). .TP .B / Thread is in ramp period. .TP .B R Running, doing sequential reads. .TP .B r Running, doing random reads. .TP .B W Running, doing sequential writes. .TP .B w Running, doing random writes. .TP .B M Running, doing mixed sequential reads/writes. .TP .B m Running, doing mixed random reads/writes. .TP .B D Running, doing sequential trims. .TP .B d Running, doing random trims. .TP .B F Running, currently waiting for \fBfsync\fR\|(2). .TP .B V Running, doing verification of written data. .TP .B f Thread finishing. .TP .B E Thread exited, not reaped by main thread yet. .TP .B \- Thread reaped. .TP .B X Thread reaped, exited with an error. .TP .B K Thread reaped, exited due to signal. .PD .RE .P Fio will condense the thread string as not to take up more space on the command line than needed. For instance, if you have 10 readers and 10 writers running, the output would look like this: .P .nf Jobs: 20 (f=20): [R(10),W(10)][4.0%][r=20.5MiB/s,w=23.5MiB/s][r=82,w=94 IOPS][eta 57m:36s] .fi .P Note that the status string is displayed in order, so it's possible to tell which of the jobs are currently doing what. In the example above this means that jobs 1\-\-10 are readers and 11\-\-20 are writers. .P The other values are fairly self explanatory \-\- number of threads currently running and doing I/O, the number of currently open files (f=), the estimated completion percentage, the rate of I/O since last check (read speed listed first, then write speed and optionally trim speed) in terms of bandwidth and IOPS, and time to completion for the current running group. It's impossible to estimate runtime of the following groups (if any). .P When fio is done (or interrupted by Ctrl\-C), it will show the data for each thread, group of threads, and disks in that order. For each overall thread (or group) the output looks like: .P .nf Client1: (groupid=0, jobs=1): err= 0: pid=16109: Sat Jun 24 12:07:54 2017 write: IOPS=88, BW=623KiB/s (638kB/s)(30.4MiB/50032msec) slat (nsec): min=500, max=145500, avg=8318.00, stdev=4781.50 clat (usec): min=170, max=78367, avg=4019.02, stdev=8293.31 lat (usec): min=174, max=78375, avg=4027.34, stdev=8291.79 clat percentiles (usec): | 1.00th=[ 302], 5.00th=[ 326], 10.00th=[ 343], 20.00th=[ 363], | 30.00th=[ 392], 40.00th=[ 404], 50.00th=[ 416], 60.00th=[ 445], | 70.00th=[ 816], 80.00th=[ 6718], 90.00th=[12911], 95.00th=[21627], | 99.00th=[43779], 99.50th=[51643], 99.90th=[68682], 99.95th=[72877], | 99.99th=[78119] bw ( KiB/s): min= 532, max= 686, per=0.10%, avg=622.87, stdev=24.82, samples= 100 iops : min= 76, max= 98, avg=88.98, stdev= 3.54, samples= 100 lat (usec) : 250=0.04%, 500=64.11%, 750=4.81%, 1000=2.79% lat (msec) : 2=4.16%, 4=1.84%, 10=4.90%, 20=11.33%, 50=5.37% lat (msec) : 100=0.65% cpu : usr=0.27%, sys=0.18%, ctx=12072, majf=0, minf=21 IO depths : 1=85.0%, 2=13.1%, 4=1.8%, 8=0.1%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued rwt: total=0,4450,0, short=0,0,0, dropped=0,0,0 latency : target=0, window=0, percentile=100.00%, depth=8 .fi .P The job name (or first job's name when using \fBgroup_reporting\fR) is printed, along with the group id, count of jobs being aggregated, last error id seen (which is 0 when there are no errors), pid/tid of that thread and the time the job/group completed. Below are the I/O statistics for each data direction performed (showing writes in the example above). In the order listed, they denote: .RS .TP .B read/write/trim The string before the colon shows the I/O direction the statistics are for. \fIIOPS\fR is the average I/Os performed per second. \fIBW\fR is the average bandwidth rate shown as: value in power of 2 format (value in power of 10 format). The last two values show: (total I/O performed in power of 2 format / \fIruntime\fR of that thread). .TP .B slat Submission latency (\fImin\fR being the minimum, \fImax\fR being the maximum, \fIavg\fR being the average, \fIstdev\fR being the standard deviation). This is the time it took to submit the I/O. For sync I/O this row is not displayed as the slat is really the completion latency (since queue/complete is one operation there). This value can be in nanoseconds, microseconds or milliseconds \-\-\- fio will choose the most appropriate base and print that (in the example above nanoseconds was the best scale). Note: in \fB\-\-minimal\fR mode latencies are always expressed in microseconds. .TP .B clat Completion latency. Same names as slat, this denotes the time from submission to completion of the I/O pieces. For sync I/O, clat will usually be equal (or very close) to 0, as the time from submit to complete is basically just CPU time (I/O has already been done, see slat explanation). For file and directory operation engines, \fBclat\fP denotes the time to complete one file or directory operation. .RS .TP \fBfilecreate engine\fP:\tthe time cost to create a new file .TP \fBfilestat engine\fP:\tthe time cost to look up an existing file .TP \fBfiledelete engine\fP:\tthe time cost to delete a file .TP \fBdircreate engine\fP:\tthe time cost to create a new directory .TP \fBdirstat engine\fP:\tthe time cost to look up an existing directory .TP \fBdirdelete engine\fP:\tthe time cost to delete a directory .TP .RE .TP .B lat Total latency. Same names as slat and clat, this denotes the time from when fio created the I/O unit to completion of the I/O operation. .TP .B bw Bandwidth statistics based on measurements from discrete intervals. Fio continuosly monitors bytes transferred and I/O operations completed. By default fio calculates bandwidth in each half-second interval (see \fBbwavgtime\fR) and reports descriptive statistics for the measurements here. Same names as the xlat stats, but also includes the number of samples taken (\fIsamples\fR) and an approximate percentage of total aggregate bandwidth this thread received in its group (\fIper\fR). This last value is only really useful if the threads in this group are on the same disk, since they are then competing for disk access. For file and directory operation engines, \fBbw\fR is meaningless. .TP .B iops IOPS statistics based on measurements from discrete intervals. For details see the description for \fBbw\fR above. See \fBiopsavgtime\fR to control the duration of the intervals. Same values reported here as for \fBbw\fR except for percentage. For file and directory operation engines, \fBiops\fP is the most fundamental index to denote the performance. It means how many files or directories can be operated per second. .RS .TP \fBfilecreate engine\fP:\tnumber of files can be created per second .TP \fBfilestat engine\fP:\tnumber of files can be looked up per second .TP \fBfiledelete engine\fP:\tnumber of files can be deleted per second .TP \fBdircreate engine\fP:\tnumber of directories can be created per second .TP \fBdirstat engine\fP:\tnumber of directories can be looked up per second .TP \fBdirdelete engine\fP:\tnumber of directories can be deleted per second .TP .RE .TP .B lat (nsec/usec/msec) The distribution of I/O completion latencies. This is the time from when I/O leaves fio and when it gets completed. Unlike the separate read/write/trim sections above, the data here and in the remaining sections apply to all I/Os for the reporting group. 250=0.04% means that 0.04% of the I/Os completed in under 250us. 500=64.11% means that 64.11% of the I/Os required 250 to 499us for completion. .TP .B cpu CPU usage. User and system time, along with the number of context switches this thread went through, usage of system and user time, and finally the number of major and minor page faults. The CPU utilization numbers are averages for the jobs in that reporting group, while the context and fault counters are summed. .TP .B IO depths The distribution of I/O depths over the job lifetime. The numbers are divided into powers of 2 and each entry covers depths from that value up to those that are lower than the next entry \-\- e.g., 16= covers depths from 16 to 31. Note that the range covered by a depth distribution entry can be different to the range covered by the equivalent \fBsubmit\fR/\fBcomplete\fR distribution entry. .TP .B IO submit How many pieces of I/O were submitting in a single submit call. Each entry denotes that amount and below, until the previous entry \-\- e.g., 16=100% means that we submitted anywhere between 9 to 16 I/Os per submit call. Note that the range covered by a \fBsubmit\fR distribution entry can be different to the range covered by the equivalent depth distribution entry. .TP .B IO complete Like the above \fBsubmit\fR number, but for completions instead. .TP .B IO issued rwt The number of \fBread/write/trim\fR requests issued, and how many of them were short or dropped. .TP .B IO latency These values are for \fBlatency_target\fR and related options. When these options are engaged, this section describes the I/O depth required to meet the specified latency target. .RE .P After each client has been listed, the group statistics are printed. They will look like this: .P .nf Run status group 0 (all jobs): READ: bw=20.9MiB/s (21.9MB/s), 10.4MiB/s\-10.8MiB/s (10.9MB/s\-11.3MB/s), io=64.0MiB (67.1MB), run=2973\-3069msec WRITE: bw=1231KiB/s (1261kB/s), 616KiB/s\-621KiB/s (630kB/s\-636kB/s), io=64.0MiB (67.1MB), run=52747\-53223msec .fi .P For each data direction it prints: .RS .TP .B bw Aggregate bandwidth of threads in this group followed by the minimum and maximum bandwidth of all the threads in this group. Values outside of brackets are power-of-2 format and those within are the equivalent value in a power-of-10 format. .TP .B io Aggregate I/O performed of all threads in this group. The format is the same as \fBbw\fR. .TP .B run The smallest and longest runtimes of the threads in this group. .RE .P And finally, the disk statistics are printed. This is Linux specific. They will look like this: .P .nf Disk stats (read/write): sda: ios=16398/16511, sectors=32321/65472, merge=30/162, ticks=6853/819634, in_queue=826487, util=100.00% .fi .P Each value is printed for both reads and writes, with reads first. The numbers denote: .RS .TP .B ios Number of I/Os performed by all groups. .TP .B merge Number of merges performed by the I/O scheduler. .TP .B ticks Number of ticks we kept the disk busy. .TP .B in_queue Total time spent in the disk queue. .TP .B util The disk utilization. A value of 100% means we kept the disk busy constantly, 50% would be a disk idling half of the time. .RE .P It is also possible to get fio to dump the current output while it is running, without terminating the job. To do that, send fio the USR1 signal. You can also get regularly timed dumps by using the \fB\-\-status\-interval\fR parameter, or by creating a file in `/tmp' named `fio\-dump\-status'. If fio sees this file, it will unlink it and dump the current output status. .SH TERSE OUTPUT For scripted usage where you typically want to generate tables or graphs of the results, fio can output the results in a semicolon separated format. The format is one long line of values, such as: .P .nf 2;card0;0;0;7139336;121836;60004;1;10109;27.932460;116.933948;220;126861;3495.446807;1085.368601;226;126864;3523.635629;1089.012448;24063;99944;50.275485%;59818.274627;5540.657370;7155060;122104;60004;1;8338;29.086342;117.839068;388;128077;5032.488518;1234.785715;391;128085;5061.839412;1236.909129;23436;100928;50.287926%;59964.832030;5644.844189;14.595833%;19.394167%;123706;0;7313;0.1%;0.1%;0.1%;0.1%;0.1%;0.1%;100.0%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.01%;0.02%;0.05%;0.16%;6.04%;40.40%;52.68%;0.64%;0.01%;0.00%;0.01%;0.00%;0.00%;0.00%;0.00%;0.00% A description of this job goes here. .fi .P The job description (if provided) follows on a second line for terse v2. It appears on the same line for other terse versions. .P To enable terse output, use the \fB\-\-minimal\fR or `\-\-output\-format=terse' command line options. The first value is the version of the terse output format. If the output has to be changed for some reason, this number will be incremented by 1 to signify that change. .P Split up, the format is as follows (comments in brackets denote when a field was introduced or whether it's specific to some terse version): .P .nf terse version, fio version [v3], jobname, groupid, error .fi .RS .P .B READ status: .RE .P .nf Total IO (KiB), bandwidth (KiB/sec), IOPS, runtime (msec) Submission latency: min, max, mean, stdev (usec) Completion latency: min, max, mean, stdev (usec) Completion latency percentiles: 20 fields (see below) Total latency: min, max, mean, stdev (usec) Bw (KiB/s): min, max, aggregate percentage of total, mean, stdev, number of samples [v5] IOPS [v5]: min, max, mean, stdev, number of samples .fi .RS .P .B WRITE status: .RE .P .nf Total IO (KiB), bandwidth (KiB/sec), IOPS, runtime (msec) Submission latency: min, max, mean, stdev (usec) Completion latency: min, max, mean, stdev (usec) Completion latency percentiles: 20 fields (see below) Total latency: min, max, mean, stdev (usec) Bw (KiB/s): min, max, aggregate percentage of total, mean, stdev, number of samples [v5] IOPS [v5]: min, max, mean, stdev, number of samples .fi .RS .P .B TRIM status [all but version 3]: .RE .P .nf Fields are similar to \fBREAD/WRITE\fR status. .fi .RS .P .B CPU usage: .RE .P .nf user, system, context switches, major faults, minor faults .fi .RS .P .B I/O depths: .RE .P .nf <=1, 2, 4, 8, 16, 32, >=64 .fi .RS .P .B I/O latencies microseconds: .RE .P .nf <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000 .fi .RS .P .B I/O latencies milliseconds: .RE .P .nf <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, >=2000 .fi .RS .P .B Disk utilization [v3]: .RE .P .nf disk name, read ios, write ios, read merges, write merges, read ticks, write ticks, time spent in queue, disk utilization percentage .fi .RS .P .B Additional Info (dependent on continue_on_error, default off): .RE .P .nf total # errors, first error code .fi .RS .P .B Additional Info (dependent on description being set): .RE .P .nf Text description .fi .P Completion latency percentiles can be a grouping of up to 20 sets, so for the terse output fio writes all of them. Each field will look like this: .P .nf 1.00%=6112 .fi .P which is the Xth percentile, and the `usec' latency associated with it. .P For \fBDisk utilization\fR, all disks used by fio are shown. So for each disk there will be a disk utilization section. .P Below is a single line containing short names for each of the fields in the minimal output v3, separated by semicolons: .P .nf terse_version_3;fio_version;jobname;groupid;error;read_kb;read_bandwidth_kb;read_iops;read_runtime_ms;read_slat_min_us;read_slat_max_us;read_slat_mean_us;read_slat_dev_us;read_clat_min_us;read_clat_max_us;read_clat_mean_us;read_clat_dev_us;read_clat_pct01;read_clat_pct02;read_clat_pct03;read_clat_pct04;read_clat_pct05;read_clat_pct06;read_clat_pct07;read_clat_pct08;read_clat_pct09;read_clat_pct10;read_clat_pct11;read_clat_pct12;read_clat_pct13;read_clat_pct14;read_clat_pct15;read_clat_pct16;read_clat_pct17;read_clat_pct18;read_clat_pct19;read_clat_pct20;read_tlat_min_us;read_lat_max_us;read_lat_mean_us;read_lat_dev_us;read_bw_min_kb;read_bw_max_kb;read_bw_agg_pct;read_bw_mean_kb;read_bw_dev_kb;write_kb;write_bandwidth_kb;write_iops;write_runtime_ms;write_slat_min_us;write_slat_max_us;write_slat_mean_us;write_slat_dev_us;write_clat_min_us;write_clat_max_us;write_clat_mean_us;write_clat_dev_us;write_clat_pct01;write_clat_pct02;write_clat_pct03;write_clat_pct04;write_clat_pct05;write_clat_pct06;write_clat_pct07;write_clat_pct08;write_clat_pct09;write_clat_pct10;write_clat_pct11;write_clat_pct12;write_clat_pct13;write_clat_pct14;write_clat_pct15;write_clat_pct16;write_clat_pct17;write_clat_pct18;write_clat_pct19;write_clat_pct20;write_tlat_min_us;write_lat_max_us;write_lat_mean_us;write_lat_dev_us;write_bw_min_kb;write_bw_max_kb;write_bw_agg_pct;write_bw_mean_kb;write_bw_dev_kb;cpu_user;cpu_sys;cpu_csw;cpu_mjf;cpu_minf;iodepth_1;iodepth_2;iodepth_4;iodepth_8;iodepth_16;iodepth_32;iodepth_64;lat_2us;lat_4us;lat_10us;lat_20us;lat_50us;lat_100us;lat_250us;lat_500us;lat_750us;lat_1000us;lat_2ms;lat_4ms;lat_10ms;lat_20ms;lat_50ms;lat_100ms;lat_250ms;lat_500ms;lat_750ms;lat_1000ms;lat_2000ms;lat_over_2000ms;disk_name;disk_read_iops;disk_write_iops;disk_read_merges;disk_write_merges;disk_read_ticks;write_ticks;disk_queue_time;disk_util .fi .P In client/server mode terse output differs from what appears when jobs are run locally. Disk utilization data is omitted from the standard terse output and for v3 and later appears on its own separate line at the end of each terse reporting cycle. .SH JSON OUTPUT The \fBjson\fR output format is intended to be both human readable and convenient for automated parsing. For the most part its sections mirror those of the \fBnormal\fR output. The \fBruntime\fR value is reported in msec and the \fBbw\fR value is reported in 1024 bytes per second units. .fi .SH JSON+ OUTPUT The \fBjson+\fR output format is identical to the \fBjson\fR output format except that it adds a full dump of the completion latency bins. Each \fBbins\fR object contains a set of (key, value) pairs where keys are latency durations and values count how many I/Os had completion latencies of the corresponding duration. For example, consider: .RS .P "bins" : { "87552" : 1, "89600" : 1, "94720" : 1, "96768" : 1, "97792" : 1, "99840" : 1, "100864" : 2, "103936" : 6, "104960" : 534, "105984" : 5995, "107008" : 7529, ... } .RE .P This data indicates that one I/O required 87,552ns to complete, two I/Os required 100,864ns to complete, and 7529 I/Os required 107,008ns to complete. .P Also included with fio is a Python script \fBfio_jsonplus_clat2csv\fR that takes json+ output and generates CSV-formatted latency data suitable for plotting. .P The latency durations actually represent the midpoints of latency intervals. For details refer to `stat.h' in the fio source. .SH TRACE FILE FORMAT There are two trace file format that you can encounter. The older (v1) format is unsupported since version 1.20\-rc3 (March 2008). It will still be described below in case that you get an old trace and want to understand it. .P In any case the trace is a simple text file with a single action per line. .TP .B Trace file format v1 Each line represents a single I/O action in the following format: .RS .RS .P rw, offset, length .RE .P where `rw=0/1' for read/write, and the `offset' and `length' entries being in bytes. .P This format is not supported in fio versions >= 1.20\-rc3. .RE .TP .B Trace file format v2 The second version of the trace file format was added in fio version 1.17. It allows one to access more than one file per trace and has a bigger set of possible file actions. .RS .P The first line of the trace file has to be: .RS .P "fio version 2 iolog" .RE .P Following this can be lines in two different formats, which are described below. .P .B The file management format: .RS filename action .P The `filename' is given as an absolute path. The `action' can be one of these: .RS .TP .B add Add the given `filename' to the trace. .TP .B open Open the file with the given `filename'. The `filename' has to have been added with the \fBadd\fR action before. .TP .B close Close the file with the given `filename'. The file has to have been \fBopen\fRed before. .RE .RE .P .B The file I/O action format: .RS filename action offset length .P The `filename' is given as an absolute path, and has to have been \fBadd\fRed and \fBopen\fRed before it can be used with this format. The `offset' and `length' are given in bytes. The `action' can be one of these: .RS .TP .B wait Wait for `offset' microseconds. Everything below 100 is discarded. The time is relative to the previous `wait' statement. Note that action `wait` is not allowed as of version 3, as the same behavior can be achieved using timestamps. .TP .B read Read `length' bytes beginning from `offset'. .TP .B write Write `length' bytes beginning from `offset'. .TP .B sync \fBfsync\fR\|(2) the file. .TP .B datasync \fBfdatasync\fR\|(2) the file. .TP .B trim Trim the given file from the given `offset' for `length' bytes. .RE .RE .RE .TP .B Trace file format v3 The third version of the trace file format was added in fio version 3.31. It forces each action to have a timestamp associated with it. .RS .P The first line of the trace file has to be: .RS .P "fio version 3 iolog" .RE .P Following this can be lines in two different formats, which are described below. .P .B The file management format: .RS timestamp filename action .P .RE .B The file I/O action format: .RS timestamp filename action offset length .P The `timestamp` is relative to the beginning of the run (ie starts at 0). The `filename`, `action`, `offset` and `length` are identical to version 2, except that version 3 does not allow the `wait` action. .RE .RE .SH I/O REPLAY \- MERGING TRACES Colocation is a common practice used to get the most out of a machine. Knowing which workloads play nicely with each other and which ones don't is a much harder task. While fio can replay workloads concurrently via multiple jobs, it leaves some variability up to the scheduler making results harder to reproduce. Merging is a way to make the order of events consistent. .P Merging is integrated into I/O replay and done when a \fBmerge_blktrace_file\fR is specified. The list of files passed to \fBread_iolog\fR go through the merge process and output a single file stored to the specified file. The output file is passed on as if it were the only file passed to \fBread_iolog\fR. An example would look like: .RS .P $ fio \-\-read_iolog=":" \-\-merge_blktrace_file="" .RE .P Creating only the merged file can be done by passing the command line argument \fBmerge-blktrace-only\fR. .P Scaling traces can be done to see the relative impact of any particular trace being slowed down or sped up. \fBmerge_blktrace_scalars\fR takes in a colon separated list of percentage scalars. It is index paired with the files passed to \fBread_iolog\fR. .P With scaling, it may be desirable to match the running time of all traces. This can be done with \fBmerge_blktrace_iters\fR. It is index paired with \fBread_iolog\fR just like \fBmerge_blktrace_scalars\fR. .P In an example, given two traces, A and B, each 60s long. If we want to see the impact of trace A issuing IOs twice as fast and repeat trace A over the runtime of trace B, the following can be done: .RS .P $ fio \-\-read_iolog=":"" \-\-merge_blktrace_file"" \-\-merge_blktrace_scalars="50:100" \-\-merge_blktrace_iters="2:1" .RE .P This runs trace A at 2x the speed twice for approximately the same runtime as a single run of trace B. .SH CPU IDLENESS PROFILING In some cases, we want to understand CPU overhead in a test. For example, we test patches for the specific goodness of whether they reduce CPU usage. Fio implements a balloon approach to create a thread per CPU that runs at idle priority, meaning that it only runs when nobody else needs the cpu. By measuring the amount of work completed by the thread, idleness of each CPU can be derived accordingly. .P An unit work is defined as touching a full page of unsigned characters. Mean and standard deviation of time to complete an unit work is reported in "unit work" section. Options can be chosen to report detailed percpu idleness or overall system idleness by aggregating percpu stats. .SH VERIFICATION AND TRIGGERS Fio is usually run in one of two ways, when data verification is done. The first is a normal write job of some sort with verify enabled. When the write phase has completed, fio switches to reads and verifies everything it wrote. The second model is running just the write phase, and then later on running the same job (but with reads instead of writes) to repeat the same I/O patterns and verify the contents. Both of these methods depend on the write phase being completed, as fio otherwise has no idea how much data was written. .P With verification triggers, fio supports dumping the current write state to local files. Then a subsequent read verify workload can load this state and know exactly where to stop. This is useful for testing cases where power is cut to a server in a managed fashion, for instance. .P A verification trigger consists of two things: .RS .P 1) Storing the write state of each job. .P 2) Executing a trigger command. .RE .P The write state is relatively small, on the order of hundreds of bytes to single kilobytes. It contains information on the number of completions done, the last X completions, etc. .P A trigger is invoked either through creation ('touch') of a specified file in the system, or through a timeout setting. If fio is run with `\-\-trigger\-file=/tmp/trigger\-file', then it will continually check for the existence of `/tmp/trigger\-file'. When it sees this file, it will fire off the trigger (thus saving state, and executing the trigger command). .P For client/server runs, there's both a local and remote trigger. If fio is running as a server backend, it will send the job states back to the client for safe storage, then execute the remote trigger, if specified. If a local trigger is specified, the server will still send back the write state, but the client will then execute the trigger. .RE .P .B Verification trigger example .RS Let's say we want to run a powercut test on the remote Linux machine 'server'. Our write workload is in `write\-test.fio'. We want to cut power to 'server' at some point during the run, and we'll run this test from the safety or our local machine, 'localbox'. On the server, we'll start the fio backend normally: .RS .P server# fio \-\-server .RE .P and on the client, we'll fire off the workload: .RS .P localbox$ fio \-\-client=server \-\-trigger\-file=/tmp/my\-trigger \-\-trigger\-remote="bash \-c "echo b > /proc/sysrq\-triger"" .RE .P We set `/tmp/my\-trigger' as the trigger file, and we tell fio to execute: .RS .P echo b > /proc/sysrq\-trigger .RE .P on the server once it has received the trigger and sent us the write state. This will work, but it's not really cutting power to the server, it's merely abruptly rebooting it. If we have a remote way of cutting power to the server through IPMI or similar, we could do that through a local trigger command instead. Let's assume we have a script that does IPMI reboot of a given hostname, ipmi\-reboot. On localbox, we could then have run fio with a local trigger instead: .RS .P localbox$ fio \-\-client=server \-\-trigger\-file=/tmp/my\-trigger \-\-trigger="ipmi\-reboot server" .RE .P For this case, fio would wait for the server to send us the write state, then execute `ipmi\-reboot server' when that happened. .RE .P .B Loading verify state .RS To load stored write state, a read verification job file must contain the \fBverify_state_load\fR option. If that is set, fio will load the previously stored state. For a local fio run this is done by loading the files directly, and on a client/server run, the server backend will ask the client to send the files over and load them from there. .RE .SH LOG FILE FORMATS Fio supports a variety of log file formats, for logging latencies, bandwidth, and IOPS. The logs share a common format, which looks like this: .RS .P time (msec), value, data direction, block size (bytes), offset (bytes), command priority, issue time (nsec) .RE .P `Time' for the log entry is always in milliseconds. The `value' logged depends on the type of log, it will be one of the following: .RS .TP .B Latency log Value is latency in nsecs .TP .B Bandwidth log Value is in KiB/sec .TP .B IOPS log Value is IOPS .RE .P `Data direction' is one of the following: .RS .TP .B 0 I/O is a READ .TP .B 1 I/O is a WRITE .TP .B 2 I/O is a TRIM .RE .P The entry's `block size' is always in bytes. The `offset' is the position in bytes from the start of the file for that particular I/O. The logging of the offset can be toggled with \fBlog_offset\fR. .P If \fBlog_prio\fR is not set, the entry's `Command priority` is 1 for an IO executed with the highest RT priority class (\fBprioclass\fR=1 or \fBcmdprio_class\fR=1) and 0 otherwise. This is controlled by the \fBprioclass\fR option and the ioengine specific \fBcmdprio_percentage\fR \fBcmdprio_class\fR options. If \fBlog_prio\fR is set, the entry's `Command priority` is the priority set for the IO, as a 16-bits hexadecimal number with the lowest 13 bits indicating the priority value (\fBprio\fR and \fBcmdprio\fR options) and the highest 3 bits indicating the IO priority class (\fBprioclass\fR and \fBcmdprio_class\fR options). .P The entry's `issue time` is the command issue time in nanoseconds. The logging of the issue time can be toggled with \fBlog_issue_time\fR. This field has valid values in completion latency log file (clat), or submit latency log file (slat). The field has value 0 in other log files. .P Fio defaults to logging every individual I/O but when windowed logging is set through \fBlog_avg_msec\fR, either the average (by default), the maximum (\fBlog_window_value\fR is set to max) `value' seen over the specified period of time, or both the average `value' and maximum `value1' (\fBlog_window_value\fR is set to both) is recorded. The log file format when both the values are reported takes this form: .RS .P time (msec), value, value1, data direction, block size (bytes), offset (bytes), command priority, issue time (nsec) .RE .P Each `data direction' seen within the window period will aggregate its values in a separate row. Further, when using windowed logging the `block size', `offset' and `issue time` entries will always contain 0. .SH CLIENT / SERVER Normally fio is invoked as a stand-alone application on the machine where the I/O workload should be generated. However, the backend and frontend of fio can be run separately i.e., the fio server can generate an I/O workload on the "Device Under Test" while being controlled by a client on another machine. .P Start the server on the machine which has access to the storage DUT: .RS .P $ fio \-\-server=args .RE .P where `args' defines what fio listens to. The arguments are of the form `type,hostname' or `IP,port'. `type' is either `ip' (or ip4) for TCP/IP v4, `ip6' for TCP/IP v6, or `sock' for a local unix domain socket. `hostname' is either a hostname or IP address, and `port' is the port to listen to (only valid for TCP/IP, not a local socket). Some examples: .RS .TP 1) \fBfio \-\-server\fR Start a fio server, listening on all interfaces on the default port (8765). .TP 2) \fBfio \-\-server=ip:hostname,4444\fR Start a fio server, listening on IP belonging to hostname and on port 4444. .TP 3) \fBfio \-\-server=ip6:::1,4444\fR Start a fio server, listening on IPv6 localhost ::1 and on port 4444. .TP 4) \fBfio \-\-server=,4444\fR Start a fio server, listening on all interfaces on port 4444. .TP 5) \fBfio \-\-server=1.2.3.4\fR Start a fio server, listening on IP 1.2.3.4 on the default port. .TP 6) \fBfio \-\-server=sock:/tmp/fio.sock\fR Start a fio server, listening on the local socket `/tmp/fio.sock'. .RE .P Once a server is running, a "client" can connect to the fio server with: .RS .P $ fio \-\-client= .RE .P where `local\-args' are arguments for the client where it is running, `server' is the connect string, and `remote\-args' and `job file(s)' are sent to the server. The `server' string follows the same format as it does on the server side, to allow IP/hostname/socket and port strings. .P Note that all job options must be defined in job files when running fio as a client. Any job options specified in `remote\-args' will be ignored. .P Fio can connect to multiple servers this way: .RS .P $ fio \-\-client= \-\-client= .RE .P If the job file is located on the fio server, then you can tell the server to load a local file as well. This is done by using \fB\-\-remote\-config\fR: .RS .P $ fio \-\-client=server \-\-remote\-config /path/to/file.fio .RE .P Then fio will open this local (to the server) job file instead of being passed one from the client. .P If you have many servers (example: 100 VMs/containers), you can input a pathname of a file containing host IPs/names as the parameter value for the \fB\-\-client\fR option. For example, here is an example `host.list' file containing 2 hostnames: .RS .P .PD 0 host1.your.dns.domain .P host2.your.dns.domain .PD .RE .P The fio command would then be: .RS .P $ fio \-\-client=host.list .RE .P In this mode, you cannot input server-specific parameters or job files \-\- all servers receive the same job file. .P In order to let `fio \-\-client' runs use a shared filesystem from multiple hosts, `fio \-\-client' now prepends the IP address of the server to the filename. For example, if fio is using the directory `/mnt/nfs/fio' and is writing filename `fileio.tmp', with a \fB\-\-client\fR `hostfile' containing two hostnames `h1' and `h2' with IP addresses 192.168.10.120 and 192.168.10.121, then fio will create two files: .RS .P .PD 0 /mnt/nfs/fio/192.168.10.120.fileio.tmp .P /mnt/nfs/fio/192.168.10.121.fileio.tmp .PD .RE .P This behavior can be disabled by the \fBunique_filename\fR option. .P Terse output in client/server mode will differ slightly from what is produced when fio is run in stand-alone mode. See the terse output section for details. .P Also, if one fio invocation runs workloads on multiple servers, fio will provide at the end an aggregate summary report for all workloads. This aggregate summary report assumes that options affecting reporting like \fBunified_rw_reporting\fR and \fBpercentile_list\fR are identical across all the jobs summarized. Having different values for these options is an unsupported configuration. .SH AUTHORS .B fio was written by Jens Axboe . .br This man page was written by Aaron Carroll based on documentation by Jens Axboe. .br This man page was rewritten by Tomohiro Kusumi based on documentation by Jens Axboe. .SH "REPORTING BUGS" Report bugs to the \fBfio\fR mailing list . .br See \fBREPORTING\-BUGS\fR. .P \fBREPORTING\-BUGS\fR: \fIhttp://git.kernel.dk/cgit/fio/plain/REPORTING\-BUGS\fR .SH "SEE ALSO" For further documentation see \fBHOWTO\fR and \fBREADME\fR. .br Sample jobfiles are available in the `examples/' directory. .br These are typically located under `/usr/share/doc/fio'. .P \fBHOWTO\fR: \fIhttp://git.kernel.dk/cgit/fio/plain/HOWTO\fR .br \fBREADME\fR: \fIhttp://git.kernel.dk/cgit/fio/plain/README\fR fio-3.39/fio.c000066400000000000000000000031721476262051600131620ustar00rootroot00000000000000/* * fio - the flexible io tester * * Copyright (C) 2005 Jens Axboe * Copyright (C) 2006-2012 Jens Axboe * * The license below covers all files distributed with fio unless otherwise * noted in the file itself. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include "fio.h" int main(int argc, char *argv[], char *envp[]) { int ret = 1; if (initialize_fio(envp)) return 1; #if !defined(CONFIG_GETTIMEOFDAY) && !defined(CONFIG_CLOCK_GETTIME) #error "No available clock source!" #endif if (fio_server_create_sk_key()) goto done; if (parse_options(argc, argv)) goto done_key; /* * line buffer stdout to avoid output lines from multiple * threads getting mixed */ setvbuf(stdout, NULL, _IOLBF, 0); fio_time_init(); if (nr_clients) { set_genesis_time(); if (fio_start_all_clients()) goto done_key; ret = fio_handle_clients(&fio_client_ops); } else ret = fio_backend(NULL); done_key: fio_server_destroy_sk_key(); done: deinitialize_fio(); return ret; } fio-3.39/fio.h000066400000000000000000000541201476262051600131660ustar00rootroot00000000000000#ifndef FIO_H #define FIO_H #include #include #include #include #include #include #include #include #include #include #include #include #include "compiler/compiler.h" #include "thread_options.h" #include "flist.h" #include "fifo.h" #include "arch/arch.h" #include "os/os.h" #include "log.h" #include "debug.h" #include "file.h" #include "io_ddir.h" #include "ioengines.h" #include "iolog.h" #include "helpers.h" #include "minmax.h" #include "options.h" #include "profile.h" #include "fio_time.h" #include "gettime.h" #include "oslib/getopt.h" #include "lib/rand.h" #include "lib/rbtree.h" #include "lib/num2str.h" #include "lib/memalign.h" #include "smalloc.h" #include "client.h" #include "server.h" #include "stat.h" #include "flow.h" #include "io_u.h" #include "io_u_queue.h" #include "workqueue.h" #include "steadystate.h" #include "lib/nowarn_snprintf.h" #include "dedupe.h" #ifdef CONFIG_SOLARISAIO #include #endif #ifdef CONFIG_LIBNUMA #include #include /* * "local" is pseudo-policy */ #ifndef MPOL_LOCAL #define MPOL_LOCAL 4 #endif #endif #ifdef CONFIG_CUDA #include #endif struct fio_sem; #define MAX_TRIM_RANGE 256 /* * Range for trim command */ struct trim_range { unsigned long long start; unsigned long long len; }; /* * offset generator types */ enum { RW_SEQ_SEQ = 0, RW_SEQ_IDENT, }; enum { __TD_F_VER_BACKLOG = 0, __TD_F_TRIM_BACKLOG, __TD_F_READ_IOLOG, __TD_F_REFILL_BUFFERS, __TD_F_SCRAMBLE_BUFFERS, __TD_F_DO_VERIFY, __TD_F_PROFILE_OPS, __TD_F_COMPRESS, __TD_F_COMPRESS_LOG, __TD_F_VSTATE_SAVED, __TD_F_NEED_LOCK, __TD_F_CHILD, __TD_F_NO_PROGRESS, __TD_F_REGROW_LOGS, __TD_F_MMAP_KEEP, __TD_F_DIRS_CREATED, __TD_F_CHECK_RATE, __TD_F_SYNCS, __TD_F_LAST, /* not a real bit, keep last */ }; enum { TD_F_VER_BACKLOG = 1U << __TD_F_VER_BACKLOG, TD_F_TRIM_BACKLOG = 1U << __TD_F_TRIM_BACKLOG, TD_F_READ_IOLOG = 1U << __TD_F_READ_IOLOG, TD_F_REFILL_BUFFERS = 1U << __TD_F_REFILL_BUFFERS, TD_F_SCRAMBLE_BUFFERS = 1U << __TD_F_SCRAMBLE_BUFFERS, TD_F_DO_VERIFY = 1U << __TD_F_DO_VERIFY, TD_F_PROFILE_OPS = 1U << __TD_F_PROFILE_OPS, TD_F_COMPRESS = 1U << __TD_F_COMPRESS, TD_F_COMPRESS_LOG = 1U << __TD_F_COMPRESS_LOG, TD_F_VSTATE_SAVED = 1U << __TD_F_VSTATE_SAVED, TD_F_NEED_LOCK = 1U << __TD_F_NEED_LOCK, TD_F_CHILD = 1U << __TD_F_CHILD, TD_F_NO_PROGRESS = 1U << __TD_F_NO_PROGRESS, TD_F_REGROW_LOGS = 1U << __TD_F_REGROW_LOGS, TD_F_MMAP_KEEP = 1U << __TD_F_MMAP_KEEP, TD_F_DIRS_CREATED = 1U << __TD_F_DIRS_CREATED, TD_F_CHECK_RATE = 1U << __TD_F_CHECK_RATE, TD_F_SYNCS = 1U << __TD_F_SYNCS, }; enum { FIO_RAND_BS_OFF = 0, FIO_RAND_BS1_OFF, FIO_RAND_BS2_OFF, FIO_RAND_VER_OFF, FIO_RAND_MIX_OFF, FIO_RAND_FILE_OFF, FIO_RAND_BLOCK_OFF, FIO_RAND_FILE_SIZE_OFF, FIO_RAND_TRIM_OFF, FIO_RAND_BUF_OFF, FIO_RAND_SEQ_RAND_READ_OFF, FIO_RAND_SEQ_RAND_WRITE_OFF, FIO_RAND_SEQ_RAND_TRIM_OFF, FIO_RAND_START_DELAY, FIO_DEDUPE_OFF, FIO_RAND_POISSON_OFF, FIO_RAND_ZONE_OFF, FIO_RAND_POISSON2_OFF, FIO_RAND_POISSON3_OFF, FIO_RAND_PRIO_CMDS, FIO_RAND_DEDUPE_WORKING_SET_IX, FIO_RAND_FDP_OFF, FIO_RAND_NR_OFFS, }; enum { IO_MODE_INLINE = 0, IO_MODE_OFFLOAD = 1, RATE_PROCESS_LINEAR = 0, RATE_PROCESS_POISSON = 1, THINKTIME_BLOCKS_TYPE_COMPLETE = 0, THINKTIME_BLOCKS_TYPE_ISSUE = 1, }; enum { F_ADV_NONE = 0, F_ADV_TYPE, F_ADV_RANDOM, F_ADV_SEQUENTIAL, F_ADV_NOREUSE, }; /* * Per-thread/process specific data. Only used for the network client * for now. */ void sk_out_assign(struct sk_out *); void sk_out_drop(void); struct zone_split_index { uint8_t size_perc; uint8_t size_perc_prev; uint64_t size; uint64_t size_prev; }; /* * This describes a single thread/process executing a fio job. */ struct thread_data { struct flist_head opt_list; unsigned long long flags; struct thread_options o; void *eo; pthread_t thread; unsigned int thread_number; unsigned int subjob_number; unsigned int groupid; struct thread_stat ts __attribute__ ((aligned(8))); int client_type; struct io_log *slat_log; struct io_log *clat_log; struct io_log *clat_hist_log; struct io_log *lat_log; struct io_log *bw_log; struct io_log *iops_log; struct workqueue log_compress_wq; struct thread_data *parent; uint64_t stat_io_bytes[DDIR_RWDIR_CNT]; struct timespec bw_sample_time; uint64_t stat_io_blocks[DDIR_RWDIR_CNT]; struct timespec iops_sample_time; volatile int update_rusage; struct fio_sem *rusage_sem; struct rusage ru_start; struct rusage ru_end; struct fio_file **files; unsigned char *file_locks; unsigned int files_size; unsigned int files_index; unsigned int nr_open_files; unsigned int nr_done_files; union { unsigned int next_file; struct frand_state next_file_state; }; union { struct zipf_state next_file_zipf; struct gauss_state next_file_gauss; }; union { double zipf_theta; double pareto_h; double gauss_dev; }; double random_center; int error; int sig; int done; int stop_io; pid_t pid; char *orig_buffer; size_t orig_buffer_size; volatile int runstate; volatile bool terminate; enum fio_ddir last_ddir_completed; enum fio_ddir last_ddir_issued; int mmapfd; void *iolog_buf; FILE *iolog_f; uint64_t rand_seeds[FIO_RAND_NR_OFFS]; struct frand_state bsrange_state[DDIR_RWDIR_CNT]; struct frand_state verify_state; struct frand_state verify_state_last_do_io; struct frand_state trim_state; struct frand_state delay_state; struct frand_state fdp_state; struct frand_state buf_state; struct frand_state buf_state_prev; struct frand_state buf_state_ret; struct frand_state dedupe_state; struct frand_state zone_state; struct frand_state prio_state; struct frand_state dedupe_working_set_index_state; struct frand_state *dedupe_working_set_states; unsigned long long num_unique_pages; struct zone_split_index **zone_state_index; unsigned int num_write_zones; unsigned int verify_batch; unsigned int trim_batch; struct thread_io_list *vstate; int shm_id; /* * Job default IO priority set with prioclass and prio options. */ unsigned int ioprio; /* * IO engine hooks, contains everything needed to submit an io_u * to any of the available IO engines. */ struct ioengine_ops *io_ops; int io_ops_init; /* * IO engine private data and dlhandle. */ void *io_ops_data; /* * Queue depth of io_u's that fio MIGHT do */ unsigned int cur_depth; /* * io_u's about to be committed */ unsigned int io_u_queued; /* * io_u's submitted but not completed yet */ unsigned int io_u_in_flight; /* * List of free and busy io_u's */ struct io_u_ring io_u_requeues; struct io_u_queue io_u_freelist; struct io_u_queue io_u_all; pthread_mutex_t io_u_lock; pthread_cond_t free_cond; /* * async verify offload */ struct flist_head verify_list; pthread_t *verify_threads; unsigned int nr_verify_threads; pthread_cond_t verify_cond; int verify_thread_exit; /* * Rate state */ uint64_t rate_bps[DDIR_RWDIR_CNT]; uint64_t rate_next_io_time[DDIR_RWDIR_CNT]; unsigned long long last_rate_check_bytes[DDIR_RWDIR_CNT]; unsigned long last_rate_check_blocks[DDIR_RWDIR_CNT]; unsigned long long rate_io_issue_bytes[DDIR_RWDIR_CNT]; struct timespec last_rate_check_time[DDIR_RWDIR_CNT]; int64_t last_usec[DDIR_RWDIR_CNT]; struct frand_state poisson_state[DDIR_RWDIR_CNT]; /* * Enforced rate submission/completion workqueue */ struct workqueue io_wq; uint64_t total_io_size; uint64_t fill_device_size; /* * Issue side */ uint64_t io_issues[DDIR_RWDIR_CNT]; uint64_t verify_read_issues; uint64_t io_issue_bytes[DDIR_RWDIR_CNT]; uint64_t loops; /* * Completions */ uint64_t io_blocks[DDIR_RWDIR_CNT]; uint64_t this_io_blocks[DDIR_RWDIR_CNT]; uint64_t io_bytes[DDIR_RWDIR_CNT]; uint64_t this_io_bytes[DDIR_RWDIR_CNT]; uint64_t io_skip_bytes; uint64_t zone_bytes; struct fio_sem *sem; uint64_t bytes_done[DDIR_RWDIR_CNT]; uint64_t bytes_verified; uint32_t last_write_comp_depth; uint64_t *thinktime_blocks_counter; struct timespec last_thinktime; int64_t last_thinktime_blocks; /* * State for random io, a bitmap of blocks done vs not done */ struct frand_state random_state; struct timespec start; /* start of this loop */ struct timespec epoch; /* time job was started */ unsigned long long alternate_epoch; /* Time job was started, as clock_gettime(log_alternate_epoch_clock_id) */ unsigned long long job_start; /* Time job was started, as clock_gettime(job_start_clock_id) */ struct timespec last_issue; long time_offset; struct timespec ts_cache; struct timespec terminate_time; unsigned int ts_cache_nr; unsigned int ts_cache_mask; bool ramp_time_over; /* * Time since last latency_window was started */ struct timespec latency_ts; unsigned int latency_qd; unsigned int latency_qd_high; unsigned int latency_qd_low; unsigned int latency_failed; unsigned int latency_stable_count; uint64_t latency_ios; int latency_end_run; /* * read/write mixed workload state */ struct frand_state rwmix_state; unsigned long rwmix_issues; enum fio_ddir rwmix_ddir; unsigned int ddir_seq_nr; /* * rand/seq mixed workload state */ struct frand_state seq_rand_state[DDIR_RWDIR_CNT]; /* * IO history logs for verification. We use a tree for sorting, * if we are overwriting. Otherwise just use a fifo. */ struct rb_root io_hist_tree; struct flist_head io_hist_list; unsigned long io_hist_len; /* * For IO replaying */ struct flist_head io_log_list; FILE *io_log_rfile; unsigned int io_log_blktrace; unsigned int io_log_blktrace_swap; unsigned long long io_log_last_ttime; struct timespec io_log_start_time; unsigned int io_log_current; unsigned int io_log_checkmark; unsigned int io_log_highmark; unsigned int io_log_version; struct timespec io_log_highmark_time; /* * For tracking/handling discards */ struct flist_head trim_list; unsigned long trim_entries; /* * for fileservice, how often to switch to a new file */ unsigned int file_service_nr; unsigned int file_service_left; struct fio_file *file_service_file; unsigned int sync_file_range_nr; /* * For generating file sizes */ struct frand_state file_size_state; /* * Error counts */ unsigned int total_err_count; int first_error; struct fio_flow *flow; unsigned long long flow_counter; /* * Can be overloaded by profiles */ struct prof_io_ops prof_io_ops; void *prof_data; void *pinned_mem; struct steadystate_data ss; char verror[FIO_VERROR_SIZE]; #ifdef CONFIG_CUDA /* * for GPU memory management */ int gpu_dev_cnt; int gpu_dev_id; CUdevice cu_dev; CUcontext cu_ctx; CUdeviceptr dev_mem_ptr; #endif }; struct thread_segment { struct thread_data *threads; int shm_id; int nr_threads; }; /* * when should interactive ETA output be generated */ enum { FIO_ETA_AUTO, FIO_ETA_ALWAYS, FIO_ETA_NEVER, }; #define __td_verror(td, err, msg, func) \ do { \ unsigned int ____e = (err); \ if ((td)->error) \ break; \ (td)->error = ____e; \ if (!(td)->first_error) \ nowarn_snprintf(td->verror, sizeof(td->verror), \ "file:%s:%d, func=%s, error=%s", \ __FILE__, __LINE__, (func), (msg)); \ } while (0) #define td_clear_error(td) do { \ (td)->error = 0; \ if ((td)->parent) \ (td)->parent->error = 0; \ } while (0) #define td_verror(td, err, func) do { \ __td_verror((td), (err), strerror((err)), (func)); \ if ((td)->parent) \ __td_verror((td)->parent, (err), strerror((err)), (func)); \ } while (0) #define td_vmsg(td, err, msg, func) do { \ __td_verror((td), (err), (msg), (func)); \ if ((td)->parent) \ __td_verror((td)->parent, (err), (msg), (func)); \ } while (0) #define __fio_stringify_1(x) #x #define __fio_stringify(x) __fio_stringify_1(x) #define REAL_MAX_JOBS 4096 #define JOBS_PER_SEG 8 #define REAL_MAX_SEG (REAL_MAX_JOBS / JOBS_PER_SEG) extern bool exitall_on_terminate; extern unsigned int thread_number; extern unsigned int stat_number; extern unsigned int nr_segments; extern unsigned int cur_segment; extern int groupid; extern int output_format; extern int append_terse_output; extern int temp_stall_ts; extern uintptr_t page_mask, page_size; extern bool read_only; extern int eta_print; extern int eta_new_line; extern unsigned int eta_interval_msec; extern unsigned long done_secs; extern int fio_gtod_offload; extern int fio_gtod_cpu; extern enum fio_cs fio_clock_source; extern int fio_clock_source_set; extern int warnings_fatal; extern int terse_version; extern bool is_backend; extern bool is_local_backend; extern int nr_clients; extern bool log_syslog; extern int status_interval; extern const char fio_version_string[]; extern char *trigger_file; extern char *trigger_cmd; extern char *trigger_remote_cmd; extern long long trigger_timeout; extern char *aux_path; extern struct thread_segment segments[REAL_MAX_SEG]; static inline struct thread_data *tnumber_to_td(unsigned int tnumber) { struct thread_segment *seg; seg = &segments[tnumber / JOBS_PER_SEG]; return &seg->threads[tnumber & (JOBS_PER_SEG - 1)]; } static inline bool is_running_backend(void) { return is_backend || is_local_backend; } extern bool eta_time_within_slack(unsigned int time); static inline void fio_ro_check(const struct thread_data *td, struct io_u *io_u) { assert(!(io_u->ddir == DDIR_WRITE && !td_write(td)) && !(io_u->ddir == DDIR_TRIM && !td_trim(td))); } static inline bool multi_range_trim(struct thread_data *td, struct io_u *io_u) { if (io_u->ddir == DDIR_TRIM && td->o.num_range > 1) return true; return false; } static inline bool should_fsync(struct thread_data *td) { if (ddir_sync(td->last_ddir_issued)) return false; if (td_write(td) || td->o.override_sync) return true; return false; } /* * Init/option functions */ extern int __must_check fio_init_options(void); extern int __must_check parse_options(int, char **); extern int parse_jobs_ini(char *, int, int, int); extern int parse_cmd_line(int, char **, int); extern int fio_backend(struct sk_out *); extern void reset_fio_state(void); extern void clear_io_state(struct thread_data *, int); extern int fio_options_parse(struct thread_data *, char **, int); extern void fio_keywords_init(void); extern void fio_keywords_exit(void); extern int fio_cmd_option_parse(struct thread_data *, const char *, char *); extern int fio_cmd_ioengine_option_parse(struct thread_data *, const char *, char *); extern void fio_fill_default_options(struct thread_data *); extern int fio_show_option_help(const char *); extern void fio_options_set_ioengine_opts(struct option *long_options, struct thread_data *td); extern void fio_options_dup_and_init(struct option *); extern char *fio_option_dup_subs(const char *); extern void fio_options_mem_dupe(struct thread_data *); extern void td_fill_rand_seeds(struct thread_data *); extern void add_job_opts(const char **, int); extern int ioengine_load(struct thread_data *); extern bool parse_dryrun(void); extern int fio_running_or_pending_io_threads(void); extern int fio_set_fd_nonblocking(int, const char *); extern void sig_show_status(int sig); extern struct thread_data *get_global_options(void); extern uintptr_t page_mask; extern uintptr_t page_size; extern int initialize_fio(char *envp[]); extern void deinitialize_fio(void); #define FIO_GETOPT_JOB 0x89000000 #define FIO_GETOPT_IOENGINE 0x98000000 #define FIO_NR_OPTIONS (FIO_MAX_OPTS + 128) /* * ETA/status stuff */ extern void print_thread_status(void); extern void print_status_init(int); extern char *fio_uint_to_kmg(unsigned int val); /* * Thread life cycle. Once a thread has a runstate beyond TD_INITIALIZED, it * will never back again. It may cycle between running/verififying/fsyncing. * Once the thread reaches TD_EXITED, it is just waiting for the core to * reap it. */ enum { TD_NOT_CREATED = 0, TD_CREATED, TD_INITIALIZED, TD_RAMP, TD_SETTING_UP, TD_RUNNING, TD_PRE_READING, TD_VERIFYING, TD_FSYNCING, TD_FINISHING, TD_EXITED, TD_REAPED, TD_LAST, TD_NR, }; #define TD_ENG_FLAG_SHIFT (__TD_F_LAST) #define TD_ENG_FLAG_MASK ((1ULL << (__TD_F_LAST)) - 1) static inline void td_set_ioengine_flags(struct thread_data *td) { td->flags = (~(TD_ENG_FLAG_MASK << TD_ENG_FLAG_SHIFT) & td->flags) | ((unsigned long long)td->io_ops->flags << TD_ENG_FLAG_SHIFT); } static inline bool td_ioengine_flagged(struct thread_data *td, enum fio_ioengine_flags flags) { return ((td->flags >> TD_ENG_FLAG_SHIFT) & flags) != 0; } extern void td_set_runstate(struct thread_data *, int); extern int td_bump_runstate(struct thread_data *, int); extern void td_restore_runstate(struct thread_data *, int); extern const char *runstate_to_name(int runstate); /* * Allow 60 seconds for a job to quit on its own, otherwise reap with * a vengeance. */ #define FIO_REAP_TIMEOUT 300 enum { TERMINATE_NONE = 0, TERMINATE_GROUP = 1, TERMINATE_STONEWALL = 2, TERMINATE_ALL = -1, }; extern void fio_terminate_threads(unsigned int, unsigned int); extern void fio_mark_td_terminate(struct thread_data *); /* * Memory helpers */ extern int __must_check fio_pin_memory(struct thread_data *); extern void fio_unpin_memory(struct thread_data *); extern int __must_check allocate_io_mem(struct thread_data *); extern void free_io_mem(struct thread_data *); extern void free_threads_shm(void); #ifdef FIO_INTERNAL #define PTR_ALIGN(ptr, mask) \ (char *) (((uintptr_t) (ptr) + (mask)) & ~(mask)) #endif /* * Reset stats after ramp time completes */ extern void reset_all_stats(struct thread_data *); extern int io_queue_event(struct thread_data *td, struct io_u *io_u, int *ret, enum fio_ddir ddir, uint64_t *bytes_issued, int from_verify, struct timespec *comp_time); /* * Latency target helpers */ extern void lat_target_check(struct thread_data *); extern void lat_target_init(struct thread_data *); extern void lat_target_reset(struct thread_data *); /* * Iterates all threads/processes within all the defined jobs * Usage: * for_each_td(var_name_for_td) { * << bodoy of your loop >> * Note: internally-scoped loop index availble as __td_index * } end_for_each_td() */ #define for_each_td(td) \ { \ int __td_index; \ struct thread_data *(td); \ for (__td_index = 0, (td) = &segments[0].threads[0];\ __td_index < (int) thread_number; __td_index++, (td) = tnumber_to_td(__td_index)) #define for_each_td_index() \ { \ int __td_index; \ for (__td_index = 0; __td_index < (int) thread_number; __td_index++) #define end_for_each() } #define for_each_file(td, f, i) \ if ((td)->files_index) \ for ((i) = 0, (f) = (td)->files[0]; \ (i) < (td)->o.nr_files && ((f) = (td)->files[i]) != NULL; \ (i)++) static inline bool fio_offset_overlap_risk(struct thread_data *td) { if (td->o.norandommap || td->o.softrandommap || td->o.ddir_seq_add || (td->o.ddir_seq_nr > 1)) return true; return false; } static inline bool fio_fill_issue_time(struct thread_data *td) { if (td->o.read_iolog_file || !td->o.disable_clat || !td->o.disable_slat || !td->o.disable_bw) return true; return false; } static inline bool option_check_rate(struct thread_data *td, enum fio_ddir ddir) { struct thread_options *o = &td->o; /* * If some rate setting was given, we need to check it */ if (o->rate[ddir] || o->ratemin[ddir] || o->rate_iops[ddir] || o->rate_iops_min[ddir]) return true; return false; } static inline bool should_check_rate(struct thread_data *td) { return (td->flags & TD_F_CHECK_RATE) != 0; } static inline unsigned long long td_max_bs(struct thread_data *td) { unsigned long long max_bs; max_bs = max(td->o.max_bs[DDIR_READ], td->o.max_bs[DDIR_WRITE]); return max(td->o.max_bs[DDIR_TRIM], max_bs); } static inline unsigned long long td_min_bs(struct thread_data *td) { unsigned long long min_bs; min_bs = min(td->o.min_bs[DDIR_READ], td->o.min_bs[DDIR_WRITE]); return min(td->o.min_bs[DDIR_TRIM], min_bs); } static inline bool td_async_processing(struct thread_data *td) { return (td->flags & TD_F_NEED_LOCK) != 0; } static inline bool td_offload_overlap(struct thread_data *td) { return td->o.serialize_overlap && td->o.io_submit_mode == IO_MODE_OFFLOAD; } /* * We currently only need to do locking if we have verifier threads * accessing our internal structures too */ static inline void __td_io_u_lock(struct thread_data *td) { pthread_mutex_lock(&td->io_u_lock); } static inline void __td_io_u_unlock(struct thread_data *td) { pthread_mutex_unlock(&td->io_u_lock); } static inline void td_io_u_free_notify(struct thread_data *td) { if (td_async_processing(td)) pthread_cond_signal(&td->free_cond); } static inline void td_flags_clear(struct thread_data *td, unsigned int *flags, unsigned int value) { if (!td_async_processing(td)) *flags &= ~value; else __sync_fetch_and_and(flags, ~value); } static inline void td_flags_set(struct thread_data *td, unsigned int *flags, unsigned int value) { if (!td_async_processing(td)) *flags |= value; else __sync_fetch_and_or(flags, value); } extern const char *fio_get_arch_string(int); extern const char *fio_get_os_string(int); enum { __FIO_OUTPUT_TERSE = 0, __FIO_OUTPUT_JSON = 1, __FIO_OUTPUT_NORMAL = 2, __FIO_OUTPUT_JSON_PLUS = 3, FIO_OUTPUT_NR = 4, FIO_OUTPUT_TERSE = 1U << __FIO_OUTPUT_TERSE, FIO_OUTPUT_JSON = 1U << __FIO_OUTPUT_JSON, FIO_OUTPUT_NORMAL = 1U << __FIO_OUTPUT_NORMAL, FIO_OUTPUT_JSON_PLUS = 1U << __FIO_OUTPUT_JSON_PLUS, }; enum { FIO_RAND_DIST_RANDOM = 0, FIO_RAND_DIST_ZIPF, FIO_RAND_DIST_PARETO, FIO_RAND_DIST_GAUSS, FIO_RAND_DIST_ZONED, FIO_RAND_DIST_ZONED_ABS, }; #define FIO_DEF_ZIPF 1.1 #define FIO_DEF_PARETO 0.2 enum { FIO_RAND_GEN_TAUSWORTHE = 0, FIO_RAND_GEN_LFSR, FIO_RAND_GEN_TAUSWORTHE64, }; enum { FIO_CPUS_SHARED = 0, FIO_CPUS_SPLIT, }; extern void exec_trigger(const char *); extern void check_trigger_file(void); extern bool in_flight_overlap(struct io_u_queue *q, struct io_u *io_u); extern pthread_mutex_t overlap_check; static inline void *fio_memalign(size_t alignment, size_t size, bool shared) { return __fio_memalign(alignment, size, shared ? smalloc : malloc); } static inline void fio_memfree(void *ptr, size_t size, bool shared) { return __fio_memfree(ptr, size, shared ? sfree : free); } #endif fio-3.39/fio_sem.c000066400000000000000000000065671476262051600140410ustar00rootroot00000000000000#include #include #include #include #ifdef CONFIG_VALGRIND_DEV #include #else #define RUNNING_ON_VALGRIND 0 #endif #include "fio_sem.h" #include "pshared.h" #include "os/os.h" #include "fio_time.h" #include "gettime.h" void __fio_sem_remove(struct fio_sem *sem) { assert(sem->magic == FIO_SEM_MAGIC); pthread_mutex_destroy(&sem->lock); pthread_cond_destroy(&sem->cond); /* * When not running on Valgrind, ensure any subsequent attempt to grab * this semaphore will fail with an assert, instead of just silently * hanging. When running on Valgrind, let Valgrind detect * use-after-free. */ if (!RUNNING_ON_VALGRIND) memset(sem, 0, sizeof(*sem)); } void fio_sem_remove(struct fio_sem *sem) { __fio_sem_remove(sem); munmap((void *) sem, sizeof(*sem)); } int __fio_sem_init(struct fio_sem *sem, int value) { int ret; sem->value = value; /* Initialize .waiters explicitly for Valgrind. */ sem->waiters = 0; sem->magic = FIO_SEM_MAGIC; ret = mutex_cond_init_pshared(&sem->lock, &sem->cond); if (ret) return ret; return 0; } struct fio_sem *fio_sem_init(int value) { struct fio_sem *sem = NULL; sem = (void *) mmap(NULL, sizeof(struct fio_sem), PROT_READ | PROT_WRITE, OS_MAP_ANON | MAP_SHARED, -1, 0); if (sem == MAP_FAILED) { perror("mmap semaphore"); return NULL; } if (!__fio_sem_init(sem, value)) return sem; fio_sem_remove(sem); return NULL; } static bool sem_timed_out(struct timespec *t, unsigned int msecs) { struct timeval tv; struct timespec now; gettimeofday(&tv, NULL); now.tv_sec = tv.tv_sec; now.tv_nsec = tv.tv_usec * 1000; return mtime_since(t, &now) >= msecs; } int fio_sem_down_timeout(struct fio_sem *sem, unsigned int msecs) { struct timespec base; struct timespec t; int ret = 0; assert(sem->magic == FIO_SEM_MAGIC); #ifdef CONFIG_PTHREAD_CONDATTR_SETCLOCK clock_gettime(CLOCK_MONOTONIC, &t); #else clock_gettime(CLOCK_REALTIME, &t); #endif base = t; t.tv_sec += msecs / 1000; t.tv_nsec += ((msecs * 1000000ULL) % 1000000000); if (t.tv_nsec >= 1000000000) { t.tv_nsec -= 1000000000; t.tv_sec++; } pthread_mutex_lock(&sem->lock); sem->waiters++; while (!sem->value && !ret) { /* * Some platforms (FreeBSD 9?) seems to return timed out * way too early, double check. */ ret = pthread_cond_timedwait(&sem->cond, &sem->lock, &t); if (ret == ETIMEDOUT && !sem_timed_out(&base, msecs)) ret = 0; } sem->waiters--; if (!ret) { sem->value--; pthread_mutex_unlock(&sem->lock); return 0; } pthread_mutex_unlock(&sem->lock); return ret; } bool fio_sem_down_trylock(struct fio_sem *sem) { bool ret = true; assert(sem->magic == FIO_SEM_MAGIC); pthread_mutex_lock(&sem->lock); if (sem->value) { sem->value--; ret = false; } pthread_mutex_unlock(&sem->lock); return ret; } void fio_sem_down(struct fio_sem *sem) { assert(sem->magic == FIO_SEM_MAGIC); pthread_mutex_lock(&sem->lock); while (!sem->value) { sem->waiters++; pthread_cond_wait(&sem->cond, &sem->lock); sem->waiters--; } sem->value--; pthread_mutex_unlock(&sem->lock); } void fio_sem_up(struct fio_sem *sem) { int do_wake = 0; assert(sem->magic == FIO_SEM_MAGIC); pthread_mutex_lock(&sem->lock); if (!sem->value && sem->waiters) do_wake = 1; sem->value++; if (do_wake) pthread_cond_signal(&sem->cond); pthread_mutex_unlock(&sem->lock); } fio-3.39/fio_sem.h000066400000000000000000000012421476262051600140270ustar00rootroot00000000000000#ifndef FIO_SEM_H #define FIO_SEM_H #include #include "lib/types.h" #define FIO_SEM_MAGIC 0x4d555445U struct fio_sem { pthread_mutex_t lock; pthread_cond_t cond; int value; int waiters; int magic; }; enum { FIO_SEM_LOCKED = 0, FIO_SEM_UNLOCKED = 1, }; extern int __fio_sem_init(struct fio_sem *, int); extern struct fio_sem *fio_sem_init(int); extern void __fio_sem_remove(struct fio_sem *); extern void fio_sem_remove(struct fio_sem *); extern void fio_sem_up(struct fio_sem *); extern void fio_sem_down(struct fio_sem *); extern bool fio_sem_down_trylock(struct fio_sem *); extern int fio_sem_down_timeout(struct fio_sem *, unsigned int); #endif fio-3.39/fio_time.h000066400000000000000000000027051476262051600142060ustar00rootroot00000000000000#ifndef FIO_TIME_H #define FIO_TIME_H #include /* IWYU pragma: begin_exports */ #include #include /* IWYU pragma: end_exports */ #include "lib/types.h" struct thread_data; extern uint64_t ntime_since(const struct timespec *, const struct timespec *); extern uint64_t ntime_since_now(const struct timespec *); extern uint64_t utime_since(const struct timespec *, const struct timespec *); extern uint64_t utime_since_now(const struct timespec *); extern int64_t rel_time_since(const struct timespec *, const struct timespec *); extern uint64_t mtime_since(const struct timespec *, const struct timespec *); extern uint64_t mtime_since_now(const struct timespec *); extern uint64_t mtime_since_tv(const struct timeval *, const struct timeval *); extern uint64_t time_since_now(const struct timespec *); extern uint64_t time_since_genesis(void); extern uint64_t mtime_since_genesis(void); extern uint64_t utime_since_genesis(void); extern void cycles_spin(unsigned int); extern uint64_t usec_spin(unsigned int); extern uint64_t usec_sleep(struct thread_data *, unsigned long); extern void fill_start_time(struct timespec *); extern void set_genesis_time(void); extern bool ramp_time_over(struct thread_data *); extern bool in_ramp_time(struct thread_data *); extern void fio_time_init(void); extern void timespec_add_msec(struct timespec *, unsigned int); extern void set_epoch_time(struct thread_data *, clockid_t, clockid_t); #endif fio-3.39/flist.h000066400000000000000000000117541476262051600135400ustar00rootroot00000000000000#ifndef _LINUX_FLIST_H #define _LINUX_FLIST_H #include #include #define container_of(ptr, type, member) ({ \ const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) /* * Simple doubly linked list implementation. * * Some of the internal functions ("__xxx") are useful when * manipulating whole lists rather than single entries, as * sometimes we already know the next/prev entries and we can * generate better code by using them directly rather than * using the generic single-entry routines. */ struct flist_head { struct flist_head *next, *prev; }; #define FLIST_HEAD_INIT(name) { &(name), &(name) } #define FLIST_HEAD(name) \ struct flist_head name = FLIST_HEAD_INIT(name) #define INIT_FLIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0) /* * Insert a new entry between two known consecutive entries. * * This is only for internal list manipulation where we know * the prev/next entries already! */ static inline void __flist_add(struct flist_head *new_entry, struct flist_head *prev, struct flist_head *next) { next->prev = new_entry; new_entry->next = next; new_entry->prev = prev; prev->next = new_entry; } /** * flist_add - add a new entry * @new_entry: new entry to be added * @head: list head to add it after * * Insert a new entry after the specified head. * This is good for implementing stacks. */ static inline void flist_add(struct flist_head *new_entry, struct flist_head *head) { __flist_add(new_entry, head, head->next); } static inline void flist_add_tail(struct flist_head *new_entry, struct flist_head *head) { __flist_add(new_entry, head->prev, head); } /* * Delete a list entry by making the prev/next entries * point to each other. * * This is only for internal list manipulation where we know * the prev/next entries already! */ static inline void __flist_del(struct flist_head *prev, struct flist_head * next) { next->prev = prev; prev->next = next; } /** * flist_del - deletes entry from list. * @entry: the element to delete from the list. * Note: flist_empty on entry does not return true after this, the entry is * in an undefined state. */ static inline void flist_del(struct flist_head *entry) { __flist_del(entry->prev, entry->next); entry->next = NULL; entry->prev = NULL; } /** * flist_del_init - deletes entry from list and reinitialize it. * @entry: the element to delete from the list. */ static inline void flist_del_init(struct flist_head *entry) { __flist_del(entry->prev, entry->next); INIT_FLIST_HEAD(entry); } /** * flist_empty - tests whether a list is empty * @head: the list to test. */ static inline int flist_empty(const struct flist_head *head) { return head->next == head; } static inline void __flist_splice(const struct flist_head *list, struct flist_head *prev, struct flist_head *next) { struct flist_head *first = list->next; struct flist_head *last = list->prev; first->prev = prev; prev->next = first; last->next = next; next->prev = last; } static inline void flist_splice(const struct flist_head *list, struct flist_head *head) { if (!flist_empty(list)) __flist_splice(list, head, head->next); } static inline void flist_splice_tail(struct flist_head *list, struct flist_head *head) { if (!flist_empty(list)) __flist_splice(list, head->prev, head); } static inline void flist_splice_tail_init(struct flist_head *list, struct flist_head *head) { if (!flist_empty(list)) { __flist_splice(list, head->prev, head); INIT_FLIST_HEAD(list); } } static inline void flist_splice_init(struct flist_head *list, struct flist_head *head) { if (!flist_empty(list)) { __flist_splice(list, head, head->next); INIT_FLIST_HEAD(list); } } /** * flist_entry - get the struct for this entry * @ptr: the &struct flist_head pointer. * @type: the type of the struct this is embedded in. * @member: the name of the flist_struct within the struct. */ #define flist_entry(ptr, type, member) \ container_of(ptr, type, member) #define flist_first_entry(ptr, type, member) \ flist_entry((ptr)->next, type, member) #define flist_last_entry(ptr, type, member) \ flist_entry((ptr)->prev, type, member) /** * flist_for_each - iterate over a list * @pos: the &struct flist_head to use as a loop counter. * @head: the head for your list. */ #define flist_for_each(pos, head) \ for (pos = (head)->next; pos != (head); pos = pos->next) /** * flist_for_each_safe - iterate over a list safe against removal of list entry * @pos: the &struct flist_head to use as a loop counter. * @n: another &struct flist_head to use as temporary storage * @head: the head for your list. */ #define flist_for_each_safe(pos, n, head) \ for (pos = (head)->next, n = pos->next; pos != (head); \ pos = n, n = pos->next) extern void flist_sort(void *priv, struct flist_head *head, int (*cmp)(void *priv, struct flist_head *a, struct flist_head *b)); #endif fio-3.39/flow.c000066400000000000000000000057651476262051600133660ustar00rootroot00000000000000#include "fio.h" #include "fio_sem.h" #include "smalloc.h" #include "flist.h" struct fio_flow { unsigned int refs; unsigned int id; struct flist_head list; unsigned long flow_counter; unsigned int total_weight; }; static struct flist_head *flow_list; static struct fio_sem *flow_lock; int flow_threshold_exceeded(struct thread_data *td) { struct fio_flow *flow = td->flow; double flow_counter_ratio, flow_weight_ratio; if (!flow) return 0; flow_counter_ratio = (double)td->flow_counter / atomic_load_relaxed(&flow->flow_counter); flow_weight_ratio = (double)td->o.flow / atomic_load_relaxed(&flow->total_weight); /* * each thread/process executing a fio job will stall based on the * expected user ratio for a given flow_id group. the idea is to keep * 2 counters, flow and job-specific counter to test if the * ratio between them is proportional to other jobs in the same flow_id */ if (flow_counter_ratio > flow_weight_ratio) { if (td->o.flow_sleep) { io_u_quiesce(td); usleep(td->o.flow_sleep); } else if (td->o.zone_mode == ZONE_MODE_ZBD) { io_u_quiesce(td); } return 1; } /* * increment flow(shared counter, therefore atomically) * and job-specific counter */ atomic_add(&flow->flow_counter, 1); ++td->flow_counter; return 0; } static struct fio_flow *flow_get(unsigned int id) { struct fio_flow *flow = NULL; struct flist_head *n; if (!flow_lock) return NULL; fio_sem_down(flow_lock); flist_for_each(n, flow_list) { flow = flist_entry(n, struct fio_flow, list); if (flow->id == id) break; flow = NULL; } if (!flow) { flow = smalloc(sizeof(*flow)); if (!flow) { fio_sem_up(flow_lock); return NULL; } flow->refs = 0; INIT_FLIST_HEAD(&flow->list); flow->id = id; flow->flow_counter = 1; flow->total_weight = 0; flist_add_tail(&flow->list, flow_list); } flow->refs++; fio_sem_up(flow_lock); return flow; } static void flow_put(struct fio_flow *flow, unsigned long flow_counter, unsigned int weight) { if (!flow_lock) return; fio_sem_down(flow_lock); atomic_sub(&flow->flow_counter, flow_counter); atomic_sub(&flow->total_weight, weight); if (!--flow->refs) { assert(flow->flow_counter == 1); flist_del(&flow->list); sfree(flow); } fio_sem_up(flow_lock); } void flow_init_job(struct thread_data *td) { if (td->o.flow) { td->flow = flow_get(td->o.flow_id); td->flow_counter = 0; atomic_add(&td->flow->total_weight, td->o.flow); } } void flow_exit_job(struct thread_data *td) { if (td->flow) { flow_put(td->flow, td->flow_counter, td->o.flow); td->flow = NULL; } } void flow_init(void) { flow_list = smalloc(sizeof(*flow_list)); if (!flow_list) { log_err("fio: smalloc pool exhausted\n"); return; } flow_lock = fio_sem_init(FIO_SEM_UNLOCKED); if (!flow_lock) { log_err("fio: failed to allocate flow lock\n"); sfree(flow_list); return; } INIT_FLIST_HEAD(flow_list); } void flow_exit(void) { if (flow_lock) fio_sem_remove(flow_lock); if (flow_list) sfree(flow_list); } fio-3.39/flow.h000066400000000000000000000004071476262051600133570ustar00rootroot00000000000000#ifndef FIO_FLOW_H #define FIO_FLOW_H #define FLOW_MAX_WEIGHT 1000 int flow_threshold_exceeded(struct thread_data *td); void flow_init_job(struct thread_data *td); void flow_exit_job(struct thread_data *td); void flow_exit(void); void flow_init(void); #endif fio-3.39/gclient.c000066400000000000000000001230341476262051600140320ustar00rootroot00000000000000#include #include #include #include #include #include "fio.h" #include "gfio.h" #include "ghelpers.h" #include "goptions.h" #include "gerror.h" #include "graph.h" #include "gclient.h" #include "printing.h" #include "lib/pow2.h" static void gfio_display_ts(struct fio_client *client, struct thread_stat *ts, struct group_run_stats *rs); static gboolean results_window_delete(GtkWidget *w, gpointer data) { struct gui_entry *ge = (struct gui_entry *) data; gtk_widget_destroy(w); ge->results_window = NULL; ge->results_notebook = NULL; return TRUE; } static void results_close(GtkWidget *w, gpointer *data) { struct gui_entry *ge = (struct gui_entry *) data; gtk_widget_destroy(ge->results_window); } static void results_print(GtkWidget *w, gpointer *data) { struct gui_entry *ge = (struct gui_entry *) data; gfio_print_results(ge); } static GtkActionEntry results_menu_items[] = { { "FileMenuAction", GTK_STOCK_FILE, "File", NULL, NULL, NULL}, { "GraphMenuAction", GTK_STOCK_FILE, "Graph", NULL, NULL, NULL}, { "PrintFile", GTK_STOCK_PRINT, "Print", "P", NULL, G_CALLBACK(results_print) }, { "CloseFile", GTK_STOCK_CLOSE, "Close", "W", NULL, G_CALLBACK(results_close) }, }; static gint results_nmenu_items = FIO_ARRAY_SIZE(results_menu_items); static const gchar *results_ui_string = " \ \ \

\ \ \ \ \ \ \ \ "; static GtkWidget *get_results_menubar(GtkWidget *window, struct gui_entry *ge) { GtkActionGroup *action_group; GtkWidget *widget; GError *error = 0; ge->results_uimanager = gtk_ui_manager_new(); action_group = gtk_action_group_new("ResultsMenu"); gtk_action_group_add_actions(action_group, results_menu_items, results_nmenu_items, ge); gtk_ui_manager_insert_action_group(ge->results_uimanager, action_group, 0); gtk_ui_manager_add_ui_from_string(GTK_UI_MANAGER(ge->results_uimanager), results_ui_string, -1, &error); gtk_window_add_accel_group(GTK_WINDOW(window), gtk_ui_manager_get_accel_group(ge->results_uimanager)); widget = gtk_ui_manager_get_widget(ge->results_uimanager, "/MainMenu"); return widget; } static GtkWidget *get_results_window(struct gui_entry *ge) { GtkWidget *win, *notebook, *vbox; if (ge->results_window) return ge->results_notebook; win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(win), "Results"); gtk_window_set_default_size(GTK_WINDOW(win), 1024, 768); g_signal_connect(win, "delete-event", G_CALLBACK(results_window_delete), ge); g_signal_connect(win, "destroy", G_CALLBACK(results_window_delete), ge); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(win), vbox); ge->results_menu = get_results_menubar(win, ge); gtk_box_pack_start(GTK_BOX(vbox), ge->results_menu, FALSE, FALSE, 0); notebook = gtk_notebook_new(); gtk_notebook_set_scrollable(GTK_NOTEBOOK(notebook), 1); gtk_notebook_popup_enable(GTK_NOTEBOOK(notebook)); gtk_container_add(GTK_CONTAINER(vbox), notebook); ge->results_window = win; ge->results_notebook = notebook; return ge->results_notebook; } static void gfio_text_op(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_text_pdu *p = (struct cmd_text_pdu *) cmd->payload; struct gfio_client *gc = client->client_data; struct gui_entry *ge = gc->ge; struct gui *ui = ge->ui; GtkTreeIter iter; struct tm *tm; time_t sec; char tmp[64], timebuf[96]; sec = p->log_sec; tm = localtime(&sec); strftime(tmp, sizeof(tmp), "%Y-%m-%d %H:%M:%S", tm); sprintf(timebuf, "%s.%03ld", tmp, (long) p->log_usec / 1000); gdk_threads_enter(); gtk_list_store_append(ui->log_model, &iter); gtk_list_store_set(ui->log_model, &iter, 0, timebuf, -1); gtk_list_store_set(ui->log_model, &iter, 1, client->hostname, -1); gtk_list_store_set(ui->log_model, &iter, 2, log_get_level(p->level), -1); gtk_list_store_set(ui->log_model, &iter, 3, p->buf, -1); if (p->level == FIO_LOG_ERR) gfio_view_log(ui); gdk_threads_leave(); } static void disk_util_destroy(GtkWidget *w, gpointer data) { struct gui_entry *ge = (struct gui_entry *) data; ge->disk_util_vbox = NULL; gtk_widget_destroy(w); } static GtkWidget *gfio_disk_util_get_vbox(struct gui_entry *ge) { GtkWidget *vbox, *box, *scroll, *res_notebook; if (ge->disk_util_vbox) return ge->disk_util_vbox; scroll = get_scrolled_window(5); vbox = gtk_vbox_new(FALSE, 3); box = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 5); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll), vbox); res_notebook = get_results_window(ge); gtk_notebook_append_page(GTK_NOTEBOOK(res_notebook), scroll, gtk_label_new("Disk utilization")); ge->disk_util_vbox = box; g_signal_connect(vbox, "destroy", G_CALLBACK(disk_util_destroy), ge); return ge->disk_util_vbox; } static int __gfio_disk_util_show(GtkWidget *res_notebook, struct gfio_client *gc, struct cmd_du_pdu *p) { GtkWidget *box, *frame, *entry, *vbox, *util_vbox; struct gui_entry *ge = gc->ge; double util; char tmp[16]; util_vbox = gfio_disk_util_get_vbox(ge); vbox = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(util_vbox), vbox); frame = gtk_frame_new((char *) p->dus.name); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 2); box = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), box); frame = gtk_frame_new("Read"); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 2); vbox = gtk_hbox_new(TRUE, 3); gtk_container_add(GTK_CONTAINER(frame), vbox); entry = new_info_entry_in_frame(vbox, "IOs"); entry_set_int_value(entry, p->dus.s.ios[0]); entry = new_info_entry_in_frame(vbox, "Merges"); entry_set_int_value(entry, p->dus.s.merges[0]); entry = new_info_entry_in_frame(vbox, "Sectors"); entry_set_int_value(entry, p->dus.s.sectors[0]); entry = new_info_entry_in_frame(vbox, "Ticks"); entry_set_int_value(entry, p->dus.s.ticks[0]); frame = gtk_frame_new("Write"); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 2); vbox = gtk_hbox_new(TRUE, 3); gtk_container_add(GTK_CONTAINER(frame), vbox); entry = new_info_entry_in_frame(vbox, "IOs"); entry_set_int_value(entry, p->dus.s.ios[1]); entry = new_info_entry_in_frame(vbox, "Merges"); entry_set_int_value(entry, p->dus.s.merges[1]); entry = new_info_entry_in_frame(vbox, "Sectors"); entry_set_int_value(entry, p->dus.s.sectors[1]); entry = new_info_entry_in_frame(vbox, "Ticks"); entry_set_int_value(entry, p->dus.s.ticks[1]); frame = gtk_frame_new("Shared"); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 2); vbox = gtk_hbox_new(TRUE, 3); gtk_container_add(GTK_CONTAINER(frame), vbox); entry = new_info_entry_in_frame(vbox, "IO ticks"); entry_set_int_value(entry, p->dus.s.io_ticks); entry = new_info_entry_in_frame(vbox, "Time in queue"); entry_set_int_value(entry, p->dus.s.time_in_queue); util = 0.0; if (p->dus.s.msec) util = (double) 100 * p->dus.s.io_ticks / (double) p->dus.s.msec; if (util > 100.0) util = 100.0; sprintf(tmp, "%3.2f%%", util); entry = new_info_entry_in_frame(vbox, "Disk utilization"); gtk_entry_set_text(GTK_ENTRY(entry), tmp); gtk_widget_show_all(ge->results_window); return 0; } static int gfio_disk_util_show(struct gfio_client *gc) { struct gui_entry *ge = gc->ge; GtkWidget *res_notebook; int i; if (!gc->nr_du) return 1; res_notebook = get_results_window(ge); for (i = 0; i < gc->nr_du; i++) { struct cmd_du_pdu *p = &gc->du[i]; __gfio_disk_util_show(res_notebook, gc, p); } gtk_widget_show_all(ge->results_window); return 0; } static void gfio_disk_util_op(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_du_pdu *p = (struct cmd_du_pdu *) cmd->payload; struct gfio_client *gc = client->client_data; struct gui_entry *ge = gc->ge; unsigned int nr = gc->nr_du; gc->du = realloc(gc->du, (nr + 1) * sizeof(struct cmd_du_pdu)); memcpy(&gc->du[nr], p, sizeof(*p)); gc->nr_du++; gdk_threads_enter(); if (ge->results_window) __gfio_disk_util_show(ge->results_notebook, gc, p); else gfio_disk_util_show(gc); gdk_threads_leave(); } static int sum_stat_nr; static void gfio_thread_status_op(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_ts_pdu *p = (struct cmd_ts_pdu *) cmd->payload; gfio_display_ts(client, &p->ts, &p->rs); if (sum_stat_clients == 1) return; sum_thread_stats(&client_ts, &p->ts); sum_group_stats(&client_gs, &p->rs); client_ts.members++; client_ts.thread_number = p->ts.thread_number; client_ts.groupid = p->ts.groupid; client_ts.sig_figs = p->ts.sig_figs; if (++sum_stat_nr == sum_stat_clients) { strcpy(client_ts.name, "All clients"); gfio_display_ts(client, &client_ts, &client_gs); } } static void gfio_group_stats_op(struct fio_client *client, struct fio_net_cmd *cmd) { /* We're ignoring group stats for now */ } static void gfio_update_thread_status(struct gui_entry *ge, char *status_message, double perc) { static char message[100]; const char *m = message; snprintf(message, sizeof(message), "%s", status_message); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(ge->thread_status_pb), m); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(ge->thread_status_pb), perc / 100.0); gtk_widget_queue_draw(ge->ui->window); } static void gfio_update_thread_status_all(struct gui *ui, char *status_message, double perc) { static char message[100]; const char *m = message; snprintf(message, sizeof(message), "%s", status_message); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(ui->thread_status_pb), m); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(ui->thread_status_pb), perc / 100.0); gtk_widget_queue_draw(ui->window); } /* * Client specific ETA */ static void gfio_update_client_eta(struct fio_client *client, struct jobs_eta *je) { struct gfio_client *gc = client->client_data; struct gui_entry *ge = gc->ge; static int eta_good; char eta_str[128]; char output[256]; char tmp[32]; double perc = 0.0; int i2p = 0; gdk_threads_enter(); eta_str[0] = '\0'; output[0] = '\0'; if (je->eta_sec != INT_MAX && je->elapsed_sec) { perc = (double) je->elapsed_sec / (double) (je->elapsed_sec + je->eta_sec); eta_to_str(eta_str, je->eta_sec); } sprintf(tmp, "%u", je->nr_running); gtk_entry_set_text(GTK_ENTRY(ge->eta.jobs), tmp); sprintf(tmp, "%u", je->files_open); gtk_entry_set_text(GTK_ENTRY(ge->eta.files), tmp); if (je->eta_sec != INT_MAX && je->nr_running) { char *iops_str[DDIR_RWDIR_CNT]; char *rate_str[DDIR_RWDIR_CNT]; char *rate_alt[DDIR_RWDIR_CNT]; char tmp[128]; int i; if ((!je->eta_sec && !eta_good) || je->nr_ramp == je->nr_running) strcpy(output, "-.-% done"); else { eta_good = 1; perc *= 100.0; sprintf(output, "%3.1f%% done", perc); } iops_str[0] = num2str(je->iops[0], je->sig_figs, 1, 0, N2S_PERSEC); iops_str[1] = num2str(je->iops[1], je->sig_figs, 1, 0, N2S_PERSEC); iops_str[2] = num2str(je->iops[2], je->sig_figs, 1, 0, N2S_PERSEC); rate_str[0] = num2str(je->rate[0], je->sig_figs, 10, i2p, N2S_BYTEPERSEC); rate_alt[0] = num2str(je->rate[0], je->sig_figs, 10, !i2p, N2S_BYTEPERSEC); snprintf(tmp, sizeof(tmp), "%s (%s)", rate_str[0], rate_alt[0]); gtk_entry_set_text(GTK_ENTRY(ge->eta.read_bw), tmp); gtk_entry_set_text(GTK_ENTRY(ge->eta.read_iops), iops_str[0]); rate_str[1] = num2str(je->rate[1], je->sig_figs, 10, i2p, N2S_BYTEPERSEC); rate_alt[1] = num2str(je->rate[1], je->sig_figs, 10, !i2p, N2S_BYTEPERSEC); snprintf(tmp, sizeof(tmp), "%s (%s)", rate_str[1], rate_alt[1]); gtk_entry_set_text(GTK_ENTRY(ge->eta.write_bw), tmp); gtk_entry_set_text(GTK_ENTRY(ge->eta.write_iops), iops_str[1]); rate_str[2] = num2str(je->rate[2], je->sig_figs, 10, i2p, N2S_BYTEPERSEC); rate_alt[2] = num2str(je->rate[2], je->sig_figs, 10, !i2p, N2S_BYTEPERSEC); snprintf(tmp, sizeof(tmp), "%s (%s)", rate_str[2], rate_alt[2]); gtk_entry_set_text(GTK_ENTRY(ge->eta.trim_bw), tmp); gtk_entry_set_text(GTK_ENTRY(ge->eta.trim_iops), iops_str[2]); graph_add_xy_data(ge->graphs.iops_graph, ge->graphs.read_iops, je->elapsed_sec, je->iops[0], iops_str[0]); graph_add_xy_data(ge->graphs.iops_graph, ge->graphs.write_iops, je->elapsed_sec, je->iops[1], iops_str[1]); graph_add_xy_data(ge->graphs.iops_graph, ge->graphs.trim_iops, je->elapsed_sec, je->iops[2], iops_str[2]); graph_add_xy_data(ge->graphs.bandwidth_graph, ge->graphs.read_bw, je->elapsed_sec, je->rate[0], rate_str[0]); graph_add_xy_data(ge->graphs.bandwidth_graph, ge->graphs.write_bw, je->elapsed_sec, je->rate[1], rate_str[1]); graph_add_xy_data(ge->graphs.bandwidth_graph, ge->graphs.trim_bw, je->elapsed_sec, je->rate[2], rate_str[2]); for (i = 0; i < DDIR_RWDIR_CNT; i++) { free(rate_str[i]); free(rate_alt[i]); free(iops_str[i]); } } if (eta_str[0]) { char *dst = output + strlen(output); sprintf(dst, " - %s", eta_str); } gfio_update_thread_status(ge, output, perc); gdk_threads_leave(); } /* * Update ETA in main window for all clients */ static void gfio_update_all_eta(struct jobs_eta *je) { struct gui *ui = &main_ui; static int eta_good; char eta_str[128]; char output[256]; double perc = 0.0; int i, i2p = 0; gdk_threads_enter(); eta_str[0] = '\0'; output[0] = '\0'; if (je->eta_sec != INT_MAX && je->elapsed_sec) { perc = (double) je->elapsed_sec / (double) (je->elapsed_sec + je->eta_sec); eta_to_str(eta_str, je->eta_sec); } entry_set_int_value(ui->eta.jobs, je->nr_running); if (je->eta_sec != INT_MAX && je->nr_running) { char *iops_str[DDIR_RWDIR_CNT]; char *rate_str[DDIR_RWDIR_CNT]; char *rate_alt[DDIR_RWDIR_CNT]; char tmp[128]; if ((!je->eta_sec && !eta_good) || je->nr_ramp == je->nr_running) strcpy(output, "-.-% done"); else { eta_good = 1; perc *= 100.0; sprintf(output, "%3.1f%% done", perc); } iops_str[0] = num2str(je->iops[0], je->sig_figs, 1, 0, N2S_PERSEC); iops_str[1] = num2str(je->iops[1], je->sig_figs, 1, 0, N2S_PERSEC); iops_str[2] = num2str(je->iops[2], je->sig_figs, 1, 0, N2S_PERSEC); rate_str[0] = num2str(je->rate[0], je->sig_figs, 10, i2p, N2S_BYTEPERSEC); rate_alt[0] = num2str(je->rate[0], je->sig_figs, 10, !i2p, N2S_BYTEPERSEC); snprintf(tmp, sizeof(tmp), "%s (%s)", rate_str[0], rate_alt[0]); gtk_entry_set_text(GTK_ENTRY(ui->eta.read_bw), tmp); gtk_entry_set_text(GTK_ENTRY(ui->eta.read_iops), iops_str[0]); rate_str[1] = num2str(je->rate[1], je->sig_figs, 10, i2p, N2S_BYTEPERSEC); rate_alt[1] = num2str(je->rate[1], je->sig_figs, 10, !i2p, N2S_BYTEPERSEC); snprintf(tmp, sizeof(tmp), "%s (%s)", rate_str[1], rate_alt[1]); gtk_entry_set_text(GTK_ENTRY(ui->eta.write_bw), tmp); gtk_entry_set_text(GTK_ENTRY(ui->eta.write_iops), iops_str[1]); rate_str[2] = num2str(je->rate[2], je->sig_figs, 10, i2p, N2S_BYTEPERSEC); rate_alt[2] = num2str(je->rate[2], je->sig_figs, 10, !i2p, N2S_BYTEPERSEC); snprintf(tmp, sizeof(tmp), "%s (%s)", rate_str[2], rate_alt[2]); gtk_entry_set_text(GTK_ENTRY(ui->eta.trim_bw), tmp); gtk_entry_set_text(GTK_ENTRY(ui->eta.trim_iops), iops_str[2]); graph_add_xy_data(ui->graphs.iops_graph, ui->graphs.read_iops, je->elapsed_sec, je->iops[0], iops_str[0]); graph_add_xy_data(ui->graphs.iops_graph, ui->graphs.write_iops, je->elapsed_sec, je->iops[1], iops_str[1]); graph_add_xy_data(ui->graphs.iops_graph, ui->graphs.trim_iops, je->elapsed_sec, je->iops[2], iops_str[2]); graph_add_xy_data(ui->graphs.bandwidth_graph, ui->graphs.read_bw, je->elapsed_sec, je->rate[0], rate_str[0]); graph_add_xy_data(ui->graphs.bandwidth_graph, ui->graphs.write_bw, je->elapsed_sec, je->rate[1], rate_str[1]); graph_add_xy_data(ui->graphs.bandwidth_graph, ui->graphs.trim_bw, je->elapsed_sec, je->rate[2], rate_str[2]); for (i = 0; i < DDIR_RWDIR_CNT; i++) { free(rate_str[i]); free(rate_alt[i]); free(iops_str[i]); } } if (eta_str[0]) { char *dst = output + strlen(output); sprintf(dst, " - %s", eta_str); } gfio_update_thread_status_all(ui, output, perc); gdk_threads_leave(); } static void gfio_probe_op(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_probe_reply_pdu *probe = (struct cmd_probe_reply_pdu *) cmd->payload; struct gfio_client *gc = client->client_data; struct gui_entry *ge = gc->ge; const char *os, *arch; os = fio_get_os_string(probe->os); if (!os) os = "unknown"; arch = fio_get_arch_string(probe->arch); if (!arch) os = "unknown"; if (!client->name) client->name = strdup((char *) probe->hostname); gc->client_cpus = le32_to_cpu(probe->cpus); gc->client_flags = le64_to_cpu(probe->flags); gdk_threads_enter(); gtk_label_set_text(GTK_LABEL(ge->probe.hostname), (char *) probe->hostname); gtk_label_set_text(GTK_LABEL(ge->probe.os), os); gtk_label_set_text(GTK_LABEL(ge->probe.arch), arch); gtk_label_set_text(GTK_LABEL(ge->probe.fio_ver), (char *) probe->fio_version); gfio_set_state(ge, GE_STATE_CONNECTED); gdk_threads_leave(); } static void gfio_quit_op(struct fio_client *client, struct fio_net_cmd *cmd) { struct gfio_client *gc = client->client_data; gdk_threads_enter(); gfio_set_state(gc->ge, GE_STATE_NEW); gdk_threads_leave(); } static struct thread_options *gfio_client_add_job(struct gfio_client *gc, struct thread_options_pack *top, size_t top_sz) { struct gfio_client_options *gco; gco = calloc(1, sizeof(*gco)); if (convert_thread_options_to_cpu(&gco->o, top, top_sz)) { dprint(FD_NET, "client: failed parsing add_job command\n"); return NULL; } INIT_FLIST_HEAD(&gco->list); flist_add_tail(&gco->list, &gc->o_list); gc->o_list_nr = 1; return &gco->o; } static void gfio_add_job_op(struct fio_client *client, struct fio_net_cmd *cmd) { struct cmd_add_job_pdu *p = (struct cmd_add_job_pdu *) cmd->payload; struct gfio_client *gc = client->client_data; struct gui_entry *ge = gc->ge; struct thread_options *o; char *c1, *c2, *c3, *c4; char tmp[80]; int i2p; p->thread_number = le32_to_cpu(p->thread_number); p->groupid = le32_to_cpu(p->groupid); o = gfio_client_add_job(gc, &p->top, cmd->pdu_len - offsetof(struct cmd_add_job_pdu, top)); if (o == NULL) return; gdk_threads_enter(); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(ge->eta.names), (gchar *) o->name); gtk_combo_box_set_active(GTK_COMBO_BOX(ge->eta.names), 0); sprintf(tmp, "%s %s", o->odirect ? "direct" : "buffered", ddir_str(o->td_ddir)); multitext_add_entry(&ge->eta.iotype, tmp); i2p = is_power_of_2(o->kb_base); c1 = num2str(o->min_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE); c2 = num2str(o->max_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE); c3 = num2str(o->min_bs[DDIR_WRITE], o->sig_figs, 1, i2p, N2S_BYTE); c4 = num2str(o->max_bs[DDIR_WRITE], o->sig_figs, 1, i2p, N2S_BYTE); sprintf(tmp, "%s-%s,%s-%s", c1, c2, c3, c4); free(c1); free(c2); free(c3); free(c4); multitext_add_entry(&ge->eta.bs, tmp); multitext_add_entry(&ge->eta.ioengine, (const char *) o->ioengine); sprintf(tmp, "%u", o->iodepth); multitext_add_entry(&ge->eta.iodepth, tmp); multitext_set_entry(&ge->eta.iotype, 0); multitext_set_entry(&ge->eta.bs, 0); multitext_set_entry(&ge->eta.ioengine, 0); multitext_set_entry(&ge->eta.iodepth, 0); gfio_set_state(ge, GE_STATE_JOB_SENT); gdk_threads_leave(); } static void gfio_update_job_op(struct fio_client *client, struct fio_net_cmd *cmd) { uint32_t *pdu_error = (uint32_t *) cmd->payload; struct gfio_client *gc = client->client_data; gc->update_job_status = le32_to_cpu(*pdu_error); gc->update_job_done = 1; } static void gfio_client_timed_out(struct fio_client *client) { struct gfio_client *gc = client->client_data; char buf[256]; gdk_threads_enter(); gfio_set_state(gc->ge, GE_STATE_NEW); clear_ge_ui_info(gc->ge); sprintf(buf, "Client %s: timeout talking to server.\n", client->hostname); gfio_report_info(gc->ge->ui, "Network timeout", buf); gdk_threads_leave(); } static void gfio_client_stop(struct fio_client *client) { struct gfio_client *gc = client->client_data; gdk_threads_enter(); gfio_set_state(gc->ge, GE_STATE_JOB_DONE); if (gc->err_entry) entry_set_int_value(gc->err_entry, client->error); gdk_threads_leave(); } static void gfio_client_start(struct fio_client *client, struct fio_net_cmd *cmd) { struct gfio_client *gc = client->client_data; gdk_threads_enter(); gfio_set_state(gc->ge, GE_STATE_JOB_STARTED); gdk_threads_leave(); } static void gfio_client_job_start(struct fio_client *client, struct fio_net_cmd *cmd) { struct gfio_client *gc = client->client_data; gdk_threads_enter(); gfio_set_state(gc->ge, GE_STATE_JOB_RUNNING); gdk_threads_leave(); } static void gfio_add_total_depths_tree(GtkListStore *model, struct thread_stat *ts, unsigned int len) { double io_u_dist[FIO_IO_U_MAP_NR]; GtkTreeIter iter; /* Bits 1-6, and 8 */ const int add_mask = 0x17e; int i, j; stat_calc_dist(ts->io_u_map, ddir_rw_sum(ts->total_io_u), io_u_dist); gtk_list_store_append(model, &iter); gtk_list_store_set(model, &iter, 0, "Total", -1); for (i = 1, j = 0; i < len; i++) { char fbuf[32]; if (!(add_mask & (1UL << (i - 1)))) sprintf(fbuf, "0.0%%"); else { sprintf(fbuf, "%3.1f%%", io_u_dist[j]); j++; } gtk_list_store_set(model, &iter, i, fbuf, -1); } } static void gfio_add_end_results(struct gfio_client *gc, struct thread_stat *ts, struct group_run_stats *rs) { unsigned int nr = gc->nr_results; gc->results = realloc(gc->results, (nr + 1) * sizeof(struct end_results)); memcpy(&gc->results[nr].ts, ts, sizeof(*ts)); memcpy(&gc->results[nr].gs, rs, sizeof(*rs)); gc->nr_results++; } static void gfio_add_sc_depths_tree(GtkListStore *model, struct thread_stat *ts, unsigned int len, int submit) { double io_u_dist[FIO_IO_U_MAP_NR]; GtkTreeIter iter; /* Bits 0, and 3-8 */ const int add_mask = 0x1f9; int i, j; if (submit) stat_calc_dist(ts->io_u_submit, ts->total_submit, io_u_dist); else stat_calc_dist(ts->io_u_complete, ts->total_complete, io_u_dist); gtk_list_store_append(model, &iter); gtk_list_store_set(model, &iter, 0, submit ? "Submit" : "Complete", -1); for (i = 1, j = 0; i < len; i++) { char fbuf[32]; if (!(add_mask & (1UL << (i - 1)))) sprintf(fbuf, "0.0%%"); else { sprintf(fbuf, "%3.1f%%", io_u_dist[j]); j++; } gtk_list_store_set(model, &iter, i, fbuf, -1); } } static void gfio_show_io_depths(GtkWidget *vbox, struct thread_stat *ts) { GtkWidget *frame, *box, *tree_view = NULL; GtkTreeSelection *selection; GtkListStore *model; int i; const char *labels[] = { "Depth", "0", "1", "2", "4", "8", "16", "32", "64", ">= 64" }; const int nr_labels = FIO_ARRAY_SIZE(labels); GType types[nr_labels]; frame = gtk_frame_new("IO depths"); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); box = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), box); for (i = 0; i < nr_labels; i++) types[i] = G_TYPE_STRING; model = gtk_list_store_newv(nr_labels, types); tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model)); gtk_widget_set_can_focus(tree_view, FALSE); g_object_set(G_OBJECT(tree_view), "headers-visible", TRUE, "enable-grid-lines", GTK_TREE_VIEW_GRID_LINES_BOTH, NULL); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); gtk_tree_selection_set_mode(GTK_TREE_SELECTION(selection), GTK_SELECTION_BROWSE); for (i = 0; i < nr_labels; i++) tree_view_column(tree_view, i, labels[i], ALIGN_RIGHT | UNSORTABLE); gfio_add_total_depths_tree(model, ts, nr_labels); gfio_add_sc_depths_tree(model, ts, nr_labels, 1); gfio_add_sc_depths_tree(model, ts, nr_labels, 0); gtk_box_pack_start(GTK_BOX(box), tree_view, TRUE, TRUE, 3); } static void gfio_show_cpu_usage(GtkWidget *vbox, struct thread_stat *ts) { GtkWidget *box, *frame, *entry; double usr_cpu, sys_cpu; unsigned long runtime; char tmp[32]; runtime = ts->total_run_time; if (runtime) { double runt = (double) runtime; usr_cpu = (double) ts->usr_time * 100 / runt; sys_cpu = (double) ts->sys_time * 100 / runt; } else { usr_cpu = 0; sys_cpu = 0; } frame = gtk_frame_new("OS resources"); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); box = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), box); entry = new_info_entry_in_frame(box, "User CPU"); sprintf(tmp, "%3.2f%%", usr_cpu); gtk_entry_set_text(GTK_ENTRY(entry), tmp); entry = new_info_entry_in_frame(box, "System CPU"); sprintf(tmp, "%3.2f%%", sys_cpu); gtk_entry_set_text(GTK_ENTRY(entry), tmp); entry = new_info_entry_in_frame(box, "Context switches"); entry_set_int_value(entry, ts->ctx); entry = new_info_entry_in_frame(box, "Major faults"); entry_set_int_value(entry, ts->majf); entry = new_info_entry_in_frame(box, "Minor faults"); entry_set_int_value(entry, ts->minf); } static GtkWidget *gfio_output_lat_buckets(double *lat, const char **labels, int num) { GtkWidget *tree_view; GtkTreeSelection *selection; GtkListStore *model; GtkTreeIter iter; GType *types; int i; types = malloc(num * sizeof(GType)); for (i = 0; i < num; i++) types[i] = G_TYPE_STRING; model = gtk_list_store_newv(num, types); free(types); types = NULL; tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model)); gtk_widget_set_can_focus(tree_view, FALSE); g_object_set(G_OBJECT(tree_view), "headers-visible", TRUE, "enable-grid-lines", GTK_TREE_VIEW_GRID_LINES_BOTH, NULL); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); gtk_tree_selection_set_mode(GTK_TREE_SELECTION(selection), GTK_SELECTION_BROWSE); for (i = 0; i < num; i++) tree_view_column(tree_view, i, labels[i], ALIGN_RIGHT | UNSORTABLE); gtk_list_store_append(model, &iter); for (i = 0; i < num; i++) { char fbuf[32]; if (lat[i] <= 0.0) sprintf(fbuf, "0.00"); else sprintf(fbuf, "%3.2f%%", lat[i]); gtk_list_store_set(model, &iter, i, fbuf, -1); } return tree_view; } static struct graph *setup_lat_bucket_graph(const char *title, double *lat, const char **labels, unsigned int len, double xdim, double ydim) { struct graph *g; int i; g = graph_new(xdim, ydim, gfio_graph_font); graph_title(g, title); graph_x_title(g, "Buckets"); graph_y_title(g, "Percent"); for (i = 0; i < len; i++) { graph_label_t l; l = graph_add_label(g, labels[i]); graph_add_data(g, l, lat[i]); } return g; } static int on_expose_lat_drawing_area(GtkWidget *w, GdkEvent *event, gpointer p) { struct graph *g = p; cairo_t *cr; cr = gdk_cairo_create(gtk_widget_get_window(w)); #if 0 if (graph_has_tooltips(g)) { g_object_set(w, "has-tooltip", TRUE, NULL); g_signal_connect(w, "query-tooltip", G_CALLBACK(clat_graph_tooltip), g); } #endif cairo_set_source_rgb(cr, 0, 0, 0); bar_graph_draw(g, cr); cairo_destroy(cr); return FALSE; } static gint on_config_lat_drawing_area(GtkWidget *w, GdkEventConfigure *event, gpointer data) { guint width = gtk_widget_get_allocated_width(w); guint height = gtk_widget_get_allocated_height(w); struct graph *g = data; graph_set_size(g, width, height); graph_set_size(g, width, height); graph_set_position(g, 0, 0); return TRUE; } static void gfio_show_latency_buckets(struct gfio_client *gc, GtkWidget *vbox, struct thread_stat *ts) { double io_u_lat[FIO_IO_U_LAT_N_NR + FIO_IO_U_LAT_U_NR + FIO_IO_U_LAT_M_NR]; const char *ranges[] = { "2ns", "4ns", "10ns", "20ns", "50ns", "100ns", "250ns", "500ns", "750ns", "1000ns", "2us", "4us", "10us", "20us", "50us", "100us", "250us", "500us", "750us", "1ms", "2ms", "4ms", "10ms", "20ms", "50ms", "100ms", "250ms", "500ms", "750ms", "1s", "2s", ">= 2s" }; int start, end, i; const int total = FIO_IO_U_LAT_U_NR + FIO_IO_U_LAT_M_NR; GtkWidget *frame, *tree_view, *hbox, *completion_vbox, *drawing_area; struct gui_entry *ge = gc->ge; stat_calc_lat_n(ts, io_u_lat); stat_calc_lat_u(ts, &io_u_lat[FIO_IO_U_LAT_N_NR]); stat_calc_lat_m(ts, &io_u_lat[FIO_IO_U_LAT_N_NR + FIO_IO_U_LAT_U_NR]); /* * Found out which first bucket has entries, and which last bucket */ start = end = -1U; for (i = 0; i < total; i++) { if (io_u_lat[i] == 0.00) continue; if (start == -1U) start = i; end = i; } /* * No entries... */ if (start == -1U) return; tree_view = gfio_output_lat_buckets(&io_u_lat[start], &ranges[start], end - start + 1); ge->lat_bucket_graph = setup_lat_bucket_graph("Latency buckets", &io_u_lat[start], &ranges[start], end - start + 1, 700.0, 300.0); frame = gtk_frame_new("Latency buckets"); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); completion_vbox = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), completion_vbox); hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(completion_vbox), hbox); drawing_area = gtk_drawing_area_new(); gtk_widget_set_size_request(GTK_WIDGET(drawing_area), 700, 300); gtk_widget_modify_bg(drawing_area, GTK_STATE_NORMAL, &gfio_color_white); gtk_container_add(GTK_CONTAINER(completion_vbox), drawing_area); g_signal_connect(G_OBJECT(drawing_area), GFIO_DRAW_EVENT, G_CALLBACK(on_expose_lat_drawing_area), ge->lat_bucket_graph); g_signal_connect(G_OBJECT(drawing_area), "configure_event", G_CALLBACK(on_config_lat_drawing_area), ge->lat_bucket_graph); gtk_box_pack_start(GTK_BOX(hbox), tree_view, TRUE, TRUE, 3); } static void gfio_show_lat(GtkWidget *vbox, const char *name, unsigned long long min, unsigned long long max, double mean, double dev) { const char *base = "(nsec)"; GtkWidget *hbox, *label, *frame; char *minp, *maxp; char tmp[64]; if (nsec_to_msec(&min, &max, &mean, &dev)) base = "(msec)"; else if (nsec_to_usec(&min, &max, &mean, &dev)) base = "(usec)"; minp = num2str(min, 6, 1, 0, N2S_NONE); maxp = num2str(max, 6, 1, 0, N2S_NONE); sprintf(tmp, "%s %s", name, base); frame = gtk_frame_new(tmp); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), hbox); label = new_info_label_in_frame(hbox, "Minimum"); gtk_label_set_text(GTK_LABEL(label), minp); label = new_info_label_in_frame(hbox, "Maximum"); gtk_label_set_text(GTK_LABEL(label), maxp); label = new_info_label_in_frame(hbox, "Average"); sprintf(tmp, "%5.02f", mean); gtk_label_set_text(GTK_LABEL(label), tmp); label = new_info_label_in_frame(hbox, "Standard deviation"); sprintf(tmp, "%5.02f", dev); gtk_label_set_text(GTK_LABEL(label), tmp); free(minp); free(maxp); } static GtkWidget *gfio_output_clat_percentiles(unsigned long long *ovals, fio_fp64_t *plist, unsigned int len, const char *base, unsigned int scale) { GType types[FIO_IO_U_LIST_MAX_LEN]; GtkWidget *tree_view; GtkTreeSelection *selection; GtkListStore *model; GtkTreeIter iter; int i, j; for (i = 0; i < len; i++) types[i] = G_TYPE_ULONG; model = gtk_list_store_newv(len, types); tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model)); gtk_widget_set_can_focus(tree_view, FALSE); g_object_set(G_OBJECT(tree_view), "headers-visible", TRUE, "enable-grid-lines", GTK_TREE_VIEW_GRID_LINES_BOTH, NULL); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); gtk_tree_selection_set_mode(GTK_TREE_SELECTION(selection), GTK_SELECTION_BROWSE); for (i = 0; i < len; i++) { char fbuf[8]; sprintf(fbuf, "%2.2f%%", plist[i].u.f); tree_view_column(tree_view, i, fbuf, ALIGN_RIGHT | UNSORTABLE); } gtk_list_store_append(model, &iter); for (i = 0; i < len; i++) { for (j = 0; j < scale; j++) ovals[i] = (ovals[i] + 999) / 1000; gtk_list_store_set(model, &iter, i, (unsigned long) ovals[i], -1); } return tree_view; } static struct graph *setup_clat_graph(char *title, unsigned long long *ovals, fio_fp64_t *plist, unsigned int len, double xdim, double ydim) { struct graph *g; int i; g = graph_new(xdim, ydim, gfio_graph_font); graph_title(g, title); graph_x_title(g, "Percentile"); graph_y_title(g, "Time"); for (i = 0; i < len; i++) { graph_label_t l; char fbuf[8]; sprintf(fbuf, "%2.2f%%", plist[i].u.f); l = graph_add_label(g, fbuf); graph_add_data(g, l, (double) ovals[i]); } return g; } static void gfio_show_clat_percentiles(struct gfio_client *gc, GtkWidget *vbox, struct thread_stat *ts, int ddir, uint64_t *io_u_plat, unsigned long long nr, const char *type) { fio_fp64_t *plist = ts->percentile_list; unsigned int len, scale_down; unsigned long long *ovals, minv, maxv; const char *base; GtkWidget *tree_view, *frame, *hbox, *drawing_area, *completion_vbox; struct gui_entry *ge = gc->ge; char tmp[64]; len = calc_clat_percentiles(io_u_plat, nr, plist, &ovals, &maxv, &minv); if (!len) goto out; /* * We default to nsecs, but if the value range is such that we * should scale down to usecs or msecs, do that. */ if (minv > 2000000 && maxv > 99999999ULL) { scale_down = 2; base = "msec"; } else if (minv > 2000 && maxv > 99999) { scale_down = 1; base = "usec"; } else { scale_down = 0; base = "nsec"; } sprintf(tmp, "%s latency percentiles (%s)", type, base); tree_view = gfio_output_clat_percentiles(ovals, plist, len, base, scale_down); ge->clat_graph = setup_clat_graph(tmp, ovals, plist, len, 700.0, 300.0); frame = gtk_frame_new(tmp); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); completion_vbox = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), completion_vbox); hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(completion_vbox), hbox); drawing_area = gtk_drawing_area_new(); gtk_widget_set_size_request(GTK_WIDGET(drawing_area), 700, 300); gtk_widget_modify_bg(drawing_area, GTK_STATE_NORMAL, &gfio_color_white); gtk_container_add(GTK_CONTAINER(completion_vbox), drawing_area); g_signal_connect(G_OBJECT(drawing_area), GFIO_DRAW_EVENT, G_CALLBACK(on_expose_lat_drawing_area), ge->clat_graph); g_signal_connect(G_OBJECT(drawing_area), "configure_event", G_CALLBACK(on_config_lat_drawing_area), ge->clat_graph); gtk_box_pack_start(GTK_BOX(hbox), tree_view, TRUE, TRUE, 3); out: if (ovals) free(ovals); } #define GFIO_CLAT 1 #define GFIO_SLAT 2 #define GFIO_LAT 4 static void gfio_show_ddir_status(struct gfio_client *gc, GtkWidget *mbox, struct group_run_stats *rs, struct thread_stat *ts, int ddir) { const char *ddir_label[3] = { "Read", "Write", "Trim" }; GtkWidget *frame, *label, *box, *vbox, *main_vbox; unsigned long long min[3], max[3]; unsigned long runt; unsigned long long bw, iops; unsigned int flags = 0; double mean[3], dev[3]; char *io_p, *io_palt, *bw_p, *bw_palt, *iops_p; char tmp[128]; int i2p; if (!ts->runtime[ddir]) return; i2p = is_power_of_2(rs->kb_base); runt = ts->runtime[ddir]; bw = (1000 * ts->io_bytes[ddir]) / runt; iops = (1000 * (uint64_t)ts->total_io_u[ddir]) / runt; iops_p = num2str(iops, ts->sig_figs, 1, 0, N2S_PERSEC); box = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(mbox), box, TRUE, FALSE, 3); frame = gtk_frame_new(ddir_label[ddir]); gtk_box_pack_start(GTK_BOX(box), frame, TRUE, TRUE, 5); main_vbox = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), main_vbox); box = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(main_vbox), box, TRUE, FALSE, 3); label = new_info_label_in_frame(box, "IO"); io_p = num2str(ts->io_bytes[ddir], ts->sig_figs, 1, i2p, N2S_BYTE); io_palt = num2str(ts->io_bytes[ddir], ts->sig_figs, 1, !i2p, N2S_BYTE); snprintf(tmp, sizeof(tmp), "%s (%s)", io_p, io_palt); gtk_label_set_text(GTK_LABEL(label), tmp); label = new_info_label_in_frame(box, "Bandwidth"); bw_p = num2str(bw, ts->sig_figs, 1, i2p, ts->unit_base); bw_palt = num2str(bw, ts->sig_figs, 1, !i2p, ts->unit_base); snprintf(tmp, sizeof(tmp), "%s (%s)", bw_p, bw_palt); gtk_label_set_text(GTK_LABEL(label), tmp); label = new_info_label_in_frame(box, "IOPS"); gtk_label_set_text(GTK_LABEL(label), iops_p); label = new_info_label_in_frame(box, "Runtime (msec)"); label_set_int_value(label, ts->runtime[ddir]); if (calc_lat(&ts->bw_stat[ddir], &min[0], &max[0], &mean[0], &dev[0])) { double p_of_agg = 100.0; const char *bw_str = "KiB/s"; char tmp[32]; if (rs->agg[ddir]) { p_of_agg = mean[0] * 100 / (double) rs->agg[ddir]; if (p_of_agg > 100.0) p_of_agg = 100.0; } if (mean[0] > 1073741824.9) { min[0] /= 1048576.0; max[0] /= 1048576.0; mean[0] /= 1048576.0; dev[0] /= 1048576.0; bw_str = "GiB/s"; } if (mean[0] > 1047575.9) { min[0] /= 1024.0; max[0] /= 1024.0; mean[0] /= 1024.0; dev[0] /= 1024.0; bw_str = "MiB/s"; } sprintf(tmp, "Bandwidth (%s)", bw_str); frame = gtk_frame_new(tmp); gtk_box_pack_start(GTK_BOX(main_vbox), frame, FALSE, FALSE, 5); box = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), box); label = new_info_label_in_frame(box, "Minimum"); label_set_int_value(label, min[0]); label = new_info_label_in_frame(box, "Maximum"); label_set_int_value(label, max[0]); label = new_info_label_in_frame(box, "Percentage of jobs"); sprintf(tmp, "%3.2f%%", p_of_agg); gtk_label_set_text(GTK_LABEL(label), tmp); label = new_info_label_in_frame(box, "Average"); sprintf(tmp, "%5.02f", mean[0]); gtk_label_set_text(GTK_LABEL(label), tmp); label = new_info_label_in_frame(box, "Standard deviation"); sprintf(tmp, "%5.02f", dev[0]); gtk_label_set_text(GTK_LABEL(label), tmp); } if (calc_lat(&ts->slat_stat[ddir], &min[0], &max[0], &mean[0], &dev[0])) flags |= GFIO_SLAT; if (calc_lat(&ts->clat_stat[ddir], &min[1], &max[1], &mean[1], &dev[1])) flags |= GFIO_CLAT; if (calc_lat(&ts->lat_stat[ddir], &min[2], &max[2], &mean[2], &dev[2])) flags |= GFIO_LAT; if (flags) { frame = gtk_frame_new("Latency"); gtk_box_pack_start(GTK_BOX(main_vbox), frame, FALSE, FALSE, 5); vbox = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), vbox); if (flags & GFIO_SLAT) gfio_show_lat(vbox, "Submission latency", min[0], max[0], mean[0], dev[0]); if (flags & GFIO_CLAT) gfio_show_lat(vbox, "Completion latency", min[1], max[1], mean[1], dev[1]); if (flags & GFIO_LAT) gfio_show_lat(vbox, "Total latency", min[2], max[2], mean[2], dev[2]); } if (ts->slat_percentiles && flags & GFIO_SLAT) gfio_show_clat_percentiles(gc, main_vbox, ts, ddir, ts->io_u_plat[FIO_SLAT][ddir], ts->slat_stat[ddir].samples, "Submission"); if (ts->clat_percentiles && flags & GFIO_CLAT) gfio_show_clat_percentiles(gc, main_vbox, ts, ddir, ts->io_u_plat[FIO_CLAT][ddir], ts->clat_stat[ddir].samples, "Completion"); if (ts->lat_percentiles && flags & GFIO_LAT) gfio_show_clat_percentiles(gc, main_vbox, ts, ddir, ts->io_u_plat[FIO_LAT][ddir], ts->lat_stat[ddir].samples, "Total"); free(io_p); free(bw_p); free(io_palt); free(bw_palt); free(iops_p); } static void __gfio_display_end_results(GtkWidget *win, struct gfio_client *gc, struct thread_stat *ts, struct group_run_stats *rs) { GtkWidget *box, *vbox, *entry, *scroll; int i; scroll = gtk_scrolled_window_new(NULL, NULL); gtk_container_set_border_width(GTK_CONTAINER(scroll), 5); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); vbox = gtk_vbox_new(FALSE, 3); box = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), box, TRUE, FALSE, 5); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll), vbox); gtk_notebook_append_page(GTK_NOTEBOOK(win), scroll, gtk_label_new(ts->name)); entry = new_info_entry_in_frame(box, "Name"); gtk_entry_set_text(GTK_ENTRY(entry), ts->name); if (strlen(ts->description)) { entry = new_info_entry_in_frame(box, "Description"); gtk_entry_set_text(GTK_ENTRY(entry), ts->description); } entry = new_info_entry_in_frame(box, "Group ID"); entry_set_int_value(entry, ts->groupid); entry = new_info_entry_in_frame(box, "Jobs"); entry_set_int_value(entry, ts->members); gc->err_entry = entry = new_info_entry_in_frame(box, "Error"); entry_set_int_value(entry, ts->error); entry = new_info_entry_in_frame(box, "PID"); entry_set_int_value(entry, ts->pid); for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (ts->io_bytes[i]) gfio_show_ddir_status(gc, vbox, rs, ts, i); } gfio_show_latency_buckets(gc, vbox, ts); gfio_show_cpu_usage(vbox, ts); gfio_show_io_depths(vbox, ts); } void gfio_display_end_results(struct gfio_client *gc) { struct gui_entry *ge = gc->ge; GtkWidget *res_notebook; int i; res_notebook = get_results_window(ge); for (i = 0; i < gc->nr_results; i++) { struct end_results *e = &gc->results[i]; __gfio_display_end_results(res_notebook, gc, &e->ts, &e->gs); } if (gfio_disk_util_show(gc)) gtk_widget_show_all(ge->results_window); } static void gfio_display_ts(struct fio_client *client, struct thread_stat *ts, struct group_run_stats *rs) { struct gfio_client *gc = client->client_data; struct gui_entry *ge = gc->ge; gfio_add_end_results(gc, ts, rs); gdk_threads_enter(); if (ge->results_window) __gfio_display_end_results(ge->results_notebook, gc, ts, rs); else gfio_display_end_results(gc); gdk_threads_leave(); } static void gfio_client_removed(struct fio_client *client) { struct gfio_client *gc = client->client_data; assert(gc->client == client); fio_put_client(gc->client); gc->client = NULL; } struct client_ops gfio_client_ops = { .text = gfio_text_op, .disk_util = gfio_disk_util_op, .thread_status = gfio_thread_status_op, .group_stats = gfio_group_stats_op, .jobs_eta = gfio_update_client_eta, .eta = gfio_update_all_eta, .probe = gfio_probe_op, .quit = gfio_quit_op, .add_job = gfio_add_job_op, .update_job = gfio_update_job_op, .timed_out = gfio_client_timed_out, .stop = gfio_client_stop, .start = gfio_client_start, .job_start = gfio_client_job_start, .removed = gfio_client_removed, .eta_msec = FIO_CLIENT_DEF_ETA_MSEC, .stay_connected = 1, .client_type = FIO_CLIENT_TYPE_GUI, }; fio-3.39/gclient.h000066400000000000000000000006011476262051600140310ustar00rootroot00000000000000#ifndef GFIO_CLIENT_H #define GFIO_CLIENT_H extern struct client_ops gfio_client_ops; extern void gfio_display_end_results(struct gfio_client *); #define GFIO_READ_R 0.13 #define GFIO_READ_G 0.54 #define GFIO_READ_B 0.13 #define GFIO_WRITE_R 1.00 #define GFIO_WRITE_G 0.00 #define GFIO_WRITE_B 0.00 #define GFIO_TRIM_R 0.24 #define GFIO_TRIM_G 0.18 #define GFIO_TRIM_B 0.52 #endif fio-3.39/gcompat.c000066400000000000000000000023721476262051600140400ustar00rootroot00000000000000#include #include "gcompat.h" #if GTK_MAJOR_VERSION <= 2 && GTK_MINOR_VERSION < 24 GtkWidget *gtk_combo_box_text_new(void) { return gtk_combo_box_new(); } void gtk_combo_box_text_append_text(GtkComboBoxText *combo_box, const gchar *text) { gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box), text); } void gtk_combo_box_text_insert_text(GtkComboBoxText *combo_box, gint position, const gchar *text) { gtk_combo_box_insert_text(GTK_COMBO_BOX(combo_box), position, text); } void gtk_combo_box_text_prepend_text(GtkComboBoxText *combo_box, const gchar *text) { gtk_combo_box_prepend_text(GTK_COMBO_BOX(combo_box), text); } gchar *gtk_combo_box_text_get_active_text(GtkComboBoxText *combo_box) { return gtk_combo_box_get_active_text(GTK_COMBO_BOX(combo_box)); } #endif #if GTK_MAJOR_VERSION < 3 guint gtk_widget_get_allocated_width(GtkWidget *w) { return w->allocation.width; } guint gtk_widget_get_allocated_height(GtkWidget *w) { return w->allocation.height; } #endif #if GTK_MAJOR_VERSION <= 2 && GTK_MINOR_VERSION < 18 void gtk_widget_set_can_focus(GtkWidget *widget, gboolean can_focus) { if (can_focus) GTK_WIDGET_SET_FLAGS(widget, GTK_CAN_FOCUS); else GTK_WIDGET_UNSET_FLAGS(widget, GTK_CAN_FOCUS); } #endif fio-3.39/gcompat.h000066400000000000000000000026551476262051600140510ustar00rootroot00000000000000#ifndef GFIO_GTK_COMPAT #define GFIO_GTK_COMPAT #include #if GTK_MAJOR_VERSION <= 2 && GTK_MINOR_VERSION < 24 struct GtkComboBoxText; typedef GtkComboBox GtkComboBoxText; GtkWidget *gtk_combo_box_text_new(void); GtkWidget *gtk_combo_box_text_new_with_entry(void); void gtk_combo_box_text_append_text(GtkComboBoxText *combo_box, const gchar *text); void gtk_combo_box_text_insert_text(GtkComboBoxText *combo_box, gint position, const gchar *text); void gtk_combo_box_text_prepend_text(GtkComboBoxText *combo_box, const gchar *text); void gtk_combo_box_text_remove(GtkComboBoxText *combo_box, gint position); gchar *gtk_combo_box_text_get_active_text(GtkComboBoxText *combo_box); #define GTK_COMBO_BOX_TEXT GTK_COMBO_BOX #endif /* GTK_MAJOR_VERSION <= 2 && GTK_MINOR_VERSION < 24 */ #if GTK_MAJOR_VERSION <= 2 && GTK_MINOR_VERSION < 14 static inline GtkWidget *gtk_dialog_get_content_area(GtkDialog *dialog) { return dialog->vbox; } static inline GdkWindow *gtk_widget_get_window(GtkWidget *w) { return w->window; } #endif #if GTK_MAJOR_VERSION < 3 guint gtk_widget_get_allocated_width(GtkWidget *w); guint gtk_widget_get_allocated_height(GtkWidget *w); #endif #if GTK_MAJOR_VERSION == 3 #define GFIO_DRAW_EVENT "draw" #elif GTK_MAJOR_VERSION == 2 #define GFIO_DRAW_EVENT "expose_event" #endif #if GTK_MAJOR_VERSION <= 2 && GTK_MINOR_VERSION < 18 void gtk_widget_set_can_focus(GtkWidget *widget, gboolean can_focus); #endif #endif fio-3.39/gerror.c000066400000000000000000000041261476262051600137050ustar00rootroot00000000000000#include #include #include #include #include #include "gfio.h" #include "gerror.h" static void on_info_bar_response(GtkWidget *widget, gint response, gpointer data) { struct gui *ui = (struct gui *) data; if (response == GTK_RESPONSE_OK) { gtk_widget_destroy(widget); ui->error_info_bar = NULL; } } static void report_error(struct gui_entry *ge, GError *error) { struct gui *ui = ge->ui; if (ui->error_info_bar == NULL) { GtkWidget *container; ui->error_info_bar = gtk_info_bar_new_with_buttons(GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); g_signal_connect(ui->error_info_bar, "response", G_CALLBACK(on_info_bar_response), ui); gtk_info_bar_set_message_type(GTK_INFO_BAR(ui->error_info_bar), GTK_MESSAGE_ERROR); ui->error_label = gtk_label_new(error->message); container = gtk_info_bar_get_content_area(GTK_INFO_BAR(ui->error_info_bar)); gtk_container_add(GTK_CONTAINER(container), ui->error_label); gtk_box_pack_start(GTK_BOX(ui->vbox), ui->error_info_bar, FALSE, FALSE, 0); gtk_widget_show_all(ui->vbox); } else { char buffer[256]; snprintf(buffer, sizeof(buffer), "Failed to open file."); gtk_label_set_text(GTK_LABEL(ui->error_label), buffer); } } void gfio_report_error(struct gui_entry *ge, const char *format, ...) { va_list args; GError *error; va_start(args, format); error = g_error_new_valist(g_quark_from_string("fio"), 1, format, args); va_end(args); report_error(ge, error); g_error_free(error); } void gfio_report_info(struct gui *ui, const char *title, const char *message) { GtkWidget *dialog, *content, *label; dialog = gtk_dialog_new_with_buttons(title, GTK_WINDOW(ui->window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); content = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); label = gtk_label_new(message); gtk_container_add(GTK_CONTAINER(content), label); gtk_widget_show_all(dialog); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } fio-3.39/gerror.h000066400000000000000000000003271476262051600137110ustar00rootroot00000000000000#ifndef GFIO_ERROR_H #define GFIO_ERROR_H extern void gfio_report_error(struct gui_entry *ge, const char *format, ...); extern void gfio_report_info(struct gui *ui, const char *title, const char *message); #endif fio-3.39/gettime-thread.c000066400000000000000000000037701476262051600153140ustar00rootroot00000000000000#include #include #include "fio.h" #include "lib/seqlock.h" #include "smalloc.h" struct fio_ts *fio_ts; int fio_gtod_offload = 0; static pthread_t gtod_thread; static os_cpu_mask_t fio_gtod_cpumask; void fio_gtod_init(void) { if (fio_ts) return; fio_ts = smalloc(sizeof(*fio_ts)); } static void fio_gtod_update(void) { struct timeval __tv; if (!fio_ts) return; gettimeofday(&__tv, NULL); write_seqlock_begin(&fio_ts->seqlock); fio_ts->ts.tv_sec = __tv.tv_sec; fio_ts->ts.tv_nsec = __tv.tv_usec * 1000; write_seqlock_end(&fio_ts->seqlock); } struct gtod_cpu_data { struct fio_sem *sem; unsigned int cpu; }; static void *gtod_thread_main(void *data) { struct fio_sem *sem = data; int ret; ret = fio_setaffinity(gettid(), fio_gtod_cpumask); fio_sem_up(sem); if (ret == -1) { log_err("gtod: setaffinity failed\n"); return NULL; } /* * As long as we have jobs around, update the clock. It would be nice * to have some way of NOT hammering that CPU with gettimeofday(), * but I'm not sure what to use outside of a simple CPU nop to relax * it - we don't want to lose precision. */ while (nr_segments) { fio_gtod_update(); nop; } return NULL; } int fio_start_gtod_thread(void) { struct fio_sem *sem; pthread_attr_t attr; int ret; sem = fio_sem_init(FIO_SEM_LOCKED); if (!sem) return 1; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 2 * PTHREAD_STACK_MIN); ret = pthread_create(>od_thread, &attr, gtod_thread_main, sem); pthread_attr_destroy(&attr); if (ret) { log_err("Can't create gtod thread: %s\n", strerror(ret)); goto err; } ret = pthread_detach(gtod_thread); if (ret) { log_err("Can't detach gtod thread: %s\n", strerror(ret)); goto err; } dprint(FD_MUTEX, "wait on startup_sem\n"); fio_sem_down(sem); dprint(FD_MUTEX, "done waiting on startup_sem\n"); err: fio_sem_remove(sem); return ret; } void fio_gtod_set_cpu(unsigned int cpu) { #ifdef FIO_HAVE_CPU_AFFINITY fio_cpu_set(&fio_gtod_cpumask, cpu); #endif } fio-3.39/gettime.c000066400000000000000000000420171476262051600140440ustar00rootroot00000000000000/* * Clock functions */ #include #include "fio.h" #include "os/os.h" #if defined(ARCH_HAVE_CPU_CLOCK) #ifndef ARCH_CPU_CLOCK_CYCLES_PER_USEC static unsigned long long cycles_per_msec; static unsigned long long cycles_start; static unsigned long long clock_mult; static unsigned long long max_cycles_mask; static unsigned long long nsecs_for_max_cycles; static unsigned int clock_shift; static unsigned int max_cycles_shift; #define MAX_CLOCK_SEC 60*60 #endif #ifdef ARCH_CPU_CLOCK_WRAPS static unsigned int cycles_wrap; #endif #endif bool tsc_reliable = false; struct tv_valid { int warned; }; #ifdef ARCH_HAVE_CPU_CLOCK #ifdef CONFIG_TLS_THREAD static __thread struct tv_valid static_tv_valid; #else static pthread_key_t tv_tls_key; #endif #endif enum fio_cs fio_clock_source = FIO_PREFERRED_CLOCK_SOURCE; int fio_clock_source_set = 0; static enum fio_cs fio_clock_source_inited = CS_INVAL; #ifdef FIO_DEBUG_TIME #define HASH_BITS 8 #define HASH_SIZE (1 << HASH_BITS) static struct flist_head hash[HASH_SIZE]; static int gtod_inited; struct gtod_log { struct flist_head list; void *caller; unsigned long calls; }; static struct gtod_log *find_hash(void *caller) { unsigned long h = hash_ptr(caller, HASH_BITS); struct flist_head *entry; flist_for_each(entry, &hash[h]) { struct gtod_log *log = flist_entry(entry, struct gtod_log, list); if (log->caller == caller) return log; } return NULL; } static void inc_caller(void *caller) { struct gtod_log *log = find_hash(caller); if (!log) { unsigned long h; log = malloc(sizeof(*log)); INIT_FLIST_HEAD(&log->list); log->caller = caller; log->calls = 0; h = hash_ptr(caller, HASH_BITS); flist_add_tail(&log->list, &hash[h]); } log->calls++; } static void gtod_log_caller(void *caller) { if (gtod_inited) inc_caller(caller); } static void fio_exit fio_dump_gtod(void) { unsigned long total_calls = 0; int i; for (i = 0; i < HASH_SIZE; i++) { struct flist_head *entry; struct gtod_log *log; flist_for_each(entry, &hash[i]) { log = flist_entry(entry, struct gtod_log, list); printf("function %p, calls %lu\n", log->caller, log->calls); total_calls += log->calls; } } printf("Total %lu gettimeofday\n", total_calls); } static void fio_init gtod_init(void) { int i; for (i = 0; i < HASH_SIZE; i++) INIT_FLIST_HEAD(&hash[i]); gtod_inited = 1; } #endif /* FIO_DEBUG_TIME */ /* * Queries the value of the monotonic clock if a monotonic clock is available * or the wall clock time if no monotonic clock is available. Returns 0 if * querying the clock succeeded or -1 if querying the clock failed. */ int fio_get_mono_time(struct timespec *ts) { int ret; #ifdef CONFIG_CLOCK_GETTIME #if defined(CONFIG_CLOCK_MONOTONIC) ret = clock_gettime(CLOCK_MONOTONIC, ts); #else ret = clock_gettime(CLOCK_REALTIME, ts); #endif #else struct timeval tv; ret = gettimeofday(&tv, NULL); if (ret == 0) { ts->tv_sec = tv.tv_sec; ts->tv_nsec = tv.tv_usec * 1000; } #endif assert(ret <= 0); return ret; } static void __fio_gettime(struct timespec *tp) { switch (fio_clock_source) { #ifdef CONFIG_GETTIMEOFDAY case CS_GTOD: { struct timeval tv; gettimeofday(&tv, NULL); tp->tv_sec = tv.tv_sec; tp->tv_nsec = tv.tv_usec * 1000; break; } #endif #ifdef CONFIG_CLOCK_GETTIME case CS_CGETTIME: { if (fio_get_mono_time(tp) < 0) { log_err("fio: fio_get_mono_time() fails\n"); assert(0); } break; } #endif #ifdef ARCH_HAVE_CPU_CLOCK case CS_CPUCLOCK: { uint64_t nsecs, t, multiples; struct tv_valid *tv; #ifdef CONFIG_TLS_THREAD tv = &static_tv_valid; #else tv = pthread_getspecific(tv_tls_key); #endif t = get_cpu_clock(); #ifdef ARCH_CPU_CLOCK_WRAPS if (t < cycles_start && !cycles_wrap) cycles_wrap = 1; else if (cycles_wrap && t >= cycles_start && !tv->warned) { log_err("fio: double CPU clock wrap\n"); tv->warned = 1; } #endif #ifdef ARCH_CPU_CLOCK_CYCLES_PER_USEC nsecs = t / ARCH_CPU_CLOCK_CYCLES_PER_USEC * 1000; #else t -= cycles_start; multiples = t >> max_cycles_shift; nsecs = multiples * nsecs_for_max_cycles; nsecs += ((t & max_cycles_mask) * clock_mult) >> clock_shift; #endif tp->tv_sec = nsecs / 1000000000ULL; tp->tv_nsec = nsecs % 1000000000ULL; break; } #endif default: log_err("fio: invalid clock source %d\n", fio_clock_source); break; } } #ifdef FIO_DEBUG_TIME void fio_gettime(struct timespec *tp, void *caller) #else void fio_gettime(struct timespec *tp, void fio_unused *caller) #endif { #ifdef FIO_DEBUG_TIME if (!caller) caller = __builtin_return_address(0); gtod_log_caller(caller); #endif if (fio_unlikely(fio_gettime_offload(tp))) return; __fio_gettime(tp); } #if defined(ARCH_HAVE_CPU_CLOCK) && !defined(ARCH_CPU_CLOCK_CYCLES_PER_USEC) static unsigned long get_cycles_per_msec(void) { struct timespec s, e; uint64_t c_s, c_e; uint64_t elapsed; fio_get_mono_time(&s); c_s = get_cpu_clock(); do { fio_get_mono_time(&e); c_e = get_cpu_clock(); elapsed = ntime_since(&s, &e); if (elapsed >= 1280000) break; } while (1); return (c_e - c_s) * 1000000 / elapsed; } #define NR_TIME_ITERS 50 static int calibrate_cpu_clock(void) { double delta, mean, S; uint64_t minc, maxc, avg, cycles[NR_TIME_ITERS]; int i, samples, sft = 0; unsigned long long tmp, max_ticks, max_mult; cycles[0] = get_cycles_per_msec(); S = delta = mean = 0.0; for (i = 0; i < NR_TIME_ITERS; i++) { cycles[i] = get_cycles_per_msec(); delta = cycles[i] - mean; if (delta) { mean += delta / (i + 1.0); S += delta * (cycles[i] - mean); } } /* * The most common platform clock breakage is returning zero * indefinitely. Check for that and return failure. */ if (!cycles[0] && !cycles[NR_TIME_ITERS - 1]) return 1; S = sqrt(S / (NR_TIME_ITERS - 1.0)); minc = -1ULL; maxc = samples = avg = 0; for (i = 0; i < NR_TIME_ITERS; i++) { double this = cycles[i]; minc = min(cycles[i], minc); maxc = max(cycles[i], maxc); if ((fmax(this, mean) - fmin(this, mean)) > S) continue; samples++; avg += this; } S /= (double) NR_TIME_ITERS; for (i = 0; i < NR_TIME_ITERS; i++) dprint(FD_TIME, "cycles[%d]=%llu\n", i, (unsigned long long) cycles[i]); avg /= samples; cycles_per_msec = avg; dprint(FD_TIME, "min=%llu, max=%llu, mean=%f, S=%f, N=%d\n", (unsigned long long) minc, (unsigned long long) maxc, mean, S, NR_TIME_ITERS); dprint(FD_TIME, "trimmed mean=%llu, N=%d\n", (unsigned long long) avg, samples); max_ticks = MAX_CLOCK_SEC * cycles_per_msec * 1000ULL; max_mult = ULLONG_MAX / max_ticks; dprint(FD_TIME, "max_ticks=%llu, __builtin_clzll=%d, " "max_mult=%llu\n", max_ticks, __builtin_clzll(max_ticks), max_mult); /* * Find the largest shift count that will produce * a multiplier that does not exceed max_mult */ tmp = max_mult * cycles_per_msec / 1000000; while (tmp > 1) { tmp >>= 1; sft++; dprint(FD_TIME, "tmp=%llu, sft=%u\n", tmp, sft); } clock_shift = sft; clock_mult = (1ULL << sft) * 1000000 / cycles_per_msec; dprint(FD_TIME, "clock_shift=%u, clock_mult=%llu\n", clock_shift, clock_mult); /* * Find the greatest power of 2 clock ticks that is less than the * ticks in MAX_CLOCK_SEC */ max_cycles_shift = max_cycles_mask = 0; tmp = MAX_CLOCK_SEC * 1000ULL * cycles_per_msec; dprint(FD_TIME, "tmp=%llu, max_cycles_shift=%u\n", tmp, max_cycles_shift); while (tmp > 1) { tmp >>= 1; max_cycles_shift++; dprint(FD_TIME, "tmp=%llu, max_cycles_shift=%u\n", tmp, max_cycles_shift); } /* * if use use (1ULL << max_cycles_shift) * 1000 / cycles_per_msec * here we will have a discontinuity every * (1ULL << max_cycles_shift) cycles */ nsecs_for_max_cycles = ((1ULL << max_cycles_shift) * clock_mult) >> clock_shift; /* Use a bitmask to calculate ticks % (1ULL << max_cycles_shift) */ for (tmp = 0; tmp < max_cycles_shift; tmp++) max_cycles_mask |= 1ULL << tmp; dprint(FD_TIME, "max_cycles_shift=%u, 2^max_cycles_shift=%llu, " "nsecs_for_max_cycles=%llu, " "max_cycles_mask=%016llx\n", max_cycles_shift, (1ULL << max_cycles_shift), nsecs_for_max_cycles, max_cycles_mask); cycles_start = get_cpu_clock(); dprint(FD_TIME, "cycles_start=%llu\n", cycles_start); return 0; } #else static int calibrate_cpu_clock(void) { #ifdef ARCH_CPU_CLOCK_CYCLES_PER_USEC return 0; #else return 1; #endif } #endif // ARCH_HAVE_CPU_CLOCK #if defined(ARCH_HAVE_CPU_CLOCK) && !defined(CONFIG_TLS_THREAD) void fio_local_clock_init(void) { struct tv_valid *t; t = calloc(1, sizeof(*t)); if (pthread_setspecific(tv_tls_key, t)) { log_err("fio: can't set TLS key\n"); assert(0); } } static void kill_tv_tls_key(void *data) { free(data); } #else void fio_local_clock_init(void) { } #endif void fio_clock_init(void) { if (fio_clock_source == fio_clock_source_inited) return; #if defined(ARCH_HAVE_CPU_CLOCK) && !defined(CONFIG_TLS_THREAD) if (pthread_key_create(&tv_tls_key, kill_tv_tls_key)) log_err("fio: can't create TLS key\n"); #endif fio_clock_source_inited = fio_clock_source; if (calibrate_cpu_clock()) tsc_reliable = false; /* * If the arch sets tsc_reliable != 0, then it must be good enough * to use as THE clock source. For x86 CPUs, this means the TSC * runs at a constant rate and is synced across CPU cores. */ if (tsc_reliable) { if (!fio_clock_source_set && !fio_monotonic_clocktest(0)) fio_clock_source = CS_CPUCLOCK; } else if (fio_clock_source == CS_CPUCLOCK) log_info("fio: clocksource=cpu may not be reliable\n"); dprint(FD_TIME, "gettime: clocksource=%d\n", (int) fio_clock_source); } uint64_t ntime_since(const struct timespec *s, const struct timespec *e) { int64_t sec, nsec; sec = e->tv_sec - s->tv_sec; nsec = e->tv_nsec - s->tv_nsec; if (sec > 0 && nsec < 0) { sec--; nsec += 1000000000LL; } /* * time warp bug on some kernels? */ if (sec < 0 || (sec == 0 && nsec < 0)) return 0; return nsec + (sec * 1000000000LL); } uint64_t ntime_since_now(const struct timespec *s) { struct timespec now; fio_gettime(&now, NULL); return ntime_since(s, &now); } uint64_t utime_since(const struct timespec *s, const struct timespec *e) { int64_t sec, usec; sec = e->tv_sec - s->tv_sec; usec = (e->tv_nsec - s->tv_nsec) / 1000; if (sec > 0 && usec < 0) { sec--; usec += 1000000; } /* * time warp bug on some kernels? */ if (sec < 0 || (sec == 0 && usec < 0)) return 0; return usec + (sec * 1000000); } uint64_t utime_since_now(const struct timespec *s) { struct timespec t; #ifdef FIO_DEBUG_TIME void *p = __builtin_return_address(0); fio_gettime(&t, p); #else fio_gettime(&t, NULL); #endif return utime_since(s, &t); } uint64_t mtime_since_tv(const struct timeval *s, const struct timeval *e) { int64_t sec, usec; sec = e->tv_sec - s->tv_sec; usec = (e->tv_usec - s->tv_usec); if (sec > 0 && usec < 0) { sec--; usec += 1000000; } if (sec < 0 || (sec == 0 && usec < 0)) return 0; sec *= 1000; usec /= 1000; return sec + usec; } uint64_t mtime_since_now(const struct timespec *s) { struct timespec t; #ifdef FIO_DEBUG_TIME void *p = __builtin_return_address(0); fio_gettime(&t, p); #else fio_gettime(&t, NULL); #endif return mtime_since(s, &t); } /* * Returns *e - *s in milliseconds as a signed integer. Note: rounding is * asymmetric. If the difference yields +1 ns then 0 is returned. If the * difference yields -1 ns then -1 is returned. */ int64_t rel_time_since(const struct timespec *s, const struct timespec *e) { int64_t sec, nsec; sec = e->tv_sec - s->tv_sec; nsec = e->tv_nsec - s->tv_nsec; if (nsec < 0) { sec--; nsec += 1000ULL * 1000 * 1000; } assert(0 <= nsec && nsec < 1000ULL * 1000 * 1000); return sec * 1000 + nsec / (1000 * 1000); } /* * Returns *e - *s in milliseconds as an unsigned integer. Returns 0 if * *e < *s. */ uint64_t mtime_since(const struct timespec *s, const struct timespec *e) { return max(rel_time_since(s, e), (int64_t)0); } uint64_t time_since_now(const struct timespec *s) { return mtime_since_now(s) / 1000; } #if defined(FIO_HAVE_CPU_AFFINITY) && defined(ARCH_HAVE_CPU_CLOCK) && \ defined(CONFIG_SYNC_SYNC) && defined(CONFIG_CMP_SWAP) #define CLOCK_ENTRIES_DEBUG 100000 #define CLOCK_ENTRIES_TEST 1000 struct clock_entry { uint32_t seq; uint32_t cpu; uint64_t tsc; }; struct clock_thread { pthread_t thread; int cpu; int debug; struct fio_sem lock; unsigned long nr_entries; uint32_t *seq; struct clock_entry *entries; }; static inline uint32_t atomic32_compare_and_swap(uint32_t *ptr, uint32_t old, uint32_t new) { return __sync_val_compare_and_swap(ptr, old, new); } static void *clock_thread_fn(void *data) { struct clock_thread *t = data; struct clock_entry *c; os_cpu_mask_t cpu_mask; unsigned long long first; int i; if (fio_cpuset_init(&cpu_mask)) { int __err = errno; log_err("clock cpuset init failed: %s\n", strerror(__err)); goto err_out; } fio_cpu_set(&cpu_mask, t->cpu); if (fio_setaffinity(gettid(), cpu_mask) == -1) { int __err = errno; log_err("clock setaffinity failed: %s\n", strerror(__err)); goto err; } fio_sem_down(&t->lock); first = get_cpu_clock(); c = &t->entries[0]; for (i = 0; i < t->nr_entries; i++, c++) { uint32_t seq; uint64_t tsc; c->cpu = t->cpu; do { seq = *t->seq; if (seq == UINT_MAX) break; tsc_barrier(); tsc = get_cpu_clock(); } while (seq != atomic32_compare_and_swap(t->seq, seq, seq + 1)); if (seq == UINT_MAX) break; c->seq = seq; c->tsc = tsc; } if (t->debug) { unsigned long long clocks; clocks = t->entries[i - 1].tsc - t->entries[0].tsc; log_info("cs: cpu%3d: %llu clocks seen, first %llu\n", t->cpu, clocks, first); } /* * The most common platform clock breakage is returning zero * indefinitely. Check for that and return failure. */ if (i > 1 && !t->entries[i - 1].tsc && !t->entries[0].tsc) goto err; fio_cpuset_exit(&cpu_mask); return NULL; err: fio_cpuset_exit(&cpu_mask); err_out: return (void *) 1; } static int clock_cmp(const void *p1, const void *p2) { const struct clock_entry *c1 = p1; const struct clock_entry *c2 = p2; if (c1->seq == c2->seq) log_err("cs: bug in atomic sequence!\n"); return c1->seq - c2->seq; } int fio_monotonic_clocktest(int debug) { struct clock_thread *cthreads; unsigned int seen_cpus, nr_cpus = cpus_configured(); struct clock_entry *entries; unsigned long nr_entries, tentries, failed = 0; struct clock_entry *prev, *this; uint32_t seq = 0; unsigned int i; os_cpu_mask_t mask; #ifdef FIO_HAVE_GET_THREAD_AFFINITY fio_get_thread_affinity(mask); #else memset(&mask, 0, sizeof(mask)); for (i = 0; i < nr_cpus; i++) fio_cpu_set(&mask, i); #endif if (debug) { log_info("cs: reliable_tsc: %s\n", tsc_reliable ? "yes" : "no"); #ifdef FIO_INC_DEBUG fio_debug |= 1U << FD_TIME; #endif nr_entries = CLOCK_ENTRIES_DEBUG; } else nr_entries = CLOCK_ENTRIES_TEST; calibrate_cpu_clock(); if (debug) { #ifdef FIO_INC_DEBUG fio_debug &= ~(1U << FD_TIME); #endif } cthreads = malloc(nr_cpus * sizeof(struct clock_thread)); tentries = nr_entries * nr_cpus; entries = malloc(tentries * sizeof(struct clock_entry)); if (debug) log_info("cs: Testing %u CPUs\n", nr_cpus); seen_cpus = 0; for (i = 0; i < nr_cpus; i++) { struct clock_thread *t = &cthreads[i]; if (!fio_cpu_isset(&mask, i)) continue; t->cpu = i; t->debug = debug; t->seq = &seq; t->nr_entries = nr_entries; t->entries = &entries[seen_cpus * nr_entries]; __fio_sem_init(&t->lock, FIO_SEM_LOCKED); if (pthread_create(&t->thread, NULL, clock_thread_fn, t)) { failed++; nr_cpus = i; break; } seen_cpus++; } for (i = 0; i < nr_cpus; i++) { struct clock_thread *t = &cthreads[i]; if (!fio_cpu_isset(&mask, i)) continue; fio_sem_up(&t->lock); } for (i = 0; i < nr_cpus; i++) { struct clock_thread *t = &cthreads[i]; void *ret; if (!fio_cpu_isset(&mask, i)) continue; pthread_join(t->thread, &ret); if (ret) failed++; __fio_sem_remove(&t->lock); } free(cthreads); if (failed) { if (debug) log_err("Clocksource test: %lu threads failed\n", failed); goto err; } tentries = nr_entries * seen_cpus; qsort(entries, tentries, sizeof(struct clock_entry), clock_cmp); /* silence silly gcc */ prev = NULL; for (failed = i = 0; i < tentries; i++) { this = &entries[i]; if (!i) { prev = this; continue; } if (prev->tsc > this->tsc) { uint64_t diff = prev->tsc - this->tsc; if (!debug) { failed++; break; } log_info("cs: CPU clock mismatch (diff=%llu):\n", (unsigned long long) diff); log_info("\t CPU%3u: TSC=%llu, SEQ=%u\n", prev->cpu, (unsigned long long) prev->tsc, prev->seq); log_info("\t CPU%3u: TSC=%llu, SEQ=%u\n", this->cpu, (unsigned long long) this->tsc, this->seq); failed++; } prev = this; } if (debug) { if (failed) log_info("cs: Failed: %lu\n", failed); else log_info("cs: Pass!\n"); } err: free(entries); return !!failed; } #else /* defined(FIO_HAVE_CPU_AFFINITY) && defined(ARCH_HAVE_CPU_CLOCK) */ int fio_monotonic_clocktest(int debug) { if (debug) log_info("cs: current platform does not support CPU clocks\n"); return 1; } #endif fio-3.39/gettime.h000066400000000000000000000015771476262051600140570ustar00rootroot00000000000000#ifndef FIO_GETTIME_H #define FIO_GETTIME_H #include #include "arch/arch.h" #include "lib/seqlock.h" /* * Clock sources */ enum fio_cs { CS_GTOD = 1, CS_CGETTIME, CS_CPUCLOCK, CS_INVAL, }; extern int fio_get_mono_time(struct timespec *); extern void fio_gettime(struct timespec *, void *); extern void fio_gtod_init(void); extern void fio_clock_init(void); extern int fio_start_gtod_thread(void); extern int fio_monotonic_clocktest(int debug); extern void fio_local_clock_init(void); extern struct fio_ts { struct seqlock seqlock; struct timespec ts; } *fio_ts; static inline int fio_gettime_offload(struct timespec *ts) { unsigned int seq; if (!fio_ts) return 0; do { seq = read_seqlock_begin(&fio_ts->seqlock); *ts = fio_ts->ts; } while (read_seqlock_retry(&fio_ts->seqlock, seq)); return 1; } extern void fio_gtod_set_cpu(unsigned int cpu); #endif fio-3.39/gfio.c000066400000000000000000001467401476262051600133420ustar00rootroot00000000000000/* * gfio - gui front end for fio - the flexible io tester * * Copyright (C) 2012 Stephen M. Cameron * Copyright (C) 2012 Jens Axboe * * The license below covers all files distributed with fio unless otherwise * noted in the file itself. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include #include #include #include #include #include #include #include "fio.h" #include "gfio.h" #include "ghelpers.h" #include "goptions.h" #include "gerror.h" #include "gclient.h" #include "graph.h" struct gui main_ui; static bool gfio_server_running; static unsigned int gfio_graph_limit = 100; GdkColor gfio_color_white; GdkColor gfio_color_lightyellow; const char *gfio_graph_font = GRAPH_DEFAULT_FONT; typedef void (*clickfunction)(GtkWidget *widget, gpointer data); static void connect_clicked(GtkWidget *widget, gpointer data); static void start_job_clicked(GtkWidget *widget, gpointer data); static void send_clicked(GtkWidget *widget, gpointer data); static struct button_spec { const char *buttontext; clickfunction f; const char *tooltiptext[2]; const int start_sensitive; } buttonspeclist[] = { { .buttontext = "Connect", .f = connect_clicked, .tooltiptext = { "Disconnect from host", "Connect to host" }, .start_sensitive = 1, }, { .buttontext = "Send", .f = send_clicked, .tooltiptext = { "Send job description to host", NULL }, .start_sensitive = 0, }, { .buttontext = "Start Job", .f = start_job_clicked, .tooltiptext = { "Start the current job on the server", NULL }, .start_sensitive = 0, }, }; static void setup_iops_graph(struct gfio_graphs *gg) { struct graph *g; g = graph_new(DRAWING_AREA_XDIM / 2.0, DRAWING_AREA_YDIM, gfio_graph_font); graph_title(g, "IOPS (IOs/sec)"); graph_x_title(g, "Time (secs)"); gg->read_iops = graph_add_label(g, "Read IOPS"); gg->write_iops = graph_add_label(g, "Write IOPS"); gg->trim_iops = graph_add_label(g, "Trim IOPS"); graph_set_color(g, gg->read_iops, GFIO_READ_R, GFIO_READ_G, GFIO_READ_B); graph_set_color(g, gg->write_iops, GFIO_WRITE_R, GFIO_WRITE_G, GFIO_WRITE_B); graph_set_color(g, gg->trim_iops, GFIO_TRIM_R, GFIO_TRIM_G, GFIO_TRIM_B); line_graph_set_data_count_limit(g, gfio_graph_limit); graph_add_extra_space(g, 0.0, 0.0, 0.0, 0.0); graph_set_graph_all_zeroes(g, 0); gg->iops_graph = g; } static void setup_bandwidth_graph(struct gfio_graphs *gg) { struct graph *g; g = graph_new(DRAWING_AREA_XDIM / 2.0, DRAWING_AREA_YDIM, gfio_graph_font); graph_title(g, "Bandwidth (bytes/sec)"); graph_x_title(g, "Time (secs)"); gg->read_bw = graph_add_label(g, "Read Bandwidth"); gg->write_bw = graph_add_label(g, "Write Bandwidth"); gg->trim_bw = graph_add_label(g, "Trim Bandwidth"); graph_set_color(g, gg->read_bw, GFIO_READ_R, GFIO_READ_G, GFIO_READ_B); graph_set_color(g, gg->write_bw, GFIO_WRITE_R, GFIO_WRITE_G, GFIO_WRITE_B); graph_set_color(g, gg->trim_bw, GFIO_TRIM_R, GFIO_TRIM_G, GFIO_TRIM_B); graph_set_base_offset(g, 1); line_graph_set_data_count_limit(g, 100); graph_add_extra_space(g, 0.0, 0.0, 0.0, 0.0); graph_set_graph_all_zeroes(g, 0); gg->bandwidth_graph = g; } static void setup_graphs(struct gfio_graphs *g) { setup_iops_graph(g); setup_bandwidth_graph(g); } void clear_ge_ui_info(struct gui_entry *ge) { gtk_label_set_text(GTK_LABEL(ge->probe.hostname), ""); gtk_label_set_text(GTK_LABEL(ge->probe.os), ""); gtk_label_set_text(GTK_LABEL(ge->probe.arch), ""); gtk_label_set_text(GTK_LABEL(ge->probe.fio_ver), ""); #if 0 /* should we empty it... */ gtk_entry_set_text(GTK_ENTRY(ge->eta.name), ""); #endif multitext_update_entry(&ge->eta.iotype, 0, ""); multitext_update_entry(&ge->eta.bs, 0, ""); multitext_update_entry(&ge->eta.ioengine, 0, ""); multitext_update_entry(&ge->eta.iodepth, 0, ""); gtk_entry_set_text(GTK_ENTRY(ge->eta.jobs), ""); gtk_entry_set_text(GTK_ENTRY(ge->eta.files), ""); gtk_entry_set_text(GTK_ENTRY(ge->eta.read_bw), ""); gtk_entry_set_text(GTK_ENTRY(ge->eta.read_iops), ""); gtk_entry_set_text(GTK_ENTRY(ge->eta.write_bw), ""); gtk_entry_set_text(GTK_ENTRY(ge->eta.write_iops), ""); } static void set_menu_entry_text(struct gui *ui, const char *path, const char *text) { GtkWidget *w; w = gtk_ui_manager_get_widget(ui->uimanager, path); if (w) gtk_menu_item_set_label(GTK_MENU_ITEM(w), text); else fprintf(stderr, "gfio: can't find path %s\n", path); } static void set_menu_entry_visible(struct gui *ui, const char *path, int show) { GtkWidget *w; w = gtk_ui_manager_get_widget(ui->uimanager, path); if (w) gtk_widget_set_sensitive(w, show); else fprintf(stderr, "gfio: can't find path %s\n", path); } static void set_job_menu_visible(struct gui *ui, int visible) { set_menu_entry_visible(ui, "/MainMenu/JobMenu", visible); } static void set_view_results_visible(struct gui *ui, int visible) { set_menu_entry_visible(ui, "/MainMenu/ViewMenu/Results", visible); } static const char *get_button_tooltip(struct button_spec *s, int sensitive) { if (s->tooltiptext[sensitive]) return s->tooltiptext[sensitive]; return s->tooltiptext[0]; } static GtkWidget *add_button(GtkWidget *buttonbox, struct button_spec *buttonspec, gpointer data) { GtkWidget *button = gtk_button_new_with_label(buttonspec->buttontext); gboolean sens = buttonspec->start_sensitive; g_signal_connect(button, "clicked", G_CALLBACK(buttonspec->f), data); gtk_box_pack_start(GTK_BOX(buttonbox), button, FALSE, FALSE, 3); sens = buttonspec->start_sensitive; gtk_widget_set_tooltip_text(button, get_button_tooltip(buttonspec, sens)); gtk_widget_set_sensitive(button, sens); return button; } static void add_buttons(struct gui_entry *ge, struct button_spec *buttonlist, int nbuttons) { int i; for (i = 0; i < nbuttons; i++) ge->button[i] = add_button(ge->buttonbox, &buttonlist[i], ge); } /* * Update sensitivity of job buttons and job menu items, based on the * state of the client. */ static void update_button_states(struct gui *ui, struct gui_entry *ge) { unsigned int connect_state, send_state, start_state, edit_state; const char *connect_str = NULL; switch (ge->state) { default: gfio_report_error(ge, "Bad client state: %u\n", ge->state); /* fall-through */ case GE_STATE_NEW: connect_state = 1; edit_state = 1; connect_str = "Connect"; send_state = 0; start_state = 0; break; case GE_STATE_CONNECTED: connect_state = 1; edit_state = 1; connect_str = "Disconnect"; send_state = 1; start_state = 0; break; case GE_STATE_JOB_SENT: connect_state = 1; edit_state = 1; connect_str = "Disconnect"; send_state = 0; start_state = 1; break; case GE_STATE_JOB_STARTED: connect_state = 1; edit_state = 1; connect_str = "Disconnect"; send_state = 0; start_state = 1; break; case GE_STATE_JOB_RUNNING: connect_state = 1; edit_state = 0; connect_str = "Disconnect"; send_state = 0; start_state = 0; break; case GE_STATE_JOB_DONE: connect_state = 1; edit_state = 0; connect_str = "Connect"; send_state = 0; start_state = 0; break; } gtk_widget_set_sensitive(ge->button[GFIO_BUTTON_CONNECT], connect_state); gtk_widget_set_sensitive(ge->button[GFIO_BUTTON_SEND], send_state); gtk_widget_set_sensitive(ge->button[GFIO_BUTTON_START], start_state); gtk_button_set_label(GTK_BUTTON(ge->button[GFIO_BUTTON_CONNECT]), connect_str); gtk_widget_set_tooltip_text(ge->button[GFIO_BUTTON_CONNECT], get_button_tooltip(&buttonspeclist[GFIO_BUTTON_CONNECT], connect_state)); set_menu_entry_visible(ui, "/MainMenu/JobMenu/Connect", connect_state); set_menu_entry_text(ui, "/MainMenu/JobMenu/Connect", connect_str); set_menu_entry_visible(ui, "/MainMenu/JobMenu/Edit job", edit_state); set_menu_entry_visible(ui, "/MainMenu/JobMenu/Send job", send_state); set_menu_entry_visible(ui, "/MainMenu/JobMenu/Start job", start_state); if (ge->client && ge->client->nr_results) set_view_results_visible(ui, 1); else set_view_results_visible(ui, 0); } void gfio_set_state(struct gui_entry *ge, unsigned int state) { ge->state = state; update_button_states(ge->ui, ge); } static void gfio_ui_setup_log(struct gui *ui) { GtkTreeSelection *selection; GtkListStore *model; GtkWidget *tree_view; model = gtk_list_store_new(4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model)); gtk_widget_set_can_focus(tree_view, FALSE); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); gtk_tree_selection_set_mode(GTK_TREE_SELECTION(selection), GTK_SELECTION_BROWSE); g_object_set(G_OBJECT(tree_view), "headers-visible", TRUE, "enable-grid-lines", GTK_TREE_VIEW_GRID_LINES_BOTH, NULL); tree_view_column(tree_view, 0, "Time", ALIGN_RIGHT | UNSORTABLE); tree_view_column(tree_view, 1, "Host", ALIGN_RIGHT | UNSORTABLE); tree_view_column(tree_view, 2, "Level", ALIGN_RIGHT | UNSORTABLE); tree_view_column(tree_view, 3, "Text", ALIGN_LEFT | UNSORTABLE); ui->log_model = model; ui->log_tree = tree_view; } static gint on_config_drawing_area(GtkWidget *w, GdkEventConfigure *event, gpointer data) { guint width = gtk_widget_get_allocated_width(w); guint height = gtk_widget_get_allocated_height(w); struct gfio_graphs *g = data; graph_set_size(g->iops_graph, width / 2.0, height); graph_set_position(g->iops_graph, width / 2.0, 0.0); graph_set_size(g->bandwidth_graph, width / 2.0, height); graph_set_position(g->bandwidth_graph, 0, 0); return TRUE; } static void draw_graph(struct graph *g, cairo_t *cr) { line_graph_draw(g, cr); cairo_stroke(cr); } static gboolean graph_tooltip(GtkWidget *w, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, gpointer data) { struct gfio_graphs *g = data; const char *text = NULL; if (graph_contains_xy(g->iops_graph, x, y)) text = graph_find_tooltip(g->iops_graph, x, y); else if (graph_contains_xy(g->bandwidth_graph, x, y)) text = graph_find_tooltip(g->bandwidth_graph, x, y); if (text) { gtk_tooltip_set_text(tooltip, text); return TRUE; } return FALSE; } static int on_expose_drawing_area(GtkWidget *w, GdkEvent *event, gpointer p) { struct gfio_graphs *g = p; cairo_t *cr; cr = gdk_cairo_create(gtk_widget_get_window(w)); if (graph_has_tooltips(g->iops_graph) || graph_has_tooltips(g->bandwidth_graph)) { g_object_set(w, "has-tooltip", TRUE, NULL); g_signal_connect(w, "query-tooltip", G_CALLBACK(graph_tooltip), g); } cairo_set_source_rgb(cr, 0, 0, 0); draw_graph(g->iops_graph, cr); draw_graph(g->bandwidth_graph, cr); cairo_destroy(cr); return FALSE; } /* * FIXME: need more handling here */ static void ge_destroy(struct gui_entry *ge) { struct gfio_client *gc = ge->client; if (gc) { if (gc->client) { if (ge->state >= GE_STATE_CONNECTED) fio_client_terminate(gc->client); fio_put_client(gc->client); } free(gc); } g_hash_table_remove(ge->ui->ge_hash, &ge->page_num); free(ge->job_file); free(ge->host); free(ge); } static void ge_widget_destroy(GtkWidget *w, gpointer data) { struct gui_entry *ge = (struct gui_entry *) data; ge_destroy(ge); } static void gfio_quit(struct gui *ui) { gtk_main_quit(); } static void quit_clicked(__attribute__((unused)) GtkWidget *widget, gpointer data) { struct gui *ui = (struct gui *) data; gfio_quit(ui); } static void *job_thread(void *arg) { struct gui *ui = arg; ui->handler_running = 1; fio_handle_clients(&gfio_client_ops); ui->handler_running = 0; return NULL; } static int send_job_file(struct gui_entry *ge) { struct gfio_client *gc = ge->client; int ret = 0; /* * Prune old options, we are expecting the return options * when the job file is parsed remotely and returned to us. */ while (!flist_empty(&gc->o_list)) { struct gfio_client_options *gco; gco = flist_first_entry(&gc->o_list, struct gfio_client_options, list); flist_del(&gco->list); free(gco); } ret = fio_client_send_ini(gc->client, ge->job_file, false); if (!ret) return 0; gfio_report_error(ge, "Failed to send file %s: %s\n", ge->job_file, strerror(-ret)); return 1; } static void *server_thread(void *arg) { fio_server_create_sk_key(); is_backend = true; gfio_server_running = true; fio_start_server(NULL); gfio_server_running = false; fio_server_destroy_sk_key(); return NULL; } static void gfio_start_server(struct gui *ui) { if (!gfio_server_running) { gfio_server_running = true; pthread_create(&ui->server_t, NULL, server_thread, NULL); pthread_detach(ui->server_t); } } static void start_job_clicked(__attribute__((unused)) GtkWidget *widget, gpointer data) { struct gui_entry *ge = data; struct gfio_client *gc = ge->client; if (gc) fio_start_client(gc->client); } static void file_open(GtkWidget *w, gpointer data); struct connection_widgets { GtkWidget *hentry; GtkWidget *combo; GtkWidget *button; }; static void hostname_cb(GtkEntry *entry, gpointer data) { struct connection_widgets *cw = data; int uses_net = 0, is_localhost = 0; const gchar *text; gchar *ctext; /* * Check whether to display the 'auto start backend' box * or not. Show it if we are a localhost and using network, * or using a socket. */ ctext = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(cw->combo)); if (!ctext || !strncmp(ctext, "IPv4", 4) || !strncmp(ctext, "IPv6", 4)) uses_net = 1; g_free(ctext); if (uses_net) { text = gtk_entry_get_text(GTK_ENTRY(cw->hentry)); if (!strcmp(text, "127.0.0.1") || !strcmp(text, "localhost") || !strcmp(text, "::1") || !strcmp(text, "ip6-localhost") || !strcmp(text, "ip6-loopback")) is_localhost = 1; } if (!uses_net || is_localhost) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cw->button), 1); gtk_widget_set_sensitive(cw->button, 1); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cw->button), 0); gtk_widget_set_sensitive(cw->button, 0); } } static int get_connection_details(struct gui_entry *ge) { GtkWidget *dialog, *box, *vbox, *hbox, *frame, *pentry; struct connection_widgets cw; struct gui *ui = ge->ui; char *typeentry; if (ge->host) return 0; dialog = gtk_dialog_new_with_buttons("Connection details", GTK_WINDOW(ui->window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); frame = gtk_frame_new("Hostname / socket name"); vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); box = gtk_vbox_new(FALSE, 6); gtk_container_add(GTK_CONTAINER(frame), box); hbox = gtk_hbox_new(TRUE, 10); gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); cw.hentry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(cw.hentry), "localhost"); gtk_box_pack_start(GTK_BOX(hbox), cw.hentry, TRUE, TRUE, 0); frame = gtk_frame_new("Port"); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); box = gtk_vbox_new(FALSE, 10); gtk_container_add(GTK_CONTAINER(frame), box); hbox = gtk_hbox_new(TRUE, 4); gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); pentry = create_spinbutton(hbox, 1, 65535, FIO_NET_PORT); frame = gtk_frame_new("Type"); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); box = gtk_vbox_new(FALSE, 10); gtk_container_add(GTK_CONTAINER(frame), box); hbox = gtk_hbox_new(TRUE, 4); gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); cw.combo = gtk_combo_box_text_new(); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cw.combo), "IPv4"); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cw.combo), "IPv6"); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cw.combo), "local socket"); gtk_combo_box_set_active(GTK_COMBO_BOX(cw.combo), 0); gtk_container_add(GTK_CONTAINER(hbox), cw.combo); frame = gtk_frame_new("Options"); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); box = gtk_vbox_new(FALSE, 10); gtk_container_add(GTK_CONTAINER(frame), box); hbox = gtk_hbox_new(TRUE, 4); gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); cw.button = gtk_check_button_new_with_label("Auto-spawn fio backend"); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cw.button), 1); gtk_widget_set_tooltip_text(cw.button, "When running fio locally, it is necessary to have the backend running on the same system. If this is checked, gfio will start the backend automatically for you if it isn't already running."); gtk_box_pack_start(GTK_BOX(hbox), cw.button, FALSE, FALSE, 6); /* * Connect edit signal, so we can show/not-show the auto start button */ g_signal_connect(G_OBJECT(cw.hentry), "changed", G_CALLBACK(hostname_cb), &cw); g_signal_connect(G_OBJECT(cw.combo), "changed", G_CALLBACK(hostname_cb), &cw); gtk_widget_show_all(dialog); if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_ACCEPT) { gtk_widget_destroy(dialog); return 1; } ge->host = strdup(gtk_entry_get_text(GTK_ENTRY(cw.hentry))); ge->port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(pentry)); typeentry = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(cw.combo)); if (!typeentry || !strncmp(typeentry, "IPv4", 4)) ge->type = Fio_client_ipv4; else if (!strncmp(typeentry, "IPv6", 4)) ge->type = Fio_client_ipv6; else ge->type = Fio_client_socket; g_free(typeentry); ge->server_start = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cw.button)); gtk_widget_destroy(dialog); return 0; } static void gfio_set_client(struct gfio_client *gc, struct fio_client *client) { gc->client = fio_get_client(client); client->client_data = gc; } static void gfio_client_added(struct gui_entry *ge, struct fio_client *client) { struct gfio_client_options *gco; struct gfio_client *gc; gc = calloc(1, sizeof(*gc)); INIT_FLIST_HEAD(&gc->o_list); gc->ge = ge; ge->client = gc; gfio_set_client(gc, client); /* * Just add a default set of options, need to consider how best * to handle this */ gco = calloc(1, sizeof(*gco)); INIT_FLIST_HEAD(&gco->list); options_default_fill(&gco->o); flist_add_tail(&gco->list, &gc->o_list); gc->o_list_nr++; } static void gfio_clear_graph_data(struct gfio_graphs *g) { graph_clear_values(g->iops_graph); graph_clear_values(g->bandwidth_graph); } static void connect_clicked(GtkWidget *widget, gpointer data) { struct gui_entry *ge = data; struct gfio_client *gc = ge->client; if (ge->state == GE_STATE_NEW) { int ret; if (!ge->job_file) file_open(widget, ge->ui); if (!ge->job_file) return; gc = ge->client; if (!gc->client) { struct fio_client *client; if (get_connection_details(ge)) { gfio_report_error(ge, "Failed to get connection details\n"); return; } client = fio_client_add_explicit(&gfio_client_ops, ge->host, ge->type, ge->port); if (!client) { gfio_report_error(ge, "Failed to add client %s\n", ge->host); free(ge->host); ge->host = NULL; return; } gfio_set_client(gc, client); } gtk_progress_bar_set_text(GTK_PROGRESS_BAR(ge->thread_status_pb), "No jobs running"); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(ge->thread_status_pb), 0.0); ret = fio_client_connect(gc->client); if (!ret) { if (!ge->ui->handler_running) pthread_create(&ge->ui->t, NULL, job_thread, ge->ui); gfio_set_state(ge, GE_STATE_CONNECTED); gfio_clear_graph_data(&ge->graphs); } else { gfio_report_error(ge, "Failed to connect to %s: %s\n", ge->client->client->hostname, strerror(-ret)); } } else { fio_client_terminate(gc->client); gfio_set_state(ge, GE_STATE_NEW); clear_ge_ui_info(ge); } } static void send_clicked(GtkWidget *widget, gpointer data) { struct gui_entry *ge = data; if (send_job_file(ge)) gtk_widget_set_sensitive(ge->button[GFIO_BUTTON_START], 1); } static GtkWidget *new_client_page(struct gui_entry *ge); static struct gui_entry *alloc_new_gui_entry(struct gui *ui) { struct gui_entry *ge; ge = calloc(1, sizeof(*ge)); ge->state = GE_STATE_NEW; ge->ui = ui; return ge; } static struct gui_entry *get_new_ge_with_tab(struct gui *ui, const char *name) { struct gui_entry *ge; ge = alloc_new_gui_entry(ui); ge->vbox = new_client_page(ge); g_signal_connect(ge->vbox, "destroy", G_CALLBACK(ge_widget_destroy), ge); ge->page_label = gtk_label_new(name); ge->page_num = gtk_notebook_append_page(GTK_NOTEBOOK(ui->notebook), ge->vbox, ge->page_label); g_hash_table_insert(ui->ge_hash, &ge->page_num, ge); gtk_widget_show_all(ui->window); return ge; } static void file_new(GtkWidget *w, gpointer data) { struct gui *ui = (struct gui *) data; struct gui_entry *ge; ge = get_new_ge_with_tab(ui, "Untitled"); gtk_notebook_set_current_page(GTK_NOTEBOOK(ui->notebook), ge->page_num); } /* * Return the 'ge' corresponding to the tab. If the active tab is the * main tab, open a new tab. */ static struct gui_entry *get_ge_from_page(struct gui *ui, gint cur_page, int *created) { if (!cur_page) { if (created) *created = 1; return get_new_ge_with_tab(ui, "Untitled"); } if (created) *created = 0; return g_hash_table_lookup(ui->ge_hash, &cur_page); } static struct gui_entry *get_ge_from_cur_tab(struct gui *ui) { gint cur_page; /* * Main tab is tab 0, so any current page other than 0 holds * a ge entry. */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(ui->notebook)); if (cur_page) return get_ge_from_page(ui, cur_page, NULL); return NULL; } static void file_close(GtkWidget *w, gpointer data) { struct gui *ui = (struct gui *) data; struct gui_entry *ge; /* * Can't close the main tab */ ge = get_ge_from_cur_tab(ui); if (ge) { gtk_widget_destroy(ge->vbox); return; } if (g_hash_table_size(ui->ge_hash)) { gfio_report_info(ui, "Error", "The main page view cannot be closed\n"); return; } gfio_quit(ui); } static void file_add_recent(struct gui *ui, const gchar *uri) { GtkRecentData grd; memset(&grd, 0, sizeof(grd)); grd.display_name = strdup("gfio"); grd.description = strdup("Fio job file"); grd.mime_type = strdup(GFIO_MIME); grd.app_name = strdup(g_get_application_name()); grd.app_exec = strdup("gfio %f/%u"); gtk_recent_manager_add_full(ui->recentmanager, uri, &grd); } static gchar *get_filename_from_uri(const gchar *uri) { if (strncmp(uri, "file://", 7)) return strdup(uri); return strdup(uri + 7); } static int do_file_open(struct gui_entry *ge, const gchar *uri) { struct fio_client *client; assert(!ge->job_file); ge->job_file = get_filename_from_uri(uri); client = fio_client_add_explicit(&gfio_client_ops, ge->host, ge->type, ge->port); if (client) { char *label = strdup(uri); basename(label); gtk_label_set_text(GTK_LABEL(ge->page_label), basename(label)); free(label); gfio_client_added(ge, client); file_add_recent(ge->ui, uri); return 0; } gfio_report_error(ge, "Failed to add client %s\n", ge->host); free(ge->host); ge->host = NULL; free(ge->job_file); ge->job_file = NULL; return 1; } static int do_file_open_with_tab(struct gui *ui, const gchar *uri) { struct gui_entry *ge; gint cur_page; int ret, ge_is_new = 0; /* * Creates new tab if current tab is the main window, or the * current tab already has a client. */ cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(ui->notebook)); ge = get_ge_from_page(ui, cur_page, &ge_is_new); if (ge->client) { ge = get_new_ge_with_tab(ui, "Untitled"); ge_is_new = 1; } gtk_notebook_set_current_page(GTK_NOTEBOOK(ui->notebook), ge->page_num); if (get_connection_details(ge)) { if (ge_is_new) gtk_widget_destroy(ge->vbox); return 1; } ret = do_file_open(ge, uri); if (!ret) { if (ge->server_start) gfio_start_server(ui); } else { if (ge_is_new) gtk_widget_destroy(ge->vbox); } return ret; } static void recent_open(GtkAction *action, gpointer data) { struct gui *ui = (struct gui *) data; GtkRecentInfo *info; const gchar *uri; info = g_object_get_data(G_OBJECT(action), "gtk-recent-info"); uri = gtk_recent_info_get_uri(info); do_file_open_with_tab(ui, uri); } static void file_open(GtkWidget *w, gpointer data) { struct gui *ui = data; GtkWidget *dialog; GtkFileFilter *filter; gchar *filename; dialog = gtk_file_chooser_dialog_new("Open File", GTK_WINDOW(ui->window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); filter = gtk_file_filter_new(); gtk_file_filter_add_pattern(filter, "*.fio"); gtk_file_filter_add_pattern(filter, "*.job"); gtk_file_filter_add_pattern(filter, "*.ini"); gtk_file_filter_add_mime_type(filter, GFIO_MIME); gtk_file_filter_set_name(filter, "Fio job file"); gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter); if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_ACCEPT) { gtk_widget_destroy(dialog); return; } filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); gtk_widget_destroy(dialog); do_file_open_with_tab(ui, filename); g_free(filename); } static void file_save(GtkWidget *w, gpointer data) { struct gui *ui = data; GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new("Save File", GTK_WINDOW(ui->window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), "Untitled document"); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { char *filename; filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); // save_job_file(filename); g_free(filename); } gtk_widget_destroy(dialog); } static void view_log_destroy(GtkWidget *w, gpointer data) { struct gui *ui = (struct gui *) data; g_object_ref(G_OBJECT(ui->log_tree)); gtk_container_remove(GTK_CONTAINER(w), ui->log_tree); gtk_widget_destroy(w); ui->log_view = NULL; } void gfio_view_log(struct gui *ui) { GtkWidget *win, *scroll, *vbox, *box; if (ui->log_view) return; ui->log_view = win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(win), "Log"); gtk_window_set_default_size(GTK_WINDOW(win), 700, 500); scroll = gtk_scrolled_window_new(NULL, NULL); gtk_container_set_border_width(GTK_CONTAINER(scroll), 5); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); box = gtk_hbox_new(TRUE, 0); gtk_box_pack_start(GTK_BOX(box), ui->log_tree, TRUE, TRUE, 0); g_signal_connect(box, "destroy", G_CALLBACK(view_log_destroy), ui); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll), box); vbox = gtk_vbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(vbox), scroll, TRUE, TRUE, 0); gtk_container_add(GTK_CONTAINER(win), vbox); gtk_widget_show_all(win); } static void view_log(GtkWidget *w, gpointer data) { struct gui *ui = (struct gui *) data; gfio_view_log(ui); } static void connect_job_entry(GtkWidget *w, gpointer data) { struct gui *ui = (struct gui *) data; struct gui_entry *ge; ge = get_ge_from_cur_tab(ui); if (ge) connect_clicked(w, ge); } static void send_job_entry(GtkWidget *w, gpointer data) { struct gui *ui = (struct gui *) data; struct gui_entry *ge; ge = get_ge_from_cur_tab(ui); if (ge) send_clicked(w, ge); } static void edit_job_entry(GtkWidget *w, gpointer data) { struct gui *ui = (struct gui *) data; struct gui_entry *ge; ge = get_ge_from_cur_tab(ui); if (ge && ge->client) gopt_get_options_window(ui->window, ge->client); } static void start_job_entry(GtkWidget *w, gpointer data) { struct gui *ui = (struct gui *) data; struct gui_entry *ge; ge = get_ge_from_cur_tab(ui); if (ge) start_job_clicked(w, ge); } static void view_results(GtkWidget *w, gpointer data) { struct gui *ui = (struct gui *) data; struct gfio_client *gc; struct gui_entry *ge; ge = get_ge_from_cur_tab(ui); if (!ge) return; if (ge->results_window) return; gc = ge->client; if (gc && gc->nr_results) gfio_display_end_results(gc); } static void __update_graph_settings(struct gfio_graphs *g) { line_graph_set_data_count_limit(g->iops_graph, gfio_graph_limit); graph_set_font(g->iops_graph, gfio_graph_font); line_graph_set_data_count_limit(g->bandwidth_graph, gfio_graph_limit); graph_set_font(g->bandwidth_graph, gfio_graph_font); } static void ge_update_settings_fn(gpointer key, gpointer value, gpointer data) { struct gui_entry *ge = (struct gui_entry *) value; GdkEvent *ev; __update_graph_settings(&ge->graphs); ev = gdk_event_new(GDK_EXPOSE); g_signal_emit_by_name(G_OBJECT(ge->graphs.drawing_area), GFIO_DRAW_EVENT, GTK_WIDGET(ge->graphs.drawing_area), ev, &ge->graphs); gdk_event_free(ev); } static void update_graph_limits(void) { struct gui *ui = &main_ui; GdkEvent *ev; __update_graph_settings(&ui->graphs); ev = gdk_event_new(GDK_EXPOSE); g_signal_emit_by_name(G_OBJECT(ui->graphs.drawing_area), GFIO_DRAW_EVENT, GTK_WIDGET(ui->graphs.drawing_area), ev, &ui->graphs); gdk_event_free(ev); g_hash_table_foreach(ui->ge_hash, ge_update_settings_fn, NULL); } static void preferences(GtkWidget *w, gpointer data) { GtkWidget *dialog, *frame, *box, **buttons, *vbox, *font; GtkWidget *hbox, *spin, *entry, *spin_int; struct gui *ui = (struct gui *) data; int i; dialog = gtk_dialog_new_with_buttons("Preferences", GTK_WINDOW(ui->window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); frame = gtk_frame_new("Graphing"); vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); vbox = gtk_vbox_new(FALSE, 6); gtk_container_add(GTK_CONTAINER(frame), vbox); hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); entry = gtk_label_new("Font face to use for graph labels"); gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 5); font = gtk_font_button_new_with_font(gfio_graph_font); gtk_box_pack_start(GTK_BOX(hbox), font, FALSE, FALSE, 5); box = gtk_vbox_new(FALSE, 6); gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 5); hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 5); entry = gtk_label_new("Maximum number of data points in graph (seconds)"); gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 5); spin = create_spinbutton(hbox, 10, 1000000, gfio_graph_limit); box = gtk_vbox_new(FALSE, 6); gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 5); hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 5); entry = gtk_label_new("Client ETA request interval (msec)"); gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 5); spin_int = create_spinbutton(hbox, 100, 100000, gfio_client_ops.eta_msec); frame = gtk_frame_new("Debug logging"); vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 5); vbox = gtk_vbox_new(FALSE, 6); gtk_container_add(GTK_CONTAINER(frame), vbox); box = gtk_hbox_new(FALSE, 6); gtk_container_add(GTK_CONTAINER(vbox), box); buttons = malloc(sizeof(GtkWidget *) * FD_DEBUG_MAX); for (i = 0; i < FD_DEBUG_MAX; i++) { if (i == 7) { box = gtk_hbox_new(FALSE, 6); gtk_container_add(GTK_CONTAINER(vbox), box); } buttons[i] = gtk_check_button_new_with_label(debug_levels[i].name); gtk_widget_set_tooltip_text(buttons[i], debug_levels[i].help); gtk_box_pack_start(GTK_BOX(box), buttons[i], FALSE, FALSE, 6); } gtk_widget_show_all(dialog); if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_ACCEPT) { gtk_widget_destroy(dialog); return; } for (i = 0; i < FD_DEBUG_MAX; i++) { int set; set = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(buttons[i])); if (set) fio_debug |= (1UL << i); } gfio_graph_font = strdup(gtk_font_button_get_font_name(GTK_FONT_BUTTON(font))); gfio_graph_limit = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin)); update_graph_limits(); gfio_client_ops.eta_msec = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin_int)); gtk_widget_destroy(dialog); } static void about_dialog(GtkWidget *w, gpointer data) { const char *authors[] = { "Jens Axboe ", "Stephen Cameron ", NULL }; const char *license[] = { "Fio 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.\n", "Fio 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.\n", "You should have received a copy of the GNU General Public License " "along with Fio; if not, write to the Free Software Foundation, Inc., " "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n" }; char *license_trans; license_trans = g_strconcat(license[0], "\n", license[1], "\n", license[2], "\n", NULL); gtk_show_about_dialog(NULL, "program-name", "gfio", "comments", "Gtk2 UI for fio", "license", license_trans, "website", "http://git.kernel.dk/cgit/fio/", "authors", authors, "version", fio_version_string, "copyright", "© 2012-2017 Jens Axboe ", "logo-icon-name", "fio", /* Must be last: */ "wrap-license", TRUE, NULL); g_free(license_trans); } static GtkActionEntry menu_items[] = { { "FileMenuAction", GTK_STOCK_FILE, "File", NULL, NULL, NULL}, { "ViewMenuAction", GTK_STOCK_FILE, "View", NULL, NULL, NULL}, { "JobMenuAction", GTK_STOCK_FILE, "Job", NULL, NULL, NULL}, { "HelpMenuAction", GTK_STOCK_HELP, "Help", NULL, NULL, NULL}, { "NewFile", GTK_STOCK_NEW, "New", "N", NULL, G_CALLBACK(file_new) }, { "CloseFile", GTK_STOCK_CLOSE, "Close", "W", NULL, G_CALLBACK(file_close) }, { "OpenFile", GTK_STOCK_OPEN, NULL, "O", NULL, G_CALLBACK(file_open) }, { "SaveFile", GTK_STOCK_SAVE, NULL, "S", NULL, G_CALLBACK(file_save) }, { "Preferences", GTK_STOCK_PREFERENCES, NULL, "p", NULL, G_CALLBACK(preferences) }, { "ViewLog", NULL, "Log", "l", NULL, G_CALLBACK(view_log) }, { "ViewResults", NULL, "Results", "R", NULL, G_CALLBACK(view_results) }, { "ConnectJob", NULL, "Connect", "D", NULL, G_CALLBACK(connect_job_entry) }, { "EditJob", NULL, "Edit job", "E", NULL, G_CALLBACK(edit_job_entry) }, { "SendJob", NULL, "Send job", "X", NULL, G_CALLBACK(send_job_entry) }, { "StartJob", NULL, "Start job", "L", NULL, G_CALLBACK(start_job_entry) }, { "Quit", GTK_STOCK_QUIT, NULL, "Q", NULL, G_CALLBACK(quit_clicked) }, { "About", GTK_STOCK_ABOUT, NULL, NULL, NULL, G_CALLBACK(about_dialog) }, }; static gint nmenu_items = FIO_ARRAY_SIZE(menu_items); static const gchar *ui_string = " \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "; static GtkWidget *get_menubar_menu(GtkWidget *window, GtkUIManager *ui_manager, struct gui *ui) { GtkActionGroup *action_group; GError *error = 0; action_group = gtk_action_group_new("Menu"); gtk_action_group_add_actions(action_group, menu_items, nmenu_items, ui); gtk_ui_manager_insert_action_group(ui_manager, action_group, 0); gtk_ui_manager_add_ui_from_string(GTK_UI_MANAGER(ui_manager), ui_string, -1, &error); gtk_window_add_accel_group(GTK_WINDOW(window), gtk_ui_manager_get_accel_group(ui_manager)); return gtk_ui_manager_get_widget(ui_manager, "/MainMenu"); } void gfio_ui_setup(GtkSettings *settings, GtkWidget *menubar, GtkWidget *vbox, GtkUIManager *ui_manager) { gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0); } static void combo_entry_changed(GtkComboBox *box, gpointer data) { struct gui_entry *ge = (struct gui_entry *) data; gint index; index = gtk_combo_box_get_active(box); multitext_set_entry(&ge->eta.iotype, index); multitext_set_entry(&ge->eta.bs, index); multitext_set_entry(&ge->eta.ioengine, index); multitext_set_entry(&ge->eta.iodepth, index); } static void combo_entry_destroy(GtkWidget *widget, gpointer data) { struct gui_entry *ge = (struct gui_entry *) data; multitext_free(&ge->eta.iotype); multitext_free(&ge->eta.bs); multitext_free(&ge->eta.ioengine); multitext_free(&ge->eta.iodepth); } static GtkWidget *new_client_page(struct gui_entry *ge) { GtkWidget *main_vbox, *probe, *probe_frame, *probe_box; GtkWidget *scrolled_window, *bottom_align, *top_align, *top_vbox; main_vbox = gtk_vbox_new(FALSE, 3); top_align = gtk_alignment_new(0, 0, 1, 0); top_vbox = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(top_align), top_vbox); gtk_box_pack_start(GTK_BOX(main_vbox), top_align, FALSE, FALSE, 0); probe = gtk_frame_new("Job"); gtk_box_pack_start(GTK_BOX(main_vbox), probe, FALSE, FALSE, 3); probe_frame = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(probe), probe_frame); probe_box = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(probe_frame), probe_box, FALSE, FALSE, 3); ge->probe.hostname = new_info_label_in_frame(probe_box, "Host"); ge->probe.os = new_info_label_in_frame(probe_box, "OS"); ge->probe.arch = new_info_label_in_frame(probe_box, "Architecture"); ge->probe.fio_ver = new_info_label_in_frame(probe_box, "Fio version"); probe_box = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(probe_frame), probe_box, FALSE, FALSE, 3); ge->eta.names = new_combo_entry_in_frame(probe_box, "Jobs"); g_signal_connect(ge->eta.names, "changed", G_CALLBACK(combo_entry_changed), ge); g_signal_connect(ge->eta.names, "destroy", G_CALLBACK(combo_entry_destroy), ge); ge->eta.iotype.entry = new_info_entry_in_frame(probe_box, "IO"); ge->eta.bs.entry = new_info_entry_in_frame(probe_box, "Blocksize (Read/Write/Trim)"); ge->eta.ioengine.entry = new_info_entry_in_frame(probe_box, "IO Engine"); ge->eta.iodepth.entry = new_info_entry_in_frame(probe_box, "IO Depth"); ge->eta.jobs = new_info_entry_in_frame(probe_box, "Jobs"); ge->eta.files = new_info_entry_in_frame(probe_box, "Open files"); probe_box = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(probe_frame), probe_box, FALSE, FALSE, 3); ge->eta.read_bw = new_info_entry_in_frame_rgb(probe_box, "Read BW", GFIO_READ_R, GFIO_READ_G, GFIO_READ_B); ge->eta.read_iops = new_info_entry_in_frame_rgb(probe_box, "Read IOPS", GFIO_READ_R, GFIO_READ_G, GFIO_READ_B); ge->eta.write_bw = new_info_entry_in_frame_rgb(probe_box, "Write BW", GFIO_WRITE_R, GFIO_WRITE_G, GFIO_WRITE_B); ge->eta.write_iops = new_info_entry_in_frame_rgb(probe_box, "Write IOPS", GFIO_WRITE_R, GFIO_WRITE_G, GFIO_WRITE_B); ge->eta.trim_bw = new_info_entry_in_frame_rgb(probe_box, "Trim BW", GFIO_TRIM_R, GFIO_TRIM_G, GFIO_TRIM_B); ge->eta.trim_iops = new_info_entry_in_frame_rgb(probe_box, "Trim IOPS", GFIO_TRIM_R, GFIO_TRIM_G, GFIO_TRIM_B); /* * Only add this if we have a commit rate */ #if 0 probe_box = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(probe_frame), probe_box, TRUE, FALSE, 3); ge->eta.cr_bw = new_info_label_in_frame(probe_box, "Commit BW"); ge->eta.cr_iops = new_info_label_in_frame(probe_box, "Commit IOPS"); ge->eta.cw_bw = new_info_label_in_frame(probe_box, "Commit BW"); ge->eta.cw_iops = new_info_label_in_frame(probe_box, "Commit IOPS"); #endif /* * Set up a drawing area and IOPS and bandwidth graphs */ ge->graphs.drawing_area = gtk_drawing_area_new(); gtk_widget_set_size_request(GTK_WIDGET(ge->graphs.drawing_area), DRAWING_AREA_XDIM, DRAWING_AREA_YDIM); gtk_widget_modify_bg(ge->graphs.drawing_area, GTK_STATE_NORMAL, &gfio_color_lightyellow); g_signal_connect(G_OBJECT(ge->graphs.drawing_area), GFIO_DRAW_EVENT, G_CALLBACK(on_expose_drawing_area), &ge->graphs); g_signal_connect(G_OBJECT(ge->graphs.drawing_area), "configure_event", G_CALLBACK(on_config_drawing_area), &ge->graphs); scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled_window), ge->graphs.drawing_area); gtk_box_pack_start(GTK_BOX(main_vbox), scrolled_window, TRUE, TRUE, 0); setup_graphs(&ge->graphs); /* * Set up alignments for widgets at the bottom of ui, * align bottom left, expand horizontally but not vertically */ bottom_align = gtk_alignment_new(0, 1, 1, 0); ge->buttonbox = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(bottom_align), ge->buttonbox); gtk_box_pack_start(GTK_BOX(main_vbox), bottom_align, FALSE, FALSE, 0); add_buttons(ge, buttonspeclist, FIO_ARRAY_SIZE(buttonspeclist)); /* * Set up thread status progress bar */ ge->thread_status_pb = gtk_progress_bar_new(); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(ge->thread_status_pb), 0.0); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(ge->thread_status_pb), "No connections"); gtk_container_add(GTK_CONTAINER(ge->buttonbox), ge->thread_status_pb); return main_vbox; } static GtkWidget *new_main_page(struct gui *ui) { GtkWidget *main_vbox, *probe, *probe_frame, *probe_box; GtkWidget *scrolled_window, *bottom_align, *top_align, *top_vbox; main_vbox = gtk_vbox_new(FALSE, 3); /* * Set up alignments for widgets at the top of ui, * align top left, expand horizontally but not vertically */ top_align = gtk_alignment_new(0, 0, 1, 0); top_vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(top_align), top_vbox); gtk_box_pack_start(GTK_BOX(main_vbox), top_align, FALSE, FALSE, 0); probe = gtk_frame_new("Run statistics"); gtk_box_pack_start(GTK_BOX(main_vbox), probe, FALSE, FALSE, 3); probe_frame = gtk_vbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(probe), probe_frame); probe_box = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(probe_frame), probe_box, FALSE, FALSE, 3); ui->eta.jobs = new_info_entry_in_frame(probe_box, "Running"); ui->eta.read_bw = new_info_entry_in_frame_rgb(probe_box, "Read BW", GFIO_READ_R, GFIO_READ_G, GFIO_READ_B); ui->eta.read_iops = new_info_entry_in_frame_rgb(probe_box, "IOPS", GFIO_READ_R, GFIO_READ_G, GFIO_READ_B); ui->eta.write_bw = new_info_entry_in_frame_rgb(probe_box, "Write BW", GFIO_WRITE_R, GFIO_WRITE_G, GFIO_WRITE_B); ui->eta.write_iops = new_info_entry_in_frame_rgb(probe_box, "IOPS", GFIO_WRITE_R, GFIO_WRITE_G, GFIO_WRITE_B); ui->eta.trim_bw = new_info_entry_in_frame_rgb(probe_box, "Trim BW", GFIO_TRIM_R, GFIO_TRIM_G, GFIO_TRIM_B); ui->eta.trim_iops = new_info_entry_in_frame_rgb(probe_box, "IOPS", GFIO_TRIM_R, GFIO_TRIM_G, GFIO_TRIM_B); /* * Only add this if we have a commit rate */ #if 0 probe_box = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(probe_frame), probe_box, TRUE, FALSE, 3); ui->eta.cr_bw = new_info_label_in_frame(probe_box, "Commit BW"); ui->eta.cr_iops = new_info_label_in_frame(probe_box, "Commit IOPS"); ui->eta.cw_bw = new_info_label_in_frame(probe_box, "Commit BW"); ui->eta.cw_iops = new_info_label_in_frame(probe_box, "Commit IOPS"); #endif /* * Set up a drawing area and IOPS and bandwidth graphs */ ui->graphs.drawing_area = gtk_drawing_area_new(); gtk_widget_set_size_request(GTK_WIDGET(ui->graphs.drawing_area), DRAWING_AREA_XDIM, DRAWING_AREA_YDIM); gtk_widget_modify_bg(ui->graphs.drawing_area, GTK_STATE_NORMAL, &gfio_color_lightyellow); g_signal_connect(G_OBJECT(ui->graphs.drawing_area), GFIO_DRAW_EVENT, G_CALLBACK(on_expose_drawing_area), &ui->graphs); g_signal_connect(G_OBJECT(ui->graphs.drawing_area), "configure_event", G_CALLBACK(on_config_drawing_area), &ui->graphs); scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled_window), ui->graphs.drawing_area); gtk_box_pack_start(GTK_BOX(main_vbox), scrolled_window, TRUE, TRUE, 0); setup_graphs(&ui->graphs); /* * Set up alignments for widgets at the bottom of ui, * align bottom left, expand horizontally but not vertically */ bottom_align = gtk_alignment_new(0, 1, 1, 0); ui->buttonbox = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(bottom_align), ui->buttonbox); gtk_box_pack_start(GTK_BOX(main_vbox), bottom_align, FALSE, FALSE, 0); /* * Set up thread status progress bar */ ui->thread_status_pb = gtk_progress_bar_new(); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(ui->thread_status_pb), 0.0); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(ui->thread_status_pb), "No connections"); gtk_container_add(GTK_CONTAINER(ui->buttonbox), ui->thread_status_pb); return main_vbox; } static gboolean notebook_switch_page(GtkNotebook *notebook, GtkWidget *widget, guint page, gpointer data) { struct gui *ui = (struct gui *) data; struct gui_entry *ge; if (!page) { set_job_menu_visible(ui, 0); set_view_results_visible(ui, 0); return TRUE; } set_job_menu_visible(ui, 1); ge = get_ge_from_page(ui, page, NULL); if (ge) update_button_states(ui, ge); return TRUE; } static gint compare_recent_items(GtkRecentInfo *a, GtkRecentInfo *b) { time_t time_a = gtk_recent_info_get_visited(a); time_t time_b = gtk_recent_info_get_visited(b); return time_b - time_a; } static void add_recent_file_items(struct gui *ui) { const gchar *gfio = g_get_application_name(); GList *items, *item; int i = 0; if (ui->recent_ui_id) { gtk_ui_manager_remove_ui(ui->uimanager, ui->recent_ui_id); gtk_ui_manager_ensure_update(ui->uimanager); } ui->recent_ui_id = gtk_ui_manager_new_merge_id(ui->uimanager); if (ui->actiongroup) { gtk_ui_manager_remove_action_group(ui->uimanager, ui->actiongroup); g_object_unref(ui->actiongroup); } ui->actiongroup = gtk_action_group_new("RecentFileActions"); gtk_ui_manager_insert_action_group(ui->uimanager, ui->actiongroup, -1); items = gtk_recent_manager_get_items(ui->recentmanager); items = g_list_sort(items, (GCompareFunc) compare_recent_items); for (item = items; item && item->data; item = g_list_next(item)) { GtkRecentInfo *info = (GtkRecentInfo *) item->data; gchar *action_name; const gchar *label; GtkAction *action; if (!gtk_recent_info_has_application(info, gfio)) continue; /* * We only support local files for now */ if (!gtk_recent_info_is_local(info) || !gtk_recent_info_exists(info)) continue; action_name = g_strdup_printf("RecentFile%u", i++); label = gtk_recent_info_get_display_name(info); action = g_object_new(GTK_TYPE_ACTION, "name", action_name, "label", label, NULL); g_object_set_data_full(G_OBJECT(action), "gtk-recent-info", gtk_recent_info_ref(info), (GDestroyNotify) gtk_recent_info_unref); g_signal_connect(action, "activate", G_CALLBACK(recent_open), ui); gtk_action_group_add_action(ui->actiongroup, action); g_object_unref(action); gtk_ui_manager_add_ui(ui->uimanager, ui->recent_ui_id, "/MainMenu/FileMenu/FileRecentFiles", label, action_name, GTK_UI_MANAGER_MENUITEM, FALSE); g_free(action_name); if (i == 8) break; } g_list_foreach(items, (GFunc) gtk_recent_info_unref, NULL); g_list_free(items); } static void drag_and_drop_received(GtkWidget *widget, GdkDragContext *ctx, gint x, gint y, GtkSelectionData *seldata, guint info, guint time, gpointer *data) { struct gui *ui = (struct gui *) data; gchar **uris; GtkWidget *source; source = gtk_drag_get_source_widget(ctx); if (source && widget == gtk_widget_get_toplevel(source)) { gtk_drag_finish(ctx, FALSE, FALSE, time); return; } uris = gtk_selection_data_get_uris(seldata); if (!uris) { gtk_drag_finish(ctx, FALSE, FALSE, time); return; } if (uris[0]) do_file_open_with_tab(ui, uris[0]); gtk_drag_finish(ctx, TRUE, FALSE, time); g_strfreev(uris); } static void init_ui(int *argc, char **argv[], struct gui *ui) { GtkSettings *settings; GtkWidget *vbox; /* Magical g*thread incantation, you just need this thread stuff. * Without it, the update that happens in gfio_update_thread_status * doesn't really happen in a timely fashion, you need expose events */ #if !GLIB_CHECK_VERSION(2, 31, 0) if (!g_thread_supported()) g_thread_init(NULL); #endif gdk_threads_init(); gtk_init(argc, argv); settings = gtk_settings_get_default(); gtk_settings_set_long_property(settings, "gtk_tooltip_timeout", 10, "gfio setting"); #if !GLIB_CHECK_VERSION(2, 36, 0) g_type_init(); #endif gdk_color_parse("#fffff4", &gfio_color_lightyellow); gdk_color_parse("white", &gfio_color_white); ui->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(ui->window), "fio"); gtk_window_set_default_size(GTK_WINDOW(ui->window), 1024, 768); g_signal_connect(ui->window, "delete-event", G_CALLBACK(quit_clicked), ui); g_signal_connect(ui->window, "destroy", G_CALLBACK(quit_clicked), ui); ui->vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(ui->window), ui->vbox); ui->uimanager = gtk_ui_manager_new(); ui->menu = get_menubar_menu(ui->window, ui->uimanager, ui); gfio_ui_setup(settings, ui->menu, ui->vbox, ui->uimanager); ui->recentmanager = gtk_recent_manager_get_default(); add_recent_file_items(ui); ui->notebook = gtk_notebook_new(); g_signal_connect(ui->notebook, "switch-page", G_CALLBACK(notebook_switch_page), ui); gtk_notebook_set_scrollable(GTK_NOTEBOOK(ui->notebook), 1); gtk_notebook_popup_enable(GTK_NOTEBOOK(ui->notebook)); gtk_container_add(GTK_CONTAINER(ui->vbox), ui->notebook); vbox = new_main_page(ui); gtk_drag_dest_set(GTK_WIDGET(ui->window), GTK_DEST_DEFAULT_ALL, NULL, 1, GDK_ACTION_COPY); gtk_drag_dest_add_uri_targets(GTK_WIDGET(ui->window)); g_signal_connect(ui->window, "drag-data-received", G_CALLBACK(drag_and_drop_received), ui); gtk_notebook_append_page(GTK_NOTEBOOK(ui->notebook), vbox, gtk_label_new("Main")); gfio_ui_setup_log(ui); gtk_widget_show_all(ui->window); } int main(int argc, char *argv[], char *envp[]) { if (initialize_fio(envp)) return 1; if (fio_init_options()) return 1; gopt_init(); memset(&main_ui, 0, sizeof(main_ui)); main_ui.ge_hash = g_hash_table_new(g_int_hash, g_int_equal); init_ui(&argc, &argv, &main_ui); gdk_threads_enter(); gtk_main(); gdk_threads_leave(); g_hash_table_destroy(main_ui.ge_hash); gopt_exit(); return 0; } fio-3.39/gfio.h000066400000000000000000000066411476262051600133420ustar00rootroot00000000000000#ifndef GFIO_H #define GFIO_H #include #include "gcompat.h" #include "stat.h" #include "thread_options.h" #include "ghelpers.h" #include "graph.h" struct probe_widget { GtkWidget *hostname; GtkWidget *os; GtkWidget *arch; GtkWidget *fio_ver; }; struct eta_widget { GtkWidget *names; struct multitext_widget iotype; struct multitext_widget bs; struct multitext_widget ioengine; struct multitext_widget iodepth; GtkWidget *jobs; GtkWidget *files; GtkWidget *read_bw; GtkWidget *read_iops; GtkWidget *cr_bw; GtkWidget *cr_iops; GtkWidget *write_bw; GtkWidget *write_iops; GtkWidget *cw_bw; GtkWidget *cw_iops; GtkWidget *trim_bw; GtkWidget *trim_iops; }; struct gfio_graphs { #define DRAWING_AREA_XDIM 1000 #define DRAWING_AREA_YDIM 400 GtkWidget *drawing_area; struct graph *iops_graph; graph_label_t read_iops; graph_label_t write_iops; graph_label_t trim_iops; struct graph *bandwidth_graph; graph_label_t read_bw; graph_label_t write_bw; graph_label_t trim_bw; }; /* * Main window widgets and data */ struct gui { GtkUIManager *uimanager; GtkRecentManager *recentmanager; GtkActionGroup *actiongroup; guint recent_ui_id; GtkWidget *menu; GtkWidget *window; GtkWidget *vbox; GtkWidget *thread_status_pb; GtkWidget *buttonbox; GtkWidget *notebook; GtkWidget *error_info_bar; GtkWidget *error_label; GtkListStore *log_model; GtkWidget *log_tree; GtkWidget *log_view; struct gfio_graphs graphs; struct probe_widget probe; struct eta_widget eta; pthread_t server_t; pthread_t t; int handler_running; GHashTable *ge_hash; }; extern struct gui main_ui; enum { GE_STATE_NEW = 1, GE_STATE_CONNECTED, GE_STATE_JOB_SENT, GE_STATE_JOB_STARTED, GE_STATE_JOB_RUNNING, GE_STATE_JOB_DONE, }; enum { GFIO_BUTTON_CONNECT = 0, GFIO_BUTTON_SEND, GFIO_BUTTON_START, GFIO_BUTTON_NR, }; /* * Notebook entry */ struct gui_entry { struct gui *ui; GtkWidget *vbox; GtkWidget *job_notebook; GtkWidget *thread_status_pb; GtkWidget *buttonbox; GtkWidget *button[GFIO_BUTTON_NR]; GtkWidget *notebook; GtkWidget *error_info_bar; GtkWidget *error_label; GtkWidget *results_window; GtkWidget *results_notebook; GtkUIManager *results_uimanager; GtkWidget *results_menu; GtkWidget *disk_util_vbox; GtkListStore *log_model; GtkWidget *log_tree; GtkWidget *log_view; struct gfio_graphs graphs; struct probe_widget probe; struct eta_widget eta; GtkWidget *page_label; gint page_num; unsigned int state; struct graph *clat_graph; struct graph *lat_bucket_graph; struct gfio_client *client; char *job_file; char *host; int port; int type; int server_start; }; struct end_results { struct group_run_stats gs; struct thread_stat ts; }; struct gfio_client_options { struct flist_head list; struct thread_options o; }; struct gfio_client { struct gui_entry *ge; struct fio_client *client; GtkWidget *err_entry; uint32_t client_cpus; uint64_t client_flags; struct flist_head o_list; unsigned int o_list_nr; struct end_results *results; unsigned int nr_results; uint32_t update_job_status; volatile uint32_t update_job_done; struct cmd_du_pdu *du; unsigned int nr_du; }; #define GFIO_MIME "text/fio" extern void gfio_view_log(struct gui *ui); extern void gfio_set_state(struct gui_entry *ge, unsigned int state); extern void clear_ge_ui_info(struct gui_entry *ge); extern const char *gfio_graph_font; extern GdkColor gfio_color_white; extern GdkColor gfio_color_lightyellow; #endif fio-3.39/ghelpers.c000066400000000000000000000115461476262051600142220ustar00rootroot00000000000000#include #include #include #include "gcompat.h" #include "ghelpers.h" GtkWidget *new_combo_entry_in_frame(GtkWidget *box, const char *label) { GtkWidget *entry, *frame; frame = gtk_frame_new(label); entry = gtk_combo_box_text_new(); gtk_box_pack_start(GTK_BOX(box), frame, TRUE, TRUE, 3); gtk_container_add(GTK_CONTAINER(frame), entry); return entry; } GtkWidget *new_info_entry_in_frame(GtkWidget *box, const char *label) { GtkWidget *entry, *frame; frame = gtk_frame_new(label); entry = gtk_entry_new(); gtk_editable_set_editable(GTK_EDITABLE(entry), 0); gtk_box_pack_start(GTK_BOX(box), frame, TRUE, TRUE, 3); gtk_container_add(GTK_CONTAINER(frame), entry); return entry; } static void fill_color_from_rgb(GdkColor *c, gfloat r, gfloat g, gfloat b) { gint R, G, B; gchar tmp[8]; memset(c, 0, sizeof(*c)); R = r * 255; G = g * 255; B = b * 255; snprintf(tmp, sizeof(tmp), "#%02x%02x%02x", R, G, B); gdk_color_parse(tmp, c); } GtkWidget *new_info_entry_in_frame_rgb(GtkWidget *box, const char *label, gfloat r, gfloat g, gfloat b) { GtkWidget *entry; GdkColor c; entry = new_info_entry_in_frame(box, label); fill_color_from_rgb(&c, r, g, b); gtk_widget_modify_text(entry, GTK_STATE_NORMAL, &c); return entry; } GtkWidget *new_info_label_in_frame(GtkWidget *box, const char *label) { GtkWidget *label_widget; GtkWidget *frame; frame = gtk_frame_new(label); label_widget = gtk_label_new(NULL); gtk_box_pack_start(GTK_BOX(box), frame, TRUE, TRUE, 3); gtk_container_add(GTK_CONTAINER(frame), label_widget); return label_widget; } GtkWidget *create_spinbutton(GtkWidget *hbox, double min, double max, double defval) { GtkWidget *button, *box; box = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(hbox), box); button = gtk_spin_button_new_with_range(min, max, 1.0); gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(button), GTK_UPDATE_IF_VALID); gtk_spin_button_set_value(GTK_SPIN_BUTTON(button), defval); return button; } void label_set_int_value(GtkWidget *entry, unsigned int val) { char tmp[80]; sprintf(tmp, "%u", val); gtk_label_set_text(GTK_LABEL(entry), tmp); } void entry_set_int_value(GtkWidget *entry, unsigned int val) { char tmp[80]; sprintf(tmp, "%u", val); gtk_entry_set_text(GTK_ENTRY(entry), tmp); } GtkTreeViewColumn *tree_view_column(GtkWidget *tree_view, int index, const char *title, unsigned int flags) { GtkCellRenderer *renderer; GtkTreeViewColumn *col; double xalign = 0.0; /* left as default */ PangoAlignment align; gboolean visible; align = (flags & ALIGN_LEFT) ? PANGO_ALIGN_LEFT : (flags & ALIGN_RIGHT) ? PANGO_ALIGN_RIGHT : PANGO_ALIGN_CENTER; visible = !(flags & INVISIBLE); renderer = gtk_cell_renderer_text_new(); col = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(col, title); if (!(flags & UNSORTABLE)) gtk_tree_view_column_set_sort_column_id(col, index); gtk_tree_view_column_set_resizable(col, TRUE); gtk_tree_view_column_pack_start(col, renderer, TRUE); gtk_tree_view_column_set_expand(col, TRUE); gtk_tree_view_column_add_attribute(col, renderer, "text", index); g_object_set(G_OBJECT(renderer), "alignment", align, NULL); switch (align) { case PANGO_ALIGN_LEFT: xalign = 0.0; break; case PANGO_ALIGN_CENTER: xalign = 0.5; break; case PANGO_ALIGN_RIGHT: xalign = 1.0; break; } gtk_cell_renderer_set_alignment(GTK_CELL_RENDERER(renderer), xalign, 0.5); gtk_tree_view_column_set_visible(col, visible); gtk_tree_view_append_column(GTK_TREE_VIEW(tree_view), col); return col; } void multitext_add_entry(struct multitext_widget *mt, const char *text) { mt->text = realloc(mt->text, (mt->max_text + 1) * sizeof(char *)); mt->text[mt->max_text] = strdup(text); mt->max_text++; } void multitext_set_entry(struct multitext_widget *mt, unsigned int index) { if (index >= mt->max_text) return; if (!mt->text || !mt->text[index]) return; mt->cur_text = index; gtk_entry_set_text(GTK_ENTRY(mt->entry), mt->text[index]); } void multitext_update_entry(struct multitext_widget *mt, unsigned int index, const char *text) { if (!mt->text) return; if (mt->text[index]) free(mt->text[index]); mt->text[index] = strdup(text); if (mt->cur_text == index) gtk_entry_set_text(GTK_ENTRY(mt->entry), mt->text[index]); } void multitext_free(struct multitext_widget *mt) { int i; gtk_entry_set_text(GTK_ENTRY(mt->entry), ""); for (i = 0; i < mt->max_text; i++) { if (mt->text[i]) free(mt->text[i]); } free(mt->text); mt->cur_text = -1; mt->max_text = 0; } GtkWidget *get_scrolled_window(gint border_width) { GtkWidget *scroll; scroll = gtk_scrolled_window_new(NULL, NULL); gtk_container_set_border_width(GTK_CONTAINER(scroll), border_width); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); return scroll; } fio-3.39/ghelpers.h000066400000000000000000000023411476262051600142200ustar00rootroot00000000000000#ifndef GFIO_HELPERS_H #define GFIO_HELPERS_H GtkWidget *new_combo_entry_in_frame(GtkWidget *box, const char *label); GtkWidget *new_info_entry_in_frame(GtkWidget *box, const char *label); GtkWidget *new_info_label_in_frame(GtkWidget *box, const char *label); GtkWidget *new_info_entry_in_frame_rgb(GtkWidget *box, const char *label, gfloat r, gfloat g, gfloat b); GtkWidget *create_spinbutton(GtkWidget *hbox, double min, double max, double defval); void label_set_int_value(GtkWidget *entry, unsigned int val); void entry_set_int_value(GtkWidget *entry, unsigned int val); GtkWidget *get_scrolled_window(gint border_width); struct multitext_widget { GtkWidget *entry; char **text; unsigned int cur_text; unsigned int max_text; }; void multitext_add_entry(struct multitext_widget *mt, const char *text); void multitext_set_entry(struct multitext_widget *mt, unsigned int index); void multitext_update_entry(struct multitext_widget *mt, unsigned int index, const char *text); void multitext_free(struct multitext_widget *mt); #define ALIGN_LEFT 1 #define ALIGN_RIGHT 2 #define INVISIBLE 4 #define UNSORTABLE 8 GtkTreeViewColumn *tree_view_column(GtkWidget *tree_view, int index, const char *title, unsigned int flags); #endif fio-3.39/goptions.c000066400000000000000000001134371476262051600142550ustar00rootroot00000000000000#include #include #include #include #include #include #include "fio.h" #include "gfio.h" #include "ghelpers.h" #include "gerror.h" #include "parse.h" #include "optgroup.h" struct gopt { GtkWidget *box; unsigned int opt_index; unsigned int opt_type; gulong sig_handler; struct gopt_job_view *gjv; struct flist_head changed_list; }; struct gopt_combo { struct gopt gopt; GtkWidget *combo; }; struct gopt_int { struct gopt gopt; unsigned long long lastval; GtkWidget *spin; }; struct gopt_bool { struct gopt gopt; GtkWidget *check; }; struct gopt_str { struct gopt gopt; GtkWidget *entry; }; struct gopt_str_val { struct gopt gopt; GtkWidget *spin; GtkWidget *combo; unsigned int maxindex; }; #define GOPT_RANGE_SPIN 4 struct gopt_range { struct gopt gopt; GtkWidget *spins[GOPT_RANGE_SPIN]; }; struct gopt_str_multi { struct gopt gopt; GtkWidget *checks[PARSE_MAX_VP]; }; enum { GOPT_COMBO_INT = 1, GOPT_COMBO_STR, GOPT_INT, GOPT_BOOL, GOPT_STR, GOPT_STR_VAL, GOPT_RANGE, GOPT_STR_MULTI, }; struct gopt_frame_widget { GtkWidget *vbox[2]; unsigned int nr; }; struct gopt_job_view { struct gopt_frame_widget g_widgets[__FIO_OPT_G_NR]; GtkWidget *vboxes[__FIO_OPT_C_NR]; struct gopt *gopts[FIO_MAX_OPTS]; GtkWidget *dialog; GtkWidget *job_combo; struct gfio_client *client; struct flist_head changed_list; struct thread_options *o; int in_job_switch; }; static GNode *gopt_dep_tree; static GtkWidget *gopt_get_group_frame(struct gopt_job_view *gjv, GtkWidget *box, uint64_t groupmask) { uint64_t mask, group; const struct opt_group *og; GtkWidget *frame, *hbox; struct gopt_frame_widget *gfw; if (!groupmask) return 0; mask = groupmask; og = opt_group_cat_from_mask(&mask); if (!og) return NULL; group = ffz64(~groupmask); gfw = &gjv->g_widgets[group]; if (!gfw->vbox[0]) { frame = gtk_frame_new(og->name); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 3); hbox = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(frame), hbox); gfw->vbox[0] = gtk_vbox_new(TRUE, 5); gfw->vbox[1] = gtk_vbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(hbox), gfw->vbox[0], TRUE, TRUE, 5); gtk_box_pack_start(GTK_BOX(hbox), gfw->vbox[1], TRUE, TRUE, 5); } hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(gfw->vbox[gfw->nr++ & 1]), hbox, FALSE, FALSE, 5); return hbox; } /* * Mark children as invisible, if needed. */ static void gopt_set_children_visible(struct gopt_job_view *gjv, struct fio_option *parent, gboolean visible) { GNode *child, *node; if (parent->hide_on_set) visible = !visible; node = g_node_find(gopt_dep_tree, G_IN_ORDER, G_TRAVERSE_ALL, parent); child = g_node_first_child(node); while (child) { struct fio_option *o = child->data; struct gopt *g = o->gui_data; GtkWidget *widget = g->box; /* * Recurse into child, if it also has children */ if (g_node_n_children(child)) gopt_set_children_visible(gjv, o, visible); gtk_widget_set_sensitive(widget, visible); child = g_node_next_sibling(child); } } static void gopt_mark_index(struct gopt_job_view *gjv, struct gopt *gopt, unsigned int idx, int type) { INIT_FLIST_HEAD(&gopt->changed_list); assert(!gjv->gopts[idx]); gopt->opt_index = idx; gopt->opt_type = type; gopt->gjv = gjv; gjv->gopts[idx] = gopt; } static void gopt_dialog_update_apply_button(struct gopt_job_view *gjv) { GtkDialog *dialog = GTK_DIALOG(gjv->dialog); gboolean set; set = !flist_empty(&gjv->changed_list); gtk_dialog_set_response_sensitive(dialog, GTK_RESPONSE_APPLY, set); if (set) { gtk_widget_set_sensitive(gjv->job_combo, 0); gtk_widget_set_tooltip_text(gjv->job_combo, "Apply option changes before switching to a new job"); } else { gtk_widget_set_sensitive(gjv->job_combo, 1); gtk_widget_set_tooltip_text(gjv->job_combo, "Change current job"); } } static void gopt_changed(struct gopt *gopt) { struct gopt_job_view *gjv = gopt->gjv; if (gjv->in_job_switch) return; /* * Add to changed list. This also prevents the option from being * freed when the widget is destroyed. */ if (flist_empty(&gopt->changed_list)) { flist_add_tail(&gopt->changed_list, &gjv->changed_list); gopt_dialog_update_apply_button(gjv); } } static void gopt_str_changed(GtkEntry *entry, gpointer data) { struct gopt_str *s = (struct gopt_str *) data; struct fio_option *o = &fio_options[s->gopt.opt_index]; const gchar *text; int set; gopt_changed(&s->gopt); text = gtk_entry_get_text(GTK_ENTRY(s->entry)); set = strcmp(text, "") != 0; gopt_set_children_visible(s->gopt.gjv, o, set); } static void gopt_str_destroy(GtkWidget *w, gpointer data) { struct gopt_str *s = (struct gopt_str *) data; free(s); gtk_widget_destroy(w); } static void gopt_str_store_set_val(struct gopt_str *s, const char *text) { if (text) gtk_entry_set_text(GTK_ENTRY(s->entry), text); } static struct gopt *gopt_new_str_store(struct gopt_job_view *gjv, struct fio_option *o, const char *text, unsigned int idx) { struct gopt_str *s; GtkWidget *label; s = calloc(1, sizeof(*s)); s->gopt.box = gtk_hbox_new(FALSE, 3); if (!o->lname) label = gtk_label_new(o->name); else label = gtk_label_new(o->lname); s->entry = gtk_entry_new(); gopt_mark_index(gjv, &s->gopt, idx, GOPT_STR); gtk_editable_set_editable(GTK_EDITABLE(s->entry), 1); if (text) gopt_str_store_set_val(s, text); else if (o->def) gopt_str_store_set_val(s, o->def); s->gopt.sig_handler = g_signal_connect(G_OBJECT(s->entry), "changed", G_CALLBACK(gopt_str_changed), s); g_signal_connect(G_OBJECT(s->entry), "destroy", G_CALLBACK(gopt_str_destroy), s); gtk_box_pack_start(GTK_BOX(s->gopt.box), s->entry, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(s->gopt.box), label, FALSE, FALSE, 0); return &s->gopt; } static void gopt_combo_changed(GtkComboBox *box, gpointer data) { struct gopt_combo *c = (struct gopt_combo *) data; struct fio_option *o = &fio_options[c->gopt.opt_index]; unsigned int index; gopt_changed(&c->gopt); index = gtk_combo_box_get_active(GTK_COMBO_BOX(c->combo)); gopt_set_children_visible(c->gopt.gjv, o, index); } static void gopt_combo_destroy(GtkWidget *w, gpointer data) { struct gopt_combo *c = (struct gopt_combo *) data; free(c); gtk_widget_destroy(w); } static struct gopt_combo *__gopt_new_combo(struct gopt_job_view *gjv, struct fio_option *o, unsigned int idx, int type) { struct gopt_combo *c; GtkWidget *label; c = calloc(1, sizeof(*c)); c->gopt.box = gtk_hbox_new(FALSE, 3); if (!o->lname) label = gtk_label_new(o->name); else label = gtk_label_new(o->lname); c->combo = gtk_combo_box_text_new(); gopt_mark_index(gjv, &c->gopt, idx, type); g_signal_connect(G_OBJECT(c->combo), "destroy", G_CALLBACK(gopt_combo_destroy), c); gtk_box_pack_start(GTK_BOX(c->gopt.box), c->combo, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(c->gopt.box), label, FALSE, FALSE, 0); return c; } static void gopt_combo_str_set_val(struct gopt_combo *c, const char *text) { struct fio_option *o = &fio_options[c->gopt.opt_index]; struct value_pair *vp; int i; i = 0; vp = &o->posval[0]; while (vp->ival) { if (!strcmp(vp->ival, text)) { gtk_combo_box_set_active(GTK_COMBO_BOX(c->combo), i); break; } vp++; i++; } } static struct gopt *gopt_new_combo_str(struct gopt_job_view *gjv, struct fio_option *o, const char *text, unsigned int idx) { struct gopt_combo *c; struct value_pair *vp; int i, active = 0; c = __gopt_new_combo(gjv, o, idx, GOPT_COMBO_STR); i = 0; vp = &o->posval[0]; while (vp->ival) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(c->combo), vp->ival); if (o->def && !strcmp(vp->ival, o->def)) active = i; vp++; i++; } gtk_combo_box_set_active(GTK_COMBO_BOX(c->combo), active); if (text) gopt_combo_str_set_val(c, text); c->gopt.sig_handler = g_signal_connect(G_OBJECT(c->combo), "changed", G_CALLBACK(gopt_combo_changed), c); return &c->gopt; } static void gopt_combo_int_set_val(struct gopt_combo *c, unsigned int ip) { struct fio_option *o = &fio_options[c->gopt.opt_index]; struct value_pair *vp; int i; i = 0; vp = &o->posval[0]; while (vp->ival) { if (vp->oval == ip) { gtk_combo_box_set_active(GTK_COMBO_BOX(c->combo), i); break; } vp++; i++; } } static struct gopt *gopt_new_combo_int(struct gopt_job_view *gjv, struct fio_option *o, unsigned int *ip, unsigned int idx) { struct gopt_combo *c; struct value_pair *vp; int i, active = 0; c = __gopt_new_combo(gjv, o, idx, GOPT_COMBO_INT); i = 0; vp = &o->posval[0]; while (vp->ival) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(c->combo), vp->ival); if (ip && vp->oval == *ip) active = i; vp++; i++; } gtk_combo_box_set_active(GTK_COMBO_BOX(c->combo), active); if (ip) gopt_combo_int_set_val(c, *ip); c->gopt.sig_handler = g_signal_connect(G_OBJECT(c->combo), "changed", G_CALLBACK(gopt_combo_changed), c); return &c->gopt; } static void gopt_str_multi_toggled(GtkToggleButton *button, gpointer data) { struct gopt_str_multi *m = (struct gopt_str_multi *) data; gopt_changed(&m->gopt); } static void gopt_str_multi_destroy(GtkWidget *w, gpointer data) { struct gopt_str_multi *m = (struct gopt_str_multi *) data; free(m); gtk_widget_destroy(w); } static void gopt_str_multi_set_val(struct gopt_str_multi *m, int val) { } static struct gopt *gopt_new_str_multi(struct gopt_job_view *gjv, struct fio_option *o, unsigned int idx) { struct gopt_str_multi *m; struct value_pair *vp; GtkWidget *frame, *hbox; int i; m = calloc(1, sizeof(*m)); m->gopt.box = gtk_hbox_new(FALSE, 3); gopt_mark_index(gjv, &m->gopt, idx, GOPT_STR_MULTI); if (!o->lname) frame = gtk_frame_new(o->name); else frame = gtk_frame_new(o->lname); gtk_box_pack_start(GTK_BOX(m->gopt.box), frame, FALSE, FALSE, 3); hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(frame), hbox); i = 0; vp = &o->posval[0]; while (vp->ival) { m->checks[i] = gtk_check_button_new_with_label(vp->ival); gtk_widget_set_tooltip_text(m->checks[i], vp->help); gtk_box_pack_start(GTK_BOX(hbox), m->checks[i], FALSE, FALSE, 3); g_signal_connect(G_OBJECT(m->checks[i]), "toggled", G_CALLBACK(gopt_str_multi_toggled), m); vp++; i++; } gopt_str_multi_set_val(m, 0); g_signal_connect(G_OBJECT(m->gopt.box), "destroy", G_CALLBACK(gopt_str_multi_destroy), m); return &m->gopt; } static void gopt_int_changed(GtkSpinButton *spin, gpointer data) { struct gopt_int *i = (struct gopt_int *) data; struct fio_option *o = &fio_options[i->gopt.opt_index]; GtkAdjustment *adj; int value, delta; gopt_changed(&i->gopt); adj = gtk_spin_button_get_adjustment(spin); value = gtk_adjustment_get_value(adj); delta = value - i->lastval; i->lastval = value; if (o->inv_opt) { struct gopt *b_inv = o->inv_opt->gui_data; struct gopt_int *i_inv = container_of(b_inv, struct gopt_int, gopt); int cur_val; assert(o->type == o->inv_opt->type); cur_val = gtk_spin_button_get_value(GTK_SPIN_BUTTON(i_inv->spin)); cur_val -= delta; g_signal_handler_block(G_OBJECT(i_inv->spin), i_inv->gopt.sig_handler); gtk_spin_button_set_value(GTK_SPIN_BUTTON(i_inv->spin), cur_val); g_signal_handler_unblock(G_OBJECT(i_inv->spin), i_inv->gopt.sig_handler); } } static void gopt_int_destroy(GtkWidget *w, gpointer data) { struct gopt_int *i = (struct gopt_int *) data; free(i); gtk_widget_destroy(w); } static void gopt_int_set_val(struct gopt_int *i, unsigned long long p) { gtk_spin_button_set_value(GTK_SPIN_BUTTON(i->spin), p); i->lastval = p; } static struct gopt_int *__gopt_new_int(struct gopt_job_view *gjv, struct fio_option *o, unsigned long long *p, unsigned int idx) { unsigned long long defval; struct gopt_int *i; guint maxval, interval; GtkWidget *label; i = calloc(1, sizeof(*i)); i->gopt.box = gtk_hbox_new(FALSE, 3); if (!o->lname) label = gtk_label_new(o->name); else label = gtk_label_new(o->lname); maxval = o->maxval; if (!maxval) maxval = UINT_MAX; defval = 0; if (p) defval = *p; else if (o->def) { long long val; check_str_bytes(o->def, &val, o); defval = val; } interval = 1.0; if (o->interval) interval = o->interval; i->spin = gtk_spin_button_new_with_range(o->minval, maxval, interval); gopt_mark_index(gjv, &i->gopt, idx, GOPT_INT); gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(i->spin), GTK_UPDATE_IF_VALID); if (p) gopt_int_set_val(i, *p); else gopt_int_set_val(i, defval); i->gopt.sig_handler = g_signal_connect(G_OBJECT(i->spin), "value-changed", G_CALLBACK(gopt_int_changed), i); g_signal_connect(G_OBJECT(i->spin), "destroy", G_CALLBACK(gopt_int_destroy), i); gtk_box_pack_start(GTK_BOX(i->gopt.box), i->spin, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(i->gopt.box), label, FALSE, FALSE, 0); return i; } static struct gopt *gopt_new_int(struct gopt_job_view *gjv, struct fio_option *o, unsigned int *ip, unsigned int idx) { unsigned long long ullp; struct gopt_int *i; if (ip) { ullp = *ip; i = __gopt_new_int(gjv, o, &ullp, idx); } else i = __gopt_new_int(gjv, o, NULL, idx); return &i->gopt; } static struct gopt *gopt_new_ullong(struct gopt_job_view *gjv, struct fio_option *o, unsigned long long *p, unsigned int idx) { struct gopt_int *i; i = __gopt_new_int(gjv, o, p, idx); return &i->gopt; } static void gopt_bool_toggled(GtkToggleButton *button, gpointer data) { struct gopt_bool *b = (struct gopt_bool *) data; struct fio_option *o = &fio_options[b->gopt.opt_index]; gboolean set; gopt_changed(&b->gopt); set = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(b->check)); if (o->inv_opt) { struct gopt *g_inv = o->inv_opt->gui_data; struct gopt_bool *b_inv = container_of(g_inv, struct gopt_bool, gopt); assert(o->type == o->inv_opt->type); g_signal_handler_block(G_OBJECT(b_inv->check), b_inv->gopt.sig_handler); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b_inv->check), !set); g_signal_handler_unblock(G_OBJECT(b_inv->check), b_inv->gopt.sig_handler); } gopt_set_children_visible(b->gopt.gjv, o, set); } static void gopt_bool_destroy(GtkWidget *w, gpointer data) { struct gopt_bool *b = (struct gopt_bool *) data; free(b); gtk_widget_destroy(w); } static void gopt_bool_set_val(struct gopt_bool *b, unsigned int val) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->check), val); } static struct gopt *gopt_new_bool(struct gopt_job_view *gjv, struct fio_option *o, unsigned int *val, unsigned int idx) { struct gopt_bool *b; GtkWidget *label; int defstate = 0; b = calloc(1, sizeof(*b)); b->gopt.box = gtk_hbox_new(FALSE, 3); if (!o->lname) label = gtk_label_new(o->name); else label = gtk_label_new(o->lname); b->check = gtk_check_button_new(); gopt_mark_index(gjv, &b->gopt, idx, GOPT_BOOL); if (o->def && !strcmp(o->def, "1")) defstate = 1; if (o->neg) defstate = !defstate; if (val) gopt_bool_set_val(b, *val); else gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(b->check), defstate); b->gopt.sig_handler = g_signal_connect(G_OBJECT(b->check), "toggled", G_CALLBACK(gopt_bool_toggled), b); g_signal_connect(G_OBJECT(b->check), "destroy", G_CALLBACK(gopt_bool_destroy), b); gtk_box_pack_start(GTK_BOX(b->gopt.box), b->check, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(b->gopt.box), label, FALSE, FALSE, 0); return &b->gopt; } /* * These are paired 0/1 and 2/3. 0/2 are min values, 1/3 are max values. * If the max is made smaller than min, adjust min down. * If the min is made larger than max, adjust the max. */ static void range_value_changed(GtkSpinButton *spin, gpointer data) { struct gopt_range *r = (struct gopt_range *) data; int changed = -1, i; gint val, mval; gopt_changed(&r->gopt); for (i = 0; i < GOPT_RANGE_SPIN; i++) { if (GTK_SPIN_BUTTON(r->spins[i]) == spin) { changed = i; break; } } assert(changed != -1); /* * Min changed */ if (changed == 0 || changed == 2) { GtkWidget *mspin = r->spins[changed + 1]; val = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(r->spins[changed])); mval = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(mspin)); if (val > mval) gtk_spin_button_set_value(GTK_SPIN_BUTTON(mspin), val); } else { GtkWidget *mspin = r->spins[changed - 1]; val = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(r->spins[changed])); mval = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(mspin)); if (val < mval) gtk_spin_button_set_value(GTK_SPIN_BUTTON(mspin), val); } } static void gopt_range_destroy(GtkWidget *w, gpointer data) { struct gopt_range *r = (struct gopt_range *) data; free(r); gtk_widget_destroy(w); } static void gopt_int_range_set_val(struct gopt_range *r, unsigned int *vals) { int i; for (i = 0; i < GOPT_RANGE_SPIN; i++) gtk_spin_button_set_value(GTK_SPIN_BUTTON(r->spins[i]), vals[i]); } static struct gopt *gopt_new_int_range(struct gopt_job_view *gjv, struct fio_option *o, unsigned int **ip, unsigned int idx) { struct gopt_range *r; GtkWidget *label; guint interval; unsigned int defvals[GOPT_RANGE_SPIN]; gint maxval; int i; r = calloc(1, sizeof(*r)); r->gopt.box = gtk_hbox_new(FALSE, 3); gopt_mark_index(gjv, &r->gopt, idx, GOPT_RANGE); if (!o->lname) label = gtk_label_new(o->name); else label = gtk_label_new(o->lname); maxval = o->maxval; if (!maxval) maxval = INT_MAX; memset(defvals, 0, sizeof(defvals)); if (o->def) { long long val; check_str_bytes(o->def, &val, o); for (i = 0; i < GOPT_RANGE_SPIN; i++) defvals[i] = val; } interval = 1.0; if (o->interval) interval = o->interval; for (i = 0; i < GOPT_RANGE_SPIN; i++) { r->spins[i] = gtk_spin_button_new_with_range(o->minval, maxval, interval); gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(r->spins[i]), GTK_UPDATE_IF_VALID); gtk_box_pack_start(GTK_BOX(r->gopt.box), r->spins[i], FALSE, FALSE, 0); } if (ip) gopt_int_range_set_val(r, *ip); else gopt_int_range_set_val(r, defvals); for (i = 0; i < GOPT_RANGE_SPIN; i++) g_signal_connect(G_OBJECT(r->spins[i]), "value-changed", G_CALLBACK(range_value_changed), r); gtk_box_pack_start(GTK_BOX(r->gopt.box), label, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(r->gopt.box), "destroy", G_CALLBACK(gopt_range_destroy), r); return &r->gopt; } static void gopt_str_val_destroy(GtkWidget *w, gpointer data) { struct gopt_str_val *g = (struct gopt_str_val *) data; free(g); gtk_widget_destroy(w); } static void gopt_str_val_spin_wrapped(GtkSpinButton *spin, gpointer data) { struct gopt_str_val *g = (struct gopt_str_val *) data; unsigned int val; GtkAdjustment *adj; gint index; adj = gtk_spin_button_get_adjustment(spin); val = gtk_adjustment_get_value(adj); /* * Can't rely on exact value, as fast changes increment >= 1 */ if (!val) { index = gtk_combo_box_get_active(GTK_COMBO_BOX(g->combo)); if (index + 1 <= g->maxindex) { val = 1; gtk_combo_box_set_active(GTK_COMBO_BOX(g->combo), ++index); } else val = 1023; gtk_spin_button_set_value(spin, val); } else { index = gtk_combo_box_get_active(GTK_COMBO_BOX(g->combo)); if (index) { gtk_combo_box_set_active(GTK_COMBO_BOX(g->combo), --index); gtk_spin_button_set_value(spin, 1023); } else gtk_spin_button_set_value(spin, 0); } } static void gopt_str_val_changed(GtkSpinButton *spin, gpointer data) { struct gopt_str_val *g = (struct gopt_str_val *) data; gopt_changed(&g->gopt); } static void gopt_str_val_set_val(struct gopt_str_val *g, unsigned long long val) { int i = 0; do { if (!val || (val % 1024)) break; i++; val /= 1024; } while (1); gtk_spin_button_set_value(GTK_SPIN_BUTTON(g->spin), val); gtk_combo_box_set_active(GTK_COMBO_BOX(g->combo), i); } static struct gopt *gopt_new_str_val(struct gopt_job_view *gjv, struct fio_option *o, unsigned long long *p, unsigned int idx) { struct gopt_str_val *g; const gchar *postfix[] = { "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB" }; GtkWidget *label; int i; g = calloc(1, sizeof(*g)); g->gopt.box = gtk_hbox_new(FALSE, 3); if (!o->lname) label = gtk_label_new(o->name); else label = gtk_label_new(o->lname); gopt_mark_index(gjv, &g->gopt, idx, GOPT_STR_VAL); g->spin = gtk_spin_button_new_with_range(0.0, 1023.0, 1.0); gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(g->spin), GTK_UPDATE_IF_VALID); gtk_spin_button_set_value(GTK_SPIN_BUTTON(g->spin), 0); gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(g->spin), 1); gtk_box_pack_start(GTK_BOX(g->gopt.box), g->spin, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(g->spin), "wrapped", G_CALLBACK(gopt_str_val_spin_wrapped), g); g_signal_connect(G_OBJECT(g->spin), "changed", G_CALLBACK(gopt_str_val_changed), g); g->combo = gtk_combo_box_text_new(); i = 0; while (strlen(postfix[i])) { gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(g->combo), postfix[i]); i++; } g->maxindex = i - 1; gtk_combo_box_set_active(GTK_COMBO_BOX(g->combo), 0); gtk_box_pack_start(GTK_BOX(g->gopt.box), g->combo, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(g->gopt.box), label, FALSE, FALSE, 3); if (p) gopt_str_val_set_val(g, *p); g_signal_connect(G_OBJECT(g->combo), "changed", G_CALLBACK(gopt_str_val_changed), g); g_signal_connect(G_OBJECT(g->gopt.box), "destroy", G_CALLBACK(gopt_str_val_destroy), g); return &g->gopt; } static void gopt_set_option(struct gopt_job_view *gjv, struct fio_option *o, struct gopt *gopt, struct thread_options *to) { switch (o->type) { case FIO_OPT_STR_VAL: { unsigned long long *ullp = NULL; struct gopt_str_val *g; if (o->off1) ullp = td_var(to, o, o->off1); g = container_of(gopt, struct gopt_str_val, gopt); if (ullp) gopt_str_val_set_val(g, *ullp); break; } case FIO_OPT_STR_VAL_TIME: { unsigned long long *ullp = NULL; struct gopt_int *i; if (o->off1) ullp = td_var(to, o, o->off1); i = container_of(gopt, struct gopt_int, gopt); if (ullp) gopt_int_set_val(i, *ullp); break; } case FIO_OPT_INT: if (o->posval[0].ival) { unsigned int *ip = NULL; struct gopt_combo *c; if (o->off1) ip = td_var(to, o, o->off1); c = container_of(gopt, struct gopt_combo, gopt); if (ip) gopt_combo_int_set_val(c, *ip); } else { unsigned int *ip = NULL; struct gopt_int *i; if (o->off1) ip = td_var(to, o, o->off1); i = container_of(gopt, struct gopt_int, gopt); if (ip) gopt_int_set_val(i, *ip); } break; case FIO_OPT_STR_SET: case FIO_OPT_BOOL: { unsigned int *ip = NULL; struct gopt_bool *b; if (o->off1) ip = td_var(to, o, o->off1); b = container_of(gopt, struct gopt_bool, gopt); if (ip) gopt_bool_set_val(b, *ip); break; } case FIO_OPT_STR: { if (o->posval[0].ival) { unsigned int *ip = NULL; struct gopt_combo *c; if (o->off1) ip = td_var(to, o, o->off1); c = container_of(gopt, struct gopt_combo, gopt); if (ip) gopt_combo_int_set_val(c, *ip); } else { struct gopt_str *s; char *text = NULL; if (o->off1) { char **p = td_var(to, o, o->off1); text = *p; } s = container_of(gopt, struct gopt_str, gopt); gopt_str_store_set_val(s, text); } break; } case FIO_OPT_STR_STORE: { struct gopt_combo *c; char *text = NULL; if (o->off1) { char **p = td_var(to, o, o->off1); text = *p; } if (!o->posval[0].ival) { struct gopt_str *s; s = container_of(gopt, struct gopt_str, gopt); gopt_str_store_set_val(s, text); break; } c = container_of(gopt, struct gopt_combo, gopt); if (text) gopt_combo_str_set_val(c, text); break; } case FIO_OPT_STR_MULTI: /* HANDLE ME */ break; case FIO_OPT_RANGE: { struct gopt_range *r; unsigned int *ip[4] = { td_var(to, o, o->off1), td_var(to, o, o->off2), td_var(to, o, o->off3), td_var(to, o, o->off4) }; r = container_of(gopt, struct gopt_range, gopt); gopt_int_range_set_val(r, *ip); break; } /* still need to handle this one */ case FIO_OPT_FLOAT_LIST: break; case FIO_OPT_DEPRECATED: break; default: printf("ignore type %u\n", o->type); break; } } static void gopt_add_option(struct gopt_job_view *gjv, GtkWidget *hbox, struct fio_option *o, unsigned int opt_index, struct thread_options *to) { struct gopt *go = NULL; switch (o->type) { case FIO_OPT_STR_VAL: { unsigned long long *ullp = NULL; if (o->off1) ullp = td_var(to, o, o->off1); go = gopt_new_str_val(gjv, o, ullp, opt_index); break; } case FIO_OPT_STR_VAL_TIME: { unsigned long long *ullp = NULL; if (o->off1) ullp = td_var(to, o, o->off1); go = gopt_new_ullong(gjv, o, ullp, opt_index); break; } case FIO_OPT_INT: if (o->posval[0].ival) { unsigned int *ip = NULL; if (o->off1) ip = td_var(to, o, o->off1); go = gopt_new_combo_int(gjv, o, ip, opt_index); } else { unsigned int *ip = NULL; if (o->off1) ip = td_var(to, o, o->off1); go = gopt_new_int(gjv, o, ip, opt_index); } break; case FIO_OPT_STR_SET: case FIO_OPT_BOOL: { unsigned int *ip = NULL; if (o->off1) ip = td_var(to, o, o->off1); go = gopt_new_bool(gjv, o, ip, opt_index); break; } case FIO_OPT_STR: { if (o->posval[0].ival) { unsigned int *ip = NULL; if (o->off1) ip = td_var(to, o, o->off1); go = gopt_new_combo_int(gjv, o, ip, opt_index); } else { /* TODO: usually ->cb, or unsigned int pointer */ go = gopt_new_str_store(gjv, o, NULL, opt_index); } break; } case FIO_OPT_STR_STORE: { char *text = NULL; if (o->off1) { char **p = td_var(to, o, o->off1); text = *p; } if (!o->posval[0].ival) { go = gopt_new_str_store(gjv, o, text, opt_index); break; } go = gopt_new_combo_str(gjv, o, text, opt_index); break; } case FIO_OPT_STR_MULTI: go = gopt_new_str_multi(gjv, o, opt_index); break; case FIO_OPT_RANGE: { unsigned int *ip[4] = { td_var(to, o, o->off1), td_var(to, o, o->off2), td_var(to, o, o->off3), td_var(to, o, o->off4) }; go = gopt_new_int_range(gjv, o, ip, opt_index); break; } /* still need to handle this one */ case FIO_OPT_FLOAT_LIST: break; case FIO_OPT_DEPRECATED: break; default: printf("ignore type %u\n", o->type); break; } if (go) { GtkWidget *dest; if (o->help) gtk_widget_set_tooltip_text(go->box, o->help); o->gui_data = go; dest = gopt_get_group_frame(gjv, hbox, o->group); if (!dest) gtk_box_pack_start(GTK_BOX(hbox), go->box, FALSE, FALSE, 5); else gtk_box_pack_start(GTK_BOX(dest), go->box, FALSE, FALSE, 5); } } static void gopt_add_options(struct gopt_job_view *gjv, struct thread_options *to) { GtkWidget *hbox = NULL; int i; /* * First add all options */ for (i = 0; fio_options[i].name; i++) { struct fio_option *o = &fio_options[i]; uint64_t mask = o->category; const struct opt_group *og; while ((og = opt_group_from_mask(&mask)) != NULL) { GtkWidget *vbox = gjv->vboxes[ffz64(~og->mask)]; hbox = gtk_hbox_new(FALSE, 3); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); gopt_add_option(gjv, hbox, o, i, to); } } } static void gopt_set_options(struct gopt_job_view *gjv, struct thread_options *to) { int i; for (i = 0; fio_options[i].name; i++) { struct fio_option *o = &fio_options[i]; struct gopt *gopt = gjv->gopts[i]; gopt_set_option(gjv, o, gopt, to); } } static GtkWidget *gopt_add_tab(GtkWidget *notebook, const char *name) { GtkWidget *box, *vbox, *scroll; scroll = gtk_scrolled_window_new(NULL, NULL); gtk_container_set_border_width(GTK_CONTAINER(scroll), 5); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); vbox = gtk_vbox_new(FALSE, 3); box = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 5); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll), vbox); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), scroll, gtk_label_new(name)); return vbox; } static GtkWidget *gopt_add_group_tab(GtkWidget *notebook, const struct opt_group *og) { return gopt_add_tab(notebook, og->name); } static void gopt_add_group_tabs(GtkWidget *notebook, struct gopt_job_view *gjv) { const struct opt_group *og; unsigned int i; i = 0; do { uint64_t mask = (1ULL << i); og = opt_group_from_mask(&mask); if (!og) break; gjv->vboxes[i] = gopt_add_group_tab(notebook, og); i++; } while (1); } static void gopt_handle_str_multi_changed(struct gopt_job_view *gjv, struct gopt_str_multi *m, struct fio_option *o) { unsigned int *ip = td_var(gjv->o, o, o->off1); struct value_pair *vp; gboolean set; guint val = 0; int i; i = 0; vp = &o->posval[0]; while (vp->ival) { if (!m->checks[i]) break; set = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(m->checks[i])); if (set) { if (vp->orval) val |= vp->oval; else val = vp->oval; } i++; vp++; } if (o->off1) *ip = val; } static void gopt_handle_range_changed(struct gopt_job_view *gjv, struct gopt_range *r, struct fio_option *o) { unsigned int *ip[4] = { td_var(gjv->o, o, o->off1), td_var(gjv->o, o, o->off2), td_var(gjv->o, o, o->off3), td_var(gjv->o, o, o->off4) }; gint val; int i; for (i = 0; i < GOPT_RANGE_SPIN; i++) { val = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(r->spins[i])); *ip[i] = val; } } static void gopt_handle_str_val_changed(struct gopt_job_view *gjv, struct gopt_str_val *s, struct fio_option *o) { unsigned long long *ullp = td_var(gjv->o, o, o->off1); GtkAdjustment *adj; gint index; if (!ullp) return; /* * Numerical value */ adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(s->spin)); *ullp = gtk_adjustment_get_value(adj); /* * Multiplier */ index = gtk_combo_box_get_active(GTK_COMBO_BOX(s->combo)); while (index--) *ullp *= 1024ULL; } static void gopt_handle_str_changed(struct gopt_job_view *gjv, struct gopt_str *s, struct fio_option *o) { char **p = td_var(gjv->o, o, o->off1); if (*p) free(*p); *p = strdup(gtk_entry_get_text(GTK_ENTRY(s->entry))); } static void gopt_handle_bool_changed(struct gopt_job_view *gjv, struct gopt_bool *b, struct fio_option *o) { unsigned int *ip = td_var(gjv->o, o, o->off1); gboolean set; set = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(b->check)); *ip = set; } static void gopt_handle_int_changed(struct gopt_job_view *gjv, struct gopt_int *i, struct fio_option *o) { unsigned int *ip = td_var(gjv->o, o, o->off1); GtkAdjustment *adj; guint val; adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(i->spin)); val = gtk_adjustment_get_value(adj); *ip = val; } static void gopt_handle_combo_str_changed(struct gopt_job_view *gjv, struct gopt_combo *c, struct fio_option *o) { char **p = td_var(gjv->o, o, o->off1); if (*p) free(*p); *p = strdup(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(c->combo))); } static void gopt_handle_combo_int_changed(struct gopt_job_view *gjv, struct gopt_combo *c, struct fio_option *o) { unsigned int *ip = td_var(gjv->o, o, o->off1); gint index; index = gtk_combo_box_get_active(GTK_COMBO_BOX(c->combo)); *ip = o->posval[index].oval; } static void gopt_handle_changed(struct gopt *gopt) { struct fio_option *o = &fio_options[gopt->opt_index]; struct gopt_job_view *gjv = gopt->gjv; switch (gopt->opt_type) { case GOPT_COMBO_INT: { struct gopt_combo *c; c = container_of(gopt, struct gopt_combo, gopt); gopt_handle_combo_int_changed(gjv, c, o); break; } case GOPT_COMBO_STR: { struct gopt_combo *c; c = container_of(gopt, struct gopt_combo, gopt); gopt_handle_combo_str_changed(gjv, c, o); break; } case GOPT_INT: { struct gopt_int *i; i = container_of(gopt, struct gopt_int, gopt); gopt_handle_int_changed(gjv, i, o); break; } case GOPT_BOOL: { struct gopt_bool *b; b = container_of(gopt, struct gopt_bool, gopt); gopt_handle_bool_changed(gjv, b, o); break; } case GOPT_STR: { struct gopt_str *s; s = container_of(gopt, struct gopt_str, gopt); gopt_handle_str_changed(gjv, s, o); break; } case GOPT_STR_VAL: { struct gopt_str_val *s; s = container_of(gopt, struct gopt_str_val, gopt); gopt_handle_str_val_changed(gjv, s, o); break; } case GOPT_RANGE: { struct gopt_range *r; r = container_of(gopt, struct gopt_range, gopt); gopt_handle_range_changed(gjv, r, o); break; } case GOPT_STR_MULTI: { struct gopt_str_multi *m; m = container_of(gopt, struct gopt_str_multi, gopt); gopt_handle_str_multi_changed(gjv, m, o); break; } default: log_err("gfio: bad option type: %d\n", gopt->opt_type); break; } } static void gopt_report_update_status(struct gopt_job_view *gjv) { struct gfio_client *gc = gjv->client; char tmp[80]; sprintf(tmp, "\nCompleted with error: %d\n", gc->update_job_status); gfio_report_info(gc->ge->ui, "Update job", tmp); } static int gopt_handle_changed_options(struct gopt_job_view *gjv) { struct gfio_client *gc = gjv->client; struct flist_head *entry; uint64_t waitid = 0; struct gopt *gopt; int ret; flist_for_each(entry, &gjv->changed_list) { gopt = flist_entry(entry, struct gopt, changed_list); gopt_handle_changed(gopt); } gc->update_job_status = 0; gc->update_job_done = 0; ret = fio_client_update_options(gc->client, gjv->o, &waitid); if (ret) goto done; ret = fio_client_wait_for_reply(gc->client, waitid); if (ret) goto done; assert(gc->update_job_done); if (gc->update_job_status) goto done; while (!flist_empty(&gjv->changed_list)) { gopt = flist_first_entry(&gjv->changed_list, struct gopt, changed_list); flist_del_init(&gopt->changed_list); } done: gopt_dialog_update_apply_button(gjv); return ret; } static gint gopt_dialog_cancel(gint response) { switch (response) { case GTK_RESPONSE_NONE: case GTK_RESPONSE_REJECT: case GTK_RESPONSE_DELETE_EVENT: case GTK_RESPONSE_CANCEL: case GTK_RESPONSE_NO: return 1; default: return 0; } } static gint gopt_dialog_done(gint response) { switch (response) { case GTK_RESPONSE_ACCEPT: case GTK_RESPONSE_OK: case GTK_RESPONSE_YES: return 1; default: return 0; } } static void gopt_handle_option_dialog(struct gopt_job_view *gjv) { gint response; do { response = gtk_dialog_run(GTK_DIALOG(gjv->dialog)); if (gopt_dialog_cancel(response) || gopt_dialog_done(response)) break; /* * Apply */ gopt_handle_changed_options(gjv); gopt_report_update_status(gjv); } while (1); if (gopt_dialog_cancel(response)) return; gopt_handle_changed_options(gjv); } static void gopt_job_changed(GtkComboBox *box, gpointer data) { struct gopt_job_view *gjv = (struct gopt_job_view *) data; struct gfio_client_options *gco = NULL; struct gfio_client *gc = gjv->client; struct flist_head *entry; gchar *job; /* * The switch act should be sensitized appropriately, so that we * never get here with modified options. */ if (!flist_empty(&gjv->changed_list)) { gfio_report_info(gc->ge->ui, "Internal Error", "Modified options on job switch.\nThat should not be possible!\n"); return; } job = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(gjv->job_combo)); flist_for_each(entry, &gc->o_list) { const char *name; gco = flist_entry(entry, struct gfio_client_options, list); name = gco->o.name; if (!name || !strlen(name)) name = "Default job"; if (!strcmp(name, job)) break; gco = NULL; } if (!gco) { gfio_report_info(gc->ge->ui, "Internal Error", "Could not find job description.\nThat should not be possible!\n"); return; } gjv->in_job_switch = 1; gopt_set_options(gjv, &gco->o); gjv->in_job_switch = 0; } void gopt_get_options_window(GtkWidget *window, struct gfio_client *gc) { GtkWidget *dialog, *notebook, *vbox, *topvbox, *combo; struct gfio_client_options *gco; struct flist_head *entry; struct gopt_job_view *gjv; dialog = gtk_dialog_new_with_buttons("Fio options", GTK_WINDOW(window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_APPLY, GTK_RESPONSE_APPLY, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); combo = gtk_combo_box_text_new(); flist_for_each(entry, &gc->o_list) { struct thread_options *o; const char *name; gco = flist_entry(entry, struct gfio_client_options, list); o = &gco->o; name = o->name; if (!name || !strlen(name)) name = "Default job"; gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), name); } gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); gtk_widget_set_size_request(GTK_WIDGET(dialog), 1024, 768); topvbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); gtk_box_pack_start(GTK_BOX(topvbox), combo, FALSE, FALSE, 5); vbox = gtk_vbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(topvbox), vbox, TRUE, TRUE, 5); notebook = gtk_notebook_new(); gtk_notebook_set_scrollable(GTK_NOTEBOOK(notebook), 1); gtk_notebook_popup_enable(GTK_NOTEBOOK(notebook)); gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 5); gjv = calloc(1, sizeof(*gjv)); INIT_FLIST_HEAD(&gjv->changed_list); gco = flist_first_entry(&gc->o_list, struct gfio_client_options, list); gjv->o = &gco->o; gjv->dialog = dialog; gjv->client = gc; gjv->job_combo = combo; gopt_add_group_tabs(notebook, gjv); gopt_add_options(gjv, &gco->o); gopt_dialog_update_apply_button(gjv); g_signal_connect(G_OBJECT(combo), "changed", G_CALLBACK(gopt_job_changed), gjv); gtk_widget_show_all(dialog); gopt_handle_option_dialog(gjv); gtk_widget_destroy(dialog); free(gjv); } /* * Build n-ary option dependency tree */ void gopt_init(void) { int i; gopt_dep_tree = g_node_new(NULL); for (i = 0; fio_options[i].name; i++) { struct fio_option *o = &fio_options[i]; GNode *node, *nparent; /* * Insert node with either the root parent, or an * option parent. */ node = g_node_new(o); nparent = gopt_dep_tree; if (o->parent) { struct fio_option *parent; parent = fio_option_find(o->parent); nparent = g_node_find(gopt_dep_tree, G_IN_ORDER, G_TRAVERSE_ALL, parent); if (!nparent) { log_err("fio: did not find parent %s for opt %s\n", o->name, o->parent); nparent = gopt_dep_tree; } } g_node_insert(nparent, -1, node); } } void gopt_exit(void) { g_node_destroy(gopt_dep_tree); gopt_dep_tree = NULL; } fio-3.39/goptions.h000066400000000000000000000003021476262051600142440ustar00rootroot00000000000000#ifndef GFIO_OPTIONS_H #define GFIO_OPTIONS_H #include void gopt_get_options_window(GtkWidget *window, struct gfio_client *gc); void gopt_init(void); void gopt_exit(void); #endif fio-3.39/graph.c000066400000000000000000000563631476262051600135200ustar00rootroot00000000000000/* * gfio - gui front end for fio - the flexible io tester * * Copyright (C) 2012 Stephen M. Cameron * * The license below covers all files distributed with fio unless otherwise * noted in the file itself. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include #include #include #include #include #include #include #include "tickmarks.h" #include "graph.h" #include "flist.h" #include "lib/prio_tree.h" #include "cairo_text_helpers.h" /* * Allowable difference to show tooltip */ #define TOOLTIP_DELTA 0.08 struct xyvalue { double x, y; }; enum { GV_F_ON_PRIO = 1, GV_F_PRIO_SKIP = 2, }; struct graph_value { struct flist_head list; struct prio_tree_node node; struct flist_head alias; unsigned int flags; char *tooltip; void *value; }; struct graph_label { struct flist_head list; char *label; struct flist_head value_list; struct prio_tree_root prio_tree; double r, g, b; int hide; int value_count; struct graph *parent; }; struct tick_value { unsigned int offset; double value; }; struct graph { char *title; char *xtitle; char *ytitle; unsigned int xdim, ydim; double xoffset, yoffset; struct flist_head label_list; int per_label_limit; const char *font; graph_axis_unit_change_callback x_axis_unit_change_callback; graph_axis_unit_change_callback y_axis_unit_change_callback; unsigned int base_offset; unsigned int dont_graph_all_zeroes; double left_extra; double right_extra; double top_extra; double bottom_extra; double xtick_zero; double xtick_delta; double xtick_zero_val; double xtick_one_val; double ytick_zero; double ytick_delta; double ytick_zero_val; double ytick_one_val; }; void graph_set_size(struct graph *g, unsigned int xdim, unsigned int ydim) { g->xdim = xdim; g->ydim = ydim; } void graph_set_position(struct graph *g, double xoffset, double yoffset) { g->xoffset = xoffset; g->yoffset = yoffset; } struct graph *graph_new(unsigned int xdim, unsigned int ydim, const char *font) { struct graph *g; g = calloc(1, sizeof(*g)); INIT_FLIST_HEAD(&g->label_list); graph_set_size(g, xdim, ydim); g->per_label_limit = -1; g->font = font; if (!g->font) g->font = GRAPH_DEFAULT_FONT; return g; } void graph_set_font(struct graph *g, const char *font) { g->font = font; } void graph_x_axis_unit_change_notify(struct graph *g, graph_axis_unit_change_callback f) { g->x_axis_unit_change_callback = f; } void graph_y_axis_unit_change_notify(struct graph *g, graph_axis_unit_change_callback f) { g->y_axis_unit_change_callback = f; } static int count_labels(struct graph *g) { struct flist_head *entry; int count = 0; flist_for_each(entry, &g->label_list) count++; return count; } static int count_values(struct graph_label *l) { struct flist_head *entry; int count = 0; flist_for_each(entry, &l->value_list) count++; return count; } typedef double (*double_comparator)(double a, double b); static double mindouble(double a, double b) { return a < b ? a : b; } static double maxdouble(double a, double b) { return a < b ? b : a; } static double find_double_values(struct graph_label *l, double_comparator cmp) { struct flist_head *entry; double answer = 0.0, tmp; int first = 1; if (flist_empty(&l->value_list)) return 0.0; flist_for_each(entry, &l->value_list) { struct graph_value *i; i = flist_entry(entry, struct graph_value, list); tmp = *(double *) i->value; if (first) { answer = tmp; first = 0; } else { answer = cmp(answer, tmp); } } return answer; } static double find_double_data(struct graph *g, double_comparator cmp) { struct flist_head *entry; struct graph_label *i; int first = 1; double answer, tmp; if (flist_empty(&g->label_list)) return 0.0; flist_for_each(entry, &g->label_list) { i = flist_entry(entry, struct graph_label, list); tmp = find_double_values(i, cmp); if (first) { answer = tmp; first = 0; } else { answer = cmp(tmp, answer); } } return answer; } static double find_min_data(struct graph *g) { return find_double_data(g, mindouble); } static double find_max_data(struct graph *g) { return find_double_data(g, maxdouble); } static void draw_bars(struct graph *bg, cairo_t *cr, struct graph_label *lb, double label_offset, double bar_width, double mindata, double maxdata) { struct flist_head *entry; double x1, y1, x2, y2; int bar_num = 0; double domain, range, v; domain = (maxdata - mindata); range = (double) bg->ydim * 0.80; /* FIXME */ cairo_stroke(cr); flist_for_each(entry, &lb->value_list) { struct graph_value *i; i = flist_entry(entry, struct graph_value, list); x1 = label_offset + (double) bar_num * bar_width + (bar_width * 0.05); x2 = x1 + bar_width * 0.90; y2 = bg->ydim * 0.90; v = *(double *) i->value; y1 = y2 - (((v - mindata) / domain) * range); cairo_move_to(cr, x1, y1); cairo_line_to(cr, x1, y2); cairo_line_to(cr, x2, y2); cairo_line_to(cr, x2, y1); cairo_close_path(cr); cairo_fill(cr); cairo_stroke(cr); bar_num++; } } static void graph_draw_common(struct graph *g, cairo_t *cr, double *x1, double *y1, double *x2, double *y2) { const double shade_col[3][3] = { { 0.55, 0.54, 0.54 }, { 0.80, 0.78, 0.78 }, { 0.93, 0.91, 0.91 } }; int i; *x1 = 0.10 * g->xdim; *x2 = 0.95 * g->xdim; *y1 = 0.10 * g->ydim; *y2 = 0.90 * g->ydim; /* * Add shade */ cairo_set_line_width(cr, 1.0); for (i = 0; i < 3; i++) { float offset = i + 1.0; cairo_set_source_rgb(cr, shade_col[i][0], shade_col[i][1], shade_col[i][2]); cairo_move_to(cr, offset + *x1, *y1 - offset); cairo_line_to(cr, *x2 + offset, *y1 - offset); cairo_line_to(cr, *x2 + offset, *y2 - offset); cairo_stroke(cr); } cairo_set_source_rgb(cr, 0, 0, 0); cairo_set_line_width(cr, 1.2); cairo_move_to(cr, *x1, *y1); cairo_line_to(cr, *x1, *y2); cairo_line_to(cr, *x2, *y2); cairo_line_to(cr, *x2, *y1); cairo_line_to(cr, *x1, *y1); cairo_stroke(cr); draw_centered_text(cr, g->font, g->xdim / 2, g->ydim / 20, 20.0, g->title); draw_centered_text(cr, g->font, g->xdim / 2, g->ydim * 0.97, 14.0, g->xtitle); draw_vertical_centered_text(cr, g->font, g->xdim * 0.02, g->ydim / 2, 14.0, g->ytitle); cairo_stroke(cr); } static void graph_draw_x_ticks(struct graph *g, cairo_t *cr, double x1, double y1, double x2, double y2, double minx, double maxx, int nticks, int add_tm_text) { struct tickmark *tm; double tx; int i, power_of_ten; static double dash[] = { 1.0, 2.0 }; nticks = calc_tickmarks(minx, maxx, nticks, &tm, &power_of_ten, g->x_axis_unit_change_callback == NULL, g->base_offset); if (g->x_axis_unit_change_callback) g->x_axis_unit_change_callback(g, power_of_ten); for (i = 0; i < nticks; i++) { tx = (((tm[i].value) - minx) / (maxx - minx)) * (x2 - x1) + x1; /* * Update tick delta */ if (!i) { g->xtick_zero = tx; g->xtick_zero_val = tm[0].value; } else if (i == 1) { g->xtick_delta = (tm[1].value - tm[0].value) / (tx - g->xtick_zero); g->xtick_one_val = tm[1].value; } /* really tx < yx || tx > x2, but protect against rounding */ if (x1 - tx > 0.01 || tx - x2 > 0.01) continue; /* Draw tick mark */ cairo_set_line_width(cr, 1.0); cairo_move_to(cr, tx, y2); cairo_line_to(cr, tx, y2 + (y2 - y1) * 0.03); cairo_stroke(cr); /* draw grid lines */ cairo_save(cr); cairo_set_dash(cr, dash, 2, 0.66); cairo_set_line_width(cr, 0.33); cairo_move_to(cr, tx, y1); cairo_line_to(cr, tx, y2); cairo_stroke(cr); cairo_restore(cr); if (!add_tm_text) continue; /* draw tickmark label */ draw_centered_text(cr, g->font, tx, y2 * 1.04, 12.0, tm[i].string); cairo_stroke(cr); } } static double graph_draw_y_ticks(struct graph *g, cairo_t *cr, double x1, double y1, double x2, double y2, double miny, double maxy, int nticks, int add_tm_text) { struct tickmark *tm; double ty; int i, power_of_ten; static double dash[] = { 1.0, 2.0 }; nticks = calc_tickmarks(miny, maxy, nticks, &tm, &power_of_ten, g->y_axis_unit_change_callback == NULL, g->base_offset); if (g->y_axis_unit_change_callback) g->y_axis_unit_change_callback(g, power_of_ten); /* * Use highest tickmark as top of graph, not highest value. Otherwise * it's impossible to see what the max value is, if the graph is * fairly flat. */ maxy = tm[nticks - 1].value; for (i = 0; i < nticks; i++) { ty = y2 - (((tm[i].value) - miny) / (maxy - miny)) * (y2 - y1); /* * Update tick delta */ if (!i) { g->ytick_zero = ty; g->ytick_zero_val = tm[0].value; } else if (i == 1) { g->ytick_delta = (tm[1].value - tm[0].value) / (ty - g->ytick_zero); g->ytick_one_val = tm[1].value; } /* really ty < y1 || ty > y2, but protect against rounding */ if (y1 - ty > 0.01 || ty - y2 > 0.01) continue; /* draw tick mark */ cairo_move_to(cr, x1, ty); cairo_line_to(cr, x1 - (x2 - x1) * 0.02, ty); cairo_stroke(cr); /* draw grid lines */ cairo_save(cr); cairo_set_dash(cr, dash, 2, 0.66); cairo_set_line_width(cr, 0.33); cairo_move_to(cr, x1, ty); cairo_line_to(cr, x2, ty); cairo_stroke(cr); cairo_restore(cr); if (!add_tm_text) continue; /* draw tickmark label */ draw_right_justified_text(cr, g->font, x1 - (x2 - x1) * 0.025, ty, 12.0, tm[i].string); cairo_stroke(cr); } /* * Return new max to use */ return maxy; } void bar_graph_draw(struct graph *bg, cairo_t *cr) { double x1, y1, x2, y2; double space_per_label, bar_width; double label_offset, mindata, maxdata; int i, nlabels; struct graph_label *lb; struct flist_head *entry; cairo_save(cr); cairo_translate(cr, bg->xoffset, bg->yoffset); graph_draw_common(bg, cr, &x1, &y1, &x2, &y2); nlabels = count_labels(bg); space_per_label = (x2 - x1) / (double) nlabels; /* * Start bars at 0 unless we have negative values, otherwise we * present a skewed picture comparing label X and X+1. */ mindata = find_min_data(bg); if (mindata > 0) mindata = 0; maxdata = find_max_data(bg); if (fabs(maxdata - mindata) < 1e-20) { draw_centered_text(cr, bg->font, x1 + (x2 - x1) / 2.0, y1 + (y2 - y1) / 2.0, 20.0, "No good data"); return; } maxdata = graph_draw_y_ticks(bg, cr, x1, y1, x2, y2, mindata, maxdata, 10, 1); i = 0; flist_for_each(entry, &bg->label_list) { int nvalues; lb = flist_entry(entry, struct graph_label, list); nvalues = count_values(lb); bar_width = (space_per_label - space_per_label * 0.2) / (double) nvalues; label_offset = bg->xdim * 0.1 + space_per_label * (double) i + space_per_label * 0.1; draw_bars(bg, cr, lb, label_offset, bar_width, mindata, maxdata); // draw_centered_text(cr, label_offset + (bar_width / 2.0 + bar_width * 0.1), bg->ydim * 0.93, draw_centered_text(cr, bg->font, x1 + space_per_label * (i + 0.5), bg->ydim * 0.93, 12.0, lb->label); i++; } cairo_stroke(cr); cairo_restore(cr); } typedef double (*xy_value_extractor)(struct graph_value *v); static double getx(struct graph_value *v) { struct xyvalue *xy = v->value; return xy->x; } static double gety(struct graph_value *v) { struct xyvalue *xy = v->value; return xy->y; } static double find_xy_value(struct graph *g, xy_value_extractor getvalue, double_comparator cmp) { double tmp, answer = 0.0; struct graph_label *i; struct graph_value *j; struct flist_head *jentry, *entry; int first = 1; flist_for_each(entry, &g->label_list) { i = flist_entry(entry, struct graph_label, list); flist_for_each(jentry, &i->value_list) { j = flist_entry(jentry, struct graph_value, list); tmp = getvalue(j); if (first) { first = 0; answer = tmp; } answer = cmp(tmp, answer); } } return answer; } void line_graph_draw(struct graph *g, cairo_t *cr) { double x1, y1, x2, y2; double minx, miny, maxx, maxy, gminx, gminy, gmaxx, gmaxy; double tx, ty, top_extra, bottom_extra, left_extra, right_extra; struct graph_label *i; struct graph_value *j; int good_data = 1, first = 1; struct flist_head *entry, *lentry; cairo_save(cr); cairo_translate(cr, g->xoffset, g->yoffset); graph_draw_common(g, cr, &x1, &y1, &x2, &y2); minx = find_xy_value(g, getx, mindouble); maxx = find_xy_value(g, getx, maxdouble); miny = find_xy_value(g, gety, mindouble); /* * Start graphs at zero, unless we have a value below. Otherwise * it's hard to visually compare the read and write graph, since * the lowest valued one will be the floor of the graph view. */ if (miny > 0) miny = 0; maxy = find_xy_value(g, gety, maxdouble); if (fabs(maxx - minx) < 1e-20 || fabs(maxy - miny) < 1e-20) { good_data = 0; minx = 0.0; miny = 0.0; maxx = 10.0; maxy = 100.0; } top_extra = 0.0; bottom_extra = 0.0; left_extra = 0.0; right_extra = 0.0; if (g->top_extra > 0.001) top_extra = fabs(maxy - miny) * g->top_extra; if (g->bottom_extra > 0.001) bottom_extra = fabs(maxy - miny) * g->bottom_extra; if (g->left_extra > 0.001) left_extra = fabs(maxx - minx) * g->left_extra; if (g->right_extra > 0.001) right_extra = fabs(maxx - minx) * g->right_extra; gminx = minx - left_extra; gmaxx = maxx + right_extra; gminy = miny - bottom_extra; gmaxy = maxy + top_extra; graph_draw_x_ticks(g, cr, x1, y1, x2, y2, gminx, gmaxx, 10, good_data); gmaxy = graph_draw_y_ticks(g, cr, x1, y1, x2, y2, gminy, gmaxy, 10, good_data); if (!good_data) goto skip_data; cairo_set_line_width(cr, 1.5); cairo_set_line_join(cr, CAIRO_LINE_JOIN_ROUND); flist_for_each(lentry, &g->label_list) { i = flist_entry(lentry, struct graph_label, list); first = 1; if (i->hide || i->r < 0) /* invisible data */ continue; cairo_set_source_rgb(cr, i->r, i->g, i->b); flist_for_each(entry, &i->value_list) { j = flist_entry(entry, struct graph_value, list); tx = ((getx(j) - gminx) / (gmaxx - gminx)) * (x2 - x1) + x1; ty = y2 - ((gety(j) - gminy) / (gmaxy - gminy)) * (y2 - y1); if (first) { cairo_move_to(cr, tx, ty); first = 0; } else cairo_line_to(cr, tx, ty); } cairo_stroke(cr); } skip_data: cairo_restore(cr); } static void setstring(char **str, const char *value) { free(*str); *str = strdup(value); } void graph_title(struct graph *bg, const char *title) { setstring(&bg->title, title); } void graph_x_title(struct graph *bg, const char *title) { setstring(&bg->xtitle, title); } void graph_y_title(struct graph *bg, const char *title) { setstring(&bg->ytitle, title); } static struct graph_label *graph_find_label(struct graph *bg, const char *label) { struct flist_head *entry; struct graph_label *i; flist_for_each(entry, &bg->label_list) { i = flist_entry(entry, struct graph_label, list); if (strcmp(label, i->label) == 0) return i; } return NULL; } graph_label_t graph_add_label(struct graph *bg, const char *label) { struct graph_label *i; i = graph_find_label(bg, label); if (i) return i; /* already present. */ i = calloc(1, sizeof(*i)); INIT_FLIST_HEAD(&i->value_list); i->parent = bg; setstring(&i->label, label); flist_add_tail(&i->list, &bg->label_list); INIT_PRIO_TREE_ROOT(&i->prio_tree); return i; } static void __graph_value_drop(struct graph_label *l, struct graph_value *v) { flist_del_init(&v->list); if (v->tooltip) free(v->tooltip); free(v->value); free(v); l->value_count--; } static void graph_value_drop(struct graph_label *l, struct graph_value *v) { if (v->flags & GV_F_PRIO_SKIP) { __graph_value_drop(l, v); return; } /* * Find head, the guy that's on the prio tree */ while (!(v->flags & GV_F_ON_PRIO)) { assert(!flist_empty(&v->alias)); v = flist_first_entry(&v->alias, struct graph_value, alias); } prio_tree_remove(&l->prio_tree, &v->node); /* * Free aliases */ while (!flist_empty(&v->alias)) { struct graph_value *a; a = flist_first_entry(&v->alias, struct graph_value, alias); flist_del_init(&a->alias); __graph_value_drop(l, a); } __graph_value_drop(l, v); } static void graph_label_add_value(struct graph_label *i, void *value, const char *tooltip) { struct graph *g = i->parent; struct graph_value *x; x = calloc(1, sizeof(*x)); INIT_FLIST_HEAD(&x->alias); INIT_FLIST_HEAD(&x->list); flist_add_tail(&x->list, &i->value_list); i->value_count++; x->value = value; if (tooltip) { double xval = getx(x); double minx = xval - (g->xtick_one_val * TOOLTIP_DELTA); double maxx = xval + (g->xtick_one_val * TOOLTIP_DELTA); struct prio_tree_node *ret; /* * use msec to avoid dropping too much precision when * storing as an integer. */ minx = minx * 1000.0; maxx = maxx * 1000.0; INIT_PRIO_TREE_NODE(&x->node); x->node.start = minx; x->node.last = maxx; x->tooltip = strdup(tooltip); if (x->node.last == x->node.start) { x->node.last += fabs(g->xtick_delta); if (x->node.last == x->node.start) x->node.last++; } /* * If ret != &x->node, we have an alias. Since the values * should be identical, we can drop it */ ret = prio_tree_insert(&i->prio_tree, &x->node); if (ret != &x->node) { struct graph_value *alias; alias = container_of(ret, struct graph_value, node); flist_add_tail(&x->alias, &alias->alias); } else x->flags = GV_F_ON_PRIO; } else x->flags = GV_F_PRIO_SKIP; if (g->per_label_limit != -1 && i->value_count > g->per_label_limit) { int to_drop = 1; /* * If the limit was dynamically reduced, making us more * than 1 entry ahead after adding this one, drop two * entries. This will make us (eventually) reach the * specified limit. */ if (i->value_count - g->per_label_limit >= 2) to_drop = 2; while (to_drop-- && !flist_empty(&i->value_list)) { x = flist_first_entry(&i->value_list, struct graph_value, list); graph_value_drop(i, x); /* * If we have aliases, we could drop > 1 above. */ if (i->value_count <= g->per_label_limit) break; } } } int graph_add_data(struct graph *bg, graph_label_t label, const double value) { struct graph_label *i = label; double *d; d = malloc(sizeof(*d)); *d = value; graph_label_add_value(i, d, NULL); return 0; } static int graph_nonzero_y(struct graph_label *l) { struct flist_head *entry; flist_for_each(entry, &l->value_list) { struct graph_value *v; v = flist_entry(entry, struct graph_value, list); if (gety(v) != 0.0) return 1; } return 0; } int graph_add_xy_data(struct graph *bg, graph_label_t label, const double x, const double y, const char *tooltip) { struct graph_label *i = label; struct xyvalue *xy; if (bg->dont_graph_all_zeroes && y == 0.0 && !graph_nonzero_y(i)) i->hide = 1; else i->hide = 0; xy = malloc(sizeof(*xy)); xy->x = x; xy->y = y; graph_label_add_value(i, xy, tooltip); return 0; } static void graph_free_values(struct graph_label *l) { struct graph_value *i; while (!flist_empty(&l->value_list)) { i = flist_first_entry(&l->value_list, struct graph_value, list); graph_value_drop(l, i); } } static void graph_free_labels(struct graph *g) { struct graph_label *i; while (!flist_empty(&g->label_list)) { i = flist_first_entry(&g->label_list, struct graph_label, list); flist_del(&i->list); graph_free_values(i); free(i); } } void graph_clear_values(struct graph *g) { struct flist_head *node; struct graph_label *i; flist_for_each(node, &g->label_list) { i = flist_entry(node, struct graph_label, list); graph_free_values(i); } } void graph_set_color(struct graph *gr, graph_label_t label, double red, double green, double blue) { struct graph_label *i = label; double r, g, b; if (red < 0.0) { /* invisible color */ r = -1.0; g = -1.0; b = -1.0; } else { r = fabs(red); g = fabs(green); b = fabs(blue); if (r > 1.0) r = 1.0; if (g > 1.0) g = 1.0; if (b > 1.0) b = 1.0; } i->r = r; i->g = g; i->b = b; } void graph_free(struct graph *bg) { free(bg->title); free(bg->xtitle); free(bg->ytitle); graph_free_labels(bg); } /* For each line in the line graph, up to per_label_limit segments may * be added. After that, adding more data to the end of the line * causes data to drop off of the front of the line. */ void line_graph_set_data_count_limit(struct graph *g, int per_label_limit) { g->per_label_limit = per_label_limit; } void graph_add_extra_space(struct graph *g, double left_percent, double right_percent, double top_percent, double bottom_percent) { g->left_extra = left_percent; g->right_extra = right_percent; g->top_extra = top_percent; g->bottom_extra = bottom_percent; } /* * Normally values are logged in a base unit of 0, but for other purposes * it makes more sense to log in higher unit. For instance for bandwidth * purposes, you may want to log in KB/sec (or MB/sec) rather than bytes/sec. */ void graph_set_base_offset(struct graph *g, unsigned int base_offset) { g->base_offset = base_offset; } int graph_has_tooltips(struct graph *g) { struct flist_head *entry; struct graph_label *i; flist_for_each(entry, &g->label_list) { i = flist_entry(entry, struct graph_label, list); if (!prio_tree_empty(&i->prio_tree)) return 1; } return 0; } int graph_contains_xy(struct graph *g, int x, int y) { int first_x = g->xoffset; int last_x = g->xoffset + g->xdim; int first_y = g->yoffset; int last_y = g->yoffset + g->ydim; return (x >= first_x && x <= last_x) && (y >= first_y && y <= last_y); } const char *graph_find_tooltip(struct graph *g, int ix, int iy) { double x = ix, y = iy; struct prio_tree_iter iter; struct prio_tree_node *n; struct graph_value *best = NULL; struct flist_head *entry; double best_delta; double maxy, miny; x -= g->xoffset; y -= g->yoffset; x = g->xtick_zero_val + ((x - g->xtick_zero) * g->xtick_delta); y = g->ytick_zero_val + ((y - g->ytick_zero) * g->ytick_delta); x = x * 1000.0; maxy = y + (g->ytick_one_val * TOOLTIP_DELTA); miny = y - (g->ytick_one_val * TOOLTIP_DELTA); best_delta = UINT_MAX; flist_for_each(entry, &g->label_list) { struct graph_label *i; i = flist_entry(entry, struct graph_label, list); if (i->hide) continue; INIT_PRIO_TREE_ITER(&iter); prio_tree_iter_init(&iter, &i->prio_tree, x, x); n = prio_tree_next(&iter); if (!n) continue; do { struct graph_value *v, *rootv; double yval, ydiff; v = container_of(n, struct graph_value, node); rootv = v; do { yval = gety(v); ydiff = fabs(yval - y); /* * zero delta, or within or match criteria, break */ if (ydiff < best_delta) { best_delta = ydiff; if (!best_delta || (yval >= miny && yval <= maxy)) { best = v; break; } } if (!flist_empty(&v->alias)) v = flist_first_entry(&v->alias, struct graph_value, alias); } while (v != rootv); } while ((n = prio_tree_next(&iter)) != NULL); /* * If we got matches in one label, don't check others. */ if (best) break; } if (best) return best->tooltip; return NULL; } void graph_set_graph_all_zeroes(struct graph *g, unsigned int set) { g->dont_graph_all_zeroes = !set; } fio-3.39/graph.h000066400000000000000000000107251476262051600135150ustar00rootroot00000000000000#ifndef GRAPH_H #define GRAPH_H struct graph; struct graph_label; typedef struct graph_label * graph_label_t; #define GRAPH_DEFAULT_FONT "Sans 12" struct graph *graph_new(unsigned int xdim, unsigned int ydim, const char *font); /* graph_new() Returns a new graph structure of the given dimensions and font */ void graph_set_size(struct graph *g, unsigned int xdim, unsigned int ydim); /* graph_set_size() Changes the size of a graph to the given dimensions. */ void graph_set_position(struct graph *g, double xoffset, double yoffset); /* graph_set_position() sets the x- and y-offset to translate the graph */ void bar_graph_draw(struct graph *g, cairo_t *cr); /* bar_graph_draw() draws the given graph as a bar graph */ void line_graph_draw(struct graph *g, cairo_t *cr); /* line_graph_draw draws the given graph as a line graph */ void line_graph_set_data_count_limit(struct graph *g, int per_label_limit); /* line_graph_set_data_count_limit() limits the amount of data which can * be added to a line graph. Once the limit is reached, the oldest data * is discarded as new data is added */ void graph_set_font(struct graph *g, const char *font); void graph_title(struct graph *g, const char *title); /* graph_title() sets the main title of the graph to the given string */ void graph_x_title(struct graph *g, const char *title); /* graph_x_title() sets the title of the x axis to the given string */ void graph_y_title(struct graph *g, const char *title); /* graph_y_title() sets the title of the y axis to the given string */ graph_label_t graph_add_label(struct graph *g, const char *label); /* graph_add_label() adds a new "stream" of data to be graphed. * For line charts, each label is a separate line on the graph. * For bar charts, each label is a grouping of columns on the x-axis * For example: * * | * | ** * | * xxxxxxxx | ** * | *** x | ** ** * | *x **** | ** ** ** * | xxxx* ***** | ** xx ** xx ** * | x ** | ** xx ** xx ** xx * | x | ** xx ** xx ** xx * ----------------------- ------------------------- * A B C * * For a line graph, the 'x's For a bar graph, * would be on one "label", and 'A', 'B', and 'C' * the '*'s would be on another are the labels. * label. */ int graph_add_data(struct graph *g, graph_label_t label, const double value); /* graph_add_data() is used to add data to the labels of a bar graph */ int graph_add_xy_data(struct graph *g, graph_label_t label, const double x, const double y, const char *tooltip); /* graph_add_xy_data is used to add data to the labels of a line graph */ void graph_set_color(struct graph *g, graph_label_t label, double red, double green, double blue); #define INVISIBLE_COLOR (-1.0) /* graph_set_color is used to set the color used to plot the data in * a line graph. INVISIBLE_COLOR can be used to plot the data invisibly. * Invisible data will have the same effect on the scaling of the axes * as visible data. */ void graph_free(struct graph *bg); /* free a graph allocated by graph_new() */ typedef void (*graph_axis_unit_change_callback)(struct graph *g, int power_of_ten); void graph_x_axis_unit_change_notify(struct graph *g, graph_axis_unit_change_callback f); void graph_y_axis_unit_change_notify(struct graph *g, graph_axis_unit_change_callback f); /* The labels used on the x and y axes may be shortened. You can register for callbacks * so that you can know how the labels are shorted, typically used to adjust the axis * titles to display the proper units. The power_of_ten parameter indicates what power * of ten the labels have been divided by (9, 6, 3, or 0, corresponding to billions, * millions, thousands and ones. */ void graph_add_extra_space(struct graph *g, double left_percent, double right_percent, double top_percent, double bottom_percent); /* graph_add_extra_space() adds extra space to edges of the the graph * so that the data doesn't go to the very edges. */ extern int graph_has_tooltips(struct graph *g); extern const char *graph_find_tooltip(struct graph *g, int x, int y); extern int graph_contains_xy(struct graph *p, int x, int y); extern void graph_set_base_offset(struct graph *g, unsigned int base_offset); extern void graph_set_graph_all_zeroes(struct graph *g, unsigned int set); extern void graph_clear_values(struct graph *g); #endif fio-3.39/hash.h000066400000000000000000000065121476262051600133360ustar00rootroot00000000000000#ifndef _LINUX_HASH_H #define _LINUX_HASH_H #include #include "arch/arch.h" #include "compiler/compiler.h" /* Fast hashing routine for a long. (C) 2002 William Lee Irwin III, IBM */ /* * Although a random odd number will do, it turns out that the golden * ratio phi = (sqrt(5)-1)/2, or its negative, has particularly nice * properties. * * These are the negative, (1 - phi) = (phi^2) = (3 - sqrt(5))/2. * (See Knuth vol 3, section 6.4, exercise 9.) */ #define GOLDEN_RATIO_32 0x61C88647 #define GOLDEN_RATIO_64 0x61C8864680B583EBull static inline unsigned long __hash_long(uint64_t val) { uint64_t hash = val; #if BITS_PER_LONG == 64 hash *= GOLDEN_RATIO_64; #else /* Sigh, gcc can't optimise this alone like it does for 32 bits. */ uint64_t n = hash; n <<= 18; hash -= n; n <<= 33; hash -= n; n <<= 3; hash += n; n <<= 3; hash -= n; n <<= 4; hash += n; n <<= 2; hash += n; #endif return hash; } static inline unsigned long hash_long(unsigned long val, unsigned int bits) { /* High bits are more random, so use them. */ return __hash_long(val) >> (BITS_PER_LONG - bits); } static inline uint64_t __hash_u64(uint64_t val) { return val * GOLDEN_RATIO_64; } static inline unsigned long hash_ptr(void *ptr, unsigned int bits) { return hash_long((uintptr_t)ptr, bits); } /* * Bob Jenkins jhash */ #define JHASH_INITVAL GOLDEN_RATIO_32 static inline uint32_t rol32(uint32_t word, uint32_t shift) { return (word << shift) | (word >> (32 - shift)); } /* __jhash_mix -- mix 3 32-bit values reversibly. */ #define __jhash_mix(a, b, c) \ { \ a -= c; a ^= rol32(c, 4); c += b; \ b -= a; b ^= rol32(a, 6); a += c; \ c -= b; c ^= rol32(b, 8); b += a; \ a -= c; a ^= rol32(c, 16); c += b; \ b -= a; b ^= rol32(a, 19); a += c; \ c -= b; c ^= rol32(b, 4); b += a; \ } /* __jhash_final - final mixing of 3 32-bit values (a,b,c) into c */ #define __jhash_final(a, b, c) \ { \ c ^= b; c -= rol32(b, 14); \ a ^= c; a -= rol32(c, 11); \ b ^= a; b -= rol32(a, 25); \ c ^= b; c -= rol32(b, 16); \ a ^= c; a -= rol32(c, 4); \ b ^= a; b -= rol32(a, 14); \ c ^= b; c -= rol32(b, 24); \ } static inline uint32_t jhash(const void *key, uint32_t length, uint32_t initval) { const uint8_t *k = key; uint32_t a, b, c; /* Set up the internal state */ a = b = c = JHASH_INITVAL + length + initval; /* All but the last block: affect some 32 bits of (a,b,c) */ while (length > 12) { a += *k; b += *(k + 4); c += *(k + 8); __jhash_mix(a, b, c); length -= 12; k += 12; } /* Last block: affect all 32 bits of (c) */ /* All the case statements fall through */ switch (length) { case 12: c += (uint32_t) k[11] << 24; fio_fallthrough; case 11: c += (uint32_t) k[10] << 16; fio_fallthrough; case 10: c += (uint32_t) k[9] << 8; fio_fallthrough; case 9: c += k[8]; fio_fallthrough; case 8: b += (uint32_t) k[7] << 24; fio_fallthrough; case 7: b += (uint32_t) k[6] << 16; fio_fallthrough; case 6: b += (uint32_t) k[5] << 8; fio_fallthrough; case 5: b += k[4]; fio_fallthrough; case 4: a += (uint32_t) k[3] << 24; fio_fallthrough; case 3: a += (uint32_t) k[2] << 16; fio_fallthrough; case 2: a += (uint32_t) k[1] << 8; fio_fallthrough; case 1: a += k[0]; __jhash_final(a, b, c); fio_fallthrough; case 0: /* Nothing left to add */ break; } return c; } #endif /* _LINUX_HASH_H */ fio-3.39/helper_thread.c000066400000000000000000000227721476262051600152220ustar00rootroot00000000000000#include #include #include #include #include #ifdef CONFIG_HAVE_TIMERFD_CREATE #include #endif #ifdef CONFIG_VALGRIND_DEV #include #else #define DRD_IGNORE_VAR(x) do { } while (0) #endif #ifdef WIN32 #include "os/os-windows.h" #endif #include "fio.h" #include "smalloc.h" #include "helper_thread.h" #include "steadystate.h" #include "pshared.h" static int sleep_accuracy_ms; static int timerfd = -1; enum action { A_EXIT = 1, A_RESET = 2, A_DO_STAT = 3, }; static struct helper_data { volatile int exit; int pipe[2]; /* 0: read end; 1: write end. */ struct sk_out *sk_out; pthread_t thread; struct fio_sem *startup_sem; } *helper_data; struct interval_timer { const char *name; struct timespec expires; uint32_t interval_ms; int (*func)(void); }; void helper_thread_destroy(void) { if (!helper_data) return; close(helper_data->pipe[0]); close(helper_data->pipe[1]); sfree(helper_data); } #ifdef _WIN32 static void sock_init(void) { WSADATA wsaData; int res; /* It is allowed to call WSAStartup() more than once. */ res = WSAStartup(MAKEWORD(2, 2), &wsaData); assert(res == 0); } static int make_nonblocking(int fd) { unsigned long arg = 1; return ioctlsocket(fd, FIONBIO, &arg); } static int write_to_pipe(int fd, const void *buf, size_t len) { return send(fd, buf, len, 0); } static int read_from_pipe(int fd, void *buf, size_t len) { return recv(fd, buf, len, 0); } #else static void sock_init(void) { } static int make_nonblocking(int fd) { return fcntl(fd, F_SETFL, O_NONBLOCK); } static int write_to_pipe(int fd, const void *buf, size_t len) { return write(fd, buf, len); } static int read_from_pipe(int fd, void *buf, size_t len) { return read(fd, buf, len); } #endif static void block_signals(void) { #ifdef CONFIG_PTHREAD_SIGMASK sigset_t sigmask; int ret; ret = pthread_sigmask(SIG_UNBLOCK, NULL, &sigmask); assert(ret == 0); ret = pthread_sigmask(SIG_BLOCK, &sigmask, NULL); #endif } static void submit_action(enum action a) { const char data = a; int ret; if (!helper_data) return; ret = write_to_pipe(helper_data->pipe[1], &data, sizeof(data)); if (ret != 1) { log_err("failed to write action into pipe, err %i:%s", errno, strerror(errno)); assert(0); } } void helper_reset(void) { submit_action(A_RESET); } /* * May be invoked in signal handler context and hence must only call functions * that are async-signal-safe. See also * https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04_03. */ void helper_do_stat(void) { submit_action(A_DO_STAT); } bool helper_should_exit(void) { if (!helper_data) return true; return helper_data->exit; } void helper_thread_exit(void) { if (!helper_data) return; helper_data->exit = 1; pthread_join(helper_data->thread, NULL); } /* Resets timers and returns the time in milliseconds until the next event. */ static int reset_timers(struct interval_timer timer[], int num_timers, struct timespec *now) { uint32_t msec_to_next_event = INT_MAX; int i; for (i = 0; i < num_timers; ++i) { timer[i].expires = *now; timespec_add_msec(&timer[i].expires, timer[i].interval_ms); msec_to_next_event = min_not_zero(msec_to_next_event, timer[i].interval_ms); } return msec_to_next_event; } /* * Waits for an action from fd during at least timeout_ms. `fd` must be in * non-blocking mode. */ static uint8_t wait_for_action(int fd, unsigned int timeout_ms) { struct timeval timeout = { .tv_sec = timeout_ms / 1000, .tv_usec = (timeout_ms % 1000) * 1000, }; fd_set rfds, efds; uint8_t action = 0; uint64_t exp; int res; res = read_from_pipe(fd, &action, sizeof(action)); if (res > 0 || timeout_ms == 0) return action; FD_ZERO(&rfds); FD_SET(fd, &rfds); FD_ZERO(&efds); FD_SET(fd, &efds); #ifdef CONFIG_HAVE_TIMERFD_CREATE { /* * If the timer frequency is 100 Hz, select() will round up * `timeout` to the next multiple of 1 / 100 Hz = 10 ms. Hence * use a high-resolution timer if possible to increase * select() timeout accuracy. */ struct itimerspec delta = {}; delta.it_value.tv_sec = timeout.tv_sec; delta.it_value.tv_nsec = timeout.tv_usec * 1000; res = timerfd_settime(timerfd, 0, &delta, NULL); assert(res == 0); FD_SET(timerfd, &rfds); } #endif res = select(max(fd, timerfd) + 1, &rfds, NULL, &efds, timerfd >= 0 ? NULL : &timeout); if (res < 0) { log_err("fio: select() call in helper thread failed: %s", strerror(errno)); return A_EXIT; } if (FD_ISSET(fd, &rfds)) read_from_pipe(fd, &action, sizeof(action)); if (timerfd >= 0 && FD_ISSET(timerfd, &rfds)) { res = read(timerfd, &exp, sizeof(exp)); assert(res == sizeof(exp)); } return action; } /* * Verify whether or not timer @it has expired. If timer @it has expired, call * @it->func(). @now is the current time. @msec_to_next_event is an * input/output parameter that represents the time until the next event. */ static int eval_timer(struct interval_timer *it, const struct timespec *now, unsigned int *msec_to_next_event) { int64_t delta_ms; bool expired; /* interval == 0 means that the timer is disabled. */ if (it->interval_ms == 0) return 0; delta_ms = rel_time_since(now, &it->expires); expired = delta_ms <= sleep_accuracy_ms; if (expired) { timespec_add_msec(&it->expires, it->interval_ms); delta_ms = rel_time_since(now, &it->expires); if (delta_ms < it->interval_ms - sleep_accuracy_ms || delta_ms > it->interval_ms + sleep_accuracy_ms) { dprint(FD_HELPERTHREAD, "%s: delta = %" PRIi64 " <> %u. Clock jump?\n", it->name, delta_ms, it->interval_ms); delta_ms = it->interval_ms; it->expires = *now; timespec_add_msec(&it->expires, it->interval_ms); } } *msec_to_next_event = min((unsigned int)delta_ms, *msec_to_next_event); return expired ? it->func() : 0; } static void *helper_thread_main(void *data) { struct helper_data *hd = data; unsigned int msec_to_next_event, next_log; struct interval_timer timer[] = { { .name = "disk_util", .interval_ms = DISK_UTIL_MSEC, .func = update_io_ticks, }, { .name = "status_interval", .interval_ms = status_interval, .func = __show_running_run_stats, }, { .name = "steadystate", .interval_ms = steadystate_enabled ? ss_check_interval : 0, .func = steadystate_check, } }; struct timespec ts; long clk_tck; int ret = 0; os_clk_tck(&clk_tck); dprint(FD_HELPERTHREAD, "clk_tck = %ld\n", clk_tck); assert(clk_tck > 0); sleep_accuracy_ms = (1000 + clk_tck - 1) / clk_tck; #ifdef CONFIG_HAVE_TIMERFD_CREATE timerfd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK); assert(timerfd >= 0); sleep_accuracy_ms = 1; #endif sk_out_assign(hd->sk_out); /* Let another thread handle signals. */ block_signals(); fio_get_mono_time(&ts); msec_to_next_event = reset_timers(timer, FIO_ARRAY_SIZE(timer), &ts); fio_sem_up(hd->startup_sem); while (!ret && !hd->exit) { uint8_t action; int i; action = wait_for_action(hd->pipe[0], msec_to_next_event); if (action == A_EXIT) break; fio_get_mono_time(&ts); msec_to_next_event = INT_MAX; if (action == A_RESET) msec_to_next_event = reset_timers(timer, FIO_ARRAY_SIZE(timer), &ts); for (i = 0; i < FIO_ARRAY_SIZE(timer); ++i) ret = eval_timer(&timer[i], &ts, &msec_to_next_event); if (action == A_DO_STAT) __show_running_run_stats(); next_log = calc_log_samples(); if (!next_log) next_log = DISK_UTIL_MSEC; msec_to_next_event = min(next_log, msec_to_next_event); dprint(FD_HELPERTHREAD, "next_log: %u, msec_to_next_event: %u\n", next_log, msec_to_next_event); if (!is_backend) print_thread_status(); } if (timerfd >= 0) { close(timerfd); timerfd = -1; } fio_writeout_logs(false); sk_out_drop(); return NULL; } /* * Connect two sockets to each other to emulate the pipe() system call on Windows. */ int pipe_over_loopback(int fd[2]) { struct sockaddr_in addr = { .sin_family = AF_INET }; socklen_t len = sizeof(addr); int res; addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); sock_init(); fd[0] = socket(AF_INET, SOCK_STREAM, 0); if (fd[0] < 0) goto err; fd[1] = socket(AF_INET, SOCK_STREAM, 0); if (fd[1] < 0) goto close_fd_0; res = bind(fd[0], (struct sockaddr *)&addr, len); if (res < 0) goto close_fd_1; res = getsockname(fd[0], (struct sockaddr *)&addr, &len); if (res < 0) goto close_fd_1; res = listen(fd[0], 1); if (res < 0) goto close_fd_1; res = connect(fd[1], (struct sockaddr *)&addr, len); if (res < 0) goto close_fd_1; res = accept(fd[0], NULL, NULL); if (res < 0) goto close_fd_1; close(fd[0]); fd[0] = res; return 0; close_fd_1: close(fd[1]); close_fd_0: close(fd[0]); err: return -1; } int helper_thread_create(struct fio_sem *startup_sem, struct sk_out *sk_out) { struct helper_data *hd; int ret; hd = scalloc(1, sizeof(*hd)); if (!hd) return 1; setup_disk_util(); steadystate_setup(); hd->sk_out = sk_out; #if defined(CONFIG_PIPE2) ret = pipe2(hd->pipe, O_CLOEXEC); #elif defined(CONFIG_PIPE) ret = pipe(hd->pipe); #else ret = pipe_over_loopback(hd->pipe); #endif if (ret) return 1; ret = make_nonblocking(hd->pipe[0]); assert(ret >= 0); hd->startup_sem = startup_sem; DRD_IGNORE_VAR(helper_data); ret = pthread_create(&hd->thread, NULL, helper_thread_main, hd); if (ret) { log_err("Can't create helper thread: %s\n", strerror(ret)); return 1; } helper_data = hd; dprint(FD_MUTEX, "wait on startup_sem\n"); fio_sem_down(startup_sem); dprint(FD_MUTEX, "done waiting on startup_sem\n"); return 0; } fio-3.39/helper_thread.h000066400000000000000000000005621476262051600152200ustar00rootroot00000000000000#ifndef FIO_HELPER_THREAD_H #define FIO_HELPER_THREAD_H #include struct fio_sem; struct sk_out; extern void helper_reset(void); extern void helper_do_stat(void); extern bool helper_should_exit(void); extern void helper_thread_destroy(void); extern void helper_thread_exit(void); extern int helper_thread_create(struct fio_sem *, struct sk_out *); #endif fio-3.39/helpers.c000066400000000000000000000010501476262051600140400ustar00rootroot00000000000000#include #include "helpers.h" #ifndef CONFIG_LINUX_FALLOCATE int fallocate(int fd, int mode, off_t offset, off_t len) { errno = ENOSYS; return -1; } #endif #ifndef CONFIG_POSIX_FALLOCATE int posix_fallocate(int fd, off_t offset, off_t len) { return 0; } #endif #ifndef CONFIG_SYNC_FILE_RANGE int sync_file_range(int fd, uint64_t offset, uint64_t nbytes, unsigned int flags) { errno = ENOSYS; return -1; } #endif #ifndef CONFIG_POSIX_FADVISE int posix_fadvise(int fd, off_t offset, off_t len, int advice) { return 0; } #endif fio-3.39/helpers.h000066400000000000000000000007001476262051600140460ustar00rootroot00000000000000#ifndef FIO_HELPERS_H #define FIO_HELPERS_H #include #include "os/os.h" extern int fallocate(int fd, int mode, off_t offset, off_t len); extern int posix_fallocate(int fd, off_t offset, off_t len); #ifndef CONFIG_SYNC_FILE_RANGE extern int sync_file_range(int fd, uint64_t offset, uint64_t nbytes, unsigned int flags); #endif extern int posix_fadvise(int fd, off_t offset, off_t len, int advice); #endif /* FIO_HELPERS_H_ */ fio-3.39/idletime.c000066400000000000000000000271541476262051600142070ustar00rootroot00000000000000#include #include "fio.h" #include "json.h" #include "idletime.h" static volatile struct idle_prof_common ipc; /* * Get time to complete an unit work on a particular cpu. * The minimum number in CALIBRATE_RUNS runs is returned. */ static double calibrate_unit(unsigned char *data) { unsigned long t, i, j, k; struct timespec tps; double tunit = 0.0; for (i = 0; i < CALIBRATE_RUNS; i++) { fio_gettime(&tps, NULL); /* scale for less variance */ for (j = 0; j < CALIBRATE_SCALE; j++) { /* unit of work */ for (k=0; k < page_size; k++) { data[(k + j) % page_size] = k % 256; /* * we won't see STOP here. this is to match * the same statement in the profiling loop. */ if (ipc.status == IDLE_PROF_STATUS_PROF_STOP) return 0.0; } } t = utime_since_now(&tps); if (!t) continue; /* get the minimum time to complete CALIBRATE_SCALE units */ if ((i == 0) || ((double)t < tunit)) tunit = (double)t; } return tunit / CALIBRATE_SCALE; } static void free_cpu_affinity(struct idle_prof_thread *ipt) { #if defined(FIO_HAVE_CPU_AFFINITY) fio_cpuset_exit(&ipt->cpu_mask); #endif } static int set_cpu_affinity(struct idle_prof_thread *ipt) { #if defined(FIO_HAVE_CPU_AFFINITY) if (fio_cpuset_init(&ipt->cpu_mask)) { log_err("fio: cpuset init failed\n"); return -1; } fio_cpu_set(&ipt->cpu_mask, ipt->cpu); if (fio_setaffinity(gettid(), ipt->cpu_mask)) { log_err("fio: fio_setaffinity failed\n"); fio_cpuset_exit(&ipt->cpu_mask); return -1; } return 0; #else log_err("fio: fio_setaffinity not supported\n"); return -1; #endif } static void *idle_prof_thread_fn(void *data) { int retval; unsigned long j, k; struct idle_prof_thread *ipt = data; /* wait for all threads are spawned */ pthread_mutex_lock(&ipt->init_lock); /* exit if any other thread failed to start */ if (ipc.status == IDLE_PROF_STATUS_ABORT) { pthread_mutex_unlock(&ipt->init_lock); return NULL; } retval = set_cpu_affinity(ipt); if (retval == -1) { ipt->state = TD_EXITED; pthread_mutex_unlock(&ipt->init_lock); return NULL; } ipt->cali_time = calibrate_unit(ipt->data); /* delay to set IDLE class till now for better calibration accuracy */ #if defined(CONFIG_SCHED_IDLE) if ((retval = fio_set_sched_idle())) log_err("fio: fio_set_sched_idle failed\n"); #else retval = -1; log_err("fio: fio_set_sched_idle not supported\n"); #endif if (retval == -1) { ipt->state = TD_EXITED; pthread_mutex_unlock(&ipt->init_lock); goto do_exit; } ipt->state = TD_INITIALIZED; /* signal the main thread that calibration is done */ pthread_cond_signal(&ipt->cond); pthread_mutex_unlock(&ipt->init_lock); /* wait for other calibration to finish */ pthread_mutex_lock(&ipt->start_lock); /* exit if other threads failed to initialize */ if (ipc.status == IDLE_PROF_STATUS_ABORT) { pthread_mutex_unlock(&ipt->start_lock); goto do_exit; } /* exit if we are doing calibration only */ if (ipc.status == IDLE_PROF_STATUS_CALI_STOP) { pthread_mutex_unlock(&ipt->start_lock); goto do_exit; } fio_gettime(&ipt->tps, NULL); ipt->state = TD_RUNNING; j = 0; while (1) { for (k = 0; k < page_size; k++) { ipt->data[(k + j) % page_size] = k % 256; if (ipc.status == IDLE_PROF_STATUS_PROF_STOP) { fio_gettime(&ipt->tpe, NULL); goto idle_prof_done; } } j++; } idle_prof_done: ipt->loops = j + (double) k / page_size; ipt->state = TD_EXITED; pthread_mutex_unlock(&ipt->start_lock); do_exit: free_cpu_affinity(ipt); return NULL; } /* calculate mean and standard deviation to complete an unit of work */ static void calibration_stats(void) { int i; double sum = 0.0, var = 0.0; struct idle_prof_thread *ipt; for (i = 0; i < ipc.nr_cpus; i++) { ipt = &ipc.ipts[i]; sum += ipt->cali_time; } ipc.cali_mean = sum/ipc.nr_cpus; for (i = 0; i < ipc.nr_cpus; i++) { ipt = &ipc.ipts[i]; var += pow(ipt->cali_time-ipc.cali_mean, 2); } ipc.cali_stddev = sqrt(var/(ipc.nr_cpus-1)); } void fio_idle_prof_init(void) { int i, ret; struct timespec ts; pthread_attr_t tattr; pthread_condattr_t cattr; struct idle_prof_thread *ipt; ipc.nr_cpus = cpus_configured(); ipc.status = IDLE_PROF_STATUS_OK; if (ipc.opt == IDLE_PROF_OPT_NONE) return; ret = pthread_condattr_init(&cattr); assert(ret == 0); #ifdef CONFIG_PTHREAD_CONDATTR_SETCLOCK ret = pthread_condattr_setclock(&cattr, CLOCK_MONOTONIC); assert(ret == 0); #endif if ((ret = pthread_attr_init(&tattr))) { log_err("fio: pthread_attr_init %s\n", strerror(ret)); return; } if ((ret = pthread_attr_setscope(&tattr, PTHREAD_SCOPE_SYSTEM))) { log_err("fio: pthread_attr_setscope %s\n", strerror(ret)); return; } ipc.ipts = malloc(ipc.nr_cpus * sizeof(struct idle_prof_thread)); if (!ipc.ipts) { log_err("fio: malloc failed\n"); return; } ipc.buf = malloc(ipc.nr_cpus * page_size); if (!ipc.buf) { log_err("fio: malloc failed\n"); free(ipc.ipts); return; } /* * profiling aborts on any single thread failure since the * result won't be accurate if any cpu is not used. */ for (i = 0; i < ipc.nr_cpus; i++) { ipt = &ipc.ipts[i]; ipt->cpu = i; ipt->state = TD_NOT_CREATED; ipt->data = (unsigned char *)(ipc.buf + page_size * i); if ((ret = pthread_mutex_init(&ipt->init_lock, NULL))) { ipc.status = IDLE_PROF_STATUS_ABORT; log_err("fio: pthread_mutex_init %s\n", strerror(ret)); break; } if ((ret = pthread_mutex_init(&ipt->start_lock, NULL))) { ipc.status = IDLE_PROF_STATUS_ABORT; log_err("fio: pthread_mutex_init %s\n", strerror(ret)); break; } if ((ret = pthread_cond_init(&ipt->cond, &cattr))) { ipc.status = IDLE_PROF_STATUS_ABORT; log_err("fio: pthread_cond_init %s\n", strerror(ret)); break; } /* make sure all threads are spawned before they start */ pthread_mutex_lock(&ipt->init_lock); /* make sure all threads finish init before profiling starts */ pthread_mutex_lock(&ipt->start_lock); if ((ret = pthread_create(&ipt->thread, &tattr, idle_prof_thread_fn, ipt))) { ipc.status = IDLE_PROF_STATUS_ABORT; log_err("fio: pthread_create %s\n", strerror(ret)); break; } else ipt->state = TD_CREATED; if ((ret = pthread_detach(ipt->thread))) { /* log error and let the thread spin */ log_err("fio: pthread_detach %s\n", strerror(ret)); } } /* * let good threads continue so that they can exit * if errors on other threads occurred previously. */ for (i = 0; i < ipc.nr_cpus; i++) { ipt = &ipc.ipts[i]; pthread_mutex_unlock(&ipt->init_lock); } if (ipc.status == IDLE_PROF_STATUS_ABORT) return; /* wait for calibration to finish */ for (i = 0; i < ipc.nr_cpus; i++) { ipt = &ipc.ipts[i]; pthread_mutex_lock(&ipt->init_lock); while ((ipt->state != TD_EXITED) && (ipt->state!=TD_INITIALIZED)) { #ifdef CONFIG_PTHREAD_CONDATTR_SETCLOCK clock_gettime(CLOCK_MONOTONIC, &ts); #else clock_gettime(CLOCK_REALTIME, &ts); #endif ts.tv_sec += 1; pthread_cond_timedwait(&ipt->cond, &ipt->init_lock, &ts); } pthread_mutex_unlock(&ipt->init_lock); /* * any thread failed to initialize would abort other threads * later after fio_idle_prof_start. */ if (ipt->state == TD_EXITED) ipc.status = IDLE_PROF_STATUS_ABORT; } if (ipc.status != IDLE_PROF_STATUS_ABORT) calibration_stats(); else ipc.cali_mean = ipc.cali_stddev = 0.0; if (ipc.opt == IDLE_PROF_OPT_CALI) ipc.status = IDLE_PROF_STATUS_CALI_STOP; } void fio_idle_prof_start(void) { int i; struct idle_prof_thread *ipt; if (ipc.opt == IDLE_PROF_OPT_NONE) return; /* unlock regardless abort is set or not */ for (i = 0; i < ipc.nr_cpus; i++) { ipt = &ipc.ipts[i]; pthread_mutex_unlock(&ipt->start_lock); } } void fio_idle_prof_stop(void) { int i; uint64_t runt; struct timespec ts; struct idle_prof_thread *ipt; if (ipc.opt == IDLE_PROF_OPT_NONE) return; if (ipc.opt == IDLE_PROF_OPT_CALI) return; ipc.status = IDLE_PROF_STATUS_PROF_STOP; /* wait for all threads to exit from profiling */ for (i = 0; i < ipc.nr_cpus; i++) { ipt = &ipc.ipts[i]; pthread_mutex_lock(&ipt->start_lock); while ((ipt->state != TD_EXITED) && (ipt->state!=TD_NOT_CREATED)) { fio_gettime(&ts, NULL); ts.tv_sec += 1; /* timed wait in case a signal is not received */ pthread_cond_timedwait(&ipt->cond, &ipt->start_lock, &ts); } pthread_mutex_unlock(&ipt->start_lock); /* calculate idleness */ if (ipc.cali_mean != 0.0) { runt = utime_since(&ipt->tps, &ipt->tpe); if (runt) ipt->idleness = ipt->loops * ipc.cali_mean / runt; else ipt->idleness = 0.0; } else ipt->idleness = 0.0; } /* * memory allocations are freed via explicit fio_idle_prof_cleanup * after profiling stats are collected by apps. */ } /* * return system idle percentage when cpu is -1; * return one cpu idle percentage otherwise. */ static double fio_idle_prof_cpu_stat(int cpu) { int i, nr_cpus = ipc.nr_cpus; struct idle_prof_thread *ipt; double p = 0.0; if (ipc.opt == IDLE_PROF_OPT_NONE) return 0.0; if ((cpu >= nr_cpus) || (cpu < -1)) { log_err("fio: idle profiling invalid cpu index\n"); return 0.0; } if (cpu == -1) { for (i = 0; i < nr_cpus; i++) { ipt = &ipc.ipts[i]; p += ipt->idleness; } p /= nr_cpus; } else { ipt = &ipc.ipts[cpu]; p = ipt->idleness; } return p * 100.0; } void fio_idle_prof_cleanup(void) { if (ipc.ipts) { free(ipc.ipts); ipc.ipts = NULL; } if (ipc.buf) { free(ipc.buf); ipc.buf = NULL; } } int fio_idle_prof_parse_opt(const char *args) { ipc.opt = IDLE_PROF_OPT_NONE; /* default */ if (!args) { log_err("fio: empty idle-prof option string\n"); return -1; } #if defined(FIO_HAVE_CPU_AFFINITY) && defined(CONFIG_SCHED_IDLE) if (strcmp("calibrate", args) == 0) { ipc.opt = IDLE_PROF_OPT_CALI; fio_idle_prof_init(); fio_idle_prof_start(); fio_idle_prof_stop(); show_idle_prof_stats(FIO_OUTPUT_NORMAL, NULL, NULL); return 1; } else if (strcmp("system", args) == 0) { ipc.opt = IDLE_PROF_OPT_SYSTEM; return 0; } else if (strcmp("percpu", args) == 0) { ipc.opt = IDLE_PROF_OPT_PERCPU; return 0; } else { log_err("fio: incorrect idle-prof option: %s\n", args); return -1; } #else log_err("fio: idle-prof not supported on this platform\n"); return -1; #endif } void show_idle_prof_stats(int output, struct json_object *parent, struct buf_output *out) { int i, nr_cpus = ipc.nr_cpus; struct json_object *tmp; char s[MAX_CPU_STR_LEN]; if (output == FIO_OUTPUT_NORMAL) { if (ipc.opt > IDLE_PROF_OPT_CALI) log_buf(out, "\nCPU idleness:\n"); else if (ipc.opt == IDLE_PROF_OPT_CALI) log_buf(out, "CPU idleness:\n"); if (ipc.opt >= IDLE_PROF_OPT_SYSTEM) log_buf(out, " system: %3.2f%%\n", fio_idle_prof_cpu_stat(-1)); if (ipc.opt == IDLE_PROF_OPT_PERCPU) { log_buf(out, " percpu: %3.2f%%", fio_idle_prof_cpu_stat(0)); for (i = 1; i < nr_cpus; i++) log_buf(out, ", %3.2f%%", fio_idle_prof_cpu_stat(i)); log_buf(out, "\n"); } if (ipc.opt >= IDLE_PROF_OPT_CALI) { log_buf(out, " unit work: mean=%3.2fus,", ipc.cali_mean); log_buf(out, " stddev=%3.2f\n", ipc.cali_stddev); } return; } if ((ipc.opt != IDLE_PROF_OPT_NONE) && (output & FIO_OUTPUT_JSON)) { if (!parent) return; tmp = json_create_object(); if (!tmp) return; json_object_add_value_object(parent, "cpu_idleness", tmp); json_object_add_value_float(tmp, "system", fio_idle_prof_cpu_stat(-1)); if (ipc.opt == IDLE_PROF_OPT_PERCPU) { for (i = 0; i < nr_cpus; i++) { snprintf(s, MAX_CPU_STR_LEN, "cpu-%d", i); json_object_add_value_float(tmp, s, fio_idle_prof_cpu_stat(i)); } } json_object_add_value_float(tmp, "unit_mean", ipc.cali_mean); json_object_add_value_float(tmp, "unit_stddev", ipc.cali_stddev); } } fio-3.39/idletime.h000066400000000000000000000024531476262051600142070ustar00rootroot00000000000000#ifndef FIO_IDLETIME_H #define FIO_IDLETIME_H #include #include #include "os/os.h" #define CALIBRATE_RUNS 10 #define CALIBRATE_SCALE 1000 #define MAX_CPU_STR_LEN 32 enum { IDLE_PROF_OPT_NONE, IDLE_PROF_OPT_CALI, /* calibration only */ IDLE_PROF_OPT_SYSTEM, IDLE_PROF_OPT_PERCPU }; enum { IDLE_PROF_STATUS_OK, IDLE_PROF_STATUS_CALI_STOP, IDLE_PROF_STATUS_PROF_STOP, IDLE_PROF_STATUS_ABORT }; struct idle_prof_thread { pthread_t thread; int cpu; int state; struct timespec tps; struct timespec tpe; double cali_time; /* microseconds to finish a unit work */ double loops; double idleness; unsigned char *data; /* bytes to be touched */ pthread_cond_t cond; pthread_mutex_t init_lock; pthread_mutex_t start_lock; os_cpu_mask_t cpu_mask; }; struct idle_prof_common { struct idle_prof_thread *ipts; int nr_cpus; int status; int opt; double cali_mean; double cali_stddev; void *buf; /* single data allocation for all threads */ }; extern int fio_idle_prof_parse_opt(const char *); extern void fio_idle_prof_init(void); extern void fio_idle_prof_start(void); extern void fio_idle_prof_stop(void); extern void show_idle_prof_stats(int, struct json_object *, struct buf_output *); extern void fio_idle_prof_cleanup(void); #endif fio-3.39/init.c000066400000000000000000002207441476262051600133560ustar00rootroot00000000000000/* * This file contains job initialization and setup functions. */ #include #include #include #include #include #include #include #include #include #ifdef CONFIG_VALGRIND_DEV #include #else #define DRD_IGNORE_VAR(x) do { } while (0) #endif #include "fio.h" #ifndef FIO_NO_HAVE_SHM_H #include #endif #include "parse.h" #include "smalloc.h" #include "filehash.h" #include "verify.h" #include "profile.h" #include "server.h" #include "idletime.h" #include "filelock.h" #include "steadystate.h" #include "blktrace.h" #include "oslib/asprintf.h" #include "oslib/getopt.h" #include "oslib/strcasestr.h" #include "crc/test.h" #include "lib/pow2.h" #include "lib/memcpy.h" const char fio_version_string[] = FIO_VERSION; #define FIO_RANDSEED (0xb1899bedUL) static char **ini_file; static bool dump_cmdline; static bool parse_only; static bool merge_blktrace_only; static struct thread_data def_thread; struct thread_segment segments[REAL_MAX_SEG]; static char **job_sections; static int nr_job_sections; bool exitall_on_terminate = false; int output_format = FIO_OUTPUT_NORMAL; int eta_print = FIO_ETA_AUTO; unsigned int eta_interval_msec = 1000; int eta_new_line = 0; FILE *f_out = NULL; FILE *f_err = NULL; char *exec_profile = NULL; int warnings_fatal = 0; int terse_version = 3; bool is_backend = false; bool is_local_backend = false; int nr_clients = 0; bool log_syslog = false; bool write_bw_log = false; bool read_only = false; int status_interval = 0; char *trigger_file = NULL; long long trigger_timeout = 0; char *trigger_cmd = NULL; char *trigger_remote_cmd = NULL; char *aux_path = NULL; static int prev_group_jobs; unsigned long fio_debug = 0; unsigned int fio_debug_jobno = -1; unsigned int *fio_debug_jobp = NULL; unsigned int *fio_warned = NULL; static char cmd_optstr[256]; static bool did_arg; #define FIO_CLIENT_FLAG (1 << 16) /* * Command line options. These will contain the above, plus a few * extra that only pertain to fio itself and not jobs. */ static struct option l_opts[FIO_NR_OPTIONS] = { { .name = (char *) "output", .has_arg = required_argument, .val = 'o' | FIO_CLIENT_FLAG, }, { .name = (char *) "latency-log", .has_arg = required_argument, .val = 'l' | FIO_CLIENT_FLAG, }, { .name = (char *) "bandwidth-log", .has_arg = no_argument, .val = 'b' | FIO_CLIENT_FLAG, }, { .name = (char *) "minimal", .has_arg = no_argument, .val = 'm' | FIO_CLIENT_FLAG, }, { .name = (char *) "output-format", .has_arg = required_argument, .val = 'F' | FIO_CLIENT_FLAG, }, { .name = (char *) "append-terse", .has_arg = optional_argument, .val = 'f', }, { .name = (char *) "version", .has_arg = no_argument, .val = 'v' | FIO_CLIENT_FLAG, }, { .name = (char *) "help", .has_arg = no_argument, .val = 'h' | FIO_CLIENT_FLAG, }, { .name = (char *) "cmdhelp", .has_arg = optional_argument, .val = 'c' | FIO_CLIENT_FLAG, }, { .name = (char *) "enghelp", .has_arg = optional_argument, .val = 'i' | FIO_CLIENT_FLAG, }, { .name = (char *) "showcmd", .has_arg = no_argument, .val = 's' | FIO_CLIENT_FLAG, }, { .name = (char *) "readonly", .has_arg = no_argument, .val = 'r' | FIO_CLIENT_FLAG, }, { .name = (char *) "eta", .has_arg = required_argument, .val = 'e' | FIO_CLIENT_FLAG, }, { .name = (char *) "eta-interval", .has_arg = required_argument, .val = 'O' | FIO_CLIENT_FLAG, }, { .name = (char *) "eta-newline", .has_arg = required_argument, .val = 'E' | FIO_CLIENT_FLAG, }, { .name = (char *) "debug", .has_arg = required_argument, .val = 'd' | FIO_CLIENT_FLAG, }, { .name = (char *) "parse-only", .has_arg = no_argument, .val = 'P' | FIO_CLIENT_FLAG, }, { .name = (char *) "section", .has_arg = required_argument, .val = 'x' | FIO_CLIENT_FLAG, }, #ifdef CONFIG_ZLIB { .name = (char *) "inflate-log", .has_arg = required_argument, .val = 'X' | FIO_CLIENT_FLAG, }, #endif { .name = (char *) "alloc-size", .has_arg = required_argument, .val = 'a' | FIO_CLIENT_FLAG, }, { .name = (char *) "profile", .has_arg = required_argument, .val = 'p' | FIO_CLIENT_FLAG, }, { .name = (char *) "warnings-fatal", .has_arg = no_argument, .val = 'w' | FIO_CLIENT_FLAG, }, { .name = (char *) "max-jobs", .has_arg = required_argument, .val = 'j' | FIO_CLIENT_FLAG, }, { .name = (char *) "terse-version", .has_arg = required_argument, .val = 'V' | FIO_CLIENT_FLAG, }, { .name = (char *) "server", .has_arg = optional_argument, .val = 'S', }, #ifdef WIN32 { .name = (char *) "server-internal", .has_arg = required_argument, .val = 'N', }, #endif { .name = (char *) "daemonize", .has_arg = required_argument, .val = 'D', }, { .name = (char *) "client", .has_arg = required_argument, .val = 'C', }, { .name = (char *) "remote-config", .has_arg = required_argument, .val = 'R', }, { .name = (char *) "cpuclock-test", .has_arg = no_argument, .val = 'T', }, { .name = (char *) "crctest", .has_arg = optional_argument, .val = 'G', }, { .name = (char *) "memcpytest", .has_arg = optional_argument, .val = 'M', }, { .name = (char *) "idle-prof", .has_arg = required_argument, .val = 'I', }, { .name = (char *) "status-interval", .has_arg = required_argument, .val = 'L' | FIO_CLIENT_FLAG, }, { .name = (char *) "trigger-file", .has_arg = required_argument, .val = 'W', }, { .name = (char *) "trigger-timeout", .has_arg = required_argument, .val = 'B', }, { .name = (char *) "trigger", .has_arg = required_argument, .val = 'H', }, { .name = (char *) "trigger-remote", .has_arg = required_argument, .val = 'J', }, { .name = (char *) "aux-path", .has_arg = required_argument, .val = 'K', }, { .name = (char *) "merge-blktrace-only", .has_arg = no_argument, .val = 'A' | FIO_CLIENT_FLAG, }, { .name = NULL, }, }; void free_threads_shm(void) { int i; for (i = 0; i < nr_segments; i++) { struct thread_segment *seg = &segments[i]; if (seg->threads) { void *tp = seg->threads; #ifndef CONFIG_NO_SHM struct shmid_ds sbuf; seg->threads = NULL; shmdt(tp); shmctl(seg->shm_id, IPC_RMID, &sbuf); seg->shm_id = -1; #else seg->threads = NULL; free(tp); #endif } } nr_segments = 0; cur_segment = 0; } static void free_shm(void) { #ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION if (nr_segments) { flow_exit(); fio_debug_jobp = NULL; fio_warned = NULL; free_threads_shm(); } free(trigger_file); free(trigger_cmd); free(trigger_remote_cmd); trigger_file = trigger_cmd = trigger_remote_cmd = NULL; options_free(fio_options, &def_thread.o); fio_filelock_exit(); file_hash_exit(); scleanup(); #endif } static int add_thread_segment(void) { struct thread_segment *seg = &segments[nr_segments]; size_t size = JOBS_PER_SEG * sizeof(struct thread_data); int i; if (nr_segments + 1 >= REAL_MAX_SEG) { log_err("error: maximum number of jobs reached.\n"); return -1; } size += 2 * sizeof(unsigned int); #ifndef CONFIG_NO_SHM seg->shm_id = shmget(0, size, IPC_CREAT | 0600); if (seg->shm_id == -1) { if (errno != EINVAL && errno != ENOMEM && errno != ENOSPC) perror("shmget"); return -1; } #else seg->threads = malloc(size); if (!seg->threads) return -1; #endif #ifndef CONFIG_NO_SHM seg->threads = shmat(seg->shm_id, NULL, 0); if (seg->threads == (void *) -1) { perror("shmat"); return 1; } if (shm_attach_to_open_removed()) shmctl(seg->shm_id, IPC_RMID, NULL); #endif nr_segments++; memset(seg->threads, 0, JOBS_PER_SEG * sizeof(struct thread_data)); for (i = 0; i < JOBS_PER_SEG; i++) DRD_IGNORE_VAR(seg->threads[i]); seg->nr_threads = 0; /* Not first segment, we're done */ if (nr_segments != 1) { cur_segment++; return 0; } fio_debug_jobp = (unsigned int *)(seg->threads + JOBS_PER_SEG); *fio_debug_jobp = -1; fio_warned = fio_debug_jobp + 1; *fio_warned = 0; flow_init(); return 0; } /* * The thread areas are shared between the main process and the job * threads/processes, and is split into chunks of JOBS_PER_SEG. If the current * segment has no more room, add a new chunk. */ static int expand_thread_area(void) { struct thread_segment *seg = &segments[cur_segment]; if (nr_segments && seg->nr_threads < JOBS_PER_SEG) return 0; return add_thread_segment(); } static void dump_print_option(struct print_option *p) { const char *delim; if (!strcmp("description", p->name)) delim = "\""; else delim = ""; log_info("--%s%s", p->name, p->value ? "" : " "); if (p->value) log_info("=%s%s%s ", delim, p->value, delim); } static void dump_opt_list(struct thread_data *td) { struct flist_head *entry; struct print_option *p; if (flist_empty(&td->opt_list)) return; flist_for_each(entry, &td->opt_list) { p = flist_entry(entry, struct print_option, list); dump_print_option(p); } } static void copy_opt_list(struct thread_data *dst, struct thread_data *src) { struct flist_head *entry; if (flist_empty(&src->opt_list)) return; flist_for_each(entry, &src->opt_list) { struct print_option *srcp, *dstp; srcp = flist_entry(entry, struct print_option, list); dstp = malloc(sizeof(*dstp)); dstp->name = strdup(srcp->name); if (srcp->value) dstp->value = strdup(srcp->value); else dstp->value = NULL; flist_add_tail(&dstp->list, &dst->opt_list); } } /* * Return a free job structure. */ static struct thread_data *get_new_job(bool global, struct thread_data *parent, bool preserve_eo, const char *jobname) { struct thread_segment *seg; struct thread_data *td; if (global) return &def_thread; if (expand_thread_area()) { log_err("error: failed to setup shm segment\n"); return NULL; } seg = &segments[cur_segment]; td = &seg->threads[seg->nr_threads++]; thread_number++; *td = *parent; INIT_FLIST_HEAD(&td->opt_list); if (parent != &def_thread) copy_opt_list(td, parent); td->io_ops = NULL; td->io_ops_init = 0; if (!preserve_eo) td->eo = NULL; td->o.uid = td->o.gid = -1U; dup_files(td, parent); fio_options_mem_dupe(td); profile_add_hooks(td); td->thread_number = thread_number; td->subjob_number = 0; if (jobname) td->o.name = strdup(jobname); if (!parent->o.group_reporting || parent == &def_thread) stat_number++; return td; } static void put_job(struct thread_data *td) { if (td == &def_thread) return; profile_td_exit(td); flow_exit_job(td); if (td->error) log_info("fio: %s\n", td->verror); fio_options_free(td); fio_dump_options_free(td); if (td->io_ops) free_ioengine(td); if (td->o.name) free(td->o.name); memset(td, 0, sizeof(*td)); segments[cur_segment].nr_threads--; thread_number--; } static int __setup_rate(struct thread_data *td, enum fio_ddir ddir) { unsigned long long bs = td->o.min_bs[ddir]; assert(ddir_rw(ddir)); if (td->o.rate[ddir]) td->rate_bps[ddir] = td->o.rate[ddir]; else td->rate_bps[ddir] = (uint64_t) td->o.rate_iops[ddir] * bs; if (!td->rate_bps[ddir]) { log_err("rate lower than supported\n"); return -1; } td->rate_next_io_time[ddir] = 0; td->rate_io_issue_bytes[ddir] = 0; td->last_usec[ddir] = 0; return 0; } static int setup_rate(struct thread_data *td) { int ret = 0; for_each_rw_ddir(ddir) { if (td->o.rate[ddir] || td->o.rate_iops[ddir]) { ret |= __setup_rate(td, ddir); } } return ret; } static int fixed_block_size(struct thread_options *o) { return o->min_bs[DDIR_READ] == o->max_bs[DDIR_READ] && o->min_bs[DDIR_WRITE] == o->max_bs[DDIR_WRITE] && o->min_bs[DDIR_TRIM] == o->max_bs[DDIR_TRIM] && o->min_bs[DDIR_READ] == o->min_bs[DDIR_WRITE] && o->min_bs[DDIR_READ] == o->min_bs[DDIR_TRIM]; } /* * <3 Johannes */ static unsigned int gcd(unsigned int m, unsigned int n) { if (!n) return m; return gcd(n, m % n); } /* * Lazy way of fixing up options that depend on each other. We could also * define option callback handlers, but this is easier. */ static int fixup_options(struct thread_data *td) { struct thread_options *o = &td->o; int ret = 0; if (read_only && (td_write(td) || td_trim(td))) { log_err("fio: trim and write operations are not allowed" " with the --readonly parameter.\n"); ret |= 1; } if (td_trimwrite(td) && o->num_range > 1) { log_err("fio: trimwrite cannot be used with multiple" " ranges.\n"); ret |= 1; } if (td_trim(td) && o->num_range > 1 && !td_ioengine_flagged(td, FIO_MULTI_RANGE_TRIM)) { log_err("fio: can't use multiple ranges with IO engine %s\n", td->io_ops->name); ret |= 1; } #ifndef CONFIG_PSHARED if (!o->use_thread) { log_info("fio: this platform does not support process shared" " mutexes, forcing use of threads. Use the 'thread'" " option to get rid of this warning.\n"); o->use_thread = 1; ret |= warnings_fatal; } #endif if (o->write_iolog_file && o->read_iolog_file) { log_err("fio: read iolog overrides write_iolog\n"); free(o->write_iolog_file); o->write_iolog_file = NULL; ret |= warnings_fatal; } if (o->zone_mode == ZONE_MODE_NONE && o->zone_size) { log_err("fio: --zonemode=none and --zonesize are not compatible.\n"); ret |= 1; } if (o->zone_mode == ZONE_MODE_ZBD && !o->create_serialize) { log_err("fio: --zonemode=zbd and --create_serialize=0 are not compatible.\n"); ret |= 1; } if (o->zone_mode == ZONE_MODE_STRIDED && !o->zone_size) { log_err("fio: --zonesize must be specified when using --zonemode=strided.\n"); ret |= 1; } if (o->zone_mode == ZONE_MODE_NOT_SPECIFIED) { if (o->zone_size) o->zone_mode = ZONE_MODE_STRIDED; else o->zone_mode = ZONE_MODE_NONE; } /* * Strided zone mode only really works with 1 file. */ if (o->zone_mode == ZONE_MODE_STRIDED && o->open_files > 1) o->zone_mode = ZONE_MODE_NONE; /* * If zone_range isn't specified, backward compatibility dictates it * should be made equal to zone_size. */ if (o->zone_mode == ZONE_MODE_STRIDED && !o->zone_range) o->zone_range = o->zone_size; /* * Reads can do overwrites, we always need to pre-create the file */ if (td_read(td)) o->overwrite = 1; for_each_rw_ddir(ddir) { if (!o->min_bs[ddir]) o->min_bs[ddir] = o->bs[ddir]; if (!o->max_bs[ddir]) o->max_bs[ddir] = o->bs[ddir]; } o->rw_min_bs = -1; for_each_rw_ddir(ddir) { o->rw_min_bs = min(o->rw_min_bs, o->min_bs[ddir]); } /* * For random IO, allow blockalign offset other than min_bs. */ for_each_rw_ddir(ddir) { if (!o->ba[ddir] || !td_random(td)) o->ba[ddir] = o->min_bs[ddir]; } if ((o->ba[DDIR_READ] != o->min_bs[DDIR_READ] || o->ba[DDIR_WRITE] != o->min_bs[DDIR_WRITE] || o->ba[DDIR_TRIM] != o->min_bs[DDIR_TRIM]) && !o->norandommap) { log_err("fio: Any use of blockalign= turns off randommap\n"); o->norandommap = 1; ret |= warnings_fatal; } if (!o->file_size_high) o->file_size_high = o->file_size_low; if (o->start_delay_high) { if (!o->start_delay_orig) o->start_delay_orig = o->start_delay; o->start_delay = rand_between(&td->delay_state, o->start_delay_orig, o->start_delay_high); } if (o->norandommap && o->verify != VERIFY_NONE && !fixed_block_size(o)) { log_err("fio: norandommap given for variable block sizes, " "verify limited\n"); ret |= warnings_fatal; } if (o->bs_unaligned && (o->odirect || td_ioengine_flagged(td, FIO_RAWIO))) log_err("fio: bs_unaligned may not work with raw io\n"); /* * thinktime_spin must be less than thinktime */ if (o->thinktime_spin > o->thinktime) o->thinktime_spin = o->thinktime; /* * The low water mark cannot be bigger than the iodepth */ if (o->iodepth_low > o->iodepth || !o->iodepth_low) o->iodepth_low = o->iodepth; /* * If batch number isn't set, default to the same as iodepth */ if (o->iodepth_batch > o->iodepth || !o->iodepth_batch) o->iodepth_batch = o->iodepth; /* * If max batch complete number isn't set or set incorrectly, * default to the same as iodepth_batch_complete_min */ if (o->iodepth_batch_complete_min > o->iodepth_batch_complete_max) o->iodepth_batch_complete_max = o->iodepth_batch_complete_min; /* * There's no need to check for in-flight overlapping IOs if the job * isn't changing data or the maximum iodepth is guaranteed to be 1 * when we are not in offload mode */ if (o->serialize_overlap && !(td->flags & TD_F_READ_IOLOG) && (!(td_write(td) || td_trim(td)) || o->iodepth == 1) && o->io_submit_mode != IO_MODE_OFFLOAD) o->serialize_overlap = 0; if (o->nr_files > td->files_index) o->nr_files = td->files_index; if (o->open_files > o->nr_files || !o->open_files) o->open_files = o->nr_files; if (((o->rate[DDIR_READ] + o->rate[DDIR_WRITE] + o->rate[DDIR_TRIM]) && (o->rate_iops[DDIR_READ] + o->rate_iops[DDIR_WRITE] + o->rate_iops[DDIR_TRIM])) || ((o->ratemin[DDIR_READ] + o->ratemin[DDIR_WRITE] + o->ratemin[DDIR_TRIM]) && (o->rate_iops_min[DDIR_READ] + o->rate_iops_min[DDIR_WRITE] + o->rate_iops_min[DDIR_TRIM]))) { log_err("fio: rate and rate_iops are mutually exclusive\n"); ret |= 1; } for_each_rw_ddir(ddir) { if ((o->rate[ddir] && (o->rate[ddir] < o->ratemin[ddir])) || (o->rate_iops[ddir] && (o->rate_iops[ddir] < o->rate_iops_min[ddir]))) { log_err("fio: minimum rate exceeds rate, ddir %d\n", +ddir); ret |= 1; } } if (!o->timeout && o->time_based) { log_err("fio: time_based requires a runtime/timeout setting\n"); o->time_based = 0; ret |= warnings_fatal; } if (o->fill_device && !o->size) o->size = -1ULL; if (o->verify != VERIFY_NONE) { if (td_write(td) && o->do_verify && o->numjobs > 1 && (o->filename || !(o->unique_filename && strstr(o->filename_format, "$jobname") && strstr(o->filename_format, "$jobnum") && strstr(o->filename_format, "$filenum")))) { log_info("fio: multiple writers may overwrite blocks " "that belong to other jobs. This can cause " "verification failures.\n"); ret |= warnings_fatal; } /* * Warn if verification is requested but no verification of any * kind can be started due to time constraints */ if (td_write(td) && o->do_verify && o->timeout && o->time_based && !td_read(td) && !o->verify_backlog) { log_info("fio: verification read phase will never " "start because write phase uses all of " "runtime\n"); ret |= warnings_fatal; } if (!fio_option_is_set(o, refill_buffers)) o->refill_buffers = 1; if (o->max_bs[DDIR_WRITE] != o->min_bs[DDIR_WRITE] && !o->verify_interval) o->verify_interval = o->min_bs[DDIR_WRITE]; /* * Verify interval must be smaller or equal to the * write size. */ if (o->verify_interval > o->min_bs[DDIR_WRITE]) o->verify_interval = o->min_bs[DDIR_WRITE]; else if (td_read(td) && o->verify_interval > o->min_bs[DDIR_READ]) o->verify_interval = o->min_bs[DDIR_READ]; /* * Verify interval must be a factor of both min and max * write size */ if (!o->verify_interval || (o->min_bs[DDIR_WRITE] % o->verify_interval) || (o->max_bs[DDIR_WRITE] % o->verify_interval)) o->verify_interval = gcd(o->min_bs[DDIR_WRITE], o->max_bs[DDIR_WRITE]); if (o->verify_only) { if (!fio_option_is_set(o, verify_write_sequence)) o->verify_write_sequence = 0; if (!fio_option_is_set(o, verify_header_seed)) o->verify_header_seed = 0; } if (o->norandommap && !td_ioengine_flagged(td, FIO_SYNCIO) && o->iodepth > 1) { /* * Disable write sequence checks with norandommap and * iodepth > 1. * Unless we were explicitly asked to enable it. */ if (!fio_option_is_set(o, verify_write_sequence)) o->verify_write_sequence = 0; } /* * Verify header should not be offset beyond the verify * interval. */ if (o->verify_offset + sizeof(struct verify_header) > o->verify_interval) { log_err("fio: cannot offset verify header beyond the " "verify interval.\n"); ret |= 1; } /* * Disable rand_seed check when we have verify_backlog, * zone reset frequency for zonemode=zbd, or if we are using * an RB tree for IO history logs. * Unless we were explicitly asked to enable it. */ if (!td_write(td) || (td->flags & TD_F_VER_BACKLOG) || o->zrf.u.f || fio_offset_overlap_risk(td)) { if (!fio_option_is_set(o, verify_header_seed)) o->verify_header_seed = 0; } } if (td->o.oatomic) { if (!td_ioengine_flagged(td, FIO_ATOMICWRITES)) { log_err("fio: engine does not support atomic writes\n"); td->o.oatomic = 0; ret |= 1; } if (!td_write(td)) td->o.oatomic = 0; } if (o->pre_read) { if (o->invalidate_cache) o->invalidate_cache = 0; if (td_ioengine_flagged(td, FIO_PIPEIO)) { log_info("fio: cannot pre-read files with an IO engine" " that isn't seekable. Pre-read disabled.\n"); ret |= warnings_fatal; } } if (o->unit_base == N2S_NONE) { if (td_ioengine_flagged(td, FIO_BIT_BASED)) o->unit_base = N2S_BITPERSEC; else o->unit_base = N2S_BYTEPERSEC; } #ifndef CONFIG_FDATASYNC if (o->fdatasync_blocks) { log_info("fio: this platform does not support fdatasync()" " falling back to using fsync(). Use the 'fsync'" " option instead of 'fdatasync' to get rid of" " this warning\n"); o->fsync_blocks = o->fdatasync_blocks; o->fdatasync_blocks = 0; ret |= warnings_fatal; } #endif #ifdef WIN32 /* * Windows doesn't support O_DIRECT or O_SYNC with the _open interface, * so fail if we're passed those flags */ if (td_ioengine_flagged(td, FIO_SYNCIO) && (o->odirect || o->sync_io)) { log_err("fio: Windows does not support direct or non-buffered io with" " the synchronous ioengines. Use the 'windowsaio' ioengine" " with 'direct=1' and 'iodepth=1' instead.\n"); ret |= 1; } #endif /* * For fully compressible data, just zero them at init time. * It's faster than repeatedly filling it. For non-zero * compression, we should have refill_buffers set. Set it, unless * the job file already changed it. */ if (o->compress_percentage) { if (o->compress_percentage == 100) { o->zero_buffers = 1; o->compress_percentage = 0; } else if (!fio_option_is_set(o, refill_buffers)) { o->refill_buffers = 1; td->flags |= TD_F_REFILL_BUFFERS; } } /* * Using a non-uniform random distribution excludes usage of * a random map */ if (o->random_distribution != FIO_RAND_DIST_RANDOM) o->norandommap = 1; /* * If size is set but less than the min block size, complain */ if (o->size && o->size < td_min_bs(td)) { log_err("fio: size too small, must not be less than minimum block size: %llu < %llu\n", (unsigned long long) o->size, td_min_bs(td)); ret |= 1; } /* * If randseed is set, that overrides randrepeat */ if (fio_option_is_set(o, rand_seed)) o->rand_repeatable = 0; if (td_ioengine_flagged(td, FIO_NOEXTEND) && o->file_append) { log_err("fio: can't append/extent with IO engine %s\n", td->io_ops->name); ret |= 1; } if (fio_option_is_set(o, gtod_cpu)) { fio_gtod_init(); fio_gtod_set_cpu(o->gtod_cpu); fio_gtod_offload = 1; } td->loops = o->loops; if (!td->loops) td->loops = 1; if (o->block_error_hist && o->nr_files != 1) { log_err("fio: block error histogram only available " "with a single file per job, but %d files " "provided\n", o->nr_files); ret |= 1; } if (o->disable_lat) o->lat_percentiles = 0; if (o->disable_clat) o->clat_percentiles = 0; if (o->disable_slat) o->slat_percentiles = 0; /* Do this only for the parent job */ if (!td->subjob_number) { /* * Fix these up to be nsec internally */ for_each_rw_ddir(ddir) o->max_latency[ddir] *= 1000ULL; o->latency_target *= 1000ULL; } /* * Dedupe working set verifications */ if (o->dedupe_percentage && o->dedupe_mode == DEDUPE_MODE_WORKING_SET) { if (!fio_option_is_set(o, size)) { log_err("fio: pregenerated dedupe working set " "requires size to be set\n"); ret |= 1; } else if (o->nr_files != 1) { log_err("fio: dedupe working set mode supported with " "single file per job, but %d files " "provided\n", o->nr_files); ret |= 1; } else if (o->dedupe_working_set_percentage + o->dedupe_percentage > 100) { log_err("fio: impossible to reach expected dedupe percentage %u " "since %u percentage of size is reserved to dedupe working set " "(those are unique pages)\n", o->dedupe_percentage, o->dedupe_working_set_percentage); ret |= 1; } } for_each_td(td2) { if (td->o.ss_check_interval != td2->o.ss_check_interval) { log_err("fio: conflicting ss_check_interval: %llu and %llu, must be globally equal\n", td->o.ss_check_interval, td2->o.ss_check_interval); ret |= 1; } } end_for_each(); if (td->o.ss_dur && td->o.ss_check_interval / 1000L < 1000) { log_err("fio: ss_check_interval must be at least 1s\n"); ret |= 1; } if (td->o.ss_dur && (td->o.ss_dur % td->o.ss_check_interval != 0 || td->o.ss_dur <= td->o.ss_check_interval)) { log_err("fio: ss_duration %lluus must be multiple of ss_check_interval %lluus\n", td->o.ss_dur, td->o.ss_check_interval); ret |= 1; } if (td->o.fdp) { if (fio_option_is_set(&td->o, dp_type) && (td->o.dp_type == FIO_DP_STREAMS || td->o.dp_type == FIO_DP_NONE)) { log_err("fio: fdp=1 is not compatible with dataplacement={streams, none}\n"); ret |= 1; } else { td->o.dp_type = FIO_DP_FDP; } } return ret; } static void init_rand_file_service(struct thread_data *td) { unsigned long nranges = td->o.nr_files << FIO_FSERVICE_SHIFT; const unsigned int seed = td->rand_seeds[FIO_RAND_FILE_OFF]; if (td->o.file_service_type == FIO_FSERVICE_ZIPF) { zipf_init(&td->next_file_zipf, nranges, td->zipf_theta, td->random_center, seed); zipf_disable_hash(&td->next_file_zipf); } else if (td->o.file_service_type == FIO_FSERVICE_PARETO) { pareto_init(&td->next_file_zipf, nranges, td->pareto_h, td->random_center, seed); zipf_disable_hash(&td->next_file_zipf); } else if (td->o.file_service_type == FIO_FSERVICE_GAUSS) { gauss_init(&td->next_file_gauss, nranges, td->gauss_dev, td->random_center, seed); gauss_disable_hash(&td->next_file_gauss); } } void td_fill_rand_seeds(struct thread_data *td) { uint64_t read_seed = td->rand_seeds[FIO_RAND_BS_OFF]; uint64_t write_seed = td->rand_seeds[FIO_RAND_BS1_OFF]; uint64_t trim_seed = td->rand_seeds[FIO_RAND_BS2_OFF]; int i; bool use64; if (td->o.random_generator == FIO_RAND_GEN_TAUSWORTHE64) use64 = true; else use64 = false; /* * trimwrite is special in that we need to generate the same * offsets to get the "write after trim" effect. If we are * using bssplit to set buffer length distributions, ensure that * we seed the trim and write generators identically. Ditto for * verify, read and writes must have the same seed, if we are doing * read verify. */ if (td->o.verify != VERIFY_NONE) write_seed = read_seed; if (td_trimwrite(td)) trim_seed = write_seed; init_rand_seed(&td->bsrange_state[DDIR_READ], read_seed, use64); init_rand_seed(&td->bsrange_state[DDIR_WRITE], write_seed, use64); init_rand_seed(&td->bsrange_state[DDIR_TRIM], trim_seed, use64); init_rand_seed(&td->verify_state, td->rand_seeds[FIO_RAND_VER_OFF], use64); init_rand_seed(&td->rwmix_state, td->rand_seeds[FIO_RAND_MIX_OFF], false); if (td->o.file_service_type == FIO_FSERVICE_RANDOM) init_rand_seed(&td->next_file_state, td->rand_seeds[FIO_RAND_FILE_OFF], use64); else if (td->o.file_service_type & __FIO_FSERVICE_NONUNIFORM) init_rand_file_service(td); init_rand_seed(&td->file_size_state, td->rand_seeds[FIO_RAND_FILE_SIZE_OFF], use64); init_rand_seed(&td->trim_state, td->rand_seeds[FIO_RAND_TRIM_OFF], use64); init_rand_seed(&td->delay_state, td->rand_seeds[FIO_RAND_START_DELAY], use64); init_rand_seed(&td->poisson_state[0], td->rand_seeds[FIO_RAND_POISSON_OFF], 0); init_rand_seed(&td->poisson_state[1], td->rand_seeds[FIO_RAND_POISSON2_OFF], 0); init_rand_seed(&td->poisson_state[2], td->rand_seeds[FIO_RAND_POISSON3_OFF], 0); init_rand_seed(&td->dedupe_state, td->rand_seeds[FIO_DEDUPE_OFF], false); init_rand_seed(&td->zone_state, td->rand_seeds[FIO_RAND_ZONE_OFF], false); init_rand_seed(&td->prio_state, td->rand_seeds[FIO_RAND_PRIO_CMDS], false); init_rand_seed(&td->dedupe_working_set_index_state, td->rand_seeds[FIO_RAND_DEDUPE_WORKING_SET_IX], use64); init_rand_seed(&td->random_state, td->rand_seeds[FIO_RAND_BLOCK_OFF], use64); for (i = 0; i < DDIR_RWDIR_CNT; i++) { struct frand_state *s = &td->seq_rand_state[i]; init_rand_seed(s, td->rand_seeds[FIO_RAND_SEQ_RAND_READ_OFF], false); } init_rand_seed(&td->buf_state, td->rand_seeds[FIO_RAND_BUF_OFF], use64); frand_copy(&td->buf_state_prev, &td->buf_state); init_rand_seed(&td->fdp_state, td->rand_seeds[FIO_RAND_FDP_OFF], use64); } static int setup_random_seeds(struct thread_data *td) { uint64_t seed; unsigned int i; if (!td->o.rand_repeatable && !fio_option_is_set(&td->o, rand_seed)) { int ret = init_random_seeds(td->rand_seeds, sizeof(td->rand_seeds)); dprint(FD_RANDOM, "using system RNG for random seeds\n"); if (ret) return ret; } else { seed = td->o.rand_seed; for (i = 0; i < 4; i++) seed *= 0x9e370001UL; for (i = 0; i < FIO_RAND_NR_OFFS; i++) { td->rand_seeds[i] = seed * td->thread_number + i; seed *= 0x9e370001UL; } } td_fill_rand_seeds(td); dprint(FD_RANDOM, "FIO_RAND_NR_OFFS=%d\n", FIO_RAND_NR_OFFS); for (int i = 0; i < FIO_RAND_NR_OFFS; i++) dprint(FD_RANDOM, "rand_seeds[%d]=%" PRIu64 "\n", i, td->rand_seeds[i]); return 0; } /* * Initializes the ioengine configured for a job, if it has not been done so * already. */ int ioengine_load(struct thread_data *td) { if (!td->o.ioengine) { log_err("fio: internal fault, no IO engine specified\n"); return 1; } if (td->io_ops) { struct ioengine_ops *ops; void *dlhandle; /* An engine is loaded, but the requested ioengine * may have changed. */ if (!strcmp(td->io_ops->name, td->o.ioengine)) { /* The right engine is already loaded */ return 0; } /* * Name of file and engine may be different, load ops * for this name and see if they match. If they do, then * the engine is unchanged. */ dlhandle = td->io_ops->dlhandle; ops = load_ioengine(td); if (!ops) goto fail; if (ops == td->io_ops && dlhandle == td->io_ops->dlhandle) return 0; if (dlhandle && dlhandle != td->io_ops->dlhandle) dlclose(dlhandle); /* Unload the old engine. */ free_ioengine(td); } td->io_ops = load_ioengine(td); if (!td->io_ops) goto fail; if (td->io_ops->option_struct_size && td->io_ops->options) { /* * In cases where td->eo is set, clone it for a child thread. * This requires that the parent thread has the same ioengine, * but that requirement must be enforced by the code which * cloned the thread. */ void *origeo = td->eo; /* * Otherwise use the default thread options. */ if (!origeo && td != &def_thread && def_thread.eo && def_thread.io_ops->options == td->io_ops->options) origeo = def_thread.eo; options_init(td->io_ops->options); td->eo = malloc(td->io_ops->option_struct_size); /* * Use the default thread as an option template if this uses the * same options structure and there are non-default options * used. */ if (origeo) { memcpy(td->eo, origeo, td->io_ops->option_struct_size); options_mem_dupe(td->io_ops->options, td->eo); } else { memset(td->eo, 0, td->io_ops->option_struct_size); fill_default_options(td->eo, td->io_ops->options); } *(struct thread_data **)td->eo = td; } if (td->o.odirect) td->io_ops->flags |= FIO_RAWIO; td_set_ioengine_flags(td); return 0; fail: log_err("fio: failed to load engine\n"); return 1; } static void init_flags(struct thread_data *td) { struct thread_options *o = &td->o; int i; if (o->verify_backlog) td->flags |= TD_F_VER_BACKLOG; if (o->trim_backlog) td->flags |= TD_F_TRIM_BACKLOG; if (o->read_iolog_file) td->flags |= TD_F_READ_IOLOG; if (o->refill_buffers) td->flags |= TD_F_REFILL_BUFFERS; /* * Always scramble buffers if asked to */ if (o->scramble_buffers && fio_option_is_set(o, scramble_buffers)) td->flags |= TD_F_SCRAMBLE_BUFFERS; /* * But also scramble buffers, unless we were explicitly asked * to zero them. */ if (o->scramble_buffers && !(o->zero_buffers && fio_option_is_set(o, zero_buffers))) td->flags |= TD_F_SCRAMBLE_BUFFERS; if (o->verify != VERIFY_NONE) td->flags |= TD_F_DO_VERIFY; if (o->verify_async || o->io_submit_mode == IO_MODE_OFFLOAD) td->flags |= TD_F_NEED_LOCK; if (o->mem_type == MEM_CUDA_MALLOC) td->flags &= ~TD_F_SCRAMBLE_BUFFERS; for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (option_check_rate(td, i)) { td->flags |= TD_F_CHECK_RATE; break; } } } enum { FPRE_NONE = 0, FPRE_JOBNAME, FPRE_JOBNUM, FPRE_FILENUM, FPRE_CLIENTUID }; static struct fpre_keyword { const char *keyword; size_t strlen; int key; } fpre_keywords[] = { { .keyword = "$jobname", .key = FPRE_JOBNAME, }, { .keyword = "$jobnum", .key = FPRE_JOBNUM, }, { .keyword = "$filenum", .key = FPRE_FILENUM, }, { .keyword = "$clientuid", .key = FPRE_CLIENTUID, }, { .keyword = NULL, }, }; static char *make_filename(char *buf, size_t buf_size,struct thread_options *o, const char *jobname, int jobnum, int filenum) { struct fpre_keyword *f; char copy[PATH_MAX]; size_t dst_left = PATH_MAX - 1; if (!o->filename_format || !strlen(o->filename_format)) { sprintf(buf, "%s.%d.%d", jobname, jobnum, filenum); return buf; } for (f = &fpre_keywords[0]; f->keyword; f++) f->strlen = strlen(f->keyword); snprintf(buf, buf_size, "%s", o->filename_format); memset(copy, 0, sizeof(copy)); for (f = &fpre_keywords[0]; f->keyword; f++) { do { size_t pre_len, post_start = 0; char *str, *dst = copy; str = strcasestr(buf, f->keyword); if (!str) break; pre_len = str - buf; if (strlen(str) != f->strlen) post_start = pre_len + f->strlen; if (pre_len) { strncpy(dst, buf, pre_len); dst += pre_len; dst_left -= pre_len; } switch (f->key) { case FPRE_JOBNAME: { int ret; ret = snprintf(dst, dst_left, "%s", jobname); if (ret < 0) break; else if (ret > dst_left) { log_err("fio: truncated filename\n"); dst += dst_left; dst_left = 0; } else { dst += ret; dst_left -= ret; } break; } case FPRE_JOBNUM: { int ret; ret = snprintf(dst, dst_left, "%d", jobnum); if (ret < 0) break; else if (ret > dst_left) { log_err("fio: truncated filename\n"); dst += dst_left; dst_left = 0; } else { dst += ret; dst_left -= ret; } break; } case FPRE_FILENUM: { int ret; ret = snprintf(dst, dst_left, "%d", filenum); if (ret < 0) break; else if (ret > dst_left) { log_err("fio: truncated filename\n"); dst += dst_left; dst_left = 0; } else { dst += ret; dst_left -= ret; } break; } case FPRE_CLIENTUID: { int ret; ret = snprintf(dst, dst_left, "%s", client_sockaddr_str); if (ret < 0) break; else if (ret > dst_left) { log_err("fio: truncated filename\n"); dst += dst_left; dst_left = 0; } else { dst += ret; dst_left -= ret; } break; } default: assert(0); break; } if (post_start) strncpy(dst, buf + post_start, dst_left); snprintf(buf, buf_size, "%s", copy); } while (1); } return buf; } bool parse_dryrun(void) { return dump_cmdline || parse_only; } static void gen_log_name(char *name, size_t size, const char *logtype, const char *logname, unsigned int num, const char *suf, int per_job) { if (per_job) snprintf(name, size, "%s_%s.%d.%s", logname, logtype, num, suf); else snprintf(name, size, "%s_%s.%s", logname, logtype, suf); } static int check_waitees(char *waitee) { int ret = 0; for_each_td(td) { if (td->subjob_number) continue; ret += !strcmp(td->o.name, waitee); } end_for_each(); return ret; } static bool wait_for_ok(const char *jobname, struct thread_options *o) { int nw; if (!o->wait_for) return true; if (!strcmp(jobname, o->wait_for)) { log_err("%s: a job cannot wait for itself (wait_for=%s).\n", jobname, o->wait_for); return false; } if (!(nw = check_waitees(o->wait_for))) { log_err("%s: waitee job %s unknown.\n", jobname, o->wait_for); return false; } if (nw > 1) { log_err("%s: multiple waitees %s found,\n" "please avoid duplicates when using wait_for option.\n", jobname, o->wait_for); return false; } return true; } static int verify_per_group_options(struct thread_data *td, const char *jobname) { for_each_td(td2) { if (td->groupid != td2->groupid) continue; if (td->o.stats && td->o.lat_percentiles != td2->o.lat_percentiles) { log_err("fio: lat_percentiles in job: %s differs from group\n", jobname); return 1; } } end_for_each(); return 0; } /* * Treat an empty log file name the same as a one not given */ static const char *make_log_name(const char *logname, const char *jobname) { if (logname && strcmp(logname, "")) return logname; return jobname; } /* * Adds a job to the list of things todo. Sanitizes the various options * to make sure we don't have conflicts, and initializes various * members of td. */ static int add_job(struct thread_data *td, const char *jobname, int job_add_num, int recursed, int client_type) { unsigned int i; char fname[PATH_MAX + 1]; int numjobs, file_alloced; struct thread_options *o = &td->o; char logname[PATH_MAX + 32]; /* * the def_thread is just for options, it's not a real job */ if (td == &def_thread) return 0; init_flags(td); /* * if we are just dumping the output command line, don't add the job */ if (parse_dryrun()) { put_job(td); return 0; } td->client_type = client_type; if (profile_td_init(td)) goto err; if (ioengine_load(td)) goto err; file_alloced = 0; if (!o->filename && !td->files_index && !o->read_iolog_file) { file_alloced = 1; if (o->nr_files == 1 && exists_and_not_regfile(jobname)) add_file(td, jobname, job_add_num, 0); else { for (i = 0; i < o->nr_files; i++) add_file(td, make_filename(fname, sizeof(fname), o, jobname, job_add_num, i), job_add_num, 0); } } if (setup_random_seeds(td)) { td_verror(td, errno, "setup_random_seeds"); goto err; } if (fixup_options(td)) goto err; if (!td->o.dedupe_global && init_dedupe_working_set_seeds(td, 0)) goto err; /* * Belongs to fixup_options, but o->name is not necessarily set as yet */ if (!wait_for_ok(jobname, o)) goto err; flow_init_job(td); /* * IO engines only need this for option callbacks, and the address may * change in subprocesses. */ if (td->eo) *(struct thread_data **)td->eo = NULL; if (td_ioengine_flagged(td, FIO_DISKLESSIO)) { struct fio_file *f; for_each_file(td, f, i) f->real_file_size = -1ULL; } td->sem = fio_sem_init(FIO_SEM_LOCKED); td->ts.clat_percentiles = o->clat_percentiles; td->ts.lat_percentiles = o->lat_percentiles; td->ts.slat_percentiles = o->slat_percentiles; td->ts.percentile_precision = o->percentile_precision; memcpy(td->ts.percentile_list, o->percentile_list, sizeof(o->percentile_list)); td->ts.sig_figs = o->sig_figs; init_thread_stat_min_vals(&td->ts); /* * td->>ddir_seq_nr needs to be initialized to 1, NOT o->ddir_seq_nr, * so that get_next_offset gets a new random offset the first time it * is called, instead of keeping an initial offset of 0 for the first * nr-1 calls */ td->ddir_seq_nr = 1; if ((o->stonewall || o->new_group) && prev_group_jobs) { prev_group_jobs = 0; groupid++; if (groupid == INT_MAX) { log_err("fio: too many groups defined\n"); goto err; } } td->groupid = groupid; prev_group_jobs++; if (td->o.group_reporting && prev_group_jobs > 1 && verify_per_group_options(td, jobname)) goto err; if (setup_rate(td)) goto err; if (o->write_lat_log) { struct log_params p = { .td = td, .avg_msec = o->log_avg_msec, .hist_msec = o->log_hist_msec, .hist_coarseness = o->log_hist_coarseness, .log_type = IO_LOG_TYPE_LAT, .log_offset = o->log_offset, .log_prio = o->log_prio, .log_issue_time = o->log_issue_time, .log_gz = o->log_gz, .log_gz_store = o->log_gz_store, }; const char *pre = make_log_name(o->lat_log_file, o->name); const char *suf; if (o->log_issue_time && !o->log_offset) { log_err("fio: log_issue_time option requires write_lat_log and log_offset options\n"); goto err; } if (p.log_gz_store) suf = "log.fz"; else suf = "log"; if (!o->disable_lat) { gen_log_name(logname, sizeof(logname), "lat", pre, td->thread_number, suf, o->per_job_logs); setup_log(&td->lat_log, &p, logname); } if (!o->disable_slat) { gen_log_name(logname, sizeof(logname), "slat", pre, td->thread_number, suf, o->per_job_logs); setup_log(&td->slat_log, &p, logname); } if (!o->disable_clat) { gen_log_name(logname, sizeof(logname), "clat", pre, td->thread_number, suf, o->per_job_logs); setup_log(&td->clat_log, &p, logname); } } else if (o->log_issue_time) { log_err("fio: log_issue_time option requires write_lat_log and log_offset options\n"); goto err; } if (o->write_hist_log) { struct log_params p = { .td = td, .avg_msec = o->log_avg_msec, .hist_msec = o->log_hist_msec, .hist_coarseness = o->log_hist_coarseness, .log_type = IO_LOG_TYPE_HIST, .log_offset = o->log_offset, .log_prio = o->log_prio, .log_issue_time = o->log_issue_time, .log_gz = o->log_gz, .log_gz_store = o->log_gz_store, }; const char *pre = make_log_name(o->hist_log_file, o->name); const char *suf; #ifndef CONFIG_ZLIB if (td->client_type) { log_err("fio: --write_hist_log requires zlib in client/server mode\n"); goto err; } #endif if (p.log_gz_store) suf = "log.fz"; else suf = "log"; gen_log_name(logname, sizeof(logname), "clat_hist", pre, td->thread_number, suf, o->per_job_logs); setup_log(&td->clat_hist_log, &p, logname); } if (o->write_bw_log) { struct log_params p = { .td = td, .avg_msec = o->log_avg_msec, .hist_msec = o->log_hist_msec, .hist_coarseness = o->log_hist_coarseness, .log_type = IO_LOG_TYPE_BW, .log_offset = o->log_offset, .log_prio = o->log_prio, .log_issue_time = o->log_issue_time, .log_gz = o->log_gz, .log_gz_store = o->log_gz_store, }; const char *pre = make_log_name(o->bw_log_file, o->name); const char *suf; if (fio_option_is_set(o, bw_avg_time)) p.avg_msec = min(o->log_avg_msec, o->bw_avg_time); else o->bw_avg_time = p.avg_msec; p.hist_msec = o->log_hist_msec; p.hist_coarseness = o->log_hist_coarseness; if (p.log_gz_store) suf = "log.fz"; else suf = "log"; gen_log_name(logname, sizeof(logname), "bw", pre, td->thread_number, suf, o->per_job_logs); setup_log(&td->bw_log, &p, logname); } if (o->write_iops_log) { struct log_params p = { .td = td, .avg_msec = o->log_avg_msec, .hist_msec = o->log_hist_msec, .hist_coarseness = o->log_hist_coarseness, .log_type = IO_LOG_TYPE_IOPS, .log_offset = o->log_offset, .log_prio = o->log_prio, .log_issue_time = o->log_issue_time, .log_gz = o->log_gz, .log_gz_store = o->log_gz_store, }; const char *pre = make_log_name(o->iops_log_file, o->name); const char *suf; if (fio_option_is_set(o, iops_avg_time)) p.avg_msec = min(o->log_avg_msec, o->iops_avg_time); else o->iops_avg_time = p.avg_msec; p.hist_msec = o->log_hist_msec; p.hist_coarseness = o->log_hist_coarseness; if (p.log_gz_store) suf = "log.fz"; else suf = "log"; gen_log_name(logname, sizeof(logname), "iops", pre, td->thread_number, suf, o->per_job_logs); setup_log(&td->iops_log, &p, logname); } if (!o->name) o->name = strdup(jobname); if (output_format & FIO_OUTPUT_NORMAL) { if (!job_add_num) { if (is_backend && !recursed) fio_server_send_add_job(td); if (!td_ioengine_flagged(td, FIO_NOIO)) { char *c1, *c2, *c3, *c4; char *c5 = NULL, *c6 = NULL; int i2p = is_power_of_2(o->kb_base); struct buf_output out; c1 = num2str(o->min_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE); c2 = num2str(o->max_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE); c3 = num2str(o->min_bs[DDIR_WRITE], o->sig_figs, 1, i2p, N2S_BYTE); c4 = num2str(o->max_bs[DDIR_WRITE], o->sig_figs, 1, i2p, N2S_BYTE); if (!o->bs_is_seq_rand) { c5 = num2str(o->min_bs[DDIR_TRIM], o->sig_figs, 1, i2p, N2S_BYTE); c6 = num2str(o->max_bs[DDIR_TRIM], o->sig_figs, 1, i2p, N2S_BYTE); } buf_output_init(&out); __log_buf(&out, "%s: (g=%d): rw=%s, ", td->o.name, td->groupid, ddir_str(o->td_ddir)); if (o->bs_is_seq_rand) __log_buf(&out, "bs=(R) %s-%s, (W) %s-%s, bs_is_seq_rand, ", c1, c2, c3, c4); else __log_buf(&out, "bs=(R) %s-%s, (W) %s-%s, (T) %s-%s, ", c1, c2, c3, c4, c5, c6); __log_buf(&out, "ioengine=%s, iodepth=%u\n", td->io_ops->name, o->iodepth); log_info_buf(out.buf, out.buflen); buf_output_free(&out); free(c1); free(c2); free(c3); free(c4); free(c5); free(c6); } } else if (job_add_num == 1) log_info("...\n"); } if (td_steadystate_init(td)) goto err; if (o->merge_blktrace_file && !merge_blktrace_iologs(td)) goto err; if (merge_blktrace_only) { put_job(td); return 0; } /* * recurse add identical jobs, clear numjobs and stonewall options * as they don't apply to sub-jobs */ numjobs = o->numjobs; while (--numjobs) { struct thread_data *td_new = get_new_job(false, td, true, jobname); if (!td_new) goto err; td_new->o.numjobs = 1; td_new->o.stonewall = 0; td_new->o.new_group = 0; td_new->subjob_number = numjobs; td_new->o.ss_dur = o->ss_dur * 1000000l; td_new->o.ss_limit = o->ss_limit; if (file_alloced) { if (td_new->files) { struct fio_file *f; for_each_file(td_new, f, i) fio_file_free(f); free(td_new->files); td_new->files = NULL; } td_new->files_index = 0; td_new->files_size = 0; if (td_new->o.filename) { free(td_new->o.filename); td_new->o.filename = NULL; } } if (add_job(td_new, jobname, numjobs, 1, client_type)) goto err; } return 0; err: put_job(td); return -1; } /* * Parse as if 'o' was a command line */ void add_job_opts(const char **o, int client_type) { struct thread_data *td, *td_parent; int i, in_global = 1; char jobname[32]; i = 0; td_parent = td = NULL; while (o[i]) { if (!strncmp(o[i], "name", 4)) { in_global = 0; if (td) add_job(td, jobname, 0, 0, client_type); td = NULL; sprintf(jobname, "%s", o[i] + 5); } if (in_global && !td_parent) td_parent = get_new_job(true, &def_thread, false, jobname); else if (!in_global && !td) { if (!td_parent) td_parent = &def_thread; td = get_new_job(false, td_parent, false, jobname); } if (in_global) fio_options_parse(td_parent, (char **) &o[i], 1); else fio_options_parse(td, (char **) &o[i], 1); i++; } if (td) add_job(td, jobname, 0, 0, client_type); } static int skip_this_section(const char *name) { int i; if (!nr_job_sections) return 0; if (!strncmp(name, "global", 6)) return 0; for (i = 0; i < nr_job_sections; i++) if (!strcmp(job_sections[i], name)) return 0; return 1; } static int is_empty_or_comment(char *line) { unsigned int i; for (i = 0; i < strlen(line); i++) { if (line[i] == ';') return 1; if (line[i] == '#') return 1; if (!isspace((int) line[i]) && !iscntrl((int) line[i])) return 0; } return 1; } /* * This is our [ini] type file parser. */ static int __parse_jobs_ini(struct thread_data *td, char *file, int is_buf, int stonewall_flag, int type, int nested, char *name, char ***popts, int *aopts, int *nopts) { bool global = false; bool stdin_occupied = false; char *string; FILE *f; char *p; int ret = 0, stonewall; int first_sect = 1; int skip_fgets = 0; int inside_skip = 0; char **opts; int i, alloc_opts, num_opts; dprint(FD_PARSE, "Parsing ini file %s\n", file); assert(td || !nested); if (is_buf) f = NULL; else { if (!strcmp(file, "-")) { f = stdin; stdin_occupied = true; } else f = fopen(file, "r"); if (!f) { int __err = errno; log_err("fio: unable to open '%s' job file\n", file); if (td) td_verror(td, __err, "job file open"); return 1; } } string = malloc(OPT_LEN_MAX); /* * it's really 256 + small bit, 280 should suffice */ if (!nested) { name = calloc(1, 280); } opts = NULL; if (nested && popts) { opts = *popts; alloc_opts = *aopts; num_opts = *nopts; } if (!opts) { alloc_opts = 8; opts = malloc(sizeof(char *) * alloc_opts); num_opts = 0; } stonewall = stonewall_flag; do { /* * if skip_fgets is set, we already have loaded a line we * haven't handled. */ if (!skip_fgets) { if (is_buf) p = strsep(&file, "\n"); else p = fgets(string, OPT_LEN_MAX, f); if (!p) break; } skip_fgets = 0; strip_blank_front(&p); strip_blank_end(p); dprint(FD_PARSE, "%s\n", p); if (is_empty_or_comment(p)) continue; if (!nested) { if (sscanf(p, "[%255[^\n]]", name) != 1) { if (inside_skip) continue; log_err("fio: option <%s> outside of " "[] job section\n", p); ret = 1; break; } name[strlen(name) - 1] = '\0'; if (skip_this_section(name)) { inside_skip = 1; continue; } else inside_skip = 0; dprint(FD_PARSE, "Parsing section [%s]\n", name); global = !strncmp(name, "global", 6); if (dump_cmdline) { if (first_sect) log_info("fio "); if (!global) log_info("--name=%s ", name); first_sect = 0; } td = get_new_job(global, &def_thread, false, name); if (!td) { ret = 1; break; } /* * Separate multiple job files by a stonewall */ if (!global && stonewall) { td->o.stonewall = stonewall; stonewall = 0; } num_opts = 0; memset(opts, 0, alloc_opts * sizeof(char *)); } else skip_fgets = 1; while (1) { if (!skip_fgets) { if (is_buf) p = strsep(&file, "\n"); else p = fgets(string, OPT_LEN_MAX, f); if (!p) break; dprint(FD_PARSE, "%s", p); } else skip_fgets = 0; if (is_empty_or_comment(p)) continue; strip_blank_front(&p); /* * new section, break out and make sure we don't * fgets() a new line at the top. */ if (p[0] == '[') { if (nested) { log_err("No new sections in included files\n"); ret = 1; goto out; } skip_fgets = 1; break; } strip_blank_end(p); if (!strncmp(p, "include", strlen("include"))) { char *filename = p + strlen("include") + 1, *ts, *full_fn = NULL; /* * Allow for the include filename * specification to be relative. */ if (access(filename, F_OK) && (ts = strrchr(file, '/'))) { if (asprintf(&full_fn, "%.*s%s", (int)(ts - file + 1), file, filename) < 0) { ret = ENOMEM; break; } filename = full_fn; } ret = __parse_jobs_ini(td, filename, is_buf, stonewall_flag, type, 1, name, &opts, &alloc_opts, &num_opts); if (ret) { log_err("Error %d while parsing " "include file %s\n", ret, filename); } if (full_fn) free(full_fn); if (ret) break; continue; } if (num_opts == alloc_opts) { alloc_opts <<= 1; opts = realloc(opts, alloc_opts * sizeof(char *)); } opts[num_opts] = strdup(p); num_opts++; } if (nested) { *popts = opts; *aopts = alloc_opts; *nopts = num_opts; goto out; } ret = fio_options_parse(td, opts, num_opts); if (!ret && td->o.read_iolog_file != NULL) { char *fname = get_name_by_idx(td->o.read_iolog_file, td->subjob_number); if (!strcmp(fname, "-")) { if (stdin_occupied) { log_err("fio: only one user (read_iolog_file/job " "file) of stdin is permitted at once but " "more than one was found.\n"); ret = 1; } stdin_occupied = true; } } if (!ret) { if (dump_cmdline) dump_opt_list(td); ret = add_job(td, name, 0, 0, type); } else { log_err("fio: job %s dropped\n", name); put_job(td); } for (i = 0; i < num_opts; i++) free(opts[i]); num_opts = 0; } while (!ret); if (dump_cmdline) log_info("\n"); i = 0; while (i < nr_job_sections) { free(job_sections[i]); i++; } free(job_sections); job_sections = NULL; nr_job_sections = 0; free(opts); out: free(string); if (!nested) free(name); if (!is_buf && f != stdin) fclose(f); return ret; } int parse_jobs_ini(char *file, int is_buf, int stonewall_flag, int type) { return __parse_jobs_ini(NULL, file, is_buf, stonewall_flag, type, 0, NULL, NULL, NULL, NULL); } static int fill_def_thread(void) { memset(&def_thread, 0, sizeof(def_thread)); INIT_FLIST_HEAD(&def_thread.opt_list); fio_getaffinity(getpid(), &def_thread.o.cpumask); def_thread.o.error_dump = 1; /* * fill default options */ fio_fill_default_options(&def_thread); return 0; } static void show_debug_categories(void) { #ifdef FIO_INC_DEBUG const struct debug_level *dl = &debug_levels[0]; int curlen, first = 1; curlen = 0; while (dl->name) { int has_next = (dl + 1)->name != NULL; if (first || curlen + strlen(dl->name) >= 80) { if (!first) { printf("\n"); curlen = 0; } curlen += printf("\t\t\t%s", dl->name); curlen += 3 * (8 - 1); if (has_next) curlen += printf(","); } else { curlen += printf("%s", dl->name); if (has_next) curlen += printf(","); } dl++; first = 0; } printf("\n"); #endif } /* * Following options aren't printed by usage(). * --append-terse - Equivalent to --output-format=terse, see f6a7df53. * --latency-log - Deprecated option. */ static void usage(const char *name) { printf("%s\n", fio_version_string); printf("%s [options] [job options] \n", name); printf(" --debug=options\tEnable debug logging. May be one/more of:\n"); show_debug_categories(); printf(" --parse-only\t\tParse options only, don't start any IO\n"); printf(" --merge-blktrace-only\tMerge blktraces only, don't start any IO\n"); printf(" --output\t\tWrite output to file\n"); printf(" --bandwidth-log\tGenerate aggregate bandwidth logs\n"); printf(" --minimal\t\tMinimal (terse) output\n"); printf(" --output-format=type\tOutput format (terse,json,json+,normal)\n"); printf(" --terse-version=type\tSet terse version output format" " (default 3, or 2 or 4 or 5)\n"); printf(" --version\t\tPrint version info and exit\n"); printf(" --help\t\tPrint this page\n"); printf(" --cpuclock-test\tPerform test/validation of CPU clock\n"); printf(" --crctest=[type]\tTest speed of checksum functions\n"); printf(" --cmdhelp=cmd\t\tPrint command help, \"all\" for all of" " them\n"); printf(" --enghelp=engine\tPrint ioengine help, or list" " available ioengines\n"); printf(" --enghelp=engine,cmd\tPrint help for an ioengine" " cmd\n"); printf(" --showcmd\t\tTurn a job file into command line options\n"); printf(" --eta=when\t\tWhen ETA estimate should be printed\n"); printf(" \t\tMay be \"always\", \"never\" or \"auto\"\n"); printf(" --eta-newline=t\tForce a new line for every 't'"); printf(" period passed\n"); printf(" --status-interval=t\tForce full status dump every"); printf(" 't' period passed\n"); printf(" --readonly\t\tTurn on safety read-only checks, preventing" " writes\n"); printf(" --section=name\tOnly run specified section in job file," " multiple sections can be specified\n"); printf(" --alloc-size=kb\tSet smalloc pool to this size in kb" " (def 16384)\n"); printf(" --warnings-fatal\tFio parser warnings are fatal\n"); printf(" --max-jobs=nr\t\tMaximum number of threads/processes to support\n"); printf(" --server=args\t\tStart a backend fio server\n"); printf(" --daemonize=pidfile\tBackground fio server, write pid to file\n"); printf(" --client=hostname\tTalk to remote backend(s) fio server at hostname\n"); printf(" --remote-config=file\tTell fio server to load this local job file\n"); printf(" --idle-prof=option\tReport cpu idleness on a system or percpu basis\n" "\t\t\t(option=system,percpu) or run unit work\n" "\t\t\tcalibration only (option=calibrate)\n"); #ifdef CONFIG_ZLIB printf(" --inflate-log=log\tInflate and output compressed log\n"); #endif printf(" --trigger-file=file\tExecute trigger cmd when file exists\n"); printf(" --trigger-timeout=t\tExecute trigger at this time\n"); printf(" --trigger=cmd\t\tSet this command as local trigger\n"); printf(" --trigger-remote=cmd\tSet this command as remote trigger\n"); printf(" --aux-path=path\tUse this path for fio state generated files\n"); printf("\nFio was written by Jens Axboe \n"); } #ifdef FIO_INC_DEBUG const struct debug_level debug_levels[] = { { .name = "process", .help = "Process creation/exit logging", .shift = FD_PROCESS, }, { .name = "file", .help = "File related action logging", .shift = FD_FILE, }, { .name = "io", .help = "IO and IO engine action logging (offsets, queue, completions, etc)", .shift = FD_IO, }, { .name = "mem", .help = "Memory allocation/freeing logging", .shift = FD_MEM, }, { .name = "blktrace", .help = "blktrace action logging", .shift = FD_BLKTRACE, }, { .name = "verify", .help = "IO verification action logging", .shift = FD_VERIFY, }, { .name = "random", .help = "Random generation logging", .shift = FD_RANDOM, }, { .name = "parse", .help = "Parser logging", .shift = FD_PARSE, }, { .name = "diskutil", .help = "Disk utility logging actions", .shift = FD_DISKUTIL, }, { .name = "job", .help = "Logging related to creating/destroying jobs", .shift = FD_JOB, }, { .name = "mutex", .help = "Mutex logging", .shift = FD_MUTEX }, { .name = "profile", .help = "Logging related to profiles", .shift = FD_PROFILE, }, { .name = "time", .help = "Logging related to time keeping functions", .shift = FD_TIME, }, { .name = "net", .help = "Network logging", .shift = FD_NET, }, { .name = "rate", .help = "Rate logging", .shift = FD_RATE, }, { .name = "compress", .help = "Log compression logging", .shift = FD_COMPRESS, }, { .name = "steadystate", .help = "Steady state detection logging", .shift = FD_STEADYSTATE, }, { .name = "helperthread", .help = "Helper thread logging", .shift = FD_HELPERTHREAD, }, { .name = "zbd", .help = "Zoned Block Device logging", .shift = FD_ZBD, }, { .name = NULL, }, }; static int set_debug(const char *string) { const struct debug_level *dl; char *p = (char *) string; char *opt; int i; if (!string) return 0; if (!strcmp(string, "?") || !strcmp(string, "help")) { log_info("fio: dumping debug options:"); for (i = 0; debug_levels[i].name; i++) { dl = &debug_levels[i]; log_info("%s,", dl->name); } log_info("all\n"); return 1; } while ((opt = strsep(&p, ",")) != NULL) { int found = 0; if (!strncmp(opt, "all", 3)) { log_info("fio: set all debug options\n"); fio_debug = ~0UL; continue; } for (i = 0; debug_levels[i].name; i++) { dl = &debug_levels[i]; found = !strncmp(opt, dl->name, strlen(dl->name)); if (!found) continue; if (dl->shift == FD_JOB) { opt = strchr(opt, ':'); if (!opt) { log_err("fio: missing job number\n"); break; } opt++; fio_debug_jobno = atoi(opt); log_info("fio: set debug jobno %d\n", fio_debug_jobno); } else { log_info("fio: set debug option %s\n", opt); fio_debug |= (1UL << dl->shift); } break; } if (!found) log_err("fio: debug mask %s not found\n", opt); } return 0; } #else static int set_debug(const char *string) { log_err("fio: debug tracing not included in build\n"); return 1; } #endif static void fio_options_fill_optstring(void) { char *ostr = cmd_optstr; int i, c; c = i = 0; while (l_opts[i].name) { ostr[c++] = l_opts[i].val; if (l_opts[i].has_arg == required_argument) ostr[c++] = ':'; else if (l_opts[i].has_arg == optional_argument) { ostr[c++] = ':'; ostr[c++] = ':'; } i++; } ostr[c] = '\0'; } static int client_flag_set(char c) { int i; i = 0; while (l_opts[i].name) { int val = l_opts[i].val; if (c == (val & 0xff)) return (val & FIO_CLIENT_FLAG); i++; } return 0; } static void parse_cmd_client(void *client, char *opt) { fio_client_add_cmd_option(client, opt); } static void show_closest_option(const char *name) { int best_option, best_distance; int i, distance; while (*name == '-') name++; best_option = -1; best_distance = INT_MAX; i = 0; while (l_opts[i].name) { distance = string_distance(name, l_opts[i].name); if (distance < best_distance) { best_distance = distance; best_option = i; } i++; } if (best_option != -1 && string_distance_ok(name, best_distance)) log_err("Did you mean %s?\n", l_opts[best_option].name); } static int parse_output_format(const char *optarg) { char *p, *orig, *opt; int ret = 0; p = orig = strdup(optarg); output_format = 0; while ((opt = strsep(&p, ",")) != NULL) { if (!strcmp(opt, "minimal") || !strcmp(opt, "terse") || !strcmp(opt, "csv")) output_format |= FIO_OUTPUT_TERSE; else if (!strcmp(opt, "json")) output_format |= FIO_OUTPUT_JSON; else if (!strcmp(opt, "json+")) output_format |= (FIO_OUTPUT_JSON | FIO_OUTPUT_JSON_PLUS); else if (!strcmp(opt, "normal")) output_format |= FIO_OUTPUT_NORMAL; else { log_err("fio: invalid output format %s\n", opt); ret = 1; break; } } free(orig); return ret; } int parse_cmd_line(int argc, char *argv[], int client_type) { struct thread_data *td = NULL; int c, ini_idx = 0, lidx, ret = 0, do_exit = 0, exit_val = 0; char *ostr = cmd_optstr; char *pid_file = NULL; void *cur_client = NULL; bool backend = false; /* * Reset optind handling, since we may call this multiple times * for the backend. */ optind = 1; while ((c = getopt_long_only(argc, argv, ostr, l_opts, &lidx)) != -1) { if ((c & FIO_CLIENT_FLAG) || client_flag_set(c)) { parse_cmd_client(cur_client, argv[optind - 1]); c &= ~FIO_CLIENT_FLAG; } switch (c) { case 'a': smalloc_pool_size = atoi(optarg); smalloc_pool_size <<= 10; sinit(); break; case 'l': log_err("fio: --latency-log is deprecated. Use per-job latency log options.\n"); do_exit++; exit_val = 1; break; case 'b': write_bw_log = true; break; case 'o': { FILE *tmp; if (f_out && f_out != stdout) fclose(f_out); tmp = fopen(optarg, "w+"); if (!tmp) { log_err("fio: output file open error: %s\n", strerror(errno)); exit_val = 1; do_exit++; break; } f_err = f_out = tmp; break; } case 'm': output_format = FIO_OUTPUT_TERSE; break; case 'F': if (parse_output_format(optarg)) { log_err("fio: failed parsing output-format\n"); exit_val = 1; do_exit++; break; } break; case 'f': output_format |= FIO_OUTPUT_TERSE; break; case 'h': did_arg = true; if (!cur_client) { usage(argv[0]); do_exit++; } break; case 'c': did_arg = true; if (!cur_client) { fio_show_option_help(optarg); do_exit++; } break; case 'i': did_arg = true; if (!cur_client) { exit_val = fio_show_ioengine_help(optarg); do_exit++; } break; case 's': did_arg = true; dump_cmdline = true; break; case 'r': read_only = 1; break; case 'v': did_arg = true; if (!cur_client) { log_info("%s\n", fio_version_string); do_exit++; } break; case 'V': terse_version = atoi(optarg); if (!(terse_version >= 2 && terse_version <= 5)) { log_err("fio: bad terse version format\n"); exit_val = 1; do_exit++; } break; case 'e': if (!strcmp("always", optarg)) eta_print = FIO_ETA_ALWAYS; else if (!strcmp("never", optarg)) eta_print = FIO_ETA_NEVER; break; case 'E': { long long t = 0; if (check_str_time(optarg, &t, 1)) { log_err("fio: failed parsing eta time %s\n", optarg); exit_val = 1; do_exit++; break; } eta_new_line = t / 1000; if (!eta_new_line) { log_err("fio: eta new line time too short\n"); exit_val = 1; do_exit++; } break; } case 'O': { long long t = 0; if (check_str_time(optarg, &t, 1)) { log_err("fio: failed parsing eta interval %s\n", optarg); exit_val = 1; do_exit++; break; } eta_interval_msec = t / 1000; if (eta_interval_msec < DISK_UTIL_MSEC) { log_err("fio: eta interval time too short (%umsec min)\n", DISK_UTIL_MSEC); exit_val = 1; do_exit++; } break; } case 'd': if (set_debug(optarg)) do_exit++; break; case 'P': did_arg = true; parse_only = true; break; case 'x': { size_t new_size; if (!strcmp(optarg, "global")) { log_err("fio: can't use global as only " "section\n"); do_exit++; exit_val = 1; break; } new_size = (nr_job_sections + 1) * sizeof(char *); job_sections = realloc(job_sections, new_size); job_sections[nr_job_sections] = strdup(optarg); nr_job_sections++; break; } #ifdef CONFIG_ZLIB case 'X': exit_val = iolog_file_inflate(optarg); did_arg = true; do_exit++; break; #endif case 'p': did_arg = true; if (exec_profile) free(exec_profile); exec_profile = strdup(optarg); break; case FIO_GETOPT_JOB: { const char *opt = l_opts[lidx].name; char *val = optarg; if (!strncmp(opt, "name", 4) && td) { ret = add_job(td, td->o.name ?: "fio", 0, 0, client_type); if (ret) goto out_free; td = NULL; did_arg = true; } if (!td) { int is_section = !strncmp(opt, "name", 4); int global = 0; if (!is_section || !strncmp(val, "global", 6)) global = 1; if (is_section && skip_this_section(val)) continue; td = get_new_job(global, &def_thread, true, NULL); if (!td || ioengine_load(td)) { if (td) { put_job(td); td = NULL; } do_exit++; exit_val = 1; break; } fio_options_set_ioengine_opts(l_opts, td); } if ((!val || !strlen(val)) && l_opts[lidx].has_arg == required_argument) { log_err("fio: option %s requires an argument\n", opt); ret = 1; } else ret = fio_cmd_option_parse(td, opt, val); if (ret) { if (td) { put_job(td); td = NULL; } do_exit++; exit_val = 1; } if (!ret && !strcmp(opt, "ioengine")) { if (ioengine_load(td)) { put_job(td); td = NULL; do_exit++; exit_val = 1; break; } fio_options_set_ioengine_opts(l_opts, td); } break; } case FIO_GETOPT_IOENGINE: { const char *opt = l_opts[lidx].name; char *val = optarg; if (!td) break; ret = fio_cmd_ioengine_option_parse(td, opt, val); if (ret) { if (td) { put_job(td); td = NULL; } do_exit++; exit_val = 1; } break; } case 'w': warnings_fatal = 1; break; case 'j': /* we don't track/need this anymore, ignore it */ break; case 'S': did_arg = true; #ifndef CONFIG_NO_SHM if (nr_clients) { log_err("fio: can't be both client and server\n"); do_exit++; exit_val = 1; break; } if (optarg) fio_server_set_arg(optarg); is_backend = true; backend = true; #else log_err("fio: client/server requires SHM support\n"); do_exit++; exit_val = 1; #endif break; #ifdef WIN32 case 'N': did_arg = true; fio_server_internal_set(optarg); break; #endif case 'D': if (pid_file) free(pid_file); pid_file = strdup(optarg); break; case 'I': if ((ret = fio_idle_prof_parse_opt(optarg))) { /* exit on error and calibration only */ did_arg = true; do_exit++; if (ret == -1) exit_val = 1; } break; case 'C': did_arg = true; if (is_backend) { log_err("fio: can't be both client and server\n"); do_exit++; exit_val = 1; break; } /* if --client parameter contains a pathname */ if (0 == access(optarg, R_OK)) { /* file contains a list of host addrs or names */ char hostaddr[PATH_MAX] = {0}; char formatstr[8]; FILE * hostf = fopen(optarg, "r"); if (!hostf) { log_err("fio: could not open client list file %s for read\n", optarg); do_exit++; exit_val = 1; break; } sprintf(formatstr, "%%%ds", PATH_MAX - 1); /* * read at most PATH_MAX-1 chars from each * record in this file */ while (fscanf(hostf, formatstr, hostaddr) == 1) { /* expect EVERY host in file to be valid */ if (fio_client_add(&fio_client_ops, hostaddr, &cur_client)) { log_err("fio: failed adding client %s from file %s\n", hostaddr, optarg); do_exit++; exit_val = 1; break; } } fclose(hostf); break; /* no possibility of job file for "this client only" */ } if (fio_client_add(&fio_client_ops, optarg, &cur_client)) { log_err("fio: failed adding client %s\n", optarg); do_exit++; exit_val = 1; break; } /* * If the next argument exists and isn't an option, * assume it's a job file for this client only. */ while (optind < argc) { if (!strncmp(argv[optind], "--", 2) || !strncmp(argv[optind], "-", 1)) break; if (fio_client_add_ini_file(cur_client, argv[optind], false)) break; optind++; } break; case 'R': did_arg = true; if (fio_client_add_ini_file(cur_client, optarg, true)) { do_exit++; exit_val = 1; } break; case 'T': did_arg = true; do_exit++; exit_val = fio_monotonic_clocktest(1); break; case 'G': did_arg = true; do_exit++; exit_val = fio_crctest(optarg); break; case 'M': did_arg = true; do_exit++; exit_val = fio_memcpy_test(optarg); break; case 'L': { long long val; if (check_str_time(optarg, &val, 1)) { log_err("fio: failed parsing time %s\n", optarg); do_exit++; exit_val = 1; break; } if (val < 1000) { log_err("fio: status interval too small\n"); do_exit++; exit_val = 1; } status_interval = val / 1000; break; } case 'W': if (trigger_file) free(trigger_file); trigger_file = strdup(optarg); break; case 'H': if (trigger_cmd) free(trigger_cmd); trigger_cmd = strdup(optarg); break; case 'J': if (trigger_remote_cmd) free(trigger_remote_cmd); trigger_remote_cmd = strdup(optarg); break; case 'K': if (aux_path) free(aux_path); aux_path = strdup(optarg); break; case 'B': if (check_str_time(optarg, &trigger_timeout, 1)) { log_err("fio: failed parsing time %s\n", optarg); do_exit++; exit_val = 1; } trigger_timeout /= 1000000; break; case 'A': did_arg = true; merge_blktrace_only = true; break; case '?': log_err("%s: unrecognized option '%s'\n", argv[0], argv[optind - 1]); show_closest_option(argv[optind - 1]); fio_fallthrough; default: do_exit++; exit_val = 1; break; } if (do_exit) break; } if (do_exit && !(is_backend || nr_clients)) exit(exit_val); if (nr_clients && fio_clients_connect()) exit(1); if (is_backend && backend) return fio_start_server(pid_file); else if (pid_file) free(pid_file); if (td) { if (!ret) { ret = add_job(td, td->o.name ?: "fio", 0, 0, client_type); if (ret) exit(1); } } while (!ret && optind < argc) { ini_idx++; ini_file = realloc(ini_file, ini_idx * sizeof(char *)); ini_file[ini_idx - 1] = strdup(argv[optind]); optind++; } out_free: return ini_idx; } int fio_init_options(void) { f_out = stdout; f_err = stderr; fio_options_fill_optstring(); fio_options_dup_and_init(l_opts); atexit(free_shm); if (fill_def_thread()) return 1; return 0; } extern int fio_check_options(struct thread_options *); int parse_options(int argc, char *argv[]) { const int type = FIO_CLIENT_TYPE_CLI; int job_files, i; if (fio_init_options()) return 1; if (fio_test_cconv(&def_thread.o)) log_err("fio: failed internal cconv test\n"); job_files = parse_cmd_line(argc, argv, type); if (job_files > 0) { for (i = 0; i < job_files; i++) { if (i && fill_def_thread()) return 1; if (nr_clients) { if (fio_clients_send_ini(ini_file[i])) return 1; free(ini_file[i]); } else if (!is_backend) { if (parse_jobs_ini(ini_file[i], 0, i, type)) return 1; free(ini_file[i]); } } } else if (nr_clients) { if (fill_def_thread()) return 1; if (fio_clients_send_ini(NULL)) return 1; } free(ini_file); fio_options_free(&def_thread); filesetup_mem_free(); if (!thread_number) { if (parse_dryrun()) return 0; if (exec_profile) return 0; if (is_backend || nr_clients) return 0; if (did_arg) return 0; log_err("No job(s) defined\n\n"); usage(argv[0]); return 1; } if (output_format & FIO_OUTPUT_NORMAL) log_info("%s\n", fio_version_string); return 0; } void options_default_fill(struct thread_options *o) { memcpy(o, &def_thread.o, sizeof(*o)); } struct thread_data *get_global_options(void) { return &def_thread; } fio-3.39/io_ddir.h000066400000000000000000000043511476262051600140230ustar00rootroot00000000000000#ifndef FIO_DDIR_H #define FIO_DDIR_H enum fio_ddir { DDIR_READ = 0, DDIR_WRITE = 1, DDIR_TRIM = 2, DDIR_SYNC = 3, DDIR_DATASYNC, DDIR_SYNC_FILE_RANGE, DDIR_WAIT, DDIR_LAST, DDIR_INVAL = -1, DDIR_TIMEOUT = -2, DDIR_RWDIR_CNT = 3, DDIR_RWDIR_SYNC_CNT = 4, }; #define for_each_rw_ddir(ddir) for (enum fio_ddir ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) static inline const char *io_ddir_name(enum fio_ddir ddir) { static const char *name[] = { "read", "write", "trim", "sync", "datasync", "sync_file_range", "wait", }; if (ddir >= 0 && ddir < DDIR_LAST) return name[ddir]; return "invalid"; } enum td_ddir { TD_DDIR_READ = 1 << 0, TD_DDIR_WRITE = 1 << 1, TD_DDIR_RAND = 1 << 2, TD_DDIR_TRIM = 1 << 3, TD_DDIR_RW = TD_DDIR_READ | TD_DDIR_WRITE, TD_DDIR_RANDREAD = TD_DDIR_READ | TD_DDIR_RAND, TD_DDIR_RANDWRITE = TD_DDIR_WRITE | TD_DDIR_RAND, TD_DDIR_RANDRW = TD_DDIR_RW | TD_DDIR_RAND, TD_DDIR_RANDTRIM = TD_DDIR_TRIM | TD_DDIR_RAND, TD_DDIR_TRIMWRITE = TD_DDIR_TRIM | TD_DDIR_WRITE, TD_DDIR_RANDTRIMWRITE = TD_DDIR_RANDTRIM | TD_DDIR_WRITE, }; #define td_read(td) ((td)->o.td_ddir & TD_DDIR_READ) #define td_write(td) ((td)->o.td_ddir & TD_DDIR_WRITE) #define td_trim(td) ((td)->o.td_ddir & TD_DDIR_TRIM) #define td_rw(td) (((td)->o.td_ddir & TD_DDIR_RW) == TD_DDIR_RW) #define td_random(td) ((td)->o.td_ddir & TD_DDIR_RAND) #define file_randommap(td, f) (!(td)->o.norandommap && fio_file_axmap((f))) #define td_trimwrite(td) (((td)->o.td_ddir & TD_DDIR_TRIMWRITE) \ == TD_DDIR_TRIMWRITE) #define td_randtrimwrite(td) (((td)->o.td_ddir & TD_DDIR_RANDTRIMWRITE) \ == TD_DDIR_RANDTRIMWRITE) static inline int ddir_sync(enum fio_ddir ddir) { return ddir == DDIR_SYNC || ddir == DDIR_DATASYNC || ddir == DDIR_SYNC_FILE_RANGE; } static inline int ddir_rw(enum fio_ddir ddir) { return ddir == DDIR_READ || ddir == DDIR_WRITE || ddir == DDIR_TRIM; } static inline const char *ddir_str(enum td_ddir ddir) { static const char *__str[] = { NULL, "read", "write", "rw", "rand", "randread", "randwrite", "randrw", "trim", NULL, "trimwrite", NULL, "randtrim", NULL, "randtrimwrite" }; return __str[ddir]; } #define ddir_rw_sum(arr) \ ((arr)[DDIR_READ] + (arr)[DDIR_WRITE] + (arr)[DDIR_TRIM]) #endif fio-3.39/io_u.c000066400000000000000000001570651476262051600133530ustar00rootroot00000000000000#include #include #include #include "fio.h" #include "verify.h" #include "trim.h" #include "lib/rand.h" #include "lib/axmap.h" #include "err.h" #include "lib/pow2.h" #include "minmax.h" #include "zbd.h" struct io_completion_data { int nr; /* input */ int error; /* output */ uint64_t bytes_done[DDIR_RWDIR_CNT]; /* output */ struct timespec time; /* output */ }; /* * The ->io_axmap contains a map of blocks we have or have not done io * to yet. Used to make sure we cover the entire range in a fair fashion. */ static bool random_map_free(struct fio_file *f, const uint64_t block) { return !axmap_isset(f->io_axmap, block); } /* * Mark a given offset as used in the map. */ static uint64_t mark_random_map(struct thread_data *td, struct io_u *io_u, uint64_t offset, uint64_t buflen) { unsigned long long min_bs = td->o.min_bs[io_u->ddir]; struct fio_file *f = io_u->file; unsigned long long nr_blocks; uint64_t block; block = (offset - f->file_offset) / (uint64_t) min_bs; nr_blocks = (buflen + min_bs - 1) / min_bs; assert(nr_blocks > 0); if (!(io_u->flags & IO_U_F_BUSY_OK)) { nr_blocks = axmap_set_nr(f->io_axmap, block, nr_blocks); assert(nr_blocks > 0); } if ((nr_blocks * min_bs) < buflen) buflen = nr_blocks * min_bs; return buflen; } static uint64_t last_block(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir) { uint64_t max_blocks; uint64_t max_size; assert(ddir_rw(ddir)); /* * Hmm, should we make sure that ->io_size <= ->real_file_size? * -> not for now since there is code assuming it could go either. */ max_size = f->io_size; if (max_size > f->real_file_size) max_size = f->real_file_size; if (td->o.zone_mode == ZONE_MODE_STRIDED && td->o.zone_range) max_size = td->o.zone_range; if (td->o.min_bs[ddir] > td->o.ba[ddir]) max_size -= td->o.min_bs[ddir] - td->o.ba[ddir]; max_blocks = max_size / (uint64_t) td->o.ba[ddir]; if (!max_blocks) return 0; return max_blocks; } static int __get_next_rand_offset(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir, uint64_t *b, uint64_t lastb) { uint64_t r; if (td->o.random_generator == FIO_RAND_GEN_TAUSWORTHE || td->o.random_generator == FIO_RAND_GEN_TAUSWORTHE64) { r = __rand(&td->random_state); dprint(FD_RANDOM, "off rand %llu\n", (unsigned long long) r); *b = lastb * (r / (rand_max(&td->random_state) + 1.0)); } else { uint64_t off = 0; assert(fio_file_lfsr(f)); if (lfsr_next(&f->lfsr, &off)) return 1; *b = off; } /* * if we are not maintaining a random map, we are done. */ if (!file_randommap(td, f)) goto ret; /* * calculate map offset and check if it's free */ if (random_map_free(f, *b)) goto ret; dprint(FD_RANDOM, "get_next_rand_offset: offset %llu busy\n", (unsigned long long) *b); *b = axmap_next_free(f->io_axmap, *b); if (*b == (uint64_t) -1ULL) return 1; ret: return 0; } static int __get_next_rand_offset_zipf(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir, uint64_t *b) { *b = zipf_next(&f->zipf); return 0; } static int __get_next_rand_offset_pareto(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir, uint64_t *b) { *b = pareto_next(&f->zipf); return 0; } static int __get_next_rand_offset_gauss(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir, uint64_t *b) { *b = gauss_next(&f->gauss); return 0; } static int __get_next_rand_offset_zoned_abs(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir, uint64_t *b) { struct zone_split_index *zsi; uint64_t lastb, send, stotal; unsigned int v; lastb = last_block(td, f, ddir); if (!lastb) return 1; if (!td->o.zone_split_nr[ddir]) { bail: return __get_next_rand_offset(td, f, ddir, b, lastb); } /* * Generate a value, v, between 1 and 100, both inclusive */ v = rand_between(&td->zone_state, 1, 100); /* * Find our generated table. 'send' is the end block of this zone, * 'stotal' is our start offset. */ zsi = &td->zone_state_index[ddir][v - 1]; stotal = zsi->size_prev / td->o.ba[ddir]; send = zsi->size / td->o.ba[ddir]; /* * Should never happen */ if (send == -1U) { if (!fio_did_warn(FIO_WARN_ZONED_BUG)) log_err("fio: bug in zoned generation\n"); goto bail; } else if (send > lastb) { /* * This happens if the user specifies ranges that exceed * the file/device size. We can't handle that gracefully, * so error and exit. */ log_err("fio: zoned_abs sizes exceed file size\n"); return 1; } /* * Generate index from 0..send-stotal */ if (__get_next_rand_offset(td, f, ddir, b, send - stotal) == 1) return 1; *b += stotal; return 0; } static int __get_next_rand_offset_zoned(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir, uint64_t *b) { unsigned int v, send, stotal; uint64_t offset, lastb; struct zone_split_index *zsi; lastb = last_block(td, f, ddir); if (!lastb) return 1; if (!td->o.zone_split_nr[ddir]) { bail: return __get_next_rand_offset(td, f, ddir, b, lastb); } /* * Generate a value, v, between 1 and 100, both inclusive */ v = rand_between(&td->zone_state, 1, 100); zsi = &td->zone_state_index[ddir][v - 1]; stotal = zsi->size_perc_prev; send = zsi->size_perc; /* * Should never happen */ if (send == -1U) { if (!fio_did_warn(FIO_WARN_ZONED_BUG)) log_err("fio: bug in zoned generation\n"); goto bail; } /* * 'send' is some percentage below or equal to 100 that * marks the end of the current IO range. 'stotal' marks * the start, in percent. */ if (stotal) offset = stotal * lastb / 100ULL; else offset = 0; lastb = lastb * (send - stotal) / 100ULL; /* * Generate index from 0..send-of-lastb */ if (__get_next_rand_offset(td, f, ddir, b, lastb) == 1) return 1; /* * Add our start offset, if any */ if (offset) *b += offset; return 0; } static int get_next_rand_offset(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir, uint64_t *b) { if (td->o.random_distribution == FIO_RAND_DIST_RANDOM) { uint64_t lastb; lastb = last_block(td, f, ddir); if (!lastb) return 1; return __get_next_rand_offset(td, f, ddir, b, lastb); } else if (td->o.random_distribution == FIO_RAND_DIST_ZIPF) return __get_next_rand_offset_zipf(td, f, ddir, b); else if (td->o.random_distribution == FIO_RAND_DIST_PARETO) return __get_next_rand_offset_pareto(td, f, ddir, b); else if (td->o.random_distribution == FIO_RAND_DIST_GAUSS) return __get_next_rand_offset_gauss(td, f, ddir, b); else if (td->o.random_distribution == FIO_RAND_DIST_ZONED) return __get_next_rand_offset_zoned(td, f, ddir, b); else if (td->o.random_distribution == FIO_RAND_DIST_ZONED_ABS) return __get_next_rand_offset_zoned_abs(td, f, ddir, b); log_err("fio: unknown random distribution: %d\n", td->o.random_distribution); return 1; } static bool should_do_random(struct thread_data *td, enum fio_ddir ddir) { unsigned int v; if (td->o.perc_rand[ddir] == 100) return true; v = rand_between(&td->seq_rand_state[ddir], 1, 100); return v <= td->o.perc_rand[ddir]; } static void loop_cache_invalidate(struct thread_data *td, struct fio_file *f) { struct thread_options *o = &td->o; if (o->invalidate_cache && !o->odirect) { int fio_unused ret; ret = file_invalidate_cache(td, f); } } static int get_next_rand_block(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir, uint64_t *b) { if (!get_next_rand_offset(td, f, ddir, b)) return 0; if (td->o.time_based || (td->o.file_service_type & __FIO_FSERVICE_NONUNIFORM)) { fio_file_reset(td, f); loop_cache_invalidate(td, f); if (!get_next_rand_offset(td, f, ddir, b)) return 0; } dprint(FD_IO, "%s: rand offset failed, last=%llu, size=%llu\n", f->file_name, (unsigned long long) f->last_pos[ddir], (unsigned long long) f->real_file_size); return 1; } static int get_next_seq_offset(struct thread_data *td, struct fio_file *f, enum fio_ddir ddir, uint64_t *offset) { struct thread_options *o = &td->o; assert(ddir_rw(ddir)); /* * If we reach the end for a time based run, reset us back to 0 * and invalidate the cache, if we need to. */ if (f->last_pos[ddir] >= f->io_size + get_start_offset(td, f) && o->time_based && o->nr_files == 1) { f->last_pos[ddir] = f->file_offset; loop_cache_invalidate(td, f); } /* * If we reach the end for a rw-io-size based run, reset us back to 0 * and invalidate the cache, if we need to. */ if (td_rw(td) && o->io_size > o->size) { if (f->last_pos[ddir] >= f->io_size + get_start_offset(td, f)) { f->last_pos[ddir] = f->file_offset; loop_cache_invalidate(td, f); } } if (f->last_pos[ddir] < f->real_file_size) { uint64_t pos; /* * Only rewind if we already hit the end */ if (f->last_pos[ddir] == f->file_offset && f->file_offset && o->ddir_seq_add < 0) { if (f->real_file_size > f->io_size) f->last_pos[ddir] = f->io_size; else f->last_pos[ddir] = f->real_file_size; } pos = f->last_pos[ddir] - f->file_offset; if (pos && o->ddir_seq_add) { pos += o->ddir_seq_add; /* * If we reach beyond the end of the file * with holed IO, wrap around to the * beginning again. If we're doing backwards IO, * wrap to the end. */ if (pos >= f->real_file_size) { if (o->ddir_seq_add > 0) pos = f->file_offset; else { if (f->real_file_size > f->io_size) pos = f->io_size; else pos = f->real_file_size; pos += o->ddir_seq_add; } } } *offset = pos; return 0; } return 1; } static int get_next_block(struct thread_data *td, struct io_u *io_u, enum fio_ddir ddir, int rw_seq, bool *is_random) { struct fio_file *f = io_u->file; uint64_t b, offset; int ret; assert(ddir_rw(ddir)); b = offset = -1ULL; if (td_randtrimwrite(td) && ddir == DDIR_WRITE) { /* don't mark randommap for these writes */ io_u_set(td, io_u, IO_U_F_BUSY_OK); offset = f->last_start[DDIR_TRIM]; *is_random = true; ret = 0; } else if (rw_seq) { if (td_random(td)) { if (should_do_random(td, ddir)) { ret = get_next_rand_block(td, f, ddir, &b); *is_random = true; } else { *is_random = false; io_u_set(td, io_u, IO_U_F_BUSY_OK); ret = get_next_seq_offset(td, f, ddir, &offset); if (ret) ret = get_next_rand_block(td, f, ddir, &b); } } else { *is_random = false; ret = get_next_seq_offset(td, f, ddir, &offset); } } else { io_u_set(td, io_u, IO_U_F_BUSY_OK); *is_random = false; if (td->o.rw_seq == RW_SEQ_SEQ) { ret = get_next_seq_offset(td, f, ddir, &offset); if (ret) { ret = get_next_rand_block(td, f, ddir, &b); *is_random = false; } } else if (td->o.rw_seq == RW_SEQ_IDENT) { if (f->last_start[ddir] != -1ULL) offset = f->last_start[ddir] - f->file_offset; else offset = 0; ret = 0; } else { log_err("fio: unknown rw_seq=%d\n", td->o.rw_seq); ret = 1; } } if (!ret) { if (offset != -1ULL) io_u->offset = offset; else if (b != -1ULL) io_u->offset = b * td->o.ba[ddir]; else { log_err("fio: bug in offset generation: offset=%llu, b=%llu\n", (unsigned long long) offset, (unsigned long long) b); ret = 1; } io_u->verify_offset = io_u->offset; } return ret; } /* * For random io, generate a random new block and see if it's used. Repeat * until we find a free one. For sequential io, just return the end of * the last io issued. */ static int get_next_offset(struct thread_data *td, struct io_u *io_u, bool *is_random) { struct fio_file *f = io_u->file; enum fio_ddir ddir = io_u->ddir; int rw_seq_hit = 0; assert(ddir_rw(ddir)); if (td->o.ddir_seq_nr && !--td->ddir_seq_nr) { rw_seq_hit = 1; td->ddir_seq_nr = td->o.ddir_seq_nr; } if (get_next_block(td, io_u, ddir, rw_seq_hit, is_random)) return 1; if (io_u->offset >= f->io_size) { dprint(FD_IO, "get_next_offset: offset %llu >= io_size %llu\n", (unsigned long long) io_u->offset, (unsigned long long) f->io_size); return 1; } io_u->offset += f->file_offset; if (io_u->offset >= f->real_file_size) { dprint(FD_IO, "get_next_offset: offset %llu >= size %llu\n", (unsigned long long) io_u->offset, (unsigned long long) f->real_file_size); return 1; } /* * For randtrimwrite, we decide whether to issue a trim or a write * based on whether the offsets for the most recent trim and write * operations match. If they don't match that means we just issued a * new trim and the next operation should be a write. If they *do* * match that means we just completed a trim+write pair and the next * command should be a trim. * * This works fine for sequential workloads but for random workloads * it's possible to complete a trim+write pair and then have the next * randomly generated offset match the previous offset. If that happens * we need to alter the offset for the last write operation in order * to ensure that we issue a write operation the next time through. */ if (td_randtrimwrite(td) && ddir == DDIR_TRIM && f->last_start[DDIR_TRIM] == io_u->offset) f->last_start[DDIR_WRITE]--; io_u->verify_offset = io_u->offset; return 0; } static inline bool io_u_fits(struct thread_data *td, struct io_u *io_u, unsigned long long buflen) { struct fio_file *f = io_u->file; return io_u->offset + buflen <= f->io_size + get_start_offset(td, f); } static unsigned long long get_next_buflen(struct thread_data *td, struct io_u *io_u, bool is_random) { int ddir = io_u->ddir; unsigned long long buflen = 0; unsigned long long minbs, maxbs; uint64_t frand_max, r; bool power_2; assert(ddir_rw(ddir)); if (td_randtrimwrite(td) && ddir == DDIR_WRITE) { struct fio_file *f = io_u->file; return f->last_pos[DDIR_TRIM] - f->last_start[DDIR_TRIM]; } if (td->o.bs_is_seq_rand) ddir = is_random ? DDIR_WRITE : DDIR_READ; minbs = td->o.min_bs[ddir]; maxbs = td->o.max_bs[ddir]; if (minbs == maxbs) return minbs; /* * If we can't satisfy the min block size from here, then fail */ if (!io_u_fits(td, io_u, minbs)) return 0; frand_max = rand_max(&td->bsrange_state[ddir]); do { r = __rand(&td->bsrange_state[ddir]); if (!td->o.bssplit_nr[ddir]) { buflen = minbs + (unsigned long long) ((double) maxbs * (r / (frand_max + 1.0))); } else { long long perc = 0; unsigned int i; for (i = 0; i < td->o.bssplit_nr[ddir]; i++) { struct bssplit *bsp = &td->o.bssplit[ddir][i]; if (!bsp->perc) continue; buflen = bsp->bs; perc += bsp->perc; if ((r / perc <= frand_max / 100ULL) && io_u_fits(td, io_u, buflen)) break; } } power_2 = is_power_of_2(minbs); if (!td->o.bs_unaligned && power_2) buflen &= ~(minbs - 1); else if (!td->o.bs_unaligned && !power_2) buflen -= buflen % minbs; if (buflen > maxbs) buflen = maxbs; } while (!io_u_fits(td, io_u, buflen)); return buflen; } static void set_rwmix_bytes(struct thread_data *td) { unsigned int diff; /* * we do time or byte based switch. this is needed because * buffered writes may issue a lot quicker than they complete, * whereas reads do not. */ diff = td->o.rwmix[td->rwmix_ddir ^ 1]; td->rwmix_issues = (td->io_issues[td->rwmix_ddir] * diff) / 100; } static inline enum fio_ddir get_rand_ddir(struct thread_data *td) { unsigned int v; v = rand_between(&td->rwmix_state, 1, 100); if (v <= td->o.rwmix[DDIR_READ]) return DDIR_READ; return DDIR_WRITE; } int io_u_quiesce(struct thread_data *td) { int ret = 0, completed = 0, err = 0; /* * We are going to sleep, ensure that we flush anything pending as * not to skew our latency numbers. * * Changed to only monitor 'in flight' requests here instead of the * td->cur_depth, b/c td->cur_depth does not accurately represent * io's that have been actually submitted to an async engine, * and cur_depth is meaningless for sync engines. */ if (td->io_u_queued || td->cur_depth) td_io_commit(td); while (td->io_u_in_flight) { ret = io_u_queued_complete(td, 1); if (ret > 0) completed += ret; else if (ret < 0) err = ret; } if (td->flags & TD_F_REGROW_LOGS) regrow_logs(td); if (completed) return completed; return err; } static enum fio_ddir rate_ddir(struct thread_data *td, enum fio_ddir ddir) { enum fio_ddir odir = ddir ^ 1; uint64_t usec; uint64_t now; assert(ddir_rw(ddir)); now = utime_since_now(&td->epoch); /* * if rate_next_io_time is in the past, need to catch up to rate */ if (td->rate_next_io_time[ddir] <= now) return ddir; /* * We are ahead of rate in this direction. See if we * should switch. */ if (td_rw(td) && td->o.rwmix[odir]) { /* * Other direction is behind rate, switch */ if (td->rate_next_io_time[odir] <= now) return odir; /* * Both directions are ahead of rate. sleep the min, * switch if necessary */ if (td->rate_next_io_time[ddir] <= td->rate_next_io_time[odir]) { usec = td->rate_next_io_time[ddir] - now; } else { usec = td->rate_next_io_time[odir] - now; ddir = odir; } } else usec = td->rate_next_io_time[ddir] - now; if (td->o.io_submit_mode == IO_MODE_INLINE) io_u_quiesce(td); if (td->o.timeout && ((usec + now) > td->o.timeout)) { /* * check if the usec is capable of taking negative values */ if (now > td->o.timeout) { ddir = DDIR_TIMEOUT; return ddir; } usec = td->o.timeout - now; } usec_sleep(td, usec); now = utime_since_now(&td->epoch); if ((td->o.timeout && (now > td->o.timeout)) || td->terminate) ddir = DDIR_TIMEOUT; return ddir; } /* * Return the data direction for the next io_u. If the job is a * mixed read/write workload, check the rwmix cycle and switch if * necessary. */ static enum fio_ddir get_rw_ddir(struct thread_data *td) { enum fio_ddir ddir; /* * See if it's time to fsync/fdatasync/sync_file_range first, * and if not then move on to check regular I/Os. */ if (should_fsync(td) && td->last_ddir_issued == DDIR_WRITE) { if (td->o.fsync_blocks && td->io_issues[DDIR_WRITE] && !(td->io_issues[DDIR_WRITE] % td->o.fsync_blocks)) return DDIR_SYNC; if (td->o.fdatasync_blocks && td->io_issues[DDIR_WRITE] && !(td->io_issues[DDIR_WRITE] % td->o.fdatasync_blocks)) return DDIR_DATASYNC; if (td->sync_file_range_nr && td->io_issues[DDIR_WRITE] && !(td->io_issues[DDIR_WRITE] % td->sync_file_range_nr)) return DDIR_SYNC_FILE_RANGE; } if (td_rw(td)) { /* * Check if it's time to seed a new data direction. */ if (td->io_issues[td->rwmix_ddir] >= td->rwmix_issues) { /* * Put a top limit on how many bytes we do for * one data direction, to avoid overflowing the * ranges too much */ ddir = get_rand_ddir(td); if (ddir != td->rwmix_ddir) set_rwmix_bytes(td); td->rwmix_ddir = ddir; } ddir = td->rwmix_ddir; } else if (td_read(td)) ddir = DDIR_READ; else if (td_write(td)) ddir = DDIR_WRITE; else if (td_trim(td)) ddir = DDIR_TRIM; else ddir = DDIR_INVAL; if (!should_check_rate(td)) { /* * avoid time-consuming call to utime_since_now() if rate checking * isn't being used. this imrpoves IOPs 50%. See: * https://github.com/axboe/fio/issues/1501#issuecomment-1418327049 */ td->rwmix_ddir = ddir; } else td->rwmix_ddir = rate_ddir(td, ddir); return td->rwmix_ddir; } static void set_rw_ddir(struct thread_data *td, struct io_u *io_u) { enum fio_ddir ddir = get_rw_ddir(td); if (td->o.zone_mode == ZONE_MODE_ZBD) ddir = zbd_adjust_ddir(td, io_u, ddir); if (td_trimwrite(td) && !ddir_sync(ddir)) { struct fio_file *f = io_u->file; if (f->last_start[DDIR_WRITE] == f->last_start[DDIR_TRIM]) ddir = DDIR_TRIM; else ddir = DDIR_WRITE; } io_u->ddir = io_u->acct_ddir = ddir; if (io_u->ddir == DDIR_WRITE && td_ioengine_flagged(td, FIO_BARRIER) && td->o.barrier_blocks && !(td->io_issues[DDIR_WRITE] % td->o.barrier_blocks) && td->io_issues[DDIR_WRITE]) io_u_set(td, io_u, IO_U_F_BARRIER); } void put_file_log(struct thread_data *td, struct fio_file *f) { unsigned int ret = put_file(td, f); if (ret) td_verror(td, ret, "file close"); } void put_io_u(struct thread_data *td, struct io_u *io_u) { const bool needs_lock = td_async_processing(td); zbd_put_io_u(td, io_u); if (td->parent) td = td->parent; if (needs_lock) __td_io_u_lock(td); if (io_u->file && !(io_u->flags & IO_U_F_NO_FILE_PUT)) put_file_log(td, io_u->file); io_u->file = NULL; io_u_set(td, io_u, IO_U_F_FREE); if (io_u->flags & IO_U_F_IN_CUR_DEPTH) { td->cur_depth--; assert(!(td->flags & TD_F_CHILD)); } io_u_qpush(&td->io_u_freelist, io_u); td_io_u_free_notify(td); if (needs_lock) __td_io_u_unlock(td); } void clear_io_u(struct thread_data *td, struct io_u *io_u) { io_u_clear(td, io_u, IO_U_F_FLIGHT); put_io_u(td, io_u); } void requeue_io_u(struct thread_data *td, struct io_u **io_u) { const bool needs_lock = td_async_processing(td); struct io_u *__io_u = *io_u; enum fio_ddir ddir = acct_ddir(__io_u); dprint(FD_IO, "requeue %p\n", __io_u); if (td->parent) td = td->parent; if (needs_lock) __td_io_u_lock(td); io_u_set(td, __io_u, IO_U_F_FREE); if ((__io_u->flags & IO_U_F_FLIGHT) && ddir_rw(ddir)) td->io_issues[ddir]--; io_u_clear(td, __io_u, IO_U_F_FLIGHT); if (__io_u->flags & IO_U_F_IN_CUR_DEPTH) { td->cur_depth--; assert(!(td->flags & TD_F_CHILD)); } io_u_rpush(&td->io_u_requeues, __io_u); td_io_u_free_notify(td); if (needs_lock) __td_io_u_unlock(td); *io_u = NULL; } static void setup_strided_zone_mode(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; assert(td->o.zone_mode == ZONE_MODE_STRIDED); assert(td->o.zone_size); assert(td->o.zone_range); /* * See if it's time to switch to a new zone */ if (td->zone_bytes >= td->o.zone_size) { td->zone_bytes = 0; f->file_offset += td->o.zone_range + td->o.zone_skip; /* * Wrap from the beginning, if we exceed the file size */ if (f->file_offset >= f->real_file_size) f->file_offset = get_start_offset(td, f); f->last_pos[io_u->ddir] = f->file_offset; td->io_skip_bytes += td->o.zone_skip; } /* * If zone_size > zone_range, then maintain the same zone until * zone_bytes >= zone_size. */ if (f->last_pos[io_u->ddir] >= (f->file_offset + td->o.zone_range)) { dprint(FD_IO, "io_u maintain zone offset=%" PRIu64 "/last_pos=%" PRIu64 "\n", f->file_offset, f->last_pos[io_u->ddir]); f->last_pos[io_u->ddir] = f->file_offset; } /* * For random: if 'norandommap' is not set and zone_size > zone_range, * map needs to be reset as it's done with zone_range everytime. */ if ((td->zone_bytes % td->o.zone_range) == 0) fio_file_reset(td, f); } static int fill_multi_range_io_u(struct thread_data *td, struct io_u *io_u) { bool is_random; uint64_t buflen, i = 0; struct trim_range *range; struct fio_file *f = io_u->file; uint8_t *buf; buf = io_u->buf; buflen = 0; while (i < td->o.num_range) { range = (struct trim_range *)buf; if (get_next_offset(td, io_u, &is_random)) { dprint(FD_IO, "io_u %p, failed getting offset\n", io_u); break; } io_u->buflen = get_next_buflen(td, io_u, is_random); if (!io_u->buflen) { dprint(FD_IO, "io_u %p, failed getting buflen\n", io_u); break; } if (io_u->offset + io_u->buflen > io_u->file->real_file_size) { dprint(FD_IO, "io_u %p, off=0x%llx + len=0x%llx exceeds file size=0x%llx\n", io_u, (unsigned long long) io_u->offset, io_u->buflen, (unsigned long long) io_u->file->real_file_size); break; } range->start = io_u->offset; range->len = io_u->buflen; buflen += io_u->buflen; f->last_start[io_u->ddir] = io_u->offset; f->last_pos[io_u->ddir] = io_u->offset + range->len; buf += sizeof(struct trim_range); i++; if (td_random(td) && file_randommap(td, io_u->file)) mark_random_map(td, io_u, io_u->offset, io_u->buflen); dprint_io_u(io_u, "fill"); } if (buflen) { /* * Set buffer length as overall trim length for this IO, and * tell the ioengine about the number of ranges to be trimmed. */ io_u->buflen = buflen; io_u->number_trim = i; return 0; } return 1; } static int fill_io_u(struct thread_data *td, struct io_u *io_u) { bool is_random; uint64_t offset; enum io_u_action ret; if (td_ioengine_flagged(td, FIO_NOIO)) goto out; set_rw_ddir(td, io_u); if (io_u->ddir == DDIR_INVAL || io_u->ddir == DDIR_TIMEOUT) { dprint(FD_IO, "invalid direction received ddir = %d", io_u->ddir); return 1; } /* * fsync() or fdatasync() or trim etc, we are done */ if (!ddir_rw(io_u->ddir)) goto out; if (td->o.zone_mode == ZONE_MODE_STRIDED) setup_strided_zone_mode(td, io_u); else if (td->o.zone_mode == ZONE_MODE_ZBD) setup_zbd_zone_mode(td, io_u); if (multi_range_trim(td, io_u)) { if (fill_multi_range_io_u(td, io_u)) return 1; } else { /* * No log, let the seq/rand engine retrieve the next buflen and * position. */ if (get_next_offset(td, io_u, &is_random)) { dprint(FD_IO, "io_u %p, failed getting offset\n", io_u); return 1; } io_u->buflen = get_next_buflen(td, io_u, is_random); if (!io_u->buflen) { dprint(FD_IO, "io_u %p, failed getting buflen\n", io_u); return 1; } } offset = io_u->offset; if (td->o.zone_mode == ZONE_MODE_ZBD) { ret = zbd_adjust_block(td, io_u); if (ret == io_u_eof) { dprint(FD_IO, "zbd_adjust_block() returned io_u_eof\n"); return 1; } } if (td->o.dp_type != FIO_DP_NONE) dp_fill_dspec_data(td, io_u); if (io_u->offset + io_u->buflen > io_u->file->real_file_size) { dprint(FD_IO, "io_u %p, off=0x%llx + len=0x%llx exceeds file size=0x%llx\n", io_u, (unsigned long long) io_u->offset, io_u->buflen, (unsigned long long) io_u->file->real_file_size); return 1; } /* * mark entry before potentially trimming io_u */ if (!multi_range_trim(td, io_u) && td_random(td) && file_randommap(td, io_u->file)) io_u->buflen = mark_random_map(td, io_u, offset, io_u->buflen); out: if (!multi_range_trim(td, io_u)) dprint_io_u(io_u, "fill"); io_u->verify_offset = io_u->offset; td->zone_bytes += io_u->buflen; return 0; } static void __io_u_mark_map(uint64_t *map, unsigned int nr) { int idx = 0; switch (nr) { default: idx = 6; break; case 33 ... 64: idx = 5; break; case 17 ... 32: idx = 4; break; case 9 ... 16: idx = 3; break; case 5 ... 8: idx = 2; break; case 1 ... 4: idx = 1; fio_fallthrough; case 0: break; } map[idx]++; } void io_u_mark_submit(struct thread_data *td, unsigned int nr) { __io_u_mark_map(td->ts.io_u_submit, nr); td->ts.total_submit++; } void io_u_mark_complete(struct thread_data *td, unsigned int nr) { __io_u_mark_map(td->ts.io_u_complete, nr); td->ts.total_complete++; } void io_u_mark_depth(struct thread_data *td, unsigned int nr) { int idx = 0; switch (td->cur_depth) { default: idx = 6; break; case 32 ... 63: idx = 5; break; case 16 ... 31: idx = 4; break; case 8 ... 15: idx = 3; break; case 4 ... 7: idx = 2; break; case 2 ... 3: idx = 1; fio_fallthrough; case 1: break; } td->ts.io_u_map[idx] += nr; } static void io_u_mark_lat_nsec(struct thread_data *td, unsigned long long nsec) { int idx = 0; assert(nsec < 1000); switch (nsec) { case 750 ... 999: idx = 9; break; case 500 ... 749: idx = 8; break; case 250 ... 499: idx = 7; break; case 100 ... 249: idx = 6; break; case 50 ... 99: idx = 5; break; case 20 ... 49: idx = 4; break; case 10 ... 19: idx = 3; break; case 4 ... 9: idx = 2; break; case 2 ... 3: idx = 1; fio_fallthrough; case 0 ... 1: break; } assert(idx < FIO_IO_U_LAT_N_NR); td->ts.io_u_lat_n[idx]++; } static void io_u_mark_lat_usec(struct thread_data *td, unsigned long long usec) { int idx = 0; assert(usec < 1000 && usec >= 1); switch (usec) { case 750 ... 999: idx = 9; break; case 500 ... 749: idx = 8; break; case 250 ... 499: idx = 7; break; case 100 ... 249: idx = 6; break; case 50 ... 99: idx = 5; break; case 20 ... 49: idx = 4; break; case 10 ... 19: idx = 3; break; case 4 ... 9: idx = 2; break; case 2 ... 3: idx = 1; fio_fallthrough; case 0 ... 1: break; } assert(idx < FIO_IO_U_LAT_U_NR); td->ts.io_u_lat_u[idx]++; } static void io_u_mark_lat_msec(struct thread_data *td, unsigned long long msec) { int idx = 0; assert(msec >= 1); switch (msec) { default: idx = 11; break; case 1000 ... 1999: idx = 10; break; case 750 ... 999: idx = 9; break; case 500 ... 749: idx = 8; break; case 250 ... 499: idx = 7; break; case 100 ... 249: idx = 6; break; case 50 ... 99: idx = 5; break; case 20 ... 49: idx = 4; break; case 10 ... 19: idx = 3; break; case 4 ... 9: idx = 2; break; case 2 ... 3: idx = 1; fio_fallthrough; case 0 ... 1: break; } assert(idx < FIO_IO_U_LAT_M_NR); td->ts.io_u_lat_m[idx]++; } static void io_u_mark_latency(struct thread_data *td, unsigned long long nsec) { if (nsec < 1000) io_u_mark_lat_nsec(td, nsec); else if (nsec < 1000000) io_u_mark_lat_usec(td, nsec / 1000); else io_u_mark_lat_msec(td, nsec / 1000000); } static unsigned int __get_next_fileno_rand(struct thread_data *td) { unsigned long fileno; if (td->o.file_service_type == FIO_FSERVICE_RANDOM) { uint64_t frand_max = rand_max(&td->next_file_state); unsigned long r; r = __rand(&td->next_file_state); return (unsigned int) ((double) td->o.nr_files * (r / (frand_max + 1.0))); } if (td->o.file_service_type == FIO_FSERVICE_ZIPF) fileno = zipf_next(&td->next_file_zipf); else if (td->o.file_service_type == FIO_FSERVICE_PARETO) fileno = pareto_next(&td->next_file_zipf); else if (td->o.file_service_type == FIO_FSERVICE_GAUSS) fileno = gauss_next(&td->next_file_gauss); else { log_err("fio: bad file service type: %d\n", td->o.file_service_type); assert(0); return 0; } return fileno >> FIO_FSERVICE_SHIFT; } /* * Get next file to service by choosing one at random */ static struct fio_file *get_next_file_rand(struct thread_data *td, enum fio_file_flags goodf, enum fio_file_flags badf) { struct fio_file *f; int fno; do { int opened = 0; fno = __get_next_fileno_rand(td); f = td->files[fno]; if (fio_file_done(f)) continue; if (!fio_file_open(f)) { int err; if (td->nr_open_files >= td->o.open_files) return ERR_PTR(-EBUSY); err = td_io_open_file(td, f); if (err) continue; opened = 1; } if ((!goodf || (f->flags & goodf)) && !(f->flags & badf)) { dprint(FD_FILE, "get_next_file_rand: %p\n", f); return f; } if (opened) td_io_close_file(td, f); } while (1); } /* * Get next file to service by doing round robin between all available ones */ static struct fio_file *get_next_file_rr(struct thread_data *td, int goodf, int badf) { unsigned int old_next_file = td->next_file; struct fio_file *f; do { int opened = 0; f = td->files[td->next_file]; td->next_file++; if (td->next_file >= td->o.nr_files) td->next_file = 0; dprint(FD_FILE, "trying file %s %x\n", f->file_name, f->flags); if (fio_file_done(f)) { f = NULL; continue; } if (!fio_file_open(f)) { int err; if (td->nr_open_files >= td->o.open_files) return ERR_PTR(-EBUSY); err = td_io_open_file(td, f); if (err) { dprint(FD_FILE, "error %d on open of %s\n", err, f->file_name); f = NULL; continue; } opened = 1; } dprint(FD_FILE, "goodf=%x, badf=%x, ff=%x\n", goodf, badf, f->flags); if ((!goodf || (f->flags & goodf)) && !(f->flags & badf)) break; if (opened) td_io_close_file(td, f); f = NULL; } while (td->next_file != old_next_file); dprint(FD_FILE, "get_next_file_rr: %p\n", f); return f; } static struct fio_file *__get_next_file(struct thread_data *td) { struct fio_file *f; assert(td->o.nr_files <= td->files_index); if (td->nr_done_files >= td->o.nr_files) { dprint(FD_FILE, "get_next_file: nr_open=%d, nr_done=%d," " nr_files=%d\n", td->nr_open_files, td->nr_done_files, td->o.nr_files); return NULL; } f = td->file_service_file; if (f && fio_file_open(f) && !fio_file_closing(f)) { if (td->o.file_service_type == FIO_FSERVICE_SEQ) goto out; if (td->file_service_left) { td->file_service_left--; goto out; } } if (td->o.file_service_type == FIO_FSERVICE_RR || td->o.file_service_type == FIO_FSERVICE_SEQ) f = get_next_file_rr(td, FIO_FILE_open, FIO_FILE_closing); else f = get_next_file_rand(td, FIO_FILE_open, FIO_FILE_closing); if (IS_ERR(f)) return f; td->file_service_file = f; td->file_service_left = td->file_service_nr - 1; out: if (f) dprint(FD_FILE, "get_next_file: %p [%s]\n", f, f->file_name); else dprint(FD_FILE, "get_next_file: NULL\n"); return f; } static struct fio_file *get_next_file(struct thread_data *td) { return __get_next_file(td); } static long set_io_u_file(struct thread_data *td, struct io_u *io_u) { struct fio_file *f; do { f = get_next_file(td); if (IS_ERR_OR_NULL(f)) return PTR_ERR(f); io_u->file = f; get_file(f); if (!fill_io_u(td, io_u)) break; zbd_put_io_u(td, io_u); put_file_log(td, f); td_io_close_file(td, f); io_u->file = NULL; if (io_u->ddir == DDIR_TIMEOUT) return 1; if (td->o.file_service_type & __FIO_FSERVICE_NONUNIFORM) fio_file_reset(td, f); else { fio_file_set_done(f); td->nr_done_files++; dprint(FD_FILE, "%s: is done (%d of %d)\n", f->file_name, td->nr_done_files, td->o.nr_files); } } while (1); return 0; } static void lat_fatal(struct thread_data *td, struct io_u *io_u, struct io_completion_data *icd, unsigned long long tnsec, unsigned long long max_nsec) { if (!td->error) { log_err("fio: latency of %llu nsec exceeds specified max (%llu nsec): %s %s %llu %llu\n", tnsec, max_nsec, io_u->file->file_name, io_ddir_name(io_u->ddir), io_u->offset, io_u->buflen); } td_verror(td, ETIMEDOUT, "max latency exceeded"); icd->error = ETIMEDOUT; } static void lat_new_cycle(struct thread_data *td) { fio_gettime(&td->latency_ts, NULL); td->latency_ios = ddir_rw_sum(td->io_blocks); td->latency_failed = 0; } /* * We had an IO outside the latency target. Reduce the queue depth. If we * are at QD=1, then it's time to give up. */ static bool __lat_target_failed(struct thread_data *td) { if (td->latency_qd == 1) return true; td->latency_qd_high = td->latency_qd; if (td->latency_qd == td->latency_qd_low) td->latency_qd_low--; td->latency_qd = (td->latency_qd + td->latency_qd_low) / 2; td->latency_stable_count = 0; dprint(FD_RATE, "Ramped down: %d %d %d\n", td->latency_qd_low, td->latency_qd, td->latency_qd_high); /* * When we ramp QD down, quiesce existing IO to prevent * a storm of ramp downs due to pending higher depth. */ io_u_quiesce(td); lat_new_cycle(td); return false; } static bool lat_target_failed(struct thread_data *td) { if (td->o.latency_percentile.u.f == 100.0) return __lat_target_failed(td); td->latency_failed++; return false; } void lat_target_init(struct thread_data *td) { td->latency_end_run = 0; if (td->o.latency_target) { dprint(FD_RATE, "Latency target=%llu\n", td->o.latency_target); fio_gettime(&td->latency_ts, NULL); td->latency_qd = 1; td->latency_qd_high = td->o.iodepth; td->latency_qd_low = 1; td->latency_ios = ddir_rw_sum(td->io_blocks); } else td->latency_qd = td->o.iodepth; } void lat_target_reset(struct thread_data *td) { if (!td->latency_end_run) lat_target_init(td); } static void lat_target_success(struct thread_data *td) { const unsigned int qd = td->latency_qd; struct thread_options *o = &td->o; td->latency_qd_low = td->latency_qd; if (td->latency_qd + 1 == td->latency_qd_high) { /* * latency_qd will not incease on lat_target_success(), so * called stable. If we stick with this queue depth, the * final latency is likely lower than latency_target. Fix * this by increasing latency_qd_high slowly. Use a naive * heuristic here. If we get lat_target_success() 3 times * in a row, increase latency_qd_high by 1. */ if (++td->latency_stable_count >= 3) { td->latency_qd_high++; td->latency_stable_count = 0; } } /* * If we haven't failed yet, we double up to a failing value instead * of bisecting from highest possible queue depth. If we have set * a limit other than td->o.iodepth, bisect between that. */ if (td->latency_qd_high != o->iodepth) td->latency_qd = (td->latency_qd + td->latency_qd_high) / 2; else td->latency_qd *= 2; if (td->latency_qd > o->iodepth) td->latency_qd = o->iodepth; dprint(FD_RATE, "Ramped up: %d %d %d\n", td->latency_qd_low, td->latency_qd, td->latency_qd_high); /* * Same as last one, we are done. Let it run a latency cycle, so * we get only the results from the targeted depth. */ if (!o->latency_run && td->latency_qd == qd) { if (td->latency_end_run) { dprint(FD_RATE, "We are done\n"); td->done = 1; } else { dprint(FD_RATE, "Quiesce and final run\n"); io_u_quiesce(td); td->latency_end_run = 1; reset_all_stats(td); reset_io_stats(td); } } lat_new_cycle(td); } /* * Check if we can bump the queue depth */ void lat_target_check(struct thread_data *td) { uint64_t usec_window; uint64_t ios; double success_ios; usec_window = utime_since_now(&td->latency_ts); if (usec_window < td->o.latency_window) return; ios = ddir_rw_sum(td->io_blocks) - td->latency_ios; success_ios = (double) (ios - td->latency_failed) / (double) ios; success_ios *= 100.0; dprint(FD_RATE, "Success rate: %.2f%% (target %.2f%%)\n", success_ios, td->o.latency_percentile.u.f); if (success_ios >= td->o.latency_percentile.u.f) lat_target_success(td); else __lat_target_failed(td); } /* * If latency target is enabled, we might be ramping up or down and not * using the full queue depth available. */ bool queue_full(const struct thread_data *td) { const int qempty = io_u_qempty(&td->io_u_freelist); if (qempty) return true; if (!td->o.latency_target) return false; return td->cur_depth >= td->latency_qd; } struct io_u *__get_io_u(struct thread_data *td) { const bool needs_lock = td_async_processing(td); struct io_u *io_u = NULL; if (td->stop_io) return NULL; if (needs_lock) __td_io_u_lock(td); again: if (!io_u_rempty(&td->io_u_requeues)) { io_u = io_u_rpop(&td->io_u_requeues); io_u->resid = 0; } else if (!queue_full(td)) { io_u = io_u_qpop(&td->io_u_freelist); io_u->file = NULL; io_u->buflen = 0; io_u->resid = 0; io_u->end_io = NULL; } if (io_u) { assert(io_u->flags & IO_U_F_FREE); io_u_clear(td, io_u, IO_U_F_FREE | IO_U_F_NO_FILE_PUT | IO_U_F_TRIMMED | IO_U_F_BARRIER | IO_U_F_VER_LIST); io_u->error = 0; io_u->acct_ddir = -1; td->cur_depth++; assert(!(td->flags & TD_F_CHILD)); io_u_set(td, io_u, IO_U_F_IN_CUR_DEPTH); io_u->ipo = NULL; } else if (td_async_processing(td)) { int ret; /* * We ran out, wait for async verify threads to finish and * return one */ assert(!(td->flags & TD_F_CHILD)); ret = pthread_cond_wait(&td->free_cond, &td->io_u_lock); if (fio_unlikely(ret != 0)) { td->error = errno; } else if (!td->error) goto again; } if (needs_lock) __td_io_u_unlock(td); return io_u; } static bool check_get_trim(struct thread_data *td, struct io_u *io_u) { if (!(td->flags & TD_F_TRIM_BACKLOG)) return false; if (!td->trim_entries) return false; if (td->trim_batch) { td->trim_batch--; if (get_next_trim(td, io_u)) return true; } else if (!(td->io_hist_len % td->o.trim_backlog) && td->last_ddir_completed != DDIR_READ) { td->trim_batch = td->o.trim_batch; if (!td->trim_batch) td->trim_batch = td->o.trim_backlog; if (get_next_trim(td, io_u)) return true; } return false; } static bool check_get_verify(struct thread_data *td, struct io_u *io_u) { if (!(td->flags & TD_F_VER_BACKLOG)) return false; if (td->io_hist_len) { int get_verify = 0; if (td->verify_batch) get_verify = 1; else if (!(td->io_hist_len % td->o.verify_backlog) && td->last_ddir_completed != DDIR_READ) { td->verify_batch = td->o.verify_batch; if (!td->verify_batch) td->verify_batch = td->o.verify_backlog; get_verify = 1; } if (get_verify && !get_next_verify(td, io_u)) { td->verify_batch--; return true; } } return false; } /* * Fill offset and start time into the buffer content, to prevent too * easy compressible data for simple de-dupe attempts. Do this for every * 512b block in the range, since that should be the smallest block size * we can expect from a device. */ static void small_content_scramble(struct io_u *io_u) { unsigned long long i, nr_blocks = io_u->buflen >> 9; unsigned int offset; uint64_t boffset, *iptr; char *p; if (!nr_blocks) return; p = io_u->xfer_buf; boffset = io_u->offset; if (io_u->buf_filled_len) io_u->buf_filled_len = 0; /* * Generate random index between 0..7. We do chunks of 512b, if * we assume a cacheline is 64 bytes, then we have 8 of those. * Scramble content within the blocks in the same cacheline to * speed things up. */ offset = (io_u->start_time.tv_nsec ^ boffset) & 7; for (i = 0; i < nr_blocks; i++) { /* * Fill offset into start of cacheline, time into end * of cacheline */ iptr = (void *) p + (offset << 6); *iptr = boffset; iptr = (void *) p + 64 - 2 * sizeof(uint64_t); iptr[0] = io_u->start_time.tv_sec; iptr[1] = io_u->start_time.tv_nsec; p += 512; boffset += 512; } } /* * Return an io_u to be processed. Gets a buflen and offset, sets direction, * etc. The returned io_u is fully ready to be prepped, populated and submitted. */ struct io_u *get_io_u(struct thread_data *td) { struct fio_file *f; struct io_u *io_u; int do_scramble = 0; long ret = 0; io_u = __get_io_u(td); if (!io_u) { dprint(FD_IO, "__get_io_u failed\n"); return NULL; } if (check_get_verify(td, io_u)) goto out; if (check_get_trim(td, io_u)) goto out; /* * from a requeue, io_u already setup */ if (io_u->file) goto out; /* * If using an iolog, grab next piece if any available. */ if (td->flags & TD_F_READ_IOLOG) { if (read_iolog_get(td, io_u)) goto err_put; } else if (set_io_u_file(td, io_u)) { ret = -EBUSY; dprint(FD_IO, "io_u %p, setting file failed\n", io_u); goto err_put; } f = io_u->file; if (!f) { dprint(FD_IO, "io_u %p, setting file failed\n", io_u); goto err_put; } assert(fio_file_open(f)); if (ddir_rw(io_u->ddir) && !multi_range_trim(td, io_u)) { if (!io_u->buflen && !td_ioengine_flagged(td, FIO_NOIO)) { dprint(FD_IO, "get_io_u: zero buflen on %p\n", io_u); goto err_put; } f->last_start[io_u->ddir] = io_u->offset; f->last_pos[io_u->ddir] = io_u->offset + io_u->buflen; if (io_u->ddir == DDIR_WRITE) { if (td->flags & TD_F_REFILL_BUFFERS) { io_u_fill_buffer(td, io_u, td->o.min_bs[DDIR_WRITE], io_u->buflen); } else if ((td->flags & TD_F_SCRAMBLE_BUFFERS) && !(td->flags & TD_F_COMPRESS) && !(td->flags & TD_F_DO_VERIFY)) { do_scramble = 1; } } else if (io_u->ddir == DDIR_READ) { /* * Reset the buf_filled parameters so next time if the * buffer is used for writes it is refilled. */ io_u->buf_filled_len = 0; } } /* * Set io data pointers. */ io_u->xfer_buf = io_u->buf; io_u->xfer_buflen = io_u->buflen; /* * Remember the issuing context priority. The IO engine may change this. */ io_u->ioprio = td->ioprio; io_u->clat_prio_index = 0; out: assert(io_u->file); if (!td_io_prep(td, io_u)) { if (!td->o.disable_lat) fio_gettime(&io_u->start_time, NULL); if (do_scramble) small_content_scramble(io_u); return io_u; } err_put: dprint(FD_IO, "get_io_u failed\n"); put_io_u(td, io_u); return ERR_PTR(ret); } static void __io_u_log_error(struct thread_data *td, struct io_u *io_u) { enum error_type_bit eb = td_error_type(io_u->ddir, io_u->error); if (td_non_fatal_error(td, eb, io_u->error) && !td->o.error_dump) return; log_err("fio: io_u error%s%s: %s: %s offset=%llu, buflen=%llu\n", io_u->file ? " on file " : "", io_u->file ? io_u->file->file_name : "", (io_u->flags & IO_U_F_DEVICE_ERROR) ? "Device-specific error" : strerror(io_u->error), io_ddir_name(io_u->ddir), io_u->offset, io_u->xfer_buflen); zbd_log_err(td, io_u); if (td->io_ops->errdetails) { char *err = td->io_ops->errdetails(td, io_u); if (err) { log_err("fio: %s\n", err); free(err); } } if (!td->error) td_verror(td, io_u->error, "io_u error"); } void io_u_log_error(struct thread_data *td, struct io_u *io_u) { __io_u_log_error(td, io_u); if (td->parent) __io_u_log_error(td->parent, io_u); } static inline bool gtod_reduce(struct thread_data *td) { return (td->o.disable_clat && td->o.disable_slat && td->o.disable_bw) || td->o.gtod_reduce; } static void trim_block_info(struct thread_data *td, struct io_u *io_u) { uint32_t *info = io_u_block_info(td, io_u); if (BLOCK_INFO_STATE(*info) >= BLOCK_STATE_TRIM_FAILURE) return; *info = BLOCK_INFO(BLOCK_STATE_TRIMMED, BLOCK_INFO_TRIMS(*info) + 1); } static void account_io_completion(struct thread_data *td, struct io_u *io_u, struct io_completion_data *icd, const enum fio_ddir idx, unsigned int bytes) { const int no_reduce = !gtod_reduce(td); unsigned long long llnsec = 0; if (td->parent) td = td->parent; if (!td->o.stats || td_ioengine_flagged(td, FIO_NOSTATS)) return; if (no_reduce) llnsec = ntime_since(&io_u->issue_time, &icd->time); if (!td->o.disable_lat) { unsigned long long tnsec; tnsec = ntime_since(&io_u->start_time, &icd->time); add_lat_sample(td, idx, tnsec, bytes, io_u); if (td->flags & TD_F_PROFILE_OPS) { struct prof_io_ops *ops = &td->prof_io_ops; if (ops->io_u_lat) icd->error = ops->io_u_lat(td, tnsec); } if (ddir_rw(idx)) { if (td->o.max_latency[idx] && tnsec > td->o.max_latency[idx]) lat_fatal(td, io_u, icd, tnsec, td->o.max_latency[idx]); if (td->o.latency_target && tnsec > td->o.latency_target) { if (lat_target_failed(td)) lat_fatal(td, io_u, icd, tnsec, td->o.latency_target); } } } if (ddir_rw(idx)) { if (!td->o.disable_clat) { add_clat_sample(td, idx, llnsec, bytes, io_u); io_u_mark_latency(td, llnsec); } if (!td->o.disable_bw && per_unit_log(td->bw_log)) add_bw_sample(td, io_u, bytes, llnsec); if (no_reduce && per_unit_log(td->iops_log)) add_iops_sample(td, io_u, bytes); } else if (ddir_sync(idx) && !td->o.disable_clat) add_sync_clat_sample(&td->ts, llnsec); if (td->ts.nr_block_infos && io_u->ddir == DDIR_TRIM) trim_block_info(td, io_u); } static void file_log_write_comp(const struct thread_data *td, struct fio_file *f, uint64_t offset, unsigned int bytes) { int idx; if (!f) return; if (f->first_write == -1ULL || offset < f->first_write) f->first_write = offset; if (f->last_write == -1ULL || ((offset + bytes) > f->last_write)) f->last_write = offset + bytes; if (!f->last_write_comp) return; idx = f->last_write_idx++; f->last_write_comp[idx] = offset; if (f->last_write_idx == td->last_write_comp_depth) f->last_write_idx = 0; } static bool should_account(struct thread_data *td) { return ramp_time_over(td) && (td->runstate == TD_RUNNING || td->runstate == TD_VERIFYING); } static void io_completed(struct thread_data *td, struct io_u **io_u_ptr, struct io_completion_data *icd) { struct io_u *io_u = *io_u_ptr; enum fio_ddir ddir = io_u->ddir; struct fio_file *f = io_u->file; dprint_io_u(io_u, "complete"); assert(io_u->flags & IO_U_F_FLIGHT); io_u_clear(td, io_u, IO_U_F_FLIGHT | IO_U_F_BUSY_OK | IO_U_F_PATTERN_DONE); /* * Mark IO ok to verify */ if (io_u->ipo) { /* * Remove errored entry from the verification list */ if (io_u->error) unlog_io_piece(td, io_u); else { atomic_store_release(&io_u->ipo->flags, io_u->ipo->flags & ~IP_F_IN_FLIGHT); } } if (ddir_sync(ddir)) { if (io_u->error) goto error; if (f) { f->first_write = -1ULL; f->last_write = -1ULL; } if (should_account(td)) account_io_completion(td, io_u, icd, ddir, io_u->buflen); return; } td->last_ddir_completed = ddir; if (!io_u->error && ddir_rw(ddir)) { unsigned long long bytes = io_u->xfer_buflen - io_u->resid; int ret; /* * Make sure we notice short IO from here, and requeue them * appropriately! */ if (bytes && io_u->resid) { io_u->xfer_buflen = io_u->resid; io_u->xfer_buf += bytes; io_u->offset += bytes; td->ts.short_io_u[io_u->ddir]++; if (io_u->offset < io_u->file->real_file_size) { requeue_io_u(td, io_u_ptr); return; } } td->io_blocks[ddir]++; td->io_bytes[ddir] += bytes; if (!(io_u->flags & IO_U_F_VER_LIST)) { td->this_io_blocks[ddir]++; td->this_io_bytes[ddir] += bytes; } if (ddir == DDIR_WRITE) file_log_write_comp(td, f, io_u->offset, bytes); if (should_account(td)) account_io_completion(td, io_u, icd, ddir, bytes); icd->bytes_done[ddir] += bytes; if (io_u->end_io) { ret = io_u->end_io(td, io_u_ptr); io_u = *io_u_ptr; if (ret && !icd->error) icd->error = ret; } } else if (io_u->error) { error: icd->error = io_u->error; io_u_log_error(td, io_u); } if (icd->error) { enum error_type_bit eb = td_error_type(ddir, icd->error); if (!td_non_fatal_error(td, eb, icd->error)) return; /* * If there is a non_fatal error, then add to the error count * and clear all the errors. */ update_error_count(td, icd->error); td_clear_error(td); icd->error = 0; if (io_u) io_u->error = 0; } } static void init_icd(struct thread_data *td, struct io_completion_data *icd, int nr) { int ddir; if (!gtod_reduce(td)) fio_gettime(&icd->time, NULL); icd->nr = nr; icd->error = 0; for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) icd->bytes_done[ddir] = 0; } static void ios_completed(struct thread_data *td, struct io_completion_data *icd) { struct io_u *io_u; int i; for (i = 0; i < icd->nr; i++) { io_u = td->io_ops->event(td, i); io_completed(td, &io_u, icd); if (io_u) put_io_u(td, io_u); } } static void io_u_update_bytes_done(struct thread_data *td, struct io_completion_data *icd) { int ddir; if (td->runstate == TD_VERIFYING) { td->bytes_verified += icd->bytes_done[DDIR_READ]; if (td_write(td)) return; } for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) td->bytes_done[ddir] += icd->bytes_done[ddir]; } /* * Complete a single io_u for the sync engines. */ int io_u_sync_complete(struct thread_data *td, struct io_u *io_u) { struct io_completion_data icd; init_icd(td, &icd, 1); io_completed(td, &io_u, &icd); if (io_u) put_io_u(td, io_u); if (icd.error) { td_verror(td, icd.error, "io_u_sync_complete"); return -1; } io_u_update_bytes_done(td, &icd); return 0; } /* * Called to complete min_events number of io for the async engines. */ int io_u_queued_complete(struct thread_data *td, int min_evts) { struct io_completion_data icd; struct timespec *tvp = NULL; int ret; struct timespec ts = { .tv_sec = 0, .tv_nsec = 0, }; dprint(FD_IO, "io_u_queued_complete: min=%d\n", min_evts); if (!min_evts) tvp = &ts; else if (min_evts > td->cur_depth) min_evts = td->cur_depth; /* No worries, td_io_getevents fixes min and max if they are * set incorrectly */ ret = td_io_getevents(td, min_evts, td->o.iodepth_batch_complete_max, tvp); if (ret < 0) { td_verror(td, -ret, "td_io_getevents"); return ret; } else if (!ret) return ret; init_icd(td, &icd, ret); ios_completed(td, &icd); if (icd.error) { td_verror(td, icd.error, "io_u_queued_complete"); return -1; } io_u_update_bytes_done(td, &icd); return ret; } /* * Call when io_u is really queued, to update the submission latency. */ void io_u_queued(struct thread_data *td, struct io_u *io_u) { if (!td->o.disable_slat && ramp_time_over(td) && td->o.stats) { if (td->parent) td = td->parent; add_slat_sample(td, io_u); } } /* * See if we should reuse the last seed, if dedupe is enabled */ static struct frand_state *get_buf_state(struct thread_data *td) { unsigned int v; unsigned long long i; if (!td->o.dedupe_percentage) return &td->buf_state; else if (td->o.dedupe_percentage == 100) { frand_copy(&td->buf_state_prev, &td->buf_state); return &td->buf_state; } v = rand_between(&td->dedupe_state, 1, 100); if (v <= td->o.dedupe_percentage) switch (td->o.dedupe_mode) { case DEDUPE_MODE_REPEAT: /* * The caller advances the returned frand_state. * A copy of prev should be returned instead since * a subsequent intention to generate a deduped buffer * might result in generating a unique one */ frand_copy(&td->buf_state_ret, &td->buf_state_prev); return &td->buf_state_ret; case DEDUPE_MODE_WORKING_SET: i = rand_between(&td->dedupe_working_set_index_state, 0, td->num_unique_pages - 1); frand_copy(&td->buf_state_ret, &td->dedupe_working_set_states[i]); return &td->buf_state_ret; default: log_err("unexpected dedupe mode %u\n", td->o.dedupe_mode); assert(0); } return &td->buf_state; } static void save_buf_state(struct thread_data *td, struct frand_state *rs) { if (td->o.dedupe_percentage == 100) frand_copy(rs, &td->buf_state_prev); else if (rs == &td->buf_state) frand_copy(&td->buf_state_prev, rs); } void fill_io_buffer(struct thread_data *td, void *buf, unsigned long long min_write, unsigned long long max_bs) { struct thread_options *o = &td->o; if (o->mem_type == MEM_CUDA_MALLOC) return; if (o->compress_percentage || o->dedupe_percentage) { unsigned int perc = td->o.compress_percentage; struct frand_state *rs = NULL; unsigned long long left = max_bs; unsigned long long this_write; do { /* * Buffers are either entirely dedupe-able or not. * If we choose to dedup, the buffer should undergo * the same manipulation as the original write. Which * means we should retrack the steps we took for compression * as well. */ if (!rs) rs = get_buf_state(td); min_write = min(min_write, left); this_write = min_not_zero(min_write, (unsigned long long) td->o.compress_chunk); fill_random_buf_percentage(rs, buf, perc, this_write, this_write, o->buffer_pattern, o->buffer_pattern_bytes); buf += this_write; left -= this_write; save_buf_state(td, rs); } while (left); } else if (o->buffer_pattern_bytes) fill_buffer_pattern(td, buf, max_bs); else if (o->zero_buffers) memset(buf, 0, max_bs); else fill_random_buf(get_buf_state(td), buf, max_bs); } /* * "randomly" fill the buffer contents */ void io_u_fill_buffer(struct thread_data *td, struct io_u *io_u, unsigned long long min_write, unsigned long long max_bs) { io_u->buf_filled_len = 0; fill_io_buffer(td, io_u->buf, min_write, max_bs); } static int do_sync_file_range(const struct thread_data *td, struct fio_file *f) { uint64_t offset, nbytes; offset = f->first_write; nbytes = f->last_write - f->first_write; if (!nbytes) return 0; return sync_file_range(f->fd, offset, nbytes, td->o.sync_file_range); } int do_io_u_sync(const struct thread_data *td, struct io_u *io_u) { int ret; if (io_u->ddir == DDIR_SYNC) { #ifdef CONFIG_FCNTL_SYNC ret = fcntl(io_u->file->fd, F_FULLFSYNC); #else ret = fsync(io_u->file->fd); #endif } else if (io_u->ddir == DDIR_DATASYNC) { #ifdef CONFIG_FDATASYNC ret = fdatasync(io_u->file->fd); #else ret = io_u->xfer_buflen; io_u->error = EINVAL; #endif } else if (io_u->ddir == DDIR_SYNC_FILE_RANGE) ret = do_sync_file_range(td, io_u->file); else { ret = io_u->xfer_buflen; io_u->error = EINVAL; } if (ret < 0) io_u->error = errno; return ret; } int do_io_u_trim(struct thread_data *td, struct io_u *io_u) { #ifndef FIO_HAVE_TRIM io_u->error = EINVAL; return 0; #else struct fio_file *f = io_u->file; int ret; if (td->o.zone_mode == ZONE_MODE_ZBD) { ret = zbd_do_io_u_trim(td, io_u); if (ret == io_u_completed) return io_u->xfer_buflen; if (ret) goto err; } ret = os_trim(f, io_u->offset, io_u->xfer_buflen); if (!ret) return io_u->xfer_buflen; err: io_u->error = ret; return 0; #endif } fio-3.39/io_u.h000066400000000000000000000115771476262051600133550ustar00rootroot00000000000000#ifndef FIO_IO_U #define FIO_IO_U #include "compiler/compiler.h" #include "os/os.h" #include "io_ddir.h" #include "debug.h" #include "file.h" #include "workqueue.h" #ifdef CONFIG_LIBAIO #include #endif enum { IO_U_F_FREE = 1 << 0, IO_U_F_FLIGHT = 1 << 1, IO_U_F_NO_FILE_PUT = 1 << 2, IO_U_F_IN_CUR_DEPTH = 1 << 3, IO_U_F_BUSY_OK = 1 << 4, IO_U_F_TRIMMED = 1 << 5, IO_U_F_BARRIER = 1 << 6, IO_U_F_VER_LIST = 1 << 7, IO_U_F_PATTERN_DONE = 1 << 8, IO_U_F_DEVICE_ERROR = 1 << 9, IO_U_F_VER_IN_DEV = 1 << 10, /* Verify data in device */ }; /* * The io unit */ struct io_u { struct timespec start_time; struct timespec issue_time; struct fio_file *file; unsigned int flags; enum fio_ddir ddir; /* * For replay workloads, we may want to account as a different * IO type than what is being submitted. */ enum fio_ddir acct_ddir; /* * Write generation */ unsigned short numberio; /* * IO priority. */ unsigned short ioprio; unsigned short clat_prio_index; /* * number of trim ranges for this IO. */ unsigned int number_trim; /* * Allocated/set buffer and length */ unsigned long long buflen; unsigned long long offset; /* is really ->xfer_offset... */ unsigned long long verify_offset; /* is really ->offset */ void *buf; /* * Initial seed for generating the buffer contents */ uint64_t rand_seed; /* * IO engine state, may be different from above when we get * partial transfers / residual data counts */ void *xfer_buf; unsigned long long xfer_buflen; /* * Parameter related to pre-filled buffers and * their size to handle variable block sizes. */ unsigned long long buf_filled_len; struct io_piece *ipo; unsigned long long resid; unsigned int error; /* * io engine private data */ union { unsigned int index; unsigned int seen; }; void *engine_data; union { struct flist_head verify_list; struct workqueue_work work; }; /* * ZBD mode zbd_queue_io callback: called after engine->queue operation * to advance a zone write pointer and eventually unlock the I/O zone. * @q indicates the I/O queue status (busy, queued or completed). * @success == true means that the I/O operation has been queued or * completed successfully. */ void (*zbd_queue_io)(struct thread_data *td, struct io_u *, int q, bool success); /* * ZBD mode zbd_put_io callback: called in after completion of an I/O * or commit of an async I/O to unlock the I/O target zone. */ void (*zbd_put_io)(struct thread_data *td, const struct io_u *); /* * Callback for io completion */ int (*end_io)(struct thread_data *, struct io_u **); uint32_t dtype; uint32_t dspec; union { #ifdef CONFIG_LIBAIO struct iocb iocb; #endif #ifdef CONFIG_POSIXAIO os_aiocb_t aiocb; #endif #ifdef FIO_HAVE_SGIO struct sg_io_hdr hdr; #endif #ifdef CONFIG_SOLARISAIO aio_result_t resultp; #endif #ifdef CONFIG_RDMA struct ibv_mr *mr; #endif void *mmap_data; }; }; /* * io unit handling */ extern struct io_u *__get_io_u(struct thread_data *); extern struct io_u *get_io_u(struct thread_data *); extern void put_io_u(struct thread_data *, struct io_u *); extern void clear_io_u(struct thread_data *, struct io_u *); extern void requeue_io_u(struct thread_data *, struct io_u **); extern int __must_check io_u_sync_complete(struct thread_data *, struct io_u *); extern int __must_check io_u_queued_complete(struct thread_data *, int); extern void io_u_queued(struct thread_data *, struct io_u *); extern int io_u_quiesce(struct thread_data *); extern void io_u_log_error(struct thread_data *, struct io_u *); extern void io_u_mark_depth(struct thread_data *, unsigned int); extern void fill_io_buffer(struct thread_data *, void *, unsigned long long, unsigned long long); extern void io_u_fill_buffer(struct thread_data *td, struct io_u *, unsigned long long, unsigned long long); void io_u_mark_complete(struct thread_data *, unsigned int); void io_u_mark_submit(struct thread_data *, unsigned int); bool queue_full(const struct thread_data *); int do_io_u_sync(const struct thread_data *, struct io_u *); int do_io_u_trim(struct thread_data *, struct io_u *); #ifdef FIO_INC_DEBUG static inline void dprint_io_u(struct io_u *io_u, const char *p) { struct fio_file *f = io_u->file; if (f) dprint(FD_IO, "%s: io_u %p: off=0x%llx,len=0x%llx,ddir=%d,file=%s\n", p, io_u, (unsigned long long) io_u->offset, io_u->buflen, io_u->ddir, f->file_name); else dprint(FD_IO, "%s: io_u %p: off=0x%llx,len=0x%llx,ddir=%d\n", p, io_u, (unsigned long long) io_u->offset, io_u->buflen, io_u->ddir); } #else #define dprint_io_u(io_u, p) #endif static inline enum fio_ddir acct_ddir(struct io_u *io_u) { if (io_u->acct_ddir != -1) return io_u->acct_ddir; return io_u->ddir; } #define io_u_clear(td, io_u, val) \ td_flags_clear((td), &(io_u->flags), (val)) #define io_u_set(td, io_u, val) \ td_flags_set((td), &(io_u)->flags, (val)) #endif fio-3.39/io_u_queue.c000066400000000000000000000017111476262051600145410ustar00rootroot00000000000000#include #include #include "io_u_queue.h" #include "smalloc.h" bool io_u_qinit(struct io_u_queue *q, unsigned int nr, bool shared) { if (shared) q->io_us = smalloc(nr * sizeof(struct io_u *)); else q->io_us = calloc(nr, sizeof(struct io_u *)); if (!q->io_us) return false; q->nr = 0; q->max = nr; return true; } void io_u_qexit(struct io_u_queue *q, bool shared) { if (shared) sfree(q->io_us); else free(q->io_us); } bool io_u_rinit(struct io_u_ring *ring, unsigned int nr) { ring->max = nr + 1; if (ring->max & (ring->max - 1)) { ring->max--; ring->max |= ring->max >> 1; ring->max |= ring->max >> 2; ring->max |= ring->max >> 4; ring->max |= ring->max >> 8; ring->max |= ring->max >> 16; ring->max++; } ring->ring = calloc(ring->max, sizeof(struct io_u *)); if (!ring->ring) return false; ring->head = ring->tail = 0; return true; } void io_u_rexit(struct io_u_ring *ring) { free(ring->ring); } fio-3.39/io_u_queue.h000066400000000000000000000030501476262051600145440ustar00rootroot00000000000000#ifndef FIO_IO_U_QUEUE #define FIO_IO_U_QUEUE #include #include #include "lib/types.h" struct io_u; struct io_u_queue { struct io_u **io_us; unsigned int nr; unsigned int max; }; static inline struct io_u *io_u_qpop(struct io_u_queue *q) { if (q->nr) { const unsigned int next = --q->nr; struct io_u *io_u = q->io_us[next]; q->io_us[next] = NULL; return io_u; } return NULL; } static inline void io_u_qpush(struct io_u_queue *q, struct io_u *io_u) { if (q->nr < q->max) { q->io_us[q->nr++] = io_u; return; } assert(0); } static inline int io_u_qempty(const struct io_u_queue *q) { return !q->nr; } #define io_u_qiter(q, io_u, i) \ for (i = 0; i < (q)->nr && (io_u = (q)->io_us[i]); i++) bool io_u_qinit(struct io_u_queue *q, unsigned int nr, bool shared); void io_u_qexit(struct io_u_queue *q, bool shared); struct io_u_ring { unsigned int head; unsigned int tail; unsigned int max; struct io_u **ring; }; bool io_u_rinit(struct io_u_ring *ring, unsigned int nr); void io_u_rexit(struct io_u_ring *ring); static inline void io_u_rpush(struct io_u_ring *r, struct io_u *io_u) { if (r->head + 1 != r->tail) { r->ring[r->head] = io_u; r->head = (r->head + 1) & (r->max - 1); return; } assert(0); } static inline struct io_u *io_u_rpop(struct io_u_ring *r) { if (r->head != r->tail) { struct io_u *io_u = r->ring[r->tail]; r->tail = (r->tail + 1) & (r->max - 1); return io_u; } return NULL; } static inline int io_u_rempty(struct io_u_ring *ring) { return ring->head == ring->tail; } #endif fio-3.39/ioengines.c000066400000000000000000000411601476262051600143640ustar00rootroot00000000000000/* * The io parts of the fio tool, includes workers for sync and mmap'ed * io, as well as both posix and linux libaio support. * * sync io is implemented on top of aio. * * This is not really specific to fio, if the get_io_u/put_io_u and * structures was pulled into this as well it would be a perfectly * generic io engine that could be used for other projects. * */ #include #include #include #include #include #include #include #include #include #include "fio.h" #include "diskutil.h" #include "zbd.h" static FLIST_HEAD(engine_list); static inline bool async_ioengine_sync_trim(struct thread_data *td, struct io_u *io_u) { return td_ioengine_flagged(td, FIO_ASYNCIO_SYNC_TRIM) && io_u->ddir == DDIR_TRIM; } static bool check_engine_ops(struct thread_data *td, struct ioengine_ops *ops) { if (ops->version != FIO_IOOPS_VERSION) { log_err("bad ioops version %d (want %d)\n", ops->version, FIO_IOOPS_VERSION); return true; } if (!ops->queue) { log_err("%s: no queue handler\n", ops->name); return true; } /* * sync engines only need a ->queue() */ if (ops->flags & FIO_SYNCIO) return false; /* * async engines aren't reliable with offload */ if ((td->o.io_submit_mode == IO_MODE_OFFLOAD) && (ops->flags & FIO_NO_OFFLOAD)) { log_err("%s: can't be used with offloaded submit. Use a sync " "engine\n", ops->name); return true; } if (!ops->event || !ops->getevents) { log_err("%s: no event/getevents handler\n", ops->name); return true; } return false; } void unregister_ioengine(struct ioengine_ops *ops) { dprint(FD_IO, "ioengine %s unregistered\n", ops->name); flist_del_init(&ops->list); } void register_ioengine(struct ioengine_ops *ops) { dprint(FD_IO, "ioengine %s registered\n", ops->name); flist_add_tail(&ops->list, &engine_list); } static struct ioengine_ops *find_ioengine(const char *name) { struct ioengine_ops *ops; struct flist_head *entry; flist_for_each(entry, &engine_list) { ops = flist_entry(entry, struct ioengine_ops, list); if (!strcmp(name, ops->name)) return ops; } return NULL; } #ifdef CONFIG_DYNAMIC_ENGINES static void *dlopen_external(struct thread_data *td, const char *engine) { char engine_path[PATH_MAX]; void *dlhandle; sprintf(engine_path, "%s/fio-%s.so", FIO_EXT_ENG_DIR, engine); dprint(FD_IO, "dlopen external %s\n", engine_path); dlhandle = dlopen(engine_path, RTLD_LAZY); if (!dlhandle) log_info("Engine %s not found; Either name is invalid, was not built, or fio-engine-%s package is missing.\n", engine, engine); return dlhandle; } #else #define dlopen_external(td, engine) (NULL) #endif static struct ioengine_ops *dlopen_ioengine(struct thread_data *td, const char *engine_lib) { struct ioengine_ops *ops; void *dlhandle; if (!strncmp(engine_lib, "linuxaio", 8) || !strncmp(engine_lib, "aio", 3)) engine_lib = "libaio"; dprint(FD_IO, "dlopen engine %s\n", engine_lib); dlerror(); dlhandle = dlopen(engine_lib, RTLD_LAZY); if (!dlhandle) { dlhandle = dlopen_external(td, engine_lib); if (!dlhandle) { td_vmsg(td, -1, dlerror(), "dlopen"); return NULL; } } /* * Unlike the included modules, external engines should have a * non-static ioengine structure that we can reference. */ ops = dlsym(dlhandle, engine_lib); if (!ops) ops = dlsym(dlhandle, "ioengine"); /* * For some external engines (like C++ ones) it is not that trivial * to provide a non-static ionengine structure that we can reference. * Instead we call a method which allocates the required ioengine * structure. */ if (!ops) { get_ioengine_t get_ioengine = dlsym(dlhandle, "get_ioengine"); if (get_ioengine) get_ioengine(&ops); } if (!ops) { td_vmsg(td, -1, dlerror(), "dlsym"); dlclose(dlhandle); return NULL; } ops->dlhandle = dlhandle; return ops; } static struct ioengine_ops *__load_ioengine(const char *engine) { /* * linux libaio has alias names, so convert to what we want */ if (!strncmp(engine, "linuxaio", 8) || !strncmp(engine, "aio", 3)) { dprint(FD_IO, "converting ioengine name: %s -> libaio\n", engine); engine = "libaio"; } dprint(FD_IO, "load ioengine %s\n", engine); return find_ioengine(engine); } struct ioengine_ops *load_ioengine(struct thread_data *td) { struct ioengine_ops *ops = NULL; const char *name; /* * Use ->ioengine_so_path if an external ioengine path is specified. * In this case, ->ioengine is "external" which also means the prefix * for external ioengines "external:" is properly used. */ name = td->o.ioengine_so_path ?: td->o.ioengine; /* * Try to load ->ioengine first, and if failed try to dlopen(3) either * ->ioengine or ->ioengine_so_path. This is redundant for an external * ioengine with prefix, and also leaves the possibility of unexpected * behavior (e.g. if the "external" ioengine exists), but we do this * so as not to break job files not using the prefix. */ ops = __load_ioengine(td->o.ioengine); /* We do re-dlopen existing handles, for reference counting */ if (!ops || ops->dlhandle) ops = dlopen_ioengine(td, name); /* * If ops is NULL, we failed to load ->ioengine, and also failed to * dlopen(3) either ->ioengine or ->ioengine_so_path as a path. */ if (!ops) { log_err("fio: engine %s not loadable\n", name); return NULL; } /* * Check that the required methods are there. */ if (check_engine_ops(td, ops)) return NULL; return ops; } /* * For cleaning up an ioengine which never made it to init(). */ void free_ioengine(struct thread_data *td) { assert(td != NULL && td->io_ops != NULL); dprint(FD_IO, "free ioengine %s\n", td->io_ops->name); if (td->eo && td->io_ops->options) { options_free(td->io_ops->options, td->eo); free(td->eo); td->eo = NULL; } if (td->io_ops->dlhandle) { dprint(FD_IO, "dlclose ioengine %s\n", td->io_ops->name); dlclose(td->io_ops->dlhandle); } td->io_ops = NULL; } void close_ioengine(struct thread_data *td) { dprint(FD_IO, "close ioengine %s\n", td->io_ops->name); if (td->io_ops->cleanup) { td->io_ops->cleanup(td); td->io_ops_data = NULL; } free_ioengine(td); } int td_io_prep(struct thread_data *td, struct io_u *io_u) { dprint_io_u(io_u, "prep"); fio_ro_check(td, io_u); lock_file(td, io_u->file, io_u->ddir); if (td->io_ops->prep) { int ret = td->io_ops->prep(td, io_u); dprint(FD_IO, "prep: io_u %p: ret=%d\n", io_u, ret); if (ret) unlock_file(td, io_u->file); return ret; } return 0; } int td_io_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t) { int r = 0; /* * For ioengine=rdma one side operation RDMA_WRITE or RDMA_READ, * server side gets a message from the client * side that the task is finished, and * td->done is set to 1 after td_io_commit(). In this case, * there is no need to reap complete event in server side. */ if (td->done) return 0; if (min > 0 && td->io_ops->commit) { r = td->io_ops->commit(td); if (r < 0) goto out; } if (max > td->cur_depth) max = td->cur_depth; if (min > max) max = min; r = 0; if (max && td->io_ops->getevents) r = td->io_ops->getevents(td, min, max, t); out: if (r >= 0) { /* * Reflect that our submitted requests were retrieved with * whatever OS async calls are in the underlying engine. */ td->io_u_in_flight -= r; io_u_mark_complete(td, r); } else td_verror(td, r, "get_events"); dprint(FD_IO, "getevents: %d\n", r); return r; } enum fio_q_status td_io_queue(struct thread_data *td, struct io_u *io_u) { const enum fio_ddir ddir = acct_ddir(io_u); unsigned long long buflen = io_u->xfer_buflen; enum fio_q_status ret; dprint_io_u(io_u, "queue"); fio_ro_check(td, io_u); assert((io_u->flags & IO_U_F_FLIGHT) == 0); io_u_set(td, io_u, IO_U_F_FLIGHT); /* * If overlap checking was enabled in offload mode we * can release this lock that was acquired when we * started the overlap check because the IO_U_F_FLIGHT * flag is now set */ if (td_offload_overlap(td)) { int res; res = pthread_mutex_unlock(&overlap_check); if (fio_unlikely(res != 0)) { log_err("failed to unlock overlap check mutex, err: %i:%s", errno, strerror(errno)); abort(); } } assert(fio_file_open(io_u->file)); /* * If using a write iolog, store this entry. */ log_io_u(td, io_u); io_u->error = 0; io_u->resid = 0; if (td_ioengine_flagged(td, FIO_SYNCIO) || async_ioengine_sync_trim(td, io_u)) { if (fio_fill_issue_time(td)) { fio_gettime(&io_u->issue_time, NULL); /* * only used for iolog */ if (td->o.read_iolog_file) memcpy(&td->last_issue, &io_u->issue_time, sizeof(io_u->issue_time)); } } if (ddir_rw(ddir)) { if (!(io_u->flags & IO_U_F_VER_LIST)) { td->io_issues[ddir]++; td->io_issue_bytes[ddir] += buflen; } td->rate_io_issue_bytes[ddir] += buflen; } ret = td->io_ops->queue(td, io_u); zbd_queue_io_u(td, io_u, ret); unlock_file(td, io_u->file); if (ret == FIO_Q_BUSY && ddir_rw(ddir)) { td->io_issues[ddir]--; td->io_issue_bytes[ddir] -= buflen; td->rate_io_issue_bytes[ddir] -= buflen; io_u_clear(td, io_u, IO_U_F_FLIGHT); } /* * If an error was seen and the io engine didn't propagate it * back to 'td', do so. */ if (io_u->error && !td->error) td_verror(td, io_u->error, "td_io_queue"); /* * Add warning for O_DIRECT so that users have an easier time * spotting potentially bad alignment. If this triggers for the first * IO, then it's likely an alignment problem or because the host fs * does not support O_DIRECT */ if (io_u->error == EINVAL && td->io_issues[io_u->ddir & 1] == 1 && td->o.odirect) { log_info("fio: first direct IO errored. File system may not " "support direct IO, or iomem_align= is bad, or " "invalid block size. Try setting direct=0.\n"); } if (zbd_unaligned_write(io_u->error) && td->io_issues[io_u->ddir & 1] == 1 && td->o.zone_mode != ZONE_MODE_ZBD) { log_info("fio: first I/O failed. If %s is a zoned block device, consider --zonemode=zbd\n", io_u->file->file_name); } if (!td->io_ops->commit) { io_u_mark_submit(td, 1); io_u_mark_complete(td, 1); } if (ret == FIO_Q_COMPLETED) { if (ddir_rw(io_u->ddir) || (ddir_sync(io_u->ddir) && td->runstate != TD_FSYNCING)) { io_u_mark_depth(td, 1); td->ts.total_io_u[io_u->ddir]++; } td->last_ddir_issued = ddir; } else if (ret == FIO_Q_QUEUED) { td->io_u_queued++; if (ddir_rw(io_u->ddir) || (ddir_sync(io_u->ddir) && td->runstate != TD_FSYNCING)) td->ts.total_io_u[io_u->ddir]++; if (td->io_u_queued >= td->o.iodepth_batch) td_io_commit(td); td->last_ddir_issued = ddir; } if (!td_ioengine_flagged(td, FIO_SYNCIO) && !async_ioengine_sync_trim(td, io_u)) { if (fio_fill_issue_time(td) && !td_ioengine_flagged(td, FIO_ASYNCIO_SETS_ISSUE_TIME)) { fio_gettime(&io_u->issue_time, NULL); /* * only used for iolog */ if (td->o.read_iolog_file) memcpy(&td->last_issue, &io_u->issue_time, sizeof(io_u->issue_time)); } } return ret; } int td_io_init(struct thread_data *td) { int ret = 0; if (td->io_ops->init) { ret = td->io_ops->init(td); if (ret) log_err("fio: io engine %s init failed.%s\n", td->io_ops->name, td->o.iodepth > 1 ? " Perhaps try reducing io depth?" : ""); else td->io_ops_init = 1; if (!td->error) td->error = ret; } return ret; } void td_io_commit(struct thread_data *td) { int ret; dprint(FD_IO, "calling ->commit(), depth %d\n", td->cur_depth); if (!td->cur_depth || !td->io_u_queued) return; io_u_mark_depth(td, td->io_u_queued); if (td->io_ops->commit) { ret = td->io_ops->commit(td); if (ret) td_verror(td, -ret, "io commit"); } /* * Reflect that events were submitted as async IO requests. */ td->io_u_in_flight += td->io_u_queued; td->io_u_queued = 0; } int td_io_open_file(struct thread_data *td, struct fio_file *f) { if (fio_file_closing(f)) { /* * Open translates to undo closing. */ fio_file_clear_closing(f); get_file(f); return 0; } assert(!fio_file_open(f)); assert(f->fd == -1); assert(td->io_ops->open_file); if (td->io_ops->open_file(td, f)) { if (td->error == EINVAL && td->o.odirect) log_err("fio: destination does not support O_DIRECT\n"); if (td->error == EMFILE) { log_err("fio: try reducing/setting openfiles (failed" " at %u of %u)\n", td->nr_open_files, td->o.nr_files); } assert(f->fd == -1); assert(!fio_file_open(f)); return 1; } fio_file_reset(td, f); fio_file_set_open(f); fio_file_clear_closing(f); disk_util_inc(f->du); td->nr_open_files++; get_file(f); if (f->filetype == FIO_TYPE_PIPE) { if (td_random(td)) { log_err("fio: can't seek on pipes (no random io)\n"); goto err; } } if (td_ioengine_flagged(td, FIO_DISKLESSIO)) goto done; if (td->o.invalidate_cache && file_invalidate_cache(td, f)) goto err; if (td->o.fadvise_hint != F_ADV_NONE && (f->filetype == FIO_TYPE_BLOCK || f->filetype == FIO_TYPE_FILE)) { int flags; if (td->o.fadvise_hint == F_ADV_TYPE) { if (td_random(td)) flags = POSIX_FADV_RANDOM; else flags = POSIX_FADV_SEQUENTIAL; } else if (td->o.fadvise_hint == F_ADV_RANDOM) flags = POSIX_FADV_RANDOM; else if (td->o.fadvise_hint == F_ADV_SEQUENTIAL) flags = POSIX_FADV_SEQUENTIAL; #ifdef POSIX_FADV_NOREUSE else if (td->o.fadvise_hint == F_ADV_NOREUSE) flags = POSIX_FADV_NOREUSE; #endif else { log_err("fio: unknown fadvise type %d\n", td->o.fadvise_hint); flags = POSIX_FADV_NORMAL; } if (posix_fadvise(f->fd, f->file_offset, f->io_size, flags) < 0) { if (!fio_did_warn(FIO_WARN_FADVISE)) log_err("fio: fadvise hint failed\n"); } } #ifdef FIO_HAVE_WRITE_HINT if (fio_option_is_set(&td->o, write_hint) && (f->filetype == FIO_TYPE_BLOCK || f->filetype == FIO_TYPE_FILE)) { uint64_t hint = td->o.write_hint; int res; /* * For direct IO, set the hint on the file descriptor if that is * supported. Otherwise set it on the inode. For buffered IO, we * need to set it on the inode. */ if (td->o.odirect) { res = fcntl(f->fd, F_SET_FILE_RW_HINT, &hint); if (res < 0) res = fcntl(f->fd, F_SET_RW_HINT, &hint); } else { res = fcntl(f->fd, F_SET_RW_HINT, &hint); } if (res < 0) { td_verror(td, errno, "fcntl write hint"); goto err; } } #endif if (td->o.odirect && !OS_O_DIRECT && fio_set_directio(td, f)) goto err; done: log_file(td, f, FIO_LOG_OPEN_FILE); return 0; err: disk_util_dec(f->du); if (td->io_ops->close_file) td->io_ops->close_file(td, f); return 1; } int td_io_close_file(struct thread_data *td, struct fio_file *f) { if (!fio_file_closing(f)) log_file(td, f, FIO_LOG_CLOSE_FILE); /* * mark as closing, do real close when last io on it has completed */ fio_file_set_closing(f); return put_file(td, f); } int td_io_unlink_file(struct thread_data *td, struct fio_file *f) { if (td->io_ops->unlink_file) return td->io_ops->unlink_file(td, f); else { int ret; ret = unlink(f->file_name); if (ret < 0) return errno; return 0; } } int td_io_get_file_size(struct thread_data *td, struct fio_file *f) { if (!td->io_ops->get_file_size) return 0; return td->io_ops->get_file_size(td, f); } #ifdef CONFIG_DYNAMIC_ENGINES /* Load all dynamic engines in FIO_EXT_ENG_DIR for enghelp command */ static void fio_load_dynamic_engines(struct thread_data *td) { DIR *dirhandle = NULL; struct dirent *dirent = NULL; char engine_path[PATH_MAX]; dirhandle = opendir(FIO_EXT_ENG_DIR); if (!dirhandle) return; while ((dirent = readdir(dirhandle)) != NULL) { if (!strcmp(dirent->d_name, ".") || !strcmp(dirent->d_name, "..")) continue; sprintf(engine_path, "%s/%s", FIO_EXT_ENG_DIR, dirent->d_name); dlopen_ioengine(td, engine_path); } closedir(dirhandle); } #else #define fio_load_dynamic_engines(td) do { } while (0) #endif int fio_show_ioengine_help(const char *engine) { struct flist_head *entry; struct thread_data td; struct ioengine_ops *io_ops; char *sep; int ret = 1; memset(&td, 0, sizeof(struct thread_data)); if (!engine || !*engine) { log_info("Available IO engines:\n"); fio_load_dynamic_engines(&td); flist_for_each(entry, &engine_list) { io_ops = flist_entry(entry, struct ioengine_ops, list); log_info("\t%s\n", io_ops->name); } return 0; } sep = strchr(engine, ','); if (sep) { *sep = 0; sep++; } td.o.ioengine = (char *)engine; td.io_ops = load_ioengine(&td); if (!td.io_ops) { log_info("IO engine %s not found\n", engine); return 1; } if (td.io_ops->options) ret = show_cmd_help(td.io_ops->options, sep); else log_info("IO engine %s has no options\n", td.io_ops->name); free_ioengine(&td); return ret; } fio-3.39/ioengines.h000066400000000000000000000137431476262051600143770ustar00rootroot00000000000000#ifndef FIO_IOENGINE_H #define FIO_IOENGINE_H #include #include "compiler/compiler.h" #include "flist.h" #include "io_u.h" #include "zbd_types.h" #include "dataplacement.h" #define FIO_IOOPS_VERSION 36 #ifndef CONFIG_DYNAMIC_ENGINES #define FIO_STATIC static #else #define FIO_STATIC #endif /* * io_ops->queue() return values */ enum fio_q_status { FIO_Q_COMPLETED = 0, /* completed sync */ FIO_Q_QUEUED = 1, /* queued, will complete async */ FIO_Q_BUSY = 2, /* no more room, call ->commit() */ }; struct ioengine_ops { struct flist_head list; const char *name; int version; int flags; void *dlhandle; int (*setup)(struct thread_data *); int (*init)(struct thread_data *); int (*post_init)(struct thread_data *); int (*prep)(struct thread_data *, struct io_u *); enum fio_q_status (*queue)(struct thread_data *, struct io_u *); int (*commit)(struct thread_data *); int (*getevents)(struct thread_data *, unsigned int, unsigned int, const struct timespec *); struct io_u *(*event)(struct thread_data *, int); char *(*errdetails)(struct thread_data *, struct io_u *); int (*cancel)(struct thread_data *, struct io_u *); void (*cleanup)(struct thread_data *); int (*open_file)(struct thread_data *, struct fio_file *); int (*close_file)(struct thread_data *, struct fio_file *); int (*invalidate)(struct thread_data *, struct fio_file *); int (*unlink_file)(struct thread_data *, struct fio_file *); int (*get_file_size)(struct thread_data *, struct fio_file *); int (*prepopulate_file)(struct thread_data *, struct fio_file *); void (*terminate)(struct thread_data *); int (*iomem_alloc)(struct thread_data *, size_t); void (*iomem_free)(struct thread_data *); int (*io_u_init)(struct thread_data *, struct io_u *); void (*io_u_free)(struct thread_data *, struct io_u *); int (*get_zoned_model)(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *); int (*report_zones)(struct thread_data *, struct fio_file *, uint64_t, struct zbd_zone *, unsigned int); int (*reset_wp)(struct thread_data *, struct fio_file *, uint64_t, uint64_t); int (*get_max_open_zones)(struct thread_data *, struct fio_file *, unsigned int *); int (*get_max_active_zones)(struct thread_data *, struct fio_file *, unsigned int *); int (*finish_zone)(struct thread_data *, struct fio_file *, uint64_t, uint64_t); int (*fdp_fetch_ruhs)(struct thread_data *, struct fio_file *, struct fio_ruhs_info *); int option_struct_size; struct fio_option *options; }; enum { __FIO_SYNCIO = 0, /* io engine has synchronous ->queue */ __FIO_RAWIO, /* some sort of direct/raw io */ __FIO_DISKLESSIO, /* no disk involved */ __FIO_NOEXTEND, /* engine can't extend file */ __FIO_NODISKUTIL, /* diskutil can't handle filename */ __FIO_UNIDIR, /* engine is uni-directional */ __FIO_NOIO, /* thread does only pseudo IO */ __FIO_PIPEIO, /* input/output no seekable */ __FIO_BARRIER, /* engine supports barriers */ __FIO_MEMALIGN, /* engine wants aligned memory */ __FIO_BIT_BASED, /* engine uses a bit base (e.g. uses Kbit as opposed to KB) */ __FIO_FAKEIO, /* engine pretends to do IO */ __FIO_NOSTATS, /* don't do IO stats */ __FIO_NOFILEHASH, /* doesn't hash the files for lookup later. */ __FIO_ASYNCIO_SYNC_TRIM, /* io engine has async ->queue except for trim */ __FIO_NO_OFFLOAD, /* no async offload */ __FIO_ASYNCIO_SETS_ISSUE_TIME, /* async ioengine with commit function that sets issue_time */ __FIO_SKIPPABLE_IOMEM_ALLOC, /* skip iomem_alloc & iomem_free if job sets mem/iomem */ __FIO_RO_NEEDS_RW_OPEN, /* open files in rw mode even if we have a read job; only affects ioengines using generic_open_file */ __FIO_MULTI_RANGE_TRIM, /* ioengine supports trim with more than one range */ __FIO_ATOMICWRITES, /* ioengine supports atomic writes */ __FIO_IOENGINE_F_LAST, /* not a real bit; used to count number of bits */ }; enum fio_ioengine_flags { FIO_SYNCIO = 1 << __FIO_SYNCIO, FIO_RAWIO = 1 << __FIO_RAWIO, FIO_DISKLESSIO = 1 << __FIO_DISKLESSIO, FIO_NOEXTEND = 1 << __FIO_NOEXTEND, FIO_NODISKUTIL = 1 << __FIO_NODISKUTIL, FIO_UNIDIR = 1 << __FIO_UNIDIR, FIO_NOIO = 1 << __FIO_NOIO, FIO_PIPEIO = 1 << __FIO_PIPEIO, FIO_BARRIER = 1 << __FIO_BARRIER, FIO_MEMALIGN = 1 << __FIO_MEMALIGN, FIO_BIT_BASED = 1 << __FIO_BIT_BASED, FIO_FAKEIO = 1 << __FIO_FAKEIO, FIO_NOSTATS = 1 << __FIO_NOSTATS, FIO_NOFILEHASH = 1 << __FIO_NOFILEHASH, FIO_ASYNCIO_SYNC_TRIM = 1 << __FIO_ASYNCIO_SYNC_TRIM, FIO_NO_OFFLOAD = 1 << __FIO_NO_OFFLOAD, FIO_ASYNCIO_SETS_ISSUE_TIME = 1 << __FIO_ASYNCIO_SETS_ISSUE_TIME, FIO_SKIPPABLE_IOMEM_ALLOC = 1 << __FIO_SKIPPABLE_IOMEM_ALLOC, FIO_RO_NEEDS_RW_OPEN = 1 << __FIO_RO_NEEDS_RW_OPEN, FIO_MULTI_RANGE_TRIM = 1 << __FIO_MULTI_RANGE_TRIM, FIO_ATOMICWRITES = 1 << __FIO_ATOMICWRITES, }; /* * External engine defined symbol to fill in the engine ops structure */ typedef void (*get_ioengine_t)(struct ioengine_ops **); /* * io engine entry points */ extern int __must_check td_io_init(struct thread_data *); extern int __must_check td_io_prep(struct thread_data *, struct io_u *); extern enum fio_q_status __must_check td_io_queue(struct thread_data *, struct io_u *); extern int __must_check td_io_getevents(struct thread_data *, unsigned int, unsigned int, const struct timespec *); extern void td_io_commit(struct thread_data *); extern int __must_check td_io_open_file(struct thread_data *, struct fio_file *); extern int td_io_close_file(struct thread_data *, struct fio_file *); extern int td_io_unlink_file(struct thread_data *, struct fio_file *); extern int __must_check td_io_get_file_size(struct thread_data *, struct fio_file *); extern struct ioengine_ops *load_ioengine(struct thread_data *); extern void register_ioengine(struct ioengine_ops *); extern void unregister_ioengine(struct ioengine_ops *); extern void free_ioengine(struct thread_data *); extern void close_ioengine(struct thread_data *); extern int fio_show_ioengine_help(const char *engine); #endif fio-3.39/iolog.c000066400000000000000000001212451476262051600135200ustar00rootroot00000000000000/* * Code related to writing an iolog of what a thread is doing, and to * later read that back and replay */ #include #include #include #include #include #include #ifdef CONFIG_ZLIB #include #endif #include "flist.h" #include "fio.h" #include "trim.h" #include "filelock.h" #include "smalloc.h" #include "blktrace.h" #include "pshared.h" #include "lib/roundup.h" #include #include #include #include #include #include static int iolog_flush(struct io_log *log); static const char iolog_ver2[] = "fio version 2 iolog"; static const char iolog_ver3[] = "fio version 3 iolog"; void queue_io_piece(struct thread_data *td, struct io_piece *ipo) { flist_add_tail(&ipo->list, &td->io_log_list); td->total_io_size += ipo->len; } void log_io_u(const struct thread_data *td, const struct io_u *io_u) { struct timespec now; if (!td->o.write_iolog_file) return; fio_gettime(&now, NULL); fprintf(td->iolog_f, "%llu %s %s %llu %llu\n", (unsigned long long) utime_since_now(&td->io_log_start_time), io_u->file->file_name, io_ddir_name(io_u->ddir), io_u->offset, io_u->buflen); } void log_file(struct thread_data *td, struct fio_file *f, enum file_log_act what) { const char *act[] = { "add", "open", "close" }; struct timespec now; assert(what < 3); if (!td->o.write_iolog_file) return; /* * this happens on the pre-open/close done before the job starts */ if (!td->iolog_f) return; fio_gettime(&now, NULL); fprintf(td->iolog_f, "%llu %s %s\n", (unsigned long long) utime_since_now(&td->io_log_start_time), f->file_name, act[what]); } static void iolog_delay(struct thread_data *td, unsigned long delay) { uint64_t usec = utime_since_now(&td->last_issue); unsigned long orig_delay = delay; struct timespec ts; int ret = 0; if (delay < td->time_offset) { td->time_offset = 0; return; } delay -= td->time_offset; if (delay < usec) return; delay -= usec; fio_gettime(&ts, NULL); while (delay && !td->terminate) { ret = io_u_queued_complete(td, 0); if (ret < 0) td_verror(td, -ret, "io_u_queued_complete"); if (td->flags & TD_F_REGROW_LOGS) regrow_logs(td); if (utime_since_now(&ts) > delay) break; } usec = utime_since_now(&ts); if (usec > orig_delay) td->time_offset = usec - orig_delay; else td->time_offset = 0; } static int ipo_special(struct thread_data *td, struct io_piece *ipo) { struct fio_file *f; int ret; /* * Not a special ipo */ if (ipo->ddir != DDIR_INVAL) return 0; f = td->files[ipo->fileno]; if (ipo->delay) iolog_delay(td, ipo->delay); if (fio_fill_issue_time(td)) fio_gettime(&td->last_issue, NULL); switch (ipo->file_action) { case FIO_LOG_OPEN_FILE: if (td->o.replay_redirect && fio_file_open(f)) { dprint(FD_FILE, "iolog: ignoring re-open of file %s\n", f->file_name); break; } ret = td_io_open_file(td, f); if (!ret) { if (td->o.dp_type != FIO_DP_NONE) { int dp_init_ret = dp_init(td); if (dp_init_ret != 0) { td_verror(td, abs(dp_init_ret), "dp_init"); return -1; } } break; } td_verror(td, ret, "iolog open file"); return -1; case FIO_LOG_CLOSE_FILE: td_io_close_file(td, f); break; case FIO_LOG_UNLINK_FILE: td_io_unlink_file(td, f); break; case FIO_LOG_ADD_FILE: /* * Nothing to do */ break; default: log_err("fio: bad file action %d\n", ipo->file_action); break; } return 1; } static bool read_iolog(struct thread_data *td); unsigned long long delay_since_ttime(const struct thread_data *td, unsigned long long time) { double tmp; double scale; const unsigned long long *last_ttime = &td->io_log_last_ttime; if (!*last_ttime || td->o.no_stall || time < *last_ttime) return 0; else if (td->o.replay_time_scale == 100) return time - *last_ttime; scale = (double) 100.0 / (double) td->o.replay_time_scale; tmp = time - *last_ttime; return tmp * scale; } int read_iolog_get(struct thread_data *td, struct io_u *io_u) { struct io_piece *ipo; unsigned long elapsed; while (!flist_empty(&td->io_log_list)) { int ret; if (td->o.read_iolog_chunked) { if (td->io_log_checkmark == td->io_log_current) { if (td->io_log_blktrace) { if (!read_blktrace(td)) return 1; } else { if (!read_iolog(td)) return 1; } } td->io_log_current--; } ipo = flist_first_entry(&td->io_log_list, struct io_piece, list); flist_del(&ipo->list); remove_trim_entry(td, ipo); ret = ipo_special(td, ipo); if (ret < 0) { free(ipo); break; } else if (ret > 0) { free(ipo); continue; } io_u->ddir = ipo->ddir; if (ipo->ddir != DDIR_WAIT) { io_u->offset = ipo->offset; io_u->verify_offset = ipo->offset; io_u->buflen = ipo->len; io_u->file = td->files[ipo->fileno]; get_file(io_u->file); dprint(FD_IO, "iolog: get %llu/%llu/%s\n", io_u->offset, io_u->buflen, io_u->file->file_name); if (ipo->delay) iolog_delay(td, ipo->delay); if (td->o.dp_type != FIO_DP_NONE) dp_fill_dspec_data(td, io_u); } else { elapsed = mtime_since_genesis(); if (ipo->delay > elapsed) usec_sleep(td, (ipo->delay - elapsed) * 1000); } free(ipo); if (io_u->ddir != DDIR_WAIT) return 0; } td->done = 1; return 1; } void prune_io_piece_log(struct thread_data *td) { struct io_piece *ipo; struct fio_rb_node *n; while ((n = rb_first(&td->io_hist_tree)) != NULL) { ipo = rb_entry(n, struct io_piece, rb_node); rb_erase(n, &td->io_hist_tree); remove_trim_entry(td, ipo); td->io_hist_len--; free(ipo); } while (!flist_empty(&td->io_hist_list)) { ipo = flist_first_entry(&td->io_hist_list, struct io_piece, list); flist_del(&ipo->list); remove_trim_entry(td, ipo); td->io_hist_len--; free(ipo); } } /* * log a successful write, so we can unwind the log for verify */ void log_io_piece(struct thread_data *td, struct io_u *io_u) { struct fio_rb_node **p, *parent; struct io_piece *ipo, *__ipo; ipo = calloc(1, sizeof(struct io_piece)); init_ipo(ipo); ipo->file = io_u->file; ipo->offset = io_u->offset; ipo->len = io_u->buflen; ipo->numberio = io_u->numberio; ipo->flags = IP_F_IN_FLIGHT; io_u->ipo = ipo; if (io_u_should_trim(td, io_u)) { flist_add_tail(&ipo->trim_list, &td->trim_list); td->trim_entries++; } /* * Sort writes if we don't have a random map in which case we need to * check for duplicate blocks and drop the old one, which we rely on * the rb insert/lookup for handling. Sort writes if we have offset * modifier which can also create duplicate blocks. */ if (!fio_offset_overlap_risk(td)) { INIT_FLIST_HEAD(&ipo->list); flist_add_tail(&ipo->list, &td->io_hist_list); ipo->flags |= IP_F_ONLIST; td->io_hist_len++; return; } RB_CLEAR_NODE(&ipo->rb_node); /* * Sort the entry into the verification list */ restart: p = &td->io_hist_tree.rb_node; parent = NULL; while (*p) { int overlap = 0; parent = *p; __ipo = rb_entry(parent, struct io_piece, rb_node); if (ipo->file < __ipo->file) p = &(*p)->rb_left; else if (ipo->file > __ipo->file) p = &(*p)->rb_right; else if (ipo->offset < __ipo->offset) { p = &(*p)->rb_left; overlap = ipo->offset + ipo->len > __ipo->offset; } else if (ipo->offset > __ipo->offset) { p = &(*p)->rb_right; overlap = __ipo->offset + __ipo->len > ipo->offset; } else overlap = 1; if (overlap) { dprint(FD_IO, "iolog: overlap %llu/%lu, %llu/%lu\n", __ipo->offset, __ipo->len, ipo->offset, ipo->len); td->io_hist_len--; rb_erase(parent, &td->io_hist_tree); remove_trim_entry(td, __ipo); if (!(__ipo->flags & IP_F_IN_FLIGHT)) free(__ipo); goto restart; } } rb_link_node(&ipo->rb_node, parent, p); rb_insert_color(&ipo->rb_node, &td->io_hist_tree); ipo->flags |= IP_F_ONRB; td->io_hist_len++; } void unlog_io_piece(struct thread_data *td, struct io_u *io_u) { struct io_piece *ipo = io_u->ipo; if (td->ts.nr_block_infos) { uint32_t *info = io_u_block_info(td, io_u); if (BLOCK_INFO_STATE(*info) < BLOCK_STATE_TRIM_FAILURE) { if (io_u->ddir == DDIR_TRIM) *info = BLOCK_INFO_SET_STATE(*info, BLOCK_STATE_TRIM_FAILURE); else if (io_u->ddir == DDIR_WRITE) *info = BLOCK_INFO_SET_STATE(*info, BLOCK_STATE_WRITE_FAILURE); } } if (!ipo) return; if (ipo->flags & IP_F_ONRB) rb_erase(&ipo->rb_node, &td->io_hist_tree); else if (ipo->flags & IP_F_ONLIST) flist_del(&ipo->list); free(ipo); io_u->ipo = NULL; td->io_hist_len--; } void trim_io_piece(const struct io_u *io_u) { struct io_piece *ipo = io_u->ipo; if (!ipo) return; ipo->len = io_u->xfer_buflen - io_u->resid; } void write_iolog_close(struct thread_data *td) { if (!td->iolog_f) return; fflush(td->iolog_f); fclose(td->iolog_f); free(td->iolog_buf); td->iolog_f = NULL; td->iolog_buf = NULL; } int64_t iolog_items_to_fetch(struct thread_data *td) { struct timespec now; uint64_t elapsed; uint64_t for_1s; int64_t items_to_fetch; if (!td->io_log_highmark) return 10; fio_gettime(&now, NULL); elapsed = ntime_since(&td->io_log_highmark_time, &now); if (elapsed) { for_1s = (td->io_log_highmark - td->io_log_current) * 1000000000 / elapsed; items_to_fetch = for_1s - td->io_log_current; if (items_to_fetch < 0) items_to_fetch = 0; } else items_to_fetch = 0; td->io_log_highmark = td->io_log_current + items_to_fetch; td->io_log_checkmark = (td->io_log_highmark + 1) / 2; fio_gettime(&td->io_log_highmark_time, NULL); return items_to_fetch; } #define io_act(_td, _r) (((_td)->io_log_version == 3 && (r) == 5) || \ ((_td)->io_log_version == 2 && (r) == 4)) #define file_act(_td, _r) (((_td)->io_log_version == 3 && (r) == 3) || \ ((_td)->io_log_version == 2 && (r) == 2)) /* * Read version 2 and 3 iolog data. It is enhanced to include per-file logging, * syncs, etc. */ static bool read_iolog(struct thread_data *td) { unsigned long long offset; unsigned int bytes; unsigned long long delay = 0; int reads, writes, trims, waits, fileno = 0, file_action = 0; /* stupid gcc */ char *rfname, *fname, *act; char *str, *p; enum fio_ddir rw; bool realloc = false; int64_t items_to_fetch = 0; int syncs; if (td->o.read_iolog_chunked) { items_to_fetch = iolog_items_to_fetch(td); if (!items_to_fetch) return true; } /* * Read in the read iolog and store it, reuse the infrastructure * for doing verifications. */ str = malloc(4096); rfname = fname = malloc(256+16); act = malloc(256+16); syncs = reads = writes = trims = waits = 0; while ((p = fgets(str, 4096, td->io_log_rfile)) != NULL) { struct io_piece *ipo; int r; unsigned long long ttime; if (td->io_log_version == 3) { r = sscanf(p, "%llu %256s %256s %llu %u", &ttime, rfname, act, &offset, &bytes); delay = delay_since_ttime(td, ttime); td->io_log_last_ttime = ttime; /* * "wait" is not allowed with version 3 */ if (!strcmp(act, "wait")) { log_err("iolog: ignoring wait command with" " version 3 for file %s\n", fname); continue; } } else /* version 2 */ r = sscanf(p, "%256s %256s %llu %u", rfname, act, &offset, &bytes); if (td->o.replay_redirect) fname = td->o.replay_redirect; if (io_act(td, r)) { /* * Check action first */ if (!strcmp(act, "wait")) rw = DDIR_WAIT; else if (!strcmp(act, "read")) { if (td->o.replay_skip & (1u << DDIR_READ)) continue; rw = DDIR_READ; } else if (!strcmp(act, "write")) { if (td->o.replay_skip & (1u << DDIR_WRITE)) continue; rw = DDIR_WRITE; } else if (!strcmp(act, "sync")) { if (td->o.replay_skip & (1u << DDIR_SYNC)) continue; rw = DDIR_SYNC; } else if (!strcmp(act, "datasync")) rw = DDIR_DATASYNC; else if (!strcmp(act, "trim")) { if (td->o.replay_skip & (1u << DDIR_TRIM)) continue; rw = DDIR_TRIM; } else { log_err("fio: bad iolog file action: %s\n", act); continue; } fileno = get_fileno(td, fname); } else if (file_act(td, r)) { rw = DDIR_INVAL; if (!strcmp(act, "add")) { if (td->o.replay_redirect && get_fileno(td, fname) != -1) { dprint(FD_FILE, "iolog: ignoring" " re-add of file %s\n", fname); } else { fileno = add_file(td, fname, td->subjob_number, 1); file_action = FIO_LOG_ADD_FILE; } } else if (!strcmp(act, "open")) { fileno = get_fileno(td, fname); file_action = FIO_LOG_OPEN_FILE; } else if (!strcmp(act, "close")) { fileno = get_fileno(td, fname); file_action = FIO_LOG_CLOSE_FILE; } else { log_err("fio: bad iolog file action: %s\n", act); continue; } } else { log_err("bad iolog%d: %s\n", td->io_log_version, p); continue; } if (rw == DDIR_READ) reads++; else if (rw == DDIR_WRITE) { /* * Don't add a write for ro mode */ if (read_only) continue; writes++; } else if (rw == DDIR_TRIM) { /* * Don't add a trim for ro mode */ if (read_only) continue; trims++; } else if (rw == DDIR_WAIT) { if (td->o.no_stall) continue; waits++; } else if (rw == DDIR_INVAL) { } else if (ddir_sync(rw)) { syncs++; } else { log_err("bad ddir: %d\n", rw); continue; } /* * Make note of file */ ipo = calloc(1, sizeof(*ipo)); init_ipo(ipo); ipo->ddir = rw; if (td->io_log_version == 3) ipo->delay = delay; if (rw == DDIR_WAIT) { ipo->delay = offset; } else { if (td->o.replay_scale) ipo->offset = offset / td->o.replay_scale; else ipo->offset = offset; ipo_bytes_align(td->o.replay_align, ipo); ipo->len = bytes; if (rw != DDIR_INVAL && bytes > td->o.max_bs[rw]) { realloc = true; td->o.max_bs[rw] = bytes; } ipo->fileno = fileno; ipo->file_action = file_action; td->o.size += bytes; } queue_io_piece(td, ipo); if (td->o.read_iolog_chunked) { td->io_log_current++; items_to_fetch--; if (items_to_fetch == 0) break; } } free(str); free(act); free(rfname); if (td->o.read_iolog_chunked) { td->io_log_highmark = td->io_log_current; td->io_log_checkmark = (td->io_log_highmark + 1) / 2; fio_gettime(&td->io_log_highmark_time, NULL); } if (writes && read_only) { log_err("fio: <%s> skips replay of %d writes due to" " read-only\n", td->o.name, writes); writes = 0; } if (syncs) td->flags |= TD_F_SYNCS; if (td->o.read_iolog_chunked) { if (td->io_log_current == 0) { return false; } td->o.td_ddir = TD_DDIR_RW; if (realloc && td->orig_buffer) { io_u_quiesce(td); free_io_mem(td); if (init_io_u_buffers(td)) return false; } return true; } if (!reads && !writes && !waits && !trims) return false; td->o.td_ddir = 0; if (reads) td->o.td_ddir |= TD_DDIR_READ; if (writes) td->o.td_ddir |= TD_DDIR_WRITE; if (trims) td->o.td_ddir |= TD_DDIR_TRIM; return true; } static bool is_socket(const char *path) { struct stat buf; int r; r = stat(path, &buf); if (r == -1) return false; return S_ISSOCK(buf.st_mode); } static int open_socket(const char *path) { struct sockaddr_un addr; int ret, fd; fd = socket(AF_UNIX, SOCK_STREAM, 0); if (fd < 0) return fd; addr.sun_family = AF_UNIX; if (snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", path) >= sizeof(addr.sun_path)) { log_err("%s: path name %s is too long for a Unix socket\n", __func__, path); } ret = connect(fd, (const struct sockaddr *)&addr, strlen(path) + sizeof(addr.sun_family)); if (!ret) return fd; close(fd); return -1; } /* * open iolog, check version, and call appropriate parser */ static bool init_iolog_read(struct thread_data *td, char *fname) { char buffer[256], *p; FILE *f = NULL; dprint(FD_IO, "iolog: name=%s\n", fname); if (is_socket(fname)) { int fd; fd = open_socket(fname); if (fd >= 0) f = fdopen(fd, "r"); } else if (!strcmp(fname, "-")) { f = stdin; } else f = fopen(fname, "r"); if (!f) { perror("fopen read iolog"); return false; } p = fgets(buffer, sizeof(buffer), f); if (!p) { td_verror(td, errno, "iolog read"); log_err("fio: unable to read iolog\n"); fclose(f); return false; } /* * versions 2 and 3 of the iolog store a specific string as the * first line, check for that */ if (!strncmp(iolog_ver2, buffer, strlen(iolog_ver2))) td->io_log_version = 2; else if (!strncmp(iolog_ver3, buffer, strlen(iolog_ver3))) td->io_log_version = 3; else { log_err("fio: iolog version 1 is no longer supported\n"); fclose(f); return false; } free_release_files(td); td->io_log_rfile = f; return read_iolog(td); } /* * Set up a log for storing io patterns. */ static bool init_iolog_write(struct thread_data *td) { struct fio_file *ff; FILE *f; unsigned int i; f = fopen(td->o.write_iolog_file, "a"); if (!f) { perror("fopen write iolog"); return false; } /* * That's it for writing, setup a log buffer and we're done. */ td->iolog_f = f; td->iolog_buf = malloc(8192); setvbuf(f, td->iolog_buf, _IOFBF, 8192); fio_gettime(&td->io_log_start_time, NULL); /* * write our version line */ if (fprintf(f, "%s\n", iolog_ver3) < 0) { perror("iolog init\n"); return false; } /* * add all known files */ for_each_file(td, ff, i) log_file(td, ff, FIO_LOG_ADD_FILE); return true; } bool init_iolog(struct thread_data *td) { bool ret; if (td->o.read_iolog_file) { int need_swap; char * fname = get_name_by_idx(td->o.read_iolog_file, td->subjob_number); /* * Check if it's a blktrace file and load that if possible. * Otherwise assume it's a normal log file and load that. */ if (is_blktrace(fname, &need_swap)) { td->io_log_blktrace = 1; ret = init_blktrace_read(td, fname, need_swap); } else { td->io_log_blktrace = 0; ret = init_iolog_read(td, fname); } free(fname); } else if (td->o.write_iolog_file) ret = init_iolog_write(td); else ret = true; if (!ret) td_verror(td, EINVAL, "failed initializing iolog"); init_disk_util(td); return ret; } void setup_log(struct io_log **log, struct log_params *p, const char *filename) { struct io_log *l; int i; struct io_u_plat_entry *entry; struct flist_head *list; l = scalloc(1, sizeof(*l)); assert(l); INIT_FLIST_HEAD(&l->io_logs); l->log_type = p->log_type; l->log_offset = p->log_offset; l->log_prio = p->log_prio; l->log_issue_time = p->log_issue_time; l->log_gz = p->log_gz; l->log_gz_store = p->log_gz_store; l->avg_msec = p->avg_msec; l->hist_msec = p->hist_msec; l->hist_coarseness = p->hist_coarseness; l->filename = strdup(filename); l->td = p->td; /* Initialize histogram lists for each r/w direction, * with initial io_u_plat of all zeros: */ for (i = 0; i < DDIR_RWDIR_CNT; i++) { list = &l->hist_window[i].list; INIT_FLIST_HEAD(list); entry = calloc(1, sizeof(struct io_u_plat_entry)); flist_add(&entry->list, list); } if (l->td && l->td->o.io_submit_mode != IO_MODE_OFFLOAD) { unsigned int def_samples = DEF_LOG_ENTRIES; struct io_logs *__p; __p = calloc(1, sizeof(*l->pending)); if (l->td->o.iodepth > DEF_LOG_ENTRIES) def_samples = roundup_pow2(l->td->o.iodepth); __p->max_samples = def_samples; __p->log = calloc(__p->max_samples, log_entry_sz(l)); l->pending = __p; } if (l->log_offset) l->log_ddir_mask = LOG_OFFSET_SAMPLE_BIT; if (l->log_prio) l->log_ddir_mask |= LOG_PRIO_SAMPLE_BIT; /* * The bandwidth-log option generates agg-read_bw.log, * agg-write_bw.log and agg-trim_bw.log for which l->td is NULL. * Check if l->td is valid before dereferencing it. */ if (l->td && l->td->o.log_max == IO_LOG_SAMPLE_BOTH) l->log_ddir_mask |= LOG_AVG_MAX_SAMPLE_BIT; if (l->log_issue_time) l->log_ddir_mask |= LOG_ISSUE_TIME_SAMPLE_BIT; INIT_FLIST_HEAD(&l->chunk_list); if (l->log_gz && !p->td) l->log_gz = 0; else if (l->log_gz || l->log_gz_store) { mutex_init_pshared(&l->chunk_lock); mutex_init_pshared(&l->deferred_free_lock); p->td->flags |= TD_F_COMPRESS_LOG; } *log = l; } #ifdef CONFIG_SETVBUF static void *set_file_buffer(FILE *f) { size_t size = 1048576; void *buf; buf = malloc(size); setvbuf(f, buf, _IOFBF, size); return buf; } static void clear_file_buffer(void *buf) { free(buf); } #else static void *set_file_buffer(FILE *f) { return NULL; } static void clear_file_buffer(void *buf) { } #endif void free_log(struct io_log *log) { while (!flist_empty(&log->io_logs)) { struct io_logs *cur_log; cur_log = flist_first_entry(&log->io_logs, struct io_logs, list); flist_del_init(&cur_log->list); free(cur_log->log); sfree(cur_log); } if (log->pending) { free(log->pending->log); free(log->pending); log->pending = NULL; } free(log->pending); free(log->filename); sfree(log); } uint64_t hist_sum(int j, int stride, uint64_t *io_u_plat, uint64_t *io_u_plat_last) { uint64_t sum; int k; if (io_u_plat_last) { for (k = sum = 0; k < stride; k++) sum += io_u_plat[j + k] - io_u_plat_last[j + k]; } else { for (k = sum = 0; k < stride; k++) sum += io_u_plat[j + k]; } return sum; } static void flush_hist_samples(FILE *f, int hist_coarseness, void *samples, uint64_t sample_size) { struct io_sample *s; bool log_offset, log_issue_time; uint64_t i, j, nr_samples; struct io_u_plat_entry *entry, *entry_before; uint64_t *io_u_plat; uint64_t *io_u_plat_before; int stride = 1 << hist_coarseness; if (!sample_size) return; s = __get_sample(samples, 0, 0, 0); log_offset = (s->__ddir & LOG_OFFSET_SAMPLE_BIT) != 0; log_issue_time = (s->__ddir & LOG_ISSUE_TIME_SAMPLE_BIT) != 0; nr_samples = sample_size / __log_entry_sz(log_offset, log_issue_time); for (i = 0; i < nr_samples; i++) { s = __get_sample(samples, log_offset, log_issue_time, i); entry = s->data.plat_entry; io_u_plat = entry->io_u_plat; entry_before = flist_first_entry(&entry->list, struct io_u_plat_entry, list); io_u_plat_before = entry_before->io_u_plat; fprintf(f, "%lu, %u, %llu, ", (unsigned long) s->time, io_sample_ddir(s), (unsigned long long) s->bs); for (j = 0; j < FIO_IO_U_PLAT_NR - stride; j += stride) { fprintf(f, "%llu, ", (unsigned long long) hist_sum(j, stride, io_u_plat, io_u_plat_before)); } fprintf(f, "%llu\n", (unsigned long long) hist_sum(FIO_IO_U_PLAT_NR - stride, stride, io_u_plat, io_u_plat_before)); flist_del(&entry_before->list); free(entry_before); } } static int print_sample_fields(char **p, size_t *left, const char *fmt, ...) { va_list ap; int ret; va_start(ap, fmt); ret = vsnprintf(*p, *left, fmt, ap); if (ret < 0 || ret >= *left) { log_err("sample file write failed: %d\n", ret); va_end(ap); return -1; } va_end(ap); *p += ret; *left -= ret; return 0; } /* * flush_samples - Generate output for log samples * Each sample output is built using a temporary buffer. This buffer size * assumptions are: * - Each sample has less than 10 fields * - Each sample field fits in 25 characters (20 digits for 64 bit number * and a few bytes delimiter) */ void flush_samples(FILE *f, void *samples, uint64_t sample_size) { struct io_sample *s; bool log_offset, log_prio, log_avg_max, log_issue_time; uint64_t i, nr_samples; char buf[256]; char *p; size_t left; int ret; if (!sample_size) return; s = __get_sample(samples, 0, 0, 0); log_offset = (s->__ddir & LOG_OFFSET_SAMPLE_BIT) != 0; log_prio = (s->__ddir & LOG_PRIO_SAMPLE_BIT) != 0; log_avg_max = (s->__ddir & LOG_AVG_MAX_SAMPLE_BIT) != 0; log_issue_time = (s->__ddir & LOG_ISSUE_TIME_SAMPLE_BIT) != 0; nr_samples = sample_size / __log_entry_sz(log_offset, log_issue_time); for (i = 0; i < nr_samples; i++) { s = __get_sample(samples, log_offset, log_issue_time, i); p = buf; left = sizeof(buf); ret = print_sample_fields(&p, &left, "%" PRIu64 ", %" PRId64, s->time, s->data.val.val0); if (ret) return; if (log_avg_max) { ret = print_sample_fields(&p, &left, ", %" PRId64, s->data.val.val1); if (ret) return; } ret = print_sample_fields(&p, &left, ", %u, %llu", io_sample_ddir(s), (unsigned long long) s->bs); if (ret) return; if (log_offset) { ret = print_sample_fields(&p, &left, ", %llu", (unsigned long long) s->aux[IOS_AUX_OFFSET_INDEX]); if (ret) return; } if (log_prio) ret = print_sample_fields(&p, &left, ", 0x%04x", s->priority); else ret = print_sample_fields(&p, &left, ", %u", ioprio_value_is_class_rt(s->priority)); if (ret) return; if (log_issue_time) { ret = print_sample_fields(&p, &left, ", %llu", (unsigned long long) s->aux[IOS_AUX_ISSUE_TIME_INDEX]); if (ret) return; } fprintf(f, "%s\n", buf); } } #ifdef CONFIG_ZLIB struct iolog_flush_data { struct workqueue_work work; struct io_log *log; void *samples; uint32_t nr_samples; bool free; }; #define GZ_CHUNK 131072 static struct iolog_compress *get_new_chunk(unsigned int seq) { struct iolog_compress *c; c = malloc(sizeof(*c)); INIT_FLIST_HEAD(&c->list); c->buf = malloc(GZ_CHUNK); c->len = 0; c->seq = seq; return c; } static void free_chunk(struct iolog_compress *ic) { free(ic->buf); free(ic); } static int z_stream_init(z_stream *stream, int gz_hdr) { int wbits = 15; memset(stream, 0, sizeof(*stream)); stream->zalloc = Z_NULL; stream->zfree = Z_NULL; stream->opaque = Z_NULL; stream->next_in = Z_NULL; /* * zlib magic - add 32 for auto-detection of gz header or not, * if we decide to store files in a gzip friendly format. */ if (gz_hdr) wbits += 32; if (inflateInit2(stream, wbits) != Z_OK) return 1; return 0; } struct inflate_chunk_iter { unsigned int seq; int err; void *buf; size_t buf_size; size_t buf_used; size_t chunk_sz; }; static void finish_chunk(z_stream *stream, FILE *f, struct inflate_chunk_iter *iter) { int ret; ret = inflateEnd(stream); if (ret != Z_OK) log_err("fio: failed to end log inflation seq %d (%d)\n", iter->seq, ret); flush_samples(f, iter->buf, iter->buf_used); free(iter->buf); iter->buf = NULL; iter->buf_size = iter->buf_used = 0; } /* * Iterative chunk inflation. Handles cases where we cross into a new * sequence, doing flush finish of previous chunk if needed. */ static size_t inflate_chunk(struct iolog_compress *ic, int gz_hdr, FILE *f, z_stream *stream, struct inflate_chunk_iter *iter) { size_t ret; dprint(FD_COMPRESS, "inflate chunk size=%lu, seq=%u\n", (unsigned long) ic->len, ic->seq); if (ic->seq != iter->seq) { if (iter->seq) finish_chunk(stream, f, iter); z_stream_init(stream, gz_hdr); iter->seq = ic->seq; } stream->avail_in = ic->len; stream->next_in = ic->buf; if (!iter->buf_size) { iter->buf_size = iter->chunk_sz; iter->buf = malloc(iter->buf_size); } while (stream->avail_in) { size_t this_out = iter->buf_size - iter->buf_used; int err; stream->avail_out = this_out; stream->next_out = iter->buf + iter->buf_used; err = inflate(stream, Z_NO_FLUSH); if (err < 0) { log_err("fio: failed inflating log: %d\n", err); iter->err = err; break; } iter->buf_used += this_out - stream->avail_out; if (!stream->avail_out) { iter->buf_size += iter->chunk_sz; iter->buf = realloc(iter->buf, iter->buf_size); continue; } if (err == Z_STREAM_END) break; } ret = (void *) stream->next_in - ic->buf; dprint(FD_COMPRESS, "inflated to size=%lu\n", (unsigned long) iter->buf_size); return ret; } /* * Inflate stored compressed chunks, or write them directly to the log * file if so instructed. */ static int inflate_gz_chunks(struct io_log *log, FILE *f) { struct inflate_chunk_iter iter = { .chunk_sz = log->log_gz, }; z_stream stream; while (!flist_empty(&log->chunk_list)) { struct iolog_compress *ic; ic = flist_first_entry(&log->chunk_list, struct iolog_compress, list); flist_del(&ic->list); if (log->log_gz_store) { size_t ret; dprint(FD_COMPRESS, "log write chunk size=%lu, " "seq=%u\n", (unsigned long) ic->len, ic->seq); ret = fwrite(ic->buf, ic->len, 1, f); if (ret != 1 || ferror(f)) { iter.err = errno; log_err("fio: error writing compressed log\n"); } } else inflate_chunk(ic, log->log_gz_store, f, &stream, &iter); free_chunk(ic); } if (iter.seq) { finish_chunk(&stream, f, &iter); free(iter.buf); } return iter.err; } /* * Open compressed log file and decompress the stored chunks and * write them to stdout. The chunks are stored sequentially in the * file, so we iterate over them and do them one-by-one. */ int iolog_file_inflate(const char *file) { struct inflate_chunk_iter iter = { .chunk_sz = 64 * 1024 * 1024, }; struct iolog_compress ic; z_stream stream; struct stat sb; size_t ret; size_t total; void *buf; FILE *f; f = fopen(file, "rb"); if (!f) { perror("fopen"); return 1; } if (stat(file, &sb) < 0) { fclose(f); perror("stat"); return 1; } ic.buf = buf = malloc(sb.st_size); ic.len = sb.st_size; ic.seq = 1; ret = fread(ic.buf, ic.len, 1, f); if (ret == 0 && ferror(f)) { perror("fread"); fclose(f); free(buf); return 1; } else if (ferror(f) || (!feof(f) && ret != 1)) { log_err("fio: short read on reading log\n"); fclose(f); free(buf); return 1; } fclose(f); /* * Each chunk will return Z_STREAM_END. We don't know how many * chunks are in the file, so we just keep looping and incrementing * the sequence number until we have consumed the whole compressed * file. */ total = ic.len; do { size_t iret; iret = inflate_chunk(&ic, 1, stdout, &stream, &iter); total -= iret; if (!total) break; if (iter.err) break; ic.seq++; ic.len -= iret; ic.buf += iret; } while (1); if (iter.seq) { finish_chunk(&stream, stdout, &iter); free(iter.buf); } free(buf); return iter.err; } #else static int inflate_gz_chunks(struct io_log *log, FILE *f) { return 0; } int iolog_file_inflate(const char *file) { log_err("fio: log inflation not possible without zlib\n"); return 1; } #endif void flush_log(struct io_log *log, bool do_append) { void *buf; FILE *f; /* * If log_gz_store is true, we are writing a binary file. * Set the mode appropriately (on all platforms) to avoid issues * on windows (line-ending conversions, etc.) */ if (!do_append) if (log->log_gz_store) f = fopen(log->filename, "wb"); else f = fopen(log->filename, "w"); else if (log->log_gz_store) f = fopen(log->filename, "ab"); else f = fopen(log->filename, "a"); if (!f) { perror("fopen log"); return; } buf = set_file_buffer(f); inflate_gz_chunks(log, f); while (!flist_empty(&log->io_logs)) { struct io_logs *cur_log; cur_log = flist_first_entry(&log->io_logs, struct io_logs, list); flist_del_init(&cur_log->list); if (log->td && log == log->td->clat_hist_log) flush_hist_samples(f, log->hist_coarseness, cur_log->log, log_sample_sz(log, cur_log)); else flush_samples(f, cur_log->log, log_sample_sz(log, cur_log)); sfree(cur_log); } fclose(f); clear_file_buffer(buf); } static int finish_log(struct thread_data *td, struct io_log *log, int trylock) { if (td->flags & TD_F_COMPRESS_LOG) iolog_flush(log); if (trylock) { if (fio_trylock_file(log->filename)) return 1; } else fio_lock_file(log->filename); if (td->client_type == FIO_CLIENT_TYPE_GUI || is_backend) fio_send_iolog(td, log, log->filename); else flush_log(log, !td->o.per_job_logs); fio_unlock_file(log->filename); free_log(log); return 0; } size_t log_chunk_sizes(struct io_log *log) { struct flist_head *entry; size_t ret; if (flist_empty(&log->chunk_list)) return 0; ret = 0; pthread_mutex_lock(&log->chunk_lock); flist_for_each(entry, &log->chunk_list) { struct iolog_compress *c; c = flist_entry(entry, struct iolog_compress, list); ret += c->len; } pthread_mutex_unlock(&log->chunk_lock); return ret; } #ifdef CONFIG_ZLIB static void iolog_put_deferred(struct io_log *log, void *ptr) { if (!ptr) return; pthread_mutex_lock(&log->deferred_free_lock); if (log->deferred < IOLOG_MAX_DEFER) { log->deferred_items[log->deferred] = ptr; log->deferred++; } else if (!fio_did_warn(FIO_WARN_IOLOG_DROP)) log_err("fio: had to drop log entry free\n"); pthread_mutex_unlock(&log->deferred_free_lock); } static void iolog_free_deferred(struct io_log *log) { int i; if (!log->deferred) return; pthread_mutex_lock(&log->deferred_free_lock); for (i = 0; i < log->deferred; i++) { free(log->deferred_items[i]); log->deferred_items[i] = NULL; } log->deferred = 0; pthread_mutex_unlock(&log->deferred_free_lock); } static int gz_work(struct iolog_flush_data *data) { struct iolog_compress *c = NULL; struct flist_head list; unsigned int seq; z_stream stream; size_t total = 0; int ret; INIT_FLIST_HEAD(&list); memset(&stream, 0, sizeof(stream)); stream.zalloc = Z_NULL; stream.zfree = Z_NULL; stream.opaque = Z_NULL; ret = deflateInit(&stream, Z_DEFAULT_COMPRESSION); if (ret != Z_OK) { log_err("fio: failed to init gz stream\n"); goto err; } seq = ++data->log->chunk_seq; stream.next_in = (void *) data->samples; stream.avail_in = data->nr_samples * log_entry_sz(data->log); dprint(FD_COMPRESS, "deflate input size=%lu, seq=%u, log=%s\n", (unsigned long) stream.avail_in, seq, data->log->filename); do { if (c) dprint(FD_COMPRESS, "seq=%d, chunk=%lu\n", seq, (unsigned long) c->len); c = get_new_chunk(seq); stream.avail_out = GZ_CHUNK; stream.next_out = c->buf; ret = deflate(&stream, Z_NO_FLUSH); if (ret < 0) { log_err("fio: deflate log (%d)\n", ret); free_chunk(c); goto err; } c->len = GZ_CHUNK - stream.avail_out; flist_add_tail(&c->list, &list); total += c->len; } while (stream.avail_in); stream.next_out = c->buf + c->len; stream.avail_out = GZ_CHUNK - c->len; ret = deflate(&stream, Z_FINISH); if (ret < 0) { /* * Z_BUF_ERROR is special, it just means we need more * output space. We'll handle that below. Treat any other * error as fatal. */ if (ret != Z_BUF_ERROR) { log_err("fio: deflate log (%d)\n", ret); flist_del(&c->list); free_chunk(c); goto err; } } total -= c->len; c->len = GZ_CHUNK - stream.avail_out; total += c->len; dprint(FD_COMPRESS, "seq=%d, chunk=%lu\n", seq, (unsigned long) c->len); if (ret != Z_STREAM_END) { do { c = get_new_chunk(seq); stream.avail_out = GZ_CHUNK; stream.next_out = c->buf; ret = deflate(&stream, Z_FINISH); c->len = GZ_CHUNK - stream.avail_out; total += c->len; flist_add_tail(&c->list, &list); dprint(FD_COMPRESS, "seq=%d, chunk=%lu\n", seq, (unsigned long) c->len); } while (ret != Z_STREAM_END); } dprint(FD_COMPRESS, "deflated to size=%lu\n", (unsigned long) total); ret = deflateEnd(&stream); if (ret != Z_OK) log_err("fio: deflateEnd %d\n", ret); iolog_put_deferred(data->log, data->samples); if (!flist_empty(&list)) { pthread_mutex_lock(&data->log->chunk_lock); flist_splice_tail(&list, &data->log->chunk_list); pthread_mutex_unlock(&data->log->chunk_lock); } ret = 0; done: if (data->free) sfree(data); return ret; err: while (!flist_empty(&list)) { c = flist_first_entry(list.next, struct iolog_compress, list); flist_del(&c->list); free_chunk(c); } ret = 1; goto done; } /* * Invoked from our compress helper thread, when logging would have exceeded * the specified memory limitation. Compresses the previously stored * entries. */ static int gz_work_async(struct submit_worker *sw, struct workqueue_work *work) { return gz_work(container_of(work, struct iolog_flush_data, work)); } static int gz_init_worker(struct submit_worker *sw) { struct thread_data *td = sw->wq->td; if (!fio_option_is_set(&td->o, log_gz_cpumask)) return 0; if (fio_setaffinity(gettid(), td->o.log_gz_cpumask) == -1) { log_err("gz: failed to set CPU affinity\n"); return 1; } return 0; } static struct workqueue_ops log_compress_wq_ops = { .fn = gz_work_async, .init_worker_fn = gz_init_worker, .nice = 1, }; int iolog_compress_init(struct thread_data *td, struct sk_out *sk_out) { if (!(td->flags & TD_F_COMPRESS_LOG)) return 0; workqueue_init(td, &td->log_compress_wq, &log_compress_wq_ops, 1, sk_out); return 0; } void iolog_compress_exit(struct thread_data *td) { if (!(td->flags & TD_F_COMPRESS_LOG)) return; workqueue_exit(&td->log_compress_wq); } /* * Queue work item to compress the existing log entries. We reset the * current log to a small size, and reference the existing log in the * data that we queue for compression. Once compression has been done, * this old log is freed. Will not return until the log compression * has completed, and will flush all previous logs too */ static int iolog_flush(struct io_log *log) { struct iolog_flush_data *data; workqueue_flush(&log->td->log_compress_wq); data = malloc(sizeof(*data)); if (!data) return 1; data->log = log; data->free = false; while (!flist_empty(&log->io_logs)) { struct io_logs *cur_log; cur_log = flist_first_entry(&log->io_logs, struct io_logs, list); flist_del_init(&cur_log->list); data->samples = cur_log->log; data->nr_samples = cur_log->nr_samples; sfree(cur_log); gz_work(data); } free(data); return 0; } int iolog_cur_flush(struct io_log *log, struct io_logs *cur_log) { struct iolog_flush_data *data; data = smalloc(sizeof(*data)); if (!data) return 1; data->log = log; data->samples = cur_log->log; data->nr_samples = cur_log->nr_samples; data->free = true; cur_log->nr_samples = cur_log->max_samples = 0; cur_log->log = NULL; workqueue_enqueue(&log->td->log_compress_wq, &data->work); iolog_free_deferred(log); return 0; } #else static int iolog_flush(struct io_log *log) { return 1; } int iolog_cur_flush(struct io_log *log, struct io_logs *cur_log) { return 1; } int iolog_compress_init(struct thread_data *td, struct sk_out *sk_out) { return 0; } void iolog_compress_exit(struct thread_data *td) { } #endif struct io_logs *iolog_cur_log(struct io_log *log) { if (flist_empty(&log->io_logs)) return NULL; return flist_last_entry(&log->io_logs, struct io_logs, list); } uint64_t iolog_nr_samples(struct io_log *iolog) { struct flist_head *entry; uint64_t ret = 0; flist_for_each(entry, &iolog->io_logs) { struct io_logs *cur_log; cur_log = flist_entry(entry, struct io_logs, list); ret += cur_log->nr_samples; } return ret; } static int __write_log(struct thread_data *td, struct io_log *log, int try) { if (log) return finish_log(td, log, try); return 0; } static int write_iops_log(struct thread_data *td, int try, bool unit_log) { int ret; if (per_unit_log(td->iops_log) != unit_log) return 0; ret = __write_log(td, td->iops_log, try); if (!ret) td->iops_log = NULL; return ret; } static int write_slat_log(struct thread_data *td, int try, bool unit_log) { int ret; if (!unit_log) return 0; ret = __write_log(td, td->slat_log, try); if (!ret) td->slat_log = NULL; return ret; } static int write_clat_log(struct thread_data *td, int try, bool unit_log) { int ret; if (!unit_log) return 0; ret = __write_log(td, td->clat_log, try); if (!ret) td->clat_log = NULL; return ret; } static int write_clat_hist_log(struct thread_data *td, int try, bool unit_log) { int ret; if (!unit_log) return 0; ret = __write_log(td, td->clat_hist_log, try); if (!ret) td->clat_hist_log = NULL; return ret; } static int write_lat_log(struct thread_data *td, int try, bool unit_log) { int ret; if (!unit_log) return 0; ret = __write_log(td, td->lat_log, try); if (!ret) td->lat_log = NULL; return ret; } static int write_bandw_log(struct thread_data *td, int try, bool unit_log) { int ret; if (per_unit_log(td->bw_log) != unit_log) return 0; ret = __write_log(td, td->bw_log, try); if (!ret) td->bw_log = NULL; return ret; } enum { BW_LOG_MASK = 1, LAT_LOG_MASK = 2, SLAT_LOG_MASK = 4, CLAT_LOG_MASK = 8, IOPS_LOG_MASK = 16, CLAT_HIST_LOG_MASK = 32, ALL_LOG_NR = 6, }; struct log_type { unsigned int mask; int (*fn)(struct thread_data *, int, bool); }; static struct log_type log_types[] = { { .mask = BW_LOG_MASK, .fn = write_bandw_log, }, { .mask = LAT_LOG_MASK, .fn = write_lat_log, }, { .mask = SLAT_LOG_MASK, .fn = write_slat_log, }, { .mask = CLAT_LOG_MASK, .fn = write_clat_log, }, { .mask = IOPS_LOG_MASK, .fn = write_iops_log, }, { .mask = CLAT_HIST_LOG_MASK, .fn = write_clat_hist_log, } }; void td_writeout_logs(struct thread_data *td, bool unit_logs) { unsigned int log_mask = 0; unsigned int log_left = ALL_LOG_NR; int old_state, i; old_state = td_bump_runstate(td, TD_FINISHING); finalize_logs(td, unit_logs); while (log_left) { int prev_log_left = log_left; for (i = 0; i < ALL_LOG_NR && log_left; i++) { struct log_type *lt = &log_types[i]; int ret; if (!(log_mask & lt->mask)) { ret = lt->fn(td, log_left != 1, unit_logs); if (!ret) { log_left--; log_mask |= lt->mask; } } } if (prev_log_left == log_left) usleep(5000); } td_restore_runstate(td, old_state); } void fio_writeout_logs(bool unit_logs) { for_each_td(td) { td_writeout_logs(td, unit_logs); } end_for_each(); } fio-3.39/iolog.h000066400000000000000000000176371476262051600135360ustar00rootroot00000000000000#ifndef FIO_IOLOG_H #define FIO_IOLOG_H #include #include "lib/rbtree.h" #include "lib/ieee754.h" #include "flist.h" #include "ioengines.h" /* * Use for maintaining statistics */ struct io_stat { uint64_t max_val; uint64_t min_val; uint64_t samples; fio_fp64_t mean; fio_fp64_t S; }; struct io_hist { uint64_t samples; unsigned long hist_last; struct flist_head list; }; enum { IO_LOG_SAMPLE_AVG = 0, IO_LOG_SAMPLE_MAX, IO_LOG_SAMPLE_BOTH, }; struct io_sample_value { uint64_t val0; uint64_t val1; }; union io_sample_data { struct io_sample_value val; struct io_u_plat_entry *plat_entry; }; #define sample_val(value) ((union io_sample_data) { .val.val0 = value }) #define sample_plat(plat) ((union io_sample_data) { .plat_entry = plat }) /* * A single data sample */ struct io_sample { uint64_t time; union io_sample_data data; uint32_t __ddir; uint16_t priority; uint64_t bs; uint64_t aux[]; }; /* * Enumerate indexes of auxiliary log data in struct io_sample aux[] array */ enum { IOS_AUX_OFFSET_INDEX, IOS_AUX_ISSUE_TIME_INDEX, }; enum { IO_LOG_TYPE_LAT = 1, IO_LOG_TYPE_CLAT, IO_LOG_TYPE_SLAT, IO_LOG_TYPE_BW, IO_LOG_TYPE_IOPS, IO_LOG_TYPE_HIST, }; #define DEF_LOG_ENTRIES 1024 #define MAX_LOG_ENTRIES (1024 * DEF_LOG_ENTRIES) struct io_logs { struct flist_head list; uint64_t nr_samples; uint64_t max_samples; void *log; }; /* * Dynamically growing data sample log */ struct io_log { /* * Entries already logged */ struct flist_head io_logs; uint32_t cur_log_max; /* * When the current log runs out of space, store events here until * we have a chance to regrow */ struct io_logs *pending; unsigned int log_ddir_mask; char *filename; struct thread_data *td; unsigned int log_type; /* * If we fail extending the log, stop collecting more entries. */ bool disabled; /* * Log offsets */ unsigned int log_offset; /* * Log I/O priorities */ unsigned int log_prio; /* * Log I/O issuing time */ unsigned int log_issue_time; /* * Max size of log entries before a chunk is compressed */ unsigned int log_gz; /* * Don't deflate for storing, just store the compressed bits */ unsigned int log_gz_store; /* * Windowed average, for logging single entries average over some * period of time. */ struct io_stat avg_window[DDIR_RWDIR_CNT]; unsigned long avg_msec; unsigned long avg_last[DDIR_RWDIR_CNT]; /* * Windowed latency histograms, for keeping track of when we need to * save a copy of the histogram every approximately hist_msec * milliseconds. */ struct io_hist hist_window[DDIR_RWDIR_CNT]; unsigned long hist_msec; unsigned int hist_coarseness; pthread_mutex_t chunk_lock; unsigned int chunk_seq; struct flist_head chunk_list; pthread_mutex_t deferred_free_lock; #define IOLOG_MAX_DEFER 8 void *deferred_items[IOLOG_MAX_DEFER]; unsigned int deferred; }; /* * If the upper bit is set, then we have the offset as well */ #define LOG_OFFSET_SAMPLE_BIT 0x80000000U /* * If the bit following the upper bit is set, then we have the priority */ #define LOG_PRIO_SAMPLE_BIT 0x40000000U /* * If the bit following prioity sample vit is set, we report both avg and max */ #define LOG_AVG_MAX_SAMPLE_BIT 0x20000000U /* * If the bit following AVG_MAX_SAMPLE_BIT is set, we report the issue time also */ #define LOG_ISSUE_TIME_SAMPLE_BIT 0x10000000U #define LOG_SAMPLE_BITS (LOG_OFFSET_SAMPLE_BIT | LOG_PRIO_SAMPLE_BIT |\ LOG_AVG_MAX_SAMPLE_BIT |\ LOG_ISSUE_TIME_SAMPLE_BIT) #define io_sample_ddir(io) ((io)->__ddir & ~LOG_SAMPLE_BITS) static inline void io_sample_set_ddir(struct io_log *log, struct io_sample *io, enum fio_ddir ddir) { io->__ddir = ddir | log->log_ddir_mask; } static inline size_t __log_entry_sz(bool log_offset, bool log_issue_time) { size_t ret = sizeof(struct io_sample); if (log_offset) ret += sizeof(uint64_t); if (log_issue_time) ret += sizeof(uint64_t); return ret; } static inline size_t log_entry_sz(struct io_log *log) { return __log_entry_sz(log->log_offset, log->log_issue_time); } static inline size_t log_sample_sz(struct io_log *log, struct io_logs *cur_log) { return cur_log->nr_samples * log_entry_sz(log); } static inline struct io_sample *__get_sample(void *samples, bool log_offset, bool log_issue_time, uint64_t sample) { uint64_t sample_offset = sample * __log_entry_sz(log_offset, log_issue_time); return (struct io_sample *) ((char *) samples + sample_offset); } struct io_logs *iolog_cur_log(struct io_log *); uint64_t iolog_nr_samples(struct io_log *); void regrow_logs(struct thread_data *); void regrow_agg_logs(void); static inline struct io_sample *get_sample(struct io_log *iolog, struct io_logs *cur_log, uint64_t sample) { return __get_sample(cur_log->log, iolog->log_offset, iolog->log_issue_time, sample); } enum { IP_F_ONRB = 1, IP_F_ONLIST = 2, IP_F_TRIMMED = 4, IP_F_IN_FLIGHT = 8, }; /* * When logging io actions, this matches a single sent io_u */ struct io_piece { union { struct fio_rb_node rb_node; struct flist_head list; }; struct flist_head trim_list; union { int fileno; struct fio_file *file; }; unsigned long long offset; unsigned short numberio; unsigned long len; unsigned int flags; enum fio_ddir ddir; unsigned long delay; unsigned int file_action; }; /* * Log exports */ enum file_log_act { FIO_LOG_ADD_FILE, FIO_LOG_OPEN_FILE, FIO_LOG_CLOSE_FILE, FIO_LOG_UNLINK_FILE, }; struct io_u; extern int __must_check read_iolog_get(struct thread_data *, struct io_u *); extern void log_io_u(const struct thread_data *, const struct io_u *); extern void log_file(struct thread_data *, struct fio_file *, enum file_log_act); extern bool __must_check init_iolog(struct thread_data *td); extern void log_io_piece(struct thread_data *, struct io_u *); extern void unlog_io_piece(struct thread_data *, struct io_u *); extern void trim_io_piece(const struct io_u *); extern void queue_io_piece(struct thread_data *, struct io_piece *); extern void prune_io_piece_log(struct thread_data *); extern void write_iolog_close(struct thread_data *); int64_t iolog_items_to_fetch(struct thread_data *td); extern int iolog_compress_init(struct thread_data *, struct sk_out *); extern void iolog_compress_exit(struct thread_data *); extern size_t log_chunk_sizes(struct io_log *); extern int init_io_u_buffers(struct thread_data *); extern unsigned long long delay_since_ttime(const struct thread_data *, unsigned long long); #ifdef CONFIG_ZLIB extern int iolog_file_inflate(const char *); #endif /* * Logging */ struct log_params { struct thread_data *td; unsigned long avg_msec; unsigned long hist_msec; int hist_coarseness; int log_type; int log_offset; int log_prio; int log_issue_time; int log_gz; int log_gz_store; int log_compress; }; static inline bool per_unit_log(struct io_log *log) { return log && (!log->avg_msec || log->log_gz || log->log_gz_store); } static inline bool inline_log(struct io_log *log) { return log->log_type == IO_LOG_TYPE_LAT || log->log_type == IO_LOG_TYPE_CLAT || log->log_type == IO_LOG_TYPE_SLAT; } static inline void ipo_bytes_align(unsigned int replay_align, struct io_piece *ipo) { if (!replay_align) return; ipo->offset &= ~(replay_align - (uint64_t)1); } extern void finalize_logs(struct thread_data *td, bool); extern void setup_log(struct io_log **, struct log_params *, const char *); extern void flush_log(struct io_log *, bool); extern void flush_samples(FILE *, void *, uint64_t); extern uint64_t hist_sum(int, int, uint64_t *, uint64_t *); extern void free_log(struct io_log *); extern void fio_writeout_logs(bool); extern void td_writeout_logs(struct thread_data *, bool); extern int iolog_cur_flush(struct io_log *, struct io_logs *); static inline void init_ipo(struct io_piece *ipo) { INIT_FLIST_HEAD(&ipo->list); INIT_FLIST_HEAD(&ipo->trim_list); } struct iolog_compress { struct flist_head list; void *buf; size_t len; unsigned int seq; }; #endif fio-3.39/json.c000066400000000000000000000173331476262051600133620ustar00rootroot00000000000000#include #include #include #include #include "json.h" #include "log.h" struct json_object *json_create_object(void) { return calloc(1, sizeof(struct json_object)); } struct json_array *json_create_array(void) { return calloc(1, sizeof(struct json_array)); } static struct json_pair *json_create_pair(const char *name, struct json_value *value) { struct json_pair *pair = malloc(sizeof(struct json_pair)); if (pair) { pair->name = strdup(name); pair->value = value; value->parent_type = JSON_PARENT_TYPE_PAIR; value->parent_pair = pair; } return pair; } static struct json_value *json_create_value_int(long long number) { struct json_value *value = malloc(sizeof(struct json_value)); if (value) { value->type = JSON_TYPE_INTEGER; value->integer_number = number; } return value; } static struct json_value *json_create_value_float(double number) { struct json_value *value = malloc(sizeof(struct json_value)); if (value) { value->type = JSON_TYPE_FLOAT; value->float_number = number; } return value; } static char *strdup_escape(const char *str) { const char *input = str; char *p, *ret; int escapes; escapes = 0; while ((input = strpbrk(input, "\\\"")) != NULL) { escapes++; input++; } p = ret = malloc(strlen(str) + escapes + 1); while (*str) { if (*str == '\\' || *str == '\"') *p++ = '\\'; *p++ = *str++; } *p = '\0'; return ret; } /* * Valid JSON strings must escape '"' and '/' with a preceding '/' */ static struct json_value *json_create_value_string(const char *str) { struct json_value *value = malloc(sizeof(struct json_value)); if (value) { value->type = JSON_TYPE_STRING; value->string = strdup_escape(str); if (!value->string) { free(value); value = NULL; } } return value; } static struct json_value *json_create_value_object(struct json_object *obj) { struct json_value *value = malloc(sizeof(struct json_value)); if (value) { value->type = JSON_TYPE_OBJECT; value->object = obj; obj->parent = value; } return value; } static struct json_value *json_create_value_array(struct json_array *array) { struct json_value *value = malloc(sizeof(struct json_value)); if (value) { value->type = JSON_TYPE_ARRAY; value->array = array; array->parent = value; } return value; } static void json_free_pair(struct json_pair *pair); static void json_free_value(struct json_value *value); void json_free_object(struct json_object *obj) { int i; for (i = 0; i < obj->pair_cnt; i++) json_free_pair(obj->pairs[i]); free(obj->pairs); free(obj); } static void json_free_array(struct json_array *array) { int i; for (i = 0; i < array->value_cnt; i++) json_free_value(array->values[i]); free(array->values); free(array); } static void json_free_pair(struct json_pair *pair) { json_free_value(pair->value); free(pair->name); free(pair); } static void json_free_value(struct json_value *value) { switch (value->type) { case JSON_TYPE_STRING: free(value->string); break; case JSON_TYPE_OBJECT: json_free_object(value->object); break; case JSON_TYPE_ARRAY: json_free_array(value->array); break; } free(value); } static int json_array_add_value(struct json_array *array, struct json_value *value) { struct json_value **values = realloc(array->values, sizeof(struct json_value *) * (array->value_cnt + 1)); if (!values) return ENOMEM; values[array->value_cnt] = value; array->value_cnt++; array->values = values; value->parent_type = JSON_PARENT_TYPE_ARRAY; value->parent_array = array; return 0; } static int json_object_add_pair(struct json_object *obj, struct json_pair *pair) { struct json_pair **pairs = realloc(obj->pairs, sizeof(struct json_pair *) * (obj->pair_cnt + 1)); if (!pairs) return ENOMEM; pairs[obj->pair_cnt] = pair; obj->pair_cnt++; obj->pairs = pairs; pair->parent = obj; return 0; } int json_object_add_value_type(struct json_object *obj, const char *name, const struct json_value *arg) { struct json_value *value; struct json_pair *pair; int ret; switch (arg->type) { case JSON_TYPE_STRING: value = json_create_value_string(arg->string); break; case JSON_TYPE_INTEGER: value = json_create_value_int(arg->integer_number); break; case JSON_TYPE_FLOAT: value = json_create_value_float(arg->float_number); break; case JSON_TYPE_OBJECT: value = json_create_value_object(arg->object); break; default: case JSON_TYPE_ARRAY: value = json_create_value_array(arg->array); break; } if (!value) return ENOMEM; pair = json_create_pair(name, value); if (!pair) { json_free_value(value); return ENOMEM; } ret = json_object_add_pair(obj, pair); if (ret) { json_free_pair(pair); return ENOMEM; } return 0; } int json_array_add_value_type(struct json_array *array, const struct json_value *arg) { struct json_value *value; int ret; switch (arg->type) { case JSON_TYPE_STRING: value = json_create_value_string(arg->string); break; case JSON_TYPE_INTEGER: value = json_create_value_int(arg->integer_number); break; case JSON_TYPE_FLOAT: value = json_create_value_float(arg->float_number); break; case JSON_TYPE_OBJECT: value = json_create_value_object(arg->object); break; default: case JSON_TYPE_ARRAY: value = json_create_value_array(arg->array); break; } if (!value) return ENOMEM; ret = json_array_add_value(array, value); if (ret) { json_free_value(value); return ENOMEM; } return 0; } static int json_value_level(struct json_value *value); static int json_pair_level(struct json_pair *pair); static int json_array_level(struct json_array *array); static int json_object_level(struct json_object *object) { if (object->parent == NULL) return 0; return json_value_level(object->parent); } static int json_pair_level(struct json_pair *pair) { return json_object_level(pair->parent) + 1; } static int json_array_level(struct json_array *array) { return json_value_level(array->parent); } static int json_value_level(struct json_value *value) { if (value->parent_type == JSON_PARENT_TYPE_PAIR) return json_pair_level(value->parent_pair); else return json_array_level(value->parent_array) + 1; } static void json_print_level(int level, struct buf_output *out) { while (level-- > 0) log_buf(out, " "); } static void json_print_pair(struct json_pair *pair, struct buf_output *); static void json_print_value(struct json_value *value, struct buf_output *); void json_print_object(struct json_object *obj, struct buf_output *out) { int i; log_buf(out, "{\n"); for (i = 0; i < obj->pair_cnt; i++) { if (i > 0) log_buf(out, ",\n"); json_print_pair(obj->pairs[i], out); } log_buf(out, "\n"); json_print_level(json_object_level(obj), out); log_buf(out, "}"); } static void json_print_pair(struct json_pair *pair, struct buf_output *out) { json_print_level(json_pair_level(pair), out); log_buf(out, "\"%s\" : ", pair->name); json_print_value(pair->value, out); } static void json_print_array(struct json_array *array, struct buf_output *out) { int i; log_buf(out, "[\n"); for (i = 0; i < array->value_cnt; i++) { if (i > 0) log_buf(out, ",\n"); json_print_level(json_value_level(array->values[i]), out); json_print_value(array->values[i], out); } log_buf(out, "\n"); json_print_level(json_array_level(array), out); log_buf(out, "]"); } static void json_print_value(struct json_value *value, struct buf_output *out) { switch (value->type) { case JSON_TYPE_STRING: log_buf(out, "\"%s\"", value->string); break; case JSON_TYPE_INTEGER: log_buf(out, "%lld", value->integer_number); break; case JSON_TYPE_FLOAT: log_buf(out, "%f", value->float_number); break; case JSON_TYPE_OBJECT: json_print_object(value->object, out); break; case JSON_TYPE_ARRAY: json_print_array(value->array, out); break; } } fio-3.39/json.h000066400000000000000000000075051476262051600133670ustar00rootroot00000000000000#ifndef __JSON__H #define __JSON__H #include "lib/output_buffer.h" #define JSON_TYPE_STRING 0 #define JSON_TYPE_INTEGER 1 #define JSON_TYPE_FLOAT 2 #define JSON_TYPE_OBJECT 3 #define JSON_TYPE_ARRAY 4 #define JSON_PARENT_TYPE_PAIR 0 #define JSON_PARENT_TYPE_ARRAY 1 struct json_value { int type; union { long long integer_number; double float_number; char *string; struct json_object *object; struct json_array *array; }; int parent_type; union { struct json_pair *parent_pair; struct json_array *parent_array; }; }; struct json_array { struct json_value **values; int value_cnt; struct json_value *parent; }; struct json_object { struct json_pair **pairs; int pair_cnt; struct json_value *parent; }; struct json_pair { char *name; struct json_value *value; struct json_object *parent; }; struct json_object *json_create_object(void); struct json_array *json_create_array(void); void json_free_object(struct json_object *obj); int json_object_add_value_type(struct json_object *obj, const char *name, const struct json_value *val); static inline int json_object_add_value_int(struct json_object *obj, const char *name, long long val) { struct json_value arg = { .type = JSON_TYPE_INTEGER, }; arg.integer_number = val; return json_object_add_value_type(obj, name, &arg); } static inline int json_object_add_value_float(struct json_object *obj, const char *name, double val) { struct json_value arg = { .type = JSON_TYPE_FLOAT, }; arg.float_number = val; return json_object_add_value_type(obj, name, &arg); } static inline int json_object_add_value_string(struct json_object *obj, const char *name, const char *val) { struct json_value arg = { .type = JSON_TYPE_STRING, }; union { const char *a; char *b; } string; string.a = val ? val : ""; arg.string = string.b; return json_object_add_value_type(obj, name, &arg); } static inline int json_object_add_value_object(struct json_object *obj, const char *name, struct json_object *val) { struct json_value arg = { .type = JSON_TYPE_OBJECT, }; arg.object = val; return json_object_add_value_type(obj, name, &arg); } static inline int json_object_add_value_array(struct json_object *obj, const char *name, struct json_array *val) { struct json_value arg = { .type = JSON_TYPE_ARRAY, }; arg.array = val; return json_object_add_value_type(obj, name, &arg); } int json_array_add_value_type(struct json_array *array, const struct json_value *val); static inline int json_array_add_value_int(struct json_array *obj, long long val) { struct json_value arg = { .type = JSON_TYPE_INTEGER, }; arg.integer_number = val; return json_array_add_value_type(obj, &arg); } static inline int json_array_add_value_float(struct json_array *obj, double val) { struct json_value arg = { .type = JSON_TYPE_FLOAT, }; arg.float_number = val; return json_array_add_value_type(obj, &arg); } static inline int json_array_add_value_string(struct json_array *obj, const char *val) { struct json_value arg = { .type = JSON_TYPE_STRING, }; arg.string = (char *)val; return json_array_add_value_type(obj, &arg); } static inline int json_array_add_value_object(struct json_array *obj, struct json_object *val) { struct json_value arg = { .type = JSON_TYPE_OBJECT, }; arg.object = val; return json_array_add_value_type(obj, &arg); } static inline int json_array_add_value_array(struct json_array *obj, struct json_array *val) { struct json_value arg = { .type = JSON_TYPE_ARRAY, }; arg.array = val; return json_array_add_value_type(obj, &arg); } #define json_array_last_value_object(obj) \ (obj->values[obj->value_cnt - 1]->object) void json_print_object(struct json_object *obj, struct buf_output *out); #endif fio-3.39/lib/000077500000000000000000000000001476262051600130045ustar00rootroot00000000000000fio-3.39/lib/axmap.c000066400000000000000000000277121476262051600142670ustar00rootroot00000000000000/* * Bitmap of bitmaps, where each layer is number-of-bits-per-word smaller than * the previous. Hence an 'axmap', since we axe each previous layer into a * much smaller piece. I swear, that is why it's named like that. It has * nothing to do with anything remotely narcissistic. * * A set bit at layer N indicates a full word at layer N-1, and so forth. As * the bitmap becomes progressively more full, checking for existence * becomes cheaper (since fewer layers are walked, making it a lot more * cache friendly) and locating the next free space likewise. * * Axmaps get pretty close to optimal (1 bit per block) space usage, since * layers quickly diminish in size. Doing the size math is straight forward, * since we have log64(blocks) layers of maps. For 20000 blocks, overhead * is roughly 1.9%, or 1.019 bits per block. The number quickly converges * towards 1.0158, or 1.58% of overhead. */ #include #include #include #include #include "../arch/arch.h" #include "axmap.h" #include "../minmax.h" #if BITS_PER_LONG == 64 #define UNIT_SHIFT 6 #elif BITS_PER_LONG == 32 #define UNIT_SHIFT 5 #else #error "Number of arch bits unknown" #endif #define BLOCKS_PER_UNIT (1U << UNIT_SHIFT) #define BLOCKS_PER_UNIT_MASK (BLOCKS_PER_UNIT - 1) static const unsigned long bit_masks[] = { 0x0000000000000000, 0x0000000000000001, 0x0000000000000003, 0x0000000000000007, 0x000000000000000f, 0x000000000000001f, 0x000000000000003f, 0x000000000000007f, 0x00000000000000ff, 0x00000000000001ff, 0x00000000000003ff, 0x00000000000007ff, 0x0000000000000fff, 0x0000000000001fff, 0x0000000000003fff, 0x0000000000007fff, 0x000000000000ffff, 0x000000000001ffff, 0x000000000003ffff, 0x000000000007ffff, 0x00000000000fffff, 0x00000000001fffff, 0x00000000003fffff, 0x00000000007fffff, 0x0000000000ffffff, 0x0000000001ffffff, 0x0000000003ffffff, 0x0000000007ffffff, 0x000000000fffffff, 0x000000001fffffff, 0x000000003fffffff, 0x000000007fffffff, 0x00000000ffffffff, #if BITS_PER_LONG == 64 0x00000001ffffffff, 0x00000003ffffffff, 0x00000007ffffffff, 0x0000000fffffffff, 0x0000001fffffffff, 0x0000003fffffffff, 0x0000007fffffffff, 0x000000ffffffffff, 0x000001ffffffffff, 0x000003ffffffffff, 0x000007ffffffffff, 0x00000fffffffffff, 0x00001fffffffffff, 0x00003fffffffffff, 0x00007fffffffffff, 0x0000ffffffffffff, 0x0001ffffffffffff, 0x0003ffffffffffff, 0x0007ffffffffffff, 0x000fffffffffffff, 0x001fffffffffffff, 0x003fffffffffffff, 0x007fffffffffffff, 0x00ffffffffffffff, 0x01ffffffffffffff, 0x03ffffffffffffff, 0x07ffffffffffffff, 0x0fffffffffffffff, 0x1fffffffffffffff, 0x3fffffffffffffff, 0x7fffffffffffffff, 0xffffffffffffffff #endif }; /** * struct axmap_level - a bitmap used to implement struct axmap * @level: Level index. Each map has at least one level with index zero. The * higher the level index, the fewer bits a struct axmap_level contains. * @map_size: Number of elements of the @map array. * @map: A bitmap with @map_size elements. */ struct axmap_level { int level; unsigned long map_size; unsigned long *map; }; /** * struct axmap - a set that can store numbers 0 .. @nr_bits - 1 * @nr_level: Number of elements of the @levels array. * @levels: struct axmap_level array in which lower levels contain more bits * than higher levels. * @nr_bits: One more than the highest value stored in the set. */ struct axmap { unsigned int nr_levels; struct axmap_level *levels; uint64_t nr_bits; }; /* Remove all elements from the @axmap set */ void axmap_reset(struct axmap *axmap) { int i; for (i = 0; i < axmap->nr_levels; i++) { struct axmap_level *al = &axmap->levels[i]; memset(al->map, 0, al->map_size * sizeof(unsigned long)); } } void axmap_free(struct axmap *axmap) { unsigned int i; if (!axmap) return; for (i = 0; i < axmap->nr_levels; i++) free(axmap->levels[i].map); free(axmap->levels); free(axmap); } /* Allocate memory for a set that can store the numbers 0 .. @nr_bits - 1. */ struct axmap *axmap_new(uint64_t nr_bits) { struct axmap *axmap; unsigned int i, levels; axmap = malloc(sizeof(*axmap)); if (!axmap) return NULL; levels = 1; i = (nr_bits + BLOCKS_PER_UNIT - 1) >> UNIT_SHIFT; while (i > 1) { i = (i + BLOCKS_PER_UNIT - 1) >> UNIT_SHIFT; levels++; } axmap->nr_levels = levels; axmap->levels = calloc(axmap->nr_levels, sizeof(struct axmap_level)); if (!axmap->levels) goto free_axmap; axmap->nr_bits = nr_bits; for (i = 0; i < axmap->nr_levels; i++) { struct axmap_level *al = &axmap->levels[i]; nr_bits = (nr_bits + BLOCKS_PER_UNIT - 1) >> UNIT_SHIFT; al->level = i; al->map_size = nr_bits; al->map = malloc(al->map_size * sizeof(unsigned long)); if (!al->map) goto free_levels; } axmap_reset(axmap); return axmap; free_levels: for (i = 0; i < axmap->nr_levels; i++) free(axmap->levels[i].map); free(axmap->levels); free_axmap: free(axmap); return NULL; } /* * Call @func for each level, starting at level zero, until a level is found * for which @func returns true. Return false if none of the @func calls * returns true. */ static bool axmap_handler(struct axmap *axmap, uint64_t bit_nr, bool (*func)(struct axmap_level *, uint64_t, unsigned int, void *), void *data) { struct axmap_level *al; uint64_t index = bit_nr; int i; for (i = 0; i < axmap->nr_levels; i++) { unsigned long offset = index >> UNIT_SHIFT; unsigned int bit = index & BLOCKS_PER_UNIT_MASK; al = &axmap->levels[i]; if (func(al, offset, bit, data)) return true; if (index) index >>= UNIT_SHIFT; } return false; } /* * Call @func for each level, starting at the highest level, until a level is * found for which @func returns true. Return false if none of the @func calls * returns true. */ static bool axmap_handler_topdown(struct axmap *axmap, uint64_t bit_nr, bool (*func)(struct axmap_level *, uint64_t, unsigned int, void *)) { int i; for (i = axmap->nr_levels - 1; i >= 0; i--) { uint64_t index = bit_nr >> (UNIT_SHIFT * i); unsigned long offset = index >> UNIT_SHIFT; unsigned int bit = index & BLOCKS_PER_UNIT_MASK; if (func(&axmap->levels[i], offset, bit, NULL)) return true; } return false; } struct axmap_set_data { unsigned int nr_bits; unsigned int set_bits; }; /* * Set at most @__data->nr_bits bits in @al at offset @offset. Do not exceed * the boundary of the element at offset @offset. Return the number of bits * that have been set in @__data->set_bits if @al->level == 0. */ static bool axmap_set_fn(struct axmap_level *al, uint64_t offset, unsigned int bit, void *__data) { struct axmap_set_data *data = __data; unsigned long mask, overlap; unsigned int nr_bits; nr_bits = min(data->nr_bits, BLOCKS_PER_UNIT - bit); mask = bit_masks[nr_bits] << bit; /* * Mask off any potential overlap, only sets contig regions */ overlap = al->map[offset] & mask; if (overlap == mask) { data->set_bits = 0; return true; } if (overlap) { nr_bits = ffz(~overlap) - bit; if (!nr_bits) return true; mask = bit_masks[nr_bits] << bit; } assert(mask); assert(!(al->map[offset] & mask)); al->map[offset] |= mask; if (!al->level) data->set_bits = nr_bits; /* For the next level */ data->nr_bits = 1; return al->map[offset] != -1UL; } /* * Set up to @data->nr_bits starting from @bit_nr in @axmap. Start at * @bit_nr. If that bit has not yet been set then set it and continue until * either @data->nr_bits have been set or a 1 bit is found. Store the number * of bits that have been set in @data->set_bits. It is guaranteed that all * bits that have been requested to set fit in the same unsigned long word of * level 0 of @axmap. */ static void __axmap_set(struct axmap *axmap, uint64_t bit_nr, struct axmap_set_data *data) { unsigned int nr_bits = data->nr_bits; if (bit_nr > axmap->nr_bits) return; else if (bit_nr + nr_bits > axmap->nr_bits) nr_bits = axmap->nr_bits - bit_nr; assert(nr_bits <= BLOCKS_PER_UNIT); axmap_handler(axmap, bit_nr, axmap_set_fn, data); } void axmap_set(struct axmap *axmap, uint64_t bit_nr) { struct axmap_set_data data = { .nr_bits = 1, }; __axmap_set(axmap, bit_nr, &data); } /* * Set up to @nr_bits starting from @bit in @axmap. Start at @bit. If that * bit has not yet been set then set it and continue until either @nr_bits * have been set or a 1 bit is found. Return the number of bits that have been * set. */ unsigned int axmap_set_nr(struct axmap *axmap, uint64_t bit_nr, unsigned int nr_bits) { unsigned int set_bits = 0; do { struct axmap_set_data data = { .nr_bits = nr_bits, }; unsigned int max_bits, this_set; max_bits = BLOCKS_PER_UNIT - (bit_nr & BLOCKS_PER_UNIT_MASK); if (nr_bits > max_bits) data.nr_bits = max_bits; this_set = data.nr_bits; __axmap_set(axmap, bit_nr, &data); set_bits += data.set_bits; if (data.set_bits != this_set) break; nr_bits -= data.set_bits; bit_nr += data.set_bits; } while (nr_bits); return set_bits; } static bool axmap_isset_fn(struct axmap_level *al, uint64_t offset, unsigned int bit, void *unused) { return (al->map[offset] & (1ULL << bit)) != 0; } bool axmap_isset(struct axmap *axmap, uint64_t bit_nr) { if (bit_nr <= axmap->nr_bits) return axmap_handler_topdown(axmap, bit_nr, axmap_isset_fn); return false; } /* * Find the first free bit that is at least as large as bit_nr. Return * -1 if no free bit is found before the end of the map. */ static uint64_t axmap_find_first_free(struct axmap *axmap, uint64_t bit_nr) { int i; unsigned long temp; unsigned int bit; uint64_t offset, base_index, index; struct axmap_level *al; index = 0; for (i = axmap->nr_levels - 1; i >= 0; i--) { al = &axmap->levels[i]; /* Shift previously calculated index for next level */ index <<= UNIT_SHIFT; /* * Start from an index that's at least as large as the * originally passed in bit number. */ base_index = bit_nr >> (UNIT_SHIFT * i); if (index < base_index) index = base_index; /* Get the offset and bit for this level */ offset = index >> UNIT_SHIFT; bit = index & BLOCKS_PER_UNIT_MASK; /* * If the previous level had unused bits in its last * word, the offset could be bigger than the map at * this level. That means no free bits exist before the * end of the map, so return -1. */ if (offset >= al->map_size) return -1ULL; /* Check the first word starting with the specific bit */ temp = ~bit_masks[bit] & ~al->map[offset]; if (temp) goto found; /* * No free bit in the first word, so iterate * looking for a word with one or more free bits. */ for (offset++; offset < al->map_size; offset++) { temp = ~al->map[offset]; if (temp) goto found; } /* Did not find a free bit */ return -1ULL; found: /* Compute the index of the free bit just found */ index = (offset << UNIT_SHIFT) + ffz(~temp); } /* If found an unused bit in the last word of level 0, return -1 */ if (index >= axmap->nr_bits) return -1ULL; return index; } /* * 'bit_nr' is already set. Find the next free bit after this one. * Return -1 if no free bits found. */ uint64_t axmap_next_free(struct axmap *axmap, uint64_t bit_nr) { uint64_t ret; uint64_t next_bit = bit_nr + 1; unsigned long temp; uint64_t offset; unsigned int bit; if (bit_nr >= axmap->nr_bits) return -1ULL; /* If at the end of the map, wrap-around */ if (next_bit == axmap->nr_bits) next_bit = 0; offset = next_bit >> UNIT_SHIFT; bit = next_bit & BLOCKS_PER_UNIT_MASK; /* * As an optimization, do a quick check for a free bit * in the current word at level 0. If not found, do * a topdown search. */ temp = ~bit_masks[bit] & ~axmap->levels[0].map[offset]; if (temp) { ret = (offset << UNIT_SHIFT) + ffz(~temp); /* Might have found an unused bit at level 0 */ if (ret >= axmap->nr_bits) ret = -1ULL; } else ret = axmap_find_first_free(axmap, next_bit); /* * If there are no free bits starting at next_bit and going * to the end of the map, wrap around by searching again * starting at bit 0. */ if (ret == -1ULL && next_bit != 0) ret = axmap_find_first_free(axmap, 0); return ret; } fio-3.39/lib/axmap.h000066400000000000000000000007461476262051600142720ustar00rootroot00000000000000#ifndef FIO_BITMAP_H #define FIO_BITMAP_H #include #include "types.h" struct axmap; struct axmap *axmap_new(uint64_t nr_bits); void axmap_free(struct axmap *bm); void axmap_set(struct axmap *axmap, uint64_t bit_nr); unsigned int axmap_set_nr(struct axmap *axmap, uint64_t bit_nr, unsigned int nr_bits); bool axmap_isset(struct axmap *axmap, uint64_t bit_nr); uint64_t axmap_next_free(struct axmap *axmap, uint64_t bit_nr); void axmap_reset(struct axmap *axmap); #endif fio-3.39/lib/bloom.c000066400000000000000000000042331476262051600142620ustar00rootroot00000000000000#include #include "bloom.h" #include "../hash.h" #include "../crc/xxhash.h" #include "../crc/murmur3.h" #include "../crc/crc32c.h" #include "../crc/fnv.h" struct bloom { uint64_t nentries; uint32_t *map; }; #define BITS_PER_INDEX (sizeof(uint32_t) * 8) #define BITS_INDEX_MASK (BITS_PER_INDEX - 1) struct bloom_hash { unsigned int seed; uint32_t (*fn)(const void *, uint32_t, uint32_t); }; static uint32_t bloom_crc32c(const void *buf, uint32_t len, uint32_t seed) { return fio_crc32c(buf, len); } static uint32_t bloom_fnv(const void *buf, uint32_t len, uint32_t seed) { return fnv(buf, len, seed); } #define BLOOM_SEED 0x8989 static struct bloom_hash hashes[] = { { .seed = BLOOM_SEED, .fn = jhash, }, { .seed = BLOOM_SEED, .fn = XXH32, }, { .seed = BLOOM_SEED, .fn = murmurhash3, }, { .seed = BLOOM_SEED, .fn = bloom_crc32c, }, { .seed = BLOOM_SEED, .fn = bloom_fnv, }, }; #define N_HASHES 5 struct bloom *bloom_new(uint64_t entries) { struct bloom *b; size_t no_uints; crc32c_arm64_probe(); crc32c_intel_probe(); b = malloc(sizeof(*b)); b->nentries = entries; no_uints = (entries + BITS_PER_INDEX - 1) / BITS_PER_INDEX; b->map = calloc(no_uints, sizeof(uint32_t)); if (!b->map) { free(b); return NULL; } return b; } void bloom_free(struct bloom *b) { free(b->map); free(b); } static bool __bloom_check(struct bloom *b, const void *data, unsigned int len, bool set) { uint32_t hash[N_HASHES]; int i, was_set; for (i = 0; i < N_HASHES; i++) { hash[i] = hashes[i].fn(data, len, hashes[i].seed); hash[i] = hash[i] % b->nentries; } was_set = 0; for (i = 0; i < N_HASHES; i++) { const unsigned int index = hash[i] / BITS_PER_INDEX; const unsigned int bit = hash[i] & BITS_INDEX_MASK; if (b->map[index] & (1U << bit)) was_set++; else if (set) b->map[index] |= 1U << bit; else break; } return was_set == N_HASHES; } bool bloom_set(struct bloom *b, uint32_t *data, unsigned int nwords) { return __bloom_check(b, data, nwords * sizeof(uint32_t), true); } bool bloom_string(struct bloom *b, const char *data, unsigned int len, bool set) { return __bloom_check(b, data, len, set); } fio-3.39/lib/bloom.h000066400000000000000000000005221476262051600142640ustar00rootroot00000000000000#ifndef FIO_BLOOM_H #define FIO_BLOOM_H #include #include "../lib/types.h" struct bloom; struct bloom *bloom_new(uint64_t entries); void bloom_free(struct bloom *b); bool bloom_set(struct bloom *b, uint32_t *data, unsigned int nwords); bool bloom_string(struct bloom *b, const char *data, unsigned int len, bool); #endif fio-3.39/lib/bswap.h000066400000000000000000000015331476262051600142730ustar00rootroot00000000000000#ifndef FIO_BSWAP_H #define FIO_BSWAP_H #include #ifdef CONFIG_LITTLE_ENDIAN static inline uint32_t __be32_to_cpu(uint32_t val) { uint32_t c1, c2, c3, c4; c1 = (val >> 24) & 0xff; c2 = (val >> 16) & 0xff; c3 = (val >> 8) & 0xff; c4 = val & 0xff; return c1 | c2 << 8 | c3 << 16 | c4 << 24; } static inline uint64_t __be64_to_cpu(uint64_t val) { uint64_t c1, c2, c3, c4, c5, c6, c7, c8; c1 = (val >> 56) & 0xff; c2 = (val >> 48) & 0xff; c3 = (val >> 40) & 0xff; c4 = (val >> 32) & 0xff; c5 = (val >> 24) & 0xff; c6 = (val >> 16) & 0xff; c7 = (val >> 8) & 0xff; c8 = val & 0xff; return c1 | c2 << 8 | c3 << 16 | c4 << 24 | c5 << 32 | c6 << 40 | c7 << 48 | c8 << 56; } #else static inline uint64_t __be64_to_cpu(uint64_t val) { return val; } static inline uint32_t __be32_to_cpu(uint32_t val) { return val; } #endif #endif fio-3.39/lib/ffz.h000066400000000000000000000012111476262051600137350ustar00rootroot00000000000000#ifndef FIO_FFZ_H #define FIO_FFZ_H #include static inline int ffs64(uint64_t word) { int r = 0; if ((word & 0xffffffff) == 0) { r += 32; word >>= 32; } if (!(word & 0xffff)) { word >>= 16; r += 16; } if (!(word & 0xff)) { word >>= 8; r += 8; } if (!(word & 0xf)) { word >>= 4; r += 4; } if (!(word & 3)) { word >>= 2; r += 2; } if (!(word & 1)) r += 1; return r; } #ifndef ARCH_HAVE_FFZ static inline int ffz(unsigned long bitmask) { return ffs64(~bitmask); } #else #define ffz(bitmask) arch_ffz(bitmask) #endif static inline int ffz64(uint64_t bitmask) { return ffs64(~bitmask); } #endif fio-3.39/lib/flist_sort.c000066400000000000000000000066501476262051600153470ustar00rootroot00000000000000#include #include #include "../flist.h" #include "../log.h" #define MAX_LIST_LENGTH_BITS 20 /* * Returns a list organized in an intermediate format suited * to chaining of merge() calls: null-terminated, no reserved or * sentinel head node, "prev" links not maintained. */ static struct flist_head *merge(void *priv, int (*cmp)(void *priv, struct flist_head *a, struct flist_head *b), struct flist_head *a, struct flist_head *b) { struct flist_head head, *tail = &head; while (a && b) { /* if equal, take 'a' -- important for sort stability */ if ((*cmp)(priv, a, b) <= 0) { tail->next = a; a = a->next; } else { tail->next = b; b = b->next; } tail = tail->next; } tail->next = a?:b; return head.next; } /* * Combine final list merge with restoration of standard doubly-linked * list structure. This approach duplicates code from merge(), but * runs faster than the tidier alternatives of either a separate final * prev-link restoration pass, or maintaining the prev links * throughout. */ static void merge_and_restore_back_links(void *priv, int (*cmp)(void *priv, struct flist_head *a, struct flist_head *b), struct flist_head *head, struct flist_head *a, struct flist_head *b) { struct flist_head *tail = head; while (a && b) { /* if equal, take 'a' -- important for sort stability */ if ((*cmp)(priv, a, b) <= 0) { tail->next = a; a->prev = tail; a = a->next; } else { tail->next = b; b->prev = tail; b = b->next; } tail = tail->next; } tail->next = a ? : b; do { /* * In worst cases this loop may run many iterations. * Continue callbacks to the client even though no * element comparison is needed, so the client's cmp() * routine can invoke cond_resched() periodically. */ (*cmp)(priv, tail->next, tail->next); tail->next->prev = tail; tail = tail->next; } while (tail->next); tail->next = head; head->prev = tail; } /** * list_sort - sort a list * @priv: private data, opaque to list_sort(), passed to @cmp * @head: the list to sort * @cmp: the elements comparison function * * This function implements "merge sort", which has O(nlog(n)) * complexity. * * The comparison function @cmp must return a negative value if @a * should sort before @b, and a positive value if @a should sort after * @b. If @a and @b are equivalent, and their original relative * ordering is to be preserved, @cmp must return 0. */ void flist_sort(void *priv, struct flist_head *head, int (*cmp)(void *priv, struct flist_head *a, struct flist_head *b)) { struct flist_head *part[MAX_LIST_LENGTH_BITS+1]; /* sorted partial lists -- last slot is a sentinel */ int lev; /* index into part[] */ int max_lev = 0; struct flist_head *list; if (flist_empty(head)) return; memset(part, 0, sizeof(part)); head->prev->next = NULL; list = head->next; while (list) { struct flist_head *cur = list; list = list->next; cur->next = NULL; for (lev = 0; part[lev]; lev++) { cur = merge(priv, cmp, part[lev], cur); part[lev] = NULL; } if (lev > max_lev) { if (lev >= MAX_LIST_LENGTH_BITS) { log_err("fio: list passed to" " list_sort() too long for" " efficiency\n"); lev--; } max_lev = lev; } part[lev] = cur; } for (lev = 0; lev < max_lev; lev++) if (part[lev]) list = merge(priv, cmp, part[lev], list); merge_and_restore_back_links(priv, cmp, head, part[max_lev], list); } fio-3.39/lib/fls.h000066400000000000000000000011511476262051600137370ustar00rootroot00000000000000#ifndef _ASM_GENERIC_BITOPS_FLS_H_ #define _ASM_GENERIC_BITOPS_FLS_H_ /** * fls - find last (most-significant) bit set * @x: the word to search * * This is defined the same way as ffs. * Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32. */ static inline int __fls(int x) { int r = 32; if (!x) return 0; if (!(x & 0xffff0000u)) { x <<= 16; r -= 16; } if (!(x & 0xff000000u)) { x <<= 8; r -= 8; } if (!(x & 0xf0000000u)) { x <<= 4; r -= 4; } if (!(x & 0xc0000000u)) { x <<= 2; r -= 2; } if (!(x & 0x80000000u)) { r -= 1; } return r; } #endif /* _ASM_GENERIC_BITOPS_FLS_H_ */ fio-3.39/lib/gauss.c000066400000000000000000000023411476262051600142720ustar00rootroot00000000000000#include #include #include "../hash.h" #include "gauss.h" #define GAUSS_ITERS 12 static int gauss_dev(struct gauss_state *gs) { unsigned int r; int vr; if (!gs->stddev) return 0; r = __rand(&gs->r); vr = gs->stddev * (r / (FRAND32_MAX + 1.0)); return vr - gs->stddev / 2; } unsigned long long gauss_next(struct gauss_state *gs) { unsigned long long sum = 0; int i; for (i = 0; i < GAUSS_ITERS; i++) sum += __rand(&gs->r) % (gs->nranges + 1); sum = (sum + GAUSS_ITERS - 1) / GAUSS_ITERS; if (gs->stddev) { int dev = gauss_dev(gs); while (dev + sum >= gs->nranges) dev /= 2; sum += dev; } if (!gs->disable_hash) sum = __hash_u64(sum); return (sum + gs->rand_off) % gs->nranges; } void gauss_init(struct gauss_state *gs, unsigned long nranges, double dev, double center, unsigned int seed) { memset(gs, 0, sizeof(*gs)); init_rand_seed(&gs->r, seed, 0); gs->nranges = nranges; if (dev != 0.0) { gs->stddev = ceil((double)(nranges * dev) / 100.0); if (gs->stddev > nranges / 2) gs->stddev = nranges / 2; } if (center == -1) gs->rand_off = 0; else gs->rand_off = nranges * (center - 0.5); } void gauss_disable_hash(struct gauss_state *gs) { gs->disable_hash = true; } fio-3.39/lib/gauss.h000066400000000000000000000006671476262051600143100ustar00rootroot00000000000000#ifndef FIO_GAUSS_H #define FIO_GAUSS_H #include #include "rand.h" struct gauss_state { struct frand_state r; uint64_t nranges; unsigned int stddev; unsigned int rand_off; bool disable_hash; }; void gauss_init(struct gauss_state *gs, unsigned long nranges, double dev, double center, unsigned int seed); unsigned long long gauss_next(struct gauss_state *gs); void gauss_disable_hash(struct gauss_state *gs); #endif fio-3.39/lib/getrusage.c000066400000000000000000000004211476262051600151330ustar00rootroot00000000000000#include #include "getrusage.h" int fio_getrusage(struct rusage *ru) { #ifdef CONFIG_RUSAGE_THREAD if (!getrusage(RUSAGE_THREAD, ru)) return 0; if (errno != EINVAL) return -1; /* Fall through to RUSAGE_SELF */ #endif return getrusage(RUSAGE_SELF, ru); } fio-3.39/lib/getrusage.h000066400000000000000000000002271476262051600151440ustar00rootroot00000000000000#ifndef FIO_GETRUSAGE_H #define FIO_GETRUSAGE_H #include #include extern int fio_getrusage(struct rusage *ru); #endif fio-3.39/lib/hweight.c000066400000000000000000000015471476262051600146160ustar00rootroot00000000000000#include "hweight.h" unsigned int hweight8(uint8_t w) { unsigned int res = w - ((w >> 1) & 0x55); res = (res & 0x33) + ((res >> 2) & 0x33); return (res + (res >> 4)) & 0x0F; } unsigned int hweight32(uint32_t w) { unsigned int res = w - ((w >> 1) & 0x55555555); res = (res & 0x33333333) + ((res >> 2) & 0x33333333); res = (res + (res >> 4)) & 0x0F0F0F0F; res = res + (res >> 8); return (res + (res >> 16)) & 0x000000FF; } unsigned int hweight64(uint64_t w) { #if BITS_PER_LONG == 32 return hweight32((unsigned int)(w >> 32)) + hweight32((unsigned int)w); #else uint64_t res = w - ((w >> 1) & 0x5555555555555555ULL); res = (res & 0x3333333333333333ULL) + ((res >> 2) & 0x3333333333333333ULL); res = (res + (res >> 4)) & 0x0F0F0F0F0F0F0F0FULL; res = res + (res >> 8); res = res + (res >> 16); return (res + (res >> 32)) & 0x00000000000000FFULL; #endif } fio-3.39/lib/hweight.h000066400000000000000000000002661476262051600146200ustar00rootroot00000000000000#ifndef FIO_HWEIGHT_H #define FIO_HWEIGHT_H #include unsigned int hweight8(uint8_t w); unsigned int hweight32(uint32_t w); unsigned int hweight64(uint64_t w); #endif fio-3.39/lib/ieee754.c000066400000000000000000000035011476262051600143160ustar00rootroot00000000000000/* * Shamelessly lifted from Beej's Guide to Network Programming, found here: * * http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html#serialization * * Below code was granted to the public domain. */ #include "ieee754.h" uint64_t pack754(long double f, unsigned bits, unsigned expbits) { long double fnorm; int shift; long long sign, exp, significand; unsigned significandbits = bits - expbits - 1; // -1 for sign bit // get this special case out of the way if (f == 0.0) return 0; // check sign and begin normalization if (f < 0) { sign = 1; fnorm = -f; } else { sign = 0; fnorm = f; } // get the normalized form of f and track the exponent shift = 0; while (fnorm >= 2.0) { fnorm /= 2.0; shift++; } while (fnorm < 1.0) { fnorm *= 2.0; shift--; } fnorm = fnorm - 1.0; // calculate the binary form (non-float) of the significand data significand = fnorm * ((1LL << significandbits) + 0.5f); // get the biased exponent exp = shift + ((1 << (expbits - 1)) - 1); // shift + bias // return the final answer return (sign << (bits - 1)) | (exp << (bits-expbits - 1)) | significand; } long double unpack754(uint64_t i, unsigned bits, unsigned expbits) { long double result; long long shift; unsigned bias; unsigned significandbits = bits - expbits - 1; // -1 for sign bit if (i == 0) return 0.0; // pull the significand result = (i & ((1LL << significandbits) - 1)); // mask result /= (1LL << significandbits); // convert back to float result += 1.0f; // add the one back on // deal with the exponent bias = (1 << (expbits - 1)) - 1; shift = ((i >> significandbits) & ((1LL << expbits) - 1)) - bias; while (shift > 0) { result *= 2.0; shift--; } while (shift < 0) { result /= 2.0; shift++; } // sign it result *= (i >> (bits - 1)) & 1 ? -1.0 : 1.0; return result; } fio-3.39/lib/ieee754.h000066400000000000000000000006751476262051600143340ustar00rootroot00000000000000#ifndef FIO_IEEE754_H #define FIO_IEEE754_H #include extern uint64_t pack754(long double f, unsigned bits, unsigned expbits); extern long double unpack754(uint64_t i, unsigned bits, unsigned expbits); #define fio_double_to_uint64(val) pack754((val), 64, 11) #define fio_uint64_to_double(val) unpack754((val), 64, 11) typedef struct fio_fp64 { union { uint64_t i; double f; uint8_t filler[16]; } u; } fio_fp64_t; #endif fio-3.39/lib/lfsr.c000066400000000000000000000176401476262051600141260ustar00rootroot00000000000000#include #include "lfsr.h" #include "../compiler/compiler.h" /* * LFSR taps retrieved from: * http://home1.gte.net/res0658s/electronics/LFSRtaps.html * * The memory overhead of the following tap table should be relatively small, * no more than 400 bytes. */ static uint8_t lfsr_taps[64][FIO_MAX_TAPS] = { {0}, {0}, {0}, //LFSRs with less that 3-bits cannot exist {3, 2}, //Tap position for 3-bit LFSR {4, 3}, //Tap position for 4-bit LFSR {5, 3}, //Tap position for 5-bit LFSR {6, 5}, //Tap position for 6-bit LFSR {7, 6}, //Tap position for 7-bit LFSR {8, 6, 5 ,4}, //Tap position for 8-bit LFSR {9, 5}, //Tap position for 9-bit LFSR {10, 7}, //Tap position for 10-bit LFSR {11, 9}, //Tap position for 11-bit LFSR {12, 6, 4, 1}, //Tap position for 12-bit LFSR {13, 4, 3, 1}, //Tap position for 13-bit LFSR {14, 5, 3, 1}, //Tap position for 14-bit LFSR {15, 14}, //Tap position for 15-bit LFSR {16, 15, 13, 4}, //Tap position for 16-bit LFSR {17, 14}, //Tap position for 17-bit LFSR {18, 11}, //Tap position for 18-bit LFSR {19, 6, 2, 1}, //Tap position for 19-bit LFSR {20, 17}, //Tap position for 20-bit LFSR {21, 19}, //Tap position for 21-bit LFSR {22, 21}, //Tap position for 22-bit LFSR {23, 18}, //Tap position for 23-bit LFSR {24, 23, 22, 17}, //Tap position for 24-bit LFSR {25, 22}, //Tap position for 25-bit LFSR {26, 6, 2, 1}, //Tap position for 26-bit LFSR {27, 5, 2, 1}, //Tap position for 27-bit LFSR {28, 25}, //Tap position for 28-bit LFSR {29, 27}, //Tap position for 29-bit LFSR {30, 6, 4, 1}, //Tap position for 30-bit LFSR {31, 28}, //Tap position for 31-bit LFSR {32, 31, 29, 1}, //Tap position for 32-bit LFSR {33, 20}, //Tap position for 33-bit LFSR {34, 27, 2, 1}, //Tap position for 34-bit LFSR {35, 33}, //Tap position for 35-bit LFSR {36, 25}, //Tap position for 36-bit LFSR {37, 5, 4, 3, 2, 1}, //Tap position for 37-bit LFSR {38, 6, 5, 1}, //Tap position for 38-bit LFSR {39, 35}, //Tap position for 39-bit LFSR {40, 38, 21, 19}, //Tap position for 40-bit LFSR {41, 38}, //Tap position for 41-bit LFSR {42, 41, 20, 19}, //Tap position for 42-bit LFSR {43, 42, 38, 37}, //Tap position for 43-bit LFSR {44, 43, 18, 17}, //Tap position for 44-bit LFSR {45, 44, 42, 41}, //Tap position for 45-bit LFSR {46, 45, 26, 25}, //Tap position for 46-bit LFSR {47, 42}, //Tap position for 47-bit LFSR {48, 47, 21, 20}, //Tap position for 48-bit LFSR {49, 40}, //Tap position for 49-bit LFSR {50, 49, 24, 23}, //Tap position for 50-bit LFSR {51, 50, 36, 35}, //Tap position for 51-bit LFSR {52, 49}, //Tap position for 52-bit LFSR {53, 52, 38, 37}, //Tap position for 53-bit LFSR {54, 53, 18, 17}, //Tap position for 54-bit LFSR {55, 31}, //Tap position for 55-bit LFSR {56, 55, 35, 34}, //Tap position for 56-bit LFSR {57, 50}, //Tap position for 57-bit LFSR {58, 39}, //Tap position for 58-bit LFSR {59, 58, 38, 37}, //Tap position for 59-bit LFSR {60, 59}, //Tap position for 60-bit LFSR {61, 60, 46, 45}, //Tap position for 61-bit LFSR {62, 61, 6, 5}, //Tap position for 62-bit LFSR {63, 62}, //Tap position for 63-bit LFSR }; #define __LFSR_NEXT(__fl, __v) \ __v = ((__v >> 1) | __fl->cached_bit) ^ \ (((__v & 1ULL) - 1ULL) & __fl->xormask); static inline void __lfsr_next(struct fio_lfsr *fl, unsigned int spin) { /* * This should be O(1) since most compilers will create a jump table for * this switch. */ switch (spin) { case 15: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 14: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 13: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 12: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 11: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 10: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 9: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 8: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 7: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 6: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 5: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 4: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 3: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 2: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 1: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; case 0: __LFSR_NEXT(fl, fl->last_val); fio_fallthrough; default: break; } } /* * lfsr_next does the following: * * a. Return if the number of max values has been exceeded. * b. Check if we have a spin value that produces a repeating subsequence. * This is previously calculated in `prepare_spin` and cycle_length should * be > 0. If we do have such a spin: * * i. Decrement the calculated cycle. * ii. If it reaches zero, add "+1" to the spin and reset the cycle_length * (we have it cached in the struct fio_lfsr) * * In either case, continue with the calculation of the next value. * c. Check if the calculated value exceeds the desirable range. In this case, * go back to b, else return. */ int lfsr_next(struct fio_lfsr *fl, uint64_t *off) { if (fl->num_vals++ > fl->max_val) return 1; do { if (fl->cycle_length && !--fl->cycle_length) { __lfsr_next(fl, fl->spin + 1); fl->cycle_length = fl->cached_cycle_length; } else __lfsr_next(fl, fl->spin); } while (fio_unlikely(fl->last_val > fl->max_val)); *off = fl->last_val; return 0; } static uint64_t lfsr_create_xormask(uint8_t *taps) { int i; uint64_t xormask = 0; for(i = 0; i < FIO_MAX_TAPS && taps[i] != 0; i++) xormask |= 1ULL << (taps[i] - 1); return xormask; } static uint8_t *find_lfsr(uint64_t size) { int i; /* * For an LFSR, there is always a prohibited state (all ones). * Thus, if we need to find the proper LFSR for our size, we must * take that into account. */ for (i = 3; i < 64; i++) if ((1ULL << i) > size) return lfsr_taps[i]; return NULL; } /* * It is well-known that all maximal n-bit LFSRs will start repeating * themselves after their 2^n iteration. The introduction of spins however, is * possible to create a repetition of a sub-sequence before we hit that mark. * This happens if: * * [1]: ((2^n - 1) * i) % (spin + 1) == 0, * where "n" is LFSR's bits and "i" any number within the range [1,spin] * * It is important to know beforehand if a spin can cause a repetition of a * sub-sequence (cycle) and its length. However, calculating (2^n - 1) * i may * produce a buffer overflow for "n" close to 64, so we expand the above to: * * [2]: (2^n - 1) -> (x * (spin + 1) + y), where x >= 0 and 0 <= y <= spin * * Thus, [1] is equivalent to (y * i) % (spin + 1) == 0; * Also, the cycle's length will be (x * i) + (y * i) / (spin + 1) */ static int prepare_spin(struct fio_lfsr *fl, unsigned int spin) { uint64_t max = (fl->cached_bit << 1) - 1; uint64_t x, y; int i; if (spin > 15) return 1; x = max / (spin + 1); y = max % (spin + 1); fl->cycle_length = 0; /* No cycle occurs, other than the expected */ fl->spin = spin; for (i = 1; i <= spin; i++) { if ((y * i) % (spin + 1) == 0) { fl->cycle_length = (x * i) + (y * i) / (spin + 1); break; } } fl->cached_cycle_length = fl->cycle_length; /* * Increment cycle length for the first time only since the stored value * will not be printed otherwise. */ fl->cycle_length++; return 0; } int lfsr_reset(struct fio_lfsr *fl, uint64_t seed) { uint64_t bitmask = (fl->cached_bit << 1) - 1; fl->num_vals = 0; fl->last_val = seed & bitmask; /* All-ones state is illegal for XNOR LFSRs */ if (fl->last_val == bitmask) return 1; return 0; } int lfsr_init(struct fio_lfsr *fl, uint64_t nums, uint64_t seed, unsigned int spin) { uint8_t *taps; taps = find_lfsr(nums); if (!taps) return 1; fl->max_val = nums - 1; fl->xormask = lfsr_create_xormask(taps); fl->cached_bit = 1ULL << (taps[0] - 1); if (prepare_spin(fl, spin)) return 1; if (lfsr_reset(fl, seed)) return 1; return 0; } fio-3.39/lib/lfsr.h000066400000000000000000000010661476262051600141260ustar00rootroot00000000000000#ifndef FIO_LFSR_H #define FIO_LFSR_H #include #define FIO_MAX_TAPS 6 struct lfsr_taps { unsigned int length; unsigned int taps[FIO_MAX_TAPS]; }; struct fio_lfsr { uint64_t xormask; uint64_t last_val; uint64_t cached_bit; uint64_t max_val; uint64_t num_vals; uint64_t cycle_length; uint64_t cached_cycle_length; unsigned int spin; }; int lfsr_next(struct fio_lfsr *fl, uint64_t *off); int lfsr_init(struct fio_lfsr *fl, uint64_t size, uint64_t seed, unsigned int spin); int lfsr_reset(struct fio_lfsr *fl, uint64_t seed); #endif fio-3.39/lib/memalign.c000066400000000000000000000012511476262051600147400ustar00rootroot00000000000000#include #include #include "memalign.h" #include "smalloc.h" #define PTR_ALIGN(ptr, mask) \ (char *)((uintptr_t)((ptr) + (mask)) & ~(mask)) struct align_footer { unsigned int offset; }; void *__fio_memalign(size_t alignment, size_t size, malloc_fn fn) { struct align_footer *f; void *ptr, *ret = NULL; assert(!(alignment & (alignment - 1))); ptr = fn(size + alignment + sizeof(*f) - 1); if (ptr) { ret = PTR_ALIGN(ptr, alignment - 1); f = ret + size; f->offset = (uintptr_t) ret - (uintptr_t) ptr; } return ret; } void __fio_memfree(void *ptr, size_t size, free_fn fn) { struct align_footer *f = ptr + size; fn(ptr - f->offset); } fio-3.39/lib/memalign.h000066400000000000000000000004611476262051600147470ustar00rootroot00000000000000#ifndef FIO_MEMALIGN_H #define FIO_MEMALIGN_H #include #include typedef void* (*malloc_fn)(size_t); typedef void (*free_fn)(void*); extern void *__fio_memalign(size_t alignment, size_t size, malloc_fn fn); extern void __fio_memfree(void *ptr, size_t size, free_fn fn); #endif fio-3.39/lib/memcpy.c000066400000000000000000000107231476262051600144450ustar00rootroot00000000000000#include #include #include #include #include "memcpy.h" #include "rand.h" #include "../fio_time.h" #include "../gettime.h" #include "../os/os.h" #define BUF_SIZE 32 * 1024 * 1024ULL #define NR_ITERS 64 struct memcpy_test { const char *name; void *src; void *dst; size_t size; }; static struct memcpy_test tests[] = { { .name = "8 bytes", .size = 8, }, { .name = "16 bytes", .size = 16, }, { .name = "96 bytes", .size = 96, }, { .name = "128 bytes", .size = 128, }, { .name = "256 bytes", .size = 256, }, { .name = "512 bytes", .size = 512, }, { .name = "2048 bytes", .size = 2048, }, { .name = "8192 bytes", .size = 8192, }, { .name = "131072 bytes", .size = 131072, }, { .name = "262144 bytes", .size = 262144, }, { .name = "524288 bytes", .size = 524288, }, { .name = NULL, }, }; struct memcpy_type { const char *name; unsigned int mask; void (*fn)(struct memcpy_test *); }; enum { T_MEMCPY = 1U << 0, T_MEMMOVE = 1U << 1, T_SIMPLE = 1U << 2, T_HYBRID = 1U << 3, }; #define do_test(test, fn) do { \ size_t left, this; \ void *src, *dst; \ int i; \ \ for (i = 0; i < NR_ITERS; i++) { \ left = BUF_SIZE; \ src = test->src; \ dst = test->dst; \ while (left) { \ this = test->size; \ if (this > left) \ this = left; \ (fn)(dst, src, this); \ left -= this; \ src += this; \ dst += this; \ } \ } \ } while (0) static void t_memcpy(struct memcpy_test *test) { do_test(test, memcpy); } static void t_memmove(struct memcpy_test *test) { do_test(test, memmove); } static void simple_memcpy(void *dst, void const *src, size_t len) { char *d = dst; const char *s = src; while (len--) *d++ = *s++; } static void t_simple(struct memcpy_test *test) { do_test(test, simple_memcpy); } static void t_hybrid(struct memcpy_test *test) { if (test->size >= 64) do_test(test, simple_memcpy); else do_test(test, memcpy); } static struct memcpy_type t[] = { { .name = "memcpy", .mask = T_MEMCPY, .fn = t_memcpy, }, { .name = "memmove", .mask = T_MEMMOVE, .fn = t_memmove, }, { .name = "simple", .mask = T_SIMPLE, .fn = t_simple, }, { .name = "hybrid", .mask = T_HYBRID, .fn = t_hybrid, }, { .name = NULL, }, }; static unsigned int get_test_mask(const char *type) { char *ostr, *str = strdup(type); unsigned int mask; char *name; int i; ostr = str; mask = 0; while ((name = strsep(&str, ",")) != NULL) { for (i = 0; t[i].name; i++) { if (!strcmp(t[i].name, name)) { mask |= t[i].mask; break; } } } free(ostr); return mask; } static int list_types(void) { int i; for (i = 0; t[i].name; i++) printf("%s\n", t[i].name); return 1; } static int setup_tests(void) { struct memcpy_test *test; struct frand_state state; void *src, *dst; int i; if (!tests[0].name) return 0; src = malloc(BUF_SIZE); dst = malloc(BUF_SIZE); if (!src || !dst) { free(src); free(dst); return 1; } init_rand_seed(&state, 0x8989, 0); fill_random_buf(&state, src, BUF_SIZE); for (i = 0; tests[i].name; i++) { test = &tests[i]; test->src = src; test->dst = dst; } return 0; } static void free_tests(void) { free(tests[0].src); free(tests[0].dst); } int fio_memcpy_test(const char *type) { unsigned int test_mask = 0; int j, i; if (!type) test_mask = ~0U; else if (!strcmp(type, "help") || !strcmp(type, "list")) return list_types(); else test_mask = get_test_mask(type); if (!test_mask) { fprintf(stderr, "fio: unknown hash `%s`. Available:\n", type); return list_types(); } if (setup_tests()) { fprintf(stderr, "setting up mem regions failed\n"); return 1; } for (i = 0; t[i].name; i++) { struct timespec ts; double mb_sec; uint64_t usec; if (!(t[i].mask & test_mask)) continue; /* * For first run, make sure CPUs are spun up and that * we've touched the data. */ usec_spin(100000); t[i].fn(&tests[0]); printf("%s\n", t[i].name); for (j = 0; tests[j].name; j++) { fio_gettime(&ts, NULL); t[i].fn(&tests[j]); usec = utime_since_now(&ts); if (usec) { unsigned long long mb = NR_ITERS * BUF_SIZE; mb_sec = (double) mb / (double) usec; mb_sec /= (1.024 * 1.024); printf("\t%s:\t%8.2f MiB/sec\n", tests[j].name, mb_sec); } else printf("\t%s:inf MiB/sec\n", tests[j].name); } } free_tests(); return 0; } fio-3.39/lib/memcpy.h000066400000000000000000000001321476262051600144430ustar00rootroot00000000000000#ifndef FIO_MEMCPY_H #define FIO_MEMCPY_H int fio_memcpy_test(const char *type); #endif fio-3.39/lib/mountcheck.c000066400000000000000000000022731476262051600153140ustar00rootroot00000000000000#include #include #ifdef CONFIG_GETMNTENT #include #include "mountcheck.h" #define MTAB "/etc/mtab" int device_is_mounted(const char *dev) { FILE *mtab; struct mntent *mnt; int ret = 0; mtab = setmntent(MTAB, "r"); if (!mtab) return 0; while ((mnt = getmntent(mtab)) != NULL) { if (!mnt->mnt_fsname) continue; if (!strcmp(mnt->mnt_fsname, dev)) { ret = 1; break; } } endmntent(mtab); return ret; } #elif defined(CONFIG_GETMNTINFO) /* for most BSDs */ #include #include int device_is_mounted(const char *dev) { struct statfs *st; int i, ret; ret = getmntinfo(&st, MNT_NOWAIT); if (ret <= 0) return 0; for (i = 0; i < ret; i++) { if (!strcmp(st[i].f_mntfromname, dev)) return 1; } return 0; } #elif defined(CONFIG_GETMNTINFO_STATVFS) /* for NetBSD */ #include int device_is_mounted(const char *dev) { struct statvfs *st; int i, ret; ret = getmntinfo(&st, MNT_NOWAIT); if (ret <= 0) return 0; for (i = 0; i < ret; i++) { if (!strcmp(st[i].f_mntfromname, dev)) return 1; } return 0; } #else /* others */ int device_is_mounted(const char *dev) { return 0; } #endif fio-3.39/lib/mountcheck.h000066400000000000000000000001511476262051600153120ustar00rootroot00000000000000#ifndef FIO_MOUNT_CHECK_H #define FIO_MOUNT_CHECK_H extern int device_is_mounted(const char *); #endif fio-3.39/lib/nowarn_snprintf.h000066400000000000000000000010211476262051600163760ustar00rootroot00000000000000#ifndef _NOWARN_SNPRINTF_H_ #define _NOWARN_SNPRINTF_H_ #include #include static inline int nowarn_snprintf(char *str, size_t size, const char *format, ...) { va_list args; int res; va_start(args, format); #if __GNUC__ -0 >= 8 #pragma GCC diagnostic push "-Wformat-truncation" #pragma GCC diagnostic ignored "-Wformat-truncation" #endif res = vsnprintf(str, size, format, args); #if __GNUC__ -0 >= 8 #pragma GCC diagnostic pop "-Wformat-truncation" #endif va_end(args); return res; } #endif fio-3.39/lib/num2str.c000066400000000000000000000055471476262051600145750ustar00rootroot00000000000000#include #include #include #include #include "../compiler/compiler.h" #include "../oslib/asprintf.h" #include "num2str.h" /** * num2str() - Cheesy number->string conversion, complete with carry rounding error. * @num: quantity (e.g., number of blocks, bytes or bits) * @maxlen: max number of digits in the output string (not counting prefix and units, but counting .) * @base: multiplier for num (e.g., if num represents Ki, use 1024) * @pow2: select unit prefix - 0=power-of-10 decimal SI, nonzero=power-of-2 binary IEC * @units: select units - N2S_* constants defined in num2str.h * @returns a malloc'd buffer containing "number[][]" */ char *num2str(uint64_t num, int maxlen, int base, int pow2, enum n2s_unit units) { const char *sistr[] = { "", "k", "M", "G", "T", "P", "E" }; const char *iecstr[] = { "", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei" }; const char **unitprefix; static const char *const unitstr[] = { [N2S_NONE] = "", [N2S_PERSEC] = "/s", [N2S_BYTE] = "B", [N2S_BIT] = "bit", [N2S_BYTEPERSEC]= "B/s", [N2S_BITPERSEC] = "bit/s" }; const unsigned int thousand = pow2 ? 1024 : 1000; unsigned int modulo; int post_index, carry = 0; char tmp[32]; char *buf; compiletime_assert(sizeof(sistr) == sizeof(iecstr), "unit prefix arrays must be identical sizes"); assert(units < FIO_ARRAY_SIZE(unitstr)); if (pow2) unitprefix = iecstr; else unitprefix = sistr; for (post_index = 0; base > 1; post_index++) base /= thousand; switch (units) { case N2S_NONE: break; case N2S_PERSEC: break; case N2S_BYTE: break; case N2S_BIT: num *= 8; break; case N2S_BYTEPERSEC: break; case N2S_BITPERSEC: num *= 8; break; } /* * Divide by K/Ki until string length of num <= maxlen. */ modulo = -1U; while (post_index < FIO_ARRAY_SIZE(sistr)) { sprintf(tmp, "%llu", (unsigned long long) num); if (strlen(tmp) <= maxlen) break; modulo = num % thousand; num /= thousand; carry = modulo >= thousand / 2; post_index++; } if (post_index >= FIO_ARRAY_SIZE(sistr)) post_index = 0; /* * If no modulo, then we're done. */ if (modulo == -1U) { done: if (asprintf(&buf, "%llu%s%s", (unsigned long long) num, unitprefix[post_index], unitstr[units]) < 0) buf = NULL; return buf; } /* * If no room for decimals, then we're done. */ sprintf(tmp, "%llu", (unsigned long long) num); if ((int)(maxlen - strlen(tmp)) <= 1) { if (carry) num++; goto done; } /* * Fill in everything and return the result. */ assert(maxlen - strlen(tmp) - 1 > 0); assert(modulo < thousand); sprintf(tmp, "%.*f", (int)(maxlen - strlen(tmp) - 1), (double)modulo / (double)thousand); if (tmp[0] == '1') num++; if (asprintf(&buf, "%llu.%s%s%s", (unsigned long long) num, &tmp[2], unitprefix[post_index], unitstr[units]) < 0) buf = NULL; return buf; } fio-3.39/lib/num2str.h000066400000000000000000000004051476262051600145660ustar00rootroot00000000000000#ifndef FIO_NUM2STR_H #define FIO_NUM2STR_H #include enum n2s_unit { N2S_NONE = 0, N2S_PERSEC = 1, N2S_BYTE = 2, N2S_BIT = 3, N2S_BYTEPERSEC = 4, N2S_BITPERSEC = 5, }; extern char *num2str(uint64_t, int, int, int, enum n2s_unit); #endif fio-3.39/lib/output_buffer.c000066400000000000000000000015641476262051600160470ustar00rootroot00000000000000#include #include #include "output_buffer.h" #include "../minmax.h" #define BUF_INC 1024 void buf_output_init(struct buf_output *out) { out->max_buflen = 0; out->buflen = 0; out->buf = NULL; } void buf_output_free(struct buf_output *out) { free(out->buf); buf_output_init(out); } size_t buf_output_add(struct buf_output *out, const char *buf, size_t len) { if (out->max_buflen - out->buflen < len) { size_t need = len - (out->max_buflen - out->buflen); size_t old_max = out->max_buflen; need = max((size_t) BUF_INC, need); out->max_buflen += need; out->buf = realloc(out->buf, out->max_buflen); old_max = max(old_max, out->buflen + len); if (old_max + need > out->max_buflen) need = out->max_buflen - old_max; memset(&out->buf[old_max], 0, need); } memcpy(&out->buf[out->buflen], buf, len); out->buflen += len; return len; } fio-3.39/lib/output_buffer.h000066400000000000000000000005061476262051600160470ustar00rootroot00000000000000#ifndef FIO_OUTPUT_BUFFER_H #define FIO_OUTPUT_BUFFER_H #include struct buf_output { char *buf; size_t buflen; size_t max_buflen; }; void buf_output_init(struct buf_output *out); void buf_output_free(struct buf_output *out); size_t buf_output_add(struct buf_output *out, const char *buf, size_t len); #endif fio-3.39/lib/pattern.c000066400000000000000000000340311476262051600146260ustar00rootroot00000000000000#include #include #include #include #include #include #include #include #include "strntol.h" #include "pattern.h" #include "../minmax.h" #include "../oslib/strcasestr.h" #include "../oslib/strndup.h" /** * parse_file() - parses binary file to fill buffer * @beg - string input, extract filename from this * @out - output buffer where parsed number should be put * @out_len - length of the output buffer * @filled - pointer where number of bytes successfully * parsed will be put * * Returns the end pointer where parsing has been stopped. * In case of parsing error or lack of bytes in output buffer * NULL will be returned. */ static const char *parse_file(const char *beg, char *out, unsigned int out_len, unsigned int *filled) { const char *end; char *file; int fd; ssize_t rc, count = 0; if (!out_len) goto err_out; assert(*beg == '\''); beg++; end = strchr(beg, '\''); if (!end) goto err_out; file = strndup(beg, end - beg); if (file == NULL) goto err_out; #ifdef _WIN32 fd = open(file, O_RDONLY | O_BINARY); #else fd = open(file, O_RDONLY); #endif if (fd < 0) goto err_free_out; if (out) { while (1) { rc = read(fd, out, out_len - count); if (rc == 0) break; if (rc == -1) goto err_free_close_out; count += rc; out += rc; } } else { count = lseek(fd, 0, SEEK_END); if (count == -1) goto err_free_close_out; if (count >= out_len) count = out_len; } *filled = count; close(fd); free(file); /* Catch up quote */ return end + 1; err_free_close_out: close(fd); err_free_out: free(file); err_out: return NULL; } /** * parse_string() - parses string in double quotes, like "abc" * @beg - string input * @out - output buffer where parsed number should be put * @out_len - length of the output buffer * @filled - pointer where number of bytes successfully * parsed will be put * * Returns the end pointer where parsing has been stopped. * In case of parsing error or lack of bytes in output buffer * NULL will be returned. */ static const char *parse_string(const char *beg, char *out, unsigned int out_len, unsigned int *filled) { const char *end; if (!out_len) return NULL; assert(*beg == '"'); beg++; end = strchr(beg, '"'); if (!end) return NULL; if (end - beg > out_len) return NULL; if (out) memcpy(out, beg, end - beg); *filled = end - beg; /* Catch up quote */ return end + 1; } /** * parse_number() - parses numbers * @beg - string input * @out - output buffer where parsed number should be put * @out_len - length of the output buffer * @filled - pointer where number of bytes successfully * parsed will be put * * Supports decimals in the range [INT_MIN, INT_MAX] and * hexidecimals of any size, which should be started with * prefix 0x or 0X. * * Returns the end pointer where parsing has been stopped. * In case of parsing error or lack of bytes in output buffer * NULL will be returned. */ static const char *parse_number(const char *beg, char *out, unsigned int out_len, unsigned int *filled) { const char *end; unsigned int val; long lval; int num, i; if (!out_len) return NULL; num = 0; sscanf(beg, "0%*[xX]%*[0-9a-fA-F]%n", &num); if (num == 0) { /* Here we are trying to parse decimal */ char *_end; /* Looking ahead */ _end = strcasestr(beg, "0x"); if (_end) num = _end - beg; if (num) lval = strntol(beg, num, &_end, 10); else lval = strtol(beg, &_end, 10); if (beg == _end || lval > INT_MAX || lval < INT_MIN) return NULL; end = _end; i = 0; if (!lval) { num = 0; if (out) out[i] = 0x00; i = 1; } else { val = (unsigned int)lval; for (; val && out_len; out_len--, i++, val >>= 8) if (out) out[i] = val & 0xff; if (val) return NULL; } } else { assert(num > 2); /* Catch up 0x prefix */ num -= 2; beg += 2; /* Look back, handle this combined string: 0xff0x14 */ if (beg[num] && !strncasecmp(&beg[num - 1], "0x", 2)) num--; end = beg + num; for (i = 0; num && out_len; out_len--, i++, num -= 2, beg += 2) { const char *fmt; fmt = (num & 1 ? "%1hhx" : "%2hhx"); if (out) sscanf(beg, fmt, &out[i]); if (num & 1) { num++; beg--; } } if (num) return NULL; } *filled = i; return end; } /** * parse_format() - parses formats, like %o, etc * @in - string input * @out - output buffer where space for format should be reserved * @parsed - number of bytes which were already parsed so far * @out_len - length of the output buffer * @fmt_desc - format descriptor array, what we expect to find * @fmt - format array, the output * @fmt_sz - size of format array * * This function tries to find formats, e.g.: * %o - offset of the block * * In case of successful parsing it fills the format param * with proper offset and the size of the expected value, which * should be pasted into buffer using the format 'func' callback. * * Returns the end pointer where parsing has been stopped. * In case of parsing error or lack of bytes in output buffer * NULL will be returned. */ static const char *parse_format(const char *in, char *out, unsigned int parsed, unsigned int out_len, unsigned int *filled, const struct pattern_fmt_desc *fmt_desc, struct pattern_fmt *fmt, unsigned int fmt_sz) { int i; struct pattern_fmt *f = NULL; unsigned int len = 0; if (!out_len || !fmt_desc || !fmt || !fmt_sz) return NULL; assert(*in == '%'); for (i = 0; fmt_desc[i].fmt; i++) { const struct pattern_fmt_desc *desc; desc = &fmt_desc[i]; len = strlen(desc->fmt); if (0 == strncmp(in, desc->fmt, len)) { fmt->desc = desc; fmt->off = parsed; f = fmt; break; } } if (!f) return NULL; if (f->desc->len > out_len) return NULL; if (out) memset(out, '\0', f->desc->len); *filled = f->desc->len; return in + len; } /** * parse_and_fill_pattern() - Parses combined input, which consists of strings, * numbers and pattern formats. * @in - string input * @in_len - size of the input string * @out - output buffer where parsed result will be put, may be NULL * in which case this function just calculates the required * length of the buffer * @out_len - lengths of the output buffer * @fmt_desc - array of pattern format descriptors [input] * @fmt - array of pattern formats [output] * @fmt_sz - pointer where the size of pattern formats array stored [input], * after successful parsing this pointer will contain the number * of parsed formats if any [output]. * * strings: * bytes sequence in double quotes, e.g. "123". * NOTE: there is no way to escape quote, so "123\"abc" does not work. * * numbers: * hexadecimal - sequence of hex bytes starting from 0x or 0X prefix, * e.g. 0xff12ceff1100ff * decimal - decimal number in range [INT_MIN, INT_MAX] * * formats: * %o - offset of block, reserved 8 bytes. * * Explicit examples of combined string: * #1 #2 #3 #4 * in="abcd" in=-1024 in=66 in=0xFF0X1 * out=61 62 63 64 out=00 fc ff ff out=42 out=ff 01 * * #5 #6 * in=%o in="123"0xFFeeCC * out=00 00 00 00 00 00 00 00 out=31 32 33 ff ec cc * * #7 * in=-100xab"1"%o"2" * out=f6 ff ff ff ab 31 00 00 00 00 00 00 00 00 32 * * #9 * in=%o0xdeadbeef%o * out=00 00 00 00 00 00 00 00 de ad be ef 00 00 00 00 00 00 00 00 * * #10 * in=0xfefefefefefefefefefefefefefefefefefefefefe * out=fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe fe * * Returns number of bytes filled or err < 0 in case of failure. */ static int parse_and_fill_pattern(const char *in, unsigned int in_len, char *out, unsigned int out_len, const struct pattern_fmt_desc *fmt_desc, struct pattern_fmt *fmt, unsigned int *fmt_sz_out) { const char *beg, *end, *out_beg = out; unsigned int total = 0, fmt_rem = 0; if (!in || !in_len || !out_len) return -EINVAL; if (fmt_sz_out) fmt_rem = *fmt_sz_out; beg = in; do { unsigned int filled; int parsed_fmt; filled = 0; parsed_fmt = 0; switch (*beg) { case '\'': end = parse_file(beg, out, out_len, &filled); break; case '"': end = parse_string(beg, out, out_len, &filled); break; case '%': end = parse_format(beg, out, out - out_beg, out_len, &filled, fmt_desc, fmt, fmt_rem); parsed_fmt = 1; break; default: end = parse_number(beg, out, out_len, &filled); break; } if (!end) return -EINVAL; if (parsed_fmt) { assert(fmt_rem); fmt_rem--; fmt++; } assert(end - beg <= in_len); in_len -= end - beg; beg = end; assert(filled); assert(filled <= out_len); out_len -= filled; total += filled; if (out) out += filled; } while (in_len); if (fmt_sz_out) *fmt_sz_out -= fmt_rem; return total; } /** * parse_and_fill_pattern_alloc() - Parses combined input, which consists of * strings, numbers and pattern formats and * allocates a buffer for the result. * * @in - string input * @in_len - size of the input string * @out - pointer to the output buffer pointer, this will be set to the newly * allocated pattern buffer which must be freed by the caller * @fmt_desc - array of pattern format descriptors [input] * @fmt - array of pattern formats [output] * @fmt_sz - pointer where the size of pattern formats array stored [input], * after successful parsing this pointer will contain the number * of parsed formats if any [output]. * * See documentation on parse_and_fill_pattern() above for a description * of the functionality. * * Returns number of bytes filled or err < 0 in case of failure. */ int parse_and_fill_pattern_alloc(const char *in, unsigned int in_len, char **out, const struct pattern_fmt_desc *fmt_desc, struct pattern_fmt *fmt, unsigned int *fmt_sz_out) { int count; count = parse_and_fill_pattern(in, in_len, NULL, MAX_PATTERN_SIZE, fmt_desc, fmt, fmt_sz_out); if (count < 0) return count; *out = malloc(count); count = parse_and_fill_pattern(in, in_len, *out, count, fmt_desc, fmt, fmt_sz_out); if (count < 0) { free(*out); *out = NULL; } return count; } /** * dup_pattern() - Duplicates part of the pattern all over the buffer. * * Returns 0 in case of success or errno < 0 in case of failure. */ static int dup_pattern(char *out, unsigned int out_len, unsigned int pattern_len) { unsigned int left, len, off; if (out_len <= pattern_len) /* Normal case */ return 0; off = pattern_len; left = (out_len - off); len = min(left, off); /* Duplicate leftover */ while (left) { memcpy(out + off, out, len); left -= len; off <<= 1; len = min(left, off); } return 0; } /** * cpy_pattern() - Copies pattern to the buffer. * * Function copies pattern along the whole buffer. * * Returns 0 in case of success or errno < 0 in case of failure. */ int cpy_pattern(const char *pattern, unsigned int pattern_len, char *out, unsigned int out_len) { unsigned int len; if (!pattern || !pattern_len || !out || !out_len) return -EINVAL; /* Copy pattern */ len = min(pattern_len, out_len); memcpy(out, pattern, len); /* Spread filled chunk all over the buffer */ return dup_pattern(out, out_len, pattern_len); } /** * cmp_pattern() - Compares pattern and buffer. * * For the sake of performance this function avoids any loops. * Firstly it tries to compare the buffer itself, checking that * buffer consists of repeating patterns along the buffer size. * * If the difference is not found then the function tries to compare * buffer and pattern. * * Returns 0 in case of success or errno < 0 in case of failure. */ int cmp_pattern(const char *pattern, unsigned int pattern_size, unsigned int off, const char *buf, unsigned int len) { int rc; unsigned int size; /* Find the difference in buffer */ if (len > pattern_size) { rc = memcmp(buf, buf + pattern_size, len - pattern_size); if (rc) return -EILSEQ; } /* Compare second part of the pattern with buffer */ if (off) { size = min(len, pattern_size - off); rc = memcmp(buf, pattern + off, size); if (rc) return -EILSEQ; buf += size; len -= size; } /* Compare first part of the pattern or the whole pattern * with buffer */ if (len) { size = min(len, (off ? off : pattern_size)); rc = memcmp(buf, pattern, size); if (rc) return -EILSEQ; } return 0; } /** * paste_format_inplace() - Pastes parsed formats to the pattern. * * This function pastes formats to the pattern. If @fmt_sz is 0 * function does nothing and pattern buffer is left untouched. * * Returns 0 in case of success or errno < 0 in case of failure. */ int paste_format_inplace(char *pattern, unsigned int pattern_len, struct pattern_fmt *fmt, unsigned int fmt_sz, void *priv) { int i, rc; unsigned int len; if (!pattern || !pattern_len || !fmt) return -EINVAL; /* Paste formats for first pattern chunk */ for (i = 0; i < fmt_sz; i++) { struct pattern_fmt *f; f = &fmt[i]; if (pattern_len <= f->off) break; len = min(pattern_len - f->off, f->desc->len); rc = f->desc->paste(pattern + f->off, len, priv); if (rc) return rc; } return 0; } /** * paste_format() - Pastes parsed formats to the buffer. * * This function copies pattern to the buffer, pastes format * into it and then duplicates pattern all over the buffer size. * * Returns 0 in case of success or errno < 0 in case of failure. */ int paste_format(const char *pattern, unsigned int pattern_len, struct pattern_fmt *fmt, unsigned int fmt_sz, char *out, unsigned int out_len, void *priv) { int rc; unsigned int len; if (!pattern || !pattern_len || !out || !out_len) return -EINVAL; /* Copy pattern */ len = min(pattern_len, out_len); memcpy(out, pattern, len); rc = paste_format_inplace(out, len, fmt, fmt_sz, priv); if (rc) return rc; /* Spread filled chunk all over the buffer */ return dup_pattern(out, out_len, pattern_len); } fio-3.39/lib/pattern.h000066400000000000000000000033701476262051600146350ustar00rootroot00000000000000#ifndef FIO_PARSE_PATTERN_H #define FIO_PARSE_PATTERN_H /* * The pattern is dynamically allocated, but that doesn't mean there * are not limits. The network protocol has a limit of * FIO_SERVER_MAX_CMD_MB and potentially two patterns must fit in there. * There's also a need to verify the incoming data from the network and * this provides a sensible check. * * 128MiB is an arbitrary limit that meets these criteria. The patterns * tend to be truncated at the IO size anyway and IO sizes that large * aren't terribly practical. */ #define MAX_PATTERN_SIZE (128 << 20) /** * Pattern format description. The input for 'parse_pattern'. * Describes format with its name and callback, which should * be called to paste something inside the buffer. */ struct pattern_fmt_desc { const char *fmt; unsigned int len; int (*paste)(char *buf, unsigned int len, void *priv); }; /** * Pattern format. The output of 'parse_pattern'. * Describes the exact position inside the xbuffer. */ struct pattern_fmt { unsigned int off; const struct pattern_fmt_desc *desc; }; int parse_and_fill_pattern_alloc(const char *in, unsigned int in_len, char **out, const struct pattern_fmt_desc *fmt_desc, struct pattern_fmt *fmt, unsigned int *fmt_sz_out); int paste_format_inplace(char *pattern, unsigned int pattern_len, struct pattern_fmt *fmt, unsigned int fmt_sz, void *priv); int paste_format(const char *pattern, unsigned int pattern_len, struct pattern_fmt *fmt, unsigned int fmt_sz, char *out, unsigned int out_len, void *priv); int cpy_pattern(const char *pattern, unsigned int pattern_len, char *out, unsigned int out_len); int cmp_pattern(const char *pattern, unsigned int pattern_size, unsigned int off, const char *buf, unsigned int len); #endif fio-3.39/lib/pow2.h000066400000000000000000000002741476262051600140470ustar00rootroot00000000000000#ifndef FIO_POW2_H #define FIO_POW2_H #include #include "types.h" static inline bool is_power_of_2(uint64_t val) { return (val != 0 && ((val & (val - 1)) == 0)); } #endif fio-3.39/lib/prio_tree.c000066400000000000000000000273571476262051600151560ustar00rootroot00000000000000/* * lib/prio_tree.c - priority search tree * * Copyright (C) 2004, Rajesh Venkatasubramanian * * This file is released under the GPL v2. * * Based on the radix priority search tree proposed by Edward M. McCreight * SIAM Journal of Computing, vol. 14, no.2, pages 257-276, May 1985 * * 02Feb2004 Initial version */ #include #include #include #include "../compiler/compiler.h" #include "prio_tree.h" /* * A clever mix of heap and radix trees forms a radix priority search tree (PST) * which is useful for storing intervals, e.g, we can consider a vma as a closed * interval of file pages [offset_begin, offset_end], and store all vmas that * map a file in a PST. Then, using the PST, we can answer a stabbing query, * i.e., selecting a set of stored intervals (vmas) that overlap with (map) a * given input interval X (a set of consecutive file pages), in "O(log n + m)" * time where 'log n' is the height of the PST, and 'm' is the number of stored * intervals (vmas) that overlap (map) with the input interval X (the set of * consecutive file pages). * * In our implementation, we store closed intervals of the form [radix_index, * heap_index]. We assume that always radix_index <= heap_index. McCreight's PST * is designed for storing intervals with unique radix indices, i.e., each * interval have different radix_index. However, this limitation can be easily * overcome by using the size, i.e., heap_index - radix_index, as part of the * index, so we index the tree using [(radix_index,size), heap_index]. * * When the above-mentioned indexing scheme is used, theoretically, in a 32 bit * machine, the maximum height of a PST can be 64. We can use a balanced version * of the priority search tree to optimize the tree height, but the balanced * tree proposed by McCreight is too complex and memory-hungry for our purpose. */ static void get_index(const struct prio_tree_node *node, unsigned long *radix, unsigned long *heap) { *radix = node->start; *heap = node->last; } static unsigned long index_bits_to_maxindex[BITS_PER_LONG]; static void fio_init prio_tree_init(void) { unsigned int i; for (i = 0; i < FIO_ARRAY_SIZE(index_bits_to_maxindex) - 1; i++) index_bits_to_maxindex[i] = (1UL << (i + 1)) - 1; index_bits_to_maxindex[FIO_ARRAY_SIZE(index_bits_to_maxindex) - 1] = ~0UL; } /* * Maximum heap_index that can be stored in a PST with index_bits bits */ static inline unsigned long prio_tree_maxindex(unsigned int bits) { return index_bits_to_maxindex[bits - 1]; } /* * Extend a priority search tree so that it can store a node with heap_index * max_heap_index. In the worst case, this algorithm takes O((log n)^2). * However, this function is used rarely and the common case performance is * not bad. */ static struct prio_tree_node *prio_tree_expand(struct prio_tree_root *root, struct prio_tree_node *node, unsigned long max_heap_index) { struct prio_tree_node *first = NULL, *prev, *last = NULL; if (max_heap_index > prio_tree_maxindex(root->index_bits)) root->index_bits++; while (max_heap_index > prio_tree_maxindex(root->index_bits)) { root->index_bits++; if (prio_tree_empty(root)) continue; if (first == NULL) { first = root->prio_tree_node; prio_tree_remove(root, root->prio_tree_node); INIT_PRIO_TREE_NODE(first); last = first; } else { prev = last; last = root->prio_tree_node; prio_tree_remove(root, root->prio_tree_node); INIT_PRIO_TREE_NODE(last); prev->left = last; last->parent = prev; } } INIT_PRIO_TREE_NODE(node); if (first) { node->left = first; first->parent = node; } else last = node; if (!prio_tree_empty(root)) { last->left = root->prio_tree_node; last->left->parent = last; } root->prio_tree_node = node; return node; } /* * Replace a prio_tree_node with a new node and return the old node */ struct prio_tree_node *prio_tree_replace(struct prio_tree_root *root, struct prio_tree_node *old, struct prio_tree_node *node) { INIT_PRIO_TREE_NODE(node); if (prio_tree_root(old)) { assert(root->prio_tree_node == old); /* * We can reduce root->index_bits here. However, it is complex * and does not help much to improve performance (IMO). */ node->parent = node; root->prio_tree_node = node; } else { node->parent = old->parent; if (old->parent->left == old) old->parent->left = node; else old->parent->right = node; } if (!prio_tree_left_empty(old)) { node->left = old->left; old->left->parent = node; } if (!prio_tree_right_empty(old)) { node->right = old->right; old->right->parent = node; } return old; } /* * Insert a prio_tree_node @node into a radix priority search tree @root. The * algorithm typically takes O(log n) time where 'log n' is the number of bits * required to represent the maximum heap_index. In the worst case, the algo * can take O((log n)^2) - check prio_tree_expand. * * If a prior node with same radix_index and heap_index is already found in * the tree, then returns the address of the prior node. Otherwise, inserts * @node into the tree and returns @node. */ struct prio_tree_node *prio_tree_insert(struct prio_tree_root *root, struct prio_tree_node *node) { struct prio_tree_node *cur, *res = node; unsigned long radix_index, heap_index; unsigned long r_index, h_index, index, mask; int size_flag = 0; get_index(node, &radix_index, &heap_index); if (prio_tree_empty(root) || heap_index > prio_tree_maxindex(root->index_bits)) return prio_tree_expand(root, node, heap_index); cur = root->prio_tree_node; mask = 1UL << (root->index_bits - 1); while (mask) { get_index(cur, &r_index, &h_index); if (r_index == radix_index && h_index == heap_index) return cur; if (h_index < heap_index || (h_index == heap_index && r_index > radix_index)) { struct prio_tree_node *tmp = node; node = prio_tree_replace(root, cur, node); cur = tmp; /* swap indices */ index = r_index; r_index = radix_index; radix_index = index; index = h_index; h_index = heap_index; heap_index = index; } if (size_flag) index = heap_index - radix_index; else index = radix_index; if (index & mask) { if (prio_tree_right_empty(cur)) { INIT_PRIO_TREE_NODE(node); cur->right = node; node->parent = cur; return res; } else cur = cur->right; } else { if (prio_tree_left_empty(cur)) { INIT_PRIO_TREE_NODE(node); cur->left = node; node->parent = cur; return res; } else cur = cur->left; } mask >>= 1; if (!mask) { mask = 1UL << (BITS_PER_LONG - 1); size_flag = 1; } } /* Should not reach here */ assert(0); return NULL; } /* * Remove a prio_tree_node @node from a radix priority search tree @root. The * algorithm takes O(log n) time where 'log n' is the number of bits required * to represent the maximum heap_index. */ void prio_tree_remove(struct prio_tree_root *root, struct prio_tree_node *node) { struct prio_tree_node *cur; unsigned long r_index, h_index_right, h_index_left; cur = node; while (!prio_tree_left_empty(cur) || !prio_tree_right_empty(cur)) { if (!prio_tree_left_empty(cur)) get_index(cur->left, &r_index, &h_index_left); else { cur = cur->right; continue; } if (!prio_tree_right_empty(cur)) get_index(cur->right, &r_index, &h_index_right); else { cur = cur->left; continue; } /* both h_index_left and h_index_right cannot be 0 */ if (h_index_left >= h_index_right) cur = cur->left; else cur = cur->right; } if (prio_tree_root(cur)) { assert(root->prio_tree_node == cur); INIT_PRIO_TREE_ROOT(root); return; } if (cur->parent->right == cur) cur->parent->right = cur->parent; else cur->parent->left = cur->parent; while (cur != node) cur = prio_tree_replace(root, cur->parent, cur); } /* * Following functions help to enumerate all prio_tree_nodes in the tree that * overlap with the input interval X [radix_index, heap_index]. The enumeration * takes O(log n + m) time where 'log n' is the height of the tree (which is * proportional to # of bits required to represent the maximum heap_index) and * 'm' is the number of prio_tree_nodes that overlap the interval X. */ static struct prio_tree_node *prio_tree_left(struct prio_tree_iter *iter, unsigned long *r_index, unsigned long *h_index) { if (prio_tree_left_empty(iter->cur)) return NULL; get_index(iter->cur->left, r_index, h_index); if (iter->r_index <= *h_index) { iter->cur = iter->cur->left; iter->mask >>= 1; if (iter->mask) { if (iter->size_level) iter->size_level++; } else { if (iter->size_level) { assert(prio_tree_left_empty(iter->cur)); assert(prio_tree_right_empty(iter->cur)); iter->size_level++; iter->mask = ULONG_MAX; } else { iter->size_level = 1; iter->mask = 1UL << (BITS_PER_LONG - 1); } } return iter->cur; } return NULL; } static struct prio_tree_node *prio_tree_right(struct prio_tree_iter *iter, unsigned long *r_index, unsigned long *h_index) { unsigned long value; if (prio_tree_right_empty(iter->cur)) return NULL; if (iter->size_level) value = iter->value; else value = iter->value | iter->mask; if (iter->h_index < value) return NULL; get_index(iter->cur->right, r_index, h_index); if (iter->r_index <= *h_index) { iter->cur = iter->cur->right; iter->mask >>= 1; iter->value = value; if (iter->mask) { if (iter->size_level) iter->size_level++; } else { if (iter->size_level) { assert(prio_tree_left_empty(iter->cur)); assert(prio_tree_right_empty(iter->cur)); iter->size_level++; iter->mask = ULONG_MAX; } else { iter->size_level = 1; iter->mask = 1UL << (BITS_PER_LONG - 1); } } return iter->cur; } return NULL; } static struct prio_tree_node *prio_tree_parent(struct prio_tree_iter *iter) { iter->cur = iter->cur->parent; if (iter->mask == ULONG_MAX) iter->mask = 1UL; else if (iter->size_level == 1) iter->mask = 1UL; else iter->mask <<= 1; if (iter->size_level) iter->size_level--; if (!iter->size_level && (iter->value & iter->mask)) iter->value ^= iter->mask; return iter->cur; } static inline int overlap(struct prio_tree_iter *iter, unsigned long r_index, unsigned long h_index) { return iter->h_index >= r_index && iter->r_index <= h_index; } /* * prio_tree_first: * * Get the first prio_tree_node that overlaps with the interval [radix_index, * heap_index]. Note that always radix_index <= heap_index. We do a pre-order * traversal of the tree. */ static struct prio_tree_node *prio_tree_first(struct prio_tree_iter *iter) { struct prio_tree_root *root; unsigned long r_index, h_index; INIT_PRIO_TREE_ITER(iter); root = iter->root; if (prio_tree_empty(root)) return NULL; get_index(root->prio_tree_node, &r_index, &h_index); if (iter->r_index > h_index) return NULL; iter->mask = 1UL << (root->index_bits - 1); iter->cur = root->prio_tree_node; while (1) { if (overlap(iter, r_index, h_index)) return iter->cur; if (prio_tree_left(iter, &r_index, &h_index)) continue; if (prio_tree_right(iter, &r_index, &h_index)) continue; break; } return NULL; } /* * prio_tree_next: * * Get the next prio_tree_node that overlaps with the input interval in iter */ struct prio_tree_node *prio_tree_next(struct prio_tree_iter *iter) { unsigned long r_index, h_index; if (iter->cur == NULL) return prio_tree_first(iter); repeat: while (prio_tree_left(iter, &r_index, &h_index)) if (overlap(iter, r_index, h_index)) return iter->cur; while (!prio_tree_right(iter, &r_index, &h_index)) { while (!prio_tree_root(iter->cur) && iter->cur->parent->right == iter->cur) prio_tree_parent(iter); if (prio_tree_root(iter->cur)) return NULL; prio_tree_parent(iter); } if (overlap(iter, r_index, h_index)) return iter->cur; goto repeat; } fio-3.39/lib/prio_tree.h000066400000000000000000000041761476262051600151550ustar00rootroot00000000000000#ifndef _LINUX_PRIO_TREE_H #define _LINUX_PRIO_TREE_H #include struct prio_tree_node { struct prio_tree_node *left; struct prio_tree_node *right; struct prio_tree_node *parent; uint64_t start; uint64_t last; /* last location _in_ interval */ }; struct prio_tree_root { struct prio_tree_node *prio_tree_node; unsigned short index_bits; }; struct prio_tree_iter { struct prio_tree_node *cur; unsigned long mask; unsigned long value; int size_level; struct prio_tree_root *root; uint64_t r_index; uint64_t h_index; }; static inline void prio_tree_iter_init(struct prio_tree_iter *iter, struct prio_tree_root *root, uint64_t r_index, uint64_t h_index) { iter->root = root; iter->r_index = r_index; iter->h_index = h_index; iter->cur = NULL; } #define INIT_PRIO_TREE_ROOT(ptr) \ do { \ (ptr)->prio_tree_node = NULL; \ (ptr)->index_bits = 1; \ } while (0) #define INIT_PRIO_TREE_NODE(ptr) \ do { \ (ptr)->left = (ptr)->right = (ptr)->parent = (ptr); \ } while (0) #define INIT_PRIO_TREE_ITER(ptr) \ do { \ (ptr)->cur = NULL; \ (ptr)->mask = 0UL; \ (ptr)->value = 0UL; \ (ptr)->size_level = 0; \ } while (0) #define prio_tree_entry(ptr, type, member) \ ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member))) static inline int prio_tree_empty(const struct prio_tree_root *root) { return root->prio_tree_node == NULL; } static inline int prio_tree_root(const struct prio_tree_node *node) { return node->parent == node; } static inline int prio_tree_left_empty(const struct prio_tree_node *node) { return node->left == node; } static inline int prio_tree_right_empty(const struct prio_tree_node *node) { return node->right == node; } struct prio_tree_node *prio_tree_replace(struct prio_tree_root *root, struct prio_tree_node *old, struct prio_tree_node *node); struct prio_tree_node *prio_tree_insert(struct prio_tree_root *root, struct prio_tree_node *node); void prio_tree_remove(struct prio_tree_root *root, struct prio_tree_node *node); struct prio_tree_node *prio_tree_next(struct prio_tree_iter *iter); #endif /* _LINUX_PRIO_TREE_H */ fio-3.39/lib/rand.c000066400000000000000000000117611476262051600141020ustar00rootroot00000000000000/* This is a maximally equidistributed combined Tausworthe generator based on code from GNU Scientific Library 1.5 (30 Jun 2004) x_n = (s1_n ^ s2_n ^ s3_n) s1_{n+1} = (((s1_n & 4294967294) <<12) ^ (((s1_n <<13) ^ s1_n) >>19)) s2_{n+1} = (((s2_n & 4294967288) << 4) ^ (((s2_n << 2) ^ s2_n) >>25)) s3_{n+1} = (((s3_n & 4294967280) <<17) ^ (((s3_n << 3) ^ s3_n) >>11)) The period of this generator is about 2^88. From: P. L'Ecuyer, "Maximally Equidistributed Combined Tausworthe Generators", Mathematics of Computation, 65, 213 (1996), 203--213. This is available on the net from L'Ecuyer's home page, http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme.ps ftp://ftp.iro.umontreal.ca/pub/simulation/lecuyer/papers/tausme.ps There is an erratum in the paper "Tables of Maximally Equidistributed Combined LFSR Generators", Mathematics of Computation, 68, 225 (1999), 261--269: http://www.iro.umontreal.ca/~lecuyer/myftp/papers/tausme2.ps ... the k_j most significant bits of z_j must be non- zero, for each j. (Note: this restriction also applies to the computer code given in [4], but was mistakenly not mentioned in that paper.) This affects the seeding procedure by imposing the requirement s1 > 1, s2 > 7, s3 > 15. */ #include #include "rand.h" #include "pattern.h" #include "../hash.h" int arch_random; static inline uint64_t __seed(uint64_t x, uint64_t m) { return (x < m) ? x + m : x; } static void __init_rand32(struct taus88_state *state, unsigned int seed) { int cranks = 6; #define LCG(x, seed) ((x) * 69069 ^ (seed)) state->s1 = __seed(LCG((2^31) + (2^17) + (2^7), seed), 1); state->s2 = __seed(LCG(state->s1, seed), 7); state->s3 = __seed(LCG(state->s2, seed), 15); while (cranks--) __rand32(state); } void __init_rand64(struct taus258_state *state, uint64_t seed) { int cranks = 6; #define LCG64(x, seed) ((x) * 6906969069ULL ^ (seed)) state->s1 = __seed(LCG64((2^31) + (2^17) + (2^7), seed), 1); state->s2 = __seed(LCG64(state->s1, seed), 7); state->s3 = __seed(LCG64(state->s2, seed), 15); state->s4 = __seed(LCG64(state->s3, seed), 33); state->s5 = __seed(LCG64(state->s4, seed), 49); while (cranks--) __rand64(state); } void init_rand(struct frand_state *state, bool use64) { state->use64 = use64; if (!use64) __init_rand32(&state->state32, 1); else __init_rand64(&state->state64, 1); } void init_rand_seed(struct frand_state *state, uint64_t seed, bool use64) { state->use64 = use64; if (!use64) __init_rand32(&state->state32, (unsigned int) seed); else __init_rand64(&state->state64, seed); } void __fill_random_buf_small(void *buf, unsigned int len, uint64_t seed) { uint64_t *b = buf; uint64_t *e = b + len / sizeof(*b); unsigned int rest = len % sizeof(*b); for (; b != e; ++b) { *b = seed; seed = __hash_u64(seed); } if (fio_unlikely(rest)) __builtin_memcpy(e, &seed, rest); } void __fill_random_buf(void *buf, unsigned int len, uint64_t seed) { static uint64_t prime[] = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47}; uint64_t *b, *e, s[CONFIG_SEED_BUCKETS]; unsigned int rest; int p; /* * Calculate the max index which is multiples of the seed buckets. */ rest = (len / sizeof(*b) / CONFIG_SEED_BUCKETS) * CONFIG_SEED_BUCKETS; b = buf; e = b + rest; rest = len - (rest * sizeof(*b)); for (p = 0; p < CONFIG_SEED_BUCKETS; p++) s[p] = seed * prime[p]; for (; b != e; b += CONFIG_SEED_BUCKETS) { for (p = 0; p < CONFIG_SEED_BUCKETS; ++p) { b[p] = s[p]; s[p] = __hash_u64(s[p]); } } __fill_random_buf_small(b, rest, s[0]); } uint64_t fill_random_buf(struct frand_state *fs, void *buf, unsigned int len) { uint64_t r = __get_next_seed(fs); __fill_random_buf(buf, len, r); return r; } void __fill_random_buf_percentage(uint64_t seed, void *buf, unsigned int percentage, unsigned int segment, unsigned int len, char *pattern, unsigned int pbytes) { unsigned int this_len; if (percentage == 100) { if (pbytes) (void)cpy_pattern(pattern, pbytes, buf, len); else memset(buf, 0, len); return; } if (segment > len) segment = len; while (len) { /* * Fill random chunk */ this_len = ((unsigned long long)segment * (100 - percentage)) / 100; if (this_len > len) this_len = len; __fill_random_buf(buf, this_len, seed); len -= this_len; if (!len) break; buf += this_len; this_len = segment - this_len; if (this_len > len) this_len = len; else if (len - this_len <= sizeof(long)) this_len = len; if (pbytes) (void)cpy_pattern(pattern, pbytes, buf, this_len); else memset(buf, 0, this_len); len -= this_len; buf += this_len; } } uint64_t fill_random_buf_percentage(struct frand_state *fs, void *buf, unsigned int percentage, unsigned int segment, unsigned int len, char *pattern, unsigned int pbytes) { uint64_t r = __get_next_seed(fs); __fill_random_buf_percentage(r, buf, percentage, segment, len, pattern, pbytes); return r; } fio-3.39/lib/rand.h000066400000000000000000000102771476262051600141100ustar00rootroot00000000000000#ifndef FIO_RAND_H #define FIO_RAND_H #include #include #include "types.h" #define FRAND32_MAX (-1U) #define FRAND32_MAX_PLUS_ONE (1.0 * (1ULL << 32)) #define FRAND64_MAX (-1ULL) #define FRAND64_MAX_PLUS_ONE (1.0 * (1ULL << 32) * (1ULL << 32)) struct taus88_state { unsigned int s1, s2, s3; }; struct taus258_state { uint64_t s1, s2, s3, s4, s5; }; struct frand_state { unsigned int use64; union { struct taus88_state state32; struct taus258_state state64; }; }; static inline uint64_t rand_max(struct frand_state *state) { if (state->use64) return FRAND64_MAX; else return FRAND32_MAX; } static inline void __frand32_copy(struct taus88_state *dst, struct taus88_state *src) { dst->s1 = src->s1; dst->s2 = src->s2; dst->s3 = src->s3; } static inline void __frand64_copy(struct taus258_state *dst, struct taus258_state *src) { dst->s1 = src->s1; dst->s2 = src->s2; dst->s3 = src->s3; dst->s4 = src->s4; dst->s5 = src->s5; } static inline void frand_copy(struct frand_state *dst, struct frand_state *src) { if (src->use64) __frand64_copy(&dst->state64, &src->state64); else __frand32_copy(&dst->state32, &src->state32); dst->use64 = src->use64; } static inline unsigned int __rand32(struct taus88_state *state) { #define TAUSWORTHE(s,a,b,c,d) ((s&c)<>b) state->s1 = TAUSWORTHE(state->s1, 13, 19, 4294967294UL, 12); state->s2 = TAUSWORTHE(state->s2, 2, 25, 4294967288UL, 4); state->s3 = TAUSWORTHE(state->s3, 3, 11, 4294967280UL, 17); return (state->s1 ^ state->s2 ^ state->s3); } static inline uint64_t __rand64(struct taus258_state *state) { uint64_t xval; xval = ((state->s1 << 1) ^ state->s1) >> 53; state->s1 = ((state->s1 & 18446744073709551614ULL) << 10) ^ xval; xval = ((state->s2 << 24) ^ state->s2) >> 50; state->s2 = ((state->s2 & 18446744073709551104ULL) << 5) ^ xval; xval = ((state->s3 << 3) ^ state->s3) >> 23; state->s3 = ((state->s3 & 18446744073709547520ULL) << 29) ^ xval; xval = ((state->s4 << 5) ^ state->s4) >> 24; state->s4 = ((state->s4 & 18446744073709420544ULL) << 23) ^ xval; xval = ((state->s5 << 3) ^ state->s5) >> 33; state->s5 = ((state->s5 & 18446744073701163008ULL) << 8) ^ xval; return (state->s1 ^ state->s2 ^ state->s3 ^ state->s4 ^ state->s5); } static inline uint64_t __rand(struct frand_state *state) { if (state->use64) return __rand64(&state->state64); else return __rand32(&state->state32); } static inline double __rand_0_1(struct frand_state *state) { if (state->use64) { uint64_t val = __rand64(&state->state64); return (val + 1.0) / FRAND64_MAX_PLUS_ONE; } else { uint32_t val = __rand32(&state->state32); return (val + 1.0) / FRAND32_MAX_PLUS_ONE; } } static inline uint32_t rand32_upto(struct frand_state *state, uint32_t end) { uint32_t r; assert(!state->use64); r = __rand32(&state->state32); end++; return (int) ((double)end * (r / FRAND32_MAX_PLUS_ONE)); } static inline uint64_t rand64_upto(struct frand_state *state, uint64_t end) { uint64_t r; assert(state->use64); r = __rand64(&state->state64); end++; return (uint64_t) ((double)end * (r / FRAND64_MAX_PLUS_ONE)); } /* * Generate a random value between 'start' and 'end', both inclusive */ static inline uint64_t rand_between(struct frand_state *state, uint64_t start, uint64_t end) { if (state->use64) return start + rand64_upto(state, end - start); else return start + rand32_upto(state, end - start); } static inline uint64_t __get_next_seed(struct frand_state *fs) { uint64_t r = __rand(fs); if (sizeof(int) != sizeof(long *)) r *= (unsigned long) __rand(fs); return r; } extern void init_rand(struct frand_state *, bool); extern void init_rand_seed(struct frand_state *, uint64_t seed, bool); void __init_rand64(struct taus258_state *state, uint64_t seed); extern void __fill_random_buf(void *buf, unsigned int len, uint64_t seed); extern uint64_t fill_random_buf(struct frand_state *, void *buf, unsigned int len); extern void __fill_random_buf_percentage(uint64_t, void *, unsigned int, unsigned int, unsigned int, char *, unsigned int); extern uint64_t fill_random_buf_percentage(struct frand_state *, void *, unsigned int, unsigned int, unsigned int, char *, unsigned int); #endif fio-3.39/lib/rbtree.c000066400000000000000000000165111476262051600144370ustar00rootroot00000000000000/* Red Black Trees (C) 1999 Andrea Arcangeli (C) 2002 David Woodhouse This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. linux/lib/rbtree.c */ #include "rbtree.h" static void __rb_rotate_left(struct fio_rb_node *node, struct rb_root *root) { struct fio_rb_node *right = node->rb_right; struct fio_rb_node *parent = rb_parent(node); if ((node->rb_right = right->rb_left)) rb_set_parent(right->rb_left, node); right->rb_left = node; rb_set_parent(right, parent); if (parent) { if (node == parent->rb_left) parent->rb_left = right; else parent->rb_right = right; } else root->rb_node = right; rb_set_parent(node, right); } static void __rb_rotate_right(struct fio_rb_node *node, struct rb_root *root) { struct fio_rb_node *left = node->rb_left; struct fio_rb_node *parent = rb_parent(node); if ((node->rb_left = left->rb_right)) rb_set_parent(left->rb_right, node); left->rb_right = node; rb_set_parent(left, parent); if (parent) { if (node == parent->rb_right) parent->rb_right = left; else parent->rb_left = left; } else root->rb_node = left; rb_set_parent(node, left); } void rb_insert_color(struct fio_rb_node *node, struct rb_root *root) { struct fio_rb_node *parent, *gparent; while ((parent = rb_parent(node)) && rb_is_red(parent)) { gparent = rb_parent(parent); if (parent == gparent->rb_left) { { register struct fio_rb_node *uncle = gparent->rb_right; if (uncle && rb_is_red(uncle)) { rb_set_black(uncle); rb_set_black(parent); rb_set_red(gparent); node = gparent; continue; } } if (parent->rb_right == node) { register struct fio_rb_node *tmp; __rb_rotate_left(parent, root); tmp = parent; parent = node; node = tmp; } rb_set_black(parent); rb_set_red(gparent); __rb_rotate_right(gparent, root); } else { { register struct fio_rb_node *uncle = gparent->rb_left; if (uncle && rb_is_red(uncle)) { rb_set_black(uncle); rb_set_black(parent); rb_set_red(gparent); node = gparent; continue; } } if (parent->rb_left == node) { register struct fio_rb_node *tmp; __rb_rotate_right(parent, root); tmp = parent; parent = node; node = tmp; } rb_set_black(parent); rb_set_red(gparent); __rb_rotate_left(gparent, root); } } rb_set_black(root->rb_node); } static void __rb_erase_color(struct fio_rb_node *node, struct fio_rb_node *parent, struct rb_root *root) { struct fio_rb_node *other; while ((!node || rb_is_black(node)) && node != root->rb_node) { if (parent->rb_left == node) { other = parent->rb_right; if (rb_is_red(other)) { rb_set_black(other); rb_set_red(parent); __rb_rotate_left(parent, root); other = parent->rb_right; } if ((!other->rb_left || rb_is_black(other->rb_left)) && (!other->rb_right || rb_is_black(other->rb_right))) { rb_set_red(other); node = parent; parent = rb_parent(node); } else { if (!other->rb_right || rb_is_black(other->rb_right)) { struct fio_rb_node *o_left; if ((o_left = other->rb_left)) rb_set_black(o_left); rb_set_red(other); __rb_rotate_right(other, root); other = parent->rb_right; } rb_set_color(other, rb_color(parent)); rb_set_black(parent); if (other->rb_right) rb_set_black(other->rb_right); __rb_rotate_left(parent, root); node = root->rb_node; break; } } else { other = parent->rb_left; if (rb_is_red(other)) { rb_set_black(other); rb_set_red(parent); __rb_rotate_right(parent, root); other = parent->rb_left; } if ((!other->rb_left || rb_is_black(other->rb_left)) && (!other->rb_right || rb_is_black(other->rb_right))) { rb_set_red(other); node = parent; parent = rb_parent(node); } else { if (!other->rb_left || rb_is_black(other->rb_left)) { register struct fio_rb_node *o_right; if ((o_right = other->rb_right)) rb_set_black(o_right); rb_set_red(other); __rb_rotate_left(other, root); other = parent->rb_left; } rb_set_color(other, rb_color(parent)); rb_set_black(parent); if (other->rb_left) rb_set_black(other->rb_left); __rb_rotate_right(parent, root); node = root->rb_node; break; } } } if (node) rb_set_black(node); } void rb_erase(struct fio_rb_node *node, struct rb_root *root) { struct fio_rb_node *child, *parent; int color; if (!node->rb_left) child = node->rb_right; else if (!node->rb_right) child = node->rb_left; else { struct fio_rb_node *old = node, *left; node = node->rb_right; while ((left = node->rb_left) != NULL) node = left; child = node->rb_right; parent = rb_parent(node); color = rb_color(node); if (child) rb_set_parent(child, parent); if (parent == old) { parent->rb_right = child; parent = node; } else parent->rb_left = child; node->rb_parent_color = old->rb_parent_color; node->rb_right = old->rb_right; node->rb_left = old->rb_left; if (rb_parent(old)) { if (rb_parent(old)->rb_left == old) rb_parent(old)->rb_left = node; else rb_parent(old)->rb_right = node; } else root->rb_node = node; rb_set_parent(old->rb_left, node); if (old->rb_right) rb_set_parent(old->rb_right, node); goto color; } parent = rb_parent(node); color = rb_color(node); if (child) rb_set_parent(child, parent); if (parent) { if (parent->rb_left == node) parent->rb_left = child; else parent->rb_right = child; } else root->rb_node = child; color: if (color == RB_BLACK) __rb_erase_color(child, parent, root); } /* * This function returns the first node (in sort order) of the tree. */ struct fio_rb_node *rb_first(struct rb_root *root) { struct fio_rb_node *n; n = root->rb_node; if (!n) return NULL; while (n->rb_left) n = n->rb_left; return n; } struct fio_rb_node *rb_next(const struct fio_rb_node *node) { struct fio_rb_node *parent; if (RB_EMPTY_NODE(node)) return NULL; /* * If we have a right-hand child, go down and then left as far * as we can. */ if (node->rb_right) { node = node->rb_right; while (node->rb_left) node=node->rb_left; return (struct fio_rb_node *)node; } /* * No right-hand children. Everything down and left is smaller than us, * so any 'next' node must be in the general direction of our parent. * Go up the tree; any time the ancestor is a right-hand child of its * parent, keep going up. First time it's a left-hand child of its * parent, said parent is our 'next' node. */ while ((parent = rb_parent(node)) && node == parent->rb_right) node = parent; return parent; } fio-3.39/lib/rbtree.h000066400000000000000000000111371476262051600144430ustar00rootroot00000000000000/* Red Black Trees (C) 1999 Andrea Arcangeli This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. linux/include/linux/rbtree.h To use rbtrees you'll have to implement your own insert and search cores. This will avoid us to use callbacks and to drop drammatically performances. I know it's not the cleaner way, but in C (not in C++) to get performances and genericity... Some example of insert and search follows here. The search is a plain normal search over an ordered tree. The insert instead must be implemented int two steps: as first thing the code must insert the element in order as a red leaf in the tree, then the support library function rb_insert_color() must be called. Such function will do the not trivial work to rebalance the rbtree if necessary. ----------------------------------------------------------------------- static inline struct page * rb_search_page_cache(struct inode * inode, unsigned long offset) { struct fio_rb_node * n = inode->i_rb_page_cache.rb_node; struct page * page; while (n) { page = rb_entry(n, struct page, rb_page_cache); if (offset < page->offset) n = n->rb_left; else if (offset > page->offset) n = n->rb_right; else return page; } return NULL; } static inline struct page * __rb_insert_page_cache(struct inode * inode, unsigned long offset, struct fio_rb_node * node) { struct fio_rb_node ** p = &inode->i_rb_page_cache.rb_node; struct fio_rb_node * parent = NULL; struct page * page; while (*p) { parent = *p; page = rb_entry(parent, struct page, rb_page_cache); if (offset < page->offset) p = &(*p)->rb_left; else if (offset > page->offset) p = &(*p)->rb_right; else return page; } rb_link_node(node, parent, p); return NULL; } static inline struct page * rb_insert_page_cache(struct inode * inode, unsigned long offset, struct fio_rb_node * node) { struct page * ret; if ((ret = __rb_insert_page_cache(inode, offset, node))) goto out; rb_insert_color(node, &inode->i_rb_page_cache); out: return ret; } ----------------------------------------------------------------------- */ #ifndef _LINUX_RBTREE_H #define _LINUX_RBTREE_H #include #include struct fio_rb_node { intptr_t rb_parent_color; #define RB_RED 0 #define RB_BLACK 1 struct fio_rb_node *rb_right; struct fio_rb_node *rb_left; } __attribute__((aligned(sizeof(long)))); /* The alignment might seem pointless, but allegedly CRIS needs it */ struct rb_root { struct fio_rb_node *rb_node; }; #define rb_parent(r) ((struct fio_rb_node *)((r)->rb_parent_color & ~3)) #define rb_color(r) ((r)->rb_parent_color & 1) #define rb_is_red(r) (!rb_color(r)) #define rb_is_black(r) rb_color(r) #define rb_set_red(r) do { (r)->rb_parent_color &= ~1; } while (0) #define rb_set_black(r) do { (r)->rb_parent_color |= 1; } while (0) static inline void rb_set_parent(struct fio_rb_node *rb, struct fio_rb_node *p) { rb->rb_parent_color = (rb->rb_parent_color & 3) | (uintptr_t)p; } static inline void rb_set_color(struct fio_rb_node *rb, int color) { rb->rb_parent_color = (rb->rb_parent_color & ~1) | color; } #define RB_ROOT (struct rb_root) { NULL, } #define rb_entry(ptr, type, member) container_of(ptr, type, member) #define RB_EMPTY_ROOT(root) ((root)->rb_node == NULL) #define RB_EMPTY_NODE(node) (rb_parent(node) == node) #define RB_CLEAR_NODE(node) (rb_set_parent(node, node)) extern void rb_insert_color(struct fio_rb_node *, struct rb_root *); extern void rb_erase(struct fio_rb_node *, struct rb_root *); /* Find logical next and previous nodes in a tree */ extern struct fio_rb_node *rb_first(struct rb_root *); extern struct fio_rb_node *rb_next(const struct fio_rb_node *); static inline void rb_link_node(struct fio_rb_node * node, struct fio_rb_node * parent, struct fio_rb_node ** rb_link) { node->rb_parent_color = (uintptr_t)parent; node->rb_left = node->rb_right = NULL; *rb_link = node; } #endif /* _LINUX_RBTREE_H */ fio-3.39/lib/roundup.h000066400000000000000000000002441476262051600146510ustar00rootroot00000000000000#ifndef FIO_ROUNDUP_H #define FIO_ROUNDUP_H #include "lib/fls.h" static inline unsigned roundup_pow2(unsigned depth) { return 1UL << __fls(depth - 1); } #endif fio-3.39/lib/seqlock.h000066400000000000000000000015261476262051600146220ustar00rootroot00000000000000#ifndef FIO_SEQLOCK_H #define FIO_SEQLOCK_H #include "types.h" #include "../arch/arch.h" struct seqlock { #ifdef __cplusplus std::atomic sequence; #else volatile unsigned int sequence; #endif }; static inline void seqlock_init(struct seqlock *s) { s->sequence = 0; } static inline unsigned int read_seqlock_begin(struct seqlock *s) { unsigned int seq; do { seq = atomic_load_acquire(&s->sequence); if (!(seq & 1)) break; nop; } while (1); return seq; } static inline bool read_seqlock_retry(struct seqlock *s, unsigned int seq) { read_barrier(); return s->sequence != seq; } static inline void write_seqlock_begin(struct seqlock *s) { s->sequence = atomic_load_acquire(&s->sequence) + 1; } static inline void write_seqlock_end(struct seqlock *s) { atomic_store_release(&s->sequence, s->sequence + 1); } #endif fio-3.39/lib/strntol.c000066400000000000000000000012021476262051600146500ustar00rootroot00000000000000#include #include #include #include "strntol.h" long strntol(const char *str, size_t sz, char **end, int base) { /* Expect that digit representation of LONG_MAX/MIN * not greater than this buffer */ char buf[24]; long ret; const char *beg = str; /* Catch up leading spaces */ for (; beg && sz && *beg == ' '; beg++, sz--) ; if (!sz || sz >= sizeof(buf)) { if (end) *end = (char *)str; return 0; } memcpy(buf, beg, sz); buf[sz] = '\0'; ret = strtol(buf, end, base); if (ret == LONG_MIN || ret == LONG_MAX) return ret; if (end) *end = (char *)beg + (*end - buf); return ret; } fio-3.39/lib/strntol.h000066400000000000000000000002121476262051600146550ustar00rootroot00000000000000#ifndef FIO_STRNTOL_H #define FIO_STRNTOL_H #include long strntol(const char *str, size_t sz, char **end, int base); #endif fio-3.39/lib/types.h000066400000000000000000000005121476262051600143170ustar00rootroot00000000000000#ifndef FIO_TYPES_H #define FIO_TYPES_H #if !defined(CONFIG_HAVE_BOOL) && !defined(__cplusplus) typedef int bool; #ifndef false #define false 0 #endif #ifndef true #define true 1 #endif #else #include /* IWYU pragma: export */ #endif #if !defined(CONFIG_HAVE_KERNEL_RWF_T) typedef int __kernel_rwf_t; #endif #endif fio-3.39/lib/zipf.c000066400000000000000000000044041476262051600141220ustar00rootroot00000000000000#include #include #include "zipf.h" #include "../minmax.h" #include "../hash.h" #define ZIPF_MAX_GEN 10000000UL static void zipf_update(struct zipf_state *zs) { uint64_t to_gen; unsigned int i; /* * It can become very costly to generate long sequences. Just cap it at * 10M max, that should be doable in 1-2s on even slow machines. * Precision will take a slight hit, but nothing major. */ to_gen = min(zs->nranges, (uint64_t) ZIPF_MAX_GEN); for (i = 0; i < to_gen; i++) zs->zetan += pow(1.0 / (double) (i + 1), zs->theta); } static void shared_rand_init(struct zipf_state *zs, uint64_t nranges, double center, unsigned int seed) { memset(zs, 0, sizeof(*zs)); zs->nranges = nranges; init_rand_seed(&zs->rand, seed, 0); zs->rand_off = __rand(&zs->rand); if (center != -1) zs->rand_off = nranges * center; } void zipf_init(struct zipf_state *zs, uint64_t nranges, double theta, double center, unsigned int seed) { shared_rand_init(zs, nranges, center, seed); zs->theta = theta; zs->zeta2 = pow(1.0, zs->theta) + pow(0.5, zs->theta); zipf_update(zs); } uint64_t zipf_next(struct zipf_state *zs) { double alpha, eta, rand_uni, rand_z; unsigned long long n = zs->nranges; unsigned long long val; alpha = 1.0 / (1.0 - zs->theta); eta = (1.0 - pow(2.0 / n, 1.0 - zs->theta)) / (1.0 - zs->zeta2 / zs->zetan); rand_uni = (double) __rand(&zs->rand) / (double) FRAND32_MAX; rand_z = rand_uni * zs->zetan; if (rand_z < 1.0) val = 1; else if (rand_z < (1.0 + pow(0.5, zs->theta))) val = 2; else val = 1 + (unsigned long long)(n * pow(eta*rand_uni - eta + 1.0, alpha)); val--; if (!zs->disable_hash) val = __hash_u64(val); return (val + zs->rand_off) % zs->nranges; } void pareto_init(struct zipf_state *zs, uint64_t nranges, double h, double center, unsigned int seed) { shared_rand_init(zs, nranges, center, seed); zs->pareto_pow = log(h) / log(1.0 - h); } uint64_t pareto_next(struct zipf_state *zs) { double rand = (double) __rand(&zs->rand) / (double) FRAND32_MAX; unsigned long long n; n = (zs->nranges - 1) * pow(rand, zs->pareto_pow); if (!zs->disable_hash) n = __hash_u64(n); return (n + zs->rand_off) % zs->nranges; } void zipf_disable_hash(struct zipf_state *zs) { zs->disable_hash = true; } fio-3.39/lib/zipf.h000066400000000000000000000011741476262051600141300ustar00rootroot00000000000000#ifndef FIO_ZIPF_H #define FIO_ZIPF_H #include #include "rand.h" #include "types.h" struct zipf_state { uint64_t nranges; double theta; double zeta2; double zetan; double pareto_pow; struct frand_state rand; uint64_t rand_off; bool disable_hash; }; void zipf_init(struct zipf_state *zs, uint64_t nranges, double theta, double center, unsigned int seed); uint64_t zipf_next(struct zipf_state *zs); void pareto_init(struct zipf_state *zs, uint64_t nranges, double h, double center, unsigned int seed); uint64_t pareto_next(struct zipf_state *zs); void zipf_disable_hash(struct zipf_state *zs); #endif fio-3.39/libfio.c000066400000000000000000000234341476262051600136540ustar00rootroot00000000000000/* * fio - the flexible io tester * * Copyright (C) 2005 Jens Axboe * Copyright (C) 2006-2012 Jens Axboe * * The license below covers all files distributed with fio unless otherwise * noted in the file itself. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #include #include #include #include #include #include "fio.h" #include "smalloc.h" #include "os/os.h" #include "filelock.h" #include "helper_thread.h" #include "filehash.h" FLIST_HEAD(disk_list); unsigned long arch_flags = 0; uintptr_t page_mask = 0; uintptr_t page_size = 0; /* see os/os.h */ static const char *fio_os_strings[os_nr] = { "Invalid", "Linux", "AIX", "FreeBSD", "HP-UX", "OSX", "NetBSD", "OpenBSD", "Solaris", "Windows", "Android", "DragonFly", }; /* see arch/arch.h */ static const char *fio_arch_strings[arch_nr] = { "Invalid", "x86-64", "x86", "ppc", "ia64", "s390", "alpha", "sparc", "sparc64", "arm", "sh", "hppa", "mips", "aarch64", "loongarch64", "riscv64", "generic" }; static void reset_io_counters(struct thread_data *td, int all) { int ddir; if (all) { for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { td->stat_io_bytes[ddir] = 0; td->this_io_bytes[ddir] = 0; td->stat_io_blocks[ddir] = 0; td->this_io_blocks[ddir] = 0; td->last_rate_check_bytes[ddir] = 0; td->last_rate_check_blocks[ddir] = 0; td->bytes_done[ddir] = 0; td->rate_io_issue_bytes[ddir] = 0; td->rate_next_io_time[ddir] = 0; td->last_usec[ddir] = 0; } td->bytes_verified = 0; } td->zone_bytes = 0; td->rwmix_issues = 0; /* * reset file done count if we are to start over */ if (td->o.time_based || td->loops > 1 || td->o.do_verify) td->nr_done_files = 0; } void clear_io_state(struct thread_data *td, int all) { struct fio_file *f; unsigned int i; reset_io_counters(td, all); close_files(td); for_each_file(td, f, i) { fio_file_clear_done(f); f->file_offset = get_start_offset(td, f); } /* * Re-Seed random number generator if rand_repeatable is true */ if (td->o.rand_repeatable) td_fill_rand_seeds(td); } void reset_all_stats(struct thread_data *td) { unsigned long long b; int i; reset_io_counters(td, 1); b = ddir_rw_sum(td->thinktime_blocks_counter); td->last_thinktime_blocks -= b; for (i = 0; i < DDIR_RWDIR_CNT; i++) { td->io_bytes[i] = 0; td->io_blocks[i] = 0; td->io_issues[i] = 0; td->ts.total_io_u[i] = 0; td->ts.runtime[i] = 0; } set_epoch_time(td, td->o.log_alternate_epoch_clock_id, td->o.job_start_clock_id); memcpy(&td->start, &td->epoch, sizeof(td->epoch)); memcpy(&td->iops_sample_time, &td->epoch, sizeof(td->epoch)); memcpy(&td->bw_sample_time, &td->epoch, sizeof(td->epoch)); memcpy(&td->ss.prev_time, &td->epoch, sizeof(td->epoch)); td->last_thinktime = td->epoch; lat_target_reset(td); clear_rusage_stat(td); helper_reset(); } void reset_fio_state(void) { int i; groupid = 0; thread_number = 0; cur_segment = 0; for (i = 0; i < nr_segments; i++) segments[i].nr_threads = 0; stat_number = 0; done_secs = 0; } const char *fio_get_os_string(int nr) { if (nr < os_nr) return fio_os_strings[nr]; return NULL; } const char *fio_get_arch_string(int nr) { if (nr < arch_nr) return fio_arch_strings[nr]; return NULL; } static const char *td_runstates[] = { "NOT_CREATED", "CREATED", "INITIALIZED", "RAMP", "SETTING_UP", "RUNNING", "PRE_READING", "VERIFYING", "FSYNCING", "FINISHING", "EXITED", "REAPED", }; const char *runstate_to_name(int runstate) { compiletime_assert(TD_LAST == 12, "td runstate list"); if (runstate >= 0 && runstate < TD_LAST) return td_runstates[runstate]; return "invalid"; } void td_set_runstate(struct thread_data *td, int runstate) { if (td->runstate == runstate) return; dprint(FD_PROCESS, "pid=%d: runstate %s -> %s\n", (int) td->pid, runstate_to_name(td->runstate), runstate_to_name(runstate)); td->runstate = runstate; } int td_bump_runstate(struct thread_data *td, int new_state) { int old_state = td->runstate; td_set_runstate(td, new_state); return old_state; } void td_restore_runstate(struct thread_data *td, int old_state) { td_set_runstate(td, old_state); } void fio_mark_td_terminate(struct thread_data *td) { fio_gettime(&td->terminate_time, NULL); write_barrier(); td->terminate = true; } void fio_terminate_threads(unsigned int group_id, unsigned int terminate) { pid_t pid = getpid(); dprint(FD_PROCESS, "terminate group_id=%d\n", group_id); for_each_td(td) { if ((terminate == TERMINATE_GROUP && group_id == TERMINATE_ALL) || (terminate == TERMINATE_GROUP && group_id == td->groupid) || (terminate == TERMINATE_STONEWALL && td->runstate >= TD_RUNNING) || (terminate == TERMINATE_ALL)) { dprint(FD_PROCESS, "setting terminate on %s/%d\n", td->o.name, (int) td->pid); if (td->terminate) continue; fio_mark_td_terminate(td); td->o.start_delay = 0; /* * if the thread is running, just let it exit */ if (!td->pid || pid == td->pid) continue; else if (td->runstate < TD_RAMP) kill(td->pid, SIGTERM); else { struct ioengine_ops *ops = td->io_ops; if (ops && ops->terminate) ops->terminate(td); } } } end_for_each(); } int fio_running_or_pending_io_threads(void) { int nr_io_threads = 0; for_each_td(td) { if (td->io_ops_init && td_ioengine_flagged(td, FIO_NOIO)) continue; nr_io_threads++; if (td->runstate < TD_EXITED) return 1; } end_for_each(); if (!nr_io_threads) return -1; /* we only had cpuio threads to begin with */ return 0; } int fio_set_fd_nonblocking(int fd, const char *who) { int flags; flags = fcntl(fd, F_GETFL); if (flags < 0) log_err("fio: %s failed to get file flags: %s\n", who, strerror(errno)); else { int new_flags = flags | O_NONBLOCK; new_flags = fcntl(fd, F_SETFL, new_flags); if (new_flags < 0) log_err("fio: %s failed to get file flags: %s\n", who, strerror(errno)); } return flags; } enum { ENDIAN_INVALID_BE = 1, ENDIAN_INVALID_LE, ENDIAN_INVALID_CONFIG, ENDIAN_BROKEN, }; static int endian_check(void) { union { uint8_t c[8]; uint64_t v; } u; int le = 0, be = 0; u.v = 0x12; if (u.c[7] == 0x12) be = 1; else if (u.c[0] == 0x12) le = 1; #if defined(CONFIG_LITTLE_ENDIAN) if (be) return ENDIAN_INVALID_BE; #elif defined(CONFIG_BIG_ENDIAN) if (le) return ENDIAN_INVALID_LE; #else return ENDIAN_INVALID_CONFIG; #endif if (!le && !be) return ENDIAN_BROKEN; return 0; } int initialize_fio(char *envp[]) { long ps; int err; /* * We need these to be properly 64-bit aligned, otherwise we * can run into problems on archs that fault on unaligned fp * access (ARM). */ compiletime_assert((offsetof(struct thread_data, ts) % sizeof(void *)) == 0, "ts"); compiletime_assert((offsetof(struct thread_stat, percentile_list) % 8) == 0, "stat percentile_list"); compiletime_assert((offsetof(struct thread_stat, total_run_time) % 8) == 0, "total_run_time"); compiletime_assert((offsetof(struct thread_stat, total_err_count) % 8) == 0, "total_err_count"); compiletime_assert((offsetof(struct thread_stat, latency_percentile) % 8) == 0, "stat latency_percentile"); compiletime_assert((offsetof(struct thread_data, ts.clat_stat) % 8) == 0, "ts.clat_stat"); compiletime_assert((offsetof(struct thread_options_pack, zipf_theta) % 8) == 0, "zipf_theta"); compiletime_assert((offsetof(struct thread_options_pack, pareto_h) % 8) == 0, "pareto_h"); compiletime_assert((offsetof(struct thread_options_pack, percentile_list) % 8) == 0, "percentile_list"); compiletime_assert((offsetof(struct thread_options_pack, latency_percentile) % 8) == 0, "latency_percentile"); compiletime_assert((offsetof(struct jobs_eta, m_rate) % 8) == 0, "m_rate"); compiletime_assert(__TD_F_LAST <= TD_ENG_FLAG_SHIFT, "TD_ENG_FLAG_SHIFT"); compiletime_assert((__TD_F_LAST + __FIO_IOENGINE_F_LAST) <= 8*sizeof(((struct thread_data *)0)->flags), "td->flags"); compiletime_assert(BSSPLIT_MAX <= ZONESPLIT_MAX, "bsssplit/zone max"); err = endian_check(); if (err) { log_err("fio: endianness settings appear wrong.\n"); switch (err) { case ENDIAN_INVALID_BE: log_err("fio: got big-endian when configured for little\n"); break; case ENDIAN_INVALID_LE: log_err("fio: got little-endian when configured for big\n"); break; case ENDIAN_INVALID_CONFIG: log_err("fio: not configured to any endianness\n"); break; case ENDIAN_BROKEN: log_err("fio: failed to detect endianness\n"); break; default: assert(0); break; } log_err("fio: please report this to fio@vger.kernel.org\n"); return 1; } #if !defined(CONFIG_GETTIMEOFDAY) && !defined(CONFIG_CLOCK_GETTIME) #error "No available clock source!" #endif arch_init(envp); sinit(); if (fio_filelock_init()) { log_err("fio: failed initializing filelock subsys\n"); return 1; } file_hash_init(); /* * We need locale for number printing, if it isn't set then just * go with the US format. */ if (!getenv("LC_NUMERIC")) setlocale(LC_NUMERIC, "en_US"); ps = sysconf(_SC_PAGESIZE); if (ps < 0) { log_err("Failed to get page size\n"); return 1; } page_size = ps; page_mask = ps - 1; fio_keywords_init(); return 0; } void deinitialize_fio(void) { fio_keywords_exit(); } fio-3.39/log.c000066400000000000000000000047421476262051600131720ustar00rootroot00000000000000#include "log.h" #include #include #include #include #include "fio.h" #include "oslib/asprintf.h" size_t log_info_buf(const char *buf, size_t len) { /* * buf could be NULL (not just ""). */ if (!buf) return 0; if (is_backend) { ssize_t ret = fio_server_text_output(FIO_LOG_INFO, buf, len); if (ret != -1) return ret; } if (log_syslog) { syslog(LOG_INFO, "%s", buf); return len; } else return fwrite(buf, len, 1, f_out); } size_t log_valist(const char *fmt, va_list args) { char *buffer; int len; len = vasprintf(&buffer, fmt, args); if (len < 0) return 0; len = log_info_buf(buffer, len); free(buffer); return len; } /* add prefix for the specified type in front of the valist */ #ifdef FIO_INC_DEBUG void log_prevalist(int type, const char *fmt, va_list args) { char *buf1, *buf2; int len; pid_t pid; pid = gettid(); if (fio_debug_jobp && *fio_debug_jobp != -1U && pid != *fio_debug_jobp) return; len = vasprintf(&buf1, fmt, args); if (len < 0) return; len = asprintf(&buf2, "%-8s %-5u %s", debug_levels[type].name, (int) pid, buf1); free(buf1); if (len < 0) return; log_info_buf(buf2, len); free(buf2); } #endif ssize_t log_info(const char *format, ...) { va_list args; ssize_t ret; va_start(args, format); ret = log_valist(format, args); va_end(args); return ret; } size_t __log_buf(struct buf_output *buf, const char *format, ...) { char *buffer; va_list args; int len; va_start(args, format); len = vasprintf(&buffer, format, args); va_end(args); if (len < 0) return 0; len = buf_output_add(buf, buffer, len); free(buffer); return len; } int log_info_flush(void) { if (is_backend || log_syslog) return 0; return fflush(f_out); } ssize_t log_err(const char *format, ...) { ssize_t ret; int len; char *buffer; va_list args; va_start(args, format); len = vasprintf(&buffer, format, args); va_end(args); if (len < 0) return len; if (is_backend) { ret = fio_server_text_output(FIO_LOG_ERR, buffer, len); if (ret != -1) goto done; } if (log_syslog) { syslog(LOG_INFO, "%s", buffer); ret = len; } else { if (f_err != stderr) ret = fwrite(buffer, len, 1, stderr); ret = fwrite(buffer, len, 1, f_err); } done: free(buffer); return ret; } const char *log_get_level(int level) { static const char *levels[] = { "Unknown", "Debug", "Info", "Error", "Unknown" }; if (level >= FIO_LOG_NR) level = FIO_LOG_NR; return levels[level]; } fio-3.39/log.h000066400000000000000000000020211476262051600131630ustar00rootroot00000000000000#ifndef FIO_LOG_H #define FIO_LOG_H #include #include #include #include "lib/output_buffer.h" extern FILE *f_out; extern FILE *f_err; extern ssize_t log_err(const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2))); extern ssize_t log_info(const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2))); extern size_t __log_buf(struct buf_output *, const char *format, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern size_t log_valist(const char *str, va_list); extern void log_prevalist(int type, const char *str, va_list); extern size_t log_info_buf(const char *buf, size_t len); extern int log_info_flush(void); #define log_buf(buf, format, args...) \ ({ \ size_t __ret; \ if ((buf) != NULL) \ __ret = __log_buf(buf, format, ##args); \ else \ __ret = log_info(format, ##args); \ __ret; \ }) enum { FIO_LOG_DEBUG = 1, FIO_LOG_INFO = 2, FIO_LOG_ERR = 3, FIO_LOG_NR = 4, }; extern const char *log_get_level(int level); #endif fio-3.39/memory.c000066400000000000000000000220651476262051600137170ustar00rootroot00000000000000/* * Memory helpers */ #include #include #include #include #include "fio.h" #ifndef FIO_NO_HAVE_SHM_H #include #endif void fio_unpin_memory(struct thread_data *td) { if (td->pinned_mem) { dprint(FD_MEM, "unpinning %llu bytes\n", td->o.lockmem); if (munlock(td->pinned_mem, td->o.lockmem) < 0) perror("munlock"); munmap(td->pinned_mem, td->o.lockmem); td->pinned_mem = NULL; } } int fio_pin_memory(struct thread_data *td) { unsigned long long phys_mem; if (!td->o.lockmem) return 0; dprint(FD_MEM, "pinning %llu bytes\n", td->o.lockmem); /* * Don't allow mlock of more than real_mem-128MiB */ phys_mem = os_phys_mem(); if (phys_mem) { if ((td->o.lockmem + 128 * 1024 * 1024) > phys_mem) { td->o.lockmem = phys_mem - 128 * 1024 * 1024; log_info("fio: limiting mlocked memory to %lluMiB\n", td->o.lockmem >> 20); } } td->pinned_mem = mmap(NULL, td->o.lockmem, PROT_READ | PROT_WRITE, MAP_PRIVATE | OS_MAP_ANON, -1, 0); if (td->pinned_mem == MAP_FAILED) { perror("malloc locked mem"); td->pinned_mem = NULL; return 1; } if (mlock(td->pinned_mem, td->o.lockmem) < 0) { perror("mlock"); munmap(td->pinned_mem, td->o.lockmem); td->pinned_mem = NULL; return 1; } return 0; } static int alloc_mem_shm(struct thread_data *td, unsigned int total_mem) { #ifndef CONFIG_NO_SHM int flags = IPC_CREAT | S_IRUSR | S_IWUSR; if (td->o.mem_type == MEM_SHMHUGE) { unsigned long mask = td->o.hugepage_size - 1; flags |= SHM_HUGETLB; total_mem = (total_mem + mask) & ~mask; } td->shm_id = shmget(IPC_PRIVATE, total_mem, flags); dprint(FD_MEM, "shmget %u, %d\n", total_mem, td->shm_id); if (td->shm_id < 0) { td_verror(td, errno, "shmget"); if (geteuid() != 0 && (errno == ENOMEM || errno == EPERM)) log_err("fio: you may need to run this job as root\n"); if (td->o.mem_type == MEM_SHMHUGE) { if (errno == EINVAL) { log_err("fio: check that you have free huge" " pages and that hugepage-size is" " correct.\n"); } else if (errno == ENOSYS) { log_err("fio: your system does not appear to" " support huge pages.\n"); } else if (errno == ENOMEM) { log_err("fio: no huge pages available, do you" " need to allocate some? See HOWTO.\n"); } } return 1; } td->orig_buffer = shmat(td->shm_id, NULL, 0); dprint(FD_MEM, "shmat %d, %p\n", td->shm_id, td->orig_buffer); if (td->orig_buffer == (void *) -1) { td_verror(td, errno, "shmat"); td->orig_buffer = NULL; return 1; } return 0; #else log_err("fio: shm not supported\n"); return 1; #endif } static void free_mem_shm(struct thread_data *td) { #ifndef CONFIG_NO_SHM struct shmid_ds sbuf; dprint(FD_MEM, "shmdt/ctl %d %p\n", td->shm_id, td->orig_buffer); shmdt(td->orig_buffer); shmctl(td->shm_id, IPC_RMID, &sbuf); #endif } static int alloc_mem_mmap(struct thread_data *td, size_t total_mem) { int flags = 0; td->mmapfd = -1; if (td->o.mem_type == MEM_MMAPHUGE) { unsigned long mask = td->o.hugepage_size - 1; /* TODO: make sure the file is a real hugetlbfs file */ if (!td->o.mmapfile) flags |= MAP_HUGETLB; total_mem = (total_mem + mask) & ~mask; } if (td->o.mmapfile) { if (access(td->o.mmapfile, F_OK) == 0) td->flags |= TD_F_MMAP_KEEP; td->mmapfd = open(td->o.mmapfile, O_RDWR|O_CREAT, 0644); if (td->mmapfd < 0) { td_verror(td, errno, "open mmap file"); td->orig_buffer = NULL; return 1; } if (td->o.mem_type != MEM_MMAPHUGE && td->o.mem_type != MEM_MMAPSHARED && ftruncate(td->mmapfd, total_mem) < 0) { td_verror(td, errno, "truncate mmap file"); td->orig_buffer = NULL; return 1; } if (td->o.mem_type == MEM_MMAPHUGE || td->o.mem_type == MEM_MMAPSHARED) flags |= MAP_SHARED; else flags |= MAP_PRIVATE; } else flags |= OS_MAP_ANON | MAP_PRIVATE; td->orig_buffer = mmap(NULL, total_mem, PROT_READ | PROT_WRITE, flags, td->mmapfd, 0); dprint(FD_MEM, "mmap %llu/%d %p\n", (unsigned long long) total_mem, td->mmapfd, td->orig_buffer); if (td->orig_buffer == MAP_FAILED) { td_verror(td, errno, "mmap"); td->orig_buffer = NULL; if (td->mmapfd != 1 && td->mmapfd != -1) { close(td->mmapfd); if (td->o.mmapfile && !(td->flags & TD_F_MMAP_KEEP)) unlink(td->o.mmapfile); } return 1; } return 0; } static void free_mem_mmap(struct thread_data *td, size_t total_mem) { dprint(FD_MEM, "munmap %llu %p\n", (unsigned long long) total_mem, td->orig_buffer); munmap(td->orig_buffer, td->orig_buffer_size); if (td->o.mmapfile) { if (td->mmapfd != -1) close(td->mmapfd); if (!(td->flags & TD_F_MMAP_KEEP)) unlink(td->o.mmapfile); free(td->o.mmapfile); } } static int alloc_mem_malloc(struct thread_data *td, size_t total_mem) { td->orig_buffer = malloc(total_mem); dprint(FD_MEM, "malloc %llu %p\n", (unsigned long long) total_mem, td->orig_buffer); return td->orig_buffer == NULL; } static void free_mem_malloc(struct thread_data *td) { dprint(FD_MEM, "free malloc mem %p\n", td->orig_buffer); free(td->orig_buffer); } static int alloc_mem_cudamalloc(struct thread_data *td, size_t total_mem) { #ifdef CONFIG_CUDA CUresult ret; char name[128]; ret = cuInit(0); if (ret != CUDA_SUCCESS) { log_err("fio: failed initialize cuda driver api\n"); return 1; } ret = cuDeviceGetCount(&td->gpu_dev_cnt); if (ret != CUDA_SUCCESS) { log_err("fio: failed get device count\n"); return 1; } dprint(FD_MEM, "found %d GPU devices\n", td->gpu_dev_cnt); if (td->gpu_dev_cnt == 0) { log_err("fio: no GPU device found. " "Can not perform GPUDirect RDMA.\n"); return 1; } td->gpu_dev_id = td->o.gpu_dev_id; ret = cuDeviceGet(&td->cu_dev, td->gpu_dev_id); if (ret != CUDA_SUCCESS) { log_err("fio: failed get GPU device\n"); return 1; } ret = cuDeviceGetName(name, sizeof(name), td->gpu_dev_id); if (ret != CUDA_SUCCESS) { log_err("fio: failed get device name\n"); return 1; } dprint(FD_MEM, "dev_id = [%d], device name = [%s]\n", \ td->gpu_dev_id, name); ret = cuCtxCreate(&td->cu_ctx, CU_CTX_MAP_HOST, td->cu_dev); if (ret != CUDA_SUCCESS) { log_err("fio: failed to create cuda context: %d\n", ret); return 1; } ret = cuMemAlloc(&td->dev_mem_ptr, total_mem); if (ret != CUDA_SUCCESS) { log_err("fio: cuMemAlloc %zu bytes failed\n", total_mem); return 1; } td->orig_buffer = (void *) td->dev_mem_ptr; dprint(FD_MEM, "cudaMalloc %llu %p\n", \ (unsigned long long) total_mem, td->orig_buffer); return 0; #else return -EINVAL; #endif } static void free_mem_cudamalloc(struct thread_data *td) { #ifdef CONFIG_CUDA if (td->dev_mem_ptr) cuMemFree(td->dev_mem_ptr); if (cuCtxDestroy(td->cu_ctx) != CUDA_SUCCESS) log_err("fio: failed to destroy cuda context\n"); #endif } /* * Set up the buffer area we need for io. */ int allocate_io_mem(struct thread_data *td) { size_t total_mem; int ret = 0; if (td_ioengine_flagged(td, FIO_NOIO)) return 0; total_mem = td->orig_buffer_size; if (td->o.odirect || td->o.mem_align || td_ioengine_flagged(td, FIO_MEMALIGN)) { total_mem += page_mask; if (td->o.mem_align && td->o.mem_align > page_size) total_mem += td->o.mem_align - page_size; } dprint(FD_MEM, "Alloc %llu for buffers\n", (unsigned long long) total_mem); /* * If the IO engine has hooks to allocate/free memory and the user * doesn't explicitly ask for something else, use those. But fail if the * user asks for something else with an engine that doesn't allow that. */ if (td->io_ops->iomem_alloc && fio_option_is_set(&td->o, mem_type) && !td_ioengine_flagged(td, FIO_SKIPPABLE_IOMEM_ALLOC)) { log_err("fio: option 'mem/iomem' conflicts with specified IO engine\n"); ret = 1; } else if (td->io_ops->iomem_alloc && !fio_option_is_set(&td->o, mem_type)) ret = td->io_ops->iomem_alloc(td, total_mem); else if (td->o.mem_type == MEM_MALLOC) ret = alloc_mem_malloc(td, total_mem); else if (td->o.mem_type == MEM_SHM || td->o.mem_type == MEM_SHMHUGE) ret = alloc_mem_shm(td, total_mem); else if (td->o.mem_type == MEM_MMAP || td->o.mem_type == MEM_MMAPHUGE || td->o.mem_type == MEM_MMAPSHARED) ret = alloc_mem_mmap(td, total_mem); else if (td->o.mem_type == MEM_CUDA_MALLOC) ret = alloc_mem_cudamalloc(td, total_mem); else { log_err("fio: bad mem type: %d\n", td->o.mem_type); ret = 1; } if (ret) td_verror(td, ENOMEM, "iomem allocation"); return ret; } void free_io_mem(struct thread_data *td) { unsigned int total_mem; total_mem = td->orig_buffer_size; if (td->o.odirect) total_mem += page_mask; if (td->io_ops->iomem_alloc && !fio_option_is_set(&td->o, mem_type)) { if (td->io_ops->iomem_free) td->io_ops->iomem_free(td); } else if (td->o.mem_type == MEM_MALLOC) free_mem_malloc(td); else if (td->o.mem_type == MEM_SHM || td->o.mem_type == MEM_SHMHUGE) free_mem_shm(td); else if (td->o.mem_type == MEM_MMAP || td->o.mem_type == MEM_MMAPHUGE || td->o.mem_type == MEM_MMAPSHARED) free_mem_mmap(td, total_mem); else if (td->o.mem_type == MEM_CUDA_MALLOC) free_mem_cudamalloc(td); else log_err("Bad memory type %u\n", td->o.mem_type); td->orig_buffer = NULL; td->orig_buffer_size = 0; } fio-3.39/minmax.h000066400000000000000000000007511476262051600137030ustar00rootroot00000000000000#ifndef FIO_MIN_MAX_H #define FIO_MIN_MAX_H #ifndef min #define min(x,y) ({ \ __typeof__(x) _x = (x); \ __typeof__(y) _y = (y); \ (void) (&_x == &_y); \ _x < _y ? _x : _y; }) #endif #ifndef max #define max(x,y) ({ \ __typeof__(x) _x = (x); \ __typeof__(y) _y = (y); \ (void) (&_x == &_y); \ _x > _y ? _x : _y; }) #endif #define min_not_zero(x, y) ({ \ __typeof__(x) __x = (x); \ __typeof__(y) __y = (y); \ __x == 0 ? __y : ((__y == 0) ? __x : min(__x, __y)); }) #endif fio-3.39/optgroup.c000066400000000000000000000072771476262051600142760ustar00rootroot00000000000000#include #include #include "optgroup.h" #include "compiler/compiler.h" /* * Option grouping */ static const struct opt_group fio_opt_groups[] = { { .name = "General", .mask = FIO_OPT_C_GENERAL, }, { .name = "I/O", .mask = FIO_OPT_C_IO, }, { .name = "File", .mask = FIO_OPT_C_FILE, }, { .name = "Statistics", .mask = FIO_OPT_C_STAT, }, { .name = "Logging", .mask = FIO_OPT_C_LOG, }, { .name = "Profiles", .mask = FIO_OPT_C_PROFILE, }, { .name = "I/O engines", .mask = FIO_OPT_C_ENGINE, }, { .name = NULL, }, }; static const struct opt_group fio_opt_cat_groups[] = { { .name = "Rate", .mask = FIO_OPT_G_RATE, }, { .name = "Zone", .mask = FIO_OPT_G_ZONE, }, { .name = "Read/write mix", .mask = FIO_OPT_G_RWMIX, }, { .name = "Verify", .mask = FIO_OPT_G_VERIFY, }, { .name = "Trim", .mask = FIO_OPT_G_TRIM, }, { .name = "I/O Logging", .mask = FIO_OPT_G_IOLOG, }, { .name = "I/O Depth", .mask = FIO_OPT_G_IO_DEPTH, }, { .name = "I/O Flow", .mask = FIO_OPT_G_IO_FLOW, }, { .name = "Description", .mask = FIO_OPT_G_DESC, }, { .name = "Filename", .mask = FIO_OPT_G_FILENAME, }, { .name = "General I/O", .mask = FIO_OPT_G_IO_BASIC, }, { .name = "Cgroups", .mask = FIO_OPT_G_CGROUP, }, { .name = "Runtime", .mask = FIO_OPT_G_RUNTIME, }, { .name = "Process", .mask = FIO_OPT_G_PROCESS, }, { .name = "Job credentials / priority", .mask = FIO_OPT_G_CRED, }, { .name = "Clock settings", .mask = FIO_OPT_G_CLOCK, }, { .name = "I/O Type", .mask = FIO_OPT_G_IO_TYPE, }, { .name = "I/O Thinktime", .mask = FIO_OPT_G_THINKTIME, }, { .name = "Randomizations", .mask = FIO_OPT_G_RANDOM, }, { .name = "I/O buffers", .mask = FIO_OPT_G_IO_BUF, }, { .name = "Tiobench profile", .mask = FIO_OPT_G_TIOBENCH, }, { .name = "Error handling", .mask = FIO_OPT_G_ERR, }, { .name = "Ext4 defrag I/O engine", /* e4defrag */ .mask = FIO_OPT_G_E4DEFRAG, }, { .name = "Network I/O engine", /* net */ .mask = FIO_OPT_G_NETIO, }, { .name = "RDMA I/O engine", /* rdma */ .mask = FIO_OPT_G_RDMA, }, { .name = "libaio I/O engine", /* libaio */ .mask = FIO_OPT_G_LIBAIO, }, { .name = "ACT Aerospike like benchmark profile", .mask = FIO_OPT_G_ACT, }, { .name = "Latency profiling", .mask = FIO_OPT_G_LATPROF, }, { .name = "RBD I/O engine", /* rbd */ .mask = FIO_OPT_G_RBD, }, { .name = "GlusterFS I/O engine", /* gfapi,gfapi_async */ .mask = FIO_OPT_G_GFAPI, }, { .name = "MTD I/O engine", /* mtd */ .mask = FIO_OPT_G_MTD, }, { .name = "libhdfs I/O engine", /* libhdfs */ .mask = FIO_OPT_G_HDFS, }, { .name = "NBD I/O engine", /* NBD */ .mask = FIO_OPT_G_NBD, }, { .name = "libcufile I/O engine", /* libcufile */ .mask = FIO_OPT_G_LIBCUFILE, }, { .name = "DAOS File System (dfs) I/O engine", /* dfs */ .mask = FIO_OPT_G_DFS, }, { .name = "NFS I/O engine", /* nfs */ .mask = FIO_OPT_G_NFS, }, { .name = NULL, }, }; static const struct opt_group *group_from_mask(const struct opt_group *ogs, uint64_t *mask, uint64_t inv_mask) { int i; if (*mask == inv_mask || !*mask) return NULL; for (i = 0; ogs[i].name; i++) { const struct opt_group *og = &ogs[i]; if (*mask & og->mask) { *mask &= ~(og->mask); return og; } } return NULL; } const struct opt_group *opt_group_from_mask(uint64_t *mask) { return group_from_mask(fio_opt_groups, mask, FIO_OPT_C_INVALID); } const struct opt_group *opt_group_cat_from_mask(uint64_t *mask) { compiletime_assert(__FIO_OPT_G_NR <= 8 * sizeof(uint64_t), "__FIO_OPT_G_NR"); return group_from_mask(fio_opt_cat_groups, mask, FIO_OPT_G_INVALID); } fio-3.39/optgroup.h000066400000000000000000000077761476262051600143070ustar00rootroot00000000000000#ifndef FIO_OPT_GROUP_H #define FIO_OPT_GROUP_H struct opt_group { const char *name; uint64_t mask; }; enum opt_category { __FIO_OPT_C_GENERAL = 0, __FIO_OPT_C_IO, __FIO_OPT_C_FILE, __FIO_OPT_C_STAT, __FIO_OPT_C_LOG, __FIO_OPT_C_PROFILE, __FIO_OPT_C_ENGINE, __FIO_OPT_C_NR, FIO_OPT_C_GENERAL = (1ULL << __FIO_OPT_C_GENERAL), FIO_OPT_C_IO = (1ULL << __FIO_OPT_C_IO), FIO_OPT_C_FILE = (1ULL << __FIO_OPT_C_FILE), FIO_OPT_C_STAT = (1ULL << __FIO_OPT_C_STAT), FIO_OPT_C_LOG = (1ULL << __FIO_OPT_C_LOG), FIO_OPT_C_PROFILE = (1ULL << __FIO_OPT_C_PROFILE), FIO_OPT_C_ENGINE = (1ULL << __FIO_OPT_C_ENGINE), FIO_OPT_C_INVALID = (1ULL << __FIO_OPT_C_NR), }; enum opt_category_group { __FIO_OPT_G_RATE = 0, __FIO_OPT_G_ZONE, __FIO_OPT_G_RWMIX, __FIO_OPT_G_VERIFY, __FIO_OPT_G_TRIM, __FIO_OPT_G_IOLOG, __FIO_OPT_G_IO_DEPTH, __FIO_OPT_G_IO_FLOW, __FIO_OPT_G_DESC, __FIO_OPT_G_FILENAME, __FIO_OPT_G_IO_BASIC, __FIO_OPT_G_CGROUP, __FIO_OPT_G_RUNTIME, __FIO_OPT_G_PROCESS, __FIO_OPT_G_CRED, __FIO_OPT_G_CLOCK, __FIO_OPT_G_IO_TYPE, __FIO_OPT_G_THINKTIME, __FIO_OPT_G_RANDOM, __FIO_OPT_G_IO_BUF, __FIO_OPT_G_TIOBENCH, __FIO_OPT_G_ERR, __FIO_OPT_G_E4DEFRAG, __FIO_OPT_G_NETIO, __FIO_OPT_G_RDMA, __FIO_OPT_G_LIBAIO, __FIO_OPT_G_ACT, __FIO_OPT_G_LATPROF, __FIO_OPT_G_RBD, __FIO_OPT_G_HTTP, __FIO_OPT_G_GFAPI, __FIO_OPT_G_MTD, __FIO_OPT_G_HDFS, __FIO_OPT_G_SG, __FIO_OPT_G_MMAP, __FIO_OPT_G_ISCSI, __FIO_OPT_G_NBD, __FIO_OPT_G_IOURING, __FIO_OPT_G_FILESTAT, __FIO_OPT_G_NR, __FIO_OPT_G_LIBCUFILE, __FIO_OPT_G_DFS, __FIO_OPT_G_NFS, __FIO_OPT_G_WINDOWSAIO, __FIO_OPT_G_XNVME, __FIO_OPT_G_LIBBLKIO, FIO_OPT_G_RATE = (1ULL << __FIO_OPT_G_RATE), FIO_OPT_G_ZONE = (1ULL << __FIO_OPT_G_ZONE), FIO_OPT_G_RWMIX = (1ULL << __FIO_OPT_G_RWMIX), FIO_OPT_G_VERIFY = (1ULL << __FIO_OPT_G_VERIFY), FIO_OPT_G_TRIM = (1ULL << __FIO_OPT_G_TRIM), FIO_OPT_G_IOLOG = (1ULL << __FIO_OPT_G_IOLOG), FIO_OPT_G_IO_DEPTH = (1ULL << __FIO_OPT_G_IO_DEPTH), FIO_OPT_G_IO_FLOW = (1ULL << __FIO_OPT_G_IO_FLOW), FIO_OPT_G_DESC = (1ULL << __FIO_OPT_G_DESC), FIO_OPT_G_FILENAME = (1ULL << __FIO_OPT_G_FILENAME), FIO_OPT_G_IO_BASIC = (1ULL << __FIO_OPT_G_IO_BASIC), FIO_OPT_G_CGROUP = (1ULL << __FIO_OPT_G_CGROUP), FIO_OPT_G_RUNTIME = (1ULL << __FIO_OPT_G_RUNTIME), FIO_OPT_G_PROCESS = (1ULL << __FIO_OPT_G_PROCESS), FIO_OPT_G_CRED = (1ULL << __FIO_OPT_G_CRED), FIO_OPT_G_CLOCK = (1ULL << __FIO_OPT_G_CLOCK), FIO_OPT_G_IO_TYPE = (1ULL << __FIO_OPT_G_IO_TYPE), FIO_OPT_G_THINKTIME = (1ULL << __FIO_OPT_G_THINKTIME), FIO_OPT_G_RANDOM = (1ULL << __FIO_OPT_G_RANDOM), FIO_OPT_G_IO_BUF = (1ULL << __FIO_OPT_G_IO_BUF), FIO_OPT_G_TIOBENCH = (1ULL << __FIO_OPT_G_TIOBENCH), FIO_OPT_G_ERR = (1ULL << __FIO_OPT_G_ERR), FIO_OPT_G_E4DEFRAG = (1ULL << __FIO_OPT_G_E4DEFRAG), FIO_OPT_G_NETIO = (1ULL << __FIO_OPT_G_NETIO), FIO_OPT_G_RDMA = (1ULL << __FIO_OPT_G_RDMA), FIO_OPT_G_LIBAIO = (1ULL << __FIO_OPT_G_LIBAIO), FIO_OPT_G_ACT = (1ULL << __FIO_OPT_G_ACT), FIO_OPT_G_LATPROF = (1ULL << __FIO_OPT_G_LATPROF), FIO_OPT_G_RBD = (1ULL << __FIO_OPT_G_RBD), FIO_OPT_G_HTTP = (1ULL << __FIO_OPT_G_HTTP), FIO_OPT_G_GFAPI = (1ULL << __FIO_OPT_G_GFAPI), FIO_OPT_G_MTD = (1ULL << __FIO_OPT_G_MTD), FIO_OPT_G_HDFS = (1ULL << __FIO_OPT_G_HDFS), FIO_OPT_G_SG = (1ULL << __FIO_OPT_G_SG), FIO_OPT_G_MMAP = (1ULL << __FIO_OPT_G_MMAP), FIO_OPT_G_INVALID = (1ULL << __FIO_OPT_G_NR), FIO_OPT_G_ISCSI = (1ULL << __FIO_OPT_G_ISCSI), FIO_OPT_G_NBD = (1ULL << __FIO_OPT_G_NBD), FIO_OPT_G_NFS = (1ULL << __FIO_OPT_G_NFS), FIO_OPT_G_IOURING = (1ULL << __FIO_OPT_G_IOURING), FIO_OPT_G_FILESTAT = (1ULL << __FIO_OPT_G_FILESTAT), FIO_OPT_G_LIBCUFILE = (1ULL << __FIO_OPT_G_LIBCUFILE), FIO_OPT_G_DFS = (1ULL << __FIO_OPT_G_DFS), FIO_OPT_G_WINDOWSAIO = (1ULL << __FIO_OPT_G_WINDOWSAIO), FIO_OPT_G_XNVME = (1ULL << __FIO_OPT_G_XNVME), FIO_OPT_G_LIBBLKIO = (1ULL << __FIO_OPT_G_LIBBLKIO), }; extern const struct opt_group *opt_group_from_mask(uint64_t *mask); extern const struct opt_group *opt_group_cat_from_mask(uint64_t *mask); #endif fio-3.39/options.c000066400000000000000000004430611476262051600141050ustar00rootroot00000000000000#include #include #include #include #include #include #include #include #include #include "fio.h" #include "verify.h" #include "parse.h" #include "lib/pattern.h" #include "options.h" #include "optgroup.h" #include "zbd.h" char client_sockaddr_str[INET6_ADDRSTRLEN] = { 0 }; #define cb_data_to_td(data) container_of(data, struct thread_data, o) static const struct pattern_fmt_desc fmt_desc[] = { { .fmt = "%o", .len = FIO_FIELD_SIZE(struct io_u *, offset), .paste = paste_blockoff }, { } }; /* * Check if mmap/mmaphuge has a :/foo/bar/file at the end. If so, return that. */ static char *get_opt_postfix(const char *str) { char *p = strstr(str, ":"); if (!p) return NULL; p++; strip_blank_front(&p); strip_blank_end(p); return strdup(p); } static bool split_parse_distr(const char *str, double *val, double *center) { char *cp, *p; bool r; p = strdup(str); if (!p) return false; cp = strstr(p, ":"); r = true; if (cp) { *cp = '\0'; cp++; r = str_to_float(cp, center, 0); } r = r && str_to_float(p, val, 0); free(p); return r; } static int bs_cmp(const void *p1, const void *p2) { const struct bssplit *bsp1 = p1; const struct bssplit *bsp2 = p2; return (int) bsp1->perc - (int) bsp2->perc; } int split_parse_ddir(struct thread_options *o, struct split *split, char *str, bool absolute, unsigned int max_splits) { unsigned long long perc; unsigned int i; long long val; char *fname; split->nr = 0; i = 0; while ((fname = strsep(&str, ":")) != NULL) { char *perc_str; if (!strlen(fname)) break; perc_str = strstr(fname, "/"); if (perc_str) { *perc_str = '\0'; perc_str++; if (absolute) { if (str_to_decimal(perc_str, &val, 1, o, 0, 0)) { log_err("fio: split conversion failed\n"); return 1; } perc = val; } else { perc = atoi(perc_str); if (perc > 100) perc = 100; else if (!perc) perc = -1U; } } else { if (absolute) perc = 0; else perc = -1U; } if (str_to_decimal(fname, &val, 1, o, 0, 0)) { log_err("fio: split conversion failed\n"); return 1; } split->val1[i] = val; split->val2[i] = perc; i++; if (i == max_splits) { log_err("fio: hit max of %d split entries\n", i); break; } } split->nr = i; return 0; } static int bssplit_ddir(struct thread_options *o, void *eo, enum fio_ddir ddir, char *str, bool data) { unsigned int i, perc, perc_missing; unsigned long long max_bs, min_bs; struct split split; memset(&split, 0, sizeof(split)); if (split_parse_ddir(o, &split, str, data, BSSPLIT_MAX)) return 1; if (!split.nr) return 0; max_bs = 0; min_bs = -1; o->bssplit[ddir] = malloc(split.nr * sizeof(struct bssplit)); o->bssplit_nr[ddir] = split.nr; for (i = 0; i < split.nr; i++) { if (split.val1[i] > max_bs) max_bs = split.val1[i]; if (split.val1[i] < min_bs) min_bs = split.val1[i]; o->bssplit[ddir][i].bs = split.val1[i]; o->bssplit[ddir][i].perc =split.val2[i]; } /* * Now check if the percentages add up, and how much is missing */ perc = perc_missing = 0; for (i = 0; i < o->bssplit_nr[ddir]; i++) { struct bssplit *bsp = &o->bssplit[ddir][i]; if (bsp->perc == -1U) perc_missing++; else perc += bsp->perc; } if (perc > 100 && perc_missing > 1) { log_err("fio: bssplit percentages add to more than 100%%\n"); free(o->bssplit[ddir]); o->bssplit[ddir] = NULL; return 1; } /* * If values didn't have a percentage set, divide the remains between * them. */ if (perc_missing) { if (perc_missing == 1 && o->bssplit_nr[ddir] == 1) perc = 100; for (i = 0; i < o->bssplit_nr[ddir]; i++) { struct bssplit *bsp = &o->bssplit[ddir][i]; if (bsp->perc == -1U) bsp->perc = (100 - perc) / perc_missing; } } o->min_bs[ddir] = min_bs; o->max_bs[ddir] = max_bs; /* * now sort based on percentages, for ease of lookup */ qsort(o->bssplit[ddir], o->bssplit_nr[ddir], sizeof(struct bssplit), bs_cmp); return 0; } int str_split_parse(struct thread_data *td, char *str, split_parse_fn *fn, void *eo, bool data) { char *odir, *ddir; int ret = 0; odir = strchr(str, ','); if (odir) { ddir = strchr(odir + 1, ','); if (ddir) { ret = fn(&td->o, eo, DDIR_TRIM, ddir + 1, data); if (!ret) *ddir = '\0'; } else { char *op; op = strdup(odir + 1); ret = fn(&td->o, eo, DDIR_TRIM, op, data); free(op); } if (!ret) ret = fn(&td->o, eo, DDIR_WRITE, odir + 1, data); if (!ret) { *odir = '\0'; ret = fn(&td->o, eo, DDIR_READ, str, data); } } else { char *op; op = strdup(str); ret = fn(&td->o, eo, DDIR_WRITE, op, data); free(op); if (!ret) { op = strdup(str); ret = fn(&td->o, eo, DDIR_TRIM, op, data); free(op); } if (!ret) ret = fn(&td->o, eo, DDIR_READ, str, data); } return ret; } static int fio_fdp_cmp(const void *p1, const void *p2) { const uint16_t *t1 = p1; const uint16_t *t2 = p2; return *t1 - *t2; } static int str_fdp_pli_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); char *str, *p, *id1; int i = 0, ret = 0; p = str = strdup(input); strip_blank_front(&str); strip_blank_end(str); while ((id1 = strsep(&str, ",")) != NULL) { char *str2, *id2; unsigned int start, end; if (!strlen(id1)) break; str2 = id1; end = -1; while ((id2 = strsep(&str2, "-")) != NULL) { if (!strlen(id2)) break; end = strtoull(id2, NULL, 0); } start = strtoull(id1, NULL, 0); if (end == -1) end = start; if (start > end) { ret = 1; break; } while (start <= end) { if (i >= FIO_MAX_DP_IDS) { log_err("fio: only %d IDs supported\n", FIO_MAX_DP_IDS); ret = 1; break; } if (start > 0xFFFF) { log_err("Placement IDs cannot exceed 0xFFFF\n"); ret = 1; break; } td->o.dp_ids[i++] = start++; } if (ret) break; } free(p); qsort(td->o.dp_ids, i, sizeof(*td->o.dp_ids), fio_fdp_cmp); td->o.dp_nr_ids = i; return ret; } /* str_dp_scheme_cb() is a callback function for parsing the fdp_scheme option This function validates the fdp_scheme filename. */ static int str_dp_scheme_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); struct stat sb; char *filename; int ret = 0; if (parse_dryrun()) return 0; filename = strdup(td->o.dp_scheme_file); strip_blank_front(&filename); strip_blank_end(filename); strcpy(td->o.dp_scheme_file, filename); if (lstat(filename, &sb) < 0){ ret = errno; log_err("fio: lstat() error related to %s\n", filename); td_verror(td, ret, "lstat"); goto out; } if (!S_ISREG(sb.st_mode)) { ret = errno; log_err("fio: %s is not a file\n", filename); td_verror(td, ret, "S_ISREG"); goto out; } out: free(filename); return ret; } static int str_bssplit_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); char *str, *p; int ret = 0; p = str = strdup(input); strip_blank_front(&str); strip_blank_end(str); ret = str_split_parse(td, str, bssplit_ddir, NULL, false); if (parse_dryrun()) { int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { free(td->o.bssplit[i]); td->o.bssplit[i] = NULL; td->o.bssplit_nr[i] = 0; } } free(p); return ret; } static int parse_cmdprio_bssplit_entry(struct thread_options *o, struct split_prio *entry, char *str) { int matches = 0; char *bs_str = NULL; long long bs_val; unsigned int perc = 0, class, level, hint; /* * valid entry formats: * bs/ - %s/ - set perc to 0, prio to -1. * bs/perc - %s/%u - set prio to -1. * bs/perc/class/level - %s/%u/%u/%u * bs/perc/class/level/hint - %s/%u/%u/%u/%u */ matches = sscanf(str, "%m[^/]/%u/%u/%u/%u", &bs_str, &perc, &class, &level, &hint); if (matches < 1) { log_err("fio: invalid cmdprio_bssplit format\n"); return 1; } if (str_to_decimal(bs_str, &bs_val, 1, o, 0, 0)) { log_err("fio: split conversion failed\n"); free(bs_str); return 1; } free(bs_str); entry->bs = bs_val; entry->perc = min(perc, 100u); entry->prio = -1; switch (matches) { case 1: /* bs/ case */ case 2: /* bs/perc case */ break; case 4: /* bs/perc/class/level case */ case 5: /* bs/perc/class/level/hint case */ class = min(class, (unsigned int) IOPRIO_MAX_PRIO_CLASS); level = min(level, (unsigned int) IOPRIO_MAX_PRIO); if (matches == 5) hint = min(hint, (unsigned int) IOPRIO_MAX_PRIO_HINT); else hint = 0; entry->prio = ioprio_value(class, level, hint); break; default: log_err("fio: invalid cmdprio_bssplit format\n"); return 1; } return 0; } /* * Returns a negative integer if the first argument should be before the second * argument in the sorted list. A positive integer if the first argument should * be after the second argument in the sorted list. A zero if they are equal. */ static int fio_split_prio_cmp(const void *p1, const void *p2) { const struct split_prio *tmp1 = p1; const struct split_prio *tmp2 = p2; if (tmp1->bs > tmp2->bs) return 1; if (tmp1->bs < tmp2->bs) return -1; return 0; } int split_parse_prio_ddir(struct thread_options *o, struct split_prio **entries, int *nr_entries, char *str) { struct split_prio *tmp_entries; unsigned int nr_bssplits; char *str_cpy, *p, *fname; /* strsep modifies the string, dup it so that we can use strsep twice */ p = str_cpy = strdup(str); if (!p) return 1; nr_bssplits = 0; while ((fname = strsep(&str_cpy, ":")) != NULL) { if (!strlen(fname)) break; nr_bssplits++; } free(p); if (nr_bssplits > BSSPLIT_MAX) { log_err("fio: too many cmdprio_bssplit entries\n"); return 1; } tmp_entries = calloc(nr_bssplits, sizeof(*tmp_entries)); if (!tmp_entries) return 1; nr_bssplits = 0; while ((fname = strsep(&str, ":")) != NULL) { struct split_prio *entry; if (!strlen(fname)) break; entry = &tmp_entries[nr_bssplits]; if (parse_cmdprio_bssplit_entry(o, entry, fname)) { log_err("fio: failed to parse cmdprio_bssplit entry\n"); free(tmp_entries); return 1; } /* skip zero perc entries, they provide no useful information */ if (entry->perc) nr_bssplits++; } qsort(tmp_entries, nr_bssplits, sizeof(*tmp_entries), fio_split_prio_cmp); *entries = tmp_entries; *nr_entries = nr_bssplits; return 0; } static int str2error(char *str) { const char *err[] = { "EPERM", "ENOENT", "ESRCH", "EINTR", "EIO", "ENXIO", "E2BIG", "ENOEXEC", "EBADF", "ECHILD", "EAGAIN", "ENOMEM", "EACCES", "EFAULT", "ENOTBLK", "EBUSY", "EEXIST", "EXDEV", "ENODEV", "ENOTDIR", "EISDIR", "EINVAL", "ENFILE", "EMFILE", "ENOTTY", "ETXTBSY","EFBIG", "ENOSPC", "ESPIPE", "EROFS","EMLINK", "EPIPE", "EDOM", "ERANGE" }; int i = 0, num = sizeof(err) / sizeof(char *); while (i < num) { if (!strcmp(err[i], str)) return i + 1; i++; } return 0; } static int ignore_error_type(struct thread_data *td, enum error_type_bit etype, char *str) { unsigned int i; int *error; char *fname; if (etype >= ERROR_TYPE_CNT) { log_err("Illegal error type\n"); return 1; } td->o.ignore_error_nr[etype] = 4; error = calloc(4, sizeof(int)); i = 0; while ((fname = strsep(&str, ":")) != NULL) { if (!strlen(fname)) break; /* * grow struct buffer, if needed */ if (i == td->o.ignore_error_nr[etype]) { td->o.ignore_error_nr[etype] <<= 1; error = realloc(error, td->o.ignore_error_nr[etype] * sizeof(int)); } if (fname[0] == 'E') { error[i] = str2error(fname); } else { int base = 10; if (!strncmp(fname, "0x", 2) || !strncmp(fname, "0X", 2)) base = 16; error[i] = strtol(fname, NULL, base); if (error[i] < 0) error[i] = -error[i]; } if (!error[i]) { log_err("Unknown error %s, please use number value\n", fname); td->o.ignore_error_nr[etype] = 0; free(error); return 1; } i++; } if (i) { td->o.continue_on_error |= 1 << etype; td->o.ignore_error_nr[etype] = i; td->o.ignore_error[etype] = error; } else { td->o.ignore_error_nr[etype] = 0; free(error); } return 0; } static int str_replay_skip_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); char *str, *p, *n; int ret = 0; if (parse_dryrun()) return 0; p = str = strdup(input); strip_blank_front(&str); strip_blank_end(str); while (p) { n = strchr(p, ','); if (n) *n++ = '\0'; if (!strcmp(p, "read")) td->o.replay_skip |= 1u << DDIR_READ; else if (!strcmp(p, "write")) td->o.replay_skip |= 1u << DDIR_WRITE; else if (!strcmp(p, "trim")) td->o.replay_skip |= 1u << DDIR_TRIM; else if (!strcmp(p, "sync")) td->o.replay_skip |= 1u << DDIR_SYNC; else { log_err("Unknown skip type: %s\n", p); ret = 1; break; } p = n; } free(str); return ret; } static int str_ignore_error_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); char *str, *p, *n; int ret = 1; enum error_type_bit type = 0; if (parse_dryrun()) return 0; p = str = strdup(input); strip_blank_front(&str); strip_blank_end(str); while (p) { n = strchr(p, ','); if (n) *n++ = '\0'; ret = ignore_error_type(td, type, p); if (ret) break; p = n; type++; } free(str); return ret; } static int str_rw_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); struct thread_options *o = &td->o; char *nr; if (parse_dryrun()) return 0; o->ddir_seq_nr = 1; o->ddir_seq_add = 0; nr = get_opt_postfix(str); if (!nr) return 0; if (td_random(td)) { long long val; if (str_to_decimal(nr, &val, 1, o, 0, 0)) { log_err("fio: randrw postfix parsing failed\n"); free(nr); return 1; } if ((val <= 0) || (val > UINT_MAX)) { log_err("fio: randrw postfix parsing out of range\n"); free(nr); return 1; } o->ddir_seq_nr = (unsigned int) val; } else { long long val; if (str_to_decimal(nr, &val, 1, o, 0, 0)) { log_err("fio: rw postfix parsing failed\n"); free(nr); return 1; } o->ddir_seq_add = val; } free(nr); return 0; } static int str_mem_cb(void *data, const char *mem) { struct thread_data *td = cb_data_to_td(data); if (td->o.mem_type == MEM_MMAPHUGE || td->o.mem_type == MEM_MMAP || td->o.mem_type == MEM_MMAPSHARED) td->o.mmapfile = get_opt_postfix(mem); return 0; } static int fio_clock_source_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); fio_clock_source = td->o.clocksource; fio_clock_source_set = 1; fio_clock_init(); return 0; } static int str_rwmix_read_cb(void *data, long long *val) { struct thread_data *td = cb_data_to_td(data); td->o.rwmix[DDIR_READ] = *val; td->o.rwmix[DDIR_WRITE] = 100 - *val; return 0; } static int str_rwmix_write_cb(void *data, long long *val) { struct thread_data *td = cb_data_to_td(data); td->o.rwmix[DDIR_WRITE] = *val; td->o.rwmix[DDIR_READ] = 100 - *val; return 0; } static int str_exitall_cb(void) { exitall_on_terminate = true; return 0; } #ifdef FIO_HAVE_CPU_AFFINITY int fio_cpus_split(os_cpu_mask_t *mask, unsigned int cpu_index) { unsigned int i, index, cpus_in_mask; const long max_cpu = cpus_configured(); cpus_in_mask = fio_cpu_count(mask); if (!cpus_in_mask) return 0; cpu_index = cpu_index % cpus_in_mask; index = 0; for (i = 0; i < max_cpu; i++) { if (!fio_cpu_isset(mask, i)) continue; if (cpu_index != index) fio_cpu_clear(mask, i); index++; } return fio_cpu_count(mask); } static int str_cpumask_cb(void *data, unsigned long long *val) { struct thread_data *td = cb_data_to_td(data); unsigned int i; long max_cpu; int ret; if (parse_dryrun()) return 0; ret = fio_cpuset_init(&td->o.cpumask); if (ret < 0) { log_err("fio: cpuset_init failed\n"); td_verror(td, ret, "fio_cpuset_init"); return 1; } max_cpu = cpus_configured(); for (i = 0; i < sizeof(int) * 8; i++) { if ((1 << i) & *val) { if (i >= max_cpu) { log_err("fio: CPU %d too large (max=%ld)\n", i, max_cpu - 1); return 1; } dprint(FD_PARSE, "set cpu allowed %d\n", i); fio_cpu_set(&td->o.cpumask, i); } } return 0; } static int set_cpus_allowed(struct thread_data *td, os_cpu_mask_t *mask, const char *input) { char *cpu, *str, *p; long max_cpu; int ret = 0; ret = fio_cpuset_init(mask); if (ret < 0) { log_err("fio: cpuset_init failed\n"); td_verror(td, ret, "fio_cpuset_init"); return 1; } p = str = strdup(input); strip_blank_front(&str); strip_blank_end(str); max_cpu = cpus_configured(); while ((cpu = strsep(&str, ",")) != NULL) { char *str2, *cpu2; int icpu, icpu2; if (!strlen(cpu)) break; str2 = cpu; icpu2 = -1; while ((cpu2 = strsep(&str2, "-")) != NULL) { if (!strlen(cpu2)) break; icpu2 = atoi(cpu2); } icpu = atoi(cpu); if (icpu2 == -1) icpu2 = icpu; while (icpu <= icpu2) { if (icpu >= FIO_MAX_CPUS) { log_err("fio: your OS only supports up to" " %d CPUs\n", (int) FIO_MAX_CPUS); ret = 1; break; } if (icpu >= max_cpu) { log_err("fio: CPU %d too large (max=%ld)\n", icpu, max_cpu - 1); ret = 1; break; } dprint(FD_PARSE, "set cpu allowed %d\n", icpu); fio_cpu_set(mask, icpu); icpu++; } if (ret) break; } free(p); return ret; } static int str_cpus_allowed_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); if (parse_dryrun()) return 0; return set_cpus_allowed(td, &td->o.cpumask, input); } static int str_verify_cpus_allowed_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); if (parse_dryrun()) return 0; return set_cpus_allowed(td, &td->o.verify_cpumask, input); } #ifdef CONFIG_ZLIB static int str_log_cpus_allowed_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); if (parse_dryrun()) return 0; return set_cpus_allowed(td, &td->o.log_gz_cpumask, input); } #endif /* CONFIG_ZLIB */ #endif /* FIO_HAVE_CPU_AFFINITY */ #ifdef CONFIG_LIBNUMA static int str_numa_cpunodes_cb(void *data, char *input) { struct thread_data *td = cb_data_to_td(data); struct bitmask *verify_bitmask; if (parse_dryrun()) return 0; /* numa_parse_nodestring() parses a character string list * of nodes into a bit mask. The bit mask is allocated by * numa_allocate_nodemask(), so it should be freed by * numa_free_nodemask(). */ verify_bitmask = numa_parse_nodestring(input); if (verify_bitmask == NULL) { log_err("fio: numa_parse_nodestring failed\n"); td_verror(td, 1, "str_numa_cpunodes_cb"); return 1; } numa_free_nodemask(verify_bitmask); td->o.numa_cpunodes = strdup(input); return 0; } static int str_numa_mpol_cb(void *data, char *input) { struct thread_data *td = cb_data_to_td(data); const char * const policy_types[] = { "default", "prefer", "bind", "interleave", "local", NULL }; int i; char *nodelist; struct bitmask *verify_bitmask; if (parse_dryrun()) return 0; nodelist = strchr(input, ':'); if (nodelist) { /* NUL-terminate mode */ *nodelist++ = '\0'; } for (i = 0; i <= MPOL_LOCAL; i++) { if (!strcmp(input, policy_types[i])) { td->o.numa_mem_mode = i; break; } } if (i > MPOL_LOCAL) { log_err("fio: memory policy should be: default, prefer, bind, interleave, local\n"); goto out; } switch (td->o.numa_mem_mode) { case MPOL_PREFERRED: /* * Insist on a nodelist of one node only */ if (nodelist) { char *rest = nodelist; while (isdigit(*rest)) rest++; if (*rest) { log_err("fio: one node only for \'prefer\'\n"); goto out; } } else { log_err("fio: one node is needed for \'prefer\'\n"); goto out; } break; case MPOL_INTERLEAVE: /* * Default to online nodes with memory if no nodelist */ if (!nodelist) nodelist = strdup("all"); break; case MPOL_LOCAL: case MPOL_DEFAULT: /* * Don't allow a nodelist */ if (nodelist) { log_err("fio: NO nodelist for \'local\'\n"); goto out; } break; case MPOL_BIND: /* * Insist on a nodelist */ if (!nodelist) { log_err("fio: a nodelist is needed for \'bind\'\n"); goto out; } break; } /* numa_parse_nodestring() parses a character string list * of nodes into a bit mask. The bit mask is allocated by * numa_allocate_nodemask(), so it should be freed by * numa_free_nodemask(). */ switch (td->o.numa_mem_mode) { case MPOL_PREFERRED: td->o.numa_mem_prefer_node = atoi(nodelist); break; case MPOL_INTERLEAVE: case MPOL_BIND: verify_bitmask = numa_parse_nodestring(nodelist); if (verify_bitmask == NULL) { log_err("fio: numa_parse_nodestring failed\n"); td_verror(td, 1, "str_numa_memnodes_cb"); return 1; } td->o.numa_memnodes = strdup(nodelist); numa_free_nodemask(verify_bitmask); break; case MPOL_LOCAL: case MPOL_DEFAULT: default: break; } return 0; out: return 1; } #endif static int str_fst_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); double val; double center = -1; bool done = false; char *nr; td->file_service_nr = 1; switch (td->o.file_service_type) { case FIO_FSERVICE_RANDOM: case FIO_FSERVICE_RR: case FIO_FSERVICE_SEQ: nr = get_opt_postfix(str); if (nr) { td->file_service_nr = atoi(nr); free(nr); } done = true; break; case FIO_FSERVICE_ZIPF: val = FIO_DEF_ZIPF; break; case FIO_FSERVICE_PARETO: val = FIO_DEF_PARETO; break; case FIO_FSERVICE_GAUSS: val = 0.0; break; default: log_err("fio: bad file service type: %d\n", td->o.file_service_type); return 1; } if (done) return 0; nr = get_opt_postfix(str); if (nr && !split_parse_distr(nr, &val, ¢er)) { log_err("fio: file service type random postfix parsing failed\n"); free(nr); return 1; } free(nr); if (center != -1 && (center < 0.00 || center > 1.00)) { log_err("fio: distribution center out of range (0 <= center <= 1.0)\n"); return 1; } td->random_center = center; switch (td->o.file_service_type) { case FIO_FSERVICE_ZIPF: if (val == 1.00) { log_err("fio: zipf theta must be different than 1.0\n"); return 1; } if (parse_dryrun()) return 0; td->zipf_theta = val; break; case FIO_FSERVICE_PARETO: if (val <= 0.00 || val >= 1.00) { log_err("fio: pareto input out of range (0 < input < 1.0)\n"); return 1; } if (parse_dryrun()) return 0; td->pareto_h = val; break; case FIO_FSERVICE_GAUSS: if (val < 0.00 || val >= 100.00) { log_err("fio: normal deviation out of range (0 <= input < 100.0)\n"); return 1; } if (parse_dryrun()) return 0; td->gauss_dev = val; break; } return 0; } #ifdef CONFIG_SYNC_FILE_RANGE static int str_sfr_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); char *nr = get_opt_postfix(str); td->sync_file_range_nr = 1; if (nr) { td->sync_file_range_nr = atoi(nr); free(nr); } return 0; } #endif static int zone_split_ddir(struct thread_options *o, void *eo, enum fio_ddir ddir, char *str, bool absolute) { unsigned int i, perc, perc_missing, sperc, sperc_missing; struct split split; memset(&split, 0, sizeof(split)); if (split_parse_ddir(o, &split, str, absolute, ZONESPLIT_MAX)) return 1; if (!split.nr) return 0; o->zone_split[ddir] = malloc(split.nr * sizeof(struct zone_split)); o->zone_split_nr[ddir] = split.nr; for (i = 0; i < split.nr; i++) { o->zone_split[ddir][i].access_perc = split.val1[i]; if (absolute) o->zone_split[ddir][i].size = split.val2[i]; else o->zone_split[ddir][i].size_perc = split.val2[i]; } /* * Now check if the percentages add up, and how much is missing */ perc = perc_missing = 0; sperc = sperc_missing = 0; for (i = 0; i < o->zone_split_nr[ddir]; i++) { struct zone_split *zsp = &o->zone_split[ddir][i]; if (zsp->access_perc == (uint8_t) -1U) perc_missing++; else perc += zsp->access_perc; if (!absolute) { if (zsp->size_perc == (uint8_t) -1U) sperc_missing++; else sperc += zsp->size_perc; } } if (perc > 100 || sperc > 100) { log_err("fio: zone_split percentages add to more than 100%%\n"); free(o->zone_split[ddir]); o->zone_split[ddir] = NULL; return 1; } if (perc < 100) { log_err("fio: access percentage don't add up to 100 for zoned " "random distribution (got=%u)\n", perc); free(o->zone_split[ddir]); o->zone_split[ddir] = NULL; return 1; } /* * If values didn't have a percentage set, divide the remains between * them. */ if (perc_missing) { if (perc_missing == 1 && o->zone_split_nr[ddir] == 1) perc = 100; for (i = 0; i < o->zone_split_nr[ddir]; i++) { struct zone_split *zsp = &o->zone_split[ddir][i]; if (zsp->access_perc == (uint8_t) -1U) zsp->access_perc = (100 - perc) / perc_missing; } } if (sperc_missing) { if (sperc_missing == 1 && o->zone_split_nr[ddir] == 1) sperc = 100; for (i = 0; i < o->zone_split_nr[ddir]; i++) { struct zone_split *zsp = &o->zone_split[ddir][i]; if (zsp->size_perc == (uint8_t) -1U) zsp->size_perc = (100 - sperc) / sperc_missing; } } return 0; } static int parse_zoned_distribution(struct thread_data *td, const char *input, bool absolute) { const char *pre = absolute ? "zoned_abs:" : "zoned:"; char *str, *p; int i, ret = 0; p = str = strdup(input); strip_blank_front(&str); strip_blank_end(str); /* We expect it to start like that, bail if not */ if (strncmp(str, pre, strlen(pre))) { log_err("fio: mismatch in zoned input <%s>\n", str); free(p); return 1; } str += strlen(pre); ret = str_split_parse(td, str, zone_split_ddir, NULL, absolute); free(p); for (i = 0; i < DDIR_RWDIR_CNT; i++) { int j; dprint(FD_PARSE, "zone ddir %d (nr=%u): \n", i, td->o.zone_split_nr[i]); for (j = 0; j < td->o.zone_split_nr[i]; j++) { struct zone_split *zsp = &td->o.zone_split[i][j]; if (absolute) { dprint(FD_PARSE, "\t%d: %u/%llu\n", j, zsp->access_perc, (unsigned long long) zsp->size); } else { dprint(FD_PARSE, "\t%d: %u/%u\n", j, zsp->access_perc, zsp->size_perc); } } } if (parse_dryrun()) { for (i = 0; i < DDIR_RWDIR_CNT; i++) { free(td->o.zone_split[i]); td->o.zone_split[i] = NULL; td->o.zone_split_nr[i] = 0; } return ret; } if (ret) { for (i = 0; i < DDIR_RWDIR_CNT; i++) td->o.zone_split_nr[i] = 0; } return ret; } static int str_random_distribution_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); double val; double center = -1; char *nr; if (td->o.random_distribution == FIO_RAND_DIST_ZIPF) val = FIO_DEF_ZIPF; else if (td->o.random_distribution == FIO_RAND_DIST_PARETO) val = FIO_DEF_PARETO; else if (td->o.random_distribution == FIO_RAND_DIST_GAUSS) val = 0.0; else if (td->o.random_distribution == FIO_RAND_DIST_ZONED) return parse_zoned_distribution(td, str, false); else if (td->o.random_distribution == FIO_RAND_DIST_ZONED_ABS) return parse_zoned_distribution(td, str, true); else return 0; nr = get_opt_postfix(str); if (nr && !split_parse_distr(nr, &val, ¢er)) { log_err("fio: random postfix parsing failed\n"); free(nr); return 1; } free(nr); if (center != -1 && (center < 0.00 || center > 1.00)) { log_err("fio: distribution center out of range (0 <= center <= 1.0)\n"); return 1; } td->o.random_center.u.f = center; if (td->o.random_distribution == FIO_RAND_DIST_ZIPF) { if (val == 1.00) { log_err("fio: zipf theta must different than 1.0\n"); return 1; } if (parse_dryrun()) return 0; td->o.zipf_theta.u.f = val; } else if (td->o.random_distribution == FIO_RAND_DIST_PARETO) { if (val <= 0.00 || val >= 1.00) { log_err("fio: pareto input out of range (0 < input < 1.0)\n"); return 1; } if (parse_dryrun()) return 0; td->o.pareto_h.u.f = val; } else { if (val < 0.00 || val >= 100.0) { log_err("fio: normal deviation out of range (0 <= input < 100.0)\n"); return 1; } if (parse_dryrun()) return 0; td->o.gauss_dev.u.f = val; } return 0; } static int str_steadystate_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); double val; char *nr; char *pct; long long ll; if (td->o.ss_state != FIO_SS_IOPS && td->o.ss_state != FIO_SS_IOPS_SLOPE && td->o.ss_state != FIO_SS_BW && td->o.ss_state != FIO_SS_BW_SLOPE) { /* should be impossible to get here */ log_err("fio: unknown steady state criterion\n"); return 1; } nr = get_opt_postfix(str); if (!nr) { log_err("fio: steadystate threshold must be specified in addition to criterion\n"); free(nr); return 1; } /* ENHANCEMENT Allow fio to understand size=10.2% and use here */ pct = strstr(nr, "%"); if (pct) { *pct = '\0'; strip_blank_end(nr); if (!str_to_float(nr, &val, 0)) { log_err("fio: could not parse steadystate threshold percentage\n"); free(nr); return 1; } dprint(FD_PARSE, "set steady state threshold to %f%%\n", val); free(nr); if (parse_dryrun()) return 0; td->o.ss_state |= FIO_SS_PCT; td->o.ss_limit.u.f = val; } else if (td->o.ss_state & FIO_SS_IOPS) { if (!str_to_float(nr, &val, 0)) { log_err("fio: steadystate IOPS threshold postfix parsing failed\n"); free(nr); return 1; } dprint(FD_PARSE, "set steady state IOPS threshold to %f\n", val); free(nr); if (parse_dryrun()) return 0; td->o.ss_limit.u.f = val; } else { /* bandwidth criterion */ if (str_to_decimal(nr, &ll, 1, td, 0, 0)) { log_err("fio: steadystate BW threshold postfix parsing failed\n"); free(nr); return 1; } dprint(FD_PARSE, "set steady state BW threshold to %lld\n", ll); free(nr); if (parse_dryrun()) return 0; td->o.ss_limit.u.f = (double) ll; } td->ss.state = td->o.ss_state; return 0; } /* * Return next name in the string. Files are separated with ':'. If the ':' * is escaped with a '\', then that ':' is part of the filename and does not * indicate a new file. */ char *get_next_str(char **ptr) { char *str = *ptr; char *p, *start; if (!str || !strlen(str)) return NULL; start = str; do { /* * No colon, we are done */ p = strchr(str, ':'); if (!p) { *ptr = NULL; break; } /* * We got a colon, but it's the first character. Skip and * continue */ if (p == start) { str = ++start; continue; } if (*(p - 1) != '\\') { *p = '\0'; *ptr = p + 1; break; } memmove(p - 1, p, strlen(p) + 1); str = p; } while (1); return start; } int get_max_str_idx(char *input) { unsigned int cur_idx; char *str, *p; p = str = strdup(input); for (cur_idx = 0; ; cur_idx++) if (get_next_str(&str) == NULL) break; free(p); return cur_idx; } /* * Returns the directory at the index, indexes > entries will be * assigned via modulo division of the index */ int set_name_idx(char *target, size_t tlen, char *input, int index, bool unique_filename) { unsigned int cur_idx; int len; char *fname, *str, *p; p = str = strdup(input); index %= get_max_str_idx(input); for (cur_idx = 0; cur_idx <= index; cur_idx++) fname = get_next_str(&str); if (client_sockaddr_str[0] && unique_filename) { len = snprintf(target, tlen, "%s/%s.", fname, client_sockaddr_str); } else len = snprintf(target, tlen, "%s%c", fname, FIO_OS_PATH_SEPARATOR); target[tlen - 1] = '\0'; free(p); return len; } char* get_name_by_idx(char *input, int index) { unsigned int cur_idx; char *fname, *str, *p; p = str = strdup(input); index %= get_max_str_idx(input); for (cur_idx = 0; cur_idx <= index; cur_idx++) fname = get_next_str(&str); fname = strdup(fname); free(p); return fname; } static int str_filename_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); char *fname, *str, *p; p = str = strdup(input); strip_blank_front(&str); strip_blank_end(str); /* * Ignore what we may already have from nrfiles option. */ if (!td->files_index) td->o.nr_files = 0; while ((fname = get_next_str(&str)) != NULL) { if (!strlen(fname)) break; add_file(td, fname, 0, 1); } free(p); return 0; } static int str_directory_cb(void *data, const char fio_unused *unused) { struct thread_data *td = cb_data_to_td(data); struct stat sb; char *dirname, *str, *p; int ret = 0; if (parse_dryrun()) return 0; p = str = strdup(td->o.directory); while ((dirname = get_next_str(&str)) != NULL) { if (lstat(dirname, &sb) < 0) { ret = errno; log_err("fio: %s is not a directory\n", dirname); td_verror(td, ret, "lstat"); goto out; } if (!S_ISDIR(sb.st_mode)) { log_err("fio: %s is not a directory\n", dirname); ret = 1; goto out; } } out: free(p); return ret; } static int str_opendir_cb(void *data, const char fio_unused *str) { struct thread_data *td = cb_data_to_td(data); if (parse_dryrun()) return 0; if (!td->files_index) td->o.nr_files = 0; return add_dir_files(td, td->o.opendir); } static int str_buffer_pattern_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); int ret; /* FIXME: for now buffer pattern does not support formats */ ret = parse_and_fill_pattern_alloc(input, strlen(input), &td->o.buffer_pattern, NULL, NULL, NULL); if (ret < 0) return 1; assert(ret != 0); td->o.buffer_pattern_bytes = ret; /* * If this job is doing any reading or has compression set, * ensure that we refill buffers for writes or we could be * invalidating the pattern through reads. */ if (!td->o.compress_percentage && !td_read(td)) td->o.refill_buffers = 0; else td->o.refill_buffers = 1; td->o.scramble_buffers = 0; td->o.zero_buffers = 0; return 0; } static int str_buffer_compress_cb(void *data, unsigned long long *il) { struct thread_data *td = cb_data_to_td(data); td->flags |= TD_F_COMPRESS; td->o.compress_percentage = *il; return 0; } static int str_dedupe_cb(void *data, unsigned long long *il) { struct thread_data *td = cb_data_to_td(data); td->flags |= TD_F_COMPRESS; td->o.dedupe_percentage = *il; td->o.refill_buffers = 1; return 0; } static int str_verify_pattern_cb(void *data, const char *input) { struct thread_data *td = cb_data_to_td(data); int ret; td->o.verify_fmt_sz = FIO_ARRAY_SIZE(td->o.verify_fmt); ret = parse_and_fill_pattern_alloc(input, strlen(input), &td->o.verify_pattern, fmt_desc, td->o.verify_fmt, &td->o.verify_fmt_sz); if (ret < 0) return 1; assert(ret != 0); td->o.verify_pattern_bytes = ret; /* * VERIFY_* could already be set */ if (!fio_option_is_set(&td->o, verify)) td->o.verify = VERIFY_PATTERN; return 0; } static int str_gtod_reduce_cb(void *data, int *il) { struct thread_data *td = cb_data_to_td(data); int val = *il; /* * Only modify options if gtod_reduce==1 * Otherwise leave settings alone. */ if (val) { td->o.disable_lat = 1; td->o.disable_clat = 1; td->o.disable_slat = 1; td->o.disable_bw = 1; td->o.clat_percentiles = 0; td->o.lat_percentiles = 0; td->o.slat_percentiles = 0; td->ts_cache_mask = 63; } return 0; } static int str_offset_cb(void *data, long long *__val) { struct thread_data *td = cb_data_to_td(data); unsigned long long v = *__val; if (parse_is_percent(v)) { td->o.start_offset = 0; td->o.start_offset_percent = -1ULL - v; td->o.start_offset_nz = 0; dprint(FD_PARSE, "SET start_offset_percent %d\n", td->o.start_offset_percent); } else if (parse_is_zone(v)) { td->o.start_offset = 0; td->o.start_offset_percent = 0; td->o.start_offset_nz = v - ZONE_BASE_VAL; } else td->o.start_offset = v; return 0; } static int str_offset_increment_cb(void *data, long long *__val) { struct thread_data *td = cb_data_to_td(data); unsigned long long v = *__val; if (parse_is_percent(v)) { td->o.offset_increment = 0; td->o.offset_increment_percent = -1ULL - v; td->o.offset_increment_nz = 0; dprint(FD_PARSE, "SET offset_increment_percent %d\n", td->o.offset_increment_percent); } else if (parse_is_zone(v)) { td->o.offset_increment = 0; td->o.offset_increment_percent = 0; td->o.offset_increment_nz = v - ZONE_BASE_VAL; } else td->o.offset_increment = v; return 0; } static int str_size_cb(void *data, long long *__val) { struct thread_data *td = cb_data_to_td(data); unsigned long long v = *__val; if (parse_is_percent(v)) { td->o.size = 0; td->o.size_percent = -1ULL - v; dprint(FD_PARSE, "SET size_percent %d\n", td->o.size_percent); } else if (parse_is_zone(v)) { td->o.size = 0; td->o.size_percent = 0; td->o.size_nz = v - ZONE_BASE_VAL; } else td->o.size = v; return 0; } static int str_io_size_cb(void *data, unsigned long long *__val) { struct thread_data *td = cb_data_to_td(data); unsigned long long v = *__val; if (parse_is_percent_uncapped(v)) { td->o.io_size = 0; td->o.io_size_percent = -1ULL - v; if (td->o.io_size_percent > 100) { log_err("fio: io_size values greater than 100%% aren't supported\n"); return 1; } dprint(FD_PARSE, "SET io_size_percent %d\n", td->o.io_size_percent); } else if (parse_is_zone(v)) { td->o.io_size = 0; td->o.io_size_percent = 0; td->o.io_size_nz = v - ZONE_BASE_VAL; } else td->o.io_size = v; return 0; } static int str_zoneskip_cb(void *data, long long *__val) { struct thread_data *td = cb_data_to_td(data); unsigned long long v = *__val; if (parse_is_zone(v)) { td->o.zone_skip = 0; td->o.zone_skip_nz = v - ZONE_BASE_VAL; } else td->o.zone_skip = v; return 0; } static int str_write_bw_log_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); if (str) td->o.bw_log_file = strdup(str); td->o.write_bw_log = 1; return 0; } static int str_write_lat_log_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); if (str) td->o.lat_log_file = strdup(str); td->o.write_lat_log = 1; return 0; } static int str_write_iops_log_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); if (str) td->o.iops_log_file = strdup(str); td->o.write_iops_log = 1; return 0; } static int str_write_hist_log_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); if (str) td->o.hist_log_file = strdup(str); td->o.write_hist_log = 1; return 0; } /* * str is supposed to be a substring of the strdup'd original string, * and is valid only if it's a regular file path. * This function keeps the pointer to the path as needed later. * * "external:/path/to/so\0" <- original pointer updated with strdup'd * "external\0" <- above pointer after parsed, i.e. ->ioengine * "/path/to/so\0" <- str argument, i.e. ->ioengine_so_path */ static int str_ioengine_external_cb(void *data, const char *str) { struct thread_data *td = cb_data_to_td(data); struct stat sb; char *p; if (!str) { log_err("fio: null external ioengine path\n"); return 1; } p = (char *)str; /* str is mutable */ strip_blank_front(&p); strip_blank_end(p); if (stat(p, &sb) || !S_ISREG(sb.st_mode)) { log_err("fio: invalid external ioengine path \"%s\"\n", p); return 1; } td->o.ioengine_so_path = p; return 0; } static int rw_verify(const struct fio_option *o, void *data) { struct thread_data *td = cb_data_to_td(data); if (read_only && (td_write(td) || td_trim(td))) { log_err("fio: job <%s> has write or trim bit set, but" " fio is in read-only mode\n", td->o.name); return 1; } return 0; } static int gtod_cpu_verify(const struct fio_option *o, void *data) { #ifndef FIO_HAVE_CPU_AFFINITY struct thread_data *td = cb_data_to_td(data); if (td->o.gtod_cpu) { log_err("fio: platform must support CPU affinity for" "gettimeofday() offloading\n"); return 1; } #endif return 0; } /* * Map of job/command line options */ struct fio_option fio_options[FIO_MAX_OPTS] = { { .name = "description", .lname = "Description of job", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, description), .help = "Text job description", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_DESC, }, { .name = "name", .lname = "Job name", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, name), .help = "Name of this job", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_DESC, }, { .name = "wait_for", .lname = "Waitee name", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, wait_for), .help = "Name of the job this one wants to wait for before starting", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_DESC, }, { .name = "filename", .lname = "Filename(s)", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, filename), .maxlen = PATH_MAX, .cb = str_filename_cb, .prio = -1, /* must come after "directory" */ .help = "File(s) to use for the workload", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_FILENAME, }, { .name = "directory", .lname = "Directory", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, directory), .cb = str_directory_cb, .help = "Directory to store files in", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_FILENAME, }, { .name = "filename_format", .lname = "Filename Format", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, filename_format), .prio = -1, /* must come after "directory" */ .help = "Override default $jobname.$jobnum.$filenum naming", .def = "$jobname.$jobnum.$filenum", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_FILENAME, }, { .name = "unique_filename", .lname = "Unique Filename", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, unique_filename), .help = "For network clients, prefix file with source IP", .def = "1", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_FILENAME, }, { .name = "lockfile", .lname = "Lockfile", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, file_lock_mode), .help = "Lock file when doing IO to it", .prio = 1, .parent = "filename", .hide = 0, .def = "none", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_FILENAME, .posval = { { .ival = "none", .oval = FILE_LOCK_NONE, .help = "No file locking", }, { .ival = "exclusive", .oval = FILE_LOCK_EXCLUSIVE, .help = "Exclusive file lock", }, { .ival = "readwrite", .oval = FILE_LOCK_READWRITE, .help = "Read vs write lock", }, }, }, { .name = "opendir", .lname = "Open directory", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, opendir), .cb = str_opendir_cb, .help = "Recursively add files from this directory and down", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_FILENAME, }, { .name = "rw", .lname = "Read/write", .alias = "readwrite", .type = FIO_OPT_STR, .cb = str_rw_cb, .off1 = offsetof(struct thread_options, td_ddir), .help = "IO direction", .def = "read", .verify = rw_verify, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, .posval = { { .ival = "read", .oval = TD_DDIR_READ, .help = "Sequential read", }, { .ival = "write", .oval = TD_DDIR_WRITE, .help = "Sequential write", }, { .ival = "trim", .oval = TD_DDIR_TRIM, .help = "Sequential trim", }, { .ival = "randread", .oval = TD_DDIR_RANDREAD, .help = "Random read", }, { .ival = "randwrite", .oval = TD_DDIR_RANDWRITE, .help = "Random write", }, { .ival = "randtrim", .oval = TD_DDIR_RANDTRIM, .help = "Random trim", }, { .ival = "rw", .oval = TD_DDIR_RW, .help = "Sequential read and write mix", }, { .ival = "readwrite", .oval = TD_DDIR_RW, .help = "Sequential read and write mix", }, { .ival = "randrw", .oval = TD_DDIR_RANDRW, .help = "Random read and write mix" }, { .ival = "trimwrite", .oval = TD_DDIR_TRIMWRITE, .help = "Trim and write mix, trims preceding writes" }, { .ival = "randtrimwrite", .oval = TD_DDIR_RANDTRIMWRITE, .help = "Randomly trim and write mix, trims preceding writes" }, }, }, { .name = "rw_sequencer", .lname = "RW Sequencer", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, rw_seq), .help = "IO offset generator modifier", .def = "sequential", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, .posval = { { .ival = "sequential", .oval = RW_SEQ_SEQ, .help = "Generate sequential offsets", }, { .ival = "identical", .oval = RW_SEQ_IDENT, .help = "Generate identical offsets", }, }, }, { .name = "ioengine", .lname = "IO Engine", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, ioengine), .help = "IO engine to use", .def = FIO_PREFERRED_ENGINE, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, .posval = { { .ival = "sync", .help = "Use read/write", }, { .ival = "psync", .help = "Use pread/pwrite", }, { .ival = "vsync", .help = "Use readv/writev", }, #ifdef CONFIG_PWRITEV { .ival = "pvsync", .help = "Use preadv/pwritev", }, #endif #ifdef FIO_HAVE_PWRITEV2 { .ival = "pvsync2", .help = "Use preadv2/pwritev2", }, #endif #ifdef CONFIG_LIBAIO { .ival = "libaio", .help = "Linux native asynchronous IO", }, #endif #ifdef ARCH_HAVE_IOURING { .ival = "io_uring", .help = "Fast Linux native aio", }, #endif #ifdef CONFIG_POSIXAIO { .ival = "posixaio", .help = "POSIX asynchronous IO", }, #endif #ifdef CONFIG_SOLARISAIO { .ival = "solarisaio", .help = "Solaris native asynchronous IO", }, #endif #ifdef CONFIG_WINDOWSAIO { .ival = "windowsaio", .help = "Windows native asynchronous IO" }, #endif #ifdef CONFIG_RBD { .ival = "rbd", .help = "Rados Block Device asynchronous IO" }, #endif { .ival = "mmap", .help = "Memory mapped IO" }, #ifdef CONFIG_LINUX_SPLICE { .ival = "splice", .help = "splice/vmsplice based IO", }, { .ival = "netsplice", .help = "splice/vmsplice to/from the network", }, #endif #ifdef FIO_HAVE_SGIO { .ival = "sg", .help = "SCSI generic v3 IO", }, #endif { .ival = "null", .help = "Testing engine (no data transfer)", }, { .ival = "net", .help = "Network IO", }, { .ival = "cpuio", .help = "CPU cycle burner engine", }, #ifdef CONFIG_RDMA { .ival = "rdma", .help = "RDMA IO engine", }, #endif #ifdef CONFIG_LINUX_EXT4_MOVE_EXTENT { .ival = "e4defrag", .help = "ext4 defrag engine", }, #endif #ifdef CONFIG_LINUX_FALLOCATE { .ival = "falloc", .help = "fallocate() file based engine", }, #endif #ifdef CONFIG_GFAPI { .ival = "gfapi", .help = "Glusterfs libgfapi(sync) based engine" }, { .ival = "gfapi_async", .help = "Glusterfs libgfapi(async) based engine" }, #endif #ifdef CONFIG_LIBHDFS { .ival = "libhdfs", .help = "Hadoop Distributed Filesystem (HDFS) engine" }, #endif #ifdef CONFIG_IME { .ival = "ime_psync", .help = "DDN's IME synchronous IO engine", }, { .ival = "ime_psyncv", .help = "DDN's IME synchronous IO engine using iovecs", }, { .ival = "ime_aio", .help = "DDN's IME asynchronous IO engine", }, #endif #ifdef CONFIG_LINUX_DEVDAX { .ival = "dev-dax", .help = "DAX Device based IO engine", }, #endif { .ival = "filecreate", .help = "File creation engine", }, { .ival = "external", .help = "Load external engine (append name)", .cb = str_ioengine_external_cb, }, #ifdef CONFIG_LIBPMEM { .ival = "libpmem", .help = "PMDK libpmem based IO engine", }, #endif #ifdef CONFIG_HTTP { .ival = "http", .help = "HTTP (WebDAV/S3) IO engine", }, #endif { .ival = "nbd", .help = "Network Block Device (NBD) IO engine" }, #ifdef CONFIG_DFS { .ival = "dfs", .help = "DAOS File System (dfs) IO engine", }, #endif #ifdef CONFIG_LIBNFS { .ival = "nfs", .help = "NFS IO engine", }, #endif #ifdef CONFIG_LIBXNVME { .ival = "xnvme", .help = "XNVME IO engine", }, #endif }, }, { .name = "iodepth", .lname = "IO Depth", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, iodepth), .help = "Number of IO buffers to keep in flight", .minval = 1, .interval = 1, .def = "1", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, }, { .name = "iodepth_batch", .lname = "IO Depth batch", .alias = "iodepth_batch_submit", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, iodepth_batch), .help = "Number of IO buffers to submit in one go", .parent = "iodepth", .hide = 1, .interval = 1, .def = "1", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, }, { .name = "iodepth_batch_complete_min", .lname = "Min IO depth batch complete", .alias = "iodepth_batch_complete", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, iodepth_batch_complete_min), .help = "Min number of IO buffers to retrieve in one go", .parent = "iodepth", .hide = 1, .minval = 0, .interval = 1, .def = "1", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, }, { .name = "iodepth_batch_complete_max", .lname = "Max IO depth batch complete", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, iodepth_batch_complete_max), .help = "Max number of IO buffers to retrieve in one go", .parent = "iodepth", .hide = 1, .minval = 0, .interval = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, }, { .name = "iodepth_low", .lname = "IO Depth batch low", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, iodepth_low), .help = "Low water mark for queuing depth", .parent = "iodepth", .hide = 1, .interval = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, }, { .name = "serialize_overlap", .lname = "Serialize overlap", .off1 = offsetof(struct thread_options, serialize_overlap), .type = FIO_OPT_BOOL, .help = "Wait for in-flight IOs that collide to complete", .parent = "iodepth", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, }, { .name = "io_submit_mode", .lname = "IO submit mode", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, io_submit_mode), .help = "How IO submissions and completions are done", .def = "inline", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BASIC, .posval = { { .ival = "inline", .oval = IO_MODE_INLINE, .help = "Submit and complete IO inline", }, { .ival = "offload", .oval = IO_MODE_OFFLOAD, .help = "Offload submit and complete to threads", }, }, }, { .name = "size", .lname = "Size", .type = FIO_OPT_STR_VAL_ZONE, .cb = str_size_cb, .off1 = offsetof(struct thread_options, size), .help = "Total size of device or files", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "io_size", .alias = "io_limit", .lname = "IO Size", .type = FIO_OPT_STR_VAL_ZONE, .cb = str_io_size_cb, .off1 = offsetof(struct thread_options, io_size), .help = "Total size of I/O to be performed", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "fill_device", .lname = "Fill device", .alias = "fill_fs", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, fill_device), .help = "Write until an ENOSPC error occurs", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "filesize", .lname = "File size", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct thread_options, file_size_low), .off2 = offsetof(struct thread_options, file_size_high), .minval = 1, .help = "Size of individual files", .interval = 1024 * 1024, .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "file_append", .lname = "File append", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, file_append), .help = "IO will start at the end of the file(s)", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "offset", .lname = "IO offset", .alias = "fileoffset", .type = FIO_OPT_STR_VAL_ZONE, .cb = str_offset_cb, .off1 = offsetof(struct thread_options, start_offset), .help = "Start IO from this offset", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "offset_align", .lname = "IO offset alignment", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, start_offset_align), .help = "Start IO from this offset alignment", .def = "0", .interval = 512, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "offset_increment", .lname = "IO offset increment", .type = FIO_OPT_STR_VAL_ZONE, .cb = str_offset_increment_cb, .off1 = offsetof(struct thread_options, offset_increment), .help = "What is the increment from one offset to the next", .parent = "offset", .hide = 1, .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "number_ios", .lname = "Number of IOs to perform", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct thread_options, number_ios), .help = "Force job completion after this number of IOs", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "num_range", .lname = "Number of ranges", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, num_range), .maxval = MAX_TRIM_RANGE, .help = "Number of ranges for trim command", .def = "1", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "bs", .lname = "Block size", .alias = "blocksize", .type = FIO_OPT_ULL, .off1 = offsetof(struct thread_options, bs[DDIR_READ]), .off2 = offsetof(struct thread_options, bs[DDIR_WRITE]), .off3 = offsetof(struct thread_options, bs[DDIR_TRIM]), .minval = 1, .help = "Block size unit", .def = "4096", .parent = "rw", .hide = 1, .interval = 512, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "ba", .lname = "Block size align", .alias = "blockalign", .type = FIO_OPT_ULL, .off1 = offsetof(struct thread_options, ba[DDIR_READ]), .off2 = offsetof(struct thread_options, ba[DDIR_WRITE]), .off3 = offsetof(struct thread_options, ba[DDIR_TRIM]), .minval = 1, .help = "IO block offset alignment", .parent = "rw", .hide = 1, .interval = 512, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "bsrange", .lname = "Block size range", .alias = "blocksize_range", .type = FIO_OPT_RANGE, .off1 = offsetof(struct thread_options, min_bs[DDIR_READ]), .off2 = offsetof(struct thread_options, max_bs[DDIR_READ]), .off3 = offsetof(struct thread_options, min_bs[DDIR_WRITE]), .off4 = offsetof(struct thread_options, max_bs[DDIR_WRITE]), .off5 = offsetof(struct thread_options, min_bs[DDIR_TRIM]), .off6 = offsetof(struct thread_options, max_bs[DDIR_TRIM]), .minval = 1, .help = "Set block size range (in more detail than bs)", .parent = "rw", .hide = 1, .interval = 4096, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "bssplit", .lname = "Block size split", .type = FIO_OPT_STR_ULL, .cb = str_bssplit_cb, .off1 = offsetof(struct thread_options, bssplit), .help = "Set a specific mix of block sizes", .parent = "rw", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "bs_unaligned", .lname = "Block size unaligned", .alias = "blocksize_unaligned", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, bs_unaligned), .help = "Don't sector align IO buffer sizes", .parent = "rw", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "bs_is_seq_rand", .lname = "Block size division is seq/random (not read/write)", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, bs_is_seq_rand), .help = "Consider any blocksize setting to be sequential,random", .def = "0", .parent = "blocksize", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "randrepeat", .alias = "allrandrepeat", .lname = "Random repeatable", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, rand_repeatable), .help = "Use repeatable random IO pattern", .def = "1", .parent = "rw", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RANDOM, }, { .name = "randseed", .lname = "The random generator seed", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct thread_options, rand_seed), .help = "Set the random generator seed value", .def = "0x89", .parent = "rw", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RANDOM, }, { .name = "norandommap", .lname = "No randommap", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, norandommap), .help = "Accept potential duplicate random blocks", .parent = "rw", .hide = 1, .hide_on_set = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RANDOM, }, { .name = "softrandommap", .lname = "Soft randommap", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, softrandommap), .help = "Set norandommap if randommap allocation fails", .parent = "norandommap", .hide = 1, .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RANDOM, }, { .name = "random_generator", .lname = "Random Generator", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, random_generator), .help = "Type of random number generator to use", .def = "tausworthe", .posval = { { .ival = "tausworthe", .oval = FIO_RAND_GEN_TAUSWORTHE, .help = "Strong Tausworthe generator", }, { .ival = "lfsr", .oval = FIO_RAND_GEN_LFSR, .help = "Variable length LFSR", }, { .ival = "tausworthe64", .oval = FIO_RAND_GEN_TAUSWORTHE64, .help = "64-bit Tausworthe variant", }, }, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RANDOM, }, { .name = "random_distribution", .lname = "Random Distribution", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, random_distribution), .cb = str_random_distribution_cb, .help = "Random offset distribution generator", .def = "random", .posval = { { .ival = "random", .oval = FIO_RAND_DIST_RANDOM, .help = "Completely random", }, { .ival = "zipf", .oval = FIO_RAND_DIST_ZIPF, .help = "Zipf distribution", }, { .ival = "pareto", .oval = FIO_RAND_DIST_PARETO, .help = "Pareto distribution", }, { .ival = "normal", .oval = FIO_RAND_DIST_GAUSS, .help = "Normal (Gaussian) distribution", }, { .ival = "zoned", .oval = FIO_RAND_DIST_ZONED, .help = "Zoned random distribution", }, { .ival = "zoned_abs", .oval = FIO_RAND_DIST_ZONED_ABS, .help = "Zoned absolute random distribution", }, }, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RANDOM, }, { .name = "percentage_random", .lname = "Percentage Random", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, perc_rand[DDIR_READ]), .off2 = offsetof(struct thread_options, perc_rand[DDIR_WRITE]), .off3 = offsetof(struct thread_options, perc_rand[DDIR_TRIM]), .maxval = 100, .help = "Percentage of seq/random mix that should be random", .def = "100,100,100", .interval = 5, .inverse = "percentage_sequential", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RANDOM, }, { .name = "percentage_sequential", .lname = "Percentage Sequential", .type = FIO_OPT_DEPRECATED, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RANDOM, }, { .name = "nrfiles", .lname = "Number of files", .alias = "nr_files", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, nr_files), .help = "Split job workload between this number of files", .def = "1", .interval = 1, .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "openfiles", .lname = "Number of open files", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, open_files), .help = "Number of files to keep open at the same time", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "file_service_type", .lname = "File service type", .type = FIO_OPT_STR, .cb = str_fst_cb, .off1 = offsetof(struct thread_options, file_service_type), .help = "How to select which file to service next", .def = "roundrobin", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, .posval = { { .ival = "random", .oval = FIO_FSERVICE_RANDOM, .help = "Choose a file at random (uniform)", }, { .ival = "zipf", .oval = FIO_FSERVICE_ZIPF, .help = "Zipf randomized", }, { .ival = "pareto", .oval = FIO_FSERVICE_PARETO, .help = "Pareto randomized", }, { .ival = "normal", .oval = FIO_FSERVICE_GAUSS, .help = "Normal (Gaussian) randomized", }, { .ival = "gauss", .oval = FIO_FSERVICE_GAUSS, .help = "Alias for normal", }, { .ival = "roundrobin", .oval = FIO_FSERVICE_RR, .help = "Round robin select files", }, { .ival = "sequential", .oval = FIO_FSERVICE_SEQ, .help = "Finish one file before moving to the next", }, }, .parent = "nrfiles", .hide = 1, }, { .name = "fallocate", .lname = "Fallocate", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, fallocate_mode), .help = "Whether pre-allocation is performed when laying out files", #ifdef FIO_HAVE_DEFAULT_FALLOCATE .def = "native", #else .def = "none", #endif .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, .posval = { { .ival = "none", .oval = FIO_FALLOCATE_NONE, .help = "Do not pre-allocate space", }, { .ival = "native", .oval = FIO_FALLOCATE_NATIVE, .help = "Use native pre-allocation if possible", }, #ifdef CONFIG_POSIX_FALLOCATE { .ival = "posix", .oval = FIO_FALLOCATE_POSIX, .help = "Use posix_fallocate()", }, #endif #ifdef CONFIG_LINUX_FALLOCATE { .ival = "keep", .oval = FIO_FALLOCATE_KEEP_SIZE, .help = "Use fallocate(..., FALLOC_FL_KEEP_SIZE, ...)", }, #endif { .ival = "truncate", .oval = FIO_FALLOCATE_TRUNCATE, .help = "Truncate file to final size instead of allocating" }, /* Compatibility with former boolean values */ { .ival = "0", .oval = FIO_FALLOCATE_NONE, .help = "Alias for 'none'", }, #ifdef CONFIG_POSIX_FALLOCATE { .ival = "1", .oval = FIO_FALLOCATE_POSIX, .help = "Alias for 'posix'", }, #endif }, }, { .name = "fadvise_hint", .lname = "Fadvise hint", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, fadvise_hint), .posval = { { .ival = "0", .oval = F_ADV_NONE, .help = "Don't issue fadvise/madvise", }, { .ival = "1", .oval = F_ADV_TYPE, .help = "Advise using fio IO pattern", }, { .ival = "random", .oval = F_ADV_RANDOM, .help = "Advise using FADV_RANDOM", }, { .ival = "sequential", .oval = F_ADV_SEQUENTIAL, .help = "Advise using FADV_SEQUENTIAL", }, #ifdef POSIX_FADV_NOREUSE { .ival = "noreuse", .oval = F_ADV_NOREUSE, .help = "Advise using FADV_NOREUSE", }, #endif }, .help = "Use fadvise() to advise the kernel on IO pattern", .def = "1", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "fsync", .lname = "Fsync", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, fsync_blocks), .help = "Issue fsync for writes every given number of blocks", .def = "0", .interval = 1, .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "fdatasync", .lname = "Fdatasync", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, fdatasync_blocks), .help = "Issue fdatasync for writes every given number of blocks", .def = "0", .interval = 1, .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "write_barrier", .lname = "Write barrier", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, barrier_blocks), .help = "Make every Nth write a barrier write", .def = "0", .interval = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, #ifdef CONFIG_SYNC_FILE_RANGE { .name = "sync_file_range", .lname = "Sync file range", .posval = { { .ival = "wait_before", .oval = SYNC_FILE_RANGE_WAIT_BEFORE, .help = "SYNC_FILE_RANGE_WAIT_BEFORE", .orval = 1, }, { .ival = "write", .oval = SYNC_FILE_RANGE_WRITE, .help = "SYNC_FILE_RANGE_WRITE", .orval = 1, }, { .ival = "wait_after", .oval = SYNC_FILE_RANGE_WAIT_AFTER, .help = "SYNC_FILE_RANGE_WAIT_AFTER", .orval = 1, }, }, .type = FIO_OPT_STR_MULTI, .cb = str_sfr_cb, .off1 = offsetof(struct thread_options, sync_file_range), .help = "Use sync_file_range()", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, #else { .name = "sync_file_range", .lname = "Sync file range", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support sync_file_range", }, #endif { .name = "direct", .lname = "Direct I/O", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, odirect), .help = "Use O_DIRECT IO (negates buffered)", .def = "0", .inverse = "buffered", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_TYPE, }, #ifdef FIO_HAVE_RWF_ATOMIC { .name = "atomic", .lname = "Atomic I/O", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, oatomic), .help = "Use Atomic IO with O_DIRECT (implies O_DIRECT)", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_TYPE, }, #endif { .name = "buffered", .lname = "Buffered I/O", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, odirect), .neg = 1, .help = "Use buffered IO (negates direct)", .def = "1", .inverse = "direct", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_TYPE, }, { .name = "overwrite", .lname = "Overwrite", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, overwrite), .help = "When writing, set whether to overwrite current data", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "loops", .lname = "Loops", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, loops), .help = "Number of times to run the job", .def = "1", .interval = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "numjobs", .lname = "Number of jobs", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, numjobs), .help = "Duplicate this job this many times", .def = "1", .interval = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "startdelay", .lname = "Start delay", .type = FIO_OPT_STR_VAL_TIME, .off1 = offsetof(struct thread_options, start_delay), .off2 = offsetof(struct thread_options, start_delay_high), .help = "Only start job when this period has passed", .def = "0", .is_seconds = 1, .is_time = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "runtime", .lname = "Runtime", .alias = "timeout", .type = FIO_OPT_STR_VAL_TIME, .off1 = offsetof(struct thread_options, timeout), .help = "Stop workload when this amount of time has passed", .def = "0", .is_seconds = 1, .is_time = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "time_based", .lname = "Time based", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, time_based), .help = "Keep running until runtime/timeout is met", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "verify_only", .lname = "Verify only", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, verify_only), .help = "Verifies previously written data is still valid", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "ramp_time", .lname = "Ramp time", .type = FIO_OPT_STR_VAL_TIME, .off1 = offsetof(struct thread_options, ramp_time), .help = "Ramp up time before measuring performance", .is_seconds = 1, .is_time = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "clocksource", .lname = "Clock source", .type = FIO_OPT_STR, .cb = fio_clock_source_cb, .off1 = offsetof(struct thread_options, clocksource), .help = "What type of timing source to use", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CLOCK, .posval = { #ifdef CONFIG_GETTIMEOFDAY { .ival = "gettimeofday", .oval = CS_GTOD, .help = "Use gettimeofday(2) for timing", }, #endif #ifdef CONFIG_CLOCK_GETTIME { .ival = "clock_gettime", .oval = CS_CGETTIME, .help = "Use clock_gettime(2) for timing", }, #endif #ifdef ARCH_HAVE_CPU_CLOCK { .ival = "cpu", .oval = CS_CPUCLOCK, .help = "Use CPU private clock", }, #endif }, }, { .name = "mem", .alias = "iomem", .lname = "I/O Memory", .type = FIO_OPT_STR, .cb = str_mem_cb, .off1 = offsetof(struct thread_options, mem_type), .help = "Backing type for IO buffers", .def = "malloc", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, .posval = { { .ival = "malloc", .oval = MEM_MALLOC, .help = "Use malloc(3) for IO buffers", }, #ifndef CONFIG_NO_SHM { .ival = "shm", .oval = MEM_SHM, .help = "Use shared memory segments for IO buffers", }, #ifdef FIO_HAVE_HUGETLB { .ival = "shmhuge", .oval = MEM_SHMHUGE, .help = "Like shm, but use huge pages", }, #endif #endif { .ival = "mmap", .oval = MEM_MMAP, .help = "Use mmap(2) (file or anon) for IO buffers", }, { .ival = "mmapshared", .oval = MEM_MMAPSHARED, .help = "Like mmap, but use the shared flag", }, #ifdef FIO_HAVE_HUGETLB { .ival = "mmaphuge", .oval = MEM_MMAPHUGE, .help = "Like mmap, but use huge pages", }, #endif #ifdef CONFIG_CUDA { .ival = "cudamalloc", .oval = MEM_CUDA_MALLOC, .help = "Allocate GPU device memory for GPUDirect RDMA", }, #endif }, }, { .name = "iomem_align", .alias = "mem_align", .lname = "I/O memory alignment", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, mem_align), .minval = 0, .help = "IO memory buffer offset alignment", .def = "0", .parent = "iomem", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "verify", .lname = "Verify", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, verify), .help = "Verify data written", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, .posval = { { .ival = "0", .oval = VERIFY_NONE, .help = "Don't do IO verification", }, { .ival = "md5", .oval = VERIFY_MD5, .help = "Use md5 checksums for verification", }, { .ival = "crc64", .oval = VERIFY_CRC64, .help = "Use crc64 checksums for verification", }, { .ival = "crc32", .oval = VERIFY_CRC32, .help = "Use crc32 checksums for verification", }, { .ival = "crc32c-intel", .oval = VERIFY_CRC32C, .help = "Use crc32c checksums for verification (hw assisted, if available)", }, { .ival = "crc32c", .oval = VERIFY_CRC32C, .help = "Use crc32c checksums for verification (hw assisted, if available)", }, { .ival = "crc16", .oval = VERIFY_CRC16, .help = "Use crc16 checksums for verification", }, { .ival = "crc7", .oval = VERIFY_CRC7, .help = "Use crc7 checksums for verification", }, { .ival = "sha1", .oval = VERIFY_SHA1, .help = "Use sha1 checksums for verification", }, { .ival = "sha256", .oval = VERIFY_SHA256, .help = "Use sha256 checksums for verification", }, { .ival = "sha512", .oval = VERIFY_SHA512, .help = "Use sha512 checksums for verification", }, { .ival = "sha3-224", .oval = VERIFY_SHA3_224, .help = "Use sha3-224 checksums for verification", }, { .ival = "sha3-256", .oval = VERIFY_SHA3_256, .help = "Use sha3-256 checksums for verification", }, { .ival = "sha3-384", .oval = VERIFY_SHA3_384, .help = "Use sha3-384 checksums for verification", }, { .ival = "sha3-512", .oval = VERIFY_SHA3_512, .help = "Use sha3-512 checksums for verification", }, { .ival = "xxhash", .oval = VERIFY_XXHASH, .help = "Use xxhash checksums for verification", }, /* Meta information was included into verify_header, * 'meta' verification is implied by default. */ { .ival = "meta", .oval = VERIFY_HDR_ONLY, .help = "Use io information for verification. " "Now is implied by default, thus option is obsolete, " "don't use it", }, { .ival = "pattern", .oval = VERIFY_PATTERN_NO_HDR, .help = "Verify strict pattern", }, { .ival = "null", .oval = VERIFY_NULL, .help = "Pretend to verify", }, }, }, { .name = "do_verify", .lname = "Perform verify step", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, do_verify), .help = "Run verification stage after write", .def = "1", .parent = "verify", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verifysort", .lname = "Verify sort", .type = FIO_OPT_SOFT_DEPRECATED, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verifysort_nr", .lname = "Verify Sort Nr", .type = FIO_OPT_SOFT_DEPRECATED, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_interval", .lname = "Verify interval", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, verify_interval), .minval = 2 * sizeof(struct verify_header), .help = "Store verify buffer header every N bytes", .parent = "verify", .hide = 1, .interval = 2 * sizeof(struct verify_header), .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_offset", .lname = "Verify offset", .type = FIO_OPT_INT, .help = "Offset verify header location by N bytes", .off1 = offsetof(struct thread_options, verify_offset), .minval = sizeof(struct verify_header), .parent = "verify", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_pattern", .lname = "Verify pattern", .type = FIO_OPT_STR, .cb = str_verify_pattern_cb, .off1 = offsetof(struct thread_options, verify_pattern), .help = "Fill pattern for IO buffers", .parent = "verify", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_fatal", .lname = "Verify fatal", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, verify_fatal), .def = "0", .help = "Exit on a single verify failure, don't continue", .parent = "verify", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_dump", .lname = "Verify dump", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, verify_dump), .def = "0", .help = "Dump contents of good and bad blocks on failure", .parent = "verify", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_async", .lname = "Verify asynchronously", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, verify_async), .def = "0", .help = "Number of async verifier threads to use", .parent = "verify", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_backlog", .lname = "Verify backlog", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct thread_options, verify_backlog), .help = "Verify after this number of blocks are written", .parent = "verify", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_backlog_batch", .lname = "Verify backlog batch", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, verify_batch), .help = "Verify this number of IO blocks", .parent = "verify", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, #ifdef FIO_HAVE_CPU_AFFINITY { .name = "verify_async_cpus", .lname = "Async verify CPUs", .type = FIO_OPT_STR, .cb = str_verify_cpus_allowed_cb, .off1 = offsetof(struct thread_options, verify_cpumask), .help = "Set CPUs allowed for async verify threads", .parent = "verify_async", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, #else { .name = "verify_async_cpus", .lname = "Async verify CPUs", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support CPU affinities", }, #endif { .name = "experimental_verify", .lname = "Experimental Verify", .off1 = offsetof(struct thread_options, experimental_verify), .type = FIO_OPT_BOOL, .help = "Enable experimental verification", .parent = "verify", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_state_load", .lname = "Load verify state", .off1 = offsetof(struct thread_options, verify_state), .type = FIO_OPT_BOOL, .help = "Load verify termination state", .parent = "verify", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_state_save", .lname = "Save verify state", .off1 = offsetof(struct thread_options, verify_state_save), .type = FIO_OPT_BOOL, .def = "1", .help = "Save verify state on termination", .parent = "verify", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_write_sequence", .lname = "Verify write sequence number", .off1 = offsetof(struct thread_options, verify_write_sequence), .type = FIO_OPT_BOOL, .def = "1", .help = "Verify header write sequence number", .parent = "verify", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, { .name = "verify_header_seed", .lname = "Verify header seed", .off1 = offsetof(struct thread_options, verify_header_seed), .type = FIO_OPT_BOOL, .def = "1", .help = "Verify the header seed used to generate the buffer contents", .parent = "verify", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_VERIFY, }, #ifdef FIO_HAVE_TRIM { .name = "trim_percentage", .lname = "Trim percentage", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, trim_percentage), .minval = 0, .maxval = 100, .help = "Number of verify blocks to trim (i.e., discard)", .parent = "verify", .def = "0", .interval = 1, .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_TRIM, }, { .name = "trim_verify_zero", .lname = "Verify trim zero", .type = FIO_OPT_BOOL, .help = "Verify that trimmed (i.e., discarded) blocks are returned as zeroes", .off1 = offsetof(struct thread_options, trim_zero), .parent = "trim_percentage", .hide = 1, .def = "1", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_TRIM, }, { .name = "trim_backlog", .lname = "Trim backlog", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct thread_options, trim_backlog), .help = "Trim after this number of blocks are written", .parent = "trim_percentage", .hide = 1, .interval = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_TRIM, }, { .name = "trim_backlog_batch", .lname = "Trim backlog batch", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, trim_batch), .help = "Trim this number of IO blocks", .parent = "trim_percentage", .hide = 1, .interval = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_TRIM, }, #else { .name = "trim_percentage", .lname = "Trim percentage", .type = FIO_OPT_UNSUPPORTED, .help = "Fio does not support TRIM on your platform", }, { .name = "trim_verify_zero", .lname = "Verify trim zero", .type = FIO_OPT_UNSUPPORTED, .help = "Fio does not support TRIM on your platform", }, { .name = "trim_backlog", .lname = "Trim backlog", .type = FIO_OPT_UNSUPPORTED, .help = "Fio does not support TRIM on your platform", }, { .name = "trim_backlog_batch", .lname = "Trim backlog batch", .type = FIO_OPT_UNSUPPORTED, .help = "Fio does not support TRIM on your platform", }, #endif { .name = "write_iolog", .lname = "Write I/O log", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, write_iolog_file), .help = "Store IO pattern to file", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "read_iolog", .lname = "Read I/O log", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, read_iolog_file), .help = "Playback IO pattern from file", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "read_iolog_chunked", .lname = "Read I/O log in parts", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, read_iolog_chunked), .def = "0", .parent = "read_iolog", .help = "Parse IO pattern in chunks", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "replay_no_stall", .lname = "Don't stall on replay", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, no_stall), .def = "0", .parent = "read_iolog", .hide = 1, .help = "Playback IO pattern file as fast as possible without stalls", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "replay_redirect", .lname = "Redirect device for replay", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, replay_redirect), .parent = "read_iolog", .hide = 1, .help = "Replay all I/O onto this device, regardless of trace device", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "replay_scale", .lname = "Replace offset scale factor", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, replay_scale), .parent = "read_iolog", .def = "1", .help = "Align offsets to this blocksize", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "replay_align", .lname = "Replace alignment", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, replay_align), .parent = "read_iolog", .help = "Scale offset down by this factor", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, .pow2 = 1, }, { .name = "replay_time_scale", .lname = "Replay Time Scale", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, replay_time_scale), .def = "100", .minval = 1, .parent = "read_iolog", .hide = 1, .help = "Scale time for replay events", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "replay_skip", .lname = "Replay Skip", .type = FIO_OPT_STR, .cb = str_replay_skip_cb, .off1 = offsetof(struct thread_options, replay_skip), .parent = "read_iolog", .help = "Skip certain IO types (read,write,trim,flush)", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "merge_blktrace_file", .lname = "Merged blktrace output filename", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, merge_blktrace_file), .help = "Merged blktrace output filename", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "merge_blktrace_scalars", .lname = "Percentage to scale each trace", .type = FIO_OPT_FLOAT_LIST, .off1 = offsetof(struct thread_options, merge_blktrace_scalars), .maxlen = FIO_IO_U_LIST_MAX_LEN, .help = "Percentage to scale each trace", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "merge_blktrace_iters", .lname = "Number of iterations to run per trace", .type = FIO_OPT_FLOAT_LIST, .off1 = offsetof(struct thread_options, merge_blktrace_iters), .maxlen = FIO_IO_U_LIST_MAX_LEN, .help = "Number of iterations to run per trace", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IOLOG, }, { .name = "exec_prerun", .lname = "Pre-execute runnable", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, exec_prerun), .help = "Execute this file prior to running job", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, { .name = "exec_postrun", .lname = "Post-execute runnable", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, exec_postrun), .help = "Execute this file after running job", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, #ifdef FIO_HAVE_IOSCHED_SWITCH { .name = "ioscheduler", .lname = "I/O scheduler", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, ioscheduler), .help = "Use this IO scheduler on the backing device", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, #else { .name = "ioscheduler", .lname = "I/O scheduler", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support IO scheduler switching", }, #endif { .name = "zonemode", .lname = "Zone mode", .help = "Mode for the zonesize, zonerange and zoneskip parameters", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, zone_mode), .def = "none", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_ZONE, .posval = { { .ival = "none", .oval = ZONE_MODE_NONE, .help = "no zoning", }, { .ival = "strided", .oval = ZONE_MODE_STRIDED, .help = "strided mode - random I/O is restricted to a single zone", }, { .ival = "zbd", .oval = ZONE_MODE_ZBD, .help = "zoned block device mode - random I/O selects one of multiple zones randomly", }, }, }, { .name = "zonesize", .lname = "Zone size", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct thread_options, zone_size), .help = "Amount of data to read per zone", .def = "0", .interval = 1024 * 1024, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_ZONE, }, { .name = "zonecapacity", .lname = "Zone capacity", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct thread_options, zone_capacity), .help = "Capacity per zone", .def = "0", .interval = 1024 * 1024, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_ZONE, }, { .name = "zonerange", .lname = "Zone range", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct thread_options, zone_range), .help = "Give size of an IO zone", .def = "0", .interval = 1024 * 1024, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_ZONE, }, { .name = "zoneskip", .lname = "Zone skip", .type = FIO_OPT_STR_VAL_ZONE, .cb = str_zoneskip_cb, .off1 = offsetof(struct thread_options, zone_skip), .help = "Space between IO zones", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_ZONE, }, { .name = "read_beyond_wp", .lname = "Allow reads beyond the zone write pointer", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, read_beyond_wp), .help = "Allow reads beyond the zone write pointer", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "max_open_zones", .lname = "Per device/file maximum number of open zones", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, max_open_zones), .maxval = ZBD_MAX_WRITE_ZONES, .help = "Limit on the number of simultaneously opened sequential write zones with zonemode=zbd", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "job_max_open_zones", .lname = "Job maximum number of open zones", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, job_max_open_zones), .maxval = ZBD_MAX_WRITE_ZONES, .help = "Limit on the number of simultaneously opened sequential write zones with zonemode=zbd by one thread/process", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "ignore_zone_limits", .lname = "Ignore zone resource limits", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, ignore_zone_limits), .def = "0", .help = "Ignore the zone resource limits (max open/active zones) reported by the device", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "zone_reset_threshold", .lname = "Zone reset threshold", .help = "Zoned block device reset threshold", .type = FIO_OPT_FLOAT_LIST, .maxlen = 1, .off1 = offsetof(struct thread_options, zrt), .minfp = 0, .maxfp = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_ZONE, }, { .name = "zone_reset_frequency", .lname = "Zone reset frequency", .help = "Zoned block device zone reset frequency in HZ", .type = FIO_OPT_FLOAT_LIST, .maxlen = 1, .off1 = offsetof(struct thread_options, zrf), .minfp = 0, .maxfp = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_ZONE, }, { .name = "fdp", .lname = "Flexible data placement", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, fdp), .help = "Use Data placement directive (FDP)", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "dataplacement", .alias = "data_placement", .lname = "Data Placement interface", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, dp_type), .help = "Data Placement interface to use", .def = "none", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, .posval = { { .ival = "none", .oval = FIO_DP_NONE, .help = "Do not specify a data placement interface", }, { .ival = "fdp", .oval = FIO_DP_FDP, .help = "Use Flexible Data Placement interface", }, { .ival = "streams", .oval = FIO_DP_STREAMS, .help = "Use Streams interface", }, }, }, { .name = "plid_select", .alias = "fdp_pli_select", .lname = "Data Placement ID selection strategy", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, dp_id_select), .help = "Strategy for selecting next Data Placement ID", .def = "roundrobin", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, .posval = { { .ival = "random", .oval = FIO_DP_RANDOM, .help = "Choose a Placement ID at random (uniform)", }, { .ival = "roundrobin", .oval = FIO_DP_RR, .help = "Round robin select Placement IDs", }, { .ival = "scheme", .oval = FIO_DP_SCHEME, .help = "Use a scheme(based on LBA) to select Placement IDs", }, }, }, { .name = "plids", .alias = "fdp_pli", .lname = "Stream IDs/Data Placement ID indices", .type = FIO_OPT_STR, .cb = str_fdp_pli_cb, .off1 = offsetof(struct thread_options, dp_ids), .help = "Sets which Data Placement ids to use (defaults to all for FDP)", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "dp_scheme", .lname = "Data Placement Scheme", .type = FIO_OPT_STR_STORE, .cb = str_dp_scheme_cb, .off1 = offsetof(struct thread_options, dp_scheme_file), .maxlen = PATH_MAX, .help = "scheme file that specifies offset-RUH mapping", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_INVALID, }, { .name = "lockmem", .lname = "Lock memory", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct thread_options, lockmem), .help = "Lock down this amount of memory (per worker)", .def = "0", .interval = 1024 * 1024, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, { .name = "rwmixread", .lname = "Read/write mix read", .type = FIO_OPT_INT, .cb = str_rwmix_read_cb, .off1 = offsetof(struct thread_options, rwmix[DDIR_READ]), .maxval = 100, .help = "Percentage of mixed workload that is reads", .def = "50", .interval = 5, .inverse = "rwmixwrite", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RWMIX, }, { .name = "rwmixwrite", .lname = "Read/write mix write", .type = FIO_OPT_INT, .cb = str_rwmix_write_cb, .off1 = offsetof(struct thread_options, rwmix[DDIR_WRITE]), .maxval = 100, .help = "Percentage of mixed workload that is writes", .def = "50", .interval = 5, .inverse = "rwmixread", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RWMIX, }, { .name = "rwmixcycle", .lname = "Read/write mix cycle", .type = FIO_OPT_DEPRECATED, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RWMIX, }, { .name = "nice", .lname = "Nice", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, nice), .help = "Set job CPU nice value", .minval = -20, .maxval = 19, .def = "0", .interval = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CRED, }, #ifdef FIO_HAVE_IOPRIO { .name = "prio", .lname = "I/O nice priority", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, ioprio), .help = "Set job IO priority value", .minval = IOPRIO_MIN_PRIO, .maxval = IOPRIO_MAX_PRIO, .interval = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CRED, }, #else { .name = "prio", .lname = "I/O nice priority", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support IO priorities", }, #endif #ifdef FIO_HAVE_IOPRIO_CLASS #ifndef FIO_HAVE_IOPRIO #error "FIO_HAVE_IOPRIO_CLASS requires FIO_HAVE_IOPRIO" #endif { .name = "prioclass", .lname = "I/O nice priority class", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, ioprio_class), .help = "Set job IO priority class", .minval = IOPRIO_MIN_PRIO_CLASS, .maxval = IOPRIO_MAX_PRIO_CLASS, .interval = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CRED, }, { .name = "priohint", .lname = "I/O nice priority hint", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, ioprio_hint), .help = "Set job IO priority hint", .minval = IOPRIO_MIN_PRIO_HINT, .maxval = IOPRIO_MAX_PRIO_HINT, .interval = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CRED, }, #else { .name = "prioclass", .lname = "I/O nice priority class", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support IO priority classes", }, { .name = "priohint", .lname = "I/O nice priority hint", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support IO priority hints", }, #endif { .name = "thinktime", .lname = "Thinktime", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, thinktime), .help = "Idle time between IO buffers (usec)", .def = "0", .is_time = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_THINKTIME, }, { .name = "thinktime_spin", .lname = "Thinktime spin", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, thinktime_spin), .help = "Start think time by spinning this amount (usec)", .def = "0", .is_time = 1, .parent = "thinktime", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_THINKTIME, }, { .name = "thinkcycles", .lname = "Think cycles", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, thinkcycles), .help = "Spin for a constant amount of cycles between requests", .def = "0", .parent = "thinktime", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_THINKTIME, }, { .name = "thinktime_blocks", .lname = "Thinktime blocks", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, thinktime_blocks), .help = "IO buffer period between 'thinktime'", .def = "1", .parent = "thinktime", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_THINKTIME, }, { .name = "thinktime_blocks_type", .lname = "Thinktime blocks type", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, thinktime_blocks_type), .help = "How thinktime_blocks takes effect", .def = "complete", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_THINKTIME, .posval = { { .ival = "complete", .oval = THINKTIME_BLOCKS_TYPE_COMPLETE, .help = "thinktime_blocks takes effect at the completion side", }, { .ival = "issue", .oval = THINKTIME_BLOCKS_TYPE_ISSUE, .help = "thinktime_blocks takes effect at the issue side", }, }, .parent = "thinktime", }, { .name = "thinktime_iotime", .lname = "Thinktime interval", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, thinktime_iotime), .help = "IO time interval between 'thinktime'", .def = "0", .parent = "thinktime", .hide = 1, .is_seconds = 1, .is_time = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_THINKTIME, }, { .name = "rate", .lname = "I/O rate", .type = FIO_OPT_ULL, .off1 = offsetof(struct thread_options, rate[DDIR_READ]), .off2 = offsetof(struct thread_options, rate[DDIR_WRITE]), .off3 = offsetof(struct thread_options, rate[DDIR_TRIM]), .help = "Set bandwidth rate", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RATE, }, { .name = "rate_min", .alias = "ratemin", .lname = "I/O min rate", .type = FIO_OPT_ULL, .off1 = offsetof(struct thread_options, ratemin[DDIR_READ]), .off2 = offsetof(struct thread_options, ratemin[DDIR_WRITE]), .off3 = offsetof(struct thread_options, ratemin[DDIR_TRIM]), .help = "Job must meet this rate or it will be shutdown", .parent = "rate", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RATE, }, { .name = "rate_iops", .lname = "I/O rate IOPS", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, rate_iops[DDIR_READ]), .off2 = offsetof(struct thread_options, rate_iops[DDIR_WRITE]), .off3 = offsetof(struct thread_options, rate_iops[DDIR_TRIM]), .help = "Limit IO used to this number of IO operations/sec", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RATE, }, { .name = "rate_iops_min", .lname = "I/O min rate IOPS", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, rate_iops_min[DDIR_READ]), .off2 = offsetof(struct thread_options, rate_iops_min[DDIR_WRITE]), .off3 = offsetof(struct thread_options, rate_iops_min[DDIR_TRIM]), .help = "Job must meet this rate or it will be shut down", .parent = "rate_iops", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RATE, }, { .name = "rate_process", .lname = "Rate Process", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, rate_process), .help = "What process controls how rated IO is managed", .def = "linear", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RATE, .posval = { { .ival = "linear", .oval = RATE_PROCESS_LINEAR, .help = "Linear rate of IO", }, { .ival = "poisson", .oval = RATE_PROCESS_POISSON, .help = "Rate follows Poisson process", }, }, .parent = "rate", }, { .name = "rate_cycle", .alias = "ratecycle", .lname = "I/O rate cycle", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, ratecycle), .help = "Window average for rate limits (msec)", .def = "1000", .parent = "rate", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RATE, }, { .name = "rate_ignore_thinktime", .lname = "Rate ignore thinktime", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, rate_ign_think), .help = "Rated IO ignores thinktime settings", .parent = "rate", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_RATE, }, { .name = "max_latency", .lname = "Max Latency (usec)", .type = FIO_OPT_ULL, .off1 = offsetof(struct thread_options, max_latency[DDIR_READ]), .off2 = offsetof(struct thread_options, max_latency[DDIR_WRITE]), .off3 = offsetof(struct thread_options, max_latency[DDIR_TRIM]), .help = "Maximum tolerated IO latency (usec)", .is_time = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_LATPROF, }, { .name = "latency_target", .lname = "Latency Target (usec)", .type = FIO_OPT_STR_VAL_TIME, .off1 = offsetof(struct thread_options, latency_target), .help = "Ramp to max queue depth supporting this latency", .is_time = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_LATPROF, }, { .name = "latency_window", .lname = "Latency Window (usec)", .type = FIO_OPT_STR_VAL_TIME, .off1 = offsetof(struct thread_options, latency_window), .help = "Time to sustain latency_target", .is_time = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_LATPROF, }, { .name = "latency_percentile", .lname = "Latency Percentile", .type = FIO_OPT_FLOAT_LIST, .off1 = offsetof(struct thread_options, latency_percentile), .help = "Percentile of IOs must be below latency_target", .def = "100", .maxlen = 1, .minfp = 0.0, .maxfp = 100.0, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_LATPROF, }, { .name = "latency_run", .lname = "Latency Run", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, latency_run), .help = "Keep adjusting queue depth to match latency_target", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_LATPROF, }, { .name = "invalidate", .lname = "Cache invalidate", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, invalidate_cache), .help = "Invalidate buffer/page cache prior to running job", .def = "1", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_TYPE, }, { .name = "sync", .lname = "Synchronous I/O", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, sync_io), .help = "Use synchronous write IO", .def = "none", .hide = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_TYPE, .posval = { { .ival = "none", .oval = 0, }, { .ival = "0", .oval = 0, }, { .ival = "sync", .oval = O_SYNC, }, { .ival = "1", .oval = O_SYNC, }, #ifdef O_DSYNC { .ival = "dsync", .oval = O_DSYNC, }, #endif }, }, #ifdef FIO_HAVE_WRITE_HINT { .name = "write_hint", .lname = "Write hint", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, write_hint), .help = "Set expected write life time", .category = FIO_OPT_C_ENGINE, .group = FIO_OPT_G_INVALID, .posval = { { .ival = "none", .oval = RWH_WRITE_LIFE_NONE, }, { .ival = "short", .oval = RWH_WRITE_LIFE_SHORT, }, { .ival = "medium", .oval = RWH_WRITE_LIFE_MEDIUM, }, { .ival = "long", .oval = RWH_WRITE_LIFE_LONG, }, { .ival = "extreme", .oval = RWH_WRITE_LIFE_EXTREME, }, }, }, #endif { .name = "create_serialize", .lname = "Create serialize", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, create_serialize), .help = "Serialize creation of job files", .def = "1", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "create_fsync", .lname = "Create fsync", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, create_fsync), .help = "fsync file after creation", .def = "1", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "create_on_open", .lname = "Create on open", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, create_on_open), .help = "Create files when they are opened for IO", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "create_only", .lname = "Create Only", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, create_only), .help = "Only perform file creation phase", .category = FIO_OPT_C_FILE, .def = "0", }, { .name = "allow_file_create", .lname = "Allow file create", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, allow_create), .help = "Permit fio to create files, if they don't exist", .def = "1", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_FILENAME, }, { .name = "allow_mounted_write", .lname = "Allow mounted write", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, allow_mounted_write), .help = "Allow writes to a mounted partition", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_FILENAME, }, { .name = "pre_read", .lname = "Pre-read files", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, pre_read), .help = "Pre-read files before starting official testing", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, #ifdef FIO_HAVE_CPU_AFFINITY { .name = "cpumask", .lname = "CPU mask", .type = FIO_OPT_INT, .cb = str_cpumask_cb, .off1 = offsetof(struct thread_options, cpumask), .help = "CPU affinity mask", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CRED, }, { .name = "cpus_allowed", .lname = "CPUs allowed", .type = FIO_OPT_STR, .cb = str_cpus_allowed_cb, .off1 = offsetof(struct thread_options, cpumask), .help = "Set CPUs allowed", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CRED, }, { .name = "cpus_allowed_policy", .lname = "CPUs allowed distribution policy", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, cpus_allowed_policy), .help = "Distribution policy for cpus_allowed", .parent = "cpus_allowed", .prio = 1, .posval = { { .ival = "shared", .oval = FIO_CPUS_SHARED, .help = "Mask shared between threads", }, { .ival = "split", .oval = FIO_CPUS_SPLIT, .help = "Mask split between threads", }, }, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CRED, }, #else { .name = "cpumask", .lname = "CPU mask", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support CPU affinities", }, { .name = "cpus_allowed", .lname = "CPUs allowed", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support CPU affinities", }, { .name = "cpus_allowed_policy", .lname = "CPUs allowed distribution policy", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support CPU affinities", }, #endif #ifdef CONFIG_LIBNUMA { .name = "numa_cpu_nodes", .lname = "NUMA CPU Nodes", .type = FIO_OPT_STR, .cb = str_numa_cpunodes_cb, .off1 = offsetof(struct thread_options, numa_cpunodes), .help = "NUMA CPU nodes bind", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, { .name = "numa_mem_policy", .lname = "NUMA Memory Policy", .type = FIO_OPT_STR, .cb = str_numa_mpol_cb, .off1 = offsetof(struct thread_options, numa_memnodes), .help = "NUMA memory policy setup", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, #else { .name = "numa_cpu_nodes", .lname = "NUMA CPU Nodes", .type = FIO_OPT_UNSUPPORTED, .help = "Build fio with libnuma-dev(el) to enable this option", }, { .name = "numa_mem_policy", .lname = "NUMA Memory Policy", .type = FIO_OPT_UNSUPPORTED, .help = "Build fio with libnuma-dev(el) to enable this option", }, #endif #ifdef CONFIG_CUDA { .name = "gpu_dev_id", .lname = "GPU device ID", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, gpu_dev_id), .help = "Set GPU device ID for GPUDirect RDMA", .def = "0", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, #endif { .name = "end_fsync", .lname = "End fsync", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, end_fsync), .help = "Include fsync at the end of job", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "fsync_on_close", .lname = "Fsync on close", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, fsync_on_close), .help = "fsync files on close", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "unlink", .lname = "Unlink file", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, unlink), .help = "Unlink created files after job has completed", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "unlink_each_loop", .lname = "Unlink file after each loop of a job", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, unlink_each_loop), .help = "Unlink created files after each loop in a job has completed", .def = "0", .category = FIO_OPT_C_FILE, .group = FIO_OPT_G_INVALID, }, { .name = "exitall", .lname = "Exit-all on terminate", .type = FIO_OPT_STR_SET, .cb = str_exitall_cb, .help = "Terminate all jobs when one exits", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_PROCESS, }, { .name = "exit_what", .lname = "What jobs to quit on terminate", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, exit_what), .help = "Fine-grained control for exitall", .def = "group", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_PROCESS, .posval = { { .ival = "group", .oval = TERMINATE_GROUP, .help = "exit_all=1 default behaviour", }, { .ival = "stonewall", .oval = TERMINATE_STONEWALL, .help = "quit all currently running jobs; continue with next stonewall", }, { .ival = "all", .oval = TERMINATE_ALL, .help = "Quit everything", }, }, }, { .name = "exitall_on_error", .lname = "Exit-all on terminate in error", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, exitall_error), .help = "Terminate all jobs when one exits in error", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_PROCESS, }, { .name = "stonewall", .lname = "Wait for previous", .alias = "wait_for_previous", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, stonewall), .help = "Insert a hard barrier between this job and previous", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_PROCESS, }, { .name = "new_group", .lname = "New group", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, new_group), .help = "Mark the start of a new group (for reporting)", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_PROCESS, }, { .name = "thread", .lname = "Thread", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, use_thread), .help = "Use threads instead of processes", #ifdef CONFIG_NO_SHM .def = "1", .no_warn_def = 1, #endif .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_PROCESS, }, { .name = "per_job_logs", .lname = "Per Job Logs", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, per_job_logs), .help = "Include job number in generated log files or not", .def = "1", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "write_bw_log", .lname = "Write bandwidth log", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, bw_log_file), .cb = str_write_bw_log_cb, .help = "Write log of bandwidth during run", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "write_lat_log", .lname = "Write latency log", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, lat_log_file), .cb = str_write_lat_log_cb, .help = "Write log of latency during run", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "write_iops_log", .lname = "Write IOPS log", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, iops_log_file), .cb = str_write_iops_log_cb, .help = "Write log of IOPS during run", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "log_entries", .lname = "Log entries", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, log_entries), .help = "Initial number of entries in a job IO log", .def = __fio_stringify(DEF_LOG_ENTRIES), .minval = DEF_LOG_ENTRIES, .maxval = MAX_LOG_ENTRIES, .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "log_avg_msec", .lname = "Log averaging (msec)", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, log_avg_msec), .help = "Average bw/iops/lat logs over this period of time", .def = "0", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "log_hist_msec", .lname = "Log histograms (msec)", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, log_hist_msec), .help = "Dump completion latency histograms at frequency of this time value", .def = "0", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "log_hist_coarseness", .lname = "Histogram logs coarseness", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, log_hist_coarseness), .help = "Integer in range [0,6]. Higher coarseness outputs" " fewer histogram bins per sample. The number of bins for" " these are [1216, 608, 304, 152, 76, 38, 19] respectively.", .def = "0", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "write_hist_log", .lname = "Write latency histogram logs", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, hist_log_file), .cb = str_write_hist_log_cb, .help = "Write log of latency histograms during run", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "log_window_value", .alias = "log_max_value", .lname = "Log maximum, average or both values", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, log_max), .help = "Log max, average or both sample in a window", .def = "avg", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, .posval = { { .ival = "avg", .oval = IO_LOG_SAMPLE_AVG, .help = "Log average value over the window", }, { .ival = "max", .oval = IO_LOG_SAMPLE_MAX, .help = "Log maximum value in the window", }, { .ival = "both", .oval = IO_LOG_SAMPLE_BOTH, .help = "Log both average and maximum values over the window" }, /* Compatibility with former boolean values */ { .ival = "0", .oval = IO_LOG_SAMPLE_AVG, .help = "Alias for 'avg'", }, { .ival = "1", .oval = IO_LOG_SAMPLE_MAX, .help = "Alias for 'max'", }, }, }, { .name = "log_offset", .lname = "Log offset of IO", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, log_offset), .help = "Include offset of IO for each log entry", .def = "0", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "log_prio", .lname = "Log priority of IO", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, log_prio), .help = "Include priority value of IO for each log entry", .def = "0", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "log_issue_time", .lname = "Log IO issue time", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, log_issue_time), .help = "Include IO issue time for each log entry", .def = "0", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, #ifdef CONFIG_ZLIB { .name = "log_compression", .lname = "Log compression", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, log_gz), .help = "Log in compressed chunks of this size", .minval = 1024ULL, .maxval = 512 * 1024 * 1024ULL, .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, #ifdef FIO_HAVE_CPU_AFFINITY { .name = "log_compression_cpus", .lname = "Log Compression CPUs", .type = FIO_OPT_STR, .cb = str_log_cpus_allowed_cb, .off1 = offsetof(struct thread_options, log_gz_cpumask), .parent = "log_compression", .help = "Limit log compression to these CPUs", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, #else { .name = "log_compression_cpus", .lname = "Log Compression CPUs", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support CPU affinities", }, #endif { .name = "log_store_compressed", .lname = "Log store compressed", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, log_gz_store), .help = "Store logs in a compressed format", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, #else { .name = "log_compression", .lname = "Log compression", .type = FIO_OPT_UNSUPPORTED, .help = "Install libz-dev(el) to get compression support", }, { .name = "log_store_compressed", .lname = "Log store compressed", .type = FIO_OPT_UNSUPPORTED, .help = "Install libz-dev(el) to get compression support", }, #endif { .name = "log_alternate_epoch", .alias = "log_unix_epoch", .lname = "Log epoch alternate", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, log_alternate_epoch), .help = "Use alternate epoch time in log files. Uses the same epoch as that is used by clock_gettime with specified log_alternate_epoch_clock_id.", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "log_alternate_epoch_clock_id", .lname = "Log alternate epoch clock_id", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, log_alternate_epoch_clock_id), .help = "If log_alternate_epoch is true, this option specifies the clock_id from clock_gettime whose epoch should be used. If log_alternate_epoch is false, this option has no effect. Default value is 0, or CLOCK_REALTIME", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "block_error_percentiles", .lname = "Block error percentiles", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, block_error_hist), .help = "Record trim block errors and make a histogram", .def = "0", .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "bwavgtime", .lname = "Bandwidth average time", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, bw_avg_time), .help = "Time window over which to calculate bandwidth" " (msec)", .def = "500", .parent = "write_bw_log", .hide = 1, .interval = 100, .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "iopsavgtime", .lname = "IOPS average time", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, iops_avg_time), .help = "Time window over which to calculate IOPS (msec)", .def = "500", .parent = "write_iops_log", .hide = 1, .interval = 100, .category = FIO_OPT_C_LOG, .group = FIO_OPT_G_INVALID, }, { .name = "group_reporting", .lname = "Group reporting", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, group_reporting), .help = "Do reporting on a per-group basis", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "stats", .lname = "Stats", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, stats), .help = "Enable collection of stats", .def = "1", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "zero_buffers", .lname = "Zero I/O buffers", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, zero_buffers), .help = "Init IO buffers to all zeroes", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, }, { .name = "refill_buffers", .lname = "Refill I/O buffers", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct thread_options, refill_buffers), .help = "Refill IO buffers on every IO submit", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, }, { .name = "scramble_buffers", .lname = "Scramble I/O buffers", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, scramble_buffers), .help = "Slightly scramble buffers on every IO submit", .def = "1", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, }, { .name = "buffer_pattern", .lname = "Buffer pattern", .type = FIO_OPT_STR, .cb = str_buffer_pattern_cb, .off1 = offsetof(struct thread_options, buffer_pattern), .help = "Fill pattern for IO buffers", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, }, { .name = "buffer_compress_percentage", .lname = "Buffer compression percentage", .type = FIO_OPT_INT, .cb = str_buffer_compress_cb, .off1 = offsetof(struct thread_options, compress_percentage), .maxval = 100, .minval = 0, .help = "How compressible the buffer is (approximately)", .interval = 5, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, }, { .name = "buffer_compress_chunk", .lname = "Buffer compression chunk size", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, compress_chunk), .parent = "buffer_compress_percentage", .hide = 1, .help = "Size of compressible region in buffer", .def = "512", .interval = 256, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, }, { .name = "dedupe_percentage", .lname = "Dedupe percentage", .type = FIO_OPT_INT, .cb = str_dedupe_cb, .off1 = offsetof(struct thread_options, dedupe_percentage), .maxval = 100, .minval = 0, .help = "Percentage of buffers that are dedupable", .interval = 1, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, }, { .name = "dedupe_global", .lname = "Global deduplication", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, dedupe_global), .help = "Share deduplication buffers across jobs", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, }, { .name = "dedupe_mode", .lname = "Dedupe mode", .help = "Mode for the deduplication buffer generation", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, dedupe_mode), .parent = "dedupe_percentage", .def = "repeat", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, .posval = { { .ival = "repeat", .oval = DEDUPE_MODE_REPEAT, .help = "repeat previous page", }, { .ival = "working_set", .oval = DEDUPE_MODE_WORKING_SET, .help = "choose a page randomly from limited working set defined in dedupe_working_set_percentage", }, }, }, { .name = "dedupe_working_set_percentage", .lname = "Dedupe working set percentage", .help = "Dedupe working set size in percentages from file or device size used to generate dedupe patterns from", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, dedupe_working_set_percentage), .parent = "dedupe_percentage", .def = "5", .maxval = 100, .minval = 0, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_BUF, }, { .name = "clat_percentiles", .lname = "Completion latency percentiles", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, clat_percentiles), .help = "Enable the reporting of completion latency percentiles", .def = "1", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "lat_percentiles", .lname = "IO latency percentiles", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, lat_percentiles), .help = "Enable the reporting of IO latency percentiles", .def = "0", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "slat_percentiles", .lname = "Submission latency percentiles", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, slat_percentiles), .help = "Enable the reporting of submission latency percentiles", .def = "0", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "percentile_list", .lname = "Percentile list", .type = FIO_OPT_FLOAT_LIST, .off1 = offsetof(struct thread_options, percentile_list), .off2 = offsetof(struct thread_options, percentile_precision), .help = "Specify a custom list of percentiles to report for " "completion latency and block errors", .def = "1:5:10:20:30:40:50:60:70:80:90:95:99:99.5:99.9:99.95:99.99", .maxlen = FIO_IO_U_LIST_MAX_LEN, .minfp = 0.0, .maxfp = 100.0, .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "significant_figures", .lname = "Significant figures", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, sig_figs), .maxval = 10, .minval = 1, .help = "Significant figures for output-format set to normal", .def = "4", .interval = 1, .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, #ifdef FIO_HAVE_DISK_UTIL { .name = "disk_util", .lname = "Disk utilization", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, do_disk_util), .help = "Log disk utilization statistics", .def = "1", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, #else { .name = "disk_util", .lname = "Disk utilization", .type = FIO_OPT_UNSUPPORTED, .help = "Your platform does not support disk utilization", }, #endif { .name = "gtod_reduce", .lname = "Reduce gettimeofday() calls", .type = FIO_OPT_BOOL, .help = "Greatly reduce number of gettimeofday() calls", .cb = str_gtod_reduce_cb, .def = "0", .hide_on_set = 1, .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "disable_lat", .lname = "Disable all latency stats", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, disable_lat), .help = "Disable latency numbers", .parent = "gtod_reduce", .hide = 1, .def = "0", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "disable_clat", .lname = "Disable completion latency stats", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, disable_clat), .help = "Disable completion latency numbers", .parent = "gtod_reduce", .hide = 1, .def = "0", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "disable_slat", .lname = "Disable submission latency stats", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, disable_slat), .help = "Disable submission latency numbers", .parent = "gtod_reduce", .hide = 1, .def = "0", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "disable_bw_measurement", .alias = "disable_bw", .lname = "Disable bandwidth stats", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, disable_bw), .help = "Disable bandwidth logging", .parent = "gtod_reduce", .hide = 1, .def = "0", .category = FIO_OPT_C_STAT, .group = FIO_OPT_G_INVALID, }, { .name = "gtod_cpu", .lname = "Dedicated gettimeofday() CPU", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, gtod_cpu), .help = "Set up dedicated gettimeofday() thread on this CPU", .verify = gtod_cpu_verify, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CLOCK, }, { .name = "job_start_clock_id", .lname = "Job start clock_id", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, job_start_clock_id), .help = "The clock_id passed to the call to clock_gettime used to record job_start in the json output format. Default is 0, or CLOCK_REALTIME", .verify = gtod_cpu_verify, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CLOCK, }, { .name = "unified_rw_reporting", .lname = "Unified RW Reporting", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, unified_rw_rep), .help = "Unify reporting across data direction", .def = "none", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, .posval = { { .ival = "none", .oval = UNIFIED_SPLIT, .help = "Normal statistics reporting", }, { .ival = "mixed", .oval = UNIFIED_MIXED, .help = "Statistics are summed per data direction and reported together", }, { .ival = "both", .oval = UNIFIED_BOTH, .help = "Statistics are reported normally, followed by the mixed statistics" }, /* Compatibility with former boolean values */ { .ival = "0", .oval = UNIFIED_SPLIT, .help = "Alias for 'none'", }, { .ival = "1", .oval = UNIFIED_MIXED, .help = "Alias for 'mixed'", }, { .ival = "2", .oval = UNIFIED_BOTH, .help = "Alias for 'both'", }, }, }, { .name = "continue_on_error", .lname = "Continue on error", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, continue_on_error), .help = "Continue on non-fatal errors during IO", .def = "none", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_ERR, .posval = { { .ival = "none", .oval = ERROR_TYPE_NONE, .help = "Exit when an error is encountered", }, { .ival = "read", .oval = ERROR_TYPE_READ, .help = "Continue on read errors only", }, { .ival = "write", .oval = ERROR_TYPE_WRITE, .help = "Continue on write errors only", }, { .ival = "io", .oval = ERROR_TYPE_READ | ERROR_TYPE_WRITE, .help = "Continue on any IO errors", }, { .ival = "verify", .oval = ERROR_TYPE_VERIFY, .help = "Continue on verify errors only", }, { .ival = "all", .oval = ERROR_TYPE_ANY, .help = "Continue on all io and verify errors", }, { .ival = "0", .oval = ERROR_TYPE_NONE, .help = "Alias for 'none'", }, { .ival = "1", .oval = ERROR_TYPE_ANY, .help = "Alias for 'all'", }, }, }, { .name = "ignore_error", .lname = "Ignore Error", .type = FIO_OPT_STR, .cb = str_ignore_error_cb, .off1 = offsetof(struct thread_options, ignore_error_nr), .help = "Set a specific list of errors to ignore", .parent = "rw", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_ERR, }, { .name = "error_dump", .lname = "Error Dump", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, error_dump), .def = "0", .help = "Dump info on each error", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_ERR, }, { .name = "profile", .lname = "Profile", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, profile), .help = "Select a specific builtin performance test", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_INVALID, }, { .name = "cgroup", .lname = "Cgroup", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct thread_options, cgroup), .help = "Add job to cgroup of this name", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CGROUP, }, { .name = "cgroup_nodelete", .lname = "Cgroup no-delete", .type = FIO_OPT_BOOL, .off1 = offsetof(struct thread_options, cgroup_nodelete), .help = "Do not delete cgroups after job completion", .def = "0", .parent = "cgroup", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CGROUP, }, { .name = "cgroup_weight", .lname = "Cgroup weight", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, cgroup_weight), .help = "Use given weight for cgroup", .minval = 100, .maxval = 1000, .parent = "cgroup", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CGROUP, }, { .name = "uid", .lname = "User ID", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, uid), .help = "Run job with this user ID", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CRED, }, { .name = "gid", .lname = "Group ID", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, gid), .help = "Run job with this group ID", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_CRED, }, { .name = "kb_base", .lname = "KB Base", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, kb_base), .prio = 1, .def = "1024", .posval = { { .ival = "1024", .oval = 1024, .help = "Inputs invert IEC and SI prefixes (for compatibility); outputs prefer binary", }, { .ival = "1000", .oval = 1000, .help = "Inputs use IEC and SI prefixes; outputs prefer SI", }, }, .help = "Unit prefix interpretation for quantities of data (IEC and SI)", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, { .name = "unit_base", .lname = "Unit for quantities of data (Bits or Bytes)", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, unit_base), .prio = 1, .posval = { { .ival = "0", .oval = N2S_NONE, .help = "Auto-detect", }, { .ival = "8", .oval = N2S_BYTEPERSEC, .help = "Normal (byte based)", }, { .ival = "1", .oval = N2S_BITPERSEC, .help = "Bit based", }, }, .help = "Bit multiple of result summary data (8 for byte, 1 for bit)", .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, { .name = "hugepage-size", .lname = "Hugepage size", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, hugepage_size), .help = "When using hugepages, specify size of each page", .def = __fio_stringify(FIO_HUGE_PAGE), .interval = 1024 * 1024, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_INVALID, }, { .name = "flow_id", .lname = "I/O flow ID", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, flow_id), .help = "The flow index ID to use", .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_FLOW, }, { .name = "flow", .lname = "I/O flow weight", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, flow), .help = "Weight for flow control of this job", .parent = "flow_id", .hide = 1, .def = "0", .maxval = FLOW_MAX_WEIGHT, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_FLOW, }, { .name = "flow_watermark", .lname = "I/O flow watermark", .type = FIO_OPT_SOFT_DEPRECATED, .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_FLOW, }, { .name = "flow_sleep", .lname = "I/O flow sleep", .type = FIO_OPT_INT, .off1 = offsetof(struct thread_options, flow_sleep), .help = "How many microseconds to sleep after being held" " back by the flow control mechanism", .parent = "flow_id", .hide = 1, .def = "0", .category = FIO_OPT_C_IO, .group = FIO_OPT_G_IO_FLOW, }, { .name = "steadystate", .lname = "Steady state threshold", .alias = "ss", .type = FIO_OPT_STR, .off1 = offsetof(struct thread_options, ss_state), .cb = str_steadystate_cb, .help = "Define the criterion and limit to judge when a job has reached steady state", .def = "iops_slope:0.01%", .posval = { { .ival = "iops", .oval = FIO_SS_IOPS, .help = "maximum mean deviation of IOPS measurements", }, { .ival = "iops_slope", .oval = FIO_SS_IOPS_SLOPE, .help = "slope calculated from IOPS measurements", }, { .ival = "bw", .oval = FIO_SS_BW, .help = "maximum mean deviation of bandwidth measurements", }, { .ival = "bw_slope", .oval = FIO_SS_BW_SLOPE, .help = "slope calculated from bandwidth measurements", }, }, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "steadystate_duration", .lname = "Steady state duration", .alias = "ss_dur", .parent = "steadystate", .type = FIO_OPT_STR_VAL_TIME, .off1 = offsetof(struct thread_options, ss_dur), .help = "Stop workload upon attaining steady state for specified duration", .def = "0", .is_seconds = 1, .is_time = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "steadystate_ramp_time", .lname = "Steady state ramp time", .alias = "ss_ramp", .parent = "steadystate", .type = FIO_OPT_STR_VAL_TIME, .off1 = offsetof(struct thread_options, ss_ramp_time), .help = "Delay before initiation of data collection for steady state job termination testing", .def = "0", .is_seconds = 1, .is_time = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = "steadystate_check_interval", .lname = "Steady state check interval", .alias = "ss_interval", .parent = "steadystate", .type = FIO_OPT_STR_VAL_TIME, .off1 = offsetof(struct thread_options, ss_check_interval), .help = "Polling interval for the steady state check (too low means steadystate will not converge)", .def = "1", .is_seconds = 1, .is_time = 1, .category = FIO_OPT_C_GENERAL, .group = FIO_OPT_G_RUNTIME, }, { .name = NULL, }, }; static void add_to_lopt(struct option *lopt, struct fio_option *o, const char *name, int val) { lopt->name = (char *) name; lopt->val = val; if (o->type == FIO_OPT_STR_SET) lopt->has_arg = optional_argument; else lopt->has_arg = required_argument; } static void options_to_lopts(struct fio_option *opts, struct option *long_options, int i, int option_type) { struct fio_option *o = &opts[0]; while (o->name) { add_to_lopt(&long_options[i], o, o->name, option_type); if (o->alias) { i++; add_to_lopt(&long_options[i], o, o->alias, option_type); } i++; o++; assert(i < FIO_NR_OPTIONS); } } void fio_options_set_ioengine_opts(struct option *long_options, struct thread_data *td) { unsigned int i; i = 0; while (long_options[i].name) { if (long_options[i].val == FIO_GETOPT_IOENGINE) { memset(&long_options[i], 0, sizeof(*long_options)); break; } i++; } /* * Just clear out the prior ioengine options. */ if (!td || !td->eo) return; options_to_lopts(td->io_ops->options, long_options, i, FIO_GETOPT_IOENGINE); } void fio_options_dup_and_init(struct option *long_options) { unsigned int i; options_init(fio_options); i = 0; while (long_options[i].name) i++; options_to_lopts(fio_options, long_options, i, FIO_GETOPT_JOB); } struct fio_keyword { const char *word; const char *desc; char *replace; }; static struct fio_keyword fio_keywords[] = { { .word = "$pagesize", .desc = "Page size in the system", }, { .word = "$mb_memory", .desc = "Megabytes of memory online", }, { .word = "$ncpus", .desc = "Number of CPUs online in the system", }, { .word = NULL, }, }; void fio_keywords_exit(void) { struct fio_keyword *kw; kw = &fio_keywords[0]; while (kw->word) { free(kw->replace); kw->replace = NULL; kw++; } } void fio_keywords_init(void) { unsigned long long mb_memory; char buf[128]; long l; sprintf(buf, "%lu", (unsigned long) page_size); fio_keywords[0].replace = strdup(buf); mb_memory = os_phys_mem() / (1024 * 1024); sprintf(buf, "%llu", mb_memory); fio_keywords[1].replace = strdup(buf); l = cpus_configured(); sprintf(buf, "%lu", l); fio_keywords[2].replace = strdup(buf); } #define BC_APP "bc" static char *bc_calc(char *str) { char buf[128], *tmp; FILE *f; int ret; /* * No math, just return string */ if ((!strchr(str, '+') && !strchr(str, '-') && !strchr(str, '*') && !strchr(str, '/')) || strchr(str, '\'')) return str; /* * Split option from value, we only need to calculate the value */ tmp = strchr(str, '='); if (!tmp) return str; tmp++; /* * Prevent buffer overflows; such a case isn't reasonable anyway */ if (strlen(str) >= 128 || strlen(tmp) > 100) return str; sprintf(buf, "which %s > /dev/null", BC_APP); if (system(buf)) { log_err("fio: bc is needed for performing math\n"); return NULL; } sprintf(buf, "echo '%s' | %s", tmp, BC_APP); f = popen(buf, "r"); if (!f) return NULL; ret = fread(&buf[tmp - str], 1, 128 - (tmp - str), f); if (ret <= 0) { pclose(f); return NULL; } pclose(f); buf[(tmp - str) + ret - 1] = '\0'; memcpy(buf, str, tmp - str); free(str); return strdup(buf); } /* * Return a copy of the input string with substrings of the form ${VARNAME} * substituted with the value of the environment variable VARNAME. The * substitution always occurs, even if VARNAME is empty or the corresponding * environment variable undefined. */ char *fio_option_dup_subs(const char *opt) { char out[OPT_LEN_MAX+1]; char in[OPT_LEN_MAX+1]; char *outptr = out; char *inptr = in; char *ch1, *ch2, *env; ssize_t nchr = OPT_LEN_MAX; size_t envlen; if (strlen(opt) + 1 > OPT_LEN_MAX) { log_err("OPT_LEN_MAX (%d) is too small\n", OPT_LEN_MAX); return NULL; } snprintf(in, sizeof(in), "%s", opt); while (*inptr && nchr > 0) { if (inptr[0] == '$' && inptr[1] == '{') { ch2 = strchr(inptr, '}'); if (ch2 && inptr+1 < ch2) { ch1 = inptr+2; inptr = ch2+1; *ch2 = '\0'; env = getenv(ch1); if (env) { envlen = strlen(env); if (envlen <= nchr) { memcpy(outptr, env, envlen); outptr += envlen; nchr -= envlen; } } continue; } } *outptr++ = *inptr++; --nchr; } *outptr = '\0'; return strdup(out); } /* * Look for reserved variable names and replace them with real values */ static char *fio_keyword_replace(char *opt) { char *s; int i; int docalc = 0; for (i = 0; fio_keywords[i].word != NULL; i++) { struct fio_keyword *kw = &fio_keywords[i]; while ((s = strstr(opt, kw->word)) != NULL) { char *new = calloc(strlen(opt) + 1, 1); char *o_org = opt; int olen = s - opt; int len; /* * Copy part of the string before the keyword and * sprintf() the replacement after it. */ memcpy(new, opt, olen); len = sprintf(new + olen, "%s", kw->replace); /* * If there's more in the original string, copy that * in too */ opt += olen + strlen(kw->word); /* keeps final zero thanks to calloc */ if (strlen(opt)) memcpy(new + olen + len, opt, strlen(opt)); /* * replace opt and free the old opt */ opt = new; free(o_org); docalc = 1; } } /* * Check for potential math and invoke bc, if possible */ if (docalc) opt = bc_calc(opt); return opt; } static char **dup_and_sub_options(char **opts, int num_opts) { int i; char **opts_copy = malloc(num_opts * sizeof(*opts)); for (i = 0; i < num_opts; i++) { opts_copy[i] = fio_option_dup_subs(opts[i]); if (!opts_copy[i]) continue; opts_copy[i] = fio_keyword_replace(opts_copy[i]); } return opts_copy; } static void show_closest_option(const char *opt) { int best_option, best_distance; int i, distance; char *name; if (!strlen(opt)) return; name = strdup(opt); i = 0; while (name[i] != '\0' && name[i] != '=') i++; name[i] = '\0'; best_option = -1; best_distance = INT_MAX; i = 0; while (fio_options[i].name) { distance = string_distance(name, fio_options[i].name); if (distance < best_distance) { best_distance = distance; best_option = i; } i++; } if (best_option != -1 && string_distance_ok(name, best_distance) && fio_options[best_option].type != FIO_OPT_UNSUPPORTED) log_err("Did you mean %s?\n", fio_options[best_option].name); free(name); } int fio_options_parse(struct thread_data *td, char **opts, int num_opts) { int i, ret, unknown; char **opts_copy; sort_options(opts, fio_options, num_opts); opts_copy = dup_and_sub_options(opts, num_opts); for (ret = 0, i = 0, unknown = 0; i < num_opts; i++) { const struct fio_option *o; int newret = parse_option(opts_copy[i], opts[i], fio_options, &o, &td->o, &td->opt_list); if (!newret && o) fio_option_mark_set(&td->o, o); if (opts_copy[i]) { if (newret && !o) { unknown++; continue; } free(opts_copy[i]); opts_copy[i] = NULL; } ret |= newret; } if (unknown) { ret |= ioengine_load(td); if (td->eo) { sort_options(opts_copy, td->io_ops->options, num_opts); opts = opts_copy; } for (i = 0; i < num_opts; i++) { const struct fio_option *o = NULL; int newret = 1; if (!opts_copy[i]) continue; if (td->eo) newret = parse_option(opts_copy[i], opts[i], td->io_ops->options, &o, td->eo, &td->opt_list); ret |= newret; if (!o) { log_err("Bad option <%s>\n", opts[i]); show_closest_option(opts[i]); } free(opts_copy[i]); opts_copy[i] = NULL; } } free(opts_copy); return ret; } int fio_cmd_option_parse(struct thread_data *td, const char *opt, char *val) { int ret; ret = parse_cmd_option(opt, val, fio_options, &td->o, &td->opt_list); if (!ret) { const struct fio_option *o; o = find_option_c(fio_options, opt); if (o) fio_option_mark_set(&td->o, o); } return ret; } int fio_cmd_ioengine_option_parse(struct thread_data *td, const char *opt, char *val) { return parse_cmd_option(opt, val, td->io_ops->options, td->eo, &td->opt_list); } void fio_fill_default_options(struct thread_data *td) { td->o.magic = OPT_MAGIC; fill_default_options(&td->o, fio_options); } int fio_show_option_help(const char *opt) { return show_cmd_help(fio_options, opt); } /* * dupe FIO_OPT_STR_STORE options */ void fio_options_mem_dupe(struct thread_data *td) { options_mem_dupe(fio_options, &td->o); if (td->eo && td->io_ops) { void *oldeo = td->eo; td->eo = malloc(td->io_ops->option_struct_size); memcpy(td->eo, oldeo, td->io_ops->option_struct_size); options_mem_dupe(td->io_ops->options, td->eo); } } unsigned int fio_get_kb_base(void *data) { struct thread_data *td = cb_data_to_td(data); struct thread_options *o = &td->o; unsigned int kb_base = 0; /* * This is a hack... For private options, *data is not holding * a pointer to the thread_options, but to private data. This means * we can't safely dereference it, but magic is first so mem wise * it is valid. But this also means that if the job first sets * kb_base and expects that to be honored by private options, * it will be disappointed. We will return the global default * for this. */ if (o && o->magic == OPT_MAGIC) kb_base = o->kb_base; if (!kb_base) kb_base = 1024; return kb_base; } int add_option(const struct fio_option *o) { struct fio_option *__o; int opt_index = 0; __o = fio_options; while (__o->name) { opt_index++; __o++; } if (opt_index + 1 == FIO_MAX_OPTS) { log_err("fio: FIO_MAX_OPTS is too small\n"); return 1; } memcpy(&fio_options[opt_index], o, sizeof(*o)); fio_options[opt_index + 1].name = NULL; return 0; } void invalidate_profile_options(const char *prof_name) { struct fio_option *o; o = fio_options; while (o->name) { if (o->prof_name && !strcmp(o->prof_name, prof_name)) { o->type = FIO_OPT_INVALID; o->prof_name = NULL; } o++; } } void add_opt_posval(const char *optname, const char *ival, const char *help) { struct fio_option *o; unsigned int i; o = find_option(fio_options, optname); if (!o) return; for (i = 0; i < PARSE_MAX_VP; i++) { if (o->posval[i].ival) continue; o->posval[i].ival = ival; o->posval[i].help = help; break; } } void del_opt_posval(const char *optname, const char *ival) { struct fio_option *o; unsigned int i; o = find_option(fio_options, optname); if (!o) return; for (i = 0; i < PARSE_MAX_VP; i++) { if (!o->posval[i].ival) continue; if (strcmp(o->posval[i].ival, ival)) continue; o->posval[i].ival = NULL; o->posval[i].help = NULL; } } void fio_options_free(struct thread_data *td) { options_free(fio_options, &td->o); if (td->eo && td->io_ops && td->io_ops->options) { options_free(td->io_ops->options, td->eo); free(td->eo); td->eo = NULL; } } void fio_dump_options_free(struct thread_data *td) { while (!flist_empty(&td->opt_list)) { struct print_option *p; p = flist_first_entry(&td->opt_list, struct print_option, list); flist_del_init(&p->list); free(p->name); free(p->value); free(p); } } struct fio_option *fio_option_find(const char *name) { return find_option(fio_options, name); } static struct fio_option *find_next_opt(struct fio_option *from, unsigned int off1) { struct fio_option *opt; if (!from) from = &fio_options[0]; else from++; opt = NULL; do { if (off1 == from->off1) { opt = from; break; } from++; } while (from->name); return opt; } static int opt_is_set(struct thread_options *o, struct fio_option *opt) { unsigned int opt_off, index, offset; opt_off = opt - &fio_options[0]; index = opt_off / (8 * sizeof(uint64_t)); offset = opt_off & ((8 * sizeof(uint64_t)) - 1); return (o->set_options[index] & ((uint64_t)1 << offset)) != 0; } bool __fio_option_is_set(struct thread_options *o, unsigned int off1) { struct fio_option *opt, *next; next = NULL; while ((opt = find_next_opt(next, off1)) != NULL) { if (opt_is_set(o, opt)) return true; next = opt; } return false; } void fio_option_mark_set(struct thread_options *o, const struct fio_option *opt) { unsigned int opt_off, index, offset; opt_off = opt - &fio_options[0]; index = opt_off / (8 * sizeof(uint64_t)); offset = opt_off & ((8 * sizeof(uint64_t)) - 1); o->set_options[index] |= (uint64_t)1 << offset; } fio-3.39/options.h000066400000000000000000000031231476262051600141010ustar00rootroot00000000000000#ifndef FIO_OPTION_H #define FIO_OPTION_H #define FIO_MAX_OPTS 512 #include #include #include "parse.h" #include "lib/types.h" int add_option(const struct fio_option *); void invalidate_profile_options(const char *); extern char *exec_profile; void add_opt_posval(const char *, const char *, const char *); void del_opt_posval(const char *, const char *); struct thread_data; void fio_options_free(struct thread_data *); void fio_dump_options_free(struct thread_data *); char *get_next_str(char **ptr); int get_max_str_idx(char *input); char* get_name_by_idx(char *input, int index); int set_name_idx(char *, size_t, char *, int, bool); extern char client_sockaddr_str[]; /* used with --client option */ extern struct fio_option fio_options[FIO_MAX_OPTS]; extern bool __fio_option_is_set(struct thread_options *, unsigned int off); #define fio_option_is_set(__td, name) \ ({ \ const unsigned int off = offsetof(struct thread_options, name); \ bool __r = __fio_option_is_set((__td), off); \ __r; \ }) extern void fio_option_mark_set(struct thread_options *, const struct fio_option *); static inline bool o_match(const struct fio_option *o, const char *opt) { if (!strcmp(o->name, opt)) return true; else if (o->alias && !strcmp(o->alias, opt)) return true; return false; } extern struct fio_option *find_option(struct fio_option *, const char *); extern const struct fio_option * find_option_c(const struct fio_option *, const char *); extern struct fio_option *fio_option_find(const char *); extern unsigned int fio_get_kb_base(void *); #endif fio-3.39/os/000077500000000000000000000000001476262051600126575ustar00rootroot00000000000000fio-3.39/os/kcompat.h000066400000000000000000000001601476262051600144630ustar00rootroot00000000000000#ifndef _KCOMPAT_H_ #define _KCOMPAT_H_ #include #define u64 uint64_t #define u32 uint32_t #endif fio-3.39/os/linux/000077500000000000000000000000001476262051600140165ustar00rootroot00000000000000fio-3.39/os/linux/io_uring.h000066400000000000000000000300241476262051600160010ustar00rootroot00000000000000/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR MIT */ /* * Header file for the io_uring interface. * * Copyright (C) 2019 Jens Axboe * Copyright (C) 2019 Christoph Hellwig */ #ifndef LINUX_IO_URING_H #define LINUX_IO_URING_H #include #include /* * IO submission data structure (Submission Queue Entry) */ struct io_uring_sqe { __u8 opcode; /* type of operation for this sqe */ __u8 flags; /* IOSQE_ flags */ __u16 ioprio; /* ioprio for the request */ __s32 fd; /* file descriptor to do IO on */ union { __u64 off; /* offset into file */ __u64 addr2; struct { __u32 cmd_op; __u32 __pad1; }; }; union { __u64 addr; /* pointer to buffer or iovecs */ __u64 splice_off_in; }; __u32 len; /* buffer size or number of iovecs */ union { __kernel_rwf_t rw_flags; __u32 fsync_flags; __u16 poll_events; /* compatibility */ __u32 poll32_events; /* word-reversed for BE */ __u32 sync_range_flags; __u32 msg_flags; __u32 timeout_flags; __u32 accept_flags; __u32 cancel_flags; __u32 open_flags; __u32 statx_flags; __u32 fadvise_advice; __u32 splice_flags; __u32 rename_flags; __u32 unlink_flags; __u32 hardlink_flags; __u32 uring_cmd_flags; }; __u64 user_data; /* data to be passed back at completion time */ /* pack this to avoid bogus arm OABI complaints */ union { /* index into fixed buffers, if used */ __u16 buf_index; /* for grouped buffer selection */ __u16 buf_group; } __attribute__((packed)); /* personality to use, if used */ __u16 personality; union { __s32 splice_fd_in; __u32 file_index; }; union { struct { __u64 addr3; __u64 __pad2[1]; }; /* * If the ring is initialized with IORING_SETUP_SQE128, then * this field is used for 80 bytes of arbitrary command data */ __u8 cmd[0]; }; }; enum { IOSQE_FIXED_FILE_BIT, IOSQE_IO_DRAIN_BIT, IOSQE_IO_LINK_BIT, IOSQE_IO_HARDLINK_BIT, IOSQE_ASYNC_BIT, IOSQE_BUFFER_SELECT_BIT, IOSQE_CQE_SKIP_SUCCESS_BIT, }; /* * sqe->flags */ /* use fixed fileset */ #define IOSQE_FIXED_FILE (1U << IOSQE_FIXED_FILE_BIT) /* issue after inflight IO */ #define IOSQE_IO_DRAIN (1U << IOSQE_IO_DRAIN_BIT) /* links next sqe */ #define IOSQE_IO_LINK (1U << IOSQE_IO_LINK_BIT) /* like LINK, but stronger */ #define IOSQE_IO_HARDLINK (1U << IOSQE_IO_HARDLINK_BIT) /* always go async */ #define IOSQE_ASYNC (1U << IOSQE_ASYNC_BIT) /* select buffer from sqe->buf_group */ #define IOSQE_BUFFER_SELECT (1U << IOSQE_BUFFER_SELECT_BIT) /* don't post CQE if request succeeded */ #define IOSQE_CQE_SKIP_SUCCESS (1U << IOSQE_CQE_SKIP_SUCCESS_BIT) /* * io_uring_setup() flags */ #define IORING_SETUP_IOPOLL (1U << 0) /* io_context is polled */ #define IORING_SETUP_SQPOLL (1U << 1) /* SQ poll thread */ #define IORING_SETUP_SQ_AFF (1U << 2) /* sq_thread_cpu is valid */ #define IORING_SETUP_CQSIZE (1U << 3) /* app defines CQ size */ #define IORING_SETUP_CLAMP (1U << 4) /* clamp SQ/CQ ring sizes */ #define IORING_SETUP_ATTACH_WQ (1U << 5) /* attach to existing wq */ #define IORING_SETUP_R_DISABLED (1U << 6) /* start with ring disabled */ #define IORING_SETUP_SUBMIT_ALL (1U << 7) /* continue submit on error */ /* * Cooperative task running. When requests complete, they often require * forcing the submitter to transition to the kernel to complete. If this * flag is set, work will be done when the task transitions anyway, rather * than force an inter-processor interrupt reschedule. This avoids interrupting * a task running in userspace, and saves an IPI. */ #define IORING_SETUP_COOP_TASKRUN (1U << 8) /* * If COOP_TASKRUN is set, get notified if task work is available for * running and a kernel transition would be needed to run it. This sets * IORING_SQ_TASKRUN in the sq ring flags. Not valid with COOP_TASKRUN. */ #define IORING_SETUP_TASKRUN_FLAG (1U << 9) #define IORING_SETUP_SQE128 (1U << 10) /* SQEs are 128 byte */ #define IORING_SETUP_CQE32 (1U << 11) /* CQEs are 32 byte */ /* * Only one task is allowed to submit requests */ #define IORING_SETUP_SINGLE_ISSUER (1U << 12) /* * Defer running task work to get events. * Rather than running bits of task work whenever the task transitions * try to do it just before it is needed. */ #define IORING_SETUP_DEFER_TASKRUN (1U << 13) enum { IORING_OP_NOP, IORING_OP_READV, IORING_OP_WRITEV, IORING_OP_FSYNC, IORING_OP_READ_FIXED, IORING_OP_WRITE_FIXED, IORING_OP_POLL_ADD, IORING_OP_POLL_REMOVE, IORING_OP_SYNC_FILE_RANGE, IORING_OP_SENDMSG, IORING_OP_RECVMSG, IORING_OP_TIMEOUT, IORING_OP_TIMEOUT_REMOVE, IORING_OP_ACCEPT, IORING_OP_ASYNC_CANCEL, IORING_OP_LINK_TIMEOUT, IORING_OP_CONNECT, IORING_OP_FALLOCATE, IORING_OP_OPENAT, IORING_OP_CLOSE, IORING_OP_FILES_UPDATE, IORING_OP_STATX, IORING_OP_READ, IORING_OP_WRITE, IORING_OP_FADVISE, IORING_OP_MADVISE, IORING_OP_SEND, IORING_OP_RECV, IORING_OP_OPENAT2, IORING_OP_EPOLL_CTL, IORING_OP_SPLICE, IORING_OP_PROVIDE_BUFFERS, IORING_OP_REMOVE_BUFFERS, IORING_OP_TEE, IORING_OP_SHUTDOWN, IORING_OP_RENAMEAT, IORING_OP_UNLINKAT, IORING_OP_MKDIRAT, IORING_OP_SYMLINKAT, IORING_OP_LINKAT, IORING_OP_MSG_RING, IORING_OP_FSETXATTR, IORING_OP_SETXATTR, IORING_OP_FGETXATTR, IORING_OP_GETXATTR, IORING_OP_SOCKET, IORING_OP_URING_CMD, /* this goes last, obviously */ IORING_OP_LAST, }; /* * sqe->uring_cmd_flags * IORING_URING_CMD_FIXED use registered buffer; pass thig flag * along with setting sqe->buf_index. */ #define IORING_URING_CMD_FIXED (1U << 0) /* * sqe->fsync_flags */ #define IORING_FSYNC_DATASYNC (1U << 0) /* * sqe->timeout_flags */ #define IORING_TIMEOUT_ABS (1U << 0) #define IORING_TIMEOUT_UPDATE (1U << 1) #define IORING_TIMEOUT_BOOTTIME (1U << 2) #define IORING_TIMEOUT_REALTIME (1U << 3) #define IORING_LINK_TIMEOUT_UPDATE (1U << 4) #define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5) #define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME) #define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE) /* * sqe->splice_flags * extends splice(2) flags */ #define SPLICE_F_FD_IN_FIXED (1U << 31) /* the last bit of __u32 */ /* * POLL_ADD flags. Note that since sqe->poll_events is the flag space, the * command flags for POLL_ADD are stored in sqe->len. * * IORING_POLL_ADD_MULTI Multishot poll. Sets IORING_CQE_F_MORE if * the poll handler will continue to report * CQEs on behalf of the same SQE. * * IORING_POLL_UPDATE Update existing poll request, matching * sqe->addr as the old user_data field. */ #define IORING_POLL_ADD_MULTI (1U << 0) #define IORING_POLL_UPDATE_EVENTS (1U << 1) #define IORING_POLL_UPDATE_USER_DATA (1U << 2) #define IORING_NOP_INJECT_RESULT (1U << 0) #define IORING_NOP_FILE (1U << 1) #define IORING_NOP_FIXED_FILE (1U << 2) #define IORING_NOP_FIXED_BUFFER (1U << 3) /* * IO completion data structure (Completion Queue Entry) */ struct io_uring_cqe { __u64 user_data; /* sqe->data submission passed back */ __s32 res; /* result code for this event */ __u32 flags; /* * If the ring is initialized with IORING_SETUP_CQE32, then this field * contains 16-bytes of padding, doubling the size of the CQE. */ __u64 big_cqe[]; }; /* * cqe->flags * * IORING_CQE_F_BUFFER If set, the upper 16 bits are the buffer ID * IORING_CQE_F_MORE If set, parent SQE will generate more CQE entries */ #define IORING_CQE_F_BUFFER (1U << 0) #define IORING_CQE_F_MORE (1U << 1) enum { IORING_CQE_BUFFER_SHIFT = 16, }; /* * Magic offsets for the application to mmap the data it needs */ #define IORING_OFF_SQ_RING 0ULL #define IORING_OFF_CQ_RING 0x8000000ULL #define IORING_OFF_SQES 0x10000000ULL /* * Filled with the offset for mmap(2) */ struct io_sqring_offsets { __u32 head; __u32 tail; __u32 ring_mask; __u32 ring_entries; __u32 flags; __u32 dropped; __u32 array; __u32 resv1; __u64 resv2; }; /* * sq_ring->flags */ #define IORING_SQ_NEED_WAKEUP (1U << 0) /* needs io_uring_enter wakeup */ #define IORING_SQ_CQ_OVERFLOW (1U << 1) /* CQ ring is overflown */ struct io_cqring_offsets { __u32 head; __u32 tail; __u32 ring_mask; __u32 ring_entries; __u32 overflow; __u32 cqes; __u32 flags; __u32 resv1; __u64 resv2; }; /* * cq_ring->flags */ /* disable eventfd notifications */ #define IORING_CQ_EVENTFD_DISABLED (1U << 0) /* * io_uring_enter(2) flags */ #define IORING_ENTER_GETEVENTS (1U << 0) #define IORING_ENTER_SQ_WAKEUP (1U << 1) #define IORING_ENTER_SQ_WAIT (1U << 2) #define IORING_ENTER_EXT_ARG (1U << 3) #define IORING_ENTER_REGISTERED_RING (1U << 4) /* * Passed in for io_uring_setup(2). Copied back with updated info on success */ struct io_uring_params { __u32 sq_entries; __u32 cq_entries; __u32 flags; __u32 sq_thread_cpu; __u32 sq_thread_idle; __u32 features; __u32 wq_fd; __u32 resv[3]; struct io_sqring_offsets sq_off; struct io_cqring_offsets cq_off; }; /* * io_uring_params->features flags */ #define IORING_FEAT_SINGLE_MMAP (1U << 0) #define IORING_FEAT_NODROP (1U << 1) #define IORING_FEAT_SUBMIT_STABLE (1U << 2) #define IORING_FEAT_RW_CUR_POS (1U << 3) #define IORING_FEAT_CUR_PERSONALITY (1U << 4) #define IORING_FEAT_FAST_POLL (1U << 5) #define IORING_FEAT_POLL_32BITS (1U << 6) #define IORING_FEAT_SQPOLL_NONFIXED (1U << 7) #define IORING_FEAT_EXT_ARG (1U << 8) #define IORING_FEAT_NATIVE_WORKERS (1U << 9) #define IORING_FEAT_RSRC_TAGS (1U << 10) #define IORING_FEAT_CQE_SKIP (1U << 11) /* * io_uring_register(2) opcodes and arguments */ enum { IORING_REGISTER_BUFFERS = 0, IORING_UNREGISTER_BUFFERS = 1, IORING_REGISTER_FILES = 2, IORING_UNREGISTER_FILES = 3, IORING_REGISTER_EVENTFD = 4, IORING_UNREGISTER_EVENTFD = 5, IORING_REGISTER_FILES_UPDATE = 6, IORING_REGISTER_EVENTFD_ASYNC = 7, IORING_REGISTER_PROBE = 8, IORING_REGISTER_PERSONALITY = 9, IORING_UNREGISTER_PERSONALITY = 10, IORING_REGISTER_RESTRICTIONS = 11, IORING_REGISTER_ENABLE_RINGS = 12, /* extended with tagging */ IORING_REGISTER_FILES2 = 13, IORING_REGISTER_FILES_UPDATE2 = 14, IORING_REGISTER_BUFFERS2 = 15, IORING_REGISTER_BUFFERS_UPDATE = 16, /* set/clear io-wq thread affinities */ IORING_REGISTER_IOWQ_AFF = 17, IORING_UNREGISTER_IOWQ_AFF = 18, /* set/get max number of io-wq workers */ IORING_REGISTER_IOWQ_MAX_WORKERS = 19, /* register/unregister io_uring fd with the ring */ IORING_REGISTER_RING_FDS = 20, IORING_UNREGISTER_RING_FDS = 21, /* this goes last */ IORING_REGISTER_LAST }; /* io-wq worker categories */ enum { IO_WQ_BOUND, IO_WQ_UNBOUND, }; /* deprecated, see struct io_uring_rsrc_update */ struct io_uring_files_update { __u32 offset; __u32 resv; __aligned_u64 /* __s32 * */ fds; }; struct io_uring_rsrc_register { __u32 nr; __u32 resv; __u64 resv2; __aligned_u64 data; __aligned_u64 tags; }; struct io_uring_rsrc_update { __u32 offset; __u32 resv; __aligned_u64 data; }; struct io_uring_rsrc_update2 { __u32 offset; __u32 resv; __aligned_u64 data; __aligned_u64 tags; __u32 nr; __u32 resv2; }; /* Skip updating fd indexes set to this value in the fd table */ #define IORING_REGISTER_FILES_SKIP (-2) #define IO_URING_OP_SUPPORTED (1U << 0) struct io_uring_probe_op { __u8 op; __u8 resv; __u16 flags; /* IO_URING_OP_* flags */ __u32 resv2; }; struct io_uring_probe { __u8 last_op; /* last opcode supported */ __u8 ops_len; /* length of ops[] array below */ __u16 resv; __u32 resv2[3]; struct io_uring_probe_op ops[0]; }; struct io_uring_restriction { __u16 opcode; union { __u8 register_op; /* IORING_RESTRICTION_REGISTER_OP */ __u8 sqe_op; /* IORING_RESTRICTION_SQE_OP */ __u8 sqe_flags; /* IORING_RESTRICTION_SQE_FLAGS_* */ }; __u8 resv; __u32 resv2[3]; }; /* * io_uring_restriction->opcode values */ enum { /* Allow an io_uring_register(2) opcode */ IORING_RESTRICTION_REGISTER_OP = 0, /* Allow an sqe opcode */ IORING_RESTRICTION_SQE_OP = 1, /* Allow sqe flags */ IORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2, /* Require sqe flags (these flags must be set on each submission) */ IORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3, IORING_RESTRICTION_LAST }; struct io_uring_getevents_arg { __u64 sigmask; __u32 sigmask_sz; __u32 pad; __u64 ts; }; #endif fio-3.39/os/os-aix.h000066400000000000000000000020131476262051600142240ustar00rootroot00000000000000#ifndef FIO_OS_AIX_H #define FIO_OS_AIX_H #define FIO_OS os_aix #include #include #include #include #include "../file.h" #define FIO_HAVE_ODIRECT #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define OS_MAP_ANON MAP_ANON #define OS_MSG_DONTWAIT 0 #define FIO_USE_GENERIC_SWAP #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { struct devinfo info; if (!ioctl(f->fd, IOCINFO, &info)) { *bytes = (unsigned long long)info.un.scdk.numblks * info.un.scdk.blksize; return 0; } return errno; } static inline unsigned long long os_phys_mem(void) { long mem = sysconf(_SC_AIX_REALMEM); if (mem == -1) return 0; return (unsigned long long) mem * 1024; } #endif fio-3.39/os/os-ashmem.h000066400000000000000000000036451476262051600147310ustar00rootroot00000000000000#ifndef CONFIG_NO_SHM /* * Bionic doesn't support SysV shared memory, so implement it using ashmem */ #include #include #include #include #ifdef CONFIG_ASHAREDMEMORY_CREATE #include #else #define ASHMEM_DEVICE "/dev/ashmem" #endif #define shmid_ds shmid64_ds #define SHM_HUGETLB 04000 static inline int shmctl(int __shmid, int __cmd, struct shmid_ds *__buf) { int ret=0; if (__cmd == IPC_RMID) { int length = ioctl(__shmid, ASHMEM_GET_SIZE, NULL); struct ashmem_pin pin = {0 , length}; ret = ioctl(__shmid, ASHMEM_UNPIN, &pin); close(__shmid); } return ret; } #ifdef CONFIG_ASHAREDMEMORY_CREATE static inline int shmget(key_t __key, size_t __size, int __shmflg) { char keybuf[11]; sprintf(keybuf, "%d", __key); return ASharedMemory_create(keybuf, __size + sizeof(uint64_t)); } #else static inline int shmget(key_t __key, size_t __size, int __shmflg) { int fd,ret; char keybuf[11]; fd = open(ASHMEM_DEVICE, O_RDWR); if (fd < 0) return fd; sprintf(keybuf,"%d",__key); ret = ioctl(fd, ASHMEM_SET_NAME, keybuf); if (ret < 0) goto error; /* Stores size in first 8 bytes, allocate extra space */ ret = ioctl(fd, ASHMEM_SET_SIZE, __size + sizeof(uint64_t)); if (ret < 0) goto error; return fd; error: close(fd); return ret; } #endif static inline void *shmat(int __shmid, const void *__shmaddr, int __shmflg) { size_t size = ioctl(__shmid, ASHMEM_GET_SIZE, NULL); /* Needs to be 8-byte aligned to prevent SIGBUS on 32-bit ARM */ uint64_t *ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, __shmid, 0); /* Save size at beginning of buffer, for use with munmap */ *ptr = size; return ptr + 1; } static inline int shmdt (const void *__shmaddr) { /* Find mmap size which we stored at the beginning of the buffer */ uint64_t *ptr = (uint64_t *)__shmaddr - 1; size_t size = *ptr; return munmap(ptr, size); } #endif fio-3.39/os/os-dragonfly.h000066400000000000000000000143161476262051600154410ustar00rootroot00000000000000#ifndef FIO_OS_DRAGONFLY_H #define FIO_OS_DRAGONFLY_H #define FIO_OS os_dragonfly #include #include #include #include #include #include #include #include #include /* API changed during "5.3 development" */ #if __DragonFly_version < 500302 #include #define DAIOCTRIM IOCTLTRIM #else #include #endif #include "../file.h" #include "../lib/types.h" #define FIO_HAVE_ODIRECT #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define FIO_HAVE_FS_STAT #define FIO_HAVE_TRIM #define FIO_HAVE_CHARDEV_SIZE #define FIO_HAVE_GETTID #define FIO_HAVE_CPU_AFFINITY #define FIO_HAVE_IOPRIO #define FIO_HAVE_SHM_ATTACH_REMOVED #define OS_MAP_ANON MAP_ANON #ifndef PTHREAD_STACK_MIN #define PTHREAD_STACK_MIN 4096 #endif #define fio_swap16(x) bswap16(x) #define fio_swap32(x) bswap32(x) #define fio_swap64(x) bswap64(x) /* This is supposed to equal (sizeof(cpumask_t)*8) */ #define FIO_MAX_CPUS SMP_MAXCPU typedef cpumask_t os_cpu_mask_t; /* * These macros are copied from sys/cpu/x86_64/include/types.h. * It's okay to copy from arch dependent header because x86_64 is the only * supported arch, and no other arch is going to be supported any time soon. * * These are supposed to be able to be included from userspace by defining * _KERNEL_STRUCTURES, however this scheme is badly broken that enabling it * causes compile-time conflicts with other headers. Although the current * upstream code no longer requires _KERNEL_STRUCTURES, they should be kept * here for compatibility with older versions. */ #ifndef CPUMASK_SIMPLE #define CPUMASK_SIMPLE(cpu) ((uint64_t)1 << (cpu)) #define CPUMASK_TESTBIT(val, i) ((val).ary[((i) >> 6) & 3] & \ CPUMASK_SIMPLE((i) & 63)) #define CPUMASK_ORBIT(mask, i) ((mask).ary[((i) >> 6) & 3] |= \ CPUMASK_SIMPLE((i) & 63)) #define CPUMASK_NANDBIT(mask, i) ((mask).ary[((i) >> 6) & 3] &= \ ~CPUMASK_SIMPLE((i) & 63)) #define CPUMASK_ASSZERO(mask) do { \ (mask).ary[0] = 0; \ (mask).ary[1] = 0; \ (mask).ary[2] = 0; \ (mask).ary[3] = 0; \ } while(0) #endif /* * Define USCHED_GET_CPUMASK as the macro didn't exist until release 4.5. * usched_set(2) returns EINVAL if the kernel doesn't support it. * * Also note usched_set(2) works only for the current thread regardless of * the command type. It doesn't work against another thread regardless of * a caller's privilege. A caller would generally specify 0 for pid for the * current thread though that's the only choice. See BUGS in usched_set(2). */ #ifndef USCHED_GET_CPUMASK #define USCHED_GET_CPUMASK 5 #endif /* No CPU_COUNT(), but use the default function defined in os/os.h */ #define fio_cpu_count(mask) CPU_COUNT((mask)) #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif static inline int fio_cpuset_init(os_cpu_mask_t *mask) { CPUMASK_ASSZERO(*mask); return 0; } static inline int fio_cpuset_exit(os_cpu_mask_t *mask) { return 0; } static inline void fio_cpu_clear(os_cpu_mask_t *mask, int cpu) { CPUMASK_NANDBIT(*mask, cpu); } static inline void fio_cpu_set(os_cpu_mask_t *mask, int cpu) { CPUMASK_ORBIT(*mask, cpu); } static inline bool fio_cpu_isset(os_cpu_mask_t *mask, int cpu) { return CPUMASK_TESTBIT(*mask, cpu) != 0; } static inline int fio_setaffinity(int pid, os_cpu_mask_t mask) { int i, firstcall = 1; /* 0 for the current thread, see BUGS in usched_set(2) */ pid = 0; for (i = 0; i < FIO_MAX_CPUS; i++) { if (!CPUMASK_TESTBIT(mask, i)) continue; if (firstcall) { if (usched_set(pid, USCHED_SET_CPU, &i, sizeof(int))) return -1; firstcall = 0; } else { if (usched_set(pid, USCHED_ADD_CPU, &i, sizeof(int))) return -1; } } return 0; } static inline int fio_getaffinity(int pid, os_cpu_mask_t *mask) { /* 0 for the current thread, see BUGS in usched_set(2) */ pid = 0; if (usched_set(pid, USCHED_GET_CPUMASK, mask, sizeof(*mask))) return -1; return 0; } /* fio code is Linux based, so rename macros to Linux style */ #define IOPRIO_WHO_PROCESS PRIO_PROCESS #define IOPRIO_WHO_PGRP PRIO_PGRP #define IOPRIO_WHO_USER PRIO_USER #define IOPRIO_MIN_PRIO 1 /* lowest priority */ #define IOPRIO_MAX_PRIO 10 /* highest priority */ /* * Prototypes declared in sys/sys/resource.h are preventing from defining * ioprio_set() with 4 arguments, so define fio's ioprio_set() as a macro. * Note that there is no idea of class within ioprio_set(2) unlike Linux. */ #define ioprio_value(ioprio_class, ioprio, ioprio_hint) (ioprio) #define ioprio_set(which, who, ioprio_class, ioprio, ioprio_hint) \ ioprio_set(which, who, ioprio) #define ioprio(ioprio) (ioprio) static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { struct partinfo pi; if (!ioctl(f->fd, DIOCGPART, &pi)) { *bytes = (unsigned long long) pi.media_size; return 0; } *bytes = 0; return errno; } static inline int chardev_size(struct fio_file *f, unsigned long long *bytes) { return blockdev_size(f, bytes); } static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline unsigned long long os_phys_mem(void) { int mib[2] = { CTL_HW, HW_PHYSMEM }; uint64_t mem; size_t len = sizeof(mem); sysctl(mib, 2, &mem, &len, NULL, 0); return mem; } #ifndef CONFIG_HAVE_GETTID static inline int gettid(void) { return (int) lwp_gettid(); } #endif static inline unsigned long long get_fs_free_size(const char *path) { unsigned long long ret; struct statvfs s; if (statvfs(path, &s) < 0) return -1ULL; ret = s.f_frsize; ret *= (unsigned long long) s.f_bfree; return ret; } static inline int os_trim(struct fio_file *f, unsigned long long start, unsigned long long len) { off_t range[2]; range[0] = start; range[1] = len; if (!ioctl(f->fd, DAIOCTRIM, range)) return 0; return errno; } #ifdef MADV_FREE #define FIO_MADV_FREE MADV_FREE #endif static inline int shm_attach_to_open_removed(void) { int x; size_t len = sizeof(x); if (sysctlbyname("kern.ipc.shm_allow_removed", &x, &len, NULL, 0) < 0) return 0; return x > 0 ? 1 : 0; } #endif fio-3.39/os/os-freebsd.h000066400000000000000000000060601476262051600150630ustar00rootroot00000000000000#ifndef FIO_OS_FREEBSD_H #define FIO_OS_FREEBSD_H #define FIO_OS os_freebsd #include #include #include #include #include #include #include #include #include #include "../file.h" #define FIO_HAVE_ODIRECT #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define FIO_HAVE_CHARDEV_SIZE #define FIO_HAVE_FS_STAT #define FIO_HAVE_TRIM #define FIO_HAVE_GETTID #define FIO_HAVE_CPU_AFFINITY #define FIO_HAVE_SHM_ATTACH_REMOVED #define OS_MAP_ANON MAP_ANON #define fio_swap16(x) bswap16(x) #define fio_swap32(x) bswap32(x) #define fio_swap64(x) bswap64(x) typedef cpuset_t os_cpu_mask_t; #define fio_cpu_clear(mask, cpu) (void) CPU_CLR((cpu), (mask)) #define fio_cpu_set(mask, cpu) (void) CPU_SET((cpu), (mask)) #define fio_cpu_isset(mask, cpu) (CPU_ISSET((cpu), (mask)) != 0) #define fio_cpu_count(mask) CPU_COUNT((mask)) #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif static inline int fio_cpuset_init(os_cpu_mask_t *mask) { CPU_ZERO(mask); return 0; } static inline int fio_cpuset_exit(os_cpu_mask_t *mask) { return 0; } static inline int fio_setaffinity(int pid, os_cpu_mask_t cpumask) { return cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, pid, sizeof(cpumask), &cpumask); } static inline int fio_getaffinity(int pid, os_cpu_mask_t *cpumask) { return cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, pid, sizeof(cpumask), cpumask); } #define FIO_MAX_CPUS CPU_SETSIZE static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { off_t size; if (!ioctl(f->fd, DIOCGMEDIASIZE, &size)) { *bytes = size; return 0; } *bytes = 0; return errno; } static inline int chardev_size(struct fio_file *f, unsigned long long *bytes) { return blockdev_size(f, bytes); } static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline unsigned long long os_phys_mem(void) { int mib[2] = { CTL_HW, HW_PHYSMEM }; unsigned long long mem; size_t len = sizeof(mem); sysctl(mib, 2, &mem, &len, NULL, 0); return mem; } static inline int gettid(void) { long lwpid; thr_self(&lwpid); return (int) lwpid; } static inline unsigned long long get_fs_free_size(const char *path) { unsigned long long ret; struct statvfs s; if (statvfs(path, &s) < 0) return -1ULL; ret = s.f_frsize; ret *= (unsigned long long) s.f_bfree; return ret; } static inline int os_trim(struct fio_file *f, unsigned long long start, unsigned long long len) { off_t range[2]; range[0] = start; range[1] = len; if (!ioctl(f->fd, DIOCGDELETE, range)) return 0; return errno; } #ifdef MADV_FREE #define FIO_MADV_FREE MADV_FREE #endif static inline int shm_attach_to_open_removed(void) { int x; size_t len = sizeof(x); if (sysctlbyname("kern.ipc.shm_allow_removed", &x, &len, NULL, 0) < 0) return 0; return x > 0 ? 1 : 0; } #endif fio-3.39/os/os-hpux.h000066400000000000000000000037211476262051600144360ustar00rootroot00000000000000#ifndef FIO_OS_HPUX_H #define FIO_OS_HPUX_H #define FIO_OS os_hpux #include #include #include #include #include #include #include #include #include #include #include #include #include #include "../file.h" #define FIO_HAVE_ODIRECT #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define FIO_HAVE_CHARDEV_SIZE #define OS_MAP_ANON MAP_ANONYMOUS #define OS_MSG_DONTWAIT 0 #define POSIX_MADV_DONTNEED MADV_DONTNEED #define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL #define POSIX_MADV_RANDOM MADV_RANDOM #define posix_madvise(ptr, sz, hint) madvise((ptr), (sz), (hint)) #ifndef MSG_WAITALL #define MSG_WAITALL 0x40 #endif #define FIO_USE_GENERIC_SWAP #define FIO_OS_HAVE_AIOCB_TYPEDEF #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif typedef struct aiocb64 os_aiocb_t; static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { disk_describe_type_ext_t dext; if (!ioctl(f->fd, DIOC_DESCRIBE_EXT, &dext)) { unsigned long long lba; lba = ((uint64_t) dext.maxsva_high << 32) | dext.maxsva_low; *bytes = lba * dext.lgblksz; return 0; } *bytes = 0; return errno; } static inline int chardev_size(struct fio_file *f, unsigned long long *bytes) { return blockdev_size(f, bytes); } static inline unsigned long long os_phys_mem(void) { unsigned long long ret; struct pst_static pst; union pstun pu; pu.pst_static = &pst; if (pstat(PSTAT_STATIC, pu, sizeof(pst), 0, 0) == -1) return 0; ret = pst.physical_memory; ret *= pst.page_size; return ret; } #define FIO_HAVE_CPU_CONF_SYSCONF static inline unsigned int cpus_configured(void) { return mpctl(MPC_GETNUMSPUS, 0, NULL); } #endif fio-3.39/os/os-linux-syscall.h000066400000000000000000000130061476262051600162560ustar00rootroot00000000000000#ifndef FIO_OS_LINUX_SYSCALL_H #define FIO_OS_LINUX_SYSCALL_H #include "../arch/arch.h" /* Linux syscalls for x86 */ #if defined(ARCH_X86_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 289 #define __NR_ioprio_get 290 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 250 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 313 #define __NR_sys_tee 315 #define __NR_sys_vmsplice 316 #endif #ifndef __NR_preadv2 #define __NR_preadv2 378 #endif #ifndef __NR_pwritev2 #define __NR_pwritev2 379 #endif /* Linux syscalls for x86_64 */ #elif defined(ARCH_X86_64_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 251 #define __NR_ioprio_get 252 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 221 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 275 #define __NR_sys_tee 276 #define __NR_sys_vmsplice 278 #endif #ifndef __NR_shmget #define __NR_shmget 29 #define __NR_shmat 30 #define __NR_shmctl 31 #define __NR_shmdt 67 #endif #ifndef __NR_preadv2 #define __NR_preadv2 327 #endif #ifndef __NR_pwritev2 #define __NR_pwritev2 328 #endif /* Linux syscalls for ppc */ #elif defined(ARCH_PPC_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 273 #define __NR_ioprio_get 274 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 233 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 283 #define __NR_sys_tee 284 #define __NR_sys_vmsplice 285 #endif /* Linux syscalls for ia64 */ #elif defined(ARCH_IA64_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 1274 #define __NR_ioprio_get 1275 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 1234 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 1297 #define __NR_sys_tee 1301 #define __NR_sys_vmsplice 1302 #endif #ifndef __NR_preadv2 #define __NR_preadv2 1348 #endif #ifndef __NR_pwritev2 #define __NR_pwritev2 1349 #endif /* Linux syscalls for alpha */ #elif defined(ARCH_ALPHA_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 442 #define __NR_ioprio_get 443 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 413 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 468 #define __NR_sys_tee 470 #define __NR_sys_vmsplice 471 #endif /* Linux syscalls for s390 */ #elif defined(ARCH_S390_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 282 #define __NR_ioprio_get 283 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 253 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 306 #define __NR_sys_tee 308 #define __NR_sys_vmsplice 309 #endif #ifndef __NR_preadv2 #define __NR_preadv2 376 #endif #ifndef __NR_pwritev2 #define __NR_pwritev2 377 #endif /* Linux syscalls for sparc */ #elif defined(ARCH_SPARC_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 196 #define __NR_ioprio_get 218 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 209 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 232 #define __NR_sys_tee 280 #define __NR_sys_vmsplice 25 #endif #ifndef __NR_preadv2 #define __NR_preadv2 358 #endif #ifndef __NR_pwritev2 #define __NR_pwritev2 359 #endif /* Linux syscalls for sparc64 */ #elif defined(ARCH_SPARC64_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 196 #define __NR_ioprio_get 218 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 209 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 232 #define __NR_sys_tee 280 #define __NR_sys_vmsplice 25 #endif #ifndef __NR_preadv2 #define __NR_preadv2 358 #endif #ifndef __NR_pwritev2 #define __NR_pwritev2 359 #endif /* Linux syscalls for arm */ #elif defined(ARCH_ARM_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 314 #define __NR_ioprio_get 315 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 270 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 340 #define __NR_sys_tee 342 #define __NR_sys_vmsplice 343 #endif #ifndef __NR_preadv2 #define __NR_preadv2 392 #endif #ifndef __NR_pwritev2 #define __NR_pwritev2 393 #endif /* Linux syscalls for mips */ #elif defined(ARCH_MIPS64_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 314 #define __NR_ioprio_get 315 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 215 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 263 #define __NR_sys_tee 265 #define __NR_sys_vmsplice 266 #endif /* Linux syscalls for sh */ #elif defined(ARCH_SH_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 288 #define __NR_ioprio_get 289 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 250 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 313 #define __NR_sys_tee 315 #define __NR_sys_vmsplice 316 #endif /* Linux syscalls for hppa */ #elif defined(ARCH_HPPA_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 267 #define __NR_ioprio_get 268 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 236 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 291 #define __NR_sys_tee 293 #define __NR_sys_vmsplice 294 #endif /* Linux syscalls for aarch64 */ #elif defined(ARCH_AARCH64_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 30 #define __NR_ioprio_get 31 #endif /* Linux syscalls for loongarch64 */ #elif defined(ARCH_LOONGARCH64_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 30 #define __NR_ioprio_get 31 #endif #ifndef __NR_fadvise64 #define __NR_fadvise64 223 #endif #ifndef __NR_sys_splice #define __NR_sys_splice 76 #define __NR_sys_tee 77 #define __NR_sys_vmsplice 75 #endif /* Linux syscalls for riscv64 */ #elif defined(ARCH_RISCV64_H) #ifndef __NR_ioprio_set #define __NR_ioprio_set 30 #define __NR_ioprio_get 31 #endif #else #warning "Unknown architecture" #endif #endif /* FIO_OS_LINUX_SYSCALL_H */ fio-3.39/os/os-linux.h000066400000000000000000000230631476262051600146120ustar00rootroot00000000000000#ifndef FIO_OS_LINUX_H #define FIO_OS_LINUX_H #ifdef __ANDROID__ #define FIO_OS os_android #else #define FIO_OS os_linux #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __ANDROID__ #include "os-ashmem.h" #define FIO_NO_HAVE_SHM_H #endif #ifdef ARCH_HAVE_CRC_CRYPTO #include #ifndef HWCAP_PMULL #define HWCAP_PMULL (1 << 4) #endif /* HWCAP_PMULL */ #ifndef HWCAP_CRC32 #define HWCAP_CRC32 (1 << 7) #endif /* HWCAP_CRC32 */ #endif /* ARCH_HAVE_CRC_CRYPTO */ #include "./os-linux-syscall.h" #include "../file.h" #ifndef __has_builtin // Optional of course. #define __has_builtin(x) 0 // Compatibility with non-clang compilers. #endif #define FIO_HAVE_CPU_AFFINITY #define FIO_HAVE_DISK_UTIL #define FIO_HAVE_SGIO #define FIO_HAVE_IOPRIO #define FIO_HAVE_IOPRIO_CLASS #define FIO_HAVE_IOSCHED_SWITCH #define FIO_HAVE_ODIRECT #define FIO_HAVE_HUGETLB #define FIO_HAVE_BLKTRACE #define FIO_HAVE_CL_SIZE #define FIO_HAVE_CGROUPS #define FIO_HAVE_FS_STAT #define FIO_HAVE_TRIM #define FIO_HAVE_GETTID #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define FIO_HAVE_BYTEORDER_FUNCS #define FIO_HAVE_PWRITEV2 #define FIO_HAVE_SHM_ATTACH_REMOVED #define FIO_HAVE_RWF_ATOMIC #ifdef MAP_HUGETLB #define FIO_HAVE_MMAP_HUGE #endif #define OS_MAP_ANON MAP_ANONYMOUS #define FIO_EXT_ENG_DIR "/usr/local/lib/fio" typedef cpu_set_t os_cpu_mask_t; #ifdef CONFIG_3ARG_AFFINITY #define fio_setaffinity(pid, cpumask) \ sched_setaffinity((pid), sizeof(cpumask), &(cpumask)) #define fio_getaffinity(pid, ptr) \ sched_getaffinity((pid), sizeof(cpu_set_t), (ptr)) #elif defined(CONFIG_2ARG_AFFINITY) #define fio_setaffinity(pid, cpumask) \ sched_setaffinity((pid), &(cpumask)) #define fio_getaffinity(pid, ptr) \ sched_getaffinity((pid), (ptr)) #endif #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif #define fio_cpu_clear(mask, cpu) CPU_CLR((cpu), (mask)) #define fio_cpu_set(mask, cpu) CPU_SET((cpu), (mask)) #define fio_cpu_isset(mask, cpu) (CPU_ISSET((cpu), (mask)) != 0) #define fio_cpu_count(mask) CPU_COUNT((mask)) static inline int fio_cpuset_init(os_cpu_mask_t *mask) { CPU_ZERO(mask); return 0; } static inline int fio_cpuset_exit(os_cpu_mask_t *mask) { return 0; } #define FIO_MAX_CPUS CPU_SETSIZE enum { IOPRIO_CLASS_NONE, IOPRIO_CLASS_RT, IOPRIO_CLASS_BE, IOPRIO_CLASS_IDLE, }; enum { IOPRIO_WHO_PROCESS = 1, IOPRIO_WHO_PGRP, IOPRIO_WHO_USER, }; #define IOPRIO_BITS 16 #define IOPRIO_CLASS_SHIFT 13 #define IOPRIO_HINT_BITS 10 #define IOPRIO_HINT_SHIFT 3 #define IOPRIO_MIN_PRIO 0 /* highest priority */ #define IOPRIO_MAX_PRIO 7 /* lowest priority */ #define IOPRIO_MIN_PRIO_CLASS 0 #define IOPRIO_MAX_PRIO_CLASS 3 #define IOPRIO_MIN_PRIO_HINT 0 #define IOPRIO_MAX_PRIO_HINT ((1 << IOPRIO_HINT_BITS) - 1) #define ioprio_class(ioprio) ((ioprio) >> IOPRIO_CLASS_SHIFT) #define ioprio(ioprio) ((ioprio) & IOPRIO_MAX_PRIO) #define ioprio_hint(ioprio) \ (((ioprio) >> IOPRIO_HINT_SHIFT) & IOPRIO_MAX_PRIO_HINT) static inline int ioprio_value(int ioprio_class, int ioprio, int ioprio_hint) { /* * If no class is set, assume BE */ if (!ioprio_class) ioprio_class = IOPRIO_CLASS_BE; return (ioprio_class << IOPRIO_CLASS_SHIFT) | (ioprio_hint << IOPRIO_HINT_SHIFT) | ioprio; } static inline bool ioprio_value_is_class_rt(unsigned int priority) { return ioprio_class(priority) == IOPRIO_CLASS_RT; } static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio, int ioprio_hint) { return syscall(__NR_ioprio_set, which, who, ioprio_value(ioprio_class, ioprio, ioprio_hint)); } #ifndef CONFIG_HAVE_GETTID static inline int gettid(void) { return syscall(__NR_gettid); } #endif #define SPLICE_DEF_SIZE (64*1024) #ifndef BLKGETSIZE64 #define BLKGETSIZE64 _IOR(0x12,114,size_t) #endif #ifndef BLKFLSBUF #define BLKFLSBUF _IO(0x12,97) #endif #ifndef BLKDISCARD #define BLKDISCARD _IO(0x12,119) #endif static inline int blockdev_invalidate_cache(struct fio_file *f) { return ioctl(f->fd, BLKFLSBUF); } static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { if (!ioctl(f->fd, BLKGETSIZE64, bytes)) return 0; return errno; } static inline unsigned long long os_phys_mem(void) { long pagesize, pages; pagesize = sysconf(_SC_PAGESIZE); pages = sysconf(_SC_PHYS_PAGES); if (pages == -1 || pagesize == -1) return 0; return (unsigned long long) pages * (unsigned long long) pagesize; } #ifdef O_NOATIME #define FIO_O_NOATIME O_NOATIME #else #define FIO_O_NOATIME 0 #endif #ifdef MADV_REMOVE #define FIO_MADV_FREE MADV_REMOVE #endif /* Check for GCC or Clang byte swap intrinsics */ #if (__has_builtin(__builtin_bswap16) && __has_builtin(__builtin_bswap32) \ && __has_builtin(__builtin_bswap64)) || (__GNUC__ > 4 \ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) /* fio_swapN */ #define fio_swap16(x) __builtin_bswap16(x) #define fio_swap32(x) __builtin_bswap32(x) #define fio_swap64(x) __builtin_bswap64(x) #else #include #define fio_swap16(x) bswap_16(x) #define fio_swap32(x) bswap_32(x) #define fio_swap64(x) bswap_64(x) #endif /* fio_swapN */ #define CACHE_LINE_FILE \ "/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size" static inline int arch_cache_line_size(void) { char size[32]; int fd, ret; fd = open(CACHE_LINE_FILE, O_RDONLY); if (fd < 0) return -1; ret = read(fd, size, sizeof(size)); close(fd); if (ret <= 0) return -1; else return atoi(size); } static inline unsigned long long get_fs_free_size(const char *path) { unsigned long long ret; struct statfs s; if (statfs(path, &s) < 0) return -1ULL; ret = s.f_bsize; ret *= (unsigned long long) s.f_bfree; return ret; } static inline int os_trim(struct fio_file *f, unsigned long long start, unsigned long long len) { uint64_t range[2]; range[0] = start; range[1] = len; if (!ioctl(f->fd, BLKDISCARD, range)) return 0; return errno; } #ifdef CONFIG_SCHED_IDLE static inline int fio_set_sched_idle(void) { struct sched_param p = { .sched_priority = 0, }; return sched_setscheduler(gettid(), SCHED_IDLE, &p); } #endif #ifndef F_GET_RW_HINT #ifndef F_LINUX_SPECIFIC_BASE #define F_LINUX_SPECIFIC_BASE 1024 #endif #define F_GET_RW_HINT (F_LINUX_SPECIFIC_BASE + 11) #define F_SET_RW_HINT (F_LINUX_SPECIFIC_BASE + 12) #define F_GET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 13) #define F_SET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 14) #endif #ifndef RWH_WRITE_LIFE_NONE #define RWH_WRITE_LIFE_NOT_SET 0 #define RWH_WRITE_LIFE_NONE 1 #define RWH_WRITE_LIFE_SHORT 2 #define RWH_WRITE_LIFE_MEDIUM 3 #define RWH_WRITE_LIFE_LONG 4 #define RWH_WRITE_LIFE_EXTREME 5 #endif #define FIO_HAVE_WRITE_HINT #ifndef RWF_HIPRI #define RWF_HIPRI 0x00000001 #endif #ifndef RWF_DSYNC #define RWF_DSYNC 0x00000002 #endif #ifndef RWF_SYNC #define RWF_SYNC 0x00000004 #endif #ifndef RWF_NOWAIT #define RWF_NOWAIT 0x00000008 #endif #ifndef RWF_ATOMIC #define RWF_ATOMIC 0x00000040 #endif #ifndef RWF_DONTCACHE #define RWF_DONTCACHE 0x00000080 #endif #ifndef RWF_WRITE_LIFE_SHIFT #define RWF_WRITE_LIFE_SHIFT 4 #define RWF_WRITE_LIFE_SHORT (1 << RWF_WRITE_LIFE_SHIFT) #define RWF_WRITE_LIFE_MEDIUM (2 << RWF_WRITE_LIFE_SHIFT) #define RWF_WRITE_LIFE_LONG (3 << RWF_WRITE_LIFE_SHIFT) #define RWF_WRITE_LIFE_EXTREME (4 << RWF_WRITE_LIFE_SHIFT) #endif #ifndef CONFIG_PWRITEV2 #ifdef __NR_preadv2 static inline void make_pos_h_l(unsigned long *pos_h, unsigned long *pos_l, off_t offset) { #if BITS_PER_LONG == 64 *pos_l = offset; *pos_h = 0; #else *pos_l = offset & 0xffffffff; *pos_h = ((uint64_t) offset) >> 32; #endif } static inline ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt, off_t offset, unsigned int flags) { unsigned long pos_l, pos_h; make_pos_h_l(&pos_h, &pos_l, offset); return syscall(__NR_preadv2, fd, iov, iovcnt, pos_l, pos_h, flags); } static inline ssize_t pwritev2(int fd, const struct iovec *iov, int iovcnt, off_t offset, unsigned int flags) { unsigned long pos_l, pos_h; make_pos_h_l(&pos_h, &pos_l, offset); return syscall(__NR_pwritev2, fd, iov, iovcnt, pos_l, pos_h, flags); } #else static inline ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt, off_t offset, unsigned int flags) { errno = ENOSYS; return -1; } static inline ssize_t pwritev2(int fd, const struct iovec *iov, int iovcnt, off_t offset, unsigned int flags) { errno = ENOSYS; return -1; } #endif /* __NR_preadv2 */ #endif /* CONFIG_PWRITEV2 */ static inline int shm_attach_to_open_removed(void) { return 1; } #ifdef CONFIG_LINUX_FALLOCATE #define FIO_HAVE_NATIVE_FALLOCATE static inline bool fio_fallocate(struct fio_file *f, uint64_t offset, uint64_t len) { int ret; ret = fallocate(f->fd, 0, offset, len); if (ret == 0) return true; /* Work around buggy old glibc versions... */ if (ret > 0) errno = ret; return false; } #endif #define FIO_HAVE_CPU_HAS static inline bool os_cpu_has(cpu_features feature) { bool have_feature; unsigned long fio_unused hwcap; switch (feature) { #ifdef ARCH_HAVE_CRC_CRYPTO case CPU_ARM64_CRC32C: hwcap = getauxval(AT_HWCAP); have_feature = (hwcap & (HWCAP_PMULL | HWCAP_CRC32)) == (HWCAP_PMULL | HWCAP_CRC32); break; #endif default: have_feature = false; } return have_feature; } #endif fio-3.39/os/os-mac.h000066400000000000000000000047211476262051600142130ustar00rootroot00000000000000#ifndef FIO_OS_APPLE_H #define FIO_OS_APPLE_H #define FIO_OS os_mac #include #include #include #include #include #include #include #include #include #include #include "../arch/arch.h" #include "../file.h" #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define FIO_HAVE_GETTID #define FIO_HAVE_CHARDEV_SIZE #define FIO_HAVE_NATIVE_FALLOCATE #define FIO_HAVE_CPU_HAS #define OS_MAP_ANON MAP_ANON #define fio_swap16(x) OSSwapInt16(x) #define fio_swap32(x) OSSwapInt32(x) #define fio_swap64(x) OSSwapInt64(x) #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif #ifndef CONFIG_CLOCKID_T typedef unsigned int clockid_t; #endif #define FIO_OS_DIRECTIO static inline int fio_set_odirect(struct fio_file *f) { if (fcntl(f->fd, F_NOCACHE, 1) == -1) return errno; return 0; } static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { uint32_t block_size; uint64_t block_count; if (ioctl(f->fd, DKIOCGETBLOCKCOUNT, &block_count) == -1) return errno; if (ioctl(f->fd, DKIOCGETBLOCKSIZE, &block_size) == -1) return errno; *bytes = block_size; *bytes *= block_count; return 0; } static inline int chardev_size(struct fio_file *f, unsigned long long *bytes) { /* * Could be a raw block device, this is better than just assuming * we can't get the size at all. */ if (!blockdev_size(f, bytes)) return 0; *bytes = -1ULL; return 0; } static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline unsigned long long os_phys_mem(void) { int mib[2] = { CTL_HW, HW_PHYSMEM }; unsigned long long mem; size_t len = sizeof(mem); sysctl(mib, 2, &mem, &len, NULL, 0); return mem; } #ifndef CONFIG_HAVE_GETTID static inline int gettid(void) { return mach_thread_self(); } #endif static inline bool fio_fallocate(struct fio_file *f, uint64_t offset, uint64_t len) { fstore_t store = {F_ALLOCATEALL, F_PEOFPOSMODE, offset, len}; if (fcntl(f->fd, F_PREALLOCATE, &store) != -1) { if (ftruncate(f->fd, len) == 0) return true; } return false; } static inline bool os_cpu_has(cpu_features feature) { /* just check for arm on OSX for now, we know that has it */ if (feature != CPU_ARM64_CRC32C) return false; return FIO_ARCH == arch_aarch64; } #endif fio-3.39/os/os-netbsd.h000066400000000000000000000034611476262051600147320ustar00rootroot00000000000000#ifndef FIO_OS_NETBSD_H #define FIO_OS_NETBSD_H #define FIO_OS os_netbsd #include #include #include #include #include #include #include #include #include /* XXX hack to avoid conflicts between rbtree.h and */ #undef rb_node #undef rb_left #undef rb_right #include "../file.h" #define FIO_HAVE_ODIRECT #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define FIO_HAVE_FS_STAT #define FIO_HAVE_GETTID #define OS_MAP_ANON MAP_ANON #ifndef PTHREAD_STACK_MIN #define PTHREAD_STACK_MIN 4096 #endif #define fio_swap16(x) bswap16(x) #define fio_swap32(x) bswap32(x) #define fio_swap64(x) bswap64(x) #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { struct disklabel dl; if (!ioctl(f->fd, DIOCGDINFO, &dl)) { *bytes = ((unsigned long long)dl.d_secperunit) * dl.d_secsize; return 0; } *bytes = 0; return errno; } static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline unsigned long long os_phys_mem(void) { int mib[2] = { CTL_HW, HW_PHYSMEM64 }; uint64_t mem; size_t len = sizeof(mem); sysctl(mib, 2, &mem, &len, NULL, 0); return mem; } #ifndef CONFIG_HAVE_GETTID static inline int gettid(void) { return (int) _lwp_self(); } #endif static inline unsigned long long get_fs_free_size(const char *path) { unsigned long long ret; struct statvfs s; if (statvfs(path, &s) < 0) return -1ULL; ret = s.f_frsize; ret *= (unsigned long long) s.f_bfree; return ret; } #ifdef MADV_FREE #define FIO_MADV_FREE MADV_FREE #endif #endif fio-3.39/os/os-openbsd.h000066400000000000000000000045751476262051600151140ustar00rootroot00000000000000#ifndef FIO_OS_OPENBSD_H #define FIO_OS_OPENBSD_H #define FIO_OS os_openbsd #include #include #include #include #include #include #include #include #include /* XXX hack to avoid conflicts between rbtree.h and */ #undef RB_BLACK #undef RB_RED #undef RB_ROOT #include "../file.h" #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define FIO_HAVE_FS_STAT #define FIO_HAVE_GETTID #define FIO_HAVE_SHM_ATTACH_REMOVED #define OS_MAP_ANON MAP_ANON #ifndef PTHREAD_STACK_MIN #define PTHREAD_STACK_MIN 4096 #endif #define fio_swap16(x) swap16(x) #define fio_swap32(x) swap32(x) #define fio_swap64(x) swap64(x) #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { struct disklabel dl; if (!ioctl(f->fd, DIOCGDINFO, &dl)) { *bytes = ((unsigned long long)dl.d_secperunit) * dl.d_secsize; return 0; } *bytes = 0; return errno; } static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline unsigned long long os_phys_mem(void) { int mib[2] = { CTL_HW, HW_PHYSMEM64 }; uint64_t mem; size_t len = sizeof(mem); sysctl(mib, 2, &mem, &len, NULL, 0); return mem; } #ifndef CONFIG_HAVE_GETTID static inline int gettid(void) { return (int)(intptr_t) pthread_self(); } #endif static inline unsigned long long get_fs_free_size(const char *path) { unsigned long long ret; struct statvfs s; if (statvfs(path, &s) < 0) return -1ULL; ret = s.f_frsize; ret *= (unsigned long long) s.f_bfree; return ret; } #ifdef MADV_FREE #define FIO_MADV_FREE MADV_FREE #endif static inline int shm_attach_to_open_removed(void) { struct utsname uts; int major, minor; if (uname(&uts) == -1) return 0; /* * Return 1 if >= OpenBSD 5.1 according to 97900ebf, * assuming both major/minor versions are < 10. */ if (uts.release[0] > '9' || uts.release[0] < '0') return 0; if (uts.release[1] != '.') return 0; if (uts.release[2] > '9' || uts.release[2] < '0') return 0; major = uts.release[0] - '0'; minor = uts.release[2] - '0'; if (major > 5) return 1; if (major == 5 && minor >= 1) return 1; return 0; } #endif fio-3.39/os/os-qnx.h000077500000000000000000000044021476262051600142600ustar00rootroot00000000000000#ifndef FIO_OS_QNX_H #define FIO_OS_QNX_H #define FIO_OS os_qnx #include #include #include #include #include #include #include #include #include #include #include /* XXX hack to avoid conflicts between rbtree.h and */ #undef RB_BLACK #undef RB_RED #undef RB_ROOT #include "../file.h" /* QNX is not supporting SA_RESTART. Use SA_NOCLDSTOP instead of it */ #ifndef SA_RESTART #define SA_RESTART SA_NOCLDSTOP #endif #define FIO_NO_HAVE_SHM_H typedef uint64_t __u64; typedef unsigned int __u32; #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define FIO_HAVE_FS_STAT #define FIO_HAVE_GETTID #define OS_MAP_ANON MAP_ANON #ifndef PTHREAD_STACK_MIN #define PTHREAD_STACK_MIN 4096 #endif #define fio_swap16(x) swap16(x) #define fio_swap32(x) swap32(x) #define fio_swap64(x) swap64(x) #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { struct stat statbuf; if (fstat(f->fd, &statbuf) == -1) { *bytes = 0; return errno; } *bytes = (unsigned long long)(statbuf.st_blocksize * statbuf.st_nblocks); return 0; } static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline unsigned long long os_phys_mem(void) { uint64_t mem = 0; const char *const strings = SYSPAGE_ENTRY(strings)->data; const struct asinfo_entry *const begin = SYSPAGE_ENTRY(asinfo); const struct asinfo_entry *const end = begin + SYSPAGE_ENTRY_SIZE(asinfo) / SYSPAGE_ELEMENT_SIZE(asinfo); assert(SYSPAGE_ELEMENT_SIZE(asinfo) == sizeof(struct asinfo_entry)); for (const struct asinfo_entry *e = begin; e < end; ++e) { if (!strcmp(strings + e->name, "ram")) mem += e->end - e->start + 1; } return mem; } static inline unsigned long long get_fs_free_size(const char *path) { unsigned long long ret; struct statvfs s; if (statvfs(path, &s) < 0) return -1ULL; ret = s.f_frsize; ret *= (unsigned long long) s.f_bfree; return ret; } #ifdef MADV_FREE #define FIO_MADV_FREE MADV_FREE #endif #endif fio-3.39/os/os-solaris.h000066400000000000000000000071551476262051600151330ustar00rootroot00000000000000#ifndef FIO_OS_SOLARIS_H #define FIO_OS_SOLARIS_H #define FIO_OS os_solaris #include #include #include #include #include #include #include #include #include #include #include #include "../file.h" #include "../lib/types.h" #define FIO_HAVE_CPU_AFFINITY #define FIO_HAVE_CHARDEV_SIZE #define FIO_USE_GENERIC_BDEV_SIZE #define FIO_HAVE_FS_STAT #define FIO_USE_GENERIC_INIT_RANDOM_STATE #define FIO_HAVE_GETTID #define OS_MAP_ANON MAP_ANON #define OS_RAND_MAX 2147483648UL #define fio_swap16(x) BSWAP_16(x) #define fio_swap32(x) BSWAP_32(x) #define fio_swap64(x) BSWAP_64(x) struct solaris_rand_seed { unsigned short r[3]; }; #ifndef POSIX_MADV_SEQUENTIAL #define posix_madvise madvise #define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL #define POSIX_MADV_DONTNEED MADV_DONTNEED #define POSIX_MADV_RANDOM MADV_RANDOM #endif #define os_ctime_r(x, y, z) ctime_r((x), (y), (z)) #define FIO_OS_HAS_CTIME_R #ifdef CONFIG_PTHREAD_GETAFFINITY #define FIO_HAVE_GET_THREAD_AFFINITY #define fio_get_thread_affinity(mask) \ pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask)) #endif typedef psetid_t os_cpu_mask_t; static inline int chardev_size(struct fio_file *f, unsigned long long *bytes) { struct dk_minfo info; *bytes = 0; if (ioctl(f->fd, DKIOCGMEDIAINFO, &info) < 0) return errno; *bytes = info.dki_lbsize * info.dki_capacity; return 0; } static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline unsigned long long os_phys_mem(void) { long pagesize, pages; pagesize = sysconf(_SC_PAGESIZE); pages = sysconf(_SC_PHYS_PAGES); if (pages == -1 || pagesize == -1) return 0; return (unsigned long long) pages * (unsigned long long) pagesize; } static inline unsigned long long get_fs_free_size(const char *path) { unsigned long long ret; struct statvfs s; if (statvfs(path, &s) < 0) return -1ULL; ret = s.f_frsize; ret *= (unsigned long long) s.f_bfree; return ret; } #define FIO_OS_DIRECTIO extern int directio(int, int); static inline int fio_set_odirect(struct fio_file *f) { if (directio(f->fd, DIRECTIO_ON) < 0) return errno; return 0; } /* * pset binding hooks for fio */ #define fio_setaffinity(pid, cpumask) \ pset_bind((cpumask), P_LWPID, (pid), NULL) #define fio_getaffinity(pid, ptr) ({ 0; }) #define fio_cpu_clear(mask, cpu) pset_assign(PS_NONE, (cpu), NULL) #define fio_cpu_set(mask, cpu) pset_assign(*(mask), (cpu), NULL) static inline bool fio_cpu_isset(os_cpu_mask_t *mask, int cpu) { const unsigned int max_cpus = sysconf(_SC_NPROCESSORS_CONF); unsigned int num_cpus; processorid_t *cpus; bool ret; int i; cpus = malloc(sizeof(*cpus) * max_cpus); if (pset_info(*mask, NULL, &num_cpus, cpus) < 0) { free(cpus); return false; } ret = false; for (i = 0; i < num_cpus; i++) { if (cpus[i] == cpu) { ret = true; break; } } free(cpus); return ret; } static inline int fio_cpu_count(os_cpu_mask_t *mask) { unsigned int num_cpus; if (pset_info(*mask, NULL, &num_cpus, NULL) < 0) return 0; return num_cpus; } static inline int fio_cpuset_init(os_cpu_mask_t *mask) { if (pset_create(mask) < 0) return -1; return 0; } static inline int fio_cpuset_exit(os_cpu_mask_t *mask) { if (pset_destroy(*mask) < 0) return -1; return 0; } #ifndef CONFIG_HAVE_GETTID static inline int gettid(void) { return pthread_self(); } #endif /* * Should be enough, not aware of what (if any) restrictions Solaris has */ #define FIO_MAX_CPUS 16384 #ifdef MADV_FREE #define FIO_MADV_FREE MADV_FREE #endif #endif fio-3.39/os/os-windows-7.h000066400000000000000000000003561476262051600153110ustar00rootroot00000000000000#define FIO_MAX_CPUS 512 /* From Hyper-V 2016's max logical processors */ #define FIO_CPU_MASK_STRIDE 64 #define FIO_CPU_MASK_ROWS (FIO_MAX_CPUS / FIO_CPU_MASK_STRIDE) typedef struct { uint64_t row[FIO_CPU_MASK_ROWS]; } os_cpu_mask_t; fio-3.39/os/os-windows.h000066400000000000000000000127031476262051600151440ustar00rootroot00000000000000#ifndef FIO_OS_WINDOWS_H #define FIO_OS_WINDOWS_H #define FIO_OS os_windows #include #include #include #include #include #include #include #include #include "../smalloc.h" #include "../debug.h" #include "../file.h" #include "../log.h" #include "../lib/hweight.h" #include "../oslib/strcasestr.h" #include "../lib/types.h" #include "windows/posix.h" #include "os-windows-7.h" #ifndef PTHREAD_STACK_MIN #define PTHREAD_STACK_MIN 65535 #endif #define FIO_HAVE_ODIRECT #define FIO_HAVE_CPU_AFFINITY #define FIO_HAVE_CHARDEV_SIZE #define FIO_HAVE_GETTID #define FIO_EMULATED_MKDIR_TWO #define FIO_PREFERRED_ENGINE "windowsaio" #define FIO_PREFERRED_CLOCK_SOURCE CS_CGETTIME #define FIO_OS_PATH_SEPARATOR '\\' #define OS_MAP_ANON MAP_ANON #define fio_swap16(x) _byteswap_ushort(x) #define fio_swap32(x) _byteswap_ulong(x) #define fio_swap64(x) _byteswap_uint64(x) #define _SC_PAGESIZE 0x1 #define _SC_NPROCESSORS_CONF 0x2 #define _SC_PHYS_PAGES 0x4 #define SA_RESTART 0 #define SIGPIPE 0 /* * Windows doesn't have O_DIRECT or O_SYNC, so define them * here so we can reject them at runtime when using the _open * interface (windowsaio uses CreateFile) */ #define O_DIRECT 0x1000000 #define O_SYNC 0x2000000 /* Windows doesn't support madvise, so any values will work */ #define POSIX_MADV_DONTNEED 0 #define POSIX_MADV_SEQUENTIAL 0 #define POSIX_MADV_RANDOM 0 #define F_SETFL 0x1 #define F_GETFL 0x2 #define O_NONBLOCK FIONBIO /* Winsock doesn't support MSG_WAIT */ #define OS_MSG_DONTWAIT 0 #ifndef S_ISSOCK #define S_ISSOCK(x) 0 #endif #define SIGCONT 0 #define SIGUSR1 1 #define SIGUSR2 2 #define SIGKILL 15 /* SIGKILL doesn't exists, let's use SIGTERM */ typedef int sigset_t; typedef int siginfo_t; struct sigaction { void (*sa_handler)(int); sigset_t sa_mask; int sa_flags; void* (*sa_sigaction)(int, siginfo_t *, void*); }; long sysconf(int name); int kill(pid_t pid, int sig); pid_t setsid(void); int setgid(gid_t gid); int setuid(uid_t uid); int nice(int incr); int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); int fsync(int fildes); int fork(void); int fcntl(int fildes, int cmd, ...); int fdatasync(int fildes); int lstat(const char * path, struct stat * buf); uid_t geteuid(void); char* ctime_r(const time_t *t, char *buf); int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset); ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset); HANDLE windows_handle_connection(HANDLE hjob, int sk); HANDLE windows_create_job(void); static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { int rc = 0; HANDLE hFile; GET_LENGTH_INFORMATION info; DWORD outBytes; if (f->hFile == NULL) { hFile = CreateFile(f->file_name, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); } else { hFile = f->hFile; } if (DeviceIoControl(hFile, IOCTL_DISK_GET_LENGTH_INFO, NULL, 0, &info, sizeof(info), &outBytes, NULL)) *bytes = info.Length.QuadPart; else rc = EIO; /* If we were passed a POSIX fd, * close the HANDLE we created via CreateFile */ if (hFile != INVALID_HANDLE_VALUE && f->hFile == NULL) CloseHandle(hFile); return rc; } static inline int chardev_size(struct fio_file *f, unsigned long long *bytes) { return blockdev_size(f, bytes); } static inline int blockdev_invalidate_cache(struct fio_file *f) { return ENOTSUP; } static inline unsigned long long os_phys_mem(void) { long pagesize, pages; pagesize = sysconf(_SC_PAGESIZE); pages = sysconf(_SC_PHYS_PAGES); if (pages == -1 || pagesize == -1) return 0; return (unsigned long long) pages * (unsigned long long) pagesize; } #ifndef CONFIG_HAVE_GETTID static inline int gettid(void) { return GetCurrentThreadId(); } #endif static inline int init_random_seeds(uint64_t *rand_seeds, int size) { HCRYPTPROV hCryptProv; if (!CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { errno = GetLastError(); log_err("CryptAcquireContext() failed: error %d\n", errno); return 1; } if (!CryptGenRandom(hCryptProv, size, (BYTE*)rand_seeds)) { errno = GetLastError(); log_err("CryptGenRandom() failed, error %d\n", errno); CryptReleaseContext(hCryptProv, 0); return 1; } CryptReleaseContext(hCryptProv, 0); return 0; } static inline int fio_set_sched_idle(void) { /* SetThreadPriority returns nonzero for success */ return (SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_IDLE))? 0 : -1; } static inline int fio_mkdir(const char *path, mode_t mode) { DWORD dwAttr = GetFileAttributesA(path); if (dwAttr != INVALID_FILE_ATTRIBUTES && (dwAttr & FILE_ATTRIBUTE_DIRECTORY)) { errno = EEXIST; return -1; } if (CreateDirectoryA(path, NULL) == 0) { /* Ignore errors if path is a device namespace */ if (strcmp(path, "\\\\.") == 0) { errno = EEXIST; return -1; } errno = win_to_posix_error(GetLastError()); return -1; } return 0; } int first_set_cpu(os_cpu_mask_t *cpumask); int fio_setaffinity(int pid, os_cpu_mask_t cpumask); int fio_cpuset_init(os_cpu_mask_t *mask); int fio_getaffinity(int pid, os_cpu_mask_t *mask); void fio_cpu_clear(os_cpu_mask_t *mask, int cpu); void fio_cpu_set(os_cpu_mask_t *mask, int cpu); int fio_cpu_isset(os_cpu_mask_t *mask, int cpu); int fio_cpu_count(os_cpu_mask_t *mask); int fio_cpuset_exit(os_cpu_mask_t *mask); #endif /* FIO_OS_WINDOWS_H */ fio-3.39/os/os.h000066400000000000000000000203411476262051600134510ustar00rootroot00000000000000#ifndef FIO_OS_H #define FIO_OS_H #include #include #include #include #include #include #include #include "../arch/arch.h" /* IWYU pragma: export */ #include "../lib/types.h" enum { os_linux = 1, os_aix, os_freebsd, os_hpux, os_mac, os_netbsd, os_openbsd, os_solaris, os_windows, os_android, os_dragonfly, os_qnx, os_nr, }; typedef enum { CPU_ARM64_CRC32C, } cpu_features; /* IWYU pragma: begin_exports */ #if defined(__linux__) #include "os-linux.h" #elif defined(__FreeBSD__) #include "os-freebsd.h" #elif defined(__OpenBSD__) #include "os-openbsd.h" #elif defined(__QNX__) #include "os-qnx.h" #elif defined(__NetBSD__) #include "os-netbsd.h" #elif defined(__sun__) #include "os-solaris.h" #elif defined(__APPLE__) #include "os-mac.h" #elif defined(_AIX) #include "os-aix.h" #elif defined(__hpux) #include "os-hpux.h" #elif defined(WIN32) #include "os-windows.h" #elif defined (__DragonFly__) #include "os-dragonfly.h" #else #error "unsupported os" #endif #ifndef EDQUOT #define EDQUOT EIO #endif #ifdef CONFIG_POSIXAIO #include #ifndef FIO_OS_HAVE_AIOCB_TYPEDEF typedef struct aiocb os_aiocb_t; #endif #endif #ifndef CONFIG_STRSEP #include "../oslib/strsep.h" #endif #ifndef CONFIG_STRLCAT #include "../oslib/strlcat.h" #endif /* IWYU pragma: end_exports */ #ifdef MSG_DONTWAIT #define OS_MSG_DONTWAIT MSG_DONTWAIT #endif #ifndef POSIX_FADV_DONTNEED #define POSIX_FADV_DONTNEED (0) #define POSIX_FADV_SEQUENTIAL (0) #define POSIX_FADV_RANDOM (0) #define POSIX_FADV_NORMAL (0) #endif #ifndef FIO_HAVE_CPU_AFFINITY #define fio_cpu_clear(mask, cpu) do { } while (0) typedef unsigned long os_cpu_mask_t; static inline int fio_setaffinity(int pid, os_cpu_mask_t cpumask) { return 0; } static inline int fio_getaffinity(int pid, os_cpu_mask_t *cpumask) { return -1; } static inline int fio_cpuset_exit(os_cpu_mask_t *mask) { return -1; } static inline int fio_cpus_split(os_cpu_mask_t *mask, unsigned int cpu_index) { return 0; } #else extern int fio_cpus_split(os_cpu_mask_t *mask, unsigned int cpu); #endif #ifndef FIO_HAVE_IOPRIO_CLASS #define ioprio_class(prio) 0 #define ioprio_value_is_class_rt(prio) (false) #define IOPRIO_MIN_PRIO_CLASS 0 #define IOPRIO_MAX_PRIO_CLASS 0 #define ioprio_hint(prio) 0 #define IOPRIO_MIN_PRIO_HINT 0 #define IOPRIO_MAX_PRIO_HINT 0 #endif #ifndef FIO_HAVE_IOPRIO #define ioprio_value(prioclass, prio, priohint) (0) #define ioprio(ioprio) 0 #define ioprio_set(which, who, prioclass, prio, priohint) (0) #define IOPRIO_MIN_PRIO 0 #define IOPRIO_MAX_PRIO 0 #endif #ifndef FIO_HAVE_ODIRECT #define OS_O_DIRECT 0 #else #define OS_O_DIRECT O_DIRECT #endif #ifndef FIO_HAVE_HUGETLB #define SHM_HUGETLB 0 #define MAP_HUGETLB 0 #ifndef FIO_HUGE_PAGE #define FIO_HUGE_PAGE 0 #endif #else #ifndef FIO_HUGE_PAGE #define FIO_HUGE_PAGE 4194304 #endif #endif #ifndef FIO_HAVE_MMAP_HUGE #define MAP_HUGETLB 0 #endif #ifndef FIO_O_NOATIME #define FIO_O_NOATIME 0 #endif #ifndef OS_RAND_MAX #define OS_RAND_MAX RAND_MAX #endif #ifndef FIO_PREFERRED_ENGINE #define FIO_PREFERRED_ENGINE "psync" #endif #ifndef FIO_OS_PATH_SEPARATOR #define FIO_OS_PATH_SEPARATOR '/' #endif #ifndef FIO_PREFERRED_CLOCK_SOURCE #ifdef CONFIG_CLOCK_GETTIME #define FIO_PREFERRED_CLOCK_SOURCE CS_CGETTIME #else #define FIO_PREFERRED_CLOCK_SOURCE CS_GTOD #endif #endif #ifndef CONFIG_SOCKLEN_T typedef unsigned int socklen_t; #endif #ifndef FIO_OS_HAS_CTIME_R #define os_ctime_r(x, y, z) (void) ctime_r((x), (y)) #endif #ifdef FIO_USE_GENERIC_SWAP static inline uint16_t fio_swap16(uint16_t val) { return (val << 8) | (val >> 8); } static inline uint32_t fio_swap32(uint32_t val) { val = ((val & 0xff00ff00UL) >> 8) | ((val & 0x00ff00ffUL) << 8); return (val >> 16) | (val << 16); } static inline uint64_t fio_swap64(uint64_t val) { val = ((val & 0xff00ff00ff00ff00ULL) >> 8) | ((val & 0x00ff00ff00ff00ffULL) << 8); val = ((val & 0xffff0000ffff0000ULL) >> 16) | ((val & 0x0000ffff0000ffffULL) << 16); return (val >> 32) | (val << 32); } #endif #ifndef FIO_HAVE_BYTEORDER_FUNCS #ifdef CONFIG_LITTLE_ENDIAN #define __be16_to_cpu(x) fio_swap16(x) #define __be32_to_cpu(x) fio_swap32(x) #define __be64_to_cpu(x) fio_swap64(x) #define __le16_to_cpu(x) (x) #define __le32_to_cpu(x) (x) #define __le64_to_cpu(x) (x) #define __cpu_to_be16(x) fio_swap16(x) #define __cpu_to_be32(x) fio_swap32(x) #define __cpu_to_be64(x) fio_swap64(x) #define __cpu_to_le16(x) (x) #define __cpu_to_le32(x) (x) #define __cpu_to_le64(x) (x) #else #define __be16_to_cpu(x) (x) #define __be32_to_cpu(x) (x) #define __be64_to_cpu(x) (x) #define __le16_to_cpu(x) fio_swap16(x) #define __le32_to_cpu(x) fio_swap32(x) #define __le64_to_cpu(x) fio_swap64(x) #define __cpu_to_be16(x) (x) #define __cpu_to_be32(x) (x) #define __cpu_to_be64(x) (x) #define __cpu_to_le16(x) fio_swap16(x) #define __cpu_to_le32(x) fio_swap32(x) #define __cpu_to_le64(x) fio_swap64(x) #endif #endif /* FIO_HAVE_BYTEORDER_FUNCS */ #ifdef FIO_INTERNAL #define be16_to_cpu(val) ({ \ typecheck(uint16_t, val); \ __be16_to_cpu(val); \ }) #define be32_to_cpu(val) ({ \ typecheck(uint32_t, val); \ __be32_to_cpu(val); \ }) #define be64_to_cpu(val) ({ \ typecheck(uint64_t, val); \ __be64_to_cpu(val); \ }) #define le16_to_cpu(val) ({ \ typecheck(uint16_t, val); \ __le16_to_cpu(val); \ }) #define le32_to_cpu(val) ({ \ typecheck(uint32_t, val); \ __le32_to_cpu(val); \ }) #define le64_to_cpu(val) ({ \ typecheck(uint64_t, val); \ __le64_to_cpu(val); \ }) #endif #define cpu_to_be16(val) ({ \ typecheck(uint16_t, val); \ __cpu_to_be16(val); \ }) #define cpu_to_be32(val) ({ \ typecheck(uint32_t, val); \ __cpu_to_be32(val); \ }) #define cpu_to_be64(val) ({ \ typecheck(uint64_t, val); \ __cpu_to_be64(val); \ }) #define cpu_to_le16(val) ({ \ typecheck(uint16_t, val); \ __cpu_to_le16(val); \ }) #define cpu_to_le32(val) ({ \ typecheck(uint32_t, val); \ __cpu_to_le32(val); \ }) #define cpu_to_le64(val) ({ \ typecheck(uint64_t, val); \ __cpu_to_le64(val); \ }) #define FIO_DEF_CL_SIZE 128 static inline int os_cache_line_size(void) { #ifdef FIO_HAVE_CL_SIZE int ret = arch_cache_line_size(); if (ret <= 0) return FIO_DEF_CL_SIZE; return ret; #else return FIO_DEF_CL_SIZE; #endif } #ifdef FIO_USE_GENERIC_BDEV_SIZE static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { off_t end; *bytes = 0; end = lseek(f->fd, 0, SEEK_END); if (end < 0) return errno; *bytes = end; return 0; } #endif #ifdef FIO_USE_GENERIC_INIT_RANDOM_STATE static inline int init_random_seeds(uint64_t *rand_seeds, int size) { int fd; fd = open("/dev/urandom", O_RDONLY); if (fd == -1) { return 1; } if (read(fd, rand_seeds, size) < size) { close(fd); return 1; } close(fd); return 0; } #endif #ifndef FIO_HAVE_FS_STAT static inline unsigned long long get_fs_free_size(const char *path) { return 0; } #endif #ifndef FIO_HAVE_CPU_CONF_SYSCONF static inline unsigned int cpus_configured(void) { int nr_cpus = sysconf(_SC_NPROCESSORS_CONF); return nr_cpus >= 1 ? nr_cpus : 1; } #endif #ifndef CPU_COUNT #ifdef FIO_HAVE_CPU_AFFINITY static inline int CPU_COUNT(os_cpu_mask_t *mask) { int max_cpus = cpus_configured(); int nr_cpus, i; for (i = 0, nr_cpus = 0; i < max_cpus; i++) if (fio_cpu_isset(mask, i)) nr_cpus++; return nr_cpus; } #endif #endif #ifndef FIO_HAVE_GETTID #ifndef CONFIG_HAVE_GETTID static inline int gettid(void) { return getpid(); } #endif #endif #ifndef FIO_HAVE_SHM_ATTACH_REMOVED static inline int shm_attach_to_open_removed(void) { return 0; } #endif #ifndef FIO_HAVE_NATIVE_FALLOCATE static inline bool fio_fallocate(struct fio_file *f, uint64_t offset, uint64_t len) { errno = ENOSYS; return false; } #endif #if defined(CONFIG_POSIX_FALLOCATE) || defined(FIO_HAVE_NATIVE_FALLOCATE) # define FIO_HAVE_DEFAULT_FALLOCATE #endif #ifndef FIO_HAVE_CPU_HAS static inline bool os_cpu_has(cpu_features feature) { return false; } #endif #ifndef FIO_EMULATED_MKDIR_TWO # define fio_mkdir(path, mode) mkdir(path, mode) #endif #ifdef _SC_CLK_TCK static inline void os_clk_tck(long *clk_tck) { *clk_tck = sysconf(_SC_CLK_TCK); } #else extern void os_clk_tck(long *clk_tck); #endif #endif /* FIO_OS_H */ fio-3.39/os/windows/000077500000000000000000000000001476262051600143515ustar00rootroot00000000000000fio-3.39/os/windows/WixUI_Minimal_NoEULA.wxs000077500000000000000000000143361476262051600207040ustar00rootroot00000000000000 1 NOT Installed OR NOT PATCH Installed AND PATCH Installed AND PATCH NOT Installed OR NOT PATCH 1 1 1 1 1 1 1 Installed AND PATCH 0 NOT Installed fio-3.39/os/windows/WixUI_fio.wxl000077500000000000000000000014121476262051600167500ustar00rootroot00000000000000 The Setup Wizard will install [ProductName] on your computer. Click Install to continue or Cancel to exit the Setup Wizard. fio-3.39/os/windows/cpu-affinity.c000066400000000000000000000231221476262051600171130ustar00rootroot00000000000000#include "os/os.h" #include static void print_mask(os_cpu_mask_t *cpumask) { for (int i = 0; i < FIO_CPU_MASK_ROWS; i++) dprint(FD_PROCESS, "cpumask[%d]=%" PRIu64 "\n", i, cpumask->row[i]); } /* Return the index of the least significant set CPU in cpumask or -1 if no * CPUs are set */ int first_set_cpu(os_cpu_mask_t *cpumask) { int cpus_offset, mask_first_cpu, row; cpus_offset = 0; row = 0; mask_first_cpu = -1; while (mask_first_cpu < 0 && row < FIO_CPU_MASK_ROWS) { int row_first_cpu; row_first_cpu = __builtin_ffsll(cpumask->row[row]) - 1; dprint(FD_PROCESS, "row_first_cpu=%d cpumask->row[%d]=%" PRIu64 "\n", row_first_cpu, row, cpumask->row[row]); if (row_first_cpu > -1) { mask_first_cpu = cpus_offset + row_first_cpu; dprint(FD_PROCESS, "first set cpu in mask is at index %d\n", mask_first_cpu); } else { cpus_offset += FIO_CPU_MASK_STRIDE; row++; } } return mask_first_cpu; } /* Return the index of the most significant set CPU in cpumask or -1 if no * CPUs are set */ static int last_set_cpu(os_cpu_mask_t *cpumask) { int cpus_offset, mask_last_cpu, row; cpus_offset = (FIO_CPU_MASK_ROWS - 1) * FIO_CPU_MASK_STRIDE; row = FIO_CPU_MASK_ROWS - 1; mask_last_cpu = -1; while (mask_last_cpu < 0 && row >= 0) { int row_last_cpu; if (cpumask->row[row] == 0) row_last_cpu = -1; else { uint64_t tmp = cpumask->row[row]; row_last_cpu = 0; while (tmp >>= 1) row_last_cpu++; } dprint(FD_PROCESS, "row_last_cpu=%d cpumask->row[%d]=%" PRIu64 "\n", row_last_cpu, row, cpumask->row[row]); if (row_last_cpu > -1) { mask_last_cpu = cpus_offset + row_last_cpu; dprint(FD_PROCESS, "last set cpu in mask is at index %d\n", mask_last_cpu); } else { cpus_offset -= FIO_CPU_MASK_STRIDE; row--; } } return mask_last_cpu; } static int mask_to_group_mask(os_cpu_mask_t *cpumask, int *processor_group, uint64_t *affinity_mask) { WORD online_groups, group, group_size; bool found; int cpus_offset, search_cpu, last_cpu, bit_offset, row, end; uint64_t group_cpumask; search_cpu = first_set_cpu(cpumask); if (search_cpu < 0) { log_info("CPU mask doesn't set any CPUs\n"); return 1; } /* Find processor group first set CPU applies to */ online_groups = GetActiveProcessorGroupCount(); group = 0; found = false; cpus_offset = 0; group_size = 0; while (!found && group < online_groups) { group_size = GetActiveProcessorCount(group); dprint(FD_PROCESS, "group=%d group_start=%d group_size=%u search_cpu=%d\n", group, cpus_offset, group_size, search_cpu); if (cpus_offset + group_size > search_cpu) found = true; else { cpus_offset += group_size; group++; } } if (!found) { log_err("CPU mask contains processor beyond last active processor index (%d)\n", cpus_offset - 1); print_mask(cpumask); return 1; } /* Check all the CPUs in the mask apply to ONLY that processor group */ last_cpu = last_set_cpu(cpumask); if (last_cpu > (cpus_offset + group_size - 1)) { log_info("CPU mask cannot bind CPUs (e.g. %d, %d) that are " "in different processor groups\n", search_cpu, last_cpu); print_mask(cpumask); return 1; } /* Extract the current processor group mask from the cpumask */ row = cpus_offset / FIO_CPU_MASK_STRIDE; bit_offset = cpus_offset % FIO_CPU_MASK_STRIDE; group_cpumask = cpumask->row[row] >> bit_offset; end = bit_offset + group_size; if (end > FIO_CPU_MASK_STRIDE && (row + 1 < FIO_CPU_MASK_ROWS)) { /* Some of the next row needs to be part of the mask */ int needed, needed_shift, needed_mask_shift; uint64_t needed_mask; needed = end - FIO_CPU_MASK_STRIDE; needed_shift = FIO_CPU_MASK_STRIDE - bit_offset; needed_mask_shift = FIO_CPU_MASK_STRIDE - needed; needed_mask = (uint64_t)-1 >> needed_mask_shift; dprint(FD_PROCESS, "bit_offset=%d end=%d needed=%d needed_shift=%d needed_mask=%" PRIu64 "needed_mask_shift=%d\n", bit_offset, end, needed, needed_shift, needed_mask, needed_mask_shift); group_cpumask |= (cpumask->row[row + 1] & needed_mask) << needed_shift; } group_cpumask &= (uint64_t)-1 >> (FIO_CPU_MASK_STRIDE - group_size); /* Return group and mask */ dprint(FD_PROCESS, "Returning group=%d group_mask=%" PRIu64 "\n", group, group_cpumask); *processor_group = group; *affinity_mask = group_cpumask; return 0; } int fio_setaffinity(int pid, os_cpu_mask_t cpumask) { HANDLE handle = NULL; int group, ret; uint64_t group_mask = 0; GROUP_AFFINITY new_group_affinity; ret = -1; if (mask_to_group_mask(&cpumask, &group, &group_mask) != 0) goto err; handle = OpenThread(THREAD_QUERY_INFORMATION | THREAD_SET_INFORMATION, TRUE, pid); if (handle == NULL) { log_err("fio_setaffinity: failed to get handle for pid %d\n", pid); goto err; } /* Set group and mask. * Note: if the GROUP_AFFINITY struct's Reserved members are not * initialised to 0 then SetThreadGroupAffinity will fail with * GetLastError() set to ERROR_INVALID_PARAMETER */ new_group_affinity.Mask = (KAFFINITY) group_mask; new_group_affinity.Group = group; new_group_affinity.Reserved[0] = 0; new_group_affinity.Reserved[1] = 0; new_group_affinity.Reserved[2] = 0; if (SetThreadGroupAffinity(handle, &new_group_affinity, NULL) != 0) ret = 0; else { log_err("fio_setaffinity: failed to set thread affinity (pid %d, group %d, mask %" PRIx64 ", GetLastError=%lu)\n", pid, group, group_mask, GetLastError()); goto err; } err: if (handle) CloseHandle(handle); return ret; } static void cpu_to_row_offset(int cpu, int *row, int *offset) { *row = cpu / FIO_CPU_MASK_STRIDE; *offset = cpu << FIO_CPU_MASK_STRIDE * *row; } int fio_cpuset_init(os_cpu_mask_t *mask) { for (int i = 0; i < FIO_CPU_MASK_ROWS; i++) mask->row[i] = 0; return 0; } /* * fio_getaffinity() should not be called once a fio_setaffinity() call has * been made because fio_setaffinity() may put the process into multiple * processor groups */ int fio_getaffinity(int pid, os_cpu_mask_t *mask) { int ret; int row, offset, end, group, group_size, group_start_cpu; DWORD_PTR process_mask, system_mask; HANDLE handle; PUSHORT current_groups; USHORT group_count; WORD online_groups; ret = -1; current_groups = NULL; handle = OpenProcess(PROCESS_QUERY_INFORMATION, TRUE, pid); if (handle == NULL) { log_err("fio_getaffinity: failed to get handle for pid %d\n", pid); goto err; } group_count = 16; /* * GetProcessGroupAffinity() seems to expect more than the natural * alignment for a USHORT from the area pointed to by current_groups so * arrange for maximum alignment by allocating via malloc() */ current_groups = malloc(group_count * sizeof(USHORT)); if (!current_groups) { log_err("fio_getaffinity: malloc failed\n"); goto err; } if (!GetProcessGroupAffinity(handle, &group_count, current_groups)) { log_err("%s: failed to get single group affinity for pid %d (%lu)\n", __func__, pid, GetLastError()); goto err; } if (group_count > 1) { log_err("%s: pid %d is associated with %d process groups\n", __func__, pid, group_count); goto err; } if (!GetProcessAffinityMask(handle, &process_mask, &system_mask)) { log_err("%s: GetProcessAffinityMask() failed for pid %d\n", __func__, pid); goto err; } /* Convert group and group relative mask to full CPU mask */ online_groups = GetActiveProcessorGroupCount(); if (online_groups == 0) { log_err("fio_getaffinity: error retrieving total processor groups\n"); goto err; } group = 0; group_start_cpu = 0; group_size = 0; dprint(FD_PROCESS, "current_groups=%d group_count=%d\n", current_groups[0], group_count); while (true) { group_size = GetActiveProcessorCount(group); if (group_size == 0) { log_err("fio_getaffinity: error retrieving size of " "processor group %d\n", group); goto err; } else if (group >= current_groups[0] || group >= online_groups) break; else { group_start_cpu += group_size; group++; } } if (group != current_groups[0]) { log_err("fio_getaffinity: could not find processor group %d\n", current_groups[0]); goto err; } dprint(FD_PROCESS, "group_start_cpu=%d, group size=%u\n", group_start_cpu, group_size); if ((group_start_cpu + group_size) >= FIO_MAX_CPUS) { log_err("fio_getaffinity failed: current CPU affinity (group " "%d, group_start_cpu %d, group_size %d) extends " "beyond mask's highest CPU (%d)\n", group, group_start_cpu, group_size, FIO_MAX_CPUS); goto err; } fio_cpuset_init(mask); cpu_to_row_offset(group_start_cpu, &row, &offset); mask->row[row] = process_mask; mask->row[row] <<= offset; end = offset + group_size; if (end > FIO_CPU_MASK_STRIDE) { int needed; uint64_t needed_mask; needed = FIO_CPU_MASK_STRIDE - end; needed_mask = (uint64_t)-1 >> (FIO_CPU_MASK_STRIDE - needed); row++; mask->row[row] = process_mask; mask->row[row] >>= needed; mask->row[row] &= needed_mask; } ret = 0; err: if (handle) CloseHandle(handle); if (current_groups) free(current_groups); return ret; } void fio_cpu_clear(os_cpu_mask_t *mask, int cpu) { int row, offset; cpu_to_row_offset(cpu, &row, &offset); mask->row[row] &= ~(1ULL << offset); } void fio_cpu_set(os_cpu_mask_t *mask, int cpu) { int row, offset; cpu_to_row_offset(cpu, &row, &offset); mask->row[row] |= 1ULL << offset; } int fio_cpu_isset(os_cpu_mask_t *mask, int cpu) { int row, offset; cpu_to_row_offset(cpu, &row, &offset); return (mask->row[row] & (1ULL << offset)) != 0; } int fio_cpu_count(os_cpu_mask_t *mask) { int count = 0; for (int i = 0; i < FIO_CPU_MASK_ROWS; i++) count += hweight64(mask->row[i]); return count; } int fio_cpuset_exit(os_cpu_mask_t *mask) { return 0; } fio-3.39/os/windows/dlls.c000066400000000000000000000023721476262051600154570ustar00rootroot00000000000000#include "os/os.h" #include void os_clk_tck(long *clk_tck) { /* * The timer resolution is variable on Windows. Try to query it * or use 64 Hz, the clock frequency lower bound. See also * https://carpediemsystems.co.uk/2019/07/18/windows-system-timer-granularity/. */ unsigned long minRes, maxRes, curRes; HMODULE lib; NTSTATUS NTAPI (*queryTimer) (OUT PULONG MinimumResolution, OUT PULONG MaximumResolution, OUT PULONG CurrentResolution); NTSTATUS NTAPI (*setTimer) (IN ULONG DesiredResolution, IN BOOLEAN SetResolution, OUT PULONG CurrentResolution); if (!(lib = LoadLibrary(TEXT("ntdll.dll"))) || !(queryTimer = (void *)GetProcAddress(lib, "NtQueryTimerResolution")) || !(setTimer = (void *)GetProcAddress(lib, "NtSetTimerResolution"))) { dprint(FD_HELPERTHREAD, "Failed to load ntdll library, set to lower bound 64 Hz\n"); *clk_tck = 64; } else { queryTimer(&minRes, &maxRes, &curRes); dprint(FD_HELPERTHREAD, "minRes = %lu, maxRes = %lu, curRes = %lu\n", minRes, maxRes, curRes); /* Use maximum resolution for most accurate timestamps */ setTimer(maxRes, 1, &curRes); *clk_tck = (long) (10000000L / maxRes); } } fio-3.39/os/windows/dobuild.cmd000066400000000000000000000034451476262051600164660ustar00rootroot00000000000000@echo off setlocal enabledelayedexpansion set /a counter=1 for /f "tokens=3" %%i in (..\..\FIO-VERSION-FILE) do ( if "!counter!"=="1" set FIO_VERSION=%%i set /a counter+=1 ) for /f "tokens=2 delims=-" %%i in ("%FIO_VERSION%") do ( set FIO_VERSION_NUMBERS=%%i ) if not defined FIO_VERSION_NUMBERS ( echo Could not find version numbers in the string '%FIO_VERSION%' echo Expected version to follow format 'fio-^([0-9]+.[0-9.]+^)' goto end ) if "%1"=="x86" set FIO_ARCH=x86 if "%1"=="x64" set FIO_ARCH=x64 if not defined FIO_ARCH ( echo Error: must specify the architecture. echo Usage: dobuild x86 echo Usage: dobuild x64 goto end ) if defined SIGN_FIO ( signtool sign /n "%SIGNING_CN%" /t http://timestamp.digicert.com ..\..\fio.exe signtool sign /as /n "%SIGNING_CN%" /tr http://timestamp.digicert.com /td sha256 /fd sha256 ..\..\fio.exe signtool sign /n "%SIGNING_CN%" /t http://timestamp.digicert.com ..\..\t\*.exe signtool sign /as /n "%SIGNING_CN%" /tr http://timestamp.digicert.com /td sha256 /fd sha256 ..\..\t\*.exe ) if exist ..\..\fio.pdb ( set FIO_PDB=true ) else ( set FIO_PDB=false ) "%WIX%bin\candle" -nologo -arch %FIO_ARCH% -dFioVersionNumbers="%FIO_VERSION_NUMBERS%" -dFioPDB="%FIO_PDB%" install.wxs @if ERRORLEVEL 1 goto end "%WIX%bin\candle" -nologo -arch %FIO_ARCH% examples.wxs @if ERRORLEVEL 1 goto end "%WIX%bin\candle" -nologo -arch %FIO_ARCH% WixUI_Minimal_NoEULA.wxs @if ERRORLEVEL 1 goto end "%WIX%bin\light" -nologo -sice:ICE61 install.wixobj examples.wixobj WixUI_Minimal_NoEULA.wixobj -loc WixUI_fio.wxl -ext WixUIExtension -out %FIO_VERSION%-%FIO_ARCH%.msi :end if defined SIGN_FIO ( signtool sign /n "%SIGNING_CN%" /tr http://timestamp.digicert.com /td sha256 /fd sha256 %FIO_VERSION%-%FIO_ARCH%.msi ) fio-3.39/os/windows/examples.wxs000077500000000000000000000226421476262051600167430ustar00rootroot00000000000000 fio-3.39/os/windows/install.wxs000077500000000000000000000076101476262051600165710ustar00rootroot00000000000000 fio@vger.kernel.org http://www.spinics.net/lists/fio/ https://bluestop.org/fio/ fio-3.39/os/windows/posix.c000066400000000000000000000671741476262051600156760ustar00rootroot00000000000000/* This file contains functions which implement those POSIX and Linux functions * that MinGW and Microsoft don't provide. The implementations contain just enough * functionality to support fio. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "../os-windows.h" #include "../../lib/hweight.h" extern unsigned long mtime_since_now(struct timespec *); extern void fio_gettime(struct timespec *, void *); int win_to_posix_error(DWORD winerr) { switch (winerr) { case ERROR_SUCCESS: return 0; case ERROR_FILE_NOT_FOUND: return ENOENT; case ERROR_PATH_NOT_FOUND: return ENOENT; case ERROR_ACCESS_DENIED: return EACCES; case ERROR_INVALID_HANDLE: return EBADF; case ERROR_NOT_ENOUGH_MEMORY: return ENOMEM; case ERROR_INVALID_DATA: return EINVAL; case ERROR_OUTOFMEMORY: return ENOMEM; case ERROR_INVALID_DRIVE: return ENODEV; case ERROR_NOT_SAME_DEVICE: return EXDEV; case ERROR_WRITE_PROTECT: return EROFS; case ERROR_BAD_UNIT: return ENODEV; case ERROR_NOT_READY: return EAGAIN; case ERROR_SHARING_VIOLATION: return EACCES; case ERROR_LOCK_VIOLATION: return EACCES; case ERROR_SHARING_BUFFER_EXCEEDED: return ENOLCK; case ERROR_HANDLE_DISK_FULL: return ENOSPC; case ERROR_NOT_SUPPORTED: return ENOSYS; case ERROR_FILE_EXISTS: return EEXIST; case ERROR_CANNOT_MAKE: return EPERM; case ERROR_INVALID_PARAMETER: return EINVAL; case ERROR_NO_PROC_SLOTS: return EAGAIN; case ERROR_BROKEN_PIPE: return EPIPE; case ERROR_OPEN_FAILED: return EIO; case ERROR_NO_MORE_SEARCH_HANDLES: return ENFILE; case ERROR_CALL_NOT_IMPLEMENTED: return ENOSYS; case ERROR_INVALID_NAME: return ENOENT; case ERROR_WAIT_NO_CHILDREN: return ECHILD; case ERROR_CHILD_NOT_COMPLETE: return EBUSY; case ERROR_DIR_NOT_EMPTY: return ENOTEMPTY; case ERROR_SIGNAL_REFUSED: return EIO; case ERROR_BAD_PATHNAME: return ENOENT; case ERROR_SIGNAL_PENDING: return EBUSY; case ERROR_MAX_THRDS_REACHED: return EAGAIN; case ERROR_BUSY: return EBUSY; case ERROR_ALREADY_EXISTS: return EEXIST; case ERROR_NO_SIGNAL_SENT: return EIO; case ERROR_FILENAME_EXCED_RANGE: return EINVAL; case ERROR_META_EXPANSION_TOO_LONG: return EINVAL; case ERROR_INVALID_SIGNAL_NUMBER: return EINVAL; case ERROR_THREAD_1_INACTIVE: return EINVAL; case ERROR_BAD_PIPE: return EINVAL; case ERROR_PIPE_BUSY: return EBUSY; case ERROR_NO_DATA: return EPIPE; case ERROR_MORE_DATA: return EAGAIN; case ERROR_DIRECTORY: return ENOTDIR; case ERROR_PIPE_CONNECTED: return EBUSY; case ERROR_NO_TOKEN: return EINVAL; case ERROR_PROCESS_ABORTED: return EFAULT; case ERROR_BAD_DEVICE: return ENODEV; case ERROR_BAD_USERNAME: return EINVAL; case ERROR_OPEN_FILES: return EAGAIN; case ERROR_ACTIVE_CONNECTIONS: return EAGAIN; case ERROR_DEVICE_IN_USE: return EBUSY; case ERROR_INVALID_AT_INTERRUPT_TIME: return EINTR; case ERROR_IO_DEVICE: return EIO; case ERROR_NOT_OWNER: return EPERM; case ERROR_END_OF_MEDIA: return ENOSPC; case ERROR_EOM_OVERFLOW: return ENOSPC; case ERROR_BEGINNING_OF_MEDIA: return ESPIPE; case ERROR_SETMARK_DETECTED: return ESPIPE; case ERROR_NO_DATA_DETECTED: return ENOSPC; case ERROR_POSSIBLE_DEADLOCK: return EDEADLOCK; case ERROR_CRC: return EIO; case ERROR_NEGATIVE_SEEK: return EINVAL; case ERROR_DISK_FULL: return ENOSPC; case ERROR_NOACCESS: return EFAULT; case ERROR_FILE_INVALID: return ENXIO; default: log_err("fio: windows error %lu not handled\n", winerr); return EIO; } return winerr; } int GetNumLogicalProcessors(void) { SYSTEM_LOGICAL_PROCESSOR_INFORMATION *processor_info = NULL; DWORD len = 0; DWORD num_processors = 0; DWORD error = 0; DWORD i; while (!GetLogicalProcessorInformation(processor_info, &len)) { error = GetLastError(); if (error == ERROR_INSUFFICIENT_BUFFER) processor_info = malloc(len); else { log_err("Error: GetLogicalProcessorInformation failed: %lu\n", error); return -1; } if (processor_info == NULL) { log_err("Error: failed to allocate memory for GetLogicalProcessorInformation"); return -1; } } for (i = 0; i < len / sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION); i++) { if (processor_info[i].Relationship == RelationProcessorCore) num_processors += hweight64(processor_info[i].ProcessorMask); } free(processor_info); return num_processors; } long sysconf(int name) { long val = -1; long val2 = -1; SYSTEM_INFO sysInfo; MEMORYSTATUSEX status; switch (name) { case _SC_NPROCESSORS_CONF: /* * Using GetMaximumProcessorCount introduces a problem in * gettime.c because Windows does not have * fio_get_thread_affinity. Log sample (see #1479): * * CPU mask contains processor beyond last active processor index (2) * clock setaffinity failed: No error */ val = GetActiveProcessorCount(ALL_PROCESSOR_GROUPS); if (val == -1) log_err("sysconf(_SC_NPROCESSORS_CONF) failed\n"); break; case _SC_PAGESIZE: GetSystemInfo(&sysInfo); val = sysInfo.dwPageSize; break; case _SC_PHYS_PAGES: status.dwLength = sizeof(status); val2 = sysconf(_SC_PAGESIZE); if (GlobalMemoryStatusEx(&status) && val2 != -1) val = status.ullTotalPhys / val2; else log_err("sysconf(_SC_PHYS_PAGES) failed\n"); break; default: log_err("sysconf(%d) is not implemented\n", name); break; } return val; } char *dl_error = NULL; int dlclose(void *handle) { return !FreeLibrary((HMODULE)handle); } void *dlopen(const char *file, int mode) { HMODULE hMod; hMod = LoadLibrary(file); if (hMod == INVALID_HANDLE_VALUE) dl_error = (char*)"LoadLibrary failed"; else dl_error = NULL; return hMod; } void *dlsym(void *handle, const char *name) { FARPROC fnPtr; fnPtr = GetProcAddress((HMODULE)handle, name); if (fnPtr == NULL) dl_error = (char*)"GetProcAddress failed"; else dl_error = NULL; return fnPtr; } char *dlerror(void) { return dl_error; } /* Copied from http://blogs.msdn.com/b/joshpoley/archive/2007/12/19/date-time-formats-and-conversions.aspx */ void Time_tToSystemTime(time_t dosTime, SYSTEMTIME *systemTime) { FILETIME utcFT; LONGLONG jan1970; SYSTEMTIME tempSystemTime; jan1970 = Int32x32To64(dosTime, 10000000) + 116444736000000000; utcFT.dwLowDateTime = (DWORD)jan1970; utcFT.dwHighDateTime = jan1970 >> 32; FileTimeToSystemTime((FILETIME*)&utcFT, &tempSystemTime); SystemTimeToTzSpecificLocalTime(NULL, &tempSystemTime, systemTime); } char *ctime_r(const time_t *t, char *buf) { SYSTEMTIME systime; const char * const dayOfWeek[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; const char * const monthOfYear[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; Time_tToSystemTime(*t, &systime); /* * We don't know how long `buf` is, but assume it's rounded up from * the minimum of 25 to 32 */ snprintf(buf, 32, "%s %s %d %02d:%02d:%02d %04d\n", dayOfWeek[systime.wDayOfWeek % 7], monthOfYear[(systime.wMonth - 1) % 12], systime.wDay, systime.wHour, systime.wMinute, systime.wSecond, systime.wYear); return buf; } int gettimeofday(struct timeval *restrict tp, void *restrict tzp) { FILETIME fileTime; uint64_t unix_time, windows_time; const uint64_t MILLISECONDS_BETWEEN_1601_AND_1970 = 11644473600000; /* Ignore the timezone parameter */ (void)tzp; /* * Windows time is stored as the number 100 ns intervals since January 1 1601. * Conversion details from http://www.informit.com/articles/article.aspx?p=102236&seqNum=3 * Its precision is 100 ns but accuracy is only one clock tick, or normally around 15 ms. */ GetSystemTimeAsFileTime(&fileTime); windows_time = ((uint64_t)fileTime.dwHighDateTime << 32) + fileTime.dwLowDateTime; /* Divide by 10,000 to convert to ms and subtract the time between 1601 and 1970 */ unix_time = (((windows_time)/10000) - MILLISECONDS_BETWEEN_1601_AND_1970); /* unix_time is now the number of milliseconds since 1970 (the Unix epoch) */ tp->tv_sec = unix_time / 1000; tp->tv_usec = (unix_time % 1000) * 1000; return 0; } int sigaction(int sig, const struct sigaction *act, struct sigaction *oact) { int rc = 0; void (*prev_handler)(int); prev_handler = signal(sig, act->sa_handler); if (oact != NULL) oact->sa_handler = prev_handler; if (prev_handler == SIG_ERR) rc = -1; return rc; } int lstat(const char *path, struct stat *buf) { return stat(path, buf); } void *mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off) { DWORD vaProt = 0; DWORD mapAccess = 0; DWORD lenlow; DWORD lenhigh; HANDLE hMap; void* allocAddr = NULL; if (prot & PROT_NONE) vaProt |= PAGE_NOACCESS; if ((prot & PROT_READ) && !(prot & PROT_WRITE)) { vaProt |= PAGE_READONLY; mapAccess = FILE_MAP_READ; } if (prot & PROT_WRITE) { vaProt |= PAGE_READWRITE; mapAccess |= FILE_MAP_WRITE; } lenlow = len & 0xFFFF; lenhigh = len >> 16; /* If the low DWORD is zero and the high DWORD is non-zero, `CreateFileMapping` will return ERROR_INVALID_PARAMETER. To avoid this, set both to zero. */ if (lenlow == 0) lenhigh = 0; if (flags & MAP_ANON || flags & MAP_ANONYMOUS) { allocAddr = VirtualAlloc(addr, len, MEM_COMMIT, vaProt); if (allocAddr == NULL) errno = win_to_posix_error(GetLastError()); } else { hMap = CreateFileMapping((HANDLE)_get_osfhandle(fildes), NULL, vaProt, lenhigh, lenlow, NULL); if (hMap != NULL) allocAddr = MapViewOfFile(hMap, mapAccess, off >> 16, off & 0xFFFF, len); if (hMap == NULL || allocAddr == NULL) errno = win_to_posix_error(GetLastError()); } return allocAddr; } int munmap(void *addr, size_t len) { BOOL success; /* We may have allocated the memory with either MapViewOfFile or VirtualAlloc. Therefore, try calling UnmapViewOfFile first, and if that fails, call VirtualFree. */ success = UnmapViewOfFile(addr); if (!success) success = VirtualFree(addr, 0, MEM_RELEASE); return !success; } int msync(void *addr, size_t len, int flags) { return !FlushViewOfFile(addr, len); } int fork(void) { log_err("%s is not implemented\n", __func__); errno = ENOSYS; return -1; } pid_t setsid(void) { log_err("%s is not implemented\n", __func__); errno = ENOSYS; return -1; } static HANDLE log_file = INVALID_HANDLE_VALUE; void openlog(const char *ident, int logopt, int facility) { if (log_file != INVALID_HANDLE_VALUE) return; log_file = CreateFileA("syslog.txt", GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, 0, NULL); } void closelog(void) { CloseHandle(log_file); log_file = INVALID_HANDLE_VALUE; } void syslog(int priority, const char *message, ... /* argument */) { va_list v; int len; char *output; DWORD bytes_written; if (log_file == INVALID_HANDLE_VALUE) { log_file = CreateFileA("syslog.txt", GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, 0, NULL); } if (log_file == INVALID_HANDLE_VALUE) { log_err("syslog: failed to open log file\n"); return; } va_start(v, message); len = _vscprintf(message, v); output = malloc(len + sizeof(char)); vsprintf(output, message, v); WriteFile(log_file, output, len, &bytes_written, NULL); va_end(v); free(output); } int kill(pid_t pid, int sig) { errno = ESRCH; return -1; } /* * This is assumed to be used only by the network code, * and so doesn't try and handle any of the other cases */ int fcntl(int fildes, int cmd, ...) { /* * non-blocking mode doesn't work the same as in BSD sockets, * so ignore it. */ #if 0 va_list ap; int val, opt, status; if (cmd == F_GETFL) return 0; else if (cmd != F_SETFL) { errno = EINVAL; return -1; } va_start(ap, 1); opt = va_arg(ap, int); if (opt & O_NONBLOCK) val = 1; else val = 0; status = ioctlsocket((SOCKET)fildes, opt, &val); if (status == SOCKET_ERROR) { errno = EINVAL; val = -1; } va_end(ap); return val; #endif return 0; } #ifndef CLOCK_MONOTONIC_RAW #define CLOCK_MONOTONIC_RAW 4 #endif /* * Get the value of a local clock source. * This implementation supports 3 clocks: CLOCK_MONOTONIC/CLOCK_MONOTONIC_RAW * provide high-accuracy relative time, while CLOCK_REALTIME provides a * low-accuracy wall time. */ int clock_gettime(clockid_t clock_id, struct timespec *tp) { int rc = 0; if (clock_id == CLOCK_MONOTONIC || clock_id == CLOCK_MONOTONIC_RAW) { static LARGE_INTEGER freq = {{0,0}}; LARGE_INTEGER counts; uint64_t t; QueryPerformanceCounter(&counts); if (freq.QuadPart == 0) QueryPerformanceFrequency(&freq); tp->tv_sec = counts.QuadPart / freq.QuadPart; /* Get the difference between the number of ns stored * in 'tv_sec' and that stored in 'counts' */ t = tp->tv_sec * freq.QuadPart; t = counts.QuadPart - t; /* 't' now contains the number of cycles since the last second. * We want the number of nanoseconds, so multiply out by 1,000,000,000 * and then divide by the frequency. */ t *= 1000000000; tp->tv_nsec = t / freq.QuadPart; } else if (clock_id == CLOCK_REALTIME) { /* clock_gettime(CLOCK_REALTIME,...) is just an alias for gettimeofday with a * higher-precision field. */ struct timeval tv; gettimeofday(&tv, NULL); tp->tv_sec = tv.tv_sec; tp->tv_nsec = tv.tv_usec * 1000; } else { errno = EINVAL; rc = -1; } return rc; } int mlock(const void * addr, size_t len) { SIZE_T min, max; BOOL success; HANDLE process = GetCurrentProcess(); success = GetProcessWorkingSetSize(process, &min, &max); if (!success) { errno = win_to_posix_error(GetLastError()); return -1; } min += len; max += len; success = SetProcessWorkingSetSize(process, min, max); if (!success) { errno = win_to_posix_error(GetLastError()); return -1; } success = VirtualLock((LPVOID)addr, len); if (!success) { errno = win_to_posix_error(GetLastError()); return -1; } return 0; } int munlock(const void * addr, size_t len) { BOOL success = VirtualUnlock((LPVOID)addr, len); if (!success) { errno = win_to_posix_error(GetLastError()); return -1; } return 0; } pid_t waitpid(pid_t pid, int *stat_loc, int options) { log_err("%s is not implemented\n", __func__); errno = ENOSYS; return -1; } int usleep(useconds_t useconds) { Sleep(useconds / 1000); return 0; } char *basename(char *path) { static char name[MAX_PATH]; int i; if (path == NULL || strlen(path) == 0) return (char*)"."; i = strlen(path) - 1; while (path[i] != '\\' && path[i] != '/' && i >= 0) i--; name[MAX_PATH - 1] = '\0'; strncpy(name, path + i + 1, MAX_PATH - 1); return name; } int fsync(int fildes) { HANDLE hFile = (HANDLE)_get_osfhandle(fildes); if (!FlushFileBuffers(hFile)) { errno = win_to_posix_error(GetLastError()); return -1; } return 0; } int nFileMappings = 0; HANDLE fileMappings[1024]; int shmget(key_t key, size_t size, int shmflg) { int mapid = -1; uint32_t size_low = size & 0xFFFFFFFF; uint32_t size_high = ((uint64_t)size) >> 32; HANDLE hMapping; hMapping = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_EXECUTE_READWRITE | SEC_RESERVE, size_high, size_low, NULL); if (hMapping != NULL) { fileMappings[nFileMappings] = hMapping; mapid = nFileMappings; nFileMappings++; } else errno = ENOSYS; return mapid; } void *shmat(int shmid, const void *shmaddr, int shmflg) { void *mapAddr; MEMORY_BASIC_INFORMATION memInfo; mapAddr = MapViewOfFile(fileMappings[shmid], FILE_MAP_ALL_ACCESS, 0, 0, 0); if (mapAddr == NULL) { errno = win_to_posix_error(GetLastError()); return (void*)-1; } if (VirtualQuery(mapAddr, &memInfo, sizeof(memInfo)) == 0) { errno = win_to_posix_error(GetLastError()); return (void*)-1; } mapAddr = VirtualAlloc(mapAddr, memInfo.RegionSize, MEM_COMMIT, PAGE_READWRITE); if (mapAddr == NULL) { errno = win_to_posix_error(GetLastError()); return (void*)-1; } return mapAddr; } int shmdt(const void *shmaddr) { if (!UnmapViewOfFile(shmaddr)) { errno = win_to_posix_error(GetLastError()); return -1; } return 0; } int shmctl(int shmid, int cmd, struct shmid_ds *buf) { if (cmd == IPC_RMID) { fileMappings[shmid] = INVALID_HANDLE_VALUE; return 0; } log_err("%s is not implemented\n", __func__); errno = ENOSYS; return -1; } int setuid(uid_t uid) { log_err("%s is not implemented\n", __func__); errno = ENOSYS; return -1; } int setgid(gid_t gid) { log_err("%s is not implemented\n", __func__); errno = ENOSYS; return -1; } int nice(int incr) { DWORD prioclass = NORMAL_PRIORITY_CLASS; if (incr < -15) prioclass = HIGH_PRIORITY_CLASS; else if (incr < 0) prioclass = ABOVE_NORMAL_PRIORITY_CLASS; else if (incr > 15) prioclass = IDLE_PRIORITY_CLASS; else if (incr > 0) prioclass = BELOW_NORMAL_PRIORITY_CLASS; if (!SetPriorityClass(GetCurrentProcess(), prioclass)) log_err("fio: SetPriorityClass failed\n"); return 0; } int getrusage(int who, struct rusage *r_usage) { const uint64_t SECONDS_BETWEEN_1601_AND_1970 = 11644473600; FILETIME cTime, eTime, kTime, uTime; time_t time; HANDLE h; memset(r_usage, 0, sizeof(*r_usage)); if (who == RUSAGE_SELF) { h = GetCurrentProcess(); GetProcessTimes(h, &cTime, &eTime, &kTime, &uTime); } else if (who == RUSAGE_THREAD) { h = GetCurrentThread(); GetThreadTimes(h, &cTime, &eTime, &kTime, &uTime); } else { log_err("fio: getrusage %d is not implemented\n", who); return -1; } time = ((uint64_t)uTime.dwHighDateTime << 32) + uTime.dwLowDateTime; /* Divide by 10,000,000 to get the number of seconds and move the epoch from * 1601 to 1970 */ time = (time_t)(((time)/10000000) - SECONDS_BETWEEN_1601_AND_1970); r_usage->ru_utime.tv_sec = time; /* getrusage() doesn't care about anything other than seconds, so set tv_usec to 0 */ r_usage->ru_utime.tv_usec = 0; time = ((uint64_t)kTime.dwHighDateTime << 32) + kTime.dwLowDateTime; /* Divide by 10,000,000 to get the number of seconds and move the epoch from * 1601 to 1970 */ time = (time_t)(((time)/10000000) - SECONDS_BETWEEN_1601_AND_1970); r_usage->ru_stime.tv_sec = time; r_usage->ru_stime.tv_usec = 0; return 0; } int posix_madvise(void *addr, size_t len, int advice) { return ENOSYS; } int fdatasync(int fildes) { return fsync(fildes); } ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset) { int64_t pos = _telli64(fildes); ssize_t len = _write(fildes, buf, nbyte); _lseeki64(fildes, pos, SEEK_SET); return len; } ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset) { int64_t pos = _telli64(fildes); ssize_t len = read(fildes, buf, nbyte); _lseeki64(fildes, pos, SEEK_SET); return len; } ssize_t readv(int fildes, const struct iovec *iov, int iovcnt) { log_err("%s is not implemented\n", __func__); errno = ENOSYS; return -1; } ssize_t writev(int fildes, const struct iovec *iov, int iovcnt) { int i; DWORD bytes_written = 0; for (i = 0; i < iovcnt; i++) { int len; len = send((SOCKET)fildes, iov[i].iov_base, iov[i].iov_len, 0); if (len == SOCKET_ERROR) { DWORD err = GetLastError(); errno = win_to_posix_error(err); bytes_written = -1; break; } bytes_written += len; } return bytes_written; } #ifndef _WIN32 long long strtoll(const char *restrict str, char **restrict endptr, int base) { return _strtoi64(str, endptr, base); } #endif int poll(struct pollfd fds[], nfds_t nfds, int timeout) { struct timeval tv; struct timeval *to = NULL; fd_set readfds, writefds, exceptfds; int i; int rc; if (timeout != -1) { to = &tv; to->tv_sec = timeout / 1000; to->tv_usec = (timeout % 1000) * 1000; } FD_ZERO(&readfds); FD_ZERO(&writefds); FD_ZERO(&exceptfds); for (i = 0; i < nfds; i++) { if (fds[i].fd == INVALID_SOCKET) { fds[i].revents = 0; continue; } if (fds[i].events & POLLIN) FD_SET(fds[i].fd, &readfds); if (fds[i].events & POLLOUT) FD_SET(fds[i].fd, &writefds); FD_SET(fds[i].fd, &exceptfds); } rc = select(nfds, &readfds, &writefds, &exceptfds, to); if (rc != SOCKET_ERROR) { for (i = 0; i < nfds; i++) { if (fds[i].fd == INVALID_SOCKET) continue; if ((fds[i].events & POLLIN) && FD_ISSET(fds[i].fd, &readfds)) fds[i].revents |= POLLIN; if ((fds[i].events & POLLOUT) && FD_ISSET(fds[i].fd, &writefds)) fds[i].revents |= POLLOUT; if (FD_ISSET(fds[i].fd, &exceptfds)) fds[i].revents |= POLLHUP; } } return rc; } int nanosleep(const struct timespec *rqtp, struct timespec *rmtp) { struct timespec tv; DWORD ms_remaining; DWORD ms_total = (rqtp->tv_sec * 1000) + (rqtp->tv_nsec / 1000000.0); if (ms_total == 0) ms_total = 1; ms_remaining = ms_total; /* Since Sleep() can sleep for less than the requested time, add a loop to ensure we only return after the requested length of time has elapsed */ do { fio_gettime(&tv, NULL); Sleep(ms_remaining); ms_remaining = ms_total - mtime_since_now(&tv); } while (ms_remaining > 0 && ms_remaining < ms_total); /* this implementation will never sleep for less than the requested time */ if (rmtp != NULL) { rmtp->tv_sec = 0; rmtp->tv_nsec = 0; } return 0; } DIR *opendir(const char *dirname) { struct dirent_ctx *dc = NULL; HANDLE file; /* See if we can open it. If not, we'll return an error here */ file = CreateFileA(dirname, 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); if (file != INVALID_HANDLE_VALUE) { CloseHandle(file); dc = malloc(sizeof(struct dirent_ctx)); snprintf(dc->dirname, sizeof(dc->dirname), "%s", dirname); dc->find_handle = INVALID_HANDLE_VALUE; } else { DWORD error = GetLastError(); if (error == ERROR_FILE_NOT_FOUND) errno = ENOENT; else if (error == ERROR_PATH_NOT_FOUND) errno = ENOTDIR; else if (error == ERROR_TOO_MANY_OPEN_FILES) errno = ENFILE; else if (error == ERROR_ACCESS_DENIED) errno = EACCES; else errno = error; } return dc; } int closedir(DIR *dirp) { if (dirp != NULL && dirp->find_handle != INVALID_HANDLE_VALUE) FindClose(dirp->find_handle); free(dirp); return 0; } struct dirent *readdir(DIR *dirp) { static struct dirent de; WIN32_FIND_DATA find_data; if (dirp == NULL) return NULL; if (dirp->find_handle == INVALID_HANDLE_VALUE) { char search_pattern[MAX_PATH]; snprintf(search_pattern, sizeof(search_pattern), "%s\\*", dirp->dirname); dirp->find_handle = FindFirstFileA(search_pattern, &find_data); if (dirp->find_handle == INVALID_HANDLE_VALUE) return NULL; } else { if (!FindNextFile(dirp->find_handle, &find_data)) return NULL; } snprintf(de.d_name, sizeof(de.d_name), find_data.cFileName); de.d_ino = 0; return &de; } uid_t geteuid(void) { log_err("%s is not implemented\n", __func__); errno = ENOSYS; return -1; } in_addr_t inet_network(const char *cp) { in_addr_t hbo; in_addr_t nbo = inet_addr(cp); hbo = ((nbo & 0xFF) << 24) + ((nbo & 0xFF00) << 8) + ((nbo & 0xFF0000) >> 8) + ((nbo & 0xFF000000) >> 24); return hbo; } static HANDLE create_named_pipe(char *pipe_name, int wait_connect_time) { HANDLE hpipe; hpipe = CreateNamedPipe ( pipe_name, PIPE_ACCESS_DUPLEX, PIPE_WAIT | PIPE_TYPE_BYTE, 1, 0, 0, wait_connect_time, NULL); if (hpipe == INVALID_HANDLE_VALUE) { log_err("ConnectNamedPipe failed (%lu).\n", GetLastError()); return INVALID_HANDLE_VALUE; } if (!ConnectNamedPipe(hpipe, NULL)) { log_err("ConnectNamedPipe failed (%lu).\n", GetLastError()); CloseHandle(hpipe); return INVALID_HANDLE_VALUE; } return hpipe; } static BOOL windows_create_process(PROCESS_INFORMATION *pi, const char *args, HANDLE *hjob) { LPSTR this_cmd_line = GetCommandLine(); LPSTR new_process_cmd_line = malloc((strlen(this_cmd_line)+strlen(args)) * sizeof(char *)); STARTUPINFO si = {0}; DWORD flags = 0; strcpy(new_process_cmd_line, this_cmd_line); strcat(new_process_cmd_line, args); si.cb = sizeof(si); memset(pi, 0, sizeof(*pi)); if ((hjob != NULL) && (*hjob != INVALID_HANDLE_VALUE)) flags = CREATE_SUSPENDED | CREATE_BREAKAWAY_FROM_JOB; flags |= CREATE_NEW_CONSOLE; if( !CreateProcess( NULL, new_process_cmd_line, NULL, /* Process handle not inherited */ NULL, /* Thread handle not inherited */ TRUE, /* no handle inheritance */ flags, NULL, /* Use parent's environment block */ NULL, /* Use parent's starting directory */ &si, pi ) ) { log_err("CreateProcess failed (%lu).\n", GetLastError() ); free(new_process_cmd_line); return 1; } if ((hjob != NULL) && (*hjob != INVALID_HANDLE_VALUE)) { BOOL ret = AssignProcessToJobObject(*hjob, pi->hProcess); if (!ret) { log_err("AssignProcessToJobObject failed (%lu).\n", GetLastError() ); return 1; } ResumeThread(pi->hThread); } free(new_process_cmd_line); return 0; } HANDLE windows_create_job(void) { JOBOBJECT_EXTENDED_LIMIT_INFORMATION jeli = { 0 }; BOOL success; HANDLE hjob = CreateJobObject(NULL, NULL); jeli.BasicLimitInformation.LimitFlags = JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE; success = SetInformationJobObject(hjob, JobObjectExtendedLimitInformation, &jeli, sizeof(jeli)); if ( success == 0 ) { log_err( "SetInformationJobObject failed: error %lu\n", GetLastError() ); return INVALID_HANDLE_VALUE; } return hjob; } /* wait for a child process to either exit or connect to a child */ static bool monitor_process_till_connect(PROCESS_INFORMATION *pi, HANDLE *hpipe) { bool connected = FALSE; bool process_alive = TRUE; char buffer[32] = {0}; DWORD bytes_read; do { DWORD exit_code; GetExitCodeProcess(pi->hProcess, &exit_code); if (exit_code != STILL_ACTIVE) { dprint(FD_PROCESS, "process %u exited %d\n", GetProcessId(pi->hProcess), exit_code); break; } memset(buffer, 0, sizeof(buffer)); ReadFile(*hpipe, &buffer, sizeof(buffer) - 1, &bytes_read, NULL); if (bytes_read && strstr(buffer, "connected")) { dprint(FD_PROCESS, "process %u connected to client\n", GetProcessId(pi->hProcess)); connected = TRUE; } usleep(10*1000); } while (process_alive && !connected); return connected; } /*create a process with --server-internal to emulate fork() */ HANDLE windows_handle_connection(HANDLE hjob, int sk) { char pipe_name[64] = "\\\\.\\pipe\\fiointernal-"; char args[128] = " --server-internal="; PROCESS_INFORMATION pi; HANDLE hpipe = INVALID_HANDLE_VALUE; WSAPROTOCOL_INFO protocol_info; HANDLE ret; sprintf(pipe_name+strlen(pipe_name), "%d", GetCurrentProcessId()); sprintf(args+strlen(args), "%s", pipe_name); if (windows_create_process(&pi, args, &hjob) != 0) return INVALID_HANDLE_VALUE; else ret = pi.hProcess; /* duplicate socket and write the protocol_info to pipe so child can * duplicate the communication socket */ if (WSADuplicateSocket(sk, GetProcessId(pi.hProcess), &protocol_info)) { log_err("WSADuplicateSocket failed (%lu).\n", GetLastError()); ret = INVALID_HANDLE_VALUE; goto cleanup; } /* make a pipe with a unique name based upon processid */ hpipe = create_named_pipe(pipe_name, 1000); if (hpipe == INVALID_HANDLE_VALUE) { ret = INVALID_HANDLE_VALUE; goto cleanup; } if (!WriteFile(hpipe, &protocol_info, sizeof(protocol_info), NULL, NULL)) { log_err("WriteFile failed (%lu).\n", GetLastError()); ret = INVALID_HANDLE_VALUE; goto cleanup; } dprint(FD_PROCESS, "process %d created child process %u\n", GetCurrentProcessId(), GetProcessId(pi.hProcess)); /* monitor the process until it either exits or connects. This level * doesnt care which of those occurs because the result is that it * needs to loop around and create another child process to monitor */ if (!monitor_process_till_connect(&pi, &hpipe)) ret = INVALID_HANDLE_VALUE; cleanup: /* close the handles and pipes because this thread is done monitoring them */ if (ret == INVALID_HANDLE_VALUE) CloseHandle(pi.hProcess); CloseHandle(pi.hThread); DisconnectNamedPipe(hpipe); CloseHandle(hpipe); return ret; } fio-3.39/os/windows/posix.h000066400000000000000000000003771476262051600156730ustar00rootroot00000000000000#ifndef FIO_WINDOWS_POSIX_H #define FIO_WINDOWS_POSIX_H typedef int clockid_t; extern int clock_gettime(clockid_t clock_id, struct timespec *tp); extern int inet_aton(const char *, struct in_addr *); extern int win_to_posix_error(DWORD winerr); #endif fio-3.39/os/windows/posix/000077500000000000000000000000001476262051600155135ustar00rootroot00000000000000fio-3.39/os/windows/posix/include/000077500000000000000000000000001476262051600171365ustar00rootroot00000000000000fio-3.39/os/windows/posix/include/arpa/000077500000000000000000000000001476262051600200615ustar00rootroot00000000000000fio-3.39/os/windows/posix/include/arpa/inet.h000066400000000000000000000004421476262051600211710ustar00rootroot00000000000000#ifndef ARPA_INET_H #define ARPA_INET_H #include #include typedef int socklen_t; typedef int in_addr_t; /* EAI_SYSTEM isn't used on Windows, so map it to EAI_FAIL */ #define EAI_SYSTEM EAI_FAIL in_addr_t inet_network(const char *cp); #endif /* ARPA_INET_H */ fio-3.39/os/windows/posix/include/asm/000077500000000000000000000000001476262051600177165ustar00rootroot00000000000000fio-3.39/os/windows/posix/include/asm/types.h000066400000000000000000000002371476262051600212350ustar00rootroot00000000000000#ifndef ASM_TYPES_H #define ASM_TYPES_H typedef unsigned short __u16; typedef unsigned int __u32; typedef unsigned long long __u64; #endif /* ASM_TYPES_H */ fio-3.39/os/windows/posix/include/dirent.h000066400000000000000000000006061476262051600205760ustar00rootroot00000000000000#ifndef DIRENT_H #define DIRENT_H #include struct dirent { ino_t d_ino; /* File serial number */ char d_name[MAX_PATH]; /* Name of entry */ }; struct dirent_ctx { HANDLE find_handle; char dirname[MAX_PATH]; }; typedef struct dirent_ctx DIR; DIR *opendir(const char *dirname); struct dirent *readdir(DIR *dirp); int closedir(DIR *dirp); #endif /* DIRENT_H */ fio-3.39/os/windows/posix/include/dlfcn.h000066400000000000000000000003451476262051600203770ustar00rootroot00000000000000#ifndef DLFCN_H #define DLFCN_H #define RTLD_LAZY 1 void *dlopen(const char *file, int mode); int dlclose(void *handle); void *dlsym(void *restrict handle, const char *restrict name); char *dlerror(void); #endif /* DLFCN_H */ fio-3.39/os/windows/posix/include/libgen.h000066400000000000000000000001261476262051600205460ustar00rootroot00000000000000#ifndef LIBGEN_H #define LIBGEN_H char *basename(char *path); #endif /* LIBGEN_H */ fio-3.39/os/windows/posix/include/netdb.h000066400000000000000000000000661476262051600204050ustar00rootroot00000000000000#ifndef NETDB_H #define NETDB_H #endif /* NETDB_H */ fio-3.39/os/windows/posix/include/netinet/000077500000000000000000000000001476262051600206045ustar00rootroot00000000000000fio-3.39/os/windows/posix/include/netinet/in.h000066400000000000000000000001611476262051600213610ustar00rootroot00000000000000#ifndef NETINET_IN_H #define NETINET_IN_H #include #include #endif /* NETINET_IN_H */ fio-3.39/os/windows/posix/include/netinet/tcp.h000066400000000000000000000000641476262051600215430ustar00rootroot00000000000000#ifndef NETINET_TCP_H #define NETINET_TCP_H #endif fio-3.39/os/windows/posix/include/poll.h000066400000000000000000000002311476262051600202510ustar00rootroot00000000000000#ifndef POLL_H #define POLL_H #include typedef int nfds_t; int poll(struct pollfd fds[], nfds_t nfds, int timeout); #endif /* POLL_H */ fio-3.39/os/windows/posix/include/semaphore.h000066400000000000000000000001021476262051600212630ustar00rootroot00000000000000#ifndef SEMAPHORE_H #define SEMAPHORE_H #endif /* SEMAPHORE_H */ fio-3.39/os/windows/posix/include/sys/000077500000000000000000000000001476262051600177545ustar00rootroot00000000000000fio-3.39/os/windows/posix/include/sys/ioctl.h000066400000000000000000000002231476262051600212340ustar00rootroot00000000000000#ifndef IOCTL_H #define IOCTL_H /* This file is empty since it only needs to exist on Windows but isn't otherwise used */ #endif /* IOCTL_H */fio-3.39/os/windows/posix/include/sys/ipc.h000066400000000000000000000000741476262051600207010ustar00rootroot00000000000000#ifndef SYS_IPC_H #define SYS_IPC_H #endif /* SYS_IPC_H */ fio-3.39/os/windows/posix/include/sys/mman.h000066400000000000000000000015331476262051600210570ustar00rootroot00000000000000#ifndef SYS_MMAN_H #define SYS_MMAN_H #include #define PROT_NONE 0x1 #define PROT_READ 0x2 #define PROT_WRITE 0x4 #define MAP_ANON 0x1 #define MAP_ANONYMOUS MAP_ANON #define MAP_FIXED 0x2 #define MAP_HASSEMAPHORE 0x4 #define MAP_INHERIT 0x8 #define MAP_NOCORE 0x10 #define MAP_NOSYNC 0x20 #define MAP_PREFAULT_READ 0x40 #define MAP_PRIVATE 0x80 #define MAP_SHARED 0x100 #define MAP_STACK 0x200 #define MAP_FAILED NULL #define MS_ASYNC 0x1 #define MS_SYNC 0x2 #define MS_INVALIDATE 0x3 int posix_madvise(void *addr, size_t len, int advice); void *mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off); int munmap(void *addr, size_t len); int msync(void *addr, size_t len, int flags); int munlock(const void * addr, size_t len); int mlock(const void *addr, size_t len); #endif /* SYS_MMAN_H */ fio-3.39/os/windows/posix/include/sys/resource.h000066400000000000000000000004621476262051600217560ustar00rootroot00000000000000#ifndef SYS_RESOURCE_H #define SYS_RESOURCE_H #define RUSAGE_SELF 0 #define RUSAGE_THREAD 1 struct rusage { struct timeval ru_utime; struct timeval ru_stime; int ru_nvcsw; int ru_minflt; int ru_majflt; int ru_nivcsw; }; int getrusage(int who, struct rusage *r_usage); #endif /* SYS_RESOURCE_H */ fio-3.39/os/windows/posix/include/sys/shm.h000066400000000000000000000022101476262051600207070ustar00rootroot00000000000000#ifndef SYS_SHM_H #define SYS_SHM_H #define IPC_RMID 0x1 #define IPC_CREAT 0x2 #define IPC_PRIVATE 0x4 typedef int uid_t; typedef int gid_t; typedef int shmatt_t; typedef int key_t; struct ipc_perm { uid_t uid; /* owner's user ID */ gid_t gid; /* owner's group ID */ uid_t cuid; /* creator's user ID */ gid_t cgid; /* creator's group ID */ mode_t mode; /* read/write permission */ }; struct shmid_ds { struct ipc_perm shm_perm; /* operation permission structure */ size_t shm_segsz; /* size of segment in bytes */ pid_t shm_lpid; /* process ID of last shared memory operation */ pid_t shm_cpid; /* process ID of creator */ shmatt_t shm_nattch; /* number of current attaches */ time_t shm_atime; /* time of last shmat() */ time_t shm_dtime; /* time of last shmdt() */ time_t shm_ctime; /* time of last change by shmctl() */ }; int shmctl(int shmid, int cmd, struct shmid_ds *buf); int shmget(key_t key, size_t size, int shmflg); void *shmat(int shmid, const void *shmaddr, int shmflg); int shmdt(const void *shmaddr); #endif /* SYS_SHM_H */ fio-3.39/os/windows/posix/include/sys/socket.h000066400000000000000000000001051476262051600214110ustar00rootroot00000000000000#ifndef SYS_SOCKET_H #define SYS_SOCKET_H #endif /* SYS_SOCKET_H */ fio-3.39/os/windows/posix/include/sys/uio.h000066400000000000000000000006221476262051600207210ustar00rootroot00000000000000#ifndef SYS_UIO_H #define SYS_UIO_H #include #include struct iovec { void *iov_base; /* Base address of a memory region for input or output */ size_t iov_len; /* The size of the memory pointed to by iov_base */ }; ssize_t readv(int fildes, const struct iovec *iov, int iovcnt); ssize_t writev(int fildes, const struct iovec *iov, int iovcnt); #endif /* SYS_UIO_H */ fio-3.39/os/windows/posix/include/sys/un.h000066400000000000000000000003371476262051600205520ustar00rootroot00000000000000#ifndef SYS_UN_H #define SYS_UN_H typedef int sa_family_t; typedef int in_port_t; struct sockaddr_un { sa_family_t sun_family; /* Address family */ char sun_path[260]; /* Socket pathname */ }; #endif /* SYS_UN_H */ fio-3.39/os/windows/posix/include/sys/wait.h000066400000000000000000000003471476262051600210750ustar00rootroot00000000000000#ifndef SYS_WAIT_H #define SYS_WAIT_H #define WIFSIGNALED(a) 0 #define WIFEXITED(a) 0 #define WTERMSIG(a) 0 #define WEXITSTATUS(a) 0 #define WNOHANG 1 pid_t waitpid(pid_t, int *stat_loc, int options); #endif /* SYS_WAIT_H */ fio-3.39/os/windows/posix/include/syslog.h000066400000000000000000000005301476262051600206250ustar00rootroot00000000000000#ifndef SYSLOG_H #define SYSLOG_H int syslog(int priority, const char *format, ...); #define LOG_INFO 0x1 #define LOG_ERROR 0x2 #define LOG_WARN 0x4 #define LOG_NDELAY 0x1 #define LOG_NOWAIT 0x2 #define LOG_PID 0x4 #define LOG_USER 0x8 void closelog(void); void openlog(const char *ident, int logopt, int facility); #endif /* SYSLOG_H */ fio-3.39/oslib/000077500000000000000000000000001476262051600133465ustar00rootroot00000000000000fio-3.39/oslib/asprintf.c000066400000000000000000000012261476262051600153410ustar00rootroot00000000000000#include #include #include "oslib/asprintf.h" #ifndef CONFIG_HAVE_VASPRINTF int vasprintf(char **strp, const char *fmt, va_list ap) { va_list ap_copy; char *str; int len; #ifdef va_copy va_copy(ap_copy, ap); #else __va_copy(ap_copy, ap); #endif len = vsnprintf(NULL, 0, fmt, ap_copy); va_end(ap_copy); if (len < 0) return len; len++; str = malloc(len); *strp = str; return str ? vsnprintf(str, len, fmt, ap) : -1; } #endif #ifndef CONFIG_HAVE_ASPRINTF int asprintf(char **strp, const char *fmt, ...) { va_list arg; int done; va_start(arg, fmt); done = vasprintf(strp, fmt, arg); va_end(arg); return done; } #endif fio-3.39/oslib/asprintf.h000066400000000000000000000004241476262051600153450ustar00rootroot00000000000000#ifndef FIO_ASPRINTF_H #define FIO_ASPRINTF_H #include #ifndef CONFIG_HAVE_VASPRINTF int vasprintf(char **strp, const char *fmt, va_list ap); #endif #ifndef CONFIG_HAVE_ASPRINTF int asprintf(char **strp, const char *fmt, ...); #endif #endif /* FIO_ASPRINTF_H */ fio-3.39/oslib/blkzoned.h000066400000000000000000000041311476262051600153260ustar00rootroot00000000000000/* * Copyright (C) 2020 Western Digital Corporation or its affiliates. * * This file is released under the GPL. */ #ifndef FIO_BLKZONED_H #define FIO_BLKZONED_H #include "zbd_types.h" #ifdef CONFIG_HAS_BLKZONED extern int blkzoned_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model); extern int blkzoned_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zones, unsigned int nr_zones); extern int blkzoned_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length); extern int blkzoned_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones); extern int blkzoned_get_max_active_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_active_zones); extern int blkzoned_finish_zone(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length); #else /* * Define stubs for systems that do not have zoned block device support. */ static inline int blkzoned_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model) { /* * If this is a block device file, allow zbd emulation. */ if (f->filetype == FIO_TYPE_BLOCK) { *model = ZBD_NONE; return 0; } return -ENODEV; } static inline int blkzoned_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zones, unsigned int nr_zones) { return -EIO; } static inline int blkzoned_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { return -EIO; } static inline int blkzoned_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones) { return -EIO; } static inline int blkzoned_get_max_active_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones) { return -EIO; } static inline int blkzoned_finish_zone(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { return -EIO; } #endif #endif /* FIO_BLKZONED_H */ fio-3.39/oslib/getopt.h000066400000000000000000000005401476262051600150200ustar00rootroot00000000000000#ifdef CONFIG_GETOPT_LONG_ONLY #include #else #ifndef _GETOPT_H #define _GETOPT_H struct option { const char *name; int has_arg; int *flag; int val; }; enum { no_argument = 0, required_argument = 1, optional_argument = 2, }; int getopt_long_only(int, char *const *, const char *, const struct option *, int *); #endif #endif fio-3.39/oslib/getopt_long.c000066400000000000000000000100111476262051600160240ustar00rootroot00000000000000/* * getopt.c * * getopt_long(), or at least a common subset thereof: * * - Option reordering is not supported * - -W foo is not supported * - First optstring character "-" not supported. * * This file was imported from the klibc library from hpa */ #include #include #include #include "getopt.h" char *optarg; int optind, opterr, optopt; static struct getopt_private_state { const char *optptr; const char *last_optstring; char *const *last_argv; } pvt; static inline const char *option_matches(const char *arg_str, const char *opt_name, int smatch) { while (*arg_str != '\0' && *arg_str != '=') { if (*arg_str++ != *opt_name++) return NULL; } if (*opt_name && !smatch) return NULL; return arg_str; } int getopt_long_only(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *longindex) { const char *carg; const char *osptr; int opt; optarg = NULL; /* getopt() relies on a number of different global state variables, which can make this really confusing if there is more than one use of getopt() in the same program. This attempts to detect that situation by detecting if the "optstring" or "argv" argument have changed since last time we were called; if so, reinitialize the query state. */ if (optstring != pvt.last_optstring || argv != pvt.last_argv || optind < 1 || optind > argc) { /* optind doesn't match the current query */ pvt.last_optstring = optstring; pvt.last_argv = argv; optind = 1; pvt.optptr = NULL; } carg = argv[optind]; /* First, eliminate all non-option cases */ if (!carg || carg[0] != '-' || !carg[1]) return -1; if (carg[1] == '-') { const struct option *lo; const char *opt_end = NULL; optind++; /* Either it's a long option, or it's -- */ if (!carg[2]) { /* It's -- */ return -1; } for (lo = longopts; lo->name; lo++) { opt_end = option_matches(carg+2, lo->name, 0); if (opt_end) break; } /* * The GNU getopt_long_only() apparently allows a short match, * if it's unique and if we don't have a full match. Let's * do the same here, search and see if there is one (and only * one) short match. */ if (!opt_end) { const struct option *lo_match = NULL; for (lo = longopts; lo->name; lo++) { const char *ret; ret = option_matches(carg+2, lo->name, 1); if (!ret) continue; if (!opt_end) { opt_end = ret; lo_match = lo; } else { opt_end = NULL; break; } } if (!opt_end) return '?'; lo = lo_match; } if (longindex) *longindex = lo-longopts; if (*opt_end == '=') { if (lo->has_arg) optarg = (char *)opt_end+1; else return '?'; } else if (lo->has_arg == 1) { if (!(optarg = argv[optind])) return '?'; optind++; } if (lo->flag) { *lo->flag = lo->val; return 0; } else { return lo->val; } } if ((uintptr_t) (pvt.optptr - carg) > (uintptr_t) strlen(carg)) { /* Someone frobbed optind, change to new opt. */ pvt.optptr = carg + 1; } opt = *pvt.optptr++; if (opt != ':' && (osptr = strchr(optstring, opt))) { if (osptr[1] == ':') { if (*pvt.optptr) { /* Argument-taking option with attached argument */ optarg = (char *)pvt.optptr; optind++; } else { /* Argument-taking option with non-attached argument */ if (osptr[2] == ':') { if (argv[optind + 1]) { optarg = (char *)argv[optind+1]; optind += 2; } else { optarg = NULL; optind++; } return opt; } else if (argv[optind + 1]) { optarg = (char *)argv[optind+1]; optind += 2; } else { /* Missing argument */ optind++; return (optstring[0] == ':') ? ':' : '?'; } } return opt; } else { /* Non-argument-taking option */ /* pvt.optptr will remember the exact position to resume at */ if (!*pvt.optptr) optind++; return opt; } } else { /* Unknown option */ optopt = opt; if (!*pvt.optptr) optind++; return '?'; } } fio-3.39/oslib/inet_aton.c000066400000000000000000000001641476262051600154730ustar00rootroot00000000000000#include "inet_aton.h" int inet_aton(const char *cp, struct in_addr *inp) { return inet_pton(AF_INET, cp, inp); } fio-3.39/oslib/inet_aton.h000066400000000000000000000002151476262051600154750ustar00rootroot00000000000000#ifndef FIO_INET_ATON_LIB_H #define FIO_INET_ATON_LIB_H #include int inet_aton(const char *cp, struct in_addr *inp); #endif fio-3.39/oslib/libmtd.c000066400000000000000000001015651476262051600147750ustar00rootroot00000000000000/* * Copyright (c) International Business Machines Corp., 2006 * Copyright (C) 2009 Nokia Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * Author: Artem Bityutskiy * * MTD library. */ /* Imported from mtd-utils by dehrenberg */ #include #include #include #include #include #include #include #include #include #include #include #include "../compiler/compiler.h" #include #include "libmtd.h" #include "libmtd_int.h" #include "libmtd_common.h" /** * mkpath - compose full path from 2 given components. * @path: the first component * @name: the second component * * This function returns the resulting path in case of success and %NULL in * case of failure. */ static char *mkpath(const char *path, const char *name) { char *n; size_t len1 = strlen(path); size_t len2 = strlen(name); n = xmalloc(len1 + len2 + 6); memcpy(n, path, len1); if (n[len1 - 1] != '/') n[len1++] = '/'; memcpy(n + len1, name, len2 + 1); return n; } /** * read_data - read data from a file. * @file: the file to read from * @buf: the buffer to read to * @buf_len: buffer length * * This function returns number of read bytes in case of success and %-1 in * case of failure. Note, if the file contains more then @buf_len bytes of * date, this function fails with %EINVAL error code. */ static int read_data(const char *file, void *buf, int buf_len) { int fd, rd, tmp, tmp1; fd = open(file, O_RDONLY | O_CLOEXEC); if (fd == -1) return -1; rd = read(fd, buf, buf_len); if (rd == -1) { sys_errmsg("cannot read \"%s\"", file); goto out_error; } if (rd == buf_len) { errmsg("contents of \"%s\" is too long", file); errno = EINVAL; goto out_error; } ((char *)buf)[rd] = '\0'; /* Make sure all data is read */ tmp1 = read(fd, &tmp, 1); if (tmp1 == 1) { sys_errmsg("cannot read \"%s\"", file); goto out_error; } if (tmp1) { errmsg("file \"%s\" contains too much data (> %d bytes)", file, buf_len); errno = EINVAL; goto out_error; } if (close(fd)) { sys_errmsg("close failed on \"%s\"", file); return -1; } return rd; out_error: close(fd); return -1; } /** * read_major - read major and minor numbers from a file. * @file: name of the file to read from * @major: major number is returned here * @minor: minor number is returned here * * This function returns % in case of success, and %-1 in case of failure. */ static int read_major(const char *file, int *major, int *minor) { int ret; char buf[50]; ret = read_data(file, buf, 50); if (ret < 0) return ret; ret = sscanf(buf, "%d:%d\n", major, minor); if (ret != 2) { errno = EINVAL; return errmsg("\"%s\" does not have major:minor format", file); } if (*major < 0 || *minor < 0) { errno = EINVAL; return errmsg("bad major:minor %d:%d in \"%s\"", *major, *minor, file); } return 0; } /** * dev_get_major - get major and minor numbers of an MTD device. * @lib: libmtd descriptor * @mtd_num: MTD device number * @major: major number is returned here * @minor: minor number is returned here * * This function returns zero in case of success and %-1 in case of failure. */ static int dev_get_major(struct libmtd *lib, int mtd_num, int *major, int *minor) { char file[strlen(lib->mtd_dev) + 50]; sprintf(file, lib->mtd_dev, mtd_num); return read_major(file, major, minor); } /** * dev_read_data - read data from an MTD device's sysfs file. * @patt: file pattern to read from * @mtd_num: MTD device number * @buf: buffer to read to * @buf_len: buffer length * * This function returns number of read bytes in case of success and %-1 in * case of failure. */ static int dev_read_data(const char *patt, int mtd_num, void *buf, int buf_len) { char file[strlen(patt) + 100]; sprintf(file, patt, mtd_num); return read_data(file, buf, buf_len); } /** * read_hex_ll - read a hex 'long long' value from a file. * @file: the file to read from * @value: the result is stored here * * This function reads file @file and interprets its contents as hexadecimal * 'long long' integer. If this is not true, it fails with %EINVAL error code. * Returns %0 in case of success and %-1 in case of failure. */ static int read_hex_ll(const char *file, long long *value) { int fd, rd; char buf[50]; fd = open(file, O_RDONLY | O_CLOEXEC); if (fd == -1) return -1; rd = read(fd, buf, sizeof(buf)); if (rd == -1) { sys_errmsg("cannot read \"%s\"", file); goto out_error; } if (rd == sizeof(buf)) { errmsg("contents of \"%s\" is too long", file); errno = EINVAL; goto out_error; } buf[rd] = '\0'; if (sscanf(buf, "%llx\n", value) != 1) { errmsg("cannot read integer from \"%s\"\n", file); errno = EINVAL; goto out_error; } if (*value < 0) { errmsg("negative value %lld in \"%s\"", *value, file); errno = EINVAL; goto out_error; } if (close(fd)) return sys_errmsg("close failed on \"%s\"", file); return 0; out_error: close(fd); return -1; } /** * read_pos_ll - read a positive 'long long' value from a file. * @file: the file to read from * @value: the result is stored here * * This function reads file @file and interprets its contents as a positive * 'long long' integer. If this is not true, it fails with %EINVAL error code. * Returns %0 in case of success and %-1 in case of failure. */ static int read_pos_ll(const char *file, long long *value) { int fd, rd; char buf[50]; fd = open(file, O_RDONLY | O_CLOEXEC); if (fd == -1) return -1; rd = read(fd, buf, 50); if (rd == -1) { sys_errmsg("cannot read \"%s\"", file); goto out_error; } if (rd == 50) { errmsg("contents of \"%s\" is too long", file); errno = EINVAL; goto out_error; } if (sscanf(buf, "%lld\n", value) != 1) { errmsg("cannot read integer from \"%s\"\n", file); errno = EINVAL; goto out_error; } if (*value < 0) { errmsg("negative value %lld in \"%s\"", *value, file); errno = EINVAL; goto out_error; } if (close(fd)) return sys_errmsg("close failed on \"%s\"", file); return 0; out_error: close(fd); return -1; } /** * read_hex_int - read an 'int' value from a file. * @file: the file to read from * @value: the result is stored here * * This function is the same as 'read_pos_ll()', but it reads an 'int' * value, not 'long long'. */ static int read_hex_int(const char *file, int *value) { long long res; if (read_hex_ll(file, &res)) return -1; /* Make sure the value has correct range */ if (res > INT_MAX || res < INT_MIN) { errmsg("value %lld read from file \"%s\" is out of range", res, file); errno = EINVAL; return -1; } *value = res; return 0; } /** * read_pos_int - read a positive 'int' value from a file. * @file: the file to read from * @value: the result is stored here * * This function is the same as 'read_pos_ll()', but it reads an 'int' * value, not 'long long'. */ static int read_pos_int(const char *file, int *value) { long long res; if (read_pos_ll(file, &res)) return -1; /* Make sure the value is not too big */ if (res > INT_MAX) { errmsg("value %lld read from file \"%s\" is out of range", res, file); errno = EINVAL; return -1; } *value = res; return 0; } /** * dev_read_hex_int - read an hex 'int' value from an MTD device sysfs file. * @patt: file pattern to read from * @mtd_num: MTD device number * @value: the result is stored here * * This function returns %0 in case of success and %-1 in case of failure. */ static int dev_read_hex_int(const char *patt, int mtd_num, int *value) { char file[strlen(patt) + 50]; sprintf(file, patt, mtd_num); return read_hex_int(file, value); } /** * dev_read_pos_int - read a positive 'int' value from an MTD device sysfs file. * @patt: file pattern to read from * @mtd_num: MTD device number * @value: the result is stored here * * This function returns %0 in case of success and %-1 in case of failure. */ static int dev_read_pos_int(const char *patt, int mtd_num, int *value) { char file[strlen(patt) + 50]; sprintf(file, patt, mtd_num); return read_pos_int(file, value); } /** * dev_read_pos_ll - read a positive 'long long' value from an MTD device sysfs file. * @patt: file pattern to read from * @mtd_num: MTD device number * @value: the result is stored here * * This function returns %0 in case of success and %-1 in case of failure. */ static int dev_read_pos_ll(const char *patt, int mtd_num, long long *value) { char file[strlen(patt) + 50]; sprintf(file, patt, mtd_num); return read_pos_ll(file, value); } /** * type_str2int - convert MTD device type to integer. * @str: MTD device type string to convert * * This function converts MTD device type string @str, read from sysfs, into an * integer. */ static int type_str2int(const char *str) { if (!strcmp(str, "nand")) return MTD_NANDFLASH; if (!strcmp(str, "mlc-nand")) return MTD_MLCNANDFLASH; if (!strcmp(str, "nor")) return MTD_NORFLASH; if (!strcmp(str, "rom")) return MTD_ROM; if (!strcmp(str, "absent")) return MTD_ABSENT; if (!strcmp(str, "dataflash")) return MTD_DATAFLASH; if (!strcmp(str, "ram")) return MTD_RAM; if (!strcmp(str, "ubi")) return MTD_UBIVOLUME; return -1; } /** * dev_node2num - find UBI device number by its character device node. * @lib: MTD library descriptor * @node: name of the MTD device node * @mtd_num: MTD device number is returned here * * This function returns %0 in case of success and %-1 in case of failure. */ static int dev_node2num(struct libmtd *lib, const char *node, int *mtd_num) { struct stat st; int i, mjr, mnr; struct mtd_info info; if (stat(node, &st)) return sys_errmsg("cannot get information about \"%s\"", node); if (!S_ISCHR(st.st_mode)) { errmsg("\"%s\" is not a character device", node); errno = EINVAL; return -1; } mjr = major(st.st_rdev); mnr = minor(st.st_rdev); if (mtd_get_info((libmtd_t *)lib, &info)) return -1; for (i = info.lowest_mtd_num; i <= info.highest_mtd_num; i++) { int mjr1, mnr1, ret; ret = dev_get_major(lib, i, &mjr1, &mnr1); if (ret) { if (errno == ENOENT) continue; if (!errno) break; return -1; } if (mjr1 == mjr && mnr1 == mnr) { errno = 0; *mtd_num = i; return 0; } } errno = ENODEV; return -1; } /** * sysfs_is_supported - check whether the MTD sub-system supports MTD. * @lib: MTD library descriptor * * The Linux kernel MTD subsystem gained MTD support starting from kernel * 2.6.30 and libmtd tries to use sysfs interface if possible, because the NAND * sub-page size is available there (and not available at all in pre-sysfs * kernels). * * Very old kernels did not have "/sys/class/mtd" directory. Not very old * kernels (e.g., 2.6.29) did have "/sys/class/mtd/mtdX" directories, by there * were no files there, e.g., the "name" file was not present. So all we can do * is to check for a "/sys/class/mtd/mtdX/name" file. But this is not a * reliable check, because if this is a new system with no MTD devices - we'll * treat it as a pre-sysfs system. */ static int sysfs_is_supported(struct libmtd *lib) { int fd, num = -1; DIR *sysfs_mtd; char file[strlen(lib->mtd_name) + 10]; sysfs_mtd = opendir(lib->sysfs_mtd); if (!sysfs_mtd) { if (errno == ENOENT) { errno = 0; return 0; } return sys_errmsg("cannot open \"%s\"", lib->sysfs_mtd); } /* * First of all find an "mtdX" directory. This is needed because there * may be, for example, mtd1 but no mtd0. */ while (1) { int ret, mtd_num; char tmp_buf[256]; struct dirent *dirent; dirent = readdir(sysfs_mtd); if (!dirent) break; if (strlen(dirent->d_name) >= 255) { errmsg("invalid entry in %s: \"%s\"", lib->sysfs_mtd, dirent->d_name); errno = EINVAL; closedir(sysfs_mtd); return -1; } ret = sscanf(dirent->d_name, MTD_NAME_PATT"%s", &mtd_num, tmp_buf); if (ret == 1) { num = mtd_num; break; } } if (closedir(sysfs_mtd)) return sys_errmsg("closedir failed on \"%s\"", lib->sysfs_mtd); if (num == -1) /* No mtd device, treat this as pre-sysfs system */ return 0; sprintf(file, lib->mtd_name, num); fd = open(file, O_RDONLY | O_CLOEXEC); if (fd == -1) return 0; if (close(fd)) { sys_errmsg("close failed on \"%s\"", file); return -1; } return 1; } libmtd_t libmtd_open(void) { struct libmtd *lib; lib = xzalloc(sizeof(*lib)); lib->offs64_ioctls = OFFS64_IOCTLS_UNKNOWN; lib->sysfs_mtd = mkpath("/sys", SYSFS_MTD); if (!lib->sysfs_mtd) goto out_error; lib->mtd = mkpath(lib->sysfs_mtd, MTD_NAME_PATT); if (!lib->mtd) goto out_error; lib->mtd_name = mkpath(lib->mtd, MTD_NAME); if (!lib->mtd_name) goto out_error; if (!sysfs_is_supported(lib)) { free(lib->mtd); free(lib->sysfs_mtd); free(lib->mtd_name); lib->mtd_name = lib->mtd = lib->sysfs_mtd = NULL; return lib; } lib->mtd_dev = mkpath(lib->mtd, MTD_DEV); if (!lib->mtd_dev) goto out_error; lib->mtd_type = mkpath(lib->mtd, MTD_TYPE); if (!lib->mtd_type) goto out_error; lib->mtd_eb_size = mkpath(lib->mtd, MTD_EB_SIZE); if (!lib->mtd_eb_size) goto out_error; lib->mtd_size = mkpath(lib->mtd, MTD_SIZE); if (!lib->mtd_size) goto out_error; lib->mtd_min_io_size = mkpath(lib->mtd, MTD_MIN_IO_SIZE); if (!lib->mtd_min_io_size) goto out_error; lib->mtd_subpage_size = mkpath(lib->mtd, MTD_SUBPAGE_SIZE); if (!lib->mtd_subpage_size) goto out_error; lib->mtd_oob_size = mkpath(lib->mtd, MTD_OOB_SIZE); if (!lib->mtd_oob_size) goto out_error; lib->mtd_region_cnt = mkpath(lib->mtd, MTD_REGION_CNT); if (!lib->mtd_region_cnt) goto out_error; lib->mtd_flags = mkpath(lib->mtd, MTD_FLAGS); if (!lib->mtd_flags) goto out_error; lib->sysfs_supported = 1; return lib; out_error: libmtd_close((libmtd_t)lib); return NULL; } void libmtd_close(libmtd_t desc) { struct libmtd *lib = (struct libmtd *)desc; free(lib->mtd_flags); free(lib->mtd_region_cnt); free(lib->mtd_oob_size); free(lib->mtd_subpage_size); free(lib->mtd_min_io_size); free(lib->mtd_size); free(lib->mtd_eb_size); free(lib->mtd_type); free(lib->mtd_dev); free(lib->mtd_name); free(lib->mtd); free(lib->sysfs_mtd); free(lib); } int mtd_dev_present(libmtd_t desc, int mtd_num) { struct stat st; struct libmtd *lib = (struct libmtd *)desc; if (!lib->sysfs_supported) { return legacy_dev_present(mtd_num) == 1; } else { char file[strlen(lib->mtd) + 10]; sprintf(file, lib->mtd, mtd_num); return !stat(file, &st); } } int mtd_get_info(libmtd_t desc, struct mtd_info *info) { DIR *sysfs_mtd; struct dirent *dirent; struct libmtd *lib = (struct libmtd *)desc; memset(info, 0, sizeof(struct mtd_info)); if (!lib->sysfs_supported) return legacy_mtd_get_info(info); info->sysfs_supported = 1; /* * We have to scan the MTD sysfs directory to identify how many MTD * devices are present. */ sysfs_mtd = opendir(lib->sysfs_mtd); if (!sysfs_mtd) { if (errno == ENOENT) { errno = ENODEV; return -1; } return sys_errmsg("cannot open \"%s\"", lib->sysfs_mtd); } info->lowest_mtd_num = INT_MAX; while (1) { int mtd_num, ret; char tmp_buf[256]; errno = 0; dirent = readdir(sysfs_mtd); if (!dirent) break; if (strlen(dirent->d_name) >= 255) { errmsg("invalid entry in %s: \"%s\"", lib->sysfs_mtd, dirent->d_name); errno = EINVAL; goto out_close; } ret = sscanf(dirent->d_name, MTD_NAME_PATT"%s", &mtd_num, tmp_buf); if (ret == 1) { info->mtd_dev_cnt += 1; if (mtd_num > info->highest_mtd_num) info->highest_mtd_num = mtd_num; if (mtd_num < info->lowest_mtd_num) info->lowest_mtd_num = mtd_num; } } if (!dirent && errno) { sys_errmsg("readdir failed on \"%s\"", lib->sysfs_mtd); goto out_close; } if (closedir(sysfs_mtd)) return sys_errmsg("closedir failed on \"%s\"", lib->sysfs_mtd); if (info->lowest_mtd_num == INT_MAX) info->lowest_mtd_num = 0; return 0; out_close: closedir(sysfs_mtd); return -1; } int mtd_get_dev_info1(libmtd_t desc, int mtd_num, struct mtd_dev_info *mtd) { int ret; struct libmtd *lib = (struct libmtd *)desc; memset(mtd, 0, sizeof(struct mtd_dev_info)); mtd->mtd_num = mtd_num; if (!mtd_dev_present(desc, mtd_num)) { errno = ENODEV; return -1; } else if (!lib->sysfs_supported) return legacy_get_dev_info1(mtd_num, mtd); if (dev_get_major(lib, mtd_num, &mtd->major, &mtd->minor)) return -1; ret = dev_read_data(lib->mtd_name, mtd_num, &mtd->name, MTD_NAME_MAX + 1); if (ret < 0) return -1; ((char *)mtd->name)[ret - 1] = '\0'; ret = dev_read_data(lib->mtd_type, mtd_num, &mtd->type_str, MTD_TYPE_MAX + 1); if (ret < 0) return -1; ((char *)mtd->type_str)[ret - 1] = '\0'; if (dev_read_pos_int(lib->mtd_eb_size, mtd_num, &mtd->eb_size)) return -1; if (dev_read_pos_ll(lib->mtd_size, mtd_num, &mtd->size)) return -1; if (dev_read_pos_int(lib->mtd_min_io_size, mtd_num, &mtd->min_io_size)) return -1; if (dev_read_pos_int(lib->mtd_subpage_size, mtd_num, &mtd->subpage_size)) return -1; if (dev_read_pos_int(lib->mtd_oob_size, mtd_num, &mtd->oob_size)) return -1; if (dev_read_pos_int(lib->mtd_region_cnt, mtd_num, &mtd->region_cnt)) return -1; if (dev_read_hex_int(lib->mtd_flags, mtd_num, &ret)) return -1; mtd->writable = !!(ret & MTD_WRITEABLE); mtd->eb_cnt = mtd->size / mtd->eb_size; mtd->type = type_str2int(mtd->type_str); mtd->bb_allowed = !!(mtd->type == MTD_NANDFLASH || mtd->type == MTD_MLCNANDFLASH); return 0; } int mtd_get_dev_info(libmtd_t desc, const char *node, struct mtd_dev_info *mtd) { int mtd_num; struct libmtd *lib = (struct libmtd *)desc; if (!lib->sysfs_supported) return legacy_get_dev_info(node, mtd); if (dev_node2num(lib, node, &mtd_num)) return -1; return mtd_get_dev_info1(desc, mtd_num, mtd); } static inline int mtd_ioctl_error(const struct mtd_dev_info *mtd, int eb, const char *sreq) { return sys_errmsg("%s ioctl failed for eraseblock %d (mtd%d)", sreq, eb, mtd->mtd_num); } static int mtd_valid_erase_block(const struct mtd_dev_info *mtd, int eb) { if (eb < 0 || eb >= mtd->eb_cnt) { errmsg("bad eraseblock number %d, mtd%d has %d eraseblocks", eb, mtd->mtd_num, mtd->eb_cnt); errno = EINVAL; return -1; } return 0; } static int mtd_xlock(const struct mtd_dev_info *mtd, int fd, int eb, int req, const char *sreq) { int ret; struct erase_info_user ei; ret = mtd_valid_erase_block(mtd, eb); if (ret) return ret; ei.start = eb * mtd->eb_size; ei.length = mtd->eb_size; ret = ioctl(fd, req, &ei); if (ret < 0) return mtd_ioctl_error(mtd, eb, sreq); return 0; } #define mtd_xlock(mtd, fd, eb, req) mtd_xlock(mtd, fd, eb, req, #req) int mtd_lock(const struct mtd_dev_info *mtd, int fd, int eb) { return mtd_xlock(mtd, fd, eb, MEMLOCK); } int mtd_unlock(const struct mtd_dev_info *mtd, int fd, int eb) { return mtd_xlock(mtd, fd, eb, MEMUNLOCK); } int mtd_erase(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb) { int ret; struct libmtd *lib = (struct libmtd *)desc; struct erase_info_user64 ei64; struct erase_info_user ei; ret = mtd_valid_erase_block(mtd, eb); if (ret) return ret; ei64.start = (__u64)eb * mtd->eb_size; ei64.length = mtd->eb_size; if (lib->offs64_ioctls == OFFS64_IOCTLS_SUPPORTED || lib->offs64_ioctls == OFFS64_IOCTLS_UNKNOWN) { ret = ioctl(fd, MEMERASE64, &ei64); if (ret == 0) return ret; if (errno != ENOTTY || lib->offs64_ioctls != OFFS64_IOCTLS_UNKNOWN) return mtd_ioctl_error(mtd, eb, "MEMERASE64"); /* * MEMERASE64 support was added in kernel version 2.6.31, so * probably we are working with older kernel and this ioctl is * not supported. */ lib->offs64_ioctls = OFFS64_IOCTLS_NOT_SUPPORTED; } if (ei64.start + ei64.length > 0xFFFFFFFF) { errmsg("this system can address only %u eraseblocks", 0xFFFFFFFFU / mtd->eb_size); errno = EINVAL; return -1; } ei.start = ei64.start; ei.length = ei64.length; ret = ioctl(fd, MEMERASE, &ei); if (ret < 0) return mtd_ioctl_error(mtd, eb, "MEMERASE"); return 0; } int mtd_regioninfo(int fd, int regidx, struct region_info_user *reginfo) { int ret; if (regidx < 0) { errno = ENODEV; return -1; } reginfo->regionindex = regidx; ret = ioctl(fd, MEMGETREGIONINFO, reginfo); if (ret < 0) return sys_errmsg("%s ioctl failed for erase region %d", "MEMGETREGIONINFO", regidx); return 0; } int mtd_is_locked(const struct mtd_dev_info *mtd, int fd, int eb) { int ret; erase_info_t ei; ei.start = eb * mtd->eb_size; ei.length = mtd->eb_size; ret = ioctl(fd, MEMISLOCKED, &ei); if (ret < 0) { if (errno != ENOTTY && errno != EOPNOTSUPP) return mtd_ioctl_error(mtd, eb, "MEMISLOCKED"); else errno = EOPNOTSUPP; } return ret; } /* Patterns to write to a physical eraseblock when torturing it */ static uint8_t patterns[] = {0xa5, 0x5a, 0x0}; /** * check_pattern - check if buffer contains only a certain byte pattern. * @buf: buffer to check * @patt: the pattern to check * @size: buffer size in bytes * * This function returns %1 in there are only @patt bytes in @buf, and %0 if * something else was also found. */ static int check_pattern(const void *buf, uint8_t patt, int size) { int i; for (i = 0; i < size; i++) if (((const uint8_t *)buf)[i] != patt) return 0; return 1; } int mtd_torture(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb) { int err, i, patt_count; void *buf; normsg("run torture test for PEB %d", eb); patt_count = FIO_ARRAY_SIZE(patterns); buf = xmalloc(mtd->eb_size); for (i = 0; i < patt_count; i++) { err = mtd_erase(desc, mtd, fd, eb); if (err) goto out; /* Make sure the PEB contains only 0xFF bytes */ err = mtd_read(mtd, fd, eb, 0, buf, mtd->eb_size); if (err) goto out; err = check_pattern(buf, 0xFF, mtd->eb_size); if (err == 0) { errmsg("erased PEB %d, but a non-0xFF byte found", eb); errno = EIO; goto out; } /* Write a pattern and check it */ memset(buf, patterns[i], mtd->eb_size); err = mtd_write(desc, mtd, fd, eb, 0, buf, mtd->eb_size, NULL, 0, 0); if (err) goto out; memset(buf, ~patterns[i], mtd->eb_size); err = mtd_read(mtd, fd, eb, 0, buf, mtd->eb_size); if (err) goto out; err = check_pattern(buf, patterns[i], mtd->eb_size); if (err == 0) { errmsg("pattern %x checking failed for PEB %d", patterns[i], eb); errno = EIO; goto out; } } normsg("PEB %d passed torture test, do not mark it a bad", eb); out: free(buf); return -1; } int mtd_is_bad(const struct mtd_dev_info *mtd, int fd, int eb) { int ret; loff_t seek; ret = mtd_valid_erase_block(mtd, eb); if (ret) return ret; if (!mtd->bb_allowed) return 0; seek = (loff_t)eb * mtd->eb_size; ret = ioctl(fd, MEMGETBADBLOCK, &seek); if (ret == -1) return mtd_ioctl_error(mtd, eb, "MEMGETBADBLOCK"); return ret; } int mtd_mark_bad(const struct mtd_dev_info *mtd, int fd, int eb) { int ret; loff_t seek; if (!mtd->bb_allowed) { errno = EINVAL; return -1; } ret = mtd_valid_erase_block(mtd, eb); if (ret) return ret; seek = (loff_t)eb * mtd->eb_size; ret = ioctl(fd, MEMSETBADBLOCK, &seek); if (ret == -1) return mtd_ioctl_error(mtd, eb, "MEMSETBADBLOCK"); return 0; } int mtd_read(const struct mtd_dev_info *mtd, int fd, int eb, int offs, void *buf, int len) { int ret, rd = 0; off_t seek; ret = mtd_valid_erase_block(mtd, eb); if (ret) return ret; if (offs < 0 || offs + len > mtd->eb_size) { errmsg("bad offset %d or length %d, mtd%d eraseblock size is %d", offs, len, mtd->mtd_num, mtd->eb_size); errno = EINVAL; return -1; } /* Seek to the beginning of the eraseblock */ seek = (off_t)eb * mtd->eb_size + offs; if (lseek(fd, seek, SEEK_SET) != seek) return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, mtd->mtd_num, seek); while (rd < len) { ret = read(fd, buf, len); if (ret < 0) return sys_errmsg("cannot read %d bytes from mtd%d (eraseblock %d, offset %d)", len, mtd->mtd_num, eb, offs); rd += ret; } return 0; } static int legacy_auto_oob_layout(const struct mtd_dev_info *mtd, int fd, int ooblen, void *oob) { struct nand_oobinfo old_oobinfo; int start, len; uint8_t *tmp_buf; /* Read the current oob info */ if (ioctl(fd, MEMGETOOBSEL, &old_oobinfo)) return sys_errmsg("MEMGETOOBSEL failed"); tmp_buf = malloc(ooblen); memcpy(tmp_buf, oob, ooblen); /* * We use autoplacement and have the oobinfo with the autoplacement * information from the kernel available */ if (old_oobinfo.useecc == MTD_NANDECC_AUTOPLACE) { int i, tags_pos = 0; for (i = 0; old_oobinfo.oobfree[i][1]; i++) { /* Set the reserved bytes to 0xff */ start = old_oobinfo.oobfree[i][0]; len = old_oobinfo.oobfree[i][1]; memcpy(oob + start, tmp_buf + tags_pos, len); tags_pos += len; } } else { /* Set at least the ecc byte positions to 0xff */ start = old_oobinfo.eccbytes; len = mtd->oob_size - start; memcpy(oob + start, tmp_buf + start, len); } free(tmp_buf); return 0; } int mtd_write(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb, int offs, void *data, int len, void *oob, int ooblen, uint8_t mode) { int ret; off_t seek; struct mtd_write_req ops; ret = mtd_valid_erase_block(mtd, eb); if (ret) return ret; if (offs < 0 || offs + len > mtd->eb_size) { errmsg("bad offset %d or length %d, mtd%d eraseblock size is %d", offs, len, mtd->mtd_num, mtd->eb_size); errno = EINVAL; return -1; } if (offs % mtd->subpage_size) { errmsg("write offset %d is not aligned to mtd%d min. I/O size %d", offs, mtd->mtd_num, mtd->subpage_size); errno = EINVAL; return -1; } if (len % mtd->subpage_size) { errmsg("write length %d is not aligned to mtd%d min. I/O size %d", len, mtd->mtd_num, mtd->subpage_size); errno = EINVAL; return -1; } /* Calculate seek address */ seek = (off_t)eb * mtd->eb_size + offs; if (oob) { ops.start = seek; ops.len = len; ops.ooblen = ooblen; ops.usr_data = (uint64_t)(unsigned long)data; ops.usr_oob = (uint64_t)(unsigned long)oob; ops.mode = mode; ret = ioctl(fd, MEMWRITE, &ops); if (ret == 0) return 0; else if (errno != ENOTTY && errno != EOPNOTSUPP) return mtd_ioctl_error(mtd, eb, "MEMWRITE"); /* Fall back to old OOB ioctl() if necessary */ if (mode == MTD_OPS_AUTO_OOB) if (legacy_auto_oob_layout(mtd, fd, ooblen, oob)) return -1; if (mtd_write_oob(desc, mtd, fd, seek, ooblen, oob) < 0) return sys_errmsg("cannot write to OOB"); } if (data) { /* Seek to the beginning of the eraseblock */ if (lseek(fd, seek, SEEK_SET) != seek) return sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, mtd->mtd_num, seek); ret = write(fd, data, len); if (ret != len) return sys_errmsg("cannot write %d bytes to mtd%d " "(eraseblock %d, offset %d)", len, mtd->mtd_num, eb, offs); } return 0; } static int do_oob_op(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, uint64_t start, uint64_t length, void *data, unsigned int cmd64, unsigned int cmd) { int ret, oob_offs; struct mtd_oob_buf64 oob64; struct mtd_oob_buf oob; unsigned long long max_offs; const char *cmd64_str, *cmd_str; struct libmtd *lib = (struct libmtd *)desc; if (cmd64 == MEMREADOOB64) { cmd64_str = "MEMREADOOB64"; cmd_str = "MEMREADOOB"; } else { cmd64_str = "MEMWRITEOOB64"; cmd_str = "MEMWRITEOOB"; } max_offs = (unsigned long long)mtd->eb_cnt * mtd->eb_size; if (start >= max_offs) { errmsg("bad page address %" PRIu64 ", mtd%d has %d eraseblocks (%llu bytes)", start, mtd->mtd_num, mtd->eb_cnt, max_offs); errno = EINVAL; return -1; } oob_offs = start & (mtd->min_io_size - 1); if (oob_offs + length > mtd->oob_size || length == 0) { errmsg("Cannot write %" PRIu64 " OOB bytes to address %" PRIu64 " (OOB offset %u) - mtd%d OOB size is only %d bytes", length, start, oob_offs, mtd->mtd_num, mtd->oob_size); errno = EINVAL; return -1; } oob64.start = start; oob64.length = length; oob64.usr_ptr = (uint64_t)(unsigned long)data; if (lib->offs64_ioctls == OFFS64_IOCTLS_SUPPORTED || lib->offs64_ioctls == OFFS64_IOCTLS_UNKNOWN) { ret = ioctl(fd, cmd64, &oob64); if (ret == 0) return ret; if (errno != ENOTTY || lib->offs64_ioctls != OFFS64_IOCTLS_UNKNOWN) { sys_errmsg("%s ioctl failed for mtd%d, offset %" PRIu64 " (eraseblock %" PRIu64 ")", cmd64_str, mtd->mtd_num, start, start / mtd->eb_size); } /* * MEMREADOOB64/MEMWRITEOOB64 support was added in kernel * version 2.6.31, so probably we are working with older kernel * and these ioctls are not supported. */ lib->offs64_ioctls = OFFS64_IOCTLS_NOT_SUPPORTED; } if (oob64.start > 0xFFFFFFFFULL) { errmsg("this system can address only up to address %lu", 0xFFFFFFFFUL); errno = EINVAL; return -1; } oob.start = oob64.start; oob.length = oob64.length; oob.ptr = data; ret = ioctl(fd, cmd, &oob); if (ret < 0) sys_errmsg("%s ioctl failed for mtd%d, offset %" PRIu64 " (eraseblock %" PRIu64 ")", cmd_str, mtd->mtd_num, start, start / mtd->eb_size); return ret; } int mtd_read_oob(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, uint64_t start, uint64_t length, void *data) { return do_oob_op(desc, mtd, fd, start, length, data, MEMREADOOB64, MEMREADOOB); } int mtd_write_oob(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, uint64_t start, uint64_t length, void *data) { return do_oob_op(desc, mtd, fd, start, length, data, MEMWRITEOOB64, MEMWRITEOOB); } int mtd_write_img(const struct mtd_dev_info *mtd, int fd, int eb, int offs, const char *img_name) { int tmp, ret, in_fd, len, written = 0; off_t seek; struct stat st; char *buf; ret = mtd_valid_erase_block(mtd, eb); if (ret) return ret; if (offs < 0 || offs >= mtd->eb_size) { errmsg("bad offset %d, mtd%d eraseblock size is %d", offs, mtd->mtd_num, mtd->eb_size); errno = EINVAL; return -1; } if (offs % mtd->subpage_size) { errmsg("write offset %d is not aligned to mtd%d min. I/O size %d", offs, mtd->mtd_num, mtd->subpage_size); errno = EINVAL; return -1; } in_fd = open(img_name, O_RDONLY | O_CLOEXEC); if (in_fd == -1) return sys_errmsg("cannot open \"%s\"", img_name); if (fstat(in_fd, &st)) { sys_errmsg("cannot stat %s", img_name); goto out_close; } len = st.st_size; if (len % mtd->subpage_size) { errmsg("size of \"%s\" is %d byte, which is not aligned to " "mtd%d min. I/O size %d", img_name, len, mtd->mtd_num, mtd->subpage_size); errno = EINVAL; goto out_close; } tmp = (offs + len + mtd->eb_size - 1) / mtd->eb_size; if (eb + tmp > mtd->eb_cnt) { errmsg("\"%s\" image size is %d bytes, mtd%d size is %d " "eraseblocks, the image does not fit if we write it " "starting from eraseblock %d, offset %d", img_name, len, mtd->mtd_num, mtd->eb_cnt, eb, offs); errno = EINVAL; goto out_close; } /* Seek to the beginning of the eraseblock */ seek = (off_t)eb * mtd->eb_size + offs; if (lseek(fd, seek, SEEK_SET) != seek) { sys_errmsg("cannot seek mtd%d to offset %"PRIdoff_t, mtd->mtd_num, seek); goto out_close; } buf = xmalloc(mtd->eb_size); while (written < len) { int rd = 0; do { ret = read(in_fd, buf, mtd->eb_size - offs - rd); if (ret == -1) { sys_errmsg("cannot read \"%s\"", img_name); goto out_free; } rd += ret; } while (ret && rd < mtd->eb_size - offs); ret = write(fd, buf, rd); if (ret != rd) { sys_errmsg("cannot write %d bytes to mtd%d (eraseblock %d, offset %d)", len, mtd->mtd_num, eb, offs); goto out_free; } offs = 0; eb += 1; written += rd; } free(buf); close(in_fd); return 0; out_free: free(buf); out_close: close(in_fd); return -1; } int mtd_probe_node(libmtd_t desc, const char *node) { struct stat st; struct mtd_info info; int i, mjr, mnr; struct libmtd *lib = (struct libmtd *)desc; if (stat(node, &st)) return sys_errmsg("cannot get information about \"%s\"", node); if (!S_ISCHR(st.st_mode)) { errmsg("\"%s\" is not a character device", node); errno = EINVAL; return -1; } mjr = major(st.st_rdev); mnr = minor(st.st_rdev); if (mtd_get_info((libmtd_t *)lib, &info)) return -1; if (!lib->sysfs_supported) return 0; for (i = info.lowest_mtd_num; i <= info.highest_mtd_num; i++) { int mjr1, mnr1, ret; ret = dev_get_major(lib, i, &mjr1, &mnr1); if (ret) { if (errno == ENOENT) continue; if (!errno) break; return -1; } if (mjr1 == mjr && mnr1 == mnr) return 1; } errno = 0; return -1; } fio-3.39/oslib/libmtd.h000066400000000000000000000267651476262051600150120ustar00rootroot00000000000000/* * Copyright (C) 2008, 2009 Nokia Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * Author: Artem Bityutskiy * * MTD library. */ /* Imported from mtd-utils by dehrenberg */ #ifndef __LIBMTD_H__ #define __LIBMTD_H__ #ifdef __cplusplus extern "C" { #endif // Needed for uint8_t, uint64_t #include /* Maximum MTD device name length */ #define MTD_NAME_MAX 127 /* Maximum MTD device type string length */ #define MTD_TYPE_MAX 64 /* MTD library descriptor */ typedef void * libmtd_t; /* Forward decls */ struct region_info_user; /** * @mtd_dev_cnt: count of MTD devices in system * @lowest_mtd_num: lowest MTD device number in system * @highest_mtd_num: highest MTD device number in system * @sysfs_supported: non-zero if sysfs is supported by MTD */ struct mtd_info { int mtd_dev_cnt; int lowest_mtd_num; int highest_mtd_num; unsigned int sysfs_supported:1; }; /** * struct mtd_dev_info - information about an MTD device. * @mtd_num: MTD device number * @major: major number of corresponding character device * @minor: minor number of corresponding character device * @type: flash type (constants like %MTD_NANDFLASH defined in mtd-abi.h) * @type_str: static R/O flash type string * @name: device name * @size: device size in bytes * @eb_cnt: count of eraseblocks * @eb_size: eraseblock size * @min_io_size: minimum input/output unit size * @subpage_size: sub-page size * @oob_size: OOB size (zero if the device does not have OOB area) * @region_cnt: count of additional erase regions * @writable: zero if the device is read-only * @bb_allowed: non-zero if the MTD device may have bad eraseblocks */ struct mtd_dev_info { int mtd_num; int major; int minor; int type; char type_str[MTD_TYPE_MAX + 1]; char name[MTD_NAME_MAX + 1]; long long size; int eb_cnt; int eb_size; int min_io_size; int subpage_size; int oob_size; int region_cnt; unsigned int writable:1; unsigned int bb_allowed:1; }; /** * libmtd_open - open MTD library. * * This function initializes and opens the MTD library and returns MTD library * descriptor in case of success and %NULL in case of failure. In case of * failure, errno contains zero if MTD is not present in the system, or * contains the error code if a real error happened. */ libmtd_t libmtd_open(void); /** * libmtd_close - close MTD library. * @desc: MTD library descriptor */ void libmtd_close(libmtd_t desc); /** * mtd_dev_present - check whether a MTD device is present. * @desc: MTD library descriptor * @mtd_num: MTD device number to check * * This function returns %1 if MTD device is present and %0 if not. */ int mtd_dev_present(libmtd_t desc, int mtd_num); /** * mtd_get_info - get general MTD information. * @desc: MTD library descriptor * @info: the MTD device information is returned here * * This function fills the passed @info object with general MTD information and * returns %0 in case of success and %-1 in case of failure. If MTD subsystem is * not present in the system, errno is set to @ENODEV. */ int mtd_get_info(libmtd_t desc, struct mtd_info *info); /** * mtd_get_dev_info - get information about an MTD device. * @desc: MTD library descriptor * @node: name of the MTD device node * @mtd: the MTD device information is returned here * * This function gets information about MTD device defined by the @node device * node file and saves this information in the @mtd object. Returns %0 in case * of success and %-1 in case of failure. If MTD subsystem is not present in the * system, or the MTD device does not exist, errno is set to @ENODEV. */ int mtd_get_dev_info(libmtd_t desc, const char *node, struct mtd_dev_info *mtd); /** * mtd_get_dev_info1 - get information about an MTD device. * @desc: MTD library descriptor * @mtd_num: MTD device number to fetch information about * @mtd: the MTD device information is returned here * * This function is identical to 'mtd_get_dev_info()' except that it accepts * MTD device number, not MTD character device. */ int mtd_get_dev_info1(libmtd_t desc, int mtd_num, struct mtd_dev_info *mtd); /** * mtd_lock - lock eraseblocks. * @desc: MTD library descriptor * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to lock * * This function locks eraseblock @eb. Returns %0 in case of success and %-1 * in case of failure. */ int mtd_lock(const struct mtd_dev_info *mtd, int fd, int eb); /** * mtd_unlock - unlock eraseblocks. * @desc: MTD library descriptor * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to lock * * This function unlocks eraseblock @eb. Returns %0 in case of success and %-1 * in case of failure. */ int mtd_unlock(const struct mtd_dev_info *mtd, int fd, int eb); /** * mtd_erase - erase an eraseblock. * @desc: MTD library descriptor * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to erase * * This function erases eraseblock @eb of MTD device described by @fd. Returns * %0 in case of success and %-1 in case of failure. */ int mtd_erase(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb); /** * mtd_regioninfo - get information about an erase region. * @fd: MTD device node file descriptor * @regidx: index of region to look up * @reginfo: the region information is returned here * * This function gets information about an erase region defined by the * @regidx index and saves this information in the @reginfo object. * Returns %0 in case of success and %-1 in case of failure. If the * @regidx is not valid or unavailable, errno is set to @ENODEV. */ int mtd_regioninfo(int fd, int regidx, struct region_info_user *reginfo); /** * mtd_is_locked - see if the specified eraseblock is locked. * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to check * * This function checks to see if eraseblock @eb of MTD device described * by @fd is locked. Returns %0 if it is unlocked, %1 if it is locked, and * %-1 in case of failure. If the ioctl is not supported (support was added in * Linux kernel 2.6.36) or this particular device does not support it, errno is * set to @ENOTSUPP. */ int mtd_is_locked(const struct mtd_dev_info *mtd, int fd, int eb); /** * mtd_torture - torture an eraseblock. * @desc: MTD library descriptor * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to torture * * This function tortures eraseblock @eb. Returns %0 in case of success and %-1 * in case of failure. */ int mtd_torture(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb); /** * mtd_is_bad - check if eraseblock is bad. * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to check * * This function checks if eraseblock @eb is bad. Returns %0 if not, %1 if yes, * and %-1 in case of failure. */ int mtd_is_bad(const struct mtd_dev_info *mtd, int fd, int eb); /** * mtd_mark_bad - mark an eraseblock as bad. * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to mark as bad * * This function marks eraseblock @eb as bad. Returns %0 in case of success and * %-1 in case of failure. */ int mtd_mark_bad(const struct mtd_dev_info *mtd, int fd, int eb); /** * mtd_read - read data from an MTD device. * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to read from * @offs: offset within the eraseblock to read from * @buf: buffer to read data to * @len: how many bytes to read * * This function reads @len bytes of data from eraseblock @eb and offset @offs * of the MTD device defined by @mtd and stores the read data at buffer @buf. * Returns %0 in case of success and %-1 in case of failure. */ int mtd_read(const struct mtd_dev_info *mtd, int fd, int eb, int offs, void *buf, int len); /** * mtd_write - write data to an MTD device. * @desc: MTD library descriptor * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to write to * @offs: offset within the eraseblock to write to * @data: data buffer to write * @len: how many data bytes to write * @oob: OOB buffer to write * @ooblen: how many OOB bytes to write * @mode: write mode (e.g., %MTD_OOB_PLACE, %MTD_OOB_RAW) * * This function writes @len bytes of data to eraseblock @eb and offset @offs * of the MTD device defined by @mtd. Returns %0 in case of success and %-1 in * case of failure. * * Can only write to a single page at a time if writing to OOB. */ int mtd_write(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, int eb, int offs, void *data, int len, void *oob, int ooblen, uint8_t mode); /** * mtd_read_oob - read out-of-band area. * @desc: MTD library descriptor * @mtd: MTD device description object * @fd: MTD device node file descriptor * @start: page-aligned start address * @length: number of OOB bytes to read * @data: read buffer * * This function reads @length OOB bytes starting from address @start on * MTD device described by @fd. The address is specified as page byte offset * from the beginning of the MTD device. This function returns %0 in case of * success and %-1 in case of failure. */ int mtd_read_oob(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, uint64_t start, uint64_t length, void *data); /** * mtd_write_oob - write out-of-band area. * @desc: MTD library descriptor * @mtd: MTD device description object * @fd: MTD device node file descriptor * @start: page-aligned start address * @length: number of OOB bytes to write * @data: write buffer * * This function writes @length OOB bytes starting from address @start on * MTD device described by @fd. The address is specified as page byte offset * from the beginning of the MTD device. Returns %0 in case of success and %-1 * in case of failure. */ int mtd_write_oob(libmtd_t desc, const struct mtd_dev_info *mtd, int fd, uint64_t start, uint64_t length, void *data); /** * mtd_write_img - write a file to MTD device. * @mtd: MTD device description object * @fd: MTD device node file descriptor * @eb: eraseblock to write to * @offs: offset within the eraseblock to write to * @img_name: the file to write * * This function writes an image @img_name the MTD device defined by @mtd. @eb * and @offs are the starting eraseblock and offset on the MTD device. Returns * %0 in case of success and %-1 in case of failure. */ int mtd_write_img(const struct mtd_dev_info *mtd, int fd, int eb, int offs, const char *img_name); /** * mtd_probe_node - test MTD node. * @desc: MTD library descriptor * @node: the node to test * * This function tests whether @node is an MTD device node and returns %1 if it * is, and %-1 if it is not (errno is %ENODEV in this case) or if an error * occurred. */ int mtd_probe_node(libmtd_t desc, const char *node); #ifdef __cplusplus } #endif #endif /* __LIBMTD_H__ */ fio-3.39/oslib/libmtd_common.h000066400000000000000000000121321476262051600163410ustar00rootroot00000000000000/* * Copyright (c) Artem Bityutskiy, 2007, 2008 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Imported from mtd-utils by dehrenberg */ #ifndef __MTD_UTILS_COMMON_H__ #define __MTD_UTILS_COMMON_H__ #include #include #include #include #include #include #include #include #include #include #ifndef PROGRAM_NAME # error "You must define PROGRAM_NAME before including this header" #endif #ifdef __cplusplus extern "C" { #endif #ifndef MIN /* some C lib headers define this for us */ #define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif #ifndef MAX #define MAX(a, b) ((a) > (b) ? (a) : (b)) #endif #define min(a, b) MIN(a, b) /* glue for linux kernel source */ #define ALIGN(x,a) __ALIGN_MASK(x,(__typeof__(x))(a)-1) #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) #define min_t(t,x,y) ({ \ __typeof__((x)) _x = (x); \ __typeof__((y)) _y = (y); \ (_x < _y) ? _x : _y; \ }) #define max_t(t,x,y) ({ \ __typeof__((x)) _x = (x); \ __typeof__((y)) _y = (y); \ (_x > _y) ? _x : _y; \ }) #ifndef O_CLOEXEC #define O_CLOEXEC 0 #endif /* define a print format specifier for off_t */ #ifdef __USE_FILE_OFFSET64 #define PRIxoff_t PRIx64 #define PRIdoff_t PRId64 #else #define PRIxoff_t "l"PRIx32 #define PRIdoff_t "l"PRId32 #endif /* Verbose messages */ #define bareverbose(verbose, fmt, ...) do { \ if (verbose) \ printf(fmt, ##__VA_ARGS__); \ } while(0) #define verbose(verbose, fmt, ...) \ bareverbose(verbose, "%s: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__) /* Normal messages */ #define normsg_cont(fmt, ...) do { \ printf("%s: " fmt, PROGRAM_NAME, ##__VA_ARGS__); \ } while(0) #define normsg(fmt, ...) do { \ normsg_cont(fmt "\n", ##__VA_ARGS__); \ } while(0) /* Error messages */ #define errmsg(fmt, ...) ({ \ fprintf(stderr, "%s: error!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \ -1; \ }) #define errmsg_die(fmt, ...) do { \ exit(errmsg(fmt, ##__VA_ARGS__)); \ } while(0) /* System error messages */ #define sys_errmsg(fmt, ...) ({ \ int _err = errno; \ errmsg(fmt, ##__VA_ARGS__); \ fprintf(stderr, "%*serror %d (%s)\n", (int)sizeof(PROGRAM_NAME) + 1,\ "", _err, strerror(_err)); \ -1; \ }) #define sys_errmsg_die(fmt, ...) do { \ exit(sys_errmsg(fmt, ##__VA_ARGS__)); \ } while(0) /* Warnings */ #define warnmsg(fmt, ...) do { \ fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \ } while(0) static inline int is_power_of_2(unsigned long long n) { return (n != 0 && ((n & (n - 1)) == 0)); } /** * simple_strtoX - convert a hex/dec/oct string into a number * @snum: buffer to convert * @error: set to 1 when buffer isn't fully consumed * * These functions are similar to the standard strtoX() functions, but they are * a little bit easier to use if you want to convert full string of digits into * the binary form. The typical usage: * * int error = 0; * unsigned long num; * * num = simple_strtoul(str, &error); * if (error || ... if needed, your check that num is not out of range ...) * error_happened(); */ #define simple_strtoX(func, type) \ static inline type simple_##func(const char *snum, int *error) \ { \ char *endptr; \ type ret = func(snum, &endptr, 0); \ \ if (error && (!*snum || *endptr)) { \ errmsg("%s: unable to parse the number '%s'", #func, snum); \ *error = 1; \ } \ \ return ret; \ } simple_strtoX(strtol, long int) simple_strtoX(strtoll, long long int) simple_strtoX(strtoul, unsigned long int) simple_strtoX(strtoull, unsigned long long int) /* Simple version-printing for utils */ #define common_print_version() \ do { \ printf("%s %s\n", PROGRAM_NAME, VERSION); \ } while (0) #include "libmtd_xalloc.h" #ifdef __cplusplus } #endif #endif /* !__MTD_UTILS_COMMON_H__ */ fio-3.39/oslib/libmtd_int.h000066400000000000000000000071571476262051600156560ustar00rootroot00000000000000/* * Copyright (c) International Business Machines Corp., 2006 * Copyright (C) 2009 Nokia Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * Author: Artem Bityutskiy * * MTD library. */ /* Imported from mtd-utils by dehrenberg */ #ifndef __LIBMTD_INT_H__ #define __LIBMTD_INT_H__ #ifdef __cplusplus extern "C" { #endif #define PROGRAM_NAME "libmtd" #define SYSFS_MTD "class/mtd" #define MTD_NAME_PATT "mtd%d" #define MTD_DEV "dev" #define MTD_NAME "name" #define MTD_TYPE "type" #define MTD_EB_SIZE "erasesize" #define MTD_SIZE "size" #define MTD_MIN_IO_SIZE "writesize" #define MTD_SUBPAGE_SIZE "subpagesize" #define MTD_OOB_SIZE "oobsize" #define MTD_REGION_CNT "numeraseregions" #define MTD_FLAGS "flags" #define OFFS64_IOCTLS_UNKNOWN 0 #define OFFS64_IOCTLS_NOT_SUPPORTED 1 #define OFFS64_IOCTLS_SUPPORTED 2 /** * libmtd - MTD library description data structure. * @sysfs_mtd: MTD directory in sysfs * @mtd: MTD device sysfs directory pattern * @mtd_dev: MTD device major/minor numbers file pattern * @mtd_name: MTD device name file pattern * @mtd_type: MTD device type file pattern * @mtd_eb_size: MTD device eraseblock size file pattern * @mtd_size: MTD device size file pattern * @mtd_min_io_size: minimum I/O unit size file pattern * @mtd_subpage_size: sub-page size file pattern * @mtd_oob_size: MTD device OOB size file pattern * @mtd_region_cnt: count of additional erase regions file pattern * @mtd_flags: MTD device flags file pattern * @sysfs_supported: non-zero if sysfs is supported by MTD * @offs64_ioctls: %OFFS64_IOCTLS_SUPPORTED if 64-bit %MEMERASE64, * %MEMREADOOB64, %MEMWRITEOOB64 MTD device ioctls are * supported, %OFFS64_IOCTLS_NOT_SUPPORTED if not, and * %OFFS64_IOCTLS_UNKNOWN if it is not known yet; * * Note, we cannot find out whether 64-bit ioctls are supported by MTD when we * are initializing the library, because this requires an MTD device node. * Indeed, we have to actually call the ioctl and check for %ENOTTY to find * out whether it is supported or not. * * Thus, we leave %offs64_ioctls uninitialized in 'libmtd_open()', and * initialize it later, when corresponding libmtd function is used, and when * we actually have a device node and can invoke an ioctl command on it. */ struct libmtd { char *sysfs_mtd; char *mtd; char *mtd_dev; char *mtd_name; char *mtd_type; char *mtd_eb_size; char *mtd_size; char *mtd_min_io_size; char *mtd_subpage_size; char *mtd_oob_size; char *mtd_region_cnt; char *mtd_flags; unsigned int sysfs_supported:1; unsigned int offs64_ioctls:2; }; int legacy_libmtd_open(void); int legacy_dev_present(int mtd_num); int legacy_mtd_get_info(struct mtd_info *info); int legacy_get_dev_info(const char *node, struct mtd_dev_info *mtd); int legacy_get_dev_info1(int dev_num, struct mtd_dev_info *mtd); #ifdef __cplusplus } #endif #endif /* !__LIBMTD_INT_H__ */ fio-3.39/oslib/libmtd_legacy.c000066400000000000000000000221061476262051600163120ustar00rootroot00000000000000/* * Copyright (C) 2009 Nokia Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * Author: Artem Bityutskiy * * This file is part of the MTD library. Implements pre-2.6.30 kernels support, * where MTD did not have sysfs interface. The main limitation of the old * kernels was that the sub-page size was not exported to user-space, so it was * not possible to get sub-page size. */ /* Imported from mtd-utils by dehrenberg */ #include #include #include #include #include #include #include #include #include #include "libmtd.h" #include "libmtd_int.h" #include "libmtd_common.h" #define MTD_PROC_FILE "/proc/mtd" #define MTD_DEV_PATT "/dev/mtd%d" #define MTD_DEV_MAJOR 90 #define PROC_MTD_FIRST "dev: size erasesize name\n" #define PROC_MTD_FIRST_LEN (sizeof(PROC_MTD_FIRST) - 1) #define PROC_MTD_MAX_LEN 4096 #define PROC_MTD_PATT "mtd%d: %llx %x" /** * struct proc_parse_info - /proc/mtd parsing information. * @mtd_num: MTD device number * @size: device size * @eb_size: eraseblock size * @name: device name * @buf: contents of /proc/mtd * @data_size: how much data was read into @buf * @pos: next string in @buf to parse */ struct proc_parse_info { int mtd_num; long long size; char name[MTD_NAME_MAX + 1]; int eb_size; char *buf; int data_size; char *next; }; static int proc_parse_start(struct proc_parse_info *pi) { int fd, ret; fd = open(MTD_PROC_FILE, O_RDONLY); if (fd == -1) return -1; pi->buf = xmalloc(PROC_MTD_MAX_LEN); ret = read(fd, pi->buf, PROC_MTD_MAX_LEN); if (ret == -1) { sys_errmsg("cannot read \"%s\"", MTD_PROC_FILE); goto out_free; } if (ret < PROC_MTD_FIRST_LEN || memcmp(pi->buf, PROC_MTD_FIRST, PROC_MTD_FIRST_LEN)) { errmsg("\"%s\" does not start with \"%s\"", MTD_PROC_FILE, PROC_MTD_FIRST); goto out_free; } pi->data_size = ret; pi->next = pi->buf + PROC_MTD_FIRST_LEN; close(fd); return 0; out_free: free(pi->buf); close(fd); return -1; } static int proc_parse_next(struct proc_parse_info *pi) { int ret, len, pos = pi->next - pi->buf; char *p, *p1; if (pos >= pi->data_size) { free(pi->buf); return 0; } ret = sscanf(pi->next, PROC_MTD_PATT, &pi->mtd_num, &pi->size, &pi->eb_size); if (ret != 3) return errmsg("\"%s\" pattern not found", PROC_MTD_PATT); p = memchr(pi->next, '\"', pi->data_size - pos); if (!p) return errmsg("opening \" not found"); p += 1; pos = p - pi->buf; if (pos >= pi->data_size) return errmsg("opening \" not found"); p1 = memchr(p, '\"', pi->data_size - pos); if (!p1) return errmsg("closing \" not found"); pos = p1 - pi->buf; if (pos >= pi->data_size) return errmsg("closing \" not found"); len = p1 - p; if (len > MTD_NAME_MAX) return errmsg("too long mtd%d device name", pi->mtd_num); memcpy(pi->name, p, len); pi->name[len] = '\0'; if (p1[1] != '\n') return errmsg("opening \"\n\" not found"); pi->next = p1 + 2; return 1; } /** * legacy_libmtd_open - legacy version of 'libmtd_open()'. * * This function is just checks that MTD is present in the system. Returns * zero in case of success and %-1 in case of failure. In case of failure, * errno contains zero if MTD is not present in the system, or contains the * error code if a real error happened. This is similar to the 'libmtd_open()' * return conventions. */ int legacy_libmtd_open(void) { int fd; fd = open(MTD_PROC_FILE, O_RDONLY); if (fd == -1) { if (errno == ENOENT) errno = 0; return -1; } close(fd); return 0; } /** * legacy_dev_presentl - legacy version of 'mtd_dev_present()'. * @info: the MTD device information is returned here * * When the kernel does not provide sysfs files for the MTD subsystem, * fall-back to parsing the /proc/mtd file to determine whether an mtd device * number @mtd_num is present. */ int legacy_dev_present(int mtd_num) { int ret; struct proc_parse_info pi; ret = proc_parse_start(&pi); if (ret) return -1; while (proc_parse_next(&pi)) { if (pi.mtd_num == mtd_num) return 1; } return 0; } /** * legacy_mtd_get_info - legacy version of 'mtd_get_info()'. * @info: the MTD device information is returned here * * This function is similar to 'mtd_get_info()' and has the same conventions. */ int legacy_mtd_get_info(struct mtd_info *info) { int ret; struct proc_parse_info pi; ret = proc_parse_start(&pi); if (ret) return -1; info->lowest_mtd_num = INT_MAX; while (proc_parse_next(&pi)) { info->mtd_dev_cnt += 1; if (pi.mtd_num > info->highest_mtd_num) info->highest_mtd_num = pi.mtd_num; if (pi.mtd_num < info->lowest_mtd_num) info->lowest_mtd_num = pi.mtd_num; } return 0; } /** * legacy_get_dev_info - legacy version of 'mtd_get_dev_info()'. * @node: name of the MTD device node * @mtd: the MTD device information is returned here * * This function is similar to 'mtd_get_dev_info()' and has the same * conventions. */ int legacy_get_dev_info(const char *node, struct mtd_dev_info *mtd) { struct stat st; struct mtd_info_user ui; int fd, ret; loff_t offs = 0; struct proc_parse_info pi; if (stat(node, &st)) { sys_errmsg("cannot open \"%s\"", node); if (errno == ENOENT) normsg("MTD subsystem is old and does not support " "sysfs, so MTD character device nodes have " "to exist"); } if (!S_ISCHR(st.st_mode)) { errno = EINVAL; return errmsg("\"%s\" is not a character device", node); } memset(mtd, '\0', sizeof(struct mtd_dev_info)); mtd->major = major(st.st_rdev); mtd->minor = minor(st.st_rdev); if (mtd->major != MTD_DEV_MAJOR) { errno = EINVAL; return errmsg("\"%s\" has major number %d, MTD devices have " "major %d", node, mtd->major, MTD_DEV_MAJOR); } mtd->mtd_num = mtd->minor / 2; fd = open(node, O_RDONLY); if (fd == -1) return sys_errmsg("cannot open \"%s\"", node); if (ioctl(fd, MEMGETINFO, &ui)) { sys_errmsg("MEMGETINFO ioctl request failed"); goto out_close; } ret = ioctl(fd, MEMGETBADBLOCK, &offs); if (ret == -1) { if (errno != EOPNOTSUPP) { sys_errmsg("MEMGETBADBLOCK ioctl failed"); goto out_close; } errno = 0; mtd->bb_allowed = 0; } else mtd->bb_allowed = 1; mtd->type = ui.type; mtd->size = ui.size; mtd->eb_size = ui.erasesize; mtd->min_io_size = ui.writesize; mtd->oob_size = ui.oobsize; if (mtd->min_io_size <= 0) { errmsg("mtd%d (%s) has insane min. I/O unit size %d", mtd->mtd_num, node, mtd->min_io_size); goto out_close; } if (mtd->eb_size <= 0 || mtd->eb_size < mtd->min_io_size) { errmsg("mtd%d (%s) has insane eraseblock size %d", mtd->mtd_num, node, mtd->eb_size); goto out_close; } if (mtd->size <= 0 || mtd->size < mtd->eb_size) { errmsg("mtd%d (%s) has insane size %lld", mtd->mtd_num, node, mtd->size); goto out_close; } mtd->eb_cnt = mtd->size / mtd->eb_size; switch(mtd->type) { case MTD_ABSENT: errmsg("mtd%d (%s) is removable and is not present", mtd->mtd_num, node); goto out_close; case MTD_RAM: strcpy((char *)mtd->type_str, "ram"); break; case MTD_ROM: strcpy((char *)mtd->type_str, "rom"); break; case MTD_NORFLASH: strcpy((char *)mtd->type_str, "nor"); break; case MTD_NANDFLASH: strcpy((char *)mtd->type_str, "nand"); break; case MTD_MLCNANDFLASH: strcpy((char *)mtd->type_str, "mlc-nand"); break; case MTD_DATAFLASH: strcpy((char *)mtd->type_str, "dataflash"); break; case MTD_UBIVOLUME: strcpy((char *)mtd->type_str, "ubi"); break; default: goto out_close; } if (ui.flags & MTD_WRITEABLE) mtd->writable = 1; mtd->subpage_size = mtd->min_io_size; close(fd); /* * Unfortunately, the device name is not available via ioctl, and * we have to parse /proc/mtd to get it. */ ret = proc_parse_start(&pi); if (ret) return -1; while (proc_parse_next(&pi)) { if (pi.mtd_num == mtd->mtd_num) { strcpy((char *)mtd->name, pi.name); return 0; } } errmsg("mtd%d not found in \"%s\"", mtd->mtd_num, MTD_PROC_FILE); errno = ENOENT; return -1; out_close: close(fd); return -1; } /** * legacy_get_dev_info1 - legacy version of 'mtd_get_dev_info1()'. * @node: name of the MTD device node * @mtd: the MTD device information is returned here * * This function is similar to 'mtd_get_dev_info1()' and has the same * conventions. */ int legacy_get_dev_info1(int mtd_num, struct mtd_dev_info *mtd) { char node[sizeof(MTD_DEV_PATT) + 20]; sprintf(node, MTD_DEV_PATT, mtd_num); return legacy_get_dev_info(node, mtd); } fio-3.39/oslib/libmtd_xalloc.h000066400000000000000000000046721476262051600163450ustar00rootroot00000000000000/* * memory wrappers * * Copyright (c) Artem Bityutskiy, 2007, 2008 * Copyright 2001, 2002 Red Hat, Inc. * 2001 David A. Schleef * 2002 Axis Communications AB * 2001, 2002 Erik Andersen * 2004 University of Szeged, Hungary * 2006 KaiGai Kohei * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef __MTD_UTILS_XALLOC_H__ #define __MTD_UTILS_XALLOC_H__ #include #include #include /* * Mark these functions as unused so that gcc does not emit warnings * when people include this header but don't use every function. */ __attribute__((unused)) static void *xmalloc(size_t size) { void *ptr = malloc(size); if (ptr == NULL && size != 0) sys_errmsg_die("out of memory"); return ptr; } __attribute__((unused)) static void *xcalloc(size_t nmemb, size_t size) { void *ptr = calloc(nmemb, size); if (ptr == NULL && nmemb != 0 && size != 0) sys_errmsg_die("out of memory"); return ptr; } __attribute__((unused)) static void *xzalloc(size_t size) { return xcalloc(1, size); } __attribute__((unused)) static void *xrealloc(void *ptr, size_t size) { ptr = realloc(ptr, size); if (ptr == NULL && size != 0) sys_errmsg_die("out of memory"); return ptr; } __attribute__((unused)) static char *xstrdup(const char *s) { char *t; if (s == NULL) return NULL; t = strdup(s); if (t == NULL) sys_errmsg_die("out of memory"); return t; } #ifdef _GNU_SOURCE __attribute__((unused)) static int xasprintf(char **strp, const char *fmt, ...) { int cnt; va_list ap; va_start(ap, fmt); cnt = vasprintf(strp, fmt, ap); va_end(ap); if (cnt == -1) sys_errmsg_die("out of memory"); return cnt; } #endif #endif /* !__MTD_UTILS_XALLOC_H__ */ fio-3.39/oslib/linux-blkzoned.c000066400000000000000000000206001476262051600164550ustar00rootroot00000000000000/* * Copyright (C) 2020 Western Digital Corporation or its affiliates. * * This file is released under the GPL. */ #include #include #include #include #include #include #include #include #include "file.h" #include "fio.h" #include "lib/pow2.h" #include "log.h" #include "oslib/asprintf.h" #include "smalloc.h" #include "verify.h" #include "zbd_types.h" #include #ifndef BLKFINISHZONE #define BLKFINISHZONE _IOW(0x12, 136, struct blk_zone_range) #endif /* * If the uapi headers installed on the system lacks zone capacity support, * use our local versions. If the installed headers are recent enough to * support zone capacity, do not redefine any structs. */ #ifndef CONFIG_HAVE_REP_CAPACITY #define BLK_ZONE_REP_CAPACITY (1 << 0) struct blk_zone_v2 { __u64 start; /* Zone start sector */ __u64 len; /* Zone length in number of sectors */ __u64 wp; /* Zone write pointer position */ __u8 type; /* Zone type */ __u8 cond; /* Zone condition */ __u8 non_seq; /* Non-sequential write resources active */ __u8 reset; /* Reset write pointer recommended */ __u8 resv[4]; __u64 capacity; /* Zone capacity in number of sectors */ __u8 reserved[24]; }; #define blk_zone blk_zone_v2 struct blk_zone_report_v2 { __u64 sector; __u32 nr_zones; __u32 flags; struct blk_zone zones[0]; }; #define blk_zone_report blk_zone_report_v2 #endif /* CONFIG_HAVE_REP_CAPACITY */ /* * Read up to 255 characters from the first line of a file. Strip the trailing * newline. */ static char *read_file(const char *path) { char line[256], *p = line; FILE *f; f = fopen(path, "rb"); if (!f) return NULL; if (!fgets(line, sizeof(line), f)) line[0] = '\0'; strsep(&p, "\n"); fclose(f); return strdup(line); } /* * Get the value of a sysfs attribute for a block device. * * Returns NULL on failure. * Returns a pointer to a string on success. * The caller is responsible for freeing the memory. */ static char *blkzoned_get_sysfs_attr(const char *file_name, const char *attr) { char *attr_path = NULL; struct stat statbuf; char *sys_devno_path = NULL; char *part_attr_path = NULL; char *part_str = NULL; char sys_path[PATH_MAX]; ssize_t sz; char *delim = NULL; char *attr_str = NULL; if (stat(file_name, &statbuf) < 0) goto out; if (asprintf(&sys_devno_path, "/sys/dev/block/%d:%d", major(statbuf.st_rdev), minor(statbuf.st_rdev)) < 0) goto out; sz = readlink(sys_devno_path, sys_path, sizeof(sys_path) - 1); if (sz < 0) goto out; sys_path[sz] = '\0'; /* * If the device is a partition device, cut the device name in the * canonical sysfs path to obtain the sysfs path of the holder device. * e.g.: /sys/devices/.../sda/sda1 -> /sys/devices/.../sda */ if (asprintf(&part_attr_path, "/sys/dev/block/%s/partition", sys_path) < 0) goto out; part_str = read_file(part_attr_path); if (part_str && *part_str == '1') { delim = strrchr(sys_path, '/'); if (!delim) goto out; *delim = '\0'; } if (asprintf(&attr_path, "/sys/dev/block/%s/%s", sys_path, attr) < 0) goto out; attr_str = read_file(attr_path); out: free(attr_path); free(part_str); free(part_attr_path); free(sys_devno_path); return attr_str; } int blkzoned_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model) { char *model_str = NULL; if (f->filetype != FIO_TYPE_BLOCK) return -EINVAL; *model = ZBD_NONE; model_str = blkzoned_get_sysfs_attr(f->file_name, "queue/zoned"); if (!model_str) return 0; dprint(FD_ZBD, "%s: zbd model string: %s\n", f->file_name, model_str); if (strcmp(model_str, "host-aware") == 0) *model = ZBD_HOST_AWARE; else if (strcmp(model_str, "host-managed") == 0) *model = ZBD_HOST_MANAGED; free(model_str); return 0; } int blkzoned_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones) { char *max_open_str; if (f->filetype != FIO_TYPE_BLOCK) return -EIO; max_open_str = blkzoned_get_sysfs_attr(f->file_name, "queue/max_open_zones"); if (!max_open_str) { *max_open_zones = 0; return 0; } dprint(FD_ZBD, "%s: max open zones supported by device: %s\n", f->file_name, max_open_str); *max_open_zones = atoll(max_open_str); free(max_open_str); return 0; } int blkzoned_get_max_active_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_active_zones) { char *max_active_str; if (f->filetype != FIO_TYPE_BLOCK) return -EIO; max_active_str = blkzoned_get_sysfs_attr(f->file_name, "queue/max_active_zones"); if (!max_active_str) { *max_active_zones = 0; return 0; } dprint(FD_ZBD, "%s: max active zones supported by device: %s\n", f->file_name, max_active_str); *max_active_zones = atoll(max_active_str); free(max_active_str); return 0; } static uint64_t zone_capacity(struct blk_zone_report *hdr, struct blk_zone *blkz) { if (hdr->flags & BLK_ZONE_REP_CAPACITY) return blkz->capacity << 9; return blkz->len << 9; } int blkzoned_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zones, unsigned int nr_zones) { struct blk_zone_report *hdr = NULL; struct blk_zone *blkz; struct zbd_zone *z; unsigned int i; int fd = -1, ret; fd = open(f->file_name, O_RDONLY | O_LARGEFILE); if (fd < 0) return -errno; hdr = calloc(1, sizeof(struct blk_zone_report) + nr_zones * sizeof(struct blk_zone)); if (!hdr) { ret = -ENOMEM; goto out; } hdr->nr_zones = nr_zones; hdr->sector = offset >> 9; ret = ioctl(fd, BLKREPORTZONE, hdr); if (ret) { log_err("%s: BLKREPORTZONE ioctl failed, ret=%d, err=%d.\n", f->file_name, ret, -errno); ret = -errno; goto out; } nr_zones = hdr->nr_zones; blkz = (void *) hdr + sizeof(*hdr); z = &zones[0]; for (i = 0; i < nr_zones; i++, z++, blkz++) { z->start = blkz->start << 9; z->wp = blkz->wp << 9; z->len = blkz->len << 9; z->capacity = zone_capacity(hdr, blkz); switch (blkz->type) { case BLK_ZONE_TYPE_CONVENTIONAL: z->type = ZBD_ZONE_TYPE_CNV; break; case BLK_ZONE_TYPE_SEQWRITE_REQ: z->type = ZBD_ZONE_TYPE_SWR; break; case BLK_ZONE_TYPE_SEQWRITE_PREF: z->type = ZBD_ZONE_TYPE_SWP; break; default: td_verror(td, errno, "invalid zone type"); log_err("%s: invalid type for zone at sector %llu.\n", f->file_name, (unsigned long long)offset >> 9); ret = -EIO; goto out; } switch (blkz->cond) { case BLK_ZONE_COND_NOT_WP: z->cond = ZBD_ZONE_COND_NOT_WP; break; case BLK_ZONE_COND_EMPTY: z->cond = ZBD_ZONE_COND_EMPTY; break; case BLK_ZONE_COND_IMP_OPEN: z->cond = ZBD_ZONE_COND_IMP_OPEN; break; case BLK_ZONE_COND_EXP_OPEN: z->cond = ZBD_ZONE_COND_EXP_OPEN; break; case BLK_ZONE_COND_CLOSED: z->cond = ZBD_ZONE_COND_CLOSED; break; case BLK_ZONE_COND_FULL: z->cond = ZBD_ZONE_COND_FULL; break; case BLK_ZONE_COND_READONLY: case BLK_ZONE_COND_OFFLINE: default: /* Treat all these conditions as offline (don't use!) */ z->cond = ZBD_ZONE_COND_OFFLINE; z->wp = z->start; } } ret = nr_zones; out: free(hdr); close(fd); return ret; } int blkzoned_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { struct blk_zone_range zr = { .sector = offset >> 9, .nr_sectors = length >> 9, }; int fd, ret = 0; /* If the file is not yet opened, open it for this function. */ fd = f->fd; if (fd < 0) { fd = open(f->file_name, O_RDWR | O_LARGEFILE); if (fd < 0) return -errno; } if (ioctl(fd, BLKRESETZONE, &zr) < 0) ret = -errno; if (f->fd < 0) close(fd); return ret; } int blkzoned_finish_zone(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { struct blk_zone_range zr = { .sector = offset >> 9, .nr_sectors = length >> 9, }; int fd, ret = 0; /* If the file is not yet opened, open it for this function. */ fd = f->fd; if (fd < 0) { fd = open(f->file_name, O_RDWR | O_LARGEFILE); if (fd < 0) return -errno; } if (ioctl(fd, BLKFINISHZONE, &zr) < 0) { ret = -errno; /* * Kernel versions older than 5.5 do not support BLKFINISHZONE * and return the ENOTTY error code. These old kernels only * support block devices that close zones automatically. */ if (ret == ENOTTY) ret = 0; } if (f->fd < 0) close(fd); return ret; } fio-3.39/oslib/linux-dev-lookup.c000066400000000000000000000023361476262051600167400ustar00rootroot00000000000000#include #include #include #include #include #include #include #include "linux-dev-lookup.h" int blktrace_lookup_device(const char *redirect, char *path, unsigned int maj, unsigned int min) { struct dirent *dir; struct stat st; int found = 0; DIR *D; /* * If replay_redirect is set then always return this device * upon lookup which overrides the device lookup based on * major minor in the actual blktrace */ if (redirect) { strcpy(path, redirect); return 1; } D = opendir(path); if (!D) return 0; while ((dir = readdir(D)) != NULL) { char full_path[257]; if (!strcmp(dir->d_name, ".") || !strcmp(dir->d_name, "..")) continue; sprintf(full_path, "%s/%s", path, dir->d_name); if (lstat(full_path, &st) == -1) { perror("lstat"); break; } if (S_ISDIR(st.st_mode)) { found = blktrace_lookup_device(redirect, full_path, maj, min); if (found) { strcpy(path, full_path); break; } } if (!S_ISBLK(st.st_mode)) continue; if (maj == major(st.st_rdev) && min == minor(st.st_rdev)) { strcpy(path, full_path); found = 1; break; } } closedir(D); return found; } fio-3.39/oslib/linux-dev-lookup.h000066400000000000000000000002431476262051600167400ustar00rootroot00000000000000#ifndef LINUX_DEV_LOOKUP #define LINUX_DEV_LOOKUP int blktrace_lookup_device(const char *redirect, char *path, unsigned int maj, unsigned int min); #endif fio-3.39/oslib/statx.c000066400000000000000000000007131476262051600146560ustar00rootroot00000000000000#ifndef CONFIG_HAVE_STATX #include "statx.h" #ifdef CONFIG_HAVE_STATX_SYSCALL #include #include int statx(int dfd, const char *pathname, int flags, unsigned int mask, struct statx *buffer) { return syscall(__NR_statx, dfd, pathname, flags, mask, buffer); } #else #include int statx(int dfd, const char *pathname, int flags, unsigned int mask, struct statx *buffer) { errno = EINVAL; return -1; } #endif #endif fio-3.39/oslib/statx.h000066400000000000000000000004211476262051600146570ustar00rootroot00000000000000#ifndef CONFIG_HAVE_STATX #ifdef CONFIG_HAVE_STATX_SYSCALL #include #include #else #define STATX_ALL 0 #undef statx struct statx { }; #endif int statx(int dfd, const char *pathname, int flags, unsigned int mask, struct statx *buffer); #endif fio-3.39/oslib/strcasestr.c000066400000000000000000000006511476262051600157110ustar00rootroot00000000000000#ifndef CONFIG_STRCASESTR #include #include #include "strcasestr.h" char *strcasestr(const char *s1, const char *s2) { const char *s = s1; const char *p = s2; do { if (!*p) return (char *) s1; if ((*p == *s) || (tolower(*p) == tolower(*s))) { ++p; ++s; } else { p = s2; if (!*s) return NULL; s = ++s1; } } while (1); return *p ? NULL : (char *) s1; } #endif fio-3.39/oslib/strcasestr.h000066400000000000000000000002321476262051600157110ustar00rootroot00000000000000#ifndef CONFIG_STRCASESTR #ifndef FIO_STRCASESTR_H #define FIO_STRCASESTR_H char *strcasestr(const char *haystack, const char *needle); #endif #endif fio-3.39/oslib/strlcat.c000066400000000000000000000033021476262051600151640ustar00rootroot00000000000000#ifndef CONFIG_STRLCAT /* * Copyright (c) 1998, 2015 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include #include #include "strlcat.h" /* * Appends src to string dst of size dsize (unlike strncat, dsize is the * full size of dst, not space left). At most dsize-1 characters * will be copied. Always NUL terminates (unless dsize <= strlen(dst)). * Returns strlen(src) + MIN(dsize, strlen(initial dst)). * If retval >= dsize, truncation occurred. */ size_t strlcat(char *dst, const char *src, size_t dsize) { const char *odst = dst; const char *osrc = src; size_t n = dsize; size_t dlen; /* Find the end of dst and adjust bytes left but don't go past end. */ while (n-- != 0 && *dst != '\0') dst++; dlen = dst - odst; n = dsize - dlen; if (n-- == 0) return(dlen + strlen(src)); while (*src != '\0') { if (n != 0) { *dst++ = *src; n--; } src++; } *dst = '\0'; return(dlen + (src - osrc)); /* count does not include NUL */ } #endif fio-3.39/oslib/strlcat.h000066400000000000000000000002441476262051600151730ustar00rootroot00000000000000#ifndef CONFIG_STRLCAT #ifndef FIO_STRLCAT_H #define FIO_STRLCAT_H #include size_t strlcat(char *dst, const char *src, size_t dsize); #endif #endif fio-3.39/oslib/strndup.c000066400000000000000000000003571476262051600152160ustar00rootroot00000000000000#ifndef CONFIG_HAVE_STRNDUP #include #include #include "strndup.h" char *strndup(const char *s, size_t n) { char *str = malloc(n + 1); if (str) { strncpy(str, s, n); str[n] = '\0'; } return str; } #endif fio-3.39/oslib/strndup.h000066400000000000000000000002371476262051600152200ustar00rootroot00000000000000#ifndef CONFIG_HAVE_STRNDUP #ifndef FIO_STRNDUP_LIB_H #define FIO_STRNDUP_LIB_H #include char *strndup(const char *s, size_t n); #endif #endif fio-3.39/oslib/strsep.c000066400000000000000000000006571476262051600150420ustar00rootroot00000000000000#ifndef CONFIG_STRSEP #include #include "strsep.h" char *strsep(char **stringp, const char *delim) { char *s, *tok; const char *spanp; int c, sc; s = *stringp; if (!s) return NULL; tok = s; do { c = *s++; spanp = delim; do { sc = *spanp++; if (sc == c) { if (c == 0) s = NULL; else s[-1] = 0; *stringp = s; return tok; } } while (sc != 0); } while (1); } #endif fio-3.39/oslib/strsep.h000066400000000000000000000001771476262051600150440ustar00rootroot00000000000000#ifndef CONFIG_STRSEP #ifndef FIO_STRSEP_LIB_H #define FIO_STRSEP_LIB_H char *strsep(char **, const char *); #endif #endif fio-3.39/parse.c000066400000000000000000000740041476262051600135210ustar00rootroot00000000000000/* * This file contains the ini and command liner parser main. */ #include #include #include #include #include #include #include #include "compiler/compiler.h" #include "parse.h" #include "debug.h" #include "log.h" #include "options.h" #include "optgroup.h" #include "minmax.h" #include "lib/ieee754.h" #include "lib/pow2.h" #ifdef CONFIG_ARITHMETIC #include "y.tab.h" #endif static const char *opt_type_names[] = { "OPT_INVALID", "OPT_STR", "OPT_STR_ULL", "OPT_STR_MULTI", "OPT_STR_VAL", "OPT_STR_VAL_TIME", "OPT_STR_STORE", "OPT_RANGE", "OPT_INT", "OPT_ULL", "OPT_BOOL", "OPT_FLOAT_LIST", "OPT_STR_SET", "OPT_STR_VAL_ZONE", "OPT_DEPRECATED", "OPT_SOFT_DEPRECATED", "OPT_UNSUPPORTED", }; static const struct fio_option *__fio_options; static int vp_cmp(const void *p1, const void *p2) { const struct value_pair *vp1 = p1; const struct value_pair *vp2 = p2; return strlen(vp2->ival) - strlen(vp1->ival); } static void posval_sort(const struct fio_option *o, struct value_pair *vpmap) { const struct value_pair *vp; int entries; memset(vpmap, 0, PARSE_MAX_VP * sizeof(struct value_pair)); for (entries = 0; entries < PARSE_MAX_VP; entries++) { vp = &o->posval[entries]; if (!vp->ival || vp->ival[0] == '\0') break; memcpy(&vpmap[entries], vp, sizeof(*vp)); } qsort(vpmap, entries, sizeof(struct value_pair), vp_cmp); } static void show_option_range(const struct fio_option *o, ssize_t (*logger)(const char *format, ...)) { if (o->type == FIO_OPT_FLOAT_LIST) { const char *sep = ""; if (!o->minfp && !o->maxfp) return; logger("%20s: ", "range"); if (o->minfp != DBL_MIN) { logger("min=%f", o->minfp); sep = ", "; } if (o->maxfp != DBL_MAX) logger("%smax=%f", sep, o->maxfp); logger("\n"); } else if (!o->posval[0].ival) { if (!o->minval && !o->maxval) return; logger("%20s: min=%d", "range", o->minval); if (o->maxval) logger(", max=%d", o->maxval); logger("\n"); } } static void show_option_values(const struct fio_option *o) { int i; for (i = 0; i < PARSE_MAX_VP; i++) { const struct value_pair *vp = &o->posval[i]; if (!vp->ival) continue; log_info("%20s: %-10s", i == 0 ? "valid values" : "", vp->ival); if (vp->help) log_info(" %s", vp->help); log_info("\n"); } if (i) log_info("\n"); } static void show_option_help(const struct fio_option *o, int is_err) { const char *typehelp[] = { [FIO_OPT_INVALID] = "invalid", [FIO_OPT_STR] = "string (opt=bla)", [FIO_OPT_STR_ULL] = "string (opt=bla)", [FIO_OPT_STR_MULTI] = "string with possible k/m/g postfix (opt=4k)", [FIO_OPT_STR_VAL] = "string (opt=bla)", [FIO_OPT_STR_VAL_TIME] = "string with time postfix (opt=10s)", [FIO_OPT_STR_STORE] = "string (opt=bla)", [FIO_OPT_RANGE] = "one to three ranges (opt=1k-4k[,4k-8k[,1k-8k]])", [FIO_OPT_INT] = "integer value (opt=100)", [FIO_OPT_ULL] = "integer value (opt=100)", [FIO_OPT_BOOL] = "boolean value (opt=1)", [FIO_OPT_FLOAT_LIST] = "list of floating point values separated by ':' (opt=5.9:7.8)", [FIO_OPT_STR_SET] = "empty or boolean value ([0|1])", [FIO_OPT_DEPRECATED] = "deprecated", [FIO_OPT_SOFT_DEPRECATED] = "deprecated", [FIO_OPT_UNSUPPORTED] = "unsupported", }; ssize_t (*logger)(const char *format, ...); if (is_err) logger = log_err; else logger = log_info; if (o->alias) logger("%20s: %s\n", "alias", o->alias); logger("%20s: %s\n", "type", typehelp[o->type]); logger("%20s: %s\n", "default", o->def ? o->def : "no default"); if (o->prof_name) logger("%20s: only for profile '%s'\n", "valid", o->prof_name); show_option_range(o, logger); show_option_values(o); } static unsigned long long get_mult_time(const char *str, int len, int is_seconds) { const char *p = str; char *c; unsigned long long mult = 1; int i; /* * Go forward until we hit a non-digit, or +/- sign */ while ((p - str) <= len) { if (!isdigit((int) *p) && (*p != '+') && (*p != '-')) break; p++; } if (!isalpha((int) *p)) { if (is_seconds) return 1000000UL; else return 1; } c = strdup(p); for (i = 0; i < strlen(c); i++) c[i] = tolower((unsigned char)c[i]); if (!strncmp("us", c, 2) || !strncmp("usec", c, 4)) mult = 1; else if (!strncmp("ms", c, 2) || !strncmp("msec", c, 4)) mult = 1000; else if (!strcmp("s", c)) mult = 1000000; else if (!strcmp("m", c)) mult = 60 * 1000000UL; else if (!strcmp("h", c)) mult = 60 * 60 * 1000000UL; else if (!strcmp("d", c)) mult = 24 * 60 * 60 * 1000000ULL; free(c); return mult; } static int is_separator(char c) { switch (c) { case ':': case '-': case ',': case '/': return 1; default: return 0; } } static unsigned long long __get_mult_bytes(const char *p, void *data, int *percent) { unsigned int kb_base = fio_get_kb_base(data); unsigned long long ret = 1; unsigned int i, pow = 0, mult = kb_base; char *c; if (!p) return 1; c = strdup(p); for (i = 0; i < strlen(c); i++) { c[i] = tolower((unsigned char)c[i]); if (is_separator(c[i])) { c[i] = '\0'; break; } } /* If kb_base is 1000, use true units. * If kb_base is 1024, use opposite units. */ if (!strncmp("pib", c, 3)) { pow = 5; if (kb_base == 1000) mult = 1024; else if (kb_base == 1024) mult = 1000; } else if (!strncmp("tib", c, 3)) { pow = 4; if (kb_base == 1000) mult = 1024; else if (kb_base == 1024) mult = 1000; } else if (!strncmp("gib", c, 3)) { pow = 3; if (kb_base == 1000) mult = 1024; else if (kb_base == 1024) mult = 1000; } else if (!strncmp("mib", c, 3)) { pow = 2; if (kb_base == 1000) mult = 1024; else if (kb_base == 1024) mult = 1000; } else if (!strncmp("kib", c, 3)) { pow = 1; if (kb_base == 1000) mult = 1024; else if (kb_base == 1024) mult = 1000; } else if (!strncmp("p", c, 1) || !strncmp("pb", c, 2)) { pow = 5; } else if (!strncmp("t", c, 1) || !strncmp("tb", c, 2)) { pow = 4; } else if (!strncmp("g", c, 1) || !strncmp("gb", c, 2)) { pow = 3; } else if (!strncmp("m", c, 1) || !strncmp("mb", c, 2)) { pow = 2; } else if (!strncmp("k", c, 1) || !strncmp("kb", c, 2)) { pow = 1; } else if (!strncmp("%", c, 1)) { *percent = 1; free(c); return ret; } while (pow--) ret *= (unsigned long long) mult; free(c); return ret; } static unsigned long long get_mult_bytes(const char *str, int len, void *data, int *percent) { const char *p = str; int digit_seen = 0; if (len < 2) return __get_mult_bytes(str, data, percent); /* * Go forward until we hit a non-digit, or +/- sign */ while ((p - str) <= len) { if (!isdigit((int) *p) && (((*p != '+') && (*p != '-')) || digit_seen)) break; digit_seen |= isdigit((int) *p); p++; } if (!isalpha((int) *p) && (*p != '%')) p = NULL; return __get_mult_bytes(p, data, percent); } extern int evaluate_arithmetic_expression(const char *buffer, long long *ival, double *dval, double implied_units, int is_time); /* * Convert string into a floating number. Return 1 for success and 0 otherwise. */ int str_to_float(const char *str, double *val, int is_time) { #ifdef CONFIG_ARITHMETIC int rc; long long ival; double dval; if (str[0] == '(') { rc = evaluate_arithmetic_expression(str, &ival, &dval, 1.0, is_time); if (!rc) { *val = dval; return 1; } } #endif return 1 == sscanf(str, "%lf", val); } /* * convert string into decimal value, noting any size suffix */ int str_to_decimal(const char *str, long long *val, int kilo, void *data, int is_seconds, int is_time) { int len, base; int rc = 1; #ifdef CONFIG_ARITHMETIC long long ival; double dval; double implied_units = 1.0; #endif len = strlen(str); if (!len) return 1; #ifdef CONFIG_ARITHMETIC if (is_seconds) implied_units = 1000000.0; if (str[0] == '(') rc = evaluate_arithmetic_expression(str, &ival, &dval, implied_units, is_time); if (str[0] == '(' && !rc) { if (!kilo && is_seconds) *val = ival / 1000000LL; else *val = ival; } #endif if (rc == 1) { char *endptr; if (strstr(str, "0x") || strstr(str, "0X")) base = 16; else base = 10; *val = strtoll(str, &endptr, base); if (*val == 0 && endptr == str) return 1; if (*val == LONG_MAX && errno == ERANGE) return 1; } if (kilo) { unsigned long long mult; int perc = 0; mult = get_mult_bytes(str, len, data, &perc); if (perc) *val = -1ULL - *val; else *val *= mult; } else *val *= get_mult_time(str, len, is_seconds); return 0; } int check_str_bytes(const char *p, long long *val, void *data) { return str_to_decimal(p, val, 1, data, 0, 0); } int check_str_time(const char *p, long long *val, int is_seconds) { return str_to_decimal(p, val, 0, NULL, is_seconds, 1); } void strip_blank_front(char **p) { char *s = *p; if (!strlen(s)) return; while (isspace((int) *s)) s++; *p = s; } void strip_blank_end(char *p) { char *start = p, *s; if (!strlen(p)) return; s = strchr(p, ';'); if (s) *s = '\0'; s = strchr(p, '#'); if (s) *s = '\0'; if (s) p = s; s = p + strlen(p); while ((isspace((int) *s) || iscntrl((int) *s)) && (s > start)) s--; *(s + 1) = '\0'; } static int check_range_bytes(const char *str, long long *val, void *data) { long long __val; if (!str_to_decimal(str, &__val, 1, data, 0, 0)) { *val = __val; return 0; } return 1; } static int check_int(const char *p, int *val) { if (!strlen(p)) return 1; if (strstr(p, "0x") || strstr(p, "0X")) { if (sscanf(p, "%x", val) == 1) return 0; } else { if (sscanf(p, "%u", val) == 1) return 0; } return 1; } static size_t opt_len(const char *str) { char delimiter[] = {',', ':'}; char *postfix; unsigned int i; for (i = 0; i < FIO_ARRAY_SIZE(delimiter); i++) { postfix = strchr(str, delimiter[i]); if (postfix) return (int)(postfix - str); } return strlen(str); } static int str_match_len(const struct value_pair *vp, const char *str) { return max(strlen(vp->ival), opt_len(str)); } #define val_store(ptr, val, off, or, data, o) \ do { \ ptr = td_var((data), (o), (off)); \ if ((or)) \ *ptr |= (val); \ else \ *ptr = (val); \ } while (0) static const char *opt_type_name(const struct fio_option *o) { compiletime_assert(FIO_ARRAY_SIZE(opt_type_names) - 1 == FIO_OPT_UNSUPPORTED, "opt_type_names[] index"); if (o->type <= FIO_OPT_UNSUPPORTED) return opt_type_names[o->type]; return "OPT_UNKNOWN?"; } static bool val_too_large(const struct fio_option *o, unsigned long long val, bool is_uint) { if (!o->maxval) return false; if (is_uint) { if ((int) val < 0) return (int) val > (int) o->maxval; return (unsigned int) val > o->maxval; } return val > o->maxval; } static bool val_too_small(const struct fio_option *o, unsigned long long val, bool is_uint) { if (!o->minval) return false; if (is_uint) return (int) val < o->minval; return val < o->minval; } static int __handle_option(const struct fio_option *o, const char *ptr, void *data, int first, int more, int curr) { int il=0, *ilp; fio_fp64_t *flp; long long ull, *ullp; long ul2; long long ull1, ull2; double uf; char **cp = NULL; int ret = 0, is_time = 0; const struct value_pair *vp; struct value_pair posval[PARSE_MAX_VP]; int i, all_skipped = 1; dprint(FD_PARSE, "__handle_option=%s, type=%s, ptr=%s\n", o->name, opt_type_name(o), ptr); if (!ptr && o->type != FIO_OPT_STR_SET && o->type != FIO_OPT_STR) { log_err("Option %s requires an argument\n", o->name); return 1; } switch (o->type) { case FIO_OPT_STR: case FIO_OPT_STR_ULL: case FIO_OPT_STR_MULTI: { fio_opt_str_fn *fn = o->cb; posval_sort(o, posval); ret = 1; for (i = 0; i < PARSE_MAX_VP; i++) { vp = &posval[i]; if (!vp->ival || vp->ival[0] == '\0') continue; all_skipped = 0; if (!ptr) break; if (!strncmp(vp->ival, ptr, str_match_len(vp, ptr))) { ret = 0; if (!o->off1) continue; if (o->type == FIO_OPT_STR_ULL) val_store(ullp, vp->oval, o->off1, vp->orval, data, o); else val_store(ilp, vp->oval, o->off1, vp->orval, data, o); continue; } } if (ret && !all_skipped) show_option_values(o); else if (fn) ret = fn(data, ptr); break; } case FIO_OPT_STR_VAL_TIME: is_time = 1; fio_fallthrough; case FIO_OPT_ULL: case FIO_OPT_INT: case FIO_OPT_STR_VAL: case FIO_OPT_STR_VAL_ZONE: { fio_opt_str_val_fn *fn = o->cb; char tmp[128], *p; size_t len = strlen(ptr); if (len > 0 && ptr[len - 1] == 'z') { if (o->type == FIO_OPT_STR_VAL_ZONE) { char *ep; unsigned long long val; errno = 0; val = strtoul(ptr, &ep, 10); if (errno == 0 && ep != ptr && *ep == 'z') { ull = ZONE_BASE_VAL + (uint32_t)val; ret = 0; goto store_option_value; } else { log_err("%s: unexpected zone value '%s'\n", o->name, ptr); return 1; } } else { log_err("%s: 'z' suffix isn't applicable\n", o->name); return 1; } } if (!is_time && o->is_time) is_time = o->is_time; snprintf(tmp, sizeof(tmp), "%s", ptr); p = strchr(tmp, ','); if (p) *p = '\0'; if (is_time) ret = check_str_time(tmp, &ull, o->is_seconds); else ret = check_str_bytes(tmp, &ull, data); dprint(FD_PARSE, " ret=%d, out=%llu\n", ret, ull); if (ret) break; if (o->pow2 && !is_power_of_2(ull)) { log_err("%s: must be a power-of-2\n", o->name); return 1; } if (val_too_large(o, ull, o->type == FIO_OPT_INT)) { log_err("%s: max value out of range: %llu" " (%llu max)\n", o->name, ull, o->maxval); return 1; } if (val_too_small(o, ull, o->type == FIO_OPT_INT)) { log_err("%s: min value out of range: %lld" " (%d min)\n", o->name, ull, o->minval); return 1; } if (o->posval[0].ival) { posval_sort(o, posval); ret = 1; for (i = 0; i < PARSE_MAX_VP; i++) { vp = &posval[i]; if (!vp->ival || vp->ival[0] == '\0') continue; if (vp->oval == ull) { ret = 0; break; } } if (ret) { log_err("fio: value %llu not allowed:\n", ull); show_option_values(o); return 1; } } store_option_value: if (fn) ret = fn(data, &ull); else { if (o->type == FIO_OPT_INT) { if (first) val_store(ilp, ull, o->off1, 0, data, o); if (curr == 1) { if (o->off2) val_store(ilp, ull, o->off2, 0, data, o); } if (curr == 2) { if (o->off3) val_store(ilp, ull, o->off3, 0, data, o); } if (!more) { if (curr < 1) { if (o->off2) val_store(ilp, ull, o->off2, 0, data, o); } if (curr < 2) { if (o->off3) val_store(ilp, ull, o->off3, 0, data, o); } } } else if (o->type == FIO_OPT_ULL) { if (first) val_store(ullp, ull, o->off1, 0, data, o); if (curr == 1) { if (o->off2) val_store(ullp, ull, o->off2, 0, data, o); } if (curr == 2) { if (o->off3) val_store(ullp, ull, o->off3, 0, data, o); } if (!more) { if (curr < 1) { if (o->off2) val_store(ullp, ull, o->off2, 0, data, o); } if (curr < 2) { if (o->off3) val_store(ullp, ull, o->off3, 0, data, o); } } } else { if (first) val_store(ullp, ull, o->off1, 0, data, o); if (!more) { if (o->off2) val_store(ullp, ull, o->off2, 0, data, o); } } } break; } case FIO_OPT_FLOAT_LIST: { char *cp2; if (first) { /* ** Initialize precision to 0 and zero out list ** in case specified list is shorter than default */ if (o->off2) { ul2 = 0; ilp = td_var(data, o, o->off2); *ilp = ul2; } flp = td_var(data, o, o->off1); for(i = 0; i < o->maxlen; i++) flp[i].u.f = 0.0; } if (curr >= o->maxlen) { log_err("the list exceeding max length %d\n", o->maxlen); return 1; } if (!str_to_float(ptr, &uf, 0)) { /* this breaks if we ever have lists of times */ log_err("not a floating point value: %s\n", ptr); return 1; } if (o->minfp || o->maxfp) { if (uf > o->maxfp) { log_err("value out of range: %f" " (range max: %f)\n", uf, o->maxfp); return 1; } if (uf < o->minfp) { log_err("value out of range: %f" " (range min: %f)\n", uf, o->minfp); return 1; } } flp = td_var(data, o, o->off1); flp[curr].u.f = uf; dprint(FD_PARSE, " out=%f\n", uf); /* ** Calculate precision for output by counting ** number of digits after period. Find first ** period in entire remaining list each time */ cp2 = strchr(ptr, '.'); if (cp2 != NULL) { int len = 0; while (*++cp2 != '\0' && *cp2 >= '0' && *cp2 <= '9') len++; if (o->off2) { ilp = td_var(data, o, o->off2); if (len > *ilp) *ilp = len; } } break; } case FIO_OPT_STR_STORE: { fio_opt_str_fn *fn = o->cb; if (!strlen(ptr)) return 1; if (o->off1) { cp = td_var(data, o, o->off1); if (*cp) free(*cp); *cp = strdup(ptr); if (strlen(ptr) > o->maxlen - 1) { log_err("value exceeds max length of %d\n", o->maxlen); return 1; } } if (fn) ret = fn(data, ptr); else if (o->posval[0].ival) { posval_sort(o, posval); ret = 1; for (i = 0; i < PARSE_MAX_VP; i++) { vp = &posval[i]; if (!vp->ival || vp->ival[0] == '\0' || !cp) continue; all_skipped = 0; if (!strncmp(vp->ival, ptr, str_match_len(vp, ptr))) { char *rest; ret = 0; if (vp->cb) fn = vp->cb; rest = strstr(*cp ?: ptr, ":"); if (rest) { if (*cp) *rest = '\0'; ptr = rest + 1; } else ptr = NULL; break; } } } if (!all_skipped) { if (ret && !*cp) show_option_values(o); else if (ret && *cp) ret = 0; else if (fn && ptr) ret = fn(data, ptr); } break; } case FIO_OPT_RANGE: { char tmp[128]; char *p1, *p2; snprintf(tmp, sizeof(tmp), "%s", ptr); /* Handle bsrange with separate read,write values: */ p1 = strchr(tmp, ','); if (p1) *p1 = '\0'; p1 = strchr(tmp, '-'); if (!p1) { p1 = strchr(tmp, ':'); if (!p1) { ret = 1; break; } } p2 = p1 + 1; *p1 = '\0'; p1 = tmp; ret = 1; if (!check_range_bytes(p1, &ull1, data) && !check_range_bytes(p2, &ull2, data)) { ret = 0; if (ull1 > ull2) { unsigned long long foo = ull1; ull1 = ull2; ull2 = foo; } if (first) { val_store(ullp, ull1, o->off1, 0, data, o); val_store(ullp, ull2, o->off2, 0, data, o); } if (curr == 1) { if (o->off3 && o->off4) { val_store(ullp, ull1, o->off3, 0, data, o); val_store(ullp, ull2, o->off4, 0, data, o); } } if (curr == 2) { if (o->off5 && o->off6) { val_store(ullp, ull1, o->off5, 0, data, o); val_store(ullp, ull2, o->off6, 0, data, o); } } if (!more) { if (curr < 1) { if (o->off3 && o->off4) { val_store(ullp, ull1, o->off3, 0, data, o); val_store(ullp, ull2, o->off4, 0, data, o); } } if (curr < 2) { if (o->off5 && o->off6) { val_store(ullp, ull1, o->off5, 0, data, o); val_store(ullp, ull2, o->off6, 0, data, o); } } } } break; } case FIO_OPT_BOOL: case FIO_OPT_STR_SET: { fio_opt_int_fn *fn = o->cb; if (ptr) ret = check_int(ptr, &il); else if (o->type == FIO_OPT_BOOL) ret = 1; else il = 1; dprint(FD_PARSE, " ret=%d, out=%d\n", ret, il); if (ret) break; if (o->maxval && il > (int) o->maxval) { log_err("max value out of range: %d (%llu max)\n", il, o->maxval); return 1; } if (o->minval && il < o->minval) { log_err("min value out of range: %d (%d min)\n", il, o->minval); return 1; } if (o->neg) il = !il; if (fn) ret = fn(data, &il); else { if (first) val_store(ilp, il, o->off1, 0, data, o); if (!more) { if (o->off2) val_store(ilp, il, o->off2, 0, data, o); } } break; } case FIO_OPT_DEPRECATED: ret = 1; fio_fallthrough; case FIO_OPT_SOFT_DEPRECATED: log_info("Option %s is deprecated\n", o->name); break; default: log_err("Bad option type %u\n", o->type); ret = 1; } if (ret) return ret; if (o->verify) { ret = o->verify(o, data); if (ret) { log_err("Correct format for offending option\n"); log_err("%20s: %s\n", o->name, o->help); show_option_help(o, 1); } } return ret; } static int handle_option(const struct fio_option *o, const char *__ptr, void *data) { char *o_ptr, *ptr, *ptr2; int ret, done; dprint(FD_PARSE, "handle_option=%s, ptr=%s\n", o->name, __ptr); o_ptr = ptr = NULL; if (__ptr) o_ptr = ptr = strdup(__ptr); /* * See if we have another set of parameters, hidden after a comma. * Do this before parsing this round, to check if we should * copy set 1 options to set 2. */ done = 0; ret = 1; do { int __ret; ptr2 = NULL; if (ptr && (o->type != FIO_OPT_STR_STORE) && (o->type != FIO_OPT_STR) && (o->type != FIO_OPT_STR_ULL) && (o->type != FIO_OPT_FLOAT_LIST)) { ptr2 = strchr(ptr, ','); if (ptr2 && *(ptr2 + 1) == '\0') *ptr2 = '\0'; if (o->type != FIO_OPT_STR_MULTI && o->type != FIO_OPT_RANGE) { if (!ptr2) ptr2 = strchr(ptr, ':'); if (!ptr2) ptr2 = strchr(ptr, '-'); } } else if (ptr && o->type == FIO_OPT_FLOAT_LIST) { ptr2 = strchr(ptr, ':'); } /* * Don't return early if parsing the first option fails - if * we are doing multiple arguments, we can allow the first one * being empty. */ __ret = __handle_option(o, ptr, data, !done, !!ptr2, done); if (ret) ret = __ret; if (!ptr2) break; ptr = ptr2 + 1; done++; } while (1); if (o_ptr) free(o_ptr); return ret; } struct fio_option *find_option(struct fio_option *options, const char *opt) { struct fio_option *o; for (o = &options[0]; o->name; o++) { if (!o_match(o, opt)) continue; if (o->type == FIO_OPT_UNSUPPORTED) { log_err("Option <%s>: %s\n", o->name, o->help); continue; } return o; } return NULL; } const struct fio_option * find_option_c(const struct fio_option *options, const char *opt) { const struct fio_option *o; for (o = &options[0]; o->name; o++) { if (!o_match(o, opt)) continue; if (o->type == FIO_OPT_UNSUPPORTED) { log_err("Option <%s>: %s\n", o->name, o->help); continue; } return o; } return NULL; } static const struct fio_option * get_option(char *opt, const struct fio_option *options, char **post) { const struct fio_option *o; char *ret; ret = strchr(opt, '='); if (ret) { *post = ret; *ret = '\0'; ret = opt; (*post)++; strip_blank_end(ret); o = find_option_c(options, ret); } else { o = find_option_c(options, opt); *post = NULL; } return o; } static int opt_cmp(const void *p1, const void *p2) { const struct fio_option *o; char *s, *foo; int prio1, prio2; prio1 = prio2 = 0; if (*(char **)p1) { s = strdup(*((char **) p1)); o = get_option(s, __fio_options, &foo); if (o) prio1 = o->prio; free(s); } if (*(char **)p2) { s = strdup(*((char **) p2)); o = get_option(s, __fio_options, &foo); if (o) prio2 = o->prio; free(s); } return prio2 - prio1; } void sort_options(char **opts, const struct fio_option *options, int num_opts) { __fio_options = options; qsort(opts, num_opts, sizeof(char *), opt_cmp); __fio_options = NULL; } static void add_to_dump_list(const struct fio_option *o, struct flist_head *dump_list, const char *post) { struct print_option *p; if (!dump_list) return; p = malloc(sizeof(*p)); p->name = strdup(o->name); if (post) p->value = strdup(post); else p->value = NULL; flist_add_tail(&p->list, dump_list); } int parse_cmd_option(const char *opt, const char *val, const struct fio_option *options, void *data, struct flist_head *dump_list) { const struct fio_option *o; o = find_option_c(options, opt); if (!o) { log_err("Bad option <%s>\n", opt); return 1; } if (handle_option(o, val, data)) { log_err("fio: failed parsing %s=%s\n", opt, val); return 1; } add_to_dump_list(o, dump_list, val); return 0; } int parse_option(char *opt, const char *input, const struct fio_option *options, const struct fio_option **o, void *data, struct flist_head *dump_list) { char *post; if (!opt) { log_err("fio: failed parsing %s\n", input); *o = NULL; return 1; } *o = get_option(opt, options, &post); if (!*o) { if (post) { int len = strlen(opt); if (opt + len + 1 != post) memmove(opt + len + 1, post, strlen(post)); opt[len] = '='; } return 1; } if (handle_option(*o, post, data)) { log_err("fio: failed parsing %s\n", input); return 1; } add_to_dump_list(*o, dump_list, post); return 0; } /* * Option match, levenshtein distance. Handy for not quite remembering what * the option name is. */ int string_distance(const char *s1, const char *s2) { unsigned int s1_len = strlen(s1); unsigned int s2_len = strlen(s2); unsigned int *p, *q, *r; unsigned int i, j; p = malloc(sizeof(unsigned int) * (s2_len + 1)); q = malloc(sizeof(unsigned int) * (s2_len + 1)); p[0] = 0; for (i = 1; i <= s2_len; i++) p[i] = p[i - 1] + 1; for (i = 1; i <= s1_len; i++) { q[0] = p[0] + 1; for (j = 1; j <= s2_len; j++) { unsigned int sub = p[j - 1]; unsigned int pmin; if (s1[i - 1] != s2[j - 1]) sub++; pmin = min(q[j - 1] + 1, sub); q[j] = min(p[j] + 1, pmin); } r = p; p = q; q = r; } i = p[s2_len]; free(p); free(q); return i; } /* * Make a guess of whether the distance from 's1' is significant enough * to warrant printing the guess. We set this to a 1/2 match. */ int string_distance_ok(const char *opt, int distance) { size_t len; len = strlen(opt); len = (len + 1) / 2; return distance <= len; } static const struct fio_option *find_child(const struct fio_option *options, const struct fio_option *o) { const struct fio_option *__o; for (__o = options + 1; __o->name; __o++) if (__o->parent && !strcmp(__o->parent, o->name)) return __o; return NULL; } static void __print_option(const struct fio_option *o, const struct fio_option *org, int level) { char name[256], *p; int depth; if (!o) return; p = name; depth = level; while (depth--) p += sprintf(p, "%s", " "); sprintf(p, "%s", o->name); log_info("%-24s: %s\n", name, o->help); } static void print_option(const struct fio_option *o) { const struct fio_option *parent; const struct fio_option *__o; unsigned int printed; unsigned int level; __print_option(o, NULL, 0); parent = o; level = 0; do { level++; printed = 0; while ((__o = find_child(o, parent)) != NULL) { __print_option(__o, o, level); o = __o; printed++; } parent = o; } while (printed); } int show_cmd_help(const struct fio_option *options, const char *name) { const struct fio_option *o, *closest; unsigned int best_dist = -1U; int found = 0; int show_all = 0; if (!name || !strcmp(name, "all")) show_all = 1; closest = NULL; best_dist = -1; for (o = &options[0]; o->name; o++) { int match = 0; if (o->type == FIO_OPT_DEPRECATED || o->type == FIO_OPT_SOFT_DEPRECATED) continue; if (!exec_profile && o->prof_name) continue; if (exec_profile && !(o->prof_name && !strcmp(exec_profile, o->prof_name))) continue; if (name) { if (!strcmp(name, o->name) || (o->alias && !strcmp(name, o->alias))) match = 1; else { unsigned int dist; dist = string_distance(name, o->name); if (dist < best_dist) { best_dist = dist; closest = o; } } } if (show_all || match) { found = 1; if (match) log_info("%20s: %s\n", o->name, o->help); if (show_all) { if (!o->parent) print_option(o); continue; } } if (!match) continue; show_option_help(o, 0); } if (found) return 0; log_err("No such command: %s", name); /* * Only print an appropriately close option, one where the edit * distance isn't too big. Otherwise we get crazy matches. */ if (closest && best_dist < 3) { log_info(" - showing closest match\n"); log_info("%20s: %s\n", closest->name, closest->help); show_option_help(closest, 0); } else log_info("\n"); return 1; } /* * Handle parsing of default parameters. */ void fill_default_options(void *data, const struct fio_option *options) { const struct fio_option *o; dprint(FD_PARSE, "filling default options\n"); for (o = &options[0]; o->name; o++) if (o->def) handle_option(o, o->def, data); } static void option_init(struct fio_option *o) { if (o->type == FIO_OPT_DEPRECATED || o->type == FIO_OPT_UNSUPPORTED || o->type == FIO_OPT_SOFT_DEPRECATED) return; if (o->name && !o->lname) log_err("Option %s: missing long option name\n", o->name); if (o->type == FIO_OPT_BOOL) { o->minval = 0; o->maxval = 1; } if (o->type == FIO_OPT_INT) { if (!o->maxval) o->maxval = UINT_MAX; } if (o->type == FIO_OPT_ULL) { if (!o->maxval) o->maxval = ULLONG_MAX; } if (o->type == FIO_OPT_STR_SET && o->def && !o->no_warn_def) { log_err("Option %s: string set option with" " default will always be true\n", o->name); } if (!o->cb && !o->off1) log_err("Option %s: neither cb nor offset given\n", o->name); if (!o->category) { log_info("Option %s: no category defined. Setting to misc\n", o->name); o->category = FIO_OPT_C_GENERAL; o->group = FIO_OPT_G_INVALID; } } /* * Sanitize the options structure. For now it just sets min/max for bool * values and whether both callback and offsets are given. */ void options_init(struct fio_option *options) { struct fio_option *o; dprint(FD_PARSE, "init options\n"); for (o = &options[0]; o->name; o++) { option_init(o); if (o->inverse) o->inv_opt = find_option(options, o->inverse); } } void options_mem_dupe(const struct fio_option *options, void *data) { const struct fio_option *o; char **ptr; dprint(FD_PARSE, "dup options\n"); for (o = &options[0]; o->name; o++) { if (o->type != FIO_OPT_STR_STORE) continue; ptr = td_var(data, o, o->off1); if (*ptr) *ptr = strdup(*ptr); } } void options_free(const struct fio_option *options, void *data) { const struct fio_option *o; char **ptr; dprint(FD_PARSE, "free options\n"); for (o = &options[0]; o->name; o++) { if (o->type != FIO_OPT_STR_STORE || !o->off1 || o->no_free) continue; ptr = td_var(data, o, o->off1); if (*ptr) { free(*ptr); *ptr = NULL; } } } fio-3.39/parse.h000066400000000000000000000102771476262051600135300ustar00rootroot00000000000000#ifndef FIO_PARSE_H #define FIO_PARSE_H #include #include "flist.h" /* * Option types */ enum fio_opt_type { FIO_OPT_INVALID = 0, FIO_OPT_STR, FIO_OPT_STR_ULL, FIO_OPT_STR_MULTI, FIO_OPT_STR_VAL, FIO_OPT_STR_VAL_TIME, FIO_OPT_STR_STORE, FIO_OPT_RANGE, FIO_OPT_INT, FIO_OPT_ULL, FIO_OPT_BOOL, FIO_OPT_FLOAT_LIST, FIO_OPT_STR_SET, FIO_OPT_STR_VAL_ZONE, FIO_OPT_DEPRECATED, FIO_OPT_SOFT_DEPRECATED, FIO_OPT_UNSUPPORTED, /* keep this last */ }; /* * Match a possible value string with the integer option. */ struct value_pair { const char *ival; /* string option */ unsigned long long oval; /* output value */ const char *help; /* help text for sub option */ int orval; /* OR value */ void *cb; /* sub-option callback */ }; #define OPT_LEN_MAX 8192 #define PARSE_MAX_VP 32 /* * Option define */ struct fio_option { const char *name; /* option name */ const char *lname; /* long option name */ const char *alias; /* possible old allowed name */ enum fio_opt_type type; /* option type */ unsigned int off1; /* potential parameters */ unsigned int off2; unsigned int off3; unsigned int off4; unsigned int off5; unsigned int off6; unsigned long long maxval; /* max and min value */ int minval; double maxfp; /* max and min floating value */ double minfp; unsigned int interval; /* client hint for suitable interval */ unsigned int maxlen; /* max length */ int neg; /* negate value stored */ int prio; void *cb; /* callback */ const char *help; /* help text for option */ const char *def; /* default setting */ struct value_pair posval[PARSE_MAX_VP];/* possible values */ const char *parent; /* parent option */ int hide; /* hide if parent isn't set */ int hide_on_set; /* hide on set, not on unset */ const char *inverse; /* if set, apply opposite action to this option */ struct fio_option *inv_opt; /* cached lookup */ int (*verify)(const struct fio_option *, void *); const char *prof_name; /* only valid for specific profile */ void *prof_opts; uint64_t category; /* what type of option */ uint64_t group; /* who to group with */ void *gui_data; int is_seconds; /* time value with seconds base */ int is_time; /* time based value */ int no_warn_def; int pow2; /* must be a power-of-2 */ int no_free; }; extern int parse_option(char *, const char *, const struct fio_option *, const struct fio_option **, void *, struct flist_head *); extern void sort_options(char **, const struct fio_option *, int); extern int parse_cmd_option(const char *t, const char *l, const struct fio_option *, void *, struct flist_head *); extern int show_cmd_help(const struct fio_option *, const char *); extern void fill_default_options(void *, const struct fio_option *); extern void options_init(struct fio_option *); extern void options_mem_dupe(const struct fio_option *, void *); extern void options_free(const struct fio_option *, void *); extern void strip_blank_front(char **); extern void strip_blank_end(char *); extern int str_to_decimal(const char *, long long *, int, void *, int, int); extern int check_str_bytes(const char *p, long long *val, void *data); extern int check_str_time(const char *p, long long *val, int); extern int str_to_float(const char *str, double *val, int is_time); extern int string_distance(const char *s1, const char *s2); extern int string_distance_ok(const char *s1, int dist); /* * Handlers for the options */ typedef int (fio_opt_str_fn)(void *, const char *); typedef int (fio_opt_str_val_fn)(void *, long long *); typedef int (fio_opt_int_fn)(void *, int *); struct thread_options; static inline void *td_var(void *to, const struct fio_option *o, unsigned int offset) { void *ret; if (o->prof_opts) ret = o->prof_opts; else ret = to; return (void *) ((uintptr_t) ret + offset); } static inline int parse_is_percent(unsigned long long val) { return val >= -101ULL; } #define ZONE_BASE_VAL ((-1ULL >> 1) + 1) static inline int parse_is_percent_uncapped(unsigned long long val) { return ZONE_BASE_VAL + -1U < val; } static inline int parse_is_zone(unsigned long long val) { return (val - ZONE_BASE_VAL) <= -1U; } struct print_option { struct flist_head list; char *name; char *value; }; #endif fio-3.39/printing.c000066400000000000000000000103661476262051600142420ustar00rootroot00000000000000#include #include #include "gfio.h" #include "cairo_text_helpers.h" #include "printing.h" static struct printing_parameters { gdouble width, height, xdpi, ydpi; GtkPrintSettings *settings; GtkPageSetup *page_setup; } print_params = { 0 }; static void begin_print(GtkPrintOperation *operation, GtkPrintContext *context, gpointer data) { print_params.page_setup = gtk_print_context_get_page_setup(context); print_params.width = gtk_print_context_get_width(context); print_params.height = gtk_print_context_get_height(context); print_params.xdpi = gtk_print_context_get_dpi_x(context); print_params.ydpi = gtk_print_context_get_dpi_y(context); /* assume 1 page for now. */ gtk_print_operation_set_n_pages(operation, 1); } static void results_draw_page(GtkPrintOperation *operation, GtkPrintContext *context, gint page_nr, gpointer data) { cairo_t *cr; char str[32]; double x, y; cr = gtk_print_context_get_cairo_context(context); cairo_set_source_rgb(cr, 0, 0, 0); cairo_set_line_width(cr, 5.0); cairo_move_to(cr, 0.0, 0.0); cairo_line_to(cr, print_params.width, print_params.height); cairo_move_to(cr, 0.0, print_params.height); cairo_line_to(cr, print_params.width, 0.0); cairo_stroke(cr); x = print_params.width / 4.0; y = print_params.height / 5.0; sprintf(str, "(%g,%g)", x, y); draw_right_justified_text(cr, "Sans", x, y, 12.0, str); cairo_set_source_rgb(cr, 0, 0, 0); cairo_set_line_width(cr, 2.0); cairo_move_to(cr, x, y - 30.0); cairo_line_to(cr, x, y + 30.0); cairo_move_to(cr, x - 30, y); cairo_line_to(cr, x + 30, y); y *= 4.0; x *= 2.0; sprintf(str, "(%g,%g)", x, y); draw_right_justified_text(cr, "Sans", x, y, 12.0, str); cairo_set_source_rgb(cr, 0, 0, 0); cairo_set_line_width(cr, 2.0); cairo_move_to(cr, x, y - 30.0); cairo_line_to(cr, x, y + 30.0); cairo_move_to(cr, x - 30, y); cairo_line_to(cr, x + 30, y); cairo_stroke(cr); } static void printing_error_dialog(GtkWidget *window, GError *print_error) { GtkWidget *error_dialog; printf("printing_error_dialog called\n"); printf("error message = %s\n", print_error->message); error_dialog = gtk_message_dialog_new(GTK_WINDOW(window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Print error:\n%s", print_error->message); g_signal_connect(error_dialog, "response", G_CALLBACK(gtk_widget_destroy), NULL); gtk_widget_show(error_dialog); } static void results_print_done(GtkPrintOperation *operation, GtkPrintOperationResult result, gpointer data) { GError *print_error; struct gui_entry *ge = data; if (result != GTK_PRINT_OPERATION_RESULT_ERROR) return; gtk_print_operation_get_error(operation, &print_error); printing_error_dialog(ge->results_window, print_error); g_error_free(print_error); } void gfio_print_results(struct gui_entry *ge) { GtkPrintOperation *print; GtkPrintOperationResult res; GError *print_error; print = gtk_print_operation_new(); if (print_params.settings != NULL) gtk_print_operation_set_print_settings(print, print_params.settings); if (print_params.page_setup != NULL) gtk_print_operation_set_default_page_setup(print, print_params.page_setup); g_signal_connect(print, "begin_print", G_CALLBACK(begin_print), NULL); g_signal_connect(print, "draw_page", G_CALLBACK(results_draw_page), NULL); g_signal_connect(print, "done", G_CALLBACK(results_print_done), NULL); gtk_print_operation_set_allow_async(print, TRUE); res = gtk_print_operation_run(print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW(ge->results_window), &print_error); /* * Something's not quite right about the error handling. If I print * to a file, and the file exists, and I don't have write permission * on that file but attempt to replace it anyway, then it just kind of * hangs and I don't get into any of this error handling stuff at all, * neither here, nor in results_print_done(). */ if (res == GTK_PRINT_OPERATION_RESULT_ERROR) { printing_error_dialog(ge->results_window, print_error); g_error_free(print_error); } else { if (res == GTK_PRINT_OPERATION_RESULT_APPLY) { if (print_params.settings != NULL) g_object_unref(print_params.settings); print_params.settings = g_object_ref(gtk_print_operation_get_print_settings(print)); } } g_object_unref(print); } fio-3.39/printing.h000066400000000000000000000001361476262051600142410ustar00rootroot00000000000000#ifndef PRINTING_H #define PRINTING_H void gfio_print_results(struct gui_entry *ge); #endif fio-3.39/profile.c000066400000000000000000000041751476262051600140510ustar00rootroot00000000000000#include "fio.h" #include "profile.h" #include "debug.h" #include "flist.h" #include "options.h" static FLIST_HEAD(profile_list); struct profile_ops *find_profile(const char *profile) { struct profile_ops *ops = NULL; struct flist_head *n; flist_for_each(n, &profile_list) { ops = flist_entry(n, struct profile_ops, list); if (!strcmp(profile, ops->name)) break; ops = NULL; } return ops; } int load_profile(const char *profile) { struct profile_ops *ops; dprint(FD_PROFILE, "loading profile '%s'\n", profile); ops = find_profile(profile); if (ops) { if (ops->prep_cmd()) { log_err("fio: profile %s prep failed\n", profile); return 1; } add_job_opts(ops->cmdline, FIO_CLIENT_TYPE_CLI); return 0; } log_err("fio: profile '%s' not found\n", profile); return 1; } static int add_profile_options(struct profile_ops *ops) { struct fio_option *o; if (!ops->options) return 0; o = ops->options; while (o->name) { o->prof_name = ops->name; o->prof_opts = ops->opt_data; if (add_option(o)) return 1; o++; } return 0; } int register_profile(struct profile_ops *ops) { int ret; dprint(FD_PROFILE, "register profile '%s'\n", ops->name); ret = add_profile_options(ops); if (!ret) { flist_add_tail(&ops->list, &profile_list); add_opt_posval("profile", ops->name, ops->desc); return 0; } invalidate_profile_options(ops->name); return ret; } void unregister_profile(struct profile_ops *ops) { dprint(FD_PROFILE, "unregister profile '%s'\n", ops->name); flist_del(&ops->list); invalidate_profile_options(ops->name); del_opt_posval("profile", ops->name); } void profile_add_hooks(struct thread_data *td) { struct profile_ops *ops; if (!exec_profile) return; ops = find_profile(exec_profile); if (!ops) return; if (ops->io_ops) { td->prof_io_ops = *ops->io_ops; td->flags |= TD_F_PROFILE_OPS; } } int profile_td_init(struct thread_data *td) { struct prof_io_ops *ops = &td->prof_io_ops; if (ops->td_init) return ops->td_init(td); return 0; } void profile_td_exit(struct thread_data *td) { struct prof_io_ops *ops = &td->prof_io_ops; if (ops->td_exit) ops->td_exit(td); } fio-3.39/profile.h000066400000000000000000000016751476262051600140600ustar00rootroot00000000000000#ifndef FIO_PROFILE_H #define FIO_PROFILE_H #include "flist.h" /* * Functions for overriding internal fio io_u functions */ struct prof_io_ops { int (*td_init)(struct thread_data *); void (*td_exit)(struct thread_data *); int (*io_u_lat)(struct thread_data *, uint64_t); }; struct profile_ops { struct flist_head list; char name[32]; char desc[64]; int flags; /* * Profile specific options */ struct fio_option *options; void *opt_data; /* * Called after parsing options, to prepare 'cmdline' */ int (*prep_cmd)(void); /* * The complete command line */ const char **cmdline; struct prof_io_ops *io_ops; }; int register_profile(struct profile_ops *); void unregister_profile(struct profile_ops *); int load_profile(const char *); struct profile_ops *find_profile(const char *); void profile_add_hooks(struct thread_data *); int profile_td_init(struct thread_data *); void profile_td_exit(struct thread_data *); #endif fio-3.39/profiles/000077500000000000000000000000001476262051600140615ustar00rootroot00000000000000fio-3.39/profiles/act.c000066400000000000000000000245571476262051600150110ustar00rootroot00000000000000#include "../fio.h" #include "../profile.h" #include "../parse.h" #include "../optgroup.h" /* * 1x loads */ #define R_LOAD 2000 #define W_LOAD 1000 #define SAMPLE_SEC 3600 /* 1h checks */ struct act_pass_criteria { unsigned int max_usec; unsigned int max_perm; }; #define ACT_MAX_CRIT 3 static struct act_pass_criteria act_pass[ACT_MAX_CRIT] = { { .max_usec = 1000, .max_perm = 50, }, { .max_usec = 8000, .max_perm = 10, }, { .max_usec = 64000, .max_perm = 1, }, }; struct act_slice { uint64_t lat_buckets[ACT_MAX_CRIT]; uint64_t total_ios; }; struct act_run_data { struct fio_sem *sem; unsigned int pending; struct act_slice *slices; unsigned int nr_slices; }; static struct act_run_data *act_run_data; struct act_prof_data { struct timespec sample_tv; struct act_slice *slices; unsigned int cur_slice; unsigned int nr_slices; }; #define ACT_MAX_OPTS 128 static const char *act_opts[ACT_MAX_OPTS] = { "direct=1", "ioengine=sync", "random_generator=lfsr", "group_reporting=1", "thread", NULL, }; static unsigned int opt_idx = 5; static unsigned int org_idx; static int act_add_opt(const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2))); struct act_options { unsigned int pad; char *device_names; unsigned int load; unsigned int prep; unsigned int threads_per_queue; unsigned int num_read_blocks; unsigned int write_size; unsigned long long test_duration; }; static struct act_options act_options; static struct fio_option options[] = { { .name = "device-names", .lname = "device-names", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct act_options, device_names), .help = "Devices to use", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_ACT, .no_free = true, }, { .name = "load", .lname = "Load multiplier", .type = FIO_OPT_INT, .off1 = offsetof(struct act_options, load), .help = "ACT load multipler (default 1x)", .def = "1", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_ACT, }, { .name = "test-duration", .lname = "Test duration", .type = FIO_OPT_STR_VAL_TIME, .off1 = offsetof(struct act_options, test_duration), .help = "How long the entire test takes to run", .def = "24h", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_ACT, }, { .name = "threads-per-queue", .lname = "Number of read IO threads per device", .type = FIO_OPT_INT, .off1 = offsetof(struct act_options, threads_per_queue), .help = "Number of read IO threads per device", .def = "8", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_ACT, }, { .name = "read-req-num-512-blocks", .lname = "Number of 512B blocks to read", .type = FIO_OPT_INT, .off1 = offsetof(struct act_options, num_read_blocks), .help = "Number of 512B blocks to read at the time", .def = "3", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_ACT, }, { .name = "large-block-op-kbytes", .lname = "Size of large block ops in KiB (writes)", .type = FIO_OPT_INT, .off1 = offsetof(struct act_options, write_size), .help = "Size of large block ops in KiB (writes)", .def = "131072", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_ACT, }, { .name = "prep", .lname = "Run ACT prep phase", .type = FIO_OPT_STR_SET, .off1 = offsetof(struct act_options, prep), .help = "Set to run ACT prep phase", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_ACT, }, { .name = NULL, }, }; static int act_add_opt(const char *str, ...) { char buffer[512]; va_list args; size_t len; if (opt_idx == ACT_MAX_OPTS) { log_err("act: ACT_MAX_OPTS is too small\n"); return 1; } va_start(args, str); len = vsnprintf(buffer, sizeof(buffer), str, args); va_end(args); if (len) act_opts[opt_idx++] = strdup(buffer); return 0; } static int act_add_rw(const char *dev, int reads) { struct act_options *ao = &act_options; if (act_add_opt("name=act-%s-%s", reads ? "read" : "write", dev)) return 1; if (act_add_opt("filename=%s", dev)) return 1; if (act_add_opt("rw=%s", reads ? "randread" : "randwrite")) return 1; if (reads) { int rload = ao->load * R_LOAD / ao->threads_per_queue; if (act_add_opt("numjobs=%u", ao->threads_per_queue)) return 1; if (act_add_opt("rate_iops=%u", rload)) return 1; if (act_add_opt("bs=%u", ao->num_read_blocks * 512)) return 1; } else { const int rsize = ao->write_size / (ao->num_read_blocks * 512); int wload = (ao->load * W_LOAD + rsize - 1) / rsize; if (act_add_opt("rate_iops=%u", wload)) return 1; if (act_add_opt("bs=%u", ao->write_size)) return 1; } return 0; } static int act_add_dev_prep(const char *dev) { /* Add sequential zero phase */ if (act_add_opt("name=act-prep-zeroes-%s", dev)) return 1; if (act_add_opt("filename=%s", dev)) return 1; if (act_add_opt("bs=1048576")) return 1; if (act_add_opt("zero_buffers")) return 1; if (act_add_opt("rw=write")) return 1; /* Randomly overwrite device */ if (act_add_opt("name=act-prep-salt-%s", dev)) return 1; if (act_add_opt("stonewall")) return 1; if (act_add_opt("filename=%s", dev)) return 1; if (act_add_opt("bs=4096")) return 1; if (act_add_opt("ioengine=libaio")) return 1; if (act_add_opt("iodepth=64")) return 1; if (act_add_opt("rw=randwrite")) return 1; return 0; } static int act_add_dev(const char *dev) { if (act_options.prep) return act_add_dev_prep(dev); if (act_add_opt("runtime=%llus", act_options.test_duration)) return 1; if (act_add_opt("time_based=1")) return 1; if (act_add_rw(dev, 1)) return 1; if (act_add_rw(dev, 0)) return 1; return 0; } /* * Fill our private options into the command line */ static int act_prep_cmdline(void) { if (!act_options.device_names) { log_err("act: you need to set IO target(s) with the " "device-names option.\n"); return 1; } org_idx = opt_idx; do { char *dev; dev = strsep(&act_options.device_names, ","); if (!dev) break; if (act_add_dev(dev)) { log_err("act: failed adding device to the mix\n"); break; } } while (1); return 0; } static int act_io_u_lat(struct thread_data *td, uint64_t nsec) { struct act_prof_data *apd = td->prof_data; struct act_slice *slice; uint64_t usec = nsec / 1000ULL; int i, ret = 0; double perm; if (act_options.prep) return 0; /* * Really should not happen, but lets not let jitter at the end * ruin our day. */ if (apd->cur_slice >= apd->nr_slices) return 0; slice = &apd->slices[apd->cur_slice]; slice->total_ios++; for (i = ACT_MAX_CRIT - 1; i >= 0; i--) { if (usec > act_pass[i].max_usec) { slice->lat_buckets[i]++; break; } } if (time_since_now(&apd->sample_tv) < SAMPLE_SEC) return 0; /* SAMPLE_SEC has passed, check criteria for pass */ for (i = 0; i < ACT_MAX_CRIT; i++) { perm = (1000.0 * slice->lat_buckets[i]) / slice->total_ios; if (perm < act_pass[i].max_perm) continue; log_err("act: %f%% exceeds pass criteria of %f%%\n", perm / 10.0, (double) act_pass[i].max_perm / 10.0); ret = 1; break; } fio_gettime(&apd->sample_tv, NULL); apd->cur_slice++; return ret; } static void get_act_ref(void) { fio_sem_down(act_run_data->sem); act_run_data->pending++; fio_sem_up(act_run_data->sem); } static int show_slice(struct act_slice *slice, unsigned int slice_num) { unsigned int i, failed = 0; log_info(" %2u", slice_num); for (i = 0; i < ACT_MAX_CRIT; i++) { double perc = 0.0; if (slice->total_ios) perc = 100.0 * (double) slice->lat_buckets[i] / (double) slice->total_ios; if ((perc * 10.0) >= act_pass[i].max_perm) failed++; log_info("\t%2.2f", perc); } for (i = 0; i < ACT_MAX_CRIT; i++) { double perc = 0.0; if (slice->total_ios) perc = 100.0 * (double) slice->lat_buckets[i] / (double) slice->total_ios; log_info("\t%2.2f", perc); } log_info("\n"); return failed; } static void act_show_all_stats(void) { unsigned int i, fails = 0; log_info(" trans device\n"); log_info(" %%>(ms) %%>(ms)\n"); log_info(" slice"); for (i = 0; i < ACT_MAX_CRIT; i++) log_info("\t %2u", act_pass[i].max_usec / 1000); for (i = 0; i < ACT_MAX_CRIT; i++) log_info("\t %2u", act_pass[i].max_usec / 1000); log_info("\n"); log_info(" ----- ----- ----- ------ ----- ----- ------\n"); for (i = 0; i < act_run_data->nr_slices; i++) fails += show_slice(&act_run_data->slices[i], i + 1); log_info("\nact: test complete, device(s): %s\n", fails ? "FAILED" : "PASSED"); } static void put_act_ref(struct thread_data *td) { struct act_prof_data *apd = td->prof_data; unsigned int i, slice; fio_sem_down(act_run_data->sem); if (!act_run_data->slices) { act_run_data->slices = calloc(apd->nr_slices, sizeof(struct act_slice)); act_run_data->nr_slices = apd->nr_slices; } for (slice = 0; slice < apd->nr_slices; slice++) { struct act_slice *dst = &act_run_data->slices[slice]; struct act_slice *src = &apd->slices[slice]; dst->total_ios += src->total_ios; for (i = 0; i < ACT_MAX_CRIT; i++) dst->lat_buckets[i] += src->lat_buckets[i]; } if (!--act_run_data->pending) act_show_all_stats(); fio_sem_up(act_run_data->sem); } static int act_td_init(struct thread_data *td) { struct act_prof_data *apd; unsigned int nr_slices; get_act_ref(); apd = calloc(1, sizeof(*apd)); nr_slices = (act_options.test_duration + SAMPLE_SEC - 1) / SAMPLE_SEC; apd->slices = calloc(nr_slices, sizeof(struct act_slice)); apd->nr_slices = nr_slices; fio_gettime(&apd->sample_tv, NULL); td->prof_data = apd; return 0; } static void act_td_exit(struct thread_data *td) { struct act_prof_data *apd = td->prof_data; put_act_ref(td); free(apd->slices); free(apd); td->prof_data = NULL; } static struct prof_io_ops act_io_ops = { .td_init = act_td_init, .td_exit = act_td_exit, .io_u_lat = act_io_u_lat, }; static struct profile_ops act_profile = { .name = "act", .desc = "ACT Aerospike like benchmark", .options = options, .opt_data = &act_options, .prep_cmd = act_prep_cmdline, .cmdline = act_opts, .io_ops = &act_io_ops, }; static void fio_init act_register(void) { act_run_data = calloc(1, sizeof(*act_run_data)); act_run_data->sem = fio_sem_init(FIO_SEM_UNLOCKED); if (register_profile(&act_profile)) log_err("fio: failed to register profile 'act'\n"); } static void fio_exit act_unregister(void) { while (org_idx && org_idx < opt_idx) free((void *) act_opts[++org_idx]); unregister_profile(&act_profile); fio_sem_remove(act_run_data->sem); free(act_run_data->slices); free(act_run_data); act_run_data = NULL; } fio-3.39/profiles/tiobench.c000066400000000000000000000060671476262051600160310ustar00rootroot00000000000000#include "../fio.h" #include "../profile.h" #include "../parse.h" #include "../optgroup.h" static unsigned long long size; static unsigned int loops = 1; static unsigned int bs = 4096; static unsigned int nthreads = 1; static char *dir; static char sz_idx[80], bs_idx[80], loop_idx[80], dir_idx[80], t_idx[80]; static const char *tb_opts[] = { "buffered=0", sz_idx, bs_idx, loop_idx, dir_idx, t_idx, "timeout=600", "group_reporting", "thread", "overwrite=1", "filename=.fio.tio.1:.fio.tio.2:.fio.tio.3:.fio.tio.4", "ioengine=sync", "name=seqwrite", "rw=write", "end_fsync=1", "name=randwrite", "stonewall", "rw=randwrite", "end_fsync=1", "name=seqread", "stonewall", "rw=read", "name=randread", "stonewall", "rw=randread", NULL, }; struct tiobench_options { unsigned int pad; unsigned long long size; unsigned int loops; unsigned int bs; unsigned int nthreads; char *dir; }; static struct tiobench_options tiobench_options; static struct fio_option options[] = { { .name = "size", .lname = "Tiobench size", .type = FIO_OPT_STR_VAL, .off1 = offsetof(struct tiobench_options, size), .help = "Size in MiB", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_TIOBENCH, }, { .name = "block", .lname = "Tiobench block", .type = FIO_OPT_INT, .off1 = offsetof(struct tiobench_options, bs), .help = "Block size in bytes", .def = "4096", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_TIOBENCH, }, { .name = "numruns", .lname = "Tiobench numruns", .type = FIO_OPT_INT, .off1 = offsetof(struct tiobench_options, loops), .help = "Number of runs", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_TIOBENCH, }, { .name = "dir", .lname = "Tiobench directory", .type = FIO_OPT_STR_STORE, .off1 = offsetof(struct tiobench_options, dir), .help = "Test directory", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_TIOBENCH, .no_free = true, }, { .name = "threads", .lname = "Tiobench threads", .type = FIO_OPT_INT, .off1 = offsetof(struct tiobench_options, nthreads), .help = "Number of Threads", .category = FIO_OPT_C_PROFILE, .group = FIO_OPT_G_TIOBENCH, }, { .name = NULL, }, }; /* * Fill our private options into the command line */ static int tb_prep_cmdline(void) { /* * tiobench uses size as MiB, so multiply up */ size *= 1024 * 1024ULL; if (size) sprintf(sz_idx, "size=%llu", size); else strcpy(sz_idx, "size=4*1024*$mb_memory"); sprintf(bs_idx, "bs=%u", bs); sprintf(loop_idx, "loops=%u", loops); if (dir) sprintf(dir_idx, "directory=%s", dir); else sprintf(dir_idx, "directory=./"); sprintf(t_idx, "numjobs=%u", nthreads); return 0; } static struct profile_ops tiobench_profile = { .name = "tiobench", .desc = "tiotest/tiobench benchmark", .prep_cmd = tb_prep_cmdline, .cmdline = tb_opts, .options = options, .opt_data = &tiobench_options, }; static void fio_init tiobench_register(void) { if (register_profile(&tiobench_profile)) log_err("fio: failed to register profile 'tiobench'\n"); } static void fio_exit tiobench_unregister(void) { unregister_profile(&tiobench_profile); } fio-3.39/pshared.c000066400000000000000000000040551476262051600140340ustar00rootroot00000000000000#include #include "log.h" #include "pshared.h" int cond_init_pshared(pthread_cond_t *cond) { pthread_condattr_t cattr; int ret; ret = pthread_condattr_init(&cattr); if (ret) { log_err("pthread_condattr_init: %s\n", strerror(ret)); return ret; } #ifdef CONFIG_PSHARED ret = pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_SHARED); if (ret) { log_err("pthread_condattr_setpshared: %s\n", strerror(ret)); return ret; } #endif #ifdef CONFIG_PTHREAD_CONDATTR_SETCLOCK ret = pthread_condattr_setclock(&cattr, CLOCK_MONOTONIC); if (ret) { log_err("pthread_condattr_setclock: %s\n", strerror(ret)); return ret; } #endif ret = pthread_cond_init(cond, &cattr); if (ret) { log_err("pthread_cond_init: %s\n", strerror(ret)); return ret; } return 0; } /* * 'type' must be a mutex type, e.g. PTHREAD_MUTEX_NORMAL, * PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE or PTHREAD_MUTEX_DEFAULT. */ int mutex_init_pshared_with_type(pthread_mutex_t *mutex, int type) { pthread_mutexattr_t mattr; int ret; ret = pthread_mutexattr_init(&mattr); if (ret) { log_err("pthread_mutexattr_init: %s\n", strerror(ret)); return ret; } /* * Not all platforms support process shared mutexes (NetBSD/OpenBSD) */ #ifdef CONFIG_PSHARED ret = pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED); if (ret) { log_err("pthread_mutexattr_setpshared: %s\n", strerror(ret)); return ret; } #endif ret = pthread_mutexattr_settype(&mattr, type); if (ret) { log_err("pthread_mutexattr_settype: %s\n", strerror(ret)); return ret; } ret = pthread_mutex_init(mutex, &mattr); if (ret) { log_err("pthread_mutex_init: %s\n", strerror(ret)); return ret; } pthread_mutexattr_destroy(&mattr); return 0; } int mutex_init_pshared(pthread_mutex_t *mutex) { return mutex_init_pshared_with_type(mutex, PTHREAD_MUTEX_DEFAULT); } int mutex_cond_init_pshared(pthread_mutex_t *mutex, pthread_cond_t *cond) { int ret; ret = mutex_init_pshared(mutex); if (ret) return ret; ret = cond_init_pshared(cond); if (ret) return ret; return 0; } fio-3.39/pshared.h000066400000000000000000000004671476262051600140440ustar00rootroot00000000000000#ifndef FIO_PSHARED_H #define FIO_PSHARED_H #include extern int mutex_init_pshared_with_type(pthread_mutex_t *, int); extern int mutex_init_pshared(pthread_mutex_t *); extern int cond_init_pshared(pthread_cond_t *); extern int mutex_cond_init_pshared(pthread_mutex_t *, pthread_cond_t *); #endif fio-3.39/rate-submit.c000066400000000000000000000166651476262051600146540ustar00rootroot00000000000000/* * Rated submission helpers * * Copyright (C) 2015 Jens Axboe * */ #include #include #include #include "fio.h" #include "ioengines.h" #include "lib/getrusage.h" #include "rate-submit.h" static void check_overlap(struct io_u *io_u) { int res; /* * Allow only one thread to check for overlap at a time to prevent two * threads from thinking the coast is clear and then submitting IOs * that overlap with each other. * * If an overlap is found, release the lock and re-acquire it before * checking again to give other threads a chance to make progress. * * If no overlap is found, release the lock when the io_u's * IO_U_F_FLIGHT flag is set so that this io_u can be checked by other * threads as they assess overlap. */ res = pthread_mutex_lock(&overlap_check); if (fio_unlikely(res != 0)) { log_err("failed to lock overlap check mutex, err: %i:%s", errno, strerror(errno)); abort(); } retry: for_each_td(td) { if (td->runstate <= TD_SETTING_UP || td->runstate >= TD_FINISHING || !td->o.serialize_overlap || td->o.io_submit_mode != IO_MODE_OFFLOAD) continue; if (!in_flight_overlap(&td->io_u_all, io_u)) continue; res = pthread_mutex_unlock(&overlap_check); if (fio_unlikely(res != 0)) { log_err("failed to unlock overlap check mutex, err: %i:%s", errno, strerror(errno)); abort(); } res = pthread_mutex_lock(&overlap_check); if (fio_unlikely(res != 0)) { log_err("failed to lock overlap check mutex, err: %i:%s", errno, strerror(errno)); abort(); } goto retry; } end_for_each(); } static int io_workqueue_fn(struct submit_worker *sw, struct workqueue_work *work) { struct io_u *io_u = container_of(work, struct io_u, work); const enum fio_ddir ddir = io_u->ddir; struct thread_data *td = sw->priv; int ret, error; if (td->o.serialize_overlap) check_overlap(io_u); dprint(FD_RATE, "io_u %p queued by %u\n", io_u, gettid()); io_u_set(td, io_u, IO_U_F_NO_FILE_PUT); td->cur_depth++; do { ret = td_io_queue(td, io_u); if (ret != FIO_Q_BUSY) break; ret = io_u_queued_complete(td, 1); if (ret > 0) td->cur_depth -= ret; else if (ret < 0) break; io_u_clear(td, io_u, IO_U_F_FLIGHT); } while (1); dprint(FD_RATE, "io_u %p ret %d by %u\n", io_u, ret, gettid()); error = io_queue_event(td, io_u, &ret, ddir, NULL, 0, NULL); if (ret == FIO_Q_COMPLETED) td->cur_depth--; else if (ret == FIO_Q_QUEUED) { unsigned int min_evts; if (td->o.iodepth == 1) min_evts = 1; else min_evts = 0; ret = io_u_queued_complete(td, min_evts); if (ret > 0) td->cur_depth -= ret; } if (error || td->error) { pthread_mutex_lock(&td->io_u_lock); pthread_cond_signal(&td->parent->free_cond); pthread_mutex_unlock(&td->io_u_lock); } return 0; } static bool io_workqueue_pre_sleep_flush_fn(struct submit_worker *sw) { struct thread_data *td = sw->priv; if (td->error) return false; if (td->io_u_queued || td->cur_depth || td->io_u_in_flight) return true; return false; } static void io_workqueue_pre_sleep_fn(struct submit_worker *sw) { struct thread_data *td = sw->priv; int ret; ret = io_u_quiesce(td); if (ret > 0) td->cur_depth -= ret; } static int io_workqueue_alloc_fn(struct submit_worker *sw) { struct thread_data *td; td = calloc(1, sizeof(*td)); sw->priv = td; return 0; } static void io_workqueue_free_fn(struct submit_worker *sw) { free(sw->priv); sw->priv = NULL; } static int io_workqueue_init_worker_fn(struct submit_worker *sw) { struct thread_data *parent = sw->wq->td; struct thread_data *td = sw->priv; memcpy(&td->o, &parent->o, sizeof(td->o)); memcpy(&td->ts, &parent->ts, sizeof(td->ts)); td->o.uid = td->o.gid = -1U; dup_files(td, parent); td->eo = parent->eo; fio_options_mem_dupe(td); td->iolog_f = parent->iolog_f; if (ioengine_load(td)) goto err; td->pid = gettid(); INIT_FLIST_HEAD(&td->io_log_list); INIT_FLIST_HEAD(&td->io_hist_list); INIT_FLIST_HEAD(&td->verify_list); INIT_FLIST_HEAD(&td->trim_list); td->io_hist_tree = RB_ROOT; td->o.iodepth = 1; if (td_io_init(td)) goto err_io_init; if (td->io_ops->post_init && td->io_ops->post_init(td)) goto err_io_init; set_epoch_time(td, td->o.log_alternate_epoch_clock_id, td->o.job_start_clock_id); fio_getrusage(&td->ru_start); clear_io_state(td, 1); td_set_runstate(td, TD_RUNNING); td->flags |= TD_F_CHILD | TD_F_NEED_LOCK; td->parent = parent; return 0; err_io_init: close_ioengine(td); err: return 1; } static void io_workqueue_exit_worker_fn(struct submit_worker *sw, unsigned int *sum_cnt) { struct thread_data *td = sw->priv; (*sum_cnt)++; /* * io_workqueue_update_acct_fn() doesn't support per prio stats, and * even if it did, offload can't be used with all async IO engines. * If group reporting is set in the parent td, the group result * generated by __show_run_stats() can still contain multiple prios * from different offloaded jobs. */ sw->wq->td->ts.disable_prio_stat = 1; sum_thread_stats(&sw->wq->td->ts, &td->ts); fio_options_free(td); close_and_free_files(td); if (td->io_ops) close_ioengine(td); td_set_runstate(td, TD_EXITED); } #ifdef CONFIG_SFAA static void sum_val(uint64_t *dst, uint64_t *src) { if (*src) { __sync_fetch_and_add(dst, *src); *src = 0; } } #else static void sum_val(uint64_t *dst, uint64_t *src) { if (*src) { *dst += *src; *src = 0; } } #endif static void pthread_double_unlock(pthread_mutex_t *lock1, pthread_mutex_t *lock2) { #ifndef CONFIG_SFAA pthread_mutex_unlock(lock1); pthread_mutex_unlock(lock2); #endif } static void pthread_double_lock(pthread_mutex_t *lock1, pthread_mutex_t *lock2) { #ifndef CONFIG_SFAA if (lock1 < lock2) { pthread_mutex_lock(lock1); pthread_mutex_lock(lock2); } else { pthread_mutex_lock(lock2); pthread_mutex_lock(lock1); } #endif } static void sum_ddir(struct thread_data *dst, struct thread_data *src, enum fio_ddir ddir) { pthread_double_lock(&dst->io_wq.stat_lock, &src->io_wq.stat_lock); sum_val(&dst->io_bytes[ddir], &src->io_bytes[ddir]); sum_val(&dst->io_blocks[ddir], &src->io_blocks[ddir]); sum_val(&dst->this_io_blocks[ddir], &src->this_io_blocks[ddir]); sum_val(&dst->this_io_bytes[ddir], &src->this_io_bytes[ddir]); sum_val(&dst->bytes_done[ddir], &src->bytes_done[ddir]); if (ddir == DDIR_READ) sum_val(&dst->bytes_verified, &src->bytes_verified); pthread_double_unlock(&dst->io_wq.stat_lock, &src->io_wq.stat_lock); } static void io_workqueue_update_acct_fn(struct submit_worker *sw) { struct thread_data *src = sw->priv; struct thread_data *dst = sw->wq->td; if (td_read(src)) sum_ddir(dst, src, DDIR_READ); if (td_write(src)) sum_ddir(dst, src, DDIR_WRITE); if (td_trim(src)) sum_ddir(dst, src, DDIR_TRIM); } static struct workqueue_ops rated_wq_ops = { .fn = io_workqueue_fn, .pre_sleep_flush_fn = io_workqueue_pre_sleep_flush_fn, .pre_sleep_fn = io_workqueue_pre_sleep_fn, .update_acct_fn = io_workqueue_update_acct_fn, .alloc_worker_fn = io_workqueue_alloc_fn, .free_worker_fn = io_workqueue_free_fn, .init_worker_fn = io_workqueue_init_worker_fn, .exit_worker_fn = io_workqueue_exit_worker_fn, }; int rate_submit_init(struct thread_data *td, struct sk_out *sk_out) { if (td->o.io_submit_mode != IO_MODE_OFFLOAD) return 0; return workqueue_init(td, &td->io_wq, &rated_wq_ops, td->o.iodepth, sk_out); } void rate_submit_exit(struct thread_data *td) { if (td->o.io_submit_mode != IO_MODE_OFFLOAD) return; workqueue_exit(&td->io_wq); } fio-3.39/rate-submit.h000066400000000000000000000002431476262051600146420ustar00rootroot00000000000000#ifndef FIO_RATE_SUBMIT #define FIO_RATE_SUBMIT int rate_submit_init(struct thread_data *, struct sk_out *); void rate_submit_exit(struct thread_data *); #endif fio-3.39/rwlock.c000066400000000000000000000033011476262051600137000ustar00rootroot00000000000000#include #include #include #include #include "log.h" #include "rwlock.h" #include "os/os.h" void fio_rwlock_write(struct fio_rwlock *lock) { assert(lock->magic == FIO_RWLOCK_MAGIC); pthread_rwlock_wrlock(&lock->lock); } void fio_rwlock_read(struct fio_rwlock *lock) { assert(lock->magic == FIO_RWLOCK_MAGIC); pthread_rwlock_rdlock(&lock->lock); } void fio_rwlock_unlock(struct fio_rwlock *lock) { assert(lock->magic == FIO_RWLOCK_MAGIC); pthread_rwlock_unlock(&lock->lock); } void fio_rwlock_remove(struct fio_rwlock *lock) { assert(lock->magic == FIO_RWLOCK_MAGIC); pthread_rwlock_destroy(&lock->lock); munmap((void *) lock, sizeof(*lock)); } struct fio_rwlock *fio_rwlock_init(void) { struct fio_rwlock *lock; pthread_rwlockattr_t attr; int ret; lock = (void *) mmap(NULL, sizeof(struct fio_rwlock), PROT_READ | PROT_WRITE, OS_MAP_ANON | MAP_SHARED, -1, 0); if (lock == MAP_FAILED) { perror("mmap rwlock"); lock = NULL; goto err; } lock->magic = FIO_RWLOCK_MAGIC; ret = pthread_rwlockattr_init(&attr); if (ret) { log_err("pthread_rwlockattr_init: %s\n", strerror(ret)); goto err; } #ifdef CONFIG_PSHARED ret = pthread_rwlockattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); if (ret) { log_err("pthread_rwlockattr_setpshared: %s\n", strerror(ret)); goto destroy_attr; } ret = pthread_rwlock_init(&lock->lock, &attr); #else ret = pthread_rwlock_init(&lock->lock, NULL); #endif if (ret) { log_err("pthread_rwlock_init: %s\n", strerror(ret)); goto destroy_attr; } pthread_rwlockattr_destroy(&attr); return lock; destroy_attr: pthread_rwlockattr_destroy(&attr); err: if (lock) fio_rwlock_remove(lock); return NULL; } fio-3.39/rwlock.h000066400000000000000000000006511476262051600137120ustar00rootroot00000000000000#ifndef FIO_RWLOCK_H #define FIO_RWLOCK_H #include #define FIO_RWLOCK_MAGIC 0x52574c4fU struct fio_rwlock { pthread_rwlock_t lock; int magic; }; extern void fio_rwlock_read(struct fio_rwlock *); extern void fio_rwlock_write(struct fio_rwlock *); extern void fio_rwlock_unlock(struct fio_rwlock *); extern struct fio_rwlock *fio_rwlock_init(void); extern void fio_rwlock_remove(struct fio_rwlock *); #endif fio-3.39/server.c000066400000000000000000002026571476262051600137240ustar00rootroot00000000000000#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef CONFIG_ZLIB #include #endif #include "fio.h" #include "options.h" #include "server.h" #include "crc/crc16.h" #include "lib/ieee754.h" #include "verify-state.h" #include "smalloc.h" int fio_net_port = FIO_NET_PORT; bool exit_backend = false; enum { SK_F_FREE = 1, SK_F_COPY = 2, SK_F_SIMPLE = 4, SK_F_VEC = 8, SK_F_INLINE = 16, }; struct sk_entry { struct flist_head list; /* link on sk_out->list */ int flags; /* SK_F_* */ int opcode; /* Actual command fields */ void *buf; off_t size; uint64_t tag; struct flist_head next; /* Other sk_entry's, if linked command */ }; static char *fio_server_arg; static char *bind_sock; static struct sockaddr_in saddr_in; static struct sockaddr_in6 saddr_in6; static int use_ipv6; #ifdef CONFIG_ZLIB static unsigned int has_zlib = 1; #else static unsigned int has_zlib = 0; #endif static unsigned int use_zlib; static char me[128]; static pthread_key_t sk_out_key; #ifdef WIN32 static char *fio_server_pipe_name = NULL; static HANDLE hjob = INVALID_HANDLE_VALUE; struct ffi_element { union { pthread_t thread; HANDLE hProcess; }; bool is_thread; }; #endif struct fio_fork_item { struct flist_head list; int exitval; int signal; int exited; #ifdef WIN32 struct ffi_element element; #else pid_t pid; #endif }; struct cmd_reply { struct fio_sem lock; void *data; size_t size; int error; }; static const char *fio_server_ops[FIO_NET_CMD_NR] = { "", "QUIT", "EXIT", "JOB", "JOBLINE", "TEXT", "TS", "GS", "SEND_ETA", "ETA", "PROBE", "START", "STOP", "DISK_UTIL", "SERVER_START", "ADD_JOB", "RUN", "IOLOG", "UPDATE_JOB", "LOAD_FILE", "VTRIGGER", "SENDFILE", "JOB_OPT", }; static void sk_lock(struct sk_out *sk_out) { fio_sem_down(&sk_out->lock); } static void sk_unlock(struct sk_out *sk_out) { fio_sem_up(&sk_out->lock); } void sk_out_assign(struct sk_out *sk_out) { if (!sk_out) return; sk_lock(sk_out); sk_out->refs++; sk_unlock(sk_out); pthread_setspecific(sk_out_key, sk_out); } static void sk_out_free(struct sk_out *sk_out) { __fio_sem_remove(&sk_out->lock); __fio_sem_remove(&sk_out->wait); __fio_sem_remove(&sk_out->xmit); sfree(sk_out); } static int __sk_out_drop(struct sk_out *sk_out) { if (sk_out) { int refs; sk_lock(sk_out); assert(sk_out->refs != 0); refs = --sk_out->refs; sk_unlock(sk_out); if (!refs) { sk_out_free(sk_out); pthread_setspecific(sk_out_key, NULL); return 0; } } return 1; } void sk_out_drop(void) { struct sk_out *sk_out; sk_out = pthread_getspecific(sk_out_key); __sk_out_drop(sk_out); } static void __fio_init_net_cmd(struct fio_net_cmd *cmd, uint16_t opcode, uint32_t pdu_len, uint64_t tag) { memset(cmd, 0, sizeof(*cmd)); cmd->version = __cpu_to_le16(FIO_SERVER_VER); cmd->opcode = cpu_to_le16(opcode); cmd->tag = cpu_to_le64(tag); cmd->pdu_len = cpu_to_le32(pdu_len); } static void fio_init_net_cmd(struct fio_net_cmd *cmd, uint16_t opcode, const void *pdu, uint32_t pdu_len, uint64_t tag) { __fio_init_net_cmd(cmd, opcode, pdu_len, tag); if (pdu) memcpy(&cmd->payload, pdu, pdu_len); } const char *fio_server_op(unsigned int op) { static char buf[32]; if (op < FIO_NET_CMD_NR) return fio_server_ops[op]; sprintf(buf, "UNKNOWN/%d", op); return buf; } static ssize_t iov_total_len(const struct iovec *iov, int count) { ssize_t ret = 0; while (count--) { ret += iov->iov_len; iov++; } return ret; } static int fio_sendv_data(int sk, struct iovec *iov, int count) { ssize_t total_len = iov_total_len(iov, count); ssize_t ret; do { ret = writev(sk, iov, count); if (ret > 0) { total_len -= ret; if (!total_len) break; while (ret) { if (ret >= iov->iov_len) { ret -= iov->iov_len; iov++; continue; } iov->iov_base += ret; iov->iov_len -= ret; ret = 0; } } else if (!ret) break; else if (errno == EAGAIN || errno == EINTR) continue; else break; } while (!exit_backend); if (!total_len) return 0; return 1; } static int fio_send_data(int sk, const void *p, unsigned int len) { struct iovec iov = { .iov_base = (void *) p, .iov_len = len }; assert(len <= sizeof(struct fio_net_cmd) + FIO_SERVER_MAX_FRAGMENT_PDU); return fio_sendv_data(sk, &iov, 1); } bool fio_server_poll_fd(int fd, short events, int timeout) { struct pollfd pfd = { .fd = fd, .events = events, }; int ret; ret = poll(&pfd, 1, timeout); if (ret < 0) { if (errno == EINTR) return false; log_err("fio: poll: %s\n", strerror(errno)); return false; } else if (!ret) { return false; } if (pfd.revents & events) return true; return false; } static int fio_recv_data(int sk, void *buf, unsigned int len, bool wait) { int flags; char *p = buf; if (wait) flags = MSG_WAITALL; else flags = OS_MSG_DONTWAIT; do { int ret = recv(sk, p, len, flags); if (ret > 0) { len -= ret; if (!len) break; p += ret; continue; } else if (!ret) break; else if (errno == EAGAIN || errno == EINTR) { if (wait) continue; break; } else break; } while (!exit_backend); if (!len) return 0; return -1; } static int verify_convert_cmd(struct fio_net_cmd *cmd) { uint16_t crc; cmd->cmd_crc16 = le16_to_cpu(cmd->cmd_crc16); cmd->pdu_crc16 = le16_to_cpu(cmd->pdu_crc16); crc = fio_crc16(cmd, FIO_NET_CMD_CRC_SZ); if (crc != cmd->cmd_crc16) { log_err("fio: server bad crc on command (got %x, wanted %x)\n", cmd->cmd_crc16, crc); fprintf(f_err, "fio: server bad crc on command (got %x, wanted %x)\n", cmd->cmd_crc16, crc); return 1; } cmd->version = le16_to_cpu(cmd->version); cmd->opcode = le16_to_cpu(cmd->opcode); cmd->flags = le32_to_cpu(cmd->flags); cmd->tag = le64_to_cpu(cmd->tag); cmd->pdu_len = le32_to_cpu(cmd->pdu_len); switch (cmd->version) { case FIO_SERVER_VER: break; default: log_err("fio: bad server cmd version %d\n", cmd->version); fprintf(f_err, "fio: client/server version mismatch (%d != %d)\n", cmd->version, FIO_SERVER_VER); return 1; } if (cmd->pdu_len > FIO_SERVER_MAX_FRAGMENT_PDU) { log_err("fio: command payload too large: %u\n", cmd->pdu_len); return 1; } return 0; } /* * Read (and defragment, if necessary) incoming commands */ struct fio_net_cmd *fio_net_recv_cmd(int sk, bool wait) { struct fio_net_cmd cmd, *tmp, *cmdret = NULL; size_t cmd_size = 0, pdu_offset = 0; uint16_t crc; int ret, first = 1; void *pdu = NULL; do { ret = fio_recv_data(sk, &cmd, sizeof(cmd), wait); if (ret) break; /* We have a command, verify it and swap if need be */ ret = verify_convert_cmd(&cmd); if (ret) break; if (first) { /* if this is text, add room for \0 at the end */ cmd_size = sizeof(cmd) + cmd.pdu_len + 1; assert(!cmdret); } else cmd_size += cmd.pdu_len; if (cmd_size / 1024 > FIO_SERVER_MAX_CMD_MB * 1024) { log_err("fio: cmd+pdu too large (%llu)\n", (unsigned long long) cmd_size); ret = 1; break; } tmp = realloc(cmdret, cmd_size); if (!tmp) { log_err("fio: server failed allocating cmd\n"); ret = 1; break; } cmdret = tmp; if (first) memcpy(cmdret, &cmd, sizeof(cmd)); else if (cmdret->opcode != cmd.opcode) { log_err("fio: fragment opcode mismatch (%d != %d)\n", cmdret->opcode, cmd.opcode); ret = 1; break; } if (!cmd.pdu_len) break; /* There's payload, get it */ pdu = (char *) cmdret->payload + pdu_offset; ret = fio_recv_data(sk, pdu, cmd.pdu_len, wait); if (ret) break; /* Verify payload crc */ crc = fio_crc16(pdu, cmd.pdu_len); if (crc != cmd.pdu_crc16) { log_err("fio: server bad crc on payload "); log_err("(got %x, wanted %x)\n", cmd.pdu_crc16, crc); ret = 1; break; } pdu_offset += cmd.pdu_len; if (!first) cmdret->pdu_len += cmd.pdu_len; first = 0; } while (cmd.flags & FIO_NET_CMD_F_MORE); if (ret) { free(cmdret); cmdret = NULL; } else if (cmdret) { /* zero-terminate text input */ if (cmdret->pdu_len) { if (cmdret->opcode == FIO_NET_CMD_TEXT) { struct cmd_text_pdu *__pdu = (struct cmd_text_pdu *) cmdret->payload; char *buf = (char *) __pdu->buf; int len = le32_to_cpu(__pdu->buf_len); buf[len] = '\0'; } else if (cmdret->opcode == FIO_NET_CMD_JOB) { struct cmd_job_pdu *__pdu = (struct cmd_job_pdu *) cmdret->payload; char *buf = (char *) __pdu->buf; int len = le32_to_cpu(__pdu->buf_len); buf[len] = '\0'; } } /* frag flag is internal */ cmdret->flags &= ~FIO_NET_CMD_F_MORE; } return cmdret; } static void add_reply(uint64_t tag, struct flist_head *list) { struct fio_net_cmd_reply *reply; reply = (struct fio_net_cmd_reply *) (uintptr_t) tag; flist_add_tail(&reply->list, list); } static uint64_t alloc_reply(uint64_t tag, uint16_t opcode) { struct fio_net_cmd_reply *reply; reply = calloc(1, sizeof(*reply)); INIT_FLIST_HEAD(&reply->list); fio_gettime(&reply->ts, NULL); reply->saved_tag = tag; reply->opcode = opcode; return (uintptr_t) reply; } static void free_reply(uint64_t tag) { struct fio_net_cmd_reply *reply; reply = (struct fio_net_cmd_reply *) (uintptr_t) tag; free(reply); } static void fio_net_cmd_crc_pdu(struct fio_net_cmd *cmd, const void *pdu) { uint32_t pdu_len; cmd->cmd_crc16 = __cpu_to_le16(fio_crc16(cmd, FIO_NET_CMD_CRC_SZ)); pdu_len = le32_to_cpu(cmd->pdu_len); cmd->pdu_crc16 = __cpu_to_le16(fio_crc16(pdu, pdu_len)); } static void fio_net_cmd_crc(struct fio_net_cmd *cmd) { fio_net_cmd_crc_pdu(cmd, cmd->payload); } int fio_net_send_cmd(int fd, uint16_t opcode, const void *buf, off_t size, uint64_t *tagptr, struct flist_head *list) { struct fio_net_cmd *cmd = NULL; size_t this_len, cur_len = 0; uint64_t tag; int ret; if (list) { assert(tagptr); tag = *tagptr = alloc_reply(*tagptr, opcode); } else tag = tagptr ? *tagptr : 0; do { this_len = size; if (this_len > FIO_SERVER_MAX_FRAGMENT_PDU) this_len = FIO_SERVER_MAX_FRAGMENT_PDU; if (!cmd || cur_len < sizeof(*cmd) + this_len) { if (cmd) free(cmd); cur_len = sizeof(*cmd) + this_len; cmd = malloc(cur_len); } fio_init_net_cmd(cmd, opcode, buf, this_len, tag); if (this_len < size) cmd->flags = __cpu_to_le32(FIO_NET_CMD_F_MORE); fio_net_cmd_crc(cmd); ret = fio_send_data(fd, cmd, sizeof(*cmd) + this_len); size -= this_len; buf += this_len; } while (!ret && size); if (list) { if (ret) free_reply(tag); else add_reply(tag, list); } if (cmd) free(cmd); return ret; } static struct sk_entry *fio_net_prep_cmd(uint16_t opcode, void *buf, size_t size, uint64_t *tagptr, int flags) { struct sk_entry *entry; entry = smalloc(sizeof(*entry)); if (!entry) return NULL; INIT_FLIST_HEAD(&entry->next); entry->opcode = opcode; if (flags & SK_F_COPY) { entry->buf = smalloc(size); memcpy(entry->buf, buf, size); } else entry->buf = buf; entry->size = size; if (tagptr) entry->tag = *tagptr; else entry->tag = 0; entry->flags = flags; return entry; } static int handle_sk_entry(struct sk_out *sk_out, struct sk_entry *entry); static void fio_net_queue_entry(struct sk_entry *entry) { struct sk_out *sk_out = pthread_getspecific(sk_out_key); if (entry->flags & SK_F_INLINE) handle_sk_entry(sk_out, entry); else { sk_lock(sk_out); flist_add_tail(&entry->list, &sk_out->list); sk_unlock(sk_out); fio_sem_up(&sk_out->wait); } } static int fio_net_queue_cmd(uint16_t opcode, void *buf, off_t size, uint64_t *tagptr, int flags) { struct sk_entry *entry; entry = fio_net_prep_cmd(opcode, buf, size, tagptr, flags); if (entry) { fio_net_queue_entry(entry); return 0; } return 1; } static int fio_net_send_simple_stack_cmd(int sk, uint16_t opcode, uint64_t tag) { struct fio_net_cmd cmd; fio_init_net_cmd(&cmd, opcode, NULL, 0, tag); fio_net_cmd_crc(&cmd); return fio_send_data(sk, &cmd, sizeof(cmd)); } /* * If 'list' is non-NULL, then allocate and store the sent command for * later verification. */ int fio_net_send_simple_cmd(int sk, uint16_t opcode, uint64_t tag, struct flist_head *list) { int ret; if (list) tag = alloc_reply(tag, opcode); ret = fio_net_send_simple_stack_cmd(sk, opcode, tag); if (ret) { if (list) free_reply(tag); return ret; } if (list) add_reply(tag, list); return 0; } static int fio_net_queue_quit(void) { dprint(FD_NET, "server: sending quit\n"); return fio_net_queue_cmd(FIO_NET_CMD_QUIT, NULL, 0, NULL, SK_F_SIMPLE); } int fio_net_send_quit(int sk) { dprint(FD_NET, "server: sending quit\n"); return fio_net_send_simple_cmd(sk, FIO_NET_CMD_QUIT, 0, NULL); } static int fio_net_send_ack(struct fio_net_cmd *cmd, int error, int signal) { struct cmd_end_pdu epdu; uint64_t tag = 0; if (cmd) tag = cmd->tag; epdu.error = __cpu_to_le32(error); epdu.signal = __cpu_to_le32(signal); return fio_net_queue_cmd(FIO_NET_CMD_STOP, &epdu, sizeof(epdu), &tag, SK_F_COPY); } static int fio_net_queue_stop(int error, int signal) { dprint(FD_NET, "server: sending stop (%d, %d)\n", error, signal); return fio_net_send_ack(NULL, error, signal); } #ifdef WIN32 static void fio_server_add_fork_item(struct ffi_element *element, struct flist_head *list) { struct fio_fork_item *ffi; ffi = malloc(sizeof(*ffi)); ffi->exitval = 0; ffi->signal = 0; ffi->exited = 0; ffi->element = *element; flist_add_tail(&ffi->list, list); } static void fio_server_add_conn_pid(struct flist_head *conn_list, HANDLE hProcess) { struct ffi_element element = {.hProcess = hProcess, .is_thread=FALSE}; dprint(FD_NET, "server: forked off connection job (tid=%u)\n", (int) element.thread); fio_server_add_fork_item(&element, conn_list); } static void fio_server_add_job_pid(struct flist_head *job_list, pthread_t thread) { struct ffi_element element = {.thread = thread, .is_thread=TRUE}; dprint(FD_NET, "server: forked off job job (tid=%u)\n", (int) element.thread); fio_server_add_fork_item(&element, job_list); } static void fio_server_check_fork_item(struct fio_fork_item *ffi) { int ret; if (ffi->element.is_thread) { ret = pthread_kill(ffi->element.thread, 0); if (ret) { int rev_val; pthread_join(ffi->element.thread, (void**) &rev_val); /*if the thread is dead, then join it to get status*/ ffi->exitval = rev_val; if (ffi->exitval) log_err("thread (tid=%u) exited with %x\n", (int) ffi->element.thread, (int) ffi->exitval); dprint(FD_PROCESS, "thread (tid=%u) exited with %x\n", (int) ffi->element.thread, (int) ffi->exitval); ffi->exited = 1; } } else { DWORD exit_val; GetExitCodeProcess(ffi->element.hProcess, &exit_val); if (exit_val != STILL_ACTIVE) { dprint(FD_PROCESS, "process %u exited with %d\n", GetProcessId(ffi->element.hProcess), exit_val); ffi->exited = 1; ffi->exitval = exit_val; } } } #else static void fio_server_add_fork_item(pid_t pid, struct flist_head *list) { struct fio_fork_item *ffi; ffi = malloc(sizeof(*ffi)); ffi->exitval = 0; ffi->signal = 0; ffi->exited = 0; ffi->pid = pid; flist_add_tail(&ffi->list, list); } static void fio_server_add_conn_pid(struct flist_head *conn_list, pid_t pid) { dprint(FD_NET, "server: forked off connection job (pid=%u)\n", (int) pid); fio_server_add_fork_item(pid, conn_list); } static void fio_server_add_job_pid(struct flist_head *job_list, pid_t pid) { dprint(FD_NET, "server: forked off job job (pid=%u)\n", (int) pid); fio_server_add_fork_item(pid, job_list); } static void fio_server_check_fork_item(struct fio_fork_item *ffi) { int ret, status; ret = waitpid(ffi->pid, &status, WNOHANG); if (ret < 0) { if (errno == ECHILD) { log_err("fio: connection pid %u disappeared\n", (int) ffi->pid); ffi->exited = 1; } else log_err("fio: waitpid: %s\n", strerror(errno)); } else if (ret == ffi->pid) { if (WIFSIGNALED(status)) { ffi->signal = WTERMSIG(status); ffi->exited = 1; } if (WIFEXITED(status)) { if (WEXITSTATUS(status)) ffi->exitval = WEXITSTATUS(status); ffi->exited = 1; } } } #endif static void fio_server_fork_item_done(struct fio_fork_item *ffi, bool stop) { #ifdef WIN32 if (ffi->element.is_thread) dprint(FD_NET, "tid %u exited, sig=%u, exitval=%d\n", (int) ffi->element.thread, ffi->signal, ffi->exitval); else { dprint(FD_NET, "pid %u exited, sig=%u, exitval=%d\n", (int) GetProcessId(ffi->element.hProcess), ffi->signal, ffi->exitval); CloseHandle(ffi->element.hProcess); ffi->element.hProcess = INVALID_HANDLE_VALUE; } #else dprint(FD_NET, "pid %u exited, sig=%u, exitval=%d\n", (int) ffi->pid, ffi->signal, ffi->exitval); #endif /* * Fold STOP and QUIT... */ if (stop) { fio_net_queue_stop(ffi->exitval, ffi->signal); fio_net_queue_quit(); } flist_del(&ffi->list); free(ffi); } static void fio_server_check_fork_items(struct flist_head *list, bool stop) { struct flist_head *entry, *tmp; struct fio_fork_item *ffi; flist_for_each_safe(entry, tmp, list) { ffi = flist_entry(entry, struct fio_fork_item, list); fio_server_check_fork_item(ffi); if (ffi->exited) fio_server_fork_item_done(ffi, stop); } } static void fio_server_check_jobs(struct flist_head *job_list) { fio_server_check_fork_items(job_list, true); } static void fio_server_check_conns(struct flist_head *conn_list) { fio_server_check_fork_items(conn_list, false); } static int handle_load_file_cmd(struct fio_net_cmd *cmd) { struct cmd_load_file_pdu *pdu = (struct cmd_load_file_pdu *) cmd->payload; void *file_name = pdu->file; struct cmd_start_pdu spdu; dprint(FD_NET, "server: loading local file %s\n", (char *) file_name); pdu->name_len = le16_to_cpu(pdu->name_len); pdu->client_type = le16_to_cpu(pdu->client_type); if (parse_jobs_ini(file_name, 0, 0, pdu->client_type)) { fio_net_queue_quit(); return -1; } spdu.jobs = cpu_to_le32(thread_number); spdu.stat_outputs = cpu_to_le32(stat_number); fio_net_queue_cmd(FIO_NET_CMD_START, &spdu, sizeof(spdu), NULL, SK_F_COPY); return 0; } #ifdef WIN32 static void *fio_backend_thread(void *data) { int ret; struct sk_out *sk_out = (struct sk_out *) data; sk_out_assign(sk_out); ret = fio_backend(sk_out); sk_out_drop(); pthread_exit((void*) (intptr_t) ret); return NULL; } #endif static int handle_run_cmd(struct sk_out *sk_out, struct flist_head *job_list, struct fio_net_cmd *cmd) { int ret; fio_time_init(); set_genesis_time(); #ifdef WIN32 { pthread_t thread; /* both this thread and backend_thread call sk_out_assign() to double increment * the ref count. This ensures struct is valid until both threads are done with it */ sk_out_assign(sk_out); ret = pthread_create(&thread, NULL, fio_backend_thread, sk_out); if (ret) { log_err("pthread_create: %s\n", strerror(ret)); return ret; } fio_server_add_job_pid(job_list, thread); return ret; } #else { pid_t pid; sk_out_assign(sk_out); pid = fork(); if (pid) { fio_server_add_job_pid(job_list, pid); return 0; } ret = fio_backend(sk_out); free_threads_shm(); sk_out_drop(); _exit(ret); } #endif } static int handle_job_cmd(struct fio_net_cmd *cmd) { struct cmd_job_pdu *pdu = (struct cmd_job_pdu *) cmd->payload; void *buf = pdu->buf; struct cmd_start_pdu spdu; pdu->buf_len = le32_to_cpu(pdu->buf_len); pdu->client_type = le32_to_cpu(pdu->client_type); if (parse_jobs_ini(buf, 1, 0, pdu->client_type)) { fio_net_queue_quit(); return -1; } spdu.jobs = cpu_to_le32(thread_number); spdu.stat_outputs = cpu_to_le32(stat_number); fio_net_queue_cmd(FIO_NET_CMD_START, &spdu, sizeof(spdu), NULL, SK_F_COPY); return 0; } static int handle_jobline_cmd(struct fio_net_cmd *cmd) { void *pdu = cmd->payload; struct cmd_single_line_pdu *cslp; struct cmd_line_pdu *clp; unsigned long offset; struct cmd_start_pdu spdu; char **argv; int i; clp = pdu; clp->lines = le16_to_cpu(clp->lines); clp->client_type = le16_to_cpu(clp->client_type); argv = malloc(clp->lines * sizeof(char *)); offset = sizeof(*clp); dprint(FD_NET, "server: %d command line args\n", clp->lines); for (i = 0; i < clp->lines; i++) { cslp = pdu + offset; argv[i] = (char *) cslp->text; offset += sizeof(*cslp) + le16_to_cpu(cslp->len); dprint(FD_NET, "server: %d: %s\n", i, argv[i]); } if (parse_cmd_line(clp->lines, argv, clp->client_type)) { fio_net_queue_quit(); free(argv); return -1; } free(argv); spdu.jobs = cpu_to_le32(thread_number); spdu.stat_outputs = cpu_to_le32(stat_number); fio_net_queue_cmd(FIO_NET_CMD_START, &spdu, sizeof(spdu), NULL, SK_F_COPY); return 0; } static int handle_probe_cmd(struct fio_net_cmd *cmd) { struct cmd_client_probe_pdu *pdu = (struct cmd_client_probe_pdu *) cmd->payload; uint64_t tag = cmd->tag; struct cmd_probe_reply_pdu probe = { #ifdef CONFIG_BIG_ENDIAN .bigendian = 1, #endif .os = FIO_OS, .arch = FIO_ARCH, .bpp = sizeof(void *), .cpus = __cpu_to_le32(cpus_configured()), }; dprint(FD_NET, "server: sending probe reply\n"); strcpy(me, (char *) pdu->server); gethostname((char *) probe.hostname, sizeof(probe.hostname)); snprintf((char *) probe.fio_version, sizeof(probe.fio_version), "%s", fio_version_string); /* * If the client supports compression and we do too, then enable it */ if (has_zlib && le64_to_cpu(pdu->flags) & FIO_PROBE_FLAG_ZLIB) { probe.flags = __cpu_to_le64(FIO_PROBE_FLAG_ZLIB); use_zlib = 1; } else { probe.flags = 0; use_zlib = 0; } return fio_net_queue_cmd(FIO_NET_CMD_PROBE, &probe, sizeof(probe), &tag, SK_F_COPY); } static int handle_send_eta_cmd(struct fio_net_cmd *cmd) { struct jobs_eta *je; uint64_t tag = cmd->tag; size_t size; int i; dprint(FD_NET, "server sending status\n"); /* * Fake ETA return if we don't have a local one, otherwise the client * will end up timing out waiting for a response to the ETA request */ je = get_jobs_eta(true, &size); if (!je) { size = sizeof(*je); je = calloc(1, size); } else { je->nr_running = cpu_to_le32(je->nr_running); je->nr_ramp = cpu_to_le32(je->nr_ramp); je->nr_pending = cpu_to_le32(je->nr_pending); je->nr_setting_up = cpu_to_le32(je->nr_setting_up); je->files_open = cpu_to_le32(je->files_open); for (i = 0; i < DDIR_RWDIR_CNT; i++) { je->m_rate[i] = cpu_to_le64(je->m_rate[i]); je->t_rate[i] = cpu_to_le64(je->t_rate[i]); je->m_iops[i] = cpu_to_le32(je->m_iops[i]); je->t_iops[i] = cpu_to_le32(je->t_iops[i]); je->rate[i] = cpu_to_le64(je->rate[i]); je->iops[i] = cpu_to_le32(je->iops[i]); } je->elapsed_sec = cpu_to_le64(je->elapsed_sec); je->eta_sec = cpu_to_le64(je->eta_sec); je->nr_threads = cpu_to_le32(je->nr_threads); je->is_pow2 = cpu_to_le32(je->is_pow2); je->unit_base = cpu_to_le32(je->unit_base); } fio_net_queue_cmd(FIO_NET_CMD_ETA, je, size, &tag, SK_F_FREE); return 0; } static int send_update_job_reply(uint64_t __tag, int error) { uint64_t tag = __tag; uint32_t pdu_error; pdu_error = __cpu_to_le32(error); return fio_net_queue_cmd(FIO_NET_CMD_UPDATE_JOB, &pdu_error, sizeof(pdu_error), &tag, SK_F_COPY); } static int handle_update_job_cmd(struct fio_net_cmd *cmd) { struct cmd_add_job_pdu *pdu = (struct cmd_add_job_pdu *) cmd->payload; struct thread_data *td; uint32_t tnumber; int ret; tnumber = le32_to_cpu(pdu->thread_number); dprint(FD_NET, "server: updating options for job %u\n", tnumber); if (!tnumber || tnumber > thread_number) { send_update_job_reply(cmd->tag, ENODEV); return 0; } td = tnumber_to_td(tnumber); ret = convert_thread_options_to_cpu(&td->o, &pdu->top, cmd->pdu_len - offsetof(struct cmd_add_job_pdu, top)); send_update_job_reply(cmd->tag, ret); return 0; } static int handle_trigger_cmd(struct fio_net_cmd *cmd, struct flist_head *job_list) { struct cmd_vtrigger_pdu *pdu = (struct cmd_vtrigger_pdu *) cmd->payload; char *buf = (char *) pdu->cmd; struct all_io_list *rep; size_t sz; pdu->len = le16_to_cpu(pdu->len); buf[pdu->len] = '\0'; rep = get_all_io_list(IO_LIST_ALL, &sz); if (!rep) { struct all_io_list state; state.threads = cpu_to_le64((uint64_t) 0); fio_net_queue_cmd(FIO_NET_CMD_VTRIGGER, &state, sizeof(state), NULL, SK_F_COPY | SK_F_INLINE); } else fio_net_queue_cmd(FIO_NET_CMD_VTRIGGER, rep, sz, NULL, SK_F_FREE | SK_F_INLINE); fio_terminate_threads(TERMINATE_ALL, TERMINATE_ALL); fio_server_check_jobs(job_list); exec_trigger(buf); return 0; } static int handle_command(struct sk_out *sk_out, struct flist_head *job_list, struct fio_net_cmd *cmd) { int ret; dprint(FD_NET, "server: got op [%s], pdu=%u, tag=%llx\n", fio_server_op(cmd->opcode), cmd->pdu_len, (unsigned long long) cmd->tag); switch (cmd->opcode) { case FIO_NET_CMD_QUIT: fio_terminate_threads(TERMINATE_ALL, TERMINATE_ALL); ret = 0; break; case FIO_NET_CMD_EXIT: exit_backend = true; return -1; case FIO_NET_CMD_LOAD_FILE: ret = handle_load_file_cmd(cmd); break; case FIO_NET_CMD_JOB: ret = handle_job_cmd(cmd); break; case FIO_NET_CMD_JOBLINE: ret = handle_jobline_cmd(cmd); break; case FIO_NET_CMD_PROBE: ret = handle_probe_cmd(cmd); break; case FIO_NET_CMD_SEND_ETA: ret = handle_send_eta_cmd(cmd); break; case FIO_NET_CMD_RUN: ret = handle_run_cmd(sk_out, job_list, cmd); break; case FIO_NET_CMD_UPDATE_JOB: ret = handle_update_job_cmd(cmd); break; case FIO_NET_CMD_VTRIGGER: ret = handle_trigger_cmd(cmd, job_list); break; case FIO_NET_CMD_SENDFILE: { struct cmd_sendfile_reply *in; struct cmd_reply *rep; rep = (struct cmd_reply *) (uintptr_t) cmd->tag; in = (struct cmd_sendfile_reply *) cmd->payload; in->size = le32_to_cpu(in->size); in->error = le32_to_cpu(in->error); if (in->error) { ret = 1; rep->error = in->error; } else { ret = 0; rep->data = smalloc(in->size); if (!rep->data) { ret = 1; rep->error = ENOMEM; } else { rep->size = in->size; memcpy(rep->data, in->data, in->size); } } fio_sem_up(&rep->lock); break; } default: log_err("fio: unknown opcode: %s\n", fio_server_op(cmd->opcode)); ret = 1; } return ret; } /* * Send a command with a separate PDU, not inlined in the command */ static int fio_send_cmd_ext_pdu(int sk, uint16_t opcode, const void *buf, off_t size, uint64_t tag, uint32_t flags) { struct fio_net_cmd cmd; struct iovec iov[2]; size_t this_len; int ret; iov[0].iov_base = (void *) &cmd; iov[0].iov_len = sizeof(cmd); do { uint32_t this_flags = flags; this_len = size; if (this_len > FIO_SERVER_MAX_FRAGMENT_PDU) this_len = FIO_SERVER_MAX_FRAGMENT_PDU; if (this_len < size) this_flags |= FIO_NET_CMD_F_MORE; __fio_init_net_cmd(&cmd, opcode, this_len, tag); cmd.flags = __cpu_to_le32(this_flags); fio_net_cmd_crc_pdu(&cmd, buf); iov[1].iov_base = (void *) buf; iov[1].iov_len = this_len; ret = fio_sendv_data(sk, iov, 2); size -= this_len; buf += this_len; } while (!ret && size); return ret; } static void finish_entry(struct sk_entry *entry) { if (entry->flags & SK_F_FREE) free(entry->buf); else if (entry->flags & SK_F_COPY) sfree(entry->buf); sfree(entry); } static void entry_set_flags(struct sk_entry *entry, struct flist_head *list, unsigned int *flags) { if (!flist_empty(list)) *flags = FIO_NET_CMD_F_MORE; else *flags = 0; } static int send_vec_entry(struct sk_out *sk_out, struct sk_entry *first) { unsigned int flags; int ret; entry_set_flags(first, &first->next, &flags); ret = fio_send_cmd_ext_pdu(sk_out->sk, first->opcode, first->buf, first->size, first->tag, flags); while (!flist_empty(&first->next)) { struct sk_entry *next; next = flist_first_entry(&first->next, struct sk_entry, list); flist_del_init(&next->list); entry_set_flags(next, &first->next, &flags); ret += fio_send_cmd_ext_pdu(sk_out->sk, next->opcode, next->buf, next->size, next->tag, flags); finish_entry(next); } return ret; } static int handle_sk_entry(struct sk_out *sk_out, struct sk_entry *entry) { int ret; fio_sem_down(&sk_out->xmit); if (entry->flags & SK_F_VEC) ret = send_vec_entry(sk_out, entry); else if (entry->flags & SK_F_SIMPLE) { ret = fio_net_send_simple_cmd(sk_out->sk, entry->opcode, entry->tag, NULL); } else { ret = fio_net_send_cmd(sk_out->sk, entry->opcode, entry->buf, entry->size, &entry->tag, NULL); } fio_sem_up(&sk_out->xmit); if (ret) log_err("fio: failed handling cmd %s\n", fio_server_op(entry->opcode)); finish_entry(entry); return ret; } static int handle_xmits(struct sk_out *sk_out) { struct sk_entry *entry; FLIST_HEAD(list); int ret = 0; sk_lock(sk_out); if (flist_empty(&sk_out->list)) { sk_unlock(sk_out); return 0; } flist_splice_init(&sk_out->list, &list); sk_unlock(sk_out); while (!flist_empty(&list)) { entry = flist_first_entry(&list, struct sk_entry, list); flist_del(&entry->list); ret += handle_sk_entry(sk_out, entry); } return ret; } static int handle_connection(struct sk_out *sk_out) { struct fio_net_cmd *cmd = NULL; FLIST_HEAD(job_list); int ret = 0; reset_fio_state(); /* read forever */ while (!exit_backend) { struct pollfd pfd = { .fd = sk_out->sk, .events = POLLIN, }; do { int timeout = 1000; if (!flist_empty(&job_list)) timeout = 100; handle_xmits(sk_out); ret = poll(&pfd, 1, 0); if (ret < 0) { if (errno == EINTR) break; log_err("fio: poll: %s\n", strerror(errno)); break; } else if (!ret) { fio_server_check_jobs(&job_list); fio_sem_down_timeout(&sk_out->wait, timeout); continue; } if (pfd.revents & POLLIN) break; if (pfd.revents & (POLLERR|POLLHUP)) { ret = 1; break; } } while (!exit_backend); fio_server_check_jobs(&job_list); if (ret < 0) break; if (pfd.revents & POLLIN) cmd = fio_net_recv_cmd(sk_out->sk, true); if (!cmd) { ret = -1; break; } ret = handle_command(sk_out, &job_list, cmd); if (ret) break; free(cmd); cmd = NULL; } if (cmd) free(cmd); handle_xmits(sk_out); close(sk_out->sk); sk_out->sk = -1; __sk_out_drop(sk_out); _exit(ret); } /* get the address on this host bound by the input socket, * whether it is ipv6 or ipv4 */ static int get_my_addr_str(int sk) { struct sockaddr_in6 myaddr6 = { 0, }; struct sockaddr_in myaddr4 = { 0, }; struct sockaddr *sockaddr_p; char *net_addr; socklen_t len; int ret; if (use_ipv6) { len = sizeof(myaddr6); sockaddr_p = (struct sockaddr * )&myaddr6; net_addr = (char * )&myaddr6.sin6_addr; } else { len = sizeof(myaddr4); sockaddr_p = (struct sockaddr * )&myaddr4; net_addr = (char * )&myaddr4.sin_addr; } ret = getsockname(sk, sockaddr_p, &len); if (ret) { log_err("fio: getsockname: %s\n", strerror(errno)); return -1; } if (!inet_ntop(use_ipv6?AF_INET6:AF_INET, net_addr, client_sockaddr_str, INET6_ADDRSTRLEN - 1)) { log_err("inet_ntop: failed to convert addr to string\n"); return -1; } dprint(FD_NET, "fio server bound to addr %s\n", client_sockaddr_str); return 0; } #ifdef WIN32 static int handle_connection_process(void) { WSAPROTOCOL_INFO protocol_info; DWORD bytes_read; HANDLE hpipe; int sk; struct sk_out *sk_out; int ret; char *msg = (char *) "connected"; log_info("server enter accept loop. ProcessID %d\n", GetCurrentProcessId()); hpipe = CreateFile( fio_server_pipe_name, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if (hpipe == INVALID_HANDLE_VALUE) { log_err("couldnt open pipe %s error %lu\n", fio_server_pipe_name, GetLastError()); return -1; } if (!ReadFile(hpipe, &protocol_info, sizeof(protocol_info), &bytes_read, NULL)) { log_err("couldnt read pi from pipe %s error %lu\n", fio_server_pipe_name, GetLastError()); } if (use_ipv6) /* use protocol_info to create a duplicate of parents socket */ sk = WSASocket(AF_INET6, SOCK_STREAM, 0, &protocol_info, 0, 0); else sk = WSASocket(AF_INET, SOCK_STREAM, 0, &protocol_info, 0, 0); sk_out = scalloc(1, sizeof(*sk_out)); if (!sk_out) { CloseHandle(hpipe); close(sk); return -1; } sk_out->sk = sk; sk_out->hProcess = INVALID_HANDLE_VALUE; INIT_FLIST_HEAD(&sk_out->list); __fio_sem_init(&sk_out->lock, FIO_SEM_UNLOCKED); __fio_sem_init(&sk_out->wait, FIO_SEM_LOCKED); __fio_sem_init(&sk_out->xmit, FIO_SEM_UNLOCKED); get_my_addr_str(sk); if (!WriteFile(hpipe, msg, strlen(msg), NULL, NULL)) { log_err("couldnt write pipe\n"); close(sk); return -1; } CloseHandle(hpipe); sk_out_assign(sk_out); ret = handle_connection(sk_out); __sk_out_drop(sk_out); return ret; } #endif static int accept_loop(int listen_sk) { struct sockaddr_in addr; struct sockaddr_in6 addr6; socklen_t len = use_ipv6 ? sizeof(addr6) : sizeof(addr); struct pollfd pfd; int ret = 0, sk, exitval = 0; FLIST_HEAD(conn_list); dprint(FD_NET, "server enter accept loop\n"); fio_set_fd_nonblocking(listen_sk, "server"); while (!exit_backend) { struct sk_out *sk_out; const char *from; char buf[64]; #ifdef WIN32 HANDLE hProcess; #else pid_t pid; #endif pfd.fd = listen_sk; pfd.events = POLLIN; do { int timeout = 1000; if (!flist_empty(&conn_list)) timeout = 100; ret = poll(&pfd, 1, timeout); if (ret < 0) { if (errno == EINTR) break; log_err("fio: poll: %s\n", strerror(errno)); break; } else if (!ret) { fio_server_check_conns(&conn_list); continue; } if (pfd.revents & POLLIN) break; } while (!exit_backend); fio_server_check_conns(&conn_list); if (exit_backend || ret < 0) break; if (use_ipv6) sk = accept(listen_sk, (struct sockaddr *) &addr6, &len); else sk = accept(listen_sk, (struct sockaddr *) &addr, &len); if (sk < 0) { log_err("fio: accept: %s\n", strerror(errno)); return -1; } if (use_ipv6) from = inet_ntop(AF_INET6, (struct sockaddr *) &addr6.sin6_addr, buf, sizeof(buf)); else from = inet_ntop(AF_INET, (struct sockaddr *) &addr.sin_addr, buf, sizeof(buf)); dprint(FD_NET, "server: connect from %s\n", from); sk_out = scalloc(1, sizeof(*sk_out)); if (!sk_out) { close(sk); return -1; } sk_out->sk = sk; INIT_FLIST_HEAD(&sk_out->list); __fio_sem_init(&sk_out->lock, FIO_SEM_UNLOCKED); __fio_sem_init(&sk_out->wait, FIO_SEM_LOCKED); __fio_sem_init(&sk_out->xmit, FIO_SEM_UNLOCKED); #ifdef WIN32 hProcess = windows_handle_connection(hjob, sk); if (hProcess == INVALID_HANDLE_VALUE) return -1; sk_out->hProcess = hProcess; fio_server_add_conn_pid(&conn_list, hProcess); #else pid = fork(); if (pid) { close(sk); fio_server_add_conn_pid(&conn_list, pid); continue; } /* if error, it's already logged, non-fatal */ get_my_addr_str(sk); /* * Assign sk_out here, it'll be dropped in handle_connection() * since that function calls _exit() when done */ sk_out_assign(sk_out); handle_connection(sk_out); #endif } return exitval; } int fio_server_text_output(int level, const char *buf, size_t len) { struct sk_out *sk_out = pthread_getspecific(sk_out_key); struct cmd_text_pdu *pdu; unsigned int tlen; struct timeval tv; if (!sk_out || sk_out->sk == -1) return -1; tlen = sizeof(*pdu) + len; pdu = malloc(tlen); pdu->level = __cpu_to_le32(level); pdu->buf_len = __cpu_to_le32(len); gettimeofday(&tv, NULL); pdu->log_sec = __cpu_to_le64(tv.tv_sec); pdu->log_usec = __cpu_to_le64(tv.tv_usec); memcpy(pdu->buf, buf, len); fio_net_queue_cmd(FIO_NET_CMD_TEXT, pdu, tlen, NULL, SK_F_COPY); free(pdu); return len; } static void convert_io_stat(struct io_stat *dst, struct io_stat *src) { dst->max_val = cpu_to_le64(src->max_val); dst->min_val = cpu_to_le64(src->min_val); dst->samples = cpu_to_le64(src->samples); /* * Encode to IEEE 754 for network transfer */ dst->mean.u.i = cpu_to_le64(fio_double_to_uint64(src->mean.u.f)); dst->S.u.i = cpu_to_le64(fio_double_to_uint64(src->S.u.f)); } static void convert_gs(struct group_run_stats *dst, struct group_run_stats *src) { int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { dst->max_run[i] = cpu_to_le64(src->max_run[i]); dst->min_run[i] = cpu_to_le64(src->min_run[i]); dst->max_bw[i] = cpu_to_le64(src->max_bw[i]); dst->min_bw[i] = cpu_to_le64(src->min_bw[i]); dst->iobytes[i] = cpu_to_le64(src->iobytes[i]); dst->agg[i] = cpu_to_le64(src->agg[i]); } dst->kb_base = cpu_to_le32(src->kb_base); dst->unit_base = cpu_to_le32(src->unit_base); dst->groupid = cpu_to_le32(src->groupid); dst->unified_rw_rep = cpu_to_le32(src->unified_rw_rep); dst->sig_figs = cpu_to_le32(src->sig_figs); } /* * Send a CMD_TS, which packs struct thread_stat and group_run_stats * into a single payload. */ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs) { struct cmd_ts_pdu p; int i, j, k; size_t clat_prio_stats_extra_size = 0; size_t ss_extra_size = 0; size_t extended_buf_size = 0; void *extended_buf; void *extended_buf_wp; dprint(FD_NET, "server sending end stats\n"); memset(&p, 0, sizeof(p)); snprintf(p.ts.name, sizeof(p.ts.name), "%s", ts->name); snprintf(p.ts.verror, sizeof(p.ts.verror), "%s", ts->verror); snprintf(p.ts.description, sizeof(p.ts.description), "%s", ts->description); p.ts.error = cpu_to_le32(ts->error); p.ts.thread_number = cpu_to_le32(ts->thread_number); p.ts.groupid = cpu_to_le32(ts->groupid); p.ts.job_start = cpu_to_le64(ts->job_start); p.ts.pid = cpu_to_le32(ts->pid); p.ts.members = cpu_to_le32(ts->members); p.ts.unified_rw_rep = cpu_to_le32(ts->unified_rw_rep); p.ts.ioprio = cpu_to_le32(ts->ioprio); p.ts.disable_prio_stat = cpu_to_le32(ts->disable_prio_stat); for (i = 0; i < DDIR_RWDIR_CNT; i++) { convert_io_stat(&p.ts.clat_stat[i], &ts->clat_stat[i]); convert_io_stat(&p.ts.slat_stat[i], &ts->slat_stat[i]); convert_io_stat(&p.ts.lat_stat[i], &ts->lat_stat[i]); convert_io_stat(&p.ts.bw_stat[i], &ts->bw_stat[i]); convert_io_stat(&p.ts.iops_stat[i], &ts->iops_stat[i]); } convert_io_stat(&p.ts.sync_stat, &ts->sync_stat); p.ts.usr_time = cpu_to_le64(ts->usr_time); p.ts.sys_time = cpu_to_le64(ts->sys_time); p.ts.ctx = cpu_to_le64(ts->ctx); p.ts.minf = cpu_to_le64(ts->minf); p.ts.majf = cpu_to_le64(ts->majf); p.ts.clat_percentiles = cpu_to_le32(ts->clat_percentiles); p.ts.lat_percentiles = cpu_to_le32(ts->lat_percentiles); p.ts.slat_percentiles = cpu_to_le32(ts->slat_percentiles); p.ts.percentile_precision = cpu_to_le64(ts->percentile_precision); for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) { fio_fp64_t *src = &ts->percentile_list[i]; fio_fp64_t *dst = &p.ts.percentile_list[i]; dst->u.i = cpu_to_le64(fio_double_to_uint64(src->u.f)); } for (i = 0; i < FIO_IO_U_MAP_NR; i++) { p.ts.io_u_map[i] = cpu_to_le64(ts->io_u_map[i]); p.ts.io_u_submit[i] = cpu_to_le64(ts->io_u_submit[i]); p.ts.io_u_complete[i] = cpu_to_le64(ts->io_u_complete[i]); } for (i = 0; i < FIO_IO_U_LAT_N_NR; i++) p.ts.io_u_lat_n[i] = cpu_to_le64(ts->io_u_lat_n[i]); for (i = 0; i < FIO_IO_U_LAT_U_NR; i++) p.ts.io_u_lat_u[i] = cpu_to_le64(ts->io_u_lat_u[i]); for (i = 0; i < FIO_IO_U_LAT_M_NR; i++) p.ts.io_u_lat_m[i] = cpu_to_le64(ts->io_u_lat_m[i]); for (i = 0; i < FIO_LAT_CNT; i++) for (j = 0; j < DDIR_RWDIR_CNT; j++) for (k = 0; k < FIO_IO_U_PLAT_NR; k++) p.ts.io_u_plat[i][j][k] = cpu_to_le64(ts->io_u_plat[i][j][k]); for (j = 0; j < FIO_IO_U_PLAT_NR; j++) p.ts.io_u_sync_plat[j] = cpu_to_le64(ts->io_u_sync_plat[j]); for (i = 0; i < DDIR_RWDIR_SYNC_CNT; i++) p.ts.total_io_u[i] = cpu_to_le64(ts->total_io_u[i]); for (i = 0; i < DDIR_RWDIR_CNT; i++) { p.ts.short_io_u[i] = cpu_to_le64(ts->short_io_u[i]); p.ts.drop_io_u[i] = cpu_to_le64(ts->drop_io_u[i]); } p.ts.total_submit = cpu_to_le64(ts->total_submit); p.ts.total_complete = cpu_to_le64(ts->total_complete); p.ts.nr_zone_resets = cpu_to_le64(ts->nr_zone_resets); for (i = 0; i < DDIR_RWDIR_CNT; i++) { p.ts.io_bytes[i] = cpu_to_le64(ts->io_bytes[i]); p.ts.runtime[i] = cpu_to_le64(ts->runtime[i]); } p.ts.total_run_time = cpu_to_le64(ts->total_run_time); p.ts.continue_on_error = cpu_to_le16(ts->continue_on_error); p.ts.total_err_count = cpu_to_le64(ts->total_err_count); p.ts.first_error = cpu_to_le32(ts->first_error); p.ts.kb_base = cpu_to_le32(ts->kb_base); p.ts.unit_base = cpu_to_le32(ts->unit_base); p.ts.latency_depth = cpu_to_le32(ts->latency_depth); p.ts.latency_target = cpu_to_le64(ts->latency_target); p.ts.latency_window = cpu_to_le64(ts->latency_window); p.ts.latency_percentile.u.i = cpu_to_le64(fio_double_to_uint64(ts->latency_percentile.u.f)); p.ts.sig_figs = cpu_to_le32(ts->sig_figs); p.ts.nr_block_infos = cpu_to_le64(ts->nr_block_infos); for (i = 0; i < p.ts.nr_block_infos; i++) p.ts.block_infos[i] = cpu_to_le32(ts->block_infos[i]); p.ts.ss_dur = cpu_to_le64(ts->ss_dur); p.ts.ss_state = cpu_to_le32(ts->ss_state); p.ts.ss_head = cpu_to_le32(ts->ss_head); p.ts.ss_limit.u.i = cpu_to_le64(fio_double_to_uint64(ts->ss_limit.u.f)); p.ts.ss_slope.u.i = cpu_to_le64(fio_double_to_uint64(ts->ss_slope.u.f)); p.ts.ss_deviation.u.i = cpu_to_le64(fio_double_to_uint64(ts->ss_deviation.u.f)); p.ts.ss_criterion.u.i = cpu_to_le64(fio_double_to_uint64(ts->ss_criterion.u.f)); p.ts.cachehit = cpu_to_le64(ts->cachehit); p.ts.cachemiss = cpu_to_le64(ts->cachemiss); convert_gs(&p.rs, rs); for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (ts->nr_clat_prio[i]) clat_prio_stats_extra_size += ts->nr_clat_prio[i] * sizeof(*ts->clat_prio[i]); } extended_buf_size += clat_prio_stats_extra_size; dprint(FD_NET, "ts->ss_state = %d\n", ts->ss_state); if (ts->ss_state & FIO_SS_DATA) ss_extra_size = 2 * ts->ss_dur * sizeof(uint64_t); extended_buf_size += ss_extra_size; if (!extended_buf_size) { fio_net_queue_cmd(FIO_NET_CMD_TS, &p, sizeof(p), NULL, SK_F_COPY); return; } extended_buf_size += sizeof(p); extended_buf = calloc(1, extended_buf_size); if (!extended_buf) { log_err("fio: failed to allocate FIO_NET_CMD_TS buffer\n"); return; } memcpy(extended_buf, &p, sizeof(p)); extended_buf_wp = (struct cmd_ts_pdu *)extended_buf + 1; if (clat_prio_stats_extra_size) { for (i = 0; i < DDIR_RWDIR_CNT; i++) { struct clat_prio_stat *prio = (struct clat_prio_stat *) extended_buf_wp; for (j = 0; j < ts->nr_clat_prio[i]; j++) { for (k = 0; k < FIO_IO_U_PLAT_NR; k++) prio->io_u_plat[k] = cpu_to_le64(ts->clat_prio[i][j].io_u_plat[k]); convert_io_stat(&prio->clat_stat, &ts->clat_prio[i][j].clat_stat); prio->ioprio = cpu_to_le32(ts->clat_prio[i][j].ioprio); prio++; } if (ts->nr_clat_prio[i]) { uint64_t offset = (char *)extended_buf_wp - (char *)extended_buf; struct cmd_ts_pdu *ptr = extended_buf; ptr->ts.clat_prio_offset[i] = cpu_to_le64(offset); ptr->ts.nr_clat_prio[i] = cpu_to_le32(ts->nr_clat_prio[i]); } extended_buf_wp = prio; } } if (ss_extra_size) { uint64_t *ss_iops, *ss_bw; uint64_t offset; struct cmd_ts_pdu *ptr = extended_buf; dprint(FD_NET, "server sending steadystate ring buffers\n"); /* ss iops */ ss_iops = (uint64_t *) extended_buf_wp; for (i = 0; i < ts->ss_dur; i++) ss_iops[i] = cpu_to_le64(ts->ss_iops_data[i]); offset = (char *)extended_buf_wp - (char *)extended_buf; ptr->ts.ss_iops_data_offset = cpu_to_le64(offset); extended_buf_wp = ss_iops + (int) ts->ss_dur; /* ss bw */ ss_bw = extended_buf_wp; for (i = 0; i < ts->ss_dur; i++) ss_bw[i] = cpu_to_le64(ts->ss_bw_data[i]); offset = (char *)extended_buf_wp - (char *)extended_buf; ptr->ts.ss_bw_data_offset = cpu_to_le64(offset); } fio_net_queue_cmd(FIO_NET_CMD_TS, extended_buf, extended_buf_size, NULL, SK_F_COPY); free(extended_buf); } void fio_server_send_gs(struct group_run_stats *rs) { struct group_run_stats gs; dprint(FD_NET, "server sending group run stats\n"); convert_gs(&gs, rs); fio_net_queue_cmd(FIO_NET_CMD_GS, &gs, sizeof(gs), NULL, SK_F_COPY); } void fio_server_send_job_options(struct flist_head *opt_list, unsigned int gid) { struct cmd_job_option pdu; struct flist_head *entry; if (flist_empty(opt_list)) return; flist_for_each(entry, opt_list) { struct print_option *p; size_t len; p = flist_entry(entry, struct print_option, list); memset(&pdu, 0, sizeof(pdu)); if (gid == -1U) { pdu.global = __cpu_to_le16(1); pdu.groupid = 0; } else { pdu.global = 0; pdu.groupid = cpu_to_le32(gid); } len = strlen(p->name); if (len >= sizeof(pdu.name)) { len = sizeof(pdu.name) - 1; pdu.truncated = __cpu_to_le16(1); } memcpy(pdu.name, p->name, len); if (p->value) { len = strlen(p->value); if (len >= sizeof(pdu.value)) { len = sizeof(pdu.value) - 1; pdu.truncated = __cpu_to_le16(1); } memcpy(pdu.value, p->value, len); } fio_net_queue_cmd(FIO_NET_CMD_JOB_OPT, &pdu, sizeof(pdu), NULL, SK_F_COPY); } } static void convert_agg(struct disk_util_agg *dst, struct disk_util_agg *src) { int i; for (i = 0; i < 2; i++) { dst->ios[i] = cpu_to_le64(src->ios[i]); dst->merges[i] = cpu_to_le64(src->merges[i]); dst->sectors[i] = cpu_to_le64(src->sectors[i]); dst->ticks[i] = cpu_to_le64(src->ticks[i]); } dst->io_ticks = cpu_to_le64(src->io_ticks); dst->time_in_queue = cpu_to_le64(src->time_in_queue); dst->slavecount = cpu_to_le32(src->slavecount); dst->max_util.u.i = cpu_to_le64(fio_double_to_uint64(src->max_util.u.f)); } static void convert_dus(struct disk_util_stat *dst, struct disk_util_stat *src) { int i; snprintf((char *) dst->name, sizeof(dst->name), "%s", src->name); for (i = 0; i < 2; i++) { dst->s.ios[i] = cpu_to_le64(src->s.ios[i]); dst->s.merges[i] = cpu_to_le64(src->s.merges[i]); dst->s.sectors[i] = cpu_to_le64(src->s.sectors[i]); dst->s.ticks[i] = cpu_to_le64(src->s.ticks[i]); } dst->s.io_ticks = cpu_to_le64(src->s.io_ticks); dst->s.time_in_queue = cpu_to_le64(src->s.time_in_queue); dst->s.msec = cpu_to_le64(src->s.msec); } void fio_server_send_du(void) { struct disk_util *du; struct flist_head *entry; struct cmd_du_pdu pdu; dprint(FD_NET, "server: sending disk_util %d\n", !flist_empty(&disk_list)); memset(&pdu, 0, sizeof(pdu)); flist_for_each(entry, &disk_list) { du = flist_entry(entry, struct disk_util, list); convert_dus(&pdu.dus, &du->dus); convert_agg(&pdu.agg, &du->agg); fio_net_queue_cmd(FIO_NET_CMD_DU, &pdu, sizeof(pdu), NULL, SK_F_COPY); } } #ifdef CONFIG_ZLIB static inline void __fio_net_prep_tail(z_stream *stream, void *out_pdu, struct sk_entry **last_entry, struct sk_entry *first) { unsigned int this_len = FIO_SERVER_MAX_FRAGMENT_PDU - stream->avail_out; *last_entry = fio_net_prep_cmd(FIO_NET_CMD_IOLOG, out_pdu, this_len, NULL, SK_F_VEC | SK_F_INLINE | SK_F_FREE); if (*last_entry) flist_add_tail(&(*last_entry)->list, &first->next); } /* * Deflates the next input given, creating as many new packets in the * linked list as necessary. */ static int __deflate_pdu_buffer(void *next_in, unsigned int next_sz, void **out_pdu, struct sk_entry **last_entry, z_stream *stream, struct sk_entry *first) { int ret; stream->next_in = next_in; stream->avail_in = next_sz; do { if (!stream->avail_out) { __fio_net_prep_tail(stream, *out_pdu, last_entry, first); if (*last_entry == NULL) return 1; *out_pdu = malloc(FIO_SERVER_MAX_FRAGMENT_PDU); stream->avail_out = FIO_SERVER_MAX_FRAGMENT_PDU; stream->next_out = *out_pdu; } ret = deflate(stream, Z_BLOCK); if (ret < 0) { free(*out_pdu); return 1; } } while (stream->avail_in); return 0; } static int __fio_append_iolog_gz_hist(struct sk_entry *first, struct io_log *log, struct io_logs *cur_log, z_stream *stream) { struct sk_entry *entry; void *out_pdu; int ret, i, j; int sample_sz = log_entry_sz(log); out_pdu = malloc(FIO_SERVER_MAX_FRAGMENT_PDU); stream->avail_out = FIO_SERVER_MAX_FRAGMENT_PDU; stream->next_out = out_pdu; for (i = 0; i < cur_log->nr_samples; i++) { struct io_sample *s; struct io_u_plat_entry *cur_plat_entry, *prev_plat_entry; uint64_t *cur_plat, *prev_plat; s = get_sample(log, cur_log, i); ret = __deflate_pdu_buffer(s, sample_sz, &out_pdu, &entry, stream, first); if (ret) return ret; /* Do the subtraction on server side so that client doesn't have to * reconstruct our linked list from packets. */ cur_plat_entry = s->data.plat_entry; prev_plat_entry = flist_first_entry(&cur_plat_entry->list, struct io_u_plat_entry, list); cur_plat = cur_plat_entry->io_u_plat; prev_plat = prev_plat_entry->io_u_plat; for (j = 0; j < FIO_IO_U_PLAT_NR; j++) { cur_plat[j] -= prev_plat[j]; } flist_del(&prev_plat_entry->list); free(prev_plat_entry); ret = __deflate_pdu_buffer(cur_plat_entry, sizeof(*cur_plat_entry), &out_pdu, &entry, stream, first); if (ret) return ret; } __fio_net_prep_tail(stream, out_pdu, &entry, first); return entry == NULL; } static int __fio_append_iolog_gz(struct sk_entry *first, struct io_log *log, struct io_logs *cur_log, z_stream *stream) { unsigned int this_len; void *out_pdu; int ret; if (log->log_type == IO_LOG_TYPE_HIST) return __fio_append_iolog_gz_hist(first, log, cur_log, stream); stream->next_in = (void *) cur_log->log; stream->avail_in = cur_log->nr_samples * log_entry_sz(log); do { struct sk_entry *entry; /* * Dirty - since the log is potentially huge, compress it into * FIO_SERVER_MAX_FRAGMENT_PDU chunks and let the receiving * side defragment it. */ out_pdu = malloc(FIO_SERVER_MAX_FRAGMENT_PDU); stream->avail_out = FIO_SERVER_MAX_FRAGMENT_PDU; stream->next_out = out_pdu; ret = deflate(stream, Z_BLOCK); /* may be Z_OK, or Z_STREAM_END */ if (ret < 0) { free(out_pdu); return 1; } this_len = FIO_SERVER_MAX_FRAGMENT_PDU - stream->avail_out; entry = fio_net_prep_cmd(FIO_NET_CMD_IOLOG, out_pdu, this_len, NULL, SK_F_VEC | SK_F_INLINE | SK_F_FREE); if (!entry) { free(out_pdu); return 1; } flist_add_tail(&entry->list, &first->next); } while (stream->avail_in); return 0; } static int fio_append_iolog_gz(struct sk_entry *first, struct io_log *log) { z_stream stream = { .zalloc = Z_NULL, .zfree = Z_NULL, .opaque = Z_NULL, }; int ret = 0; if (deflateInit(&stream, Z_DEFAULT_COMPRESSION) != Z_OK) return 1; while (!flist_empty(&log->io_logs)) { struct io_logs *cur_log; cur_log = flist_first_entry(&log->io_logs, struct io_logs, list); flist_del_init(&cur_log->list); ret = __fio_append_iolog_gz(first, log, cur_log, &stream); if (ret) break; } ret = deflate(&stream, Z_FINISH); while (ret != Z_STREAM_END) { struct sk_entry *entry; unsigned int this_len; void *out_pdu; out_pdu = malloc(FIO_SERVER_MAX_FRAGMENT_PDU); stream.avail_out = FIO_SERVER_MAX_FRAGMENT_PDU; stream.next_out = out_pdu; ret = deflate(&stream, Z_FINISH); /* may be Z_OK, or Z_STREAM_END */ if (ret < 0) { free(out_pdu); break; } this_len = FIO_SERVER_MAX_FRAGMENT_PDU - stream.avail_out; entry = fio_net_prep_cmd(FIO_NET_CMD_IOLOG, out_pdu, this_len, NULL, SK_F_VEC | SK_F_INLINE | SK_F_FREE); if (!entry) { free(out_pdu); break; } flist_add_tail(&entry->list, &first->next); } ret = deflateEnd(&stream); if (ret == Z_OK) return 0; return 1; } #else static int fio_append_iolog_gz(struct sk_entry *first, struct io_log *log) { return 1; } #endif static int fio_append_gz_chunks(struct sk_entry *first, struct io_log *log) { struct sk_entry *entry; struct flist_head *node; int ret = 0; pthread_mutex_lock(&log->chunk_lock); flist_for_each(node, &log->chunk_list) { struct iolog_compress *c; c = flist_entry(node, struct iolog_compress, list); entry = fio_net_prep_cmd(FIO_NET_CMD_IOLOG, c->buf, c->len, NULL, SK_F_VEC | SK_F_INLINE); if (!entry) { ret = 1; break; } flist_add_tail(&entry->list, &first->next); } pthread_mutex_unlock(&log->chunk_lock); return ret; } static int fio_append_text_log(struct sk_entry *first, struct io_log *log) { struct sk_entry *entry; int ret = 0; while (!flist_empty(&log->io_logs)) { struct io_logs *cur_log; size_t size; cur_log = flist_first_entry(&log->io_logs, struct io_logs, list); flist_del_init(&cur_log->list); size = cur_log->nr_samples * log_entry_sz(log); entry = fio_net_prep_cmd(FIO_NET_CMD_IOLOG, cur_log->log, size, NULL, SK_F_VEC | SK_F_INLINE); if (!entry) { ret = 1; break; } flist_add_tail(&entry->list, &first->next); } return ret; } int fio_send_iolog(struct thread_data *td, struct io_log *log, const char *name) { struct cmd_iolog_pdu pdu = { .nr_samples = cpu_to_le64(iolog_nr_samples(log)), .thread_number = cpu_to_le32(td->thread_number), .log_type = cpu_to_le32(log->log_type), .log_hist_coarseness = cpu_to_le32(log->hist_coarseness), .per_job_logs = cpu_to_le32(td->o.per_job_logs), }; struct sk_entry *first; struct flist_head *entry; int ret = 0; if (!flist_empty(&log->chunk_list)) pdu.compressed = __cpu_to_le32(STORE_COMPRESSED); else if (use_zlib) pdu.compressed = __cpu_to_le32(XMIT_COMPRESSED); else pdu.compressed = 0; snprintf((char *) pdu.name, sizeof(pdu.name), "%s", name); /* * We can't do this for a pre-compressed log, but for that case, * log->nr_samples is zero anyway. */ flist_for_each(entry, &log->io_logs) { struct io_logs *cur_log; int i; cur_log = flist_entry(entry, struct io_logs, list); for (i = 0; i < cur_log->nr_samples; i++) { struct io_sample *s = get_sample(log, cur_log, i); s->time = cpu_to_le64(s->time); if (log->log_type != IO_LOG_TYPE_HIST) { s->data.val.val0 = cpu_to_le64(s->data.val.val0); s->data.val.val1 = cpu_to_le64(s->data.val.val1); } s->__ddir = __cpu_to_le32(s->__ddir); s->bs = cpu_to_le64(s->bs); if (log->log_offset) s->aux[IOS_AUX_OFFSET_INDEX] = cpu_to_le64(s->aux[IOS_AUX_OFFSET_INDEX]); if (log->log_issue_time) s->aux[IOS_AUX_ISSUE_TIME_INDEX] = cpu_to_le64(s->aux[IOS_AUX_ISSUE_TIME_INDEX]); } } /* * Assemble header entry first */ first = fio_net_prep_cmd(FIO_NET_CMD_IOLOG, &pdu, sizeof(pdu), NULL, SK_F_VEC | SK_F_INLINE | SK_F_COPY); if (!first) return 1; /* * Now append actual log entries. If log compression was enabled on * the job, just send out the compressed chunks directly. If we * have a plain log, compress if we can, then send. Otherwise, send * the plain text output. */ if (!flist_empty(&log->chunk_list)) ret = fio_append_gz_chunks(first, log); else if (use_zlib) ret = fio_append_iolog_gz(first, log); else ret = fio_append_text_log(first, log); fio_net_queue_entry(first); return ret; } void fio_server_send_add_job(struct thread_data *td) { struct cmd_add_job_pdu *pdu; size_t cmd_sz = offsetof(struct cmd_add_job_pdu, top) + thread_options_pack_size(&td->o); pdu = malloc(cmd_sz); pdu->thread_number = cpu_to_le32(td->thread_number); pdu->groupid = cpu_to_le32(td->groupid); convert_thread_options_to_net(&pdu->top, &td->o); fio_net_queue_cmd(FIO_NET_CMD_ADD_JOB, pdu, cmd_sz, NULL, SK_F_COPY); free(pdu); } void fio_server_send_start(struct thread_data *td) { struct sk_out *sk_out = pthread_getspecific(sk_out_key); if (sk_out->sk == -1) { log_err("pthread getting specific for key failed, sk_out %p, sk %i, err: %i:%s", sk_out, sk_out->sk, errno, strerror(errno)); abort(); } fio_net_queue_cmd(FIO_NET_CMD_SERVER_START, NULL, 0, NULL, SK_F_SIMPLE); } int fio_server_get_verify_state(const char *name, int threadnumber, void **datap) { struct thread_io_list *s; struct cmd_sendfile out; struct cmd_reply *rep; uint64_t tag; void *data; int ret; dprint(FD_NET, "server: request verify state\n"); rep = smalloc(sizeof(*rep)); if (!rep) return ENOMEM; __fio_sem_init(&rep->lock, FIO_SEM_LOCKED); rep->data = NULL; rep->error = 0; verify_state_gen_name((char *) out.path, sizeof(out.path), name, me, threadnumber); tag = (uint64_t) (uintptr_t) rep; fio_net_queue_cmd(FIO_NET_CMD_SENDFILE, &out, sizeof(out), &tag, SK_F_COPY); /* * Wait for the backend to receive the reply */ if (fio_sem_down_timeout(&rep->lock, 10000)) { log_err("fio: timed out waiting for reply\n"); ret = ETIMEDOUT; goto fail; } if (rep->error) { log_err("fio: failure on receiving state file %s: %s\n", out.path, strerror(rep->error)); ret = rep->error; fail: *datap = NULL; sfree(rep); fio_net_queue_quit(); return ret; } /* * The format is verify_state_hdr, then thread_io_list. Verify * the header, and the thread_io_list checksum */ s = rep->data + sizeof(struct verify_state_hdr); if (verify_state_hdr(rep->data, s)) { ret = EILSEQ; goto fail; } /* * Don't need the header from now, copy just the thread_io_list */ ret = 0; rep->size -= sizeof(struct verify_state_hdr); data = malloc(rep->size); memcpy(data, s, rep->size); *datap = data; sfree(rep->data); __fio_sem_remove(&rep->lock); sfree(rep); return ret; } static int fio_init_server_ip(void) { struct sockaddr *addr; socklen_t socklen; char buf[80]; const char *str; int sk, opt; if (use_ipv6) sk = socket(AF_INET6, SOCK_STREAM, 0); else sk = socket(AF_INET, SOCK_STREAM, 0); if (sk < 0) { log_err("fio: socket: %s\n", strerror(errno)); return -1; } opt = 1; if (setsockopt(sk, SOL_SOCKET, SO_REUSEADDR, (void *)&opt, sizeof(opt)) < 0) { log_err("fio: setsockopt(REUSEADDR): %s\n", strerror(errno)); close(sk); return -1; } #ifdef SO_REUSEPORT /* * Not fatal if fails, so just ignore it if that happens */ if (setsockopt(sk, SOL_SOCKET, SO_REUSEPORT, &opt, sizeof(opt))) { } #endif if (use_ipv6) { void *src = &saddr_in6.sin6_addr; addr = (struct sockaddr *) &saddr_in6; socklen = sizeof(saddr_in6); saddr_in6.sin6_family = AF_INET6; str = inet_ntop(AF_INET6, src, buf, sizeof(buf)); } else { void *src = &saddr_in.sin_addr; addr = (struct sockaddr *) &saddr_in; socklen = sizeof(saddr_in); saddr_in.sin_family = AF_INET; str = inet_ntop(AF_INET, src, buf, sizeof(buf)); } if (bind(sk, addr, socklen) < 0) { log_err("fio: bind: %s\n", strerror(errno)); log_info("fio: failed with IPv%c %s\n", use_ipv6 ? '6' : '4', str); close(sk); return -1; } return sk; } static int fio_init_server_sock(void) { struct sockaddr_un addr; socklen_t len; mode_t mode; int sk; sk = socket(AF_UNIX, SOCK_STREAM, 0); if (sk < 0) { log_err("fio: socket: %s\n", strerror(errno)); return -1; } mode = umask(000); addr.sun_family = AF_UNIX; snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", bind_sock); len = sizeof(addr.sun_family) + strlen(bind_sock) + 1; if (bind(sk, (struct sockaddr *) &addr, len) < 0) { log_err("fio: bind: %s\n", strerror(errno)); close(sk); return -1; } umask(mode); return sk; } static int fio_init_server_connection(void) { char bind_str[128]; int sk; dprint(FD_NET, "starting server\n"); if (!bind_sock) sk = fio_init_server_ip(); else sk = fio_init_server_sock(); if (sk < 0) return sk; memset(bind_str, 0, sizeof(bind_str)); if (!bind_sock) { char *p, port[16]; void *src; int af; if (use_ipv6) { af = AF_INET6; src = &saddr_in6.sin6_addr; } else { af = AF_INET; src = &saddr_in.sin_addr; } p = (char *) inet_ntop(af, src, bind_str, sizeof(bind_str)); sprintf(port, ",%u", fio_net_port); if (p) strcat(p, port); else snprintf(bind_str, sizeof(bind_str), "%s", port); } else snprintf(bind_str, sizeof(bind_str), "%s", bind_sock); log_info("fio: server listening on %s\n", bind_str); if (listen(sk, 4) < 0) { log_err("fio: listen: %s\n", strerror(errno)); close(sk); return -1; } return sk; } int fio_server_parse_host(const char *host, int ipv6, struct in_addr *inp, struct in6_addr *inp6) { int ret = 0; if (ipv6) ret = inet_pton(AF_INET6, host, inp6); else ret = inet_pton(AF_INET, host, inp); if (ret != 1) { struct addrinfo *res, hints = { .ai_family = ipv6 ? AF_INET6 : AF_INET, .ai_socktype = SOCK_STREAM, }; ret = getaddrinfo(host, NULL, &hints, &res); if (ret) { log_err("fio: failed to resolve <%s> (%s)\n", host, gai_strerror(ret)); return 1; } if (ipv6) memcpy(inp6, &((struct sockaddr_in6 *) res->ai_addr)->sin6_addr, sizeof(*inp6)); else memcpy(inp, &((struct sockaddr_in *) res->ai_addr)->sin_addr, sizeof(*inp)); ret = 1; freeaddrinfo(res); } return !(ret == 1); } /* * Parse a host/ip/port string. Reads from 'str'. * * Outputs: * * For IPv4: * *ptr is the host, *port is the port, inp is the destination. * For IPv6: * *ptr is the host, *port is the port, inp6 is the dest, and *ipv6 is 1. * For local domain sockets: * *ptr is the filename, *is_sock is 1. */ int fio_server_parse_string(const char *str, char **ptr, bool *is_sock, int *port, struct in_addr *inp, struct in6_addr *inp6, int *ipv6) { const char *host = str; char *portp; int lport = 0; *ptr = NULL; *is_sock = false; *port = fio_net_port; *ipv6 = 0; if (!strncmp(str, "sock:", 5)) { *ptr = strdup(str + 5); *is_sock = true; return 0; } /* * Is it ip::port */ if (!strncmp(host, "ip:", 3)) host += 3; else if (!strncmp(host, "ip4:", 4)) host += 4; else if (!strncmp(host, "ip6:", 4)) { host += 4; *ipv6 = 1; } else if (host[0] == ':') { /* String is :port */ host++; lport = atoi(host); if (!lport || lport > 65535) { log_err("fio: bad server port %u\n", lport); return 1; } /* no hostname given, we are done */ *port = lport; return 0; } /* * If no port seen yet, check if there's a last ',' at the end */ if (!lport) { portp = strchr(host, ','); if (portp) { *portp = '\0'; portp++; lport = atoi(portp); if (!lport || lport > 65535) { log_err("fio: bad server port %u\n", lport); return 1; } } } if (lport) *port = lport; if (!strlen(host)) return 0; *ptr = strdup(host); if (fio_server_parse_host(*ptr, *ipv6, inp, inp6)) { free(*ptr); *ptr = NULL; return 1; } if (*port == 0) *port = fio_net_port; return 0; } /* * Server arg should be one of: * * sock:/path/to/socket * ip:1.2.3.4 * 1.2.3.4 * * Where sock uses unix domain sockets, and ip binds the server to * a specific interface. If no arguments are given to the server, it * uses IP and binds to 0.0.0.0. * */ static int fio_handle_server_arg(void) { int port = fio_net_port; bool is_sock; int ret = 0; saddr_in.sin_addr.s_addr = htonl(INADDR_ANY); if (!fio_server_arg) goto out; ret = fio_server_parse_string(fio_server_arg, &bind_sock, &is_sock, &port, &saddr_in.sin_addr, &saddr_in6.sin6_addr, &use_ipv6); if (!is_sock && bind_sock) { free(bind_sock); bind_sock = NULL; } out: fio_net_port = port; saddr_in.sin_port = htons(port); saddr_in6.sin6_port = htons(port); return ret; } static void sig_int(int sig) { if (bind_sock) unlink(bind_sock); } static void set_sig_handlers(void) { struct sigaction act = { .sa_handler = sig_int, .sa_flags = SA_RESTART, }; sigaction(SIGINT, &act, NULL); /* Windows uses SIGBREAK as a quit signal from other applications */ #ifdef WIN32 sigaction(SIGBREAK, &act, NULL); #endif } void fio_server_destroy_sk_key(void) { pthread_key_delete(sk_out_key); } int fio_server_create_sk_key(void) { if (pthread_key_create(&sk_out_key, NULL)) { log_err("fio: can't create sk_out backend key\n"); return 1; } pthread_setspecific(sk_out_key, NULL); return 0; } static int fio_server(void) { int sk, ret; dprint(FD_NET, "starting server\n"); if (fio_handle_server_arg()) return -1; set_sig_handlers(); #ifdef WIN32 /* if this is a child process, go handle the connection */ if (fio_server_pipe_name != NULL) { ret = handle_connection_process(); return ret; } /* job to link child processes so they terminate together */ hjob = windows_create_job(); if (hjob == INVALID_HANDLE_VALUE) return -1; #endif sk = fio_init_server_connection(); if (sk < 0) return -1; ret = accept_loop(sk); close(sk); if (fio_server_arg) { free(fio_server_arg); fio_server_arg = NULL; } if (bind_sock) free(bind_sock); return ret; } void fio_server_got_signal(int signal) { struct sk_out *sk_out = pthread_getspecific(sk_out_key); assert(sk_out); if (signal == SIGPIPE) sk_out->sk = -1; else { log_info("\nfio: terminating on signal %d\n", signal); exit_backend = true; } } static int check_existing_pidfile(const char *pidfile) { struct stat sb; char buf[16]; pid_t pid; FILE *f; if (stat(pidfile, &sb)) return 0; f = fopen(pidfile, "r"); if (!f) return 0; if (fread(buf, sb.st_size, 1, f) <= 0) { fclose(f); return 1; } fclose(f); pid = atoi(buf); if (kill(pid, SIGCONT) < 0) return errno != ESRCH; return 1; } static int write_pid(pid_t pid, const char *pidfile) { FILE *fpid; fpid = fopen(pidfile, "w"); if (!fpid) { log_err("fio: failed opening pid file %s\n", pidfile); return 1; } fprintf(fpid, "%u\n", (unsigned int) pid); fclose(fpid); return 0; } /* * If pidfile is specified, background us. */ int fio_start_server(char *pidfile) { FILE *file; pid_t pid; int ret; #if defined(WIN32) WSADATA wsd; WSAStartup(MAKEWORD(2, 2), &wsd); #endif if (!pidfile) return fio_server(); if (check_existing_pidfile(pidfile)) { log_err("fio: pidfile %s exists and server appears alive\n", pidfile); free(pidfile); return -1; } pid = fork(); if (pid < 0) { log_err("fio: failed server fork: %s\n", strerror(errno)); free(pidfile); return -1; } else if (pid) { ret = write_pid(pid, pidfile); free(pidfile); _exit(ret); } setsid(); openlog("fio", LOG_NDELAY|LOG_NOWAIT|LOG_PID, LOG_USER); log_syslog = true; file = freopen("/dev/null", "r", stdin); if (!file) perror("freopen"); file = freopen("/dev/null", "w", stdout); if (!file) perror("freopen"); file = freopen("/dev/null", "w", stderr); if (!file) perror("freopen"); f_out = NULL; f_err = NULL; ret = fio_server(); fclose(stdin); fclose(stdout); fclose(stderr); closelog(); unlink(pidfile); free(pidfile); return ret; } void fio_server_set_arg(const char *arg) { fio_server_arg = strdup(arg); } #ifdef WIN32 void fio_server_internal_set(const char *arg) { fio_server_pipe_name = strdup(arg); } #endif fio-3.39/server.h000066400000000000000000000130561476262051600137220ustar00rootroot00000000000000#ifndef FIO_SERVER_H #define FIO_SERVER_H #include #include #include #include #include "stat.h" #include "diskutil.h" #define FIO_NET_PORT 8765 struct sk_out { unsigned int refs; /* frees sk_out when it drops to zero. * protected by below ->lock */ #ifdef WIN32 HANDLE hProcess; /* process handle of handle_connection_process*/ #endif int sk; /* socket fd to talk to client */ struct fio_sem lock; /* protects ref and below list */ struct flist_head list; /* list of pending transmit work */ struct fio_sem wait; /* wake backend when items added to list */ struct fio_sem xmit; /* held while sending data */ }; /* * On-wire encoding is little endian */ struct fio_net_cmd { uint16_t version; /* protocol version */ uint16_t opcode; /* command opcode */ uint32_t flags; /* modifier flags */ uint64_t tag; /* passed back on reply */ uint32_t pdu_len; /* length of post-cmd layload */ /* * These must be immediately before the payload, anything before * these fields are checksummed. */ uint16_t cmd_crc16; /* cmd checksum */ uint16_t pdu_crc16; /* payload checksum */ uint8_t payload[]; /* payload */ }; struct fio_net_cmd_reply { struct flist_head list; struct timespec ts; uint64_t saved_tag; uint16_t opcode; }; enum { FIO_SERVER_VER = 109, FIO_SERVER_MAX_FRAGMENT_PDU = 1024, FIO_SERVER_MAX_CMD_MB = 2048, FIO_NET_CMD_QUIT = 1, FIO_NET_CMD_EXIT = 2, FIO_NET_CMD_JOB = 3, FIO_NET_CMD_JOBLINE = 4, FIO_NET_CMD_TEXT = 5, FIO_NET_CMD_TS = 6, FIO_NET_CMD_GS = 7, FIO_NET_CMD_SEND_ETA = 8, FIO_NET_CMD_ETA = 9, FIO_NET_CMD_PROBE = 10, FIO_NET_CMD_START = 11, FIO_NET_CMD_STOP = 12, FIO_NET_CMD_DU = 13, FIO_NET_CMD_SERVER_START = 14, FIO_NET_CMD_ADD_JOB = 15, FIO_NET_CMD_RUN = 16, FIO_NET_CMD_IOLOG = 17, FIO_NET_CMD_UPDATE_JOB = 18, FIO_NET_CMD_LOAD_FILE = 19, FIO_NET_CMD_VTRIGGER = 20, FIO_NET_CMD_SENDFILE = 21, FIO_NET_CMD_JOB_OPT = 22, FIO_NET_CMD_NR = 23, FIO_NET_CMD_F_MORE = 1UL << 0, /* crc does not include the crc fields */ FIO_NET_CMD_CRC_SZ = sizeof(struct fio_net_cmd) - 2 * sizeof(uint16_t), FIO_NET_NAME_MAX = 256, FIO_NET_CLIENT_TIMEOUT = 5000, FIO_PROBE_FLAG_ZLIB = 1UL << 0, }; struct cmd_sendfile { uint8_t path[FIO_NET_NAME_MAX]; }; struct cmd_sendfile_reply { uint32_t size; uint32_t error; uint8_t data[0]; }; /* * Client sends this to server on VTRIGGER, server sends back a full * all_io_list structure. */ struct cmd_vtrigger_pdu { uint16_t len; uint8_t cmd[]; }; struct cmd_load_file_pdu { uint16_t name_len; uint16_t client_type; uint8_t file[]; }; struct cmd_ts_pdu { struct thread_stat ts; struct group_run_stats rs; }; struct cmd_du_pdu { struct disk_util_stat dus; struct disk_util_agg agg; }; struct cmd_client_probe_pdu { uint64_t flags; uint8_t server[128]; }; struct cmd_probe_reply_pdu { uint8_t hostname[64]; uint8_t bigendian; uint8_t fio_version[32]; uint8_t os; uint8_t arch; uint8_t bpp; uint32_t cpus; uint64_t flags; }; struct cmd_single_line_pdu { uint16_t len; uint8_t text[]; }; struct cmd_line_pdu { uint16_t lines; uint16_t client_type; struct cmd_single_line_pdu options[]; }; struct cmd_job_pdu { uint32_t buf_len; uint32_t client_type; uint8_t buf[0]; }; struct cmd_start_pdu { uint32_t jobs; uint32_t stat_outputs; }; struct cmd_end_pdu { uint32_t error; uint32_t signal; }; struct cmd_add_job_pdu { uint32_t thread_number; uint32_t groupid; struct thread_options_pack top; }; struct cmd_text_pdu { uint32_t level; uint32_t buf_len; uint64_t log_sec; uint64_t log_usec; uint8_t buf[0]; }; enum { XMIT_COMPRESSED = 1U, STORE_COMPRESSED = 2U, }; struct cmd_iolog_pdu { uint64_t nr_samples; uint32_t thread_number; uint32_t log_type; uint32_t compressed; uint32_t log_offset; uint32_t log_prio; uint32_t log_issue_time; uint32_t log_hist_coarseness; uint32_t per_job_logs; uint8_t name[FIO_NET_NAME_MAX]; struct io_sample samples[0]; }; struct cmd_job_option { uint16_t global; uint16_t truncated; uint32_t groupid; uint8_t name[64]; uint8_t value[128]; }; extern int fio_start_server(char *); extern int fio_server_text_output(int, const char *, size_t); extern int fio_net_send_cmd(int, uint16_t, const void *, off_t, uint64_t *, struct flist_head *); extern int fio_net_send_simple_cmd(int, uint16_t, uint64_t, struct flist_head *); extern void fio_server_set_arg(const char *); extern void fio_server_internal_set(const char *); extern int fio_server_parse_string(const char *, char **, bool *, int *, struct in_addr *, struct in6_addr *, int *); extern int fio_server_parse_host(const char *, int, struct in_addr *, struct in6_addr *); extern const char *fio_server_op(unsigned int); extern void fio_server_got_signal(int); extern void fio_server_send_ts(struct thread_stat *, struct group_run_stats *); extern void fio_server_send_gs(struct group_run_stats *); extern void fio_server_send_du(void); extern void fio_server_send_job_options(struct flist_head *, unsigned int); extern int fio_server_get_verify_state(const char *, int, void **); extern bool fio_server_poll_fd(int fd, short events, int timeout); extern struct fio_net_cmd *fio_net_recv_cmd(int sk, bool wait); extern int fio_send_iolog(struct thread_data *, struct io_log *, const char *); extern void fio_server_send_add_job(struct thread_data *); extern void fio_server_send_start(struct thread_data *); extern int fio_net_send_quit(int sk); extern int fio_server_create_sk_key(void); extern void fio_server_destroy_sk_key(void); extern bool exit_backend; extern int fio_net_port; #endif fio-3.39/smalloc.c000066400000000000000000000273311476262051600140420ustar00rootroot00000000000000/* * simple memory allocator, backed by mmap() so that it hands out memory * that can be shared across processes and threads */ #include #include #include #include "fio.h" #include "fio_sem.h" #include "os/os.h" #include "smalloc.h" #include "log.h" #define SMALLOC_REDZONE /* define to detect memory corruption */ #define SMALLOC_BPB 32 /* block size, bytes-per-bit in bitmap */ #define SMALLOC_BPI (sizeof(unsigned int) * 8) #define SMALLOC_BPL (SMALLOC_BPB * SMALLOC_BPI) #define INITIAL_SIZE 16*1024*1024 /* new pool size */ #define INITIAL_POOLS 8 /* maximum number of pools to setup */ #define MAX_POOLS 16 #define SMALLOC_PRE_RED 0xdeadbeefU #define SMALLOC_POST_RED 0x5aa55aa5U unsigned int smalloc_pool_size = INITIAL_SIZE; #ifdef SMALLOC_REDZONE static const int int_mask = sizeof(int) - 1; #endif struct pool { struct fio_sem *lock; /* protects this pool */ void *map; /* map of blocks */ unsigned int *bitmap; /* blocks free/busy map */ size_t free_blocks; /* free blocks */ size_t nr_blocks; /* total blocks */ size_t next_non_full; size_t mmap_size; }; struct block_hdr { size_t size; #ifdef SMALLOC_REDZONE unsigned int prered; #endif }; /* * This suppresses the voluminous potential bitmap printout when * smalloc encounters an OOM error */ static const bool enable_smalloc_debug = false; static struct pool *mp; static unsigned int nr_pools; static unsigned int last_pool; static inline int ptr_valid(struct pool *pool, void *ptr) { unsigned int pool_size = pool->nr_blocks * SMALLOC_BPL; return (ptr >= pool->map) && (ptr < pool->map + pool_size); } static inline size_t size_to_blocks(size_t size) { return (size + SMALLOC_BPB - 1) / SMALLOC_BPB; } static int blocks_iter(struct pool *pool, unsigned int pool_idx, unsigned int idx, size_t nr_blocks, int (*func)(unsigned int *map, unsigned int mask)) { while (nr_blocks) { unsigned int this_blocks, mask; unsigned int *map; if (pool_idx >= pool->nr_blocks) return 0; map = &pool->bitmap[pool_idx]; this_blocks = nr_blocks; if (this_blocks + idx > SMALLOC_BPI) { this_blocks = SMALLOC_BPI - idx; idx = SMALLOC_BPI - this_blocks; } if (this_blocks == SMALLOC_BPI) mask = -1U; else mask = ((1U << this_blocks) - 1) << idx; if (!func(map, mask)) return 0; nr_blocks -= this_blocks; idx = 0; pool_idx++; } return 1; } static int mask_cmp(unsigned int *map, unsigned int mask) { return !(*map & mask); } static int mask_clear(unsigned int *map, unsigned int mask) { assert((*map & mask) == mask); *map &= ~mask; return 1; } static int mask_set(unsigned int *map, unsigned int mask) { assert(!(*map & mask)); *map |= mask; return 1; } static int blocks_free(struct pool *pool, unsigned int pool_idx, unsigned int idx, size_t nr_blocks) { return blocks_iter(pool, pool_idx, idx, nr_blocks, mask_cmp); } static void set_blocks(struct pool *pool, unsigned int pool_idx, unsigned int idx, size_t nr_blocks) { blocks_iter(pool, pool_idx, idx, nr_blocks, mask_set); } static void clear_blocks(struct pool *pool, unsigned int pool_idx, unsigned int idx, size_t nr_blocks) { blocks_iter(pool, pool_idx, idx, nr_blocks, mask_clear); } static int find_next_zero(int word, int start) { assert(word != -1U); word >>= start; return ffz(word) + start; } static bool add_pool(struct pool *pool, unsigned int alloc_size) { int bitmap_blocks; int mmap_flags; void *ptr; if (nr_pools == MAX_POOLS) return false; #ifdef SMALLOC_REDZONE alloc_size += sizeof(unsigned int); #endif alloc_size += sizeof(struct block_hdr); if (alloc_size < INITIAL_SIZE) alloc_size = INITIAL_SIZE; /* round up to nearest full number of blocks */ alloc_size = (alloc_size + SMALLOC_BPL - 1) & ~(SMALLOC_BPL - 1); bitmap_blocks = alloc_size / SMALLOC_BPL; alloc_size += bitmap_blocks * sizeof(unsigned int); pool->mmap_size = alloc_size; pool->nr_blocks = bitmap_blocks; pool->free_blocks = bitmap_blocks * SMALLOC_BPI; mmap_flags = OS_MAP_ANON; #ifdef CONFIG_ESX mmap_flags |= MAP_PRIVATE; #else mmap_flags |= MAP_SHARED; #endif ptr = mmap(NULL, alloc_size, PROT_READ|PROT_WRITE, mmap_flags, -1, 0); if (ptr == MAP_FAILED) goto out_fail; pool->map = ptr; pool->bitmap = (unsigned int *)((char *) ptr + (pool->nr_blocks * SMALLOC_BPL)); memset(pool->bitmap, 0, bitmap_blocks * sizeof(unsigned int)); pool->lock = fio_sem_init(FIO_SEM_UNLOCKED); if (!pool->lock) goto out_fail; nr_pools++; return true; out_fail: log_err("smalloc: failed adding pool\n"); if (pool->map) munmap(pool->map, pool->mmap_size); return false; } void sinit(void) { bool ret; int i; /* * sinit() can be called more than once if alloc-size is * set. But we want to allocate space for the struct pool * instances only once. */ if (!mp) { mp = (struct pool *) mmap(NULL, MAX_POOLS * sizeof(struct pool), PROT_READ | PROT_WRITE, OS_MAP_ANON | MAP_SHARED, -1, 0); assert(mp != MAP_FAILED); } for (i = 0; i < INITIAL_POOLS; i++) { ret = add_pool(&mp[nr_pools], smalloc_pool_size); if (!ret) break; } /* * If we added at least one pool, we should be OK for most * cases. */ assert(i); } static void cleanup_pool(struct pool *pool) { /* * This will also remove the temporary file we used as a backing * store, it was already unlinked */ munmap(pool->map, pool->mmap_size); if (pool->lock) fio_sem_remove(pool->lock); } void scleanup(void) { unsigned int i; for (i = 0; i < nr_pools; i++) cleanup_pool(&mp[i]); munmap(mp, MAX_POOLS * sizeof(struct pool)); } #ifdef SMALLOC_REDZONE static void *postred_ptr(struct block_hdr *hdr) { uintptr_t ptr; ptr = (uintptr_t) hdr + hdr->size - sizeof(unsigned int); ptr = (uintptr_t) PTR_ALIGN(ptr, int_mask); return (void *) ptr; } static void fill_redzone(struct block_hdr *hdr) { unsigned int *postred = postred_ptr(hdr); hdr->prered = SMALLOC_PRE_RED; *postred = SMALLOC_POST_RED; } static void sfree_check_redzone(struct block_hdr *hdr) { unsigned int *postred = postred_ptr(hdr); if (hdr->prered != SMALLOC_PRE_RED) { log_err("smalloc pre redzone destroyed!\n" " ptr=%p, prered=%x, expected %x\n", hdr+1, hdr->prered, SMALLOC_PRE_RED); assert(0); } if (*postred != SMALLOC_POST_RED) { log_err("smalloc post redzone destroyed!\n" " ptr=%p, postred=%x, expected %x\n", hdr+1, *postred, SMALLOC_POST_RED); assert(0); } } #else static void fill_redzone(struct block_hdr *hdr) { } static void sfree_check_redzone(struct block_hdr *hdr) { } #endif static void sfree_pool(struct pool *pool, void *ptr) { struct block_hdr *hdr; unsigned int i, idx; unsigned long offset; if (!ptr) return; ptr -= sizeof(*hdr); hdr = ptr; assert(ptr_valid(pool, ptr)); sfree_check_redzone(hdr); offset = ptr - pool->map; i = offset / SMALLOC_BPL; idx = (offset % SMALLOC_BPL) / SMALLOC_BPB; fio_sem_down(pool->lock); clear_blocks(pool, i, idx, size_to_blocks(hdr->size)); if (i < pool->next_non_full) pool->next_non_full = i; pool->free_blocks += size_to_blocks(hdr->size); fio_sem_up(pool->lock); } void sfree(void *ptr) { struct pool *pool = NULL; unsigned int i; if (!ptr) return; for (i = 0; i < nr_pools; i++) { if (ptr_valid(&mp[i], ptr)) { pool = &mp[i]; break; } } if (pool) { sfree_pool(pool, ptr); return; } log_err("smalloc: ptr %p not from smalloc pool\n", ptr); } static unsigned int find_best_index(struct pool *pool) { unsigned int i; assert(pool->free_blocks); for (i = pool->next_non_full; pool->bitmap[i] == -1U; i++) { if (i == pool->nr_blocks - 1) { unsigned int j; for (j = 0; j < pool->nr_blocks; j++) if (pool->bitmap[j] != -1U) return j; } } return i; } static void *__smalloc_pool(struct pool *pool, size_t size) { size_t nr_blocks; unsigned int i; unsigned int offset; unsigned int last_idx; void *ret = NULL; fio_sem_down(pool->lock); nr_blocks = size_to_blocks(size); if (nr_blocks > pool->free_blocks) goto fail; pool->next_non_full = find_best_index(pool); last_idx = 0; offset = -1U; i = pool->next_non_full; while (i < pool->nr_blocks) { unsigned int idx; if (pool->bitmap[i] == -1U) { i++; last_idx = 0; continue; } idx = find_next_zero(pool->bitmap[i], last_idx); if (!blocks_free(pool, i, idx, nr_blocks)) { idx += nr_blocks; if (idx < SMALLOC_BPI) last_idx = idx; else { last_idx = 0; while (idx >= SMALLOC_BPI) { i++; idx -= SMALLOC_BPI; } } continue; } set_blocks(pool, i, idx, nr_blocks); offset = i * SMALLOC_BPL + idx * SMALLOC_BPB; break; } if (i < pool->nr_blocks) { pool->free_blocks -= nr_blocks; ret = pool->map + offset; } fail: fio_sem_up(pool->lock); return ret; } static size_t size_to_alloc_size(size_t size) { size_t alloc_size = size + sizeof(struct block_hdr); /* * Round to int alignment, so that the postred pointer will * be naturally aligned as well. */ #ifdef SMALLOC_REDZONE alloc_size += sizeof(unsigned int); alloc_size = (alloc_size + int_mask) & ~int_mask; #endif return alloc_size; } static void *smalloc_pool(struct pool *pool, size_t size) { size_t alloc_size = size_to_alloc_size(size); void *ptr; ptr = __smalloc_pool(pool, alloc_size); if (ptr) { struct block_hdr *hdr = ptr; hdr->size = alloc_size; fill_redzone(hdr); ptr += sizeof(*hdr); memset(ptr, 0, size); } return ptr; } static void smalloc_print_bitmap(struct pool *pool) { size_t nr_blocks = pool->nr_blocks; unsigned int *bitmap = pool->bitmap; unsigned int i, j; char *buffer; if (!enable_smalloc_debug) return; buffer = malloc(SMALLOC_BPI + 1); if (!buffer) return; buffer[SMALLOC_BPI] = '\0'; for (i = 0; i < nr_blocks; i++) { unsigned int line = bitmap[i]; /* skip completely full lines */ if (line == -1U) continue; for (j = 0; j < SMALLOC_BPI; j++) if ((1 << j) & line) buffer[SMALLOC_BPI-1-j] = '1'; else buffer[SMALLOC_BPI-1-j] = '0'; log_err("smalloc: bitmap %5u, %s\n", i, buffer); } free(buffer); } void smalloc_debug(size_t size) { unsigned int i; size_t alloc_size = size_to_alloc_size(size); size_t alloc_blocks; alloc_blocks = size_to_blocks(alloc_size); if (size) log_err("smalloc: size = %lu, alloc_size = %lu, blocks = %lu\n", (unsigned long) size, (unsigned long) alloc_size, (unsigned long) alloc_blocks); for (i = 0; i < nr_pools; i++) { log_err("smalloc: pool %u, free/total blocks %u/%u\n", i, (unsigned int) (mp[i].free_blocks), (unsigned int) (mp[i].nr_blocks*sizeof(unsigned int)*8)); if (size && mp[i].free_blocks >= alloc_blocks) { void *ptr = smalloc_pool(&mp[i], size); if (ptr) { sfree(ptr); last_pool = i; log_err("smalloc: smalloc_pool %u succeeded\n", i); } else { log_err("smalloc: smalloc_pool %u failed\n", i); log_err("smalloc: next_non_full=%u, nr_blocks=%u\n", (unsigned int) mp[i].next_non_full, (unsigned int) mp[i].nr_blocks); smalloc_print_bitmap(&mp[i]); } } } } void *smalloc(size_t size) { unsigned int i, end_pool; if (size != (unsigned int) size) return NULL; i = last_pool; end_pool = nr_pools; do { for (; i < end_pool; i++) { void *ptr = smalloc_pool(&mp[i], size); if (ptr) { last_pool = i; return ptr; } } if (last_pool) { end_pool = last_pool; last_pool = i = 0; continue; } break; } while (1); log_err("smalloc: OOM. Consider using --alloc-size to increase the " "shared memory available.\n"); smalloc_debug(size); return NULL; } void *scalloc(size_t nmemb, size_t size) { /* * smalloc_pool (called by smalloc) will zero the memory, so we don't * need to do it here. */ return smalloc(nmemb * size); } char *smalloc_strdup(const char *str) { char *ptr = NULL; ptr = smalloc(strlen(str) + 1); if (ptr) strcpy(ptr, str); return ptr; } fio-3.39/smalloc.h000066400000000000000000000005241476262051600140420ustar00rootroot00000000000000#ifndef FIO_SMALLOC_H #define FIO_SMALLOC_H #include extern void *smalloc(size_t); extern void *scalloc(size_t, size_t); extern void sfree(void *); extern char *smalloc_strdup(const char *); extern void sinit(void); extern void scleanup(void); extern void smalloc_debug(size_t); extern unsigned int smalloc_pool_size; #endif fio-3.39/stat.c000066400000000000000000003072711476262051600133670ustar00rootroot00000000000000#include #include #include #include #include #include #include "fio.h" #include "diskutil.h" #include "lib/ieee754.h" #include "json.h" #include "lib/getrusage.h" #include "idletime.h" #include "lib/pow2.h" #include "lib/output_buffer.h" #include "helper_thread.h" #include "smalloc.h" #include "zbd.h" #include "oslib/asprintf.h" #ifdef WIN32 #define LOG_MSEC_SLACK 2 #else #define LOG_MSEC_SLACK 1 #endif struct log_sample { union io_sample_data data; uint32_t ddir; uint64_t bs; uint64_t offset; uint16_t priority; uint64_t issue_time; }; struct fio_sem *stat_sem; void clear_rusage_stat(struct thread_data *td) { struct thread_stat *ts = &td->ts; fio_getrusage(&td->ru_start); ts->usr_time = ts->sys_time = 0; ts->ctx = 0; ts->minf = ts->majf = 0; } void update_rusage_stat(struct thread_data *td) { struct thread_stat *ts = &td->ts; fio_getrusage(&td->ru_end); ts->usr_time += mtime_since_tv(&td->ru_start.ru_utime, &td->ru_end.ru_utime); ts->sys_time += mtime_since_tv(&td->ru_start.ru_stime, &td->ru_end.ru_stime); ts->ctx += td->ru_end.ru_nvcsw + td->ru_end.ru_nivcsw - (td->ru_start.ru_nvcsw + td->ru_start.ru_nivcsw); ts->minf += td->ru_end.ru_minflt - td->ru_start.ru_minflt; ts->majf += td->ru_end.ru_majflt - td->ru_start.ru_majflt; memcpy(&td->ru_start, &td->ru_end, sizeof(td->ru_end)); } /* * Given a latency, return the index of the corresponding bucket in * the structure tracking percentiles. * * (1) find the group (and error bits) that the value (latency) * belongs to by looking at its MSB. (2) find the bucket number in the * group by looking at the index bits. * */ static unsigned int plat_val_to_idx(unsigned long long val) { unsigned int msb, error_bits, base, offset, idx; /* Find MSB starting from bit 0 */ if (val == 0) msb = 0; else msb = (sizeof(val)*8) - __builtin_clzll(val) - 1; /* * MSB <= (FIO_IO_U_PLAT_BITS-1), cannot be rounded off. Use * all bits of the sample as index */ if (msb <= FIO_IO_U_PLAT_BITS) return val; /* Compute the number of error bits to discard*/ error_bits = msb - FIO_IO_U_PLAT_BITS; /* Compute the number of buckets before the group */ base = (error_bits + 1) << FIO_IO_U_PLAT_BITS; /* * Discard the error bits and apply the mask to find the * index for the buckets in the group */ offset = (FIO_IO_U_PLAT_VAL - 1) & (val >> error_bits); /* Make sure the index does not exceed (array size - 1) */ idx = (base + offset) < (FIO_IO_U_PLAT_NR - 1) ? (base + offset) : (FIO_IO_U_PLAT_NR - 1); return idx; } /* * Convert the given index of the bucket array to the value * represented by the bucket */ static unsigned long long plat_idx_to_val(unsigned int idx) { unsigned int error_bits; unsigned long long k, base; assert(idx < FIO_IO_U_PLAT_NR); /* MSB <= (FIO_IO_U_PLAT_BITS-1), cannot be rounded off. Use * all bits of the sample as index */ if (idx < (FIO_IO_U_PLAT_VAL << 1)) return idx; /* Find the group and compute the minimum value of that group */ error_bits = (idx >> FIO_IO_U_PLAT_BITS) - 1; base = ((unsigned long long) 1) << (error_bits + FIO_IO_U_PLAT_BITS); /* Find its bucket number of the group */ k = idx % FIO_IO_U_PLAT_VAL; /* Return the mean of the range of the bucket */ return base + ((k + 0.5) * (1 << error_bits)); } static int double_cmp(const void *a, const void *b) { const fio_fp64_t fa = *(const fio_fp64_t *) a; const fio_fp64_t fb = *(const fio_fp64_t *) b; int cmp = 0; if (fa.u.f > fb.u.f) cmp = 1; else if (fa.u.f < fb.u.f) cmp = -1; return cmp; } unsigned int calc_clat_percentiles(uint64_t *io_u_plat, unsigned long long nr, fio_fp64_t *plist, unsigned long long **output, unsigned long long *maxv, unsigned long long *minv) { unsigned long long sum = 0; unsigned int len, i, j = 0; unsigned long long *ovals = NULL; bool is_last; *minv = -1ULL; *maxv = 0; len = 0; while (len < FIO_IO_U_LIST_MAX_LEN && plist[len].u.f != 0.0) len++; if (!len) return 0; /* * Sort the percentile list. Note that it may already be sorted if * we are using the default values, but since it's a short list this * isn't a worry. Also note that this does not work for NaN values. */ if (len > 1) qsort(plist, len, sizeof(plist[0]), double_cmp); ovals = malloc(len * sizeof(*ovals)); if (!ovals) return 0; /* * Calculate bucket values, note down max and min values */ is_last = false; for (i = 0; i < FIO_IO_U_PLAT_NR && !is_last; i++) { sum += io_u_plat[i]; while (sum >= ((long double) plist[j].u.f / 100.0 * nr)) { assert(plist[j].u.f <= 100.0); ovals[j] = plat_idx_to_val(i); if (ovals[j] < *minv) *minv = ovals[j]; if (ovals[j] > *maxv) *maxv = ovals[j]; is_last = (j == len - 1) != 0; if (is_last) break; j++; } } if (!is_last) log_err("fio: error calculating latency percentiles\n"); *output = ovals; return len; } /* * Find and display the p-th percentile of clat */ static void show_clat_percentiles(uint64_t *io_u_plat, unsigned long long nr, fio_fp64_t *plist, unsigned int precision, const char *pre, struct buf_output *out) { unsigned int divisor, len, i, j = 0; unsigned long long minv, maxv; unsigned long long *ovals; int per_line, scale_down, time_width; bool is_last; char fmt[32]; len = calc_clat_percentiles(io_u_plat, nr, plist, &ovals, &maxv, &minv); if (!len || !ovals) return; /* * We default to nsecs, but if the value range is such that we * should scale down to usecs or msecs, do that. */ if (minv > 2000000 && maxv > 99999999ULL) { scale_down = 2; divisor = 1000000; log_buf(out, " %s percentiles (msec):\n |", pre); } else if (minv > 2000 && maxv > 99999) { scale_down = 1; divisor = 1000; log_buf(out, " %s percentiles (usec):\n |", pre); } else { scale_down = 0; divisor = 1; log_buf(out, " %s percentiles (nsec):\n |", pre); } time_width = max(5, (int) (log10(maxv / divisor) + 1)); snprintf(fmt, sizeof(fmt), " %%%u.%ufth=[%%%dllu]%%c", precision + 3, precision, time_width); /* fmt will be something like " %5.2fth=[%4llu]%c" */ per_line = (80 - 7) / (precision + 10 + time_width); for (j = 0; j < len; j++) { /* for formatting */ if (j != 0 && (j % per_line) == 0) log_buf(out, " |"); /* end of the list */ is_last = (j == len - 1) != 0; for (i = 0; i < scale_down; i++) ovals[j] = (ovals[j] + 999) / 1000; log_buf(out, fmt, plist[j].u.f, ovals[j], is_last ? '\n' : ','); if (is_last) break; if ((j % per_line) == per_line - 1) /* for formatting */ log_buf(out, "\n"); } free(ovals); } static int get_nr_prios_with_samples(struct thread_stat *ts, enum fio_ddir ddir) { int i, nr_prios_with_samples = 0; for (i = 0; i < ts->nr_clat_prio[ddir]; i++) { if (ts->clat_prio[ddir][i].clat_stat.samples) nr_prios_with_samples++; } return nr_prios_with_samples; } bool calc_lat(struct io_stat *is, unsigned long long *min, unsigned long long *max, double *mean, double *dev) { double n = (double) is->samples; if (n == 0) return false; *min = is->min_val; *max = is->max_val; *mean = is->mean.u.f; if (n > 1.0) *dev = sqrt(is->S.u.f / (n - 1.0)); else *dev = 0; return true; } void show_mixed_group_stats(struct group_run_stats *rs, struct buf_output *out) { char *io, *agg, *min, *max; char *ioalt, *aggalt, *minalt, *maxalt; uint64_t io_mix = 0, agg_mix = 0, min_mix = -1, max_mix = 0; uint64_t min_run = -1, max_run = 0; const int i2p = is_power_of_2(rs->kb_base); int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (!rs->max_run[i]) continue; io_mix += rs->iobytes[i]; agg_mix += rs->agg[i]; min_mix = min_mix < rs->min_bw[i] ? min_mix : rs->min_bw[i]; max_mix = max_mix > rs->max_bw[i] ? max_mix : rs->max_bw[i]; min_run = min_run < rs->min_run[i] ? min_run : rs->min_run[i]; max_run = max_run > rs->max_run[i] ? max_run : rs->max_run[i]; } io = num2str(io_mix, rs->sig_figs, 1, i2p, N2S_BYTE); ioalt = num2str(io_mix, rs->sig_figs, 1, !i2p, N2S_BYTE); agg = num2str(agg_mix, rs->sig_figs, 1, i2p, rs->unit_base); aggalt = num2str(agg_mix, rs->sig_figs, 1, !i2p, rs->unit_base); min = num2str(min_mix, rs->sig_figs, 1, i2p, rs->unit_base); minalt = num2str(min_mix, rs->sig_figs, 1, !i2p, rs->unit_base); max = num2str(max_mix, rs->sig_figs, 1, i2p, rs->unit_base); maxalt = num2str(max_mix, rs->sig_figs, 1, !i2p, rs->unit_base); log_buf(out, " MIXED: bw=%s (%s), %s-%s (%s-%s), io=%s (%s), run=%llu-%llumsec\n", agg, aggalt, min, max, minalt, maxalt, io, ioalt, (unsigned long long) min_run, (unsigned long long) max_run); free(io); free(agg); free(min); free(max); free(ioalt); free(aggalt); free(minalt); free(maxalt); } void show_group_stats(struct group_run_stats *rs, struct buf_output *out) { char *io, *agg, *min, *max; char *ioalt, *aggalt, *minalt, *maxalt; const char *str[] = { " READ", " WRITE" , " TRIM"}; int i; log_buf(out, "\nRun status group %d (all jobs):\n", rs->groupid); for (i = 0; i < DDIR_RWDIR_CNT; i++) { const int i2p = is_power_of_2(rs->kb_base); if (!rs->max_run[i]) continue; io = num2str(rs->iobytes[i], rs->sig_figs, 1, i2p, N2S_BYTE); ioalt = num2str(rs->iobytes[i], rs->sig_figs, 1, !i2p, N2S_BYTE); agg = num2str(rs->agg[i], rs->sig_figs, 1, i2p, rs->unit_base); aggalt = num2str(rs->agg[i], rs->sig_figs, 1, !i2p, rs->unit_base); min = num2str(rs->min_bw[i], rs->sig_figs, 1, i2p, rs->unit_base); minalt = num2str(rs->min_bw[i], rs->sig_figs, 1, !i2p, rs->unit_base); max = num2str(rs->max_bw[i], rs->sig_figs, 1, i2p, rs->unit_base); maxalt = num2str(rs->max_bw[i], rs->sig_figs, 1, !i2p, rs->unit_base); log_buf(out, "%s: bw=%s (%s), %s-%s (%s-%s), io=%s (%s), run=%llu-%llumsec\n", (rs->unified_rw_rep == UNIFIED_MIXED) ? " MIXED" : str[i], agg, aggalt, min, max, minalt, maxalt, io, ioalt, (unsigned long long) rs->min_run[i], (unsigned long long) rs->max_run[i]); free(io); free(agg); free(min); free(max); free(ioalt); free(aggalt); free(minalt); free(maxalt); } /* Need to aggregate statistics to show mixed values */ if (rs->unified_rw_rep == UNIFIED_BOTH) show_mixed_group_stats(rs, out); } void stat_calc_dist(uint64_t *map, unsigned long total, double *io_u_dist) { int i; /* * Do depth distribution calculations */ for (i = 0; i < FIO_IO_U_MAP_NR; i++) { if (total) { io_u_dist[i] = (double) map[i] / (double) total; io_u_dist[i] *= 100.0; if (io_u_dist[i] < 0.1 && map[i]) io_u_dist[i] = 0.1; } else io_u_dist[i] = 0.0; } } static void stat_calc_lat(struct thread_stat *ts, double *dst, uint64_t *src, int nr) { unsigned long total = ddir_rw_sum(ts->total_io_u); int i; /* * Do latency distribution calculations */ for (i = 0; i < nr; i++) { if (total) { dst[i] = (double) src[i] / (double) total; dst[i] *= 100.0; if (dst[i] < 0.01 && src[i]) dst[i] = 0.01; } else dst[i] = 0.0; } } /* * To keep the terse format unaltered, add all of the ns latency * buckets to the first us latency bucket */ static void stat_calc_lat_nu(struct thread_stat *ts, double *io_u_lat_u) { unsigned long ntotal = 0, total = ddir_rw_sum(ts->total_io_u); int i; stat_calc_lat(ts, io_u_lat_u, ts->io_u_lat_u, FIO_IO_U_LAT_U_NR); for (i = 0; i < FIO_IO_U_LAT_N_NR; i++) ntotal += ts->io_u_lat_n[i]; io_u_lat_u[0] += 100.0 * (double) ntotal / (double) total; } void stat_calc_lat_n(struct thread_stat *ts, double *io_u_lat) { stat_calc_lat(ts, io_u_lat, ts->io_u_lat_n, FIO_IO_U_LAT_N_NR); } void stat_calc_lat_u(struct thread_stat *ts, double *io_u_lat) { stat_calc_lat(ts, io_u_lat, ts->io_u_lat_u, FIO_IO_U_LAT_U_NR); } void stat_calc_lat_m(struct thread_stat *ts, double *io_u_lat) { stat_calc_lat(ts, io_u_lat, ts->io_u_lat_m, FIO_IO_U_LAT_M_NR); } static void display_lat(const char *name, unsigned long long min, unsigned long long max, double mean, double dev, struct buf_output *out) { const char *base = "(nsec)"; char *minp, *maxp; if (nsec_to_msec(&min, &max, &mean, &dev)) base = "(msec)"; else if (nsec_to_usec(&min, &max, &mean, &dev)) base = "(usec)"; minp = num2str(min, 6, 1, 0, N2S_NONE); maxp = num2str(max, 6, 1, 0, N2S_NONE); log_buf(out, " %s %s: min=%s, max=%s, avg=%5.02f," " stdev=%5.02f\n", name, base, minp, maxp, mean, dev); free(minp); free(maxp); } static struct thread_stat *gen_mixed_ddir_stats_from_ts(struct thread_stat *ts) { struct thread_stat *ts_lcl; /* * Handle aggregation of Reads (ddir = 0), Writes (ddir = 1), and * Trims (ddir = 2) */ ts_lcl = malloc(sizeof(struct thread_stat)); if (!ts_lcl) { log_err("fio: failed to allocate local thread stat\n"); return NULL; } init_thread_stat(ts_lcl); /* calculate mixed stats */ ts_lcl->unified_rw_rep = UNIFIED_MIXED; ts_lcl->lat_percentiles = ts->lat_percentiles; ts_lcl->clat_percentiles = ts->clat_percentiles; ts_lcl->slat_percentiles = ts->slat_percentiles; ts_lcl->percentile_precision = ts->percentile_precision; memcpy(ts_lcl->percentile_list, ts->percentile_list, sizeof(ts->percentile_list)); ts_lcl->sig_figs = ts->sig_figs; sum_thread_stats(ts_lcl, ts); return ts_lcl; } static double convert_agg_kbytes_percent(struct group_run_stats *rs, enum fio_ddir ddir, int mean) { double p_of_agg = 100.0; if (rs && rs->agg[ddir] > 1024) { p_of_agg = mean * 100.0 / (double) (rs->agg[ddir] / 1024.0); if (p_of_agg > 100.0) p_of_agg = 100.0; } return p_of_agg; } static void show_ddir_status(struct group_run_stats *rs, struct thread_stat *ts, enum fio_ddir ddir, struct buf_output *out) { unsigned long runt; unsigned long long min, max, bw, iops; double mean, dev; char *io_p, *bw_p, *bw_p_alt, *iops_p, *post_st = NULL; int i2p, i; const char *clat_type = ts->lat_percentiles ? "lat" : "clat"; if (ddir_sync(ddir)) { if (calc_lat(&ts->sync_stat, &min, &max, &mean, &dev)) { log_buf(out, " %s:\n", "fsync/fdatasync/sync_file_range"); display_lat(io_ddir_name(ddir), min, max, mean, dev, out); show_clat_percentiles(ts->io_u_sync_plat, ts->sync_stat.samples, ts->percentile_list, ts->percentile_precision, io_ddir_name(ddir), out); } return; } assert(ddir_rw(ddir)); if (!ts->runtime[ddir]) return; i2p = is_power_of_2(rs->kb_base); runt = ts->runtime[ddir]; bw = (1000 * ts->io_bytes[ddir]) / runt; io_p = num2str(ts->io_bytes[ddir], ts->sig_figs, 1, i2p, N2S_BYTE); bw_p = num2str(bw, ts->sig_figs, 1, i2p, ts->unit_base); bw_p_alt = num2str(bw, ts->sig_figs, 1, !i2p, ts->unit_base); iops = (1000 * (uint64_t)ts->total_io_u[ddir]) / runt; iops_p = num2str(iops, ts->sig_figs, 1, 0, N2S_NONE); if (ddir == DDIR_WRITE || ddir == DDIR_TRIM) post_st = zbd_write_status(ts); else if (ddir == DDIR_READ && ts->cachehit && ts->cachemiss) { uint64_t total; double hit; total = ts->cachehit + ts->cachemiss; hit = (double) ts->cachehit / (double) total; hit *= 100.0; if (asprintf(&post_st, "; Cachehit=%0.2f%%", hit) < 0) post_st = NULL; } log_buf(out, " %s: IOPS=%s, BW=%s (%s)(%s/%llumsec)%s\n", (ts->unified_rw_rep == UNIFIED_MIXED) ? "mixed" : io_ddir_name(ddir), iops_p, bw_p, bw_p_alt, io_p, (unsigned long long) ts->runtime[ddir], post_st ? : ""); free(post_st); free(io_p); free(bw_p); free(bw_p_alt); free(iops_p); if (calc_lat(&ts->slat_stat[ddir], &min, &max, &mean, &dev)) display_lat("slat", min, max, mean, dev, out); if (calc_lat(&ts->clat_stat[ddir], &min, &max, &mean, &dev)) display_lat("clat", min, max, mean, dev, out); if (calc_lat(&ts->lat_stat[ddir], &min, &max, &mean, &dev)) display_lat(" lat", min, max, mean, dev, out); /* Only print per prio stats if there are >= 2 prios with samples */ if (get_nr_prios_with_samples(ts, ddir) >= 2) { for (i = 0; i < ts->nr_clat_prio[ddir]; i++) { char buf[64]; if (!calc_lat(&ts->clat_prio[ddir][i].clat_stat, &min, &max, &mean, &dev)) continue; snprintf(buf, sizeof(buf), "%s prio %u/%u/%u", clat_type, ioprio_class(ts->clat_prio[ddir][i].ioprio), ioprio(ts->clat_prio[ddir][i].ioprio), ioprio_hint(ts->clat_prio[ddir][i].ioprio)); display_lat(buf, min, max, mean, dev, out); } } if (ts->slat_percentiles && ts->slat_stat[ddir].samples > 0) show_clat_percentiles(ts->io_u_plat[FIO_SLAT][ddir], ts->slat_stat[ddir].samples, ts->percentile_list, ts->percentile_precision, "slat", out); if (ts->clat_percentiles && ts->clat_stat[ddir].samples > 0) show_clat_percentiles(ts->io_u_plat[FIO_CLAT][ddir], ts->clat_stat[ddir].samples, ts->percentile_list, ts->percentile_precision, "clat", out); if (ts->lat_percentiles && ts->lat_stat[ddir].samples > 0) show_clat_percentiles(ts->io_u_plat[FIO_LAT][ddir], ts->lat_stat[ddir].samples, ts->percentile_list, ts->percentile_precision, "lat", out); if (ts->clat_percentiles || ts->lat_percentiles) { char prio_name[64]; uint64_t samples; if (ts->lat_percentiles) samples = ts->lat_stat[ddir].samples; else samples = ts->clat_stat[ddir].samples; /* Only print per prio stats if there are >= 2 prios with samples */ if (get_nr_prios_with_samples(ts, ddir) >= 2) { for (i = 0; i < ts->nr_clat_prio[ddir]; i++) { uint64_t prio_samples = ts->clat_prio[ddir][i].clat_stat.samples; if (!prio_samples) continue; snprintf(prio_name, sizeof(prio_name), "%s prio %u/%u/%u (%.2f%% of IOs)", clat_type, ioprio_class(ts->clat_prio[ddir][i].ioprio), ioprio(ts->clat_prio[ddir][i].ioprio), ioprio_hint(ts->clat_prio[ddir][i].ioprio), 100. * (double) prio_samples / (double) samples); show_clat_percentiles(ts->clat_prio[ddir][i].io_u_plat, prio_samples, ts->percentile_list, ts->percentile_precision, prio_name, out); } } } if (calc_lat(&ts->bw_stat[ddir], &min, &max, &mean, &dev)) { double p_of_agg = 100.0, fkb_base = (double)rs->kb_base; const char *bw_str; if ((rs->unit_base == 1) && i2p) bw_str = "Kibit"; else if (rs->unit_base == 1) bw_str = "kbit"; else if (i2p) bw_str = "KiB"; else bw_str = "kB"; p_of_agg = convert_agg_kbytes_percent(rs, ddir, mean); if (rs->unit_base == 1) { min *= 8.0; max *= 8.0; mean *= 8.0; dev *= 8.0; } if (mean > fkb_base * fkb_base) { min /= fkb_base; max /= fkb_base; mean /= fkb_base; dev /= fkb_base; bw_str = (rs->unit_base == 1 ? "Mibit" : "MiB"); } log_buf(out, " bw (%5s/s): min=%5llu, max=%5llu, per=%3.2f%%, " "avg=%5.02f, stdev=%5.02f, samples=%" PRIu64 "\n", bw_str, min, max, p_of_agg, mean, dev, (&ts->bw_stat[ddir])->samples); } if (calc_lat(&ts->iops_stat[ddir], &min, &max, &mean, &dev)) { log_buf(out, " iops : min=%5llu, max=%5llu, " "avg=%5.02f, stdev=%5.02f, samples=%" PRIu64 "\n", min, max, mean, dev, (&ts->iops_stat[ddir])->samples); } } static void show_mixed_ddir_status(struct group_run_stats *rs, struct thread_stat *ts, struct buf_output *out) { struct thread_stat *ts_lcl = gen_mixed_ddir_stats_from_ts(ts); if (ts_lcl) show_ddir_status(rs, ts_lcl, DDIR_READ, out); free_clat_prio_stats(ts_lcl); free(ts_lcl); } static bool show_lat(double *io_u_lat, int nr, const char **ranges, const char *msg, struct buf_output *out) { bool new_line = true, shown = false; int i, line = 0; for (i = 0; i < nr; i++) { if (io_u_lat[i] <= 0.0) continue; shown = true; if (new_line) { if (line) log_buf(out, "\n"); log_buf(out, " lat (%s) : ", msg); new_line = false; line = 0; } if (line) log_buf(out, ", "); log_buf(out, "%s%3.2f%%", ranges[i], io_u_lat[i]); line++; if (line == 5) new_line = true; } if (shown) log_buf(out, "\n"); return true; } static void show_lat_n(double *io_u_lat_n, struct buf_output *out) { const char *ranges[] = { "2=", "4=", "10=", "20=", "50=", "100=", "250=", "500=", "750=", "1000=", }; show_lat(io_u_lat_n, FIO_IO_U_LAT_N_NR, ranges, "nsec", out); } static void show_lat_u(double *io_u_lat_u, struct buf_output *out) { const char *ranges[] = { "2=", "4=", "10=", "20=", "50=", "100=", "250=", "500=", "750=", "1000=", }; show_lat(io_u_lat_u, FIO_IO_U_LAT_U_NR, ranges, "usec", out); } static void show_lat_m(double *io_u_lat_m, struct buf_output *out) { const char *ranges[] = { "2=", "4=", "10=", "20=", "50=", "100=", "250=", "500=", "750=", "1000=", "2000=", ">=2000=", }; show_lat(io_u_lat_m, FIO_IO_U_LAT_M_NR, ranges, "msec", out); } static void show_latencies(struct thread_stat *ts, struct buf_output *out) { double io_u_lat_n[FIO_IO_U_LAT_N_NR]; double io_u_lat_u[FIO_IO_U_LAT_U_NR]; double io_u_lat_m[FIO_IO_U_LAT_M_NR]; stat_calc_lat_n(ts, io_u_lat_n); stat_calc_lat_u(ts, io_u_lat_u); stat_calc_lat_m(ts, io_u_lat_m); show_lat_n(io_u_lat_n, out); show_lat_u(io_u_lat_u, out); show_lat_m(io_u_lat_m, out); } static int block_state_category(int block_state) { switch (block_state) { case BLOCK_STATE_UNINIT: return 0; case BLOCK_STATE_TRIMMED: case BLOCK_STATE_WRITTEN: return 1; case BLOCK_STATE_WRITE_FAILURE: case BLOCK_STATE_TRIM_FAILURE: return 2; default: /* Silence compile warning on some BSDs and have a return */ assert(0); return -1; } } static int compare_block_infos(const void *bs1, const void *bs2) { uint64_t block1 = *(uint64_t *)bs1; uint64_t block2 = *(uint64_t *)bs2; int state1 = BLOCK_INFO_STATE(block1); int state2 = BLOCK_INFO_STATE(block2); int bscat1 = block_state_category(state1); int bscat2 = block_state_category(state2); int cycles1 = BLOCK_INFO_TRIMS(block1); int cycles2 = BLOCK_INFO_TRIMS(block2); if (bscat1 < bscat2) return -1; if (bscat1 > bscat2) return 1; if (cycles1 < cycles2) return -1; if (cycles1 > cycles2) return 1; if (state1 < state2) return -1; if (state1 > state2) return 1; assert(block1 == block2); return 0; } static int calc_block_percentiles(int nr_block_infos, uint32_t *block_infos, fio_fp64_t *plist, unsigned int **percentiles, unsigned int *types) { int len = 0; int i, nr_uninit; qsort(block_infos, nr_block_infos, sizeof(uint32_t), compare_block_infos); while (len < FIO_IO_U_LIST_MAX_LEN && plist[len].u.f != 0.0) len++; if (!len) return 0; /* * Sort the percentile list. Note that it may already be sorted if * we are using the default values, but since it's a short list this * isn't a worry. Also note that this does not work for NaN values. */ if (len > 1) qsort(plist, len, sizeof(plist[0]), double_cmp); /* Start only after the uninit entries end */ for (nr_uninit = 0; nr_uninit < nr_block_infos && BLOCK_INFO_STATE(block_infos[nr_uninit]) == BLOCK_STATE_UNINIT; nr_uninit ++) ; if (nr_uninit == nr_block_infos) return 0; *percentiles = calloc(len, sizeof(**percentiles)); for (i = 0; i < len; i++) { int idx = (plist[i].u.f * (nr_block_infos - nr_uninit) / 100) + nr_uninit; (*percentiles)[i] = BLOCK_INFO_TRIMS(block_infos[idx]); } memset(types, 0, sizeof(*types) * BLOCK_STATE_COUNT); for (i = 0; i < nr_block_infos; i++) types[BLOCK_INFO_STATE(block_infos[i])]++; return len; } static const char *block_state_names[] = { [BLOCK_STATE_UNINIT] = "unwritten", [BLOCK_STATE_TRIMMED] = "trimmed", [BLOCK_STATE_WRITTEN] = "written", [BLOCK_STATE_TRIM_FAILURE] = "trim failure", [BLOCK_STATE_WRITE_FAILURE] = "write failure", }; static void show_block_infos(int nr_block_infos, uint32_t *block_infos, fio_fp64_t *plist, struct buf_output *out) { int len, pos, i; unsigned int *percentiles = NULL; unsigned int block_state_counts[BLOCK_STATE_COUNT]; len = calc_block_percentiles(nr_block_infos, block_infos, plist, &percentiles, block_state_counts); log_buf(out, " block lifetime percentiles :\n |"); pos = 0; for (i = 0; i < len; i++) { uint32_t block_info = percentiles[i]; #define LINE_LENGTH 75 char str[LINE_LENGTH]; int strln = snprintf(str, LINE_LENGTH, " %3.2fth=%u%c", plist[i].u.f, block_info, i == len - 1 ? '\n' : ','); assert(strln < LINE_LENGTH); if (pos + strln > LINE_LENGTH) { pos = 0; log_buf(out, "\n |"); } log_buf(out, "%s", str); pos += strln; #undef LINE_LENGTH } if (percentiles) free(percentiles); log_buf(out, " states :"); for (i = 0; i < BLOCK_STATE_COUNT; i++) log_buf(out, " %s=%u%c", block_state_names[i], block_state_counts[i], i == BLOCK_STATE_COUNT - 1 ? '\n' : ','); } static void show_ss_normal(struct thread_stat *ts, struct buf_output *out) { char *p1, *p1alt, *p2; unsigned long long bw_mean, iops_mean; const int i2p = is_power_of_2(ts->kb_base); if (!ts->ss_dur) return; bw_mean = steadystate_bw_mean(ts); iops_mean = steadystate_iops_mean(ts); p1 = num2str(bw_mean / ts->kb_base, ts->sig_figs, ts->kb_base, i2p, ts->unit_base); p1alt = num2str(bw_mean / ts->kb_base, ts->sig_figs, ts->kb_base, !i2p, ts->unit_base); p2 = num2str(iops_mean, ts->sig_figs, 1, 0, N2S_NONE); log_buf(out, " steadystate : attained=%s, bw=%s (%s), iops=%s, %s%s=%.3f%s\n", ts->ss_state & FIO_SS_ATTAINED ? "yes" : "no", p1, p1alt, p2, ts->ss_state & FIO_SS_IOPS ? "iops" : "bw", ts->ss_state & FIO_SS_SLOPE ? " slope": " mean dev", ts->ss_criterion.u.f, ts->ss_state & FIO_SS_PCT ? "%" : ""); free(p1); free(p1alt); free(p2); } static void show_agg_stats(struct disk_util_agg *agg, int terse, struct buf_output *out) { if (!agg->slavecount) return; if (!terse) { log_buf(out, ", aggrios=%llu/%llu, aggsectors=%llu/%llu, " "aggrmerge=%llu/%llu, aggrticks=%llu/%llu, " "aggrin_queue=%llu, aggrutil=%3.2f%%", (unsigned long long) agg->ios[0] / agg->slavecount, (unsigned long long) agg->ios[1] / agg->slavecount, (unsigned long long) agg->sectors[0] / agg->slavecount, (unsigned long long) agg->sectors[1] / agg->slavecount, (unsigned long long) agg->merges[0] / agg->slavecount, (unsigned long long) agg->merges[1] / agg->slavecount, (unsigned long long) agg->ticks[0] / agg->slavecount, (unsigned long long) agg->ticks[1] / agg->slavecount, (unsigned long long) agg->time_in_queue / agg->slavecount, agg->max_util.u.f); } else { log_buf(out, ";slaves;%llu;%llu;%llu;%llu;%llu;%llu;%llu;%3.2f%%", (unsigned long long) agg->ios[0] / agg->slavecount, (unsigned long long) agg->ios[1] / agg->slavecount, (unsigned long long) agg->merges[0] / agg->slavecount, (unsigned long long) agg->merges[1] / agg->slavecount, (unsigned long long) agg->ticks[0] / agg->slavecount, (unsigned long long) agg->ticks[1] / agg->slavecount, (unsigned long long) agg->time_in_queue / agg->slavecount, agg->max_util.u.f); } } static void aggregate_slaves_stats(struct disk_util *masterdu) { struct disk_util_agg *agg = &masterdu->agg; struct disk_util_stat *dus; struct flist_head *entry; struct disk_util *slavedu; double util; flist_for_each(entry, &masterdu->slaves) { slavedu = flist_entry(entry, struct disk_util, slavelist); dus = &slavedu->dus; agg->ios[0] += dus->s.ios[0]; agg->ios[1] += dus->s.ios[1]; agg->merges[0] += dus->s.merges[0]; agg->merges[1] += dus->s.merges[1]; agg->sectors[0] += dus->s.sectors[0]; agg->sectors[1] += dus->s.sectors[1]; agg->ticks[0] += dus->s.ticks[0]; agg->ticks[1] += dus->s.ticks[1]; agg->time_in_queue += dus->s.time_in_queue; agg->slavecount++; util = (double) (100 * dus->s.io_ticks / (double) slavedu->dus.s.msec); /* System utilization is the utilization of the * component with the highest utilization. */ if (util > agg->max_util.u.f) agg->max_util.u.f = util; } if (agg->max_util.u.f > 100.0) agg->max_util.u.f = 100.0; } void print_disk_util(struct disk_util_stat *dus, struct disk_util_agg *agg, int terse, struct buf_output *out) { double util = 0; if (dus->s.msec) util = (double) 100 * dus->s.io_ticks / (double) dus->s.msec; if (util > 100.0) util = 100.0; if (!terse) { if (agg->slavecount) log_buf(out, " "); log_buf(out, " %s: ios=%llu/%llu, sectors=%llu/%llu, " "merge=%llu/%llu, ticks=%llu/%llu, in_queue=%llu, " "util=%3.2f%%", dus->name, (unsigned long long) dus->s.ios[0], (unsigned long long) dus->s.ios[1], (unsigned long long) dus->s.sectors[0], (unsigned long long) dus->s.sectors[1], (unsigned long long) dus->s.merges[0], (unsigned long long) dus->s.merges[1], (unsigned long long) dus->s.ticks[0], (unsigned long long) dus->s.ticks[1], (unsigned long long) dus->s.time_in_queue, util); } else { log_buf(out, ";%s;%llu;%llu;%llu;%llu;%llu;%llu;%llu;%3.2f%%", dus->name, (unsigned long long) dus->s.ios[0], (unsigned long long) dus->s.ios[1], (unsigned long long) dus->s.merges[0], (unsigned long long) dus->s.merges[1], (unsigned long long) dus->s.ticks[0], (unsigned long long) dus->s.ticks[1], (unsigned long long) dus->s.time_in_queue, util); } /* * If the device has slaves, aggregate the stats for * those slave devices also. */ show_agg_stats(agg, terse, out); if (!terse) log_buf(out, "\n"); } void json_array_add_disk_util(struct disk_util_stat *dus, struct disk_util_agg *agg, struct json_array *array) { struct json_object *obj; double util = 0; if (dus->s.msec) util = (double) 100 * dus->s.io_ticks / (double) dus->s.msec; if (util > 100.0) util = 100.0; obj = json_create_object(); json_array_add_value_object(array, obj); json_object_add_value_string(obj, "name", (const char *)dus->name); json_object_add_value_int(obj, "read_ios", dus->s.ios[0]); json_object_add_value_int(obj, "write_ios", dus->s.ios[1]); json_object_add_value_int(obj, "read_sectors", dus->s.sectors[0]); json_object_add_value_int(obj, "write_sectors", dus->s.sectors[1]); json_object_add_value_int(obj, "read_merges", dus->s.merges[0]); json_object_add_value_int(obj, "write_merges", dus->s.merges[1]); json_object_add_value_int(obj, "read_ticks", dus->s.ticks[0]); json_object_add_value_int(obj, "write_ticks", dus->s.ticks[1]); json_object_add_value_int(obj, "in_queue", dus->s.time_in_queue); json_object_add_value_float(obj, "util", util); /* * If the device has slaves, aggregate the stats for * those slave devices also. */ if (!agg->slavecount) return; json_object_add_value_int(obj, "aggr_read_ios", agg->ios[0] / agg->slavecount); json_object_add_value_int(obj, "aggr_write_ios", agg->ios[1] / agg->slavecount); json_object_add_value_int(obj, "aggr_read_sectors", agg->sectors[0] / agg->slavecount); json_object_add_value_int(obj, "aggr_write_sectors", agg->sectors[1] / agg->slavecount); json_object_add_value_int(obj, "aggr_read_merges", agg->merges[0] / agg->slavecount); json_object_add_value_int(obj, "aggr_write_merge", agg->merges[1] / agg->slavecount); json_object_add_value_int(obj, "aggr_read_ticks", agg->ticks[0] / agg->slavecount); json_object_add_value_int(obj, "aggr_write_ticks", agg->ticks[1] / agg->slavecount); json_object_add_value_int(obj, "aggr_in_queue", agg->time_in_queue / agg->slavecount); json_object_add_value_float(obj, "aggr_util", agg->max_util.u.f); } static void json_object_add_disk_utils(struct json_object *obj, struct flist_head *head) { struct json_array *array = json_create_array(); struct flist_head *entry; struct disk_util *du; json_object_add_value_array(obj, "disk_util", array); flist_for_each(entry, head) { du = flist_entry(entry, struct disk_util, list); aggregate_slaves_stats(du); json_array_add_disk_util(&du->dus, &du->agg, array); } } void show_disk_util(int terse, struct json_object *parent, struct buf_output *out) { struct flist_head *entry; struct disk_util *du; bool do_json; if (!is_running_backend()) return; if (flist_empty(&disk_list)) return; if ((output_format & FIO_OUTPUT_JSON) && parent) do_json = true; else do_json = false; if (!terse && !do_json) log_buf(out, "\nDisk stats (read/write):\n"); if (do_json) { json_object_add_disk_utils(parent, &disk_list); } else if (output_format & ~(FIO_OUTPUT_JSON | FIO_OUTPUT_JSON_PLUS)) { flist_for_each(entry, &disk_list) { du = flist_entry(entry, struct disk_util, list); aggregate_slaves_stats(du); print_disk_util(&du->dus, &du->agg, terse, out); } } } static void show_thread_status_normal(struct thread_stat *ts, struct group_run_stats *rs, struct buf_output *out) { double usr_cpu, sys_cpu; unsigned long runtime; double io_u_dist[FIO_IO_U_MAP_NR]; time_t time_p; char time_buf[32]; if (!ddir_rw_sum(ts->io_bytes) && !ddir_rw_sum(ts->total_io_u)) return; memset(time_buf, 0, sizeof(time_buf)); time(&time_p); os_ctime_r((const time_t *) &time_p, time_buf, sizeof(time_buf)); if (!ts->error) { log_buf(out, "%s: (groupid=%d, jobs=%d): err=%2d: pid=%d: %s", ts->name, ts->groupid, ts->members, ts->error, (int) ts->pid, time_buf); } else { log_buf(out, "%s: (groupid=%d, jobs=%d): err=%2d (%s): pid=%d: %s", ts->name, ts->groupid, ts->members, ts->error, ts->verror, (int) ts->pid, time_buf); } if (strlen(ts->description)) log_buf(out, " Description : [%s]\n", ts->description); for_each_rw_ddir(ddir) { if (ts->io_bytes[ddir]) show_ddir_status(rs, ts, ddir, out); } if (ts->unified_rw_rep == UNIFIED_BOTH) show_mixed_ddir_status(rs, ts, out); show_latencies(ts, out); if (ts->sync_stat.samples) show_ddir_status(rs, ts, DDIR_SYNC, out); runtime = ts->total_run_time; if (runtime) { double runt = (double) runtime; usr_cpu = (double) ts->usr_time * 100 / runt; sys_cpu = (double) ts->sys_time * 100 / runt; } else { usr_cpu = 0; sys_cpu = 0; } log_buf(out, " cpu : usr=%3.2f%%, sys=%3.2f%%, ctx=%llu," " majf=%llu, minf=%llu\n", usr_cpu, sys_cpu, (unsigned long long) ts->ctx, (unsigned long long) ts->majf, (unsigned long long) ts->minf); stat_calc_dist(ts->io_u_map, ddir_rw_sum(ts->total_io_u), io_u_dist); log_buf(out, " IO depths : 1=%3.1f%%, 2=%3.1f%%, 4=%3.1f%%, 8=%3.1f%%," " 16=%3.1f%%, 32=%3.1f%%, >=64=%3.1f%%\n", io_u_dist[0], io_u_dist[1], io_u_dist[2], io_u_dist[3], io_u_dist[4], io_u_dist[5], io_u_dist[6]); stat_calc_dist(ts->io_u_submit, ts->total_submit, io_u_dist); log_buf(out, " submit : 0=%3.1f%%, 4=%3.1f%%, 8=%3.1f%%, 16=%3.1f%%," " 32=%3.1f%%, 64=%3.1f%%, >=64=%3.1f%%\n", io_u_dist[0], io_u_dist[1], io_u_dist[2], io_u_dist[3], io_u_dist[4], io_u_dist[5], io_u_dist[6]); stat_calc_dist(ts->io_u_complete, ts->total_complete, io_u_dist); log_buf(out, " complete : 0=%3.1f%%, 4=%3.1f%%, 8=%3.1f%%, 16=%3.1f%%," " 32=%3.1f%%, 64=%3.1f%%, >=64=%3.1f%%\n", io_u_dist[0], io_u_dist[1], io_u_dist[2], io_u_dist[3], io_u_dist[4], io_u_dist[5], io_u_dist[6]); log_buf(out, " issued rwts: total=%llu,%llu,%llu,%llu" " short=%llu,%llu,%llu,0" " dropped=%llu,%llu,%llu,0\n", (unsigned long long) ts->total_io_u[0], (unsigned long long) ts->total_io_u[1], (unsigned long long) ts->total_io_u[2], (unsigned long long) ts->total_io_u[3], (unsigned long long) ts->short_io_u[0], (unsigned long long) ts->short_io_u[1], (unsigned long long) ts->short_io_u[2], (unsigned long long) ts->drop_io_u[0], (unsigned long long) ts->drop_io_u[1], (unsigned long long) ts->drop_io_u[2]); if (ts->continue_on_error) { log_buf(out, " errors : total=%llu, first_error=%d/<%s>\n", (unsigned long long)ts->total_err_count, ts->first_error, strerror(ts->first_error)); } if (ts->latency_depth) { log_buf(out, " latency : target=%llu, window=%llu, percentile=%.2f%%, depth=%u\n", (unsigned long long)ts->latency_target, (unsigned long long)ts->latency_window, ts->latency_percentile.u.f, ts->latency_depth); } if (ts->nr_block_infos) show_block_infos(ts->nr_block_infos, ts->block_infos, ts->percentile_list, out); if (ts->ss_dur) show_ss_normal(ts, out); } static void show_ddir_status_terse(struct thread_stat *ts, struct group_run_stats *rs, enum fio_ddir ddir, int ver, struct buf_output *out) { unsigned long long min, max, minv, maxv, bw, iops; unsigned long long *ovals = NULL; double mean, dev; unsigned int len; int i, bw_stat; assert(ddir_rw(ddir)); iops = bw = 0; if (ts->runtime[ddir]) { uint64_t runt = ts->runtime[ddir]; bw = ((1000 * ts->io_bytes[ddir]) / runt) / 1024; /* KiB/s */ iops = (1000 * (uint64_t) ts->total_io_u[ddir]) / runt; } log_buf(out, ";%llu;%llu;%llu;%llu", (unsigned long long) ts->io_bytes[ddir] >> 10, bw, iops, (unsigned long long) ts->runtime[ddir]); if (calc_lat(&ts->slat_stat[ddir], &min, &max, &mean, &dev)) log_buf(out, ";%llu;%llu;%f;%f", min/1000, max/1000, mean/1000, dev/1000); else log_buf(out, ";%llu;%llu;%f;%f", 0ULL, 0ULL, 0.0, 0.0); if (calc_lat(&ts->clat_stat[ddir], &min, &max, &mean, &dev)) log_buf(out, ";%llu;%llu;%f;%f", min/1000, max/1000, mean/1000, dev/1000); else log_buf(out, ";%llu;%llu;%f;%f", 0ULL, 0ULL, 0.0, 0.0); if (ts->lat_percentiles) { len = calc_clat_percentiles(ts->io_u_plat[FIO_LAT][ddir], ts->lat_stat[ddir].samples, ts->percentile_list, &ovals, &maxv, &minv); } else if (ts->clat_percentiles) { len = calc_clat_percentiles(ts->io_u_plat[FIO_CLAT][ddir], ts->clat_stat[ddir].samples, ts->percentile_list, &ovals, &maxv, &minv); } else { len = 0; } for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++) { if (i >= len) { log_buf(out, ";0%%=0"); continue; } log_buf(out, ";%f%%=%llu", ts->percentile_list[i].u.f, ovals[i]/1000); } if (calc_lat(&ts->lat_stat[ddir], &min, &max, &mean, &dev)) log_buf(out, ";%llu;%llu;%f;%f", min/1000, max/1000, mean/1000, dev/1000); else log_buf(out, ";%llu;%llu;%f;%f", 0ULL, 0ULL, 0.0, 0.0); free(ovals); bw_stat = calc_lat(&ts->bw_stat[ddir], &min, &max, &mean, &dev); if (bw_stat) { double p_of_agg = 100.0; if (rs->agg[ddir]) { p_of_agg = mean * 100 / (double) (rs->agg[ddir] / 1024); if (p_of_agg > 100.0) p_of_agg = 100.0; } log_buf(out, ";%llu;%llu;%f%%;%f;%f", min, max, p_of_agg, mean, dev); } else { log_buf(out, ";%llu;%llu;%f%%;%f;%f", 0ULL, 0ULL, 0.0, 0.0, 0.0); } if (ver == 5) { if (bw_stat) log_buf(out, ";%" PRIu64, (&ts->bw_stat[ddir])->samples); else log_buf(out, ";%lu", 0UL); if (calc_lat(&ts->iops_stat[ddir], &min, &max, &mean, &dev)) log_buf(out, ";%llu;%llu;%f;%f;%" PRIu64, min, max, mean, dev, (&ts->iops_stat[ddir])->samples); else log_buf(out, ";%llu;%llu;%f;%f;%lu", 0ULL, 0ULL, 0.0, 0.0, 0UL); } } static void show_mixed_ddir_status_terse(struct thread_stat *ts, struct group_run_stats *rs, int ver, struct buf_output *out) { struct thread_stat *ts_lcl = gen_mixed_ddir_stats_from_ts(ts); if (ts_lcl) show_ddir_status_terse(ts_lcl, rs, DDIR_READ, ver, out); free_clat_prio_stats(ts_lcl); free(ts_lcl); } static struct json_object *add_ddir_lat_json(struct thread_stat *ts, uint32_t percentiles, struct io_stat *lat_stat, uint64_t *io_u_plat) { char buf[120]; double mean, dev; unsigned int i, len; struct json_object *lat_object, *percentile_object, *clat_bins_object; unsigned long long min, max, maxv, minv, *ovals = NULL; if (!calc_lat(lat_stat, &min, &max, &mean, &dev)) { min = max = 0; mean = dev = 0.0; } lat_object = json_create_object(); json_object_add_value_int(lat_object, "min", min); json_object_add_value_int(lat_object, "max", max); json_object_add_value_float(lat_object, "mean", mean); json_object_add_value_float(lat_object, "stddev", dev); json_object_add_value_int(lat_object, "N", lat_stat->samples); if (percentiles && lat_stat->samples) { len = calc_clat_percentiles(io_u_plat, lat_stat->samples, ts->percentile_list, &ovals, &maxv, &minv); if (len > FIO_IO_U_LIST_MAX_LEN) len = FIO_IO_U_LIST_MAX_LEN; percentile_object = json_create_object(); json_object_add_value_object(lat_object, "percentile", percentile_object); for (i = 0; i < len; i++) { snprintf(buf, sizeof(buf), "%f", ts->percentile_list[i].u.f); json_object_add_value_int(percentile_object, buf, ovals[i]); } free(ovals); if (output_format & FIO_OUTPUT_JSON_PLUS) { clat_bins_object = json_create_object(); json_object_add_value_object(lat_object, "bins", clat_bins_object); for(i = 0; i < FIO_IO_U_PLAT_NR; i++) if (io_u_plat[i]) { snprintf(buf, sizeof(buf), "%llu", plat_idx_to_val(i)); json_object_add_value_int(clat_bins_object, buf, io_u_plat[i]); } } } return lat_object; } static void add_ddir_status_json(struct thread_stat *ts, struct group_run_stats *rs, enum fio_ddir ddir, struct json_object *parent) { unsigned long long min, max; unsigned long long bw_bytes, bw; double mean, dev, iops; struct json_object *dir_object, *tmp_object; double p_of_agg = 100.0; assert(ddir_rw(ddir) || ddir_sync(ddir)); if ((ts->unified_rw_rep == UNIFIED_MIXED) && ddir != DDIR_READ) return; dir_object = json_create_object(); json_object_add_value_object(parent, (ts->unified_rw_rep == UNIFIED_MIXED) ? "mixed" : io_ddir_name(ddir), dir_object); if (ddir_rw(ddir)) { bw_bytes = 0; bw = 0; iops = 0.0; if (ts->runtime[ddir]) { uint64_t runt = ts->runtime[ddir]; bw_bytes = ((1000 * ts->io_bytes[ddir]) / runt); /* Bytes/s */ bw = bw_bytes / 1024; /* KiB/s */ iops = (1000.0 * (uint64_t) ts->total_io_u[ddir]) / runt; } json_object_add_value_int(dir_object, "io_bytes", ts->io_bytes[ddir]); json_object_add_value_int(dir_object, "io_kbytes", ts->io_bytes[ddir] >> 10); json_object_add_value_int(dir_object, "bw_bytes", bw_bytes); json_object_add_value_int(dir_object, "bw", bw); json_object_add_value_float(dir_object, "iops", iops); json_object_add_value_int(dir_object, "runtime", ts->runtime[ddir]); json_object_add_value_int(dir_object, "total_ios", ts->total_io_u[ddir]); json_object_add_value_int(dir_object, "short_ios", ts->short_io_u[ddir]); json_object_add_value_int(dir_object, "drop_ios", ts->drop_io_u[ddir]); tmp_object = add_ddir_lat_json(ts, ts->slat_percentiles, &ts->slat_stat[ddir], ts->io_u_plat[FIO_SLAT][ddir]); json_object_add_value_object(dir_object, "slat_ns", tmp_object); tmp_object = add_ddir_lat_json(ts, ts->clat_percentiles, &ts->clat_stat[ddir], ts->io_u_plat[FIO_CLAT][ddir]); json_object_add_value_object(dir_object, "clat_ns", tmp_object); tmp_object = add_ddir_lat_json(ts, ts->lat_percentiles, &ts->lat_stat[ddir], ts->io_u_plat[FIO_LAT][ddir]); json_object_add_value_object(dir_object, "lat_ns", tmp_object); } else { json_object_add_value_int(dir_object, "total_ios", ts->total_io_u[DDIR_SYNC]); tmp_object = add_ddir_lat_json(ts, ts->lat_percentiles | ts->clat_percentiles, &ts->sync_stat, ts->io_u_sync_plat); json_object_add_value_object(dir_object, "lat_ns", tmp_object); } if (!ddir_rw(ddir)) return; /* Only include per prio stats if there are >= 2 prios with samples */ if (get_nr_prios_with_samples(ts, ddir) >= 2) { struct json_array *array = json_create_array(); const char *obj_name; int i; if (ts->lat_percentiles) obj_name = "lat_ns"; else obj_name = "clat_ns"; json_object_add_value_array(dir_object, "prios", array); for (i = 0; i < ts->nr_clat_prio[ddir]; i++) { struct json_object *obj; if (!ts->clat_prio[ddir][i].clat_stat.samples) continue; obj = json_create_object(); json_object_add_value_int(obj, "prioclass", ioprio_class(ts->clat_prio[ddir][i].ioprio)); json_object_add_value_int(obj, "prio", ioprio(ts->clat_prio[ddir][i].ioprio)); json_object_add_value_int(obj, "priohint", ioprio_hint(ts->clat_prio[ddir][i].ioprio)); tmp_object = add_ddir_lat_json(ts, ts->clat_percentiles | ts->lat_percentiles, &ts->clat_prio[ddir][i].clat_stat, ts->clat_prio[ddir][i].io_u_plat); json_object_add_value_object(obj, obj_name, tmp_object); json_array_add_value_object(array, obj); } } if (calc_lat(&ts->bw_stat[ddir], &min, &max, &mean, &dev)) { p_of_agg = convert_agg_kbytes_percent(rs, ddir, mean); } else { min = max = 0; p_of_agg = mean = dev = 0.0; } json_object_add_value_int(dir_object, "bw_min", min); json_object_add_value_int(dir_object, "bw_max", max); json_object_add_value_float(dir_object, "bw_agg", p_of_agg); json_object_add_value_float(dir_object, "bw_mean", mean); json_object_add_value_float(dir_object, "bw_dev", dev); json_object_add_value_int(dir_object, "bw_samples", (&ts->bw_stat[ddir])->samples); if (!calc_lat(&ts->iops_stat[ddir], &min, &max, &mean, &dev)) { min = max = 0; mean = dev = 0.0; } json_object_add_value_int(dir_object, "iops_min", min); json_object_add_value_int(dir_object, "iops_max", max); json_object_add_value_float(dir_object, "iops_mean", mean); json_object_add_value_float(dir_object, "iops_stddev", dev); json_object_add_value_int(dir_object, "iops_samples", (&ts->iops_stat[ddir])->samples); if (ts->cachehit + ts->cachemiss) { uint64_t total; double hit; total = ts->cachehit + ts->cachemiss; hit = (double) ts->cachehit / (double) total; hit *= 100.0; json_object_add_value_float(dir_object, "cachehit", hit); } } static void add_mixed_ddir_status_json(struct thread_stat *ts, struct group_run_stats *rs, struct json_object *parent) { struct thread_stat *ts_lcl = gen_mixed_ddir_stats_from_ts(ts); /* add the aggregated stats to json parent */ if (ts_lcl) add_ddir_status_json(ts_lcl, rs, DDIR_READ, parent); free_clat_prio_stats(ts_lcl); free(ts_lcl); } static void show_thread_status_terse_all(struct thread_stat *ts, struct group_run_stats *rs, int ver, struct buf_output *out) { double io_u_dist[FIO_IO_U_MAP_NR]; double io_u_lat_u[FIO_IO_U_LAT_U_NR]; double io_u_lat_m[FIO_IO_U_LAT_M_NR]; double usr_cpu, sys_cpu; int i; /* General Info */ if (ver == 2) log_buf(out, "2;%s;%d;%d", ts->name, ts->groupid, ts->error); else log_buf(out, "%d;%s;%s;%d;%d", ver, fio_version_string, ts->name, ts->groupid, ts->error); /* Log Read Status, or mixed if unified_rw_rep = 1 */ show_ddir_status_terse(ts, rs, DDIR_READ, ver, out); if (ts->unified_rw_rep != UNIFIED_MIXED) { /* Log Write Status */ show_ddir_status_terse(ts, rs, DDIR_WRITE, ver, out); /* Log Trim Status */ if (ver == 2 || ver == 4 || ver == 5) show_ddir_status_terse(ts, rs, DDIR_TRIM, ver, out); } if (ts->unified_rw_rep == UNIFIED_BOTH) show_mixed_ddir_status_terse(ts, rs, ver, out); /* CPU Usage */ if (ts->total_run_time) { double runt = (double) ts->total_run_time; usr_cpu = (double) ts->usr_time * 100 / runt; sys_cpu = (double) ts->sys_time * 100 / runt; } else { usr_cpu = 0; sys_cpu = 0; } log_buf(out, ";%f%%;%f%%;%llu;%llu;%llu", usr_cpu, sys_cpu, (unsigned long long) ts->ctx, (unsigned long long) ts->majf, (unsigned long long) ts->minf); /* Calc % distribution of IO depths, usecond, msecond latency */ stat_calc_dist(ts->io_u_map, ddir_rw_sum(ts->total_io_u), io_u_dist); stat_calc_lat_nu(ts, io_u_lat_u); stat_calc_lat_m(ts, io_u_lat_m); /* Only show fixed 7 I/O depth levels*/ log_buf(out, ";%3.1f%%;%3.1f%%;%3.1f%%;%3.1f%%;%3.1f%%;%3.1f%%;%3.1f%%", io_u_dist[0], io_u_dist[1], io_u_dist[2], io_u_dist[3], io_u_dist[4], io_u_dist[5], io_u_dist[6]); /* Microsecond latency */ for (i = 0; i < FIO_IO_U_LAT_U_NR; i++) log_buf(out, ";%3.2f%%", io_u_lat_u[i]); /* Millisecond latency */ for (i = 0; i < FIO_IO_U_LAT_M_NR; i++) log_buf(out, ";%3.2f%%", io_u_lat_m[i]); /* disk util stats, if any */ if (ver >= 3 && is_running_backend()) show_disk_util(1, NULL, out); /* Additional output if continue_on_error set - default off*/ if (ts->continue_on_error) log_buf(out, ";%llu;%d", (unsigned long long) ts->total_err_count, ts->first_error); /* Additional output if description is set */ if (strlen(ts->description)) { if (ver == 2) log_buf(out, "\n"); log_buf(out, ";%s", ts->description); } log_buf(out, "\n"); } static void json_add_job_opts(struct json_object *root, const char *name, struct flist_head *opt_list) { struct json_object *dir_object; struct flist_head *entry; struct print_option *p; if (flist_empty(opt_list)) return; dir_object = json_create_object(); json_object_add_value_object(root, name, dir_object); flist_for_each(entry, opt_list) { p = flist_entry(entry, struct print_option, list); json_object_add_value_string(dir_object, p->name, p->value); } } static struct json_object *show_thread_status_json(struct thread_stat *ts, struct group_run_stats *rs, struct flist_head *opt_list) { struct json_object *root, *tmp; struct jobs_eta *je; double io_u_dist[FIO_IO_U_MAP_NR]; double io_u_lat_n[FIO_IO_U_LAT_N_NR]; double io_u_lat_u[FIO_IO_U_LAT_U_NR]; double io_u_lat_m[FIO_IO_U_LAT_M_NR]; double usr_cpu, sys_cpu; int i; size_t size; root = json_create_object(); json_object_add_value_string(root, "jobname", ts->name); json_object_add_value_int(root, "groupid", ts->groupid); json_object_add_value_int(root, "job_start", ts->job_start); json_object_add_value_int(root, "error", ts->error); /* ETA Info */ je = get_jobs_eta(true, &size); if (je) { json_object_add_value_int(root, "eta", je->eta_sec); json_object_add_value_int(root, "elapsed", je->elapsed_sec); free(je); } if (opt_list) json_add_job_opts(root, "job options", opt_list); add_ddir_status_json(ts, rs, DDIR_READ, root); add_ddir_status_json(ts, rs, DDIR_WRITE, root); add_ddir_status_json(ts, rs, DDIR_TRIM, root); add_ddir_status_json(ts, rs, DDIR_SYNC, root); if (ts->unified_rw_rep == UNIFIED_BOTH) add_mixed_ddir_status_json(ts, rs, root); /* CPU Usage */ if (ts->total_run_time) { double runt = (double) ts->total_run_time; usr_cpu = (double) ts->usr_time * 100 / runt; sys_cpu = (double) ts->sys_time * 100 / runt; } else { usr_cpu = 0; sys_cpu = 0; } json_object_add_value_int(root, "job_runtime", ts->total_run_time); json_object_add_value_float(root, "usr_cpu", usr_cpu); json_object_add_value_float(root, "sys_cpu", sys_cpu); json_object_add_value_int(root, "ctx", ts->ctx); json_object_add_value_int(root, "majf", ts->majf); json_object_add_value_int(root, "minf", ts->minf); /* Calc % distribution of IO depths */ stat_calc_dist(ts->io_u_map, ddir_rw_sum(ts->total_io_u), io_u_dist); tmp = json_create_object(); json_object_add_value_object(root, "iodepth_level", tmp); /* Only show fixed 7 I/O depth levels*/ for (i = 0; i < 7; i++) { char name[20]; if (i < 6) snprintf(name, 20, "%d", 1 << i); else snprintf(name, 20, ">=%d", 1 << i); json_object_add_value_float(tmp, (const char *)name, io_u_dist[i]); } /* Calc % distribution of submit IO depths */ stat_calc_dist(ts->io_u_submit, ts->total_submit, io_u_dist); tmp = json_create_object(); json_object_add_value_object(root, "iodepth_submit", tmp); /* Only show fixed 7 I/O depth levels*/ for (i = 0; i < 7; i++) { char name[20]; if (i == 0) snprintf(name, 20, "0"); else if (i < 6) snprintf(name, 20, "%d", 1 << (i+1)); else snprintf(name, 20, ">=%d", 1 << i); json_object_add_value_float(tmp, (const char *)name, io_u_dist[i]); } /* Calc % distribution of completion IO depths */ stat_calc_dist(ts->io_u_complete, ts->total_complete, io_u_dist); tmp = json_create_object(); json_object_add_value_object(root, "iodepth_complete", tmp); /* Only show fixed 7 I/O depth levels*/ for (i = 0; i < 7; i++) { char name[20]; if (i == 0) snprintf(name, 20, "0"); else if (i < 6) snprintf(name, 20, "%d", 1 << (i+1)); else snprintf(name, 20, ">=%d", 1 << i); json_object_add_value_float(tmp, (const char *)name, io_u_dist[i]); } /* Calc % distribution of nsecond, usecond, msecond latency */ stat_calc_dist(ts->io_u_map, ddir_rw_sum(ts->total_io_u), io_u_dist); stat_calc_lat_n(ts, io_u_lat_n); stat_calc_lat_u(ts, io_u_lat_u); stat_calc_lat_m(ts, io_u_lat_m); /* Nanosecond latency */ tmp = json_create_object(); json_object_add_value_object(root, "latency_ns", tmp); for (i = 0; i < FIO_IO_U_LAT_N_NR; i++) { const char *ranges[] = { "2", "4", "10", "20", "50", "100", "250", "500", "750", "1000", }; json_object_add_value_float(tmp, ranges[i], io_u_lat_n[i]); } /* Microsecond latency */ tmp = json_create_object(); json_object_add_value_object(root, "latency_us", tmp); for (i = 0; i < FIO_IO_U_LAT_U_NR; i++) { const char *ranges[] = { "2", "4", "10", "20", "50", "100", "250", "500", "750", "1000", }; json_object_add_value_float(tmp, ranges[i], io_u_lat_u[i]); } /* Millisecond latency */ tmp = json_create_object(); json_object_add_value_object(root, "latency_ms", tmp); for (i = 0; i < FIO_IO_U_LAT_M_NR; i++) { const char *ranges[] = { "2", "4", "10", "20", "50", "100", "250", "500", "750", "1000", "2000", ">=2000", }; json_object_add_value_float(tmp, ranges[i], io_u_lat_m[i]); } /* Additional output if continue_on_error set - default off*/ if (ts->continue_on_error) { json_object_add_value_int(root, "total_err", ts->total_err_count); json_object_add_value_int(root, "first_error", ts->first_error); } if (ts->latency_depth) { json_object_add_value_int(root, "latency_depth", ts->latency_depth); json_object_add_value_int(root, "latency_target", ts->latency_target); json_object_add_value_float(root, "latency_percentile", ts->latency_percentile.u.f); json_object_add_value_int(root, "latency_window", ts->latency_window); } /* Additional output if description is set */ if (strlen(ts->description)) json_object_add_value_string(root, "desc", ts->description); if (ts->nr_block_infos) { /* Block error histogram and types */ int len; unsigned int *percentiles = NULL; unsigned int block_state_counts[BLOCK_STATE_COUNT]; len = calc_block_percentiles(ts->nr_block_infos, ts->block_infos, ts->percentile_list, &percentiles, block_state_counts); if (len) { struct json_object *block, *percentile_object, *states; int state; block = json_create_object(); json_object_add_value_object(root, "block", block); percentile_object = json_create_object(); json_object_add_value_object(block, "percentiles", percentile_object); for (i = 0; i < len; i++) { char buf[20]; snprintf(buf, sizeof(buf), "%f", ts->percentile_list[i].u.f); json_object_add_value_int(percentile_object, buf, percentiles[i]); } states = json_create_object(); json_object_add_value_object(block, "states", states); for (state = 0; state < BLOCK_STATE_COUNT; state++) { json_object_add_value_int(states, block_state_names[state], block_state_counts[state]); } free(percentiles); } } if (ts->ss_dur) { struct json_object *data; struct json_array *iops, *bw; int j, k, l; char ss_buf[64]; int intervals = ts->ss_dur / (ss_check_interval / 1000L); snprintf(ss_buf, sizeof(ss_buf), "%s%s:%f%s", ts->ss_state & FIO_SS_IOPS ? "iops" : "bw", ts->ss_state & FIO_SS_SLOPE ? "_slope" : "", (float) ts->ss_limit.u.f, ts->ss_state & FIO_SS_PCT ? "%" : ""); tmp = json_create_object(); json_object_add_value_object(root, "steadystate", tmp); json_object_add_value_string(tmp, "ss", ss_buf); json_object_add_value_int(tmp, "duration", (int)ts->ss_dur); json_object_add_value_int(tmp, "attained", (ts->ss_state & FIO_SS_ATTAINED) > 0); snprintf(ss_buf, sizeof(ss_buf), "%f%s", (float) ts->ss_criterion.u.f, ts->ss_state & FIO_SS_PCT ? "%" : ""); json_object_add_value_string(tmp, "criterion", ss_buf); json_object_add_value_float(tmp, "max_deviation", ts->ss_deviation.u.f); json_object_add_value_float(tmp, "slope", ts->ss_slope.u.f); data = json_create_object(); json_object_add_value_object(tmp, "data", data); bw = json_create_array(); iops = json_create_array(); /* ** if ss was attained or the buffer is not full, ** ss->head points to the first element in the list. ** otherwise it actually points to the second element ** in the list */ if ((ts->ss_state & FIO_SS_ATTAINED) || !(ts->ss_state & FIO_SS_BUFFER_FULL)) j = ts->ss_head; else j = ts->ss_head == 0 ? intervals - 1 : ts->ss_head - 1; for (l = 0; l < intervals; l++) { k = (j + l) % intervals; json_array_add_value_int(bw, ts->ss_bw_data[k]); json_array_add_value_int(iops, ts->ss_iops_data[k]); } json_object_add_value_int(data, "bw_mean", steadystate_bw_mean(ts)); json_object_add_value_int(data, "iops_mean", steadystate_iops_mean(ts)); json_object_add_value_array(data, "iops", iops); json_object_add_value_array(data, "bw", bw); } return root; } static void show_thread_status_terse(struct thread_stat *ts, struct group_run_stats *rs, struct buf_output *out) { if (terse_version >= 2 && terse_version <= 5) show_thread_status_terse_all(ts, rs, terse_version, out); else log_err("fio: bad terse version!? %d\n", terse_version); } struct json_object *show_thread_status(struct thread_stat *ts, struct group_run_stats *rs, struct flist_head *opt_list, struct buf_output *out) { struct json_object *ret = NULL; if (output_format & FIO_OUTPUT_TERSE) show_thread_status_terse(ts, rs, out); if (output_format & FIO_OUTPUT_JSON) ret = show_thread_status_json(ts, rs, opt_list); if (output_format & FIO_OUTPUT_NORMAL) show_thread_status_normal(ts, rs, out); return ret; } static void __sum_stat(struct io_stat *dst, struct io_stat *src, bool first) { double mean, S; dst->min_val = min(dst->min_val, src->min_val); dst->max_val = max(dst->max_val, src->max_val); /* * Compute new mean and S after the merge * */ if (first) { mean = src->mean.u.f; S = src->S.u.f; } else { double delta = src->mean.u.f - dst->mean.u.f; mean = ((src->mean.u.f * src->samples) + (dst->mean.u.f * dst->samples)) / (dst->samples + src->samples); S = src->S.u.f + dst->S.u.f + pow(delta, 2.0) * (dst->samples * src->samples) / (dst->samples + src->samples); } dst->samples += src->samples; dst->mean.u.f = mean; dst->S.u.f = S; } /* * We sum two kinds of stats - one that is time based, in which case we * apply the proper summing technique, and then one that is iops/bw * numbers. For group_reporting, we should just add those up, not make * them the mean of everything. */ static void sum_stat(struct io_stat *dst, struct io_stat *src, bool pure_sum) { bool first = dst->samples == 0; if (src->samples == 0) return; if (!pure_sum) { __sum_stat(dst, src, first); return; } if (first) { dst->min_val = src->min_val; dst->max_val = src->max_val; dst->samples = src->samples; dst->mean.u.f = src->mean.u.f; dst->S.u.f = src->S.u.f; } else { dst->min_val += src->min_val; dst->max_val += src->max_val; dst->samples += src->samples; dst->mean.u.f += src->mean.u.f; dst->S.u.f += src->S.u.f; } } void sum_group_stats(struct group_run_stats *dst, struct group_run_stats *src) { int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (dst->max_run[i] < src->max_run[i]) dst->max_run[i] = src->max_run[i]; if (dst->min_run[i] && dst->min_run[i] > src->min_run[i]) dst->min_run[i] = src->min_run[i]; if (dst->max_bw[i] < src->max_bw[i]) dst->max_bw[i] = src->max_bw[i]; if (dst->min_bw[i] && dst->min_bw[i] > src->min_bw[i]) dst->min_bw[i] = src->min_bw[i]; dst->iobytes[i] += src->iobytes[i]; dst->agg[i] += src->agg[i]; } if (!dst->kb_base) dst->kb_base = src->kb_base; if (!dst->unit_base) dst->unit_base = src->unit_base; if (!dst->sig_figs) dst->sig_figs = src->sig_figs; } /* * Free the clat_prio_stat arrays allocated by alloc_clat_prio_stat_ddir(). */ void free_clat_prio_stats(struct thread_stat *ts) { enum fio_ddir ddir; if (!ts) return; for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { sfree(ts->clat_prio[ddir]); ts->clat_prio[ddir] = NULL; ts->nr_clat_prio[ddir] = 0; } } /* * Allocate a clat_prio_stat array. The array has to be allocated/freed using * smalloc/sfree, so that it is accessible by the process/thread summing the * thread_stats. */ int alloc_clat_prio_stat_ddir(struct thread_stat *ts, enum fio_ddir ddir, int nr_prios) { struct clat_prio_stat *clat_prio; int i; clat_prio = scalloc(nr_prios, sizeof(*ts->clat_prio[ddir])); if (!clat_prio) { log_err("fio: failed to allocate ts clat data\n"); return 1; } for (i = 0; i < nr_prios; i++) clat_prio[i].clat_stat.min_val = ULONG_MAX; ts->clat_prio[ddir] = clat_prio; ts->nr_clat_prio[ddir] = nr_prios; return 0; } static int grow_clat_prio_stat(struct thread_stat *dst, enum fio_ddir ddir) { int curr_len = dst->nr_clat_prio[ddir]; void *new_arr; new_arr = scalloc(curr_len + 1, sizeof(*dst->clat_prio[ddir])); if (!new_arr) { log_err("fio: failed to grow clat prio array\n"); return 1; } memcpy(new_arr, dst->clat_prio[ddir], curr_len * sizeof(*dst->clat_prio[ddir])); sfree(dst->clat_prio[ddir]); dst->clat_prio[ddir] = new_arr; dst->clat_prio[ddir][curr_len].clat_stat.min_val = ULONG_MAX; dst->nr_clat_prio[ddir]++; return 0; } static int find_clat_prio_index(struct thread_stat *dst, enum fio_ddir ddir, uint32_t ioprio) { int i, nr_prios = dst->nr_clat_prio[ddir]; for (i = 0; i < nr_prios; i++) { if (dst->clat_prio[ddir][i].ioprio == ioprio) return i; } return -1; } static int alloc_or_get_clat_prio_index(struct thread_stat *dst, enum fio_ddir ddir, uint32_t ioprio, int *idx) { int index = find_clat_prio_index(dst, ddir, ioprio); if (index == -1) { index = dst->nr_clat_prio[ddir]; if (grow_clat_prio_stat(dst, ddir)) return 1; dst->clat_prio[ddir][index].ioprio = ioprio; } *idx = index; return 0; } static int clat_prio_stats_copy(struct thread_stat *dst, struct thread_stat *src, enum fio_ddir dst_ddir, enum fio_ddir src_ddir) { size_t sz = sizeof(*src->clat_prio[src_ddir]) * src->nr_clat_prio[src_ddir]; dst->clat_prio[dst_ddir] = smalloc(sz); if (!dst->clat_prio[dst_ddir]) { log_err("fio: failed to alloc clat prio array\n"); return 1; } memcpy(dst->clat_prio[dst_ddir], src->clat_prio[src_ddir], sz); dst->nr_clat_prio[dst_ddir] = src->nr_clat_prio[src_ddir]; return 0; } static int clat_prio_stat_add_samples(struct thread_stat *dst, enum fio_ddir dst_ddir, uint32_t ioprio, struct io_stat *io_stat, uint64_t *io_u_plat) { int i, dst_index; if (!io_stat->samples) return 0; if (alloc_or_get_clat_prio_index(dst, dst_ddir, ioprio, &dst_index)) return 1; sum_stat(&dst->clat_prio[dst_ddir][dst_index].clat_stat, io_stat, false); for (i = 0; i < FIO_IO_U_PLAT_NR; i++) dst->clat_prio[dst_ddir][dst_index].io_u_plat[i] += io_u_plat[i]; return 0; } static int sum_clat_prio_stats_src_single_prio(struct thread_stat *dst, struct thread_stat *src, enum fio_ddir dst_ddir, enum fio_ddir src_ddir) { struct io_stat *io_stat; uint64_t *io_u_plat; /* * If src ts has no clat_prio_stat array, then all I/Os were submitted * using src->ioprio. Thus, the global samples in src->clat_stat (or * src->lat_stat) can be used as the 'per prio' samples for src->ioprio. */ assert(!src->clat_prio[src_ddir]); assert(src->nr_clat_prio[src_ddir] == 0); if (src->lat_percentiles) { io_u_plat = src->io_u_plat[FIO_LAT][src_ddir]; io_stat = &src->lat_stat[src_ddir]; } else { io_u_plat = src->io_u_plat[FIO_CLAT][src_ddir]; io_stat = &src->clat_stat[src_ddir]; } return clat_prio_stat_add_samples(dst, dst_ddir, src->ioprio, io_stat, io_u_plat); } static int sum_clat_prio_stats_src_multi_prio(struct thread_stat *dst, struct thread_stat *src, enum fio_ddir dst_ddir, enum fio_ddir src_ddir) { int i; /* * If src ts has a clat_prio_stat array, then there are multiple prios * in use (i.e. src ts had cmdprio_percentage or cmdprio_bssplit set). * The samples for the default prio will exist in the src->clat_prio * array, just like the samples for any other prio. */ assert(src->clat_prio[src_ddir]); assert(src->nr_clat_prio[src_ddir]); /* If the dst ts doesn't yet have a clat_prio array, simply memcpy. */ if (!dst->clat_prio[dst_ddir]) return clat_prio_stats_copy(dst, src, dst_ddir, src_ddir); /* The dst ts already has a clat_prio_array, add src stats into it. */ for (i = 0; i < src->nr_clat_prio[src_ddir]; i++) { struct io_stat *io_stat = &src->clat_prio[src_ddir][i].clat_stat; uint64_t *io_u_plat = src->clat_prio[src_ddir][i].io_u_plat; uint32_t ioprio = src->clat_prio[src_ddir][i].ioprio; if (clat_prio_stat_add_samples(dst, dst_ddir, ioprio, io_stat, io_u_plat)) return 1; } return 0; } static int sum_clat_prio_stats(struct thread_stat *dst, struct thread_stat *src, enum fio_ddir dst_ddir, enum fio_ddir src_ddir) { if (dst->disable_prio_stat) return 0; if (!src->clat_prio[src_ddir]) return sum_clat_prio_stats_src_single_prio(dst, src, dst_ddir, src_ddir); return sum_clat_prio_stats_src_multi_prio(dst, src, dst_ddir, src_ddir); } void sum_thread_stats(struct thread_stat *dst, struct thread_stat *src) { int k, l, m; for (l = 0; l < DDIR_RWDIR_CNT; l++) { if (dst->unified_rw_rep != UNIFIED_MIXED) { sum_stat(&dst->clat_stat[l], &src->clat_stat[l], false); sum_stat(&dst->slat_stat[l], &src->slat_stat[l], false); sum_stat(&dst->lat_stat[l], &src->lat_stat[l], false); sum_stat(&dst->bw_stat[l], &src->bw_stat[l], true); sum_stat(&dst->iops_stat[l], &src->iops_stat[l], true); sum_clat_prio_stats(dst, src, l, l); dst->io_bytes[l] += src->io_bytes[l]; if (dst->runtime[l] < src->runtime[l]) dst->runtime[l] = src->runtime[l]; } else { sum_stat(&dst->clat_stat[0], &src->clat_stat[l], false); sum_stat(&dst->slat_stat[0], &src->slat_stat[l], false); sum_stat(&dst->lat_stat[0], &src->lat_stat[l], false); sum_stat(&dst->bw_stat[0], &src->bw_stat[l], true); sum_stat(&dst->iops_stat[0], &src->iops_stat[l], true); sum_clat_prio_stats(dst, src, 0, l); dst->io_bytes[0] += src->io_bytes[l]; if (dst->runtime[0] < src->runtime[l]) dst->runtime[0] = src->runtime[l]; } } sum_stat(&dst->sync_stat, &src->sync_stat, false); dst->usr_time += src->usr_time; dst->sys_time += src->sys_time; dst->ctx += src->ctx; dst->majf += src->majf; dst->minf += src->minf; for (k = 0; k < FIO_IO_U_MAP_NR; k++) { dst->io_u_map[k] += src->io_u_map[k]; dst->io_u_submit[k] += src->io_u_submit[k]; dst->io_u_complete[k] += src->io_u_complete[k]; } for (k = 0; k < FIO_IO_U_LAT_N_NR; k++) dst->io_u_lat_n[k] += src->io_u_lat_n[k]; for (k = 0; k < FIO_IO_U_LAT_U_NR; k++) dst->io_u_lat_u[k] += src->io_u_lat_u[k]; for (k = 0; k < FIO_IO_U_LAT_M_NR; k++) dst->io_u_lat_m[k] += src->io_u_lat_m[k]; for (k = 0; k < DDIR_RWDIR_CNT; k++) { if (dst->unified_rw_rep != UNIFIED_MIXED) { dst->total_io_u[k] += src->total_io_u[k]; dst->short_io_u[k] += src->short_io_u[k]; dst->drop_io_u[k] += src->drop_io_u[k]; } else { dst->total_io_u[0] += src->total_io_u[k]; dst->short_io_u[0] += src->short_io_u[k]; dst->drop_io_u[0] += src->drop_io_u[k]; } } dst->total_io_u[DDIR_SYNC] += src->total_io_u[DDIR_SYNC]; for (k = 0; k < FIO_LAT_CNT; k++) for (l = 0; l < DDIR_RWDIR_CNT; l++) for (m = 0; m < FIO_IO_U_PLAT_NR; m++) if (dst->unified_rw_rep != UNIFIED_MIXED) dst->io_u_plat[k][l][m] += src->io_u_plat[k][l][m]; else dst->io_u_plat[k][0][m] += src->io_u_plat[k][l][m]; for (k = 0; k < FIO_IO_U_PLAT_NR; k++) dst->io_u_sync_plat[k] += src->io_u_sync_plat[k]; dst->total_run_time += src->total_run_time; dst->total_submit += src->total_submit; dst->total_complete += src->total_complete; dst->nr_zone_resets += src->nr_zone_resets; dst->cachehit += src->cachehit; dst->cachemiss += src->cachemiss; } void init_group_run_stat(struct group_run_stats *gs) { int i; memset(gs, 0, sizeof(*gs)); for (i = 0; i < DDIR_RWDIR_CNT; i++) gs->min_bw[i] = gs->min_run[i] = ~0UL; } void init_thread_stat_min_vals(struct thread_stat *ts) { int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { ts->clat_stat[i].min_val = ULONG_MAX; ts->slat_stat[i].min_val = ULONG_MAX; ts->lat_stat[i].min_val = ULONG_MAX; ts->bw_stat[i].min_val = ULONG_MAX; ts->iops_stat[i].min_val = ULONG_MAX; } ts->sync_stat.min_val = ULONG_MAX; } void init_thread_stat(struct thread_stat *ts) { memset(ts, 0, sizeof(*ts)); init_thread_stat_min_vals(ts); ts->groupid = -1; } static void init_per_prio_stats(struct thread_stat *threadstats, int nr_ts) { struct thread_stat *ts; int i, j, last_ts, idx; enum fio_ddir ddir; j = 0; last_ts = -1; idx = 0; /* * Loop through all tds, if a td requires per prio stats, temporarily * store a 1 in ts->disable_prio_stat, and then do an additional * loop at the end where we invert the ts->disable_prio_stat values. */ for_each_td(td) { if (!td->o.stats) continue; if (idx && (!td->o.group_reporting || (td->o.group_reporting && last_ts != td->groupid))) { idx = 0; j++; } last_ts = td->groupid; ts = &threadstats[j]; /* idx == 0 means first td in group, or td is not in a group. */ if (idx == 0) ts->ioprio = td->ioprio; else if (td->ioprio != ts->ioprio) ts->disable_prio_stat = 1; for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { if (td->ts.clat_prio[ddir]) { ts->disable_prio_stat = 1; break; } } idx++; } end_for_each(); /* Loop through all dst threadstats and fixup the values. */ for (i = 0; i < nr_ts; i++) { ts = &threadstats[i]; ts->disable_prio_stat = !ts->disable_prio_stat; } } void __show_run_stats(void) { struct group_run_stats *runstats, *rs; struct thread_stat *threadstats, *ts; int i, j, k, nr_ts, last_ts, idx; bool kb_base_warned = false; bool unit_base_warned = false; struct json_object *root = NULL; struct json_array *array = NULL; struct buf_output output[FIO_OUTPUT_NR]; struct flist_head **opt_lists; runstats = malloc(sizeof(struct group_run_stats) * (groupid + 1)); for (i = 0; i < groupid + 1; i++) init_group_run_stat(&runstats[i]); /* * find out how many threads stats we need. if group reporting isn't * enabled, it's one-per-td. */ nr_ts = 0; last_ts = -1; for_each_td(td) { if (!td->o.group_reporting) { nr_ts++; continue; } if (last_ts == td->groupid) continue; if (!td->o.stats) continue; last_ts = td->groupid; nr_ts++; } end_for_each(); threadstats = malloc(nr_ts * sizeof(struct thread_stat)); opt_lists = malloc(nr_ts * sizeof(struct flist_head *)); for (i = 0; i < nr_ts; i++) { init_thread_stat(&threadstats[i]); opt_lists[i] = NULL; } init_per_prio_stats(threadstats, nr_ts); j = 0; last_ts = -1; idx = 0; for_each_td(td) { if (!td->o.stats) continue; if (idx && (!td->o.group_reporting || (td->o.group_reporting && last_ts != td->groupid))) { idx = 0; j++; } last_ts = td->groupid; ts = &threadstats[j]; ts->clat_percentiles = td->o.clat_percentiles; ts->lat_percentiles = td->o.lat_percentiles; ts->slat_percentiles = td->o.slat_percentiles; ts->percentile_precision = td->o.percentile_precision; memcpy(ts->percentile_list, td->o.percentile_list, sizeof(td->o.percentile_list)); opt_lists[j] = &td->opt_list; idx++; if (ts->groupid == -1) { /* * These are per-group shared already */ snprintf(ts->name, sizeof(ts->name), "%s", td->o.name); if (td->o.description) snprintf(ts->description, sizeof(ts->description), "%s", td->o.description); else memset(ts->description, 0, FIO_JOBDESC_SIZE); /* * If multiple entries in this group, this is * the first member. */ ts->thread_number = td->thread_number; ts->groupid = td->groupid; ts->job_start = td->job_start; /* * first pid in group, not very useful... */ ts->pid = td->pid; ts->kb_base = td->o.kb_base; ts->unit_base = td->o.unit_base; ts->sig_figs = td->o.sig_figs; ts->unified_rw_rep = td->o.unified_rw_rep; } else if (ts->kb_base != td->o.kb_base && !kb_base_warned) { log_info("fio: kb_base differs for jobs in group, using" " %u as the base\n", ts->kb_base); kb_base_warned = true; } else if (ts->unit_base != td->o.unit_base && !unit_base_warned) { log_info("fio: unit_base differs for jobs in group, using" " %u as the base\n", ts->unit_base); unit_base_warned = true; } ts->continue_on_error = td->o.continue_on_error; ts->total_err_count += td->total_err_count; ts->first_error = td->first_error; if (!ts->error) { if (!td->error && td->o.continue_on_error && td->first_error) { ts->error = td->first_error; snprintf(ts->verror, sizeof(ts->verror), "%s", td->verror); } else if (td->error) { ts->error = td->error; snprintf(ts->verror, sizeof(ts->verror), "%s", td->verror); } } ts->latency_depth = td->latency_qd; ts->latency_target = td->o.latency_target; ts->latency_percentile = td->o.latency_percentile; ts->latency_window = td->o.latency_window; ts->nr_block_infos = td->ts.nr_block_infos; for (k = 0; k < ts->nr_block_infos; k++) ts->block_infos[k] = td->ts.block_infos[k]; sum_thread_stats(ts, &td->ts); ts->members++; if (td->o.ss_dur) { ts->ss_state = td->ss.state; ts->ss_dur = td->ss.dur; ts->ss_head = td->ss.head; ts->ss_bw_data = td->ss.bw_data; ts->ss_iops_data = td->ss.iops_data; ts->ss_limit.u.f = td->ss.limit; ts->ss_slope.u.f = td->ss.slope; ts->ss_deviation.u.f = td->ss.deviation; ts->ss_criterion.u.f = td->ss.criterion; } else ts->ss_dur = ts->ss_state = 0; } end_for_each(); for (i = 0; i < nr_ts; i++) { unsigned long long bw; ts = &threadstats[i]; if (ts->groupid == -1) continue; rs = &runstats[ts->groupid]; rs->kb_base = ts->kb_base; rs->unit_base = ts->unit_base; rs->sig_figs = ts->sig_figs; rs->unified_rw_rep |= ts->unified_rw_rep; for (j = 0; j < DDIR_RWDIR_CNT; j++) { if (!ts->runtime[j]) continue; if (ts->runtime[j] < rs->min_run[j] || !rs->min_run[j]) rs->min_run[j] = ts->runtime[j]; if (ts->runtime[j] > rs->max_run[j]) rs->max_run[j] = ts->runtime[j]; bw = 0; if (ts->runtime[j]) bw = ts->io_bytes[j] * 1000 / ts->runtime[j]; if (bw < rs->min_bw[j]) rs->min_bw[j] = bw; if (bw > rs->max_bw[j]) rs->max_bw[j] = bw; rs->iobytes[j] += ts->io_bytes[j]; } } for (i = 0; i < groupid + 1; i++) { enum fio_ddir ddir; rs = &runstats[i]; for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { if (rs->max_run[ddir]) rs->agg[ddir] = (rs->iobytes[ddir] * 1000) / rs->max_run[ddir]; } } for (i = 0; i < FIO_OUTPUT_NR; i++) buf_output_init(&output[i]); /* * don't overwrite last signal output */ if (output_format & FIO_OUTPUT_NORMAL) log_buf(&output[__FIO_OUTPUT_NORMAL], "\n"); if (output_format & FIO_OUTPUT_JSON) { struct thread_data *global; char time_buf[32]; struct timeval now; unsigned long long ms_since_epoch; time_t tv_sec; gettimeofday(&now, NULL); ms_since_epoch = (unsigned long long)(now.tv_sec) * 1000 + (unsigned long long)(now.tv_usec) / 1000; tv_sec = now.tv_sec; os_ctime_r(&tv_sec, time_buf, sizeof(time_buf)); if (time_buf[strlen(time_buf) - 1] == '\n') time_buf[strlen(time_buf) - 1] = '\0'; root = json_create_object(); json_object_add_value_string(root, "fio version", fio_version_string); json_object_add_value_int(root, "timestamp", now.tv_sec); json_object_add_value_int(root, "timestamp_ms", ms_since_epoch); json_object_add_value_string(root, "time", time_buf); global = get_global_options(); json_add_job_opts(root, "global options", &global->opt_list); array = json_create_array(); json_object_add_value_array(root, "jobs", array); } if (is_backend) fio_server_send_job_options(&get_global_options()->opt_list, -1U); for (i = 0; i < nr_ts; i++) { ts = &threadstats[i]; rs = &runstats[ts->groupid]; if (is_backend) { fio_server_send_job_options(opt_lists[i], i); fio_server_send_ts(ts, rs); } else { if (output_format & FIO_OUTPUT_TERSE) show_thread_status_terse(ts, rs, &output[__FIO_OUTPUT_TERSE]); if (output_format & FIO_OUTPUT_JSON) { struct json_object *tmp = show_thread_status_json(ts, rs, opt_lists[i]); json_array_add_value_object(array, tmp); } if (output_format & FIO_OUTPUT_NORMAL) show_thread_status_normal(ts, rs, &output[__FIO_OUTPUT_NORMAL]); } } if (!is_backend && (output_format & FIO_OUTPUT_JSON)) { /* disk util stats, if any */ show_disk_util(1, root, &output[__FIO_OUTPUT_JSON]); show_idle_prof_stats(FIO_OUTPUT_JSON, root, &output[__FIO_OUTPUT_JSON]); json_print_object(root, &output[__FIO_OUTPUT_JSON]); log_buf(&output[__FIO_OUTPUT_JSON], "\n"); json_free_object(root); } for (i = 0; i < groupid + 1; i++) { rs = &runstats[i]; rs->groupid = i; if (is_backend) fio_server_send_gs(rs); else if (output_format & FIO_OUTPUT_NORMAL) show_group_stats(rs, &output[__FIO_OUTPUT_NORMAL]); } if (is_backend) fio_server_send_du(); else if (output_format & FIO_OUTPUT_NORMAL) { show_disk_util(0, NULL, &output[__FIO_OUTPUT_NORMAL]); show_idle_prof_stats(FIO_OUTPUT_NORMAL, NULL, &output[__FIO_OUTPUT_NORMAL]); } for (i = 0; i < FIO_OUTPUT_NR; i++) { struct buf_output *out = &output[i]; log_info_buf(out->buf, out->buflen); buf_output_free(out); } fio_idle_prof_cleanup(); log_info_flush(); free(runstats); /* free arrays allocated by sum_thread_stats(), if any */ for (i = 0; i < nr_ts; i++) { ts = &threadstats[i]; free_clat_prio_stats(ts); } free(threadstats); free(opt_lists); } int __show_running_run_stats(void) { unsigned long long *rt; struct timespec ts; fio_sem_down(stat_sem); rt = malloc(thread_number * sizeof(unsigned long long)); fio_gettime(&ts, NULL); for_each_td(td) { if (td->runstate >= TD_EXITED) continue; td->update_rusage = 1; for_each_rw_ddir(ddir) { td->ts.io_bytes[ddir] = td->io_bytes[ddir]; } td->ts.total_run_time = mtime_since(&td->epoch, &ts); rt[__td_index] = mtime_since(&td->start, &ts); if (td_read(td) && td->ts.io_bytes[DDIR_READ]) td->ts.runtime[DDIR_READ] += rt[__td_index]; if (td_write(td) && td->ts.io_bytes[DDIR_WRITE]) td->ts.runtime[DDIR_WRITE] += rt[__td_index]; if (td_trim(td) && td->ts.io_bytes[DDIR_TRIM]) td->ts.runtime[DDIR_TRIM] += rt[__td_index]; } end_for_each(); for_each_td(td) { if (td->runstate >= TD_EXITED) continue; if (td->rusage_sem) { td->update_rusage = 1; fio_sem_down(td->rusage_sem); } td->update_rusage = 0; } end_for_each(); __show_run_stats(); for_each_td(td) { if (td->runstate >= TD_EXITED) continue; if (td_read(td) && td->ts.io_bytes[DDIR_READ]) td->ts.runtime[DDIR_READ] -= rt[__td_index]; if (td_write(td) && td->ts.io_bytes[DDIR_WRITE]) td->ts.runtime[DDIR_WRITE] -= rt[__td_index]; if (td_trim(td) && td->ts.io_bytes[DDIR_TRIM]) td->ts.runtime[DDIR_TRIM] -= rt[__td_index]; } end_for_each(); free(rt); fio_sem_up(stat_sem); return 0; } static bool status_file_disabled; #define FIO_STATUS_FILE "fio-dump-status" static int check_status_file(void) { struct stat sb; const char *temp_dir; char fio_status_file_path[PATH_MAX]; if (status_file_disabled) return 0; temp_dir = getenv("TMPDIR"); if (temp_dir == NULL) { temp_dir = getenv("TEMP"); if (temp_dir && strlen(temp_dir) >= PATH_MAX) temp_dir = NULL; } if (temp_dir == NULL) temp_dir = "/tmp"; #ifdef __COVERITY__ __coverity_tainted_data_sanitize__(temp_dir); #endif snprintf(fio_status_file_path, sizeof(fio_status_file_path), "%s/%s", temp_dir, FIO_STATUS_FILE); if (stat(fio_status_file_path, &sb)) return 0; if (unlink(fio_status_file_path) < 0) { log_err("fio: failed to unlink %s: %s\n", fio_status_file_path, strerror(errno)); log_err("fio: disabling status file updates\n"); status_file_disabled = true; } return 1; } void check_for_running_stats(void) { if (check_status_file()) { show_running_run_stats(); return; } } static inline void add_stat_sample(struct io_stat *is, unsigned long long data) { double val = data; double delta; if (data > is->max_val) is->max_val = data; if (data < is->min_val) is->min_val = data; delta = val - is->mean.u.f; if (delta) { is->mean.u.f += delta / (is->samples + 1.0); is->S.u.f += delta * (val - is->mean.u.f); } is->samples++; } static inline void add_stat_prio_sample(struct clat_prio_stat *clat_prio, unsigned short clat_prio_index, unsigned long long nsec) { if (clat_prio) add_stat_sample(&clat_prio[clat_prio_index].clat_stat, nsec); } /* * Return a struct io_logs, which is added to the tail of the log * list for 'iolog'. */ static struct io_logs *get_new_log(struct io_log *iolog) { size_t new_samples; struct io_logs *cur_log; /* * Cap the size at MAX_LOG_ENTRIES, so we don't keep doubling * forever */ if (!iolog->cur_log_max) { if (iolog->td) new_samples = iolog->td->o.log_entries; else new_samples = DEF_LOG_ENTRIES; } else { new_samples = iolog->cur_log_max * 2; if (new_samples > MAX_LOG_ENTRIES) new_samples = MAX_LOG_ENTRIES; } cur_log = smalloc(sizeof(*cur_log)); if (cur_log) { INIT_FLIST_HEAD(&cur_log->list); cur_log->log = calloc(new_samples, log_entry_sz(iolog)); if (cur_log->log) { cur_log->nr_samples = 0; cur_log->max_samples = new_samples; flist_add_tail(&cur_log->list, &iolog->io_logs); iolog->cur_log_max = new_samples; return cur_log; } sfree(cur_log); } return NULL; } /* * Add and return a new log chunk, or return current log if big enough */ static struct io_logs *regrow_log(struct io_log *iolog) { struct io_logs *cur_log; int i; if (!iolog || iolog->disabled) goto disable; cur_log = iolog_cur_log(iolog); if (!cur_log) { cur_log = get_new_log(iolog); if (!cur_log) return NULL; } if (cur_log->nr_samples < cur_log->max_samples) return cur_log; /* * No room for a new sample. If we're compressing on the fly, flush * out the current chunk */ if (iolog->log_gz) { if (iolog_cur_flush(iolog, cur_log)) { log_err("fio: failed flushing iolog! Will stop logging.\n"); return NULL; } } /* * Get a new log array, and add to our list */ cur_log = get_new_log(iolog); if (!cur_log) { log_err("fio: failed extending iolog! Will stop logging.\n"); return NULL; } if (!iolog->pending || !iolog->pending->nr_samples) return cur_log; /* * Flush pending items to new log */ for (i = 0; i < iolog->pending->nr_samples; i++) { struct io_sample *src, *dst; src = get_sample(iolog, iolog->pending, i); dst = get_sample(iolog, cur_log, i); memcpy(dst, src, log_entry_sz(iolog)); } cur_log->nr_samples = iolog->pending->nr_samples; iolog->pending->nr_samples = 0; return cur_log; disable: if (iolog) iolog->disabled = true; return NULL; } void regrow_logs(struct thread_data *td) { regrow_log(td->slat_log); regrow_log(td->clat_log); regrow_log(td->clat_hist_log); regrow_log(td->lat_log); regrow_log(td->bw_log); regrow_log(td->iops_log); td->flags &= ~TD_F_REGROW_LOGS; } void regrow_agg_logs(void) { enum fio_ddir ddir; for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) regrow_log(agg_io_log[ddir]); } static struct io_logs *get_cur_log(struct io_log *iolog) { struct io_logs *cur_log; cur_log = iolog_cur_log(iolog); if (!cur_log) { cur_log = get_new_log(iolog); if (!cur_log) return NULL; } if (cur_log->nr_samples < cur_log->max_samples) return cur_log; /* * Out of space. If we're in IO offload mode, or we're not doing * per unit logging (hence logging happens outside of the IO thread * as well), add a new log chunk inline. If we're doing inline * submissions, flag 'td' as needing a log regrow and we'll take * care of it on the submission side. */ if ((iolog->td && iolog->td->o.io_submit_mode == IO_MODE_OFFLOAD) || !per_unit_log(iolog)) return regrow_log(iolog); if (iolog->td) iolog->td->flags |= TD_F_REGROW_LOGS; if (iolog->pending) assert(iolog->pending->nr_samples < iolog->pending->max_samples); return iolog->pending; } static void __add_log_sample(struct io_log *iolog, unsigned long t, struct log_sample *sample) { struct io_logs *cur_log; if (iolog->disabled) return; if (flist_empty(&iolog->io_logs)) iolog->avg_last[sample->ddir] = t; cur_log = get_cur_log(iolog); if (cur_log) { struct io_sample *s; s = get_sample(iolog, cur_log, cur_log->nr_samples); s->data = sample->data; s->time = t; if (iolog->td && iolog->td->o.log_alternate_epoch) s->time += iolog->td->alternate_epoch; io_sample_set_ddir(iolog, s, sample->ddir); s->bs = sample->bs; s->priority = sample->priority; if (iolog->log_offset) s->aux[IOS_AUX_OFFSET_INDEX] = sample->offset; if (iolog->log_issue_time) s->aux[IOS_AUX_ISSUE_TIME_INDEX] = sample->issue_time; cur_log->nr_samples++; return; } iolog->disabled = true; } static inline void reset_io_stat(struct io_stat *ios) { ios->min_val = -1ULL; ios->max_val = ios->samples = 0; ios->mean.u.f = ios->S.u.f = 0; } static inline void reset_io_u_plat(uint64_t *io_u_plat) { int i; for (i = 0; i < FIO_IO_U_PLAT_NR; i++) io_u_plat[i] = 0; } static inline void reset_clat_prio_stats(struct thread_stat *ts) { enum fio_ddir ddir; int i; for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { if (!ts->clat_prio[ddir]) continue; for (i = 0; i < ts->nr_clat_prio[ddir]; i++) { reset_io_stat(&ts->clat_prio[ddir][i].clat_stat); reset_io_u_plat(ts->clat_prio[ddir][i].io_u_plat); } } } void reset_io_stats(struct thread_data *td) { struct thread_stat *ts = &td->ts; int i, j; for (i = 0; i < DDIR_RWDIR_CNT; i++) { reset_io_stat(&ts->clat_stat[i]); reset_io_stat(&ts->slat_stat[i]); reset_io_stat(&ts->lat_stat[i]); reset_io_stat(&ts->bw_stat[i]); reset_io_stat(&ts->iops_stat[i]); ts->io_bytes[i] = 0; ts->runtime[i] = 0; ts->total_io_u[i] = 0; ts->short_io_u[i] = 0; ts->drop_io_u[i] = 0; } for (i = 0; i < FIO_LAT_CNT; i++) for (j = 0; j < DDIR_RWDIR_CNT; j++) reset_io_u_plat(ts->io_u_plat[i][j]); reset_clat_prio_stats(ts); ts->total_io_u[DDIR_SYNC] = 0; reset_io_u_plat(ts->io_u_sync_plat); for (i = 0; i < FIO_IO_U_MAP_NR; i++) { ts->io_u_map[i] = 0; ts->io_u_submit[i] = 0; ts->io_u_complete[i] = 0; } for (i = 0; i < FIO_IO_U_LAT_N_NR; i++) ts->io_u_lat_n[i] = 0; for (i = 0; i < FIO_IO_U_LAT_U_NR; i++) ts->io_u_lat_u[i] = 0; for (i = 0; i < FIO_IO_U_LAT_M_NR; i++) ts->io_u_lat_m[i] = 0; ts->total_submit = 0; ts->total_complete = 0; ts->nr_zone_resets = 0; ts->cachehit = ts->cachemiss = 0; } static void __add_stat_to_log(struct io_log *iolog, enum fio_ddir ddir, unsigned long elapsed, int log_max) { /* * Note an entry in the log. Use the mean from the logged samples, * making sure to properly round up. Only write a log entry if we * had actual samples done. */ if (iolog->avg_window[ddir].samples) { struct log_sample sample = { {{ 0, 0 }}, ddir, 0, 0, 0, 0 }; union io_sample_data *d = &sample.data; if (log_max == IO_LOG_SAMPLE_AVG) { d->val.val0 = iolog->avg_window[ddir].mean.u.f + 0.50; d->val.val1 = 0; } else if (log_max == IO_LOG_SAMPLE_MAX) { d->val.val0 = iolog->avg_window[ddir].max_val; d->val.val1 = 0; } else { d->val.val0 = iolog->avg_window[ddir].mean.u.f + 0.50; d->val.val1 = iolog->avg_window[ddir].max_val; } __add_log_sample(iolog, elapsed, &sample); } reset_io_stat(&iolog->avg_window[ddir]); } static void _add_stat_to_log(struct io_log *iolog, unsigned long elapsed, int log_max) { enum fio_ddir ddir; for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) __add_stat_to_log(iolog, ddir, elapsed, log_max); } static unsigned long add_log_sample(struct thread_data *td, struct io_log *iolog, struct log_sample *sample) { unsigned long elapsed, this_window; enum fio_ddir ddir = sample->ddir; if (!ddir_rw(ddir)) return 0; elapsed = mtime_since_now(&td->epoch); /* * If no time averaging, just add the log sample. */ if (!iolog->avg_msec) { __add_log_sample(iolog, elapsed, sample); return 0; } /* * Add the sample. If the time period has passed, then * add that entry to the log and clear. */ add_stat_sample(&iolog->avg_window[ddir], sample->data.val.val0); /* * If period hasn't passed, adding the above sample is all we * need to do. */ this_window = elapsed - iolog->avg_last[ddir]; if (elapsed < iolog->avg_last[ddir]) return iolog->avg_last[ddir] - elapsed; else if (this_window < iolog->avg_msec) { unsigned long diff = iolog->avg_msec - this_window; if (inline_log(iolog) || diff > LOG_MSEC_SLACK) return diff; } __add_stat_to_log(iolog, ddir, elapsed, td->o.log_max); iolog->avg_last[ddir] = elapsed - (elapsed % iolog->avg_msec); return iolog->avg_msec; } void finalize_logs(struct thread_data *td, bool unit_logs) { unsigned long elapsed; elapsed = mtime_since_now(&td->epoch); if (td->clat_log && unit_logs) _add_stat_to_log(td->clat_log, elapsed, td->o.log_max); if (td->slat_log && unit_logs) _add_stat_to_log(td->slat_log, elapsed, td->o.log_max); if (td->lat_log && unit_logs) _add_stat_to_log(td->lat_log, elapsed, td->o.log_max); if (td->bw_log && (unit_logs == per_unit_log(td->bw_log))) _add_stat_to_log(td->bw_log, elapsed, td->o.log_max); if (td->iops_log && (unit_logs == per_unit_log(td->iops_log))) _add_stat_to_log(td->iops_log, elapsed, td->o.log_max); } void add_agg_sample(union io_sample_data data, enum fio_ddir ddir, unsigned long long bs) { struct io_log *iolog; struct log_sample sample = { data, ddir, bs, 0, 0, 0 }; if (!ddir_rw(ddir)) return; iolog = agg_io_log[ddir]; __add_log_sample(iolog, mtime_since_genesis(), &sample); } void add_sync_clat_sample(struct thread_stat *ts, unsigned long long nsec) { unsigned int idx = plat_val_to_idx(nsec); assert(idx < FIO_IO_U_PLAT_NR); ts->io_u_sync_plat[idx]++; add_stat_sample(&ts->sync_stat, nsec); } static inline void add_lat_percentile_sample(struct thread_stat *ts, unsigned long long nsec, enum fio_ddir ddir, enum fio_lat lat) { unsigned int idx = plat_val_to_idx(nsec); assert(idx < FIO_IO_U_PLAT_NR); ts->io_u_plat[lat][ddir][idx]++; } static inline void add_lat_percentile_prio_sample(struct thread_stat *ts, unsigned long long nsec, enum fio_ddir ddir, unsigned short clat_prio_index) { unsigned int idx = plat_val_to_idx(nsec); if (ts->clat_prio[ddir]) ts->clat_prio[ddir][clat_prio_index].io_u_plat[idx]++; } void add_clat_sample(struct thread_data *td, enum fio_ddir ddir, unsigned long long nsec, unsigned long long bs, struct io_u *io_u) { const bool needs_lock = td_async_processing(td); unsigned long elapsed, this_window; struct thread_stat *ts = &td->ts; struct io_log *iolog = td->clat_hist_log; uint64_t offset = 0; unsigned int ioprio = 0; unsigned short clat_prio_index = 0; if (needs_lock) __td_io_u_lock(td); if (io_u) { offset = io_u->offset; ioprio = io_u->ioprio; clat_prio_index = io_u->clat_prio_index; } add_stat_sample(&ts->clat_stat[ddir], nsec); /* * When lat_percentiles=1 (default 0), the reported per priority * percentiles and stats are used for describing total latency values, * even though the variable names themselves start with clat_. * * Because of the above definition, add a prio stat sample only when * lat_percentiles=0. add_lat_sample() will add the prio stat sample * when lat_percentiles=1. */ if (!ts->lat_percentiles) add_stat_prio_sample(ts->clat_prio[ddir], clat_prio_index, nsec); if (td->clat_log) { struct log_sample sample = { sample_val(nsec), ddir, bs, offset, ioprio, 0 }; if (io_u) sample.issue_time = ntime_since(&td->epoch, &io_u->issue_time); add_log_sample(td, td->clat_log, &sample); } if (ts->clat_percentiles) { /* * Because of the above definition, add a prio lat percentile * sample only when lat_percentiles=0. add_lat_sample() will add * the prio lat percentile sample when lat_percentiles=1. */ add_lat_percentile_sample(ts, nsec, ddir, FIO_CLAT); if (!ts->lat_percentiles) add_lat_percentile_prio_sample(ts, nsec, ddir, clat_prio_index); } if (iolog && iolog->hist_msec) { struct io_hist *hw = &iolog->hist_window[ddir]; hw->samples++; elapsed = mtime_since_now(&td->epoch); if (!hw->hist_last) hw->hist_last = elapsed; this_window = elapsed - hw->hist_last; if (this_window >= iolog->hist_msec) { uint64_t *io_u_plat; struct io_u_plat_entry *dst; struct log_sample sample = { {{ 0, 0 }}, ddir, bs, offset, ioprio, 0 }; /* * Make a byte-for-byte copy of the latency histogram * stored in td->ts.io_u_plat[ddir], recording it in a * log sample. Note that the matching call to free() is * located in iolog.c after printing this sample to the * log file. */ io_u_plat = (uint64_t *) td->ts.io_u_plat[FIO_CLAT][ddir]; dst = malloc(sizeof(struct io_u_plat_entry)); memcpy(&(dst->io_u_plat), io_u_plat, FIO_IO_U_PLAT_NR * sizeof(uint64_t)); flist_add(&dst->list, &hw->list); sample.data = sample_plat(dst); __add_log_sample(iolog, elapsed, &sample); /* * Update the last time we recorded as being now, minus * any drift in time we encountered before actually * making the record. */ hw->hist_last = elapsed - (this_window - iolog->hist_msec); hw->samples = 0; } } if (needs_lock) __td_io_u_unlock(td); } void add_slat_sample(struct thread_data *td, struct io_u *io_u) { const bool needs_lock = td_async_processing(td); struct thread_stat *ts = &td->ts; enum fio_ddir ddir; unsigned long long nsec; ddir = io_u->ddir; if (!ddir_rw(ddir)) return; if (needs_lock) __td_io_u_lock(td); nsec = ntime_since(&io_u->start_time, &io_u->issue_time); add_stat_sample(&ts->slat_stat[ddir], nsec); if (td->slat_log) { struct log_sample sample = { sample_val(nsec), ddir, io_u->xfer_buflen, io_u->offset, io_u->ioprio, ntime_since(&td->epoch, &io_u->issue_time) }; add_log_sample(td, td->slat_log, &sample); } if (ts->slat_percentiles) add_lat_percentile_sample(ts, nsec, ddir, FIO_SLAT); if (needs_lock) __td_io_u_unlock(td); } void add_lat_sample(struct thread_data *td, enum fio_ddir ddir, unsigned long long nsec, unsigned long long bs, struct io_u * io_u) { const bool needs_lock = td_async_processing(td); struct thread_stat *ts = &td->ts; if (!ddir_rw(ddir)) return; if (needs_lock) __td_io_u_lock(td); add_stat_sample(&ts->lat_stat[ddir], nsec); if (td->lat_log) { struct log_sample sample = { sample_val(nsec), ddir, bs, io_u->offset, io_u->ioprio, 0 }; add_log_sample(td, td->lat_log, &sample); } /* * When lat_percentiles=1 (default 0), the reported per priority * percentiles and stats are used for describing total latency values, * even though the variable names themselves start with clat_. * * Because of the above definition, add a prio stat and prio lat * percentile sample only when lat_percentiles=1. add_clat_sample() will * add the prio stat and prio lat percentile sample when * lat_percentiles=0. */ if (ts->lat_percentiles) { add_lat_percentile_sample(ts, nsec, ddir, FIO_LAT); add_lat_percentile_prio_sample(ts, nsec, ddir, io_u->clat_prio_index); add_stat_prio_sample(ts->clat_prio[ddir], io_u->clat_prio_index, nsec); } if (needs_lock) __td_io_u_unlock(td); } void add_bw_sample(struct thread_data *td, struct io_u *io_u, unsigned int bytes, unsigned long long spent) { const bool needs_lock = td_async_processing(td); struct thread_stat *ts = &td->ts; unsigned long rate; if (spent) rate = (unsigned long) (bytes * 1000000ULL / spent); else rate = 0; if (needs_lock) __td_io_u_lock(td); add_stat_sample(&ts->bw_stat[io_u->ddir], rate); if (td->bw_log) { struct log_sample sample = { sample_val(rate), io_u->ddir, bytes, io_u->offset, io_u->ioprio, 0 }; add_log_sample(td, td->bw_log, &sample); } td->stat_io_bytes[io_u->ddir] = td->this_io_bytes[io_u->ddir]; if (needs_lock) __td_io_u_unlock(td); } static int __add_samples(struct thread_data *td, struct timespec *parent_tv, struct timespec *t, unsigned int avg_time, uint64_t *this_io_bytes, uint64_t *stat_io_bytes, struct io_stat *stat, struct io_log *log, bool is_kb) { const bool needs_lock = td_async_processing(td); unsigned long spent, rate; enum fio_ddir ddir; unsigned long next, next_log; next_log = avg_time; spent = mtime_since(parent_tv, t); if (spent < avg_time && avg_time - spent > LOG_MSEC_SLACK) return avg_time - spent; if (needs_lock) __td_io_u_lock(td); /* * Compute both read and write rates for the interval. */ for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { uint64_t delta; delta = this_io_bytes[ddir] - stat_io_bytes[ddir]; if (!delta) continue; /* No entries for interval */ if (spent) { if (is_kb) rate = delta * 1000 / spent / 1024; /* KiB/s */ else rate = (delta * 1000) / spent; } else rate = 0; add_stat_sample(&stat[ddir], rate); if (log) { struct log_sample sample = { sample_val(rate), ddir, 0, 0, 0, 0 }; if (td->o.min_bs[ddir] == td->o.max_bs[ddir]) sample.bs = td->o.min_bs[ddir]; next = add_log_sample(td, log, &sample); next_log = min(next_log, next); } stat_io_bytes[ddir] = this_io_bytes[ddir]; } *parent_tv = *t; if (needs_lock) __td_io_u_unlock(td); if (spent <= avg_time) next = avg_time; else next = avg_time - (1 + spent - avg_time); return min(next, next_log); } static int add_bw_samples(struct thread_data *td, struct timespec *t) { return __add_samples(td, &td->bw_sample_time, t, td->o.bw_avg_time, td->this_io_bytes, td->stat_io_bytes, td->ts.bw_stat, td->bw_log, true); } void add_iops_sample(struct thread_data *td, struct io_u *io_u, unsigned int bytes) { const bool needs_lock = td_async_processing(td); struct thread_stat *ts = &td->ts; if (needs_lock) __td_io_u_lock(td); add_stat_sample(&ts->iops_stat[io_u->ddir], 1); if (td->iops_log) { struct log_sample sample = { sample_val(1), io_u->ddir, bytes, io_u->offset, io_u->ioprio, 0 }; add_log_sample(td, td->iops_log, &sample); } td->stat_io_blocks[io_u->ddir] = td->this_io_blocks[io_u->ddir]; if (needs_lock) __td_io_u_unlock(td); } static int add_iops_samples(struct thread_data *td, struct timespec *t) { return __add_samples(td, &td->iops_sample_time, t, td->o.iops_avg_time, td->this_io_blocks, td->stat_io_blocks, td->ts.iops_stat, td->iops_log, false); } static bool td_in_logging_state(struct thread_data *td) { if (in_ramp_time(td)) return false; switch(td->runstate) { case TD_RUNNING: case TD_VERIFYING: case TD_FINISHING: case TD_EXITED: return true; default: return false; } } /* * Returns msecs to next event */ int calc_log_samples(void) { unsigned int next = ~0U, tmp = 0, next_mod = 0, log_avg_msec_min = -1U; struct timespec now; long elapsed_time = 0; for_each_td(td) { fio_gettime(&now, NULL); elapsed_time = mtime_since(&td->epoch, &now); if (!td->o.stats) continue; if (!td_in_logging_state(td)) { next = min(td->o.iops_avg_time, td->o.bw_avg_time); continue; } if (!td->bw_log || (td->bw_log && !per_unit_log(td->bw_log))) { tmp = add_bw_samples(td, &now); if (td->bw_log) log_avg_msec_min = min(log_avg_msec_min, (unsigned int)td->bw_log->avg_msec); } if (!td->iops_log || (td->iops_log && !per_unit_log(td->iops_log))) { tmp = add_iops_samples(td, &now); if (td->iops_log) log_avg_msec_min = min(log_avg_msec_min, (unsigned int)td->iops_log->avg_msec); } if (tmp < next) next = tmp; } end_for_each(); /* if log_avg_msec_min has not been changed, set it to 0 */ if (log_avg_msec_min == -1U) log_avg_msec_min = 0; if (log_avg_msec_min == 0) next_mod = elapsed_time; else next_mod = elapsed_time % log_avg_msec_min; /* correction to keep the time on the log avg msec boundary */ next = min(next, (log_avg_msec_min - next_mod)); return next == ~0U ? 0 : next; } void stat_init(void) { stat_sem = fio_sem_init(FIO_SEM_UNLOCKED); } void stat_exit(void) { /* * When we have the mutex, we know out-of-band access to it * have ended. */ fio_sem_down(stat_sem); fio_sem_remove(stat_sem); } /* * Called from signal handler. Wake up status thread. */ void show_running_run_stats(void) { helper_do_stat(); } uint32_t *io_u_block_info(struct thread_data *td, struct io_u *io_u) { /* Ignore io_u's which span multiple blocks--they will just get * inaccurate counts. */ int idx = (io_u->offset - io_u->file->file_offset) / td->o.bs[DDIR_TRIM]; uint32_t *info = &td->ts.block_infos[idx]; assert(idx < td->ts.nr_block_infos); return info; } fio-3.39/stat.h000066400000000000000000000320051476262051600133620ustar00rootroot00000000000000#ifndef FIO_STAT_H #define FIO_STAT_H #include "iolog.h" #include "lib/output_buffer.h" #include "diskutil.h" #include "json.h" struct group_run_stats { uint64_t max_run[DDIR_RWDIR_CNT], min_run[DDIR_RWDIR_CNT]; uint64_t max_bw[DDIR_RWDIR_CNT], min_bw[DDIR_RWDIR_CNT]; uint64_t iobytes[DDIR_RWDIR_CNT]; uint64_t agg[DDIR_RWDIR_CNT]; uint32_t kb_base; uint32_t unit_base; uint32_t sig_figs; uint32_t groupid; uint32_t unified_rw_rep; } __attribute__((packed)); /* * How many depth levels to log */ #define FIO_IO_U_MAP_NR 7 #define FIO_IO_U_LAT_N_NR 10 #define FIO_IO_U_LAT_U_NR 10 #define FIO_IO_U_LAT_M_NR 12 /* * Constants for clat percentiles */ #define FIO_IO_U_PLAT_BITS 6 #define FIO_IO_U_PLAT_VAL (1 << FIO_IO_U_PLAT_BITS) #define FIO_IO_U_PLAT_GROUP_NR 29 #define FIO_IO_U_PLAT_NR (FIO_IO_U_PLAT_GROUP_NR * FIO_IO_U_PLAT_VAL) #define FIO_IO_U_LIST_MAX_LEN 20 /* The size of the default and user-specified list of percentiles */ /* * Aggregate latency samples for reporting percentile(s). * * EXECUTIVE SUMMARY * * FIO_IO_U_PLAT_BITS determines the maximum statistical error on the * value of resulting percentiles. The error will be approximately * 1/2^(FIO_IO_U_PLAT_BITS+1) of the value. * * FIO_IO_U_PLAT_GROUP_NR and FIO_IO_U_PLAT_BITS determine the maximum * range being tracked for latency samples. The maximum value tracked * accurately will be 2^(GROUP_NR + PLAT_BITS - 1) nanoseconds. * * FIO_IO_U_PLAT_GROUP_NR and FIO_IO_U_PLAT_BITS determine the memory * requirement of storing those aggregate counts. The memory used will * be (FIO_IO_U_PLAT_GROUP_NR * 2^FIO_IO_U_PLAT_BITS) * sizeof(uint64_t) * bytes. * * FIO_IO_U_PLAT_NR is the total number of buckets. * * DETAILS * * Suppose the lat varies from 0 to 999 (usec), the straightforward * method is to keep an array of (999 + 1) buckets, in which a counter * keeps the count of samples which fall in the bucket, e.g., * {[0],[1],...,[999]}. However this consumes a huge amount of space, * and can be avoided if an approximation is acceptable. * * One such method is to let the range of the bucket to be greater * than one. This method has low accuracy when the value is small. For * example, let the buckets be {[0,99],[100,199],...,[900,999]}, and * the represented value of each bucket be the mean of the range. Then * a value 0 has a round-off error of 49.5. To improve on this, we * use buckets with non-uniform ranges, while bounding the error of * each bucket within a ratio of the sample value. A simple example * would be when error_bound = 0.005, buckets are { * {[0],[1],...,[99]}, {[100,101],[102,103],...,[198,199]},.., * {[900,909],[910,919]...} }. The total range is partitioned into * groups with different ranges, then buckets with uniform ranges. An * upper bound of the error is (range_of_bucket/2)/value_of_bucket * * For better efficiency, we implement this using base two. We group * samples by their Most Significant Bit (MSB), extract the next M bit * of them as an index within the group, and discard the rest of the * bits. * * E.g., assume a sample 'x' whose MSB is bit n (starting from bit 0), * and use M bit for indexing * * | n | M bits | bit (n-M-1) ... bit 0 | * * Because x is at least 2^n, and bit 0 to bit (n-M-1) is at most * (2^(n-M) - 1), discarding bit 0 to (n-M-1) makes the round-off * error * * 2^(n-M)-1 2^(n-M) 1 * e <= --------- <= ------- = --- * 2^n 2^n 2^M * * Furthermore, we use "mean" of the range to represent the bucket, * the error e can be lowered by half to 1 / 2^(M+1). By using M bits * as the index, each group must contains 2^M buckets. * * E.g. Let M (FIO_IO_U_PLAT_BITS) be 6 * Error bound is 1/2^(6+1) = 0.0078125 (< 1%) * * Group MSB #discarded range of #buckets * error_bits value * ---------------------------------------------------------------- * 0* 0~5 0 [0,63] 64 * 1* 6 0 [64,127] 64 * 2 7 1 [128,255] 64 * 3 8 2 [256,511] 64 * 4 9 3 [512,1023] 64 * ... ... ... [...,...] ... * 28 33 27 [8589934592,+inf]** 64 * * * Special cases: when n < (M-1) or when n == (M-1), in both cases, * the value cannot be rounded off. Use all bits of the sample as * index. * * ** If a sample's MSB is greater than 33, it will be counted as 33. */ /* * Trim cycle count measurements */ #define MAX_NR_BLOCK_INFOS 8192 #define BLOCK_INFO_STATE_SHIFT 29 #define BLOCK_INFO_TRIMS(block_info) \ ((block_info) & ((1 << BLOCK_INFO_STATE_SHIFT) - 1)) #define BLOCK_INFO_STATE(block_info) \ ((block_info) >> BLOCK_INFO_STATE_SHIFT) #define BLOCK_INFO(state, trim_cycles) \ ((trim_cycles) | ((unsigned int) (state) << BLOCK_INFO_STATE_SHIFT)) #define BLOCK_INFO_SET_STATE(block_info, state) \ BLOCK_INFO(state, BLOCK_INFO_TRIMS(block_info)) enum block_info_state { BLOCK_STATE_UNINIT, BLOCK_STATE_TRIMMED, BLOCK_STATE_WRITTEN, BLOCK_STATE_TRIM_FAILURE, BLOCK_STATE_WRITE_FAILURE, BLOCK_STATE_COUNT, }; #define FIO_JOBNAME_SIZE 128 #define FIO_JOBDESC_SIZE 256 #define FIO_VERROR_SIZE 128 #define UNIFIED_SPLIT 0 #define UNIFIED_MIXED 1 #define UNIFIED_BOTH 2 enum fio_lat { FIO_SLAT = 0, FIO_CLAT, FIO_LAT, FIO_LAT_CNT = 3, }; struct clat_prio_stat { uint64_t io_u_plat[FIO_IO_U_PLAT_NR]; struct io_stat clat_stat; uint32_t ioprio; }; struct thread_stat { char name[FIO_JOBNAME_SIZE]; char verror[FIO_VERROR_SIZE]; uint32_t error; uint32_t thread_number; uint32_t groupid; uint64_t job_start; /* Time job was started, as clock_gettime(job_start_clock_id) */ uint32_t pid; char description[FIO_JOBDESC_SIZE]; uint32_t members; uint32_t unified_rw_rep; uint32_t disable_prio_stat; /* * bandwidth and latency stats */ struct io_stat sync_stat __attribute__((aligned(8)));/* fsync etc stats */ struct io_stat clat_stat[DDIR_RWDIR_CNT]; /* completion latency */ struct io_stat slat_stat[DDIR_RWDIR_CNT]; /* submission latency */ struct io_stat lat_stat[DDIR_RWDIR_CNT]; /* total latency */ struct io_stat bw_stat[DDIR_RWDIR_CNT]; /* bandwidth stats */ struct io_stat iops_stat[DDIR_RWDIR_CNT]; /* IOPS stats */ /* * fio system usage accounting */ uint64_t usr_time; uint64_t sys_time; uint64_t ctx; uint64_t minf, majf; /* * IO depth and latency stats */ uint32_t clat_percentiles; uint32_t lat_percentiles; uint32_t slat_percentiles; uint32_t pad; uint64_t percentile_precision; fio_fp64_t percentile_list[FIO_IO_U_LIST_MAX_LEN]; uint64_t io_u_map[FIO_IO_U_MAP_NR]; uint64_t io_u_submit[FIO_IO_U_MAP_NR]; uint64_t io_u_complete[FIO_IO_U_MAP_NR]; uint64_t io_u_lat_n[FIO_IO_U_LAT_N_NR]; uint64_t io_u_lat_u[FIO_IO_U_LAT_U_NR]; uint64_t io_u_lat_m[FIO_IO_U_LAT_M_NR]; uint64_t io_u_plat[FIO_LAT_CNT][DDIR_RWDIR_CNT][FIO_IO_U_PLAT_NR]; uint64_t io_u_sync_plat[FIO_IO_U_PLAT_NR]; uint64_t total_io_u[DDIR_RWDIR_SYNC_CNT]; uint64_t short_io_u[DDIR_RWDIR_CNT]; uint64_t drop_io_u[DDIR_RWDIR_CNT]; uint64_t total_submit; uint64_t total_complete; uint64_t io_bytes[DDIR_RWDIR_CNT]; uint64_t runtime[DDIR_RWDIR_CNT]; uint64_t total_run_time; /* * IO Error related stats */ union { uint16_t continue_on_error; uint32_t pad2; }; uint32_t first_error; uint64_t total_err_count; /* ZBD stats */ uint64_t nr_zone_resets; uint64_t nr_block_infos; uint32_t block_infos[MAX_NR_BLOCK_INFOS]; uint32_t kb_base; uint32_t unit_base; uint32_t latency_depth; uint32_t pad3; uint64_t latency_target; fio_fp64_t latency_percentile; uint64_t latency_window; uint32_t sig_figs; uint64_t ss_dur; uint32_t ss_state; uint32_t ss_head; fio_fp64_t ss_limit; fio_fp64_t ss_slope; fio_fp64_t ss_deviation; fio_fp64_t ss_criterion; /* A mirror of td->ioprio. */ uint32_t ioprio; union { uint64_t *ss_iops_data; /* * For FIO_NET_CMD_TS, the pointed to data will temporarily * be stored at this offset from the start of the payload. */ uint64_t ss_iops_data_offset; uint64_t pad4; }; union { uint64_t *ss_bw_data; /* * For FIO_NET_CMD_TS, the pointed to data will temporarily * be stored at this offset from the start of the payload. */ uint64_t ss_bw_data_offset; uint64_t pad5; }; union { struct clat_prio_stat *clat_prio[DDIR_RWDIR_CNT]; /* * For FIO_NET_CMD_TS, the pointed to data will temporarily * be stored at this offset from the start of the payload. */ uint64_t clat_prio_offset[DDIR_RWDIR_CNT]; uint64_t pad6; }; uint32_t nr_clat_prio[DDIR_RWDIR_CNT]; uint64_t cachehit; uint64_t cachemiss; } __attribute__((packed)); #define JOBS_ETA { \ uint32_t nr_running; \ uint32_t nr_ramp; \ \ uint32_t nr_pending; \ uint32_t nr_setting_up; \ \ uint64_t m_rate[DDIR_RWDIR_CNT]; \ uint64_t t_rate[DDIR_RWDIR_CNT]; \ uint64_t rate[DDIR_RWDIR_CNT]; \ uint32_t m_iops[DDIR_RWDIR_CNT]; \ uint32_t t_iops[DDIR_RWDIR_CNT]; \ uint32_t iops[DDIR_RWDIR_CNT]; \ uint32_t pad; \ uint64_t elapsed_sec; \ uint64_t eta_sec; \ uint32_t is_pow2; \ uint32_t unit_base; \ \ uint32_t sig_figs; \ \ uint32_t files_open; \ \ /* \ * Network 'copy' of run_str[] \ */ \ uint32_t nr_threads; \ uint32_t pad2; \ uint8_t run_str[]; \ } struct jobs_eta JOBS_ETA; struct jobs_eta_packed JOBS_ETA __attribute__((packed)); struct io_u_plat_entry { struct flist_head list; uint64_t io_u_plat[FIO_IO_U_PLAT_NR]; }; extern struct fio_sem *stat_sem; extern struct jobs_eta *get_jobs_eta(bool force, size_t *size); extern void stat_init(void); extern void stat_exit(void); extern struct json_object * show_thread_status(struct thread_stat *ts, struct group_run_stats *rs, struct flist_head *, struct buf_output *); extern void show_group_stats(struct group_run_stats *rs, struct buf_output *); extern void display_thread_status(struct jobs_eta *je); extern void __show_run_stats(void); extern int __show_running_run_stats(void); extern void show_running_run_stats(void); extern void check_for_running_stats(void); extern void sum_thread_stats(struct thread_stat *dst, struct thread_stat *src); extern void sum_group_stats(struct group_run_stats *dst, struct group_run_stats *src); extern void init_thread_stat_min_vals(struct thread_stat *ts); extern void init_thread_stat(struct thread_stat *ts); extern void init_group_run_stat(struct group_run_stats *gs); extern void eta_to_str(char *str, unsigned long eta_sec); extern bool calc_lat(struct io_stat *is, unsigned long long *min, unsigned long long *max, double *mean, double *dev); extern unsigned int calc_clat_percentiles(uint64_t *io_u_plat, unsigned long long nr, fio_fp64_t *plist, unsigned long long **output, unsigned long long *maxv, unsigned long long *minv); extern void stat_calc_lat_n(struct thread_stat *ts, double *io_u_lat); extern void stat_calc_lat_m(struct thread_stat *ts, double *io_u_lat); extern void stat_calc_lat_u(struct thread_stat *ts, double *io_u_lat); extern void stat_calc_dist(uint64_t *map, unsigned long total, double *io_u_dist); extern void reset_io_stats(struct thread_data *); extern void update_rusage_stat(struct thread_data *); extern void clear_rusage_stat(struct thread_data *); extern void add_lat_sample(struct thread_data *, enum fio_ddir, unsigned long long, unsigned long long, struct io_u *); extern void add_clat_sample(struct thread_data *, enum fio_ddir, unsigned long long, unsigned long long, struct io_u *); extern void add_slat_sample(struct thread_data *, struct io_u *); extern void add_agg_sample(union io_sample_data, enum fio_ddir, unsigned long long); extern void add_iops_sample(struct thread_data *, struct io_u *, unsigned int); extern void add_bw_sample(struct thread_data *, struct io_u *, unsigned int, unsigned long long); extern void add_sync_clat_sample(struct thread_stat *ts, unsigned long long nsec); extern int calc_log_samples(void); extern void free_clat_prio_stats(struct thread_stat *); extern int alloc_clat_prio_stat_ddir(struct thread_stat *, enum fio_ddir, int); extern void print_disk_util(struct disk_util_stat *, struct disk_util_agg *, int terse, struct buf_output *); extern void json_array_add_disk_util(struct disk_util_stat *dus, struct disk_util_agg *agg, struct json_array *parent); extern struct io_log *agg_io_log[DDIR_RWDIR_CNT]; extern bool write_bw_log; static inline bool nsec_to_usec(unsigned long long *min, unsigned long long *max, double *mean, double *dev) { if (*min > 2000 && *max > 99999 && *dev > 1000.0) { *min /= 1000; *max /= 1000; *mean /= 1000.0; *dev /= 1000.0; return true; } return false; } static inline bool nsec_to_msec(unsigned long long *min, unsigned long long *max, double *mean, double *dev) { if (*min > 2000000 && *max > 99999999ULL && *dev > 1000000.0) { *min /= 1000000; *max /= 1000000; *mean /= 1000000.0; *dev /= 1000000.0; return true; } return false; } /* * Worst level condensing would be 1:5, so allow enough room for that */ #define __THREAD_RUNSTR_SZ(nr) ((nr) * 5) #define THREAD_RUNSTR_SZ __THREAD_RUNSTR_SZ(thread_number) uint32_t *io_u_block_info(struct thread_data *td, struct io_u *io_u); #endif fio-3.39/steadystate.c000066400000000000000000000226051476262051600147410ustar00rootroot00000000000000#include #include "fio.h" #include "steadystate.h" bool steadystate_enabled = false; unsigned int ss_check_interval = 1000; void steadystate_free(struct thread_data *td) { free(td->ss.iops_data); free(td->ss.bw_data); td->ss.iops_data = NULL; td->ss.bw_data = NULL; } static void steadystate_alloc(struct thread_data *td) { int intervals = td->ss.dur / (ss_check_interval / 1000L); td->ss.bw_data = calloc(intervals, sizeof(uint64_t)); td->ss.iops_data = calloc(intervals, sizeof(uint64_t)); td->ss.state |= FIO_SS_DATA; } void steadystate_setup(void) { struct thread_data *prev_td; int prev_groupid; if (!steadystate_enabled) return; /* * if group reporting is enabled, identify the last td * for each group and use it for storing steady state * data */ prev_groupid = -1; prev_td = NULL; for_each_td(td) { if (!td->ss.dur) continue; if (!td->o.group_reporting) { steadystate_alloc(td); continue; } if (prev_groupid != td->groupid) { if (prev_td) steadystate_alloc(prev_td); prev_groupid = td->groupid; } prev_td = td; } end_for_each(); if (prev_td && prev_td->o.group_reporting) steadystate_alloc(prev_td); } static bool steadystate_slope(uint64_t iops, uint64_t bw, struct thread_data *td) { int i, j; double result; struct steadystate_data *ss = &td->ss; uint64_t new_val; int intervals = ss->dur / (ss_check_interval / 1000L); ss->bw_data[ss->tail] = bw; ss->iops_data[ss->tail] = iops; if (ss->state & FIO_SS_IOPS) new_val = iops; else new_val = bw; if (ss->state & FIO_SS_BUFFER_FULL || ss->tail - ss->head == intervals - 1) { if (!(ss->state & FIO_SS_BUFFER_FULL)) { /* first time through */ for (i = 0, ss->sum_y = 0; i < intervals; i++) { if (ss->state & FIO_SS_IOPS) ss->sum_y += ss->iops_data[i]; else ss->sum_y += ss->bw_data[i]; j = (ss->head + i) % intervals; if (ss->state & FIO_SS_IOPS) ss->sum_xy += i * ss->iops_data[j]; else ss->sum_xy += i * ss->bw_data[j]; } ss->state |= FIO_SS_BUFFER_FULL; } else { /* easy to update the sums */ ss->sum_y -= ss->oldest_y; ss->sum_y += new_val; ss->sum_xy = ss->sum_xy - ss->sum_y + intervals * new_val; } if (ss->state & FIO_SS_IOPS) ss->oldest_y = ss->iops_data[ss->head]; else ss->oldest_y = ss->bw_data[ss->head]; /* * calculate slope as (sum_xy - sum_x * sum_y / n) / (sum_(x^2) * - (sum_x)^2 / n) This code assumes that all x values are * equally spaced when they are often off by a few milliseconds. * This assumption greatly simplifies the calculations. */ ss->slope = (ss->sum_xy - (double) ss->sum_x * ss->sum_y / intervals) / (ss->sum_x_sq - (double) ss->sum_x * ss->sum_x / intervals); if (ss->state & FIO_SS_PCT) ss->criterion = 100.0 * ss->slope / (ss->sum_y / intervals); else ss->criterion = ss->slope; dprint(FD_STEADYSTATE, "sum_y: %llu, sum_xy: %llu, slope: %f, " "criterion: %f, limit: %f\n", (unsigned long long) ss->sum_y, (unsigned long long) ss->sum_xy, ss->slope, ss->criterion, ss->limit); result = ss->criterion * (ss->criterion < 0.0 ? -1.0 : 1.0); if (result < ss->limit) return true; } ss->tail = (ss->tail + 1) % intervals; if (ss->tail <= ss->head) ss->head = (ss->head + 1) % intervals; return false; } static bool steadystate_deviation(uint64_t iops, uint64_t bw, struct thread_data *td) { int i; double diff; double mean; struct steadystate_data *ss = &td->ss; int intervals = ss->dur / (ss_check_interval / 1000L); ss->bw_data[ss->tail] = bw; ss->iops_data[ss->tail] = iops; if (ss->state & FIO_SS_BUFFER_FULL || ss->tail - ss->head == intervals - 1) { if (!(ss->state & FIO_SS_BUFFER_FULL)) { /* first time through */ for (i = 0, ss->sum_y = 0; i < intervals; i++) { if (ss->state & FIO_SS_IOPS) ss->sum_y += ss->iops_data[i]; else ss->sum_y += ss->bw_data[i]; } ss->state |= FIO_SS_BUFFER_FULL; } else { /* easy to update the sum */ ss->sum_y -= ss->oldest_y; if (ss->state & FIO_SS_IOPS) ss->sum_y += ss->iops_data[ss->tail]; else ss->sum_y += ss->bw_data[ss->tail]; } if (ss->state & FIO_SS_IOPS) ss->oldest_y = ss->iops_data[ss->head]; else ss->oldest_y = ss->bw_data[ss->head]; mean = (double) ss->sum_y / intervals; ss->deviation = 0.0; for (i = 0; i < intervals; i++) { if (ss->state & FIO_SS_IOPS) diff = ss->iops_data[i] - mean; else diff = ss->bw_data[i] - mean; ss->deviation = max(ss->deviation, diff * (diff < 0.0 ? -1.0 : 1.0)); } if (ss->state & FIO_SS_PCT) ss->criterion = 100.0 * ss->deviation / mean; else ss->criterion = ss->deviation; dprint(FD_STEADYSTATE, "intervals: %d, sum_y: %llu, mean: %f, max diff: %f, " "objective: %f, limit: %f\n", intervals, (unsigned long long) ss->sum_y, mean, ss->deviation, ss->criterion, ss->limit); if (ss->criterion < ss->limit) return true; } ss->tail = (ss->tail + 1) % intervals; if (ss->tail == ss->head) ss->head = (ss->head + 1) % intervals; return false; } int steadystate_check(void) { int ddir, prev_groupid, group_ramp_time_over = 0; unsigned long rate_time; struct timespec now; uint64_t group_bw = 0, group_iops = 0; uint64_t td_iops, td_bytes; bool ret; prev_groupid = -1; for_each_td(td) { const bool needs_lock = td_async_processing(td); struct steadystate_data *ss = &td->ss; if (!ss->dur || td->runstate <= TD_SETTING_UP || td->runstate >= TD_EXITED || !ss->state || ss->state & FIO_SS_ATTAINED) continue; td_iops = 0; td_bytes = 0; if (!td->o.group_reporting || (td->o.group_reporting && td->groupid != prev_groupid)) { group_bw = 0; group_iops = 0; group_ramp_time_over = 0; } prev_groupid = td->groupid; fio_gettime(&now, NULL); if (ss->ramp_time && !(ss->state & FIO_SS_RAMP_OVER)) { /* * Begin recording data one check interval after ss->ramp_time * has elapsed */ if (utime_since(&td->epoch, &now) >= (ss->ramp_time + ss_check_interval * 1000L)) ss->state |= FIO_SS_RAMP_OVER; } if (needs_lock) __td_io_u_lock(td); for (ddir = 0; ddir < DDIR_RWDIR_CNT; ddir++) { td_iops += td->io_blocks[ddir]; td_bytes += td->io_bytes[ddir]; } if (needs_lock) __td_io_u_unlock(td); rate_time = mtime_since(&ss->prev_time, &now); memcpy(&ss->prev_time, &now, sizeof(now)); if (ss->state & FIO_SS_RAMP_OVER) { group_bw += rate_time * (td_bytes - ss->prev_bytes) / (ss_check_interval * ss_check_interval / 1000L); group_iops += rate_time * (td_iops - ss->prev_iops) / (ss_check_interval * ss_check_interval / 1000L); ++group_ramp_time_over; } ss->prev_iops = td_iops; ss->prev_bytes = td_bytes; if (td->o.group_reporting && !(ss->state & FIO_SS_DATA)) continue; /* * Don't begin checking criterion until ss->ramp_time is over * for at least one thread in group */ if (!group_ramp_time_over) continue; dprint(FD_STEADYSTATE, "steadystate_check() thread: %d, " "groupid: %u, rate_msec: %ld, " "iops: %llu, bw: %llu, head: %d, tail: %d\n", __td_index, td->groupid, rate_time, (unsigned long long) group_iops, (unsigned long long) group_bw, ss->head, ss->tail); if (ss->state & FIO_SS_SLOPE) ret = steadystate_slope(group_iops, group_bw, td); else ret = steadystate_deviation(group_iops, group_bw, td); if (ret) { if (td->o.group_reporting) { for_each_td(td2) { if (td2->groupid == td->groupid) { td2->ss.state |= FIO_SS_ATTAINED; fio_mark_td_terminate(td2); } } end_for_each(); } else { ss->state |= FIO_SS_ATTAINED; fio_mark_td_terminate(td); } } } end_for_each(); return 0; } int td_steadystate_init(struct thread_data *td) { struct steadystate_data *ss = &td->ss; struct thread_options *o = &td->o; int intervals; memset(ss, 0, sizeof(*ss)); if (o->ss_dur) { steadystate_enabled = true; o->ss_dur /= 1000000L; /* put all steady state info in one place */ ss->dur = o->ss_dur; ss->limit = o->ss_limit.u.f; ss->ramp_time = o->ss_ramp_time; ss_check_interval = o->ss_check_interval / 1000L; ss->state = o->ss_state; if (!td->ss.ramp_time) ss->state |= FIO_SS_RAMP_OVER; intervals = ss->dur / (ss_check_interval / 1000L); ss->sum_x = intervals * (intervals - 1) / 2; ss->sum_x_sq = (intervals - 1) * (intervals) * (2*intervals - 1) / 6; } /* make sure that ss options are consistent within reporting group */ for_each_td(td2) { if (td2->groupid == td->groupid) { struct steadystate_data *ss2 = &td2->ss; if (ss2->dur != ss->dur || ss2->limit != ss->limit || ss2->ramp_time != ss->ramp_time || ss2->state != ss->state || ss2->sum_x != ss->sum_x || ss2->sum_x_sq != ss->sum_x_sq) { td_verror(td, EINVAL, "job rejected: steadystate options must be consistent within reporting groups"); return 1; } } } end_for_each(); return 0; } uint64_t steadystate_bw_mean(struct thread_stat *ts) { int i; uint64_t sum; int intervals = ts->ss_dur / (ss_check_interval / 1000L); if (!ts->ss_dur) return 0; for (i = 0, sum = 0; i < intervals; i++) sum += ts->ss_bw_data[i]; return sum / intervals; } uint64_t steadystate_iops_mean(struct thread_stat *ts) { int i; uint64_t sum; int intervals = ts->ss_dur / (ss_check_interval / 1000L); if (!ts->ss_dur) return 0; for (i = 0, sum = 0; i < intervals; i++) sum += ts->ss_iops_data[i]; return sum / intervals; } fio-3.39/steadystate.h000066400000000000000000000026651476262051600147520ustar00rootroot00000000000000#ifndef FIO_STEADYSTATE_H #define FIO_STEADYSTATE_H #include "thread_options.h" extern void steadystate_free(struct thread_data *); extern int steadystate_check(void); extern void steadystate_setup(void); extern int td_steadystate_init(struct thread_data *); extern uint64_t steadystate_bw_mean(struct thread_stat *); extern uint64_t steadystate_iops_mean(struct thread_stat *); extern bool steadystate_enabled; extern unsigned int ss_check_interval; struct steadystate_data { double limit; unsigned long long dur; unsigned long long ramp_time; uint32_t state; unsigned int head; unsigned int tail; uint64_t *iops_data; uint64_t *bw_data; double slope; double deviation; double criterion; uint64_t sum_y; uint64_t sum_x; uint64_t sum_x_sq; uint64_t sum_xy; uint64_t oldest_y; struct timespec prev_time; uint64_t prev_iops; uint64_t prev_bytes; }; enum { __FIO_SS_IOPS = 0, __FIO_SS_BW, __FIO_SS_SLOPE, __FIO_SS_ATTAINED, __FIO_SS_RAMP_OVER, __FIO_SS_DATA, __FIO_SS_PCT, __FIO_SS_BUFFER_FULL, }; enum { FIO_SS_IOPS = 1 << __FIO_SS_IOPS, FIO_SS_BW = 1 << __FIO_SS_BW, FIO_SS_SLOPE = 1 << __FIO_SS_SLOPE, FIO_SS_ATTAINED = 1 << __FIO_SS_ATTAINED, FIO_SS_RAMP_OVER = 1 << __FIO_SS_RAMP_OVER, FIO_SS_DATA = 1 << __FIO_SS_DATA, FIO_SS_PCT = 1 << __FIO_SS_PCT, FIO_SS_BUFFER_FULL = 1 << __FIO_SS_BUFFER_FULL, FIO_SS_IOPS_SLOPE = FIO_SS_IOPS | FIO_SS_SLOPE, FIO_SS_BW_SLOPE = FIO_SS_BW | FIO_SS_SLOPE, }; #endif fio-3.39/t/000077500000000000000000000000001476262051600125015ustar00rootroot00000000000000fio-3.39/t/arch.c000066400000000000000000000001121476262051600135540ustar00rootroot00000000000000#include "../arch/arch.h" unsigned long arch_flags = 0; int arch_random; fio-3.39/t/axmap.c000066400000000000000000000164541476262051600137650ustar00rootroot00000000000000#include #include #include #include "../lib/lfsr.h" #include "../lib/axmap.h" static int test_regular(uint64_t size, int seed) { struct fio_lfsr lfsr; struct axmap *map; int err; printf("Using %llu entries...", (unsigned long long) size); fflush(stdout); lfsr_init(&lfsr, size, seed, seed & 0xF); map = axmap_new(size); err = 0; while (size--) { uint64_t val; if (lfsr_next(&lfsr, &val)) { printf("lfsr: short loop\n"); err = 1; break; } if (axmap_isset(map, val)) { printf("bit already set\n"); err = 1; break; } axmap_set(map, val); if (!axmap_isset(map, val)) { printf("bit not set\n"); err = 1; break; } } if (err) return err; printf("pass!\n"); axmap_free(map); return 0; } static int check_next_free(struct axmap *map, uint64_t start, uint64_t expected) { uint64_t ff; ff = axmap_next_free(map, start); if (ff != expected) { printf("axmap_next_free broken: Expected %llu, got %llu\n", (unsigned long long)expected, (unsigned long long) ff); return 1; } return 0; } static int test_next_free(uint64_t size, int seed) { struct fio_lfsr lfsr; struct axmap *map; uint64_t osize; uint64_t ff, lastfree; int err, i; printf("Test next_free %llu entries...", (unsigned long long) size); fflush(stdout); map = axmap_new(size); err = 0; /* Empty map. Next free after 0 should be 1. */ if (check_next_free(map, 0, 1)) err = 1; /* Empty map. Next free after 63 should be 64. */ if (check_next_free(map, 63, 64)) err = 1; /* Empty map. Next free after size - 2 should be size - 1 */ if (check_next_free(map, size - 2, size - 1)) err = 1; /* Empty map. Next free after size - 1 should be 0 */ if (check_next_free(map, size - 1, 0)) err = 1; /* Empty map. Next free after 63 should be 64. */ if (check_next_free(map, 63, 64)) err = 1; /* Bit 63 set. Next free after 62 should be 64. */ axmap_set(map, 63); if (check_next_free(map, 62, 64)) err = 1; /* Last bit set. Next free after size - 2 should be 0. */ axmap_set(map, size - 1); if (check_next_free(map, size - 2, 0)) err = 1; /* Last bit set. Next free after size - 1 should be 0. */ if (check_next_free(map, size - 1, 0)) err = 1; /* Last 64 bits set. Next free after size - 66 or size - 65 should be 0. */ for (i=size - 65; i < size; i++) axmap_set(map, i); if (check_next_free(map, size - 66, 0)) err = 1; if (check_next_free(map, size - 65, 0)) err = 1; /* Last 64 bits set. Next free after size - 67 should be size - 66. */ if (check_next_free(map, size - 67, size - 66)) err = 1; axmap_free(map); /* Start with a fresh map and mostly fill it up */ lfsr_init(&lfsr, size, seed, seed & 0xF); map = axmap_new(size); osize = size; /* Leave 1 entry free */ size--; while (size--) { uint64_t val; if (lfsr_next(&lfsr, &val)) { printf("lfsr: short loop\n"); err = 1; break; } if (axmap_isset(map, val)) { printf("bit already set\n"); err = 1; break; } axmap_set(map, val); if (!axmap_isset(map, val)) { printf("bit not set\n"); err = 1; break; } } /* Get last free bit */ lastfree = axmap_next_free(map, 0); if (lastfree == -1ULL) { printf("axmap_next_free broken: Couldn't find last free bit\n"); err = 1; } /* Start with last free bit and test wrap-around */ ff = axmap_next_free(map, lastfree); if (ff != lastfree) { printf("axmap_next_free broken: wrap-around test #1 failed\n"); err = 1; } /* Start with last bit and test wrap-around */ ff = axmap_next_free(map, osize - 1); if (ff != lastfree) { printf("axmap_next_free broken: wrap-around test #2 failed\n"); err = 1; } /* Set last free bit */ axmap_set(map, lastfree); ff = axmap_next_free(map, 0); if (ff != -1ULL) { printf("axmap_next_free broken: Expected -1 from full map\n"); err = 1; } ff = axmap_next_free(map, osize); if (ff != -1ULL) { printf("axmap_next_free broken: Expected -1 from out of bounds request\n"); err = 1; } if (err) return err; printf("pass!\n"); axmap_free(map); return 0; } static int test_multi(uint64_t size, unsigned int bit_off) { unsigned int map_size = size; struct axmap *map; uint64_t val = bit_off; int i, err; printf("Test multi %llu entries %u offset...", (unsigned long long) size, bit_off); fflush(stdout); map = axmap_new(map_size); while (val + 128 <= map_size) { err = 0; for (i = val; i < val + 128; i++) { if (axmap_isset(map, val + i)) { printf("bit already set\n"); err = 1; break; } } if (err) break; err = axmap_set_nr(map, val, 128); if (err != 128) { printf("only set %u bits\n", err); break; } err = 0; for (i = 0; i < 128; i++) { if (!axmap_isset(map, val + i)) { printf("bit not set: %llu\n", (unsigned long long) val + i); err = 1; break; } } val += 128; if (err) break; } if (!err) printf("pass!\n"); axmap_free(map); return err; } struct overlap_test { unsigned int start; unsigned int nr; unsigned int ret; }; static int test_overlap(void) { struct overlap_test tests[] = { { .start = 0, .nr = 0, .ret = 0, }, { .start = 16, .nr = 16, .ret = 16, }, { .start = 16, .nr = 0, .ret = 0, }, { .start = 0, .nr = 32, .ret = 16, }, { .start = 48, .nr = 32, .ret = 32, }, { .start = 32, .nr = 32, .ret = 16, }, { .start = 79, .nr = 1, .ret = 0, }, { .start = 80, .nr = 21, .ret = 21, }, { .start = 102, .nr = 1, .ret = 1, }, { .start = 101, .nr = 3, .ret = 1, }, { .start = 106, .nr = 4, .ret = 4, }, { .start = 105, .nr = 3, .ret = 1, }, { .start = 120, .nr = 4, .ret = 4, }, { .start = 118, .nr = 2, .ret = 2, }, { .start = 118, .nr = 2, .ret = 0, }, { .start = 1100, .nr = 1, .ret = 1, }, { .start = 1000, .nr = 256, .ret = 100, }, { .start = 22684, .nr = 1, .ret = 1, }, { .start = 22670, .nr = 60, .ret = 14, }, { .start = 22670, .nr = 60, .ret = 0, }, { .start = -1U, }, }; struct axmap *map; int entries, i, ret, err = 0; entries = 0; for (i = 0; tests[i].start != -1U; i++) { unsigned int this = tests[i].start + tests[i].nr; if (this > entries) entries = this; } printf("Test overlaps...\n"); fflush(stdout); map = axmap_new(entries); for (i = 0; tests[i].start != -1U; i++) { struct overlap_test *t = &tests[i]; printf("\tstart=%6u, nr=%3u: ", t->start, t->nr); ret = axmap_set_nr(map, t->start, t->nr); if (ret != t->ret) { printf("%3d (FAIL, wanted %d)\n", ret, t->ret); err = 1; break; } printf("%3d (PASS)\n", ret); } axmap_free(map); return err; } int main(int argc, char *argv[]) { uint64_t size = (1ULL << 23) - 200; int seed = 1; if (argc > 1) { size = strtoul(argv[1], NULL, 10); if (argc > 2) seed = strtoul(argv[2], NULL, 10); } if (test_regular(size, seed)) return 1; if (test_multi(size, 0)) return 2; if (test_multi(size, 17)) return 3; if (test_overlap()) return 4; if (test_next_free(size, seed)) return 5; /* Test 3 levels, all full: 64*64*64 */ if (test_next_free(64*64*64, seed)) return 6; /* Test 4 levels, with 2 inner levels not full */ if (test_next_free(((((64*64)-63)*64)-63)*64*12, seed)) return 7; return 0; } fio-3.39/t/btrace2fio.c000066400000000000000000000575441476262051600147040ustar00rootroot00000000000000#include #include #include #include #include #include "../io_ddir.h" #include "../flist.h" #include "../hash.h" #include "../fifo.h" #include "../blktrace_api.h" #include "../os/os.h" #include "../log.h" #include "../minmax.h" #include "../oslib/linux-dev-lookup.h" #define TRACE_FIFO_SIZE 8192 static unsigned int rt_threshold = 1000000; static unsigned int ios_threshold = 10; static unsigned int rate_threshold; static unsigned int set_rate; static unsigned int max_depth = 256; static int output_ascii = 1; static char *filename; static char **add_opts; static int n_add_opts; /* * Collapse defaults */ static unsigned int collapse_entries = 0; static unsigned int depth_diff = 1; static unsigned int random_diff = 5; struct bs { unsigned int bs; unsigned int nr; int merges; }; struct trace_file { char *name; int major, minor; }; struct btrace_out { unsigned long ios[DDIR_RWDIR_CNT]; unsigned long merges[DDIR_RWDIR_CNT]; uint64_t last_end[DDIR_RWDIR_CNT]; uint64_t seq[DDIR_RWDIR_CNT]; struct bs *bs[DDIR_RWDIR_CNT]; unsigned int nr_bs[DDIR_RWDIR_CNT]; int inflight; unsigned int depth; int depth_disabled; int complete_seen; uint64_t first_ttime[DDIR_RWDIR_CNT]; uint64_t last_ttime[DDIR_RWDIR_CNT]; uint64_t kib[DDIR_RWDIR_CNT]; uint64_t start_delay; }; struct btrace_pid { struct flist_head hash_list; struct flist_head pid_list; pid_t pid; pid_t *merge_pids; unsigned int nr_merge_pids; struct trace_file *files; int nr_files; unsigned int last_major, last_minor; int numjobs; int ignore; struct btrace_out o; }; struct inflight { struct flist_head list; struct btrace_pid *p; uint64_t end_sector; }; #define PID_HASH_BITS 10 #define PID_HASH_SIZE (1U << PID_HASH_BITS) static struct flist_head pid_hash[PID_HASH_SIZE]; static FLIST_HEAD(pid_list); #define INFLIGHT_HASH_BITS 8 #define INFLIGHT_HASH_SIZE (1U << INFLIGHT_HASH_BITS) static struct flist_head inflight_hash[INFLIGHT_HASH_SIZE]; static uint64_t first_ttime = -1ULL; static struct inflight *inflight_find(uint64_t sector) { struct flist_head *inflight_list; struct flist_head *e; inflight_list = &inflight_hash[hash_long(sector, INFLIGHT_HASH_BITS)]; flist_for_each(e, inflight_list) { struct inflight *i = flist_entry(e, struct inflight, list); if (i->end_sector == sector) return i; } return NULL; } static void inflight_remove(struct inflight *i) { struct btrace_out *o = &i->p->o; o->inflight--; assert(o->inflight >= 0); flist_del(&i->list); free(i); } static void __inflight_add(struct inflight *i) { struct flist_head *list; list = &inflight_hash[hash_long(i->end_sector, INFLIGHT_HASH_BITS)]; flist_add_tail(&i->list, list); } static void inflight_add(struct btrace_pid *p, uint64_t sector, uint32_t len) { struct btrace_out *o = &p->o; struct inflight *i; i = calloc(1, sizeof(*i)); i->p = p; o->inflight++; if (!o->depth_disabled) { o->depth = max((int) o->depth, o->inflight); if (o->depth >= max_depth && !o->complete_seen) { o->depth_disabled = 1; o->depth = max_depth; } } i->end_sector = sector + (len >> 9); __inflight_add(i); } static void inflight_merge(struct inflight *i, int rw, unsigned int size) { i->p->o.merges[rw]++; if (size) { i->end_sector += (size >> 9); flist_del(&i->list); __inflight_add(i); } } /* * fifo refill frontend, to avoid reading data in trace sized bites */ static int refill_fifo(struct fifo *fifo, int fd) { char buf[TRACE_FIFO_SIZE]; unsigned int total; int ret; total = sizeof(buf); if (total > fifo_room(fifo)) total = fifo_room(fifo); ret = read(fd, buf, total); if (ret < 0) { perror("read refill"); return -1; } if (ret > 0) ret = fifo_put(fifo, buf, ret); return ret; } /* * Retrieve 'len' bytes from the fifo, refilling if necessary. */ static int trace_fifo_get(struct fifo *fifo, int fd, void *buf, unsigned int len) { if (fifo_len(fifo) < len) { int ret = refill_fifo(fifo, fd); if (ret < 0) return ret; } return fifo_get(fifo, buf, len); } /* * Just discard the pdu by seeking past it. */ static int discard_pdu(struct fifo *fifo, int fd, struct blk_io_trace *t) { if (t->pdu_len == 0) return 0; return trace_fifo_get(fifo, fd, NULL, t->pdu_len); } static int handle_trace_notify(struct blk_io_trace *t) { switch (t->action) { case BLK_TN_PROCESS: //printf("got process notify: %x, %d\n", t->action, t->pid); break; case BLK_TN_TIMESTAMP: //printf("got timestamp notify: %x, %d\n", t->action, t->pid); break; case BLK_TN_MESSAGE: break; default: log_err("unknown trace act %x\n", t->action); return 1; } return 0; } static void __add_bs(struct btrace_out *o, unsigned int len, int rw) { o->bs[rw] = realloc(o->bs[rw], (o->nr_bs[rw] + 1) * sizeof(struct bs)); o->bs[rw][o->nr_bs[rw]].bs = len; o->bs[rw][o->nr_bs[rw]].nr = 1; o->nr_bs[rw]++; } static void add_bs(struct btrace_out *o, unsigned int len, int rw) { struct bs *bs = o->bs[rw]; int i; if (!o->nr_bs[rw]) { __add_bs(o, len, rw); return; } for (i = 0; i < o->nr_bs[rw]; i++) { if (bs[i].bs == len) { bs[i].nr++; return; } } __add_bs(o, len, rw); } #define FMINORBITS 20 #define FMINORMASK ((1U << FMINORBITS) - 1) #define FMAJOR(dev) ((unsigned int) ((dev) >> FMINORBITS)) #define FMINOR(dev) ((unsigned int) ((dev) & FMINORMASK)) static int btrace_add_file(struct btrace_pid *p, uint32_t devno) { unsigned int maj = FMAJOR(devno); unsigned int min = FMINOR(devno); struct trace_file *f; unsigned int i; char dev[256]; if (filename) return 0; if (p->last_major == maj && p->last_minor == min) return 0; p->last_major = maj; p->last_minor = min; /* * check for this file in our list */ for (i = 0; i < p->nr_files; i++) { f = &p->files[i]; if (f->major == maj && f->minor == min) return 0; } strcpy(dev, "/dev"); if (!blktrace_lookup_device(NULL, dev, maj, min)) { log_err("fio: failed to find device %u/%u\n", maj, min); if (!output_ascii) { log_err("fio: use -d to specify device\n"); return 1; } return 0; } p->files = realloc(p->files, (p->nr_files + 1) * sizeof(*f)); f = &p->files[p->nr_files]; f->name = strdup(dev); f->major = maj; f->minor = min; p->nr_files++; return 0; } static int t_to_rwdir(struct blk_io_trace *t) { if (t->action & BLK_TC_ACT(BLK_TC_DISCARD)) return DDIR_TRIM; return (t->action & BLK_TC_ACT(BLK_TC_WRITE)) != 0; } static int handle_trace_discard(struct blk_io_trace *t, struct btrace_pid *p) { struct btrace_out *o = &p->o; if (btrace_add_file(p, t->device)) return 1; if (o->first_ttime[2] == -1ULL) o->first_ttime[2] = t->time; o->ios[DDIR_TRIM]++; add_bs(o, t->bytes, DDIR_TRIM); return 0; } static int handle_trace_fs(struct blk_io_trace *t, struct btrace_pid *p) { struct btrace_out *o = &p->o; int rw; if (btrace_add_file(p, t->device)) return 1; first_ttime = min(first_ttime, (uint64_t) t->time); rw = (t->action & BLK_TC_ACT(BLK_TC_WRITE)) != 0; if (o->first_ttime[rw] == -1ULL) o->first_ttime[rw] = t->time; add_bs(o, t->bytes, rw); o->ios[rw]++; if (t->sector == o->last_end[rw] || o->last_end[rw] == -1ULL) o->seq[rw]++; o->last_end[rw] = t->sector + (t->bytes >> 9); return 0; } static int handle_queue_trace(struct blk_io_trace *t, struct btrace_pid *p) { if (t->action & BLK_TC_ACT(BLK_TC_NOTIFY)) return handle_trace_notify(t); else if (t->action & BLK_TC_ACT(BLK_TC_DISCARD)) return handle_trace_discard(t, p); else return handle_trace_fs(t, p); } static int handle_trace(struct blk_io_trace *t, struct btrace_pid *p) { unsigned int act = t->action & 0xffff; int ret = 0; if (act == __BLK_TA_QUEUE) { inflight_add(p, t->sector, t->bytes); ret = handle_queue_trace(t, p); } else if (act == __BLK_TA_BACKMERGE) { struct inflight *i; i = inflight_find(t->sector + (t->bytes >> 9)); if (i) inflight_remove(i); i = inflight_find(t->sector); if (i) inflight_merge(i, t_to_rwdir(t), t->bytes); } else if (act == __BLK_TA_FRONTMERGE) { struct inflight *i; i = inflight_find(t->sector + (t->bytes >> 9)); if (i) inflight_remove(i); i = inflight_find(t->sector); if (i) inflight_merge(i, t_to_rwdir(t), 0); } else if (act == __BLK_TA_COMPLETE) { struct inflight *i; i = inflight_find(t->sector + (t->bytes >> 9)); if (i) { i->p->o.kib[t_to_rwdir(t)] += (t->bytes >> 10); i->p->o.complete_seen = 1; inflight_remove(i); } } return ret; } static void byteswap_trace(struct blk_io_trace *t) { t->magic = fio_swap32(t->magic); t->sequence = fio_swap32(t->sequence); t->time = fio_swap64(t->time); t->sector = fio_swap64(t->sector); t->bytes = fio_swap32(t->bytes); t->action = fio_swap32(t->action); t->pid = fio_swap32(t->pid); t->device = fio_swap32(t->device); t->cpu = fio_swap32(t->cpu); t->error = fio_swap16(t->error); t->pdu_len = fio_swap16(t->pdu_len); } static struct btrace_pid *pid_hash_find(pid_t pid, struct flist_head *list) { struct flist_head *e; struct btrace_pid *p; flist_for_each(e, list) { p = flist_entry(e, struct btrace_pid, hash_list); if (p->pid == pid) return p; } return NULL; } static struct btrace_pid *pid_hash_get(pid_t pid) { struct flist_head *hash_list; struct btrace_pid *p; hash_list = &pid_hash[hash_long(pid, PID_HASH_BITS)]; p = pid_hash_find(pid, hash_list); if (!p) { int i; p = calloc(1, sizeof(*p)); for (i = 0; i < DDIR_RWDIR_CNT; i++) { p->o.first_ttime[i] = -1ULL; p->o.last_ttime[i] = -1ULL; p->o.last_end[i] = -1ULL; } p->pid = pid; p->numjobs = 1; flist_add_tail(&p->hash_list, hash_list); flist_add_tail(&p->pid_list, &pid_list); } return p; } /* * Load a blktrace file by reading all the blk_io_trace entries, and storing * them as io_pieces like the fio text version would do. */ static int load_blktrace(const char *fname, int need_swap) { struct btrace_pid *p; unsigned long traces; struct blk_io_trace t; struct fifo *fifo; int fd, ret = 0; fd = open(fname, O_RDONLY); if (fd < 0) { perror("open trace file\n"); return 1; } fifo = fifo_alloc(TRACE_FIFO_SIZE); traces = 0; do { ret = trace_fifo_get(fifo, fd, &t, sizeof(t)); if (ret < 0) goto err; else if (!ret) break; else if (ret < (int) sizeof(t)) { log_err("fio: short fifo get\n"); break; } if (need_swap) byteswap_trace(&t); if ((t.magic & 0xffffff00) != BLK_IO_TRACE_MAGIC) { log_err("fio: bad magic in blktrace data: %x\n", t.magic); goto err; } if ((t.magic & 0xff) != BLK_IO_TRACE_VERSION) { log_err("fio: bad blktrace version %d\n", t.magic & 0xff); goto err; } ret = discard_pdu(fifo, fd, &t); if (ret < 0) { log_err("blktrace lseek\n"); goto err; } else if (t.pdu_len != ret) { log_err("fio: discarded %d of %d\n", ret, t.pdu_len); goto err; } p = pid_hash_get(t.pid); ret = handle_trace(&t, p); if (ret) break; p->o.last_ttime[t_to_rwdir(&t)] = t.time; traces++; } while (1); fifo_free(fifo); close(fd); if (ret) return ret; if (output_ascii) printf("Traces loaded: %lu\n", traces); return 0; err: close(fd); fifo_free(fifo); return 1; } static int bs_cmp(const void *ba, const void *bb) { const struct bs *bsa = ba; const struct bs *bsb = bb; return bsb->nr - bsa->nr; } static unsigned long o_to_kib_rate(struct btrace_out *o, int rw) { uint64_t usec = (o->last_ttime[rw] - o->first_ttime[rw]) / 1000ULL; uint64_t val; if (!usec) return 0; usec /= 1000; if (!usec) return 0; val = o->kib[rw] * 1000ULL; return val / usec; } static uint64_t o_first_ttime(struct btrace_out *o) { uint64_t first; first = min(o->first_ttime[0], o->first_ttime[1]); return min(first, o->first_ttime[2]); } static uint64_t o_longest_ttime(struct btrace_out *o) { uint64_t ret = 0; int i; for (i = 0; i < DDIR_RWDIR_CNT; i++) { uint64_t diff; diff = o->last_ttime[i] - o->first_ttime[i]; ret = max(diff, ret); } return ret; } static void __output_p_ascii(struct btrace_pid *p, unsigned long *ios) { const char *msg[] = { "reads", "writes", "trims" }; struct btrace_out *o = &p->o; unsigned long total, usec; int i, j; printf("[pid:\t%u", p->pid); if (p->nr_merge_pids) for (i = 0; i < p->nr_merge_pids; i++) printf(", %u", p->merge_pids[i]); printf("]\n"); total = ddir_rw_sum(o->ios); for (i = 0; i < DDIR_RWDIR_CNT; i++) { float perc; if (!o->ios[i]) continue; ios[i] += o->ios[i] + o->merges[i]; printf("%s\n", msg[i]); perc = ((float) o->ios[i] * 100.0) / (float) total; printf("\tios: %lu (perc=%3.2f%%)\n", o->ios[i], perc); perc = ((float) o->merges[i] * 100.0) / (float) total; printf("\tmerges: %lu (perc=%3.2f%%)\n", o->merges[i], perc); perc = ((float) o->seq[i] * 100.0) / (float) o->ios[i]; printf("\tseq: %lu (perc=%3.2f%%)\n", (unsigned long) o->seq[i], perc); printf("\trate: %lu KiB/sec\n", o_to_kib_rate(o, i)); for (j = 0; j < o->nr_bs[i]; j++) { struct bs *bs = &o->bs[i][j]; perc = (((float) bs->nr * 100.0) / (float) o->ios[i]); printf("\tbs=%u, perc=%3.2f%%\n", bs->bs, perc); } } printf("depth:\t%u\n", o->depth); usec = o_longest_ttime(o) / 1000ULL; printf("usec:\t%lu (delay=%llu)\n", usec, (unsigned long long) o->start_delay); printf("files:\t"); for (i = 0; i < p->nr_files; i++) printf("%s,", p->files[i].name); printf("\n"); printf("\n"); } static int __output_p_fio(struct btrace_pid *p, unsigned long *ios, const char *name_postfix) { struct btrace_out *o = &p->o; unsigned long total; unsigned long long time; float perc; int i, j; if ((o->ios[0] + o->ios[1]) && o->ios[2]) { unsigned long ios_bak[DDIR_RWDIR_CNT]; memcpy(ios_bak, o->ios, DDIR_RWDIR_CNT * sizeof(unsigned long)); /* create job for read/write */ o->ios[2] = 0; __output_p_fio(p, ios, ""); o->ios[2] = ios_bak[2]; /* create job for trim */ o->ios[0] = 0; o->ios[1] = 0; __output_p_fio(p, ios, "_trim"); o->ios[0] = ios_bak[0]; o->ios[1] = ios_bak[1]; return 0; } if (!p->nr_files) { log_err("fio: no devices found\n"); return 1; } printf("[pid%u%s", p->pid, name_postfix); if (p->nr_merge_pids) for (i = 0; i < p->nr_merge_pids; i++) printf(",pid%u", p->merge_pids[i]); printf("]\n"); printf("numjobs=%u\n", p->numjobs); printf("direct=1\n"); if (o->depth == 1) printf("ioengine=sync\n"); else printf("ioengine=libaio\niodepth=%u\n", o->depth); if (o->ios[0] && !o->ios[1]) printf("rw=randread\n"); else if (!o->ios[0] && o->ios[1]) printf("rw=randwrite\n"); else if (o->ios[2]) printf("rw=randtrim\n"); else { printf("rw=randrw\n"); total = ddir_rw_sum(o->ios); perc = ((float) o->ios[0] * 100.0) / (float) total; printf("rwmixread=%u\n", (int) floor(perc + 0.50)); } printf("percentage_random="); for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (o->seq[i] && o->ios[i]) { perc = ((float) o->seq[i] * 100.0) / (float) o->ios[i]; if (perc >= 99.0) perc = 100.0; } else perc = 100.0; if (i) printf(","); perc = 100.0 - perc; printf("%u", (int) floor(perc + 0.5)); } printf("\n"); printf("filename="); for (i = 0; i < p->nr_files; i++) { if (i) printf(":"); printf("%s", p->files[i].name); } printf("\n"); if (o->start_delay / 1000000ULL) printf("startdelay=%llus\n", o->start_delay / 1000000ULL); time = o_longest_ttime(o); time = (time + 1000000000ULL - 1) / 1000000000ULL; printf("runtime=%llus\n", time); printf("bssplit="); for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (i && o->nr_bs[i - 1] && o->nr_bs[i]) printf(","); for (j = 0; j < o->nr_bs[i]; j++) { struct bs *bs = &o->bs[i][j]; perc = (((float) bs->nr * 100.0) / (float) o->ios[i]); if (perc < 1.00) continue; if (j) printf(":"); if (j + 1 == o->nr_bs[i]) printf("%u/", bs->bs); else printf("%u/%u", bs->bs, (int) floor(perc + 0.5)); } } printf("\n"); if (set_rate) { printf("rate="); for (i = 0; i < DDIR_RWDIR_CNT; i++) { unsigned long rate; rate = o_to_kib_rate(o, i); if (i) printf(","); if (rate) printf("%luk", rate); } printf("\n"); } if (n_add_opts) for (i = 0; i < n_add_opts; i++) printf("%s\n", add_opts[i]); printf("\n"); return 0; } static int __output_p(struct btrace_pid *p, unsigned long *ios) { struct btrace_out *o = &p->o; int i, ret = 0; for (i = 0; i < DDIR_RWDIR_CNT; i++) { if (o->nr_bs[i] <= 1) continue; qsort(o->bs[i], o->nr_bs[i], sizeof(struct bs), bs_cmp); } if (filename) { p->files = malloc(sizeof(struct trace_file)); p->nr_files++; p->files[0].name = filename; } if (output_ascii) __output_p_ascii(p, ios); else ret = __output_p_fio(p, ios, ""); return ret; } static void remove_ddir(struct btrace_out *o, int rw) { o->ios[rw] = 0; } static int prune_entry(struct btrace_out *o) { unsigned long rate; uint64_t time; int i; if (ddir_rw_sum(o->ios) < ios_threshold) return 1; time = o_longest_ttime(o) / 1000ULL; if (time < rt_threshold) return 1; rate = 0; for (i = 0; i < DDIR_RWDIR_CNT; i++) { unsigned long this_rate; this_rate = o_to_kib_rate(o, i); if (this_rate < rate_threshold) { remove_ddir(o, i); this_rate = 0; } rate += this_rate; } if (rate < rate_threshold) return 1; return 0; } static int entry_cmp(void *priv, struct flist_head *a, struct flist_head *b) { struct btrace_pid *pa = flist_entry(a, struct btrace_pid, pid_list); struct btrace_pid *pb = flist_entry(b, struct btrace_pid, pid_list); return ddir_rw_sum(pb->o.ios) - ddir_rw_sum(pa->o.ios); } static void free_p(struct btrace_pid *p) { struct btrace_out *o = &p->o; int i; for (i = 0; i < p->nr_files; i++) { if (p->files[i].name && p->files[i].name != filename) free(p->files[i].name); } for (i = 0; i < DDIR_RWDIR_CNT; i++) free(o->bs[i]); free(p->files); flist_del(&p->pid_list); flist_del(&p->hash_list); free(p); } static int entries_close(struct btrace_pid *pida, struct btrace_pid *pidb) { float perca, percb, fdiff; int i, idiff; for (i = 0; i < DDIR_RWDIR_CNT; i++) { if ((pida->o.ios[i] && !pidb->o.ios[i]) || (pidb->o.ios[i] && !pida->o.ios[i])) return 0; if (pida->o.ios[i] && pidb->o.ios[i]) { perca = ((float) pida->o.seq[i] * 100.0) / (float) pida->o.ios[i]; percb = ((float) pidb->o.seq[i] * 100.0) / (float) pidb->o.ios[i]; fdiff = perca - percb; if (fabs(fdiff) > random_diff) return 0; } idiff = pida->o.depth - pidb->o.depth; if (abs(idiff) > depth_diff) return 0; } return 1; } static void merge_bs(struct bs **bsap, unsigned int *nr_bsap, struct bs *bsb, unsigned int nr_bsb) { struct bs *bsa = *bsap; unsigned int nr_bsa = *nr_bsap; int a, b; for (b = 0; b < nr_bsb; b++) { int next, found = 0; for (a = 0; a < nr_bsa; a++) { if (bsb[b].bs != bsa[a].bs) continue; bsa[a].nr += bsb[b].nr; bsa[a].merges += bsb[b].merges; found = 1; break; } if (found) continue; next = *nr_bsap; bsa = realloc(bsa, (next + 1) * sizeof(struct bs)); bsa[next].bs = bsb[b].bs; bsa[next].nr = bsb[b].nr; (*nr_bsap)++; *bsap = bsa; } } static int merge_entries(struct btrace_pid *pida, struct btrace_pid *pidb) { int i; if (!entries_close(pida, pidb)) return 0; pida->nr_merge_pids++; pida->merge_pids = realloc(pida->merge_pids, pida->nr_merge_pids * sizeof(pid_t)); pida->merge_pids[pida->nr_merge_pids - 1] = pidb->pid; for (i = 0; i < DDIR_RWDIR_CNT; i++) { struct btrace_out *oa = &pida->o; struct btrace_out *ob = &pidb->o; oa->ios[i] += ob->ios[i]; oa->merges[i] += ob->merges[i]; oa->seq[i] += ob->seq[i]; oa->kib[i] += ob->kib[i]; oa->first_ttime[i] = min(oa->first_ttime[i], ob->first_ttime[i]); oa->last_ttime[i] = max(oa->last_ttime[i], ob->last_ttime[i]); merge_bs(&oa->bs[i], &oa->nr_bs[i], ob->bs[i], ob->nr_bs[i]); } pida->o.start_delay = min(pida->o.start_delay, pidb->o.start_delay); pida->o.depth = (pida->o.depth + pidb->o.depth) / 2; return 1; } static void check_merges(struct btrace_pid *p, struct flist_head *pidlist) { struct flist_head *e, *tmp; if (p->ignore) return; flist_for_each_safe(e, tmp, pidlist) { struct btrace_pid *pidb; pidb = flist_entry(e, struct btrace_pid, pid_list); if (pidb == p) continue; if (merge_entries(p, pidb)) { pidb->ignore = 1; p->numjobs++; } } } static int output_p(void) { unsigned long ios[DDIR_RWDIR_CNT]; struct flist_head *e, *tmp; int depth_disabled = 0; int ret = 0; flist_for_each_safe(e, tmp, &pid_list) { struct btrace_pid *p; p = flist_entry(e, struct btrace_pid, pid_list); if (prune_entry(&p->o)) { free_p(p); continue; } p->o.start_delay = (o_first_ttime(&p->o) / 1000ULL) - first_ttime; depth_disabled += p->o.depth_disabled; } if (collapse_entries) { struct btrace_pid *p; flist_for_each_safe(e, tmp, &pid_list) { p = flist_entry(e, struct btrace_pid, pid_list); check_merges(p, &pid_list); } flist_for_each_safe(e, tmp, &pid_list) { p = flist_entry(e, struct btrace_pid, pid_list); if (p->ignore) free_p(p); } } if (depth_disabled) log_err("fio: missing completion traces, depths capped at %u\n", max_depth); memset(ios, 0, sizeof(ios)); flist_sort(NULL, &pid_list, entry_cmp); flist_for_each(e, &pid_list) { struct btrace_pid *p; p = flist_entry(e, struct btrace_pid, pid_list); ret |= __output_p(p, ios); if (ret && !output_ascii) break; } if (output_ascii) printf("Total: reads=%lu, writes=%lu\n", ios[0], ios[1]); return ret; } static int usage(char *argv[]) { log_err("%s: [options] \n", argv[0]); log_err("\t-t\tUsec threshold to ignore task\n"); log_err("\t-n\tNumber IOS threshold to ignore task\n"); log_err("\t-f\tFio job file output\n"); log_err("\t-d\tUse this file/device for replay\n"); log_err("\t-r\tIgnore jobs with less than this KiB/sec rate\n"); log_err("\t-R\tSet rate in fio job (def=%u)\n", set_rate); log_err("\t-D\tCap queue depth at this value (def=%u)\n", max_depth); log_err("\t-c\tCollapse \"identical\" jobs (def=%u)\n", collapse_entries); log_err("\t-u\tDepth difference for collapse (def=%u)\n", depth_diff); log_err("\t-x\tRandom difference for collapse (def=%u)\n", random_diff); log_err("\t-a\tAdditional fio option to add to job file\n"); return 1; } static int trace_needs_swap(const char *trace_file, int *swap) { struct blk_io_trace t; int fd, ret; *swap = -1; fd = open(trace_file, O_RDONLY); if (fd < 0) { perror("open"); return 1; } ret = read(fd, &t, sizeof(t)); if (ret < 0) { close(fd); perror("read"); return 1; } else if (ret != sizeof(t)) { close(fd); log_err("fio: short read on trace file\n"); return 1; } close(fd); if ((t.magic & 0xffffff00) == BLK_IO_TRACE_MAGIC) *swap = 0; else { /* * Maybe it needs to be endian swapped... */ t.magic = fio_swap32(t.magic); if ((t.magic & 0xffffff00) == BLK_IO_TRACE_MAGIC) *swap = 1; } if (*swap == -1) { log_err("fio: blktrace appears corrupt\n"); return 1; } return 0; } int main(int argc, char *argv[]) { int need_swap, i, c; if (argc < 2) return usage(argv); while ((c = getopt(argc, argv, "t:n:fd:r:RD:c:u:x:a:")) != -1) { switch (c) { case 'R': set_rate = 1; break; case 'r': rate_threshold = atoi(optarg); break; case 't': rt_threshold = atoi(optarg); break; case 'n': ios_threshold = atoi(optarg); break; case 'f': output_ascii = 0; break; case 'd': filename = strdup(optarg); break; case 'D': max_depth = atoi(optarg); break; case 'c': collapse_entries = atoi(optarg); break; case 'u': depth_diff = atoi(optarg); break; case 'x': random_diff = atoi(optarg); break; case 'a': add_opts = realloc(add_opts, (n_add_opts + 1) * sizeof(char *)); add_opts[n_add_opts] = strdup(optarg); n_add_opts++; break; case '?': default: return usage(argv); } } if (argc == optind) return usage(argv); if (trace_needs_swap(argv[optind], &need_swap)) return 1; for (i = 0; i < PID_HASH_SIZE; i++) INIT_FLIST_HEAD(&pid_hash[i]); for (i = 0; i < INFLIGHT_HASH_SIZE; i++) INIT_FLIST_HEAD(&inflight_hash[i]); load_blktrace(argv[optind], need_swap); first_ttime /= 1000ULL; return output_p(); } fio-3.39/t/client_server.py000077500000000000000000000371511476262051600157310ustar00rootroot00000000000000#!/usr/bin/env python3 """ # client_server.py # # Test fio's client/server mode. # # USAGE # see python3 client_server.py --help # # EXAMPLES # python3 t/client_server.py # python3 t/client_server.py -f ./fio # # REQUIREMENTS # Python 3.6 # # This will start fio server instances listening on the interfaces below and # will break if any ports are already occupied. # # """ import os import sys import time import locale import logging import argparse import tempfile import subprocess import configparser from pathlib import Path from fiotestlib import FioJobCmdTest, run_fio_tests SERVER_LIST = [ ",8765", ",8766", ",8767", ",8768", ] PIDFILE_LIST = [] class ClientServerTest(FioJobCmdTest): """ Client/sever test class. """ def setup(self, parameters): """Setup a test.""" fio_args = [ f"--output={self.filenames['output']}", f"--output-format={self.fio_opts['output-format']}", ] for server in self.fio_opts['servers']: option = f"--client={server['client']}" fio_args.append(option) fio_args.append(server['jobfile']) super().setup(fio_args) class ClientServerTestGlobalSingle(ClientServerTest): """ Client/sever test class. One server connection only. The job file may or may not have a global section. """ def check_result(self): super().check_result() config = configparser.ConfigParser(allow_no_value=True) config.read(self.fio_opts['servers'][0]['jobfile']) if not config.has_section('global'): if len(self.json_data['global options']) > 0: self.failure_reason = f"{self.failure_reason} non-empty 'global options' dictionary found with no global section in job file." self.passed = False return if len(self.json_data['global options']) == 0: self.failure_reason = f"{self.failure_reason} empty 'global options' dictionary found with no global section in job file." self.passed = False # Now make sure job file global section matches 'global options' # in JSON output job_file_global = dict(config['global']) for key, value in job_file_global.items(): if value is None: job_file_global[key] = "" if job_file_global != self.json_data['global options']: self.failure_reason = f"{self.failure_reason} 'global options' dictionary does not match global section in job file." self.passed = False class ClientServerTestGlobalMultiple(ClientServerTest): """ Client/sever test class. Multiple server connections. Job files may or may not have a global section. """ def check_result(self): super().check_result() # # For each job file, check if it has a global section # If so, make sure the 'global options' array has # as element for it. # At the end, make sure the total number of elements matches the number # of job files with global sections. # global_sections = 0 for server in self.fio_opts['servers']: config = configparser.ConfigParser(allow_no_value=True) config.read(server['jobfile']) if not config.has_section('global'): continue global_sections += 1 # this can only parse one server spec format [hostname, port] = server['client'].split(',') match = None for global_opts in self.json_data['global options']: if 'hostname' not in global_opts: continue if 'port' not in global_opts: continue if global_opts['hostname'] == hostname and int(global_opts['port']) == int(port): match = global_opts break if not match: self.failure_reason = f"{self.failure_reason} matching 'global options' element not found for {hostname}, {port}." self.passed = False continue del match['hostname'] del match['port'] # Now make sure job file global section matches 'global options' # in JSON output job_file_global = dict(config['global']) for key, value in job_file_global.items(): if value is None: job_file_global[key] = "" if job_file_global != match: self.failure_reason += " 'global options' dictionary does not match global section in job file." self.passed = False else: logging.debug("Job file global section matches 'global options' array element %s", server['client']) if global_sections != len(self.json_data['global options']): self.failure_reason = f"{self.failure_reason} mismatched number of elements in 'global options' array." self.passed = False else: logging.debug("%d elements in global options array as expected", global_sections) class ClientServerTestAllClientsLat(ClientServerTest): """ Client/sever test class. Make sure the "All clients" job has latency percentile data. Assumes that a job named 'test' is run with no global section. Only check read data. """ def check_result(self): super().check_result() config = configparser.ConfigParser(allow_no_value=True) config.read(self.fio_opts['servers'][0]['jobfile']) lats = { 'clat': True, 'lat': False, 'slat': False } for key in lats: opt = f"{key}_percentiles" if opt in config.options('test'): lats[key] = config.getboolean('test', opt) logging.debug("%s set to %s", opt, lats[key]) all_clients = None client_stats = self.json_data['client_stats'] for client in client_stats: if client['jobname'] == "All clients": all_clients = client break if not all_clients: self.failure_reason = f"{self.failure_reason} Could not find 'All clients' output" self.passed = False for key, value in lats.items(): if value: if 'percentile' not in all_clients['read'][f"{key}_ns"]: self.failure_reason += f" {key} percentiles not found" self.passed = False break logging.debug("%s percentiles found as expected", key) else: if 'percentile' in all_clients['read'][f"{key}_ns"]: self.failure_reason += f" {key} percentiles found unexpectedly" self.passed = False break logging.debug("%s percentiles appropriately not found", key) TEST_LIST = [ { # Smoke test "test_id": 1, "fio_opts": { "output-format": "json", "servers": [ { "client" : 0, # index into the SERVER_LIST array "jobfile": "test01.fio", }, ] }, "test_class": ClientServerTest, }, { # try another client "test_id": 2, "fio_opts": { "output-format": "json", "servers": [ { "client" : 1, "jobfile": "test01.fio", }, ] }, "test_class": ClientServerTest, }, { # single client global section "test_id": 3, "fio_opts": { "output-format": "json", "servers": [ { "client" : 2, "jobfile": "test01.fio", }, ] }, "test_class": ClientServerTestGlobalSingle, }, { # single client no global section "test_id": 4, "fio_opts": { "output-format": "json", "servers": [ { "client" : 3, "jobfile": "test04-noglobal.fio", }, ] }, "test_class": ClientServerTestGlobalSingle, }, { # multiple clients, some with global, some without "test_id": 5, "fio_opts": { "output-format": "json", "servers": [ { "client" : 0, "jobfile": "test04-noglobal.fio", }, { "client" : 1, "jobfile": "test01.fio", }, { "client" : 2, "jobfile": "test04-noglobal.fio", }, { "client" : 3, "jobfile": "test01.fio", }, ] }, "test_class": ClientServerTestGlobalMultiple, }, { # multiple clients, all with global sections "test_id": 6, "fio_opts": { "output-format": "json", "servers": [ { "client" : 0, "jobfile": "test01.fio", }, { "client" : 1, "jobfile": "test01.fio", }, { "client" : 2, "jobfile": "test01.fio", }, { "client" : 3, "jobfile": "test01.fio", }, ] }, "test_class": ClientServerTestGlobalMultiple, }, { # Enable submission latency "test_id": 7, "fio_opts": { "output-format": "json", "servers": [ { "client" : 0, "jobfile": "test07-slat.fio", }, { "client" : 1, "jobfile": "test07-slat.fio", }, ] }, "test_class": ClientServerTestAllClientsLat, }, { # Enable completion latency "test_id": 8, "fio_opts": { "output-format": "json", "servers": [ { "client" : 0, "jobfile": "test08-clat.fio", }, { "client" : 1, "jobfile": "test08-clat.fio", }, ] }, "test_class": ClientServerTestAllClientsLat, }, { # Enable total latency "test_id": 9, "fio_opts": { "output-format": "json", "servers": [ { "client" : 0, "jobfile": "test09-lat.fio", }, { "client" : 1, "jobfile": "test09-lat.fio", }, ] }, "test_class": ClientServerTestAllClientsLat, }, { # Disable completion latency "test_id": 10, "fio_opts": { "output-format": "json", "servers": [ { "client" : 0, "jobfile": "test10-noclat.fio", }, { "client" : 1, "jobfile": "test10-noclat.fio", }, ] }, "test_class": ClientServerTestAllClientsLat, }, { # Enable submission, completion, total latency "test_id": 11, "fio_opts": { "output-format": "json", "servers": [ { "client" : 0, "jobfile": "test11-alllat.fio", }, { "client" : 1, "jobfile": "test11-alllat.fio", }, ] }, "test_class": ClientServerTestAllClientsLat, }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-d', '--debug', help='Enable debug messages', action='store_true') parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') args = parser.parse_args() return args def start_servers(fio_path, servers=SERVER_LIST): """Start servers for our tests.""" for server in servers: tmpfile = tempfile.mktemp() cmd = [fio_path, f"--server={server}", f"--daemonize={tmpfile}"] cmd_result = subprocess.run(cmd, capture_output=True, check=False, encoding=locale.getpreferredencoding()) if cmd_result.returncode != 0: logging.error("Unable to start server on %s: %s", server, cmd_result.stderr) return False logging.debug("Started server %s", server) PIDFILE_LIST.append(tmpfile) return True def stop_servers(pidfiles=PIDFILE_LIST): """Stop running fio server invocations.""" for pidfile in pidfiles: with open(pidfile, "r", encoding=locale.getpreferredencoding()) as file: pid = file.read().strip() cmd = ["kill", f"{pid}"] cmd_result = subprocess.run(cmd, capture_output=True, check=False, encoding=locale.getpreferredencoding()) if cmd_result.returncode != 0: logging.error("Unable to kill server with PID %s: %s", pid, cmd_result.stderr) return False logging.debug("Sent stop signal to PID %s", pid) return True def main(): """Run tests for fio's client/server mode.""" args = parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) artifact_root = args.artifact_root if args.artifact_root else \ f"client_server-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = os.path.join(os.path.dirname(__file__), '../fio') print(f"fio path is {fio_path}") if not start_servers(fio_path): sys.exit(1) print("Servers started") job_path = os.path.join(os.path.dirname(__file__), "client_server") for test in TEST_LIST: opts = test['fio_opts'] for server in opts['servers']: server['client'] = SERVER_LIST[server['client']] server['jobfile'] = os.path.join(job_path, server['jobfile']) test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'client_server', } _, failed, _ = run_fio_tests(TEST_LIST, test_env, args) stop_servers() sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/client_server/000077500000000000000000000000001476262051600153455ustar00rootroot00000000000000fio-3.39/t/client_server/test01.fio000066400000000000000000000002121476262051600171570ustar00rootroot00000000000000[global] ioengine=null time_based runtime=3s filesize=1T [test1] description=test1 [test2] description=test2 [test3] description=test3 fio-3.39/t/client_server/test04-noglobal.fio000066400000000000000000000003401476262051600207570ustar00rootroot00000000000000[test1] description=test1 ioengine=null time_based runtime=3s filesize=1T [test2] description=test2 ioengine=null time_based runtime=3s filesize=1T [test3] description=test3 ioengine=null time_based runtime=3s filesize=1T fio-3.39/t/client_server/test07-slat.fio000066400000000000000000000001241476262051600201300ustar00rootroot00000000000000[test] ioengine=null iodepth=2 filesize=1T time_based runtime=3s slat_percentiles=1 fio-3.39/t/client_server/test08-clat.fio000066400000000000000000000001241476262051600201110ustar00rootroot00000000000000[test] ioengine=null iodepth=2 filesize=1T time_based runtime=3s clat_percentiles=1 fio-3.39/t/client_server/test09-lat.fio000066400000000000000000000001231476262051600177460ustar00rootroot00000000000000[test] ioengine=null iodepth=2 filesize=1T time_based runtime=3s lat_percentiles=1 fio-3.39/t/client_server/test10-noclat.fio000066400000000000000000000001241476262051600204370ustar00rootroot00000000000000[test] ioengine=null iodepth=2 filesize=1T time_based runtime=3s clat_percentiles=0 fio-3.39/t/client_server/test11-alllat.fio000066400000000000000000000001711476262051600204330ustar00rootroot00000000000000[test] ioengine=null iodepth=2 filesize=1T time_based runtime=3s slat_percentiles=1 clat_percentiles=1 lat_percentiles=1 fio-3.39/t/debug.c000066400000000000000000000002531476262051600137330ustar00rootroot00000000000000#include FILE *f_err; void *fio_ts; unsigned long fio_debug = 0; void __dprint(int type, const char *str, ...) { } void debug_init(void) { f_err = stderr; } fio-3.39/t/debug.h000066400000000000000000000001271476262051600137400ustar00rootroot00000000000000#ifndef FIO_DEBUG_INC_H #define FIO_DEBUG_INC_H extern void debug_init(void); #endif fio-3.39/t/dedupe.c000066400000000000000000000353171476262051600141240ustar00rootroot00000000000000/* * Small tool to check for dedupable blocks in a file or device. Basically * just scans the filename for extents of the given size, checksums them, * and orders them up. */ #include #include #include #include #include #include #include "../fio.h" #include "../flist.h" #include "../log.h" #include "../fio_sem.h" #include "../smalloc.h" #include "../minmax.h" #include "../crc/md5.h" #include "../os/os.h" #include "../gettime.h" #include "../fio_time.h" #include "../lib/rbtree.h" #include "../lib/bloom.h" #include "debug.h" #include "zlib.h" struct zlib_ctrl { z_stream stream; unsigned char *buf_in; unsigned char *buf_out; }; struct worker_thread { struct zlib_ctrl zc; pthread_t thread; uint64_t cur_offset; uint64_t size; unsigned long long unique_capacity; unsigned long items; unsigned long dupes; int err; int fd; volatile int done; }; struct extent { struct flist_head list; uint64_t offset; }; struct chunk { struct fio_rb_node rb_node; uint64_t count; uint32_t hash[MD5_HASH_WORDS]; struct flist_head extent_list[0]; }; struct item { uint64_t offset; uint32_t hash[MD5_HASH_WORDS]; }; static struct rb_root rb_root; static struct bloom *bloom; static struct fio_sem *rb_lock; static unsigned int blocksize = 4096; static unsigned int num_threads; static unsigned int chunk_size = 1048576; static unsigned int dump_output; static unsigned int odirect; static unsigned int collision_check; static unsigned int print_progress = 1; static unsigned int use_bloom = 1; static unsigned int compression = 0; static uint64_t total_size; static uint64_t cur_offset; static struct fio_sem *size_lock; static struct fio_file file; static uint64_t get_size(struct fio_file *f, struct stat *sb) { uint64_t ret; if (S_ISBLK(sb->st_mode)) { unsigned long long bytes = 0; if (blockdev_size(f, &bytes)) { log_err("dedupe: failed getting bdev size\n"); return 0; } ret = bytes; } else { ret = sb->st_size; } return (ret & ~((uint64_t)blocksize - 1)); } static int get_work(uint64_t *offset, uint64_t *size) { uint64_t this_chunk; int ret = 1; fio_sem_down(size_lock); if (cur_offset < total_size) { *offset = cur_offset; this_chunk = min((uint64_t)chunk_size, total_size - cur_offset); *size = this_chunk; cur_offset += this_chunk; ret = 0; } fio_sem_up(size_lock); return ret; } static int __read_block(int fd, void *buf, off_t offset, size_t count) { ssize_t ret; ret = pread(fd, buf, count, offset); if (ret < 0) { perror("pread"); return 1; } else if (!ret) { return 1; } else if (ret != count) { log_err("dedupe: short read on block\n"); return 1; } return 0; } static int read_block(int fd, void *buf, off_t offset) { return __read_block(fd, buf, offset, blocksize); } static int account_unique_capacity(uint64_t offset, uint64_t *unique_capacity, struct zlib_ctrl *zc) { z_stream *stream = &zc->stream; unsigned int compressed_len; int ret; if (read_block(file.fd, zc->buf_in, offset)) return 1; stream->next_in = zc->buf_in; stream->avail_in = blocksize; stream->avail_out = deflateBound(stream, blocksize); stream->next_out = zc->buf_out; ret = deflate(stream, Z_FINISH); if (ret == Z_STREAM_ERROR) return 1; compressed_len = blocksize - stream->avail_out; if (dump_output) printf("offset 0x%lx compressed to %d blocksize %d ratio %.2f \n", (unsigned long) offset, compressed_len, blocksize, (float)compressed_len / (float)blocksize); *unique_capacity += compressed_len; deflateReset(stream); return 0; } static void add_item(struct chunk *c, struct item *i) { /* * Save some memory and don't add extent items, if we don't * use them. */ if (dump_output || collision_check) { struct extent *e; e = malloc(sizeof(*e)); e->offset = i->offset; flist_add_tail(&e->list, &c->extent_list[0]); } c->count++; } static int col_check(struct chunk *c, struct item *i) { struct extent *e; char *cbuf, *ibuf; int ret = 1; cbuf = fio_memalign(blocksize, blocksize, false); ibuf = fio_memalign(blocksize, blocksize, false); e = flist_entry(c->extent_list[0].next, struct extent, list); if (read_block(file.fd, cbuf, e->offset)) goto out; if (read_block(file.fd, ibuf, i->offset)) goto out; ret = memcmp(ibuf, cbuf, blocksize); out: fio_memfree(cbuf, blocksize, false); fio_memfree(ibuf, blocksize, false); return ret; } static struct chunk *alloc_chunk(void) { struct chunk *c; if (collision_check || dump_output) { c = malloc(sizeof(struct chunk) + sizeof(struct flist_head)); INIT_FLIST_HEAD(&c->extent_list[0]); } else { c = malloc(sizeof(struct chunk)); } return c; } static int insert_chunk(struct item *i, uint64_t *unique_capacity, struct zlib_ctrl *zc) { struct fio_rb_node **p, *parent; struct chunk *c; int ret, diff; p = &rb_root.rb_node; parent = NULL; while (*p) { parent = *p; c = rb_entry(parent, struct chunk, rb_node); diff = memcmp(i->hash, c->hash, sizeof(i->hash)); if (diff < 0) { p = &(*p)->rb_left; } else if (diff > 0) { p = &(*p)->rb_right; } else { if (!collision_check) goto add; fio_sem_up(rb_lock); ret = col_check(c, i); fio_sem_down(rb_lock); if (!ret) goto add; p = &(*p)->rb_right; } } c = alloc_chunk(); RB_CLEAR_NODE(&c->rb_node); c->count = 0; memcpy(c->hash, i->hash, sizeof(i->hash)); rb_link_node(&c->rb_node, parent, p); rb_insert_color(&c->rb_node, &rb_root); if (compression) { ret = account_unique_capacity(i->offset, unique_capacity, zc); if (ret) return ret; } add: add_item(c, i); return 0; } static int insert_chunks(struct item *items, unsigned int nitems, uint64_t *ndupes, uint64_t *unique_capacity, struct zlib_ctrl *zc) { int i, ret = 0; fio_sem_down(rb_lock); for (i = 0; i < nitems; i++) { if (bloom) { unsigned int s; int r; s = sizeof(items[i].hash) / sizeof(uint32_t); r = bloom_set(bloom, items[i].hash, s); *ndupes += r; } else { ret = insert_chunk(&items[i], unique_capacity, zc); if (ret) break; } } fio_sem_up(rb_lock); return ret; } static void crc_buf(void *buf, uint32_t *hash) { struct fio_md5_ctx ctx = { .hash = hash }; fio_md5_init(&ctx); fio_md5_update(&ctx, buf, blocksize); fio_md5_final(&ctx); } static unsigned int read_blocks(int fd, void *buf, off_t offset, size_t size) { if (__read_block(fd, buf, offset, size)) return 0; return size / blocksize; } static int do_work(struct worker_thread *thread, void *buf) { unsigned int nblocks, i; off_t offset; int nitems = 0; uint64_t ndupes = 0; uint64_t unique_capacity = 0; struct item *items; int ret; offset = thread->cur_offset; nblocks = read_blocks(thread->fd, buf, offset, min(thread->size, (uint64_t) chunk_size)); if (!nblocks) return 1; items = malloc(sizeof(*items) * nblocks); for (i = 0; i < nblocks; i++) { void *thisptr = buf + (i * blocksize); items[i].offset = offset; crc_buf(thisptr, items[i].hash); offset += blocksize; nitems++; } ret = insert_chunks(items, nitems, &ndupes, &unique_capacity, &thread->zc); free(items); if (!ret) { thread->items += nitems; thread->dupes += ndupes; thread->unique_capacity += unique_capacity; return 0; } return ret; } static void thread_init_zlib_control(struct worker_thread *thread) { size_t sz; z_stream *stream = &thread->zc.stream; stream->zalloc = Z_NULL; stream->zfree = Z_NULL; stream->opaque = Z_NULL; if (deflateInit(stream, Z_DEFAULT_COMPRESSION) != Z_OK) return; thread->zc.buf_in = fio_memalign(blocksize, blocksize, false); sz = deflateBound(stream, blocksize); thread->zc.buf_out = fio_memalign(blocksize, sz, false); } static void *thread_fn(void *data) { struct worker_thread *thread = data; void *buf; buf = fio_memalign(blocksize, chunk_size, false); thread_init_zlib_control(thread); do { if (get_work(&thread->cur_offset, &thread->size)) { thread->err = 1; break; } if (do_work(thread, buf)) { thread->err = 1; break; } } while (1); thread->done = 1; fio_memfree(buf, chunk_size, false); return NULL; } static void show_progress(struct worker_thread *threads, unsigned long total) { unsigned long last_nitems = 0; struct timespec last_tv; fio_gettime(&last_tv, NULL); while (print_progress) { unsigned long this_items; unsigned long nitems = 0; uint64_t tdiff; float perc; int some_done = 0; int i; for (i = 0; i < num_threads; i++) { nitems += threads[i].items; some_done = threads[i].done; if (some_done) break; } if (some_done) break; perc = (float) nitems / (float) total; perc *= 100.0; this_items = nitems - last_nitems; this_items *= blocksize; tdiff = mtime_since_now(&last_tv); if (tdiff) { this_items = (this_items * 1000) / (tdiff * 1024); printf("%3.2f%% done (%luKiB/sec)\r", perc, this_items); last_nitems = nitems; fio_gettime(&last_tv, NULL); } else { printf("%3.2f%% done\r", perc); } fflush(stdout); usleep(250000); }; } static int run_dedupe_threads(struct fio_file *f, uint64_t dev_size, uint64_t *nextents, uint64_t *nchunks, uint64_t *unique_capacity) { struct worker_thread *threads; unsigned long nitems, total_items; int i, err = 0; total_size = dev_size; total_items = dev_size / blocksize; cur_offset = 0; size_lock = fio_sem_init(FIO_SEM_UNLOCKED); threads = malloc(num_threads * sizeof(struct worker_thread)); for (i = 0; i < num_threads; i++) { memset(&threads[i], 0, sizeof(struct worker_thread)); threads[i].fd = f->fd; err = pthread_create(&threads[i].thread, NULL, thread_fn, &threads[i]); if (err) { log_err("fio: thread startup failed\n"); break; } } show_progress(threads, total_items); nitems = 0; *nextents = 0; *nchunks = 1; *unique_capacity = 0; for (i = 0; i < num_threads; i++) { void *ret; pthread_join(threads[i].thread, &ret); nitems += threads[i].items; *nchunks += threads[i].dupes; *unique_capacity += threads[i].unique_capacity; } printf("Threads(%u): %lu items processed\n", num_threads, nitems); *nextents = nitems; *nchunks = nitems - *nchunks; fio_sem_remove(size_lock); free(threads); return err; } static int dedupe_check(const char *filename, uint64_t *nextents, uint64_t *nchunks, uint64_t *unique_capacity) { uint64_t dev_size; struct stat sb; int flags; flags = O_RDONLY; if (odirect) flags |= OS_O_DIRECT; memset(&file, 0, sizeof(file)); file.file_name = strdup(filename); file.fd = open(filename, flags); if (file.fd == -1) { perror("open"); goto err; } if (fstat(file.fd, &sb) < 0) { perror("fstat"); goto err; } dev_size = get_size(&file, &sb); if (!dev_size) goto err; if (use_bloom) { uint64_t bloom_entries; bloom_entries = 8 * (dev_size / blocksize); bloom = bloom_new(bloom_entries); } printf("Will check <%s>, size <%llu>, using %u threads\n", filename, (unsigned long long) dev_size, num_threads); return run_dedupe_threads(&file, dev_size, nextents, nchunks, unique_capacity); err: if (file.fd != -1) close(file.fd); free(file.file_name); return 1; } static void show_chunk(struct chunk *c) { struct flist_head *n; struct extent *e; printf("c hash %8x %8x %8x %8x, count %lu\n", c->hash[0], c->hash[1], c->hash[2], c->hash[3], (unsigned long) c->count); flist_for_each(n, &c->extent_list[0]) { e = flist_entry(n, struct extent, list); printf("\toffset %llu\n", (unsigned long long) e->offset); } } static const char *capacity_unit[] = {"b","KB", "MB", "GB", "TB", "PB", "EB"}; static uint64_t bytes_to_human_readable_unit(uint64_t n, const char **unit_out) { uint8_t i = 0; while (n >= 1024) { i++; n /= 1024; } *unit_out = capacity_unit[i]; return n; } static void show_stat(uint64_t nextents, uint64_t nchunks, uint64_t ndupextents, uint64_t unique_capacity) { double perc, ratio; const char *unit; uint64_t uc_human; printf("Extents=%lu, Unique extents=%lu", (unsigned long) nextents, (unsigned long) nchunks); if (!bloom) printf(" Duplicated extents=%lu", (unsigned long) ndupextents); printf("\n"); if (nchunks) { ratio = (double) nextents / (double) nchunks; printf("De-dupe ratio: 1:%3.2f\n", ratio - 1.0); } else { printf("De-dupe ratio: 1:infinite\n"); } if (ndupextents) { printf("De-dupe working set at least: %3.2f%%\n", 100.0 * (double) ndupextents / (double) nextents); } perc = 1.00 - ((double) nchunks / (double) nextents); perc *= 100.0; printf("Fio setting: dedupe_percentage=%u\n", (int) (perc + 0.50)); if (compression) { uc_human = bytes_to_human_readable_unit(unique_capacity, &unit); printf("Unique capacity %lu%s\n", (unsigned long) uc_human, unit); } } static void iter_rb_tree(uint64_t *nextents, uint64_t *nchunks, uint64_t *ndupextents) { struct fio_rb_node *n; *nchunks = *nextents = *ndupextents = 0; n = rb_first(&rb_root); if (!n) return; do { struct chunk *c; c = rb_entry(n, struct chunk, rb_node); (*nchunks)++; *nextents += c->count; *ndupextents += (c->count > 1); if (dump_output) show_chunk(c); } while ((n = rb_next(n)) != NULL); } static int usage(char *argv[]) { log_err("Check for dedupable blocks on a device/file\n\n"); log_err("%s: [options] \n", argv[0]); log_err("\t-b\tChunk size to use\n"); log_err("\t-t\tNumber of threads to use\n"); log_err("\t-d\tFull extent/chunk debug output\n"); log_err("\t-o\tUse O_DIRECT\n"); log_err("\t-c\tFull collision check\n"); log_err("\t-B\tUse probabilistic bloom filter\n"); log_err("\t-p\tPrint progress indicator\n"); log_err("\t-C\tCalculate compressible size\n"); return 1; } int main(int argc, char *argv[]) { uint64_t nextents = 0, nchunks = 0, ndupextents = 0, unique_capacity; int c, ret; arch_init(argv); debug_init(); while ((c = getopt(argc, argv, "b:t:d:o:c:p:B:C:")) != -1) { switch (c) { case 'b': blocksize = atoi(optarg); break; case 't': num_threads = atoi(optarg); break; case 'd': dump_output = atoi(optarg); break; case 'o': odirect = atoi(optarg); break; case 'c': collision_check = atoi(optarg); break; case 'p': print_progress = atoi(optarg); break; case 'B': use_bloom = atoi(optarg); break; case 'C': compression = atoi(optarg); break; case '?': default: return usage(argv); } } if (collision_check || dump_output || compression) use_bloom = 0; if (!num_threads) num_threads = cpus_configured(); if (argc == optind) return usage(argv); sinit(); rb_root = RB_ROOT; rb_lock = fio_sem_init(FIO_SEM_UNLOCKED); ret = dedupe_check(argv[optind], &nextents, &nchunks, &unique_capacity); if (!ret) { if (!bloom) iter_rb_tree(&nextents, &nchunks, &ndupextents); show_stat(nextents, nchunks, ndupextents, unique_capacity); } fio_sem_remove(rb_lock); if (bloom) bloom_free(bloom); scleanup(); return ret; } fio-3.39/t/fiotestcommon.py000066400000000000000000000126471476262051600157530ustar00rootroot00000000000000#!/usr/bin/env python3 """ fiotestcommon.py This contains constant definitions, helpers, and a Requirements class that can be used to help with running fio tests. """ import os import locale import logging import platform import subprocess import multiprocessing SUCCESS_DEFAULT = { 'zero_return': True, 'stderr_empty': True, 'timeout': 600, } SUCCESS_LONG = { 'zero_return': True, 'stderr_empty': True, 'timeout': 1800, } SUCCESS_NONZERO = { 'zero_return': False, 'stderr_empty': False, 'timeout': 600, } SUCCESS_STDERR = { 'zero_return': True, 'stderr_empty': False, 'timeout': 600, } def get_file(filename): """Safely read a file.""" file_data = '' success = True try: with open(filename, "r", encoding=locale.getpreferredencoding()) as output_file: file_data = output_file.read() except OSError: success = False return file_data, success class Requirements(): """Requirements consists of multiple run environment characteristics. These are to determine if a particular test can be run""" _linux = False _libaio = False _io_uring = False _zbd = False _root = False _zoned_nullb = False _not_macos = False _not_windows = False _unittests = False _cpucount4 = False _nvmecdev = False def __init__(self, fio_root, args): Requirements._not_macos = platform.system() != "Darwin" Requirements._not_windows = platform.system() != "Windows" Requirements._linux = platform.system() == "Linux" if Requirements._linux: config_file = os.path.join(fio_root, "config-host.h") contents, success = get_file(config_file) if not success: print(f"Unable to open {config_file} to check requirements") Requirements._zbd = True else: Requirements._zbd = "CONFIG_HAS_BLKZONED" in contents Requirements._libaio = "CONFIG_LIBAIO" in contents contents, success = get_file("/proc/kallsyms") if not success: print("Unable to open '/proc/kallsyms' to probe for io_uring support") else: Requirements._io_uring = "io_uring_setup" in contents Requirements._root = os.geteuid() == 0 if Requirements._zbd and Requirements._root: try: subprocess.run(["modprobe", "null_blk"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) if os.path.exists("/sys/module/null_blk/parameters/zoned"): Requirements._zoned_nullb = True except Exception: pass if platform.system() == "Windows": utest_exe = "unittest.exe" else: utest_exe = "unittest" unittest_path = os.path.join(fio_root, "unittests", utest_exe) Requirements._unittests = os.path.exists(unittest_path) Requirements._cpucount4 = multiprocessing.cpu_count() >= 4 Requirements._nvmecdev = args.nvmecdev if hasattr(args, 'nvmecdev') else False req_list = [ Requirements.linux, Requirements.libaio, Requirements.io_uring, Requirements.zbd, Requirements.root, Requirements.zoned_nullb, Requirements.not_macos, Requirements.not_windows, Requirements.unittests, Requirements.cpucount4, Requirements.nvmecdev, ] for req in req_list: value, desc = req() logging.debug("Requirements: Requirement '%s' met? %s", desc, value) @classmethod def linux(cls): """Are we running on Linux?""" return Requirements._linux, "Linux required" @classmethod def libaio(cls): """Is libaio available?""" return Requirements._libaio, "libaio required" @classmethod def io_uring(cls): """Is io_uring available?""" return Requirements._io_uring, "io_uring required" @classmethod def zbd(cls): """Is ZBD support available?""" return Requirements._zbd, "Zoned block device support required" @classmethod def root(cls): """Are we running as root?""" return Requirements._root, "root required" @classmethod def zoned_nullb(cls): """Are zoned null block devices available?""" return Requirements._zoned_nullb, "Zoned null block device support required" @classmethod def not_macos(cls): """Are we running on a platform other than macOS?""" return Requirements._not_macos, "platform other than macOS required" @classmethod def not_windows(cls): """Are we running on a platform other than Windws?""" return Requirements._not_windows, "platform other than Windows required" @classmethod def unittests(cls): """Were unittests built?""" return Requirements._unittests, "Unittests support required" @classmethod def cpucount4(cls): """Do we have at least 4 CPUs?""" return Requirements._cpucount4, "4+ CPUs required" @classmethod def nvmecdev(cls): """Do we have an NVMe character device to test?""" return Requirements._nvmecdev, "NVMe character device test target required" fio-3.39/t/fiotestlib.py000077500000000000000000000446331476262051600152340ustar00rootroot00000000000000#!/usr/bin/env python3 """ fiotestlib.py This library contains FioTest objects that provide convenient means to run different sorts of fio tests. It also contains a test runner that runs an array of dictionary objects describing fio tests. """ import os import sys import json import locale import logging import platform import traceback import subprocess from pathlib import Path from fiotestcommon import get_file, SUCCESS_DEFAULT class FioTest(): """Base for all fio tests.""" def __init__(self, exe_path, success, testnum, artifact_root): self.success = success self.testnum = testnum self.output = {} self.passed = True self.failure_reason = '' self.parameters = None self.paths = { 'exe': exe_path, 'artifacts': artifact_root, 'test_dir': os.path.join(artifact_root, \ f"{testnum:04d}"), } self.filenames = { 'cmd': os.path.join(self.paths['test_dir'], \ f"{os.path.basename(self.paths['exe'])}.command"), 'stdout': os.path.join(self.paths['test_dir'], \ f"{os.path.basename(self.paths['exe'])}.stdout"), 'stderr': os.path.join(self.paths['test_dir'], \ f"{os.path.basename(self.paths['exe'])}.stderr"), 'exitcode': os.path.join(self.paths['test_dir'], \ f"{os.path.basename(self.paths['exe'])}.exitcode"), } def setup(self, parameters): """Setup instance variables for test.""" self.parameters = parameters if not os.path.exists(self.paths['test_dir']): os.mkdir(self.paths['test_dir']) def run(self): """Run the test.""" raise NotImplementedError() def check_result(self): """Check test results.""" raise NotImplementedError() class FioExeTest(FioTest): """Test consists of an executable binary or script""" def run(self): """Execute the binary or script described by this instance.""" command = [self.paths['exe']] + self.parameters with open(self.filenames['cmd'], "w+", encoding=locale.getpreferredencoding()) as command_file: command_file.write(" \\\n ".join(command)) try: with open(self.filenames['stdout'], "w+", encoding=locale.getpreferredencoding()) as stdout_file, \ open(self.filenames['stderr'], "w+", encoding=locale.getpreferredencoding()) as stderr_file, \ open(self.filenames['exitcode'], "w+", encoding=locale.getpreferredencoding()) as exitcode_file: proc = None # Avoid using subprocess.run() here because when a timeout occurs, # fio will be stopped with SIGKILL. This does not give fio a # chance to clean up and means that child processes may continue # running and submitting IO. proc = subprocess.Popen(command, stdout=stdout_file, stderr=stderr_file, cwd=self.paths['test_dir'], universal_newlines=True) proc.communicate(timeout=self.success['timeout']) exitcode_file.write(f'{proc.returncode}\n') logging.debug("Test %d: return code: %d", self.testnum, proc.returncode) self.output['proc'] = proc except subprocess.TimeoutExpired: proc.terminate() proc.communicate() assert proc.poll() self.output['failure'] = 'timeout' except Exception: if proc: if not proc.poll(): proc.terminate() proc.communicate() self.output['failure'] = 'exception' self.output['exc_info'] = sys.exc_info() def check_result(self): """Check results of test run.""" if 'proc' not in self.output: if self.output['failure'] == 'timeout': self.failure_reason = f"{self.failure_reason} timeout," else: assert self.output['failure'] == 'exception' self.failure_reason = f'{self.failure_reason} exception: ' + \ f'{self.output["exc_info"][0]}, {self.output["exc_info"][1]}' self.passed = False return if 'zero_return' in self.success: if self.success['zero_return']: if self.output['proc'].returncode != 0: self.passed = False self.failure_reason = f"{self.failure_reason} non-zero return code," else: if self.output['proc'].returncode == 0: self.failure_reason = f"{self.failure_reason} zero return code," self.passed = False stderr_size = os.path.getsize(self.filenames['stderr']) if 'stderr_empty' in self.success: if self.success['stderr_empty']: if stderr_size != 0: self.failure_reason = f"{self.failure_reason} stderr not empty size {stderr_size}," self.passed = False else: if stderr_size == 0: self.failure_reason = f"{self.failure_reason} stderr empty," self.passed = False class FioJobFileTest(FioExeTest): """Test consists of a fio job with options in a job file.""" def __init__(self, fio_path, fio_job, success, testnum, artifact_root, fio_pre_job=None, fio_pre_success=None, output_format="normal"): """Construct a FioJobFileTest which is a FioExeTest consisting of a single fio job file with an optional setup step. fio_path: location of fio executable fio_job: location of fio job file success: Definition of test success testnum: test ID artifact_root: root directory for artifacts fio_pre_job: fio job for preconditioning fio_pre_success: Definition of test success for fio precon job output_format: normal (default), json, jsonplus, or terse """ self.fio_job = fio_job self.fio_pre_job = fio_pre_job self.fio_pre_success = fio_pre_success if fio_pre_success else success self.output_format = output_format self.precon_failed = False self.json_data = None super().__init__(fio_path, success, testnum, artifact_root) def setup(self, parameters): """Setup instance variables for fio job test.""" self.filenames['fio_output'] = f"{os.path.basename(self.fio_job)}.output" fio_args = [ "--max-jobs=16", f"--output-format={self.output_format}", f"--output={self.filenames['fio_output']}", self.fio_job, ] if parameters: fio_args += parameters super().setup(fio_args) # Update the filenames from the default self.filenames['cmd'] = os.path.join(self.paths['test_dir'], f"{os.path.basename(self.fio_job)}.command") self.filenames['stdout'] = os.path.join(self.paths['test_dir'], f"{os.path.basename(self.fio_job)}.stdout") self.filenames['stderr'] = os.path.join(self.paths['test_dir'], f"{os.path.basename(self.fio_job)}.stderr") self.filenames['exitcode'] = os.path.join(self.paths['test_dir'], f"{os.path.basename(self.fio_job)}.exitcode") def run_pre_job(self): """Run fio job precondition step.""" precon = FioJobFileTest(self.paths['exe'], self.fio_pre_job, self.fio_pre_success, self.testnum, self.paths['artifacts'], output_format=self.output_format) precon.setup(None) precon.run() precon.check_result() self.precon_failed = not precon.passed self.failure_reason = precon.failure_reason def run(self): """Run fio job test.""" if self.fio_pre_job: self.run_pre_job() if not self.precon_failed: super().run() else: logging.debug("Test %d: precondition step failed", self.testnum) def get_file_fail(self, filename): """Safely read a file and fail the test upon error.""" file_data = None try: with open(filename, "r", encoding=locale.getpreferredencoding()) as output_file: file_data = output_file.read() except OSError: self.failure_reason += f" unable to read file {filename}" self.passed = False return file_data def check_result(self): """Check fio job results.""" if self.precon_failed: self.passed = False self.failure_reason = f"{self.failure_reason} precondition step failed," return super().check_result() if not self.passed: return if 'json' not in self.output_format: return file_data = self.get_file_fail(os.path.join(self.paths['test_dir'], self.filenames['fio_output'])) if not file_data: return # # Sometimes fio informational messages are included outside the JSON # output, especially under Windows. Try to decode output as JSON data, # skipping outside the first { and last } # lines = file_data.splitlines() last = len(lines) - lines[::-1].index("}") file_data = '\n'.join(lines[lines.index("{"):last]) try: self.json_data = json.loads(file_data) except json.JSONDecodeError: self.failure_reason = f"{self.failure_reason} unable to decode JSON data," self.passed = False class FioJobCmdTest(FioExeTest): """This runs a fio job with options specified on the command line.""" def __init__(self, fio_path, success, testnum, artifact_root, fio_opts, basename=None): self.basename = basename if basename else os.path.basename(fio_path) self.fio_opts = fio_opts self.json_data = None self.iops_log_lines = None super().__init__(fio_path, success, testnum, artifact_root) filename_stub = os.path.join(self.paths['test_dir'], f"{self.basename}{self.testnum:03d}") self.filenames['cmd'] = f"{filename_stub}.command" self.filenames['stdout'] = f"{filename_stub}.stdout" self.filenames['stderr'] = f"{filename_stub}.stderr" self.filenames['output'] = os.path.abspath(f"{filename_stub}.output") self.filenames['exitcode'] = f"{filename_stub}.exitcode" self.filenames['iopslog'] = os.path.abspath(f"{filename_stub}") def run(self): super().run() if 'output-format' in self.fio_opts and 'json' in \ self.fio_opts['output-format']: if not self.get_json(): print('Unable to decode JSON data') self.passed = False if any('--write_iops_log=' in param for param in self.parameters): self.get_iops_log() def get_iops_log(self): """Read IOPS log from the first job.""" log_filename = self.filenames['iopslog'] + "_iops.1.log" with open(log_filename, 'r', encoding=locale.getpreferredencoding()) as iops_file: self.iops_log_lines = iops_file.read() def get_json(self): """Convert fio JSON output into a python JSON object""" filename = self.filenames['output'] with open(filename, 'r', encoding=locale.getpreferredencoding()) as file: file_data = file.read() # # Sometimes fio informational messages are included outside the JSON # output, especially under Windows. Try to decode output as JSON data, # skipping outside the first { and last } # lines = file_data.splitlines() last = len(lines) - lines[::-1].index("}") file_data = '\n'.join(lines[lines.index("{"):last]) try: self.json_data = json.loads(file_data) except json.JSONDecodeError: return False return True @staticmethod def check_empty(job): """ Make sure JSON data is empty. Some data structures should be empty. This function makes sure that they are. job JSON object that we need to check for emptiness """ return job['total_ios'] == 0 and \ job['slat_ns']['N'] == 0 and \ job['clat_ns']['N'] == 0 and \ job['lat_ns']['N'] == 0 def check_all_ddirs(self, ddir_nonzero, job): """ Iterate over the data directions and check whether each is appropriately empty or not. """ retval = True ddirlist = ['read', 'write', 'trim'] for ddir in ddirlist: if ddir in ddir_nonzero: if self.check_empty(job[ddir]): print(f"Unexpected zero {ddir} data found in output") retval = False else: if not self.check_empty(job[ddir]): print(f"Unexpected {ddir} data found in output") retval = False return retval def run_fio_tests(test_list, test_env, args): """ Run tests as specified in test_list. """ passed = 0 failed = 0 skipped = 0 for config in test_list: if (args.skip and config['test_id'] in args.skip) or \ (args.run_only and config['test_id'] not in args.run_only) or \ ('force_skip' in config and config['force_skip']): skipped = skipped + 1 print(f"Test {config['test_id']} SKIPPED (User request or override)") continue if issubclass(config['test_class'], FioJobFileTest): if config['pre_job']: fio_pre_job = os.path.join(test_env['fio_root'], 't', 'jobs', config['pre_job']) else: fio_pre_job = None if config['pre_success']: fio_pre_success = config['pre_success'] else: fio_pre_success = None if 'output_format' in config: output_format = config['output_format'] else: output_format = 'normal' test = config['test_class']( test_env['fio_path'], os.path.join(test_env['fio_root'], 't', 'jobs', config['job']), config['success'], config['test_id'], test_env['artifact_root'], fio_pre_job=fio_pre_job, fio_pre_success=fio_pre_success, output_format=output_format) desc = config['job'] parameters = config['parameters'] if 'parameters' in config else None elif issubclass(config['test_class'], FioJobCmdTest): if not 'success' in config: config['success'] = SUCCESS_DEFAULT test = config['test_class'](test_env['fio_path'], config['success'], config['test_id'], test_env['artifact_root'], config['fio_opts'], test_env['basename']) desc = config['test_id'] parameters = config elif issubclass(config['test_class'], FioExeTest): exe_path = os.path.join(test_env['fio_root'], config['exe']) parameters = [] if config['parameters']: parameters = [p.format(fio_path=test_env['fio_path'], nvmecdev=args.nvmecdev) for p in config['parameters']] if Path(exe_path).suffix == '.py' and platform.system() == "Windows": parameters.insert(0, exe_path) exe_path = "python.exe" if config['test_id'] in test_env['pass_through']: parameters += test_env['pass_through'][config['test_id']].split() test = config['test_class']( exe_path, config['success'], config['test_id'], test_env['artifact_root']) desc = config['exe'] else: print(f"Test {config['test_id']} FAILED: unable to process test config") failed = failed + 1 continue if 'requirements' in config and not args.skip_req: reqs_met = True for req in config['requirements']: reqs_met, reason = req() logging.debug("Test %d: Requirement '%s' met? %s", config['test_id'], reason, reqs_met) if not reqs_met: break if not reqs_met: print(f"Test {config['test_id']} SKIPPED ({reason}) {desc}") skipped = skipped + 1 continue try: test.setup(parameters) test.run() test.check_result() except KeyboardInterrupt: break except Exception as e: test.passed = False test.failure_reason += str(e) logging.debug("Test %d exception:\n%s\n", config['test_id'], traceback.format_exc()) if test.passed: result = "PASSED" passed = passed + 1 else: result = f"FAILED: {test.failure_reason}" failed = failed + 1 contents, _ = get_file(test.filenames['stderr']) logging.debug("Test %d: stderr:\n%s", config['test_id'], contents) contents, _ = get_file(test.filenames['stdout']) logging.debug("Test %d: stdout:\n%s", config['test_id'], contents) print(f"Test {config['test_id']} {result} {desc}") print(f"{passed} test(s) passed, {failed} failed, {skipped} skipped") return passed, failed, skipped fio-3.39/t/fuzz/000077500000000000000000000000001476262051600134775ustar00rootroot00000000000000fio-3.39/t/fuzz/fuzz_parseini.c000066400000000000000000000014121476262051600165310ustar00rootroot00000000000000#include "fio.h" static int initialized = 0; const char *const fakeargv[] = {(char *) "fuzz", (char *) "--output", (char *) "/dev/null", (char *) "--parse-only", 0}; int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { char *fuzzedini; if (size < 2) return 0; if (initialized == 0) { if (fio_init_options()) { printf("Failed fio_init_options\n"); return 1; } parse_cmd_line(4, (char **) fakeargv, 0); sinit(); initialized = 1; } fuzzedini = malloc(size); if (!fuzzedini) { printf("Failed malloc\n"); return 1; } /* final character is type for parse_jobs_ini */ memcpy(fuzzedini, data, size - 1); /* ensures final 0 */ fuzzedini[size - 1] = 0; parse_jobs_ini(fuzzedini, 1, 0, data[size - 1]); free(fuzzedini); return 0; } fio-3.39/t/fuzz/onefile.c000066400000000000000000000014521476262051600152660ustar00rootroot00000000000000#include #include #include int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size); int main(int argc, char** argv) { FILE *fp; uint8_t *data; size_t size; if (argc != 2) return 1; /* opens the file, get its size, and reads it into a buffer */ fp = fopen(argv[1], "rb"); if (fp == NULL) return 2; if (fseek(fp, 0L, SEEK_END) != 0) { fclose(fp); return 2; } size = ftell(fp); if (size == (size_t) -1) { fclose(fp); return 2; } if (fseek(fp, 0L, SEEK_SET) != 0) { fclose(fp); return 2; } data = malloc(size); if (data == NULL) { fclose(fp); return 2; } if (fread(data, size, 1, fp) != 1) { fclose(fp); free(data); return 2; } /* launch fuzzer */ LLVMFuzzerTestOneInput(data, size); free(data); fclose(fp); return 0; } fio-3.39/t/gen-rand.c000066400000000000000000000025401476262051600143410ustar00rootroot00000000000000#include #include #include #include #include "../lib/types.h" #include "../lib/rand.h" #include "../log.h" int main(int argc, char *argv[]) { struct frand_state s; uint64_t i, start, end, nvalues; unsigned long *buckets, index, pass, fail; double p, dev, mean, vmin, vmax; if (argc < 4) { log_err("%s: start end nvalues\n", argv[0]); return 1; } start = strtoul(argv[1], NULL, 10); end = strtoul(argv[2], NULL, 10); if (start >= end) { log_err("%s: start must be smaller than end\n", argv[0]); return 1; } index = 1 + end - start; buckets = calloc(index, sizeof(unsigned long)); nvalues = strtoul(argv[3], NULL, 10); init_rand(&s, false); for (i = 0; i < nvalues; i++) { int v = rand_between(&s, start, end); buckets[v - start]++; } p = 1.0 / index; dev = sqrt(nvalues * p * (1.0 - p)); mean = nvalues * p; vmin = mean - dev; vmax = mean + dev; pass = fail = 0; for (i = 0; i < index; i++) { if (buckets[i] < vmin || buckets[i] > vmax) { printf("FAIL bucket%4lu: val=%8lu (%.1f < %.1f > %.1f)\n", (unsigned long) i + 1, buckets[i], vmin, mean, vmax); fail++; } else { printf("PASS bucket%4lu: val=%8lu (%.1f < %.1f > %.1f)\n", (unsigned long) i + 1, buckets[i], vmin, mean, vmax); pass++; } } printf("Passes=%lu, Fail=%lu\n", pass, fail); free(buckets); return 0; } fio-3.39/t/genzipf.c000066400000000000000000000175501476262051600143170ustar00rootroot00000000000000/* * Generate/analyze pareto/zipf distributions to better understand * what an access pattern would look like. * * For instance, the following would generate a zipf distribution * with theta 1.2, using 262144 (1 GiB / 4096) values and split the * reporting into 20 buckets: * * ./t/fio-genzipf -t zipf -i 1.2 -g 1 -b 4096 -o 20 * * Only the distribution type (zipf or pareto) and spread input need * to be given, if not given defaults are used. * */ #include #include #include #include #include "../lib/zipf.h" #include "../lib/gauss.h" #include "../flist.h" #include "../hash.h" #define DEF_NR_OUTPUT 20 struct node { struct flist_head list; unsigned long long val; unsigned long hits; }; static struct flist_head *hash; static unsigned long hash_bits = 24; static unsigned long hash_size = 1 << 24; enum { TYPE_NONE = 0, TYPE_ZIPF, TYPE_PARETO, TYPE_NORMAL, }; static const char *dist_types[] = { "None", "Zipf", "Pareto", "Normal" }; enum { OUTPUT_NORMAL, OUTPUT_CSV, }; static int dist_type = TYPE_ZIPF; static unsigned long gib_size = 500; static unsigned long block_size = 4096; static unsigned long output_nranges = DEF_NR_OUTPUT; static double percentage; static double dist_val; static int output_type = OUTPUT_NORMAL; #define DEF_ZIPF_VAL 1.2 #define DEF_PARETO_VAL 0.3 static unsigned int hashv(unsigned long long val) { return jhash(&val, sizeof(val), 0) & (hash_size - 1); } static struct node *hash_lookup(unsigned long long val) { struct flist_head *l = &hash[hashv(val)]; struct flist_head *entry; struct node *n; flist_for_each(entry, l) { n = flist_entry(entry, struct node, list); if (n->val == val) return n; } return NULL; } static void hash_insert(struct node *n, unsigned long long val) { struct flist_head *l = &hash[hashv(val)]; n->val = val; n->hits = 1; flist_add_tail(&n->list, l); } static void usage(void) { printf("genzipf: test zipf/pareto values for fio input\n"); printf("\t-h\tThis help screen\n"); printf("\t-p\tGenerate size of data set that are hit by this percentage\n"); printf("\t-t\tDistribution type (zipf, pareto, or normal)\n"); printf("\t-i\tDistribution algorithm input (zipf theta, pareto power,\n" "\t\tor normal %% deviation)\n"); printf("\t-b\tBlock size of a given range (in bytes)\n"); printf("\t-g\tSize of data set (in gigabytes)\n"); printf("\t-o\tNumber of output rows\n"); printf("\t-c\tOutput ranges in CSV format\n"); } static int parse_options(int argc, char *argv[]) { const char *optstring = "t:g:i:o:b:p:ch"; int c, dist_val_set = 0; while ((c = getopt(argc, argv, optstring)) != -1) { switch (c) { case 'h': usage(); return 1; case 'p': percentage = atof(optarg); break; case 'b': block_size = strtoul(optarg, NULL, 10); break; case 't': if (!strncmp(optarg, "zipf", 4)) dist_type = TYPE_ZIPF; else if (!strncmp(optarg, "pareto", 6)) dist_type = TYPE_PARETO; else if (!strncmp(optarg, "normal", 6)) dist_type = TYPE_NORMAL; else { printf("wrong dist type: %s\n", optarg); return 1; } break; case 'g': gib_size = strtoul(optarg, NULL, 10); break; case 'i': dist_val = atof(optarg); dist_val_set = 1; break; case 'o': output_nranges = strtoul(optarg, NULL, 10); break; case 'c': output_type = OUTPUT_CSV; break; default: printf("bad option %c\n", c); return 1; } } if (dist_type == TYPE_PARETO) { if ((dist_val >= 1.00 || dist_val < 0.00)) { printf("pareto input must be > 0.00 and < 1.00\n"); return 1; } if (!dist_val_set) dist_val = DEF_PARETO_VAL; } else if (dist_type == TYPE_ZIPF) { if (dist_val == 1.0) { printf("zipf input must be different than 1.0\n"); return 1; } if (!dist_val_set) dist_val = DEF_ZIPF_VAL; } return 0; } struct output_sum { double output; unsigned int nranges; }; static int node_cmp(const void *p1, const void *p2) { const struct node *n1 = p1; const struct node *n2 = p2; return n2->hits - n1->hits; } static void output_csv(struct node *nodes, unsigned long nnodes) { unsigned long i; printf("rank, count\n"); for (i = 0; i < nnodes; i++) printf("%lu, %lu\n", i, nodes[i].hits); } static void output_normal(struct node *nodes, unsigned long nnodes, unsigned long nranges) { unsigned long i, j, cur_vals, interval_step, next_interval, total_vals; unsigned long blocks = percentage * nnodes / 100; double hit_percent_sum = 0; unsigned long long hit_sum = 0; double perc, perc_i; struct output_sum *output_sums; interval_step = (nnodes - 1) / output_nranges + 1; next_interval = interval_step; output_sums = malloc(output_nranges * sizeof(struct output_sum)); for (i = 0; i < output_nranges; i++) { output_sums[i].output = 0.0; output_sums[i].nranges = 0; } j = total_vals = cur_vals = 0; for (i = 0; i < nnodes; i++) { struct output_sum *os = &output_sums[j]; struct node *node = &nodes[i]; cur_vals += node->hits; total_vals += node->hits; os->nranges += node->hits; if (i == (next_interval) -1 || i == nnodes - 1) { os->output = (double) cur_vals / (double) nranges; os->output *= 100.0; cur_vals = 0; next_interval += interval_step; j++; } if (percentage) { if (total_vals >= blocks) { double cs = (double) i * block_size / (1024.0 * 1024.0); char p = 'M'; if (cs > 1024.0) { cs /= 1024.0; p = 'G'; } if (cs > 1024.0) { cs /= 1024.0; p = 'T'; } printf("%.2f%% of hits satisfied in %.3f%cB of cache\n", percentage, cs, p); percentage = 0.0; } } } perc_i = 100.0 / (double)output_nranges; perc = 0.0; printf("\n Rows Hits %% Sum %% # Hits Size\n"); printf("-----------------------------------------------------------------------\n"); for (i = 0; i < output_nranges; i++) { struct output_sum *os = &output_sums[i]; double gb = (double)os->nranges * block_size / 1024.0; char p = 'K'; if (gb > 1024.0) { p = 'M'; gb /= 1024.0; } if (gb > 1024.0) { p = 'G'; gb /= 1024.0; } perc += perc_i; hit_percent_sum += os->output; hit_sum += os->nranges; printf("%s %6.2f%%\t%6.2f%%\t\t%6.2f%%\t\t%8u\t%6.2f%c\n", i ? "|->" : "Top", perc, os->output, hit_percent_sum, os->nranges, gb, p); } printf("-----------------------------------------------------------------------\n"); printf("Total\t\t\t\t\t\t%8llu\n", hit_sum); free(output_sums); } int main(int argc, char *argv[]) { unsigned long offset; unsigned long long nranges; unsigned long nnodes; struct node *nodes; struct zipf_state zs; struct gauss_state gs; int i, j; if (parse_options(argc, argv)) return 1; if (output_type != OUTPUT_CSV) printf("Generating %s distribution with %f input and %lu GiB size and %lu block_size.\n", dist_types[dist_type], dist_val, gib_size, block_size); nranges = gib_size * 1024 * 1024 * 1024ULL; nranges /= block_size; if (dist_type == TYPE_ZIPF) zipf_init(&zs, nranges, dist_val, -1, 1); else if (dist_type == TYPE_PARETO) pareto_init(&zs, nranges, dist_val, -1, 1); else gauss_init(&gs, nranges, dist_val, -1, 1); hash_bits = 0; hash_size = nranges; while ((hash_size >>= 1) != 0) hash_bits++; hash_size = 1 << hash_bits; hash = calloc(hash_size, sizeof(struct flist_head)); for (i = 0; i < hash_size; i++) INIT_FLIST_HEAD(&hash[i]); nodes = malloc(nranges * sizeof(struct node)); for (i = j = 0; i < nranges; i++) { struct node *n; if (dist_type == TYPE_ZIPF) offset = zipf_next(&zs); else if (dist_type == TYPE_PARETO) offset = pareto_next(&zs); else offset = gauss_next(&gs); n = hash_lookup(offset); if (n) n->hits++; else { hash_insert(&nodes[j], offset); j++; } } qsort(nodes, j, sizeof(struct node), node_cmp); nnodes = j; if (output_type == OUTPUT_CSV) output_csv(nodes, nnodes); else output_normal(nodes, nnodes, nranges); free(hash); free(nodes); return 0; } fio-3.39/t/ieee754.c000066400000000000000000000010111476262051600140050ustar00rootroot00000000000000#include #include "../lib/ieee754.h" static double values[] = { -17.23, 17.23, 123.4567, 98765.4321, 3.14159265358979323, 0.0 }; int main(int argc, char *argv[]) { uint64_t i; double f, delta; int j, differences = 0; j = 0; do { i = fio_double_to_uint64(values[j]); f = fio_uint64_to_double(i); delta = values[j] - f; printf("%26.20lf -> %26.20lf, delta = %26.20lf\n", values[j], f, delta); if (f != values[j]) differences++; j++; } while (values[j] != 0.0); return differences; } fio-3.39/t/io_uring.c000066400000000000000000001176041476262051600144710ustar00rootroot00000000000000#include #include #include #include #include #include #include #include #ifdef CONFIG_LIBAIO #include #endif #ifdef CONFIG_LIBNUMA #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "../arch/arch.h" #include "../os/os.h" #include "../lib/types.h" #include "../lib/roundup.h" #include "../lib/rand.h" #include "../minmax.h" #include "../os/linux/io_uring.h" #include "../engines/nvme.h" struct io_sq_ring { unsigned *head; unsigned *tail; unsigned *ring_mask; unsigned *ring_entries; unsigned *flags; unsigned *array; }; struct io_cq_ring { unsigned *head; unsigned *tail; unsigned *ring_mask; unsigned *ring_entries; struct io_uring_cqe *cqes; }; #define DEPTH 128 #define BATCH_SUBMIT 32 #define BATCH_COMPLETE 32 #define BS 4096 #define MAX_FDS 16 static unsigned sq_ring_mask, cq_ring_mask; struct file { unsigned long max_blocks; unsigned long max_size; unsigned long cur_off; unsigned pending_ios; unsigned int nsid; /* nsid field required for nvme-passthrough */ unsigned int lba_shift; /* lba_shift field required for nvme-passthrough */ int real_fd; int fixed_fd; int fileno; }; #define PLAT_BITS 6 #define PLAT_VAL (1 << PLAT_BITS) #define PLAT_GROUP_NR 29 #define PLAT_NR (PLAT_GROUP_NR * PLAT_VAL) struct submitter { pthread_t thread; int ring_fd; int enter_ring_fd; int index; struct io_sq_ring sq_ring; struct io_uring_sqe *sqes; struct io_cq_ring cq_ring; int inflight; int tid; unsigned long reaps; unsigned long done; unsigned long calls; unsigned long io_errors; volatile int finish; __s32 *fds; struct taus258_state rand_state; unsigned long *clock_batch; int clock_index; unsigned long *plat; #ifdef CONFIG_LIBAIO io_context_t aio_ctx; #endif int numa_node; int per_file_depth; const char *filename; struct file files[MAX_FDS]; unsigned nr_files; unsigned cur_file; struct iovec iovecs[]; }; static struct submitter *submitter; static volatile int finish; static int stats_running; static unsigned long max_iops; static long t_io_uring_page_size; static int depth = DEPTH; static int batch_submit = BATCH_SUBMIT; static int batch_complete = BATCH_COMPLETE; static int bs = BS; static int polled = 1; /* use IO polling */ static int fixedbufs = 1; /* use fixed user buffers */ static int register_files = 1; /* use fixed files */ static int buffered = 0; /* use buffered IO, not O_DIRECT */ static int sq_thread_poll = 0; /* use kernel submission/poller thread */ static int sq_thread_cpu = -1; /* pin above thread to this CPU */ static int do_nop = 0; /* no-op SQ ring commands */ static int use_files = 1; static int nthreads = 1; static int stats = 0; /* generate IO stats */ static int aio = 0; /* use libaio */ static int runtime = 0; /* runtime */ static int random_io = 1; /* random or sequential IO */ static int register_ring = 1; /* register ring */ static int use_sync = 0; /* use preadv2 */ static int numa_placement = 0; /* set to node of device */ static int pt = 0; /* passthrough I/O or not */ static unsigned long tsc_rate; #define TSC_RATE_FILE "tsc-rate" static int vectored = 1; static float plist[] = { 1.0, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 95.0, 99.0, 99.5, 99.9, 99.95, 99.99 }; static int plist_len = 17; static int nvme_identify(int fd, __u32 nsid, enum nvme_identify_cns cns, enum nvme_csi csi, void *data) { struct nvme_passthru_cmd cmd = { .opcode = nvme_admin_identify, .nsid = nsid, .addr = (__u64)(uintptr_t)data, .data_len = NVME_IDENTIFY_DATA_SIZE, .cdw10 = cns, .cdw11 = csi << NVME_IDENTIFY_CSI_SHIFT, .timeout_ms = NVME_DEFAULT_IOCTL_TIMEOUT, }; return ioctl(fd, NVME_IOCTL_ADMIN_CMD, &cmd); } static int nvme_get_info(int fd, __u32 *nsid, __u32 *lba_sz, __u64 *nlba) { struct nvme_id_ns ns; int namespace_id; int err; namespace_id = ioctl(fd, NVME_IOCTL_ID); if (namespace_id < 0) { fprintf(stderr, "error failed to fetch namespace-id\n"); close(fd); return -errno; } /* * Identify namespace to get namespace-id, namespace size in LBA's * and LBA data size. */ err = nvme_identify(fd, namespace_id, NVME_IDENTIFY_CNS_NS, NVME_CSI_NVM, &ns); if (err) { fprintf(stderr, "error failed to fetch identify namespace\n"); close(fd); return err; } *nsid = namespace_id; *lba_sz = 1 << ns.lbaf[(ns.flbas & 0x0f)].ds; *nlba = ns.nsze; return 0; } static unsigned long cycles_to_nsec(unsigned long cycles) { uint64_t val; if (!tsc_rate) return cycles; val = cycles * 1000000000ULL; return val / tsc_rate; } static unsigned long plat_idx_to_val(unsigned int idx) { unsigned int error_bits; unsigned long k, base; assert(idx < PLAT_NR); /* MSB <= (PLAT_BITS-1), cannot be rounded off. Use * all bits of the sample as index */ if (idx < (PLAT_VAL << 1)) return cycles_to_nsec(idx); /* Find the group and compute the minimum value of that group */ error_bits = (idx >> PLAT_BITS) - 1; base = ((unsigned long) 1) << (error_bits + PLAT_BITS); /* Find its bucket number of the group */ k = idx % PLAT_VAL; /* Return the mean of the range of the bucket */ return cycles_to_nsec(base + ((k + 0.5) * (1 << error_bits))); } unsigned int calculate_clat_percentiles(unsigned long *io_u_plat, unsigned long nr, unsigned long **output, unsigned long *maxv, unsigned long *minv) { unsigned long sum = 0; unsigned int len = plist_len, i, j = 0; unsigned long *ovals = NULL; bool is_last; *minv = -1UL; *maxv = 0; ovals = malloc(len * sizeof(*ovals)); if (!ovals) return 0; /* * Calculate bucket values, note down max and min values */ is_last = false; for (i = 0; i < PLAT_NR && !is_last; i++) { sum += io_u_plat[i]; while (sum >= ((long double) plist[j] / 100.0 * nr)) { assert(plist[j] <= 100.0); ovals[j] = plat_idx_to_val(i); if (ovals[j] < *minv) *minv = ovals[j]; if (ovals[j] > *maxv) *maxv = ovals[j]; is_last = (j == len - 1) != 0; if (is_last) break; j++; } } if (!is_last) fprintf(stderr, "error calculating latency percentiles\n"); *output = ovals; return len; } static void show_clat_percentiles(unsigned long *io_u_plat, unsigned long nr, unsigned int precision) { unsigned int divisor, len, i, j = 0; unsigned long minv, maxv; unsigned long *ovals; int per_line, scale_down, time_width; bool is_last; char fmt[32]; len = calculate_clat_percentiles(io_u_plat, nr, &ovals, &maxv, &minv); if (!len || !ovals) goto out; if (!tsc_rate) { scale_down = 0; divisor = 1; printf(" percentiles (tsc ticks):\n |"); } else if (minv > 2000 && maxv > 99999) { scale_down = 1; divisor = 1000; printf(" percentiles (usec):\n |"); } else { scale_down = 0; divisor = 1; printf(" percentiles (nsec):\n |"); } time_width = max(5, (int) (log10(maxv / divisor) + 1)); snprintf(fmt, sizeof(fmt), " %%%u.%ufth=[%%%dllu]%%c", precision + 3, precision, time_width); /* fmt will be something like " %5.2fth=[%4llu]%c" */ per_line = (80 - 7) / (precision + 10 + time_width); for (j = 0; j < len; j++) { /* for formatting */ if (j != 0 && (j % per_line) == 0) printf(" |"); /* end of the list */ is_last = (j == len - 1) != 0; for (i = 0; i < scale_down; i++) ovals[j] = (ovals[j] + 999) / 1000; printf(fmt, plist[j], ovals[j], is_last ? '\n' : ','); if (is_last) break; if ((j % per_line) == per_line - 1) /* for formatting */ printf("\n"); } out: free(ovals); } #ifdef ARCH_HAVE_CPU_CLOCK static unsigned int plat_val_to_idx(unsigned long val) { unsigned int msb, error_bits, base, offset, idx; /* Find MSB starting from bit 0 */ if (val == 0) msb = 0; else msb = (sizeof(val)*8) - __builtin_clzll(val) - 1; /* * MSB <= (PLAT_BITS-1), cannot be rounded off. Use * all bits of the sample as index */ if (msb <= PLAT_BITS) return val; /* Compute the number of error bits to discard*/ error_bits = msb - PLAT_BITS; /* Compute the number of buckets before the group */ base = (error_bits + 1) << PLAT_BITS; /* * Discard the error bits and apply the mask to find the * index for the buckets in the group */ offset = (PLAT_VAL - 1) & (val >> error_bits); /* Make sure the index does not exceed (array size - 1) */ idx = (base + offset) < (PLAT_NR - 1) ? (base + offset) : (PLAT_NR - 1); return idx; } #endif static void add_stat(struct submitter *s, int clock_index, int nr) { #ifdef ARCH_HAVE_CPU_CLOCK unsigned long cycles; unsigned int pidx; if (!s->finish && clock_index) { cycles = get_cpu_clock(); cycles -= s->clock_batch[clock_index]; pidx = plat_val_to_idx(cycles); s->plat[pidx] += nr; } #endif } static int io_uring_register_buffers(struct submitter *s) { int ret; /* * All iovecs are filled in case of readv, but it's all contig * from vec0. Just register a single buffer for all buffers. */ s->iovecs[0].iov_len = bs * roundup_pow2(depth); ret = syscall(__NR_io_uring_register, s->ring_fd, IORING_REGISTER_BUFFERS, s->iovecs, 1); s->iovecs[0].iov_len = bs; return ret; } static int io_uring_register_files(struct submitter *s) { int i; s->fds = calloc(s->nr_files, sizeof(__s32)); for (i = 0; i < s->nr_files; i++) { s->fds[i] = s->files[i].real_fd; s->files[i].fixed_fd = i; } return syscall(__NR_io_uring_register, s->ring_fd, IORING_REGISTER_FILES, s->fds, s->nr_files); } static int io_uring_setup(unsigned entries, struct io_uring_params *p) { int ret; /* * Clamp CQ ring size at our SQ ring size, we don't need more entries * than that. */ p->flags |= IORING_SETUP_CQSIZE; p->cq_entries = entries; p->flags |= IORING_SETUP_COOP_TASKRUN; p->flags |= IORING_SETUP_SINGLE_ISSUER; p->flags |= IORING_SETUP_DEFER_TASKRUN; retry: ret = syscall(__NR_io_uring_setup, entries, p); if (!ret) return 0; if (errno == EINVAL && p->flags & IORING_SETUP_COOP_TASKRUN) { p->flags &= ~IORING_SETUP_COOP_TASKRUN; goto retry; } if (errno == EINVAL && p->flags & IORING_SETUP_SINGLE_ISSUER) { p->flags &= ~IORING_SETUP_SINGLE_ISSUER; goto retry; } if (errno == EINVAL && p->flags & IORING_SETUP_DEFER_TASKRUN) { p->flags &= ~IORING_SETUP_DEFER_TASKRUN; goto retry; } return ret; } static void io_uring_probe(int fd) { struct io_uring_probe *p; int ret; p = calloc(1, sizeof(*p) + 256 * sizeof(struct io_uring_probe_op)); if (!p) return; ret = syscall(__NR_io_uring_register, fd, IORING_REGISTER_PROBE, p, 256); if (ret < 0) goto out; if (IORING_OP_READ > p->ops_len) goto out; if ((p->ops[IORING_OP_READ].flags & IO_URING_OP_SUPPORTED)) vectored = 0; out: free(p); } static int io_uring_enter(struct submitter *s, unsigned int to_submit, unsigned int min_complete, unsigned int flags) { if (register_ring) flags |= IORING_ENTER_REGISTERED_RING; #ifdef FIO_ARCH_HAS_SYSCALL return __do_syscall6(__NR_io_uring_enter, s->enter_ring_fd, to_submit, min_complete, flags, NULL, 0); #else return syscall(__NR_io_uring_enter, s->enter_ring_fd, to_submit, min_complete, flags, NULL, 0); #endif } static unsigned long long get_offset(struct submitter *s, struct file *f) { unsigned long long offset; long r; if (random_io) { unsigned long long block; r = __rand64(&s->rand_state); block = r % f->max_blocks; offset = block * (unsigned long long) bs; } else { offset = f->cur_off; f->cur_off += bs; if (f->cur_off + bs > f->max_size) f->cur_off = 0; } return offset; } static struct file *get_next_file(struct submitter *s) { struct file *f; if (s->nr_files == 1) { f = &s->files[0]; } else { f = &s->files[s->cur_file]; if (f->pending_ios >= s->per_file_depth) { s->cur_file++; if (s->cur_file == s->nr_files) s->cur_file = 0; f = &s->files[s->cur_file]; } } f->pending_ios++; return f; } static void init_io(struct submitter *s, unsigned index) { struct io_uring_sqe *sqe = &s->sqes[index]; struct file *f; f = get_next_file(s); if (do_nop) { sqe->rw_flags = IORING_NOP_FILE; if (register_files) { sqe->fd = f->fixed_fd; sqe->rw_flags |= IORING_NOP_FIXED_FILE; } else { sqe->fd = f->real_fd; } if (fixedbufs) sqe->rw_flags |= IORING_NOP_FIXED_BUFFER; sqe->rw_flags |= IORING_NOP_INJECT_RESULT; sqe->len = bs; sqe->opcode = IORING_OP_NOP; return; } if (register_files) { sqe->flags = IOSQE_FIXED_FILE; sqe->fd = f->fixed_fd; } else { sqe->flags = 0; sqe->fd = f->real_fd; } if (fixedbufs) { sqe->opcode = IORING_OP_READ_FIXED; sqe->addr = (unsigned long) s->iovecs[index].iov_base; sqe->len = bs; sqe->buf_index = 0; } else if (!vectored) { sqe->opcode = IORING_OP_READ; sqe->addr = (unsigned long) s->iovecs[index].iov_base; sqe->len = bs; sqe->buf_index = 0; } else { sqe->opcode = IORING_OP_READV; sqe->addr = (unsigned long) &s->iovecs[index]; sqe->len = 1; sqe->buf_index = 0; } sqe->ioprio = 0; sqe->off = get_offset(s, f); sqe->user_data = (unsigned long) f->fileno; if (stats && stats_running) sqe->user_data |= ((uint64_t)s->clock_index << 32); } static void init_io_pt(struct submitter *s, unsigned index) { struct io_uring_sqe *sqe = &s->sqes[index << 1]; unsigned long offset; struct file *f; struct nvme_uring_cmd *cmd; unsigned long long slba; unsigned long long nlb; f = get_next_file(s); offset = get_offset(s, f); if (register_files) { sqe->fd = f->fixed_fd; sqe->flags = IOSQE_FIXED_FILE; } else { sqe->fd = f->real_fd; sqe->flags = 0; } sqe->opcode = IORING_OP_URING_CMD; sqe->user_data = (unsigned long) f->fileno; if (stats) sqe->user_data |= ((__u64) s->clock_index << 32ULL); sqe->cmd_op = NVME_URING_CMD_IO; slba = offset >> f->lba_shift; nlb = (bs >> f->lba_shift) - 1; cmd = (struct nvme_uring_cmd *)&sqe->cmd; /* cdw10 and cdw11 represent starting slba*/ cmd->cdw10 = slba & 0xffffffff; cmd->cdw11 = slba >> 32; /* cdw12 represent number of lba to be read*/ cmd->cdw12 = nlb; cmd->addr = (unsigned long) s->iovecs[index].iov_base; cmd->data_len = bs; if (fixedbufs) { sqe->uring_cmd_flags = IORING_URING_CMD_FIXED; sqe->buf_index = 0; } cmd->nsid = f->nsid; cmd->opcode = 2; } static int prep_more_ios_uring(struct submitter *s, int max_ios) { struct io_sq_ring *ring = &s->sq_ring; unsigned head, index, tail, next_tail, prepped = 0; if (sq_thread_poll) head = atomic_load_acquire(ring->head); else head = *ring->head; next_tail = tail = *ring->tail; do { next_tail++; if (next_tail == head) break; index = tail & sq_ring_mask; if (pt) init_io_pt(s, index); else init_io(s, index); prepped++; tail = next_tail; } while (prepped < max_ios); if (prepped) atomic_store_release(ring->tail, tail); return prepped; } static int get_file_size(struct file *f) { struct stat st; if (fstat(f->real_fd, &st) < 0) return -1; if (pt) { __u64 nlba; __u32 lbs; int ret; if (!S_ISCHR(st.st_mode)) { fprintf(stderr, "passthrough works with only nvme-ns " "generic devices (/dev/ngXnY)\n"); return -1; } ret = nvme_get_info(f->real_fd, &f->nsid, &lbs, &nlba); if (ret) return -1; if ((bs % lbs) != 0) { printf("error: bs:%d should be a multiple logical_block_size:%d\n", bs, lbs); return -1; } f->max_blocks = nlba; f->max_size = nlba; f->lba_shift = ilog2(lbs); return 0; } else if (S_ISBLK(st.st_mode)) { unsigned long long bytes; if (ioctl(f->real_fd, BLKGETSIZE64, &bytes) != 0) return -1; f->max_blocks = bytes / bs; f->max_size = bytes; return 0; } else if (S_ISREG(st.st_mode)) { f->max_blocks = st.st_size / bs; f->max_size = st.st_size; return 0; } return -1; } static int reap_events_uring(struct submitter *s) { struct io_cq_ring *ring = &s->cq_ring; struct io_uring_cqe *cqe; unsigned tail, head, reaped = 0; int last_idx = -1, stat_nr = 0; head = *ring->head; tail = atomic_load_acquire(ring->tail); do { struct file *f; if (head == tail) break; cqe = &ring->cqes[head & cq_ring_mask]; if (use_files) { int fileno = cqe->user_data & 0xffffffff; f = &s->files[fileno]; f->pending_ios--; if (cqe->res != bs) { if (cqe->res == -ENODATA || cqe->res == -EIO) { s->io_errors++; } else { printf("io: unexpected ret=%d\n", cqe->res); if (polled && cqe->res == -EOPNOTSUPP) printf("Your filesystem/driver/kernel doesn't support polled IO\n"); return -1; } } } if (stats) { int clock_index = cqe->user_data >> 32; if (last_idx != clock_index) { if (last_idx != -1) { add_stat(s, last_idx, stat_nr); stat_nr = 0; } last_idx = clock_index; } stat_nr++; } reaped++; head++; } while (1); if (stat_nr) add_stat(s, last_idx, stat_nr); if (reaped) { s->inflight -= reaped; atomic_store_release(ring->head, head); } return reaped; } static int reap_events_uring_pt(struct submitter *s) { struct io_cq_ring *ring = &s->cq_ring; struct io_uring_cqe *cqe; unsigned head, tail, reaped = 0; int last_idx = -1, stat_nr = 0; unsigned index; int fileno; head = *ring->head; tail = atomic_load_acquire(ring->tail); do { struct file *f; if (head == tail) break; index = head & cq_ring_mask; cqe = &ring->cqes[index << 1]; fileno = cqe->user_data & 0xffffffff; f = &s->files[fileno]; f->pending_ios--; if (cqe->res != 0) { printf("io: unexpected ret=%d\n", cqe->res); if (polled && cqe->res == -EINVAL) printf("passthrough doesn't support polled IO\n"); return -1; } if (stats) { int clock_index = cqe->user_data >> 32; if (last_idx != clock_index) { if (last_idx != -1) { add_stat(s, last_idx, stat_nr); stat_nr = 0; } last_idx = clock_index; } stat_nr++; } reaped++; head++; } while (1); if (stat_nr) add_stat(s, last_idx, stat_nr); if (reaped) { s->inflight -= reaped; atomic_store_release(ring->head, head); } return reaped; } static void set_affinity(struct submitter *s) { #ifdef CONFIG_LIBNUMA struct bitmask *mask; if (s->numa_node == -1) return; numa_set_preferred(s->numa_node); mask = numa_allocate_cpumask(); numa_node_to_cpus(s->numa_node, mask); numa_sched_setaffinity(s->tid, mask); #endif } static int detect_node(struct submitter *s, char *name) { #ifdef CONFIG_LIBNUMA const char *base = basename(name); char str[128]; int ret, fd, node; if (pt) sprintf(str, "/sys/class/nvme-generic/%s/device/numa_node", base); else sprintf(str, "/sys/block/%s/device/numa_node", base); fd = open(str, O_RDONLY); if (fd < 0) return -1; ret = read(fd, str, sizeof(str)); if (ret < 0) { close(fd); return -1; } node = atoi(str); s->numa_node = node; close(fd); #else s->numa_node = -1; #endif return 0; } static int setup_aio(struct submitter *s) { #ifdef CONFIG_LIBAIO if (polled) { fprintf(stderr, "aio does not support polled IO\n"); polled = 0; } if (sq_thread_poll) { fprintf(stderr, "aio does not support SQPOLL IO\n"); sq_thread_poll = 0; } if (do_nop) { fprintf(stderr, "aio does not support polled IO\n"); do_nop = 0; } if (fixedbufs || register_files) { fprintf(stderr, "aio does not support registered files or buffers\n"); fixedbufs = register_files = 0; } s->per_file_depth = (depth + s->nr_files - 1) / s->nr_files; return io_queue_init(roundup_pow2(depth), &s->aio_ctx); #else fprintf(stderr, "Legacy AIO not available on this system/build\n"); errno = EINVAL; return -1; #endif } static int setup_ring(struct submitter *s) { struct io_sq_ring *sring = &s->sq_ring; struct io_cq_ring *cring = &s->cq_ring; struct io_uring_params p; int ret, fd, i; void *ptr; size_t len; memset(&p, 0, sizeof(p)); if (polled && !do_nop) p.flags |= IORING_SETUP_IOPOLL; if (sq_thread_poll) { p.flags |= IORING_SETUP_SQPOLL; if (sq_thread_cpu != -1) { p.flags |= IORING_SETUP_SQ_AFF; p.sq_thread_cpu = sq_thread_cpu; } } if (pt) { p.flags |= IORING_SETUP_SQE128; p.flags |= IORING_SETUP_CQE32; } fd = io_uring_setup(depth, &p); if (fd < 0) { perror("io_uring_setup"); return 1; } s->ring_fd = s->enter_ring_fd = fd; io_uring_probe(fd); if (fixedbufs) { struct rlimit rlim; rlim.rlim_cur = RLIM_INFINITY; rlim.rlim_max = RLIM_INFINITY; /* ignore potential error, not needed on newer kernels */ setrlimit(RLIMIT_MEMLOCK, &rlim); ret = io_uring_register_buffers(s); if (ret < 0) { perror("io_uring_register_buffers"); return 1; } } if (register_files) { ret = io_uring_register_files(s); if (ret < 0) { perror("io_uring_register_files"); return 1; } } ptr = mmap(0, p.sq_off.array + p.sq_entries * sizeof(__u32), PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, fd, IORING_OFF_SQ_RING); sring->head = ptr + p.sq_off.head; sring->tail = ptr + p.sq_off.tail; sring->ring_mask = ptr + p.sq_off.ring_mask; sring->ring_entries = ptr + p.sq_off.ring_entries; sring->flags = ptr + p.sq_off.flags; sring->array = ptr + p.sq_off.array; sq_ring_mask = *sring->ring_mask; if (p.flags & IORING_SETUP_SQE128) len = 2 * p.sq_entries * sizeof(struct io_uring_sqe); else len = p.sq_entries * sizeof(struct io_uring_sqe); s->sqes = mmap(0, len, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, fd, IORING_OFF_SQES); if (p.flags & IORING_SETUP_CQE32) { len = p.cq_off.cqes + 2 * p.cq_entries * sizeof(struct io_uring_cqe); } else { len = p.cq_off.cqes + p.cq_entries * sizeof(struct io_uring_cqe); } ptr = mmap(0, len, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, fd, IORING_OFF_CQ_RING); cring->head = ptr + p.cq_off.head; cring->tail = ptr + p.cq_off.tail; cring->ring_mask = ptr + p.cq_off.ring_mask; cring->ring_entries = ptr + p.cq_off.ring_entries; cring->cqes = ptr + p.cq_off.cqes; cq_ring_mask = *cring->ring_mask; for (i = 0; i < p.sq_entries; i++) sring->array[i] = i; s->per_file_depth = INT_MAX; if (s->nr_files) s->per_file_depth = (depth + s->nr_files - 1) / s->nr_files; return 0; } static void *allocate_mem(struct submitter *s, int size) { void *buf; #ifdef CONFIG_LIBNUMA if (s->numa_node != -1) return numa_alloc_onnode(size, s->numa_node); #endif if (posix_memalign(&buf, t_io_uring_page_size, size)) { printf("failed alloc\n"); return NULL; } return buf; } static int submitter_init(struct submitter *s) { int i, nr_batch, err; static int init_printed; void *mem, *ptr; char buf[80]; s->tid = gettid(); printf("submitter=%d, tid=%d, file=%s, nfiles=%d, node=%d\n", s->index, s->tid, s->filename, s->nr_files, s->numa_node); set_affinity(s); __init_rand64(&s->rand_state, s->tid); srand48(s->tid); for (i = 0; i < MAX_FDS; i++) s->files[i].fileno = i; mem = allocate_mem(s, bs * roundup_pow2(depth)); for (i = 0, ptr = mem; i < roundup_pow2(depth); i++) { s->iovecs[i].iov_base = ptr; s->iovecs[i].iov_len = bs; ptr += bs; } if (use_sync) { sprintf(buf, "Engine=preadv2\n"); err = 0; } else if (!aio) { err = setup_ring(s); if (!err) sprintf(buf, "Engine=io_uring, sq_ring=%d, cq_ring=%d\n", *s->sq_ring.ring_entries, *s->cq_ring.ring_entries); } else { sprintf(buf, "Engine=aio\n"); err = setup_aio(s); } if (err) { printf("queue setup failed: %s, %d\n", strerror(errno), err); return -1; } if (!init_printed) { printf("polled=%d, fixedbufs=%d, register_files=%d, buffered=%d, QD=%d\n", polled, fixedbufs, register_files, buffered, depth); printf("%s", buf); init_printed = 1; } if (stats) { nr_batch = roundup_pow2(depth / batch_submit); if (nr_batch < 2) nr_batch = 2; s->clock_batch = calloc(nr_batch, sizeof(unsigned long)); s->clock_index = 1; s->plat = calloc(PLAT_NR, sizeof(unsigned long)); } else { s->clock_batch = NULL; s->plat = NULL; nr_batch = 0; } /* perform the expensive command initialization part for passthrough here * rather than in the fast path */ if (pt) { for (i = 0; i < roundup_pow2(depth); i++) { struct io_uring_sqe *sqe = &s->sqes[i << 1]; memset(&sqe->cmd, 0, sizeof(struct nvme_uring_cmd)); } } return nr_batch; } #ifdef CONFIG_LIBAIO static int prep_more_ios_aio(struct submitter *s, int max_ios, struct iocb *iocbs) { uint64_t data; struct file *f; unsigned index; index = 0; while (index < max_ios) { struct iocb *iocb = &iocbs[index]; f = get_next_file(s); io_prep_pread(iocb, f->real_fd, s->iovecs[index].iov_base, s->iovecs[index].iov_len, get_offset(s, f)); data = f->fileno; if (stats && stats_running) data |= (((uint64_t) s->clock_index) << 32); iocb->data = (void *) (uintptr_t) data; index++; } return index; } static int reap_events_aio(struct submitter *s, struct io_event *events, int evs) { int last_idx = -1, stat_nr = 0; int reaped = 0; while (evs) { uint64_t data = (uintptr_t) events[reaped].data; struct file *f = &s->files[data & 0xffffffff]; f->pending_ios--; if (events[reaped].res != bs) { if (events[reaped].res == -ENODATA || events[reaped].res == -EIO) { s->io_errors++; } else { printf("io: unexpected ret=%ld\n", events[reaped].res); return -1; } } else if (stats) { int clock_index = data >> 32; if (last_idx != clock_index) { if (last_idx != -1) { add_stat(s, last_idx, stat_nr); stat_nr = 0; } last_idx = clock_index; } stat_nr++; } reaped++; evs--; } if (stat_nr) add_stat(s, last_idx, stat_nr); s->inflight -= reaped; s->done += reaped; return reaped; } static void *submitter_aio_fn(void *data) { struct submitter *s = data; int i, ret, prepped; struct iocb **iocbsptr; struct iocb *iocbs; struct io_event *events; #ifdef ARCH_HAVE_CPU_CLOCK int nr_batch; #endif ret = submitter_init(s); if (ret < 0) goto done; #ifdef ARCH_HAVE_CPU_CLOCK nr_batch = ret; #endif iocbsptr = calloc(depth, sizeof(struct iocb *)); iocbs = calloc(depth, sizeof(struct iocb)); events = calloc(depth, sizeof(struct io_event)); for (i = 0; i < depth; i++) iocbsptr[i] = &iocbs[i]; prepped = 0; do { int to_wait, to_submit, to_prep; if (!prepped && s->inflight < depth) { to_prep = min(depth - s->inflight, batch_submit); prepped = prep_more_ios_aio(s, to_prep, iocbs); #ifdef ARCH_HAVE_CPU_CLOCK if (prepped && stats) { s->clock_batch[s->clock_index] = get_cpu_clock(); s->clock_index = (s->clock_index + 1) & (nr_batch - 1); } #endif } s->inflight += prepped; to_submit = prepped; if (to_submit && (s->inflight + to_submit <= depth)) to_wait = 0; else to_wait = min(s->inflight + to_submit, batch_complete); ret = io_submit(s->aio_ctx, to_submit, iocbsptr); s->calls++; if (ret < 0) { perror("io_submit"); break; } else if (ret != to_submit) { printf("submitted %d, wanted %d\n", ret, to_submit); break; } prepped = 0; while (to_wait) { int r; s->calls++; r = io_getevents(s->aio_ctx, to_wait, to_wait, events, NULL); if (r < 0) { perror("io_getevents"); break; } else if (r != to_wait) { printf("r=%d, wait=%d\n", r, to_wait); break; } r = reap_events_aio(s, events, r); s->reaps += r; to_wait -= r; } } while (!s->finish); free(iocbsptr); free(iocbs); free(events); done: finish = 1; return NULL; } #endif static void io_uring_unregister_ring(struct submitter *s) { struct io_uring_rsrc_update up = { .offset = s->enter_ring_fd, }; syscall(__NR_io_uring_register, s->ring_fd, IORING_UNREGISTER_RING_FDS, &up, 1); } static int io_uring_register_ring(struct submitter *s) { struct io_uring_rsrc_update up = { .data = s->ring_fd, .offset = -1U, }; int ret; ret = syscall(__NR_io_uring_register, s->ring_fd, IORING_REGISTER_RING_FDS, &up, 1); if (ret == 1) { s->enter_ring_fd = up.offset; return 0; } register_ring = 0; return -1; } static void *submitter_uring_fn(void *data) { struct submitter *s = data; struct io_sq_ring *ring = &s->sq_ring; int ret, prepped; #ifdef ARCH_HAVE_CPU_CLOCK int nr_batch; #endif ret = submitter_init(s); if (ret < 0) goto done; #ifdef ARCH_HAVE_CPU_CLOCK nr_batch = ret; #endif if (register_ring) io_uring_register_ring(s); prepped = 0; do { int to_wait, to_submit, this_reap, to_prep; unsigned ring_flags = 0; if (!prepped && s->inflight < depth) { to_prep = min(depth - s->inflight, batch_submit); prepped = prep_more_ios_uring(s, to_prep); #ifdef ARCH_HAVE_CPU_CLOCK if (prepped && stats) { s->clock_batch[s->clock_index] = get_cpu_clock(); s->clock_index = (s->clock_index + 1) & (nr_batch - 1); } #endif } s->inflight += prepped; submit_more: to_submit = prepped; submit: if (to_submit && (s->inflight + to_submit <= depth)) to_wait = 0; else to_wait = min(s->inflight + to_submit, batch_complete); /* * Only need to call io_uring_enter if we're not using SQ thread * poll, or if IORING_SQ_NEED_WAKEUP is set. */ if (sq_thread_poll) ring_flags = atomic_load_acquire(ring->flags); if (!sq_thread_poll || ring_flags & IORING_SQ_NEED_WAKEUP) { unsigned flags = 0; if (to_wait) flags = IORING_ENTER_GETEVENTS; if (ring_flags & IORING_SQ_NEED_WAKEUP) flags |= IORING_ENTER_SQ_WAKEUP; ret = io_uring_enter(s, to_submit, to_wait, flags); s->calls++; } else { /* for SQPOLL, we submitted it all effectively */ ret = to_submit; } /* * For non SQ thread poll, we already got the events we needed * through the io_uring_enter() above. For SQ thread poll, we * need to loop here until we find enough events. */ this_reap = 0; do { int r; if (pt) r = reap_events_uring_pt(s); else r = reap_events_uring(s); if (r == -1) { s->finish = 1; break; } else if (r > 0) this_reap += r; } while (sq_thread_poll && this_reap < to_wait); s->reaps += this_reap; if (ret >= 0) { if (!ret) { to_submit = 0; if (s->inflight) goto submit; continue; } else if (ret < to_submit) { int diff = to_submit - ret; s->done += ret; prepped -= diff; goto submit_more; } s->done += ret; prepped = 0; continue; } else if (ret < 0) { if (errno == EAGAIN) { if (s->finish) break; if (this_reap) goto submit; to_submit = 0; goto submit; } printf("io_submit: %s\n", strerror(errno)); break; } } while (!s->finish); if (register_ring) io_uring_unregister_ring(s); done: finish = 1; return NULL; } #ifdef CONFIG_PWRITEV2 static void *submitter_sync_fn(void *data) { struct submitter *s = data; int ret; if (submitter_init(s) < 0) goto done; do { uint64_t offset; struct file *f; f = get_next_file(s); #ifdef ARCH_HAVE_CPU_CLOCK if (stats) s->clock_batch[s->clock_index] = get_cpu_clock(); #endif s->inflight++; s->calls++; offset = get_offset(s, f); if (polled) ret = preadv2(f->real_fd, &s->iovecs[0], 1, offset, RWF_HIPRI); else ret = preadv2(f->real_fd, &s->iovecs[0], 1, offset, 0); if (ret < 0) { perror("preadv2"); break; } else if (ret != bs) { break; } s->done++; s->inflight--; f->pending_ios--; if (stats) add_stat(s, s->clock_index, 1); } while (!s->finish); done: finish = 1; return NULL; } #else static void *submitter_sync_fn(void *data) { finish = 1; return NULL; } #endif static struct submitter *get_submitter(int offset) { void *ret; ret = submitter; if (offset) ret += offset * (sizeof(*submitter) + depth * sizeof(struct iovec)); return ret; } static void do_finish(const char *reason) { int j; printf("Exiting on %s\n", reason); for (j = 0; j < nthreads; j++) { struct submitter *s = get_submitter(j); s->finish = 1; } if (max_iops > 1000000) { double miops = (double) max_iops / 1000000.0; printf("Maximum IOPS=%.2fM\n", miops); } else if (max_iops > 100000) { double kiops = (double) max_iops / 1000.0; printf("Maximum IOPS=%.2fK\n", kiops); } else { printf("Maximum IOPS=%lu\n", max_iops); } finish = 1; } static void sig_int(int sig) { do_finish("signal"); } static void arm_sig_int(void) { struct sigaction act; memset(&act, 0, sizeof(act)); act.sa_handler = sig_int; act.sa_flags = SA_RESTART; sigaction(SIGINT, &act, NULL); /* Windows uses SIGBREAK as a quit signal from other applications */ #ifdef WIN32 sigaction(SIGBREAK, &act, NULL); #endif } static void usage(char *argv, int status) { char runtime_str[16]; snprintf(runtime_str, sizeof(runtime_str), "%d", runtime); printf("%s [options] -- [filenames]\n" " -d : IO Depth, default %d\n" " -s : Batch submit, default %d\n" " -c : Batch complete, default %d\n" " -b : Block size, default %d\n" " -p : Polled IO, default %d\n" " -B : Fixed buffers, default %d\n" " -F : Register files, default %d\n" " -n : Number of threads, default %d\n" " -O : Use O_DIRECT, default %d\n" " -N : Perform just no-op requests, default %d\n" " -t : Track IO latencies, default %d\n" " -T : TSC rate in HZ\n" " -r : Runtime in seconds, default %s\n" " -R : Use random IO, default %d\n" " -a : Use legacy aio, default %d\n" " -S : Use sync IO (preadv2), default %d\n" " -X : Use registered ring %d\n" " -P : Automatically place on device home node %d\n" " -u : Use nvme-passthrough I/O, default %d\n", argv, DEPTH, BATCH_SUBMIT, BATCH_COMPLETE, BS, polled, fixedbufs, register_files, nthreads, !buffered, do_nop, stats, runtime == 0 ? "unlimited" : runtime_str, random_io, aio, use_sync, register_ring, numa_placement, pt); exit(status); } static void read_tsc_rate(void) { char buffer[32]; int fd, ret; if (tsc_rate) return; fd = open(TSC_RATE_FILE, O_RDONLY); if (fd < 0) return; ret = read(fd, buffer, sizeof(buffer)); if (ret < 0) { close(fd); return; } tsc_rate = strtoul(buffer, NULL, 10); printf("Using TSC rate %luHz\n", tsc_rate); close(fd); } static void write_tsc_rate(void) { char buffer[32]; struct stat sb; int fd, ret; if (!stat(TSC_RATE_FILE, &sb)) return; fd = open(TSC_RATE_FILE, O_WRONLY | O_CREAT, 0644); if (fd < 0) return; memset(buffer, 0, sizeof(buffer)); sprintf(buffer, "%lu", tsc_rate); ret = write(fd, buffer, strlen(buffer)); if (ret < 0) perror("write"); close(fd); } int main(int argc, char *argv[]) { struct submitter *s; unsigned long done, calls, reap, io_errors; int i, j, flags, fd, opt, threads_per_f, threads_rem = 0, nfiles; struct file f; void *ret; if (!do_nop && argc < 2) usage(argv[0], 1); while ((opt = getopt(argc, argv, "d:s:c:b:p:B:F:n:N:O:t:T:a:r:D:R:X:S:P:u:h?")) != -1) { switch (opt) { case 'a': aio = !!atoi(optarg); break; case 'd': depth = atoi(optarg); break; case 's': batch_submit = atoi(optarg); if (!batch_submit) batch_submit = 1; break; case 'c': batch_complete = atoi(optarg); if (!batch_complete) batch_complete = 1; break; case 'b': bs = atoi(optarg); break; case 'p': polled = !!atoi(optarg); break; case 'B': fixedbufs = !!atoi(optarg); break; case 'F': register_files = !!atoi(optarg); break; case 'n': nthreads = atoi(optarg); if (!nthreads) { printf("Threads must be non-zero\n"); usage(argv[0], 1); } break; case 'N': do_nop = !!atoi(optarg); break; case 'O': buffered = !atoi(optarg); break; case 't': #ifndef ARCH_HAVE_CPU_CLOCK fprintf(stderr, "Stats not supported on this CPU\n"); return 1; #endif stats = !!atoi(optarg); break; case 'T': #ifndef ARCH_HAVE_CPU_CLOCK fprintf(stderr, "Stats not supported on this CPU\n"); return 1; #endif tsc_rate = strtoul(optarg, NULL, 10); write_tsc_rate(); break; case 'r': runtime = atoi(optarg); break; case 'R': random_io = !!atoi(optarg); break; case 'X': register_ring = !!atoi(optarg); break; case 'S': #ifdef CONFIG_PWRITEV2 use_sync = !!atoi(optarg); #else fprintf(stderr, "preadv2 not supported\n"); exit(1); #endif break; case 'P': numa_placement = !!atoi(optarg); break; case 'u': pt = !!atoi(optarg); break; case 'h': case '?': default: usage(argv[0], 0); break; } } if (stats) read_tsc_rate(); if (batch_complete > depth) batch_complete = depth; if (batch_submit > depth) batch_submit = depth; submitter = calloc(nthreads, sizeof(*submitter) + roundup_pow2(depth) * sizeof(struct iovec)); for (j = 0; j < nthreads; j++) { s = get_submitter(j); s->numa_node = -1; s->index = j; s->done = s->calls = s->reaps = s->io_errors = 0; } flags = O_RDONLY | O_NOATIME; if (!buffered) flags |= O_DIRECT; j = 0; i = optind; nfiles = argc - i; if (use_files) { if (!nfiles) { printf("No files specified\n"); usage(argv[0], 1); } threads_per_f = nthreads / nfiles; /* make sure each thread gets assigned files */ if (threads_per_f == 0) { threads_per_f = 1; } else { threads_rem = nthreads - threads_per_f * nfiles; } } while (use_files && i < argc) { int k, limit; memset(&f, 0, sizeof(f)); fd = open(argv[i], flags); if (fd < 0) { perror("open"); return 1; } f.real_fd = fd; if (get_file_size(&f)) { printf("failed getting size of device/file\n"); return 1; } if (f.max_blocks <= 1) { printf("Zero file/device size?\n"); return 1; } f.max_blocks--; limit = threads_per_f; limit += threads_rem > 0 ? 1 : 0; for (k = 0; k < limit; k++) { s = get_submitter((j + k) % nthreads); if (s->nr_files == MAX_FDS) { printf("Max number of files (%d) reached\n", MAX_FDS); break; } memcpy(&s->files[s->nr_files], &f, sizeof(f)); if (numa_placement) detect_node(s, argv[i]); s->filename = argv[i]; s->nr_files++; } threads_rem--; i++; j += limit; } arm_sig_int(); t_io_uring_page_size = sysconf(_SC_PAGESIZE); if (t_io_uring_page_size < 0) t_io_uring_page_size = 4096; for (j = 0; j < nthreads; j++) { s = get_submitter(j); if (use_sync) pthread_create(&s->thread, NULL, submitter_sync_fn, s); else if (!aio) pthread_create(&s->thread, NULL, submitter_uring_fn, s); #ifdef CONFIG_LIBAIO else pthread_create(&s->thread, NULL, submitter_aio_fn, s); #endif } reap = calls = done = io_errors = 0; do { unsigned long this_done = 0; unsigned long this_reap = 0; unsigned long this_call = 0; unsigned long this_io_errors = 0; unsigned long rpc = 0, ipc = 0; unsigned long iops, bw; sleep(1); if (runtime && !--runtime) do_finish("timeout"); /* don't print partial run, if interrupted by signal */ if (finish) break; /* one second in to the run, enable stats */ if (stats) stats_running = 1; for (j = 0; j < nthreads; j++) { s = get_submitter(j); this_done += s->done; this_call += s->calls; this_reap += s->reaps; this_io_errors += s->io_errors; } if (this_call - calls) { rpc = (this_done - done) / (this_call - calls); ipc = (this_reap - reap) / (this_call - calls); } else rpc = ipc = -1; iops = this_done - done; iops -= this_io_errors - io_errors; if (bs > 1048576) bw = iops * (bs / 1048576); else bw = iops / (1048576 / bs); if (iops > 1000000) { double miops = (double) iops / 1000000.0; printf("IOPS=%.2fM, ", miops); } else if (iops > 100000) { double kiops = (double) iops / 1000.0; printf("IOPS=%.2fK, ", kiops); } else { printf("IOPS=%lu, ", iops); } max_iops = max(max_iops, iops); if (!do_nop) { if (bw > 2000) { double bw_g = (double) bw / 1000.0; printf("BW=%.2fGiB/s, ", bw_g); } else { printf("BW=%luMiB/s, ", bw); } } printf("IOS/call=%ld/%ld\n", rpc, ipc); done = this_done; calls = this_call; reap = this_reap; io_errors = this_io_errors; } while (!finish); for (j = 0; j < nthreads; j++) { s = get_submitter(j); pthread_join(s->thread, &ret); close(s->ring_fd); if (s->io_errors) printf("%d: %lu IO errors\n", s->tid, s->io_errors); if (stats) { unsigned long nr; printf("%d: Latency percentiles:\n", s->tid); for (i = 0, nr = 0; i < PLAT_NR; i++) nr += s->plat[i]; show_clat_percentiles(s->plat, nr, 4); free(s->clock_batch); free(s->plat); } } free(submitter); return 0; } fio-3.39/t/jobs/000077500000000000000000000000001476262051600134365ustar00rootroot00000000000000fio-3.39/t/jobs/t0001-52c58027.fio000066400000000000000000000001521476262051600156740ustar00rootroot00000000000000#Commit 52c580272d87d2b9b8a65d317bf7c2d432a30fec [foo] size=20000 bsrange=1k-4k rw=randread ioengine=null fio-3.39/t/jobs/t0002-13af05ae-post.fio000066400000000000000000000004201476262051600170640ustar00rootroot00000000000000[global] ioengine=libaio direct=1 filename=t0002file iodepth=128 size=1G loops=1 group_reporting=1 readwrite=read do_verify=1 verify=md5 verify_fatal=1 numjobs=1 thread bssplit=512/50:1M/50 [thread0] offset=0G [thread-mix0] offset=4G size=1G readwrite=rw bsrange=512:1M fio-3.39/t/jobs/t0002-13af05ae-pre.fio000066400000000000000000000004021476262051600166650ustar00rootroot00000000000000[global] ioengine=libaio direct=1 filename=t0002file iodepth=128 size=1G loops=1 group_reporting=1 readwrite=write do_verify=0 verify=md5 numjobs=1 thread bssplit=512/50:1M/50 [thread0] offset=0G [thread-mix0] offset=4G readwrite=rw size=1G bsrange=512:1M fio-3.39/t/jobs/t0003-0ae2c6e1-post.fio000066400000000000000000000005031476262051600170700ustar00rootroot00000000000000# Expected result: verify fails. # Buggy result: fio segfaults [global] ioengine=libaio direct=1 filename=foo iodepth=128 size=1M loops=1 group_reporting=1 readwrite=read do_verify=1 verify=md5 verify_fatal=1 numjobs=1 thread verify_dump=1 bs=4k [large_reads] offset=0G blocksize=1M [small_reads] offset=1G blocksize=512 fio-3.39/t/jobs/t0003-0ae2c6e1-pre.fio000066400000000000000000000003631476262051600166750ustar00rootroot00000000000000[global] ioengine=libaio direct=1 filename=foo iodepth=128 size=10M loops=1 group_reporting=1 readwrite=write do_verify=0 verify=md5 numjobs=1 thread verify_dump=1 [small_writes] offset=0G blocksize=512 [large_writes] offset=1G blocksize=1M fio-3.39/t/jobs/t0004-8a99fdf6.fio000066400000000000000000000005541476262051600161460ustar00rootroot00000000000000# Expected result: fio runs to completion # Buggy result: fio segfaults [global] ioengine=libaio direct=1 filename=foo iodepth=128 size=10M loops=1 group_reporting=1 readwrite=write do_verify=0 verify=md5 numjobs=1 thread verify_dump=1 [small_writes] offset=0G blocksize=512 verify_interval=1M [large_writes] stonewall offset=1G blocksize=1M verify_interval=512 fio-3.39/t/jobs/t0005-f7078f7b.fio000066400000000000000000000003061476262051600160540ustar00rootroot00000000000000# Expected result: fio reads and writes 100m # Buggy result: fio reads and writes ~100m/2 [global] bs=4k ioengine=sync size=100m direct=1 filename=xxx [write] verify=md5 verify_backlog=32 rw=write fio-3.39/t/jobs/t0006-82af2a7c.fio000066400000000000000000000004631476262051600161240ustar00rootroot00000000000000# Expected results: workload runs and switches between 'm' and 'V' state # Buggy result: workload stays in 'm' mode, never doing actual verifies [global] rw=randrw bs=4k direct=1 ioengine=libaio iodepth=32 verify=meta verify_backlog=1024 verify_fatal=1 [ver-test] filename=foo size=4g verify_pattern=0xaaa fio-3.39/t/jobs/t0007-37cf9e3c.fio000066400000000000000000000005261476262051600161360ustar00rootroot00000000000000# Expected result: fio reads 87040KB of data: # first read is at offset 0, then 2nd read is at offset 1.5m, then the 3rd # read is at offset 3m, and after the last read at offset 127m - we have only # read 87,040K data. # Buggy result: fio reads the full 128MB of data [foo] size=128mb rw=read:512k bs=1m norandommap write_iolog=log direct=1 fio-3.39/t/jobs/t0008-ae2fafc8.fio000066400000000000000000000002771476262051600162730ustar00rootroot00000000000000# Expected result: fio writes 16MB, reads 16+16MB # Buggy result: fio writes 16MB, reads ~21MB [global] bs=4k verify=crc32c rw=readwrite direct=1 [foo] size=32m do_verify=1 verify_backlog=1 fio-3.39/t/jobs/t0009-f8b0bd10.fio000066400000000000000000000011401476262051600161110ustar00rootroot00000000000000# Expected result: fio verifies and runs for 1m # Buggy result: fio crashes with: # __get_io_u: Assertion `io_u->flags & IO_U_F_FREE' failed [global] direct=1 ioengine=null size=20g norandommap randrepeat=0 bs=4096 iodepth=170 #iodepth=96 #numjobs=1 numjobs=1 #numjobs=24 # number_ios=1 # runtime=216000 #runtime=3600 time_based=1 group_reporting=1 thread gtod_reduce=1 iodepth_batch=4 iodepth_batch_complete=4 cpus_allowed=0-3 cpus_allowed_policy=split rw=randwrite verify=crc32c-intel verify_backlog=1m do_verify=1 verify_async=6 verify_async_cpus=0-3 runtime=1m [4_KiB_RR_drive_r] [4_KiB_RR_drive_s] fio-3.39/t/jobs/t0010-b7aae4ba.fio000066400000000000000000000002221476262051600162410ustar00rootroot00000000000000# Expected result: fio runs and completes the job # Buggy result: fio segfaults # [test] ioengine=null size=10g io_submit_mode=offload iodepth=16 fio-3.39/t/jobs/t0011-5d2788d5.fio000066400000000000000000000004451476262051600157750ustar00rootroot00000000000000# Expected results: no parse warnings, runs and with roughly 1/8 iops between # the two jobs. # Buggy result: parse warning on flow value overflow, no 1/8 division between # jobs. # [global] bs=4k ioengine=null size=100g runtime=10 flow_id=1 [flow1] flow=1 rate_iops=1000 [flow2] flow=8 fio-3.39/t/jobs/t0012.fio000066400000000000000000000005741476262051600147110ustar00rootroot00000000000000# Expected results: no parse warnings, runs and with roughly 1:5:10 iops # between the three jobs. # Buggy result: parse warning on flow value overflow, no 1:5:10 division # between jobs. # [global] bs=4k ioengine=null size=100g runtime=12 flow_id=1 flow_sleep=100 thread log_avg_msec=1000 write_iops_log=t0012.fio time_based [flow1] flow=1 [flow2] flow=5 [flow3] flow=10 fio-3.39/t/jobs/t0013.fio000066400000000000000000000004061476262051600147040ustar00rootroot00000000000000# Trigger the fio code that serializes overlapping I/O. The job size is very # small to make overlapping I/O more likely. [test] ioengine=null thread=1 size=4K blocksize=4K io_submit_mode=offload iodepth=1 serialize_overlap=1 numjobs=8 loops=1000000 runtime=10 fio-3.39/t/jobs/t0014.fio000066400000000000000000000011301476262051600147000ustar00rootroot00000000000000# Expected results: no parse warnings, runs and with roughly 1:2:3 iops # between the three jobs for the first 5 seconds, then # runs with roughly 1:2 iops between the two jobs for # the remaining 5 seconds. # # Buggy result: parse warning on flow value overflow, no 1:2:3 division between # the three jobs for the first 5 seconds or no 1:2 division between # the first two jobs for the remaining 5 seconds. # [global] bs=4k ioengine=null size=100g runtime=12 flow_id=1 thread log_avg_msec=1000 write_iops_log=t0014.fio time_based [flow1] flow=1 [flow2] flow=2 [flow3] flow=3 runtime=5 fio-3.39/t/jobs/t0015-4e7e7898.fio000066400000000000000000000002111476262051600160020ustar00rootroot00000000000000# Expected result: mean(slat) + mean(clat) = mean(lat) # Buggy result: equality does not hold [test] ioengine=libaio size=1M iodepth=16 fio-3.39/t/jobs/t0016-d54ae22.fio000066400000000000000000000002071476262051600157520ustar00rootroot00000000000000# Expected result: mean(slat) + mean(clat) = mean(lat) # Buggy result: equality does not hold [test] ioengine=null size=1M iodepth=16 fio-3.39/t/jobs/t0017.fio000066400000000000000000000004241476262051600147100ustar00rootroot00000000000000# Expected result: mean(slat) + mean(clat) = mean(lat) # Buggy result: equality does not hold # This is similar to t0015 and t0016 except that is uses posixaio which is # available on more platforms and does not have a commit hook [test] ioengine=posixaio size=1M iodepth=16 fio-3.39/t/jobs/t0018.fio000066400000000000000000000002211476262051600147040ustar00rootroot00000000000000# Expected result: job completes without error # Buggy result: job fails [test] ioengine=io_uring filesize=256K time_based runtime=3s rw=randrw fio-3.39/t/jobs/t0019.fio000066400000000000000000000004721476262051600147150ustar00rootroot00000000000000# Expected result: offsets are accessed sequentially and all offsets are read # Buggy result: offsets are not accessed sequentially and one or more offsets are missed # run with --debug=io or logging to see which offsets are accessed [test] ioengine=null filesize=1M write_bw_log=test per_job_logs=0 log_offset=1 fio-3.39/t/jobs/t0020.fio000066400000000000000000000005051476262051600147020ustar00rootroot00000000000000# Expected result: offsets are not accessed sequentially and all offsets are touched # Buggy result: offsets are accessed sequentially and one or more offsets are missed # run with --debug=io or logging to see which offsets are read [test] ioengine=null filesize=1M rw=randread write_bw_log=test per_job_logs=0 log_offset=1 fio-3.39/t/jobs/t0021.fio000066400000000000000000000006651476262051600147120ustar00rootroot00000000000000# make sure the lfsr random generator actually does touch all the offsets # # Expected result: offsets are not accessed sequentially and all offsets are touched # Buggy result: offsets are accessed sequentially and one or more offsets are missed # run with --debug=io or logging to see which offsets are read [test] ioengine=null filesize=1M rw=randread write_bw_log=test per_job_logs=0 log_offset=1 norandommap=1 random_generator=lfsr fio-3.39/t/jobs/t0022.fio000066400000000000000000000004571476262051600147120ustar00rootroot00000000000000# make sure that when we enable norandommap we touch some offsets more than once # # Expected result: at least one offset is touched more than once # Buggy result: each offset is touched only once [test] ioengine=null filesize=1M rw=randread write_bw_log=test per_job_logs=0 log_offset=1 norandommap=1 fio-3.39/t/jobs/t0023.fio000066400000000000000000000031531476262051600147070ustar00rootroot00000000000000# randtrimwrite data direction tests [global] filesize=1M ioengine=null rw=randtrimwrite log_offset=1 per_job_logs=0 randrepeat=0 write_bw_log # Expected result: trim issued to random offset followed by write to same offset # all offsets touched # block sizes match # Buggy result: something else [basic] # Expected result: trim issued to random offset followed by write to same offset # all offsets trimmed # block sizes 8k for both write and trim # Buggy result: something else [bs] bs=8k,8k,8k # Expected result: trim issued to random offset followed by write to same offset # all offsets trimmed # block sizes match # Buggy result: something else [bsrange] bsrange=512-4k # Expected result: trim issued to random offset followed by write to same offset # all offsets trimmed # block sizes match # Buggy result: something else [bssplit] bssplit=512/25:1k/:2k/:4k/ # Expected result: trim issued to random offset followed by write to same offset # block sizes match # Buggy result: something else [basic_no_rm] norandommap=1 # Expected result: trim issued to random offset followed by write to same offset # block sizes 8k for both write and trim # Buggy result: something else [bs_no_rm] bs=4k,4k,8k norandommap=1 # Expected result: trim issued to random offset followed by write to same offset # block sizes match # Buggy result: something else [bsrange_no_rm] bsrange=512-4k norandommap=1 # Expected result: trim issued to random offset followed by write to same offset # block sizes match # Buggy result: something else [bssplit_no_rm] bssplit=512/25:1k/:2k/:4k/ norandommap=1 fio-3.39/t/jobs/t0024.fio000066400000000000000000000016231476262051600147100ustar00rootroot00000000000000# trimwrite data direction tests [global] filesize=1M ioengine=null rw=trimwrite log_offset=1 per_job_logs=0 randrepeat=0 write_bw_log # Expected result: trim issued to sequential offsets followed by write to same offset # all offsets touched # block sizes match # Buggy result: something else [basic] # Expected result: trim issued to sequential offsets followed by write to same offset # all offsets trimmed # block sizes 8k for both write and trim # Buggy result: something else [bs] bs=8k,8k,8k # Expected result: trim issued to sequential offsets followed by write to same offset # all offsets trimmed # block sizes match # Buggy result: something else [bsrange] bsrange=512-4k # Expected result: trim issued to sequential offsets followed by write to same offset # all offsets trimmed # block sizes match # Buggy result: something else [bssplit] bssplit=512/25:1k/:2k/:4k/ fio-3.39/t/jobs/t0025.fio000066400000000000000000000001401476262051600147020ustar00rootroot00000000000000[job] filename=t0025file size=128k readwrite=write do_verify=1 verify=md5 experimental_verify=1 fio-3.39/t/jobs/t0026.fio000066400000000000000000000003551476262051600147130ustar00rootroot00000000000000[job1] filename=t0026file size=1M readwrite=randwrite loops=8 do_verify=1 verify=md5 experimental_verify=1 [job2] stonewall=1 filename=t0026file size=1M readwrite=randrw time_based runtime=5 do_verify=1 verify=md5 experimental_verify=1 fio-3.39/t/jobs/t0027.fio000066400000000000000000000002751476262051600147150ustar00rootroot00000000000000[global] filename=t0027file size=16k bs=16k [write_job] readwrite=write buffer_pattern='t0027.pattern' [read_job] stonewall=1 readwrite=read verify=pattern verify_pattern='t0027.pattern' fio-3.39/t/jobs/t0028-c6cade16.fio000066400000000000000000000001211476262051600161760ustar00rootroot00000000000000[test] size=16k readwrite=write buffer_pattern="abcd"-120xdeadface ioengine=null fio-3.39/t/jobs/t0029.fio000066400000000000000000000001751476262051600147160ustar00rootroot00000000000000[global] filename=t0029file size=4k verify=md5 [write] rw=write do_verify=0 [read] stonewall=1 rw=read loops=2 do_verify=1 fio-3.39/t/jobs/t0030.fio000066400000000000000000000002771476262051600147110ustar00rootroot00000000000000# run with --bandwidth-log # broken behavior: seg fault # successful behavior: test runs to completion with 0 as the exit code [test] ioengine=null filesize=1T rw=read time_based runtime=2s fio-3.39/t/jobs/t0031-pre.fio000066400000000000000000000001441476262051600154670ustar00rootroot00000000000000[job] rw=write ioengine=libaio size=1mb time_based=1 runtime=1 filename=t0030file write_iolog=iolog fio-3.39/t/jobs/t0031.fio000066400000000000000000000001441476262051600147030ustar00rootroot00000000000000[job] rw=read ioengine=libaio iodepth=128 filename=t0030file read_iolog=iolog write_lat_log=lat_log fio-3.39/t/jobs/t0032-43063a1c.fio000066400000000000000000000002271476262051600157500ustar00rootroot00000000000000# Expected results: max offset is ~1280K # Buggy result: max offset is ~640K # [global] ioengine=null size=1280K io_size=2560k bs=128K [test1] rw=rw fio-3.39/t/jobs/t0033.fio000066400000000000000000000005031476262051600147040ustar00rootroot00000000000000[global] rw=read filename=t0033file size=8k time_based runtime=2s ioengine=libaio iodepth=1 [job1] write_bw_log=log log_prio=1 [job2] write_lat_log=log log_avg_msec=100 log_window_value=both [job3] write_iops_log=log log_offset=1 log_prio=1 [job4] write_iops_log=log log_avg_msec=100 log_window_value=both log_offset=1 fio-3.39/t/jobs/t0034.fio000066400000000000000000000005171476262051600147120ustar00rootroot00000000000000[global] rw=read filename=t0034file size=8k time_based runtime=2s ioengine=libaio iodepth=1 [job1] write_lat_log=log log_offset=1 log_issue_time=1 [job2] write_lat_log=log log_offset=1 log_issue_time=1 log_avg_msec=100 log_window_value=both [job3] write_lat_log=log write_bw_log=log write_iops_log=log log_offset=1 log_issue_time=1 fio-3.39/t/jobs/t0035.fio000066400000000000000000000004711476262051600147120ustar00rootroot00000000000000[global] size=4k write_lat_log=log [job1] ioengine=filecreate filename=t0035file1 [job2] ioengine=filestat filename=t0035file2 [job3] ioengine=filedelete filename=t0035file3 [job4] ioengine=dircreate filename=t0035dir1 [job5] ioengine=dirstat filename=t0035dir2 [job6] ioengine=dirdelete filename=t0035dir3 fio-3.39/t/jobs/t0036-post.fio000066400000000000000000000001331476262051600156710ustar00rootroot00000000000000[global] filename=t0036file verify=md5 size=512k [job] readwrite=read verify_state_load=1 fio-3.39/t/jobs/t0036-pre.fio000066400000000000000000000001341476262051600154730ustar00rootroot00000000000000[global] filename=t0036file verify=md5 size=512k [job] readwrite=write verify_state_save=1 fio-3.39/t/jobs/t0037-post.fio000066400000000000000000000002451476262051600156760ustar00rootroot00000000000000[global] filename=t0037file.1:t0037file.2:t0037file.3:t0037file.4 verify=md5 ioengine=libaio iodepth=32 size=512k loops=4 [job] readwrite=read verify_state_load=1 fio-3.39/t/jobs/t0037-pre.fio000066400000000000000000000002461476262051600155000ustar00rootroot00000000000000[global] filename=t0037file.1:t0037file.2:t0037file.3:t0037file.4 verify=md5 ioengine=libaio iodepth=32 size=512k loops=4 [job] readwrite=write verify_state_save=1 fio-3.39/t/jsonplus2csv_test.py000077500000000000000000000073141476262051600165750ustar00rootroot00000000000000#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-2.0-only # # Copyright (c) 2020 Western Digital Corporation or its affiliates. # """ jsonplus2csv-test.py Do one basic test of tools/fio_jsonplus2csv USAGE python jsonplus2csv-test.py [-f fio-executable] [-s script-location] EXAMPLES python t/jsonplus2csv-test.py python t/jsonplus2csv-test.py -f ./fio -s tools REQUIREMENTS Python 3.5+ """ import os import sys import platform import argparse import subprocess def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-f', '--fio', help='path to fio executable (e.g., ./fio)') parser.add_argument('-s', '--script', help='directory containing fio_jsonplus2csv script') return parser.parse_args() def run_fio(fio): """Run fio to generate json+ data. Parameters: fio path to fio executable. """ # We need an async ioengine to get submission latencies if platform.system() == 'Linux': aio = 'libaio' elif platform.system() == 'Windows': aio = 'windowsaio' else: aio = 'posixaio' fio_args = [ "--max-jobs=4", "--output=fio-output.json", "--output-format=json+", "--filename=fio_jsonplus_clat2csv.test", "--ioengine=" + aio, "--time_based", "--runtime=3s", "--size=1M", "--slat_percentiles=1", "--clat_percentiles=1", "--lat_percentiles=1", "--thread=1", "--name=test1", "--rw=randrw", "--name=test2", "--rw=read", "--name=test3", "--rw=write", ] output = subprocess.run([fio] + fio_args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) return output def check_output(fio_output, script_path): """Run t/fio_jsonplus_clat2csv and validate the generated CSV files against the original json+ fio output. Parameters: fio_output subprocess.run object describing fio run. script_path path to fio_jsonplus_clat2csv script. """ if fio_output.returncode != 0: print("ERROR: fio run failed") return False if platform.system() == 'Windows': script = ['python.exe', script_path] else: script = [script_path] script_args = ["fio-output.json", "fio-output.csv"] script_args_validate = script_args + ["--validate"] script_output = subprocess.run(script + script_args) if script_output.returncode != 0: return False script_output = subprocess.run(script + script_args_validate) if script_output.returncode != 0: return False return True def main(): """Entry point for this script.""" args = parse_args() index = 1 passed = 0 failed = 0 if args.fio: fio_path = args.fio else: fio_path = os.path.join(os.path.dirname(__file__), '../fio') if not os.path.exists(fio_path): fio_path = 'fio' print("fio path is", fio_path) if args.script: script_path = args.script else: script_path = os.path.join(os.path.dirname(__file__), '../tools/fio_jsonplus_clat2csv') if not os.path.exists(script_path): script_path = 'fio_jsonplus_clat2csv' print("script path is", script_path) fio_output = run_fio(fio_path) status = check_output(fio_output, script_path) print("Test {0} {1}".format(index, ("PASSED" if status else "FAILED"))) if status: passed = passed + 1 else: failed = failed + 1 index = index + 1 print("{0} tests passed, {1} failed".format(passed, failed)) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/latency_percentiles.py000077500000000000000000001357351476262051600171300ustar00rootroot00000000000000#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-2.0-only # # Copyright (c) 2020 Western Digital Corporation or its affiliates. # """ # latency_percentiles.py # # Test the code that produces latency percentiles # This is mostly to test the code changes to allow reporting # of slat, clat, and lat percentiles # # USAGE # python3 latency-tests.py [-f fio-path] [-a artifact-root] [--debug] # # # Test scenarios: # # - DONE json # unified rw reporting # compare with latency log # try various combinations of the ?lat_percentile options # null, aio # r, w, t # - DONE json+ # check presence of latency bins # if the json percentiles match those from the raw data # then the latency bin values and counts are probably ok # - DONE terse # produce both terse, JSON output and confirm that they match # lat only; both lat and clat # - DONE sync_lat # confirm that sync_lat data appears # - MANUAL TESTING normal output: # null ioengine # enable all, but only clat and lat appear # enable subset of latency types # read, write, trim, unified # libaio ioengine # enable all latency types # enable subset of latency types # read, write, trim, unified # ./fio/fio --name=test --randrepeat=0 --norandommap --time_based --runtime=2s --size=512M \ # --ioengine=null --slat_percentiles=1 --clat_percentiles=1 --lat_percentiles=1 # echo confirm that clat and lat percentiles appear # ./fio/fio --name=test --randrepeat=0 --norandommap --time_based --runtime=2s --size=512M \ # --ioengine=null --slat_percentiles=0 --clat_percentiles=0 --lat_percentiles=1 # echo confirm that only lat percentiles appear # ./fio/fio --name=test --randrepeat=0 --norandommap --time_based --runtime=2s --size=512M \ # --ioengine=null --slat_percentiles=0 --clat_percentiles=1 --lat_percentiles=0 # echo confirm that only clat percentiles appear # ./fio/fio --name=test --randrepeat=0 --norandommap --time_based --runtime=2s --size=512M \ # --ioengine=libaio --slat_percentiles=1 --clat_percentiles=1 --lat_percentiles=1 # echo confirm that slat, clat, lat percentiles appear # ./fio/fio --name=test --randrepeat=0 --norandommap --time_based --runtime=2s --size=512M \ # --ioengine=libaio --slat_percentiles=0 --clat_percentiles=1 --lat_percentiles=1 # echo confirm that clat and lat percentiles appear # ./fio/fio --name=test --randrepeat=0 --norandommap --time_based --runtime=2s --size=512M \ # --ioengine=libaio -rw=randrw # echo confirm that clat percentiles appear for reads and writes # ./fio/fio --name=test --randrepeat=0 --norandommap --time_based --runtime=2s --size=512M \ # --ioengine=libaio --slat_percentiles=1 --clat_percentiles=0 --lat_percentiles=0 --rw=randrw # echo confirm that slat percentiles appear for both reads and writes # ./fio/fio --name=test --randrepeat=0 --norandommap --time_based --runtime=2s --size=512M \ # --ioengine=libaio --slat_percentiles=1 --clat_percentiles=1 --lat_percentiles=1 \ # --rw=randrw --unified_rw_reporting=1 # echo confirm that slat, clat, and lat percentiles appear for 'mixed' IOs #./fio/fio --name=test --randrepeat=0 --norandommap --time_based --runtime=2s --size=512M \ # --ioengine=null --slat_percentiles=1 --clat_percentiles=1 --lat_percentiles=1 \ # --rw=randrw --fsync=32 # echo confirm that fsync latencies appear """ import os import csv import sys import json import math import time import argparse import platform import subprocess from collections import Counter from pathlib import Path class FioLatTest(): """fio latency percentile test.""" def __init__(self, artifact_root, test_options, debug): """ artifact_root root directory for artifacts (subdirectory will be created under here) test test specification """ self.artifact_root = artifact_root self.test_options = test_options self.debug = debug self.filename = None self.json_data = None self.terse_data = None self.test_dir = os.path.join(self.artifact_root, "{:03d}".format(self.test_options['test_id'])) if not os.path.exists(self.test_dir): os.mkdir(self.test_dir) self.filename = "latency{:03d}".format(self.test_options['test_id']) def run_fio(self, fio_path): """Run a test.""" fio_args = [ "--max-jobs=16", "--name=latency", "--randrepeat=0", "--norandommap", "--time_based", "--size=16M", "--rwmixread=50", "--group_reporting=1", "--write_lat_log={0}".format(self.filename), "--output={0}.out".format(self.filename), "--ioengine={ioengine}".format(**self.test_options), "--rw={rw}".format(**self.test_options), "--runtime={runtime}".format(**self.test_options), "--output-format={output-format}".format(**self.test_options), ] for opt in ['slat_percentiles', 'clat_percentiles', 'lat_percentiles', 'unified_rw_reporting', 'fsync', 'fdatasync', 'numjobs', 'cmdprio_percentage', 'bssplit', 'cmdprio_bssplit']: if opt in self.test_options: option = '--{0}={{{0}}}'.format(opt) fio_args.append(option.format(**self.test_options)) command = [fio_path] + fio_args with open(os.path.join(self.test_dir, "{0}.command".format(self.filename)), "w+") as \ command_file: command_file.write("%s\n" % command) passed = True stdout_file = open(os.path.join(self.test_dir, "{0}.stdout".format(self.filename)), "w+") stderr_file = open(os.path.join(self.test_dir, "{0}.stderr".format(self.filename)), "w+") exitcode_file = open(os.path.join(self.test_dir, "{0}.exitcode".format(self.filename)), "w+") try: proc = None # Avoid using subprocess.run() here because when a timeout occurs, # fio will be stopped with SIGKILL. This does not give fio a # chance to clean up and means that child processes may continue # running and submitting IO. proc = subprocess.Popen(command, stdout=stdout_file, stderr=stderr_file, cwd=self.test_dir, universal_newlines=True) proc.communicate(timeout=300) exitcode_file.write('{0}\n'.format(proc.returncode)) passed &= (proc.returncode == 0) except subprocess.TimeoutExpired: proc.terminate() proc.communicate() assert proc.poll() print("Timeout expired") passed = False except Exception: if proc: if not proc.poll(): proc.terminate() proc.communicate() print("Exception: %s" % sys.exc_info()) passed = False finally: stdout_file.close() stderr_file.close() exitcode_file.close() if passed: if 'json' in self.test_options['output-format']: if not self.get_json(): print('Unable to decode JSON data') passed = False if 'terse' in self.test_options['output-format']: if not self.get_terse(): print('Unable to decode terse data') passed = False return passed def get_json(self): """Convert fio JSON output into a python JSON object""" filename = os.path.join(self.test_dir, "{0}.out".format(self.filename)) with open(filename, 'r') as file: file_data = file.read() # # Sometimes fio informational messages are included at the top of the # JSON output, especially under Windows. Try to decode output as JSON # data, lopping off up to the first four lines # lines = file_data.splitlines() for i in range(5): file_data = '\n'.join(lines[i:]) try: self.json_data = json.loads(file_data) except json.JSONDecodeError: continue else: return True return False def get_terse(self): """Read fio output and return terse format data.""" filename = os.path.join(self.test_dir, "{0}.out".format(self.filename)) with open(filename, 'r') as file: file_data = file.read() # # Read the first few lines and see if any of them begin with '3;' # If so, the line is probably terse output. Obviously, this only # works for fio terse version 3 and it does not work for # multi-line terse output # lines = file_data.splitlines() for i in range(8): file_data = lines[i] if file_data.startswith('3;'): self.terse_data = file_data.split(';') return True return False def check_latencies(self, jsondata, ddir, slat=True, clat=True, tlat=True, plus=False, unified=False): """Check fio latency data. ddir data direction to check (0=read, 1=write, 2=trim) slat True if submission latency data available to check clat True if completion latency data available to check tlat True of total latency data available to check plus True if we actually have json+ format data where additional checks can be carried out unified True if fio is reporting unified r/w data """ types = { 'slat': slat, 'clat': clat, 'lat': tlat } retval = True for lat in ['slat', 'clat', 'lat']: this_iter = True if not types[lat]: if 'percentile' in jsondata[lat+'_ns']: this_iter = False print('unexpected %s percentiles found' % lat) else: print("%s percentiles skipped" % lat) continue else: if 'percentile' not in jsondata[lat+'_ns']: this_iter = False print('%s percentiles not found in fio output' % lat) # # Check only for the presence/absence of json+ # latency bins. Future work can check the # accuracy of the bin values and counts. # # Because the latency percentiles are based on # the bins, we can be confident that the bin # values and counts are correct if fio's # latency percentiles match what we compute # from the raw data. # if plus: if 'bins' not in jsondata[lat+'_ns']: print('bins not found with json+ output format') this_iter = False else: if not self.check_jsonplus(jsondata[lat+'_ns']): this_iter = False else: if 'bins' in jsondata[lat+'_ns']: print('json+ bins found with json output format') this_iter = False latencies = [] for i in range(10): lat_file = os.path.join(self.test_dir, "%s_%s.%s.log" % (self.filename, lat, i+1)) if not os.path.exists(lat_file): break with open(lat_file, 'r', newline='') as file: reader = csv.reader(file) for line in reader: if unified or int(line[2]) == ddir: latencies.append(int(line[1])) if int(jsondata['total_ios']) != len(latencies): this_iter = False print('%s: total_ios = %s, latencies logged = %d' % \ (lat, jsondata['total_ios'], len(latencies))) elif self.debug: print("total_ios %s match latencies logged" % jsondata['total_ios']) latencies.sort() ptiles = jsondata[lat+'_ns']['percentile'] for percentile in ptiles.keys(): # # numpy.percentile(latencies, float(percentile), # interpolation='higher') # produces values that mostly match what fio reports # however, in the tails of the distribution, the values produced # by fio's and numpy.percentile's algorithms are occasionally off # by one latency measurement. So instead of relying on the canned # numpy.percentile routine, implement here fio's algorithm # rank = math.ceil(float(percentile)/100 * len(latencies)) if rank > 0: index = rank - 1 else: index = 0 value = latencies[int(index)] fio_val = int(ptiles[percentile]) # The theory in stat.h says that the proportional error will be # less than 1/128 if not self.similar(fio_val, value): delta = abs(fio_val - value) / value print("Error with %s %sth percentile: " "fio: %d, expected: %d, proportional delta: %f" % (lat, percentile, fio_val, value, delta)) print("Rank: %d, index: %d" % (rank, index)) this_iter = False elif self.debug: print('%s %sth percentile values match: %d, %d' % (lat, percentile, fio_val, value)) if this_iter: print("%s percentiles match" % lat) else: retval = False return retval @staticmethod def check_empty(job): """ Make sure JSON data is empty. Some data structures should be empty. This function makes sure that they are. job JSON object that we need to check for emptiness """ return job['total_ios'] == 0 and \ job['slat_ns']['N'] == 0 and \ job['clat_ns']['N'] == 0 and \ job['lat_ns']['N'] == 0 def check_nocmdprio_lat(self, job): """ Make sure no per priority latencies appear. job JSON object to check """ for ddir in ['read', 'write', 'trim']: if ddir in job: if 'prios' in job[ddir]: print("Unexpected per priority latencies found in %s output" % ddir) return False if self.debug: print("No per priority latencies found") return True @staticmethod def similar(approximation, actual): """ Check whether the approximate values recorded by fio are within the theoretical bound. Since it is impractical to store exact latency measurements for each and every IO, fio groups similar latency measurements into variable-sized bins. The theory in stat.h says that the proportional error will be less than 1/128. This function checks whether this is true. TODO This test will fail when comparing a value from the largest latency bin against its actual measurement. Find some way to detect this and avoid failing. approximation value of the bin used by fio to store a given latency actual actual latency value """ # Avoid a division by zero. The smallest latency values have no error. if actual == 0: return approximation == 0 delta = abs(approximation - actual) / actual return delta <= 1/128 def check_jsonplus(self, jsondata): """Check consistency of json+ data When we have json+ data we can check the min value, max value, and sample size reported by fio jsondata json+ data that we need to check """ retval = True keys = [int(k) for k in jsondata['bins'].keys()] values = [int(jsondata['bins'][k]) for k in jsondata['bins'].keys()] smallest = min(keys) biggest = max(keys) sampsize = sum(values) if not self.similar(jsondata['min'], smallest): retval = False print('reported min %d does not match json+ min %d' % (jsondata['min'], smallest)) elif self.debug: print('json+ min values match: %d' % jsondata['min']) if not self.similar(jsondata['max'], biggest): retval = False print('reported max %d does not match json+ max %d' % (jsondata['max'], biggest)) elif self.debug: print('json+ max values match: %d' % jsondata['max']) if sampsize != jsondata['N']: retval = False print('reported sample size %d does not match json+ total count %d' % \ (jsondata['N'], sampsize)) elif self.debug: print('json+ sample sizes match: %d' % sampsize) return retval def check_sync_lat(self, jsondata, plus=False): """Check fsync latency percentile data. All we can check is that some percentiles are reported, unless we have json+ data. If we actually have json+ data then we can do more checking. jsondata JSON data for fsync operations plus True if we actually have json+ data """ retval = True if 'percentile' not in jsondata['lat_ns']: print("Sync percentile data not found") return False if int(jsondata['total_ios']) != int(jsondata['lat_ns']['N']): retval = False print('Mismatch between total_ios and lat_ns sample size') elif self.debug: print('sync sample sizes match: %d' % jsondata['total_ios']) if not plus: if 'bins' in jsondata['lat_ns']: print('Unexpected json+ bin data found') return False if not self.check_jsonplus(jsondata['lat_ns']): retval = False return retval def check_terse(self, terse, jsondata): """Compare terse latencies with JSON latencies. terse terse format data for checking jsondata JSON format data for checking """ retval = True for lat in terse: split = lat.split('%') pct = split[0] terse_val = int(split[1][1:]) json_val = math.floor(jsondata[pct]/1000) if terse_val != json_val: retval = False print('Mismatch with %sth percentile: json value=%d,%d terse value=%d' % \ (pct, jsondata[pct], json_val, terse_val)) elif self.debug: print('Terse %sth percentile matches JSON value: %d' % (pct, terse_val)) return retval def check_prio_latencies(self, jsondata, clat=True, plus=False): """Check consistency of per priority latencies. clat True if we should check clat data; other check lat data plus True if we have json+ format data where additional checks can be carried out unified True if fio is reporting unified r/w data """ if clat: obj = combined = 'clat_ns' else: obj = combined = 'lat_ns' if not 'prios' in jsondata or not combined in jsondata: print("Error identifying per priority latencies") return False sum_sample_size = sum([x[obj]['N'] for x in jsondata['prios']]) if sum_sample_size != jsondata[combined]['N']: print("Per prio sample size sum %d != combined sample size %d" % (sum_sample_size, jsondata[combined]['N'])) return False elif self.debug: print("Per prio sample size sum %d == combined sample size %d" % (sum_sample_size, jsondata[combined]['N'])) min_val = min([x[obj]['min'] for x in jsondata['prios']]) if min_val != jsondata[combined]['min']: print("Min per prio min latency %d does not match min %d from combined data" % (min_val, jsondata[combined]['min'])) return False elif self.debug: print("Min per prio min latency %d matches min %d from combined data" % (min_val, jsondata[combined]['min'])) max_val = max([x[obj]['max'] for x in jsondata['prios']]) if max_val != jsondata[combined]['max']: print("Max per prio max latency %d does not match max %d from combined data" % (max_val, jsondata[combined]['max'])) return False elif self.debug: print("Max per prio max latency %d matches max %d from combined data" % (max_val, jsondata[combined]['max'])) weighted_vals = [x[obj]['mean'] * x[obj]['N'] for x in jsondata['prios']] weighted_avg = sum(weighted_vals) / jsondata[combined]['N'] delta = abs(weighted_avg - jsondata[combined]['mean']) if (delta / jsondata[combined]['mean']) > 0.0001: print("Difference between merged per prio weighted average %f mean " "and actual mean %f exceeds 0.01%%" % (weighted_avg, jsondata[combined]['mean'])) return False elif self.debug: print("Merged per prio weighted average %f mean matches actual mean %f" % (weighted_avg, jsondata[combined]['mean'])) if plus: for prio in jsondata['prios']: if not self.check_jsonplus(prio[obj]): return False counter = Counter() for prio in jsondata['prios']: counter.update(prio[obj]['bins']) bins = dict(counter) if len(bins) != len(jsondata[combined]['bins']): print("Number of merged bins %d does not match number of overall bins %d" % (len(bins), len(jsondata[combined]['bins']))) return False elif self.debug: print("Number of merged bins %d matches number of overall bins %d" % (len(bins), len(jsondata[combined]['bins']))) for duration in bins.keys(): if bins[duration] != jsondata[combined]['bins'][duration]: print("Merged per prio count does not match overall count for duration %d" % duration) return False print("Merged per priority latency data match combined latency data") return True def check(self): """Check test output.""" raise NotImplementedError() class Test001(FioLatTest): """Test object for Test 1.""" def check(self): """Check Test 1 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['write']): print("Unexpected write data found in output") retval = False if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['read'], 0, slat=False) return retval class Test002(FioLatTest): """Test object for Test 2.""" def check(self): """Check Test 2 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['read']): print("Unexpected read data found in output") retval = False if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['write'], 1, slat=False, clat=False) return retval class Test003(FioLatTest): """Test object for Test 3.""" def check(self): """Check Test 3 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['read']): print("Unexpected read data found in output") retval = False if not self.check_empty(job['write']): print("Unexpected write data found in output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['trim'], 2, slat=False, tlat=False) return retval class Test004(FioLatTest): """Test object for Tests 4, 13.""" def check(self): """Check Test 4, 13 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['write']): print("Unexpected write data found in output") retval = False if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['read'], 0, plus=True) return retval class Test005(FioLatTest): """Test object for Test 5.""" def check(self): """Check Test 5 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['read']): print("Unexpected read data found in output") retval = False if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['write'], 1, slat=False, plus=True) return retval class Test006(FioLatTest): """Test object for Test 6.""" def check(self): """Check Test 6 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['write']): print("Unexpected write data found in output") retval = False if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['read'], 0, slat=False, tlat=False, plus=True) return retval class Test007(FioLatTest): """Test object for Test 7.""" def check(self): """Check Test 7 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['read'], 0, clat=False, tlat=False, plus=True) retval &= self.check_latencies(job['write'], 1, clat=False, tlat=False, plus=True) return retval class Test008(FioLatTest): """Test object for Tests 8, 14.""" def check(self): """Check Test 8, 14 output.""" job = self.json_data['jobs'][0] retval = True if 'read' in job or 'write' in job or 'trim' in job: print("Unexpected data direction found in fio output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['mixed'], 0, plus=True, unified=True) return retval class Test009(FioLatTest): """Test object for Test 9.""" def check(self): """Check Test 9 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['read']): print("Unexpected read data found in output") retval = False if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False if not self.check_sync_lat(job['sync'], plus=True): print("Error checking fsync latency data") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['write'], 1, slat=False, plus=True) return retval class Test010(FioLatTest): """Test object for Test 10.""" def check(self): """Check Test 10 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['read'], 0, plus=True) retval &= self.check_latencies(job['write'], 1, plus=True) retval &= self.check_terse(self.terse_data[17:34], job['read']['lat_ns']['percentile']) retval &= self.check_terse(self.terse_data[58:75], job['write']['lat_ns']['percentile']) # Terse data checking only works for default percentiles. # This needs to be changed if something other than the default is ever used. return retval class Test011(FioLatTest): """Test object for Test 11.""" def check(self): """Check Test 11 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False if not self.check_nocmdprio_lat(job): print("Unexpected per priority latencies found") retval = False retval &= self.check_latencies(job['read'], 0, slat=False, clat=False, plus=True) retval &= self.check_latencies(job['write'], 1, slat=False, clat=False, plus=True) retval &= self.check_terse(self.terse_data[17:34], job['read']['lat_ns']['percentile']) retval &= self.check_terse(self.terse_data[58:75], job['write']['lat_ns']['percentile']) # Terse data checking only works for default percentiles. # This needs to be changed if something other than the default is ever used. return retval class Test015(FioLatTest): """Test object for Test 15.""" def check(self): """Check Test 15 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['write']): print("Unexpected write data found in output") retval = False if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False retval &= self.check_latencies(job['read'], 0, plus=True) retval &= self.check_prio_latencies(job['read'], clat=False, plus=True) return retval class Test016(FioLatTest): """Test object for Test 16.""" def check(self): """Check Test 16 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['read']): print("Unexpected read data found in output") retval = False if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False retval &= self.check_latencies(job['write'], 1, slat=False, plus=True) retval &= self.check_prio_latencies(job['write'], clat=False, plus=True) return retval class Test017(FioLatTest): """Test object for Test 17.""" def check(self): """Check Test 17 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['write']): print("Unexpected write data found in output") retval = False if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False retval &= self.check_latencies(job['read'], 0, slat=False, tlat=False, plus=True) retval &= self.check_prio_latencies(job['read'], plus=True) return retval class Test018(FioLatTest): """Test object for Test 18.""" def check(self): """Check Test 18 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False retval &= self.check_latencies(job['read'], 0, clat=False, tlat=False, plus=True) retval &= self.check_latencies(job['write'], 1, clat=False, tlat=False, plus=True) # We actually have json+ data but setting plus=False below avoids checking the # json+ bins which did not exist for clat and lat because this job is run with # clat_percentiles=0, lat_percentiles=0, However, we can still check the summary # statistics retval &= self.check_prio_latencies(job['write'], plus=False) retval &= self.check_prio_latencies(job['read'], plus=False) return retval class Test019(FioLatTest): """Test object for Tests 19, 20.""" def check(self): """Check Test 19, 20 output.""" job = self.json_data['jobs'][0] retval = True if 'read' in job or 'write' in job or 'trim' in job: print("Unexpected data direction found in fio output") retval = False retval &= self.check_latencies(job['mixed'], 0, plus=True, unified=True) retval &= self.check_prio_latencies(job['mixed'], clat=False, plus=True) return retval class Test021(FioLatTest): """Test object for Test 21.""" def check(self): """Check Test 21 output.""" job = self.json_data['jobs'][0] retval = True if not self.check_empty(job['trim']): print("Unexpected trim data found in output") retval = False retval &= self.check_latencies(job['read'], 0, slat=False, tlat=False, plus=True) retval &= self.check_latencies(job['write'], 1, slat=False, tlat=False, plus=True) retval &= self.check_prio_latencies(job['read'], clat=True, plus=True) retval &= self.check_prio_latencies(job['write'], clat=True, plus=True) return retval def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-d', '--debug', help='enable debug output', action='store_true') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') args = parser.parse_args() return args def main(): """Run tests of fio latency percentile reporting""" args = parse_args() artifact_root = args.artifact_root if args.artifact_root else \ "latency-test-{0}".format(time.strftime("%Y%m%d-%H%M%S")) os.mkdir(artifact_root) print("Artifact directory is %s" % artifact_root) if args.fio: fio = str(Path(args.fio).absolute()) else: fio = 'fio' print("fio path is %s" % fio) if platform.system() == 'Linux': aio = 'libaio' elif platform.system() == 'Windows': aio = 'windowsaio' else: aio = 'posixaio' test_list = [ { # randread, null # enable slat, clat, lat # only clat and lat will appear because # because the null ioengine is synchronous "test_id": 1, "runtime": 2, "output-format": "json", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": 'null', 'rw': 'randread', "test_obj": Test001, }, { # randwrite, null # enable lat only "test_id": 2, "runtime": 2, "output-format": "json", "slat_percentiles": 0, "clat_percentiles": 0, "lat_percentiles": 1, "ioengine": 'null', 'rw': 'randwrite', "test_obj": Test002, }, { # randtrim, null # enable clat only "test_id": 3, "runtime": 2, "output-format": "json", "slat_percentiles": 0, "clat_percentiles": 1, "lat_percentiles": 0, "ioengine": 'null', 'rw': 'randtrim', "test_obj": Test003, }, { # randread, aio # enable slat, clat, lat # all will appear because libaio is asynchronous "test_id": 4, "runtime": 5, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randread', "test_obj": Test004, }, { # randwrite, aio # enable only clat, lat "test_id": 5, "runtime": 5, "output-format": "json+", "slat_percentiles": 0, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randwrite', "test_obj": Test005, }, { # randread, aio # by default only clat should appear "test_id": 6, "runtime": 5, "output-format": "json+", "ioengine": aio, 'rw': 'randread', "test_obj": Test006, }, { # 50/50 r/w, aio # enable only slat "test_id": 7, "runtime": 5, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 0, "lat_percentiles": 0, "ioengine": aio, 'rw': 'randrw', "test_obj": Test007, }, { # 50/50 r/w, aio, unified_rw_reporting # enable slat, clat, lat "test_id": 8, "runtime": 5, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randrw', 'unified_rw_reporting': 1, "test_obj": Test008, }, { # randwrite, null # enable slat, clat, lat # fsync "test_id": 9, "runtime": 2, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": 'null', 'rw': 'randwrite', 'fsync': 32, "test_obj": Test009, }, { # 50/50 r/w, aio # enable slat, clat, lat "test_id": 10, "runtime": 5, "output-format": "terse,json+", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randrw', "test_obj": Test010, }, { # 50/50 r/w, aio # enable only lat "test_id": 11, "runtime": 5, "output-format": "terse,json+", "slat_percentiles": 0, "clat_percentiles": 0, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randrw', "test_obj": Test011, }, { # randread, null # enable slat, clat, lat # only clat and lat will appear because # because the null ioengine is synchronous # same as Test 1 except add numjobs = 4 to test # sum_thread_stats() changes "test_id": 12, "runtime": 2, "output-format": "json", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": 'null', 'rw': 'randread', 'numjobs': 4, "test_obj": Test001, }, { # randread, aio # enable slat, clat, lat # all will appear because libaio is asynchronous # same as Test 4 except add numjobs = 4 to test # sum_thread_stats() changes "test_id": 13, "runtime": 5, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randread', 'numjobs': 4, "test_obj": Test004, }, { # 50/50 r/w, aio, unified_rw_reporting # enable slat, clat, lata # same as Test 8 except add numjobs = 4 to test # sum_thread_stats() changes "test_id": 14, "runtime": 5, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randrw', 'unified_rw_reporting': 1, 'numjobs': 4, "test_obj": Test008, }, { # randread, aio # enable slat, clat, lat # all will appear because libaio is asynchronous # same as Test 4 except add cmdprio_percentage "test_id": 15, "runtime": 5, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randread', 'cmdprio_percentage': 50, "test_obj": Test015, }, { # randwrite, aio # enable only clat, lat # same as Test 5 except add cmdprio_percentage "test_id": 16, "runtime": 5, "output-format": "json+", "slat_percentiles": 0, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randwrite', 'cmdprio_percentage': 50, "test_obj": Test016, }, { # randread, aio # by default only clat should appear # same as Test 6 except add cmdprio_percentage "test_id": 17, "runtime": 5, "output-format": "json+", "ioengine": aio, 'rw': 'randread', 'cmdprio_percentage': 50, "test_obj": Test017, }, { # 50/50 r/w, aio # enable only slat # same as Test 7 except add cmdprio_percentage "test_id": 18, "runtime": 5, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 0, "lat_percentiles": 0, "ioengine": aio, 'rw': 'randrw', 'cmdprio_percentage': 50, "test_obj": Test018, }, { # 50/50 r/w, aio, unified_rw_reporting # enable slat, clat, lat # same as Test 8 except add cmdprio_percentage "test_id": 19, "runtime": 5, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randrw', 'unified_rw_reporting': 1, 'cmdprio_percentage': 50, "test_obj": Test019, }, { # 50/50 r/w, aio, unified_rw_reporting # enable slat, clat, lat # same as Test 19 except add numjobs = 4 to test # sum_thread_stats() changes "test_id": 20, "runtime": 5, "output-format": "json+", "slat_percentiles": 1, "clat_percentiles": 1, "lat_percentiles": 1, "ioengine": aio, 'rw': 'randrw', 'unified_rw_reporting': 1, 'cmdprio_percentage': 50, 'numjobs': 4, "test_obj": Test019, }, { # r/w, aio # enable only clat # test bssplit and cmdprio_bssplit "test_id": 21, "runtime": 5, "output-format": "json+", "slat_percentiles": 0, "clat_percentiles": 1, "lat_percentiles": 0, "ioengine": aio, 'rw': 'randrw', 'bssplit': '64k/40:1024k/60', 'cmdprio_bssplit': '64k/25/1/1:64k/75/3/2:1024k/0', "test_obj": Test021, }, { # r/w, aio # enable only clat # same as Test 21 except add numjobs = 4 to test # sum_thread_stats() changes "test_id": 22, "runtime": 5, "output-format": "json+", "slat_percentiles": 0, "clat_percentiles": 1, "lat_percentiles": 0, "ioengine": aio, 'rw': 'randrw', 'bssplit': '64k/40:1024k/60', 'cmdprio_bssplit': '64k/25/1/1:64k/75/3/2:1024k/0', 'numjobs': 4, "test_obj": Test021, }, ] passed = 0 failed = 0 skipped = 0 for test in test_list: if (args.skip and test['test_id'] in args.skip) or \ (args.run_only and test['test_id'] not in args.run_only): skipped = skipped + 1 outcome = 'SKIPPED (User request)' elif (platform.system() != 'Linux' or os.geteuid() != 0) and \ ('cmdprio_percentage' in test or 'cmdprio_bssplit' in test): skipped = skipped + 1 outcome = 'SKIPPED (Linux root required for cmdprio tests)' else: test_obj = test['test_obj'](artifact_root, test, args.debug) status = test_obj.run_fio(fio) if status: status = test_obj.check() if status: passed = passed + 1 outcome = 'PASSED' else: failed = failed + 1 outcome = 'FAILED' print("**********Test {0} {1}**********".format(test['test_id'], outcome)) print("{0} tests passed, {1} failed, {2} skipped".format(passed, failed, skipped)) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/lfsr-test.c000066400000000000000000000064461476262051600146020ustar00rootroot00000000000000#include #include #include #include #include "../lib/lfsr.h" #include "../gettime.h" #include "../fio_time.h" #include "../compiler/compiler.h" static void usage(void) { printf("Usage: lfsr-test 0x [seed] [spin] [verify]\n"); printf("-------------------------------------------------------------\n"); printf("*numbers: how many random numbers to produce (in hex)\n" "seed: initial value\n" "spin: how many iterations before we produce a number\n" "verify: check if LFSR has iterated correctly\n\n" "Only is required. The rest are evaluated to 0 or false\n" "Elapsed/mean time and verification results are printed at the" "end of the test\n"); } int main(int argc, char *argv[]) { int r; struct timespec start, end; struct fio_lfsr *fl; int verify = 0; unsigned int spin = 0; uint64_t seed = 0; uint64_t numbers; uint64_t v_size; uint64_t i; void *v = NULL, *v_start; double total, mean; arch_init(argv); /* Read arguments */ switch (argc) { case 5: if (strncmp(argv[4], "verify", 7) == 0) verify = 1; fio_fallthrough; case 4: spin = atoi(argv[3]); fio_fallthrough; case 3: seed = atol(argv[2]); fio_fallthrough; case 2: numbers = strtol(argv[1], NULL, 16); break; default: usage(); return 1; } /* Initialize LFSR */ fl = malloc(sizeof(struct fio_lfsr)); if (!fl) { perror("malloc"); return 1; } r = lfsr_init(fl, numbers, seed, spin); if (r) { printf("Initialization failed.\n"); return r; } /* Print specs */ printf("LFSR specs\n"); printf("==========================\n"); printf("Size is %u\n", 64 - __builtin_clzl(fl->cached_bit)); printf("Max val is %lu\n", (unsigned long) fl->max_val); printf("XOR-mask is 0x%lX\n", (unsigned long) fl->xormask); printf("Seed is %lu\n", (unsigned long) fl->last_val); printf("Spin is %u\n", fl->spin); printf("Cycle length is %lu\n", (unsigned long) fl->cycle_length); /* Create verification table */ if (verify) { v_size = numbers * sizeof(uint8_t); v = calloc(1, v_size); printf("\nVerification table is %lf KiB\n", (double)(v_size) / 1024); } v_start = v; /* * Iterate over a tight loop until we have produced all the requested * numbers. Verifying the results should introduce some small yet not * negligible overhead. */ fprintf(stderr, "\nTest initiated... "); fio_gettime(&start, NULL); while (!lfsr_next(fl, &i)) { if (verify) *(uint8_t *)(v + i) += 1; } fio_gettime(&end, NULL); fprintf(stderr, "finished.\n"); /* Check if all expected numbers within range have been calculated */ r = 0; if (verify) { fprintf(stderr, "Verifying results... "); for (i = 0; i < numbers; i++) { if (*(uint8_t *)(v + i) != 1) { fprintf(stderr, "failed (%lu = %d).\n", (unsigned long) i, *(uint8_t *)(v + i)); r = 1; break; } } if (!r) fprintf(stderr, "OK!\n"); } /* Calculate elapsed time and mean time per number */ total = utime_since(&start, &end); mean = total / fl->num_vals; printf("\nTime results "); if (verify) printf("(slower due to verification)"); printf("\n==============================\n"); printf("Elapsed: %lf s\n", total / pow(10,6)); printf("Mean: %lf us\n", mean); free(v_start); free(fl); return r; } fio-3.39/t/log.c000066400000000000000000000011271476262051600134270ustar00rootroot00000000000000#include #include #include "../minmax.h" size_t log_err(const char *format, ...) { char buffer[1024]; va_list args; size_t len; va_start(args, format); len = vsnprintf(buffer, sizeof(buffer), format, args); va_end(args); len = min(len, sizeof(buffer) - 1); return fwrite(buffer, len, 1, stderr); } size_t log_info(const char *format, ...) { char buffer[1024]; va_list args; size_t len; va_start(args, format); len = vsnprintf(buffer, sizeof(buffer), format, args); va_end(args); len = min(len, sizeof(buffer) - 1); return fwrite(buffer, len, 1, stdout); } fio-3.39/t/log_compression.py000077500000000000000000000065511476262051600162670ustar00rootroot00000000000000#!/usr/bin/env python3 # # log_compression.py # # Test log_compression and log_store_compressed. Uses null ioengine. # Previous bugs have caused output in per I/O log files to be missing # and/or out of order # # Expected result: 8000 log entries, offset starting at 0 and increasing by bs # Buggy result: Log entries out of order (usually without log_store_compressed) # and/or missing log entries (usually with log_store_compressed) # # USAGE # python log_compression.py [-f fio-executable] # # EXAMPLES # python t/log_compression.py # python t/log_compression.py -f ./fio # # REQUIREMENTS # Python 3.5+ # # ===TEST MATRIX=== # # With log_compression=10K # With log_store_compressed=1 and log_compression=10K import os import sys import platform import argparse import subprocess def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-f', '--fio', help='path to fio executable (e.g., ./fio)') return parser.parse_args() def run_fio(fio,log_store_compressed): fio_args = [ '--name=job', '--ioengine=null', '--filesize=1000M', '--bs=128K', '--rw=write', '--iodepth=1', '--write_bw_log=test', '--per_job_logs=0', '--log_offset=1', '--log_compression=10K', ] if log_store_compressed: fio_args.append('--log_store_compressed=1') subprocess.check_output([fio] + fio_args) if log_store_compressed: fio_inflate_args = [ '--inflate-log=test_bw.log.fz' ] with open('test_bw.from_fz.log','wt') as f: subprocess.check_call([fio]+fio_inflate_args,stdout=f) def check_log_file(log_store_compressed): filename = 'test_bw.from_fz.log' if log_store_compressed else 'test_bw.log' with open(filename,'rt') as f: file_data = f.read() log_lines = [x for x in file_data.split('\n') if len(x.strip())!=0] log_ios = len(log_lines) filesize = 1000*1024*1024 bs = 128*1024 ios = filesize//bs if log_ios!=ios: print('wrong number of ios ({}) in log; should be {}'.format(log_ios,ios)) return False expected_offset = 0 for line_number,line in enumerate(log_lines): log_offset = int(line.split(',')[4]) if log_offset != expected_offset: print('wrong offset ({}) for io number {} in log; should be {}'.format( log_offset, line_number, expected_offset)) return False expected_offset += bs return True def main(): """Entry point for this script.""" args = parse_args() if args.fio: fio_path = args.fio else: fio_path = os.path.join(os.path.dirname(__file__), '../fio') if not os.path.exists(fio_path): fio_path = 'fio' print("fio path is", fio_path) passed_count = 0 failed_count = 0 for log_store_compressed in [False, True]: run_fio(fio_path, log_store_compressed) passed = check_log_file(log_store_compressed) print('Test with log_store_compressed={} {}'.format(log_store_compressed, 'PASSED' if passed else 'FAILED')) if passed: passed_count+=1 else: failed_count+=1 print('{} tests passed, {} failed'.format(passed_count, failed_count)) sys.exit(failed_count) if __name__ == '__main__': main() fio-3.39/t/memlock.c000066400000000000000000000022331476262051600142740ustar00rootroot00000000000000#include #include #include #include static struct thread_data { unsigned long mib; } td; static void *worker(void *data) { struct thread_data *td = data; unsigned long index; size_t size; char *buf; int i, first = 1; size = td->mib * 1024UL * 1024UL; buf = malloc(size); for (i = 0; i < 100000; i++) { for (index = 0; index + 4096 < size; index += 4096) memset(&buf[index+512], 0x89, 512); if (first) { printf("loop%d: did %lu MiB\n", i+1, td->mib); first = 0; } } free(buf); return NULL; } int main(int argc, char *argv[]) { unsigned long mib, threads; pthread_t *pthreads; int i; if (argc < 3) { printf("%s: \n", argv[0]); return 1; } mib = strtoul(argv[1], NULL, 10); threads = strtoul(argv[2], NULL, 10); if (threads < 1 || threads > 65536) { printf("%s: invalid 'threads' argument\n", argv[0]); return 1; } pthreads = calloc(threads, sizeof(pthread_t)); td.mib = mib; for (i = 0; i < threads; i++) pthread_create(&pthreads[i], NULL, worker, &td); for (i = 0; i < threads; i++) { void *ret; pthread_join(pthreads[i], &ret); } return 0; } fio-3.39/t/nvmept.py000077500000000000000000000260701476262051600143740ustar00rootroot00000000000000#!/usr/bin/env python3 """ # nvmept.py # # Test fio's io_uring_cmd ioengine with NVMe pass-through commands. # # USAGE # see python3 nvmept.py --help # # EXAMPLES # python3 t/nvmept.py --dut /dev/ng0n1 # python3 t/nvmept.py --dut /dev/ng1n1 -f ./fio # # REQUIREMENTS # Python 3.6 # """ import os import sys import time import argparse from pathlib import Path from fiotestlib import FioJobCmdTest, run_fio_tests class PassThruTest(FioJobCmdTest): """ NVMe pass-through test class. Check to make sure output for selected data direction(s) is non-zero and that zero data appears for other directions. """ def setup(self, parameters): """Setup a test.""" fio_args = [ "--name=nvmept", "--ioengine=io_uring_cmd", "--cmd_type=nvme", "--iodepth=8", "--iodepth_batch=4", "--iodepth_batch_complete=4", f"--filename={self.fio_opts['filename']}", f"--rw={self.fio_opts['rw']}", f"--output={self.filenames['output']}", f"--output-format={self.fio_opts['output-format']}", ] for opt in ['fixedbufs', 'nonvectored', 'force_async', 'registerfiles', 'sqthread_poll', 'sqthread_poll_cpu', 'hipri', 'nowait', 'time_based', 'runtime', 'verify', 'io_size']: if opt in self.fio_opts: option = f"--{opt}={self.fio_opts[opt]}" fio_args.append(option) super().setup(fio_args) def check_result(self): super().check_result() if 'rw' not in self.fio_opts: return if not self.passed: return job = self.json_data['jobs'][0] if self.fio_opts['rw'] in ['read', 'randread']: self.passed = self.check_all_ddirs(['read'], job) elif self.fio_opts['rw'] in ['write', 'randwrite']: if 'verify' not in self.fio_opts: self.passed = self.check_all_ddirs(['write'], job) else: self.passed = self.check_all_ddirs(['read', 'write'], job) elif self.fio_opts['rw'] in ['trim', 'randtrim']: self.passed = self.check_all_ddirs(['trim'], job) elif self.fio_opts['rw'] in ['readwrite', 'randrw']: self.passed = self.check_all_ddirs(['read', 'write'], job) elif self.fio_opts['rw'] in ['trimwrite', 'randtrimwrite']: self.passed = self.check_all_ddirs(['trim', 'write'], job) else: print(f"Unhandled rw value {self.fio_opts['rw']}") self.passed = False if job['iodepth_level']['8'] < 95: print("Did not achieve requested iodepth") self.passed = False class FlushTest(FioJobCmdTest): def setup(self, parameters): fio_args = [ "--name=nvmept-flush", "--ioengine=io_uring_cmd", "--cmd_type=nvme", "--randrepeat=0", f"--filename={self.fio_opts['filename']}", f"--rw={self.fio_opts['rw']}", f"--output={self.filenames['output']}", f"--output-format={self.fio_opts['output-format']}", ] for opt in ['fixedbufs', 'nonvectored', 'force_async', 'registerfiles', 'sqthread_poll', 'sqthread_poll_cpu', 'hipri', 'nowait', 'time_based', 'runtime', 'verify', 'io_size', 'num_range', 'iodepth', 'iodepth_batch', 'iodepth_batch_complete', 'size', 'rate', 'bs', 'bssplit', 'bsrange', 'randrepeat', 'buffer_pattern', 'verify_pattern', 'offset', 'fdp', 'fdp_pli', 'fdp_pli_select', 'dataplacement', 'plid_select', 'plids', 'dp_scheme', 'number_ios', 'read_iolog', 'fsync']: if opt in self.fio_opts: option = f"--{opt}={self.fio_opts[opt]}" fio_args.append(option) super().setup(fio_args) def check_result(self): super().check_result() job = self.json_data['jobs'][0] rw = self.fio_opts['rw'] fsync = self.fio_opts['fsync'] nr_write = job['write']['total_ios'] nr_sync = job['sync']['total_ios'] nr_sync_exp = nr_write // fsync # The actual number of DDIR_SYNC issued might miss one DDIR_SYNC command # when the last command issued was DDIR_WRITE command. if not ((nr_sync == nr_sync_exp) or (nr_sync + 1 == nr_sync_exp)): logging.error(f"nr_write={nr_write}, nr_sync={nr_sync}, fsync={fsync}") self.passed = False TEST_LIST = [ { "test_id": 1, "fio_opts": { "rw": 'read', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 2, "fio_opts": { "rw": 'randread', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 3, "fio_opts": { "rw": 'write', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 4, "fio_opts": { "rw": 'randwrite', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 5, "fio_opts": { "rw": 'trim', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 6, "fio_opts": { "rw": 'randtrim', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 7, "fio_opts": { "rw": 'write', "io_size": 1024*1024, "verify": "crc32c", "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 8, "fio_opts": { "rw": 'randwrite', "io_size": 1024*1024, "verify": "crc32c", "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 9, "fio_opts": { "rw": 'readwrite', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 10, "fio_opts": { "rw": 'randrw', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 11, "fio_opts": { "rw": 'trimwrite', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 12, "fio_opts": { "rw": 'randtrimwrite', "timebased": 1, "runtime": 3, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 13, "fio_opts": { "rw": 'randread', "timebased": 1, "runtime": 3, "fixedbufs": 1, "nonvectored": 1, "force_async": 1, "registerfiles": 1, "sqthread_poll": 1, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 14, "fio_opts": { "rw": 'randwrite', "timebased": 1, "runtime": 3, "fixedbufs": 1, "nonvectored": 1, "force_async": 1, "registerfiles": 1, "sqthread_poll": 1, "output-format": "json", }, "test_class": PassThruTest, }, { # We can't enable fixedbufs because for trim-only # workloads fio actually does not allocate any buffers "test_id": 15, "fio_opts": { "rw": 'randtrim', "timebased": 1, "runtime": 3, "fixedbufs": 0, "nonvectored": 1, "force_async": 1, "registerfiles": 1, "sqthread_poll": 1, "output-format": "json", }, "test_class": PassThruTest, }, { "test_id": 16, "fio_opts": { "rw": 'read', "bs": 4096, "number_ios": 10, "fsync": 1, "output-format": "json", }, "test_class": FlushTest, }, { "test_id": 17, "fio_opts": { "rw": 'write', "bs": 4096, "number_ios": 10, "fsync": 1, "output-format": "json", }, "test_class": FlushTest, }, { "test_id": 18, "fio_opts": { "rw": 'readwrite', "bs": 4096, "number_ios": 10, "fsync": 1, "output-format": "json", }, "test_class": FlushTest, }, { "test_id": 19, "fio_opts": { "rw": 'trimwrite', "bs": 4096, "number_ios": 10, "fsync": 1, "output-format": "json", }, "test_class": FlushTest, }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') parser.add_argument('--dut', help='target NVMe character device to test ' '(e.g., /dev/ng0n1). WARNING: THIS IS A DESTRUCTIVE TEST', required=True) args = parser.parse_args() return args def main(): """Run tests using fio's io_uring_cmd ioengine to send NVMe pass through commands.""" args = parse_args() artifact_root = args.artifact_root if args.artifact_root else \ f"nvmept-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = 'fio' print(f"fio path is {fio_path}") for test in TEST_LIST: test['fio_opts']['filename'] = args.dut test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'nvmept', } _, failed, _ = run_fio_tests(TEST_LIST, test_env, args) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/nvmept_fdp.py000077500000000000000000001023231476262051600152210ustar00rootroot00000000000000#!/usr/bin/env python3 # # Copyright 2024 Samsung Electronics Co., Ltd All Rights Reserved # # For conditions of distribution and use, see the accompanying COPYING file. # """ # nvmept_fdp.py # # Test fio's io_uring_cmd ioengine with NVMe pass-through FDP write commands. # # USAGE # see python3 nvmept_fdp.py --help # # EXAMPLES # python3 t/nvmept_fdp.py --dut /dev/ng0n1 # python3 t/nvmept_fdp.py --dut /dev/ng1n1 -f ./fio # # REQUIREMENTS # Python 3.6 # Device formatted with LBA data size 4096 bytes # Device with at least five placement IDs # # WARNING # This is a destructive test """ import os import sys import json import time import locale import logging import argparse import subprocess from pathlib import Path from fiotestlib import FioJobCmdTest, run_fio_tests from fiotestcommon import SUCCESS_NONZERO # This needs to match FIO_MAX_DP_IDS and DP_MAX_SCHEME_ENTRIES in # dataplacement.h FIO_MAX_DP_IDS = 128 DP_MAX_SCHEME_ENTRIES = 32 class FDPTest(FioJobCmdTest): """ NVMe pass-through test class. Check to make sure output for selected data direction(s) is non-zero and that zero data appears for other directions. """ def setup(self, parameters): """Setup a test.""" fio_args = [ "--name=nvmept-fdp", "--ioengine=io_uring_cmd", "--cmd_type=nvme", "--randrepeat=0", f"--filename={self.fio_opts['filename']}", f"--rw={self.fio_opts['rw']}", f"--output={self.filenames['output']}", f"--output-format={self.fio_opts['output-format']}", ] for opt in ['fixedbufs', 'nonvectored', 'force_async', 'registerfiles', 'sqthread_poll', 'sqthread_poll_cpu', 'hipri', 'nowait', 'time_based', 'runtime', 'verify', 'io_size', 'num_range', 'iodepth', 'iodepth_batch', 'iodepth_batch_complete', 'size', 'rate', 'bs', 'bssplit', 'bsrange', 'randrepeat', 'buffer_pattern', 'verify_pattern', 'offset', 'fdp', 'fdp_pli', 'fdp_pli_select', 'dataplacement', 'plid_select', 'plids', 'dp_scheme', 'number_ios', 'read_iolog']: if opt in self.fio_opts: option = f"--{opt}={self.fio_opts[opt]}" fio_args.append(option) super().setup(fio_args) def check_result(self): try: self._check_result() finally: if not update_all_ruhs(self.fio_opts['filename']): logging.error("Could not reset device") if not check_all_ruhs(self.fio_opts['filename']): logging.error("Reclaim units have inconsistent RUAMW values") def _check_result(self): super().check_result() if 'rw' not in self.fio_opts or \ not self.passed or \ 'json' not in self.fio_opts['output-format']: return job = self.json_data['jobs'][0] rw_fio_opts = self.fio_opts['rw'].split(':')[0] if rw_fio_opts in ['read', 'randread']: self.passed = self.check_all_ddirs(['read'], job) elif rw_fio_opts in ['write', 'randwrite']: if 'verify' not in self.fio_opts: self.passed = self.check_all_ddirs(['write'], job) else: self.passed = self.check_all_ddirs(['read', 'write'], job) elif rw_fio_opts in ['trim', 'randtrim']: self.passed = self.check_all_ddirs(['trim'], job) elif rw_fio_opts in ['readwrite', 'randrw']: self.passed = self.check_all_ddirs(['read', 'write'], job) elif rw_fio_opts in ['trimwrite', 'randtrimwrite']: self.passed = self.check_all_ddirs(['trim', 'write'], job) else: logging.error("Unhandled rw value %s", self.fio_opts['rw']) self.passed = False if 'iodepth' in self.fio_opts: # We will need to figure something out if any test uses an iodepth # different from 8 if job['iodepth_level']['8'] < 95: logging.error("Did not achieve requested iodepth") self.passed = False else: logging.debug("iodepth 8 target met %s", job['iodepth_level']['8']) class FDPMultiplePLIDTest(FDPTest): """ Write to multiple placement IDs. """ def setup(self, parameters): mapping = { 'nruhsd': FIO_FDP_NUMBER_PLIDS, 'max_ruamw': FIO_FDP_MAX_RUAMW, 'maxplid': FIO_FDP_NUMBER_PLIDS-1, # parameters for 400, 401 tests 'hole_size': 64*1024, 'nios_for_scheme': min(FIO_FDP_NUMBER_PLIDS//2, DP_MAX_SCHEME_ENTRIES), } if 'number_ios' in self.fio_opts and isinstance(self.fio_opts['number_ios'], str): self.fio_opts['number_ios'] = eval(self.fio_opts['number_ios'].format(**mapping)) if 'bs' in self.fio_opts and isinstance(self.fio_opts['bs'], str): self.fio_opts['bs'] = eval(self.fio_opts['bs'].format(**mapping)) if 'rw' in self.fio_opts and isinstance(self.fio_opts['rw'], str): self.fio_opts['rw'] = self.fio_opts['rw'].format(**mapping) if 'plids' in self.fio_opts and isinstance(self.fio_opts['plids'], str): self.fio_opts['plids'] = self.fio_opts['plids'].format(**mapping) if 'fdp_pli' in self.fio_opts and isinstance(self.fio_opts['fdp_pli'], str): self.fio_opts['fdp_pli'] = self.fio_opts['fdp_pli'].format(**mapping) super().setup(parameters) if 'dp_scheme' in self.fio_opts: scheme_path = os.path.join(self.paths['test_dir'], self.fio_opts['dp_scheme']) with open(scheme_path, mode='w') as f: for i in range(mapping['nios_for_scheme']): f.write(f'{mapping["hole_size"] * 2 * i}, {mapping["hole_size"] * 2 * (i+1)}, {i}\n') if 'read_iolog' in self.fio_opts: read_iolog_path = os.path.join(self.paths['test_dir'], self.fio_opts['read_iolog']) with open(read_iolog_path, mode='w') as f: f.write('fio version 2 iolog\n') f.write(f'{self.fio_opts["filename"]} add\n') f.write(f'{self.fio_opts["filename"]} open\n') for i in range(mapping['nios_for_scheme']): f.write(f'{self.fio_opts["filename"]} write {mapping["hole_size"] * 2 * i} {mapping["hole_size"]}\n') f.write(f'{self.fio_opts["filename"]} close') def _check_result(self): if 'fdp_pli' in self.fio_opts: plid_list = self.fio_opts['fdp_pli'].split(',') elif 'plids' in self.fio_opts: plid_list = self.fio_opts['plids'].split(',') else: plid_list = [str(i) for i in range(FIO_FDP_NUMBER_PLIDS)] range_ids = [] for plid in plid_list: if '-' in plid: [start, end] = plid.split('-') range_ids.extend(list(range(int(start), int(end)+1))) else: range_ids.append(int(plid)) plid_list = sorted(range_ids) logging.debug("plid_list: %s", str(plid_list)) fdp_status = get_fdp_status(self.fio_opts['filename']) select = "roundrobin" if 'fdp_pli_select' in self.fio_opts: select = self.fio_opts['fdp_pli_select'] elif 'plid_select' in self.fio_opts: select = self.fio_opts['plid_select'] if select == "roundrobin": self._check_robin(plid_list, fdp_status) elif select == "random": self._check_random(plid_list, fdp_status) elif select == "scheme": self._check_scheme(plid_list, fdp_status) else: logging.error("Unknown plid selection strategy %s", select) self.passed = False super()._check_result() def _check_robin(self, plid_list, fdp_status): """ With round robin we can know exactly how many writes each PLID will receive. """ ruamw = [FIO_FDP_MAX_RUAMW] * FIO_FDP_NUMBER_PLIDS number_ios = self.fio_opts['number_ios'] % (len(plid_list)*FIO_FDP_MAX_RUAMW) remainder = int(number_ios % len(plid_list)) whole = int((number_ios - remainder) / len(plid_list)) logging.debug("PLIDs in the list should show they have received %d writes; %d PLIDs will receive one extra", whole, remainder) for plid in plid_list: ruamw[plid] -= whole if remainder: ruamw[plid] -= 1 remainder -= 1 logging.debug("Expected ruamw values: %s", str(ruamw)) for idx, ruhs in enumerate(fdp_status['ruhss']): if idx >= FIO_FDP_NUMBER_PLIDS: break if ruhs['ruamw'] != ruamw[idx]: logging.error("RUAMW mismatch with idx %d, pid %d, expected %d, observed %d", idx, ruhs['pid'], ruamw[idx], ruhs['ruamw']) self.passed = False break logging.debug("RUAMW match with idx %d, pid %d: ruamw=%d", idx, ruhs['pid'], ruamw[idx]) def _check_random(self, plid_list, fdp_status): """ With random selection, a set of PLIDs will receive all the write operations and the remainder will be untouched. """ total_ruamw = 0 for plid in plid_list: total_ruamw += fdp_status['ruhss'][plid]['ruamw'] expected = len(plid_list) * FIO_FDP_MAX_RUAMW - self.fio_opts['number_ios'] if total_ruamw != expected: logging.error("Expected total ruamw %d for plids %s, observed %d", expected, str(plid_list), total_ruamw) self.passed = False else: logging.debug("Observed expected total ruamw %d for plids %s", expected, str(plid_list)) for idx, ruhs in enumerate(fdp_status['ruhss']): if idx in plid_list: continue if ruhs['ruamw'] != FIO_FDP_MAX_RUAMW: logging.error("Unexpected ruamw %d for idx %d, pid %d, expected %d", ruhs['ruamw'], idx, ruhs['pid'], FIO_FDP_MAX_RUAMW) self.passed = False else: logging.debug("Observed expected ruamw %d for idx %d, pid %d", ruhs['ruamw'], idx, ruhs['pid']) def _check_scheme(self, plid_list, fdp_status): """ With scheme selection, a set of PLIDs touched by the scheme """ PLID_IDX_POS = 2 plid_list_from_scheme = set() scheme_path = os.path.join(self.paths['test_dir'], self.fio_opts['dp_scheme']) with open(scheme_path) as f: lines = f.readlines() for line in lines: line_elem = line.strip().replace(' ', '').split(',') plid_list_from_scheme.add(int(line_elem[PLID_IDX_POS])) logging.debug(f'plid_list_from_scheme: {plid_list_from_scheme}') for idx, ruhs in enumerate(fdp_status['ruhss']): if ruhs['pid'] in plid_list_from_scheme: if ruhs['ruamw'] == FIO_FDP_MAX_RUAMW: logging.error("pid %d should be touched by the scheme. But ruamw of it(%d) equals to %d", ruhs['pid'], ruhs['ruamw'], FIO_FDP_MAX_RUAMW) self.passed = False else: logging.debug("pid %d should be touched by the scheme. ruamw of it(%d) is under %d", ruhs['pid'], ruhs['ruamw'], FIO_FDP_MAX_RUAMW) else: if ruhs['ruamw'] == FIO_FDP_MAX_RUAMW: logging.debug("pid %d should not be touched by the scheme. ruamw of it(%d) equals to %d", ruhs['pid'], ruhs['ruamw'], FIO_FDP_MAX_RUAMW) else: logging.error("pid %d should not be touched by the scheme. But ruamw of it(%d) is under %d", ruhs['pid'], ruhs['ruamw'], FIO_FDP_MAX_RUAMW) self.passed = False class FDPSinglePLIDTest(FDPTest): """ Write to a single placement ID only. """ def _check_result(self): if 'plids' in self.fio_opts: plid = self.fio_opts['plids'] elif 'fdp_pli' in self.fio_opts: plid = self.fio_opts['fdp_pli'] else: plid = 0 fdp_status = get_fdp_status(self.fio_opts['filename']) ruamw = fdp_status['ruhss'][plid]['ruamw'] lba_count = self.fio_opts['number_ios'] if FIO_FDP_MAX_RUAMW - lba_count != ruamw: logging.error("FDP accounting mismatch for plid %d; expected ruamw %d, observed %d", plid, FIO_FDP_MAX_RUAMW - lba_count, ruamw) self.passed = False else: logging.debug("FDP accounting as expected for plid %d; ruamw = %d", plid, ruamw) super()._check_result() class FDPReadTest(FDPTest): """ Read workload test. """ def _check_result(self): ruamw = check_all_ruhs(self.fio_opts['filename']) if ruamw != FIO_FDP_MAX_RUAMW: logging.error("Read workload affected FDP ruamw") self.passed = False else: logging.debug("Read workload did not disturb FDP ruamw") super()._check_result() def get_fdp_status(dut): """ Run the nvme-cli command to obtain FDP status and return result as a JSON object. """ cmd = f"sudo nvme fdp status --output-format=json {dut}" cmd = cmd.split(' ') cmd_result = subprocess.run(cmd, capture_output=True, check=False, encoding=locale.getpreferredencoding()) if cmd_result.returncode != 0: logging.error("Error obtaining device %s FDP status: %s", dut, cmd_result.stderr) return False return json.loads(cmd_result.stdout) def update_ruh(dut, plid): """ Update reclaim unit handles with specified ID(s). This tells the device to point the RUH to a new (empty) reclaim unit. """ ids = ','.join(plid) if isinstance(plid, list) else plid cmd = f"nvme fdp update --pids={ids} {dut}" cmd = cmd.split(' ') cmd_result = subprocess.run(cmd, capture_output=True, check=False, encoding=locale.getpreferredencoding()) if cmd_result.returncode != 0: logging.error("Error updating RUH %s ID(s) %s", dut, ids) return False return True def update_all_ruhs(dut): """ Update all reclaim unit handles on the device. """ fdp_status = get_fdp_status(dut) for ruhs in fdp_status['ruhss']: if not update_ruh(dut, ruhs['pid']): return False return True def check_all_ruhs(dut): """ Check that all RUHs have the same value for reclaim unit available media writes (RUAMW). Return the RUAMW value. """ fdp_status = get_fdp_status(dut) ruh_status = fdp_status['ruhss'] ruamw = ruh_status[0]['ruamw'] for ruhs in ruh_status: if ruhs['ruamw'] != ruamw: logging.error("RUAMW mismatch: found %d, expected %d", ruhs['ruamw'], ruamw) return False return ruamw TEST_LIST = [ # Write one LBA to one PLID using both the old and new sets of options ## omit fdp_pli_select/plid_select { "test_id": 1, "fio_opts": { "rw": 'write', "bs": 4096, "number_ios": 1, "verify": "crc32c", "fdp": 1, "fdp_pli": 3, "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, { "test_id": 2, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": 1, "verify": "crc32c", "dataplacement": "fdp", "plids": 3, "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, ## fdp_pli_select/plid_select=roundrobin { "test_id": 3, "fio_opts": { "rw": 'write', "bs": 4096, "number_ios": 1, "verify": "crc32c", "fdp": 1, "fdp_pli": 3, "fdp_pli_select": "roundrobin", "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, { "test_id": 4, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": 1, "verify": "crc32c", "dataplacement": "fdp", "plids": 3, "plid_select": "roundrobin", "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, ## fdp_pli_select/plid_select=random { "test_id": 5, "fio_opts": { "rw": 'write', "bs": 4096, "number_ios": 1, "verify": "crc32c", "fdp": 1, "fdp_pli": 3, "fdp_pli_select": "random", "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, { "test_id": 6, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": 1, "verify": "crc32c", "dataplacement": "fdp", "plids": 3, "plid_select": "random", "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, # Write four LBAs to one PLID using both the old and new sets of options ## omit fdp_pli_select/plid_select { "test_id": 7, "fio_opts": { "rw": 'write', "bs": 4096, "number_ios": 4, "verify": "crc32c", "fdp": 1, "fdp_pli": 1, "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, { "test_id": 8, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": 4, "verify": "crc32c", "dataplacement": "fdp", "plids": 1, "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, ## fdp_pli_select/plid_select=roundrobin { "test_id": 9, "fio_opts": { "rw": 'write', "bs": 4096, "number_ios": 4, "verify": "crc32c", "fdp": 1, "fdp_pli": 1, "fdp_pli_select": "roundrobin", "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, { "test_id": 10, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": 4, "verify": "crc32c", "dataplacement": "fdp", "plids": 1, "plid_select": "roundrobin", "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, ## fdp_pli_select/plid_select=random { "test_id": 11, "fio_opts": { "rw": 'write', "bs": 4096, "number_ios": 4, "verify": "crc32c", "fdp": 1, "fdp_pli": 1, "fdp_pli_select": "random", "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, { "test_id": 12, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": 4, "verify": "crc32c", "dataplacement": "fdp", "plids": 1, "plid_select": "random", "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, # Just a regular write without FDP directive--should land on plid 0 { "test_id": 13, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": 19, "verify": "crc32c", "output-format": "json", }, "test_class": FDPSinglePLIDTest, }, # Read workload { "test_id": 14, "fio_opts": { "rw": 'randread', "bs": 4096, "number_ios": 19, "output-format": "json", }, "test_class": FDPReadTest, }, # write to multiple PLIDs using round robin to select PLIDs ## write to all PLIDs using old and new sets of options { "test_id": 100, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "2*{nruhsd}+3", "verify": "crc32c", "fdp": 1, "fdp_pli_select": "roundrobin", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 101, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "2*{nruhsd}+3", "verify": "crc32c", "dataplacement": "fdp", "plid_select": "roundrobin", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, ## write to a subset of PLIDs using old and new sets of options { "test_id": 102, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{nruhsd}+1", "verify": "crc32c", "fdp": 1, "fdp_pli": "1,3", "fdp_pli_select": "roundrobin", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 103, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{nruhsd}+1", "verify": "crc32c", "dataplacement": "fdp", "plids": "1,3", "plid_select": "roundrobin", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, # write to multiple PLIDs using random selection of PLIDs ## write to all PLIDs using old and new sets of options { "test_id": 200, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "fdp": 1, "fdp_pli_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 201, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "dataplacement": "fdp", "plid_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, ## write to a subset of PLIDs using old and new sets of options { "test_id": 202, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "fdp": 1, "fdp_pli": "1,3,4", "fdp_pli_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 203, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "dataplacement": "fdp", "plids": "1,3,4", "plid_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, ### use 3-4 to specify plids { "test_id": 204, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "fdp": 1, "fdp_pli": "1,3-4", "fdp_pli_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 205, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "dataplacement": "fdp", "plids": "1,3-4", "plid_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, ### use 1-3 to specify plids { "test_id": 206, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "fdp": 1, "fdp_pli": "1-3", "fdp_pli_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 207, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "dataplacement": "fdp", "plids": "1-3", "plid_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, ### use multiple ranges to specify plids { "test_id": 208, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "fdp": 1, "fdp_pli": "1-2,3-3", "fdp_pli_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 209, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "dataplacement": "fdp", "plids": "1-2,3-3", "plid_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 210, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "fdp": 1, "fdp_pli": "0-{maxplid}", "fdp_pli_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 211, "fio_opts": { "rw": 'randwrite', "bs": 4096, "number_ios": "{max_ruamw}-1", "verify": "crc32c", "dataplacement": "fdp", "fdp_pli": "0-{maxplid}", "plid_select": "random", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, # Specify invalid options fdp=1 and dataplacement=none { "test_id": 300, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 4096, "verify": "crc32c", "fdp": 1, "fdp_pli": 3, "output-format": "normal", "dataplacement": "none", }, "test_class": FDPTest, "success": SUCCESS_NONZERO, }, # Specify invalid options fdp=1 and dataplacement=streams { "test_id": 301, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 4096, "verify": "crc32c", "fdp": 1, "fdp_pli": 3, "output-format": "normal", "dataplacement": "streams", }, "test_class": FDPTest, "success": SUCCESS_NONZERO, }, # Specify invalid options related to dataplacement scheme ## using old and new sets of options { "test_id": 302, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 4096, "verify": "crc32c", "fdp": 1, "fdp_pli": 3, "fdp_pli_select": "scheme", "output-format": "normal", }, "test_class": FDPTest, "success": SUCCESS_NONZERO, }, { "test_id": 303, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 4096, "verify": "crc32c", "dataplacement": "fdp", "plids": 3, "plid_select": "scheme", "output-format": "normal", }, "test_class": FDPTest, "success": SUCCESS_NONZERO, }, ## Specify invalid ranges with start > end { "test_id": 304, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 4096, "verify": "crc32c", "fdp": 1, "plids": "3-1", "output-format": "normal", }, "test_class": FDPTest, "success": SUCCESS_NONZERO, }, { "test_id": 305, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 4096, "verify": "crc32c", "fdp": 1, "fdp_pli": "3-1", "output-format": "normal", }, "test_class": FDPTest, "success": SUCCESS_NONZERO, }, ## Specify too many plids { "test_id": 306, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 4096, "verify": "crc32c", "fdp": 1, "plids": "0-65535", "output-format": "normal", }, "test_class": FDPTest, "success": SUCCESS_NONZERO, }, { "test_id": 307, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 4096, "verify": "crc32c", "fdp": 1, "fdp_pli": "0-65535", "output-format": "normal", }, "test_class": FDPTest, "success": SUCCESS_NONZERO, }, # write to multiple PLIDs using scheme selection of PLIDs ## using old and new sets of options { "test_id": 400, "fio_opts": { "rw": "write:{hole_size}", "bs": "{hole_size}", "number_ios": "{nios_for_scheme}", "verify": "crc32c", "fdp": 1, "fdp_pli_select": "scheme", "dp_scheme": "lba.scheme", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, { "test_id": 401, "fio_opts": { "rw": "write:{hole_size}", "bs": "{hole_size}", "number_ios": "{nios_for_scheme}", "verify": "crc32c", "dataplacement": "fdp", "plid_select": "scheme", "dp_scheme": "lba.scheme", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, # check whether dataplacement works while replaying iologs { "test_id": 402, "fio_opts": { "rw": "write:{hole_size}", "bs": "{hole_size}", "number_ios": "{nios_for_scheme}", "verify": "crc32c", "read_iolog": "iolog", "dataplacement": "fdp", "plid_select": "scheme", "dp_scheme": "lba.scheme", "output-format": "json", }, "test_class": FDPMultiplePLIDTest, }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-d', '--debug', help='Enable debug messages', action='store_true') parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') parser.add_argument('--dut', help='target NVMe character device to test ' '(e.g., /dev/ng0n1). WARNING: THIS IS A DESTRUCTIVE TEST', required=True) args = parser.parse_args() return args FIO_FDP_MAX_RUAMW = 0 FIO_FDP_NUMBER_PLIDS = 0 def main(): """Run tests using fio's io_uring_cmd ioengine to send NVMe pass through commands.""" global FIO_FDP_MAX_RUAMW global FIO_FDP_NUMBER_PLIDS args = parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) artifact_root = args.artifact_root if args.artifact_root else \ f"nvmept-fdp-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = 'fio' print(f"fio path is {fio_path}") for test in TEST_LIST: test['fio_opts']['filename'] = args.dut fdp_status = get_fdp_status(args.dut) FIO_FDP_NUMBER_PLIDS = min(fdp_status['nruhsd'], 128) update_all_ruhs(args.dut) FIO_FDP_MAX_RUAMW = check_all_ruhs(args.dut) if not FIO_FDP_MAX_RUAMW: sys.exit(-1) test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'nvmept-fdp', } _, failed, _ = run_fio_tests(TEST_LIST, test_env, args) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/nvmept_pi.py000077500000000000000000000727631476262051600150760ustar00rootroot00000000000000#!/usr/bin/env python3 """ # nvmept_pi.py # # Test fio's io_uring_cmd ioengine support for DIF/DIX end-to-end data # protection. # # USAGE # see python3 nvmept_pi.py --help # # EXAMPLES (THIS IS A DESTRUCTIVE TEST!!) # python3 t/nvmept_pi.py --dut /dev/ng0n1 -f ./fio # python3 t/nvmept_pi.py --dut /dev/ng0n1 -f ./fio --lbaf 1 # # REQUIREMENTS # Python 3.6 # """ import os import sys import json import time import locale import logging import argparse import itertools import subprocess from pathlib import Path from fiotestlib import FioJobCmdTest, run_fio_tests from fiotestcommon import SUCCESS_NONZERO NUMBER_IOS = 8192 BS_LOW = 1 BS_HIGH = 16 class DifDixTest(FioJobCmdTest): """ NVMe DIF/DIX test class. """ def setup(self, parameters): """Setup a test.""" fio_args = [ "--name=nvmept_pi", f"--ioengine={self.fio_opts['ioengine']}", f"--filename={self.fio_opts['filename']}", f"--rw={self.fio_opts['rw']}", f"--bsrange={self.fio_opts['bsrange']}", f"--output={self.filenames['output']}", f"--md_per_io_size={self.fio_opts['md_per_io_size']}", f"--pi_act={self.fio_opts['pi_act']}", f"--pi_chk={self.fio_opts['pi_chk']}", f"--apptag={self.fio_opts['apptag']}", f"--apptag_mask={self.fio_opts['apptag_mask']}", ] for opt in ['fixedbufs', 'nonvectored', 'force_async', 'registerfiles', 'sqthread_poll', 'sqthread_poll_cpu', 'hipri', 'nowait', 'time_based', 'runtime', 'verify', 'io_size', 'offset', 'number_ios', 'output-format']: if opt in self.fio_opts: option = f"--{opt}={self.fio_opts[opt]}" fio_args.append(option) if self.fio_opts['ioengine'] == 'io_uring_cmd': fio_args.append('--cmd_type=nvme') elif self.fio_opts['ioengine'] == 'xnvme': fio_args.append('--thread=1') fio_args.append('--xnvme_async=io_uring_cmd') super().setup(fio_args) TEST_LIST = [ # # Write data with pi_act=1 and then read the data back (with both # pi_act=[0,1]). # { # Write workload with variable IO sizes # pi_act=1 "test_id": 101, "fio_opts": { "rw": 'write', "number_ios": NUMBER_IOS, "output-format": "json", "apptag": "0x8888", "apptag_mask": "0xFFFF", "pi_act": 1, }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with fixed small IO size # pi_act=0 "test_id": 102, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x8888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_LOW, "test_class": DifDixTest, }, { # Read workload with fixed small IO size # pi_act=1 "test_id": 103, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x8888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_LOW, "test_class": DifDixTest, }, { # Write workload with fixed large IO size # Precondition for read workloads to follow # pi_act=1 "test_id": 104, "fio_opts": { "rw": 'write', "number_ios": NUMBER_IOS, "output-format": "json", "apptag": "0x8888", "apptag_mask": "0xFFFF", "pi_act": 1, }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_HIGH, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 "test_id": 105, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x8888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 "test_id": 106, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x8888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, # # Write data with pi_act=0 and then read the data back (with both # pi_act=[0,1]). # { # Write workload with variable IO sizes # pi_act=0 "test_id": 201, "fio_opts": { "rw": 'write', "number_ios": NUMBER_IOS, "output-format": "json", "apptag": "0x8888", "apptag_mask": "0xFFFF", "pi_act": 0, }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with fixed small IO size # pi_act=0 "test_id": 202, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x8888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_LOW, "test_class": DifDixTest, }, { # Read workload with fixed small IO size # pi_act=1 "test_id": 203, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x8888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_LOW, "test_class": DifDixTest, }, { # Write workload with fixed large IO sizes # pi_act=0 "test_id": 204, "fio_opts": { "rw": 'write', "number_ios": NUMBER_IOS, "output-format": "json", "apptag": "0x8888", "apptag_mask": "0xFFFF", "pi_act": 0, }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_HIGH, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 "test_id": 205, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x8888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 "test_id": 206, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x8888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, # # Test apptag errors. # { # Read workload with variable IO sizes # pi_act=0 # trigger an apptag error "test_id": 301, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "success": SUCCESS_NONZERO, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 # trigger an apptag error "test_id": 302, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "success": SUCCESS_NONZERO, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 # trigger an apptag error # same as above but with pi_chk=APPTAG only "test_id": 303, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "success": SUCCESS_NONZERO, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 # trigger an apptag error # same as above but with pi_chk=APPTAG only "test_id": 304, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "success": SUCCESS_NONZERO, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 # this case would trigger an apptag error, but pi_chk says to check # only the Guard PI and reftag, so there should be no error "test_id": 305, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 # this case would trigger an apptag error, but pi_chk says to check # only the Guard PI and reftag, so there should be no error "test_id": 306, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 # this case would trigger an apptag error, but pi_chk says to check # only the Guard PI, so there should be no error "test_id": 307, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "GUARD", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 # this case would trigger an apptag error, but pi_chk says to check # only the Guard PI, so there should be no error "test_id": 308, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "GUARD", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 # this case would trigger an apptag error, but pi_chk says to check # only the reftag, so there should be no error # This case will be skipped when the device is formatted with Type 3 PI # since Type 3 PI ignores the reftag "test_id": 309, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "skip": "type3", "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 # this case would trigger an apptag error, but pi_chk says to check # only the reftag, so there should be no error # This case will be skipped when the device is formatted with Type 3 PI # since Type 3 PI ignores the reftag "test_id": 310, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x0888", "apptag_mask": "0xFFFF", }, "pi_chk": "REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "skip": "type3", "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 # use apptag mask to ignore apptag mismatch "test_id": 311, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x0888", "apptag_mask": "0x0FFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 # use apptag mask to ignore apptag mismatch "test_id": 312, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x0888", "apptag_mask": "0x0FFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 # use apptag mask to ignore apptag mismatch "test_id": 313, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0xF888", "apptag_mask": "0x0FFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 # use apptag mask to ignore apptag mismatch "test_id": 314, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0xF888", "apptag_mask": "0x0FFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "test_class": DifDixTest, }, { # Write workload with fixed large IO sizes # Set apptag=0xFFFF to disable all checking for Type 1 and 2 # pi_act=1 "test_id": 315, "fio_opts": { "rw": 'write', "number_ios": NUMBER_IOS, "output-format": "json", "apptag": "0xFFFF", "apptag_mask": "0xFFFF", "pi_act": 1, }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_HIGH, "bs_high": BS_HIGH, "skip": "type3", "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 # Data was written with apptag=0xFFFF # Reading the data back should disable all checking for Type 1 and 2 "test_id": 316, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 0, "apptag": "0x0101", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "skip": "type3", "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=1 # Data was written with apptag=0xFFFF # Reading the data back should disable all checking for Type 1 and 2 "test_id": 317, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "output-format": "json", "pi_act": 1, "apptag": "0x0000", "apptag_mask": "0xFFFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "skip": "type3", "test_class": DifDixTest, }, # # Error cases related to block size and metadata size # { # Use a min block size that is not a multiple of lba/elba size to # trigger an error. "test_id": 401, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "pi_act": 0, "apptag": "0x8888", "apptag_mask": "0x0FFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW+0.5, "bs_high": BS_HIGH, "success": SUCCESS_NONZERO, "test_class": DifDixTest, }, { # Use metadata size that is too small "test_id": 402, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "pi_act": 0, "apptag": "0x8888", "apptag_mask": "0x0FFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "mdsize_adjustment": -1, "success": SUCCESS_NONZERO, "skip": "elba", "test_class": DifDixTest, }, { # Read workload with variable IO sizes # pi_act=0 # Should still work even if metadata size is too large "test_id": 403, "fio_opts": { "rw": 'read', "number_ios": NUMBER_IOS, "pi_act": 0, "apptag": "0x8888", "apptag_mask": "0x0FFF", }, "pi_chk": "APPTAG,GUARD,REFTAG", "bs_low": BS_LOW, "bs_high": BS_HIGH, "mdsize_adjustment": 1, "test_class": DifDixTest, }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-d', '--debug', help='Enable debug messages', action='store_true') parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') parser.add_argument('--dut', help='target NVMe character device to test ' '(e.g., /dev/ng0n1). WARNING: THIS IS A DESTRUCTIVE TEST', required=True) parser.add_argument('-l', '--lbaf', nargs='+', type=int, help='list of lba formats to test') parser.add_argument('-i', '--ioengine', default='io_uring_cmd') args = parser.parse_args() return args def get_lbafs(args): """ Determine which LBA formats to use. Use either the ones specified on the command line or if none are specified query the device and use all lba formats with metadata. """ lbaf_list = [] id_ns_cmd = f"sudo nvme id-ns --output-format=json {args.dut}".split(' ') id_ns_output = subprocess.check_output(id_ns_cmd) lbafs = json.loads(id_ns_output)['lbafs'] if args.lbaf: for lbaf in args.lbaf: lbaf_list.append({'lbaf': lbaf, 'ds': 2 ** lbafs[lbaf]['ds'], 'ms': lbafs[lbaf]['ms'], }) if lbafs[lbaf]['ms'] == 0: print(f'Error: lbaf {lbaf} has metadata size zero') sys.exit(1) else: for lbaf_num, lbaf in enumerate(lbafs): if lbaf['ms'] != 0: lbaf_list.append({'lbaf': lbaf_num, 'ds': 2 ** lbaf['ds'], 'ms': lbaf['ms'], }) return lbaf_list def get_guard_pi(lbaf_list, args): """ Find out how many bits of guard protection information are associated with each lbaf to be used. If this is not available assume 16-bit guard pi. Also record the bytes of protection information associated with the number of guard PI bits. """ nvm_id_ns_cmd = f"sudo nvme nvm-id-ns --output-format=json {args.dut}".split(' ') try: nvm_id_ns_output = subprocess.check_output(nvm_id_ns_cmd) except subprocess.CalledProcessError: print(f"Non-zero return code from {' '.join(nvm_id_ns_cmd)}; " \ "assuming all lbafs use 16b Guard Protection Information") for lbaf in lbaf_list: lbaf['guard_pi_bits'] = 16 else: elbafs = json.loads(nvm_id_ns_output)['elbafs'] for elbaf_num, elbaf in enumerate(elbafs): for lbaf in lbaf_list: if lbaf['lbaf'] == elbaf_num: lbaf['guard_pi_bits'] = 16 << elbaf['pif'] # For 16b Guard Protection Information, the PI requires 8 bytes # For 32b and 64b Guard PI, the PI requires 16 bytes for lbaf in lbaf_list: if lbaf['guard_pi_bits'] == 16: lbaf['pi_bytes'] = 8 else: lbaf['pi_bytes'] = 16 def get_capabilities(args): """ Determine what end-to-end data protection features the device supports. """ caps = { 'pil': [], 'pitype': [], 'elba': [] } id_ns_cmd = f"sudo nvme id-ns --output-format=json {args.dut}".split(' ') id_ns_output = subprocess.check_output(id_ns_cmd) id_ns_json = json.loads(id_ns_output) mc = id_ns_json['mc'] if mc & 1: caps['elba'].append(1) if mc & 2: caps['elba'].append(0) dpc = id_ns_json['dpc'] if dpc & 1: caps['pitype'].append(1) if dpc & 2: caps['pitype'].append(2) if dpc & 4: caps['pitype'].append(3) if dpc & 8: caps['pil'].append(1) if dpc & 16: caps['pil'].append(0) for _, value in caps.items(): if len(value) == 0: logging.error("One or more end-to-end data protection features unsupported: %s", caps) sys.exit(-1) return caps def format_device(args, lbaf, pitype, pil, elba): """ Format device using specified lba format with specified pitype, pil, and elba values. """ format_cmd = f"sudo nvme format {args.dut} --lbaf={lbaf['lbaf']} " \ f"--pi={pitype} --pil={pil} --ms={elba} --force" logging.debug("Format command: %s", format_cmd) format_cmd = format_cmd.split(' ') format_cmd_result = subprocess.run(format_cmd, capture_output=True, check=False, encoding=locale.getpreferredencoding()) # Sometimes nvme-cli may format the device successfully but fail to # rescan the namespaces after the format. Continue if this happens but # abort if some other error occurs. if format_cmd_result.returncode != 0: if 'failed to rescan namespaces' not in format_cmd_result.stderr \ or 'Success formatting namespace' not in format_cmd_result.stdout: logging.error(format_cmd_result.stdout) logging.error(format_cmd_result.stderr) print("Unable to format device; skipping this configuration") return False logging.debug(format_cmd_result.stdout) return True def difdix_test(test_env, args, lbaf, pitype, elba): """ Adjust test arguments based on values of lbaf, pitype, and elba. Then run the tests. """ for test in TEST_LIST: test['force_skip'] = False blocksize = lbaf['ds'] # Set fio blocksize parameter at runtime # If we formatted the device in extended LBA mode (e.g., 520-byte # sectors), we usually need to add the lba data size and metadata size # together for fio's bs parameter. However, if pi_act == 1 and the # device is formatted so that the metadata is the same size as the PI, # then the device will take care of everything and the application # should just use regular power of 2 lba data size even when the device # is in extended lba mode. if elba: if not test['fio_opts']['pi_act'] or lbaf['ms'] != lbaf['pi_bytes']: blocksize += lbaf['ms'] test['fio_opts']['md_per_io_size'] = 0 else: # If we are using a separate buffer for metadata, fio doesn't need to # do anything when pi_act==1 and protection information size is equal to # metadata size since the device is taking care of it all. If either of # the two conditions do not hold, then we do need to allocate a # separate metadata buffer. if test['fio_opts']['pi_act'] and lbaf['ms'] == lbaf['pi_bytes']: test['fio_opts']['md_per_io_size'] = 0 else: test['fio_opts']['md_per_io_size'] = lbaf['ms'] * test['bs_high'] test['fio_opts']['bsrange'] = f"{blocksize * test['bs_low']}-{blocksize * test['bs_high']}" if 'mdsize_adjustment' in test: test['fio_opts']['md_per_io_size'] += test['mdsize_adjustment'] # Set fio pi_chk parameter at runtime. If the device is formatted # with Type 3 protection information, this means that the reference # tag is not checked and I/O commands may throw an error if they # are submitted with the REFTAG bit set in pi_chk. Make sure fio # does not set pi_chk's REFTAG bit if the device is formatted with # Type 3 PI. if 'pi_chk' in test: if pitype == 3 and 'REFTAG' in test['pi_chk']: test['fio_opts']['pi_chk'] = test['pi_chk'].replace('REFTAG','') logging.debug("Type 3 PI: dropping REFTAG bit") else: test['fio_opts']['pi_chk'] = test['pi_chk'] if 'skip' in test: if pitype == 3 and 'type3' in test['skip']: test['force_skip'] = True logging.debug("Type 3 PI: skipping test case") if elba and 'elba' in test['skip']: test['force_skip'] = True logging.debug("extended lba format: skipping test case") logging.debug("Test %d: pi_act=%d, bsrange=%s, md_per_io_size=%d", test['test_id'], test['fio_opts']['pi_act'], test['fio_opts']['bsrange'], test['fio_opts']['md_per_io_size']) return run_fio_tests(TEST_LIST, test_env, args) def main(): """ Run tests using fio's io_uring_cmd ioengine to exercise end-to-end data protection capabilities. """ args = parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) artifact_root = args.artifact_root if args.artifact_root else \ f"nvmept_pi-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = 'fio' print(f"fio path is {fio_path}") lbaf_list = get_lbafs(args) get_guard_pi(lbaf_list, args) caps = get_capabilities(args) print("Device capabilities:", caps) for test in TEST_LIST: test['fio_opts']['filename'] = args.dut test['fio_opts']['ioengine'] = args.ioengine test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'nvmept_pi', } total = { 'passed': 0, 'failed': 0, 'skipped': 0 } try: for lbaf, pil, pitype, elba in itertools.product(lbaf_list, caps['pil'], caps['pitype'], caps['elba']): print(f"\nlbaf: {lbaf}, pil: {pil}, pitype: {pitype}, elba: {elba}") if not format_device(args, lbaf, pitype, pil, elba): continue test_env['artifact_root'] = \ os.path.join(artifact_root, f"lbaf{lbaf['lbaf']}pil{pil}pitype{pitype}" \ f"elba{elba}") os.mkdir(test_env['artifact_root']) passed, failed, skipped = difdix_test(test_env, args, lbaf, pitype, elba) total['passed'] += passed total['failed'] += failed total['skipped'] += skipped except KeyboardInterrupt: pass print(f"\n\n{total['passed']} test(s) passed, {total['failed']} failed, " \ f"{total['skipped']} skipped") sys.exit(total['failed']) if __name__ == '__main__': main() fio-3.39/t/nvmept_streams.py000077500000000000000000000374111476262051600161330ustar00rootroot00000000000000#!/usr/bin/env python3 # # Copyright 2024 Samsung Electronics Co., Ltd All Rights Reserved # # For conditions of distribution and use, see the accompanying COPYING file. # """ # nvmept_streams.py # # Test fio's NVMe streams support using the io_uring_cmd ioengine with NVMe # pass-through commands. # # USAGE # see python3 nvmept_streams.py --help # # EXAMPLES # python3 t/nvmept_streams.py --dut /dev/ng0n1 # python3 t/nvmept_streams.py --dut /dev/ng1n1 -f ./fio # # REQUIREMENTS # Python 3.6 # # WARNING # This is a destructive test # # Enable streams with # nvme dir-send -D 0 -O 1 -e 1 -T 1 /dev/nvme0n1 # # See streams directive status with # nvme dir-receive -D 0 -O 1 -H /dev/nvme0n1 """ import os import sys import time import locale import logging import argparse import subprocess from pathlib import Path from fiotestlib import FioJobCmdTest, run_fio_tests from fiotestcommon import SUCCESS_NONZERO class StreamsTest(FioJobCmdTest): """ NVMe pass-through test class for streams. Check to make sure output for selected data direction(s) is non-zero and that zero data appears for other directions. """ def setup(self, parameters): """Setup a test.""" fio_args = [ "--name=nvmept-streams", "--ioengine=io_uring_cmd", "--cmd_type=nvme", "--randrepeat=0", f"--filename={self.fio_opts['filename']}", f"--rw={self.fio_opts['rw']}", f"--output={self.filenames['output']}", f"--output-format={self.fio_opts['output-format']}", ] for opt in ['fixedbufs', 'nonvectored', 'force_async', 'registerfiles', 'sqthread_poll', 'sqthread_poll_cpu', 'hipri', 'nowait', 'time_based', 'runtime', 'verify', 'io_size', 'num_range', 'iodepth', 'iodepth_batch', 'iodepth_batch_complete', 'size', 'rate', 'bs', 'bssplit', 'bsrange', 'randrepeat', 'buffer_pattern', 'verify_pattern', 'offset', 'dataplacement', 'plids', 'plid_select' ]: if opt in self.fio_opts: option = f"--{opt}={self.fio_opts[opt]}" fio_args.append(option) super().setup(fio_args) def check_result(self): try: self._check_result() finally: release_all_streams(self.fio_opts['filename']) def _check_result(self): super().check_result() if 'rw' not in self.fio_opts or \ not self.passed or \ 'json' not in self.fio_opts['output-format']: return job = self.json_data['jobs'][0] if self.fio_opts['rw'] in ['read', 'randread']: self.passed = self.check_all_ddirs(['read'], job) elif self.fio_opts['rw'] in ['write', 'randwrite']: if 'verify' not in self.fio_opts: self.passed = self.check_all_ddirs(['write'], job) else: self.passed = self.check_all_ddirs(['read', 'write'], job) elif self.fio_opts['rw'] in ['trim', 'randtrim']: self.passed = self.check_all_ddirs(['trim'], job) elif self.fio_opts['rw'] in ['readwrite', 'randrw']: self.passed = self.check_all_ddirs(['read', 'write'], job) elif self.fio_opts['rw'] in ['trimwrite', 'randtrimwrite']: self.passed = self.check_all_ddirs(['trim', 'write'], job) else: logging.error("Unhandled rw value %s", self.fio_opts['rw']) self.passed = False if 'iodepth' in self.fio_opts: # We will need to figure something out if any test uses an iodepth # different from 8 if job['iodepth_level']['8'] < 95: logging.error("Did not achieve requested iodepth") self.passed = False else: logging.debug("iodepth 8 target met %s", job['iodepth_level']['8']) stream_ids = [int(stream) for stream in self.fio_opts['plids'].split(',')] if not self.check_streams(self.fio_opts['filename'], stream_ids): self.passed = False logging.error("Streams not as expected") else: logging.debug("Streams created as expected") def check_streams(self, dut, stream_ids): """ Confirm that the specified stream IDs exist on the specified device. """ id_list = get_device_stream_ids(dut) if not id_list: return False for stream in stream_ids: if stream in id_list: logging.debug("Stream ID %d found active on device", stream) id_list.remove(stream) else: if self.__class__.__name__ != "StreamsTestRand": logging.error("Stream ID %d not found on device", stream) else: logging.debug("Stream ID %d not found on device", stream) return False if len(id_list) != 0: logging.error("Extra stream IDs %s found on device", str(id_list)) return False return True class StreamsTestRR(StreamsTest): """ NVMe pass-through test class for streams. Check to make sure output for selected data direction(s) is non-zero and that zero data appears for other directions. Check that Stream IDs are accessed in round robin order. """ def check_streams(self, dut, stream_ids): """ The number of IOs is less than the number of stream IDs provided. Let N be the number of IOs. Make sure that the device only has the first N of the stream IDs provided. This will miss some cases where some other selection algorithm happens to select the first N stream IDs. The solution would be to repeat this test multiple times. Multiple trials passing would be evidence that round robin is working correctly. """ id_list = get_device_stream_ids(dut) if not id_list: return False num_streams = int(self.fio_opts['io_size'] / self.fio_opts['bs']) stream_ids = sorted(stream_ids)[0:num_streams] return super().check_streams(dut, stream_ids) class StreamsTestRand(StreamsTest): """ NVMe pass-through test class for streams. Check to make sure output for selected data direction(s) is non-zero and that zero data appears for other directions. Check that Stream IDs are accessed in random order. """ def check_streams(self, dut, stream_ids): """ The number of IOs is less than the number of stream IDs provided. Let N be the number of IOs. Confirm that the stream IDs on the device are not the first N stream IDs. This will produce false positives because it is possible for the first N stream IDs to be randomly selected. We can reduce the probability of false positives by increasing N and increasing the number of streams IDs to choose from, although fio has a max of 16 placement IDs. """ id_list = get_device_stream_ids(dut) if not id_list: return False num_streams = int(self.fio_opts['io_size'] / self.fio_opts['bs']) stream_ids = sorted(stream_ids)[0:num_streams] return not super().check_streams(dut, stream_ids) def get_device_stream_ids(dut): cmd = f"sudo nvme dir-receive -D 1 -O 2 -H {dut}" logging.debug("check streams command: %s", cmd) cmd = cmd.split(' ') cmd_result = subprocess.run(cmd, capture_output=True, check=False, encoding=locale.getpreferredencoding()) logging.debug(cmd_result.stdout) if cmd_result.returncode != 0: logging.error("Error obtaining device %s stream IDs: %s", dut, cmd_result.stderr) return False id_list = [] for line in cmd_result.stdout.split('\n'): if not 'Stream Identifier' in line: continue tokens = line.split(':') id_list.append(int(tokens[1])) return id_list def release_stream(dut, stream_id): """ Release stream on given device with selected ID. """ cmd = f"nvme dir-send -D 1 -O 1 -S {stream_id} {dut}" logging.debug("release stream command: %s", cmd) cmd = cmd.split(' ') cmd_result = subprocess.run(cmd, capture_output=True, check=False, encoding=locale.getpreferredencoding()) if cmd_result.returncode != 0: logging.error("Error releasing %s stream %d", dut, stream_id) return False return True def release_all_streams(dut): """ Release all streams on specified device. """ id_list = get_device_stream_ids(dut) if not id_list: return False for stream in id_list: if not release_stream(dut, stream): return False return True TEST_LIST = [ # 4k block size # {seq write, rand write} x {single stream, four streams} { "test_id": 1, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 256*1024*1024, "verify": "crc32c", "plids": "8", "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTest, }, { "test_id": 2, "fio_opts": { "rw": 'randwrite', "bs": 4096, "io_size": 256*1024*1024, "verify": "crc32c", "plids": "3", "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTest, }, { "test_id": 3, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 256*1024*1024, "verify": "crc32c", "plids": "1,2,3,4", "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTest, }, { "test_id": 4, "fio_opts": { "rw": 'randwrite', "bs": 4096, "io_size": 256*1024*1024, "verify": "crc32c", "plids": "5,6,7,8", "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTest, }, # 256KiB block size # {seq write, rand write} x {single stream, four streams} { "test_id": 10, "fio_opts": { "rw": 'write', "bs": 256*1024, "io_size": 256*1024*1024, "verify": "crc32c", "plids": "88", "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTest, }, { "test_id": 11, "fio_opts": { "rw": 'randwrite', "bs": 256*1024, "io_size": 256*1024*1024, "verify": "crc32c", "plids": "20", "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTest, }, { "test_id": 12, "fio_opts": { "rw": 'write', "bs": 256*1024, "io_size": 256*1024*1024, "verify": "crc32c", "plids": "16,32,64,128", "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTest, }, { "test_id": 13, "fio_opts": { "rw": 'randwrite', "bs": 256*1024, "io_size": 256*1024*1024, "verify": "crc32c", "plids": "10,20,40,82", "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTest, }, # Test placement ID selection patterns # default is round robin { "test_id": 20, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 8192, "plids": '88,99,100,123,124,125,126,127,128,129,130,131,132,133,134,135', "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTestRR, }, { "test_id": 21, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 8192, "plids": '12,88,99,100,123,124,125,126,127,128,129,130,131,132,133,11', "dataplacement": "streams", "output-format": "json", }, "test_class": StreamsTestRR, }, # explicitly select round robin { "test_id": 22, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 8192, "plids": '22,88,99,100,123,124,125,126,127,128,129,130,131,132,133,134', "dataplacement": "streams", "output-format": "json", "plid_select": "roundrobin", }, "test_class": StreamsTestRR, }, # explicitly select random { "test_id": 23, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 8192, "plids": '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16', "dataplacement": "streams", "output-format": "json", "plid_select": "random", }, "test_class": StreamsTestRand, }, # Error case with placement ID > 0xFFFF { "test_id": 30, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 8192, "plids": "1,2,3,0x10000", "dataplacement": "streams", "output-format": "normal", "plid_select": "random", }, "test_class": StreamsTestRand, "success": SUCCESS_NONZERO, }, # Error case with no stream IDs provided { "test_id": 31, "fio_opts": { "rw": 'write', "bs": 4096, "io_size": 8192, "dataplacement": "streams", "output-format": "normal", }, "test_class": StreamsTestRand, "success": SUCCESS_NONZERO, }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-d', '--debug', help='Enable debug messages', action='store_true') parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') parser.add_argument('--dut', help='target NVMe character device to test ' '(e.g., /dev/ng0n1). WARNING: THIS IS A DESTRUCTIVE TEST', required=True) args = parser.parse_args() return args def main(): """Run tests using fio's io_uring_cmd ioengine to send NVMe pass through commands.""" args = parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) artifact_root = args.artifact_root if args.artifact_root else \ f"nvmept-streams-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = 'fio' print(f"fio path is {fio_path}") for test in TEST_LIST: test['fio_opts']['filename'] = args.dut release_all_streams(args.dut) test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'nvmept-streams', } _, failed, _ = run_fio_tests(TEST_LIST, test_env, args) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/nvmept_trim.py000077500000000000000000000436361476262051600154360ustar00rootroot00000000000000#!/usr/bin/env python3 # # Copyright 2024 Samsung Electronics Co., Ltd All Rights Reserved # # For conditions of distribution and use, see the accompanying COPYING file. # """ # nvmept_trim.py # # Test fio's io_uring_cmd ioengine with NVMe pass-through dataset management # commands that trim multiple ranges. # # USAGE # see python3 nvmept_trim.py --help # # EXAMPLES # python3 t/nvmept_trim.py --dut /dev/ng0n1 # python3 t/nvmept_trim.py --dut /dev/ng1n1 -f ./fio # # REQUIREMENTS # Python 3.6 # """ import os import sys import time import logging import argparse from pathlib import Path from fiotestlib import FioJobCmdTest, run_fio_tests from fiotestcommon import SUCCESS_NONZERO class TrimTest(FioJobCmdTest): """ NVMe pass-through test class. Check to make sure output for selected data direction(s) is non-zero and that zero data appears for other directions. """ def setup(self, parameters): """Setup a test.""" fio_args = [ "--name=nvmept-trim", "--ioengine=io_uring_cmd", "--cmd_type=nvme", f"--filename={self.fio_opts['filename']}", f"--rw={self.fio_opts['rw']}", f"--output={self.filenames['output']}", f"--output-format={self.fio_opts['output-format']}", ] for opt in ['fixedbufs', 'nonvectored', 'force_async', 'registerfiles', 'sqthread_poll', 'sqthread_poll_cpu', 'hipri', 'nowait', 'time_based', 'runtime', 'verify', 'io_size', 'num_range', 'iodepth', 'iodepth_batch', 'iodepth_batch_complete', 'size', 'rate', 'bs', 'bssplit', 'bsrange', 'randrepeat', 'buffer_pattern', 'verify_pattern', 'verify', 'offset']: if opt in self.fio_opts: option = f"--{opt}={self.fio_opts[opt]}" fio_args.append(option) super().setup(fio_args) def check_result(self): super().check_result() if 'rw' not in self.fio_opts or \ not self.passed or \ 'json' not in self.fio_opts['output-format']: return job = self.json_data['jobs'][0] if self.fio_opts['rw'] in ['read', 'randread']: self.passed = self.check_all_ddirs(['read'], job) elif self.fio_opts['rw'] in ['write', 'randwrite']: if 'verify' not in self.fio_opts: self.passed = self.check_all_ddirs(['write'], job) else: self.passed = self.check_all_ddirs(['read', 'write'], job) elif self.fio_opts['rw'] in ['trim', 'randtrim']: self.passed = self.check_all_ddirs(['trim'], job) elif self.fio_opts['rw'] in ['readwrite', 'randrw']: self.passed = self.check_all_ddirs(['read', 'write'], job) elif self.fio_opts['rw'] in ['trimwrite', 'randtrimwrite']: self.passed = self.check_all_ddirs(['trim', 'write'], job) else: logging.error("Unhandled rw value %s", self.fio_opts['rw']) self.passed = False if 'iodepth' in self.fio_opts: # We will need to figure something out if any test uses an iodepth # different from 8 if job['iodepth_level']['8'] < 95: logging.error("Did not achieve requested iodepth") self.passed = False else: logging.debug("iodepth 8 target met %s", job['iodepth_level']['8']) class RangeTrimTest(TrimTest): """ Multi-range trim test class. """ def get_bs(self): """Calculate block size and determine whether bs will be an average or exact.""" if 'bs' in self.fio_opts: exact_size = True bs = self.fio_opts['bs'] elif 'bssplit' in self.fio_opts: exact_size = False bs = 0 total = 0 for split in self.fio_opts['bssplit'].split(':'): [blocksize, share] = split.split('/') total += int(share) bs += int(blocksize) * int(share) / 100 if total != 100: logging.error("bssplit '%s' total percentage is not 100", self.fio_opts['bssplit']) self.passed = False else: logging.debug("bssplit: average block size is %d", int(bs)) # The only check we do here for bssplit is to calculate an average # blocksize and see if the IOPS and bw are consistent elif 'bsrange' in self.fio_opts: exact_size = False [minbs, maxbs] = self.fio_opts['bsrange'].split('-') minbs = int(minbs) maxbs = int(maxbs) bs = int((minbs + maxbs) / 2) logging.debug("bsrange: average block size is %d", int(bs)) # The only check we do here for bsrange is to calculate an average # blocksize and see if the IOPS and bw are consistent else: exact_size = True bs = 4096 return bs, exact_size def check_result(self): """ Make sure that the number of IO requests is consistent with the blocksize and num_range values. In other words, if the blocksize is 4KiB and num_range is 2, we should have 128 IO requests to trim 1MiB. """ # TODO Enable debug output to check the actual offsets super().check_result() if not self.passed or 'json' not in self.fio_opts['output-format']: return job = self.json_data['jobs'][0]['trim'] bs, exact_size = self.get_bs() # make sure bw and IOPS are consistent bw = job['bw_bytes'] iops = job['iops'] runtime = job['runtime'] calculated = int(bw*runtime/1000) expected = job['io_bytes'] if abs(calculated - expected) / expected > 0.05: logging.error("Total bytes %d from bw does not match reported total bytes %d", calculated, expected) self.passed = False else: logging.debug("Total bytes %d from bw matches reported total bytes %d", calculated, expected) calculated = int(iops*runtime/1000*bs*self.fio_opts['num_range']) if abs(calculated - expected) / expected > 0.05: logging.error("Total bytes %d from IOPS does not match reported total bytes %d", calculated, expected) self.passed = False else: logging.debug("Total bytes %d from IOPS matches reported total bytes %d", calculated, expected) if 'size' in self.fio_opts: io_count = self.fio_opts['size'] / self.fio_opts['num_range'] / bs if exact_size: delta = 0.1 else: delta = 0.05*job['total_ios'] if abs(job['total_ios'] - io_count) > delta: logging.error("Expected numbers of IOs %d does not match actual value %d", io_count, job['total_ios']) self.passed = False else: logging.debug("Expected numbers of IOs %d matches actual value %d", io_count, job['total_ios']) if 'rate' in self.fio_opts: if abs(bw - self.fio_opts['rate']) / self.fio_opts['rate'] > 0.05: logging.error("Actual rate %f does not match expected rate %f", bw, self.fio_opts['rate']) self.passed = False else: logging.debug("Actual rate %f matches expeected rate %f", bw, self.fio_opts['rate']) TEST_LIST = [ # The group of tests below checks existing use cases to make sure there are # no regressions. { "test_id": 1, "fio_opts": { "rw": 'trim', "time_based": 1, "runtime": 3, "output-format": "json", }, "test_class": TrimTest, }, { "test_id": 2, "fio_opts": { "rw": 'randtrim', "time_based": 1, "runtime": 3, "output-format": "json", }, "test_class": TrimTest, }, { "test_id": 3, "fio_opts": { "rw": 'trim', "time_based": 1, "runtime": 3, "iodepth": 8, "iodepth_batch": 4, "iodepth_batch_complete": 4, "output-format": "json", }, "test_class": TrimTest, }, { "test_id": 4, "fio_opts": { "rw": 'randtrim', "time_based": 1, "runtime": 3, "iodepth": 8, "iodepth_batch": 4, "iodepth_batch_complete": 4, "output-format": "json", }, "test_class": TrimTest, }, { "test_id": 5, "fio_opts": { "rw": 'trimwrite', "time_based": 1, "runtime": 3, "output-format": "json", }, "test_class": TrimTest, }, { "test_id": 6, "fio_opts": { "rw": 'randtrimwrite', "time_based": 1, "runtime": 3, "output-format": "json", }, "test_class": TrimTest, }, { "test_id": 7, "fio_opts": { "rw": 'randtrim', "time_based": 1, "runtime": 3, "fixedbufs": 0, "nonvectored": 1, "force_async": 1, "registerfiles": 1, "sqthread_poll": 1, "fixedbuffs": 1, "output-format": "json", }, "test_class": TrimTest, }, # The group of tests below try out the new functionality { "test_id": 100, "fio_opts": { "rw": 'trim', "num_range": 2, "size": 16*1024*1024, "output-format": "json", }, "test_class": RangeTrimTest, }, { "test_id": 101, "fio_opts": { "rw": 'randtrim', "num_range": 2, "size": 16*1024*1024, "output-format": "json", }, "test_class": RangeTrimTest, }, { "test_id": 102, "fio_opts": { "rw": 'randtrim', "num_range": 256, "size": 64*1024*1024, "output-format": "json", }, "test_class": RangeTrimTest, }, { "test_id": 103, "fio_opts": { "rw": 'trim', "num_range": 2, "bs": 16*1024, "size": 32*1024*1024, "output-format": "json", }, "test_class": RangeTrimTest, }, { "test_id": 104, "fio_opts": { "rw": 'randtrim', "num_range": 2, "bs": 16*1024, "size": 32*1024*1024, "output-format": "json", }, "test_class": RangeTrimTest, }, { "test_id": 105, "fio_opts": { "rw": 'randtrim', "num_range": 2, "bssplit": "4096/50:16384/50", "size": 80*1024*1024, "output-format": "json", "randrepeat": 0, }, "test_class": RangeTrimTest, }, { "test_id": 106, "fio_opts": { "rw": 'randtrim', "num_range": 4, "bssplit": "4096/25:8192/25:12288/25:16384/25", "size": 80*1024*1024, "output-format": "json", "randrepeat": 0, }, "test_class": RangeTrimTest, }, { "test_id": 107, "fio_opts": { "rw": 'randtrim', "num_range": 4, "bssplit": "4096/20:8192/20:12288/20:16384/20:20480/20", "size": 72*1024*1024, "output-format": "json", "randrepeat": 0, }, "test_class": RangeTrimTest, }, { "test_id": 108, "fio_opts": { "rw": 'randtrim', "num_range": 2, "bsrange": "4096-16384", "size": 80*1024*1024, "output-format": "json", "randrepeat": 0, }, "test_class": RangeTrimTest, }, { "test_id": 109, "fio_opts": { "rw": 'randtrim', "num_range": 4, "bsrange": "4096-20480", "size": 72*1024*1024, "output-format": "json", "randrepeat": 0, }, "test_class": RangeTrimTest, }, { "test_id": 110, "fio_opts": { "rw": 'randtrim', "time_based": 1, "runtime": 10, "rate": 1024*1024, "num_range": 2, "output-format": "json", }, "test_class": RangeTrimTest, }, # All of the tests below should fail # TODO check the error messages resulting from the jobs below { "test_id": 200, "fio_opts": { "rw": 'randtrimwrite', "time_based": 1, "runtime": 10, "rate": 1024*1024, "num_range": 2, "output-format": "normal", }, "test_class": RangeTrimTest, "success": SUCCESS_NONZERO, }, { "test_id": 201, "fio_opts": { "rw": 'trimwrite', "time_based": 1, "runtime": 10, "rate": 1024*1024, "num_range": 2, "output-format": "normal", }, "test_class": RangeTrimTest, "success": SUCCESS_NONZERO, }, { "test_id": 202, "fio_opts": { "rw": 'trim', "time_based": 1, "runtime": 10, "num_range": 257, "output-format": "normal", }, "test_class": RangeTrimTest, "success": SUCCESS_NONZERO, }, # The sequence of jobs below constitute a single test with multiple steps # - write a data pattern # - verify the data pattern # - trim the first half of the LBA space # - verify that the trim'd LBA space no longer returns the original data pattern # - verify that the remaining LBA space has the expected pattern { "test_id": 300, "fio_opts": { "rw": 'write', "output-format": 'json', "buffer_pattern": 0x0f, "size": 256*1024*1024, "bs": 256*1024, }, "test_class": TrimTest, }, { "test_id": 301, "fio_opts": { "rw": 'read', "output-format": 'json', "verify_pattern": 0x0f, "verify": "pattern", "size": 256*1024*1024, "bs": 256*1024, }, "test_class": TrimTest, }, { "test_id": 302, "fio_opts": { "rw": 'randtrim', "num_range": 8, "output-format": 'json', "size": 128*1024*1024, "bs": 256*1024, }, "test_class": TrimTest, }, # The identify namespace data structure has a DLFEAT field which specifies # what happens when reading data from deallocated blocks. There are three # options: # - read behavior not reported # - deallocated logical block returns all bytes 0x0 # - deallocated logical block returns all bytes 0xff # The test below merely checks that the original data pattern is not returned. # Source: Figure 97 from # https://nvmexpress.org/wp-content/uploads/NVM-Express-NVM-Command-Set-Specification-1.0c-2022.10.03-Ratified.pdf { "test_id": 303, "fio_opts": { "rw": 'read', "output-format": 'json', "verify_pattern": 0x0f, "verify": "pattern", "size": 128*1024*1024, "bs": 256*1024, }, "test_class": TrimTest, "success": SUCCESS_NONZERO, }, { "test_id": 304, "fio_opts": { "rw": 'read', "output-format": 'json', "verify_pattern": 0x0f, "verify": "pattern", "offset": 128*1024*1024, "size": 128*1024*1024, "bs": 256*1024, }, "test_class": TrimTest, }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-d', '--debug', help='Enable debug messages', action='store_true') parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') parser.add_argument('--dut', help='target NVMe character device to test ' '(e.g., /dev/ng0n1). WARNING: THIS IS A DESTRUCTIVE TEST', required=True) args = parser.parse_args() return args def main(): """Run tests using fio's io_uring_cmd ioengine to send NVMe pass through commands.""" args = parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) artifact_root = args.artifact_root if args.artifact_root else \ f"nvmept-trim-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = 'fio' print(f"fio path is {fio_path}") for test in TEST_LIST: test['fio_opts']['filename'] = args.dut test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'nvmept-trim', } _, failed, _ = run_fio_tests(TEST_LIST, test_env, args) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/one-core-peak.sh000077500000000000000000000212511476262051600154660ustar00rootroot00000000000000#!/bin/bash args=$* first_cores="" taskset_cores="" first_cores_count=0 nb_threads=1 drives="" # Default options latency_cmdline="" fatal() { echo "$@" exit 1 } hint() { echo "Warning: $*" } info() { item=$1 shift echo "${item}: $*" } check_root() { [[ ${EUID} -eq 0 ]] || fatal "You should be root to run this tool" } check_binary() { # Ensure the binaries are present and executable for bin in "$@"; do if [ ! -x ${bin} ]; then command -v ${bin} >/dev/null [ $? -eq 0 ] || fatal "${bin} doesn't exist or is not executable" fi done } detect_first_core() { cpu_to_search="0" if [ "${#drives[@]}" -eq 1 ]; then device_name=$(block_dev_name ${drives[0]}) device_dir="/sys/block/${device_name}/device/" pci_addr=$(cat ${device_dir}/address) pci_dir="/sys/bus/pci/devices/${pci_addr}/" cpu_to_search=$(cat ${pci_dir}/local_cpulist | cut -d"," -f 1 | cut -d"-" -f 1) else hint 'Passed multiple devices. Running on the first core.' fi core_to_run=$(lscpu --all -pSOCKET,CORE,CPU | grep ",$cpu_to_search\$" | cut -d"," -f1-2) # Detect which logical cpus belongs to the first physical core # If Hyperthreading is enabled, two cores are returned cpus=$(lscpu --all -pSOCKET,CORE,CPU | grep "$core_to_run") for cpu in ${cpus}; do IFS=',' # shellcheck disable=SC2206 array=(${cpu}) if [ ${first_cores_count} -eq 0 ]; then first_cores="${array[2]}" else first_cores="${first_cores} ${array[2]}" fi first_cores_count=$((first_cores_count + 1)) unset IFS done [ ${first_cores_count} -eq 0 ] && fatal "Cannot detect first core" taskset_cores=$(echo "${first_cores}" | tr ' ' ',') } usage() { echo "usage: [options] block_device [other_block_devices] -h : print help -l : enable latency reporting example: t/one-core-peak.sh /dev/nvme0n1 t/one-core-peak.sh -l /dev/nvme0n1 /dev/nvme1n1 " exit 0 } check_args() { local OPTIND option while getopts "hl" option; do case "${option}" in h) # Show help usage ;; l) # Report latency latency_cmdline="1" ;; *) fatal "Unsupported ${option} option" ;; esac done shift $((OPTIND-1)) [ $# -eq 0 ] && fatal "Missing drive(s) as argument" drives="$*" } check_drive_exists() { # Ensure the block device exists [ -b $1 ] || fatal "$1 is not a valid block device" } is_nvme() { [[ ${*} == *"nvme"* ]] } check_poll_queue() { # Print a warning if the nvme poll queues aren't enabled is_nvme ${drives} || return poll_queue=$(cat /sys/module/nvme/parameters/poll_queues) [ ${poll_queue} -eq 0 ] && hint "For better performance, you should enable nvme poll queues by setting nvme.poll_queues=32 on the kernel commande line" } block_dev_name() { echo ${1#"/dev/"} } get_sys_block_dir() { # Returns the /sys/block/ directory of a given block device device_name=$1 sys_block_dir="/sys/block/${device_name}" [ -d "${sys_block_dir}" ] || fatal "Cannot find ${sys_block_dir} directory" echo ${sys_block_dir} } check_io_scheduler() { # Ensure io_sched is set to none device_name=$(block_dev_name $1) sys_block_dir=$(get_sys_block_dir ${device_name}) sched_file="${sys_block_dir}/queue/scheduler" [ -f "${sched_file}" ] || fatal "Cannot find IO scheduler for ${device_name}" grep -q '\[none\]' ${sched_file} if [ $? -ne 0 ]; then info "${device_name}" "set none as io scheduler" echo "none" > ${sched_file} fi } check_sysblock_value() { device_name=$(block_dev_name $1) sys_block_dir=$(get_sys_block_dir ${device_name}) target_file="${sys_block_dir}/$2" value=$3 [ -f "${target_file}" ] || return content=$(cat ${target_file} 2>/dev/null) if [ "${content}" != "${value}" ]; then echo ${value} > ${target_file} 2>/dev/null && info "${device_name}" "${target_file} set to ${value}." || hint "${device_name}: Cannot set ${value} on ${target_file}" fi } compute_nb_threads() { # Increase the number of threads if there is more devices or cores than the default value [ $# -gt ${nb_threads} ] && nb_threads=$# [ ${first_cores_count} -gt ${nb_threads} ] && nb_threads=${first_cores_count} } check_scaling_governor() { driver=$(LC_ALL=C cpupower frequency-info |grep "driver:" |awk '{print $2}') if [ -z "${driver}" ]; then hint "Cannot detect processor scaling driver" return fi cpupower frequency-set -g performance >/dev/null 2>&1 || fatal "Cannot set scaling processor governor" } check_idle_governor() { filename="/sys/devices/system/cpu/cpuidle/current_governor" if [ ! -f "${filename}" ]; then hint "Cannot detect cpu idle governor" return fi echo "menu" > ${filename} 2>/dev/null || fatal "Cannot set cpu idle governor to menu" } show_nvme() { device="$1" device_name=$(block_dev_name $1) device_dir="/sys/block/${device_name}/device/" pci_addr=$(cat ${device_dir}/address) pci_dir="/sys/bus/pci/devices/${pci_addr}/" link_speed=$(cat ${pci_dir}/current_link_speed) irq=$(cat ${pci_dir}/irq) numa=$([ -f ${pci_dir}/numa_node ] && cat ${pci_dir}/numa_node || echo "off") cpus=$(cat ${pci_dir}/local_cpulist) model=$(cat ${device_dir}/model | xargs) #xargs for trimming spaces fw=$(cat ${device_dir}/firmware_rev | xargs) #xargs for trimming spaces serial=$(cat ${device_dir}/serial | xargs) #xargs for trimming spaces info ${device_name} "MODEL=${model} FW=${fw} serial=${serial} PCI=${pci_addr}@${link_speed} IRQ=${irq} NUMA=${numa} CPUS=${cpus} " command -v nvme > /dev/null if [ $? -eq 0 ]; then status="" NCQA=$(nvme get-feature -H -f 0x7 ${device} 2>&1 |grep NCQA |cut -d ':' -f 2 | xargs) [ -n "${NCQA}" ] && status="${status}Completion Queues:${NCQA}, " NSQA=$(nvme get-feature -H -f 0x7 ${device} 2>&1 |grep NSQA |cut -d ':' -f 2 | xargs) [ -n "${NSQA}" ] && status="${status}Submission Queues:${NSQA}, " power_state=$(nvme get-feature -H -f 0x2 ${device} 2>&1 | grep PS |cut -d ":" -f 2 | xargs) [ -n "${power_state}" ] && status="${status}PowerState:${power_state}, " apste=$(nvme get-feature -H -f 0xc ${device} 2>&1 | grep APSTE |cut -d ":" -f 2 | xargs) [ -n "${apste}" ] && status="${status} Autonomous Power State Transition:${apste}, " temp=$(nvme smart-log ${device} 2>&1 |grep 'temperature' |cut -d ':' -f 2 |xargs) [ -n "${temp}" ] && status="${status}Temp:${temp}" info ${device_name} "${status}" fi } show_device() { device_name=$(block_dev_name $1) is_nvme $1 && show_nvme $1 } show_kernel_config_item() { config_item="CONFIG_$1" config_file="/boot/config-$(uname -r)" if [ ! -f "${config_file}" ]; then config_file='/proc/config.gz' if [ ! -f "${config_file}" ]; then return fi fi status=$(zgrep ${config_item}= ${config_file}) if [ -z "${status}" ]; then echo "${config_item}=N" else echo "${config_item}=$(echo ${status} | cut -d '=' -f 2)" fi } show_system() { CPU_MODEL=$(grep -m1 "model name" /proc/cpuinfo | awk '{print substr($0, index($0,$4))}') MEMORY_SPEED=$(dmidecode -t 17 -q | grep -m 1 "Configured Memory Speed: [0-9]" | awk '{print substr($0, index($0,$4))}') KERNEL=$(uname -r) info "system" "CPU: ${CPU_MODEL}" info "system" "MEMORY: ${MEMORY_SPEED}" info "system" "KERNEL: ${KERNEL}" for config_item in BLK_CGROUP BLK_WBT_MQ HZ RETPOLINE PAGE_TABLE_ISOLATION; do info "system" "KERNEL: $(show_kernel_config_item ${config_item})" done info "system" "KERNEL: $(cat /proc/cmdline)" info "system" "SElinux: $(getenforce)" tsc=$(journalctl -k | grep 'tsc: Refined TSC clocksource calibration:' | awk '{print $11}') if [ -n "${tsc}" ]; then info "system" "TSC: ${tsc} Mhz" tsc=$(echo ${tsc} | tr -d '.') [ -n "${latency_cmdline}" ] && latency_cmdline="-t1 -T${tsc}000" fi } ### MAIN check_args ${args} check_root check_binary t/io_uring lscpu grep taskset cpupower awk tr xargs dmidecode detect_first_core info "##################################################" show_system for drive in ${drives}; do check_drive_exists ${drive} check_io_scheduler ${drive} check_sysblock_value ${drive} "queue/iostats" 0 # Ensure iostats are disabled check_sysblock_value ${drive} "queue/nomerges" 2 # Ensure merge are disabled check_sysblock_value ${drive} "queue/io_poll" 1 # Ensure io_poll is enabled check_sysblock_value ${drive} "queue/wbt_lat_usec" 0 # Disabling wbt lat show_device ${drive} done check_poll_queue compute_nb_threads ${drives} check_scaling_governor check_idle_governor info "##################################################" echo cmdline="taskset -c ${taskset_cores} t/io_uring -b512 -d128 -c32 -s32 -p1 -F1 -B1 -n${nb_threads} ${latency_cmdline} ${drives}" info "io_uring" "Running ${cmdline}" ${cmdline} fio-3.39/t/random_seed.py000077500000000000000000000236631476262051600153500ustar00rootroot00000000000000#!/usr/bin/env python3 """ # random_seed.py # # Test fio's random seed options. # # - make sure that randseed overrides randrepeat and allrandrepeat # - make sure that seeds differ across invocations when [all]randrepeat=0 and randseed is not set # - make sure that seeds are always the same when [all]randrepeat=1 and randseed is not set # # USAGE # see python3 random_seed.py --help # # EXAMPLES # python3 t/random_seed.py # python3 t/random_seed.py -f ./fio # # REQUIREMENTS # Python 3.6 # """ import os import sys import time import locale import logging import argparse from pathlib import Path from fiotestlib import FioJobCmdTest, run_fio_tests class FioRandTest(FioJobCmdTest): """fio random seed test.""" def setup(self, parameters): """Setup the test.""" fio_args = [ "--debug=random", "--name=random_seed", "--ioengine=null", "--filesize=32k", "--rw=randread", f"--output={self.filenames['output']}", ] for opt in ['randseed', 'randrepeat', 'allrandrepeat']: if opt in self.fio_opts: option = f"--{opt}={self.fio_opts[opt]}" fio_args.append(option) super().setup(fio_args) def get_rand_seeds(self): """Collect random seeds from --debug=random output.""" with open(self.filenames['output'], "r", encoding=locale.getpreferredencoding()) as out_file: file_data = out_file.read() offsets = 0 for line in file_data.split('\n'): if 'random' in line and 'FIO_RAND_NR_OFFS=' in line: tokens = line.split('=') offsets = int(tokens[len(tokens)-1]) break if offsets == 0: pass # find an exception to throw seed_list = [] for line in file_data.split('\n'): if 'random' not in line: continue if 'rand_seeds[' in line: tokens = line.split('=') seed = int(tokens[-1]) seed_list.append(seed) # assume that seeds are in order return seed_list class TestRR(FioRandTest): """ Test object for [all]randrepeat. If run for the first time just collect the seeds. For later runs make sure the seeds match or do not match those previously collected. """ # one set of seeds is for randrepeat=0 and the other is for randrepeat=1 seeds = { 0: None, 1: None } def check_result(self): """Check output for allrandrepeat=1.""" super().check_result() if not self.passed: return opt = 'randrepeat' if 'randrepeat' in self.fio_opts else 'allrandrepeat' rr = self.fio_opts[opt] rand_seeds = self.get_rand_seeds() if not TestRR.seeds[rr]: TestRR.seeds[rr] = rand_seeds logging.debug("TestRR: saving rand_seeds for [a]rr=%d", rr) else: if rr: if TestRR.seeds[1] != rand_seeds: self.passed = False print(f"TestRR: unexpected seed mismatch for [a]rr={rr}") else: logging.debug("TestRR: seeds correctly match for [a]rr=%d", rr) if TestRR.seeds[0] == rand_seeds: self.passed = False print("TestRR: seeds unexpectedly match those from system RNG") else: if TestRR.seeds[0] == rand_seeds: self.passed = False print(f"TestRR: unexpected seed match for [a]rr={rr}") else: logging.debug("TestRR: seeds correctly don't match for [a]rr=%d", rr) if TestRR.seeds[1] == rand_seeds: self.passed = False print("TestRR: random seeds unexpectedly match those from [a]rr=1") class TestRS(FioRandTest): """ Test object when randseed=something controls the generated seeds. If run for the first time for a given randseed just collect the seeds. For later runs with the same seed make sure the seeds are the same as those previously collected. """ seeds = {} def check_result(self): """Check output for randseed=something.""" super().check_result() if not self.passed: return rand_seeds = self.get_rand_seeds() randseed = self.fio_opts['randseed'] logging.debug("randseed = %s", randseed) if randseed not in TestRS.seeds: TestRS.seeds[randseed] = rand_seeds logging.debug("TestRS: saving rand_seeds") else: if TestRS.seeds[randseed] != rand_seeds: self.passed = False print("TestRS: seeds don't match when they should") else: logging.debug("TestRS: seeds correctly match") # Now try to find seeds generated using a different randseed and make # sure they *don't* match for key, value in TestRS.seeds.items(): if key != randseed: if value == rand_seeds: self.passed = False print("TestRS: randseeds differ but generated seeds match.") else: logging.debug("TestRS: randseeds differ and generated seeds also differ.") def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-d', '--debug', help='enable debug output', action='store_true') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') args = parser.parse_args() return args def main(): """Run tests of fio random seed options""" args = parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) artifact_root = args.artifact_root if args.artifact_root else \ f"random-seed-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = 'fio' print(f"fio path is {fio_path}") test_list = [ { "test_id": 1, "fio_opts": { "randrepeat": 0, }, "test_class": TestRR, }, { "test_id": 2, "fio_opts": { "randrepeat": 0, }, "test_class": TestRR, }, { "test_id": 3, "fio_opts": { "randrepeat": 1, }, "test_class": TestRR, }, { "test_id": 4, "fio_opts": { "randrepeat": 1, }, "test_class": TestRR, }, { "test_id": 5, "fio_opts": { "allrandrepeat": 0, }, "test_class": TestRR, }, { "test_id": 6, "fio_opts": { "allrandrepeat": 0, }, "test_class": TestRR, }, { "test_id": 7, "fio_opts": { "allrandrepeat": 1, }, "test_class": TestRR, }, { "test_id": 8, "fio_opts": { "allrandrepeat": 1, }, "test_class": TestRR, }, { "test_id": 9, "fio_opts": { "randrepeat": 0, "randseed": "12345", }, "test_class": TestRS, }, { "test_id": 10, "fio_opts": { "randrepeat": 0, "randseed": "12345", }, "test_class": TestRS, }, { "test_id": 11, "fio_opts": { "randrepeat": 1, "randseed": "12345", }, "test_class": TestRS, }, { "test_id": 12, "fio_opts": { "allrandrepeat": 0, "randseed": "12345", }, "test_class": TestRS, }, { "test_id": 13, "fio_opts": { "allrandrepeat": 1, "randseed": "12345", }, "test_class": TestRS, }, { "test_id": 14, "fio_opts": { "randrepeat": 0, "randseed": "67890", }, "test_class": TestRS, }, { "test_id": 15, "fio_opts": { "randrepeat": 1, "randseed": "67890", }, "test_class": TestRS, }, { "test_id": 16, "fio_opts": { "allrandrepeat": 0, "randseed": "67890", }, "test_class": TestRS, }, { "test_id": 17, "fio_opts": { "allrandrepeat": 1, "randseed": "67890", }, "test_class": TestRS, }, ] test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'random', } _, failed, _ = run_fio_tests(test_list, test_env, args) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/read-to-pipe-async.c000066400000000000000000000364051476262051600162560ustar00rootroot00000000000000/* * Read a file and write the contents to stdout. If a given read takes * longer than 'max_us' time, then we schedule a new thread to handle * the next read. This avoids the coordinated omission problem, where * one request appears to take a long time, but in reality a lot of * requests would have been slow, but we don't notice since new submissions * are not being issued if just 1 is held up. * * One test case: * * $ time (./read-to-pipe-async -f randfile.gz | gzip -dc > outfile; sync) * * This will read randfile.gz and log the latencies of doing so, while * piping the output to gzip to decompress it. Any latencies over max_us * are logged when they happen, and latency buckets are displayed at the * end of the run * * gcc -Wall -g -O2 -o read-to-pipe-async read-to-pipe-async.c -lpthread * * Copyright (C) 2016 Jens Axboe * */ #include #include #include #include #include #include #include #include #include #include #include #include #include "../flist.h" #include "../log.h" #include "compiler/compiler.h" static int bs = 4096; static int max_us = 10000; static char *file; static int separate_writer = 1; #define PLAT_BITS 8 #define PLAT_VAL (1 << PLAT_BITS) #define PLAT_GROUP_NR 19 #define PLAT_NR (PLAT_GROUP_NR * PLAT_VAL) #define PLAT_LIST_MAX 20 #ifndef NDEBUG #define CHECK_ZERO_OR_ABORT(code) assert(code) #else #define CHECK_ZERO_OR_ABORT(code) \ do { \ if (fio_unlikely((code) != 0)) { \ log_err("failed checking code %i != 0", (code)); \ abort(); \ } \ } while (0) #endif struct stats { unsigned int plat[PLAT_NR]; unsigned int nr_samples; unsigned int max; unsigned int min; unsigned int over; }; static double plist[PLAT_LIST_MAX] = { 50.0, 75.0, 90.0, 95.0, 99.0, 99.5, 99.9, 99.99, 99.999, 99.9999, }; struct thread_data { int exit; int done; pthread_mutex_t lock; pthread_cond_t cond; pthread_mutex_t done_lock; pthread_cond_t done_cond; pthread_t thread; }; struct writer_thread { struct flist_head list; struct flist_head done_list; struct stats s; struct thread_data thread; }; struct reader_thread { struct flist_head list; struct flist_head done_list; int started; int busy; int write_seq; struct stats s; struct thread_data thread; }; struct work_item { struct flist_head list; void *buf; size_t buf_size; off_t off; int fd; int seq; struct writer_thread *writer; struct reader_thread *reader; pthread_mutex_t lock; pthread_cond_t cond; pthread_t thread; }; static struct reader_thread reader_thread; static struct writer_thread writer_thread; uint64_t utime_since(const struct timespec *s, const struct timespec *e) { long sec, usec; uint64_t ret; sec = e->tv_sec - s->tv_sec; usec = (e->tv_nsec - s->tv_nsec) / 1000; if (sec > 0 && usec < 0) { sec--; usec += 1000000; } if (sec < 0 || (sec == 0 && usec < 0)) return 0; ret = sec * 1000000ULL + usec; return ret; } static struct work_item *find_seq(struct writer_thread *w, int seq) { struct work_item *work; struct flist_head *entry; if (flist_empty(&w->list)) return NULL; flist_for_each(entry, &w->list) { work = flist_entry(entry, struct work_item, list); if (work->seq == seq) return work; } return NULL; } static unsigned int plat_val_to_idx(unsigned int val) { unsigned int msb, error_bits, base, offset; /* Find MSB starting from bit 0 */ if (val == 0) msb = 0; else msb = sizeof(val)*8 - __builtin_clz(val) - 1; /* * MSB <= (PLAT_BITS-1), cannot be rounded off. Use * all bits of the sample as index */ if (msb <= PLAT_BITS) return val; /* Compute the number of error bits to discard*/ error_bits = msb - PLAT_BITS; /* Compute the number of buckets before the group */ base = (error_bits + 1) << PLAT_BITS; /* * Discard the error bits and apply the mask to find the * index for the buckets in the group */ offset = (PLAT_VAL - 1) & (val >> error_bits); /* Make sure the index does not exceed (array size - 1) */ return (base + offset) < (PLAT_NR - 1) ? (base + offset) : (PLAT_NR - 1); } /* * Convert the given index of the bucket array to the value * represented by the bucket */ static unsigned int plat_idx_to_val(unsigned int idx) { unsigned int error_bits, k, base; assert(idx < PLAT_NR); /* MSB <= (PLAT_BITS-1), cannot be rounded off. Use * all bits of the sample as index */ if (idx < (PLAT_VAL << 1)) return idx; /* Find the group and compute the minimum value of that group */ error_bits = (idx >> PLAT_BITS) - 1; base = 1 << (error_bits + PLAT_BITS); /* Find its bucket number of the group */ k = idx % PLAT_VAL; /* Return the mean of the range of the bucket */ return base + ((k + 0.5) * (1 << error_bits)); } static void add_lat(struct stats *s, unsigned int us, const char *name) { int lat_index = 0; if (us > s->max) s->max = us; if (us < s->min) s->min = us; if (us > max_us) { fprintf(stderr, "%s latency=%u usec\n", name, us); s->over++; } lat_index = plat_val_to_idx(us); __sync_fetch_and_add(&s->plat[lat_index], 1); __sync_fetch_and_add(&s->nr_samples, 1); } static int write_work(struct work_item *work) { struct timespec s, e; ssize_t ret; clock_gettime(CLOCK_MONOTONIC, &s); ret = write(STDOUT_FILENO, work->buf, work->buf_size); if (ret < 0) return (int)ret; clock_gettime(CLOCK_MONOTONIC, &e); assert(ret == work->buf_size); add_lat(&work->writer->s, utime_since(&s, &e), "write"); return work->seq + 1; } static void thread_exiting(struct thread_data *thread) { __sync_fetch_and_add(&thread->done, 1); pthread_cond_signal(&thread->done_cond); } static void *writer_fn(void *data) { struct writer_thread *wt = data; struct work_item *work; int seq = 1; work = NULL; while (!(seq < 0) && (!wt->thread.exit || !flist_empty(&wt->list))) { pthread_mutex_lock(&wt->thread.lock); if (work) flist_add_tail(&work->list, &wt->done_list); work = find_seq(wt, seq); if (work) flist_del_init(&work->list); else pthread_cond_wait(&wt->thread.cond, &wt->thread.lock); pthread_mutex_unlock(&wt->thread.lock); if (work) seq = write_work(work); } thread_exiting(&wt->thread); return NULL; } static void reader_work(struct work_item *work) { struct timespec s, e; ssize_t ret; size_t left; void *buf; off_t off; clock_gettime(CLOCK_MONOTONIC, &s); left = work->buf_size; buf = work->buf; off = work->off; while (left) { ret = pread(work->fd, buf, left, off); if (!ret) { fprintf(stderr, "zero read\n"); break; } else if (ret < 0) { fprintf(stderr, "errno=%d\n", errno); break; } left -= ret; off += ret; buf += ret; } clock_gettime(CLOCK_MONOTONIC, &e); add_lat(&work->reader->s, utime_since(&s, &e), "read"); pthread_cond_signal(&work->cond); if (separate_writer) { pthread_mutex_lock(&work->writer->thread.lock); flist_add_tail(&work->list, &work->writer->list); pthread_mutex_unlock(&work->writer->thread.lock); pthread_cond_signal(&work->writer->thread.cond); } else { struct reader_thread *rt = work->reader; struct work_item *next = NULL; struct flist_head *entry; /* * Write current work if it matches in sequence. */ if (work->seq == rt->write_seq) goto write_it; pthread_mutex_lock(&rt->thread.lock); flist_add_tail(&work->list, &rt->done_list); /* * See if the next work item is here, if so, write it */ work = NULL; flist_for_each(entry, &rt->done_list) { next = flist_entry(entry, struct work_item, list); if (next->seq == rt->write_seq) { work = next; flist_del(&work->list); break; } } pthread_mutex_unlock(&rt->thread.lock); if (work) { write_it: write_work(work); __sync_fetch_and_add(&rt->write_seq, 1); } } } static void *reader_one_off(void *data) { reader_work(data); return NULL; } static void *reader_fn(void *data) { struct reader_thread *rt = data; struct work_item *work; while (!rt->thread.exit || !flist_empty(&rt->list)) { work = NULL; pthread_mutex_lock(&rt->thread.lock); if (!flist_empty(&rt->list)) { work = flist_first_entry(&rt->list, struct work_item, list); flist_del_init(&work->list); } else pthread_cond_wait(&rt->thread.cond, &rt->thread.lock); pthread_mutex_unlock(&rt->thread.lock); if (work) { __sync_fetch_and_add(&rt->busy, 1); reader_work(work); __sync_fetch_and_sub(&rt->busy, 1); } } thread_exiting(&rt->thread); return NULL; } static void queue_work(struct reader_thread *rt, struct work_item *work) { if (!rt->started) { pthread_mutex_lock(&rt->thread.lock); flist_add_tail(&work->list, &rt->list); pthread_mutex_unlock(&rt->thread.lock); rt->started = 1; pthread_create(&rt->thread.thread, NULL, reader_fn, rt); } else if (!rt->busy && !pthread_mutex_trylock(&rt->thread.lock)) { flist_add_tail(&work->list, &rt->list); pthread_mutex_unlock(&rt->thread.lock); pthread_cond_signal(&rt->thread.cond); } else { int ret = pthread_create(&work->thread, NULL, reader_one_off, work); if (ret) { fprintf(stderr, "pthread_create=%d\n", ret); } else { ret = pthread_detach(work->thread); if (ret) fprintf(stderr, "pthread_detach=%d\n", ret); } } } static unsigned int calc_percentiles(unsigned int *io_u_plat, unsigned long nr, unsigned int **output) { unsigned long sum = 0; unsigned int len, i, j = 0; unsigned int oval_len = 0; unsigned int *ovals = NULL; int is_last; len = 0; while (len < PLAT_LIST_MAX && plist[len] != 0.0) len++; if (!len) return 0; /* * Calculate bucket values, note down max and min values */ is_last = 0; for (i = 0; i < PLAT_NR && !is_last; i++) { sum += io_u_plat[i]; while (sum >= (plist[j] / 100.0 * nr)) { assert(plist[j] <= 100.0); if (j == oval_len) { oval_len += 100; ovals = realloc(ovals, oval_len * sizeof(unsigned int)); } ovals[j] = plat_idx_to_val(i); is_last = (j == len - 1); if (is_last) break; j++; } } *output = ovals; return len; } static void show_latencies(struct stats *s, const char *msg) { unsigned int *ovals = NULL; unsigned int len, i; len = calc_percentiles(s->plat, s->nr_samples, &ovals); if (len) { fprintf(stderr, "Latency percentiles (usec) (%s)\n", msg); for (i = 0; i < len; i++) fprintf(stderr, "\t%2.4fth: %u\n", plist[i], ovals[i]); } if (ovals) free(ovals); fprintf(stderr, "\tOver=%u, min=%u, max=%u\n", s->over, s->min, s->max); } static void init_thread(struct thread_data *thread) { pthread_condattr_t cattr; int ret; ret = pthread_condattr_init(&cattr); CHECK_ZERO_OR_ABORT(ret); #ifdef CONFIG_PTHREAD_CONDATTR_SETCLOCK ret = pthread_condattr_setclock(&cattr, CLOCK_MONOTONIC); CHECK_ZERO_OR_ABORT(ret); #endif pthread_cond_init(&thread->cond, &cattr); pthread_cond_init(&thread->done_cond, &cattr); pthread_mutex_init(&thread->lock, NULL); pthread_mutex_init(&thread->done_lock, NULL); thread->exit = 0; } static void exit_thread(struct thread_data *thread, void fn(struct writer_thread *), struct writer_thread *wt) { __sync_fetch_and_add(&thread->exit, 1); pthread_cond_signal(&thread->cond); while (!thread->done) { pthread_mutex_lock(&thread->done_lock); if (fn) { struct timespec ts; #ifdef CONFIG_PTHREAD_CONDATTR_SETCLOCK clock_gettime(CLOCK_MONOTONIC, &ts); #else clock_gettime(CLOCK_REALTIME, &ts); #endif ts.tv_sec++; pthread_cond_timedwait(&thread->done_cond, &thread->done_lock, &ts); fn(wt); } else pthread_cond_wait(&thread->done_cond, &thread->done_lock); pthread_mutex_unlock(&thread->done_lock); } } static int usage(char *argv[]) { fprintf(stderr, "%s: [-b blocksize] [-t max usec] [-w separate writer] -f file\n", argv[0]); return 1; } static int parse_options(int argc, char *argv[]) { int c; while ((c = getopt(argc, argv, "f:b:t:w:")) != -1) { switch (c) { case 'f': if (file) return usage(argv); file = strdup(optarg); break; case 'b': bs = atoi(optarg); break; case 't': max_us = atoi(optarg); break; case 'w': separate_writer = atoi(optarg); if (!separate_writer) fprintf(stderr, "inline writing is broken\n"); break; case '?': default: return usage(argv); } } if (!file) return usage(argv); return 0; } static void prune_done_entries(struct writer_thread *wt) { FLIST_HEAD(list); if (flist_empty(&wt->done_list)) return; if (pthread_mutex_trylock(&wt->thread.lock)) return; if (!flist_empty(&wt->done_list)) flist_splice_init(&wt->done_list, &list); pthread_mutex_unlock(&wt->thread.lock); while (!flist_empty(&list)) { struct work_item *work; work = flist_first_entry(&list, struct work_item, list); flist_del(&work->list); pthread_cond_destroy(&work->cond); pthread_mutex_destroy(&work->lock); free(work->buf); free(work); } } int main(int argc, char *argv[]) { pthread_condattr_t cattr; struct timespec s, re, we; struct reader_thread *rt; struct writer_thread *wt; unsigned long rate; uint64_t elapsed; struct stat sb; size_t bytes; off_t off; int fd, seq; int ret; if (parse_options(argc, argv)) return 1; fd = open(file, O_RDONLY); if (fd < 0) { perror("open"); return 2; } if (fstat(fd, &sb) < 0) { perror("stat"); return 3; } wt = &writer_thread; init_thread(&wt->thread); INIT_FLIST_HEAD(&wt->list); INIT_FLIST_HEAD(&wt->done_list); wt->s.max = 0; wt->s.min = -1U; pthread_create(&wt->thread.thread, NULL, writer_fn, wt); rt = &reader_thread; init_thread(&rt->thread); INIT_FLIST_HEAD(&rt->list); INIT_FLIST_HEAD(&rt->done_list); rt->s.max = 0; rt->s.min = -1U; rt->write_seq = 1; off = 0; seq = 0; bytes = 0; ret = pthread_condattr_init(&cattr); CHECK_ZERO_OR_ABORT(ret); #ifdef CONFIG_PTHREAD_CONDATTR_SETCLOCK ret = pthread_condattr_setclock(&cattr, CLOCK_MONOTONIC); CHECK_ZERO_OR_ABORT(ret); #endif clock_gettime(CLOCK_MONOTONIC, &s); while (sb.st_size) { struct work_item *work; size_t this_len; struct timespec ts; prune_done_entries(wt); this_len = sb.st_size; if (this_len > bs) this_len = bs; work = calloc(1, sizeof(*work)); work->buf = malloc(this_len); work->buf_size = this_len; work->off = off; work->fd = fd; work->seq = ++seq; work->writer = wt; work->reader = rt; pthread_cond_init(&work->cond, &cattr); pthread_mutex_init(&work->lock, NULL); queue_work(rt, work); #ifdef CONFIG_PTHREAD_CONDATTR_SETCLOCK clock_gettime(CLOCK_MONOTONIC, &ts); #else clock_gettime(CLOCK_REALTIME, &ts); #endif ts.tv_nsec += max_us * 1000ULL; if (ts.tv_nsec >= 1000000000ULL) { ts.tv_nsec -= 1000000000ULL; ts.tv_sec++; } pthread_mutex_lock(&work->lock); pthread_cond_timedwait(&work->cond, &work->lock, &ts); pthread_mutex_unlock(&work->lock); off += this_len; sb.st_size -= this_len; bytes += this_len; } exit_thread(&rt->thread, NULL, NULL); clock_gettime(CLOCK_MONOTONIC, &re); exit_thread(&wt->thread, prune_done_entries, wt); clock_gettime(CLOCK_MONOTONIC, &we); show_latencies(&rt->s, "READERS"); show_latencies(&wt->s, "WRITERS"); bytes /= 1024; elapsed = utime_since(&s, &re); rate = elapsed ? (bytes * 1000UL * 1000UL) / elapsed : 0; fprintf(stderr, "Read rate (KiB/sec) : %lu\n", rate); elapsed = utime_since(&s, &we); rate = elapsed ? (bytes * 1000UL * 1000UL) / elapsed : 0; fprintf(stderr, "Write rate (KiB/sec): %lu\n", rate); close(fd); return 0; } fio-3.39/t/readonly.py000077500000000000000000000107021476262051600146730ustar00rootroot00000000000000#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-2.0-only # # Copyright (c) 2019 Western Digital Corporation or its affiliates. """ # readonly.py # # Do some basic tests of the --readonly parameter # # USAGE # python readonly.py [-f fio-executable] # # EXAMPLES # python t/readonly.py # python t/readonly.py -f ./fio # # REQUIREMENTS # Python 3.5+ # """ import os import sys import time import argparse from pathlib import Path from fiotestlib import FioJobCmdTest, run_fio_tests from fiotestcommon import SUCCESS_DEFAULT, SUCCESS_NONZERO class FioReadOnlyTest(FioJobCmdTest): """fio read only test.""" def setup(self, parameters): """Setup the test.""" fio_args = [ "--name=readonly", "--ioengine=null", "--time_based", "--runtime=1s", "--size=1M", f"--rw={self.fio_opts['rw']}", ] if 'readonly-pre' in parameters: fio_args.insert(0, "--readonly") if 'readonly-post' in parameters: fio_args.append("--readonly") super().setup(fio_args) TEST_LIST = [ { "test_id": 1, "fio_opts": { "rw": "randread", }, "readonly-pre": 1, "success": SUCCESS_DEFAULT, "test_class": FioReadOnlyTest, }, { "test_id": 2, "fio_opts": { "rw": "randwrite", }, "readonly-pre": 1, "success": SUCCESS_NONZERO, "test_class": FioReadOnlyTest, }, { "test_id": 3, "fio_opts": { "rw": "randtrim", }, "readonly-pre": 1, "success": SUCCESS_NONZERO, "test_class": FioReadOnlyTest, }, { "test_id": 4, "fio_opts": { "rw": "randread", }, "readonly-post": 1, "success": SUCCESS_DEFAULT, "test_class": FioReadOnlyTest, }, { "test_id": 5, "fio_opts": { "rw": "randwrite", }, "readonly-post": 1, "success": SUCCESS_NONZERO, "test_class": FioReadOnlyTest, }, { "test_id": 6, "fio_opts": { "rw": "randtrim", }, "readonly-post": 1, "success": SUCCESS_NONZERO, "test_class": FioReadOnlyTest, }, { "test_id": 7, "fio_opts": { "rw": "randread", }, "success": SUCCESS_DEFAULT, "test_class": FioReadOnlyTest, }, { "test_id": 8, "fio_opts": { "rw": "randwrite", }, "success": SUCCESS_DEFAULT, "test_class": FioReadOnlyTest, }, { "test_id": 9, "fio_opts": { "rw": "randtrim", }, "success": SUCCESS_DEFAULT, "test_class": FioReadOnlyTest, }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-f', '--fio', help='path to fio executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') args = parser.parse_args() return args def main(): """Run readonly tests.""" args = parse_args() if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = 'fio' print(f"fio path is {fio_path}") artifact_root = args.artifact_root if args.artifact_root else \ f"readonly-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'readonly', } _, failed, _ = run_fio_tests(TEST_LIST, test_env, args) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/run-fio-tests.py000077500000000000000000001201621476262051600155770ustar00rootroot00000000000000#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-2.0-only # # Copyright (c) 2019 Western Digital Corporation or its affiliates. # """ # run-fio-tests.py # # Automate running of fio tests # # USAGE # python3 run-fio-tests.py [-r fio-root] [-f fio-path] [-a artifact-root] # [--skip # # #...] [--run-only # # #...] # # # EXAMPLE # # git clone git://git.kernel.dk/fio.git # # cd fio # # make -j # # python3 t/run-fio-tests.py # # # REQUIREMENTS # - Python 3.5 (subprocess.run) # - Linux (libaio ioengine, zbd tests, etc) # - The artifact directory must be on a file system that accepts 512-byte IO # (t0002, t0003, t0004). # - The artifact directory needs to be on an SSD. Otherwise tests that carry # out file-based IO will trigger a timeout (t0006). # - 4 CPUs (t0009) # - SciPy (steadystate_tests.py) # - libzbc (zbd tests) # - root privileges (zbd test) # - kernel 4.19 or later for zoned null block devices (zbd tests) # - CUnit support (unittests) # """ # # TODO run multiple tests simultaneously # TODO Add sgunmap tests (requires SAS SSD) # import os import sys import time import shutil import logging import argparse import re from pathlib import Path from statsmodels.sandbox.stats.runs import runstest_1samp from fiotestlib import FioExeTest, FioJobFileTest, run_fio_tests from fiotestcommon import * class FioJobFileTest_t0005(FioJobFileTest): """Test consists of fio test job t0005 Confirm that read['io_kbytes'] == write['io_kbytes'] == 102400""" def check_result(self): super().check_result() if not self.passed: return if self.json_data['jobs'][0]['read']['io_kbytes'] != 102400: self.failure_reason = f"{self.failure_reason} bytes read mismatch," self.passed = False if self.json_data['jobs'][0]['write']['io_kbytes'] != 102400: self.failure_reason = f"{self.failure_reason} bytes written mismatch," self.passed = False class FioJobFileTest_t0006(FioJobFileTest): """Test consists of fio test job t0006 Confirm that read['io_kbytes'] ~ 2*write['io_kbytes']""" def check_result(self): super().check_result() if not self.passed: return ratio = self.json_data['jobs'][0]['read']['io_kbytes'] \ / self.json_data['jobs'][0]['write']['io_kbytes'] logging.debug("Test %d: ratio: %f", self.testnum, ratio) if ratio < 1.99 or ratio > 2.01: self.failure_reason = f"{self.failure_reason} read/write ratio mismatch," self.passed = False class FioJobFileTest_t0007(FioJobFileTest): """Test consists of fio test job t0007 Confirm that read['io_kbytes'] = 87040""" def check_result(self): super().check_result() if not self.passed: return if self.json_data['jobs'][0]['read']['io_kbytes'] != 87040: self.failure_reason = f"{self.failure_reason} bytes read mismatch," self.passed = False class FioJobFileTest_t0008(FioJobFileTest): """Test consists of fio test job t0008 Confirm that read['io_kbytes'] = 32768 and that write['io_kbytes'] ~ 16384 This is a 50/50 seq read/write workload. Since fio flips a coin to determine whether to issue a read or a write, total bytes written will not be exactly 16384K. But total bytes read will be exactly 32768K because reads will include the initial phase as well as the verify phase where all the blocks originally written will be read.""" def check_result(self): super().check_result() if not self.passed: return ratio = self.json_data['jobs'][0]['write']['io_kbytes'] / 16384 logging.debug("Test %d: ratio: %f", self.testnum, ratio) if ratio < 0.97 or ratio > 1.03: self.failure_reason = f"{self.failure_reason} bytes written mismatch," self.passed = False if self.json_data['jobs'][0]['read']['io_kbytes'] != 32768: self.failure_reason = f"{self.failure_reason} bytes read mismatch," self.passed = False class FioJobFileTest_t0009(FioJobFileTest): """Test consists of fio test job t0009 Confirm that runtime >= 60s""" def check_result(self): super().check_result() if not self.passed: return logging.debug('Test %d: elapsed: %d', self.testnum, self.json_data['jobs'][0]['elapsed']) if self.json_data['jobs'][0]['elapsed'] < 60: self.failure_reason = f"{self.failure_reason} elapsed time mismatch," self.passed = False class FioJobFileTest_t0012(FioJobFileTest): """Test consists of fio test job t0012 Confirm ratios of job iops are 1:5:10 job1,job2,job3 respectively""" def check_result(self): super().check_result() if not self.passed: return iops_files = [] for i in range(1, 4): filename = os.path.join(self.paths['test_dir'], "{0}_iops.{1}.log".format(os.path.basename( self.fio_job), i)) file_data = self.get_file_fail(filename) if not file_data: return iops_files.append(file_data.splitlines()) # there are 9 samples for job1 and job2, 4 samples for job3 iops1 = 0.0 iops2 = 0.0 iops3 = 0.0 for i in range(9): iops1 = iops1 + float(iops_files[0][i].split(',')[1]) iops2 = iops2 + float(iops_files[1][i].split(',')[1]) iops3 = iops3 + float(iops_files[2][i].split(',')[1]) ratio1 = iops3/iops2 ratio2 = iops3/iops1 logging.debug("sample {0}: job1 iops={1} job2 iops={2} job3 iops={3} " \ "job3/job2={4:.3f} job3/job1={5:.3f}".format(i, iops1, iops2, iops3, ratio1, ratio2)) # test job1 and job2 succeeded to recalibrate if ratio1 < 1 or ratio1 > 3 or ratio2 < 7 or ratio2 > 13: self.failure_reason += " iops ratio mismatch iops1={0} iops2={1} iops3={2} " \ "expected r1~2 r2~10 got r1={3:.3f} r2={4:.3f},".format(iops1, iops2, iops3, ratio1, ratio2) self.passed = False return class FioJobFileTest_t0014(FioJobFileTest): """Test consists of fio test job t0014 Confirm that job1_iops / job2_iops ~ 1:2 for entire duration and that job1_iops / job3_iops ~ 1:3 for first half of duration. The test is about making sure the flow feature can re-calibrate the activity dynamically""" def check_result(self): super().check_result() if not self.passed: return iops_files = [] for i in range(1, 4): filename = os.path.join(self.paths['test_dir'], "{0}_iops.{1}.log".format(os.path.basename( self.fio_job), i)) file_data = self.get_file_fail(filename) if not file_data: return iops_files.append(file_data.splitlines()) # there are 9 samples for job1 and job2, 4 samples for job3 iops1 = 0.0 iops2 = 0.0 iops3 = 0.0 for i in range(9): if i < 4: iops3 = iops3 + float(iops_files[2][i].split(',')[1]) elif i == 4: ratio1 = iops1 / iops2 ratio2 = iops1 / iops3 if ratio1 < 0.43 or ratio1 > 0.57 or ratio2 < 0.21 or ratio2 > 0.45: self.failure_reason += " iops ratio mismatch iops1={0} iops2={1} iops3={2} " \ "expected r1~0.5 r2~0.33 got r1={3:.3f} r2={4:.3f},".format( iops1, iops2, iops3, ratio1, ratio2) self.passed = False iops1 = iops1 + float(iops_files[0][i].split(',')[1]) iops2 = iops2 + float(iops_files[1][i].split(',')[1]) ratio1 = iops1/iops2 ratio2 = iops1/iops3 logging.debug("sample {0}: job1 iops={1} job2 iops={2} job3 iops={3} " \ "job1/job2={4:.3f} job1/job3={5:.3f}".format(i, iops1, iops2, iops3, ratio1, ratio2)) # test job1 and job2 succeeded to recalibrate if ratio1 < 0.43 or ratio1 > 0.57: self.failure_reason += " iops ratio mismatch iops1={0} iops2={1} expected ratio~0.5 " \ "got ratio={2:.3f},".format(iops1, iops2, ratio1) self.passed = False return class FioJobFileTest_t0015(FioJobFileTest): """Test consists of fio test jobs t0015 and t0016 Confirm that mean(slat) + mean(clat) = mean(tlat)""" def check_result(self): super().check_result() if not self.passed: return slat = self.json_data['jobs'][0]['read']['slat_ns']['mean'] clat = self.json_data['jobs'][0]['read']['clat_ns']['mean'] tlat = self.json_data['jobs'][0]['read']['lat_ns']['mean'] logging.debug('Test %d: slat %f, clat %f, tlat %f', self.testnum, slat, clat, tlat) if abs(slat + clat - tlat) > 1: self.failure_reason = "{0} slat {1} + clat {2} = {3} != tlat {4},".format( self.failure_reason, slat, clat, slat+clat, tlat) self.passed = False class FioJobFileTest_t0019(FioJobFileTest): """Test consists of fio test job t0019 Confirm that all offsets were touched sequentially""" def check_result(self): super().check_result() bw_log_filename = os.path.join(self.paths['test_dir'], "test_bw.log") file_data = self.get_file_fail(bw_log_filename) if not file_data: return log_lines = file_data.split('\n') prev = -4096 for line in log_lines: if len(line.strip()) == 0: continue cur = int(line.split(',')[4]) if cur - prev != 4096: self.passed = False self.failure_reason = f"offsets {prev}, {cur} not sequential" return prev = cur if cur/4096 != 255: self.passed = False self.failure_reason = f"unexpected last offset {cur}" class FioJobFileTest_t0020(FioJobFileTest): """Test consists of fio test jobs t0020 and t0021 Confirm that almost all offsets were touched non-sequentially""" def check_result(self): super().check_result() bw_log_filename = os.path.join(self.paths['test_dir'], "test_bw.log") file_data = self.get_file_fail(bw_log_filename) if not file_data: return log_lines = file_data.split('\n') offsets = [] prev = int(log_lines[0].split(',')[4]) for line in log_lines[1:]: offsets.append(prev/4096) if len(line.strip()) == 0: continue cur = int(line.split(',')[4]) prev = cur if len(offsets) != 256: self.passed = False self.failure_reason += f" number of offsets is {len(offsets)} instead of 256" for i in range(256): if not i in offsets: self.passed = False self.failure_reason += f" missing offset {i * 4096}" (_, p) = runstest_1samp(list(offsets)) if p < 0.05: self.passed = False self.failure_reason += f" runs test failed with p = {p}" class FioJobFileTest_t0022(FioJobFileTest): """Test consists of fio test job t0022""" def check_result(self): super().check_result() bw_log_filename = os.path.join(self.paths['test_dir'], "test_bw.log") file_data = self.get_file_fail(bw_log_filename) if not file_data: return log_lines = file_data.split('\n') filesize = 1024*1024 bs = 4096 seq_count = 0 offsets = set() prev = int(log_lines[0].split(',')[4]) for line in log_lines[1:]: offsets.add(prev/bs) if len(line.strip()) == 0: continue cur = int(line.split(',')[4]) if cur - prev == bs: seq_count += 1 prev = cur # 10 is an arbitrary threshold if seq_count > 10: self.passed = False self.failure_reason = f"too many ({seq_count}) consecutive offsets" if len(offsets) == filesize/bs: self.passed = False self.failure_reason += " no duplicate offsets found with norandommap=1" class FioJobFileTest_t0023(FioJobFileTest): """Test consists of fio test job t0023 randtrimwrite test.""" def check_trimwrite(self, filename): """Make sure that trims are followed by writes of the same size at the same offset.""" bw_log_filename = os.path.join(self.paths['test_dir'], filename) file_data = self.get_file_fail(bw_log_filename) if not file_data: return log_lines = file_data.split('\n') prev_ddir = 1 for line in log_lines: if len(line.strip()) == 0: continue vals = line.split(',') ddir = int(vals[2]) bs = int(vals[3]) offset = int(vals[4]) if prev_ddir == 1: if ddir != 2: self.passed = False self.failure_reason += " {0}: write not preceeded by trim: {1}".format( bw_log_filename, line) break else: if ddir != 1: # pylint: disable=no-else-break self.passed = False self.failure_reason += " {0}: trim not preceeded by write: {1}".format( bw_log_filename, line) break else: if prev_bs != bs: self.passed = False self.failure_reason += " {0}: block size does not match: {1}".format( bw_log_filename, line) break if prev_offset != offset: self.passed = False self.failure_reason += " {0}: offset does not match: {1}".format( bw_log_filename, line) break prev_ddir = ddir prev_bs = bs prev_offset = offset def check_all_offsets(self, filename, sectorsize, filesize): """Make sure all offsets were touched.""" file_data = self.get_file_fail(os.path.join(self.paths['test_dir'], filename)) if not file_data: return log_lines = file_data.split('\n') offsets = set() for line in log_lines: if len(line.strip()) == 0: continue vals = line.split(',') bs = int(vals[3]) offset = int(vals[4]) if offset % sectorsize != 0: self.passed = False self.failure_reason += " {0}: offset {1} not a multiple of sector size {2}".format( filename, offset, sectorsize) break if bs % sectorsize != 0: self.passed = False self.failure_reason += " {0}: block size {1} not a multiple of sector size " \ "{2}".format(filename, bs, sectorsize) break for i in range(int(bs/sectorsize)): offsets.add(offset/sectorsize + i) if len(offsets) != filesize/sectorsize: self.passed = False self.failure_reason += " {0}: only {1} offsets touched; expected {2}".format( filename, len(offsets), filesize/sectorsize) else: logging.debug("%s: %d sectors touched", filename, len(offsets)) def check_result(self): super().check_result() filesize = 1024*1024 self.check_trimwrite("basic_bw.log") self.check_trimwrite("bs_bw.log") self.check_trimwrite("bsrange_bw.log") self.check_trimwrite("bssplit_bw.log") self.check_trimwrite("basic_no_rm_bw.log") self.check_trimwrite("bs_no_rm_bw.log") self.check_trimwrite("bsrange_no_rm_bw.log") self.check_trimwrite("bssplit_no_rm_bw.log") self.check_all_offsets("basic_bw.log", 4096, filesize) self.check_all_offsets("bs_bw.log", 8192, filesize) self.check_all_offsets("bsrange_bw.log", 512, filesize) self.check_all_offsets("bssplit_bw.log", 512, filesize) class FioJobFileTest_t0024(FioJobFileTest_t0023): """Test consists of fio test job t0024 trimwrite test.""" def check_result(self): # call FioJobFileTest_t0023's parent to skip checks done by t0023 super(FioJobFileTest_t0023, self).check_result() filesize = 1024*1024 self.check_trimwrite("basic_bw.log") self.check_trimwrite("bs_bw.log") self.check_trimwrite("bsrange_bw.log") self.check_trimwrite("bssplit_bw.log") self.check_all_offsets("basic_bw.log", 4096, filesize) self.check_all_offsets("bs_bw.log", 8192, filesize) self.check_all_offsets("bsrange_bw.log", 512, filesize) self.check_all_offsets("bssplit_bw.log", 512, filesize) class FioJobFileTest_t0025(FioJobFileTest): """Test experimental verify read backs written data pattern.""" def check_result(self): super().check_result() if not self.passed: return if self.json_data['jobs'][0]['read']['io_kbytes'] != 128: self.passed = False class FioJobFileTest_t0027(FioJobFileTest): def setup(self, *args, **kws): super().setup(*args, **kws) self.pattern_file = os.path.join(self.paths['test_dir'], "t0027.pattern") self.output_file = os.path.join(self.paths['test_dir'], "t0027file") self.pattern = os.urandom(16 << 10) with open(self.pattern_file, "wb") as f: f.write(self.pattern) def check_result(self): super().check_result() if not self.passed: return with open(self.output_file, "rb") as f: data = f.read() if data != self.pattern: self.passed = False class FioJobFileTest_t0029(FioJobFileTest): """Test loops option works with read-verify workload.""" def check_result(self): super().check_result() if not self.passed: return if self.json_data['jobs'][1]['read']['io_kbytes'] != 8: self.passed = False class FioJobFileTest_LogFileFormat(FioJobFileTest): """Test log file format""" def setup(self, *args, **kws): super().setup(*args, **kws) self.patterns = {} def check_result(self): super().check_result() if not self.passed: return for logfile in self.patterns.keys(): file_path = os.path.join(self.paths['test_dir'], logfile) with open(file_path, "r") as f: line = f.readline() if not re.match(self.patterns[logfile], line): self.passed = False self.failure_reason = "wrong log file format: " + logfile return class FioJobFileTest_t0033(FioJobFileTest_LogFileFormat): """Test log file format""" def setup(self, *args, **kws): super().setup(*args, **kws) self.patterns = { 'log_bw.1.log': '\\d+, \\d+, \\d+, \\d+, 0x[\\da-f]+\\n', 'log_clat.2.log': '\\d+, \\d+, \\d+, \\d+, 0, \\d+\\n', 'log_iops.3.log': '\\d+, \\d+, \\d+, \\d+, \\d+, 0x[\\da-f]+\\n', 'log_iops.4.log': '\\d+, \\d+, \\d+, \\d+, 0, 0, \\d+\\n', } class FioJobFileTest_t0034(FioJobFileTest_LogFileFormat): """Test log file format""" def setup(self, *args, **kws): super().setup(*args, **kws) self.patterns = { 'log_clat.1.log': '\\d+, \\d+, \\d+, \\d+, \\d+, \\d+, \\d+\\n', 'log_slat.1.log': '\\d+, \\d+, \\d+, \\d+, \\d+, \\d+, \\d+\\n', 'log_lat.1.log': '\\d+, \\d+, \\d+, \\d+, \\d+, \\d+, 0\\n', 'log_clat.2.log': '\\d+, \\d+, \\d+, \\d+, 0, 0, \\d+, 0\\n', 'log_bw.3.log': '\\d+, \\d+, \\d+, \\d+, \\d+, \\d+, 0\\n', 'log_iops.3.log': '\\d+, \\d+, \\d+, \\d+, \\d+, \\d+, 0\\n', } class FioJobFileTest_iops_rate(FioJobFileTest): """Test consists of fio test job t0011 Confirm that job0 iops == 1000 and that job1_iops / job0_iops ~ 8 With two runs of fio-3.16 I observed a ratio of 8.3""" def check_result(self): super().check_result() if not self.passed: return iops1 = self.json_data['jobs'][0]['read']['iops'] logging.debug("Test %d: iops1: %f", self.testnum, iops1) iops2 = self.json_data['jobs'][1]['read']['iops'] logging.debug("Test %d: iops2: %f", self.testnum, iops2) ratio = iops2 / iops1 logging.debug("Test %d: ratio: %f", self.testnum, ratio) if iops1 < 950 or iops1 > 1050: self.failure_reason = f"{self.failure_reason} iops value mismatch," self.passed = False if ratio < 6 or ratio > 10: self.failure_reason = f"{self.failure_reason} iops ratio mismatch," self.passed = False TEST_LIST = [ { 'test_id': 1, 'test_class': FioJobFileTest, 'job': 't0001-52c58027.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 2, 'test_class': FioJobFileTest, 'job': 't0002-13af05ae-post.fio', 'success': SUCCESS_DEFAULT, 'pre_job': 't0002-13af05ae-pre.fio', 'pre_success': None, 'requirements': [Requirements.linux, Requirements.libaio], }, { 'test_id': 3, 'test_class': FioJobFileTest, 'job': 't0003-0ae2c6e1-post.fio', 'success': SUCCESS_NONZERO, 'pre_job': 't0003-0ae2c6e1-pre.fio', 'pre_success': SUCCESS_DEFAULT, 'requirements': [Requirements.linux, Requirements.libaio], }, { 'test_id': 4, 'test_class': FioJobFileTest, 'job': 't0004-8a99fdf6.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [Requirements.linux, Requirements.libaio], }, { 'test_id': 5, 'test_class': FioJobFileTest_t0005, 'job': 't0005-f7078f7b.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [Requirements.not_windows], }, { 'test_id': 6, 'test_class': FioJobFileTest_t0006, 'job': 't0006-82af2a7c.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [Requirements.linux, Requirements.libaio], }, { 'test_id': 7, 'test_class': FioJobFileTest_t0007, 'job': 't0007-37cf9e3c.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [], }, { 'test_id': 8, 'test_class': FioJobFileTest_t0008, 'job': 't0008-ae2fafc8.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [], }, { 'test_id': 9, 'test_class': FioJobFileTest_t0009, 'job': 't0009-f8b0bd10.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [Requirements.not_macos, Requirements.cpucount4], # mac os does not support CPU affinity }, { 'test_id': 10, 'test_class': FioJobFileTest, 'job': 't0010-b7aae4ba.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 11, 'test_class': FioJobFileTest_iops_rate, 'job': 't0011-5d2788d5.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [], }, { 'test_id': 12, 'test_class': FioJobFileTest_t0012, 'job': 't0012.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [], }, { 'test_id': 13, 'test_class': FioJobFileTest, 'job': 't0013.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [], }, { 'test_id': 14, 'test_class': FioJobFileTest_t0014, 'job': 't0014.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [], }, { 'test_id': 15, 'test_class': FioJobFileTest_t0015, 'job': 't0015-4e7e7898.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [Requirements.linux, Requirements.libaio], }, { 'test_id': 16, 'test_class': FioJobFileTest_t0015, 'job': 't0016-d54ae22.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [], }, { 'test_id': 17, 'test_class': FioJobFileTest_t0015, 'job': 't0017.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [Requirements.not_windows], }, { 'test_id': 18, 'test_class': FioJobFileTest, 'job': 't0018.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [Requirements.linux, Requirements.io_uring], }, { 'test_id': 19, 'test_class': FioJobFileTest_t0019, 'job': 't0019.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 20, 'test_class': FioJobFileTest_t0020, 'job': 't0020.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 21, 'test_class': FioJobFileTest_t0020, 'job': 't0021.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 22, 'test_class': FioJobFileTest_t0022, 'job': 't0022.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 23, 'test_class': FioJobFileTest_t0023, 'job': 't0023.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 24, 'test_class': FioJobFileTest_t0024, 'job': 't0024.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 25, 'test_class': FioJobFileTest_t0025, 'job': 't0025.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [], }, { 'test_id': 26, 'test_class': FioJobFileTest, 'job': 't0026.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [Requirements.not_windows], }, { 'test_id': 27, 'test_class': FioJobFileTest_t0027, 'job': 't0027.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 28, 'test_class': FioJobFileTest, 'job': 't0028-c6cade16.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 29, 'test_class': FioJobFileTest_t0029, 'job': 't0029.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'output_format': 'json', 'requirements': [], }, { 'test_id': 30, 'test_class': FioJobFileTest, 'job': 't0030.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'parameters': ['--bandwidth-log'], 'requirements': [], }, { 'test_id': 31, 'test_class': FioJobFileTest, 'job': 't0031.fio', 'success': SUCCESS_DEFAULT, 'pre_job': 't0031-pre.fio', 'pre_success': SUCCESS_DEFAULT, 'requirements': [Requirements.linux, Requirements.libaio], }, { 'test_id': 33, 'test_class': FioJobFileTest_t0033, 'job': 't0033.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [Requirements.linux, Requirements.libaio], }, { 'test_id': 34, 'test_class': FioJobFileTest_t0034, 'job': 't0034.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [Requirements.linux, Requirements.libaio], }, { 'test_id': 35, 'test_class': FioJobFileTest, 'job': 't0035.fio', 'success': SUCCESS_DEFAULT, 'pre_job': None, 'pre_success': None, 'requirements': [], }, { 'test_id': 36, 'test_class': FioJobFileTest, 'job': 't0036-post.fio', 'success': SUCCESS_DEFAULT, 'pre_job': 't0036-pre.fio', 'pre_success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 37, 'test_class': FioJobFileTest, 'job': 't0037-post.fio', 'success': SUCCESS_DEFAULT, 'pre_job': 't0037-pre.fio', 'pre_success': SUCCESS_DEFAULT, 'requirements': [Requirements.linux, Requirements.libaio], }, { 'test_id': 1000, 'test_class': FioExeTest, 'exe': 't/axmap', 'parameters': None, 'success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 1001, 'test_class': FioExeTest, 'exe': 't/ieee754', 'parameters': None, 'success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 1002, 'test_class': FioExeTest, 'exe': 't/lfsr-test', 'parameters': ['0xFFFFFF', '0', '0', 'verify'], 'success': SUCCESS_STDERR, 'requirements': [], }, { 'test_id': 1003, 'test_class': FioExeTest, 'exe': 't/readonly.py', 'parameters': ['-f', '{fio_path}'], 'success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 1004, 'test_class': FioExeTest, 'exe': 't/steadystate_tests.py', 'parameters': ['{fio_path}'], 'success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 1005, 'test_class': FioExeTest, 'exe': 't/stest', 'parameters': None, 'success': SUCCESS_STDERR, 'requirements': [], }, { 'test_id': 1006, 'test_class': FioExeTest, 'exe': 't/strided.py', 'parameters': ['--fio', '{fio_path}'], 'success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 1007, 'test_class': FioExeTest, 'exe': 't/zbd/run-tests-against-nullb', 'parameters': ['-s', '1'], 'success': SUCCESS_DEFAULT, 'requirements': [Requirements.linux, Requirements.zbd, Requirements.root], }, { 'test_id': 1008, 'test_class': FioExeTest, 'exe': 't/zbd/run-tests-against-nullb', 'parameters': ['-s', '2'], 'success': SUCCESS_DEFAULT, 'requirements': [Requirements.linux, Requirements.zbd, Requirements.root, Requirements.zoned_nullb], }, { 'test_id': 1009, 'test_class': FioExeTest, 'exe': 'unittests/unittest', 'parameters': None, 'success': SUCCESS_DEFAULT, 'requirements': [Requirements.unittests], }, { 'test_id': 1010, 'test_class': FioExeTest, 'exe': 't/latency_percentiles.py', 'parameters': ['-f', '{fio_path}'], 'success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 1011, 'test_class': FioExeTest, 'exe': 't/jsonplus2csv_test.py', 'parameters': ['-f', '{fio_path}'], 'success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 1012, 'test_class': FioExeTest, 'exe': 't/log_compression.py', 'parameters': ['-f', '{fio_path}'], 'success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 1013, 'test_class': FioExeTest, 'exe': 't/random_seed.py', 'parameters': ['-f', '{fio_path}'], 'success': SUCCESS_DEFAULT, 'requirements': [], }, { 'test_id': 1014, 'test_class': FioExeTest, 'exe': 't/nvmept.py', 'parameters': ['-f', '{fio_path}', '--dut', '{nvmecdev}'], 'success': SUCCESS_DEFAULT, 'requirements': [Requirements.linux, Requirements.nvmecdev], }, { 'test_id': 1015, 'test_class': FioExeTest, 'exe': 't/nvmept_trim.py', 'parameters': ['-f', '{fio_path}', '--dut', '{nvmecdev}'], 'success': SUCCESS_DEFAULT, 'requirements': [Requirements.linux, Requirements.nvmecdev], }, { 'test_id': 1016, 'test_class': FioExeTest, 'exe': 't/client_server.py', 'parameters': ['-f', '{fio_path}'], 'success': SUCCESS_DEFAULT, 'requirements': [Requirements.linux], }, { 'test_id': 1017, 'test_class': FioExeTest, 'exe': 't/verify.py', 'parameters': ['-f', '{fio_path}'], 'success': SUCCESS_LONG, 'requirements': [], }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-r', '--fio-root', help='fio root path') parser.add_argument('-f', '--fio', help='path to fio executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') parser.add_argument('-d', '--debug', action='store_true', help='provide debug output') parser.add_argument('-k', '--skip-req', action='store_true', help='skip requirements checking') parser.add_argument('-p', '--pass-through', action='append', help='pass-through an argument to an executable test') parser.add_argument('--nvmecdev', action='store', default=None, help='NVMe character device for **DESTRUCTIVE** testing (e.g., /dev/ng0n1)') args = parser.parse_args() return args def main(): """Entry point.""" args = parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) pass_through = {} if args.pass_through: for arg in args.pass_through: if not ':' in arg: print(f"Invalid --pass-through argument '{arg}'") print("Syntax for --pass-through is TESTNUMBER:ARGUMENT") return split = arg.split(":", 1) pass_through[int(split[0])] = split[1] logging.debug("Pass-through arguments: %s", pass_through) if args.fio_root: fio_root = args.fio_root else: fio_root = str(Path(__file__).absolute().parent.parent) print(f"fio root is {fio_root}") if args.fio: fio_path = args.fio else: if platform.system() == "Windows": fio_exe = "fio.exe" else: fio_exe = "fio" fio_path = os.path.join(fio_root, fio_exe) print(f"fio path is {fio_path}") if not shutil.which(fio_path): print("Warning: fio executable not found") artifact_root = args.artifact_root if args.artifact_root else \ f"fio-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if not args.skip_req: Requirements(fio_root, args) test_env = { 'fio_path': fio_path, 'fio_root': fio_root, 'artifact_root': artifact_root, 'pass_through': pass_through, } _, failed, _ = run_fio_tests(TEST_LIST, test_env, args) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/sgunmap-perf.py000077500000000000000000000072531476262051600154710ustar00rootroot00000000000000#!/usr/bin/env python3 # # sgunmap-test.py # # Basic performance testing using fio's sg ioengine # # USAGE # sgunmap-perf.py char-device block-device fio-executable # # EXAMPLE # t/sgunmap-perf.py /dev/sg1 /dev/sdb ./fio # # REQUIREMENTS # Python 2.6+ # # from __future__ import absolute_import from __future__ import print_function import sys import json import argparse import subprocess from six.moves import range def parse_args(): parser = argparse.ArgumentParser() parser.add_argument('cdev', help='character device target (e.g., /dev/sg0)') parser.add_argument('bdev', help='block device target (e.g., /dev/sda)') parser.add_argument('fioc', help='path to candidate fio executable (e.g., ./fio)') parser.add_argument('fior', help='path to reference fio executable (e.g., ./fio)') args = parser.parse_args() return args def fulldevice(fio, dev, ioengine='psync', rw='trim', bs='1M'): parameters = ["--name=test", "--output-format=json", "--random_generator=lfsr", "--bs={0}".format(bs), "--rw={0}".format(rw), "--ioengine={0}".format(ioengine), "--filename={0}".format(dev)] output = subprocess.check_output([fio] + parameters) jsondata = json.loads(output) jobdata = jsondata['jobs'][0] return jobdata def runtest(fio, dev, rw, qd, batch, bs='512', runtime='30s'): parameters = ["--name=test", "--random_generator=tausworthe64", "--time_based", "--runtime={0}".format(runtime), "--output-format=json", "--ioengine=sg", "--blocksize={0}".format(bs), "--rw={0}".format(rw), "--filename={0}".format(dev), "--iodepth={0}".format(qd), "--iodepth_batch={0}".format(batch)] output = subprocess.check_output([fio] + parameters) jsondata = json.loads(output) jobdata = jsondata['jobs'][0] # print(parameters) return jobdata def runtests(fio, dev, qd, batch, rw, bs='512', trials=5): iops = [] for x in range(trials): jd = runtest(fio, dev, rw, qd, batch, bs=bs) total = jd['read']['iops'] + jd['write']['iops'] + jd['trim']['iops'] # print(total) iops.extend([total]) return iops, (sum(iops) / trials) if __name__ == '__main__': args = parse_args() print("Trimming full device {0}".format(args.cdev)) fulldevice(args.fior, args.cdev, ioengine='sg') print("Running rand read tests on {0}" " with fio candidate build {1}".format(args.cdev, args.fioc)) randread, rrmean = runtests(args.fioc, args.cdev, 16, 1, 'randread', trials=5) print("IOPS mean {0}, trials {1}".format(rrmean, randread)) print("Running rand read tests on {0}" " with fio reference build {1}".format(args.cdev, args.fior)) randread, rrmean = runtests(args.fior, args.cdev, 16, 1, 'randread', trials=5) print("IOPS mean {0}, trials {1}".format(rrmean, randread)) print("Running rand write tests on {0}" " with fio candidate build {1}".format(args.cdev, args.fioc)) randwrite, rwmean = runtests(args.fioc, args.cdev, 16, 1, 'randwrite', trials=5) print("IOPS mean {0}, trials {1}".format(rwmean, randwrite)) print("Running rand write tests on {0}" " with fio reference build {1}".format(args.cdev, args.fior)) randwrite, rwmean = runtests(args.fior, args.cdev, 16, 1, 'randwrite', trials=5) print("IOPS mean {0}, trials {1}".format(rwmean, randwrite)) fio-3.39/t/sgunmap-test.py000077500000000000000000000123561476262051600155140ustar00rootroot00000000000000#!/usr/bin/env python3 # Note: this script is python2 and python 3 compatible. # # sgunmap-test.py # # Limited functionality test for trim workloads using fio's sg ioengine # This checks only the three sets of reported iodepths # # !!!WARNING!!! # This script carries out destructive tests. Be sure that # there is no data you want to keep on the supplied devices. # # USAGE # sgunmap-test.py char-device block-device fio-executable # # EXAMPLE # t/sgunmap-test.py /dev/sg1 /dev/sdb ./fio # # REQUIREMENTS # Python 2.6+ # # TEST MATRIX # For both char-dev and block-dev these are the expected # submit/complete IO depths # # blockdev chardev # iodepth iodepth # R QD1 sub/comp: 1-4=100% sub/comp: 1-4=100% # W QD1 sub/comp: 1-4=100% sub/comp: 1-4=100% # T QD1 sub/comp: 1-4=100% sub/comp: 1-4=100% # # R QD16, batch8 sub/comp: 1-4=100% sub/comp: 1-4=100% # W QD16, batch8 sub/comp: 1-4=100% sub/comp: 1-4=100% # T QD16, batch8 sub/comp: 1-4=100% sub/comp: 5-8=100% # # R QD16, batch16 sub/comp: 1-4=100% sub/comp: 1-4=100% # W QD16, batch16 sub/comp: 1-4=100% sub/comp: 1-4=100% # T QD16, batch16 sub/comp: 1-4=100% sub/comp: 9-16=100% # from __future__ import absolute_import from __future__ import print_function import sys import json import argparse import traceback import subprocess def parse_args(): parser = argparse.ArgumentParser() parser.add_argument('chardev', help='character device target (e.g., /dev/sg0)') parser.add_argument('blockdev', help='block device target (e.g., /dev/sda)') parser.add_argument('fio', help='path to fio executable (e.g., ./fio)') args = parser.parse_args() return args # # With block devices, # iodepth = 1 always # submit = complete = 1-4 always # With character devices, # RW # iodepth = qd # submit = 1-4 # complete = 1-4 except for the IOs in flight # when the job is ending # T # iodepth = qd # submit = qdbatch # complete = qdbatch except for the IOs in flight # when the job is ending # def check(jsondata, parameters, block, qd, qdbatch, rw): iodepth = jsondata['iodepth_level'] submit = jsondata['iodepth_submit'] complete = jsondata['iodepth_complete'] try: if block: assert iodepth['1'] == 100.0 assert submit['4'] == 100.0 assert complete['4'] == 100.0 elif 'read' in rw or 'write' in rw: assert iodepth[str(qd)] > 99.9 assert submit['4'] == 100.0 assert complete['4'] > 99.9 else: if qdbatch <= 4: batchkey = '4' elif qdbatch > 64: batchkey = '>=64' else: batchkey = str(qdbatch) if qd >= 64: qdkey = ">=64" else: qdkey = str(qd) assert iodepth[qdkey] > 99 assert submit[batchkey] == 100.0 assert complete[batchkey] > 99 except AssertionError: print("Assertion failed") traceback.print_exc() print(jsondata) return print("**********passed*********") def runalltests(args, qd, batch): block = False for dev in [args.chardev, args.blockdev]: for rw in ["randread", "randwrite", "randtrim"]: parameters = ["--name=test", "--time_based", "--runtime=30s", "--output-format=json", "--ioengine=sg", "--rw={0}".format(rw), "--filename={0}".format(dev), "--iodepth={0}".format(qd), "--iodepth_batch={0}".format(batch)] print(parameters) output = subprocess.check_output([args.fio] + parameters) jsondata = json.loads(output) jobdata = jsondata['jobs'][0] check(jobdata, parameters, block, qd, batch, rw) block = True def runcdevtrimtest(args, qd, batch): parameters = ["--name=test", "--time_based", "--runtime=30s", "--output-format=json", "--ioengine=sg", "--rw=randtrim", "--filename={0}".format(args.chardev), "--iodepth={0}".format(qd), "--iodepth_batch={0}".format(batch)] print(parameters) output = subprocess.check_output([args.fio] + parameters) jsondata = json.loads(output) jobdata = jsondata['jobs'][0] check(jobdata, parameters, False, qd, batch, "randtrim") if __name__ == '__main__': args = parse_args() runcdevtrimtest(args, 32, 2) runcdevtrimtest(args, 32, 4) runcdevtrimtest(args, 32, 8) runcdevtrimtest(args, 64, 4) runcdevtrimtest(args, 64, 8) runcdevtrimtest(args, 64, 16) runcdevtrimtest(args, 128, 8) runcdevtrimtest(args, 128, 16) runcdevtrimtest(args, 128, 32) runalltests(args, 1, 1) runalltests(args, 16, 2) runalltests(args, 16, 16) fio-3.39/t/steadystate_tests.py000077500000000000000000000244101476262051600166330ustar00rootroot00000000000000#!/usr/bin/env python3 # # steadystate_tests.py # # Test option parsing and functionality for fio's steady state detection feature. # # steadystate_tests.py --read file-for-read-testing --write file-for-write-testing ./fio # # REQUIREMENTS # Python 2.6+ # SciPy # # KNOWN ISSUES # only option parsing and read tests are carried out # On Windows this script works under Cygwin but not from cmd.exe # On Windows I encounter frequent fio problems generating JSON output (nothing to decode) # min runtime: # if ss attained: min runtime = ss_dur + ss_ramp # if not attained: runtime = timeout from __future__ import absolute_import from __future__ import print_function import os import sys import json import pprint import argparse import subprocess from scipy import stats def parse_args(): parser = argparse.ArgumentParser() parser.add_argument('fio', help='path to fio executable') args = parser.parse_args() return args def check(data, iops, slope, pct, limit, dur, criterion): measurement = 'iops' if iops else 'bw' data = data[measurement] mean = sum(data) / len(data) if slope: x = list(range(len(data))) m, intercept, r_value, p_value, std_err = stats.linregress(x,data) m = abs(m) if pct: target = (m / mean * 100) if mean != 0 else 0 criterion = criterion[:-1] else: target = m else: maxdev = 0 for x in data: maxdev = max(abs(mean-x), maxdev) if pct: target = maxdev / mean * 100 criterion = criterion[:-1] else: target = maxdev criterion = float(criterion) if criterion == 0.0: objsame = False else: objsame = abs(target - criterion) / criterion < 0.005 return (objsame, target < limit, mean, target) if __name__ == '__main__': args = parse_args() pp = pprint.PrettyPrinter(indent=4) passed = 0 failed = 0 # # test option parsing # parsing = [ { 'args': ["--parse-only", "--debug=parse", "--ss_dur=10s", "--ss=iops:10", "--ss_ramp=5"], 'output': "set steady state IOPS threshold to 10.000000" }, { 'args': ["--parse-only", "--debug=parse", "--ss_dur=10s", "--ss=iops:10%", "--ss_ramp=5"], 'output': "set steady state threshold to 10.000000%" }, { 'args': ["--parse-only", "--debug=parse", "--ss_dur=10s", "--ss=iops:.1%", "--ss_ramp=5"], 'output': "set steady state threshold to 0.100000%" }, { 'args': ["--parse-only", "--debug=parse", "--ss_dur=10s", "--ss=bw:10%", "--ss_ramp=5"], 'output': "set steady state threshold to 10.000000%" }, { 'args': ["--parse-only", "--debug=parse", "--ss_dur=10s", "--ss=bw:.1%", "--ss_ramp=5"], 'output': "set steady state threshold to 0.100000%" }, { 'args': ["--parse-only", "--debug=parse", "--ss_dur=10s", "--ss=bw:12", "--ss_ramp=5"], 'output': "set steady state BW threshold to 12" }, ] for test in parsing: output = subprocess.check_output([args.fio] + test['args']) if test['output'] in output.decode(): print("PASSED '{0}' found with arguments {1}".format(test['output'], test['args'])) passed = passed + 1 else: print("FAILED '{0}' NOT found with arguments {1}".format(test['output'], test['args'])) failed = failed + 1 # # test some read workloads # # if ss active and attained, # check that runtime is less than job time # check criteria # how to check ramp time? # # if ss inactive # check that runtime is what was specified # reads = [ {'s': True, 'timeout': 100, 'numjobs': 1, 'ss_dur': 5, 'ss_ramp': 3, 'iops': True, 'slope': True, 'ss_limit': 0.1, 'pct': True}, {'s': False, 'timeout': 20, 'numjobs': 2}, {'s': True, 'timeout': 100, 'numjobs': 3, 'ss_dur': 10, 'ss_ramp': 5, 'iops': False, 'slope': True, 'ss_limit': 0.1, 'pct': True}, {'s': True, 'timeout': 10, 'numjobs': 3, 'ss_dur': 10, 'ss_ramp': 500, 'iops': False, 'slope': True, 'ss_limit': 0.1, 'pct': True}, {'s': True, 'timeout': 10, 'numjobs': 3, 'ss_dur': 10, 'ss_ramp': 500, 'iops': False, 'slope': True, 'ss_limit': 0.1, 'pct': True, 'ss_interval': 5}, ] jobnum = 0 for job in reads: tf = "steadystate_job{0}.json".format(jobnum) parameters = [ "--max-jobs=16", "--name=job{0}".format(jobnum) ] parameters.extend([ "--thread", "--output-format=json", "--output={0}".format(tf), "--ioengine=null", "--size=1G", "--rw=randrw", "--rwmixread=100", "--stonewall", "--group_reporting", "--numjobs={0}".format(job['numjobs']), "--time_based", "--runtime={0}".format(job['timeout']) ]) if job['s']: if job['iops']: ss = 'iops' else: ss = 'bw' if job['slope']: ss += "_slope" ss += ":" + str(job['ss_limit']) if job['pct']: ss += '%' parameters.extend([ '--ss_dur={0}'.format(job['ss_dur']), '--ss={0}'.format(ss), '--ss_ramp={0}'.format(job['ss_ramp']) ]) output = subprocess.call([args.fio] + parameters) with open(tf, 'r') as source: jsondata = json.loads(source.read()) source.close() for jsonjob in jsondata['jobs']: line = "{0}".format(jsonjob['job options']['name']) if job['s']: if jsonjob['steadystate']['attained'] == 1: # check runtime >= ss_dur + ss_ramp, check criterion, check criterion < limit mintime = (job['ss_dur'] + job['ss_ramp']) * 1000 actual = jsonjob['read']['runtime'] if mintime > actual: line = 'FAILED ' + line + ' ss attained, runtime {0} < ss_dur {1} + ss_ramp {2}'.format(actual, job['ss_dur'], job['ss_ramp']) failed = failed + 1 else: line = line + ' ss attained, runtime {0} > ss_dur {1} + ss_ramp {2},'.format(actual, job['ss_dur'], job['ss_ramp']) objsame, met, mean, target = check(data=jsonjob['steadystate']['data'], iops=job['iops'], slope=job['slope'], pct=job['pct'], limit=job['ss_limit'], dur=job['ss_dur'], criterion=jsonjob['steadystate']['criterion']) if not objsame: line = 'FAILED ' + line + ' fio criterion {0} != calculated criterion {1} '.format(jsonjob['steadystate']['criterion'], target) failed = failed + 1 else: if met: line = 'PASSED ' + line + ' target {0} < limit {1}'.format(target, job['ss_limit']) passed = passed + 1 else: line = 'FAILED ' + line + ' target {0} < limit {1} but fio reports ss not attained '.format(target, job['ss_limit']) failed = failed + 1 else: # check runtime, confirm criterion calculation, and confirm that criterion was not met expected = job['timeout'] * 1000 actual = jsonjob['read']['runtime'] if abs(expected - actual) > 50: line = 'FAILED ' + line + ' ss not attained, expected runtime {0} != actual runtime {1}'.format(expected, actual) else: line = line + ' ss not attained, runtime {0} != ss_dur {1} + ss_ramp {2},'.format(actual, job['ss_dur'], job['ss_ramp']) objsame, met, mean, target = check(data=jsonjob['steadystate']['data'], iops=job['iops'], slope=job['slope'], pct=job['pct'], limit=job['ss_limit'], dur=job['ss_dur'], criterion=jsonjob['steadystate']['criterion']) if not objsame: if actual > (job['ss_dur'] + job['ss_ramp'])*1000: line = 'FAILED ' + line + ' fio criterion {0} != calculated criterion {1} '.format(jsonjob['steadystate']['criterion'], target) failed = failed + 1 else: line = 'PASSED ' + line + ' fio criterion {0} == 0.0 since ss_dur + ss_ramp has not elapsed '.format(jsonjob['steadystate']['criterion']) passed = passed + 1 else: if met: line = 'FAILED ' + line + ' target {0} < threshold {1} but fio reports ss not attained '.format(target, job['ss_limit']) failed = failed + 1 else: line = 'PASSED ' + line + ' criterion {0} > threshold {1}'.format(target, job['ss_limit']) passed = passed + 1 else: expected = job['timeout'] * 1000 actual = jsonjob['read']['runtime'] if abs(expected - actual) > 50: result = 'FAILED ' failed = failed + 1 else: result = 'PASSED ' passed = passed + 1 line = result + line + ' no ss, expected runtime {0} ~= actual runtime {1}'.format(expected, actual) print(line) if 'steadystate' in jsonjob: pp.pprint(jsonjob['steadystate']) jobnum += 1 print("{0} test(s) PASSED, {1} test(s) FAILED".format(passed,failed)) sys.exit(failed) fio-3.39/t/stest.c000066400000000000000000000042521476262051600140120ustar00rootroot00000000000000#include #include #include #include "../smalloc.h" #include "../flist.h" #include "../arch/arch.h" #include "debug.h" #define MAGIC1 0xa9b1c8d2 #define MAGIC2 0xf0a1e9b3 #define LOOPS 32 #define MAXSMALLOC 120*1024*1024UL #define LARGESMALLOC 128*1024U struct elem { unsigned int magic1; struct flist_head list; unsigned int magic2; unsigned int size; }; static FLIST_HEAD(list); static int do_rand_allocs(void) { unsigned int i, size, nr, rounds = 0, ret = 0; unsigned long total; struct elem *e; bool error; char *c; while (rounds++ < LOOPS) { #ifdef STEST_SEED srand(MAGIC1); #endif error = false; nr = total = 0; while (total < MAXSMALLOC) { size = 8 * sizeof(struct elem) + (int) (999.0 * (rand() / (RAND_MAX + 1.0))); e = scalloc(1, size); if (!e) { printf("fail at %lu, size %u\n", total, size); ret++; break; } c = (char *)e; for (i = 0; i < size; i++) { if (*(c+i) != 0) { printf("buffer not cleared at %lu, size %u\n", total, size); ret++; break; } } /* stop the while loop if buffer was not cleared */ if (i < size) break; e->magic1 = MAGIC1; e->magic2 = MAGIC2; e->size = size; total += size; flist_add_tail(&e->list, &list); nr++; } printf("Got items: %u\n", nr); while (!flist_empty(&list)) { e = flist_entry(list.next, struct elem, list); assert(e->magic1 == MAGIC1); assert(e->magic2 == MAGIC2); total -= e->size; flist_del(&e->list); sfree(e); if (!error) { e = scalloc(1, LARGESMALLOC); if (!e) { ret++; printf("failure allocating %u bytes at %lu allocated during sfree phase\n", LARGESMALLOC, total); break; } c = (char *)e; for (i = 0; i < LARGESMALLOC; i++) { if (*(c+i) != 0) { error = true; ret++; printf("large buffer not cleared at %lu, size %u\n", total, size); break; } } sfree(e); } } } return ret; } int main(int argc, char *argv[]) { int ret; arch_init(argv); sinit(); debug_init(); ret = do_rand_allocs(); smalloc_debug(0); /* TODO: check that free and total blocks ** match */ scleanup(); return ret; } fio-3.39/t/strided.py000077500000000000000000000307111476262051600145160ustar00rootroot00000000000000#!/usr/bin/env python3 """ # strided.py # # Test zonemode=strided. This uses the null ioengine when no file is # specified. If a file is specified, use it for randdom read testing. # Some of the zoneranges in the tests are 16MiB. So when using a file # a minimum size of 64MiB is recommended. # # USAGE # python strided.py fio-executable [-f file/device] # # EXAMPLES # python t/strided.py ./fio # python t/strided.py ./fio -f /dev/sda # dd if=/dev/zero of=temp bs=1M count=64 # python t/strided.py ./fio -f temp # # ===TEST MATRIX=== # # --zonemode=strided, zoneskip unset # w/ randommap and LFSR # zonesize=zonerange all blocks in zonerange touched # zonesize>zonerange all blocks touched and roll-over back into zone # zonesize= self.fio_opts['filesize']: zonestart = 0 if 'offset' not in self.fio_opts else self.fio_opts['offset'] iosperzone = iosperzone + 1 tokens = line.split(',') offset = int(tokens[4]) if offset < zonestart or offset >= zonestart + self.fio_opts['zonerange']: print(f"Offset {offset} outside of zone starting at {zonestart}") return # skip next section if norandommap is enabled with no # random_generator or with a random_generator != lfsr if 'norandommap' in self.fio_opts: if 'random_generator' in self.fio_opts: if self.fio_opts['random_generator'] != 'lfsr': continue else: continue # we either have a random map enabled or we # are using an LFSR # so all blocks should be unique and we should have # covered the entire zone when iosperzone % iosperrange == 0 block = (offset - zonestart) / self.fio_opts['bs'] if block in zoneset: print(f"Offset {offset} in zone already touched") return zoneset.add(block) if iosperzone % iosperrange == 0: if len(zoneset) != iosperrange: print(f"Expected {iosperrange} blocks in zone but only saw {len(zoneset)}") return zoneset = set() TEST_LIST = [ # randommap enabled { "test_id": 1, "fio_opts": { "zonerange": 4096, "zonesize": 4096, "bs": 4096, "offset": 8*4096, "size": 16*4096, "io_size": 16*4096, }, "test_class": StridedTest, }, { "test_id": 2, "fio_opts": { "zonerange": 4096, "zonesize": 4096, "bs": 4096, "size": 16*4096, "io_size": 16*4096, }, "test_class": StridedTest, }, { "test_id": 3, "fio_opts": { "zonerange": 16*1024*1024, "zonesize": 16*1024*1024, "bs": 4096, "size": 256*1024*1024, "io_size": 256*1024*204, }, "test_class": StridedTest, }, { "test_id": 4, "fio_opts": { "zonerange": 4096, "zonesize": 4*4096, "bs": 4096, "size": 16*4096, "io_size": 16*4096, }, "test_class": StridedTest, }, { "test_id": 5, "fio_opts": { "zonerange": 16*1024*1024, "zonesize": 32*1024*1024, "bs": 4096, "size": 256*1024*1024, "io_size": 256*1024*204, }, "test_class": StridedTest, }, { "test_id": 6, "fio_opts": { "zonerange": 8192, "zonesize": 4096, "bs": 4096, "size": 16*4096, "io_size": 16*4096, }, "test_class": StridedTest, }, { "test_id": 7, "fio_opts": { "zonerange": 16*1024*1024, "zonesize": 8*1024*1024, "bs": 4096, "size": 256*1024*1024, "io_size": 256*1024*204, }, "test_class": StridedTest, }, # lfsr { "test_id": 8, "fio_opts": { "random_generator": "lfsr", "zonerange": 4096*1024, "zonesize": 4096*1024, "bs": 4096, "offset": 8*4096*1024, "size": 16*4096*1024, "io_size": 16*4096*1024, }, "test_class": StridedTest, }, { "test_id": 9, "fio_opts": { "random_generator": "lfsr", "zonerange": 4096*1024, "zonesize": 4096*1024, "bs": 4096, "size": 16*4096*1024, "io_size": 16*4096*1024, }, "test_class": StridedTest, }, { "test_id": 10, "fio_opts": { "random_generator": "lfsr", "zonerange": 16*1024*1024, "zonesize": 16*1024*1024, "bs": 4096, "size": 256*1024*1024, "io_size": 256*1024*204, }, "test_class": StridedTest, }, { "test_id": 11, "fio_opts": { "random_generator": "lfsr", "zonerange": 4096*1024, "zonesize": 4*4096*1024, "bs": 4096, "size": 16*4096*1024, "io_size": 16*4096*1024, }, "test_class": StridedTest, }, { "test_id": 12, "fio_opts": { "random_generator": "lfsr", "zonerange": 16*1024*1024, "zonesize": 32*1024*1024, "bs": 4096, "size": 256*1024*1024, "io_size": 256*1024*204, }, "test_class": StridedTest, }, { "test_id": 13, "fio_opts": { "random_generator": "lfsr", "zonerange": 8192*1024, "zonesize": 4096*1024, "bs": 4096, "size": 16*4096*1024, "io_size": 16*4096*1024, }, "test_class": StridedTest, }, { "test_id": 14, "fio_opts": { "random_generator": "lfsr", "zonerange": 16*1024*1024, "zonesize": 8*1024*1024, "bs": 4096, "size": 256*1024*1024, "io_size": 256*1024*204, }, "test_class": StridedTest, }, # norandommap { "test_id": 15, "fio_opts": { "norandommap": 1, "zonerange": 4096, "zonesize": 4096, "bs": 4096, "offset": 8*4096, "size": 16*4096, "io_size": 16*4096, }, "test_class": StridedTest, }, { "test_id": 16, "fio_opts": { "norandommap": 1, "zonerange": 4096, "zonesize": 4096, "bs": 4096, "size": 16*4096, "io_size": 16*4096, }, "test_class": StridedTest, }, { "test_id": 17, "fio_opts": { "norandommap": 1, "zonerange": 16*1024*1024, "zonesize": 16*1024*1024, "bs": 4096, "size": 256*1024*1024, "io_size": 256*1024*204, }, "test_class": StridedTest, }, { "test_id": 18, "fio_opts": { "norandommap": 1, "zonerange": 4096, "zonesize": 8192, "bs": 4096, "size": 16*4096, "io_size": 16*4096, }, "test_class": StridedTest, }, { "test_id": 19, "fio_opts": { "norandommap": 1, "zonerange": 16*1024*1024, "zonesize": 32*1024*1024, "bs": 4096, "size": 256*1024*1024, "io_size": 256*1024*204, }, "test_class": StridedTest, }, { "test_id": 20, "fio_opts": { "norandommap": 1, "zonerange": 8192, "zonesize": 4096, "bs": 4096, "size": 16*4096, "io_size": 16*4096, }, "test_class": StridedTest, }, { "test_id": 21, "fio_opts": { "norandommap": 1, "zonerange": 16*1024*1024, "zonesize": 8*1024*1024, "bs": 4096, "size": 256*1024*1024, "io_size": 256*1024*1024, }, "test_class": StridedTest, }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') parser.add_argument('--dut', help='target file/device to test.') args = parser.parse_args() return args def main(): """Run zonemode=strided tests.""" args = parse_args() artifact_root = args.artifact_root if args.artifact_root else \ f"strided-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = 'fio' print(f"fio path is {fio_path}") if args.dut: statinfo = os.stat(args.dut) filesize = statinfo.st_size if filesize == 0: f = os.open(args.dut, os.O_RDONLY) filesize = os.lseek(f, 0, os.SEEK_END) os.close(f) for test in TEST_LIST: if args.dut: test['fio_opts']['filename'] = os.path.abspath(args.dut) test['fio_opts']['filesize'] = filesize else: test['fio_opts']['filesize'] = test['fio_opts']['size'] test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'strided', } _, failed, _ = run_fio_tests(TEST_LIST, test_env, args) sys.exit(failed) if __name__ == '__main__': main() fio-3.39/t/time-test.c000066400000000000000000000400251476262051600145610ustar00rootroot00000000000000/* * Carry out arithmetic to explore conversion of CPU clock ticks to nsec * * When we use the CPU clock for timing, we do the following: * * 1) Calibrate the CPU clock to relate the frequency of CPU clock ticks * to actual time. * * Using gettimeofday() or clock_gettime(), count how many CPU clock * ticks occur per usec * * 2) Calculate conversion factors so that we can ultimately convert * from clocks ticks to nsec with * nsec = (ticks * clock_mult) >> clock_shift * * This is equivalent to * nsec = ticks * (MULTIPLIER / cycles_per_nsec) / MULTIPLIER * where * clock_mult = MULTIPLIER / cycles_per_nsec * MULTIPLIER = 2^clock_shift * * It would be simpler to just calculate nsec = ticks / cycles_per_nsec, * but all of this is necessary because of rounding when calculating * cycles_per_nsec. With a 3.0GHz CPU, cycles_per_nsec would simply * be 3. But with a 3.33GHz CPU or a 4.5GHz CPU, the fractional * portion is lost with integer arithmetic. * * This multiply and shift calculation also has a performance benefit * as multiplication and bit shift operations are faster than integer * division. * * 3) Dynamically determine clock_shift and clock_mult at run time based * on MAX_CLOCK_SEC and cycles_per_usec. MAX_CLOCK_SEC is the maximum * duration for which the conversion will be valid. * * The primary constraint is that (ticks * clock_mult) must not overflow * when ticks is at its maximum value. * * So we have * max_ticks = MAX_CLOCK_SEC * 1000000000 * cycles_per_nsec * max_ticks * clock_mult <= ULLONG_MAX * max_ticks * MULTIPLIER / cycles_per_nsec <= ULLONG_MAX * MULTIPLIER <= ULLONG_MAX * cycles_per_nsec / max_ticks * * Then choose the largest clock_shift that satisfies * 2^clock_shift <= ULLONG_MAX * cycles_per_nsec / max_ticks * * Finally calculate the appropriate clock_mult associated with clock_shift * clock_mult = 2^clock_shift / cycles_per_nsec * * 4) In the code below we have cycles_per_usec and use * cycles_per_nsec = cycles_per_usec / 1000 * * * The code below implements 4 clock tick to nsec conversion strategies * * i) 64-bit arithmetic for the (ticks * clock_mult) product with the * conversion valid for at most MAX_CLOCK_SEC * * ii) NOT IMPLEMENTED Use 64-bit integers to emulate 128-bit multiplication * for the (ticks * clock_mult) product * * iii) 64-bit arithmetic with clock ticks to nsec conversion occurring in * two stages. The first stage counts the number of discrete, large chunks * of time that have elapsed. To this is added the time represented by * the remaining clock ticks. The advantage of this strategy is better * accuracy because the (ticks * clock_mult) product used for final * fractional chunk * * iv) 64-bit arithmetic with the clock ticks to nsec conversion occurring in * two stages. This is carried out using locks to update the number of * large time chunks (MAX_CLOCK_SEC_2STAGE) that have elapsed. * * v) 128-bit arithmetic used for the clock ticks to nsec conversion. * */ #include #include #include #include #include #include "lib/seqlock.h" #define DEBUG 0 #define MAX_CLOCK_SEC 365*24*60*60ULL #define MAX_CLOCK_SEC_2STAGE 60*60ULL #define dprintf(...) if (DEBUG) { printf(__VA_ARGS__); } enum { __CLOCK64_BIT = 1 << 0, __CLOCK128_BIT = 1 << 1, __CLOCK_MULT_SHIFT = 1 << 2, __CLOCK_EMULATE_128 = 1 << 3, __CLOCK_2STAGE = 1 << 4, __CLOCK_LOCK = 1 << 5, CLOCK64_MULT_SHIFT = __CLOCK64_BIT | __CLOCK_MULT_SHIFT, CLOCK64_EMULATE_128 = __CLOCK64_BIT | __CLOCK_EMULATE_128, CLOCK64_2STAGE = __CLOCK64_BIT | __CLOCK_2STAGE, CLOCK64_LOCK = __CLOCK64_BIT | __CLOCK_LOCK, CLOCK128_MULT_SHIFT = __CLOCK128_BIT | __CLOCK_MULT_SHIFT, }; static struct seqlock clock_seqlock; static unsigned long long cycles_start; static unsigned long long elapsed_nsec; static unsigned int max_cycles_shift; static unsigned long long max_cycles_mask; static unsigned long long nsecs_for_max_cycles; static unsigned int clock_shift; static unsigned long long clock_mult; static unsigned long long *nsecs; static unsigned long long clock_mult64_128[2]; static __uint128_t clock_mult128; /* * Functions for carrying out 128-bit * arithmetic using 64-bit integers * * 128-bit integers are stored as * arrays of two 64-bit integers * * Ordering is little endian * * a[0] has the less significant bits * a[1] has the more significant bits * * NOT FULLY IMPLEMENTED */ static void do_mult(unsigned long long a[2], unsigned long long b, unsigned long long product[2]) { product[0] = product[1] = 0; return; } static void do_div(unsigned long long a[2], unsigned long long b, unsigned long long c[2]) { return; } static void do_shift64(unsigned long long a[2], unsigned int count) { a[0] = a[1] >> (count-64); a[1] = 0; } static void do_shift(unsigned long long a[2], unsigned int count) { if (count > 64) do_shift64(a, count); else { while (count--) { a[0] >>= 1; a[0] |= a[1] << 63; a[1] >>= 1; } } } static void update_clock(unsigned long long t) { write_seqlock_begin(&clock_seqlock); elapsed_nsec = (t >> max_cycles_shift) * nsecs_for_max_cycles; cycles_start = t & ~max_cycles_mask; write_seqlock_end(&clock_seqlock); } static unsigned long long _get_nsec(int mode, unsigned long long t) { switch(mode) { case CLOCK64_MULT_SHIFT: return (t * clock_mult) >> clock_shift; case CLOCK64_EMULATE_128: { unsigned long long product[2] = { }; do_mult(clock_mult64_128, t, product); do_shift(product, clock_shift); return product[0]; } case CLOCK64_2STAGE: { unsigned long long multiples, nsec; multiples = t >> max_cycles_shift; dprintf("multiples=%llu\n", multiples); nsec = multiples * nsecs_for_max_cycles; nsec += ((t & max_cycles_mask) * clock_mult) >> clock_shift; return nsec; } case CLOCK64_LOCK: { unsigned int seq; unsigned long long nsec; do { seq = read_seqlock_begin(&clock_seqlock); nsec = elapsed_nsec; nsec += ((t - cycles_start) * clock_mult) >> clock_shift; } while (read_seqlock_retry(&clock_seqlock, seq)); return nsec; } case CLOCK128_MULT_SHIFT: return (unsigned long long)((t * clock_mult128) >> clock_shift); default: assert(0); } } static unsigned long long get_nsec(int mode, unsigned long long t) { if (mode == CLOCK64_LOCK) { update_clock(t); } return _get_nsec(mode, t); } static void calc_mult_shift(int mode, void *mult, unsigned int *shift, unsigned long long max_sec, unsigned long long cycles_per_usec) { unsigned long long max_ticks; max_ticks = max_sec * cycles_per_usec * 1000000ULL; switch (mode) { case CLOCK64_MULT_SHIFT: { unsigned long long max_mult, tmp; unsigned int sft = 0; /* * Calculate the largest multiplier that will not * produce a 64-bit overflow in the multiplication * step of the clock ticks to nsec conversion */ max_mult = ULLONG_MAX / max_ticks; dprintf("max_ticks=%llu, __builtin_clzll=%d, max_mult=%llu\n", max_ticks, __builtin_clzll(max_ticks), max_mult); /* * Find the largest shift count that will produce * a multiplier less than max_mult */ tmp = max_mult * cycles_per_usec / 1000; while (tmp > 1) { tmp >>= 1; sft++; dprintf("tmp=%llu, sft=%u\n", tmp, sft); } *shift = sft; *((unsigned long long *)mult) = (unsigned long long) ((1ULL << sft) * 1000 / cycles_per_usec); break; } case CLOCK64_EMULATE_128: { unsigned long long max_mult[2], tmp[2] = { }; unsigned int sft = 0; /* * Calculate the largest multiplier that will not * produce a 128-bit overflow in the multiplication * step of the clock ticks to nsec conversion, * but use only 64-bit integers in the process */ max_mult[0] = max_mult[1] = ULLONG_MAX; do_div(max_mult, max_ticks, max_mult); dprintf("max_ticks=%llu, __builtin_clzll=%d, max_mult=0x%016llx%016llx\n", max_ticks, __builtin_clzll(max_ticks), max_mult[1], max_mult[0]); /* * Find the largest shift count that will produce * a multiplier less than max_mult */ do_div(max_mult, cycles_per_usec, tmp); do_div(tmp, 1000ULL, tmp); while (tmp[0] > 1 || tmp[1] > 1) { do_shift(tmp, 1); sft++; dprintf("tmp=0x%016llx%016llx, sft=%u\n", tmp[1], tmp[0], sft); } *shift = sft; // *((unsigned long long *)mult) = (__uint128_t) (((__uint128_t)1 << sft) * 1000 / cycles_per_usec); break; } case CLOCK64_2STAGE: { unsigned long long tmp; /* * This clock tick to nsec conversion requires two stages. * * Stage 1: Determine how many ~MAX_CLOCK_SEC_2STAGE periods worth of clock ticks * have elapsed and set nsecs to the appropriate value for those * ~MAX_CLOCK_SEC_2STAGE periods. * Stage 2: Subtract the ticks for the elapsed ~MAX_CLOCK_SEC_2STAGE periods from * Stage 1. Convert remaining clock ticks to nsecs and add to previously * set nsec value. * * To optimize the arithmetic operations, use the greatest power of 2 ticks * less than the number of ticks in MAX_CLOCK_SEC_2STAGE seconds. * */ // Use a period shorter than MAX_CLOCK_SEC here for better accuracy calc_mult_shift(CLOCK64_MULT_SHIFT, mult, shift, MAX_CLOCK_SEC_2STAGE, cycles_per_usec); // Find the greatest power of 2 clock ticks that is less than the ticks in MAX_CLOCK_SEC_2STAGE max_cycles_shift = max_cycles_mask = 0; tmp = MAX_CLOCK_SEC_2STAGE * 1000000ULL * cycles_per_usec; dprintf("tmp=%llu, max_cycles_shift=%u\n", tmp, max_cycles_shift); while (tmp > 1) { tmp >>= 1; max_cycles_shift++; dprintf("tmp=%llu, max_cycles_shift=%u\n", tmp, max_cycles_shift); } // if use use (1ULL << max_cycles_shift) * 1000 / cycles_per_usec here we will // have a discontinuity every (1ULL << max_cycles_shift) cycles nsecs_for_max_cycles = (1ULL << max_cycles_shift) * *((unsigned long long *)mult) >> *shift; // Use a bitmask to calculate ticks % (1ULL << max_cycles_shift) for (tmp = 0; tmp < max_cycles_shift; tmp++) max_cycles_mask |= 1ULL << tmp; dprintf("max_cycles_shift=%u, 2^max_cycles_shift=%llu, nsecs_for_max_cycles=%llu, max_cycles_mask=%016llx\n", max_cycles_shift, (1ULL << max_cycles_shift), nsecs_for_max_cycles, max_cycles_mask); break; } case CLOCK64_LOCK: { /* * This clock tick to nsec conversion also requires two stages. * * Stage 1: Add to nsec the current running total of elapsed long periods * Stage 2: Subtract from clock ticks the tick count corresponding to the * most recently elapsed long period. Convert the remaining ticks to * nsec and add to the previous nsec value. * * In practice the elapsed nsec from Stage 1 and the tick count subtracted * in Stage 2 will be maintained in a separate thread. * */ calc_mult_shift(CLOCK64_2STAGE, mult, shift, MAX_CLOCK_SEC, cycles_per_usec); cycles_start = 0; break; } case CLOCK128_MULT_SHIFT: { __uint128_t max_mult, tmp; unsigned int sft = 0; /* * Calculate the largest multiplier that will not * produce a 128-bit overflow in the multiplication * step of the clock ticks to nsec conversion */ max_mult = ((__uint128_t) ULLONG_MAX) << 64 | ULLONG_MAX; max_mult /= max_ticks; dprintf("max_ticks=%llu, __builtin_clzll=%d, max_mult=0x%016llx%016llx\n", max_ticks, __builtin_clzll(max_ticks), (unsigned long long) (max_mult >> 64), (unsigned long long) max_mult); /* * Find the largest shift count that will produce * a multiplier less than max_mult */ tmp = max_mult * cycles_per_usec / 1000; while (tmp > 1) { tmp >>= 1; sft++; dprintf("tmp=0x%016llx%016llx, sft=%u\n", (unsigned long long) (tmp >> 64), (unsigned long long) tmp, sft); } *shift = sft; *((__uint128_t *)mult) = (__uint128_t) (((__uint128_t)1 << sft) * 1000 / cycles_per_usec); break; } } } static int discontinuity(int mode, int delta_ticks, int delta_nsec, unsigned long long start, unsigned long len) { int i; unsigned long mismatches = 0, bad_mismatches = 0; unsigned long long delta, max_mismatch = 0; unsigned long long *ns = nsecs; for (i = 0; i < len; ns++, i++) { *ns = get_nsec(mode, start + i); if (i - delta_ticks >= 0) { if (*ns > *(ns - delta_ticks)) delta = *ns - *(ns - delta_ticks); else delta = *(ns - delta_ticks) - *ns; if (delta > delta_nsec) delta -= delta_nsec; else delta = delta_nsec - delta; if (delta) { mismatches++; if (delta > 1) bad_mismatches++; if (delta > max_mismatch) max_mismatch = delta; } } if (!bad_mismatches) assert(max_mismatch == 0 || max_mismatch == 1); if (!mismatches) assert(max_mismatch == 0); } printf("%lu discontinuities (%lu%%) (%lu errors > 1ns, max delta = %lluns) for ticks = %llu...%llu\n", mismatches, (mismatches * 100) / len, bad_mismatches, max_mismatch, start, start + len - 1); return mismatches; } #define MIN_TICKS 1ULL #define LEN 1000000000ULL #define NSEC_ONE_SEC 1000000000ULL #define TESTLEN 9 static long long test_clock(int mode, int cycles_per_usec, int fast_test, int quiet, int delta_ticks, int delta_nsec) { int i; long long delta; unsigned long long max_ticks; unsigned long long nsecs; void *mult; unsigned long long test_ns[TESTLEN] = {NSEC_ONE_SEC, NSEC_ONE_SEC, NSEC_ONE_SEC, NSEC_ONE_SEC*60, NSEC_ONE_SEC*60*60, NSEC_ONE_SEC*60*60*2, NSEC_ONE_SEC*60*60*4, NSEC_ONE_SEC*60*60*8, NSEC_ONE_SEC*60*60*24}; unsigned long long test_ticks[TESTLEN]; max_ticks = MAX_CLOCK_SEC * (unsigned long long) cycles_per_usec * 1000000ULL; switch(mode) { case CLOCK64_MULT_SHIFT: mult = &clock_mult; break; case CLOCK64_EMULATE_128: mult = clock_mult64_128; break; case CLOCK64_2STAGE: mult = &clock_mult; break; case CLOCK64_LOCK: mult = &clock_mult; break; case CLOCK128_MULT_SHIFT: mult = &clock_mult128; break; default: assert(0); } calc_mult_shift(mode, mult, &clock_shift, MAX_CLOCK_SEC, cycles_per_usec); nsecs = get_nsec(mode, max_ticks); delta = nsecs/1000000 - MAX_CLOCK_SEC*1000; if (mode == CLOCK64_2STAGE) { test_ns[0] = nsecs_for_max_cycles - 1; test_ns[1] = nsecs_for_max_cycles; test_ticks[0] = (1ULL << max_cycles_shift) - 1; test_ticks[1] = (1ULL << max_cycles_shift); for (i = 2; i < TESTLEN; i++) test_ticks[i] = test_ns[i] / 1000 * cycles_per_usec; } else { for (i = 0; i < TESTLEN; i++) test_ticks[i] = test_ns[i] / 1000 * cycles_per_usec; } if (!quiet) { printf("cycles_per_usec=%d, delta_ticks=%d, delta_nsec=%d, max_ticks=%llu, shift=%u, 2^shift=%llu\n", cycles_per_usec, delta_ticks, delta_nsec, max_ticks, clock_shift, (1ULL << clock_shift)); switch(mode) { case CLOCK64_LOCK: case CLOCK64_2STAGE: case CLOCK64_MULT_SHIFT: { printf("clock_mult=%llu, clock_mult / 2^clock_shift=%f\n", clock_mult, (double) clock_mult / (1ULL << clock_shift)); break; } case CLOCK64_EMULATE_128: { printf("clock_mult=0x%016llx%016llx\n", clock_mult64_128[1], clock_mult64_128[0]); break; } case CLOCK128_MULT_SHIFT: { printf("clock_mult=0x%016llx%016llx\n", (unsigned long long) (clock_mult128 >> 64), (unsigned long long) clock_mult128); break; } } printf("get_nsec(max_ticks) = %lluns, should be %lluns, error<=abs(%lld)ms\n", nsecs, MAX_CLOCK_SEC*1000000000ULL, delta); } for (i = 0; i < TESTLEN; i++) { nsecs = get_nsec(mode, test_ticks[i]); delta = nsecs > test_ns[i] ? nsecs - test_ns[i] : test_ns[i] - nsecs; if (!quiet || delta > 0) printf("get_nsec(%llu)=%llu, expected %llu, delta=%llu\n", test_ticks[i], nsecs, test_ns[i], delta); } if (!fast_test) { discontinuity(mode, delta_ticks, delta_nsec, max_ticks - LEN + 1, LEN); discontinuity(mode, delta_ticks, delta_nsec, MIN_TICKS, LEN); } if (!quiet) printf("\n\n"); return delta; } int main(int argc, char *argv[]) { nsecs = malloc(LEN * sizeof(unsigned long long)); test_clock(CLOCK64_LOCK, 3333, 1, 0, 0, 0); test_clock(CLOCK64_LOCK, 1000, 1, 0, 1, 1); test_clock(CLOCK64_LOCK, 1100, 1, 0, 11, 10); test_clock(CLOCK64_LOCK, 3000, 1, 0, 3, 1); test_clock(CLOCK64_LOCK, 3333, 1, 0, 3333, 1000); test_clock(CLOCK64_LOCK, 3392, 1, 0, 424, 125); test_clock(CLOCK64_LOCK, 4500, 1, 0, 9, 2); test_clock(CLOCK64_LOCK, 5000, 1, 0, 5, 1); free(nsecs); return 0; } fio-3.39/t/verify-state.c000066400000000000000000000066471476262051600153040ustar00rootroot00000000000000/* * Dump the contents of a verify state file in plain text */ #include #include #include #include #include #include #include #include #include "../log.h" #include "../os/os.h" #include "../verify-state.h" #include "../crc/crc32c.h" #include "debug.h" static void show_s(struct thread_io_list *s, unsigned int no_s) { int i; printf("Thread:\t\t%u\n", no_s); printf("Name:\t\t%s\n", s->name); printf("Completions:\t%llu\n", (unsigned long long) s->no_comps); printf("Depth:\t\t%llu\n", (unsigned long long) s->depth); printf("Max completions per file:\t\t%lu\n", (unsigned long) s->max_no_comps_per_file); printf("Number IOs:\t%llu\n", (unsigned long long) s->numberio); printf("Index:\t\t%llu\n", (unsigned long long) s->index); printf("Completions:\n"); if (!s->no_comps) return; for (i = s->no_comps - 1; i >= 0; i--) { printf("\t(file=%2llu) %llu\n", (unsigned long long) s->comps[i].fileno, (unsigned long long) s->comps[i].offset); } } static void show(struct thread_io_list *s, size_t size) { int no_s; no_s = 0; do { int i; s->no_comps = le64_to_cpu(s->no_comps); s->depth = le32_to_cpu(s->depth); s->max_no_comps_per_file = le32_to_cpu(s->max_no_comps_per_file); s->nofiles = le32_to_cpu(s->nofiles); s->numberio = le64_to_cpu(s->numberio); s->index = le64_to_cpu(s->index); for (i = 0; i < s->no_comps; i++) { s->comps[i].fileno = le64_to_cpu(s->comps[i].fileno); s->comps[i].offset = le64_to_cpu(s->comps[i].offset); } show_s(s, no_s); no_s++; size -= __thread_io_list_sz(s->max_no_comps_per_file, s->nofiles); s = (struct thread_io_list *)((char *) s + __thread_io_list_sz(s->max_no_comps_per_file, s->nofiles)); } while (size != 0); } static void show_verify_state(void *buf, size_t size) { struct verify_state_hdr *hdr = buf; struct thread_io_list *s; uint32_t crc; hdr->version = le64_to_cpu(hdr->version); hdr->size = le64_to_cpu(hdr->size); hdr->crc = le64_to_cpu(hdr->crc); printf("Version:\t0x%x\n", (unsigned int) hdr->version); printf("Size:\t\t%u\n", (unsigned int) hdr->size); printf("CRC:\t\t0x%x\n", (unsigned int) hdr->crc); size -= sizeof(*hdr); if (hdr->size != size) { log_err("Size mismatch\n"); return; } s = buf + sizeof(*hdr); crc = fio_crc32c((unsigned char *) s, hdr->size); if (crc != hdr->crc) { log_err("crc mismatch %x != %x\n", crc, (unsigned int) hdr->crc); return; } if (hdr->version == 0x04) show(s, size); else log_err("Unsupported version %d\n", (int) hdr->version); } static int show_file(const char *file) { struct stat sb; void *buf; int ret, fd; fd = open(file, O_RDONLY); if (fd < 0) { log_err("open %s: %s\n", file, strerror(errno)); return 1; } if (fstat(fd, &sb) < 0) { log_err("stat: %s\n", strerror(errno)); close(fd); return 1; } buf = malloc(sb.st_size); ret = read(fd, buf, sb.st_size); if (ret < 0) { log_err("read: %s\n", strerror(errno)); close(fd); free(buf); return 1; } else if (ret != sb.st_size) { log_err("Short read\n"); close(fd); free(buf); return 1; } close(fd); show_verify_state(buf, sb.st_size); free(buf); return 0; } int main(int argc, char *argv[]) { int i, ret; debug_init(); if (argc < 2) { log_err("Usage: %s \n", argv[0]); return 1; } ret = 0; for (i = 1; i < argc; i++) { ret = show_file(argv[i]); if (ret) break; } return ret; } fio-3.39/t/verify.py000077500000000000000000000617661476262051600144020ustar00rootroot00000000000000#!/usr/bin/env python3 """ # verify.py # # Test fio's verify options. # # USAGE # see python3 verify.py --help # # EXAMPLES # python3 t/verify.py # python3 t/verify.py --fio ./fio # # REQUIREMENTS # Python 3.6 # - 4 CPUs # """ import os import sys import time import errno import logging import argparse import platform import itertools from pathlib import Path from fiotestlib import FioJobCmdTest, run_fio_tests from fiotestcommon import SUCCESS_DEFAULT, SUCCESS_NONZERO, Requirements VERIFY_OPT_LIST = [ 'direct', 'iodepth', 'filesize', 'bs', 'time_based', 'runtime', 'io_size', 'offset', 'number_ios', 'output-format', 'directory', 'norandommap', 'numjobs', 'nrfiles', 'openfiles', 'cpus_allowed', 'fallocate', 'experimental_verify', 'verify_backlog', 'verify_backlog_batch', 'verify_interval', 'verify_offset', 'verify_async', 'verify_async_cpus', 'verify_pattern', 'verify_only', ] class VerifyTest(FioJobCmdTest): """ Verify test class. """ def setup(self, parameters): """Setup a test.""" fio_args = [ "--name=verify", "--fallocate=truncate", f"--ioengine={self.fio_opts['ioengine']}", f"--rw={self.fio_opts['rw']}", f"--verify={self.fio_opts['verify']}", f"--output={self.filenames['output']}", ] for opt in VERIFY_OPT_LIST: if opt in self.fio_opts: option = f"--{opt}={self.fio_opts[opt]}" fio_args.append(option) super().setup(fio_args) def check_result(self): super().check_result() if not self.passed: with open(self.filenames['stderr'], "r") as se: contents = se.read() logging.info("stderr: %s", contents) with open(self.filenames['stdout'], "r") as so: contents = so.read() logging.info("stdout: %s", contents) with open(self.filenames['output'], "r") as out: contents = out.read() logging.info("output: %s", contents) class VerifyCSUMTest(FioJobCmdTest): """ Verify test class. Run standard verify jobs, modify the data, and then run more verify jobs. Hopefully fio will detect that the data has chagned. """ @staticmethod def add_verify_opts(opt_list, adds): """Add optional options.""" fio_opts = [] for opt in adds: if opt in opt_list: option = f"--{opt}={opt_list[opt]}" fio_opts.append(option) return fio_opts def setup(self, parameters): """Setup a test.""" logging.debug("ioengine is %s", self.fio_opts['ioengine']) fio_args_base = [ "--fallocate=truncate", "--filename=verify", "--stonewall", f"--ioengine={self.fio_opts['ioengine']}", ] extra_options = self.add_verify_opts(self.fio_opts, VERIFY_OPT_LIST) verify_only = [ "--verify_only", f"--rw={self.fio_opts['rw']}", f"--verify={self.fio_opts['verify']}", ] + fio_args_base + extra_options verify_read = [ "--rw=randread" if 'rand' in self.fio_opts['rw'] else "--rw=read", f"--verify={self.fio_opts['verify']}", ] + fio_args_base + extra_options layout = [ "--name=layout", f"--rw={self.fio_opts['rw']}", f"--verify={self.fio_opts['verify']}", ] + fio_args_base + extra_options success_only = ["--name=success_only"] + verify_only success_read = ["--name=success_read"] + verify_read mangle = [ "--name=mangle", "--rw=randwrite", "--randrepeat=0", f"--bs={self.fio_opts['mangle_bs']}", "--number_ios=1", ] + fio_args_base + self.add_verify_opts(self.fio_opts, ['filesize']) failure_only = ["--name=failure_only"] + verify_only failure_read = ["--name=failure_read"] + verify_read fio_args = layout + success_only + success_read + mangle + failure_only + failure_read + [f"--output={self.filenames['output']}"] logging.debug("fio_args: %s", fio_args) super().setup(fio_args) def check_result(self): super().check_result() checked = {} for job in self.json_data['jobs']: if job['jobname'] == 'layout': checked[job['jobname']] = True if job['error']: self.passed = False self.failure_reason += " layout job failed" elif 'success' in job['jobname']: checked[job['jobname']] = True if job['error']: self.passed = False self.failure_reason += f" verify pass {job['jobname']} that should have succeeded actually failed" elif job['jobname'] == 'mangle': checked[job['jobname']] = True if job['error']: self.passed = False self.failure_reason += " mangle job failed" elif 'failure' in job['jobname']: checked[job['jobname']] = True if self.fio_opts['verify'] == 'null' and not job['error']: continue if job['error'] != errno.EILSEQ: self.passed = False self.failure_reason += f" verify job {job['jobname']} produced {job['error']} instead of errno {errno.EILSEQ} Illegal byte sequence" logging.debug(self.json_data) else: self.passed = False self.failure_reason += " unknown job name" if len(checked) != 6: self.passed = False self.failure_reason += " six phases not completed" with open(self.filenames['stderr'], "r") as se: contents = se.read() logging.debug("stderr: %s", contents) # # These tests exercise fio's decisions about verifying the sequence number and # random seed in the verify header. # TEST_LIST_HEADER = [ { # Basic test with options at default values "test_id": 2000, "fio_opts": { "ioengine": "libaio", "filesize": "1M", "bs": 4096, "output-format": "json", }, "test_class": VerifyTest, "success": SUCCESS_DEFAULT, }, { # Basic test with iodepth 16 "test_id": 2001, "fio_opts": { "ioengine": "libaio", "filesize": "1M", "bs": 4096, "iodepth": 16, "output-format": "json", }, "test_class": VerifyTest, "success": SUCCESS_DEFAULT, }, { # Basic test with 3 files "test_id": 2002, "fio_opts": { "ioengine": "libaio", "filesize": "1M", "bs": 4096, "nrfiles": 3, "output-format": "json", }, "test_class": VerifyTest, "success": SUCCESS_DEFAULT, }, { # Basic test with iodepth 16 and 3 files "test_id": 2003, "fio_opts": { "ioengine": "libaio", "filesize": "1M", "bs": 4096, "iodepth": 16, "nrfiles": 3, "output-format": "json", }, "test_class": VerifyTest, "success": SUCCESS_DEFAULT, }, ] # # These tests are mainly intended to assess the checksum functions. They write # out data, run some verify jobs, then modify the data, and try to verify the # data again, expecting to see failures. # TEST_LIST_CSUM = [ { # basic seq write verify job "test_id": 1000, "fio_opts": { "ioengine": "psync", "filesize": "1M", "bs": 4096, "rw": "write", "output-format": "json", }, "test_class": VerifyCSUMTest, "success": SUCCESS_NONZERO, }, { # basic rand write verify job "test_id": 1001, "fio_opts": { "ioengine": "psync", "filesize": "1M", "bs": 4096, "rw": "randwrite", "output-format": "json", }, "test_class": VerifyCSUMTest, "success": SUCCESS_NONZERO, }, { # basic libaio seq write test "test_id": 1002, "fio_opts": { "direct": 1, "ioengine": "libaio", "iodepth": 16, "filesize": "1M", "bs": 4096, "rw": "write", "output-format": "json", }, "test_class": VerifyCSUMTest, "success": SUCCESS_NONZERO, }, { # basic libaio rand write test "test_id": 1003, "fio_opts": { "direct": 1, "ioengine": "libaio", "iodepth": 16, "filesize": "1M", "bs": 4096, "rw": "randwrite", "output-format": "json", }, "test_class": VerifyCSUMTest, "success": SUCCESS_NONZERO, }, ] # # These tests are run for all combinations of data direction and checksum # methods. # TEST_LIST = [ { # norandommap with verify backlog "test_id": 1, "fio_opts": { "direct": 1, "ioengine": "libaio", "iodepth": 32, "filesize": "2M", "norandommap": 1, "bs": 512, "time_based": 1, "runtime": 3, "verify_backlog": 128, "verify_backlog_batch": 64, }, "test_class": VerifyTest, }, { # norandommap with verify offset and interval "test_id": 2, "fio_opts": { "direct": 1, "ioengine": "libaio", "iodepth": 32, "filesize": "2M", "io_size": "4M", "norandommap": 1, "bs": 4096, "verify_interval": 2048, "verify_offset": 1024, }, "test_class": VerifyTest, }, { # norandommap with verify offload to async threads "test_id": 3, "fio_opts": { "direct": 1, "ioengine": "libaio", "iodepth": 32, "filesize": "2M", "norandommap": 1, "bs": 4096, "cpus_allowed": "0-3", "verify_async": 2, "verify_async_cpus": "0-1", }, "test_class": VerifyTest, "requirements": [Requirements.not_macos, Requirements.cpucount4], # mac os does not support CPU affinity }, { # tausworthe combine all verify options "test_id": 4, "fio_opts": { "direct": 1, "ioengine": "libaio", "iodepth": 32, "filesize": "4M", "bs": 4096, "cpus_allowed": "0-3", "time_based": 1, "random_generator": "tausworthe", "runtime": 3, "verify_interval": 2048, "verify_offset": 1024, "verify_backlog": 128, "verify_backlog_batch": 128, "verify_async": 2, "verify_async_cpus": "0-1", }, "test_class": VerifyTest, "requirements": [Requirements.not_macos, Requirements.cpucount4], # mac os does not support CPU affinity }, { # norandommap combine all verify options "test_id": 5, "fio_opts": { "direct": 1, "ioengine": "libaio", "iodepth": 32, "filesize": "4M", "norandommap": 1, "bs": 4096, "cpus_allowed": "0-3", "time_based": 1, "runtime": 3, "verify_interval": 2048, "verify_offset": 1024, "verify_backlog": 128, "verify_backlog_batch": 128, "verify_async": 2, "verify_async_cpus": "0-1", }, "test_class": VerifyTest, "requirements": [Requirements.not_macos, Requirements.cpucount4], # mac os does not support CPU affinity }, { # multiple jobs and files with verify "test_id": 6, "fio_opts": { "direct": 1, "ioengine": "libaio", "iodepth": 32, "filesize": "512K", "nrfiles": 3, "openfiles": 2, "numjobs": 2, "norandommap": 1, "bs": 4096, "verify_interval": 2048, "verify_offset": 1024, "verify_backlog": 16, "verify_backlog_batch": 16, }, "test_class": VerifyTest, "requirements": [Requirements.not_macos,], # Skip this test on macOS because it is flaky. With rw=write it can # fail to complete even after 10min which prevents the rw=read instance # from passing because the read instance depends on the file created by # the write instance. See failure here: # https://github.com/vincentkfu/fio/actions/runs/13683127191/job/38260091800#step:14:258 }, ] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('-r', '--fio-root', help='fio root path') parser.add_argument('-d', '--debug', help='Enable debug messages', action='store_true') parser.add_argument('-f', '--fio', help='path to file executable (e.g., ./fio)') parser.add_argument('-a', '--artifact-root', help='artifact root directory') parser.add_argument('-c', '--complete', help='Enable all checksums', action='store_true') parser.add_argument('-s', '--skip', nargs='+', type=int, help='list of test(s) to skip') parser.add_argument('-o', '--run-only', nargs='+', type=int, help='list of test(s) to run, skipping all others') parser.add_argument('-k', '--skip-req', action='store_true', help='skip requirements checking') parser.add_argument('--csum', nargs='+', type=str, help='list of checksum methods to use, skipping all others') args = parser.parse_args() return args def verify_test_header(test_env, args, csum, mode, sequence): """ Adjust test arguments based on values of mode and sequence. Then run the tests. This function is intended to run a set of tests that test conditions under which the header random seed and sequence number are checked. The result should be a matrix with these combinations: {write, write w/verify_only, read/write, read/write w/verify_only, read} x {sequential, random w/randommap, random w/norandommap, sequence modifiers} """ for test in TEST_LIST_HEADER: # experimental_verify does not work in verify_only=1 mode if "_vo" in mode and 'experimental_verify' in test['fio_opts'] and \ test['fio_opts']['experimental_verify']: test['force_skip'] = True else: test['force_skip'] = False test['fio_opts']['verify'] = csum if csum == 'pattern': test['fio_opts']['verify_pattern'] = '"abcd"-120xdeadface' else: test['fio_opts'].pop('verify_pattern', None) if 'norandommap' in sequence: test['fio_opts']['norandommap'] = 1 else: test['fio_opts']['norandommap'] = 0 if 'randommap' in sequence: prefix = "rand" else: prefix = "" if 'sequence_modifier' in sequence: suffix = ":4096" else: suffix = "" if 'readwrite' in mode: fio_ddir = 'rw' elif 'write' in mode: fio_ddir = 'write' elif 'read' in mode: fio_ddir = 'read' else: fio_ddir = "" # TODO throw an exception here test['fio_opts']['rw'] = prefix + fio_ddir + suffix logging.debug("ddir is %s", test['fio_opts']['rw']) if '_vo' in mode: vo = 1 else: vo = 0 test['fio_opts']['verify_only'] = vo # For 100% read workloads we need to read a file that was written with # verify enabled. Use a previous test case for this by pointing fio to # write to a file in a specific directory. # # For verify_only tests we also need to point fio to a file that was # written with verify enabled if mode == 'read': directory = os.path.join(test_env['artifact_root'].replace(f'mode_{mode}','mode_write'), f"{test['test_id']:04d}") test['fio_opts']['directory'] = str(Path(directory).absolute()) if \ platform.system() != "Windows" else str(Path(directory).absolute()).replace(':', '\\:') elif vo: directory = os.path.join(test_env['artifact_root'].replace('write_vo','write'), f"{test['test_id']:04d}") test['fio_opts']['directory'] = str(Path(directory).absolute()) if \ platform.system() != "Windows" else str(Path(directory).absolute()).replace(':', '\\:') else: test['fio_opts'].pop('directory', None) return run_fio_tests(TEST_LIST_HEADER, test_env, args) MANGLE_JOB_BS = 0 def verify_test_csum(test_env, args, mbs, csum): """ Adjust test arguments based on values of csum. Then run the tests. This function is designed for a series of tests that check that checksum methods can reliably detect data integrity issues. """ for test in TEST_LIST_CSUM: test['force_skip'] = False test['fio_opts']['verify'] = csum if csum == 'pattern': test['fio_opts']['verify_pattern'] = '"abcd"-120xdeadface' else: test['fio_opts'].pop('verify_pattern', None) if mbs == MANGLE_JOB_BS: test['fio_opts']['mangle_bs'] = test['fio_opts']['bs'] else: test['fio_opts']['mangle_bs'] = mbs # These tests produce verification failures but not when verify=null, # so adjust the success criterion. if csum == 'null': test['success'] = SUCCESS_DEFAULT else: test['success'] = SUCCESS_NONZERO return run_fio_tests(TEST_LIST_CSUM, test_env, args) def verify_test(test_env, args, ddir, csum): """ Adjust test arguments based on values of ddir and csum. Then run the tests. """ for test in TEST_LIST: test['force_skip'] = False test['fio_opts']['rw'] = ddir test['fio_opts']['verify'] = csum if csum == 'pattern': test['fio_opts']['verify_pattern'] = '"abcd"-120xdeadface' else: test['fio_opts'].pop('verify_pattern', None) # For 100% read data directions we need the write file that was written with # verify enabled. Use a previous test case for this by telling fio to # write to a file in a specific directory. if ddir == 'read': directory = os.path.join(test_env['artifact_root'].replace(f'ddir_{ddir}','ddir_write'), f"{test['test_id']:04d}") test['fio_opts']['directory'] = str(Path(directory).absolute()) if \ platform.system() != "Windows" else str(Path(directory).absolute()).replace(':', '\\:') elif ddir == 'randread': directory = os.path.join(test_env['artifact_root'].replace(f'ddir_{ddir}','ddir_randwrite'), f"{test['test_id']:04d}") test['fio_opts']['directory'] = str(Path(directory).absolute()) if \ platform.system() != "Windows" else str(Path(directory).absolute()).replace(':', '\\:') else: test['fio_opts'].pop('directory', None) return run_fio_tests(TEST_LIST, test_env, args) # 100% read workloads below must follow write workloads so that the 100% read # workloads will be reading data written with verification enabled. DDIR_LIST = [ 'write', 'readwrite', 'read', 'randwrite', 'randrw', 'randread', ] CSUM_LIST1 = [ 'md5', 'crc64', 'pattern', ] CSUM_LIST2 = [ 'md5', 'crc64', 'crc32c', 'crc32c-intel', 'crc16', 'crc7', 'xxhash', 'sha512', 'sha256', 'sha1', 'sha3-224', 'sha3-384', 'sha3-512', 'pattern', 'null', ] def main(): """ Run tests for fio's verify feature. """ args = parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) artifact_root = args.artifact_root if args.artifact_root else \ f"verify-test-{time.strftime('%Y%m%d-%H%M%S')}" os.mkdir(artifact_root) print(f"Artifact directory is {artifact_root}") if args.fio: fio_path = str(Path(args.fio).absolute()) else: fio_path = os.path.join(os.path.dirname(__file__), '../fio') print(f"fio path is {fio_path}") if args.fio_root: fio_root = args.fio_root else: fio_root = str(Path(__file__).absolute().parent.parent) print(f"fio root is {fio_root}") if not args.skip_req: Requirements(fio_root, args) test_env = { 'fio_path': fio_path, 'fio_root': str(Path(__file__).absolute().parent.parent), 'artifact_root': artifact_root, 'basename': 'verify', } if platform.system() == 'Linux': aio = 'libaio' sync = 'psync' elif platform.system() == 'Windows': aio = 'windowsaio' sync = 'sync' else: aio = 'posixaio' sync = 'psync' for test in TEST_LIST: if 'aio' in test['fio_opts']['ioengine']: test['fio_opts']['ioengine'] = aio if 'sync' in test['fio_opts']['ioengine']: test['fio_opts']['ioengine'] = sync for test in TEST_LIST_CSUM: if 'aio' in test['fio_opts']['ioengine']: test['fio_opts']['ioengine'] = aio if 'sync' in test['fio_opts']['ioengine']: test['fio_opts']['ioengine'] = sync for test in TEST_LIST_HEADER: if 'aio' in test['fio_opts']['ioengine']: test['fio_opts']['ioengine'] = aio if 'sync' in test['fio_opts']['ioengine']: test['fio_opts']['ioengine'] = sync total = { 'passed': 0, 'failed': 0, 'skipped': 0 } if args.complete: csum_list = CSUM_LIST2 else: csum_list = CSUM_LIST1 if args.csum: csum_list = args.csum try: for ddir, csum in itertools.product(DDIR_LIST, csum_list): print(f"\nddir: {ddir}, checksum: {csum}") test_env['artifact_root'] = os.path.join(artifact_root, f"ddir_{ddir}_csum_{csum}") os.mkdir(test_env['artifact_root']) passed, failed, skipped = verify_test(test_env, args, ddir, csum) total['passed'] += passed total['failed'] += failed total['skipped'] += skipped # MANGLE_JOB_BS means to mangle an entire block which should result in # a header magic number error # 4 means to mangle 4 bytes which should result in a checksum error # unless the 4 bytes occur in the verification header mangle_bs = [MANGLE_JOB_BS, 4] for mbs, csum in itertools.product(mangle_bs, csum_list): print(f"\nmangle block size: {mbs}, checksum: {csum}") test_env['artifact_root'] = os.path.join(artifact_root, f"mbs_{mbs}_csum_{csum}") os.mkdir(test_env['artifact_root']) passed, failed, skipped = verify_test_csum(test_env, args, mbs, csum) total['passed'] += passed total['failed'] += failed total['skipped'] += skipped # The loop below tests combinations of options that exercise fio's # decisions about disabling checks for the sequence number and random # seed in the verify header. mode_list = [ "write", "write_vo", "readwrite", "readwrite_vo", "read" ] sequence_list = [ "sequential", "randommap", "norandommap", "sequence_modifier" ] for mode, sequence in itertools.product(mode_list, sequence_list): print(f"\nmode: {mode}, sequence: {sequence}") test_env['artifact_root'] = os.path.join(artifact_root, f"mode_{mode}_seq_{sequence}") os.mkdir(test_env['artifact_root']) passed, failed, skipped = verify_test_header(test_env, args, 'md5', mode, sequence) total['passed'] += passed total['failed'] += failed total['skipped'] += skipped except KeyboardInterrupt: pass print(f"\n\n{total['passed']} test(s) passed, {total['failed']} failed, " \ f"{total['skipped']} skipped") sys.exit(total['failed']) if __name__ == '__main__': main() fio-3.39/t/zbd/000077500000000000000000000000001476262051600132605ustar00rootroot00000000000000fio-3.39/t/zbd/functions000066400000000000000000000273611476262051600152240ustar00rootroot00000000000000#!/bin/bash blkzone=$(type -p blkzone 2>/dev/null) sg_inq=$(type -p sg_inq 2>/dev/null) zbc_report_zones=$(type -p zbc_report_zones 2>/dev/null) zbc_reset_zone=$(type -p zbc_reset_zone 2>/dev/null) zbc_close_zone=$(type -p zbc_close_zone 2>/dev/null) zbc_info=$(type -p zbc_info 2>/dev/null) if [ -z "${blkzone}" ] && { [ -z "${zbc_report_zones}" ] || [ -z "${zbc_reset_zone}" ]; }; then echo "Error: neither blkzone nor zbc_report_zones is available" exit 1 fi if [ -n "${use_libzbc}" ] && { [ -z "${zbc_report_zones}" ] || [ -z "${zbc_reset_zone}" ] || [ -z "${zbc_info}" ]; }; then echo "Error: zbc_report_zones, or zbc_reset_zone or zbc_info is not available" echo "Error: reinstall libzbc tools" exit 1 fi blkzone_reports_capacity() { local dev="${1}" [[ -n "${blkzone}" ]] && "${blkzone}" report -c 1 -o 0 "${dev}" | grep -q 'cap ' } has_command() { local cmd="${1}" cmd_path=$(type -p "${cmd}" 2>/dev/null) if [ -z "${cmd_path}" ]; then echo "${cmd} is not available" return 1 fi return 0 } # Whether or not $1 (/dev/...) is a NVME ZNS device. is_nvme_zns() { local s s=/sys/block/$(basename "${1}")/device/subsystem if [[ ! -h "${s}" || $(realpath "${s}") != /sys/class/nvme ]]; then return 1 fi [[ $( 512 && cap % bs)); do bs=$((bs / 2)) done done < <(blkzone report "${dev}" | sed -n "${sed_str}") echo "$bs" } # Reports the starting sector and length of the first sequential zone of device # $1. first_sequential_zone() { local dev=$1 if [ -n "${blkzone}" ] && [ ! -n "${use_libzbc}" ]; then ${blkzone} report "$dev" | sed -n 's/^[[:blank:]]*start:[[:blank:]]\([0-9a-zA-Z]*\),[[:blank:]]len[[:blank:]]\([0-9a-zA-Z]*\),.*zcond:\(14\|[[:blank:]][0-4]\)(.*type:[[:blank:]]\([2]\)(.*/\1 \2/p' | { read -r starting_sector length && # Convert from hex to decimal echo $((starting_sector)) $((length)) } else ${zbc_report_zones} "$dev" | sed -n 's/^Zone [0-9]*: type 0x2 .*,[[:blank:]]cond[[:blank:]]0x[0-4e][[:blank:]].*, sector \([0-9]*\), \([0-9]*\) sectors.*$/\1 \2/p' | head -n1 fi } # Reports the summed zone capacity of $1 number of zones starting from offset $2 # on device $3. total_zone_capacity() { local nr_zones=$1 local sector=$(($2 / 512)) local dev=$3 local capacity=0 num local grep_str if [ -z "$is_zbd" ]; then # For regular block devices, handle zone size as zone capacity. echo $((zone_size * nr_zones)) return fi if [ -n "${blkzone}" ] && [ ! -n "${use_libzbc}" ]; then if blkzone_reports_capacity "${dev}"; then grep_str='cap \K[0-9a-zA-Z]*' else # If zone capacity is not reported, refer zone length. grep_str='len \K[0-9a-zA-Z]*' fi while read num; do capacity=$((capacity + num)) done < <(${blkzone} report -c "$nr_zones" -o "$sector" "$dev" | grep -Po "${grep_str}") else # ZBC devices do not have zone capacity. Use zone size. while read num; do capacity=$((capacity + num)) done < <(${zbc_report_zones} -nz "$nr_zones" -start "$sector" \ "$dev" | grep -Po 'sector [0-9]*, \K[0-9]*') fi echo $((capacity * 512)) } # Reports the starting sector and length of the first zone of device $1 # that is not in offline (or similar) condition. first_online_zone() { local dev=$1 if [ -z "$is_zbd" ]; then echo 0 return fi if [ -n "${blkzone}" ] && [ ! -n "${use_libzbc}" ]; then ${blkzone} report "$dev" | sed -n 's/^[[:blank:]]*start:[[:blank:]]\([0-9a-zA-Z]*\),[[:blank:]]len[[:blank:]]\([0-9a-zA-Z]*\),.*zcond:\(14\|[[:blank:]][0-4]\)(.*type:[[:blank:]][12](.*/\1/p' | head -n1 | { read -r starting_sector && # Convert from hex to decimal echo $((starting_sector)) } else ${zbc_report_zones} "$dev" | sed -n 's/^Zone[[:blank:]][0-9]*:[[:blank:]]type[[:blank:]]0x[12][[:blank:]].*,[[:blank:]]cond[[:blank:]]0x[0-4e][[:blank:]].*,[[:blank:]]sector[[:blank:]]\([0-9]*\),.*$/\1/p' | head -n1 fi } # Reports the starting sector and length of the last zone of device $1 # that is not in offline (or similar) condition. last_online_zone() { local dev=$1 if [ -z "$is_zbd" ]; then echo 0 return fi if [ -n "${blkzone}" ] && [ ! -n "${use_libzbc}" ]; then ${blkzone} report "$dev" | sed -n 's/^[[:blank:]]*start:[[:blank:]]\([0-9a-zA-Z]*\),[[:blank:]]len[[:blank:]]\([0-9a-zA-Z]*\),.*zcond:\(14\|[[:blank:]][0-4]\)(.*type:[[:blank:]][12](.*/\1/p' | tail -1 | { read -r starting_sector && # Convert from hex to decimal echo $((starting_sector)) } else ${zbc_report_zones} "$dev" | sed -n 's/^Zone[[:blank:]][0-9]*:[[:blank:]]type[[:blank:]]0x[12][[:blank:]].*,[[:blank:]]cond[[:blank:]]0x[0-4e][[:blank:]].*,[[:blank:]]sector[[:blank:]]\([0-9]*\),.*$/\1/p' | tail -1 fi } # Get max_open_zones of SMR drives using sg_inq or libzbc tools. Two test cases # 31 and 32 use this max_open_zones value. The test case 31 uses max_open_zones # to decide number of write target zones. The test case 32 passes max_open_zones # value to fio with --max_open_zones option. Of note is that fio itself has the # feature to get max_open_zones from the device through sysfs or ioengine # specific implementation. This max_open_zones fetch by test script is required # in case fio is running on an old Linux kernel version which lacks # max_open_zones in sysfs, or which lacks zoned block device support completely. max_open_zones() { local dev=$1 local realdev syspath realdev=$(readlink -f "$dev") syspath=/sys/block/${realdev##*/}/queue/max_open_zones if [ -b "${realdev}" ] && [ -r "${syspath}" ]; then cat ${syspath} elif [ -n "${sg_inq}" ] && [ ! -n "${use_libzbc}" ]; then if ! ${sg_inq} -e --page=0xB6 --len=20 --hex "$dev" \ > /dev/null 2>&1; then # When sg_inq can not get max open zones, specify 0 which indicates # fio to get max open zones limit from the device. echo 0 else ${sg_inq} -e --page=0xB6 --len=20 --hex "$dev" | tail -1 | { read -r offset b0 b1 b2 b3 trailer || return $? # Convert from hex to decimal max_nr_open_zones=$((0x${b0})) max_nr_open_zones=$((max_nr_open_zones * 256 + 0x${b1})) max_nr_open_zones=$((max_nr_open_zones * 256 + 0x${b2})) max_nr_open_zones=$((max_nr_open_zones * 256 + 0x${b3})) echo ${max_nr_open_zones} } fi elif [ -n "${use_libzbc}" ]; then ${zbc_report_zones} "$dev" | sed -n 's/^[[:blank:]]*Maximum number of open sequential write required zones:[[:blank:]]*//p' else echo 0 fi } # If sysfs provides, get max_active_zones limit of the zoned block device. max_active_zones() { local dev=$1 local sys_queue="/sys/block/${dev##*/}/queue/" if [[ -e "$sys_queue/max_active_zones" ]]; then cat "$sys_queue/max_active_zones" return fi echo 0 } # Get minimum block size to write to seq zones. Refer the sysfs attribute # zone_write_granularity which shows the valid minimum size regardless of zoned # block device type. If the sysfs attribute is not available, refer physical # block size for rotational SMR drives. For non-rotational devices such as ZNS # devices, refer logical block size. min_seq_write_size() { local sys_path="/sys/block/$1/queue" local -i size=0 if [[ -r "$sys_path/zone_write_granularity" ]]; then size=$(<"$sys_path/zone_write_granularity") fi if ((size)); then echo "$size" elif (($(<"$sys_path/rotational"))); then cat "$sys_path/physical_block_size" else cat "$sys_path/logical_block_size" fi } urswrz() { local dev=$1 if [ -n "${sg_inq}" ] && [ ! -n "${use_libzbc}" ]; then if ! ${sg_inq} -e --page=0xB6 --len=10 --hex "$dev" \ > /dev/null 2>&1; then # Couldn't get URSWRZ bit. Assume the reads are unrestricted # because this configuration is more common. echo 1 else ${sg_inq} -e --page=0xB6 --len=10 --hex "$dev" | tail -1 | { read -r offset b0 b1 b2 b3 b4 trailer && \ echo $(( $b4 & 0x01 )) || echo 0 } fi else ${zbc_info} "$dev" | sed -n 's/^[[:blank:]].*Read commands are \(un\)restricted*/\1/p' | grep -q ^ && echo 1 || echo 0 fi } is_zbc() { local dev=$1 [[ -z "$(${zbc_info} "$dev" | grep "is not a zoned block device")" ]] } zbc_physical_block_size() { local dev=$1 ${zbc_info} "$dev" | grep "physical blocks" | sed -n 's/^[[:blank:]]*[0-9]* physical blocks of[[:blank:]]*//p' | sed 's/ B//' } zbc_disk_sectors() { local dev=$1 zbc_info "$dev" | grep "512-bytes sectors" | sed -e 's/[[:blank:]]*\([0-9]*\)512-bytes sectors.*/\1/' } # Reset the write pointer of one zone on device $1 at offset $2. The offset # must be specified in units of 512 byte sectors. Offset -1 means reset all # zones. reset_zone() { local dev=$1 offset=$2 sectors if [ -n "${blkzone}" ] && [ ! -n "${use_libzbc}" ]; then if [ "$offset" -lt 0 ]; then ${blkzone} reset "$dev" else ${blkzone} reset -o "${offset}" -c 1 "$dev" fi else if [ "$offset" -lt 0 ]; then ${zbc_reset_zone} -all "$dev" >/dev/null else ${zbc_reset_zone} -sector "$dev" "${offset}" >/dev/null fi fi } # Close the zone on device $1 at offset $2. The offset must be specified in # units of 512 byte sectors. close_zone() { local dev=$1 offset=$2 if [ -n "${blkzone}" ] && [ -z "${use_libzbc}" ]; then ${blkzone} close -o "${offset}" -c 1 "$dev" else ${zbc_close_zone} -sector "$dev" "${offset}" >/dev/null fi } # Extract the number of bytes that have been transferred from a line like # READ: bw=6847KiB/s (7011kB/s), 6847KiB/s-6847KiB/s (7011kB/s-7011kB/s), io=257MiB (269MB), run=38406-38406msec fio_io() { sed -n 's/^[[:blank:]]*'"$1"'.*, io=\([^[:blank:]]*\).*/\1/p' | tail -n 1 | ( read -r io; # Parse . into n1, n2 and s. See also # num2str(). shopt -s extglob n1=${io%${io##*([0-9])}} s=${io#${io%%*([a-zA-Z])}} n2=${io#${n1}} n2=${n2#.} n2=${n2%$s}000 n2=${n2:0:3} case "$s" in KiB) m=10;; MiB) m=20;; GiB) m=30;; B) m=0;; *) return 1;; esac [ -n "$n1" ] || return 1 echo $(((n1 << m) + (n2 << m) / 1000)) ) } fio_read() { fio_io 'READ:' } fio_written() { fio_io 'WRITE:' } fio_reset_count() { local count count=$(sed -n 's/^.*write:[^;]*; \([0-9]*\) zone resets$/\1/p') echo "${count:-0}" } fio-3.39/t/zbd/run-tests-against-nullb000077500000000000000000000261621476262051600177170ustar00rootroot00000000000000#!/bin/bash # # Copyright (C) 2020 Western Digital Corporation or its affiliates. # # This file is released under the GPL. # # Run t/zbd/test-zbd-support script against a variety of conventional, # zoned and mixed zone configurations. # usage() { echo "This script runs the tests from t/zbd/test-zbd-support script" echo "against a nullb device in a variety of conventional and zoned" echo "configurations." echo "Usage: ${0} [OPTIONS]" echo "Options:" echo -e "\t-h Show this message." echo -e "\t-L List the device layouts for every section without running" echo -e "\t tests." echo -e "\t-s <#section> Only run the section with the given number." echo -e "\t-t <#test> Only run the test with the given number in every section." echo -e "\t-o Specify MaxOpen value, (${set_max_open} by default)." echo -e "\t-n <#number of runs> Set the number of times to run the entire suite " echo -e "\t or an individual section/test." echo -e "\t-q Quit t/zbd/test-zbd-support run after any failed test." echo -e "\t-r Remove the /dev/nullb0 device that may still exist after" echo -e "\t running this script." exit 1 } cleanup_nullb() { for d in /sys/kernel/config/nullb/*; do [ -d "$d" ] && rmdir "$d"; done modprobe -r null_blk modprobe null_blk nr_devices=0 || exit $? for d in /sys/kernel/config/nullb/*; do [ -d "$d" ] && rmdir "$d" done modprobe -r null_blk [ -e /sys/module/null_blk ] && exit $? } create_nullb() { modprobe null_blk nr_devices=0 && cd /sys/kernel/config/nullb && mkdir nullb0 && cd nullb0 || return $? } configure_nullb() { echo 0 > completion_nsec && echo ${dev_blocksize} > blocksize && echo ${dev_size} > size && echo 1 > memory_backed || return $? if ((conv_pcnt < 100)); then echo 1 > zoned && echo "${zone_size}" > zone_size || return $? if ((zone_capacity < zone_size)); then if ((!zcap_supported)); then echo "null_blk does not support zone capacity" return 2 fi echo "${zone_capacity}" > zone_capacity fi if ((conv_pcnt)); then if ((!conv_supported)); then echo "null_blk does not support conventional zones" return 2 fi nr_conv=$((dev_size/zone_size*conv_pcnt/100)) else nr_conv=0 fi echo "${nr_conv}" > zone_nr_conv if ((max_open)); then echo "${max_open}" > zone_max_open if ((max_active)); then if ((!max_act_supported)); then echo "null_blk does not support active zone counts" return 2 fi echo "${max_active}" > zone_max_active fi fi fi echo 1 > power || return $? return 0 } show_nullb_config() { if ((conv_pcnt < 100)); then echo " $(printf "Zoned Device, %d%% Conventional Zones (%d)" \ ${conv_pcnt} ${nr_conv})" echo " $(printf "Zone Size: %d MB" ${zone_size})" echo " $(printf "Zone Capacity: %d MB" ${zone_capacity})" if ((max_open)); then echo " $(printf "Max Open: %d Zones" ${max_open})" if ((max_active)); then echo " $(printf "Max Active: %d Zones" ${max_active})" else echo " Max Active: Unlimited Zones" fi else echo " Max Open: Unlimited Zones" fi else echo " Non-zoned Device" fi } # # Test sections. # # Fully conventional device. section1() { conv_pcnt=100 max_open=0 } # Zoned device with no conventional zones, ZCAP == ZSIZE, unlimited MaxOpen. section2() { conv_pcnt=0 zone_size=1 zone_capacity=1 max_open=0 } # Zoned device with no conventional zones, ZCAP < ZSIZE, unlimited MaxOpen. section3() { conv_pcnt=0 zone_size=4 zone_capacity=3 max_open=0 max_active=0 } # Zoned device with mostly sequential zones, ZCAP == ZSIZE, unlimited MaxOpen. section4() { conv_pcnt=10 zone_size=1 zone_capacity=1 max_open=0 max_active=0 } # Zoned device with mostly sequential zones, ZCAP < ZSIZE, unlimited MaxOpen. section5() { conv_pcnt=10 zone_size=4 zone_capacity=3 max_open=0 max_active=0 } # Zoned device with mostly conventional zones, ZCAP == ZSIZE, unlimited MaxOpen. section6() { conv_pcnt=66 zone_size=1 zone_capacity=1 max_open=0 max_active=0 } # Zoned device with mostly conventional zones, ZCAP < ZSIZE, unlimited MaxOpen. section7() { dev_size=2048 conv_pcnt=66 zone_size=4 zone_capacity=3 max_open=0 max_active=0 } # Zoned device with no conventional zones, ZCAP == ZSIZE, limited MaxOpen, # unlimited MaxActive. section8() { dev_size=1024 conv_pcnt=0 zone_size=1 zone_capacity=1 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=0 } # Zoned device with no conventional zones, ZCAP < ZSIZE, limited MaxOpen, # unlimited MaxActive. section9() { conv_pcnt=0 zone_size=4 zone_capacity=3 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=0 } # Zoned device with mostly sequential zones, ZCAP == ZSIZE, limited MaxOpen, # unlimited MaxActive. section10() { conv_pcnt=10 zone_size=1 zone_capacity=1 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=0 } # Zoned device with mostly sequential zones, ZCAP < ZSIZE, limited MaxOpen, # unlimited MaxActive. section11() { conv_pcnt=10 zone_size=4 zone_capacity=3 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=0 } # Zoned device with mostly conventional zones, ZCAP == ZSIZE, limited MaxOpen, # unlimited MaxActive. section12() { conv_pcnt=66 zone_size=1 zone_capacity=1 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=0 } # Zoned device with mostly conventional zones, ZCAP < ZSIZE, limited MaxOpen, # unlimited MaxActive. section13() { dev_size=2048 conv_pcnt=66 zone_size=4 zone_capacity=3 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=0 } # Zoned device with no conventional zones, ZCAP == ZSIZE, limited MaxOpen, # MaxActive == MaxOpen. section14() { dev_size=1024 conv_pcnt=0 zone_size=1 zone_capacity=1 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=${set_max_open} } # Zoned device with no conventional zones, ZCAP < ZSIZE, limited MaxOpen, # MaxActive == MaxOpen. section15() { conv_pcnt=0 zone_size=4 zone_capacity=3 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=${set_max_open} } # Zoned device with mostly sequential zones, ZCAP == ZSIZE, limited MaxOpen, # MaxActive == MaxOpen. section16() { conv_pcnt=10 zone_size=1 zone_capacity=1 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=${set_max_open} } # Zoned device with mostly sequential zones, ZCAP < ZSIZE, limited MaxOpen, # MaxActive == MaxOpen. section17() { conv_pcnt=10 zone_size=4 zone_capacity=3 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=${set_max_open} } # Zoned device with mostly conventional zones, ZCAP == ZSIZE, limited MaxOpen, # MaxActive == MaxOpen. section18() { conv_pcnt=66 zone_size=1 zone_capacity=1 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=${set_max_open} } # Zoned device with mostly conventional zones, ZCAP < ZSIZE, limited MaxOpen, # MaxActive == MaxOpen. section19() { dev_size=2048 conv_pcnt=66 zone_size=4 zone_capacity=3 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=${set_max_open} } # Zoned device with no conventional zones, ZCAP == ZSIZE, limited MaxOpen, # MaxActive > MaxOpen. section20() { dev_size=1024 conv_pcnt=0 zone_size=1 zone_capacity=1 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=$((set_max_open+set_extra_max_active)) } # Zoned device with no conventional zones, ZCAP < ZSIZE, limited MaxOpen, # MaxActive > MaxOpen. section21() { conv_pcnt=0 zone_size=4 zone_capacity=3 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=$((set_max_open+set_extra_max_active)) } # Zoned device with mostly sequential zones, ZCAP == ZSIZE, limited MaxOpen, # MaxActive > MaxOpen. section22() { conv_pcnt=10 zone_size=1 zone_capacity=1 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=$((set_max_open+set_extra_max_active)) } # Zoned device with mostly sequential zones, ZCAP < ZSIZE, limited MaxOpen, # MaxActive > MaxOpen. section23() { conv_pcnt=10 zone_size=4 zone_capacity=3 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=$((set_max_open+set_extra_max_active)) } # Zoned device with mostly conventional zones, ZCAP == ZSIZE, limited MaxOpen, # MaxActive > MaxOpen. section24() { conv_pcnt=66 zone_size=1 zone_capacity=1 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=$((set_max_open+set_extra_max_active)) } # Zoned device with mostly conventional zones, ZCAP < ZSIZE, limited MaxOpen, # MaxActive > MaxOpen. section25() { dev_size=2048 conv_pcnt=66 zone_size=4 zone_capacity=3 max_open=${set_max_open} zbd_test_opts+=("-o ${max_open}") max_active=$((set_max_open+set_extra_max_active)) } # # Entry point. # SECONDS=0 scriptdir="$(cd "$(dirname "$0")" && pwd)" sections=() zcap_supported=1 conv_supported=1 max_act_supported=1 list_only=0 dev_size=1024 dev_blocksize=4096 set_max_open=8 set_extra_max_active=2 zbd_test_opts=() num_of_runs=1 test_case=0 quit_on_err=0 while (($#)); do case "$1" in -s) sections+=("$2"); shift; shift;; -o) set_max_open="${2}"; shift; shift;; -L) list_only=1; shift;; -r) cleanup_nullb; exit 0;; -n) num_of_runs="${2}"; shift; shift;; -t) test_case="${2}"; shift; shift;; -q) quit_on_err=1; shift;; -h) usage; break;; --) shift; break;; *) usage; exit 1;; esac done if [ "${#sections[@]}" = 0 ]; then readarray -t sections < <(declare -F | grep "section[0-9]*" | tr -c -d "[:digit:]\n" | sort -n) fi cleanup_nullb # # Test creating null_blk device and check if newer features are supported # if ! eval "create_nullb"; then echo "can't create nullb" exit 1 fi if ! cat /sys/kernel/config/nullb/features | grep -q zone_capacity; then zcap_supported=0 fi if ! cat /sys/kernel/config/nullb/features | grep -q zone_nr_conv; then conv_supported=0 fi if ! cat /sys/kernel/config/nullb/features | grep -q zone_max_active; then max_act_supported=0 fi rc=0 test_rc=0 intr=0 run_nr=1 trap 'kill ${zbd_test_pid}; intr=1' SIGINT while ((run_nr <= $num_of_runs)); do echo -e "\nRun #$run_nr:" for section_number in "${sections[@]}"; do cleanup_nullb echo "---------- Section $(printf "%02d" $section_number) ----------" if ! eval "create_nullb"; then echo "error creating nullb" exit 1 fi zbd_test_opts=() if ((test_case)); then zbd_test_opts+=("-t" "${test_case}") fi if ((quit_on_err)); then zbd_test_opts+=("-q") fi section$section_number configure_nullb rc=$? ((rc == 2)) && continue if ((rc)); then echo "can't set up nullb for section $(printf "%02d" $section_number)" exit 1 fi show_nullb_config cd "${scriptdir}" ((intr)) && exit 1 ((list_only)) && continue ./test-zbd-support ${zbd_test_opts[@]} /dev/nullb0 & zbd_test_pid=$! if kill -0 "${zbd_test_pid}"; then wait "${zbd_test_pid}" test_rc=$? else echo "can't run ZBD tests" exit 1 fi ((intr)) && exit 1 if (($test_rc)); then rc=1 ((quit_on_err)) && break fi done ((rc && quit_on_err)) && break run_nr=$((run_nr + 1)) done if ((!list_only)); then echo "--------------------------------" echo "Total run time: $(TZ=UTC0 printf "%(%H:%M:%S)T\n" $(( SECONDS )) )" fi exit $rc fio-3.39/t/zbd/test-zbd-support000077500000000000000000001633271476262051600164700ustar00rootroot00000000000000#!/bin/bash # # Copyright (C) 2018 Western Digital Corporation or its affiliates. # # This file is released under the GPL. usage() { echo "Usage: $(basename "$0") [OPTIONS] " echo "Options:" echo -e "\t-d Run fio with valgrind using DRD tool" echo -e "\t-e Run fio with valgrind using helgrind tool" echo -e "\t-v Run fio with valgrind --read-var-info option" echo -e "\t-l Test with libzbc ioengine" echo -e "\t-r Reset all zones before test start" echo -e "\t-w Reset all zones before executing each write test case" echo -e "\t-o Run fio with max_open_zones limit" echo -e "\t-t Run only a single test case with specified number" echo -e "\t-s Start testing from the case with the specified number" echo -e "\t-q Quit the test run after any failed test" echo -e "\t-z Run fio with debug=zbd option" echo -e "\t-u Use io_uring ioengine in place of libaio" } max() { if [ "$1" -gt "$2" ]; then echo "$1" else echo "$2" fi } min() { if [ "$1" -lt "$2" ]; then echo "$1" else echo "$2" fi } ioengine() { if [ -n "$use_libzbc" ]; then echo -n "--ioengine=libzbc" elif [ "$1" = "libaio" -a -n "$force_io_uring" ]; then echo -n "--ioengine=io_uring" else echo -n "--ioengine=$1" fi } get_dev_path_by_id() { for d in /sys/block/* /sys/block/*/*; do if [[ ! -r "${d}/dev" ]]; then continue fi if [[ "${1}" == "$(<"${d}/dev")" ]]; then echo "/dev/${d##*/}" return 0 fi done return 1 } dm_destination_dev_set_io_scheduler() { local dev=$1 sched=$2 local dest_dev_id dest_dev path has_command dmsetup || return 1 while read -r dest_dev_id; do if ! dest_dev=$(get_dev_path_by_id "${dest_dev_id}"); then continue fi path=${dest_dev/dev/sys\/block}/queue/scheduler if [[ ! -w ${path} ]]; then echo "Can not set scheduler of device mapper destination: ${dest_dev}" continue fi echo "${2}" > "${path}" done < <(dmsetup table "$(<"/sys/block/$dev/dm/name")" | sed -n 's/.* \([0-9]*:[0-9]*\).*/\1/p') } dev_has_dm_map() { local dev=${1} target_type=${2} local dm_name has_command dmsetup || return 1 dm_name=$(<"/sys/block/$dev/dm/name") if ! dmsetup status "${dm_name}" | grep -qe "${target_type}"; then return 1 fi if dmsetup status "${dm_name}" | grep -v "${target_type}"; then return 1 fi return 0 } set_io_scheduler() { local dev=$1 sched=$2 [ -e "/sys/block/$dev" ] || return $? if [ -e "/sys/block/$dev/mq" ]; then case "$sched" in noop) sched=none;; deadline) sched=mq-deadline;; esac else case "$sched" in none) sched=noop;; mq-deadline) sched=deadline;; esac fi if [ -w "/sys/block/$dev/queue/scheduler" ]; then echo "$sched" >"/sys/block/$dev/queue/scheduler" elif [ -r "/sys/block/$dev/dm/name" ] && ( dev_has_dm_map "$dev" linear || dev_has_dm_map "$dev" flakey || dev_has_dm_map "$dev" crypt ); then dm_destination_dev_set_io_scheduler "$dev" "$sched" else echo "can not set io scheduler" exit 1 fi } check_read() { local read read=$(fio_read <"${logfile}.${test_number}") echo "read: $read <> $1" >> "${logfile}.${test_number}" [ "$read" = "$1" ] } check_written() { local written written=$(fio_written <"${logfile}.${test_number}") echo "written: $written <> $1" >> "${logfile}.${test_number}" [ "$written" = "$1" ] } # Compare the reset count from the log file with reset count $2 using operator # $1 (=, -ge, -gt, -le, -lt). check_reset_count() { local reset_count reset_count=$(fio_reset_count <"${logfile}.${test_number}") echo "reset_count: test $reset_count $1 $2" >> "${logfile}.${test_number}" eval "[ '$reset_count' '$1' '$2' ]" } # Check log for failed assertions and crashes. Without these checks, # a test can succeed even when these events happen, but it must fail. check_log() { [ ! -f "${logfile}.${1}" ] && return 0 ! grep -q -e "Assertion " -e "Aborted " "${logfile}.${1}" } # Whether or not $1 (/dev/...) is a SCSI device. is_scsi_device() { local d f d=$(basename "$dev") for f in /sys/class/scsi_device/*/device/block/"$d"; do [ -e "$f" ] && return 0 done return 1 } job_var_opts_exclude() { local o local ex_key="${1}" for o in "${job_var_opts[@]}"; do if [[ ${o} =~ "${ex_key}" ]]; then continue fi echo -n "${o}" done } has_max_open_zones() { while (($# > 1)); do if [[ ${1} =~ "--max_open_zones" ]]; then return 0 fi shift done return 1 } run_fio() { local fio opts fio=$(dirname "$0")/../../fio opts=(${global_var_opts[@]}) opts+=("--max-jobs=16" "--aux-path=/tmp" "--allow_file_create=0" \ "--significant_figures=10" "$@") # When max_open_zones option is specified to this test script, add # max_open_zones option to fio command unless the test case already add it. if [[ -n ${max_open_zones_opt} ]] && ! has_max_open_zones "${opts[@]}"; then opts+=("--max_open_zones=${max_open_zones_opt}") fi { echo; echo "fio ${opts[*]}"; echo; } >>"${logfile}.${test_number}" "${dynamic_analyzer[@]}" "$fio" "${opts[@]}" } run_one_fio_job() { local r r=$(((RANDOM << 16) | RANDOM)) run_fio --name="$dev" --filename="$dev" "$@" --randseed="$r" \ --thread=1 --direct=1 } write_and_run_one_fio_job() { local r local write_offset="${1}" local write_size="${2}" local -a write_opts shift 2 r=$(((RANDOM << 16) | RANDOM)) write_opts=(--name="write_job" --rw=write "$(ioengine "psync")" \ --bs="${min_seq_write_size}" --zonemode=zbd \ --zonesize="${zone_size}" --thread=1 --direct=1 \ --offset="${write_offset}" --size="${write_size}") write_opts+=("${job_var_opts[@]}") run_fio --filename="$dev" --randseed="$r" "${write_opts[@]}" \ --name="$dev" --wait_for="write_job" "$@" --thread=1 --direct=1 } # Run fio on the first four sequential zones of the disk. run_fio_on_seq() { local opts=() opts+=("--offset=$((first_sequential_zone_sector * 512))") opts+=("--size=$((4 * zone_size))" "--zonemode=zbd") if [ -z "$is_zbd" ]; then opts+=("--zonesize=${zone_size}") fi run_one_fio_job "${opts[@]}" "$@" } # Prepare for write test by resetting zones. When reset_before_write or # max_open_zones option is specified, reset all zones of the test target to # ensure that zones out of the test target range do not have open zones. This # allows the write test to the target range to be able to open zones up to # max_open_zones limit specified as the option or obtained from sysfs. prep_write() { [[ -n "${reset_before_write}" || -n "${max_open_zones_opt}" ]] && [[ -n "${is_zbd}" ]] && reset_zone "${dev}" -1 } SKIP_TESTCASE=255 require_scsi_dev() { if ! is_scsi_device "$dev"; then SKIP_REASON="$dev is not a SCSI device" return 1 fi return 0 } require_conv_zone_bytes() { local req_bytes=${1} if ((req_bytes > first_sequential_zone_sector * 512)); then SKIP_REASON="$dev does not have enough conventional zones" return 1 fi return 0 } require_zbd() { if [[ -z ${is_zbd} ]]; then SKIP_REASON="$dev is not a zoned block device" return 1 fi return 0 } require_regular_block_dev() { if [[ -n ${is_zbd} ]]; then SKIP_REASON="$dev is not a regular block device" return 1 fi return 0 } require_block_dev() { if [[ -b "$realdev" ]]; then return 0 fi SKIP_REASON="$dev is not a block device" return 1 } require_seq_zones() { local req_seq_zones=${1} local seq_bytes=$((disk_size - first_sequential_zone_sector * 512)) if ((req_seq_zones > seq_bytes / zone_size)); then SKIP_REASON="$dev does not have $req_seq_zones sequential zones" return 1 fi return 0 } require_conv_zones() { local req_c_zones=${1} local conv_bytes=$((first_sequential_zone_sector * 512)) if ((req_c_zones > conv_bytes / zone_size)); then SKIP_REASON="$dev does not have $req_c_zones conventional zones" return 1 fi return 0 } require_max_open_zones() { local min=${1} if ((max_open_zones !=0 && max_open_zones < min)); then SKIP_REASON="max_open_zones of $dev is smaller than $min" return 1 fi return 0 } require_max_active_zones() { local min=${1} if ((max_active_zones == 0)); then SKIP_REASON="$dev does not have max_active_zones limit" return 1 fi if ((max_active_zones < min)); then SKIP_REASON="max_active_zones of $dev is smaller than $min" return 1 fi return 0 } # Check whether buffered writes are refused for block devices. test1() { require_block_dev || return $SKIP_TESTCASE run_fio --name=job1 --filename="$dev" --rw=write --direct=0 --bs=4K \ "$(ioengine "psync")" --size="${zone_size}" --thread=1 \ --zonemode=zbd --zonesize="${zone_size}" 2>&1 | tee -a "${logfile}.${test_number}" | grep -q 'Using direct I/O is mandatory for writing to ZBD drives' local fio_rc=${PIPESTATUS[0]} grep_rc=${PIPESTATUS[2]} case "$fio_rc" in 0|1) ;; *) return "$fio_rc" esac if [ -n "$is_zbd" ]; then [ "$grep_rc" = 0 ] else [ "$grep_rc" != 0 ] fi } # Block size exceeds zone size. test2() { local bs off opts=() rc off=$(((first_sequential_zone_sector + 2 * sectors_per_zone) * 512)) bs=$((2 * zone_size)) opts+=("$(ioengine "psync")") opts+=("--name=job1" "--filename=$dev" "--rw=write" "--direct=1") opts+=("--zonemode=zbd" "--offset=$off" "--bs=$bs" "--size=$bs") if [ -z "$is_zbd" ]; then opts+=("--zonesize=${zone_size}") fi run_fio "${opts[@]}" >> "${logfile}.${test_number}" 2>&1 && return 1 grep -q 'buflen exceeds zone size' "${logfile}.${test_number}" } # Run fio against an empty zone. This causes fio to report "No I/O performed". test3() { local off opts=() rc require_seq_zones 129 || return $SKIP_TESTCASE off=$((first_sequential_zone_sector * 512 + 128 * zone_size)) size=$((zone_size)) [ -n "$is_zbd" ] && reset_zone "$dev" $((off / 512)) opts+=("--name=$dev" "--filename=$dev" "--offset=$off" "--bs=4K") opts+=("--size=$size" "--zonemode=zbd") opts+=("$(ioengine "psync")" "--rw=read" "--direct=1" "--thread=1") if [ -z "$is_zbd" ]; then opts+=("--zonesize=${zone_size}") fi run_fio "${opts[@]}" >> "${logfile}.${test_number}" 2>&1 || return $? ! grep -q 'READ:' "${logfile}.${test_number}" } # Run fio with --read_beyond_wp=1 against an empty zone. test4() { local off opts=() require_seq_zones 130 || return $SKIP_TESTCASE off=$((first_sequential_zone_sector * 512 + 129 * zone_size)) size=$((zone_size)) [ -n "$is_zbd" ] && reset_zone "$dev" $((off / 512)) opts+=("--name=$dev" "--filename=$dev" "--offset=$off") opts+=(--bs="$(min $((min_seq_write_size * 256)) $size)") opts+=("--size=$size" "--thread=1" "--read_beyond_wp=1") opts+=("$(ioengine "psync")" "--rw=read" "--direct=1" "--disable_lat=1") opts+=("--zonemode=zbd" "--zonesize=${zone_size}") run_fio "${opts[@]}" >> "${logfile}.${test_number}" 2>&1 fio_rc=$? if [[ $unrestricted_reads != 0 ]]; then if [[ $fio_rc != 0 ]]; then return "$fio_rc" fi check_read $size || return $? else [ $fio_rc == 0 ] && return 1 || return 0 fi } # Sequential write to sequential zones. test5() { local size off capacity bs prep_write off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 4 $off $dev) size=$((4 * zone_size)) bs=$(min "$(max $((zone_size / 64)) "$min_seq_write_size")" "$zone_cap_bs") run_fio_on_seq "$(ioengine "psync")" --iodepth=1 --rw=write \ --bs="$bs" --do_verify=1 --verify=md5 \ >>"${logfile}.${test_number}" 2>&1 || return $? check_written $capacity || return $? check_read $capacity || return $? } # Sequential read from sequential zones. test6() { local size off capacity bs prep_write off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 4 $off $dev) size=$((4 * zone_size)) bs=$(min "$(max $((zone_size / 64)) "$min_seq_write_size")" "$zone_cap_bs") write_and_run_one_fio_job \ $((first_sequential_zone_sector * 512)) "${size}" \ --offset="${off}" \ --size="${size}" --zonemode=zbd --zonesize="${zone_size}" \ "$(ioengine "psync")" --iodepth=1 --rw=read --bs="$bs" \ >>"${logfile}.${test_number}" 2>&1 || return $? check_read $capacity || return $? } # Random write to sequential zones, libaio, queue depth 1. test7() { local size=$((zone_size)) local off capacity prep_write off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 1 $off $dev) run_fio_on_seq "$(ioengine "libaio")" --iodepth=1 --rw=randwrite \ --bs="$(min 16384 "${zone_size}")" \ --do_verify=1 --verify=md5 --size="$size" \ >>"${logfile}.${test_number}" 2>&1 || return $? check_written $capacity || return $? check_read $capacity || return $? } # Random write to sequential zones, libaio, queue depth 64. test8() { local size off capacity prep_write size=$((4 * zone_size)) off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 4 $off $dev) run_fio_on_seq "$(ioengine "libaio")" --iodepth=64 --rw=randwrite \ --bs="$(min 16384 "${zone_size}")" \ --do_verify=1 --verify=md5 \ >>"${logfile}.${test_number}" 2>&1 || return $? check_written $capacity || return $? check_read $capacity || return $? } # Random write to sequential zones, sg, queue depth 1. test9() { local size require_scsi_dev || return $SKIP_TESTCASE prep_write size=$((4 * zone_size)) run_fio_on_seq --ioengine=sg \ --iodepth=1 --rw=randwrite --bs=16K \ --do_verify=1 --verify=md5 \ >>"${logfile}.${test_number}" 2>&1 || return $? check_written $size || return $? check_read $size || return $? } # Random write to sequential zones, sg, queue depth 64. test10() { local size require_scsi_dev || return $SKIP_TESTCASE prep_write size=$((4 * zone_size)) run_fio_on_seq --ioengine=sg \ --iodepth=64 --rw=randwrite --bs=16K \ --do_verify=1 --verify=md5 \ >>"${logfile}.${test_number}" 2>&1 || return $? check_written $size || return $? check_read $size || return $? } # Random write to sequential zones, libaio, queue depth 64, random block size. test11() { local size off capacity prep_write size=$((4 * zone_size)) off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 4 $off $dev) run_fio_on_seq "$(ioengine "libaio")" --iodepth=64 --rw=randwrite \ --bsrange=4K-64K --do_verify=1 --verify=md5 \ --debug=zbd >>"${logfile}.${test_number}" 2>&1 || return $? check_written $capacity || return $? check_read $capacity || return $? } # Random write to sequential zones, libaio, queue depth 64, max 1 open zone. test12() { local size off capacity [ -n "$is_zbd" ] && reset_zone "$dev" -1 size=$((8 * zone_size)) off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 8 $off $dev) run_fio_on_seq "$(ioengine "libaio")" --iodepth=64 --rw=randwrite --bs=16K \ --max_open_zones=1 --size=$size --do_verify=1 --verify=md5 \ --debug=zbd >>"${logfile}.${test_number}" 2>&1 || return $? check_written $capacity || return $? check_read $capacity || return $? } # Random write to sequential zones, libaio, queue depth 64, max 4 open zones. test13() { local size off capacity require_max_open_zones 4 || return $SKIP_TESTCASE [ -n "$is_zbd" ] && reset_zone "$dev" -1 size=$((8 * zone_size)) off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 8 $off $dev) run_fio_on_seq "$(ioengine "libaio")" --iodepth=64 --rw=randwrite --bs=16K \ --max_open_zones=4 --size=$size --do_verify=1 --verify=md5 \ --debug=zbd \ >>"${logfile}.${test_number}" 2>&1 || return $? check_written $capacity || return $? check_read $capacity || return $? } # Random write to conventional zones. test14() { local off size if ! result=($(first_online_zone "$dev")); then echo "Failed to determine first online zone" exit 1 fi off=${result[0]} prep_write size=$((16 * 2**20)) # 20 MB require_conv_zone_bytes "${size}" || return $SKIP_TESTCASE run_one_fio_job "$(ioengine "libaio")" --iodepth=64 --rw=randwrite --bs=16K \ --zonemode=zbd --zonesize="${zone_size}" --do_verify=1 \ --verify=md5 --offset=$off --size=$size\ >>"${logfile}.${test_number}" 2>&1 || return $? check_written $((size)) || return $? check_read $((size)) || return $? } # Sequential read on a mix of empty and full zones. test15() { local i off size bs local w_off w_size w_capacity for ((i=0;i<4;i++)); do [ -n "$is_zbd" ] && reset_zone "$dev" $((first_sequential_zone_sector + i*sectors_per_zone)) done prep_write w_off=$(((first_sequential_zone_sector + 2 * sectors_per_zone) * 512)) w_size=$((2 * zone_size)) w_capacity=$(total_zone_capacity 2 $w_off $dev) off=$((first_sequential_zone_sector * 512)) size=$((4 * zone_size)) bs=$(min $((zone_size / 16)) "$zone_cap_bs") write_and_run_one_fio_job "${w_off}" "${w_size}" \ "$(ioengine "psync")" --rw=read --bs="$bs" \ --zonemode=zbd --zonesize="${zone_size}" --offset=$off \ --size=$((size)) >>"${logfile}.${test_number}" 2>&1 || return $? check_written $((w_capacity)) || return $? check_read $((w_capacity)) } # Random read on a mix of empty and full zones. test16() { local off size local i w_off w_size w_capacity for ((i=0;i<4;i++)); do [ -n "$is_zbd" ] && reset_zone "$dev" $((first_sequential_zone_sector + i*sectors_per_zone)) done prep_write w_off=$(((first_sequential_zone_sector + 2 * sectors_per_zone) * 512)) w_size=$((2 * zone_size)) w_capacity=$(total_zone_capacity 2 $w_off $dev) off=$((first_sequential_zone_sector * 512)) size=$((4 * zone_size)) write_and_run_one_fio_job "${w_off}" "${w_size}" \ "$(ioengine "libaio")" --iodepth=64 --rw=randread --bs=16K \ --zonemode=zbd --zonesize="${zone_size}" --offset=$off \ --size=$size >>"${logfile}.${test_number}" 2>&1 || return $? check_written $w_capacity || return $? check_read $size || return $? } # Random reads and writes in the last zone. test17() { local io off last read size written off=$(((disk_size / zone_size - 1) * zone_size)) size=$((disk_size - off)) if ! last=($(last_online_zone "$dev")); then echo "Failed to determine last online zone" exit 1 fi if [[ "$((last * 512))" -lt "$off" ]]; then off=$((last * 512)) size=$zone_size fi if [ -n "$is_zbd" ]; then reset_zone "$dev" $((off / 512)) || return $? fi prep_write run_one_fio_job "$(ioengine "libaio")" --iodepth=8 --rw=randrw --bs=4K \ --zonemode=zbd --zonesize="${zone_size}" \ --offset=$off --loops=2 --norandommap=1 \ --size="$size"\ >>"${logfile}.${test_number}" 2>&1 || return $? written=$(fio_written <"${logfile}.${test_number}") read=$(fio_read <"${logfile}.${test_number}") io=$((written + read)) echo "Total number of bytes read and written: $io <> $size" \ >>"${logfile}.${test_number}" [ $io = $((size * 2)) ]; } # Out-of-range zone reset threshold and frequency parameters. test18() { run_fio_on_seq --zone_reset_threshold=-1 |& tee -a "${logfile}.${test_number}" | grep -q 'value out of range' || return $? } test19() { run_fio_on_seq --zone_reset_threshold=2 |& tee -a "${logfile}.${test_number}" | grep -q 'value out of range' || return $? } test20() { run_fio_on_seq --zone_reset_threshold=.4:.6 |& tee -a "${logfile}.${test_number}" | grep -q 'the list exceeding max length' || return $? } test21() { run_fio_on_seq --zone_reset_frequency=-1 |& tee -a "${logfile}.${test_number}" | grep -q 'value out of range' || return $? } test22() { run_fio_on_seq --zone_reset_frequency=2 |& tee -a "${logfile}.${test_number}" | grep -q 'value out of range' || return $? } test23() { run_fio_on_seq --zone_reset_frequency=.4:.6 |& tee -a "${logfile}.${test_number}" | grep -q 'the list exceeding max length' || return $? } test24() { local bs loops=9 size=$((zone_size)) local off capacity prep_write off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 1 $off $dev) bs=$(min $((256*1024)) "$zone_size") run_fio_on_seq "$(ioengine "psync")" --rw=write --bs="$bs" \ --size=$size --loops=$loops \ --zone_reset_frequency=.01 --zone_reset_threshold=.90 \ >> "${logfile}.${test_number}" 2>&1 || return $? check_written $((capacity * loops)) || return $? check_reset_count -eq 8 || check_reset_count -eq 9 || check_reset_count -eq 10 || return $? } # Multiple non-overlapping sequential write jobs for the same drive. test25() { local i opts=() for ((i=0;i<16;i++)); do [ -n "$is_zbd" ] && reset_zone "$dev" $((first_sequential_zone_sector + i*sectors_per_zone)) done prep_write for ((i=0;i<16;i++)); do opts+=("--name=job$i" "--filename=$dev" "--thread=1" "--direct=1") opts+=("--offset=$((first_sequential_zone_sector*512 + zone_size*i))") opts+=("--size=$zone_size" "$(ioengine "psync")" "--rw=write" "--bs=16K") opts+=("--zonemode=zbd" "--zonesize=${zone_size}" "--group_reporting=1") opts+=(${job_var_opts[@]}) done run_fio "${opts[@]}" >> "${logfile}.${test_number}" 2>&1 || return $? } write_to_first_seq_zone() { local loops=4 r local off capacity prep_write off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 1 $off $dev) r=$(((RANDOM << 16) | RANDOM)) run_fio --name="$dev" --filename="$dev" "$(ioengine "psync")" --rw="$1" \ --thread=1 --do_verify=1 --verify=md5 --direct=1 --bs=4K \ --offset=$off \ --size=$zone_size --loops=$loops --randseed="$r" \ --zonemode=zbd --zonesize="${zone_size}" --group_reporting=1 \ --gtod_reduce=1 >> "${logfile}.${test_number}" 2>&1 || return $? check_written $((loops * capacity)) || return $? } # Overwrite the first sequential zone four times sequentially. test26() { write_to_first_seq_zone write } # Overwrite the first sequential zone four times using random writes. test27() { write_to_first_seq_zone randwrite } # Multiple overlapping random write jobs for the same drive. test28() { local i jobs=16 off opts require_seq_zones 65 || return $SKIP_TESTCASE off=$((first_sequential_zone_sector * 512 + 64 * zone_size)) [ -n "$is_zbd" ] && reset_zone "$dev" $((off / 512)) prep_write opts=("--debug=zbd") capacity=$(total_zone_capacity 1 $off $dev) for ((i=0;i> "${logfile}.${test_number}" 2>&1 || return $? check_written $((jobs * $capacity)) || return $? check_reset_count -eq $jobs || check_reset_count -eq $((jobs - 1)) || return $? } # Multiple overlapping random write jobs for the same drive and with a limited # number of open zones. test29() { local i jobs=16 off opts=() require_seq_zones 80 || return $SKIP_TESTCASE off=$((first_sequential_zone_sector * 512 + 64 * zone_size)) size=$((16*zone_size)) [ -n "$is_zbd" ] && reset_zone "$dev" -1 opts=("--debug=zbd") for ((i=0;i> "${logfile}.${test_number}" 2>&1 || return $? check_written $((jobs * zone_size)) || return $? } # Random reads and writes across the entire disk for 30s. test30() { local off prep_write off=$((first_sequential_zone_sector * 512)) run_one_fio_job "$(ioengine "libaio")" --iodepth=8 --rw=randrw \ --bs="$(max $((zone_size / 128)) "$min_seq_write_size")"\ --zonemode=zbd --zonesize="${zone_size}" --offset=$off\ --loops=2 --time_based --runtime=30s --norandommap=1\ >>"${logfile}.${test_number}" 2>&1 } # Random reads across all sequential zones for 30s. This is not only a fio # test but also allows to verify the performance of a drive. test31() { local bs inc nz off opts size [ -n "$is_zbd" ] && reset_zone "$dev" -1 # As preparation, write 128 KB to sequential write required zones. Limit # write target zones up to max_open_zones to keep test time reasonable. # To distribute the write target zones evenly, skip certain zones for every # write. Utilize zonemode strided for such write patterns. bs=$((128 * 1024)) off=$((first_sequential_zone_sector * 512)) size=$((disk_size - off)) nz=$((max_open_zones)) if [[ $nz -eq 0 ]]; then nz=128 fi if ((size / zone_size < nz)); then nz=$((size / zone_size)) fi inc=$(((size / nz / zone_size) * zone_size)) opts=("--name=$dev" "--filename=$dev" "--rw=write" "--bs=${bs}") opts+=("--offset=$off" "--size=$((inc * nz))" "--io_size=$((bs * nz))") opts+=("--zonemode=strided" "--zonesize=${bs}" "--zonerange=${inc}") opts+=("--direct=1" "$(ioengine "psync")") echo "fio ${opts[@]}" >> "${logfile}.${test_number}" "$(dirname "$0")/../../fio" "${opts[@]}" >> "${logfile}.${test_number}" \ 2>&1 || return $? # Next, run the test. opts=("--name=$dev" "--filename=$dev" "--offset=$off" "--size=$size") opts+=("--bs=$bs" "$(ioengine "psync")" "--rw=randread" "--direct=1") opts+=("--thread=1" "--time_based" "--runtime=30" "--zonemode=zbd") opts+=("--zonesize=${zone_size}") opts+=(${job_var_opts[@]}) run_fio "${opts[@]}" >> "${logfile}.${test_number}" 2>&1 || return $? } # Random writes across all sequential zones. This is not only a fio test but # also allows to verify the performance of a drive. test32() { local off opts=() size require_zbd || return $SKIP_TESTCASE [ -n "$is_zbd" ] && reset_zone "$dev" -1 off=$((first_sequential_zone_sector * 512)) size=$((disk_size - off)) opts+=("--name=$dev" "--filename=$dev" "--offset=$off" "--size=$size") opts+=("--bs=128K" "$(ioengine "psync")" "--rw=randwrite" "--direct=1") opts+=("--thread=1" "--time_based" "--runtime=30") opts+=("--max_open_zones=$max_open_zones" "--zonemode=zbd") opts+=("--zonesize=${zone_size}") run_fio "${opts[@]}" >> "${logfile}.${test_number}" 2>&1 || return $? } # Write to sequential zones with a block size that is not a divisor of the # zone size. test33() { local bs io_size size local off capacity=0; [ -n "$is_zbd" ] && reset_zone "$dev" -1 off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 1 $off $dev) size=$((2 * zone_size)) io_size=$((5 * capacity)) bs=$((3 * capacity / 4)) run_fio_on_seq "$(ioengine "psync")" --iodepth=1 --rw=write \ --size=$size --io_size=$io_size --bs=$bs \ >> "${logfile}.${test_number}" 2>&1 || return $? check_written $((io_size / bs * bs)) || return $? } # Test repeated async write job with verify using two unaligned block sizes. test34() { local bs off zone_capacity local -a block_sizes require_zbd || return $SKIP_TESTCASE prep_write off=$((first_sequential_zone_sector * 512)) zone_capacity=$(total_zone_capacity 1 $off $dev) block_sizes=($((4096 * 7)) $(($(min ${zone_capacity} 4194304) - 4096))) for bs in ${block_sizes[@]}; do run_fio --name=job --filename="${dev}" --rw=randwrite \ --bs="${bs}" --offset="${off}" \ --size=$((4 * zone_size)) --iodepth=256 \ "$(ioengine "libaio")" --time_based=1 --runtime=15s \ --zonemode=zbd --direct=1 --zonesize="${zone_size}" \ --verify=crc32c --do_verify=1 ${job_var_opts[@]} \ >> "${logfile}.${test_number}" 2>&1 || return $? done } # Test 1/4 for the I/O boundary rounding code: $size < $zone_size. test35() { local bs off io_size size prep_write off=$(((first_sequential_zone_sector + 1) * 512)) size=$((zone_size - 2 * 512)) bs=$((zone_size / 4)) run_one_fio_job --offset=$off --size=$size "$(ioengine "psync")" \ --iodepth=1 --rw=write --do_verify=1 --verify=md5 \ --bs=$bs --zonemode=zbd --zonesize="${zone_size}" \ >> "${logfile}.${test_number}" 2>&1 && return 1 grep -q 'io_size must be at least one zone' "${logfile}.${test_number}" } # Test 2/4 for the I/O boundary rounding code: $size < $zone_size. test36() { local bs off io_size size prep_write off=$(((first_sequential_zone_sector) * 512)) size=$((zone_size - 512)) bs=$((zone_size / 4)) run_one_fio_job --offset=$off --size=$size "$(ioengine "psync")" \ --iodepth=1 --rw=write --do_verify=1 --verify=md5 \ --bs=$bs --zonemode=zbd --zonesize="${zone_size}" \ >> "${logfile}.${test_number}" 2>&1 && return 1 grep -q 'io_size must be at least one zone' "${logfile}.${test_number}" } # Test 3/4 for the I/O boundary rounding code: $size > $zone_size. test37() { local bs off size capacity prep_write capacity=$(total_zone_capacity 1 $((first_sequential_zone_sector*512)) $dev) if [ "$first_sequential_zone_sector" = 0 ]; then off=0 else off=$(((first_sequential_zone_sector - 1) * 512)) fi size=$((zone_size + 2 * 512)) bs=$(min $((zone_size / 4)) "$zone_cap_bs") run_one_fio_job --offset=$off --size=$size "$(ioengine "psync")" \ --iodepth=1 --rw=write --do_verify=1 --verify=md5 \ --bs=$bs --zonemode=zbd --zonesize="${zone_size}" \ >> "${logfile}.${test_number}" 2>&1 check_written $capacity || return $? } # Test 4/4 for the I/O boundary rounding code: $offset > $disk_size - $zone_size test38() { local bs off size prep_write size=$((min_seq_write_size)) off=$((disk_size - min_seq_write_size)) bs=$((min_seq_write_size)) run_one_fio_job --offset=$off --size=$size "$(ioengine "psync")" \ --iodepth=1 --rw=write --do_verify=1 --verify=md5 \ --bs=$bs --zonemode=zbd --zonesize="${zone_size}" \ >> "${logfile}.${test_number}" 2>&1 && return 1 grep -q 'io_size must be at least one zone' "${logfile}.${test_number}" } # Read one block from a block device. read_one_block() { local off local bs if ! result=($(first_online_zone "$dev")); then echo "Failed to determine first online zone" exit 1 fi off=${result[0]} bs=$((min_seq_write_size)) run_one_fio_job --rw=read "$(ioengine "psync")" --offset=$off --bs=$bs \ --size=$bs "$@" 2>&1 | tee -a "${logfile}.${test_number}" } # Check whether fio accepts --zonemode=none for zoned block devices. test39() { require_zbd || return $SKIP_TESTCASE read_one_block --zonemode=none >/dev/null || return $? check_read $((min_seq_write_size)) || return $? } # Check whether fio accepts --zonemode=strided for zoned block devices. test40() { local bs bs=$((min_seq_write_size)) require_zbd || return $SKIP_TESTCASE read_one_block --zonemode=strided | grep -q 'fio: --zonesize must be specified when using --zonemode=strided' || return $? read_one_block --zonemode=strided --zonesize=$bs >/dev/null || return $? check_read $bs || return $? } # Check whether fio checks the zone size for zoned block devices. test41() { require_zbd || return $SKIP_TESTCASE read_one_block --zonemode=zbd --zonesize=$((2 * zone_size)) | grep -q 'job parameter zonesize.*does not match disk zone size' } # Check whether fio handles --zonesize=0 correctly for regular block devices. test42() { require_regular_block_dev || return $SKIP_TESTCASE read_one_block --zonemode=zbd --zonesize=0 | grep -q 'Specifying the zone size is mandatory for regular file/block device with --zonemode=zbd' } # Check whether fio handles --zonesize=1 correctly for regular block devices. test43() { require_regular_block_dev || return $SKIP_TESTCASE read_one_block --zonemode=zbd --zonesize=1 | grep -q 'zone size must be at least 512 bytes for --zonemode=zbd' } # Check whether fio handles --zonemode=none --zonesize=1 correctly. test44() { read_one_block --zonemode=none --zonesize=1 | grep -q 'fio: --zonemode=none and --zonesize are not compatible' } test45() { local bs i local grep_str="fio: first I/O failed. If .* is a zoned block device, consider --zonemode=zbd" require_zbd || return $SKIP_TESTCASE prep_write bs=$((min_seq_write_size)) for ((i = 0; i < 10; i++)); do run_one_fio_job "$(ioengine "psync")" --iodepth=1 --rw=randwrite \ --offset=$((first_sequential_zone_sector * 512)) \ --bs="$bs" --time_based --runtime=1s \ --do_verify=1 --verify=md5 \ >> "${logfile}.${test_number}" 2>&1 grep -qe "$grep_str" "${logfile}.${test_number}" && return 0 done return 1 } # Random write to sequential zones, libaio, 8 jobs, queue depth 64 per job test46() { local size prep_write size=$((4 * zone_size)) run_fio_on_seq "$(ioengine "libaio")" --iodepth=64 --rw=randwrite --bs=4K \ --group_reporting=1 --numjobs=8 \ >> "${logfile}.${test_number}" 2>&1 || return $? check_written $((size * 8)) || return $? } # Check whether fio handles --zonemode=zbd --zoneskip=1 correctly. test47() { local bs prep_write bs=$((min_seq_write_size)) run_fio_on_seq "$(ioengine "psync")" --rw=write --bs=$bs --zoneskip=1 \ >> "${logfile}.${test_number}" 2>&1 && return 1 grep -q 'zoneskip 1 is not a multiple of the device zone size' "${logfile}.${test_number}" } # Multiple overlapping random write jobs for the same drive and with a # limited number of open zones. This is similar to test29, but uses libaio # to stress test zone locking. test48() { local i jobs=16 off opts=() require_zbd || return $SKIP_TESTCASE require_seq_zones 80 || return $SKIP_TESTCASE off=$((first_sequential_zone_sector * 512 + 64 * zone_size)) size=$((16*zone_size)) [ -n "$is_zbd" ] && reset_zone "$dev" -1 opts=("--aux-path=/tmp" "--allow_file_create=0" "--significant_figures=10") opts+=("--debug=zbd") opts+=("$(ioengine "libaio")" "--rw=randwrite" "--direct=1") opts+=("--time_based" "--runtime=30") opts+=("--zonemode=zbd" "--zonesize=${zone_size}") opts+=("--max_open_zones=4") for ((i=0;i>"${logfile}.${test_number}" timeout -v -s KILL 180s \ "${dynamic_analyzer[@]}" "$fio" "${opts[@]}" \ >> "${logfile}.${test_number}" 2>&1 || return $? } # Check if fio handles --zonecapacity on a normal block device correctly test49() { require_regular_block_dev || return $SKIP_TESTCASE size=$((2 * zone_size)) capacity=$((zone_size * 3 / 4)) run_one_fio_job "$(ioengine "psync")" --rw=write \ --zonemode=zbd --zonesize="${zone_size}" \ --zonecapacity=${capacity} \ --verify=md5 --size=${size} >>"${logfile}.${test_number}" 2>&1 || return $? check_written $((capacity * 2)) || return $? check_read $((capacity * 2)) || return $? } # Verify that conv zones are not locked and only seq zones are locked during # random read on conv-seq mixed zones. test50() { local off require_zbd || return $SKIP_TESTCASE require_conv_zones 8 || return $SKIP_TESTCASE require_seq_zones 8 || return $SKIP_TESTCASE reset_zone "${dev}" -1 off=$((first_sequential_zone_sector * 512 - 8 * zone_size)) run_fio --name=job --filename=${dev} --offset=${off} --bs=64K \ --size=$((16 * zone_size)) "$(ioengine "libaio")" --rw=randread\ --time_based --runtime=3 --zonemode=zbd --zonesize=${zone_size}\ --direct=1 --group_reporting=1 ${job_var_opts[@]} \ >> "${logfile}.${test_number}" 2>&1 || return $? } # Verify that conv zones are neither locked nor opened during random write on # conv-seq mixed zones. Zone lock and zone open shall happen only on seq zones. test51() { local off jobs=16 local -a opts require_zbd || return $SKIP_TESTCASE require_conv_zones 8 || return $SKIP_TESTCASE require_seq_zones 8 || return $SKIP_TESTCASE reset_zone "$dev" -1 off=$((first_sequential_zone_sector * 512 - 8 * zone_size)) opts+=("--size=$((16 * zone_size))" "$(ioengine "libaio")") opts+=("--zonemode=zbd" "--direct=1" "--zonesize=${zone_size}") opts+=("--max_open_zones=2" "--offset=$off") opts+=("--thread=1" "--group_reporting=1") opts+=("--time_based" "--runtime=30" "--rw=randwrite") for ((i=0;i> "${logfile}.${test_number}" 2>&1 || return $? } # Verify that zone_reset_threshold only accounts written bytes in seq # zones, and written data bytes of conv zones are not counted. test52() { local off io_size require_zbd || return $SKIP_TESTCASE require_conv_zones 8 || return $SKIP_TESTCASE require_seq_zones 8 || return $SKIP_TESTCASE reset_zone "${dev}" -1 # Total I/O size is 1/8 = 0.125 of the I/O range of cont + seq zones. # Set zone_reset_threshold as 0.1. The threshold size is less than # 0.125, then, reset count zero is expected. # On the other hand, half of the I/O range is covered by conv zones. # If fio would count the conv zones for zone_reset_threshold, the ratio # were more than 0.5 and would trigger zone resets. off=$((first_sequential_zone_sector * 512 - 8 * zone_size)) io_size=$((zone_size * 16 / 8)) run_fio --name=job --filename=$dev --rw=randwrite --bs=$((zone_size/16))\ --size=$((zone_size * 16)) --softrandommap=1 \ --io_size=$((io_size)) "$(ioengine "psync")" --offset=$off \ --zonemode=zbd --direct=1 --zonesize=${zone_size} \ --zone_reset_threshold=.1 --zone_reset_frequency=1.0 \ ${job_var_opts[@]} --debug=zbd \ >> "${logfile}.${test_number}" 2>&1 || return $? check_written ${io_size} || return $? check_reset_count -eq 0 || return $? } # Check both reads and writes are executed by random I/O to conventional zones. test53() { local off capacity io read_b=0 written_b=0 require_zbd || return $SKIP_TESTCASE require_conv_zones 4 || return $SKIP_TESTCASE off=$((first_sequential_zone_sector * 512 - 4 * zone_size)) capacity=$(total_zone_capacity 4 $off $dev) run_fio --name=job --filename=${dev} --rw=randrw --bs=64K \ --size=$((4 * zone_size)) "$(ioengine "psync")" --offset=${off}\ --zonemode=zbd --direct=1 --zonesize=${zone_size} \ ${job_var_opts[@]} \ >> "${logfile}.${test_number}" 2>&1 || return $? written_b=$(fio_written <"${logfile}.${test_number}") read_b=$(fio_read <"${logfile}.${test_number}") io=$((written_b + read_b)) echo "Number of bytes read: $read_b" >>"${logfile}.${test_number}" echo "Number of bytes written: $written_b" >>"${logfile}.${test_number}" echo "Total number of bytes read and written: $io <> $capacity" \ >>"${logfile}.${test_number}" if ((io==capacity && written_b != 0 && read_b != 0)); then return 0 fi return 1 } # Test read/write mix with verify. test54() { require_zbd || return $SKIP_TESTCASE require_seq_zones 8 || return $SKIP_TESTCASE prep_write run_fio --name=job --filename=${dev} "$(ioengine "libaio")" \ --time_based=1 --runtime=30s --continue_on_error=0 \ --offset=$((first_sequential_zone_sector * 512)) \ --size=$((8*zone_size)) --direct=1 --iodepth=1 \ --rw=randrw:2 --rwmixwrite=25 --bsrange=4k-${zone_size} \ --zonemode=zbd --zonesize=${zone_size} \ --verify=crc32c --do_verify=1 --verify_backlog=2 \ --alloc-size=65536 --random_generator=tausworthe64 \ ${job_var_opts[@]} --debug=zbd \ >> "${logfile}.${test_number}" 2>&1 || return $? } # test 'z' suffix parsing only test55() { local bs bs=$((min_seq_write_size)) require_zbd || return $SKIP_TESTCASE # offset=1z + offset_increment=10z + size=2z require_seq_zones 13 || return $SKIP_TESTCASE prep_write run_fio --name=j \ --filename=${dev} \ --direct=1 \ "$(ioengine "psync")" \ --zonemode=zbd \ --zonesize=${zone_size} \ --rw=write \ --bs=${bs} \ --numjobs=2 \ --offset_increment=10z \ --offset=1z \ --size=2z \ --io_size=3z \ ${job_var_opts[@]} --debug=zbd \ >> "${logfile}.${test_number}" 2>&1 || return $? } # test 'z' suffix parsing only test56() { local bs bs=$((min_seq_write_size)) require_regular_block_dev || return $SKIP_TESTCASE require_seq_zones 10 || return $SKIP_TESTCASE prep_write run_fio --name=j \ --filename=${dev} \ --direct=1 \ "$(ioengine "psync")" \ --zonemode=strided \ --zonesize=${zone_size} \ --rw=write \ --bs=${bs} \ --size=10z \ --zoneskip=2z \ ${job_var_opts[@]} --debug=zbd \ >> "${logfile}.${test_number}" 2>&1 || return $? } # Test that repeated async write job does not cause zone reset during writes # in-flight, when the block size is not a divisor of the zone size. test57() { local bs off require_zbd || return $SKIP_TESTCASE prep_write bs=$((4096 * 7)) off=$((first_sequential_zone_sector * 512)) run_fio --name=job --filename="${dev}" --rw=randwrite --bs="${bs}" \ --offset="${off}" --size=$((4 * zone_size)) --iodepth=256 \ "$(ioengine "libaio")" --time_based=1 --runtime=30s \ --zonemode=zbd --direct=1 --zonesize="${zone_size}" \ ${job_var_opts[@]} \ >> "${logfile}.${test_number}" 2>&1 || return $? } # Random writes and random trims to sequential write required zones for 30s. test58() { local off size bs require_seq_zones 128 || return $SKIP_TESTCASE size=$((zone_size * 128)) bs="$(max $((zone_size / 128)) "$min_seq_write_size")" prep_write off=$((first_sequential_zone_sector * 512)) run_fio --zonemode=zbd --direct=1 --zonesize="${zone_size}" --thread=1 \ --filename="${dev}" --norandommap=1 \ --name="precondition" --rw=write "$(ioengine "psync")" \ --offset="${off}" --size=$((zone_size * 16)) --bs="${bs}" \ "${job_var_opts[@]}" \ --name=wjob --wait_for="precondition" --rw=randwrite \ "$(ioengine "libaio")" --iodepth=8 \ --offset="${off}" --size="${size}" --bs="${bs}" \ --time_based --runtime=30s --flow=128 "${job_var_opts[@]}" \ --name=trimjob --wait_for="precondition" --rw=randtrim \ "$(ioengine "psync")" \ --offset="${off}" --size="${size}" --bs="${zone_size}" \ --time_based --runtime=30s --flow=1 "${job_var_opts[@]}" \ >>"${logfile}.${test_number}" 2>&1 } # Test zone_reset_threshold with verify. test59() { local off bs loops=2 size=$((zone_size)) w local -a workloads=(write randwrite rw randrw) prep_write off=$((first_sequential_zone_sector * 512)) bs=$(min $((256*1024)) "$zone_size") for w in "${workloads[@]}"; do run_fio_on_seq "$(ioengine "psync")" --rw=${w} --bs="$bs" \ --size=$size --loops=$loops --do_verify=1 \ --verify=md5 --zone_reset_frequency=.9 \ --zone_reset_threshold=.1 \ >> "${logfile}.${test_number}" 2>&1 || return $? done } # Test fio errors out experimental_verify option with zonemode=zbd. test60() { run_fio_on_seq "$(ioengine "psync")" --rw=write --size=$zone_size \ --do_verify=1 --verify=md5 --experimental_verify=1 \ >> "${logfile}.${test_number}" 2>&1 && return 1 grep -q 'not support experimental verify' "${logfile}.${test_number}" } # Test fio errors out zone_reset_threshold option for multiple jobs with # different write ranges. test61() { run_fio_on_seq "$(ioengine "psync")" --rw=write --size="$zone_size" \ --numjobs=2 --offset_increment="$zone_size" \ --zone_reset_threshold=0.1 --zone_reset_frequency=1 \ --exitall_on_error=1 \ >> "${logfile}.${test_number}" 2>&1 && return 1 grep -q 'different write ranges' "${logfile}.${test_number}" } # Test zone_reset_threshold option works for multiple jobs with same write # range. test62() { local bs loops=2 size=$((zone_size)) [ -n "$is_zbd" ] && reset_zone "$dev" -1 # Two jobs write to single zone twice. Reset zone happens at next write # after half of the zone gets filled. So 2 * 2 * 2 - 1 = 7 times zone # resets are expected. bs=$(min $((256*1024)) $((zone_size / 4))) run_fio_on_seq "$(ioengine "psync")" --rw=write --bs="$bs" \ --size=$size --loops=$loops --numjobs=2 \ --zone_reset_frequency=1 --zone_reset_threshold=.5 \ --group_reporting=1 \ >> "${logfile}.${test_number}" 2>&1 || return $? check_written $((size * loops * 2)) || return $? check_reset_count -eq 7 || return $? } # Test zone_reset_threshold option works for a read job and a write job with # different IO range. test63() { local bs loops=2 size=$((zone_size)) off1 off2 [ -n "$is_zbd" ] && reset_zone "$dev" -1 off1=$((first_sequential_zone_sector * 512)) off2=$((off1 + zone_size)) bs=$(min $((256*1024)) $((zone_size / 4))) # One job writes to single zone twice. Reset zone happens at next write # after half of the zone gets filled. So 2 * 2 - 1 = 3 times zone resets # are expected. run_fio "$(ioengine "psync")" --bs="$bs" --size=$size --loops=$loops \ --filename="$dev" --group_reporting=1 \ --zonemode=zbd --zonesize="$zone_size" --direct=1 \ --zone_reset_frequency=1 --zone_reset_threshold=.5 \ --name=r --rw=read --offset=$off1 "${job_var_opts[@]}" \ --name=w --rw=write --offset=$off2 "${job_var_opts[@]}" \ >> "${logfile}.${test_number}" 2>&1 || return $? check_written $((size * loops)) || return $? check_reset_count -eq 3 || return $? } # Test write zone accounting handles almost full zones correctly. Prepare an # almost full, but not full zone. Write to the zone with verify using larger # block size. Then confirm fio does not report write zone accounting failure. test64() { local bs cap [ -n "$is_zbd" ] && reset_zone "$dev" -1 bs=$((zone_size / 8)) cap=$(total_zone_capacity 1 $((first_sequential_zone_sector*512)) $dev) run_fio_on_seq "$(ioengine "psync")" --rw=write --bs="$bs" \ --size=$((zone_size)) \ --io_size=$((cap - bs)) \ >> "${logfile}.${test_number}" 2>&1 || return $? bs=$((zone_size / 2)) run_fio_on_seq "$(ioengine "psync")" --rw=write --bs="$bs" \ --size=$((zone_size)) --do_verify=1 --verify=md5 \ >> "${logfile}.${test_number}" 2>&1 || return $? } # Test open zone accounting handles trim workload correctly. Prepare open zones # as many as max_open_zones=4. Trim one of the 4 zones. Then write to another # zone and check the write amount is expected size. test65() { local off capacity [ -n "$is_zbd" ] && reset_zone "$dev" -1 off=$((first_sequential_zone_sector * 512)) capacity=$(total_zone_capacity 1 $off "$dev") run_fio --zonemode=zbd --direct=1 --zonesize="$zone_size" --thread=1 \ --filename="$dev" --group_reporting=1 --max_open_zones=4 \ "$(ioengine "psync")" \ --name="prep_open_zones" --rw=randwrite --offset="$off" \ --size="$((zone_size * 4))" --bs=4096 --io_size="$zone_size" \ --name=trimjob --wait_for="prep_open_zones" --rw=trim \ --bs="$zone_size" --offset="$off" --size="$zone_size" \ --name=write --wait_for="trimjob" --rw=write --bs=4096 \ --offset="$((off + zone_size * 4))" --size="$zone_size" \ >> "${logfile}.${test_number}" 2>&1 check_written $((zone_size + capacity)) } # Test closed zones are handled as open zones. This test case requires zoned # block devices which has same max_open_zones and max_active_zones. test66() { local i off require_zbd || return $SKIP_TESTCASE require_max_active_zones 2 || return $SKIP_TESTCASE require_max_open_zones "${max_active_zones}" || return $SKIP_TESTCASE require_seq_zones $((max_active_zones * 16)) || return $SKIP_TESTCASE reset_zone "$dev" -1 # Prepare max_active_zones in closed condition. off=$((first_sequential_zone_sector * 512)) run_fio --name=w --filename="$dev" --zonemod=zbd --direct=1 \ --offset=$((off)) --zonesize="${zone_size}" --rw=randwrite \ --bs=4096 --size="$((zone_size * max_active_zones))" \ --io_size="${zone_size}" "$(ioengine "psync")" \ >> "${logfile}.${test_number}" 2>&1 || return $? for ((i = 0; i < max_active_zones; i++)); do close_zone "$dev" $((off / 512)) || return $? off=$((off + zone_size)) done # Run random write to the closed zones and empty zones. This confirms # that fio handles closed zones as write target open zones. Otherwise, # fio writes to the empty zones and hit the max_active_zones limit. off=$((first_sequential_zone_sector * 512)) run_one_fio_job --zonemod=zbd --direct=1 \ "$(ioengine "psync")" --rw=randwrite --bs=4096 \ --max_open_zones="$max_active_zones" --offset=$((off)) \ --size=$((max_active_zones * 16 * zone_size)) \ --io_size=$((zone_size)) --zonesize="${zone_size}" \ --time_based --runtime=5s \ >> "${logfile}.${test_number}" 2>&1 } # Test max_active_zones limit failure is reported with good error message. test67() { local i off require_zbd || return $SKIP_TESTCASE require_max_active_zones 2 || return $SKIP_TESTCASE require_max_open_zones "${max_active_zones}" || return $SKIP_TESTCASE require_seq_zones $((max_active_zones + 1)) || return $SKIP_TESTCASE reset_zone "$dev" -1 # Prepare max_active_zones in open condition. off=$((first_sequential_zone_sector * 512)) run_fio --name=w --filename="$dev" --zonemod=zbd --direct=1 \ --offset=$((off)) --zonesize="${zone_size}" --rw=randwrite \ --bs=4096 --size="$((zone_size * max_active_zones))" \ --io_size="${zone_size}" "$(ioengine "psync")" \ >> "${logfile}.${test_number}" 2>&1 || return $? # Write to antoher zone and trigger max_active_zones limit error. off=$((off + zone_size * max_active_zones)) run_one_fio_job --zonemod=zbd --direct=1 "$(ioengine "psync")" \ --rw=write --bs=$min_seq_write_size --offset=$((off)) \ --size=$((zone_size)) --zonesize="${zone_size}" \ >> "${logfile}.${test_number}" 2>&1 && return $? grep -q 'Exceeded max_active_zones limit' "${logfile}.${test_number}" } # Test rw=randrw and rwmixwrite=0 options do not issue write I/O unit test68() { local off size require_zbd || return "$SKIP_TESTCASE" reset_zone "${dev}" -1 # Write some data as preparation off=$((first_sequential_zone_sector * 512)) size=$min_seq_write_size run_one_fio_job "$(ioengine "psync")" --rw=write --offset="$off" \ --io_size="$size" --zonemode=strided \ --zonesize="$zone_size" --zonerange="$zone_size" \ >> "${logfile}.${test_number}" 2>&1 || return $? # Run random mixed read and write specifying zero write ratio run_fio_on_seq "$(ioengine "psync")" --rw=randrw --rwmixwrite=0 \ --time_based --runtime=1s \ >> "${logfile}.${test_number}" 2>&1 || return $? # "WRITE:" shall be recoreded only once for the preparation [[ $(grep -c "WRITE:" "${logfile}.${test_number}") == 1 ]] } # Test rw=rw and verify_backlog=1 options do not cause verify failure test69() { require_zbd || return "$SKIP_TESTCASE" prep_write run_fio --name=job --filename="$dev" --time_based --runtime=15s \ --rw=rw --offset=$((first_sequential_zone_sector * 512)) \ "$(ioengine "libaio")" --iodepth=32 --randrepeat=0 \ --verify=crc32 --verify_backlog=1 --zonemode=zbd --direct=1 \ >> "${logfile}.${test_number}" 2>&1 || return $? } # Test max_open_zones and job_max_open_zones do not error out for non-write jobs test70() { require_zbd || return "$SKIP_TESTCASE" reset_zone "${dev}" -1 # Write data to two zones and make them open run_fio_on_seq "$(ioengine "psync")" --io_size="$min_seq_write_size" \ --rw=write --offset_increment=1z --numjobs=2 \ --group_reporting=1 >> "${logfile}.${test_number}" 2>&1 # Confirm max_open_zones=1 for read workload does not fail run_fio_on_seq "$(ioengine "psync")" --io_size="$min_seq_write_size" \ --rw=read --max_open_zones=1 \ >> "${logfile}.${test_number}" 2>&1 || return $? # Confirm job_max_open_zones=1 for read workload does not fail run_fio_on_seq "$(ioengine "psync")" --io_size="$min_seq_write_size" \ --rw=read --job_max_open_zones=1 \ >> "${logfile}.${test_number}" 2>&1 grep -q 'valid only for write jobs' \ "${logfile}.${test_number}" || return $? # Confirm max_open_zones=1 for trim workload does not fail run_fio_on_seq "$(ioengine "psync")" --rw=trim --io_size=1z \ --bs="$zone_size" --max_open_zones=1 \ >> "${logfile}.${test_number}" 2>&1 } SECONDS=0 tests=() dynamic_analyzer=() reset_all_zones= reset_before_write= use_libzbc= zbd_debug= max_open_zones_opt= quit_on_err= force_io_uring= start_test=1 while [ "${1#-}" != "$1" ]; do case "$1" in -d) dynamic_analyzer=(valgrind "--read-var-info=yes" "--tool=drd" "--show-confl-seg=no"); shift;; -e) dynamic_analyzer=(valgrind "--read-var-info=yes" "--tool=helgrind"); shift;; -l) use_libzbc=1; shift;; -r) reset_all_zones=1; shift;; -w) reset_before_write=1; shift;; -t) tests+=("$2"); shift; shift;; -o) max_open_zones_opt="${2}"; shift; shift;; -s) start_test=$2; shift; shift;; -v) dynamic_analyzer=(valgrind "--read-var-info=yes"); shift;; -q) quit_on_err=1; shift;; -z) zbd_debug=1; shift;; -u) force_io_uring=1; shift;; --) shift; break;; *) usage; exit 1;; esac done if [ $# != 1 ]; then usage exit 1 fi if [ -n "$use_libzbc" -a -n "$force_io_uring" ]; then echo "Please specify only one of -l and -u options" exit 1 fi # shellcheck source=functions source "$(dirname "$0")/functions" || exit $? global_var_opts=() job_var_opts=() if [ -n "$zbd_debug" ]; then global_var_opts+=("--debug=zbd") fi dev=$1 realdev=$(readlink -f "$dev") basename=$(basename "$realdev") if [[ -b "$realdev" ]]; then major=$((0x$(stat -L -c '%t' "$realdev"))) || exit $? minor=$((0x$(stat -L -c '%T' "$realdev"))) || exit $? disk_size=$(($(<"/sys/dev/block/$major:$minor/size")*512)) # When the target is a partition device, get basename of its # holder device to access sysfs path of the holder device if [[ -r "/sys/dev/block/$major:$minor/partition" ]]; then realsysfs=$(readlink "/sys/dev/block/$major:$minor") basename=$(basename "${realsysfs%/*}") fi min_seq_write_size=$(min_seq_write_size "$basename") case "$(<"/sys/class/block/$basename/queue/zoned")" in host-managed|host-aware) is_zbd=true if ! check_blkzone "${dev}"; then exit 1 fi if ! result=($(first_sequential_zone "$dev")); then echo "Failed to determine first sequential zone" exit 1 fi first_sequential_zone_sector=${result[0]} sectors_per_zone=${result[1]} zone_size=$((sectors_per_zone * 512)) unrestricted_reads=$(urswrz "$dev") if ! max_open_zones=$(max_open_zones "$dev"); then echo "Failed to determine maximum number of open zones" exit 1 fi max_active_zones=$(max_active_zones "$dev") set_io_scheduler "$basename" deadline || exit $? if [ -n "$reset_all_zones" ]; then reset_zone "$dev" -1 fi ;; *) first_sequential_zone_sector=$(((disk_size / 2) & (min_seq_write_size - 1))) zone_size=$(max 65536 "$min_seq_write_size") sectors_per_zone=$((zone_size / 512)) max_open_zones=128 max_active_zones=0 unrestricted_reads=1 set_io_scheduler "$basename" none || exit $? ;; esac elif [[ -c "$realdev" ]]; then # For an SG node, we must have libzbc option specified if [[ ! -n "$use_libzbc" ]]; then echo "Character device files can only be used with -l (libzbc) option" exit 1 fi if ! $(is_zbc "$dev"); then echo "Device is not a ZBC disk" exit 1 fi is_zbd=true if ! disk_size=($(( $(zbc_disk_sectors "$dev") * 512))); then echo "Failed to determine disk size" exit 1 fi if ! min_seq_write_size=($(zbc_physical_block_size "$dev")); then echo "Failed to determine physical block size" exit 1 fi if ! result=($(first_sequential_zone "$dev")); then echo "Failed to determine first sequential zone" exit 1 fi first_sequential_zone_sector=${result[0]} sectors_per_zone=${result[1]} zone_size=$((sectors_per_zone * 512)) unrestricted_reads=$(urswrz "$dev") if ! max_open_zones=$(max_open_zones "$dev"); then echo "Failed to determine maximum number of open zones" exit 1 fi max_active_zones=0 if [ -n "$reset_all_zones" ]; then reset_zone "$dev" -1 fi fi if [[ -n ${max_open_zones_opt} ]]; then # Override max_open_zones with the script option value max_open_zones="${max_open_zones_opt}" global_var_opts+=("--ignore_zone_limits=1") job_var_opts+=("--max_open_zones=${max_open_zones_opt}") fi echo -n "First sequential zone starts at sector $first_sequential_zone_sector;" echo " zone size: $((zone_size >> 20)) MB" zone_cap_bs=$(zone_cap_bs "$dev" "$zone_size") if [ "${#tests[@]}" = 0 ]; then readarray -t tests < <(declare -F | grep "test[0-9]*" | \ tr -c -d "[:digit:]\n" | sort -n) fi logfile=$0.log passed=0 skipped=0 failed=0 if [ -t 1 ]; then red="\e[1;31m" green="\e[1;32m" cyan="\e[1;36m" end="\e[m" else red="" green="" end="" fi rc=0 intr=0 trap 'intr=1' SIGINT ret=0 for test_number in "${tests[@]}"; do [ "${test_number}" -lt "${start_test}" ] && continue rm -f "${logfile}.${test_number}" unset SKIP_REASON echo -n "Running test $(printf "%02d" $test_number) ... " eval "test$test_number" ret=$? if ((!ret)) && check_log $test_number; then status="PASS" cc_status="${green}${status}${end}" ((passed++)) elif ((ret==SKIP_TESTCASE)); then status="SKIP" echo "${SKIP_REASON}" >> "${logfile}.${test_number}" cc_status="${cyan}${status}${end} ${SKIP_REASON}" ((skipped++)) else status="FAIL" cc_status="${red}${status}${end}" ((failed++)) rc=1 fi echo -e "$cc_status" echo "$status" >> "${logfile}.${test_number}" [ $intr -ne 0 ] && exit 1 [ -n "$quit_on_err" -a "$rc" -ne 0 ] && exit 1 done echo "$passed tests passed" if [ $skipped -gt 0 ]; then echo " $skipped tests skipped" fi if [ $failed -gt 0 ]; then echo " $failed tests failed" fi echo "Run time: $(TZ=UTC0 printf "%(%H:%M:%S)T\n" $(( SECONDS )) )" exit $rc fio-3.39/td_error.c000066400000000000000000000016061476262051600142250ustar00rootroot00000000000000#include "fio.h" #include "io_ddir.h" #include "td_error.h" static int __NON_FATAL_ERR[] = { EIO, EILSEQ }; enum error_type_bit td_error_type(enum fio_ddir ddir, int err) { if (err == EILSEQ) return ERROR_TYPE_VERIFY_BIT; if (ddir == DDIR_READ) return ERROR_TYPE_READ_BIT; return ERROR_TYPE_WRITE_BIT; } int td_non_fatal_error(struct thread_data *td, enum error_type_bit etype, int err) { unsigned int i; if (!td->o.ignore_error[etype]) { td->o.ignore_error[etype] = __NON_FATAL_ERR; td->o.ignore_error_nr[etype] = FIO_ARRAY_SIZE(__NON_FATAL_ERR); } if (!(td->o.continue_on_error & (1 << etype))) return 0; for (i = 0; i < td->o.ignore_error_nr[etype]; i++) if (td->o.ignore_error[etype][i] == err) return 1; return 0; } void update_error_count(struct thread_data *td, int err) { td->total_err_count++; if (td->total_err_count == 1) td->first_error = err; } fio-3.39/td_error.h000066400000000000000000000014471476262051600142350ustar00rootroot00000000000000#ifndef FIO_TD_ERROR_H #define FIO_TD_ERROR_H #include "io_ddir.h" /* * What type of errors to continue on when continue_on_error is used, * and what type of errors to ignore when ignore_error is used. */ enum error_type_bit { ERROR_TYPE_READ_BIT = 0, ERROR_TYPE_WRITE_BIT = 1, ERROR_TYPE_VERIFY_BIT = 2, ERROR_TYPE_CNT = 3, }; enum error_type { ERROR_TYPE_NONE = 0, ERROR_TYPE_READ = 1 << ERROR_TYPE_READ_BIT, ERROR_TYPE_WRITE = 1 << ERROR_TYPE_WRITE_BIT, ERROR_TYPE_VERIFY = 1 << ERROR_TYPE_VERIFY_BIT, ERROR_TYPE_ANY = 0xffff, }; enum error_type_bit td_error_type(enum fio_ddir ddir, int err); int td_non_fatal_error(struct thread_data *td, enum error_type_bit etype, int err); void update_error_count(struct thread_data *td, int err); #endif fio-3.39/thread_options.h000066400000000000000000000433061476262051600154370ustar00rootroot00000000000000#ifndef FIO_THREAD_OPTIONS_H #define FIO_THREAD_OPTIONS_H #include "arch/arch.h" #include "os/os.h" #include "options.h" #include "stat.h" #include "gettime.h" #include "lib/ieee754.h" #include "lib/pattern.h" #include "td_error.h" enum fio_zone_mode { ZONE_MODE_NOT_SPECIFIED = 0, ZONE_MODE_NONE = 1, ZONE_MODE_STRIDED = 2, /* perform I/O in one zone at a time */ /* perform I/O across multiple zones simultaneously */ ZONE_MODE_ZBD = 3, }; /* * What type of allocation to use for io buffers */ enum fio_memtype { MEM_MALLOC = 0, /* ordinary malloc */ MEM_SHM, /* use shared memory segments */ MEM_SHMHUGE, /* use shared memory segments with huge pages */ MEM_MMAP, /* use anonynomous mmap */ MEM_MMAPHUGE, /* memory mapped huge file */ MEM_MMAPSHARED, /* use mmap with shared flag */ MEM_CUDA_MALLOC,/* use GPU memory */ }; /* * What mode to use for deduped data generation */ enum dedupe_mode { DEDUPE_MODE_REPEAT = 0, DEDUPE_MODE_WORKING_SET = 1, }; #define ERROR_STR_MAX 128 #define BSSPLIT_MAX 64 #define ZONESPLIT_MAX 256 struct split { unsigned int nr; unsigned long long val1[ZONESPLIT_MAX]; unsigned long long val2[ZONESPLIT_MAX]; }; struct split_prio { uint64_t bs; int32_t prio; uint32_t perc; }; struct bssplit { uint64_t bs; uint32_t perc; }; struct zone_split { uint8_t access_perc; uint8_t size_perc; uint8_t pad[6]; uint64_t size; }; #define NR_OPTS_SZ (FIO_MAX_OPTS / (8 * sizeof(uint64_t))) #define OPT_MAGIC 0x4f50544e struct thread_options { int magic; uint64_t set_options[NR_OPTS_SZ]; char *description; char *name; char *wait_for; char *directory; char *filename; char *filename_format; char *opendir; char *ioengine; char *ioengine_so_path; char *mmapfile; enum td_ddir td_ddir; unsigned int rw_seq; unsigned int kb_base; unsigned int unit_base; unsigned int ddir_seq_nr; long long ddir_seq_add; unsigned int iodepth; unsigned int iodepth_low; unsigned int iodepth_batch; unsigned int iodepth_batch_complete_min; unsigned int iodepth_batch_complete_max; unsigned int serialize_overlap; unsigned int unique_filename; unsigned long long size; unsigned long long io_size; unsigned int size_percent; unsigned int size_nz; unsigned int io_size_percent; unsigned int io_size_nz; unsigned int fill_device; unsigned int file_append; unsigned long long file_size_low; unsigned long long file_size_high; unsigned long long start_offset; unsigned long long start_offset_align; unsigned int start_offset_nz; unsigned long long bs[DDIR_RWDIR_CNT]; unsigned long long ba[DDIR_RWDIR_CNT]; unsigned long long min_bs[DDIR_RWDIR_CNT]; unsigned long long max_bs[DDIR_RWDIR_CNT]; struct bssplit *bssplit[DDIR_RWDIR_CNT]; unsigned int bssplit_nr[DDIR_RWDIR_CNT]; int *ignore_error[ERROR_TYPE_CNT]; unsigned int ignore_error_nr[ERROR_TYPE_CNT]; unsigned int error_dump; unsigned int nr_files; unsigned int open_files; enum file_lock_mode file_lock_mode; unsigned int odirect; unsigned int oatomic; unsigned int invalidate_cache; unsigned int create_serialize; unsigned int create_fsync; unsigned int create_on_open; unsigned int create_only; unsigned int end_fsync; unsigned int pre_read; unsigned int sync_io; unsigned int write_hint; unsigned int verify; unsigned int do_verify; unsigned int verify_interval; unsigned int verify_offset; char *verify_pattern; unsigned int verify_pattern_bytes; struct pattern_fmt verify_fmt[8]; unsigned int verify_fmt_sz; unsigned int verify_fatal; unsigned int verify_dump; unsigned int verify_async; unsigned long long verify_backlog; unsigned int verify_batch; unsigned int experimental_verify; unsigned int verify_state; unsigned int verify_state_save; unsigned int verify_write_sequence; unsigned int verify_header_seed; unsigned int use_thread; unsigned int unlink; unsigned int unlink_each_loop; unsigned int do_disk_util; unsigned int override_sync; unsigned int rand_repeatable; unsigned long long rand_seed; unsigned int log_avg_msec; unsigned int log_hist_msec; unsigned int log_hist_coarseness; unsigned int log_max; unsigned int log_offset; unsigned int log_gz; unsigned int log_gz_store; unsigned int log_alternate_epoch; unsigned int log_alternate_epoch_clock_id; unsigned int norandommap; unsigned int softrandommap; unsigned int bs_unaligned; unsigned int fsync_on_close; unsigned int bs_is_seq_rand; unsigned int verify_only; unsigned int random_distribution; unsigned int exitall_error; struct zone_split *zone_split[DDIR_RWDIR_CNT]; unsigned int zone_split_nr[DDIR_RWDIR_CNT]; fio_fp64_t zipf_theta; fio_fp64_t pareto_h; fio_fp64_t gauss_dev; fio_fp64_t random_center; unsigned int random_generator; unsigned int perc_rand[DDIR_RWDIR_CNT]; unsigned int hugepage_size; unsigned long long rw_min_bs; unsigned int fsync_blocks; unsigned int fdatasync_blocks; unsigned int barrier_blocks; unsigned long long start_delay; unsigned long long start_delay_orig; unsigned long long start_delay_high; unsigned long long timeout; unsigned long long ramp_time; unsigned int ss_state; fio_fp64_t ss_limit; unsigned long long ss_dur; unsigned long long ss_ramp_time; unsigned long long ss_check_interval; unsigned int overwrite; unsigned int bw_avg_time; unsigned int iops_avg_time; unsigned int loops; unsigned long long zone_range; unsigned long long zone_size; unsigned long long zone_capacity; unsigned long long zone_skip; uint32_t zone_skip_nz; enum fio_zone_mode zone_mode; unsigned long long lockmem; enum fio_memtype mem_type; unsigned int mem_align; unsigned long long max_latency[DDIR_RWDIR_CNT]; unsigned int exit_what; unsigned int stonewall; unsigned int new_group; unsigned int numjobs; os_cpu_mask_t cpumask; os_cpu_mask_t verify_cpumask; os_cpu_mask_t log_gz_cpumask; unsigned int cpus_allowed_policy; char *numa_cpunodes; unsigned short numa_mem_mode; unsigned int numa_mem_prefer_node; char *numa_memnodes; unsigned int gpu_dev_id; unsigned int start_offset_percent; unsigned int iolog; unsigned int rwmixcycle; unsigned int rwmix[DDIR_RWDIR_CNT]; unsigned int nice; unsigned int ioprio; unsigned int ioprio_class; unsigned int ioprio_hint; unsigned int file_service_type; unsigned int group_reporting; unsigned int stats; unsigned int fadvise_hint; enum fio_fallocate_mode fallocate_mode; unsigned int zero_buffers; unsigned int refill_buffers; unsigned int scramble_buffers; char *buffer_pattern; unsigned int buffer_pattern_bytes; unsigned int compress_percentage; unsigned int compress_chunk; unsigned int dedupe_percentage; unsigned int dedupe_mode; unsigned int dedupe_working_set_percentage; unsigned int dedupe_global; unsigned int time_based; unsigned int disable_lat; unsigned int disable_clat; unsigned int disable_slat; unsigned int disable_bw; unsigned int unified_rw_rep; unsigned int gtod_reduce; unsigned int gtod_cpu; unsigned int job_start_clock_id; enum fio_cs clocksource; unsigned int no_stall; unsigned int trim_percentage; unsigned int trim_batch; unsigned int trim_zero; unsigned long long trim_backlog; unsigned int clat_percentiles; unsigned int slat_percentiles; unsigned int lat_percentiles; unsigned int percentile_precision; /* digits after decimal for percentiles */ fio_fp64_t percentile_list[FIO_IO_U_LIST_MAX_LEN]; char *read_iolog_file; bool read_iolog_chunked; char *write_iolog_file; char *merge_blktrace_file; fio_fp64_t merge_blktrace_scalars[FIO_IO_U_LIST_MAX_LEN]; fio_fp64_t merge_blktrace_iters[FIO_IO_U_LIST_MAX_LEN]; unsigned int write_bw_log; unsigned int write_lat_log; unsigned int write_iops_log; unsigned int write_hist_log; char *bw_log_file; char *lat_log_file; char *iops_log_file; char *hist_log_file; char *replay_redirect; /* * Pre-run and post-run shell */ char *exec_prerun; char *exec_postrun; unsigned int thinkcycles; unsigned int thinktime; unsigned int thinktime_spin; unsigned int thinktime_blocks; unsigned int thinktime_blocks_type; unsigned int thinktime_iotime; uint64_t rate[DDIR_RWDIR_CNT]; uint64_t ratemin[DDIR_RWDIR_CNT]; unsigned int ratecycle; unsigned int io_submit_mode; unsigned int rate_iops[DDIR_RWDIR_CNT]; unsigned int rate_iops_min[DDIR_RWDIR_CNT]; unsigned int rate_process; unsigned int rate_ign_think; char *ioscheduler; /* * I/O Error handling */ enum error_type continue_on_error; /* * Benchmark profile type */ char *profile; /* * blkio cgroup support */ char *cgroup; unsigned int cgroup_weight; unsigned int cgroup_nodelete; unsigned int uid; unsigned int gid; unsigned int offset_increment_percent; unsigned int offset_increment_nz; unsigned long long offset_increment; unsigned long long number_ios; unsigned int num_range; unsigned int sync_file_range; unsigned long long latency_target; unsigned long long latency_window; uint32_t latency_run; fio_fp64_t latency_percentile; /* * flow support */ int flow_id; unsigned int flow; unsigned int flow_sleep; unsigned int sig_figs; unsigned block_error_hist; unsigned int replay_align; unsigned int replay_scale; unsigned int replay_time_scale; unsigned int replay_skip; unsigned int per_job_logs; unsigned int allow_create; unsigned int allow_mounted_write; /* Parameters that affect zonemode=zbd */ unsigned int read_beyond_wp; int max_open_zones; unsigned int job_max_open_zones; unsigned int ignore_zone_limits; fio_fp64_t zrt; fio_fp64_t zrf; unsigned int fdp; unsigned int dp_type; unsigned int dp_id_select; uint16_t dp_ids[FIO_MAX_DP_IDS]; unsigned int dp_nr_ids; char *dp_scheme_file; unsigned int log_entries; unsigned int log_prio; unsigned int log_issue_time; }; #define FIO_TOP_STR_MAX 256 struct thread_options_pack { uint64_t set_options[NR_OPTS_SZ]; uint8_t description[FIO_TOP_STR_MAX]; uint8_t name[FIO_TOP_STR_MAX]; uint8_t wait_for[FIO_TOP_STR_MAX]; uint8_t directory[FIO_TOP_STR_MAX]; uint8_t filename[FIO_TOP_STR_MAX]; uint8_t filename_format[FIO_TOP_STR_MAX]; uint8_t opendir[FIO_TOP_STR_MAX]; uint8_t ioengine[FIO_TOP_STR_MAX]; uint8_t mmapfile[FIO_TOP_STR_MAX]; uint32_t td_ddir; uint32_t rw_seq; uint32_t kb_base; uint32_t unit_base; uint32_t ddir_seq_nr; uint64_t ddir_seq_add; uint32_t iodepth; uint32_t iodepth_low; uint32_t iodepth_batch; uint32_t iodepth_batch_complete_min; uint32_t iodepth_batch_complete_max; uint32_t serialize_overlap; uint64_t size; uint64_t io_size; uint32_t size_percent; uint32_t size_nz; uint32_t io_size_percent; uint32_t io_size_nz; uint32_t fill_device; uint32_t file_append; uint32_t unique_filename; uint64_t file_size_low; uint64_t file_size_high; uint64_t start_offset; uint64_t start_offset_align; uint32_t start_offset_nz; uint64_t bs[DDIR_RWDIR_CNT]; uint64_t ba[DDIR_RWDIR_CNT]; uint64_t min_bs[DDIR_RWDIR_CNT]; uint64_t max_bs[DDIR_RWDIR_CNT]; struct bssplit bssplit[DDIR_RWDIR_CNT][BSSPLIT_MAX]; uint32_t bssplit_nr[DDIR_RWDIR_CNT]; uint32_t ignore_error[ERROR_TYPE_CNT][ERROR_STR_MAX]; uint32_t ignore_error_nr[ERROR_TYPE_CNT]; uint32_t error_dump; uint32_t nr_files; uint32_t open_files; uint32_t file_lock_mode; uint32_t odirect; uint32_t oatomic; uint32_t invalidate_cache; uint32_t create_serialize; uint32_t create_fsync; uint32_t create_on_open; uint32_t create_only; uint32_t end_fsync; uint32_t pre_read; uint32_t sync_io; uint32_t write_hint; uint32_t verify; uint32_t do_verify; uint32_t verify_interval; uint32_t verify_offset; uint32_t verify_pattern_bytes; uint32_t verify_fatal; uint32_t verify_dump; uint32_t verify_async; uint64_t verify_backlog; uint32_t verify_batch; uint32_t experimental_verify; uint32_t verify_state; uint32_t verify_state_save; uint32_t verify_write_sequence; uint32_t verify_header_seed; uint32_t use_thread; uint32_t unlink; uint32_t unlink_each_loop; uint32_t do_disk_util; uint32_t override_sync; uint32_t rand_repeatable; uint64_t rand_seed; uint32_t log_avg_msec; uint32_t log_hist_msec; uint32_t log_hist_coarseness; uint32_t log_max; uint32_t log_offset; uint32_t log_gz; uint32_t log_gz_store; uint32_t log_alternate_epoch; uint32_t log_alternate_epoch_clock_id; uint32_t norandommap; uint32_t softrandommap; uint32_t bs_unaligned; uint32_t fsync_on_close; uint32_t bs_is_seq_rand; uint32_t random_distribution; uint32_t exitall_error; uint32_t sync_file_range; struct zone_split zone_split[DDIR_RWDIR_CNT][ZONESPLIT_MAX]; uint32_t zone_split_nr[DDIR_RWDIR_CNT]; fio_fp64_t zipf_theta; fio_fp64_t pareto_h; fio_fp64_t gauss_dev; fio_fp64_t random_center; uint32_t random_generator; uint32_t perc_rand[DDIR_RWDIR_CNT]; uint32_t hugepage_size; uint64_t rw_min_bs; uint32_t fsync_blocks; uint32_t fdatasync_blocks; uint32_t barrier_blocks; uint64_t start_delay; uint64_t start_delay_high; uint64_t timeout; uint64_t ramp_time; uint64_t ss_dur; uint64_t ss_ramp_time; uint32_t ss_state; fio_fp64_t ss_limit; uint64_t ss_check_interval; uint32_t overwrite; uint32_t bw_avg_time; uint32_t iops_avg_time; uint32_t loops; uint64_t zone_range; uint64_t zone_size; uint64_t zone_capacity; uint64_t zone_skip; uint64_t lockmem; uint32_t zone_skip_nz; uint32_t mem_type; uint32_t mem_align; uint32_t exit_what; uint32_t stonewall; uint32_t new_group; uint32_t numjobs; /* * We currently can't convert these, so don't enable them */ #if 0 uint8_t cpumask[FIO_TOP_STR_MAX]; uint8_t verify_cpumask[FIO_TOP_STR_MAX]; uint8_t log_gz_cpumask[FIO_TOP_STR_MAX]; #endif uint32_t gpu_dev_id; uint32_t start_offset_percent; uint32_t cpus_allowed_policy; uint32_t iolog; uint32_t rwmixcycle; uint32_t rwmix[DDIR_RWDIR_CNT]; uint32_t nice; uint32_t ioprio; uint32_t ioprio_class; uint32_t ioprio_hint; uint32_t file_service_type; uint32_t group_reporting; uint32_t stats; uint32_t fadvise_hint; uint32_t fallocate_mode; uint32_t zero_buffers; uint32_t refill_buffers; uint32_t scramble_buffers; uint32_t buffer_pattern_bytes; uint32_t compress_percentage; uint32_t compress_chunk; uint32_t dedupe_percentage; uint32_t dedupe_mode; uint32_t dedupe_working_set_percentage; uint32_t dedupe_global; uint32_t time_based; uint32_t disable_lat; uint32_t disable_clat; uint32_t disable_slat; uint32_t disable_bw; uint32_t unified_rw_rep; uint32_t gtod_reduce; uint32_t gtod_cpu; uint32_t job_start_clock_id; uint32_t clocksource; uint32_t no_stall; uint32_t trim_percentage; uint32_t trim_batch; uint32_t trim_zero; uint64_t trim_backlog; uint32_t clat_percentiles; uint32_t lat_percentiles; uint32_t slat_percentiles; uint32_t percentile_precision; uint32_t pad; fio_fp64_t percentile_list[FIO_IO_U_LIST_MAX_LEN]; uint8_t read_iolog_file[FIO_TOP_STR_MAX]; uint8_t write_iolog_file[FIO_TOP_STR_MAX]; uint8_t merge_blktrace_file[FIO_TOP_STR_MAX]; fio_fp64_t merge_blktrace_scalars[FIO_IO_U_LIST_MAX_LEN]; fio_fp64_t merge_blktrace_iters[FIO_IO_U_LIST_MAX_LEN]; uint32_t write_bw_log; uint32_t write_lat_log; uint32_t write_iops_log; uint32_t write_hist_log; uint8_t bw_log_file[FIO_TOP_STR_MAX]; uint8_t lat_log_file[FIO_TOP_STR_MAX]; uint8_t iops_log_file[FIO_TOP_STR_MAX]; uint8_t hist_log_file[FIO_TOP_STR_MAX]; uint8_t replay_redirect[FIO_TOP_STR_MAX]; /* * Pre-run and post-run shell */ uint8_t exec_prerun[FIO_TOP_STR_MAX]; uint8_t exec_postrun[FIO_TOP_STR_MAX]; uint32_t thinkcycles; uint32_t thinktime; uint32_t thinktime_spin; uint32_t thinktime_blocks; uint32_t thinktime_blocks_type; uint32_t thinktime_iotime; uint64_t rate[DDIR_RWDIR_CNT]; uint64_t ratemin[DDIR_RWDIR_CNT]; uint32_t ratecycle; uint32_t io_submit_mode; uint32_t rate_iops[DDIR_RWDIR_CNT]; uint32_t rate_iops_min[DDIR_RWDIR_CNT]; uint32_t rate_process; uint32_t rate_ign_think; uint8_t ioscheduler[FIO_TOP_STR_MAX]; /* * I/O Error handling */ uint32_t continue_on_error; /* * Benchmark profile type */ uint8_t profile[FIO_TOP_STR_MAX]; /* * blkio cgroup support */ uint8_t cgroup[FIO_TOP_STR_MAX]; uint32_t cgroup_weight; uint32_t cgroup_nodelete; uint32_t uid; uint32_t gid; uint32_t offset_increment_percent; uint32_t offset_increment_nz; uint64_t offset_increment; uint64_t number_ios; uint64_t latency_target; uint64_t latency_window; uint64_t max_latency[DDIR_RWDIR_CNT]; uint32_t latency_run; fio_fp64_t latency_percentile; /* * flow support */ int32_t flow_id; uint32_t flow; uint32_t flow_sleep; uint32_t sig_figs; uint32_t block_error_hist; uint32_t replay_align; uint32_t replay_scale; uint32_t replay_time_scale; uint32_t replay_skip; uint32_t per_job_logs; uint32_t allow_create; uint32_t allow_mounted_write; uint32_t zone_mode; int32_t max_open_zones; uint32_t ignore_zone_limits; uint32_t log_entries; uint32_t log_prio; uint32_t log_issue_time; uint32_t fdp; uint32_t dp_type; uint32_t dp_id_select; uint16_t dp_ids[FIO_MAX_DP_IDS]; uint32_t dp_nr_ids; uint8_t dp_scheme_file[FIO_TOP_STR_MAX]; uint32_t num_range; /* * verify_pattern followed by buffer_pattern from the unpacked struct */ uint8_t patterns[]; } __attribute__((packed)); extern int convert_thread_options_to_cpu(struct thread_options *o, struct thread_options_pack *top, size_t top_sz); extern size_t thread_options_pack_size(struct thread_options *o); extern void convert_thread_options_to_net(struct thread_options_pack *top, struct thread_options *); extern int fio_test_cconv(struct thread_options *); extern void options_default_fill(struct thread_options *o); typedef int (split_parse_fn)(struct thread_options *, void *, enum fio_ddir, char *, bool); extern int str_split_parse(struct thread_data *td, char *str, split_parse_fn *fn, void *eo, bool data); extern int split_parse_ddir(struct thread_options *o, struct split *split, char *str, bool absolute, unsigned int max_splits); extern int split_parse_prio_ddir(struct thread_options *o, struct split_prio **entries, int *nr_entries, char *str); #endif fio-3.39/tickmarks.c000066400000000000000000000062461476262051600144020ustar00rootroot00000000000000#include #include #include #include /* * adapted from Paul Heckbert's algorithm on p 657-659 of * Andrew S. Glassner's book, "Graphics Gems" * ISBN 0-12-286166-3 * */ #include "tickmarks.h" #define MAX(a, b) (((a) < (b)) ? (b) : (a)) static double nicenum(double x, int round) { int exp; /* exponent of x */ double f; /* fractional part of x */ exp = floor(log10(x)); f = x / pow(10.0, exp); if (round) { if (f < 1.5) return 1.0 * pow(10.0, exp); if (f < 3.0) return 2.0 * pow(10.0, exp); if (f < 7.0) return 5.0 * pow(10.0, exp); return 10.0 * pow(10.0, exp); } if (f <= 1.0) return 1.0 * pow(10.0, exp); if (f <= 2.0) return 2.0 * pow(10.0, exp); if (f <= 5.0) return 5.0 * pow(10.0, exp); return 10.0 * pow(10.0, exp); } static void shorten(struct tickmark *tm, int nticks, int *power_of_ten, int use_KMG_symbols, int base_offset) { const char shorten_chr[] = { 0, 'K', 'M', 'G', 'P', 'E', 0 }; int i, l, minshorten, shorten_idx = 0; char *str; minshorten = 100; for (i = 0; i < nticks; i++) { str = tm[i].string; l = strlen(str); if (strcmp(str, "0") == 0) continue; if (l > 9 && strcmp(&str[l - 9], "000000000") == 0) { *power_of_ten = 9; shorten_idx = 3; } else if (6 < minshorten && l > 6 && strcmp(&str[l - 6], "000000") == 0) { *power_of_ten = 6; shorten_idx = 2; } else if (l > 3 && strcmp(&str[l - 3], "000") == 0) { *power_of_ten = 3; shorten_idx = 1; } else { *power_of_ten = 0; } if (*power_of_ten < minshorten) minshorten = *power_of_ten; } if (minshorten == 0) return; if (!use_KMG_symbols) shorten_idx = 0; else if (base_offset) shorten_idx += base_offset; for (i = 0; i < nticks; i++) { str = tm[i].string; l = strlen(str); str[l - minshorten] = shorten_chr[shorten_idx]; if (shorten_idx) str[l - minshorten + 1] = '\0'; } } int calc_tickmarks(double min, double max, int nticks, struct tickmark **tm, int *power_of_ten, int use_KMG_symbols, int base_offset) { char str[100]; int nfrac; double d; /* tick mark spacing */ double graphmin, graphmax; /* graph range min and max */ double range, x; int count, i; /* we expect min != max */ range = nicenum(max - min, 0); d = nicenum(range / (nticks - 1), 1); graphmin = floor(min / d) * d; graphmax = ceil(max / d) * d; nfrac = MAX(-floor(log10(d)), 0); snprintf(str, sizeof(str)-1, "%%.%df", nfrac); count = ((graphmax + 0.5 * d) - graphmin) / d + 1; *tm = malloc(sizeof(**tm) * count); i = 0; for (x = graphmin; x < graphmax + 0.5 * d; x += d) { (*tm)[i].value = x; sprintf((*tm)[i].string, str, x); i++; } shorten(*tm, i, power_of_ten, use_KMG_symbols, base_offset); return i; } #if 0 static void test_range(double x, double y) { int nticks, i; struct tickmark *tm = NULL; printf("Testing range %g - %g\n", x, y); nticks = calc_tickmarks(x, y, 10, &tm); for (i = 0; i < nticks; i++) printf(" (%s) %g\n", tm[i].string, tm[i].value); printf("\n\n"); free(tm); } int main(int argc, char *argv[]) { test_range(0.0005, 0.008); test_range(0.5, 0.8); test_range(5.5, 8.8); test_range(50.5, 80.8); test_range(-20, 20.8); test_range(-30, 700.8); } #endif fio-3.39/tickmarks.h000066400000000000000000000003571476262051600144040ustar00rootroot00000000000000#ifndef TICKMARKS_H #define TICKMARKS_H struct tickmark { double value; char string[20]; }; int calc_tickmarks(double min, double max, int nticks, struct tickmark **tm, int *power_of_ten, int use_KMG_symbols, int base_off); #endif fio-3.39/time.c000066400000000000000000000075041476262051600133460ustar00rootroot00000000000000#include #include #include "fio.h" static struct timespec genesis; static unsigned long ns_granularity; void timespec_add_msec(struct timespec *ts, unsigned int msec) { uint64_t adj_nsec = 1000000ULL * msec; ts->tv_nsec += adj_nsec; if (adj_nsec >= 1000000000) { uint64_t adj_sec = adj_nsec / 1000000000; ts->tv_nsec -= adj_sec * 1000000000; ts->tv_sec += adj_sec; } if (ts->tv_nsec >= 1000000000){ ts->tv_nsec -= 1000000000; ts->tv_sec++; } } /* * busy looping version for the last few usec */ uint64_t usec_spin(unsigned int usec) { struct timespec start; uint64_t t; fio_gettime(&start, NULL); while ((t = utime_since_now(&start)) < usec) nop; return t; } /* * busy loop for a fixed amount of cycles */ void cycles_spin(unsigned int n) { unsigned long i; for (i=0; i < n; i++) nop; } uint64_t usec_sleep(struct thread_data *td, unsigned long usec) { struct timespec req; struct timespec tv; uint64_t t = 0; do { unsigned long ts = usec; if (usec < ns_granularity) { t += usec_spin(usec); break; } ts = usec - ns_granularity; if (ts >= 1000000) { req.tv_sec = ts / 1000000; ts -= 1000000 * req.tv_sec; /* * Limit sleep to ~1 second at most, otherwise we * don't notice then someone signaled the job to * exit manually. */ if (req.tv_sec > 1) req.tv_sec = 1; } else req.tv_sec = 0; req.tv_nsec = ts * 1000; fio_gettime(&tv, NULL); if (nanosleep(&req, NULL) < 0) break; ts = utime_since_now(&tv); t += ts; if (ts >= usec) break; usec -= ts; } while (!td->terminate); return t; } uint64_t time_since_genesis(void) { return time_since_now(&genesis); } uint64_t mtime_since_genesis(void) { return mtime_since_now(&genesis); } uint64_t utime_since_genesis(void) { return utime_since_now(&genesis); } bool in_ramp_time(struct thread_data *td) { return td->o.ramp_time && !td->ramp_time_over; } static bool parent_update_ramp(struct thread_data *td) { struct thread_data *parent = td->parent; if (!parent || parent->ramp_time_over) return false; reset_all_stats(parent); parent->ramp_time_over = true; td_set_runstate(parent, TD_RAMP); return true; } bool ramp_time_over(struct thread_data *td) { if (!td->o.ramp_time || td->ramp_time_over) return true; if (utime_since_now(&td->epoch) >= td->o.ramp_time) { td->ramp_time_over = true; reset_all_stats(td); reset_io_stats(td); td_set_runstate(td, TD_RAMP); /* * If we have a parent, the parent isn't doing IO. Hence * the parent never enters do_io(), which will switch us * from RAMP -> RUNNING. Do this manually here. */ if (parent_update_ramp(td)) td_set_runstate(td, TD_RUNNING); return true; } return false; } void fio_time_init(void) { int i; fio_clock_init(); /* * Check the granularity of the nanosleep function */ for (i = 0; i < 10; i++) { struct timespec tv, ts; unsigned long elapsed; fio_gettime(&tv, NULL); ts.tv_sec = 0; ts.tv_nsec = 1000; nanosleep(&ts, NULL); elapsed = utime_since_now(&tv); if (elapsed > ns_granularity) ns_granularity = elapsed; } } void set_genesis_time(void) { fio_gettime(&genesis, NULL); } void set_epoch_time(struct thread_data *td, clockid_t log_alternate_epoch_clock_id, clockid_t job_start_clock_id) { struct timespec ts; fio_gettime(&td->epoch, NULL); clock_gettime(log_alternate_epoch_clock_id, &ts); td->alternate_epoch = (unsigned long long)(ts.tv_sec) * 1000 + (unsigned long long)(ts.tv_nsec) / 1000000; if (job_start_clock_id == log_alternate_epoch_clock_id) { td->job_start = td->alternate_epoch; } else { clock_gettime(job_start_clock_id, &ts); td->job_start = (unsigned long long)(ts.tv_sec) * 1000 + (unsigned long long)(ts.tv_nsec) / 1000000; } } void fill_start_time(struct timespec *t) { memcpy(t, &genesis, sizeof(genesis)); } fio-3.39/tools/000077500000000000000000000000001476262051600133765ustar00rootroot00000000000000fio-3.39/tools/.gitignore000066400000000000000000000000031476262051600153570ustar00rootroot00000000000000*~ fio-3.39/tools/fio.service000066400000000000000000000002401476262051600155310ustar00rootroot00000000000000[Unit] Description=Flexible I/O tester server After=network.target [Service] Type=simple ExecStart=/usr/bin/fio --server [Install] WantedBy=multi-user.target fio-3.39/tools/fio_generate_plots000077500000000000000000000101411476262051600171710ustar00rootroot00000000000000#!/bin/sh # # This script is an almost total rewrite by Louwrentius # of the original fio_generate_plots script provided as part of the FIO storage # benchmark utiliy. I only retained how GNUplot is used to generate graphs, as # that is something I know nothing about. # # The script uses the files generated by FIO to create nice graphs in the # SVG format. This output format is supported by most modern browsers and # allows resolution independent graphs to be generated. # # This script supports GNUPLOT 4.4 and higher. # # Version 1.0 @ 20121231 # # # if [ -z "$1" ]; then echo "Usage: fio_generate_plots subtitle [xres yres]" exit 1 fi GNUPLOT=$(command -v gnuplot) if [ ! -x "$GNUPLOT" ] then echo You need gnuplot installed to generate graphs exit 1 fi TITLE="$1" # set resolution if [ ! -z "$2" ] && [ ! -z "$3" ] then XRES="$2" YRES="$3" else XRES=1280 YRES=768 fi if [ -z "$SAMPLE_DURATION" ] then SAMPLE_DURATION="*" fi DEFAULT_GRID_LINE_TYPE=3 DEFAULT_LINE_WIDTH=2 DEFAULT_LINE_COLORS=" set object 1 rectangle from screen 0,0 to screen 1,1 fillcolor rgb\"#ffffff\" behind set style line 1 lc rgb \"#E41A1C\" lw $DEFAULT_LINE_WIDTH lt 1; set style line 2 lc rgb \"#377EB8\" lw $DEFAULT_LINE_WIDTH lt 1; set style line 3 lc rgb \"#4DAF4A\" lw $DEFAULT_LINE_WIDTH lt 1; set style line 4 lc rgb \"#984EA3\" lw $DEFAULT_LINE_WIDTH lt 1; set style line 5 lc rgb \"#FF7F00\" lw $DEFAULT_LINE_WIDTH lt 1; set style line 6 lc rgb \"#DADA33\" lw $DEFAULT_LINE_WIDTH lt 1; set style line 7 lc rgb \"#A65628\" lw $DEFAULT_LINE_WIDTH lt 1; set style line 20 lc rgb \"#000000\" lt $DEFAULT_GRID_LINE_TYPE lw $DEFAULT_LINE_WIDTH; " DEFAULT_TERMINAL="set terminal svg enhanced dashed size $XRES,$YRES dynamic" DEFAULT_TITLE_FONT="\"Helvetica,28\"" DEFAULT_AXIS_FONT="\"Helvetica,14\"" DEFAULT_AXIS_LABEL_FONT="\"Helvetica,16\"" DEFAULT_XLABEL="set xlabel \"Time (sec)\" font $DEFAULT_AXIS_LABEL_FONT" DEFAULT_XTIC="set xtics font $DEFAULT_AXIS_FONT" DEFAULT_YTIC="set ytics font $DEFAULT_AXIS_FONT" DEFAULT_MXTIC="set mxtics 0" DEFAULT_MYTIC="set mytics 2" DEFAULT_XRANGE="set xrange [0:$SAMPLE_DURATION]" DEFAULT_YRANGE="set yrange [0:*]" DEFAULT_GRID="set grid ls 20" DEFAULT_KEY="set key outside bottom center ; set key box enhanced spacing 2.0 samplen 3 horizontal width 4 height 1.2 " DEFAULT_SOURCE="set label 30 \"Data source: http://example.com\" font $DEFAULT_AXIS_FONT tc rgb \"#00000f\" at screen 0.976,0.175 right" DEFAULT_OPTS="$DEFAULT_LINE_COLORS ; $DEFAULT_GRID_LINE ; $DEFAULT_GRID ; $DEFAULT_GRID_MINOR ; $DEFAULT_XLABEL ; $DEFAULT_XRANGE ; $DEFAULT_YRANGE ; $DEFAULT_XTIC ; $DEFAULT_YTIC ; $DEFAULT_MXTIC ; $DEFAULT_MYTIC ; $DEFAULT_KEY ; $DEFAULT_TERMINAL ; $DEFAULT_SOURCE" plot () { if [ -z "$TITLE" ] then PLOT_TITLE=" set title \"$1\" font $DEFAULT_TITLE_FONT" else PLOT_TITLE=" set title \"$TITLE\\\n\\\n{/*0.6 "$1"}\" font $DEFAULT_TITLE_FONT" fi FILETYPE="$2" YAXIS="set ylabel \"$3\" font $DEFAULT_AXIS_LABEL_FONT" SCALE=$4 echo "Title: $PLOT_TITLE" echo "File type: $FILETYPE" echo "yaxis: $YAXIS" i=0 for x in *_"$FILETYPE".log *_"$FILETYPE".*.log do if [ -e "$x" ]; then i=$((i+1)) PT=$(echo $x | sed 's/\(.*\)_'$FILETYPE'\(.*\).log$/\1\2/') if [ ! -z "$PLOT_LINE" ] then PLOT_LINE=$PLOT_LINE", " fi DEPTH=$(echo $PT | cut -d "-" -f 4) PLOT_LINE=$PLOT_LINE"'$x' using (\$1/1000):(\$2/$SCALE) title \"Queue depth $DEPTH\" with lines ls $i" fi done if [ $i -eq 0 ]; then echo "No log files found" exit 1 fi OUTPUT="set output \"$TITLE-$FILETYPE.svg\" " echo " $PLOT_TITLE ; $YAXIS ; $DEFAULT_OPTS ; show style lines ; $OUTPUT ; plot " $PLOT_LINE | $GNUPLOT - unset PLOT_LINE } # # plot # plot "I/O Latency" lat "Time (msec)" 1000000 plot "I/O Operations Per Second" iops "IOPS" 1 plot "I/O Submission Latency" slat "Time (μsec)" 1000 plot "I/O Completion Latency" clat "Time (msec)" 1000000 plot "I/O Bandwidth" bw "Throughput (KB/s)" 1 fio-3.39/tools/fio_generate_plots.1000066400000000000000000000032611476262051600173320ustar00rootroot00000000000000.\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH FIO_GENERATE_PLOTS 1 "May 19, 2009" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME fio_generate_plots \- Generate plots for Flexible I/O Tester .SH SYNOPSIS .B fio_generate_plots .RI " title" .br .SH DESCRIPTION This manual page documents briefly the .B fio_generate_plots command. This manual page was written for the Debian distribution because the original program does not have a manual page. .PP .\" TeX users may be more comfortable with the \fB\fP and .\" \fI\fP escape sequences to invode bold face and italics, .\" respectively. \fBfio_generate_plots\fP is a shell script that uses gnuplot to generate plots from fio run with \-\-latency-log (\-l) and/or \-\-bandwidth-log (\-w). It expects the log files that fio generated in the current directory. .SH OPTIONS The script takes the title of the plot as only argument. It does not offer any additional options. .SH AUTHOR fio_generate_plots was written by Jens Axboe .PP This manual page was written by Martin Steigerwald , for the Debian project (but may be used by others). fio-3.39/tools/fio_jsonplus_clat2csv000077500000000000000000000316531476262051600176470ustar00rootroot00000000000000#!/usr/bin/env python3 # Note: this script is python2 and python3 compatible. """ fio_jsonplus_clat2csv This script converts fio's json+ latency data to CSV format. For example: Run the following fio jobs: $ fio --output=fio-jsonplus.output --output-format=json+ --ioengine=null \ --time_based --runtime=3s --size=1G --slat_percentiles=1 \ --clat_percentiles=1 --lat_percentiles=1 \ --name=test1 --rw=randrw \ --name=test2 --rw=read \ --name=test3 --rw=write Then run: $ fio_jsonplus_clat2csv fio-jsonplus.output fio-jsonplus.csv You will end up with the following 3 files: -rw-r--r-- 1 root root 77547 Mar 24 15:17 fio-jsonplus_job0.csv -rw-r--r-- 1 root root 65413 Mar 24 15:17 fio-jsonplus_job1.csv -rw-r--r-- 1 root root 63291 Mar 24 15:17 fio-jsonplus_job2.csv fio-jsonplus_job0.csv will look something like: nsec, read_slat_ns_count, read_slat_ns_cumulative, read_slat_ns_percentile, read_clat_ns_count, read_clat_ns_cumulative, read_clat_ns_percentile, read_lat_ns_count, read_lat_ns_cumulative, read_lat_ns_percentile, write_slat_ns_count, write_slat_ns_cumulative, write_slat_ns_percentile, write_clat_ns_count, write_clat_ns_cumulative, write_clat_ns_percentile, write_lat_ns_count, write_lat_ns_cumulative, write_lat_ns_percentile, trim_slat_ns_count, trim_slat_ns_cumulative, trim_slat_ns_percentile, trim_clat_ns_count, trim_clat_ns_cumulative, trim_clat_ns_percentile, trim_lat_ns_count, trim_lat_ns_cumulative, trim_lat_ns_percentile, 12, , , , 3, 3, 6.11006798673e-07, , , , , , , 2, 2, 4.07580840603e-07, , , , , , , , , , , , , 13, , , , 1364, 1367, 0.000278415431262, , , , , , , 1776, 1778, 0.000362339367296, , , , , , , , , , , , , 14, , , , 181872, 183239, 0.037320091594, , , , , , , 207436, 209214, 0.0426358089929, , , , , , , , , , , , , 15, , , , 1574811, 1758050, 0.358060167469, , , , , , , 1661435, 1870649, 0.381220345946, , , , , , , , , , , , , 16, , , , 2198478, 3956528, 0.805821835713, , , , , , , 2154571, 4025220, 0.820301275606, , , , , , , , , , , , , 17, , , , 724335, 4680863, 0.953346372218, , , , , , , 645351, 4670571, 0.951817627138, , , , , , , , , , , , , 18, , , , 71837, 4752700, 0.96797733735, , , , , , , 61084, 4731655, 0.964265961171, , , , , , , , , , , , , 19, , , , 15915, 4768615, 0.971218728417, , , , , , , 18419, 4750074, 0.968019576923, , , , , , , , , , , , , 20, , , , 12651, 4781266, 0.973795344087, , , , , , , 14176, 4764250, 0.970908509921, , , , , , , , , , , , , ... 168960, , , , , , , , , , , , , 1, 4906999, 0.999999388629, 1, 4906997, 0.999998981048, , , , , , , , , , 177152, , , , , , , , , , , , , 1, 4907000, 0.999999592419, 1, 4906998, 0.999999184838, , , , , , , , , , 183296, , , , , , , , , , , , , 1, 4907001, 0.99999979621, 1, 4906999, 0.999999388629, , , , , , , , , , 189440, , , , , , , 1, 4909925, 0.999999185324, , , , , , , , , , , , , , , , , , , 214016, , , , 1, 4909928, 0.999999796331, 2, 4909927, 0.999999592662, , , , , , , , , , , , , , , , , , , 246784, , , , , , , , , , , , , , , , 1, 4907000, 0.999999592419, , , , , , , , , , 272384, , , , 1, 4909929, 1.0, 1, 4909928, 0.999999796331, , , , , , , , , , , , , , , , , , , 329728, , , , , , , , , , , , , 1, 4907002, 1.0, 1, 4907001, 0.99999979621, , , , , , , , , , 1003520, , , , , , , , , , , , , , , , 1, 4907002, 1.0, , , , , , , , , , 1089536, , , , , , , 1, 4909929, 1.0, , , , , , , , , , , , , , , , , , , The first line says that there were three read IOs with 12ns clat, the cumulative number of read IOs at or below 12ns was two, and 12ns was the 0.0000611th percentile for read latency. There were two write IOs with 12ns clat, the cumulative number of write IOs at or below 12ns was two, and 12ns was the 0.0000408th percentile for write latency. The job had one write IO complete at 168960ns and 4906999 write IOs completed at or below this duration. Also this duration was the 99.99994th percentile for write latency. There was one write IO with a total latency of 168960ns, this duration had a cumulative frequency of 4906997 write IOs and was the 99.9998981048th percentile for write total latency. The last line says that one read IO had 1089536ns total latency, this duration had a cumulative frequency of 4909929 and represented the 100th percentile for read total latency. Running the following: $ fio_jsonplus_clat2csv fio-jsonplus.output fio-jsonplus.csv --validate fio-jsonplus_job0.csv validated fio-jsonplus_job1.csv validated fio-jsonplus_job2.csv validated will check the CSV data against the json+ output to confirm that the CSV data matches. """ from __future__ import absolute_import from __future__ import print_function import os import json import argparse import itertools import six DDIR_LIST = ['read', 'write', 'trim'] LAT_LIST = ['slat_ns', 'clat_ns', 'lat_ns'] def parse_args(): """Parse command-line arguments.""" parser = argparse.ArgumentParser() parser.add_argument('source', help='fio json+ output file containing completion ' 'latency data') parser.add_argument('dest', help='destination file stub for latency data in CSV ' 'format. job number will be appended to filename') parser.add_argument('--debug', '-d', action='store_true', help='enable debug prints') parser.add_argument('--validate', action='store_true', help='validate CSV against JSON output') args = parser.parse_args() return args def percentile(idx, run_total): """Return a percentile for a specified index based on a running total. Parameters: idx index for which to generate percentile. run_total list of cumulative sums. Returns: Percentile represented by the specified index. """ total = run_total[len(run_total)-1] if total == 0: return 0 return float(run_total[idx]) / total def more_bins(indices, bins): """Determine whether we have more bins to process. Parameters: indices a dict containing the last index processed in each bin. bins a dict contaiing a set of bins to process. Returns: True if the indices do not yet point to the end of each bin in bins. False if the indices point beyond their respective bins. """ for key, value in six.iteritems(indices): if value < len(bins[key]): return True return False def debug_print(debug, *args): """Print debug messages. Parameters: debug emit messages if True. *args arguments for print(). """ if debug: print(*args) def get_csvfile(dest, jobnum): """Generate CSV filename from command-line arguments and job numbers. Parameters: dest file specification for CSV filename. jobnum job number. Returns: A string that is a new filename that incorporates the job number. """ stub, ext = os.path.splitext(dest) return stub + '_job' + str(jobnum) + ext def validate(args, jsondata, col_labels): """Validate CSV data against json+ output. This function checks the CSV data to make sure that it was correctly generated from the original json+ output. json+ 'bins' objects are constructed from the CSV data and then compared to the corresponding objects in the json+ data. An AssertionError will appear if a mismatch is found. Percentiles and cumulative counts are not checked. Parameters: args command-line arguments for this script. jsondata json+ output to compare against. col_labels column labels for CSV data. Returns 0 if no mismatches found. """ colnames = [c.strip() for c in col_labels.split(',')] for jobnum in range(len(jsondata['jobs'])): job_data = jsondata['jobs'][jobnum] csvfile = get_csvfile(args.dest, jobnum) with open(csvfile, 'r') as csvsource: csvlines = csvsource.read().split('\n') assert csvlines[0] == col_labels debug_print(args.debug, 'col_labels match for', csvfile) # create 'bins' objects from the CSV data counts = {} for ddir in DDIR_LIST: counts[ddir] = {} for lat in LAT_LIST: counts[ddir][lat] = {} csvlines.pop(0) for line in csvlines: if line.strip() == "": continue values = line.split(',') nsec = values[0] for col in colnames: if 'count' in col: val = values[colnames.index(col)] if val.strip() != "": count = int(val) ddir, lat, _, _ = col.split('_') lat = lat + '_ns' counts[ddir][lat][nsec] = count try: assert count == job_data[ddir][lat]['bins'][nsec] except Exception: print("mismatch:", csvfile, ddir, lat, nsec, "ns") return 1 # compare 'bins' objects created from the CSV data # with corresponding 'bins' objects in the json+ output for ddir in DDIR_LIST: for lat in LAT_LIST: if lat in job_data[ddir] and 'bins' in job_data[ddir][lat]: assert job_data[ddir][lat]['bins'] == counts[ddir][lat] debug_print(args.debug, csvfile, ddir, lat, "bins match") else: assert counts[ddir][lat] == {} debug_print(args.debug, csvfile, ddir, lat, "bins empty") print(csvfile, "validated") return 0 def main(): """Starting point for this script. In standard mode, this script will generate CSV data from fio json+ output. In validation mode it will check to make sure that counts in CSV files match the counts in the json+ data. """ args = parse_args() with open(args.source, 'r') as source: jsondata = json.loads(source.read()) ddir_lat_list = list(ddir + '_' + lat for ddir, lat in itertools.product(DDIR_LIST, LAT_LIST)) debug_print(args.debug, 'ddir_lat_list: ', ddir_lat_list) col_labels = 'nsec, ' for ddir_lat in ddir_lat_list: col_labels += "{0}_count, {0}_cumulative, {0}_percentile, ".format(ddir_lat) debug_print(args.debug, 'col_labels: ', col_labels) if args.validate: return validate(args, jsondata, col_labels) for jobnum in range(0, len(jsondata['jobs'])): bins = {} run_total = {} for ddir in DDIR_LIST: ddir_data = jsondata['jobs'][jobnum][ddir] for lat in LAT_LIST: ddir_lat = ddir + '_' + lat if lat not in ddir_data or 'bins' not in ddir_data[lat]: bins[ddir_lat] = [] debug_print(args.debug, 'job', jobnum, ddir_lat, 'not found') continue debug_print(args.debug, 'job', jobnum, ddir_lat, 'processing') bins[ddir_lat] = [[int(key), value] for key, value in six.iteritems(ddir_data[lat]['bins'])] bins[ddir_lat] = sorted(bins[ddir_lat], key=lambda bin: bin[0]) run_total[ddir_lat] = [0 for x in range(0, len(bins[ddir_lat]))] run_total[ddir_lat][0] = bins[ddir_lat][0][1] for index in range(1, len(bins[ddir_lat])): run_total[ddir_lat][index] = run_total[ddir_lat][index-1] + \ bins[ddir_lat][index][1] csvfile = get_csvfile(args.dest, jobnum) with open(csvfile, 'w') as output: output.write(col_labels + "\n") # # Have a counter for each ddir_lat pairing # In each round, pick the shortest remaining duration # and output a line with any values for that duration # indices = {x: 0 for x in ddir_lat_list} while more_bins(indices, bins): debug_print(args.debug, 'indices: ', indices) min_lat = 17112760320 for ddir_lat in ddir_lat_list: if indices[ddir_lat] < len(bins[ddir_lat]): min_lat = min(bins[ddir_lat][indices[ddir_lat]][0], min_lat) output.write("{0}, ".format(min_lat)) for ddir_lat in ddir_lat_list: if indices[ddir_lat] < len(bins[ddir_lat]) and \ min_lat == bins[ddir_lat][indices[ddir_lat]][0]: count = bins[ddir_lat][indices[ddir_lat]][1] cumulative = run_total[ddir_lat][indices[ddir_lat]] ptile = percentile(indices[ddir_lat], run_total[ddir_lat]) output.write("{0}, {1}, {2}, ".format(count, cumulative, ptile)) indices[ddir_lat] += 1 else: output.write(", , , ") output.write("\n") print("{0} generated".format(csvfile)) if __name__ == '__main__': main() fio-3.39/tools/fiograph/000077500000000000000000000000001476262051600151755ustar00rootroot00000000000000fio-3.39/tools/fiograph/fiograph.conf000066400000000000000000000063241476262051600176500ustar00rootroot00000000000000[fio_jobs] header=< {} > header_color=black text_color=darkgreen shape=box shape_color=blue style=rounded title_style=< item_style= cluster_style=filled cluster_color=gainsboro [exec_prerun] text_color=red [exec_postrun] text_color=red [numjobs] text_color=red style= x {} [ioengine] text_color=darkblue specific_options_color=darkblue # definitions of engine's specific options [ioengine_cpuio] specific_options=cpuload cpumode cpuchunks exit_on_io_done [ioengine_dfs] specific_options=pool cont chunk_size object_class svcl [ioengine_e4defrag] specific_options=donorname inplace [ioengine_exec] specific_options=program arguments grace_time std_redirect [ioengine_filestat] specific_options=stat_type [ioengine_single-instance] specific_options=volume brick [ioengine_http] specific_options=https http_host http_user http_pass http_s3_key http_s3_keyid http_swift_auth_token http_s3_region http_mode http_verbose http_s3_storage_class http_s3_sse_customer_key http_s3_sse_customer_algorithm [ioengine_ime_aio] specific_options=ime_psync ime_psyncv [ioengine_io_uring] specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored nowait force_async atomic uncached [ioengine_io_uring_cmd] specific_options=hipri cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit fixedbufs registerfiles sqthread_poll sqthread_poll_cpu nonvectored nowait force_async cmd_type md_per_io_size pi_act pi_chk apptag apptag_mask [ioengine_libaio] specific_options=userspace_reap cmdprio_percentage cmdprio_class cmdprio cmdprio_bssplit nowait atomic [ioengine_libblkio] specific_options=libblkio_driver libblkio_path libblkio_pre_connect_props libblkio_num_entries libblkio_queue_size libblkio_pre_start_props hipri libblkio_vectored libblkio_write_zeroes_on_trim libblkio_wait_mode libblkio_force_enable_completion_eventfd [ioengine_libcufile] specific_options=gpu_dev_ids cuda_io [ioengine_libhdfs] specific_options=namenode hostname port hdfsdirectory chunk_size single_instance hdfs_use_direct [ioengine_libiscsi] specific_options=initiator [ioengine_mmap] specific_options=thp [ioengine_mtd] specific_options=skip_bad [ioengine_nbd] specific_options=uri [ioengine_net] specific_options=hostname port protocol nodelay listen pingpong interface ttl window_size mss netsplice [ioengine_nfs] specific_options=nfs_url [ioengine_rados] specific_options=clustername pool clientname busy_poll touch_objects [ioengine_rbd] specific_options=clustername rbdname pool clientname busy_poll [ioengine_rdma] specific_options=hostname bindname port verb [ioengine_sg] specific_options=hipri readfua writefua sg_write_mode stream_id [ioengine_pvsync2] specific_options=hipri hipri_percentage nowait sync psync vsync pvsync atomic uncached [ioengine_xnvme] specific_options=hipri sqthread_poll xnvme_be xnvme_async xnvme_sync xnvme_admin xnvme_dev_nsid xnvme_iovec fio-3.39/tools/fiograph/fiograph.py000077500000000000000000000273101476262051600173540ustar00rootroot00000000000000#!/usr/bin/env python3 import uuid import time import errno from graphviz import Digraph import argparse import configparser import os config_file = None fio_file = None def get_section_option(section_name, option_name, default=None): global fio_file if fio_file.has_option(section_name, option_name): return fio_file[section_name][option_name] return default def get_config_option(section_name, option_name, default=None): global config_file if config_file.has_option(section_name, option_name): return config_file[section_name][option_name] return default def get_header_color(keyword='fio_jobs', default_color='black'): return get_config_option(keyword, 'header_color', default_color) def get_shape_color(keyword='fio_jobs', default_color='black'): return get_config_option(keyword, 'shape_color', default_color) def get_text_color(keyword='fio_jobs', default_color='black'): return get_config_option(keyword, 'text_color', default_color) def get_cluster_color(keyword='fio_jobs', default_color='gray92'): return get_config_option(keyword, 'cluster_color', default_color) def get_header(keyword='fio_jobs'): return get_config_option(keyword, 'header') def get_shape(keyword='fio_jobs'): return get_config_option(keyword, 'shape', 'box') def get_style(keyword='fio_jobs'): return get_config_option(keyword, 'style', 'rounded') def get_cluster_style(keyword='fio_jobs'): return get_config_option(keyword, 'cluster_style', 'filled') def get_specific_options(engine): if not engine: return '' return get_config_option('ioengine_{}'.format(engine), 'specific_options', '').split(' ') def render_option(section, label, display, option, color_override=None): # These options are already shown with graphical helpers, no need to report them directly skip_list = ['size', 'stonewall', 'runtime', 'time_based', 'numjobs', 'wait_for', 'wait_for_previous'] # If the option doesn't exist or if a special handling is already done # don't render it, just return the current state if option in skip_list or option not in section: return label, display display = option if section[option]: display = '{} = {}'.format(display, section[option]) # Adding jobs's options into the box, darkgreen is the default color if color_override: color = color_override else: color = get_text_color(option, get_text_color('fio_jobs', 'darkgreen')) label += get_config_option('fio_jobs', 'item_style').format(color, display) return label, display def render_options(fio_file, section_name): """Render all options of a section.""" display = section_name section = fio_file[section_name] # Add a multiplier to the section_name if numjobs is set numjobs = int(get_section_option(section_name, 'numjobs', '1')) if numjobs > 1: display = display + \ get_style('numjobs').format( get_text_color('numjobs'), numjobs) # Header of the box label = get_config_option('fio_jobs', 'title_style').format(display) # Let's parse all the options of the current fio thread # Some needs to be printed on top or bottom of the job to ease the read to_early_print = ['exec_prerun', 'ioengine'] to_late_print = ['exec_postrun'] # Let's print the options on top of the box for early_print in to_early_print: label, display = render_option( section, label, display, early_print) current_io_engine = get_section_option( section_name, 'ioengine', None) if current_io_engine: # Let's print all specifics options for this engine for specific_option in sorted(get_specific_options(current_io_engine)): label, display = render_option( section, label, display, specific_option, get_config_option('ioengine', 'specific_options_color')) # Let's print generic options sorted by name for option in sorted(section): if option in to_early_print or option in to_late_print or option in get_specific_options(current_io_engine): continue label, display = render_option(section, label, display, option) # let's print options on the bottom of the box for late_print in to_late_print: label, display = render_option( section, label, display, late_print) # End of the box content label += '
{}
{}
>' return label def render_section(current_graph, fio_file, section_name, label): """Render the section.""" attr = None section = fio_file[section_name] # Let's render the box associated to a job current_graph.node(section_name, label, shape=get_shape(), color=get_shape_color(), style=get_style()) # Let's report the duration of the jobs with a self-loop arrow if 'runtime' in section and 'time_based' in section: attr = 'runtime={}'.format(section['runtime']) elif 'size' in section: attr = 'size={}'.format(section['size']) if attr: current_graph.edge(section_name, section_name, attr) def create_sub_graph(name): """Return a new graph.""" # We need to put 'cluster' in the name to ensure graphviz consider it as a cluster cluster_name = 'cluster_' + name # Unset the main graph labels to avoid a recopy in each subgraph attr = {} attr['label'] = '' new_graph = Digraph(name=cluster_name, graph_attr=attr) new_graph.attr(style=get_cluster_style(), color=get_cluster_color()) return new_graph def create_legend(): """Return a legend.""" html_table = "<" html_table += '' legend_item = '"' legend_bgcolor_item = '' html_table += legend_item.format('numjobs', get_text_color('numjobs'), 'x numjobs') html_table += legend_item.format('generic option', get_text_color(), 'generic option') html_table += legend_item.format('ioengine option', get_text_color('ioengine'), 'ioengine option') html_table += legend_bgcolor_item.format('job', get_shape_color()) html_table += legend_bgcolor_item.format( 'execution group', get_cluster_color()) html_table += '
Legend
{} {}
{}
>' legend = Digraph('html_table') legend.node('legend', shape='none', label=html_table) return legend def fio_to_graphviz(filename, format): """Compute the graphviz graph from the fio file.""" # Let's read the fio file global fio_file fio_file = configparser.RawConfigParser( allow_no_value=True, default_section="global", inline_comment_prefixes="'#', ';'") fio_file.read(filename) # Prepare the main graph object # Let's define the header of the document attrs = {} attrs['labelloc'] = 't' attrs['label'] = get_header().format( get_header_color(), os.path.basename(filename)) main_graph = Digraph(engine='dot', graph_attr=attrs, format=format) # Let's add a legend main_graph.subgraph(create_legend()) # By default all jobs are run in parallel and depends on "global" depends_on = fio_file.default_section # The previous section is by default the global section previous_section = fio_file.default_section current_graph = main_graph # The first job will be a new execution group new_execution_group = True # Let's iterate on all sections to create links between them for section_name in fio_file.sections(): # The current section section = fio_file[section_name] # If the current section is waiting the previous job if ('stonewall' or 'wait_for_previous') in section: # let's remember what was the previous job we depend on depends_on = previous_section new_execution_group = True elif 'wait_for' in section: # This sections depends on a named section pointed by wait_for depends_on = section['wait_for'] new_execution_group = True if new_execution_group: # Let's link the current graph with the main one main_graph.subgraph(current_graph) # Let's create a new graph to represent all the incoming jobs running at the same time current_graph = create_sub_graph(section_name) # Let's render the current section in its execution group render_section(current_graph, fio_file, section_name, render_options(fio_file, section_name)) # Let's trace the link between this job and the one it depends on # If we depend on 'global', we can avoid doing adding an arrow as we don't want to see 'global' if depends_on != fio_file.default_section: current_graph.edge(depends_on, section_name) # The current section become the parent of the next one previous_section = section_name # We are by default in the same execution group new_execution_group = False # The last subgraph isn't rendered yet main_graph.subgraph(current_graph) # Let's return the main graphviz object return main_graph def setup_commandline(): "Prepare the command line." parser = argparse.ArgumentParser() parser.add_argument('--file', action='store', type=str, required=True, help='the fio file to graph') parser.add_argument('--output', action='store', type=str, help='the output filename') parser.add_argument('--format', action='store', type=str, default='png', help='the output format (see https://graphviz.org/docs/outputs/)') parser.add_argument('--view', action='store_true', default=False, help='view the graph') parser.add_argument('--keep', action='store_true', default=False, help='keep the graphviz script file') parser.add_argument('--config', action='store', type=str, help='the configuration filename') args = parser.parse_args() return args def main(): global config_file args = setup_commandline() if args.config is None: if os.path.exists('fiograph.conf'): config_filename = 'fiograph.conf' else: config_filename = os.path.join(os.path.dirname(__file__), 'fiograph.conf') if not os.path.exists(config_filename): raise FileNotFoundError("Cannot locate configuration file") else: config_filename = args.config config_file = configparser.RawConfigParser(allow_no_value=True) config_file.read(config_filename) temp_filename = uuid.uuid4().hex image_filename = fio_to_graphviz(args.file, args.format).render(temp_filename, view=args.view) output_filename_stub = args.file if args.output: output_filename = args.output else: if output_filename_stub.endswith('.fio'): output_filename_stub = output_filename_stub[:-4] output_filename = image_filename.replace(temp_filename, output_filename_stub) if args.view: time.sleep(1) # allow time for the file to be opened before renaming it os.rename(image_filename, output_filename) if not args.keep: os.remove(temp_filename) else: os.rename(temp_filename, output_filename_stub + '.gv') main() fio-3.39/tools/fiologparser.py000077500000000000000000000161231476262051600164520ustar00rootroot00000000000000#!/usr/bin/env python3 # Note: this script is python2 and python 3 compatible. # # fiologparser.py # # This tool lets you parse multiple fio log files and look at interaval # statistics even when samples are non-uniform. For instance: # # fiologparser.py -s *bw* # # to see per-interval sums for all bandwidth logs or: # # fiologparser.py -a *clat* # # to see per-interval average completion latency. from __future__ import absolute_import from __future__ import print_function import argparse import math from functools import reduce def parse_args(): parser = argparse.ArgumentParser() parser.add_argument('-i', '--interval', required=False, type=int, default=1000, help='interval of time in seconds.') parser.add_argument('-d', '--divisor', required=False, type=int, default=1, help='divide the results by this value.') parser.add_argument('-f', '--full', dest='full', action='store_true', default=False, help='print full output.') parser.add_argument('-A', '--all', dest='allstats', action='store_true', default=False, help='print all stats for each interval.') parser.add_argument('-a', '--average', dest='average', action='store_true', default=False, help='print the average for each interval.') parser.add_argument('-s', '--sum', dest='sum', action='store_true', default=False, help='print the sum for each interval.') parser.add_argument("FILE", help="collectl log output files to parse", nargs="+") args = parser.parse_args() return args def get_ftime(series): ftime = 0 for ts in series: if ftime == 0 or ts.last.end < ftime: ftime = ts.last.end return ftime def print_full(ctx, series): ftime = get_ftime(series) start = 0 end = ctx.interval while (start < ftime): end = ftime if ftime < end else end results = [ts.get_value(start, end) for ts in series] print("%s, %s" % (end, ', '.join(["%0.3f" % i for i in results]))) start += ctx.interval end += ctx.interval def print_sums(ctx, series): ftime = get_ftime(series) start = 0 end = ctx.interval while (start < ftime): end = ftime if ftime < end else end results = [ts.get_value(start, end) for ts in series] print("%s, %0.3f" % (end, sum(results))) start += ctx.interval end += ctx.interval def print_averages(ctx, series): ftime = get_ftime(series) start = 0 end = ctx.interval while (start < ftime): end = ftime if ftime < end else end results = [ts.get_value(start, end) for ts in series] print("%s, %0.3f" % (end, float(sum(results))/len(results))) start += ctx.interval end += ctx.interval # FIXME: this routine is computationally inefficient # and has O(N^2) behavior # it would be better to make one pass through samples # to segment them into a series of time intervals, and # then compute stats on each time interval instead. # to debug this routine, use # # sort -n -t ',' -k 2 small.log # on your input. def my_extend( vlist, val ): vlist.extend(val) return vlist array_collapser = lambda vlist, val: my_extend(vlist, val) def print_all_stats(ctx, series): ftime = get_ftime(series) start = 0 end = ctx.interval print('start-time, samples, min, avg, median, 90%, 95%, 99%, max') while (start < ftime): # for each time interval end = ftime if ftime < end else end sample_arrays = [ s.get_samples(start, end) for s in series ] samplevalue_arrays = [] for sample_array in sample_arrays: samplevalue_arrays.append( [ sample.value for sample in sample_array ] ) # collapse list of lists of sample values into list of sample values samplevalues = reduce( array_collapser, samplevalue_arrays, [] ) # compute all stats and print them mymin = min(samplevalues) myavg = sum(samplevalues) / float(len(samplevalues)) mymedian = median(samplevalues) my90th = percentile(samplevalues, 0.90) my95th = percentile(samplevalues, 0.95) my99th = percentile(samplevalues, 0.99) mymax = max(samplevalues) print( '%f, %d, %f, %f, %f, %f, %f, %f, %f' % ( start, len(samplevalues), mymin, myavg, mymedian, my90th, my95th, my99th, mymax)) # advance to next interval start += ctx.interval end += ctx.interval def median(values): s=sorted(values) return float(s[(len(s)-1)/2]+s[(len(s)/2)])/2 def percentile(values, p): s = sorted(values) k = (len(s)-1) * p f = math.floor(k) c = math.ceil(k) if f == c: return s[int(k)] return (s[int(f)] * (c-k)) + (s[int(c)] * (k-f)) def print_default(ctx, series): ftime = get_ftime(series) start = 0 end = ctx.interval averages = [] weights = [] while (start < ftime): end = ftime if ftime < end else end results = [ts.get_value(start, end) for ts in series] averages.append(sum(results)) weights.append(end-start) start += ctx.interval end += ctx.interval total = 0 for i in range(0, len(averages)): total += averages[i]*weights[i] print('%0.3f' % (total/sum(weights))) class TimeSeries(object): def __init__(self, ctx, fn): self.ctx = ctx self.last = None self.samples = [] self.read_data(fn) def read_data(self, fn): f = open(fn, 'r') p_time = 0 for line in f: (time, value) = line.rstrip('\r\n').rsplit(', ')[:2] self.add_sample(p_time, int(time), int(value)) p_time = int(time) def add_sample(self, start, end, value): sample = Sample(ctx, start, end, value) if not self.last or self.last.end < end: self.last = sample self.samples.append(sample) def get_samples(self, start, end): sample_list = [] for s in self.samples: if s.start >= start and s.end <= end: sample_list.append(s) return sample_list def get_value(self, start, end): value = 0 for sample in self.samples: value += sample.get_contribution(start, end) return value class Sample(object): def __init__(self, ctx, start, end, value): self.ctx = ctx self.start = start self.end = end self.value = value def get_contribution(self, start, end): # short circuit if not within the bound if (end < self.start or start > self.end): return 0 sbound = self.start if start < self.start else start ebound = self.end if end > self.end else end ratio = float(ebound-sbound) / (end-start) return self.value*ratio/ctx.divisor if __name__ == '__main__': ctx = parse_args() series = [] for fn in ctx.FILE: series.append(TimeSeries(ctx, fn)) if ctx.sum: print_sums(ctx, series) elif ctx.average: print_averages(ctx, series) elif ctx.full: print_full(ctx, series) elif ctx.allstats: print_all_stats(ctx, series) else: print_default(ctx, series) fio-3.39/tools/genfio000077500000000000000000000212021476262051600145700ustar00rootroot00000000000000#!/bin/bash # # Copyright (C) 2013 eNovance SAS # Author: Erwan Velu # # The license below covers all files distributed with fio unless otherwise # noted in the file itself. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BLK_SIZE= BLOCK_SIZE=4k SEQ=-1 TEMPLATE=$(mktemp "${TMPDIR:-${TEMP:-/tmp}}/template.fio.XXXXXX") || exit $? trap 'rm -f "$TEMPLATE"' EXIT OUTFILE= DISKS= PRINTABLE_DISKS= RUNTIME=300 ETA=0 MODES="write,randwrite,read,randread" SHORT_HOSTNAME= CACHED_IO="FALSE" PREFIX="" PREFIX_FILENAME="" IODEPTH=1 show_help() { PROG=$(basename $0) echo "usage of $PROG:" cat << EOF -h : Show this help & exit -c : Enable cached-based IOs Disabled by default -a : Run sequential test then parallel one Disabled by default -s : Run sequential test (default value) one test after another then one disk after another Disabled by default -p : Run parallel test one test after another but all disks at the same time Enabled by default -D iodepth : Run with the specified iodepth Default is $IODEPTH -d disk1[,disk2,disk3,..] : Run the tests on the selected disks Separated each disk with a comma -z filesize : Specify the working file size, if you are passing filepaths to -d Disabled by default -r seconds : Time in seconds per benchmark 0 means till the end of the device Default is $RUNTIME seconds -b blocksize[,blocksize1, ...] : The blocksizes to test under fio format (4k, 1m, ...) Separated each blocksize with a comma Default is $BLOCK_SIZE -m mode1,[mode2,mode3, ...] : Define the fio IO profile to use like read, write, randread, randwrite Default is "$MODES" -x prefix : Add a prefix to the fio filename Useful to let a context associated with the file If the prefix features a / (slash), prefix will be considered as a directory -A cmd_to_run : System command to run after each job (exec_postrun in fio) -B cmd_to_run : System command to run before each job (exec_prerun in fio) Example: $PROG -d /dev/sdb,/dev/sdc,/dev/sdd,/dev/sde -a -b 4k,128k,1m -r 100 -a -x dellr720-day2/ Will generate an fio file that will run - a sequential bench on /dev/sdb /dev/sdc /dev/sdd /dev/sde for block size = 4k with write,randwrite,read,randread tests ETA ~ 4 tests * 4 disks * 100 seconds - a sequential bench on /dev/sdb /dev/sdc /dev/sdd /dev/sde for block size = 128k with write,randwrite,read,randread tests ETA ~ 4 tests * 4 disks * 100 seconds - a sequential bench on /dev/sdb /dev/sdc /dev/sdd /dev/sde for block size = 1m with write,randwrite,read,randread tests ETA ~ 4 tests * 4 disks * 100 seconds - a parallel bench on /dev/sdb /dev/sdc /dev/sdd /dev/sde for block size = 4k with write,randwrite,read,randread tests ETA ~ 4 tests * 100 seconds - a parallel bench on /dev/sdb /dev/sdc /dev/sdd /dev/sde for block size = 128k with write,randwrite,read,randread tests ETA ~ 4 tests * 100 seconds - a parallel bench on /dev/sdb /dev/sdc /dev/sdd /dev/sde for block size = 1m with write,randwrite,read,randread tests ETA ~ 4 tests * 100 seconds Generating dellr720-day2/localhost-4k,128k,1m-all-write,randwrite,read,randread-sdb,sdc,sdd,sde.fio Estimated Time = 6000 seconds : 1 hour 40 minutes EOF } finish_template() { echo "iodepth=$IODEPTH" >> $TEMPLATE if [ "$RUNTIME" != "0" ]; then echo "runtime=$RUNTIME" >> $TEMPLATE echo "time_based" >> $TEMPLATE fi if [ "$CACHED_IO" = "FALSE" ]; then echo "direct=1" >> $TEMPLATE fi } diskname_to_printable() { COUNT=0 for disk in $(echo $@ | tr "," " "); do R=$(basename $disk | sed 's|/|_|g') COUNT=$(($COUNT + 1)) if [ $COUNT -eq 1 ]; then P="$R" else P="$P,$R" fi done echo $P } gen_template() { cat >$TEMPLATE << EOF [global] ioengine=libaio invalidate=1 ramp_time=5 EOF } gen_seq_suite() { TYPE=$1 disk=$2 PRINTABLE_DISK=$(diskname_to_printable $disk) cat >> $OUTFILE << EOF [$TYPE-$PRINTABLE_DISK-$BLK_SIZE-seq] stonewall bs=$BLK_SIZE filename=$disk rw=$TYPE write_bw_log=${PREFIX_FILENAME}$SHORT_HOSTNAME-$BLK_SIZE-$PRINTABLE_DISK-$TYPE-seq.results write_iops_log=${PREFIX_FILENAME}$SHORT_HOSTNAME-$BLK_SIZE-$PRINTABLE_DISK-$TYPE-seq.results EOF ETA=$(($ETA + $RUNTIME)) } gen_seq_fio() { for disk in $(echo $DISKS | tr "," " "); do for mode in $(echo $MODES | tr "," " "); do gen_seq_suite "$mode" "$disk" done done } gen_para_suite() { TYPE=$1 NEED_WALL=$2 D=0 for disk in $(echo $DISKS | tr "," " "); do PRINTABLE_DISK=$(diskname_to_printable $disk) cat >> $OUTFILE << EOF [$TYPE-$PRINTABLE_DISK-$BLK_SIZE-para] bs=$BLK_SIZE EOF if [ "$D" = 0 ]; then echo "stonewall" >> $OUTFILE D=1 fi cat >> $OUTFILE << EOF filename=$disk rw=$TYPE write_bw_log=${PREFIX_FILENAME}$SHORT_HOSTNAME-$BLK_SIZE-$PRINTABLE_DISK-$TYPE-para.results write_iops_log=${PREFIX_FILENAME}$SHORT_HOSTNAME-$BLK_SIZE-$PRINTABLE_DISK-$TYPE-para.results EOF done ETA=$(($ETA + $RUNTIME)) echo >> $OUTFILE } gen_para_fio() { for mode in $(echo $MODES | tr "," " "); do gen_para_suite "$mode" done } gen_fio() { case $SEQ in 2) gen_seq_fio gen_para_fio ;; 1) gen_seq_fio ;; 0) gen_para_fio ;; esac } parse_cmdline() { while getopts "hacpsd:b:r:m:x:z:D:A:B:" opt; do case $opt in h) show_help exit 0 ;; b) BLOCK_SIZE=$OPTARG ;; c) CACHED_IO="TRUE" ;; s) if [ "$SEQ" = "-1" ]; then SEQ=1 fi ;; x) PREFIX=$OPTARG echo "$PREFIX" | grep -q "/" if [ "$?" -eq 0 ]; then mkdir -p $PREFIX # No need to keep the prefix for the log files # we do have a directory for that PREFIX_FILENAME="" else # We need to keep the prefix for the log files PREFIX_FILENAME=$PREFIX fi ;; r) RUNTIME=$OPTARG ;; p) if [ "$SEQ" = "-1" ]; then SEQ=0 fi ;; m) MODES=$OPTARG; ;; d) DISKS=$OPTARG PRINTABLE_DISKS=$(diskname_to_printable "$DISKS") ;; D) IODEPTH=$OPTARG ;; a) SEQ=2 ;; B) echo "exec_prerun=$OPTARG" >> $TEMPLATE ;; A) echo "exec_postrun=$OPTARG" >> $TEMPLATE ;; z) FSIZE=$OPTARG echo "size=$FSIZE" >> $TEMPLATE ;; \?) echo "Invalid option: -$OPTARG" >&2 ;; esac done if [ "$SEQ" = "-1" ]; then SEQ=0 fi SHORT_HOSTNAME=$(hostname -s) case $SEQ in 2) OUTFILE=${PREFIX}$SHORT_HOSTNAME-$BLOCK_SIZE-all-$MODES-$PRINTABLE_DISKS.fio ;; 1) OUTFILE=${PREFIX}$SHORT_HOSTNAME-$BLOCK_SIZE-sequential-$MODES-$PRINTABLE_DISKS.fio ;; 0) OUTFILE=${PREFIX}$SHORT_HOSTNAME-$BLOCK_SIZE-parallel-$MODES-$PRINTABLE_DISKS.fio ;; esac if [ -z "$DISKS" ]; then echo "Missing DISKS !" echo "Please read the help !" show_help exit 1 fi } check_mode_order() { FOUND_WRITE="NO" CAUSE="You are reading data before writing them " # If no write occurs, let's show a different message echo $MODES | grep -q "write" if [ "$?" -ne 0 ]; then CAUSE="You are reading data while never wrote them before" fi for mode in $(echo $MODES | tr "," " "); do echo $mode | grep -q write if [ "$?" -eq 0 ]; then FOUND_WRITE="YES" fi echo $mode | grep -q "read" if [ "$?" -eq 0 ]; then if [ "$FOUND_WRITE" = "NO" ]; then echo "###############################################################" echo "# Warning : $CAUSE#" echo "# On some storage devices, this could lead to invalid results #" echo "# #" echo "# Press Ctrl-C to adjust pattern order if you have doubts #" echo "# Or Wait 5 seconds before the file will be created #" echo "###############################################################" sleep 5 # No need to try showing the message more than one time return fi fi done } ########## MAIN gen_template parse_cmdline "$@" finish_template check_mode_order echo "Generating $OUTFILE" cp -f $TEMPLATE $OUTFILE echo >> $OUTFILE for BLK_SIZE in $(echo $BLOCK_SIZE | tr "," " "); do gen_fio done ETA_H=$(($ETA / 3600)) ETA_M=$((($ETA - ($ETA_H*3600)) / 60)) if [ "$ETA" = "0" ]; then echo "Cannot estimate ETA as RUNTIME=0" else echo "Estimated Time = $ETA seconds : $ETA_H hour $ETA_M minutes" fi fio-3.39/tools/hist/000077500000000000000000000000001476262051600143455ustar00rootroot00000000000000fio-3.39/tools/hist/.gitignore000066400000000000000000000000411476262051600163300ustar00rootroot00000000000000*.pyc *.ipynb .ipynb_checkpoints fio-3.39/tools/hist/fio-histo-log-pctiles.py000077500000000000000000000773211476262051600210550ustar00rootroot00000000000000#!/usr/bin/env python3 # module to parse fio histogram log files, not using pandas # runs in python v2 or v3 # to get help with the CLI: $ python fio-histo-log-pctiles.py -h # this can be run standalone as a script but is callable # assumes all threads run for same time duration # assumes all threads are doing the same thing for the entire run # percentiles: # 0 - min latency # 50 - median # 100 - max latency # TO-DO: # separate read and write stats for randrw mixed workload # report average latency if needed # prove that it works (partially done with unit tests) # to run unit tests, set UNITTEST environment variable to anything # if you do this, don't pass normal CLI parameters to it # otherwise it runs the CLI import sys, os, math, copy, time from copy import deepcopy import argparse from functools import reduce unittest2_imported = True try: import unittest2 except ImportError: unittest2_imported = False msec_per_sec = 1000 nsec_per_usec = 1000 direction_read = 0 direction_write = 1 class FioHistoLogExc(Exception): pass # if there is an error, print message, and exit with error status def myabort(msg): print('ERROR: ' + msg) sys.exit(1) # convert histogram log file into a list of # (time_ms, direction, bsz, buckets) tuples where # - time_ms is the time in msec at which the log record was written # - direction is 0 (read) or 1 (write) # - bsz is block size (not used) # - buckets is a CSV list of counters that make up the histogram # caller decides if the expected number of counters are present def exception_suffix( record_num, pathname ): return 'in histogram record %d file %s' % (record_num+1, pathname) # log file parser raises FioHistoLogExc exceptions # it returns histogram buckets in whatever unit fio uses # inputs: # logfn: pathname to histogram log file # buckets_per_interval - how many histogram buckets to expect # log_hist_msec - if not None, expected time interval between histogram records def parse_hist_file(logfn, buckets_per_interval, log_hist_msec): previous_ts_ms_read = -1 previous_ts_ms_write = -1 with open(logfn, 'r') as f: records = [ l.strip() for l in f.readlines() ] intervals = [] last_time_ms = -1 last_direction = -1 for k, r in enumerate(records): if r == '': continue tokens = r.split(',') try: int_tokens = [ int(t) for t in tokens ] except ValueError as e: raise FioHistoLogExc('non-integer value %s' % exception_suffix(k+1, logfn)) neg_ints = list([tk for tk in int_tokens if tk < 0]) if len(neg_ints) > 0: raise FioHistoLogExc('negative integer value %s' % exception_suffix(k+1, logfn)) if len(int_tokens) < 3: raise FioHistoLogExc('too few numbers %s' % exception_suffix(k+1, logfn)) direction = int_tokens[1] if direction != direction_read and direction != direction_write: raise FioHistoLogExc('invalid I/O direction %s' % exception_suffix(k+1, logfn)) time_ms = int_tokens[0] if direction == direction_read: if time_ms < previous_ts_ms_read: raise FioHistoLogExc('read timestamp in column 1 decreased %s' % exception_suffix(k+1, logfn)) previous_ts_ms_read = time_ms elif direction == direction_write: if time_ms < previous_ts_ms_write: raise FioHistoLogExc('write timestamp in column 1 decreased %s' % exception_suffix(k+1, logfn)) previous_ts_ms_write = time_ms bsz = int_tokens[2] if bsz > (1 << 24): raise FioHistoLogExc('block size too large %s' % exception_suffix(k+1, logfn)) buckets = int_tokens[3:] if len(buckets) != buckets_per_interval: raise FioHistoLogExc('%d buckets per interval but %d expected in %s' % (len(buckets), buckets_per_interval, exception_suffix(k+1, logfn))) # hack to filter out records with the same timestamp # we should not have to do this if fio logs histogram records correctly if time_ms == last_time_ms and direction == last_direction: continue last_time_ms = time_ms last_direction = direction intervals.append((time_ms, direction, bsz, buckets)) if len(intervals) == 0: raise FioHistoLogExc('no records in %s' % logfn) (first_timestamp, _, _, _) = intervals[0] if first_timestamp < 1000000: start_time = 0 # assume log_unix_epoch = 0 elif log_hist_msec != None: start_time = first_timestamp - log_hist_msec elif len(intervals) > 1: (second_timestamp, _, _, _) = intervals[1] start_time = first_timestamp - (second_timestamp - first_timestamp) else: raise FioHistoLogExc('no way to estimate test start time') (end_timestamp, _, _, _) = intervals[-1] return (intervals, start_time, end_timestamp) # compute time range for each bucket index in histogram record # see comments in https://github.com/axboe/fio/blob/master/stat.h # for description of bucket groups and buckets # fio v3 bucket ranges are in nanosec (since response times are measured in nanosec) # but we convert fio v3 nanosecs to floating-point microseconds def time_ranges(groups, counters_per_group, fio_version=3): bucket_width = 1 bucket_base = 0 bucket_intervals = [] for g in range(0, groups): for b in range(0, counters_per_group): rmin = float(bucket_base) rmax = rmin + bucket_width if fio_version == 3: rmin /= nsec_per_usec rmax /= nsec_per_usec bucket_intervals.append( [rmin, rmax] ) bucket_base += bucket_width if g != 0: bucket_width *= 2 return bucket_intervals # compute number of time quantum intervals in the test def get_time_intervals(time_quantum, min_timestamp_ms, max_timestamp_ms): # round down to nearest second max_timestamp = max_timestamp_ms // msec_per_sec min_timestamp = min_timestamp_ms // msec_per_sec # round up to nearest whole multiple of time_quantum time_interval_count = ((max_timestamp - min_timestamp) + time_quantum) // time_quantum end_time = min_timestamp + (time_interval_count * time_quantum) return (end_time, time_interval_count) # align raw histogram log data to time quantum so # we can then combine histograms from different threads with addition # for randrw workload we count both reads and writes in same output bucket # but we separate reads and writes for purposes of calculating # end time for histogram record. # this requires us to weight a raw histogram bucket by the # fraction of time quantum that the bucket overlaps the current # time quantum interval # for example, if we have a bucket with 515 samples for time interval # [ 1010, 2014 ] msec since start of test, and time quantum is 1 sec, then # for time quantum interval [ 1000, 2000 ] msec, the overlap is # (2000 - 1010) / (2000 - 1000) = 0.99 # so the contribution of this bucket to this time quantum is # 515 x 0.99 = 509.85 def align_histo_log(raw_histogram_log, time_quantum, bucket_count, min_timestamp_ms, max_timestamp_ms): # slice up test time int intervals of time_quantum seconds (end_time, time_interval_count) = get_time_intervals(time_quantum, min_timestamp_ms, max_timestamp_ms) time_qtm_ms = time_quantum * msec_per_sec end_time_ms = end_time * msec_per_sec aligned_intervals = [] for j in range(0, time_interval_count): aligned_intervals.append(( min_timestamp_ms + (j * time_qtm_ms), [ 0.0 for j in range(0, bucket_count) ] )) log_record_count = len(raw_histogram_log) for k, record in enumerate(raw_histogram_log): # find next record with same direction to get end-time # have to avoid going past end of array # for fio randrw workload, # we have read and write records on same time interval # sometimes read and write records are in opposite order # assertion checks that next read/write record # can be separated by at most 2 other records (time_msec, direction, sz, interval_buckets) = record if k+1 < log_record_count: (time_msec_end, direction2, _, _) = raw_histogram_log[k+1] if direction2 != direction: if k+2 < log_record_count: (time_msec_end, direction2, _, _) = raw_histogram_log[k+2] if direction2 != direction: if k+3 < log_record_count: (time_msec_end, direction2, _, _) = raw_histogram_log[k+3] assert direction2 == direction else: time_msec_end = end_time_ms else: time_msec_end = end_time_ms else: time_msec_end = end_time_ms # calculate first quantum that overlaps this histogram record offset_from_min_ts = time_msec - min_timestamp_ms qtm_start_ms = min_timestamp_ms + (offset_from_min_ts // time_qtm_ms) * time_qtm_ms qtm_end_ms = min_timestamp_ms + ((offset_from_min_ts + time_qtm_ms) // time_qtm_ms) * time_qtm_ms qtm_index = offset_from_min_ts // time_qtm_ms # for each quantum that overlaps this histogram record's time interval while qtm_start_ms < time_msec_end: # while quantum overlaps record # some histogram logs may be longer than others if len(aligned_intervals) <= qtm_index: break # calculate fraction of time that this quantum # overlaps histogram record's time interval overlap_start = max(qtm_start_ms, time_msec) overlap_end = min(qtm_end_ms, time_msec_end) weight = float(overlap_end - overlap_start) weight /= (time_msec_end - time_msec) (_,aligned_histogram) = aligned_intervals[qtm_index] for bx, b in enumerate(interval_buckets): weighted_bucket = weight * b aligned_histogram[bx] += weighted_bucket # advance to the next time quantum qtm_start_ms += time_qtm_ms qtm_end_ms += time_qtm_ms qtm_index += 1 return aligned_intervals # add histogram in "source" to histogram in "target" # it is assumed that the 2 histograms are precisely time-aligned def add_to_histo_from( target, source ): for b in range(0, len(source)): target[b] += source[b] # calculate total samples in the histogram buckets def get_samples(buckets): return reduce( lambda x,y: x + y, buckets) # compute percentiles # inputs: # buckets: histogram bucket array # wanted: list of floating-pt percentiles to calculate # time_ranges: [tmin,tmax) time interval for each bucket # returns None if no I/O reported. # otherwise we would be dividing by zero # think of buckets as probability distribution function # and this loop is integrating to get cumulative distribution function def get_pctiles(buckets, wanted, time_ranges): # get total of IO requests done total_ios = 0 for io_count in buckets: total_ios += io_count # don't return percentiles if no I/O was done during interval if total_ios == 0.0: return None pctile_count = len(wanted) # results returned as dictionary keyed by percentile pctile_result = {} # index of next percentile in list pctile_index = 0 # next percentile next_pctile = wanted[pctile_index] # no one is interested in percentiles bigger than this but not 100.0 # this prevents floating-point error from preventing loop exit almost_100 = 99.9999 # pct is the percentile corresponding to # all I/O requests up through bucket b pct = 0.0 total_so_far = 0 for b, io_count in enumerate(buckets): if io_count == 0: continue total_so_far += io_count # last_pct_lt is the percentile corresponding to # all I/O requests up to, but not including, bucket b last_pct = pct pct = 100.0 * float(total_so_far) / total_ios # a single bucket could satisfy multiple pctiles # so this must be a while loop # for 100-percentile (max latency) case, no bucket exceeds it # so we must stop there. while ((next_pctile == 100.0 and pct >= almost_100) or (next_pctile < 100.0 and pct > next_pctile)): # interpolate between min and max time for bucket time interval # we keep the time_ranges access inside this loop, # even though it could be above the loop, # because in many cases we will not be even entering # the loop so we optimize out these accesses range_max_time = time_ranges[b][1] range_min_time = time_ranges[b][0] offset_frac = (next_pctile - last_pct)/(pct - last_pct) interpolation = range_min_time + (offset_frac*(range_max_time - range_min_time)) pctile_result[next_pctile] = interpolation pctile_index += 1 if pctile_index == pctile_count: break next_pctile = wanted[pctile_index] if pctile_index == pctile_count: break assert pctile_index == pctile_count return pctile_result # this is really the main program def compute_percentiles_from_logs(): parser = argparse.ArgumentParser() parser.add_argument("--fio-version", dest="fio_version", default="3", choices=[2,3], type=int, help="fio version (default=3)") parser.add_argument("--bucket-groups", dest="bucket_groups", default="29", type=int, help="fio histogram bucket groups (default=29)") parser.add_argument("--bucket-bits", dest="bucket_bits", default="6", type=int, help="fio histogram buckets-per-group bits (default=6 means 64 buckets/group)") parser.add_argument("--percentiles", dest="pctiles_wanted", default=[ 0., 50., 95., 99., 100.], type=float, nargs='+', help="fio histogram buckets-per-group bits (default=6 means 64 buckets/group)") parser.add_argument("--time-quantum", dest="time_quantum", default="1", type=int, help="time quantum in seconds (default=1)") parser.add_argument("--log-hist-msec", dest="log_hist_msec", type=int, default=None, help="log_hist_msec value in fio job file") parser.add_argument("--output-unit", dest="output_unit", default="usec", type=str, help="Latency percentile output unit: msec|usec|nsec (default usec)") parser.add_argument("file_list", nargs='+', help='list of files, preceded by " -- " if necessary') args = parser.parse_args() # default changes based on fio version if args.fio_version == 2: args.bucket_groups = 19 # print parameters print('fio version = %d' % args.fio_version) print('bucket groups = %d' % args.bucket_groups) print('bucket bits = %d' % args.bucket_bits) print('time quantum = %d sec' % args.time_quantum) print('percentiles = %s' % ','.join([ str(p) for p in args.pctiles_wanted ])) buckets_per_group = 1 << args.bucket_bits print('buckets per group = %d' % buckets_per_group) buckets_per_interval = buckets_per_group * args.bucket_groups print('buckets per interval = %d ' % buckets_per_interval) bucket_index_range = range(0, buckets_per_interval) if args.log_hist_msec != None: print('log_hist_msec = %d' % args.log_hist_msec) if args.time_quantum == 0: print('ERROR: time-quantum must be a positive number of seconds') print('output unit = ' + args.output_unit) if args.output_unit == 'msec': time_divisor = float(msec_per_sec) elif args.output_unit == 'usec': time_divisor = 1.0 # construct template for each histogram bucket array with buckets all zeroes # we just copy this for each new histogram zeroed_buckets = [ 0.0 for r in bucket_index_range ] # calculate response time interval associated with each histogram bucket bucket_times = time_ranges(args.bucket_groups, buckets_per_group, fio_version=args.fio_version) # parse the histogram logs # assumption: each bucket has a monotonically increasing time # assumption: time ranges do not overlap for a single thread's records # (exception: if randrw workload, then there is a read and a write # record for the same time interval) test_start_time = 0 test_end_time = 1.0e18 hist_files = {} for fn in args.file_list: try: (hist_files[fn], log_start_time, log_end_time) = parse_hist_file(fn, buckets_per_interval, args.log_hist_msec) except FioHistoLogExc as e: myabort(str(e)) # we consider the test started when all threads have started logging test_start_time = max(test_start_time, log_start_time) # we consider the test over when one of the logs has ended test_end_time = min(test_end_time, log_end_time) if test_start_time >= test_end_time: raise FioHistoLogExc('no time interval when all threads logs overlapped') if test_start_time > 0: print('all threads running as of unix epoch time %d = %s' % ( test_start_time/float(msec_per_sec), time.ctime(test_start_time/1000.0))) (end_time, time_interval_count) = get_time_intervals(args.time_quantum, test_start_time, test_end_time) all_threads_histograms = [ ((j*args.time_quantum*msec_per_sec), deepcopy(zeroed_buckets)) for j in range(0, time_interval_count) ] for logfn in hist_files.keys(): aligned_per_thread = align_histo_log(hist_files[logfn], args.time_quantum, buckets_per_interval, test_start_time, test_end_time) for t in range(0, time_interval_count): (_, all_threads_histo_t) = all_threads_histograms[t] (_, log_histo_t) = aligned_per_thread[t] add_to_histo_from( all_threads_histo_t, log_histo_t ) # calculate percentiles across aggregate histogram for all threads # print CSV header just like fiologparser_hist does header = 'msec-since-start, samples, ' for p in args.pctiles_wanted: if p == 0.: next_pctile_header = 'min' elif p == 100.: next_pctile_header = 'max' elif p == 50.: next_pctile_header = 'median' else: next_pctile_header = '%3.1f' % p header += '%s, ' % next_pctile_header print('time (millisec), percentiles in increasing order with values in ' + args.output_unit) print(header) for (t_msec, all_threads_histo_t) in all_threads_histograms: samples = get_samples(all_threads_histo_t) record = '%8d, %8d, ' % (t_msec, samples) pct = get_pctiles(all_threads_histo_t, args.pctiles_wanted, bucket_times) if not pct: for w in args.pctiles_wanted: record += ', ' else: pct_keys = [ k for k in pct.keys() ] pct_values = [ str(pct[wanted]/time_divisor) for wanted in sorted(pct_keys) ] record += ', '.join(pct_values) print(record) #end of MAIN PROGRAM ##### below are unit tests ############## if unittest2_imported: import tempfile, shutil from os.path import join should_not_get_here = False class Test(unittest2.TestCase): tempdir = None # a little less typing please def A(self, boolean_val): self.assertTrue(boolean_val) # initialize unit test environment @classmethod def setUpClass(cls): d = tempfile.mkdtemp() Test.tempdir = d # remove anything left by unit test environment # unless user sets UNITTEST_LEAVE_FILES environment variable @classmethod def tearDownClass(cls): if not os.getenv("UNITTEST_LEAVE_FILES"): shutil.rmtree(cls.tempdir) def setUp(self): self.fn = join(Test.tempdir, self.id()) def test_a_add_histos(self): a = [ 1.0, 2.0 ] b = [ 1.5, 2.5 ] add_to_histo_from( a, b ) self.A(a == [2.5, 4.5]) self.A(b == [1.5, 2.5]) def test_b1_parse_log(self): with open(self.fn, 'w') as f: f.write('1234, 0, 4096, 1, 2, 3, 4\n') f.write('5678,1,16384,5,6,7,8 \n') (raw_histo_log, min_timestamp, max_timestamp) = parse_hist_file(self.fn, 4, None) # 4 buckets per interval # if not log_unix_epoch=1, then min_timestamp will always be set to zero self.A(len(raw_histo_log) == 2 and min_timestamp == 0 and max_timestamp == 5678) (time_ms, direction, bsz, histo) = raw_histo_log[0] self.A(time_ms == 1234 and direction == 0 and bsz == 4096 and histo == [ 1, 2, 3, 4 ]) (time_ms, direction, bsz, histo) = raw_histo_log[1] self.A(time_ms == 5678 and direction == 1 and bsz == 16384 and histo == [ 5, 6, 7, 8 ]) def test_b2_parse_empty_log(self): with open(self.fn, 'w') as f: pass try: (raw_histo_log, _, _) = parse_hist_file(self.fn, 4, None) self.A(should_not_get_here) except FioHistoLogExc as e: self.A(str(e).startswith('no records')) def test_b3_parse_empty_records(self): with open(self.fn, 'w') as f: f.write('\n') f.write('1234, 0, 4096, 1, 2, 3, 4\n') f.write('5678,1,16384,5,6,7,8 \n') f.write('\n') (raw_histo_log, _, max_timestamp_ms) = parse_hist_file(self.fn, 4, None) self.A(len(raw_histo_log) == 2 and max_timestamp_ms == 5678) (time_ms, direction, bsz, histo) = raw_histo_log[0] self.A(time_ms == 1234 and direction == 0 and bsz == 4096 and histo == [ 1, 2, 3, 4 ]) (time_ms, direction, bsz, histo) = raw_histo_log[1] self.A(time_ms == 5678 and direction == 1 and bsz == 16384 and histo == [ 5, 6, 7, 8 ]) def test_b4_parse_non_int(self): with open(self.fn, 'w') as f: f.write('12, 0, 4096, 1a, 2, 3, 4\n') try: (raw_histo_log, _, _) = parse_hist_file(self.fn, 4, None) self.A(False) except FioHistoLogExc as e: self.A(str(e).startswith('non-integer')) def test_b5_parse_neg_int(self): with open(self.fn, 'w') as f: f.write('-12, 0, 4096, 1, 2, 3, 4\n') try: (raw_histo_log, _, _) = parse_hist_file(self.fn, 4, None) self.A(False) except FioHistoLogExc as e: self.A(str(e).startswith('negative integer')) def test_b6_parse_too_few_int(self): with open(self.fn, 'w') as f: f.write('0, 0\n') try: (raw_histo_log, _, _) = parse_hist_file(self.fn, 4, None) self.A(False) except FioHistoLogExc as e: self.A(str(e).startswith('too few numbers')) def test_b7_parse_invalid_direction(self): with open(self.fn, 'w') as f: f.write('100, 2, 4096, 1, 2, 3, 4\n') try: (raw_histo_log, _, _) = parse_hist_file(self.fn, 4, None) self.A(False) except FioHistoLogExc as e: self.A(str(e).startswith('invalid I/O direction')) def test_b8_parse_bsz_too_big(self): with open(self.fn+'_good', 'w') as f: f.write('100, 1, %d, 1, 2, 3, 4\n' % (1<<24)) (raw_histo_log, _, _) = parse_hist_file(self.fn+'_good', 4, None) with open(self.fn+'_bad', 'w') as f: f.write('100, 1, 20000000, 1, 2, 3, 4\n') try: (raw_histo_log, _, _) = parse_hist_file(self.fn+'_bad', 4, None) self.A(False) except FioHistoLogExc as e: self.A(str(e).startswith('block size too large')) def test_b9_parse_wrong_bucket_count(self): with open(self.fn, 'w') as f: f.write('100, 1, %d, 1, 2, 3, 4, 5\n' % (1<<24)) try: (raw_histo_log, _, _) = parse_hist_file(self.fn, 4, None) self.A(False) except FioHistoLogExc as e: self.A(str(e).__contains__('buckets per interval')) def test_c1_time_ranges(self): ranges = time_ranges(3, 2) # fio_version defaults to 3 expected_ranges = [ # fio_version 3 is in nanoseconds [0.000, 0.001], [0.001, 0.002], # first group [0.002, 0.003], [0.003, 0.004], # second group same width [0.004, 0.006], [0.006, 0.008]] # subsequent groups double width self.A(ranges == expected_ranges) ranges = time_ranges(3, 2, fio_version=3) self.A(ranges == expected_ranges) ranges = time_ranges(3, 2, fio_version=2) expected_ranges_v2 = [ [ 1000.0 * min_or_max for min_or_max in time_range ] for time_range in expected_ranges ] self.A(ranges == expected_ranges_v2) # see fio V3 stat.h for why 29 groups and 2^6 buckets/group normal_ranges_v3 = time_ranges(29, 64) # for v3, bucket time intervals are measured in nanoseconds self.A(len(normal_ranges_v3) == 29 * 64 and normal_ranges_v3[-1][1] == 64*(1<<(29-1))/1000.0) normal_ranges_v2 = time_ranges(19, 64, fio_version=2) # for v2, bucket time intervals are measured in microseconds so we have fewer buckets self.A(len(normal_ranges_v2) == 19 * 64 and normal_ranges_v2[-1][1] == 64*(1<<(19-1))) def test_d1_align_histo_log_1_quantum(self): with open(self.fn, 'w') as f: f.write('100, 1, 4096, 1, 2, 3, 4') (raw_histo_log, min_timestamp_ms, max_timestamp_ms) = parse_hist_file(self.fn, 4, None) self.A(min_timestamp_ms == 0 and max_timestamp_ms == 100) aligned_log = align_histo_log(raw_histo_log, 5, 4, min_timestamp_ms, max_timestamp_ms) self.A(len(aligned_log) == 1) (time_ms0, h) = aligned_log[0] self.A(time_ms0 == 0 and h == [1., 2., 3., 4.]) # handle case with log_unix_epoch=1 timestamps, 1-second time quantum # here both records will be separated into 2 aligned intervals def test_d1a_align_2rec_histo_log_epoch_1_quantum_1sec(self): with open(self.fn, 'w') as f: f.write('1536504002123, 1, 4096, 1, 2, 3, 4\n') f.write('1536504003123, 1, 4096, 4, 3, 2, 1\n') (raw_histo_log, min_timestamp_ms, max_timestamp_ms) = parse_hist_file(self.fn, 4, None) self.A(min_timestamp_ms == 1536504001123 and max_timestamp_ms == 1536504003123) aligned_log = align_histo_log(raw_histo_log, 1, 4, min_timestamp_ms, max_timestamp_ms) self.A(len(aligned_log) == 3) (time_ms0, h) = aligned_log[0] self.A(time_ms0 == 1536504001123 and h == [0., 0., 0., 0.]) (time_ms1, h) = aligned_log[1] self.A(time_ms1 == 1536504002123 and h == [1., 2., 3., 4.]) (time_ms2, h) = aligned_log[2] self.A(time_ms2 == 1536504003123 and h == [4., 3., 2., 1.]) # handle case with log_unix_epoch=1 timestamps, 5-second time quantum # here both records will be merged into a single aligned time interval def test_d1b_align_2rec_histo_log_epoch_1_quantum_5sec(self): with open(self.fn, 'w') as f: f.write('1536504002123, 1, 4096, 1, 2, 3, 4\n') f.write('1536504003123, 1, 4096, 4, 3, 2, 1\n') (raw_histo_log, min_timestamp_ms, max_timestamp_ms) = parse_hist_file(self.fn, 4, None) self.A(min_timestamp_ms == 1536504001123 and max_timestamp_ms == 1536504003123) aligned_log = align_histo_log(raw_histo_log, 5, 4, min_timestamp_ms, max_timestamp_ms) self.A(len(aligned_log) == 1) (time_ms0, h) = aligned_log[0] self.A(time_ms0 == 1536504001123 and h == [5., 5., 5., 5.]) # we need this to compare 2 lists of floating point numbers for equality # because of floating-point imprecision def compare_2_floats(self, x, y): if x == 0.0 or y == 0.0: return (x+y) < 0.0000001 else: return (math.fabs(x-y)/x) < 0.00001 def is_close(self, buckets, buckets_expected): if len(buckets) != len(buckets_expected): return False compare_buckets = lambda k: self.compare_2_floats(buckets[k], buckets_expected[k]) indices_close = list(filter(compare_buckets, range(0, len(buckets)))) return len(indices_close) == len(buckets) def test_d2_align_histo_log_2_quantum(self): with open(self.fn, 'w') as f: f.write('2000, 1, 4096, 1, 2, 3, 4\n') f.write('7000, 1, 4096, 1, 2, 3, 4\n') (raw_histo_log, min_timestamp_ms, max_timestamp_ms) = parse_hist_file(self.fn, 4, None) self.A(min_timestamp_ms == 0 and max_timestamp_ms == 7000) (_, _, _, raw_buckets1) = raw_histo_log[0] (_, _, _, raw_buckets2) = raw_histo_log[1] aligned_log = align_histo_log(raw_histo_log, 5, 4, min_timestamp_ms, max_timestamp_ms) self.A(len(aligned_log) == 2) (time_ms1, h1) = aligned_log[0] (time_ms2, h2) = aligned_log[1] # because first record is from time interval [2000, 7000] # we weight it according expect1 = [float(b) * 0.6 for b in raw_buckets1] expect2 = [float(b) * 0.4 for b in raw_buckets1] for e in range(0, len(expect2)): expect2[e] += raw_buckets2[e] self.A(time_ms1 == 0 and self.is_close(h1, expect1)) self.A(time_ms2 == 5000 and self.is_close(h2, expect2)) # what to expect if histogram buckets are all equal def test_e1_get_pctiles_flat_histo(self): with open(self.fn, 'w') as f: buckets = [ 100 for j in range(0, 128) ] f.write('9000, 1, 4096, %s\n' % ', '.join([str(b) for b in buckets])) (raw_histo_log, min_timestamp_ms, max_timestamp_ms) = parse_hist_file(self.fn, 128, None) self.A(min_timestamp_ms == 0 and max_timestamp_ms == 9000) aligned_log = align_histo_log(raw_histo_log, 5, 128, min_timestamp_ms, max_timestamp_ms) time_intervals = time_ranges(4, 32) # since buckets are all equal, then median is halfway through time_intervals # and max latency interval is at end of time_intervals self.A(time_intervals[64][1] == 0.066 and time_intervals[127][1] == 0.256) pctiles_wanted = [ 0, 50, 100 ] pct_vs_time = [] for (time_ms, histo) in aligned_log: pct_vs_time.append(get_pctiles(histo, pctiles_wanted, time_intervals)) self.A(pct_vs_time[0] == None) # no I/O in this time interval expected_pctiles = { 0:0.000, 50:0.064, 100:0.256 } self.A(pct_vs_time[1] == expected_pctiles) # what to expect if just the highest histogram bucket is used def test_e2_get_pctiles_highest_pct(self): fio_v3_bucket_count = 29 * 64 with open(self.fn, 'w') as f: # make an empty fio v3 histogram buckets = [ 0 for j in range(0, fio_v3_bucket_count) ] # add one I/O request to last bucket buckets[-1] = 1 f.write('9000, 1, 4096, %s\n' % ', '.join([str(b) for b in buckets])) (raw_histo_log, min_timestamp_ms, max_timestamp_ms) = parse_hist_file(self.fn, fio_v3_bucket_count, None) self.A(min_timestamp_ms == 0 and max_timestamp_ms == 9000) aligned_log = align_histo_log(raw_histo_log, 5, fio_v3_bucket_count, min_timestamp_ms, max_timestamp_ms) (time_ms, histo) = aligned_log[1] time_intervals = time_ranges(29, 64) expected_pctiles = { 100.0:(64*(1<<28))/1000.0 } pct = get_pctiles( histo, [ 100.0 ], time_intervals ) self.A(pct == expected_pctiles) # we are using this module as a standalone program if __name__ == '__main__': if os.getenv('UNITTEST'): if unittest2_imported: sys.exit(unittest2.main()) else: raise Exception('you must install unittest2 module to run unit test') else: compute_percentiles_from_logs() fio-3.39/tools/hist/fiologparser_hist.py000077500000000000000000000540401476262051600204500ustar00rootroot00000000000000#!/usr/bin/env python3 """ Utility for converting *_clat_hist* files generated by fio into latency statistics. Example usage: $ fiologparser_hist.py *_clat_hist* end-time, samples, min, avg, median, 90%, 95%, 99%, max 1000, 15, 192, 1678.107, 1788.859, 1856.076, 1880.040, 1899.208, 1888.000 2000, 43, 152, 1642.368, 1714.099, 1816.659, 1845.552, 1888.131, 1888.000 4000, 39, 1152, 1546.962, 1545.785, 1627.192, 1640.019, 1691.204, 1744 ... @author Karl Cronburg """ import os import sys import pandas import re import numpy as np runascmd = False err = sys.stderr.write class HistFileRdr(): """ Class to read a hist file line by line, buffering a value array for the latest line, and allowing a preview of the next timestamp in next line Note: this does not follow a generator pattern, but must explicitly get next bin array. """ def __init__(self, file): self.fp = open(file, 'r') self.data = self.nextData() def close(self): self.fp.close() self.fp = None def nextData(self): self.data = None if self.fp: line = self.fp.readline() if line == "": self.close() else: self.data = [int(x) for x in line.replace(' ', '').rstrip().split(',')] return self.data @property def curTS(self): ts = None if self.data: ts = self.data[0] return ts @property def curDir(self): d = None if self.data: d = self.data[1] return d @property def curBins(self): return self.data[3:] def weighted_percentile(percs, vs, ws): """ Use linear interpolation to calculate the weighted percentile. Value and weight arrays are first sorted by value. The cumulative distribution function (cdf) is then computed, after which np.interp finds the two values closest to our desired weighted percentile(s) and linearly interpolates them. percs :: List of percentiles we want to calculate vs :: Array of values we are computing the percentile of ws :: Array of weights for our corresponding values return :: Array of percentiles """ idx = np.argsort(vs) vs, ws = vs[idx], ws[idx] # weights and values sorted by value cdf = 100 * (ws.cumsum() - ws / 2.0) / ws.sum() return np.interp(percs, cdf, vs) # linear interpolation def weights(start_ts, end_ts, start, end): """ Calculate weights based on fraction of sample falling in the given interval [start,end]. Weights computed using vector / array computation instead of for-loops. Note that samples with zero time length are effectively ignored (we set their weight to zero). start_ts :: Array of start times for a set of samples end_ts :: Array of end times for a set of samples start :: int end :: int return :: Array of weights """ sbounds = np.maximum(start_ts, start).astype(float) ebounds = np.minimum(end_ts, end).astype(float) ws = (ebounds - sbounds) / (end_ts - start_ts) if np.any(np.isnan(ws)): err("WARNING: zero-length sample(s) detected. Log file corrupt" " / bad time values? Ignoring these samples.\n") ws[np.where(np.isnan(ws))] = 0.0; return ws def weighted_average(vs, ws): return np.sum(vs * ws) / np.sum(ws) percs = None columns = None def gen_output_columns(ctx): global percs,columns strpercs = re.split('[,:]', ctx.percentiles) percs = [50.0] # always print 50% in 'median' column percs.extend(list(map(float,strpercs))) if ctx.directions: columns = ["end-time", "dir", "samples", "min", "avg", "median"] else: columns = ["end-time", "samples", "min", "avg", "median"] columns.extend(list([x+'%' for x in strpercs])) columns.append("max") def fmt_float_list(ctx, num=1): """ Return a comma separated list of float formatters to the required number of decimal places. For instance: fmt_float_list(ctx.decimals=4, num=3) == "%.4f, %.4f, %.4f" """ return ', '.join(["%%.%df" % ctx.decimals] * num) # Default values - see beginning of main() for how we detect number columns in # the input files: __HIST_COLUMNS = 1216 __NON_HIST_COLUMNS = 3 __TOTAL_COLUMNS = __HIST_COLUMNS + __NON_HIST_COLUMNS def read_chunk(rdr, sz): """ Read the next chunk of size sz from the given reader. """ try: """ StopIteration occurs when the pandas reader is empty, and AttributeError occurs if rdr is None due to the file being empty. """ new_arr = rdr.read().values except (StopIteration, AttributeError): return None # Let's leave the array as is, and let later code ignore the block size return new_arr #""" Extract array of the times, directions wo times, and histograms matrix without times column. """ #times, rws, szs = new_arr[:,0], new_arr[:,1], new_arr[:,2] #hists = new_arr[:,__NON_HIST_COLUMNS:] #times = times.reshape((len(times),1)) #dirs = rws.reshape((len(rws),1)) #arr = np.append(times, hists, axis=1) #return arr def get_min(fps, arrs): """ Find the file with the current first row with the smallest start time """ return min([fp for fp in fps if not arrs[fp] is None], key=lambda fp: arrs.get(fp)[0][0]) def histogram_generator(ctx, fps, sz): # Create a chunked pandas reader for each of the files: rdrs = {} for fp in fps: try: rdrs[fp] = pandas.read_csv(fp, dtype=int, header=None, chunksize=sz) except ValueError as e: if e.message == 'No columns to parse from file': if ctx.warn: sys.stderr.write("WARNING: Empty input file encountered.\n") rdrs[fp] = None else: raise(e) # Initial histograms from disk: arrs = {fp: read_chunk(rdr, sz) for fp,rdr in rdrs.items()} while True: try: """ ValueError occurs when nothing more to read """ fp = get_min(fps, arrs) except ValueError: return arr = arrs[fp] arri = np.insert(arr[0], 1, fps.index(fp)) yield arri arrs[fp] = arr[1:] if arrs[fp].shape[0] == 0: arrs[fp] = read_chunk(rdrs[fp], sz) def _plat_idx_to_val(idx, edge=0.5, FIO_IO_U_PLAT_BITS=6, FIO_IO_U_PLAT_VAL=64): """ Taken from fio's stat.c for calculating the latency value of a bin from that bin's index. idx : the value of the index into the histogram bins edge : fractional value in the range [0,1]** indicating how far into the bin we wish to compute the latency value of. ** edge = 0.0 and 1.0 computes the lower and upper latency bounds respectively of the given bin index. """ # MSB <= (FIO_IO_U_PLAT_BITS-1), cannot be rounded off. Use # all bits of the sample as index if (idx < (FIO_IO_U_PLAT_VAL << 1)): return idx # Find the group and compute the minimum value of that group error_bits = (idx >> FIO_IO_U_PLAT_BITS) - 1 base = 1 << (error_bits + FIO_IO_U_PLAT_BITS) # Find its bucket number of the group k = idx % FIO_IO_U_PLAT_VAL # Return the mean (if edge=0.5) of the range of the bucket return base + ((k + edge) * (1 << error_bits)) def plat_idx_to_val_coarse(idx, coarseness, edge=0.5): """ Converts the given *coarse* index into a non-coarse index as used by fio in stat.h:plat_idx_to_val(), subsequently computing the appropriate latency value for that bin. """ # Multiply the index by the power of 2 coarseness to get the bin # bin index with a max of 1536 bins (FIO_IO_U_PLAT_GROUP_NR = 24 in stat.h) stride = 1 << coarseness idx = idx * stride lower = _plat_idx_to_val(idx, edge=0.0) upper = _plat_idx_to_val(idx + stride, edge=1.0) return lower + (upper - lower) * edge def print_all_stats(ctx, end, mn, ss_cnt, vs, ws, mx, dir=dir): ps = weighted_percentile(percs, vs, ws) avg = weighted_average(vs, ws) values = [mn, avg] + list(ps) + [mx] if ctx.directions: row = [end, dir, ss_cnt] fmt = "%d, %s, %d, " else: row = [end, ss_cnt] fmt = "%d, %d, " row = row + [float(x) / ctx.divisor for x in values] if ctx.divisor > 1: fmt = fmt + fmt_float_list(ctx, len(percs)+3) else: # max and min are decimal values if no divisor fmt = fmt + "%d, " + fmt_float_list(ctx, len(percs)+1) + ", %d" print (fmt % tuple(row)) def update_extreme(val, fncn, new_val): """ Calculate min / max in the presence of None values """ if val is None: return new_val else: return fncn(val, new_val) # See beginning of main() for how bin_vals are computed bin_vals = [] lower_bin_vals = [] # lower edge of each bin upper_bin_vals = [] # upper edge of each bin def process_interval(ctx, iHist, iEnd, dir): """ print estimated percentages for the given merged sample """ ss_cnt = 0 # number of samples affecting this interval mn_bin_val, mx_bin_val = None, None # Update total number of samples affecting current interval histogram: ss_cnt += np.sum(iHist) # Update min and max bin values idxs = np.nonzero(iHist != 0)[0] if idxs.size > 0: mn_bin_val = bin_vals[idxs[0]] mx_bin_val = bin_vals[idxs[-1]] if ss_cnt > 0: print_all_stats(ctx, iEnd, mn_bin_val, ss_cnt, bin_vals, iHist, mx_bin_val, dir=dir) dir_map = ['r', 'w', 't'] # map of directional value in log to textual representation def process_weighted_interval(ctx, samples, iStart, iEnd, printdirs): """ Construct the weighted histogram for the given interval by scanning through all the histograms and figuring out which of their bins have samples with latencies which overlap with the given interval [iStart,iEnd]. """ times, files, dirs, sizes, hists = samples[:,0], samples[:,1], samples[:,2], samples[:,3], samples[:,4:] iHist={}; ss_cnt = {}; mn_bin_val={}; mx_bin_val={} for dir in printdirs: iHist[dir] = np.zeros(__HIST_COLUMNS, dtype=float) ss_cnt[dir] = 0 # number of samples affecting this interval mn_bin_val[dir] = None mx_bin_val[dir] = None for end_time,file,dir,hist in zip(times,files,dirs,hists): # Only look at bins of the current histogram sample which # started before the end of the current time interval [start,end] start_times = (end_time - 0.5 * ctx.interval) - bin_vals / ctx.time_divisor idx = np.where(start_times < iEnd) s_ts, l_bvs, u_bvs, hs = start_times[idx], lower_bin_vals[idx], upper_bin_vals[idx], hist[idx] # Increment current interval histogram by weighted values of future histogram # total number of samples # and min and max values as necessary textdir = dir_map[dir] ws = hs * weights(s_ts, end_time, iStart, iEnd) mmidx = np.where(hs != 0)[0] if 'm' in printdirs: iHist['m'][idx] += ws ss_cnt['m'] += np.sum(hs) if mmidx.size > 0: mn_bin_val['m'] = update_extreme(mn_bin_val['m'], min, l_bvs[max(0, mmidx[0] - 1)]) mx_bin_val['m'] = update_extreme(mx_bin_val['m'], max, u_bvs[min(len(hs) - 1, mmidx[-1] + 1)]) if textdir in printdirs: iHist[textdir][idx] += ws ss_cnt[textdir] += np.sum(hs) # Update total number of samples affecting current interval histogram: if mmidx.size > 0: mn_bin_val[textdir] = update_extreme(mn_bin_val[textdir], min, l_bvs[max(0, mmidx[0] - 1)]) mx_bin_val[textdir] = update_extreme(mx_bin_val[textdir], max, u_bvs[min(len(hs) - 1, mmidx[-1] + 1)]) for textdir in sorted(printdirs): if ss_cnt[textdir] > 0: print_all_stats(ctx, iEnd, mn_bin_val[textdir], ss_cnt[textdir], bin_vals, iHist[textdir], mx_bin_val[textdir], dir=textdir) def guess_max_from_bins(ctx, hist_cols): """ Try to guess the GROUP_NR from given # of histogram columns seen in an input file """ max_coarse = 8 if ctx.group_nr < 19 or ctx.group_nr > 26: bins = [ctx.group_nr * (1 << 6)] else: bins = [1216,1280,1344,1408,1472,1536,1600,1664] coarses = range(max_coarse + 1) fncn = lambda z: list([z/2**x if z % 2**x == 0 else -10 for x in coarses]) arr = np.transpose(list(map(fncn, bins))) idx = np.where(arr == hist_cols) if len(idx[1]) == 0: table = repr(arr.astype(int)).replace('-10', 'N/A').replace('array',' ') errmsg = ("Unable to determine bin values from input clat_hist files. Namely \n" "the first line of file '%s' " % ctx.FILE[0] + "has %d \n" % (__TOTAL_COLUMNS,) + "columns of which we assume %d " % (hist_cols,) + "correspond to histogram bins. \n" "This number needs to be equal to one of the following numbers:\n\n" + table + "\n\n" "Possible reasons and corresponding solutions:\n" " - Input file(s) does not contain histograms.\n" " - You recompiled fio with a different GROUP_NR. If so please specify this\n" " new GROUP_NR on the command line with --group_nr\n") if runascmd: err(errmsg) exit(1) else: raise RuntimeError(errmsg) return bins[idx[1][0]] def output_weighted_interval_data(ctx,printdirs): fps = [open(f, 'r') for f in ctx.FILE] gen = histogram_generator(ctx, fps, ctx.buff_size) print(', '.join(columns)) try: start, end = 0, ctx.interval arr = np.empty(shape=(0,__TOTAL_COLUMNS + 1),dtype=int) more_data = True while more_data or len(arr) > 0: # Read up to ctx.max_latency (default 20 seconds) of data from end of current interval. while len(arr) == 0 or arr[-1][0] < ctx.max_latency * 1000 + end: try: new_arr = next(gen) except StopIteration: more_data = False break nashape = new_arr.reshape((1,__TOTAL_COLUMNS + 1)) arr = np.append(arr, nashape, axis=0) #arr = arr.astype(int) if arr.size > 0: # Jump immediately to the start of the input, rounding # down to the nearest multiple of the interval (useful when --log_unix_epoch # was used to create these histograms): if start == 0 and arr[0][0] - ctx.max_latency > end: start = arr[0][0] - ctx.max_latency start = start - (start % ctx.interval) end = start + ctx.interval process_weighted_interval(ctx, arr, start, end, printdirs) # Update arr to throw away samples we no longer need - samples which # end before the start of the next interval, i.e. the end of the # current interval: idx = np.where(arr[:,0] > end) arr = arr[idx] start += ctx.interval end = start + ctx.interval finally: for fp in fps: fp.close() def output_interval_data(ctx,directions): fps = [HistFileRdr(f) for f in ctx.FILE] print(', '.join(columns)) start = 0 end = ctx.interval while True: more_data = False # add bins from all files in target intervals arr = None numSamples = 0 while True: foundSamples = False for fp in fps: ts = fp.curTS if ts and ts+10 < end: # shift sample time when very close to an end time curdirect = fp.curDir numSamples += 1 foundSamples = True if arr is None: arr = {} for d in directions: arr[d] = np.zeros(shape=(__HIST_COLUMNS), dtype=int) if 'm' in arr: arr['m'] = np.add(arr['m'], fp.curBins) if 'r' in arr and curdirect == 0: arr['r'] = np.add(arr['r'], fp.curBins) if 'w' in arr and curdirect == 1: arr['w'] = np.add(arr['w'], fp.curBins) if 't' in arr and curdirect == 2: arr['t'] = np.add(arr['t'], fp.curBins) more_data = True fp.nextData() elif ts: more_data = True # reached end of all files # or gone through all files without finding sample in interval if not more_data or not foundSamples: break if arr is not None: #print("{} size({}) samples({}) nonzero({}):".format(end, arr.size, numSamples, np.count_nonzero(arr)), str(arr), ) for d in sorted(arr.keys()): aval = arr[d] process_interval(ctx, aval, end, d) # reach end of all files if not more_data: break start += ctx.interval end = start + ctx.interval def main(ctx): if ctx.job_file: from configparser import SafeConfigParser, NoOptionError cp = SafeConfigParser(allow_no_value=True) with open(ctx.job_file, 'r') as fp: cp.readfp(fp) if ctx.interval is None: # Auto detect --interval value for s in cp.sections(): try: hist_msec = cp.get(s, 'log_hist_msec') if hist_msec is not None: ctx.interval = int(hist_msec) except NoOptionError: pass if not hasattr(ctx, 'percentiles'): ctx.percentiles = "90,95,99" if ctx.directions: ctx.directions = ctx.directions.lower() if ctx.interval is None: ctx.interval = 1000 if ctx.usbin: ctx.time_divisor = 1000.0 # bins are in us else: ctx.time_divisor = 1000000.0 # bins are in ns gen_output_columns(ctx) # Automatically detect how many columns are in the input files, # calculate the corresponding 'coarseness' parameter used to generate # those files, and calculate the appropriate bin latency values: with open(ctx.FILE[0], 'r') as fp: global bin_vals,lower_bin_vals,upper_bin_vals,__HIST_COLUMNS,__TOTAL_COLUMNS __TOTAL_COLUMNS = len(fp.readline().split(',')) __HIST_COLUMNS = __TOTAL_COLUMNS - __NON_HIST_COLUMNS max_cols = guess_max_from_bins(ctx, __HIST_COLUMNS) coarseness = int(np.log2(float(max_cols) / __HIST_COLUMNS)) bin_vals = np.array([plat_idx_to_val_coarse(x, coarseness) for x in np.arange(__HIST_COLUMNS)], dtype=float) lower_bin_vals = np.array([plat_idx_to_val_coarse(x, coarseness, 0.0) for x in np.arange(__HIST_COLUMNS)], dtype=float) upper_bin_vals = np.array([plat_idx_to_val_coarse(x, coarseness, 1.0) for x in np.arange(__HIST_COLUMNS)], dtype=float) # indicate which directions to output (read(0), write(1), trim(2), mixed(3)) directions = set() if not ctx.directions or 'm' in ctx.directions: directions.add('m') if ctx.directions and 'r' in ctx.directions: directions.add('r') if ctx.directions and 'w' in ctx.directions: directions.add('w') if ctx.directions and 't' in ctx.directions: directions.add('t') if ctx.noweight: output_interval_data(ctx, directions) else: output_weighted_interval_data(ctx, directions) if __name__ == '__main__': import argparse runascmd = True p = argparse.ArgumentParser() arg = p.add_argument arg("FILE", help='space separated list of latency log filenames', nargs='+') arg('--buff_size', default=10000, type=int, help='number of samples to buffer into numpy at a time') arg('--max_latency', default=20, type=float, help='number of seconds of data to process at a time') arg('-i', '--interval', type=int, help='interval width (ms), default 1000 ms') arg('--noweight', action='store_true', default=False, help='do not perform weighting of samples between output intervals') arg('-d', '--divisor', required=False, type=int, default=1, help='divide the results by this value.') arg('--decimals', default=3, type=int, help='number of decimal places to print floats to') arg('--warn', dest='warn', action='store_true', default=False, help='print warning messages to stderr') arg('--group_nr', default=29, type=int, help='FIO_IO_U_PLAT_GROUP_NR as defined in stat.h') arg('--job-file', default=None, type=str, help='Optional argument pointing to the job file used to create the ' 'given histogram files. Useful for auto-detecting --log_hist_msec and ' '--log_unix_epoch (in fio) values.') arg('--percentiles', default="90:95:99", type=str, help='Optional argument of comma or colon separated percentiles to print. ' 'The default is "90.0:95.0:99.0". min, median(50%%) and max percentiles are always printed') arg('--usbin', default=False, action='store_true', help='histogram bin latencies are in us (fio versions < 2.99. fio uses ns for version >= 2.99') arg('--directions', default=None, type=str, help='Optionally split results output by reads, writes, trims or mixed. ' 'Value may be any combination of "rwtm" characters. ' 'By default, only "mixed" results are output without a "dir" field. ' 'But, specifying the --directions option ' 'adds a "dir" field to the output content, and separate rows for each of the indicated ' 'directions.') main(p.parse_args()) fio-3.39/tools/hist/fiologparser_hist.py.1000066400000000000000000000176701476262051600206140ustar00rootroot00000000000000.TH fiologparser_hist.py 1 "August 18, 2016" .SH NAME fiologparser_hist.py \- Calculate statistics from fio histograms .SH SYNOPSIS .B fiologparser_hist.py [\fIoptions\fR] [clat_hist_files]... .SH DESCRIPTION .B fiologparser_hist.py is a utility for converting *_clat_hist* files generated by fio into a CSV of latency statistics including minimum, average, maximum latency, and selectable percentiles. .SH EXAMPLES .PP .nf $ fiologparser_hist.py *_clat_hist* end-time, samples, min, avg, median, 90%, 95%, 99%, max 1000, 15, 192, 1678.107, 1788.859, 1856.076, 1880.040, 1899.208, 1888.000 2000, 43, 152, 1642.368, 1714.099, 1816.659, 1845.552, 1888.131, 1888.000 4000, 39, 1152, 1546.962, 1545.785, 1627.192, 1640.019, 1691.204, 1744 \[char46].. .fi .PP .SH OPTIONS .TP .BR \-\-help Print these options. .TP .BR \-\-buff_size \fR=\fPint Number of samples to buffer into numpy at a time. Default is 10,000. This can be adjusted to help performance. .TP .BR \-\-max_latency \fR=\fPint Number of seconds of data to process at a time. Defaults to 20 seconds, in order to handle the 17 second upper bound on latency in histograms reported by fio. This should be increased if fio has been run with a larger maximum latency. Lowering this when a lower maximum latency is known can improve performance. See NOTES for more details. .TP .BR \-i ", " \-\-interval \fR=\fPint Interval at which statistics are reported. Defaults to 1000 ms. This should be set a minimum of the value for \fBlog_hist_msec\fR as given to fio. .TP .BR \-\-noweight Do not perform weighting of samples between output intervals. Default is False. .TP .BR \-d ", " \-\-divisor \fR=\fPint Divide statistics by this value. Defaults to 1. Useful if you want to convert latencies from milliseconds to seconds (\fBdivisor\fR=\fP1000\fR). .TP .BR \-\-warn Enables warning messages printed to stderr, useful for debugging. .TP .BR \-\-group_nr \fR=\fPint Set this to the value of \fIFIO_IO_U_PLAT_GROUP_NR\fR as defined in \fPstat.h\fR if fio has been recompiled. Defaults to 19, the current value used in fio. See NOTES for more details. .TP .BR \-\-percentiles \fR=\fPstr Pass desired list of comma or colon separated percentiles to print. The default is "90.0:95.0:99.0", but min, median(50%) and max percentiles are always printed .TP .BR \-\-usbin Use to indicate to parser that histogram bin latencies values are in microseconds. The default is to use nanoseconds, but histogram logs from fio versions <= 2.99 are in microseconds. .TP .BR \-\-directions \fR=\fPstr By default, all directions (e.g read and write) histogram bins are combined producing one 'mixed' result. To produce independent directional results, pass some combination of \'rwtm\' characters with the \-\-directions\fR=\fPrwtm option. A \'dir\' column is added indicating the result direction for a row. .SH NOTES end-times are calculated to be uniform increments of the \fB\-\-interval\fR value given, regardless of when histogram samples are reported. Of note: .RS Intervals with no samples are omitted. In the example above this means "no statistics from 2 to 3 seconds" and "39 samples influenced the statistics of the interval from 3 to 4 seconds". .LP Intervals with a single sample will have the same value for all statistics .RE .PP The number of samples is unweighted, corresponding to the total number of samples which have any effect whatsoever on the interval. Min statistics are computed using value of the lower boundary of the first bin (in increasing bin order) with non-zero samples in it. Similarly for max, we take the upper boundary of the last bin with non-zero samples in it. This is semantically identical to taking the 0th and 100th percentiles with a 50% bin-width buffer (because percentiles are computed using mid-points of the bins). This enforces the following nice properties: .RS min <= 50th <= 90th <= 95th <= 99th <= max .LP min and max are strict lower and upper bounds on the actual min / max seen by fio (and reported in *_clat.* with averaging turned off). .RE .PP Average statistics use a standard weighted arithmetic mean. When --noweights option is false (the default) percentile statistics are computed using the weighted percentile method as described here: \fIhttps://en.wikipedia.org/wiki/Percentile#Weighted_percentile\fR. See weights() method for details on how weights are computed for individual samples. In process_interval() we further multiply by the height of each bin to get weighted histograms. We convert files given on the command line, assumed to be fio histogram files, An individual histogram file can contain the histograms for multiple different r/w directions (notably when \fB\-\-rw\fR=\fPrandrw\fR). This is accounted for by tracking each r/w direction separately. In the statistics reported we ultimately merge *all* histograms (regardless of r/w direction). The value of *_GROUP_NR in \fIstat.h\fR (and *_BITS) determines how many latency bins fio outputs when histogramming is enabled. Namely for the current default of GROUP_NR=19, we get 1,216 bins with a maximum latency of approximately 17 seconds. For certain applications this may not be sufficient. With GROUP_NR=24 we have 1,536 bins, giving us a maximum latency of 541 seconds (~ 9 minutes). If you expect your application to experience latencies greater than 17 seconds, you will need to recompile fio with a larger GROUP_NR, e.g. with: .RS .PP .nf sed -i.bak 's/^#define FIO_IO_U_PLAT_GROUP_NR 19\n/#define FIO_IO_U_PLAT_GROUP_NR 24/g' stat.h make fio .fi .PP .RE .PP Quick reference table for the max latency corresponding to a sampling of values for GROUP_NR: .RS .PP .nf GROUP_NR | # bins | max latency bin value 19 | 1216 | 16.9 sec 20 | 1280 | 33.8 sec 21 | 1344 | 67.6 sec 22 | 1408 | 2 min, 15 sec 23 | 1472 | 4 min, 32 sec 24 | 1536 | 9 min, 4 sec 25 | 1600 | 18 min, 8 sec 26 | 1664 | 36 min, 16 sec .fi .PP .RE .PP At present this program automatically detects the number of histogram bins in the log files, and adjusts the bin latency values accordingly. In particular if you use the \fB\-\-log_hist_coarseness\fR parameter of fio, you get output files with a number of bins according to the following table (note that the first row is identical to the table above): .RS .PP .nf coarse \\ GROUP_NR 19 20 21 22 23 24 25 26 ------------------------------------------------------- 0 [[ 1216, 1280, 1344, 1408, 1472, 1536, 1600, 1664], 1 [ 608, 640, 672, 704, 736, 768, 800, 832], 2 [ 304, 320, 336, 352, 368, 384, 400, 416], 3 [ 152, 160, 168, 176, 184, 192, 200, 208], 4 [ 76, 80, 84, 88, 92, 96, 100, 104], 5 [ 38, 40, 42, 44, 46, 48, 50, 52], 6 [ 19, 20, 21, 22, 23, 24, 25, 26], 7 [ N/A, 10, N/A, 11, N/A, 12, N/A, 13], 8 [ N/A, 5, N/A, N/A, N/A, 6, N/A, N/A]] .fi .PP .RE .PP For other values of GROUP_NR and coarseness, this table can be computed like this: .RS .PP .nf bins = [1216,1280,1344,1408,1472,1536,1600,1664] max_coarse = 8 fncn = lambda z: list(map(lambda x: z/2**x if z % 2**x == 0 else nan, range(max_coarse + 1))) np.transpose(list(map(fncn, bins))) .fi .PP .RE .PP If you have not adjusted GROUP_NR for your (high latency) application, then you will see the percentiles computed by this tool max out at the max latency bin value as in the first table above, and in this plot (where GROUP_NR=19 and thus we see a max latency of ~16.7 seconds in the red line): .RS \fIhttps://www.cronburg.com/fio/max_latency_bin_value_bug.png .RE .PP Motivation for, design decisions, and the implementation process are described in further detail here: .RS \fIhttps://www.cronburg.com/fio/cloud-latency-problem-measurement/ .RE .SH AUTHOR .B fiologparser_hist.py and this manual page were written by Karl Cronburg . .SH "REPORTING BUGS" Report bugs to the \fBfio\fR mailing list . fio-3.39/tools/hist/half-bins.py000077500000000000000000000024671476262051600165760ustar00rootroot00000000000000#!/usr/bin/env python3 """ Cut the number bins in half in fio histogram output. Example usage: $ half-bins.py -c 2 output_clat_hist.1.log > smaller_clat_hist.1.log Which merges e.g. bins [0 .. 3], [4 .. 7], ..., [1212 .. 1215] resulting in 304 = 1216 / (2**2) merged bins per histogram sample. @author Karl Cronburg """ import sys def main(ctx): stride = 1 << ctx.coarseness with open(ctx.FILENAME, 'r') as fp: for line in fp.readlines(): vals = line.split(', ') sys.stdout.write("%s, %s, %s, " % tuple(vals[:3])) hist = list(map(int, vals[3:])) for i in range(0, len(hist) - stride, stride): sys.stdout.write("%d, " % sum(hist[i : i + stride],)) sys.stdout.write("%d\n" % sum(hist[len(hist) - stride:])) if __name__ == '__main__': import argparse p = argparse.ArgumentParser() arg = p.add_argument arg( 'FILENAME', help='clat_hist file for which we will reduce' ' (by half or more) the number of bins.') arg('-c', '--coarseness', default=1, type=int, help='number of times to reduce number of bins by half, ' 'e.g. coarseness of 4 merges each 2^4 = 16 consecutive ' 'bins.') main(p.parse_args()) fio-3.39/tools/plot/000077500000000000000000000000001476262051600143545ustar00rootroot00000000000000fio-3.39/tools/plot/fio2gnuplot000077500000000000000000000533531476262051600165630ustar00rootroot00000000000000#!/usr/bin/env python3 # Note: this script is python2 and python3 compatible. # # Copyright (C) 2013 eNovance SAS # Author: Erwan Velu # # The license below covers all files distributed with fio unless otherwise # noted in the file itself. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. from __future__ import absolute_import from __future__ import print_function import os import fnmatch import sys import getopt import re import math import shutil from six.moves import map from six.moves import range def find_file(path, pattern): fio_data_file=[] # For all the local files for file in os.listdir(path): # If the file matches the glob if fnmatch.fnmatch(file, pattern): # Let's consider this file fio_data_file.append(file) return fio_data_file def generate_gnuplot_script(fio_data_file,title,gnuplot_output_filename,gnuplot_output_dir,mode,disk_perf,gpm_dir): if verbose: print("Generating rendering scripts") filename=gnuplot_output_dir+'mygraph' temporary_files.append(filename) f=open(filename,'w') # Plotting 3D or comparing graphs doesn't have a meaning unless if there is at least 2 traces if len(fio_data_file) > 1: f.write("call \'%s/graph3D.gpm\' \'%s' \'%s\' \'\' \'%s\' \'%s\'\n" % (gpm_dir,title,gnuplot_output_filename,gnuplot_output_filename,mode)) # Setting up the compare files that will be plot later compare=open(gnuplot_output_dir + 'compare.gnuplot','w') compare.write(''' set title '%s' set terminal png size 1280,1024 set ytics axis out auto set key top left reverse set xlabel "Time (Seconds)" set ylabel '%s' set yrange [0:] set style line 1 lt 1 lw 3 pt 3 linecolor rgb "green" '''% (title,mode)) compare.close() #Copying the common file for all kind of graph (raw/smooth/trend) compare_raw_filename="compare-%s-2Draw" % (gnuplot_output_filename) compare_smooth_filename="compare-%s-2Dsmooth" % (gnuplot_output_filename) compare_trend_filename="compare-%s-2Dtrend" % (gnuplot_output_filename) shutil.copy(gnuplot_output_dir+'compare.gnuplot',gnuplot_output_dir+compare_raw_filename+".gnuplot") shutil.copy(gnuplot_output_dir+'compare.gnuplot',gnuplot_output_dir+compare_smooth_filename+".gnuplot") shutil.copy(gnuplot_output_dir+'compare.gnuplot',gnuplot_output_dir+compare_trend_filename+".gnuplot") temporary_files.append(gnuplot_output_dir+compare_raw_filename+".gnuplot") temporary_files.append(gnuplot_output_dir+compare_smooth_filename+".gnuplot") temporary_files.append(gnuplot_output_dir+compare_trend_filename+".gnuplot") #Setting up a different output filename for each kind of graph compare_raw=open(gnuplot_output_dir+compare_raw_filename + ".gnuplot",'a') compare_raw.write("set output '%s.png'\n" % compare_raw_filename) compare_smooth=open(gnuplot_output_dir+compare_smooth_filename+".gnuplot",'a') compare_smooth.write("set output '%s.png'\n" % compare_smooth_filename) compare_trend=open(gnuplot_output_dir+compare_trend_filename+".gnuplot",'a') compare_trend.write("set output '%s.png'\n" % compare_trend_filename) # Let's plot the average value for all the traces global_disk_perf = sum(disk_perf, []) global_avg = average(global_disk_perf) compare_raw.write("plot %s w l ls 1 ti 'Global average value (%.2f)'" % (global_avg,global_avg)); compare_smooth.write("plot %s w l ls 1 ti 'Global average value (%.2f)'" % (global_avg,global_avg)); compare_trend.write("plot %s w l ls 1 ti 'Global average value (%.2f)'" % (global_avg,global_avg)); pos=0 # Let's create a temporary file for each selected fio file for file in fio_data_file: tmp_filename = "gnuplot_temp_file.%d" % pos # Plotting comparing graphs doesn't have a meaning unless if there is at least 2 traces if len(fio_data_file) > 1: # Adding the plot instruction for each kind of comparing graphs compare_raw.write(",\\\n'%s' using 2:3 with linespoints title '%s'" % (tmp_filename,fio_data_file[pos])) compare_smooth.write(",\\\n'%s' using 2:3 smooth csplines title '%s'" % (tmp_filename,fio_data_file[pos])) compare_trend.write(",\\\n'%s' using 2:3 smooth bezier title '%s'" % (tmp_filename,fio_data_file[pos])) png_file=file.replace('.log','') raw_filename = "%s-2Draw" % (png_file) smooth_filename = "%s-2Dsmooth" % (png_file) trend_filename = "%s-2Dtrend" % (png_file) avg = average(disk_perf[pos]) f.write("call \'%s/graph2D.gpm\' \'%s' \'%s\' \'%s\' \'%s\' \'%s\' \'%s\' \'%s\' \'%f\'\n" % (gpm_dir,title,tmp_filename,fio_data_file[pos],raw_filename,mode,smooth_filename,trend_filename,avg)) pos = pos +1 # Plotting comparing graphs doesn't have a meaning unless if there is at least 2 traces if len(fio_data_file) > 1: os.remove(gnuplot_output_dir+"compare.gnuplot") compare_raw.close() compare_smooth.close() compare_trend.close() f.close() def generate_gnuplot_math_script(title,gnuplot_output_filename,mode,average,gnuplot_output_dir,gpm_dir): filename=gnuplot_output_dir+'mymath'; temporary_files.append(filename) f=open(filename,'a') f.write("call \'%s/math.gpm\' \'%s' \'%s\' \'\' \'%s\' \'%s\' %s\n" % (gpm_dir,title,gnuplot_output_filename,gnuplot_output_filename,mode,average)) f.close() def compute_aggregated_file(fio_data_file, gnuplot_output_filename, gnuplot_output_dir): if verbose: print("Processing data file 2/2") temp_files=[] pos=0 # Let's create a temporary file for each selected fio file for file in fio_data_file: tmp_filename = "%sgnuplot_temp_file.%d" % (gnuplot_output_dir, pos) temp_files.append(open(tmp_filename,'r')) pos = pos +1 f = open(gnuplot_output_dir+gnuplot_output_filename, "w") temporary_files.append(gnuplot_output_dir+gnuplot_output_filename) index=0 # Let's add some information for tempfile in temp_files: f.write("# Disk%d was coming from %s\n" % (index,fio_data_file[index])) f.write(tempfile.read()) f.write("\n") tempfile.close() index = index + 1 f.close() def average(s): return sum(s) * 1.0 / len(s) def compute_temp_file(fio_data_file,disk_perf,gnuplot_output_dir, min_time, max_time): end_time=max_time if end_time == -1: end_time="infinite" if verbose: print("Processing data file 1/2 with %s(float(min_time)*1000)) and ((int(time) < (int(max_time)*1000)) or max_time==-1)): disk_perf[index].append(int(perf)) perfs.append("%d %s %s"% (index, time, perf)) # If we reach this point, it means that all the traces are coherent for p in enumerate(perfs): index, perf_time,perf = p[1].split() temp_outfile[int(index)].write("%s %.2f %s\n" % (index, float(float(perf_time)/1000), perf)) for file in files: file.close() for file in temp_outfile: file.close() return blk_size def compute_math(fio_data_file, title,gnuplot_output_filename,gnuplot_output_dir,mode,disk_perf,gpm_dir): if verbose: print("Computing Maths") global_min=[] global_max=[] average_file=open(gnuplot_output_dir+gnuplot_output_filename+'.average', 'w') min_file=open(gnuplot_output_dir+gnuplot_output_filename+'.min', 'w') max_file=open(gnuplot_output_dir+gnuplot_output_filename+'.max', 'w') stddev_file=open(gnuplot_output_dir+gnuplot_output_filename+'.stddev', 'w') global_file=open(gnuplot_output_dir+gnuplot_output_filename+'.global','w') temporary_files.append(gnuplot_output_dir+gnuplot_output_filename+'.average') temporary_files.append(gnuplot_output_dir+gnuplot_output_filename+'.min') temporary_files.append(gnuplot_output_dir+gnuplot_output_filename+'.max') temporary_files.append(gnuplot_output_dir+gnuplot_output_filename+'.stddev') temporary_files.append(gnuplot_output_dir+gnuplot_output_filename+'.global') min_file.write('DiskName %s\n' % mode) max_file.write('DiskName %s\n'% mode) average_file.write('DiskName %s\n'% mode) stddev_file.write('DiskName %s\n'% mode ) for disk in range(len(fio_data_file)): # print disk_perf[disk] min_file.write("# Disk%d was coming from %s\n" % (disk,fio_data_file[disk])) max_file.write("# Disk%d was coming from %s\n" % (disk,fio_data_file[disk])) average_file.write("# Disk%d was coming from %s\n" % (disk,fio_data_file[disk])) stddev_file.write("# Disk%d was coming from %s\n" % (disk,fio_data_file[disk])) avg = average(disk_perf[disk]) variance = [(x - avg)**2 for x in disk_perf[disk]] standard_deviation = math.sqrt(average(variance)) # print "Disk%d [ min=%.2f max=%.2f avg=%.2f stddev=%.2f \n" % (disk,min(disk_perf[disk]),max(disk_perf[disk]),avg, standard_deviation) average_file.write('%d %d\n' % (disk, avg)) stddev_file.write('%d %d\n' % (disk, standard_deviation)) local_min=min(disk_perf[disk]) local_max=max(disk_perf[disk]) min_file.write('%d %d\n' % (disk, local_min)) max_file.write('%d %d\n' % (disk, local_max)) global_min.append(int(local_min)) global_max.append(int(local_max)) global_disk_perf = sum(disk_perf, []) avg = average(global_disk_perf) variance = [(x - avg)**2 for x in global_disk_perf] standard_deviation = math.sqrt(average(variance)) global_file.write('min=%.2f\n' % min(global_disk_perf)) global_file.write('max=%.2f\n' % max(global_disk_perf)) global_file.write('avg=%.2f\n' % avg) global_file.write('stddev=%.2f\n' % standard_deviation) global_file.write('values_count=%d\n' % len(global_disk_perf)) global_file.write('disks_count=%d\n' % len(fio_data_file)) #print "Global [ min=%.2f max=%.2f avg=%.2f stddev=%.2f \n" % (min(global_disk_perf),max(global_disk_perf),avg, standard_deviation) average_file.close() min_file.close() max_file.close() stddev_file.close() global_file.close() try: os.remove(gnuplot_output_dir+'mymath') except: True generate_gnuplot_math_script("Average values of "+title,gnuplot_output_filename+'.average',mode,int(avg),gnuplot_output_dir,gpm_dir) generate_gnuplot_math_script("Min values of "+title,gnuplot_output_filename+'.min',mode,average(global_min),gnuplot_output_dir,gpm_dir) generate_gnuplot_math_script("Max values of "+title,gnuplot_output_filename+'.max',mode,average(global_max),gnuplot_output_dir,gpm_dir) generate_gnuplot_math_script("Standard Deviation of "+title,gnuplot_output_filename+'.stddev',mode,int(standard_deviation),gnuplot_output_dir,gpm_dir) def parse_global_files(fio_data_file, global_search): max_result=0 max_file='' for file in fio_data_file: f=open(file) disk_count=0 search_value=-1 # Let's read the complete file while True: try: # We do split the name from the value name,value=f.readline().split("=") except: f.close() break # If we ended the file if not name: # Let's process what we have f.close() break else: # disks_count is not global_search item # As we need it for some computation, let's save it if name=="disks_count": disks_count=int(value) # Let's catch the searched item if global_search in name: search_value=float(value) # Let's process the avg value by estimated the global bandwidth per file # We keep the biggest in memory for reporting if global_search == "avg": if (disks_count > 0) and (search_value != -1): result=disks_count*search_value if (result > max_result): max_result=result max_file=file # Let's print the avg output if global_search == "avg": print("Biggest aggregated value of %s was %2.f in file %s\n" % (global_search, max_result, max_file)) else: print("Global search %s is not yet implemented\n" % global_search) def render_gnuplot(fio_data_file, gnuplot_output_dir): print("Running gnuplot Rendering") try: # Let's render all the compared files if some if len(fio_data_file) > 1: if verbose: print(" |-> Rendering comparing traces") os.system("cd %s; for i in *.gnuplot; do gnuplot $i; done" % gnuplot_output_dir) if verbose: print(" |-> Rendering math traces") os.system("cd %s; gnuplot mymath" % gnuplot_output_dir) if verbose: print(" |-> Rendering 2D & 3D traces") os.system("cd %s; gnuplot mygraph" % gnuplot_output_dir) name_of_directory="the current" if gnuplot_output_dir != "./": name_of_directory=gnuplot_output_dir print("\nRendering traces are available in %s directory" % name_of_directory) global keep_temp_files keep_temp_files=False except: print("Could not run gnuplot on mymath or mygraph !\n") sys.exit(1); def print_help(): print('fio2gnuplot -ghbiodvk -t -o <outputfile> -p <pattern> -G <type> -m <time> -M <time>') print() print('-h --help : Print this help') print('-p <pattern> or --pattern <pattern> : A glob pattern to select fio input files') print('-b or --bandwidth : A predefined pattern for selecting *_bw.log files') print('-i or --iops : A predefined pattern for selecting *_iops.log files') print('-g or --gnuplot : Render gnuplot traces before exiting') print('-o or --outputfile <file> : The basename for gnuplot traces') print(' - Basename is set with the pattern if defined') print('-d or --outputdir <dir> : The directory where gnuplot shall render files') print('-t or --title <title> : The title of the gnuplot traces') print(' - Title is set with the block size detected in fio traces') print('-G or --Global <type> : Search for <type> in .global files match by a pattern') print(' - Available types are : min, max, avg, stddev') print(' - The .global extension is added automatically to the pattern') print('-m or --min_time <time> : Only consider data starting from <time> seconds (default is 0)') print('-M or --max_time <time> : Only consider data ending before <time> seconds (default is -1 aka nolimit)') print('-v or --verbose : Increasing verbosity') print('-k or --keep : Keep all temporary files from gnuplot\'s output dir') def main(argv): mode='unknown' pattern='' pattern_set_by_user=False title='No title' gnuplot_output_filename='result' gnuplot_output_dir='./' gpm_dir="/usr/share/fio/" disk_perf=[] run_gnuplot=False parse_global=False global_search='' min_time=0 max_time=-1 global verbose verbose=False global temporary_files temporary_files=[] global keep_temp_files keep_temp_files=True force_keep_temp_files=False if not os.path.isfile(gpm_dir+'math.gpm'): gpm_dir="/usr/local/share/fio/" if not os.path.isfile(gpm_dir+'math.gpm'): print("Looks like fio didn't get installed properly as no gpm files found in '/usr/share/fio' or '/usr/local/share/fio'\n") sys.exit(3) try: opts, args = getopt.getopt(argv[1:],"ghkbivo:d:t:p:G:m:M:",['bandwidth', 'iops', 'pattern', 'outputfile', 'outputdir', 'title', 'min_time', 'max_time', 'gnuplot', 'Global', 'help', 'verbose','keep']) except getopt.GetoptError: print("Error: One of the options passed to the cmdline was not supported") print("Please fix your command line or read the help (-h option)") sys.exit(2) for opt, arg in opts: if opt in ("-b", "--bandwidth"): pattern='*_bw.log' elif opt in ("-i", "--iops"): pattern='*_iops.log' elif opt in ("-v", "--verbose"): verbose=True elif opt in ("-k", "--keep"): #User really wants to keep the temporary files force_keep_temp_files=True elif opt in ("-p", "--pattern"): pattern_set_by_user=True pattern=arg pattern=pattern.replace('\\','') elif opt in ("-o", "--outputfile"): gnuplot_output_filename=arg elif opt in ("-d", "--outputdir"): gnuplot_output_dir=arg if not gnuplot_output_dir.endswith('/'): gnuplot_output_dir=gnuplot_output_dir+'/' if not os.path.exists(gnuplot_output_dir): os.makedirs(gnuplot_output_dir) elif opt in ("-t", "--title"): title=arg elif opt in ("-m", "--min_time"): min_time=arg elif opt in ("-M", "--max_time"): max_time=arg elif opt in ("-g", "--gnuplot"): run_gnuplot=True elif opt in ("-G", "--Global"): parse_global=True global_search=arg elif opt in ("-h", "--help"): print_help() sys.exit(1) # Adding .global extension to the file if parse_global==True: if not gnuplot_output_filename.endswith('.global'): pattern = pattern+'.global' fio_data_file=find_file('.',pattern) if len(fio_data_file) == 0: print("No log file found with pattern %s!" % pattern) # Try numjob log file format if per_numjob_logs=1 if (pattern == '*_bw.log'): fio_data_file=find_file('.','*_bw.*.log') if (pattern == '*_iops.log'): fio_data_file=find_file('.','*_iops.*.log') if len(fio_data_file) == 0: sys.exit(1) else: print("Using log file per job format instead") else: print("%d files Selected with pattern '%s'" % (len(fio_data_file), pattern)) fio_data_file=sorted(fio_data_file, key=str.lower) for file in fio_data_file: print(' |-> %s' % file) if "_bw.log" in file : mode="Bandwidth (KB/sec)" if "_iops.log" in file : mode="IO per Seconds (IO/sec)" if (title == 'No title') and (mode != 'unknown'): if "Bandwidth" in mode: title='Bandwidth benchmark with %d fio results' % len(fio_data_file) if "IO" in mode: title='IO benchmark with %d fio results' % len(fio_data_file) print() #We need to adjust the output filename regarding the pattern required by the user if (pattern_set_by_user == True): gnuplot_output_filename=pattern # As we do have some glob in the pattern, let's make this simplest # We do remove the simplest parts of the expression to get a clear file name gnuplot_output_filename=gnuplot_output_filename.replace('-*-','-') gnuplot_output_filename=gnuplot_output_filename.replace('*','-') gnuplot_output_filename=gnuplot_output_filename.replace('--','-') gnuplot_output_filename=gnuplot_output_filename.replace('.log','') # Insure that we don't have any starting or trailing dash to the filename gnuplot_output_filename = gnuplot_output_filename[:-1] if gnuplot_output_filename.endswith('-') else gnuplot_output_filename gnuplot_output_filename = gnuplot_output_filename[1:] if gnuplot_output_filename.startswith('-') else gnuplot_output_filename if (gnuplot_output_filename == ''): gnuplot_output_filename='default' if parse_global==True: parse_global_files(fio_data_file, global_search) else: blk_size=compute_temp_file(fio_data_file,disk_perf,gnuplot_output_dir,min_time,max_time) title="%s @ Blocksize = %dK" % (title,blk_size/1024) compute_aggregated_file(fio_data_file, gnuplot_output_filename, gnuplot_output_dir) compute_math(fio_data_file,title,gnuplot_output_filename,gnuplot_output_dir,mode,disk_perf,gpm_dir) generate_gnuplot_script(fio_data_file,title,gnuplot_output_filename,gnuplot_output_dir,mode,disk_perf,gpm_dir) if (run_gnuplot==True): render_gnuplot(fio_data_file, gnuplot_output_dir) # Shall we clean the temporary files ? if keep_temp_files==False and force_keep_temp_files==False: # Cleaning temporary files if verbose: print("Cleaning temporary files") for f in enumerate(temporary_files): if verbose: print(" -> %s"%f[1]) try: os.remove(f[1]) except: True #Main if __name__ == "__main__": sys.exit(main(sys.argv)) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/tools/plot/fio2gnuplot.1�������������������������������������������������������������������0000664�0000000�0000000�00000010702�14762620516�0016706�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.\" Text automatically generated by txt2man .TH fio2gnuplot 1 "August 2013" .SH NAME \fBfio2gnuplot \fP- Render fio's output files with gnuplot .SH SYNOPSIS .nf .fam C \fBfio2gnuplot\fP [\fB-ghbiodvk\fP] [\fB-t\fP \fItitle\fP] [\fB-o\fP \fIoutputfile\fP] [\fB-d\fP \fIoutput_dir\fP] [\fB-p\fP \fIpattern\fP] [\fB-G\fP \fItype\fP] [\fB-m\fP \fImin_time\fP] [\fB-M\fP \fImax_time\fP] .fam T .fi .fam T .fi .SH DESCRIPTION \fBfio2gnuplot\fP analyze a set of fio's log files to turn them into a set of graphical traces using gnuplot tool. Several flavor of plotting are produced .TP .B Individual 2D Graph Each file is plotted in a separate image file with several option .RS .IP \(bu 3 raw : Plot the exact reported performance. This plotting could be difficult to read .IP \(bu 3 smooth :a smoother version of the raw print Using csplines option of gnuplot, the rendering is filtered to get an easier to read graph. .IP \(bu 3 trend : an even smoother version of the raw print to get trends Bezier's curves makes much more filtered plots The resulting graph helps at understanding trends. .RE .TP .B Grouped 2D graph All files are plotted in a single image to ease the comparison. The same rendering options as per the individual 2D graph are used : .RS .IP \(bu 3 raw .IP \(bu 3 smooth .IP \(bu 3 trend .RE .TP .B Grouped 3D graph All files are plotted into a single 3D graph. The 3D plotting generates a 'surface' to estimate how close were the performance. A flat surface means a good coherency between traces. A rugged surface means a lack of coherency between traces .TP .B Mathemical Plotting .RS .TP .B Average graph A bar graph to show the average performance of each file. A green line is added to show the global average performance. This green line helps at understanding how far from the average is every individual file. .TP .B Min graph A green line is added to show the global average of minimal performance. This green line helps at understanding how far from the average is every individual file. .TP .B Max graph A bar graph to show the maximum performance of each file. A green line is added to show the global average of maximal performance. This green line helps at understanding how far from the average is every individual file. .TP .B Standard Deviation A bar graph to show the standard deviation of each file. A green line is added to show the global average of standard deviation. This green line helps at understanding how far from the average is every individual file. .SH OPTIONS .TP .B \fB-h\fP or \fB--help\fP The option \fB-h\fP displays help .TP .B \fB-p\fP '\fIpattern\fP' or --\fIpattern\fP '\fIpattern\fP' A \fIpattern\fP in regexp to select fio input files. Don't forget the simple quotes to avoid shell's interactions .TP .B \fB-b\fP or \fB--bandwidth\fP A predefined \fIpattern\fP for selecting *_bw.log files .TP .B \fB-i\fP or \fB--iops\fP A predefined \fIpattern\fP for selecting *_iops.log files .TP .B \fB-g\fP or \fB--gnuplot\fP Render gnuplot traces before exiting .TP .B \fB-o\fP file or --\fIoutputfile\fP file The basename for gnuplot traces (set with the \fIpattern\fP if defined) .TP .B \fB-d\fP dir or \fB--outputdir\fP dir The directory where gnuplot shall render files. .TP .B \fB-t\fP \fItitle\fP or --\fItitle\fP \fItitle\fP The \fItitle\fP of the gnuplot traces. Title is set with the block size detected in fio trace .TP .B \fB-G\fP \fItype\fP or \fB--Global\fP \fItype\fP Search for '\fItype\fP' in .global files match by a \fIpattern\fP. Available types are : min, max, avg, stddev. The .global extension is added automatically to the \fIpattern\fP .TP .B \fB-m\fP time or --\fImin_time\fP time Only consider data starting from 'time' seconds. Default is 0 .TP .B \fB-M\fP time or --\fImax_time\fP time Only consider data ending before 'time' seconds. Default is \fB-1\fP aka nolimit .TP .B \fB-v\fP or \fB--verbose\fP Increasing verbosity .TP .B \fB-k\fP or \fB--keep\fP Keep all temporary files from gnuplot's output dir .SH EXAMPLE .TP .B To plot all the traces named like 'host*_read_4k_iops.log' $ \fBfio2gnuplot\fP \fB-p\fP 'host*_read_4k_iops.log' \fB-g\fP .TP .B To plot all IO oriented log files from the current directory $ \fBfio2gnuplot\fP \fB-g\fP \fB-i\fP .TP .B To plot all Bandwidth oriented log files from the current directory $ \fBfio2gnuplot\fP \fB-g\fP \fB-b\fP .TP .B To plot all Bandwidth oriented log files in a directory name 'outdir' $ \fBfio2gnuplot\fP \fB-g\fP \fB-b\fP \fB-d\fP outdir .SH AUTHOR Erwan Velu <erwan@enovance.com> ��������������������������������������������������������������fio-3.39/tools/plot/fio2gnuplot.manpage�������������������������������������������������������������0000664�0000000�0000000�00000007711�14762620516�0020164�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������NAME fio2gnuplot - Render fio's output files with gnuplot SYNOPSIS fio2gnuplot [-ghbiodvk] [-t title] [-o outputfile] [-d output_dir] [-p pattern] [-G type] [-m min_time] [-M max_time] DESCRIPTION fio2gnuplot analyze a set of fio's log files to turn them into a set of graphical traces using gnuplot tool. Several flavor of plotting are produced Individual 2D Graph Each file is plotted in a separate image file with several option - raw : Plot the exact reported performance. This plotting could be difficult to read - smooth :a smoother version of the raw print Using csplines option of gnuplot, the rendering is filtered to get an easier to read graph. - trend : an even smoother version of the raw print to get trends Bezier's curves makes much more filtered plots The resulting graph helps at understanding trends. Grouped 2D graph All files are plotted in a single image to ease the comparison. The same rendering options as per the individual 2D graph are used : - raw - smooth - trend Grouped 3D graph All files are plotted into a single 3D graph. The 3D plotting generates a 'surface' to estimate how close were the performance. A flat surface means a good coherency between traces. A rugged surface means a lack of coherency between traces Mathemical Plotting Average graph A bar graph to show the average performance of each file. A green line is added to show the global average performance. This green line helps at understanding how far from the average is every individual file. Min graph A green line is added to show the global average of minimal performance. This green line helps at understanding how far from the average is every individual file. Max graph A bar graph to show the maximum performance of each file. A green line is added to show the global average of maximal performance. This green line helps at understanding how far from the average is every individual file. Standard Deviation A bar graph to show the standard deviation of each file. A green line is added to show the global average of standard deviation. This green line helps at understanding how far from the average is every individual file. OPTIONS -h or --help The option -h displays help -p 'pattern' or --pattern 'pattern' A pattern in regexp to select fio input files. Don't forget the simple quotes to avoid shell's interactions -b or --bandwidth A predefined pattern for selecting *_bw.log files -i or --iops A predefined pattern for selecting *_iops.log files -g or --gnuplot Render gnuplot traces before exiting -o file or --outputfile file The basename for gnuplot traces (set with the pattern if defined) -d dir or --outputdir dir The directory where gnuplot shall render files. -t title or --title title The title of the gnuplot traces. Title is set with the block size detected in fio trace -G type or --Global type Search for 'type' in .global files match by a pattern. Available types are : min, max, avg, stddev. The .global extension is added automatically to the pattern -m time or --min_time time Only consider data starting from 'time' seconds. Default is 0 -M time or --max_time time Only consider data ending before 'time' seconds. Default is -1 aka nolimit -v or --verbose Increasing verbosity -k or --keep Keep all temporary files from gnuplot's output dir EXAMPLE To plot all the traces named like 'host*_read_4k_iops.log' $ fio2gnuplot -p 'host*_read_4k_iops.log' -g To plot all IO oriented log files from the current directory $ fio2gnuplot -g -i To plot all Bandwidth oriented log files from the current directory $ fio2gnuplot -g -b To plot all Bandwidth oriented log files in a directory name 'outdir' $ fio2gnuplot -g -b -d outdir AUTHOR Erwan Velu <erwan@enovance.com> �������������������������������������������������������fio-3.39/tools/plot/graph2D.gpm���������������������������������������������������������������������0000664�0000000�0000000�00000002433�14762620516�0016352�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This Gnuplot file has been generated by eNovance needed_args = 8 if (exists("ARGC") && ARGC >= needed_args) \ found_args = 1; \ else if (strlen("$$#") < 3 && "$#" >= needed_args) \ found_args = 1; \ ARG1 = "$0"; \ ARG2 = "$1"; \ ARG3 = "$2"; \ ARG4 = "$3"; \ ARG5 = "$4"; \ ARG6 = "$5"; \ ARG7 = "$6"; \ ARG8 = "$7"; \ else \ found_args = 0; \ print "Aborting: could not find all arguments"; \ exit avg_num = ARG8 + 0 avg_str = sprintf("%g", avg_num) set title ARG1 set terminal png size 1280,1024 set output ARG4 . '.png' #set terminal x11 #Preparing Axes #set logscale x set ytics axis out auto #set data style lines set key top left reverse set xlabel "Time (Seconds)" set ylabel ARG5 set xrange [0:] set yrange [0:] #Set Color style #set palette rgbformulae 22,9,23 #set palette rgbformulae 7,5,15 set style line 100 lt 7 lw 0.5 set style line 1 lt 1 lw 3 pt 3 linecolor rgb "green" plot ARG2 using 2:3 with linespoints title ARG3, avg_num w l ls 1 ti 'Global average value (' . avg_str . ')' set output ARG6 . '.png' plot ARG2 using 2:3 smooth csplines title ARG3, avg_num w l ls 1 ti 'Global average value (' . avg_str . ')' set output ARG7 . '.png' plot ARG2 using 2:3 smooth bezier title ARG3, avg_num w l ls 1 ti 'Global average value (' . avg_str .')' #pause -1 #The End �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/tools/plot/graph3D.gpm���������������������������������������������������������������������0000664�0000000�0000000�00000003526�14762620516�0016357�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This Gnuplot file has been generated by eNovance needed_args = 5 if (exists("ARGC") && ARGC >= needed_args) \ found_args = 1; \ else if (strlen("$$#") < 3 && "$#" >= needed_args) \ found_args = 1; \ ARG1 = "$0"; \ ARG2 = "$1"; \ ARG3 = "$2"; \ ARG4 = "$3"; \ ARG5 = "$4"; \ else \ found_args = 0; \ print "Aborting: could not find all arguments"; \ exit set title ARG1 set terminal png size 1280,1024 set output ARG4 . '.png' #set terminal x11 #3D Config set isosamples 30 set hidden3d set pm3d at s solid hidden3d 100 scansbackward set pm3d depthorder #Preparing Axes #set logscale x set ytics axis out 0,1 #set data style lines set grid back set key top left reverse set ylabel "Disk" set xlabel "Time (Seconds)" set zlabel ARG5 set cbrange [0:] set zrange [0:] #Set Color style #set palette rgbformulae 22,9,23 set palette rgbformulae 7,5,15 set style line 100 lt 7 lw 0.5 #Multiploting set multiplot #Top Left View set size 0.5,0.5 set view 64,216 set origin 0,0.5 splot ARG2 using 2:1:3 with linespoints title ARG3 #Top Right View set size 0.5,0.5 set origin 0.5,0.5 set view 90,0 set pm3d at s solid hidden3d 100 scansbackward set pm3d depthorder splot ARG2 using 2:1:3 with linespoints title ARG3 #Bottom Right View set size 0.5,0.5 set origin 0.5,0 set view 63,161 set pm3d at s solid hidden3d 100 scansbackward set pm3d depthorder splot ARG2 using 2:1:3 with linespoints title ARG3 #Bottom Left View set size 0.5,0.5 set origin 0,0 set pm3d map splot ARG2 using 2:1:3 with linespoints title ARG3 #Unsetting multiplotting unset multiplot #pause -1 #Preparing 3D Interactive view set mouse set terminal png size 1024,768 set output ARG4 . '-3D.png' #set term x11 set view 64,216 set origin 0,0 set size 1,1 set pm3d at bs solid hidden3d 100 scansbackward set pm3d depthorder splot ARG2 using 2:1:3 with linespoints title ARG3 #pause -1 #The End ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/tools/plot/math.gpm������������������������������������������������������������������������0000664�0000000�0000000�00000002043�14762620516�0016011�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This Gnuplot file has been generated by eNovance if (exists("ARGC") && ARGC > 5) \ found_args = 1; \ else if (strlen("$$#") < 3 && "$#" > 5) \ found_args = 1; \ ARG1 = "$0"; \ ARG2 = "$1"; \ ARG3 = "$2"; \ ARG4 = "$3"; \ ARG5 = "$4"; \ ARG6 = "$5"; \ else \ found_args = 0; \ print "Aborting: could not find all arguments"; \ exit avg_num = ARG6 + 0 avg_str = sprintf("%g", avg_num) set title ARG1 set terminal png size 1280,1024 set output ARG4 . '.png' set palette rgbformulae 7,5,15 set style line 100 lt 7 lw 0.5 set style fill transparent solid 0.9 noborder set auto x set ylabel ARG5 set xlabel "Disk" set yrange [0:] set style data histogram set style histogram cluster gap 1 set style fill solid border -1 set boxwidth 2 #set xtic rotate by -10 scale 10 font ",8" set bmargin 3 set xtics axis out set xtic rotate by 45 scale 0 font ",8" autojustify set xtics offset 0,-1 border -5,1,5 set style line 1 lt 1 lw 3 pt 3 linecolor rgb "green" plot ARG2 using 2:xtic(1) ti col, avg_num w l ls 1 ti 'Global average value (' . avg_str . ')' ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/tools/plot/samples/������������������������������������������������������������������������0000775�0000000�0000000�00000000000�14762620516�0016020�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/tools/plot/samples/Makefile����������������������������������������������������������������0000664�0000000�0000000�00000000767�14762620516�0017472�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������all: clean m2sw1-128k-sdb-randwrite-para.results_bw.log io bandwidth m2sw1-128k-sdb-randwrite-para.results_bw.log: tar -xf fio-logs.tar.gz io: setup ./fio2gnuplot.py -p 'm2sw1-128k-*-read-para*iops.log' -g bandwidth: setup ./fio2gnuplot.py -p 'm2sw1-128k-*-read-para*bw.log' -g setup: ln -sf ../*py ../*gpm . clean: rm -rf *png mygraph mymath *py *gpm gnuplot_temp_file* *~ rm -rf *.average *.stddev *.min *.max *.global rm -rf m2sw1-128k-read-para-bw m2sw1-128k-read-para-iops rm -rf *log ���������fio-3.39/tools/plot/samples/fio-logs.tar.gz���������������������������������������������������������0000664�0000000�0000000�00000204765�14762620516�0020704�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������‹�³ÍßQ�ìýëÖí:²ˆé·ŸB°Õ÷ËÓx¨-¹Ýî‹Ú’Úz}‰Ld‚KU-ŸZŸŽ´æ¨±v} '' ‰ 2"ãKÿá?ÅÓø_þÕø7ÿã¿ú÷ÿúÿ7ÿéßÿÏÿñßþ«ÿã_ÿûý?üûûþÏÿõ?þ‡ÿûÿøŸþ‡ÿõßýOÿâ¿ðÖ§•BÿíÍþwo 1þ‹˜bK¡ÄÐó¿)ÄPÿÅ¿ ÿ¥?øåóþ‡ÿø¯ÿý¿ü—ÿâßþûÿô¯ÿ÷ÿÌ~kû?ÓOøë_¦ò׿Œëyu~ú¿õÒ×ÿ_·kÞ­±×ý÷H9ÞÍ©¶õåsÎws.¹ÐAú¸›KnëØiÝðp7×Rws ÙüdË©íæª9¿8öošÌAFès;¤t7ÏPön5ÇnšG¡ Ù$†÷‰—lO%®±¹~4å›iO=î“ë³Úã¬÷%•4̹ÇRp:©™>5R?¦‘M‡Å¨¿gËö8=¥Ý0¢½¬8B[¥9¦é…8Ãܶ.Ûüîꮹ/hVß>w7¦<ìy¦8ÊþÝ֪韴únaíæ|Rn8þ˜f|¤RÚ¾[Ùÿn-û†¬éÍù§–÷ŽiÝ.Óÿ©gêÿÙÝñG¦‘·†Ž®³Ìýƒ£MÓŸyí—ÐÏæ|Ö¨©û›ß]#“ŽÓªíŸœkÚ×µ>¦ÖÙïAœÒlö85ÓÀécšûž[¢û¸†£=NÏ4 êH¦ÿó •BͦßòŒmÛT“é‡g{þ%ÆÒ0ͳmŸ™Ž3íñ÷øûwË0ã¿ä^1þm¸(eÄ}âµj¯4>×vÓÞz¡ñ_Üùôu„uüº¶i:¾{ î{Z÷Ëô[ ¹ÒõÒe\í1eŠTÓöÛêÆA1©ÛyºÂËçݶÏ1¨º9ÿZhÀ>q³®ñ´ÇÉšÇö<[¥ ·~ÖܯÕm#úÁ¦}”Sr¸Îõ_Úß¶¯¸Ðqòpí“O3G–Œ±;k…e;Ùb§h¿sÌ5R)~w{Œ\Zý˜ù…&ZŠ©4Û!4Žfªæ>· Ób†Eï4]z±£e4𔵨3™tÂ+6Ù{³2’¸/¤5{”¸‚ÍÕæbúšÂ4Çü°¦üÄ\²Ç_1‘~7WÓל¦X\ì˜ØKÍíqzŠ´V…iÏg¤N±¦TÛ>WÛÝà–Èu+Îgº5`-Ôtí˜Në@ûwk¶= {ЙöÌpkí˜^c6ÐþÉÆš•jL!Ýf&i-FX«‚=~o‰‚¹it:pï¶ŸWlŽt>½ÙX¼RUê·ìbúê ŠÅ-ؼî÷_Óöµ˜R¬™6‡È¥Sæ’hÝkCëùcœ¬Šnø Mö<;’„9§=ÎhƒFÿ°Ó3¯µˆbܺ`3ãÖ8§ñ3ýÐ+ňfçóZö„ÞóÜîŸiǽ&ÙöÒiН»cc}m™Æ›‹k‰¢ 7³[cúŠöt_ìx(+ÇI˜6’ÌF‹N/6q\9ÎK¶Ç¶Ïsç46F§6öëŒö8¹QÛk¨i/uÐ}t9Ù^#õƒ=Ïë#Å —%wZdW\²ãª®L×ÕLœ©“âÚ ·ÉÅôBÇïH]¥ý§ÈŸÏ|þ·¿ ÿÿÏÿîÿøÿåO�þþß‘ÅãÿÒÂüÿ;>+– œFþ-Âü%ñßÀú‘WÓp@¾ìtÛ9`}ä¬(0žíìÏ@¾œí@ð±žã3tóüM˜=Ž~ÎÁz<'È(=i`x^Î)1.ãó�rùFâ±K/0¯YºØ›W‹  ;ËŒ¶97 ³«t%ð5 40°ÎçLQko(­†Žãü,ƒçXO1jŽUŽÁp¹ž.?89ÊW ¹ÉŒŒåò$Ö= §Ó… ‚c—¯�ýÆ.{0ìÍÒ�¼{pF ›ä@¸:ºÚRîŠáǘVÆÓ³2€Åêy0|Õƒ2nÕñq�k:7û U¹•¢VÙØ4ÎÓA”ê1†Óë†i�þÄR€glçÄâ”áÀPSO1¦ÎW—±ËeT™å€“:`Gj'3€Ô=9Æ:¥ažgUûÏ+¼�%G.æÙ“q¡Ž+ä32šËyä"gG çðÀ~zsôås< ½8Ï™æéô9øN¦ »Ød¢3¢“ÅPN“1Ü�Þ®Fm2®Å!?Ë8MNœZœ2IÌô ’ 'A¾¶~ì4�}éè`Ø¥³–ñ–ÎIZqHb„U¤¡U–€L¥Cî€)rEÉä`ø¤¿rp“LL¶„ƒ”®øÂIÆÆÁF²¶P¤hèn€A¢ÿèp`à£#˜ÏNêd À8:踹¢PtÙëgÇÈø`�§ ];dIgÐ1V‰Cö�HÑeï 9õKdð3‰CÊ@DOŒH8 zÈøøéäçÏçÉÿÿí¿þ7ÿ”¯þèó7òÿ5)$ÿ/=ÕVÀ(ùOþÿ;>û‘BÅ"}ž‡PB\ÊžúÚÚW¨m¦½†øÕ¾rÞPbî;´_íx·6ìx¥í9P˜xÛ+-K+CßÙ´}§{_¿[°$?íë²¾Û+%4ëòF¸Û÷KéõGôJîjDzð´÷@+]è#šã÷JûR¢WKÚ>·çfŽ3…<ûÏ@™X¨½›û2ëN0ú §lævíܹ¯î¶½îd´¯d¬›öHgG.ÕÞÞˆ ÖZa”åWOGÄTiXÿß* ükŠÕn¨{ž-4{ %ìÕfÔìP,ôÚp zg†"µ¯ïÙ3Z‹Ù:“üñ×z´vk™Š¶½Ò#Å5Xì½\a‰RŠg0Fäüs¦bÛGØ úJ‹\o¯kÚ¿œ à\í3ìDz,Di3ë>õ…EйâhǸúi÷ཡÒÿÜeS +ÙSM+9êtÛr0w'­õ{|o¨”×½V–GsgÒ£Ù{C¥ô™ä©Êà>6TÊ}÷…˜1°ÂHo_÷(U¼ƒ~Õm«/m—´J™ã{bÂ׆JÉÑ»aJ´ÞÞȯÞû1%PkC°·vÖñ«@I9éÉÖ¹PêønØGßêœÉn¨"W°èætWVNÐaúd•ÀÝXëƒÛ°þCë@™=Ø ÀeïY€– @j1—lfM^¡šîàhvÂîGâã«ws‹ØÐCp–ƒ^íLÎ=RÜâÁì<øûM“Ýð«oÌHkÈû³í^]Ø$›>,�|OÀ++ …0RÖñãG0/±íE}.a³_DÓíŽvµ(8ÃU6¡|lhóŸ±V Òþg</Èœç熊w=rYK“3¥Ñã…Ëb´í­`qkf@-x¶ÔX'k 7ŠóaŽf`�©=­ŒV?çw™€úZE¼ Óœìʧêg¼­+r†£Ÿx»RöokÂSÎ �†O¼­ Þod�çwÃmŸñv-Æß ÊJž”º–¦Ïx[žh<ñ¶6<xº½öØ?ãmí­£K¢+Ôc j. ©£a j)ÙoÌØ?#ôжýs¬¹nÕuRæú~Cþÿ7ñßÿ¯~èó7ðß~èêñßZþà¿ßñÁ$ô¼fψ1 ÿ Ä7c:ÒÓ¿ð,ŒìF?‡¢»þ&$7ú9>œÈMÿb»þ&¤v"r`„6ªüMÈLÿ"å|HlÖs¾@`“—ÈÀÈK·qt¶iµ˜µö²[{“ÂVM{  Š›r¡©>å+@QzÒŒžg>ᠦч4ZêúÀ¤Öä+ÀGMï$€QËò³@D‘8Pˆž_ra ÑåÔ}ôö1æé]ްӆ|(§ñ¢¼i2dלt$@C/ö¸€Œv˜Qdظœ8`¹¨\ �(£Ê¯�˜èXe@r7¡GÑg´÷vwë+�Cë<�0îW�Åuµ�W�@Ü Ì<Ü€A'…«�a†&  F=wŽÁ{Ë@àú�€!#ˆÿëWðß ”è!?‹_¯–{½8N臌dNäg”¯ ×ỉ»ÎsNاÌJNÔ¯= _Ç@bÞdrF®SŒSq뜃ëÜçä»ë1u‰œm_YöÝ@ÙµÞ(Ϊõ6p6}5 ‹¾({žA57¹ZN—¯SGžÜ$(q‚<ô+HŒõFqB|5 ¾(Ö[ɉ¯~Nx¯$º:o9ÁÕ‹ãÄön „Vç-'²×H`¯$®:o9a½Î‰êÝ@ êÕ€ÄTG2'¤zùœˆÞ ”€Ž&_Aây0_8 ç ²Ík‰D‚©×‰e‘‰ü¬ÿ&ÿûüŒþg¤‹ÿSHÿÿè~Ë'læÊ_ô¾ž@Ӭ܇Uºàë G«Úœð¥ «º9 Ù evÅ3BkÅ1Á:_é•ùÉ–èU|ÁSiî€c½XZfDÃŽí»ÒYðY,yzRø‹ý¼–§ãxÇ[²å•G~PVš¥¡Ç•Ððìt;9gìï¸Ü%Ò3HM+Aƒ.%Ø.Xiõwvdù¿éÎsÚóôʶýÄlM«l?ñn½6§Ÿ Ȫ5Ynóø”`õ' �Oâl;½JÊxy›ã°¥jµz›ÄO�rLÏ0£v§ëX =©OÃöÛ:è@<§}?‰§~pº£ þÑÊFm?LÊâÎdÍøxʵ¸Ó •=Næ°Ã$'z’wâeÚwµ6: yÑÇK6Ý„†ƒ—ÕIý²r{œÖé¥Ñê}GÏ;_ÚL {YƒpBm–Q½ò#šri§.U#ÏbÞr¦5º‚i_ë*8v4¬¼‡õ^.XiØ—h»m)0 ]ŒÚ©ÎnÈ.­ÙÖÁsŒðžxVÛn(}’0$$Ëð.ƒînÜù¢i_£'}%4DŸ(ÑÎÞ…èùe¡JWûüˆJ®=Ñ4Nœ¶b,ŸVìh¨ =/2¬Îê‰î•O³{~šg·b¤ž(h¬Ñl?M³¹-°qT±bËÊj/?‰V7V,m„ìs<xý ”ªŽ&Ÿð”y4«ì\¤}¤°f":ý!f~ip1ÆoËV‘Ñ)튳Û`<wovÖL¼¸žÁÊ^b@{«6$Æ û÷y¡î†û¯æ¤­¹‚‰Š—¤©g;iv줭Ôseiô,¶æ¬9[N\¡™Fc±Â®8ÁÑÊ£vêרlŒ9n©ZEZKþþkf+ëXk™l¥¹)“~(…ìäK,ªŠÈ®í<B<d¹ÇSKH”Ü8[Q,Ð]wÇøŠ=8ië‚–ÔN™0ˆ oÛçïke²RɼçõF¤V›A„}V^¥´»§:¡áJ[(\ß® —³F]ÙŒ¡ÑPì]Ì 4’ê…­kÔ#Ö8±Ó�Sn- öj'.ßǸrhÉÝ…èõ‹ô»®×ÖŠZ[È Œ:Ôº‰DöKvT­Š»¬y%zdg›ˆ¬^9Ú%@k)ÉåvV—™éÅk.†dJ#Ùѹg']o³â®µpÒ…Î];óMâ¶b¡Õq‡ì— #[ ~­…µuÃëTyÙH¸‰ÅXÙÜ 9.wÚ<|- `Úv›q´�!psÚÆŸQÿŒ?þÿÇêV(öøAÄ?øÿw|ð¤(îgCX0E•À_ûŒõ£³+/Œü7Ð=¯Já ú(JÀùxèÂŒã…-Ì�^„ŒÜe†ìYˆóŒÕ/ù³YdFçºÃr݃ñ¸60WÅ#pí†Þå\cîYåoÂÚÊ$? ;©úèZºæÀêpØèŒ§•Ž}€´P©‚ÞüÎAéúÀÌAéú�Ëá\ÛAÉ"~bx|)ˆë©OÑé0–þb¬Ü|†¾rZóÊŰt\åÑþ0¼•{pp­Ó •ód$+Z aÃ鮃]Ã9 ­B¢?`UH¥Ê€=ð4Ê`\šÏ@*'~hv?CP€Œ=/ƒN=QF›rŒ3å<¾Œ*�°…#Ê&z#†’¢å;R†ÆÒÃ5Êä:pQñÁ‰Òç êŒ Eýp ¡ §ƒåÚîp…Á«á rEî@zò7#½¨÷ ‘/�ÛÉíeP—ÎþŒæD¸Ã0.ŸíŒß4.0p]ÜAlEã šLêƒÑ4ú085ÈAe2{!ËÁa2{�KrPF^*ìdÈ%—ÂXkj|Æ=ÍWA„„@U*;pJ#ã(q  drät©™²Fdß:­’ôg:’»Ê°HŽyðPÔº&Œ€Dv †8Æ<2RØyÍA92¼Q9#ãÏ2 ‘þ:HFnÛ0»è Z’D(F+ºD3L‘5ñɽ#ã r H4t0QC Œ=ŠLs€ŽT4ºÚ>?0CNëà Ý£¹át…N_†r­CH¾rÀƒΟN½þ«øøüÿ'ô?ëv¿úŸò'ÿÿŸðêUK�Ýl§¿¾äxúÛC@úÞ¬näè^öú/Úk 7*NVòØTœåjG,––^SÜ´«aµ3+‡ÙÍ㼦—§ D$ó²Vã'g¶CÁºb¦m°òçaB?iú¬üyx¦3D(—Ít"¾Š¬ÀĵGÁE_ã0ÖäIr€„ˆ´w;¤E ›ØýñÞÞã$Rµ`xÝÏn¥H™~=÷p…ðL·%8qL¡•§×lû!nùü¾ÞéÄ7•¨tÏ]ß6®•i÷_kLÜ�6 û»[Œ¸1Ov2¤YQ!¦ËÕŽ‡¤Ï°Úx7yg?º5í“qÙ3µfeºW¬¬¹‚üb·¡ñ>b@ýn¨õs”.„P?‡iJÐàÙ°À þ¡›È† ú£,¤Èú8«ùÒ#YÑlóç¥ýÞ b¤ ,Fz®¼“f®Èc¿ÐAß a~‰~Öh°"šCÕób®ÍØk_b®I‰Ô@mçW˜Ê¯BÂv¢çˆú#¯f]+€´ÓlzÄFŽüžS…È¥œÒßx½Ñúç7Xï³pv´¿±Rá-UÄûÊ;ò2š ÐØ«¨›žøÆÜÀ·ŸZ£Eaöj÷S°ÏlEL|Ô3›7¸_Ã&ºŽ»½¡ÝŸÏ$ø<ú°ñ-Å `‚{I#°9ƒSx•O™6^m†áŽ{+•жŠÌÐlœÜ|Ão åÙw;%˜#;…m¦dz‚hw;¡›>«{¥(¥X%mk¦÷a£ØZ«7ª\g?íþ;Ùÿ:~£ÇÔuáú©úôýÙÁ' T4ón'Zá³Þ•Ao'v]4{½£‘ø2ꦼ«O°9ÕM™L(¬v¼Õ�Öà›œ€<èe«+9êÅÏï%nI‘e”^Ã’ðøë ‚› Ó¾74~2íj¾ÖÈþ9ñ×bø‹ •9^Lm^®uÀŒ€ýú(}ŒÔÚÚ]Ä®(%õÌØ• l„üDÚ:hÈ­ù¢m§×t#æ¯¼ŽŠ¬RwœI%R&Š–Þ dÚ¿[ò°aö§sý¯ÏßÄ?¥ÿ‰ðßïø`@‡¿ð ù¦,ñ]ÒBz—ЀÞ- Ý-3p’ë"˜�„£§¬ø›°Õ¨:§÷v!{Z;rïÀ0M%+ÀgÊ}.S}ë„;¦çÇú¡[w)ÛxëÒCgµ¢‚)Ú£MÙȪÉ!RUÝXêú @Tò9£§KeؤýÆx‰ÞÎq¥ª2 ¤¦·ÐHû–1%{Ü@`¨eQ; >øÓš4�÷è bÀÓEAÅHçR@8—DÈfLd”\ @2w!½¯Œ\.¡ËÕ�¤¢R7F(—– Èäú Õª0¹ö�¹€<îB×™iô,{�b¨.‹±Ñ,¸@…J¨M\*Àˆ–¯y8ÍÄaà0dà2`¸d6� —Ì�AÅ t¶0 ¸¦;€Àµ�Àõ+HüuœrÆßUv„T_§çø×µ ¹ïáŒBÎê[’_A:ß.¹åñ¤‚ᆆùdîM…IHÙÛ<³sõ.sîèš‚7¹·œ–w‰'œ·*ª$â]:™3ð.âN½›LBι›ˆ"9Ùnú+Ȳë¬Ò@éõu äÕ*l䄺%‰ÔȤ[’ƒ"…ÖÀƹs ò$Ít2h@¶ÜTþ‰4¹ ‰ïÈï€c•-rF¬—3áKDƒ øÑ óÕIÈïÝ@™îÌAfk”¨Ý, œÉÑTq«÷–SWœ³ê°ädU'2g©=Fi ôTÃ8ç¥mÈWöp~…3Ñ,"Øgý7ùß¿ùýÏ‚¯þ§ýÉÿ~Ç'<úz|3«%8îÕ~ïÙªeµ¢FzpµÐ3×NŒ¶´)Dpç‘éAÜ¬É Q)3EwÀóÍh0ÔÀÉp„ÇAÕH“§æï÷ tKº]ÿÐ Å,å}åm›ßº¶U"ÄDÕ·ÙîŸ!š©[²už{J§âjÙ¯ Ô|W£ó‚öŽcXdl+¶M–=N§•}e@ÖÇ#ކZÍò8ãDáh¨ ‘wõƒkÄîN1ÚZói!ûHîKNÆBžÙ»9Ï„T E§GZÝI~5m÷0C=¢ÒìÙu-3ÕÜNçƒ÷÷-X¥FÜÿn”¤ à V”ñ m+ÊMÿ爪q+ɲ´çTPb·YÝ@ÎißÀ]RÕüîJ‰È'‡ËxÝóÎ /ÌC<'§YI^ÊGK¾ÏÀ8¯§Å ºN«×é|Ò¥‡íynrT§þ±þ6+§!?œí9Qj°f£¥1<Sß¾Ff<¬^£°zÛ¶× ß¤þzB$xE8º5•½]íµJ³flKÃù­T¢‹nÏg3Ó6“¡{o†D ñ#ÀÚ¼ªµcΡúˆ‡ù2,+¿–Jãg4+Z¨»º3«»«è@)Mç-ÑS§qÕì¼Û’bš/ÙŠVÞ@¯‡V 7Ç_óÞ-Î{¦q±8+‰¯@‡QN’°Naÿá©òÇ.ÇY”eTTžÉÊYàܶúÛ@1°NVXÐÖ›mnpSZsÒLâäpšÂÊgÓ1ÿ'$‰þjÖ%×›Ìåì¢ÒD”v¤¬ ÄÔKÛ§‘-Òví*Ó¾ÖRº&¯T­°H«ÁŽÜ]wÅ9ØuT ïÍÊU˜§`T;ããDå¨ÜmÄåÓ»X{ˆ“VÏGèMâìÑ)I±nöºR†baz¥gAqõîW’Ê.3Þy®± Œw°ë<Μfqáí •™WŒbLí·8f¸ÙÎtn;ofK³+êÖ{)Ík¥´RO—ö¾ Y×:¼=ͼâÛ¾Ü>ÜÂÀC¿ §mˆTÕ)ÙX®Ð¥·°A²’ËŒA?tÂŽ¨ØO ÙjßÖBM [No—sÓ™ùdNt’[�0üWçÙi´Á--lÅ-H +Zv–N Ò.˜muA‚£\ÝB5)¯õ×.k™¢ŒI¢Ú~Jq{ã¶T(—a§cå;7;-6Cn|L÷ZOzwü•™P?{3"Ö#yãJ< ¦G£I Ã-¨ W¢ º3ûúi4óçóõó÷áÿ¬þ'ÕýÏŸúo¿åƒGGq?òƒ0©ïŸN(ã¿䫽 н|Ÿa½üÍÎbàÁ@^ØÝŒàÅW‡¡»Ù³«Íƒuá3JWO †çj„pp¹ÙŸ,2¦öàb?ÁØûÒ÷�t«·ÆAÛÂ^>0[xë_ #šµv#ju¬8PZÙņ̃ѯ�<«GÌAÍQïà€A’ü,ãd¡D3@¾ö`d,gÊX¯ö`aJ,.ýŠðˆaïeÇÁxW@÷úF¸"ah{Y‹0¦U€ÙËŽƒQ¬ ˜_ãr·ÊdÀª&(©^{ZEªÅØôòø`P*DôƒFoIÁPe·s6-"„<UmÈS=„�5“z÷�c^B .•TϨRm‡�'ÕH…q¤š0€¼\†€çbŒÕ1è@Eþó7„/ý…‡KnÈ`4ÍL] À$3ÐOî>'¾¢iá L¢ £<9<Ã;ŒëÔ®€N»ó 9 áä.ì¦Ç`ÐvËy‚%˜¦Ñ†ñ™L¦Ì®àDv™‹ñà‘9ÌLÆì_Ku©¼áÖm€³$ú€%b·ƒ¬TEÄJCc©ËmŒÑ‰ÜcÖóèðé’ë^Jrµ ”dÆ2BºÁÐH­~xh¨•Áz1 ’K9ðGcã‘52àQ%ÒA:" bˆ£ÃSz@¢�uúa0£jF1Q‚×t…:GS2`Q¾ƒTÔ¥‡!Šjÿ›HÿP"£ã 5c¢âÆ¢S;ÀC–‡Êj %À¢AüéTé¿ÉÏÿDÿÓþW¨ôÿ¿å^ýÏŽR+W2$؈bÏ+ÚZH%êöÈùÏ~¥ž³åW&Ê{)Õ½¡Îi®"{†:§%+ * uå,ë–j™½*òü¥üTbd#RÛi®DäöDâÖ€Ìî½Rì{Ú!hyù¼ƒuäž8;Ã/ÚáÒ¸¥¿ÁÝ# â™w-¨½à[çû)$YÁévNÖJ!îGzŸßX ~|þFf×ç+=¢÷JSkéU6±ñœøÌ(,õƒ¡½Ë\o–Îh–aÎÕ®ûLv|®3Ù+_ÏÕ2Ø)}ñ{¦‡o½KaçÏ+0}7Lèxÿ”ý¤:ü1º ,Ðy7°@çqÀ‰,ЩÝ*öûëøuVçÅç—ˆøq#O'õ¡ÂE+¹~$@Ä}_¹Œ%tš¶Õ© Ÿ™¸«nÍÕfømJ[H®½±!O™î’j`ÏP¬ÀÒ˜±2b+òéíNä‘¶\ç#À¬¯a΋y^Ù©ÓhÍÝ›‰zÚ>Àf¼â:b3Çè-GÊIG‹VÄ–÷˜ÿëµÉ ”;/¶ØU:öyî*¦=Ó«óbw;‹`u~A}Äe/²)T"ª—ùˆ~(Ö¢¢ìÝÞ>EëgSøOäF2þÑC²ý‰WÕ–¡w;•sxD$OHñM-s?Øû2 "Í6œÕÒ„é³(®Éú±pòY.6³ðSh±†´ÁknKb'¿b”ÄN:>6oæ!M|o‹·ˆ˜x?¾HúHö6#±- »:ÊøüFÅëïµ8uûøÿú±5íh6¢oæbùÞиI´iW2§ÀÝO ¼1 a:yÖd÷çòS¿5àl¯ïœ¤|õú.xþ¹:ìÂçí««vt\†7ÙI‘MvœpzDŸ_«Ã&Fbuðêš ¬û¡øÁó¹O)PùZÙ7qòS¾ ”tïPã MÞ4pTê¿(1+çý”`[÷›lïòƒÜ#ŸHÏ¢ßCM8í>Øf‰Ùš•Sýtúÿ·ñßOéþà¿ßòAd ôfOÖžý¯ÝúŸ|»Û�äév ;20¡¿ëšp¢çªè…�䚘9�Á]zZZþgÜ4u€5Õ9�¥)Iðl%°LÿS29`˜²¼¿®¿ v)é›á–2Éf©Š„áÕµ`ÕÎ;ékÀ¨ë€O×€Mª«`¸t “ØÿGÜ()ŸQ›ãÿ#6* …êe÷Cè²øQª=ƒžë<�v®†ÉÚù ÀÍe¢Ps7À)U]u�b¦PܼÜr-FÿCZâ�¥4=à‰* —¨H‚‰Ž6F"*bÒDíÄØcˆ…1Gïg3ØhÂÎg”¡J†: W\ç@Ñz—šr:/BÜ‚ ì¡6;� MNŒÑ‚ÚÛ0LÐþ`|p ,í˙U5ò+€—2 Žq8ù§´‰š•Øqº¯7ŠóüÖE2„Ÿ’n Ì^Õ,œÒ«ƒsù&ƒŽ“ø~5HíEÞ‚¬ýn l]£ gé—w²sÕKrV>/Aeã:Õ9 WË3ξ/5dÝ*Kãl[ãgÙ×È®‡t2gÕ—²é!²΢ïÊž‡:!kîz ¤Ë]ÏiòÕcHõ œ_ʤ×îi°^ §¿—UÒ^5}ãt÷¶û¡4WExœÞÞrJk­þ§#¤±z+9}½\†¶ªk§«×WºW!=½ö@Z:Š6P:zÛýPz}é§ 9í,2`žõßäÿögô?)¤‹ÿ“¡ÿù“ÿý–Oxõ?xOÇe;õQ'1Xr2Í)¡d£c3g˜óx‚•Ý?'»båxY;B·Ôð ÚRW;žäl›$;Ù9ë¬PIdîbÝ &ªí׿t8¡ÓË‚eC¯„ /ªÝþ ž%zÖv†á‹s"Y;îõý<¡ÕöpGË\XºoªÐtcº»ÒD÷ìïc›äMæÀKüét;tðÙí-Ù…ŠéÆvçÓ üˆ†ýÝ´Ö|ºYÁŽTXêÓºq$ˆU×_ÖO)UÈÏÂpæ j›îgö|:Ù7V'ƒÚ ¶Ûýi&”js6N þÏ+mulëÀ¥°£³½Š•©–½›S@Yühå›E¥ì¦®IèÝ>À\vn¥5ä–¼•­4Ì»óꓨ~Ù‰V"öt·Ã?ÏÁF<޽Æñþ«G,NíäR­Œe׬&K·¬á’Á|(ÉÉs¸F³Óká¢&g¸²3†Õõ¹JwnØZmœ+Ä‘ uKúß<­ýW‹VNUQ,–âlÊ*—âd8‘@Þt–Õ¾I]{ÇTmÿln~×9ôä:c³lúÃôªÉz½,8† ÄÃ, j:vyO4Rq×Û¡[šN9³à up©ö~ÕI¯eÖyZÑŠn<Ë‚o¡îXùáíþHef«éf»°%®1c=Áò�-µ9¥ õWöd#c¥ç @Ú�ØÜçœL¡ƒÓÖD5)O;¼f™¤i(6ÄP#D‚Î4n»ŸìÑîÌ0þÁþÓ9ý€°›JtbÕíºÙ‡Ù9úThRÖ±ÇYˆ+ÑèuŽ>¨<½7kl´¢ÕžMk–ùŇÂá’Ùæ!° [4€R×f«ùZ“†DÈ)ºû½°r¦{åw2ñ†÷ã+Û^P%}$çHTé!ïþ'X#h‘¼F$õFјù¨Ú>0ÖV{|˜Ë¦â2 »m}šÕÜ$0_Gª®ÔÃ+%±R+æ²Y ½Þ]غcÔNªºµ»(·q%~Õè}SJ¶Ÿ×ÏRTŸ~ÿI«Ã&8Û¨-y7¼µ°ØÓŽÛ’¨Ãö¸r« ßÇiûa{a’:ïž3§‡]%WJƒÕ!ؤc×Ìn¢Èµ7±xWŽe3ñ:k›ìTd©›¥lB%‰Ù‹L ÌußÍ|Ù¶‘DÊöz×€²ÛÉŠ wqíFñÁy 5p-§s¬VÃT²³¥࡬é¢:½YÚ9¡‹êèŸP­˜ý§Ðߟ¿ÿÿƒýböø¥Žðÿïøà™VÜφ€üÕ¢3¹‰ÿf¬¯�ù²?£{áH3¬f6ãy±+` /Œàåx Ý…ý̘]éõ ÖÅQâ t!.x.¢‘ƒËÕÍ€\5"‰‹uÃàê§ÁØû¢èt«0 h{JG2ʽÇ×Ê®g\­^ ¨åG’3•¡…_~°³�4«v…Ñò%îLf<ãcq÷a\|‰€‡E@Ã@xˆä†°\éA¾êöÃWÍ}ãÉ]d«C neT«f? gõŒco)³êaä*÷ì@V¹ï«Ê1HU±ÐAéµ,•û~à¨îÀ8T•@� Æí£MrŠvã`MU1ȼÜ~ÀÄÃJ±s9pRÉ8R@ªý#G¹øu`Å)³Ÿ1b~?ƒC=OF…ú« E¼pp hî`ESCtGŒùÔ¡•bÆù›QžªÞ©>º|ÙŸ‘œØp]„q.ØMå ÚTürК„C†i— èTM:çÄÀ,v¹HFd—1A/3´è¼5ž|Ýnd@]2ܺÜÈCT·€¥b<FVªcHu}…±”z DÅ.ñ èIer6iÈc¼dì(ᔉÏI}Àm@E%Q‰0¤JCFAê øeÜ£@Ý¿%†1Ò‘±ÎGUpÛH'3¨¹T‚@3W(`#ýqð‹*àΠՀS†¹ U®ó�F‰âÒwÀ‰Zp1*ÅÃÕ)¢@� :>y\*A@ŽK‹ÈXCÅÂ�×W]¨‹`Å¥,žÐ±þÓ©Ô?ËÏÿÆÿ§½úŸ?úÿßò ¯þ‡–ÜàÝ]|Ò´id|”"Qñçm“ìxúdéà­52Š*=,}”Œ~ÛK€qÞÓ^Ù¢4ÕஉÚ?JÓ‡¯öО£-áß*Ü÷¼ä‚M½_k zÚíyØÍsÝ·«CûIŽÙÂbh?²4¬ÒIIÆãH±™iq“ë‡åÌîÕ‘êáÛÃïŸHúŽÓ½;¬\Çße«û×oúí`ÍPVæÝPšÉŽ«Ìº!/JÙe­?oÚ.oý½‹^=dèMw _ãeÓœ~±Ê_lèÐ&mD·¡Âý±§#œHÇ~×iÛ©|ö#8ؼúñµÿ‚¿óÃ`WaŸ_gºŸÃoØÎ”»ÿzµ~ »’v îÓ¸$"öu88Þí´ˆ¿ê¿@JÁµW2Þ˜ÁÚ:ìbÛ‘xq¶+vÍíø¡íØA¤’ ¬[íWà~ŒuZèᣫw=îü¡}á²Ü/£—çÆ{bod4SË“Ó7 Ê„6޶§41wz²3wËghÜÕbU+BBÈ´ ,í¼,|c'|¬¾6TÊWÂé qRDÏ –ÔžÕÛÅÞ´gzòûj{2Ý-½©zÖŠ\*™Pâõ¬‰þ°+z—…ÊØé@Ö‰ÀN÷q%j”]?³*ãÕõùVŠO2*?Ûò€'ÑÊæíñGÛíŸ@hVN¶�Â^IžK.JÌâ¼äö i‘~2Ý+@VV"Q+_/žDä‘msã}>i8LðüÝ?ŸòõÜ)ô@êQ\Tn(‡x/Øx ñ,$Û|®0¥ÁQ÷™j«Ëòçb¾`áÈ xN׋U©¬e“XÚ%[Û®¯Ó¾Ú'UŠxâÔ¶Äø¬ÙªŒk ,ùÍíÒCñC½‹¸ÕxºÐy]ò~q:?âìZÌ)¾‡dõj&ø÷Èj¹îÃ3_×ÒHž ÞØl-hDõZÅ•e‘¡“WrWT¢m{¡à׆§Î\ñưÕÎÔRÿ»½¡Ý÷Ï º‹ýÚ~,¿z¤QU–^ujØ¿ßXÑc§+LÙSúélÿýüMü÷SúŸüÿýŽ"Mø –÷Ò#j B|CD@z*Ä»¼Jàï#†�u*�˜Ó¿⮿ ¼ÍpÎt® áþ Mµ4�g*(»ü€ªý lŠJàkŠÿ@—nØRÛFYUÅ<€WêàÀ¸ê²Ù RB?)=)PC,P8À`R %£ÿq �FJ“g@¤}Ï@èn€ª6�øL=u�•Q0Òi¹K‚DyÁØæÚ F ,Í\š ˜«èeê0jQ­ Õ:£4P‚)×�PZ!I‹"¢$¹BÀ"—B DEVŒ>.#À½|Æ—¨@C5 0."� 5'a@ѵ?€$šÈîB t †(2\3™ÈÝ@£zÊÐfhÐDiÀ˜àÖÿ¸Ô=@·þ‡Ò œ÷wé1Nøï* "+áÿrBb¯CŠ3zsœÊëã¾7ù ’wëÿnWN×õL9OïyJ%è83o2³9%¿¬z‹kqÞ%¢rö}í´ûræA¾­B>N´»:ó ÃÖÙõÕ€ŒZÇgÒ—t ôÝ@™s×kAÊܪœ)rå«I²N ÎŽ›jf«åçê åDXç-gÀªùäÔW'2缪ÊãdWç-g¹:,9½U‹-ÎkU@Ç m½õ?´‡šù …½¬z»êôà¤õ:hç=ä+HS»*•Ÿ^Z&䥗ìèXž=8-í ©gý7ùßÿó‡ô?µ<úŸôGÿó[>Áë&“`…°á~­ïæ„úëÃùadP{·:‹RðÒ<[O ^?hU+„S³sVà²ÁÍqÛáRœB·õøWT«ôv×rz'E»ýßR›×z¼æpz›HÊÝ]6ÝR˜SDexóŒˆ"êʾoº½õ Ö•`W¦÷£ÃR5WZF4†æº}5Ðí¨Íûÿ äHŸN4àÿÛ«õ9Ù…‰¿£B‡C}µÄõ´b8õr²TÙ]­˜¨¯Á¹BäH/µgµÑTØÂËÉÊ„à#XÄJ6(¥ŽúÝX˜â UO¶Ž=6¼éÙŽî$w{nÙ–¹O“Š‹Žhº»r† ’ÕùD¼ÊÅêL2óОãd3º³¥Ùœ(ªöëª÷o¦9 [wY™‡ÉN§ÔH®¿’Yç©2ȹt-s–y¿K(Ó»ÿhçÖ®¤Ll›èô<–]3[‡—­¢öf™¾ë®S!è5>íq2O‹lÝŶž†ˆÝ3¹I|¾J;ÙK¥5u?}4Í eï}RPS:•æeA°Ùá‡;Ú>ˆäÃ~šWû=¤Aw|ðIúèÓ;µP?Ö'æ®ì¤bâîšÓÙô­¶-B‚U_U¸"ê¬"29•¦­,¤–Ìb§‡NA¤wçÔxnZ¡£‰SíG‹·®’îöLކ¾²÷7Û “ªCæì¼ãê¤(ÅaÓ _éš9LcïµbN><J!ZbÖ8µÒV‡gO÷á$A™‚AìÎŒ­ô|¼á*$¥êV5^1ƒ½ê§©>¬ÂkPª¿ ¥=Á èŒV²Ig´\ «cdîÙ ÛnY`¥Ð —N¾JÖ¹;“¢R`zÓÝò^ZŠÍ™­Eš„NÁ¦›¥FÄ¥i—‘CVk^Y4)¿X³ÌöÎ~BkríTD -¬h•6qâ<§•€¥4òw|¦µõ`õ„‡Ý6‹Ù+¥ø–’[5gŸ–:1©VŠÓý2E4«SFMŒ©’íÔ^«Y¢)Yš[wÀN‡)J¡ìÖ…Lx>E§›]ÝN2[æWk{¥ôaÝ6wœÖÉ6/d±6qŽ$xN™·ùsP’8iÞ„Â*8=êfÓí¿jw8¨OÁ)Ê®<¾Ÿ­‚®¬Äs߯wmä.lålü ÏéìÒ½£ŠÓ¹u¸ ­@mMƒ�slîýÙƒÓmzÆOºÌŠA0£)¦†Pß½^J!ŸW¬£Óø‰ÅΗMÛËê­ Õfïí¿†×£²Rh¥ö<™Ë׃×B)”›µ!<̾5+Íýúi¬ôßâçïÃÿÿ`ý¾ÿ‰GÿÓþøÿþ–žÅ¿è…ÇþBëäW¶5c}åV#Ù› F÷¢×aÿ¡çÏ+˜¼¨€àU®讄hÆì²ÿ뢢9(]<žëO2.¿õ È••ÏH\l-åÀÁÞâfs@·ðÃÚû†ÙzŒ¯oŠ=R�݈Z JWáË3†VÃÏr-Œš•1}à²H0NV"ÈâìÀÈ8©  ±Úk� « ÑÁ¢ë:èWÃ^uä�ÞU“Št•ØÏwAB�mU€q0­RÌ^'Æ(Ví¾ ÷ýàVéc¬j2tªZr0D½faÓ$&T JÕՃѨòúÙÚH&ÚÁŸz�žIî #NaϨ©–Œ1enp)=ʨ2‰š€á¤œ7ãHí?:!r”kgÈ¨Ò ÆŠ:§HÔ_:¼~°0©a ð Þ‚ª+T÷íýçÐô'á =˜�æ‰<‹ñ K�;µCöûù›¡œÌ{Æpò}€·8ÏߌÚÔ¯ŒášÆÖi¼bP—Hd¦Sú@2‘©¨¿„©Xç /U1ìJ²ð–ªfÐÒ®ÂRAC«KߨJ]ˆL©ƒ£(5.|Òè|p“Ú“0©Ìê %= Ò%ø6Ò¯PT4>=!‚AW8þQ™Õ>Ò€xôÎ1Ô‰Cö`Œ£Â#€›Ëî‡QlÎh'£ 0j÷ÃÈEun<hUðÃ!¹Q R.3 “Ë7—/¹sŒG´?Q±È5ñY#¤Ó˜#¶+šÐCq£¢ƒž3”q…5ÖÉju„ÌñŸN·þ«ûøüÿ'ô?+È=úŸÒÿäÿ¿ã¾õ?kÕ´ÔêXä¤)+ůöµd_Ï®vÖ ‡ß¾i ­8›2W|”…$ô>¬Î£À1Àâ¾"âZçöÐR‰}-¶¡VÝZœ­£a±^èÂ^P\;ÎóïT®úm?yª/å¿:œ: n‘Ú>Ù5èi‡kÐÓ¾ii$šjÝö妧õÏoDø}lÀȵø;ÄšMëâÜhHžmûÝÙ6T¯wY (´‡Â$›Yÿóø•úmZ±in$·òÅ÷7Ý-Þ†7c°Â-Ìe�™>¿Ñ¹<…×hmZÜøü?–}•O3 ò†wbˆPª TÞ6sˆÔP&PîG ±9t$¬#Û/D84¾vÕž¿>lvmíðu3víô½¡²û…›�›s÷­®)¤çú8Ôë8+§a.ÞÇu€“÷µ¶ˆï†`ráçý~¯‡bΉlsöhCOîtÁÝÛ¬:â¨r³BMåËTb½YµI 6^o§¢»´S-í‘Ýä[ÿ¢º˜¾ :LŠ¢]Ö@¥7‹þ|vÑïD„ýf5HpýñÁZ™4ÊFø;·øŒšëСn¨xÈý܇Œª‚Õ®>¤(;Ý´ª¬”&wv*òNH(ïò%ÚÿQäÑâg4ݬÂù˜×íBˆ¯±¸eå]Aãš)ˆñÞÝ¥DÔßy }Vv5¿&WI1FÓ’Zþø»\ÓçM-˜çÝPð,ì Ì»ÀÅgl,èŠðHïÞ@Õwzö®€-BNéB]Áy|šv-…þ‘+,¤GõÓ£¿èA¨«£ÂãÝNï(¿ª2Q2ÝO¡]o˜µÙΔ•£Ðþ^hµYÆXèVXV# ®×ä48‘ö–‚š€€CéN�ÌžÀ·–~¶/rŠÝšÛ/ì‹Êq)z64àÞ¾ˆ+â¾ß¨­®+ Ô8 ö.°ž?¯£ãiÉÇx½{y/¾:ØAèñ5šx¼òaÔ8ä»5¾rµ!®¿=ÿÿ›øï§ô?åþûŒÊ@OOHÿ#Li >ÕÃ�ééß@xêð�d×nÝAÝ$i¡Ù–SI@\Sû‹ ¿ !DÃöf]oŽu9”{�µ!ú�4ÕN�˜©�™þ ¦f�`Cõ>ðºô?©Ü3Ð"`€uí`u7 R{ RÖÿ‡² 9(€Ó%÷`R¥ë�HW€‘ÚB0 ºî-€ÐÝ@�h ]ŸÏµ�ê£è\{�à\§`£Þ hšèLÉ\2@˜fô?»ƒÔv ˜åj�VQï Æ(Ãøÿ$Û@˜DÇc‘Kˆ r}ØC¥)§ú€ž°ÆÝ@ãj�¶¸~˜â27–˜Q~… hëªh™�š\>£…:µ`BS{àƒ¦2�Õö1"Ð_a( ŠÆ�jŹ¿öçüwåúWr|íÎíÕ¹‰“zÕ»p6ßX¡N9!7úò„V=2v¦œ©ëÌæ }ÈA93WEgä:³9¿Ì|_Î<ȼ¯=q_{ Ó¾ àC¤ ȬufsF­“3é>³4P]%~pê¬SŒsfõCâdYC3gÉ*¢áô˜Þ5påÅjåÄ ±Ž ΄» N/Í rß®‚ $½U•9Èv5\pš;T̃ôVç§µª§ätö²B{7PúzÙ!m½ö@ºz5 MÕ ÍééuHKïxiÒPuKãôóò!BÚy5”9{pšYã¸Ïúoò¿ÿégô?¡<õWÆü'ÿûŸðúÿÐÛÀäÌ�zcqX¦*—*ŸžŠ—ÁÓÊS˜!4«cˆ³þ§Y¡Ø Ørí¬™i-Á„“1­É�+¼-ÐôB´FK¼]ÿ"Ø6k„±òAµ}íI¯Ž“í–£ÿ‰®4ú¦âà{uÀ+×f ¡›|THGd >b›ô¶ºg·ÿ�òuÛgëWs€å=yRÎNÖÈm™ííŽ({Êx^ÛStœj‰œ)zóÚ‡k/¸·99½PA%ßæ,$–ýí{ãˆÕžÎÐdóšö_=Zg4Ff½–=ÎК9ÝÑÎéþÛÿ»Î1‚5 Ù¥ÿA�·÷E„>ÝñM|‚®Ì }ú!Úþß4¨}"sÚþÌÇ­³Ƀîû.NŸwdqÝj8˜"µE´Vùˆg°úßYDÔlÞˆqa /gÄ ¸&¯Sèü[°÷q—!Ž$ŽpM%iVou¥g¨�H¤ *…“Ö´±çêÊkžÚþ\©½¤kÑ #ÖmÄýs>W+Ž";!ש´<‡½/+âÑx[ÃÙ¨QwykI,QºÒã¼…œ†¦Q±ä5¬ü¥v¼}Ey…«}€1¦#’¯tˆúgX½beKš:íõn ]W¶ã3<²šsº°ÉW?šUÛQí„{,«?“Êb»»˜ffgÍS†W»d~¨ŸZ&¯ØìÄïTfmkÌõ1skL«£Y½1ènZyó¸¾ z ö7«‹˜.ÅF³u×É&;¡ýØ<Ѫd{àP½øõ¶sUèéFÅZÔ)š-dlW·AájËL/lEWŸB„Á“5¬ E•ßî¢n¤”5åéV™ÄöjîV›)Fç™ÚóÈn¦eZ[ÚF¡•¤YŒ]M:FØnõ9²窗&¯†.oY±†P\´\«C#ÕVwYQ¢Êö)U'ßášÔÕE¹#»IÕ­>@ë&;Ùhc6Xʶ½CÖüqÊt›íìêÕ¤^ŽN‚Úç6ꮼˆ¦yŸ6Ú'–a%¥3q�V2afDvœNóײÜÇ6­Ü§ƒI6º[ÅF!C¨”mûDtõ*å “€l”Ž FTÎÈf“Þ(ím.zç9ow6p…žö<×UkÅõFL+<¹×ªämÚ »Y1϶ÃÑ|g;ì¦Dí÷3@¨$íøüiˆòçóüü}øÿ«ÿI)¼þ?Þÿü–žÅýlÈ_,.�ù•Ì9½*?°œ(]Ë –ôgýO俽Wy‘R0‚Ž9ë7„ˢ],¬«nâ tÕÝ0<¾ôÑÿ ™ùeÁHü’û¿$CŒ½EŒq@·~hûòþ�ÌVâ2ãë‹éÎÀZ\Q_ö ¥Õ¬Z™Ý< ÿ f5á�\¾Îƒq²rò/±^ËÄ"š9XXHú ‚õâDï#Ôw†½"Ô:xW´]誣®ÑûP'«DˆõbB9?za˜+ýqà«òéyŒËÏÀ*bƒTÅ>å@ÔK5/Qn1(UÂA£êFt|e…Ïøórý!àyñé8Õûã@MUü�cªKÉ1õQ= £J±b8y™p0ŽÔ9Í�RT 9ʵÈ(6T+Ê€¹#M"éíÈg,ƒïØÀʸ¡M¢b¨ªhd;@ŸJa€öTIÄ0O"ã;=èÜ&>Ã(C”K”€átŠ1x»¢£6Qw¸¦QŠqšjz�ЮŸ2Ó»Ïìòúb,&A‰AØõF_jBưë²@Gä7 ´4\4rZéWŽ@G…ú4 �E‰(ñÀ'uänº¾Â€Iîèˆ,Š!’GÆFV C·òtÐAC—ižÆŠ­”iéBF<ú+ utÑ;G¢å—@](†áŒ:‘Ǩ¢ë�ùJ=ÆÜ2+YôjV‘µ’AÊõ =1†%ØÑ(Åó1Q°#Ð9ýÁ˜CEz?ý÷öñùÿøÿäúGÿóCŸðêˆÜ¹f»—•l>PN’€¢Î¯ò`§<¯3•p~t;™(½>ó<”^â}}‰öküâ˜e;ž ¾‡`ÚBüäI·ºóœ]Ú\'Ø£[ê¨óì+Ò#gÝår zÔݼ½ Í©,±/´K!žÄ{ªé¯D4°µ~GÛN’á•ûXÑÈæêÇ¿>̃"Óë9Y‚íÊH©ý9NÂþÞµ æ_ìŸéåÞSõ ¡ÝþôÂf³í.Þ6 näSÛ3¦÷È îkíÛ'2BÏvÿFjšg˜m²úá±a1¿œuËZ‰zâÝÖÒ…LÈÝÞ˜y2n¨ÅY¿ Ö»ã·B&Tø”h]»ÒVüõALNš?RŽ”¨$õcˆ’R¥vwö+¸öå­“){xz;’G=ªŒT¸jµ©Ò+ÙGe‘*°þ—Âg|²ºSwáÕõ@•EêÄ4z´Šiøá8¿Œ4꾨Gkf˜ác¤®:ãÇLØ)Âe«–È^|Èx × Ójr¤ò s6§\I°~ºh“úö† |_LŘ?6@ɇ*¿Iíó5þjK‚^SŸ>G}n-|J790~M Mü»l²à/6 úC˜ÙóM„tÐ §M"„þr: N ˜6{·ÖN%Ð ¿GÎU"=|Z7Ï ÏJl N«ÙDÃþ1n6ßpoY¶P“%S‰ôF»—÷585wümŒˆNÕOvPPE»w§‰`å·QXš±(B{³§‚3¯h€èWÎ2ˆ¾øöϤgJÿXAE‡×/'Ð#ˆçz+žŽH¥Œ¯öHÕži8"ú~¨ u%�v©]IŒÌr·w¦fzÈ2Àû¹ÛÁ Í:ÃÕB4vO¸vB‘3ÆÇW‘„‹Þh°Ö¢SE- <ÚG$¬­/õÖZ»vÈ~îLí´¬¼ÇôüåYê W‡ïñg$³q¸–ÒNOœÆ,.9 iwôvÛ2ûÿtrÿw|þ&þû)ýOýƒÿ~Çã5ÐÙ½èO!yñõË4†\2.iÆ^}/Wwªçª» A ï¹üHÏsëÊÍr³¬ë›c ¤¦ly ´^[ÐLõGÀdj¸�0¦®@aM”€_Ul1€»Ôô—v#­Ëë² ¶Rî=ƒªë+@SêyÁ0êÚøI• œôÄ1µxz‚¡’2ë#] �GMÌ›µÛÿ§ÖÛòƒqÏ0�RCF>Cî(#½eŒt.UM𺠛Ë�ˆF9ïŒd´?¨±‹vƒ–Ë™hE/ŸaŠêLŸè­d`¢*F$Fÿ3šm r©Œ€<TEˆã:u@ËeCµ .ôV2ª¸”9€*¼cqË} î‘©ÁÈ¡«†A¯…¡Â-÷!ˆp9ó�\ €*_`(píp7PêÛýÄ`†§ú—†)þ¥!Bj5 ¥¿è>ªrHûþ‡ò ¯ eïM(WWM'éMÊÙyW Òr½ œ«£'â—ªø)ûNêÝ“œGaÝìd[Ã4gÙ-m§×ש#¯VGN¨Õd‰3éK!„úr÷Aî|] ’æK2„lùòÝAš¬gÊù±zLqb|™è #ÖSçT¸K´äx¨f©o»A”óvY‡8ÙÕSç,·ë‰!½U«/ÎkUÜÄ ímÔ†ÑTq {ý r×ëHZ5(q¶ziªZŸq~ÚD2ĉi–«}Ö“ÿý¿þkÐÿøÿÄ?ùßïø„Gÿƒ’ô®¤þZíIàQ\…|‚Ì[Çᘫô"}¸:ã*‘èø¸+¯êDsµæ ky&Öd²,ÅARt¶ûé×_û p¶tz޹ÎÛÕç Ç¢39ž@Æzë‡C:’sߢΰ ¡âþl¶ð{Ì™Þ6·ê|{ð¤j)wœêöqF±ŒÛýÖ6|íßfãÙ:—ÄÃŒVÿ°I ú»ÿ$âû~èj™ÓŒÕì™Ù‘(¯)8=@ÚT}þÍ2zW¿gbÜ&{ž©'…l ,×Ý œÖ¯Xfð6hÄ3¹#ôNÍûù0ÍësBƒž'z&7½×YkˆÓíð¸_cÎ2ªWZDï̳eü¯Ô‡tmZðŠË``WÛÿ+u"]]*ÎaÝðDú;Ö}ŠÄØnÖO)¹gà:Œ½/y‚É0ƒ-°_`p®öH+à:¼Õ­•#v¯o)™ØNR Ï£n JE ÒáíïÕ¶óé·‚ÚJ© ÇP¨ ›ýù¬û´ÇC©ÖH¢²o4ç}³†)7нÞÊ‚>ž'Mbö×n™÷ÞÖx¶ÊZ¨Ä:šÓÿ,�Iú¢èôH$!»X„c~äÚ"vÿý>fß—êŒ!uÌã¶ðÀèÐ=šó\ù9]W Ùôsxt>ôœqa¾zÃݰ¶N§îrvƒ¢°éRpoº÷¸hàÂ;Ë•_B‚b¥ $¬•ë™c<õïNî91ܸ´²^ÎJ¦t/6ªGxü¬ÅÁD›˜ð⢧2Íô¤bÛÙUc­D8:D/Y2 £‚Su6Tï~ÿ™dwnl  wÔFvz¤ Ze™ÖÝn“ʨ{ÜèM‘ÉfÓŽŠ!3\©­½ß‰rŠØÜê¹ gD«Îާàñ¾â^¨‚gLsºÕþ!=Y]Ê®ML»iïúÂÐ4.g°«@š l%§nÍ+?M}ØëÄÊå˜]Ú–°mîât8 þl!Ú¬ ÃÕu¿ßr«á˵tX]ÍJ—h ôܭލÁ—)UgÇÓadÖ‡Õt¯àL'Ò‡UÛ ñ-z(ëI²Ý¿lýêþ+Û¼®$øPU纵«V“έX½ÊÊ-ARÖo;ÖÒù8›®­è|F²¶5›0G¼ÖætDkÑ£~hv^¯µj‚ZíBL@5ÌÕ?6êâéÈæ‚Úh¿õ¥»Ý­VÛ²ŒUÍVTPaÏïîU�çß«3‚k¨ƒ¹n¯ýÝÕýÔ?Õf;u ¡%í3˜Ž.{Ù\¼ŽyjŽóÓåÏçøùûðÿ?Xÿ«Çÿ¥ýñÿý-<ŠûÙ¯ÒBT'È)P T¹‘ÿf/åùþÑó°ƒçU~� ¯tbFð" t×ßgÌ®4y€õËØ(ý²¾`x®T{ÆåJ× ¿¾ÂH\Hð Áo? `o!ÁЭ¾@ÛFÿƒ2 Bµ¾VÖ3ëËOƒµ0”V9cè‹{ÏàYx⌚㔯0\޲p²*,@N"³ad¬Ê†ÄAˆô<.TÆ Xºð _шØ«À»@W #ÜK�h«LòƒiEšrÀ¬Ü¨ƒbÅ™èÀWåï3n½ì}Ü:HU5D€¨—[°©öú¥AtH@£qž^?0Tn6ãÏk.1ð•ÑAœ"’8PSî>cL5ú`pyù÷�UªZᤩƒ#/ý�¤˜_1rTy CFëw€¡‹’«dx(#‰qa<‡b@¨B Aµ!c?‘¼0èKòó@{"y`˜'¿ÇøîŠ€ ìd6D'êåÔ41œª(¼É°<¨M-Ç®i@aœv�4·ŒÌÔ\‡!™ôÅÁbI„©:Ñ—Zç0ìÒ=oÉ;@K.î ,âh%§~0•œƒ©Ë‡QT”ø”ä¾3nYØÁKr£PõäAH¢Ñdh4/õO3óé`!m`$×zÐÏåØs…à5ðÐÑ%ì q|:ÐæRâW4¾�ÌÈ™“5š�½È4:°Ecã9¯T’ ¹õši`L¢z!#2» Ñ=~¨<ˆq‡ ã8äg:úïðãóÿñÿYÿßëjþ“ÿÿŽOxõ?ÔÆ+/!tt€ˆGêO•ø•"@Ãàm3ê/Œðp3ÌàÈð•m¼§�D÷¯¥�±Ð>*±æq?•æ™Æ}¨=ò0$~ê V>í=°ëƒsdèM>ç3XgTšíçQÙÈõÛ ¿h?ûG'³Y÷+~ýÀ®RMª·è‰øFhRˆ­‰ü5ÇÄÞD+åsZ!¤E3?²üs;‘¢µáQÉ”�G‹š¬qÁÊ#±Á5­ «‹˜-ÿ{%ìáûª¡–ÀÙÛßh•=0¼D§‡Œaß¼?^@¿×1ˆN¸Î¶X5É~ùG#ªÖf¿1ñVöµeš0|NwϹˆÁìÔ;¡ÂN£¥ae4–I¡Wgßñy¿*µ,“žq•R-ýóÕõÞÓÍx újåZŸ“8•ú‹ o2[ˆT¡„~Å=M–ü(I*Ž¯Ñž“× Á5ɳéS¯õŸ•ÞÀ<÷|û8âÖ+I34\Çt8+6ø±»ã&6{×¹´ò5ksä§�`Ü*äe±¹ØœXEæƒNðYŠ(»|màʌϭÍ;5ÿ �¹°3“‰¹Àum¶ ε2üjCý¶lÊ o¾>”D•=<«Xî€b+4:mUg/§ç8ïo ”[ß°‘!ƒÁù²•×Ïðu{íûÅøp>Ó lýxÅn¨¼Á]GIÄÝÓÙjAÎC“Ç ¬d<nzFIÉT{þ㬠ʾ¼ß(@,OxÝ«{ø» ¯ÀoЙÒHQøNÎÒ ]{&çê"þ†óÖY(“7øn»=Z°2opYM™xâZµ®wk!弯{τȉ÷ž ¨Yóf<‘Ån~Þ†ÔX„}.”P…ã5×aï÷g”Ôyƒÿ|äq.îV梼¿Q@z¿QQó)ÀÖâÞ€FÏ­]í)|ohß&‹•Ÿ7¾gÕQts+»L¬û†ÔÀ§Qu °Èch¸¦æñFtÞO³ÁëÑœ‡DLÔ4íxû§Ìÿÿ&þû)ýOûƒÿ~ÇA&ü…ÇЛã~é[’q¢!¤§Æ @xãöÿi†‰Oˆn¨Üå]À܆8!·ËÌ€Ûm²�–þ9? 4•$�™éß@dêÈ$¦Ç¢çòÒë™ÁýÍÛ¥?€°Æ%"duÙÛ�Q]A@RzŽŒ †(/9©ÀÓ¥™RºT5@HS%C@FêŒÄˆhtÙHèº  QUT­ #ž!6*Œt®ó�Â"^ads5�Ñ\~H@2ú³Œ`.E ËPeËP* •)ü}F(z_™\{�‘\? $r}äRy\ @êðÁHã:u.8!½ÎÈBg# '0’—܇ĸA¨>¡*< ¦ŒôÞ2B¸'&TW*æ"M èÅ1Ð_áÌ_í8ã×.äLÿ’Ù Ã×;Ç™½^ gôwCµIœÁß‚ ÊÜ5*qÆ>K‡“©_'† ý:2ó1"†3r@œ‰ë‰q~7 –ƒ*bqëÏr¦}5 ÃÖaÉ™µWqF­½Î™ôõ+È ¯=9ë4åŒYï-gÊ:ø9CÖAÇ™±:Έ¯= _— X%TœùjôçŒW#gº—½ 2ÜËÞ™íµ" £ÕàÈ™ìµF ƒ½|w¹j¯sÆz#7»®p†z™éµ2Òµ¡Á0J®èÝЬ»gœ×¯ ÓÔû¦.'œYŽ[ÿcÍâ8“¼4±È ©¢5<ë¿ÉÿþçŸÑÿ¬TùÕÿüyþÿ[>áÕÿ¨n,7¹Wâ­€$Y;%ï/BV’qWº› ˆ3ÚƒTRlƒKå_¨;ošQ<Õ‘/!”Ãé–ÆŒDùp‹IÂÕ8³=ïýO$^¾UEhŒSOÖ#¢’×~oÛÁ3:õ2µ½_eÛÃX¦x¥e-•bOs—Â'½G³LßÍA‚Á1Â;èØŒXËüžd3g÷º ˰ý°WûBúÇ´fšÒê{ËœNÌÝwî7i)|¿¤Ýaë?V‘*„K½Y’£ÿ‰Ž¨¿ M¨ƒjχ×T«s„˜0á—/:^ŒÖúk™Ó| éRÁñ³e¯ÛN œÃC¥¨;µÂ†DÄjêV²ùPÎ!ö<ÙÐhÍ Û>ë¤ìü‘6IŠf\{õ?t>Ã1¶jl·i6sj3¸rµÊ‡±^¥ÚþÙe“iJ·f÷/x2;r·í•}²õ_Úä*0õÝy®Èp&±Ç‘ç£ <¸ï{Y± ì@´‰½f 7ÒSUç·³PЄÞÑ1¿éñðJWÝqÀÒjŽx¿¹Z{8w7e ò.;­s«y‚:Ë‚²7¢è ,'×ÚŽ‚ÔmÙÑa¢³r'+Ó[ÁdVkv™ö]Ò™ˆâN>¹) ì¹[Ã#"7›m–dc9µ…àM\öˆ_˜.»‘]@m· Á…Í£äæ´„ú†g”#Øóë¥ÑO:;œâh³Y‡¹I´—µzÙ!º ?ñ$Sµ'¾•­¶ØÐ!KI²÷2/½î–ªµ˜’4«O·”d˜ÆD·„µTˆ·Ù¬Ègu;ÌO𒻿4MI§áÝ%H¼áL„öH$ÏhÅ»5Ñv½¸µ¡j¶¡æ”¥nÙI:3©cž%uód©ßª3 ªÄøZcÝ-UÜ’v(°çÓ fÜü{)Á\NR»‰mR²GírÖ´N/ŵu›üS ’†[Jõ vŽå2 hÎÑ¥\`GÎhMŸvákº./míô’/-Ädúa—Á&Æ«l>\‡ÓÎ8˜^¯Áâ$šk'b¨“ì®ë¤5vŠK¦¾­üìqÖ”¦”,;s¡Úàì8Üùà1`ÊÝ™ü‘Lt–t£TZj«;ÏÙÀ.Y ôàcKIM?×X¹ô·—†66sbž5M)EtfJk ˜õCâ[+Ö†ä͈^p·ì–¶ÎñÁ‹ˆ= ÛÏÈì3á–§MÚ–bì8à,[,7k•[Íüùü_ýü}øÿ¬ÿ©úŸ?õ¿ËOÎâ~6óG‘\�ò«X_Ý9ä_Z‰a¨ß€õ—ð¼p²;c"ùy øËÿ.‰—þ‡0ÚÙŸÁº J' Ω.wÆå"_`@~l€ÃAâªÍ`nõ?†^}@·j�m‹¬„aöåÎ|­z—¬EsõåÎÈ©Ç�†V³–ž…€}ô?rê.«¨ˆq²Á@.§ƒ2V« †ÄrŽÂœVa×A¿zP†½j¼«¢‘t•À„{©ÏÚªJ€1­RéÌŠ&‚Q¬:J1|½´;À­—܇«rFªÚÀUeGÀ¦j´Â TG!£ÑKˆª.!Œ?UíÄÀó2ã�âL2pjªcL™ .oû¤TÒ?G$ýsp¤šû�@ª» #ÇËñƒ!cPŽ?°¢hhHä?ïøC„<5Ú‚ ITt@‚jÇÂPä\fÊ©�ô‰÷£=…œéËñßIØ]ñˆNoÊrå‰7¢õ9iÒ�Ô¦Aášžã4“ ©ˆ‘‘™ ˆ�É.5!°˜Þ•ÂT§ô§„†]r›Þ’PÉ@ëòƒºÜÄ�­t\L%’Îã¤'6Ù@H"Ã'5þbÜ$’™ã44Þ�)© ’žØÁF²4P”5Þ@Ù4U^ÈÊ&i�þ¹bŸx~ö žÛ ¨ZÅ0Žžƒ›Ë¢ ¨æ Ì7—{{pŒê’�`.‹!F.jëÈré «Ü‚ ëkÅèäšL€%wô@8‘tà�AŒ@®¨èqÉ 9ôjØeð  þó§“¥ÿ?>ÿÿ¯FÿóÇÿó·|·þ'oo¾ "ûy6p‚žç¥×Wöl(ÞÜ:Ÿ×ýỽ c|ô6¬ÿ eºâùHã_æg….ÈŠ9í~·A/ô0Å;ôé=·³ÏЇþ‡®ëÕÿ|·OÖ y:öü…¾h߯ðu Ñÿ<ÒÖÿÄGYÍãïñf¯£õÑæ$¨yBÃÉ|{`xMKF±§wC9jçI²P pÇLjÌßW^šÇ9ÀlöÄj޽YpŸ¼ç͆ûņ ’ïÓ»#`Ãó—gï†#z×9+M” ü°Â[’g0oÍŠGÓ‚ å/'9¡RùÇüMx·St*˜„'„¯Ò&£>Öû™ê”l(P ½HGÿã¹Õªÿñ‡ª!¿]rô?þF¥ÆßxTI[”ú½ì©[;£ÿy‚ÂfñõÏCMT`ˆá0Úd»H}ÄM`´Gº²ÖÕo±ËÑÿx‰ÁfýÕ¯9¸rphsR˜nÔ<†b³ã×ØÝ¬Àøu囸‹ ¬æy®œռߨGÍãîÇfbª=†AµÎÁÍ&üŸc~È|PíïUóŒÚ?#{žáWXcô¨`¸Žë«i $'y%je z¿nTáO|l­ÿãs¡+ Î[¯b(‡ñ9ÚKfç­g ßh¾7°VêÕÿ„_mu•;«Æêªwk¥üÚ87}EŸ½æç2±Ë¶¯°TFý…$jH¢Ó¬ßö3"º¿xU~£ûªy°b~mh*^æ¿ÅÙ bƒú5ÇoyöZÓ°á•ù°ŽÉG¸Í²Œ_Ãg³-ižWïöSYÇäÃjço¸èSÛ¯tLõGÖh^ÿƒüêùñ¿ó«Ê®ÒaFk'µ†[úT¢U.½Ò–h¾±«·oúH"¶¾¶ÿSæÿÿý”þçÏûŸßòÁüýË£ÿQåI°†@zÊN»ä Ö—î`X3û7œês€ÜFºNÇ2¦ ©)‘Md¦J� 2¥“‰ýϰúû7—Òó§Ó1Âzô?—D†õ?—!Ô=Ò‡Œ .íÓH²Ó¥™Rº€ÔŠ…‘‘¹sÙžieu4�)‘ž‘Ïõ•|!ëjp®=€l® šëjdn»˜ØÊMfärifضVõ.@*×8BQi #“K™DrHäj�¹Œ‰€<n¹ëä+@ש³þghöP•ÅÝ@Hâú „bF×W€FÓ¸.Ýó®K2 ®™Éú‘b0Ð1Æ ‹™gþªáŒ_ï-gú—îþÝ�už)2úkÊê9(2øÛÿ§v3Æ8c¿(S¿å>”¡_êdæ×W‘ß Ð©ªéÙ¥ˆAæ­R.θ/ 2íKÿˆ [ï gÖ—BµÞ}Τ¯Š ún€–éÒÿßÀj'ùdÈw´Lê݃Œø:udÂW2àK˜„Ì÷&!ã½tHÈtµ3ÜËð ™í¥îAF{7´`1È`oAPÃ*%EÆzíLõ–ûP†ª3Š3ÓK˜„ŒôRæ ÕNæ Tggž— §Þ}Î4o¹O´ë g–ª©âŒòZ"‘I±úâ ²H€}Ö“ÿý¿FÿSz|ô?9üÉÿ~Ç'<úzÚ’§UTD¼0e\.Í\b}d«7a»}7ïæœP‚²[º:(º}ZB8›±W ¾ƒjѳ•Ðtð‘g²4Ô€H(ãŒ3&X”ÕùlllFדÜÕG¼Û¬ÞÉ!•„÷•þ‡ž·ŽhIÀûÁÈ3Öyà4¬dØ¿æ,XÝKl>-Åödìd§gv¾@ƒhU)'·ÿ˜“ƒ½OG/2§S{­Äj¾LÛm‰ /—êÚWÖf”•Õ¤ âDvÜæTpËkóí î·h‡Â&8Ñ{ýb9½©utgtö?2e§1d²e#öø3!œZw•4'—bvTî€wäk·TîÕù`Œ9ªxÕæ9N&Ó¶uò®fk4XÎVtüà~w%OÄwr.NkºÑ#˜íÊä˜Úí(ÌFI,(l¬íƒ ç· ¶=ωg¼cZrðy:Y²•&”íŸ%U&´9± VwJŒ5 Qœ8uvZìÅJ+ÖàÜùEõÌò†w káµ»w”C]ƒÜiN(e‰+᱌ö±d ÙtO™ 6 Á©mêõ”d/k“Á2f‘ùÝ•ü¤¯óܵ¢Ç×q2�³¿ÛãäŽÛÞ¬mK-xT³UÿÔÕm¸ÖljÓÇöŽ«—íï¶YA+sí—šbgÝZbè}QMV ¶RÎÖ?”'»â4 “i£FxtGðX›^�CÝá¥y u‹KñN^Xfœq~;5'0ZáÏО ñª¹E©a Žà<pbªÓK­I¹öÎÁYWA#ÞŠso¹K°â„Ƚí-ÞLZ¢î4»šK•–ƒ[ï(òï"åvÝ,~Yéq4Ít·®alzg›Í£¿’uò‰\lmt§%;Œ¸èÄB/VvcÅE #EqÙõúÐä6/É´'XÔf½ªÖØ{¸Ø|h×Ñ‚—l¿í"HOœ>¶5p£Ýè[޳@Œ[Ø:`vj§Ið¶ƒèkö»´äûst×µŸtòz¶ @""cêN¶¹)z™¬½íº“|”œV^Ëc¤)èÖ» Fg/nÿ†€•ÝÕæÒZov´m.1EänM7øvU+YÛµ_h½vVlOÒ%7ª6˜è»Î’rÓý(w{·¯âà¥NEÊtç_x¬ÛlØôBi\zÞÙ¨mþ1eù7­åˆæ\ŸÏrD½ÝòÅÞ#8!Òy¯í]ÙXœâT·st§1ë=í2÷~wÂ¥‚ÈÛ«FUz/ôİu6;†í©öøÕ^{ênyºvý×.ƒ“—5·œ®¹Oœƒ5·Lþ4pû'úü}øÿ«ÿ©_þ?Þÿü–PÅýlé˜ø0ä¯ý—­ Þ꟯3º¿IÖ ßžñ¼ð¥È«y]ÕÓ¡EK¶3fr~ ÖUwÃ(]œ$<W‡ÆåJg@®_a$~ûÿp!Ki�öRûÝ*LÚV±Ãlæ|­ÒÖjðÁˆZ;Ÿ¡t<Ç<:¨ý«ŽŒš…àòuG“¥; žñÅè"V›"†ÂªÓV£ ƾ—]@¯~ƒÑ®ê‡æ» ~_ê¶âus­üʪícXé¿^UƒÄ¨Uôg®ÊWN•x�ª:û02Us@RÕ70½$��¡—Ÿ Å¥'ÂØ£ƒ7…߀¦ у0åÎh)—r0¥60˜”Ÿ=(R÷`ø¨ü~Æê"€QîäAŠz †ˆÒaÊt; 0È©3Ôƒrr-Šˆƒÿäòï3/™xÀz’äÅ+¤Õ»Öiˆ#<7äìãTÚ�w+ŒÒ}ç�Ù’(Ô€Õ$n0HÓHÃèL4(–‰ñÍÁcjP vi"Ý~D”úK¨9˜K&ä[AG@Y2ݼ’A{p•Z9PÝ $ ) F ¡4\1vºýˆá$Ø0ZÊÐ0™T_ÄøHËF*|âäZ}~ ©z(É aðsÙõè¨ÜÑ/�ç¨Tó�œK� d“5€u&èžÆ2ž�b¦üƒñÎ9¨åÒ#®HP<8Es Pô+ŒL’6Ð Èâ²ÆXD¶·C —ôa‚S4¿ÁxCÆì:Ã0tš1²0þEô«¬KÈÄ8 B:ø 54l¸ÍÏ€d¦  ?Ëáö/¢É+ûÓÉÜÁÇçÿ?¢ÿÉÿ+Ôú'ÿÿŸð­ÿÙܯ'¡ÈZ¶2 T…†W·6¯a?²˜É1âQ#:»šé¥ Ãt& •Þ»¯Qa$…¥<­OKªe+oxQÙÊg×5íDøZÖŠWðPl¬µÄ¥A6óaüº§õúÝ>Ø3çi‡ñÛc`0Ycã…“ío—›ÄŽ`»;`~~#²`æÝÀ›G{“Ø0Ç_ÄZ9(ª “kC†˜åµ Êló!ü&zΪ ¤Ö‡¿Ï³¼Æ?ðÅñÞ"ûÁî'%w?Äç±"Sùìjôòo¥wö7F@2þn€v"k±ÉâÈø©üß½ÊTo’‡ùžlëú:^ ÞíTpºgçå•";ÙÄá7@ÉòÜה¯6ð7¼Ò+eö¾ñó%eèÿÈ–í¼Ò‚¾îR*•Bý¡*ê~l`%˳¡ÁÉ&€½wo¨Øð\`'7Ê5¢ÉwñÞÀJ–Ý¡”,kޏëP²¼f üÜð¹ ?QwL¨L¼$o÷úf3EïAi+åñü!ÞÚJäÌ”Ùo*6©Õn8!©|5Bž¾ëßb¿‘ñ:ü‰G¹°^äq*(»øh2«?Ö5:¹Qe§÷2«?>6êãuÄZ)1rKDòQ<F˜Ÿ:õÇsåGýñ|cÖùÚ6W:~Mš=gâ×nÛ/6°Sγ!g…WTýá¼ö2ükì“ábóŠÕïÚ]ëy»•f­Eý[¸[ø}õ>7[¯|MšÒðØmEb›~V¬,Ä[Ñ£½>‡k1Wt™¶CF!Q\í“@×èÁ 9ö»†¶S +*}<áVÀÆGÞÏ7œò«F6°Õém*¿¼éÒê·Ï¨Z3 ÷£"]k>÷ç�öcCƒ…+'ËßXÛ/6ðËë $ ú-‡ƒ>¯`[âW^1’V}®2yohô|áYOê¤Ç%} §‹šô°j¤dGÈ.Ô¾™XyXÅÒ?<ÿÿ›øï‡ô?éÿó·|0ÚÂ_ÿ’õ?³ˆX…ßTKBzMeñ(@âoÂvMT�uM €æºð› ë{„!Îþ>×éFØÎךPªÓš(C�ÐnÿbK‹ž€Lÿ»þ&�¦þ �^ª+àºLt�´”'Î�ëÚÀên @uIu�¤ô$@! �N—C�“ÑÿˆF�é¶ûaÍŒ6 R+B×A€®�£ÿÙ€gÊýf s7ÀwGøê læíÿ³ºìÁH¦^"3‚0Uu7À.]0À,Ú…ŒUîÞC l¢C…1ɱÏXär¹¾ìq7@3£ À×y�c\ ÀC¦cŠKC,1õ<€!®`íSÆ :o+¨èŒ1B“c08h·ÿÏFMMt�ºø»0¸BÈÿÏrNÞ¯ÓƒóýËCyþå2ÄZ•t香œÏß ”Ç«?çï:Ö9o¿¯ß Ъ虲VE÷@^® œë€á<\OŒóï»jmHì™#ÑkU8¿¾T5È«¯¯°VEƒ(òh£ª´2JΛuVr¾</C Ê“u"s~ÜEEÂyqSqâv ‚(n·ÿϾ­«prߪò$½ª˜âd÷R„FÞC¾‚äV'µ×"‚döj@«‚BN^¯=´Þ ”z^¿‚$õ:1$§W’Ò»¦Û¥CBª™“OÈœtN¹•œl^E’ÙÔ‡Ùe“¯pZ™¥áYÿMþ÷¿üŒþ'ç×ÿ'Ç?ùßïø¯ÿÁ+Õé̸Pn–é™à\OFcÓËh ^¿Íá]>Èâa­Ž—¾ºÒC\a…4ŽÛQ»pý¢¡x",ÅÞ¬I˜(õé(’sÀÖbZ½Ç~"Iöl¯r¿ŽßT]ô˜@#ÁZ ìêÃû$[t¬ê?Iå+m£Gë¬ìï6<KïÁò_c£wÛ)$wï:(Ÿ¥9õÒDÁ¯R«k¨éTD)àî¯�iÛ#žAèYÒx§ëï÷ºÓô wÞ²˜KâW²Îå§€qµu‚¦ô§·Yi×=vV\•ä¤ilw»áØëšD•Øö*–gð¢y᫟ xàмûODM·<­UÁ®œL,€â¬2„63X‹\Pm³¸û¾Ò&šnÙk¸¬Ù µvÿFëê¾–Ý#+ ¬ëÓ®½ Nœ›å6Y#8}Ѻ]Ä(™ÖÅiçH•¬4œà&¢Öõ#¸a×éRœŽ(ãµÔŽ·]@nNá±¥ûÄIv<³ñáJm-[¿ô„ÂÈNæ¶™Ó¬FœÑ`ŽÍ°*„Ít óqRÅ-tF ³²¸Ê5Gq êHO×t²ýY·EÍÏÓöç.øðØ5º^§g[8uj«;Ÿ5¨ÿQ“VÛ×tÇq<ãòŒ;R'‰亴Ú>š·/šxdÙœ®lã)`5{_Â#ôÁpvúì‡J»W¦íÝ5fòÇEfP;†gÑSi÷M@4ÇÞ$½ýlÂz¯T<oÎÕ®>k<à²í4[W‹ÙggÓÀ —Ñ­ÚŠÉbÝ;ÔìnÞ]iNŠõŽá9ºbÇtkªùiÅHkÐâøÝ²çã¦Ò=vvD-Á~Æ9·m’Çݵ‚sýg+5Y IÆZhÓ=˜÷_ÝÙÌìIMc(ÙìfóÐöŽ3YTÚÀšæžÛ?CÂU¢>—ΕâÝS½Ôê.ZØîÁj;R/4*§³êJx0¹(¹¶ÏF;V§ΡÀŽÈù6®¹ƳWçD¹ØŠLÑ'lÁòº—¤‚Ö’S0¬¼±diëêì¬jЖV§áË\f˧Xy`|׿õvdtº`‹Õüí²-t{]ê²iÞŠÝYÒ@ýñ⤡¹!ƒÙILá|Øœ¢oEPP?]?”Va\ÊÛ ÅÈ4lª°–¤Í-I¡¾Ek˜¸ZVÆj—ŒÀ¯å³æ•_ð'gd¹`2ñ«KA8¦ j.%[KîºÖÊŠo—¢¬“:lVw>“=Úð³2®ˆTÙö炈†£Zв2ÙBK¤•ÿ4ºú¯ÿó÷áÿ¬þg{óúŸþÿÿ–ž%EzX—¡Ÿò‹“c}¡û3ÈWåËã•L)‚z…Pl—ÝÈ ‹š¼lgè.hÆìµe°.î%‘Qº*wž«`ˆq¹ª+Áž‘¸�Çœƒ½³êƒ@(W!FÛQ÷óÔÕ–àkñ…8ÀZ„Q«0‡¡´tîÁÐJŽg𜴨9 'Ÿá²Ê'K2@ž²c!Ë3"V‡†ÂjõÃXÙôŒ}…w}@oC0ÚUÑÃ\ý ã[Ñ„`+2F´±ÉØd(+=z0¬ÕxUN>£V¡à3\U ÃÁ©*Ía€ªìwF¦rÐIÕƒˆ±¨Ü7¡jsuЧž`çå<ÂxS÷` ©ÒF˜rbZбcÊØ•S Cå{Œ"e¤3|TÕÚÁ*�bÀ(CŸ‘âõ†ˆ"å:ØP}‹Š®á A1€90P”#W\„_æbI÷í`¬'çÇ ï’|ÑŸ.Š ‚u²™ñœzÈÉ©2‚!C7ÑÍ0fS7 k2EJ±Äg2ô.SI2Õ1S¿ Æ@*?d쥡“A—Üȃ¶Ô(Œa–œúÁW:°5ÓAT”5ÕÁP<É;¨IBÁKú+Œ“ôL éÌ2º,†‰æ“±PR¿ € ¢! ¥‰ÅüæÀ¹OïÜ‚ž„RC§ŽÊgÚ¨D‘18.0#{PLÒ�4ø‰æi`Ü¢#š‹j~©¨‡!Ь5›„+Þ Þ‚40Q™Ãµþuq‡KÞ{p€†Ìòƒ0Dìu Å­à_c ÀÄ¥àŠP$ÃéÆ :ûíŸÿÿ„þg%š¯þçOþÿ[>áÕÿ„ÍHu¼ÌHï"†§'Æúí ” z,&bÍŠ“VV‘—ª÷íì.ä JŸšŠ‚Ô=¸‚ðDEëµYï®(œV¥ñìQM4ªÿÜ;U#ÓæN4²^³=v'¶Ø#.T͹÷ w`ï•‘›ƒÀHô9ö¬ÄzXyÍp÷ä‡êÔ:µœ[´T÷MOÛL!ˆþïö_Irüe>6°¿Œ§uǽú~~#×_(o Þê¬�a¥c»º -\_²Ÿo%T…úݰ{@4g)ÙÃîõêáWØ-f$KƒXhîw; 8JÊ®v®ãƒ»I“õJZ} Wu^èÚéíÔ½–’ŸPã¹fgLŠLJkv¤ J?æLB̓>²›ñ9ìè=׎Î9ÚëMxDøPëSAAçÕ±ö8R¥<aTBPW{£ŽÜÂD»£¤¼÷᮫ƒ¿æ…3©SÉåÛ«vÅïù PÖJvꦉÊ-×jÛAO[wÁJAUTž19íH ümA@g/³#?ÕIJð(a!ûbõ:‰ øŠDÎU'Qþüj13E‰Ö\„Fùä´lÈÍu–s±÷1£˜òŒ2óÔü}Ï…“ýøÜ)ù?ë öüÑ¡žñ™;=e¸ëêmßðÞ›“¤¢úò©3K<¼”#Oz45c³„ÿ•Õït}7§9 ”ëŽ<ýÊš?%¸éðô¤Þˆ= Í=ÔîÇyIô˜ïYôJ¦¬xsÎìïæFí©d+)ôüª·ì>xUR±cWyJ_Ñx ú©¸* Ï»^¿Ö€PMPÌûØÐ :|tG#²èÐc´ö­;šxVóÈOݶ×ò&àÒdžÖ>—´5°Áç=+ÊÑSÏgª >«?àš¯ôÄe“±í72ª„<9Ô‚býkåª8™'BVðŠÖtf;•¦æ‘j¥b ÏL¬ ïþÌiw¼µÐãŽÌ}fkJ¶Ö´»•¥Úÿ=ÿARÞ©Õù{Ò¬ŠwÜfÏÚ¾°äÆÞ×›tê§3üÿüço⿟ÒÿüÁ¿åƒ©èéÈž¿UL@�ùšPþõÔjOMC€íÔ˘îúþAbÝ w±Ì »µqÎÜç#Zk¢â�LSeðYå €Y•ß"Sý X¯`°*Ú€/ý>PWË*÷!¸ÕTÌœu¹p�VW…PôÚ ª»~7Bègeüœ2ˆéóv³‘ $«ÿ±’! "µba$tyÝ „|¦Ðõñô:¥ Nº>cJp¸ÀMSï š–µàŒÑÿìU¶E‘êpmZNoÃA.:p²4¹À*-di ÒÊ9uF'*p`XÒò5ÚI3#ÓƒgÐ�B‹)7ôhâ(ŘC…8 6Z=c˜QÆõ+€MÄŒ+šúPЪæá^8{ÌÒ@¢©°CË]44…Œt²0L¸Ô}À:]Tõî"PIC/Œ´“9ù×{ËY+N÷õÞržOÉ7P‚ßDdÅ™ýu-¬Ui çò]tœÄëãì]ÅŽœ¶ë}á|½m D]ãgè×A‘šk„ãœ\C'ãMeGÈÂUDÃé÷Ð_AÚ}I—n_ H³/ÉÒëK2„´ún tú’!¾ö@ú|5 mÖ(Åéò廃4ùn ôXÏ”Ób]B8Ö Äi°š¶qú;U2„´W—Nw5lqž«³’\½sœÙê|á”Vç²×Hbu¾pöÚT̃´UCç«×y Q½å>”¡êøàÔTÇÇÉIÃß§ÿù_FÿûÍÿÉÐÿ”?ùßïøOžŽì'],Ós;ëüõÁƒÅ÷Ñ\exT/,ÉJz à©{Ö È„®*ã·óÉÊ>:ê ï2±wóH/׳Õô€ÿS£Õ:¬äÈAëKÑ¶Ï ¢„%ZÆØQ͸{­ÄÅW–ÁF²D×}`ðª›ÕôTTá,Ó;ýD¢ãdœEs^*q@\”¼ƒÂd¶×ЄÀÄ"Ës_ØŸ5Iî~Gz€r.OÛÉ”â4C™’ˆ•Ö:ÞsCÅó»5ÓS¢œ-¿9­U\%[¥>uP(V»åm/ø¿Ï¿;­É)µT½÷M ¤qõ›o¨(-A8oõÕþ«[‰[N0õð|úu›èº‚³ZÊ%gheœ7P…USŽv”çJÕI÷]°çÓÆ›3YÉ:’kió€EqLy z¸5Ü0\X ŸG1ÝO|ÍÝmÑÒÔW˜hr9s‚/ˆßìå–ÜÁ4ë–7\Ö‡8XÝ*+Vg¢¢ªçOW"q¥T¬Ä«¬YJ陣swõó7eÀÛ¦V«6(³ 8³£y/ä •€sfªÆuº€éYÖæ`9vá‡õN¸ƒGŽ-Ú»¸Î¶dsO§_;“1í•Ëd»ˆº54yƒtu nºë^H4@ÓìÃNê:&DÕ.)uâ%<T¯�ÿôæŒßŽkþ,Tèwå»NQ€N¹X9O¢D+²Óö5ý6ˆKkØqѨPsœÃõÓ>hJÑj_ØA³[éKï4xz¶ªËAþT\ßMê³”“_*ØjYb•­w{+wEèýs3ØxµvÈÖ¶—²gPZ׿f*rœ¼¾hA%ÒÂÖáºÀÌ‚Þ6þD�Ø8ýïNJ¡Spë×®$©ä¶Ó†®ÃHØÅÉ´•ÊÔùn]HsN'PXë"N£– ½GM[ÐcÚw…rêg‡ôüëpÁ­;@5ç¹¶V¯=·öرëÚlpæ‹vÝÌ=q‚‚ìÌ›ª÷¸I™*·7³IN÷žq¥Sió ÛM{¥ó_y››(­Óyºõ…½Õš Y»\5±‹ÛÕ9Åìt�“m«!ÞXŒú´ æšÞRzu®8ë†Ð¸v<—]Ãb¿Ûþ/•0ZÚ¯6P%ÿ´9Ò¦½Ó|Yãß^ïæÈq?ØoÒ#&º•ªç¤èúy¡ur¢â‚êÚžæ‘Ósåë”ZpK�JÅjÏ×Á¦y”³¡*çÌÏ0:<õ¼@‡Ætón×Ȧù•§ õ”ÿ¬ùeµ§? þ»ÿü}øÿ«ÿYÁÎãÿ?þ?¿éƒ‡Kñ/zAìDÿįtm–U« ƒR 5Ç p?…ž[Ùý’ÿf4/^ ãEÂø]D Ü/» ö § ¨®î>ŒÑ/ö<À¹ê¶êWŽ_‚ºË�\ÎsCJâ [¸Íj«+cl¡×p-R«ƒª…æà´œ(ãhñÕ9øYÉÀYÎó fU1T¾€‘…/}À±ô9£b¹4FÃâÌpP°ø¹ø«Rà^ 1ÞU£ º—¹® sÚªt˜Ví5̪a£Xê0|UÅ pë,ò7ðªÐõPU'F¨êõÃÐTYñŒIeè0]©ö„BE÷uà§Fî”»z�§ éƒ4åZÄ]ÜÁ–¢+`P)£ƒ&Ep`äeäü(²‚/# F%ã3TTacDÑŽp(ò³ƒ ¥á èœä?¯H…g|C.x('3ØSÇByQ†1àšä�×Å~Î]=]ÊHN¤€pQF°Ûå÷Å MUƒŒÖTùÃ0MÅ–Àgª–d`¦º0Fd±KÜa(¦¿ ¦*¸¾dÀ1êR- íµÃÁYçii€%q•Jp�©.“0`©Ø$¼1ˆRõ—æ§›DþÁxIï ¥xI D,t ‘,IÀ;`(_ƒ‚»**Ã7 >À=*Ûélà%‘ŽêbqT-t°MÑhÓù!Þi`4sGºŒ.‹ñKÑ൬ŒXt|¨¢? Œ¢§ÎàDÁ $6i�¹ô{ Cäæç~‰é²TiÄqé€jè1€1.+€‹Øe  *?ΡSeˆýtõÏöãóÿñÿYÿÿÑÿüÉÿË'|ûÿ„VmÅvöÿy*¹G(t^§ [9ºeI&èŸëJ5Çg;»šùöà0à}G lƒŸöXÞ-Ï~×òüëC vÙ.8šÌï6,í§C´ ?¾0Xi¯ÉÅ€õöÛ^Ñžc5ÇŸ¼¿WHMØ =ÇÙPéÂB°Ž‘í=W·ù¯/·Ÿˆ‡]¯çMâoÔädaǨžòàòšm€fpž7¹æOæöf·Ñ…‡f­6Ë-~ ±z7@s´¶ {¨µœÐ îÁ‰u ƒûØÐõÎ*¥»ýùçnböø¼ƒëïñÙíï<ž;ÈÕ³¿äxœjûQ»Kƒåîe2ûÝ××îêÚ¿ØÀßðO»Úög_íw7õ3vT–Ûe1ì¡ R‡XœoEÞàúj—þ¦ ©Y}Ê®µL}õH» y#®]­;}ÝÁÔñ÷7ª}½8~åO4ñªíc¬fXφ]¾!úg€\½Þ>»dÿK¡Ð›³¬Ó?%9lx\tc!F§ ð—MÙ†á…þñˆá9«~µ¡â‰Œïݵ2ôOÝßVýsFmF"-^’V=î3Û wpÚ—;j;¼8àƒô1ò@Ñ÷g€AÒs'û ùY»Ö¾ñ©Ã,}¼«QÃsݨaCF‰ì8ô¬¯ OÚži°«”§¯‘¸«•£¯œ=Ì®Zþ�JaÇ¡w|m·™´=«ÊOcq×Á¯ÒŸQ²9¦�Φ48?QtÅlð7ªt<'Ø’<{?Fd˽:݆†J±~:—Ù•çÙ�ïØ§KVþ®<Þ|'€aó~#»ïüQ™iW‡ó"¢Œ5ÊK^ ~^ÙQŽ\ÅÉÅÄ]U}üõeðSðdkÝ,Ÿ™ÌÊаlûiP+ï¾îB 8ùcÛõ<}ÕÙs¼9´]•yÓ¿íç[Ÿ ë®Òþ)5[Pº†¯Y»xÒ­NÓ¹Ù›mS¨§ÕÎþSæÿÿý”þ'ýÁ¿ãƒÑè) J<ˆÀú±A�Ò»üMáK� ˆîú›œþ §®,@nú7[¿õ?ù–¨�¡˜™©‹™Ö�‰©ýØõ7¥Àcœ¿¸Æ¥ÿ!ÿ ÙŸ–šµ0²Ò3bDuÙý�I]&:@PS¨åÇÿ'ÅÃñÿQ %«ÿÙ'*rFF—Tˆèn€†H¨öŒ€†Š›€|®†î÷�ÒÂyg„£ÆÈæê1 šëòd´ÇÁÜ"3B.zW±\Î<@*zbŒPîÞãÒÿTs-ŒD®± ¢FzêŒ8îì!zF—@®±‡4�Qh1’¸ŽqØð.C@ w!…1D¼„pOLBzêŒÔV†‘Àåîpùî óW³Îø/—!dúׯ ÿPBB•Š´n¦j„ ^ï gî*^áŒ]ûƒ3õëÄ¡«F„3óëÄ‘_=†L\G!gà—¼™·úqÆ­^5œi_ñ¶άõÎqF­^5œIëÀå ún Ìy¤#<áŒÙè¨Az3äËv™±ÎJΈµƒ8ü%œ Xcg¾z8ã½(ÓÕSç ÷ræAf{íÙ»G–d²ƒ8ƒÕ.äÌõR!cÕ9Ç™êuPd¨:è83½‘êpàLô² Bz7À»G¯ç%gšº¾q†y:2KüœQê(äLRÍÑ8ƒ,²F=ë¿Éÿþ·ŸÑÿ”˜ÿŸôçùÿoù„Çÿ‡ÞŒ˜^`?4XzÚ^³sA™Ø¬H¡~¾äü'2¬‚µXAˆH}F"#µµR†»yàA×K 2ØZ—ceV9X×€Íèµ¼SQÄãpãJb*…X9–¤»âX!ÀvËÖCᬫì*Ãû,ötí$×î zªùçjùý» ÷_ÉЬ¼ VÉÓêâ<$ébIÌž|lQ“%OsEå’,ÉxW'ޘݵ¦Ét$ï’èk´© ˆÌ’íþ=ʈã2œ¸ˆÙÑ©;ã¸dÇÍþ¶í”ñnÓ8s_Ò[;»óÉĹ+‹wf [w²ÿr‚µœ@ [Ý`ꥵ69ñ %ZeÃöAÜ¿›]?ä•AÐ}ñ¤ð†’ÓµY±SfgžìT2y Š ´äWûüîÿܡɸʶÊÚûOÛo+‘¡'h>Z”Œr»Ò©i/èø‘­hª äÃêKâ/~š·»t2“jÌšWô²°'çò€ú k0:YÐ$Ú,»L"•o)¼éþ…k¹"kpx™Ù™*$ðÕrk®¢À›‹à „á¸Öü¬^„<Ãø[yœå„7TM\£ÝrÈ,qR·a©vT€^Ýi9áƒýĪû݉¸6‚ K ÁÈi"£èÁ¨t–;±ÃÁä 0êÎÀ‚ƒí9BûÁ­a"ô– Ø¡3éÎU£á³×ŒöB¿5³ÕÒáùBŽÃ®¯ƒª;´bg¯‰KròÏwD_ÝYÃ-´¹NÅùñíŠQTÊ Ûu-áÙjóp™jg¬ðm'ö.*M ̰#z-ôôÞjÜ›ö–èÀ+ñ´Ç鉉<Vµ³ú„¦ÖZßìåbâíÓ±jž�ºmö>â¡xsv+ÓПÎfÛžìxíðVËR®áí WDÙºâ«S©v8T•dϳÁ7§;•ÞY´à9ÕT(P¾â™ýÝI•RÊ6!ص`Àðs꜅5w¿MçÖ´q< «àŽ“ˆÛ¹Mì‚‘0÷6ô0íd³ ý¶CØ.òo¤BÆ͹ðäŠ@Ö½QÃoÎ4iÝn 4Ý» Ü–:Øi¢@s¹áZ¿Ÿ4›î-´±wÌ!XQî6 Ø¥…Ü(,ip=n{šeÅgŠPN^J…¿Ü´an[IWŒ~û³ Ý8V«tðšK¶�x«v/Ã{Ei{¹“D~+˲ªÖÀNMÙj£Öâÿ=—ož3¥.Ü\@Ðí(Ü”À}žëtÍyÖJn +«´zÊÚðÞ³V닸ú‹îwÏV Yd½©»õt’IV Áj´[(Ó»ÿOC±ùü}øÿìÿSü¿ïüÿ;>x0éa% —ÿ^8 ­›5�g;ƒ|!SÝ ¹˜Q½ê€EÉÀ8^(Ï àE@ÀÈ]N‡!»ø“DÆê—ü‡Ms”dOè\ ó ËÕÿ‡ñ¸:ó0W#p%î3ôVC`nѬ­2%ÙÆíoŽOÃ1*’=O+çž´\üAТÔ9ÐYÁ˜Y΃Á²è³$ßf?Qô40*Veà°°Ö V-ã_J0ð²^Uê0ÒUŠ>C\݃±­Úd0¨Õ_e4«Â´éúâàW1j9ÀU¥:ŒXUÝÃPU.£Š€Áé%*a«ŸsæŒF• Ï(Tz‡áçqƒw*a€SÕŒ4Eèr¦Œ­-Å¢æ`ÊKìC9˜NÓC£ò=£ÇÛć-'¥ð¢*ý€UFÀøðRú�j,`D(Ý}E!€@õ·éÅÎ À>ÑA0Þ“0Á@OQáMÑOa¬È|fH'³„±œt(@\’˜ô&Ò…yؽ”¯]ª�µ85JBÓ’ÍÔ¿˜L-I“P˜:1ü’þ=¸K]Êp‰¾‘Ö¥Ñaˆ¥áž±•LšªÔƒŒÑ”JFÉÐ9øIe= œ.S2 &•1TRa#c$u8Š]8ŒŠÔtŒáÐ- ¢¨u¹AÜ&3é õëaÈ#—ÏX']#@ŽŒ¼ƒn.ábwfhŒg²†.ôˆ÷‚ÑHÅÐE´lŒY’ˆ6¬hÐ`”5”ž¨ãpÉe9Æ€DÕŒDtV1QÇÆÌtˆÞцªäf¨à Õ62®P)#ŠÛè² Ä¥Xbì ZF ê#´ Ñ (A5NȵþtŠöýøüÿGüê‡þ§ýÉÿÇ'¼úz+Ÿ»ÕP=ž§Æ;8a3KŽ<âŸÔ›®pbÃ⟲U!d¢„­@b½ =€àÆ\Í„±l Ë•òž‹5JÃøØŽîæ…!vŽ;‚¥\²ù¿~6ÿñVAh^}Esó“ƒÈ^5jÉôØ,õt¢×C0Ù­.l¾erëgݽ’{7¬t…ˆÀ9Y³‰ã�ô~ƒ€lKö‰ÓÈgCf5ŽçFŸ:־ܿ”³v†+›Õ…y´õþ·iu 6Æcÿ³ÛçºÁö‡øa…Ü`ïvÀ«N\°uÛl]ÿÈd-櫓ánœRâ ý7uÆöé ;êeºýg%f×ã0ÃE¦W›°àãu‘ ^בXðñLÈ´8Ú¬íÊ.©]ˆ él‡2\¡[õÖ.°=?lWäï-P%ô:ò).íDn÷Gñí—M¾‹pC™â»¯³pÃy.ʽ]VA°‹sƒaúmôX*Í@íÞŸkWì¦k›Î‚&°ï­ËíÞ¸8¯|‰xóÿ±}D½š#ïWK}ø3œGÿ˜œÉ4øõÑÉDo{ü¢vÕï}qÞŸiûç¯A¹c~ýÞоW•Ü€wâº&öõëJ¬õÝÑéž=±!5¯« ß>s4£zÍë¢4©ÔøZ^쪳V4"{—¬ÈØøqÛÕÅ÷PònI»Èøž†‹O¢*/Ï4) ä·˜š]a3`ÌlwòO­BA¼É­y¼‚~éÄ45²ÒM·R„φýÄdž† +šÙsêñ[¹ë—§Ï 96¢vCã þ€øc=*Xj°Ê‘yƒ·ê TŽá5®‰ô‚ÿ±¢ÚÕÏéiP±ƒiA߃¬z‘K¢ý{œˆgà±nÛ•ÑÇuÕ.+š?Ù®“ž?¸].½XU˜æöé?J©¼ÇA õ'7;F@£f×NZ_£!®‘üÚ.ÁoBïøC5 ö¶4©ZäÌÑj�7ërí¿‚€úüt®ÿõù›øï§ô?ùþûD¹@OBvœ"ûúO]€õº˜·°þG¬�îFZ=ô?"Ô�˜ë¢ŠkBÄ|» ·Uq`kÂôR£RLø›ýÎ÷ÙÿG4.�eµf<И:‡�†U¡J)ý¸kÜþHÄh㬫øJ%EÇÿG÷`ÿÕÌ�G] ÀO—º¸I­%0©i #¥®g „ÔäÒuõî&jªeºÜŸ€‚ÚíÿCV=¢×bÜSoý5\rB:uˆ¸ ç²·¶é"Ö`Ps2€™»@ŒJS¼èÀcÐ2Õ»`¥©©PÊe;x¢¦1ŒK.C �âÛs!‘kv Ug@KÝÞ£êTÄf£" `ˆÑƒ6ÀÿGÝŽ�*Ô…ŠÑ„ZÓ0ŒPÇKfØp7Pò¯Ò† —™àš×0.¸|w�Ô†‰‘€$1Ð[É©ÿÝÐlŒáT_õrœâ_Q©½ `8¥×¡Í¹üe„$^G!gï—¹Òv5œ¯«a'êjmźzqj~™ù '×Ãɸº.q®™³ï~ÙýPÖ}¹ !Ýnª!Bž­cŒóë«yõÝ@ùôƒ$Σ/éòç«y³jª8_¾ö@ž|7Pĺ0È‹/ïä×#aunâ X-¥8õ­·þ‡T!„dW½¿8ËÕ‘Ìéí媃¼Vã'´×y “½Î)ìõöÿ‘tüÄ•‹³ÕËCiêe„ô´ë‰!/½ (!í—G2ÑpæÜ³þ›üïÿýOÎéÑÿäð'ÿûŸàõ?ƒê³‡áêþƒ©;¦#ÚR|Þ{ñnÎe‚.êô…½Ídéö5ïµjOK²m¤ºH›f~7wöžpœÐAËà:AËmGÝ–”§%O‚´›‰c¯2p•{çðÁÐYçݽþ§îhåÛ¾†˜ð®šúöó%BÇtº£JTÄ”²eœnFÓþ«¶äÚÉ5:Åá\:Qv¶þÁñªñj`”àÚéÅMÊÃ2ZWÇìÛ¿5¾æ¾&q°Â®”ÈVh+#¬°&£Jñ¬–`›ÖÚ7àþ`·RpNÁ¹Z¬a6Á uB¥ h–á™ø¹ØþIkPEÐnMCVŠ´#|*Î0%"<çuŸ½�hRŠéôB‰žˆ¬nÉý›µ/·::ý¦CîîhÛÌŠêÕñ¡1ˆÒÊ=,»c¼öá]~"­AêÍPÓuLÇÏžô°7q¥m·D­Lb¥4ƒô3Ýñ§\ºóÙ¤*Thu¶:e¤Z°A§°YApæZ+Ç!óŠÐìùTVIÛuË´ró\Ùµs Z7Šú?ظ Þ$ÜqA°®QHÃÓI:¶¹'[øŒT€6;eãæ`‘bä5m È8œaÛÑ0ïVΰ²cò©IΔmA&êŸ Mû�«ht«ƒZÌUF°4þ•Nìù¿î—%\oú¦ŸW" £9Ëàe>ÞG©»ØQ×MYÔ\ <]S‡VøšLáÞ¹o¸´l&×ß4ì\TlôœrÃYsõ¾‡E®«‰B•D´bgðD%ê 3zӳ˜Óâ=l– W Nv ji/<ŹwwÃÖá)2Œn/u—–¦çnì°'jݹÿ°¿Xîž²îv?‚575`¡xÜ|•“Ùzb¯ç¡7<\GZÛÓ ݳªfÐÌðÈè^wÀkZ‰³ÓóŠÌÝ)à6b'JW¶J·5tiñ¾aëtˆþW] NÅGt£xBY¬²oaiÊOV÷x=ÏŽ0=Ù4a³ÙvœÍÉpgô‡É\ËôšTÄÙÌqt7Ù:Á›è–µŠwA^´¶kfCÝå–µAMŸÖ#'׬ðÜr„å”o‚Îæ€ÂÖµYä~¾ÐöégB LjÖT²A!±9›7Ë„Á¶3]u J]·äVŠrj={•*Â\ùk³«]/t·{¶"½2ž²7#›Ô°’–âä¨d–·2+J_k&ä¢Þ½,bY©ÓžÏæ)€ójJ¸­«¶í%{u«K-´Lôn'õN^'õ³“¯®~ ã4çj7ˆ’³­£¬,h›±LdÆ¥à0‹í·ŸFVÿ<>þÿëbyõ?ñþÿ<\ŠûÙІÌ_¨ïÀúZéŸA¾ê€î/k�¢ÔŠð|l‡—Ì@^ÈÐŒà…ùè®NÀì—»ƒu•ó°ŽF}8�ÏÕXààreÎ3 ÏBÇWrùà¢?aì­æt«2‰Ñ¶þ `öeªÁøZÅ9Þ „õeÌÁPZ„Œ¡//€ç(¾85 [úÀeQÊœ¬¾C�Èz FƪQaHœä Œ…E®p@°Œƒƒ~¥ö*i[ê]ÈÐÐU ƒp…]ÎÐ6N9(cZ> f•×}Pl9ׯð5ŠêàV9¬×1©*žÝ-¤Ã›ê0ePªãþ Qåã†Þ2àOQZ0ðÔ_aÄ©ÄPS-EÆáÀ—2€ªAÃIUž0ŽÔS?�R¿ÂÈQÕC€Œjs°¢œÇ‰üç€ E_È€PäŒÕ‰P]~ ÌI@ŸØ™1Øå £<‰ ïdü�×霠SåœèÔ„“ã즒mrˆƒÖd@˜&šÈƒÏ¤¿0»•>(µ"Á‡¡˜˜1Ó(ÀàKôDuIϸ%1ïà,Q€¥*FV¢Ý8êòüA¯–f ¢ôg=IØ$÷èà%ÕË0PR•’LØT×L¤’DÆB·Î'Ò³@m ô£…aˆ¾ÞQ‰"U1ÂQ%C›KçL“48˜I«ÅH_ø¢æaŒ[´‹(§RQÑC”¨sØäÒ(”ˆ@“ÑÈð�C®Èü!ÞNw¨¬‡‡ FFçCb"‰3Œ-d4P¡eŒ&²Æ*ÀU1~ˆš�Dì÷Ó¹ØO||þÿ#ú}ÿ§úŸ?ü¯ßò ¯þg¿c®Î$¿¼v^ì¬�à˜îBq§ÄITzGΧг|dÒW÷I‰£6*ûü= ª?'_¦jQõB˜«™.o®ü×ì½"Büë£n|ã'*¾½³ÇŽ·Bà'x„ôÉÇ`Ç™ýg$@ã«}SöhCOYÏ„ß5ºä\nUY^•Ì:Dÿ`žïÂÕóã¾ìúÕ_7}—±ž7l¿³ˆD=²<òMj#ŽR NåCÙÌLsº‘IŧW¶Gý“ˆAdõ›ð¶ÐZ—Ê• = Pîým¿A•ö©7®}èÍvªE÷Ø“‘77n~ ºózîcÃñoq£}sæò×ÝßܹM§êÅRÔ7…®}ÈÝJÁ½;£pspf()£:sVü± úS|XàÊvä Î)¨¢¨s.vÐmÎ]ù`Šoê1Ň“ò4â×õ–­óMB=2ˆýƘrNú•èp^Ô²ÙyõcPo’Þ2·íbç:‘ñÆmÌ^]¤Dýg¼H¾Ú#Ñâ \ŽÄŽ{TY++¤²r‚‰…6¾CqŽˆÅî¾çL,ºG™°sèú¡È\ú¹ÞJYë:¾U›¬T›jð?+FCAj?Þ2*W¿¢¥NÙ磔X‰ú°£w»~åAžä>é³ß¸¸µ—ïdÔ¸~úg­apyñÊ®»¼x_˜›æ€êî÷6sù0ðùÕ†_˜¹”ŒüúQ¬lÚ!Eœ«]‹A?|î³{uvJ›ŒX?îÛá$úÅfSãg;Qþ^p§g&ëî[ÓÁÍWl4¿‹=Î §×GX”5k}·Ç™Õ÷Ýâ´PÑ–Hˆ¨‰äο®˜ÿ5?j¤Ç«Ï¸ÛOööx¬ÑŽÓµfï‰ôôÿ¶iÝó Ñ¸Ú¡Ty•8¹AAã•5%Žñ¡Ò¬…l`çÈUÏü\šÖÚ:?3«zìÕ?¬z LìÁ]s‡‘ó#A]KÙüLU%Zs¼Z™Ôå_“¹"ã|ä›+TSðõí+iÜ7mÍu»hýtfÿ÷}þ&þû)ýOùƒÿ~Çëp $ô€ó’³ìá®ú`½&Tb€<Õë�Ý5ª�Öµ(D|ÂsMôA�rJ€‚kE8ÔݪHA€Ùº8ã�¬©ÅBãÇNço€3µ‚�(S:ÀØtúõ_øÐÿ c¢°5…}Í Kµ ®†PËT]2 )U 0ŒÒ^aüÔný5H?1bjÂg¨Ôă1R/G]î%£¢.¬x†CM Gÿ#ÝÉ�èÚ«±2ëò¨b‹±Ž2ÚãO©½ñn`'â�ËÌÛÿXE�^Tƨå©€+*]bœÒdl1@¹Žd¢¢�†$*=`,¢”!ÊÎgôqíØ¡‚ÆMý�4T3ÃCï>C‹vûÿ@ˆsLô¥PD»ä>TƸAR ZÒ†æf7 ‚v2cI0(¸$C@×™\Ç@þÅ$þzç8㿊T_ï çøMDgœÜýO²‡t^Õ=œÇëµp¯š*NÜ/{$ìê©Ä‰ºñÿñ Ϋ†r•Èp"ÞÕ™‡õ?ÒcœyŸZ+á¤Üí²Y£\[{“ì»zïRf"­ÖAÇùô¥TB"­:Π[Rgtœ3_â$Ëzœ%_ʤÇzç8/¾å>YŽL¸ª«RàK»ƒÜ÷Ræ éUíg»½éJeŽºû ½5þ?3ÛJg‹l8i¬Š9}½Ö?ä­MÄoœ°ê8åLUÅ€œ¢jÃÉMåâžõßäÿî¿"ýÏþÏoù„oýÏ.ðq·®Õžh ^€A«ÀÚÛ¼d¼­›Ý2ûDÿcÕìÝ6,ù¹­†s[�`:©É.µ²›‡%1Bâªã‰ý£xîÜbÿÕCõèRµƵÔìyŸ¶¥«iÏ”Ðæ wJÚ>åÃ(чØ(X­.e“ˆ€á›ƒD¬øh+ªoëÝ0«5‚Y­dTZ·×µº ².[)þð“b°Ìýqàœ¬pa³•h 9ã•´föþk4{]›».˜U‚ Ót"ÌdZ_²¾ªÿ±ú«Ô½ÃÍŽ†4„ÙÞ—4û¤±æ ­›ÉëÁV®3èQƒ¥¯‹m¾X}KΤ®ß4~«ÏÉê³¹tzö±`Ý ?â‘%;Üví&bÒ:IÅÊ…ö„+@ w;=mÍñ­©GWðu§3ÈÍ^î®MJ¬bGÛÊI«ß,:ÁN©;oÉT¾výcÕxÛÜF±ò¥ iökв™Aj¶fgïa`èlúD›O·aÒå<ñjŸôøµîæÉ6–¾�†^œ]A¤©%«©¨µ´ ‡³j×[ŠˆÕE_*¢5Ǭhpó½èv¹îßT T;ªðBéÖITDÃÛ0Ad⺯Ú> ‚Û´âŠÍ oÛ·Mƒèân Y =«3v‹ˆO}:!"!ÑÇx-—Ìk‰]¾è]âæBÚñç×Zirlíin0}òŽ)½€´™¨•OæUV¯‘�£·Q™PÄ¿ˆ¨lêl~ññωRb‚Ý֌΄'£<ðp<þývzŸÇšMvÑ©'¨×r/RxP;’½¬[¹‡í°‘Ow‹8<ÃÙV[wbÎ ³¬Îf0ÅóìvÜî7²›µ?Yg•L´ª±ýr÷ЙU¬r%9·»6¡‹ðîuõ^DD¢¶JÒ^ïD­ò1¬Ú/‡<ÀÙµºŽíʽ„Ý+]¡EmÚÅ4'fôº fÈ¥½{Q�ÖÈwª#Öåx3¨µJ;›lØÞ�ýcãÌ®ëûå®kâ~µÝrĵÛ8­pLÈÉ/Gd`½zÉŽóÍ£›ý¶ 5(ÙÎůœP]¶ÛØf±ÉÃ~ÄÝ>ÆÏ¶å¡ß-ö¾ ¼½Ü9õ*eÆiAmsþ›·;&Dg;‘goži_”HÎÞ.7ø«ÕÕl"-ÑV]ü©àÀ«÷´ ÞkwëQ/ÄÔoÃÙÎ då+Y°¿;sAÈ÷úŸ0­¸ñ§‘Õ?Ï߇ÿÿÑúŸÿŸ?øÿ·|ð€*îgC¬ÿå ’õ­[¶3È[ý!õ6––œ¿È«µ¼ˆº‹F†õ?*æa°®ÚÖÿˆB‰áù%b\®{�ò8Î0¿‚+Áž±·²öt‹Ѷê[Ì 9ãëKÝÃÀZhÖŒ¨£ø´(­ÚÆÐ¢¿:àùl!‚ý£ÿN¾ö`€,7‘‘±ªÂ$V(`a ‚U Äè÷²Ö˜ø‘‹aO)‡h'Е>>W\/Úf¥ØÓÊhe0«BF±—0‡á«bnU‹¬ò#©ª·CT9sƦzm JõF4ªD~†¡jYü™¦ü €§žçåzÁPSùòŒ1EØÅà2¡ÇUŠ‚ÑäEãg½ h?жâ�Guã`ÄxɃX/¤¤|`Dqfap¨çuP¡Ü•ùÏ;^Q¾"*NóT/Ì'Ú{2=åé­£t\6sV'Š3t¢Ø`$'ó�îr "ì¦öe�m·^ˆÆ…¨"L»ôBÀgjÈÆÀLÕ@ŒÈD­q ˜ŒÏƒÁ4X1øR™£.Õ72Ü’_‘b W`©N‡‘•60¤Rc©¤Ñ *]w j ]n�›.g fu$ ”t@„¤R†Fâiv0‘¨£JÚ@qDÔ+Z+Aƒý Jï\¾?tÄsê�œËößЈÈFÎó`uäáÑ­:F/2ülQO3Æ+zÐ3¤¥ŠÍM®PL"¢-#W| 16?{piaØ5ò�oȵ ‘®Ðþ¼¤ -¤Ï¦vÀ„JˆEȈ;ðA:ìà9ÆO§b?òñùÿOèÖâþèÚÿÏßò ¯þ‡Õf©ù1P X©œ-¦áOjqH›·ÀÞQöIÕ»È#¢pV Ó–äiRü”À”ð‹v$uÛÊÛòI¡lhÀ*[®DÓ ,z<%ZMà«æd%?xUöøt–öxÓ‚ÁJ§OáKž‰§Ïþ“½}üïîêÔå«#ö-üÞ°:ÕÔ­âjg&íó)€0îuK›Åöy˜Í¶N7ºÓÍ>ž{Îì¶­S©ˆçÞÈe³Ý nÂk!á³7rÙõ÷ö` =Û‚ýël°Áî (- 3[¦ù.š¾îÓB‰5}~cTxQ<I¸é ìúp4G?”A´®_rn;ÜPƒ½À‰Õ·å”>«³¾ÕGëX´!MK›ÞE@Ãç¡røÕ†_}£ GuØßØ æÏ ¬(ÖöªÖV¾Ü®f‚„<X-ÊÊNÚçŒ=èy EçqÔI“ñŸ4X©õn`ã¥gÃd«&ÏÓ„ñÒ39wŽO­á:ro_“sÿû©ÿØ.™ýkÖî$ù@ˆxìR應ìó+üœÎ¹ ÈŠ)Ójw pÀs£vÕ_l¨ìïábbnxÄô±•!wh°½Û ä­Yî(²Gœ]ÇŠ%>ó<ŠTú¹ò ûÙõ§S{MZ?ݾÒסּA¡Ãg†ÿ,KDQеÝêKBúýþxŠxFâVBb+ÀXÈä;G(V±Ï4(…*²è£*ðÍsÏ7¶é_³v ½®A´!t'u.�ø 2¥·ô-Α7T§ -}Fê2L>6´„>­Dª^?®**Ï(h"ÕŠAÎÎ&žo¸Ó­‰ei­Ú$lõëÕ¼QfYÚ6ÍÛ%>£h-,2{74¶tbêZñ¬ì%;´ÓYùõ|˜T=ßàLjë|Ýwv£j½º ­|æ>«‡`SåÇ:Ø¿ÊÏÁ:ٿʇŒ:[ýœç›½9ÉTÀ¶ÿSæÿÿý”þ§þÁ¿ãƒÐè äm¢ !Ä7„m ¤7Ô߄ަ9ÝÚ4ݼÝ=Œžîú›ÛPËBlj|¤6D„¦V @f£ˆÞ‡™Ú¯tÖ÷œýÀ®¿ y©Y—nÒÒã1ÂÒfdu5�Q©á #©k (1rºöàú B>g¤¤¢�FH—0 ÈèúY ¢yY9RŸF@CuH@>z·ñŒË¨ZÛF8×@6—uª&Éý ueÐ1r¹Ü}€X®¯�©\ @(CþŒL®=€Hî¿È_F׉q\_ÒÐÅc¨0 Èâ¶ûa=”HBo#ˆ»nGÚ�Ä }ÊHAï>#Œ tÐ1"¸ö�ÐQÈàn ÌÞþ?#˜c Ó¿áSman Ì~\úŸàà¤*sŽ3ø»2÷¡¶CÈØ/§"dê£É©#C×qÊ™ùu¦ÈÈ5p&®—ÏøÌ(ó¾qëmàL{´£˜â û:(2ëë+Ȩ‡ênIë¬ä Z‡gΗ0 ³ö)gÊÆÿ'NÛ@™ñ‰gÄ:ø9¾ÔNÈ€u¾pæ{íŒ÷n Lwˆ0‰3\½/œÙ^"d´*äLV–3Ø!ÎMœ¹^ͬ˒ƒ"SÕËç õnh0i“ŸEFª½Î™¨ÆSÎ@¯=yê(äŒS gš×ú‡ S<Î,¯¯ £¼ŠLRÁd™gÎ=ë¿ÉÿþŸÑÿ¤ôÔÿ]·ñOþ÷;>áÕÿà-º#ó(Ug,°"¨Ý–…½y¤Ú…–ÁÊ ¡¬ÚDÈmBcxƒTk(XÍ æMB]§ë´)ÜîìÉ{<{·MÒ §X,•s¾FJk²™E¬ŸñúŸ½Æmj¬¡nž ;¢óç)T°6ÅnB¶´ž” Nq°– º93Z &s^\íLEjÝRKwEbêùjKÎobR'Ò‚-Ÿ ¼LPì^í‘ÖÒ•¥9ýÌÑÿ4{]»h1‘pæ£ÿÙ ]Žåõÿ!¶Q±>K›ÉTIê`"ç‘,Õö¡ãrÊ”ÄÖSmXÅ“š¡]Û¸A—eÇwG·7GMΉÔs ¯[ uÁÂQ¬ÅÕ6<L4~,%}MRÜ”Ìuí2ÈD­ÎÎöd–Z£¿YJ÷þ·Vq—'ñ…Öm°’»¡K¨8jr$ÝÚV÷¦KÚg~²ë&«"XÚS>y!G¡Æþ ÷Ûý³ƒ¼DÏĪÁŽ·2¨°ÔžNæzÑOr¾X»Ðò„ï“H”¬­qÆaQµfýRêJº)‰¬„ ¢Ln ÃÆ™Í­ªt¿œÔ«Õmv~j§ëòLœaÂUBxºÚÁ»JÉÍ‹•ç¢Â®³z`ÒÕšVp¶¹WDA2½)ñ9ðlð^2ȆV®�ãÐÏÍ{Š@`œsø5ðìÚPàÙ˜mX©8´7 hT˜!ò{iæ‚Ï3Z:|§ç’›dš×°§7AÓ)ÙŽ·] šx•Nê°Òùûèô¥›Ì¹Çí˜vÿ ‡–á¤#ûvÎÏ­‚ß:œ?Û:‘V«½q±ƒPT²'[³³ÿêÍûÈáÁê Ÿn½°4©Va·>Í7‚RÄý¬nÉO‰@Çê%甡ñ§î^GPV*çÿSX«Nß›J7{cµ´.’·Þñ»Ù­!Ú®±AqÆ)·WónXÓÌ­/>{ÝIh"Þgï “èAɺ¼a×£D·¶ÜÚ¶g„ñîžTઠ77eÆ¡ó-Ì åŸ¹¨½¶wrs}¬ZV²)N°R«ÍgÃúëâ3Ï‹µªÚéé½tNN—»k^·íÜc…»ô5M—ì£kb9rÂMÔÜÃÐ+w(öj[¥Ô²²·ìz™¼Ò»¼¬»BJ¯ š(Œß²ÍU7g޲Ò8ݲƒ’Ÿ¥:Ÿ7v4ªn˜/p;Aiö‚z(­º KkÙ¡éò(t*•~zÂCmÌvï/×qW”±ñwв¶W#{ž³ÀV³Ø´e?Á¥á攤?‰þ{úü}øÿ«ÿÉùÃÿçOý·ßòÁ«¸Ÿ ù¡›sÉ­´h˜ú™˜ZêÀÂè^hЬo àydð+WÑó�ÁÇ)Ã$W~˜]ÍHXW²;§Áª»I¬0~<p¹žrÀ07úXÉR{ã40è!ÎAÛ¢‹`˜­iÆ×QÔ ¬/*û«ÿ”Vö;0´Dð,Ô~FÍz-.‹Réàdý d¡Qdlì~Œbê`ae·ë?èWØ{qêw/7º¢l`„«£ƒ¡íe"L«z•fågŠU? †¯¢`Ü»ÐÝ°Šªƒ‘ª˜QÕ§Ø4 ýÿ€R ±ßO© `¨š,1þ¼xÊ;ˆSý/Ø‘E„ZŒ1µÇŽ~G÷`TùèwTWÄúQÔ1€”|Ô:2bä?ï葱L CQç0,”nd<XônTã%B€²™¡Ÿ BÆ|—Z§- P^’ùx'qÈ “¡sœz|1„S=c7£Ö1ò²ƒÖnwº—»ð™ˆb0“ë<ˆL£�C1‘‚ &§~À×¥ÖêRC †[—ÖË÷Šž‡–”‘•þ,C*Uü0–’[p@”ª`=‰”aST1ã%QÁ0PŠS„‚@H©ˆ!‘4ÆB—Ö HŒcúÝÌ=—Km$LðxQ1NºÄ†mŒâœù3œÅÜv>—Ô®Œq‹ —XDC{JºbA”«°ÉA&A@I”(ÁhäôPÿˉü!Ñû�Õï0âÐd¡†z1ÆPI#ƒ •ü0ª(Œ�'d þtnõÏáãóÿñÿ)õÕÿüÑÿÿ–Oxõ?Ä© Ýù  ÊÔÃΌěýTµÕ'‚㣠>;�y@¨–Ç™ñ˜n Û^ÀL‹Õº]”CP{,€ÊÖ#K>®DG{Îp›‚íJûÃÚØ´ c Çí¨AsÏA×A,I§w*bh·,c]¹¹e¾÷ï sܼa¤þd˜obZøÜª¨¿î?»‹מDÐf¤éÜy¨o=8-NGÎ>ì"Öåë8%ÀuÈ»ê&Î…ÇЏ[P¥7µk…°m¡¹üIúÞ|7Z\ƒ¤?¢Ç·§Wp@œ%Íö_Ü÷þÑ ¢Üõá¬d¸åcU³òýÃHÎ~fí”`Öà<lBýæ§­Ò#­JÛbûcÂ,P±Û_÷œÆßãΓÃ~Íñá T‰R«“ÞH¡¢<,,»gÆÂ îD+X¡g{  Ϧç„ZØÿ™ò[x<>ìa.ÞŒÁ9£µûHï9Öôq:¤AÌ«Ž¨€"§kÃDZ¾¦ƒûí ÍÃÒÏ8¼ßØ/;):Œõ/6¤ìlwØ]xaÛk¬¤©ÉýF~zbϦùÕï ¼ÂdÓþ¾åFosÞ lü±¥@~$oZàg€ÛôÀø¹¡‘pŽºm'Þëh4èUöëD4*ÌEœÝSw¡Q{|0 Ÿ¹² …ñ# n^!8Îé&y>v@¡~­ìøä_øÈ¸ ʹ¯EéðÏd(ˆ~Ro&bûˆo›Ø¿.¸R®ÿÑN5V³M(DÇãÅ Ð@ÁëGäÑñ|l ÚyÅ�vˆ3g{R\Eoz·I_hs÷E×f§Õ¦8ÑùDUTïÓéÒ¶ßOûðWܾcÔIÕ){ˆ‰klÛ\'?ñˈ|šz°¦zk±¥Àêµäm4ýú-ä™?ëŠÿ; ¿~F•ý˜Ü(]÷lïnÝ‚èû±ÇãW;•óy·“eÀÛ#„ÏÐc¬g0®àÑ@%÷V@ôôéY`Vv±;²ìâ.wûO'ùÿ™ÏßÄ?¥ÿiðßïø`¼z ²W”®/”õ ¤×…iÏþ?joÿ!gÔµ.šò7P\ˇ§ güÊ.·«úŸ½èï©©Ó š;�›©G@™î4VÅ%‡ýdÀ/5«ìR±íÛˆ`ÖÕ�x¥Z†U—™ðT;©¦Ú (õï`èt}˜é2âXjóºs{¹¸‚�ºÜ+ÆEJùg<ty]f>�@j´ÂÈ§Ê fÈ£vŒuô2ÈÑcpÓ‹6TËyg4£ò'F1—#àË50[.ï�–Û¨ÂEå>Ð2‰„¡ÉÉá`u<a0rý Pˆ`†êg¸£‹š…Çàì  q©Œ�0ºjˆ�,ÔcŠŸç!LXE�¡Ö# ¦xÕ0`˜2¤(\r� îC¼jèc�pénøß ”ð__A¢íÿj@bßUþò!B*™ !‡Wã*NÞ{êÒ@Yûe³ƒt]'!çé—gôvûÿìÌüŠw쩤¦BÈÅ›Ñÿ¤;$qò­ã”³nbœn_gŠ<ûn »‹DFô?Ú�×UµêaýÏÕ@ôË‘9O=(2f56ãTY§çÈê7Çɱº.qV|­�H‡Õ‚Žóà.“àvë((Ýþ?dŽ&nXœëêÝç$÷²Bv{5 ­½|ˆ*û!{ˉl1*g°j(Æ©ëuPä¬×©#Y½Ž,õ27Bzªkç¥Úcœfùʳþ›üïÿó3úŸ•ô=úŸþä¿ãýÍÁ)KPliWS?ç수 O§œ,?óuZòm("UëeÃåƒK²”÷†G¦6w¨„<Ùœ}Ï–—?&³,½yâÚ³gCÈuJuí;£ÂìŽýPÛòaU/L¯÷ÝÙ¬k¤‹)®p}¬xÑ=šUÃl±6½vtÐÃLÊÉÒGcïô¬:5öåÿé—&üUÊ©Q+í´Ôáü Bwɉ Ríu¸ºì+ xoëÄ9ª“äD&©€E_«­¿zÅN“%Io-Žÿ˜ÑÓÜì,C¶Ú‹d~ÿ‘HŒQŠ­[¿ä6Í•Ñ_;Ó*ßû›Aµÿ É’’w)Ò}+·°šT@}Êî89[sWrAýÎ<7»¢~~öž'•êÞ®›c5nëohy’Ó. Œ¶ÕŽû=AŒ‹ŽC>Á¾ÎÝ‘ªá:¹9ÿ¶ýÔíõfaÌ7ÌÃ^ïJŠv?$,ìwÁsæ•fºð‚*JÍiñÖl 8-ÒJ\ø<Ͱ]Ýþb¶š¯ÂÌ´•©ÛóTÄ4•nãZ™¸ÞfcÅŒ„~°çSyÇìøYÓîËŒÞFŒŽâ]ÖÒ¤áß’eÖÜq½ÝÙ9èeª‹bkÒ ÷Ñ­64äî4SìJ•†n›[Ê–uwÚ/M‰Ò3ÝÑD8)mØßTÈ`Ía³û.¾@—›­ä1<â%ØÉ9“Ž-¡›Ú\lI¬¯qâ%:µÙî€ ó.}ìdä¶zjèjÿÑ0rÄF8v¿¿0¿ØY.5Ý2HA)Çd…ƒÒu/—š(}ùøó„¿š`}i6½–Ä´ Ã^¹I_U캾ËUSg¹�±×"Fë7Yæ1‹õ3Ù/§è^Dë';°¡:?¢Ê~³ºóŸàRUç[²kŽÐõ:¿šy;–wÛ™kzáz“s¦#“Ö­Xt³é°úu 3¥+WÛܺNÇqÇo…ŒìÌúzÃ}ñ"Þ7È3ZÕÅ^_Ñ?Ntºîwƒ ž[À]g®¦í{EÞ»Û~ÎP}¦äD\›ŒŠ‹nÿL5ÅäDD eâ¾»¯6öSr dI‘ µk{‡ÔÐûD-ØÕ‹÷Aš(ùU²õ}Úœ¾JÊs;n™É·Æ­[xT·Þ‡ªäŽßÍ., ü׺ïVGY`‚¼Æ§.TJŒÍéÒÉÂê6ße‡½ØÔ¾Àçl×ѱ ó¤(·EÝ6p”ä Ígó‰?¢[È`7Öaç×+Ó8w–•åOÝõÃ:=ŒÿÇ€­RÈ¬Ãæuµ¬ôæí@ýo­xýtA{WÚBã§u›ßþ4rû§ùü}øÿ«ÿ©ñCÿó§þÛoùàÁPÜφ€~UÿÈ/ôZÆúªAž/Ô {!³Ö«ú€]�ÎÞŒã…SÍ�^ô�ŒÜ…BÌ]HnjՃÐí¤Ë«SÁåJ¦g<®,âQôBŒÀ…,~ ·áæFúÛjKÂ([O ðZÅ?Œ«/ ?�9ÄAÒjÉÁZՌù¶š“6ЉªâˆQ²\üÇÊñg\¬”~�b•©0¨•žì+^óÊ;`WnãA¹jÐÁðVÄ ׊µÍ´A¾ÂHVý a£6 ‡ƒ‰ZƒÐà­>26>•c`ªb™ƒHåâ½üÀ rê|êÏ2ê¼9�7U8�œ§|�SDX*Ÿ¥Ü…%UMÃR¦ÊÅ¿Û=pQüpNÔc0@”>>ÈPÔ J—,¨–C õZ€þÚ¹³ö‰žáŽoHdúâIG2¶+:òè¨êoFh.É Œ»ü‚¬í7Ql1bq  Z’ýÑÔ/àL{•eo€c¢98L­}€Éä¥Ç`ÈU5œkéW�²Î3† èJ¿Â°J£ã)5bÒH|”ܤÔËŒ1Ó¥@X’S?()ëíCÚ(òªƒ‹ÔuÑ¥@ª¯Ýng„}’ =SJ܈–QŽŠnbÓaX#]|ðŒ 1QÍ#˜Ë@ˆå3*~ä2Å�VTézPŠzý0<ÑPøDmÆÈ]9HDýЂ\Bð*'bС%vU!à Uº2¾¢óa\¡®b (n!:œšÿ0„;ØA¦Ó z F ’˜ —Âø@oõò³?Ëý—||þÿ#úŸ_ýÏŸ÷¿å^ýO¤@âˆË›íô×™6b–ìš(Lá¯/5Ö¤»Šðͯhh¿Ä>ÛÄ«)¬zÊËã…fÌÍ©+Âùý±Ï>Ú¡ê}tPýˆ|ÿtö#òí+£<׋x^2>®3Pºþþ'üˆ^ÝJ Áô#Ì"[z\^í}Œô~á¡´ni‰AªDí_ ›âœln[ø än[þV1í¡JoVÛø orIȨð‡Dq~®«V´ûëZÑ;)“t:µtÛÞQ!ûùÝ^Q¥ÕëzF`# /­:~?CÐ š‹fÝŽßÏ—ˆÖ÷¸-”í]VÂí¥@Ô^’eûïgãK0Ã¥´½øiWÔ&’U±Šµ]X»}Éþ2ƒGU±Ël÷~ø®¶ýÅ“_ÁƒÊaÏö¸üP»Wg¤Fû÷æ]ZÛ+–:•Ê~xæ›—W>˦ç•/ÕÀþòiR¡¬Y£ëçYÎk÷A±Óä‹Né¨ âBGŪK"ÑôFvÒo>ßNJCµª¤Më£`œ©È ï[7Œ…E©Ý_×6ÉÜ¿ÛÈ”÷j/dæ3ʰ<ü\èÝÊv’mŠpøºÞʪ™îT9 E¶Ÿëj„ÞŸñœ;=6x„^+Á¦Uéa Âæ;È:ÙÞ?6p›:HëR*vÈmûa,¬.°o¦ ­ Þo— ÿ\‚JdœwC;‹Š %Å_hd¸Bä»!óã!o•Trû^pV¢ÄþY¡ŒÀƒ€YV©âyÂ{¨JÔÀgZ•FÙø³¶lÂ"M“`ÃÅÂŒdéð§7ÊÙC ärm0ÀyVå2Ûìù~šxDùäeâyÀW"Â>7φc€ãS”°ø~#¢èÆ»!Å=YÓ^­?—’M‹¤g1 HF»jþ=Sx³$)4;õ˜,¹C„ݿңGBµ©“Ô>íØ Êñu)aÝæSfªü>¦moxÈë­½6½²,ôæ¼;ßqš*9úpF@à\>ÒäÒ&<¬icëO'üîó7ñßOéúü÷;>˜tpUfñK4=ЭÕ0Ê Bv·ÍHhŽÝß ÍœÖÚËÜú ›oñ šnB»þ&d¦z% 2= 1ýLõ<@^êŠÄ¥* ­K„¥‚(†VM4"Œ©”ŽÍ`ªÅÃ5gUU!ø¤´pÆM*[bÀ¤¼yFJ×W�‘TùÄØè:1€¢ëÄ€†.•`P‡ŒÏøç:(€O“ñÀˆçR;±ÿž)Î%¡²1ú€^"3B&U-r�aªˆ$»\2€U*1Z!‘�S.…ð‰J1˜(ß‰ŠŠt!ô3QY ƒ¥ü3ê¸dG€×Àz`\â& ‹K©HA…Ó¹°D›×<$9Ñ�=ÐCT4�6¨ô€ñBKçj(r„h�ª�†¡žc‚“„šZõ�T=¤ÿ×™VÖݨ܇þëÄéëÝç_5UœÛ_z(äô]ú”“yuã$~È}áäýÀ iW³3NÖ/$éwC³ñ†“òë HƯ$áêvÄÉ·Æ Nºçíÿ³“홯¨ºƒÒõ$×:¤8«ÖøÁé4‰‘Ѐ<úú è.sŸçëâ0_ׂDYÃ3'È&ÞÓ“«}wd@"|íøj@â«‹ '¼—gÝ!º,NpuXrfKUá¸úqnâ\¶Ýþ?Ô ÌÙëõV°‹¤ŒóÕ¦>D¬Y×ó@‚ª!˜3ÓvÙýPJÚÔ˜ˆõ?·ÿÏ”eœIø¬ÿ&ÿû÷?£ÿY¡âõÿù“ÿý–Oxõ?ôæl:‡8ߌâŒ\�‹Ëì–B‰‡Þyz*>ÞÛyÆ7xÉ¥Ë|N„H½WB.®Tÿÿ½•úÒ§X©Ìü"Üù0‰h ë°ßµG>8¿ „rŠ¥Zªèfå×qácAµâ2‡ëÝ€"²^uÕPº©çà”>Ä%N\×KÛ;:°;½¶z½šRwþE“ž˜ÇÔsp©fË„L¡Ã-ëüøt'AI©Pÿ>ÌêŒ{š£•ìªDGøPúÐkùbíp6‡ ou[ º]+ͳÊ-FwRÍc"ªGpvsÐË¡œ,u…[§e®îzVûøy8[ˆ |®Î&k%M4òƒ³*§}ÛÔ'â<¸ëÍPÄk ÄrTJ¸Ú{ÞyÅêVk{“×jTÁþì w{1;b﮸ ŽžSîÔÕ¹ùDTZMÕ*§J‚jo8s±’awãw'=ÄCÒgï„<ój¯Tš·:sž²"0&;šYþœ£³+«×ÊÛ;eÁ¢gv6HC¿þ°stÓ³a 3–·ú™î¹—Õо‹³æÙž‰ÍíæÊ¡nÕêä3 “3¾EÄp¨Ýí_Pj×Ïõõs9Å.àJƒ¡[µÜBn(JæeM‘ºDÇgCoV·SÙÝKMÛ Ét½ÎJ&<:šú£¸H r~¶WP(íñõá9³“¶±#Z»J9åö´2WÒPQ=¹5¦C§7»]×xˆ¥ÙÄs«7»fÆ@%½SlN’AU)Ã]~‚ÜhA5»°e*ªñÖ÷^À@<íÉi}jÆ:ëœKVN‡ :QG%ïœAÞ@ »’­!Î^×)¤8ëÀfÁ°IBŠˆ¸k9´+غw“N«}I ã;§–5Yhö–æŽ_Àe’Ÿ¶¯´žîKpš›†ÑëC\êe m±š˜Í‡ÃÊc#wš(ù<ƒ•9¸"·’ zäà´JàP¨~¡" J"Ü턨V(HnÃë„5[ìÊP:QrûðÚÓÖ‘ç8-lc¦âp—ÕÁØó†2+mKZÙá“'´ZÞßi/°´Àw§Ñ\‰¤#V ²‚-¸ŸNÚ´âü¯º•®ô’%%vªoN,õCu+RC‚\JuK ¦Wr’›2èÿîø ÖÓ0wZÒ]›¬D/ÑÑÝLNÒ³¢3­ÌÝfÏkqÀu;]Öâ@Ó4ûß]Qƒ¢ìc$DÏèâJìþ½ÀÈI›v­ïIýÙÜ"é½Dp³ò‰íè$@? ®þ|þ>üÿÕÿ”?úŸûàñSÜφ¬…|Ï_õ?ü \XɈaª�ºW6?`½ˆ.Ï ½˜¼¨Á ;û(~Î÷³?Š%À3JWC †ç*½ÉNHs�¹~…‘¸ª ‚‹‰±÷ňgЭ¬z íã+̾L;€¯ÅÊà�ëKñD­z†ÒÚÀZå: žâÂ{¹€ËB?8ÙH~ÀÊ=gd,ýs ñ-ñBøí ‚U°ÃèW; {UÄxWNì�]ýF¸êÄÐV-8€iÕc‰Á¬ú|0Šùɯr^·^XEÃv€ª°ÈBUÙCS�“ªØ‹ÁèE¡ Õc~¦ÛPh¯¦ú7N¡3ÒLz@L™[ª‡A¥60šTö;ÃHMŒÅýëàÆ[�„ù~qîA}•€Àñ�QÝ9‘ 1&Ôo0ÔÓb(cúÀ?9;žÑXV»@=u¹ÆSQîå¥e°Š†s¢d`'ñŽœÜzFn"UbÈ&×ÂXíòc¦òCFg·§P11ùà1™°ˆÉ¯¦?ËÐK%ŒŒ¹TÉ`KÔ%e‰BåÀ+ð�WiP<€J&ìARrbB‰EÓÁN*ñaÐT4<-©€‡a’ĉƒT`E ƈ(å+^m(¤ ` Õ£0øQ+ƒžÛRu$ž1ÌÑ�Çø&j´°‘à 5^c(£ÂÆ0—"àEFÇA-IÃàÊ¥Éuš–Pdtd"ƒ!‰Æ@†"Òåƒäó>Ôì‡Q‡x1ÜÐyÏ0CfõÁªPd`qùQ¨ÿC ݃1Ä¥ßxð~PƒôèOçb?ññùÿOèZþðÿÉòÿßñ ¯þaÚ;³´?2¬úÐ&€ÕÜÅž#¡§¬n–Êg;^­½\g˜n¾LÝÊ4kGÔ­p˜|ÛÙ2­§GÿC±Á[f¬øˆvç±Ñ±ÿøíÐ …Ôm)ý€žRµôÐÁٳߟõ?FW;ÖgÿÍN«ßØn¨’•àµaí;¾.y³ÖÆ×53{mmp:Íbû¼ ›Íöy6«í“`½ÙmHÓœÀŒ«\èhPíúkV„G[µ1Þ÷ànµ|Žîý†5}o@ÕŒ‡Ä½«crµ¹Jö§oljyô@¿pú ÇéçÙ€¼1lA³!R%ì×L(²HÉߎĆ‹X¤†óÊÉ€+ï72ÌþØPXÖônÀ¢¿‚ŠÓUHÎ?Ô†õpˆ_›²—çvìyôyŸ¿Üxny¡}jÓfÍn˜ ÄÒ,™<A;ñnØa3|ÇSÈ»ß û߯ •Ïã“ÇÚ'ÞàbmN¤Wút *‹Í v2мND%Ƚ\1#|¼¨¸ ȇRˆ°ð#É-P½ò9§UÔèðqu¥¤€ö>~®Ô¼F`“ÔgÞŠ=S#O4¯À:ƒÝP'"n´¯c4i,Þí° z\yP…|-Ãû5v–õëgbËÙÇ'5^¹ ±d�¦à-ÏJ†·Ø¥W{‘WgíÚåák®\»bU±ß¨tö¯ÛQ£'V½öÇ+ˆ8á^· è·IQ'Îæã³³ËïÑÚ†“l¡ˆÇ#BÙÅÏI§–œ@i[óÝ;Y©ç_ñ¦ÇÙ ‘îÖT¯ònÇ›¤µZe+‹Iñ{…®\æï¬kEÏŸáa-Ãù3À¯µ3†‡…}±B—ÙMïdì3\¯•âk£|žYÛ¯´Q=~¯·ëå[±5ð<áQèíŠvˆNìW'ÄQ3§!jäˆç.7Ms“ÚK´vr¿!ÿÿ›øï‡ô?ùOý‡ßòÁ¸ ô€$Иù!¾Ë͆ŠÑj^¤ „씋 Dwý ïW%Äø e¼ZŽ=Ûõ7!µyùÿlÄ¥%@fjbD¦Tp ±DïCLIþ@^ºˆ«K�iévFXw„D­ÀˆJO‘‘”ž##¨YEUät©®€˜î†j™õŒT˜¥f©zçÈ%õj@Ñ:1ºn6ÏÕ�Äs7Ò¹å>Á’ñÙýY—jMïîØÝGàQªR –Ë!PEûƒ!ÊÝ@Ðdož!ɵ ÈÕ�r7ô°£Ýž) ÆÕ�ˆ¡WËÐBûƒ!ÅÝ@PBû”!ÄuP@‡«a埡‚60D¸'&Aƒ«à²ê¸Ì|�t²rêoüPÚ@è¹úå!„¿ßúŸÝ 2,Nêoýeó*Má4¾KŸrþ®³”óv•œ¯_ ÈÓï®^ úÊË/?$äã:MÿcõÿQgdÞý2¢ŒÛèÐ ŠdØz÷9³ÒœQ·|äœJ«ü‰sh½ûœ;ÑþqÎ|ù!Y®·ÿy©™ÒãËCy±úîpBÜÕíˆKŽËpลKÿ³Ã§Þ}Nzõ<8ÛíÚ€,·¥* ”Þ’£�Ö^‹ÒY½·œÆ^{ }½¶Þ áóÜNS/QÒÓ«i©† NG/¥ÒлB{m@Ú©3N7uÅâ4³‰°‘óKõÜãIJȒô¬ÿ&ÿû?¥ÿɯþçÿãoù„GÿÓPŒÐ{ȰêÆõ½\^ÿZzo"rÆFEánΔazÿ˜‚–ÉÙAôÅRQX.¥[br›xi,ÁsàÁAvdø•ç=YkŽ ²ËZ0ÍE®2XC–¾A'qrºÓJ¥‚—Ю³bÎìtbÙ£+TŽwRÙ²íöõ» íÍœ­U¼2v*ŸŽ‡�ÝîlžR »ge,+MÛpVKsÀ‡'Yâz m@fRŠð÷ÎÝÞÁ´r)KÕ )R. 0 {ú©¤�U½‰ .lëv96›çè8Û•=ñ~›“JÆ 86¹€ŽŠýÝu•Ll3|<5>pÄS²ª·] ™†l¶š²•jÑcñê”lœq¥ÜœÖne^ë¯ê)Ûºßiå„389מupˆa¬Eî -¤hÇlîßxiW¤E~qy–vÓ¾òl˜i¸PQ"ô"knÙv~ ùá ´oîîd»á— =Úß­•Žï ÿÛ>q`¥ÙöønÞ´j“±ˆ!]-C}Mž‹öw9ÉÙæ6ÚØI•jØ6ÕbF»9ŸºP±•ºÌ»Póþ«yÙNÛÆ»-„Fòf«áÚ�1Ðy:ÙQ£Ñ™,¥íQ_ö\íàMjWhÀ$íî|fæ½Î,bRý Âüîæê;~Â#ÿ!©á˜Á‡F›œKÃÍ®ö™Åî·VzLñ£Z%|6×°w¨áiisÁ¾ó;­«Õ�Él4« šx/ég=!ß³ÕÉUö£K:Œ³Þ;³ÒÜjŸñÆ÷qŒ+…^”ú»¿†Oe¨]ÁZûщ¹vøI4û\ûZ¿é|œ.b‡âdÀÊ´½ZxtknPòPÝJ¨2µb™½±;!í°ú–MZáÓÊ©RAFÐzµç³ Ñà†ž6M+NÇ»õ´´9+›µô H²óqJÇnV®`Bäª9¬KT>4bg‹˜Ù6¤æt9‘«BÎ.£‚[+~a‡žÔÜ"Ó)Zõl­º2ÏR¿’çN'ܱid^ݸ۽:j-"4.[u‹C@ñÔê…¤ûYÕþ+Y'‚ŠévØÅ!s—­jjþù5wwI ê‡lÇ]7‚¢N±2–]%›2â©£PôïÓýîL:^·èMº®u×ìýªkMê$xµkFD©Ùµ¯ÑM·Åe. SlMNg{JýO·f×Zù¶»5`M7åÍ­1\r{7íP V{»ÖÍ¢¤›íÚEô¶tØöŸ†Vÿ,>þÿGë¢Çÿ+ÀþÁÿ¿ãƒgIq?ìKÉ2ä2~b)¯°Â¡ÀE�нÊÖ_þ?´"«=p¼0¢À‹+#wqFaÈ.ö"ŒÕÅðæ€t%¾3:7lz£G8x\÷` ®{0¿ØôhP ÆÜržl o›Q¶öÃë.Çd\-—v�µHj’áÄзÿœwäf1hV5£eub˜|‰€õ ŒÕbƒ±PXì29ƒß)¼w½"Ê8hWT#‡S¤ô{à[8 lû5ìàõ ;0”Uû`X= Æ®B? Uºó U™ ¦ŠÜèàÓÛ%„…(D»åEçé¼AE"q°ç­üaòëi`´)š‰3eø|yK}z¿q¥ Ð%UÉÃR.–Á£8 Ðxyý�-ŠjàÀDÑV|(Cç�C0"TuCA™Ší€?™w0£I§Ú@�½Küc{–¡J¿€é¤£ÌI?3Š“.bø&çʸMn%6rŒÔ$<„v¹ù.á{“©±ƒ1éãƒÂôG~©}ã.32ິ?ìE.2†XA£°•FU·›?C> £TxÈøIý~8]n>ÍkY¢.±†1’þì< ëÜSFE·y®V£pú€�©h‘Œ0qï‘àÂXçR&äHÿt£ I†5"c:x&]á&™%á Uݰٓx*Ì¢Â+²¥\JCÀ¹×ŒK¦ˆ¨X‘ˆ$©A ‡ªpsh¨`°¡2AFªfx¡ÎZŒ+¤‹ ¡ÓAB¨|‘±ƒôù ò³?ˆýÐÇçÿ?¢ÿiÙó¿Bû£ÿÿ-Ÿð+ý«™ñRì©süV<ûÿxÿ€£ÿñí¬ÿY+ºµÉH’B™ŽšKÕ£çlÖɤÀìÙ}]ÀÍpílä)ª-|ˈڱ ¢TAÛ;ÛyR}¯, r”æ—VËv°üÒwç„]ÐJu‹áñN<IZIÀô· +È£*  ½"C*§”Ž*SHŸú†µ> UY"š »m ¥ó½KQèÃýF`ècC…zÿÙ°$F̰dñ#ÿ +5³£°ÁšM‚£³ò.› ǽë\—ŽüÇo‘ÿ¼*ÁÐ ¿ÚÀ‚¡/ùOûš£›D׿FíJ|°Á«Öâ„`h ËHÞäºð5Ð7É.~žUFuÃWÓ’+¤D-Y­Æ&ßåÏo”_!UÖye×&åaˆ:‰Ö¾%8,,~uL=`Ã#ó9úŸ5¶í7Ø*󙜛Äb||ü óñ Ñÿøoì"ût£|pjûÔûßð½ïWÖlÅ`›ü‡w‡=ÚßHiWŽVDuô?Á[¾lýÏø‰¹ø??§B4ÂÍürÊ Êe ühgÒà‡ò©…ñ­=mx¾òê˜Xô®V,z7lm Ýó0lïŽ ˆ\‹5@ÙdÃðy哆Í; —cxu2…FKMDU› •­€½7O‚4é‘6ÈsŽÔ¬GÖ&+"Wg>Òâúÿõq :^}~Cû6åÛdÆÏ[»IX½j©±W’W…K÷=€ÉŽ«KBuð à5j€7ï¡»+ùè³ÉŸòÑMŠü¼µû¹†i»}“$?C8“%ßÅ«F<›xÖóŠÎ{rMŒ`Ÿ³Ê@ìÏB¿I•á^áSPßãò.ÇòJØaÉßÁMºl_SmX/ùÉ¹Æø%»ò†¨óÿÚ¤L –™êD]W¯zÍÝQ¨ÁzKÕ‰'ÏT«³}ohkA)ô6Ö^ß?iþÿ7ñßOéâü÷;>Yž‘@ÿ#šB|jØÀþ?*V „§æ¬ÿQã èĉHn(‰œæeÂßÝt; Ûý� šÒ²Ñ®¿á4Îï’©¨PL™ñ€`Ê ôÒëäÂùÔíêi€BH�©î‚R— Ô¥ªtboÃiH71T"€aˆt74º�‰FœÒ�ýð÷iç3ôQO†<×µ°þGî÷Ñÿ\ m.… ÍÝ@PÆêÚ=èºè]eÈ¢².†*C” Q.£*@“ëW�I.Í  È CkâŠ�9tº0Ô˜"Ö`ˆq ‚Z\:$@ŠKîÃú.Ì„ÐAÇÐaÜþ?̓õ?jĈ0’6À]Un6C‚» €ª®ŒÚ¥Kev#åW_Nõ¯=â_Â$¤ö—ì)½Þ}Nå/¥Rø»R÷K‡ÄúŸËÿúm@Š~…“š«P‹SòëL‘Šëãü’Ù õ¾ünrß ”jkqŠ­rŽ£ÿ çîsJ=TˆÃŠúÛÿÇš¦qê|5 e¾àT¤²#¤Èz85ÖË)ñ¨Ú@©ðe„øú R_ œò^{ ÕÕ.ä÷’ê µ^ÿ£A‰SY§œÂêDæÔõú¤¬`9U½Ô=HQ/1RÓ[îÃ^F·þ§ÝCŠSPtœzj¯sÊ©¶TœjŽKî·#]‘Z^ H)//#¤’ÚÀ)d‘{Ö“ÿýÇŸÑÿ¬Ðyñ2éÊŸüï·|ÂëÿC/ß\…ö•‘mݹ>¤´Cú^O-Ÿ–â§-Ý5SÃÚ¬¢$"ÝÔa™õ+CÜ£/²Žm˜ºÕv}þŽšÁ}ZvþZµ‰-qNÓ –ƒ½Ÿ\ЋÓb«Ù¯°‰ªõÕ™p­Þé”Öckp[ºl,O²†åþ¯´­BGô¸UÐ_mUù ÷õŒØÝ½ˆÍNp³v$¡ìªÍïrÅq—µÒˆÈŽÆs:מ€jìeÚìP S£^Íé§TXîäô<¥:³ócI%ñk|çͰòqú+Xo§]昈÷Þ-¨£“/¢¿‹ï†6ìmLÕÿ}ÑLx&œgÜî8IFxz’¢½½› E¬äÇ-¨Ðø[)–ca'謚»z2D –¿‰Qt½nή‚žJõa½¼r#S¿5<íðÉPª®N²“y âçÆçÑ:xÃvà ´¬b§?”ÓIѬ–³ê·í’HÝÖ,§½ð+$o²´µDî8 ¾€éâm@Rò³h“±ˆ75­cs²ÍFçÿƒâ/ûQ¥ÝõÃŽ™1Ù¸»Ð1Ý–ÜGBÄëž2mÄۚ麒Ufmö‘Ô³=Ïš©BÎ N1Tðj¡:}ÚBDDàœÝ’°%�jPvìNs ¶w(N4(Ï]AÅ‘ÈWÔÄ(·ÞcuÔZ£ÐÊA<¥V>j®6<úŸDò°iýc"ÜvÖ±m¨hdƒâÝlò`¢“ …JP¯émã"¼KSìv]CÔÞë—¹Nw×}7̓@C*ÝÞ…IäÚ“?ޤ±Xœò4’œm!ãìV*òÁYSÞ ÖÝÝ'òt+^!BЊÔÖdK ù˹%£A‰1½Ol·ãl‡ÑØtþ{“è³iíÔžëJœÐÖœ]P¤A”jq¡;ÑÃ’]ùÙ?S¡Á5¨­zm…0úÝ­X1í•ÆÓšÙNbÊ/f/néi´&´d3޵ôÐ+“ô¬ŽhVIÝe(+2Au³_bö‰lî¯Óÿ „úé=y ÿ³Óa _ãÁÞ¯]èz’ê2»¥¤LŒ»4g&G·iÇÏúÙH£¿9C½;w¶áæH^º™~.HSyXÜkÆ€¯c·1wáéáö¸µ1‚¸³S{V¼ÊšÝ—‚ —rrB¢^hmŸÎ½kµÒòz³cž°i%‚;¥YóÂùê0¡qN{þ õvšïÅÑuc¨Æ£4§•^ï²ÛtüáÖ*®‹:œn²vÄ%¯y¬´œÜ¢1Ë~šFt12 f¶ýðÓ`é¿ÁÏ߇ÿÿ±úŸ•©züÿÇÿç7}ð`(îgCƒYü'CþKÿƒOþ&¯Î&@÷¾fX/îŒç… ?ÏŸ à…îÎÈ]ˆÄ Ù…ûÏXýÖÿXIÌAçÚÀ°\ >Ç*œ{�ñ)dxà·P5Dí¹…S}°¶’ò²UÏÂèZý8V …úàéKþ -Z“ƒ õÖ0tV ÆÌbpÀ²ª}%‹ÒÇz ÆÅ·ü×& @Â:" GŸ¡¯‘ÿiOÕ>Àºjôà WÆÁA·ê¥Á°V®äàYµß�ÕûÊV=@ºªßcV1Ê8`Uö8(õ�?"äyÆ¥"9€Tý…€D§ÌF JÙgè© }Æœ**b°y €@=�/c²<ãJÕÕÄÃ< @’r—‚Tç †ŽÊ·gÌxyýXQÖ«ÿax(áq¡¸ª<Xe‚ÒÁŒ�å.è—ÎuÜ¡ŒÎ]%w€yU&pÁÔ±'Šø‘�Ðú+‘œþÍÞ$ò»Åvþh‹r£Öb•Óa˜¦*Bà³ó€(`v…& 2U[2‹CÂ0Øå:ÆàK㣮Kýõ˜t)ã¬8$Jp&-'v•ºö�REQ21–ŠM ƒ¨¢Á‰ÐSl¢ÜlŠ"‰<x©jpP’{}’”¡‘ÎiÆDªíвä0 ŠMƒÁ½QŒ{n+õ1ÒÑÛp NÖ±õŠØ<Ps‹ éÿ‹yÃ]~Q#�½ÙŒX´OTQ'2~( 3q•ä+¸�®É4‰Mf-ª±ÎÃ]µƒ9´“kÄ®âA€ 9Óƒ.Ô¿ °B×Ѓ'D-|€„¬wAˆ¼ð§ó¬ÿZ?>ÿÿ ýÏšþ¯þ§üÉÿÇ'|ë¶�ÑÊ*·ÏO„ݧŽS­ËLªhØçáí•eÕÕú•_ø•_øÕp¸Æ®@þü�èi§*ÔO%ÍzÏÖï¢Wp-ªe»ìíËþƒÖ¦ëz.D]†ÕÌp=êH«¼¹Q ”2ºÒ^¹ýÑýP êâe&‘Óל,Z6mÈ®]?7dxø|l¨àöz÷¥Íi#$²ذëÏ»5®ç D÷n¯à­Õn/¯Ñ3ÔµäÅhÛ9;Ñòw7®x>¬¥n/2½ÓÀ¸ÚG@­ÿCh‘vT£ÎÓòµWn¶ó޾îƒk§4†qk‚ñ‹7cvE…ï [úô׳=Eö¼y&q ¿Ú€—j¯v'³çÍ£Ì ž å6k\ÃÁæ±èÙæó¬*ë»?Ü~à`óáöÓ ’5+.Ùθ• [>xê µ­¼Óšûå—½IƒŠÂõé ‹&Uºž­[ÊwšDg›(‡h¢#Š#¬ü|Ú Ä]Åi2òô]-Ü*Z˜…æGef2Zr²Ï¼€È&2•SÕ^Þ„ P:jœÞí\fˆÎø§Ðþñ½4FŠÝºÁä¿•¥k ýÂB®Å_xÈ5®öà• ™„OåÆÊâ¿—…<�××ìÎÕn ZÝB¹îÂ'=·yâLžq£¢Möè_æ8Ö5ÙɇJ¤ww¯µL$zÝB#VÌUXvq:ál"²]¯ÍO¦ç�kœ:P9ï±ÒòÊÇeN âQ°–Yú™Cµè1ÎNàYñóÖ€lݶMï1W)¿K±2Š]†·|Ìñ"ö­(=z·Óƒº>ƒ5uY°Š˜|ëlÏÍF+¿ó5°t$¹¡R±÷æ‚y6#‹¬y´&±ýbCBQ‡ 9¡dåg¡¯ü&³+Î+ØA1…‰O«¿Jµê§¬«nÄ÷¹¡Y~Øþ´ú}º=þjC«Ÿê­:ïîvò{¡Øu½Nz¶6RóíͬFê”`ŸÕ Û:ñçÏßÄ?¥ÿIðßïø`ÌzˆBúu¯ ÖïHÏj5(c8Wü}—ƒûú "zçTœ?Ûõ7!5ý} ´ëoJÀÕ`¬‰°X=@˜úO�}UáÖvUÙx«‰ž‰VgT&þ?]ŽÈЪgÑÝDÖîÈ1€¥T¼Âêj�vº3©c¥)'Îéj�6ê¬gPDeˆÐ�4ÔÔ©0Hí ÔáƒqO rù�<M•J@:M¿ˆS¹üB8ئs jtÐ0˜¹�bT‹Ààå—�-wÞ»¨º å’²eöÌ‘†â<sŒ\f>�!Æÿ§ÛŸè0þ?»¡‹œƒQF �Ë«¸¢é �Š&³”‘„Þ†]x€ºxÕ0fh"*b°@¯S¸P‚ÞJ†M.ウf>�U¿$Ðeþ1¸Rÿ!3–SþÛ2¬9O1¤øw¥öªDá”^o§òWRø™´R÷®ýœ]g'ëêCÄYú廃ô¼©Dyùåwƒ„¼ªd™xS1Rðª¹wS…’îË™Ùv—Ãi¶ª9½>^ÂI«»ú!ŸnE(È©‹ gÐM‚§Î:N9gîz-H–[<‚1Î’›Z!=ÖNæ¼x¨gòá®î>H„/LôŠ$¾w%¼*ÓãD÷ó Á½å>”ØÞ‚ Vƒ[‰ ÔJ`¯$®·!P«ög‘¨Þ ­M'¦]í~‘6òq*ÚJ•ÊA›Œ1N>©\85<ë¿ÉÿþÏŸÑÿ¬UñÑÿäþ'ÿûŸàõ?xóšƒreäDpÄßTÁ›–ܽ«$î?š#JxSg”À–Á’TW¸Ä^+éà`än­ úÀÛïd§ƒÂ|¬Î f’î.z~jä"Â#Y6ùZ`}‚å%' OË^5ƒ``y™›`D\ûèxÕe8G³~[Aõ‡¥–Ç5Ã!±lñØ'=çLÕZ,íRíô2رçãàg»Jë+ƒBáÇá¤5E…¼±SbOɶßV¢E'èyœ©$.ՙ̽M´WÒƒ'¾°¾¼Ú;^,d'­IrÝØ†ãO‰Np~ž@ÉùBìó@™Ço^=všå%¯¯§¯óÏëFAËbçZ.‘+¶Zµ]feZvn6;¥ÚìM±rëû¾oCAËÿTc!¶ª:?A·;Í o@ÀÄšwˉ`Êø°PRÆ<šVÚTP#üÕ�•†Œ\”Šÿ(¹uµ¯ñÐÁcvŒ7Ïû/}í¡ºñ¶ œ’¶ÆIË K¼Z°í’ÒýJVO¸ke-‘åOGP”z´ña¥)Ðix…ͨû‹Š]YþtÆÀYÿµÇ‡gîfÙýOµuž+}¤ûÞ­¥ÕšÕqÏŽÛ•‚`~¹¸±Å™Yñè½¹vÒô¿®m¯:]AxÕ;UXÿ‹HrŠWBiùB,z‹’Ë…ž¤­·];h„»p´LD®­+͆5cX_–ð1†õÿ˜4]SeôrŠKöì\z" Ì ¯¢Á#È£[è ‰‘øE^Guê Vïäê|ïèakñ±«U‡j;»Ù}/…ît¬“JSmb˜]öÕ¹ëD¼+jÉÄEroZ‹„µ_Ùõ¦I-àl›xFý<œ�u…•}>ÑIÛR©ŠK×x¢œ(…êÄÏ+'Ú´b²¹ëìÑ»î‹}»@õÞ8m†ÿÌêÕálœð>à^eF¦ã;›v±j¨›žl TÁ锚•]Úöˆ¦½u¨k¢;~oPe ·zɘâ°QnEFêšêT1jŸüaÓCã'8{D6ç!¶Ð0“ž’K3¡>JNÝ´+_Ð<ŠNuÓ®öb£èfß®ŽÌ!Z£ý.”ÍÎÓM—£ù2í<Ú5±) …âV‡(¬¹¬¯rV¹â—SpVJ0Ì*Àd@¿ P [çSmhk¥Wôð~<ä×´9Ÿöwák´¡µ=ÿYhUêÙÎë•´îOxà¡í? uþ|>>þÿÇêVºîñ üË—"=,ŠFWÁ_=f€õE… _õÈ.„Ôΰ^hÎŒçEíÀ@^t ŒàÅÇ…¡»h ³«²æØòÊ 3JÐçªßa\.¬àÈÕTƒ‘¸Zf0Ÿ€ƒ½E²Â [\ØåÓAÙB´>ðú6ø±ÞKPKg$-g~ ´d0v¾>�ÍÒa-_Ž?€É—Âg°[êi�0VÊ<�ñ¿«:‡°ªsú^Ãq zйªb”«–?€·*)8¸VüC •ÁxìM²‡u…仪¹ƒVñ8hUE@ SÅUâàS�¦Êv?ˆT; EÕÚƒ1¨ª€|ªý£ÎÛÓ§áÐÁ™2wÀÔc�Yœ@”B˜?PR3Cê¯2xT!£F™€.J§œ(”e4d¨>` eö\ŠP ªD�ÿ.± X×(I6@5cË%€ÏóÓ„í¢41¨£9ù0îÜ0~S} 7©0bSqC5•Œ¦ñ‡e=ªóaT&ZÇÄÚ丠Y%¸¢Ñ ¼‡40äR} °–vÖY€€®®ƒVÅ® xJnÀ‘õˆÐå (f:iÌ$“’ÁÒ%¸JRå 㫸H%JéA„b“ðÑŽ1ëi`ì£^B�=* c´£Ê†9—àøæ–õ�‰W8@42ʨXæ`Q¾ð"v^ŒZ’ÚŠ®èÍ>8Eõ5�(zbŒLthH¢:Æ"2èÉ* ÄôR†¢8e¼qý,¨Ê;#ktÀuɵütúôÏþãóÿŸñÿI¯þçOþÿ[>áÕÿÄÍÉÍðC™ Ö»?ÀýçáîŠú'=êŸúµÿ®QûÙÎv>7˜í|üñ Ô<ÏþjžZò'VìG˜Ò­ÓQc;OTí!~2ÏÙèù!;Ûu^‚iGá—‡½ .Ú[Ñ~3ïÊ~eæØÌç1 ŠlæóÔDDú§Ìþ®]=>¿‘ z˜Á›Ë¿.o¿Ø£ëóV›ÛV¾:psÜêçW(‡^‹¡Ðþõ ûŸñ58ÄþǦcÿó±f>¡;YÄ®ý9ðwllpÎûº�w«âÍZ¡¤8Œ.sÐýx«Í¡KŸ³”A«Ûô&BÞfs5‰-m¼‘ÈæØ¡Û½/PfK›w ‚^—XÚ|øÕþ9;6/|ªò7’³ ÛØ8~oÀˈՉîÇ;Ræ}éÝn€èèµJÄîûèögâdz'M ÇÇ;bsúÂ׸Zqs|ŽÄ Ô?#^Žxkój¥¡<­@#§0¾ƒsªØ°Æ‚ÉdÔy 38?Ì&8©ÙÈ¡#ÚÎV—¹_ÌÉégê±´ñ<Õ^?†çÚ¯¦§—ñ½ƒyõѧfm×ßž|¬O·§;Zø”8,Ì>s O„ÏßÜCü¸3‰ÚÄÏ𺹈é{Ã1ÚqvL%¡îÆûã‰msž Ožû±0 ¬ëJ°š¹]»|~ Ñý6žF{+N[Tñæ&””†Ö¯ožÐð ácª¿:½©EGmá÷ãW¦ÌP ýÚ0Ùç±cšl‚ã7¬ü%ÆÝØÇ»’í²ïßB˜ˆzC¯™Ox{2‰ms^mjE|ø¡ Ò—ý/©Þh§4,©;NÅó¥e쌪•ÅOÏ¡Zü^k× … OØ…Ÿ˜¸k²÷Ïo ß÷7ÄO§`¯$k6lð«ÁJKöLZ°ÙêÍþióÿ¿‰ÿ~Jÿ“ÿà¿ßñÁX á93¹MñŸ€|ÊŠgÿ!’ýÏ¥ˆ¨÷v`ºëoøû(þ>ò}`7Ý̦ú"`5Â�£©¿PcŸ³˜ìúæÖ¯›B¯öRB60—Z8p½õC ÞÝØêr¦ºq€¥.U 0Ôµ°“’Ï3]2,`%µÉ`Œ¤ÆØè:(0Ñå!,dýÆÝÙÇÿGîÆñÿ¹àî#�Æ8×À6×À4ׯ�ËŒx)’ûTm ìr:Öÿ¨‰°Šz^0FQçÆ&—!PfÏm`ýä6"$aü ’¯�k¨±cŒ»°ÅuqÀ—™°Äåe q]>°ƒšù0f¸RÀ ÚëŒî‰IØ@oc‚ë+ÀW0Àu äþCU5ÈùU—ʾ^>çøj¹ýåTÙ3G(—¿ŒxÃ_bäîÚcœ³_ !äêWrôË ¹ùµrò»rñK«ˆ\]—8÷¾ìmsß Íú“qŽ}¹õ¸õ?¤?8—Ö^çZo%çΗeræ!"Ε¯8Œùn Üøj@N|…jäÂ×ëŒû^jOä¼—r]mà÷n€«Žt2ç´—f¹ìåîƒöÑ w½å>Pë_†@ðݹýŠ™@œ›^6;ÈI‡ˆß8½¾‚ôZÌ{^«rNëÿÓÍÈ1¯c ·¼SÞ†@ gÎ!‹è²žõßäÿߟÑÿävë üþÔÿú-Ÿðè \ñŽ�`t—jM7 eR.Á2fiEß”K­;œ­¥Å‰èaQ‹®¶y¦GÞ–¢¡Þé /æ =_œ—Ê@­XÏP\!rk‘1Qû굯1 %’­^~^ï×àüvÖ)_¸8þu$ïÕº%m*�;žu¥'îq¥¸*oÞ-¿2rQŒ9,owÝ;ÚD÷»o-¼1Í.÷¾׫%V^Eç9ƒ¥³o1Ý“aUG)¸\†3îájÅ=LÛ^ð¢º:kÂS„غ3èa?ï2¬E˪c›Þ•ª£xg±*Š­®¢ã;5Oš™øõ^í´*ðÌ¢oGÝá’­ºb“¤¶Â´ZqfŽNOV—sšxµn»?—ȯܙCųºV©Bƒ+FŸ–[ƒÕH°“6wŒ¼ú»Û1g¶Sn͆ rZ·×ѬÀ8ÇÉ6 ìgÄ“ðè·{ó‡Ìâ+'nY‹É Bw"Ÿõíð)/Û²Õ¬|2‰axJϨ*Ü­x¬ îÁn¸eÝ×J2oaE[T­·Gå:¶³:wüÿµwf ’ô¶¾Š îËÉìã›D€�æoéAš–íî§fUV.\ðe" s[r^ [×ð7*;d›'Êò6gÁÉk%-B4y¡<ÒZ´Iâ»ôß^i`e¿¡^í \ù²Œî­"&$eãñBÙn'ÏÚЋËõ3æwwhš4œD)<"Ì¥Íy ±µ›[|Š­yБ‚ߊÎzŠždlSYÛ1èÕÙí‰àawîg<zÓ´(Gb’¬Äià)<ר—找ӧ=¾Å;3„½Ç1B)Rº¶DÎ>]�gžŒ×Ù~MÞÕ¤HXì©®©—1Z›–éu¤õ89jOù¨^Xm-N–Ëåª×üdï^@Vg¯vZ;°08i„u]^Ö K„ä®gÊÒäêd§ ”½æUÒf äøÄ~ôÝ ®…*!MÙÉ`Gåäd×['Ëè’“†ÃÁn_™Ë{kµEù{eOk~µ3=+·Bµr˜ɩø‘Iî²ÙÈѳr¸ý”yˆv.ØE´iîð~‘ ±W·‚ $¦äŽs6,üβÀ˜{…eNúÇ yÙÙh­ˆ²Öjí Jæ¢ãÓêwÎfÄï:ùj«ÈXµ×¿°=Rp²ÐuÙ‡7š[a8ǯڹ{g Óœž vWA]ûŸn<nËê±K9ui¤Š<±:µnÝþÔÔM¬UÙ(bïN·Tádï T‘GÝGrKF¥ÓªÎH±®ñб»Ε¨Å9äÍ’¡ŠöV¡°öKÉ~þ§‘ëßêïãÿ­þg¿ìqü_Ãoý·?ò‡C‘e›FäWýŠbhº=A~‡н$®3Ö«</Jyù<¼™0ºKê/3»èÖÕŠ‡)]DÏo9Ô?*«“¸üÈApÍàgö„Ý’~h[2´³Å^åàµ(@WK¦ôjIÐ>$­‚¡ã•+7‡ÙY,Z4‹DæÐ²º1&‹SÅácI%?`,÷‰øòÃ\äZþ–›Àì+š½r[íÊ©ÌÕæ[¹Ólµçh/壬¨[ÊåÀ«tÇC­r5®Š8êpª\â¨ê—Ádz †IÕ/ã°¨è,„JRü¡O¹÷;%±þð¦)@3ÉÈeÂ…ˆˆ²4€)ë% Âh»DTÏLþ|”îÄܨƒé�£š1)ªÏ#¢ ·Ã†z  …rÍ ªª€1Pd\‡ÿ>õB»2ðØ!LGìµ¥¯kj¬KzáééÁää’qÔ/îXGÛ"GÙS2Ö¤JÓñLFìá2U2©|‘IL'F0m`öQÎ.Õ32mÉà9˜%GzøJ' +J˜¨Òµx@-zŽã0”./ Oê,jRc!¦%ýUÆ$U+2é>Œdªe"RiÔA!õÅ© ?²ìè‘IñÐŽ¬s.C2ðÌÖläT˜hÔ(IFeƒ@˜8Ï=8ì¢C‹ê™VdüLÑ2Ÿ¨vˆÝŒªN> ¹ETTÇ "²ßêêP• ã†:2gÄ+TÀ"!“ “…)ä–;} B¿Âô ŠGƹoÌ r~:4û#>þÿýOª¿úŸú ßþ?$àøÿøÔãÿ›•)¤>S\SåPÄ嫲ÿÏ›œ ÅЛºØÂg.W¤S¿‰²È¦~ÚÙ/È·7ñÇl}‡C1Ñô¢í¨6½ÖðhUªJ?ö3#Кr´é® ú“„ÓÐø¤•N<â|„J;9í3#ú€Þ G�ôg"•µ^íÓ+ìâÕè+ÅzLp[ŸÙ¦ºî\6*×JÁÆÝNuýV0èF%|g= §×‰ú§:ÕñÖ¿úÑQÿ|l Ù¯áö µW¼#ž{vaÄצ±ÀΓ럧·bÆÏ^|j =7o­¢qû¸ë¬Ž€èTi]ªOéXÚûÂázQPE”åÇSFIÏ xñn(½okp8N{DAФµ¢Ø‹¸ªÑjlçÜÞŸT¢¹KØŠOSÎÕÞOõçÈ’:K:EÐ@ÍwN v®Þ%Íø=;­�ö{zÊGòn`IÇãu¾3ll±áˆ@¼H*§?ÇeÎ1~ŽËœÛ·@rÑ~_“Ë‚±ˆŒTgHTééÌš[ì<»zTBVŸ36âì¶uí¡6É×îH{ü†ä£ÿðSmˆ¨ßo < y7LÒÇè?R$PºW;pæs™Öx¡ü¶Þ£éƒ%"‰-V§0‰”ËöÕ•„„5ïvRÕžï#Ûå®d@x½FÉ3<V[kÀ/YDV?t¥ÒSœÇ±î`Ë+Ÿilþòn`|6t<Àx¦àE9í3ÞYgÕ>ž²:^þš‚ ªtH¦fkŸƒ¢¸Å~lh¬€t³`¨(¼zŽS°D*SñØLÕDïŸW­6úKô«—d‡|ÍT ¢÷`—îµoê|ì¡ÖÚIYÈ~Ø­ì ¼oØZ¥63¯~é|‰*õ–w?ÞÁ¯~ù‘ÙA£²ïW{‡Ûsˆ^ÜÔÛü–\8?gñ:ð¬ìýÆÄ³Í§3íÜ„¿2Ó>šêmàþ`üÿwùï§ô?¿ùŸä£6ÐÊ“W] Ÿ¦cƒô†øF€ð.™ôA’­ ¢»Rõ‰ä®„x"¸+žÈíNÿ¦œ{ý?üäÿ ´)æ 3¹°%«äuwvWü ØP=¡—&d¹4Û¨5ŒÿI¤?úm8úm€«H ¡4“œÑ©IJ73Sã 6Xêª!%]7 t¤wŠ©hгÓÐ%*Ý D?—¹°§ËåfÞ¹~œs7ߨЂ¹æ:0ðÌÕ‡À1zŘ_.#p‹v3æ•ëà”KU>QQ�sÉÝ@<r5€Cf”‚?.A¸£‹³óFÖå 5ô`´P}#Åuè@‰kÐ!Ôß…ÑẄ@m`T¸.Ï Á5TWkUT̸vŠÐ_”CþKDƒP^ú ñ/S!Äöí² £ þò!B4ßr– ã«þ,â÷K©t´*ò+ˆ×¯O N¿Ÿß —Ïrãq=ŽÃ{;ÆxË]àw#ƒCnµsáX»é ‰ […'\«¥Õªfá`ZõPD«)GÏ—QóÝ@ÑòÕ€(Y»%GÇ×'ëÝçhX2GÁ—¸ ѯñ{#0¿(ÚÕ1ÇQ®*È8ºU_&k›Œ(Žg«t\d[ˆÒ@ÝKM–8tÕ>Æ1«Z[q°ª·’£Ôë+OõVr\ZUe„€´« èµÞ!�ÕkÊçõ œz_8м×H 0K9ö¬ÿ&þûÏÒÿ„òêÂoü÷'þ‚×ÿ bÒâj°G”ähÕ–<O‰xtLWq>*kT˜OäïúdëŠr©ÃÙ4r^;±Uú;ÒzwF?(¼Ò]Í}vd¨#ÛDiHUÒ´™»÷Q²ºËûÞågè…ät~;© ‘¶>þ?ô¸¾¸JðëÔ‰B‡s X½›ô Å+,CêË°Š˜­±¯lnÎ_šì#9EÒ B<‰ŸÛ]íLûœMÎ.XL—¾{øgï‘Öù"ÿÛÙü¤BJ˜2ƒ�áá»iûšy ¹‡Ë«®( Ù†õ|Z§CfWdaIðªÜ7ÍæOw”£íÑÞ–õ1®mêò­çyÕï1žåÑå×îÓ¢Û2lâê È\ˆvô¬^Bi¥Ú‚þ™­•‹³‰:–èiL;Ü*r¦·)jHèªÓJDr§‡ 1»ÄÞ<òT¢³/Zýî׫è¡qÉéJ„ŸsNY“2 ;¯Ø…–iÒ‰6¿¿°Ä§ ›×¾5ÍH³‚³Òå¹x›™‚§+ryÞj‹4mÞ…í‚ì}/3ñKG—G>G |îêŒÍæ‹'!:"»£7«HÚÑKÇC[ÛŒÃ|’ä,»aζ—LçŸ]ÚÿúDN«YA6 ¯Ü­ŒbMFô8ÕëèØ˜p;éØýpõp~/¢í¯$šS*m½Ý®f§wI¢ÑV GD6Ëö×Ê7æB'±zŒëÚû’ì¤Ûí5gxmSvÓ_c¥ê´J©ŽT£Z£9ìÑØËι“Êüí)Ô®$©CÏ Q=¯;µî§Ï”::¬1²¹ŸâNÂ?Õöš¸ØµÓ’®›Hël²’ƒ½êsÁ­`#Q\mVµú Ý/ Úæ#´BkÇ´b”<v¥=¦3uؾ~òÍšóÔI¹cŠHNT nÁJ;öÔOÿ›î8úôšÐì~ø½wöZ‡ƒh¦Û©oÓ:õâæ¼vB¦n ¼½—T±ÅJD¶Aï^á‘gp·ò”­Îr(CâÓ²S -²£ÃIÖ@mȦölÛ2Þ¢ò;{…At÷ ð]Ò”ÕÝiMzÍ·ßô8åNùTj—HçòoÚvZñÖ¨° @âÑâf¾"GqW±ƒ±ä[7/ô;Õ·½ÝŠ‹hÔ5' êÈŽi.*Ý£“&l{Õ–übá´—­ÌŽ\ûæfú@Ïà¦[ßkdæ n}Áº³&dûùŒ…¨ ;9Ö‚¹´g8Táà¹â»À,’cAmï*Ëb'ú:Y²2·`Ð{’mËç=‰¨-›ýü4CýoþûÇøÿ_«ÿYqê£ÿ‰ñ—ÿÿÄžÅýlä¯f9Ë$±—Y_„ ù*‡�ÝKz=c½¸¸0ÏËçä%½ž ^’¤Ý%õ˜™]2È#ÃúåÿJ×3`<—”èÃå’}€\¤7‡Äõ+ŒàÆÿgÿûJ GÑgQŸ0m—¶p0[…Ì×*ÖX³‡ÔšqÏ$} €å€§)»dfVo†eI?”,‰ÿUTÄ\|ÛÑ[Í�„o; `Iº>ä{ÛÑÒ!×÷°®t›¹A@·"o9X+ ä‡gÅ™æ€¬î” öV÷A»¨ÕYeŸ‡UÕhƒ!UöyèTBŒ¥rö‡G%±ý€¨ä •“=詟�sŠA ³¦z¨ÈÔDw¦K•Ù�+Å“èðä%ÍHª÷¤Zý�§ì‚‘Q?À¬(ø@¢ “C‡zXŒ…¢…:<(ZŒ{n¦`?íýTÔS ´§r/¼$ZðLM vr6LtÒåäú0Ã]R”c9‚©M' Æ5ÕÔ0§©¶‡MÕŠLf¢/:H¦_aS¿!†0µpcú’‰æ`—ôêÃ[—¶‡@K†ô,¹Zá40R©³”Ê¢¤‹zºæ¢fE5‡—T@Ä $“è!$•2©m3‘ P†!ê0‰TåàJ˜{ô+�5DcÐQ­Ž\òƒ6*a¦Q1ÀL’gŠ‘£8ø¢“s‹z†1°\ºÂ“¢)=ˆ"ƒë°‰~…¡ä6"‹vN†DYd˜?Ô&(zɇj}5TáÇŒ¡J† 5cª¸¥=È$Ô¹†3ÔeNd€U惌®Ÿ»þmþ|üÿ3þ?ñÕÿôßøÿOü…OÿŸ¸ŸOZ±B€Îç‘IÔïvv�zm?XŸ³•Ðw{áSŸ‘YŸ³¢Õx·³ÐãcÃ@o­úðíÀ@O¥zûß”MÜÌj?ßCÂóIW¦¾cj #Zÿ ~ÐûT¯õÛe`N2¯Éüî¬hÌkB@Žy­ÖÇ`çOцáRv÷±ç¯ŸXÇ·+ÁÎ^CØå’ÀwÛgýÎfƒ>gºod,Þ¯ŸOa}Nžî¨ ´0a´§GRÐóš U”P{úä ¦ë§bAAýT@¬ ªâÌCµß謞ñYî yý¥¾÷xí¼?>Ã_m`¯G$oð"™�[Å× '²×NˆÎq&²Ž·DH)°«¬ëp)áÑsÈÁöôm]Û¾îGÊì(üèdøåÍÓ¯vîù5Z×éø°‚røÝÐ@ô¹ˆ 0ðÎ\ h<?Þ+=©xÅW>8Ïd—ÆñÁñ¿1Ã1Èq¾DÕV@l…kÞĆѭ}ÄfóÏK²ßBžyÞÅM>¿‘©?w0¯«X?7äãjãež¨W:Tñ…>œ §´ø9œw]L•ôÈæÞÀŽ3ŸOCˆø±¯§Ç™M˜>¿Ñ㌛¿wvá_lhlØìäsy"<~/ ׺x5(õ¸ñòìnŒ<‹w‰líRš“¹DÔÑ}åµ Hø¬g;IñsÝÉŠŸ“hÉ­|N¢¥€Õ¾Aås]‹;“Ï®*ŒZžN²:OŸ»jí/6t~ õüFGÁ÷Š|<n~e4,8Þž¯L”^yÕSZ¨/ z^•æôŠ ¬7Þ¯FÖBù�©F,zv£ÄnC¤Äê©×æÏx>ŒdU~Š©%r¹ÇˆõVÏoTÖ[½[kŸ×ýì8×›ÛоçÖR×>oyíðÕ~¿1P¥çéouá?.bÄAýû~LÊ©_hÍO¬¹x?x©5سø'Çÿ—ÿ~JÿSùïOü¡¿zjBÏò§ˆ3ˆø.IHµÿgÿ5Q~gJž=ÑÿÌ[BÀþ?â–r»œ‚uÔ`ÿÉ ¡]¹ÎÐçH²<ˆL¥5 ±!j˜ê}@^—Þ‡ˆkˆuHë2¯aÝ pæ‘Ü{&*Ý“Ô%‘AéA39]¢ÌÚùHér÷!]>D #õÞ`"º¤] !½wL@FÿSàƒ‰Gý]˜tTzÀ„3¦H†@6×NA4w‘Ì%³Á\2Ëe³Y¾/_©è}dBÑûÂd2$]Ÿ‰äò‰\2Èe*òÐÞÇÄqi\ Œëä@׈Q\;I\ò'„*&‡k †Ëe¤0DvÄ„0EgÂdpË}b0GÊ$`ô?&‰v‘ÿÕ€ˆÿ’ÿ!Ò¿Bˆð‡¤8²¿öˆþ²B$¹û ‚¿Tz²SDì·!ûÝÈN¡ß ø„!"¿‘ø¥wAÞnÿšdöä[G‡Ú—þ!¶NPZë½åúú BékEmô?ÅŒJ™¯¯ TÖ«Î!òõ„ÆWBâk…¯C¬fjúª[‡¼—– ¡®ñÿÙJO¢ˆAl«CcZ]28–½œyÃêmàØõ¶û¡˜õ6¢XU;?Ǩ·!ÔNºĤ÷ÒD±èe„T¯Çž×>s^Ÿ@¬y}1¦Þ(Ž-¯O ¦¼®bÉ^u¤ ²ˆÑÛ³þ›øï¿~Fÿ“ê‡þç7þû#áñÿ¡—¹Ã¹HíL›GšPž¦d›ß˜)=a­».?¤¤XÄN“ BÂ6{…9[¹—m fÃkÒâ¤æ¹ÚÄÏN“GäªZÒ<ª]»MÞÈ1ÎÉùö:÷{6¢Ý4—k3‚­w¾“…÷ÿÞl¼QÕ¦qîB” µÏ¼WÄBdz§0\ýu˰2™õÁ|¦ŠÝÿŠ|©’³M©ÞYKtøÅiÀøDuéý)BÕƒÈ.f¼wP‚_¥\¨»4×õj‘ì·ûöó5B]áSž fgϳë#EÝ©ˆz§ËßôŸŸ ìŠk¥‰ˆ1ìyíÚÇ”E›lÂÿ®P‡lYçž°OŒb]›‚3õá5ï›ÃY}§£ç[5ÆÆ*:Ý4ílx9Ó»B4äÒøL÷ܹ½[€Ð@â®Þì~æàúµÖ„a;gîl†µ¤¸ÁßaS¼Ùžïz—¥o…|!+R*ë&;É -²ëV» 2Ý®jSÚKGZA)Ö¬£t8ÉŒîDM£ðúls&*¾N²‘>°£ï¯£µ9Øl»T¢Ë‘Þ2›}»œ™Õê;ôhÚ›ƒ‚Ì1ÛÛ[¡NIû…£i/˜j¶‚‘ŠivNÛù×ÏQ×à-$…ÉÏŒ¿ƒT§!¨J»fZ+¥Y5Iúœô­È=½@ <v>Pt¹«¾s1wßs ë ÞK,nHÑžÎï­ ÈRî>~Ÿù‚K;ìÒd½ ¤wH`£]§­uq8ÃDná;Ck^‡oW¤õIúÑæ$Q»æÄþ_s:Y#:½h".{Gº üáyû@ ,sFBÊNEö‰Ñö’c8u? îøww£ý7å¢üÓvª³Í8áV˜Ý绊“·¤Œ›çß®=½œ âµ½ÂhfÍÈvÿüò 'ÛKwÒü¼qOÐu¸¥gâõKN>Pù»u'ÏÙÆýùéd5XÂgÊ^í…dïûbó=úR˜vPåo¶Å VZñÒÇ+·ŽÒÚ;«3úéxþÏåïµ}PÞelNŸ“'U(Xsº‰Õh} VŽób÷V’x£Üœ~{ŸÏÜr¡æ„¤™¦™æ¯R(ÙdMfvRÜ~@tÛ«•î²ÙÈ<tj¤Ž”øTm÷/,¯ZgeÛg†Àpº5 ¢÷éu>Ïd}œ*g‹oè4í¹q¨‹´K…uØX»²ÓΨ¶;ìBþ;9ýª·=>Zu ,/N·\'{FtxÍëV§ôÓ¬ôñïãÿ±þ§´×ÿç7ÿïüáÁP¤‡EPÆj޽±vaÔ¿œ](‘ ý䞎t$7˜æ6ÉifŽ—üdøpÒ»™Ü%'š‘]Òª™ÕÕµ‚!]ì9kî;c¹fé3_)÷�q±E9~«èU„ÄÌ­þ Ûš¥Ê>»áàµfí3WKöòj5b’éÄAhÉ‘>ì¬ ͺS¦e¹?“µùX-:ŒU"ò«LÂ* c–œòþ*Ì�ôösX‡v5­Ÿ1W:Æá[¹ÓlE8vˆV9e5ñŸV:ÇW9.¦ÖØ´;We§‡Sõ+ ¨¢9d*r‚ƒ¤×˜ÀxÑL†P5í`ú”#eì” Æ¼©4傼…x°‘zfJÕû�&EdÄ©6)‡5ùË7À‹±6iœ…q@ˆ¢;d(æ# EÐqXPFð5Wÿ.=Ír•øTÿÒ«z#è£*_‚ÒX|šêtvÍÉï1ÆÉ}d~Ë·¤³ˆMäÕTFÈŒ¦3 ÙL‰‡ÊTðÈ8&§q8LuG `2ByÉx;È¥Ú°–(ãc‰–êÀ•ê}˜ªÔX‰qJ½Ç˜£tja€q““¸îbºõ?Ù m˜‘äG©-S‘ü*ãÐÐɇB¨üsM>œí&_aâ©òFá˜qDïsàF§¦UÎ2ΨËsŒjs�0I]Á@.rSYdtT1Ö>f<2œè7JôL#*,d Ñy„ùCdu<ÔŒ‰CúðA[YB 2RUÈÕ98¡*#æ: ä+?eýûþùøÿ'ô?µ‡_ýÏý…oýOÕ‰'àç³ÈŒóŒ®—T4â[v’ƒož7³ãª¬Í™²¥'¬¯f<yx­ æù² øL¸­¬æñf'ÂݧÐ~ƒ=Ï« ªñ3áuM¾ŸiÔÒ¼ív> ª9Η·æw'—š.Vm2)¥­ÇTý½¢T¶š³ÓpU*tÛ½¶+R&Ûc°ÓÕvFFÍ®=QÅéÇ;ƒ“×úðÞQ™ ¶<&+ä!ùè^!MûZÙ)¸l®¯*(ý÷ßE(¥%x7 N³Úãiä ù'®Öd¯çQûøî¶sàÚç†2=èJÝ*2£ýß¹qû·×šoåA“LÈ×ׂ_‘ÔĽ7T®ãAüsmX±æøêìGëóZ±Öçà ˆ?ú§figØÕÏ üŒøÃ ˆ^ ­àÓJ2ÖÒ)»1;™Q­h÷ûiÏîì{Zï”vÿRîv¶¨½à½ÊE¶³¦AïgŠÖìêdêùN¹övòrÿîvömÕ¹íÄóOúÎãƒXÀk)#×nOåÅ3¸Újˆ/J²Ú" ïºùv~Ùµ¾¿U1VB"ëìl6ûÎüœw.àüê”ûá5.‡?kV÷¼ò%V÷¼XÝó±|÷ÌÃ;wp_©8}{Û²àÊ™.q%qo³ÂŪu›u-×uË‹ïYÀ¶GФŸ…aO ¦³îœCÊâÍþnBÚ`všÐ¸3ÌR²=c'"Ò$Áÿµá”syÌnJã NVøîûÚþB$Óâ_5vòÚ«Â~Яh©CÚ’R¶KMá"œO\³ ›sg²‚›]àüsPìB矫Ç.x^¿7°1=¯1Ñ�›Î@l×| Ÿ„*ë‚ØËÎ…Ñ×äe׺]zfqz¢LÐFv:®…ÞÉŽÜl¬±Vêý¼qŽl×­];}÷ÌX²‹Äèõ Œl`¸+©ÓÚ½ŒüZ½ëªJ¶FV»¼únÙÊ$w•õ Ìä.õ BŸØ®¹¾—¥š›ýÝÙ&%šN;r×½‡Ô–ñ˜óÓqÿùû»ü÷SúŸ_ÿ×?ò‡AþöGÿ£ª"¾)éú ½)¹ÅÉù÷€ìè-ýH×/w`rùÁpÆ©ÂdŒƒÙTP�VS™ íÒ›iR6˜ìú?±˜þ 6%5ì5oÿŸ¼sÎç[U¥: ¬v&^5ö½ ‡«Ôž‚ªÊ91I©} #T»f'u’`hª¢ï`ZjQA„Iê5Á|Ô.C £¦÷Dtý,P¨©1ÑÑÿi¨È½—0ÏYOÂa½ÂÌ8M-”�7­]}j/S]Í|Xÿ#w)æ6‚þG Xÿs­ÿŸntHL'W¨ä6"é¢3a i:ÀM’ñ<ªN1q4^àÂA íÌMÍ|�=iQ…ÞJÆ Mù?úUÄ€T6ÀÜpÉ[À MÝ}� ME4  Œ]l©˜ .Ý Xàj�¨ZcÿË!1ÿ¥!B¬i ã_Â$ÄöWbú»bùiô?û\D•ÇÁûqÐÿu‘ápý°K8qºNn ·¦v?™ëã\ûÇâdáÀ „7ñvâè»ÉÌawW•ÂíËUa¶^B¯¯O ¬¾„8§¯‰a´ ¤8|¾„I›§îá².&_ !„Çׯ ,Ö‡ï8©Dᯚ_qØ{5 Üíºh Ìm28¾m**B`{}í!³pBÙÞ®•h_Š&ˆƒ×¦Ò%D­­Ë>®ê|ÊqjU(@U;(ŽL[Ô IÕ ‹cÑ^dB»øCqôù?è~ÿ~ÿ~ÿþÿþý7vw¯�°������������fio-3.39/trim.c�������������������������������������������������������������������������������������0000664�0000000�0000000�00000003261�14762620516�0013357�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * TRIM/DISCARD support */ #include <string.h> #include <assert.h> #include "fio.h" #include "trim.h" #ifdef FIO_HAVE_TRIM bool get_next_trim(struct thread_data *td, struct io_u *io_u) { struct io_piece *ipo; /* * this io_u is from a requeue, we already filled the offsets */ if (io_u->file) return true; if (flist_empty(&td->trim_list)) return false; assert(td->trim_entries); ipo = flist_first_entry(&td->trim_list, struct io_piece, trim_list); remove_trim_entry(td, ipo); io_u->offset = ipo->offset; io_u->buflen = ipo->len; io_u->file = ipo->file; /* * If not verifying that trimmed ranges return zeroed data, * remove this from the to-read verify lists */ if (!td->o.trim_zero) { if (ipo->flags & IP_F_ONLIST) flist_del(&ipo->list); else { assert(ipo->flags & IP_F_ONRB); rb_erase(&ipo->rb_node, &td->io_hist_tree); } td->io_hist_len--; free(ipo); } else ipo->flags |= IP_F_TRIMMED; if (!fio_file_open(io_u->file)) { int r = td_io_open_file(td, io_u->file); if (r) { dprint(FD_VERIFY, "failed file %s open\n", io_u->file->file_name); return false; } } get_file(io_u->file); assert(fio_file_open(io_u->file)); io_u->ddir = DDIR_TRIM; io_u->xfer_buf = NULL; io_u->xfer_buflen = io_u->buflen; dprint(FD_VERIFY, "get_next_trim: ret io_u %p\n", io_u); return true; } bool io_u_should_trim(struct thread_data *td, struct io_u *io_u) { unsigned long long val; uint64_t frand_max; unsigned long r; if (!td->o.trim_percentage) return false; frand_max = rand_max(&td->trim_state); r = __rand(&td->trim_state); val = (frand_max / 100ULL); val *= (unsigned long long) td->o.trim_percentage; return r <= val; } #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/trim.h�������������������������������������������������������������������������������������0000664�0000000�0000000�00000001607�14762620516�0013366�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef FIO_TRIM_H #define FIO_TRIM_H #ifdef FIO_HAVE_TRIM #include "flist.h" #include "iolog.h" #include "compiler/compiler.h" #include "lib/types.h" #include "os/os.h" extern bool __must_check get_next_trim(struct thread_data *td, struct io_u *io_u); extern bool io_u_should_trim(struct thread_data *td, struct io_u *io_u); /* * Determine whether a given io_u should be logged for verify or * for discard */ static inline void remove_trim_entry(struct thread_data *td, struct io_piece *ipo) { if (!flist_empty(&ipo->trim_list)) { flist_del_init(&ipo->trim_list); td->trim_entries--; } } #else static inline bool get_next_trim(struct thread_data *td, struct io_u *io_u) { return false; } static inline bool io_u_should_trim(struct thread_data *td, struct io_u *io_u) { return false; } static inline void remove_trim_entry(struct thread_data *td, struct io_piece *ipo) { } #endif #endif �������������������������������������������������������������������������������������������������������������������������fio-3.39/unittests/���������������������������������������������������������������������������������0000775�0000000�0000000�00000000000�14762620516�0014300�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/unittests/lib/�����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�14762620516�0015046�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/unittests/lib/memalign.c�������������������������������������������������������������������0000664�0000000�0000000�00000000764�14762620516�0017012�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stdlib.h> #include "../unittest.h" #include "../../lib/memalign.h" static void test_memalign_1(void) { size_t align = 4096; void *p = __fio_memalign(align, 1234, malloc); if (p) CU_ASSERT_EQUAL(((int)(uintptr_t)p) & (align - 1), 0); } static struct fio_unittest_entry tests[] = { { .name = "memalign/1", .fn = test_memalign_1, }, { .name = NULL, }, }; CU_ErrorCode fio_unittest_lib_memalign(void) { return fio_unittest_add_suite("lib/memalign.c", NULL, NULL, tests); } ������������fio-3.39/unittests/lib/num2str.c��������������������������������������������������������������������0000664�0000000�0000000�00000002141�14762620516�0016622�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <limits.h> #include <stddef.h> #include <stdlib.h> #include "../../compiler/compiler.h" #include "../../lib/num2str.h" #include "../unittest.h" struct testcase { uint64_t num; int maxlen; int base; int pow2; enum n2s_unit unit; const char *expected; }; static const struct testcase testcases[] = { { 1, 1, 1, 0, N2S_NONE, "1" }, { UINT64_MAX, 99, 1, 0, N2S_NONE, "18446744073709551615" }, { 18446744073709551, 2, 1, 0, N2S_NONE, "18P" }, { 18446744073709551, 4, 1, 0, N2S_NONE, "18.4P" }, { UINT64_MAX, 2, 1, 0, N2S_NONE, "18E" }, { UINT64_MAX, 4, 1, 0, N2S_NONE, "18.4E" }, }; static void test_num2str(void) { const struct testcase *p; char *str; int i; for (i = 0; i < FIO_ARRAY_SIZE(testcases); ++i) { p = &testcases[i]; str = num2str(p->num, p->maxlen, p->base, p->pow2, p->unit); CU_ASSERT_STRING_EQUAL(str, p->expected); free(str); } } static struct fio_unittest_entry tests[] = { { .name = "num2str/1", .fn = test_num2str, }, { .name = NULL, }, }; CU_ErrorCode fio_unittest_lib_num2str(void) { return fio_unittest_add_suite("lib/num2str.c", NULL, NULL, tests); } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/unittests/lib/strntol.c��������������������������������������������������������������������0000664�0000000�0000000�00000002070�14762620516�0016716�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include "../unittest.h" #include "../../lib/strntol.h" static void test_strntol_1(void) { char s[] = "12345"; char *endp = NULL; long ret = strntol(s, strlen(s), &endp, 10); CU_ASSERT_EQUAL(ret, 12345); CU_ASSERT_NOT_EQUAL(endp, NULL); CU_ASSERT_EQUAL(*endp, '\0'); } static void test_strntol_2(void) { char s[] = " 12345"; char *endp = NULL; long ret = strntol(s, strlen(s), &endp, 10); CU_ASSERT_EQUAL(ret, 12345); CU_ASSERT_NOT_EQUAL(endp, NULL); CU_ASSERT_EQUAL(*endp, '\0'); } static void test_strntol_3(void) { char s[] = "0x12345"; char *endp = NULL; long ret = strntol(s, strlen(s), &endp, 16); CU_ASSERT_EQUAL(ret, 0x12345); CU_ASSERT_NOT_EQUAL(endp, NULL); CU_ASSERT_EQUAL(*endp, '\0'); } static struct fio_unittest_entry tests[] = { { .name = "strntol/1", .fn = test_strntol_1, }, { .name = "strntol/2", .fn = test_strntol_2, }, { .name = "strntol/3", .fn = test_strntol_3, }, { .name = NULL, }, }; CU_ErrorCode fio_unittest_lib_strntol(void) { return fio_unittest_add_suite("lib/strntol.c", NULL, NULL, tests); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/unittests/oslib/���������������������������������������������������������������������������0000775�0000000�0000000�00000000000�14762620516�0015410�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/unittests/oslib/strcasestr.c���������������������������������������������������������������0000664�0000000�0000000�00000003272�14762620516�0017755�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * Copyright (C) 2019 Tomohiro Kusumi <tkusumi@netbsd.org> */ #include "../unittest.h" #ifndef CONFIG_STRCASESTR #include "../../oslib/strcasestr.h" #else #include <string.h> #endif static void test_strcasestr_1(void) { const char *haystack = "0123456789"; const char *p; p = strcasestr(haystack, "012"); CU_ASSERT_EQUAL(p, haystack); p = strcasestr(haystack, "12345"); CU_ASSERT_EQUAL(p, haystack + 1); p = strcasestr(haystack, "1234567890"); CU_ASSERT_EQUAL(p, NULL); p = strcasestr(haystack, ""); CU_ASSERT_EQUAL(p, haystack); /* is this expected ? */ } static void test_strcasestr_2(void) { const char *haystack = "ABCDEFG"; const char *p; p = strcasestr(haystack, "ABC"); CU_ASSERT_EQUAL(p, haystack); p = strcasestr(haystack, "BCD"); CU_ASSERT_EQUAL(p, haystack + 1); p = strcasestr(haystack, "ABCDEFGH"); CU_ASSERT_EQUAL(p, NULL); p = strcasestr(haystack, ""); CU_ASSERT_EQUAL(p, haystack); /* is this expected ? */ } static void test_strcasestr_3(void) { const char *haystack = "ABCDEFG"; const char *p; p = strcasestr(haystack, "AbC"); CU_ASSERT_EQUAL(p, haystack); p = strcasestr(haystack, "bCd"); CU_ASSERT_EQUAL(p, haystack + 1); p = strcasestr(haystack, "AbcdEFGH"); CU_ASSERT_EQUAL(p, NULL); p = strcasestr(haystack, ""); CU_ASSERT_EQUAL(p, haystack); /* is this expected ? */ } static struct fio_unittest_entry tests[] = { { .name = "strcasestr/1", .fn = test_strcasestr_1, }, { .name = "strcasestr/2", .fn = test_strcasestr_2, }, { .name = "strcasestr/3", .fn = test_strcasestr_3, }, { .name = NULL, }, }; CU_ErrorCode fio_unittest_oslib_strcasestr(void) { return fio_unittest_add_suite("oslib/strcasestr.c", NULL, NULL, tests); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/unittests/oslib/strlcat.c������������������������������������������������������������������0000664�0000000�0000000�00000001622�14762620516�0017231�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include "../unittest.h" #ifndef CONFIG_STRLCAT #include "../../oslib/strlcat.h" #else #include <string.h> #endif static void test_strlcat_1(void) { char dst[32]; char src[] = "test"; size_t ret; dst[0] = '\0'; ret = strlcat(dst, src, sizeof(dst)); CU_ASSERT_EQUAL(strcmp(dst, "test"), 0); CU_ASSERT_EQUAL(ret, 4); /* total length it tried to create */ } static void test_strlcat_2(void) { char dst[32]; char src[] = "test"; size_t ret; dst[0] = '\0'; ret = strlcat(dst, src, strlen(dst)); CU_ASSERT_EQUAL(strcmp(dst, ""), 0); CU_ASSERT_EQUAL(ret, 4); /* total length it tried to create */ } static struct fio_unittest_entry tests[] = { { .name = "strlcat/1", .fn = test_strlcat_1, }, { .name = "strlcat/2", .fn = test_strlcat_2, }, { .name = NULL, }, }; CU_ErrorCode fio_unittest_oslib_strlcat(void) { return fio_unittest_add_suite("oslib/strlcat.c", NULL, NULL, tests); } ��������������������������������������������������������������������������������������������������������������fio-3.39/unittests/oslib/strndup.c������������������������������������������������������������������0000664�0000000�0000000�00000001724�14762620516�0017257�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include "../unittest.h" #ifndef CONFIG_HAVE_STRNDUP #include "../../oslib/strndup.h" #else #include <string.h> #endif static void test_strndup_1(void) { char s[] = "test"; char *p = strndup(s, 3); if (p) { CU_ASSERT_EQUAL(strcmp(p, "tes"), 0); CU_ASSERT_EQUAL(strlen(p), 3); } } static void test_strndup_2(void) { char s[] = "test"; char *p = strndup(s, 4); if (p) { CU_ASSERT_EQUAL(strcmp(p, s), 0); CU_ASSERT_EQUAL(strlen(p), 4); } } static void test_strndup_3(void) { char s[] = "test"; char *p = strndup(s, 5); if (p) { CU_ASSERT_EQUAL(strcmp(p, s), 0); CU_ASSERT_EQUAL(strlen(p), 4); } } static struct fio_unittest_entry tests[] = { { .name = "strndup/1", .fn = test_strndup_1, }, { .name = "strndup/2", .fn = test_strndup_2, }, { .name = "strndup/3", .fn = test_strndup_3, }, { .name = NULL, }, }; CU_ErrorCode fio_unittest_oslib_strndup(void) { return fio_unittest_add_suite("oslib/strndup.c", NULL, NULL, tests); } ��������������������������������������������fio-3.39/unittests/oslib/strsep.c�������������������������������������������������������������������0000664�0000000�0000000�00000004266�14762620516�0017104�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * Copyright (C) 2019 Tomohiro Kusumi <tkusumi@netbsd.org> */ #include "../unittest.h" #ifndef CONFIG_STRSEP #include "../../oslib/strsep.h" #else #include <string.h> #endif /* * strsep(3) - "If *stringp is NULL, the strsep() function returns NULL and does * nothing else." */ static void test_strsep_1(void) { char *string = NULL; const char *p; p = strsep(&string, ""); CU_ASSERT_EQUAL(p, NULL); CU_ASSERT_EQUAL(string, NULL); p = strsep(&string, "ABC"); CU_ASSERT_EQUAL(p, NULL); CU_ASSERT_EQUAL(string, NULL); } /* * strsep(3) - "In case no delimiter was found, the token is taken to be the * entire string *stringp, and *stringp is made NULL." */ static void test_strsep_2(void) { char src[] = "ABCDEFG"; char *string = src; const char *p; p = strsep(&string, ""); CU_ASSERT_EQUAL(p, src); CU_ASSERT_EQUAL(*p, 'A'); CU_ASSERT_EQUAL(string, NULL); string = src; p = strsep(&string, "@"); CU_ASSERT_EQUAL(p, src); CU_ASSERT_EQUAL(*p, 'A'); CU_ASSERT_EQUAL(string, NULL); } /* * strsep(3) - "This token is terminated with a '\0' character (by overwriting * the delimiter) and *stringp is updated to point past the token." */ static void test_strsep_3(void) { char src[] = "ABCDEFG"; char *string = src; const char *p; p = strsep(&string, "ABC"); CU_ASSERT_EQUAL(p, &src[0]); CU_ASSERT_EQUAL(*p, '\0'); CU_ASSERT_EQUAL(strcmp(string, "BCDEFG"), 0); CU_ASSERT_EQUAL(*string, 'B'); p = strsep(&string, "ABC"); CU_ASSERT_EQUAL(p, &src[1]); CU_ASSERT_EQUAL(*p, '\0'); CU_ASSERT_EQUAL(strcmp(string, "CDEFG"), 0); CU_ASSERT_EQUAL(*string, 'C'); p = strsep(&string, "ABC"); CU_ASSERT_EQUAL(p, &src[2]); CU_ASSERT_EQUAL(*p, '\0'); CU_ASSERT_EQUAL(strcmp(string, "DEFG"), 0); CU_ASSERT_EQUAL(*string, 'D'); p = strsep(&string, "ABC"); CU_ASSERT_EQUAL(p, &src[3]); CU_ASSERT_EQUAL(*p, 'D'); CU_ASSERT_EQUAL(string, NULL); } static struct fio_unittest_entry tests[] = { { .name = "strsep/1", .fn = test_strsep_1, }, { .name = "strsep/2", .fn = test_strsep_2, }, { .name = "strsep/3", .fn = test_strsep_3, }, { .name = NULL, }, }; CU_ErrorCode fio_unittest_oslib_strsep(void) { return fio_unittest_add_suite("oslib/strsep.c", NULL, NULL, tests); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/unittests/unittest.c�����������������������������������������������������������������������0000664�0000000�0000000�00000002564�14762620516�0016332�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * fio unittest * Copyright (C) 2018 Tomohiro Kusumi <kusumi.tomohiro@osnexus.com> */ #include <stdio.h> #include <stdlib.h> #include "./unittest.h" CU_ErrorCode fio_unittest_add_suite(const char *name, CU_InitializeFunc initfn, CU_CleanupFunc cleanfn, struct fio_unittest_entry *tvec) { CU_pSuite pSuite; struct fio_unittest_entry *t; pSuite = CU_add_suite(name, initfn, cleanfn); if (!pSuite) { CU_cleanup_registry(); return CU_get_error(); } t = tvec; while (t && t->name) { if (!CU_add_test(pSuite, t->name, t->fn)) { CU_cleanup_registry(); return CU_get_error(); } t++; } return CUE_SUCCESS; } static void fio_unittest_register(CU_ErrorCode (*fn)(void)) { if (fn && fn() != CUE_SUCCESS) { fprintf(stderr, "%s\n", CU_get_error_msg()); exit(1); } } int main(void) { if (CU_initialize_registry() != CUE_SUCCESS) { fprintf(stderr, "%s\n", CU_get_error_msg()); exit(1); } fio_unittest_register(fio_unittest_lib_memalign); fio_unittest_register(fio_unittest_lib_num2str); fio_unittest_register(fio_unittest_lib_strntol); fio_unittest_register(fio_unittest_oslib_strlcat); fio_unittest_register(fio_unittest_oslib_strndup); fio_unittest_register(fio_unittest_oslib_strcasestr); fio_unittest_register(fio_unittest_oslib_strsep); CU_basic_set_mode(CU_BRM_VERBOSE); CU_basic_run_tests(); CU_cleanup_registry(); return CU_get_error(); } ��������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/unittests/unittest.h�����������������������������������������������������������������������0000664�0000000�0000000�00000001177�14762620516�0016336�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef FIO_UNITTEST_H #define FIO_UNITTEST_H #include <sys/types.h> #include <CUnit/CUnit.h> #include <CUnit/Basic.h> struct fio_unittest_entry { const char *name; CU_TestFunc fn; }; CU_ErrorCode fio_unittest_add_suite(const char*, CU_InitializeFunc, CU_CleanupFunc, struct fio_unittest_entry*); CU_ErrorCode fio_unittest_lib_memalign(void); CU_ErrorCode fio_unittest_lib_num2str(void); CU_ErrorCode fio_unittest_lib_strntol(void); CU_ErrorCode fio_unittest_oslib_strlcat(void); CU_ErrorCode fio_unittest_oslib_strndup(void); CU_ErrorCode fio_unittest_oslib_strcasestr(void); CU_ErrorCode fio_unittest_oslib_strsep(void); #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/verify-state.h�����������������������������������������������������������������������������0000664�0000000�0000000�00000004704�14762620516�0015036�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef FIO_VERIFY_STATE_H #define FIO_VERIFY_STATE_H #include <stdint.h> #include <string.h> #include <limits.h> #include "lib/nowarn_snprintf.h" struct thread_rand32_state { uint32_t s[4]; }; struct thread_rand64_state { uint64_t s[6]; }; struct thread_rand_state { uint64_t use64; union { struct thread_rand32_state state32; struct thread_rand64_state state64; }; }; /* * For dumping current write state */ struct file_comp { uint64_t fileno; uint64_t offset; }; struct thread_io_list { uint64_t no_comps; /* Number of completions saved for the thread */ uint32_t depth; /* I/O depth of the job that saves the verify state */ uint32_t max_no_comps_per_file; uint32_t nofiles; uint64_t numberio; uint64_t index; struct thread_rand_state rand; uint8_t name[64]; struct file_comp comps[0]; }; struct all_io_list { uint64_t threads; struct thread_io_list state[0]; }; #define VSTATE_HDR_VERSION 0x04 struct verify_state_hdr { uint64_t version; uint64_t size; uint64_t crc; }; #define IO_LIST_ALL 0xffffffff struct io_u; extern struct all_io_list *get_all_io_list(int, size_t *); extern void __verify_save_state(struct all_io_list *, const char *); extern void verify_save_state(int mask); extern int verify_load_state(struct thread_data *, const char *); extern void verify_free_state(struct thread_data *); extern int verify_state_should_stop(struct thread_data *, struct io_u *); extern void verify_assign_state(struct thread_data *, void *); extern int verify_state_hdr(struct verify_state_hdr *, struct thread_io_list *); static inline size_t __thread_io_list_sz(uint32_t depth, uint32_t nofiles) { return sizeof(struct thread_io_list) + depth * nofiles * sizeof(struct file_comp); } static inline size_t thread_io_list_sz(struct thread_io_list *s) { return __thread_io_list_sz(le32_to_cpu(s->max_no_comps_per_file), le32_to_cpu(s->nofiles)); } static inline struct thread_io_list *io_list_next(struct thread_io_list *s) { return (struct thread_io_list *)((char *) s + thread_io_list_sz(s)); } static inline void verify_state_gen_name(char *out, size_t size, const char *name, const char *prefix, int num) { char ename[PATH_MAX]; char *ptr; /* * Escape '/', just turn them into '.' */ ptr = ename; do { *ptr = *name; if (*ptr == '\0') break; else if (*ptr == '/') *ptr = '.'; ptr++; name++; } while (1); nowarn_snprintf(out, size, "%s-%s-%d-verify.state", prefix, ename, num); out[size - 1] = '\0'; } #endif ������������������������������������������������������������fio-3.39/verify.c�����������������������������������������������������������������������������������0000664�0000000�0000000�00000127330�14762620516�0013714�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * IO verification helpers */ #include <unistd.h> #include <fcntl.h> #include <string.h> #include <assert.h> #include <pthread.h> #include <libgen.h> #include "arch/arch.h" #include "fio.h" #include "verify.h" #include "trim.h" #include "lib/rand.h" #include "lib/hweight.h" #include "lib/pattern.h" #include "oslib/asprintf.h" #include "crc/md5.h" #include "crc/crc64.h" #include "crc/crc32.h" #include "crc/crc32c.h" #include "crc/crc16.h" #include "crc/crc7.h" #include "crc/sha256.h" #include "crc/sha512.h" #include "crc/sha1.h" #include "crc/xxhash.h" #include "crc/sha3.h" static void populate_hdr(struct thread_data *td, struct io_u *io_u, struct verify_header *hdr, unsigned int header_num, unsigned int header_len); static void __fill_hdr(struct thread_data *td, struct io_u *io_u, struct verify_header *hdr, unsigned int header_num, unsigned int header_len, uint64_t rand_seed); void fill_buffer_pattern(struct thread_data *td, void *p, unsigned int len) { (void)cpy_pattern(td->o.buffer_pattern, td->o.buffer_pattern_bytes, p, len); } static void __fill_buffer(struct thread_options *o, uint64_t seed, void *p, unsigned int len) { __fill_random_buf_percentage(seed, p, o->compress_percentage, len, len, o->buffer_pattern, o->buffer_pattern_bytes); } void fill_verify_pattern(struct thread_data *td, void *p, unsigned int len, struct io_u *io_u, uint64_t seed, int use_seed) { struct thread_options *o = &td->o; if (!o->verify_pattern_bytes) { dprint(FD_VERIFY, "fill random bytes len=%u\n", len); if (!use_seed) { seed = __rand(&td->verify_state); if (sizeof(int) != sizeof(long *)) seed *= (unsigned long)__rand(&td->verify_state); } io_u->rand_seed = seed; __fill_buffer(o, seed, p, len); return; } /* Skip if we were here and we do not need to patch pattern * with format */ if (!td->o.verify_fmt_sz && io_u->buf_filled_len >= len) { dprint(FD_VERIFY, "using already filled verify pattern b=%d len=%u\n", o->verify_pattern_bytes, len); return; } (void)paste_format(td->o.verify_pattern, td->o.verify_pattern_bytes, td->o.verify_fmt, td->o.verify_fmt_sz, p, len, io_u); io_u->buf_filled_len = len; } static unsigned int get_hdr_inc(struct thread_data *td, struct io_u *io_u) { unsigned int hdr_inc; /* * If we use bs_unaligned, buflen can be larger than the verify * interval (which just defaults to the smallest blocksize possible). */ hdr_inc = io_u->buflen; if (td->o.verify_interval && td->o.verify_interval <= io_u->buflen && !td->o.bs_unaligned) hdr_inc = td->o.verify_interval; return hdr_inc; } static void fill_pattern_headers(struct thread_data *td, struct io_u *io_u, uint64_t seed, int use_seed) { unsigned int hdr_inc, header_num; struct verify_header *hdr; void *p = io_u->buf; fill_verify_pattern(td, p, io_u->buflen, io_u, seed, use_seed); hdr_inc = get_hdr_inc(td, io_u); header_num = 0; for (; p < io_u->buf + io_u->buflen; p += hdr_inc) { hdr = p; populate_hdr(td, io_u, hdr, header_num, hdr_inc); header_num++; } } static void memswp(void *buf1, void *buf2, unsigned int len) { char swap[200]; assert(len <= sizeof(swap)); memcpy(&swap, buf1, len); memcpy(buf1, buf2, len); memcpy(buf2, &swap, len); } static void hexdump(void *buffer, int len) { unsigned char *p = buffer; int i; for (i = 0; i < len; i++) log_err("%02x", p[i]); log_err("\n"); } /* * Prepare for separation of verify_header and checksum header */ static inline unsigned int __hdr_size(int verify_type) { unsigned int len = 0; switch (verify_type) { case VERIFY_NONE: case VERIFY_HDR_ONLY: case VERIFY_NULL: case VERIFY_PATTERN: len = 0; break; case VERIFY_MD5: len = sizeof(struct vhdr_md5); break; case VERIFY_CRC64: len = sizeof(struct vhdr_crc64); break; case VERIFY_CRC32C: case VERIFY_CRC32: case VERIFY_CRC32C_INTEL: len = sizeof(struct vhdr_crc32); break; case VERIFY_CRC16: len = sizeof(struct vhdr_crc16); break; case VERIFY_CRC7: len = sizeof(struct vhdr_crc7); break; case VERIFY_SHA256: len = sizeof(struct vhdr_sha256); break; case VERIFY_SHA512: len = sizeof(struct vhdr_sha512); break; case VERIFY_SHA3_224: len = sizeof(struct vhdr_sha3_224); break; case VERIFY_SHA3_256: len = sizeof(struct vhdr_sha3_256); break; case VERIFY_SHA3_384: len = sizeof(struct vhdr_sha3_384); break; case VERIFY_SHA3_512: len = sizeof(struct vhdr_sha3_512); break; case VERIFY_XXHASH: len = sizeof(struct vhdr_xxhash); break; case VERIFY_SHA1: len = sizeof(struct vhdr_sha1); break; case VERIFY_PATTERN_NO_HDR: return 0; default: log_err("fio: unknown verify header!\n"); assert(0); } return len + sizeof(struct verify_header); } static inline unsigned int hdr_size(struct thread_data *td, struct verify_header *hdr) { if (td->o.verify == VERIFY_PATTERN_NO_HDR) return 0; return __hdr_size(hdr->verify_type); } static void *hdr_priv(struct verify_header *hdr) { void *priv = hdr; return priv + sizeof(struct verify_header); } /* * Verify container, pass info to verify handlers and allow them to * pass info back in case of error */ struct vcont { /* * Input */ struct io_u *io_u; unsigned int hdr_num; struct thread_data *td; /* * Output, only valid in case of error */ const char *name; void *good_crc; void *bad_crc; unsigned int crc_len; }; #define DUMP_BUF_SZ 255 static void dump_buf(char *buf, unsigned int len, unsigned long long offset, const char *type, struct fio_file *f) { char *ptr, *fname; char sep[2] = { FIO_OS_PATH_SEPARATOR, 0 }; int ret, fd; ptr = strdup(f->file_name); if (asprintf(&fname, "%s%s%s.%llu.%s", aux_path ? : "", aux_path ? sep : "", basename(ptr), offset, type) < 0) { if (!fio_did_warn(FIO_WARN_VERIFY_BUF)) log_err("fio: not enough memory for dump buffer filename\n"); goto free_ptr; } fd = open(fname, O_CREAT | O_TRUNC | O_WRONLY, 0644); if (fd < 0) { perror("open verify buf file"); goto free_fname; } while (len) { ret = write(fd, buf, len); if (!ret) break; else if (ret < 0) { perror("write verify buf file"); break; } len -= ret; buf += ret; } close(fd); log_err(" %s data dumped as %s\n", type, fname); free_fname: free(fname); free_ptr: free(ptr); } /* * Dump the contents of the read block and re-generate the correct data * and dump that too. */ static void __dump_verify_buffers(struct verify_header *hdr, struct vcont *vc) { struct thread_data *td = vc->td; struct io_u *io_u = vc->io_u; unsigned long hdr_offset; struct io_u dummy; void *buf; if (!td->o.verify_dump) return; /* * Dump the contents we just read off disk */ hdr_offset = vc->hdr_num * hdr->len; dump_buf(io_u->buf + hdr_offset, hdr->len, io_u->verify_offset + hdr_offset, "received", vc->io_u->file); /* * Allocate a new buf and re-generate the original data */ buf = malloc(io_u->buflen); dummy = *io_u; dummy.buf = buf; dummy.rand_seed = hdr->rand_seed; dummy.buf_filled_len = 0; dummy.buflen = io_u->buflen; fill_pattern_headers(td, &dummy, hdr->rand_seed, 1); dump_buf(buf + hdr_offset, hdr->len, io_u->verify_offset + hdr_offset, "expected", vc->io_u->file); free(buf); } static void dump_verify_buffers(struct verify_header *hdr, struct vcont *vc) { struct thread_data *td = vc->td; struct verify_header shdr; if (td->o.verify == VERIFY_PATTERN_NO_HDR) { __fill_hdr(td, vc->io_u, &shdr, 0, vc->io_u->buflen, 0); hdr = &shdr; } __dump_verify_buffers(hdr, vc); } static void log_verify_failure(struct verify_header *hdr, struct vcont *vc) { unsigned long long offset; uint32_t len; struct thread_data *td = vc->td; offset = vc->io_u->verify_offset; if (td->o.verify != VERIFY_PATTERN_NO_HDR) { len = hdr->len; offset += (unsigned long long) vc->hdr_num * len; } else { len = vc->io_u->buflen; } log_err("%.8s: verify failed at file %s offset %llu, length %u" " (requested block: offset=%llu, length=%llu, flags=%x)\n", vc->name, vc->io_u->file->file_name, offset, len, vc->io_u->verify_offset, vc->io_u->buflen, vc->io_u->flags); if (vc->good_crc && vc->bad_crc) { log_err(" Expected CRC: "); hexdump(vc->good_crc, vc->crc_len); log_err(" Received CRC: "); hexdump(vc->bad_crc, vc->crc_len); } dump_verify_buffers(hdr, vc); } /* * Return data area 'header_num' */ static inline void *io_u_verify_off(struct verify_header *hdr, struct vcont *vc) { return vc->io_u->buf + vc->hdr_num * hdr->len + hdr_size(vc->td, hdr); } static int verify_io_u_pattern(struct verify_header *hdr, struct vcont *vc) { struct thread_data *td = vc->td; struct io_u *io_u = vc->io_u; char *buf, *pattern; unsigned int header_size = __hdr_size(td->o.verify); unsigned int len, mod, i, pattern_size; int rc; pattern = td->o.verify_pattern; pattern_size = td->o.verify_pattern_bytes; assert(pattern_size != 0); (void)paste_format_inplace(pattern, pattern_size, td->o.verify_fmt, td->o.verify_fmt_sz, io_u); buf = (char *) hdr + header_size; len = get_hdr_inc(td, io_u) - header_size; mod = (get_hdr_inc(td, io_u) * vc->hdr_num + header_size) % pattern_size; rc = cmp_pattern(pattern, pattern_size, mod, buf, len); if (!rc) return 0; /* Slow path, compare each byte */ for (i = 0; i < len; i++) { if (buf[i] != pattern[mod]) { unsigned int bits; bits = hweight8(buf[i] ^ pattern[mod]); log_err("fio: got pattern '%02x', wanted '%02x'. Bad bits %d\n", (unsigned char)buf[i], (unsigned char)pattern[mod], bits); log_err("fio: bad pattern block offset %u\n", i + header_size); vc->name = "pattern"; log_verify_failure(hdr, vc); return EILSEQ; } mod++; if (mod == td->o.verify_pattern_bytes) mod = 0; } /* Unreachable line */ assert(0); return EILSEQ; } static int verify_io_u_xxhash(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_xxhash *vh = hdr_priv(hdr); uint32_t hash; void *state; dprint(FD_VERIFY, "xxhash verify io_u %p, len %u\n", vc->io_u, hdr->len); state = XXH32_init(1); XXH32_update(state, p, hdr->len - hdr_size(vc->td, hdr)); hash = XXH32_digest(state); if (vh->hash == hash) return 0; vc->name = "xxhash"; vc->good_crc = &vh->hash; vc->bad_crc = &hash; vc->crc_len = sizeof(hash); log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_sha3(struct verify_header *hdr, struct vcont *vc, struct fio_sha3_ctx *sha3_ctx, uint8_t *sha, unsigned int sha_size, const char *name) { void *p = io_u_verify_off(hdr, vc); dprint(FD_VERIFY, "%s verify io_u %p, len %u\n", name, vc->io_u, hdr->len); fio_sha3_update(sha3_ctx, p, hdr->len - hdr_size(vc->td, hdr)); fio_sha3_final(sha3_ctx); if (!memcmp(sha, sha3_ctx->sha, sha_size)) return 0; vc->name = name; vc->good_crc = sha; vc->bad_crc = sha3_ctx->sha; vc->crc_len = sha_size; log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_sha3_224(struct verify_header *hdr, struct vcont *vc) { struct vhdr_sha3_224 *vh = hdr_priv(hdr); uint8_t sha[SHA3_224_DIGEST_SIZE]; struct fio_sha3_ctx sha3_ctx = { .sha = sha, }; fio_sha3_224_init(&sha3_ctx); return verify_io_u_sha3(hdr, vc, &sha3_ctx, vh->sha, SHA3_224_DIGEST_SIZE, "sha3-224"); } static int verify_io_u_sha3_256(struct verify_header *hdr, struct vcont *vc) { struct vhdr_sha3_256 *vh = hdr_priv(hdr); uint8_t sha[SHA3_256_DIGEST_SIZE]; struct fio_sha3_ctx sha3_ctx = { .sha = sha, }; fio_sha3_256_init(&sha3_ctx); return verify_io_u_sha3(hdr, vc, &sha3_ctx, vh->sha, SHA3_256_DIGEST_SIZE, "sha3-256"); } static int verify_io_u_sha3_384(struct verify_header *hdr, struct vcont *vc) { struct vhdr_sha3_384 *vh = hdr_priv(hdr); uint8_t sha[SHA3_384_DIGEST_SIZE]; struct fio_sha3_ctx sha3_ctx = { .sha = sha, }; fio_sha3_384_init(&sha3_ctx); return verify_io_u_sha3(hdr, vc, &sha3_ctx, vh->sha, SHA3_384_DIGEST_SIZE, "sha3-384"); } static int verify_io_u_sha3_512(struct verify_header *hdr, struct vcont *vc) { struct vhdr_sha3_512 *vh = hdr_priv(hdr); uint8_t sha[SHA3_512_DIGEST_SIZE]; struct fio_sha3_ctx sha3_ctx = { .sha = sha, }; fio_sha3_512_init(&sha3_ctx); return verify_io_u_sha3(hdr, vc, &sha3_ctx, vh->sha, SHA3_512_DIGEST_SIZE, "sha3-512"); } static int verify_io_u_sha512(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_sha512 *vh = hdr_priv(hdr); uint8_t sha512[128]; struct fio_sha512_ctx sha512_ctx = { .buf = sha512, }; dprint(FD_VERIFY, "sha512 verify io_u %p, len %u\n", vc->io_u, hdr->len); fio_sha512_init(&sha512_ctx); fio_sha512_update(&sha512_ctx, p, hdr->len - hdr_size(vc->td, hdr)); fio_sha512_final(&sha512_ctx); if (!memcmp(vh->sha512, sha512_ctx.buf, sizeof(sha512))) return 0; vc->name = "sha512"; vc->good_crc = vh->sha512; vc->bad_crc = sha512_ctx.buf; vc->crc_len = sizeof(vh->sha512); log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_sha256(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_sha256 *vh = hdr_priv(hdr); uint8_t sha256[64]; struct fio_sha256_ctx sha256_ctx = { .buf = sha256, }; dprint(FD_VERIFY, "sha256 verify io_u %p, len %u\n", vc->io_u, hdr->len); fio_sha256_init(&sha256_ctx); fio_sha256_update(&sha256_ctx, p, hdr->len - hdr_size(vc->td, hdr)); fio_sha256_final(&sha256_ctx); if (!memcmp(vh->sha256, sha256_ctx.buf, sizeof(sha256))) return 0; vc->name = "sha256"; vc->good_crc = vh->sha256; vc->bad_crc = sha256_ctx.buf; vc->crc_len = sizeof(vh->sha256); log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_sha1(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_sha1 *vh = hdr_priv(hdr); uint32_t sha1[5]; struct fio_sha1_ctx sha1_ctx = { .H = sha1, }; dprint(FD_VERIFY, "sha1 verify io_u %p, len %u\n", vc->io_u, hdr->len); fio_sha1_init(&sha1_ctx); fio_sha1_update(&sha1_ctx, p, hdr->len - hdr_size(vc->td, hdr)); fio_sha1_final(&sha1_ctx); if (!memcmp(vh->sha1, sha1_ctx.H, sizeof(sha1))) return 0; vc->name = "sha1"; vc->good_crc = vh->sha1; vc->bad_crc = sha1_ctx.H; vc->crc_len = sizeof(vh->sha1); log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_crc7(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_crc7 *vh = hdr_priv(hdr); unsigned char c; dprint(FD_VERIFY, "crc7 verify io_u %p, len %u\n", vc->io_u, hdr->len); c = fio_crc7(p, hdr->len - hdr_size(vc->td, hdr)); if (c == vh->crc7) return 0; vc->name = "crc7"; vc->good_crc = &vh->crc7; vc->bad_crc = &c; vc->crc_len = 1; log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_crc16(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_crc16 *vh = hdr_priv(hdr); unsigned short c; dprint(FD_VERIFY, "crc16 verify io_u %p, len %u\n", vc->io_u, hdr->len); c = fio_crc16(p, hdr->len - hdr_size(vc->td, hdr)); if (c == vh->crc16) return 0; vc->name = "crc16"; vc->good_crc = &vh->crc16; vc->bad_crc = &c; vc->crc_len = 2; log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_crc64(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_crc64 *vh = hdr_priv(hdr); unsigned long long c; dprint(FD_VERIFY, "crc64 verify io_u %p, len %u\n", vc->io_u, hdr->len); c = fio_crc64(p, hdr->len - hdr_size(vc->td, hdr)); if (c == vh->crc64) return 0; vc->name = "crc64"; vc->good_crc = &vh->crc64; vc->bad_crc = &c; vc->crc_len = 8; log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_crc32(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_crc32 *vh = hdr_priv(hdr); uint32_t c; dprint(FD_VERIFY, "crc32 verify io_u %p, len %u\n", vc->io_u, hdr->len); c = fio_crc32(p, hdr->len - hdr_size(vc->td, hdr)); if (c == vh->crc32) return 0; vc->name = "crc32"; vc->good_crc = &vh->crc32; vc->bad_crc = &c; vc->crc_len = 4; log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_crc32c(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_crc32 *vh = hdr_priv(hdr); uint32_t c; dprint(FD_VERIFY, "crc32c verify io_u %p, len %u\n", vc->io_u, hdr->len); c = fio_crc32c(p, hdr->len - hdr_size(vc->td, hdr)); if (c == vh->crc32) return 0; vc->name = "crc32c"; vc->good_crc = &vh->crc32; vc->bad_crc = &c; vc->crc_len = 4; log_verify_failure(hdr, vc); return EILSEQ; } static int verify_io_u_md5(struct verify_header *hdr, struct vcont *vc) { void *p = io_u_verify_off(hdr, vc); struct vhdr_md5 *vh = hdr_priv(hdr); uint32_t hash[MD5_HASH_WORDS]; struct fio_md5_ctx md5_ctx = { .hash = hash, }; dprint(FD_VERIFY, "md5 verify io_u %p, len %u\n", vc->io_u, hdr->len); fio_md5_init(&md5_ctx); fio_md5_update(&md5_ctx, p, hdr->len - hdr_size(vc->td, hdr)); fio_md5_final(&md5_ctx); if (!memcmp(vh->md5_digest, md5_ctx.hash, sizeof(hash))) return 0; vc->name = "md5"; vc->good_crc = vh->md5_digest; vc->bad_crc = md5_ctx.hash; vc->crc_len = sizeof(hash); log_verify_failure(hdr, vc); return EILSEQ; } /* * Push IO verification to a separate thread */ int verify_io_u_async(struct thread_data *td, struct io_u **io_u_ptr) { struct io_u *io_u = *io_u_ptr; pthread_mutex_lock(&td->io_u_lock); if (io_u->file) put_file_log(td, io_u->file); if (io_u->flags & IO_U_F_IN_CUR_DEPTH) { td->cur_depth--; io_u_clear(td, io_u, IO_U_F_IN_CUR_DEPTH); } flist_add_tail(&io_u->verify_list, &td->verify_list); *io_u_ptr = NULL; pthread_cond_signal(&td->verify_cond); pthread_mutex_unlock(&td->io_u_lock); return 0; } /* * Thanks Rusty, for spending the time so I don't have to. * * http://rusty.ozlabs.org/?p=560 */ static int mem_is_zero(const void *data, size_t length) { const unsigned char *p = data; size_t len; /* Check first 16 bytes manually */ for (len = 0; len < 16; len++) { if (!length) return 1; if (*p) return 0; p++; length--; } /* Now we know that's zero, memcmp with self. */ return memcmp(data, p, length) == 0; } static int mem_is_zero_slow(const void *data, size_t length, size_t *offset) { const unsigned char *p = data; *offset = 0; while (length) { if (*p) break; (*offset)++; length--; p++; } return !length; } static int verify_trimmed_io_u(struct thread_data *td, struct io_u *io_u) { size_t offset; if (!td->o.trim_zero) return 0; if (mem_is_zero(io_u->buf, io_u->buflen)) return 0; mem_is_zero_slow(io_u->buf, io_u->buflen, &offset); log_err("trim: verify failed at file %s offset %llu, length %llu" ", block offset %lu\n", io_u->file->file_name, io_u->verify_offset, io_u->buflen, (unsigned long) offset); return EILSEQ; } static int verify_header(struct io_u *io_u, struct thread_data *td, struct verify_header *hdr, unsigned int hdr_num, unsigned int hdr_len) { void *p = hdr; uint32_t crc; if (hdr->magic != FIO_HDR_MAGIC) { log_err("verify: bad magic header %x, wanted %x", hdr->magic, FIO_HDR_MAGIC); goto err; } if (hdr->len != hdr_len) { log_err("verify: bad header length %u, wanted %u", hdr->len, hdr_len); goto err; } if (td->o.verify_header_seed && (hdr->rand_seed != io_u->rand_seed)) { log_err("verify: bad header rand_seed %"PRIu64 ", wanted %"PRIu64, hdr->rand_seed, io_u->rand_seed); goto err; } if (hdr->offset != io_u->verify_offset + hdr_num * td->o.verify_interval) { log_err("verify: bad header offset %"PRIu64 ", wanted %llu", hdr->offset, io_u->verify_offset); goto err; } /* * For read-only workloads, the program cannot be certain of the * last numberio written to a block. Checking of numberio will be * done only for workloads that write data. For verify_only or * any mode de-selecting verify_write_sequence, numberio check is * skipped. */ if (td_write(td) && (td_min_bs(td) == td_max_bs(td)) && !td->o.time_based) if (td->o.verify_write_sequence) if (hdr->numberio != io_u->numberio) { log_err("verify: bad header numberio %"PRIu16 ", wanted %"PRIu16, hdr->numberio, io_u->numberio); goto err; } crc = fio_crc32c(p, offsetof(struct verify_header, crc32)); if (crc != hdr->crc32) { log_err("verify: bad header crc %x, calculated %x", hdr->crc32, crc); goto err; } return 0; err: log_err(" at file %s offset %llu, length %u" " (requested block: offset=%llu, length=%llu)\n", io_u->file->file_name, io_u->verify_offset + hdr_num * hdr_len, hdr_len, io_u->verify_offset, io_u->buflen); if (td->o.verify_dump) dump_buf(p, hdr_len, io_u->verify_offset + hdr_num * hdr_len, "hdr_fail", io_u->file); return EILSEQ; } int verify_io_u(struct thread_data *td, struct io_u **io_u_ptr) { struct verify_header *hdr; struct io_u *io_u = *io_u_ptr; unsigned int header_size, hdr_inc, hdr_num = 0; void *p; int ret; if (td->o.verify == VERIFY_NULL || io_u->ddir != DDIR_READ) return 0; /* * If the IO engine is faking IO (like null), then just pretend * we verified everything. */ if (td_ioengine_flagged(td, FIO_FAKEIO)) return 0; /* * If data has already been verified from the device, we can skip * the actual verification phase here. */ if (io_u->flags & IO_U_F_VER_IN_DEV) return 0; if (io_u->flags & IO_U_F_TRIMMED) { ret = verify_trimmed_io_u(td, io_u); goto done; } hdr_inc = get_hdr_inc(td, io_u); ret = 0; for (p = io_u->buf; p < io_u->buf + io_u->buflen; p += hdr_inc, hdr_num++) { struct vcont vc = { .io_u = io_u, .hdr_num = hdr_num, .td = td, }; unsigned int verify_type; if (ret && td->o.verify_fatal) break; header_size = __hdr_size(td->o.verify); if (td->o.verify_offset) memswp(p, p + td->o.verify_offset, header_size); hdr = p; if (td->o.verify != VERIFY_PATTERN_NO_HDR) { ret = verify_header(io_u, td, hdr, hdr_num, hdr_inc); if (ret) return ret; } if (td->o.verify != VERIFY_NONE) verify_type = td->o.verify; else verify_type = hdr->verify_type; switch (verify_type) { case VERIFY_HDR_ONLY: /* Header is always verified, check if pattern is left * for verification. */ if (td->o.verify_pattern_bytes) ret = verify_io_u_pattern(hdr, &vc); break; case VERIFY_MD5: ret = verify_io_u_md5(hdr, &vc); break; case VERIFY_CRC64: ret = verify_io_u_crc64(hdr, &vc); break; case VERIFY_CRC32C: case VERIFY_CRC32C_INTEL: ret = verify_io_u_crc32c(hdr, &vc); break; case VERIFY_CRC32: ret = verify_io_u_crc32(hdr, &vc); break; case VERIFY_CRC16: ret = verify_io_u_crc16(hdr, &vc); break; case VERIFY_CRC7: ret = verify_io_u_crc7(hdr, &vc); break; case VERIFY_SHA256: ret = verify_io_u_sha256(hdr, &vc); break; case VERIFY_SHA512: ret = verify_io_u_sha512(hdr, &vc); break; case VERIFY_SHA3_224: ret = verify_io_u_sha3_224(hdr, &vc); break; case VERIFY_SHA3_256: ret = verify_io_u_sha3_256(hdr, &vc); break; case VERIFY_SHA3_384: ret = verify_io_u_sha3_384(hdr, &vc); break; case VERIFY_SHA3_512: ret = verify_io_u_sha3_512(hdr, &vc); break; case VERIFY_XXHASH: ret = verify_io_u_xxhash(hdr, &vc); break; case VERIFY_SHA1: ret = verify_io_u_sha1(hdr, &vc); break; case VERIFY_PATTERN: case VERIFY_PATTERN_NO_HDR: ret = verify_io_u_pattern(hdr, &vc); break; default: log_err("Bad verify type %u\n", hdr->verify_type); ret = EINVAL; } if (ret && verify_type != hdr->verify_type) log_err("fio: verify type mismatch (%u media, %u given)\n", hdr->verify_type, verify_type); } done: if (ret && td->o.verify_fatal) fio_mark_td_terminate(td); return ret; } static void fill_xxhash(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_xxhash *vh = hdr_priv(hdr); void *state; state = XXH32_init(1); XXH32_update(state, p, len); vh->hash = XXH32_digest(state); } static void fill_sha3(struct fio_sha3_ctx *sha3_ctx, void *p, unsigned int len) { fio_sha3_update(sha3_ctx, p, len); fio_sha3_final(sha3_ctx); } static void fill_sha3_224(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_sha3_224 *vh = hdr_priv(hdr); struct fio_sha3_ctx sha3_ctx = { .sha = vh->sha, }; fio_sha3_224_init(&sha3_ctx); fill_sha3(&sha3_ctx, p, len); } static void fill_sha3_256(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_sha3_256 *vh = hdr_priv(hdr); struct fio_sha3_ctx sha3_ctx = { .sha = vh->sha, }; fio_sha3_256_init(&sha3_ctx); fill_sha3(&sha3_ctx, p, len); } static void fill_sha3_384(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_sha3_384 *vh = hdr_priv(hdr); struct fio_sha3_ctx sha3_ctx = { .sha = vh->sha, }; fio_sha3_384_init(&sha3_ctx); fill_sha3(&sha3_ctx, p, len); } static void fill_sha3_512(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_sha3_512 *vh = hdr_priv(hdr); struct fio_sha3_ctx sha3_ctx = { .sha = vh->sha, }; fio_sha3_512_init(&sha3_ctx); fill_sha3(&sha3_ctx, p, len); } static void fill_sha512(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_sha512 *vh = hdr_priv(hdr); struct fio_sha512_ctx sha512_ctx = { .buf = vh->sha512, }; fio_sha512_init(&sha512_ctx); fio_sha512_update(&sha512_ctx, p, len); fio_sha512_final(&sha512_ctx); } static void fill_sha256(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_sha256 *vh = hdr_priv(hdr); struct fio_sha256_ctx sha256_ctx = { .buf = vh->sha256, }; fio_sha256_init(&sha256_ctx); fio_sha256_update(&sha256_ctx, p, len); fio_sha256_final(&sha256_ctx); } static void fill_sha1(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_sha1 *vh = hdr_priv(hdr); struct fio_sha1_ctx sha1_ctx = { .H = vh->sha1, }; fio_sha1_init(&sha1_ctx); fio_sha1_update(&sha1_ctx, p, len); fio_sha1_final(&sha1_ctx); } static void fill_crc7(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_crc7 *vh = hdr_priv(hdr); vh->crc7 = fio_crc7(p, len); } static void fill_crc16(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_crc16 *vh = hdr_priv(hdr); vh->crc16 = fio_crc16(p, len); } static void fill_crc32(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_crc32 *vh = hdr_priv(hdr); vh->crc32 = fio_crc32(p, len); } static void fill_crc32c(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_crc32 *vh = hdr_priv(hdr); vh->crc32 = fio_crc32c(p, len); } static void fill_crc64(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_crc64 *vh = hdr_priv(hdr); vh->crc64 = fio_crc64(p, len); } static void fill_md5(struct verify_header *hdr, void *p, unsigned int len) { struct vhdr_md5 *vh = hdr_priv(hdr); struct fio_md5_ctx md5_ctx = { .hash = (uint32_t *) vh->md5_digest, }; fio_md5_init(&md5_ctx); fio_md5_update(&md5_ctx, p, len); fio_md5_final(&md5_ctx); } static void __fill_hdr(struct thread_data *td, struct io_u *io_u, struct verify_header *hdr, unsigned int header_num, unsigned int header_len, uint64_t rand_seed) { void *p = hdr; hdr->magic = FIO_HDR_MAGIC; hdr->verify_type = td->o.verify; hdr->len = header_len; hdr->rand_seed = rand_seed; hdr->offset = io_u->verify_offset + header_num * td->o.verify_interval; hdr->time_sec = io_u->start_time.tv_sec; hdr->time_nsec = io_u->start_time.tv_nsec; hdr->thread = td->thread_number; hdr->numberio = io_u->numberio; hdr->crc32 = fio_crc32c(p, offsetof(struct verify_header, crc32)); } static void fill_hdr(struct thread_data *td, struct io_u *io_u, struct verify_header *hdr, unsigned int header_num, unsigned int header_len, uint64_t rand_seed) { if (td->o.verify != VERIFY_PATTERN_NO_HDR) __fill_hdr(td, io_u, hdr, header_num, header_len, rand_seed); } static void populate_hdr(struct thread_data *td, struct io_u *io_u, struct verify_header *hdr, unsigned int header_num, unsigned int header_len) { unsigned int data_len; void *data; char *p; p = (char *) hdr; fill_hdr(td, io_u, hdr, header_num, header_len, io_u->rand_seed); if (header_len <= hdr_size(td, hdr)) { td_verror(td, EINVAL, "Blocksize too small"); return; } data_len = header_len - hdr_size(td, hdr); data = p + hdr_size(td, hdr); switch (td->o.verify) { case VERIFY_MD5: dprint(FD_VERIFY, "fill md5 io_u %p, len %u\n", io_u, hdr->len); fill_md5(hdr, data, data_len); break; case VERIFY_CRC64: dprint(FD_VERIFY, "fill crc64 io_u %p, len %u\n", io_u, hdr->len); fill_crc64(hdr, data, data_len); break; case VERIFY_CRC32C: case VERIFY_CRC32C_INTEL: dprint(FD_VERIFY, "fill crc32c io_u %p, len %u\n", io_u, hdr->len); fill_crc32c(hdr, data, data_len); break; case VERIFY_CRC32: dprint(FD_VERIFY, "fill crc32 io_u %p, len %u\n", io_u, hdr->len); fill_crc32(hdr, data, data_len); break; case VERIFY_CRC16: dprint(FD_VERIFY, "fill crc16 io_u %p, len %u\n", io_u, hdr->len); fill_crc16(hdr, data, data_len); break; case VERIFY_CRC7: dprint(FD_VERIFY, "fill crc7 io_u %p, len %u\n", io_u, hdr->len); fill_crc7(hdr, data, data_len); break; case VERIFY_SHA256: dprint(FD_VERIFY, "fill sha256 io_u %p, len %u\n", io_u, hdr->len); fill_sha256(hdr, data, data_len); break; case VERIFY_SHA512: dprint(FD_VERIFY, "fill sha512 io_u %p, len %u\n", io_u, hdr->len); fill_sha512(hdr, data, data_len); break; case VERIFY_SHA3_224: dprint(FD_VERIFY, "fill sha3-224 io_u %p, len %u\n", io_u, hdr->len); fill_sha3_224(hdr, data, data_len); break; case VERIFY_SHA3_256: dprint(FD_VERIFY, "fill sha3-256 io_u %p, len %u\n", io_u, hdr->len); fill_sha3_256(hdr, data, data_len); break; case VERIFY_SHA3_384: dprint(FD_VERIFY, "fill sha3-384 io_u %p, len %u\n", io_u, hdr->len); fill_sha3_384(hdr, data, data_len); break; case VERIFY_SHA3_512: dprint(FD_VERIFY, "fill sha3-512 io_u %p, len %u\n", io_u, hdr->len); fill_sha3_512(hdr, data, data_len); break; case VERIFY_XXHASH: dprint(FD_VERIFY, "fill xxhash io_u %p, len %u\n", io_u, hdr->len); fill_xxhash(hdr, data, data_len); break; case VERIFY_SHA1: dprint(FD_VERIFY, "fill sha1 io_u %p, len %u\n", io_u, hdr->len); fill_sha1(hdr, data, data_len); break; case VERIFY_HDR_ONLY: case VERIFY_PATTERN: case VERIFY_PATTERN_NO_HDR: /* nothing to do here */ break; default: log_err("fio: bad verify type: %d\n", td->o.verify); assert(0); } if (td->o.verify_offset && hdr_size(td, hdr)) memswp(p, p + td->o.verify_offset, hdr_size(td, hdr)); } /* * fill body of io_u->buf with random data and add a header with the * checksum of choice */ void populate_verify_io_u(struct thread_data *td, struct io_u *io_u) { if (td->o.verify == VERIFY_NULL) return; fill_pattern_headers(td, io_u, 0, 0); } int get_next_verify(struct thread_data *td, struct io_u *io_u) { struct io_piece *ipo = NULL; /* * this io_u is from a requeue, we already filled the offsets */ if (io_u->file) return 0; if (!RB_EMPTY_ROOT(&td->io_hist_tree)) { struct fio_rb_node *n = rb_first(&td->io_hist_tree); ipo = rb_entry(n, struct io_piece, rb_node); /* * Ensure that the associated IO has completed */ if (atomic_load_acquire(&ipo->flags) & IP_F_IN_FLIGHT) goto nothing; rb_erase(n, &td->io_hist_tree); assert(ipo->flags & IP_F_ONRB); ipo->flags &= ~IP_F_ONRB; } else if (!flist_empty(&td->io_hist_list)) { ipo = flist_first_entry(&td->io_hist_list, struct io_piece, list); /* * Ensure that the associated IO has completed */ if (atomic_load_acquire(&ipo->flags) & IP_F_IN_FLIGHT) goto nothing; flist_del(&ipo->list); assert(ipo->flags & IP_F_ONLIST); ipo->flags &= ~IP_F_ONLIST; } if (ipo) { td->io_hist_len--; io_u->offset = ipo->offset; io_u->verify_offset = ipo->offset; io_u->buflen = ipo->len; io_u->numberio = ipo->numberio; io_u->file = ipo->file; io_u_set(td, io_u, IO_U_F_VER_LIST); if (ipo->flags & IP_F_TRIMMED) io_u_set(td, io_u, IO_U_F_TRIMMED); if (!fio_file_open(io_u->file)) { int r = td_io_open_file(td, io_u->file); if (r) { dprint(FD_VERIFY, "failed file %s open\n", io_u->file->file_name); return 1; } } get_file(ipo->file); assert(fio_file_open(io_u->file)); io_u->ddir = DDIR_READ; io_u->xfer_buf = io_u->buf; io_u->xfer_buflen = io_u->buflen; remove_trim_entry(td, ipo); free(ipo); dprint(FD_VERIFY, "get_next_verify: ret io_u %p\n", io_u); if (!td->o.verify_pattern_bytes) { io_u->rand_seed = __rand(&td->verify_state); if (sizeof(int) != sizeof(long *)) io_u->rand_seed *= __rand(&td->verify_state); } return 0; } nothing: dprint(FD_VERIFY, "get_next_verify: empty\n"); return 1; } void fio_verify_init(struct thread_data *td) { if (td->o.verify == VERIFY_CRC32C_INTEL || td->o.verify == VERIFY_CRC32C) { crc32c_arm64_probe(); crc32c_intel_probe(); } } static void *verify_async_thread(void *data) { struct thread_data *td = data; struct io_u *io_u; int ret = 0; if (fio_option_is_set(&td->o, verify_cpumask) && fio_setaffinity(td->pid, td->o.verify_cpumask)) { log_err("fio: failed setting verify thread affinity\n"); goto done; } do { FLIST_HEAD(list); read_barrier(); if (td->verify_thread_exit) break; pthread_mutex_lock(&td->io_u_lock); while (flist_empty(&td->verify_list) && !td->verify_thread_exit) { ret = pthread_cond_wait(&td->verify_cond, &td->io_u_lock); if (ret) { break; } } flist_splice_init(&td->verify_list, &list); pthread_mutex_unlock(&td->io_u_lock); if (flist_empty(&list)) continue; while (!flist_empty(&list)) { io_u = flist_first_entry(&list, struct io_u, verify_list); flist_del_init(&io_u->verify_list); io_u_set(td, io_u, IO_U_F_NO_FILE_PUT); ret = verify_io_u(td, &io_u); put_io_u(td, io_u); if (!ret) continue; if (td_non_fatal_error(td, ERROR_TYPE_VERIFY_BIT, ret)) { update_error_count(td, ret); td_clear_error(td); ret = 0; } } } while (!ret); if (ret) { td_verror(td, ret, "async_verify"); if (td->o.verify_fatal) fio_mark_td_terminate(td); } done: pthread_mutex_lock(&td->io_u_lock); td->nr_verify_threads--; pthread_cond_signal(&td->free_cond); pthread_mutex_unlock(&td->io_u_lock); return NULL; } int verify_async_init(struct thread_data *td) { int i, ret; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 2 * PTHREAD_STACK_MIN); td->verify_thread_exit = 0; td->verify_threads = malloc(sizeof(pthread_t) * td->o.verify_async); for (i = 0; i < td->o.verify_async; i++) { ret = pthread_create(&td->verify_threads[i], &attr, verify_async_thread, td); if (ret) { log_err("fio: async verify creation failed: %s\n", strerror(ret)); break; } ret = pthread_detach(td->verify_threads[i]); if (ret) { log_err("fio: async verify thread detach failed: %s\n", strerror(ret)); break; } td->nr_verify_threads++; } pthread_attr_destroy(&attr); if (i != td->o.verify_async) { log_err("fio: only %d verify threads started, exiting\n", i); pthread_mutex_lock(&td->io_u_lock); td->verify_thread_exit = 1; pthread_cond_broadcast(&td->verify_cond); pthread_mutex_unlock(&td->io_u_lock); return 1; } return 0; } void verify_async_exit(struct thread_data *td) { pthread_mutex_lock(&td->io_u_lock); td->verify_thread_exit = 1; pthread_cond_broadcast(&td->verify_cond); while (td->nr_verify_threads) pthread_cond_wait(&td->free_cond, &td->io_u_lock); pthread_mutex_unlock(&td->io_u_lock); free(td->verify_threads); td->verify_threads = NULL; } int paste_blockoff(char *buf, unsigned int len, void *priv) { struct io_u *io = priv; unsigned long long off; typecheck(__typeof__(off), io->offset); off = cpu_to_le64((uint64_t)io->offset); len = min(len, (unsigned int)sizeof(off)); memcpy(buf, &off, len); return 0; } static int __fill_file_completions(struct thread_data *td, struct thread_io_list *s, struct fio_file *f, unsigned int *index) { unsigned int comps; int i, j; if (!f->last_write_comp) return 0; if (td->io_blocks[DDIR_WRITE] < td->last_write_comp_depth) comps = td->io_blocks[DDIR_WRITE]; else comps = td->last_write_comp_depth; j = f->last_write_idx - 1; for (i = 0; i < comps; i++) { if (j == -1) j = td->last_write_comp_depth - 1; s->comps[*index].fileno = __cpu_to_le64(f->fileno); s->comps[*index].offset = cpu_to_le64(f->last_write_comp[j]); (*index)++; j--; } return comps; } static int fill_file_completions(struct thread_data *td, struct thread_io_list *s, unsigned int *index) { struct fio_file *f; unsigned int i; int comps = 0; for_each_file(td, f, i) comps += __fill_file_completions(td, s, f, index); return comps; } struct all_io_list *get_all_io_list(int save_mask, size_t *sz) { struct all_io_list *rep; size_t depth; void *next; int nr; compiletime_assert(sizeof(struct all_io_list) == 8, "all_io_list"); /* * Calculate reply space needed. We need one 'io_state' per thread, * and the size will vary depending on depth. */ depth = 0; nr = 0; for_each_td(td) { if (save_mask != IO_LIST_ALL && (__td_index + 1) != save_mask) continue; td->stop_io = 1; td->flags |= TD_F_VSTATE_SAVED; depth += (td->last_write_comp_depth * td->o.nr_files); nr++; } end_for_each(); if (!nr) return NULL; *sz = sizeof(*rep); *sz += nr * sizeof(struct thread_io_list); *sz += depth * sizeof(struct file_comp); rep = calloc(1, *sz); rep->threads = cpu_to_le64((uint64_t) nr); next = &rep->state[0]; for_each_td(td) { struct thread_io_list *s = next; unsigned int comps, index = 0; if (save_mask != IO_LIST_ALL && (__td_index + 1) != save_mask) continue; comps = fill_file_completions(td, s, &index); s->no_comps = cpu_to_le64((uint64_t) comps); s->depth = cpu_to_le32((uint32_t) td->o.iodepth); s->max_no_comps_per_file = cpu_to_le32((uint32_t) td->last_write_comp_depth); s->nofiles = cpu_to_le32((uint32_t) td->o.nr_files); s->numberio = cpu_to_le64((uint64_t) td->io_issues[DDIR_WRITE]); s->index = cpu_to_le64((uint64_t) __td_index); if (td->random_state.use64) { s->rand.state64.s[0] = cpu_to_le64(td->random_state.state64.s1); s->rand.state64.s[1] = cpu_to_le64(td->random_state.state64.s2); s->rand.state64.s[2] = cpu_to_le64(td->random_state.state64.s3); s->rand.state64.s[3] = cpu_to_le64(td->random_state.state64.s4); s->rand.state64.s[4] = cpu_to_le64(td->random_state.state64.s5); s->rand.state64.s[5] = 0; s->rand.use64 = cpu_to_le64((uint64_t)1); } else { s->rand.state32.s[0] = cpu_to_le32(td->random_state.state32.s1); s->rand.state32.s[1] = cpu_to_le32(td->random_state.state32.s2); s->rand.state32.s[2] = cpu_to_le32(td->random_state.state32.s3); s->rand.state32.s[3] = 0; s->rand.use64 = 0; } snprintf((char *) s->name, sizeof(s->name), "%s", td->o.name); next = io_list_next(s); } end_for_each(); return rep; } static int open_state_file(const char *name, const char *prefix, int num, int for_write) { char out[PATH_MAX]; int flags; int fd; if (for_write) flags = O_CREAT | O_TRUNC | O_WRONLY | O_SYNC; else flags = O_RDONLY; #ifdef _WIN32 flags |= O_BINARY; #endif verify_state_gen_name(out, sizeof(out), name, prefix, num); fd = open(out, flags, 0644); if (fd == -1) { perror("fio: open state file"); log_err("fio: state file: %s (for_write=%d)\n", out, for_write); return -1; } return fd; } static int write_thread_list_state(struct thread_io_list *s, const char *prefix) { struct verify_state_hdr hdr; uint64_t crc; ssize_t ret; int fd; fd = open_state_file((const char *) s->name, prefix, s->index, 1); if (fd == -1) return 1; crc = fio_crc32c((void *)s, thread_io_list_sz(s)); hdr.version = cpu_to_le64((uint64_t) VSTATE_HDR_VERSION); hdr.size = cpu_to_le64((uint64_t) thread_io_list_sz(s)); hdr.crc = cpu_to_le64(crc); ret = write(fd, &hdr, sizeof(hdr)); if (ret != sizeof(hdr)) goto write_fail; ret = write(fd, s, thread_io_list_sz(s)); if (ret != thread_io_list_sz(s)) { write_fail: if (ret < 0) perror("fio: write state file"); log_err("fio: failed to write state file\n"); ret = 1; } else ret = 0; close(fd); return ret; } void __verify_save_state(struct all_io_list *state, const char *prefix) { struct thread_io_list *s = &state->state[0]; unsigned int i; for (i = 0; i < le64_to_cpu(state->threads); i++) { write_thread_list_state(s, prefix); s = io_list_next(s); } } void verify_save_state(int mask) { struct all_io_list *state; size_t sz; state = get_all_io_list(mask, &sz); if (state) { char prefix[PATH_MAX]; if (aux_path) sprintf(prefix, "%s%clocal", aux_path, FIO_OS_PATH_SEPARATOR); else strcpy(prefix, "local"); __verify_save_state(state, prefix); free(state); } } void verify_free_state(struct thread_data *td) { if (td->vstate) free(td->vstate); } void verify_assign_state(struct thread_data *td, void *p) { struct thread_io_list *s = p; int i; s->no_comps = le64_to_cpu(s->no_comps); s->depth = le32_to_cpu(s->depth); s->max_no_comps_per_file = le32_to_cpu(s->max_no_comps_per_file); s->nofiles = le32_to_cpu(s->nofiles); s->numberio = le64_to_cpu(s->numberio); s->rand.use64 = le64_to_cpu(s->rand.use64); if (s->rand.use64) { for (i = 0; i < 6; i++) s->rand.state64.s[i] = le64_to_cpu(s->rand.state64.s[i]); } else { for (i = 0; i < 4; i++) s->rand.state32.s[i] = le32_to_cpu(s->rand.state32.s[i]); } for (i = 0; i < s->no_comps; i++) { s->comps[i].fileno = le64_to_cpu(s->comps[i].fileno); s->comps[i].offset = le64_to_cpu(s->comps[i].offset); } td->vstate = p; } int verify_state_hdr(struct verify_state_hdr *hdr, struct thread_io_list *s) { uint64_t crc; hdr->version = le64_to_cpu(hdr->version); hdr->size = le64_to_cpu(hdr->size); hdr->crc = le64_to_cpu(hdr->crc); if (hdr->version != VSTATE_HDR_VERSION) return 1; crc = fio_crc32c((void *)s, hdr->size); if (crc != hdr->crc) return 1; return 0; } int verify_load_state(struct thread_data *td, const char *prefix) { struct verify_state_hdr hdr; void *s = NULL; uint64_t crc; ssize_t ret; int fd; if (!td->o.verify_state) return 0; fd = open_state_file(td->o.name, prefix, td->thread_number - 1, 0); if (fd == -1) return 1; ret = read(fd, &hdr, sizeof(hdr)); if (ret != sizeof(hdr)) { if (ret < 0) td_verror(td, errno, "read verify state hdr"); log_err("fio: failed reading verify state header\n"); goto err; } hdr.version = le64_to_cpu(hdr.version); hdr.size = le64_to_cpu(hdr.size); hdr.crc = le64_to_cpu(hdr.crc); if (hdr.version != VSTATE_HDR_VERSION) { log_err("fio: unsupported (%d) version in verify state header\n", (unsigned int) hdr.version); goto err; } s = malloc(hdr.size); ret = read(fd, s, hdr.size); if (ret != hdr.size) { if (ret < 0) td_verror(td, errno, "read verify state"); log_err("fio: failed reading verity state\n"); goto err; } crc = fio_crc32c(s, hdr.size); if (crc != hdr.crc) { log_err("fio: verify state is corrupt\n"); goto err; } close(fd); verify_assign_state(td, s); return 0; err: if (s) free(s); close(fd); return 1; } /* * Use the loaded verify state to know when to stop doing verification */ int verify_state_should_stop(struct thread_data *td, struct io_u *io_u) { struct thread_io_list *s = td->vstate; struct fio_file *f = io_u->file; int i; if (!s || !f) return 0; /* * If we're not into the window of issues - depth yet, continue. If * issue is shorter than depth, do check. */ if ((td->io_blocks[DDIR_READ] < s->depth || s->numberio - td->io_blocks[DDIR_READ] > s->depth) && s->numberio > s->depth) return 0; /* * We're in the window of having to check if this io was * completed or not. If the IO was seen as completed, then * lets verify it. */ for (i = 0; i < s->no_comps; i++) { if (s->comps[i].fileno != f->fileno) continue; if (io_u->verify_offset == s->comps[i].offset) return 0; } /* * Not found, we have to stop */ log_info("Stop verify because offset %llu in %s is not recorded in verify state\n", io_u->verify_offset, f->file_name); return 1; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/verify.h�����������������������������������������������������������������������������������0000664�0000000�0000000�00000005716�14762620516�0013724�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef FIO_VERIFY_H #define FIO_VERIFY_H #include <stdint.h> #include "compiler/compiler.h" #include "verify-state.h" #define FIO_HDR_MAGIC 0xacca enum { VERIFY_NONE = 0, /* no verification */ VERIFY_HDR_ONLY, /* verify header only, kept for sake of * compatibility with old configurations * which use 'verify=meta' */ VERIFY_MD5, /* md5 sum data blocks */ VERIFY_CRC64, /* crc64 sum data blocks */ VERIFY_CRC32, /* crc32 sum data blocks */ VERIFY_CRC32C, /* crc32c sum data blocks */ VERIFY_CRC32C_INTEL, /* crc32c sum data blocks with hw */ VERIFY_CRC16, /* crc16 sum data blocks */ VERIFY_CRC7, /* crc7 sum data blocks */ VERIFY_SHA256, /* sha256 sum data blocks */ VERIFY_SHA512, /* sha512 sum data blocks */ VERIFY_SHA3_224, /* sha3-224 sum data blocks */ VERIFY_SHA3_256, /* sha3-256 sum data blocks */ VERIFY_SHA3_384, /* sha3-384 sum data blocks */ VERIFY_SHA3_512, /* sha3-512 sum data blocks */ VERIFY_XXHASH, /* xxhash sum data blocks */ VERIFY_SHA1, /* sha1 sum data blocks */ VERIFY_PATTERN, /* verify specific patterns */ VERIFY_PATTERN_NO_HDR, /* verify specific patterns, no hdr */ VERIFY_NULL, /* pretend to verify */ }; /* * A header structure associated with each checksummed data block. It is * followed by a checksum specific header that contains the verification * data. */ struct verify_header { uint16_t magic; uint16_t verify_type; uint32_t len; uint64_t rand_seed; uint64_t offset; uint32_t time_sec; uint32_t time_nsec; uint16_t thread; uint16_t numberio; uint32_t crc32; }; struct vhdr_md5 { uint32_t md5_digest[4]; }; struct vhdr_sha3_224 { uint8_t sha[224 / 8]; }; struct vhdr_sha3_256 { uint8_t sha[256 / 8]; }; struct vhdr_sha3_384 { uint8_t sha[384 / 8]; }; struct vhdr_sha3_512 { uint8_t sha[512 / 8]; }; struct vhdr_sha512 { uint8_t sha512[128]; }; struct vhdr_sha256 { uint8_t sha256[64]; }; struct vhdr_sha1 { uint32_t sha1[5]; }; struct vhdr_crc64 { uint64_t crc64; }; struct vhdr_crc32 { uint32_t crc32; }; struct vhdr_crc16 { uint16_t crc16; }; struct vhdr_crc7 { uint8_t crc7; }; struct vhdr_xxhash { uint32_t hash; }; /* * Verify helpers */ extern void populate_verify_io_u(struct thread_data *, struct io_u *); extern int __must_check get_next_verify(struct thread_data *td, struct io_u *); extern int __must_check verify_io_u(struct thread_data *, struct io_u **); extern int verify_io_u_async(struct thread_data *, struct io_u **); extern void fill_verify_pattern(struct thread_data *td, void *p, unsigned int len, struct io_u *io_u, uint64_t seed, int use_seed); extern void fill_buffer_pattern(struct thread_data *td, void *p, unsigned int len); extern void fio_verify_init(struct thread_data *td); /* * Async verify offload */ extern int verify_async_init(struct thread_data *); extern void verify_async_exit(struct thread_data *); /* * Callbacks for pasting formats in the pattern buffer */ extern int paste_blockoff(char *buf, unsigned int len, void *priv); #endif ��������������������������������������������������fio-3.39/workqueue.c��������������������������������������������������������������������������������0000664�0000000�0000000�00000017113�14762620516�0014434�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * Generic workqueue offload mechanism * * Copyright (C) 2015 Jens Axboe <axboe@kernel.dk> * */ #include <unistd.h> #include "fio.h" #include "flist.h" #include "workqueue.h" #include "smalloc.h" #include "pshared.h" enum { SW_F_IDLE = 1 << 0, SW_F_RUNNING = 1 << 1, SW_F_EXIT = 1 << 2, SW_F_ACCOUNTED = 1 << 3, SW_F_ERROR = 1 << 4, }; static struct submit_worker *__get_submit_worker(struct workqueue *wq, unsigned int start, unsigned int end, struct submit_worker **best) { struct submit_worker *sw = NULL; while (start <= end) { sw = &wq->workers[start]; if (sw->flags & SW_F_IDLE) return sw; if (!(*best) || sw->seq < (*best)->seq) *best = sw; start++; } return NULL; } static struct submit_worker *get_submit_worker(struct workqueue *wq) { unsigned int next = wq->next_free_worker; struct submit_worker *sw, *best = NULL; assert(next < wq->max_workers); sw = __get_submit_worker(wq, next, wq->max_workers - 1, &best); if (!sw && next) sw = __get_submit_worker(wq, 0, next - 1, &best); /* * No truly idle found, use best match */ if (!sw) sw = best; if (sw->index == wq->next_free_worker) { if (sw->index + 1 < wq->max_workers) wq->next_free_worker = sw->index + 1; else wq->next_free_worker = 0; } return sw; } static bool all_sw_idle(struct workqueue *wq) { int i; for (i = 0; i < wq->max_workers; i++) { struct submit_worker *sw = &wq->workers[i]; if (!(sw->flags & SW_F_IDLE)) return false; } return true; } /* * Must be serialized wrt workqueue_enqueue() by caller */ void workqueue_flush(struct workqueue *wq) { pthread_mutex_lock(&wq->flush_lock); wq->wake_idle = 1; while (!all_sw_idle(wq)) pthread_cond_wait(&wq->flush_cond, &wq->flush_lock); wq->wake_idle = 0; pthread_mutex_unlock(&wq->flush_lock); } /* * Must be serialized by caller. */ void workqueue_enqueue(struct workqueue *wq, struct workqueue_work *work) { struct submit_worker *sw; sw = get_submit_worker(wq); assert(sw); pthread_mutex_lock(&sw->lock); flist_add_tail(&work->list, &sw->work_list); sw->seq = ++wq->work_seq; sw->flags &= ~SW_F_IDLE; pthread_cond_signal(&sw->cond); pthread_mutex_unlock(&sw->lock); } static void handle_list(struct submit_worker *sw, struct flist_head *list) { struct workqueue *wq = sw->wq; struct workqueue_work *work; while (!flist_empty(list)) { work = flist_first_entry(list, struct workqueue_work, list); flist_del_init(&work->list); wq->ops.fn(sw, work); } } static void *worker_thread(void *data) { struct submit_worker *sw = data; struct workqueue *wq = sw->wq; unsigned int ret = 0; FLIST_HEAD(local_list); sk_out_assign(sw->sk_out); if (wq->ops.nice) { errno = 0; if (nice(wq->ops.nice) == -1 && errno != 0) { log_err("workqueue: nice %s\n", strerror(errno)); ret = 1; } } if (!ret) ret = workqueue_init_worker(sw); pthread_mutex_lock(&sw->lock); sw->flags |= SW_F_RUNNING; if (ret) sw->flags |= SW_F_ERROR; pthread_mutex_unlock(&sw->lock); pthread_mutex_lock(&wq->flush_lock); pthread_cond_signal(&wq->flush_cond); pthread_mutex_unlock(&wq->flush_lock); if (sw->flags & SW_F_ERROR) goto done; pthread_mutex_lock(&sw->lock); while (1) { if (flist_empty(&sw->work_list)) { if (sw->flags & SW_F_EXIT) { break; } if (workqueue_pre_sleep_check(sw)) { pthread_mutex_unlock(&sw->lock); workqueue_pre_sleep(sw); pthread_mutex_lock(&sw->lock); } } /* * We may have dropped and reaquired the lock, check state * again. */ if (flist_empty(&sw->work_list)) { if (sw->flags & SW_F_EXIT) { break; } if (!(sw->flags & SW_F_IDLE)) { sw->flags |= SW_F_IDLE; wq->next_free_worker = sw->index; pthread_mutex_unlock(&sw->lock); pthread_mutex_lock(&wq->flush_lock); if (wq->wake_idle) pthread_cond_signal(&wq->flush_cond); pthread_mutex_unlock(&wq->flush_lock); pthread_mutex_lock(&sw->lock); } } if (flist_empty(&sw->work_list)) { if (sw->flags & SW_F_EXIT) { break; } pthread_cond_wait(&sw->cond, &sw->lock); } else { flist_splice_init(&sw->work_list, &local_list); } pthread_mutex_unlock(&sw->lock); handle_list(sw, &local_list); if (wq->ops.update_acct_fn) wq->ops.update_acct_fn(sw); pthread_mutex_lock(&sw->lock); } pthread_mutex_unlock(&sw->lock); done: sk_out_drop(); return NULL; } static void free_worker(struct submit_worker *sw, unsigned int *sum_cnt) { struct workqueue *wq = sw->wq; workqueue_exit_worker(sw, sum_cnt); pthread_cond_destroy(&sw->cond); pthread_mutex_destroy(&sw->lock); if (wq->ops.free_worker_fn) wq->ops.free_worker_fn(sw); } static void shutdown_worker(struct submit_worker *sw, unsigned int *sum_cnt) { pthread_join(sw->thread, NULL); free_worker(sw, sum_cnt); } void workqueue_exit(struct workqueue *wq) { unsigned int shutdown, sum_cnt = 0; struct submit_worker *sw; int i; if (!wq->workers) return; for (i = 0; i < wq->max_workers; i++) { sw = &wq->workers[i]; pthread_mutex_lock(&sw->lock); sw->flags |= SW_F_EXIT; pthread_cond_signal(&sw->cond); pthread_mutex_unlock(&sw->lock); } do { shutdown = 0; for (i = 0; i < wq->max_workers; i++) { sw = &wq->workers[i]; if (sw->flags & SW_F_ACCOUNTED) continue; pthread_mutex_lock(&sw->lock); sw->flags |= SW_F_ACCOUNTED; pthread_mutex_unlock(&sw->lock); shutdown_worker(sw, &sum_cnt); shutdown++; } } while (shutdown && shutdown != wq->max_workers); sfree(wq->workers); wq->workers = NULL; pthread_mutex_destroy(&wq->flush_lock); pthread_cond_destroy(&wq->flush_cond); pthread_mutex_destroy(&wq->stat_lock); } static int start_worker(struct workqueue *wq, unsigned int index, struct sk_out *sk_out) { struct submit_worker *sw = &wq->workers[index]; int ret; INIT_FLIST_HEAD(&sw->work_list); ret = mutex_cond_init_pshared(&sw->lock, &sw->cond); if (ret) return ret; sw->wq = wq; sw->index = index; sw->sk_out = sk_out; if (wq->ops.alloc_worker_fn) { ret = wq->ops.alloc_worker_fn(sw); if (ret) return ret; } ret = pthread_create(&sw->thread, NULL, worker_thread, sw); if (!ret) { pthread_mutex_lock(&sw->lock); sw->flags = SW_F_IDLE; pthread_mutex_unlock(&sw->lock); return 0; } free_worker(sw, NULL); return 1; } int workqueue_init(struct thread_data *td, struct workqueue *wq, struct workqueue_ops *ops, unsigned int max_workers, struct sk_out *sk_out) { unsigned int running; int i, error; int ret; wq->max_workers = max_workers; wq->td = td; wq->ops = *ops; wq->work_seq = 0; wq->next_free_worker = 0; ret = mutex_cond_init_pshared(&wq->flush_lock, &wq->flush_cond); if (ret) goto err; ret = mutex_init_pshared(&wq->stat_lock); if (ret) goto err; wq->workers = smalloc(wq->max_workers * sizeof(struct submit_worker)); if (!wq->workers) goto err; for (i = 0; i < wq->max_workers; i++) if (start_worker(wq, i, sk_out)) break; wq->max_workers = i; if (!wq->max_workers) goto err; /* * Wait for them all to be started and initialized */ error = 0; pthread_mutex_lock(&wq->flush_lock); do { struct submit_worker *sw; running = 0; for (i = 0; i < wq->max_workers; i++) { sw = &wq->workers[i]; pthread_mutex_lock(&sw->lock); if (sw->flags & SW_F_RUNNING) running++; if (sw->flags & SW_F_ERROR) error++; pthread_mutex_unlock(&sw->lock); } if (error || running == wq->max_workers) break; pthread_cond_wait(&wq->flush_cond, &wq->flush_lock); } while (1); pthread_mutex_unlock(&wq->flush_lock); if (!error) return 0; err: log_err("Can't create rate workqueue\n"); td_verror(td, ESRCH, "workqueue_init"); workqueue_exit(wq); return 1; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/workqueue.h��������������������������������������������������������������������������������0000664�0000000�0000000�00000005374�14762620516�0014447�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef FIO_RATE_H #define FIO_RATE_H #include <inttypes.h> #include <pthread.h> #include "flist.h" #include "lib/types.h" struct sk_out; struct thread_data; struct workqueue_work { struct flist_head list; }; struct submit_worker { pthread_t thread; pthread_mutex_t lock; pthread_cond_t cond; struct flist_head work_list; unsigned int flags; unsigned int index; uint64_t seq; struct workqueue *wq; void *priv; struct sk_out *sk_out; }; typedef int (workqueue_work_fn)(struct submit_worker *, struct workqueue_work *); typedef bool (workqueue_pre_sleep_flush_fn)(struct submit_worker *); typedef void (workqueue_pre_sleep_fn)(struct submit_worker *); typedef int (workqueue_alloc_worker_fn)(struct submit_worker *); typedef void (workqueue_free_worker_fn)(struct submit_worker *); typedef int (workqueue_init_worker_fn)(struct submit_worker *); typedef void (workqueue_exit_worker_fn)(struct submit_worker *, unsigned int *); typedef void (workqueue_update_acct_fn)(struct submit_worker *); struct workqueue_ops { workqueue_work_fn *fn; workqueue_pre_sleep_flush_fn *pre_sleep_flush_fn; workqueue_pre_sleep_fn *pre_sleep_fn; workqueue_update_acct_fn *update_acct_fn; workqueue_alloc_worker_fn *alloc_worker_fn; workqueue_free_worker_fn *free_worker_fn; workqueue_init_worker_fn *init_worker_fn; workqueue_exit_worker_fn *exit_worker_fn; unsigned int nice; }; struct workqueue { unsigned int max_workers; struct thread_data *td; struct workqueue_ops ops; uint64_t work_seq; struct submit_worker *workers; unsigned int next_free_worker; pthread_cond_t flush_cond; pthread_mutex_t flush_lock; pthread_mutex_t stat_lock; volatile int wake_idle; }; int workqueue_init(struct thread_data *td, struct workqueue *wq, struct workqueue_ops *ops, unsigned int max_workers, struct sk_out *sk_out); void workqueue_exit(struct workqueue *wq); void workqueue_enqueue(struct workqueue *wq, struct workqueue_work *work); void workqueue_flush(struct workqueue *wq); static inline bool workqueue_pre_sleep_check(struct submit_worker *sw) { struct workqueue *wq = sw->wq; if (!wq->ops.pre_sleep_flush_fn) return false; return wq->ops.pre_sleep_flush_fn(sw); } static inline void workqueue_pre_sleep(struct submit_worker *sw) { struct workqueue *wq = sw->wq; if (wq->ops.pre_sleep_fn) wq->ops.pre_sleep_fn(sw); } static inline int workqueue_init_worker(struct submit_worker *sw) { struct workqueue *wq = sw->wq; if (!wq->ops.init_worker_fn) return 0; return wq->ops.init_worker_fn(sw); } static inline void workqueue_exit_worker(struct submit_worker *sw, unsigned int *sum_cnt) { struct workqueue *wq = sw->wq; unsigned int tmp = 1; if (!wq->ops.exit_worker_fn) return; if (!sum_cnt) sum_cnt = &tmp; wq->ops.exit_worker_fn(sw, sum_cnt); } #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/zbd.c��������������������������������������������������������������������������������������0000664�0000000�0000000�00000163446�14762620516�0013177�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * Copyright (C) 2018 Western Digital Corporation or its affiliates. * * This file is released under the GPL. */ #include <errno.h> #include <string.h> #include <stdlib.h> #include <fcntl.h> #include <sys/stat.h> #include <unistd.h> #include "compiler/compiler.h" #include "os/os.h" #include "file.h" #include "fio.h" #include "lib/pow2.h" #include "log.h" #include "oslib/asprintf.h" #include "smalloc.h" #include "verify.h" #include "pshared.h" #include "zbd.h" static bool is_valid_offset(const struct fio_file *f, uint64_t offset) { return (uint64_t)(offset - f->file_offset) < f->io_size; } static inline unsigned int zbd_zone_idx(const struct fio_file *f, struct fio_zone_info *zone) { return zone - f->zbd_info->zone_info; } /** * zbd_offset_to_zone_idx - convert an offset into a zone number * @f: file pointer. * @offset: offset in bytes. If this offset is in the first zone_size bytes * past the disk size then the index of the sentinel is returned. */ static unsigned int zbd_offset_to_zone_idx(const struct fio_file *f, uint64_t offset) { uint32_t zone_idx; if (f->zbd_info->zone_size_log2 > 0) zone_idx = offset >> f->zbd_info->zone_size_log2; else zone_idx = offset / f->zbd_info->zone_size; return min(zone_idx, f->zbd_info->nr_zones); } /** * zbd_zone_end - Return zone end location * @z: zone info pointer. */ static inline uint64_t zbd_zone_end(const struct fio_zone_info *z) { return (z+1)->start; } /** * zbd_zone_capacity_end - Return zone capacity limit end location * @z: zone info pointer. */ static inline uint64_t zbd_zone_capacity_end(const struct fio_zone_info *z) { return z->start + z->capacity; } /** * zbd_zone_remainder - Return the number of bytes that are still available for * writing before the zone gets full * @z: zone info pointer. */ static inline uint64_t zbd_zone_remainder(struct fio_zone_info *z) { if (z->wp >= zbd_zone_capacity_end(z)) return 0; return zbd_zone_capacity_end(z) - z->wp; } /** * zbd_zone_full - verify whether a minimum number of bytes remain in a zone * @f: file pointer. * @z: zone info pointer. * @required: minimum number of bytes that must remain in a zone. * * The caller must hold z->mutex. */ static bool zbd_zone_full(const struct fio_file *f, struct fio_zone_info *z, uint64_t required) { assert((required & 511) == 0); return z->has_wp && required > zbd_zone_remainder(z); } static void zone_lock(struct thread_data *td, const struct fio_file *f, struct fio_zone_info *z) { #ifndef NDEBUG unsigned int const nz = zbd_zone_idx(f, z); /* A thread should never lock zones outside its working area. */ assert(f->min_zone <= nz && nz < f->max_zone); assert(z->has_wp); #endif /* * Lock the io_u target zone. The zone will be unlocked if io_u offset * is changed or when io_u completes and zbd_put_io() executed. * To avoid multiple jobs doing asynchronous I/Os from deadlocking each * other waiting for zone locks when building an io_u batch, first * only trylock the zone. If the zone is already locked by another job, * process the currently queued I/Os so that I/O progress is made and * zones unlocked. */ if (pthread_mutex_trylock(&z->mutex) != 0) { if (!td_ioengine_flagged(td, FIO_SYNCIO)) io_u_quiesce(td); pthread_mutex_lock(&z->mutex); } } static inline void zone_unlock(struct fio_zone_info *z) { assert(z->has_wp); pthread_mutex_unlock(&z->mutex); } static inline struct fio_zone_info *zbd_get_zone(const struct fio_file *f, unsigned int zone_idx) { return &f->zbd_info->zone_info[zone_idx]; } static inline struct fio_zone_info * zbd_offset_to_zone(const struct fio_file *f, uint64_t offset) { return zbd_get_zone(f, zbd_offset_to_zone_idx(f, offset)); } static bool accounting_vdb(struct thread_data *td, const struct fio_file *f) { return td->o.zrt.u.f && td_write(td); } /** * zbd_get_zoned_model - Get a device zoned model * @td: FIO thread data * @f: FIO file for which to get model information */ static int zbd_get_zoned_model(struct thread_data *td, struct fio_file *f, enum zbd_zoned_model *model) { int ret; if (f->filetype == FIO_TYPE_PIPE) { log_err("zonemode=zbd does not support pipes\n"); return -EINVAL; } /* If regular file, always emulate zones inside the file. */ if (f->filetype == FIO_TYPE_FILE) { *model = ZBD_NONE; return 0; } if (td->io_ops && td->io_ops->get_zoned_model) ret = td->io_ops->get_zoned_model(td, f, model); else ret = blkzoned_get_zoned_model(td, f, model); if (ret < 0) { td_verror(td, errno, "get zoned model failed"); log_err("%s: get zoned model failed (%d).\n", f->file_name, errno); } return ret; } /** * zbd_report_zones - Get zone information * @td: FIO thread data. * @f: FIO file for which to get zone information * @offset: offset from which to report zones * @zones: Array of struct zbd_zone * @nr_zones: Size of @zones array * * Get zone information into @zones starting from the zone at offset @offset * for the device specified by @f. * * Returns the number of zones reported upon success and a negative error code * upon failure. If the zone report is empty, always assume an error (device * problem) and return -EIO. */ static int zbd_report_zones(struct thread_data *td, struct fio_file *f, uint64_t offset, struct zbd_zone *zones, unsigned int nr_zones) { int ret; if (td->io_ops && td->io_ops->report_zones) ret = td->io_ops->report_zones(td, f, offset, zones, nr_zones); else ret = blkzoned_report_zones(td, f, offset, zones, nr_zones); if (ret < 0) { td_verror(td, errno, "report zones failed"); log_err("%s: report zones from sector %"PRIu64" failed (nr_zones=%d; errno=%d).\n", f->file_name, offset >> 9, nr_zones, errno); } else if (ret == 0) { td_verror(td, errno, "Empty zone report"); log_err("%s: report zones from sector %"PRIu64" is empty.\n", f->file_name, offset >> 9); ret = -EIO; } return ret; } /** * zbd_reset_wp - reset the write pointer of a range of zones * @td: FIO thread data. * @f: FIO file for which to reset zones * @offset: Starting offset of the first zone to reset * @length: Length of the range of zones to reset * * Reset the write pointer of all zones in the range @offset...@offset+@length. * Returns 0 upon success and a negative error code upon failure. */ static int zbd_reset_wp(struct thread_data *td, struct fio_file *f, uint64_t offset, uint64_t length) { int ret; if (td->io_ops && td->io_ops->reset_wp) ret = td->io_ops->reset_wp(td, f, offset, length); else ret = blkzoned_reset_wp(td, f, offset, length); if (ret < 0) { td_verror(td, errno, "resetting wp failed"); log_err("%s: resetting wp for %"PRIu64" sectors at sector %"PRIu64" failed (%d).\n", f->file_name, length >> 9, offset >> 9, errno); } return ret; } /** * __zbd_reset_zone - reset the write pointer of a single zone * @td: FIO thread data. * @f: FIO file associated with the disk for which to reset a write pointer. * @z: Zone to reset. * * Returns 0 upon success and a negative error code upon failure. * * The caller must hold z->mutex. */ static int __zbd_reset_zone(struct thread_data *td, struct fio_file *f, struct fio_zone_info *z) { uint64_t offset = z->start; uint64_t length = (z+1)->start - offset; uint64_t data_in_zone = z->wp - z->start; int ret = 0; if (!data_in_zone) return 0; assert(is_valid_offset(f, offset + length - 1)); dprint(FD_ZBD, "%s: resetting wp of zone %u.\n", f->file_name, zbd_zone_idx(f, z)); switch (f->zbd_info->model) { case ZBD_HOST_AWARE: case ZBD_HOST_MANAGED: ret = zbd_reset_wp(td, f, offset, length); if (ret < 0) return ret; break; default: break; } if (accounting_vdb(td, f)) { pthread_mutex_lock(&f->zbd_info->mutex); f->zbd_info->wp_valid_data_bytes -= data_in_zone; pthread_mutex_unlock(&f->zbd_info->mutex); } z->wp = z->start; td->ts.nr_zone_resets++; return ret; } /** * zbd_write_zone_put - Remove a zone from the write target zones array. * @td: FIO thread data. * @f: FIO file that has the write zones array to remove. * @zone_idx: Index of the zone to remove. * * The caller must hold f->zbd_info->mutex. */ static void zbd_write_zone_put(struct thread_data *td, const struct fio_file *f, struct fio_zone_info *z) { uint32_t zi; if (!z->write) return; for (zi = 0; zi < f->zbd_info->num_write_zones; zi++) { if (zbd_get_zone(f, f->zbd_info->write_zones[zi]) == z) break; } if (zi == f->zbd_info->num_write_zones) return; dprint(FD_ZBD, "%s: removing zone %u from write zone array\n", f->file_name, zbd_zone_idx(f, z)); memmove(f->zbd_info->write_zones + zi, f->zbd_info->write_zones + zi + 1, (ZBD_MAX_WRITE_ZONES - (zi + 1)) * sizeof(f->zbd_info->write_zones[0])); f->zbd_info->num_write_zones--; td->num_write_zones--; z->write = 0; } /** * zbd_reset_zone - reset the write pointer of a single zone and remove the zone * from the array of write zones. * @td: FIO thread data. * @f: FIO file associated with the disk for which to reset a write pointer. * @z: Zone to reset. * * Returns 0 upon success and a negative error code upon failure. * * The caller must hold z->mutex. */ static int zbd_reset_zone(struct thread_data *td, struct fio_file *f, struct fio_zone_info *z) { int ret; ret = __zbd_reset_zone(td, f, z); if (ret) return ret; pthread_mutex_lock(&f->zbd_info->mutex); zbd_write_zone_put(td, f, z); pthread_mutex_unlock(&f->zbd_info->mutex); return 0; } /** * zbd_finish_zone - finish the specified zone * @td: FIO thread data. * @f: FIO file for which to finish a zone * @z: Zone to finish. * * Finish the zone at @offset with open or close status. */ static int zbd_finish_zone(struct thread_data *td, struct fio_file *f, struct fio_zone_info *z) { uint64_t offset = z->start; uint64_t length = f->zbd_info->zone_size; int ret = 0; switch (f->zbd_info->model) { case ZBD_HOST_AWARE: case ZBD_HOST_MANAGED: if (td->io_ops && td->io_ops->finish_zone) ret = td->io_ops->finish_zone(td, f, offset, length); else ret = blkzoned_finish_zone(td, f, offset, length); break; default: break; } if (ret < 0) { td_verror(td, errno, "finish zone failed"); log_err("%s: finish zone at sector %"PRIu64" failed (%d).\n", f->file_name, offset >> 9, errno); } else { z->wp = (z+1)->start; } return ret; } /** * zbd_reset_zones - Reset a range of zones. * @td: fio thread data. * @f: fio file for which to reset zones * @zb: first zone to reset. * @ze: first zone not to reset. * * Returns 0 upon success and 1 upon failure. */ static int zbd_reset_zones(struct thread_data *td, struct fio_file *f, struct fio_zone_info *const zb, struct fio_zone_info *const ze) { struct fio_zone_info *z; const uint64_t min_bs = td->o.min_bs[DDIR_WRITE]; int res = 0; if (fio_unlikely(0 == min_bs)) return 1; dprint(FD_ZBD, "%s: examining zones %u .. %u\n", f->file_name, zbd_zone_idx(f, zb), zbd_zone_idx(f, ze)); for (z = zb; z < ze; z++) { if (!z->has_wp) continue; zone_lock(td, f, z); if (z->wp != z->start) { dprint(FD_ZBD, "%s: resetting zone %u\n", f->file_name, zbd_zone_idx(f, z)); if (zbd_reset_zone(td, f, z) < 0) res = 1; } zone_unlock(z); } return res; } /** * zbd_get_max_open_zones - Get the maximum number of open zones * @td: FIO thread data * @f: FIO file for which to get max open zones * @max_open_zones: Upon success, result will be stored here. * * A @max_open_zones value set to zero means no limit. * * Returns 0 upon success and a negative error code upon failure. */ static int zbd_get_max_open_zones(struct thread_data *td, struct fio_file *f, unsigned int *max_open_zones) { int ret; if (td->io_ops && td->io_ops->get_max_open_zones) ret = td->io_ops->get_max_open_zones(td, f, max_open_zones); else ret = blkzoned_get_max_open_zones(td, f, max_open_zones); if (ret < 0) { td_verror(td, errno, "get max open zones failed"); log_err("%s: get max open zones failed (%d).\n", f->file_name, errno); } return ret; } /** * zbd_get_max_active_zones - Get the maximum number of active zones * @td: FIO thread data * @f: FIO file for which to get max active zones * * Returns max_active_zones limit value of the target file if it is available. * Otherwise return zero, which means no limit. */ static unsigned int zbd_get_max_active_zones(struct thread_data *td, struct fio_file *f) { unsigned int max_active_zones; int ret; if (td->io_ops && td->io_ops->get_max_active_zones) ret = td->io_ops->get_max_active_zones(td, f, &max_active_zones); else ret = blkzoned_get_max_active_zones(td, f, &max_active_zones); if (ret < 0) { dprint(FD_ZBD, "%s: max_active_zones is not available\n", f->file_name); return 0; } return max_active_zones; } /** * __zbd_write_zone_get - Add a zone to the array of write zones. * @td: fio thread data. * @f: fio file that has the write zones array to add. * @zone_idx: Index of the zone to add. * * Do same operation as @zbd_write_zone_get, except it adds the zone at * @zone_idx to write target zones array even when it does not have remainder * space to write one block. */ static bool __zbd_write_zone_get(struct thread_data *td, const struct fio_file *f, struct fio_zone_info *z) { struct zoned_block_device_info *zbdi = f->zbd_info; uint32_t zone_idx = zbd_zone_idx(f, z); bool res = true; if (z->cond == ZBD_ZONE_COND_OFFLINE) return false; /* * Skip full zones with data verification enabled because resetting a * zone causes data loss and hence causes verification to fail. */ if (td->o.verify != VERIFY_NONE && zbd_zone_remainder(z) == 0) return false; /* * zbdi->max_write_zones == 0 means that there is no limit on the * maximum number of write target zones. In this case, do no track write * target zones in zbdi->write_zones array. */ if (!zbdi->max_write_zones) return true; pthread_mutex_lock(&zbdi->mutex); if (z->write) { /* * If the zone is going to be completely filled by writes * already in-flight, handle it as a full zone instead of a * write target zone. */ if (!zbd_zone_remainder(z)) res = false; goto out; } res = false; /* Zero means no limit */ if (td->o.job_max_open_zones > 0 && td->num_write_zones >= td->o.job_max_open_zones) goto out; if (zbdi->num_write_zones >= zbdi->max_write_zones) goto out; dprint(FD_ZBD, "%s: adding zone %u to write zone array\n", f->file_name, zone_idx); zbdi->write_zones[zbdi->num_write_zones++] = zone_idx; td->num_write_zones++; z->write = 1; res = true; out: pthread_mutex_unlock(&zbdi->mutex); return res; } /** * zbd_write_zone_get - Add a zone to the array of write zones. * @td: fio thread data. * @f: fio file that has the open zones to add. * @zone_idx: Index of the zone to add. * * Add a ZBD zone to write target zones array, if it is not yet added. Returns * true if either the zone was already added or if the zone was successfully * added to the array without exceeding the maximum number of write zones. * Returns false if the zone was not already added and addition of the zone * would cause the zone limit to be exceeded. */ static bool zbd_write_zone_get(struct thread_data *td, const struct fio_file *f, struct fio_zone_info *z) { const uint64_t min_bs = td->o.min_bs[DDIR_WRITE]; /* * Skip full zones with data verification enabled because resetting a * zone causes data loss and hence causes verification to fail. */ if (td->o.verify != VERIFY_NONE && zbd_zone_full(f, z, min_bs)) return false; return __zbd_write_zone_get(td, f, z); } /* Verify whether direct I/O is used for all host-managed zoned block drives. */ static bool zbd_using_direct_io(void) { struct fio_file *f; int j; for_each_td(td) { if (td->o.odirect || !(td->o.td_ddir & TD_DDIR_WRITE)) continue; for_each_file(td, f, j) { if (f->zbd_info && f->filetype == FIO_TYPE_BLOCK && f->zbd_info->model == ZBD_HOST_MANAGED) return false; } } end_for_each(); return true; } /* Whether or not the I/O range for f includes one or more sequential zones */ static bool zbd_is_seq_job(const struct fio_file *f) { uint32_t zone_idx, zone_idx_b, zone_idx_e; assert(f->zbd_info); if (f->io_size == 0) return false; zone_idx_b = zbd_offset_to_zone_idx(f, f->file_offset); zone_idx_e = zbd_offset_to_zone_idx(f, f->file_offset + f->io_size - 1); for (zone_idx = zone_idx_b; zone_idx <= zone_idx_e; zone_idx++) if (zbd_get_zone(f, zone_idx)->has_wp) return true; return false; } /* * Verify whether the file offset and size parameters are aligned with zone * boundaries. If the file offset is not aligned, align it down to the start of * the zone containing the start offset and align up the file io_size parameter. */ static bool zbd_zone_align_file_sizes(struct thread_data *td, struct fio_file *f) { const struct fio_zone_info *z; uint64_t new_offset, new_end; if (!f->zbd_info) return true; if (f->file_offset >= f->real_file_size) return true; if (!zbd_is_seq_job(f)) return true; if (!td->o.zone_size) { td->o.zone_size = f->zbd_info->zone_size; if (!td->o.zone_size) { log_err("%s: invalid 0 zone size\n", f->file_name); return false; } } else if (td->o.zone_size != f->zbd_info->zone_size) { log_err("%s: zonesize %llu does not match the device zone size %"PRIu64".\n", f->file_name, td->o.zone_size, f->zbd_info->zone_size); return false; } if (td->o.zone_skip % td->o.zone_size) { log_err("%s: zoneskip %llu is not a multiple of the device zone size %llu.\n", f->file_name, td->o.zone_skip, td->o.zone_size); return false; } if (td->o.td_ddir == TD_DDIR_READ) { z = zbd_offset_to_zone(f, f->file_offset + f->io_size); new_end = z->start; if (f->file_offset + f->io_size > new_end) { log_info("%s: rounded io_size from %"PRIu64" to %"PRIu64"\n", f->file_name, f->io_size, new_end - f->file_offset); f->io_size = new_end - f->file_offset; } return true; } z = zbd_offset_to_zone(f, f->file_offset); if (f->file_offset != z->start) { new_offset = zbd_zone_end(z); if (new_offset >= f->file_offset + f->io_size) { log_info("%s: io_size must be at least one zone\n", f->file_name); return false; } log_info("%s: rounded up offset from %"PRIu64" to %"PRIu64"\n", f->file_name, f->file_offset, new_offset); f->io_size -= (new_offset - f->file_offset); f->file_offset = new_offset; } z = zbd_offset_to_zone(f, f->file_offset + f->io_size); new_end = z->start; if (f->file_offset + f->io_size != new_end) { if (new_end <= f->file_offset) { log_info("%s: io_size must be at least one zone\n", f->file_name); return false; } log_info("%s: rounded down io_size from %"PRIu64" to %"PRIu64"\n", f->file_name, f->io_size, new_end - f->file_offset); f->io_size = new_end - f->file_offset; } return true; } /* * Verify whether offset and size parameters are aligned with zone boundaries. */ static bool zbd_verify_sizes(void) { struct fio_file *f; int j; for_each_td(td) { for_each_file(td, f, j) { if (!zbd_zone_align_file_sizes(td, f)) return false; } } end_for_each(); return true; } static bool zbd_verify_bs(void) { struct fio_file *f; int j; for_each_td(td) { if (td_trim(td) && (td->o.min_bs[DDIR_TRIM] != td->o.max_bs[DDIR_TRIM] || td->o.bssplit_nr[DDIR_TRIM])) { log_info("bsrange and bssplit are not allowed for trim with zonemode=zbd\n"); return false; } for_each_file(td, f, j) { uint64_t zone_size; if (!f->zbd_info) continue; zone_size = f->zbd_info->zone_size; if (td_trim(td) && td->o.bs[DDIR_TRIM] != zone_size) { log_info("%s: trim block size %llu is not the zone size %"PRIu64"\n", f->file_name, td->o.bs[DDIR_TRIM], zone_size); return false; } } } end_for_each(); return true; } static int ilog2(uint64_t i) { int log = -1; while (i) { i >>= 1; log++; } return log; } /* * Initialize f->zbd_info for devices that are not zoned block devices. This * allows to execute a ZBD workload against a non-ZBD device. */ static int init_zone_info(struct thread_data *td, struct fio_file *f) { uint32_t nr_zones; struct fio_zone_info *p; uint64_t zone_size = td->o.zone_size; uint64_t zone_capacity = td->o.zone_capacity; struct zoned_block_device_info *zbd_info = NULL; int i; if (zone_size == 0) { log_err("%s: Specifying the zone size is mandatory for regular file/block device with --zonemode=zbd\n\n", f->file_name); return 1; } if (zone_size < 512) { log_err("%s: zone size must be at least 512 bytes for --zonemode=zbd\n\n", f->file_name); return 1; } if (zone_capacity == 0) zone_capacity = zone_size; if (zone_capacity > zone_size) { log_err("%s: job parameter zonecapacity %llu is larger than zone size %llu\n", f->file_name, td->o.zone_capacity, td->o.zone_size); return 1; } if (f->real_file_size < zone_size) { log_err("%s: file/device size %"PRIu64" is smaller than zone size %"PRIu64"\n", f->file_name, f->real_file_size, zone_size); return -EINVAL; } nr_zones = (f->real_file_size + zone_size - 1) / zone_size; zbd_info = scalloc(1, sizeof(*zbd_info) + (nr_zones + 1) * sizeof(zbd_info->zone_info[0])); if (!zbd_info) return -ENOMEM; mutex_init_pshared(&zbd_info->mutex); zbd_info->refcount = 1; p = &zbd_info->zone_info[0]; for (i = 0; i < nr_zones; i++, p++) { mutex_init_pshared_with_type(&p->mutex, PTHREAD_MUTEX_RECURSIVE); p->start = i * zone_size; p->wp = p->start; p->type = ZBD_ZONE_TYPE_SWR; p->cond = ZBD_ZONE_COND_EMPTY; p->capacity = zone_capacity; p->has_wp = 1; } /* a sentinel */ p->start = nr_zones * zone_size; f->zbd_info = zbd_info; f->zbd_info->zone_size = zone_size; f->zbd_info->zone_size_log2 = is_power_of_2(zone_size) ? ilog2(zone_size) : 0; f->zbd_info->nr_zones = nr_zones; return 0; } /* * Maximum number of zones to report in one operation. */ #define ZBD_REPORT_MAX_ZONES 8192U /* * Parse the device zone report and store it in f->zbd_info. Must be called * only for devices that are zoned, namely those with a model != ZBD_NONE. */ static int parse_zone_info(struct thread_data *td, struct fio_file *f) { int nr_zones, nrz; struct zbd_zone *zones, *z; struct fio_zone_info *p; uint64_t zone_size, offset, capacity; bool same_zone_cap = true; struct zoned_block_device_info *zbd_info = NULL; int i, j, ret = -ENOMEM; zones = calloc(ZBD_REPORT_MAX_ZONES, sizeof(struct zbd_zone)); if (!zones) goto out; nrz = zbd_report_zones(td, f, 0, zones, ZBD_REPORT_MAX_ZONES); if (nrz < 0) { ret = nrz; log_info("fio: report zones (offset 0) failed for %s (%d).\n", f->file_name, -ret); goto out; } zone_size = zones[0].len; capacity = zones[0].capacity; nr_zones = (f->real_file_size + zone_size - 1) / zone_size; if (td->o.zone_size == 0) { td->o.zone_size = zone_size; } else if (td->o.zone_size != zone_size) { log_err("fio: %s job parameter zonesize %llu does not match disk zone size %"PRIu64".\n", f->file_name, td->o.zone_size, zone_size); ret = -EINVAL; goto out; } dprint(FD_ZBD, "Device %s has %d zones of size %"PRIu64" KB\n", f->file_name, nr_zones, zone_size / 1024); zbd_info = scalloc(1, sizeof(*zbd_info) + (nr_zones + 1) * sizeof(zbd_info->zone_info[0])); if (!zbd_info) goto out; mutex_init_pshared(&zbd_info->mutex); zbd_info->refcount = 1; p = &zbd_info->zone_info[0]; for (offset = 0, j = 0; j < nr_zones;) { z = &zones[0]; for (i = 0; i < nrz; i++, j++, z++, p++) { mutex_init_pshared_with_type(&p->mutex, PTHREAD_MUTEX_RECURSIVE); p->start = z->start; p->capacity = z->capacity; if (capacity != z->capacity) same_zone_cap = false; switch (z->cond) { case ZBD_ZONE_COND_NOT_WP: case ZBD_ZONE_COND_FULL: p->wp = p->start + p->capacity; break; default: assert(z->start <= z->wp); assert(z->wp <= z->start + zone_size); p->wp = z->wp; break; } switch (z->type) { case ZBD_ZONE_TYPE_SWR: p->has_wp = 1; break; default: p->has_wp = 0; } p->type = z->type; p->cond = z->cond; if (j > 0 && p->start != p[-1].start + zone_size) { log_info("%s: invalid zone data [%d:%d]: %"PRIu64" + %"PRIu64" != %"PRIu64"\n", f->file_name, j, i, p[-1].start, zone_size, p->start); ret = -EINVAL; goto out; } } z--; offset = z->start + z->len; if (j >= nr_zones) break; nrz = zbd_report_zones(td, f, offset, zones, min((uint32_t)(nr_zones - j), ZBD_REPORT_MAX_ZONES)); if (nrz < 0) { ret = nrz; log_info("fio: report zones (offset %"PRIu64") failed for %s (%d).\n", offset, f->file_name, -ret); goto out; } } /* a sentinel */ zbd_info->zone_info[nr_zones].start = offset; f->zbd_info = zbd_info; f->zbd_info->zone_size = zone_size; f->zbd_info->zone_size_log2 = is_power_of_2(zone_size) ? ilog2(zone_size) : 0; f->zbd_info->nr_zones = nr_zones; f->zbd_info->max_active_zones = zbd_get_max_active_zones(td, f); if (same_zone_cap) dprint(FD_ZBD, "Zone capacity = %"PRIu64" KB\n", capacity / 1024); zbd_info = NULL; ret = 0; out: sfree(zbd_info); free(zones); return ret; } static int zbd_set_max_write_zones(struct thread_data *td, struct fio_file *f) { struct zoned_block_device_info *zbd = f->zbd_info; unsigned int max_open_zones; int ret; if (zbd->model != ZBD_HOST_MANAGED || td->o.ignore_zone_limits) { /* Only host-managed devices have a max open limit */ zbd->max_write_zones = td->o.max_open_zones; goto out; } /* If host-managed, get the max open limit */ ret = zbd_get_max_open_zones(td, f, &max_open_zones); if (ret) return ret; if (!max_open_zones) { /* No device limit */ zbd->max_write_zones = td->o.max_open_zones; } else if (!td->o.max_open_zones) { /* No user limit. Set limit to device limit */ zbd->max_write_zones = max_open_zones; } else if (td->o.max_open_zones <= max_open_zones) { /* Both user limit and dev limit. User limit not too large */ zbd->max_write_zones = td->o.max_open_zones; } else { /* Both user limit and dev limit. User limit too large */ td_verror(td, EINVAL, "Specified --max_open_zones is too large"); log_err("Specified --max_open_zones (%d) is larger than max (%u)\n", td->o.max_open_zones, max_open_zones); return -EINVAL; } out: /* Ensure that the limit is not larger than FIO's internal limit */ if (zbd->max_write_zones > ZBD_MAX_WRITE_ZONES) { td_verror(td, EINVAL, "'max_open_zones' value is too large"); log_err("'max_open_zones' value is larger than %u\n", ZBD_MAX_WRITE_ZONES); return -EINVAL; } dprint(FD_ZBD, "%s: using max write zones limit: %"PRIu32"\n", f->file_name, zbd->max_write_zones); return 0; } /* * Allocate zone information and store it into f->zbd_info if zonemode=zbd. * * Returns 0 upon success and a negative error code upon failure. */ static int zbd_create_zone_info(struct thread_data *td, struct fio_file *f) { enum zbd_zoned_model zbd_model; int ret; assert(td->o.zone_mode == ZONE_MODE_ZBD); ret = zbd_get_zoned_model(td, f, &zbd_model); if (ret) return ret; switch (zbd_model) { case ZBD_HOST_AWARE: case ZBD_HOST_MANAGED: ret = parse_zone_info(td, f); if (ret) return ret; break; case ZBD_NONE: ret = init_zone_info(td, f); if (ret) return ret; break; default: td_verror(td, EINVAL, "Unsupported zoned model"); log_err("Unsupported zoned model\n"); return -EINVAL; } assert(f->zbd_info); f->zbd_info->model = zbd_model; ret = zbd_set_max_write_zones(td, f); if (ret) { zbd_free_zone_info(f); return ret; } return 0; } void zbd_free_zone_info(struct fio_file *f) { uint32_t refcount; assert(f->zbd_info); pthread_mutex_lock(&f->zbd_info->mutex); refcount = --f->zbd_info->refcount; pthread_mutex_unlock(&f->zbd_info->mutex); assert((int32_t)refcount >= 0); if (refcount == 0) sfree(f->zbd_info); f->zbd_info = NULL; } /* * Initialize f->zbd_info. * * Returns 0 upon success and a negative error code upon failure. * * Note: this function can only work correctly if it is called before the first * fio fork() call. */ static int zbd_init_zone_info(struct thread_data *td, struct fio_file *file) { struct fio_file *f2; int j, ret; for_each_td(td2) { for_each_file(td2, f2, j) { if (td2 == td && f2 == file) continue; if (!f2->zbd_info || strcmp(f2->file_name, file->file_name) != 0) continue; file->zbd_info = f2->zbd_info; file->zbd_info->refcount++; return 0; } } end_for_each(); ret = zbd_create_zone_info(td, file); if (ret < 0) td_verror(td, -ret, "zbd_create_zone_info() failed"); return ret; } int zbd_init_files(struct thread_data *td) { struct fio_file *f; int i; for_each_file(td, f, i) { if (zbd_init_zone_info(td, f)) return 1; } return 0; } void zbd_recalc_options_with_zone_granularity(struct thread_data *td) { struct fio_file *f; int i; for_each_file(td, f, i) { struct zoned_block_device_info *zbd = f->zbd_info; uint64_t zone_size; /* zonemode=strided doesn't get per-file zone size. */ zone_size = zbd ? zbd->zone_size : td->o.zone_size; if (zone_size == 0) continue; if (td->o.size_nz > 0) td->o.size = td->o.size_nz * zone_size; if (td->o.io_size_nz > 0) td->o.io_size = td->o.io_size_nz * zone_size; if (td->o.start_offset_nz > 0) td->o.start_offset = td->o.start_offset_nz * zone_size; if (td->o.offset_increment_nz > 0) td->o.offset_increment = td->o.offset_increment_nz * zone_size; if (td->o.zone_skip_nz > 0) td->o.zone_skip = td->o.zone_skip_nz * zone_size; } } static uint64_t zbd_verify_and_set_vdb(struct thread_data *td, const struct fio_file *f) { struct fio_zone_info *zb, *ze, *z; uint64_t wp_vdb = 0; struct zoned_block_device_info *zbdi = f->zbd_info; assert(td->runstate < TD_RUNNING); assert(zbdi); if (!accounting_vdb(td, f)) return 0; /* * Ensure that the I/O range includes one or more sequential zones so * that f->min_zone and f->max_zone have different values. */ if (!zbd_is_seq_job(f)) return 0; if (zbdi->write_min_zone != zbdi->write_max_zone) { if (zbdi->write_min_zone != f->min_zone || zbdi->write_max_zone != f->max_zone) { td_verror(td, EINVAL, "multi-jobs with different write ranges are " "not supported with zone_reset_threshold"); log_err("multi-jobs with different write ranges are " "not supported with zone_reset_threshold\n"); } return 0; } zbdi->write_min_zone = f->min_zone; zbdi->write_max_zone = f->max_zone; zb = zbd_get_zone(f, f->min_zone); ze = zbd_get_zone(f, f->max_zone); for (z = zb; z < ze; z++) if (z->has_wp) wp_vdb += z->wp - z->start; zbdi->wp_valid_data_bytes = wp_vdb; return wp_vdb; } int zbd_setup_files(struct thread_data *td) { struct fio_file *f; int i; if (!zbd_using_direct_io()) { log_err("Using direct I/O is mandatory for writing to ZBD drives\n\n"); return 1; } if (!zbd_verify_sizes()) return 1; if (!zbd_verify_bs()) return 1; if (td->o.experimental_verify) { log_err("zonemode=zbd does not support experimental verify\n"); return 1; } for_each_file(td, f, i) { struct zoned_block_device_info *zbd = f->zbd_info; struct fio_zone_info *z; int zi; uint64_t vdb; assert(zbd); f->min_zone = zbd_offset_to_zone_idx(f, f->file_offset); f->max_zone = zbd_offset_to_zone_idx(f, f->file_offset + f->io_size); vdb = zbd_verify_and_set_vdb(td, f); dprint(FD_ZBD, "%s(%s): valid data bytes = %" PRIu64 "\n", __func__, f->file_name, vdb); /* * When all zones in the I/O range are conventional, io_size * can be smaller than zone size, making min_zone the same * as max_zone. This is why the assert below needs to be made * conditional. */ if (zbd_is_seq_job(f)) assert(f->min_zone < f->max_zone); if (td->o.max_open_zones > 0 && zbd->max_write_zones != td->o.max_open_zones) { log_err("Different 'max_open_zones' values\n"); return 1; } /* * If this job does not do write operations, skip open zone * condition check. */ if (!td_write(td)) { if (td->o.job_max_open_zones) log_info("'job_max_open_zones' is valid only for write jobs\n"); continue; } /* * The per job max open zones limit cannot be used without a * global max open zones limit. (As the tracking of open zones * is disabled when there is no global max open zones limit.) */ if (td->o.job_max_open_zones && !zbd->max_write_zones) { log_err("'job_max_open_zones' cannot be used without a global open zones limit\n"); return 1; } /* * zbd->max_write_zones is the global limit shared for all jobs * that target the same zoned block device. Force sync the per * thread global limit with the actual global limit. (The real * per thread/job limit is stored in td->o.job_max_open_zones). */ td->o.max_open_zones = zbd->max_write_zones; for (zi = f->min_zone; zi < f->max_zone; zi++) { z = &zbd->zone_info[zi]; if (z->cond != ZBD_ZONE_COND_IMP_OPEN && z->cond != ZBD_ZONE_COND_EXP_OPEN && z->cond != ZBD_ZONE_COND_CLOSED) continue; if (!zbd->max_active_zones && z->cond == ZBD_ZONE_COND_CLOSED) continue; if (__zbd_write_zone_get(td, f, z)) continue; /* * If the number of open zones exceeds specified limits, * error out. */ log_err("Number of open zones exceeds max_open_zones limit\n"); return 1; } } return 0; } /* * Reset zbd_info.write_cnt, the counter that counts down towards the next * zone reset. */ static void _zbd_reset_write_cnt(const struct thread_data *td, const struct fio_file *f) { assert(0 <= td->o.zrf.u.f && td->o.zrf.u.f <= 1); f->zbd_info->write_cnt = td->o.zrf.u.f ? min(1.0 / td->o.zrf.u.f, 0.0 + UINT_MAX) : UINT_MAX; } static void zbd_reset_write_cnt(const struct thread_data *td, const struct fio_file *f) { pthread_mutex_lock(&f->zbd_info->mutex); _zbd_reset_write_cnt(td, f); pthread_mutex_unlock(&f->zbd_info->mutex); } static bool zbd_dec_and_reset_write_cnt(const struct thread_data *td, const struct fio_file *f) { uint32_t write_cnt = 0; pthread_mutex_lock(&f->zbd_info->mutex); assert(f->zbd_info->write_cnt); if (f->zbd_info->write_cnt) write_cnt = --f->zbd_info->write_cnt; if (write_cnt == 0) _zbd_reset_write_cnt(td, f); pthread_mutex_unlock(&f->zbd_info->mutex); return write_cnt == 0; } void zbd_file_reset(struct thread_data *td, struct fio_file *f) { struct fio_zone_info *zb, *ze; bool verify_data_left = false; if (!f->zbd_info || !td_write(td)) return; zb = zbd_get_zone(f, f->min_zone); ze = zbd_get_zone(f, f->max_zone); /* * If data verification is enabled reset the affected zones before * writing any data to avoid that a zone reset has to be issued while * writing data, which causes data loss. */ if (td->o.verify != VERIFY_NONE) { verify_data_left = td->runstate == TD_VERIFYING || td->io_hist_len || td->verify_batch; if (!verify_data_left) zbd_reset_zones(td, f, zb, ze); } zbd_reset_write_cnt(td, f); } /* Return random zone index for one of the write target zones. */ static uint32_t pick_random_zone_idx(const struct fio_file *f, const struct io_u *io_u) { return (io_u->offset - f->file_offset) * f->zbd_info->num_write_zones / f->io_size; } static bool any_io_in_flight(void) { for_each_td(td) { if (td->io_u_in_flight) return true; } end_for_each(); return false; } /* * Modify the offset of an I/O unit that does not refer to a zone such that * in write target zones array. Add a zone to or remove a zone from the lsit if * necessary. The write target zone is searched across sequential zones. * This algorithm can only work correctly if all write pointers are * a multiple of the fio block size. The caller must neither hold z->mutex * nor f->zbd_info->mutex. Returns with z->mutex held upon success. */ static struct fio_zone_info *zbd_convert_to_write_zone(struct thread_data *td, struct io_u *io_u) { const uint64_t min_bs = td->o.min_bs[io_u->ddir]; struct fio_file *f = io_u->file; struct zoned_block_device_info *zbdi = f->zbd_info; struct fio_zone_info *z; unsigned int write_zone_idx = -1; uint32_t zone_idx, new_zone_idx; int i; bool wait_zone_write; bool in_flight; bool should_retry = true; assert(is_valid_offset(f, io_u->offset)); if (zbdi->max_write_zones || td->o.job_max_open_zones) { /* * This statement accesses zbdi->write_zones[] on purpose * without locking. */ zone_idx = zbdi->write_zones[pick_random_zone_idx(f, io_u)]; } else { zone_idx = zbd_offset_to_zone_idx(f, io_u->offset); } if (zone_idx < f->min_zone) zone_idx = f->min_zone; else if (zone_idx >= f->max_zone) zone_idx = f->max_zone - 1; dprint(FD_ZBD, "%s(%s): starting from zone %d (offset %lld, buflen %lld)\n", __func__, f->file_name, zone_idx, io_u->offset, io_u->buflen); /* * Since z->mutex is the outer lock and zbdi->mutex the inner * lock it can happen that the state of the zone with index zone_idx * has changed after 'z' has been assigned and before zbdi->mutex * has been obtained. Hence the loop. */ for (;;) { uint32_t tmp_idx; z = zbd_get_zone(f, zone_idx); if (z->has_wp) zone_lock(td, f, z); pthread_mutex_lock(&zbdi->mutex); if (z->has_wp) { if (z->cond != ZBD_ZONE_COND_OFFLINE && zbdi->max_write_zones == 0 && td->o.job_max_open_zones == 0) goto examine_zone; if (zbdi->num_write_zones == 0) { dprint(FD_ZBD, "%s(%s): no zone is write target\n", __func__, f->file_name); goto choose_other_zone; } } /* * Array of write target zones is per-device, shared across all * threads. Start with quasi-random candidate zone. Ignore * zones which don't belong to thread's offset/size area. */ write_zone_idx = pick_random_zone_idx(f, io_u); assert(!write_zone_idx || write_zone_idx < zbdi->num_write_zones); tmp_idx = write_zone_idx; for (i = 0; i < zbdi->num_write_zones; i++) { uint32_t tmpz; if (tmp_idx >= zbdi->num_write_zones) tmp_idx = 0; tmpz = zbdi->write_zones[tmp_idx]; if (f->min_zone <= tmpz && tmpz < f->max_zone) { write_zone_idx = tmp_idx; goto found_candidate_zone; } tmp_idx++; } dprint(FD_ZBD, "%s(%s): no candidate zone\n", __func__, f->file_name); pthread_mutex_unlock(&zbdi->mutex); if (z->has_wp) zone_unlock(z); return NULL; found_candidate_zone: new_zone_idx = zbdi->write_zones[write_zone_idx]; if (new_zone_idx == zone_idx) break; zone_idx = new_zone_idx; pthread_mutex_unlock(&zbdi->mutex); if (z->has_wp) zone_unlock(z); } /* Both z->mutex and zbdi->mutex are held. */ examine_zone: if (zbd_zone_remainder(z) >= min_bs) { pthread_mutex_unlock(&zbdi->mutex); goto out; } choose_other_zone: /* Check if number of write target zones reaches one of limits. */ wait_zone_write = zbdi->num_write_zones == f->max_zone - f->min_zone || (zbdi->max_write_zones && zbdi->num_write_zones == zbdi->max_write_zones) || (td->o.job_max_open_zones && td->num_write_zones == td->o.job_max_open_zones); pthread_mutex_unlock(&zbdi->mutex); /* Only z->mutex is held. */ /* * When number of write target zones reaches to one of limits, wait for * zone write completion to one of them before trying a new zone. */ if (wait_zone_write) { dprint(FD_ZBD, "%s(%s): quiesce to remove a zone from write target zones array\n", __func__, f->file_name); io_u_quiesce(td); } retry: /* Zone 'z' is full, so try to choose a new zone. */ for (i = f->io_size / zbdi->zone_size; i > 0; i--) { zone_idx++; if (z->has_wp) zone_unlock(z); z++; if (!is_valid_offset(f, z->start)) { /* Wrap-around. */ zone_idx = f->min_zone; z = zbd_get_zone(f, zone_idx); } assert(is_valid_offset(f, z->start)); if (!z->has_wp) continue; zone_lock(td, f, z); if (z->write) continue; if (zbd_write_zone_get(td, f, z)) goto out; } /* Only z->mutex is held. */ /* Check whether the write fits in any of the write target zones. */ pthread_mutex_lock(&zbdi->mutex); for (i = 0; i < zbdi->num_write_zones; i++) { zone_idx = zbdi->write_zones[i]; if (zone_idx < f->min_zone || zone_idx >= f->max_zone) continue; pthread_mutex_unlock(&zbdi->mutex); zone_unlock(z); z = zbd_get_zone(f, zone_idx); zone_lock(td, f, z); if (zbd_zone_remainder(z) >= min_bs) goto out; pthread_mutex_lock(&zbdi->mutex); } /* * When any I/O is in-flight or when all I/Os in-flight get completed, * the I/Os might have removed zones from the write target array then * retry the steps to choose a zone. Before retry, call io_u_quiesce() * to complete in-flight writes. */ in_flight = any_io_in_flight(); if (in_flight || should_retry) { dprint(FD_ZBD, "%s(%s): wait zone write and retry write target zone selection\n", __func__, f->file_name); should_retry = in_flight; pthread_mutex_unlock(&zbdi->mutex); zone_unlock(z); io_u_quiesce(td); zone_lock(td, f, z); goto retry; } pthread_mutex_unlock(&zbdi->mutex); zone_unlock(z); dprint(FD_ZBD, "%s(%s): did not choose another write zone\n", __func__, f->file_name); return NULL; out: dprint(FD_ZBD, "%s(%s): returning zone %d\n", __func__, f->file_name, zone_idx); io_u->offset = z->start; assert(z->has_wp); assert(z->cond != ZBD_ZONE_COND_OFFLINE); return z; } /* * Find another zone which has @min_bytes of readable data. Search in zones * @zb + 1 .. @zl. For random workload, also search in zones @zb - 1 .. @zf. * * Either returns NULL or returns a zone pointer. When the zone has write * pointer, hold the mutex for the zone. */ static struct fio_zone_info * zbd_find_zone(struct thread_data *td, struct io_u *io_u, uint64_t min_bytes, struct fio_zone_info *zb, struct fio_zone_info *zl) { struct fio_file *f = io_u->file; struct fio_zone_info *z1, *z2; const struct fio_zone_info *const zf = zbd_get_zone(f, f->min_zone); /* * Skip to the next non-empty zone in case of sequential I/O and to * the nearest non-empty zone in case of random I/O. */ for (z1 = zb + 1, z2 = zb - 1; z1 < zl || z2 >= zf; z1++, z2--) { if (z1 < zl && z1->cond != ZBD_ZONE_COND_OFFLINE) { if (z1->has_wp) zone_lock(td, f, z1); if (z1->start + min_bytes <= z1->wp) return z1; if (z1->has_wp) zone_unlock(z1); } else if (!td_random(td)) { break; } if (td_random(td) && z2 >= zf && z2->cond != ZBD_ZONE_COND_OFFLINE) { if (z2->has_wp) zone_lock(td, f, z2); if (z2->start + min_bytes <= z2->wp) return z2; if (z2->has_wp) zone_unlock(z2); } } dprint(FD_ZBD, "%s: no zone has %"PRIu64" bytes of readable data\n", f->file_name, min_bytes); return NULL; } /** * zbd_end_zone_io - update zone status at command completion * @io_u: I/O unit * @z: zone info pointer * * If the write command made the zone full, remove it from the write target * zones array. * * The caller must hold z->mutex. */ static void zbd_end_zone_io(struct thread_data *td, const struct io_u *io_u, struct fio_zone_info *z) { const struct fio_file *f = io_u->file; if (io_u->ddir == DDIR_WRITE && io_u->offset + io_u->buflen >= zbd_zone_capacity_end(z)) { pthread_mutex_lock(&f->zbd_info->mutex); zbd_write_zone_put(td, f, z); pthread_mutex_unlock(&f->zbd_info->mutex); } } /** * zbd_queue_io - update the write pointer of a sequential zone * @io_u: I/O unit * @success: Whether or not the I/O unit has been queued successfully * @q: queueing status (busy, completed or queued). * * For write and trim operations, update the write pointer of the I/O unit * target zone. */ static void zbd_queue_io(struct thread_data *td, struct io_u *io_u, int q, bool success) { const struct fio_file *f = io_u->file; struct zoned_block_device_info *zbd_info = f->zbd_info; struct fio_zone_info *z; uint64_t zone_end; assert(zbd_info); z = zbd_offset_to_zone(f, io_u->offset); assert(z->has_wp); if (!success) goto unlock; dprint(FD_ZBD, "%s: queued I/O (%lld, %llu) for zone %u\n", f->file_name, io_u->offset, io_u->buflen, zbd_zone_idx(f, z)); switch (io_u->ddir) { case DDIR_WRITE: zone_end = min((uint64_t)(io_u->offset + io_u->buflen), zbd_zone_capacity_end(z)); /* * z->wp > zone_end means that one or more I/O errors * have occurred. */ if (accounting_vdb(td, f) && z->wp <= zone_end) { pthread_mutex_lock(&zbd_info->mutex); zbd_info->wp_valid_data_bytes += zone_end - z->wp; pthread_mutex_unlock(&zbd_info->mutex); } z->wp = zone_end; break; default: break; } if (q == FIO_Q_COMPLETED && !io_u->error) zbd_end_zone_io(td, io_u, z); unlock: if (!success || q != FIO_Q_QUEUED) { /* BUSY or COMPLETED: unlock the zone */ zone_unlock(z); io_u->zbd_put_io = NULL; } } /** * zbd_put_io - Unlock an I/O unit target zone lock * @io_u: I/O unit */ static void zbd_put_io(struct thread_data *td, const struct io_u *io_u) { const struct fio_file *f = io_u->file; struct fio_zone_info *z; assert(f->zbd_info); z = zbd_offset_to_zone(f, io_u->offset); assert(z->has_wp); dprint(FD_ZBD, "%s: terminate I/O (%lld, %llu) for zone %u\n", f->file_name, io_u->offset, io_u->buflen, zbd_zone_idx(f, z)); zbd_end_zone_io(td, io_u, z); zone_unlock(z); } /* * Windows and MacOS do not define this. */ #ifndef EREMOTEIO #define EREMOTEIO 121 /* POSIX value */ #endif bool zbd_unaligned_write(int error_code) { switch (error_code) { case EIO: case EREMOTEIO: return true; } return false; } /** * setup_zbd_zone_mode - handle zoneskip as necessary for ZBD drives * @td: FIO thread data. * @io_u: FIO I/O unit. * * For sequential workloads, change the file offset to skip zoneskip bytes when * no more IO can be performed in the current zone. * - For read workloads, zoneskip is applied when the io has reached the end of * the zone or the zone write position (when td->o.read_beyond_wp is false). * - For write workloads, zoneskip is applied when the zone is full. * This applies only to read and write operations. */ void setup_zbd_zone_mode(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; enum fio_ddir ddir = io_u->ddir; struct fio_zone_info *z; assert(td->o.zone_mode == ZONE_MODE_ZBD); assert(td->o.zone_size); assert(f->zbd_info); z = zbd_offset_to_zone(f, f->last_pos[ddir]); /* * When the zone capacity is smaller than the zone size and the I/O is * sequential write, skip to zone end if the latest position is at the * zone capacity limit. */ if (z->capacity < f->zbd_info->zone_size && !td_random(td) && ddir == DDIR_WRITE && f->last_pos[ddir] >= zbd_zone_capacity_end(z)) { dprint(FD_ZBD, "%s: Jump from zone capacity limit to zone end:" " (%"PRIu64" -> %"PRIu64") for zone %u (%"PRIu64")\n", f->file_name, f->last_pos[ddir], zbd_zone_end(z), zbd_zone_idx(f, z), z->capacity); td->io_skip_bytes += zbd_zone_end(z) - f->last_pos[ddir]; f->last_pos[ddir] = zbd_zone_end(z); } /* * zone_skip is valid only for sequential workloads. */ if (td_random(td) || !td->o.zone_skip) return; /* * It is time to switch to a new zone if: * - zone_bytes == zone_size bytes have already been accessed * - The last position reached the end of the current zone. * - For reads with td->o.read_beyond_wp == false, the last position * reached the zone write pointer. */ if (td->zone_bytes >= td->o.zone_size || f->last_pos[ddir] >= zbd_zone_end(z) || (ddir == DDIR_READ && (!td->o.read_beyond_wp) && f->last_pos[ddir] >= z->wp)) { /* * Skip zones. */ td->zone_bytes = 0; f->file_offset += td->o.zone_size + td->o.zone_skip; /* * Wrap from the beginning, if we exceed the file size */ if (f->file_offset >= f->real_file_size) f->file_offset = get_start_offset(td, f); f->last_pos[ddir] = f->file_offset; td->io_skip_bytes += td->o.zone_skip; } } /** * zbd_adjust_ddir - Adjust an I/O direction for zonemode=zbd. * * @td: FIO thread data. * @io_u: FIO I/O unit. * @ddir: I/O direction before adjustment. * * Return adjusted I/O direction. */ enum fio_ddir zbd_adjust_ddir(struct thread_data *td, struct io_u *io_u, enum fio_ddir ddir) { /* * In case read direction is chosen for the first random I/O, fio with * zonemode=zbd stops because no data can be read from zoned block * devices with all empty zones. Overwrite the first I/O direction as * write to make sure data to read exists. */ assert(io_u->file->zbd_info); if (ddir != DDIR_READ || !td_rw(td)) return ddir; if (io_u->file->last_start[DDIR_WRITE] != -1ULL || td->o.read_beyond_wp || td->o.rwmix[DDIR_WRITE] == 0) return DDIR_READ; return DDIR_WRITE; } /** * zbd_adjust_block - adjust the offset and length as necessary for ZBD drives * @td: FIO thread data. * @io_u: FIO I/O unit. * * Locking strategy: returns with z->mutex locked if and only if z refers * to a sequential zone and if io_u_accept is returned. z is the zone that * corresponds to io_u->offset at the end of this function. */ enum io_u_action zbd_adjust_block(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct zoned_block_device_info *zbdi = f->zbd_info; struct fio_zone_info *zb, *zl, *orig_zb; uint32_t orig_len = io_u->buflen; uint64_t min_bs = td->o.min_bs[io_u->ddir]; uint64_t new_len; int64_t range; assert(zbdi); assert(min_bs); assert(is_valid_offset(f, io_u->offset)); assert(io_u->buflen); zb = zbd_offset_to_zone(f, io_u->offset); orig_zb = zb; if (!zb->has_wp) { /* Accept non-write I/Os for conventional zones. */ if (io_u->ddir != DDIR_WRITE) return io_u_accept; /* * Make sure that writes to conventional zones * don't cross over to any sequential zones. */ if (!(zb + 1)->has_wp || io_u->offset + io_u->buflen <= (zb + 1)->start) return io_u_accept; if (io_u->offset + min_bs > (zb + 1)->start) { dprint(FD_IO, "%s: off=%llu + min_bs=%"PRIu64" > next zone %"PRIu64"\n", f->file_name, io_u->offset, min_bs, (zb + 1)->start); io_u->offset = zb->start + (zb + 1)->start - io_u->offset; new_len = min(io_u->buflen, (zb + 1)->start - io_u->offset); } else { new_len = (zb + 1)->start - io_u->offset; } io_u->buflen = new_len / min_bs * min_bs; return io_u_accept; } /* * Accept the I/O offset for reads if reading beyond the write pointer * is enabled. */ if (zb->cond != ZBD_ZONE_COND_OFFLINE && io_u->ddir == DDIR_READ && td->o.read_beyond_wp) return io_u_accept; zone_lock(td, f, zb); switch (io_u->ddir) { case DDIR_READ: if (td->runstate == TD_VERIFYING && td_write(td)) goto accept; /* * Check that there is enough written data in the zone to do an * I/O of at least min_bs B. If there isn't, find a new zone for * the I/O. */ range = zb->cond != ZBD_ZONE_COND_OFFLINE ? zb->wp - zb->start : 0; if (range < min_bs || ((!td_random(td)) && (io_u->offset + min_bs > zb->wp))) { zone_unlock(zb); zl = zbd_get_zone(f, f->max_zone); zb = zbd_find_zone(td, io_u, min_bs, zb, zl); if (!zb) { dprint(FD_ZBD, "%s: zbd_find_zone(%lld, %llu) failed\n", f->file_name, io_u->offset, io_u->buflen); goto eof; } /* * zbd_find_zone() returned a zone with a range of at * least min_bs. */ range = zb->wp - zb->start; assert(range >= min_bs); if (!td_random(td)) io_u->offset = zb->start; } /* * Make sure the I/O is within the zone valid data range while * maximizing the I/O size and preserving randomness. */ if (range <= io_u->buflen) io_u->offset = zb->start; else if (td_random(td)) io_u->offset = zb->start + ((io_u->offset - orig_zb->start) % (range - io_u->buflen)) / min_bs * min_bs; /* * When zbd_find_zone() returns a conventional zone, * we can simply accept the new i/o offset here. */ if (!zb->has_wp) return io_u_accept; /* * Make sure the I/O does not cross over the zone wp position. */ new_len = min((unsigned long long)io_u->buflen, (unsigned long long)(zb->wp - io_u->offset)); new_len = new_len / min_bs * min_bs; if (new_len < io_u->buflen) { io_u->buflen = new_len; dprint(FD_IO, "Changed length from %u into %llu\n", orig_len, io_u->buflen); } assert(zb->start <= io_u->offset); assert(io_u->offset + io_u->buflen <= zb->wp); goto accept; case DDIR_WRITE: if (io_u->buflen > zbdi->zone_size) { td_verror(td, EINVAL, "I/O buflen exceeds zone size"); dprint(FD_IO, "%s: I/O buflen %llu exceeds zone size %"PRIu64"\n", f->file_name, io_u->buflen, zbdi->zone_size); goto eof; } retry: if (zbd_zone_remainder(zb) > 0 && zbd_zone_remainder(zb) < min_bs) { pthread_mutex_lock(&f->zbd_info->mutex); zbd_write_zone_put(td, f, zb); pthread_mutex_unlock(&f->zbd_info->mutex); dprint(FD_ZBD, "%s: finish zone %d\n", f->file_name, zbd_zone_idx(f, zb)); io_u_quiesce(td); zbd_finish_zone(td, f, zb); if (zbd_zone_idx(f, zb) + 1 >= f->max_zone) { if (!td_random(td)) goto eof; } zone_unlock(zb); /* Find the next write pointer zone */ do { zb++; if (zbd_zone_idx(f, zb) >= f->max_zone) zb = zbd_get_zone(f, f->min_zone); } while (!zb->has_wp); zone_lock(td, f, zb); } if (!zbd_write_zone_get(td, f, zb)) { zone_unlock(zb); zb = zbd_convert_to_write_zone(td, io_u); if (!zb) { dprint(FD_IO, "%s: can't convert to write target zone", f->file_name); goto eof; } } if (zbd_zone_remainder(zb) > 0 && zbd_zone_remainder(zb) < min_bs) goto retry; /* Check whether the zone reset threshold has been exceeded */ if (td->o.zrf.u.f) { if (zbdi->wp_valid_data_bytes >= f->io_size * td->o.zrt.u.f && zbd_dec_and_reset_write_cnt(td, f)) zb->reset_zone = 1; } /* Reset the zone pointer if necessary */ if (zb->reset_zone || zbd_zone_full(f, zb, min_bs)) { if (td->o.verify != VERIFY_NONE) { /* * Unset io-u->file to tell get_next_verify() * that this IO is not requeue. */ io_u->file = NULL; if (!get_next_verify(td, io_u)) { zone_unlock(zb); return io_u_accept; } io_u->file = f; } /* * Since previous write requests may have been submitted * asynchronously and since we will submit the zone * reset synchronously, wait until previously submitted * write requests have completed before issuing a * zone reset. */ io_u_quiesce(td); zb->reset_zone = 0; if (__zbd_reset_zone(td, f, zb) < 0) goto eof; if (zb->capacity < min_bs) { td_verror(td, EINVAL, "ZCAP is less min_bs"); log_err("zone capacity %"PRIu64" smaller than minimum block size %"PRIu64"\n", zb->capacity, min_bs); goto eof; } } /* Make writes occur at the write pointer */ assert(!zbd_zone_full(f, zb, min_bs)); io_u->offset = zb->wp; if (!is_valid_offset(f, io_u->offset)) { td_verror(td, EINVAL, "invalid WP value"); dprint(FD_ZBD, "%s: dropped request with offset %llu\n", f->file_name, io_u->offset); goto eof; } /* * Make sure that the buflen is a multiple of the minimal * block size. Give up if shrinking would make the request too * small. */ new_len = min((unsigned long long)io_u->buflen, zbd_zone_capacity_end(zb) - io_u->offset); new_len = new_len / min_bs * min_bs; if (new_len == io_u->buflen) goto accept; if (new_len >= min_bs) { io_u->buflen = new_len; dprint(FD_IO, "Changed length from %u into %llu\n", orig_len, io_u->buflen); goto accept; } td_verror(td, EIO, "zone remainder too small"); log_err("zone remainder %lld smaller than min block size %"PRIu64"\n", (zbd_zone_capacity_end(zb) - io_u->offset), min_bs); goto eof; case DDIR_TRIM: /* Check random trim targets a non-empty zone */ if (!td_random(td) || zb->wp > zb->start) goto accept; /* Find out a non-empty zone to trim */ zone_unlock(zb); zl = zbd_get_zone(f, f->max_zone); zb = zbd_find_zone(td, io_u, 1, zb, zl); if (zb) { io_u->offset = zb->start; dprint(FD_ZBD, "%s: found new zone(%lld) for trim\n", f->file_name, io_u->offset); goto accept; } goto eof; case DDIR_SYNC: /* fall-through */ case DDIR_DATASYNC: case DDIR_SYNC_FILE_RANGE: case DDIR_WAIT: case DDIR_LAST: case DDIR_INVAL: case DDIR_TIMEOUT: goto accept; } assert(false); accept: assert(zb->has_wp); assert(zb->cond != ZBD_ZONE_COND_OFFLINE); assert(!io_u->zbd_queue_io); assert(!io_u->zbd_put_io); io_u->zbd_queue_io = zbd_queue_io; io_u->zbd_put_io = zbd_put_io; /* * Since we return with the zone lock still held, * add an annotation to let Coverity know that it * is intentional. */ /* coverity[missing_unlock] */ return io_u_accept; eof: if (zb && zb->has_wp) zone_unlock(zb); return io_u_eof; } /* Return a string with ZBD statistics */ char *zbd_write_status(const struct thread_stat *ts) { char *res; if (asprintf(&res, "; %"PRIu64" zone resets", ts->nr_zone_resets) < 0) return NULL; return res; } /** * zbd_do_io_u_trim - If reset zone is applicable, do reset zone instead of trim * * @td: FIO thread data. * @io_u: FIO I/O unit. * * It is assumed that z->mutex is already locked. * Return io_u_completed when reset zone succeeds. Return 0 when the target zone * does not have write pointer. On error, return negative errno. */ int zbd_do_io_u_trim(struct thread_data *td, struct io_u *io_u) { struct fio_file *f = io_u->file; struct fio_zone_info *z; int ret; z = zbd_offset_to_zone(f, io_u->offset); if (!z->has_wp) return 0; if (io_u->offset != z->start) { log_err("Trim offset not at zone start (%lld)\n", io_u->offset); return -EINVAL; } ret = zbd_reset_zone((struct thread_data *)td, f, z); if (ret < 0) return ret; return io_u_completed; } void zbd_log_err(const struct thread_data *td, const struct io_u *io_u) { const struct fio_file *f = io_u->file; if (td->o.zone_mode != ZONE_MODE_ZBD) return; if (io_u->error == EOVERFLOW) log_err("%s: Exceeded max_active_zones limit. Check conditions of zones out of I/O ranges.\n", f->file_name); } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/zbd.h��������������������������������������������������������������������������������������0000664�0000000�0000000�00000010733�14762620516�0013172�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * Copyright (C) 2018 Western Digital Corporation or its affiliates. * * This file is released under the GPL. */ #ifndef FIO_ZBD_H #define FIO_ZBD_H #include "io_u.h" #include "ioengines.h" #include "oslib/blkzoned.h" #include "zbd_types.h" struct fio_file; enum io_u_action { io_u_accept = 0, io_u_eof = 1, io_u_completed = 2, }; /** * struct fio_zone_info - information about a single ZBD zone * @start: zone start location (bytes) * @wp: zone write pointer location (bytes) * @capacity: maximum size usable from the start of a zone (bytes) * @mutex: protects the modifiable members in this structure * @type: zone type (BLK_ZONE_TYPE_*) * @cond: zone state (BLK_ZONE_COND_*) * @has_wp: whether or not this zone can have a valid write pointer * @write: whether or not this zone is the write target at this moment. Only * relevant if zbd->max_open_zones > 0. * @reset_zone: whether or not this zone should be reset before writing to it */ struct fio_zone_info { pthread_mutex_t mutex; uint64_t start; uint64_t wp; uint64_t capacity; enum zbd_zone_type type:2; enum zbd_zone_cond cond:4; unsigned int has_wp:1; unsigned int write:1; unsigned int reset_zone:1; }; /** * zoned_block_device_info - zoned block device characteristics * @model: Device model. * @max_write_zones: global limit on the number of sequential write zones which * are simultaneously written. A zero value means unlimited zones of * simultaneous writes and that write target zones will not be tracked in * the write_zones array. * @max_active_zones: device side limit on the number of sequential write zones * in open or closed conditions. A zero value means unlimited number of * zones in the conditions. * @mutex: Protects the modifiable members in this structure (refcount and * num_open_zones). * @zone_size: size of a single zone in bytes. * @wp_valid_data_bytes: total size of data in zones with write pointers * @write_min_zone: Minimum zone index of all job's write ranges. Inclusive. * @write_max_zone: Maximum zone index of all job's write ranges. Exclusive. * @zone_size_log2: log2 of the zone size in bytes if it is a power of 2 or 0 * if the zone size is not a power of 2. * @nr_zones: number of zones * @refcount: number of fio files that share this structure * @num_write_zones: number of write target zones * @write_cnt: Number of writes since the latest zone reset triggered by * the zone_reset_frequency fio job parameter. * @write_zones: zone numbers of write target zones * @zone_info: description of the individual zones * * Only devices for which all zones have the same size are supported. * Note: if the capacity is not a multiple of the zone size then the last zone * will be smaller than 'zone_size'. */ struct zoned_block_device_info { enum zbd_zoned_model model; uint32_t max_write_zones; uint32_t max_active_zones; pthread_mutex_t mutex; uint64_t zone_size; uint64_t wp_valid_data_bytes; uint32_t write_min_zone; uint32_t write_max_zone; uint32_t zone_size_log2; uint32_t nr_zones; uint32_t refcount; uint32_t num_write_zones; uint32_t write_cnt; uint32_t write_zones[ZBD_MAX_WRITE_ZONES]; struct fio_zone_info zone_info[0]; }; int zbd_init_files(struct thread_data *td); void zbd_recalc_options_with_zone_granularity(struct thread_data *td); int zbd_setup_files(struct thread_data *td); void zbd_free_zone_info(struct fio_file *f); void zbd_file_reset(struct thread_data *td, struct fio_file *f); bool zbd_unaligned_write(int error_code); void setup_zbd_zone_mode(struct thread_data *td, struct io_u *io_u); enum fio_ddir zbd_adjust_ddir(struct thread_data *td, struct io_u *io_u, enum fio_ddir ddir); enum io_u_action zbd_adjust_block(struct thread_data *td, struct io_u *io_u); char *zbd_write_status(const struct thread_stat *ts); int zbd_do_io_u_trim(struct thread_data *td, struct io_u *io_u); void zbd_log_err(const struct thread_data *td, const struct io_u *io_u); static inline void zbd_close_file(struct fio_file *f) { if (f->zbd_info) zbd_free_zone_info(f); } static inline void zbd_queue_io_u(struct thread_data *td, struct io_u *io_u, enum fio_q_status status) { if (io_u->zbd_queue_io) { io_u->zbd_queue_io(td, io_u, status, io_u->error == 0); io_u->zbd_queue_io = NULL; } } static inline void zbd_put_io_u(struct thread_data *td, struct io_u *io_u) { if (io_u->zbd_put_io) { io_u->zbd_put_io(td, io_u); io_u->zbd_queue_io = NULL; io_u->zbd_put_io = NULL; } } #endif /* FIO_ZBD_H */ �������������������������������������fio-3.39/zbd_types.h��������������������������������������������������������������������������������0000664�0000000�0000000�00000002331�14762620516�0014411�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* * Copyright (C) 2020 Western Digital Corporation or its affiliates. * * This file is released under the GPL. */ #ifndef FIO_ZBD_TYPES_H #define FIO_ZBD_TYPES_H #include <inttypes.h> #define ZBD_MAX_WRITE_ZONES 4096 /* * Zoned block device models. */ enum zbd_zoned_model { ZBD_NONE = 0x1, /* No zone support. Emulate zones. */ ZBD_HOST_AWARE = 0x2, /* Host-aware zoned block device */ ZBD_HOST_MANAGED = 0x3, /* Host-managed zoned block device */ }; /* * Zone types. */ enum zbd_zone_type { ZBD_ZONE_TYPE_CNV = 0x1, /* Conventional */ ZBD_ZONE_TYPE_SWR = 0x2, /* Sequential write required */ ZBD_ZONE_TYPE_SWP = 0x3, /* Sequential write preferred */ }; /* * Zone conditions. */ enum zbd_zone_cond { ZBD_ZONE_COND_NOT_WP = 0x0, ZBD_ZONE_COND_EMPTY = 0x1, ZBD_ZONE_COND_IMP_OPEN = 0x2, ZBD_ZONE_COND_EXP_OPEN = 0x3, ZBD_ZONE_COND_CLOSED = 0x4, ZBD_ZONE_COND_READONLY = 0xD, ZBD_ZONE_COND_FULL = 0xE, ZBD_ZONE_COND_OFFLINE = 0xF, }; /* * Zone descriptor. */ struct zbd_zone { uint64_t start; uint64_t wp; uint64_t len; uint64_t capacity; enum zbd_zone_type type; enum zbd_zone_cond cond; }; #endif /* FIO_ZBD_TYPES_H */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/zone-dist.c��������������������������������������������������������������������������������0000664�0000000�0000000�00000003023�14762620516�0014314�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#include <stdlib.h> #include "fio.h" #include "zone-dist.h" static void __td_zone_gen_index(struct thread_data *td, enum fio_ddir ddir) { unsigned int i, j, sprev, aprev; uint64_t sprev_sz; td->zone_state_index[ddir] = malloc(sizeof(struct zone_split_index) * 100); sprev_sz = sprev = aprev = 0; for (i = 0; i < td->o.zone_split_nr[ddir]; i++) { struct zone_split *zsp = &td->o.zone_split[ddir][i]; for (j = aprev; j < aprev + zsp->access_perc; j++) { struct zone_split_index *zsi = &td->zone_state_index[ddir][j]; zsi->size_perc = sprev + zsp->size_perc; zsi->size_perc_prev = sprev; zsi->size = sprev_sz + zsp->size; zsi->size_prev = sprev_sz; } aprev += zsp->access_perc; sprev += zsp->size_perc; sprev_sz += zsp->size; } } static bool has_zones(struct thread_data *td) { int i, zones = 0; for (i = 0; i < DDIR_RWDIR_CNT; i++) zones += td->o.zone_split_nr[i]; return zones != 0; } /* * Generate state table for indexes, so we don't have to do it inline from * the hot IO path */ void td_zone_gen_index(struct thread_data *td) { int i; if (!has_zones(td)) return; td->zone_state_index = malloc(DDIR_RWDIR_CNT * sizeof(struct zone_split_index *)); for (i = 0; i < DDIR_RWDIR_CNT; i++) __td_zone_gen_index(td, i); } void td_zone_free_index(struct thread_data *td) { int i; if (!td->zone_state_index) return; for (i = 0; i < DDIR_RWDIR_CNT; i++) { free(td->zone_state_index[i]); td->zone_state_index[i] = NULL; } free(td->zone_state_index); td->zone_state_index = NULL; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������fio-3.39/zone-dist.h��������������������������������������������������������������������������������0000664�0000000�0000000�00000000232�14762620516�0014320�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������#ifndef FIO_ZONE_DIST_H #define FIO_ZONE_DIST_H void td_zone_gen_index(struct thread_data *td); void td_zone_free_index(struct thread_data *td); #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

’|ÎÔÔ´££ãÚµwk…[ZZâãÏÑÎÔT±£ƒ~íZ.^bi©záB?ëE#‚|jþúë¯ÄÄDì…³³³¶¶öÿý·k×®õë×ÏŸ?_ÐÑ!Cè#Éç\]]ËËËd2yäÿñA"‘¸ìÊŠpA&‹ÎŸo è(úA" qÙ•AdèoÚ´‰@x;,žN§'''?þü»ï¾[¿~½ £C†œPÿUAÁ:::¾ýöÛ®®.Ž9Ž""" ,TTÈpBù‚ ‚Œn»ví*,,¤Óéì…,‹N§ûøø**d8¡|AAF±sçÎ…‡‡s$s:~÷îÝ»wïTÈ0Cù‚ £Camá’‹KBÓC?¤‘'…O–\\’P–À¯¨ú’Z‘ºä⒨ܨ¡þ ^åÕä;¾òêÊ%—¤V¤öUíeíË?ÿ¹6dí†ÿ6œI8ÓÒ‰– }ž?þÛo¿qYJ–@ ìÚµ«¹™×-³‘Qêã™ ÈÇ­µ«5¡,ÁFǦÿª}«i­I(K¨k«ãWT[“ës×g¡Ù¹ãÞ­#ÝØÑ˜P–0Ýp:?ˆGîî™U™ì‘ôZ-01ðàÃtæÛ›:Q¹QÇãŽ'~—8!"|òæÍ›¾öì&‘H ƒÅb)++ÛÚÚ–——sxÈpX>W[[[^^¾yóæ!Š9¢££Ñý‘IMMÕÔÔtƒ§§ wqÉE Y A©¹³9¡,Á^×^мUÝZm hàdà”Sóèå£^ëÜ̾ùëý_‰BD Ÿé&JM*Kº’rex#E>cóæÍ ;Æs8UUUKKK*•:ªÿÕ#¼X>—ŸŸ_^^îçç7DÑ #GFFFFF† £@ø¬½½]Ð! ž¤ˆ¤µ¶µ £ÂW†+K)ÀÞ»{{­@gÒ½ÿ+p;0oÜ<¬pªÞÔ56k†+F„/¶ÇÅÅa+­ ÙÚÚZYYMš4‰L& :6d¸ ,ŸÃ¶û·"üE ®,t yØ|гJ+¬-Üµë‹ _|1þ ¼0¡,áfÖͲ†2¢Èxµñ‹Í+J*²Ÿ••ÕÔÙd h°ÂrE¯-Õ…¦‡æÕäÑ™t]yÝ㫼}2•Z‘zðáÁå–Ë'jL<Ÿ|>»*[BDâsƒÏç˜ÌÁ~^ϸ~&á §?-zŠuié%¼ñ†ö†óÉçÓ^§‰’D?óÙã¿ê¥Î±dŽ‹'…OjZjÌÕÍñd#-*=”q!ü”’ràè¤I“ììì,--'Nœ(...è ABãçzŽŸûíþo‰øáý‚û‰§ ¯váù…_]~]0aüÜxµñûîí«n©ÆêÜιíïîO ^5½Ê®Î€òÆòòÆrŽÆkÛjçž‹—ßɽ“Q™±×y/—Ë\vyƒÉàR,Nþwþ¿\*ôëÅ«0cìŒâúâÀÄÀ’ú)•é†Ó?7øüCšE†“ŠŠ>@ýÕ«e‚)P>‡ Ȩt7ïn@bIˆ´Âr…•¶UsGsHzH|Iü†ÿ6<\÷P”$™š*.,¾zòj3u³º¶ºóÉçO?;ÍÞÈóWÏ÷ÞÝ+!"±Äb‰™š™Q$£2#0)ðç;?ÛèØhʾxt.霮¼î&‡MJ’J™U™§žºs;D/Äc‚Ç\Ó¹Ò¢Òûîíó0ó˜k:—#ÈÓÏN(üæú›Š´Jfe濱ÿ^|qqÍuõ¾®+¡,{>Çqr*›+ “ÞéèÞÚÕŠ†¦‡º›ºÿ9ëϸS"Ò“šš€ˆ £@F”Ï!2*aƒ÷¸Àg•º›º/¿²<®$î~Á}7#·àÔ`ðs÷sÒwÂ*Ì13óÌÌ¢º"¼‘€„&‹°0¿¥÷™þgææ«®®ŠÈŠøÆöíÌA%)¥°aâÂâXKMË//y5åªÇ Y ДÕì9¼"O Y"J€©zS»™ÝÿÐþI©Há’ÏyqY{„‰Â¼÷R¯º]p"þ„¡’á—¿$‹‘S*RÂ3Ãm´m<Ì<>°}A†Êç•rªsÄ…ÅÝMÝñ°Ø|q\I\vU¶›‘[nM.YœŒ's B™c2çoÚßxIêëT"èã,‹, 3èð²ö%^ÍÍÈ Kæ0Ø­»ÜšÜ~ƒtë‚%s˜qªã ¾­žË)VZVý6û$„%@EJåÒ’KXxŸéf d°)|SDvÊçd4Bù‚ £R'½SFT†ãá ¬˜,ötÐ;Èbœ³üÈâï•´uµ1XŒØâØžíwtwà¯eÄdz¶SÑTÑoX<8a!a`²˜\N†ñsšdM°×µgÏ5±Ä·¬ÇBQ ås‚ŒJÊRʵU-U*R*xaze:¨H«`Šj‹ÚØs8¬NMF­‹Ñuâ‹D!"GûòòøëÌÊLö·Z»Z k ñi¤ ÷‡¤¼†ñsfjfPÛZË^ø¦õ HŠH~`ã‚Ä'ÏýùçŸ?þøãÇy©¿mÛ¶ƒ¾xñÂÜÜ|ˆCC¤ºùoò·ÞÜêçî''.‰e‰'âO`oaÿ_ð¦`[ä¶?gý)%*·sn‡g†³7âlèìOóÊú~ê÷ø½´æÎæÿ2þ³Ô´Ä«ÝË¿šŠ­“ÒÞݾóöζ&3±w±Ç—¥ ¥|¹®a?gK±U–R¾—ïnÞ]gCghîlö¹çÃò´A¡ðIçs‚Œ^_[}#ëÆÓâ§GôôZ:[ÊËX,–‡™‡¡’!xY{…¥‡EçGÛ±ÓSЫk««hª0Q1ɪÊÂñ²öº—ïÒ‹K×R¯Qä)Ò¢Ò5-5¯›_3˜Œ€…ïVB1V6þéÖO=þKYZ¹¨®¨¥³EBXŸ-¡« +.,––Q™=áe_n ><£ú7ö_Z Šë‹ààÃÇãŽÀ¦)›°Æ‰âÏŸÿ¼ñúÆoþՔՔ“+¬-líj•—CK #È(%$èé‡~`±X<ÞœCdDQ’Rº¼ô²•–U½#«*«´¡TŒ$¶Îv¯‹/VAEJå¼çyEƒ¶î¶ŒÊŒê–êU“W-›¸Œ½ a‰ËK./¸T˜(\ð¦àÅ«ååÒ¢Ò+-WšªšâÕæ›·Á~C}{}úëô–ΊåÜâsÚdmì]1’ØŽi;DI¢y5y e e ÃÖ ½zYû [0/·&;dßµÖÕÈõÐìCJRJååé¯Ó[»Z'jL¼¼ô²ª´ªàGdðÐý9AF‡žû·êÊë^Zz©¦¥¦¼±\„$¢¯ Ï>ÀLULo{Ý~Yû²¥«E‡¬C'×´Ô\\rÑ@ѯ#%*åãì³Ëi×ËÚ—íÝíªÒª*Ò*Bοu79lZ=yuQ]‘„ˆ„¾‚>Ç< O O÷qî/ß¼l§·cOK'¨M¸¸ä¢Žœ{5¬"OáS—ôî[»ošõ²¹ ûU€»©û,ãYXçhÈj°CDdÔù¤ó¹žãçÊÊÊöíÛUUU%//?mÚ´Ý»wqœxôèQÿ’’uuõÕ«WoÛ¶Dú¤{A†A_û·*I))I)q9qŒÂ˜~+ …”9ÿ¥s“1S7ëë] a‰ñjãñC²8¹g´½òÝ…1ì—ÌQˆˆ=›Fd´CYÈ;EEE666ÕÕo·ô©ªªº|ùòÍ›7Ñ|nݺuššš)))**hjAF¢öîvßh_‡ èÐoënûãÑúô³«³Ú€…¦‡êÐÊêJ®@ߟæ?Ô„ #Ê'šÏ€¼¼üܹs¯]»&è@AzçOó?›töuÓk‹%èXF«¤ò$ýúGc :ZŸèø¹ãÇ?~\ÐQ ‚póðåCiQéå!ºòºB!øÑñÇt\#ÚxµñÛІ=È'çÍçAF¾š–=½1 h¹rAúò9AF‡'…OV_[½Ói§…†ÅïO¯L%‰~6æ³N;Éâd¼ZbYâå”Ë)¯R^7¿–‘²Ð°Xk³v’æ$ŽFŒ•=9”S#+&ûåÄ/×Ù®€óÉ烒ƒ^5¾Ò$knvØìjäŠ7Ëb±BÒB®¥]Ë­Îe°ºòº‹Í/µX:D{ýùFûžM: ©©úô9ÞXa¬lŒ½î wœŒ?y+ûVYC™Id¼êø56kt¸·÷ƒ©ªéá'‡3+3õô®¯¼‡ Èh’^™þÇ£?º]ÐÞÝþ_Æåå——^ÆÞ­i©ñ¼è‰W®o¯PðàñËÇ–\˜¬5/O©H9ðàƒÅÀùóñŸ¢$ÑšÖš“ñ'± …µ…ß…G‘§`i‹Åúáæá™áx 9Õ9{ïîÍ®ÊþÕõ×¾BûûX“ÁåZ%ã7Æ¢pÝŒîWV$—'c‡]Œ®¸’¸øÒxgŸ%Kú=ýù«çx?0YL๹ ôÎ¥—–â“62*3Ö†®u3rã Yœl¢bB+¢±X,,©¢Ó„Bµmµ959ØSö{.—À‹Á}¡2’¡|AÑäFæ%K¾²úJEZ%³2só͉e‰ÙUÙÆ*Æ@ ¨ºÔå“–›¨˜(J*6v4&”&l½µõxÜqötäVö­U“W­´\)/!ÿ¸ðñ¦ðMþ4&‹¹ßm¿“¾“AèXܱ3 gþ˜õ„g†‡g†U»õ³­fjf¢$ьʌ}Ñû®¦^]0a…†ß/s×ç»v}¾Ëâ°…ž¼^èŠP¼üGœˆ?=J.OV—Qßë¼×J˪¹³98-øÈÓ#¿ÞÿuºÁt%)%îŸr;綇™Çë5Údm¢xî@îßÂùäóÙÕÙz z{§ï5×0¯k«;êâ‹‹ý^5U—z<îxNuޱŠ1‹ÅzZôtŽéœ›Y7c c°|ŽVD"ÙêØr¹vëíÖ[k[/¾°xó”ÍëíÖãåÃÿ…"ÈPCù‚ £ U—ºoÆ>ìõ$ÍIklÖì½»7§&Ë$%˜úÉø»¢vÕ¶Öb·m ·&—½‘)zSv:íÄ^»ŒuùÜàó¨Ü¨N;<&x`…[·^K½VPûvX}HzQˆ¸(PYJ+™¬5ùðìÃ.§]¢ó£ûúõŸ»5·×r>ŠÌŽÿ¹þæêæ %*åMõ®n©¾’rå~ÁýÅæ‹¹Ÿn®nþ›ËoìOyì@îßBTN@8:諸HÈJøÌð)ª/Š-Žå•B=wœVL3V1ήήm«a8ãUã+Z1mÍ‹[;^m¼¬˜,—KàÅà¾PÉP>‡ Èhb£mÃ~¨EÖ€Ö®Vìðù«çK/-íftsœÕAï`?´Ò²b?T—Q€Éšïî?…ˆ*Ò*oZß`‡ù5ù &Ãá_`±X,`a/ ¢©‚W5X%õ%dq2–Ìá¦éO»’r¥¤¾êÛë'ÿýîºÈâä¤ï’ðC{Š=G&ÄcrÿJJT¤T°d7Ew žÏõÕ$ÍIâÂâ1E1_[M+¢ D[Û¼7yGŸí w¼¬}Y×VÇ‘¤ö¼^ŒØ/Am`ù\|||yy9.úiX°HÐ1 |¯)è>”(I”ýøÿob8w¼›ÑíMõž;n®Š”ŠQ„@ 8Ÿr®k«ãÖÐkËLæÛñXØÀ¬^ÃõL}pÃ0~þ߃Ã>ƒ3È|ÿ[4a¢°•–U\I\½ƒVL³Ð°•¢R¨‡ŸN,K̬ÌŽ©=/ƒûBd$X>g`` ..>sæÌ!Š!üüüV­Zea:|TäääÅÐ*k(S”TdŸMYÚPZ\W,#&ó!ÍŽQ“Y•»!VZTúƒcä'9”Š”ÔŠT3u3¼ðÑËGØ[ '.7 ÅØøÒ:d´Ê´ü7ùì·èž=Á_s‰ŠªK}\øøIᓤ²¤oí¾€ñjãÉâä˜Â˜¬ê,qañ> ÅÖíãHÝFìŠ ƒ6°|NAAAAAáðáÃC 2BøùùYXX¸¹õ3 ]"##¥¤¤ÅÐR—Q/¨-Jš;n.$—'ÿzÿWÞ§=öÅÃÌ#éVÒò+Ë7Úo4W7—•®n©Î«É IYj±ÔŽb×ëYÃ0~ÎÍØ-¥"å»ðïö:ïµÔ´léj I ¹’rE„(â¤ï4ˆùÒ.F.©¯S×ÿ·ÞÇÙÇLÝ ›Ñïà9 vûÍ/Ư‹Ñå çB!m›*š*ìuíIBûµ… ¶K,KlhoÀoæ î E‘ ŸCäãáiáù¸ð±Ï=Ÿ{>X‰‰Š‰¡’auKõ‡4;Üü„Ò„ÐôÐ5!k8ÞZd&Èa Ë&.‹Ê‰zþê¹W°{ù®Ïwõ;¹µW|éÀå“–ßȼ‘]½ìò2¬„@ Ì4žy+ûV¿çê+ê«H©äÕäÉŠÉŽW:è9`¿²¯TÂ#ŠEEJ%®$ÎòoK¬¤`[ÁˆýBdÐ>Ýý[ùø|nðù_³ÿ2R6#‰)K){²ciÛUIDATZxy‰E>°YppæAÿ¹þö{Y1Ya¢°YkºáôcóÙë8Ãà#a¢ðyÏóÞTo==a¢°¤ˆ¤ŽMÀÂ^Ÿë_:P”$zqÉÅ¥K%EI¢&*&Çæ›¢7…ÇÓ©ºT°Õ±Å••BåxÁ;¢ñèü£–š–âÂâxáˆýBdÐÁêááÁÁÁC2"ô¼õ#³aÃ))©ÿ÷[UUÕÒÒÂ¥‚¾þÿ*77nuù‘‘RÞÞ*/2„ÆŒÀ^èþ‚ ‚ Èè†ò9AAÑíSÏç®^½êè蘒’"è@AAéÊç‚‚‚ÓÓÓÙ ËÊÊ?~ÜÐÐ ¨¨AA>Ð'´^IIIÉãÇÙ -ZdiiinnÞ×Y‚ ‚ #Ü'”ÏõJKKKKKKÐQ ‚ ‚ ŸŸ·>xðàÛo¿uuu3gξ}ûªªª°òšš— ´··ã•ËÊʦOŸþå—_Òétî§ã?~ìíí=sæLýû÷×Õ½ÝRð×_uttä¸÷†b +|ÿý÷gΜ€7::::::nÚ´ z?Ç`0.^¼¸lÙ2ggçÅ‹Ÿ|ØoÏ´··ÿõ×_îîîsæÌùã?ÚÚÚ8À3ÞrzzúÆg̘qìØ±~ãé÷ÂÙ[~ñâÅÚµk]\\V¯^M£ÑúAAQo÷ç˜LæªU«ÎŸ?—DDDøûûß½{wâĉJJJ_|ñÅš5kddd ««ËÃÃãùóç="‘HÜOƒ±råÊ .àBBB8PWWG$³³³?~ÜÝýÞ>ÊX!–,¦¦¦ÇÔŽñs­­­...ì¹ÎÕ«W9­¬¬ ………?¾yóæÎ;ÛÚÚ°:AAAW¯^ÅçëUccãÔ©SSSSñK 3f {ÌXË!!!{÷îíììSSÓ~ãé÷Âñ–ƒƒƒ÷îÝÛÕÕ…þóÏ?6lè+fAAF ¾ås¿ÿþûùóçõôô¾ùæccãÎÎλwïž:ujÉ’%YYYBBB_ýu\\\`` ——×æÍ›Ÿ={æççgggÇËé¾¾¾.\øöÛo­¬¬ˆDbrròñãÇy\ùСCþþþþþþãÇ2™Ü³ÚŽ;h4š’’ÒO?ýdll\\\ü矦§§¯[·.,, ¯öÓO?Íš5kÁ‚RRR7nÜ8}úôöíÛ¹äsÛ·oOMMÕÒÒÚºu«žž^nnîÁƒ{T»{÷nWW×… jhhhiiñ/öìÙãâââéé)&&uêÔ©Í›7OŸ>}ìØ±jAA‘†?ù‹Åú믿TUU“’’äää°ÂùóçËÉÉ8p >>KÚŽ=úâÅ‹7ýûï¿ .üî»ïx9ÝÆÆÆßß_XXøÑ£G“'OÆ+üôÓO$O—`ff¦«« Tjï;ÆÐéô€€111fhhˆ.Z´ÈÈÈèúõëUUU***Xá²eËNŸ>½ž={v~~þãÇ«««±{f=›=þ¼´´t\\œ††¸¹¹Íš5 K+9¸»»ãË÷ó/fÍš…§€óæÍSSSóññ9{öìþýûyoAAˆ?ã犊Šjjj †‡‡ÇçŸîää4mÚ´iӦݼyrrr°jâââ!!!bbb¿ýö›‘‘6 —Ó ëêêñd###×ø1………---Ÿ}öž<€‚‚‚ X,VZZ^¸dÉ{{#bO„kkkûj¶µµÕÙÙKæ0öö½ì¸|ùòAÄËիW÷<h#‚ ‚Œ@ü¹?‡ ½¯©©¹ÿ~Ïwñqf ,,L$@[[[RR’ÇÓ±YŠŠŠŠŠÁ` ¨>6Ï@^^ž£+aŸ…ÀQGDD„ËÇaÁ÷|¼‹ß‰d§©©9ˆx8ô GX#ìÓS-²«³ïåÝs3rÓWÔçW›Õ-ÕWR®Xk[[k[ó«MA† ò9 0yòäƒö|×ÀÀ{ÑÕÕµ`Á‚¦¦¦ùó燅…ùúúþüóϼœ...N º»»………{ÖÁ’•ššöœ/##ƒ½@.ãíÔÔÔ 99™Éd ½»s™˜˜êêê\z€ ìÄ/^°2™L|zDÏ y‡— Ç<þœýAsRR°ß2Dd´ÈªÊò§ù*ò1Ÿ«j®ò§ù{S½±|®¢©"$-ÄVÇv²Öä~ÏEDàøó¼UAAaêÔ©ÏŸ?ÏË˳³³sü?;wîà£Ê6mÚ”˜˜ø×_]»vmêÔ©{÷æåtyyy‡—/_zyyák”´´´üúë¯L&ÆŒ~~~Ø!Nß½{7GZ#%%/_¾ìë*”””&Nœ˜““³mÛ6lÆ(‹Åò÷÷¿wªª™™Ùà:GIIÉÌÌìùóçû÷ïÇÃÛ¹sgAAA¿'ö/ŽñõõÅr8())ñööggçÁ]‚ i<™€Š¦ šBY‚`£B„G|[îŸþ‘””\»v­¢¢¢¹¹¹ªªªžžÞ°Ç/^‡ Èè·|nܸqÏž=ssskmmMMM}öìYUU•ÁÁƒEDD233×®]kdd„O UUU½zõj}}ýÂ… »»»¹Ÿ111ööö™™™iiibbb»víÂò!UUÕ3gÎÈÊÊVTT$$$H¤°°°qãÆ±Gèàà°råÊîîîÄÄÄÇ÷º\ˆ““SDD„¾¾~]]]bbbUU•ººzPPвeË>¤sfÏž}îÜ9yyùêêêÄÄD&“yáÂìY'v×°/ýÆÃË…cþþûoww÷ÜÜÜ´´´®®.''§Û·oc}‹ £BI}‰?Í?¥"…ÅbÅ—ÄŸI8s%åJcG£?ÍÿIá¼ZQ]‘?Í?(9/¡3éþ4ÿÛ9·‡30öxÂ3ÃÇ¿ðüBFeF¯'À³Òg§ž:Ÿ|¾¸¾¸çGT6W^~qùDü‰Ì÷È´úжº¥ÚŸæÿ¬ô$–%†¤…@\Iœ?ÍûރŠÑÎ$œ9ânÞÝNzç‡ô‚ |ÁÏý¾ÆŽ{ëÖ­ÆÆÆ‚‚&“I¡P”””°·„……oÞ¼ihhÈž¾888$%%Õ××·´´ÈÉÉq93qâDVUUUTT$++«¯¯Ï>–ÎÓÓsÞ¼yééé$ÉÔÔTDDDWW×ËË ÿDxðàÁ—/_vvvb#ÏzîßêæææææVPPPUU%//oddÄ>¦mÍš5...úúïYÁ ±õPú²|ùòÅ‹cOBMLL˜Læ¦M›( ~ ½¶Üo<¼\8FZZ:,,ìÕ«W¥¥¥ÚÚÚ\¢EKDDˆ"~1~´"˜ª˜.4[x>ù|LQ̽)XµðÌð#O…ˆî¦î2b2ðâÕ šÿVÇ­}µüíp[ÉRBXÂËÚk@-6_ÜÖݶ&dM|I<{å)zSŽÎ;*.,ŽŸ(.,~<îxt~4V(DÜïºþøùø)ÁiÁ{îìéb¼] Ü\Ý|¶Élü]iQéõ@_ѲŸK(KÀò¹ø’x<~oª7¤V¤~þ]yc9€šŒÚ±ùÇÆ©öòg$‚ Æÿû·ÊÊÊNš4‰£ÐÐÐ}Ñ \Ï'ƒ½žÎNEE¥¯u×ÄÄÄØ4166666樣¬¬Ì¾J\_û·êëë÷L­@OOOOO—B‡öòòÂV6ijjZ¿~}UUÕÚµkyl¤¯x0¼\8FCCÍ@Fµ€Ä€¶®¶Ù&³µÉÚªÒªB!;»;ywš;›¥E¥ ¦0F‹¬UÖP[ë2ÖbŠb€ªÛû“p$öÇM/Š’Š\ò¹^€ÖÎÖø’øqªãŒ•%›:›Jž>9{ô‡©?°ŸØÒÙânê®"­’Y™ù´øéž»{¦NÇ.'íuÚ®¨] &c²Öä jêÚêîäÞ9{?}p=Ð3ZvVZV &,I ±Ñ±±Ò²ÂË_5¾ZumUSG“™º™™š™I$£2#¾$þë¯ï}}OJ”ÛÓA†ÿó9¤W?ÿüó¶mÛ°{ŠùùùmmmRRR?ýô“ ãBQ¦½»ýƪz ïþø¡êR#s"c‹cgŒÑÔÑ”Q•±Õqk@B­ˆ†e3´"𼄼±rïäÀ» ýÞŸD`R¢RÁË‚¥E¥“_%×¶Ö …]Œ\ÊŸ•?(xÀžÏu3ºo{ÝÖ”}»VѶÈm!i!‰e‰Óô§ÀÙ¤³ &ÛêÝoª÷œÀ9ì=ˆè-»ÉZ“ 6¿u½Ýz¼üdüɦŽ&gŸ¥—â…g“ÎúFûÞȺ±ÄbIo!2P>7L~øá??¿¬¬,ìp„ 'OžäþˆAžÜMÝ9²ì¶­˜6cìŒØ’X“AÕ¥æÕäa;3*3fÏä¨Àn#uãP&D:“p&*7Š£æ›Ö7ì‡óÇÍÇ“9pã’RÕ\…>/..,¾Þþ]R¥EÖZd¾èô³ÓxÉ z g´¼ˆ-‰%ˆumuGc²X,lù§ÖîVHmA¾AùÜ0Ù»wï®]»Š‹‹kjjÔÕÕutt†í£û™‡ £EŽÂQ¢.£®§ S´"š²”òX¥±T]jhzhI}IVU“Å´§ô² îÇÏõر¸cQ¹QòòºªÒª"$®¤\ÁGÂaÔdÔ8> èL:vØØÑ¨*­J$¼7^‹üÞ(‘Aô@ÏhyQ×VÇ`1þ¦ýÝó­æÎæA4ˆ ¿ |nøH$îÃà†/Ãûd´ õ²Ä=Å>(9¨¸¾˜VDÃnVQu©VLˬÌ®ƒç€Oãçzöèå#1’Øm¯Û  X ‹Å:—tŽËždÅd+›+,{JWÖPÆQm =Ðk7öKFL¦‹Ñõµõ×=ßâãÊÆ‚ Êçõt‚’ƒ.$_(o,ßBÙrârÆÊÆ1…1ÙÕÙcÆôòÏŽ/ãçz"$"I”(Š—‹;ÖØÑHçÜý‹‰šodÞø÷é¿øCᲆ²k©×8ª}`ô„…ÝÐÞÀ^h§cw5õªŽœŽ»©;{yNu6AAAù‚ £žµ¶5IˆtñÅE€ßˆrÐuH èft¯°\Áýt¾ŒŸëÉBÝ"ýuúìÀÙŸ|ÉåÉ™•™Jæ`¥åÊ[Ù·þ¦ý[‹Ïoã¨ö=ГYKˆ œLgÒåÄåÀ›êýÝ7Q¹QßG|˜h¦f&-&]ÓR“÷&/ýuzÀ Y4wA†oë #‚`ò8‘?$E$-4,ºÝÆÊÆòòX!U—ÚÍèîƒç†Ž7ÕÛ@Ñ ¬¡,010010«*ë—_ا>ðb‚Ú__¢HbY♄3ÿeüg dÀ>çÃ÷ ‹“çŸßÒÙ”„¯'¬)«äd hQ™qñÅÅãqÇCÓCÓ_§+£dn˜±Xø‡†Œdèþ‚ |&!Álkãÿ¯9oª·…Fï³(×Û­þê9ûª¶–š–Ø6:6|†—ÀÈâäˆÕ ×ˈÉLÑ›¢.£Îd1›:š¸œˆNP›€—xLð R¨_>lîlÖWÔwã˜W“çMõÖWxoÈ=ÐW´û·À~×ýsLædUeµu·á…&*&‘_E>õ<£2£½»]UZu¬ÒXc•>ׂA†Hk«¤$SÐQ #›pÎ#²x@ øûû»¹¹ :„Ÿ6lØ %%õáÿ~«ªªZZZ¸T˜>]{Μæë?ðƒé‹¿¿\D„ô½{¥‚BcÆŒá½ò€ïÏÅÇÇcYòq ˆŒŒt?¥¤¤P©Ü¦yòËØ±]™™¢ý×Cd°²²DÇŽíê¿òÉX>gkk;Dq #Ц¦¦œœÇ°ÈhG¥R‡çŸ°MûÈww„…pûAuuââÄ·n­t È2°|nË–-C‚ Ï?oýåÅ{÷$Ýܸ=–Edp¢£%;:„œœZ2‚ ù­‚ð™ª*ÝѱõÌò@Fç" Μ!;:¶ªªÒ 2‚ |AþûᇺŒ ‘ÿþCkÌ"Ÿ……IgdˆnÚ„¶"ïAù‚ üg`еxqÓŸ*´´ ÿÈ ß´´:¤°xq£±1š ¼ý§A!±ys=“ [¶(3Ñ"YÂø?¨Í›Ñb@'”Ï!2$ÈdÆ©S¯ãâ$Tt,ò18p@áéS‰cÇ*Éd† cAF”Ï!2TÆïüí·ê€²¿¿<š ƒÆb¿¿|` ùÀj ‹A‡ƒŒDh¿/A†ÐìÙ-mmB{ö( 8P-*ŠÒ:˜ÎN¶mÊ·oKúúÖÌžÖBz‡îÏ!2´-j xýä‰Ä‚IIb‚AF“¤$± 4ž<‘x½hQ“ ÃAF.”Ï!2äììÚÃÂÊžž[¶¨ :"銋…·lQñôÔPP`„…•ÛÙµ :"dD#°Ð¨A¢ªªª¥e}îß—üí7…ÒRa+«öÏ?o³°èÐÑé–•e¡?-‘O“ Äâbá”±èh‰„qmíî;jÑ>Ÿ¬1cÆð^ås‚ ̇äsÀ`ÀãÇ’7nHÅÄH46¢<A8‘ÉL*µmΜæ©SÛˆDAGƒÊçB˜ÏáX,xõJ¸´”ÔÔ$Äb>¼AÕ–Œ SK‹®©ÙM@ÿ æsh~+‚ ‚A €¦f·¦f· AõÐÃAAÑ ås‚ü¯½;&`æßuueÏxÓsozàMϼé9€7=ð¦çÞôÀ›¿/€7ûÀ›žxÓsozàMϼé9€7=ð¦çÞôÀ›žxÓsozàMϼé9€·ÑÙºc IEND®B`‚fio-3.39/examples/fio-seq-RW.fio000066400000000000000000000003131476262051600164410ustar00rootroot00000000000000; fio-seq-RW.job for fiotest [global] name=fio-seq-RW filename=fio-seq-RW rw=rw rwmixread=60 rwmixwrite=40 bs=256K direct=0 numjobs=4 time_based runtime=900 [file1] size=10G ioengine=libaio iodepth=16 fio-3.39/examples/fio-seq-RW.png000066400000000000000000001362271476262051600164660ustar00rootroot00000000000000‰PNG  IHDR+kÑbKGDÿÿÿ ½§“ IDATxœìÝw\•åÿÇñ×aÊPQÜ8PP0Í•#GCÉU6ì—™¦•æ*J³Üåh9¾Ú0Ó´l9ʽÓ\9päDE“ˆeœßGN9ÊûùxðèÜ÷}Ý×ý¹9Wx>ç·Áh4±.sl :‘Ì(Y«¤dEDDDDD¬’’±JJVDDDDDÄ*)Y«¤dEDDDDD¬’’±JJVDDDDDÄ*Ùt""÷ƒ7òý÷ßsüøq®_¿Ào¼ÁÂ… 9uêÝ»w祗^*È0­ÎîÝ»éß¿†ýöööxxxijÏ>KµjÕÌÇÖ¬YèQ£0 ,X°€¢E‹šoذ!C†˜·ÇG½zõÌÛ111<÷ÜsæíO?ý”:uêÜ6N½¿""ÖIÉŠˆÈ,^¼˜¶mÛb4-ö‡††²uëVŽ= @Ë–- "<«ËŸþ™åñ¹sç2räH>ÿüsúöí @Ù²e-Îù믿xüñÇÍÛK—.µ8¾bÅ ‹deÆ æãƒŠ+Þ6F½¿""ÖKÃÀDDîà£>2mÔ¨+V¬`íÚµßÞKöŒ5еk×2sæL*Uª@JJ o¿ý6ÿüó•+WÆÇÇÇ|ÎÆ-êÈÉv@@ÅŠ»mLzED¬—zVDDîàСCæ×]ºtá±Ç3oÏž=›k×®P¡B…{Ûý&00fÍšàííÍ“O> @rr2kÖ¬áÕW_à‘GaÞ¼y€©§$Í7ÀÉɉk×®±eËRRR°µµ,“•GyäŽ1éý±^JVDD²ðù石páBbcc-öýøã™–ÏlNÃáÇùùçŸÙ³g—/_ÆÍÍÀÀ@ž{î9jÔ¨‘ã˜ÂÃÙ3g‡"!!R¥JQ¥JüñLçe;vŒŸ~ú‰Ý»w‹»»;uëÖ¥k×®½iRSS™={6‹/æÊ•+„„„зo_"""6l˜¹Üºuërû­-¶ÓÿžÓ'+Û¶mãÆ888Nbb"ݺucÊ”)\¹r…={öBBBÿý·¹žFey}k|EDäFÉÔk¯½f²ý3jÔ(‹ól´±±É´¬Á`0öïßߘšššíx¦L™rÛëÿßÿýŸEù‘#Gmmm3-ëââbœ3gŽEù¤¤$cëÖ­3”õõõ5Ž7Îb_v­]»Öâ¼ß~ûÍ|lÿþýÇ~ýõWó±íÛ·[Û¼y³Ñh4šã°³³3;vÌ||Ò¤IF£Ñh\µj•ÅyGÍ26k{ED$ƒ_5gED$ o½õk×®ÅÞÞÞ¼oàÀ¬]»ÖüSªT©LÏýßÿþÇèÑ£IMMÅ`0п.\È{g F£‘ &0nܸlÇ3bÄóë‘#G²bÅ ~üñGFŒApp0çÏŸ7ÿòË/:t()))8880lØ0–,YÂ|€ tîÜ™;wšÏùøãYºt)`š˜ÆÂ… yöÙg:th¶ãÌ®éÓ§›_{yyѺukóvHH®®®æí´¡`iC¼‚ƒƒ©P¡UªT±ØŸ~˜¯¯ïm'×[Ûû+""™(ètIDÄÚ9::š¿1Ÿ1c†Å±J•*eøæ=55ÕèëëkÞÿâ‹/ZœÓ»woó1OOOcrr²Ñh4[µjelÚ´©ÅOçÎÍ繸¸£½½}¦=111æë—.]Ú|áÇ[”ëÒ¥‹ùسÏ>kÞŸþœ[c~úé§3íY¹SÌ·ö¬Ô¨QÃØ´iScÅŠÍûüüüŒ[¶lÉp?-[¶4—yê©§Œ©©©ÆâÅ‹cÿþýF£ÑØ­[7#`,]º´Ñh4›7on>§S§NêÌ̽zED$Ç~Õœ‘<öï¿ÿmÞN¿ì.Àc=Æ”)S¸t釢zõê¬_¿ÞüŒ4i+f´jÕŠßÿ¤¤$*UªD©R¥¨\¹2´hÑ‚§žzÊ|ý´gƒÌŸ?Ÿµk×ZÄ—fÓ¦Mœ={Öâœ[—émÑ¢…yIzwŠùVû÷ï·Ø¶µµ¥[·nÔ®];CÙGy„Õ«W›ã}š?ÿü“)S¦Ð´iSV­Z•¡¾={ödYçŋ̓ÖÓ¤‚•Y̹5jÔ(~øaÖ¬YÃ'Ÿ|BJJ #GŽäøñãÌœ9Ó¢lú•¼.^¼ÈÔ©S3K_fòäÉ$$$dz~^ʯ÷WDD2R²""’Çüüü°µµ%%%€#GŽXŒŒ4¿6 ”-[€•+W’ššjQÖÉÉÉüºxñâÌš5‹éÓ§säÈŽ;ÆÎ;=z4‰‰‰üù矬[·Žúõë[\äÈ‘4nÜ8ÓXmlLS½½½±··')) Àü ÄÌbNïN1ß*00Ç{ŒÇ{ ÆŽ À¬Y³èÔ©¡¡¡æ²õë×ÇÎÎŽäädÀ”¬©ç&m%3|}}‰ŽŽ6S² @||¼E½ü1?üp–1ÞInß_É…‚ˆ&"bír:§Áh4Û´icÞ_¡BãéÓ§F£Ñxþüyc5ÌÇš5k–í8†j\·nÅ Sׯ_7úûû›ë›9s¦Ñh4CCCÍûêÕ«g<{ö¬E]§N2Nš4Ébu®'žxÂ"æèèh£Ñh4ž”aõ¬ºuëfXiëå—_¶(óÌ3Ïd(Ó¢E óñK—.Y[¶l™ÅùÖòþŠˆHZ LD$?Lœ8oooþùç*W®L:u¨X±¢yÞ†§§'_|ñE¶ëœ={6Íš5ÃÕÕ•€€5j„ŸŸŸù›|'''ó'Mš„¯¯/[·n¥L™2„„„ðÐCáííMéÒ¥ÍÏOI3fÌ3Ä\µjÕ|épqqaàÀæí½{÷òË/¿X”Él(×­û2ë5ʯ!`iòãý‘Œ”¬ˆˆäƒJ•*±cÇ:w£# ìØ±ƒ¸¸8ìííyæ™gرcÙ®sôèÑ´iÓ†ääd"""ؼy3çÎࡇbéҥ椢B… ìܹ“îÝ»ãââÂõë×Ù½{7;wîäܹs”/_žþýûÓ¡CsýÁÁÁ,_¾Ü¼Üo||<`àÀ 0 ;ÿéÕ«—ÅòÀÇ7¯‚ì%+Ù)“×òãý‘Œ F£ÑXÐAˆˆX³õë×›çeT«V’%Kšmݺ•k×®¦¡\¹rο~ý:‡"..777ªV­J‘"ErORR'Nœ ::GGGÊ—/——W–åSRR8|ø0/^ÄÝÝÒ¥Kãéé™ey£ÑȈ§Zµj¸»»3wî\:uêdQ&;bccÙ½{·y;000C¬‡²X]«nݺ¸¸¸ÀöíÛÍÇ M›6ÍpiÏaIÓ As/Qrr²ÅóWjÖ¬I±bÅÌÛÖöþŠˆˆÙ%+""rG¹MVDDDî «¤dEDDDDD¬’†‰ˆˆˆˆˆ5Ò00±NJVDDDDDÄ*)Y«¤dEDDDDD¬’’±JJVDDDDDÄ*)Y«¤dEDDDDD¬’’±JJVDDDDDÄ*)Y«¤dEDDDDD¬’’±JJVDDDDDÄ*)Y«¤dEDDDDD¬’’±Jv€ˆˆdC|||A‡!""rW|||puuÍõùêY«¤dEDDDDD¬’’±JJVDDDDDÄ*)Y«¤dEDDDDD¬’’±JJVDDDDDÄ*)Y«¤'Ø‹ˆBF#œ%IL4tX"yJÉŠˆÈfÑ"W>ø ½zÅòùç18:êëV‘YÇŽW˜5ë4[¶8æCªæÝËDÉŠˆÈdï^Gö¦[·Xúö½ˆA_²Š uë&òÕWÑüñ‡3ãÇ+èpDòŒ’‘Dl¬-=zøÒ ÁU¼PÐáˆÈ=V§N"~xޝ¾òdÅ —‚G$O(Yy@Œï‰ |þùY-E,RHuìx…§Ÿ¾ÂGyq횺Våþ§ÎDDGŽ8ðóÏEyç ¸ºjÀºHaöÎ;¸rņo¾ñ,èPDîš’‘À§Ÿ#0ðíÛ_)èPH—.]bðàÁ4lتU«âïï¿¿?«V­2¿ö÷÷'<<Ü|N¿~ýÌûß|óÍ»ŽáàÁƒLš4‰§žzÊ⚟þù]×Wlâã)פ •üýÍ?nóætX…Nñâ)ôêu‰o¾ñàòe}Ô“û›]A ""wçÌ;Ö­sa„M¨Ï'ï¼óëÖ­+°ëŸ9s†§žzªÀ®Ÿ]^#F`wútA‡!@çÎqLžìÉï¿»ñòË— :‘\Sº-"rŸ[½Ú'§TZ¶Ô¬óCll¬E¢2zôh>Ldd$AAA÷$ƒÁ@@@}úôaÁ‚”.]úž\7'\V¬Àí·ß : ¹ÉÅ%•V­4Ñ^î{êY¹ÏmÙâDýú×°·×óTòÉ',¶4h€ÍÍ J–,Iddd¾ÇàããâE‹òý:¹e{þ<%>ø€„-pY³¦€#€Æ¯2p 77nppÐß¹?)Y¹ÏED8ж­æªä‡Ç{ŒcÇŽYì{ôÑG³,ÿóÏ?S§N;ÖÏ÷ßϪU«8v쉉‰”(Q‚zõêÑ£GªV­z×±gÅáàAü:u˜@Ìĉķi€ýñãøµm‹ÍÕ«œ=š¸gŸ½cÞƒc{é©E‹rnÔ(%+V"0ðÉÉŽµ' àFA‡#’+&"rŸ‹‰±Å×7¹ ÃlŠŠŠ¢M›6|öÙgìÙ³‡øøx’““‰ŽŽæ÷ß§}ûö,[¶,ß®# €sÆ™·K ‚ÝéÓ’’ðéßßœ¨\yúél%*Eùç?þàüûï“âí?KŽ•,iú»p›–û—’‘û\b¢ ÎÎâ‘V®\Éܹs-ö­[·ŽÈÈH"##Ù¸qcŽêKMMåÍ7ßäÔ©SÔ­[—+V°gφ @RRaaaDGGçÍMdâJ§N\yælââðyûmŠü1Žûö7š#îXýÉ“ÿè#®6nÌ•§ŸÎ·˜%çœM˘'$èãžÜ¿ÔzEDîsF#Zì>ñ÷ßsðàAóö¸qã¨T©ÎÎÎtéÒ…ÀÀ@®_¿Î¼|^ò÷ÜðáÜ Èöí¸Ï˜@ª›g&OÆX¤Èí+HMÅ;, ›«WIuqáÜèÑù¯ä\Úߣ¾Ëû˜úEDDî‘Ç[l7oÞ<˲ù‹±HÎLžŒßSO™‡~œ;–¤råîx¾ýÉ“¹ù\™ ’ìë›o±ŠHᥞ+t5]‘_ìNÂææDû4iCÁî(Ý×õ%†µxdzÞRÉß×Å‹ï:^)|Ô³"""rT®\Ùb{ýúõ”*Uª@b±‹‰Á§H5Ík0ÚÚbHIÁó«¯H|è!®6kV q‰ˆ¤§ž‘{$88˜€›óDúõëÇßÿMbb"—.]bÿþýÌš5‹^x={öä[†äd|úôÁöâE®tìÈù´ÂŒF|°»¹@V’Ê•ãhdd¦?é7Ž£‘‘ć†æË½ˆÈƒM=+"""÷ˆ ÿûßÿèÒ¥ §OŸf×®]<Å Z©7{<RRR²|öÊ_|Á_|@›6m˜8qâã(>v,Evî ©BÎNª³3N[¶àºt)6±±”ìÓ‡S¿ü‚ÑÞ>§·)"’gÔ³"""r•/_ž¥K—Fpp0nnnØÚÚâííM­ZµèÞ½;¿üò µjÕÊ—ë».[†ûwß`tp fâDRÓC “Ê–ÀqÏŠøa¾Ä "’]£Q Ú‰ˆX›˜˜âãã³UÖß¿“&ÅкuöÊ‹Há¡¿RÐ|||puuÍíésÔ³""""""VIÉŠˆˆˆˆˆX%%+"""""b•”¬ˆˆˆˆˆˆUR²""""""VIÉŠˆˆˆˆˆX%%+"""""b•”¬ˆˆˆˆˆˆUR²""""""VIÉŠˆˆˆˆˆX%%+"""""b•”¬ˆˆHŽ=›È¤IlÝz¾ C¹kÒ½d&³ûËl_TT“&E°{÷¥{ƒˆHv(Y‘‹‰¹Æ¤IˆŸÒ½d&³ûËl_TT<“&d×® ÷$‘ìP²"""9æããDß¾Ô«çUСܵé^²ë^ßsaü‹HÞ°»›“;uêÄܹsó*‘ûÊ3Ï<Ü9s :Œáí]„¾}«tyâAº—ìº×÷\Ç"’7î*Y¨_¿> È‹XDDîãÇ/è ÔÙ³‰üüóqêÕóÊðmù•+I¬_É 8:ÚèNݺ™£ž’b䯿ÎqèPÉÉ©T¨àJÓ¦>8:ÚšËDE%°`Á š4ñ!8Ø“­[ϳgÏ%mhÒćòå]3­;:úkמáÊ•$*Wv£iÓ’>ǪUÑ´n]·,ï%·×ÌÎýXƒÛ½©©F6o>DZ¸¸ØÓ´©~~ΙÖõÏ?ñìÙs‰èèk¸ºÚ\ŒÀ@l_/'íED Ÿ»NVüüüxöÙgó"‘ûFaíQI“6áÖ¡=Ë—Ÿâ½÷vqåJ’EùbL™Roï"æ}ÿ}‘~ý¶sòäU‹²¾¾N|ùe}óÞ´¹NN¶|õÕ!V¯Ž6—µµ50fLm:v,kQǯ¿F1|ønnÜHµˆ!4ÔI“R¥JQs²’Ù½äæšÙ½ŸÛùßÿ"0ïX gg[^}µrö ß"«÷àúõT^~yýuμÏÎÎÀàÁAtéRɼïêÕzöü‹-[Îq«&M|˜2åaœœìn{½œ´)œî:Y8xð2ýûo'9ÙHP'uê#>>…Õ«O³k×Ez÷Þʯ¿6Å`€S§®òÊ+›‰‹K¢V­bԪ剃ƒ ûöŲeË9zôø‹U«Záêúß?SÓ§GŸL»veðñqbÿþX6m:˰a»iÕÊ77{öì¹Ä!»HI1R·®5kzpéÒ V¬8Í_ÊÑ=e÷š¹¹ŸÌLžAJJö²//Ç\'+·3}z$W¯šî¹D‰"ìßË_cÔ¨=T­ênN6’زå¸ãååH\\2Û¶gýú¦L9DXX,¯““ö""…—’ÉÓ¦!9ÙÈ+¯ø3xpùCæ»ïÖ cǵìÚu‘-[ÎÑ A ¦N=L\\#FÔâÅ+ZÔóÝwGùðÃ=,\x‚Î+˜÷'%¥²lY ‹áHƒídîÜ(¶o¿@óæ%˜1#’”#ýúЧÏó$úö­F»vërtOÙ½fnî'3o¾Y-G=+ùáÚµ,x”J•ÜÌû¦Odôè½|ûm¤9YquµgΜ¦¸¹Ù³cÇ.\¸Ž½½-OÌŽÿ-klcß~Éòå§2­çüùë·½NNÚ‹ˆ^JVDD$OÄÅ%áí]„"E2~ã_¶¬ —/›æ&\¼xƒ”#'̲¾[ç1øú:e(“Ö»œü_wÄåË7(Y²¶¶Çùù¹dãNr~ÍÜÜOfîÕœ•Û)S&ãïÈÆÆ@éÒÎ7.“/¿<Ìòå§(V̑ƽ)YÒ  ?ÿüÅ|¡Ì䤽ˆHá¥dE²Í~ýú1a„ŒÆzœ?ž%þûæoíÚµ4kÖ¬à) E‹Ú}ÄÄ” @ÿý7wwû›eí¸q#•=²þ°6>§ÜÝ8s&‘”c†„åäÉ„\Õy'yu?Ö0gåĉŒ¿#£Ñ4/§hQó¾uëÎP¤ˆ-Ë–µ xqG‹²3g½ã\“œ´)¼”¬ˆˆHžxè¡â,Xp‚ñãðÞ{Aæý±±7˜:õ°¹ @ÆÞüòËqÊ•s¡]»2ꊈ¸lž¼žS!!ž,Zt’¯¿>l1ìôé«Ì™•«:ï$¯îÇæ¬,\x’nÝü-†‚͘É… ×iÞÜ×¼Ï`0`ggȰ,ó—_âòåxx8p;9i/"Rx)Y‘<ѽ{e–,9É·ßF~‘Úµ=‰OfÍš3\¼xà`Oê×7õB¾ñF–/?ÍÛo‡3cF$µjyâæfϹs×9|8޽{/1}zCJ—ÎüÙ·Óµ«?K–œâóϰqãYjÖô¼¹Ø©t¬³™dS^Ý5ÌYqr²¥]»µ<þx)J”(±lÞ|ƒºw÷7— )ÆÞ½—xê©5´lY 0ÍCÙ¿?öމ 䬽ˆHá¥dEDDòDõêîL˜ð0ï½·“¿ÿ¾Èß_4K{nFÚÐ ??¾ÿþÞ~;œ}ûbÙ·/Ö¢®€÷\%*µjy2bD-FŽÜömçÙ¶í<ÁÁž<ú¨/ãÇÀÙ9oÿùËÏû¹×ºuógÆ,8aÞ—öœ•ôÏHéÛ·ýuŽ#Gâ˜1#Ò\nÔ¨~üñX†çÍÜ*'íED /%+’¯Ö¯_Ï”)Søë¯¿ˆ‰‰ÁÑÑ‘êÕ«Ó¹sgÞxã ìí-‡E$%%1vìX¾ûî;N:Eùòåéß¿?Ï<óÌmç…ää:˜·÷îÝ˱cÇ9r$À××—§žzŠQ£Fáæöß0ˆÛÅ&RØøø8eú@Á'ž(EÆ%X¿>†“'¯âà`CP'uëfÎS½º;K—¶`çÎ ìÛ˵k)”,éDÕªE p7—+WΕ¾} ÉXGÚ±š5-¸øÂ hÚÔ‡µkÏŸl~‚ýС»ˉó™ÝKn®™Ýû¹×2»¿ÛÝsýú%èÙ³26œåСË8;ÛѬYÉ «¢yx8°hQsþø#šãÇã)ZÔ&M¼)UÊ™ÔT#qq7n{=ÈY{‘ÂÉ`4fwtlF:uô$çÂ"§ìßÿ}FåñGy„+VàìlúÐh4Ò¡C,X¡ì믿ÎW_}eÞNŸ¬äô:·&+}ûöeÒ¤IÎ{úé§™;wî]Å&®üþûC|||¶ÊúûWbÒ¤Z·Î^ùÂ`ß¾XjÔð°øf~ß¾Xž}öO\]íùë¯'3]-LäA£¿RÐ|||puuÍíéslò2‘4¿ýö›9°µµeÚ´iÄÅÅqðàA‚ƒƒظq#ï¾û®ùœŸ~úÉ"øðùtéááá¬\¹2Ï®s«ü‘Õ«WséÒ%ÂÂÂÌûç͛ǩS§2íã?æÒ¥KìÚµ‹?þø#G¿É'¤eË• ¸“qãöñúë[xúéuܸ‘J—.•¨ˆˆÜ'”¬H¾HßÓð /н{wÜÜܨV­£F2›1cׯ›6{ölóþÞÿ}<<óë~ø~ø!ÓrW¯^%22’5jpøðaóþ:uêX”»uûn®s«zõê™_»»[Ž+O†“>¶Úµk[” Éôš"Rpúö  cÇrìØqè諸¹9ððÃÅ©\¹hA‡&""9 dE \fãòmlò¾Ó/«ñÿE‹þ÷á%?®+"ÃÏÏ9äp¹¿è“™ä‹ô=Ý»wÇh4fù“Ö³Q­ÚÏؽ{·E}áááyvܨR¥ŠùõÎ;-ŽíÚµ+×õŠˆˆˆHÖ”¬H¾xýõ×ͯ¦Ê( IDAT¿ûî;&L˜@LL ‰‰‰=z”eË–ñúë¯Ó¥Ks¹Î;›_oݺ• &pùòevìØÁàÁƒóì:¹‘>¶ððp>ùä._¾ÌîÝ»³ŒMDDDDÉ•‰'b02ü¤õŽtìØ‘Aƒ’’€(Y²$NNNøûûÓºuk¾þúkΞ=k®óù矧]»væíàááA:uhÕª•ÅõÓ–QÎÍur£sç΄††š·ß}÷]<<< ¡yóæwU·ˆˆˆˆdNÉŠä›1cư~ýz^xáÊ—/£££y¥®¶mÛ2mÚ4¾ÿþ{syƒÁÀœ9s9r$*TÀÁÁ*UªðÅ_ðæ›oZÔ~"|N¯“ƒyóæ1|øð ±¥_uLDDDDòŽ&ØK¶åæù¡7¦qãÆÙ.oooÏ!C2dˆÅþ‰'š_;::ZÌ!ÉéuªU«–彸ººfyÌÁÁaÆ1lذ ÇîâÙª""""’%+bUˆ““íÛ·Çßߟ+W®°lÙ2‹áå—_6?^DDDD\JVĪÄÄÄ0sæLFŒ‘éñ¦M›òÙgŸÝã¨DDDD¤ (Y«òé§ŸR½zuæÍ›Gdd$ñññ/^œžþy^|ñE= EÄ ü}úoÆ­G—:]x¢êÎ]‰Ž‹fÙ¡eDœàlüY<<©ãW‡Ap¶ÏØ‹Ûí×n$&%fZW÷zÝiáß"ÓcG/å·}¿qäÜìmí )ÂsµžÃÕÑÕ\&&>† X2Á-2®4¸üÐrf…ÏÂËÅ‹žü7G·\ÞµˆÈýAÉŠX///Þ}÷]Þ}÷Ý‚EDnãrâe¶ØF«*­î\ØŠÍ ŸÉ‡k>Ì0ïlÑELÝ:•YÏÏ¢œg9‹cÛOlçZÒµLë ­šéþÛg0ní8’S“Íû–ZÎW}Åö~ÛÍû“Ùvbv¶ÿyž¿w>ï-{/g/>|âC%*"R((Y‘BëÂÕ øºùòdµ'©ìU™®%8váÓ¶NãÔåS Z:ˆŸ^ü)ÃyUJTaX«Œ‹mT(V!þÅóÑš°µ±¥SÍN<êÿ(ŽvŽ„ŸççÝ?g+ÎÙ»f3|åpJ-ÍÀÏÝ/ç7+"rR²"""…Ö+u_a@ãæg74­Ø”VUZñø7³ýÄvn$àâàbqž›£õÊÖ»cýÉ©É|´æ#ƶK‡À×éY¿ç똺e*¯û˜JÅ+ñý ßãíêÝÛ¹ï)Y‘»r6þ,³vÌâ`ÌAœœiY¹%m«·µH"ÎF0ï|N\>Ñh¤œg9ÚÖhK Ÿ9x:yfºßÏÝŠÅ*rðìAR©¹®ý±õœ‹?Gp©`‹D%͆rMØ0É›&àÀÌçgR̹X®c¹)Y‘\;så í¿kÏÙø³æ}Ë"–±úÈj&µ›dNXæïÏÀ¥3Ì ùvÛ·|öÔg´«ÑîŽ×zé§—HIMÉV\N|Ññ‹܉¥+ׯu)Šš¾53M(ÎÆŸå½¥ï}%O'Oê–©KûÀö&äï:µ €Ç«>ÎñKÇ™±}Q—¢ðqõ¡U•V´¬Ü2Ë>Zó3¶Ï ¸T0ÓŸNÑ"Es}?""÷+%+""’k3ÃgR¡Xú7îO —ìÙÏ7[¿aYÄ2æVœK§šSRÐå¡.4,ß;;Ž_:ÎÂý ‰KŒËÖµ¶Ø–ídÅËÅ+w7tÓð•ùžrAÍezüDì NÄž0o/:°ˆ¯·|Íôg§S©x%óþ3WÎp=ù:íf´#áF‚ùؼ½óhW£Ÿ†~š¡jë¿[Ù||3A¾AÌzaV¦«’‰ˆJVDD$×J¸–`þËóq²wàQÿG©ãW‡ÿûéÿøe÷/ædÅÎÆŽ*^UÚj¨Åù]ëtåÊõ+ÙºÖ÷/|Ÿ¡g&+ö¶ö9¸ KŸþù) ö/àƒ–ðp™‡3/æ\Œ'ª>AoÎöνp”wýȉØôšß‹¥¯.ÅÖ` À”|½åkª”¨ÂÿÕþ?<Šx°ûôn¦oŸÎ‚ý ¨_¶>ju²¸†§“'±×b‰<ɾ3û2CD¤0P²"""¹ÖºZks¢’¦~¹úø¹ûqèÜ!ó¾žõ{òö¢·°pÍý›à@Åâ±1Ød{ ÞüþÀn4ùpÍ‡Ì ŸÉ GѵN×LË-í¾ÔbÂ}sÿæ<ü­GÄÇÕ‡;ÿˆ£#`Jê*—¨LÿýYtpQ†d¥J‰*¼Tû%úüÞ‡î¿vgÆs3¨ãW'îZDĺÝU²røðaŽ9B™2eò*‘\¹pá®®®8::t(RH\¸pÊ•+t.«yNœŽ;mÞnІê>ÕY|`1ó÷ÎçйC\O¾NhõPÞnòv¶æcä眕c — ä÷}¿ó~‹÷y¥î+Y–½ue00M”¬Êc|õ×WD]Š2'+~¦%†UhdNTÒ¤=<2ýp²ôZUiÅÄvéû{_ºýÒïžÿŽÚ¥kgûžDDêY‘µk×°µµU²"rí?³?þ„ »p,ûŠU Ï#}ÌÛûÎì㥟^â\ü¹l%ù5g%19‘¾¿÷åÈ?Új(]ê’ísÓ‹Ž‹°èiªå[ € 2”?ŸpÈ<ùIóxÕÇ™Ðnýô§Û¯Ý˜ùüLs""…Á]%+UªT¡J•*Ì™3'¯âɃÁÀ«¯¾Êøñã :)$:uêtçB…Àª#«˜·wO= Àµ¤k¼¿ì}®&]¥Mõ6ær¯û˜§ƒž¶˜|îãꃽ­=ÛNlËÖµòcÎJüõxzÌíAøÉpF<6‚k¿xÛòK#–RÄ®VzÔ<)>95™ŸwÿÌ¢‹°µ±µ®Õ |¼]½Yud+¯ä±*¦ÕÆF¬ÜyxÛ“Õž$Õ˜Ê[‹Þ¢ëÏ]™ùüLjúÖÌÖý‰ˆÜïÔ³"""¹àÀÀ%ùüÏÏñvóæŸ‹ÿ=g{gÞhð†¹ÜwÛ¿cê–©s.F2ÜH¾Á‘óGHNM¦iŦٺV~ÌYùlýgl?±WGW–\Â’ƒK2”Óz å<˦ž¤¯·|“½e<Êà`ëÀ¿±ÿšW4{­Þkøõ5Ÿkk°eHË!ôù½½æ÷ÂÏÝOgOŽ]8FÂ<<³õ`È6mHIMá%ïÐõ—®|ÿÂ÷ú|‘{EÉŠˆˆäZ‡À4÷oÎÔ-S‰‰ ¼gy> ý„²eÍå5ÄÏ»æð¹Ã\¼z[ÚÕhÇû-Þ/Ø“SKV= @íÒµýähJº•ÌV¬mk´Åˆ‘w¿ÃË?¿Ì÷/|O€w@¶ïUDä~¤dEDDr¬¦oMfwžM9Ïr”t+I·ºÝøçâ?8;8ã_Ü?ÃsCº<Ô….uáâÕ‹œˆ=³ƒ3¥ÝKøóCzÔëAûÀö·-“Ö«¦ž¤É&s=ù:ÿÆþË•ëWðvõÆÏÝï¶u´«ÑŽÐ€PŽ^8JüxJ»—ÆÇÕ'C97fwžMQÇÌhW£U¼ªw=²7"ND侦dEDDrÌÃÉüâ˜V«Uêο‹9£˜s±ü -G*¯HÅâs|ž£#•½r¶œ­-UJT¹m™"vE,~¯™ ðQoŠˆ6€ˆˆˆˆˆHf”¬X™Í›73|øpŽ?ž«óW¯^ÍðáÃ9sæLÞ&’fóf>rÙFY½Út¾Ú¨ˆˆˆÜ’+³yófFŒqWÉʈ#”¬HþÙ¼FŒ¸»deÄ%+"""rGJV¬LÆ 6låË—/èPD2×°! j£"""’Ï4ÁÞÊ4l؆ t"YkØÐô#"""’Ï M²²zõj6nÜÈë¯¿Ž§§'‹-"22ÚµkG±b–«ÓÌŸ?Ÿ={öðî»ïâììœé±AƒQ¤H‘ õ-Z”… EåÊ•i×®¶¶¶DGG³hÑ".^¼HݺuiÑ¢…EÝ›7ofåÊ•tíÚ5CïJTT«W¯&&&†bŊѬY3ªU«–å=_½z• E©R¥hÛ¶-Ê]¸p+VpêÔ)ÜÜܨ^½:7ΰô¨dáÜ9øâ (^Þ|ÓòXb"|öØÚBXØÝæ¹Õ«aãFxýuðô„E‹ 2|| ];¸¥2>ìÙï¾ ·´Qó±Aƒàfµ¨¿hQX¸¢¢ reSý7Û(ÑѦk_¼uëÂ-m”Í›aåJèÚ5cïJT”é:11¦x›5ƒÛ´Q®^… Lç•*mÛB&m” `Å 8u ÜÜ zuhÜÔFEDDh…*Y7nµk×fàÀDDD˜/^œ5kÖP«ÖËnΟ?ŸÙ³góæ›ofš¬Ìž=›þýû[$+ãÆ#((ˆ°°0‹9' 6dÕªU,\¸®]»rýúuó±7Þxƒ/¾øÂ¼6g¥Y³fÉÊàÁƒùøãIII1ï3 tïÞ/¾ø{{{‹9Bûö퉊Š2ïóòòâ·ß~ã‘G1ï›:u*ýû÷çÚµkç׬Y“•+Wâã“ñ9r‹%L·£úôùïXïÞ0}:|ýõí0}È7j׆!]¥xqX³ÒµQæÏ‡Ù³M RfÉÊìÙп¿e²2n™§ôsN6„U«L L×®®òƦd,MÚœ•fÍ,“•Áƒáã!]Å`€îÝMçßÒF9rÚ·7%*i¼¼à·ß ]eêTÓ}ÜÒF©YÓ”4©Šˆˆ<° M²’æµ×^ÃÎÎŽž={âêêÊòåË9pào¾ù&6l¸ëú{õê…‹‹ ½zõÂÖÖ–9sæ°yófúôéÃìÙ³y衇¨_¿>çÏŸç§Ÿ~⫯¾¢gÏžgYç”)S3f ƒÐÐP8~ü8¿ÿþ;Ó¦MÃËË‹1cÆXœÓ»woèÙ³'EŠaõêÕ8p€:AñâÅIHH _¿~$&&òä“OHbb"ûöícݺuœ;wNÉJvM˜;vÀÛo›z#êׇiÓL‰ÊË/CÏžÙ¯ëµ×L‰MÏžàê ˗æ¤$Ú(½z‹‹é¿¶¶0gŽ)éÓÇ”à<ô)þóç᧟૯L±Ü¦2e ŒcJNBC! À” ýþ»é÷àåe:ž^ïÞàà`ª»HS2uàtè`JÔŠ‡„è×ÏÔCõä“hz½o¬[gêÕRy`ºd¥R¥J¬Zµ '''ÆŒCÍš5Ù´iqqq-šùSƒ³+ €+VàèèÀ[o½E•*U˜>}:|ð£F2—mÒ¤ ¯¾ú*K–,¹m²2vìXæÍ›G‡Ìû·nÝJãÆ™8q"|ð...æc¾¾¾lذÁ|?ÉÉÉ<÷ÜsÌŸ?Ÿï¾ûŽ·ß~›øøxyõÕWùæ›o,®¹oß>J–,yW¿‹BÅÁÁô¡¿vmèÔ ¾ýÖôá¿fMøòËœÕU©’©—ãfeÌS=›6A\œi×Ý0 ©ºÙFyë-¨RÅ”X}ð¤k£4i¯¾ K–Ü>Y¹ÙF™7Ï”l¤ÙºÕ4\kâDSÝéÚ(¾¾¦ä+í~’“á¹çL½Bß}gJüâãMÉÉ«¯Â-m”}û@mTDDäVèV8p 9Qppp eË–F¢££ïºþ°°0s¢P¾|y*Uª„ ƒ ²(Û²eK‹¡Z·ú÷ß9yò$5²HTêÕ«G§N¸ví;wî´86pà@‹ÄËÎÎŽ‘#G°iÓ&|||hÔ¨ëÖ­cñâÅÄÅÅ™Ëâåå•“[—²eáÇáôixüqS20oÞIGv hyŽƒ´lib–m”°°ÿ0 åªT llLs\Ò»ÙF¹MåßáäIhÔÈ2Q¨WÏ”¼]»·´Q´L¼ììàfåfÅÇÇTïºu°x±)YKh걑V¡KVÊ”)“aŸ««+IIIw]¿ŸŸ_†}...xzzZô|¤íÓDø¬\ºt €Š+fz¼R¥J\¼xÑb… 2”MÛ—V'ÀòåËy饗2d^^^T¬X‘W^y…mÛ¶e“ÜFãÆP®œéuûöàïŸó:2i£Ül£äA%“6Š‹‹iRÿ-mÔ¼}›6JZ{Ê¢r³rK%“6jÞ—®²|9¼ô bJN*V„W^µQ‘^¡KV²+mR}|||†cÿþûï=‹ÃÓÓ€cÇŽezüèÑ£V3ûçŸ2”MÛ—V'˜µ¡C‡²k×.®\¹Â¯¿þн½=õë×géÒ¥yr…J¯^ðÏ?¦è³f™VÕÊ/i“ê3i£ÜÃ6JZ{Ê¢r³fXÍ,“6jÞ—®âê C‡Â®]på üú«i²~ýú 6j•æí‡ÿX–ZnÞ·7z/þcý™´qRFf}ÂO†óòÏ/<>˜šŸÕä…Ù/°ñŸ–ˆˆÕP²’…²e˰dÉ‹ý«V­2£ºWqøùù±iÓ&.\hq,<<œ¹sçâääDíÚµ-Ž7Ž+W®˜·“““:t(5LË(oß¾Ý\ÆÑÑ‘:uê0hÐ ŒF#³fÍʯÛz0}ói®Å+¯˜æj”)]ºdþ¡1%iÉDÚsV2i£LžlšìŸ®šŸ³r³Rª”é÷¸mÜÒFiÒ俞‘û̦ã›8uùuËÔep‹Áæý½öæ@ÌVZÁªÃ«hW£]F)"Rð M²Ò²eKŠ)’ér¼iǼ½½-öO˜0矞 6`ggGóæÍ©U«óçÏÇßßßü@È;Õß³gObcc3ìwvvfذaÔ¬YÓ¼/99ÀüÄû4cÆŒáµ×^³x‚ý£>šá öiq4iÒ„°páB¢¢¢(]ºt†'Ø—-[–­[·ràÀÂÃÃ9}ú4^^^Ô©Sç¶K)Ë-ví2 ÷jÖ,ã„ú^½Lÿ=wÎôàÈÛõ´lizÞHfËñ¦»¥2a<ÿ¼©gÅΚ77õîÌŸoŠ%]½mý={š’®[9;ða¦¥“ÓÜl£ÜÒF3ÆôŒ˜ôO°ôÑŒO°O‹£IÓsU.4õ ”.ñ öeËš†Ô8`Rvú´)¡©SçöK)Ë=—Ççë?gÅáÄ%ÆQÙ«2}é›iÙ½Ñ{é0³}ék.³þØzºýÚ÷[¼O’5¿~<ûÏì§bñŠüÞõwŒF#s÷Ìå×=¿rèì!RŒ)T(V烟çÅ1 æúF#ó÷Ígîž¹Dœ %5…J^•x>øyž©ù _ýõã×`üúñæ×@ôøl?aÞ˜Y2Ò®F;VZÁ¶·)Y‘B¯P%+iKçäXýúõ©_¿¾Å¾Ž;Ò±cÇl×Ñ3‹:;;3|øp‹}iéo0¦e_}õÕLëÊ*ŽÎ;ß¶<@õêÕ©^½úËI}Ôô“•´„åNZ¶üo©àœ«_ßô“^ÇŽ¦ŸìÖ‘ÕC+á–6jžHŸI¥|yÓ3QnçÖ8²ÑF©^Ýô#Vãzòu^üñEž=hÞ·ïÌ>^›÷­«µÎQ];OídìcI1¦jLÅh4¶8ŒûX”8Áð•Ã9sžü0%*ýögÉAËù[{£÷²7z/~€—U?®JJjJ¶Êz¹x±¥Ï–;–‹ºdZ¼J‰*ŽUó6%øQ±·Y2\$ÛN°}ûBž|òq‹_ä~Qh’k·xñb,XÀ¬Y³pww§J•Œÿ€‰¨Å‹aÁÓ¤vwwÓƒ$¥ÐšµcϤbñŠ o5œàÒÁ\¼z‘o¶|Ãì]9‚¸,bju¢g½ž”õ(‹­-¿ïûûPµDUÞ}ô]jùÖÂÑΑ}gö1rõH~ùûž©ù !¥C˜»w.K.ÁÃɃ·›¼M³JÍðpò ò|$?íþ {[{z7ìM½²õxþ‡çÐd½öΧßLöÄß0­âç^Ä=ñ´}W¯d8&’s«ùᇾ>\—‘#Gšy r¿P²b%/^Ì´iÓ°±±aôèÑØÛÛtH"–/†iÓL=Ú´|°ZË#–c0˜Òa •½*àìî̈ÇGðÏ¥Ø||s¶ë .Ìè'F[|ë;wï\lml™ñÜ ¼]ÿþX·L]Æ?5ž'¦=Áê#« )Âü½ó˜Øn"Ê72— ò "È7èno•Cïºë:ne4suL$ç^áwʰbEmÚ´¡W¯^ôîÝ;Ãpsk¥dÅJ„††R£F yäBBB :‘ŒBC¡F xäÓÊ\R¨EÅFáãêcNTÒkR¡IŽ’•FåežräÜRRShüEcÀôÞˆÑüàtÜiŽ^8Š{w‹DÅÚ¹9ºp9ñr†cq×ãLeЏÝÓ˜äÁåçį¿þÊ´iÓ˜0a[¶láÓO?¥T©RšÈ)Y±¡¡¡‚Èí©J>ñpòȰ/Õ˜ pÛ¹"I)IùSzù1g¥œg9Ÿ;LíÒ–Ï Š8a*ãQ.‡‘ŠdÍÖÖ–×^{&Mš0`ÀÚµkǤI“hРAA‡&r[z(¤ˆˆäX9rÄÄÇpäü‘ ÇÖÿ³þ®ë¯T¼NöNì°‹ÈA‘™þLî0Ù\örâå;öæØLÿäe7ñÈOuËÔȰ€@ú}—}øžÆ$…C@@¿ýö 4 k׮̘1£ C¹-õ¬ˆˆHŽ=Qí þŽþ›Þ¿õfÄc#¨Uª–y‚}N†€e¥S­N„/ §ËÏ]èÓ¨Á¥‚qstãlüYŸ;Ìܽsy1äE–oHÇ Žl?±þ ûóvÓ·iZ±)îEÜ9zá(?íú‰víx¸ÌÃæ‰ëÛOl'öZl¦=:™É9+Ê7¢TÑRl?±ÑkFóFÃ7°³±cÖŽY¬8´O'OZUi•ç×prrbâĉL:•1cÆpúôi¬ÕÂÄ*)Y‘ëòPî_ÈÁ³yé§—Ìû mÚdXF8§:vdÛ¿Û˜·w=çf¾´ösµžàé §ùóèŸ,?´œ÷—½Ÿ¡\ëÓRÊå=ËããêÃ_QQgbóñ‚xΊ½­=>ñ!=æö`úöéLß>Ý|Ì`00âñzz½ä+ƒÁÀk¯½†ŸŸaaa\¼x‘qãÆag§†b]4 LDDrÌÑΑÙgóbÈ‹x¹xáhçHuŸê|ÙñKšTlr×õ ƵǤö“hT¾îEܱ·µ§ŒGZUiÅ—¿¤QÓ„zƒ ÿkÿ?>zò#‚Kãdï„«£+µJÕbLë1Ô/gz‘­-S:N¡Ž_œìî:ƻդbfwžMÃò qqpÁÉÞ‰ºeê2ãÙ9~VHnµiÓ†o¾ù†U«VFJJÁ“IÏ`¼‹5;uêÀœ9sò, ‘Ü0 ôïߟñãÇß¹°HÈï¿111ÄÇÇg«¬¿%&MŠ¡uëì•‘Â#»ÂÃÃyå•WxòÉ';v,66ú>[ò†®®®¹=}Î]õõ]¸p“'O2`À€»©F$O¬^½ZmQÿþ?¿»{2ºˆˆµ¨S§“'Oæõ×_ÇÛÛ›°°°‚I¸Ë9+GŽáäÉ“L˜0!¯âɵ}ûö±oß¾‚C ‘k×®t""y¦iÓ¦Œ=šwÞy‡²eËòì³ÏtH"w—¬Ô¯o¬a`RÐ4 Lîµ´a`""’:päȆNÕªU©U«VA‡$…œ$ŠˆÏ<Ö IDATˆˆˆYXXõêÕ£ÿþÙž;'’_”¬ˆˆˆˆˆ™ Ÿ~ú)‰‰‰ <¸ Ã‘BNÉŠˆˆˆˆX(^¼8cÇŽeÙ²e¬\¹² Ã‘BLÉŠˆˆˆˆdдiSÚµkǨQ£HHH(èp¤R²"""""™Á¬?Ï4—ݽÿ±þLÚ¨a$%'ïWau)Êâw’þ§ò¸Ê ]1”Tc*'/ŸÄ¬?¾ï”i] '7Ĭ?=çöÌp,95™ Ï‚xxÒÃÆ|½§ü`ccÃË/¿Ì‚ 8þ|A‡#…ˆU$+ mÛ¶¸»»S´hQÚ´iCDD]»vÅ`0døŸâÊ•+ :”êÕ«ãääDÑ¢EiÞ¼9«V­²(7hÐ »wïfæÌ™R¤HÊ•+Lj#HMMÍKnêž:u*AAA8::d=Ï#>>ž#FP³fM\\\(Q¢?þ8«W¯ÎÖïêĉôèу2eÊààà@É’%éܹ3YÆ7eʪV­J‘"E¨X±"~ø!ÉÉÉæ²-[¶dÈ!4n܃Á€Á`0÷¤du/¹‰%»ïýtàôÚNn‹{_wŠö)J›Imˆ8A×]1ô0p>þ–ö—x…¡ †R}huœz9Q´OQšÖœUni#óaèa`÷‰ÝÌÜ<“Àay£å–cÄ¢æüî¶î©ë§4<Ç7 ›s³ýe1Ï#þz<#øöÎ;,ªã{Ü/E:*E"ˆ Ø c×ÄÞ[ŒF£?-šD¿I4~’ ±E#Ö¨Qƒ•jA@PAª¨ ¨ˆR—ýýAve]ÊRË}ŸÇGvfî¹çÌ–9wæÌ¡åw-©7³õçÕ§gÎÄ(9þ²R˜úÇT¬¾´Bsº& æ7`ìÖ±ÄÞ{á™—Òo£ßFš~Óíÿ§M“EMøáä—kzòíÑÿÆßŠ.¨LUAeª ÝVv«Ð–êè¢ìsPŽõçד[˜K§þ|Öù3f{ÌFCUƒN6˜í1SÓºVQ ÂóªKKf{Ìf¶Çl¦´ŸBg›Îì½²—ýW÷ËÚ4ÒoDäÝHr så®OÈJ ='3]3ÂSþ[®Ý½Fna.í¬Ú¡¢¢òjŒªe† ‚ŽŽ¨kUÞ!ÔëZØØX:uêÄãÇeeÿüó!!!´nÝZ¡ýÇéÒ¥ ÑÑѲ²¼¼<üüü8wî»wïfܸqr×üòË/lß¾]ö999™ï¾ûŽââb–.]Z#Ù?ÿü3^^^²ÏM¼333éÒ¥ 11Ïß^={öŒÓ§Osúôi QW/ÿ‘$$$СCÒÓÓee÷ïßÇËË‹'NàëëK›6mä®Y±bûöí““ñí·ßrãÆ vïÞ]î½*£:º(û^%±÷bé´¼sK¿ÈI¡uã2Æß³‡tYÑ…è´Rc¤0¿X?ÎÝ8ÇîOv3®ý ãÏ÷¶Ÿ/ewV2ßýýÅ’b–\Z#Ù?Ÿú¯ÐR㯂‰wfN&]~îBÌÝRã¯à§£Os:ú4…[ QW­`ü=H Ã²¤?)õ̳ïãêʼnk'ðïK›ÆŸ÷ ö…í““ñíÑo¹qï»?©Áø«†.Ê>å‰ÏŒÇÞÔžõƒåWK:Ût–Mô^„çU1ÖFÖÌö˜-WöËù_Xw~ÿÞú—1îchgÝŽ£QG¹|ç²\¿…¦„0µýT~<û#72nàlæü¼>¹¤¾½uû—mÊKC$1dÈþúë/f̘Q×ê¼#ÔùÊÊüùóyüø1|ð‘‘‘<}ú”Ë—/Ó²eË23¦.X°€èèh†JXX999dffâåå…¡¡!³fÍRH\´wï^Ö¯_OZZÙÙÙìÙ³uuu6lØ ·[Ù‡fõêÕ¤¦¦"‘HX³fM¹¶Î;—˜˜Z´hÁ‰'HOO'33“Ó§OÓ£GJß´Ì™3‡ôôtºvíJxx8OŸ>•éûäɦNªpT¿´´4²²²Ø»w/ÆÆÆìÙ³‡³gÏpæÌ¾ÿþ{‘H$H$’ OÿªŽ.Ê>‡WÉüóyœû˜Z~@äw‘<Ýø”Ëß^¦¥eKNG—1þ. :-š¡­†öu9rÈôÌÄëS/ E†ÌÚ;‹§ù/Œ¿½¬³ž´Uidÿ’Íž){PWUgƒï 㯲_>Ìê‘«I]™Šd«„5#+ûçs7†-81ëékÒÉôÌäô¼Óôpî •Œ¿}sH’NWÇ®„ÎÓO‰^Z¢ï“¼'Lý£Œñ÷Ÿ~i«ÒÈZ—ÅÞ©{1®gÌžà=œùoü}~†ïÿ7þ¾ D²U‚d«„s_œ«U]”}•p;€õç×ó(÷Oòž°þüú2ÿeäd(%O,s>á<ÛB·±%x §ož&¿(_®MÒÃ$ÖŸ_ÏÕ´«„$‡°5d+\úƒÄ‡‰åÊNÈJàXô16mfÏå=DÝ‹RhSZv±¤˜ó çÙ²•ƒ×ò$ÿ‰¬]na.ǯgsÐfNÄœ P\Xm{^%5y^OòŸp2æ$›ƒ6³#la)aÕÒ¡P\ˆoœ/;Ãw²#l¾q¾äå•Ù¶*ýwïÉ=¼®x±%x ¾q¾ˆ‹ÅĤǰþüzâÔ<ÜÃÖ€ì¼lY™ÔÙ:RB“Ci¤ßˆÁÍ£¢¢BHrˆ\½ôó›ì¬ 4ˆÄÄD"""êZw„:]YÉÉÉÁÇÇkkk:„¶¶6îîî9r{{{¹-`ùùùxyyáââ¡C‡d“ûzõê1zôh²²²˜9s&ôíÛWvÝâÅ‹™5k–ìó¸qã8zô(‡"%%kkëjËž7oŸþy¥¶ææærðàAŒù÷ß177—ÕõêÕ‹^½zUxýÓ§OñööÆÌÌŒãÇ£¯¯@³fÍØ¿?nnn\½z•›7oâèè(»nîܹrú3±XÌ„ 8tè=zô¨T÷ÚÒE™çð*ÉÉÏÁ'ÚkckM?„¶ÆãÏÚ#3Ž`ÿör[Àò‹òñ ñÂ¥‘ ‡¦—#ZõÝv4YO³˜ùçLoÒ·y©ñ÷ábfu/ewûq½r”C—‘ò0kcëjËž×sŸ÷Rbüær0ü ÆõŒù÷ó1×/5þšõ¢W³JÆ_þS¼#½1Ó3ãøgÇÑý÷Ì5cÿ´ý¸-uãjÊUnÞ¿‰£y©ñ×s®œ~cÚA\,f¶ ºtˆÎÕÕÔE™ç  ·Ø¾€û9÷ËCé娋úºõ+”‘ÁœcsH}œ*WÞP¿!¿ý•æ šÏ ‘†ˆÍA›9sëùÖE5U5~ê÷C[ ••=+|Ƨ‡>%8)Xáž]›teãˆ4Dr²µÔµð ôä|ÂóSéVû¯Ækœ…âB&˜Ì½'÷du.æ.˜p-u­*ÛS¿œÿ Ê9Ð::Li?¥Â6Õ}^§nœbÑ?‹ä6w w6Ùˆ™®™R:F¤E0ý¯é Îi=SÖ Z'7y¯Jÿ¼v%>K(ÈÊܹ1 ÙÖŸ_c}GìMí•Ò±<¤cÁÆØFV&sVR^pVRBigÕ#‘MŒ›šÊÇm>@\,æòˉŒp0u¨‘NuMóæÍ±³³ãèÑ£¸ººÖµ:ïuê¬$&&"‹éÚµ«ÌQ‘b``@‡8qℬìöíÛäæærýúu444d«ÒŸ¡d{QiÊ:ŪI“&@IŒJMdWædHIHH ??Ÿ~ýúÉ9*Ê’˜˜HQQ]ºt‘9RÔÕÕéÓ§ÑÑÑÄÅÅÉ9}úôQ%u¶ª{ü`uuQæ9¼J$".ÓÕ±«ÌQ‘b 2 C“œ¸VjüeÜ&·0—ëw¯£1½Ôá…1’õÂø+ã«&õÿ³;ïIdWædHIÈH ¿(Ÿ~-úÉ9*Ê’˜™HQq]ºÈœ)êªêôqéCtZ4qéqrB—2ÆßÎV\z5Ç_5uQæ9(G×&]Ñ×ÖgsÐfŒDFŒr%W!ñ—R/U*çÎã;L:0‰ì¼l\¹âÚÐMuM¢îEœÌÔCSùwê¿èjéʮٶœü¹ Â\Ïœè{Ñ\H¼À’ÓKèåØ =-= Ä© N ¦yƒæ8›9cZÏ”ìülB“C ¸ÀÆ‹YðÞ9}¶‡n'¯(a-†a¤cÄ…„ ĤǰäôÒ§¡©¦É8÷q¨©ªq2æ$Ñ÷£ÙwuÛL¬¶=e±áâÄÅb¥ž…i=ÓJ•ê<¯˜ôæ›[Þ°m,ÛSÙ›g¸rç 3ÌäÀøJÅ^,÷[NFNÎfÎthÜuUu&r>á<73nÊ&ÿUé¿kw¯ñÍ©o‹ikÕ–– [’õ, Ÿ>l¼¸Q©¾{‘ä‡É2G.·0—ë÷¯s1é"" Ÿ´ûDÖÎÚКz ˆH‹ ¿(-u-R§r7û.í¬ÛÐÖª->7|H$¨¨¨}?š§OñhêñÆÆ«”æƒ>àСC,Y²¤®Ux¨ó˜ Ü_Ü·fHãA$ bqù_ärŸE"Q¹÷”Þ£º²MLLÊm[5ý’ª/9©ŒW­‹2Ï¡.(wü½ðfS"‘HK*#E/Œ?Í2ìæ…ñWMÙ&ºU•lõªôúÚÔÑøSâ9(G×&]éÚ¤+;ÂvÐ@¯Â>ÿü¢|¥œ•ß‚#;/›¥½—2®•|<ÖÎðüpæþ¾þ7cÝÇÊÊ Å…xOñÆÒÀRV¶ðŸ…ºvˆ°”0ºÛw@WK—ƒ¢§¥Ç¥;—È|š‰†š}ú’’Šoœ¯‚³"A©)§h¨ßq71ýïÏÅÄ‹t²éÄï#~GSM€ ­'Ðgk|ã|eÎJuì)‹Ï:}V¥••ʨÎóú=äwŠŠ‹˜Ôvÿ×ýÿd¿o_vû’¡»†rå΂“ƒéظc¥÷Ïz–…­±-Ç&CUEU®<ëY–ìsUúogøNÄÅbY@¼”Ù³¸c`¥:•EêãT…U';;~ü ŽõåÊÛ[·çXô1"îFÐΪl‹W[˶%ÿ[µeßÕ}ÄeÆá`êðVÄ«”¦k×®¬_¿ž[·náàðf¯ ¼þÔ©³bccƒššäååÉ­®dgg*¿Äjkk‹––mÚ´©õä…/Sviù¤§§cf¦Üò¹ÔÕÕ $;;[nEC,Ëâ{ìíå—¼}||¶zy{{`gg'+SU-ùRú”°ÚÖåuÃÆÔ5U5nW˜'·º’›Mh ãÏÔ-u-ÚØ´áüWµ<þ^¢lÛú%ònþ$3½*Ž?ÔUÕ ¼Hvn¶ÜІ¸XÌéëÿ=s³Æ_´ÂV/ï¨ÿÆ_ýRãï¿ L‘X‰ñWM]^?.&]DME¬gYl¼¸Qn5ûiaI|VäÝHp~ÍÐæCå€nvÝ8tí÷ŸÜ—•©ª¨²-t§nœ*óÞž*½:¤ù™£ ¦¢F{ëöÄgÆ3¥Ý™£`klK#ýFÜy|§Fö”Å,Y7x\J½„šŠóß›/÷bÀHdÄôŽÓùÚûk.¥^¢cãŽäæ²5d«ÜõÚêÚ|Ú¡äøÞ>Mû°=t;"Ðݾ»lû˜±Ž1Æ:ƲkªÒ—S/#Ò1³óL¹ûZZ1Êm¿‡ü.+«L?)––²­„O3ð¹áC|f<·œ•vÖí8}Œ¤ÚYµ#49Óz¦41)Y­mgU²ÂšZâ¬ü·eLZþ¦Ó²eKLLL8wîœà¬¼têÔYÑÕÕ¥wïÞx{{3jÔ(–-[†­­-·nÝbÁ‚ddÈïoÕÑÑaôèÑìÚµ‹±cÇ2{ölœœœÐÖÖ&11‘àà`¶lÙ¹sçÐÒÒ*ç®eó2eCɪˆ#سg½{÷æ§Ÿ~¢mÛ¶¨©©ÎÏ?ÿÌ©S§PSS+óúzõêѯ_?Ž?ÎàÁƒYµjNNN$%%±dÉ¢¢¢pss“Ûvàéé);RXKK‹S§N1gΆ.kgl\òÃÇLJvíÚ¡£SþÛºêêòº¡«¥Kïf½ñŽòfÔ–Q,º [S[nݿłƒ ÈxòÂøÓÔat»Ñ캸‹±[Ç2»Çlœ8¡­¡Mbf"Á·ƒÙâ¿…s_œ“Ûî /S6€HCĈ6#ؼ‡Þk{óÓПhkÓ5U5ÂÃùùÔÏœš{ 5ÕrÆŸV=úµèÇñˆã Þ4˜U#VáÔÀ‰¤Ì$–ü½„¨;Q¸Y¹Ém»ð<ãIƒŒm7- -NEbξÿÆ_ëRã¯Þã/Ú‡v¶íÐѬ`üUS׬gYˆ%bÖ_Wn›ã%J;R¤« ¥Äþ5èWNÝ8…±Ž1]l»Ð@¯šêš¨ Â¾«ûäâ¤4Ðk P&k)¯®tàuuì)‹ÚŽY©Ùù٘陡­®­PgmXßõ8¯äż¢<… C‘¡Ì˜Ûe.Ö†Ö>Êg~@GS÷Fî j>ˆþNýe×T¥ÿç=¦^ÔT¿³¬ ­ä>W¦ŸÌ®N›ÕyÃþÆÊs+éÒ¤ Më7•Õ½·’B[«¶²ú†ú ±0° $)„1ncO ÇPd('ãMFUU•:\æ:µIo[½z5.\àï¿ÿæï¿ÿ–•›˜˜Ð£GΞ=+‹!X»v-xyyÉ\šênéx™²¥òCCC‰ˆˆ ÿþ õ•Éöôô$$$???…cuuuÙºu«Â5C‡eþüùÌŸ?_®|ܸqr+.ï½÷***,_¾œåË—ËÊÊ;¬:º¼Ž¬¹š ñø;âoþŽ(5þtMèá܃³1gÑP+5þF­%"%¯P/¹#ƒKSíñ÷eKå‡&„‘AÿueŒ¿J&Gž£< ¹‚_¬­¿á™ké²õ£2Æ_«¡Ì?0Ÿù^íÇÉ­¸¼çøßøó^Îrïå²²òN«Ž.¯úÚúˆ ˜Ú¾üÉNu¤ÏÅŸC[]ï)Þ˜è<ß.)‘Hؾë¥Ä Ô–=µ³Rôµô¹›}—¼¢<‡%ùQI윶P²JñâÖ²Òרª¨2¼åp†·N±¤˜Ä¬Düâýøüïω¾Íݾ(¹gúÏ@Û€{Oî!–ˆ–”G) ºT¤_y˜éšñÝÿYGgáèɯC•ÕÙÙ`¦kÆ•;WH~”LêãT¹¸(Ù v>á<1é1dçeÓÛ±÷[¯"ÅÍÍ7Êâr^uî¬8;;sáÂ-Z„¿¿?¬Y³†éÓ§£®®Žžžž¬½‘‘AAAüòË/ìß¿Ÿ7nP\\Œ ;wfÊ”) ÁúÊò2e˜ššÊÊ•+9|ø0 ЪU+,XPaŽ( FgéÒ¥œ:uŠû÷ïcllL÷îÝY²d NNN ×,\¸N:±aÃ’’’°°°`òäÉ,\¸P®³³3Û¶mcÕªUÄÅÅ)ÄæÔ†.¯#Î ¹ðÕýµÿ›ÿ?{ÖŒZÃôÝÓQWUGO»ÔøÓ1"hQ¿øþÂþ°ýܸwƒbI16¦6t¶ëÌ”.S‚õ•åeÊ0Õ5%ôëPVú¬äð¥Ã$L¥é7M±«oǵï„ñWU^ÈŠS+¸²ø nVoçø{™ßP’d5''G©¶ööv¬_Ÿþý•k_[¸¯u§‰qO<,W¾òÜJ¶oáøä㲤x‘w#²kˆ\@têãTíÄã¼Ç4oÐ׆®èië‘‘“ÁÍ7‰¼Éö‘ÛéÚ¤+·˜|`2_÷øšIm'ÉÝOZ·¤×&´žÀÿþý\ú+C+z:ôJâ0¢ïEË^@„Ï —»¾,Ù?ùþĶÐmüóÉ? q ý~ïGv^6>»Pe{ꂪ<¯ë÷¯3t×PŠŠ‹pmäJ+‹Vääçp6î,YϲpkäÆÁ •z£Þle3ŒDF´²l…•¡…âB‚“ƒ‰¹ƒ“™'&—œºX•þ»v÷#v(ó40m m²že±aÈú6í[‰v%GW÷ØÒƒN6øcô õÞ±ÞÌ::‹¾Mû²aÈY¹×/¾õù 5 t4tŸ.×·3oÓ{ko4Ô4(r|Òq9gçUñ²¾òóóquueåÊ• 0 Ve ¼]˜››£«[ñ)ˆp°ÎWV d«ÒôéÓqwwGCCƒððp,XÀ³gÏäâ*^C7 eú{Óq·vGCMƒð¤p\À³‚grqµ‹¥%»ÇìfþñùDÝ‹RHØèl挅EµdÏö˜MPR·ÜbGØ ähëïû~ÏÞ+{òxÔ/ÓžWM3ófxòdÑ?‹ˆH‹ "íy@iže·þt·ïο7ÿÅ;Ö[®ÜÒÀ’eý–É}V¶ÿZ6lÉ}`‰ÏÂRÂdÉ*]¹2°Ù@¾?ó}µì.‹>Mû`gb‡ÏMn=¸%Ë“"=¦¸P\HkÛÖ ýÑĤ &:&d>ËÄPdˆ“Ù۵⫥¥EãÆIHH¨kUÞr^ gåôéÓ9rD¡ÜÉÉI©„‹5áôõÓ¹RÆøkàÄç½…ñ' PÓ:L“;ÍIJ'›Nh©kaªc*+3×3g¶Çl…­0ÍÌ›ñÏ'ÿpùÎe¢îE‘[˜K½4­ßTî-tc£ÆÌö˜»…âQZÒº– [ÊÊ E†Ÿ|ß8_³Ñ×Ö§k“®4ÒoD±¤X.0¾"Ù]l»PO³&õ ßz¼Bfueí© ªò¼ú6íK§ÆH õQ*šêš´hÐBa»Sel²Œœ ÂSÃIy”‚ަ¶Æ¶tlÜQî(c¨Zÿh9üâýx’ÿ{S{ºÙuãhÔÑ*ég mÀlÙ ùRTUTù¡ï%‘ž“.sVìLìø¼ëç•{Ê×¢î‹H~”Œ¥å[×accÃíÛ·ëZJ¹|ù2çÏŸgèСXZZV~Ákν{÷ äÁƒ˜˜˜Ð¥K6T<|DJAAÄÅÅ¡££C‡*<Å­ªí_6¯…³rìØ1Ö®]ËÕ«WÉÈÈ Q£F 8Å‹×dÙH@@)ŽÍ<ÆÚ3k¹š|•Œœ 4b Û@¸¸Òämï2Ó;N/³¼³Mg:Ût–+3Ó5+7n@EE…Ö–­e1e!u(ªR§®ªNoÇÞ å£ÝF+-ÛÃÖ[2ëÆ¹+³\{ꂪýœú)Õ¶*ý×P¿a¥yk*ÃPdXiLK[«¶e:i3:ͨðºÁÍ×H·×&MšpñâźV€°°0‚‚‚>|85’«»|ù2ëׯ§}ûöo¼³²aÃ6lØ —jB]] 0eŠâa·oßæÓO?%11Q®|„ ,^¼XÁ‰®jûWÁká¬ôèÑC!ˆ@Í(}ª—@Åôpî¡ D f,¶œåÄñ' ð6ceeÅ;w*oø  eýúõtêÔIÁYiÕª³gÏÆÂâÍØ†YGŽÁÓÓºw½=wîÜÁÇLJåË—ciiIß¾Ïã´ eއÝ»wçáÇœ8q‚Ý»wcmmͤI“ªÝþUñZ8+o¦¦¦<~ü˜ÂÂB¹4¯­Zµ¢U«Vu­Fùý÷’d§kÖ¬‘;Ô ,,ŒñãdzvíZ9gåøñã$&&âêꊗ—šš%‰m‡ ÆØ±cÙ´i}ô‘,Ç_UÛ¿*gE@@@@@@à­¡™y3f{ÌÆÞ¤z9z”ÇÔÔ‰DBVVqqq\ºt‰1cÆ ¯¯ŸŸ‰‰‰4oÞ|||¸qãS§NE$ÉÉ‘ÖM›6M–xûÂ… 2ysÊ„¶ IDATøúú’˜˜ˆ©©)={öÄÐðùñãGŽ!((€C‡ɶ¦YXX0lذ2cVJË×ÕÕåìٳܹszöì)›§§§ãëëË£GhÙ²%:u*³/²³³9þ<)))hhhТE Ú¶­Z|WEˆÅbnÞ¼‰±±±ÂékmÛ¶¥Y³fDFFgÏž`æÌ™2ÇCÚ¾K—.Nûöí«ÕþU!8+o Îfβ#˜^.&&%OdffrñâE¶lÙ‚££#Ë—/'5µäĽɓ'ãááÁéÓ§9vì&LPpV¤uü±ÌY‘ÊsqqáçŸ&>>^ÖÞÐÐÝ»wãì\òœ9Bpp0Pâ¬Hi×®ÌYy1f¥<}¡d%f×®]œ={–/¿üR.÷ܸqãXºt©œþäÇT8n¾mÛ¶lÚ´ ###ÒÒÒäô« GGG¹•e¸~ýºÌY‰‰‰(Ó¹èСÄÆÆÊê«ÚþU!8+U¦^½z<}úTV¶xñb4449r$ 4ÀÝ]ñ”½ªðÍ7ß ¦¦ÆèÑ£ÑÑÑ! €¸¸8–.]ʾ}% 7‡ Bqq1ÁÁÁröÊĨ,Y²‘HĸqãPSSÃÛۛ˗/ó¿ÿýcǎѼysÜÜÜxøð!ÇgïÞ½Œ=Zæ(9s†E‹¡¦¦Æûï¿\¸p°°0¾øâ Ùö­´´4Ö¯_¯´í|ðÌYQSS£I“&ÄÇÇsüøq…m`ׯ_ ##CVž‘‘ì9•FÚ75iÿªœ*#Ý*”Ÿÿüï àååUæ„·:X[[³k×.´µµøâ‹/øàƒ¸té999èêê2dÈÒÒÒdÎJ›6m”–oggÇÎ;e¶Lž<™ž={rðàAfΜɼyódmÛµkÇ¢E‹ðóó“9+«V­B$áååEóæÍem% Ÿ}ö>>>²­Y5böìŠOž+££|"Ú &ðÝwßñùçŸsüøq¹{333îÞ½Knn®¬}~~>zzzeÊ–®`åååU»ý«BpVªŒt‚_z›ÔÔ©SkÍQ˜6mšÌQÐÐРS§Nܾ}›ôôô§¸˜2eŠ\|†¥¥¥,ÙåôéòÇ}KãU¤' ¥§§‡µµ5þþþøûû#‘HH$²c~£¢¢ªå¬¼È¸qãHJJbçÎøúúâëë @çÎiÙ²%¿þú«\ßkiiÉ9’¥‘–—îÛª¶UÔÈY &55õ­Lt$ðæáé鉧§g]«!ðñ¦Ÿ×/ PÊrVllljõe%;”NÈKç©Mù"‘}}}…ØàùêBVVÉÉɬ]»¶Ü{®®®xzzbll,×^CCƒ-[¶ðé§Ÿ/—«füøñ|üñÇ5jÿªœ*ó´à)¡)¡thÜ¡Öeg<Í 4%”¬gYµ.»,ndÜ`é饌tÉàæƒåêç=&4%”^ޝo<Ü ƒˆ¾-Wö8¯â­0;Âv°ÂoEÅÏ”OÝ8Åæ Í„Í {)z ¼}”^YéÔ©ZZZ`óÍ7|øá‡„……¡®®N‡pvvÆÇLJÆ˶rÊ“ÖI“RBÉ6°#GŽpîÜ9’’’(((åiÕª³gÏ–Ë»R‘üÑ£G“­P®­­ÍìÙ³iÚ´©\ù€èÕ«/^$!!ââb,--qss+3€¿ºsòäI‚ƒƒ‰‰‰AUUWWWÜÜÜÊ=ìÊÎÎoooˆG$Ñ¡C…-fÕmÿ*œ*ÓĤ Žý ƒÊ“®½î<ÉBhJ(m;×µ*Õ"ýi:¦ôpèAlz,çâÏUØþDÌ ~<û#jªjŒh9‚÷íßGK]‹ð”pö]Ý÷j”x+xøð!úúútîÜ™Î+ÿrssÃÍÍM®¬OŸ>ôéÓG®¬"yåÕ‰D"úõë§PÞªU+¹ÀóÊä=ºÌr‘HTî6.mmm… ô—ŠŠ ;v¤cÇŽJ_£©©IÏž=éÙ³çKiÿ²œ*SO³í­Û×µÀ±a¦kÀw§¿«°mQq?žý€åý—3¤ùYÝ{MÞãÓŸ¾4=Þ>RRRÐÓÓC__¿®Ux‹y¥ÎJ¿~ýhÚ´é[‘ ãm²¥:¼‰ö÷ëw˜¦Mðô|ùo>^6o“-Õá]·ÿu ¢˜•ДPN\?AÊ£4Õ4iѰ£ÝFcZOq»Å©§8{ŠìülL˜Øfb…÷MÈJàpäanfܤ¨¸[c[†·޳ùóã4KÇ™´²hÅ—þ æ~ :š:ôtèÉÀfe[&ŽFe[è6FäB™œ½ãöÊÝûQî#þ¸ô×î^CK]‹÷íÞgX‹aužkLê¨(CÀí2r2pkä&ç¨HÑÓ*;{µ€@Y¤¦¦beeU×j¼å¼Rg%00P¶¿ñMçm²¥íð)ôUÚ?¡)¡J;+e­BÕ÷žÜ ¿(ŸA;ñ´à©¬îpäa¹ bÕ‡«ê|µHàÍ 55•víêöÄ>·ŸWê¬téÒåUÞî¥ò6ÙRÞDû»ty{²¿M¶T‡wÝþ×ipöòþËåNÕä2ˆö}DPRgãÎÒß©?#à9È“ö=dmº äƒm• '{{èvŠ%Ål¹]nuæ}û÷q³pcÒþI¿~œÿ×ñÿÉêêëÖ築!ÒÉÚ¶±lÃx¯ñ쿺Ÿ-G`a`A3ófXX–‡cclá¡¥^rZÑ{MÞ£°¸_ÎÿÂÕ´«J9+»ÇìF"‘TÚ@CMC©vU¥@\’q|Kðë;2¾Õx µ ¹šv•íaÛ9}ŒÖá:â¥Ü_àí¡¸¸˜„„FŒÆŠÀË嵈Y‰‹‹cÛ¶mDEE!‹qrrbâĉ¸º*žÿðáC¶oßNPPÙÙÙ²„?~ø¡¬MAA½{÷ÆÃÃ¥K—òûï¿ãããC~~>;vdöìÙeƒ…„„°mÛ6’’’°´´dêÔ©ØØØ0zôh† œ9sʵ¥º÷TÆžÊP¦ÿJë÷í·ß²yófüüü‹Åxxx0sæLtuKÎÖŒŒdÖ¬YˆÅb.]ºD·nÝdr<==qss«Ñ³¬n_Õ”òâââ±m[$QQ‹‹qr2fâÄæ¸ºÖWñðaÛ·G”Fvv>z æÀ‡>Ï&[P ¦wïCxxX°tig~ÿý>>‰äç‹éر³g·B__qU $ä.Û¶E’””¥¥S§¶ÄÆFŸÑ£O0dˆsæ<Ÿ ½hKu社=•¡Lÿ•ÖïÛo;²ys~~ɈÅ<<,˜9Ó]Ý’ÉYdäfÍ:‹X,áÒ¥ûtë¶_&ÇÓó}ÜÜÌjô,«ÛW•›‹HCÄ —Arå***ŒvMPR1÷cèïÔŸ70Ê9*šjš l6uç×É•GÜ@ME ÏÀ’ï‰D‚„’‰‘¸dK`|f¼Ü5ýúË)ÒÕ—7ªd[ߦ}eŽŠ”æ J²R?|öP)u3@G£$yŸ¹®9{Çî•Ùô¾ýû8Ôw`î±¹9.8+•rëÖ-rrrpww¯kUÞrê!Ù¾};S¦L‘{ëµk×.~úé'üýýiÞ¼y…¶TçžÊÚSÊöŸT?===úöí˹sçdíOœ8ÁÎ; ÄÔÔ”ÇãïïÀ£Gd?K?—eut©J_ÕeÅ9?‘èÔ©Œµùùç÷pq1áÎ~ü1˜Ë—ïsàÀ Æ/Ùz’œœÍŒgH`âD °£¨¨˜#GâøúëÀòÔ/eïY{jÒR||ÐÓÓdÅŠ®¸¸˜’’ò„•+C‰ÍbÞæºæru‘÷"0×3—µMÈLàQî#çDÚ¶4 õR .`˰-¨©–íHëÈgo޾­ÐæiÁSngÞ–;AK…çJÙ-ZÕåuˆYqmX²Êù4S¡îÁÓ’gõ4ë½”{ ¼]\¹r777ÔÔ„;/—:uVöìÙCnn®Â*ÂСC±²²bÉ’%lݺ•M›6±{÷nÒÓÓY¶l‹-’“3räHlmmÙ¹s§Üä^]]€€9¯ßÞÞžîÝ»sñâEÙdøÏ?ÿ$??ŸÏ?ÿ\nb>jÔ(>ùä¶o—?Ù¦"”½guì©IÿI)..æÌ™3rNÃðáÃqrrbÿþýüúë¯Э[7TTT022’ÛV›º(ÛW/‹={®“›[¤°Š0t¨VVú,Yr­[¯±iSOvïŽ&=ýË–uaÑ"ù=í#G6ÅÖö7v›Ü«««0GG£RöÒ½û.^L“M†ÿü3†ü|1ŸÞFnb>j”Ÿ|âÃö튷òPöžÕ±§&ý'¥¸X™3#圆áÃqrÚÎþý±üúk/ ´èÖÍ 02*ù¹2ª£‹²}% <]l»pëÁ-¾<ñ%žƒ<1•ômXJ[‚·ÈÚHÿ{DzêÃUèj•lCõŽõæXô1Ù½{³þüzNÝ8Åü÷æË­t<É‘¨#´±l#wÍ¿·þåpäaÙÑʹ…¹|íý5Ï ŸñA³dí¤[£’%×VW”Éë³ÒѦ#fºfü{ë_Nß@ ë™ü‹‡~NýX=`5Ëý–Ëå–ieÑŠeý–Ñ@¯ê/ Þ-¤[ÊÛ·/ûô<Ú¤N•FJŽz ÃÞÞ^®.<<‰D"k#M:´iÓ&œËÞš¢¡Q½esé=®\¹‚¥¥ü‘¨—/_®–Ìʨ {ªÒR¢¢¢(((P^ÀÂÂBV¦¢¢¢ô–…êèR×4jT²í$,ìööòN\xø}$’çm¬¬JrÊlÚÔgg“2åih¨ÖH+WÒ±´”Ï]sùòýjɬŒÚ°§*ý'%*êb…àõðð;-,ž·/JSM]jF“&ü9öO, ,äÊmmÙ;n/9¤>NES]{{…`ns¼§xŸONA c(2$#'ƒ?Çþ‰ƒ©ƒ\{]-]–ö^Ê7=¾!>3žÜÂ\è5À\ÏU•²ÇëÜ.s™Üv2 Y èhê`ob_æcÜÇ0¨ù âÄ“[”+ûîkÙ°%Žý“ÆF®‘ÖÙÛ(Ûm/…f0Òud¹õ/ö#”'ý¡ó‡²¾·0°Pˆ3(S§NÑ£GjÏ»ªBõfWµDŸ>%{Ë.\(ÛŠ””ÄÌ™3èÛ·/Pû%±VVVtëÖMöÏÃÃÌÌLRSËÎ<\½zõàË/¿$>þùÉ@ׯ_çÛo¿­–Ìʨ {ªÒRî߿Ϝ9sÈÏ/9‘G"‘°víZüýý±³³ÃÎîù‘µººº$&&R\\ùI7ÕÑ¥®éÓÇ€… ˆŒ|~"[RR63gž oß’6C‡–ü±ß³ç:VVztëf%ûçáaAff.©©Oª¥G¯^%÷øòKâãÉʯ_ÏäÛo/TKfeÔ†=Ué?)÷ï?cÎ_òóKV9$X»öþþ)ØÙbg÷ÜÑÐÕÕ 1ñ1ÅÅ•{,ÕÑE fÔÓ¬G{ëörIKS_·>î»”騔ÆÎÄ׆®²@ûúºõioÝ^!`^ІšNfN¸[¸ÓP¿a¹ŽŠ}m}\¹â`êPa²C Z4lA;«v²|+†"CÚ[·/sµAZWד|;;Ú[·/÷_yý¨¦ª†c}GZY´ªsÞ222ˆˆˆxíþ¦ ¼½ÔéÊʇ~Èû￟Ÿîîî888 ©©Ill,¸¸¸0yòdÞ{ï=&OžÌöíÛ±··§I“&˜››óðáCÉËË㫯¾bÔ¨QUÖcÀ€´oßžœqrrB,sóæMZ´hArrr­ŸvQöT¥ÿ¤8;;³cÇöíÛ‡ƒƒ)))Ü»W’ÑxÙ²ermÝÝÝñóóÃÖÖ–Æ£ªª*˳RºÔ5~hÇûï[ãç—Œ»û.ŒÐÔT#66‹‚1..¦LžÜ€÷Þ³bòäl߉½ýï4ib€¹y=>Ì#11›¼¼"¾úª£F9UYìhß¾!!!wqvÞŽ““1b±„›7Ò¢…)ÉÉÙ¨©Õn6éÚ°§*ý'ÅÙÙ„;¢Ø·/#RRžpï^IíeË亻›ãç—Œ­íV7ÖGUUE–g¥6t¨:'OžD[[›Î;×µ*ïuº²¢¢¢Â±cǘ4i***ÄÆÆríÚ5ŠŠŠ2d¾¾¾ˆDÏ÷ oݺ•Õ«WÓ°aCnß¾MPP±±±3räHF]-=ÔÔÔ8~ü8}ûö¥°°ÈÈH®_¿NïÞ½ex==½J¤TšÚSÕþpttdÿþý¨««ƽ{÷000`ëÖ­Œ)¿à§Ÿ~¢Aƒ$''ˆ¿¿¿,ÏJmèRר¨À±cƒ™4©ù:gqíZEEÅ  ïHD¢çþüÖ­½Y½º ÖãöíÇ¥›Eq±„‘#›2ztÕ55ŽBß¾¶ù€ë×3éÝÛF6×Ó«ý$…5µ§ªýàèhÄþýPWW%,ì÷î=ÅÀ@‹­[û0rdS¹¶?ýÔ… ꑜœM``*þþ)²<+µ¡‹€€€€@ÕH$ìÝ»—Aƒ¡­]µ˜Jê¢"©ÁÁò#F”d¸=xð RíÑÓÓ+óÍü“'O¸qãb±‡2ƒ¯¥H$âââÈÈÈ ~ýú4nÜX.£¸¸˜€€LMM’9Jëêׯ‹‹Ë‹¢IMM%%% ¬­­Y³f óçÏgçÎLœ8±\[jrÏÊìQ†Êú///‘HÄ Aƒ8zô(DGGS\\LóæÍË æ/**"&&†‡R\\Œ››†††5z–5é«òPQQaîܹ¬]»¶Ü6©èéi–ùfþÉ“nÜÈB,–àà`Tfðµ‰ââ’‘‘Kýú"7Ö—‹Á(.–Š©©H!™£´®~}..ŠyRSŸ’ò ]òÂT IDAT¬­õY³&œùóϱsg?&N|Þ/ÚR“{Vf2TÖyyEˆDž dÏÑ£ƒ)(Iq±„æÍMÑÒ*û~EEÅÄÄdñðaÅÅÜÜÌ04Ԫѳ¬I_•¦ªßUåþýû²ƒ8*ÃÞÞŽõëïÓ¿¿ríßvå>âFÆ 5‚ÅÞyjóûÁ××—iÓ¦qêÔ)¹mãannŽ®nµãF¾RgåuÆÇÇ:tè +;{ö,Ç';;›ääd¹àó7•· eœ•ןD ´èС¡¬ììÙd†?FvvÉÉÓä‚Ïß4^tVÞgE@@àM 6¿&L˜€††F•R:ÔÔYöEüGdd$_|ñfffØØØ––& pŸ9sæí¨¼þDFfðÅþ˜™é`cc@ZZŽ,À}æL÷7ÚQx󉉉!88X.ñ³€À«@pVþ£oß¾=z” .ž^’|º¡ysSΟCVV·o?BMM''ã·&(\SS ?¿Q˜š¾¿Oï/^Äßߟ?þø£Âã¿^oÇL¨166®0¸ÿMEUU•nݺյ•`l¬±ñÛ¬ªªB·nVu­†€€€€@‹ÅüøãôîÝ›N:Õµ:ï ‚³" P&ûöíãöíÛlܸ±®UxG©Ó<+¯'‰‰‰¬X±‚)S¦`ccS×ê¼£Ί€€€€€€€€€b±˜ùóçckkËìÙ³ëZwa˜€€€€€@[˜ËjÿÕøÜôáÞ“{H$®Í¿ÆÆ Ù¼…ã“ãlæ\×j¾r’&ÑcK¹2 5 ê׫O{ëöÌè4[c[‚“‚ï5žÍ°v bž­a»†q7‚ZÄâ^‹ê»oîÎì;\šs ]­wïˆx‰DBXXíÚµS¨[·n7oÞäèÑ£hhhÔv%++uÀúóëÙ¾“»Ùw©A~æw‚Bq!iÙi‰:ÂÐ]CIÈJÀÝÂM5MB’C®É-Ì%ú~4***„¦„*ԧ礓ü(g3çwÒQ8tèü1QQQråçÎcË–-,\¸PÈT/PçÔheåæÍ›Üºu ++ᔺç·ß~ãСCu­†À;Bff&u­†ÀŒ_¼zZzúè¶Æ¶¨ª”¼?ü¢Û|Ñí‹:Ö®îédÓ‰?Fÿ”8×ï_g±ÏbndÜà÷ßù±ßh©káÚÈ•°”0’&ÑØ¨±ìúK©—(*.¢—c/ÎÜ:ãÜGŠ eõR§½uûWkØkBzz:?üð………L›6“'ObhhÈÍ›7™7oC† aܸqu­¦€€° LàíáÙ³–<{fY×j¼3×µo8941i‚‰ðæº2D"Z[¶fQ÷E|¼ÿcndÜÕµ·nOXJ¡)¡rÎJhJ(šjšLm?•oþKxj8=zÊÕK¯Y¼x1ùùùH$233ùì³ÏXµjŸ|ò ÎÎÎ|ÿý÷u­¢€PCgÅÑÑGGG7}ÈÎËÆÁÔÙ³y˜û¯N~ņ!èÛ´o{K %ÛåêiÖ“•µ³*‰·IaD˲òÐäP\¹âÚÐ]-]B’Cä•äPTUTikÕ¶F:½‰üóÏ?œ9sFö¹¨¨ˆÐÐPfΜI½zõؼy³§"ðÚ ¬¬T›È{‘¬<·’qP²]çHÔR§â5ÎKÖ.#'ƒ1Ž‘»öaîC|ã|ñ÷gÏØ= “Æ«iWYî»±D,“½ÊZêZd<Íà·àßdmogÞfα9ØÛÈ&ø‰„'p,ú˜œÜØôX¾;ý1÷cø±ß•ÚØô禈‹ÅJõ‡i=S‚gÕþª[¡¸‰û&r)õ’¬¬@\@PRÁÉÁ,í½”±îc•’µÊ[C¶Ê•EÝ‹"ê^ªLh=¨Zÿåå3nï8bÒcädN;<þNý«esi¤ÛÀ–û.à=»÷du­,[¡¡¦Ahòó¸”ü¢|"îF0µýTÔTÕheÑJ®>óY&ñ™ñ¸˜» §¥WcýÞ$=zÄâÅ‹QUU¥¸¸XV^\\̵k×Xµjúúúu¨¡€€<‚³" PmþŽþ›±îcù¤Ý'˜ë™}/šyÏ#,%Œ˜û18›—8***xØzðQëhfÞ Ózÿ¿½ûŽ«ºüÿ?þ8¦"CÜ q ¹5jæLÍÒr·¬´újfé§ü”öÑÆ'­L㣕 -Í­™f9³p®”À (D•)ãüþàDZ(  ˆÏûíæíæ¹Þ×ûz¿®·¥çŵܸœv™“!¼þóë|±ó‹<ÉÊÏ?3²ÍHžiý •+Tæ0~íx‚È6eóAŸèæÛ +ƒŸïüœoB¾a~È|>ê÷kÃײ6|- ª6àõ®¯Ó¬z3ì¬í8tîïl}‡å–óxÓÇiQ³Å}g“»Ofr÷É´˜ÕŸÊ>¬~zµÅõ~ÿˆy»æY”-Ú»ˆ=±{¨áTƒ©=§ríû¹š~••®dNðÞÿõ}zÔëAUǪ>Ë‘-8Ø8ðq¿éàÕk+k¢/F³ö¯µT°­`®W”÷·pÏB"ÎGàSŇ©=¦Ò¼fs.¦\ä«]_±xßâ[zO;¢wäu2 l2§Z=e.³·¶§iõ¦ì‰ÝCìåXj9×bßé}dde˜G]ÚÔnÃ¬í³¸š~•Jv•̉˽8ì½÷Þ#))É"Qù»ÿüç?´jÕŠZµ4­ZÊ%+""rËü½ýy§×;æÏ­jµbt»ÑLÝ<•ÈøHs²âVщ]&2o×<&oœLBr‚yİXƒ«³OgÞêö–ùsï½é^¯;oäÍnoZLùyý×Yq`ÇŽ™ËV\…ÑÊÈ‚! pwt7—·©Ý†YÏ¢÷×½ÙztkÉÊá×óÆv§ýñ мFsíç?ŽóIçY¶¿û•¡Í‡ØV5§jt¯ß£Á€Ÿ‡ŸùÏ*WQÞ߯È æ˜K=·œ'*8W`Z¯iD]ŠbGôŽÛ €OeÆwµ•å×—ûkßÏžØ=„œ ¡V“Z„œ Áh0Ò²VKsÌÙ¦lÂN…ÑÕ·«yq};ÏvÅ×ÝbÇŽüøã7¼n2™HKKcÔ¨Q¬Y³{{û;Hþ”¬ˆˆÈ-kW'ï—½Ú.9;D&_K6—í=½—KF‘•‘o;i™iyÊr*þw5œjЦ–å(ŒÑʈG%.$_0—?JVv>ËYÏa2™Ìkr· >såÌ;W†Ä\ŠÁÅÁÅœ¨ü݃¾²lÿ2b.Å9ÓëÚ|jù~\\{% €·|‹1kÆðàÒÉ»~~´¨Ñ‚F,î)Êû‹IŒÁÃÑܨü]gïÎÉJAñåúûn`ñIñ,ܳÏw~ÎèU£YóôlŒ××T´­Ó–Ïw~NÈ©6Èî“»¹¯ú}T°É)jZ½)vÖv„œ ¡«oWBNå¬Wi]«uÞ—]N%''3qâÄ<Ó¿þ)33“£Gòþûïk‘½” JVDDä–ÙYÛå)3³èúïg‡|±ó 2²2ç?ŽGï{Gl¶ z~Õ“‹) ×öÿ_Ð}£çZÌÁ7åüþfëMn”<ý]YX³×ßëíòóðcË [Ø»—=±{=J@`®\ùô‘OiPµP|ï¯8Tu¬Ê„.8ŸtžÕW³dßžný´ùz«Z­°¶²f÷ÉÝdde°ÿÌ~óÚ[£-M«7%äT‰©‰½p?w?œìïµ}ô/^¼i¢bmmMff&uêÔ¡jÕª¤§§cg—÷ÿ5‘;IÉJ1Û±c›7oæ™gžÁËË«È÷oݺ•   ^|ñEªU«VüŠˆ”‚S‰§p«èÆ8ÿqå'O}1ºD¾4Ö­R—ð¸pvŒÝq×/¢ötõdÿ™ý8s€f5šY\ûýøïæ:®®›tìŸMX0Œ´©ÝƼN(5#•_öàß¿ü›žþ(ÚûótñäÏsrôÂÑ<£+Û£¶[|.L|72¡ËÖG¬gÞ®y m>Ôœ´:Ø8ФzöÞÇÆÃIÏLÏ32צvæíœÇïÇÇd2ÝSëU¢¢ÂX¼xq¾‡æ&(Õ«W§gÏž<ôÐC´n}ïŒ8IÙ§ì‹ÙŽ;˜6mÑÑÑ·tÿÖ­[™6mçÎ+ÞÀDDJQ §$¤$°hÏ"®¦_åjúU~?þ;Ï­xÎüüâ6¨Ù R3RyjÙSl;¶‹)ÉÈÊàôåÓüvì7ƬS¨µ‡_?̱IÇ õ«¤FUúøåì¨õÊÚWøýøï$¥'qîê9æÏaÙþeØméæÛ­Pm Z4ˆ%û–pìÂ1Ò2Ó¸š~•í'¶“˜šÈÉÄ“×ëáýõnØ“ÉĘ5cس“”Œb/ÇòŸMÿ)¶õ*îŽî n6˜óIçY~`¹ÅµÜä㳟a0,¶Ã†œi…Y¦,óæ÷N²’Î÷ßÃÊêúW>k뜟UW¯^#F°lÙ2™2eŠ)s4²RÌ:tèÀþóŸ[U)¯†µÆ'þ`Ú–iLÛ2Í\ÞÈ£õ«Öç|ÒùbæÀûr2„ÕW3zÕè|ë i6¤ØŸ[žlù$#7²÷ô^ž_ù|žë“»O.ÔN`áçÂÙwz_¾×†4¿þ>ŠòþžjõëÂ×q>‚'—^Ÿ~e0èë×—Ÿ#~.Tl…ñB»X¶_îú’a͇™×®´­Ó–/v~ÁÑ GièÞg{g‹ûZÖj‰ÑÊÈÑ Gï±óUÞ!>þ„y e:uxä‘Gx衇¨/%w %+ŬC‡tèС´Ã)Sº×ëÎ'—»¿4OûêV¯»LäéeOÜÀ-0 Ìè;ƒ.u»°|ÿr;DJF Õ*U£¡{CÞ7ŽÞKäÙÅÍÆhÃÂa ùr×—¬XŸs(¤Ñ–&Õ›0ºíh:ût.t[«ŸZÍòËÙur±‰±8Ø8àSŇǛ>ÎcM3×+Êû³³¶cñðÅÌüc&›ŽlâjúUêV©Ë8ÿq\N»\¬ÉJµJÕxß@–XΊ+Ñr³nÅh0’eÊÊ7©`SF8xö ª6ȓ̔GÀG¸¹y1lØÃJPä®d0å7± ÊÙ6R'Ø_w³5+111lݺ•¸¸8*W®Ì<@Æ -êLš4‰3f°oß>êׯÏÚµk‰‰‰¡FôïßË¡%GÎOŒ–£ìåÎÄã—Üßqqq$%%ª®¯o]âèÓ§põEî¤ÕWÛ öR4[¶lᥗü ¨ª¿¤Ôxxxàèèx«·¯ÔÈJ1Ë]³òÀX$+o¾ù&~ø!YY×wU1 <÷Üs|öÙgØØØX´sôèQ}ôQbbbÌennn¬Y³ÿˆˆÜÝzôèÔâJ;‘[¦då˜;w.|ðƒ~ýúáççGtt4?þø#_ý5nnn|ðÁ÷Œ3[[[F½½=[·n寿þbÀ€DFFR¥J•RꈈˆˆÈ¡då˜>}:«W¯fÀ€æòÝ»wÓ©S'>ýôS&OžLÅŠÍתW¯N`` NN9Ûyfff2dÈ~øá¾ýö[&L˜pg;!""""r‡iëâvòäIbcc騱£E¢жm[ Djj*{÷öÆo˜ÈÙfðwÞ 88¸ä)5yŒc“Ži½ŠˆÜ%+%ìÒ¥Køøøä{½nݺ\¼hyz³··wžº¹e¹mŠˆˆˆˆ”gJVJ˜««+'NœÈ÷úñãǨ\¹²EyTTTžº¹e¹mŠˆˆˆˆ”gJVJX:u¨U«ÁÁÁ¬[·ÎâZXX«V­ÂÁÁ–-[Z\›1cW¯^5ÎÌÌäí·ß cÇ»ã\‘Û¡öwÀ¤I“;v,>ú(ýúõ£aÆÄÄİfÍ222xã7,ל={???úõ뇿þú+ááḹ¹ñÌ3Ï”NGDDDDDî %+wÀ˜1cˆå£>â§Ÿ~â§Ÿ~®Ÿ³òî»ïæ¹gΜ9Lœ8‘yóæ™ËrÏYѶÅ""""r/P²RÌ2330å|ð/¼ð‚Å ö]»vÍs‚}÷îݱ··§sçÎüõ×_¬[·Ž˜˜jÖ¬©ìEDDD䞢d¥˜å.¤ÿç‚y///žþù›Þß½{wºwïnþ<|øðâ PDDDDä.¡d¥˜¬_¿žµkײpáBœ©_¿~i‡$""""rWS²RLÖ¯_Ï×_••ÿýï±±±)íDDDDDîjJVŠI¿~ýhܸ1þþþ´hÑ¢´Ã¹ë)Y)&ýúõ+íDDDDDÊ )""Es)†€ öŸÙÉdbWÌ.¾ ù†eû—q9í2Al?±Ý➨‹Q°hÏ"‹òÌìL‚عáNvÁ¬<õED¤¼ÑÈŠˆˆYî|[£-³g@cÆ n6˜…{HgŸÎæ{Ö†¯eNðŒVFiüNöNì;½€ ^àõŸû¿ ÿaÂT¨+ØTàù¶7ß±4û"""S²"""·l~è|R®¥ðp£‡©ãR‡j•ªae°¢ƒg6ÙÄÕô«T²«@à‰@j»ÔæTâ)vÄì wƒÞ9åQø{ûø¼9;æ•U¨ØÜ*º*Y)­¾ˆˆHÁ”¬ˆˆÈ-KÍHeÝÈuøTñ±(÷÷öç—È_ؽƒ^ zq%í ‡âñú¯3?d>AQAæ/øAQAT®P?w¿Ÿ7¶ÃØ"¬”很ˆHÁ”¬ˆˆÈ-{¤ñ#y¾ÜÃõ‘… è z5èÅŽ˜degáïíÏ‘ø#æ©V—Ó.sèÜ!úúõÅ`0ø¼—ý_.ÞüÍˆì¶’•„„bccyõÕW‹+‘Û0ØYÚAÈ=ã µJ;ˆRçåê•oy §øTñ!ðDδ¨ ¨ ÜÝiPµþÞþ¬>¸š˜K1ü÷Ù¦l:zu,ÔóJbÍJ®;Ý)Øm%+G%66–Ù³gW<"·aÛÿÿ%rg=šZÚ!”:£•ñ†×:zudÑžED_Š&(*È¥ŠÜ#ÆŽ‹££ci‡Q¦uòîÄ¢=‹ø~Ï÷Ä^Žå5¯×pupÅÏÝÀDœ n•ºT«T­Pm–äš•›)‰¾ˆˆHÁ´fEDDJDÛ:m±¶²fñ¾Å ‹‡NÞ˜:ŸŒ¬ žnýt¡Û,É5+7S}‘‚éPH)m+Ò¢f 2²2ðs÷£r…ÊækþÞþddeÜk<ÊS_DDî&Y‘"ótõdœÿ8ZÔlqÓzc:Œaïé½ÜWí>‹òÖµZ3Îí<Û•Xœ…Qžú""RÞ(Y‘"Ëý‚_oÿ|œÛm uÿPžú""RÞh˜ˆˆˆˆˆ”IJVDDDDD¤LR²R>þøc ¿ÿþ{i‡"""""r×R²r‹Þ{|ƒÀ‚‚J;‘rIÉJ ˜8q"&“‰x ´C¹k)Y‘2éŽ$+W¯^åí·ß¦Q£F888àääă>È–-[Ìuâãã©]»6nnnœ÷Ì™3\¼x‘%K–P¹re¾ÿþ{~ýõ×Ûn_DDDDî.%:¤žžÎÒ¥Kiܸ1«V­2'+VdèС\¼x‘1cÆHïÞ½xùå—Ù¹s'Ÿ}ö‡bûöí|ðÁtíÚµÈmvéÒ…•+WR¹re¶lÙ‚‡‡‡9¶=zУG’ì¾Yrr26lÀÝÝŸ~ú '''5jÄòåËiÞ¼9û÷ïçÈ‘#Ô¯_ß|ßÛo¿ÍË/¿lþ<ñìÙ³ :”ªU«òÆoðꫯ2räHV¯^]ä6SSS±³³cûöíœ?ww÷ÖͽeQ/%%…Ý»w穟û…¼0;UyyyammM`` W®\±ÈÊÊ2¯ñõõ-°­ÂòòòÂh4²}ûvÒÒÒ,FW®\¹BHHH‘Ú*JüE}—¹6mÚ”gª×† ¨[·n¡ãH¾–LÈ©ÚyÞx$ùnŸOÈ©.¦\,íPXº€¿Í 3ûú¿oä‹_úJ¨EÝ“‰'úýPÎ']ß eÛ±m,Ú³ˆ%×P¿ê­O‘ò¯D§U¨P¡C‡ÌðáÃÙµk‰‰‰¤¥¥É·ß~KûöíIOOr¾ø2„ .°lÙ2ÆÏرcùᇘ9sf‘Ûtpp`РA$$$гgO6lØÀ… ¸té[¶l¡GæÑ™Æ9‹Ò###IMMeß¾} 8Ó§Oçé[åÊ•œ/Ø)))7}+V䡇"..ŽG}”½{÷’’’BDDÆ ãСC4oÞü¶Ö{ü“££#={ö$&&†!C†NJJ à±Ç#>>¾Ðm5þ¢¾Ë\³gÏæ“O>áܹs\ºt‰¥K—òÊ+¯ðø ­ÓüIDATã߯Û‘{‘O_ÌÀ&K;”re}ÄzÞÿõ}L˜ÔtŸ üŒoÃKí_Ê·þÄŸ&r>é<­jµb΀9|>ðs:yw"15‘ñëÆ“m*üvü"rï)ñ={gÍšÅXºt©Åv¸—;%iÒ¤I2cÆ ºtéÀ'Ÿ|BXX“&M¢mÛ¶øûû©ÍY³fÂèÓ§Ï ë 6Œ)S¦ŒŸŸŸùzÍš5éÙ³gžÝ³ºté‚Á``úôéLŸ>Ý\v£ÁfÏžÍîÝ»ùí·ßòlìèèÈW_}•ï}·cæÌ™³nÝ:Ö­[g.¯R¥ ݺuã×_ÅÆÆ¦Pm%þ¢¾Ë\d„ L˜0Á¢|ĈZ\/"EVѶ"më´-í0Ê•ÌìLÞÿõ}¦÷™Î€û˜¯uñéÂèv£-ê8s€½§÷RÇ¥ß ý{ëœQþë=ÈÀoNpt0¼;ݹNˆÈ]¥Ä·.vuueçÎ|øá‡´jÕ GGG*T¨@£F5j»wïÆÞÞž5kÖ0sæLú÷ïÏ¿þõ/óý666¬\¹WWW† B\\\¡Ûpss#$$„·Þz‹† bgg‡»»;½{÷fëÖ­æ3VìííÙ´i½zõ¢B… 8991`ÀvìØAÕªyçÔúùùñÍ7ßШQ#lmm |>>>„……ñÜsÏQ³fM¬­­qwwgèС„††Þö%ùñóó#88˜~ýúQ©R%*UªÄC=DPP™™™X[[S©R¥BµU”ø‹ú.sMš4‰O?ý”zõêakk‹··7ï¾û.ß~ûíí¾ )fÎ`øâál<¼‘„”> ú”Ñ«F3yãdS¾x8ß„|cqÏî“»¾x8ã~gQž”žÄˆ%#øbçyÚŽOŠçã?>æù•Ï3á§ „ņ™ï gòÆÉŒ\>’)›¦})Ú¢Ý '¾x8«æL#Î6eóæ†7ybéD]Œ²¨›™É„Ÿ&ðô²§9{ål}Ìu1Šÿø˜Ñ«FóìŠgywë»DÄEðO)),?°œÿòožYþ c׌å›o¸œv9O]È™R5~íxž]ñ,lû€3WÎÜìãŽÙ~b;ñIñ4¯ÑÜ"QÉUÉÎòß”àè`7lNTŒ#O´|ÂܦˆÈL…]©Aƒ°råÊb HJ^ll, 4 nݺüù知“&MbÆŒìÛ·æÍ›ßRƒ€€€|GÏDJÂØ±cqtt,±¿ÿâââHJJ*T]_ߺÄѧOáê‡í'¶óìŠgy¾íó¬ _g^ÐÈ£ëF®£ë]±5Ú²iÔ&ó=S7Oåû½ßðÇKPÓ¹&[Žlá¥^âý‡ÞgH³!æ¶GµźðuÄ%Å™Û0Zùêñ¯H¾–ÌøµãÉ2]ßhÅÙÞ™Ïo4/Ú>xö ¾À8ÿqŒóÏI"ÏGòøÂÇ©ãZ‡ÕO­ÆÁ&g#“÷}Ÿ¡ ˜ÔuÏ·}¾P}\²o Ó6O³ˆ!7Æ÷{¿ÏãMs¦¯&¦&Òåó.$_KÎóÝÝYñä j9×2—½ñóæ+—‹ƒ C›å‹_0gÀz7è]àŸÑ“KŸ$+ûÆÑü³ýÏ~V`½™ÌäóŸóF×7èQ¿ Bs)GzÔïA÷zÝ-ê¿öÓk¬ _Ç¢a‹hïÙÞâÚ‘ø#ôù¦}:3ð|¤d”Æß"çáá£cÞ7 ieÉÝ.¥jàÀ¼øâ‹´hј8q")))Z""·íÛÐoñ®ìÍ8ÿqÔq©ƒ“}ÎþÞþ,Ý·”3WÎPÃ)ç@ßàè`ÚÔnCè©P‚£ƒÜl0AQ9›¥ø{ù[´½ t«5fB— ¸:¸²=j;‹ö,â-ï’@¿Fýè^¯;V+îYÈî“»ù&ô&utÃxº7äÝÞïò¯õÿbòÆÉÌ|x&"7° t=ë÷4'*õqïé½LÝ<• ¶Þb8ͪ7ÃÖhË¡s‡X¶€)›¦Ðγµœk‘‘•цçîŽF¨R¡ WÒ¯°;f7K÷/% (€û~À/‘¿°ú`Nõl›giV£S.²pÏB¾Þýu‘þlBN…:Yq«èV¨z箞 =3G¸šG?ÂÇý>6ïàx)åU+æUwwÌÙ€%15±PÏ‘{“’•rnóæÍ¬Y³&OyÆ -`¹îŽîüðôæŠ\þ^9ÉJPTƒ› æÌ•3D]Œâ…v/p9í2Qד•è ¼\½Ì#-¹êV©Ë²˰1欭ëêÛ•Ãçr*„'Z>ÁÔžSÍuÛ{¶§ýœöì?½¿À˜Ü7€=±{X¶îŽî,Ù·OWOsÂP˜>Ž]3–lS6óϧeÍ–æò®¾]i^³9#—ä§¿~â¥ö/áZÁ• Ïm`óÑÍüqâ’ÈÈÊÀÖhKØ©ëSÛVÈ©›ýÈlºù^_«×¿qú~Ó7Ïôµ›Y4lQ¡·¹Ï}ǹ–•s,À¼]ó¨_µ>O´|{öŸÙÏüÐù¬ _K»:íÔ,gæEÑʘ§­Ü²Üw!"’%+åÜÚµk™5kû÷ï'>>ž5jпÞ~ûíÛ’ wƒÞyÈIŒVFsR@'ŸN‰?‡~ ۔͙+gˆ¹È#ò´Ñ³AÏ<_¢ý<ü9B_¿¾åNöNÔpªaþÉAÞîñ6áqá|µû+ì­í™;`n¾çƒÜ¨ÎÀh02;p6³Y‹‰œÄ 3+g;ßã LjOŠgØâaÄ^ŽÍ·ý«é×ù=‹Dr’šþúóiЧ…êP"g±T°©€‡£K†/ÁÎÚÈIÒêU­Çøµãù)â's²â`óÞò›—[VѶb±Ç)"凒•r®[·ne~'­¿ï¨&"w—êNÕó-w²w¢Iµ&ìŒÙI¶)›Àøºùâáè¿·?óCçsðìAþŠû È™6–§ ;§KÃÞÚžÖµ[ólj?8váͪ7˳åmIú%ò¾ ûŽÞ zóé#ŸRÇ¥Ÿïüœ€ Æw_¨6zÖïI@PodB— #=WÓ¯²æÐZ×ÊÙÒÝÙÞ™ '8|þ0~9gO]J½Ä¿ù7i™iÉJ'ïN»pŒI¿Lâã~›§¦mˆÜÀÚðµEêgI¬YiïÕwGw¶ÝÂæ#›éY¿'Óçi[¦–ÓϺúvÅÁÆõëéã×Ç<úz*”%û–`c´)ÔÎf"rïR²"""%¢EÍ8Ú9²íØ6l¶´©ÝÆ|ÍßËŸÏYОß°’r<á8“~ž„—«ÓûäL?}µó«üyöOæî˜KËš-éìÓ¹Àvžoû<[Žnaɾ%¬8°¯Ê^T²«D|R…—|™ÿûáÿ¨å\ × ®œH8Aòµd\\-†t¶wfœÿ8fü6ƒV½@=·zX[Y‰Édâÿ:üÕ*U+ö8E¤ü(ñC!EDäÞd4i[;çùÖµ[[,Rÿ{‚ÒÑ«ã‰'5#Õ¼‹×Ü×Ô[¬˜Õ޼öÓk…:€±‚M–_ʈ–#°1ÚpìÂ1öÞGìåX*ÙUâ™ÖÏиZcFÞ?’!͆`ÂDÄù"ÎGPùóÏÇÕÁÕ¢]G[H=·z¤d¤pèÜ!Î'gd›‘<ÙòÉâ)·à¡†1óá™Tu¬JìåXž=HòµdZÖlÉÒKó$£ÚŽbb—‰T´­ÈÑ G‰8ÑŽ—Ú¿Tè‘,¹wéPH)t(¤Üi÷ú¡‰©‰Ž?Œ§«çM2{9–Ó—OS­R5<]=Íå&“‰ÐØPL&­k·Æh¸¾îãfmŸL<ÉÙ+giZ½ižºþ<û'YÙY´¨ÙÈÙmêйCÔt®I-çZ$¤$pìÂ1ªT¨‚¯›ožXO_>MìåXsýÂö1#+ƒã ÇIÍH¥Z¥jxTòÈwíKbj"1—bp²w»²7‡Î"=3VµZå©<á8I×’ðtñÄÅÁ…ø¤xN\Wu¬JUǼ‡+–£•‘úU뺾½µ==—`D"RÝv²²jÕ*óIµ"¥iܸqŒ7®´Ã{Èã?^Ú!ˆˆˆ”k·•¬¼öÚkæ©`"¥içÎÔ¯_Ÿ*UnüSS‘âV»víÒADD¤\»­d¥}ûö´oß¾¸b¹eƒ.íDDDD¤˜i70)“”¬ˆˆˆˆˆH™¤dEDDDDDÊ$%+"""""R&)Y‘2IÉŠˆˆˆˆˆ”IJVDDDDD¤LR²""""""e’’)—ž=ˆït_‚J;”<ÊrlÅá_ëÿ…ït_|§û’’‘’o°Ø0ž^ö4Íg5§é̦ [<Œ ¨ ;©ˆ”uJVDDDÊ€°Ø0|§û2wÇÜÒå¶ìˆÞÁá?â`ãpÃ:QŒX2‚àè`’Ò“HÉH!ôT(#WŒdCä†;­ˆ”uÖ¥€ˆˆHIhR½ Ç&+í0òU–c»é™éLÙ4…÷ â|qyêdde0yãd²²³x¶Í³¼Ôá%Œ#‹ö.bÖöY¼½émºÔíB› ¥Ð)k4²""""ÅâÁÿ#)=‰7|ó†u‚£ƒ9}ù4mj·áÍnoâêàŠ“½c:Œ¡Wƒ^\J½Ä–#[î`Ô"R–)Y‘"Û~b;¾Ó}Yº€S! [<Œ¦3›òè·’˜šHýõ™¸~¢Å=?üßé¾´ h‹Éd2—Ç%Åá;Ý—)›¦äi{WÌ.-D“™MðŸëÏ;¿0ß·pÏBz|ÙƒF5¢çW=óLúçºlS6Ï®x–z3êñÛ±ß,ê&¤$ÐqNGÚ|Ú†³WÎkþù~ò‹m ý~(³¶Ï2¯÷ðîk~†Édbå• Z4ˆ¦3›ÒøãÆô›ßï÷~oKi9˜¯wÍÛ=ÞÆÅÁå†õBO…ðHãGò\Ë- 9R2AŠÈ]GÓÀDDä–í=½—éÛ¦“eÊry4"(*“É„Á` (:+ƒ ) DÆGâçî@à‰@:zu´h{ÿ™ým§f¤òñcgmG|r<_îúÒ\÷D ^Yû ^•½Ìíþ“•ÁŠOþ„G¾}„‰ë'²väZj9×"+;‹ñkÇŸÏüÁó©îT Xúßû¹&“)'æðµå‘ç#™ºy*q¼ÿÐû¶ÓàÃdegê™nÝØõò®BÕÍ6eóÖ†·èìÓ™¾~}oZ7æR õ«ÖÏs­¡{Ü:‰1…z®ˆ”Y‘[¶!r›dËè-~ý0ëF®ÀßÛŸ Ɉ< ä|ÙŽ ¦ãþX[Y›¿ÜEå$í=Û[´ýsÄÏ<Õú)þxéN8Èœs°¶²& (€Å{óAŸBØ+aëä|©7a2ÿàÌ•3·ýœ[1uóTTmÀðæÃ U¿’]%.§]ÎsíJú•œ:ö•Š/@¹«)Y‘[v£…Ô6Fî¯}?;cv’–™FPt-j¶ÀÑÎ/fmŸEè©PÂÏ…ÐÉ»Sž6ì¬íò”å~ñÏ÷²³ ·&äBòöžÞ @bZ"g®œÉÓ—âèÃÍšEîZ—›­7ÉÈÊ(°â^³’˜šhÞ¹«ÞŒzùÖi:³)‡ß8ŒÑ`ÄÓÕ€#ñGhY³¥EÝÜ)wž.ž…ŠQDÊ?­Y‘áïíϵ¬kl?±°Saæõ Mª7ÁÅÁ…ÀEá`ãPàô¥â”•Åøuã¹|i=§ame͘5c¸’v¥Tû`e°2Ç÷Ou«ÔÅÁÆ}¯î³XÏò÷_s̹­çߊÜÑ¢hS;gT쟛ü½ìþ:yGÕDäÞ¤‘)¹# ³gs-ë|r>[¬hW§ÛŽmãÌ•3tôÕûçhVà,vÅìâµÎ¯1¢åªT¬ÂØ5c™¸~"ó›g1mëNö!w½Kè©PS-Fe5DØÏa<µì)^îø2Ík4§’]%Î'çHüV\ň#èàÕá¦Ï(î5+®®7<ÜòáÁŸþ´8à±£WGj8Õ ôT(ÿýõ¿¼Ôá%¬­¬Y¸g!›oÂÕÁ•õ{kœ"r÷R²"""%Â×ÍGŽÄÁÙÞ™&Õš˜¯uòéÄÆÃ¼Ûý–¤mǶ1o×<¨û/µ ÈY¸ÿl›g™:Ÿy»æñbûK¥^®^x8z°3f'­?mm.?6éïHÈÉV\ÍèU£ó½H³!·Ã`c´á½Þï1jÕ(æ‡Îg~èõÜ ÓzMÓéõ"b¦i`""w9;;×®Ýþ"î’;mª½g{ó4'ÈÙi+¿ß—¤ØË±L\?‘N5ø¸ßÇ#(o<øFÎÎZÿÔåïîTŒVFæœKëZ­q°q°¸f0˜ÑwÐÑ«#ÎöÎØm¨íR›õ{ðùÀÏéè}ç’¾ÛÕÙ§3‹‡/¦ƒW*ÚVÄÁÆ6µÛ°`ðú4ìSÚá•ii9ÿÛÛk—5¹{LÚ'PD¤Ì‰‹‹#))©Pu;tðdԨˌ™XÂQ‰ÈÝäÜ9küý=Y±â4-[¦•v8ròððÀÑÑñVo_©‘‘»œ¯oGŽØ–v"RÆäþ½àãs­”#¹uJVDDîr-Z¤±s§CÁEäž²s§ÞÞ¸¸nKo‘²HÉŠˆÈ]îÁSˆµæàÁ¼gˆÈ½);6mªÈƒ&—v("·EÉŠˆÈ]®Y³4êÕ»Æ÷ß;—v("RFlß^“'mxüñ«¥ŠÈmQ²""R¼øb"?þX‰ˆ®ˆÜë²² |øa|0™zõ´^EînJVDDÊþý¯Ò²eS§º¡=Eîm‹;eÿÿPÚ¡ˆÜ6%+""å€Áo½u}ûìY¸PÓÁDîUÇÛ0{vež{î2ÞÞ¥ŽÈmS²""RNÜw_:¯½v‘ÿþ×mÛt¸È½&1ÑŠ^¨Ž§gcÆ\,ípDŠ…’‘räÅ/ñè£Wyí5Ðú‘{ER’/¾XÌL_}Í•òAÉŠˆH9óÞ{ñ´nÆOÔdãÆ[>5XDî±±Ö \““'møê«³T©’UÚ!‰%+""匉yóÎ2hÐ^~كٳ+“žn(í°D¤üþ{{¬F£‰Õ«cµû—”;JVDDÊ!£Þ~ûÓ¦Å3¾3½{×fóæŠ¥–ˆ“èhF®ÎóÏW§C‡T–/?Cõꙥ–H±³.íDD¤ä ~…îÝS˜1£2cÆTÃÏ/!C®Ò­[2Õªé‹ÈÝ$5ÕÀŽX³Æ‘­[+R·n‹Ÿ¡mÛÔÒM¤ÄL&íÈ/"RÖÄÅÅ‘””T¬mËpááá.\ ãTUUýîQêæ¤ „z'B¨÷òóóûî²ý7$$$š·±¶¶.++k{¬èèh11±æûª©©‘m‚‚‚Z<·ôûï¿3wµgÏæ­gΜ!?†††¶ƇÈ–^^^ÂÂÂÄòºuëØ  ®®®ÅÅÇÇçããÃ<ÖÞ½{;gw&!Ô[a‡PoF¥RCCCÍÍ͉_ùãÆ ýÊÎÎŽ¥VxõêyªÌÎÎ.00ðرc222ä¾m5kÖ,¢åœ9sîÞ½{óæMOOÏñãÇ‹ŠŠ Þ¾}+ @´™?þ;w|||äääˆ5GŽ!š={öŒ<±4eÊ”›7o>|˜ £ÂˆÀ\À ._¾üöíÛ¡¡¡©©©l@£ÑÈ£¸téR²†ËÎÎ&š½xñ¢cqvgRB½põ~ãÆ#~ßÿúë¯äÊ%K–°Ô sæÌ!Öhjj666+ýýýÉŠäÕ«W cóæÍ–ß***b0dñqñâEæÑ©T*±àèèH4=z4¹õܹsÄJ%%%:Î`0æÍ›G†ÑÔÔD4;räKaÔZÌÜÊ•+™#a3€ÍŽ=J¬!&«}7ÎîI BègƒsàB_DEE 666äc,˜gƒEEE™ššÆÇÇ“OÊ Ô××-ïß¿ ,X»v­žžžÁˆ#fΜI4‹ŒŒ$ÒÓÓÉY_•••ÄBaaazzº®®îëׯ‰5VVV¼¼¼dH,Ѷ³éÓ§3d3ÈÏÏ¿zõj\\\QQQ}}=ƒÁÈÎÎ&šeee lÆùƒØLJçŠêù°€C}Q[[K,ˆ‹‹“+EEEyxxèt:sƒ­]»öÓ§O§Núøñã§OŸ^¾|ùòåK__ßmÛ¶ÅÄĨ««“»çäääää4¬ >þL|džQÇû[ü‚mððáÃiÓ¦µ6Ž\O.üxœmøÁ¤ „z+,àB_hjj@jj*¹2##ƒ(ˆ°ÿ~WWWæååå€B¡¸»»»»»gee¥§§'%%|ñâÅðáÃi4ÚÎ;‰­’’’Ä•»¶¸ûÙ³gÅÅŧL™¢¥¥¥¥¥eccM\püøñ#ÑÿË—/ ,,ì?þ4h±cuuõÝ»wóòòˆËš'N|öì<~ü8""bذaõõõûöíc®µ0Úþ‚ìPRRB¬Ÿh4š•••‰‰‰††ÆåË—€B¡?~\RR²Ý###gÏž-!!ѧOŸaÆéêê^¼x‘Ø4a¢KKK(--555544´°°PWW—’’rtt|òä ÑxÕªUÄD4fii9hÐ ªªªNù‚ì`kkK,8pÀÄÄdàÀ3fÌPWWgémÕªU:::]'KÌ?’„Po…Bè !!¡'OžlÙ²EVV¶©©)..®  €B¡ :ôéÓ§sçÎm{÷eË–-Z´HLL,+++22’¸°¨®®~üøqâ>AAÁGýùçŸ***””——'..>þüÍ›7ýˆ‹‹?}ú”8F„aeeuéÒ¥ÿ‚làåå5sæL …Â`0ââ₃ƒ•””Xz'ŸÁÛ¹q2ûÁ¤ „z+ ƒÁàt ¡®OLÏWRR"¦y@rr2qeSZZšåE #55µ¤¤D@@@[[›ùÙfßÅ`0>~ü˜——G§ÓUTT444Zl–]PP ((¨ªªª  Ðârrròóó555UTTJJJÈ)n¡¡¡Í_]@ª­­%®“€¹¹¹¨¨hÇ())ÉÈÈèÛ·/…ByóæMEE¨ªªêééµgccã‹/ˆõ&&&RRR[]] ÚÚÚÄÖîL B¨÷Á!ÄØ/àBèg€—PB!„¸ p!„B\/¡"„Bq<‡B!Äe°€C!„â2XÀ!„Bq,àB!„¸ p!„B\ 8„B!.ƒB!„—Á!„BˆË`‡B!Äe°€C!„â2XÀ!„Bq,àB!„¸ p!„B\ 8„B!.ƒB!„—Á!„BˆË`‡B!Äeø8BˆËP©ÔêêjNGB½Š˜˜˜¢¢"ûíñ B!„—Á!„BˆË`‡B!Äe°€C!„â2XÀ!„Bq,àB!„¸ p!„B\ 8„B!.ƒB!„—Á71 „8ƒÁ€¼<þÜ\¾ÊJ^ƒÓÑ Ôí4=½)):§cAÜ 8„P·¢ÑàßEƒ‚Äž=©¨À‹AŸ>ÖÖ53fTéé5p:Ä5( üË!Ô?ò.Ô§OEÿúK6'‡È:›ÚAƒ>kj6JJÒx°C?Ÿ†ʧO¼ÉÉQQŠfgóÛØÔlÙRª©ÙÈéд÷]¨XÀ!„Ú§c\v6ÿŽr/^ˆLž\½n]þŠBˆƒáá"²YYüNNÎÎe‚‚øÛùç‚B¨ku €‹ˆvvVRQiܱ£ÄÌìs†·£Ñ(W®H>,££ÓpâD¡¬,Ó¡îÓÞ¯[ „ºÖµkNNÊ£FÕäcõ†Pxy Tøûç••ñNŸ®–š*ÀéˆPÏ…B¨ ‰ýñ‡üªUå‡Qñ’BìÐÑi¼q#_I©é×_U>~Ä{ Q˰€Cu•„Á-[œœÊ×®-£P8 BÜCJŠvöìGiiÚòåJµµø›µÿY „ºDy9ï²eÊC‡Öº¸”r:„¸¨(ýäÉEE|[·Ês:Ôa‡ê‡KóðÀ¡CEøˆ„:FM­Éã((H,:Z˜Ó± ²"„:_jªÀÕ«›7—Љá#æê8+«ZkëZww9 g! o`‡ê|Ê Ð0uj§éýh4ÚñãÇmmm uuuuuuÏœ9cmmM,;vŒhvåÊb™™Y{‡øøñã¥K—~ýõW¢“Ù³gwö÷@­Ú²¥$3“ÿî]1N‚z¼½!ÔÉ ùþýWÔË‹Š7.tƒsçÎ:t¨K‡˜7o^NNN—Ú ¥Õhk[ãç'ao¡ÿ´¯€;tèPddd…‚êjC‡ýßÿþ×Õ£&))iõ•™™Yaaall¬„„Lš4‰höèÑ£˜˜øüùó_ýÕ±ÞØD^]}üøqDDÔ××ïÛ·¯ãß!„BXÀq‘€€«oOb[³f¥¥%”––šššZXX¨««KII9::>yò„Ø}ÕªUúúúÐÔÔ4|øðAƒihh—8IlöƦU«VéèèF³´´$­ªªúáƒBýÔ°€ãùùùaßzùò% >zôèÏ?ÿTQQ€¤¤¤èèè¼¼ÔÔÔž>}š“““ŸŸ¯©©©¢¢@l¢P(ÚÚÚì÷¦¡¡AÖ§ObAXX˜\I¾‡‡hÉ˃šššššš­m=þ|Ÿ>}¬¬¬444 %%eë֭Ħ1cÆOëe³7‘æñòò¶­††1(ðóó·ëK!„Bˆp?‘°°0''')))ªªªŒŒŒ¦¦&PPP`¾–ŠB¡çÀýD–.]:a„ÊÊÊW¯^¥¤¤455‰‹‹;99½}ûVOOÓÑ!ôEEŸ½½“¢£K8« –8Y>fg×x{'½}û©õÚ=B¨ë`÷1bÄýû÷+++ããã#""’““ËËËÏž=«¬¬ÌéÐú>*µÎÛûC,zl`,Xâdù˜]ííýáÍ›ÒN!ÔuðêOGTT”¼Ã!.¢¨(¼v­á!¬“59®ÇÖ¶®›KBÜ 8„wPPZ»¶/é6=6°¶uEØ\z(âFXÀ!„¸CQÑç«W³† ‘c>ÁSUÕNÍÍ­ä0@ÒÜœõÜƈŒ,NN®lj¢÷é#fi©((ÈKlÊή¹};wÔ(Eéèè’øøO‚‚<£F)ji‰±tòñc]hhaUU£žž¸¥¥RJJåãÇíìTuuÅ›Æ~·mÄÖ Z<ž@§3""Šß¿/å·´TTSaÙ13³:>þÓÇubb|&&2HµÝçws„ê,àBܘ_Å|….88ßÍíMUU#ÙfÐ ™cdž((ãâÊÖ­‹ÉË«%(+ ûøX51ëKX˜÷ĉä'O> xy){÷š:8h»\¿žíîþ¶¡N1i’š·÷}} ¢€c ŒÍnÛŽ­EGŽ$1m"Þ¥KÙ½!©ùñ€úzú¯¿¾ˆŒ,&>òñQ¶l1Z¸P‡øX[K[¾<2*ª˜¹ŸQ£,,Ì×bŸßÍB¨c°€Cq¥*Ö¯ijbI›™ÉTWÓž<)xó¦lõêèë×-)Èϯ]¼8¢²²ÑØXÆØXZ@€'1±<*ªxÙ²ÈÇmÅľüô;w.­ººÉÞ^]QQøÝ»ò/Švìxkk«,.ÎññŸ¶m{C£1ÌÍå”úô©ááÂãÇ“¿^Ûݲ‹£G“h´¶*899Aö ¸Ö®­m²·W——z÷®<2²x×®ø¾}%‰‚¬¦¦1*ªxÀ)CCI99ÁÊʦ—/KÂéǎ%oÚÔ¿yoßÍB¨Ã°€Cq¥3gR›š‹ënÙbD”¿ÿÞßÁ!ôÍ›²¨¨â¡CåOJ©¬lܹÓxÞx`#++H6¸p!½µÙlßÍB¨ÃÚWÀYXX€¿¿×ƒz …²~ýúÇs:Ô™fΜÉé:Ó/¿ÈÞ¾{øð{7·/¦./o8u*…ØÆ)\»–¥©)jo¯Î¼cRRq'; ’ Ê;y2…¼ŠZPPëïŸýƒÁw,¶n˜wçNž““.yõüù´ÒÒzkë//k¡P(||ægøø$WT4HI ´ØÛws„ê0œ‡âJK–èÝ»—wölZll™©©tuuÓÓ§…eeõ&&Òò°r¥~ppÁƱçϧK‹‹ó×§¤T&$|:wn˜ª*ëãÍZ´h‘î½{ù‡½þ¼hà@éOŸ>ÌÿZÁ´YLµ©c±uÃ8aa^{ûÐqãTäå…Þ¿/ˆ(¦P`É]bë A2 Ÿ&O~:fŒ ¼zUúî]ykÕ°‘#„P‡a‡âJýúIzy vs{WWF¬$ž1F\ÑSS½xqÄÆ±‰‰å‰‰å䎆†’lVo`l,½s§ñŸÆ¿|Yòòe ˜˜H­|øð{‘Žÿüì”Øº‚““î³gÔÛ·s‰Äsàȇº­]kYœšZyþ|±u×®AW®d0?ÍŽÙws„ê0,àBÜ¡ù{6ÇW6L><œš—W+ Àcd$mnþÍ…¹~ý$ïß·yýº41±¼®Ž¦¤$Ü·¯„¡¡$±USSlíZÃAƒ¾Ù…X9pàOÓutìci©ZX]ÝD¼‰aûö·Àt›K`lvÛvl]%Îö°_¾\ïÙ³¢ää >++%æ{i¥¤‚‚¬CB>feUKHŒ¥ ¢"B§3*+ZìØÈB¨c(Œ¶§T|‹˜Cƒsàz=œ×+uÖ¿T*µººººº:ÞÞT;»¶Úp‘ÄÄòþý¥È3F‰‰å³f…‰‰ñGFN`¹;¡®ãì¬GŽP9ê*bbbŠŠŠì·Ç3p!Ô–¿ÿþ‘Qef&'##™YZH£1.ÔÆê !ÄAXÀ!„P[ŒŒ¤þý·0;û¿çkLŸ®ùÛo}ÛØ!„º§à&¤P(ÿþû/›í]]])ÊÛ·o»2(Ô- ØN=¸º…˜ú^aíZÃÐÐqžžf›6õÛ¹ÓäÁS>><ý†â$<‡Bß¡¦&Â<—!„8ÏÀµÃ¦M› †••§AÝnÓ&`0SB¨gÀ!„BˆËpYGÎ*»pင„„455wîÜI§ÿ÷*åùóçS(”’’払ååå,ýøøø 80((jjjÖ­[§¢¢"$$4räȸ¸8²“æsàrss—-[¦®®.  ¤¤4wîܤ¤¤æa;v¬oß¾BBBÚÚÚ»wïnjj"7•””üþûïúúú¢¢¢JJJÖÖÖ7nÜh׳]¸Oq1¨«ƒœääü·2<øø`Ä`:8ß g•]¸€hjÂÎÀ”z˜?(ø6õ_V~Mýýøø€ ÃÀPSëÖŠ  ÁÈ‘À”úæÀåæÂ²e ® ¤sçBK©‡cÇ o_mmؽû›oWR¿ÿúú * JJ`m 7n@ïN=B¡N•sàŽ9rîÜ9b9''ÇÝÝN§ïܹ³½ýzô¨²²2##ÃÆÆ¦  ÀÏϯÅÝ×­[WTT4jÔ¨ØØØšššwïÞ988TUU-[¶Œ¹Ù3 §ž IDAT7<== ÊÊÊ®\¹"##séÒ¥§OŸ@AAALLŒ¡¡atttMMMiiiXXØŒ3xx¸2/í`ažžðò%lØMM0gƒŸ¨¨|gÇ+WÀÛ  ².]>>8z´#g­nÞ„“'¡¨JKÁÍ šš`âD RáÑ#¨¬„Œ °±‚h%õ°nÁ¨Q 55ðî88@U|›z¸q<=¡ ÊÊàÊ‘K—àéS€‚ˆ‰CCˆŽ†š(-…°0˜1z}êBu®<·}ûvgggbyÞ¼y·nÝ ÈÍÍÕÐÐhW?;vìX¾|9±¼{÷î3gÎ?yòÄÔÔÄÅÅ÷íÛgnnþþýûæûÖÔÔ7~fÙqÉ%6º6,+ÓKÓo&ÞL-Nåçå¤:h¶ñl1A1bµšºáö†J¶ØlaÞ%89Ø7ÖWNTnÏ„=â‚âýýB=WpmSPP€ÌÌLbjkk£££;w--->>¾gÏžUVV’ÅF{ôèèêê’->|hcóßÏè€ŽŽ¹F\\ÜÞÞÞÞÞ¸{÷îýû÷wnÀ=ÎÇ0gÈ˃‹ lØ‹Ã?Ú'‘ñÌLøšz¨­…ÎN=hi<{••ÿ[4y"fÝ—›]>7~~™û’÷›ŸÛ nÜäDävßÕB?®¼„Ú¶þýûÀÆ“’’êêêÞ¼yãààŸŸß¹£ˆŠŠN˜0J¥N:õõë×µµµ>|pttLLL411!'À€——סC‡ ?}úäçç·nÝ:˜1cÄÄÄLœ8100033³¡¡¡°°ðæÍ›‘‘ѹÑö8MM0{6””ÀÕ«°~=¬Yàéù£Ýöï°q#$%A]¼yÐÙ©QQ˜0¨T˜:^¿†ÚZøð!1LL€)õàå‡Aa!|ú~~°nÀŒ110q"Bf&44@a!ܼ ÐëSßë”Ö–*‹+/¼dŸÝ¾³³ÎnµÙª(¦˜_‘ïzß•¥¥¾¼þå¹—™ÿ7Fo sƒ»îîyº‡Œ™gw8~vÖÙ•CW¶=úå7—]î»(‹+_[pM[V»“¿B¨ë…gà·mÛöâÅ CCCbªªêرc‰scÈËË+:::44ô—_~!WЉ‰>}š¹™ƒƒÃÆ7nÜH®™7oqNŽF£Ý¿ÿþýûÌí)Êܹs;7ÔÇÕž=°´8tbcÁÕ† #:Þ­£#lÛ/^À×Ôƒª*Œ zðò‚èh ¦Ôƒ˜|›zpp€)õ0oÞ—sr4Ü¿ߦ(èõ©ïu›/Þ0r9)ÂRÛÒVßvÜéq1¹15 5¢¢dKqAñ!CZ막޴çéØg·oÚ€idoË-–·¶Ë©¨Sûÿݯ#«sÑñ¢‚˜BkÍB½R/<'$$ôðáÃqãÆ‰ˆˆHHHL›6-""B^^¾³ú'RkkkÇÆÆ.Y²DUU•OAAaΜ9111ÌWW׿ÿþ[OOO@@ OŸ>»víú矈Mƒ¾ÿþÌ™3ûôé#((¨ªª:eÊ”'Ož888tV´=ÑÍ›àé S¦ÀæÍ_Öðóƒ¿?HKÃìÙ-ß7À&!!xøÆ€iÓ ":/õÿM_ÓÖ†ØXX²TU`Έ‰oS®®ð÷ß §ЧìÚ_SƒÃýû0s&ôé‚‚ ª S¦À“'лSßIŠª‹†\r}‰ó-çÛïn³ûS¶¢˜¢­¾-óeÖìOÙ6'm†i ë+ß÷|Ìy“s³ÎIá]/?ggE8räþÄE=›˜˜˜¢¢"ûí{á%Ô.’ŸŸO¼kKKK‹Ó± î•Ÿÿå][˜úàBì…>2}Ö\//*ÿŽúîtôéI´fœ g_ž€…¿,¦5Œ‡/ëSÖww*?W¶ÑáËÜ—mpr¢ríŠÐý‘{=­ÞÕšu\nynny.±ô>èdÔÉs³ÎéÈ~¹©¥°ªê›êíÏÛ×4Ô+o$ܰïopÒAæ“|Ñ9ÑYFÊF¾Ž¾,÷º"„~XÀ±å·ß~;yò$Œ9²]2âz¿ý'OŒ ˜ú@^L>ð×@a~a­;ÚLÍl¾ßüko¯Ÿ¾œþvÛídûEf‹ªêÛzRàEÇ‹m_ˆàçåg?¼ƒao¿»ýǘ?«f^/#"3¾ïx#e#~‘ôÒô+o®ä–ç® \ué}^ /4ÐàdÔI}yýù¦ó¥„¤Þ¼=sîö»Û3g’]I K—ו§•¤%&²Œ‚úy`Ç.™Q£Fùøøp:Ôídd`Ô(ÀÔ÷ vvDõF°Ð´P“TK.N&>.·X¾1hã†;¬u­  µeµy(V~òl¢±²1”Ö”2·)©)fÅa\ßq^ö^ëo¯wºîtaÎbw„ÐÏ 8„7yœúøFÂéFÓ ®±n냭µµûM$¶îÿwÿt£éäŠbŠü¼ü/s_¶ÑáΫ®¯^°,6/vçØóLçµØæ~Ò}!>¡Ñ:£‰{šèMWß^ zÄËÃK^ª5TALáqêãG)Æê€ªúªwBëy'L 3èÿ úߢ«‹.̹0Py`q"„z,àBÜÄPÁÐåžË¡°C â ™e™ÕõÕ"ü"ä þ‰ùçTÔ)u)õ†¦†Ô’Ô&z“¥¶eþà8ÏpϘÜ1A±{îÝûpyÓ^»½ÄÛ´Þ¾;uR˜_X]J]€W §<‡¸1vÅÊÊDc^ ï¶1Ûœo9¯ \¥&©&-"QšQÓP#-,ÝÆ³|'N¤Ñi›ïm^tmÑEÇ‹ýûÿÈwAq,àBÜdÚ€iÖºÖ§¢NQ«© %­u`Ò ) b««µëÕ·WSŠSÊjË@€WÀ¾¿ýV›­]ñŠúêúêæçùjk‰…Iý&eÊ~’ú$¥8…X£,¡¼lȲ¦ ˜ÛO0˜à9Ùs_è¾¼Š¼¼Š<0U5ýkÂ_JâJm0¥ÿ06ßÝüëÕ_/:^4T0l£1B¨×À!Ä*¼<÷²¦´¦’¸’“¹SfY¦ˆ€ˆ®¬.ó3Òþ²pá/ ËjËrËsEDT%U»úIiˆ,›:`j‹›È—Ù*v´¾©>§<§ª¾JALAMR­Å]ìûÛO2œ”^š^ÝP­*©ª(öÍ“kÅ/Ͻ,!ÈzC†}{}9ýÊúJhÇsÙ÷a09êA°€Cq)a)ò]¢BÆ*­NÛ—‘‘‘鞨´eµÙ|‹¼ Ÿ žœÞw›ñòðêËë·¸IˆO¨µ·©*≷^1zÓ¦>ÎÎΚššœq^û ¸¨¨¨¼¼<–ÿ¡^ÉËËËËË‹ÓQ N¦¦Öò‰„PÇ`Ð55W¼zµwܸqsæÌY¿~½””§ƒBœÔ¾NOOOXXxâĉ] ê!¼¼¼ú÷ïokkËé@Pgºwïpq) …WMm¿¿u`` ——WPPК5k.\ÈËËËéÐg´¯€“•••••Åwœ÷z^^^¶¶¶˜è^&//Ó! „~߬Y³&MštüøñܹsgïÞ½œŽ q§@!„P;ˆˆˆlÚ´)((H@@`êÔ©>>>t:ÓA¡î†B!Ä}tttüüü\\\Ž9²xñâââbNG„ºp!„WâááY¼x±¿¿~~¾½½}||<§#BÝ 8„Bˆ‹õïßÿæÍ›}ûö7o^pp0§ÃAÝ 8„Bˆ»‰‹‹Ÿ9sfúôéëÖ­»qã§ÃAÝ 8¸víš••ÕÛ·o9«w¹sÍê€ÕÛÜw{l`!nÄËËëîî¾bÅ 777???N‡ƒºp››V^^ÎÁ.^¼hee•À¼²'Ö ä–冥„•×r4¿‘­X%ä›ßB¨—ùßÿþ·nݺ;vÜ¿ŸÓ± ®…¯Ò‚Ù³g›™™™˜˜p0†ììì°°°ŠŠ æ•=!°^`¶ùl3-3uŽæ·,;,%¬¢îÛüö€ÀB½ÏêÕ«ËËË7mÚ$##caaÁépPWÁ3p ®®neeÕßIÒcã.ê2êV}­¤DzÜaì±q— 7t÷é'™¸ð1AwŸ®÷soÎFÕYò+ò/¾º¸èÚ"ƺûtÃ3Â9ânnn666ÎÎΜŽu•î8WWWçããÆ`0F޹zõjooïàààÛ·oKJJ’ÍBBB233ùùùÍÌÌV¬X¡¨¨Hl:uêÔ•+WΜ9ÓØØxìØ±´´4EEÅE‹=še,v:©««;uêTJJÊÔ©SW®\yíÚ5///æs]aaa7nÜHOO155]±b…ŒL«ïƦÑhW¯^ ¦R©222ÖÖÖ .b·ªªêĉÙÙÙ***NNN#FŒ lܸ100œ‰bbbâååÕ<06úîQê\uu>ÿú„%‡1€1RoäêÑ«½Ÿz'ß^s[R˜)¿I!¯2K2ùyùÍ4ÍVX®P”øššðSW¢¯œùõL#­ñXè±´¢4E ÅEÃ6h–_6:©k¬;~*…š2ÕdêJ«•×b®ùüëã5Ç‹ù\WXJØW7Ò‹ÓEDL5LWX®m=¿tÚÕ˜«Á‰ÁÔJªŒ¨Œµõ¡ …ø¿ö¯ãV}®:v"»4[EJÅi„Óݯù½¾1ðu 8_q&ˆ‰º‰×¯æ±9ÐwêR±y±s.ÍÙ0jÃêa«»z¬é¾ÓKjJºzÔûðððìß¿ßÁÁÁÙÙùêÕ«üüüœŽu¾./à***,--ãââˆAAAþþþ:::aaaÄJ:¾xñb___r¯   ooïG™šš@FFFXXØÝ»w·nÝZ[[K´¹xñâµk×fΜٮNÜÝÝëëë ÿþÐlªF[´hÑ¥K—È~öíÛWVVÖâ+çjjjÆÿüùsr͵k׎=úäÉr\ww÷††¢Íùóç9²f͈‹‹ËÊÊ–ûXcs ¶R§«¨«°<`—û5¿qAþ±þ:ò:a)a´¯ùeП_ìÉ”š¸ ïïG™j˜@FqFXJØÝø»[on­møyÔÅk˯Í4›Ù®N^¸ßq¯oª€þ*ý¡ÙT3¶èü¢KQLù}°/x_™W/OKù­¯ï5þyÓa¹v4äè“OÄÈqýcý݃Üš¾æ÷Åù#ŽGÖX¯€¸¼¸¬Ò,`¹_%06jû(!#e£4×4NGÑiT%TÇ÷o£gœ|-î§ÃAÜDXXøØ±cS§N=zôè† 8ê|]^À¹¹¹ÅÅÅ©««ÿþûïÚÚÚÉÉÉ,•Êþýû}}}µµµW®\ihhX__ÿèÑ£Ó§OÏ;÷ýû÷<<_®óº¸¸Lš4iÆŒbbbwîÜ9s挛›Yš°ÙÉöíÛ'L˜0kÖ,UUUuuõæïÞ½ûÒ¥K"""«V­}úô† lmmûöíëéééíí}îÜ9ooo###hñ²)›µ}”:[ [\nœºŒúïã~×–×N.Löö`©Töï÷ôÕ–×^i¹ÒPÙ°¾©þÑûG§ÃOÏ==÷ýŸïy(_ó{ÃeÒÀI3~™!&(v'îΙggÜÝÈÒ„ÍN¶ßÞ>aÀ„Yæ³T¥TÕeZÊï½Ý—¢.‰ˆ¬½j°Ö`^ÞWÙ¯N„`@+ù½¹åyÚsyqy—ñ.†Ê†Y¥YLÈOøíâo«˜ò{gÇøã; ñ 'Ÿ~vzõ ¶ýlû*õõœééâ}îù9oGo#U#hñ²)›µ}”P/sã×/σxšú”³‘ n¤­­½yóæÝ»w3†øå‚z“®-àššš|}}ÅÅÅ###UUUÀÎÎnÒ¤IÌÿ’ Æ¡C‡”””bcc¥¥¥‰•ÒÒÒûö틊Š6l±rÁ‚gΜ!–'OžœššVTT¤  À~'öööþþþ­L§Ó½½½ùùùÿý÷_sss²>¾ŽUSSÓ¹sç„„„ž?®¯¯O¬œ={¶Á­[·¨T*ywÒ¤Id™5mÚ4eeå;wþóÏ?{÷î566îÓ§ 4ˆ¼®ÚáÚ8J­}ëk¢7ùFúŠ ‰GºEªJ©€‘Ý$ãIF;¾ÍïãCJ’J±ÄJ‹|M©ƒ´ˆô¾û¢2¢†é|ͯł3¿~Üxr*55,%¬¨ªHA\ýNìMìýk=¿ º÷So~^þ7ÿk®eNöã2Þ…§¥üÒ›Î=?'Ä/ôÜå¹¾â×Ãn6Û`›Á­··¨•TòÈ2kÚ iÊ’Ê;ƒvþñÏ^‡½ÆêÆ}äúÀ AäuÕÔÆQjí[÷&•Ÿ+…z˜ò°òs¥žœÞÚkY$|L˜vaÚÚk‰MááN×¶Úlí¯Ôÿpøáw…ï´eµo-ºÅ`0â®Ç_O.J¦1h}dúÌ1™3oÐ< …BôÃ`0â’Š’htšŽœÎ“93Î8yâpøa8~˜X€ÞtÎõ2óæÍ»ÿþŽ;nܸAþóF½C×p555Ó§O'ª7‚žžÞðáÃCBBˆ™™™ÅÅÅòòòÄY"ƒAœë"^ë–””DÖ^sçÎeîÜÔÔ4,,¬´´TAAýN.\ØvÀeee¶¶¶dõFh­}uuõ„ È¢ deeg̘qâĉøøx[[[b¥““óŽNNN;wîdÿµ'ìÔÆQbs,öegÔÔ×L7NTo=½áºÃC’¾æ·$³¸ªX^\~扯©W@ÒÇ$²öš;äÛÈ5MÃRÂJ«KÄØïdáÐ6ó[œQVSfÛÏ–¬Þ­ä·8£º¾z€ dQ²b²3~™q"ìD|^¼m¿¯ùñm~G8í ÚŸÇv~Ù¨£ÄæXÜ«¾©~Þ•yŠ> WÜXag`÷Ý_ç¿Þ²Æ Ag0›înºýî6Ù ©(Éý‘ûê‡=öƒÁXgý½÷È >&¨Iªµ+à¾ûûÒè´6ȉÊE9Gµ«O„Ú…‡‡gÇŽöööAAAS¦Lát8¨3umWWW-]$O’@uu5?}ÚÂ5r.°ÜF 4­]¨©µõ#˜XNN®6Ì>þÜ<0r ±•ÀrˆÄp;PG©ÓÕ5ÔAKÉ“dP]_ ÅUÅO?´”š¦ü~{¯¿ÿØïDMºÍü6Ö€œÛùmüÜ<0r ±•ÀrˆÄp;PG©×ó}åû¡èƒ¶¬¶»­»‰ªIYmÙé¨Ó—ß\þÌ4ž¹|Èr ) ^Þ[‰·n¿»ÝW¾ïï£7V6äL,LüóÉŸ×â®Í8cê €„€{îI KmµÑJÇJJX*­$Íï­?/ÿêa«‡h é¶›úqÓ¦M;tè]‹—’—êÚ\ª¨¨À›7o˜WÒétòžPUU¥P(æææÍ{ÐÓÓcg ö;iû2ÑÏË—/Ù¹mGYY^½zE§ÓÉiv_¿>áõë×Ì—Gccc‰á˜£jmš]»êN*R*ð&çÛü2èqyLù•R¥P(æZæÓ[J"{ùe»“ïäWJ•B¡¼Ì|ÙHkäçe#¿’Êð*ûA'§Ù@LV |ýú„×Ù¯™/ÆfÅÃ}‰ ¾—_¶ú™'S(”cÓŽéÉ逈¤ÈÎq;3?eFdE´½£‰ŠÉ_ãÿ"ÿm$ðòðžŸ}^AìËiKsuóÓ?3þIê“Aªƒàoû¿‡k '))·{ QòïÉíÝ¡®àìì|óæÍ{÷îÙÛÛs:Ôiºö9pòòòÆÆÆ¯_¿Þ»w/N€¦¦¦­[·¦¥ý7eDVVÖÒÒòõë×)))Æ ³úJSSóáÇl^øë”N@FFfäÈ‘éééK—.-++#VVWWïÙ³‡ˆ¿ù455MJJruu%nªe0ÞÞÞ?VRR266&[îÞ½›(Ú ;;{íÚµ0vìXb˜˜¤§§·ûu'yqycuã×9¯÷ÞßKgР‰Þ´õæÖ´"¦üŠÉZê[¾Î~BM¦3̪¯ñ?MY͇ï²yá¯S:Q™‘z#Ó‹Ó—^XZVó5¿õÕ{îí!âoþM5L“ “\o¸7Õ2 ï§Þß?V’T2VgÊï½ÝDÑÙ¥ÙkýÖÀØ~_ó+$éÅ­ç—í~fÙåÙŠbŠDõFÕgÔww®5œ¹²O-N¥Ñi#컿¯¾‡¾ž‡žž‡Þø3ã  ²ÒKÓ%…$Éê !n§ªªjggGNF½C—ŸMݵk×”)S¶lÙâå奩©™™™ùéÓ'##£„„ò©GŽ1bÄŠ+6mÚ¤­­-$$”••E¥R`ÇŽl>À¦S://¯#Føúú^¿~]GG‡——7))©¡¡ÁÅÅ…ùÔiÿþýcÇŽ=pàÀÙ³guttrrrˆA÷ïßÏ|²ZMMmÈ!zzz‚‚‚D‡&&&³gÏ&¶4V¬Xqüøqâ9p¨›í²¯ø. IDATß5åè”-7·x=ñÒ”ÕÌ,ÉüTûÉHÕ(!?|*ÇÇ##¡¬Ò,j%vLÞÁΙ°Îê¼f{ðáé{=öºŽ¼/oRaRCSƒËæS_¤ý3ö=<öÀÃgŸŸÕ‘×É)Ë!Ý?}?ó}jÒjCþ¢§¨'È'Hth¢n2Ûük~ÕÀŠ‹+އ!ž×±PH s›(Ö[¼îL>û¦Sà8Ôs,Z´húôéqqqœúƒuº.ÃäÉ“/\¸ ##STTC§Ó/]ºD\:$N;À€¢££íììjjjââ⢣£©Tªžžž‡‡1…‹Ò 4èÙ³gÇÿüùó»wïâãã…„„þøã666AAAºººeee111T*UEEåâÅ‹ ,`nö÷ßÛÛÛ'''ÇÇÇ744ØØØÌfû†¦†Ä‚Dè§ÜΠk»i ó gîk–ßºŠ´¢4:ƒ®%«%/ΔšâŒœ²3-3²æ#Wšk™‹ Šv¸È-ËM/N7Q7a¹Ï€ZIÍ,É”–ÔUÐeç^ZQñ‚¥oó{ÃÕ#ØãÍö7&ê&ùåù9¥9ªÒª2-å·ª(½(½¾©^JDÊDݤµÀZ¨]G©Eþï—•J%nj®®Ž·7Õή­6p:ú´G¨‡¶¬öα;UŒ™ob8:íèø¾ã¡õLj,6_Lös#á†Ë=#e#çáÎ&*&â‚âEÕE)Å) óͦ5Ì?Þßí¾›ŒˆÌFË–Ú–’B’é¥é~oüìØVœ^š>îô¸¡šCL=Ârn¯ë¸?r¿ôúÒ¹YçFiÿ’1ꕜàÈj‡{ðññ9wî\TTTkç#g‰‰‰‘OcGw\š9|øðÒ¥K‰×!TVV®^½šJ¥®X±¢yKIIÉ_~ù¥ùzmmmmmmvV¶·PWWoñ‰¾ŠŠŠí:”ººººººm·QUUe~¢ æéz­ÖÚ@í:JèðãÃKG.%^‡PYW¹úÊjj%u…eKù–üE³¥ÔÈkkË7‹¼¥•ííÔeÔ[|¢¯¢„"ùp5vè*èê*|/¿RªÌOTa¡ ®À<]¯µÀZ¨]G©WZøËÂ;ïî|(ú°ÀïËYI …2Ñp"óó>Øá0ÀáeÎË 7–,gÙ4Ûx6L7š–œ¼õÁVæ­v†v %­¥(¦™iö·±¾ëž·1h#óãNœ®yZ Y°"ľ1cÆxzz&&&âUÔÞ¡; ¸mÛ¶¹ººç±RSSkkkÅÄÄ\\\ºahÔ ¶ÝÞæèJœÇJ¥¦Ö6ÔŠ йŒÇü¢N&È'xyîeÏ0χ)«ê«tduÖŽX[ñ¹¢½…Bñ˜èa©cyííµÄÂÄÚÆZ%q%‡Ãû  Ï‘©G®Ç_÷óO.NæåáÕ‘Õ™c2ÇBÓxyx9Û²ïõûOŠAˆãôôô”••Ÿ={†\ïÐܦM›¼¼¼Þ¿O|8pà©S§ˆw ^`ÓØM^O¼Þ|ͯÚÀS Oï@¨sIIì·sç¸Ì+§M'—YÞ…:J{Tk§Çì ìÚx0…B™m<›8!ל‰ŠÉÕùWÛz‡xNöôœìÙ ¡ŸÄСC_¾|ɩѦM›¶víZâ9 =Gccã™3gnß¾““#,,lff¶~ýzCCC–f±±±Gމ‹‹£Óéýû÷_½zuó—'±Ó¦³tùM àîî^RR’šš‘••7dÈn·‡X¾|yhhèw¯®r/÷)î%^%©{R#\#²öeÅíˆÒçgÊï¨å¡›B¿{u!„8ÎÈÈèÝ»wíšûÞ1±±±ºººÇŽëê~F[ºt©§§gZZZCCCEEÅÓ§O§OŸN=~ü˜ý6 8„Bè§ )))**ZXX®««{þüù—/_:::8pêÔ©pýúu]]Ýàà`潈•dBîûöíÛ¹sç™™™mÞ¼¹¼¼œhpìØ±9sæÀáÇu¿€„„]]]ooo–~¢¢¢fΜidd4bĈ'N[}}}mmmûõë7vìX–« ÃßßæÌ™ìß¿ÿ¤I“.]ºÔáëÂ%%%À2ãøM|$.§²¼ˆŒøHÎ)d§MçÂ'¼#„B? %%¥?Ézýúõ¾}ûˆ …-¾.² hhh€ººº›7oæååùùùµ7ž·oß’1ÔÕÕ|€¬¬,âcvv6èëë3wb``@nb³MçÂ3pý¿½ûŽkêz~BöÞ{ÉYRQª¢VTp[ÔZwÛ·uUÁâjkEªuƒQQ@q072dï Ù#$yÿ¸þ®i€$,!ò|ÿè‡{rî¹Ï¹©òxï0^HJJâÊ"""-ZôèÑ£ÜÜÜ»w層wï.^¼øñãÇAAAŠŠŠ‰‰‰XÞ³yóæ7n „vîÜYð?ýµóàÁƒU«V=þ<==ýÔ©S$É××700ðÈ‘# IIIß~û-FóóóÃꇅ…………éêê^ºt))))==ýúõëúúúAAA)))ƒ¸!¶¶¶!OOϧOŸ¶··×ÖÖžb‡'|ŒøøøzŸ8ˆ_}¶Ó» û¡Ï!n ûa@càB?ýôÓO?ý„—`ŒŒ°Cl´¼¼Zº´ïÍ‹ÙJMMŦâ,--wíÚ…’Édooïõë×ûùùáóa ‚———   çu†,#à‰å‰³ÏÏÞ±ûdÌIß_ [ëãû¾ýãçš–ßß×e¯G7αŒí=,dÕdùÆøÔO.2*êêêð±ù}:r䈫««¸¸8Ÿ©©i@@À Þ‰ÄÓ§O›™™  !Ø>„cÇŽùúúZYY‰‰‰‘Éd•Ù³gŸ9sÆÊÊjpmž?~Μ9RRRFFFð÷÷çççg¬ckkhii)$$$ `nnîïïïìì<Ð:ÞÀ¸†oŒo¥ÃYÏYSJ“‡ÀCæ![ª[ò‘ø¤¥G;4®÷p<«©©immÕÒÒ277ï¨¨è‘#GŽ9‚—L:uÉ’%ø¡­­mïs{š˜˜`«Áá°½PY·³{÷îÝ»w3öÞÞÙÙy£I“&>}šm533³+W® ½ÎpÀ5 ë µ¤µ|øâ%VêVVêƒüg÷ø÷p<æ &Œv ` wøðaEEÅ5kÖ {ËC4fãЉÿðá׊ŠBkÖn½ÙÀ8Äíñ´E/R«R?t| ‚oŒ/Ó§¬ÇoQéÔ¸’¸ÜºÜZ†¤Æ Í|¤‹”6–†e†ÙjÚš(š¼.{ýöÝ[>Ÿ­¦­º„:S#Å Åoß½}×üN˜OØDÑÄHþÓ7…72IaRlIlvm¶¸€¸£®£ŸB¨ƒÒ]ÙT©,®Ÿ‘¼‘¹Š9â…JyYü²ìCNW“P³T·ä'ýç=ÛþV·T?-xÚÜÕ¬-­=CsFÞû<¶cÎðûo¬`üºìufM¦¯Ð2“eœ\ŽÅ×Úg<ƒèò˜RTT$..Îú*à#’À™™™zžÑÛ˜ ¬·ƒª««¯ZµŠ±pŒÄøp¼™™üÌ3Æl`½<§®.ºj•!c!Å?*^½¸œt!TÓZÓ;ù˜­3»¿.­*m{ØöЦ ¼DATáÌ¢3دêÒÆRß_²ÀÙ¸³ÑùG1yˆGœŽ,š¸;l§´oÞ_ÏØ¬­¦íé…§Èx#|$>Ÿ—>1Å1X…ãÏ__~B¥¬»¹®º¥+4”3¼¹ò&žC°Ž­OÇüMG¬–Ú$ zLóèó#ÎïadnäîðÝ-]Ÿöÿ1U2=½ð´¬°,‹K§U¥}ú]]k^"-$}Òå$>¡„mo½½u ê@7µ;4Q4™g0Ï7ÆWGF‡uçãËKäÅï¿¡œá2“e¬/Çökí/žuy¬III144d_pƒáOàöìÙƒ­¤<ÖŒÙÀz;xð S7Fâß³ÇBQ±ßL£hÌÖÛÁƒ±vv*L Å?*l5mEùEÏÆ•Xjòi®Ù«’WÉÉýUÙT¹öæÚæÎfcEccc^oFuF|iüúàõÖ?æƪù%úµvµººÈ‰ÈeVg¾*yuàáÙ:³±Ghm]mñ¥ñFòFú²úÒBÒÍ]Í e /Š^œŽ=ýÓŒO+ú%øuöt~3ñ A‰Wů²k³<þ|sg³—ƒ×òÉËñÂËI—½£½ïfÝu7uÇJ(TJ„G„²˜2v¸+|WðÛàÄòÄ™Z3BÂ|·VÞáI®L®o«'ÉŽzޝ+žýINJJš7o^uõÇ& çÎóòòÚ¼y3c‡Æa³¬cëëþâ×}ûö-ã$í+Vøûû“H¤²²2///„Pqq1öBÈÎÎKà8¿±vp˜†jeeÕ/\x'/¯‘! á›7ç[Z~|Û[SÓîî~ÿÉ“2¼‚  ùÔ)ûµk?fZ^^±..Z¥¥Í»w¿À·Ñóð˜xáÂü”¤¤êyónWWÜ&YAAèÜ9/¯ØÍ›M¸OqØ,ëØúĺ¿øuß¾­;räÓRd+Vøû;’HgÎ ‰Â°°0}}} ¬øøø{÷î999VVVÞºuëâŋ˖-³··Gµ´´¸¸¸TWWëèè888ôôôDEEqòšŸu³Æ6 þbÕbccð떗—‡††^½zU[[{ÿþýªªª`šÄ ®®>¸ ±îàе·SœCJK›UUEœ4xy‰ÑÑ¥ÙÙõsç†ff®UP¢Résç†&%U««‹Í™£.!Á_Xø!,¬ÀÃ#J__ʳêÞ½B''MCC©ÊÊÖ[·r/^L_¶LßÞ^!ÔÒÒíâr§ººMGGÂÁA½§‡UâáÅ6<ÖÍrÛ€ú‹U‹­ +prÒ04”./o Í»z5K[[bÿþ骪"X<«®.†SWÜ…Xw „DùE»©Ýë§­ïýç+é?+|ÆOâðˆ”ÂJètú¿IÿñáàbÊ8Nã}×ü®³§“1‡+ûP†ãCñ“øßÀâÕx<‹'-^>>ø€µµµ·oßvqqÁçÌ™³zõêððp,¹~ýzUU•££cXX///B¨½½}öìÙµµµ¬ÃcÝ,‡± ¨¿XµºººË—/¯^½;|ýúµµµõ‰'öìÙ£ªªêéééíí­©©‰¿Bô…Xwpè®]Ë)-m¶´T|øÐUHˆŒ¢Phnn÷CBòΜI=xÐ*44/)©ÚÍM/ àk"ñã_‹IIÕÓ§_óñI¾qcîÿâl¿}{‹‹ÖÿâT_½:"<¼KD®_Ï©ªjutÔ [ÀËKDµ·SfϾU[ÛÎ:<ÖÍrÛ€ú‹U««k¿|ÙiõêùÙë×שּׂ¯Ÿ8‘´gÏ4UUQOOKoï8MM1OOËAßXN:B–j–AiAjj.†.Œå9µ9ØN‘ÄGü´üÄ™¸3MMâCÚáqp± e ‡¦(O Ë ;ñâÄî™×SýÐñá|üyì#„Y€1‘Â=-xj«iKä!òx4¥4Õ%Õ’BÒC°l†m'+O¾›y÷ŸWÿ௉Ë?”ßL»‰×ìïº}b{9¶_+ÛxØvyL 255Õ××í@À°Ù.66!äåå…ï¼F&“9òêÕ+„¶û˜°°ð‘#G°×|Ø`qqñ¤¤$¼SSS< AaoE«ªª°Ã¸¸8„Ðþýû±ì !$((¸wïÞ¯¿þšux¬›å0¶õ£­­go¡iÓ¦-X° 888++kÒ¤I¬cÐ…Xwpèbc+B^^VX’"“yޱ É{õª!]Šæ=räõÿî!¢Óéââ|IIÕ qÊáYB{+ZUÕŠÆÅU!„öeo!AAòÞ½_Ê:<ÖÍrÛ€ú‹ÑÖ–À³7„дi hçeeÕOšÄÑ^“^ˆuBh“å¦ÈÜÈïýèŸèo¬`,Â/R×Z—÷>/ý]ºß?%1ކ š*š¦¿KŸç?o–ö,„PrErfuæ³·AÇöÆÀ};õÛÙ.%\JªHš¬4¹µ«õqÁã†öE Õ>Þ<à6ßÞ,! 1Yy²Š¸ …J‰/‹¯hªÐ“ÕÃ>eÛß5fkd?8s2¶4ŸõÉOäšjl/Çökå$Ö];ÊÊÊ¢¢¢:4Ú€á4² \cc#BHSS“±PSS“@ 444 „êêêBlGe©¨ügذ°0BˆB¡0^…é=cï׎m–ÃØ±í/FCCƒéD¬;}/ĺƒC×ØØ‰ÒÔüÏo2MMq54t"„êê:B.¼eÝŽŠÊž7 |æÄxuu1Æ:L‡ƒh–ÃØ±í/FCƒ96¬;}/ĺƒ!¤,¦àðã½3ª32ª3ðr}Y}³7„Ð6ëmq¥qùïóýýB$ÒoŽ¿]K¹Æ¸ÀØhÅ6 ä |\|v‡ïN«JK«Jà ±uàX¿5ž©5óQÞ£çPã± IDATˆœO»)‹)v:Œÿ̺¿“&y;zˆ:Xž˜Xžˆ2V4žo0ÿ·èßÑ ¶—cûµrë.ÇWQQaü÷<øŒl'!!***bL5ŠŠŠèt:¶4Váûï¿—‘a~2!(È鋬‘’’|ìv8¤ÐÛþbŠ‹‹™NÄJ°Ó9í…Fš„?B¨¨èƒ¦æ§”¥¨èŽ$%ùñ ßo"#Ã|Ç9ýk¤¤¤ û…-öÁÄÆ¶¿˜âbæØ°ìtÎcc{¡qh£ÅF¦)~LûxʉÈm³ÞƸ —œAø·áo*ßdTgtP:äEäuetõå>¾HR“PÛf½ÍTé?s>±ÂI ‡‹ ˆß[wïIÁ“’†Q~Q[M[EQE†OGè³ !^!)!)ÆÂSVtõtqÛa{BŽºŽ–j–/Š_T|¨à%ñN”ŸÈÉN §žªk­KªH*ÿP.È+¨!©1]m:¾¾â ¿®“\­Õ­Ÿ>méjÑ’Ö²›`w'ãÛëöyÿÙ^Ží×ÚgŽœX¾|9ãF ;wî\»víÕ«W±Cl¸A\h¤ ’ÃÿÁ–+;{6íaß¼9{ÝI"ñ„‡³n]ä½{…~~éø‰JJÂS§r§ˆï; æÏ¿›Û›Û€’—:~ÜnåÊp|Œÿ "6¶ýÅXZ*êéI;–ññ]ùòåúŒ-ìÜi¶vmÄÕ«YØ!¶Ü .,œÎÎN—;wØÌEaÇŽ'Nœí@>ÊʪWSÅŸ·½ßam}=7·!-m5‡ s|=>..Zwî,íXú0\~kjj°! ýÑÒšàë[ãì š0l¶n•CýýwMïeeeÕÔÔð*•ºqãÆÌÌÌàà`%¥q=p–‹ ËÉÉq^d_¡~6áááGµ··WWW¯ªªzðàAccãÌ™3ÇTö-<¼èèÑ{{Uuu±ªªÖŠ;gÎTSÙ|~555›6mÒÑÑ Äºy{{ÇÇÇ_½z²·/Ø’ÀvvvÞ¼ùil333| àv††Ò=7oæâ%ffòW¯²Y¨¾l eÓ¦M­­­‰‰‰ÁÁÁØSvŸÀÀ@___˜óô%ûB8''§ŠŠŠ'Ož‰DSSÓ3fŒÁI7}Ml99iTT|÷äIYQÑ"‘ÇÔTvÆ •±÷õö=4 FÈo¿ý–™™I¥R Âo¿ýfkkëççwùòåC‡9::Žvt`d}! BH\\|Ñ¢E£$‰Å§€qq¾E‹´G; 6H$;œÀ0 »víö3N§P(«V­*--=~üøÜ¹^Ãp±µ`4ØÊÎÎÞ½{7c …B),,ܰadoã$p7ijjÚ°a•Je*çáá jiátŸÀÕ ¸FÛ¾}{]]]ïŽF£555ýõ×_£øÌ p‡¢ú"÷@÷ô¡4ò¢è…{ {ByÂpEÕŸ´ª4÷@÷ÈÜÈ‘¾PŸòêòÎÆ]´Æ=Ð=­*­¿j…õ…>ÿscðÆ-··\J¸ÔÚK÷qŸØØØžžž>?íéé¹zõjJJÊgŽ |~_Î$À—­­»-¡<ÁBÍ‚}ÕþÕµÕ%”'4´7 WT¡Üº\¯‡^KŒ—,0ú´€sSgSByÂlQØAÜÅß%³&“1’>«ù'ú{z¬‡ö1ˆÌ<w6q{âç Ö“'OþùçŸþ>åååíîîF]¾|ÙÔÔô3ÆFÁÀ¸úúúŠŠŠ;wŽP4`ìˆŽŽ†/ú “––¦¬¬<ÚQ ž¦”f { ’ؘ[˜´¥«%¡<ÁJÃj´ù¨¶­V[ZÛ^Û>§6çYá³>ëÜϾèñ!"Ñu’ëWZ_ñ‘ø’Ê“n¤Þø¼‘‚ik+ܱcði %@"‘( ¶¶¶………™™ÙôéÓÅÅÅG7Tð ,ËÏϯ¨¨ðññ¡hÀØ‘‘‘‘‘‘1ÚQ€aÖÑÑ1Ú! ž¯Ð4Õi£[&+,‹ò|èÙg…ZϡLJBG.4ZˆÎМ±ÁbÃçŠ •Úžœ¼¤½½‡‡‡‡‡‡J¥ Lž<KÚ&MšÄÇÇ7Ú1‚Ïj` ¶çúÜ  /€PBKF;0¼\-†ôúq”Õí‹Ü÷ͤo¾™ø ^˜Pžp?ë~ù‡r^"ïD…‰ËL–I I3ž™™ÙÜÕ¬-­½ÚluŸ-7‡¤‡äÕåõÐz4$5O\¬/§}”V•vìé±Uf«&+M¾’|%»&[Wp–ö¬ùó±¥Âïdܹ”p !t+íÖ«âWØY×–_ÃÿÐñáJò•·ïÞò‘ø¾šðÕ7¿é5Ʊì…E/êZëLMðì #Â'2’q!IOßÜÖ–'))iaaannnff¦££C$G;.0j` €;ôwøña¿D?üðqÁcÿDÿ ®&+MÆJ~yð >éáEÑ‹ôe&˘š½–rÍë¡•NÅ«]}sõã¡Å“£ÿ e›¨0ñࣃµ­µXˆœˆèüh__PÙ\™]›ªhª¨hª`j¼¾½~ÁåxyTnTFu†§ƒ'‹n®¼¾’Jcž]ÈH\@üŸEýŽ‚âDJe BhŽîœ’ÆÿDÿÒÆR9a¹Ù:³giÏJ³`ä”””ÈÈÌÖÕõ¼x‘´cc$p®ô0ï¡_¢‰‡´ÚlõTÕ©--ÁéÁñ¥ñ[noyúÝS>_xNxHzˆY`ù:cEã†ö†+ÉW.¾¾ÈØÈ›Ê7ž=yÝMÝŒy‰¼ÕþIþ¿Fýj¡f¡,öqÈà¿IÿjHjì°Ù!#$“Y“yáõ…ˆœˆ`Í`×I® ˆð‰|tÐÕØuᦠ/¾¾¨-­}Øé°œˆ\fuæ?±ÿ¦n°Ø (ªØ_¿ÊX'pL¡º¥!ÔÕÓåâïÒÖ݆†¤‡¸ºü9÷Ï1¸ !PWWWRÂÆÔŒr(`Ì€À•°÷Gâs?] ]VÝXW÷¸à±³žó­´[!{-{¬Â|Ãù__úº¸¡oÄ/ÁF§ù-ñÃÚ}¥õ•‰’ÉÚ µ÷²îmš¾ +”– ]*@À*˜)›­¸¾"(5Èu’«’˜’œBHYL¹÷=uIõàUÁ|$>„Ð ÍåS«RY$pnøõ>‘‰dÎïRŸº©Ý¡sñçtdtVL^!Î/žZ•ê—è–f¡jájì:ÄöŸ$p®”S›#@p1tÁKÂ2“eq¥qÙ5ÙÎzιu¹ââxö†â%òÎ7˜2æ$^’ö.H ú¼ôAÑét:¢#„z¨=¡ÂúB¼š³ž3–½a°‡s¹u¹lƒtÔuIJ7Œ‘¼B¨±½‘Å)SU¦²mvˆÉ‚!9a¹kî×°ð¾ÒúJ[F{GØŽ{Ù÷ €+@àJ]=]¢|¢LïûĸŰB=âüÌ‹)ˆ ü§¤½»J§Æ–Äön¿“Ò‰ÿ,Ê/Ú»ªæ*¶Abñàȵ³³ã¤þ®]»Ž;–’’bbb2¡ذѰÉŸÿóýŸ}\|$$B‰å‰çâÏaaÿ-x_°+|ןsÿæFEäD„e†16â ãàã™ùãŒñ§e-]-·3n›)›áÕå? IÁ–/é tìØÛNiÿÚàkìSìdÙ‡²aé×g7]}º¬°ì£üGó:è8 „ZºZ¼y¡Ïò0,Æuà^ë§­¿›u÷UÉ+›Ó6šRš­]­åMåt:ÝÕØUGF!ä1Í#4=4:?Úò”¥¦”fC{CUs•œAVMÞˆÇ4Gù®¥\»™vS]R]„O¤®µî]Ë;*ê·äÓ%ú²ú¿<øå¯çÉŠÈ7·vµ ’ñ)RdÐôÐŒê ì¥-ã:p5ôêŸØbŠcB%%¡cO;‹Úa»kœH þ:ë×­w¶~ú½²˜²„ DQ}Q[w›„€¬å ·×›ÙÿôÓOt:ÃÇo€1EFXæúòëSU¦vötfÕd•}(ã'ñ7ý;oGo¬‚œ°Ü·+ÚÒÚí”öŒêŒÚÖÚµækWN^ÉØˆ Yðºûõå“—“‰ä‚÷)•)M"|"kÌÖÊâÕ-Übµ¥±£1ý]zkW«º„ú¿ËþUWÅ>å'ñ‡Ä—W——PžPžðÙnBŸ ë ±0°…ërër±CÆ`ôœŽÏ;.#,SÑT‘þ.½­»m²Òäë˯ˋÈ^à€€'pîÐ{/T Ik˯յÖU4Uð’xµ¤´Gå#„ å #<" ë [»[ÕÄÕÄÄëZëݵ¥µñ:Â|Â^^ûì÷ÖvP:äEäåDäxÌÿ¸Ýa³cùºâ†bA^A-)-¦Én¦n.F.…ï ;z:° “&ºªI¨1Và Õ%Õ‡é–ôí{Ëï—÷± c¯B.†.sõçb7GIL‰q(!`ì× \ï1påå匌Œ¬©©‘””œ9sæþýûõôô˜N<}ú´¯¯oii©¢¢âºuëvíÚE"ë; ÀgÐß^¨2Â22Â2,Nœ 5me2‘¬'Ëü'‰(¿¨±¢qŸ ’'*LÄÅÄ{GÛgá°› 5±Ë,yˆØëf×´ã“ââb ‹ÚÚ»åÔÔÔ\¿~ýþýûOž<13û4œùرc7nÜÀOùõ×_sssF!bŒKãz “íÛ·×ÖÖÚÚÚ&%%µµµeff.Z´¨¥¥eýúõŒÕBBBŽ?^UUÕÐÐpíÚ5IIÉ«W¯>~üx´ÂÀxOà>jkk‹ˆˆ••½w¨(BÈÀÀ ((ÈÄÄ$555//OGç㋆;vüðÃØÏnnnT*uåÊ•ÁÁÁöööý¶àN}e€QOà>*))ééé±±±Á²7 ‰Dš3gB¨  /ÄJpŽŽŽL_ lÔÌÍŒ5ÀýÓÌ2ÎOĉƒ ÜGêêê$éåË—ÍÍÍx!•J}øð!BHKK /ŒŠŠb<1""!4aGs¾†¸„„„œœœjjj,XðæÍ›öööììl77·ŒŒ |BÈÇÇ篿þª®®nll¼~ýúöíÛB‹/½Ø0¾À$†O|||^¿~ýôéÓ)S¦à…ÂÂÂ.\`¬¶hÑ¢üñÇÄK–/_3ðÙÀ¸OÃ×455“’’¾ýö[%%%‰$++»lÙ²ÄÄDÆEàB»ví:yò¤¶¶6//¯††Æo¿ývùòåQˆãÕ¸~‡ wãççÇKTTT.^¼Ø_ý£G=z!dbb²mÛ¶Ï!@oã÷ \eeå½{÷Bêêê£ ÀŒÓî»ï¾SVVNMMµ±±‘“ƒ-œcQ¥Ã;ÚÛæícÚZGµÚ)í<ûCë¨Vvmöh‡ÆBÒC´ŽjEæFŽv Œˆñû URRÒÖÖöÌ™3£ôÍ7Æ÷rÒåÑŽ0ÓîìÙ³gÏží(€•§…OEøD‚WkHjðxBÿg÷ÿg÷£`ôÓƾºÖ:M)Í R°N8€$pîð¢èź›ëöÚï5U2ýýéïéÕé|$¾¯&|µ×~¯¸€8^-±<ñzêõÔÊÔw-ï„y…M•L7Zlœ¢<…©}Yýã/ŽçÔæˆñ‹­˜¼â»éß!„®$_ H¨lªTWÞi³ÓIÏ o–N§¿ ¾ùöfnm.•NÕÔXf²l¹éòÚFÏ;Ú{yšV•¦uT‹éÓ{ëîéËêc?wötž?ÿ ûAù‡r^ïDù‰,6ØhذnŸJ£¦†¼ )o*§Óéjjó ç»™¸ ° lûÛÜÙü׋¿¢ò¢š;›µ¥µ·YokìhüåÁ/§žrÔuìïºøý7”7<ñâDfu¦¦”æ5wØ^Žõ×Úg<í2Ü87I¯NÿãÙÝÔn„P¥ãvÆíЦŠë˯cŸÖµÖ¹ºá•;ŸôÌ®É>ät¨¿Pu×¥Ò¨,ú"-$¿5~7G¡RVßX\‘ŒvS»ãJãâËâ½¼ÜMÝYœøçó?/¼þ´DyFuFFu™‡¼rÊJÄA»zº–_[ŽÏ¥È¨ÎزÑYϙðßT¾Áï?Nc{9¶_+'ñ°î2\87¹›y×ÝÔýÛ©ßʉÈeVgî¼»3±<1»&[_N!D ¬5¬WMYe g -$ÝÔÙ”P–ðóƒŸÏÆeLàd?Xk¾vÙIAÉçEÏw„íðñ¥ÑiGœØkÙóxÎĹ”pÉ/Áï¹ „Â2ÃÂ2Ãtetþêgcc>_FuÆÁèƒAiA‹'-6U2öno߬}¦'L5%5CV‡àå<ûã\ü9ü0àM@rE²¢¨¢§ƒçT•©-]-·ÞÞ:õêԡLJfkÏ––é¯ýGyÈÎýÓRÝ’ÄC*i( Ë äÄ>eÛß+ÉW²k³5¥4=g{š(™4´7\ˆ¿˜Èaï"r"\]7LÛ *®Jä!ÞɸÃúrl¿VNâaÝe¸$pnb­a}pÎAìç)ÊS6Xlð|è™S—ƒ%pÒBÒ?Íøé\ü¹}‘ûêÛê±g<¡Üº\ÆFl5m÷ÚïÅ~vÔuœ¥=+27rý×I®XáÏv?ßL»YP_€§yˆþKýe…e±sóóN8^tŒÎî/Ëý9·ÏòažŽò]àk¢h‚æÞf½­¶µöFêÇ—™,ëïDyQy„Ð,YD!¤/§Ý@ ÛþFæD„Ó OkKk#„Žæx7Ç–Är¶‰¢ÉaÇÃøëQ¶—cûµrë.Àu p U ÆCq„P[wvø¦òÍòkË)T ÓY=Œ‡SU¦2*Š*"„Ì•?=¢#òåDäÞ·½Çóëò©4ªÍ?6!:NGtì„PUsÕ0ôj°JKÅıì 7SkæÔ¥¥¡ÆŽFó“Ÿú%. ž´= !´wæÞÍ·7Ï<;ÓFÃF_NßTÑÔ@ίƶ¿¥Jå„å°l g«a‹'Lý]c¥nÅ8víåØ~­lãaÛe¸ÎÀ¸øøøŠŠŠ´ Ƙ¥-íÀ0‹W톊ÄÇxH@ô¿_ö¡³qg)TÊ6ëm ŒÈ Ëñy ‚džöV}¶L£Ñ°ŸitB¨Ïm½³ Üg‡þwJ_NÿÑÆGo*Þ$W$'–%ú¾ô•”8érRWF ¶¿œcœtÂÉå8üZYcÝe¸ÎÀ8mmm¯¿þz„¢c„ÏÚµkMM‡dE~~~£ÅÈ*ÿP.-$Í8±ìCYIC‰(¿èPš 5!³&3vK¬ŸÈcNjj©U©iUiÆŠÆxá³ÂgØG! ‰‚]}žK$ÍU̱1d”ŽÙçgïߺ:qÐ_5qµ·Õoóßç3>ôzQüÿ™Åu{c{9¶_+ÛxØv®3°NJJJJJêĉ# #|||LMM9S¸Bxx¸°°ðhG1²E ê ’-@%W$z|{À3®Æ®I’VÝXµÕj«‰¢‰ŸHmkm^]^pzðrÓå–ê–}žõÆÀ9ë;§V¥nÛîéài¦lÖÚÝü6øFê ^"¯½–=‹]\-œª2UY\™B¥Ä–Ä~èø€¿‘dÛ_G=Ç´wi›ooörð2V4Æ& p8®`Ø]Ží×ÊI<¬» ×1p€/‡›©Ûó¢ç^¼¼ya%r:2:µ­µCiv‘Ñ¢„²„ô Á˜>Zj<š# VN^™ù¦òÇ-Æò}³ö±˜‚ŠʬÎL©La*\jò±/lû»jʪ»™w³k³W^ÿ¸@øZÿëÙÑ ¶—cûµrë.ÀuÆéfö€/Ò,íYÍûKOVŸÄ/+,ëfêàÀKäb³áØ×Ç|øZ©[‰ñ‹‘‰dq•Ù:³Ï,:c¥a5,‘™H¾âve›õ6M)M2‘,Ä+d¡fá·Äõ"p¡U!+&¯Ð’Öâ'ñKHLQžrÄù>3—mùH|îËM—K Ió‘ø ä Î,:c«i;¸^°½Û¯•“xXw®CÀÿrÂÕÕ!tëÖ­‹Œ Á××^¡~a¶lÙ",,<ô?¿555­­­,*hiMðõ­qvfU|yBÒCØîÄmëV9„Ðß׌v `¤ ËÉÉq^žÀpHà¸ÌxOà‚‚‚ìììRSSG;N£. ÀÎÎ.==±°¼¼üùóç>|­¨àËðÍÄo vÀ8>q´ŒHiiéóçÏ›šš —.]jfffbbÒßYcÍ8Jàú¤¢¢¢¢¢2ÚQ À0¿B}òäÉ÷ßïää4þüƒÖÔ|œð\WWçèè¸xñ⎎¼ryyùìÙ³W¬XÑÓÓÃútÜóçÏ·mÛöõ×_»ºº9r¤¡áãFɤ…º`IDATx‡²³³czº†bëüøã—.]BmݺÕÎÎÎÎÎnÇŽ¨¯1pT*500påʕ˖-;þ|gç§¥ºÏŸ?oggWPP½eËGGÇÕ«W?}ú”íéèèøë¯¿\\\æÏŸÿÇ´··=z”1f¼åôôô­[·Î™3çÌ™3lãaÛqÆ–SRR6nÜèèè¸nݺ˜˜¶1`l¶'p4míÚµW®\ÁKîÝ»çëëûðáÃÉ“'ËÈÈ|óÍ76lõóóCuww»ºº¾yóæÙ³g$‰õé!*•ºfÍš«W¯â‚ƒƒ=ÚÐÐ@$³³³Ÿ?N¡üg—e¬ËÓÒÒJJJBLó˜ÆÀµµµ9::2&7AAA§NŠŽŽ–••E=þüþýû{÷îmooÇêa‹äõ©©©iÆŒiiix×nݺ5aÂƘ±–ƒƒƒ===»ººB†††lãaÛq¼å[·nyzzvwwc…þþþÿý÷–-[ú‹cÖ°%p¿ÿþû•+W4557mÚ¤¯¯ßÕÕõðáà .¸»»geeñðð¬_¿>..ÎßßßÒÒÒÃÃcçί_¿öññ±´´äätooï«W¯ ~ÿý÷S§N%‰ÉÉÉgÏžåp!âãÇûúúúùùùúúNœ8!$..Þ»Úž={bbbddd~ùå}}ý’’’?ÿü3==ý»ï¾ ý´áñ/¿ü2wîÜÅ‹ ß½{÷âÅ‹»wïf‘ÀíÞ½;--MEEåçŸÖÔÔÌÍÍ=vìXŸS_÷ïßïää´dÉ%%%ãáÄÝÜÜøùù###/\¸°sçÎÙ³gëêꨌºáIàètú_ý%//Ÿ””$!!.Z´HBBâèÑ£ñññX–vúôé”””­[·ÿóÏ?K–,Ù¾};'§[XXøúú’ÉägÏž™››ã~ù剣.khh „LMM­­­û¬ÓÓÓãççÇÏÏ£££ƒ.]ºTOOïÎ;555øÉ+W®¼xñ"öó¼yóòóóŸ?^[[‹=ëÝì•+WDDDâââ”””BÎÎÎsçÎÅòH&...øBùœÇɹsçâ9ßÂ… ¼¼¼._¾|äÈÎÀX0V !D&“‰D"BHUUUHHˆÃÓ±©ÒÒÒŠŠJ¥¨>69@RR’©+aœ:ÀT‡———Åå°à{¿±ÅŸ52RVVD2lÇŽ‰‰‰ýõ×Í›7g̘áééÍÉé’’’666………øÒ!­­­‡¢Ñh¡ & „|||°Ãžžžýû÷3å1¡ÂÂÂþz!##3yò䜜œ]»vaó:étº¯¯ï£GäååwsdddŒß¼ysäÈ<¼½{÷°=‘m<œtãíí%m¡ÒÒÒmÛ¶!„×)Œ¢a[îï¿ÿÚ¸q£´´´‰‰‰………¼¼¼¦¦æÑ£G±7zgΜYºté–-[ˆDâ7äääÜÝÝ+**89ÝÇÇGPPðÊ•+JJJFFFÆÆÆRRRûöíÃ777óçÏ«¨¨L›6M^^þ÷ßgJ¹LMMB7nœ:u*¾“ßÿ‡‡ç?þ——Ÿ:uª‚‚6Íâ÷ßçp¶DŸ~ûí7„О={°fÿøãlöB¹?lãá¤ãeeåiÓ¦éééëè褧§›˜˜,]ºtÐÀh¶ÎÈÈèõë×ÎÎÎmmmiii¯_¿®©©ÑÖÖ>vì//offæÆõôôðÉ›òòòAAAK–,¡P(¬OG™šš¾|ùÒÊʪ³³333óíÛ·üüüûöíà yyùK—.‰‰‰UUU%$$H¤ÐÐP###ÆmllÖ¬YC¡PŸ?Þç*ööö÷îÝÓÒÒjhhHLL¬©©QTT X¹råPnμyóþý÷_IIÉÚÚÚÄÄDvõêUìõ%ö\°?lãá¤ã˜“'Oº¸¸äææ¾}û¶»»ÛÞÞ>""»·p…ÒÆRßßÔªT:_)áÒÔMM¾1¾/Š^àÕŠŠ}c|’ð’ZoŒoDNÄç ûˆJ§ÆÇ\J¸t.þÜü‡]=]Lç7‡e†;{õÍÕŒê>žW·T_O¹~.þÜ“‚'TÚÀÆõ¾`ù•–®®îƒššš h4šºººŒŒ ö™L¾ÿ¾ŽŽc¾bcc“””ÔØØØÚÚ*!!ÁâtÌäÉ“cbbjjjŠ‹‹ÅÄÄ´´´Çù¹¹-\¸0==D"òòòjhhxxxàW$þþþÇŽ+,,ìêêÂFõÞ ÕÙÙÙÙÙ¹   ¦¦FRRROOq\Ú† µ´þ3ú+Ä–)éϪU«–-[†½Ü400 Ñh;vìPWWÇ»ÐgËlãá¤ã‘ÐÐÐÊÊʲ²2%%%UUUÑ0ay/‘×ç¥OLq BÈPÎp‰ñ’+ÉW^¿´Õ´Åª…e†zuŠÈCt1tåE¥T¦øÆøþl÷s-ÿó7±ZQR,è1Íc@-3Y–V•¶=l{ES^SATáÌ¢3FòF¡vJû†à ñ¥ñŒMÙjÚž^xZ€,€Þz{ë@ÔnêÇõ·MMæÌcuãÆðï…*&&6eʦBƵ0p½_öõy:#99¹þÖ?ãççg\gD_____Ÿ©Ž¬¬,ãjmýí…ª¥¥Õ;—BijjjjjrRÈäĉØ‚#ÍÍÍ›7o®©©Ù¸q#‡ô†“Žc”””`âàj~‰~íÝíó æ©Š«Ê‹Èóx,Õ,£ò¢ZºZDøDB/‹^ªˆ«”(-uÔuD½,~‰²Öè{H„ЩØS¬nI I³Hàú ¬²©rí͵ÍÍÆŠÆÆ Æ¼$ÞŒêŒøÒøõÁë­$Ì'ÜÖÕ_o$o¤/«/-$ÝÜÕœP–ð¢èÅéØÓ?Íø !ôöÝÛ}‘û¨4ª¹Šù$…I í Q¹Q§cO⦾<ã}3ûÏæ×_ݵköÔ0??¿½½]XXø—_~í¸à2”Ž»kïjJ}ú׎µ†uxNxlIìÝ9ÍÍ5?Ûýì—àSƒ%p1Å1’‚’ú²}ÿ«!´År Û'p ì@ÔæÎf/¯å“—ãu.']öŽö¾›u×ÝÔ]˜OøÖÊ["|"É•Éõmõd"ÙQϱâuÅ“‚'Xw9é2•FÝf½m›õ6ìômÖÛæûÏg `<€î3ùé§Ÿ|||²²²°ÃI“&?žõ[W@o.†.ŒÙúߣµ˜’˜9ºsbKc©4ªµ†u^]ö6³©³)£:ãký¯™Æ0Új½uØ‹-%ˆ í §cOÓétl£6JB(ý]:2E<žK —"s#™ÚyßöûáMŲÀf«ÍøG*â*KM–^|}qèѸ$pŸ‰§§ç¾}ûJJJêêêÕÔÔ>Û¥û]7R—Pg*QUÔ”Ò|Yô!S#+,«+£k­a’RÚXšU“E£Ó¬ÔûØø7Ä1p}ÖÐÞ@¥SOÆœì]³¥«!t&îLdn¤¤ ¤†¼ˆ,cà˜XªY¥©I¨¹º0–çÔæ`“-‰Hâ#òá‰;ÓÔÙ$.ðq×»ÉÊ“ïfÞýçÕ?øÞòå7Ón4À 8×›¦:ÄC L $øÃ6 ¿D? •²Úl5ëÓ‡e “M–›"s#¼÷£¢¿±‚±¿H]k]Þû¼ôwé~Kü”Ä”LMÓߥÏóŸ7K{B(¹"9³:ÏÞBkÌÖ<È~p2ædli,> •ŸÌ?졸Ѱ-ä ˜þg Œ!^!S%S •¢/«/)(‰ZkXS¨„ëp#DYL9À-@[Z;£:#0%ðlÜÙôôwéú²úJbJ¡mÖÛ´¥µË?”û'úû'úgÕdýæø›²˜2ÞÂ$…IÞŽÞ¼DÞÄòÄK —ngÜÖ–ÑÞl¹¹ÿk‚/> ²ÀXOàÃLPÖÞ>ü¿jÔ$Ô¶Yo3U2íóÓÍ–›ßT¾ÁÖÈŘ)›a pX¨Y {0œf gþmø›Ê7Õ”yy]]}¹«™ˆ ˆß[wïIÁ“’†Q~Q[M[EQEÖÜÙŒ·à:ÉÕZÝúiáÓ–®-i-» vyuyÛ¬·iIÁœ¤q§­G^¾g´£c$p€a&+K}÷nøÿnÁò¤þ>µÖ°fš©@&’YÔF,#S”§LQî{qrÉADZd™É2¦: ¢ î¦îø¡¾¬>‹íÀ¬¦†4q"óVl`<ð_²ñññ®®®# SüüüÂÃÃG; 0œRSS­­YMÆ.ººÝ™™|ìë8ÓÑÁSTDÖÕíí@À2°núôé#S”••%$$˜vSÜÎÚÚúóü¶°èøãI …@&³šÚ àPl¬F˜6­c´c[8TSSÓÚÚÊ¢Bu5iÆ µ'jœYUph˹÷ïI7nTŽv ` ÷·Õ{Ÿ`*`˜ÉË÷ØÙµ]º$ÿ<`èJJÈÑÑBnnÍì«‚ñ8Àðû駆Œ ÞÛ·EF;¸Þ¡CÒ”¹sáy6øHàÃO[»{Ù²æ?ÿ”jm…¿d¼gÏŸ>ôô|O$Âmððw+`DìÜÙH£¡~¥ÑF;¸SEé—_dçÍk…é  7Hà#B\œzỸ8ÁcǤF;¸O[ÏÆ ²²=‡Õv,`,‚0R&Nì:|¸ÖÏOÜ×W&4À¹ˆß~«ÐØH<¾ZPbƒ>ÀN €4o^k{;ÏÒÅÅä£Gkùø €ÂBò† T*áß«`û,Ð7xYK—6ûù½{ñBpñb¥¤$þÑ€±‹J%ˆ¹º*KJRCB*´µaëÐ/Hà#ÎÒ²#4´BJŠêæ¦ôÃr%%äÑŽ€±…FCÏž Λ§|䈔»{óÕ«URRÔÑ Œi°``ØîÄÀÂãÇB‡K••‘§Ní˜5«ÝÔ´SM"&FåK‚ñ§«‹ÐØHÌË㈌*+#ÛÛ·íÙS¯¦FíÐÀ(èN Àf( BˆJEÏŸ ݽ+üò¥`S$n н}ÛâÅ-ZZðÎtü‚0²†˜ÀáètTYI.+#57óÐé„¡7wá奋ŠRµµ»ÅÅaž)p³P£ƒ@@ÊÊeex[ï/¸ $p\8. —€Ë@Àe à2ÀpHภl¥Àeà —€Ë@Àe à2ÀpHภ$p\8. —€Ë@Àe à2ÀpHà¸Ìÿ‘ à¶­IEND®B`‚fio-3.39/examples/fio-seq-write.fio000066400000000000000000000002741476262051600172510ustar00rootroot00000000000000; fio-seq-write.job for fiotest [global] name=fio-seq-write filename=fio-seq-write rw=write bs=256K direct=0 numjobs=1 time_based runtime=900 [file1] size=10G ioengine=libaio iodepth=16 fio-3.39/examples/fio-seq-write.png000066400000000000000000001234041476262051600172610ustar00rootroot00000000000000‰PNG  IHDR;5ÀºþvbKGDÿÿÿ ½§“ IDATxœìÝw|MçÀñOö IŒDBÌØ£F¬š¥RÔª*Õ–¢E‡ÒRãg¤A)J‹µG­"‚JHŒØ‰#F‰ÈDÆýýqå4WnÈtI¾ï×+¯Þœóœç|ŸsŸÆýÞç<ÏÑS©T*„B!„¢pÙ ¯ë„B!„¢ H²#„B!„(”$ÙB!„BJ’ì!„B! %Iv„B!„…’$;B!„BˆBI’!„B!D¡$ÉŽB!„¢P’dG!„BQ(ê:!„x]…††ò믿rþüyP©T4iÒ[[[þþûoêÕ«Çœ9stiÑtëÖ-  ü¾bÅ *T¨ Ãˆ¤Ï!ÄëF’!„ÐâÎ;Ô­[—˜˜í–––”*U ___ åϨ®$&&*ï@BB‚òzÀ€ܺu €O>ù„¾}ûx<Òg„âõ#q…B‹ (ZX´h666”(Q‚ŸþYÇщ—9qâÁÁÁtèÐᕜSúŒB¼~$ÙB-Ò?(´nÝšîÝ»+¿7Žþýû`ccóÊcjåÊ•ÃÇÇGù]×·°IŸBˆ×žJ¥Ré:!„x]úè#ôõõùû￉ŒŒÌ4'))‰E‹L×®]éÚµk¦2¾¾¾üþûïœ8q‚¤¤$@•+W;;;6lاkõ¼×±Ï!„`*!„еkת€lÿ´iÓFãøM›6©Š+–eùÖ­[«¢££³ÏñãÇU–––YÖçèè¨Q~ÇŽ*›,ËõÕW™Î1mÚ´LåŒUË–-ÓØæãã“­˜[·n­ó¿ÿýOÙîéé©õº-^¼XÙ^¯^=•J¥R]ºtIãÜ^^^*333å÷/¾ø"S™sçΩ¾ÿþû¾_eË–ÍÓµÒæuë3B!I²#„„‡‡«|||T 4P>l¶oß^åãã£ütêÔIëד'OªŒŒŒ”}:uRmÞ¼YµpáB•­­­F}ÙÕ«W/å¸Þ½{«vîܩڲe‹jΜ9ª:¨,,,”²gΜQ+åû÷ï¯Ú¾}»jÑ¢Eª’%K*ÛçÏŸ¯säÈ•žžž²¯k×®ª-[¶¨æÍ›§sN’3fh\•J¥JKKS•(QBÙnff¦züøq¦6Nœ8Q¥ReNvLLLTŸ|ò‰jÛ¶m*Õ•+W´&;¡¡¡*•“““²}È!Ê{wìØ±\_«¬¼n}F!„B’!„Ц}ûöÊÍ?üPcßàÁƒµ~píÝ»·²ÝÙÙY•œœ¬ìÛ°aƒÆó“'OªT*•jܸqª–-[fú‰ˆˆP©T*É«V­Êgxx¸òºOŸ>JÙV­Zi”[¾|¹²¯T©Rª´´4•J¥Rõë×O#æ””å˜ùóçkMv^ó©S§”c¬¬¬TÉÉɪ3gΨ•©©©ªxñâ*@åëë«JKKSÙÙÙe:Çó‰ÌСC3µ][²“®J•*ÊöéÓ§g:67×êe^UŸB‘mÉB‘Oüýý•×mÚ´ÑXbøí·ßÎT¶nݺœ={VcùätOžÉS¹é3B!²O’!„È'½zõ" €½{÷òï¿ÿòÖ[o‘ššÊ”)S”rÖÖÖÊûZµj½°Îß~û +++ºvíJùòå)_¾ ưaÔù(©©©´lÙ’:uêP®\9âââr}-J—.M5P={œ[³fÍ022BOOO#prrÊò¹4¹Q¯^=åõüùóiРüïÿrw­ BAô!„ÿ‘dG!ò‰©©)û÷ïç믿¦D‰¤¤¤ÄÝ»wÑÓÓ£I“&8p€¾}ûf»Î!C†0pà@,--¹qã~~~ÊífNNNüòË/Ê"&&&ìÛ·~ø2eÊpùòeŽ?NXXVVVôïߟqãÆ)õ[YYqàÀ%ùHÙÃÃիWçéz>^×a!„:åàà€¥¥e®—‘!„B!D¡$ÉŽB!„¢P’dG!„BQ(I²#„B!„(”$ÙB!„BJ’ì!„B! %Iv„B!„…’$;B!„BˆBI’!„B!D¡d¨ë„B¼z*„…qû¶!±±¨TºŽHQP,,Ò(Y2•J•žbl,ÿ³‹¢E’!„("RSáÐ! vì°äÈs=’Á}!Šõê=æí·èÞ=kë4]‡$DÓS©äûÿ¼³gÛÊÜ=Q(I²#„…ÐúõÅ4¨4-Z$²qãê׬넯™’%S™1#‚™3#øí·âŒQŠÇõt–ùJ’!„(dvì°äÛoí6,†¹sÃ11‘¯k…YóôŒcåÊ»øû›1v¬i²n(D$ÙBˆBäÜ9¾þÚžAƒb92=ù’V‘ J×á!Þ0õë?fêÔH/¶aï^ ]‡#D¾dG! ‰yólÐׇ¹s#d)i!D®xzÆñÞ{qL›V’¤$o>ùçP! +WŒY·®ãÆEai)7Ü !roܸ(ââôYºÔFס‘g†º@!DÞÍžmKOy÷Ý8]‡"òÙž={Xºt)!!!$%%ЪU+J–,Ɇ hÚ´)+W®àÚµk´oß^9~×®]¸ººæúüñññøúúòÏ?ÿpèÐ!ç?c``ëºÅë©D‰T† {ˆ··-~ƒµµ|"Þ\’ì!Äîþ}C²ÀË+\$(dΜ9ÃÈ‘#IÓáòXÓ¦MS’*QtôíË‚6lÝjŇ>Òu8BäZž’¹sçâçç—_±!Ä¥I“&|ùå—ºƒýû-03K£m[yza³mÛ6%Ñ©\¹2ëÖ­ÃÚÚ€‰'¾’¬¬¬èܹ3mÛ¶%**Š©S§¾’ó ݲ°H£]»öîµdG¼Ñò”ìøùùáïïOãÆó+!„x#øûûë:…¿¿'ad$ÏÓ)l”×Õ«WW€éÓ§3}úôá믿V^oÚ´©ÀÏ'^Í›'2~¼=OŸêal,_Ä›)Ï·±5nÜX†·…ENÏž=u‚âòecºv•¹:…ÉÎ;5j”ƶ­[·²uëV­å3ÎÙy™€€V­ZÅéÓ§yðàÆÆÆTªT‰®]»Ò¯_? åw¡V£ÆSRRô¸vÍ7·§ºGˆ\‘¿hBñ† 7 té]‡!ÞsæÌaÑ¢EÛ’““ "((ˆÝ»w³bÅ ÌÌÌt¡x”*¥þ»i(ÉŽxcÉÒÓBñ†{üXss¹Å¤0éÒ¥ W¯^¥yóæÊ6OOO®^½ªüättqß¾}J¢c``ÀôéÓ bïÞ½¸¹¹ÈÌ™3ó¯!âfn®ž/– Å›Kz¯B¼áT*d6ñRkÖ¬Q^wéÒ…ž={baaAÅŠ=z´²oÓ¦M<}*ßâ‹ÿþ®¨ä»ñ“ÛØ„Bˆ" $$Dy½mÛ6¶mÛ¦µ\RR7oÞ¤råʯ*4!„(0’ìˆlóððP^÷èуáÇë.˜×È£GèÖ­›ò»——îîî:ŒH!ò&11Q×!!D¾dGd›¯¯¯òZ>Ìÿ'99YãÚÄÄÄè0!„ÐÎÕÕ•ˆˆ@½šà«X¶Z!tM’!„¢èÓ§G`óæÍ¸ººòÎ;ï`eeExx8¡¡¡ìß¿Ÿ¤¤$fÏž­ãh…"H²#„BíÛ·ç³Ï>cñ⍦¦2mÚ4¦M›–©\ÆàæÎË/¿ü¢µÎ*Uª(¯÷îÝKÅŠó7h!„È#IvDЉ‰aíÚµøùùމ‰ ÕªU£OŸ>Ô®][ë1GŽá÷ßçÎ;”/_ž¡C‡R¾|ù΋ÉÉynݺŀ”ßW¬XÞÞÞ\¼x‘Ò¥KóÎ;ïðî»ïfŠíðáÃüñDZ•-[6¯—I!^‰±cÇÒ²eKÖ¬YÃéÓ§‰ˆˆÀÈȈR¥JQ¾|yÚ¶mK›6mt¦BäIvDÙ¹s' àáÇÛwìØÁÌ™3ùꫯ2=ÏaæÌ™L˜0AcÛŠ+øå—_²œ“Óó$&&jÔuðàAÆŽ«QçòåËùþûï™]I€Ž;Æ×_­ìëÚµ+[¶lQ’)!„Bñú‘‘Q fΜ©<”®U«V¬ZµJÙgbb Aƒ˜6mŸþ9zzz,Z´Õ³'—9::²mÛ6ŒŒŒÐ×××úÍbnÎó¼¡C‡òã?P­Z5åô§OŸL£F4bsvvfóæÍ`hhȈ#r{©„B!D‘dG???åõµk×4žÑ«¼¾ÿ>×®]£R¥Jœ:uJÙÞºuk%ÑõÄÚü:Ïó:w¶··×Ø÷àÁØ<<<”DûÛ…B!^S’숑ñt·nÝâÖ­[Y–ŽŽÔOíNgee¥QæùßóržçÙÙÙ)¯ 5ÿ—HÍÉ›¥¥e¶bB!„º%ÉŽ(åË—W^çééùÂÛ¼ªV­ €““¡¡¡ÊÓ]¹r%ßΓŽŽŽJL×®]ÓØ÷¢‰ÀB!„BwdQ zõꥼöõõÅÚÚå§~ýúÜ¿ŸÀÀ@Š+@—.]”cöíÛG@@?æ§Ÿ~Ê·óäFÆ[ÝþùçŽ;À“'O˜1cF®ëB!„G’‘+7nÔH*ÒÒŸ_3|øpZ¶l @TTuëÖÅÍÍÆãääDñâÅéÓ§û÷ïWê6l®®®¤¤¤ðÖ[oQ§NÊ•+§qYF¹9On 6LyX^jj*-[¶Tb‹‹‹ËSÝB!„¢`H²#råÎ;øúúfú9qâ ^ mß¾}üðÔ)S€Ë—/süøq°²²¢ÿþŒ7N©Ó‚кuk’““ ¢U«V,\¸Pãüæææ¹>OnXYYqðàAe„””‚‚‚ððð`õêÕyª[!„B ™³#²ÍÇÇç¥eÒ“ccc¾ûî;¾ûî;nÞ¼ÉÝ»w111¡lÙ²ØÛÛk]ÚÑÑ‘pëÖ-îܹƒ³³3eÊ”aãÆJ===\\\r}žråÊi´¥B… Êk333}5kÖÌtÜó±%''kãîîþÒë$„B! ž$;"Û2.ëœSÎÎÎ8;;¿´ÜŠ+¨P¡”+W€¾ùæ¥LÛ¶m•†ææ<æææY¶ÅÀÀà¥í,W®œ€‘‘Qž®B!„(’ìˆ×Н¯/ƒ ¢xñâT¬X‘¸¸8®_¿NJJ  ~Îó·´ !„B¡ÌÙ¯•?þ˜Ž;ËÉ“' !%%+++ Ä™3g¨\¹²®Ã¢È‹ˆxŒ·÷eŽ ëPò¬0µEmíÓ¶íæÍ¼½/sæÌÃWƒB¼ ’ìˆ×J³fÍØµk±±±œ={–cÇŽLLL ¿ýö¥K—ÖuˆB << oïK…âÃkaj‹6ÚÚ§mÛÍ›ñx{_âôé¨WƒB¼ r›x-YXXh, „x½88˜1r¤iŸ?÷&)LmÉ®WÝæ¢x…¯Iv„B䘽½)#GVÕuù¢0µ%»^u›‹â5B¼$ÙB‘cY·î•Ìôm}\\2‡‡sûv&&†Ô¨aMƒÚ¿ÑOMUáçIpp,))iT¨`IË–˜˜(enÞL`Û¶Û´hျ» Ç?àìÙ‡˜˜èÓ¢…åË[j­ûÞ½$||î—LåÊV´lYŠXþùç:•¥R%«,Û’Ûsf§=¯ƒ½ii*Ž‹äâÅ,,ŒhÙÒGGs-5AhhäÞ½$,- qw·¥FâÙ>_Nú‹Bä”$;B!r,}Æó·&íÙs‡‰O—¬Q¾N[.l„½½©²-((š/¾ ,,Q£léÒf,ZÔXùÀœ>—ÄÌ̀ŋƒÙ¿ÿžRÖÀ@éÓëâéYN£Ž¿þºÉäÉgxú4M#†.]ñö¾„«k1%ÙÑÖ–Üœ3»íy‘ùó/£R½´ææ|üqîlÉêýxò$?ü?¿He›¡¡_]“**ÛSùä?üý#y^‹,\Ø33Þ/'ýE!rC’!„ùâÒ¥GŒ@JŠŠš5m¨_ß–øøTöï¿ËéÓÑ|þùqþú«%zzpçN"}tŒØØdj×¶¥vmŒõ9>ÿH† ñãŸÚaiùß?SË—_%>>…nÝœpp0ãÂ…þý7‚ï¿?C»v¥±²2àìÙ‡|÷ÝiRSU4hP’ZµŠóðáSöî½Ë/¿ç¨MÙ=gnڣ͂—IMÍ^¶S²¤I®“Y¾ü*‰‰ê6ÛÙ™ráB ~~‘üøãYªT±V’•„„düý#©Q£8nnÖ”,iBll 'N<àðáp. fìØêYž''ýE!rK’!„ùbÙ²+¤¤¨øè£J|ýuMåCêW_UÇÓÓ‡Ó§£ñ÷¤I;–, !66™)SjÓ¯Ÿ‹F=¿ÿ~©Sϲ}ûmúö­ lONNc÷î6·SM˜pŠoEëÖ¥X±â*©©*¾øÂ#þ›'2rdUºu;”£6e÷œ¹i6ÇWÍÑÈNAHJJeÛ¶VT¬h¥l[¾ü*?ýtŽß~»ª$;––FlØÐ++#NžŒ"*ê FFtèP†°°¼ÿÂd''ýE!rK’!„ùâäÉ( ô3¦šÆ·ñ66Æ|öY¾ùæ4'OFѤ‰ÇŽEb` GtôS. F¥R)òÔ>wî!ð_ràéY.Ó¼RlÜx“ðð$eÛéÓ133dذ*e-èÕË™¥K¯d»MÙ=gnÚ£MÆäLWºvuÔHt¬È¯¿†pòäËRëëÃo¿]eÏž;ZëyðàÉ Ï““þ"„¹•§d'**а°0F_ñ‘+!!!”.]++«—"áèè¨ë0^+±±ÉØÛ›bjšyÄ¡\9 =RÏ͈Ž~JjªŠŸ¾”e}ÏÏã(]Ú,S™ôÑ””ÿ†C=zJ©R¦d¾ÿÉÑÑ"-Éù9sÓm^ÕœqrÊ|ôõõ([ÖüY¦¶hQ{öÜÁÖÖ„æÍí)UÊ cc}ôôôX·.Tc¾”69é/B‘[yJv®\¹BXX^^^ùB¼1’’’^^¨)V̈{÷’xü85ÓØ[·°¶6zVÖ§OÓ2$ëëé 䔵µ1÷ï?&5U•)á KÈU/“_íyæìܾù©TêyIÅŠ+Ûº©©»w·¡D ²üqí¥smrÒ_„"·ò”ì4nÜ€ 6äK0Bä–žž£FbÞ¼yºE={öÔu¯zõJ°mÛmæÍ»Èĉÿ=8&æ)K–„(eš6µgýú8;[Э›S¦º._~¤LþÏ©:ulر#Œ_ Ѹ•íîÝD6l¸™«:_&¿Úó:ÌÙÙ¾=ŒAƒ*iÜʶbÅU¢¢žÐºuie›žž††z™–Õ^´(˜GžR¼¸1/’“þ"„¹%sv„Bä‹Áƒ+ó÷ßaüöÛU£©[׆øø¸OtôÜÝmhÜX=ÿbèPWöì¹Ë˜1¬Xq•Úµm°²2"2ò !!±œ;÷åË›R¶¬ög»¼ÈÀ•øûï;Ì{‘£G#¨UËæÙjlw2|0ÏfF‘MùÕž×aÎŽ™™ݺùо}ììL¹x1†cÇ"ÑÓƒÁƒ+)åêÔ±åܹ‡¼óÎÚ¶-¨çá\¸óÒDrÖ_„"·$ÙB‘/ªU³ÆË«!'ž"((š  he_úsSÒomrt´`ÕªfŒÈùó1œ?£Q—››u®€Úµm˜2¥6?üp–'pâÄÜÝmhÕª4óæ]ÄÜ<ÿù+Èö¼jƒUâÈ‘p¶m»­lKÎNÆgäŒY?¿H®\‰eÅŠ«J¹¬Ãš5×3=oèy9é/B‘[’ì!„È13­¤ìС M›Úqøp8aa‰ëS³¦ d¾©Z5kvíjéSQœ?CRR*¥J™Q¥J1Üܬ•rÎΖŒéF:™ëHßW«–æ;ûô©@Ë–øøÜ'>>…Ê•­hÙ²“&4ÐÖ–Üœ3»íyÕ´µïEmnÜÓÈH¬ IDATØŽO>©Ì‘#?ÂÜÜR™V¥+^ܘ;Zsðà=n܈§X1cZ´°§LsÒÒTÄÆ>}áù gýE!rCO¥ÊîÝÁ™¥ß³.sv„®Éœñªôß¿ððpâãã³U¶R¥Šx{‡Ó©SöÊçÏÇP½zq‘óçcèÕËKK#üü:j]­M¡Iþ¾]sppÀÒÒ2·‡o‘!„…ÎÏ?_âúõ8ê×/‰­­1¡¡ñøøÜ'5UÅ€.’è!D!ÉŽBˆB§fÍâ:tŸ›75—Q~ï=g>û¬JG !„(lôu€Ð4{ölôôô8tèP®ŽŸ0azzzœ9s&"ÝìÙ §¹ì£L˜ >^ú¨(@#GºáãÓž9sê3vl5¦Lqg÷î6ÌœYCCÕBˆ¢BFv„BJŽŽæ™&Õ !„(Zddç53vìXT*ºEíÆŽU?"]ú¨B!^s’ì!„B! ¥"“ìdœËòÇP£F LMMqvvfÊ”)¤¥¥i”ïß¿?zzz ††Ð¬šåœÛ·aÈõµ06†R¥ o_xAeáB¨RE}.˜:5óuzð¾ú \]ÁÂB]oëÖ°i“z„I!„" EnÎÎüùóY¾|¹òû­[·˜Ê_¨ëkÑÕ#D.¨“¨¸8õˆÏó6mR_³»w!:ZÝn[[u{ŸõQîÞU':nnpü¸ºÞ¨(ðõ…=@ú¨B!^ ÈìLš4‰#F(¿÷ë×­[·²qãFnß¾M¹råòTÿ÷ßÏ'Ÿ|¢ü>uêT–-[Fdd$û÷ï§nݺXYY1cÆ 4hÀÅ‹³¬/!!Ý»wcooÏŽ;(V¬ÕªUcýúõ¸»»sæÌBBBpuuUŽ5j_~ù¥ò{Ÿ>}HMMåƒ>`ãÆ´iÓ†%J`ffF£Fhذ!æææ´hÑ‚-Zäé:I#F€Ÿüò œ?¯)™>ZµÊY=“&©ëJׯlÝ 7ªoËcåûï!CeêTX¶L˜íßÏú(VV0c4h/è£$$ÀîÝ`o¯¾îY¥Z5X¿ÜÝÕ·Î…„¨oEK7jdè£ôé©©ðÁê¶¶i%J¨oµkÔžõQÌÍÕI•ôQ!„B¼D‘ûZTÛ*g...ÄÅÅå¹þç“}}}œœœ°°°PtÎÎ΀ú–´¬Ü¸qƒ””š7o®$:é iß¾=W¯^ÕØ—¾=£:h”511aÙ²elÞ¼™úõë3vìXV®\ÉÍ›7³ÓT¡ÍÒ¥ê96‡«o¿?>çuh[åìY%úh¦$A__=ÏÆÂâ¿D'ݳ>Ê ú(7n¨G†š7ÿ/ÑIghé}ñ¹>Š–>ʳ>ª”51Q'b›7«oƒ;V®é£B!„Ȇ"7²cff–i›žžúsocK¿…ëù… ’’’²¬_ÛÜ==½,·guŽ¬ÊæEzëêÛ·/ï¼ó$00¿þú‹¡C‡ÒªU+Ö¬Y“)Á/aaê×W®¨““œ^C-}”ô÷,ãmlé·pië?/è£ZçÞèée½=«sdU6/ÒëÈXWß¾ðÎ;êy?êùOC‡ªGÌÖ¬Éùõù"èn3}f2 þ:Té ëpòä^ì=vïærÄe"â#°1³¡¾c}º×쎹Qæçô úk“k­kp£Á´©ÔFë¾kQרr~ W"¯`d`D²ux¿öûXšX*eÂãým45JÕàë6_gªcOðV®¤¤EI¦uœ†•‰U.[-„EC‘Kv²ËÞÞPOìO ê üÇeq”/_CCCŽ9Bll¬Fò‘ššÊ¾}û¨T©’Æq{÷î¥MÍpwïÞ @ÅŠ5¶[YYÑ­[7ºuë¨U¨U«S§NeÖ¬YùÞ¦BëÞ=õ<;;õˆÎèÑðÑGê¹)!½_††þ÷Ôø_a¥|yõΑ#ê¹>“ÔTõ €çú({÷ªoUËèYå¹>Š•të¦þõµj©oÁ“>ª?âÄí´sm§ëPòäÀ?˜z`j¦9›;.î`Éñ%¬ì½gg}·HJÖþ…B—j]´n_°‚™>3IIûoµÁ=Á{Xì·˜€/þ[€ãqòcNÜ>¡Aæž7ŸÛÌÄÝ)i^’©¦J¢#„ÙPäncË®êÕ«0fÌ._¾LRR§OŸÆÓÓ“;wî¼²8,,,èØ±#ááá¼û:uŠÄÄD.]ºDŸ>}8þ<îîîóu¼¼¼˜;w.÷ïßçáǬ]»–/¾ø€=z@çÎÙ¼y3¡¡¡<}ú”û÷ï³eË®_¿þÊÚùÆKIQ¯¼öàz…±Q£`øpõíWsæÌ9ŸõQÆŒQ/§O«x…} èØQ}«Û»ï©Sê„ëÒ%õ<œóçÕóvžë£xyÁܹpÿ><|¨^áYåY% @½pÂæÍê¤îéSuùg}é£"¢£(mUšÁ 3£Ó ~ëõß´ùKî<ºÃ„]´çjçÊŸ}ÿÌôÓ¶rÛLew^ÚÉ´ÓP¡¢g­žüâù ¿õú¡M†f;Î?OÿÉø]ã)mUšõ¬Ç¥„K®Û,„E‰Œìd¡OŸ>|÷Ýwüû￸¹¹)ÛË–-ËÛo¿­Œ¨¼ ^^^?~êÕ«§±ÏÒÒ’¥K—f:ÆÓÓ“1cÆ0fÌíýúõSF|RSSÙµk»víÊt¼žž}ûöÍÇVr&¨G6f΄–-ÕÛæÎUßv5a‚z‚}³fù{Î>}ÔK5ÿû¯zµ²teËÂÛoÿ7¢ò*xy©G“||à¹>Š¥¥z.Óó<=Õ‰Ús}”~ýþñIM…]»Ô?ÏÓÓSßâ&D|Ôà#F7­q{oK—–´smGû¥í ¸@ÂÓ,Œ-4޳2±¢Q¹F/­?%-…i¦0£Ó º×è®qžO’Õ¡Š%þK˜uhKTdUŸUØ[Ú¿ô!„j2²“SSSöîÝKûöí177§X±btïÞcÇŽaggWàçÏø¯‹‹ <˜²eËbhhˆ½½=½{÷& Ó3v@ýÓŸþ™Ê•+cllL… øñÇùý÷ß•2 6d×®]ôìÙ“ *`bbBÙ²eéÚµ+û÷ïÇÓÓ³ÀÛY(lÙ¢½éÚUýœštFFêçïØØ¨G}^4É?7LMÕ·‚µo¯^¡¬X1èÞŽSßJWÐ2ΫqqQ'vƒ«“-CCõ­u½{«Gg´ôQ&L€Ÿ†Ê•ÕÏ%ªP~ü2ôQ6T':={ª÷›˜¨ëïÚU½rœôÑ×BD|³}g3ø¯ÁŒØ:‚m¶i]ÊÿrÄe~:ðC7å³MŸ1ýàt.„_ÐAÄÿ±1³Ñ:'ÒÑÚ[õèIš*sÖ²pøúa"ã#q/㮑è¤{Ù­h^G¼˜uhnön¬í·V!„È!=U.Ó³gO6lØou“&MâÇÄßߟF^þ­¡PÓÓÓcÔ¨QÌ›7Oס~“&©“õˆUUÐÿÂÃÉÏVÙJ•*âíN§NÙ+Ÿ_?Ì ¿1¸á`v\ÜAD|„ÆþŽU;âÝÍ[I$6ŸÛÌø]ãµ&AsÞ™C·êÝ^zÎÖ~@jZj¶â+nVœ_<ÉVYmâžÄñÖ‚·¨T²›?ܬ±¯æœš”´(Iãr¹w385àÝïfZÐ`Žïù-b|«ñ´smÇŠ€Ü|xKÚ¹¶ËtÛÛ͇7iókš–oJ»*¬X{w–÷ZN1SYŒC¼zºøû"DFXZZ¾¼ vä6¶×È;wرc ^˜@ˆ×Î;êgé€zaQäýøl+0ªù(ì,ì¸~¥Ç—²ûòn6ºl¤g-uRøÛ‰ßPoMË7ÅPßo°ýÂvbÇfë\'nŸÈv²SÒ¢dîôÌä}“y’ú„ ­µÏÙ¹s›Û1·•ßw\ÜÁ¯þ¿²¼×r*–øoûq÷x’ò„n+º‘ð4AÙ·éÜ&ºUïÆì.³3.¿uœc7ŽQ³tMVöY©uU8!„/'ÉÎkâ³Ï>ã×_ yóæ888è8"!žóÙgð¬Ò¼9H€¥›?ÜŒ™‘zÉôV•ZQß±>ý×ögý™õJ²c¨oˆkIW&µ›¤qüÀú‰{’½çG­ê³JëÈ6FF9h…¦Ù¾³Ùvaß¶ý–†N 3í·5·¥C•Ô,]s#s®E]cÍé5ÜŽ¹Í°ÍÃØõñ. ô xšú€_ýÅÕΕþuûSÜ´8gîžayÀr¶]ØFãréY»§Æ9lÌlˆIŠáꃫœ¿^kB!^N’׈­­--Z´`Ñ¢EºEílmÕ%•>*žéTµ“’è¤kìÜGkG‚#ƒ•mŸ4þ„1;Æ0zûhZWj›½.%\Ð×ÓÏöÊý_¥R1õÀTþüƒ ­&0°þ@­åv Þ¥±`AëJ­éíÞ›÷V¾Çµ¨kÞT/H‘q°t`Mß5˜šê¤°²]eFmÅŽK;2%;®v®|P÷FlÁ࿳âýÔwÔ2÷M!Ä I²óšX¼x1‹/ÖuBdmñbõd5¤¸YqîÆÞU~ïìÖ™jÕØyq'›Ïm&82˜')OèR­ cZŒÉÖ|”‚œ³“ªJeüßãÙz~+ß´ù†|”eÙçWfõBo»¾Íb¿ÅÜ|xSIv‹;ðV…·”D']úÃG3Þ—Q;×vüÜígFnÉ õƒø½÷ïÔ-[7ÛmB!ÉŽBˆ<¸p?ójj O¸u=ÓÊal+0¢Ùå÷ó÷ÏóÁÚˆŒÌVbRPsv§Þv}P¯ö6åŸ)ÀËoÏëXµ#iª4¾Üñ%× äÞP«t­lµO!Š:Iv„Bäš›½ãÿÏ\ß¹Ø[ÙJü“xÌÌÚd¨Rî÷€ßYâ¿[s[œŠ;ñ4å)W\!%-…–.-³u®‚˜³3çðn`ibÉß—þæïKg*3½ÓtœmœõHÖ¯þ¿bfd†Sq'Œ Œ¹sKYQîÓFŸRºXiåX=¾kû#¶Ž`Øæa8Z;bcnÃõ¨ë$«p³wËv[…¢(’dG!DŽÕ*]‹?ûþ‰³3¥¬J1¨Á B£C176§R‰J™ž3 ÞÔ@tb4·cncnlNYë²:~ÌFCx·Æ»/,“>ªꑬÝð$å ·bn÷${K{­_XG·êÝèâÖ…kQ׈OYë²8Xf^¾ÝÁÊ?ûþI1í 6t«Þ ×’®Ä>‰…\?\ˆœIMMÖuBäš$;B!r¬¸YqeÅ1P¯ÊV»ÌË'ÎÛšÛbkn[¡åˆK \J¸äø8C*—¬œ£c ô pµs}aSCS몛ƒŒæˆWkþü÷Ø·¯cÆŒ‘‡ž‹7Nž’ÂÂÂ2}ƒ'„.xyyáåå¥ë0Dâèøâoó…âͧ⭷>àðáÙtèÐÞ½{3jÔ(Š/®ëÀ„È–<%;•+WÆÌÌŒÎ;¿¼°ÈËË‹êÕ«Ó®];]‡"Šˆ¿ÿþ[’!D Gƒ=ùöÛ·Ù¼y3sçÎeçÎŒ5о}û¢¯¯¯ë…x¡<%;%J” D‰Ì›7/¿â"W¼¼¼h×®ôEñÊ„……é:!„xe èÙ³';vä—_~aÚ´ilß¾éÓ§S±bÅ—W „ŽH:.„B!²ÅÒÒ’¯¾úŠ-[¶ðôéSºvíÊÊ•+u–Y’dG!„BäHÕªUÙ´iŸ}öÓ¦McøðáÄÅÅé:,!2‘dG!„Bä˜#FŒ`ÕªUœ:uŠwß}—ÐÐP]‡%„Iv„B!D®5lØ­[·beeE¯^½8uê”®CB!ÉŽB!„È{{{Ö®]K½zõøðÃñ÷÷×uHB’ì˜õë×ãááÁ™3gtJž¦¶ëÖãñ?ÎÜ~óß³ÂÔ!„(ÌÌÌÌX¸p!mÚ´aÈ!;vL×! !ÉNA¹}û6¾¾¾ÄÄÄè:”lYµjœ;w.Ó¾7­-nG߯7Ä—˜Ä7ã=[å· ÿypþ÷†µE!Š2æÌ™C»ví:t(.\ÐuH¢ˆ“d§€¼ÿþûøøøàîî®ëP²åæÍ›øúúòèÑ£LûÞ´¶x¿ÁûøŒõÁÝéÍxÏnFßÄ7Ä—GIZúßÖ!„(ê ˜5kuêÔáã?æÎ;ºIa’ì'''<<<(^¼¸®CɳÂÔ–¢ÂÉÖ *7óß³ÂÔ–¢bÓ¹MTšQ‰=Á{”mçî£ÒŒJxõÖad¯ŸÀ°@>\÷!îóÜ©5§}þìÃÑУºKˆ<344dáÂ…”(Q‚áÇóôéS]‡$Š(C]””Ä¢E‹ðõõE¥RѼys>ÿüs¼½½Ù³gÛ¶mÃÚÚZ㘃²qãFBCC122¢~ýú|úé§888(e–,Yš5kX¶lÉÉÉ,\¸«W¯âààÀÀiÕª•ÖxrZwRRK–,!$$„wß}—¡C‡²~ýz-Z„——W¦___6mÚĵk×077§nݺ|úé§ØÚÚ¾ôZ¥¦¦²nÝ:öìÙCxx8¶¶¶´nÝš`jjª5¾¸¸8/^ÌÍ›7)S¦ ƒ ¢Y³fJÙ1cưyófFŒ¡\kwww¼¼¼²lKnbÉÉûðª$%'±èÐ"|ƒ}Q¡¢yåæ|Þês¼x³çü¶ ߆µÙsýïòA6žÜHèƒPŒ Œ¨ï\ŸO[~ŠC± }äðÖ_ò—‘œšÌBŸ…\¸ŠC16H«ªYô¿Ö”œÄ’ÃK á]÷wê1”õëYth^½½2ˆø†ø²éä&®E^ÃÜØœºåêòiËO±µÈFÿKKe]À:öœßCxl8¶¶´®ÚšM`j”á=Ï_Üã8û.æfÔMÊ/àfƒhV)Cÿûk ›O=ëkF(×ÚÝɯÞ^Y¶%7±ää}…O`X ½W÷ft‹Ñ|Þôs]‡Ã‘Ð#|¼ácRÓR•m·øè¯ðîæMǪuygaaÁ‚ èÞ½;Ó¦McÊ”)ºIA:Ov=zDË–- R¶íرƒ 6P±bE|}}INNVö¥¥¥ñÑGezZïŽ;ðööfß¾}Ô­[€ëׯãëëËÎ;ùæ›oHLLTʯZµŠõë×Ó³gÏ<Õ½qãF&OžÌ“'O¨^½: }žKjj*dõêÕõoܸ‘3fA–×*!!:pô¨æ·~ëׯgÁ‚ìß¿{{{ø6lØÀäÉ“5¾QY±bóçÏgøðáqãÆ ­‹hkKnbÉîûð*=JzDËÿµ$èv†þ´ƒ ¨hWß_’S3ô?U­øˆ•~Ïõ‘ xôfßè}Ô-÷¬D^Ç7Ä—gwòÍ–oH|š¡Ýþ«XÿÉzzÖï™§º7žÜÈäí“y’ò¬ÿ•yÖÿ´ÌsIMKeàŠ¬ö®ÿÜÈŒ=3ˆöŠÆ@ÿýïI¼:pôêsïyÀz\Àþ1û±·²×ˆoCà&ï˜ÌÓ” ýïßÌï3Ÿá­Ÿõ¿° nDÝк¶¶ä&–ì¾¢`Ô,]“«®ê:Œ×Frj2ßîù–Ô´T5ÄЦC1Ð3`Õ©UÌ;ûL¡I÷ý÷ßÓ¡Cúô郩©){öìaéÒ¥Œ=švíÚQ¥JæÌ™ƒ··7Ë—/ÇÛÛ›š5k¼ð¶µÜÄ’Ý÷áUš¸y"A·ƒp²uâ«ö_ábçBðý`fõƒ÷¬=³Xé·;†¶Š[i7ž¤[õ›‡=×ÿ¶O‡èÓ°¦F¦ì9¿‡¥G–2zýhÚUkG•RU˜ÓsÞ½Y~t9Þ}¼©YöYÿ{Ámk¹‰%»ïƒ¯Â¿7þåΣ;4pjÀ×m¾V¶Þôs.†_doð^þ ù‡nÕ»é0J!òG‡èÒ¥ ß~û-»wïÆÂÂB×!‰"D§ÉNJJ +W®ÄÊÊ ???Ê–- @§NèÒ¥‹ò¡;J¥bîܹ”*UŠÀÀ@lll”}žžžØØØ0cÆ üýýiÚ´©²ïƒ>`Ù²eÊïï¼óW®\Á××—ˆˆìíís]w·nÝØ°aÃKÛš––†··7FFF:tˆ hÔ?~üx ³~;RRRX¾|9¦¦¦=zWWWeßûï¿OÕªUÙºu+ááá·ÛuéÒE#éèÞ½;¥K—fÊ”)üþûïLŸ>ÚµkS¡BêÔ©£q‹[~Æ’÷áUJIKa¥ßJ¬L­ð›èGÙâÏú_ÍNt©Ý…šßkéÿÌ¥”u)¿ ÄÆ¿™g7r9â2©i©T,Y‘Þî½éQ«‹ý3ïð<æž§¼t2âp;@k2Ó­z7öïåÄ­’ìˆBcÒ¤I¼ýöÛ,X°€ñãÇë:Q„è4Ù¹~ý: ¼÷Þ{J¢“®råʼõÖ[Ýô)ªvÊQ]§îœbÆÁ¤ªÔsWÒTi¨T*Æî˶ Û4Ê^ޏÌä}“¹~‰i§êÿWFmÅß—þÖ({îÞ9ÎÝ;‡£µcnš¨¨2«ŠÆ¼š)iQÿ/˜â͇7pµsÍ´¯ª}Uu™˜›9ˆRˆ×›­­-#FŒ`Ö¬Yôïß?Óç>! ŠN“¤¤$ ëÛ¥2Ž®ÄÇÇêÄãÀYÖ›qN u⿱±1 žG“—º³÷hz[K–,™­òÏ{üø1 ½-·§—K§íÚ¦—MéUÅ’÷áUJzú¬ÿeq»TÆÑ€ø'ÏúH\$.½ <}®ÿi™øolð¬ÝÏ>@å¶nG›lö¿ägýÏ2—ý/ùÙ{žÅ"éÛÓË¥ÓvmÓ˦ÇôªbÉÎû ²oåÉ•\Џ„K &·›Œ{Yw¢£Yê¿”?Oÿ™£ºv_ÞMÏÚ=ù¤Ñ'”+^}¶žßʶ Û¨bW…¯Z}EíÒµ114áüýóü°ÿÖ­§G­Ô)[‡ç6þŸ½ûŽ«ºú8þºld( K† 4\æ79KÔ²P3Ç×Òê›i;-W–Ú’pdfî•‚3·i¹¨(D†‚ e^îïÛ½z½ ëŽó|âÔ…¯<¢X×¢ÿÕ²ìj÷¿ËM¥TZŠ®v ûŸé¿ïyÒ9Êeå*ë†Âÿ}ÏÍêIçÕ¦¥…'†+ë¤l5赬‹ Yû¯îG"‘°dèÜšËû¥‘©³ûÍ&!'S‰Õ?9ÝËÖ‹oû«ÒŸƒ#ƒÑÖÒfÕë«°2¾?êÖÅ¡ _^Hÿý9|ý0ì:±-R>UògÿŸééÔS™·½M{ÚÛ¨NG­˜Ocê\ÆÃÕ׫ó{ O"]]]Þyç¾úê+>ú裟Ñ!<›õœKKK:vìÈùóç™7oååå€|MÈôéÓ‰UGݬY3žþyΟ?ϵk×ðññ¡wïÞÊ9pà@­~yê³ljøùùÇ„ ÈÎÎV^+((à›o¾Q¶¿"–––tîÜ™«W¯òùçŸ+w¨“ÉdqèÐ!Z´hAÇŽU^7wî\epòÃC'O–Ï—ïÛ·¯2ÝØØ€¸¸¸*ÛRÛºWîP'“Éú+ˆC—Ñ´ê{æ*ƒ€¤ÛILÞôoÿóx ÿüÛÿ²ªÑÿjYA³’î$aml­ tÔ˹f»-õt꩸_ÏºŽ´\ŠßR?Ú|×†Ö Zã¶À ·nô_Ñ€´¼4ânÇaj`ªè<îLôMÈ-R?H7¯8OžÇÀ¤Aë$ aðàÁ˜™™©í|+õ¥Ñwcûúë¯ÀÃ86s$áV9÷rhoמÈ‘*Û1/±ß¾L\7‘·~Œ‹¥ :$ÞN$#ïß>òòÌœÔwÙ¯â»À—µ§×²%| ­,[¡­¥ÍÕô«””•ðÙ€ÏÔFIôÝ«ßÑwa_¾?ð=¿ŸøV–­HÎNVÖí»W¾SÛäÀÞÜžnßvÃÍÚ }}å½¼¼x½ËýÏáßþ·n"K.ÅHÏHyÎŽ¦ê"<¾Ì Õ§;*‚ïGM1|p[øúTkv͸–uÎvU®]ͼ*ÏcæXÚ ÂãOOO#F°qãF¦NúÈ#7Audä;r­Y³ 233 £¼¼œõë×+§Y)FÚµkÇÙ³g8p wïÞ%""‚³gÏ’‘‘›› ,P®©©ú,äÅñãÇéÙ³'EEEDGGséÒ% øòË/«ü…ïÓ§»wïÆÕÕ•ììlÂÂÂÈÈÈÀÖÖ–uëÖ1zôhµ×üüóÏøûûÃ¥K—())¡OŸ>ìÛ·O¥-~~~Œ;–ÒÒRÂÂÂøçŸ*Üú».uy½ÜñeÖŒ_ƒE 2ó3 K £\VÎú ë±3ÿ·ÿé?ÐÿìÚqvÚY¶ÈÝâ»D¤Dp6á,y¸Y¹±à•èéÔ²ÿÕcÙ ßéìøgÇééÚ“¢Ò"¢Ó¢¹”z ]¾ô%Ú’*ú_Û>ì~7®V®dßÍ&,1ŒŒ¼ lÍlY÷ßuŒîQAÿ ø/bÒc¸”z‰’²ú´íþö©´ÅÏͱ>c)•––Æ?×þ©pëïºÔEÐ,G3G2 2¸~ëºÚµc Çê\~«f­0Ô5äÂÔ Ä~[á?‹‡.VæÍ-Ê­rêœ"˜Öhuqoòð ¦umÙµAë$ eÈ!ܾ}›S§ª?ÝUjK"«Ãä`Å®eÕÙz¹*%%%DEEàááAyy9...’Pákrss‰¥¼¼''',--U®ÇÇÇ“œœŒ···JÀôàµ.]ºT¸ß{]ÊùAœqqqxyyU¸I@FF ˜ššâêêZãÑ¢ØØX222°°°ÀÝÝ]m ÈçŸ΂ ¸pá^^^ܸqƒäädìììhÙ²e¥åfffGqq1fffxyyUÙ–ªêR—÷¡º$ S¦LaáÂ…Ug®@IY Qiÿö?Êeå¸|á‚¡®! ó+é…¹ÄfÆR.+Ç©™–&õ‘¬x’³“ñvòV ˜¼ÖÅ© Mô+èu(äqÆeÅáåàUá&y$ÜJÀÔÐW+×ÅfÆ’‘—E Ü[TÐÿB>gÁþ\˜q//nܹAòídìÌíhiñˆþ—ŸI\fÅeŘ™áåàUe[ªªK]Þ‡GÑäß¿Šddd(7N©Š«k+‚‚28°zù5á·³¿±àè\š¹0»ïl:ÚvTÛ `ñÐÅôo#ŸrVÕÖÓ㺌S)?$2„Ïö|F{›ö¼ßó}¼l½0Ñ7!³ “kY׎ fT§Qø8ù°õÒV¾ØûF|ôüG<ïò<¦¦ÄÝŽcÓ…Mø·ó§«CWânÇÑï·~ôpìÁ¢!‹*Qj(¥ÒRúüÚ‡´¼4å¡¢:Z:¬=·–…ÇbnhÎ?ïþ#]}ý}>|8ÎÎÎ|÷Ýw-WxúX[[WøY»š¶>ó<.\È„ èÜY>”Ÿ——Ç{ï½GFF'N¬ôu¦¦¦<÷Üs•^wqqÁÅÅ¥Æ×êZ6€ƒƒÃ#µ¶¶V9ƒ¦¦\]]quu­v~;;»jmóhee¥¶.©ª¶TU—º¼ aá¡…Lð›@ç–ÿö¿Â<ÞÛøyL|þýÏДçÑG,]p±¬¤Ý¸Vײ,yÀ¨uSk•3hjÊÕÊW«ô?3;µí½+beb¥¶.©ª¶TU—º¼BåÞ|îMvEïâJæFoº?’&‘HÔvÚ6Ð55¬Ý0B“C ‰ áíà·+ÌózGùTÈWÚ¿Â?qÿ°?f?Ó÷MWË7°­|+l's'¬­9t•×ãœ]m]æöŸË[Áo±2l%+ÃV*¯I$f÷›-á©Ö§OV¯^L&«öf;‚P> ૯¾¢yóæxzzâåå… ë×¯ÇØØX<%Ô»¯v~Eó©Íñœé‰×/l>¶aý™õëóYÑÿ¡"ú:úl¹QFѼIsôuôñ°öà—a¿ÐË¥fTD"‘°`Ђ†ÑÓ©'¦¦èjëâ`æÀ‹­_ä—a¿ÐÓY¾!–D‹ECñÍ€oð²õÂP×c}c:ÚvdÞÀytw쀶–6K†-ÁÛÞC]Ã:×±®z¹ôbÃÈ ø8ùÐD¯ †º†tqèª×VÕø¬"AxÒôìÙ“[·nqýºúTXAФÇbdçã?&00Ë—/+Ó:tèÀòåËqvvnÄš Ï‚û~Làá@.§=Ðÿì;°üÍå87ýO*ÓÔ )³ûÍfv¿Ùj×^iÿŠÊÏímÚ« ôréUå¨Ê@÷Õúà/‘Hx½ãëÊÑžÊxÙz±ùÍU–×P¼í½Y v¥ž=žžž˜ššªv@ùãfÅŠÌŸ?Ÿ 6Э[·Æ®Ndee±hÑ"Ž=JVVÍš5ã…^`êÔ©•žŸÌÚµk‰‹‹ÃÐÐîÝ»óÉ'ŸàèXñ&*5Í_ß‹`gÖ¬Y|ùå—$&&’••…­­m£=§ÅÛo¿Mÿþýk4ÕíY5kð,¾|éKo%’•Ÿ…­™-ŽÍDÿ«‹·{½Mÿvýk4ÕMAxvhiiááá¡òEwcZ²d .dóæÍx{{Wý‚'PFFÆ SHÛ´iÇ'$$„fÍš©¼æ§Ÿ~béҥʟ‹‹‹Ù¿?§OŸ&88XmP¢¦ùÂc1 @GGWWWzôè! pqq¡wïÞuYÐõLÑÑÒÁÕÊ•­zˆ@G\,]èݦw…›'‚ €»»ûcì<Ê„ ˆ}âGu¾ÿþ{222ðööfçÎDEEqàÀ^|ñERSSùá‡TòÇÆÆ²lÙ2ôôôøî»ïˆŒŒäرcôë×ÜÜ\¾þúë:åo(M°#‚ ‚ <;ÜÜ܈oìj<3þúë/tttøå—_ðôôÄÀÀ€V­Zˆ¥¥%»víâîÝ»Êü!!!”——3qâD† †¡¡!¶¶¶üôÓOXYYqüøqÒÓÓk¿¡ˆ`GAAhp666Ü»w¼¼<¾ÿþ{\]]¹rå ›7ofàÀ´mÛ–yóæðÑGáêêJNNŽZ9ŠkyyyÊ´ËÛ¶m ÀÃÃ^½zDyy¹2ï›o¾©<º" @¹ËìÈ‘#ùšWWWΞ=[aù6l oß¾xzz2hÐ Ž9@aa!_ý5>>>xxxÀ•+WÔê÷î]éׯžžžtìØ‘7Þxƒ'Nhà)Ë•””ŸŸO‹-077W¹¦¯¯‹‹ ÅÅÅ*g,†††0xð`µü @&“)óÔ&Cy,Öì‚ ‚ Ï–-Z¨|Û¿|ùrvïÞ­üùÁ ¤6Ö®]«rZZZAAAÈd2>øàƒ:• ò@hçÎû‡ÇÄÄðÎ;ï°yófæÏŸÏ¹sç”×ÂÃÃùïÿËÑ£GÑ××äç:¨ìJW\\Ì™3g8{ö,?üðþþþÊ×T»nƒ âçŸ@OO&MšžžNNNŽJÀS\\¬aKLL¤gOùN—IIIèééáää¤V¶»»»2BMó71²#‚ ‚ 48ÅîÜÜ\eÚþýû™6m'Ož$66–éÓÕÏΪ‰]»v1cÆ N:EDD?þø#ÚÚÚ¬[·™LÈ¢©S§°yófbcc‰eãÆU–ðàAæÎKhh(áááLš4 ©TÊ„ ¸uë«W¯&""‚¿ÿþ233U‚¹ùóçsýúuúõëÇöíÛ‰ŒŒ$<<œÀÀ@š6mÊœ9s(,,¬Ó3Pðó󣬬ŒwÞy‡èèhŠŠŠˆ‹‹cÊ”)ܺu €üü|eþ‚‚š6mZá9H¦¦¦uÎßPÄÈŽ ‚ ‚Ðà (**R¦?žñãÇkìï¿ÿ>o¾ù¦òg:Äþýû¹yó&¶¶¶u.ÿÁÑ–?ü-[¶ÍÚµkñôô I“&|òÉ' :”ØXù–û%%%ìÞ½777/^¬  y饗ÈÍÍeæÌ™„……Ñ«W/¼½½•¯­O>ù„3gή-ù&aƒ âÏ?ÿ¬ö¯Š@±ºjš_“êì\»vëׯãàPùéæ‚ÐP–/_NpppcWCxFܾ}77·Æ®† ÂKì<8r¡˜B¥)í Ö²eK•ÅøµÕµkW•Ÿµ´´°±±¡°°Pè(ØÙÙ(GQRRR(**"66V9ÍK&“)Å¿ÓÒÒê\OGGG¶oßN`` 'Ož$//6mÚðé§ŸràÀ•³vŒÉËËC&“©AŠõQ&&&µÎßPÄÈŽðÔhÌo AA¨Åz-­û«*^<¯ øð\ÑžG†¦¨**KŸko.¿²ôï«h‹L&C*•VzÒÒR nkvøñÇÕò~õÕW´k×N™æèèHDD‰‰‰jçã\½zU™§¶ùJ‚Ö­[Óºuk•…_‚Ð$ 'NTî¦"õmøðá]A„'šbd¥:g*»LMMU9ø²°°Pe±ÚR\ :4ÍÞÞ===Ú·oÏüÑ`÷}ØÎ;ILLÄÅÅ…¶mÛ*Ó»víJDD»víRÙÌAqP¨D"¡K—.µÎßPÄ‚ ‚ BƒS;Mš4©2¯bÚð·ß~K\\EEE\¾|™wß}—ŒŒŒ:×E±€þøñãÛ *е9çÎcêÔ©\¼x‘¼¼<Š‹‹‰‹‹#$$„W_}•’’åšêþóð¨NBB‚ò>………dee±jÕ*¦M›È×=è•W^AKK‹_ý•mÛ¶QXXHZZ~ø!øúúbccSëü ELcAj-=?ãñÇIÏOG†Œwz¼ChJ(çRÏ1Âk–Æ–dd²ùâfºµìF·–Oö)äO²ê¾_‚fˆ~ÿh@õ‚—_~™… rîÜ9úõë§L·¶¶Æ××·ÎgÒtëÖ ‰D²eËX¶l ©¨ÎŽlu1}út®\¹ÂîÝ»Uvi{¦¦é———WzŸI“&Ñ¿•4WWW&MšÄÒ¥KùôÓOùôÓO•×LMM™1cFò71²#‚ ÔJXJ/.‘/ö}ÁÏ'~&èD¥å¥œJ-/ A„¥„5bÍŠ…ú.НŒ¾¾>«W¯ÆÏÏCCCŒéÛ·/[·nU™ÖV[­ZµbÞ¼y¸ºº¢««[çòªËÔÔ”àà`>ûì3Úµk‡‘‘†††¸ººòúë¯RáúŸÚpqqaÑ¢EtéÒ…&MšÐ´iS|}}Y±büq…¯ùðÙ7omÛ¶E__333ú÷ïOHHˆÚºœÚäoYÂEÅœu±fGhl‰„)S¦ˆ5;Bƒ©ï¿Êo=«âêÚŠ   ¬^~M½i4§“N3Ð} .Í\Ð’hU:Ry3’¡k†2Ùw2“}'7h=¹š¼_‚fT4²žNÀú¦öšÊ{>ï5r «VŸ_V¯^ÍÒ¥K ÕxÙÂÓÃÚÚºZëº*±ULcAj%îv®Í] ¤’ÞÓ©'=4»}¬PwâýjxVÆV"¸„„„ZµjÕØÕžr ì|ûí·ØÚÚ2vìØ†¼m½xšÚRObû¿ýö,¶¶M;¶]Õ™sOS[jãYoc;Œ‹i¹Sx ‚NU˜¯º#R™”Ó‰§‰ÉŠ¡¬¼ g gžwy}ûS7’r’ؽ“^.½ð²õâlòY.ݼ„¾Ž>½\zádîTaÙ Ù \ºy‰›y71Ö7ÆËÖ‹v-Tû̓ew°éÀ©ÄS\ɼ‚™¡ýÛôÇD_~.Dai!‡¯æFî ìÍìé׺ºÚêÓ]ªÓž†T—÷+¿8ŸcñÇH¹“‚¾Ž>íZ´£‹CÍwS*•–r<á8Éw’‘Éd8š;âã䃎ú¶À5y~éùé=J^qnÍÝxÞåy®ÝºÆ¡k‡è>׿®¬WnQ.kÂ×àeëE/—^Êô„ìv_Þ¹¡9£Ÿ­L/+/cé©¥¸5wc€û•¾ÓѦ#g“ÏM½&x¨ì„¥„Àé¤ÓHËïïüõ`Pô¸õ¡úßhS›„gGƒ;ÞÞÞOÔäÊÇ9‘p¡óÿüȦQ›(•–2~ËxÒóÓ•×<­=Ù2z‹ÊÐê¶çQX„ŒêÍ07Ò5bB· ÌSÛ÷kÌ~¾ØûùÅù*ù:ÙubÉÐ%X[U«ŽiLÚ6‰¬‚,•ôæMšó³ÿÏ* ÷kòü¶^ÚÊÌ3)‘–(Ó¼l½xÙãe‚NÑÚ²u•Áމ¾ kÏ­åxÂq•`ggôNŸ\Œ¶–6þžþ45h À…:ħ½å ¯}GO[O¥ïxZ{à \³3Ùw2ÝZv#4%”àKòïÏ$Q韊`G}èI •J‰ŠŠRÙl@êCƒ;Ó¦MÃÖÖ¶!oYož¦¶TfΜ9ôîÝ»Â`çIlÿ´iݱµ­zÇ—'ÁÓÔ–ÊÌ™sŠÞ½* vž…ö?Îz¹ô¢©AS–^†¹¡9¯{½®rýdâIÎ¥ž«²œ¹7·eyEyt´íHG›Žèéè•Å™¤3¼ü‡Þ:„±þý¹Ú+ÃVRP\€¿§?Ö&ÖD§Gs2ñ$3ÎäÅÖ/*GaîßåLÒÚµhG[«¶4oÒœ¼âN>¬¾=m=F?7š~¿õãHìe°S›öTä>ÿ«ÑÈNUjó~­8»‚²ò2ÆuÇ´¦)ƒšO{ʰ5øpãg’ÏÐñG•÷Ͼ—³…3;ÇíDK¢¥’ž}/[ùsMžßêðÕHË¥j^LöÌàUƒ«¬Óƒ|}Ù{u/§OѯM?òŠòˆÊˆâÓÞŸ²2t%'N(ƒ '°0² ­U[•2 K Ù5n.Í\y¯.]H$_ ¦‡cµ 4Õ‡ž'OžÄXx8 IDATÎÎ''§Æ®Šð”{,Ö씕•ñ×_…T*ÅÝݾ}ûb` >—àܹsœ>}š¼¼<ììì0`VVV*åÍ;www¸zõ*¤¸¸˜=zTú-B~~>»wï&)) {{{† ‚T*%00®]»2pàÀJÛRÛ{V§=U©Îó{¸~/^äï¿ÿF*•âëëK·n÷?<&''³råJÊËˉgÖ¬YÊkcÇŽÅÉÉ©Nïe]žU]T¶Î£¬¬œ¿þJ&*êRi9îîÍèÛ׃Š=ÎËàôé4òòJ°³3fÀg¬¬ŒTÊ›;÷ îî¸sõj6&R\,¥G[|}í*,7?¿„Ý»ãHJÊÃÞÞ„!C\‘Jež£k× xÿ¢·¥¶÷¬N{ªRç÷pý.^Ìäï¿SJeøúÚÑ­ÛýCÆ’“óX¹2Šòrññ¹ÌšuJymìXOœœLëô^ÖåY šu*éÚm²ïe³äÔd2™ò<‰»¥òÃ#oFB§û¯Ön˜J лUo‚/“‘ÿ`A-‰¿‡þÎþ˜ýÞûÖ]õm–‡¶ª t´%ÚtkÙ¸ÛqLè:Aè8[8cÛÔ–¹7êÔžŠ¼ïûþ£34€s©çЖhóÑó©ŒÞ˜š3©Ç$¦ï›Î¹ÔsôpìAai!¿ýMåõ:¼ÝýmúµéÇÊЕl‰ØÂ ®/(§¿YY`atËáš<¿ó©ç1Ô5佞ªÁ‚ƒ™¯{½Îг+”iUÕO1Js"ñýÚôãTÒ)¤åR|}¹–uM95-·(—¨ô(µ¤6¢åïé_e SšêCO‚þùGŒê ¢Ñ×ì\¾|™¡C‡ríÚ5•¼vvvlÙ²eZFF#GŽäÈ‘#*yŒŒX¼x1ãÆä¦gÏž¿¿?III|ñÅ*2M˜0ß~SýÃÎË/¿LzúýùØ666üúë¯Ìž=›÷Þ{O-Øy°-µ¹guÛó(Õ}~ÖïÒ¥KÌ›7O%ÿo¼ÁªU«ÐÑÑ!99™Ù³gòRÿ лwoe°SÛ÷²6ÏJ*Zçqùòm†ÝÁµk9ÕÙ˜-[ããsª^FÆ=FŽü“#G’Uòé²xqÆ»xÌž} W’’òøâ‹c<¸Áû„ íùí7Õ9Êááé¼üòvÒÓï*Óllšðë¯}™=ûï½×é¡`Gµ-µ¹guÛó(Õ}~ÖïÒ¥,æÍS=kå7|˜+W®ðÒK/ R©”—^z‰ððpœœœèׯæææÄÅűsçN&L˜@Û¶méÞ½»²ü3gΰ{÷n €§§'7nÜ`ëÖ­¬X±‚€€úôéÈGtüýýIOO§uëÖôíÛ—²²28À„ 5ûŸHuïY›öÔåù)œ:uŠ;w*ë—’’¶mÛX¿~=nnn̘1ƒ–-[2sæÌ 7(¨l¸¹6u©î³ª/÷î•2p`IIy´lÙ”œÑÓÓæðá$®\¹ÍK/m#:z66MJe¼ôÒ6ÂÃÓqr2¥_?'ÌÍ ˆ‹»ÃαL˜p€¶m›Ñ½ûƒíKc÷î8 pÁÓ³7n°uk +VDЖ>}äòóKð÷ßAzú]Z·6§o_'ÊÊÊ9p ‘ Ô¨MÕ½gmÚS—ç§pêT;wÆ2`€3žžÍIIÉgÛ¶k¬_77sfÌèAË–&ÌœéÜ9§pr2UY³ãäÔTcu©î³êOSƒ¦”HKx«Û[•æ©jyeþŽûöMØG3£ûÊd2Ö„¯©ÖZ“šÒT{4½f§6šê7åfÞMŠÊŠÔžä;ò/HL Lù(ÉÃSã|–D‹W;¼Ê«^¥\VNbv"GãŽòᮉNæ“ÞŸÈïYƒçgj`Jz~:R™T-àI¹“¢V—GÕäÛo¯;·N¹–H1Úãëì‹D"áDâ ¢Ó£•iÓÖRºj£>''[¶l¡E‹ôèQõ4HA¨«F v6nÜHRR>>>Ì{SfÍòQ»·&êRÝg%ÔGþˆøGsGü=ýÕ®_ͼª\0^S‰môµU·êýåô/äåbfhV«rESíÑôšÚxÎþ9vFïdá±…|ñÂÊô;…wX~f¹2ÈG¸u–ÌÑØ£ôré…¶–6Z-\š¹àdáĺsë‰ Q;5y~í;³+zKO.U™ö—r'…-[T^WUýüœýXwnëÏ­'57•>äÓöÚZµåxüq®d^¡U³V•n>P]Š>y§ðŽÚµúüx\”––²}ûvF­òÙGêK£;§Nɧ§Ìž=[ùá@WW—yóæÂÉ“'8|X¾Í¨±±1óæÍSN{RÌg533#<<\¥üN:©|”SÑÒÒÒ”i§OŸ`ÆŒÊ@äÓɦOŸÎ AƒªÝ¦êÞ³6íyXMžŸ‚›››J Э[7† Bpp0—/_¦C‡Õno]êRÝgU_N’ϵŸ=»§òÃ1€®®óæùr“'åyNÀØXyóÎ>ð~ñïû¥OxxºJù:Y«|”SÑÒÒîŸD}ú´¼­3fôP: ŸN6}zw ÚVí6U÷žµiÏÃjòüÜÜÌU€nÝl2Ä•ààk\¾|›j~‚{mêRÝg%ÔŸw|ÞaÌ~>Úý«ÂVÑѦ#&&ddqíÖ5"oF²òµ•Ø™Ö|U'ÛNDÞŒäåU/ónÿÈסD§G×K škÏã°fç¿]ÿËž+{ø=ôwÂSÃél×™‚âþŠý‹ì{ÙxÙzѽeå3ôÞö÷074§³}gÌ(•–r&ù ©¹©¸[¹+óÕäùõËž+{øùÄÏœJ:¥²›nÅë}¥[Ënèhé°áÂ$‰Ê蟳+ÃVR*-UnFQfhI´Øzi+eåe˜šòÍêówâq±}ûvrssyõÕW»*Â3¢QƒœùÜzõE}...H$²³å;µdeÉ÷ç¯ÉZµ4ccùv¥¥¥jõ¨hŠVMw ©î=kÓž‡Õäù)Tvx—"]QfCÔ¥ºÏª¾ääý[?õ>..fH$-Ï“•UÀo¿]ªvùêß¾ßqx¸NN¦jù+JÓÄ=kÓž‡Õäù)8;WÜEº¢Ì†¨KuŸ•PìMíY7bíþˆ¨ô(¢Ò£T®·µj[ëu“}'s:é4×o]gUØ*t´tøºÿ×l¼°Qí M¨Ïö44kýùbïD¤E‘¡¼¦8g§ºS_p}C×±ïê>•t{S{¾ð­ÊÏÕ}~l:0·ÿ\f˜IXJa)at´íÈ`Á|}øëµ·‰^:Ùu",% k•|}ùõ̯®×©)3C3†µFð¥`Ö[§LŸì;ù©êC)..fÑ¢EТEÝFÈ¡º5Ø17—›¯ö!9>>™L†………JÞwß}KËŠ¿ù52ªÝp¾¢ìÄÄD•5%Š´ú ‰öÔäù)$$$TX–"]QfMÕ¦.ÍÜ\þí_|ü\\T?„ÇÇßA& •¼ï¾ë…¥eÅï‹‘Qí~e'&檬)Q¤ÕM´§&ÏO!!¡âö(ÒeÖTmê"ÔÝÄîU>*ø8ù ¯£Os£æÊ4kkåÁŠò°ö`ï÷rþÆy¢Ò£(,-¤…I ÚX¶¡­õýí}Í™ì;™NvêÛP)®u°¹?*mfhÆîñ»9{„ÄìDš4¥—K/l›ÚR.+WÙXàQeû9ûÑD¯ Íš4S»öÆsoP\V\«ö4†š¼_ýÛôÇÇчc ÇH½“ŠžŽí[´§‹C—ÝwñÐÅddžNÊŒôŒp¶p¦‡c•­¨¡fÏox‡áø:ùr4î(ùÅù¸6w¥w«ÞìˆÚQ£ú)¼çóçoœW;´ÓÛÞ[9 ®»£êhÖ£úTÞïç ˜Ç`Á\θ̽RÕ©Êsª«µk×rçÎÞ{ェ3 ‚†4j°ãããêU«˜={6>>>Ê÷eee|ùå—ôì)ÿ¥OŸ>¬\¹’²²2f̘––êÈôôtRRT%VW=X½z5sçÎeÇŽèêÊ¿Ý-**RÛµLS4ÑžšTÖ䚎–}[÷UKð ¨vپξ.HÕiT…éÕiOc¨Éû¥ÐÔ )/µ­|í^uY[2À}@µòÖäùÙ4µÑØ™3•½×ºÚº5î{ •õ{‰D‚“>N¯I|\ûP]deeñ믿2vìØJ¿ä„úШÁÎÈ‘#™;w.'NœÀÃÃCe¯Ë—/cnnÎ;ï¼Àk¯½F`` Ë—/çÀôéÓkkkrrr¸~ý:ÇŽãÃ?¤K—š}ã0bÄfΜÉÞ½{iß¾=}ûöE*•²ÿ~ äs÷5½s&ÚS“ç§`iiÉØ±cùã?h×®ÉÉÉlÛ¶²²2¦NŠŽÎý.áêêÊ… =z4ÎÎÎhii)ÏÙÑD]ÛÈ‘îÌ{š'nàá±Je¯Ë—ocnnÀ;ïxðÚkm <Çòå—8p ‘>}±¶6"'§ˆë×s8v,•?ô¦K—šËáÎÌ™'Ù»7žöíWÓ·¯Ri9û÷'PP ŸÎ§é£4Ñžš|˜¨¨(¤R)mÚ´¡ÿþ¨Î±oÞ¼9»víâêÕ«?~œ¬¬,,--qssÃÏÏO¹…¡ŽŽ3gÎÄÝ݇)®=8] ä;’]¿~]»v‘’’‚½½=þþþüù矀úbú‡ÛR›{V·=R“ç§0þ|^{í5þùçÊËËéÙ³g…çùŒ3†Î;ó÷ß“““Cyy¹2ЩË{Y›g¥ Ó¦uÇÖVõ¬‡G3¢£ÇqøpQQ·Je´icAÿþN¨þz4onÈ®]C¹z5›ãÇSÉÊ*ÄÒÒ77süüì•Û7ëèh1s¦îîêsãל®òÉ®_ŸÀ®]±¤¤äcoo‚¿¿+þ¨/¦¸-µ¹guÛó(5y~ óç÷âµ×ÚðÏ?©”—ËèÙÓ®Âó|ÆŒñ¤sgkþþ;™œœbÊËeÊsvêò^ÖæY ‚ðäð°ö`²ïd\›=ùçÑ< øæ›o3fL­¿”„ºÈ<º¾††ÀÖ­[5V¡ÆrùòeU¾q¸uë¾¾¾ÄÄÄQ«-™EEEâïïÏŽµ[¼ù8“H$L™2…… 6vUjåòåÛ8:6UÁ¹u«_ßMÄÄd1¦V[2?.ŠŠÊ04 Äßß•;†4vu4¢¾ÿþedd(§ÑVÅÕµAA (¶ÌA³ªó÷åðáø¹¹áè訒~çÎ^}õULMMÙ¸q#úúú•” •³¶¶VîÖ[ [uÛãdï޽̟?Ÿ>}úàääDZZ{öì!''‡^xá‰t„ÇßÞ½ñÌŸJŸ>-qr2%-­€={âÉÉ)â…Z>ÑŽ ‚ðôJHH`êÔ©xzz²iÓ&åç²²2&OžLaa!6lŽÐhD°ó/OOOŠŠŠØ²Eõäeooo•5+‚P<=›STTÆ–-1*éÞÞ-X¿¾ú‡Ú ‚ BC),,dÒ¤I”””pîÜ9þøã”›EDDðÇ`mmÝØUža"Øù×€HMMåÈ‘#ÄÇÇ£­­M§Nxþùç5¾[cxÔ:¡ñ àLjê$ŽI&>þÚÚZtêdÅóÏ;h|'¶Æð¨u2‚ “髯¾")) ©T À7ß|CÏž=™?>ÇŽcùòåâs‡ÐèD°ó333† ÖØÕ¨:::Ìš5«±«!<‚™™>ƹ5v5ê…ŽŽ³fU|ž„ ‚ðäY¿~=;wîäÁ¥ß¥¥¥¼öÚk²fÍ:wî܈59­ª³‚ ‚ ‚\DDsçÎåá=®ÊÊʸuëo½õ–t„džvAA„j¹sçï¾û®Z ó +Vpûöí¬• TN;‚ ‚ B•ÊËËùàƒ¸}û¶rÎÃd2………Ì™3§k'ÁŽ ‚Pcñ·ã¹a$!‘!/ûXü1FnIhJ¨ÆË®©ˆ´FnÉþ˜ý]•Gº–ue§—1ö±ŒÜ0’ˆ´ˆ*_w;Žþù‰Áùßöÿñ{èš„Ê-Z´ˆÓ§OSVVöÈ|eeeìÙ³‡#GŽ4PÍ¡rbƒA¡Æî–Ü%4%”îŽÝ5^vÖÝ,BSBɾ—­ñ²+“Ã샳y­ãk i§zèmnQ.¡)¡¼ØúÅ©Kmø¯ò':#Z%-·(÷‘¯Y¶ŠGPV~ÿCëþ˜ý,;½Œ°Â꥞“íï¿ÿfñâÅœ¾&‘HÐÑÑ¡´´}}}<È /¼Ð€µuu vnß¾Mjj*S§NÕT}¡Ö>,ú¢Ð`"""°··oìj4—f.l¹;S»Æ®JåçšJOçž]•Zɼ›‰[s7ú¸õájæUþŽûû‘ùÿ¼ò'ßüõ ÚZÚ ï0œÿ¸þ}}ÂSÂÙ|qsÃTZx¢ääÜ`úô©H$•`G"‘ ¥¥…T*E__///ºuëÆsÏ=G—.]ÐÓÓkÄZ ‚\‚ëׯ“ššJ`` ¦ê#µETTTcWCx†6vM½&tkÙ­±«!;ÇîÄÊØ €Yg=2oYyßüõ óÎgh»¡ÊkÏ»<ÏÛÝß®·z Oª"–/M~~>ZZZhkk#•J111¡[·ntïÞ®]»Ò¦M´µµ»²‚ ¦NÁN÷îòé [·nÕHe¡¶ä¿þ¼ÖØUžÃé®ù\OŒøÛñ|¹ÿK^éð ¯´EåZhJ(^þ“”;)èiëÑÞ¦=^4oÒ\­œý1ûÙu?yÅy¸5wcŒ÷˜GÞ7!;È®e]£¬¼ g g^mÿ*m­Û*óD¤E°àèÞô~“ÎvY{n-W2®`¤gÄÿ¹ýƒ=+‹ÞµƒßC`kÄVN&œT–³qÔF•{ß)¼ÃÚsk¹tóú:úü§Õx¥ý+~ð´"ЩŽcñÇÈ*ÈÂËÖK%ÐQ0Ñ7ÑdÕ„§Âܸq zôèA×®]éÚµ+®®®Þ÷¡:ÄšA¡Æ*[³óí_ß²2l¥JÚ_±±*l¿ ÿÎv÷ÏÞølÏg*‹?FHd^Þsã…Ì>8©Lªòšõç×óMÿoxµÃ«Àýu6ímÚ3çÐ2 2•ù÷]ÝÇáë‡ òB"‘p#ïW2¯š›Jjnj…÷¾}ï6CVQ¹~ æQéQÌê;ëQJiô¦ÑHË+ÞÁêaf†f,¶´Zykâ ôkÓÄœDV…­")' kck^lý"ÿçö¿§ðäJKKºñÕWã3Ʋ±«#µ"‚AA#^;Èʰ•èhé0Æ{ ][v%¿(ŸàÈ`Î$áÛÿÇÑIGÑ×ÑgïÕ½„D†`¨kÈø.ãéhÛ‘ì{Ù¬=·–gW¨•}þÆyfœ…‘ž#;¤£MGô´õˆJbUø*¾:ðÝ»cozÕšð58[83Åo –M,‰Îˆæ·³¿±ïê>‚]‚Þa8C<‡`¢oœCsÞQþsEVœ][s7¾ð-Ö&ÖD§G³ôÔR6\ØÀÛÝ߯¶©m•Ï'4%´ÚÁNE£`šžŸ@qY1þ«ü¹[rWy-$2O~xéñ½€­­-à‡¥e vêžL"ØA4B±¸}þÀù*»šù{úóææ79tš¿bÿb û@¶Fȧ?úÒǵ2ï`ÏÁ ú} Ù *e¯ ]I¹¬œ•¯­Túëð²óbÜãØ}y7ïôxGyÍÒØ’mc¶a¨k¨ÌëmïÍ›Þà‹0¼ÃpìLíð°öÀÞÔ¾ÒuHNN¿Œ¾Ž> _ßRZ^Ê¢‹¸˜v±ZÁκ빓Ճtµu«•¯¦J¤%üzæWZ[¶æÎo`f`ÆÅ´‹¬ [ÉÎètoÙá‡×ËýAšvA¸šyC]Cü=ýUÒ% ^œN:Í•Œ+ tHLV f†f*€ž¶ƒ=óó‰ŸUÒ#nF -Ñ&ð¸|C™L† yàP&•oŸw;Nå5Ý*ÅèOLVLÚÖ¿Me £Ð®E;rîåT«Œ®]ktÏú`¤k€µ±5GnT¶é?®ÿÁÍÒ);§°ûÊnì‚ðÔÁŽ ‚ ÅeÅ4ÕoZá(SSe€¢²"Ì Ì*,ÇÌP=ý^É=¤2)§OUzÿ¢Ò"•Ÿ›4­´ü´¼´JË©ˆ¢þÒÕ’¾”ËÊ«UÆã°fÇÞL>ͯ§sOµàMx¦ÜIÑø}A‹vA°2¶"öv,X[«\‹LÀÚÄZ™7ávw ï¨7м²ijC‰´„__ùm­Š··µ0²Pù9:=Z-ÏÝ’»ÄߎWÙÁL‚<8«î³ÚzÖìt´éÀí»·Õ®Ýº{ o+.‚ð´ÁކýðÃ|òÉ'=z”Þ½{×øõŸþ9 ,àÂ… xyyi¾‚‚ õÄÏÙë·®ó韟船¡9a)aüzæWeÅ¿coÅòùÞÏùá¥0Ö7以íŒÞ©VvßÖ} :Äþ˜ý|ôüG*#-ùÅùlÚŽ·½·Êk]?DHdˆrkìÂÒB¦ï›Î½Ò{ ò¤Ì§˜Ú•|'YS¢BÚN=°2¶âÐõC¼v¾­ûòg8ûÐlàñ˜n'‚ )"ØA4â­no±ëò.N&žÄo‰.Í\((. %7™LÆðŽÃimÙ€ Ý&°-r‡¯Æg±.Í\Ⱦ—MZ^Ö\θ¬Rö„n8tý/ldKÄœ,œ0Ñ7!« ‹›ù7‘–KYùšê–×m­ÚòÙžÏøéŸŸ°2±"!;‚âŒtT62pn挡®!Û"·•¥œ^÷ð9;uU_AÄÒSãFÐ IDATK9‘p€ÄœD]À²Ó˘ÒkŠòÞÚm¾ú¿¯xÇû¼»í]ìMí172'þvÿüsttÄÛ&Bãj¢×¤Ò3i@>Êci\½×[5kU£×êjëânUñßÍŠ45hJGÛŽUæ3Ò5¢½M{•43C³JÛù¨k ©U³Vjϰ:´µ´•Ó AžVâSsHHH {÷îdff*Ó222Ø´iþù'GŽÁÛ[uaí‚ ؼy³J_}õ111¬[·®Áê.‚ ‚ O*±f§|ðÁdffÒ«W/ÂÃù{÷.ÑÑÑ 6Œüü|Þzë-µ×„„„ðã?’––Fvv67nÄ‚õë×ó×_5B+AAáÉ"FvêÙÝ»wÙ·oVVVìÞ½›¦Må‡ÜyxxðÇàååÅÅ‹¹ví­[ߟN0eÊ>üðCåÏ#FŒ@*•2zôh‚ƒƒéÓ§Ú½A„G¯³Až-bd§ž%&&RVV†ŸŸŸ2ÐQÐÑÑ¡_¿~ÄÆÆª\S¤?¨ÿþæAîS¬¥»Š ‚ "Øi íþSÛ24Q– ‚ ‚ <íD°SÏœœœÐÑÑáøñãäåå©\“J¥ø€W_}µ1š"‚ ‚ O±AA äìÙ³=z”çž{Nåš±±1¿ýö›Úk† ÆG}ÄG}¤’>jÔ(±9 ‚ ‚ TƒÙ©'®«qqq!<<œÿþ÷¿ØÙÙ¡££ƒ••„……©±ðùçŸóóÏ?ãææ†žžÎÎÎ|ýõ׬^½º[!‚ ‚ O.1²£aŠu9*é¬X±¢Ê×ÏŸ?ŸùóçàååÅäÉ“5_IAAAxˆ‘ ºqã»wïä‚ ‚ ‚ÐxD°£!“&MÂÞÞž‹/âç燵µucWIAxŒ–2÷ð\ü–úá¶À ×ù®Ü+½Ç÷ë|W®d^iì*>u"oFâ:ß• A]Aˆv4È‚!C†°eË–Æ®Š ‚ð˜ :ÄêðÕÜÌ»‰L&kìê<³ÂSÃqïÊ’SK»*‚ Ô±fGC–-[ƲeË»‚ ÂâhÜQLôM~3g g´$òï?éý Ÿôþ¤‘k÷tjoÓžØÏc»‚ 4 ì‚ B#È*ÈÂ¥™ ­š‰ƒ¢Aê‹vA„;Œñ[Æ3½Ït:Ùu⻣ß™‰¾Ž>ÿiõ¦÷™Ž™¡™ÊkÂRÂØtqo\äfþMŒõŒéd׉‰Ý'òœýs–ÝÖª-?û‘«™W150åÎo0©Ç$Öž[˺s븑{{3{¦úMe€û•{Êd2‚/³åÒb2cʤ8[8àÀ¨N£TŽ h(sÏeuøj"Ò"pïZa¾ÝãwÓÖª­ò碲"–ŸYΞ+{H¹“‚žŽí[´çíîoãçìWíûKË¥l¸°K!¤ä¦ “Ép4wd°ç`FxÀP×P™·&Ï/¯(ŸŽýÄkÈ+Êí¹“}'“S˜Ãg{>cñÐÅôoÓÿ‘u»Sx‡®A]ì9˜^úA™¾-rŸîù”fFÍ8óþå}3 2蹸'#:àë~_«ôÏž,<¶èôh\š¹°cì"oF2tÍP&ûNf²ïd–œZÂÂc Xxl¡ò¿åÐãØ‡A¨>ì‚ µ™É÷O‰´/ºßµÔÜT6ڤ̗Uň #T^›S˜Ã‘Ø#ü÷ëG®§‹C•ëÓ.2ÿÈ|¤2©²ìþù}}²îf±üÌreÞøÛñ|°óœ,œ”‚L&ãã??fgôN•r¯f^eÖÁY\ɸÂ7¾©²m¾kƒ´\Z­çѼIsμ¦Zyk¢TZʘÍc8—zN™V"-átÒiÎ$ŸavßÙŒì4²ZeýðÏüvVõ0ë¨ô(¢Ò£ÐÕÒeôs£ÿoïÎâª÷?€¿‡ddgEAÅ%ÀÆäºšš‰¦¦e¹T*¥ù¨¥u±4׫4jš&vEïOíje–Ö ™EQÄYDÍE1@d™ùýALŽl3,Žï×óø<ÎùžùžÏù2Ï™ó™ó]´k¿‡1é?“Ô&UH½•Š™ûg"´K¨Æçiej…®â®eÉ T*U‰„,[î”ÜÁÅü‹ª¿q\f ¨CZ=I7’Ô>; ¥BãÕ\Ÿ!"Ò&;DDÔh‡Òa¢ßD¼éÿ&Äb¤ÝJÃÜCs‘˜›ˆty:¼ÅU7¥w ¦ôš‚®â®°3·Cai!N];…?,À–[j$;?¤ÿ€©}¦âõÞ¯ÃÆÌ±™±xïà{ʤP(Xºƒ<Á@`€Í'6cû©íˆ:…5#Ö¦ÄÁ´ƒèlß þ±>í|ÐÆ° Ro¥â“cŸ`oò^Œ}n,üœýžh›-¼K/ßz?xØx`ÿkûÕÊ×ü¶_&|©¶-:)g®ŸS['D €¿«?þ|ø'ö߇¿oÄò_–cˆ×Ø‹ì<þÑËGajdе#Ö"°C ‘]ƒÂÌØLµŸ6í·óÌN¤ç¥ÃÃÖC"àëì‹‚’lK؆ÝgwkÕ>w ¶œØ‚‹yá-ö†R©ÄïY¿cd·‘øþÂ÷ˆËŒS%;²¬ª$¨Ÿ[?µ:~¼ø#Â|Â0£ï ´·j¡°ÖcÍ œ…¾íûâ•]¯`îós1+p–ZùÓú""Í1Ù!"¢F“¸KðɰOT¯{¹ôÂŒ€ˆø9¢êø¿’;s;Ì0_&|‰%G–àNñÕ¯îp)ÿRºŸ÷x‹-V½é‚Á^ƒqäÒ|8èC„=¦*[¼ß$ƒŒ;>I‰Ð@ˆãwÀAä ÚÞǵÖ¿¸!_…àØ•c Þ¨^ZP3¶'ípúa€t´¾N¾QÂ%áÈ+ÊÞs{ðKÆ/xÅ÷•ërlëÜi0„‚ª$À[ì­ú[UÓ¦ýŽ\<@€M/m‚—ÀÌÒ K‡-EÖÝ,ÄgÇk|®’UÉŽ,[o±7ÒóÒq§ä†u†…7 Ë–aFÀ (•JÄçÄ£G»°4±T«Ã×ÉŸ…|Öä.fÍõ""Ýa²CDDÐ> Æ6W+W@qY±j[Ò$LúÏ$”W–×ZOiEimþ®þ5¶9µuôqQ $4Bl!ÆíâÛªmWò¯ RQ‰þ_TgQ*•PB©ú?ܼ³î“{ŠäÜÍ•©•*ÑyÔ@ÏØsnrîæ¨êØçsõö±2µÂéwO\ŒYßÎÂÀ-Ñß½?¼ÅÞðsòCWqWµ÷hÓ~9÷r ‰U‰Î£žw^-Ùi(¾^.½`jdЏ¬8Lï;²,„!ú¹õÃåÛ—±é÷M(­(ÅÕ;WQPRPk‚Ô!¨YÆÒèÓgˆ¨µjR²“€ëׯsp=%ÆÿõèÉHHpÑu:ׯ°MmT}'<ºvÌ–[P^YŽpI8Fw ±H c¡1†nŠ‚’Íêþëû¦®ã*ͨ§Qßx›º’¯G= cv€¿Ûµ©¼ÅÞ8:ó(’®'áÌõ3H¼–iœÖfÖø|Ôçèlß@󵟶Œ„Fðwõljœ(­(…,[?g?ˆÚˆ é Áúã둘›ˆ´[iPëä OŽÑXºj"j>MJv¼¼¼`jjŠáÇ7WN>je¿]ýMµX›Z7¸–ŒP D×>ªqRÊ`ÈÖ!øàð8ðÚÚµŸ›•Îß:+·¯Ôxºs<ë¸ÚkM⓸K›‹ã™Çq:÷4Þ |@Õ:9V¦VˆËŒÃ…¼ 052mr²êõjKhôé3DÔZ5)Ù±µµ…­­-Ö¯_ßðÎD-(22~~~ Õ|Ö¢¦8|ø0D"‘®Ãxf8µuBÆ DŸ‰Æèî£g®ŸÁò_–7z¦¬†„ù„áô§1eÏÌ š_'_X´±@^Q.ç_FLJ &ùMB`‡ÀzëyÆì„z‡âÜÍsx÷່Þ.½QTV„˜ó1ØsnŒ…Æä9H£ºÂ¢ÃðR÷—àïê+”W–#>;÷ÜSëN¨Mû…t Aòɘõí,,º>N>ª ´¯S­úiMd\$Ê*ËÐߣêµÀíðkƯ¸yÿ&‚܃`hдùÕã}sqïÁ=µ§BÍõ""Ýá˜""jqü& 63K.ÅÒ£KUÛ»Š»¢“}'äå5û1ÇtƒS×NaÊ~̈™Që>ã}ž®¯“{NÆ‘‹Gt# ÓöM«Q¾dðfb€´[i8{ãl­eã}ÿnmÚoJ¯)8”véyé˜ü“Uåý‡ã‡ô4Š­š§'Ä"1.ç_†¥‰%z8öP•õ÷è#—ލ9åtct°î±HŒ9'ÐûóÞªí‹2ôê3DÔZè:""Òƒ½cÝ‹ëÐÅ¡ L Mà rÀ¿ ˆž c¡q‹S `ÕðUŽ–"¨C,M,a$4‚«•+†t‚Íc6#Ƚé7ËO‚‘Ð;'ìD¸$¶0ÁÜØnˆ¥ñ;°Ê~¼ÚóUxÚyÂÄÐÖ¦ÖèåÒ +BW¨Í~§Mûµ1lƒÝwc’ß$ؙۡatwÅæ1›ñ¼Çó:g‰»ÐÏ­Ÿª«P5[[mÿo,¡›ÆlBo—Þj ªúõ"j­ÊGGj),¬jÚÏ}ûö5[@D! •JÙž˜Ù³gC$µØõO.—£¨¨H£}==;B*•#4T³ý‰ž¤ý)û±ð‡…ØøÒF„tÑu8¤%^_H×ÄbqSºïã“"""""ÒKLvˆˆˆˆˆH/1Ùi{÷îEpp0Î;§ëPˆˆˆˆˆZ-&;àà`¤¤¤Ô(ËÍÍEll,îÝ»§ƒÈˆˆˆž/÷x‹28^‡ˆt‚SO7RNNbccQXXX£lüøñèÝ»7|}}uLvZ„««+\]]uQ«öĺ±ýúë¯xçwð /`äÈ‘øä“O —ËUåùùù ÁرcñàÁµ÷æææbÈ!xõÕWQQQ¡qŠExx8†ް°0¬X±ªòåË—#88¸Ö'5ÕeÕÓÀ¾ÿþûؾ};`Μ9Fpp0Þ{ï=uÙ©¬¬ÄîÝ»1yòd :¯¼ò ¶nÝŠÒÒRµý¶nÝŠàà`ddd ==³gÏFHH^{í5üïÿk°­õàÁ¬[·£FÂÈ‘#±fÍ”””`åÊ•5Î÷Ñ㦤¤`Μ96l6oÞ¬UüÚ´åãÇ={ö,fΜ‰¼ñÆÉdZ/Qµ²£P(0uêTìܹSmûwß}©TŠŸþ={ö„½½=^~ùe̘1mÛ¶ETT ¬¬ aaaHJJÂo¿ýCCCëªnÐ_ýuìÚµKmߘ˜¬\¹ …HOOGll,ÊËËkœCuYu¢•œœŒììl¨u‚ÚÆì#$$¤ÆÍûÞ½{±qãF;v €ÌÌLÄÆÆâûï¿ÇâÅ‹QRR¢Ú?::{÷îU­qTŸÂÂB 0ÉÉÉjm´oß>tìØ±ÆùV7&&xøð! [·nZůM[>zÜ}ûö!""eeeª²;v`Æ ˜={vƒçKDDDDô¨OvV¯^;wÂÃÃo¿ý6¼½½ñðáCüüóÏØ¶m&Nœˆ .ÀÀÀÓ§Olj'°cÇbÚ´i˜;w.Nž<‰ÈÈHj]ç²e˰k×.˜™™áwÞ¿¿?„B!Μ9ƒ-[¶ 1kªþë_ÿ‚T*ETT¤R)zôè°²²ªó=~ø!d2ìíí±páBx{{#;;k×®EJJ Þzë-8p@í= .Ĉ#0vìXˆD":t_}õ>øà’>øÉÉÉpuuÅ‚ àááK—.aÕªUõÎ÷ñÇã…^À¸qãàìì WW×Fů­þóŸ Á„ `bb‚#GŽ`Û¶m˜;w.† ‚Î;7©~""""j]Z4ÙQ*•X·nqúôiX[[«ÊÆŒkkk¬\¹ ªDfÓ¦M8{ö,æÌ™ƒ¬¬,|ñÅ7nÞ}÷]­ë €T*…‘‘~ûí7ôéÓGmß… ÂÐPû&ðññ»»;ÀÏω¤Þý+**Èd2têÔIU6~üxtéÒÿýï!—Ë!‹Ue“'OÆW_}¥zýâ‹/âÊ•+ˆE^^žêIJ]Çܹs',,,pâÄ 8;;BCC1bÄU‚V›Q£F©­ ߨøµ5bĵ„饗^B»ví°téR|ýõ×X±bE£ë&"""¢Ö§EÇìdee!??••• ÃàÁƒ1hÐ 8Ä÷߸xñ¢ê=¦¦¦ˆ‰‰‰‰ >ûì3téÒE5>FÛ:333QPP€àà`µD§ZÛ¶m[òôU233QTT„üãj‰ØÚÚbìØ±P*•8þ¼ZÙĉkÔUÝ=ïÎ; ³¸¸C‡U%:Õ¼¼¼Tç{§L™Ò,ñkë7Þ¨s[Së&"""¢Ö§EŸìTBÏÏÏÇ/¿üRç~ŽI###…B@ûöíannÞ¨:«':°³³kÜ ü¥²²²Iï¯ÀoccSkyõöÇú×¶¿±±±F1UŸ{]]ë}"ö8µ×¿6õÅ][¬Õu?>iѳ ¯({ÎíAßö}Ñ·}_]‡CDÔê´h²ãìì @€>}ú`ÕªUuîçåå¥úYYÆŽ‹û÷ïc̘18pà–-[†>úHë:MMM!pêÔ)”——ÃÈȨÎý«o´óóók$G©©©5ö Ñ˜ŸvíÚΜ9…Bõj‰‰‰''§ëÒTu]gÏž­Q¦P(Ô&-x\õ¹UÓ6~mÛ²ZRRR.§OŸ€O§ˆˆžò?åʤ—„«’›÷o"æ| ú¹õCך½ˆˆ¨ù´h76[[[ 0III¸|ù2UÓ4ÃÍÍ ?ýô“ÚØ“÷Þ{‰‰‰X·n¾ùæ 08vì˜ÖuÚØØ ÿþ¸zõ*¦M›¦6ÕtQQ–/_…BèØ±# 22Rµ­¢¢üq­7è"‘põêÕÛÁÞÞ={öÄÅ‹±hÑ"Õ,eJ¥R©G…££#|||ÓÌuÓÇÇIIIX±b…Ú9-^¼ZÕ¥MüÚ¶eµeË–©’ jáÖððpÀСCµ8{"¢§ƒØB¬–èUÉŽT&Å©ÜS:ŒŒˆ¨uhñuv6lØsssÌœ9vvvðõõE@@ááá•+Wªº6íÞ½›7oÆøñã1{öl…BìÙ³b±'NÄõë×µ®322fffعs'œÑ½{wøøøÀÖÖK–,QÝŒO˜0¦¦¦Øºu+\]]Ñ·o_8::bõêÕµ&!~~~€™3gÂßß_mÚ¬^½X³f áïïvíÚ©&^X½zu£&K¨Ï§Ÿ~  j&¸víÚ©Ž¹fÍÕÕÝ¢MüÚ¶e5ôíÛ]ºt:uê„””øúúbüøñMi ""p9ÔHvˆˆèÉiñd§{÷î8yò$BCCQ\\ŒäädœÉS€&ÇZ_;Ucv¤2)N^; HÌMDÌùÀ‰œʤªªTVB–%ÃöSÛñe—øùòÏxXñ°EÚ€ˆHŸ ”Yhæ/Õk½<:Mq} ‘‘‘…B:ÀÞÞ^Uvùòeܼy:uªuìJrr2îÞ½ µÁõõÕù8¹\ެ¬,XZZÂÓÓ³Ö1<¥¥¥HII¡¡!ºuëccc¤§§C.—C"‘Ôxú’——‡«W¯âáǰ²²‚¯¯/rssqõêUøúúÖ:è>##r¹666èÒ¥K12™™™¸víz÷î]#©.ëÓ§ÚÄ õ)++SuëÚµ+ <<<`jjЬ¬,Ž«MüÕ4mËE‹aÕªU8{ö,|}}qãÆ \»v ÎÎÎhß¾½Fç( •JªÑþDM5{ölˆD"¯Ú’Ëåª YâéÙR©¡¡šíߎgÇß¼ùæ#áZdYU ww÷¯ ©?Ümܱoòß퉿o„Ð@ˆÄðD´5©š317vOÀ‚à˜0£Þãnm€š}m™™aZßiõî£P*šk}íppêA¤ü‘‚—þýÂ%á—„cSü&¬?¾¾ÖX2Uu/N¾™Œw¾‹ë…×ÕÊÛµm‡Íc6£»cÝ?57]\_ˆ%‹5þq¾ûZ|QÑGYZZ¢W¯^µ–uêԩƴƪ«ûS}u>N,7¸Œ‰‰Iiª½½½áíí]ëþ5Ö»quu…««kÇðôô„§§gåðððк¬6ëׯǴiÓTSVß¿³fÍ‚\.ÇÌ™3UwCñWÓ¶-«9;;sB¢gDTbJÊJðb×ÑÞª=-a 0@ [ ~ºüþ|ø',ÚXâ2ãàjåŠÜ{¹ˆÏ‰GHçªíYq‰{ýk–ÀÆø¨Th6C¦¹]ƒÉNsÅZ[;ÔÆßÕcŸ‹˜ó1p €¿«¿Zù˜úÍTÜ/½'ø´ó±¡1Ro¥"!'Óc¦ãèô£µiô?Q«òD“zò>úè#,Z´Hõ$ëÊ•+())H$ÂÂ… u=ã”?À¡©‡àa«þC‰Ä]‚Ã#>;Ã:ÃýÒûH•§bAðDŠ‚,K¦J dY2ؘÙÀÛ¡þB`vàl­žìh¢9b­«×ǵj6¶Y³ÔÊ·&lÅýÒûX:t)&õœ¤Vöõ鯱ìØ2ºpýj®ÃFDD51ÙÑsóçÏGdd$.\¸ ÚöÜsÏaëÖ­pww×adD¤FuUë ~õ“Y¶ Ã:C|N<*•¸Kp9ÿ²ª»Wai!Ro¥b¸÷ð:»Ä>jŽdNóž@3ÅZW;h+>'B%Ø¿ J¥RµÄAqy1 åÀ¯É‡""j˜ì蹈ˆ,Y²ÙÙÙÈÏχ““ÜÜÜt–š3f $$D£®qDôté`Ý¡ÖíNmàaë¸Ìªn_²,Dèlßw ö§ìGÎÝ\_€B©@P‡ Ž×Ücvš+ÖºÚA[%¨TVâsÙçuîóçÃ?›åXDD­“VÀÐÐPãqù¯¶ã}IDAT6º í8$"zz êž¾>¨C¢ÏD#ûn6dY2Õ‰»²lÒn¥©¶i¢¹Çì4W¬õµƒ6Úš´EYe¦÷^ç>žvO絜ˆèiÄd‡ˆˆZD÷þˆ>]gvázáuÌë0`mj ooÄeÆ!=/m;Ö9 ÿq-1f§¥b­KaÀ½÷j”ºboò^¸Y»aT·Q5Ê/æ]TM¢@DD c²CDD-¢oû¾040Äî³»!Ôžˆôwï¨Ä(”W–ãµÞ¯i\gKŒÙZ&Öº¸Z¹Â@`€}ç÷¡BQkÓªåÂ%áx;ðm¹tï÷>v$î€O;X˜X ¿(—o_FÊ)ˆgKÎXID¤‰_T”ˆˆZ–ãúuÂÜØ~Î~(¯,‡·ƒ7lÌlTew Ê+Ë@ãñ:-éIÆjej…1=Æ èa¢ÏD«-*êbé‚è Ñð²óBê­Tì>»lÁþ”ýHù#ÞÞLt艩^‰ñi½Æi‚Ovˆˆžqff ””<Ù»7k7„KÂáç\ÿ´`³g!éFR…0{»ôF¸$àÐbqj£1±6Ôb 1Â%áèÛ¾¯Úö/¬ÀÈ®#qA~%å%je]Å]qøÍÃHº‘„Ô[©xPþŽŽèlßÞ↧ç&j.ÅÅU¿‰‹D GBÔxLvˆˆžq•øã'{9¯¾ÉoˆÄ]Rë€~#¡‘Fï’kCíà r¨µ\  °C ;Öú>@€^.½ÐËE³E³‰Z‚\^u]±³«Ðq$D×äoÇ„„„……5G,DM…Çë: j%Î;‰D³ÄZZçÎeHKk£ë0ˆHϤ¦ÃÐP‰ŽËu Q£5)Ùéׯ_sÅAÔ$...°¶¶†H$Òu(ÔJH$’§æðkÖØ ¼\##Íf*#"jÈñãfèÙ³ÆÆ¼®Ð³«IÉμyóš+""j¤Áƒ‹ñé§v8zÔ¡¡Eº‡ˆô@q±Ž3Ǽyº…¨I8Ñ3ÎѱÁÁÅØ¾ÝJ5{QSüç?m¡P0zôŸº…¨I˜ìéùó šjŒo¿å‚“DÔ4·o ñÅÖ˜>ý,-9=Û˜ìé/¯2¼òÊ}¬]k‹¢"^Ú‰¨ñÖ®µ………Ó§ßÕu(DMÆoD""=1wî](À¼yPðÇX"j„,°¿/¾ SSö‹¥g“""=aeU‰mÛþÀ‰fXµÊV×áÑ3æôi,Yb·Þº‹aÊuQ³`²CD¤GzôxˆÏ>ËCT”¤RNX@DIL4Á[oµÃÀ%˜;—3°‘þx²KnQ‹{ñÅ"””àŸÿ´CV–V®ÌC›6Ìzˆ¨vX`ñb{ T‚µkå0àOá¤Gøq&"ÒCãÇßGTÔ8~Ü cÇ:ãôi]‡DDO™Û·…X´È :àÍ7ïaÆ[01á#¤_˜ìé©ÀÀ8pà:lm+1a‚3æÍ#;ÛH×a‘Ž`Û6+ Üññ¦Ø´éæÏ/€@ ëȈšŸ@©dn"¢§\.GQQQ³Õ÷Ë/æøì3[\»fÿ<¸~~¥ps+‡¥e%»­é±¢"ܺeˆ´4c?n†cÇÌ¡P0}ú=LŸ~—³®ÑSM,C$5öíû˜ì=…š;Ù€ÊJ 6Ö‡‰g†ÂBf8D­‰P¨DïÞ¥:´£GÿÉCé™ÐÔd‡µB!0p`1,†R ܸa„k× qÿ¾”Jö_!ÒWææ ØÙUÂÓ³ ÆÆü›Z&;DD­@¸¸”ÃÅ¥\סµöa """""½Äd‡ˆˆˆˆˆô“"""""ÒKLvˆˆˆˆˆH/1Ù!"""""½Äd‡ˆˆˆˆˆô“"""""ÒKLvˆˆˆˆˆH/1Ù!"""""½$P*•J]ADDDDDÔÌöñÉé%&;DDDDD¤—˜ì‘^b²CDDDDDz‰Éé%&;DDDDD¤—˜ì‘^b²CDDDDDz‰Éé%&;DDDDD¤—˜ì‘^b²CDDDDDz‰Éé%&;DDDDD¤—þ¶r}Hïü&IEND®B`‚fio-3.39/examples/fixed-rate-submission.fio000066400000000000000000000003711476262051600207750ustar00rootroot00000000000000[fixed-rate-submit] size=128m rw=read ioengine=libaio iodepth=32 direct=1 # by setting the submit mode to offload, we can guarantee a fixed rate of # submission regardless of what the device completion rate is. io_submit_mode=offload rate_iops=1000 fio-3.39/examples/fixed-rate-submission.png000066400000000000000000001213471476262051600210130ustar00rootroot00000000000000‰PNG  IHDR8+!3bKGDÿÿÿ ½§“ IDATxœìÝw|M÷ÿÀñ×ÍÞK$±b$¶DB©UT‡Y«h‹Öjí5jóã«Ã^Ei)JŒZ­‘¢”Ú+ ‰B$$!‰‘ÜßGNs³dq¹ÞÏÇ#÷~Î9ŸóþœûIœ÷=çó9­V«E!„B! €‘¾B!„BˆÂ" ŽB!„Â`H‚#„B!„0’à!„B! †$8B!„Bƒ! ŽB!„Â`H‚#„B!„0’à!„B! †$8B!„Bƒa¢ï„†ëÊ•+üøã“˜˜ˆV«¥nݺ899±mÛ6jÖ¬É?ü çH÷îÝ£uëÖêû™3gâãã£Çˆ Óµk×èÚµ«ú~Ù²e”-[Ö`÷¯ïöæÆ«ö»*„9‘Gñ\ܸqƒ5jp÷î]rÜÜÜøûï¿01yyþ =~üX È»>tíÚ•k×®лwoºté¢çˆ îÁƒ:Ç911Ñ ÷¯ïö>Ë«ø»*„9‘¿VBˆçbîÜ¹ê “««+ ,ÀÑÑ‘"EŠ0kÖ,=G÷ê8räaaa¼ûî»zŽF"ù]BIp„ÏEÚI9@ãÆùàƒÔ÷Æ ãã?ÀÑÑñ…Ç&^oîîîìÙ³G}ÿ¼o{ÑûË+ù]BIp„…j÷îÝLœ8‘3gÎè”5jÔ(ËõÓîë¿ÿ>ü1÷îÝ {÷îtïÞ]]oРAœ>}€5j0}útuÙÝ»wY½z5ÿþû/QQQ˜››S¥J:wîLõêÕ³Üï¾}ûøå—_¸qãeÊ”á‹/¾ D‰ùjsVc,’’’X°`aaa´jÕŠÞ½{Ó¬Y3íLMMqppÀËË‹N:Q¡BuÙÏ?ÿÌÏ?ÿ¬Þž°hÑ"¶oß@Ñ¢E (Ð1ÈIDD+V¬àÔ©SÄÆÆâääD¹råhРM›6ÅÔÔ€ãÇ3dÈu»M›6aoo(·>}ôÑGê²%K–àéé™åþ.\¸Àܹs £hÑ¢têÔ‰æÍ›«Ë¯\¹Â§Ÿ~ª¾_¶l÷îÝcîܹܼyŒ‹‹ ‰‰‰,X°€}ûöamm¿¿?Ÿþ¹ó;w?~¼N]iIGnÛ—usÚ@LL «V­âðáÃDGGcnnއ‡Í›7§iÓ¦h4uݬúš±±1³gÏæìÙ³+VŒ–-[Ò¦M›ì>ZU~WÓËKìBñÂh…¢­^½Z äú§I“&ê¶ëÖ­SË---µ!!!Z­V«]´h‘Zîàà ½|ù²ºÍ–-[´ŽŽŽÙÖÿõ×_gŠqêÔ©™Ö333Ó.Y²D§lÏž=¹jó¹sçt¶›9s¦ÖÒÒR}?hÐ mRRRŽÇÁÄÄD»`ÁµÎqãÆå¸~‰% t rrøða­M¶õ•,YR]w×®]:Ëîܹ£.»pá‚β“'Ofy¼æÏŸŸåþú÷ï¯Ö¤³lÆŒZsss2wwwíùóçµ^^^™êjÔ¨‘6555Ëýå¹ÝyY7»ýiµZíúõëµvvvÙÖÓ¸qcmlll¶u-Y²Dëàài»qãÆ=ós.Èïj~bBˆE!D¡ŠŠŠÒîÙ³G[«V-õDçwÞÑîÙ³Gýyÿý÷³=iéüâ‹/òt¬Ò_q˜;w®Î²Š+ªË¦NšiÛüƒgµ'ýIíŠ+2í3**J}1ÁIRÛgäÈ‘:õ×®];S›2&8“&MR×ïß¿–ûÑjµÚ2eʨåÿûßÿ²ÜZ‘—vçeÝìöשS'¾øøñcu›€€mŽ?že]C† Q· ÓYvèСLqe%?¿«ù‰]!^ƒ#„x©˜šš²víZ|}}¹}û6ÉÉÉ€2øyâĉ:ëþûï¿êëK—.錈W_ߺu‹K—.áééɉ'ÔòFall¬¾oÒ¤I–19sFgšß4>ÌrývíÚeY~ãÆ ~ûí7NŸ>Mtt4>D«Õ®®sõêÕ,·ÍN~ŽÁ³ÚÓ¬Y3þøã>ùäHùòå©T©õêÕ£C‡yŠñYÞ~ûm÷Mš4áðáÃ:ŸWz 4P_-ZT}moo¯óì"õ˜Þ¹s'Ç8òÒîÂ8F‡Òisúi˜3Ž×:tè5jÔÈTGúqJ...:ËžÕÞ‚(ŒØ…ây‘GñÒ)Z´(îîîܾ}[-«X±¢N2ÊóEÒ\»vMg@~F±±±$%%©e666:ëØÚÚ(î4®®®™ÊvìØÁ| ³ÿ¬¹Ëøœšgµ· #v!„x^$ÁB¼t¾úê+Ž?®S¶`Á4h@§NÔ²2eÊ @Û¶m0`@¶uVªT €’%KråÊ@¹â‘ÞÅ‹³ÜöÛo¿eĈ™ÊÓŸ\>ËÈ‘#Õ“õÊ•+3räHJ”(‘‘}úôáüùó¹®+½üƒgµG£Ñ0~üxÆÏÕ«W¹té¡¡¡|ÿý÷\½z•¨¨(.\ÈÿýßÿéÌ*ÊÉlÚt¡¡¡¹jÃÅ‹ñóóÓyŸ¦dÉ’¹ª£0ä¥ÝyY7;¥K—V?» .è,»|ù²š ¤­[={öTk—.]èÝ»wê{‘± !D^I‚#„x©¬ZµŠyóæàààÀ¨Q£øúë¯èÕ«>>>ê‰zÇŽ9räÿý7£GÆ××W­+!!­[·¡ÞºÕ¼ysöïßÀ®]»8xð þþþ<|øÿýïYÆäíí]àv¥¿]¨eË–|òÉ'€2]uN·¥YYY©¯oݺ•iy~ŽÁ³ÚóÓO?akkK«V­(S¦ eÊ”QoK‹522P¬ôéÖ­ñññÙÏŒ¦OŸNóæÍ±µµ%44”µkתËÒß‚õ¼å¥ÝyY7;;väèÑ£€r…ïÀ¼ù曤¤¤0aÂu={{ûL·}åÕ±cÇÔiÖëÔ©S ºàÅÆ.„yeôìU„âÅ8{ö¬Î7Ë‹/fذajYBBíÚµ#11€þýûÓ°aC@yG5¨\¹2uêÔ¡T©R888йsgÕ:ûö틇‡ Ü¾Ô°aC|}}qwwçþýûÏ­méÇ™|÷ÝwøøøàííMûöís¼©fÍšêë9sæP«V-5jÄwß}äï<Ë¿ÿþˇ~ˆeË–ÅßßOOOV¬X¡®óÞ{ïÊC,Ó_}éÑ£5jÔ L™2:ÉYNLMM)]º45kÖÄÇÇGýœ9rd®ã.¨¼´;/ëf§ÿþ¼ù曀Ò5j„îîî¬\¹P®*ÍŸ?_}¶ÐËâUŽ]aø$ÁB¼2&/}úô¡}ûöÌš5 ///@I‚úô逹¹9;wîdâĉ/^Pn‹:|ø0ØÚÚòñÇ3lØ0u?¶¶¶:3|òä §OŸ¦Q£Füúë¯Ï­}3gΤC‡h4´Z-§OŸæÑ£Glß¾77·l·;v¬ú ÎÔÔTŽ;Æßÿ­>}>?ÇàYzõêE÷îݱ±±áêÕ«üûï¿êí|¥J•bþüùê zFÊ+Ô$'%%…   >úè#,X«ýÍž=›öíÛsúôiuÜN5Ø»w/ÅŠËuÜ•—vçeÝìXXXȨQ£(R¤ˆÚoÞ¼‰F£¡nݺüõ×_téÒåù6<^娅†O£}ž£…B!„â’+8B!„Bƒ! ŽB!„Â`H‚#„B!„0’à!„B! †$8B!„Bƒ! ŽB!„Â`H‚#„B!„0’à!„B! †$8B!„Bƒ! ŽB!„Â`H‚#„B!„0’à!„B! †$8B!„Bƒ! ŽB!„Â`H‚#„B!„0’à!„B! †$8B!„Bƒ! ŽB!„Â`H‚#„B!„0’à!„B! †$8B!„Bƒa¢ï„BdEBB‚¾ÃB!^8\]]ó½½\ÁB!„B Ip„B!„C!„B!„ÁG!„Ba0$ÁB!„B Ip„B!„C!„B!„ÁG!„Ba0$ÁB!„B “‚lÜ¡CÖ­[WX±!Ä+¥}ûöè;Œ|Ñj!"”ë×Mˆ7F«ÕwDBˆ—•µu*ÎÎ)xz>ÂÌLþXˆ—_€:uêðå—_F,Bñʘ1c†¾Cȳ”ػך-[lؿߊ{÷ä"¾"÷ŒµÔ¬™L³f‰|ðÁ}ìíSõ’Y*p‚S²dI:vìX±!Ä+ãU»ró×_ÖL™R„k×L©];‰þýãðõM¦téÇØÛ§`$¹Ž"‰‰FܺeLHˆ9ûöY1c†?üP„^½îÒ«W––rUG¼\ œà!„xy…‡›2nœ3XѲeK—FRºôc}‡%„x…X[§âᑊ‡ÇcZµJ 1шU«ì˜7Ï‘uël=úÍš%ê;L!TòB¨ƒ-iÛ¶$11Ƭ^}ƒéÓ£$¹B˜µu*½zÝ%0ðþþIôëçÆ÷ß;ÉX>ñÒG! К5v|öY14xÀºu7ðóKÖwHBãìœÂÿþÍ´iÑüô“¸‘œ¬ÑwXBH‚#„†fËF.Jß¾w™>= ssùZUñü´m{ŸåËorè%C‡º’*s=“GäšF£Q¬ïp^wîÜÑ96{÷îÕwHâ5dΨQ.|öÙ]ŒE#_¦ !^€Zµ’Y¸0’Ý»•I„Ð'Ip„Â@ܽkL¯^Ũ[÷ÇÇè;!ÄkÆÏ/™É“o³p¡#;vXë;ñ“G! ÄŒŽÁôéÑ2í³B/Ú¶½O»v÷ù¿ÿs&)I.! ýÿ…Â\¸`Æo¿Ù1lX 66r¼B† ‹áþ}#/vÔw(â5% Žx®öíÛLJ~ˆ»»;æææØÙÙQ§NfÏžÍãÇ™§«}üø1“&MÂÃà *UªÄÂ… Ÿ9Î%/û Õ©+88˜Í›7ãç燕• <˜û÷ïç*6!^ßïDµjhÓæþ³W~…ÅÅÅ1jÔ(üýý©X±"žžžxzz²k×.õµ§§'ÇŽÓw¨ªñãÇ«quéÒEßá¬Aƒ©Ç¹ÿþ¯Ýþ_&EŠ¤Ð·o‹;pïžœjŠOô)ž›o¾ù†)S¦è”=zôˆÃ‡søðaرcVVVhµZ:tèÀ¦M›ÔõÃÂÂøâ‹/8}út¡í'£Å‹3{ölõýåË—™5k¬[·®@± ñ"ܺeÂÞ½ÖÌœeð“ 6L&ò( ­[·ªŘ™™qöìY=GdØ^×ãÝ¥K>>üóÏ?|ýõ×ê6«W¯ÖI &OžL\\ÇŽcçÎ…¶ŸŒV­ZE`` qqq :T-_¿~=7nÜÈ2¶o¿ý–¸¸8Nž<ÉîÝ»ótl„(lÖXZ¦Ò´©a?IüîÝ»:ÉÍ”)S8þ</^ÄËËK !2±¶Nåí·e²¡’àˆç"ý­[;w¦GØÚÚR©R%&Mš¤.[¶l>`åÊ•j¹¯¯/ß|ó Ô¬Y3Óš‚ì'£Q£FѤI8p Î² .dŠÍÏÏaÆáàà€O¶± ñ¢:dI:I˜šöón®_¿®ó¾nݺ=MÁÍÍ‹/ª?~~~úQ¼ÆfÍš¥ö¿¹sçê;œ—Býú8q‚G üÒ²xéH‚#ž‹àà`õõ¯¿þª3æ¥eË–ê²pñâEΟ?¯–g<9Éîd%?ûɨvíÚêk{{{e ™b«Q£†Î:¾¾¾YÖ+Ä‹jF•*Y'ð†¢Y³f|ðÁ:eo½õ–蛬ÆàüöÛoj™··7×®]S·ßºu«º¬Zµj„††ªËX°`mÛ¶ÅÇLJJ•*Q¿~}†JXXX–1†„„ðÙgŸQ½zu|}}éׯŸz8?2ŽéˆŽŽfðàÁøùùáééI||<ß}÷]¦¶{yyñöÛo3fÌöxzzê<ÇìÑ£G:Û®]»¶@Ç '±±±üßÿýï¼ó^^^T©R…·ß~›þýû³qãF’’’Ôu?üðC5¦ñãÇëÔ3dÈuÙ矞íþbbb:t(~~~xyyѹsg:¤³NÿþýuŽñÍ›7éÓ§ÞÞÞÔ­[—©S§òèÑ#RSSY¼x1o½õ^^^¼ÿþû¬\¹­ö¿/²ƒ“—ãmˆªU{Ä“'.]2Õw(â5#cp„Þ¥%é=‡9n³Ú€ÝsݯÏ[T”1ÅŠ=Ñw/¥N:qüøq6nÜȃøòË/Y»v-‘‘‘Œ=Z]oâĉTªT €ððpºvíš)9‰ŒŒä÷ßgÛ¶mLŸ>÷Þ{O]vüøqºuëFrr²Z¶cÇNœ8AõêÕ ÜŽ»wïÒ±cG"""ž¹nRRW®\áÊ•+lÚ´‰µkתmË­üƒœ¤¤¤Ð¹sg.]º¤SžçöíÛ‰ŠŠÊ2aÑäc`Y||<~ø!W¯^UËŽ=J·nݘ3gÍš5Ë´ÍÝ»wéÔ©7oÞ”/Æ~úé'¢¢¢077gýúõêºçÏŸgܸq¤¦¦òÉ'Ÿä9¾×…››òwéöm*W~¤çhÄëDÎæÄsQµjUõu=ÐjµÙþ¤]AIÿð©S§têËnF¤üì'?*T¨ ¾>qâ„β“'Oæ»^! Cr²VV†}{ÚÎ;ÕI?ÒìÝ»W½%èŸþÉvÛ‰'ª¿Ã§OŸæûï¿gРAê—:u¢mÛ¶¤¦¦Ò¿õľV­ZìØ±ƒ3gÎ0vìX@™QqèСDFFÊ$$#GŽT“OOO¶mÛÆñãÇùøã ,pû:DÅŠÙµk—:îÈÎÎŽaÆéÜšwîÜ9vìØAƒ å$ý‡~Pë¹xñ"3gÎTß›™™élß±cÇ|ƒg Q“›²e˲gÏÎ;Çž={X´h-[¶Ìv"˜ü|ñtðàAêׯÏÑ£GÙ½{75kÖ”Dë›o¾Ñ¹Z”æÐ¡C´k׎“'O2uêTµ|ëÖ­üñÇüôÓOœ:uJ'9úùçŸsŒ#7ÇÛYY)SÖ'&Êé¦x±¤Ç‰ç"ý·p?ÿü33gÎ$**Šääd.]ºÄŸþÉçŸN×®]ÕõÒOŸzøðafΜɽ{÷8~ü8£F*´ýäGúØŽ;Æwß}ǽ{÷8uêT¶± ñ¢hµüìiaiiɼyó°¶V;/^¼Xý°ZµjêI;( йsçÔ÷Ó¦MÃÃÃ+++ºvíJµjÕxøð¡ú~PP—/_V·>|8+VÄÞÞž~ýúé|A’æÔ©SYÞZ7räÈ,ÛàèèÈÌ™3)[¶lŽ'ü¦¦¦xxxЭ[7µìСC:·R=K~ŽÁ³Úcii©Ö—œœÌåË—‰¥dÉ’4nܘ3fdûw:?WpŠ-Ê7ß|ƒ££#îîî:·¹ÅÅÅqàÀLÛ¸¹¹1`ÀlmmiÑ¢…β6mÚаaCllltnŽˆˆ %%%Ïñ½.Ò>º:wîL™2e077Wg8kÕªK–,aÅŠêú†€€&NœHÙ²e133£B… ÌŸ??ÓCÓÒO×ýä‡F£aýúõŒ?>SlégkB¼¼2ŽÿH«’_…yBþ,¶¶¶™ÊâããùàƒX¼x1gÏžåþýûÙ^MxòäùŒÑÊí1066fÙ²e <õjZRR§Nâûï¿gÀ€Yn›ššªó>ãC˜ KZLiÒ_9²±±Q_Ë!^~2ɀȵ¼Üâ¦~ýúÔ¯_?×뛚š2fÌÆŒ£S>kÖ,õµ¹¹y¦[>ò²ŸJ•*eÛ›l—™™™1nÜ8Æ—iY~ŽâÅÙ¿¿:u¯±±1)))¤¦¦òÕW_±yófŠ+(ßâ§·oß>Š/žcÝeË–Õy‚‹‹‹ú>«;úøød;³cníÞ½›[·nÊ8•… âïï……Û·oÏôÅPšô'îYýíÊÏ1ÈM{lmméß¿¿W\\ÿý·úü±¿ÿþ›{÷îaoo¯sµ*>>^}’’BHHHŽûå*TJJŠzÕ&,,L'1Éø™=OÏ:ÞBˆÂ'WpÄKeøðáŒ?žS§N‘@dd$K—.ÕI*ºuë–í`T!„ÈèæÍ›|ùå—ê•€)S¦¨·œÆÅÅ1`Àõ ‡•+WV·4h§OŸ&99™¸¸8BBBX¾|9;wæÌ™3€2Ž'ý ó·ß~KXXñññÌ›7/Ó-_…%ý-X{{{ŒŒŒ8sæŒÎÀöŒÒÏùøñcN:¥sâŸcð,QQQtèÐÕ«WJ|||È… hÞ¼9  voÚ´i¡Ì¤–Q½zõpqq!::š””>üðC@Iv:tèí¬¬¬ÔÛËÚ·o¯.ûçŸpssËó1x­VËÉ“'sœu²Y³f)R€>úˆÕ«W“’’Bll,­Zµ”+/ 4`ß¾}9î¯nݺüý÷ßüòË/:åFFFLž<9ËñLÏKnŽ·¢pÉñRùþûï™6mo¼ñNNN˜™™Q¬X1Þÿ}–/_ÎîÝ»uî…BˆœLž>>ØÚÚbllŒ‹‹ Õ«W§G¬Y³Fçù6µjÕâ·ß~£^½zXYYaccC³fÍxn'°¬ZµŠ÷Þ{ggg,,,ðòòbáÂ…j‚•[[[/^LÍš5³=ÑÏÏ1ȉ››7n¤W¯^x{{S¤HŒ±··Ç××—o¾ù†Ù³g«ë—/_žåË—S«V-ìììppp C‡àèèøÌýÙÛÛ³fÍÚ´iƒƒƒøùù±lÙ2Þ}÷Ý\Å\Xrs¼……K£-ÀuÒ:Ph !Ä«àyÿý‹ŠŠÊõÌWžžÌžÅûïç~¦,!„xäï“È\]]ó½½\ÁB!„B Ip„B!„C!„B!„ÁG!„Ba0$ÁB!„B Ip„B!„C!„B!—2}‡ IDAT„Á0)ÈÆçÏŸçÂ… ”*Uª°â"_bbb°±±ÁÜÜ\ß¡ˆ×DLL åË—×wB!„È@®àƒ””DRR’¾ÃB!„zV +8*T B… ÏíIÞBä–F£¡gϞ̘1Cß¡ˆ×D‡ô‚B!² Wp„B!„C!„yÌìÙ¡>|Gß¡˜!µ%+Yµ/«²ððDfÏåÔ©¸ƒBg'¬†Ô–¬dÕ¾¬ÊÂØ=û'OƼ„ây‘G!Dž¹ºZ2p`ej×vÖw(fHmÉ­Ýæ×ñ !ô§@“ !„x=¹¸X0p`%}‡Q( ©-¹õ¢Ûü:c!„þH‚ó’9xð ;wî¤{÷î”)S&ÏÛòÏ?ÿðùçŸãææVø qð ìÜ Ý»C>ú(ðÏ?ðùç }ô•Ìo¿]¥vmçLßÊß¿ÿ˜}û¢¸~=ssªU³§V­¬¿¹OIÑòï¿· ‹çÉ“TÊ–µ¡aCWÌÍÕuÂÃÙ´é: ¸âããÈáÃw8s&ss#4p¥L›,뎌LbÏž[Ü¿ÿ˜òåmiØÐóçãÙµ+’÷ß/§§m¶mÉï>sÓž—ANŸ@jª–ƒosöì]¬­MiØÐ•’%­²¬ëÊ•Μ‰#22 ||œ¨VÍ!×ûËKBˆÜç%sðàA&L˜@£FòàL›66mÚH‚#žƒaÂhÔ(ÿ δiЦ$8¯°´1o;Ú¾ý#GžäþýÇ:ëûú:1o^m\\,Ô²Ó§c4è(tÖ-VÌ’ ê¨'ÉicC,-Y¸0ŒÀÀHu]cc S§Ö m[w:Ö® güøSsÛžœÌ™ŠVûÌÕ°²2¦gÏü=l6»ÏàáÃTºu;À¿ÿÞVËLL4ŒåE×®jÙƒ)ôîý/‡Ý&£ \™7ï ,-MrÜ_^ú‹Bä–$8/Æ—¯äFˆÂ߯Ë_r# Ú¹s÷<ø(OžhñòrÄÏω„„oròd,ýúfíÚ†h4pãÆ>ýô ññ©^݉êÕ133"8ø.‡ݦW¯ÙµëmllþûojéÒ‹$$<¡uëR¸ºZr—¢7îo¿] [[SΜ‰c̘“¤¤h©UËooââ±cÇMæÏËS›r»Ïü´'+s熒’’» ÇÙÙ<ß NN–.½ÈƒJ›‹µ $ä.ÿþ{›I“ÎP±¢½š $&>æÐ¡ÛT«æ@åÊö8;›ÿ„#Gî°o_óæ…1thÕl÷“—þ"„y! ÎKÆßß}‡!Döüý•!2X²äOžhùôSOFòROL¿þº*mÛîáäÉXºMݺEY´è<ññ™0¡:}TN§žŸ¾ÄäÉgؼù:]º”UË?NåÏ?›èÜ*5bÄ Ö­ çèÑ7V®.[v‘”-ƒUfÀ€ÿÆ} X‰Ö­÷æ©M¹Ýg~Ú“•þý+åé Î󔔦Moááa«–-]z‘)S‚øé§‹j‚cccJ@@ClmM9~<†˜˜‡˜šóî»Å‰ˆHd÷î[9&8yé/B‘¯M‚“~lŠ££#[¶láâÅ‹¸ººÒºukœœœtÖß°agΜá믿ÆÊÊ*Ëe#FŒÀÂÂ"SývvvlÞ¼™ððpÊ—/OëÖ­16Vþ#ŠŒŒdË–-ÄÆÆR«V-š4i¢SwNcpÂÃà $** '''5jD¥JÙÚ|ðà›6m"<<œâŋӪU+2ß"ÃŽ;¸qã¶¶¶T©R…úõ룑¯Írçöm˜?Šþýu—%'Ã?€±1  &9üÊ¥›âè[¶ÀÅ‹àê ­[C†>ʆ pæ |ý5dè£ê²#àiÕ©ßÎ6o†ðp(_^©ÿi%2RÙwl,ÔªúhŽcpÂÕýDE)ñ6j9ôQ<€M›”튇V­ ‹>JL ìØ7n€­-T©õë#_í¾\ŽÁØXÃ!Ut>GG3>ÿ¼"ß|s’ãÇc¨[·(ÞÆØXClì#æÍ C«Õª'ö‰‰O ŠþKÚ¶uÏ4¤Q#7Ö­ '**I-;y2KKúö­¨³nÉ’ÖtìXšÅ‹/äºM¹Ýg~Ú“•ô ™¾´jUR'¹èÞ݃<ÏñãÿM!md?ýt‘íÛodYÏ;sÜO^ú‹BäÅk•àL›65j0|øpBCCÕeEŠ᯿þ¢zõêjÙ† X¹r%ýû÷Ï2ÁY¹r%ƒÖIp¦M›†——C‡åêÕ«êúþþþìÚµ‹Í›7Ó½{w>üïþ_|ÁüùóÕ÷ÙÁ5jß~û-)))j™F£¡GÌŸ?SSS/\¸@›6mW˜ٸq#õêÕSË-ZÄàÁƒIJJÒÙÞÛÛ›;wâêêšãq@Ñ¢Ê ýøñ Õ€ÿ-ë×–.…Ì9¹ÿƦԨÇCº>J‘"ð×_®²a¬\©$UY%8+WÂàÁº δiàå¥$[éú(þþ°k—’ôtïéú(_|¡$pi²ƒ3j|û-¤ë£h4У‡²}†>Ê… Ê8œt}ggظÒõQ-RÚ‘¡âí­$ZÒG_ññqq±ÀÂ"ó•wwkîÝSÆZÄÆ>"%EˬYç²­/㸌bÅ,3­“vãÉ“ÿ.{Ü»÷77 Œ3'À%KZç¢%yßg~Ú“•5''¥Je>FFFJ”°zš¤),8Ïöí7pr2§~}ÜÜ,133B£ÑðÛoWtÆ?e%/ýE!òâµIpÒôéÓz÷î Û·oçìÙ³ôïߟýû÷¸þ¾}ûbmmMß¾}166& €ƒ2`ÀV®\IÍš5©S§wîÜaõêÕ,\¸Þ½{ããã“móæÍcêÔ©h4Z´hAåÊ•¹zõ*¿ÿþ;K–,ÁÙÙ™©S§êlÓ¯_?ÌÌÌèÝ»7röìY>øàBCC)R¤‰‰‰ 4ˆäädÞ{ï=ªU«Frr2ÁÁÁìÝ»—Û·oK‚“[3gÂñã0dˆrÕ£NX²DInºuƒÞ½s_WŸ>J2Ô»7ØØÀöípö¬’ÈB¥o_°¶Vþ56†€%i0@IŠjÖTâ¿sV¯†… •Xrè£Ì›S§* M‹P¹²’@ýþ»rœ•åéõëffJÝJvö,|ð’Ü)‰‰0hr%ì½÷ Z5åup0ìÝ«\=“>úÒ°³3%22‰ää”L'­×®%`ooút]=J¥W¯ìOÐÓ&È+{{3nÝJ&%E›)ɉˆHÌWÏRXíyÆà\¿žùiµÊ8#;;3µlïÞ[XXóçŸM(RÄ\gÝ_~¹ôÌ ¬yé/B‘¯]‚ãááÁ®]»°´T¾•›:u*ÞÞÞ8p€øøxììì TåʕٱcææÊû¯¾úŠ *°téRFͤI“Ôu4h@Ïž=Ù¶m[Ž Îÿþ÷?Ö¯_Ï| –>|˜úõë3kÖ,Fµõߺ+VŒýû÷«íyòä ~ø!6làçŸfÈ!$$$œœLÏž=Y¼x±Î>ƒƒƒe¶¼03S…5 Cøé'%aðö† òV—‡‡r5åieêT¥ž >^¹½¬ *WVn÷zÚGùê+¨PAIÆF†t}”  gOض-ççieýz%AIsø°r+Ù¬YJÝéú(ÅŠ) [Z{ž<?T®>ýü³’,&$( MÏž¡,³°½djÖ,¦M×™1ã,#Gz©åwï>bÑ¢óê:þþ.¬Ys•Ò¥­iݺT¦ºBCï©øóÊ×ב-["øñÇó:·©Ý¼ù€€€ð¶Ì¿ÂjÏË0góæ>ûÌSç6µeË.óÆ‹©eM¦)°,ãÞ½G88˜‘“¼ô!„È‹×.Á>|¸šÜ˜™™Ñ´iSˆŒŒ,p‚3tèP5¹(S¦ œ?ž#Fè¬Û´iSÛÈ2ºví¼ùæ›:É @íÚµéС«V­âĉÔ¯__§éÛbbbÂĉÙ°a`È!¸ººòæ›o²wï^¶nÝJƒ ÔmªU«–ÿƒðºrw‡U«”+ ï¼ööÊ ¿eæ[\r4|¸î6ffд)„…)ãc šà ú_rÊmfpþ¼2f'½§}”ú(×®AD¼ù¦nrP»¶’ð­Z'N(ÉNšáÃuÛbb'* ÎJ‚ãêªÔ»w/lݪ$\iÛH}éôèQžmÛ"øé§‹;KŽ$$<᯿nûGêÔQÆS|ñE¶o¿É!ÇX¶ì"Õ«;bkkÊíÛ9>ž  8–.õ§D‰¬Ÿ½’“îÝ=Ù¶íÓ§ŸåŸ¢ñöv|:‹Út'ã¹Ì"r©°Úó2ŒÁ±´4¦uë=¼óNqеàìÙ»ÊÓ>J!ôQ²è£X[+dè£êûú(iý)›>ÊÓ>J†>J}T-K×GÙ¾¦O‡1c $D‰¿aCelôÑ—J•*öÌœù#GžàôéXNŸþï3O{®IÚmK%KZ³bE=† 9Fpð]‚ƒïêÔU¹²}¾’€êÕ™0¡:'žáÈ‘;9rGÞz«3fœÅʪpÿû{žíyÑ>ûÌ“ýû£Ø´éºZ–öœôϰ8°ÿþ{› âY¶ì¢ºÞ¤I¾¬Zu9Óó€2ÊKBˆ¼xíœÜJ›X !!gg݇ ]»ví…ÅáèèÀåË—³\~éÒ%€L³À]¹r…ºuëf*K_'(ÉÝØ±c;v,>$((ˆE‹Q§N¶nÝÊûï¿_hmy-ôí«$7°|9´k-[>Ÿ}¥M, ŒqIïöQÒúS6}”§}4Ó,pW®@†>ÊÓ>Jº>Š Œ«ü<|AAÊÄuê(Wu¤ê…««e–‰|÷Ýâøûeß¾(""`ff„——#µje¾Õ¨J{þø£ 'NÄ|—¤¤ÜÜ,©XÑŽÊ•íÕõJ—¶aàÀÊøúf®#m™··îì{;—¥aCWöì¹EBÂÊ—·¥aC7ÆŽ=èNU[ò³ÏܶçE˪}9µ¹N¢ôî]žýû£ »‡•• ¹ešMÎÁÁŒ-[³{w$W¯&`ggFƒ./nEjª–øøG9îòÖ_„"·$ÁɆ»»ò„êm۶ѯ_?µ|×®]8pà…ÆQ²dI8ÀæÍ›iÕª•ºìرc¬[·KKKjÔ¨¡³Ý´iÓhÙ²%¶¶Ê=ÔOžÊ¶mÊ€ý4»v)·x½(îîÊU•”YØÒõQŽƒuë”[î2ôQ¦MS’¿§}”'O”$”ÛÒ@¹%/"B™¸”[ëüü”diñb%‰”>ª.. ˜õíTvv¦´h‘Å•Â,h4Ê8‹œÆZ”.mí¾²[|—ªUtžI|—¯áädN¹rÿ/ɪ-ùÙgnÛó¢eվܴ¹aCW6Ìy ÍšÏTÞ©S™gî/M^ú‹Bä†$8ÙhÑ¢cÇŽeРAìß¿ŸÒ¥KÊÖ­[qqqáÖ­[/,–#FпÚ´iC‹-¨T©ááálܸ‘Ç3|øðL·¿EFFR¹reZ´h¹¹9ýõ!!!8;;Ó½{w@ûS·n]¼¼¼ðõõ¥D‰ÄÆÆ²eË™A-/Nœ€•iœçÍSNè”[ÖÚ·Wf)K?î¥0´h¡$ƒ)ƒõK—VfÛº\\àöQFŒPfykÓF‰«R%eÜÎÆÊmuÇg¾ý-2R™ð E åØüõ—r š³³2U5(uÔ­«Lmíë %J(·º=í£2ƒšÈάYç¸|ù>~~Î89™qåJ{öÜ"%EK׮岜BZ!„a'>>> 8Y³f±f͵|̘1\¾|™•+W¾°XúõëGDDß}÷[¶lQ´çट™-Íܹs:t(?þø£Z–öœ"E”o‹/Îo¼Á‘#G ÒÙ¾Aƒêñ wï*IŒ¹ùW+@2c†rueÀ嶪Âäã£$U³fAº>ʘ1Êíb/°Ò¯Ÿr¥å»ï”ä#-I{N}”¹s• ÒõQõ98Oû(Å‹+ÇñÈåÖ´ô4øïŠxy9°wï-ÂÃu§Ê̙Щ“rÇÄ7V®"mØ Ä’®æXïÞJ¢–‘•Œ§LSæi%CeêTå>J[œà­·”«9Yµ¥Aå¹7›7+WjJ”PnoK×GqwW¦š>{V¹ÝíæM% òóËyÚjñÚ8°2mÛ–æøñ"#`kkÆo¡|ùÎB(„⥧Ñjs;ã~f:t  ÐzÝõîݛŋLÕªUõÎ+C£Ñ0xð`f̘¡ïP _ïÞÊø—à`xûèóþûEBBB®Öõôô`öì(Þ?wë !Ä‹"ŸD~ØØØh¨Äksçe·uëV6mÚÄòå˱··§B… úI][·Â¦MÊÀ~{{åá B!„/Ip^[·neÉ’%1eÊLMó÷o!ž›­[aÉ02‚)S@ú¨B!^B’à¼$Z´hAÕªU©W¯¾¾¾úGˆÌZ´PnI«WO™ÑL!„â%$ ÎK¢E‹úAˆœIB!Ä+ÀHß!„B!Da‘G!„Ba0$ÁB!„B Ip„Bª}—÷ÑeeŽ\?¢–]޹L—•]X´^‘½|Îß>ÏÂÒ}Mwº¬ìÂé›§õ’B¼òd’!„…êvâmŽ\?BìƒXµ,ñQ"G®¡Né:z‹+ìvvN cõŽ´©ÖFoq¤i½¬5!Q!:e÷’ïé)!„0JpbbbˆˆˆàË/¿,¬x„È·ÀÀ@é‹â…9}ú4%K–Ôw¯ŒrEʱ²ËJJØ—Ð[ ÷ÞçÈõ#¼YöM½Å^tb4åËÓ¤|B£CÙ{i¯¾CBƒP çÂ… DDD0sæÌŠGˆ| &88Xßaˆ×HRR’¾CxeX›YSÛ½¶¾Ãx©lê¾ Æï¯ß`„€(Á©SG¹Õ  P‚"¿4 ƒfÆŒúE¼&:tè ï^ Ûö³=t;ñã)ï\žn~ݲ\ïrÌeFoM;ïv´ójÀé›§™¶g]ýºR«T-~=ñ+!·Bp±qaò»“¸{…õAë9û2­›Õœ{É÷8rýÞŽ™¸k"Ñ ÑTq­Àª“«˜°s)Ú}üzâWþïÝÿ£½w{µü׿2i×$uw_ÜͲ£ËXûÉZnÄßà\ô9"îEq/"×íüdõ'¤¤¦<{EÀÁÒùmççºn! _ Zmª¾ƒ¯Ip„BäÙ¡°>h=–¦–|Vë3ª¯NìƒX–_Î’ÃKòT×ÏG¦¬SYÖˆ»ƒ;vvœ¸q‚ñ;ÇcefEß.T/V3c3‚o³ìØ2ÆìCÒu(i_’Ã×3a×ZTnA#FØ[Øs)ægHx˜@›ªm°5·e⮉t¨Þ6Us?ÉÀ‘ëGrà8[;ç©íB¾MLœø·oBçÎ177×w@â5 ŽBˆ< 8­Üš<³õLšx6QË[UmEóŸšs%öJ®ër±qaC· XšZªeý7ö'U›ÊÒŽK©Q¢†Zþ–ç[ø”ðáÓ5Ÿ²å쾨ûËŽ.C«Õ2ºéhºûu×Y÷ÓZŸò0å!V¦Vê•¡’ö%ó4hEçhµÚ\­kjlšëz…x=T§|y¦M›Æ¢E‹øì³Ïèܹ3ÖÖÖúL0Ip„BäYØí0,t’3c3ZUiŬf庮w+¾«“ÜœŽ<±Æ˜™û•Il´Z-Z”$ãIÊ.Å\ (2ss>©ñI¦ºŒ±2²Ê}òðF©7 ´½¯7ºt™Á?ôgéҥ̙3‡ ðé§ŸÒ£G,--Ÿ]…y$ ŽBˆÿ\ù€«qW˜¶g ÿ]Ààƒeü0x¾¾¾lÙ²…Y³f1zôhþùç¦L™‚¾C¯0¹‚óœ :­VK£FôJR[^Cߊv±–Fé;”3¤¶WW–w^Nyçò7Ãmˆ]w!ôV†Ï<]#ü¾† IDAT|óöÌ£âèŠX|aA¹‘嘼m2ORÓõ¿éMóûÓþ7­>š^4½44ú®QŽmÉO,¹ýDÞxñ z±êêdEmŠRÛ½¶: €µ™5µÝkSÒþ¿AÄ–Ôv¯›­[Žõ››RÉ¥¾%|)fW,Sr“ž•©^ż¨âZ%Sr“q7J½‘§çá6":c‹2þ¤?~B¼.\]]Y½z55jÔ [·n>|Xß!‰WÞ¯à„††âïïϽ{÷Ô²?þøƒÃ‡S³fÍLëÇÅÅQ¿~}BBBÔ²äädöìÙÃÞ½{Y±b}ô‘Î6sæÌaéÒ¥êûk×®1~üxRSS™0aBêþöÛoY½zµú>§“õ˜˜êׯϹsçÔ²°sçNvîÜÉãÇ11Éþ#¹rå uêÔ!::Z-‹ŠŠbõêÕlݺ•Ý»wãç秳ʹiÓøí·ßtê3f aaa¬X±"Û}=K~bÉíçð"…Þ ÅÿþÜKJ×ÿ‚þàð•ÃÔ,Eÿ{Gýiõ ¹™®ç"Óõ¿Gز“!;yüãcLŒrèw®PgJ¢ï§ûÌã£X}d5[Ïle÷Ýø•ÉÐÿþœÆoGÓ©cÌïc»ÆŠèùˆ%·ŸƒBý²´´dÞ¼y|õÕWôèуeË–Q«V-}‡%^!z¿‚3dÈîÝ»GóæÍ "11‘'NàííÍÎ;3­?tèPBBBhÛ¶-G%!!˜˜V¯^ƒƒ 11Qg›U«V1{ölnÞ¼I||<¿þú+&&&Ì;Wçö„üÔ½~ýz~øá"""ÐjµLŸ>=Û¶<˜sçÎáååÅÖ­[‰ŽŽ&&&†;wÒ¤I4MŽÇjРADGGÓ AŽ;Fbb¢ïýû÷éÕ«W¦mÒâ»yó&±±±¬Zµ '''~ýõWþúë/™4iû÷ïW¨§Õæ8kZ~bÉíçð" Y;„{I÷hîÝœ ñA$ÎKäĘx—ôfgHý/`(!7Ch[£-G¿9JÂÜbfưº÷j,°j‰3ô¿Ã«˜Ýy67¿¿Iüœx~íù+&F&ÌÝ¡ÿå£îõ'ÖóCLjø.íb-Ó;æÐÿÖ æ\ä9¼Jx±uÀV¢§G33†_î¤Iå&êºÙôÛ ¢ïGÓ BŽ>Fâ¼DB&(ñÞO¾O¯åYô¿§ñÝüþ&±³bYÕkNÖNüzèWþ:÷´ÿ}Ȥ6OûßðýhkÑ.Ö²wØÞB%·ŸƒBý311aÆŒ4lØ>}úpþüy}‡$^!zMpرcîîî¬[·ŽjÕªaee…¯¯/7nÄÙY÷y>dõêÕT­Z•uëÖáç燵µ5NNNtêԉɓ'Çþýûu¶;v,  X±bØÚÚòÑGѦMbccÕAlù­ûË/¿ä«¯¾¢D‰ä$))‰€€œœœØµkÍ›7§hÑ¢899ñöÛoˆ±qö©KLLäÏ?ÿÄÅÅ…-[¶P³fM¬¬¬¨R¥ kÖ¬¡jÕªœ:u*Ó€ÁƒóÕW_Q¬X1éܹ3³f)O_·n]ÎP!Ç’›ÏáEJx˜Àޏ;¹³îóuT+Q +3+|Ý}ÙØw#Î6úß“‡¬>¼šªÅ«²îóuø•ñÃÚÜ'k':ÕêÄä&÷ÿìÝw\ÕÕÿÀñ×eƒ€ˆ¢" [Ep§¹'áÞ¥9ÊŠÔÔ¾ŽlhËQæø¥æBËܘ¹Â’2Q”%¨¤,•!CT–\øýA\¹^¶pœçãá#ý|Îç|Îù|N—û欬t|o>Óþ\¿bFŸ˜Ö7EOK '0´íPÒ§Ÿÿ\yÏî7›9ýçÐÔ ‚ö÷$›ý—öcXÏSsNñV›·h¤×Ãz†ôoÙï9Þån’ø8÷1^a^ësä“#´7oކ-›´dïô½´jÒŠ«ñW¹‘ôLûë÷)súÏÁ´¾) t0®Ó8ÖŒý¯ý]®fû«fY*óA„‡ªª*?ÿü3vvvL›6ŒŒŒº.’ð’¨Ó!j111H¥Rzôè–––ܹúõëóÆopôèQÙ±[·n‘͵k×PWWõ6ÿІ>•TÚê_-Z´ŠæÜÝ»wG___š$""‚èèhlmme稗‹‹ ÑÑÑU.Çó”¥2ï¡6ÅÜAZ ¥‡m´ÔŸiÚõy£Å -ÑþRn‘ý$›k÷®¡þa‰6Â3m$í™öWÊê_-ýWϕwÿ–•l)·ÉÍÏeã Lô«ÑþRcÈ/ȧ»MwôµŸyç*j l5ˆ»D'GckR¢ýµ*¥ýµþ¯ý%W³ýU³,•y‚ ‹ESS“ 60tèPæÎËæÍ›QQ©óH î…h!e ÍzvØHñü–ÂÂB¤R)R©”‚‚¹@ //Oî:mmí2ïY|]uónذa¥êøì}«ëy¯/™Gm—¥2ï¡.”Ùþx¦ý–h#R¤R Ki#ùÏ´?RêýÌŽêÕÍ»¡nÛ_ÃÐ*¼^í:j•x‚ ‹ÇÀÀ€Õ«WãïïÏüQ×Å^uÚƒcaaªª*çÎ#''G®'33“‹å÷'°´´DSS“:àçç§Ô²ÔdÞ%ó?wîÉÉÉWéz ÔÔÔðõõ%33S®çD*•Êæ+Y[[Ë]wâÄ úöí+wÌËË +++Ù±â߆”\]MÙeyÑXY ª¢Ê¹çÈy’#׋“™ÉÅÛÏ´?#K4Õ4é`Ñ¿ùJn5˜7€e£¢üÏÝü‘>}úЬY³Š/^[uÚƒ£««Ë€ˆe̘1DDD••EHH#FŒ %%E.½ŽŽcÇŽÅßߟñãÇsáÂ222ÈÉÉ!**ŠíÛ·Ó¥Krss«\–šÌŠz/FEjj* ÀËË‹û÷žÎ©S§èß¿?R©´ÌëëÕ«Ç AƒHJJbèС“••Edd$ãÆ#<<ggg¹!a«W¯æçŸ&11‘ôôtvïÞͬY³9r¤,¡aÑr¤'Nœ ++«ÜºT·,/]M]´@lj,c6Ž!ânYyY„ć0bÃR>Óþ4tÛi,þÑþŒß<ž ·.‘•AΓ¢£Ø°.K»›_öWƒyh«k3ªÃ(R¥2`ռ½¸ÿè>éY霺vŠþ?÷GZPNûÓ¬Ç ÇA$e&1týP‚ã‚ÉÊË"ò^$ã6#üN8ÎfÎrCÂV{¯æçS?“ø ‘ô¬tv_Üͬ=ÿµ¿ö%Ú_½ÿÚ_Ä ²ò*hÕ,‹ ‚ðrûøã155eÙ²eu]áWçËD¯\¹>ÌáÇeÇ6lHß¾}9}ú´lN ÀªU« a÷îÝrË3—TÝá&5™wqþ/^$$$„ÁƒW9ïÕ«WˆÂÚºººlÞ¼YášáÇ3wî\æÎ+w|„ r=;={öD"‘°lÙ2ÙGÏž=Ë\I­:ey­½ÿý9r˜Ã!%ÚŸnCú:ôåtäiÔUK´¿1«‰a÷ÅÝrË3—TíöWƒyçñöEBâC¼¦”öGíoÌjoâåCûoŸy皺lžXJûk7œ¹ûæ2wß3í¯ó¹žž¶ÿµ?¯e,óZ&;VÖJjÕ)‹ ‚ðrÓÔÔdÞ¼y|ôÑG„„„àääT×E^Pu>ÇÁÁ\]]ÑÓÓCOOAƒáççG~~>jjjèééÉÒ7hЀóçϳbÅ Ú·o®®®l¯÷ߟÀÀ@… *«&ó022ââÅ‹,Z´{{{455166ÆÅÅooïr÷À¢ ù—.]bêÔ©4mÚ555Œ;v,AAA ûÎ@Ñ&›kÖ¬ÁÆÆ ,--ùöÛoÙ¾}»\:¶nÝJË–-ÑÐШ°.Õ)Ë‹ÈÁÔÿùþ¸¶qEOK=-=µ„ß|?ò¥ù¨©¨¡§U¢ýé4àüÂ󬹂öæíÑÕÔ•­àõ~÷÷ ü|øK±[NNDDDPXXˆ»»{™ÃçççÄíÛ·ÉÌÌÄÔÔ”7ß|##£RÓdddH||<õêÕÃÚÚšŽ;ÖTujÍ à:tˆU«VqõêURRRhÒ¤ nnn|õÕWèêêÖuñ„WÜ!÷C¬ò^ÅÕ¸«¤ËF,cÙÑþ^eަŽD/ˆ®ëb¼TÄ3{ù»}=M=<'zbih)ÛÃË?Æi¡”9=æ0­ó44T‹KIx@¯ ½ê°Ä¯.GGGŒŒŒðóó«R€Ó®];fΜIÓ¦Mk°tÏ/--3gΠ¥¥EïÞ½¹zõ*ééée¦?wî?¦K—.XXX ££ÃåË—¹zõ*«V­ÂÄÄDnÚÇåË—ùâ‹/èØ±#NNNdeeqòäIBBBpww—[ÝøeóB8‚ ‚ /º”G)´hØ«†VrÇ“%Ð˪—,¸j–D"¡mÛ¶\½zµJ×µk׎víÚÕP©”§aÆlܸ‘®]»¢­­Í AƒÊ p>ùä100;¾råJ6lØÀäœãÇ0iÒ$¾üòKÙñ9sæ0hÐ ®]»F\\Í›7WrÍj‡pA„*+k>IN~›.lâXä1â3âÑPÓÀ±±#¼ñÝ-»WéÒ);¯ìä@èâÄSXXˆysÜZ¹1ÎyÚêÚì ÙÇç^Ÿ—:¿ øÜ†áèoÛ_á1¬ò]EdR$::ô³éÇg=?ÃPÇP–¦äœcVž[ITrõµêóN»wø°Ë‡ü~ùwv\ÞÁwhfÐŒÙÝg3È~P™Ïl]À:V+ZùqÕ¹U²¿•îéQVÙ jï.3'“ŸÏý̉'ÈÌÉÄÆÈ¦ÜyE………x†z²/tד¯#-”bihÉXç±Lh;‰DR©úÖ„ÊÔû;ïïØ~i;!wC°^f]j^nÛÜd/ïVåYűûên®Þ¹Ê½‡÷ÐÕÐ¥mÓ¶Lc:í›ÉïVÕ÷ò²srrbçβgddpîÜ9’’’¨W¯666tèÐA®}=;'99™={ö”y¦M›&w,33???âããQWWÇÑÑQéóV ª4º©{÷Ò?_'OžÌ† †®o\ß³gO…û¶iÓ†Ó§O“——';îïïÏåË—7nºººœ>}š;wî`aaA¿~ýdÃæ’““9sæ ´iÓ†®]»VºÊ$AA)žHŸ0iÏ$.'\–Ë“æq>ö<â.°dÀÆ·_éü~:û›å7m O '<1uuÞmÿîs•7øN0Ë|–!-(š7‘“ŸÃ¾}\N¸ÌÁ÷¢£®#—þêÝ«,;³L6Ï"ûI6?ý M5MR§°éÂ&YÚ[©·˜uh†8W~øLu=oÙªòîrós™°k‘É‘²´á‰áL?0Áö¥obýÙÑÏ8qHîxTr‹O.&2)’ï}_aíVØÉÞUEŒêqaÆ… Ó)»ÍVFUî™ò(…q;ÇÉ]ŸžÎ™è3œý÷,ŒÿƒŽfE_¬«ú^^–––$&&’››ËÁƒùî»ïäæ«@Ñ‚UÛ·o—M´vNRRk×®-óÆÆÆrÎþýûùþûï–ñïØ±#ëׯ§Aƒܽ{OOÏJ×ÅÖÖå/qÿþ}Z¶l)w¼}ûöìÚµ‹³gÏÒ£GÙñŒŒ BCC122ÂÜÜ\v< €7bkk˲eËHHHk×®¿ýö§OŸfÞ¼yrÑ„ X²d‰ÒëUà‚ J±#x—.ÓD¿ ‹,¦“Y'æ>dè~~ñÿ…ïOO›þ4ÒmT©üNÝ8…¶º6?¹þDW‹®¨©¨“ák‡ÐÑЩ8ƒ xEy1Âqwýc]cÂÃY|r1×S®³ñüFf÷˜-—þXä1&wœÌ{ÞÃPdz·Îòé¡OYë·–‚–^J_뾨HTØp~[/nÅã¢?ºþXêýÝ»ºÓ¹yg¥,2ð¼e«Ê»ûýòïD&GÒ¢a ÷_ŒsSgÒ²ÒØ|a3;¯ìT(Û¡ˆCŠ8„]#;æõž‡“©šjš„'†ó÷7ì ÙËÈ6#iÛ´mµë_]•­÷ý¾à‹~_ÐvU[Z¶àÀ¤rùüøÏl¼°‘#SŽTÐVåYK$ºYvcbû‰´4i‰Q=#ä<àbÜEæ›Ç¯ç•8U}/¯333 ¹uëß~û-¹¹¹ôìÙ[[[rss¹q㤥¥•¹’˜‰‰ 3g*örÅÇÇsøða/^,;æííÍÂ… QUU¥wïÞXYY‘——‡¿¿?AAAüïÿcË–-@Q€S^àô¬·ÞzKéNaa!?ýôêêêLŸ>]«+§Nâ·ß~#22R6çĉ¢SkgQç-[UÞÝñ¨ãH$Ö [‡‘ :õuX2p ·Óo W6Ï0OTUTÙ6fƺƲãÍ:²êíU¸lqÁû¦w…Îõy׫ùtʦì6«ì{Õ3ⳞŸ±ñÂF¾8þ©SåVj»žòô™Tõ½¼ 5*úeÉ;wÈÍÍeôèÑüðÃrinܸ!KWccc…çÞ½{L˜0Ÿþ™ÈŽÿôÓOhkk³{÷nZ·n-;^XXÈ'Ÿ|‰'ø÷ß±²²¢I“&¥Ne±µµ­tÚÊZ±bgΜá›o¾QÈ_UU•ï¿/ê9=~ü8/^@[[›o¾ù†Þ½{—š§••Û·oGC£h®Ù”)Sèׯû÷ïÇÝÝÙ³Ÿ~nvêÔ‰… âãã#Aá囋¶ìK[I}¬û°çêbÓc+ߢ>‹p?èNŸ_ûÐݲ;&´mÒ––&-+¾¸ºYtS˜ûaf`†¥¡%·Ón+¤ïdÖIáXý&tl&?þ^UE=î?¾¯”²VäyËV•w›‹‰®‰ìKtI=,{(|‘¾™ri”îë‹æRH¡ìïw3ïVº®Ê¤ì6«ì{ß f® <‘>)5¯œü§Ã±ªú^^::E=¹´oßžÀÀ@Μ9C§NdÛŒT5pHNNfÒ¤I̘1ƒ·ÞzKîxtt4Í›7çìÙ³œ={¶¨-ÿ׆‹?KÂÃëà(Saa!?üðÛ¶mcþüùŒ¯8ÌòÖ­[Lœ8‘””úô郵µ5YYYøûû3oÞ<Y¾|¹ÂuÓ¦M“7Íš5ÃÜܜ۷oóá‡Ê¥-žsçÎ%×°bÏà\¸p„„„:(ÅV¯^ÍêÕ«ëºÂkäEÞC¡®HPÞÏNM?EpB0—.ÄZßµ4ÐiÀš!k°kd'wς…af·™ m=]4T5H$ Ø<€´¬´.é‹MKK €ììl¶mÛÆÖ­[Yµj7oÞ¤qãÆtîÜ™ñãÇãääT©üÒÒÒ˜8q"S§Neذa çâââXµjUi—ððáC îæàH¥R-Z„§§'Ÿþ9S¦L)5ÝÒ¥KILLdÓ¦MôéÓGv¼  €?üàââ¢Ð“cjjª—¶¶6úúúhkkË/@ŸUž+À±±±A[[[.„º°zõjZµjEÿþŠ«$ BM8vì˜pžaÞÀœ«w¯r7§&ò_(þù÷YšªP•¨ÒѬ£lžAö“lúoêÏ¿òç¤?hX¯!ññ ן=_fÞ~1~|ÚýS¹_ÒÅgÄs;ív•ËY]Åû¨Tö‹{M©Ê»370'41”›÷o*ôœ»}N!o«†VD$EðIzšz5Sjª‰6«Ì{ÆgÄcTÏHa%´¸Œ8bÒbÐ×ÒšoßË« x%0mmmttt˜1c3fÌ //ëׯ³gÏFŽÉæÍ›éÕ«W¹yedd0qâD&L˜À˜1cÎׯ_kkk.{ÑGGG næàäåå1kÖ,N:Å—_~ɤI“ÊL‚ºººB£¢¢Bÿþý9sæ ¡¡¡eU{Ñ=W€Ó°aC6lXn$+µaõêÕôïß_´E¡Ö”\AF(2Øa0Wï^eÖ¡Y,°˜Í:ð(ïž¡žì¹º U úZW~ÙÓQ;F1¬õ0:™u¢™A3žHŸ@Fv†\ÏLñ—¹í—¶ãÜħ&NÜ|Ÿß/ýΩ§ÊÌ?än ½òQ—0Ö5&")‚Å'“_¯°ÜtM©¯Uô¥)(>ˆŒì ´ *¸¢fTåݹػr/÷ƒî,°§&N²Éì¥ ƒå4ŠKÇ.1qÏDf¼9ç&Îèiê‘ü(™)7ð ódBÛ tµ(9Ùš˜ƒ£ì6«ì{6ÑoBtj4;.ï`hë¡\N¸Ì÷§¿W豬ê{y÷–äççJ›6m€¢!kÅ{ÂìÝ»—ƒ–à<|ø÷Þ{¡C‡ò¯ÎhjjŠ……)))¸¸¸( }+,,ÄÏÏO67§¶çàdeeñÁÈ’%K˜0aB¹éõôôHKKÃÇÇG¡çäÉ“èëë—uù OÌÁA”âÝvïr<ê8Áw‚™¶šÂù/ú}QéÔ"#¸rçJ©çÆ8?ý «™írâú &ìzúC]U¢ÊÐÖCù+ü¯Róp±sá`øAþøcÜÜÜèÒ¥ VVVhjj’@HH DDD ªªª”98²å¨SSSX·njjE_ßßÿ}Ù°°?þ˜ .`ggGjjªB=444äæÈ¸ºº²nÝ:>úè#zö쉵µ5ÙÙÙøúúƒ††ÆK=*F8‚ ‚R¨«ªóûâé€ IDAT¸ßÙtaG#m`¨ª£©#tþ€-zTœI &`oÈ^.Ä] !#mumZ4lÁÈ6#á8B.íÒAKÑ×ÒçÔSd?ɦ¥IKþ×ëĤŔà´oÖž±ÎcY廊ëÉ×ÑVצŸM?þ×ë {àÔUUÖ _Dz3ˈHŠ ûIv­Ü÷YUywšjšì¿“•gWrâÆ æ>Ī¡3»ÍäAÎ…/Ò‰„åo-§§UOö^ÝKxb8YO²h¬×{c{†·Λ–oÖv•å·Yeß³ŸM?~~ûg6n’ IëkÓ—Ïz~Ƥ=òêú^^III@ÑÊ^NNN„„„pýº|O_ÇŽ™1cF™yxzzrõêU€R‡”ÉœþýûóóÏ?³dÉ|}}ñõõ•¥SQQ¡gÏž²àC¶nÝ*«c±õë×Ëþþî»ïÊœ¸¸8®_¿®ð  ¨Ç¦d€óÉ'ŸpçÎþúë/Μ9Ù3gdç X¶lÙK= [RX¼üC5ŒU´ìäþýû•V A¨‰D§Ÿ~*†¨ µ¦¦?ÿ’’’6’+‹µµk×&1xpåÒ ‚ Ô–šü|Ú²e  Á‹ŽŽ&,,Œ¤¤$ qttTXž888???†N³f͸zõ*çΕ=G©dN±œœ¸}û64kÖ ggçR'à?’=8¥)ÙƒóÛo¿ñàÁƒ2Ó>ÛƒS,&&†   RRRPWWÇÒÒ’7ß|SaÁ._¾Ì¸qã–ÝÞ³g™™™|ð|mvv6›7oÆÎÎŽVXß’tuu111©Ò5%‰AAá¥sýúuìííeÿ¶¶¶ÆÚÚºÜkÚµkG»vídÿvvvÆÙYqÉîòhiiÉÍ[©)e­€Všò(……¦{óÍ7yóÍÒ{ZÇŽ-}Ÿ(mmí:[*[8‚ B­‰LŽäm·+L×Ϧ¿ŽøµJôâÏH*'<<ü¥]åK¨Y*µy³Aƒñé§ŸÖæ-kÌ«T—êxë?hÐ>ýôLÅ _¯R]ªãu¯¿ Âë...Ž›7oÒ½{÷º.ŠðªÕ___²³ëf¥²½Ju)Kß¾}qvvfåÊ• ç^Æúûú&_×ÅPŠW©.eéÛwÎÎÆ¬\ÙKáÜëPÿW•ƒ±C­¯ö²ÏH*vêÔ)ôõõ騱c]ExÕj€ãåå…žÞ‹µÉWu½Ju)ËÙ³gå6À+ée¬¿—×ôô4êºJñ*Õ¥,gÏÆSFó{-ê/‚ ”íĉôîÝ[©«– ¯ŽZm¯R7â«T—êxëß½ûË»Üá³^¥ºTÇë^A„×Yxx8ÁÁÁÌ™3§®‹"¼ j5À4hvvv¬^½Zîxtt4[·n%<<©Tн½=“&MÂÉÉI!ôôt<<<8þ<™™™4mÚ”#Fàêê*K“——Ç€èÖ­K–,aË–-œ8q‚ÜÜ\ºtéÂÌ™3KÝ500­[·K³fÍxÿý÷±°°`ìØ± 6ŒY³f•Y—êÞ³2õ©Hež_Éò}ùå—üúë¯øøø •JéÖ­îîîèêêÆŒ3J¥\¾|Yn÷ßÕ«Wãììü\ﲺÏêy t;»¬^-¿òItt[·†~©´{{C&Mj““âænéé9xx„sþü]23siÚT#lpuµ*Q?)xÒ­[S–,y“-[B9q"†Ü\)]º4aæÌvèë+ö>ÞcëÖ0bc3iÖL÷ßoƒ……>cÇeØ0fÍzºê˳u©î=+SŸŠTæù•,ß—_vá×_Cðñ‰C*-¤[·¦¸»·EWW€°°û̘q©´Ë—“èÕk¯,ŸÕ«{ãìlü\ﲺÏJAx1lÙ²{{{:wî\×E^PµºŽ®®.:tàŸþ‘Û¿?ï¼óyyyriUTTX³f Ÿ|ò‰ìØùóçqssãþýû yO™2…­[·Eë“kkkóöÛoSXXÈÑ£GåÒ¶k׎óçÏ£¡ñôKŒ‡‡Ó¦M£äãPUUeéҥ̛7www~ùå—2ëR{V¶>å©ìó+.Ÿ««+=’{öööøúúbdd„ŸŸ_™=4>>>ôêÕë¹ÞeužUE*³Ž®î:thÌ?ÿ<Ý1{ÿþë¼óÎßäåIŸ)³„5kúðÉ'meÇΟ¿‹›ÛAîßWœ{4eŠ#[·ü¯~ùhk¯æí·­(,„£Gÿ}¦~&œ?? UÙ10¦M;AÉÿUU%,]ÚƒyóÎâîÞ–_~é[f]ªsÏÊÖ§<•}~ÅåsuµâÑ£<þù'^.½½½!¾¾ã02ÒÆÏïÝ»ï.õ~>>cèÕËì¹ÞeužUiÄ>8‚ SöçSll, `ÅŠ 2D)y /žçݧVWQ{Ö;w˜4iyyyŒ1‚Ý»wsàÀY 1kÖ,®\¹@ff&C‡%55•wß}—Ý»wsüøqÖ­[‡­­-ìÚµK.ÿãÇÄŠ+8vì›6mÂÜÜœàà`öíÛ'KÇÇLaa!“&MÂÓÓ“={ö0räH-ZT¥:UöžÕ©Ïó<¿b'Nœ 44”åË—sôèQ6lØ@‹-ˆŠŠböìÙ8::âããƒŠŠ íÚµÃÇÇGö§¬µâ«S–Ê>«šrçÎ#&Mò"/Oʈ¶ìÞíÊC˜6Íñ¿2ŸáÊ•d23ó:ô/RS³y÷Ý–ìÞíÊñã#Y·®¶¶ ððc×®Ègêw›  {¬XÑ“cdž³iÓÌÍõ Nbß¾§» ÇÅeòñÇÞ¤I­ðôtcÏWFŽ´cÑ"_ª¢²÷¬N}žçù;qâ6¡¡),_Þƒ£G‡³aCZ´¨OTT³gûàèh„ÏTT$´kg‚ÏÙggc¥•¥²ÏJAxq|óÍ7XYYUi¤‹ðú©Ó™YüñÙÙÙ ½ÇÇÌÌŒ¯¿þšÍ›7³~ýzvìØArr2?üð .”ËgôèÑXZZ²}ûvÆ/;®¦¦Æ¹sç°µµ•³¶¶¦OŸ>ðÎ;ï°sçNrss™3gŽÜŠacÆŒaêÔ©xxxTºN•½guêó<ϯXAAÞÞÞ´mû´gbäÈ‘ØÛÛ³wï^6lØ@ýúõéÕ«‰„ È QSfY*û¬jÊ\#;;_¡·bøpÌÌôùúk6oeýú~ìØArr?üÐ… å»ÄG¶ÃÒrÛ·‡3~üÓ“ÕÔT8wn¶¶ JÔÏ€>}öp—wÞi ÀΑäæJ™3§ƒÜŠacÆØ3uê <<Â*]§ÊÞ³:õyžçW¬  oïÑ´mû4P9Ò{{öîbÆþÔ¯¯I¯^fH$РAÑß+R²TöY ‚ /†“'OrîÜ9þøãTUËïe^ouà„„„0}út…sÓ§Oç믿–¥ àСCœ>}Z6”¬°°Pö÷¨¨(¹<:tè ÷å }ûö¤¦¦ÊŽ……}œ–ÀäÉ­ÊñÞ{­ªàTöžÕ©Ï³ªòüŠ9;Ë7FFÚ¸¹Y±m[8‘‘©tìØ¸¢j*¥,•}V‚ BÝKKKcÉ’% :T̽*T§NNN††† ç4h€D"‘¥)‹^”FSSSîߥå[<¯C*}:N¿x?ƒRËQ•½guêó¬ª<¿b¥Õ±dÕÝÛ¦:e©ì³ª)99ÒÿÊ¡­p®AM$’§i=z< J£©)ÿ¿“¡¡–B ¢Q¡RéÓÉ6Åû¹(¾ï ó(OeïYú<«*ϯXiu,YîêîmS²TöY ¥K~”Ìž«{èܼ3›+÷ËFdr$§nœb°ý`¬¬•šwUŦÇr(â=ZôÀ¹IéCt_w3ïråÎ$ ¥¦EëÆ­i߬}™é#’"ˆJŽ"åQ Út4ëˆUÃÊ/."µ©  €¹s碦¦Vå©Âë©Nœ&Mš„µµü±K—.QXX(KcfV4Leýúõ88”>lF]]ý¹ÊqåÊš5“_~688¸ZyVDõ©Êó+N^^žÂþK—.дiSÙ1‰DBe× ¨NYêZ“&E«Æ%bm-ø]º”DaáÓ4ffE{þ¬_߇†¥æ§®^½)mÅ÷¸r%™fÍä÷ NªVžQF}ªòüŠ…‡ß'/Oª0ÿÒ¥¢z6mú4}Qû«DeªYáù$=Lb­ßZfv›©ôçZÒ5Öú­Å¶‘m­8w3ïâêIó.t4“ïÁŽMe­ßZô4õ^È'#;ƒÍàBÜ…Ïë6¦mX7l¦ú¦²cg¢Ïðýéï‰MUÈËÅÎ…]D[]ñ‚P—Ö¬YÃŋٷo_™¿¨„’êt‘‹ÆÊ/X°@6L ŠVÈpwwÀÅÅ(šËEs=ÌÌÌèÕ«—ìO·nÝHMM%!!¡Zåèß¿?óæÍãߟ®¨tíÚ5¾üòËjåYeÔ§*ϯXRR³fÍ"77(Ž´jÕ*Ξ=‹••VVOƒ§««KLL Ö§:e©kZ°`Á9ž®d›‰»»7..Ei†·Šæz˜™éÑ«—™ìO·nMIMÍ&!áaµÊÑ¿Ñ=æÍ;Ë¿ÿfÈŽ_»–Ê—_úW+ÏŠ(£>Uy~Å’’²˜5ë ¹¹E½)……°jÕeΞÇÊÊ+«§?¸tuÕ‰‰y@AAÅQNuÊ"<=“ nêÂÝÌ»¬õ[ËÅø‹u]”*{ó€ó±ç170Ç­•ÓߘÎpÇáèiêz/”þüH.ýÕ»W‰M¥uãÖ k=ŒÞø€~6ýP‘¨püúq¾:ñUÕDx:uŠ¿ÿþ»Ôs;wîdýúõ,^¼˜V­ZÕrÉ„—UöฺºÒ»wo|||hÛ¶-666hhhE^^­ZµbÊ”)ôìÙ“)S¦àááµµ5-Z´ÀÄÄ„ôôtbbbÈÉÉaþüùŒ3¦‚»*zûí·éܹ3888`ooT*åÆ8::§ôÉlʨOUž_1¶mÛÆž={°±±!>>žÄÄD~øá¹´mÛ¶ÅÇÇKKKÌÍÍQQQ‘탣Œ²Ô5WW+z÷nŽOmÛþ†M44T‰ŠJ#/OJ«VFL™â@ÏžfL™âˆ‡GÖÖ[hÑ¢>&&õHOÏ!&&“œœ|æÏïĘ1öU.ÇÛo[ѹ³)÷ppðÀÞÞ©´7Òqt4"..UU‰R뮌úTåùsphȶmáìÙ…Mâã’˜ø€~_š¼m[||â°´ÜŒ¹¹>**Ù>8Ê(‹ð|Œu™Ùmf]ãµ×@»ž=z—’{&ã¶ÍðÄpn¥Þ¢EÃô³éÇÈ6#inÐ\.½ïm_¦î›ÊÑÈ£|?è{4TÅ^PBí aÖ¬YЧO´´ž>xð K–,aîܹ²¥ù¡2ê´G"‘pèÐ!&OžŒD"!**ŠÐÐPòóó6lgΜA[ûiWùæÍ›Y¹r%¦¦¦Üºu‹óçÏEAA£GfìØ±Õ*‡ªª*GŽÁÅÅ…'OžƵk×0`€ìK¿žž^¹TÝóÖ§ªÏÀÖÖ–½{÷¢¦¦FPP‰‰‰Ô¯_ŸÍ›73zôh¹´K—.¥qãÆÄÅÅáëëËÙ³gÉÈÈ 4Õ)K]“HàС¡LžÜú¿2§šB~~ÆÙpæÌh´µŸþ`óæ¬\Ù SÓzܺõ€óçï•FAA!£GÛ1vlÕƒ(ÚïæÈ‘a¸¸XòäIaa÷¹v-•,d_úõô”ÿeãyëSÕç`kÛ€½{ßFMM…  DS¿¾&›7dôh;¹´K—v§qãzÄÅeâë›ÀÙ³ñddä*­,ÂóI~”ÌZ¿µÆ)Î#|˜ûc‘Çøõü¯l ÚFP|P™ù$>Ld÷•Ýl¼°‘3Ñg”?ÿNZ(Åï¶[/neã…œ¼q’Ü|ùvQ<¬ìêÝ«àwÛM6±óÊNÈ÷ŒÅáê ÀùØó¬õ[+ûSšÀ¸@6næ÷Ë¿“SnYkƒ¾–~©CçŒui×´hsà¬'Y²ãmLÛ(7Ý-»Ó¢a žHŸð8ïqÍXJˆgÊ”)H¥RRSSåuÚ½{7 ,à£>âÃ?¬ÃR /£Zý‰ïåå¥(èééáááÁš5k¸~ý:R©›R' «¨¨0gÎfÏžMtt4)))4jÔsss¹9%øøø`dd¤Gñ¹Fäw©oÔ¨^^^$$$OÓ¦MiÞ¼9?ÿü3666åÖ¥:÷¬l}ÊS•çWlÈ! 4ˆˆˆ hݺu© tîÜ™øøx"##IOO§  @Ö{ó<ï²:ÏJ¼¼F( zzxx¸°fM®_OC*-ÄÆ¦A©ÐUT$Ì™ÓÙ³;NJJ6icn®/7§DCCŸ1)tÅç5’?ר‘^^#HHxH|üCš6Õ¥ys}~þ¹hn”übÏÖ¥:÷¬l}ÊS•çWlÈk ²$""•‚‚BZ·6BSSñ~;›?ÈÈ4ÒÓs(((”õÞ<Ï»¬Î³•5çøõã,ü{!så‡8¶mÚ–uÃÖa¬û´nè~¾>ñ5yÒ§›;7qæí–o—zÏ»!Ì:4K!H1Õ7eÃð ´n\´aq€£¡ªÁʳ+9{^–VMEÏû~ÎÄö¸Qà\ˆ½À…Ø ²´%{¨ò òùðÀ‡xßô–SUQeé ¥ w^ÁÓ*ò~ÿG!•›X¦£®Ã´ÎÓ*•¶4Ù„Ü A_K¿R‹H ¤ddg`ªoJíª-®#Õ‘‘‘Áĉyüø±la¡uëÖ1bÄ~ûí76oÞ̬Y³ä6|„Ê’Vvy)jz'ïÚtâÄ êׯÏo¼!;vúôiFŽIff&qqqrð_6999hkk3dÈþú믺.ŽÒI$>ýôSV­ZU×E©–'b¨__“7Þx:øôé8FŽïó9IÑܱy½æ1ü·á\¹s… qèbÞ…í—¶#-ÊHPT¸msSÈ{Ó…Mdæd²dÀ&´› wnû¥í|çý‡¯f|Û§›#g?ÉæÐäCr=Aüpú¶^ÜJçæéhÖ‰D"[Eͽ«{©u{"}‚×4/šÕºÒæ‚¿àêIP|}¬ûTø|>éúI•zpª"-+MnX¦š&_ôû‚¶˹ªÈéèÓüxöG\\Ep#Ô¸ÂÂB,X@hh¨Â–ùùù„††²lÙ2ÜÏE8ÿqqq᯿þÂßߟää¢ µ´´øøãY¾|y—NxÕ¹¸Xò×_Ñøûß!9¹h¼¼––ìÌòå=ê¸t‚P9—.£*QenϹ²àŠ&ÂØåCy-ârÂeº˜w!8!mumÜß”(Ì Ìã<†-[äŽÄ *Q%-+uëä6E~ü¤hÎHؽ0(±±[K7…áYïuxç7r9ár•ê6¼õp¹à —U/o„מ={زeK¹iòóó æäÉ“ 0 –J&¼jħÙ3 Ë ÿ²RQQ¡W¯^u] ¡††Z6®ëb(ŠŠ„^½¿l ¯}M}îeÞ#'?G!ȉˈ ¾V}Ù&"-”*9ññŠyké“'ÍãýÎï—yÿg7--ŸÂÂBî<¸ƒ¾¦~å*¥D¿üR¥98ϳȀªŠ*.v.xßô&")B!ÀÙxa#?þó#ƒí³jȪRMAP¦3gÎðÕW•ÛgI"‘ðÝwßÑ»wïjoâ.¼ÞD€#‚ (Eûfí9qˆUçV±°ÏBÙñŒì 6]Ø$KЮY;Gf½ÿz¹¡[ññì Ù§wWó®ì Ù‹ys†´R›•¥0ÑÿðµÃLé4En˜Ú¶KÛHÍJ•›3£©ª)+gMª‰98¡÷BinÐmùÝÝŸHŸp(âP,•´Üg9›7ãÖÊßúQ7B‹‹»Êÿýß *Z×J]]©TJAAÉÉÉxyyáæ¦8'O*"AA)¦všÊ±Ècl½¸•K —h×´rq:ú4iYi87qææE+U¾×á=ŽEcßbVQ{ÖG]?âøõãÌ=2—mAÛp2uBOK”G)ܸƒ°{axŒö iý§ Âh«k3dÛÙ*j×’®€D"aj§©²tff¨HTغŸü‚|Ù2ÉÊÞÈ´&æà‹<ÆÎà¼aþffè¨ëü(ßÛ¾Ü|}-}Þ²K–~Ãù lÜŒ¾–>Í š³.`BžãœÇÑHWùKõ ¯«ÛlØ0޼¼Ã…¸ äåç1¿÷|œš8•™>#;ƒ]Wv³1« IDATr7„B iÕ¸ãÇÓH·Q¤A(p”, €“'OòÞ{ï)ôâÄÆÆâííMRR†††ôêÕ {{û2óÊÊÊâСCÄÆÆÒ¤IÜÜÜ000¨á‚ Ô®ë)×Yrr £F3´õн×ã¼Ç\Œ¿ÈæoÔè}^C¶ !")BîØƒœe¦ËˆcìcI~”,;v&ú ;.ï`×ø]Ø6²­Õô‚ eŽ’ÏÁéÕ«—\€óù石bÅ ¤R©ì˜D"aêÔ©¬_¿uuu¹|nÞ¼ÉСC‰•322âàÁƒtëÖ­Æë!‚P[æ>äbüEÞ´|³ÆïÕ¢a vŽßIÓúMkü^/ºäÇÉØÙÐצ/QÉQüóï?å¦ÿìÈg$?J¦}³öLî8U‰*»®ìÂ÷¶/Ÿþ”£SŽ¢"Q©µô‚ eN-X·nK—.E"‘àêꊃƒ111üõ×_lÙ²###–.]*w»»;|ðÁhiiáíí͵k×6lQQQ4lذŽj#‚ðòª§QÎÍ;×u1^‡Þ;„±®1‹O..7mÈÝ‚ïÓÜ 9¿ý -5-úØôaøöáD$EàãOwËîµ’^¡<"À©Ë–-àÀ 6Lv<00îÝ»³f;øâ êÕ«';gjjН¯/úúúäçç3fÌþüóO¶oßÎܹsk·‚ %„Ü a¹Ïr&v˜HG³Žüü‰ëóËwd=Éâȵ#\½s•{ï¡«¡KÛ¦mÙf$õµêðWø_l½¸€ý!ûñ¿í/»Ç® »d¿v›a¸‘rƒü‚|, -é8‡*•»¼98ã/rôÚQâ3âÑPÕÀÑÔ‘±Îc1ªgTj½Û5mÇï—'2) úÙôí¥‰D.ߨä(þ û“øñbÞÀ·Vn´2iU¥²+[qpSþ1Eïe´ÓhYð *Qåvï°Ðk!çn“ 5^¡<"À©aqqq$$$ðæ›oÊ7;wfÔ¨QìÚµ‹àà`ºwúÁ=þ|Yp ¦¦Æ7ß|ßþ‰¿¿¿pA¨Srp1þ"mš´á›SßÈæM´4i M﹡'óË]wüúq¶^Üʾw÷Ѭ~3îdÞ!29€„ $öo꿵–^¡<"À©aééé´hÑ¢ÔóVVV¤¥¥É·´´TH[|¬8OA„º¶=h;–†–Ìì6“æÍÑ×*úÅÌéÔUÕ™Úi*-MZÒP§!™¹™Æ²ûênÖú­eÅ[+Új(zšz|sêF9bh+ùE‚ï³øäbt4tßv@CUƒKñ—hZ¿©¬×§Yýf óc<.zPPX€ÇhY/ @oëÞ87ufòÞɹv„º|Tí:칺€eƒ—É­â6¤Õ&î™ÈùØóœŽ>Í`ûÁ²stÉÕ»·uo:4ëÀ;»ßaïÕ½²GME [#[¾êÿ•Ü=ßëðsVª|;ÆíPè*‹ºªzʼnª¡¸÷LUEUá\ñ±â÷[éAÊ#œÖ¼ysš5k†¿¿?‡ÆÍÍMvîÒ¥Kxzz¢­­M»víä®[¾|9o¿ý6zzz@Ñœ¯¾*úùæ›5¿Ò Be¸Ø¹(7)R·s\©C΀J¹¹‚ªD•Õ¾«(,,¤¢/ûùÒ|àù‡.E%G¡­®­0\L"‘0Öy,çcÏ™)à ¶¬Pï➤ë)×eÇ>xãæ™ËìóécÝcZ4lŠD=M½J•¯“Y§ç¨rh«ÕõÙ!‡%ÕÓ¨WkéAÊ#œZ°`Á>ù䆊««+öööÄÆÆrðàAž%½spŠ—ÕŽI¡uãÖrçn§Ý–KSéAÊ#œZàîîNBB?þø#GŽáÈ‘#ÀÓ}p¾ýö[…k~ùå>ûì36nÜ(;V¼ŽX"Z„]ÈÝ ´ ømìor{—d=É"åQ ZêOWÊ’PX”6 ËTß”€£©c­¥A(p”,?¿hÈ„ªªüâ¥K—2}út¼½½IJJÂÐÐÞ½{coo/—®_¿~hiiÑ£G®]»Æálj¥iÓ¦¸¹¹a``PkuA¨®úZõ¹•z‹ëÉ×eK9§g§³ðï…ääçÈ8:ê:@ÑNöÏ`;€µ~k9~ý8s{Εõ¨@Ñ0·ƒáéЬÃs•µ»ewn޿ɼ£óX=d5 ´‹æ9űñÂFYš’NÝ<Ű²¥¦³Ÿd³ÈkYO²x«å[²t+þYÁÇX5´’3Ñ5A]U‹ñ+U¾aNoëÞh«ks4ò(ƒÓ׺/PôŒv]Ù…ºª:.v.µ–^¡<"ÀQ²âÅž]4À‚iÓ¦•{}¿~ýèׯŸìßãÇWnAjA_ë¾Å1dûìÙEC´Õµÿ¿½{‹ºÎ÷8þ®" Ü4Ä š޶j‚îjÞ=3YoÕ©SZÊRsËsåใx¹T}‘³fÊžìó$[me;5|²ÿ‚Zѹy…yœ½r–ŠÊ >øÝuÆ`©©}¦²ñðÆªƒ$ߊ$Ä;„²Bó¹5Q=¢èèÛ±F0¿0^þüe½¿~d^Ȥ°¬7G·¬Ø³‚÷¿yŸVn­ô äjùUŽ?Fye9CZŸµÖ༽ëmR2S€ª©a1_Åðnê»Ì0Ã|oOOžxž˜¯bx*á):øtÀØÌHF^&“‰gî†Ö-Z›Û¶vy‘Q‚ÓD6mÚĆ øè£ðôô¤cÇŽõW±Sÿúq2/dòÉ??1ŸsâBìèXæm™W#Áq1ºð_ƒþ‹_.àhÞÑí¸9º79Ž×¾~O|ÊñóÇͯy¹z1¶ëXº¶nÜ™¾î¾ÄM‰cîæ¹¤e¥q8ç0®Ž®ü{ïg怙µê=ð)¡ C鳬&“É|=§0‡Ð…¡ÌÛ2ïVw¸q_L&ñûã‰ZE÷Øît}½+£?ͪïVÕèÀž¬=Ìúû,½;ˆ°×¸ïÏ÷1-aßf[ë¾—K/3?q>ýÞìG××»2vÅX¶×Y^""Õ¨spîf ,`Þ¼y$''aëpDDl⻿cáö…T˜*¨4UâåêEÿ.¤d¦`2™0 ¤œL¡™¡ùÅùdäeæ@òÉôê_ïý:-êDEe…E±ù4÷á›éß4ª/&“‰Ù›f³áІe3r3˜Ÿ8Ÿôœtþ0âäæ1iõ¤å.–\dûñí|}âkVM^Å}÷PV^Æ”5SHÏM7—=xî O­{Š‘už—ˆHc(Á±‚Ù³g3{öìú ŠˆÜá6gl&ªGÓúL£­W[š9Á»©ï’‘›A˜&“‰™;Óu ›o"ù‡ds‚“’Y•øôk×Ï–]©³/ŸüŒ ‡6ÐÉ·/ýö%z´é³Ñ™ƒçò¿Ûþ—÷Ìøîã Ç`0Á£½¥‹|šûp©ôi§Óxéó—x7õ]s‚óÑ·‘ž›Nˆwó‡Ì§g@O._`ù7ËY½oµMŸƒˆÈN ŽˆˆÜ´ž÷ôäÃÿh¥©T•जL!Ì?ŒôÜtò‹óÖq?^ú‘”“)Lë; “ÉÄ®S»èÖ¦ž.žõÞïÈKG¬Õ•:û’p ‡fümÂßðs÷3_¿/ð>–üë†ÿe8ÛŽm#< Ÿæ>Ì8›÷¾yÿþâ¿É/Ê7Éû)ö/2¾À`0ðÖƒoÑÁ§nžnD‹&ób&»Nî²Z?EDìÝ-YƒsåÊ^yåºté‚««+ 4ˆ­[·šËäå刧OŸ®Q?)) £ÑHDDååå·Y­°°èèhºwïNóæÍñõõeذalÛ¶Í\æá‡Æ`0pþüùZõ«_+((à`Þ¼ª¹â‘‘‘  ¿ùÍo€ë¯ÁÉÊÊbêÔ©âääDëÖ­™|˜1cÆàé鉇‡£F"##ƒÇ{¬V~ß÷ߟnݺáììl²4þ†<Ë_Þ÷­·Þ¢S§N¸¸¸‚ Ìæ"rûéÔ¿VrÐëW½put%9³júYJf úµëGDp{³öRZ^ÊáÜÃ\(¾`Ñô4k««/ÇòŽQQYAäÛ‘tZÔ‰Ž1éÓ1þ—᜹|¨šâµ2ŠÍ›É-Ì­‘Ü”–—šªàþîþæäæçhꮉˆÜU¬>‚sñâE"##9tèùZii)_}õ;vì`åÊ•L™2___âãã0`QQQ$''ãääÄÙ³g™0a>>>|òÉ'F‹ÛÈÏÏ'22’ôôŸæ9“˜˜Hbb"×®]Ãh´þ@Vff&}ûö%77×|-''‡¸¸86mÚÄöíÛéÝ»w:o¼ñ|ðùçÓ§O3þ|*++‰ŽŽ®÷žÜÿý\ºtÉ|íÿø»wï¦W¯^×­·hÑ"âââÌ?WVVÞTü ÃÚµkÍ?gff2oÞ<Ž9ÂÊ•+Õ¶ˆX‡—«W×ùuà¯I=•Jiy))'SÇÝÙˆ –$-aOÖ«z Ž´è~Ö\ƒSW_*MU_(Ýèž×*®ðnê»\«¸ÆóÏ3öÞ±ø»ûãäà„Á``èò¡\(¾`q,""ró¬>‚3{öl:ĸqãØ³g………äç燗—Ó§O§¨¨€¾}ûKZZ3gΤ¼¼œ‰'’——G\\÷ÜsOƒÛœ1cééétëÖM›6‘››K~~>‰‰‰ <¸Îoë³mÛ6^}õU’““1™L˜L¦îšö /››Ë€Ø»w/EEEæ>\¹r…©S§Öª³fÍ–-[Æ™3g¸|ù2«V­Âh4òæ›oÖÚ¹§./¾ø"—.]bÔ¨Q8p€¢¢"¾ûî;ºwïNbbâuë­[·ŽØØX²³³1™L,^¼ø¦âo¨êûž9s† .°fÍZµjŪU«øòË/ݾˆÜZÁ\­¸JÒIìÍÚKDpÕ†,ÝÚtÃËÕ‹ä’I9™‚«£+áá6޶ní½Ûãêèʾ™û8>çx¿Þ|ðM² ²ðiîÃóÏÓÖ«-ÎFg § NsòÂÉí¶ójGNaÇΫuϤ̤[Ñ5»eÕ¡‹²²2âââèÚµ+ æd¢yóæLœ8‘ .ðì³Ï’œœÌðáUCýÓ§O'55•·ß~›ƒ’””ÄŸþô'~ûÛß6¸ÍO«V­Øºu+þþþæØ† Â!C¬Ù}³¢¢"6oÞŒŸŸÿûßñðð K—.|üñÇôìÙ“ï¿ÿž£GÒ±cGs½W^y…éÓ§›ž2e Ÿ}ö deeѶmÛëÞ³°°-[¶Ð¶m[pqq <<œõë×Zç2€™3g2kÖ¬FÇßP3f̨qßI“&QQQÁ#ÊôþÓéyOOZ8· ·0—£yGI8À”ð)Üt?÷xÜÃñüã¬üv%cï­ÚbúÛìoù×0UÞy8ûÏîçÙõÏ=4š÷ô0o2 õ7""cÕç‡~ ¤¤„Çãèè`í¨þ=PkÍÍòåËÙµkIIIŒ9’—_~ù¦ÚÌÌ̤¬¬Œ#FÔHnnµ“'OR^^Ndd¤99¨f46l‡âøñã5„ê5=?T­Aªïž 0ÀœÜTóôô¤oß¾lÚ´©Îº¿Lün6þ†6lX­kÕ‰ïñãÇoº]±PŸPüÝý9šwOOºµîf~-2$’/Ž|X¶=´­Œ»wi§ÓXw`Ó¦ÕYfB L ŸÄ×?|MôÖh¢·þ4¸‹:úv$·ð§)¾öz”‡6’ž›Î#q˜¯ F…âóôÏ­Ô#ûgÕ)jÕ‹áM&TTTPYYY#!¸zõjz{öì!;;€cÇŽÕø03mZ2 ­Y³f5Úÿ¹’’’zë[¢¡Óá\]]¯Û†%SÔntÏÕ÷öönP[¿Ô”ϲúž73•PänáìlâêÕÛóßHõ´´~íúÑÌðÓ9Auþþvc0ˆò±ËèÔOO ô dHÇ!¼3îúW%htx€Åÿº˜Î~q1ºàçîǤðI¬œ´'§í:Y=y5S§àÓÜg£3]ü»ðθw¢MÄ>”–V½/¹¸Xö™E¤©Xu'88gggz÷îMJJŠEuΞ=Ëĉñõõåå—_fæÌ™<þøã¬[·®Ám–””àììLRR¹¹¹øùù]·lõk™™™5ʳ{÷îZå«?Ä[²ÃWPPF£‘ääd._¾\c¤¢¢Â¼&44´Þ¶,„ƒƒIII”––ÖŹ|ù2iii j«!ñ7ôYVÛ²eK­ih›7o }ûöÇ+r·ñô¬àâE‡[zÏ!8>§þ‘Õ˜Q1ÄŒŠ©u=À3À¢ú·‚%}Ùy¤EpŽé:†1]ÇÔºþÙcŸÕºæáâAô°h¢‡ÕÞ4æ¡nÕ{/‘Û]AAÕû’——eƒˆ4«Žà¸¹¹1qâDvîÜÉäÉ“ùæ›o((( ´´”ŒŒ V¬XA¿~ý(++ª’… &pþüyÖ®]ËŒ3xî¹çøôÓO‰mp›®®®DEE‘ŸŸÏСCÙ¼y3çÏŸçâÅ‹lݺ•!C†PQQõ®k×®@ÕÂüŒŒ JJJØ·oãÆãǬշV­ZUÊ‹‹‹oøš7oΈ#ÈÉÉaìØ±|÷Ýw“žžÎ¤I“8xð ={ölÔô®_rwwgèСœ:uŠ &pèÐ!Š‹‹Ù¿?=ôyyy·ÕÐøú,«-]º”Å‹sîÜ9.^¼H\\/¼ðãÇoÄÓ±o¡¡×8zÔ©þ‚""·PõûRHÈÕzJŠ4-«ï¼dÉöïßO\\\­‡®zºÔœ9sHNN&&&†°xñböîÝËœ9sèÓ§ jsÉ’%¤¥¥±ÿ~Fެýí[u¹I“&1oÞ|8Û¶m3Ÿãââ–-[6lnnnxxxðàƒ²k×.|}}kõ+,,Œ¿þõ¯téÒ'§ú¿9 aïÞ½<ñÄ`4ñóócâĉìÙ³§ÑgÈÔ%,,Œ;w2zôhZ´hA‹-1b)))”——c4iѲE ‰¿¡Ï²Úœ9søóŸÿL‡prr"88˜W_}•+V4öQˆØµAƒŠÉÎ6rà€³­C ²¶liΠAE¶EîB“¥«Õë@|||“$Ö—M§Nhß¾=ÿüç?msæÌ!&&†}ûöѳgÏ›jÃ`0°lÙ²:GéD¬á¹çžÃÝÝÝjï999Z\~Ĉ@ºw/#&&·þÂ""V¶c‡O>ن͛³èÐASÔ¤aÜÝݵ²ÕGpĶÆGbb"yyy°mÛ6FMqq±ÖµˆØ‘§Ÿ.à³ÏZž®Q±­Š ‹y3hP‘’± «¯ÁÛJLLdýúõµ®wîܹơš"rg3æ k×z0¾k×þˆvV[Y½ÚƒÌLGÞz뜭C‘»”Fpì܆ 5j899ÄóÏ?OJJ îîî¶ODšˆÁsçžgß>>úÈÓÖáˆÈ]êÄ G–.mÅO\"8øš­Ã‘»”FpìÜàÁƒoûÈ~¾ˆÜ¼{ï-cÖ¬ üñ>^cРoa/"Ò” šñÔSmh×îÏ>{ÁÖáÈ]L#8""väé§/2vìfÍògÿ~­Ç‘[£°°O?݆òrùËY\]oz+‘FS‚#"bg,È£wïR~8€/¾ÐTT±®ìl#¿û]§O;²|ùY¼½+l’Üå”àˆˆØGGï½w–¨¨ËLŸîÏÒ¥­(+Ó®"Òôvìp㡇~…ƒƒ‰uë²µkšÜ”p‰`IDATàˆˆØ!xå•óDGçñÁž Hbbs[‡%"vâäIG¦MkÓO¶áþûKøøã3´iSnë°Dm2 "b×&O¾ÌÓŠgŸmMXX&\aðà"Z·Ö‡±\I‰]»ÜX¿ÞmÛšÓ¾ý5V¯>CŸ>%¶M¤%8""vÎϯœØØ\{ì~èÉÂ…­øŸÿñ¡M›rÚµ»†—W%ƒ‹HÝ ›qÌLG*+ üË¿”“ËèÑE88è½Cn?“ÉtÓ3£¢¢HHHhÊxDDîãÇ'>>Þ*mçääPXXh•¶ËÊ ìÝë¡CÎdg;réR3*+­r+±îî&¼½Ë »JŸ>%øøh±.wwwüýýoº~£œÔÔT²²²núæ"M%55•Ž;âíímëPä.H¿~ý¬Ò¶5‘Û™M±%8""r·jl‚£]ÔDDDDDÄn(Á»¡GDDDDD솱JpDDDDDÄn(Á»¡GDDDDD솱:èSDä6TZZJyy¹­Ã¹åŒF#...7]_ ŽˆˆˆˆˆØ MQ»¡GDDDDD솱JpDDDDDÄn(Á»¡GDDDDD솱JpDDDDDÄn(Á»¡GDDDDD솱JpDDDDDÄn(Á»aâm„ˆˆˆˆˆHSø?¹™€1Ò¬½~IEND®B`‚fio-3.39/examples/flow.fio000066400000000000000000000004651476262051600155270ustar00rootroot00000000000000# Example usage of flows. The below will have roughly a 1:8 difference # between job2 and job1. [global] norandommap thread time_based runtime=30 direct=1 ioengine=libaio iodepth=256 size=100g bs=8k filename=/tmp/testfile flow_sleep=1000 [job2] numjobs=1 rw=write flow=1 [job1] numjobs=1 rw=randread flow=8 fio-3.39/examples/flow.png000066400000000000000000001745641476262051600155520ustar00rootroot00000000000000‰PNG  IHDRá…4pWbKGDÿÿÿ ½§“ IDATxœìÝwXWà³ìR–ÞéE@Dl ¨¨Dì%{o‰õ³‹-‰Q#‰%VÔX[ì‰Q@± hPDzï–ýþ¬ RØ~ï“'Ï;wîœÝë{væÎp„B!HIðrTÈQ@Z Gi¤rTÈQ@Z Gi¤OÒÔ±²²²cǎݼy3%%E ˆ­Ý½{wÛ¶m>*¡PxêÔ©+W®$''—••‘»»û÷ß/Ù¨¤ rThjfÍšuäÈ‘­ÍÎÎnÈ`X+V¬Øºu«hMZZšŸŸS–TTÒ9*4)ééél‚º|ùòr8œÔÔÔ1cÆH0ª‚‚‚;v0åÙ³g3FFFFOOO‚!H'ä¨Ð¤DDD°åeË–1y`\\œä"""Šˆˆ`¯:^ºt©••ߺu‹©Ä…¾ ä¨ÐtŒ=Z4G1b„¬¬¬³³óœ9s>¶ÉíÛ·½½½_¿~]TT¤­­íèè8qâD]]]fíÉ“':DD:uÚ¶m …ÂÁƒðx¼+W®ÈÉÉÑÚµk™«vÇ?{öl±]L™2åùó碋 bmÄæ£V@Æ …’Ž nÆÇÇ‹U6lÏž=FFFÌ¢¿¿¿³³3åææŽ;öêÕ«bí•””<8a¦qÏž=‰HUU5##ƒË円†ÚÛÛ‹uÕ²eËÄÄD"òöö2dˆX‡666¯^½ª:òZEЄáÙ3Ðtœ={ÖÃÃ]üóÏ?oݺåîî^iãiÓ¦1© ŠŠÊöíÛÿüóÏQ£FQ~~þ”)SîÝ»GD]»vUQQ!¢œœœÇ{u.[ cTYYY—Š;:~üøÞ½{ÙEOOÏ[·nݺuëÌ™3Ÿ@†šŽ®]»vèÐ]ìÞ½»‹‹‹]Å–¯^½ºpáSÞ¾}û’%K† væÌ¦±@ ؼy3ñx¼/¾ø‚iÆd¤ÌÿõõõÙ²Ó [·nÊÊÊ÷Õ¹sçŽ;²‹NNN......]»vý´¨š0ä¨Ð±åþýû3‡Ó·o_±ýúõc ·nÝ*//gæ®ZµŠˆ‹ŠŠ|}}ÅZ6@TMrThŽ Ø2s5¯X™mÀfžwïÞ}øðaff&ŸÏŸ5k–––VQQQ@@ûŒÓÏÏQk@S…š#¶üúõk¶ÌÞ˜mЪU+333"ÊËËÛ²e uïÞ]AA™zºcÇŽŒŒ "ÒÒÒb.è½{÷®Ë{%%%õ@S…š#¦ìîîÎ$“!!!ìtÐ1cưÙKm™µÌ Uæÿ—/_fVõéÓGFF†ˆÒÒÒüÞ+//¯¿¨š$ä¨Ð)**éIdaaQóÆÈQ v>9G½~]ÉÝ];'GæÿËœ0!y)4CoßÊîÚ¥éí­Ü½{Áúõi&&¥’ޤÂÛ·²k×jß»§8thÞ¢Eø‡ÍP~¾Ì©Sª{÷j¨ª–ÿ}Z¿~ø!¯©AŽ õèrT¡¶mÓ=kÕ*Ý'O$4´ÐPùo¿Õ1#káB\Ð ÎѱhÿþD__Å;4% HrT¨/×®)8 ñóÏ©NN˜qP¹U«Ò»w/˜;·EVžHÓŒdeqgÎÔïÚµ`åÊtIÇ ¥ŠÜÝS÷ï׸vMIÒ±@CCŽ õ¢°óÓOÚ#Gæâ_€*ÈÈÐöí)22´c‡†¤c†³c‡;ôð1#F䎙ûÓOÚ……¸Ø yÁ¡êÅÁƒÙÙ2K—â@5”•ËÝÜÒ½¼ÔÂÂä$ 4„ׯ弼T—/OWVÆL;€j,_žž›+sè~Åk^£@ÝËΖ9|X}þüL]]þü²2ñïÄ>>>žžž!!!›6mâr¹Drôèц > ¨X^P€¿ËM\Q‘Œ¢".Vl8ååå .dT ‹K—.=yòdíÚµÌÚS§N]¸pAl“€€€=zûúúvêÔ‰ˆÁwß}WXXX±ÿ¤¤$///¦v옪ªj]‡ÐL!Gh²„ÿÍ™ƒS9Ð ˆëð¸9fÌæw½V­ZyyyµhÑ¢®:䨞••Sxþü9[ùâÅ ¶ÜªU+±MD×þûï¿LÁÌ̬¾BöðHD¡¡¡l™=ZV<<†‡‡ ¦üêÕ+¶Ì!Ÿ={6vìØ¤¤$"jß¾½———®®ný„ÐL!GhôÆÇž>}zàÀœœœÈÈÈõë×3•¦¦¦NNNb›üúë¯>ÌÏÏ?þ¼¯¯/S9tèЋ ´oßÞÚÚš)oܸ1,,,//ïäÉ“wïÞe*ÇŽ+¶IJJÊÏ?ÿœ™™ÃÎGUWWg¦°Nš4)++‹ˆzôèqâÄ 55µ†y-Íž=Ðè 0`ÆŒ¿ÿþ;ýòË/¿üò »JKKk÷îÝìÜ*–««+›Ù2Úµk7mÚ4¦¼}ûö_ýUlö{Þµk×,,,êôÔ É“'§¤¤DDDˆý7~üø‘#GŠmÒµkW??¿cÇŽ‰vâîîÎçó‰h÷îÝìÓ¤ýýýEç¸Ѿ}ûúöí[/¯ 9ÁyT€FŒ^õí·ß=z´_¿~ººº<ÏçÛØØÌ™3çÊ•+­[·®¸áäÉ“wìØacc#''§§§7cÆŒãÇËÉÉ5løõÎÂÂâÊ•+ ,°µµUTTär¹ÚÚÚ½{÷>xðà† *¶WSS;}úôðáÃÕÕÕŽ92`À€† ÙÂyT€F†ý Ÿˆ444ز³³3û4…JYXXDDD°‹VVV»¸wéÒ¥K—.ýìH{„ÔÔÔd+ÕÕÕ-Z´hÑ¢*6ܵk×®]»ØÅ­[·VÚìÔ©Su&T9*@cRXXø×_1euuummmÉÆ %„BaddäãÇ™EKKKÉÆŸ 9*@£qþüù•+W²‹óæÍ“`0RÅÅÅ%>>ž)ëêêŽ5J²ñÀ'CŽ ÐÈp¹\ccãqãÆMŸ>]Ò±H•Î;¯X±BQQQÒ±À'BŽ ÐhŒ9²â-(€ˆüüü$Ô ÜפrTÈQ@Z Gi¤rTÈQ@Z G€Ædß¾ðóçßJ:ŠJHm`bÄâ]„//_Ž«Û]@Ãxü8ÃÃãe\\¾¤'µ‰‹SlñÞ½—©©Eu¸ øä¨Ð˜üúëËóçc$E%¤601bqŠ.–••{x„}~ŽÚXÞ €&æñãt°øøBI"Nj#§Øb@@ª‡GXZZqî>†'éjaÞ<]]yIGQ © ¬jõv#}+»Žµ.lm`À—t â¤6°ªÕGØô­hxÈQ 1™;×JÒ!TNj«Z}„ÝHß €Æ®cGÍŽ5%E%¤6°ªÕGØô­hxÈQ 1Ù·/\WW~äH¶F ¤†‡çåªÎÎ:òò\±­ž?Ïzò$#/¯LOO¡W/=--yvÛ½{_™›+b™{÷nJIIy‡šZb=äç—ùø$&$¶hÁïÛW_ =io¯îâÒ¢b`5ï¶ŠØFÅ÷“–”Z^NZíÚiˆ­ÍÈ(~ð -&&ŸÇ“±²RíÚU‡ËåTÑgMÆ>ÓãÇw歷adh¨ÄVÆÇ¤¦¥«©Évé¢ma¡"¶UNNéÝ»)±±ù²²2mÛj8:þw˜ºw/åÑ£ŒñãMÕÔä|}“¢£sµµúôÑWW—ëäÅ‹¬Ò…B¡ƒƒ–½½Æ‰aaÙ3gZòù¼ŠÕ¼Û*bk•¾ŸDTXXvófR||¾žßÕU_UUVlÃ'O2^½ÊÉÌ,ÑÑ‘ïÚUÇÀ@±ê>«#€f9*4&¿þú²m[ 6ÿ‰ˆÈ;7èÍ›<¶žžÂîÝ]تÓÒŠ—,  Leðù¼µkíG2¡÷30ûôÑ/غõ…Pø®Í˜1&?ÿÜ‘Ý$44sÖ¬ öVºº îî<<Â&M2gsTÑÀjØmÕ±UêâÅ˜ØØ‚ªß¢É“Í54Ä¿ê}ŒØûÉØºõÅþýáìâ°aF[¶tb³Ð žyz¾)))g˜š*:ÔÕÌL¹Ò>«#¨Ì\Ç.]´ÙügëÖ‡½Þƒ8=ÚäÇ;ðxï>ÎgÏFÿôSh^^Û‰££ö¯¿vaŽ!©„·i£¾eËóÈÈ\¦ººÜ‰έ[«1‹ååÂ5kBNŸŽf{˜4ɼ  ìÂ…˜É“ÍùüJ«I·ÕÆVQBBÁ¹sÕÌ„·²R0 eÕmXßO"ŠŽÎ›3'(>þÝqXCCnß>'ö÷Ç/²–,y•˶—‘áÌkµd‰íÇú¬vŒš'ä¨ÐX–}ýu@||AË–Š½zéÉÊÊÜ»—™;sfàÕ«®ºº pæÌÀÐÐLCC¥=tÕÔä޾ͻy3ñÛoŸXZª¶oÿîô`HH†¯oR¯^-ZµRIN.ºr%îÌ™·C†uë¦CDùùe³g¥¦™™);;ë Â;w’W¯~\mxUw[ÃØÄ\¼Zé*ÖàÁ5ÏQ+zü8ãæÍÄ^½ôZµRML,¼v-þ¯¿bMM•,°aøû§èêò;tÐ00P,..gθ®XñèìÙ^{«vŒ>9N¨ÚDíßÎáPïÞúÊqq7n$œ9óVSSÁÍÍ–ˆnÞL\½ú —Ëùâ‹*%%å÷-_þèðá®l?ßÿ„ËåŒgª¨È»s'9""wýú§^^=™µGFž>Íårúömid¤•{òd”¦fõ׃TÝm c•PèáVõN6¬yŽZ©µkŸÊÊrÆ3•—çÞ»—ÂüwãF_æ$ð›7yoßæuï®kn®¬¤ÄKI)ò÷OÙ»÷•££¶³³nÅÞª#€f 9*4VÞÞñññ;j;æÌçs‰¨¬L¸xqð?ÿÄŸ:õfñâÖׯ'„†fj¸u«{044sÔ(¿#G"vírdjÒÓ‹÷ísêÓGŸYìÑCwùòG·o'1ɤ·w\JJQÏžz8ÉÊÊQaaÙÔ©÷ÒÓ«¹»cÕÝÖ061_}eìà ]õ~kòí° Å[¶t1˜Y|úÔrÌ¿#G"æÍ³fâ\¿¾¹¹JPPjbbœ\yçÎÚiiEOžddf–TÌ«£Ï ªÀ\ ±wo—~ýÞeeOŸfŽëwôhÄÿþgÍçs·n}Áçó<={ØÙ©3 „Bš?ÿþµk ‘‘¹ì§ÆÆJÇŽuWPàÑòåmö}ô(=/¯LY™GD‡¿–‘á?îܥ˻CÓÍ›‰sæU^ÕÝÖ06Q-[ò.¬æbe¥Zm`UÓÕUðòêÉ).|píZÂùó1_mIDvvê7oöKJ* ËÎÉ)54Tê×OÿäÉ7>>‰•æ¨ÕŽÑgF Ðx!G€Æêñãt"Z´¨5û‡œÇ㸹ÙþóOü£GéDtï^ )*òöï …D$’P(TU• Ídû±µUg3I"b.ßMIyweï“'D´` “ ŸÏ›7Ïú›o«¯ênk›˜¯¾2®þ}ù<¦¦Êl‚JDíÚiôí«ÿÏ? ¯_çØØ¨QHHæôé÷ÊÊ„b¦§WÌQ«#¨ II…:i±Éµk§1há¥K±ÏŸgš˜(GDä+ùù%ûù% …Ìqˆ8"¢çϳر¦Ú1rt¬æI€& 9*4VÙÙ%Ddl¬,Zid¤ÄáPVV ed”‘èD©JéëðEÅw§ûD÷"zÓ "»…Æ't[ÃØÄÔù|ÔŠ ÅjŒŒ”ˆ('§”ˆ‚‚R·m{!''Ó§O %EE‡Ãñ÷O~ò$£¼\³–ùlZZª dXqó¶mÕk²æ°Pñ ÁÞRèÓ|Zl 3566¿C‡ÿî÷Ƽv&àüü²àà´ví4ΜéÅÎà ˽¨jÇèsâhì£@cÕ±£Ö¹sowï~Ù±£&ó„@¸}û¿DÔ©“uíª}öl´@ œ?ßZFæ¿{$¦¦%&Öp/:hž?ÿvïÞWû÷;17Z,.|ì;GÍ}Zl 05::ïÂ…‘ù¨™7n$ªªÊ¶j¥JD‡ˆ”•ÿûò”êë›ô±Þª#¨-[*¶hÁô(ÝÇ'ÉÕõÝíÇCC3¯^WPàÚÙiðù\SSåÔÔâZŠÎÒ éîÝ;»ÊoÛ&ÆÀ@QWW! 588}0Œ¯obµ'Q«¦¯Ïÿ„Øf>êÁƒ¯]]õ™³¾pçÎ0z4ãp8)(pÙµ¤¤œ9Ü}$àjÆè3ChÔ£@c5t¨ÁÞ½/>L0À‡½glDD®ššÜ„ fD4x°áÑ£‘^^Ñþþ)ݺéjiÉåä”FGç=xöõ×­ìíkô `èPÃ]»ÂnßN4ÈÇÙYW (¿s'¹ @@ï'G}šO‹­æ£jjʯXñèï¿ã¬¬T ¯]‹„Ó§[2ߺ˜³g ÐRCCþõë?¿dMM¹Jg[Q ÆêÉœ9VëÖ=3'¹5n||Áõë eeÂ3¬˜ùá+WÚÍ›ôå—¾]»êXX¨ÈËsãâ ž>͈‹+xñâK.·F7ì™1ÃrÓ¦ç“&ù÷í«od¤ç㓤¥%Ÿž^ü9GÈOˆ­a棦¤õëw£wo}99™€€Ôׯs44äFŽ4&"EE®••êýûicÆø98hçæ–Þ¹“\\,¨¢·jÇ ÙBŽ ŸÏûí·n̳7OzÃTêê*ìÞÝ™¹.—Ëåüö[·•+ùú&=Ín¨§§PÕˆ””xû÷;Íš•Ë<õNGGáÛoÛ.[öPQñÓ¡u[}èØQÓÂBåÀp?¿d¦fØ0£yó¬™rÿþ-‡5ôöŽ;{ö-S3z´©Š ï÷ß#*í­Ú1€z2i’yRRѧ”” IDAT¡Cá¾¾IÌÅ̳7Ùguöí«¿}»ãúõOýýSüýS˜JN¯^z<^MgCLŸn™wölô?ÿ$05'š¥¦_¿žð9YVÄVÖ­k·qc¨§ç»£ó|TvæÂ† fÍ |ü8ãñã "ÒÒ’ßµËqÒ¤»ë­Ú1h¶£@c2ož®îײZZªüóOŸ{÷RÂÃs¡¹¹JÏžºòòÿ}1ÒÐ;x°kddîÇé%ššr¦¦ÊZÌYAOfáÂÖææÜч©´´üムíÚiøøôóñILL,lтߧ¾¯o"}xÏÑÀjØmÕ±Õ±7°Ò°‡ 14ÈàÁƒôòra§NZbkݱÃqÂóçϳ8êÔI³m[»wS”•eµ´ä+ÝEµcu¢cG­… [üw\rs³7Î$ --­HMMÖÉIG쎸C‡öí«òæM~y¹ÐÐP±}{MöÈÖ­›Ž¼ž>ÝRÒq@#V»5000((ÈÉÉ©ž¢€ú$é«V­T‹‹W®Ä³5mÛjlÛæ Á¤D»vš©Ožd0‹rr2«W·eoó ð j=ÕÉÉéìÙ³õ Ô«Ñ£GK:„ƪW/½{÷¦ÆÆæs¹2¶¶j;kÎ-+šŒ'œCC3ÃÂr22ŠuuœuqG4øL¸g@õTUeû÷ÿ¬'¿4UmÛj´m‹çy@‘äý»D!Gi¤æ£J;¦0jÔ¨ùóçK4–º‘=lØ0¦¼sçÎöíÛK6ÈQ¥ŸŸSh2¹\ii)û¢²²²$ H\ë Ò9*H \ëÛDdeeyzz&''ËËËÛÚÚŽ?¾]»vbÍüýý=ojj:wî\SSÓJ§†VÛ[LLÌ”)S˜ò‘#G¸\®‡‡Ç¿ÿþ«¯¯?tèÐáÇ‹îôÎ;ÇŽcwj``P_ï4u¥‚Ò©^SŒ–ö\*éXÄååx…x½J}•]”m jÐË¢WoËÞìZiŽš¯¯K/.m´ÑDÃDÒ±ˆ |x#üFlv¬’¬’¥¶å„45ÙµÒ9HrÔ¦àòåËS¦LÉÌÌdk¼½½7oÞ¼bÅŠÍ›7³•›7o^µj»xäÈ‘_ýµâÔКôVPPÀnèëëëææÆnþû￯]»vݺuÌâ¦M›V¯^-¶ÓºyÙÐü” ËÄ>PUP•t âÇ?žunVVáó«O>9ébá²oÄ>Y®,IqäÐdÄfÅ>ˆ}PPZ é@>P.,_æ½Ìû_oÑÊC÷y ÷èeÞ‹Y”ÎÈ@‚p­o£÷ôéÓ‘#G2)å¤I“.]º´oß>mmm"Ú²eËž={˜fl®8pàÀ .üüóÏnnnŸÖ›¨… Ο?ÿâÅ‹®®®LÍÆ™”5 àÛo¿e*¿üòË‹/2¹n]¿¶êʪ¬Â,C‡mC·ý6æ7·^nª ª·#o{…xI:4IºòòŠ÷¿Þ|Yþç‡FÚ5lW³ù%ù+ÿ^) $H)œGmô6oÞ\RRBD_|ñʼn'˜Jyyù3fÑO?ýô¿ÿýÃáìÛ·O(‘¡¡á_ý%++KD222K—.ý„ÞD7™;wî† ˆÈÖÖÖÚÚšˆJJJ^½zÕ¥Kv§&&&.\àr¹DÄãñ,XPŸo @ƒJÉK‰JÒUÖ=6î˜Y‰ äÔ“SAoƒÊ…å ;Mî4YQV‘]›’—röÙÙðÔð¼â­úˆý¶R‡ø²|"ÒSÑcT†©†)»ªRB¡poÀÞ€è€ávÃÇ´SO±@3ôoò¿§žœŠÏŽ×SÑe?ÊÁÐ]% ý¢ün„ßHÎKV’S²Ô²Û~¬®²n½}&æ0h¢þßDS® ×HÝ("-Bô¸-&*=ÊÝÇ/Ë_ßo½¶’vý…Ò 9j£WPðnþFLLLLLLÅDTXXÈ,ª¨¨°«D˵êM”ŽŽSàñþûçÄœ>ewª¬¬\ÅNj¥\X>ýôôû1÷™Eßß ¡¼&yið5ˆ(<5|ÌcòŠóØö'ŸÓnÌÏþX‡?ûüü<éyÕ;Ý:tkKÕ–•®R‘Wq2q Ž öðeî“TTVtèþ!"êÛªo¥›—¯ø{Å•—Wt_€ê_¤ß®»»J¥Ìâ¹gçÖö]Ë^бúêêsÏΉ¶ß¸ïÚÌkFêF•öö*õÕúëë«ÞcW“® œ?zyT?«~G‚{tÌÑÈQY^™ˆ‚cƒ£[ëµ6T3¬t“€è€ùÎ×RÔ:<ú0T€æ 9j£gjjš’’BD#FŒ¨ôZ"222zóæ 1ÿg¼~ýúÓz«!CCCfw‘‘‘leDDDÍ{¨èNÔeyå.+Zi·JÌM¨z§…¥…U¬Ý>tû‚?Ì:7ËDÃD¯þ&ãMIYÉ’žKú[‹_ª@Diùi³ÏÍ~™úrÇ—;†´RƒW PS;ýwö4ï9Ôv¨v•¡¦ Ö˼WDZÄÛÌ·o3ßQ'ÃNí[¶¯ØòUê«™gg—Ÿœp²ÒŸ£·eï_G¼»~?«~ºÊºw=.<¿àÖË'à …ÃÛ Ÿå4‹iÐߺÿ쮳˅åëÍZÇúä„“UïQKQ«êmôÚt4èèÿÆÿYâ3"âËò{Yôªx‚´\X¾Ñwão~m?zÀ ÌÁš'|þsçÎ…„„ˆÖ?~|þüùÞÞÞ~~~ééé;v´±±QSS‹OLLýû÷gnÞ;o޼LJ‡‡—••uïÞ½M›6ñññ­ZµÛK {«¡yóæ:t(22R ôêÕËÎÎ.!!Al:+@mµÖmÍ&¨D¤Á×èӪϹgç"Ò"ìõíÇwñùÅYçf ·n×ÂÎZÇZž'_õC_ZëµþœxÊ…åÓNO Ž Üzp?«~*ò*o3ß{xlÚéi[‡lÖfÛòUê«1'Æè«ê{Nô4P î²%¶èq×ãeÊK"R–Wžê0õÌÓ3²\Ù.Æ]ltmZª¶”ãÊUÑ›Š¼Jã.Ÿ_”߬³³t”uV÷^m©mYXZx'êΠ·"n]œvQtï«®¬ K[ùÅÊ™]f~Π @ŽÚhÄÇÇÇÇÇ‹Ö07Ñ•——¿~ýúæÍ›÷ïߟðòåKf­ººú!C¦M›Æ,*))ùøøL:Õ××·´´ôéÓ§£G^½z5{¦TQQ±æ½ÕŠŠŠ¯¯ïÔ©Soß¾]VVÆìtÓ¦MæææŸü>TL8™ëÁŠËЉÈLÓìæì›—^\ ˆøýÁï 9 ÎfÎ+\VXjôǑϜz'êNplðPÛ¡;¾ÜÁVj=¨ÇÞÛïlÍQe¹²\nNQN~I~u¯àSˆ!™+JŠÊŠ˜Å5}Ö °p=üúÁ ƒ/S_ª+¨Oê8éëÎ_ì®rŸ?u—ÿ.Pp|Üqs­wúXP’S:|Äû_ï‘mG²-å¹òD””›$ ëï.wÐ( G•v·nÝúØ*&«$"99¹5kÖ¬Y³æíÛ· òòòºººb‡xCCCŸ˜˜˜øøx“–-[ž;÷îÆ ‡ÍkÒ›±±1˜™™SàóùleÛ¶mE[Šî´´´”mÖ¾=®u„Z O /”ÊreÙšÐÄP"ÒSÑcÕÔ&wšÌÜ#$%/eÎù9S¼¦ÜšsKô¾»¢>s>jlV,YhYˆVj)j©óÕã³ãB—óî¦Öæšæ»‡ïžvzÚø“ã>ÜÁ Cµ/ V^$½½‘ï»Ã£²[ãhäèhäHD‚rÁŸ/þ\ù÷JY®ìT‡©•ööùóQc²bd¹²&š&¢•æšæDÄÌŒ`ýØÿdzÏÎ{x,»({óàÍ쑚!ä¨Ò®Vó?MLLLLL>¶öÈ‘#fff...ÆÆÆDþÝwß1«úô飭->3¤ŠÞ+Æår?­±±1³S"’••­Õ‹“–Ÿ¶áæ†ïû|/Ç• …G}ûÀXÝØXݘˆŽ>>#ÛŽÔTÔ$"® —9²=ˆ}ð±õó磨¼H~±óÎÎE=1SLã²ãŽ>3ùÌôÓÓgž›¹mè¶A6ƒ>gï¢Z¨´y|¤©¦©W.2=²TPÚZ·õàÖƒ‰(§8gó­Í¿Üþ¥…J =½ì¢ì¨ô("j§ßîc½}þ|ÔéŽÓÝ.»í Üçâi¢aRXZ™)(è)ë ´X±ýBç…ê|õ 77L;=íШCÌãj ¹‘‘tÐp¾ùæ›æääþx?«~2™Èôȧ‰O3 2´µ¾sýn†c%9*é*ëžšxÊ®…Ýâ¿{…xÕS`Ð ­é³¦O«>QéQ/S^– J»™vû}ÌïÌäsMóYN³45ržÄ?‰JÒàk,p^ðuç¯ë/žávÃ7ÜØB¥EVaÖÓ„§á©áåÂòf=<'y~,ÿœÒiÊÖ![Ç=žpjó{47¡PXóÖ£G&¢³gÏÖ[M¹°<86Xƒ¯a¥cU*(}öº\Xn¥cUñ¾”¥o3ß …B}U} ¾FGR©¼â¼èÌèâ²b ¾†©¦© ç¿—häleaiá³Äg§“a'̼ªÏÏHKK äAƒª:Š~𨬨„œ„¶úme“ó’²ôTô*ÎS …‰¹‰)y)| 5ƒ†yÄ‹P(ŒÍŽMÍK•åÊšh˜ˆ=øT4r¶2"-"½ ½…J Nb‚f¥þ>;Ð0,,,ªoô®õmv”””Ø4.2öª3Y®¬èhÄ(Ê*¶Öý¬+x?²¼²] »JW‰FÎâËò?ó":–‘º;ÃSOYOô>I¢8NKÕ–U?ó¹Îq8ö®‰FβԶ´$<¬ ™Â94ÈQ@Z Gi¤rTÈQ@ZÔîÙ3éééqqqK–,©§h@J„‡‡ëë뫨¨H:¨KOŸ>544”tU©]Žúúõ븸¸;wÖS4P¯ %@Uj—£:99ÑÙ³gë'gñâÅ;vìt P—F-éªù¨ -£€´@Ž [\vœå&Ëu××±5m·µpr‚ä"ªK9E9—Ã./¹´¤ãÎŽ–›,¹ý‹¤#€ÆdÅß+,7Yff2‹‡ï¶Üdy?æ¾d£ª+/’_xÜõ~t¸å&KËM–ÅeÅ’ŽêFíæ£Yo±îbÜåø¸ãõ½£5×Öüöw}ï ®ì Ø»ãίI^†õº£ÈôÈaG†Õë.@R£@Sº,TÒ!Ô5µ!­‡ô¶ì]XVøÝÕï$4nßtùæ›.ßH:ŠºÁ!Ž­ž­k+×Þ½—ÿ½<"-BÒ@AŽ ½~ìÿ#SøçÕ?’@ª˜k™_š~‰)sˆ#Ù` na>j-lݺ•Ãáܾ}»†íW­ZÅápBBBê3(h[·‡C5zZµŠ8ÂÐ׃raùáû‡ûèÓú—Ö_ìÿâÐýCÛˆÎG-.+¶Üd9çüœøìø….tØå`¹É² ´€ˆÄ>˜un–Ã.›-6.û\6únÌ+Îí'86xî…¹]<ºØþbÛÿPÿm~Û²‹²Æ=´Üd)(D03 šÒä.hÔ"Ó#gŸ›Ý~GûvÛÛ}sö›ÈôH±bóQ¹ý‹å&˰”0¯¯A¿ jýK뾉(¿$§ÿÎþ‡ú·ÙÚ¦Ýöv“<'Ý}sW´Ÿ‚Ò»ƒÜv[[Ç]ŽÓNO»}ˆ¦xMÙqgûcsxl2w€†„ó¨Ð˜¬½¾Öó‰'SŽÍŠÝ|kó‹¤Õn•]”=æÄ˜ä¼df±¼¼Üó‰ç× …LM\vÜo~ ˆ83ù _–OD'øñælƒÈôÈ}û8NOóž5vŠ×”€è€ªÛ\›yÍBË¢æ}T*2=rô‰Ñ9E9ÌâíÈÛ! !v-ìªÝð`ÐAï½™r¹°<»({Üã^§½fjŠ©8èmÐý˜û[‡lÖfefýc,›–Þ}s÷î›»¯V¾ªy´ãŽûc\Õm·¼kØ®š÷ MrÔZpsssss“t nn„¡—ÏŸy>ñT–W^Óg«¥kYyÙ?¯þa~õ¯Zplpƒ{GìµÑµQà)ÄfÅ®¿±^U^uÕ«\,\Ôøj1™1»îîºúòê±‡Çætó&ã»» Gæë._¶­¯ªŸ=üºÿ³¬¼Ì}€û@›L¥¶åÎ/w>Œ{x#üÆœ®sþzñ— \0¯Û¼¥=—2 ,´,æv[Û€‘Ä@Ã((-ðãßRµåžá{äyòDÔF¯Íþ‘û{èU˜Uõ¶3gÌpœÁ”K%Þ/¼[i·Ú3|‡Ã!"¾,Hë!ÙEÙk¯­ Ž îlÜùêË«ê|õcãŽi+i3[9›9;›9×*`æ÷¾Z¿NhÙ|Tv†ç±cÇìììLLLÖ¯__^^ζ™4i‡ÃIKKÝ©ÌÊÊëgß¾}666|>ßÞÞÞÛÛ›ˆòóó-ZÔ²eK…=z<}ú”í¤â|ÔØØØ™3gÉÉɵhÑb„ /_¾¬öÞ½{­­­ÌÍÍÝÝÝËÊÊØUiii+V¬°²²RRRjÑ¢Eï޽ϟ?Ï^^Ø4¥¦’‘ikSLÌ•wîGÎÎ$òæ|€áyìÙÙ‘‚™˜Ðúõ$2ô4iq8ôáп«|?ôÿõ³oÙØŸOööäíMD”ŸO‹QË–¤ @=zÈÐW256–fÎ$##’“£-hªlèiï^²¶&27'w÷^]Z­XAVV¤¤D-ZPïÞtþ<5í¡ÿlo3ßQ³¢•=ͪ¿øÖVÏ–MP‰ˆ¹†mñ¥ÅÖ[¬­6[Ym¶jµ¹•õëÔ¼ÔÄÜD"b®ah=°nã¨'qYq‚r£‘#“ 2TT;t¨vÛî¦ÝÙrlVlQYQDz„Í/6Ì²ÕæV­6·Z{m-%ä$ÄeÅ•JÙ Î5Êó¨»wïþý÷ß™rLL̺uëÊËËׯ__Û~¶nÝzòäI¦:bĈ;wî,_¾üÞ½{LåÝ»w ©  Pqó7oÞ899¥¤¤0‹ÉÉÉžžž—/_öõõupøïú–Í›7{yy±›¬Y³æÕ«W'Nœ`j Ì” ’““oݺjgWý’ÆJG‡Îž¥ž=iôhò÷'99JL¤±cI[›Îœ!^•ÿ&wï¦÷CO11´n•—S퇞¶n¥÷CO¡¡4bݹCË—Óû¡§»wiÐ ŠŒ¤Ê†žÞ¼!''z?ô”œLžžtù2ùú’ÈÐÓæÍô~èéÍZ³†^½¢÷COƒÑû¡§‚JN¦[·(4”šðÐKŽ:_]t±\XND‚rAÅ–%‚¶ÌœCø˜ ÒOCQƒ-3‡G¡P(Vr„,”2…Ï¿.æ£@ÙyTÆ©S§<<<rrrþøã·gÏžO8÷xñ⍤¤¤§§¯^½º¬¬lðàÁÉÉÉׯ_ÏÉÉ‰ŠŠruuMHHðôô¬tóE‹¥¤¤ôìÙóáÇùùù/^¼1bDnnîÌ™3E›?~Û¶m §NÒÔÔüã?|||ˆ(!!!88¸uëÖ÷ïßÏÏÏOOO÷óó5j”ŒL£—Zpr¢mÛèÁZ²„ÊÊhÜ8JM%OOjÙ²š O"JH œúãâñhÏžO9÷xñ"8@))”žN«WSY LÉÉtý:åäPT¹ºRB}dèiÑ"JI¡ž=éáCÊϧ/hÄÊÍ¥‡žÎŸ§mÛ(!22èÔ)ÒÔ¤?þ "¢„ ¦Ö­éþ}Êϧôtòó£Q£¨Éýç1Ñ0!"ÿ7þ¢•wÞÜ©m?LNxlܱˆUbÿ=\ômpõåÕõÀ!N™à#çüœ¡º!W†\\VÌVæå<‰R»~Ô å¸r ;U<$$$<<ÜÊÊŠi¹xñâ¥KßMi?~¼@ ˜]½JººäíMªªDD¶¶tú4µoO!!N/¦÷COãÇ“@@“'Ó¹säêJZZÄçS—.Ô¹3‘¢"õìIÍdè?Cëþ‚ürûž‚«¥«@(¸úò꯿ֶŸ¯Ú~µ?pÿÒKKÝz¹9›9k+igeGgFÿö·ž²Þœ®s†µ¶/pßþ ý¡`”ý¨*-²®‡_—ãÉ1³¶Ôùê¯Ó^ÇdŪ2_È*…ù¨Ð0e{˜õ¸y{þŸóEï™TídT1|YþÛ!B/,¹´dªÃTsMsyž|\v\HBˆçÏSO)ðÚ üëÅ_ÓNOsëåf¯o/Ñ M =tÿÐïc~çÊpÕÔW•ºü IDATˆÈÿ¿½¾=s›ôJa>*T¡Qæ¨...¢‹æææD”››[Û~D³A##£‚‚&Ae˜˜˜QrrrÅm£££ËÊÊzôèÁ$¨ ׿ÿ/^DDD°9jÿþýE70`EDD‘¼¼üáÇçÎêââbooß«W/f§Í¡C@wîРA´re6ùpèÉÜœˆ¨öCÿA6(#CFFTP@"COÌ(T6ôMeeÔ£‰ =ñxÔ¿?½xAÿå¨= @DAD$/O‡ÓܹJ..doO½zQóúOe¯o?¾ÃxÏ'ž+ÿþïÌÖC.‡]®U?¦¦lXsmÍê««ÅVÍvšMDfšfßöþÖÝÇ}àþýûÙµóºÍc NÆN—Ã.÷Þß›Y<9ádã.ŸðŠªuæé™o¯~Ë.:p èMê8i]¿uõ±Gh¤V÷^ý(îÑ­ˆ[·"n15ê|ug3çšÜÚWÔw®ß…%‡yÿëÍ>†Å\³ö}ŸïŸ%> KûúÌ׬æu1îÂáp؃gg£Î§&žúÄ—Tî{º³#¢6[Û0…àEÁ|l@£¼°Ïÿàg9fÎ{­/s¡¬è]”ˆ¨°°°b?b³L9NÅšŠ]UlP+Ì&ì†&Lˆ‹‹[³f ŸÏ?s挭­í!CrrrjÛm£LqqDD¯_×4Ïüpè‰yÙk}™ eÅÆ«²¡ŸeÊáTRS±«Š j…Ù„ÝpŠ‹£5kˆÏ§3gÈÖ–† ¡f2ôŸa}¿õ«¾Xeªa*Ë•5T3tëåææò)ÓnÌÙÉg‡´¢«¬Ë“áé*ëv6ê¼¾ßzöæ½S¦wü Ë/Ôùêò|øãÇ ÂÂÂÆÿüùóöíÛ³úÑÎ;·oßž”””™™ééé¹hÑ""5j<øÂ… oÞ¼)))IJJºxñ"EEEÕm´R§¬ŒÆŽ¥´4òò¢Å‹iþ|ºp¶mûÜnÛ´!"Z¶Œ^¾¤ÂBzò„FŒ ºzRR¢)9™†§Ç© €ÂÂhüxzþœÚ·'‘¡§;iûvJJ¢ÌLòô¤E‹ˆˆF"" ¦ÁƒéÂzó†JJ()‰.^$"jòCÕ¸÷Ç4ñ'|ŠÂ‹×eggK: hMð<êøñã׬YsïÞ½Ö­[35ýúõcÎpÖ¡;wÞ¿ÿÖ­[:ub+•••:$ÚlĈË–-[¶l[3qâDæÌª@ ¸råÊ•+WDÛs8œ &Ôm¨RgÕ*ò÷§Í›©W/"¢íÛéáCZµŠºt!çÚ=üãÇÓš5tï½z20 ~ý¨®‡žvî¤û÷éÖ-zRV¦‡žFŒ eËHdèiâÄwgVºr…>zâp¨É=Tãé† nܸ±iÓ&}}}I =¢?þsàÀ 7nìÅ|„¦« žGUPP¸víZÿþýUUU¿úê«€€ºêŸ~fnnþðáï¿þÚÀÀ€ÇãéêêŽ7.88Xôá¨D´jÕª]»vµjÕJNNÎÌÌlÆ GeVuîÜùÊ•+£G633“——700øòË/oÞ¼9bĈºŠV]¼HÛ¶Ñ—_Òò÷×ÉÊÒÙ³¤¡AcÇV~›¢RP kרRT$UUúê+  ºúÿ¦’š›ÓÇôõ×d`@<éêÒ¸qL=­ZE»vQ«V$'Gff´a½zêÜ™®\¡Ñ£ÉÌŒäåÉÀ€¾ü’nÞ¤¦=ôP½ygÏžMJJ2dˆ¯¯¯¤ƒmV¯¾íääôÍ7ßüüóÏžoÔ”qjuAÑèÑ£‰èìÙ³õTûá‡6lØÔ¥K½ÜÀSzp8œÅ‹ïرCÒH~  ((ˆóÐ×Õç7999//¯ŠW®(/\¨ù™;hnØÏNQQѺuëΟ??oÞ¼ÿ³wÞaM%_ŸzdA”"EAQÄłЬ]^±òÓuWײ*è vduÅŽØTÄ‚ (EzDAzhÞK’÷Ñ»YJ5¨óy||’ÉÜ™ïÌÜ 9wæœqwwÇãñì–†1H$5__гY@ôûî„„„ìÝ»wÒ¤I¾¾¾#¸ …mÃñ Èw¸Ž:J”——‡††»µ Æ–òr hèĘÀËËëíí}ôèÑ+W®lܸ±ÏÐôñcâààððáúº:‡ììlvËAŒ ÈFe‰õë×+**¾}ûvúôé222ì–ƒCÖ¯ŠŠàí[0}:@C@ Æ… ¤¥¥­X±¢¶¶–Ýrb¼ ¦¦vïÞ=UUUggçøøxvËAŒ<ÈFeqqñ Ü»wÝBcޏ8X° ¡G c޾¾þ½{÷jkk—-[VUUÅn91^¾zõª¥¥åÚµkÃÃÃÙ-1 •%üüüjjj>>oÞ¼a·ĸãRâ%õ#êðö^à¿°øÚbýSúŒHޤĒDöiü6p¹ë2ûül@ri²o¬oEcÅ÷$ ¿2¿õûGHHèܹs………ÞÞÞìÖ‚.œì€@ ƒàFÚ²†2}ýiÊÓ¸ð\ªâª8wsw}ý/F0‘Çá-Ô,gâÎ+/œ´ð{Ðg™ßÇýãââ’’’òÛo¿=yòD\\œÝrã….j—OŒ/'ï"EüÒ‚Ò€ezËj[Ñẃ£¥³%±$q唕€¤Ò$ßX_S‚©¼°üw# Ï2¿û‡@ >|øÿûŸ‘‘‘ »å †ÎàlÔ„„„²²27Jjãv«@Œ0ŠŠŠì–0\ k çŸçÿ÷§¹»¹;û}«DäE(ˆðŠüP¾›ûÇËËkÞ¼y§OŸf·Äx¡¼±¼½»ýgýŸ=¬=°Ä¥ºKÙ(é%¦(¦‹Ú5[cö%໹ìììÞ¼y³oß>###ôïÛep6ªºº:ß¼yóFI bœàã㣭­=gÎv AŒ$Ož<ù¦mÔ‚š‚'ÙO²*³þ)þœÿ™¾fgèÉë1¹<«2+½<½¹³YFPÆBÍB‚_¦SéÔ³oÎ%ˆöí j b‹b;©ú úŠ=J¨m­M*M*©+áÄsjHj˜Lð8|ïB²)Ù % 8K5K1NSü&»*[[pŒÖsm£GYCYÞç¼ÝV»++‚2ƒhtZI]‰o¬/üt‘Î"9a¹!´è?ýP•@N ÑiJºrºƒ (¢ÈJ礔¥äVç6w4+Š**J Jú,SO^ïmÅÛ¿Ø…··÷êÕ«mmmÑZp+ýVvU6 §:»í!Üxîõ&ë™\ÛØÞ[[Z_Ê…çÒ‘Õ1T2Ä>zSü&µ,u¹Þr>‘ÈüÈâÚbIÉÙê³EùD{’^žþ±úc][”€”‰Š‰‚ˆBïBy#ò#ÊÊ b„Ùê³ñx@UsUd~d}[ýd¹É¦SÖµy"¼"S§>ÈzOŽeÅÇDë,Z‹¯ Ï /o(—’±"Y ó V+SßV]Mi¦p ¨Kª(ÀE¦>Ëìèîû‡]ìÚµ+&&ÆÓÓ-·|» ÎF•8uêÔ(©AŒ|||æÌ™ƒú;£¬¬ŒÝ†EaM!ö‡óŸ¸z|*Ä#ÔŸñ¹åó¶GÛàŸdßþ9û';º©Ý¾±¾³Õg—7”:N§Óaž¥ºKÛÆ.9~ðvúíNê¿ab„‹K.ªŠ«2’ÿ9ÿÌ›30ÃáˆÃ§œ6#˜¹¹%•&ÁÄÑ'«&¡ÆŠ¶>yõ ´¾´ÿ~€•SWŠñ‰1É‘˜EšUÑX{µ¬¡ ë^cec)©!´뇜ª¿øƒú8h;µ?Š™ô¬PQdÞ9õmõkï­Íü”‰}ÊÃÉó›Åok ×ôY¦‹‹Š?|=‚÷155]¼x±§§çôéÓØ+Ávn¿½Mɤ–¥¦–¥2~$Ä#ÄÄÆÌü+ò¯æŽf,ÅPÉðŸEÿÀ9$®8î|ÂymYí£¯ŽÔÀ ¢|¢×®O”™ß¾§¼ßöh[aM!VŽcƒÉ†m3¶Á·° ) ïHﲆ/‰¦(L¹æt-"?bÇãØÔúó”ÿ,â1×Öø|Ši? ) › ÌëÐè´×¯-Ô,ð8üƒ¬ äV¬‘’ÑbÅCk¼J]RÝû•wyC9Lã;·øãSQV Ø9wÞÞ9~¨½»ûTSZÓ™¿¤€dŸe6u6ÆýÃ.<øË/¿,X°ÀÒÒ’JCù£"ˆo¢ÑÝÜýqö㚦±u0r9ä}HWQiÔÿ ú¿wŸÞ)Š(N'Ná!בÃóÂw?ÛM’$afÉÛŠ·‘ù‘D uIuJ3åiöÓ{÷ì'ÚcÀcŠb¤¥õô±çÍ ä„Ov® ÄêJ/OÌœ­>›(AÌ­Î}]ðzßó}FJFª>8Nvå-ŠÍ©Ê9uâŸEÿ°®­²À'ßL˜7qÞ6j~Q‚H#pã¹ÝÍÝÿ~ó·‚°Â"EðSld°-‚¤•§…ç…[-Ô¥Ô?5~zþñyÈû‚a‹ùÖ Ø9þ)þ™Ÿ2eef©Ïá)o(O*IJ-K]c¸F^X¾w™zòz¼£tÿ°‹]»v…‡‡ûùùmß¾½Jlg¹ÞòìªìÛé·§*N5#˜aéwßÞmíjíïªð¼ð]Ïváqø™¤™jjÝoŠß$—&ÿþø÷KK.aÙö†íÅãðNzNü\üÑEÑùŸó=^zÜYq~ZT[D®#›̈Dnªæª˜¢˜³qg • ÍUͱBö?ßÏÇÅ÷³þÏxü³ÏÒÊÓ<Ã=C²B&ÉNғ׫k« ýz+ý–“žÓD鉬kc{>Å„yç1·QÓÊÓêÚêf‘fNZH£ÓÈ Ž“¡ë&ãúð`[ôåªû¹8¸œôœx8yÞ¿Éÿœ¿!xÃËu/±¥iV0®¶ƒá;º;,ˆRݹŸsKk[k%$û,þ]¥û‡-XXXØØØxyy™››sr"{çÛø6P“Ps7wÿ@ùPXS¸Ét'L.Œfbc¼È}ñîÓ»ùZóÛ‡»°ï>½s p¼š|õ´Ã_¾šÖšs‹ÎÍVÿâü3]uúï]ð³Q=¬=ˆÄr§ÆOÜxn#%£Ï-ŸÓËÓëÚê0k°¶­öÒ’KD øv÷³Ý÷2¥<ÿ¿ç2‚2€®]Ö­_¼¢Óé8ŽEm=X8iaï}È=轘‘æŽæ¤’¤5†kМ;wVYL™Ñ-³£»c-úÒ­µGçŌÌOK–^M¹ºÑl#\JeEÀ³œgÌ;†ñ¸ïr*tR;ßW¾gRæ âŒQºØ~ü‹Ñ/¬ `Þ9"¼"Ý=våVçBoˆþʽû‡]üñÇsçν}ûöÊ•+Ù«1Š@ ¾gÞ¿ðsñû%øÁ}¼t:è¼Âï>½Ã²iIka*ÀRÍPÕ\…¥¼­x»æîšnZwòkZj0U[F3çf³{÷ë,ÆŒ(.<—‘’Qð»àê–jiAiµõ`øÁo£‹¢»iÝð!=sÛ"˜H#`*@WNwŽÆœ°ayÕyšÒš, °s¬5¬o¥ßº’te©îR¢8‡Ãqã¹G<<ïÐÆh,Y±bÅÍ›7}}}=Ên-ˆoŒªæªüÏùÊ¢ÊQ…QQ…Qt:Þä8€dUfa6†Û47h ¸ð\¦*¦…5…UÍUÐÐÂãðnÁn¹Õ¹=ÊÿÜò™ñ­«±+4çŠ"Š*b*EµEŒ›HMULp,ëÚaÅFˆ¼#e#!¡sªEëŒ×Á~àqø­Ó·>ÿø<µ,³Q0`ç8h;LUœšX’™i¤d«Ð8,C£±DQQqÕªU¾¾¾ŽŽŽ|||ìƒ,ÈFE ß3pµínÆ]æÙä„åßòsñ0‹4œp"ê7ž{¶úl1~n~ÀÅŤ—§Óè4ì*Y!YÆBø¸øúKlëjc][†ï‘!Ê':EaÊ€u ¶EEÑž zJ¢J€ÆŽFÖ Ø9æªæ·¾}-åÚ²Ë:º;&ÉNš£1g¹Þr¨g¤Ú%\\\›6mÚµk—»»;ZJE x{—Ô—œŠî#üDSGöºÇ )À-fÈOväVçªI¨(ˆó‹sá¹:©~ñ~˜{Ÿ…ðqñ ó 3~aù¹ùÐ…’umŒ ßµ¤¾¤ ¦ÀIωy!Aµ·0>\C{ëX霫ˮ^N¼|*úTÞç>>zzlŽ~уq+ìÛânòÝs¯Ïù8ùè)¯n·Â¾3L”M3©têf³ÍŒ¦Kusõ§¦O,=-±ÝY€rBd^$[´ Ó5­<­¾­žqc3€Ï]ßVϲð(®+¾ÿî>£?êËܗ¼ÂêRê¬ °sÈ :r:p=GZPÚ~¢ýë‚׳ÕÁ f#Ò¨¹F<ïêêzðàÁ­[·¢Ã¬#',G#T7WÛL°aÜJ§Óc‹c1Cæàp8ÇËÅ‹¨ÔΓ1'Ù¢møþ¨ù$I’²¨2–ƒç ëœÃçBâ+u+8wQéTŸÀTÅ©¬ °sªš«*›*'ËMpã¹uätDùDïfÜ}õÚ¨#Ò¨¹Æ€_~ù寡¡¡K–,a·Ä @6*(--ŠŠª¯±ßgCàúõë—/_þûï¿utþ}ì4„}”Ö–FåFÕ·²u|ã¯_޽ü·óß: ã;„ýÌÓšçŸâç혢S‚©¿Dc{cq]qRIÒ/F¿À?á¢/¯p r³™`#Æ/–÷9/ª Jœ_¼‡·ÕØh¦?jD~'çtÕ錉qÂʇí¡Û•D•8p‹tI H ¹ q~ñOv<É~¢!¥QÑXñüãs*ºÆ` ü Ë¢€;ç|ÂùÔ²Ôi*ÓTÄT¸ð\9U9Ñ…Ñx‹Ù»LìÌUÖ‘ûg X¸páñãǃƒƒÿïÿþÝZß;gîÜø`ãOW2Q1Q“Pãáä)k(˨È(k({ÿÛ{Vv[ðsñkHj$–$.½¾Ô@É ©£)º0]{mÃôGmloL.Iv5veL„‡BŽ8œRšÂÇÅÇx<éШj®²¾`=K}7ž;®8.ïsžŸ,“uÌ;§¢±Â1Àq‚Ô--!™†ö¸<+) 9²þý3HKKÛØØÜºu Ù¨ßÈFË–-300`ïZ%™LŽŠŠjhøÏ­ñ ì;`™á2‚{×*ɵä¨Ü¨†¶ÿŽï8ö#€Çá//½¼óÉÎÈüÈÀŒω‘”aÝÀ˜;aî|­ù¡B3¿”°Dw‰·Ð•ä+l×6X"ó#•ׄk Öì|º o ÏGrS¦¨I¨O8US´6šm”EEæc¢bO Â>àØkµW‚_‚I™ƒm [Æhðòò:88ܾ}û—_~á౭Έïž9sNÎ?éñÒ#¦(&¦(&rà8,ˆœxV"´9¸.h]ZyZZy@‚_â´Ãé·WŒmƒ"º(šJ§öç6ƒ8ƒ$IÊÿœ1ñ"`8žtȰ>àéu;ý6| ÏG…×XÀ¼s¤¥uåu3*2>VÄÊ1T2Üb¶ed5öc44œœœ–/_ž••5iÒxYÝE È8ºØ…’’’’’ÒÀùÆœq+ìÛBI\II|Aj‹ÚFœˆ¼1>±áÁy8y¬~ðºà5¹ŽÜIí„]7äTÅUŸÿßóðÜðŠÆ !+’•0¯ð`¦#/,¼*8ÿsþ»Êw”&Š8¿¸Žœãù7}–9÷Ï8ÁÐÐPCCãîÝ»ÈFý†ÀõˆºÆ¸J8`NFÚÚÚÎ;E§Ó§OŸ¾iÓ&__ß°°°‘ÖDFFqqq¸¹¹ÉÈ|9ÞàÂ… ·nݺtéRWW×Ù³góóóedd\\\fΜ٣.V ikk»páBnnî‚ 6lØÐ§ÛgTTTpppAA??ÿ”)SÜÜܘ8ùP©Ô;wî„……Q(qqñY³f­Zµ óÌÆêmjjòóó#“Éòòòk×®57ÿrhØöíÛïß¿_\\¬§§;DOOÏÇǧ·0+°—‡Ãmݺõ’C§¬ IDATÔ©>µõ¦­«íÜësQ£è€>]}ú¦™›|#|òÂB6‡Àp#ȜȠԠ¢ÏE\x.7 7á¯C}áVâ­K«/uQ»Î¾:›_•/#,ãbê2S³×ø²PH[WÛ…è ¹”Üz 6XnèÓí3*7*85¸ º€Ÿ›Šò7 7qþÇ—F½“|',+ŒÒHŸ¥9k•É*^®¯ÝþµÞ¦ö&¿(?r Y^T~­ùZsÒ×ñ½·ý~Úýâšb=%=Ø!zJz>N>½…±XÑ€½ÔCûþö†B¡4773Éðô© »»L~~Á0+BŒ8—“.{Ez½Þðz+ЬÐÑÝ¡}\{¶úl¿Å}‡Kmß:Ãüî888èèè:thdU!FIÍ×—bgÇlEŒ=T:Õè´‘•ºÕÑy£uŒÓ±×ÇÎ'œ]Êh.Ž¥€oá|wüüü._¾œ€Ç¯Ç‹?jjƒ8ŽhÔ×Q,,,222àÛÐÐÐÀÀ@55µ¨¨¨®®.˜H£ÑÖ¬Y€]êëëûâÅ‹)S¦ £¢¢?~¼gÏžÖÖV˜çúõëwïÞÅ6—³XHPPÐ:::ÚÚÚ —Û'•Juqq¹qãVNPP··wmmmŸ·uKK‹Mll,–r÷îÝ3g΄‡‡KKKcõ8p ³³æ¹zõêßÿ½yóf@FFFqq1àíÛ·Œ%÷ÆbEÌ{iÄihk°8f‘Qúu|3BSÕ¤Ô¢r£º¨_Ç—N[suM@<ÃÐd„úFú¾ØöbŠò@auaTnÔãÌÇ{ìiíüª<áúÝuw—,T!A©A€ž0ÚòÚ —Û'•Fu¹êr#a|Sƒ¼Ã¼k}jû\iéh±ñ±‰Ígèöä»g"Ï„o—’Æê L <z ³ûëø¾¹ú÷ò¿7ÏÚ È(Ë(®)¼-ýïøþW‹1ï%‚9rÂr»fíb£}Èvß7¶¶¶—/_öðð@?ˆÁRßV¿Ú`5+G¯¾oæÍ›wüøñ„„333vkA°Ä¨Û¨»víÊÈÈPRRÚ±c‘Hüøñã‘#GzcG  ‰6l˜8qbGGÇ‹/`œè>`®5;wî´··wtt|ôèÑ¥K—víÚ…Y_,²oß>[[Û¥K—*((ô¹“öСC7nÜàçç߸q£‘‘OMMõóëyÌÆîÝ»ccc¥¤¤vîÜ9qâÄâââãÇ¿{÷nýúõ÷ïßDzíß¿ßÆÆfùòå¼¼¼aaa/^ܶmÛœ9s&L˜pâÄ __ß+W®øúú˜I¢¢¢C®ˆy/8»îïÊ(ÍPWÚ1wQŠø±òã‘°#=Œ±£aGâˆRÄ &ÊMìèîxñáÅÅè‹Î?x~ÀBeî Þi?ÙÞqª£ ࣌G—b.íº¿ ³¾X,d_È>ÛI¶K —*ˆ*ô¹“öГC7nðsóoœ¹Ñˆ`„çÀ§’Sý¢üè Ÿñ}°;6?VJHj§ÍΉr‹kŠ??þ®üÝúëëïodßGûm&Ù,7ZÎËÅ–v1æâ¶»ÛæhÍ™ ;áÄ’¾‘¾Wb¯ø.÷…1“Dùû_Ö*bÞKsú|H¡P°Æööö˜%¹páB999///]]]UUU€¾¾>¶xÈ1é¥þZ=dºiÝñB¼Bñ»âDv:vöºö:ûÿ;¾/OʊȦìMãÿ:4S‰ñ‹y?óN(L0Uû:¾ÓV^ZýU¹îüä|b_ãÿ*W™¨i®T!«L˜ŽouamK­åKÌ@…óõ3¾Õ…ÍÍ3'ÌÄìF€„ „ãTG:žYÆ0¾æÿ_óµÆ Ìa½"&½„@°<ïnîn?ÑžÝB~\ÌÌÌâããÙ­@ôÁÌÝÜ]JpèQÓÃÁÔÔ´¢¢‚L&³[‚%Fwµ­­ ôµs[êÀà+ÕÕÕ½KÀü*=¢qss¨Tê  QTdæKJ²úˆ«½½½·0,~ éÑ 0¬nd+bÒK#N[gèkç*¶Ô hîhT7UGd÷54 ãûߨEÜxn•FT!ŠbLÇ·« )Èòøvµ÷†¥ÀO!=:f€ÕlELz @ LMM¯_¿^[[Ë$Î@ü€èëë ¾yóFEE…ÝZ3º6ª¼¼< ==1‘F£a!” 8ÎÐÐðÈ‘#½KPWWg¥"Ö Ááp–“””ÔÕÕÅÅÅ5`½rrr€ÔÔTÆx$]rr2øÚ|HZZã>Þ””X£*&1–Y¯h,‘•¤—üw|é´Œ2†ñUÀáp†Ã#‹ûÖÆ—åB_Q—T”ÔEíâ³0¾"r€Tr*NÃ\^ÉÅÉàkó!iä4Æ}¼)Å)°º/ªÀ@ãËrEÁccc—œœݽ¾RRRºººiii^^^4 ÐÝݽgÏžüü|,„„„……EZZZnn®©©©åWTTTž?΢刟>}zAA««kmí—ó š››ÿúë/¨¿w§L™’““óÇÀ0Åt:Ý××÷åË—²²²ºººXÎC‡A»@&“ÝÝÝÖÖÖ0EPPPPÐïy¬W4–H Ié*馕¤y=õ¢Ñi€nZ÷ž{ò«ÆWPÂBÃ"œ–KÉ5U3µœ` ÿ©H¨<ÿœE/Ê) . >]}zAuë5×Ú–¯ãÛÑüד¿ þÞ œ¢<%§2çà?`˜b:îáûòÃKYY]%†ñ}rÚ¥r Ùý¶;ÀZëëøò  ªû_–+B & ‰ÄwïÞ±[@Œ;tttÐôø­0º6*ààÁƒ€Ý»wËÉÉÉÉÉ;v ÆL‚ãÿý÷ßnnn’’’zzzÓ¦M“••%‰ÞÞÞ¬oR‘B>>>üüü “&MÒÕÕ•Ø»woŸ6*àèѣǎ“••… üßÿþÓÃ,)**kjjêêêjhh¼{÷NOOoÙ²eðS}}}€›››‘‘‘¥¥åÖ­[‡\ÑsÐá `÷ƒÝrÛåŒþ2’Û.wìù1½;Êåïå ð¸]w“Ü&©ç©7íð4Ùí²Ä]DïgÞ¬oR‘B>Ë|ø¹ùâ~W˜´’®‡®ÄV‰½÷öi£Ž:åÀq{~Lv»¬Ñ_Fr¿ÉýïÎÿGe ³¤(¦h|ØXóOM]]½ïÊßé)é-3ü:¾Jú·ënFY³Üz§¯ñe­"`޶¶öû÷ïÙ­@ Æ“&M*--mhh`·ÄÀŒº:þük×®‰‹‹WUU%''Óh´7nÀ=®pñ0iÒ¤ÄÄD;;»–––ŒŒŒÄÄD …¢®®~äÈèNÉ #R@__?&&ÆÌ̬½½ýýû÷™™™¼¼¼{÷îíï¸9++«ÐÐP‰T[[›œœL¡Päåå¯_¿¾råJÆl§OŸvppøøñcfffgg§••Õ³gÏ0aÓ§OwqqéêêJNNŽŠŠêq6Ï *cæëο¶öš¸€xUSUrq2N»ázCAL Èóu|&%îN´Ó±kéhÉ(ÍH,J¤4RÔ¥Õ,>ÂÍÉòøŽD!}eý˜1f$³ö®ö÷ï3Ë2y¹x÷ÎÛ‹Çõ3¾­B·„’¤Iµ-µÉÅÉ”Fм¨üõ_®¯4ùïø:vÐsøXù1³,³³»Ój¢Õ³ÿ=ÄMWŸîbêÒEíJ.NŽÊêq6Ï *B æhkkgee±[@Œ;&MšD§Ó³³³Ù-108&>r½Çl29»¥?:;;áŸL---F$ùøøŠŠŠzdkhhÈÏϧÑhAJê߸g………%%%˜Y‹%  ¹@iiiAAžž^°F ¥¨¨HDD„D"±â›šŸŸO¡PÄÅÅ555½"ÿøã#Gޤ§§ëéé•———””((((++÷.¡ªªª   ££CTTTOO¯?aýU4¨^b‡Ûºuë©S§XÌßÙÝ™U‘Ð’Ó¢ÑiÄ]D>.¾"ï^ãÛÖ_•O£Ó)!†¡©.,©-1 `f-–hH0àr!€ÒÚÒ‚ê=%½a(”¢ÏE"|"$i+¾©ùUù”FЏ€¸¦ìÇ7ø#aGÒ÷¥ë)é•×——Ô”(ˆ)(‹÷5¾MUUÝ¢ü¢zJzý 믢AõRŸ ùûÛ …£”õÇÓ§‚îî2ùùýîmF }2"ß„„„+V$$$°ÿ1–Hj¾¾;;f³(è͈|wŒŒŒ6oÞÌü˜Ä(¡¦¦Æzæ±ØCxêÔ)WWWxJccã¦M›(Š››[ïœ"""S§NíN$‰Äžîõ™8ØBJJJJJJ½Óedd°CGYD"‘H$æyáé´´4£ëlÂú«hP½4‚œzyÊuºëå)€Æ¶ÆM·6Q)n}/ŸÈT•¾†FŠH”ꥼ¯ÄÁPWRïk|…e°CGY$M"I4¾¢ ŒÇðô@ZHšÑu¶?aýU4¨^B ?,ðhII ²Q¢ÊÊÊ%%%ìV˜±°QÿüóÏ?þø®Fæååµ¶¶ îܹs ªFŒ†üùÇý?àjd%¯µ³UGp§ _ÄhñòáÎÛ;¥õ¥ÝXâ*ƒU6lبj°4¶7Þy{çcõdžöa 5‹Y¤Yì…ø••åáá!“ÉðÑ0⇢“Úy3ífzyzMk ¶QN€Gà¢ãEö T:5µ,5"/â=å=F»æt•íN+¨¨¨ õ›`,lÔß~ûÍÇÇçÇðíäÉ“/\¸ ªª:U#ƀ߬ó ÷ùPñu|'_XuAU/bTÈ©ÊYxmaï@Ys4æ°EÏÐH+O[´®¾­K¹™~ÓRÍòÜ¢sè§b˜ppp(**²ñœz[·n±K@ŸGGG“Éd*•ª¦¦¶páÂ+Vô6ñéÓ§'NÄÄÄ455©¨¨8;;¯X±‚ù©fãŠí¡ÛŸå<ë‘(Ä#Ä1C£¢±bþ•ù íÿFµé/¨!1TTT?~Ì®Ú/]ºäíí}óæMcccvièMgggDDDHHHvvvUU•˜˜˜±±ñÆ{ŸPPPÀÇÇ7mÚ´ßÿ}ô› õÀ{÷î-..®®®–——ÿÑNÎ]·nÍ€Û€¿]üt`¯ýÞâÏÅÕMÕò¢ò*?ØøÎXg3ÉfÀmÀˆ‘âAÖ*êbàb©f ͹ŒŠŒ£¯²[×àøãéõmõŠËõ—‹ò‰fS²/$^x]ðúÎÛ;+§¢(Yˆá"''G¡PÆ ¢ &ŒA]ÃäçŸf쓬¬¬¬¬¬¸¸¸óçÏc‰Ÿ>}Z¼xqUU|›——çááQPPpàÀ1V;4Z»ZŸå|¸{÷nìmUUUhhèË—/¯]»Æè>yòäÉþù¾îèè ‹ ¥uÇ1:Ó‚“““wÍï’1ðe;œœ¬¸k~— Ð1þ^Ù6c›÷—0QŒ;~¿ ªš« k ¥¥¯9]ãáäX-D¶=Ú–P’€lTÄð‘ÀŽø{Æçñƒ&LX·n±±±ŠŠJkkë«W¯<<<"""bccÍÍÍaž#GŽTUU™ššzzzÊÉɽ~ýzÇŽ7nÜX°`žž{õ³œ­5¬í4í°DAnÁ*ð-Ù¨ " IîI"¼"€àwÁì–ƒøÞkiiéèèàááûÚ]]]]]]Ǿ^æððð8::ÚÚÚjjjŠˆˆœÉ¥ÉI¥I™Ÿ2ûÌù,ç™Í%¿x¿ÈüȨ¨«ÉWü®§^‡Ÿrsr‡¼©n®†oãÈq‰%‰I¥I±E±0¥¾­>83˜ßï#¼Ã‡o:3ÿWÑXÑßåBÁ·ÁÁÁõõõË–-Û°a•J´µµ={V\\|õêÕ0ÏíÛ·÷íÛ‡E¦-++»|ùr\\ܽ{÷øøø«V­Š‹‹c^ïóçÏû<ޝ¾¾>..îâÅ‹’’’sç~ùÒÁ(SŒ9EEEeddJKKi4Ǹ~¬ØæpvUöîg»çkÍwÒs$ûpÀ9u<¥,Eœ_Ümš›š„ZycùÅ„‹«?þöç?‹þ‘–#JcŠb`æªæª¼ÏyFJFI¥Iä:2´Kc‹cEáÖÞ4u4 8=J J1Ï€@Œø˜ páÂ…ÐÐPøzPÓ# Û ÷eÐéôÿýtéÒ¥øúãÇ6l¸s玷·wjj*LLIIùå—_^½z÷'Ã5//~ÚÑÑ‘˜˜xüøq¸š’’âääļÒyóæ>}ºwzWW™LöõõmkkÛ¼y3–N&“¹¹¹ cfMMMðuòqŠ@ ¾ ÄøÄŒ•ŸĆJ†Œey˜õ°½»}‰î/[/˜2wÂ\9!¹Ó±§ïfÜõ°ö0#˜áp¸˜¢ÌF5'˜ ò>Í~J§ÓáG3U³þ”ìš¹«±£‘¹Zyay&ŸŠðŠX-ò?ç“ëÈä:2`ªâT=ùñ¾™ñ­ÀÍÍÝÙÙ _'''ëëëŸ={VSS“——PSÓÇòZŸ$%%>}Z]]B¡ìÛ·/...$$ÄÅÅÅÀÀ ??ŸÅ˜IÉÉÉfff0¤nn®»»{DDDJJŠ‹‹ËêÕ«EEE###·oß~ùòeh£–––zxx ÿñÇ–––"""%%%§OŸ~öìÙµk×Ö¯_?äž™6mÚçÏŸáë™3gîÙ³GHèKÌ[¸H+""ÒãQQÑÊÊʶ¶6øÓvÜ¢#§wÈ Ë+÷2”J§fòpòÜ]qWUüK˜“yšóæ\˜ó2ïåç–Ï’’æó€Ôh‘ÂÝ%;gît¼î[«"¦Bi¦äÎ_¦»¬?¤&Üt¾É\*Ï {¸¹¹Ø ¶{÷îyóæÉÈÈ ¶¨GíÛ·ÏÆÆF@@ <<|ÇŽׯ_wwwÇáp¬ÇLzñâÅ¡C‡¬­­988.]ºäçççêê***êïﯯ¯_WW·{÷¸ÐÐPGGG€··w^^Þܹsׯ_O"‘:::bcc÷ïßïééimm Ÿâ [·níÛ·¾–’’Ú³gÏš5k°O›››EEE{9‡fSSÓÐjd²QÄwENUÀI÷?O—ë/?{:›’ ãÓ’ÖŠ-Š¥ÓéäzrYCÙ¶Û„x„®§^ϩΙ(=ñMñ’$IF°ß?W˜këРÑi.w]’K“çMœg­a-Ä#D®#_K¹ær×å¸ýqm‡‹@ ˜ÂÍÍÝÑñ%–??ÿùóçáö¶Á"&&váÂAAA@øóÏ?mmmsrr[ޏ¸ø¹sçøùù“'Oþå—_<<<¦Nºk×.˜ÁÞÞ>$$äÕ«Wmmm|||>ìî9`‰äãã“’’òòåKh£?˜pNNNbb"¶,€­Ùö ¿ôo‘’º’Ö®V ¢f DùDm5mo¥ßÊ©Ê1W57W5H €)ü_W^WKZ+¦0ægýŸc cæªýn3âêÏBF Æ=lÔµk×®]»vhEmÙ²eÕªU𵃃ÃË—/ÃÂÂ>}ú$/Ïì!uŸå`Ëž¿þúë½{÷jkk´µµ¿ÿþûÂ… óóó¡òÐÐPuuõ3gÎ@‹‘ÏÞÞ¾¡¡aÿþýÉÉÉ3f̀χÖ(Hmmm||ü¼y󤥥™dÕéqp6jnnn^^ž’’Ò(©AŒ.\¸Änˆ‘¤¦¦¦÷QWß0̯(Ÿ(c¢¯‡Ã"O'N÷‹÷Ë©ÎI-KÅápæªæ¼œ¼œœ1…1Ñò†r*ŠÇᙎ@0‡F£a?#DE{$Я²Ç$ßÞÞÞ»¸7cÈöaŸg<ôH„…C0ø?tUíf{هɉ‰YZZÊËËÛÙÙ=xðÚ¨ððöÜÜ\ÆÌõõõ EEEeœ;£²œ³*³htîß½«|‡}ÊÏů¯ OŽWù®¦µf:q:À\Õü|Âù´²´8rœ¶¬vo+ù£"Æ9pêþѽ½ëç" ÖgÈ!ü~î=ö9=Â’¡0:Þç ÙÕÕ†çÊÃ㪪úÛo¿‡……eeeéêêTTT222Š‹‹OC…Ûjàä9â ÎFÕÐÐÐÐÐÀüƒß+8ÎÍÍ F$C|7,Y²„ÝÆ‚Ä7Òn{}LCJc‚Ô@yCùþçûáG0ÏTÅ©|\|¯ ^gWeÿ¬ÿ3L4W5ÿ'î'ç4•iLª¦?ª‚ˆà^Æ=[M[h©RiTÿÿªæ*Y!Yd "†O{{;ãºe$%%=§‰BE8®»»{2–×®]ÎÇ€@s[Ö××çää|õêUcc#Ú÷Ñ£Gt:ÝÐÐpôdŒ%âüâÚ2Úï)ï½>¶Ýb;''NH €¡ã0/sUóäÒä3oÎàqx¸dj hÀÇÅw1ñbmk-gT€üQãž¶¶6“0˜mYYÕ¶­­ííÛ·ƒ­šÁ}Z’ÃAQQ‘››[GGçîÝ»#[rzÌFFF=‚Butt„……áp¸Qš!Ñ:*ø®˜©6sšÊ´rÂOW"ˆ¸ð\5]Ô.uIuÇÉŽ0žËHÉ(ª0 08V™ÌOEŸzSüÆHɈù9¥ÃôG®:]MB­ ¦Àæ’ Qœ(È-XÚPZÛZ Xk4D¯‚‘¶¶¶øáãã“——‰‰ ´µµíèèxùòå‰'†P‘¨¨h^^^II‰¢¢â®4.\¸ÐÏÏï×_ýí·ßÌÍÍ%%%Š‹‹ŸÑú¶zæ¿À†ž+`y€Ç ˆü¨ Á/±ÞdýÃ5̯E X¡½½ùO"WWWOOÏ]»vaQ‹–,Y2„MRÓ¦M{üøñ¬Y³àÛ›7oöpÐáàÁƒþù'&ÃÍÍmvvv>zôèÑ£G=ÒÕÕÕ×­[‡½Ý¹sgbbâ›7o¬¬¬°Ä+Vèé}?1·M ¦/ ?H®#Ã㦥¥wÎÜÉè ßçdˆÍ™S¦Œ¶ÈôòtJó¿&Ari2|ÑMùE{ÄܵËd†œ?þ©S§RSS±ƒ©dddÌÍÍ{©±±1‡óóóóóóݺukÂÿeÏž=ÙÙÙ¡¡¡Ø©9CóÔ+..~üøqD·oß>lS <éúŸþÙ±cÇŽ;`¢ˆˆ xÄA6*ø–øuƯk ×pá¹°”Ér“o:ßdô>àð¶óþsöŸ…5…4@SUéí=µHg‘–Œ??7ž¦pà8œš:š4¤4À(##(óÏ¢š;š‹ëŠ;º;ÄøÄâF÷0b8 h£®\¹²µµõöíÛ EIIiÍš5fffC°Q÷ìÙÓÝÝÐÐÐ0²Q –.]ª©©yåÊ•¤¤¤ÚÚZqqq0oÞ®£òððøûû>|8%%Ç›ššîÝ»w;MÔÔÔ¼¼¼.]ºD&“¡›èH!""ðäÉ“ÂÂB:®  0uêÔ¥K—öéü? gΜ |ýú5™Lîìì”––ž:uêÊ•+{<žûõ×_•”” ùøø¦M›öÛo¿õ81uÁ ê ôgCþ¨ß=8nëÖ­Èõ;c¤¾¿ …y`ϧOÝÝeòó †Yñ£1Rßǧ¥¥¡ØìãIÍ×—bg7èðÈÄΈ|w222/^=Øbçw;& Çö@|WÔÔÔ ù¼øŽ©©©}…óEŒ7FÞF=|ø°¿¿ÿˆ;|Æ­0'úNô÷àdH¶0n…±È·®@Œ***Ð@ô¦¼¼\\\üû8ñøûÙ¨ãOOÏÞ ljþÇüýß³[EŒ[a½ñôŒè)õÒ@ Æ9åååðÌw@0‚¦Ço…‘™´{÷îñùøvÜ ë§§§¥¥åªU«ljþÝ»§ÉË °[EŒ[a½ñôŒ³´TZµJ›1ñÒ@ Æ3T*•B¡ aÑd£~+ŒŠ:âeŽãV‹Œý»wÀ¹£Á¸Æ"ߺ~1N¨¬¬¤R©èG@ô¦¢¢bêÔ©ìV˜‘·Q>,//ïââ‚¥twwGDDdeeQ©TMMMkkëÞŸSSSãããlmm¥¥¥±k:¤©©éä䔓“óâÅ‹ŽŽsóž655…††’ÉdEEÅ P©T###;;»ÞÂX/–‰¶þ`Ò^Æzß¾}ûúõk*•jnnŽ(WRRråÊVXXxàÀ˜èââB Õ±ƒjà 8|8Q^^ÀÅeƒ ZDDIVÖg*•¦©)am­ÂËÛó¾JM¥ÄÇW46v*(ÚÚªJKóc×:” ©)î䤙“SûâEqGÕÄDÞܼ篫¦¦ÎÐÐ2¹QQQhÁ•J÷ñI52’µ³#öÆz±L´õ“ö2ÖûömÕë×¥T*ÝÜ\ÁØøËéÆ%%W®dÑhô†â`¢‹‹6 2¨ŽTÄEYY`<ì»A ˆñFYYÙO?ýÄnˆÕÀÀ3¥>|ø°páÂÜÜ\,ƒ‚‚½{÷LMMá[ …âìì‰eàçç?sæÌš5kÝÝÝd2y×®]ØI9®®®/^Ä.III™?~ee%|+''wþüyM›61Ú¨˜0‹e®­O˜·«733ÓËË Ë³bÅŠ«W¯rrr–””xxxŠŠŠà €¥¥%´QYïX8N00ÅL©j.|˜›[Ç CðÞ½ŸLM¿ü<¢PZGF–`øù¹Îœ±Z³æ‹1éáçà@"“wíŠÆBruÕ¹xq.vIJJåüù*+[à[99óç­=<â6mÒg°QÿÆb±Ìµõ óöbõffV{y%byV¬ÐºzÕ†““£¤¤ÉÃ#PTÔ_,-•‘Au,‹ D ? ïÞ½“’’’’’b·_TTTÔÔÔhii±[b`FÞFe¤µµÕÎÎŽL&+++ÛÚÚrss‡‡‡gggÛÛÛ¿ÿ^NNŽJ¥ÚÛÛ§¤¤„¹s犉‰„„„¸ººNœ8qÚ´i°œ„„„ÐÐP[[[mmíòòòÀÀÀK—.999YYYššš*++544¬­­»»»Ÿ?îêê: <æÅ²¨mPí…ÙâââBBB`½¥¥¥÷ïß¿qㆺºú¾}û”••÷ïßïééI 0ÔÞÇã²XóŸÖÖ.;»`2¹QYYØÖV•›NÎή±·¿ÿþý99*•no?%¥’@™;— &Æ[PP’ïêú|âD‰iÓ0¡¡¶¶Dmm‰òòæÀÀ—.½sršhe¥ hjêtpxXYÙ¢¡!fmMèî¦=^ìêú|@yÌ‹eQÛ Ú ³ÅÅU„„äÛÚªjkK––6Ý¿Ÿ{ãÆuu±}ûL”•…öï7õôŒ#D0TAxh1o ø1ÉÌÌÔÕÕe· wdffâñøI“ú]Š@ŒF×F½uë™L655}ñâ…€€ ««kùòåÁÁÁçÎóôô¼ÿ~JJÊòå˯_¿ŽÇãáU)))&&&>>>wîÜ)UUU>©wîØÕÙúàÁÒW„Õ«Ÿ=}Zm­Û·s**šmlTCBpsã­­]sæVUµ2—ǼXµ ª½0[uu«¿¿íêÕ_LÐÄÄOææ·OJÙ½ÛXYYøÀÓC‡â‰D‘L‡Ü±¬4@ü˜dff.]º”Ý*bÜ‘™™©¡¡žù&]5..àááí(———Wppð›7oáááAAA///¸•N§ÓétQQÑ””¬}}}ÌÐÀí»ðm||<`ß¾}Ð@ðóóïÙ³gÞ¼yÌå1/–Emƒj/D]]3PÆÆÆ , úðáÃäÉ“™kTEÌ8|ââÊfÐŽpqqxyMÎ}ó¦N r{y%~íC@§ÓEEyRR*tÊ`†nß­¨h†oãã+ûö™@ÀÏϵgÏ´yóî3—ǼXµ ª½uu1Ì@Ë-X@ Êýð¡fòd–vß±Xó"ˆÚÚÚ²²2ÿ” ÄEFF†ŽŽ»U XbtmÔºº:‘HdL$‰8®¶¶P]] ÐCRII‰ñ­    ««‹±–b{ïl±,jcdÀöBTUU{\Sàå#X󟺺v‘(ú_¢8¨­mTW·.^Ìd^Ž’’Ðu~Y9d¬…@aÌÓãíŠeQ#¶¢ªÚSL—`Ë@ ~@Þ¾}‹ÃáÐN6è•JÍÊÊš?>»… XbtmT111@aa!£5UXXH§ÓÅÅű 7nìÝŸ€ðª=j)..Æü0áÛaI’¶Û )**êq!L—³®mÀŠF11^@aa=‘ø¯UVXXO§qq^,ÃÆzRR={ŒŸŸÕ{R\Ü€ùa·ÃÓ>m¶RTÔSL—³®mÀŠ~XRn¦Ý,­/í¤vb‰{¬ö¬1ì7˜[Ð9¡£#«sëç[ì2\Û£‹¢#ò"¢ £Ûݦ¹ýnù{ïlŸ?ˆ>SÓÔѤ"¦â¬ï¼bÊ 7yý£©©)**:pVÄ÷¹Žìé•^ž^ÓZƒ% ñ¥oKg£ªÞ\J¼äýÊû¦óMcåoþܵ÷”÷y‘ù‘Y•Y€÷¿½çáäé-(3( 5  ¦€‹ošò´ß-WS¥<ˆ>IKKkiiÁŽÒ@ŒsF×F555½zõª‡‡‡©©)´ëº»»÷îÝ 033XYY]¹r¥»»{ß¾}Ø…•••¥¥¥,ÖbbbâïïèС‡rqqÚÛÛ£æ!h°½¼¼¼k×®1ú£>|øPTT‹3ÆËË˸:äŠFSS…«W³<<âLMåùù¹ÝÝ´½{cff ++å+WÞuwÓöí3áàø÷'feeKii‹µ˜˜Èûûg:”ððá..@{{7cÔÜ¡1m¶’—WwíÚ{FÔ‡óEEy´´$` //'ãrè+ú1‰Ìô|éÉn?>ÿóIöæy>5~Z°¸ªùK€¼Ïy/= j Xñ<&¼zõjÑ¢EìV`îÝßSÞ³[ÅDAMÃU‡³Œ>ùOÜ?ðuGwGØÇ°xr|Ъ UqÕσèððp55µÞ›ã“ѵQ:«¥¥……Ÿýðი˜Ø† K—.õññ¹páÂóçÏ­¬¬dddêêêòòò¢££ýõWCCCVjY¾|ùþýûŸ>}ª££cmmM¥RÚ››Ãyô>m¶"%%åââr÷îÝI“&•””Ü¿¿»»{Û¶mœœ_†ƒD"¥§§¯\¹RUU•ƒƒž:„ŠFggÍC‡âcc˵´®bágÿŸ½;¨)û~ÞÖúÚ÷}ßTZiQT”-KÙ›‘±ï†™0Cc_†ƒ¢0¢EI)©¤T’ö½¼ö}ïýþ¸~×›WêE)|?õÎ;çÞïwzß{ÏòæMˆÏš5†¡yó´<=_^¸Vhk«$%ÅWWמ“S÷ôiéÏ?›˜šJsr–… µ=<žçëëÿ=y²2Î -hnîB}Γ•Oˆ­ßëÅHHð-]âïÿVOO¼¸¸éÎìînÆ–-&dòû;êêÂ))•®®Á**BD"ÛõNô}ŠÎ‹FyÍòš¬9™L$#„žæ?]vkÙpÇõ-âš®3}’ú¤¶î¶ßB~ëµÎá'‡+›+Í•Í÷MÙ'# •õëÃ_}“}géÍ2”5Ü:àcÞ¼ySZZ:iÒ¤á ÚÖÚ Z†±œñ¹¹çÄøÞß{un~mþðö # Â(©Q¶¶“Ô&ýòð—ÜêÜžur«sÏ??ÏEâÚï°ßQÛ±®­îÏdže…ýñÇåy—·èCddääÉ“‡; À©¡ÍQùøø‚ƒƒ±m<ÏŸ?ÊÊÊÞºu —K&“ƒƒƒ—-[tùò‡˜œœÜرc9<‹€€À½{÷fΜ™•••••…’––>~ü¸««+¾¤Ð'ø„Øú½^Œ¹¹¹¶¶öáÇCBB°’Å‹ïܹ¯°eË777___ì%¶?ê'œh¨ññQ‚ƒçbÛxž?Ÿúÿ0¨·nÍÀÆå’ÉÄàà¹Ë–…å]¾œŽ7”“£ŽËiœ\÷îÍš9ónVVmVV-BHZšÿøqW×`|I¡Oð ±õ{½ssYmmÑÇCBÞê^¼XgçÎcK¶l1qs ñõ}ƒ½ÄöGý„}ŸªZªB“Ô'a *øöMyÿà:4+´× MM¡Y¡Tnê™YgyBS´¦ÐšiûÂ÷ÝJ½…å–ƒUô!""BRRRWW·ÿªà[„ @0Q0ÁT0ÔTÅTï»ÝÇ~& Þoœ¦2˜ŒUãWÍÑŸƒâ¥ðž˜qbbÙĘ‚˜wM襤±ø˜¼¼¼‚‚¸…÷ü/y;w•Å_Ž5*###""âõë×t:]KKËÁÁ‡çÜ:qqñû÷ï¿}û6&&¦ªªJBBBCCÃÊÊ Ûî…L&{xxhkkÿ'h2ÙÃÃuÞqãÆåääÜ¿¿¤¤D^^ÞÉÉéÁƒè¿‹±ÆáaûŽ­Wý^/æÐ¡CóæÍ‹ŽŽf0l»­þøãÆÆÆQQQuuu KPô‹åð?ÁÎf²²Ò¤Q£Ä22Ü""Š^¿®¦Ó™ZZ¢Ê<<þ_‰‹óÞ¿?ûíÛÚ˜˜Òªª6 ^ ++yl»2™èáa®­ýŸ9´X!>2!4nœLNÎòû÷sKJšä圜Ô<ÈCÿ]4ˆ50Ûwl½ê÷z1‡M˜7O+:º”Á`ZXȱí¶úãºÆÆRQQÅuu Ûu@¿X/ðž¾æÎûazÇôBªbªV<êµò½×÷|“}³«²L†ª˜ªóhç%ÆKˆ"BhšÏ´ÆŽÆ˜µ1XͲ†2ësÖ¡Ðå¡êâï×I¶õ¶%I;8îIî“+IW²«²›;šå„ä¬T¬V˜­¢J}¬~bI⥄KÉeÉÍÍÒÒS´¦l°Ø@å¦rR¡£»C÷˜®†Ýïv¿ÿùøÏø¢x:ƒn¢`ò‹õ/:R:œý ‡JJYJ7£{¢ÚD,±ÄÌ5óˆ?‹·èCDD„­­-ÌÝý>͸2#“–‰ºáBü„§“çt^öQ«h¬8ýìôÓü§Õ-Õ¼Âã•Æ¯·X¯&¦† Ë [wwÝAǃ..Xe÷‡îéŽÚާgÆJþÍøwkÐÖW×Vw!þBxv8­™ÆÏů.®¾ÄxÉÍ)ûÿÙÒÙr1ábÈÛÒ†R2‘¬/£¿Úlµ¥Š%‡ŽFõŽ÷Zô²ôåÕ¤«e e’TI—ÕãW“ýÎöe`Ý×ÌQ3ñn2·£¶ãÕ¤«‰Å‰3ugbð1ááá"""††p¯ó«1$9*û9Èd‡>Zikk³%TxÛžÛ„ö,|óæ’’Ò’%K°—ÕÕÕØ¡VVV½ÆáaûŽíc8¹^„±±±±±ñÇÞÕ××g[{@¿Ø]à€°>üÿa‰*}ï×ÖeK¨ð¶=· íYøæM’’à’%ï³ëêê¶}ûž#„¬¬ä{ ŒÃÃöÛÇpr½!cc)cãæ*úúâúúâ¬%úÅè¿C‡žº”p ù†öf_ø¾”²”“3O"„,U,}}òjò°ïd±…±!"Sƒå¨¥ ¥EuE®c\û>Ë“Ü'+Và/ójòòjòÞ5½;3ûL¯õo¤ÜØýh7¶ÑvŸDŸ¸Â¸[®·x)¼œT@5´7Ì¿>ŸÖLÃ^>ÍšT’ä¿Ä¿4õ‡›?ÄÆõ}-a+Â°ßÆ§)ª+BiJh² ó KQ¥JJL‘@¬:Ÿä7/##ãÍ›7ØÂ|LiCéÜ«sñ•ª[ªƒÞEæFú.ôÕ—Ñ7W6'I11xŽ[K$Ÿ=Ç?€±±Á\©Ÿ?7?Ýú)­âýÊùm]mÕ-ÕñEñÁ?³}À1 í |äTç`/;PG|Q|Bq±éÇœt8©€ñ~îý ó~¥'ŸžÌ¯É?>ãøÇ‚L*MZà» ï ™¦3í”Ó©¾ëô­¨¾ˆ‹Ä¥,¢ÌZ¨-©þßybÐ+&“0uêÔ>2‘æù{¬¤¤4þ|wwwWWWMMͬ¬¬I“&Áq߆àà|%¥ óç¹»?uu ÖÔôÉʪ4I‘ÃíFÁ·Á^Ó>w{®†B(c[FîöÜ^ŸsfÐ2.%\â!óxØ{<_ÿv›éГC9Õ9S´¦Üýñ.VßÓÉS[p_ø>ìƒßoLhVèNÛqëã^n~yræIa^á3þí÷&ÝPkîhäd{€ŒutMMƒ[ô*66¶°°pÑ¢EÀodB—®®n{{û­[·ð|>'øÚéꊷ·wߺ•…—˜˜HûúNÆÀˆò6!´Þb=þ ÔI׉H n¹¿åaæC; ;n2wlAìR“¥ &#¾8~–î,*7Õ'ѧ‹ÞE!Qb cIÒ8…~–§Ç&ÿ8é:IP%B*¢*}¬¬xïõ½nF7¶ÐV¢.®î9Ó3©4)<;|õøÕýVÀ ù(|ÞÎÞØd3515O'Ïi>Ó’J“ª[ªÅùÅ{=õµ×8þå}"üÙoåƒUôª±±ñÁƒîîî0Ðô¡­«-:/ZŒOì¢óElº¸º×,¯é>Ó3+3 j TDU,U,SÊR^¿{ݹ#ˆ›,7ýûúߨÂXYƒ¬ª9TÞ$ IDAT¬ÊæÊYz³ú>‘0¯0™ÇPÖÐ@Ö!ÄKá5U05UèýJ'½3(#HC\ã̬3Ø`^ ïté í a/J^˜)™õ]a‚êìPn¦nËLß/¡7cÔ “±5hkhV¨¹rïO}MäMr·÷²ÊÑÀI·6Xu€ŸŸßرcµ´´†;0ßHŽêèèXZZ™ŸŸO"‘ŒŒŒ¬­­GàŸê^§‰‚~9:ª”–®ŽŒ,Îϯ'‘ˆFF’ÖÖ #÷i¢à +¬-DMRÿϺØKl4™ÇDÞ$¡8¡‹Þõ†ö¦¾­ÞRÅ’ÊM=óìÌËÒ—¦ ¦Ï‹žÊ²Ní•›©[bIâ´ËÓ¬U­õ¤õô¤õLäM(¤Þ×ñ†¨m¾¿yóýÍØW &bb?`Ëlô[3Jjëj(d"y¼Òø¼š¼¢º¢å¨_€·B¨¡}gà†ö‘„ T¬: WaÖ¬~2ð+m(¥3é¦ ¦¬ý‰@²R±Ê©Î)ª+RU±T¶<{:¦ ËQõ¤õ¤¤MLb b×™¯{Vø !d¡ÜÏ.w\$®Žv?ÚU•5Nqœ¶¤öX…±rB½ïVR_ÒÞÝž[“«}T!¬ãc¢ÿg_ååýVÀ… “Áa¹ë°ƒ¥rSÛ™L&ë÷ÒÆŽFôÿNo뀞***žÑ½gT\$.}}ÿ%þ½§­«­ï ¸˜‚Öa½ÑùÑh¸»G„ÐXű©©÷ßÜßd¹ +éèî}J ðžm°ê6•••~~~Û¶m£P>}·B0, G|SµÏ??úÙi~nþ)šS($ÊÓü§ûÂ÷!„¦jOÅêhKh‹ñ‰…ç„×o™°+´T±Ü¾·ƒÞ­Òï‰vï”¶U·UQ¢(YUY9Õ9]ô.Z­gŽ:[öùçç¾ÿó6ëm–*–âüâ í …u…3JQ¥V_Ýoì8­]­«Ví²Û¥)¡YÞX~òéɼš<y“>ú~ù¨ÜZ2l¸·aß”}ÒÒQyQÇ£#„æÎÜ:€M{{û¹sç/^̺×½â¥ðZ«YGæF®¾³zǤª¢ªååž1žÙUÙ:’:øÓ9+U«ˆœˆOOðsñË£ÿ÷™^±^íÝíœ 3I«HóŠõrí¢+­+E•ªo«”õ!TR_ÒkTÓGM¿“~gËý-?šü¨*ªÊMæ.m(}UþêFÊÿÓo.v¨+/®HP%fèÌà"s=ÍúGÄ!­î³ðeæ£ÎÕŸë“èãýÜ[AHÁQÛ±®­îÏÇÒšiV*Vø2{ƒU°9uꔨ¨èÂ… ‡;0`£¾)ºRº?ýÉ'ÑÇ#ÌÃ#Ì/Ÿ®3Ý^Óû™@ X¨XÜϸXæ/YªX2™ÌÜê\{M{±ÿåéß5½»vûtìiÖÂQR£ðMVY)‹(ÿáðÇ®°];Bv°½µÊl'0¦ ¦EuEs¯ÍÅKø(|öh(ÝJ½…­ù‰ñŽ÷öŽ÷F-1^²gò¬Ð}¢{BI³Âg¶Þ¶xÍ%ÆK e?lF7Xu«¿ÿþ»±±qõêÕÃø:ì²Û•Zž_ïtåÖ-|¾Žð—ØhŽìªl[u[lsQÖ>³ßɨ!“•… `Á„£fôZÿ7Ûß2i™Ao‚‚Þ±½…M:í·fŠÖ”xüáZœt>¶`Ò`±8cï†Ò=¦‹ýðbÓ ^„º¸úêñ«ÿŠûëׇ¿þúðWì]!¡Ýö»ñVƒU°*((8xð ×pÇ rTÀ·fǤÚ’Ú¾/}³«³L†ª˜ª³¾3Û~§–Ê–÷3î‹ñ‰éH¾ßYTYDY^H¾´¡”þ‡§H ˆÈ‰(¨-`"¦¬ ¬ƒ–ƒ›©ÛǦMÎ3˜§-©}9ñrbIbmk­(Ÿ¨²ˆò4iøæ~ýV@ ñÝ\rsÄþÄ’Dƒ1F~̯Å/aa;â>SÓÜѬ(¢¸ÈhÑã%CQàêêê.^¼¸lÙ2qña[1 |]„î-½çëõ4ÿiuKµ0¯ðx¥ñ,7°ÎHÇ;C+ÕKá}&¶!gßFËŒö™ç^‘^Ù\)Â+¢'­·Ôtéx¥ñ½Öâ ø!àÚËk3æ×ä3SNHnŒÜ˜yó°qÅýVÀ¬¿ÚXÎøúËëeeRT)|ÊðúyÂÏ B ×^^˯Íç¥ðš)šm³ÙƶÓé`Õ¸£Gªªª:99õ_Œ<„-Zíâ₺}ûöÅF°yóæ“'Ow `0 Öç—F£577÷Q!8˜ºq£TnnÞgž°êèîÐ=¦k§aw~îùᎠ•~v6mÚ”œœ«%}EÔÕÕ¼¼hS§öÕ‹‚:uÔ;Þ;hYÐH¸g†È€>;¡¡¡6l¸r劥%§ L€¡¦¦6€Õöµ¦¦¦´´tË–- |}"""àú“šš*//?ÜQGDDDpp°$¨Àª®®nÏž=óæÍƒõë5°5''§´´ÔÓÓsˆ¢#Çëׯ_¿~=ÜQ€AÖÖÖ6Ü!|MŒN5u4õú–·@Ê–”/øn±íˆˆª««ûý÷ß]\\&L˜0\QïÙ•Wþ|üçÇÞýÍö77S·/øžõì!=</¥Óé×®]óóóûòQÁõ]ç¨À˜‘‘ÑëCT@$;;;ïß¿ÿå€áUYYyêÔ)|&*lµ¤´¶¶~Ù¸À û®×LÚ¶mÛ¶mÛ†; Àœ{~N’*9Wî'¡±½ñ錄GËŒ¶Q³¼¸zAgÒÏ>;«*¦:]gúž¨W¥ ¥©å©¥ ¥Üdn])]yÀZá~ÆýºB¶VššZ=–AËH)Kiïj×’Ô2W2'{¾Essó‘#Gz–S(”®®.---ggçY³f ùØÀH–\–[;G޼ü'$<;<³2sŸ¼ÞAŒ­§g…Ï^–¾\h¸P‚*1¤'ê©›Ñý¢äEAmAc{£Œ Œ…²…8¿8k…ÊæÊ›¯nölè:ÆU„W„­°©£)¶ ¶¤¾DŒ_lœâ¸ÏùåN3M Ï ¿“~ÇuŒë æ¨/J^=)E•ríÌZÓTÁt¼ÒxÖQ¾ÿljòOÊ?»Ãv#„Æ*Œ5”3lïjÊ‹J*MúWñ½¢ûûÿJ$ ™LîîîVUU]¸p¡“““ˆûómðµƒ?x˜™™UVVb/i4Ú7èÕz‹õúÒú¼†Ê>~îù¹ÀôÀž9jOD«š«F$ǧŸ©;+üÍö·ÔŠÔ!Š ä]Qñ!ÄÏÏ?{ölggg==½á ÈQ?Ø´iSeeå„ Nœ8¡££SXX¸k×®;wî¬X±"%%¯xüøñ… òðð„††®_¿Þ××wéÒ¥¶¶¶Ã<߉žóQéLz\a\vU6AWW³T¶ä&s³6iélyœó¸¼±\Z@Ú^ÓþcG~ýîuJYJsg³UÊZÍZŒO ?>>­4³23¾(žÁd˜(˜È`ÊËÒLFq]1>Ü€¯RÏù¨Ç¢]L¸Hg¼ß¢ƒ@ ¸ŒvÙ7e6æŸÁdìÛͺ8Ðb£Å={;õöŸ‘6w4ã%¦ ¦Íù ë‚°i¥â‡ž*k(Ã*ˆðŠœ›{»w÷õ]lB{@ZöîX…±x^ÞX¾ùßÍy5yØKa^áë ®ëH}tÒ5vO°ïßÃÇÖ~û˜ê–j„Ð(©Qlå´&š_²_SGS¯ë*ÅÇ#„fëÍ®o«Í mhoPQ¶V³†a&C¤ºº¡äu븦Nmî¿6øúAŽú^aaaww·••– bÈdò”)S222rssñuÊ”)¬ B¹¹¹_2ZB¨­«í§Û?•5”É ÊZ«YSˆ”g…ÏòjòVÜ^²+|ö¢äÅ/~¹är ¯æñȃB¤,0\ÀMæ~Vø,·:wMàšð•á¼³õf3˜Œø¢x|Í$Ö³¿‡þN".à£ð=-xš[»7|ïÍ%½¬©‹Áï ö¡çÚo}`2™Ç¢QH”Uf«ØÞ L LÄ~¦(kƯaú‹õ]ô.[oÛ†ö¬P’*ùל¿ð?`ihh ¤€m¸_ä¨ÿÁ¶7çM>¡!à3½ *k(3–3¾ºà*¶e7£{ó¿›C³BÿIùg³Õæ™*›+­T¬.8_ (¡¶®6×®µ­µøAe?J¯HŸ1jƱéÇð¼+½"Ýùšó•WN9ÂJj[kL;‚§ ©©ó®Í»’te­ÅZ,G=wVQD‘õLGwB¨¦µæÜœsvvX¡•ŠÕ/~‰Ê‹ê#G­7»ßñÀlKwô¡¤¾dÍ5J"Jû¦ìc{K^H~Œü)©ŠÆŠÈÜÈLZæ7~[Få¦"„Z»ZBs¿kzg¯i¯"ªR\Wž~+õ–Œ€ÌË ظ³³ÏNÖœŒ•¤V¤Î¿>ÿï¯3_ÇKáõIð!ˆWç_ŧ©‡e…­»»Žõ Ç¢ñRxo,¾¡'ý~â“É\o}XVX^M~KK’*ysñM¬ë 3éïm Ë LüiìO³õf—7–c9jÏžMQXñꂫسÇ_è¿L»<íeÙËæŽfìP=aýmßζö[ߎD‰ÌÜ7e[+d¦d¦)¡ÙÙÝ™þ.=­"Í+Ö‹Ÿ‹ÿ§±?aÚºÚHÒo¡¿ òÎ5ƒH >ÍZXW¸üöòÇ« ñq 'ÈQßSVV&“É111ø£T:þèÑ#„ºú‡±maaa¬ÃzCBBBjjì<C Û^e“Õ&|2‘¼Íf[hVèËÒ—¡äÒd„ÐË X‚Šâ¥ð®3_·"`~g…ÏB|¾óñç±á¸L&“‰˜‚<‚ééx5eeÑ}‘Ñ¢ÿœEHöñêǬÓzï¤ßqv?ÿü¼›©Ömr“¹éLºœœß"?.B¨›Ñ½Ôi|QüýŒû®c\%H¾[£¾ÇÏÏïèè4kÖ¬cÇŽikkyxx¼~ýÚÐÐè‹òôô”––^´h77whhè¦M›BÎÎÎ?6`H`ëؖðQR ØêX¶]R„X_bÏTýSýû>—¼0ûV+Øq;ûn(#(Ãú’‡êf°ï?Îj°æ£¦U¤-»µL”OÔw¡oÏ {ØGâZg±níµ´ ¬DŠ*…’’ÇT„¥Š¥†¸FvUvUKÕÈÜ€jhk@=º;ôÿ³¡½K{n"%/$ç¨X÷X\_|òéÉž§hêhÂf;vX|lØzH~.~Ôg9XóQé úo¡¿¤ì´Ý¹ÌtÛ»øšy¸9ús.¿¸ü¶òmyc9vu’Tɲ†²EF‹°!D&’—/‰/ŠÏªÊêûì€~AŽú§§gBB“'OÆŒƒR©Ô‹/²V›3gÎÖ­[·nÝŠ—,^¼LàËÃS׳~=*i(a2™ØÊX…Ò†RÖlŠ-ýâB-6Z,ÆÏþ¥„ué‹ÒúR¶w±ãr ¢Á6(óQã ãV®–’½¾àºU¢š£-©Ýë“RÖ)€‘ ëÙzÞí*®/F ña}Wi{ÏÆZ‚u¡êâêSµ§ö<…¾´>þsI}‰‘œÛA†b¼ë ÌGí¤wnúwSxvø.»]ذ‘O0JjTJYJ¯oÁ>䨺UUÕ¤¤¤½{÷†††Òh4QQÑI“&yxxhkÿg ßöíÛÍÍÍÏœ9STT$''·lÙ²íÛ·Gà|ïŒåŒÒNÇž6–3ƆûÒ™ôÑ'BcäÇ „ŒåÓOÇžfz6î,ëAÆ+Ž¿z›Î¤¯·X|EU5WU4Uà/ ë ï¤ßaž.È#¨!¡•p‘¸ºuÁÇ|þ|Ô°¬°Í÷7«Šª^[x­ç„PYCY{w;ë. í gŸE,kÿŠó‹É%—%?Î}Ì:Ö7·&Wœ_œm‰KÀˆ"+(+- ý²ô%ëç7½"=äm™GOZ—Â+E•Š+ŒK(N§8«–Æ:ÇAFPFYD¹ª¹ÊAËuº&“ÉŒ-ŒÅg¨"„.$\°Õ°Åž‚Ò™tÏOôÿ~!ÄMâFœ=Våäº>s>jkWëÊ€• Å {§ìíuc„P|Q¼±¼1þ€!t'ýNVU–0¯°ŒÀû¿öö~É~ÿ¤ü3Mg>Ö×7Ùõ¶‚:` ¾ëµ±±!ÄÃóáQ‰‚‚Â¥K—>VÿСC‡BnÜ88Ó!ŸlƨgãÎ&•&9\r°Vµ¦(Øz’BÔ”Ð,o,Ë £3én&n$Âûe–”E•ßÐÞl Úª ¬@$ÙöGÏœú¢äÅÆ72˜ SS¿d?Ö·&¨NÀœÌ«ÉûéöOÆrÆjbj"¼"Ms·t¶HP%X÷-ÜlµùGÿ×®±Ó°SUÆÖLb2™+Æ­€Œp«Ç¯ÞóhÏêÀÕÕ&ª‰©•5”=Ê~ÔÍè^f¶ »©÷Ó¸Ÿ<>ðÃÍðu}Ÿä=åe]UÎ}¢ûÚ»kg^™9^i¼š˜7™»´¡4µ<µ´¡4c[¾Î\esåä “'iLâ"qÅÆåTçˆðŠà ¶¢øÇ’J’x)¼lû£Hék= IDATÈçÏG]{gm|Q¼–„VMK ë#Y.×êñï×9?u´´¡ÔTÁTNH®£»#­"-­" !´bÜ ü’-U,Ç*ŒM,IœrqŠš °5“$©’NºNŸ!}Ï9jYYYPPBHYYy¸c| ^ ¯‹¶?ê?)ÿ`…’TÉÓ³Ncƒ{ù¹ø½çz¯ \YP[€í¡*Î/~Àñë†+$ÉgžûC÷ÈÜÈÛ©·ñr)ªëŒM,óŽ÷ŽÎÆJœtÖZ¬Å+¸™¸¹»ÿ›ñ/ö’uÔ/¬¼±Û»£ÏJ€[ËQå„ä´$´^–¾Ä—ÂèH霘qBçÃèeseóýû÷…ï{”ý+!ˆn¦n=§oFš%ÆKÞ5½»˜p127227ýÔ-¶`–š,ͯɿùêfhV(V²ÈhQ{wûô;øAì5íOÌ8±7|oLALLA VH$­U­É¤ß!÷LÞs0òà”ØKlTlÎBh‚êuqõÜêÜ‹ Ñ÷GýòŠëŠBYUYl³F¸ðÕRÅòò‹Ëø¯!ÄEâZ5~Ûþ4gfŸY¸*¥,åúËëX‰‚°Â_³ÿž'>Çwš£®^½ÚÛÛ!dee%%%5Üá8µÖ|-ëäRuqõÐ¡Ï žeWeÓ™tUQÕ ª°i1ú2ú+#ç<.o,—²Ó°c2™-7²æŸ"¼"œ/äÕä%•&Õ¶ÖŠò‰*‹(›È›°mú‹Í/Su¦&'2˜Œ1òcØvÀ›£?GWZ7¡8¡¡­‰˜rBrdy£åFU1UÖjX¡º¸:2ZZ{΀OSS{°ìA-ãÍ»7Õ­ÕÜú2ú2=›Ì7˜?ImRT^Tukµ0°…ŠÛ"U€ÂXÞx£åFÖÝG·Yo[`¸ ®0®º¥ZˆGÈLÉŒu„?‘@Üï°¡Ñ„â&“‰ukáÙáòBò¬³ñgŒša¯iWWP[À`2ä…ä e ÙÖ:RU [‘õ´¶ê¶¬w»¸ÉÜw¼•UTWÔIïÄ"4W6ç&s‹óýgÖVØsu€Aô£É½Ž:fÙ»e–åã–''×wÓ»„Æ+ÇSnœ(Ÿ¨ÿÿÄâÄ ZF7£[C\c‚ê2ñ;ýj Àà"`«_pÈÅÅ!tûöí~kŽp«W¯¾}ûö„ Î;'--=ÜáŒ8!„æ w `p¹8;Âç—F£577÷Q!8˜ºq£TnnÞgžh„èèîÐ=¦k§aw~îùáŽ|ã¾±Ï蕺ºš—mêÔ¾zѯÈѨ£ÞñÞAË‚`&jߨgç;4 ­:¿Ó›=çÏŸ?¾nÀÈBì¿ ðE|§ÏQ€C½N+€>2­>ä¨Ðô™[À·ÊBÙÂBÙb¸£|k`¬/€‘rT#ä¨FŠÍG/--%C Iæ#4¸cƒ,>^~¸C /ËQ544xyy§M›6DÑ€ÂÓÓÓÍÍÍÈÈh¸ƒéòåË"""Ã}XŽ*&&&&&vòäÉ!ŠŒžžžFFFS§Nî@À` ¦R©Ã}ù¨F ÈQ`hU5W-ò[ôwÒßÃŒ8矟_ä·¨©£i¸Œ £ÀÐê w$–$Öw 0âä׿'–$v3º‡;À9*€‘rT#ÅÀÖõýöøûûŸ;wÎÓÓÓÐÐp¸cô£‹ÞõãÍML6Ynº•z+¦ ¦“Þi$gô㘩ÜÿY²¸¨®èvÚíìªl:ƒ®*¦:GoŽŽ”ÛA6Znôåÿ¼èy][Ï<2AÊŠ-ˆ-®+&Iššsõ窈ª ôì©å©·Ro•5–ÉÊÌ7˜/Î/ÞóZ8‰pƒÅ¿¿ø¢x"h§a7GB¨²¹òÚËko+ßR¹¨..ÊŸÓ !ÄáU¯·XÿOÊ?ñEñ &cŒü×1®|¾Ïþ' š›¯nÞϸpêÁnF÷õ—׋êŠÄùÅçêÏ5S2c­FgÐd>xšÿ´¦µFˆGh¼ÒøÙz³¹ÉÜliïn¿ùêfAm½†ýbãÅ¡wMïî½¾—U•U×V'Á/a¡l1Cw‰@ÐÙÛ»Ûo¤Üˆ/Šg"¦©‚éã%=/„Ã[»ZÿIù§¬¡LYDyÙØeòBò¡GÙBÞ†Ô·Õ–½|ÜrnÏiÅùU·t¶`‡•ríl"oò¹ÿœ|ß¾£õúõë>>>§OŸÖ××Ç KJJ¢££ëëë‡10‡LFbI"•›ºæÎšÈÜH¬0*/êQÖ£€($ Vò6äç Ÿ»è]ØËèüè«IWwÙírãÊz7·çEϱ:ÝônDF‹þYô²ô%~ºÈÜÈˉ—ÏÌ>3I}çgH ز“Ád`/ï¤ßÙ:a+Û…páòÛËŸ>Ãê<Ê~TP[0KoÖâW·Tc…ß>ôqñ™ :á“[!ÄéU»ù»%'àuî¤ß¹¹ä¦/ì¸ ÀHQR_’X’™yâ鉶®6¬ð^Æ=/'/GmGìe[W››¿[RiÞêaæÃë/¯_[xMŒO ?HÈÛ¯X¯Nz'BHC\!ô4ÿ銀tox÷õÝÛi·¯.¸J&’9<{SGÓ"¿E™•™ØËÈÜÈà·ÁJÂJ¬WÁa„aYa'cNb½èSô4ømð½¥÷.&\¼štkSWwÛõ6ë/g ­8¼ê·!§bOá]z@Z€‡½ÖŸ>Íw”£EGG744°Ο?ßÄÄ¢ðyšÿT˜WØ}¢»†¸­™öWÜ_´Œà·ÁNºN!Z3í—¿tÑ»´´(DJt~ôí´ÛDü1F~Ì(©QøA¨ÜÔmÖÛt¤txÈ<¼^„PsG³“®“©‚©¼|{w{&-ó錄÷†ïŲ5NÎ^ÞX¾;l7ƒÉ˜£?g’ú$:ƒò6äÄÓ¬ñs¡(Ÿèo¶¿©Š©fWeŸŽ=})ñRdn¤¼¼ûDwaáȼÈ)7NƜijÍOkÅáUS¹©¿Úüª!®QÑTq1áb^MÞþˆýÇgŠbÀ';ud’ú$-~.þˆœˆ[©·ŽFųÄcÑÇ’J“DùDW™­RS+k,»1«*kW访æü…Ä3ÆÓZÕzªÎTiiA„PcG£‚Âý9ªbªT.*­™œýoÆ¿sõçr~öÌÊLA™•ãV*+ä׿{?÷Τe²ÆÏa„'cN:h9LÖœL$ÿIùçYá³5wÖäV箿ÆHΨ¶µöô³Ó)e)OrŸLTŸøÉ­8¼jÏÏ ªfŒšÁMæ~šÿÔ?ÕÄ~ e U1ÕAü—à»ò娽RPPPPPî(@&’o,¾FUVZrcIrY2–%Þ{}¯½»ÝÅÀå ãA¬Â­)22§bOù§úï¼+d"æõ×ñᵿE~ Å ÑùÑaYaôN&“ÉMæ.k({×ôNZ@š“³ßϸßIït3uûÍö7¬Â4i¿>üõNúü,FH&’ý—ø++ „¬U­ÛºÚ¼b½ˆâÍ%7±û÷Õ'¾y÷&ý]z7£+ù´Vœ\51¯-¸†çÏŽÚŽöìf>üÃáñ Àˆ2KwÖÁ©ïû–Iê“ k KkZkÄøÄèLúíÔÛÜdnÿ%þx'6M{šýûðœðê–j|b‚†Ý™ÙgXk­jm(kxïõ½ 7Aít½‹Ñ…J*IbÍÖú>ûÝô»ü\ü?HQ¥B6j66ª6Ó.OÛs¡óhç?¦üýl¥jeæe–^‘~fö-¬P’*¹ìÖ²Wå¯XsÔ¶âðª'©OÂóçÉš“%©’^±^w^ßÙf½m ÿt€yͤÈÈȵk×:::Μ9sß¾}4 +¯ªªrpppvvnkkÃ+—””ØÛÛ/Y²¤»»»ïæ¸èèè7N›6ÍÅÅåàÁƒµµµXùŸþiccÃöŒ+lnnFmݺÕÇÇ!´aÛ͛7#„üýýmll^½z…·¢Óé~~~®®®“'O^°`Á… ÚÛÛñw/\¸`cc“›››™™¹~ýz‡üñÉ“'ýþfÚÚÚNœ8áää4sæÌ£G¶¶¶:tˆ5füÈééé6l˜2eʹsçú§ß g=rJJʪU«–-[ÛoÌŒLú2úøw„ž´B¨®µ{ù¶ò-BhÁÖ& "„XïÖkKh³%¨t&}Ëý-ëî®Ãæš&'$–$V6W"„X7îëûìYUY!—Ñ.¬Gf{Éa„ú2úXªù>`Im„Э)x:ŠÒ‘Òa0´&Ú'·âðªu$uð!$Â+b§a×ÍèέÎE€‘d¦îLÖ—ºÒº¡ú¶z„Pq]qkW«™¢k'&Ì+ì¨íÈd2±® ƒÍcg•ZžêpÑÁ3Æ3,+ìyÑóÄ’Ä”²ôߎ‚“³[©Xa *FULuŒüü%çNÓþÙòQøE)$н¦=^ˆõ~ïšÞ±Æ3ÐV^µóhçž/Y£ Ô =Ge0nnn×®]ÃK‚‚‚¼¼¼=zdll,!!1wîÜ•+W ^¾|!ÔÙÙéââ’œœE&“ûnŽ¢ÓéK—.õõõÅ+:t¨¶¶–D"effFGGwuu±†„b pjjjaa!Bˆ5E=棶´´888°æoþþþgΜ‰ˆˆ””DåççGGG?xðà·ß~kmmÅê\¿~ÝßßßÅå?_CY544X[[§¦¦â—vûöm555Ö˜±#ìÙ³§££!¤««Ûo<ý^8~äÛ·oïÙ³§³³+¼råÊéӧׯ_ÿ±˜±„x„X_bAñùŸÝ!a^a¶&{ ƒ?!ÄeÅÄ(‰(-1^¢$¢ÄGá#×^^ Ë c2™ž½½»!$È#ØGÀFÈÖ K2{-dÝWp ­8¼j¶+ÂÉ0`$`ë[¸H\!lFe¯úÿÇ›}ŠéÙCîÛÝAïpí2^i¼(Ÿ(…DiélY°’ó³·wµ#„X—#zß„çCÎ#âeïÖø¹øñ¥ŒÐÿ;g¶mWڊëfë!±ø±?€O3h9ê‘#G®]»¦ªªºfÍŽŽŽG]¼xqÑ¢EoÞ¼!‰+V¬xþüù•+WÌÍÍ—/_¾eË–„„OOOsssNšïß¿ß××—oíÚµcÇŽ%‘H/_¾<þ<ë·¨>?~ÜËËëòåË^^^ØšIÂÂì= Bhçα±±îîî:::………ÇŽKOO_½zõ;†ê¹»»OŸ>ÝÙÙ™J¥Þ¿ÿÒ¥K;vìè#GݱcGjjª‚‚¯¿þªªªš••uøða¶l³{÷nGGÇyóæÉÉÉ)((p'<<<.\ÈÃÃzñâÅ-[¶ØÛÛkii è8Œp’TI„PZEš’ȇu8Òߥ3™L)7ï [ÃÔŠT„ЙÙgt$?<_=ùôäÀÎÎ/‰Ê e°~ÃK—þ ~^uvUv½ _ !”^‘Žúò>Öù¼~÷šÁd FÒa}ö.†­‡¬o«/®/¶Ó°ÃÇñ"„â ãtv¬»È e°ÒtÖÎ#ü8¿êŒw¬ ù¾ï©Ð=ðé'Ge2™'Nœ––NJJy¿Ìãœ9sDDD:%¢gÏžMIIÙ°aCAAÁ_ý5oÞ¼M›6qÒÜÌÌÌËË‹B¡DEE™ššâÜÝÝÉdŽ.ÁÀÀ@EE!ddddiiÙkîîîË—/óððÄÆÆjjjb…óçÏ×ÖÖ¾wïF“’zßݸºº^ºt ûyÆŒ999ÑÑÑ•••س͞‡½v횀€ÀóçÏåääBS§N>}:ëòÂ8''§Û·o4NLŸ>OkgÏž-##³wïÞ¿ÿþûàÁƒ}7àë2Au‚o²ïѨ£ššZZ¡²†20ì­>bw¾“K“±l­›ÑýWÜ_¬kKrÂJÕÊ/ÅïPä!515ee„ÐÛÊ·'¢ÿ³fÒ'G88¼êê–ê?"þøÝîw.“Éü;éïÄ’DEaEEaÅ/0à“‰ò‰êJéfÐ2ŽFÝj½•L$3™Ìk/¯ÅÄJP%ئ?°Â6Ô4´7`4sªs<y ôì:’:ohoÎÆ]3~ ‘@ìftyr¤¤¾äó# œ_õÙ¸³ÆrÆú2ú¡²†²}áûBV*V_2Z¾1ƒ“£TUUIHH`Ï™L&öx³ªª !ôöí[,Gååå 0119pà€¶¶66A”“æ’’’µµµöööx‚Šd~ö9òóó›››ñ„!$&&æìì|þüù´´4{û÷3-ZÄÚÐØØ8::º¦¦¦×5??¿¥¥eîܹX‚ŠÑÐа°°ˆŒŒd«üÃ?|B<œX¶lÛ˽{÷¦¥¥q~¾ Õ&š)™ÅÅϼ2SYD™B¢äÕäuÑ»4Ä5ئ ±±Qµ9ûì¬Ç#ŸD>‘ÂÚÂÆŽFìÛÒ€În$g”R–âpÑAUL•ΠÖjIhÑši¬u>-¡ÀáU«‰©¤<È| ,¢\ÑTQÕ\…ÚfËð•qŸè¾ÔéÅ„‹·Ón+ +–7–c»R¹Û¸³yeC!Q&¨Mx’ûÄò¬¥¦„fSGSam!6×t@¶Zo]°âäÓ“×’®É É×7u4iIha3ù?'¡ÀùUK HϽ6WYT™‹Ä…õç:’:Ót¦õ¬ àÐଙ„-ÏSUUõøñãÇGFF>yòäÉ“'¯_¿Fáó6B …D"!„ùùù9lŽ­´$..> ¨ètzÿ•X`k‰ŠŠ²•c%¬+±ÕáââêãtXð=‡ãOŒYÉËËBãø,½Y}7Üï°ßTÁ´­«-µ<5¿&ßRÅÒËÉk g·Q³9>ý¸0¯pMkMZEƒÉ82í[Ö÷ɯz—Ý.; »üšü·•o»è]æÊæ—ç]f¨ÁyŽ*''G LMM>Üó] ì‡ÎÎNggçÆÆÆ9sæÜ¹sgÿþý»víâ¤9///@HLLìêê¢PzùÌc XUUk‹¥¸8lrEóWeddB/_¾d0Dâ‡ìýÅ‹!YYÙ>~}À¦¤¤°2 | ¥žAr'ŽINNf䜔”„b}´ ÀÈG!Qüù‰ðŠô,åûp7‡Ÿ‹ÿÐÔC»ìvå×ä3CIX‰uŽ^‚Yl¼xŽþœ‚Ú"¨‹«SH”âúâIê“°•r9<»0¯ðEç‹´fZyC¹”€”¬ lGw‡ß"?Ö©›Ÿ¡±œ±ß"?eQeÖÂ¥¦Kµ±#Z«~¯g§ag½Þ:§:‡ÁdhJhbK¡Fކ &¨N`莲~œmÔllÔlŠêŠª[ª…y…UEUY¿{ôz„UêÆâ´f𬠬$U’Π³ö~ž}¦îÌ©:S³ª²˜L¦º¸:™GOZo®þ\Öµ”>!ÂýûÙ–pàð[ä‡ïUói­ú½j •›úל¿X»}ø<ƒ“£Š‰‰Y[[ÇÆÆfgg/]º{®ˆ*((¸pá‚……öróæÍ/^¼8}úôš5klmm÷ìÙ3~üx;;»~›S(++«§OŸ._¾üäÉ“Ø3ÀæææS§NíØ±ƒH$ª©©!„<==Ï;G$»»»÷íÛÇ–ªQ©T„P^^ž•Uï3$$$Œ“““·oßþçŸR(&“yúôéððpiiiƒOûåHHH$''3Bl0¶³ô^¿­0}\5+Önð™mÔÓ§Oóóó¯ZµJ\\ÜÐÐÐÌÌLZZZUUõСCØÐS??¿sçÎÍŸ?ýúõ$éæÍ›RRR‹-*--夹§§'ßµk×äääôôô ÄÄÄ~ÿýwƒZ¸p!//ï… Æ'--}äȶ¬ÒÈÈ!´jÕª±cÇâû£²9rä‘HóD`$`0/J^ˆðŠhJhö_|øì|ÔÕÕ¼¼hS§öÕ‹‚¯EI}Iyc¹¾Œ>…o¸cùöÁgçk‡MQäÐàÌGe%$$4f̶BMMMÖ Tp=G¥öÚœ•””ÔÇöåááaÝœFGGGG‡}+-IIIÖbz™w¡®®®®®Þ³\UUUUU•“B6'Ož\¾|¹±±1B¨±±qݺu4mÕªUäcñ`8¹pŒœœ¬“à\ßÓwà{Ö÷ô]À'üôj×®]Û·oÇžýæää´¶¶R©Tww÷ᎠFA› ú¶mÛ6^^Þ7oÞ¤¦¦¶¶¶Ž=:""BEEe¸ã€ž£~!{öìùý÷ß «ªªdee•”zYN}ˆ¬\¹ÒÁÁ¡¡Â0B@ŽúåÉä¾§•N¦ËÀHc}Œ£) G0R@Ž _ŸÒ†RõCê{íù®N øn]J¸¤~H=¡8a¸| £€¯ÉÙ¸³ê‡Ô“J“†;Àðº¾ñññ...C Q._¾<ÜQ€ÁôêÕ+KKËᎰåã–/·|¸£|!ËQÇ?Dq€E^^^DD„J¥w `0YZZÂGŒpËQþùç!ŠúÕÑÝ¡{L×NÃn—Ý®ÃOÇÅÕ·Õ§mMs¹æÒØÑ³6«VÖPf}Î!º _a]¡_²ß³ÂgÅuÅ$"ISBs¡áÂ9úsØïÀã11ôN#9£wèHéàÇg0—/ß|u³¬±LZ@z‘Ñ"GmGH,I¼”p)¹,¹¹£YZ@zŠÖ” ¨Üïï@õ'§ŒG£ŽzÇ{- J-O½öòZAmÁc~0–3^wwÝAǃ.ïÁ¹?tLtÔv<=ë4VòoÆ¿[ƒ¶z:yN×™>èQ…e… (€^¯bǤ—.zrÈo‘ß8Åq?Üü!®0!´Àwv„± cÿYüB¨¥³åbÂÅ·!¥ ¥d"Y_FµÙjKCÀWfÀc}`x5´7Ì»>ÖLÃ^2 K•ÿµw§qM]ùÀÏM!a !([@ ˆbAÅ¢"—Š[Ý­µZ«ÓåƒÚ±uÔjmí¨Cu¬±:¢XÔÒŽŽØŠ:¾û‘ÕIDATU[Ë€ ‹@E¤Ê’°Ën0H$÷ÿâ:)pAàù¾Ê=œÜû»(ç“çæÜs¥Q©Qù5ù‘„"WÊ !,Š%SȘŒZ¢*)¬+\úâÒGíÓð‰ç1bCc™ýw¼0BÈò˜å5†>¥¥•êÊ•cVë5õ¯}÷ZñÝbf3I™´ôØÒ¸åqBžiÙúß­ÑÑÌëâ»ÅŸ_ü<ûNvG ˆÎˆÞòß-4M3-%ª’¨Ô¨$eÒKàqx)¯ƒ‡q(åЙ›g˜×zZäÄf±e ™!"ÊrÅJ.LÖÓzÅbZ(Š ôЦ—¤¢à£Ìð™±wÎÞ‡þ¨s´9‹ž»J£ZôÝ¢Üê\f³‰4¥¦\)º²kæ®9/ÌéàNÀ £@“Vœæïâ1?bpÿÁf„`à¨Ô(™BÆdHYL"’Xs­å ù[#ßbZ!Ý})½}a„/‘WèèÐq€X Ö´h~«ümKì–È”ÈÐÀP6Åfú¤§ŽrµwÎÞö+Ô[b·$)“~ÌþñÍ€7 !7ÊoDgD[q­6‡lžä5©EßòË­_>»ðÙ (¾[fõùhâG$ý}ìøvÝQ5׺´?‹Ö¾]ômDRÄž„=ÇÞ8 0´ï¼¸3·:wê ©+WzÙ{5µ4É•ò­±[?ûtŠ÷æÂôȨÐÃð9üƒ¯lýi&À5€kÆ•+äo¼©§õ)E)s_˜kŵŠJjÖ5sعRΦأ]G?jŸß.ú¶; #„„M û2ùËÈäÈòúr­Nkh/U•ºÙº1¯…<ᡇ˜ù·îB÷Í!›§5ý·ÊߘŸÆÞŠ%„l˜°á¿W˜–7F¼¡Ò¨ö$ìy|ÿÉúO‹¾eû´í†Ù¹^ö^ÿ˜ýô’ô¸ÛqLF}|y?4˜ˆ·G¾ýöÈ·[·H=¤¥Yw²†: e¾Ãü“ôO?fý(Wʇ9»Uu«R]9×wî£v Èû(ïYJêDíÏ≴:í™ì3íŸ¢(BÛé3S¥QmÝšVœ6Îsܳœzyjq*óý¤Ô]º;a÷ýæû²s™ïQ;|ÆûQ;W@û³x"fÄ£iZG?dÐkÖ5?íÀˆQ 7ö þÛ¥¿Éò«¥W_¿ÈÜwè(+qÙ\Òý7£>TQ]!äƒñ­V§M)Lyª  „Ȳ%þK Š„'¾‘9è‘EGõÄËëô¡Àt°)v [à¥üK— .7672ƒ!3f&$¤§1·Kô¬˜Å–Z_ƒ Äæls?'¿ïßø¾kë€çzƒÁý‹ø¢¸Ü¸¢º¢µãÖ2RiX\X“®‰Y´ã1oï’ûQÛs¶q&„¾rxMð[žmnUîÙE­â©v2uÐÔƒ)ÿ~éïf“¼&éhݹßÎH:ðÄ7Îó›™¹îôºõã×K=¤ö–ö*JY§ü)ç'+‡•cV>±¼NLJ°gp|nüî„Ý–æ–#Ä#ÈÿÆÌpy¸¦Eóøi&Ï~?ê3ðP !„™?Ì\”äqx3‡Ì<™yríéµøƒ§'׌[¢*¹Vv-:#úè’£ælóg< xnQ 7 (j¬ÇØÓÙ§I«û'¥Rš¦óªó&{Of³ØÏ¿ªYCfE$EÄ܈‰¹ôXq­&{OŽ»×ñ uºØqtFôÆŸ6gúÌ<›söñotºo›¶msìæÏ}ÜæG+Wt¤¼NL 3™âvÕíI^“˜Å[™Ýz3j70Úm4EQ‘É‘‘É‘äÏGýdÒ'99gnž1<·ÆÀð.èXÆ. k0WâE|‘O¦Å]è.ˆ‰‘&úBœlœ¾[ü]à€@+®•…ÍD¯‰Ç—7,çÛqaSÂ>šø‘»ÐÃæˆâõãׯŸ°¾#o\8láñ¥ÇgúÌìoÕߌeÖߪÿ(×QaSÂÞónËëô¡ÀtÃ`Ïß—@3Œ™ƒûîqHD’ϦæeïÅas  A̲˜7ú:úò9|‡çeïõÚ°×N,;Ñ­“™ ËQ¸°O¥¢¢B­V?¦ÃÏ?[­^í——ÿÜJèð·ÓxyIÂÃ+^~ùq£(´‡¿žN"yÜ“mà{T0Ȩ`*QÀT £€©@FSŒ ¦L2*˜ dT0Ȩ`*QÀT £@Ϧ£uáòð³9g]Èõšúpyø¥üKÆ.€$*ÃåáUê*cò@Üí¸pyxcs£± “†Œ =É>ù¾SY§Z·´èZÂåágošLFmBF#H+N —‡—Õ—µnLR&…ËëïW«ª6ârãÂåáš± “†Œ =Éþ¤ým2*BR‹SÛgT€žL…™± è²ú²˜1zZ_TW.gçûÍïgÙÏÐ'¿&_®kuZÿq€¡]Gë"#ŽÖŽÑK¢-Í-™Íi_MãqxÑK¢}}™š¦ßûÏ{±·bókò%"‰¯£oüòø;÷îäTæÔkêÅñ”Sþñïóy癌u%ŠE±Ž¼v$p@ ³‡Ø[±«N­êî_ôȨÐ é?ÄP !$!•êÊÖ}<ì< •’¨L$„ð9üÈ”Hf†0MÓ4¡m,l2Ë3™>×Ê®½õý[-ú–6‡«i¨ò„WK®BÞ—¾ÏTBÃ[´*4&´«Ï óV®`*!„Ãæ *¨)¨TW¶Î¨¡£C µR]™Wçfëv¹àòå‚Ë4M3ƒ$E(BHÖ,‰H¦Ø+N¬¸]u»Í±ªª !¥ªÒ u…ÔCj¨„©ƒ¦ú9ùX€GAF€ÞÀÉÆ©õ&ŸÃ'„´É–îvî­7™o;¿¿þý£ö™R˜òÅå/ÌÙæ!CðÍù¡d YFi†žÖBT!D,·~—«­ë3ž @×j3B2Y´í)t7¼f†Ç¢»E{ö´ßÛ½¦{„úðvÕm‰H °ãÛqØ­N™üà’_}S=i7<2-ȨðDȨÐW´YWÀB–ø/YŠÚôd¾p¸˜‘²Þþ—¼^2ü(§2ç÷=X!%ª’þVý Åw‹»¾t€nfÆþý3!3¸yÙ{½<øåö=ýý´ iÅi܆ý°ìÃКS‘™ɼ¶áÚB˜˜ZkßÐ2*ô$æló»w»dWcÜÆ¿~\GëÞû‹úýaÑUêªò{儊¢!­çÂ¥¦\Ƚ`Ø!q"óÄ>ù¾Ö÷£Ö xž¸l.ùßüŽgädãä.t¯RWM4Í»Ÿ·¡¦i¹RîëèÛ¤k¢(Ê‚ca¨Zv·l·¡§‹ÀÅÁÊ!I™t¥èÊh·ÑLcì­X|‰ Œ =‰»ûÍŠ›œùÀÕÖ•E±Ú<õ©Ì2ƒYvR¦¹‰ø¢zM½²N™Z”úΨw†: õwö'„¬ˆY1mÐ4!_˜[{9ÿ²ߎ¹ÛŠ2Ógæ^Ù^™BörÔËR©žÖ_Ê¿ÔØÜØeg Ða„!;ÎïH/Nçqxmžú´6NÜøÇSœýÍì1ÆHD®·DUr½ìz‰ª${}6ŸÃ÷¶÷¾RteῸÜkº—PÀ¬`gðÎèwvœß±ìØ2ú¾ó/Úñí°ª<2*t1Š"„š~ð¢k½ðÖÆŸ7þ˜ý#³Ùúù¨O‹M±£Fmüiã…¼ ǯ7´;X90šŸ:hê¬!³ÎÜ_OÑhX<ž¾Ëw>ßoþ Ž/\)º¢jTÑ„v¸˜±ÍVKW{Š<[wc½ì½Zo¶éCò„‡ʯÉO/I¯½_kÇ·sºˆ ¢Ù3{Ïëþ¯gÝÉ¢(êE—ýœüä ¹×Êp «Ÿ“_üòøó¹çËêˬB†Ð4½ZºšI¹O¥¡eiÙõ5`Rø|ýýûÝòA›kÆ=õ‡S—ò/ÖjuZæù¨AîA\3®=ß¾uO¦Ñ0Ž=´!dÖY“½'')“µ =­ ÄÇ–_á2"nyÜåüËwîÝq¶q~Éë%®·õÀË¢XÛ§m_ì¿øJÑš¦_¿8ÜyxÜí8±@lXd ƒX„++Œ}Å,¿ÐAjµú1rr¸³f‰cc‹$’æçV@/.ÞrêT }>A@×›7ïž^O=jcìBzš&QQ¶&48:¶»è^ŽŽ-&4DEÙb=€:zÔF¯§æÎ½gìBàùAF€®'èCCïîß/¬¬d»€àäIë¬,îš5xndŸ°~}mV–ù©SÖÆ. ¨®f8 ½+`Qß>ºEhh@ ß½[dìBLZÍúâ Ñ¢E*¬WÙG ¨]´¨~×.‘ZaO°k—ÈÚZŠ¥°û ŽÐ-x<ú“OªOœ°>yß<’^OÖ­ë¯×“µkñ ¬Y»¶ÎðOrò¤õ‰ÖŸ|RÍãar|ß‚Œ ÝeêÔ†+ê6mê—’Â3v-&jçNQb"ÿË/ïØÚêŒ] _@Ÿ–žn±j•cV–ÅÁƒw¦OǶ>Í×·iÄMd¤ðÜ9Koo­³3>}Zu5ûÓOû…‡Û…†Þݶ­ŠÃ1vAÐuììì:Þ—& ÛQY¿¾6"âNR/$ÄíðaÛ† >Ð)•œuë/v‰t'O–5»"0¾  Æ“'KD"ÝâÅ.ëÖ9(•øT}QCëðaÛ·¤$^DÄõëk)Ì-èÃ(÷@ÀÓ¨¨¨P«;95±±‘:|Xxø°-‹E‡„4Œwß×WëèØbi‰¥-¡wÒë‰JÅV*9×®YÄÇóSSynnÍ›6ÕLš„¯O¡­óç-wìqFj ¹ïï¯0 Y Ða®#ôVj5ëγìló„~|¼¥^O…†Þ ­Ã*¾½’D"éxgdTx:Ï’Q*ëÔ)ë¸8Ëôt —I¡O°µÕK¥÷gϾ7~ü}6ÛØÕ€©ÒéÈåË–§O[Éd|• Ùú6›ÐL™Ò0wî=׬{-dTèFÏžQ ´Z*/ϼºš©¿Ð[Qmc£wum‹›1o :ަIi)§¨È¬¾žEÓø¯½“¥¥ÞÞ^çå¥57GéýQ uaF€¾à©2*¾»SŒ ¦L2*˜ dT0Ȩ`*QÀT £€©@FSAÑ4mìÁ÷¨`:QÀT £€©@FSŒ ¦L2*˜ dT0Ȩ`*QÀT £€©@FSŒ ¦LÅÿý„˜|®]`IEND®B`‚fio-3.39/examples/fsx.fio000066400000000000000000000003031476262051600153470ustar00rootroot00000000000000; This job file works pretty works similarly to running fsx-linux ; with -r 4096 -w 4096 -Z -N 500000 [file] ioengine=libaio iodepth=1 rw=randrw size=256k bs=4k norandommap direct=1 loops=500000 fio-3.39/examples/fsx.png000066400000000000000000001106761476262051600153750ustar00rootroot00000000000000‰PNG  IHDRß5?=Œ½bKGDÿÿÿ ½§“ IDATxœìÝw\UõÿÀñ×-‚±\i"jŽäȽGJêÏ,³áª,G™š–bBML3SsüºÍnÅ…Z)‚8@•)óþþ¸pã2”}ÞÏǃ‡÷žsîç¼?÷¾Á7>çsJ¥R‰B!„¢¤m©¤í„B!„¨(¤øB!„¢”Hñ-„B!D)‘â[!„BˆR"Å·B!„¥DŠo!„B!J‰ßB!„B”)¾…B!„(%R| !„BQJtµ€B¼l®_¿ÎÊ•+ùçŸHLLD©TÒºukfÏž­Õ¸BBBX¾|9×®]#>>¥RIË–-±°°`Ïž=4iÒ„ h5N!„¨È¤øBˆ¸~ý:Mš4!!!Ac{ÕªUµ‘JXXîîî}:¶¶¶<~ü˜sçαfÍ>øàêÖ­«žóÉÒÒ’5jhl«S§:::%oÖµÊMMM5öS©R¥\BQxR| !D1Q(̘1ƒû÷ï¡C‡X²d NNN„‡‡ãëë«ñšÏ>ûŒ .hl[¶l7nÌÑþûᅦ‡üüóÏEŽ×ÑÑQýøæÍ›ûnݺEzzz®Ç !„(<)¾…¢˜üòË/lÞ¼™gÏžáääD‡øä“OhÓ¦ú˜¨¯_¿ž¥K—ª•MæÍ›§Þ7jÔ(®_¿®ÑþùóçñóóÃÏÏ[·n9ÞAƒ©8p€“'O––ÆÌ™3ÕûÌÌÌrLCBQ8rÁ¥B“Ó§OóË/¿ §§‡¶¶¶DDD¬>¦k×®üóÏ?ê%V¬XÁ€ âçŸ&..ŽþýûsîÜ9ŒK$Þ1cÆðÇpòäIÒÒÒðððàÕW_%22’û÷ïªÑüŸ~ú 33³‰A!*ùBˆb2jÔ(FŒ‰‰ ·oßæôéÓêÂÛÁÁŸ~ú‰ª ëøøxF­^óûǤaÆ€ª@=zt‰Åk``À¡C‡˜:u*ÕªU#55•€€îß¿B¡ eË–>|OOÏ‹A!*¹ÉŽB!„¥Cn²#„B!Di‘â[!„BˆR"Å·B!„¥DŠo!„B!J‰ßB!„B”)¾…B!„(%R| !„BQJ¤øB!„¢”Hñ-„B!D)‘â[!„BˆR"Å·B!„¥DŠo!„B!J‰ßB!„B”)¾…B!„(%R| !„BQJ¤øB!„¢”Hñ-„B!D)‘â[!„BˆR"Å·B!„¥DŠo!„B!J‰ßB!„B”]m „"§ððpâââ´†Bˆl¬­­111)ôëeä[!„BˆR"Å·B!„¥DŠo!„B!J‰ßB!„B”)¾…B!„(%R| !„BQJ¤øB!„¢”Hñ-„B!D)‘â[!„BˆR"w¸Bˆ *9YÁÍ›•‰ŠÒ!>^ÆbDù¡P(©R%‡TìíSP(´‘ÿ‘â[!*§O+±c‡)sá‚iiR•ˆòÍÌ,6mèÕ+ŽvíâÑÑÑvD¢¢“â[!*€ÄD+V˜³bEU*URÒ©S<ƒGðê«IØØ¤alœ®í…(6ééðô©wîèqé’‡1z´ 5j¤0uj:Äk;DQ)”J¥RÛA!„ÐN\\\±´uð 1³g¿BLL%>ùä1žž1Rl‹ çÎ=~üÑ‚]»LxãfÎ|„£cжÃ/!kkkLLL ûò-2ÉO!Ê)¥æÏ·à“OlhÕ*‘C‡î2jÔ)¼E…äè˜ÂÂ…álØFT”ýúÙsꔡ¶ÃßBQ={¦`ìX~ù¥*^^ÌÁ+¯¤i;,!´®iÓglÝFÛ¶ Œi˦MU´’¨`dηB”3éé0q¢5gβfÍ}š5{¦í„(Sôõ•,\NÍš|ýµ%FFéôìY<Ó¼„x)¾…¢œY¸Ð‚C‡ŒX½úÞBäA¡€q㢉‹S0y²öö©4n,ß/¢äÉ´!„(G0fùrs¾ÿ>’-µŽeÞäÉQ¼ñF}dÓ'²¡(yR| !D9‘˜¨à»ï^¡ÿXúõ‹Õv8B¼*U‚… #¨T -2×v8¢â[!ʉŸ6çéÓJ|öY”¶Câ¥bb’ÎĉQlÜhÆ¿ÿVÖv8¢œ“â[!ʧO+±reUÆŒyŒ••¬jRöïßOÿþýiذ!...¸¸¸0jÔ(¦L™¢~>|øpõñÁÁÁêí...j1z‘]ß¾±4h„··…¶CåœßBQìØaJ¥JJ<=c´J…pùòeÆG@@‰‰2·¾ûì3m‡¨îbÙ©S¼Ü@§”ìܹ“ôtÕ{íêêÊÆ133`Ê”)Ú MA§Nñ¤sø°1ï¼óTÛáˆrªH#ß§OŸæÌ™3Å‹B¼4Μ9Sf’’\¼h@Û¶ ڥ U?~õÕWÕ…7Àœ9s "((ˆ5kÖh#ú''§çΫ.ÈyîÞ½ËðáÃÕÏýõWtttðññáŸþÁÖÖ–ž={Ò§OŸ±;vŒß~ûM#6;;»¢¾MBˆ nâĉ´k׎õë×séÒ%"""ÐÓÓÃÆÆ''':vìH‡´¦¢Hñ-JÌîÝ»>|8?ÖØ¾k×.¼¼¼øòË/s¬[ëååÅäÉ“5¶ýúë¯üôÓOyΫ.èy4Ú:rä'NÔhsÕªULŸ>3f¨·Í;—)S¦ä›¢bùõ×_óÜ7gΜ\çmתU‹   <_׬Y3š5kV,ñ !Ê.Yç[”ˆ€€ú÷ï¯.ˆ‡Êÿþ÷?–-[Æ+¯¼À¼yóX²d‰ú5§NÒ(n»víÊöíÛùþûï™8qb±'»qãÆ1fÌvìØ¡1²4gÎuA~êÔ)¦NªÞ׫W/vìØ¡.î…B!òCF¾E‰ðòòRß âÍ7ßdíÚµê}úúúŒ9€ï¾ûŽO>ù…BÁ²eËPfÜÙÀÞÞž;w¢§§@¥J•øì³ÏŠå<Ù}ôÑGÌš5 €úõëS§N’““¹qãÍ›7׈ÍÑÑ‘íÛ·£££ºý°®®.cÇŽ-ì[%„Bˆ DŠoQ"NŸ>­~¬±FxLLŒúñÇ ÆÅÅ…‹/ª··oß^]xƒê‚¤â:OvÝ»wW?¶²²ÒØ÷èÑ#Ø<<<Ô…7 ó0…B‘oR|‹‘õFwïÞåîÝ»y ¨îÞ–ÉÔÔTã˜ìÏ‹ržì,--Õuu5¿%2G»³Æfbb’¯Ø„B!²“â[”'''õM#úõë÷ÜiuëÖÀÁÁõ¿™nÞ¼Ylç) {{{uLÁÁÁûžw•B!DVrÁ¥(ƒ R?öóóÃÌÌ õWÓ¦Myøð!çÏŸ§J•*ôèÑCýšƒâïïÀ³gÏøþûï‹í<…‘ujÊŸþÉ©S§HJJbîܹ…nW!„‹ߢP¶nݪQäf~e®Ÿ=fÌÚµk@TTîîîÔ«W-Zààà@ÕªU2d‡R·ùñÇS»vmRSSyã7hܸ15jÔИö‘UaÎSü1µjÕ --víÚ©c‹-RÛB!„¨8¤ø…†ŸŸ_ޝsçΪ•F<È·ß~KõêÕ¸~ý:gÏž%44SSS†Ê_|¡nÓØØ˜Ã‡Ó¾}{RRRàÍ7ßdéÒ¥ç722*ôy ÃÔÔ”#Gލ/èLMM% Ö­[W¤¶…BQqÈœo‘oG}á1™E1@åÊ•™6mÓ¦MãÎ;Ü¿}}}ììì°²²ÊuÙ?{{{>ÌÝ»w ÃÑÑ‘êÕ«³uëVõ1 …ggçBŸ§F}©Y³¦ú±¡¡¡Æ¾† æx]öØRRR4^“õΛB!„YIñ-ò-ë2~åè舣£ã ûõ×_©Y³&Ô¨Q€ÀÀ@¾úê+õ1;vTß@§0ç122ʳ/:::/ìg5Ô±èééé½B!DÅ!Å·(Süüü9r$U«V¥V­ZÄÆÆrëÖ-RSSÕ:ÜÙ§ !„B¼,dη(SÞÿ}ºvíJLL .\ 00ÔÔTLMM9r$—/_ÆÕÕUÛa !2,[ȶmw´F±(O}ÉMný˾--M‰Ïuvï-µ„¨h¤øeJëÖ­Ù»w/111\¹r…S§NqãÆ žþ¸.VVúÚ£X”§¾äWi÷¹"¾ÇBd'Å·BˆBûè£ÚÚ¡Ø”§¾äWi÷¹"¾ÇBd'Å·BˆB[¶,++}ú÷×\e(-MÉ©S‘Æ––N­ZUhÝÚ}}\Û¹ví —.E—еµíÚYS­š¾F{K—ÞÀÙÙ„=ì Žåĉ’“ÓiÜØ‚¦M«åÚn||*‡?àþýDll éÔÉ–´4%«WóÚkUñð°É³/…=g~úSVäõùeú÷ß§œ9Iz:4mZFÌs=.::‰sçq÷n<ºº•¨]» -[Z¢££¹Ôkqå‹/3)¾…BÚO?]§aCsb*((–>:CHHœÆ±ÖÖ,^Üww õ¶G’øôSNŸŽÔ8ÖÐP—éÓ_cÀU»™s‘;v´%,,ùóÿF©üïøAƒùþ{w6®^}Ìœ!2ò™z›••³g7ÆÇç_†uÖ(¾³÷¥0çÌožgÇŽ»Ü»—ðÂã2 挹yå|ŸUnŸ_¦ùóÿÆ×7Pc[ïÞÌ›×D£¨ž5ë 6„œœ®q¬““ +V´¤fM“瞯 ù"Dy Å·Bˆb“˜˜Ê{ï",,êÕh×Î=½Jœ<App,£Ffß¾XY–¦dÔ¨Ó\½ú{{cÚ´±Â̬2wîÄqèЦN½„‹KÜÜþm½|9š#GÒ® ®®¦„‡?cïÞP6o¾C´je ¨F¼GVÞ5kšÐºµiiJŽ gÊ”‹êS~ÏY˜þäfÇŽ»œ:ùÜc²êÞÝ®ÐÅw^.^ŒæÐ¡´kg«k_AÎY˜þä¦4ç|çÅÞ>çûªÏ &&€3g"Y°ào*W®DÇŽ68:cd¤‹B¡àøñp.]Š&==÷¢ –/B”E*¾oÞ¼Ihh(ÞÞÞÅB¼4µB™cf¦*ïÞÃÁA³€»w/¥ªV­¬qì;ïÔ¤ZµÜçôî^p™m‡…%ä˜/_¨6ó{΢ö§,Ìù ͽø¿wOõÞU©¢ÀÑ£X²äuÚ·×üëÀ¿ÿ>yáy ’/B”E*¾[´hÀ–-[Š%! K¡P0aÂ-Z¤íPD1pà@m‡P&¹»WcëÖ;,^|ww Uÿͤ¥)Y¸ðš4Q-Ñײå+lÙr›´4%cÆÔ¡R%Íeé"#ŸñàAá~ÁiÜØ‚mÛî°té |}[ ««j;))-Ç Å¥¸úSæ|ß¾Çöíw³Íù~ÌŸ> J=\]«ªŸ½&&z¯?s&’#G¾ð<É!Ê ™ó-„¢ØôìiÇÒ¥×9>Š.]k¬^‹™Ye<=kн»=«W³qãmŽ U++ªU«LLL ·oÇqîÜ#Þ{Ï•×^{þê ¹ÇaÏ?þË_=¤[·Ã«¤sìX8 i(/h¤€Š«?eaη……>_~y={B©]» ÷ï«V;IKSòî».ê‹-7V-8zôºt©Ž¹¹>7oÆà玅Ee=zþ…­É!Ê )¾…BCC]~ù¥•zÝæõëCÔû¬¬ X¼øuõ4¿üÒŠI“.päÈC¶l¹­Ñ–µµA¡ occ]|}[ðÁ§¹u+–[·b°´4`êÔ†|þùyŒŒŠ÷¿À’ìOisw· V-S–/ÄÏ/\½½wo>þ¸ŽúyçÎÕéÙÓž]»BÙ²åŽzûÀN˜šê²jUÐsÏS|¢¼â[!D¡}üq]¬¬4§=¸¸˜²GNžŒÈ¸c¡ggSÚ¶µÊqÇBsóÊüüsK‚ƒc9>Šèèd,,*ãädBÓ¦ÕÔ#¬ºº•7®ÎÎ9/ÌËÜçâ¢yÁu£Fæ>ü‡?àÁÕ.;v´åÈ‘@Î )³÷¥0çÌo´!·Ïêy}îÑÞnÝì8w.Šôt%MšTËuòE‹šáéé̵kOP( I 64çĉLLô4îìYÔ|¢ …‚¿þú«P¯Ÿ!„ÖÈÈ·Bˆr«J=:w®®í0„BMF¾Ë˜‰'¢T*ñððÐv(BänâDP*ArT!„(0)¾…B!„(%¦øÎ:ú·ß~£AƒàèèÈÌ™3IOO×8~èС( =z”£­Ì}Ož<ɵýeË–Q·n] yíµ×صkñññŒ?žêÕ«c``@›6mÐh;¯9ß÷îÝcÔ¨Q888P¹relllðôôäúõëyöyéÒ¥Ô©Sœ™={6©©©Ç>>Ü¿Ÿ˜˜Ö­[‡®®.K–,)–‘Þ;v°|ùr"""ˆŠŠbÊ”)¤¦¦Ò½{wÂÃÃ9xð 111ܺu‹:pÿþ}6lØðÜ6ÇODDmÛ¶åüùóÄÇÇó÷ßÓ¯_?bcc5jTŽ×lÛ¶ pÿþ}¢££Y¿~=¬[·ŽÃ‡pÿþ}üýý©W¯gÏž%>>ž¨¨(üüü0`•*U¸ô(¼-`Á8w>ýT5z;x°jT|ÃÕHr~­_>>pÿ>ÄÄÀºuªÂ}É’âéݱ–/WÊQQ0eŠ©( IDAT*ÞîÝUEíÁƒªóÞº:¨âxAŽ2~¼ª½¶máüyÕúß«ŠúØXÕˆxvÛ¶©Þ³û÷!:ZÕo U3r”û÷U…w½zpö¬ªÝ¨(ðóƒ@rT!ÄK¦Â|óÍ7Œ;VýüwÞá?þ`ëÖ­Ü»w5j©ýéÓ§óÁ¨ŸÏž=›•+WÉ¡C‡pwwÀÔÔ”¹sçÒ¬Y3þùçŸ<Û‹gß¾}XYY±k×.ªT©@ýúõÙ´innn\¾|™ÀÀ@j×®­~Ý„ øì³ÏÔχ BZZÆ cëÖ­tèÐjÕªahhHóæÍyýõ×022¢mÛ¶´mÛ¶HïC…4v,œ> ?ý×®©F’çÌ7ß,X;ß|£j+Ó;ïÀÀÖ­ª©EÌQ¦O‡,9ÊìÙ°r¥ê…C‡ #G15…¹s¡Y3xNŽûö••júJFŽR¿>lÚnnª©.ª©#™&L€,9Ê!–Æ©úÚ¡T«¦šÓ¼9dä(FFª"_rT!ÄK¨Â å¶Šˆ³³3±±±En?{ÑZ©R%066VÞ™Õ’¼Ü¾}›ÔÔTÚ´i£.¼3éêêÒ¹sg‚‚‚4öenϪK—.Çêëë³råJ¶oßNÓ¦M™8q"kÖ¬áÎ;ùéªÈÍŠª9ÚÇŽ©¦KLšTð6r[E$#G)†ÍQ´Vª¤š§mlü_á)#GyNŽrû¶jä¼M›ÿ ïLºº™‹Ùr”\r”ŒU«¯¯úÅ`ûvÕ´•‰aÍBñ’ªpÅ·¡¡aŽm …@cÚI攋ìb$&&æÙ~ns· EžÛó:G^ÇEfYÛòôô$44”iÓ¦ahhÈæÍ›©_¿>=zô &&¦Èç¬püý!4TõøæÍÂ˹ä(™ŸYÖi'™S.rËŸçäh®s·м·çu޼Ž-ŠÌ6²¶åé©zO§MS½7›7«FÕ{ôPMZ“’–‚çïž,<¶PÛ¡»Ka—ðüÝÏß=¹vIc_yî·¢äU¸â;¿¬¬¬Õ…ŠY%$$pöìÙR‹ÃÉÉ ]]]Ž?ž£NKKãàÁƒ¸¸¸hì;pà@޶öíÛ@­Zµ4¶›ššÒ»wofÍšÅîÝ»9sæ {öìaöìÙÅÙ•òïÁÕ|ÈãÇÙ°aãÇ`À€øûûÓ½{w¶oßNHHÉÉÉ<|ø;vpëÖ­RëçK/5Uµ²É£Gª<&L€1cTÓ%,(™sfä(Ÿ®ZÎ/1.]R]äXŠ9б1tíªššÒ§\¼¨úàßUó¸¯]SÍûΖ£x{ÃÂ…ðð!<~¬º¨3#GÉÈQüýU‚nß®ú%#9Yu|FŽ"9*JÀò3Ë §k®ÚEQU¸ .ókÈ!L›6“'OR¯^=õv;;;Þzë-õˆsiðööæìÙ³=z”&Mšhì311aÅŠ9^Ó¯_?>ÿüs>ÿüsíï¼ó:tT#ç{÷îeïÞ½9^¯P(ðôô,Æ^”s“'«F~½¼ ];Õ¶… U+Lž¬º`°uëâ=ç!ª©'OªVÉdgo½õ߈siðöV¶= ÙrÕ\øìúõSýâ-GyçÕÅ– 9ß»Wõ•B¡š’"D1ºýø6?ú‰é¦Ëȶ¢DÈÈw 8pà;wÆÈȈ*UªÐ·o_N:…¥¥e‰Ÿ?ë¼lgggΟ?Ï{gºººXYY1xð`üýýs¬ñ ª›þüøã¸ººR¹rej֬ɬY³X½zµú˜×_½{÷2pà@jÖ¬‰¾¾>vvvôêÕ‹C‡ѯ_¿ïg¹°c‡jt»W/Õ:Ù™ôôTë››«FÅŸwÑba¨¦ntî¬Z¤JèÛNRM})iYçe;;«~Ñxï=Uñ¯««š3x°jô:—eòdøñGpuU­‹^³¦jZI–åõ×U…÷Àªýúúªö{õR­Ì"9Zf$§%³úüj>Üö!lý€åg–“’㸈¸–žZÊøãyoó{L?8?ÿ,37õúzÿ׸Uwcàk üZ¥RÉ’“Kðüݓ͛K :!Dy Pá'ÞÀªN[¶l)¶€*ºo¾ù†Y³fqæÌš7o®íp^ …‚ &°hÑ"m‡Rþ}óªH>sF5¢_A•ôÏ¿ððpâââòuìÞ½&ŒgMPPp‰Ä’—¤Ô$^ÿ*í]ÚŸÏÙ»š×ÔªV‹C7bnh@`d ƒÖ ".)g¿5Ä÷]¿á9¿?ü=×^ËwŒó{Χz•ü­³¿%` 3þœÁž÷öàdîÄìC³Y}~5?ø™ö.íÕÇeö»£kG|ûûª·}¹çKö^ßËØ7Æ2®õ¸|Ç(Êm}?‰—‡µµ5&&&…}ù™vR†„……©oEïää¤Ý`„ÈMXØ·¢—ŽÝ:†‰¾ _z|‰ë+®<ˆ}Àг+Ž fö¡Ù,詺îaãåÄ%ÅáQ˃> úPÕ *¡OC9r‚ؤü­ t=ò:çîËwl‰)ÏYù'‹è„h¼þòb\ëq8™;å»}€Gñ½u4×#¯³¨×"zÔëQ × !*)¾Ëˆ?üåË—ЦM¬­­µ‘Ù|ø¡êΘ ZÓ[rTdP¢dÍà5Ô·®¯ÞÖµnW:ý܉=ÿîaV—Yé¡[Iõ_Îüó©jXU}ì`·ÁÄ<Ëß²‘SÞœBLRþ—˜Ìï¨÷ìó±5µåýæïç»m€‘7µeI©Iüîù;nÕÝ ôz!DÅ#ÅwbaaAÛ¶mY¶l™¶C"wª›ôHŽŠ,êYÕÓ(¼Ì ÍéèÚ‘­W¶ô(ˆ×l_cHã!츶ƒ¶~@Ÿ}h`Ó€:–uÐ×Õ§ŠA•¨€N„œ`Ï?{Ø>b;: |¿îFä ­„m[6¼³;3»bMQþHñ]Føúúâëë«í0„È›¯¯êKˆlò*œÍ ÌÕ|h€š594úÿûûœº}ŠUçVq?æ>­k¶æK/qyÅ%×v²*‰9ß‹Ž-Â@Ï€ï}§±ýÎcÕTçûÍgåÙ•Lí0•6 ÔûõtôЩ¤C̳â“ãó“¢b“â[!D‘F’’–‚žŽžÆö«®`múß%33†5ư&ÃÕê'nûá‡sôãèëê?÷\%1ç;!%øäø<ÛÍ\rðé³§Û-œYÜg1#6`ÈïCX9p%íç;6!DÅ$Å·Bˆ"yÿˆY‡fñuǯ©¬S¥RÉêó«9wï5ªÖ FÕ¬>¿šº–uiáØBýZsCsLôMˆxÁíÇ·©cYç¹ç*‰9ß^ݽr-Ò×^XËþû™Øn"íSתnŽcêXÖaÓÐM ß0œá‡³¬ß2Z×,æ5ý…åŠßB!ФVµZl½²•ÝÿîÆÉ܉±ˆŒ‹`¢ÇDõq~Á~Ì>4ãÊÆÔ¨ZƒÊº•¹u‹Ø¤XÌ ÍÕEúó”Äœï×l_ËuûŸPÛ²6Ík佬fª5ØbÓ¦M,[¶ ooï#Æ~~~lÛ¶àà`ŒŒŒpwwgôèÑùúæLKKcãÆìß¿ŸððpõUÕÇÇÀÀ ×øbccñõõåÎ;T¯^‘#GÒºukõ±Ÿþ9Û·o`ìØ±ê÷ÚÍÍ ooï<ûR˜X ò9”–Ä”D–ýµ ¿~(QÒÆµ Ÿ¼ù >‡}Øm?;ÇìÄÌ0[þ]?ÂÖ [ y‚žŽM›2ºÝh¬«dÉ‘c?³þìzVþßJRÒRXzt)AAXW±fD«¼Y7ü+`Û‰)‰ü|ìgÃéãÖ‡<>b“ÿ&–ýµ ïÁÞ9FŒýýØvaÁ‘ÁU6½†;£ÛÆÂ8ù—žÆFÿì¿¶Ÿð˜p,Œ-h_·=Ã[Ç@/Ëgž%¾Øg±øúùr'êÕ«Vgdë‘´vÉ’›?gûÅŒü[?Vý^»9¸á=Ø;Ͼ&–‚|¢üª3¯Ík4gÍà5Ú…i¦±çß=ÚC”€ &°oß>æÍ›ÇܹsµŽ(C´^|?}ú”víÚi\¼k×.¶lÙB­Zµðóó#%%E½/==wß}—5k4hîÚµ <¨¾Íë­[·ðóóc÷îÝ|õÕW$$$¨_»v-›6mbàÀEj{ë̘֭1ƒ¤¤$^}õU ÷yÒiiiŒ1‚uëÖi´¿uëVæÎKtt4:::y¾WñññtéÒ…'Nhlß´iK–,áСCXYYiÄ·eËf̘Arr²úø_ý•Å‹3f̸}û6@®UæÖ—ÂÄ’ßÏ¡4=M|J»Úp/KþìbËù-Ô²¬…_ )iYòO™Î»¿¾ËšÓÙr$`>G|8øéAÜkdäHä-üýØ}e7_íøŠ„ä,ý>³–Mlb`ÓEj{ë…­Ìøß ’R3ò¯zFþå2O:-=¿Ž`Ý™lùwa+s÷Ï%Ú;JÏÉ¿¤xºxwáDP¶ÏÜKŽ,áÐ燰2µÒˆoËù-ÌØ5ƒäÔ,ùwòWY̘öùÀí¨Û¹^T™[_ K~?Q²®~žs^Eff`Fz=hïÒžÄÔD¾Ú÷•¶CÅÄØØ˜©S§2aÂÞ}÷]êÔ©£íD¡õâ{Ê”)àààÀ—_~‰³³37nÜÀËË+×BpÞ¼y¬Y³ggg>úè#êÕ«GRRdÅŠxzzòÏ?ÿP©ÒÓÙ'MšD=0`&&&üïÿcåÊ•L™2E£è+LÛß|ó ]»veРAØÙÙ=wzÆìÙ³Y·nFFF|üñǼþúëèèèpáÂ|}}Q*•Ï}¯¦Nʉ'°´´dÒ¤IÔ«WÛ·o3þ|®^½Ê‡~¨ÁÎ4}útºtéÂ!C000`ÿþý¬X±‚O?ý”N:Q§N,X€«V­ÂÇLJ† PµjÕb%¿ŸCiš²} ÷p°pàËÎ_âlé̇7ðÚï•k!8oÿ<Öœ^ƒ³¥3µûˆz¶õHJMâà?Yqlž+<ùçÛ¨¤È’Û&Ñãµ h2}þð?V_É”íS4Š¾Â´ýÍÎoèÚ +ƒš ®ªÝs§gÌÞ3›ugÖaTÙˆßü˜×^G§’î\À×Ï%/È¿S9tKSK&u™D=ÛzÜŽºÍüó¹v•×~Èö³åßÿ¦Ó¥A†¼>=ö_ÛÏŠã+øtÓ§tªß‰:6uX0p>G|Xub>C|hh—‘FÏÉ¿BÄ’ßÏAˆÒômçoÕ÷ߨ¯ÅHDIèÚµ++W®ÄÛÛ›eË–i;QFhµøNMMeÍš5˜ššrúôiìììèÖ­=zôP™”J% .ÄÆÆ†óçÏcnn®Þׯ_?ÌÍÍ™;w.gΜ¡U«Vê}Æ cåÊ•êç={öäæÍ›øùù••U¡ÛîÝ»w¾.¨HOOÇÇÇ===þúë/š5k¦Ñþ¤I“ÐÕÍûãHMMeÕªUpâÄ j×®­Þ÷öÛoS·n]þøãÂÃÃ5¦ÇôèÑC£îÛ·/¶¶¶Ìœ9“Õ«W3gÎ5jDÍš5hܸ±Æ””âŒ%?ŸCiJMOeÍé5˜˜rzÊiìªfä_ÃnôhÔƒ†ÓsÉ¿?bcfÃù¯Ïcn”%GÜûandÎÜ}s9së ­jeÉ¿ÃXùYúݨ'7ÃoâèGDlV¦V…n»·[o¶|˜üS¦ãsØ==þúâ/š9eÉ?÷~Lê2 ÝJÏÉ¿ôTVX…ž'& ¶u–ϼéÛÔV—?.ÿAxL¸Æô˜¯õÐ(‚û6î‹­™-3wÍdõ©ÕÌé7‡F¨ùJFþÕh¬1%¥8cÉÏç .]™Îªs«Øxy#a1aؘÚàÙØ“®u»æz|ö9ßI©I¼:ÿU:ºvdZÇixõâÔSø€ÿý—zõêi;$Qhµø¾uëñññôïß_]xgruuå7ÞàÈ‘#êm!!!DFFbii©)U*•êãÈÈH®_¿®Q {zzæ8·»»;~~~DEEaeeU趇žï¾FGGÓ©S'Â;S•*U^øú¸¸8ºvíªQìT«VàëëË•+WèÔ©“zßÈ‘#s´5räHfΜɕ+Wò{qÅ’ŸÏ¡4ÝŠ¼E|R<ýÝû« ïL®V®¼áòG®gÉ¿G!DÆFbijÉ@ß,9’1b›‘#®kÈžÍsé·£;~~DÅEaejU趇·ÌgþEÞ":>šNõ;iÞ™ª¾ ÿ"o—G×]5Š]€j&ÕÐd¾~¾\ ½B§úYò¯u.ù×z$3wÍäJh!ó¯±äçs7ýàt6\Ú ~~ïÉ=¼Žzñ÷ÿ ÔÎÓgO´váqáêmééél¸´o~£ñ—ÁЧ¡ürîNÝ>Åæa›1Ô3`í…µ|{è[cƒ£‚Yvz …‚¶Îm ÛM†oΩۧò}üQ¨U­V¡Ï'Ê7ß|“Úµk³fÍæÌ™£ípD Õâ;11È{zCÖÑg€¸¸8@U>|8Ïv³Î)r½±råÊ€jvQÚ¶··Ïóج2ûúÊ+¯äëøìž={äÞ—¬Û3Ë”Û{›ylfL¥K~>‡Ò”˜œ‘yLoÈ:ú —”‘#±‘þ÷99’œ-ÿr¹±²NF¿ÓÓŠÔ¶½y>ó/%#ÿL ™)ŸyefnÏ<.Snïmæ±™1•V,ùùDÁ\yp… —6`¢o´ŽÓèàÒÔôTößØÏœ#+2üïùÓØ®1Kû-¥®U] t ¸÷ä3ÿœIý*L~s2µ<034ãîã»üxâGö]ßÇoçãÖÂì󩤨Ä{Íßcàk±­bKØÓ0D_WŸ¦öM šT¦.¸ƒ§§'sæÌaÒ¤IÏÒ)*­ßÕ«WàÒ¥K9ö¥§§ç¸=« …‚fÍšáåå•g»®®®Ž¥°m+еîÜ9RRRÐÓÓ+P|¶¶¶\¸pôôtyçþþþÀïi¦‹/æ˜FrþüyuLÙûñ¢yçE‰¥¬©^5#ÿîæ’ÊtB³å_ÕŒqj†Wÿçäˆu!ò¯mç;ÿ2Ú?rŽ”´ôt ˜fŸù ¤+Ó5æøßÎøÌ«fË¿;sL#9û¼:&u?(@þ2QüÜ8À_пaõö¡îCyúì)‹Ž-Êw[FzF,ï¿ £ÿ~IúãÚ¤¦§2»Ëli,.¯¸àÝË›ó¡çù3ðO>lù!;ÿÞIZz·ú˜ÏÚ~¦>¶VµZ|Ôò£¢t@ uQ$}úôÁËË‹={öðÎ;ïh;¡eZ½ÉŽ¥¥%5ââŋ̙3‡ôôt@5§ø«¯¾"((HãøjժѮ];.^¼H`` ­ZµÂÃÃCýåèèÈ 5}¡$ÛÕ¨o›6mæý÷ß'::Z½/..Žï¾ûNÝÿÜXZZâîîÎõë×™üùϟؘÙÐÈ![þí™­.¶îDÝa܆Œü«Ÿ%ÿ 2ò/2ùWÈXDñ»óømj¶É±¯mÍ‚Mñ¨o]_£ð¸ùè&þ7:óêPÛ«6µ½jãêåJyuˆŒ‹äAì@5½ kÜçš ¡MÆÆÆ´oßž½{÷j;Qh}µ“Y³fÑ«W/¦NŠ··7ŽŽŽ„„„ðøñc6lÈÕ«W5–ß[¼x1­[·fôèÑLœ8ggg ¸}û6á᪹‚Ó§O/ðÈrI· àííMëÖ­Y³f ›7o¦V­Zèèèpýúu’““™4iRŽQä¬æÍ›Ç[o½Å?üÀ/¿üB­Zµ¸{÷®:¶yóæå¸hÓÞÞžæÍ›ãêꊾ¾¾ú\nnn¼ýöÛêã7n ÀèÑ£ùé§Ÿ022R¯ó]\±”E³zÏ¢×’^LÝ1ïCÞ8Vs$äQÓЮ!Wîj,¿·xÈbZ{µfôÚÑLÜ2gKg t ¸u›ð˜Œé9½À#Ë%Ý6€÷ÛÞ´öjÍšÓkØ|~3µ,k¡SI‡ë¯“œšÌ¤®“rŒ"g5oÀ<ÞZô?ø_NüB-ËZܾ«Žm^ÿy9.Ú´7·§ù÷ÍqµvE_W_}.77Þn–%ÿ2òoíh~:úF•Ôë|W,¢l«j˜óOñ™¿>oZPrZ²Æóüþ5¨ dη(ª®]»2vìX­,0 Ê­ß^¾gÏžüöÛoXXX¿¿?ééé¬[·N=-"sT Aƒœ={–nݺO@@gÏž%<<WWW¼¼¼Ôóˆ ª$ÛU{üøqÞxã ž={ÆßÿÍ•+W000à믿~îß:t`×®]¸¸¸¿¿?áááT¯^µk×2lذ¯ùñÇéÝ»77nÜàÊ•+$''Ó¡CöíÛ§Ñ—ê&#­ IDAT6mÚ0bÄRRRð÷÷ÇÏÏ/×¥‹KYÔ³QO~ùÆDÄFàÛŸte:ëÞ_‡yFþeYM¡]ÎN=K·†ÝˆOŠ'à^gCÎŽ«•+^ý½¨¬[Èü+Á¶Aµ’ÈñIÇyÃå ž¥<ãïûs%ô z|Ýýkt/È¿zØ5v.V.DÇGãÛŸð˜pªW­ÎÚ÷Ö2¬e.ù7øGz»õæÆÃ\ ½Brj2êu`ßø}}iãÚ†­F’–‚ÿmüýr]ê±(±ˆâçhîÀñã9ö 9Väö3‹×ßÿFÐä \¿Î?¯qì¾ëû^Ø®©i©EŽOˆ‚h×®zzz9î!*…2?“,ó¹*H~–Ú{‘ääd®]»@ýúõIOOÇÙÙCCCBBBr}ÍÓ§O "==''',--5öߺu‹»wïÒ´iS>ë¾fÍšall\¬mƒêÆ4ÁÁÁ¸¹¹åzqExx8!!!˜™™áââRàÑô   õ]%ëÖ­›c´gòäÉxyyqéÒ%ÜÜÜ ãîÝ»ØÙÙQ£F<Ûˆˆ 88˜¤¤$ªV­Š››Û ûò¢XŠò9ä—B¡`„ ,Z”ÿ9¦Y%§&sí~FþÙÖ']™Žóg õ ™›Gþ%>%("ˆte:NÕœ°4Í–#‘·¸}—¦NMs,‡–¹¯™S3ŒõsÉ¿"´ ªÓGãæà–ëEá1á„< ÁÌÐ +—¦E©ï*Y×&—üÛ6¯ý^\úænn„= ãnÔ]ìÌí¨añœü‹ 8"˜¤Ô$ªUÅÍÁí…}yQ,Eùž§8þå&<<\}!ø‹ìÝk¸qÖ½xÚNqºòà ý~ë§qÁeš2}×÷1çÈ’R“^x{ù¬K úö÷ÕhÿöãÛtþ¹3U «2±ÝDZ×lÍ+ƯðôÙSn?¾Íž÷`mb­¾à²ËÊ.Œj>Н ÀÆÔ†ûOïs0ð •u+3²™jõ‹[–žÆ¶ÿÛ†½™ýsÿâSšößØÏ˜cäöòZV’ßOžžžÔ¨QCîxù’³¶¶Îµö˧-eâﲋ-âý÷ßWß=2&&†O>ù„ððpFçëÌÌÌhÒ¤Ižûqvv.ð¾¢¶ àààðÜîX[[k¬]P...¸¸¸¼øÀ vvv9–sÌ••UŽ?‡½¨//Š¥(ŸCiXôç"Þoó¾úî‘1‰ÿÏÞ}GEy´ þÑ”¦¤) (Š]lˆ‘× j‚1jÔXKbŒ%1Ÿ½K4J0¾b‰½‹F£b vņ"v¥ ØAšÀî~ðîÆuAzQç:‡sdfvž{foæ™Iæûmß›˨öïøúÓ1 y­w|˜Øag’ǸßQWܾ¬­ßyàŽYU3¥=° ËÞÔ{ÓB|ýZªlç˜Ó*¦*ëÚóK~±ç}Þ­‘y#ú7íÏöàíL:4I©®G½¼{°XýÛÙ0Ï}3ŽÎ`Êá)¹¶Õ:ç{ÔÖØ–©¦âuÜ ß ¾ø^PNäG»ŒVü»uÍÖ¼{¾eåµÏ÷®]L=‡……µjÕ*ï°Þk#GŽÄÝݽPKS>V³?›ÍôÓyøü!ñ¯â±0´ V5ñõW#?‰{÷B-MAøÐ™ššbddTèäû}pñâE†ªTöúõk.\¸À… øþûï™0aB±¯³fÍ•óX®_¿Îõë×±²²ÂÙÙ¹Ø×(m"ùÐÔÔ,ô:f!oa-õûDS]³Ð똅¼‰µÔ‚ ¹«]»vžIäåæÍ›ù7*gššš¸ººòÙgŸÑ¸qc,,,HHH`Æ ¬_¿ž•+WÒ§OŸ\O¿ÿ~¾;¾œ?žE‹¡¡¡ÁرcéÕ«Õ«W',,Œ 6¼[CJ¾AA>tfffÄÅÅ•w%®U«V´j¥üв¥¥¥âÐijgÏrëÖ­\“ï‚Zºt)Ó¦McðàÁŠòzõê½ótòЦbì¯$‚ ‚ð055UHwòäILëÖ­iР]»vÅËËKQ/×°aC  ø|ĈŠÕ¹}¼½6üòåËŒ9gggqsscÁ‚Þδ¸j×ÎÙ‡¿J•*EîãéÓ§„„„P­Z5¾úê«"÷“””Ä Aƒ¨[·.;wî,r?Å!î| ‚ ‚ ”ž?ÎÉ“'1b„R]xx8ááá<{öŒ?þ(ÚCÁšššŠ;¶oßÎÌ™3•võyôèþù'ìÚµ L``!Nr=zT‘Xç%33“'N`jjJ‹-rmÓ«W/BCCÑÑÑÁÉɉ¯¾úJåÍÛ·oàââÂÝ»wùå—_¸qãzzz´nÝšqãÆåKTT#FŒàùóç¬_¿—µ$‰ä[A¡Œèêê’žžN@@?þø#}úôÁÐÐGqþüy¢¢¢ÞÙÇš5kTÊ?~ÌÀ™4i’â¡Ã˜˜æÌ™CÕªU™¯S§+V¬ ]»v\¹r…ôôtÅ2ÈÙ1 €–-[²qãÆBÍmiw¾…†8¥NA¨èd2êêêèëë³yóf|È¡C‡033+‘5߯^½bøðá\»v¹sçÒ¿ÿw¶ dçÎôíÛ{{{ yúô)ýõ—â8øÎ;+ÚkhhлwoÖ®]Ë÷ßÏÔ©S±±±Q¬ù~ùò%®®®Jw½åôõõÙ°a?üðóæÍ#))‰±cÇy¬Å%’oA¡ÈV^X‰©¾)_4ü¢DûMÎHfCЙ7­¶[‰ö]X™„çW`WÍŽõz”k,ù‰LˆätÄi’3’inÕœ¶6¥·S(œ´´4tuuyöì»wïfùòå*mêׯÿοGÅ7¸qãK–,Q©Ÿ;w. ÀÆÆ†yóæ1cÆ ¦L™’g_%áĉ\½z€3f0cÆ •6o.CÉÎÎæÐ¡C:t(×þLË–-•ÊÆŒÙ3g ¤GåïECCCfΜ™g|•+WfåÊ•Lš4 ™9sf©¬yÏH¾A„"ûoàiX£aÉ'߯“ñ9çÃÀfË,ù^~n9V†V|Þàs¥òlI6>ç|èäЩÂ&ß»Bv±öòZ"^D(ÊFµ%’ï (55]]]-Z„ŸŸDFF"“ɰ°°ÀÝÝaÆ¡®ž÷9ˆwîÜ)ðõúöí‹££#ëÖ­ãòåË$$$`llŒ Ý»w/·5ÐmÛ¶å¿ÿý/~~~ܽ{—øøxªT©BÆ éׯ]ºtQy¾¾>;vì`ùòå9r„øøxŒŒŒpuueܸqùžž©¡¡ÁâÅ‹100`ãÆ$''ó믿èhû’$’oA¡ÈF»ŒÆTß´¼Ã(þA«š­T’ï÷Áù‡ç‰x‘ ––œx¾¼CòðøñcÌÍÍ155eôèÑŒ=:ß×ܼySéóàààB]³Q£Fx{{ê5…åééY¨D^CCƒ.]ºäšd¿KÕªU™6mšÊN)o«\¹2aaa*åjjjyÞ™/+"ùAŠì»6ß•wðeã/ç:»jv¹D$ßXTTíÛ·/ï0„rT¦É÷üùó±°°`èСeyÙRñ!¥(ÞÇñÏŸ =†mPÞ¡Û‡4–¢øØÇ_‘䵿["“ø0ñH%Ô®^WW*kVVé#53•ã¡Çy’ü„UjйNg•6o»õìÁƒIÉLÁLߌöµÛSM·šÒõß\§}7î.£."•Iq¶v¦±ycEÛ'ÉOð»á‡T&%:1Ÿs>Šº^ {a¢g¢tíðᜋŽþü‹8;×ø ¶i,y™;÷66U<ØI¥îcÿû"·5ßaÏÃønïwD&D*µ5Ó7cùçËifÙLQvóéMFîI|J¼¢ÌDß/w¯\¯÷<õ9þžÀ…¨ Jå:Z:Ìê<‹Þrö:~sö½¸{ø^ðUjïéäɯ=~ECMƒ'ÉO ÷£¤GJÉw«š­”’ïUW±äô¥sú6îË|ùÿùëÖ_ļŒ)P[€AÍa¤c”Cá½Gjj*666åŠPŽÊ4ùž:u*eyÉRó!%/sçÎÅÍÍ-×äû}ÿÔ©­±°ÐË¿á{àCK^æÎ ÄÍÍ:×äûcÿû*=+ovÃã¤ÇXTµ }íöh©kqþáyÂ_„3b÷?Œ©¾)©™©ŒÚ3Šø”xlmqµuE"•p:â4SüUwfH%ŒðÁͧ7±2°¢]; ´ ˆJŒ" 4€©‡§b_Ýž&M¯¹öø¡´·kƒ‰O“ŸrôþQößÞ‘ ?¸þ€EU ƺŽeùùåXVµ¤WÃ^Š×[X*þ}ýÉuN„È髺±)±øßõgWÈ.zÔëQ »ÏÝú‹À‡?Ĥ{½î"ùþ€Ü½{555•ƒi„K™'ߊi,Eñ>ŽêÔVåB‰ùÆRûø+²wð8é1Í,›±±ßFt´röÜÍ–f3~ÿxŽÜ?¶àmŒo7žƒw—G;Ûv¬î½-œcŸÓ³Ò´} i J}{pŒ›OoòiýOYÒc êÿîPpóéMzoêÍú+ëùÝówEyBZ¿vÿU)¡yBßM}Y´žÑmG+’ï+¨iT“±®Êûÿ¾Î~ À‹´¬ìµ’NuílÛñóÁŸ9~ª@É÷ç >/Ô2c]ã·*¾K—.aoo±±x_?fbÍwvv6ÇçÖ­[H$éÒ¥ ÚÚÚ¹ösõêU.\¸@rr2–––xxx`jjªÔŸ——ŽŽŽôë×{÷îqìØ1^¿~M›6mpuu͵ßW¯^qàÀ¢¢¢°²²¢gÏžH$¼½½iÙ²%ݺuËs,E½fAÆ“Ÿ‚ÌßÛñ]¿~S§N!‘Hpuu¥U«“™èèhÖ­[‡T*%""‚Ù³g+ꆊM±ÞËâÌUqäµN8;[ÊñãÑܺõ‰DŠ£c5ºt©…¶vîßW¯ÆráÂ’“3±´ÔÇÃÃSS]¥þ¼¼.âèhL¿~ŽÜ»—À±cyýZB›6¸ºZæÚï«W™8NTT2VVUèÙÓ‰D†·÷UZ¶¬A·nvyŽ¥¨×,ÈxòSù{;¾ë×ã8u*‰D†««%­Z™+ÚFG'³nÝ-¤RIÌžýï]¡C°±1(Ö{Yœ¹òwíñ5Ƶ§H¼4Õ5™è6‘#÷põQÎ^À×å´ýÁõEâ 9KH¾wùž~#”ú–?D¨«¥‹ïE_ÅÒ™L† Uµ«ró©ò®6F6J‰7@cóÆt®Ó™#÷Š£©cÆVß´¾Râ (¶AŒK‰+PïãN*Bɹté’Òÿ·ÂÇ©Ü×|ß¹s‡Ï?ÿœ(µµ´´d×®]¸¸ü{'!66–pâÄ ¥¶ºººüñÇJ·Ï™3OOO¢¢¢˜2eŠÒú¼ádzfÍ¥>‚‚‚øôÓOyö왢ÌÜÜœU«V1gξÿþ{•äûͱåšÏ»tþÞŒïÆ,X°@©ýÀY¿~=šššDGG3gÎ"##ÿpssS$ßE}/‹2W%!·uÂwî¼àóÏ÷ñàAâ[1ë³k×g¸¸ü»´&66râD´R[]]-þø£#Æý›Ï™ˆ§§=QQÉL™r†7†Çðá Y³¦«RAAÏøôÓ¿xö,UQfn®ÇªU]˜3'ï¿oúVò­<–¢\³ ãy—‚Îß›ñݸÏ‚—”ÚXŸõëÝÑÔT':úsæä$Ü‘‘IЏ¹Yÿ/ù.ú{Y”¹ .)# €š†5Uê¬ ¬QSSãeúK¥¶Vª{óZZ«”Éï„ï ÙYàx¬ sß÷WÞòëä÷e^Õ\¥LW+çÕlivúk¾?^©©©Üºu‹áÇ—w(B9+×­ÓÒÒèÖ­QQQÔ¬Y*UªD@@wïÞ¥Gܾ}sss$ =zô ((ºv튑‘áááìß¿ŸáÇS¯^=Z·n­èÿâÅ‹8pœœœxüø1»wïfíÚµôë׎;9w¼===yöìuêÔ¡K—.dggsôèÑB“ôšEOqæO.00ýû÷+⋉‰aïÞ½lÙ²fΜIÍš5™5kV®\æõHQb)è\•–´´,ºuÛCTT25kVÅÃÖJ•4ˆâîÝôè±—Û·‡an®‡D"£G½=ÃÆÆ€®]m02Ò&<ü%û÷‡1|øQêÕ«FëÖoŽï „ãáa‡“S5?Na÷îû¬]{“~ýêѱcNròêU&žžûxö,•:uŒèÒņìl)G>døð£…SA¯Y”ñgþ䟰¶89U'&æ{÷>`Ë–;881sfj֬¬Y.̈Қo›ª%KAçJ(íœã°£_F«$Ð1I1Èd2 u •Ú>Jz¤²Wxn ªNNû¯š~E5½j*õÚšÊ1}ôòQ®íäýW­œû×Tik¾?^gÏžw¾…òM¾·mÛFTT...;v =½œÿ³²²èß¿?{öìaåÊ•Ì;—½{÷DÿþýÙ¼y³ÒiDAAA´iÓooovìØ¡(‹‹ã¯¿þRÚô½k×® 2Er·}ûvžÚ´i#Ö{ å›|æüö?gÎE² ¥¥Å‚ سgçÏç¬ñ rŽ]°`òZ?™ CCC‚‚‚”úoÚ´©ÊiKò¥#Ožlåš|'&æ¬Í´³³S©³³³CMM„„œ5~ññ9{Àf-°µµêšA}}} çŽìÛq䶤¢°{qôšEÏÛ 3r¶¶¶¹ö%/—÷Y±t®JKbbÆÿâ3T©³³3DM rÚÄÇç$kÖÜ(pÿÖÖUTÊôõÿ½#ûv66*ís++‰key¹¼Ï²ˆ¥ s%ŽŽ–öùS±Ï÷¶àmŠ:S}S–÷\®Xb¢WIU_¬bäž‘D&D*ö¯®WùóùvÏ·J}k¨iðgß?™th'ÂN°;d·R½™¾™Râ 9wâkW«Íª‹«8qZQîéäÉè¶ÊÇzsÆ$ÿI쿽_Qöö>ßÕíg·•ö'¸úèªâáÖÍŠä»8p@qœº ”kòmd”³Ž-""B%i‹ˆˆ@&“)þ<#o;zôhLLrÿA¨«[ðr‹ãáÇJk’åe¥¡$ÆS˜ù“‹ŒT>ôâíryŸ…U”XÊ›‘QÎÚЈˆ—ØÙ)'…/‘ÉÀØX[©íèÑM01Éý}ÑÕ-Ú·“¼ï‡“”Ö$ËËJCIŒ§0ó'™ûxäåò> «(±%c´Ëh•õÚöÕí92âç#Ïçœp)“`glÇ'vŸ¨œpÙм!#'\šU1£“C'd2c]Ǫ$ÓF:F¬î½šðá= "!-c]clŒlp¶rVÚ~Pîg·ŸéV¯—£/#•IinÕ\i/p¹^ {áTÉKÑ—HJOB† KK454ë:»jª7äuöÕíUêÊ’S '•-ßôö< eG*•²uëVºuëVä´´rî~edd¨ì RRJb<…™?¹ÐÐP6nܨ²æ{ß¾}R¿~}E¹¶¶¶ÊÝê’Œ¥¼¹¸X²~ý-æÌ ÄÅÅ]Ýœ÷=;[ÊôéçhÛ6gÛ¹Žk²nÝM²³¥ÌœÙuu5¥¾ž=K%&æU‘âhÓÆ‚ náåu‘}ûz¢¥•󵑑­²+HI)‰ñfþäBCÙ¸ñ¶Êšï}ûÂ04¬Lýúÿ>D§­­©r·º$cJÆwm¾Ëµ\CMƒOì>á»OòíC¯’Ÿ9}¦Rþ®d²vµÚÔ®VðƒJœÌœp2S=°émuMêRפncÑPÓxgœe¥ ãÊž¿¿?‘‘‘¬X¡úƒðq*×ä{À€xyyqîÜ9êׯ¯´CÆ;w022â»ïr~°÷íÛoooV¯^ÍÑ£G騱#fff$&&Ê™3gøñÇiÑ¢E¡ãèß¿?³fÍÂßߟ† Ò¥K$ GŽ!%%gí§ššZ>½NIŒ§0ó'gbbÂСCÙ¹s' 4 ::š½{÷’Í„ ÐÔü÷KÂÞÞžàà` „­­-êêêŠ}¾K"–ò6`€#^^8wî1õë¯WÚ!ãÎióÝw9wÇúö­‹·÷UV¯¾ÁÑ£騱ffº$&fšÈ™3øñGgZ´¨Qè8ú÷wdÖ¬óøûGаáºt±A"‘räH$))9ËoJøË¯DÆS˜ù“31ÑeèÐÃìÜy ª³ÛIv¶” œÑÔü÷—P{{C‚ƒã4È[[ÔÕÕû|—D,‚ ¥M*•²råJºwï.NµÊ5ùÖÕÕÅßß_±7´¯¯¯¢Î‚]»v)–hjjâïïÏ×_ÍX·nR_–––´lÙ²HqT©R…}ûöñÙgŸqÿþ}îß¿@5øí·ß4hÒC„%¡$ÆS˜ù“sqqÁÑÑ‘E‹qøðaEùW_}¥rjå„ 6l[¶lQ”É÷ù.‰XÊ›®®þþ_(ö†öõ QÔYXè³k×§Še ššêøûÁ×_áÀpÖ­S>ÈÃÒRŸ–-‹6¾*U*±o_O>ûì/îßOàþýœ¿6Ô¨¡Ço¿¹1h¿ÒC„%¡$ÆS˜ù“sq±ÀÑјE‹.søð¿K ¾úªžÊ©•&83lØa¶l¹£(“ïó]±‚ ”¶C‡ŠOþ…F™/oaa¡TV¿~}nß¾M@@€âTĺuëâîî®rÂeõêÕùûwïgÏž%>>h×®b»>MMMfÍš…££ê©eòº7—W@ÎŽ¡¡¡üý÷ßÄÄÄ`ee…§§'T|{,E¹fAÇó.…™?¹… Ò·o_NŸ>T*¥mÛ¶¹î'>dÈš5kÆ©S§HLLD*•*ïâ¼—E™«’0ujk,,”°úõ«qûö0¢þw*¢Œºuqw·Q9á²zuþþûsîÝKàìÙGÄǧcb¢ƒƒƒíÚY)¶ëÓÔTgÖ,U׸ËëÞ\^9;~„†çï¿Ãˆ‰y…•U<=í9x0P}8ðí±åšÏ»fþä.ü„¾}ërúô#¤RmÛZ溟ø!N4kfÆ©SÑ$&¾F*•)öù.Î{Y”¹Þ?ïZ§-e!99™ ðÅ_ˆ»Þ‚5Ù›G RŸ>}ؽ{w>-+¾;wîP«V-¥;ÜÏŸ?ÇÕÕ•û÷ïR¤-ø*ŠŒŒ tttðôôdß¾}åN‰SSScüøñ,[¶¬¼C)’;w^P«VU¥;ÜÏŸ§ãêºû÷ R¤-ø*ŠŒŒltt¼ñô´gß¾žåN‰(ퟱ±±Šeoùñ÷×gìX3ÂÂÂK%Aø˜”Ô÷ÓÔ©S9yò$‡ÆÐPu'&áýeff¦Ø­v—벓ŠÄßߟ… Ò±cGlllxòä ‡"11‘:¼×‰·PñùûG°páe:v¬‰Ož¤pèP‰‰tèPó½N¼A>6—.]b÷îÝøøøˆÄ[P!’ïÿqrr"##ƒ]»v)•;;;+­y„ÒàäTŒŒlvíº¯Tîì\ƒ-[ ~È“ ‚P¾âââ˜0a;wÆÃã¼Ã* ‘|ÿ‡‡=âĉDDD ¡¡AÓ¦Miß¾}‰ïtRÞµÎZ(¶ûöícÙ²e*'= ›ÄoAA„ðõõåøñãÈ7Š eÆ $&&²qãF~ýõWÜÜÜÊ7H¡ÂÉ· ‚ B>Ο?ϲeËxs‡f©TÊâÅ‹‘Éd,]º”îÝÅòBþDò-‚ Ù×»¾ÆÎ؎馗w(ï%§—píѵ\ëÚÔjî?¨”K¤öÞÜËÙȳ¼zýŠZFµø²É—Ô3­—k?ï{ûŠæñãÇŒ3&ÏzGGG‘x &’oA¡È®Ä\!#+£¼Ãx¯Ü¿Ïå˜Ë¹Ö™è«îéÿ:û5ÃvSzÍÙȳlÞ΢î‹èÙ çÕ¾¢ÉÈÈ`äÈ‘¤§§#•JUê³³³¹sç¤Gå¡ð¾)VòýâÅ =zÄ„ J*A(²€€ñµ(”™¬¬¬Ê; á=¶©ß&4Ô5”ʪéVSi·üür.Ç\¦F•üàúæUÌ9~ŠÍ×63õðTZÖl‰EU‹¦}E3}útÂÃÃÉÎÎ~g»Ù³gÓ®]; Ê(2á}U¬ä;44”Gáíí]RñB‘ݺu‹[·n•wÂG$==½¼CÞc­jµBCMãm²¥Ùl Þ††ºûm¤vµÚ|b÷ jjjl ÚȶàmLl?ñƒh_Ѭ_¿žýû÷+­óÎL&#))‰ ˆý½…|k«ÁÖ­[Ó»wod2™øåú‘c' ⣌>zÓºuk„ÜE%F±äôFúä›]ßðËñ_¸{·Èm³$Y Ø:€¥g–’)ÉdCоÝó-#ýF²êâ*Ò²ÒTúK‰cEà ÆíÇ7»¾aÖ±YüóàŸ7~fT|!OBHÎHÆ¥–‹"q•ê<€3g>˜öÉ¥K—X°`Á;¿^455ÑÐÈùJ__ŸÄÄD^½zUV! ï)±æ[A(Q‡ïæÇ?’%ÉR”Ž8ÍÆ Ìè4ƒAͺ­T&årÌeô+ë3lç0.E_R´?v‚½7÷²càŒtŒxÿ€¾[ú’ò:E)¶­×¶Ò·q_æ{ÌÏwóÏçÖ³‚ÿ5mɧK µ|bቅ„=CGK§NôjÐ óªæJmÂ^„ÐØ¢±Êë­ ­1Ô1$âEÄÓ¾âˆaôèÑ*'\kjj"‘HÉd˜™™Ñ¦M4h€³³3NNNĉØBéÉ· ‚PbbSbùùàÏdI²p¯ëŽ»£;ZêZœŽ8Íî»™0æVÍ©oV¿PmåÎDœA¿²>ÿçö8Twàé«§¬¹´†ðáxxñÛ§¿°ãúR^§àVÛž zb¨mÈ£¤Gœ‹<ǫ׻3y/þ^žFæ&=«pËÖ_Y¯ø÷±Çð½àËâ‹q¯ë®(OLKrÀTß”ñHÏJGGKç½o_dgg=IJJB]=g€¦¦&ŽŽŽ´nÝgggš5k†±±qù*¼·Dò-‚ ”˜}·ö‘‘AŸÆ}Xà±@QÞµnWÌ«˜óû¹ßÙ²“9]檭œ ›úmRJÈ==輺3‡îbžûìÞ½»ÄúØMž<™E‹L“&MÊ;œ÷FÎï@ßòEøhô¡wïÒûùKJJJþ }ÆŽ5#,,¼Tby—+1WЯ¬O=Sջĩ™©D¼ˆ@Š”Z†µr}°² m_g¿Æi‰:áû…/Y’,BŸ‡"•I©cR‡J•rí7-+¨Ä(d2æU͇ð”7‰T“ä'ħæüò`WÍ.߇e2á/ÂIÉLÁÊÀŠêzÕ?èöå¥<¿Ÿ„÷ƒ™™úúúE}ùn±ì¤„-Y²„Ÿþ™“'O*Ýýމ‰aîܹ9r„ØØXŒéС3gÎÄÑÑ1×¾V¬XQQQXXXðõ×_3yòd45ÅÛ&BÅкEžuz•ôhhÞ°@ý¦-€–†–Ê–ƒ¹ÑÕÒÍõƒò¦¡®µ¡µb?ï‚PSS+Ð.-J{AøP‰,® DFFÒºukâââe±±±lß¾ƒrâÄ œ•^³hÑ"vìØ¡ÔÇŒ3¸ÿ>›7o.³ØAA„’#Ö|—qãÆÇ'Ÿ|BPP©©©Ü¾}›^½zñêÕ+FŒ¡òš={öðÛo¿ñäÉضmÆÆÆlÙ²…ãÇ—Ã(AA„âw¾KYjj*‡ÆÔÔ”PµjÎõë×gçÎ4iÒ„ëׯóàÁêÔ©£xÝøñãùñÇŸ÷ï߉D Aƒðóó£cÇŽe>A„ò¢¥¡ÅÖ[+ÌšmA„¢w¾KÙÇÉÎΦ]»vŠÄ[NSS“®]»¦T'/“»»{®mA>têjê´ªÙŠ:&uòo,‚P‰ä»Œ”ÄVJò>ĶL‚ ‚ ï'‘|—24559{ö,ÉÉÉJu‰„cÇŽ`o¯üøÑ£GUú:|ø0µk×.¥hAA„Ò$’ïR¦§§‡‡‡±±±ôìÙ“k×®‘––ÆÝ»wéß¿?·nÝ¢I“&Jë½¼½½Yºt)Ïž=#11‘íÛ·3nÜ8z÷îÛ¥AA„ NHAA¡\ˆ;ß%èñãÇ8pÈyÐRAAÞ$’ïòí·ßbeeÅõë×i×®fffå’ ‚PÂ%=Â~¡=³Í.ïPAxO‰ä»Ó³gOvíÚUÞ¡‚ ‚ Xó]B|}}ñõõ-ï0AA„ LÜùAA„2"î| ‚ Eò:û5NKœèäЉ¹]ç2ÿø|ÎFž%S’IS˦LùÏê™ÕSyݾ[ûØrm â •I±«fGïF½Øl êjê*}Ïè4ƒE'ÈËô—ÜøéºZºäeQ‰QJåõÍêçšx'e$ÑkS/6]ÝDTb”J‘•Q¤8å1´³m§Òç'¶Ÿ¨”e\NfNŠ„YÎÒÀ€–Ö-Uú±¨bÀóÔç%ÚOQæ±¾Y}Eâ-§©®I›ZmÕ± ‚ ¬Xw¾/^¼È£GPSS+©x¡¾ü߇ ”‹­Ê;„ A[S[¥L¼ÿ_(Ìÿ†:†¹–ï¹¹‡§ÉOéR§ ?¸þ@-£Zèhê ¦¦ÆŒ£3”Ök5ÎÂ*̸*kV.T¼o©LZ¢ýeó#rAx·b%ßèèèн{÷’ŠGŠÄÛÛ›aÆѴiÓòEøH¬[·##£ü 6Æ6œ ;‰Cu¥ºS᧨eT«@}E'FðSûŸ¨]­¶¢”eg—™Y¬8»Öíʪ‹«X|j1ÚšÚt´ïˆD&áð½Ãü7ð¿¥:®²V”yLËJc”ß(ftšA“:}š—/_–Cd‚ ‚Pò*kV&lrؽÞ[Ê‚Øj°ˆ¢¢¢8}ú4III*u_~ù%ÎÎÎ4iÒ¤"AA**‘|—kkk¬­­Ë; AA¡‚)³e''Nœ`ôèÑxxxðÙgŸ1wî\bccõñññ¸»»Ó»woÒÓÓ•^CçÎ8p ÙÙÙîóM§OŸfìØ±tïÞ>}ú°`Áõ¿üò nnn¹ÞÉ–×É·ýúé§ŸøóÏ?øá‡pssÃÍÍñãÇy¯ù–H$lݺ•AƒÑ¥KúõëÇêÕ«ÉÈÈPj·zõjÜÜÜ ãîÝ»Œ3www† ÂÉ“'óë7¥§§³téR<==ùì³ÏX¼x1iii,\¸Pe¼o^÷æÍ›üðÃtíÚ••+W*þÂÌåÛ× fÔ¨Q¸»»óõ×_sîܹBWA¡"+õ;ßR©”aƱiÓ&¥òàããñcÇhÖ¬&&&|ñÅŒ9’ªU«²nÝ:233éÓ§×®]ãÔ©Shjj¸OÈI‡Ê–-[”Úúùù±páBÐÐÐàîÝ»œ>}š¬¬,•1Èëä‰HH>Èõ¡ÊÜÖ|§¦¦âîî®’Lîܹ“?þøƒ€€LMMˆˆˆàôéÓ>>¬[·6l€¡¡až¯™:u*çÎÃÄÄ„I“&Q¯^=>|È’%K¸yó&ß~û-{÷îUzͤI“èÑ£½{÷F__Ÿ¿ÿþ›µk×2eÊ”%ßS¦L!$$kkkþïÿþ;;;î߿ϢE‹Þ¹ËÌ™3ñðð oß¾XZZbmm]¤ø kÖ¬Y¸»»Ó¿´µµ9räkÖ¬a„ tîÜ™ºuë«AA„òVªÉ·L&céÒ¥Ô¨Qƒ   ŒŒŒu½zõÂÈȈ… rñâEEb½bÅ ‚ƒƒùᇈŒŒä¿ÿý/}ûöeܸq…î³uëÖøøø ¥¥Å©S§hÑ¢…RÛI“&¡©Yø)hܸ1¶¶¶4mÚWW×w¶ÏÎÎfݺuhkksîÜ9êÔ©£¨ûòË/qttdß¾}ÄÆÆbff¦¨4hk×®U|þé§Ÿ[‡É{CIDATÊéÓ§‰‹‹SÜiÎëš›6m¢J•*\¸pKKKºuëF=¿0äÆÓÓSéÔ¾¢Æ_X=zôPJà?ÿüsÌÍÍ™3g6l`Á‚Eî[A¡"(Õ5ß‘‘‘ÄÇÇ#‘HèÓ§:u¢cÇŽtèÐ:pðàAîÝ»§xŽŽ~~~hkk3þ|ë« ÛgDD ¸¹¹)%ÞrU«V-Íá+DDD’’Âþó¥Ä ZµjôîÝ™LÆ7”ê  Ò—|9Í‹/ò½fjj*]ºtQ$Þr´mÛ6Ï×<¸Dâ/¬¯¿þ:ϲâö-‚ ‚P”êoùCuñññ?~<Ïvo®iÐÒÒBCC€š5k¢§§W¤>ånV¯^½hø‰DR¬×ËH466ε^^þöƒ‹¹µ¯T©Rb’=¯¥0oþÅàmVVVJŸ5þܼ+îÜb•÷ýöC¸‚ ƒäŒd6m ‘y#Üj»•w8‚ ”€RM¾---QSS£E‹,Z´(ÏvŠgffÒ»wo’““éÕ«{÷îÅËË‹3fºOÔÔÔ¸|ù2YYYhiiåÙ^žøÅÇÇ«$ë·nÝRi¯¦¦P 5ãæææ\½z©TŠººò®\¹€……E¾}”¼¯àà`•:©TªôæÛäc“+lü…K¹k×®©,á P¹{/‚ð1H~ŒÏ96(’oAø@”겓jժѾ}{®]»ÆƒpqqQlËçææF­Zµ8zô¨ÒÚåñãÇsåÊ–.]Ê®]»hß¾=³gÏ&  Ð}Ó®];ÂÃÃ>|¸ÒÖ‚)))üòË/H¥Rj×® €···¢,;;›™3gæš0êëëžï<˜˜˜Ð¬Y3îÝ»ÇäÉ“»€Èd2|||øçŸ¨Q£7.Ê4çyÍÆsíÚ5,X 4¦iÓ¦V¨¾ açRÎËËK‘lCÎAFcÇŽ K—.…½ ‚ BÅTêû|/_¾===FEõêÕiÒ¤ ­[·¦FØÙÙ±páBÅR„­[·²råJ¾üòKÆŒƒ††;vìÀÌÌŒðèÑ£B÷éíí®®.›6mÂÒÒ’ иqcªU«ÆôéÓÉaÿþýÑÑÑaõêÕX[[ÓªU+jÔ¨Á¯¿þškRÜ´iSFEË–-•öùÎͯ¿þŠºº:‹/¦F´lÙsssѤ¿þúk‘þ|—yóæ9;­˜››+®¹xñbÅ—òå=ù)Lü…K9+++Zµj…££#7¦N:ܼy“&Mšðå—_g*AA*„RO¾4hÀ¥K—èÖ­©©©„„„péÒ%bccqpp`Ñ¢ETªT‰Û·o3jÔ(•vø¨Q£;wî$11‘¾}û’••Uà>!'I>{ö,mÛ¶%##ƒÛ·osãÆ ´µµ™>}º"ù¬Q£þù'}úÛ÷uìØ‘`ooOBBW®\!66 6oÞÌ AƒJxæsvGÙ¸q#ÆÆÆÄÅÅqåʤR)[¶lQ,ãßÁÏOaâ/ì\Êýþûïxzzrÿþ}nܸAff&;väðáÊ÷S„ŠC"“às·ƒwstÎæ«›ñ9çC–$‹õWÖ³-x›Òk²$YøœóÁçœiYÊÏûì ÙÅšKkÊ,þ7å7¹„´ŽÜ?Âê‹«Yweç"Ï!‘IòíkcÐFÖ\ZCУ ò’š™Êß·ÿÆ÷‚/ûní#53µH±¾Oó.#5YQ6ºþù^ÓonK÷.III„……!•J±±±ÁÄÄDQ÷àÁžuô?UìÍÙóÝŸY©ÿ[Xí›•Ê›š§„¨UÖUêèù£JŒJT§îŽÏ½dÚ}\ú±J«JõØçÉ™é”×ðêÈù#jéh¹£sbÜøGÀÙVÏTûw¾jC`åLÎQGW‡lV›æeÌómŸ3qŽì6»:º:´`Ò‚ V8°ÅS+z¾n´ÝÐîíV±»X‡ÏÖ“ÙOª`zÁ°ÎmÖgO~¦±Ž±ªºV¥/þñ…¾,ûRmm·Ì>¡0îÁ`ÿÿLÀo¸ËEEu?è×ÚjUd¤w€£ý'̦UÎUšœtûg6–Þ¿TV‹U ‘ ¾þfIŠ‹Ð;¼£š¦åMÍ t¹·5˜kÙT°IÏÎzV§¯œ–ÅbÑihæø™rU¹äw():iÀsõìû˘ÞÏàÌ?SVÐÁʃº|ý²RbR”›•+Ã0´Ê¹JÙ㳇T«twŒûHäñXmÞ磩+\ —0ÛHZá²¢"\ùùéúá‡ß4eJÇÀ/Я͛ôÝw1Ú¿ÿ·`—‚*è+\ºÝn_‚iÇŽ*)) v%ÊËËåtŽŒY"¦LiWX˜¡3g ßÀ0=®©SÛƒ]BذÂ÷¼yó>0Azzº†óK§Ó9b¾ívC³g·êر( în9€[µ·[ôÓO‘Z³¦ïUEVø.**òW€axôQ6mJ¤_†¢ÕÚjÕ¢Ež`—‚Æl' oÈëµè«¯bƒ] pW2 éóÏãõðÃ×9ð €;Dø€çÕòåhëÖÕÔô¿ò!€¾íÝ£Ó§Ãõê«´œ °ß"–/oP\œW~˜ìR€»JS“U7&éé§5m["°ß""# ½ùföì‰ÑÞ½1Á.¸+x½RQQ²¼^éµ×‚]FÂ7„Å‹=Z¹²AëוÛìr€oÆ$ýøc”¶m»¢øø®`—ƒQ€ð !¦¨èšrs›õòËãtâDD°ËF$Ã6oNÔÎñÚ°¡F³fµ»$Œ„o1V«ôÁW5wn‹ž>•àOÚÚ,**JѧŸÆëý÷k•ŸÏüø0áBPD„¡-[®èÅÿÐÚµÉZ·.YuuÌ‚œ<¡eËÒtìX”vìø]O=u=Ø%a”!|@ˆ²X¤Õ«¯é“O®èøñHåæNÔöíñòxøêÇèS]}ŠŠRôÌ3iJJêÒÞ½5~K°ËÂ(d1 Ãv€Þ®^½ª¦&ÿý+¼¥Å¢íÛ´}{¼¬VC¹¹=ôP³fÌh׸q¬Š‰âõJ6UWߣòò8¥ŸŽÔĉZ¿¾ž,1,)))r8wúòÝ„oü¾{46Zµo_ŒöïÖÉ“êê²øý=€‘$>Þ+§³Y7´pa³lt_a˜ß‚¾oÖÞnѹsvÕÕÙhEAH±X ÅÆz5aB§ÒÓ;dá7&üh¸á;ÌŸÅîv»¡éÓÛ‚]Œ*ÜêLBøLBøLBøLBøLBøLBøLBøLBøLÂòò€9vsç0 á0 á0 á0 á0 á0 á0 á0 á0 á0 á0 á0 á0 á0ÉïY°Ê2$ÿ4IEND®B`‚fio-3.39/examples/ftruncate.fio000066400000000000000000000010631476262051600165460ustar00rootroot00000000000000# Example ftruncate engine jobs [global] ioengine=ftruncate directory=/scratch size=102404k ; 100Mb+4k stonewall filename=truncate runtime=10s time_based direct=1 # # bs option is stub here. Truncation is performed on the current block offset. # blocksize value is ignored bs=4k # truncate the file to 4Kbytes then repeatedly grow the file back to just over # its original size using subsequent truncates [grow-truncate] rw=write # Repeatedly change a file to a random size between 0Kbytes and 100Mb # using truncates [rand-truncate] rw=randwrite norandommap fio-3.39/examples/ftruncate.png000066400000000000000000001564221476262051600165670ustar00rootroot00000000000000‰PNG  IHDR3ãÁCLbKGDÿÿÿ ½§“ IDATxœìÝyç¾÷=ïyÎyGïyÏ{(, B!„Oøz:„B¡> s)„B!Þa.…B!Ä;Ì¥B!„x‡¹B!„ï0—B!„âæR!„B¼Ã\ !„Bˆw˜K!„BñŽÚÓ „º“É:::ÚÛÛ“ßVTTŒ5ŠØ^±by”Ù³g…S¦L!JÈœœœÈo ²²²EEEDµºº:²&»iÓ¦Ö¯_ßaœÃ‡/--%êp>—ššGGÇöߪ©©%''s¸tC‡ý\ˤÈÈH¢rUUû…" ûúúve"„z7—B¨¿ ˆwss#>^»vM\\\@@ ¹¹ùÞ½{;vìr¾v›âÖ­[ÊÊÊÇ×ÐÐàãã!¿"ƾ(((HWW÷Ò¥K¿üòKCCCIIÉþýû½¼¼`Á‚—.] …2oÞ¼ &477GEE½~ýšØÝÅÅeüøñÄvSSSvvöÞ½{³³³Ÿ={öË/¿œ8qîß¿Ïá\æÏŸíÚ50`ÀæÍ›•••ÏŸ?=a„ÔÔTaaá#?þ|||üòåˉþþþ PRR2}úô6•çÎ{çÎݾ}»ššÚ… kkkþùçAƒ‘9(B¨Ÿëéd!Ôõ"##ÉŸñ’’²Üßߟ(¤Óémv!ÇŠsssÙ¿"s‚•+W’…Æ¥ 9 5sæL¢püøñ,+33“ lãÆìG©®®þÜé\¾|™ØEFFæ‹ç’‘‘AâÁƒD!“ÉTSS# ÿøã—îñãÇäî¯^½" ß¼yCãRéééd 1Æb±Z[[uuu‰ÂI“&q8 B¨?Áq)„Ð'ŒUTT¾¦r¹QZZ ì™Ê¼yóØ÷"ÀX,Ö;wÂÃó³³kjj˜LfEEÙHmmíçF•ì‡Ø²e …B!¶ÉF¢¢¢–.]ÊëɽCn7ŽØ P(vvvÄŒ+ö ¡þ s)„Ð'8<ôÇb›¨ÔØØø¹jìÓÌ©T*û¾µµµäWí÷e2™'Nä°^T}}=ç\ª®®ŽÜŽˆˆh_¡¼¼œÃî\b?Ѝ¨hûmö ¡þ s)„ÐìùûM.ª’Û‰‰‰vvvm*ܾ}›L¤ÜÝÝÇŒ#$$ôøñã7òpˆëׯ‹‰‰µ© %%El>„þC„„„ˆÆÆFòž×‘ÙItt4‘Nùùù±¯À=rÜkÍš5999ÄvQQÑ©S§àí@ؼyó„ ÌÍÍãââ¸?òÆbppðÈ‘#m>––¾wï¹¶'±š9¡µµµ³'B¿yzz655ÀÓ§O¯\¹B¶Ÿ«Žê¯0—Bè?ÄÐÐ|oذa£G¶±±)))á¼×Ô©S‰ÔÔTuuu]]Ý%K–òƒÁ8sæ 1Еœœ¬©©©¯¯¯£££¬¬|ñâE°¶¶&rææfuuõ‘#G*++¿}û–ûsa0§OŸ&î-þùçŸŠŠŠfffºººbbbúúú;vìà>‰ä@HHèĉüüüpãÆŽ1ÂÔÔ´¡¡ŒŒŒ<<<¾þ(¡>s)„þC¸k×.býɈˆˆ‡r˜ùDpppðôô$Rœ·oß666†„„èèèðÄ bcc'L˜@¥R›››“’’ÒÒÒ´´´\]]@CCÃßߟX"«¬¬,!!aΜ9Û¶mëÔ¹888<~üøûï¿çç篨¨ˆ‹‹KII©®®622òôôÔÖÖæ-ò6#""¬­­)Jqqqbbbss³„„„»»ûÇ9OêBõ'ÖçW½C!„Bœá¸B!„ï0—B!„âæR!„B¼Ã\ !„Bˆw˜K!„Bñs)„B!Þa.…B!Ä;Ì¥B!„x‡¹B!„ï0—B!„âæR!„B¼Ã\ !„Bˆw˜K!„Bñs)„B!Þa.…B!Ä;Ì¥B!„x‡¹B!„ï0—B!„âæR!„B¼Ã\ !„Bˆw˜K!„BñŽÚÓ „ú˜¢¢¢šššžŽ!„º‘ºº:÷•q\ !„Bˆw˜K!„Bñs)„B!Þa.…B!Ä;Ì¥B!„x‡¹B!„ï0—B!„âæR!„B¼Ã\ !„Bˆw[÷ÜÙÙ900°›BAu·iÓ¦ôt55Q^¼ ••ñ×Öâßu¨‡Ñh,1±–!Cš$$Z{:ÔÇtú2æææ«W¯îŽPBÝêàÁƒ=Â{••|W¯Š†† ÿû¯`K ¥§ÃAèƒ7S;mZõ!M= ê:K)++OŸ>½;BAu«Þ0"U_O9yRòäI >>–]íŒÅÆ5*(´ ãHêaMM”Š þŒ ZL #$Døôi‰±ck7n,4¨¹§CC½¾Û!ô„† {zÊTUñ¹¹•ÏšU…ùêUh4–¼]()Ùââ¢PW‡¿7Q[øÿB¨»„„?.¹sg‰¹y}OÇ‚ÐWn=~¼°¸˜ú믲= êu0—Bu‹úzÊï¿ËLZ·öPÿ ¬Ìôò*¾yS$6–ÑÓ± Þs)„P·8qB²²’oÍš²ž¡.ccS7fLݶm2¸Æ,b‡¹T?ñã?ª¨¨Ðét111sssŸææO–˜knnÞ±c‡ººº   ––Ö±cÇ>7ué‹­¥§§“;&''߸qÃØØXHHH]]}ÕªUÕÕÕÚýõ¼ÊJ¾S§$V¬¨“çöP¿²qcé«WAA"=êEð‘„þà×_ݹs'ù±©©)666666 $$DHHX,–³³óõë׉:K—.}öìo­±;yò¤±ííí——G¼·‘ûƒ¢~æêUQ>>Ö¬YU=HŸWRR2räHb;00ÐÀÀ gãùýã\TU›íìjýýŦLÁ›×è=—êó®^½J¤>üüü§NªªªJKK#þ‘zôèѺuëˆjþþþdNãééYQQÊ[kìüüüÂÃÃ+**<<<ˆ’Ë—/ççç·9èž={***ïÝ»×Õ×õ:¡¡Âvvµ¸²9ê—kKKù{:Ô[`.Õç‘wÍfΜ¹`ÁQQQ--­;v…ýõWcc#øúú%†††¿þú«„„„‘‘ûøS§Zc·qãÆ±cÇJHH¸¹¹‘…/^¼`?¨±±ñÚµk%$$ Úõ3”„Ak뺞¡naaQÇÇÇÂ舄¹TŸ—œœLl\¸pœÃ4iÒ$¢°®®.++ 233‰cccr_öíNµÆÎÌÌŒØ' kjjØ:bÄò+CCCžNõ/_Ò˜LʰaM=HJKKùå333]]ÝéÓ§ÇÄÄk|@Ôñóó#>755íÛ·ÏÒÒRSS3,, ZZZþùçŸÿýïÆÆÆC‡522š9s¦¯¯/“É$vOII!v×ÖÖ®¯¿ÄO?ýD’ã²'Nœ JfÍšõ¹hgÍšEÞ€iÓ¦»¸»»sŽóÀÄWöööäîÿüóQHþ ²·ÐÚÚzâÄ ==½ &øúú²Xß@Çb±nß¾½hÑ" mmmKKËåË—'$$ßFDDh°!*¬X±"66–Ës€ÖÖÖ«W¯Î™3ÇÄÄdèÐ¡ÆÆÆóçÏïÃØ KM­9#—AGïá|©þHkH||_•@·i ÄÄĺ¤eÔoó€¢"³§i«¢¢ÂÙÙùÍ›7ÄÇ„„„9sæL:•Ã.nnnáááäÇúúúùóç?yò„,©¬¬|òäÉ“'O®\¹rîÜ9))©òòòæææÿý×ÒÒ²©©)11‘¨3fÌxüø1Qbeeõõ§Ö&N…Âíãfk×®%ïÈgffnݺµµµõ§Ÿ~€ÆÆÆeË–=|ø¬üöíÛ·o߆‡‡gdd´oª¹¹ùíÛ·ÁÁÁ!!!;wîtvvþâÑ/^E–¼{÷."""""bÞ¼y¿þú+—gñÍ((0KJð(zùõyÆ #6,XÀê1n¤¥¥ET{úô)¹o||õöö&ˆöÞ½{÷êÕ«‹/¦¦¦feeÙÙÙyyy‰”бcÇž={vöìY xöìq7œB¡Œ5Šh!&&ž>}ÚÐÐÀ^Âd2ÉŸ>KKËÏàççG¦\˜•••••µÿ~Îq’_qùÑBhhèãÇÉŸñ³gÏûöí#) …²bÅŠˆˆˆÄÄD???ò@ÖÖÖYdddDEE¹¸¸‹Åòòò"æ|.{÷î%)999__ߤ¤¤óçÏ‹ŠŠÀ_ýÌÍY|KBB­µµ¸,zs©>oÉ’%ÄÆÙ³g:TTTÔÐÐðòåË;wî,Y²äçŸ&¾%ï#ÄÆÆ:t¨²²òßÿݸq#o­q‰}Úþ ¨Ÿ!n q= ò´´´Üºu‹Øž1c†­­­ˆˆÈøñã9KíÙ³ÇØØ˜F£@ssó•+WˆòÙ³gÛÚÚ [ZZ.X°€(¼qãF]]°¥GDæDü—øC%==øA nÿIHHå:::ì·Éˆ±+î±ÇÉŽûq)OOO555YYYr)//¯¥¥¥¹¹ùŸþ!J¦L™²jÕªˆŠŠššš9r¤};üüüòòòäìÉwïÞ¥¦¦r>tsss@@±½zõj333ƒaaa1}út¢œyÙ{P(Àv ý×a.Õgx{{S>E 5999mذZZZV¯^­  À`0444&L˜püøñââbb÷3fL™2…Ø^½zµ„„„±±1û߯Ŀ¹\¶Æ¥Y³f988ÛëÖ­“044ìì/ „ºDii)y‡ZOO,gßnC@@€ýÛüü|"Uú\ ÍÍ͹¹¹ÀvÛ.))©®®Ž™:uª²²rkkk\\9B3jÔ¨¯¿9Þ&NÐh4mmmb› €–––ÆÆÆüüüÚÚZ¢äs·#›››ÿú믙3gšššjiiihhèêê’ß–””p>:û…ýå—_È„òôéÓDazz:¯g†Ð·€¹T°k×®ˆˆˆ™3gªªªÒétâá»É“'Ÿ:uêï¿ÿ&êP(”€€€ß~ûmðàÁ4MSSó?þX±bÙ9sœ›Ö¸D¡P._¾¼mÛ6öƒ’O"ÔS¸L_„……Ùk²ÏÅfïaµ ““2d´´´DFFkª™››“¯cbbÈ\ŠÃ >“]këÇ;­í';’„„„È3â0”õ¹¯–-[öûï¿?yò¤¼¼œœƒOj_ÒYd¦…Pï„Sçz»öÿLwÈÊÊê‹3X6oÞ¼yóf²ÄÛۛؠÓéäÜ&nZÓÒÒj˜ˆˆHûB¶uëÖ­[·²ryRu!YYYQQQbQþ´´4rÄ4))‰Ë”•• qo.))‰|D.%%…Ø4h±miiI¬ òçŸ655III 2ÄÜÜ< àáÇD5òís7Â8'mŸC®©[Uõq¹TÞ–ÉURR&†¦"##'OžÜ¦Baaáýû÷‰mWW×¹s犋‹¿{÷®ýcŸ;%%%!!!"aÚ¿?9‚ŽP_ãRÿ!ëׯ߶mÛÓ§Okjj Ïœ9C¦8sæÌi¿ 9Bý ßĉ‰mÿˆˆˆÚÚÚàààË—/sÙ‚€€9¹Ê××÷Þ½{uuuQQQ§N" 'MšDþ‘I±Îˆ™™…B177€œœœ¦¦&PWWWPPà|PrÌ)>>¾¥…«wò¨ªª………AAA555¼Íà gP]»vÍÇÇçíÛ·555ñññ‹-*õãßä‚‚‚yyy>y÷¹s˜6m±½k×®»wïVWW×ÖÖfeeݼysùòåçÎã!r„¾—ú)**:wîÜöíÛÛ”=ºÍcAõK=ÊËË«ªªš?>ðóóO:•œ[ýEëׯÏÈÈxòäImm-ñ¨iøðá샾¦¦¦4È™€È¢äååUUUsrrˆBnVC422"ôòòòòò.o¾ûî;eeå¼¼<Xµj0ŒiÓ¦]ºt‰Ë3eçáá‘••õèÑ#‹åããC¾3ŠŸŸdee­¬¬"##`÷îÝ»wï€ü±Sç²víÚ¬¬¬èèèÒÒÒÅ‹·Ùñ+gƒ!ÔÝp\ê?dß¾}^^^¦¦¦RRR4MQQq„ çÏŸ¿w¾§õÎÎÎRRRt:ÝÐÐðܹsíç\sÀ`0.\¸ðûï¿›™™‰‹‹óó󋉉oÛ¶íÒ¥Kì- š˜˜‰\Š}¸ž,µoß¾ï¿ÿ^BB‚û‡òètú… Æ/''Ç`0,--†Îåîm þõ×_´±±‘••¥R©òòòãÇ÷÷÷'*øøø,X°@YY™F£©¨¨¬[·nÛ¶m:ƒqöìÙýû÷[YYIKKóóóKHHhii999;vlîܹ¼EŽÐ·AéÔÌb¤—|x!Ô‡tÕÏoQQ‡YÌpû¶ˆ››|VÖ˯<з±téRbAs29@ˆ3WWy8|¸¨§AÝE]]ûÊx!ô²hÑ"[[[SSÓ”””\¼x‘H¤€m94„êÌ¥Bÿ!™™™äCgìæÏŸO¾w!„:s)„ÐÈ™3güýý£££ß¼yÃb±deeGŒ1cÆ ö¹M!Ô)˜K!„þCÔÕÕ7mÚÔÓQ „ú|Ž!„Bˆw˜K!„Bñs)„B!Þun¾Tffæ‹/ØMÑ ^¢¬¬LDD„N§÷t ¨+•••/ÜE!Ô…p\ u ¾¾žx+B!„8ëܸ”¦¦¦¦¦&®{ÞïQ(”… 3êÇ0—Bõ%K—jötëµµñâE5?n.%Õ2?„úÌ¥:!:::44tîܹªªªÜÔôèÑ’%Kº94ÔÍ¢£!4æÎîºÂÃáÑ#X²°ë»ÚŸfÊÉѧND–´´°¢£K23«ZZZÕÕÅ,-eétþ6{%'¿KL,¯©aÊË Ž-/-M'÷=z4CMMÄÁAùåËêGŠ›šZ ¥Œ¥Û´P[˼{·°  ^Aag§ØÒÂ:{ö¥¾¾„BûÀ¸o–Cl]îåËê[·òŸ=«€³g_R©|õõLƒÚÚÊzýºÖÇ'¨æä4PQQˆ=þèè’ŠŠÆ¥K‡ÖÖ2ÏŸÏf?kx÷®éüùlIkkùΞ{ZZeBBYuu³ŠŠˆ……¬„üª¼¼1.®ôõëZ*•OSSläHY~~ Ô¾n³²²0±ýÍ®'B$Ì¥:!::zûöí666ÜçR^^^ŽŽŽ˜KõyÑѰ};ØØt"—òòGGÌ¥ºÜ¤ëéI’¹TVVõÒ¥1¯^Õäå61BŠøXZÚ¸zõ“ÇKÈ uëVýiÓ“Ùêã“fk«˜Ÿ_·o_ ‹õ¾ÎôéƒvîAî’”TáâSRÒ@|”“ôô4ôñIûßÿÔȬ‚=0.›å[‡®^}ýæMçKôÓOj’’´öåÙÙ5>>i¢Í`ÿ*/¯ŽüÊÌLFVVˆÿÅ‹ª£Gß×\°`Hees›³¢pî\u"—âòÜKJÜÝ㣣?ž»°0ÕËkÄøñJ°cÇsÿWMM­ä·ªª"'OŽœ¦¤$ääô>áPRb‰‰åáá…VVrÚÚ‚‚üxî›ó¹3™¬ùó£ÓÒ*……©cÆ((* åç×EE§¦V¹Tdd±œÃÐPRII¨±±5-­2&¦dݺFÀpsÓn3oס.¹T'XXXXXXôt¨'XXv}ïsóf~~~݈RçÎY2üÀd²V­zœïç÷jÕ*íÐЂ¤¤ŠI“”÷í3&î@RRÅ´iÿú+ËÛÛ„()+küóOs[[E⣕•ÜÚµÿ>xð–øÅóf^qqƒµµüñãæD>Q_Ïœ3'ª¬¬‘sxœ›å2¶6~øAÅØX†óq?7J]]ÔÍM+5õ]vvõòåCÉ;¡G¦«¨»¹i‘5[ˆø÷ï7ž2…——†q>÷[·òÒÒ*‡ »pÁ’¼W[Ë|ýº–ØÞ¾}¸ššhLLIaaÖjj*SZÚ˜X^QÑ4`€››Vû˜ïÜÉçáz"Ô%úX.EÎ@’””¼yófVV–¼¼ü”)S¤¤¤È:W®\yþüùºuë„„„ÚnذAPP½11±7näææ2dÊ”)üüüPXXxóæÍòòr“±cÇ’t8_*777<<¼¨¨HJJÊÆÆFKëãÏ6©®®îúõë¹¹¹ ˜7°Š‹ßßÑKL,WW-r`†Á .[6táÂÇœÃãÜ,—±µñ-Ÿ\Ì@1Ö¯‡]ÒÒp÷.|èz¸r|}aÅŠ¶¹”¯/¬Zõ1—òò==ðð€]7nÀܹð¡ëaéRøÐõÌ—Ú¸öì] ,Xül]/^€£#|èz‘«WáC×ɰj°¿÷P_BC¡w}W«¬löÂ…)x÷® ÊË›àÒ¥Îí(*2Ø? ½âb?Š’’{r¦3ÏÍr[_3_ª³TUE¾\é38Ÿ;Ñ;jj¢îS² Ægk«0h°•B¡DF%&–·¶¶Í®H¼]O„ºDË¥‹/¦R©..."""ÁÁÁ©©©+V¬ˆŒŒìl;Ë–-^¶l??@@@tt´«««¯¯¯‘‘‘¹¹yii©¿¿ÿ±cÇ\\\ Úï~ôèÑ]»vQ(mm휜œk×®:uJFFf×®]dµåË—Óh4AAÁðððÔÔÔ~ø!==]ZZº¶¶våÊ• öööººº ÉÉÉ<())éϹ:ÿþ îî`bææpêœ9s怋Ëv\¼¨Tpq†ÔTX±:ßõ°l òeÀÏ ®®àë FF`n¥¥àïÇŽ‹ tÔõpô(ìÚ 88€¶6ääÀµkpêÈÈ[×Ãòå@£‹  Bx8¤¦Â?@z:HKCm-¬\ `oººÐÐÉÉðà””`.Å=qq¼~]3pàÇDçÍ›Z ˆ'ˆ ³g––l³¯  ·³ˆFòóëää>6’—Wûu±óÛ×Ì—ê,òN‰ÿ««c²|!·kèììj•RÒû÷ßÀ‘#¦cÆ|ÙJK{ǹÍ.ék„xÓ's)uuõ°°0ƒ»víÒ××ŠŠªªªëT;ÚÚÚ!!!t:Ö¬Y£©©yæÌ™M›6íØ±ƒ¨`mm½páÂ[·nu˜KíÞ½._¾üÃ?%±±±VVVÞÞÞ›6m~ÿo„¢¢bdd$“Éüñǯ\¹röìYww÷ššš†††… žüùç—wTW‡°0`0ví}}ˆŠ‚ª*èd׃¶6„„°f hj™3°i|èz°¶†… áÖ­Žs©Ý»._†]±±`eÞÞ°i|èzPT„ÈÈ÷±1™ðãpå œ= îîPS °p!°u=$'ãs2b„t``îáÃé#FH1Thia8 FFÒ0r¤L@@NK kÅŠ¡||3ƒ’’†ÂÂúÏ5Û†¡¡Ôå˹Gf;fN¥R ±±åر̯ ž·Ø¾f¾ÔçÐh|Ä@ÑÉÈÐøbbJZù ©©•‡K1r¤l@@îÞ½)ÇK‘i1_J[[œ˜ä "òqˆ7&¦äÞ½·œcî’¾Fˆ7}2—Z¿~=‘HF³µµÍÈÈ(,,ìl.åááA$R ªªª®®ž™™¹aò‚­­-·çؽ~ý://oÔ¨Qd"fffÎÎÎ~~~ VVVd´d`T*õ·ß~»råJTT”»»»¼¼ü¨Q£t=¬_ÿ10*~û ®\¨(pwyy5 <€  °¶~_í?Òõ]gÒ$¥£GÓããËÆ¿K>Ç—•U-.N›5k0Lœ¨|öìË‹s"#‹-,䤥iUUÍ995qq¥  Ñ×çêÙ®I“”½½Ó>Š“Ó@YÙ¶C;>>Š|XXá¤I÷ll䛚XÕ;eÂå'^¤§W~÷]Ș1Š Œ‚‚ºGŠgͬ­-nh(‹ÇŒ?@R’þâEÕÇERR´ÒÒ“ýÛÇÜ%}oúd.5pà'Ó!EDD ¹¹¹³í(++³–””$Ç“ˆ¨«ë`»¢¢ÔÔÔÚ”«««@yy9Y2xð`ö ÄGbw>pàÀæÍ›SRR”••G½téRSSÓΞKŸdeƒÁ«Wàè\íòi׃ˆ@ç»>ízII`ëú÷Ûu=}×®ëA]€­ëáÓ®ÿñC×Cp08›7CJ (+ÃèѰt)üGº¾‹0ÔÓ§-ˆõ¥üü^…rr‚‡›÷ãøù)§O[¬_ÿï½{orÈåå¹ÿå*,L=vÌÜÅåqvvuvv5ÈÊ nܨçî/$Äû?¡][—˜7Ocýú¯_C|$Ö—ú\åµk‡%$”¿zUC¬é5p —׈ùó£;uD*•ræŒÅªUOââJoÜx\ªŽŽ8Œ7`Ò$å›7óÞÿ1ãì¬**J=s&‹CÌÊʽäz¢ÿ >™KqFL9¯©©‘‘ù8þúõë®=Ф¤$dgg·)ùò%°?WøêÕ«‘#G²$w‘-[¶lÙ²¥±±1))éĉæææAAA&LèÚ€{£eËàÕ+PW‡óçaêT˜4ék$¦œ×Ô[×CWw=}×®ëáåKøä¹ÂW¯€­ëáÕ«»€ˆlÙ[¶@c#$%Á‰`nAAð_èú¯Ðæµw¢ÁÁ¶QQÅ™™U--,55Qkk9öuÏ%%i'NŒ|ù²:>¾¬¼¼IJЦª*bl,ML¢RùÜÜ´ÕÔ>™dMjh|œ=|¸äÝ»ßß½[XXX¯ À°µU¼w¯>aÍ—ÍrŽ­›88(ëèHP©§99© &YÙÌb’£Ãø jj¢aavaaÅÅÊÊB¶¶ ­nnÚäN\ž»œœ ŸŸURREbby}}‹ŠŠ°……,1ç 4™5K-9ù…FFRzz’‹ˆÏýµzèz"ý2—RQQ€[·n-_¾œ( ‹ŠŠêò£(++GEEݸqcòäÉDa|||`` ƒÁ1âãò¾^^^“&M&“¹eË5jæå噘˜N766–’’:yòäùóçû.uò$œ= óæÁÞ½0büü3$$´Èé,€[·àC×CXtu×ƒŠ (+CTܸºâã!0 `ëzðò‚I“@T€É„-[F(,„¼<01 ÓÁؤ¤àäI8s)ÎÚ¿öŽŸŸbm-O,ºý9êê¢êê<5ÆÏOa_£ès…YYÕJJBäMGŽdû{QØã²Yαuåö…C‡Š úÉòC%ˆ‰ °¿Ã‡Áø¤r§Î]OORO¯ãA#i“—×ÒRÎÒRŽsÌ„o|=‚~™K988lÙ²eåÊ•‘‘‘ƒ JOO ’““{ûöí—wîŒ 6¬X±ÂÑÑÑÁÁAKK+77÷êÕ«ÍÍÍëׯg¿QXXX¨­­íàà@§ÓïÞ½›’’"##3wî\ÈÍÍ9r¤žžž¡¡¡’’RyyùÍ›7 Ÿ?Ä àæÇÃÑ£À`@@XYÁ´iýq`ËX¹"#aÐ HO‡  “ƒ®îzذV¬GGpp--ÈÍ…«W¡¹Ö¯ÿäFaa!hkƒƒÐép÷.¤¤€Œ Ì › #G‚ž‚’”—ÃÍ›€ñõN¼=v,ÓÂBVYY¸¨¨þÁƒ¢Êʦ‘#eµ´Ä{:4„PÏ뇹”›››··÷¥K—ˆ’Í›7gggûúúví–/_ž——·wïÞ›7o9±¾ù áÈ‘#Ç'>ëKIKKÀ€LMMãââ’’’ÈúÖÖÖÄØU¿õîL›túû05…ƒaùrpu…'xoÙÀÜÜÀÛ>t=lÞ ÙÙÐÕ]Ë—C^ìÝ 7o¾Ïˆõ¥>íz8r<<àC׿__JZ`À05…¸8`ëz°¶†þÝõ}Ö!b-·oç“%zz’û÷÷`H¡Þ£åR¶¶¶‚‚‚m– åä>ÿ:thÆŒ‘‘‘T*u̘1Ç¿r劆†±PççÚqqqy÷î“%L„„„¶nݪ¯¯O|d2™@¬Nصk×âÅ‹ÉuÏ¿ûî;öuω£X[[§¦¦««+))±¯{®¢¢›šš_PP ##cllÜáú ýJb"üü3ØØ|2ß|Ù2€’(*êxlÆÖÛ.@²u=:3f@d$P©0f W®€†|èúŽÛqqO»„„`ëVøÐõÀd°u=ìÚ‹\÷ü»ï>Y÷œ8е5¤¦¾_]]Ié“uÏUT 6RS!> @FŒ;^õ£GËGEÙ?~\òæM-??ŸŽŽ¸©© ®Q"PX¬Ï.#Ûž³³3t[<½š‹‹ËÉ“'“““‡ ÖÓ±t/ …²jÕªƒöt ½†‹ œ< ÉÉЗ»¾«~~‹ŠŠjjj8T¸}[ÄÍM>+ëåW¡^ËÕU.êé@Pw!žÊçR—ê)AAAׯ_?þ¼¸¸¸¦fÛ©¯¨? ‚ë×áüyìz„Bí`.Å•   S§Nñññíܹ“ý]{¨ÿ ‚S§€vîìz„Bí`.ŇaÆYZZöt,èÛrp€aÃÀÒ°ëBus)®888ôt¨‡`×#„âßžB!Ä;Ì¥B!„x‡¹B!„ï0—BõÍ-ͳ|gˆ8ÐÓp’˜Ÿ8ËwÖ,ßY‰ù‰daŸˆ!Äœ{Žê3ZY­qoâÄ;x£m/Álen¼³1«,‹ÅbUÔWå½?r„Ï:—K•••ååå­^½º›¢A½Gxx8vt?óìÙ3ee垎¢Ÿ;s¼¨¦È~¨ýíôÛ= Bèé\.õâÅ‹¼¼¼C‡uS4¨÷HNNNNNîé(P«¯¯ïéú³œŠœ?¢ÿØj·5³$³§cA};Ë¥ÌÍÍá?ü>¾ÿ|_¿D¼¯hjiòKô‹Éieµ)ýdô“€ùmqMqÀó€Ì’ÌšÆe eKUKÛ!¶”îñ¦àM œõ¿ûû+³X¬£ÑG£s¢u§ŸÞݱ!„ºΗBõ1­¬Öy—æÅ¾Ž%>Þ˺w%éÊÅÿ]”dH@fIæô Ók?¾}Ù7Áwúðé;íw~®Áww&¿ýÂ(ì¾Iûˆ àP!àY@b~â­·¸IÚ™ën­»~Ûu”+&Rõu˜K!„ú˜ˆìºÈ:›uCd†VžŒ=ù²ì¥g¸çþIûàâÓ‹556ê6ŽºŽ‚y•y^=ªn¬æÐ`zIzÜ›8έoæt{´¼®Üë—›¥›ª¤êã/­-]¸8½$ýàäƒÚ¸°>B}æR¡>†¬ó3ÎëÈëíµìíNØÝJ»µcü!!*ö9ì“`Hf̨j¨âÐà/ßýRÕÈ©p”ò¼ë©(ª¸ÐláƒÏ(ÉX°¨‘Ùè;Ë×`€Áë#„z?Ì¥B}Œ¶œ6™H€$CÒvˆmàóÀ¬Ò,}Eý™†3¯&_u tqÔuÔUÐ*;”N¥s^Œ@[^ûkâyôêÑ­Ô[Wæ^á§ðs®™Q’1ýïéŠbŠþ³ý•Ä•¾æ ¡Þs)„PÓ>1€Ff# –¾8üFÊèœè3qg ª ,[®³Y§!£ñ¹¿r¾ÔÁˆƒ‚‚¿‡œož[‘ ûî;{jãØº ºD¹¿?UCUmSí—Ï!ÔG`.…êc2K2›[šøÈ’¤Â$•'>Š ŠÿdôÓOF?@qMñ’ËK~¾øóý%÷éTz‡ ~å|©ºæºÚ¦Úö-+#T6T’%jRj‡Ͻ4w¦ïÌSΧ • 9!Ô'`.ûöí[»víýû÷mllz:–OôÚÀú–}!ûÖ®½ïqßf¨MOÇò‰^XïWZ[º#|Ç&ÛM4~‹Å:6îMœŠ„ŠŠ„ œ?«%«e>Èœ¨,É¡‹çTä •Úaƒ_9_Êk¢W›LëïÿÎöía¨d¨%§ÅþÕPÙ¡—þwégÿŸ¾øóŸNZ¶äæ”B½æR½‚§§çæÍ›###--ñÖ~Èó–çæk›#×GZj`ÿvuiõÀçAiAª’ª…Õ…%5%àaãA|ûðåCÏpOaš°Š„ JË.Ë®n¬–dH™V‡¾r¾”¾¢~›’°Ì0ДÕ4S1k__EB域þ™wiÞ¢ÀEû'ퟠ5ákŽŽêqøncððð`±X½pì§×Ö·xŒó`dõ±Ÿ^Xï7Xj°£?…ÿyáó’šQºèNûdF2ÏdÞ(ÕQuÍuiÅiÏ žU7V›©˜q–!ÀèÙ°ÙɉÈùÍöÓUÐ]u}Õŧ{:„ÐWÁq)„PŸ!À/à;ËW’!©)«9zÅè¥/ZY­š²š4~YÇZÍÚZͺ®¹.·"—Åb)Š)kx~K?ýd§iÇ~K‘Œœ,??ãüóÂç ¥…ÕòÅgB½Ö·—JMMfL´††ÆØ±cÇŽk``ÀLJÓfþ£º½ãÝÝÝ+++'Nœ˜””T[[› ¯¯Ê^ÇÃÃ#%%ÅÉÉéÉ“'555eeeþþþ®®®µµWañóóóññ)((¨ªªºpá•J=rä‹ÅêT#—/_Þ¿^^‹Å:pà@û€W­Z•––¦§§T\\\VV:vìØÏ½ckåÊ•ÅÅÅÖÖÖñññµµµD ÕÕÕ‹-b¯F·   ¼¼ÜÏÏOJJêÂ… wïÞ€ððð;v@dd$‹Åb±XìcQ=ç«ÔåÜÿq¯¬¯œ¨?1i[RíÑÚ„Í úÊú¡)Ÿöo€GJAŠÓ§'¿>©9RSv¨ÌßÅ_‚!áêçZÛÈÖ¿±~>3} öT®º°ð•zä[ÿr×Èå„Ëû§ïÏÛ›Ç:É:0½£þ½´*­0MOI/È5¨ø@qÙ¡²ÐÕ¡cµÇRà3ý{qequ±µ¦uü¦øÚ£µ)ÛSœF8U7T/:ÿiÿ&\Þ?}Á¾‚rïr¿E~RÂRb.ÜM» ákÂw8î€Èõ‘¬“,ÖIÖƒµx>ç«„úfÌÌn]¸pÁÚÚ:88xúôé^^^999=êÝ›KÕÔÔ„„„¨¨¨êêê ^½zUFF†¬ÓØØèïï?lذÀÀ@cccaaa))©3fxzzVTTDFF’5·lÙâêꪨ¨(**:{ölGGÇòòò7oÞtª‘Õ«W¯Y³FI©ã‡ëë뤤¤ÂÂÂ&Nœ(+++%%eggÎÏßÁ |mmí;wääänÞ¼idd$$$¤££séÒ¥aÆ=}ú433“¬¹jÕª5kÖ(**JJJΜ9ÓÛÛ¹¼’܈ÃUêr55!)!*R*Ku•t…hB†*†W—]•aë_f£¬ÿ°Ã—« Ó…¥„¥f˜ÌðüÁ³¢®"ò[ÿ:lqãª(®(*(:Ûl¶£¡cymù›Š7jdµíê5vk”$>Ó¿ÍõñRÂRakÂ&êO”••–²Ó± _ÎÏ×Qÿ6ÖÞIº#'*wsÅM£AFB4!:—_6`ØÓ7O3‹Øú×vÕ»5ŠâŠ’B’3MgzÏð€À¹î_®Äá*!„¾% …jnn¾qãÆ»w„Ìž=ûÖ­[vvvÿûßÿ‚‚‚šššz:@ôítï=¾œœœ––kkkAAA²P\\ÜÜÜ<((ˆø˜]__Ÿšš* ÄÀ ±ìw£Û<Ѧ¦¦ÕÕÕjÄÎÎŽCÀ¯^½jll´··———çò™L¦•••˜ØÇ…˜©Tê¸qãRRR²²²45ßO7nûŽãÇ€¬¬,nŽÒ©q¸J].§4§¥µÅZÓZP€­âæjæAÏ?ôoIv}s}jaªÀ’]l]SÎÖ¿Ÿ>Ѧ&«Õ ÕjÄN‡cÿ–¼jd6ÚëÙË‹q׿e9ÌV¦Õ+1Ûe磎6.¥ %«8KSþCÿû´uÇ@V1×ýËõ8\%„POQWWwuu]¾|ùãÇ/^¼èáá!##³bÅ ggçÿGýÌ·¸¹Ûþîû- bÒ‹Åjiiiiiimm%3!`OíŒOi&š%jr߈´´4wm}r—î8‡«ÔM:è_`ë_Ö‡®imiimie}Ú5L¶þ¥}9°õ/×H‹pÑ¿Ÿ¹÷Ùú<ô/t[ÿ~þ*!„zߨQ£>üðáC[[ÛíÛ·7.((¨»B=®{Ç¥TUUùùù#""È¡©ªªª¸¸/[þˆÌˆ†ærhªª¾*î[ÿÊ ¦SéÆªÆÖEÿvE#0Xv0JxQ\],'ÊEÿJ«Rù¨‘/"«ê«È£–Ö–ÐÔPÐcëß”±Úlý›|Ôe?ô/…˜-Ÿï_®„êýäåå·mÛ¶páBooï5kÖœ9sf×®]C‡v¼ì>êºw\JDDäûï¿ÏÍÍýñÇSRRêêêž={6uêÔ’’²ŽÐŒ3¢¢¢fÍšóîÝ»†††ôôô³gÏŽ9²±±‘›uI#À`0œËÊʾÿþû;wî”––VTT„……ÙÙÙµ´´´¯/,,loo_TTäèè˜PWW—––6sæÌäädò¾:tèÀoß¾­¨¨ð÷÷_¹r%L›6øVJJ BBBêêê: Œû}K"t‘ïu¾Ï-Ëýñø))uMuÏÞ<›úçÔ’j¶þ¥ Í0•5ë䬘ì˜wuïšÒߦŸ>;r×Hâe´_Ô%C€álì\VSöýÁïï$ß)­)­¨«K ³;`×ÒÚQÿÒ…íõ싪ŠÿpLxP×T—V˜6óäÌäüdƒä}78~è@Ø·•o+ê*üãüW^\ ÓŒ>ô¯IqãÏ IDAT°„¤„Ô5}¦¹>B¨¯PVVÞ»woPP•Jutt.ô퟾?êeÔg7n<ûп"ÒcµÇÞM»K¾zöàŸ½yæçO®V@êDÿvE#D;q¯âž½y6ÁûÓþ…Ïôï‡b³cï§ß7ÚÁvÙé"'þ´G8¹ÿãîþ[ÿšÍ&GªFkަP(»ïìÞ}g7ñ±ý£|\!Ô·hjj^¼xñ¯¿þÚ»wo||üÁƒEEE{:(Ôź}¾”¶¶vTT”ƒƒƒ¨¨¨¨¨¨½½ý£G˜L&•J%ÿ’””|üøñž={ŒŒŒDDDˆ‡Ô-ZË>i³.idddâââ~ýõW---:.''7~üøððð—55µøøø ())Q©T99¹3fþåñži{Œ‰ÐEˆ‡ÔY-ŠÝË>i³.idDdâ~ûuâ¯Z Zt*]NTn¼îøð5á..j²jñ›âX.P’P¢òQåDåf˜Ìx²é ûšO°Á~ƒ÷ ï!rChTÚ`™Á;wœ–ý*žsZg€úùþåî@¡>‡oÁ‚þþþ©©©3gÎ$— Dý¥SÓ;;;@@@À×2//oèСêêêÏŸ?ÿšvúŠ 6xyy%&&ôt,Ü¢P(«V­:xð ûæUä Ý4T]Výù¶ÿFÿ^Þà앸%Ñ``oïß.ùù€¢¢¢ššnßqs“ÏÊzù•B¨×ru•€Ã‡‹:µW~~þüùó[[[/^¼È̓P¨‘š¹ñ-žãsrr -))y÷î]xx¸ƒƒC]]9UõuN8…¦„–T—¼«{žîpØ¡®©Žœ*„Bˆ ¤¤äëëËb±æÏŸßÐÐÐÓá .ó-ÞmzõêUö--­5kÖ|ƒC£o 45ôjâ§ý« µæ{ì_ôäUæÙüió¿ÿÛöý6¢Do¿žž‚žßl¿«kT5TE¼Š¸ûâîÃì‡U U‹Í¯µYÛÓA!ÞÉÈÈœ={ÖÑÑqûöí»víêÁHŠ‹‹/^¼hfffffÖƒat¨µµõÙ³g±±±MMMS¦L4hP‡Õþý÷ßçÏŸ·¶¶6ÌÔÔ´ßáó-r©ëׯ~ƒõNäÓyýÕXí±ìK+ý×잺{÷ÔþÜ¿}Q’{RO‡ÐeÄÅ´ÆhŒ©gÖÿzçמu±cÇÚÛÛÿöÛo!!!ß`aô‚‚~~~ö\J^^¾&RpçÎwïÞ466¦¥¥uXgëÖ­T*õöíÛOž<<>> ãØ±cáááD~~þ]»v999@\\\`` ÄÄÄÄÄÄÜÜÜÚÌ—"Ú¡Óéd °ÿ~ÿæææùóç¿}û–(6lØ?ÿüCfKÏž=[¹re^^¡¢¢âŸþ©««K|<|ø0çÕ—„„„.\Èýu#«ÚÜ477€ôôt2ª%K–°¿dEFFÆÛÛ»›îib.…ê3ž>÷Oô¡‹l¶Ý%%%**jëÖ­vvv¢¢¢¦¦¦Ó¦M 477755ýb; S§N•””ŒŠŠJKKÛºukAAF›={6??ÿ­[·RRR.^¼8gÎÈÏÏŸ7o^UUÕðáÇN£Ñ’““cbb-ZF?N»råJÑÕš&i¡I‚5vìXÿk×®¹ººjhh€ŠŠŠŠŠJ³Ê:†p¹ÔÓ§O™L&…Bé¤hP÷qèСC‡‰; ÔÁxÚö*J2J¼›.Øœî;4°ÈÏíÿY‡ó¥rrr•••Ägr¶¸Èˆ@Œô°X,aëiroQFF¦ÅÂŠŠ âsII ›Íþõ×_›WE¶«ÃçK©««À‡,,,ÈB"½#vÀš5kôôônÞ¼¹sçNYYY[[ÛÉ“'?¾Å ÛO¸\ÊÔÔTFFF\p¢.sèÐ!+++777q‚:Ò½{÷zz.¥¯¬‘™‘³m¿ÜPˆÈŒhýŒ–¹Ëù™ç‡ ãsÀý´û-@ ‹-ô/*„š¨ªªRSS#>7_hŠxîŒæ!}øð¡kb„‚‚BCCÃ’%Kšï"çËwø|)âI½¸¸8WWW²˜VO>ÄG¥R§M›6mÚ4‡“••¾nݺW¯^mÜØ)¯ .—RUUUUUí•·¨9tè››þEex´é¡Æš=ùôäÿÿOZBz”É(6—}?íþñ˜ãÂÖãiíy"öĺÛë6ŒØàdè¤&§V^WžUšu/õž&Có{‡ï'[Mþ-ö·OO°¹ìi¦õ‘ïó¡üCèÛPº}á… $£ô®è]NYŽŽ¢•Òê›+p¾⯴´”Ïkï‰éÕáááS§~ž ˜ŸŸõêUa¯BÜù*++5ÌV9::^½zU__òäɼåiiiÄb Ð ó¥\]]wìØ8wî\âûaqqñùóç€>|8F£R©FFF.\¸~ýz·È¥BHŒh ˜e;+ )`Ó½Md¡‡¥ÇÝÔ»BÕc l°cÜŽm!Û¶ÜßÒd×Ò¡KÀPÅp«ëÖwžˆ=q"öËJÊË—†ê ½›z×õÄç¯Å·¾Ôµäk[ïo%7O>=yòéIà}ÿ ꡲ²²øÜÚëß¿¿††Fpp°MQQQHHˆ°™èêêR©ÔÀÀ@‹¥¬¬ µJç²eË‚ƒƒ×¯_öìÙÊË˾}û6%%Åßߟx¶NØùR!!!oÞ¼€/^À­[·þþûo ×ÙÒÑÑñôôüóÏ?§L™âáá!))yïÞ½‚‚‚Ñ£G“ãR¾¾¾ÊÊʃ ÒÕÕmll$f(ñÞìX˜K!„z¿1~úJúÄZš Í™63=ú K€÷@o ÿxÿøÜø’šYeƒ –&[}þz=Ïnž™º™ÿ3ÿ¤¼¤ÚÆZ]%ݱfc~³Øûã¨YÖÓœ§åuåü¿s#Ôš/^ÔÕÕ}óÍ7™™™- --½mÛ¶5kÖÄÇÇÇÇÇ€““Ó¨Q£üüü„º’’’——WPPÐ… ˆ’ŽÊ¥ttt.\¸°~ýú—/_¾|ù’,·´´$)„††Þºu‹Ü$?ó®³åççWXXyñâE¢ÄÎÎnïÞ½äY®®®<¸ÿ>o¨»ví-¤6a.…êI¨êbûÅ‹íÿ5»"}s:ï&ïûø¤$¤šì% Ðph2¿,ôôZÜ¥ÎP?êyTРÛÁ{ ·÷@ï.¸êz!!!ººººººgÕªU¶¶¶Íqwwïß¿ÿãÇkjj¬¬¬† öúõëU«V‘Oüéëë7?—(0`Y²{÷îI“&½~ýº¦¦†(iò>¾ëqvv–““SUUå-œ3gï3týúõû믿_¾|Y[[Û§Ossóö¼Èe̘1Í_f <°@FFæìÙ³ /^¼àp8VVVöööäòpôèÑ„„„ÜÜ\YYYCCCÞ:E¨oTÓ§O€ÀÀÀNŠu eÍš58_ê+ÓQÿóó󫪪øð×_ŒU«4ÓÓ3Úy!„º­•+5àÈ¡ ÕÖÖ:99}ÿý÷-NÜFbG,+/ ÎÊÑB!Ôÿ††âêé:>—rww_³fM‡WÛ~Ý60u“øÝݯ¯YóHÜQ´ Û& ž?BHpyyy'NœXµj•’’RÛG£n¯ãçKEFFÖÖÖvxµí×mknÔ¨Q666û÷ïç-ì&ñGF2kk»ã²:Ý6°æFºfc£±¿ oaŠ!Ôõõõ«V­ÒÓÓ[°`¸cA£ãs©û÷ï“«Jt+Ý6°æžth¤†P+xB]ŒÍfoß¾ýÊ•+JJJkÖ¬!Ÿjjj6nÜqòäÉaÃZ~yê¡:~Mƒagg÷øñcb300pΜ9 _^J¥Rýõ×+V›±±±“&M***â­dáÂ…gΜ€ºº:™‰'r¹Ü»w¿,Ç7hÐ ØØXòÍÕþþþ‹/&ÛB£ÑvïÞýÃ?øúú=z´y`VË?¶ño/q]ªª*²‹ÀÂÂ"22RMM-**ªùøSxx¸‹‹‹P+`[ÃgMãW;»>Ïø'Œ7sæüÕÐðå]KT*å×_]W¬ø¼HIlì‡I“nýk¦×Â…ÖgÎŒ€º:–ŒÌ¡‰¹\¸{÷Ë#ôƒiÆÆúÐ韇ÇýýS/!ÿ©Òh”Ý»‡ÿðÃ__Û£GG5LÀjùÇÖ"þí%®ëáa\UÕðøq.yŒ……Jdä,55™¨¨y{{ÇÇǯò¥R©W¯^e±X§NòòòRRRºsç&R_¥ÎøvñâÅÚÚZÞ///]]ÝíÛ·Ÿ>}úøñã.\(((صk×–-_ÞŠåíímhhxîÜ9ŸÏQJHDDD˜™™›&&&®®®111sæÌ€K—.Õ×ׯ[·Ž|ðmÆŒ‹-ò÷÷çÿjŒM¨ö…',,Œ\^vÚ´iW¯^ýí·ß]\\(в²2yOä ño`û]¼øº¶–Å;ãåeª««°}{ôéÓ/Ž}á«‚‚š]»œ·lùòª2oosCÃSçνôñ±ü'NjDÄ,33åâTru½óaΜ~péRj}={Ý:;òÁ·3,- ñ÷ÿ²¶u‹øW+`lBµ—(äp¸aaÞ¶¶Ÿ3¤iÓÌ,,ü¯^Mûí77EE)] ”•¥\\tEîXAˆêJÉÉÉ‹-ªªªb±>?Ëf³###'L˜Àd2—/_¾téRœlþµêÜ¿×äädXºt)oáÒ¥K·oßN슋‹€[·n=|ø¸CÇår‰iiiä)vvvdBƒ€ââbb3%%š<\:þü6s)þÕ ›Pí%ØØØð®Ó¯¦¦6iÒ¤³gϦ¦¦ ø•EÀ ño`û%'ÀÒ¥x —.¸}{4±+.î#ܺ•þða6q‡ŽË…ú°„'Î>dBƒ÷€ââÏ·ÞRR `Á‚þ¼W™?ߪÍ\еÆ&T{ 66d"jj2“&Ÿ=û25µxÈ>ücêBüˆê2ÁÁÁëÖ­c³ÙĈ‰J¥jii·Äê›KÕÕÕ€ŠŠ o¡²²2…B!v³.ˆ¬¥ )))òs“ˆé>ä?YbÕ¥&+ž¯ÂæµÆÆ«Íöš/ÎFœ"øòQ^ˆÛ¯®Ž **2ÿCŠBù¼«ªªþÉZš’úòoOEEúßqR€Íþ<=ŠXuIIé_}®¬ü¯SZÄ¿ZcãÕf{ MB%#|ù(/Ä¿½GE]Ź„s´¸»%¿Åþ¦ÁИj=U¬qõ .çxÌñþ}ú“½×ͱ¹ìcÑÇŒT<,Ûx ¨Ëœ;wî¿ÿý/4ŸÌb±ÒÓÓõôôÄê:›KõíÛž={ÆûJ„„.—KìÒÕÕ€ãÇ7¢¤¤¤PWIJJÒÑùòTybbbûb%¶6ÛKxùòeCCïð„„ ߪM¡´ñL€€êl}û2àÙ³O&&_²Ã„„|.÷ó.]]y8~|´¥¥j“s%%«GT•”T £óey­ÄDÑ_ƒE!¶6ÛKxù²¨¡Í;yèÀÄâ @Øžd±Y‡£6Ýr©ÆÆÆ­[·Þ¼y“ÏOìOŸ>ÅÇÇ“¯F_¥Î{>vìXؼy3q²³³}}}`ܸqàåå/^ÔÕÕuù‡““Sqq1“Éð*nnnðÃ?dd|~nèõë×Û¶mkgð"ÄÖf{ ùùù«W¯&Þ³Íår<øäÉcccò©ƒ‘••ÅápZ‹MÀ u¶±c `óæˆ””¢¨ðõ €qã ÀËË.^|­«+ïâ¢KüqrÒ..®e2+¼Š››üðÓŒŒ2¢äõëâmÛ¢Û¼±µÙ^B~~ÍêÕêëÙÀåÂÁƒÏŸ<É56V26þœ1’YYåN«?|¼jÍrÇåStî Ôј£7^ÞèÔKt‡éiÚãâ  çödccéܹsoß¾Íÿ«¯„„ÄÕ«W»,*$;.åáá1räÈððp[[[SSS:ž––ÖÐÐ`eeµpáB1bÄÂ… ýýýMLLŒŒŒ455KKK³²²êêê6mÚ4cÆ A®2qâD{{û¸¸8KKK 6›ýöí[kk뜜œækÎ N„ØÚl/ÁÒÒòìÙ³W®\155ÍÍÍýôéìÚµ‹<ÀÖÖ6<<ÜÐÐP__ŸJ¥ëK‰p¡Îæáa}ÚÊÊjß¾}ïß¿ÿþ=Ðétooï™3g xvçÎo¿ý688˜§?~üÊ•+ÝÝÝÛùÒac¤½`ff¶{÷îÅ‹?{ö ÷íÛçííM°{÷î)S¦ääääää@YY™hêl ܺ5eõêG.¼&ækS©OOÓ'Üdd>ÿÓ:}zŒ••ê¾}ÏÞ¿/ÿ¾ètš··ùÌ™%R@£QîÜñüöÛûÁÁ™Ä8ÍøñF+WÚº»_oçKW„Mö€™™òîÝ΋‡<{ö ¥öísñö6'ؽÛyÊ”›9999PVV/Ú…z­ê†ê‡ï~¨øÐG¾›™[óxçKñN¯É(ΈɊ)­-]æ°L’& /?½LÊKªj¨ÒdhŽ0¡*Ûô†oj{ }¢ IDAT~jb^be}¥ž²ž£¾£’ŒÒ‡ŠA/‚8\NNiÎá¨ÃÄa^Ö^:Š:Äåb²bÞ¾esØÆjÆNNRŸçϵÉ»gÎê)éMé?…÷º.çDì %%Ûî(Ìr滢w[Gm%K˜ o ßVÕWé(é Ñ¢ÎPorJói­id'—Ô”ÄçÆç”æHÐ$ÌÔÌ hðïÉÖ®Å+£8#*3ªÝ`«mk§c×9Ô‚÷ïß¿xñ£„„¼¥¥¥‚‚•JURR¢P(D¶¤¨¨òòò E^^žJ¥2 âFúZuüZ‘‘‘òòòMÆQ*++ß¼yÃf³MMM›Lˆ&p¹ÜôôôÂÂBuuu}}}r.‡Ã‰ˆˆPSSëßÿËc\D¡ººº••o%L&377W[[[OOïÀëׯ?wîܼyóš&Tµ­ÅÆGkí%–МožUóÀ„ª¶µØøh­½Äš“'›Ü¼9¥¡ýêU1‡Ãíß_MJªi,'5µ¤´´ŽÃáÚØh()I Õ±B5ôu¬Õ™ò1å»ëßV›ê õãv. Z:gМŸÇüLZï·¶îc}yöe¨gÕ[í³m:Ú\ÝüXÌ1â€äuɵµko¯ÍŽ%k–‘”Ùî¶}Ú€iÄfaUáú»ëc²bÈäèr{&ìQ“S›y±é·©K>—ìõìÓ‹Ò—ý¹,³$“,×dhñ<2H{ŸH.~ññE´o4o®ž¾$hÉÚák}}[ì‡/oä–嶸‹4wð\e~OáœO8¿#lGØÒ0eƒ²Ú²…×¾øø‚Ü+%!µaĆCðïqæãZkš]nGØŽ€¤€ö—U… ” NO?m¨b˜ÀLh­'¹–­¶í¾'ûÈ_aÞ½w¹ï‚®ÒÚZè«!ÔZ]ô>>yyy;;~_(Š©©©©©i“r*•Ú|™¥æ…!!!ŠŠŠC‡%¦Ÿ?|øpÇŽT*uôèÑ-&`µücã£ÍöNç]¡ këÝͪc…j PZ|mœ¼<ÝÎŽßÓþ ˜š*›š6ý±N¥Rš/³Ô¼0$$KQQjèP-búùÇ9;vÄR©”Ñ£¿| æ†ûúú’OÆ¡-%¥pãÆ'²Š>TsÃ}}mÉ'ãP/q7õnAU³¡ó©i§ˆ_Õµµsæ–Ô´¼$©¸¦xÿÄý“­&›÷Óî§|L™Øoâ>}4êçQÔ)Óþ˜vöÙÙ_'ÿz/õ^j~ª©šéEŸ‹ä¿ê†êœ²"8sLOYo•Ó*ò×’¯å•ç Òt~æyI`qXkn­ ~|9éòç5-Fn¦n}ú^Nº¼è›E ˜å̈÷žý=Ud[Å'xö÷ló®ŸÓ ª¾*>'žv"úðÏùj24‰’vëO¯ˆÏ|:„¬°yÓÀoŒŸ‘ªÑÓì§+>Òiôot¿)ª.JÊK*­-m­'o½º%ȵ~óúm´éçoËΆÎïn|œñs)$_I.5nܸ›7oFGG€´´ôòåË÷ìÙ#î¸PÇ7ÎðæÍôè輂‚––X¾ÜfÏžá⎠uµDf"¬tZI$R #)ãëè»$h ÿ U yÇGgE€¬¤ì‰§'¾¬Ä \i…”)ð4û)l¹‰w•]ÎR£…ñ?Ç–—«W‰HP%6¸l~üœù¼µH€F¥Í4gï㽑™‘ÆÀå¤Ë.gžÝ<>-jÿr ™,ËÕäóë´Ç˜¹œtÙ?Þß{ ·‘Š…B¡Óè¶ÚŸÇÎéæM€¿?ü½àê§éâjÅÕÅ­™ r­~ýÈD ˆå0 ª¾¬d‹PWúJr©þýûGEE•””¼ÿžF£YXXtålÁÑéôððp5µ–§³ Öôï¯5«¤¤îýû2ja¡Ò=§`Óé´ððjjÝñßÞס¼®ȹÉ]¥¶ïl¨ðnc0W“[}R½¬® ŒT„MOé_«2ê*êR(”²Ú/4‰„0ÃfÆ‘è#/7ÞÀnL¢;¤Ÿ&¿wµ¾ÔÃw•d”ˆ¹\àdè0;à|ÂùgÔ³êû÷éïfæ6Ëf‘ Ò!Í›ö4ûéþ'ûé4úhÓÑúÊú²tY P"3#“ò’8ÜV×|äZZ Z¼›²’²Ð7~÷ÃÝÁiÁWæ\¡R¨‚tHó¦…g„ÀQÏ£ä褴üîp’x}U¹Bèë6HgÐõ”ëG¢ŽðΗ"œƒžC`r ›Ë^1l•òe5 ÂªÂ•ÀAß!ðEàÿÿo`ßd:BLÙ!î4ÑitÞÑ&¤=(èEБ¨#ƒ´c9l.ûÀ“0Xgp›!ͳ›wåï+ÄfÅöUèëfÚÂZ¼Ú9_*1/±¬¶Œ÷6ÙÓì§ÖZÖrt9Ð`hxXz<Îx|óåÍÌ’LcUã6;¤EÄô/†Ô—yO³Ÿ>z÷ˆ÷˜æ=)Úµ#Ì¥B=†‡¥Ç¯‘¿FfFŽ?3ÞÉЉÃå<Îx\Û(ôëœ'ô›p.áÜ•¿¯DfF:8ªÊªVÔUd•fÅçÄ/úfÑ­ã-ÇŸŠ;•V6òÄHW×>ò}>”ˆÊŠò±õ!~¨¼Î½þÎz]%]*…êeí5±ßÄc1ǘ ã~7Âh„$M2:+:½(]QZQ5¢LÕL Ï'œ¯m¬Ý4rïpQ‹Ú9_êaúC ª„³á—§ƒO>=ùœù|¨þP}e}IšdZAZÄû…F ªµÙ!-²ík Kƒ–Ž3§,«ü®èÝ“Œ'*²*EÕEä1Í{R´k!$F˜K!„z 9ºÜÉ©'¿»þ]fI&±Œ“šœÚ.÷]ß_ÿ^¨zhÚï3›îmz”þ(0ùË‚[š ÍZ@‚*áïí¿æÖšøÜøÛ¯n{R rÓ»›þÚtëÕ-bÓ^Ï^GQçÌô3ÄúR—“.å #SŽðÞ‘äc¾Ýü˜¬IïÞmÝ>ÒÙëÙóŽ9è; %rt¹ÿŒú1¼ÍiÑXó±ûM¼óúNà‹Ï<}àtyº¼ÿ3ò˜{R„k!$F˜K!„zk-ë°ïˆuÏ5å5G›Žær¹«œV9a¹ãr2}‘ I¬rZÕ|"³²Œò©i§2Š3˜ %5%*²*Êv:vä€CãòìË)S’>$Õ6Öê)é98’ïZñ²ö²êc—W^[ή¶¢6˜¨™/ ŽÎŒ~[ø–Íe© 7N®{ÞZ$$"W˜ÒJg¿Ñ%«4ë}ñûÙ¶³y ¿úÝÜÁsãrâˆ$UKAk¸ÑpbN7O‡ðiÚÁI}l}^~zI¡Pk¶Ö²ŽÊŒbH1È™j-ö¤°×" MÔLš€PèøuÏÑW€Ïºç¨çú:Ö=ÿŠýúóÅÄ‹·Üîì˜3ñgv?ÚýxÙã&OD"Ááºç_½N\÷üíÛ·ïÞ½ÓÕÅ'•¾~§N w¨# µ|?êÌræŸ)f–dÞy}g`ß]p'KKAk‹ëL¤ê(xµ¬¦f@M þ¨ýÊ<w¨yåyÄ›}é4úV×­mß~ã-ÆwÁUê=„Ë¥ÌÌÌÌÌÌðßWB¡¬èô °¨kM73w¨mEíUN«ä¥ä]M\õ•õÛ>!ÔÍà¸B‰“Ž¢ïÛèB=µíCB!„P+0—B!„æR!„B¢Ã\ !„BHt½:—Љ‰ùù石²²<>,,ìçŸþôéSg…B¡ž¤·çR~~~BåR~~~˜K!„BˆÔ«s)GGÇíÛ·ˆ;„BõT½z})GGGGGGqGNZAÚ¥¤K¹e¹ ¬†.©êžð=ßÚ};Î|qÀÂk TŒþ3ú?â!ÔKôê\*&&&44tþüù¼CSÙÙÙaaaùùù***...ÍO¬©©¹uëVvvvß¾}'M𤤤ÔuA#Ô»¥¥O97…Åa›¥µ¥T‰øÜx737ò˜g¹ÏêëÄ`07`®¥†åÖQ]ñ¾šŽÒcF½GoÏ¥üüü\\\È\jëÖ­{÷îe³ÙÄ&…BY´hÑñãÇ%%%ɳ޽{7eÊ”ììlbSMMíÆNNN];B½TPJ‹Ãšo7ßÅØE’&i®n—|.áÛWŸO¡PÄ…pzb̨÷èÕ¹TÇŽÛ½{7…Bñðð°´´ÌÊʺyóæï¿ÿ®¦¦¶{÷nò0___:þÝwßIKK‡……½~ýÚÓÓ3--MUUUŒÁ#ÔK0˘°vøZ9ºYh¯g/¾ˆB½æR_üòË/pýúuOOO¢$..ÎÙÙù×_ýÏþ#'÷ù·––Vdd¤‚‚°X¬3füùçŸçÎ[¿~½¸"G¨7H`&xràmÑ[X¸˜ÿ¥à/Õ\y]yЋ ¤¼¤ª†*M†æXó±®&®Ä®Fvã¼+óìtíV;­¾–|-23²Ý`«m;oð<†ƒ¬Ía?~ÿ8*3*§4‡F¥™©›Mµžj¨bؤ’•ÃV^Jºô4û)•Bm:ÚËÚ ª þxþGZAƒÎ˜>pú0ƒaÆÖáÞ¾ñ õcsØ/?½ô¹äCnsÛf¢jBÄ¿ÊiÕÕ¿¯ÆfÇ–Ö–žñ>S^W¾öÖÚ1æcæÛÍ'+ɯÊ_{k­»…ûÜÁsï@¢¥7^ÞHd&VÖWê)ë¹™º9:µÙ½­Ål©aÙŽ‡Pk0—ú,''‡Éd6ŒL¤ÀÞÞ~úôé—/_NLLtvv& 7mÚD$R !!ñÿ÷þùgtt4æRuªÒšÒøÜxâó³ÜgMöòΗj")/é» ïJkKÉ’ë)×§œ¾Û}7p¸œøÜx†cÙŸË¥?"xœñ8ôMhзA’´Ï÷÷}.û'kx”þÈ?Þÿ¨çQâ77YÉâÀÅÑYÑÄ1¡oC3K2§ôŸ2ûòì¢ê"¢ð^Ú½3ÓÏ 7.Hl-Úõp×ËO/[ï'€}÷õUèÛ¼¼²¾’èʺ ²3+ê*Èø\]›K”³Ø¬ºÆºøÜx3u3ÞJˆÂ~šýˆM;ð9óù²?—•Ô”|®%.%^ÚÞÛÚYUõUß_ÿ¾¬®lJÿ).Æ.ŠÒŠ9e9çž LtÐs˜d5‰8,â}„’ŒÒ¦‘›LÕLó«òÇ•ÿ꯴¿&[M&ë™l5yˆîE:V]j~깄s~üxGA"ÞG¨Èªü8êG#U£·…oDù=þ÷Gétu6ܤ$­ô(ãQ@RÀÁȃD.%`lM¤¦‘)Ekjk[,7W7¿äs©ÉâÏ—’¿q%¨³È{vúJúsæ$æ%’¹Ô%ŸKq9qOÞ? yÒÀnàr¹RRyåyŸ*?õ‘ïCVruÎU]%]a4¢¶±öpÔa*…zeÎ ªŒ4ùúÓë”O),K‚*!`lMl¹¥¢¾‚_µ8(òRòözö EQF‘w’ч\à^˜yÁRÓ’å-âß7^Þ(«-c6æ¸×qò[2—âß½-Æ|1ñ¢½‡PgÀ\ê3===èèèÛ·oOšôù?aBBBPPŒŒÌ AƒÈ#÷ìÙ3qâDyyy`±X?ýô 6¬ÅjBâõ÷‡¿àÁÛ1Ù1\.¸À%>dg‡YkY“yôïÓJk>7³¹ìµ·×FfF6¯¿²¾’Ì¥¬µ¬‰DŠ`¡acÍljÁRÓ2ùcr~e¾¶¢¶€±5!Z®# u ‘+çßÄMIâv/y)y¸{›­÷ê ˜K}±yóæ+VL™2ÅÃÃÃÂÂ";;ûÆ›6m"'žÀÇ---=<<¤¤¤>|øêÕ+55µùóç‹/p„P«jj ùcró]t :ùYQZ‘wq‘Ãå›w^݉̌ÔWÖŸ3h޾²¾¬¤,…Bùãù!oBˆ_Þ-VB¤P-ëc [í™/Å_kYKl»y!ÿ¬cÕ1¦Øœ€ÝÛ„h½‡PgÀ\ê ___&“ù¿ÿýïÎ;wîÜÖ—Ú±cïaGݰaÃÉ“'‰Mb})\¡îIKA üÆø™¨™4ÙÅ;\Äñ û¨çQrjŒ8(–ØÚ3_ê3.´˜£4_ÀIAZ¾LâQJ¡hÉk@BnïØI îms‡üÍ"Ô!zõ?8‹4,Ù½{÷Ò¥KÉuÏGŽÉ»îùèÑ£¥¥¥‡þúõëÛ·ogggkkkãºçugcÍÇžO8ëÕ­}÷é)é…l.ûÁÛ-ޝ´HIF ™‰Ä/{‡u<æx3A,±µg¾ANJŽYÎäp9TJ¯dU–QfH1g<Î(Î0V5€ŒâŒ=á{øŸÕÜhÓÑçÎíy¼GKA‹\!)/©°ºpŒÙAº·yÌò7‹P‡èÕ¹1Óœw^9,^Üô¦>aôèÑ£G&>ûøøtvx¡öûF÷›é§&ºžpÕUÒU“S«¨«`–3ëYõK‡.`9AJ\Œ\ŽEÛºýLüeY嬒¬Šú +M«Wù¯º>¶öÏ—ê§ÙïiöS—ß\´µ)@Ùæ¶ÍH¥é#̤馟}vÖÃßÃTÍ´žUŸUšÕ_³nY®PWª?ÔÃÒãnêÝùWçk04´´>T|(¬*\î¸|ŒÙAº·yÌò7‹P‡hãKÉ×êîÝ»K–,9þ¼¢¢¢™™YÛ' „z¬ÿŽûïÖQ[5¹e¹IyIÅ.g¼Åx~Ö0°ïÀínÛe$erÊr’?$S(”=ã÷ ÕÚbÁF—ê õžå>‹Ï'ÖjjÍÊa+ Ù¯ó_¿/y?Î|ÜÎq;E¸èþIûW:­”—’/¨*Hþ\XUh§c7Ö|,Ö½-Æ,–ÞC¨9 Ÿ™}ÍMŸ>;-ž.òý÷ߟS–Qæ]‘’(T‘U1U3% kk3K2)@1Q3‘¤Iæ”å|¬ø8@k€Œ¤L‹•¨h24ɬҬüÊü}JKH·[çasÙéEéÄ*–– )Fóøy1Ë™U:Š: :V]ò‡ä>ò}ˆw ÞäuëXuºŠº*²ÿº'À§{[Œ™˜Ëâè=X¹RŽÉï‚k!± V—P/Í¥îÞ½›™™éäädkk+îXº#Ì¥¾R_C.…Pw€¹ÔWO¨\ª—ΗòðÀ`„Bu€^:_ !„B¨C`.…B!$:Ì¥B!„D‡¹B!„è0—B!„pÏñ3™Ìµk×vR4¨;9 +îPÇJ..Öw !ôµ.—z÷î“ÉîL–Wžgò‹‰É/&éEédᨓ£ÆœÓI @k­žùR Ì“_LØvLV Q•É/&q9qDUñ¹ñß}g÷«Å^ —ß\v?Ú]U_ÕIMCµ©ÝãÛ¹sç¶mÛ"##œœÄ BHtåuåÞ¼ó«ò‰M‡ãdèt&þLFq†±ª1DeE•BÌŒ4Q3f93»4{î๭Õùí•oc²bø_7dIQs"м6? )à§ÐŸ¸\.±É,gž‰?“smî5I+Au Þ>.µaÃ.—ëââ"î@B‚z–û¬¯bß oƒ^nx™¾9!Åp6t€ÈÌHâ€È÷‘ƪÆ´DeF‘%àdØYߣD y+x+´Ó±KßœN£Ò Ó7§ìõìsËrýø)H)ìvß»"öõÆ×Á‹ƒÝ-ÜS RÏ'œï¤Ö!„øëEãR¡¯ƒ¬¤ìÉ©'UdUÈ;];) ©¨Ì¨ùvó9\ÎÓœ§S¬¦0¤gâÏ4²%i’QYQ4 Í^×¾µ:ÿ˜ùG{B!€æ­ÄÍ—7YÖÎq;Ý-܉5“C“%0¼}ð½Ã÷íiBH49.UYYùÓO?õë×OFFFAAÁÕÕõÁƒÄ®ÂÂB]]]55µœœòøˆˆ '''‹ÅÿtBUU•ŸŸß€äääÔÕÕÇŽFìš3g…B)**â=ž(,++€Ñ£GoÛ¶ œ) …B!Æ¢šÏ—ÊÍÍ]²d‰®®.NïÓ§OZZ¹wóæÍ åï¿ÿ>þ|ÿþý¥¥¥õõõýüüÚŸýúõ¤I“&L˜––6þ|ޘɚO:emm-%%µaÆ6ãi³á¼5;vÌÜÜ\ZZÚÈÈhçÎD·#ÔãôÓì×$‘–¶Ó±‹Ë‰kd7¦|L)«-s2tr2tªm¬}Î|Îæ°c³cm´mšŒýt hÞ A¼+zkn¯1ßkn¶ÇÌl™éS󽿅U…+?vd“Bë°q©ÒÒRggçW¯^›uuuááá?¾páÂìÙ³ÕÕÕ‡>}úôÈÈH:þñãÇ3f¨©©]»vMBB‚ÿéP\\ìì윚šJPSSÚØØ(!Ña­ÈÌÌ:thAA±™ŸŸp÷îÝGÙÙÙ‘‡9rÄßߟøœ““óóÏ?s8??¿ÖªMKKstt,//'6ÿú미¸¸Áƒ7?rïÞ½Äg‡#`<‚سgÏ•+WÈfnÛ¶íÍ›7.\ª„º%¥æ…à †EgE'0óé4º½ž=]‚ÎbDeEIKJWÔU8ð»Á×ÎùR"Ðb+ÚÄár€Ía7ßÕÀn¡B„PûuظԆ ^½zåååõìÙ³ªªªââ %%¥•+WVWWÀСC÷ïß¿víZ‹5sæÌ€€€¾}û rúš5kRSS­­­ïÞ½[PPP\\:jÔ( …"Hxaaa;vì€ÈÈH.—Ëår[|voõêÕÇOHH¨®®&Bª¬¬\²d ïa—/_>|øð‡***.^¼(!!qôèQr*hsëׯ///Ÿ0aBJJJuuubbâ€BCC›yýúõýû÷3™L.—{àÀãð{æ IDATQó‡JJJ._¾¬¢¢rñâŇ [BÝ“³‘3DeFEeF Ö,#)C£Ð†ê |ÙÙ“¥:/ PXìÉÜù™çÉITäŸ„Õ Ô„p:fD§¾¾> ÀÊÊ*((ˆHnäääfΜYRRâëë9nÜ8X¹rellìñãÇ_¾|±{÷î‘#G rúˆ#UTT·ó¨T*4[ ¥¶¶V„¶rÓPFæ_‹¸§ð¹Ç×bµ-¯ªª*T<"7œ¨VÀ;¤ EJŠ ]ý¯‹˜¤*«j©aI”(è(ê@çßàë¤~õã8óqJ2J¼ÿU½zÎ ô°ôÐ`hHP%4ßè~ã7Æo™Ã²ŽhH}=UZšßÏ|Ô«t̸”¡¡¡”””]TTŸÃ>~ü8sæLuuõM›6­]»vÁ‚ׯ_äôÚÚZ))©ˆˆˆ‚‚ æ…™™™äÞššš¸¸8Þcˆ´ƒÏÃk‘‘‘äP›Í&&6™˜˜ði4-""¢®®Žšª¨¨ˆoóÄ6ã¤á„ÞÛy÷ïßcãV'Ò"$2%%6”–Ò45;øYQ) ©ôÍ­¦zY{yY{5)|¼ìqÇÆÀ‡€ðiE“÷ñ©3Ôzm~Ø­‡&=PÔn%%T}ýFqGº‹Ž—’••9sftt´ÏÓ§OËÊÊêêêÒÒÒÎ;çààP__,kÆŒEEEW®\Y³fÍŠ+þüóÏýû÷ rºŒŒÌôéÓ‹‹‹ÇŒsÿþý¢¢¢ÒÒÒ¸¹¹±Ùl°²²€õë×§¥¥ÕÖÖ&%%yyyåååñ©¢¢!!!555-¶BNNÎÝÝ=??Ê”)‰‰‰555©©©³fÍzùò¥P7Ôx1Œ1cÆdggϘ1ãÕ«W555ÉÉÉS§N-,,ä¢ ñÒp¡C‡8ðéÓ§ÒÒÒ€€€Õ«WÀ´iÓDkB|7À›7tq‚P§àr!=nd„N¢Ï:l5ƒ&''ô“ˆ›Y›7oŽŒŒÜ³gψ#àÀ ›7o¶··wrrjóôƒÆÇÇ'''?¾ùÞY³fmÛ¶-::ÚÒòóк¶¶ö˜1cxŸ•1b…Bùå—_~ùåb³ù£|‡Š‹‹ ç]°€Á`œ>}Z䞀ýû÷GGGß¾}ûöíÛD‰ªªê¨Q£>|HLkM›ñÒp‚——×úõëׯ_O–Ìž='ž£Î ¤Ä64l|úTføð–¿· Ô£¥¤HUUQmmëÄê.:lMeeåØØØ½{÷<˜Á`ÈÊÊöë×oÉ’%qqqÒÒÒ7nÜØ¿ÿ¤I“6nÜH/))¨¬¬'¶ 'lÞ¼ù×_555¥Ó醆†;vì8wî\{…#GVËñCˆPOÌÐÖfYXà¸úŒÂÆtÓ§O€ÀÀÀN‹§·`2™æææÆÆÆ/^¼èìkmÞ¼yÏž=III666žB¡P>Üdõt+V¬`0íÿÿ›ŸŸ_UUÅÿ˜wïèîÿþÑҦÐW¥¶–2b„þœ9å«V•Š;Ô‰„šOÜÛßmÜe¼¼¼BCC ËÊÊÂÂÂ<<¨×Âq©.rëÖ­ &hkkÓétƒU«VEEE1õ¦U„ÄNO¯qÁ‚òƒU22ø=`POÁbQ6mÒèÛ—…_P8.ÕEF%®‡æÈGêb+W–ÄÅI/Z¤õçŸy**ø=õlÿ÷jÉÉRW¯æIHàSè_p\ !ÔY¤¤¸'N| ,_Þ§ª Ú ìØ1å+W*°´ÄÇ÷PSøÓ !Ô‰TUÙ§OÌÉ‘ôöÖf2q õ<,åÇÕVÙ¾½ÐÕµZÜá îs)„Pç25m¸~I£q§NÕyüXVÜá $&SbÁ­;w¿ýö ŸÝC­Á\ !Ôé´´XW¯~pt¬]¼Xë»ï´²²p6:êîjk)‡©Œ§WP qõjŽH!>pÈ!Ôde9æÏœYñÿ§6nœîèÑÕžžUŽŽ5228u#\.¤¤H3‚‚ä)ëÖ•|ûm9N6Güa.…ê:ööµ·o3ïÞe(,[Ö‡Jå5jj² ޏCC½]}=¥¤„–žN¯ª¢jk³æÌ)Ÿ=»בB‚ú2AAA B¨SM›6­kÞ!#ˆ¢"Z\œLj*½¸X¢ª —Go—˜˜áff?«©¹Š;LJŠ«¨È11i°µ­Ãwí!¡Þ!#\.›››+|H¨‡‰533SUUw ¨ƒéêê:88´³’ŽÊ¥P211Áwh"Ô„Ê¥„»ÇçààÐþĨûóööw!„PÏ€Ïñ!„B‰s)„B!Ña.…B!$:Ì¥B!„D‡¹B!„è0—B!„æR!„B¢Ã\ !„BHtø>>„påääÄjJQQQSSSÜQ Ôa.…Ž´´´¸C@-––f0⎡Þïñ!„B‰s)„B!Ña.…B!$:Ì¥B!„D‡¹B!„è0—B!„æR!„B¢Ã\ !„BHt˜K!„B‰s)„B!Ña.…B!$:Ì¥B!„D‡¹B!„è0—B!„æR!„B¢Ã\ !„BHt˜K!„B‰s)„B!Ña.…B!$:Ì¥B!„D‡¹B!„è0—B!„æR!„B¢Ã\ !„BHt˜K!„B‰s)„B!Ña.…B!$:Ì¥B!„DGár¹âŽ!„p–-[–ššJnÆÇÇ›˜˜¨¨¨›üñGß¾}ÅB½‹„¸@!$4 'N𖤤¤Ÿ1‘B¨Ëà=>„êyfÍšÕÚ.IIÉùóçwa,õv8.…N~~~UU•¸£èí$%%ÍÌÌÞ½{×|žFcc£ƒƒCFF†XCèë`ll,øÁ8.…B=’§§'FkRH¡P¬¬¬ ÄB½æR!Ô#Mž<™Íf7)¤Ñhžžžb‰¡^ s)„ê‘444lmm©Ôýg³Ùîîîâ ¡Þ s)„ꩦL™B¡PÈM*•:dÈMMM1†„P/„¹BõTãÇoR‚7øêz˜K!„PO¥¤¤4lØ0r:…BqssoHõB˜K!„P6yòdbYæâ⢤¤$îˆêu0—B¡l̘1’’’Àáp&Ož,îpê0—B¡LFFfôèÑ@§ÓGŽ)îpêpÝs„Ø44PÞ½£Óª«ñ{è´µ½îY[OxüX]ܱô`t:WAmjÚ ¤Äw,¨‡¡4ÿBñÑþwÈ”—SoÜ •{þ\šÍ¦´}jC@€ ÄÉ×ÀаÑÕµzÚ´JSÓqÇ‚ÄF¨wÈà¸B¨ëÔÖRNŸV>}Z‰J庹UÏœY`eUß§[NGÚeß¾kÖ˜HHà;øD×Ð@)-¥½yCúT&$DîÌ¥Q£ª·n-Ö×owh¨»Ãq)„pD— •Û¹S­¢‚êë[êãSùSjhh ÓéâŽâëÁåBD„ìž=ªYY’ –¯\Y"%…¿+{¡Æ¥0—B G„\ŠË…ýûUNžTž:µrÆb5µ¦o‘C¨b³)—/+<¨blÜpâÄ'UUüwÛ‹`.…êDÂæRuu” 4>”ýï ½¼*;/0„:CF†äwßi±Ù”Ó§?â ªÞC¨\ ŸAu"6lÐ|úTæ?>`"…z"cãÆë×óúôaÍ›×÷ãGœdŒZ€¹B¨8 &{ôè§!CêÄ B"RRbŸ9óQY™ýÝw}jjð÷&j ÿM „:KHˆÜɓʻvZ+îXj99ÎÉ“ $~üñBMa.…êµµ”ÿþWmêÔJ¼µ‡¾::¬={ îÜaÄÅɈ;Ô½`.…ê§N)——S×­+w u—WךŸVÃ5f/Ì¥B¯¼œúûïJ+V”jhàcäÿlòqÇ‚D±ukQf¦äÝ» q‚ºÌ¥BïÆ y*•ëãS!î@z°ÂÂB2ëúûï¿ÅN»|Mm10hts«Pw ¨Á\ !ÔñBCåÜܪqesôUš2¥*1Qº¨ˆ&î@Pw¹B¨ƒÕ×S¥‡¯w u GÇ*•‹3Ð s)„PËÈ ³X+«nºBôåË—‰›Mvvv ûöísrr233{ðàADD„ KKK''§+VÄÅŵV‡Ã9uꔋ‹‹µµõøñã/]ºÄû2‰¢¢¢-[¶ØÛÛ÷ïßßÛÛûéÓ§éãããàà@nN›6¸âúõëù7áÀÄ.wwwòôk×®…¶¶¶Â6Ëåþõ×_K–,qtt$:Ä××711‘Ø+Hño p8œ7nÌ›7oÈ!ææævvv .|ôè‘€}Õõdd¸FFoÞà Ñg¸„+B¨ƒÐ@K‹%î@Ú¶jÕª°°°Öö666~úô)888$$d×®]Ó§Oo~ÌÆoݺE|~ûöíöíÛ9Îܹs ´´tÚ´iL&“Ø›˜˜8oÞ¼©S§vM(A4ãÓ„úúúåË—?yò„<øÓ§OŸ>} {óæMóªé±&êêê–.]M–”••EDDDDD,X°àǰ]¬OVa!þEŸá¸B¨ƒÕÖR@F¦»O–*++ËÌ̼råÊëׯÓÓÓÝÜ܆žþ7oÞDGG÷ÝwÀår÷ìÙÓØØØb ¡¡¡±±±öööDá¹sçˆûöí#)99¹Ó§O'''=zôÎ;‚Ävùò娨Xr3((ˆˆjÿþýü›@î¢RúñÞfˆDŠB¡¬X±""""))éòåËä…é1þmùßÿþG$R—.]JIIùã?äååàìÙ³ÁÁÁ‚´¢ëÉÊrª«qYôæR¡FÜ xXDœöîÝkggG§·p³†F£ijj®ZµŠØ,++{ýúuóÃvîÜidd¤®®NŽÁ0™L6›Íf³ïÝ»G”Ìš5käÈ‘rrrnnnÓ¦MkRC¿~ýxo“¹ººvH—j­ ×®]#J&Ož¼fÍš¾}ûÊËËóÍ7Gm^€=Æ«±±100ø¼víZ{{{GGGooo¢ðÒ¥K¶¢‹Q(Às#õv8D‰ê¥$%%­­­yK/^¼š‘‘QQQÁbýë6eaaa“ètº¥¥%ñ™J6›]___YYYUUE”XYY‘§ôëׯS› ,>M(((¨®®&Jœ[<]Øk"//¯¦æó3 [¶lÙ²eK“ÒÒÒ„i Bâ¹B¨—’““kr#lùòåááá­ß$QYYYrøGðq Ô¼ $çË=V2«kNÀ&´¶KØ™i!Ôa.…B?~$Ó‚•+WΟ?_QQ±¬¬ÌÎÎN„ÚÔÔÔ ‘ļzõjâĉDyóÛ^­ÝãM_¸ßO’••%>TT|Y(599YÀÓyikkËÉÉCS‘‘‘“&Mjr€à=ÖZ[´µµeee‰„iÿþý“'O!N„ÄçK!„€„Ä—ï–rrrÒÒÒL&SäçÈh4Úøñã‰Ïááá555aaaAAAÖÀ`0È1§„„6[ ·ñ>~üx÷îݪªª   ÑfpKJJ’3¨nÞ¼yøðáOŸ>UUU%$$,Y²„é±ÖÚ"))IN Û½{÷Ç+++«««ÓÓÓïܹãëë{þüy"G¨‹a.…Bêêê䬠_~ùÅÊÊÊÅÅEIIIä 7lØ ££ÕÕÕK–,0`€¯¯/9@Õ&iiéÁƒŸ÷ìÙcnnnbbB.^К‘#G€5kÖØØØøùù5Ÿð.xœœœ€Ëå>|ØÉÉÉÆÆfæÌ™ LñiËÆ ¨¨héÒ¥¶¶¶7nÜÚµkCBBjkkE‹¡®„¹B}vøðáE‹éèèÐét==½~øá矹6•k×®M›6MYYYJJÊÖÖöüùÿoïNÚ¸ú6€ŸHKþƒˆŠŠâ† –‚¢â£âRE­U«ÖZi­Z«mµµ¶¶.­ˆ[ëR«¢Zë^Ôª " ¨  ‚ì û¾“äý0¾c–"£÷ïÃ{%'gÎüçø^å~fÎÌü1räHÙGغuë˜1ctttd_Œ¥¦¦vôèQ///@Àáp\]]ƒ‚‚ú÷ï/×uuõC‡íرcôèÑ=zô`±X^^^TÙg¬­cáp8‡Þ¶m››››žž“ÉÔÑÑéÕ«—ÏÞ½{?øàù*èN Ù/ÃBòóó¥¬e&„\¼Èóó3HIIí¶’ºÙòå„ÿ|E]ÅÆÆFöÎ8/ ?d)ù!KÈY @~ÈRòC–²€ü¥ä‡, ?d)ù!KÈY @~,EÐŽŽ;:òwSt!ͽ¶…5SUÕ4yò¿éé/ÞN½ÿ°GÊMM¹S¦˜+¶°ñ÷ORºšá †,Êäã{ jŠ®¢¯maÍ?þ,=½ÊÉIwØ0}6›ie¥¹téÝ¡Cõ•+—ìÚ•¤t5à Y ”ÉÒ¥=]Bë^Ûšyú´’²oß0]]%H~JY ”Éž=ÉÚÔ©t‹P(Žˆ(LN® E66Z®®=ÔԘͶJH(‹‹+©ªj20P5Ê@OOÞ6 à‰µ5ÏÛÛ45µ2<¼ ¡Aää¤ëì¬×l„êê¦k×òrsk 9žžFB¡øðáÔ~ýtF6lY˜ìÃJ©­Ó¥¦V^¸óàA)!äðáTK¥¶¶‰Ãa‰DâÌÌê;“¨n>>fFF\Éú#" KKë—.µ¯®n:rä™äQBÊÊŽy6`äHƒŽ{bbyllqee£¹9ÏÅ¥‡ŽŽ*ýSII}TTQff5‹¥Ò³§Öðá=˜L!$7·&88³eͦ¦Ôçn›O²(“Ý»“ùt–JI©\º42-­Šî`` îï?tà@]êkQQýŠÑwîÒ8Öúõý¦M³ „45‰vîLôð0Êɩٺõ‘Xü¢ÏŒ›7¤7‰/]¼8²°°Žú*¨oÚä´sgâœ9Ötª,LÆa¥×Öª3g2³²j¤OÑܹÖ|¾jËögϪvîLüÿjŸHþ”]Cÿ4t¨~êTýOŸV¼è¹p¡]yyc³£&„P|`Ce)½°°nåʘˆˆ—Ç®¡ÁÚ²e —— !ä»ï¦54ˆè_--y¿ý6ÜÊŠ—›[K•Ú¬fSS 9æ S K€²ª­mZ¸0"'§ÆØ˜;j”›­rûvAjjå¢Ew.]zW P Å‹݉/55Õpshk«fdT]½š·n]œ­­Ö€|jœû÷K®_>j”¡f~~Ýŋ٧Nex{›¹¸ô „TW7-YYXXgeÅsu…â[·ò×®m·<éÃÊX[3gÎdJæVM˜`Òj–²¶æùù9œ?ŸýìYåÇÛÓç¥üýML¸>>/‡‰ ‡úWrõjž››ÀÁAG]Éfwà¾oéÇÞÔ$^° "1±\CƒåînhdÄÍÉ©¹}»àñãr*K……''¾‰ ·¾^”˜XYøÅ÷‚‚FsüüZÖ,ß|t d)PVçÎåääÔ ¨ûÇ®“ÒÔ$þì³èË—sŽOûì3‡þÉ/8ÑtëVgê !$>¾tÚ´›‡¥üúë`ª¥¸¸~ÏžaFÔW77ÁêÕ÷nÜxNýá?w.»  näHƒ}û†Qy¢¶¶iÞ¼ÛÅÅõÒË“>¬Œµ53eй³³¾ôý¶µÊÆFÓϯ×ãÇeÏžU.[fO_ H27×ðóëE÷¬¯RõoÛæŽ‘Gò+—ûâ—ä^LL¸’}è•Îr+cmͼÊz©Ž²´äµß© Òú×±¶ÖluÛÈÈÂmÛ©ªªxxZXhp¹,ƒ–W"5OW4ùæ S K€²ÒÖV%„dfV™™½ :YYÕb1¡î£:Ìžm¥§§Þl[uuYWÿPƒääÔ/Éή~µÚå¬íUÖKu}¥ŒFÿ«©i’lÌÍm'ÛµDýë<{VinÞJ$ý÷ßç„]»†¸»¿<³•˜X&}ÌNù·²(«õ‚ƒ3üý“ÔåpX„¡P¼}ûcBÈ Az„áÃõƒ‚Ò…Bñ'ŸØ«¨¼L……uyyµ2îÅÉI7$$# àÉÞ½ÃX,!¤¾^¸woò+/_m¯²^ª-ªª*Ô‰¢vé뫱Ù*‘‘EuuBuu&!¤¡A$ÇT Þ#((ãçŸõï¯KÇ>j½”ƒƒ6ƒÁ „ðxlºddáõëÏ¥×Ü)ÿÖòA–e5q¢I@@RLL±—×5ú>¾””JmmU__+BÈ„ ¦‡§ž8‘Vàâ"ÐÓS­¨hLO¯ŠŠ*Z¸Ð®_?™îíš8Ñô×_oÜx>~ü5WWP(ºu+¿¦FHa4?qÓòÕÖë¥,-y—¯\cf¦¡¢Âðñ1ëÑ£ù©ŠŠ côhƒÐм‰¯mÐÐ ¾y3ŸZ¨Þ!ãÇ›îßÿ4)©üw®¸»rrskÂà |}­´œt !K–DzyóùjOŸVܼ™¯««ZTôr±Ëš;åß@>ÈR ¬8Ö.Ôó¥ŽO£uÿ!Ôõ8&“qà€Ëš5÷®_”Noh` .ûW ÖÞ½Ã/¾óìYå³g•„=Ô×­s\¹2†Ë•ÿ?¡R[§˜?ßvÍš{gÏfQ_©çKµÕyõê>±±%iiUÔ3½Ì̸[¶ \° ¢C{d±º|öYtTTÑß¿Ø/ÇêÝ[›2v¬ñĉ¦çÎeeP?MŸn©©É:x0EJͦ¦¯É|Â[Y ”I³×ÞÙÚj^¾ìqûvArr…P(¶¶Ö9R ùÜs>_uÿþá©©•11Å%% ººª––! ±¸ÍÛ"ZÊÏϯªª’ÒáâEžŸŸAJJj·•ÔÕRR*ML¸ô“JKÞ{ïÖ³g•çÏ»÷ꥭØÚ@!–/7 „øûç+ºè*666²wÆy)€vܸñ|ïÞd—¦¦ùùµ7nä——7 ÞA ²@»ìì´êë…/æÐ-ŽŽümÛœX¼>¥Ú1j”ÁíÛãîÜ)Ìʪf2Uz÷Ö2DÿUnâ€7 ²@û´´ØcÇ+º xái°òC–²€ü¥ä‡, ?d)ù!KÈY ”F£°Ñ÷˜ïö[Û]ˆ4q9q¾Ç|}ùÆåÄÑJQ9ÈÏê¥!‹¢²¢´Ôµ]H›šDMë.­K)N‹Å¥µ¥tûë_9È ç¥:;È}ùUùãìÇ)ºè>ÈR#½4}wÄî/ßùRÀ(ºè>¸ÆʧAØp<îxdF¤H,d:hî ¹\6—þµ ª èaPrarU}•©Ž©«¥«‡£ëßEüõ寘Þoú÷×¾o·³X,ˆˆH˜ÜwòŒþ3ºº6è:ÈR dDbÑü“óïfÞ¥¾^O¹~:þô‰9'ø>!$¹0yÆÑUõUtÿc±ÇfôŸ±yÜæ¶Ü|msÂóé;Ý:q«±–´w=ŠË‰»°ð‚,¡­¾©þ‹ _\Lº¸|Är)e‡,JæÖ³[<5Þ£¿°Ó·Ë«Ìûíîo©Å©›®nÚ6q!äÄýUõU£mFOî;YG]'»<;<-¼²¾RÊ€I…IQYQÒwZÛX+å×’š’-7¶ø¹úYò-Û­¿¨ºhIð’¤Â¤ÿÙáíàÝnxÍ!K€’ñ‘™Gzô¦¾Žë5Îs¿ç…Ä ßy}ÇesY*,BÈVï­:ªÃÌ3+ê*¤ ¸öµõÒ:B¤Ÿ”Útm“‘¦Ñ‡C?l·ø'…O-ªoª?æ{l€ñ€vûÀëY ”ŒƒÀR„>‡ïaçü08¥(¥ŸQ¿YN³Î$œY¼xrßÉ} ûÚ÷°Wc©IƒÃ«Ôž~áñ…Óœf2˜Ò{>)|2ãÏFZF³M´M^e§ðú@–%Ó2i«kBê›ê !VºVW—\ýûÑß飿VäºZ¹~1ú [}Û¶|ÅõR;níPg«õåzóŒÒ BÈÖ›[¿ûûºw×õ5ìKµ³™l¦ ³¢®¢º¡ºýã%,J&¹0¹QØÈf²é–ø¼xBˆ¦õU[]{î ¹sÍ%„T|òÑû'Þÿ÷£ÕXj­øŠë¥jkªª[Ž\˜L)¯+§[¬u­ý'ûpòƒYÇfý>ýw''é;¥€,J¦¨ºè»«ß}íñµ*SU,Ž9•e®cn®cN9s¸W^Ã,†Qù>OWW^šnßþÕ_q½Ô– [š%­?ïýyùÉåU£V9™8õô’üɾ‡ýÉ9'ß|ÿýïïñÙãjå*Ë!Àë Y ”ŒžMðÃàó‰ç-ù–y•y…U…„U£WQ¿ÞL½¹éê& U ssU–ê³âg•õ•|ŸJZ­zÅõRýŒú5k M%„ôìÑs¨ùЖýÍuÌOÍ=5ÿäüEÁ‹¶MÜ6¾×øWÙ;(ž{JÆJ×jçäLóaÞêBM5ÍÍã6Ó‰dþàù#,GÔ4Ö$$>È}PY_9Ô|èᙇ9lŽbË–$à ŽÏ>Þ×°ïgg?;qÿ„¢Ë€W‚óR 4ØLö1ßc|¿gž£>õ´è©H,êÙ£§*S•î3ÒzäHë‘55¥b±ØHˈz†gwš;h®gOOÉKŠtåt‹¶ºö‘™Gæ=d0B±°Ý{൅,JC…¡B_5c3Ù’OFh†Ëæ:^éÊÝ«°à[Xð-$[$+§qØœV/€rÁ5>ù!KÈY @~ÈRòC–²€ü¥ä‡, ?d)ù!KÈY @~ÈR Ü²Ë³m´ÝðϺÅq›£ï1_ÅUÔ™*ê*Î'ž_ñ÷Š¿ ´ýÑöç?+º"x¡¢â~ii©¢«€×Þm Ðaö?Ù5zdæ‘®ÞÑ7W¾¹x¡«÷rxôèóaÃb‡ 2f̘1cÆ(º"Pœ—€7MüÊøã³+ºŠÎ¡­®ííà½}âöïÇ}¯èZà rþ—_~ÑÓÓÛ¶m›««ëŒ3NŸ>ÝÐРèº@p^ àõõíØo©—Ÿ\Vl%Ð “É7nܸqãÂÃÃÏ;÷ÕW_ýøã3f̘={¶‘‘‘¢ „îƒ,ÊD$Œ:xâþ‰œŠCMC_'ßq½Æ5ëã¸ÍÑÑБ:5UßTßgk;o<¾Ùòï–ˆŒˆ²Ú²‡+rÙܨ¬¨ßïþ›[U_e¨i8Ö~ìòËyjõU$Æþ÷ŸÿŠÅbª%»<û@ÔˆôˆSsOqØBÈŸ÷þüöê·t‡ÔâÔ=wö0Œ‘Ö#e¯öýïG¤GHïseÑ=ÙDŽז@ ðóóûøã/^¼èïï?vìØyóæ-]ºTSSSÑ¥A×B–¥ñ0ïa`\ O÷Ç7ïÚ¾Û$jºüäò×hwÃè¬h'§Ÿ€^‚^ê,õ¬²¬¡µÔ´¾|çËÑ6£µ9Ú™¥™¿†ÿz)éÒ1|4ü£´’´M×6©0T]8½ßt#-£œòœ’ÿQc©9›:§|™ÒmkÏAé°X¬ÿüç?ãÇ?v옿¿PPÐÊ•+ß{ï=ƒ¡èÒ « K€Ò¸òä !dõèÕS§R-sÎ)¯+ßqk‡ô ¹lût¹ºÔ׿þj5mòÚD_´Õ·ýå?¿ÄdÇ„&‡~4ü£³Î EÂ]>þ|äçT=›¥Ã—v´`„­·‹Åš7oÞ”)SvíÚµ~ýúÐÐÐü±GŠ® ºî㥑QšAq³r“liÕþE·Þ½é EyZô”òÙߟÙÿdßsKÏž[zÚm±³ÿɾ°ª0¯2’ZœJgß|%@‡hii­[·îĉiii“&Mzðà¢+‚.óRðæÓáèH~‰E„¡Hزgƒðå=í¯~Q륀âääô×_}þùç³fÍúå—_ÆŒ£èŠ “!K€Ò°à[BÂÒÂf;ͦo¥Ýêè8Tvùcæ#,GHép)éR/A¯V;0£IØÔÑýÂ[KKKkÿþý7n\¾|ùöíÛ'L˜ èŠ 3!K€Òk?v_侟oü¬ÎR×ö]¡Xx)éÒîˆÝgŠã”½wö~þ÷ç«F­rµrÕ×Ð/¯+O/M¿xÁ€gðÑð&õ™´çΞ½‘{…bá´~Ó 5 sËsÿIþG•¥º`ðBˆGçiÑÓ̲LSmSF›‹%°^ h***6lPUU]µj•®®îðáÃ]td)PýŒúÍrš¸æÂºÑÛÁû|âùcÉ·üÎë»o®|³öÒÚf?-¶„b¥kµÎ}ݦk›öÞÙ»÷Î^ú×]>¦> 3v>ñ¼û^wêk×=_êÔƒSë.­£¿î‹Ü·/r!dÎÀ9ÆlèŠ=B×a0ëÖ­+,,üä“OÎ;gll¬èŠ s`í9(“c6~ùΗ–|K6“mªmºjÔªU£WÉ1ÎŒþ3‚æy;x x– KÀ 1²qÌFúf½yÎóŽÌ<òŽí;:5–š­¾í2—e ‡,¤~ýêݯ¼ì½t8:¸Ñ:„Á`P7ô­\¹R$)ºè úIt²ÈÏϯªª’ÒáâEžŸŸAJJj·•ÐÍ–/7 „øûçË·ybbâäÉ“øáŸN­«âãã§L™âçççç秨Z•““sýúõk׮ݽ{·±±ñàÁƒ#G¶r¯nLLŒ¿¿ÿƒD"QŸ>}–-[æêêÚ‰eØØtàŽœ—èV3gÎܶm[ccc7ì.&&ÆÖÖ6  öõê¦NºqãÆððp)“6{öìÛ·oWUUÕÔÔDGGÏŸ?ÿÒ¥KÝY§$d)€î¶lÙ²âââ‹/*ªGGÇ”””×í¤!ÄÄÄdΜ9‡zï½÷ZíÐØØøõ×_ … DGGÇÆÆ®X±B,ÿ÷¿ÿ­©©éæj)ÈRÝM xzz)º×NHHȆ ÜÜÜØlv«nß¾““3xðàuëÖñù|--­eË–;¶´´444´›«¥ K(€——Wtttyyù­[·lmm:5kÖ¬~ýúMž<™rêÔ)[[ÛË—/KnE5Ò¡Þöþýû¾¾¾ŽŽŽÎÎΫW¯.++£:Ìœ9“²cÇÛÿG‰·µµÝ¹sg³q"##§OŸîèèèêêºwï‹›X9âééÙ»wï1cÆ4»”&‹ƒ‚‚¦OŸÞ¯_¿>}úx{{=z´K—bGGGB&Mš$ÙH}ŠŠ¢¾ …Â#GŽLš4iàÀNNN“'O>xð`mmm•„g"(Àˆ#„Ba\\œŠŠ !$66öÇ …„ŽÞâÿóÏ?744BjkkÏœ9“ØÑ’îß¿O×P[[»uëV55µÂÂÂýû÷Sž={öé§ŸZZZ:88BÄbñªU«Îž=K””´aÆÄÄÄï¿ÿžj±··§l‹¾¾~dd¤ìEfddBzöì)ÙØ«W/ú'BÈÖ­[ûí7úׄ„„„„6›=wî\Ùw$;œ—PCCÃäädêë¥K—|||BCCŸ•2bĹý:lØ0ɯfff„êêꎎ3dÈɯԓÙL·0™Lƒ¢¢"êëÓ§O…B¡››!D,S†ú¿¹¹¹Ý»Œ455 !ååå’ôO„¯¾újÙ²eîîînnnNNN½{÷î¢z²€¢ˆD"ëÅbf¿RѪÙÚ©ººº–㨩©µÜPŽà­ŽÓ²‘.‰úÐêr(úéP¾^Ê‚’œœ|xÀ€ýû÷/**:räˆP¢ÖeGGG—••µ<ûõ*¦OŸóþûï/_¾|À€šššÉÉÉÁÁÁ³gÏvqq!]°^jĈÔâúÍ›7/]º”Åb9räÊ•+|>ßÓÓ“.lÊ”)C† 155mllŒˆˆ(++kõ”^§@–åVQWq8æp?£~£mFS-{îìðS§*´.å ‹vGìîkØ—ž½×œP, ¸`­gííà­èZ^UAAAnnn¿~ýÚzYŠ™™Ùرc¯\¹2{ölª…ÉdNž<ù¯¿þêÐŽ,-- îܹãììLµH¹•¯C|||¢¢¢BBB/^Üì§¶žZÞ®•+WJ>daÁ‚Ô‡]»vyyyBØlö¦M›-ZtðàAúŽBƒ±qãFúN½Gµ¼‘Pî’Ú…g"€r«¨¯Ø¾óFê ºewÄî‡!]ºSÿpÿ3 gºtÝãAîƒ_Â~©¨«PTÉ&aÓÎðçŸïº’ºMtt4‹Å0`€”>?üðÃôéÓuttÔÔÔœœœþüóÏfËÃeÁd2œ9Î+ÔÛ ƒ±eË–;wŽ1B[[›Íf›™™yzzîÙ³gĈ»/I#GŽôÈÌ#]·‹î±õæÖß"‹ú4J[]»ýÞ] £3YßTßgk;½S÷viaÒ-_n@ñ÷Ï•A/^\__ÿÇtRQЙllldïŒk|ð¦Y:|©¢KPמ^s6sVTz›åææÞ¼yó×_Ut!Ð ¥@ÉT7T_{z-·"×PÓг§gË’ç¥$—פ§F¤G”Ö–.¾”ÍdBž'ÄåÄU5Tð FÙŒÒãê5*1?16'¶²¾Òœoîbá¢ÃÑÉ­È ~,‹2K3w†¿x—™£©¶)µ»ˆôˆäÂd¡Hh£oãjéªÆzq?y«•Ìwž(湎ù侓%÷+‹öÞÙ«ÃÑñuòíìù{)»<ûiÑÓuﮣ[b²c’ “«ê«LuL›îÁëÑî„´uhô$—Ô”DeEe–f²˜¬žú=‡[g2˜„é3ÙÖ¾$¥§†§…7œLœœM»f’ºŠ¿¿¿@ ðððPt!Ð ¥@™ÄçÅ/Y\XUH}íÁë±ÉkS³>»#v;:RYŠZ^ãaçñ´ði@DÕaá…åuå+þ^q'ãåíå6g½çúiý¦Q_ « Wž_‘AwÐPÕØ2a‹¾†>õ‡?»<›NC͇šj›¦¥,=½4­$ÞÄ€gà?Å É@)•Üɸ³/rßh›Ñ’YáfêÍí·¶¯¹¢­y8“p&«,«­_)sÍåsÚ¼GŒríé5Bˆ»­;!¤¬¶lÁ©óÒ¿ª±ÔVZ5ð|éâeïÕÖ¡±™ìï®~Ø l ·²ä[þ6ý7+]«ÜŠÜ¶fRʾè–}‘û¶ÞÜJ/S™ÑÆæq›¥OÈë#!!!$$dûöíôÃ¥@©á_”FuCõ’%…U…VºV®V®B‘ðæ³›k/®mwøœ¸«O¯ºY¹98¨³ÔU*‹‚ÅçÅ›j›ºY»i«kg”f\}zuÝ¥u¶ú¶Œ4‰š-HÌOÔPÕp·u7Ò2Ê)Ϲ~ûqþã™fú¹úùßö7Ñ2ñqô¡Æ7Ñ6©m¬]´0§<ÇXËx”Í(¶ ûvúíÔâÔEA‹.}xIÀ´Z ›Éžç<ï“3Ÿ? þpè‡tÁÇ⎩2Ug ˜ÕÖI8#5Z5ÁaB;Y*åšµžµ%ß’r8æðü‡<w;wmuíœòœ¨Ì¨{Ù÷¨,%eBè|ÓòÐ!aiažÀÉÄÉDÛ¤¾©>± 12#ò‹ _Í 2Ö2nu&eÙ×ýÜû×S®²e§o—_•1ñâ©§¼¼],]¤ÏÉë ººzõêÕƒööVú[‚,Jã|âù‚ª7+·ýÓöSªkkçÎ-©)‘¾aqMñ¶‰Û&õ™D}½”t)>/~bï‰[½·2U˜Tc|^ü´#ÓEúuÒ¯/$æ'ÚéÛõ=J_ø«n¨Î,ˤ@@D€9ßÜÏÕÞÅ©§rÊsš ücæ6‡Ò$júììg—Ÿ\>wü3·ÏZ­„âiçi¬e|<îøÂ! ©ÇLg—gßzvkJß)º\ݶŽhJß)í^Õ’²9!¤ª¾**3Š>íDÍáéNð ¨–aãç¨ÏR&„°å¡B6ŽÙh­g™™W‘§ÊTb6¤¨º(.'®´¶´­™<ûè¬,ûÚã³ÇÃîÅ27+·ÕçWßH½ñúg)±Xüå—_–––Ò7óÃY ”Flv,!d¹ër*HB8lÎ2—e‹‚IßÐJ×JòoüíôÛ„.›»7r/ý11k©kÅçÅB"3" !kÞY#¹‚JCUÃAÐæëQcsb !Ÿº}J)BK…µjôªËO.ß˾×V%„¦ sÎÀ9?Ýø),-l¤õHBÈñ¸ã"±hžó<)G4¥ïé‡Ü®[i·šDMÔ>BȘžcŽÇ?upFÿÖºÖ C•©êdâDý*Ë„´<4BÈýÜûóOÎo55k/®.n뜙,ûê-èM)Bõp¬‚ªÙ½;$'' …ÂfïÓ‹Å7n ýóÏ?ŒŒUt:d)Påuå„zm2ÅLÇ¬Ý -u-%¿Rç`N>8ÙVÿ²º2BˆµžuGk3×1ÿŸÚ´Í FYmY[•PÞðžÿmÿ£±GGZl6=l6¸·´W±¾úz©kO¯épt¨µ\„W+×ÀÙÄüñÞÑ÷ê›êûöõìé9kÀ,*Ê2!--2#rÛÍmªLU; ¾W•Ë Œ°´°¸œ8‘XÔÚDÆ}iýOá²¹„–‰MQ"##—,Y2vìØŸ~ú‰n‰D_ýõ™3gvîÜ)ù¶`x K€Ò nÝÏ.Ϧ—BÚ„êÆ±—ãp´ !³fëi4¿qO¥NÑQ×!„<+~Ö,µ[[fY¦d¶Ë*ϋŒ‹Ê›UBo;©Ï$ê*aTVTim©ô“Rä•×KQKÍFY¢/qB› l6˜RPU•õõ.']>1ç„ CE– iyhÿ¦þKÙ5e}ö‹’X(½l9&ÿµröìÙ/¾øB$;w¾¢ÞßRVV¶bÅŠ¨¨¨€€ww÷vå‚,Jc éÀøÿpÉõRôc²n><èAP,üdÄ'*Œ—¯(¬*Ì«Ì#„ ·ô0èç?÷7îOÇjÉu¥I•©*y¶‰2Ðd`ðÃ`ÿpÿ&©s9B±pûÍí„A¦ƒÚ-ižó¼÷OÞ¼“~ÇXËØÓ®•g=HzÅõR±9±eµe’—É"3"5T5!žÀÛÁûFê¿þJ+I³Ñ³iwBZE-ÿâ©ñ$÷rýéuÉ>-gR¾}½&>üý÷ßBÄb±H$ú믿æÍ›÷ÙgŸBNœ8áèè¨è¡ó!K€Òðvðþ5ì×°´°ñÆ»Z¹ŠÄ¢©7jk;:΄ÞÇ>qÿDXZ˜‹¥‹W¯¢®"½4=*3já…ýŒúw¿ÿîþ¤‚¤wö¾ãnën¨i˜[žžîëäKý9·Ôµ|œÿx幕f:f* GŸ‰½'DÄdÇxýî5Êz›É¾~;¥(E[][–gDÙéÛ¹XºüóGmcíšwÖHž.jÕ+®—º–r¥Âr³r£[öEî»—}o˜Å0 ¾›ÉN*Hºõì“Á¤Nªµ;!­r2v"„, ^âeïÅçòŸ=½™zS—«[T]D÷i9“òíKá„BáÆéÇ4ˆD¢Ã‡gdd=ztäÈ‘[·níÜ÷ ÃëY ”††ªÆ¾©û‡,N+I£㤯¡¿yÜæB>êÐ8LóÀŒk.¬¹žr=èAÝnÀ3ègÔÂRaœq𳳟EeEýýèoêWž^Ã4ßyþš‹kÎ>zñVê©H¦ ž/u<î8Õ.à ü'ûK^‘”âç"Ò#8lÎŒþ3:t8r¸žr}¨ùPÉ3FÃ-†S [4T5¾~÷kjx»Òª±öc'öžxîñ¹ ‡/&yzÿ險š£_ÞÂÖêLʱ/Ū­­ýä“OÂÂÂ$_Ë&‹³²²Îœ9óÓO?Mž×߸7\É2Ò2Zë¾AêÕÝ¿Á‚555m)Ê™3g.\ØmUA÷C–P¤œòêmtªLÕuîëÚíÿêÆ÷ß {yã=~fÖ¬…"‘H(JéÖÔÔôçŸ.X°€º«ÞHÈRŠd¢mâçê§©¦énënÁ·Pt9 “´4ÿ¤¤¯is‘ —ËUSSSWW×ÔÔÔÔÔLOO·²²êÎ ¡;!K(’©¶©äÛèàõ—––&7õé³}Þ¼F‡£¥¥Åáp8ÇÓÐР>+ºFèVÈR`eeem=Œâ㓯èZൠÒ~h²€ü¥ä‡, ?d)ù!KÈÏD%“Tt,îXVYVCSÃêÑ«U*[þÝò¾óû^ö^T‡§XëZíñµb뀷²(“”¢”ɇ'7‰^¼þ¬´¶”¥ÂŠÊŠòìéI÷‰ÎŠ®k¬SPJ`nà\úw»ã}5Ek†·²(“àøà&QÓÎŒ¶Íf²í{ØBŽùÃÛWd•¥tï†SÆšáí,Ê$»,›²bä U ºq¨ùPÅUo;d)P1Ù1ÛonO.J&„|ô!ƒüÏY ÉõR-•ו? ŽË‰«j¨2àŒµënëNýÔ(lœwbž³™ó§®Ÿžzp*,-¬AØàdâ4oÐ<žA(Þxv#<-<³4“©ÂìÙ£çTÇ©VºVÍY>bù±¸c‘‘* ;GBHAUÁ‘{G’ ’xª¼éý§°!cmîIá“ÿlŠ„ Ï|ùRßx~c«gKÕïçêwòþÉ;wJkKÌ8P^W¾âìŠ1öc>pþ€$¿*ÅÙãz›;h®ìH附3±Ù±•õ•æ|sO;OW+×v§·­šÝ<{mA–åPZS•E}ŽÎŠnö«äz©fârâ/.­-¥[BâC¦÷Ÿþø!"±(*+ЧÆ[zzéõ”ëT‡©7þyòOðûÁl&›jñ=î{/û=Âõ”ë£îš²‹úËMòaЇ·ÓoS}þIþ'­$mrßɳÏ.ª.¢/$]80ýÀH둲ÔÖªÍ×6'!d°Ù`5–Õ^ßT/e«¿ýU\S¼jÔª†D7Žï5~ÔîQ§NÓqY*¬ÀÙô5; ‹9sbsbé,uÌ÷ØÝÌ»7ŸÝ¼òäJƒ°A,«±ÔrÊsžW>7Ô4¤99礙Ž!d”õ¨ÚÆÚá;U*'æœ`©°!ïØ¾óøùãøçñM¢&– KÆÚšYûÎÚŠú ésÕêI)Bˆ¦šæPó¡ C›£-¹ÈŒšC1ÿ9óO郷JúžI8SV[6¦ç˜Ý>»éM||é,%}z[­ùhìQ9f + KÀ›ì~î}BHhrhDF„X,&„ˆ‰˜úZœJws4r¤s!¤¯a_BHiÍ‹‹GB±pÅß+ÂÒÂZŽ_Y_Ig)G#G*HQz zBÆÚ¥‚ÅÁÀáAÞƒüÊ|mkkF¾¬#‹^=zÉ=¸ô ¤.JR—ó$iªi™§·ùf + KÀ›¬¦¡†ò ïAËŸTYªôgmumÉŸ¨ ˆ"±ˆúzîѹ°´0 ¾Åœs,ø\6—Á`¹wäÊ“+ÔïV¡"T«Ôó±d¬­™WY/%][©¥¡HزQúÖ5ÕB¨sŠ-É8½ÍÈ7{]Y ÞdFZF„c6ÚêÛ6ûIòt‘tÔì]SvÑK‹!;níPHm¯²^ê1i5£´|€“–º!äå‚qB!Ô­”b¤iD‰ÉŠ‘Ÿxþƒ“x#-£ÜŠÜªÂ]>ÓsŒ,ÓÛ²æNù—èíüe÷½×÷ëÞ]'à ²Ê²ârâR‹SEbÑø^ã½{{Ë8Bãþë=×s؜̲̹ Æ–ñ[†Y {j“ÃêÑ«{ðzäVäFgEGeEQÏjjËòË]­\…ó?+yæeïµÉk“;ÝöŸmË]—kªiT<È}PXUèlê<Ö~,‘mz[­Y!³ÐCÊÊ>€–òó󫪪¤t¸x‘ççg’Ò%÷R%&—Ö–6L_ë)«-{RøÄ‚oA/ŽÎŠæ©ñ$ßBÄbqFYFIM‰.W×DË„~<•H,ŠÎŠæsø’O¤¤u¹ºvúvtcmcmZIƒ0lõmÙLvfYf^E^?£~6§ÕA¨Â,u- xtcziz~e~ãþê,õvkë:B±0¥(…zJ§ƒÀ§ÆkY¿¤ìò삪SmSOP×T÷ ÷¡¦!õDÙ'Þo]S™¶™.WWò')ÓÛjÍÔZ.¢ˆÙ#„,_n@ñ÷Ïï†}BØØØÈÞY :F±Y àu€,õÆëP–Â5>ù!KÈY @~ÈRòC–²€ü¥ä‡, ?d)ù!KÈY @~ÈR]+»<ÛöGÛ ÿlPt!Ð%¥ä‡, ?d)ù±]€¬ê›êûlíãaçñíØo7_Û–Ö lp2qZûÎZÉž%üu4öhra²H,²Ö³žÖoÚœsT*’ƒ|ãñÍ–·DdD”Õ–=\ùËæ¦—¦‹=v;ývfi&S…Ù³GÏYfù8úthï"±è`ÔÁ÷OäTäjú:ùŽë5®å±ÈXá¦k›"3"™*Ìwmßý¯ç5T5ÂÓ ÿ5© ‰§Æ›ÑoƧnŸ¾ÊV„úk¯¿¿ö}dF¤P$t6s^=ju³9xk!K€’©¨«xïè{YeYÔ׈ôˆ¹'æ†.åsøTËÿþøûÝßéþóúm\NÜŽÿì ËëÊgü9#¿*Ÿú*‰!‹ƒ?+~F÷‰Ë‰‹Ë‰+¨*øhøG²ï}ý?ëã©ÏYeY[þÝòèù£f‡ c…3Í̫ȣ¾†Ä‡”Õ–½7ཥ§— EBBHmcm@D€.Wwžó¼WÙJ–£.¯+ïÏ÷èéºõìVLVÌÉ9'§®ñ€Ò‰ÊŠ2Ò4:=ïtüÊø«K®ºXº”Õ–}t–úõQþ£ßïþ®ÎR_ï¹þÎ'wb>Ù6q›GçÜãsWŸ^¥‰ÎŠ6Ö6~?8aUBÊ—)<5!ÄVÏö‡ñ?„.M\·".pv ¾ÝÞȽB±Pƽ?Ì{ÈSãm™°%æÓ˜È呯l}*Y¿ìZëZŸ[p.aUÂéy§MµM¯¥\[}~õÎÜúøÖÕ™ô S…y ê€äàrl%ËQGgEi…¼¿2þÊ¢+^ö^55C7¾ú¿&Àç¥@Éð9üýÓöSéÇ’oùÇ7ã~—TDýz)é!䓟Ì4—j™Ôg’ CeÅß+.$^ð°ó ¹lût¹º’#o³qÏ={ïìÍ«Èk6Ðí9å9æ:æ²ìýÊ“+„Õ£WOuœJµÌ8§¼®|Ç­—'œd¬P—«»gê.›KégÔoá…C72´Ö}-ÕÁÛÁû죳ÿ¦ü[ÛXËasäÞJ–£æ²¹û¦íÓãêBlôl~™ôË„b²cŠª‹ô5ôeÿ·x#á¼(™>†}¨(C1Ó1#„TÕWQ_ÓKÒ !î¶î’›P_3J3è–Þ½›©òºrŸ#>GîÉ(ÍŒ„ºÆ:÷NíÂÍÊMró‘V#%¿ÊXaƒ>T$¢˜h›B†˜ ‘ÜÊXÓ˜RT]$÷V2uoƒÞT¢°TXÃ-†7+à­…óR dÔYê’_„ѲƒÑJ£$ŽN³–ø¼Š¼1=Ç,w]nÁ·à°8 ã›+ßЋŸdß»,Ú­P¥Ön#5ˆH,’{+Zî£x༼Q,u- !ÿ¦ü+Ùx#õ!Ä‚o!eÃÌÒLBÈÊQ+\6—Á`4"3";´wjaia’·ÒnuJ…]AÆ£~œÿ¸¸¦˜þÚ$jº“q‡B_x›!KÀ…zÿmÿcqÇŠª‹ÊëÊÏ=>G½¿e|¯ñR64Ö2&„üv÷·ç•Ïëšêâóâ? ù(­$­C{k?–òóŸ©èŠkŠÆÝ±»S*ì 2uMcÍ’à%rÔ6Ö¦§~vö³ÔâTgSg,– ¸Æo˜>}Yx êÀú+ë×_YO·{;x{öô”²áÄÞ"‚? ¦Zxj<Ïžž¡É¡R¶j¦ŸQ¿YN³ã×\X#¹ëó‰ç_½Â® ãQ6œQš1õÈTº…Ëæ®÷\Oç¥àͳÖ}íÏÞ?÷7êÏasÔXjßx|³ý?Û¥oe¤ettÖÑaÃxj<-u­wlß š$Ç5¬c6~ùΗ–|K6“mªmºjÔªU£WuJ…]AÆ£ÖV×>1ç„»­;OÇesݬÜNÎÅÃ¥^`ˆÅbE×Ê$??¿ªªJJ‡‹y~~))©ÝVtú¹ç{§îUt-¯‘åË !þþùŠ.ºŠìq^ @~ÈRòC–îã€6©±ÔR¾LQt¯5œ—²€ü¥ä‡, ?d)ù!KÈY @~ÈRʧ¢®bgøÎ©7:wØ=wö„ćtî˜oÈR 4„baÀík=koïÔâÔˆôˆÒÚҥ×=ªÆRóuò¥º5 ÷ÜÙCùpè‡\6—j<õàTy]ù¢¡‹º³06“M)©)‰ÊŠÊ,Íd1Y=õ{·Îd0[Ý0<-¼AØàdâälêÜlÕ Õמ^Ë­È5Ô4ôìéÙì×CчdŸ)Õî¹³GÀLuœš[‘ü0X$e–fî ßIàãècªmJ}Nxž—WÕPeÀ3e3J«×ùÓ  $¥@i4 ›v†ïô°óxZø4 "€j\8daTVÔÔ“ûN¦rCLv õ翯a_w[wBHƒ°áÛÐo‡šm+KI8“U–%}ïsÍåsø*ŒÍdwõ»À¸ÀaÝÙ’oùÛô߬t­$7Ì)ÏÙzs«X,¦úÌè?có¸Íô&ñyñ‹CVR_{ðzlòÚ$Y@‡f@Jµ»#v;:RYŠ!»<›ÎRC͇šj›U­ø{ÅŒ;ôÞ9lÎzÏõÓúM“>o*d)P2q9qWŸ^u³rs0pPg©³™lWK×ÐäÐÈŒH*7„§…sÙ\›–FµDgE×5Õ¹Z¹¶5晄3éÒ÷;ÁaB[Yª­Â!aiažÀÉÄÉDÛ¤¾©>± 12#ò‹ _Í ¢7¼Ÿ{ÿzÊõQÖ£ìôíò«ò/&^<õà”·ƒ·‹¥ !¤º¡zIȒªB+]+W+W¡HxóÙ͵×JîZŽhµZš±–±Ÿ«Ÿÿm-GªÑDÛD(. ^Ÿoªmêfí¦­®QšqõéÕu—ÖÙêÛ0 }ÞHÈR dŠkŠ·MÜ6©Ï$º…ŠáiáTnK f1LSM3<-œê@}’¥¦ôÒò²Z3º\ÝŽFÙ8f£µžudFd^Ež*SuˆÙ¢ê¢¸œ¸ÒÚR:™×ïñÙãaçA}u³r[}~õÔT–:Ÿx¾ ªÀÍÊmÿ´ýTâ©m¬8·¤¦äUf ÕjiT– ˆ0ç›û¹úÑí—’.ÅçÅOì=q«÷V¦Ê‹+•ñyñÓŽL;}è×I¿JŸ"€7²(+]«f À‚oa¦cžN)­-M,HœÖoO•wöÑÙÜŠ\c-ãð´pO`§o×Ö˜r«ZËÂ!÷sïÏ?9¿IÔÔ¬½¸º˜ÎR½½é Em3šRPU@}ÍŽ%„,w]NŸ:â°9Ë\–- ~y½RŽhµÚvÝN¿Má²¹{#÷RW$Åb±˜ˆµÔµâóâ;:À›Y ”Œ¥®eËFW+×À¸ÀœòœØœX±Xìf妡ªA O ×îݤ¤É}&Kó×KµUXdFä¶›ÛT™ªv| ®*—Aaiaq9q"±ˆîf¤e$¹µæ‰Ž_åuå„zÑ7ÅLǬپ::­Nc»¨“a'œ”c[€7²(ú&8I#,GƆ§‡ÇfÇšh›P+»{öè–¦ÆR‹ÅR.ð‘NZ/Õ²°Sÿ%„ìš²‹ºôFI,H”¾£f´Õµ !ÙåÙ’O~j™ü::­NcûÅp´ !³fëi4¿qO¥.Ç€od)x¸X¸0U˜aÏÂârâ¨kd„–#Î$œQeªR¤lÞ)ë¥Zb0„žn‰Ìˆ¼þôz‡h:0$>Ä?Ü_r½}ÿíg UªLÕ²Ú2É–áæÃƒ ÅÂOF|¢ÂxùæŒÂªÂ¼Ê¼ŽŽðf@–€7–ºV_ƒ¾×R®5 ݬݨF7+·Cч.&]ì%èÕƒ×CÊæ]ôho'c'BÈ’à%^ö^|.ÿiÑÓ›©7u¹ºEÕE²âíàýkدaiaãŒwµr‰E7RoÔ6Ö6ëöŠ3Ð*K]ËÇùWž[i¦c¦ÂPñqô™Ð{Âá˜Ã'îŸK s±tÑãêUÔU¤—¦GeF-²°ŸQ¿Žîà €,ŒÁ „±øÅ‡nãfíö ïS…9Üb8Õ2Ä|ˆ*SµAØ0ÂrD·–òÿÆÚØ{â¹Ç炾xÂôþÓ5U5F”} U}S÷-YœV’–V’FÑ×Ðß:K}¥ž/u`Æ5Ö\O¹ôàåc xoU‹‰ Þg ÿY :—+"„ÔÕ©p8¢v;w‹Éòsõ³Ö³nõ×I}&©0Tø>µÀˆ¢ÎRÿ¯ç ª ¼ì½:·Ù ÛñŸ¾N¾ Ï Æ “AŽFŽáiá<5µÞ¨Õ ©F[}[ºÅÑÈñêâ«ÔsÏ 4 <ì<Äb±Ÿ«_³ø"ã H©¶Ùûø|}úö¹›y·¼¶\LÄ&Ú&„>‡¿ÚþÔâԘ옒š]®®%ßÒÙÔ™~DÂÛ ºZÅаù½™ðÖbÐÙE~~~UU•”‰‰j'š^¹’icÓØmUt§ñãÍ<<ª?ÿ¼¤ý® œllldïŒs”ÐÉllX,ñ£GjŠ. KÔÖª<{ƶ·oh¿+¼¥ “©ªŠ¬»u‹«èBºDDG$b Ú|ù?¼µ¥ óSªQ]ÿÂÀèÌÞÀuúúBE¯ ü—:ß”)•"ãøq-EÐÉÒÓÙW¯jÌšU¡èBà5‚,O[[´hQÙ®]ü‚‚·èÞ.x|ÿ½¾•U£··´Û/àmƒ,]bÑ¢RmmÑöíÍß4 ¼nÜàþû/wÆ"&·ÀÃKÈRÐ%8ñW_…„hž>­©èZ:Av6kÍÁĉUXuÍ K@W;¶zÉ’ÒuëzDFr] À+©®VY²ÄH húþûBEׯd)èBŸ^âáQóÉ'†ÑÑꊮ@NeeÌ… JK™û÷?§ë Y ºŠ Ùº5ذÚ÷ß7ÆÅ>PF©©ì©SMž?gýñG®‘Þ­@–€®¥®.ö÷¾paÙš5‚/¿áÎ>PB!ãÏ?µ§O7ÕÕ†„dÛÙáAçÐ:¼:¦Ý÷ñµåŸ46mÒ¯¨PY¶¬Ô×·BC×Jà5%‘[·¸?ý¤—žÎ^° |ùò55ü­|»tè}|ÈRÐ1rg)BHm-ã·ßø¿ý¦£¢"öð¨9²¦oßCÃ&ä*P¸úzFi)39Y52’sù²Ff&ûÝw«×­+¶°À+ºßFÈRÐ…^%KQÊËUÎœÑ Õˆ‰Q U@§°²j|÷ÝêiÓ*mmqQïí…,]èÕ³­¡‘’¢ZTÄÄ›û@áTUÅZZB;»œ%…Že)V×Õ ªª¸wïzEWðJð¿ä‡, ?d)ù!KÈY @~ÈRòC–²€ü¥ä‡wÈÈç¥ä‡, ?d)ù!KÈY @~ÈRòC–²€ü¥ä‡, ?d)ù!KÈY @~ÈRòû?²çRo˜–ç(IEND®B`‚fio-3.39/examples/gfapi.fio000066400000000000000000000004101476262051600156340ustar00rootroot00000000000000# Test opening a file from multiple jobs. # Originally authored by Castor Fu [global] ioengine=gfapi volume=vol brick=localhost create_on_open=1 rw=write [reopen_file_test] nrfiles=4 filesize=16k size=64k openfiles=2 rw=write filename_format=reopen_test.$filenum fio-3.39/examples/gfapi.png000066400000000000000000001334331476262051600156570ustar00rootroot00000000000000‰PNG  IHDR«k7•bKGDÿÿÿ ½§“ IDATxœìÝ{|ÎõÿÇñǵóf'Ææ0ÇÍlÎ É9Tò](ú)Q,JH‡¾%õ-QŠR5Ô†Ì)Rä|3æ0sšÙ ³a›ë÷ÇÕ®\ÛpmÆÆž÷ÛÍí{]ŸÏûó~¿ÞŸ½¿ÙËûýy F£ÑˆˆˆˆˆˆˆHÑjS؈ˆˆˆˆˆˆd§dUDDDDDDŠ%«""""""Rä(Y‘"Gɪˆˆˆˆˆˆ9JVEDDDDD¤ÈQ²*""""""EŽ’U)r”¬ŠˆˆˆˆˆH‘cW؈ˆˆ¤•+WòÓO?qìØ1®^½ À AƒèÚµë]i?<<œÏ>û ¬¾ö¯¿þâ‡~àèÑ£\¹r€Ή'èׯ½zõ*øÀEDDŠ%«""rߘ={6Ï?ÿ|Žã;w¾k1œÜ¢ GGG¼½½y衇èÑ£GŽe»¹=ºfÍfÍšE||<þþþ¼üòËÔ©Sç¦×ÜÌgŸ}Fxx8ëÖ­3Ϭ֨Qƒ²eËæZ>·gV8ÀüùóÙ½{7çÏŸÇÍÍÚµkóì³ÏR«V­›¶/""RD…b)bÒÓÓO>ù¤°øS®\9ã„ ,ŽFãsÏ=—£ìõöìÙc\¶lÙMËxyy7nÜhÇ×_mqþÓO?Íqqþüù7¼æV^~ù囯•ýÏûï¿oqý¨Q£Œ666¹–5 Æ!C†¯]»V?‘»êg½ºFDDŠœO>ù„Å‹›¿2„°°0ž~úiÞ}÷Ýåß~ûmÖ¬YƒÍ¿­3†5kÖ°fͪV­JãÆÍß׬YêU«øñÇiݺ5‰‰‰<ÿüó968Êrþüy>ýôS¾ýö[BCCiÒ¤ ¼ð ÄÅÅ嫯¯¿þ:kÖ¬±X2V«V-s" P¢D ‹ïYžxâ óòßèèhöíÛ—ëÒÙŒŒ fΜi~–´M›6T¬X‘ÔÔTRSS™9s&ï½÷^žû@@@€E¢h«³³sŽëŒF#ãÇ7ïÙ³§ù>=ùä“\¸p)S¦ðñÇóæ›obkk›çøDDD ‹fVED¤HIHHàøñãæïíÛ··8ÿøãç»îíÛ·3zôhžyæ{ì1yäžzê)‹2GÍõZÚ´icþ^ªT)êׯoQ÷ÝtìØ1N:eþžý¾\¿AÓ¹sç,6p¹hfUDDŠ”¬]o³¸¹¹Ýô»µÆg±1“µígqvvÆÎÎò¯Íëc¹ÑuwJjjê cÉí{öò"""EfVED¤HñööÆÁÁÁüýÈ‘#ç<˜ç:“’’7nœù{pp0‹-bÍš5üöÛoVÕqéÒ%NŸ>mqìСCæÏ¾¾¾7½>%%…Ö­[›ÿlÞ¼9=ÈÉ×××bYoöûrýk| •*Uº­öDDDî6%«""R¤899Ñ®];ó÷o¾ù†„„À´ôuúôéy®399™ÌÌLó÷W^y…§žzŠÖ­[³{÷n«ë7nœy¦9sæX$„ÿùÏnzmFFüñ‡ùORRR{aÉÍÍÍb‰ô×_m^œ˜˜È¤I“ÌçZµj…··÷mµ'""r·i°ˆˆ9ãÇç÷ßçòåËÄÄÄàççGõêÕÙ¿?õë×·xVÓU«VÅÏÏÏ<úÔSOQ¿~}âããoø>ÓìÜÝÝùóÏ?©R¥ nnnìÛ·Ï|®E‹tîÜ9O1„I“&±eËΜ9Ñ#G¨^½:>žjÕªáããcQ¦cÇŽX¼;ÕÕÕÕ¢ºuëZ\·bÅ ®]»`¾>Ëœ9sÌ8U­Z5GLsæÌaÆŒDGGsáÂÜÜܨQ£NNN7싈ˆHQg0Þèíç"""…è¿ÿý/Ï<ó æctîÜ™+W®ðÁ0jÔ¨;ÃÔ©S8p ^^^œ={ö޵%"""Bµ XDDФéÓ§S£F Ê—/O“&M¨\¹2O<ñ„9QmÚ´)C‡-ä(EDDäNQ²*""EÒ˜1c¨W¯§NbÓ¦M;v 0-{;v,¿ÿþ»ÕÏ¬ŠˆˆÈ½GË€EDDDDD¤¨Ñ2`)z”¬ŠˆˆˆˆˆH‘£dUDDDDDDŠ%«""""""Rä(Y‘"Gɪˆˆˆˆˆˆ9JVEDDDDD¤ÈQ²*""""""EŽ’U)r”¬ŠˆˆˆˆˆH‘£dUDDDDDDŠ%«""""""Rä(Y‘"Gɪˆˆˆˆˆˆ9JVEDDDDD¤ÈQ²*""""""EŽ’U)rì ;É)>>ž”””ÂCDDD$ß|||puuÍ÷õšY‘"Gɪˆˆˆˆˆˆ9JVEDDDDD¤ÈQ²*""""""EŽ’U)r”¬ŠˆˆˆˆˆH‘£dUDDDDDDŠ%«""""""Rä(Y‘"Ç®°‘»Ïh„ãÇ퉋³ãÂ[ŒÆÂŽHDDîFÜÝ3©^ý*žž× ;¹)Y)&23aíÚ,^ìÊŸºpþ¼׈ˆÈí©Z56m.ѵëEªW¿ZØáÈ}FɪˆH1°zu >üЋcÇìyè¡4 :Gƒ—©\9Ll”·Šˆˆ•®^5pîœ-ÑÑlÜèÌòå%øî;OÚ¶½Ä¨Q‰T®œ^Ø!Ê}Â`4jñ—ˆHQOJJÊm×kÏèÑ¥Y¿Þ…'ŸLáµ×’ôK„ˆˆ(£Ö­saÂ/޵ç…Î3xpŽŽJ3Š;\]]ó{y¨fVEDîS683xpYÊ—OgÞ¼4lx¹°C‘ûÁ­Z¥Ò¼ysçº3qb)6mrbêÔÓxyevxrÓÂ/‘ûÐO?¹ó åhÙ2• ”¨ŠˆÈgkk¤W¯ó„†')É–.]|9xС°Ã’{˜’U‘ûÌâÅ®¼óN^y%™Ï>‹×2,¹«üüÒY¸ðeËfðüóå9uJ‹9%”¬ŠˆÜGöìqdÔ(o^x!™$ †ÂŽHDDŠ#OÏL¾ûî%KfÒ¿YRS•vHÞiÔˆˆÜ'’“myé¥r<üp*#F$v8""RÌ•(qiÓNqæŒo¿]¦°Ã‘{’U‘ûÄĉ%±±Ï>;£WшˆH‘àë›Á„ gX¼Ø•M›œ ;¹ÇèבûÀÁƒÌŸïΛo&âêz­°Ã1kÝ:•6mR3¦4™™z>E¬§dUDä>ð¿ÿ•¢ví«tî|±°C¹ïDDDÐ¥KêÔ©ƒ¿¿?þþþ¼ôÒK¼õÖ[æï½{÷6—?tèù¸¿¿?(ÄèEІQ£Îräˆ=K–äû›R )Y¹Ç>mÇÚµ%xñÅdm¨$RÀvîÜIHH»ví"--­°Ã¹¡Ç{ÌœO:µØÆ EW•*é<úè%æÍs/ìPä¢dUDä·jU œ¯Ñ®Ý¥ÂEä¾Ƶk¦¥õÕ«WgÛ¶mÄÄÄðí·ßrd"÷žÎSؾ݉³gm ;¹G(Y¹ÇmÜèL“&iØÛë}ª"íøñãæÏµjÕÂÃÃÃü}üøñÄÄÄÃìÙ³ #<‘{JÓ¦©ØØµÑ’XÍ`4õÛˆHOJJŠUeÛµ«DÇŽ 9w‡£’{Á¡C‡xüñÇÍßûí7vïÞÍŒ38|ø0ÿ÷ÿÇ;ï¼À–-[øá‡رcgÏžÅÁÁ:vìÈsÏ=‡]Žúׯ_ÏܹsÙ¹s'‰‰‰888P¹reZ·nMß¾})UªÔMc‰ŽŽfÚ´i>|˜R¥JLHH...íä%¶ÜÚ‰‹‹ã‹/¾ &&†2eÊжm[†J‰%¬ºK–,aÈ!V•hÚ´©9aÍ-ž€€€|õíV&OžÌäÉ“oxÞÇLJõë×ç»í•+W2g΢¢¢HNNÆÓÓ“Š+Ò¸qc:vìH```žcâ­C‡Š´kw‰×_O*ìPä.ðññÁÕ5ßÏ)‡Zÿ_C)’âãm)W.£°Ã"jæÌ™„††æ8þé§Ÿòõ×_[KOOg×®]ìÚµ‹eË–1sæLœÿ?~<ß}÷Å5DEEÅÏ?ÿÌ÷ßO```®±üðÃÌ›7ÏüýôéÓLŸ>­[·2oÞ<ìííóÛõ~úé'¾ÿþ{ó÷¸¸8fÍšÅéÓ§ùòË/s½æn¹Ý¾ÝͶÃÃÃyýõ×-Ê'&&’˜˜ÈÎ;™5kûöí+ð8åþV¶l JAÄ:Z,"r»|Ù-’‘Ü-[¶Œ‰'²sçNbbbxçwX±b…9i±µµeüøñìÚµ‹åË—ÀÖ­[™0a‚¹žˆˆ‹Dõ7Þ`Û¶mDDDP³fMÀ”È 4ˆŒŒÜÿñdõêÕÌ›7;wòÑGakkzn-+ñò[váááÌž=›íÛ·óâ‹/Zô!>>ÞªûLLL -Z´0{úé§ÍË~cbbèÖ­›Uue)ˆ¾eBLL ÕªU36l˜9ƬÍü´nþ·páB®^½ ÀüùóÍÇëÖ­ËÀñððÀßߟ1cƘÏ=z”7Þ0–FáêêJ×®]iÓ¦ù\Vb”ŸØ²{å•WhÚ´)îîî<ÿüóçŽ=šë5wCAôín¶íääd>Oll,öööÔªU‹—_~™_ýµ@c”âÁ`0ý½%b ÍÁ‹ˆˆÜÇ6l˜ãØõïý #,,,×kÓÒÒˆ¥zõê×Ô©SÇ¢\íÚµ1 dmƒqðàAš7ož£¾ZµjY|¯Y³&+W®àÈ‘#ùŽ-»zõê™?»¹¹Yœ»t©ðvÍ.ˆ¾ÝͶ»téÂòåË1Ìœ9“™3gb0(W® 6¤gÏž¹Ž/‘‚¢™U‘ûXöd-¯RSS­*gÍ~†^p£Ø®ŸE¶±¹7Õ±ö¾ßɶyäfÏžMpp0*TÀÆÆ£ÑÈÉ“' ç¹çžcûöí…§ˆÜÿ4³*""RÌpæÌºuëÆøñãótMdd¤Å¹½{÷Z|¿ÑŒàÞ½{iРùûõ›óT­Z5ß±Ý+îdßnõùmûá‡æá‡L›i9r„÷Þ{-[¶™™ÉÒ¥KyଊAD$¯”¬Šˆˆ3=zô௿þ`Ñ¢Eðä“OâææF||ùd¾c»WÜɾ]?ƒ¾{÷nÒÒÒ,vÎOÛ&L 55•ǜʕ+ãíí›››ERzýfZ·ŠAD$¯”¬Šˆˆ3?þ8 `êÔ©dffòÁðÁä(wýN¸íÛ·ç…^`ÆŒ|òÉ'|òÉ'å½¼¼øâ‹/nøžÐ¶mÛÒ½{÷ÇëÕ«GŸ>}òÛ½âNö­yóæìܹ0íü›õ\qÖ,j~ÚNNN&44”9sæäÚ¦½½=]ºt±:‘¼R²*""R 6ŒV­Z1wî\vìØÁ™3g°··§lÙ²T©R…víÚѶm[‹kFEË–-™;w.;wî$)) {{{*W®LëÖ­éÛ·/^^^7l³W¯^4nܘiÓ¦qøðaJ–,Éþó^{í5n+¶{ÅêÛÀIII!""‚„„233o»í·Þz‹F±bÅ bbb8}ú4×®]ÃÛÛ›|_|ÑüÚkcÉ ƒÑšDD䮊'%%Ū²þþ~LžO‡Ö•¹[:Äã?nþþÛo¿™ßÍ)"ÅÓàÁ>|ñ…uï<–{›Å¦wyzon‘'""""""÷5-‘b¥gÏžlÞ¼ù¦e7nÌܹsïRD¹»Wâ¹S4³*""""""EŽfVEDDäŽðóó#&&¦°ÃÈá^™‰¼Wâ¹S4³*""""""EŽ’U)r”¬ŠˆˆˆˆˆH‘£dUDDDDDDŠ%«""""""Rä(Y‘"Gɪˆˆˆˆˆˆ9zϪˆˆäÙ™3—™?ÿ(=Tš‡*]ØáÜ–û©/)!á2ýu†“'ÓÈÌ42p`ööwî߸õs‘ì4³*""yŸÆäÉQlÚt¶°C¹m÷S_ Ê®]çxôÑ•¼ùæ6&NÜÇäÉQ¤§ïh›ú9ˆˆHvšY‘<óñq&$$辘»ŸúRP&OŽ"%%ƒ*P­š66ìí w´MýDD$»ÛJV»uëÆ‚ *‘{J×®] -ì0 …··!!…F¸ŸúRP¼ˆ¿¿“'7¾kmêç ""ÙÝöÌj“&M:thAÄ""rϘ8qba‡P¨nö|áÅ‹é¬[O\Ü%í¨]ÛƒFrŸ-ËÌ4ò÷ß DG_ #ãU«ºÒª•ŽŽ¶æ2±±— ‹£eKê×/ɦMgÙ½ûŽŽ6´léC•*®¹Ö}êTkÖœæâÅtªWw£U«²8p•+OÑ¡CüýÝnØ—ü¶iM ‹5÷cݺxvî<ÇÙ³—)YÒÉ“÷P»¶mÚ”3×uäH »wŸãÔ©4\]í¨_¿µk{Z´wý=¬[ד Ø·/™%ìiÕÊ__‹òzfUDD²»ídÕ××—gžy¦ b¹g×Õ,YÏf_¶q‚·ÞÚÁÅ‹éå4(Å”)áííd>¶kW¯½¶…ãÇS-Ê–+çÌ×_71'?±±)Lž…³³-S§F³jÕ)sY[[ãÇ?ÀÓOW²¨ãçŸc3f'W¯^³ˆ!8Ø—É“£p7'«¹õ%?mZÛŸ›ùâ‹ý­|4ÔÅÅ–_¬nUYkïǺuñÌšu€øøËLž@UiÓ¦©©™ôïÿ77&äh£eK¦LiŒ³³éW‹¬{èà`çŸîåï¿ÿ½ÆÎÎÀ¨QuèÝÛÏ|ìFcJDDŠ/=³*"""*êYÛf~ú“›/¿ÜOf¦uÙjéÒŽV%«y¹-[úàîîÀÔ©Ñ”,éÀ³ÏVL3«—.¥³qcµk{äAéÒŽ\¸ÁæÍgY·.ž)S¢6¬VŽ{˜šjº‡eÊ8±wo2ÿÀûïï¦F %¦""rCJVED¤@LŸ~Œ #}ûú3jT ÿìÇ3|x-ž~z ;v$±qc?\†o¾9À… éŒ[çž«fQϬY‡øïwGÏžUÍÇÓÓ¯±lY[‹å£#GngÁ‚X¶lI¤M›²ÌœCf¦‘×^ bðàŸ ¤S§µyꓵmæ§?¹4(0O3«ÖÈËýhÙÒ‡–-}˜93†²es}ü˜6íÛ¶%Zݶˆˆ?JVED¤@\¸Ž··NN9gü*U*Àùó¦gY“’®’™idÒ¤¨Ö—ý¹×råœs”Éš]ÌÈøw:òüù«”-ë„­mÎW­øú–°¢'yo3?ýÉÍxfµ ïÇ×_ "â¥J9Ò¢…7eË:ãà`ƒÁ``þü#ÏÄf©X1g66*Tpù'É’U±šáº©’×^{Ï?ÿ¼£):Ξ=K™2eÌß׬YCëÖ­ / ‘BâînÏ©Si\¾œ™#a=vìöÿ”µãêÕk¼ôÒ“­¬ òÊÃÃÓ§/“™iÌ‘ ?~)_uÞJAõçN<³Z÷cíÚÓ89Ù²lY[¼¼ÍÇFøþûC3êYââr¶a4šžóuwwÈSû""R¼(Y‘ñàƒ^„…Å1qâ>Þz«ŽùxròU¾ù怹 @Ó¦ÞüôÓQ*W.A§NsÔµÿyóæEyÕ AI/>δi,–¾ž<™Jhhl¾ê¼•‚êÏxfµ ï‡Á`ÀÎÎãU<_ÍùóWñôÌ™|†‡ç…ü-–ÏœCbâ‹×ለˆd§dUDD D¿~ÕYºô8ß}ÃÖ­I<ð@IRR2X½ú4IIW¨_¿$Mš˜V! @DÄIÞxc+3gÆP¯^IÜÜìIH¸Âسç3f4¥B—[´šSŸ>þ,]z‚Ï>ÛÇ_¡nÝ’ÿì~{âº$ËÊŒÐJÕŸ;ñÌjAÞ J±gÏ9ž|r5íÚ•LÏ*ïÝ›œk¢ àìlK§Nkxüñò”)ãľ}ÉlØ€ÁýúùDEDä>¥dUDD DÍš|þycÞzk;»v%±kW’ù\Ö{V³–‰úú–à‡šóÆ[‰ŒL&22Ù¢®  |%ªõê•dìØzŒ·›Í›Ï²yóYê×/É#”câÄ}¸¸ì_w²?·« ïGHH ÿÀÁƒ˜930½3õý÷0wîáï˜xáþü3ž°°8ó±¬÷¬j'`¹%«rG­[·Ž)S¦ð÷ߣ£#5kÖ¤gÏž 8{{Ëeqééé|ôÑGÌš5‹'NP¥J† B×®]oú\h^ÚÙ¿?AAAæï{öìáðáÃŒ7Ž}ûöQ®\9ž|òIÞÿ}ÜÜþ]¶v³ØDŠgBB‚r$íÛ—§iÓ2¬[Ïñã©88ØP§NI5òÊQGÍšüö[[¶oO$22™´´LÊ–u¦F w‚‚<Ìå*Wv%$$ˆ rÖ‘u®n]O‹ã=zT¥U+Ö¬9MJJÕ«»ÑªUYÞ{o'`¹qRn}ÉO›Öö§0äå~¼üruJ•rÊQ§§‹·á÷ßOqôh îî´léMùò.\»fäÂ…«9®qt´á‡šóçŸgˆŽ>‹‹­[—ͱËòÆ”ˆˆ_£ÑÚ§crêÖ­¡¡¡]yÝ`éí·ßæÃ?¼áùæÍ›³|ùr\\L¿°Fžzê)ÂÂÂr”0`S§N5¿>YÍk;Ù“Õ&Ožœãº.]º°`Á‚ÛŠMî_wú¿ñññ¤¤¤XUÖßßÉ“ãéÐÁºòÅAdd2µjyZlø™Ì3Ïü««=ÿýD®»ãÞ¯ ã~¬[Ï /làí·ëз¯–ûŠˆÉàÁ>|ñE|!G"wƒ®®®ù½<Ô¦ ƒÉòË/¿˜H[[[¦OŸÎ… ˆŠŠ¢~ýúüõ×_ >Ü|ͼyó,’Áÿþ÷¿œ;wŽ­[·²bÅŠk'»¹sç²jÕ*Î;ǰaÃÌÇ.\ȉ'ríã?æÜ¹sìØ±ƒßÿ=O÷FDî¼I“¢h×n#Flg„H ØH—.k¹zõ½{W+V‰*è~ˆˆÈ½IɪÜ×Ï4öèу~å¡) IDATýúáææF`` ï¿ÿ¾ùÜÌ™3¹rÅôù9sæ˜7hЀ·ß~OOO|ðÁΜæ§ìFEÛ¶mñôô$$$ÄâÜÁƒsÄÖ°aCÞ|óM<==©_¿þMguE¤pÔ©ãɱc—X¸0–o¿=ȪU§ÈÌ4Ò¥Ke ¨që î3º""r/Ò3«rGDFFš?ÿøãüøã¹–KMM%&&†ZµjqàÀóñ† Z”ËþývÚÉ2öð°|®,kæõ±=ðÀe4hk›"RxBB‚xúéÊlÛ–È©S©¸¹9и±Õ«»vh…¢0îÇÍžû±†’U)t¹=—gcSð“þ7zþÏÝýß_ÖîD»"R8|}]rlâSœÝíûQ¹r BB þU<""R|è7s¹#®ŸÁìׯF£ñ†²f6ÿý¥fçÎõmݺµÀÚÉ€€óçíÛ·[œÛ±cG¾ë‘Ü)Y•;bÀ€æÏ³fÍâóÏ?'>>žË—/sèÐ!–-[Æ€èÝ»·¹\Ïž=ÍŸ7mÚÄçŸÎùóçÙ¶m£F*°vòãúضnÝÊ'Ÿ|ÂùóçÙ¹sç c‘üS²*ù2iÒ$ CŽ?Y³£O?ý4#GŽ 33“¡C‡R¶lYœñ÷÷§C‡L›63gΘëìÞ½;:u2:t(žžž4lØG}Ô¢ý¬×èä§üèÙ³'ÁÁÁæïÇÇÓÓ“ ЦM›Ûª[DDDDDrR²*wÌøñãY·n=zô J•*8::šwêíØ±#Ó§Oç‡~0—7 „††2nÜ8ªV­Šƒƒ|õÕW 4È¢îë7BÊk;ùa0X¸p!cÆŒÉÛõ»‹ˆˆˆˆHÁÐKb5£Ñ˜çkZ´hA‹-¬.oooÏ»ï¾Ë»ï¾kq|Ò¤IæÏŽŽŽÏæµÀÀÀöÅÕÕõ†ç=z4£GÎq.?÷FDDDDDnLɪ)#FŒÀÙÙ™Î;ãïïÏÅ‹Y¶l™E‚øüóÏãâ¢>EDDDDîgJV¥H‰çûï¿gìØ±¹žoÕªŸ~úé]ŽJDDDDDî6=³*EÊÿþ÷?&L˜@ãÆ)Uª”+WŽ:0{öl~ÿýw\]] ;L‘bo×É]ôœÓ“ˆèˆ©ïpâazÎéÉÂ= =–‚t;ýºSr‹©(ßC)¾”¬J‘Rºti†ΦM›HLLäÊ•+œ5Ÿ£lR¹‰Eý?nÿ‘÷W¾O¦1Ó|ì÷˜ß™¹e&?÷ú™zåêå׉ó'è¿ ?ÇÏçóŽŸ[•¨öš×‹Ìk™·,àéìÉWOeUÙÜ|¸úCfl™aqluÌjfn™É·Ý¾å ˜[s’Ó’iõu+.]½dQgDtßmþŽŸ{ýŒ¯‡ï-ãJLM¤ó¬Î?Ü|lyôr"OG2æ±1ùêâ=‹ñÛˆï£þnów|úä§tªÕ‰Nu& €ãç[´/""Å—’UÉ·ï·~OÕRUÒbeJ”aoü^¾Ýô-Ëö/cAµt«ÛÍ¢ü¬-³¨Zª*!ÍC¨äY w'÷Ö½éØ&Æ®4½Æ*8(˜Ö~­ñpòàPâ!Bw‡’r%%×ëvÚÅË ^ÆÁÖŸþï'½­êËæ¸ÍV'«¹Í~ZkÅÌØ2;;žoø<+5æâå‹,س€±ôË Ö Xƒ££Õ÷ =3{[{ú5îGMŸšx¹xqáÊ6ÅnbÞÎyLþk2ÿçã[Æ6}Ótª—®Î‡O|ˆ›{Oïå« _1gÇú7éOy÷òyîCÖŒiï{Ó´JSìlì8zî(á{ùpùkuÆÍÑq+ÇÑ­^7:×êœïû+""÷%«""’oe\˰èùE8Û;ðˆÿ#4ômÈÿÍû?~ÚùSŽdÕÛÕÛ¢üÍÌÜ2£ÑÈ;íÞ¡OÃ>æãø?BßF}¹’y%Ç5K£–2|ép½™úôTʸ–±º/?ôø!ÇìߨÛÚ[]ovówÎà£ѹö¿IY§Zè=¿7ÇþÍê˜Õtì`õ=(éR’eý–±âà þ8ü‰—IÏLÀÁÖ­q[­Š­J©*,è½G;GZUkEúµt¾øë vžÜiNVóÒ;;JðÞ£ïY´Õ§a.^¹@ æYv__=¿,""€’U¹ ;äH<›Tn‚¯‡/Ñ Ñ9Ê·¯ÑÞªD`Ï©=8Ú9Òë^9ÎÙÚØâbãbqláž…D'DóxÀãüïÉÿád甇ž@ãŠóT>¿öŸÙ³½3ju²8n0è^¿;ÇþMT|;X}Rè1§Ç —Ïf%…·Ò¾F{s¢š¥vÙÚœK=—¯>ôoÒŸ7¿ÁÐð¡´ñoCwÕ¼ªac°ÁÍÑͪ¸DD¤xº­dõÀ|¼öcºÔébñšWìmíÙ·Ù|ÌÅÞ´¤ùXò±UDDî]šY‘| òbÄÒ|öÇgx»ys$é)WRp±waàÃo«î~ú±4j){Ní¡ýôöøzøâáìanãûîßçz]k¿ÖÌê>‹—B_♞áûîßS½ô­—lß­gV_zè%Â÷…³þèzZLiA5¯j¤\I1¿ƒ´[½n” ¬¿mýÛ²%n fu¢F™I:‚³½3<*äx¥ÍÝìì-³øfã7”r)EEÏŠ\͸ÊÁ³ɸ–A«j­ÌuVõªŠ³½3‹ö,"òt$žNž€Þ³*"RœÙܺˆˆˆHýƒš â\Ú9öœÚCÊ•ª”¬Â÷Ý¿§’g¥ÛªÛÕÑ•ùÏͧc­Ž0p,ù{Ní!-=Nµ:ätÃkú6dnϹ\3^£Çœì:µë¶b)He\Ë0ï¹y4®Ø˜Ë—Ù¿cÉÇp²sbÀÃøoûÿšËZ{ú6î˳õžÅˆ‘¨3QD‰¢¼Gyf<3Ã<ëYX}Ùf$eHJMb×É]D‰ÂÆ`C§Zø$øs9';'Fµ…£#°9n³ÅÌ«ˆˆ?ãm<’µ NË€¥° † ¢eÀr×ÜéÿþÅÇÇ“’’û{D³ó÷÷còäx:t°®|AHNK&:!šÊ%+SÖ­,._àHÒ\\ð÷òϱñNöòÙ]ºz‰ÈÓ‘Tð¨ë²ÝÔôT=„­-UJU1/½UÝgRΘâ²w¡N¹:Ô{ëݪ_ ) ?;ü½üsìÄ{½›Ýƒ,ÉiÉÄž‹ÅÝɪ¥ª¦çC¯d\áAßoÓÍîaÖ¹*¥ªäx>5/}HJM".9*xTÈ5þëû™–‘†ÑhÔklDî3ƒ›þ;òÅñ…‰Ü >>>¸ººæ÷òP-‘<ótö´H"ÜÜ©W¾žÕå³+áPâ¦ço–lÞ¬noWïÛÞèévܪ_e\ËXý.XknOgO<=-Že½zæf1ÝìÞêggmJ¹”¢”K©[–+¬X‘¢GË€EDDDDD¤ÈQ²ZÄlذ1cÆpôèÑ|]¿jÕ*ÆŒÃéÓ§ 60‘,6À˜1Ï1ʪU¦ë5FEDDDä&”¬16l`ìØ±·•¬Ž;VɪÜ96Àر·—¬Ž«dUDDDDnJÉjÓ´iSFM•*U ;‘Ü5m £GƒÆ¨ˆˆˆˆÜAÚ`©ˆiÚ´)M›6-ì0Dn¬iSÓ‘;¨Ø$««V­â¯¿þbÀ€”,Y’Å‹ƒ:u¢T)Ë -ZÄîÝ»>|8...¹ž9r$NNN9êwww'<<œØØXªW¯N§N°µµàÔ©S,^¼˜¤¤$5jDÛ¶m-êÞ°a+V¬ OŸ>9fWcccYµjñññ”*UŠÖ­[xÃ>§¦¦Fll,åË—§cÇŽxzzæ(—˜˜ÈòåË9qânnnÔ¬Y“-Zäxõ„Ü@B|õxyÁ A–ç._†O?[[6 ìnò¹U«à¯¿`À(Y/†˜ðñN ÛeÑ"ؽ†‡lcÔ|näHøgŒZÔïîáá Õ«›êÿgŒrꔩí¤$hÔ²Q6l€+ OŸœ³«±±¦vâãMñ¶n 7£¤¦BX˜éºòå¡cGÈeŒ’˜˗Éàæ5kB‹ 1*"""rß*VÉê„ xà1bû÷ï7ŸóòòbõêÕÔ«÷ïk-ZÄœ9s4hP®Éêœ9s2dˆE²:aÂêԩðaÃ,ž9mÚ´)+W®$<<œ>}úpåÊó¹òÕW_™¿g=³Úºuk‹duÔ¨Q|üñÇdffš úõëÇW_}…½½½EŒ¤sçÎÄÆÆš•.]š_~ù…æÍ››}óÍ7 2„´´4‹ëëÖ­ËŠ+ðñÉùN=ɦLSr6f 0xð¿ç^}fÌ€iÓnž¨‚)É›0xFŒ€ëÆ(^^°z5\7FY´æÌ1%ȹ%«sæÀ!–Éê„ P§Ž)q¾þ™Ó¦MaåJSÛ§\7F8ДŒgÉzfµukËduÔ(øøc¸nŒb0@¿~¦ë³Q„ÎM‰j–Ò¥á—_àº1Ê7ߘú‘mŒR·®)iÖ¹/›d5ËË/¿Œýû÷ÇÕÕ•ˆˆöíÛÇ AƒøóÏ?o»þW^y…%JðÊ+¯`kkKhh(6l`ðàÁÌ™3‡|&MšpöìYæÍ›ÇÔ©Séß¿?õë׿aS¦Laüøñ ‚ƒƒ âèÑ£üúë¯LŸ>Ò¥K3~üx‹k^}õUèß¿?NNN¬ZµŠ}ûöñÔSO±ÿ~¼¼¼¸t鯽ö—/_æ‰'ž víÚ\¾|™ÈÈHÖ®]KBB‚’Uk}þ9lÛo¼ašlÒ¦O7%ªÏ?ýû[_×Ë/›ÛþýÁÕ""`ß>SRZc”W^%Lÿkk ¡¡¦tð`S‚ûàƒ¦øÏž…yó`êTS,7£L™ãÇ›’Óà` 2%ÿþjº¥K›Î_ïÕWÁÁÁT·““)™Þ·žzÊ”¨{yÁ¥KðÚk¦ê'ž€ÚµMŸ##aíZÓ¬¶Æ¨ˆˆˆÈ}©Ø%«~~~¬\¹gggÆOݺuY¿~=.\ÀÝÝý¶ê bùòå8::ðúë¯ÀŒ3xçwxÿý÷Íe[¶lÉ‹/¾ÈÒ¥Koš¬~ôÑG,\¸§žzÊ||Ó¦M´hÑ‚I“&ñÎ;ïP¢D ó¹råÊñ矚û“‘‘Á³Ï>Ë¢E‹˜5ko¼ñ)))\¾|™_|‘o¿ýÖ¢ÍÈÈHÊ–-{[÷¢Xqp0%}<ݺÁwß™’¿ºuáë¯óV—ŸŸi–óŸ1Êøñ¦zÖ¯‡ LKxoGPiIí?c”×_‡€SbýÎ;pÝ¥eKxñEXºôæÉê?c”… MÉf–M›LËu'M2Õ}Ý¥\9SòÕŸŒ xöYÓ¬ð¬Y¦Ä?%Å”œ¾ø"d£DF‚ƨˆˆˆÈ}«Øí³Žƒi#¤9wîÕªUËõ¼ŸŸIIIÇ«V­š£lÖ±¬:"""èÕ«ï¾û.¥K—¦ZµjôíÛ—Í›7ß0&¹‰- reÓçÎÁß?ïuä2FùgŒRc”\Æ(%J˜6uÊ6FÍßo2FÉO7£ü3FÉ6FÉeŒš]7F‰ˆ€^½àÝwMÉiµjз/hŒŠˆˆˆÜ׊]²j­¬M•RRRrœ;vìØ]‹£dÉ’>|8×ó‡ȱ›ñ‘#Gr”Í:–U'˜õ÷Þ{;vpñâE~þùgìííiÒ¤ ¿ýö[ô¡Xyå8rÄ” ÍžmÚU÷NÉÚT)—1Ê]£d§ŒQþ£9v3ÎeŒš]7Fqu…÷Þƒ;àâEøùgÓfMMš€Æ¨ˆXéÄùü°íúüÔ‡ O‚ðÿÈŸu‡×vX""rJVo R¥J,]ºÔâøÊ•+ÍËhïV¾¾¾¬_¿žððp‹s[·neÁ‚8;;óÀXœ›0a/^4ÏÈÈà½÷Þ Y³f€é5:[¶l1—qtt¤aÆŒ9£ÑÈìÙ³ïT·îOß~kzÖ²o_Ó³š+BïÞ¹'eáŸ1J¶1ÊÊ•ÿ.£½*U2ÍÖ®_oÚMøz[·Â‚¦eÍÙÆ(&˜’Ï,¦¤LKÁ´ìùº1Š£#4lhZ®l4šþA@$›­Ç·âÿ‘?S6L)ìP¤é2» cWŽå¯#‘žY«TDDäŽ+v,Y+88˜÷Þ{×^{?ÿü“Ê•+³ÿ~–,Y‚··7§OŸ¾k±Œ9’Aƒѹsg‚ƒƒ $66–_~ù…ôôtFŒ‘c‰ñ©S§ "88GGGV¯^ÍÞ½{)]º4}úôLÏÊ>üðÃÔ©S‡ P¡B’’’XüÏl v΃íÛ!$Äôj™)SLÉYh¨iYp×®¦Ýv¯N´ ›’»×^3mTT¹²iÝ%KÀÛîâeäHÓnÅ;›â 4=çúË/¦¥Ë#Fä\b|ê”i³§à`Ó½Y½öî5-õýgŒ ?lzÝNƒP¡‚i9qÖŒµÆ¨ˆX©‚{Ú×hOÛêm‰ØÁO»~*ìDD䔬Þ@ýúõ aÒ¤IüôÓ¿¡½ûî»>|˜9sæÜµX^}õUŽ?Î'Ÿ|ÂâÅ‹ÍÉdÖ{V¯ßa8Ë—_~ɰaØ6mšùXÖ{V½¼¼(_¾<7fóæÍìÙ³Çâú–-[šgbå’“M ©£ã¿³ˆÃĉ¦W´ lz_hAª_ß” Oš×QÞ}×´$÷.ŽQ^}Õ´ÉÒ'Ÿ˜ɬd2ë=«¹ŒQ¾üÒ´ÙÓucÔüžÕÆ(åË›îãæÍmŒÒ²å¿3±""·°ðù…æÏ«®.ÄHDDÄZÅ&Ym×®NNN¹¾Ž%뜷··ÅñÏ?ÿœîÝ»óçŸbggG›6m¨W¯‹-Âßß'''«êïß¿?ÉÉÉ9Ž»¸¸0zôhêÖ­k>–‘‘€­­­EÙñãÇóòË/³jÕ*âãã)Uª<ò¹ö¥eË–ìÛ·ððpbcc©P¡;vÄÓÓÓ\¶R¥JlÚ´‰}ûö±uëVNžÿºw7ͬÚÙA›6¦ÙÝE‹L±\7FoZÿþ¦¤;;=Úôêœ,ÿŒQ²QÆ7½#vÕ*S_K•‚G1ͲæÖ—–-MïU 7Í V¨;Âuc”J•LKª÷í3-)>yÒ”Ð6lxóWéÈ]a4Y¹ˆ»°ÿÌ~2¯eâWÚîõ»ÓµnWl ¶¬;¼Ž~~·Û¾M­²µ˜¸n"{O讀W5~íó+F£‘»ðó>M¦1“ª¥ªÒ½~wžkðƒÁÜÞ–¸-ÌÛ9'vrêâ)\\iP¡/7y™}`ʆ)L\7€‰ë&š?ÄŒŒ1Çmm›Ö¸œq™o6~ÃÒ¨¥Ä%Çá`ç@²uèߤ?-ª¶0—»þ^4¨Ð€×|ÌžÓ{p´sä¿Gx»íÛx:{Þ¤¥‚k¿F™Lüs"QñQ¸8¸Ð®z;†µF)ËgË­½Wwªo""R¼ŒF£1¿wëÖ €ÐÐÐ ¨¸ëß¿?ß~û-‘‘‘ÔªU«°Ã¹g † Âĉo]XnOÿþ¦çs##¡Ñ;ýß¿øøø\7xË¿¿“'ÇÓ¡ƒuå ‚ÑhdHø–F-Íõü÷Ý¿§Y•fæ$æ‰À'X½‚Lc&5}jÖ'ŒaK†¶7,×:ž­÷,<ñ ) <üåù–³5ØòcÏiT±‘E²š]ÌÈŒF£ÕmZ#=3ÿ›÷l;¾-Ç9ƒÁÀØÇÆÒ³AOàß„®c­ŽDìàjæU‹ò*6bÞsó¬n;¿í?ø+¬ óZ¦Ey?/?~éó .ö¦ÍÛòr¯ ²o5>®‘#¶)]¢4o´ªìõƬÃÛdÆ33hY­ež¯‘ü<Øô÷_|_È‘ÈÝàããc~óJ>„›™Õ¢nÉ’%„……1{öl<<<(ìD,-Yaa¦M<<@c´X[°gK£–âéìÉ-ß µ_k<=‰9ü󰷵·(¿lÿ2ºÕëFÿ‡úSɳ¶6¶üù+a{èQ¦ÃN½rõp´s$òt$ãVã§]?ѵnWTh€Á` yÕæô~°75}jRºDiÎ_>Ïæc›¾t8SÿžJ£Šxµé«}:666|øá‡ØÛÛßú"‘»iɘ>llàÃM¯‘bkÑžELê4‰fUš™×)W‡:åêä(_¿|}>lÿ¡ÅÛ{`kcËÌggâíúï÷F1ñɉ´ŸÞžUWÑ BJ—(ͰVضqïD¼Câ¥Dó,-@tB´Uqç¥Mküez}ÒäΓ©_Þ´4ÝÕÑ•æ!œI9ÃüóY³šîõ»›¯i^µ9ãgþþ ïƒôoÒŸ1+ư?ažºü´_¯|=>êð‘ùgѨb#¦v™Ê£ß±çb-Ž7©Ô$GÙŠž¸tõ’Õmç·ýæUšçøYTô¬HÕRU9’ôï«¶òs¯ ²7=ñ­ IDATo"""JV‹ˆàààÂAäæ4Få6ä¶¹Î5ã5€›>Ÿ˜•œNý{*é™é„4¡síÎø¸úà`ë€Á`à±o#)5ɪ8òÒ¦µ ämC&G»œ¯±Êª#?ÛHäµ}kåç^DßîÆ3«""roP²*""yæçåÇ–¸-l8º¦Ušæ»Ž½ñ{Ù0hnŽn7-—Gé¥ ibqüXò1Ž&ÅÝÉÝ|ÌÆ`äždå¥MkT.Y™'w²ëä.ꕯgqní¡µæ2wJ~Úÿëè_ i1Äbv5.9Ž#IG,Êô½É+›Â@DDî=O×y€!áCøi×Oœ¾xš´ô4"OGòö²·Ù·ù–ut«×´ô4zÏïÍï1¿“”šDzf:'Ο`MÌ^ýåU6Ý@y÷ò$¦&òö¸xå"¯\dí¡µôû¹Ÿy0‹‡“`zÕMrZr¾Û´F‡ ¼ök­%åJ §/žæËõ_2ç|lhëßÖêúò*?íï:¹‹·–½Eì¹XÒÒÓØz|+ $ãZík´7—+è{e­èáÑÄŒŒ±êfUEîMqq³HLL,ì0ä ™Uɳ.uºðÇ¡?ˆˆŽàíeoç8Ÿ•DÝÌÓµŸfó±Í,ܳþ úçZæÙzÏУAþ8ücWŽeìʱæó5}jP&€3)gÌǪ”¬‚«ÇþMÃI ÍÇcFÆä©Mkôz û#Ø~b;/†¾˜ãü;íޱ؉· å§ýö5ÚóKä/,ؽÀ⸟—/?ü²ù{Aß«ÂöÆâ7r¼†ç…Ÿ_0þò©/-’u¹322R8tè{ìpü»,½ƒ*"ETŒ`¯h4ö^b±$¾14A¯í÷K¢±#j4±a¬Q¬Ø+;@Q¥îîïÂÊJ[–²hæsŽçÀ½wç>3wX÷Ù{gæ£ñS·Ÿp³uÃP×[S[zdÃÀ èKõUÊ•êHYÑ{ ª6ÀHÏHãsªCOªÇïÇ·…/.\Гêa¢oBÇ&ø÷óW®qZZ49ýªõYóñêV©‹¡®!VFV|üÁÇl¼I¹Æ*”|[ ‚ èêšÒ²åE†Êÿþ÷?ú÷ïOdd¤¶ÃÊ)‰B“ÙþññǰmÛ¶ H4!‘H˜0a‹-Òv(¿Di¿ÿÅÆÆ’œœ¬Ö±®®ÕYº4–ÎÕ;^øw:qï#¶Ž`jÛ© o8\Ûá‚ð/5nœË–ÅrãÆ &MšDTTS¦LaàÀZŽN(ivvv˜ššjúòmÅz øÙ³gÄÄÄðÕW_§A(‡}Q(3!!!T­ZUÛa‚ Â;ËÝÝ;v°dÉfΜə3g˜;wnq’á=S¬dõöíÛÄÄİxñâ’ŠG4FXX˜¶ÃþERRR´‚P nÄÝ ›·Bû¨ÆG¬ê³ê½;¿ BYÒÓÓcâĉ4oÞœ¯¾úŠ^½z±bÅ jÖ¬©íЄr XÉj“&Yc’ÄcÀ‚¶‰Ç€…²–ý° ‚ Å×´iSvïÞ¯¯/ýúõcéÒ¥øøøh;,AËÄlÀ‚ ‚ƒ»­;w&ßyïÎïãâ£Õz ‚ ÆÖÖ– 6ðÝwß1räHfΜ)ƱþˉdUAA„rAOO~øGGG¦OŸNrr2#GŽÔvX‚–ˆdUAA„rC"‘0vìXÌÍÍùßÿþGjj*ãÆÓvX‚ˆdUAA„rçÓO?ÅÐЩS§bjjÊðábÙ­‘¬ ‚ ‚ ‚P.õë×W¯^1gÎ,--éÕ«—¶CÊHVAAA(·†γgÏøî»ïppp AƒÚI(#:Úà}µ`Á$ ÇŽÓv(Åö>ÕåßbÁHFJ8vó˜¶C)¶÷©.‚ ‚ hÆÏÏ>úˆ±cÇòøñcm‡#”‘¬ Ìž=‰D©S§´Šð/4ûïÙHFJ8uGô?AAr“H$Ì›7+++|}}‘ÉdÚI("Y-%'ND¡Pкukm‡RlïS]þ-&v˜ˆbµ‚ÖµZk;”b{Ÿê"‚ ‚æLLLX¶l7nÜ`ÅŠÚG("YA4r1ú"uÖÁuž«òßëŒ×üxìG\ç¹r#î†òØÐÇ¡¸Îseé©¥ZŒøÝò8¯E^¹Úø]ö(éKO-åbôEm‡"¨¡¬¯WIœoé©¥l¸´¡ÀcÄû×»ËÕÕ•o¾ù†+Vªíp„RV.’Õëׯӽ{w,,,077§K—.DDD0lØ0$ OŸ>U9þåË—LŸ>Úµkcdd„¹¹9mÚ´áСC*ÇMž<‰DÂÕ«WY¿~=žžžâèèȬY³Ëå¹bѤì_ý•:uê```ÀĉüÇy&''3kÖ,>øàLLL¨X±":tàðáÃjµUtt4#GŽÄÁÁ}}}*UªÄ AƒˆˆˆÈ7¾+VP«V- qqqaöìÙdff*ý裘6m-[¶D"‘ ‘H”wRó«‹&±¨{ÊÒõG×é¾¼;¾˜3§ËÒ.D<‰`ØÚaHFJxšüVÿK}Éô]Ó©=½6F£0gN›…m8tý­>²}2’‘®F_eý™õxÎðÄðKC¿udÖžYÈyô? ÊþõįԙYƒ/ ˜¸íŸþ—Ï8Ïä´dfí™Å3?ÀdŒ ¿ªH‡Å8|CÍþ—ÍÈßGâðú£ô©äW‰A«ñä­kž#¾A+¨õßZ~iˆËfÿ=›LyŽþ÷ÓGLÛùOÿ›ßÉH ’‘ZÿغÀºh‹º×APÏÒSKIÉH¡³[gÆ6‹o _ôtôhæÔ ß¾ØÛh;ÄwÞÒ“KINKÎÕÆï²ìdäBôm‡"¨¡¬¯WqΗ˜šÈ¡[‡¸üð2§îŸâà­ƒ$¥&åy¬xÿz· 2„ 0}út­ŽJ—ÖgŽˆˆ Y³f$&&*·íÛ·óçÏS¿~ý\Ç?þœ–-[®Ü–ššJPPÇŽcÆ +FÿÓ u¯ƒ ¾»ÏîâjãÊÒžªwš;5§¹Ss-Eõ~¹ýôvžm,‚ª€kÌ9:G%9=rçFzFøµòcXƒa*Ç‹÷¯w›D"aæÌ™tëÖÍ›73hÐ m‡$”­'«~~~$&&Ò¥KæÍ›‡‹‹ 7oÞÄÏσæ:~âĉ„‡‡Ó»wo¦L™‚»»;iii>>üôÓO¸»»É´iÓøë¯¿9r$W®\QyMv|ÄÐÐÀÀ@ÆŽËÆ6lmÛ¶åðáÃÌž=›iÓ¦qòäIZ´hQèuÓ$u¯CYòÛêGbJ"]>è¼Þóp©èÂÍ'7ñÛæÇÁð<úß¶‰„? §w½ÞLé4÷Êî¤e¦qðúAFo͸?ÇÑÓ«'&9úßù?Y:p)}ë÷ÅÔÀ”Ý!»æ?ŒåG—3³[Žþ§AÙÛ/oga¿…ôoØ{ËBúß– Üx|ƒ:öu˜Û{.œ!Õ‘réÁ%æÎGB!ýoóxâ^ÆáSÓ‡Ÿúý„{ew"ŸF2m×4þºü#É•éoõ¿âØh †z††2öϱl<·‘a͆ÑÖ½-‡¿>Ìì¿g3mç4N~{’®jô? bQ÷:…;qïW]åEÊ $Hò}4n ×@*šV,´<™BÆÙȳ܌¿I¦<gkgZ¹´Â@×@ỹçØ¾ ¼ªxq>ê<×_Ã@ל¬œò,û~Â}®=¾Æã¤Ç˜˜âUÅ ÏJž*Çä,ûƒÊp&ò 7ân`idIÇZ130 %#…÷ó0ñ!U-«Ò¡fô¤¹ïrªSŸÂd·ñÓWO±’[)ÛØ³’'m\Û({™ö’÷Ný"]<+yÒСa¾õ«[¹.ç£Îމ¾ M›–hÝ kï‹ÑÙº€³Î"“¿™ Å·…¯ÚíSR j›^€¢]Ï¢^ì6¿{Z¹´¢ªEÕ„yŽþW»íjÒÿÒ^±?t?¶f¶ì»s£®y•Úlùb ^³¼¸}•[±·¨i—£ÿ}4A%¾"“˲f—hë®AÿÓ0u®ƒ ž÷N°.x±É±ù~ØkW³]¡öB…0~×xbcT¶W6¯ÌϽV&:ž?`é©¥é±êì*ß~óèºTGÊÜNsé]§·rÛëŒ×ü'à?œ{p.×9}\|XÑkFzF*eè°øäbNÝ3+õÂã Ù4x² FlÁ“—O”û<ì<Ø:d«Ê‡RuëS˜üÚx ÷@e²x3)û¦ð2í¥Êk½í½YÑk¶¦¶*õÓ—ê«ÔÏÃ΃*æUJ¤îê¶÷…è \ à܃s*Ç–¬.;µ ŠÂ0Ö3æóÆŸz\Am3Àk@‘®§&×cáñ…œ}pVy¬®Ž.ßµýŽOëªRFiýFë¥nl!Bõ×(â“ãU޳1±aI%4®ÖXãþq1ú"2¹ŒÑÍFóµÏ×,=µ+#+†ÔBJF á±ožXz޿Ÿ„³ôÔRjV¬™;YýgŸ»­»J²ZRïaïšÑ£G³eË~ÿýw¾øâ m‡#”­&«‘‘‘Èd2|||”‰j6 š4iÂÞ½{•ÛîÝ»GJJ ׯ_GO/ë› …BB¡Pþ Y—æ”×,¶...@ÖÕâ”]X’™íþýû¤¥¥Ñ©S'•DU]‘‘‘dffÒ²eKer˜MWW—:Î;wTÄ:ä*+;Ù¾sçN‘ã(N,ê\‡²ù4™\†OMe¢šÍÂÈ‚&.MØ{-Gÿ‹¿GJF ×_GoTŽ>Â[}$á­þ—Ç,¶.ÿ©wêËb•]X’™í~ü}Ò2ÓèT§“J¢ª®Èg‘dÊ3iY£¥29̦«£K„? çNÜ•±ƒGýïŸdûNœ†ýOÃXÔ¹‚z|\|074gÕÙUXYÑß«¿ÊþÓ‘§¹s©Ðr&>døÖá$¥&Q·J]êV®‹¾®>aOÂ8÷à#Frhä!L L•¯ñ¿èOrZ2=uú`elÅéû§¹wƒgð(ñúR}{Fª#åïÎæ«›Ú`¨Æõ)jgø½wƒ »&)ϤNå:4¨Ú€äôdß:Ì•‡W³c [?ÙªòÄ€ÿE^§¿¦[ínT³¬F%³J%VwuÛ»‘C#ú~З€k4qlB#‡F…¶E¶åg–«Üi+ˆ‰ZÉjAmS”ëYœëÑãM+þ$œ³Îò¿Ãÿ£VÅZ4®Ö(Ý¿“Âv½ŠÛ¼ yÄ'ÇãnëNÇ&èêèù<’S÷Oq+þ«5Ö¸d/u¶vεÏHψUß yÞ¿4UÜ¿ãw‘¥¥%C‡eõêÕ|úé§âîê{Hëù>~—ý=[öxP…BQàÚJééé*¿çÕq³Ï™}MË®P¡B¾Ç楸–Ä£ŠÙe”u,ê\mÈ·ÿ½õ ~öxP…BLQ@É|«ÿéçQoÞê–]Á´ˆý¯G} }}Iô?´ÔÿÔ¸‚z|\|ðqñaíŵT2«”ëŽGZfšZö~=÷+I©IÌj?‹ÁõTÇc¯ ^ÇìóÙ}}7ƒ¼ßŒEÊe°ÿóý*JNÞ7™€k\Œ¾¨¼ëhj`ʶ!Û030ãÒÃK<{õ =©Ý:s>†£wŽæJV(ü<Êæ•µ–Ñù·Îœ‰IRJ’ÊM™\ÆÁëÿ\sÛ·ú_ø\úîû§ÿUÌÑÿþùà’)S£ÿi‹Pþœyp©DJÂëVœY¡ò4Ë«ŒW@Ö’x¿yMoÏÞ¹Æôµ®Þš€kľŒUnÓ‘è°æÂoæyžæÚÖ˳—òC€T"¥qµÆÜ}v—Ï}®üYwpª˜WáaâÃbÕGS—b.!•Hñkå§òÅ•‘£šŽbêþ©\й¤’õðè¡’Œ•dÝ5iï¢×b\ái(¯¶)ÊõÔäzt¯Ý]%QÖ`¿œýE%Y*Í¿“â*JljuÀÿ‚?[C¶ÒƵò±hkck¬­‹‡®ndÕ¹U¬>¿šGIJ¤l½¶•ö5Ú3¼ápµžh(Šòx]Šûwü®²²²¢K—.¬_¿^$«ï!­&«¦¦¦´oßžýû÷Ó¿æÌ™ƒ³³3·oßfâĉÄÇ«Žk066fÀ€¬_¿žAƒáëë‹››†††DFFrîÜ9~ùåŽ;†AÑž¿/Ͳ!ë®âÇÌÆiß¾=sçÎ¥aÆH¥R‚ƒƒùᇠD*•æùz:uêÄž={èÙ³' ,ÀÍÍ0cÆ ÂÂÂðòòRyì`ñâÅÊ%e  düøñôíÛWyœµuÖ Q£Fçÿ­´¦±”7¦¦´¯ÝžýaûéÿKæôžƒ³3·co3qÛDâ_¾ÕÿôÐhëϬgÐêAø¶õÅ­’†z†D>‹äܽsürüŽM:Väñ¥Y6d=õqƒÙxn#íµgnï¹4tjˆTGJpd0?þ@à„@¤:ùô?:ÕéÄž=ô\Ù“/À­’ž=`Æî„= ÃËÁKå±[€Å‡SÉ¢ƒ Â@Ï€À°@Æoþ§ÿÕÏÑÿLþéáhäÜcýúŸ†±åOÂëd KN-É÷˜·Çÿåü –-û.ZÎ%‘~>û37±6¶¦¥sK*™UB_W 6_ÝLº,=W99‹Í–=®5¿}9gÕ¤>šJJKÂÖÌV91MNÕ,³Æ_'¦&ªl/hrâÖ]“ö.ªÒ³š-¯¶)ÊõÔäz8X:ä:VG¢ƒ½…=¡OÞ¬Yš'ÅU”Ø&´œ@5Ëjì ßÉìó1Ö7Æ»Š7=<{ÐÙ­s±c±4²dò‡“™üád_HÂ묌­X¼–À›lût[‘︤<^—âþ¿ËLŸ>} ¥N:ÚG(AZ xáÂ…œ>}šÝ»w³{÷nåö *жm[Ž9¢C °hÑ"BBBØ´i“Ê’19iúH_i–]þ…  ¡sçÜoÌ…•½xñbΟ?OPPP®e}LMMY½zu®×ôîÝ???üüüT¶.ó÷ÎDýÿ½uÍ LYýiý¯^oü¶úá·õ­þ×x°Ê×V5ÿéûç1oÿ<å¶c“Ž•X,BùcnhNº,‘Gæ{ÌÛ“‹¨ëØÝcê²ÿóýT0~ó¸¼B¡`}ðúR™ý¹4ë“ë\æÔ«W‰'¸Æ*dMF̬Y³ $66kkkÚ´iÃŒ3pssËõšÉ“'Ó¬Y3–/_΃°··gĈLžFÔs¬ÇÄö \c²&# þo0³öÌ"0,ؤX¬M¬iãÖ†ÝgàV)þ×i2ͪ7cùÑå‰ðóÙŸILMÄÒÈR£r Ršõy[ýªõÙ¾‹E'1¥Íåö)/øõܯÊcÊJQÚ;û˜)/ŠtŽÒ³š—¢\OM®Çîë»Ñh„Ê£Àkƒ×òìõ3•±‹eÙ¯òRÐõ*JlAw‚ðqñAª#EG¢ƒKœ¬ØpiÛC·+“UMúÇ­ø[ëç¹ìOÌ‹¬™zc“Kîñg(ÝëRÅ¢ Õf}êôQnMŽeKÈÍþÈ~êïÛo¿ËѽG´ž¬xzz²gÏ•m111\¼xwwwåxÊl†††Lš4‰I“ þ.ç]Bu÷•DÙµfëĉsm·°°`öìÙÌž=»ÀòóãààÀo¿ýV¤×øúúâë[øúuÇgøðá¹¶çWucÑä:”%O{OöŒ{«ÿ=ábäEÜ+»«L`¨gȤ“˜Ô¡>ÒgóúäSï|ö•DÙ;Ldb‡<úŸ‘³{ÎfvO ûŸµ¿ -bÿkë‹o[5ú_óá ožGÿ˧.êÆ¢ÉuÊÆ—;$ðf ~{üX{q-u+×ÅÌÐŒøäxn=½EèãPüûùcoQðÂyñ®âMèãPº­íÆG5>²Æ†? /ô)a IDAT•DJ·>oû¬Ñgü}ãoÖ\XCpL0õì둜–Ì‘;GHx€W/šTkRµROQÚÛÁÒ‰Û®m#Sž©œ§°¥kJsÌj^Šr=5¹FzFôXÛƒµ:PÑ´"×c¯s&ò ‰„Ï}¦Q¥¡ ëU”ØÆìƒ•‘õªÖÃÁÒ Yç¢Î“ƒ›­›ZçXqfr¹\¥?œ:Ïÿþ?VmH-ÛZÜ}v¹BÎ[”Ëß4sjV¢íRš×ų’'¶¦¶Þ dЃð²÷âé«§¸y Àa2ÿvíÚµcÕªUܽ{·ÜÏ›"¨¯\$«½{÷fÔ¨Qx{{£§§Gpp0'Näõë×*ã*¡4ô^Ù›Q­Fá]Í=©Á‚™¸m"¯Ó_«Œ«¡dUµ¨Ê†ðÛãGØ“0ž„©ìw·u×ø¸o _Î>8Ëí§·Y{q-µ´Ñÿ:þ?¯ü™k]Ä’Pšõy[m»Ú,)û¦ò(„G!Ê}Ùëz–å…¢´·¥‘%½ëô&àZ.mP)£<)ÊõÔäzŒh8‚“÷O²+|—r[ö:«Ù35ŽÒPÐõ*Jlm\ÛpèÖ!öGìW9¦ªEUætš£ÖùVœ^L!SIVÝlÝp¶væBô.D«NŽhf`†_+?êV®[Ì–PUš×ÅP×iMc® *ujáÜ‚¶®m™uhV±ãyzzbnnιsçD²ú)ÉêÁƒÙ±cG®ínnn|ýõ×ZˆHø79xý ;®äÑÿ*¹ñu{Ñÿ!?_4ù"ÏY<›95Ã@×@¹ö!€™¾-|U>„CÖ‡ü}ŸíãòÃË„= #%#…Jf•¨U±îvîÊã­ñmá‹·}î©t³÷}Pùå6K#KöŒØÃÑ;G‰LˆÄÜЪ˜WA®«L*RPÙ-[b¢oB“ÜËD}RÿÒ2Ó4ªºòkc€Žµ:Ò̱'îŸ æE úºúÔ©T‡† UŽS§íŠ[÷¢´7ÀÜNsé^»;×c¯ó:ãµZmQ ª?ízª{=²è°aàNÞ?É͸›ëÓºzë<e-­¿ut½Ômy¯åÄ'ÇLô‹hŒõq¶v¦©cÓ\O0t¾1ÍÇ(—ÌÖС!G$<6œ[ñ·ØºK줷AÕ˜ª®É åûý  “['<+yrìî1^g¼ÆÃ΃æN͹wß¾*³W—ä{Ø»L*•Ò AÎ;Ç'Ÿ|¢öëâââØ¼y37¦qãÆ…¿ ÈÌÌäܹsܾ}===¼¼¼ðôô,ôuÁÁÁœ9s€/¿üRe^ °k×.|||ðòò*µØ‹J¢(ÆŒ-ü1Û¶m+VGŽaÑ¢E\½z•øøxªT©B÷îÝ™>}z‘×1²Lž<™ùóçsåÊ•rÕáJ‹D"a„ ,Z´¨È¯=rã‹/âjÔUâ“ã©bQ…î^Ý™Þuz‘×1²LÞ>™ùó¹2ý ^ïgÿ+©÷¿üÄÆÆ’œœ¬Ö±®®ÕYº4–ÎÕ;^í9qï#¶Ž`jÛ© o˜{èƒP|‹N,ÂÆÄ†!õ‡h;!ãÆÙ°lYÉŽ#X¾|9Û·o'((Híׄ††Ò«W/µ‡Íi[pp0“&M":Zu’¶æÍ›³~ýú|_÷êÕ+:tèÀ“'O¸víšÊê'Nœ`ĈL:5Ïaš²³³ÃÔT㥣¶•‹;«m۶͵¨P<åa,転­{Û\k Å#Æ‚ BÞâ“ãÙt5ïÙ¾sr©àBW÷®e‘ðoô¾÷C1¹Î¿—»»;111$''« ÙÙÙáëëûNÜU gøðᤤ¤àââBË–-100 88˜sçÎøÚü…BƒƒC®D·<+ɪ ‚ ü<}ý”¥§–zÜG5>z'“áÝð¾÷æŽMó\óVxÿÕªU …BÁ;wÔ~²ÐÖÖö¸£ ðÝwß‘’’ÂàÁƒ™>}:Ré›e·.^¼˜ïëBBBøóÏ?ùùçŸY¼xqY„ZbD²*‚ eÄÆØF­‰„rŽGÞ/…“- ï{?|{l©ðïQ¹re¤R)=ÂËË‹ŒŒ Nžþûßÿ2pà@•2¢¢¢X¾|9³fÍÊ7™ÍÏ‹/øòË/¹rå óæÍÓÚr¢"YAAá½`llÌëׯIHHÀÙÙ™]»v¡£ófy¤„„ ,ãË/¿Tù=##ƒQ£Fѯ_?¦L™¢Üþ믿’””ĬY³ìíí•û~úé'V®\©’XîØ±ƒË—/³oß¾"'88˜åË—cmmM@@NNNÇ\Š•¬ž;wŽ˜˜1E¸P.,^¼ø›áLx·U­ZUÛ!‚ ‚ƒ©©©L˜0jÕª±sçNfÏž±±1ÞÞÞôèуÎ;«U–L&㫯¾ÂÄĄٳgçÊyÉd,Y²$ß2^¾|©ü¹8cV³“ívíÚ©$ª#FŒ`åÊ•ÊGƒÓÒÒ˜3gÎÎÎìØ±CåØì1¼+W®D__Ÿ±cǪÜy¾p቉‰tíÚGGGµb-MÅJVkÔ¨‘‘]ºt)©xA#‹/ÆÃÃvíÚi;á_âï¿ÿɪ ‚ ”3©©©ØØØ ££Cß¾}éÛ·/r¹œÈÈH‚‚‚øúë¯ gÒ¤I–#—ËùöÛo˜?¾JB—ÍÜÜœôôtFŽ™o9®®®ÊŸ‹3fµvíÚ…¾&;™~ýú5ÏŸ?çùóç\¿~=ÏcW­ZÀ˜1cT¶ùå—DFFòÇ––Æ÷ߟkæá²T¬dµB… T¨PE‹•T<‚ ‘ŋӮ];Ñ…2óö¬‚ ‚ hßëׯ111!((¤R):::¸¸¸àääĆ ؾ}{ɪB¡à¿ÿý/¯^½bùòåù&kÍš5cË–-8::Ò£G\û#""033Sþ^œ1«>>>rèÐ!ƧrwÕßßwww ëQèüÖŽýóÏ?yúô)£FB__?×Ýb‰DÂÿýßÿaaaÁÏ?ÿLbb"K–,A___­¸Kš³*‚ ‚ Â{!99ÆŒƒ••õêÕÃÁÁŒŒ åF77·˘5k»wïfذa¬X±"×þìuV¿üòKñóócíÚµÔ­[333âãã¹uë¡¡¡øûû+ËâŒY555eäÈ‘,[¶Œ.]ºÐ±cG• –¤R)#FŒÀÈÈ(ßdõСC<}ú”Ñ£GçJˆsòóóÃÊÊŠ¹sçòÙgŸ±jÕ*LLL4Ž_S"YA4vèÖ!Ü:À“—OËåø÷÷ggØNv‡ïfnç¹8Zew¹÷ìÿ ü/}>èCŸ:E›•°(Êê<Úr+þGïå\Ô9Ò3ÓùöÃo©[¥àÚï>»ËްÜŽ¿žTo{oú×í©©ò˜G!̚ϧ >¥c­Ž¥] A„R“}gµM›6:tˆýû÷«ì¯Zµ*sæÌÉ÷õlܸxó¨ìÛºté‚••U«VeÆ øùùFXX˜Êqîîî¹Æ—Ǹq㈋‹cË–-(·óý÷ßS·nÁÿÕˆ#°°°à»ï¾ã“O>Áßß_¹¾lYɪ ‚ ‘-![˜ºªÊ6¹BNô‹h.D_àuÆkåöW鯸}&ŽMJ5¦²:6ôXÛƒðØp•m‰©‰¾fíŵÌšO¦}ú`ggÇåË—9sæL™ÏU$’UAA#›¯nFWG—iMÃ¥‚ : ¤ ð€‹ò®jYr©àƒþÀÞ¢ä¾É./â^ÅQæmk´%".‚cwxüÞ{ùþÈ÷Hu¤|üÁÇ|èú!ºG³ùêæ² Z¡ =~ü˜””ªW¯@ÅŠéÔ©S¯±µµUIN+V¬Xh²ú6‰DBýúõ©_¿~уÖ@5¨Q£†F¯Í^óõmÙÉj^Z´hA‹-4:_q‰dUAÐHÌ‹jU¬Åàzª ¡;X:à`é •˜LôMh\­±VÎ]Úv Û…­iÖÒ3Î,ðØLy&ßù€yçÑ˳—r_+—Vü§ÉJ-NAm¹ÿ>ÎÎÎZŽD()eš¬vêÔ‰Zµj½ka¾OuÑÄ»XÿN¶S«–‹·Ñv(Åö>ÕEÿöúkÛ†KرŸ¤´$ÒŸ§3輿¥Í9fµ ÷î³=t;·âo‘)ÏÄÙÚ™¾uúân§úøTD\…þEtb4 …G+Gº{tÇÃÎCyL^cVGlAjFj¾ç_ÐmUÌ«9ž²–¨ªãĽÄ'ÇãUÅK%QÍff`–Ç«r{•þŠ™g›Ë×>_ãUÅKíAÊÚÝ»w±¶¶Vû‘X¡ü+ÓdõäÉ“¤¤¤”å)KÍûT—ü´mÛ///.\˜kß»Xÿ“'cHIÉ,üÀwÀûT—ü´m»//[.lkß¿¡þåÙƒç¸}x3F4/9ǬæçÏ+2ëà,dŠ7ëθw‚—7ò}ÇïéûA_þ ý‹o÷}›kÊÿ5Ö°°ÛBzxôP‰'ç˜Õ‹ÑIÉÈûýJWGÉ›±KêÆS!›† “«·Žž¥‘%+{¯TëØ¢¸òð ju òy$k/®åÁóØ™ÚÑ®f;>ªñQ¡e˜™ig¨’ö>Õ%?ÇG“O÷ûWÔ¿<Ríj¶ãómŸSż ÿ×áÿTöo¾º™=×÷ZÎ凗™yp&ÆúÆ òDÝÊuÑ—êö$ŒµÁk™v`M›PÕ¢*k.¬àÓúŸÒÌ©º:ºD>dwøn’R“ <?ä ¹Ê¶˜ÄfœÉ‚® ¨dV©ÈñäBôµ“UµŽ+ª'/Ÿ–™Fµ=x•þJ¹o{èvzxô`A×ù¾Ç‡<á‹€/Зê³å“-¸Ù¼Ìƒ BypöìÙ|Çd ï¦2MV[¶lY–§+UïS]4ñ.Ö¿eË‚?`¾KÞ§ºhâß^ms´rÄÑÊ]]LõMs=qï„Zåø_ÈJ"ýûùSϾžrû‡®âeïÅð-ÃÙs}_6ý]]jÚÔdz»é*e k0Œ—i/ ®ûq®×þ}ão¾ùûÜlÝXÕ{M+–JŒ‚ %éÎ;5èÚµzŽúÉhß>€-ì™5«9¿ýv"IK“Ñ´i|}ëanžû®àùóY³&”’¨ZÕŒ‘#?ÀÉÉœöÒ«W ÆóáùíºhzNuêSuÚ/g|Ó¦5eÕª‚‚¢É´haϘ1Þ˜šf}h }ʸqGÉ\ºKëÖ[”å,^ü!^^¶Åº–š¶•PòB‡ •HY|2ë}D¡P  +ÉË”e=æ}÷Ù]þÓä?øíñã«Ý_ÑÆµ î¶îÊˆÕ ŸÏÐÍCÝl4ÝjwÓ8ž‚4rh¤v<¥ÅX/k¡w;S;þô'º@Vâ]£b &ìšÀž{r%«ÛC·s3þ&jv`A·ê–yì‚ š8sæ æææxzzj;¡i}Ìê¶mÛøä“OHOOWnÛ¿?K–,aÉ’%Œ;V¹ýìÙ³tïÞ§OŸª”±nÝ:FŒÁš5Y‰ÉårŽ?޹¹9={ödïÞ½Êc÷íÛÇŽ;8{ö,úúo>úûûóù矫|¾~ýzæÎËñãÇsuü·ë¢É9Õ­OAÔm¿ìøÌÌÌèØ±#ÇŽS¿wï^Ö­[ÇÉ“'±±±!11‘ãÇðâÅ åÏÙ¿çUMb)J[•„¼Æ9nÛv“O>ÙGzú›Gööï¿Ï’%—Y²¤ cǾYkêìÙGtテ§OUë½n]#FÔaÍšÿÔOÁñãј›ëÓ³çNöî}óávß¾{ìØq›³g¡¯/Un÷÷åóÏófÌúõaÌëÃñãÑxzª>*øv]49§ºõ)ˆºí—Ÿ™™>;pìX´òø½{ï²n]'OÄÆÆˆÄÄ4ŽÏÚÿâÅ›Ÿ³Ï«þšÄR”¶JÇëô×È2ÎDžÉ÷˜ì‰‘º¸w¡¶]mö^ßË_¡q3þ&i™it­Ý??Ì ÿ‚+áuŸnþ”a †)'_Ò4ž‚”‡1«U-³ž>hîÜ\™¨fkëÚ€èѹ^—}ìÓWOÉeˆdU„wÆþýûiÑ¢R©øÿû}¢Õ¥k>|ÈСCIOO§OŸ>ôíÛ}}}öïßÏš5k?~<Í›7ÇÛÛ›¤¤$zöìɳgÏ2d;wÆÊÊŠ»wï²dÉüýýiÛ¶­ÊsêX[[óÃ?àááÁÇùþûï¹|ù2[·nå“O> **ŠÑ£G£P(:t(ݺu#33“;v0uêÔüÂÏ“ºçÔ¤>Åi¿lÀÌÌŒùóçãááAtt4?þø#|õÕWlذ:uê”çK^^yO°¡I,ê¶Uiyø0™¡C÷“ž.£OŸšôí[}})û÷ßcÍšPÆ?Jóæöx{Û’””NÏž;yö,…!CjÓ¹³ VV†Ü½û‚%K.áïJÛ¶Õ4èÍl¡÷±¶6ä‡ZááQ‡“ùþûs\¾ËÖ­7ùä“ÚDE%1zôa :Ôƒnݪ“™)gÇŽ;Lz²HuR÷œšÔ§8í—íÀû˜™é3¾6DG¿äÇ/‘ÀW_±aCgêÔ±!(¨ž,yyå=ª&±¨ÛVBé©l^™tY:¿ôù©NÞ.¬ß,¼îlí̸㔿‡= cȦ!Ä'Çšð%¦&2tËPx ` ÷À‰'?åaÌjÝÊYO³<{õ,×¾§¯²¾ 5Ñ7ɵ¯«{W†ÖÊ7à?±¶ÿÚR‹Q¡¤ÄÄÄÌêÕ«µŠP´š¬nܸ‘”””\w{÷3fÌ`õêÕ¬\¹’ 6Çœ9s˜2eŠJ9ýúõÃÙÙ™uëÖ©$wºººœ8q‚š5k*·¹ººÒ¦MΜ9£L†þøãÒÒÒøúë¯U³þýûóÙgŸáïï¯vÔ=§&õ)Nûe“Ëå>|X%iìÛ·/nnnlÙ²…Ÿþ Z·nD"ÁÊÊJå1à’ŒEݶ*-7^'%%3×]ÄÞ½kàà`ÎŒ§Y½ú+W~Ć áÄŽfΜ–L™¢:>¯_¿Z8;ÿʺua*É®®'N ¤fM«õ³¤M›­œ9óH™ ýñÇ ÒÒd|ýu•Ĭ7>ûìþþ¡j×IÝsjRŸâ´_6¹\ÁáÃýT’ƾ}kâææÏ–-üüs;,, hÝÚ‰¬¬²~.Œ&±¨ÛVBéi_³=KO-%ðf ~­ü°0´Pî{™ö’a;hPµ?û>uúP½Â›GÔíLíГêå;qβ†mF7÷n m0´Dâ)Hy³ÚÔ©)¶¦¶º}ˆƒ·Ò¾f{ «³Íò\¹»GwÌ Í»c,ý7ögý€õ…N*%‚ M[·n¥bÅŠïäœ*BÁ´š¬†„„ðÅ_äÚ÷Å_0cÆ å1çÏŸ`×®]9rDùA@¡P(ŽˆˆP)£Aƒ*‰@ýúõxöìÍ·Í¡¡YÉÀðáÃsÅ1lذ"%«êžS“ú¼­(í—ÍËËK%Q°±±¡{÷î¬]»–7nа¡êd$êÐ$uÛª´„„Äýß¹ö}ñE]fÌ8­<æüùÇìÚu‡#G(×U(Èq½TÊhР’J"P¿~Ö¬£Ïž½yô644€áÃs±6Ì£HɪºçÔ¤>o+Jûeóò²UITllŒèÞ½:k׆qãÆ36¬TX5K$uÛJ(=Ÿ7þœC·ñç•?Ù²'k'Ì ÌˆOŽçñËÇÈä2üûe½ÿ®»¸Ž_Ïýе±5–¤g¦sûém2å™´ri•ï9R2R±u·ãoc¤kı»Çr“½ÎjQâ)HiY]yf%§îŸ òy$óƒæ³êì*&øLPž[*‘2í£iŒÛ9ŽÑ¦ªEU¬Œ­¸÷ì¯Ò_aedÅšü'ßsµ®ÞšuÖ1rÛHúmèÇúë©aS£Tê%‚P2™Œ;vлwoñð{H«ÉjjjÖØkëÜUYYY!‘H”Ç$''o’¼¼¨ŽËÉ«Üìq2Ù›G´²Ç^æµ€°••U®mQ÷œšÔçmEi¿lù-’œ]†¦k§j‹ºmUZRSeÿÄa”kŸ••É›c’“3€7I^^ Tÿœ¬­sõÒ×ÏZÏQ&{s×%{쥥eîëmeU´ñbêžS“ú¼­(í—-¯:æŒ[ÓµS5‰EݶJ±ž1›mâÇã?òWè_ÜyzG¹ÏÒÈ’ž=ñ¨äÀä6“Ù|u3·âo‘ð:ë‹}©>=»›«7ão*În—lÜ:±°ÛBæÍ#&1†˜ÄêÙ×cN§9Ê%{òÓ jþô'÷gàYÓoòñbA„òbÇŽÄÇÇ3`Àm‡"”­&«UªTàâÅ‹¸ººªì F¡P(qpÈzpåÊ•¸»çýh¢žžfSeŸãÊ•+T­ªú¨ÓåË—5*³0%QŸ¢´_¶°°0ÒÓÓsM^ €½½½r›D"QûQ6MbѶ*U²f?¾xñ ®®ªI|pp, Å›c²f]¹ò#ÜÝ+äYžžžN±â¸r%ŽªUUg5½|9V£2 Sõ)Jûe {Jzº,×äEÁÁYõ´·s|VÿS£2Æ"ßêWc¤—û ‚^ðqñÁÑÊQ¹Í¥‚  ú{ {•cM L™Õ~ÿmû_î>»KJF •Ì*agf‡ŽäMü´þ§|ZÿS^'ý"c}cì-ì•³ÞæwG+GþôGõ¨bþæ½IÝx´at³Ñô«Û/ßýyÝùìáу®î]¹ûì.ÉéÉØ[Øcgj—ë¸*ÀƒþP¹fîvîì¾›û ÷ÑA»õAx[ff&+V¬ oß¾¹>à ï­þÏÓ¡CÖØ²É“'+ÅxðàcÆŒ cÇŽ@ÖØGÈéàà@ëÖ­•ÿZ´hÁ³gψ‰‰Ñ(ŽvíÚðÍ7ßp÷î›™A¯_¿Î´iÓ4¼º IDAT*³0%QŸ¢´_¶ØØXÆOZZÖ¬ª …‚E‹qüøqªW¯Nõêoƃ™šš‰\./´>šÄ¢m:80yò BCßÌÈüàAcÆ cǬcz÷Îú¸qãuÌhÝÚAù¯E {ž=K!&¦àµóÓ®]Ö9¾ùæ8wï¾Pn¿~ýӦ֨̔D}ŠÒ~Ùbc_3~üQÒÒ²îr*°hÑ%ަzuKªW“hššê™ˆ\^xƪI,Bñ5¨Ú»Üw,h\­±J"i¢oBãjóû¨'ÕÃÍÖ o{o*›WÎ71´6¶¦n•ºÔ°©‘+QÍë<ÆzÆ4®Ö¸Ày%ÜêÆS–ªW¨^`=ò›üIª#¥fÅšÔ³¯—g¢ YwŽWkœçÝV[S[WkLÊuJ´>‚ ŵmÛ6žü°AAQx{¯§F +ôõ¥DD$ž.ÃÃÆ#²>œµjåÀˆuð÷ÅÕõ7\\,°³3áùóT"#“HMÍäÛoÑ¿¿[‘ãèÖ­:WæüùǸ»ûãæfL¦àÖ­çÔ©cCTTR©¤Dë^õ)Jûesw¯ÀÚµalÞAVDG¿äÉ“WÌ™£:)‚··AAQ8;¯ÆÑщrÕ’ˆEA„w×Ë—/Y¾|9ýúõwUßcZýªX"‘°k×.†ŽD"!""‚k×®‘™™I¯^½8zô(FFo¾ñ^½z5 .¤råÊÜ»w³gÏ\.§_¿~?«.•JÙ³g;v$##ƒÐÐP®_¿Nûöí• œ™™ú‹Î««¸õ)jûÔ¬Y“-[¶ ««ËÅ‹yòä ¬^½š~ýT/›;w.•*U"**Š“'Orüøqå:«%‹¶I$°kWO†÷ü'æ®]‹'3SN¯^58z´FFo¾ÏY½º= ¶¦reîÝKäìÙGDD$ —+èׯ=QJ%ìÙÓ‹ŽÉÈú”ëןѾ½“233+Ù5g¡øõ)jûÔ¬iÅ–-ÝÐÕÕáâÅ'_f¦œ7xþ<¹\——-––ź–Åi«œŠúþWT±±±Ê‰Ø ãêZ¥KcéÜY½ãAA[ÆËްl™æór\¹r…þýûóÓO?ѵk×’ M(vvv˜šjL ¨ˆ¢"ŠˆŽšˆó˜×Ô$§[·É®ý´òfuµIÍL£¬lPofšbŠvsÂqDRqNEq@œE>¿?øò¹~”ÑØë±VkÉ>ûìó>§µ¬çì½ß‰x‡ŽŸv¤ÁôøNó%%=…¿ÎÀwš/Î0÷=‹ï4_B7‡Z±â{ãå_Æwš¯ùyˆˆÜO._¾lþü÷Ï2228|ø0aaaV¨LÊ…U)B7‡² zg¯Åd2Y»œ2a뉭¬Œ[‰“VÒ‘ûÓ¤I“HNN6þûg&“‰÷Þ{˜˜˜{\™”Åš³zøðaŽ9‚——Vùëûâ‹/ô›7¹g.^¼Hƒ ¬]Æ}å—?~ÁÅÁ…°ÇèçVCöïS_îü2/w~ÙÊÕÝ{ii¼±î 6Èó8xàî'‰ˆ”#«V­býúõwíg2™;v,?ýôÎÎÎ÷ 2)+´À’Ü7RRZ’RÛÚeÈ_ÆvkpßIJN§ªõ«Ö·v)eÂÇ[>&9-™×º¾ÆcK³v9""%êüùó¼ùæ› †;~McggGzz:ׯ_'""‚ÜÃ*ÅÚŠV6lHÆ Y¶lYIÕ#R$Ù˘¿Ťn“ð àý_Þ'ö\,FºÔï¤n“¨ìT9ÏþMk4eÖ¦Yċ窭k·fAôbÎÄà;Í7Ïk®~j5~ÕýîX—Éd"loK÷.åÐùCdš2©çV¡þC0¼åAfV&‹v/bùÞ场z “ÉDÝ*uéß´?Ãü‡Yý³ÛCI‡øjÇWÌüÛL‹ç("r¿˜8q"7oÞÌ3¨F222pww§{÷îtíÚ•àà`ŒF½gû«Ñ¿q)²Øs±Ìøu·2oÙ‹$­Ø·‚„« ,±8Wÿ]§w1íçidš2È2å=G©(L&~œ@x\¸EûÁó™¼~2ðnŸwøà·ørÇ—ýöÛǾsû°³±ã±Vw“ÙèýFdfe¨6÷Šîl[°·ñY¦,&­™D°O0ù=T sDDÊ“„„oØ·/ÒT 666dffR·n]z÷îM—.]hÕª•öUý‹SX‘"[·ŠáÃyúÁ§ñpñ î\/®z‘§vr ñ~–oB×\CHËžmû,u*×ÁÖÆ€×»¿NÀ¬|Ü|XþåçÌøus·Ï½k-áqá„Ç…Ó¨Z#^éò -k¶ÄÁèÀ¾sûx+â-¾ùžÁ-àÀ†Ãp²sâƒ~ÐÁ»F#'. |8ì+”Ü*‚E»qäÂÖ\gÕ:DDJCjê)öï“Éd^Øßߟ>}úУGj×Ö”.ù…U)² zA¼Õë-óÏ­j·âÙvÏ2yýd&ÌVýkùó^ï÷Jå7åa±aØÚØ2È|ª;W7··ñjì¿Í¢÷W½‰8A€g5\kнawl ÙÙÏÃ/W½wrè•C%{@br"37Íä•.¯PÃ¥F‰/"bM&“‰ØØÑ˜L™tëÖž={Ò­[7*WÖtɛªˆˆY»:írµyUÎ^!þÆ­¹Žz–Ú']G’Ž™•IÇO;ÙÿSdÂdþ3À™kg˜Ôu£WŒ¦ëç]éX¯#~~Ô  ‰G“R©­ &¯ŸL£jî?ܪuˆˆ”†S§NQ·î?iÕj Ÿ~zÝÚåH9 °*""Eæ`tÈÕf ;ŒæµhFi.”3ÿõNóHÓ3Óì·¨þ¹] »ø=áwvžÜIhd(U*Tᣇ?¢QµFw½^IÏY½’z… ‡7Ð`zÞÛ"µ˜Ù€C¯2¿)/êÔ©ƒ‡G›ÿûIaUîNaµ„mݺ•õë×óÄOàíí]èó#""ؼy3£F¢F }&"RPõ«Ö'.1Ž­c¶ââàr×þ¶[Úxµ¡Wöÿ8¥¦§Òã‹üë§ñÃ?~(írsÉy ,"""ÙVKØÖ­[™2e ;w.rX>}: PX)„–!Dÿ7šÇ—<ÎØÀ±ø×òÇÅÁ…óÉç9œt˜°Ø0FŒ ƒwB†0°Ù@ôzÚ•k“ž™ÎÖ[¹’z…›7 t½’ž³ZÅ© G'ÍóØßæÿ‰Ø;~/쬻”ˆˆÈ½¢°ZÂ:tèÀ¿ÿýï"U)ºAÍu2Šå±Ëy6ìÙ<û i9€¸sqì>½;ï>þCJ­F)8…ÕÖ¡C:tè`í2DDþr ÓšN§úø~Ï÷ì;·”ôj¸Ô qõÆ j6ˆÀz,|9ßÇ|Ïö“ÛI¸’€“>U}Üb04ÄÊw"""" °Zâî4g5>>žˆˆqss£sçÎ4nÜ8ß±RRR'>>žZµjÑ¿-í-"eB°Op¾Ÿ¬æuìNýsì~1ï7/w~™—;¿lÑÖ¼fó|ÇëÛ¸/}÷½ãµü<ü˜Üsòû”%«Ÿ\míDDDî9…Õ–ßœÕ×^{÷ߟÌÌÿ­i0xúé§ùôÓO±³³³çÈ‘# 0€øøxs›»»;+V¬ ((¨ÔïCDDDDDÄšVï9sæ0uêT ýúõÃÏÏ'N°råJ¾úê+ÜÝÝ™:uªÅ9£GÆÞÞžgŸ}GGG"""Ø¿?äàÁƒT­ZÕJw#"""""RúVïiÓ¦°|ùrhnß±c;vä£>âõ×_§bÅŠæc5kÖ$22WWW2222d?üð ,`üøñ÷ö&DDDDDDî!kp¿;yò$ ZU€¶mÛBjj*»ví²8öꫯšƒ*€Ñhä­·Þ`Ë–-¥_¸ˆˆˆˆˆˆ)¬–²Ë—/àãã“çñúõëpéÒ%‹özõêåê›Ó–3¦ˆˆˆˆˆÈýJaµ”U©R€cÇŽåyü?þÀÍÍÍ¢ýøñã¹úæ´åŒ)"""""r¿RX-euêÔ¡víÚlÙ²…U«VY‹ŽŽ&,, '''xà‹cÓ§OçúõëæŸ322xóÍ7 ,ýÂEDDDDD¬H ,Ý'Nd̘1 0€~ýúѸqcâããY±bééé¼úê«‹+œ={???úõ뇃ƒ7n$..wwwžxâ ë܈ˆˆˆˆˆÈ=¢°zŒ=š„„f̘ÁêÕ«Y½:{s÷œ}Vß~ûí\ç|òÉ'L˜0¹sçšÛröYÕ¶5"""""r¿SX-aØÚÚZ´O:•þóŸDDD˜˜ˆ››]ºt¡qãÆýºw£#ÁÁÁìß¿ŸU«V§§'ýû÷§råÊ÷ì^DDDDDD¬Eaµ„å,¤ô瓼½½yæ™gîx~÷îÝéÞ½»ùçáÇ—l""""""å€Âj ùñÇ ç›o¾¡R¥J4lØÐÚ%‰ˆH>Î]?Gä±HÎ]?‡ ϵލSQüžð;Ãü‡Q͹ç“ϳdÏÚÖiKÛ:m­\uÉ‹KŒãàùƒ$%'QÙ©2m¼ÚP¿j}k—%""(¬–˜ü‘¯¾ú Þ{ï=ììì¬]’ˆˆäaç©<µô)RÓSÍmÏ´}†­'¶2wû\z4ìa«‰× Ýʸ q÷UXýùèϼ»ñ]â/Çç:Ö»Qofô›““*ù…ÕÒ¯_?š6mJPPÖ.GDDòº9”ÔôTú6î‹OUl 6ØÙØÑÁ»FÜ+¸[»ÄR·çÌâ/ÇÓ¬F3¸7 šs5Ž]<ÆÏGfí¡µ8Ù91£ß k—)""q «%¤_¿~Ö.ADD à‹àëîKè€P‹ö@ï@½ÿûXwoÐÁ-S§r‹öÈã‘<½ôi~<ð#ïöy{[{+U(""¢°*""Åp=í:›ŽmâÔ•S8hV£m¼ÚXô‰¿Ox\8Á>Á´¨Ù‚­'¶²?q?*Òɧµ+ÕÎsìLS&ÛNlãPÒ!2²2¨çVN>p0:ä9¶-vœÜÁÞ³{q0:ìŒwosßMÇ6±çÌ®¤^Á€ÐÍ¡y\‹9«wRúÒ3Ó‰<ÉÉ+'1™LÔ­R—Þp4:Þõ¥¥EÍy¶w¬×Ÿª>½p”·n`擄*""Ö£°*""E²öÐZþõÓ¿¸žvÝ¢=À3€9çPݹ:(C7‡bokÏÌßf²-~›¹¯ÑÆÈkÝ^ãñV[Œs&†çß'áj‚E{Mך|6è3šÕhf1¶“Ÿoûœˆ#æ¾¶6¶Lí3•AÍÙauAô“ó «·ÏYÍOAë‹9èF‘”œdÑϽ¢;=üQæÁ~¼ùcL˜îÚ ‚]ži{çUçï$3+“+©W¨éZ“*NUŠ<ŽˆˆHIPX‘B;pþ/„¿@FVÍk6§uíÖ$ßJ&âp»OïfôŠÑ,ýûR ƒùœy;ç‘r+…‡›>L5çjÄ‹c[ü6ÞŽx›FÕ™ƒÛé«§yré“\»y–µZÒ²fKìöì;·íñÛ6’ #7àìàl1vrZ27}âÎűåÄþ½þßôhØ‚}‚qutåómŸSÅ© Cü‡XÜÓ–[ø=á÷»Þ{aê›öË4’’“ð«îG»ºí0Ú9qù›oæpÒá…ÕO¶~BfVfþ½¸Wt/VX¿s>n\àÞïy ‘’¢°*""…öÕŽ¯ÈÈÊàÉ6OòZ××Ì¡ô•ί0è?ƒØ}z7ÛOn§}ÝöæsRÓS 2Übk”y;çñÞÆ÷ø:êkspûbû\»y)=§0â×]½€w"ÞaÕþU øß>Ôé™é¬yfÅ'ÅšHØÞ0vžÚIWß®ûìÌüó©áRƒqAã,ÆNËH+PX-L}—R.QÏ­áO†cc°1÷»”r‰K)—îz-€1ÆêÍjQm<º‘¿Í Ÿ_?†ú-ò8"""%EaUDD í÷„ß±5Ø2¾Óx‹·§Uœª0ªý(&­™Äï ¿[„ÕþMúçÚÃó‰ÖO0wÛ\‹¸5~+¶[.¥\bÎÖ9˜L&L¦ì°v#ý±gcá¶…×5”kîkçú ÛFâõÄ»ïÂÖ׫Q/æEÍciÌRºúv5íVÁ · nºÞØ ±%Z^Ö\Ë«^¤«oW>øÛ¥~=‘‚(VX½xñ" ¼øâ‹%UH1̶ݵ—HɈáâżú+¸–vê.Õó\$(g…Ù«7¯Z´{UöÊÕׯ`ƒg%ObÏÅšÛ.¥\"Ó”ÉG›?Ê÷úž'[Óµf®>9o3²2îp'…W˜ú^èøu*×aeÜJÞ‰x‡ ö¨ÀÃͦo㾺^iÏY]³”××¾Nφ=™ýðlŒ6ú=¶ˆˆ” Åú/Ò‘#GHHH`öìÙ%UH1üüÿˆÜGޤZ»«qupåìµ³Ü̸™+°ž¼r€JŽ•,ÚO]9•k“ÉÄé«§qupýߨޮÜʼÅȶ#󽾯»oqÊ/–ÂÔgc°ap‹Á n1˜,S'.à—?~á¥U/w.Ž—;¿|×ë•æœÕ¹Ûç2ã×ômÜ—YÏÂÖ`[àsEDDJ[±Âj»víX¶lY‰#RTƒÐÐPúö-Ø› ‘â3f ÎÎÎwïxŸjU»áqáÌÚ4‹uý—¹ýJê¾Øþ…¹ÏíVí_ÅS>eñ)ðüèù\L¹HWß®æ¶u;ð}Ì÷Ô­R—‡›>œëÚÏÄÅÁ¥¤o©À Sß/G!Ø'[ 6øTõÁÛÍ›…¿/dyìò…ÕÒš³:ý—é|¹ãKú7íÏŒ‡f(¨ŠˆH™£o}DD¤Ðž~ðiþ{à¿|õ5Ñ Ñ<àùÉiÉl<º‘K)—ð¯åO»:í,Îq²sâáùÓ«Q/ª9Wcâ~¶žØŠÁ`àéŸ6÷{®Ãs¬=´–ñ«Ç3ç|ZÖl‰‹£ IÉI¾p˜Ø³±Ì{tž•<ïõmº¾Ñ+FSÅ© Ô~¯Ê^¤g¦³ýäv®&иzã]¯4æ¬~¶í3¾Üñ%®Ž®Ô©\‡9[çäêSÐýfEDDJ‹ÂªˆˆZ&Ì~x6ÿúé_Äœ‰!æLŒùXÎ>«·/¼ðT›§ˆ<Ix\¸¹-gŸÕÛ·p©]©6 ‡-düêñì;·}çöYŒãWÝÏjA W_Wß®l8¼5×äã½>ïݳšÿìäåìOµ¯Ý¼Æ'[>ɳOAö›)M «""R$½õ¦CÝl:¾‰„+ Øíi^£9m¼ÚäÙßÁèÀÂa ‰<É¡ó‡¨`_Îõ;çZŲÃðOOÿĮӻØwn©é©Ôp©A£jðóð3÷«[¥.ã‚ÆàkŒœc-j¶°hÿg»æ¹oï8p¯ànnópñ`\и\û¡´¾O~BRrÑ ÑœºrŠ ö¨çVöuÛ[les¯uoØ=ÏE©nwûs±…U)2WGWúùõ+pƒ |:ÑɧÓ]û ZÕn•kîëíriaŽj?*ÏþÞzZ´Uw®žïø© šs5ú4îsÇ>÷Z7ßntóífí2DDDîÈz¿Öɇªˆˆˆˆˆˆ”9 «¥àƒ>À`0ð믿Z»«»Ó¼R‘ü(¬Ñ;#Á``óæÍÖ.ED¤LË «þµü­]Šˆˆˆ”# «¥`„ ˜L&:wîlíRDDDDDDÊ%…U)sîIX½~ý:o¾ù&Mš4ÁÉÉ WWWºvíʆ Ì}’’’ðòòÂÝÝ“'OZœ¿iÓ&ŒF#AAAdddxÌÉÉÉL™2…-ZP±bEªU«F¯^½ˆˆˆ0÷ùûßÿŽÁ`àÂ… ¹ÎÏ9våʺwïÎo¼@ÇŽ1  ó›Ôü欞:uŠ‘#Gâåå…½½=5jÔ`øðá«—/_¦cÇŽÄÅÅ™ÛnÞ¼É/¿ü¯¿þÊÂ… 1bÕªUcÙ²eBdd$öööœ={–!C†àîîÎÒ¥K1àâÅ‹tìØ‘˜û¦¤¤°~ýzÖ¯_Ozz:Fcéo7{üøqÚµkÇùóçÍm‰‰‰,^¼˜ü‘Ÿþ™Ö­[[œóñÇ3oÞ<óÏ'OždòäÉdee1eÊ”»^óàÁƒtèЫW¯šÛ~úé'vìØA«Vùï øþûï³xñbóÏYYYEª¿°¦OŸÎ’%KÌ??~œ7ÞxƒC‡±páÂb-"""""åK©¿Y0aqqq 4ˆ;w’œœÌÅ‹Y¼x1•+WfìØ±Ü¸q€víÚ1sæL¢¢¢xñÅÉÈÈ`èС$%%±xñbjÕªUè1_xá8@óæÍùñÇ9þ</^dýúõtëÖ ƒÁPè{Šˆˆàí·ß 22“É„Édºãê¿Ï?ÿ<çÏŸ'88˜èèhnܸa¾‡ëׯ3räÈ\ç|÷Ýw„††ræÌ®]»Æ·ß~‹Ñhä“O>Ád2ݵÎñãÇsõêUzè!bcc¹qã»ví¢E‹¬_¿>ßó–/_ÎÌ™3IHHÀd2ñᇩþÂʹî™3g¸téß}÷nnn|ûí·lܸ±Øã‹ˆˆˆˆHùQª¯ÓÒàák&”IDATÒX¼x1M›6%,,Ì +V¬ÈСC¹té£G&22’Þ½{0vìX¶mÛÆ§Ÿ~ʾ}ûØ´iS§N¥K—.…³S§N,[¶ 7776lØ€‡‡‡¹¶=zУGÒ¼}³7n°fͪW¯ÎêÕ«quu I“&|ÿý÷øûû³gÏ>LÆ Íç½ù曌;Öüóˆ#X¹r%aaaœ:uŠ:uêä{ÍäädÖ­[G:u ÃÑÑ€€€V¬X¯¯ožŸé¼øâ‹¼ôÒKÅ®¿°^xá‹ë6ŒÌÌL{ì1ÂÂÂèÖ­[‘Ç‘ò¥T߬;vŒÔÔTöïßF£[[[lll°±±aôèѹæ¨~ùå—Ô­[—M›6Ñ·o_^}õÕ"yüøqÒÒÒ¶ª÷Ú‰'ÈÈÈ cÇŽæ —Ãh4Ò«W/Ž=jq,¯Õ„}||€ì9»w»fff&ÁÁÁæ š£R¥J´k×.ßsÿâ‹ZaåŒs»œ_bwl)_J5¬æ,d2™ÈÌÌ$33“¬¬,óg³9nݺeqÞÎ;IHHàÈ‘#Á¬(cäS_‹ño—ššz×ó ¢°Ÿ;99å;FA>¾Ó5ït~ÕªU 5ÖŸ•ä³Ì¹fQ>×±¶c1|Ñp–Ç.·v)"""åN©†Õzõêáàà@`` 9LæõϘ1cÌçœ={–¡C‡R­Z5f͚ő#GxòÉ'‹4fNßM›6Y, ”—êÕ«Ù‹úÜ.%%…;väêŸÈ ²R­··7F£‘ÈÈH®]»fq,33Ó<Ô××÷®c”··7¶¶¶lÚ´‰›7oZ»víQQQ…«0õöYæX·n]®¶5kÖP¿~ý×+"RVܸuƒ¨SQœ¾zÚÜv(éà g徕V¬LDD¤ì+Õ°Z¡B†Ê–-[>|8Û·oçÊ•+ܼy“ƒ²`ÁÚ·oOZZü† Â… X²d /¼ðcÆŒá‡~`æÌ™…ÓÉɉ.^¼HÏž=Y³f .\àòåËlذ=z™™ @Ó¦MìE‰}:×½¹¹¹Ù+%%åŽÏ¡bÅŠôéÓ‡ÄÄD À®]»HIIáÀ 6Œ}ûöáïï_¬ùžæììLÏž=‰gÈ!ÄÅÅ‘’’BLL <òIII«°õöYæ˜={6~ø!çÎãòåË,^¼˜çŸ€ÁƒãiˆˆX‡OU _Ä æƒÌm×Ó®gØkùÿ}("""÷`ëšY³fÃâÅ‹-¶C¹]Î'©'N$22’éÓ§Ó©S'>üðC¢££™8q"mÛ¶%((¨PcΚ5‹¨¨(bbbèÛ·o¾ý† Æo¼Á–-[ðóó3÷ôô¤gÏž¹VÏíÔ©ƒiÓ¦1mÚ4s[~+Ïž=›;vðË/¿äÚ6ÆÙÙ™/¿ü2ÏóŠcæÌ™lÙ²…U«V±jÕ*s{ÕªUéÖ­7nÄÎή@c¦þÂ>˃ büøñŒ?Þ¢}ĈZ\IDÊ¥Šöi[§­µË)—J}ëš*Uª°mÛ6Þÿ}Zµj…³³3*T I“&Œ9’;vàèèÈŠ+˜9s&ýû÷çå—_6ŸoggDze˨R¥ C† !11±Àc¸»»ŤI“hܸ1T¯^Þ½{aÞcÕÑÑ‘uëÖÑ«W/*T¨€««+dëÖ­T«V-×}ùùùñõ×_Ó¤Iìííïú|||ˆŽŽæé§ŸÆÓÓ£ÑHõêÕ:t(;wî,ö¥yñóócË–-ôë×\\\èÓ§›7o&##£Ñˆ‹‹KÆ*Lý…}–9&NœÈG}Dƒ °··§^½z¼ýöÛ,X° ¸BDJXÌ™†/ÎÚCk¹˜r‘6ijaÏòúÚ×¹’z…዆óuÔ×çì8¹ƒá‹†3nå8‹öä´dF|7‚Ï·}~/o ØµÞé9@î9«+÷­dÊúì}²—Å,cø¢áænwüÒq>øíž {–§–>ÅÛos ñ"""%SAWêÉCHHË–-+±‚¤ô%$$ШQ#êׯÏÞ½{­]'NdúôéìÞ½ÿ"a0 Íóí¹Hi3f ÎÎÎ¥ö÷_bb"ÉÉÉêëë[ŸÐÐDúö-Xÿ’°éØ&žZúÏ´}†Uq«8Ÿœ½.@&¬zr]>­=ëFþo.úäõ“ùv×·üöÜoxVò`Ãá <÷Ãs¼Ûç]†´rÇë>¶ø12³2 Tce§Ê|:èÓ»ö+N­w{±gcøŸŒ Ǹ qÌÙ:‡Y›fåYÇщ٫ž·û;¦¬ŸB¦Éò>mmly·÷» n¡i"R~›½CÇÇ'Z¹¹<<o¬{ƒvuÛQ»RíÝ›ˆˆHy¦°zŸ[¿~=+V¬ÈÕÞ¸qc^zé%+T$"÷“êÎÕùá?àdg¹ÕVwvÜ||3¶|”3×ÎpüÒqþÙîŸ\½y•Èã‘ÿ €'6ã]ÅÛüöòN[Xà­»ìl 6'¿$jÍï9ü™g%Ošx4 v¥Ú¹æ³Î‹šG–)‹yÎãÏÌí]|»àïéÏ“ß?Éêý«y®ýsº7‘òLaõ>άY³Ø³gIIIÔªU‹þýûóæ›o畼ˆ½õÎ3 µ¯Û[Ћ< @GŸŽN:Ìû~ ˔řkgˆ¿ψ€ºÞƒ^–hý%Uk~Ï¡°bÎÆ`k°eväl {@Ùá<#3{«´?.þQì눈ˆ” «÷¹nݺ•ù•to_QYDÊ—š®5ólwut¥yæl‹ßF–)‹Èc‘øºûâáìAP½ æíœGìÙXö'î²?Å-ˆÒ˜³Zµæ÷ +åV ™¦L¶žØšoŸ›é7ó=&""r?QX‘RÑѧ#{6ï!æL ÛOng`³ÛöWR¯Ð±^GŽ´öjÍoÇ~ãè…£´¬Ù‡‚m£UsVK«ÖüT°«ÀÉ+'sëÙ°'¡›CY{h-ã;§’c%ó±ëi×Y±o­k—üVg"""e‘ªˆˆ”ŠÏœœùùèÏØÛÚÓÆ«ùXwïÿú~öŸ ø 0”ΜU(ZóS¯j=œìœø!ööÛGeÇÊ|7â;žiû Žlà»Ýß±4f)ÞnÞ¸8¸”œÄÙëgÉÌÊdÞ£óŠ]ƒˆˆHy`cíDDäþdk°¥­Wöj·­½Z[,@t{è ô¼çµýÙ½¬ÕÑèÈk]_ÃÁèÀá¤ÃDŠ"êTýÖuñðÅŒx`v¶v½p”ݧw“p5žhýMk4-v """åÞ¬ŠˆH¡µ¨Ù‚EÃQ·JÝ;ö{£Ç<õàSÔp©aÑîWÝïF|‡ÉdÂßÓ¿4K-°¢Ôz·çàSÕ‡EÃåÚêfXÀ0nö0\øƒÔŒT‹O›œ™Òs ¯w{?.þAjz*5\jàáâA¿c‘¿…U)´ÊN•síš—Ú•jS»Rí\탡Ô>é-ª¢Ôz·çPѾb¾Ç+ØU yÍæùžkgkGãêïRµˆˆÈý«Øa5,, ƒÁPµˆ˸qã7nœµË¿Áƒ[»‘ûV±ÂêK/½DHHHIÕ"RdÛ¶m£aÆT­ZÕÚ¥È_ˆ———µK¹o+¬¶oßžöíÛ—T-"Eöè£Z»)AZ©ADDDDDDÊ…U)sVEDDDDD¤ÌQX‘2GaUDDDDDDÊ…U)sVEDDDDD¤ÌQX‘2GaUDDʌس±øNó%ts¨µKùKÒó‘²DaUDDDDDDÊ…U)sVEDDDDD¤ÌQX‘B‰:…ï4_ÞŽx;Ïãë­Ãwš/ŸoûÜÜv3ã&¡›Céõe/šÌh‚ÿ,[ü‘Ç#ïz½¥1KñæËÚCkó=¶áðsÛ¦c›ðæËüóÙ¿…!4ŸÙœ 9A5}óû7ôø¢Mf4¡ç—=YspM®ñM&Ëb–²0„3[Ðôƒ¦ô›×ow}‹Édºkí¥á^?k1Z»)_ôzznõ çÕ.¯bokoq|ÙÞeØÚØ2¨ù Ò3ÓùÇ’ð{Âïæ>·2o±-~ÛOngJÏ) ^âuî9³‡i?O#Ó” @jz*üöF’n$ñÅö/Ì}]<ÆóáÏãíæ_u? ;¨Nøqáqáã<Éë's ñïöy÷®u4z¿™Y™ªÙ½¢;ÛÇn¿cŸòòüEDDŠKoVED¤Ð·Ì•Ô+o4“‰<I'ŸNTw®ÀÂ] ù=áwj¹Öâ‹Á_°çÅ=Dþ¿HÆÀw7¾KRrR‰×øßÿåñÖóÛs¿;>–O~‚ÑÆHèæPíZÄÔ¾S‰EôóÑ<ýàÓd™²˜5Ï|~x\8áqá4ªÖˆ¯ýšè磉Ëâ‹ñóðãû˜ïÙ}zw‰×]åáù‹ˆˆ—Þ¬ŠˆH¡=Òü>üíC–í]ÆC~™Û—ï]NfV&¶|ÔÜöÓŸŠ-œœ4ŽóÉçY²g nd¨ÿЭ1Ø'˜IÝ&™îݨ7Ýtgí¡µ¼Öí5BZ„˜½Òù–Æ,åèţ涰Ø0lml™?d¾9ø´ñjì¿Í¢÷W½‰8A€gÀë8ôÊ¡¼«låáù‹ˆˆ—ªˆˆš{Ewº6èJÄ‘N_=g%OL&a{èæ\.¾]Ì}ã/ÇSÙ©²9(Ý®«oW–ìYBüåø¯ñA¯sµÕr­@›Úm,Úmmlñpñà æ¶#IGÈÌʤã§ìÏ‚M˜Ì8síL‰×]åáù‹ˆˆ—ªˆˆÉ£-eÃá ,]θ qì8¹ƒ“WN2ªý(l ¶} Š|œs³LY¹ŽÝ̸™ïyF‡Üc ùÃ@VÖÿ®‘s½;Í7MÏLÏ÷XŽ’ž³šã^=kQX‘" ö ¦†K Âö†1&p K÷.²çSÞ®n•ºì9³‡˜31´¬ÕÒâØ¯üjª«pêÊ©\ǶÅo+Î-ÜQýªõ‰KŒc똭¸8¸”ÚuŠê^=kQX‘"±µ±å‘æ0gë~:øë­ãA¯ñ®âmѯ¯__öœÙÃóáÏ3¹çdZ×nMò­dÂö†±dÏìmíéæÛ-ßë4poÀ‚èø×ò§e­–\¸qo¢¿ÉµÀPI iBô£y|É㌠‹-\\8Ÿ|žÃI‡ ‹ cDÀ:xw¸ã8¥1gîÝó±…U)²–!|ºíSÞXûii ûäxìÇX{p-»Nïâ™eÏä:þz÷שæ\-ßkxUö¢W£^¬;´Žß0·ÛlÐl+÷­,™›ù“AÍu2Šå±Ëy6ìÙ<û i9¤T®]P÷âù‹ˆˆX‹¶®)çLܺe9‰µ+Õ&Ð;ëi×qqp¡wãÞ¹úØÙÚñͰo4Ÿª>ØÙÚQѾ"íê¶cÞ£ó ´ÇçÔ>S iBe§Ê8ð `áð…y.¢TR ÓšNè€P½©äX ;[;¼*{Ñ£a>ôõKíúq¯ž¿ˆHIIK³ÁÑÑdí2¤œ0˜r–4‘2#11‘äääõíС.#G^åÉ'¯”rU"""Å3x°'iLštáî¥ÜóððÀÙÙ¹¨§/Ó›U‘rÎ×7Çí­]†ˆˆÈ™Lpô¨=>>·¬]Š” «""å\@ÀM¶ms²v"""wë@r² ùo;&r;…U‘r®k×ŒÄÆæÞ;TDD¤¬X»ÖOÏ 7Ö›U)…U‘r®eË›4hp‹o¿­díRDDDò”šj ,Ì…G¹fíR¤QX¹Œu…•+]8p@oWED¤ì™;· ééFŒPX•‚SX¹ôï¸ÉäÉîhw)KΜ1òõו7î2U«fZ»)GVEDîLštÝ»ùæ},""eCF†W_­N­Z<öØUk—#åŒÂªˆÈ}¢Y³4^zéï½çÎÏ?W°v9"""¼õ–;11Ìž}£QŸþHá(¬ŠˆÜGFºÌ€×yé%bb4UDD¬gΜ*,YâÊìÙçñóÓ ÀRx «""÷™wÞI¢uë›üý]ëlírDDä/&#ÃÀ¤IÕ uãßÿN¢k×Ö.IÊ)…U‘ûŒ‰¹sÏr±c=˜=Û´4ƒµË‘¿€„#O>Y“Õ«ùì³sZýWŠEaUDä>dk o¾y)S’˜7¯½{{±~}Ek—%""÷©ÔT³g»Ñ»wΟ7òý÷§õFUŠÍ`2i“‘²&11‘äääëüy#Ó§»±j• ~~i rnÝnP£FF‰Œ/""M&ÄÆ:°v­3aa.¤§;ö2?~U‹) 8;yJÒ2…U‘2¨$ÃjŽØXþóŸJ¬[W‘ÔTjÖÌ nÝt*WÎÂ`Ð DD¤`ÒÒ \ºdËÑ£ö$'Ûàé™Á#\cĈkÚGU,(¬ŠˆÜ‡J#¬æHK3íH\œ v\½jCVV©\JDDîC&*UÊÂ×÷7iÜX+ýJÞŠV%YŒˆˆ”}&S Lµv)""""ùÒK""""""Ræ(¬ŠˆˆˆˆˆH™£°*""""""eŽÂªˆˆˆˆˆˆ”9 «""""""Ræ(¬ŠˆˆˆˆˆH™£°*""""""eŽÂªˆˆˆˆˆˆ”9 «""""""Ræ­]€ˆˆäV©R%*V¬hí2DDDDŠÌÑѱXç+¬Šˆ”AÅýË]DDD¤¼ÓgÀ""""""Ræ(¬ŠˆˆˆˆˆH™£°*""""""eŽÂªˆˆˆˆˆˆ”9 «""""""Ræ(¬ŠˆˆˆˆˆH™£°*""""""eŽÂªˆˆˆˆˆˆ”9 «""""""Ræ(¬ŠˆˆˆˆˆH™£°*""""""eŽÂªˆˆˆˆˆˆ”9 «""""""RæeÖ.BDDDDDDä6Ûÿ?}êp4ßšÙIEND®B`‚fio-3.39/examples/gpudirect-rdmaio-client.fio000066400000000000000000000003311476262051600212630ustar00rootroot00000000000000# Example gpudirect rdma client job [global] ioengine=rdma hostname=[hostname] port=[port] verb=[read/write/send/recv] mem=cudamalloc gpu_dev_id=0 bs=1m size=100g [sender] rw=write iodepth=1 iodepth_batch_complete=1 fio-3.39/examples/gpudirect-rdmaio-client.png000066400000000000000000001427431476262051600213100ustar00rootroot00000000000000‰PNG  IHDRS…@©‡bKGDÿÿÿ ½§“ IDATxœìÝw\Uõÿð×eO²Dà‰Z"j¦âL¥¯Û4­,CKí§•™e¥eJ¤YijC192œ$&¢¸È™ \ÎïG..ゼžî=ãsÞçœtÞ|Æ‘ ‚ €ˆˆˆˆˆˆªc·†º# """""jŒ˜L©€É‘ ˜L©€É‘ ˜L©€É‘ ˜L©€É‘ ´ÔQCõàÁŒ3Fúîëë 777ÄÇÇcúôéÒò­[·¢uëÖê±Aªìº©[C½o•ÅÕPã­®ØØXüðøvíòòò úöí sssüù矀=zà믿Vs¤DDÕÇdŠˆ¨EEE8uê”ô=++ ŸŸ¯°>ðÚk¯aòäÉõzüÊ®›º5ÔûVY\ !ÞšÖ¥ÄÄDtïÞ]©ÁÆÆF:?-->ŽQãÄß^DDϘóçÏ#220lØ05GCYMëÒúõë¥DÊÚÚ7n„™™š7oŽo¾ù¦Vc%"R&SDDÕÔªU+Ißc׫¦¨±Ý·ÆoEJ14h^zé%éûâÅ‹1uêT€™™Y½ÇFDT˜LQ½9}ú4¶mÛ†ÄÄD8::bîܹptt¬ò¸¤ââb¬_¿‘‘‘°´´Äĉ1bÄi›‹/báÂ…Ò÷ýû÷ÃÄÄ€ØÝhÊ”)Һ͛7ÃÙÙYúŒŸþY!6[[Û Ï#==ü±Bl•q)((ÀƉѣGcÞ¼yÄ®oþþþ8{ö,RRR «« WWWLš4 ]»v­ð¸¹¹¹Ø½{7Μ9ƒ¤¤$èëë£S§NxõÕWѪU+lÛ¶ Û¶m“ºeÀ?þˆÀÀ@€¥¥%vïÞ]aÙeUç<ªsÝbcc1sæL…rñ¼Jï› ÂÞ½{…fÍšUZÞ Aƒ„ÌÌÌ*]¿êܳ'Åõ¤x«[‡Ê—µyófÁÔÔTi¿åË— ‚ Ô¸.ùûû?qÿò?ƒVØ¿.îQØÅdŠˆêÜ™3g™L&= >\Ø·oŸ°fÍ¥ºÊCCCá“O>öïß/LŸ>]aÝž={APN¦Ê>lU–L•môèÑB@@€°nÝ:ÁÜܼJ±Uöð«««+¼öÚkÂþýû…   áöíÛ•+Wi›©S§ 6nÜ(XXXHË¿ýö[)ö«W¯*$ŽŽŽÂúõë…C‡ ¾¾¾BÏž=…Ó§O ±±±BPP`oo/m;gÎ!((H BBBªt¿ªrª\·òÉ”©©©àëë+ìÚµK°¶¶V¸×...®]»„•+W*ìsøðaAA.—Kç$œÇÄÄ(Œ!ÉÎΖ>'''#&&ÎÎÎ ûŒ1VVV eÊd2T9®«W¯*L¹]êÑ£GU>Ú¸nÒgKKK鳉‰‰Â{©¬¬¬ðï¿ÿÇ•JLLÄÎ;ŽÔÔTÇÇÇ+ ð//33€âû…LMMk“**:Ú¸næææÒg é³………Âvr¹\ú\zO9‚—^z©Ò{_Qœ•){OÊÇnhh ”””(mû$uyÏT©Cå•M^Ë¿ã©ì¿u¨‹ûADTW˜LQ³··Gll,Hÿ-uûöí*•ž={*|/egg -^€ø U:åò­[·*,×ÎÎNŠ)&&F阵ÍÑÑ©©©€qãÆáí·ß®tÛ:(ísùòåÇðå—_bÉ’%JËË>`?M}_·ò–.]*%J...Xºt)lmm¡¡¡×_QQQU.ËÁÁAº¾åëã;w¤÷Òm§_ÃÚ¾ge©R‡êÒìÙ³¥{>yòd¼öÚk5*O•ûAD¤.Oß„ˆ¨fFŽ)}>zô(ÂÂÂ>ÄçŸ^¥2Ö®]‹œœbb´k×.i]i—%GGG…}Ž?@ìú´jÕª Ë-ÛÝ騱c  ¶dU¶OM¼üòËÒçS§NÁÄÄžžžÒOÏž=‘œœŒ . Y³f€‰'Jû„„„`íÚµ ­{÷îUHËvKNNVŠ¡K—. Ç,ýÑÕÕ­òyÔ÷u+¯lW´Q£FaÚ´i4h444ªÔµ¯¬²÷äÈ‘#8sæ ±ElÅŠÒ:©›ÙÓ®auñVµ©êiu .\¸€S§NáÔ©S¸sçNލv?ˆˆÔ…ÉÕ¹7ß|SzçOqq1ž{î9tëÖ ­ZµªR7,@lurpp@=àææ&%VXºt)ñ%§e[¯^}õUtïÞŽŽŽ•ŽOyóÍ7ѦMâÃÚ€¤ØJQ›æÍ›‡ߣӽ{w¸¸¸ OŸ>°··‡©©)&Mš$%‚ðÖ[oaРAÒ÷… ¢E‹èÝ»7,,,0aÂ…ä¢GÒço¿ý½zõ‚§§'¾úê«Z;ú¾nå•C÷ÕW_ÁÍÍ ]ºtÁ„ `oo_­²æÍ›‡çž{€x.žžžpssC«V­°}ûvâ§ï¾ûNzoÙÓT÷žU7ÞêÖ!UÕG]*¯.îQ]a2EDuÎÐÐ'Nœ.‹ŠŠŽbÆ ÛV–ôøùùa„ —Æ?uïÞÿý7Z´h@|Àúõ×_¥„J.—#""S¦LÁÆ+,רØXáe¢ÅÅҧ§'~ûí·Ÿ{yººº8zô(>ùä´lÙ€ØÒvîÜ9$$$ÀØØS§NÅâÅ‹¥}tttˆÏ?ÿ\JRRR†ÜÜ\¼öÚkpuu•¶ÿ裤—¶–””H-‘‘‘µvõ}ÝÊóõõ…··7d2A@xx8 ›j•¥§§‡ãÇãý÷ßGóæÍ¥sIJJ‚L&Cß¾}qâÄ Lž<¹ÊeV÷žU‡*uHUõQ—Ê«‹ûADTWd‚ºGšQ“ÄÄD888 e˖سg¼½½ˆÉPjj*,,,pëÖ-¸¸¸HûEDD S§NHKKCLL ,,,*œ¥ Ð'$$ )) mÚ´…… ¤Ùÿ gÏžJ'”­¨¨Hêbnnn055E~~>Ο?/-ïÕ« +]þ$qqqHJJ‚®®.lmmaee™LöÔk˜””CCC´mÛzzznƒ{÷¸ТE ´oßþ‰e¨öyTõºåååI]<Ë—'ÁÒ×ׇ»»»´ÝÅ‹¥Ö.{{{©E »ûݹsÍš5Cûöí!“Épùòe^îî<8ݺ=„ƒCLLäÐ`^ED T^ž’“5qýº.‚ƒ pì˜!JJd˜3' sæÜ‡¾>eIuÖÖÖ022Ru÷ÝL¦ˆˆ ÚJ¦ââ´±|¹Μ1À¨Q¹˜??Eµ!‘zäåi`ÇŽfذÁ Íš•àÃÓñâ‹yê‹©š&Sü[$Ñ3*$DãÆÙ!#Cþþ‰X»6…‰5z††%˜3' ÇÇ£_¿¼õ– Ö¬1çØOR &SDDÏ ßo†Y³ZÀÃ#{ö$¢gχꉈ¨VYXȱjU*V¯NÅO?™âí·mðð¡LÝaQÃdŠˆèsð >üÐo¾™…µkS «Ë?×ѳkܸüòKBCõ±h‘5J8/Õ#&SDDψ]¼ÿ¾fÍÊ‚O&dü#-5½z=Ä÷ßßÃÉ“X·Î\ÝáPÂdŠˆè‘•¥‰9sZ oß|üßÿe¨;"¢zÕ³çC¬\™†ï¿7Ñ#†ê‡š&SDDψuëÌ ¡¬]›Ê©Î‰¨I7.ãÇçà³Ï,PPÀ¦yª{üß-Ñ3àömìÜÙ ‹gÀȈˆ¨éZ¼899Ø´ÉLÝ¡PÀdŠˆè°f9:u*ÄØ±9ê…è©áìì,ýÕ¦æÍåxóÍûØ´ÉðQ—êkQ#—œ¬…¿ÿ6ÄìÙYœp‚ˆÀäÉÙÐÐðÇÆê…žqL¦ˆˆ¹ãÇ ¡¯_‚^ÈSw(DD ‚¡a † ÉãDTç˜L5r¡¡úèÓ§ÚÚ|ŸQ©þýóqé’ ÙdOu‡ÉQ#wë–\]©; R#¹\ŽŸ~ú ãÇG·nÝо}{xxx`ÆŒؼy3RSS¶/))A@@f̘^½z¡}ûöèÙ³'fÍš…“'O*•¿cÇi|SÏž=QRR‚üžžžèܹ3¼¼¼°}ûv‚bBŸžžŽ¥K—ÂÝÝ:uÂË/¿ŒÐÐÐ'žKMc+,,Äš5kðüóÏ£]»v8vì˜ W”ž:¢¸X†˜mu‡BÏ0-u@DD5“’¢‰-ŠÕ©ÑG}„ßÿ]aYRR’’’pæÌœ9s[·n<|ø¯¿þ:Μ9£°}VV‚ƒƒŒ™3gâƒ>¨ôx‹/Æþýû¥ïQQQX¾|9JJJ0mÚ4Àýû÷1aÂ$$$HÛ]ºt 3fÌÀøñã+,·6bóññÁñãÇ+]OM‡ø{1-M ..…jކžUl™""jä>Ô€»ø5ehjjÂßß7oÞDHHüýý1sæLXZZJÛ~õÕWR²bee…íÛ·#""¿üò ŒÅÁú[·nE```…ÇÊÊÊBll,Ž=гgÏÂÝÝ]Z·mÛ6éóš5k¤DÊÐЛ6mBxx8Ö¯_ƒVXvmŶsçNܸqÑÑÑ2dÈS¯=› Ä×Däåñq—êkQ#'à,~Mœžž@ÄÅÅ!11æææèÕ«>øà|ùå—€¢¢"ìÞ½[ÚïwÞ»»;ôõõѯ_?¼üòËÒºíÛ·Wz¼•+WÂÉÉ –––ðöö––'$$@.—C.—ãÏ?ÿ”–Oš4 „¡¡!† ‚ &(•Y[±}ùå—èÙ³'ttt*݆š†Òß‹ÿÖDuˆÝüˆˆˆ¹ &`Ó¦M())Á’%Kˆ­TNNNèׯfΜ ;;;$&&"??_ÚoéÒ¥Xºti…eÞºu«Âå:::pqq‘¾—¶âØ­G!''¹¹¹ÒòŽ;*”áêêªTnmĦ­­Î;W¸Žˆ¨.0™"""jä/^ '''>|7nÜ@FFär9nß¾Û·o#00P¡¥¨*Ê&6e@V¦)T¦†fÑÊb344„†;ÝQýa2EDDÔÈihhÀÛÛ[êr—ŸŸëׯcÞ¼yÈÈÈ@JJ Ο?ÂÀÀ@JF¾þúkŒ3¦Öã±°°€‘‘‘Ô:uýúuŒ5JZãÆ ¥}lmmë%6"¢ÚÄ?ß5r3g΄ŸŸÂÃÑžž*¾¬´¸¸ÚÚÚ ã•¾øâ œ8q999ÈËËCtt4<ˆ·Þz ?ÿü³ÊñhjjÂËËKúîïï   äççãøñãØ³gÒ>õQmbËQ#‡Ó§OÃÏϯÂõ¶¶¶ððð v ŒŽŽFHHÒÓÓñúë¯W¸OMÇ-Z´!!!HHH@^^æÌ™@L´Æ]»v)íS_±Õ&SDDDܯ¿þŠ¿þú AAAˆGjj*ttt`ooþýûcΜ9022èëëcÛ¶m8xð þøãܸqYYY066† \]]ñâ‹/âù矯QLæææØµkÖ®]‹'N ??®®®X¸p!²²²*L¦ê+6"¢Ú"Ê¿®œˆˆÔ.%%Ea6´'qvn?¿xyUm{"¢¦‚¿éi¬­­¥?6©`7ÇL©€É‘ ˜L©€É‘ ˜L©€É‘ ˜L©€É‘ ˜L©€É‘ ˜L©€ÉU[jêCøùݹséê¥Æž¥s©M7o>€Ÿß-DGç¨;"¢‹ÉU[JJüün> ȳt.µéÆ,øùÝd2EDôL¦ˆˆ¨Ú¬­õáããww u‡RcÏÒ¹QýÒRwDDÔøXYéÁǧƒºÃ¨ÏÒ¹Qýb2EDDÕ–šú;wþ ww ¥œœ"§àîÝ<èêj¡S'ôêUq«\.àìÙ4DFf£¸¸­[aÀkèêjJÛÄÅåaÿþ»ð𰆛›ÎKÇÕ«÷¡««k8:UXö½{ JFNNÚ¶5Æ€6ˆŠÊƱc÷àåe ggãJÏEÕcVå|ê[ÙséÚÕ çÎ¥áúõ04ÔÂĉހädñZeg?¾VO+«KS„„¤áæÍ05ÕÁ°a-al¬ (((ÆñãÉHL̃!†m mmåÎ0±±¹¸zõ>îÝ+€‘‘ÜÜÌÑ©“i] "¢ÚÆdŠˆˆª­tœQùîq‰Xºô2rrжïÖÍ6¸ÃÊJOZž‰ùóï°m‹úظ±ôP— ?¿›Ð××Ä÷ßGâøñ{Ò¶šš2|ñEwŒ×J¡Œ]»âðñÇWPXX¢ÃÈ‘vðó»‰víšIÉTEç¢Ê1«z>Oòí·· OÝ `` ‰Ù³Û>u»ÒsÑÑ‘Á×÷þù'б£)&NtÄîÝqX¾\ñZ¹¹™aÔ(ûJËÒÕÕP( ¾þú:üý=PTT‚Y³Bœ\ ­ëØÑ»vyHIe~¾¯½v¡¡iJÇðð°Æ† ½¡¯ÏG"jøø›ŠˆˆjÅÍ›°`AŠ‹tîl†ž=Í‘›+ÇñãI¸|9o½u»v €L$&æcæÌdg¡kWstíj \»–…ÐÐ4Ì™sÇŽ ‘ÑãÿMmÙÜÜbŒckk}\¿ž…3gR±|ù ÒBj¹zõ>–-» ¹\@¯^èÒÅ÷ïâÈ‘$|÷]dµÎ©ªÇTå|*²~ý-ÈåU˦,,t«”L=>—äçcÔ(;´je}\½z~¨x­23 qäH"6l¨üZmÙ‡å?Þff:8s&7o>ÀòåW”T L™ÒššøóÏ\¿ž…;ÿÅŒmyyE MC§N¦pq1…….²³‹qþ|:‚ƒS°aC$-êXås#"R&SDDT+6o¾âb3g:ãý÷;C&—¿÷^GŒ„Ë—3š†¾}-ñãQÈÎ.Š]1eŠ“B9Û¶Å`åÊ«8pà.&On--/**Á_ †´lÉ’Kس'aa4Hìš¶uk4äróç»àí·…òñé€1cþ®Ö9Uõ˜ªœOEæÍëP­–©ê(((Æáäd,-{÷Ý Ëøøt€‹´ÜÇÇ£GŸ¬´,A_@‹úÄî^^'’†~ý,±ys?èèˆÝú¦MsÂСÇqòd²”Lic÷î06ÖÆÅ‹ÈÈxmmM Ö y8y2™É5 L¦ˆˆ¨V\¼˜MM.t•)03ÓÁo´Ç\ÆÅ‹èÛ×!!iÐÔ”!3³6DB)‰ÈË+DDÜð8ù7®•BRžž6س'))»”]¾|úúZxóÍö ÛÚÙâå—°iÓí*ŸSU©ÊùT¤lòWÛÆŒ±WH¤àÒ¥Lèëká­·koo€ÿýÏ›7W|­^zÉ^J¤±ë£»»bbr0{v[)‘€Ö­Ð²¥wÔÐ~ú)‰–Ÿžþ¨ÚçGD¤L¦ˆˆ¨VdgÁÊJzzÊ-&­Z<ÇRefB.ðÍ77+-¯ü¸«²ï¥J[gŠ‹7çMmO]Ž™ª(azÒµº{·n®üýw2ôô4ñ×_ƒÑ¼¹®´\€ŸŽQhÙ$"jȘLQ­èÑ£9öï¿‹uën`éÒÎÒò¬¬Büøc”´ ôëg…ßÿ†3FyÖ¸[·H“;TW·nf8x0?ü¥ÐÕ/))»wÇ©TæÓÔÖùÔ嘩ŠtïnŽîâ»ï"ºÞ½›]»þ­qù•‘ÉdÐÒ’)M¿qc$<(„©©N›ˆ¨61™""¢Zñê«mñçŸ øé§h\¸‰îÝÍ›[Œ'’‘™ùnnfèÓÇ0wn;&aá غ5]»šÁØXii•ˆˆûز¥lm žrTe¯¼âŒ?ÿLÄÚµâÔÝ]º˜ý7›_b™‡÷*f,UT[çS—c¦*òÊ+mðçŸ øæ›› IS˜ÍOO¯îºu3GDÄ}Œu/¼Ð€8æîúõ ÁÙÈ IDAT,&RDÔ¨0™""¢Záêj_ßÞXºôÂÃ3ž)­+}ÏTi÷-;;CüúëóX¸ð®]˵kY e¹¸˜¨”H@×®fX±¢+>ùä*ΟOÇùóéÄw' ØëÖÝ€Aíþï¯.ϧ.uéb†•+»aùò+ KGX˜x­ºv5ÇèÑvøôÓ«ur\Ÿ8{6 ·ogcëÖh€–– Ÿ~Ú ;vÜQzWQCÅdŠˆˆªÍÚZ_é…½0lXKôëg‰àà$$äCGG;›¡W¯æJe¸ºšàðáÁ¸t)×®e¡ @}´oß ..&ÒvFðñqA·nÊe”®ëÒEñ…¸“&µÆ€Ö JFnn1Ú¶5Æ€6øè£+'–¨è\T9fUϧ¾=é\ÀÛÛÏ?o…  dääÁÙ¹<=­• …±^O*«kj+Œ*5uª=’KßMMupðà œ½ † k©îp¨–ýóO*¾û.Rú>|¸-¦MsÀ{_ß’’ò±hÑEé{۶ͰbEÅÿÿ$¢úÇdŠêÌ¡C‡0}útÜ¿_aùÁƒ±zõj¼÷Þ{X½zµÂºÕ«WcÉ’% ˶nÝŠï¾û®ÒqIÕ=N~~¾BY'OžÄ¢E‹Êܲe –/_Ž?þXZ¶jÕ*,]º´Â؈ššŠpþ|:† i¡¶"#³±bE8^~ÙcÇÚ«-ŽgQFÆ#œ?Ÿ.}wu5‘>óÞׯ‚¹Â½xôH®Æhˆ¨hÐ )‘€¡C‡ÖÚqÊ1b„ôÙÊÊJa]zºØµ¢llžžžR"@¡5‹¨)ÊÊ*Ä/¿ÜÁÕ«÷¡««m0~¼*øÛΟOÇ¡C ¸{7::èÜÙ '¶†……®Âv·n=À¾}ñ¸{7‚88bôh{tìh øã»øé§Û€Ý»ãpæLª´ïŽýÆõôécQ¥øòóå8xð.®\ÉĽ{02ÒB·nÍ1aB+˜˜èHÛ•-»Gsüüs nÝʆ‰‰6&Mjž=›®_Ï‚¿,óaggˆW_u†££‘Ò5‰ÍÅÞ½qˆŠÊAqq Z·6„ pq1QÚ¶¡á½oº÷žˆDL¦¨Näç?îzøøøJ·ÍÌÌHËŒ¶)ÿ½&Ç)ÏÒÒRú¬¥¥øO¢´5ªllFFŠÿC¬,6¢¦ #£cÇ!!áñ¿Å#G’píZ>þXqüçŸG`Ë–h…e'N$cëÖlÚÔÝ»›öí‹ÇÿýßEü÷ÏOòÓOÑøúëž3Ɖ‰ù¸yó !! y Û–ŽëéÞ½9V­Šxj|YY…0àòòŠÊ LÂO?ÝÆ®]°³3T(»kW3|úi8RRJÛ:”€M›ú"/¯ „A.|‡'"0p0,-õ¤e;vÄbÅŠp…킃SðÛowðÙgÝ0a‚CùK®dÚ´öSS|÷{•¶}Þ{õß{"R?&ST'‘š*þµpܸqOìסC€½½=bcc@úo©Û·o×ÚqTagg'Å£°.::º¢]ˆš„Í›£Ð¶m3|þywX[ëáúõ,|÷]$¶o¿ƒ×^k‹–- G&aË–hhiÉ0cFôîm‰œœ"ìÙ‡ÐÐ4Ì›wAA/BWWSju˜>½ úõ³„–– ÿþ›‡î";»0v¬=ŒµðÉ'Wáí]ù$U¯¨¨ÚÚxõUg¸ºš¢ys]dgáܹ4øûÿ ?¿[øòË eoÝŽͰpaG˜™é 88¿þzŸ|r0r¤^x¡44døå—œ;—ŽŸ~ŠÆ’%—.eâãÃa` ‰É“е«tt4píZ¶nƲeWЧ…ô _™óçÓ«œL•oª Þ{õß{"R?&ST'^~ùeœ?pêÔ)|øá‡èÖ­›´>77‡BBB‚Ô5oäÈ‘=zaaaèÕ«>|ˆÏ?ÿ¼ÖŽ£Š#FàôéÓ€cÇŽ!$$ýúõãG°jÕ*•Ë%jì°gÏèêŠ]_ °FQQ ¾ýö®\¹/=°îÜù/`Õª ¿cÆØcúôpölNœH†——-´´4Ю]3|ôQ…c½òJääˆÔ¶¶pu»}ÙÙT:®§ªñ™™é⯿ãèÑ{8u*PTTÐÑÑÀ… Je·icŒ;ûC[[Ç2p  "#³qþ|:¦NuRhýèÛ×}ûþ…+W·oÙr%%¶lyNj™)-ÇÍÍ3gžÁÁƒ‰˜;·ÝïÁ¯¿>¯Ô’S™ÒXkï½úï=©“)RÉž={påÊ¥å­ZµÂ/¿ü‚yóæáàÁƒ8uê222н{wtèÐ&&&HLLĽ{÷ —Ë1tèPi¦¾7ß|›7oFTTŠ‹‹ñÜsÏ¡cÇŽHLLDÛ¶m+ŒC•ã¨âÍ7ßĦM›¹\Ž S§NHJJªpQS1l˜­ô°ZªS'3Àýû¤e·n=€¾¾ÆŒQlEÉ€‰qölnÞÌ‚——-^{­-.¼€wÞ Ã A-àâb''#hhÈ`l¬ê¨j|ii1iÒi¥.c¥JäËzñÅ–Jɉ‹‹ ΟOLjŠïŸkÖL-[ê#9ùq·°ððûÐÔ”Á×÷@ %EÅÅâÃ|LL6ž¦woõLÁ{¯þ{ODêÇdŠT’˜˜ˆÄÄD¥å¥3áéêêâèÑ£X½z5¾ÿþ{$%%áÖ­[Òv¦¦¦9r$^yåi™¡¡!Nœ83fàäÉ“(**Bxx8¼½½±téR…'•£ cccœëëë+¬ëܹ³Ò~åc+**RØÇÍÍí©×‰¨©±²ÒCtt6RRÂÚZOa]D„ø>7kk}iYëÖFxûíÇã¯]Ë´iÿ -í¡” ”þÓªÚÇí ÂÃ3ajªƒŸ~gäçË‘–özzµÿ~Ÿ-ôQXX‚~èMÍ 2 ææÊæå©kÌTUñÞ+«­{ODêÇdŠª¬&cŽààðô™‰¶nÝŠÖ­[ÃÓÓ­ZµDEEáƒ>¶yá…¤òªrƒJÏESSó©çÙªU+)6ÐÖ֮ѵ!j ú÷·ÂíÛÙxkðõí33ñA1,,?ü)m_~yãÇ·B›6gÊ´¶Öƒ¶¶ΟO—–ˆÿ ‹¯¸{Vu˜˜hãÎDFfKÓRß¿_ˆ¥K/ááCyu™ª*Þ{eµuï‰Hý˜LQƒrêÔ)Ìš5 ¦¦¦hÓ¦ rrrpç΋Ý,¬¬¬°aÃ5GIDÕ5gN[8pgΤ¢ÿ@89!7·Xz—··#Úµkض-?þss]ØÛ¢°PŽÛ·³Q\,`Àk©ÌÖ­ ¯¯…}ûâqíZLMÅÒ;úW;¾Áƒ[ ,,cÆ¡}{1ŽØØ\èëkÂÖÖ@iÚìÚ0{v;;v;vÄb×®áèhccm¤¥=½{ùËlÙÒÀ“ß9¤®1SUÅ{¯¬¶î=©_¥M ÊìÙ³1|øpdggãâÅ‹ÒdÆÆÆ˜5k®\¹RédDÔpYZêÁßß½{[àáC9nÜx€øø<èéiá7ÚcåÊÇÝc—,é„víš!3óÂÃ3qóæhhÈ0fŒ=¾úêñÕzzšxÿýNÐÕÕDT”8“ZÙÖ‹ê˜9ÓÿûŸ#AÀÍ›póæ´li€-[úI-)µÍÀ@þþ˜2Å ÚÚšˆŽÎÁåË™HHȃ±±6^y¥ô¢ÚÆŒ÷^YS¹÷DML¨A‡coooÀîÝ»k- "ÈËËÃ;w››‹æÍ›ÃÙÙÌý©á¨ëß)))ÈÍÍ­Ò¶ÎÎmàç—/¯ªm_²² ™ CØØèW¸ÎÑÑHiŒ Ξ– 8;+͸V*3óîÞ̓lm a`PñvùùrÄÄd£ @AÜÝ-TŽ/+«qq¹hÖL­[‹/è¾v- ÉÑ£Gó§ž{||îÝ+@—.fÐ×WŒ÷êÕûËtëfŽòŠŠJ“ƒ‚9llôam­§0~§¾íß ^€¯o/Œi§°Ž÷^}÷¾[·Cpr2ÂÞ½ž®'eêøýH‹µµ5ŒŒŒTÝ}7“)""4õdŠžm¥ÉT›6ÆhÞ\ÇÛbÚ4ÎZªIIùX´è"àâÅ têdÊdªøû‘ž¦¦ÉÇLQ…bbr“WWŽÝQ—‚¹Ê]‰¨î1™""""Ï=g…íÛOæP¾KÕŸ–-õî…‘݈þ‹$"""ºjy')Ó×ׂ»{Þ±‘¨)ãˆ~""""""0™""""""R“)""""""ÔhÌTFFðÎ;ïÔVRÚçáC9üünbèÐãpuÝ7·ƒ˜6íœ>ZiÙçϧcÒ¤`tércÇaÆHLœ X·îœ¤Ÿ††×ˆˆèÙÇn~DD¤²K—2±jÕ5Èå1ص+/f" ` 4EE%˜1ã .^Ìö-,,ÁÙ³i MÊn˜<¹õË.)jkûöHe=…….BC½jt¼RéQõ°eªY´hA€§§§ºC!ªØ¢E€ ¬£௿1vl+œ8ñ"""FÃß¿?Ú·o†˜˜üðÃãÉ~ýõ.^Ì@Ë–øñÇ>¸reNŸŸÉdøì³¤¥=T*{Ü8;6‘‘cqàÀ ¼õV{ìÜéxçWDG¿$ý4T¼FDDÏ.¶L‘ʺv5ǪUÝ!“‰ß{õ²À÷ß÷Å!G˜„wÞq>œðóë 773€‘‘||\šú;wþ‹'’1q¢£T¶››>ÿ¼›TvMEFŽ­‚ª©1]#""ªž&Ó2Uv,ÑÏ?ÿŒN:AOOX±bJJJ¶Ÿ:u*d2ÒÓÓ•Ê*]—••Uaù7nD‡ ¯¯.]ºààÁƒ€¼¼<ÌŸ?-[¶„žžú÷ïððp…²+3u÷î]Ì™3öööÐÑÑ &OžŒ[·nUzÎ6l@ûöí¡§§'''¬\¹ÅÅÅ Û¤§§ã½÷ÞC»ví`hh 4{÷î… °»H•¤¥öö€…¯¸.8ÐÒž(wí•”KôóÏ@§N€žàà¬X”«£˜:Uܾ‚:*­+SGÊ߸èÐÐ׺tþ«£ÈËæÏZ¶Ý¿?P®ŽV:fêî]`ÎñZèè66ÀäÉÀê(6lÚ·åä¬\©|ÒÓ÷ÞÚµ År öî[ÈH­žÞRéAÞÞÞ­[#..WZ—SS)I(kРÿm“«°ü¹ç¬ž‰$׈ˆèÙÕäZ¦¾ýö[lÙ²Eú?þ%%%X±bEË_³f ¶oß.}ˆˆÀ¸qãŒÅ‹ãÌ™3Òºþù^^^ˆ‰‰žž^¥eÆÆÆ¢OŸ>HM}<9%%þþþ8tèNž<‰ž={*ì³zõjìܹS¡ŒeË–!22¿þú«´ÜËË aaaÒ÷üü|¤¤¤ ((èÔ©“j¢)±´vï<<ooàôi1™¸wøßÿÄ$k×.1©ªŠo¿ÊÔQÄÇ,&SµPG±f P¦Ž""7NLü/ÊÔQüóàåÄĈ Oebc>}€2u))€¿?pèpò$P®Žbõj LEl,°l ”©£ðòÊÔQäç‹e‰±³Ž6Õ}è75Õ©Õã«kÌTu¨ûQõ4™–©R;v쀟Ÿ’’’ß~û ZZZX¿~}­´Äà‡~@jj*222°téRcĈHIIÁÑ£G‘;wî`ðàÁHJJ‚¿¿ÿËœ?>RSSááá . //ׯ_Ǹqã““ƒ9sæ(í³wï^|ýõ×HJJBff&vìØsssüöÛo8qâ )) aaapqqÁ¹sç——‡ŒŒ œ:u &L€†F“«ªëÓøúkàüyàwÄÖ•‰ÅV+±¥§ªvìüü€¤$ ;øí71[¿¾vZb€~ŸŒ `éR1Þ#Ä$åèQñ¸wq<¥Žbþ|±<à±…ëúu1IËÉ[¬ÊÛ»W¼fII@f¦xÞææâùþWG‘”$&R..À¹sb¹À©SÀ„ ë¨ÚýóOšRµ¼{7±±9pp0’–98âþýB„‡g*•ñ÷ßÉÿmc¤´®"bÆQÕÄHÝxˆˆž]M®eê£>ÂÛo¿-}Ÿ2e þøãìÙ³wïÞE«V­jTþòåËñÚk¯IßW®\‰Í›7#-- ÇG÷îÝÆÆÆXµjzõê…7nTZ^^^þúë/XYYáàÁƒhÖ¬ÀÕÕ¿ÿþ;ÜÜÜpåÊDEE¡]»vÒ~ ,À»ï¾+}Ÿ4iär9¦M›†={ö`ðàÁhÞ¼9ôõõáîîŽÞ½{ àáá]‡&éí·³gï¾®][z¾ø8°zå|ô‘XV©)S€?þöì»ÒÕ°Žbùr LÅÊ•ÀæÍbâwü8ð_…±1°jЫð„:м<௿++±»àu®®Àï¿nnbר(±«^© €2u“&r90mšx®ƒÍ›‹]ÝÝÿê( Ĥu´AÏÄÒ¥—0wn{XYéáúõ,|üq8Š‹ öø^^v¸rå>æÏ¿€?=-›[„={â°sç¿ÐÑÑÀàÁ6U:¦‰‰6 ,,YY…UnQט©Ætˆˆ¨zš\2UÑ,yNNN€œœœ—_> ÑÐЀ½½=òóó¥Dª”ƒƒ±Ë^eþý÷_£ÿþR"UJKK C‡Åõë×­L :T©¬aÆ¢££ºººØ¼y3æÎ‹ˆˆxzz¢K—.0`€UÓ¦M@Hˆ˜Hyyÿ÷Õ/£¢Yòþ«£¨…:ª”„hhˆãœòó'R¥JëÁê(þýWlÙêßÿq"UJK :Tl¥ŠŽVL¦*¨£ø¯Žâ¿: ]]1Ñ›;WìÒçé)Žñ0àql¤VƵD@@<öì‰SXÞ¦1^½½ô}Ú4'&âÒ¥LÌž}V©œ?ì KË't%-ÃÑÑÖÖz8{6 ={þ)-o¨³Õñ=»š\}}}¥e²ÿ:©—íæWÚÅ­üÄPPPPiù}’Éd•.¯ì•m[¥e”-kòäÉHHHÀ²eË ¯¯]»vÁÕÕ#GŽDvvvÙä„… âŒ\¸}[µä§‚:* ¤(ÛW¨´‹[Eõç u´Â±O2YåË+;FeÛÖDieËš`„ €°°0Œ1ûöíCll, ‘œœŒ€€À;wêí<½âbqæ¾ôtq†º €yó€}ûÄIêÂu ŠÓ—/‹“>Ôc…¡!0|¸ØpìXàÒ%1¡»ySuíš8nª\…¯/°v-œ Ü¿/Nrñ_ÅuaaâÄûö‰Ica¡¸ýu¬£Ô@,Xgç¬\yUÝ¡úHLzBCÅ·&ª®ÿ¥¤¤ 77·JÛ:;·Ÿ_ ¼¼ª¶=QSáì¬ g <+W®DóæÍÕ50ÖÖÖ02ªÚ;ü*°›-S Hbb"<@œx‚¨ÁILß%ˆO5hxë­]¸qã¼¼¼¬î€èÃdªxã7`gg‡+W® ÿþ°¶¶VwHDŠÞx°³_ÀÛ¿?À:JDD@Û¶ýðçŸâùçŸÇìÙ³áççW¥×ÒU' h@ÌÍÍááá7ª;¢Š™›‹/ýe%"¢FÄÈÈ_ý5ºuë†Ï>û øæ›o``` îШ‘cËTñý÷ß###°±±Qw8DʾÿÈÈ'Ü`%"¢Fhêԩرc"""0qâD¤¦¦ª;$jä˜LQ“Ñ­[7ìÞ½>„··7bccÕ5bL¦ˆˆˆˆ¨I±··Ç®]»`ii‰)S¦ &&FÝ!Q#ÅdŠˆˆˆˆšSSSlÛ¶ vvv˜:u**R “)""""j’ŒŒŒ°uëV´jÕ ¯¼ò RRRÔ52L¦ˆˆ¨ÑN³s¶nVw(Ú¿ÿ.œ¤Ÿ•+¯ª;¤JíÝgç&U¸þûï£à쀔”‡uGDÄ}8;ÀÏï–´,))~~·–QkÇ©¯ó© åÞÔTLLŽÂ¿‡ñãÿVwH244ÄæÍ›abb‚W^yãÆÓµ$Á+@…‚)OOOLLLèÞ½{eé´bþüù4jÔˆN:éZŠà a×®]ol0•Ëž=7ð÷·Å×צÌõôô‡lÜ˜Š··íÚ=™™).–•E\\.EERêÔ1§];{ªUÓWÔIM}À¶mi¼ý¶=ÞÞVœ8‘Å… 9˜™ðÞ{nJ÷‘Je;–ÅÅ‹w133¤];{\\ªîœêئNÉIN¾ÏÙ³w¸yó!ææøøXÓ¸±¥Ê{§§?äÏ?ÓÉÍ-ÄÓ³:íÚ=û¬¸?ÿLG*•äHNÎ#V¯NÂÇÇJi¦-9ù>;v\ÃÊʈÁƒÝåEE2~þù2žž5èÚÕù¹vgfæ³~} ­ZÕ¤U«šDGßfÓ¦T¢¢²(.–)Ú.tiÒW¥í‘SX(åèÑL®^}€L&£vm3üýí06.û~M}×ÇÇŠ'nqöìªUÓãí·íqs3¯ô±yú¾•áWÅÅ2Nž¼ÅåË9H¥àînNÛ¶öH´þì¿J4hЀ)S¦0iÒ$š5kF‡t-IPÅ©P0eccƒ óæÍ«,=VÌŸ?ŸN: _¼4®]»¦k :ÃÖÖ˜%K∊Êâ?Ú–¹þÇÉ,ZÇŠþŠ²ØØlþ÷¿h®]ËSªëèhÂâÅ­A@jê}BC/ad$aþü‹DF–¨Ù¨‘¥R0UP eèп‰ŠÊR”H˜8± C†ÔUËŽ .#“=¿€©©>Ç{ªW¹žg›º}”—WÌGEqüxV™{¼ý¶=‹µÄÄäÉŸ÷°°T¦N=ãGRE™={º–«õðátìíiÔÈ©TÆš5W8zÔ\)˜Ú¶-… /£¯/!$Ä•5 8}:›ÐÐË|ñE#µìÎÈ(YÒ'_êwòä-ÂÃK‚©ãdz”ì”Sêö•*{äï9òYYÊ{ŽjÖ¬ÆO?µTZr¨©ïš˜è³dIÞTÔÕ×—0{vsúô©¥ÔFEÇFþÕ¤¯Îœ¹ÃgŸEsõꥺ..f¬\é¯ÕgÿU¤ÿþœ:uŠ/¿ü’={ö`cS6päT(˜Á›‡¥¥;:²{÷u’“ïS§Î“_Ü¥R›6]ÅÉÉ”€;®_Ïノ‘›[ˆ··5ÞÞVéqþü]ŽÏâ?ÿ‰âÀN˜›?ù“´bÅòòŠèÙÓ…ZµÌpp0QÒ°bE"yyE„„¸bkkÌ… w‰ŠÊâë¯ÏR¿¾…ÒÃpy,\xYiÖãYÔ¬Y­ÂÁ”U¶iÒGrüx[Ò 5kV#7·ˆ“'oñ×_,ZÇ矗2gÏÞaòäÓËhÑ¢&M›Z’ýˆ}û®³hQœJ}I‰ŒÌ $¤äÁ_OO‚¿¿-ûöÝàÞ½BªW/ šŽÍÀÕÕ”´´<ŽË$8ØYQ <3ñ¼1•Ó²eMúö­Mxx*­[ÛÒ²¥òXjêOOÛ0gβ²òiÐÀ‚Ö­m10’rŸÈÈLâãsþ£ï&rÿ~‰oÚÛ›páÂ]þþ;“©SÏЩ“£¢ÿ*clž×¿šè¿zõÆErÿ~ÎΦøûÛaaaÈ•+÷8z4ƒ7ò¨SÇ\£Ïþ«ÌÔ©S‰ŽŽfâĉüòË/º–#¨Âˆ`J Ó¿¿»w_',,U1%ÙöÒÓ2ztôôJöÓ.]Onn!Ó§{óþûîJí¬Zu…™3ϲ}{ƒÕQ”?|XÄöííqw¯®òþ³m[{êÖ}r}ÅŠDfÍ:ǯ¿&ªL}ú©—F3S•…*Û¦N=£v™›ÖŽêÕ 9uê6·o`h¨Op°×®=àðátE0µjÕŠ‹eŒíÅèÑ mŽÝ€^½«Ô•E^^1AAO–›س{÷uŽË¢K'rs 9þ._|ј+ˆŒ|LEFfbm] ,žk·*Z´°A"ððTüül5Jyo¦þ¤ÊžììêÔ1gÛ¶ö ?•—gg?Òú^P²|pÏž ¥%§_~ùáá©DGߦCÅû+cläTÔ¯–,‰Ssæ4ÇÐðIˆk× ¯_òZ“Ïþ«Œ©©)³fÍbÈ!ìܹ“=zèZ’ Š"‚)@ hL›6v¸¸˜²eËUÆkˆ¾~ÉÃSXX*zzÞ}÷É/çÇŽe¡¯/!;û‹Å!“ÉÃE@Izlxò@âú̇î^½\”)€aÃêòË/ñœ:¥^:íÿþ÷Å&=(U¶iÒGzzð믉ìÝ{]eû·n(þýÏ?Ù˜˜0j”²­®®¦ àÆòå eÞøp:&&øùÙ*ÊJþ™I—.N;–Iq±Œ€;âãsKËrrqþü]ºwwæéÜTÏSuÑÔŸTÙÓ¥‹+V$²qc*:8`gW’ÏÚºÖÖÕ´¾@Ÿ>µÊìÝ t <<•ŒŒ‡Š²Ê9õ«ãÇo¡§'aÆ ¥@ J–ùÉÑä³ÿªÓºukÞ}÷]¾ùæ17W½ïMðf#‚)@ hŒD}ûÖfþüKüùg:;:’]À¡C7ñ÷·ÅÙùÉÃdvö#Š‹eüôÓ¥rÛ»w¯Péuy›õ帺š•)ÓÓ“àìlúøáðù¼ì=SrTÙ¦I-^ÏÞ½×±¶®FÛ¶v88˜`d¤‡D"aýúd¥ý799pp0V<ð–FU>|“6ml•’89™âî^£GK‚¦ÈÈLì쌩_¿vlÚ”Jjê.^¼‹T*£M›²Ë¼ž7¦ê¢©?©²g̘ÔªeÆÖ­iÌœySSš5³"$¤ݺ9k}/(Ù‹ô4ò™Í¢¢'WYc#§¢~u÷î#ììŒ13{ö£¡&Ÿý×ñãÇsàÀ–,YÂ矮k9‚*ˆ¦@ ýú¹±`Áe6nL¡cGG¶lI£¨HFÿþnJõjÔ0àÑ#)ÿùOùÁˆ‡‡ò/êª0K“–ö L™LV²Ç¥F #µôëjÏ”*Û4é£#GÒ16ÖgÏž llžÌ¢Èd°zõ¥! #ÒÓó).–•¹¯ª>¼x1‡›7*-;“Ó¦-k×&)öÉ÷ÅØ!‘”X.ÜQ”©c·6hÒWåÙ£§'¡oßÚôí[©TFJÊ}þü3ƒÏ>‹æÂ…»üßÿ5Òø^šR™c÷+KK#®_ÏãÁƒ¢çTê~ö_,--=z4sæÌaРA899éZ’ Š!‚©Ć X¼x1óçÏÇÇÇG×r*Äëd˛†è ,>²˜ùïÍÇÇõÕ³×É–× {{cÚ¶µ'""ƒÌÌ|ÂÂR°²2¢S'G¥zþþvlØBíÚf„„”ÍRvùrŽbS¾ºlß~?ôPZê·re"·oСƒã3Þù]í™R…&}$‘H00”™X¼8ŽœœGXZ> &›7·fûö4~þ9NiYcZZ7¦”¹Ï¡C7‘H }û²{rÚ¶µgíÚ$Ö­KâÚµ<>û¬$`²²2¢A ŽÍàÒ¥êÖ­^nr u©V­d™ÙÝ»e®iÒWåÙóçŸé¼ý¶=úúôô$¸»WÇÍÍœµk“Ø´)UL½ß•S™cSšè÷ó³eƦOeÖ¬æ< Îä{¦ä³nê~ö_ ÄŠ+X²d 3fÌеACS/ˆ´´4"""¸{÷®®¥¨ÅÚµkùõ×_Y°`Mš4QºöªÙ"€´ì4"â#¸›÷jŒÙÚ¨µüù+ - ‰óSþ÷ŠÙò¦Ñ¿mŽI端N“˜x>¨[f¿ÅÇ×cïÞŒÃÊ•‰x{[Q½º!YYÄÇçrîÜV¬ð×hy‰‰>!!Ò¥‹¶¶Æ\¼x—cDzHàßÿöP« ]í™R…&}Ô¬™5çÎÝ¡gÏCtìXò+ù©S·¹pá®R %ûÈvíºÆO?]âØ±,¥ŒqÆÆeN§iS+jÖ¬VæZ«V510ðÛoÉH$ʳOmÛÚ³bE"……R†U/5ý³pu5COOBXX*EE2¬¬JôŒí¥Q_•gϨQ'°²2¢ys\]Í(,”rüx×®=ÀËëIâŒá»r*slÊCý#FÔcçÎklÞ|•“'oãçW #’’îó×_éüú«¿ÒFu>û¯ Œ9’iÓ¦ñÑG½±g T#‚©Ä€ðõõ}efrRSS‰ˆˆ ''§ÌµWÍ h1_7ßWf&'5;•ˆørªð¿WÌ–7  Glm9t(@å23Ö® `ܸΟ¿ËùóÊqƒ?Œ~ø¡Gf°m[š¢L~Δ:™üªšôÑèÑ^DEe‘ËÊ•‰@‰í_ÝŒßOR:O¨iS+fÎlÆÔ©gˆŽ¾Etô-¼½­éÕË…¯¿>«¨›™™Ïùów;¶¡Jff4kfCtô-6´PJÔ`Ç/¿Ä%Ë+Š¥¥}úÔ"<<•µk“å£G{©ÝWϲ§C¸Éž=ÊI<\\̘5«™ÒëÊö]9•96塉þZµÌX±ÂŸÏ>‹áÚµ„…=(ÕŽ)NNÊvªóÙèÛ·/‹/fõêÕLš4I×rUL½ \]]qu-ÿнW‰×É–7WkW\­_1{lyÑ×/ÉþuéRÕ«àéYCe½† -ؽ;ˆþ¹Íùówyø°êׯ¡”B»vmsFn@³fªÉ”_oÝÚ–>òäèÑLââr055 0СLµªÄólS·,-ر£‡ß$%å>5jñöÛv89™"•ÊÈÍ}¤Ôn¿~µ °ãÏ?Ó¹w¯ÚŸËèÑ {fNG&C‘º[£FÕçŸliÜX9í¹¯¯Íãu%´n­¼_êyvÛÛ›(ì-ÍìÙÍéÕË•‹ï’—WdñâÅDDD “ÉhÛ¶-£F"44”½{÷²mÛ6,,”?ð‡&<<œääd ñõõeĈØÛ?9$péÒ¥üþûï,_¾œÂÂB-ZDbb"ööö 6ŒöíÛ«Ô£iÛ>déÒ¥ÄÇÇÓ»wo>þøãgî3Šˆˆ`Ó¦M\¹rSSSš7oΈ#°¶¶~n_³~ýzöîÝKFFÖÖÖtèÐ!C†`ll¬Rß½{÷X²d ©©©899ñᇠ¨;nÜ86oÞLJJ >>>оöññaþüùåÚ¢MÆA$ cÆŒaÞ¼y¿÷aáCYLD\2d´õl˨ö£=ÊÞó{Ùöé6,Lžò¿Ë‡ ?Nò­d õ ñ­íˈv#°¯QÊGþZÊï'~gùÐå²èÏE$f&b_ÞaþÃhïUŽÿiØöÇ,ýk)ññôöéÍÇ?sŸQD|›NmâJÖLLi^«9#ÚÀÚL ÿ“³>z={Ïï%#7k3k:xu`ˆßŒ Ky)}÷òï±$b ©·Sq²tâÀ ð(åDZùŸÍ¤ÜNÁÇÕGÑ×>®>Ìo~¹¶h£E“qx•õýWÜ¿_­ºu Í [7õê ^Û¶¥1n\ ÁÁÎÔ«W+Þ~Ûþùo¬|ôÑqâârˆˆè¢k)•ÂëdÏ«jË;3‹K–ÄÑ ›6¾T •ùý˜““C@@&L`РA• NP°··¯HÚû0ÏLåääЮ];bcce;vì ,,ŒºuëAaá“´£R©”>ø€5kÖ(µ³cÇBCCÙ¿?Í›7 ))‰ˆˆvîÜɤI“ÈË{²ôaíÚµlذAñ@¤mÛáááL›6‚‚’M²•lZUµÏ¨¸¸˜aƱnÝ:¥öÃÃÙ3gÙÙÙèë—¿ÉùÁƒ©T¾aÃ.\ÈÁƒ±³³SÒÆ´iÓxôèÉ/•+W®dÁ‚|úé§ÄÆÆ’’’À™3gÊÜW•-ÚhQw^&9sh÷];bÓJù_ìÂb¨k[—ˆø ‹KùŸLÊ+?`MÔS>»ƒÐá컟æµûHVñì<»“I[&‘÷¨”ÝÇײᣠôóíW¡¶ÃO…3mû4 ŠûŸÓcÿS±Ï¨XZ̰•ÃXwü)ÿ;Μ½sÈžŸ¾Þ3ü¯àÁóƒ‰L|jÌ£7°ððBŽ;ˆ]u;%}a1aLÛ1GE¥üïï•,¸€O;<ö¿k±¤ÜNàLš ÿSa‹6ZÔ 2Ø»÷:{÷^gذº¯L0åëkMŸ>¯Ï,ðëdÏ«jKvv¡¡å§eÕ°°° [·n„……‰`J @çÁÔ„ ˆÅÕÕ•/¾øwwwâââ˜;w®Êûo¿ý–5kÖàîîÎÇLƒ (((`ÿþý,[¶ŒAƒqñâEôôžl‚?~<=zô oß¾˜››³}ûv–/_΄ ”âµi{Ê”)tíÚ•þýûãììüÌåp3gÎdݺu˜ššòÉ'ŸÐ²eKôõõ9uêK–,áy“„'N$22[[[ÆOƒ HIIáûï¿çܹsŒ9’Í›7+½gêÔ©3pà@ŒÙ»w/Ë–-cìØ±têÔ‰úõëóÃ?ÊŠ+ U$ °´´T%Ck-êŽÃËdÂæ ĦÅâjíÊ]¾ÀÝÖ¸ô8æî«òÁþ۽߲&j î¶î|Üîc86  ¨€ý÷³ì¯e Z6ˆ‹3.¢')囯ӣiú¾ÕójælÝÎò£Ë™°y‚ÒC¼6mOÙ6…®»Ò¿Eœ-Ÿ¹næ®™¬;¾S#S>iÿ -ÝZ¢¯§Ï©ÔS,‰X‚Œçøß–‰D&Fb[Ý–ñÁãiàØ€”Û)|¿ï{Î]?Çȵ#ÙüÉSþ·}*ÁƒØr ƆÆì=¿—eG—1vÃX:5ìD}‡úüÐïB‡²"r¡C (,MŸáZhQw‚ŠP¿~ ¥ÔÕ>>V:T£}TO×*•×ÉžWÕkëjJŸ‡Šfy¬ „„„0dÈ’““©S§Îóß xíÑi0UTTÄš5k¨^½:QQQ8;—”×­[7zôèQ&«œL&ãÇÄÁÁ˜˜¬¬žü‘êÓ§VVVÌ™3‡ãÇãïﯸ6xð`–/_®xݳgOˆˆˆ 33;;;­Û Qk™T*%44CCCŽ9B‹-”Ú?~<åGQQ+V¬ÀØØ˜ÈÈHêÕ{òÅ:`À¼¼¼Øºu+JË{ôè¡Ô¼óÎ;8::2}útV­ZÅìÙ³ñööV|!4kÖLi `ejQg^&EÒ"ÖD­¡ºqu¢&DálùØÿšt£‡wšLUá~ÄÁ˜É1X™–ò‘æ}°2µbΞ9O:ŽÝRþ×z0ˇ–²Û»'  DÄGy/»êvZ·âBØH5üO&%ôP(†ú†ù¿#´p+åÍû0>x<zÏð?i+"W`lhLäøHêÙ—sßx}åÅÖ3[ÉÈÍPZŽØ£i¥ æfïàháÈôÓYul³ûÌÆÛÕ›:5û_­fJK+S‹:ã T// ¥lpÁ›Œ••Ñã½t¯­[·ÆÎÎŽ;v0zôh]ËTtšÃ2))‰йsgE %ÇÓÓ“6mÚ(•%''“••Eqq1ýúõ£cÇŽÑ¡C:tèÀÎ;¸|ù²ÒûTMÅÊ—ëݾ}»Bm2Dm[³³³ T ¤äÔ¨ñì›IIIÜ¿ŸöíÛ+/666ôíÛ™LÆÙ³g•®}øá‡eÚ’—=]W]´Õ¢Î8¼L’²’xPð€Î ;+)9žvž´ñxÊÿn%“u/‹bi1ý–ô£ã ú!ˆ?t ÃØyö±Ü|ÊÿZ©°»öc»ïß®PÛCüÔô¿¬$²dX?P)’SÃä9þ—•Äý‚û´¯ß^)x°1·¡ï[ÇüÚSþ Âÿ—=]W]´Õ¢Î8@ð,ôôôfß¾}º–"¨"ètfêáÇ@ùËÉJÏŠÍØYYY:t¨ÜvKïÉT&v02*9‹£¸¸¸Bm«{Ö€ÜÖš5µKÙ›ŸŸ¨¶¥t¹¼žU}+¯+×ô²´¨3/“‡û_9ËÉJÏÜ/xì#÷²8té>òè)ÿS‘ØÁHÿ±ÝÒâ µíb¥¦ÿ>ö?s-ý¯ðñ˜—“¤B^.¯'GUßÊëÊ5½,-ꌃ@ Ï#005kÖpóæM_σŠê£Ó`ÊÉ©ä°ÁÓ§O—¹&•J•’R8;;#‘HhÑ¢sçÎ-·]OOOµhÛ¶D")§¦êöOžö¿«*üO&%öÚSþgùØGÜZ0÷Ýgøˆ½þ§eÛjûßãöO&Ÿ¤°¸C} ýÏâñ˜§žB*“*íÛˆNy<æ–Où_ê?e–íŤÄ(4)ì@ÿÓR‹@ •AË–-166æï¿ÿ¦oß¾º–#Ð1:]ægkk‹··7ÿüó³gÏF*•%{r&MšDbb¢R}ÚµkÇ?ÿüC||<þþþ*þ«]»6ûöíÓjïÍ‹lJfeÚ¶mË•+W>|8ÙÙÙŠk÷ïßç›o¾Qد [[[š7oÎåË—ùòË/e2¡¡¡8p¼½½•Þ7sæLEð%‡óÊ×øvîÜYQ.O yåÊ•çÚ¢­–ª†mu[¼]½ùçê?ÌÞ=©ì±ÿI‹˜´e‰™OùŸ¹ íêµãŸÔˆÏˆÇ¿®?õÿÕ¶©Í¾ û´Ú{ó"Û†’Y™¶žm¹’u…᫇“ý ”ÿÜç›]ß(ìW…mu[š×jÎåôË|¹éKE†C™LFè¡P\<€ƒ…Þ®Oùß®™Šà õv*£ÿxì KùŸñcÿËRÃÿ´Ô"Ae`llŒ¯¯/ÿý·®¥ª: ¦¾þúk $;œ££#-[¶ÄÑÑ‘ï¾ûN‘€¢tºð `ffƈ#¨Y³&>>>´nÝÜÝÝ™3gŽÖKÆ^dÛóçÏÇÔÔ”5kÖàììLãÆñööÆÆÆ†É“'?3˜‚’lƒzzz|÷Ýw888(û¹o‹ IDATúêÿûŸâúÓI,\\\hÕª^^^x{{S¯^=Î;‡ PÔkÖ¬äÄ÷#FвeK3fL¥j©Š|òØÿ¶LÄqœ#-¿i‰ã8G¾Û÷"«\étá .À¬š#ÖŽ æØšøÌð¡õ¬Ö8ŒsÀ}‚;söÌÑzÉØ‹l`þ€ù˜™²&j ÎÿçLã©ñžîÍ&oüÌ` à۾ߢ'Ñã»}ßá0Ρ¤¯>wäëù»ß–IbábåB«Y­ðúÊ ïéÞÔ›\s×ÏáãêÀ¥üÏõ±ÿ­AËoZø] cÖ?Ãÿ´Ð"AeñÖ[o©\Y%xóÐy0Õ³gOV¯^µµ5™™™DGG#•JY·nbZ郴7n̉'èÖ­< 66–'N‘‘§§'sçÎUìÃÑ”Ù6”,G¥M›6äççsáÂΞ=‹±±1“'O~æSAAAìØ±²³³‰ŽŽ&##'''Ö®]ËàÁƒË¼ç§Ÿ~"$$„¸¸8Ξ=Ë£G bÏž=J¶´mÛ–aÆQXXHtt4*SÓWDKU¤§wOV¸k3k2ïeT&eÝðu8[=ö¿j¥üϹ1'&ž [“n<(x@lZ,'’O‘›§'sß‹‘–þ÷Û†’LyGÇ¥Gò ó¹pãg¯ÅØÐ˜ÉÝ'£/yŽÿ5bÇwàaçAöƒl¢S¢ÉÈÍÀÉÒ‰µÿ^Ë`?þ÷ÞO„ø„—ÇÙkgyTôˆ Aìùß%[Úz¶e˜ÿ0 ‹ ‰N‰&">BejúŠh ²ðööæÚµk:I %¨ZHdêlR(ùÙ@ê¤=âüùó4lØ©TŠ»»;&&&$''«|ONN‰‰‰H¥RÜÜܰµµUºž””ÄÕ«Wñõõ-s²±üZ‹-033«Ô¶¡ä Û+W®àãã£2 DFFÉÉÉXXXàáá¡ñªÄÄD222°¶¶ÆËË«ÌÞ™/¿ü’¹sçrúôi|||¸~ý:W¯^ÅÙÙ™Zµj•Ûnff&W®\¡  KKK|||žkËó´TdÔE"‘0fÌæÍ›§Õû=âüÇþçØ©LŠûwL MHžSŽÿ=Ì!13©LŠ›¶ÕŸò‘¬$®f_Å×ÍW) +}­…[ ̪©ð¿ ´ %Ý^ɺ‚«Ê$¹$ßJÆÂÄ;÷P%f&’‘›µ™5^*üoÓ—ÌÝ;—ÓSNããêÃõ»×¹zû*ÎVÎÔ²~†ÿÝËäJæ Š °4µÄÇÕç¹¶b뎻m9v?ãZEÛpµv}æ¾ö5ì•Î`Ò;<ì4ð?Kç2éçUaWݮ̾°çÙò<-@ Taii‰££#qqq"˜zéÁÔW_}Å—_~©˜¡IHH //sssƯky‚ל¯¶}Å—›¿TÌÐ$d$÷(ójæŒþ'¨"öF,sÿœËß!×Öµœ ŸÏáÄÿzœGEß~<ÞN"‰‰@ (Ÿ:uê’’¢k£ó=SŸþ9&&&\¼x‘ØØXòòòhÚ´)¤N:º–'xÍù¼ó瘚pñÆEbÓbÉ{”GS—¦w:5…ÿ ªÈÉÏádÚInæÞÔµ” ²2„n¿vãûˆï‰LŽädÚIròst-K TqÜÜÜ4¦–/_އ‡'Nœx1¢*‘ .JïÞ½« žùžððpzõêE£FðõõåÓO?%55µÒêWEªÄÌÔ´iÓ˜"88X£¥€o*ÓzMcrɤÜJ!ë^N–NÔ¶þW>zû#‚k´P Й2ñ¬éIg—3/säÊ]K¯nnn8p@×2^W®\!$$D£÷üøãüüóÏŠ×ìÝ»—¨¨(ÂÃÃËLhZ¿ªR%f¦ ðððÀÏÏOR•€»»;ÙP÷Fa g€‡~uýD U ¸ÛºX?Per  ª±mØ6ö ßÃçí>ÇÅÂE×rÁ+‚­­-·oßÖèØœáÇ“˜˜H«V­^ ²Š#‘Hhذ!ÿýïÙ²eËsœOLLdÉ’%ñí·ßrîÜ9þúë/ºtéBNNŽâ($mëWeªÄÌ”@ ^]2ïg²æÔ.e\ÂÔÈ”ŽžéÕ°W™ÌŠ—3/³ùÜfÒrÒÉdÔ¶ªM¯F½hdßHGÊK°3Wÿ0ìÒ{ÅÞr~‹Õ§Vs9ó2Æ l6__.d\àÓp=ç:.–.ü»å¿q³r{A]`ccCqq1¹¹¹XYYéZN¥âîîÎöíÛ¯Ÿþ>šM›6!•J1b}úôÀÄÄ„ü‘öíÛsôèQÒÓÓqppЪ~UFS@ Кô{éô^Õ›Ìû™Š²=—÷p0á ¡!¡Š?À›Ïmfüîñ<}ǯ'凞?ÒèùËIÿ1X탫-M,ù¹ÏÏϯ¨!ò½bÞNÞ|}àk2îg(®í¼´“e}—ñàÑÆlC±ì‰ÖÝ—v³wø^lÍmU5+^AlllgM-]º”‘‘™™üë_ÿ¢K—.ŠïÂåË—3gÎ~ûí7ZµjŹsçxçwʽGÍš59~ü¸âõƒX¶l{öìáÚµkФIFŽI@@À ´öÙœäÖ­[?~œÝ»wS¯^=­îѰaCÅ¿srrxï½÷HHHP”püøqNœ8Á÷߯ØçÃ{ï½§ö}ºwïÎO?ý¤•F€ÔÔTŒŒŒpss+sÍËËKQGÛúW®\¡_¿~Ü»wOQväÈΜ9CãÆµÖ]ˆ`J ZcknËæ¡›114 ½G{|]|ù×ÿbÙ Š`Ê@Ï€z5ë1¥Ó¥÷óƽ‚{eÚUÅÚkËÌl•‡¦QkJ]›º¬½â>í=Ú—ÇÉ´“ü«ù¿˜Öyš¢®_m?üúqæú™ªI ¼\ŒŒŒ€’CÖÏž=KݺuùöÛo©W¯$$$°zõjôôÊOQФIË”ÿôÓO;vŒE‹)ÊæÌ™CBB]ºtaäÈ‘Šìz‘‘‘L:•3fйsgLLL*ߨçpÿþ},--U.´°°P „4­?{ölîÝ»Gûöíù¿ÿû?\]]INNfÖ¬YDFFV¶9!‚)@ hM7¯nŠ@JNëÚ­q±p!.+NQöQë·cc·¥ƒGØ5ÀÝÆ=‰Õ«UWë^-][VªöŠÐ¹~ç2[ûœL;I÷Ý•Êk×À©†é÷Ò_¦D@ð‚©V­PTããヷwÉùt&&&´hÑ‚-ZhÜî’%Kˆˆˆ`Íš5ŠÀèÑ£GìØ±OOO.\¨BLLLèÑ£999L:•èèhÞ~ûm|}}Uiº@ÝÁÊ«Ÿ——ÇÑ£GqrrbáÂ…Š~oذ!‹/¦C‡ܹs§ÒôjJ…‚©øøxpuu­,=Ö,]º”ððp]˼!ܾ}OOO]ËÐ95Œk¨,·4±äFî Åëî ºÓо!;/îdó¹ÍÄeÅQPT@†=÷ö¸rÛ)MUØ3%§Fµ²z ôJþ¤Z[¨¼–÷(ï…é/ùÌTqq1³fÍbÊ”)ÄÅÅѪU+¼¼¼hÙ²%ÎÎε¹råJvïÞÍÚµk•22§¥¥‘ŸŸObb¢bœL&Sòÿ߸q£l£/sssrss‘Édef›rsK–rW¯^]«ú×®]£¸¸˜-Z()9Õ«W§Y³f>|¸ÒmR13%xmÐô—@Pq.¤_(SöàÑ’n'•É’WǺÿ ø¯âõùôó þc0Y÷³Ô |ªÒž)@ ?wèééÑ«W/‚‚‚ˆŠŠâܹsìÞ½›)S¦ÐºukæÍ›§ÖQ5¿ýöaaaüöÛoŠ¥nr¤R©âžÏJÅ^XX¼ü=Sµk×&66–”””2çC]¾|YQGÛúP~FA]?ÿU(˜ªW¯õêÕ#,,¬²ôZ!‘H1bóæÍÓµÁB¿~ýt-¡Jp á›ÎmâÝ&ïð°ð!“öL"¯0î Ÿ,wûöÈ·¼Ûä]êÚÔU”Ù›Ûc¨oÈÉ´“jÝ«*홂¼¼’ÙfùR<333:vìHÇŽˆ‹‹£{÷î,Z´ˆñãÇ?³­ððpÖ¬YÃo¿ý¦2#‹‹ FFF4iÒ„ 6T²%§eË–ÄÆÆ²}ûvþ÷¿ÿ)ÊåñJ$¥%šÔwqqA__Ÿèèh ”f§îß¿OllìK°°|ÄÌ”@ ´¦]ÆïÏ?bWÝŽäìdîÜÇÔДý>VÔ[½Š¥Ç—bmj«¥+Š‘p+"iíÜÛ©u¯µgêçc?™\²9åN sÿœË’¨%Œy{L•Ú¯%ª>àæÍ› >œ~ýúѨQ#ìíí¹{÷.û÷ïJ–è=‹mÛ¶±dÉ~ûí7jÖT=«.ßµyófÆŽËСCqww§Zµj\»v3gÎðÇðûï¿cddôÒ÷L½ûî»üúë¯üòË/¸ººÒµkWîܹÃ7ß|CFFmÛ¶ÅÑÑQ«ú¦¦¦ÁèÑ£ùüóÏqqq!%%…9sæýÒìT…¦@ 5ï4~‡Xz|©âÌ%7+7¾ëñµ,k)ê}ÙáKÖŸYO|V<Ùy%øŒôi¤ I:Ñ.çÊí+efÇJ'Ïë‚Òȃ)CCCŽ9‘#GÊÔ‘H$ôìÙ³Ü6Ž;Æ_|Aqq1mÚ´)s½ô9S“&MâÒ¥KìØ±ƒ;v¨l¯2—¼µiÓ†ŒŒ ¥²Fž²^ú\'FŽÉÏ?ÿÌ_|Á_|¡¨gaaÁ”)Ê™\5­?qâDN:Å¡C‡8tè¢ÜÒÒŽ;†nÂL @cš:6å·A¿QÛª6Õø°Å‡$g'cjdЇG™µíCÞ·†—MÚÝ4LLq¶pÆÔÐTG<áÿOèïÝ¿Üëž5Ÿ$)m÷Ó¼ßü}:xtÀÕ²lR¦¹Ý窽ßK ¼ȃ)~ýõWÂÃÃ9wî™™™XYYѸqc† †ŸŸ_¹mÄÅÅ=sTi,,,ËwíÚERR2™ gggÞzë-ú÷ï_&AÃËä³Ï>ÃÕÕ•5kÖ””„‰‰ ­[·æóÏ?Wyž”&õëÖ­ËÆùþûï9qâ¾¾¾Lœ8‘¯¾ú }}}ÌÌÌ^‚•e‘È*ÂÊ÷ ˆ=S]#‘H3fŒØ3%xi¼èᅩŒ îß¿¯V]º„†fЭ›zõàMáE~?FGG3pà@¢¢¢°µµ­ôöÏ'==N:Q«V-víÚ¥Uöööj%)‡°òO@ *¹~ý:FFFØØØèZÊÁ'Ÿ|Bdd$ÙÙÙäææò÷ßóŸÿü‡‡¬3]/u™ß¬Y³prrbذa/ó¶/„×ÉmxíŸ5ëNNf ÖX×R*Ìëd‹6¼éö @÷¤¥¥áì쌞ž˜›x=zT‘Ô£4uëÖåßÿþ·•ðRGÖ¬Y¬ZµêeÞò…ñ:ÙR3fÌ`Íš5*¯½ŠöÏšuœU«Êž‰ó*ò:ÙR3fD±fjßû@Pµ¹ví...º–ñÆðË/¿Ð¾}{ìíí144ÄÅÅ…¡C‡²aÃLMu·ÿö¥ÎLMœ8''§—yËÆëdKy̘1ƒÀÀ@† RæÚ«hÿĉ­qrÒÍæÄÊæu²¥›¢")‡]åüù[Kñò²¡sçÚ«þxœ:•ATÔ rsáìlN×®u°³3UjoæÌãxyYóÞ{^\¾œÍþý)ãççD@€³ÊvïÝ{ÄŽWHMÍÅÅ¥:½{{P\,cþüS´lé@·nîåÚ¢í=Õ±çy¨ÓOë;s&“#GÒ(.–àL«VOò»z5—+Î#•ÊHJÊaÚ´cŠkÆ5ÂÍÍ¢BcY‘¾àöíÛܼy“† êZŠ@ǼÔÔèæææøúú*jvñâEÞyçâãã•ê:;;³qãF¥é¼ŒŒ  ÄáǕꚚš²páB>øàòóó111!$$???&L˜ tˆÙðáÃY¶l™R111ôìÙ“ôôtE™££#¿üò ½zõbÔ¨Q,\¸°\[´¹§ºö< uû¯´¾† 2{öl¥úÿú׿X¹r%DFFÒ¶m[•÷ûóÏ? ¬ÐXjÓWÏCÔèææ?áëëÀ‘#Ji¾Í;ïl%>þÎSšÍÙ¸±þþO–2fdä1hÐN¾ªT×ÔÔ… ƒøàƒÆí+ÂÄd>!!øù91aÂ_”þ” Þ„e˺(µ“NÏž[HO (st4ã—_:Ó«×FjÆÂ…AåÚ¢Í=ÕµçY¨Û¥õ5lhÃìÙ'”êÿë_ Y¹2="#¯Ó¶í*ï÷çŸ t­ÐXjÓWª©Ñ êó¢¾8À¨Q£8uêÕ«W¯Ô¶/—ЦF×顽yyytëÖÔÔTjÕªE×®]122âàÁƒ\ºt‰=zpáÂ)..¦GÄÄÄàææF—.]°²²âÊ•+lÛ¶áÇӠAZ·n­hÿøñãìØ±ƒ®]»Ò¨Q#®_¿NXXË—/ç½÷Þ#(¨äáôÞ½{„„„žžN½zõèܹ3EEEìÛ·áÇkd“º÷ÔÆžŠôŸœcÇŽ±mÛ6…¾´´46oÞ̺uëðôôdÊ”)ÔªU‹©S§2cÆ ÜÜÜ”öL©:tM[-êöÕ‹"/¯nÝ6‘ššK­Z5èÚµFFú<˜Ê¥K·éÑc3.|€££ÅÅ2zôØLLL:nnté↕•1W®ÜeÛ¶D†ßGƒ6´n]Ú¾ìØq…®]ÝiÔȆë×ïÇòåçxï½ÕJf¤BB¶’žþ€zõ¬èÜÙ¢")ûö¥0|ø>lR÷žÚØS‘þ“sìØ ¶mK¤k×:4jT“´´{lÞϺuñô´bÊ?jÕªÎÔ©þ̘q 77 ¥=Snn5*M‹º}%ÁÓœ>}H ^î2¿§ùý÷ßIMMÅßߟýû÷+N..,,dàÀlÚ´‰Å‹3cÆ 6oÞLLL díÚµèëë+Ú‰‰‰ÁÏÏùóç³~ýzEyff&[¶l!$$DQÖ¥K†ÊîÝ»ëüñ7nÜ 88˜mÛ¶add”:u"33Sm›Ô½§6öT¤ÿädee±jÕ*†ª(;qâÌ›7‰'R«V-¦M›ÆÌ™3qwwWZæW™ZÔí«Åï¿_&55'öï™ácÍRÜɦMñ,^|†3Ú°ys<11é èÅÚµÝÑ×—(Ú‰‰IÇÏïwæÏ?Åúõ=JÙ—Ç–-½ y²9µK7†ÝÃîÝIЇõ?þ¸Ì÷ ®Ã¶m½12*ñ…¼¼B:u #33Om›Ô½§6öT¤ÿädeå±jUW†} 8q“€€?˜7/†‰[Q«V ¦MógæÌ(ÜÝ-˜6íù›MµÑ¢n_ @ð4§OŸ¦Y³fº–!¨è4˜:v¬d/ÄôéÓ߆††Ìž=›M›6ñ÷ßpðàA dyÝìÙ³ËÂd22™ KKKbbb”ÚoÖ¬™Òƒ: Ø÷tãÆ EYTTS¦LQRP²ÜnÒ¤ItïÞ]m›Ô½§6ö<&ý'ÇÓÓS)hÕª½{÷&<<œ‹/Ò´iSµí­ˆuûêEqìØu¦Oo£xø04Ôcöì¶lÚÏß—Ô9x0ss#fÏ>Qj¼x<^Õˆ‰IWj¿Y3{¥u@±ïéÆ'Ë ¢¢Jl2ÅOHAÉr»I“ZÓ½ûfµmR÷žÚØó4šôŸOO+¥@  U+Gz÷ö <<ž‹oÓ´©æ§Èk£Eݾ 4œ?ž>}úèZŠ   Ó`êÎ’½ îîîe®¹»»#‘HÈÎÎJfTöÒ¸ºº–)“¯‰,,,,£CÕ¶ò–µUôžÚØó4šôŸœ:uê¨lK^.oóehQ·¯^wîä?ÖgYæš»»% dg—ÔÉÊzÀ²egÕnßÕµìÔ¿¹ù““§u¸¹Y”©¯ª¬2î©=O£IÿÉ©SGµ=òry›/C‹º}%Ai"##ÉÏÏ/w¹àÍB§Á”••IIIe“’’ÉdX[[+Õýä“O°µUý˵¶vÉÛNIIQÚÓ#/{T†=šôŸœääd•mÉËåmjŠ6Zt•UI†Á¤¤»¸»+?ä'%ÝE&kkc¥ºŸ|⃭­êq15Õîã$o;%%GiO¼ìEPöhÒr’“UÛ#/—·©)ÚhJ³éÜ&ÆïÏÂw\?X×r8wóï¬~‡Ñ£0ú¹õ«’þ˜k1,ˆ\@ìÍX¤R)1Êu^L¦Vàe³oß>š5k†ƒƒƒ®¥ª: ¦üýýY¹r%Ó§OÇßß_<1yòdÚ´)ÙãÄŠ+(**bÊ”)èéé)µ•žžNZZšV:üüüXµj3gÎdëÖ­–ü:ŸŸ_&ë]eQöhÒrX½zu™=S[·nÅÒÒR)ŧ±±q™Ù¤ÊÔ¢küýY¹ò<Ó§Ãßß SÓ’q/*’2yr$mÚ”¤É ªÅŠç(*’2eŠzz¥¶ÒÓ–vO+~~N¬Zuž™3³uko K|!?¿¨Lֻʢ2ìѤÿä$$Üaõê eöLmÝšˆ¥e56´Q””™MªL- ò9š|”áaÃ)–+Ê¢Ó¢ù`ㄆ„ÒÕ««Õ §¨¨ˆÃ‡óñÇëZŠ Š Ó`jРAÌœ9“ÈÈH6l¨”îâÅ‹XYY)œµÿþÌŸ?Ÿ¥K—²oß>‚‚‚°··çÎ;$$$ð×_ñÙgŸÑ¢E u 8©S§²{÷nš4iBçÎ)..fïÞ½ŠÔĉä9­hFeØ£IÿɱµµeذalذÆsõêU6oÞLQQcÇŽÅÀà‰KxxxpúôiL:uÐÓÓSœ3UZtÍ A^ÌœEdäu6\©”îâÅÛXYóñÇ>ôï_ŸùóO±téYöíK!(¨6öö¦Ü¹“OBÂþúëŸ}æK‹šÿJ5p S§þÍîÝI4i²ŠÎÝ(.–²wo2÷ï—,w¬d÷«{4é?9¶¶¦ ¶‡ .Ó¸qM®^-ÉæWT$eìX_ žü¨àáaÉéÓ™ ¼›:u,ÐÓ“(Ιª -AU¦‰c¿LÔµ (,.dòÞÉK‹ù°Å‡|ìÿ1ú}Öþ³–yÍcʾ)´«ÛSCíV‘UãÇs÷î]:wî¬k)‚*‚Nƒ)SSSvïÞ­8›hÉ’%ŠkNNNlܸQ±ìÎÀÀ€Ý»wóᇲcÇV¬X¡Ô–³³3-[¶ÔJGõêÕÙºu+½zõ"..ޏ¸8øá‡ø`ëÖ]T”ºª ¦´Ñ"*—¿SþæzÎuZ¸¶`bГ¿'£üGq1ã"ûâöq þ!BžÑŠ@PµÙºu+7V¹ï[ðfòRƒ©‰'âää¤TÖ°aC.\¸ÀÁƒ9þ<ÅÅÅÔ¯_Ÿàà`Œ•÷8Ô¬Y“íÛ·sùòeŽ=JVV¶¶¶xzzÒ¶m[Ezq¦NŠ——W òkOŸXݪU+ؾ};iii¸¸¸ÂÎ;²Éž¶E›{ªkϳФÿäÌ™3‡þýûT*¥M›6*ϳ:t(Í›7çÈ‘#ܹs©Tª¤*2–ÚôUe0qbkœœ”¨6´áÂ…8x0•óçoQ\,£~}k‚ƒÝ06VþxÔ¬iÂöíïpùr6G^#+ë!¶¶&xzZѶ­‹"½¸S§úãåUv˜üZéålP’Ñ.!a8Û·'’–v—ê„„x°sç l²„§mÑæžêÚó,4é?9sæ¼Mÿþõ‰ˆ¸†T*£Mg•çY ÚˆæÍí9rä*wî •ÊçLUd,µé+jròsøñ¯Ù·{÷ð¬éÉè€ÑÜyx§Ìþ¿’þâÃ2)hõmë3ïè<.e\ÂÔÈ”Žžù¼ÝçX›>“±™¸g¢Ê=@òk‹û,¦S½NiÎÍÏ-Ñ¿Üü\…æòÉd„Ÿ gãÙÄeÆQ,+¦ŽuÞóy÷›½D"ádÚIý6ˆ¡¾CùªãWeÚØ·Q[Fñy»Ïé7R-åí™ÒTÿË$:-@e°Ò(„}qû8yõ¤¦¯,™™™ìÚµ‹™3gêZŠ  !‘És"kA¿~ý «4AºââŋԮ][iêÖ­[Gll¬V)ë ùùù˜˜˜ÂÖ­[u-§Ò‘H$Œ3†yóæéZŠV\¼x›Úµk(Í@ݺõ€€?ˆ‹Ë&6v¨V)ë ùùE˜˜Ì'$ă­[{ëZN¥ð¢¿ÿ222ËŒŸ‡‡G]BC3èÖíå¥t/(* ïš¾\ʼ¤T.‘HèæÕ]—v© ¦ºzueü~¥=5umê²eØÅ°LiªY&“ñùÎÏÙva›Êöxà›®ßÐii'î<¼Ã±Oa¤o¤ToxØpŽ&åè'G±3·SK«ª`JSýÏ¢þ·õËŒAyÔ4«Éñÿn½O·|ÊÞ¸½l¼‘æÎÍ•®]½{•K:кvkÖ \WN AåS™ßóçÏç÷ßçèÑ£T«V­Ô ªöööŠlÒZ¦Óe~U‰Ý»w3g΂‚‚pssãÆìÚµ‹;wîСC‡W:T}vïNbΜ“ÕÂÍÍ‚7î³kWwîäÓ¡C­W:¼ž¬9µ†K™—p·qgzçéx;y“—ÍŠ“+XsjM¹ïÛsyï6y—Oü?ÁÎÜŽóéç™¶qYqüõ cßûR4Oë4 g²ó²Yv|¿þ­Lým¶±íÂ6êÛÖç‹ö_àíèM5ƒjœO?ÏŒƒ3Ø»¾MûÒ̹}›öå»#ßq þÝ<9›0ã~G“ÒνÚTeéÙÜTò°ja\v)®¼ì^¾v‰z]óèÑ#Ö¯_Ï AƒD %PBSiÔ¨ùùùlܸQ©Ü××WiÏ@ð"hÔ¨&ùùElܧTîëëÀºuê-¼,öÆíE"‘°èExÖôÀÔ”)¦”Ddr¤Ê÷y;y3§ÛERŸ®-Xòî:-íÄÞ¸½/4˜Ú{Yµæé]¦“|'™c)ǔꇟ G_OŸ•V*B-\[0¯ç<‚—s0á Íœ›ñn“wù1âGÂΆ)S›În¢XZLïþ/]ÿ³ˆû"îù•4äY ]*°F ¨lݺ•œœ ¤k)‚*†¦ÓµkW®]»ÆáÇIJJB__Ÿf͚Ѯ]»JÏä§ žµOI {ºv­Ãµk#9|ø*IIwÑ××£Y3;Úµs­ôL~ºàYû”¯&©wR±7·W<Ô—¦m¶åSne¾S]-]©c]‡älÕçàU©wË×üv·Ë# Y K‹iûsÉÁœ2™ 2Å¿näÞJ–ÂuðìÀÁ„ƒ\Ï¹Ž³…³b¿•­¹-í=Ú¿tý/›êÕJövæä—=O.· ·¤ŽqÙò‚ªN~~> ,`À€ØÙUl†Yðú!‚©RXZZÒ§O]Ëx!0mÚ4]Ë<KËjôéSö!éuÀÀ@iÓüu-CPÉ”÷CSeÌBH(i[*“–¹–_¤ÞùcE~ïgí-*,.Tü»Óþˆ?À¦s›0šWOpõîUFúD_òü„B/“±gª¶Umâ³âË왺œy¹¤Žem • ºgùòåäææòé§ŸêZŠ  ¢÷ü*@ (SÛª6é÷ÒI¼Uö,¤ÈÕ³RòkO[iwÓHÎNV<ŒؘÙ(®=MTj”vš-k“q?ƒ„[ e®ý•üW™²º6u114áôØÓ$~™¨ò¿…ï,TÔÛýmª;~6©LÊÆ³%ËÆû6í«•ÞŠêÙ´p-9QUÂyYËZÚa"èŠÛ·o³|ùrFŽIÍš5u-GP3S@ И.õº{#–Q[F1£Ë š:6%;/›U1«Ê]â{#– {&ð±ßÇØ™Ûq!ãÓöO£HZ¤”…N¾”mUÌ*|œ|ðvòæÖƒ[¬‰YÃøZiö &öf‰æÒI3–_¦r‰\?ï~ÄìŠaÈú!ü·Íñqò¡zµêdÞÏ$>+žðsá¼ßì}üÝJf]õõôy·É»,:¶ˆÝ—w³/n-][âf妕ފê/bÏT·68Õp":-šY‡fñ±ÿÇè°æÔöÅíÃÊÄJãTö®ùþûï177gذaº–"¨¢ˆ`J 3ÄwÛ/nçræeÞÿý}E¹D"¡«WWö\Þƒ^Ù?1ÁõƒÙr~ ágÕÊëÚÔe„ßÅkWKWºÔᄌ}JíëKôéݸ7[Ïk~Ä÷†°ýÂv.e^bðƒ•4woÐ]—v)ÕïÓ¸'¯ždÓ¹M|þ‘Ê6xPzÝÏ»?GýÌW{¿¢ ¨ ROh«ÿec¨oÈÌà™ü'ü?¬ˆ^ÁŠè'‡ÑK$¦w™®H}/¼ DDD΂ 011ѵAE,óÁÿ·wßaQ]ëÛ€Ÿ¡ƒt¤ƒ(EÅ(6DMì#»xLÔhL1j¢_Ôh~jb,9&!XcÁD460ÇŽ- JÁFQ ¥×a¾?8L‡2 3Œå¹¯+WâÞk¯õî5Û /«ìFÓÓÒÞÉ{0Ùk2, , «¥‹N6ðÓØŸ$£Jµm‘ÝÍ¡vŽß ;èiéÁLß ã»ŒÇ¾)ûd~Ð^3| Æ{Œ‡©¾)tµtáeï…`ÿ`ôpTlª˜®–.öúïů)hÙ¢%tµtÑÁº¶ŒÙ‚~ÎýdÊ ¬{kG¢Oë>0Ñ3¶¦6M1¸í`l³}Úô‘ºÆÁÄ}Z÷AAYŒt0¬}Ãï|RUüêÐϹöúï…Ok´Ði}m}twìŽ]vaDûêHnùùùXºt)F…aÔ÷÷˜^=|i/½^ö—öÒËçuio]ªÄUýóh$e'!fn LõMüóÒÞ¥—bz÷éjŽ’ˆ^õ}?VUU!;;6662çæÍ›‡+W®àĉ055mŽPIMÔúÒÞÇãþýûøôSÕ½„H^çÎã³HÍ&66êC­VŸ_Ž6áíà ss¤?IǦ¿6á¦ð&z9õ’$RDD/¢ÐÐPüôÓO …‰É?#éÄÉ“'±k×.&RÔ &%SwîÜÁýû÷ ¬xˆ–€„„u‡A¯‘’’u‡ ViOÒ¤ÖÅÔ0Ð6ÀÒK›%†¤ì$¼ôvƒå¹ ÂÖ±[›!¢º½L±½êòóó±víZäååá£>ÂîÝ»¡©©‰èèh,_¾}ô|}}Õ&½š”LõêÕ §ù‘úU¿ïæå-ö&ªßxüï+ðµµtàR˜ë›ãÊý+x”ÿ†º†èáØs}碭e[u‡GDT§~øA2•úÊ•+Xºt)æÌ™ƒ9sæ`À€˜7ožš#¤—wó#""…´6kuo­“«l?ç~HY,ûNª¦r·rWI½ªð2ÅJô*»sçöîÝ‹ªªÿ½˜[$Bhh(.\¸[[[¬_¿Ü£äÃ'…ˆˆˆˆ^Ë–-“I–Äb1rrrðî»ïrtj&SDDDDôZ8rä®]»†ÊÊJ™sÿ÷ÿ‡Û·o«!2zY1™""""¢W^QQV¯^]çùªª*TVVbúôéxüøq3FF/3&SDDDDôÊÛ°aòòòPß+V+++! ñᇢ¢¢¢££—“)""""z¥¥¦¦b×®]µNï«¡©© °´´DïÞ½å~q:½Þ˜L)Ùúõë!ðçŸ*týâÅ‹!pãÆ åFDDDôšúꫯþ÷išššÐÒÒÂàÁƒ±mÛ6DDDàÓO?…™™™"¥— ·F'"""¢WÖÇñ×_IÓÖÖFEEÚµk‡qãÆaôèÑ055US„ô2c2¥d .ÄÂ… Õ‘JefcÿýèÙª'z¶ê©Ôº“²“pööYŒh?®-]•Zwce<ÉÀ‘Ä#èçÜžvžj¥>Uâ*Ä>ŒÅå{—Q.*‡_G?8™9©;,¢@1BC—¨žÆ'‰`jjŠ &`ìØ±pqqQs|ô²c2EDD&,"0"s}ç*=™º)¼‰Àˆ@´µlÛ,ÉÔÃü‡‰ Ao§ÞèîØ]ê\Æ“ FÂH×è…M¦Vž]‰I'[œ+9æiçÉdаyyYÐÒÒ€0~üxôë×O²>Ѝ©¸fJÉêZ3•™™‰Y³fÁÑÑ:::°±±¿¿?nݺUg]›6mB»ví §§ggg¬ZµªÞ…“DDÍÅÚÈZ%‰”:<̈Àˆ@DgF«;…œºu OKžÂÓÎîÖîê‡è…qïÞ=¿cܸo…Í›7ãÍ7ßd"EJÅ‘©f––†^½z!;;[rL(bß¾}8~ü8~ÿýwx{{K]³nÝ:ìß¿_ªŽ/¿üÉÉÉn¶Ø‰ˆjceh…¹¾sÕX1dº;v‡…VœY$a’ºC"z!XYYø ýú ajÊùH5˜L5ƒyóæ!;;ýúõÃ÷ßwww¤§§ãË/¿ÄáÇ1kÖ,\¿~]êšÐÐP|÷Ýw˜M—6ÉÔý 列ŽüÒ|xØyÀÃÖ:Z:HÈJ@TFf…ÌÂÙYga¨k(¹&(&ÅåÅðëèKCK$f%"2#_Ÿûí,Û¡g«žèáØ㺌CH\z9õBǵÞ[PL Ë á×ÑÖFÖHÌJÄ_éaù™åÜv0Œt쟗6J|Õ§e‹–L¦ˆˆ^L¦šIm/ŠS´eÔED¤l;.ï@eU%¦wŸŽ/|!ù®úüÏ1æ—1¸þà:¢îE¡·Soü|ågˆªD˜ë;Wjh®ï\ŒÚ5J¦îmQÛ_š•CVbJ×)Rç~¾ò3V[…£7ÂßË_r¼¤¢G¦‹Å?[ÅaõùÕØ½=[õDwÇî’Ýü>öù¸Ö{«UàÔÌSRSŸ\Œ¸ÄdÆ`€ë€ûgŽÏœFLÑ‹É”ŠµnÝZZZ¸xñ"òóó¥F§D"Μ9pu•Þþ÷ôéÓ2SùN:|'½®Þ¿ M&ô_ õK3}3|Ðû,=µWï_Eo§Þ¸vÿôµõñqéäÅÑÔ='bÇåRÇ/e\‚¦@¹Å¹ØtiÄb1ÄâêĤ¨¢ÿ(ðúçšQFI%R0Í{~Šü Wï_mÔ½é4F*‘€7\Þ@H\„B¹êøÄ÷“FµIDD/>&S*Ö¢E >ÇŽÃèÑ£±~ýz´oßX¾|9àéé)5Å$Û§ëêê",, óæÍŒ7N·BDT¯ü²|XYAOKvÑw+ÓV€¼Ò<É¿mŒl )Ý¢ØÑÔQæXnq.Db~Œø±ÎöŸ_§U[= Ø›Ø#>+¾þ›yŽ­±­Ì±šÑ£Ê*ù^YÁ5SDD¯&SÍ —/_ÆünݺI344ÄöíÛe®3f ,X€ HŸ2e 7Ÿ ¢’±®1å?Bie©LBuïé=€‰ž‰äßYY‰E2 UæÓLÙºõŒQ.*Ǭž³êlÿùüÖVX,ƃ¼0Ö5–9§j\3EDôêa2¥"ÏNqqvvÆ•+W°råJ„……A(ÂÜÜ ÀòåËѾ}{™ë/^ lܸ°··ÇŒ3°xñâæ¼ ""¹usè†#‰GðÃ…°dÀÉñ§%O±-j›¤ tu芣‰G±ù¯ÍRÓß2Ÿfâ`ìA™º}œ|p öœÌœà×ÑOæü­ì[2›@½y3zÌšê·ëÊ.<.~,µÆIWSW§*qÍÑ«‡É”’åçç}·££#vìØQÛ%RÖ®]‹µk×<==1w._ŠID/‡÷z¼‡I'°3z'®Ü¿‚®ö]QXVˆó)ç‘[œ O;OôjÕ @õÚ¥I'ðcĸ”qIj7?=mÙi‚ú|ˆ°ä0,8¶»bvÁÃÖFzFÈ)ÌÁí¿o#þQ<‚&ÁÞÄ^r¾¶>üvùah»¡°4´ÄMáM\J¿@€÷z¼')çhê ÅBeU%ÌôÍÔþž©¦PÕš©Óɧ‘œ“ ˆ{8’x7ÞŒh?BfÔŽˆˆ”ƒÉ”=xðÇŽP½ñÑ뤃uø`ÉÉ%ˆ}‹Ø‡±’s5µïbÛ«†­ÂòÓË“ƒ˜Ì€‡Fu…¯Ï}-U·ƒ‰‚'cÁ±HÈJ@BV‚Ôyw+w©D ftŸ‹iq$ñˆäXÍ{¦ž}7–©¾)Ætƒ¸_ –Wv2¥*gnŸ‘ºGRnkÙ–É‘Š0™R’>ø?ýô oß¾°¶¶VsDDDªcmd-óÂ^Ön|œ|p!íî?½-t¶éŒîŽÝeêße<|[ûâÔ?PPV×–®xÃå Üι¹¾sáj!t°î€“ïĵו€’ŠØÙ e;¸[»ËÔ¯«¥‹àÉÁ¸˜vÉÙÉ0Ð1À.oÈìÊk†¯Á¨£pSxÅÅ’ãNfN˜ë;^ö^2×ÔœëbÛEî~S…!m‡ÀÉÌ©ÎóÏ÷#)“)%277G¿~ý°eËu‡BD¤RV†VuŽÜëc¤ûH¹ê±5¶•z7P=Êän%›ÕëQ»9t“¬½jˆ†@ýû£¿sÿzË ø´öOk©ã5 Smê;ל†¶Š¡íd_ôNDDªÇdJI¶nÝŠ­[·ª; """""j&ꀈˆˆˆˆèeÄdŠˆˆ^)õ­s"""R&Nó#"¢WÊ‹²–‰ˆˆ^}™""""""R“)""""""0™""""""R@“ÖLEEEáþýû’7Ú©×ÄÿýCÔ<¢¢d_þJDDD¯&%SnnnÐ××Ç[o½¥¬xˆ€éÓ§ÃË‹»wQó ‚™™™ºÃ """5jR2eaa üðÃÊŠ‡H!ðòòˆ#Ô ½&Nž< CCCu‡ADDDjÄ5SDDDDDD `2EDDv÷ñ]øïõGh|¨Òë¾p÷ü÷ú#:3Zéu7VìÃXøïõGXrØ ]§2½èñ©›*Ÿý—ÁíœÛعÓLƒÿ^Ä>ŒUwHDjÅdŠˆˆ­¨¼Ñ™Ñx÷@éuçå :3¹Å¹J¯»6É9Éðßëÿ&üWæ\^i¢3£ñ(ÿ‘ÒÚSE5ê»y©2¾WASŸ}e|Fêâ·Ë#vŽÀúðõˆH‹@tf4òJóÔ‘Z1™""¢Fs¶pÆ^ÿ½ÓyŒºCi²‚²‚êŽó•Ÿ6·Wé^^U/óg”]” ·–nø ÷xÃå u‡CôBhÒDDôzj¡Ó=[õTwDÔŒŽL;+C+ÀŠ3+Ô Ñ ‚É” 8p[¶lA@@<==Õ‘ÒÝ}|Ë–al—±Ûy¬Ô¹èÌh¿y™O3¡£©ƒÎ¶1ÉsZ¶h)SOXrÂn…!¿,n-Ýð®÷»õ¶›–›†ÐøPÜιʪJ´1oƒqÇÁÝÚ]R&öa,Öý±ïx¿ƒ®ö]±ûên$ “` c€Anƒ0ªÃ(Éûÿ›ð_ìŒÞ 8{¥ý%©ç×)¿Jµý´ä)v_ݸGqÐÕÒÅ›.oblç±Mz×bvav½ñÕ(®(Ʊ›ÇpãÁ <*xCCxÙ{a\—q0Ñ3iÔ½d<ÉÀo ¿áVö-T‰«àláŒñ]ÆÃÅÂE&>eß³¼mËó =û9w³ï†_®þ‚[Ù·`¢g‚É^“áíà H&bßõ}x÷¦x¯Ç{hmÖºÖzz^ÒÐó)ïg$Ïs®5‰ýƒÉ”‚‚ƒƒ±sçNlذ;w–:—™™‰ððp<}úTMÑ©Vͺ‘^N½¤Ž¯>¿A1ARÇΧœÇ®˜]Ø>~;ºÚw•_tb‘Ô"þ w/ 4>“<'ÕÚæ¯×ÅÊ3+!‹¤®Ùsm¾ö ÆuàŸ5?m;㫳_!»0[RþÔ­S8wçý!ð ÿ’²“÷óîã~ÞýZÛ~\ü£-uþtòi$d%`ÅõuU² ²0úçÑõÆT'4ý·ôGQy‘ÔõaÉaؽ§„ƒ‰ƒ\÷²çÚ|}ök©>ü=åwìŠÙ…ƒSÂÃÖCe÷,oÛò>C5Ÿ³‡¾>û5„…BIùãIDZ}Üv•aþ‘ùRmžL:‰°™a°4´”ªGžç¥>ò<Ÿò|Fò>çõ™ºo*DU¢Ë€©¾)6Ù,WY"’ÅdJAG^žìÂˉ'ÂÛÛ›£RDôZ9sû ‚b‚ ¥¡…w½ßEV=PPZ€øDeDaÎosðÇ@WK'oDh|(ôµõ1£û xØy ·8»¯îÆŽË;dê¾öàVœYø{ùÃÃÖ:š:HÈJÀ®+»ðåé/ÑË©L$×ürå´1oƒù}çò…%…‰Ø~y;NÝ:…çŒï2£;ކ‘®¾:ûÆ{Tÿ¹6;.ï€[K7¬¾ÖFÖHÌJÄæK›±÷ú^¼ßë}ØÛ5º¿ä‰*DÐÖÔÆ{=ÞCë°0°@~Y>.g\ƾûˆoßú¶Á{¹|ï2Vž] é>o¸¼=¤>NÅ¡¸C(,+TÙ=ËÛvcž¡»bv¡£MG,è¿fúf¸vÁWƒñÕÙ¯ð¸ø1Fv‰Anƒ !ÐÀî«»qùÞeìŒÙ‰Åo.Vèó¨¼ÏgCŸ‘"Ïym¢3£åN¦j1&"ù1™RGGG8::ª; "¢fµÿÆ~ÀÚk1ºÓ??$úuôÃ;ûßAdF$ΧœÇˆö#p(ö À/]JÊŽê8 oí| i¹iRuE¡J\…  AR£[oº¾ O{OL?0Çnǽ?”œ³4´ÄáwC_[_RÖÛÁÿÞ÷o¸q㻌‡½‰=:Xw8˜8Ô¹¬µyk„¼"ù!¾¿sTTU`CÄÜxxC¡dJžøÀÌÀ §Þ;…3wÎ ün8=F…¨ £©ƒóô IDAT+™W Á{Ù³ b±Ë-Ã4ïiR}8½ût”‰ÊTvÏò¶Ý˜g¨†‹… öOÙmMmIÉÙɈΌƿ»þ[j­·SoôÞØ7܉QÞÏ£6y>ëûŒyÎk<9b±¸Þ25júˆÓlÉÔï¿ÿޤ¥¥A[[ÞÞÞ˜={6¬­­999˜:u*  }}}ɵ™™™˜1c¬­­ñóÏ?CKKK®:ŸŽÐÐP¤¦¦ÂÀÀ]»vÅìÙ³annøæ›opöìY9r&&&R×Öœ;~ü8 ±`Á>|ðÉ'ŸHÊ{zz"  Î5S"‘û÷ïGXX„B!ÌÍÍ1`À¼óÎ;ÐÓÓ“”Û¶m~ýõWìØ±Ø´iRRR`mmiÓ¦áÍ7ß”»ßKJJ°eË„‡‡C,£oß¾øøãˆ°°0©û}¶Ý’’lÛ¶ ·o߯èÑ£ñá‡Êcúòùv °uëVdddÀÎÎ3fÌ€¯¯¯Ü÷KDês+ûôµõá×ÑOê¸@ À$ÏIˆÌˆD’0 #Ú@rN2LõM¥) :9Õa~ŒøQêxì£Xh 4p1 ‹!Fõ‹•¢J@êãT©kF´!ùÁ¸FÍoõ“s’uoÃÚ “ €N6OŠŸ4ª®ÆÆ—S˜ƒÉ{'×9± ¬@®öâÅCWKS»N•9§©¡  ©cʼgyÛnÌ3TcH»!2 »µ;¢3£ñ–û[RÇõŒagl‡¬‚,™8šò¼(ò|ª²žŽ=,CDÊ¡òdªªª Ó§OÇîÝ»¥Ž;v 8sæ ºví KKKŒ;ï¿ÿ>ŒT=_º¼¼ãÇǵk×ðçŸBKKKî:êfÚ´iسgTÙ¬]»¹¹¹ÐÔÔDRRÂÃÃQQQ!s5ç*+«¿Èbcc‘žž¸qCö·[µ­™***°aÃ!UöÀظq#Î;+«ê…wïÞExx8Ž?Ž¥K—¢¸¸XR>88Àøñuÿ†¬F^^ú÷ïØØ^¨wìØ1:t...2÷[ÓnHHV¬X²²êßvìØ±Qñ7¦/Ÿm÷СCX±bÊËË%çvíÚ… 6`Μ9 Þ/©WYeŒuk][R³IBYeõ÷Jie)LõLk­ÇT_öxqy1Db.¥_ª³ýÒŠR©?ë×YÿÃü‡uÖS›šøŸ¥­Qý|•¸ªQuÕ7¾À¿q?ï>z;õÆ¨Ž£`mh M,>¹XîdªLT=hjhÊU^™÷,oÛy†jëÊö£–†–Ô5ÏŸ+./–9Þ”çE‘çS•õpÍQóQy2õí·ßb÷îÝpvvƇ~www”••áÌ™3ؾ};üýýqóæMhhh`Ö¬YˆŒŒÄ®]»àãベ3gâÓO?ÅåË—ŸF×¹jÕ*ìÙ³øè£Ð£Ghjjâêիغu«ÜÃàÏúî»ïˆ   J6 05­ýøâ‹/KKK,Z´îîîHOOÇúõë>ø@2ÚUcÑ¢E9r$ÆCCC=z;vìÀ’%KäJ¦–,Y‚ØØX8::âóÏ?‡³³3’““±nݺZ“Àÿ÷ÿ‡áÇc„ °··‡£££Bñ7ÖòåË1lØ0Lž<zzz ÃöíÛñé§ŸbðàÁh×®]“ê'"Õ²2´BÊã …°6”ž!Ÿ°6²–”M{œ†§%Oe’§š²Ï²5¶E¹¨?ý©ÎÈÍ Ì¥þœ˜•(S¦¨¼wߕڕL€êÜùÿASÈ_ìÃX˜ê›â—I¿@CðÏë!‹+Š‘S˜=ífÔw/¶Æ¶H&!ói&M›w*º¼m7æR6y?Ú4æùlè3jìs^®™"j>*M¦Äb1¾ÿþ{ØØØàÊ•+033“œ3f ÌḬ̀víZDEEI¥M›6áúõëøä“O––†Í›7c„ ˜7o^£ëìÕ«¡­­?ÿüÝ»w—*»hÑ"É”ÁÆððð@›6m^^^ NC«¬¬DPPôôô¶mÛJÎMœ8íÛ·Çÿû_…B©)ŠS§NÅŽÿ,Ä~ûí·qç΄‡‡#;;[2TW›»w‘"##aoo1bFŽ)³á³üüüpèС&ÇßX#GŽ”JÈþõ¯ÁÖÖ+W®ÄÏ?ÿŒ5kÖ(\7©^ß6}qçï;øüøçð €™~õ÷sLf ~ŠúIR¦æß)§`ñÉÅX?r= u«§ýžºu GÈÔ=¤íF",9 ú/q((+Ào ¿I¶Â®qöÎY„ƇJ¶n/©(ÁÒSKQ\QŒ·:ü3ýË@»zŠÙ½§÷”Õr‘7>=Ü}|ÉÙÉ’­±Ÿ”<Á’“KPZY*•LÕw/ƒÜ!I˜„¹Gæâ»‘ßÁÙÂ@õ(Óñ›ÇÑÖ²-Ú[µWɽÊÛvcž!e“÷ó¨McžÏú>#EžóÚpÍQóQi2•––†œœXZZJFRÄb±ä/xNNàÖ­[’dJ__!!!ðööÆêիѾ}{ìܹS¡:­¬¬››‹ÁƒK%R5ŒkÒW¶»w°Ç—JDÀÂÂãÆÃÖ­[‡ÁƒKÎùûûËÔÕµkW„‡‡ãñãÇõ&SwïÞEQQÆŽ+I¤j¸¹¹¡OŸ>øý÷ßk½öwÞQJü5cÆŒZ­\¹qqq ×KDÍcVÏY8zó(þJÿ }7õ…³…3 Ë ‘™— ±XŒñãÑÖ²ú;dfÏ™8çÏF8[8#·8ó¢ƒuÜÞ”ª{fÏ™8{ç,~½þ+ÆDkóÖ0Ò5BNa<‚¨J„  ÒÛi»[¹cщEø>ü{XY!-7 …e…0Ð6ZÀ߯¢ ôµõq8þ0²$ÓŸÏ”²Éß@׈ɌßÏ~hgY=BŸ–›}m}Ø›ØKm™^ß½¼×ý=œH:øGñ¶cL`¢o"i÷—I¿¨ì^åm»1ϲÉûyÔ¦1Ïg}Ÿ‘"ÏymTµfjó¥ÍˆH«žîŸþ$°îuع0¿ß|®×¢×ŽJ“©ÂÂê­Nsrrpþüù:Ë=»&´µµ¡©Y=¼ÝªU+´hÑB¡:KJJ-[6m[$’o¨¼.¥¥Õó›k6»x^ÍñšrÏ–ŽŽŽ\1ÕÜ{]SŸÑ{žƒƒô–«ŠÆ_›úâ®-Öšºk^\–†–Ø7e–žZŠèÌhIB¤¯­w½ßŧý>•”µ6´ÆîÉ»±ðØBÜùû² ¥¡…éݧ£m˶Xrj‰TÝÚØç¿ÿ ÿÇFÊß)’s¦ú¦Ýq4:Út”ºæ_þ…®°-j›äD­ÍZã?#ÿƒV¦­$åô´ôðÅ€/°êü*Üι­ô~©‹¼ñMï1i¹i8wPòŽ"g g|7ò;|yúK©dª¾{1Ô5Äþ)û±êü*œ¸y¢zdäiõ~ýàn¥ºÂÊÛvcž!e“÷ó¨McžÏú>#Ežóæ”ú8Ñ™ÑRǞݜ#·8·¹C"R;•&SöööèÞ½;Ö­[Wg9777É———cܸqÈÏÏǘ1cpøða¬Zµ _~ùe£ëÔ×ׇ@ @tt4*** ­]÷PvÍò9992ÉWBB‚LùšÅ±ò £ÛÚÚ®^½Šªª*hhhH‰‰ØÙ5~kݺÔÔuýúu™sUUUR›R<ïù…¿¿±}YãÚµk2S&¯\ùß–¿Ï®‘z9[8c¯ÿ^Ø›HÿÝlcÞ¿Nù9…9¸Ÿw:Z:pµp•Ù:ZwÄ©™§ú8…å…p2u‚©¾)r s°×/ÜZºI•7Ô5ÄÊ!+±là2¤>NEIE lŒl`md-µ–èYóûÎÇŒî3–›¸Z¸Öº¹Ád¯Éðëä‡Ô¿SQRY"ùnïbÛ{ý÷ÂÉÌIæššs­Í[ËÛm2uÚÙ4Ÿ¦@ß ÿÿïÿ‡Œ'0Ö3Fóê©æ«†­’Ù¡®{ª×Û|ÿö÷X5lRÿN…¦†&Z›·–L=SÕ=ËÛ6 ÿ3T_œSºNÁ×µ®ÏZ÷Öº:×Éó¼Ôõì7æù¬ï3Rä9o.ù|„ ê<ÿüßY¢×J“) ôï߸}û6¦M›&Yª§ìmÛ¶ }úô‘›?>bbb°aÃ|øá‡8p V¬XÞ½{cРAªS[[}ûöÅ… 0sæLüðÃ’‘ŽÂÂBüøãX²d 444àââÀ–-[ ¡¡ÊÊJ|õÕWµ&5Ûz§¦¦¢oßúço[ZZ¢k×®¸ví/^Œo¾ùÚÚÚ‹ÅذaΞ= xxxÔ[OcXZZÂÃÃ×®]Ú5k°hÑ"É=}ùå—HIIi¸ãol_ÖXµj|||àí]=<##sçÎ 2DÑ® "h¡Ó¢Îw2Õ# –†–rÕåbáÒ¨kµ5µµ¶ÇXÏv ¿h ³­ôzRS}Ó:ï³¾sõyþ:yã3Õ7•Ù¬£f«òçÕv/òžWÅ=7&¶ =õÅÒÊ´U£I]l»ÔÛnCŸGCϾ¼ÏgCýÐØç¼9¸X¸Èü}%zÝ©|7¿ 6À×׳gÏÆÂ… áìì ===¤§§C(¬F_¾|9´µµ±wï^lÙ²'N”l…½ÿ~tíÚþþþ¸víUg@@|}}±{÷n(--Ebb"âââ §§‡eË–I’ ìܹ&&&xøð!¢££¡¥¥…Ç£S'ÙßüõíÛÓ¦MCEEbbb^ïvãıcÇàêêŠÜÜ\ÄÄÄ@(ÂÎÎÁÁÁ˜:UöE†MõöÛoã—_~¹¹9²³³ƒªª*ìÙ³G2m®f„­!‰¿±}YãÇ„ŸŸ’““‡òòr 8§N’}$"zÑW#:3ºÁšsM–ª½Ž÷LDô<¸ /Ö¨ÙMïÙm´ë“——‡””TUU¡uëÖ°´ügøþöíÛxøð!Ú¶m[ëÚ¡ØØX>ZZZèØ±#ttt””¡P___™Ñ£ììl¤¦¦¢¬¬ ¦¦¦ðôôDff&RSSáééYë¦ ))) …077Gûöíeæcß½{÷î݃···L²Ss®{÷îRsÔ§¼¼\2½®C‡¨ªª‚³³3ôõõ‘––&W»‰¿†¼}¹xñb¬[·ׯ_‡§§'ÏÚÚºÁ÷ éééÉl£îîîw÷Úw9²²²’Ù¢ÜÑÑŽŽu¿”ÐÕÕ®®®užwvv†³³s£ÏÕæ‡~ÀÌ™3ѵkW@~~>>þøc…BÌž=[¡ºŠ¿Fcû²†½½=7œ "…)c]Och4{›êöªÜ³:ž"zu4k2EÍïË/¿ÄâÅ‹%#qwîÜAqq1 ±hÑ"u‡GDDDDôÒRr .„¾¾>nÞ¼‰ØØX£K—.8wîÚ´i£îðˆˆˆˆˆ^Z™zÅ­X±Ë–-Czz:rrr`gg''Ùwr¨Óûï¿aÆÉ5uˆˆˆˆèEÁdê5 ¥¥%÷:'uhì:0""""¢§ù)€É‘˜L)€ÉÑ+&4>®k]–¦îPäÿ(®k]Xï1"¢ “)""""""4y7¿¨¨(Œ?^±5IPPNž<©î0è5qãÆ øúúª; """R£&%S½{÷VVDMâàà333ª;zMøúúò;ˆˆè5פdê³Ï>SVDDô¹p÷fœ¥—ÂÝÊß]ø·²oÁDÏÿîúo|ÐûÀî«»|5òÀÁÔŸöýÃÛ—ªK,#$.ã"9;"±mÌÛ`’ç$Lñš@ ô6››X,Æá„É Á­ì[U‰àÒÒ“<'a\—qÐhâ`ìA|qê lü×F k7Lêúšs[ÆlÁඃ%ÇóKóñý…ïqúöiä—æÃ­¥æúέ3Ž˜Ìì»±7ÜÀ£‚G0Ô1„—½f÷šnÝ$å”Ù×ò¶Ù¥•¥Øµ '’N ói&t´tÐÙ¦3Þïõ>ú¶éÛè¾'"R_ÚKDD »ñðÖþ¾"±PRQ‚õáë¡«¥‹œ¢l‹Ú&){÷ñ]Ì;2­Í[ÃÝÊ@õº /Ä‘Ä#RõÞʾ…gV I˜„o†£Ô6ëÓîÛvU‰äº÷–-Z"ꓨˉÅbÌ?:'’NHøGñp0q@ŸÖ}äjóYe•e˜òë$e'IŽ%d%`vèlŒh?B¦|Na&ï,uìIÉüžò;ÂSñǺ;v—:ßÔ¾V¤Í†Tˆ*ðîþwqõþUɱrQ9"3"u/ +‡¬„¿—?Õõ=Q &SDD¤°I'0½ûtLóžss„ß Çü#óˆ*qÖŒXƒ®¡!ÐÀ–È-ؽAÑAøÏÈÿŽ$Á‘Ä#hgÙŸ¿ù9ÉŸ'7®äp8þ0àG¿¥FA:ÛvFgÛÎ ×v+ ›þµ n-Ý&X9t%Òž¤áRú%©ò-[´ÄÂþ ñSÔOX¶ ‹KFœ 9GöÞ›Ú׊´Ù“IÕ Ž„§'ÀP×s}ç"»0ûoìÇù”ó˜ä9Ie}ODTƒÉ)¬‡c™cvÆv€îÒ#šš°6²ÆßEKŽÝɹQ•}7W¯s‹ÅC,ùox˜ÿP©m6·ÔÇ©0Ñ3Qút²Œ§°6´–$RÏêצŸL2uíÁ5Lùu *DµÖWZY*s¬©}­H› Éx’S}SI"õ¬®°ÿÆ~d<É º¾'"ªÁdŠˆˆ¦«¥+s¬fÈZÏA€ªª*ÉŸ«ÄÕÿ]ß:¥çoj›õQÅš)y P}5}ò,E’ŽçmÜŠ QæúÎÅèN£amh M Ù>¹Å¹2×4µ¯iS5}ED¤nL¦ˆˆHm\,\(LÄ¥9—`¤k¤îpTÂÅÂ1™1¸”~ >­}ê,gÑÂù4Sæ\dF¤Ì1'S'ÄeÅáÎßwdF§.¤])Ÿù4-[´”ÙíïÞÓ{HÏM‡±ž±\÷ÓªhÓÉÌ 7Þ@ìÃXxØyHû3õOI@þ¾'"R”†º "¢××xñ(©(Á;ûßÁï)¿#·8¢ <È{€?RþÀÇ¿},3]M•’?OFÊâ¹þ‘wTjLç1€ùGçã@ìdd¡¤¢ Y Xzj)¢3£@’ý|åg\¾w¥•¥¸Ÿw«Ï¯ÆÙÛgeêÖ~Äb1>þícDfD¢¸¢÷óîcùéåµö™±?FðÕ`”  ¬¦þ‰÷¾Wëh˜2¨¢ÍîÕ;Î;2¦þ‰Â²Bddaã_±ÿÆ~èhê` ë@ò÷=‘¢82EDDj3¦ÓDß‹Fh|(Þy¿Ö2=&6sTÊ5¶óX„§†#,9 KO-•9_“8š:bh»¡8|S~"9¯)ÐÄèN£ñß„ÿJ]÷N·wp4ñ(’²“0ußTÉq@€·Üß’Ù|²×d„ß Çʳ+±òìJÉñÖÐÖ²-² ³•r¿ªnsjש»†k®aæ¡™2ç— ZKCKò÷=‘¢82EDDj#°î­uˆ>­ûÀDÏÚšÚp4uÄඃ±eÌôióro !ÐÀ†ÑðÍðoàiç }m}êÂÃÎkF¬A/§^’²k†¯Áxñ0Õ7…®–.¼ì½ì\ëFºZºØë¿S¼¦ e‹–ÐÕÒEëØ2f ú9÷“)?Èm¾û{´·j=-=XZa²×dO†Ž¦ŽJî]mjkjc÷äݘë;ÎÎÐÖÔF èåÔ A‚$ï˜×÷DDŠˆk¶K""¢†P(Daa¡\e]]](Ĉò•'"z]ðû‘bmm CCCE/?Ä‘)""""""0™""""""R“)""""""0™""""""R“)""""""0™""""""R“)""""""0™""""""R“)""""""0™""""""R“)""""""0™"""R‘ìÂlFâò½Ëê…ˆˆT€É‘Š „2ÉÔÃü‡ŒDLfŒ##""e`2EDD¤"ÖFÖ˜ë;=[õ”«I¦¢3£Õ)ƒ–º ""zUYZa®ï\u‡ADD*ÂdŠˆˆ-ãIŽ$A?ç~ð°õÀå{—‘(LD Þ~8~¹ò <í<ÑϹŸäš´Ü4»y fúf˜ÚmªäxeU%6_Ú ·–nÞ~x³ÞG^i^“b­¯&yNBva6öߨž­z¢g«žˆÉŒAh|( 2#¢*‘¤îg“.‘X„ÈôH$ç$£²ªmÌÛ ¿sèjé6C¯‘¼˜LQ£e<É@`D t4up1i€ŽÖ1Ácv_Ý‹i¥”#‰G°ñ¯ÐÔЄ_G?ë®?¸ŽÀˆ@|þÆç ¶»!bÄË£¶föœYo#]£&ÅZ_?Lòœ$Y3U3Õ/:3!q!€¨Œ(DeDIÚ¬I¦bÆbÞ‘y¸Ÿw_*V[c[l³l:ÉuÿDD¤zL¦ˆˆHaA1A(./ÆÛÞF+ÓV°1²†@>N>8}û4 Ê `¤k¸x÷"M‘ù4—2.aX»aÕÇÓ.|Ûø6ØÞÆK¥FsêÓ²EË“)eÅZ[?Ô¦‡cŒë2!q!èåÔ ={H÷ÓNG~i><ì<àaë-$d% *# ³Bfá쬳0Ô5”«ˆˆHµ˜L‘ÂJ*JptúQ8[8K÷mã‹“·NâRú% m7ù¥ùH&àó7>GPt"Ò"$ JDZÌ ÌánåÞ`{s|æ4jdJʈµ®~x^wÇî‰ Ao§ÞøØçc©óÛ¢¶!¿4+‡¬Ä”®S¤Îý|åg¬:· Go…¿—¿\÷FDDªÅdŠˆˆæ×ѯÖ¢fä&"=CÛ Å¥ŒKU‰àÛÆ·snK¦Ã啿!!+o¹¿@Ð`{Ÿø~¢ÜPR¬uõCc]ʸM&r‹s±éÒ&ˆÅbˆÅÕÉcQE þQ<àÕ䦈ˆH ˜L‘ÂZ›µ®õ¸±œ-œqñnõ´¸ˆ´XZ¡e;ø¶ñEh|(2ždà¦ð&ªÄUèÓº\í){Í”²b­«+·8"±?FüXg™‚²¥´EDDMÇdŠˆˆ¦©¡Yç¹>­û øj0ÒŸ¤#"-B2äÛÆéHÌJ”“‡²×L)+Öúú¡1ŒõŒQ.*Ǭž³ê,ãÚÒU)mQÓ1™"""•èÛ¦/‚¯cÏÕ=¸ŸwŸµþ `¦ow+w\¼{IÙIp±p©sÆç©bÍ”ªb­‹®fõöæOKžÊœóqòÁØp2s‚_G?™ó·²oI6É ""õc2EDD*ѳUOhihaïõ½R#:}ÛôEPL*Dx×û]¹ëTÅš)@\~3PPIDAT5±ÖÅÑÔ Š;„ʪJ˜é›¨ÞýCŸ–†Ç`WÌ.xØzÀHÏ9…9¸ý÷mÄ?ŠGЄ Ø›Ø79""j: u@DDM#Ǿ jÑB§¼ì½P!ª€»•;Ì Ì%ç|Ûø¢BTr¯—R¥æŒÕTßc:AaY!‚¯#0"O†[K7$d%`ïõ½Ø¹¡ñ¡ˆw+w&RDrúßÞ-/ìw$½82EDô’30¨Bqqóþ´àd愹¾sáe_ÿ¶rû|Œk®É¼hÖÛÁ[ò’Ú^N½Tgc(kCý`md-yaï³Ö _ƒQFá¦ð&Š+Š¥Îu°î€“ïĵו€’ŠØÙ e;¸[7¼}<U+*ª304¬Rs$ô*ˆkö\%"¢†P(Daa¡\en…Q£ ðÉ'OTÑË#5UC‡:âØ±L¸»—«;zAY[[ÃÐPá¡â4?"¢—\»våHLÔUwDD/”„hi‰áâR¡îPèÆdŠˆè%׫W "#õQQÁ…DD5.\0@×®¥ÐÑá$,R&SDD/¹AƒŠPZª³g[¨;"¢BQ‘Îk¡C‹Ô ½â˜L½äll*ñÆEعÓ\KDüú«1ªª=º@Ý¡Ð+ŽÉÑ+`áÂ\$$èà·ßøBW"z½ýý·&6o6ìYOabÂüHµ˜L½ÜÜÊ1iR>Ö¯·@a!¿Ú‰èõµ~½ŒŒª0kw8%Õãÿq‰ˆ^Ÿ~úUUÀgŸY¡Š¿Œ%¢×ÐáÃF 5ÂÒ¥C_ŸóžIõ˜L½"LMEؾý"# °n…ºÃ!"jVW®èaÙ2K|ðÁný4WÝáÐkDKÝ‘r½ýv!Š‹5°|yK¤¥icíÚlèê2«"¢WÓáÃFXºÔcýz!48T@͈Ñ+hâÄ|=Â… 7ÎW®è©;$""¥úûoM,^l…E‹¬ðÞ{O±aCôôø‹#j^L¦ˆˆ^Q>>%8|ø>,,D˜<ÙŸ}fôtmu‡EDÔ$EEؾ݃µÂ¥KúØ´) æB Pwdô:ˆÅœQODô¢ …(,,TZ}çÏ·ÀêÕ¸wO=z”`Рbxy•ÂÉ©&&"N‹!¢Va¡²²´˜¨ƒ  pî\ TU 0kÖSÌšõ„»öQ“X[[ÃÐÐPÑË1™""z);™‘o£G qñ¢òò˜AÑËCSS oïR R„Ñ£ øB^RЦ&SÜ€‚ˆè5¡© P„Š hãÞ=-äçk@,æü"z1µhQ…–-Epu-‡ŽÇèÅÂdŠˆè5$pp¨Pw(DDD/-Îñ """""R“)""""""0™""""""R“)""""""0™""""""R“)""""""0™""""""R“)""""""0™""""""R€@,‹ÕÑKæG¦ˆˆˆˆˆˆÀdŠˆˆˆˆˆHL¦ˆˆˆˆˆˆÀdŠˆˆˆˆˆHL¦ˆˆˆˆˆˆÀdŠˆˆˆˆˆHL¦ˆˆˆˆˆˆÀdŠˆˆˆˆˆHL¦ˆˆˆˆˆˆÀdŠˆˆˆˆˆHL¦ˆˆˆˆˆˆÀdŠˆˆˆˆˆHL¦ˆˆˆˆˆˆÀdŠˆˆˆˆˆHÿ<Å»§PR~¥IEND®B`‚fio-3.39/examples/gpudirect-rdmaio-server.fio000066400000000000000000000002101476262051600213070ustar00rootroot00000000000000# Example rdma server job [global] ioengine=rdma port=[port] mem=cudamalloc gpu_dev_id=0 bs=1m size=100g [receiver] rw=read iodepth=16 fio-3.39/examples/gpudirect-rdmaio-server.png000066400000000000000000001116551476262051600213360ustar00rootroot00000000000000‰PNG  IHDRø5ÞCbKGDÿÿÿ ½§“ IDATxœìÝwX×ð³ô²tYzÄ‚"ŠŠš Py–l±DTÔ KÄX{IlXQP± "‚ ‚(V¤ƒ´¥÷Îîûcd²R–]Ïï{ßû†»wî=w.q3wf(L&B!„x§@!„ê.˜è „Bˆga¢ƒB!ž…‰B!„x&:!„âY˜è „Bˆga¢ƒB!ž…‰B!„x&:!„âYœ!®ºeËbûÉ“'pëÖ­}ûö€””ÔÍ›79[×j>ÒîÆ«G²›„‡‡Ÿ?>55µ¦¦–,YrëÖ­ÌÌLX¸páܹs9 B€‰Bß+///44”µ$++‹(‘““ë±0 ˆí#GŽvyÍGÚÝ8r$¹ÔíÛ·§L™ÂúV{{ûÈÈȤ¤$;v,çBCˆ“0ÑAˆGÔÖÖ’YHii)gƒA=oÇŽD–3räÈÍ›7 éèè;vŒÓq!Äa˜è Ôõ¦L™Ò¯_?ät,Ü $û>þLl¸¸¸Œ7ŽØ¾páBUUhiiq,2„8 ÄÅ ÆÅ‹ËÊÊLMMW¬X×ör™3gÎÐét]]]WWWccc¢ò?ÿüsþüyÐÒÒ:}ú4Qxçοÿþ¨TêíÛ·ÉN/\¸pûöm²ÓæEGG7YYÒ$ŒøúúfeeyzzZXX@rrò¥K—Þ¼yS\\,%%5xðàyóæ)((4i9##ãòåË1114mÈ!óçϧR©«V­zùò%YméÒ¥’’’`kk»iÓ¦Ö`ÛQ±3Ò€€€-ܸqãâÅ‹555cÇŽ]¼x±  `zzúÁƒ?|ø ¤¤4yòäŸ~ú‰ØñåË—ëÖ­#Û¦ÑhC‡urrb½JÕüHâãã/_¾üöíÛ’’ ‰þýûÏœ9ÓÈȨµ‘6™??¿ÏŸ?WTT(++÷íÛwüøñæææ¬uÚŽÖ¼¼|NN˜˜˜x{{“õ=z´cǸqã??ÿ÷ôBþÚöíÛwëÖ­ââbòÇ‹/6u“5:ßsâ2L„¸S]]ÝäÉ“Y™•””¼¼¼šün=z”øQNNnïÞ½¬õ._¾LT#³þýû“]œVâââ~~~¬Cöòòj~b£OŸ>L&ÓÊʪÅÿÀgÏžÝÆ1l#*6GzðàA²…?ÿü“µþ¤I“"##eddX ·lÙBìxïÞ½–““‹ˆˆh1B²pãÆ||Mï¥P(«V­b0mÿÚ>|¸Å~çÌ™CÖag:Z;t7n$6²³³ÉúS§N%Ê]]]¿¿â׆äêêÚâ XmÛ¶­K B\Ä­vîÜIþ½jÕª›7o.[¶LHHˆ,$ª‘_ÊÊÊ'Ožôóó6lQ(&&–žžÎdIt @vÑ<Ñ!;¥P(nnn·nÝZ¹r¥°°pk6Otøùù%$$¶mÛvÿþý¼¼¼#GŽ mÙ²åÎ;üññ=$((øêÕ+¢…ãÇ“½XYY={öÆ[·nÕÔÔd2™¯_¿¾~ý:YáðáÃ!!!!!!?~lã¶›#%~~~==½K—.8p€B¡…âââS§N½yóæ¬Y³È11™Ì‚‚‚FAAA¾¾¾ÖÖÖD}}}òë¶ù‘ôññaýb¾uëÖ† ȯí¿þú«í_FÔüóÏ?>>r ¤§§9ÿ²œØxöì|ùò…¬6oÞ<ò” P©Ôv;}úô)ñ`ùå×ZT©€€Àˆ#ˆmyyybcøðáÄ96ò< äçç1117oÞüôéSqqq]]ƒÁ 뤦¦¶¸^$==ÌçÆO–7ޏ&UTTôùógCCÃÖ†lkk{ãÆºº:eee==½þýûÛØØ—AÙœVM8;;»¹¹•””|øð!::ÚÜÜüìÙ³ÄG‹/îª^:‡ýøý}!ÔK`¢ƒ¸q# ABB¢Åí&DEEš×dm ˜,!aý¦lR“5½h£ÓædddX¯¯UVV’Ûoß¾m^¿°°***Èiiiö»ë\T©””yùƒÜèÓ§±ÑÐÐ@Ö$ŽðŸþI.o®É¤XWkóÎZ§¹S§NIHHøûûWTTdeeÏé9|ø°••Õ£GØœVMˆ‰‰¹¸¸çºÎœ9#,,üúõk••1c°=ém÷Ò9ßâ:˜è ®D£Ñ„„„jkk %%…,OHHhm—ŠŠŠœœEEEâGâ)j@\£!×7°þ+פSAAÁºº:ÖÝ 11±ÓQUUåçç'ò€?ÿüÓÒÒ²I"iPUU¨¯¯€×¯_;::v¨—‡²ž/m»~wŒ”Uaa!¹rÙÞÞ~Á‚222UUU'Nl{GÖÃÅ:×d` E]]Z²œœÜ¹sçþý÷ß„„„ää䘘˜;wVWW‡††>yòdذaìLG»/^L$:—.]" çÏŸ/""lOzkÊËËÉuâ»wï2d;!Ø?€ñN_;C¨“È/E]]ÝÜÜ\&“™––F®?€–Öè,Y²„XÝâëëK^¿~Édž9s†øQ@@ !!Éd~üøQJJŠ($×è—É´´´ˆ{j222Èå,Í;mñ®«&!¿´†J „™™éããCÞ_C.?¢R©!!!DauuõîÝ»‰í’’2Œ&wå´¦¨Ø)ë]Wä¾666DáÂ… ‰’²²2rÇÀÀ@ÖäéîÝ»D]»v‘…äGÍ#œ4iXVV“ÉÌÏÏ'¯sY[[·=äÍ›7?yò„\äTSS£««Kì{öìY&ÛÓÑÆ¡#÷ÁY …B‰'?ýž^ŠŠŠÈuïÞ=²œ5:ßâ:˜è nKü} fffbbbä2h–sHJJöïß_]]ÝÈȈ\ãbiiÙÐÐÀd2³²²Èk4T*ÕÔÔTXX˜üS›Ltbbbȯ*•:hÐ qqñ6:e'ÑINN&ó3aaa333r™ yLjj*¹‚tttLMMÅÄÄøùùɦÈïl*•:räH++«‡¶q ÛˆŠÍ‘v.Ña0ä°°°ðСC555É[á ÍD'11‘\ñ#..>hÐ â‰A ##Óö]fÌÆ/~11±~ýú1‚<΢¢¢iiiìOG»‰ë¹°µµeýô{zùÎDç; B\ß^ޏՀ99¹´´ÔÈÈHTT4;;›x¬¾€€ëƒh™LæÇËËˉNóòò>|ø@|D< &+++>>GŽÙbIs ñññ………RRR***MµÇZ-11‘x2²––V“‡Î_á………Ä ƒæÃ$µU»#ÍÌÌ$–z°¶KœuPRRÒ××'b #>566&Ÿ}œ–––­ªªªªªÊd2Éwu§7Úˆ°¦¦æóçÏ¥¥¥úúúäé=vÔÕÕ}ùò%;;[XXXSS“\4ͪíé`gB?|ø@$R`aaÁºþ{z©¯¯'¶  ++Kl?}ú”˜ô~ýú‘kÑ"##ÉW@hhh°6þ=!.‚‰âbÛ·oŸ1cFß¾}‰ïß¿ÿÓO?·JíØ±ƒxFmóD!„Ð/]!.vêÔ)}}}eeåaÆihhL˜0ÈrFŒÑUYBq5LtÛºuëÀ³³³###‰‡­©ªªzzz>~ü¸Ý;¨BýðÒB!„xžÑA!„ÏÂD!„B< „Bñ,LtB!ij0ÑA!„ÏÂD!„B< „Bñ,LtB!ij0ÑA!„ÏÂD!„B< „Bñ,LtB!ij0ÑA!„ÏÂD!„B< „Bñ,LtB!ij0ÑA!„Ïàt!.C§ÓËËË9BèE¥RدgtB!ij0ÑA!„ÏÂD!„B< „Bñ,LtB!ij0ÑA!„ÏÂD!„B< „Bñ,LtB!ijðÉÈ!Ž©­¥$$ðWTà]¨{Q(LII†šZ½ªj…ÂéhPÂD!ÔÓJJø$>õJ¤¡¿sP’’bXZVN™RneUÁÏÏéhP÷ÃD!Ôsªª('OÊœ<)ÍÇÇ´µ­˜5+×ȨFQ±A\œÁéÐc0 ¤„?-Mðõk‘à`1WWEuõº ll*8ê^&“ÉéBܤÓ/õ|øP|ûö>¥¥|Ë–9;—brƒ8(-MðÀÙÀ@êÈ‘•žžùuœŽ± _ê‰êu˜LسGvÙ2Å#ª‚‚Ò-*Æ,q–†Fݾ}ôK—2 øTŸ?åtD¨»`¢ƒê^ÕÕ”ß~Süçi/¯Ü]»rûôiàtD}en^}íZæ¨Q• (]¹"ÉépP·À5:¡nÄ`€››BD„è¹sYƒWs:„šfîÛG×Ò’ýãy11Æäɹ,‹z3LtBÝhß>Ù  ±3g²1ËA½…+V–—SÜÝiªªõ¦¦ø»ÊSðÒB¨»>>Ø·/—öï—át,¨+a¢ƒê'NÈ””ðýþ{§Aˆ]T*ÃÍ­àòe©OŸ„8 ê2˜è „º^I ß©SÒË—ÑhxUOX¹r¥®®®®®îòåË9 wûùç²þýk¼½e9ê2˜è „º^@€ÓÙ¹”Ó Ô1 ,\Xüä‰xNÞ¬Ã#:6‘ûöí{ñâE7…‚ênÇÿý÷ß{ £‡Åmm+𩀈ÙÚVˆˆ0‚ƒÅgÏ.át,¨ tìŒÎ‹/"""º)„P·Šˆˆè™?Tjj(11"£FUö@_ˆpàÀÄÄÄÄÄÄC‡q:®'(È>¼êÅ |V2èð©¹aÆùùùuG(¡n5}úôžé()I¨¾žbdTÛ3ÝqÐÊ•+ïܹvvv›7oÞ¹sgxxxqqqLLŒ¤¤dyyùùóç=z”œœ\]]-//?tèÐE‹éëë³6RUUuéÒ¥‡&&&VVVª¨¨Œ1bÑ¢EªªªDvÚaäСC3gÎ|õêüòË/îîîÍ«ÙÛÛ{{{w¢ñæÃì¶£ËI††5œŽu ¼‰êb¹¹ü ¤TÏé@zNqqñŒ3222È’´´4—ÌÌL²$;;ûÆwîÜÙ·oß„ ˆÂŒŒ —ôôt²ZJ£sçαßNÎÎÎD¢sóæÍµk×òóó@iiiPPQaöìÙh¼ù0y•’RñkŒx.FFu±ª*>ýèDDDèëë?zô(>>>11‘J¥._¾œH üàÁƒ·oßnÞ¼êêêÜÜܲ³³€Éd.[¶ŒÈr¤¤¤öìÙýâÅ‹C‡'T ;í47aÂÈËË % ïܹSSSºººƒîDãM†É«§s@LŒQY‰ß<'!ÔŘL …Óqô ooo--->>>ˆýôéñ‘———ŽŽŽ˜˜˜‹‹Kÿþý ¦¦æúõëðæÍ›>ÕÜÝÝúé'iiiyyy;;»M›6±ßNsBBBä•Jbƒ¬LœÎéDãM†ÉÃ(”¯¿Æˆà¥+„ú^†††¢¢ÿ­]'·ÇŒÓ¼~\\\“j£Fj^ÍvZääätòäI&“\\\\TTôæÍýé§Ÿ:×x“a"Ä0Ñéí¬­­‰ GGGÞxXIIÉÔ©S‰moooÎÆƒÐ÷“èØÂÕÊʦ·¤Q:u¬y;$555 ‹°°°ºººÀÀ@:N”Ož<™Íh›7ÞÑa"Ô`¢ÓÛ‘××y&!¨««#U\\ÌÙ`êzzzäöÓ§O•••[¬Ö·o_ÖjŽŽŽk§5³gÏ ??¿ÂÂB²°KGˆ[ðøuV„êy&&&ÄöÊ•+ccc«««‹ŠŠ>|øpîÜ9''§·oßÕ ‰j»víºyófqqqAAÁƒ¶nÝÊ~;­=z´’’|üø1''hddÔ¡ âvxF!„ºßÁƒ]\\²²²^¿~=mÚ´& P(”C‡¹¸¸ddd¯Y³†¬0bÄöÛi ??ÿÌ™3‰çåœ;$BÜQ\\|éÒ¥/^ÐétaaaCCC''§6©væÌ™ÌÌLMMÍ%K–hjj¶¸\¦ÝÖÒÓÓ]\\ˆíÓ§Oóóóûøø|üøQIIiòäÉÄRGÒÓ§OÏž=Kvª¢¢Ò]G¡^CSSóîÝ»¾¾¾AAAIII•••rrrJJJæææãÆ#ÿkRWW¿{÷î… ‚‚‚ÈZXXüòË/j§53fÌ8xð`CCHIIMš4©A"ÄÕ(ÌŽÜBGܯˆOFîIäÅ•+W²þeÆêöíÛ...EEEMÊ×­[çååEþèååÅúŒT!!¡#GŽÿž†„„ ŸÙi-..Ž<é}êÔ)777ÖÕ6[¶l!N¼À®]»6lØÐn§¨tÕ¿t:½¼¼¼ wïRW¬PHLLúÎŽâüîͨTª‚‚ûõq׋6m‘—Ì™3çÖ­[GíÓ§ìÞ½›|ñÍóçÏÉ„c„ þþþ;wîtssë\k¬V¬X±|ùò€€¢ä¯¿þ"òžçÏŸoܸ‘(œ2eJ@@€——׺uëºú „B-ÃKW\ÏËË«¶¶F}þüy¢PXXxÁ‚°cÇŽeË–Q(”£GgïTUUoÞ¼)((|||MÞeÍfk¬»,Y²dÛ¶m`hhH<ε¶¶öóçÏC‡%;ÕÐÐð÷÷'žC/ ðÛo¿uç!A!„¾ÂD‡ë‘ï£NJJ"/•––999IIIººº111Dɘ1cˆ,Æß¹ÖXw!¯úÓh4²0??ÈN­­­‰,È?!„PwÃD‡ë‘õJOOg}5 ‰x~FUUñ#ë#¿š?þ‹ÍÖXÉËËÿý:'rÈN©Tj"„BÝ®§©©™›› -^êׯ¨©©¥¤¤ñÿ„„„„εÆ&UUU¢»¤¤ÿÖô%&&²ßB!ô=p12×›1c±*%%eÝÈÜÜ<'''::šxð½½=QíáÇQQQP]]½sçÎεÆ&òªÖ£Gž?555»víêühB¡ŽÀD‡k\»vÍú[Ä“l–/_neefffÆ SSS“––vrr "v_ºt)ñ¼ùúúú‘#Gšššª««“—–Hl¶Æ¦¥K—êèè@CCƒ••ÑiYYÙw „Bˆ-˜èpÌÌÌÐo½|ù„……>|øçŸ¯ª‰‹‹‹ŒŒÌÈȘ3gÎÚµk‰ÝÅÅŃƒƒ‰w×ÕÕÅÆÆŽ=úðáÃdûbbbì·Æ& ‰Ç‹šëëëccc­­­}}}»ä€ „BíÂ5:½]HHHk©  yxxxxx¤¥¥eee «¨¨Ðh´&÷«ªª§§§gffjhh(++_»vøˆB¡hkk³ßšºº:˜––±!**J³Ödí´®®Ž¬Æ3o*E!Ô;a¢ÓÛuèÁÁ­}zúôi---kkkuuuˆß´iñÑØ±c‰§²Ùš˜˜XóÀøùù[‹V]]èñiÈ!„z&:?ÐÐÐ HKKëè蔕•%''×××Fc½†…Bñ \£óùå—_&L˜PZZúêÕ«øøøúúz ‰ ¼yóFOOÓÑ!Ä–£Gã¯_Oãt-èµuNiiOÜ“'9œ¡ï…gt~ wïÞ­¨¨HNN.//—““ÓÕÕåãÃdq“#GâŒe¦Mkõ-§ôÚÀ:§´´ÖÇçÓœ9ÚÖÖŠœŽ¡ï‚‰ÎG\\œ\)Œ×Yº´&Ìé(ZÐkC臉Bˆ›,YÒ—Ó!´¬×†Ð„79z4žFf½BÔÐÀ|þ¾´¡¡£#ia!/,Ìßd¯÷ï‹_¿.,/¯WP±²R“&÷=|ø³¶6ÕÞ^5)©,<<·¶–aj*kn.פ…ŠŠúàà쬬*EEQ[[¥†æ™3IH“WvXc¿Ù6bëM{þ<¯¨¨fÉ}AA¾&lcÇOŸJ""òøø(ÖÖŠâÀd³g¹Ÿ>•P©ãÇ+ËÊ~3„š—/óÓÓ+øúö•>\žŸŸõLtBܤÉR˜ÄIJ%K"RRÊÉ "53“%~ÌϯY½:êÅ‹<²‚¨¨À–-5 ¾žáãóiìX¥ÌÌÊ={>0™_ë̘¡±s§¹Ë»wE¿þ‘—WMüH£‰lßnÚd k`l6Ûvl- Hÿò¥²íC4w®¶ŒŒP‹‘%$”>ü™(\¸P/.®„u€òò"Û·›¶¸cbbÙ¡CqDáÎï2r¤¼«kÄË—ùDáÞ½¯\¥£óõݽ۶½½t)¥¶–A6¥©I=yr¸–ê˜è „¸UUUýÂ…Ï33+••Ŭ¬ùž=ËMJ*[´èŽ{64šHCsÑ¢ïÞ©ªŠ[ZÒ¤¤„ÒÒʃ‚²7n|­«+ib"C´óæMáãÇ9VVŠzztzõÝ»W¯¦ÙÛ«!õ®®yyÕZZT ZCóéSú† 1í†×v³lÆÖD@@úóçy-~Dš4I¥µD‡ðúuaPP¶¥%ÍÀ@ZD„¿¶–Ñd€¡¡-ðõëÂÇsÆŽUÒÖ–ˆ/}ò$góæ7C†È}üXìè¨!--žW²wïÇ#G†»„…åÒh¢¦¦2**b55 âlкu¯üü¬Ú=€u LtBÜ*0033³ÒÌLöìY QQ~¨¯g®Zuÿ~æÅ‹)«V<|˜õî]Ñäɪ{ö˜“—KÞ½+rt =}:ñÀÁDIAAÍÑ£ÃÆŽýz½ÆÒ’¶ví«'OrˆŒ$00#7·zÔ(…ãLJ ò@UUýÿþ÷¬  ¦íðÚn–ÍØšøùgusó¦Ïöl¢É•£Û»×|êT5âÇ+WRss«--i'N o`Ãܹa……MXXXsêÔ++âÇc®^M‹Ž.xðÀVAAêêãÆ= Éa2x”º§ç@mm‰ˆˆ¼ììJ!!Æ!}òó«_¿.,*ªm;C¨«`¢ƒâV11°r¥‘倀ÅÍÍðþýÌW¯ àÙ³\8v,žÉd“ L&SRRðÝ»"²CCi2âjTnî×ë8¯_Ào¿õ#’XºTÿ—_^´^ÛͲ[?ÿôw IDAT¬Þþqi–•Ìr &† Ëù—-ë·hQÓI“YŒI»z5mÚ4 "ËAA¾!Cä¯_OËË«¦ÑDàÍ›¢ùóŸÕ×3›4UPPƒ‰êKt 222V¯^ÝMÑ ^">>^IIIBB‚Ó ®«ªªÊé(ºRII-¨«³ÚCMMœBââZ(,¬€+WRÛnGII”õG1±¯'‡X{QQc­£ª*Þnxm7ËflM|炦æ7GŒ ªê7TSka€ŠŠßŒˆÈ/[,¬ªj€ˆˆ¼½{? ñ«¨¡!.&&@¡PÂÂè¯_2MS„ºIÇ„„„ŒŒ ooïnŠ!Ô­ªªª8BW’’€ôôr5µÿ¾¤¿|©`2AZZˆ¬0{¶–œœH“}EDØ}T&ÑHff%qŠ‚‘Qñ}±w2¶.Y£Óä¦'"’ŒŒoøåË÷BBràС!cÆüwfëÓ§âïo!öu,Ñ6løùùuO0¨· P(«V­Ú¿?§A]iúô霡‹™™É]»–vð`œ™™¬¨¨440÷íûƒÉÀðá}üüR˜Ë—ëóñý÷íž—WÍnÎgj*{ýzÚáß& @€šš†cÇâ¿3øÎÅÖ%ktš03“½~=íàÁO¬ktŽëP#-¢P(@¥ ’%yãk%PÂ5:!n5y²ÊáÃqÑÑvvÁä]W‰‰eRRBÎÎZ0i’ê™3I—/§†…åŽA““*-­KM-ù2áB½Z¾³©Y/ª|zò$gâÄ` ZCãéSzeeÀ×õ¶Ó¹ØºdNööª| Ë%È`À“'9ĵ§ïdj* ®®vvÊ22 ¥¡¡tYY¡üüvÖq#Ô…0ÑAq+QQþAì×_#RRʉ'õé#¼s§éâÅßÙòøñÊ“'«føù}}Ýéôéšÿþ›ø½A#Ä6LtBܤÉ+¥tu%îßûìYn||iCS[[bÔ(ë“‘ed„Nœž”T]PXX+++¤©I57—#Ö©ð­Xa ­ýÍâ\¢PW÷¿ÅøÊ ÎÎήRT;Véñãløv¹1k`l6ÛvlÝ¡ÅÀÀØX&(È–x2²‚‚ÈØ±JL&¬Xa0`€t;jiI°Ö!X[+ÈÊ KI}½\µÿ`ggí÷ï‹)4HÖØX&<<—JìÖ@#ÄŠÂdv`é;q×èð<\£Ã“ºê¿_:^^^ÞF…»w©+V($&&}gG½Gbb™ŠŠy{QQíÌ™O““ËnßÓ¯ŸgcCÝ÷~‡y •JUPPh¿^#<£ƒBíxò$çØ±ø#äUUÅéôª'Oè%%µÃ‡Ëc–ƒPBµCOO²¦¦áîÝL²ÄØXfï^s†„b»O’@°gÏ …òäÉ6ë»»»S(”7oÞtgP¨GìÙ °=õàî àÔó ++…gÏ&><Ôݽÿ¦M.\°ô÷·f}ê B¨×Â3:!Ô>IIÁñã•9B¨ÃðŒN¸¹¹1™LkkkN‚zœ›0™€SBÜ„Bñ,.KtÈU/gÏžíß¿¿ˆˆˆ†††§§'ƒÁ ëÌ™3‡B¡äçç³îH7içèÑ£ýúõ0`@`` TTT¬\¹RYYYDDÄÒÒ266–l¤ù/_¾,Z´HMMMHHHQQÑÙÙ9.®…ç¦>|X___DDD[[{ûöíõõõäGùùùëÖ­ëÛ·¯¸¸¸¢¢â˜1c®_¿Þ¡{þ¹O^¨©AŸ>žþ_áÓ§ Àrp¾A®z9{ú÷ÐÐOO`™z˜3(øvê¿6Nýí= ýú¨( °r%(+ƒˆXZËÔ·°FçËX´ÔÔ@HÁÙZšz8|ôõAD´µaûöoF—ŸëÖAß¾ .ŠŠ0f \¿¼=õ!Ôã¸rÎÁƒÿý÷_b;==}ëÖ­ ÃÓÓ³£íìÙ³çÂ… Äö»wïž>}ºvíÚgÏž…ááá'NLJJiaÕaJJʰaÃrss‰étú¥K—nß¾ýøñcsóÿnÇðòòº|ù2¹‹‡‡ÇçÏŸÏŸ?O”Lœ81**ŠØ®¬¬¤Óé!!!ïÞ½ëß¿G‡Ã5äåÁÏF‚éÓ!, „„ ;f΄>}àêUhówòàAhœzHO‡­[Á€ŽO=ìÙSïÞƒ<} k×BãÔCx8LœIIÐÒÔCJ St:\º·oÃãÇÀ2õàåS))àáŸ?CãÔÃĉÐ8õPY t:„„À»wÀÃSB=ŽËÎè.^¼èãã“••UZZêëë+ pèСNœ 8~üxnnnAAÁ† êëë'MšD§Ó>|XZZšœœlcc“••uéÒ¥w_¹rennî¨Q£¢££+**>|øàààPVV¶hÑ"Öjׯ_ß»woVVVaaáÅ‹eee}}}ƒƒƒ +++**ÊÀÀ 22²¢¢¢   44ÔÑÑ‘+祆 ƒ½{áåKX½êëaÖ,È˃K—@¹½Åž/‚deAi)øú‚€:Ô™³ pü8äæBAlØõõ0iÐéðð!”–Br2ØØ@V´2õ°r%äæÂ¨Q ðá88@Y|;õpý:ìÝ YYPX/‚¬,øúBp0@VDEDFBE@h(8:ÏO=Bõ,®<£³yóæß~ûØž={ö7®]»öåËuõ޽înË–-¿þú+±½}ûöS§Nååå™™™€„„Ä®]»üñãÇæûVTTÜ»wF£JJJ€¡¡á•+WLLLÞ¼yß·o_¢æªU«~ÿýwbÛÉÉ©¡¡aîܹ׮]³±±‘““:tè!C@LLlÔ¨Q£FêÌAá:¿ý/^À‘#ðþ=<} ý£G·¿×æÍÐ8õ0{6ܸ×®Á—/ÐÁ©‡-[ qêaûv8u òò (ÌÌ$$`×.<Zšz¨¨€{÷€FƒÀ@”04„+WÀÄÞ¼øxhœzXµ §œœ ¡æÎ…k×ÀÆää@T†…!CÄÄ`Ô(øA¦!„zWþùØä¾'mmm(++ëh;¬)Ÿššš¸¸8‘å444€N§7ß755µ¾¾ÞÒÒ’ÈrãÇ€ÄÄÿ^YG”ìììÈ Â§Nò÷÷777wss;wî\ZZZGGÁÅNž xú&N„õëÙÚ¥É}OÚÚŸúoR >>PSqq`™zÐÐhiê!5êëÁÒX¦€˜h–©‡o§ììþ« , §N¿?˜›ƒ›œ;?ÔÔ#„POáÊDGTT”õG …ä¥+âºëòd¨ªªjÞN“•7 ¥yIó¦šWèbrGgg猌 QQÑ«W¯ÚÛÛ—––v´Y® ì&+ßN=‡‘¼tE\÷i2_-M}Ó•7J %Í›j^¡Cˆ]È!#<<@T®^CC°·‡dêl……5ÎÎaÄÿ6lˆá`$K—F’‘ÔÕµþÛŽ7ãÊD§m4 RRRÈ’ÊÊÊÈÈÈ®íESSS@@ ,,Œ5)ihhxøð!èêê’…<`ÝñÞ½{ ££C–HHHL:uÛ¶m·oߎˆˆ¸sçÎöíÛ»6ÚÞ(;fÍyyØ¿`þü.h“F`™z¨¬„®žzÐÔ û&)ih€‡X¦¾z¸w€eêAB¦N…mÛàömˆˆ€;wàG˜ú^lîÜð;ßuw/µµŒ—/ó‰ÿ½_Üþ]¡Å¡ÅÄ‘0xÇâM<˜èÀš5kââ⪪ª^¿~íàà™™ÙîŽ"..>aÂ:þÓO?ÅÄÄTVV~úôÉÉÉéýû÷&&&äðööÞ·o_NNNQQÑ¥K—V®\ ŽŽŽ5iÒ$ÿ”””ÚÚÚœœœ€€HNNîÚh{úz˜9òóáòeXµ –/Ø»÷{›52X³ââ ª ^¿èê©qq˜0ètøé'ˆ‰ÊJøô œœàý{01–©ooØ·rr ¨.]‚•+¢¢`Ò$ð÷‡”¨­…œàù©ïÝ^¾Ì‹+陾ƌQ¼pÁrçNÓžé®Å¡92ìÂËAƒäz&„8‚+#·ÍÉÉÉÃÃãÙ³gD‰ŠŠÊ¸qãˆs-]ÈÛÛ;222$$dРAd!•J=yò$k5‡5kÖ¬Y³†,™={¶ 444ܽ{÷îÝ»¬õ)г³s׆Ú븻CXxy•À¾} îî0t(XXt¾Y''ðð€gÏ qêAEƃ®žzðö†ÈH –©*¾zpp€5k€eêaöl°±hh€»wáÛ© x~êQ#Ñ¡Cûp633Y‘âlu+<£#""òàÁƒñãÇ‹‰‰IJJþüóÏÏŸ?———ïªöÉå5ÚÚÚÑÑÑ .TQQ Ñh³fÍŠŠŠb}ˆ¸»»8p@OOOHHHKKkÛ¶mgΜ!>2dÈÝ»w§OŸ®¥¥%,,¬¢¢2eÊ”   ‡®Š¶7 €½{aÊX»ök‰  øùŒ ÌœÙòú_6‰ˆÀƒ0~<ˆ‰¤$üü3<]7õÿ-¯ÑÖ†èhX¸TT@@h4˜5 ¢¢àÛ©ww8pôô@H´´`Û6hœz2îÞ…éÓAK „…AE¦L  àí©ÿnuu gç°}û>ÖÖ2ΜIZ¼8â×_#ޝ¬lhR3-­bÏž¿þ±páó;Þ~úTÒ¼‘úzæ… ÉË—¿œ=;ìÝ»bgç°†æû÷Åä²Ö½phq)J‡?3}útðóóë¶xzµÍ›7oÛ¶-""bèСœŽ¥{Q(”U«Víß¿ŸÓô›7ömÜ<õ]õß/N///o£ÂÝ»Ô+“¾³£æjjŒŒn£TQQùß#°ut$._Ež™¸w/ó÷ߣYW×òñQ<<Ì«ÍÚHUUý‹yD…Ó§GΟÿ ¾uá‚e‹']vî|×îÚš={)+‹µøQNN•…Å}''­mÛLzÃÐ/Ž Êþðaа0Ûƒúqtßï0ú~T*UAAýúa‚Š­í£;w2¶m3ã¿q#½ººaútÍ¿þúºÎwüxe%%±>]¹’êé9läüy Öïû¡CûP( %%ØîÒ™ ŒKKëÚ®£¬,Úv…Þ94„x&:ì’••5jÔÑ£G9êq²²0jàÔ÷Rd*22BcÇ*]»––˜X:`€ qoѬY¬»89i8ðéÓ§ÿ®7õë'Õé³Ýw:„ãCCˆ÷`¢Ã–cÇŽ;vŒÓQ N8v pê{IIÁ&%RR‚PSà ÿ_ZZ¸I åëGEÅ–^×Êžï\£ÓŽ !Þƒ‰BˆËÄÇ—ÖÕ1ÿ»iôÝ»bPPMÞ¾-ÒÐg­Àd‚‚—“Z{¬9;·gtߎ !Þƒ‰BˆËäç×lÛöö? ñ1™pæLÒË—ùêêâêêâ0j”‚¯oòßèÛWR__23+·ly£FÑÚnY\\ #£‚Á`òñµõŠî[£Ãñ¡!Ä{0ÑAq‰k×ÒnßÎÐÔ¤fgWååU€››ñéèъÆÉGDäM™òXS“*(È—”TVWÇÐÓ“ttÔh³a04”ŽˆÈ³¶~¨¢"F¡€‡Ç€»tß Ž !Þà Dñ6--ªÏ~~ÊÛ·EyyÕ‚;wšMœ¨B|J¡ÀñãÈ/þ¤¤²¸¸’†æ¸qʾ¾""í<'fíZ#yy‘¬¬Ê¨¨ü—/óÛ=mÓåxxh\hû®]»òóÛ¹F‰z?<£ƒâ>cÇ*YYMHH(c0˜}ûJ }ó7›¸¸À®]f’“Ë ÐЗ–þï-‚‚|.X¶øÞƒeÂÃíËJKë &GÎyððиMŸ›7}|}}œœ–-[&--ÍéxP'a¢ƒâJ‚‚|¬wb7'..`l,Ó¼œÒÆãdøù)Äò—T¦¡!þ×_fM>걡-]Y\\_Ú‘À‹Ÿ<uõêÕÇ,[¶lîܹø¥É}:6g­-éG¼ÄÛÛÛÛÛ›ÓQ .¦ªªÊéÐW¹¹Õ¹¹Õeeœ¼„SŸ_ÃÁz9aaá¹sç:88=ztïÞ½þþþ;wî466æt\¨c:–èèé鉊ŠNš4©›¢A½„···‘‘‘­­-§A]éÎ;˜èô²²Â.XÛbbœ|½Ô‘#ÃÈ×f±ÞÓŽX‰‹‹»¹¹MŸ>}Ó¦MŽŽŽ‹-Z½z5??¾Œkt,Ñ‘“““““Ãw=ò>>www))©-[¶0Œ9sæp:"Ô*LtB¡ÎX²d Ÿ§§§””ÔäÉ“9j^º‚+W®X[[¿yó†Ó4Õkã.W¢®XÿmýæK¯;Œ½60„û\]],X°nݺçÏŸs:Ô2LtàË—/¡¡¡ÅÅÅŒáüùóÖÖÖïÞ½c-ì ñ€/…_BãC‹+9:¿/Î[ÿmý.óÛùí!„¾ßúõëÇŽ»råÊœœNÇ‚Z€‰Ìœ93$$ÄÄÄ„ƒ1¤¥¥…††–””°ö†ÀxÀÌÁ3CÜBLÔ8:¿…i¡ñ¡%UßÎo/ !ôýøøøvïÞ-++»|ùòúúzN‡ƒšÂ5: ¦¦¦¦¦Æé(ZÐkã.j²jj²½ñ0öÚÀz³šú£=FcõÆ›vŒÓ±|£´ºôiÊÓà„àÐäÐÒêR×a®k­×r:(ÔsDEE}||¦M›vôèÑß~ûÓá oôD¢SUUuôèÑÐÐP&“iii¹lÙ2Ÿû÷ïß¼ySJê¿×=~üøÚµk)))‚‚‚æææ®®® ÄG'Nœ¸xñâ©S§êêê>œ˜˜¨  0o޼ѣG7é‹FªªªNœ8ÿÓO?-Y²äÊ•+Gõööf=wzýúõ¤¤$111333WWWYÙV!ÚÐÐpùòåû÷ïÓétYYÙ1cƸ¸¸ˆˆˆ4é·¬¬ìرciiiÊÊÊ ,°°° *¬Y³Æßß~ûí7‘˜˜x{{7ŒÍŽÚ=J]«ª®êè“£¡ŸC™À´Ô³\6z™O°Ïý÷÷o.¿)%Ê2¿q¯½º–’Ÿ"È/h®aîjåª Ù85OO\Œ¼xê§êê‡NÌMTT˜7bÞè~Íæ—FªêªN<=OÿÉä§%ÖK®D]9úä¨÷,oÖs'¡ñ¡×_]OÊK3S7sµr•o}~ —£.ߟ^J——ÓoŒËpÁÆÃÞØoYuÙ±ÐciiÊÒÊ ,Xè6ÎïÕ5þ1þðÛÅ߈b¢fâ=Ë»y`lvÔîQB=ÏãÇOw8â$}}ýÕ«WïÙ³g„ ºººœý§Û’’++«ØØXâÇÀÀ@???ÐÐкº¯o³c0óçÏ?wî¹W`` ÏÇÍÌÌ 99944ôöíÛ›6mª¬¬$êOãž>}z‡¹víÚÖ­[kjjÀÈÈš-…ihh˜7ož¯¯/Ùεk×víÚUXXØâËM***ìììÂÃÃÉ’+W®:t(((ˆF£‘ýúùùmݺµ¶¶–¨súôéƒ._¾bccSSS Éºã&±ÙQÛG©Ë•T•Xýmû¥q~cý¢ýtäuBãCëç—ɘzþ¹,SèóØçáê‡fêfœ—zûííM›*k#8å×+Óͧw¨‘k¯®m½µµ¦¾Œ” ÙR˜FüÓó|#Xæ÷Õµ]÷wzòóµ4¿5vÞvá‰,‡=êʡLJ‚ÖÑ$hd¿~Ñ~[·ÖÖ7Îï³Ó.³b3bS R Éºã&±ÙQÛG qŠ”ˆ”½ýÝ1UõU›îmât8ˆ3æÍ›èááqéÒ%NÇ‚þÓí‰Î† bccÕÔÔÖ­[§­­ýùóg//¯&ßè»wï>w¶ö’%K jjj>|xòäIggç?òñ}]H´~ýz{{{GGG*•zëÖ­S§Nmذü g³‘Í›7O˜0aÆŒ***-^Ú¾}»¯¯¯˜˜ØÒ¥K‡ ÂÏÏÿêÕ«cÇŽ1™Ì¸qãÆððpyyùõëפ¦¦îÙ³çÝ»w‹/&ÎÓ¶lÙbggçää$""rÿþý“'O®^½ÚÖÖV__ïÞ½>>>ÿþû¯ñ^\iiéNwÔöQêrü7Ä~‰U“U[7~¶¼öçœÏ^÷½š|£ï¾¿ûÜ‹sÚòÚK¬–(ÔÔ×<üøðäÓ“Î'?þù‘Ò8¿××Û°wäH¦Þнu*ìÔÿ äW8›l¾¹yBÿ 3ÏP‘ViñÂÐö;Û}#|ńĖŽ^:Ds?ÿ«´WÇB1¡•ù Øž./!¿Þn½’AjAêž{Þe¾[|~±ÿR–ù½µÅ®¿Ó'A‘ûïïŸ ;¹úÊj[C[}Eý½Ó÷ú<öù7ü_'ccki~Ùë¨í£„8åÏñ÷?ßçl$ˆƒøùù===ƒƒƒmll8úª{úúúsçÎIHH¼xñBEE&NœhooÏúš{&“¹oß>EEÅèèh¢ÐÁÁAFFf×®]#FŒ çÎ{êÔ)b{òäÉ ¡¡¡¹¹¹4ýF¦Nêçç×ZÀ ÃÇÇGPPðÉ“'ƒ&ÛY¿~½€@ Ǫ¾¾þßÿ ïÛ·/Q8sæÌ~ýúݸqƒN§“ÎìííÉtäçŸVRRòôôÚ§(¥ýG´ŒXãÔ˜9ȈÉ캷+"9b„Nãü›{ꑜœ@OÍ-Ë¥IÐØodªÉT¿Å­Ï/“áì#È/ødí“ÁšƒÉvÖÛ­àki~õÿ†ÿ+"(¾>¼¯Bãa7ŸÙÏ£ß77è¥tò™ý{2ùÙôg%)%Ï@Ï3ÏÏüåð×@µZ}´ÀTÝ”¼žÕéŽÚ8J­š'e”dìÞ‘ÑÀh0W3_kµÖ@Á€ü4$1ätôéø¼øòšr)K-ËEÃ)P80¹ºÈc¬Çöàíiü|ü6º6›m7‹ ‰‡§„?—G¦Î0c¥åJ2wGÜeàÀãÇß»wïèÑ£É?°guo¢“œœ\QQ1mÚ4"Ë!èéé9òñãÇÄ)))yyyòòòÄY&“Iœ;ÉËË€¸¸82GqvvfmÜÌÌ,44´  €F£±ßˆ‹‹KÛÚÚÚ’YAR²å7í%''———O˜0L>@NNÎÑÑñرcoß¾µµµ% ,XÀºã‚ <==ß¾}ÛF0먣Äf_ìKÎK®¨©˜f6Èrz4½‘º#Ç5Îo~J^Yž¼„üôcSLÈ+Ë€¸ì82Gqúmäf¡ñ¡å4 û¸ os~ó’ + m mÉ,‡ )ÚÊüæ%—×”Oè?L>@Ž*ç8ÈñXè±·om ç×âÛùµXàèù6ƒíùe»£6Ž›}ñ€’ê’™çgÒËéÄO“ŸF‰¾2ç ‘ë„$†,º¶ˆ¬œT”T”S–sèçC­5èrÙåyj;Ay°èŽœÎ÷G>ë¬ìÒlâÇëï®WÏ4™¹ÄI£ªêª??,+&û?óÿ}g_ˆSV¯^=a„G?žÓ± €îNtªªª ¥ 1äI(//€¼Œ¥G IDAT¼¼àààæ-kM Ér`!!!hhhèP#ªªªíܧOŸ6ê°ª®®nYB|Jhrˆ Dw]ÛQG©ËUÕVAKbÈ“.P^SyeyÁŸZššZ–ùýv9°¿ÿú³ßˆªL›ó[W}¨lÏo]uóÀÈâSB“ƒ@T ºëÚŽÚ8J?ލ/Q&Ê&GŽô•ï›UšµÿéþûŸï{>ò¼<ç2%Àï£~Ÿ>`º´¨tFIƳÔgiEiœŽ êKÔHÍ‘'OhÉjÅçů¸±"818:#zžù¼ÿ™ÿOZTúqâã5kþyù&:ÜKGGgôèÑgÏžÅD§—èÞDGYY^¿~ÍZÈ`0ȵɠ¢¢B¡PìååÕ¼===v:b¿ …Òn;/_¾¬««l·_%%%xõêƒÁ`=KÃ'ÄÄİ^–ŠŽŽ&ºcªµe@ê¨')K+Àëôoç—ɈÍ`™_i …2Xs°×´–¦F½ùe»‘væWZ…B¡¼LyY×P'ÈÏÆüJ)À«´W &ƒõRBTj4Ÿ“ÃzY*:5šèîkTÐÞü²Ý1A±ãŽÇåÄä@GNÇ{ª÷¤&EgDçWä÷ï£(¡S¦ÊSå@KVKKV«íÏÍ:×v…®"+&{tÚQ1A1 4`á…ž<©Ú0fQÁÞÀþ懛!‰!UuU¢‚¢=êrÿûßÿ\\\>}úd``Ð~mÔͺ÷ ¢¼¼üÀcbbþúë/ƒõõõ›6mJLL$ëÈÉÉYYYÅÄÄÄÇÇ1º‘††ÆƒؼàÒ%€¬¬¬¥¥eRRÒ/¿üRXXH–——ïØ±ƒˆ¿ùÍÌÌâââÜÝ݉›È˜L¦Ï£GHÖܾ};‘Ü@ZZÚŠ+`ܸqD •J€¤¤¤Öc¿£ž$/!?Pm`LzÌ_wÿb0PϨß°)1—e~©rV}­bÒbâéñ#tFXë[ÿÓÓxðá›\º¤—µÔ³LÊKúåì/…ó[S¾ãÎ"þæ4S7‹Ë‰s¿îNÜDÆd2}‚}}|¤(¥8Pe~ïl'’H+H[qiŒ3lœ_*$åµ>¿lw„ÀPÁÈr|Ã5†qÚfþàùÃ5†OúwÒÊ›+OFž|‘ö‚¼ãŒŒˆ,‡ "¥CÔ†°ÖQ–P€üŠüŽ u¡áÇkjjp:Ðw]mÛ¶mÊ”)7nôööÖÐÐHII)**266~÷îy·öÁƒ-,,\]]ÝÜÜ´µµEDDRSSét:lÙ²…3+]Õx{{[XXœ;wîêÕ«:::üüüqqqµµµëׯoqeÙîÝ»Ç÷÷ßÿóÏ?:::éééD§»wïf]¿¬ªª:tèP===aaa¢A“™3gŸššš€««ë‘#GÄÄĈçèt®£¶mê¶)‡¦l Øèä­!§‘’ŸRTYd¬bü.óy·öA§ƒ^®ç]ÝüÜ´åµEDR Ré¥tØ2y ;gVºªðžémáeqÑWuäuøùøãrâjëk×OXßâòÏÝŽ»Çí÷÷ƒ¿ÿ ÿGG^'½0èt÷´Ý¬ë—UeT‡îª§ ', L4h¢f2spãüª™€ëy×#!GĄĈçèt®#Ôâ|U˜zÞé||^|dzd\nܵ·× + ·ŽÛ:É`Rk;öØaáv ‰Q´˜y#nA¡P&MšäçççîîŽK’9®Û'`òäÉgÏž•••ÍÍÍŠŠb0¾¾¾Ä%â4ôïß?22râĉ±±±‘‘‘t:]OOÏËË‹XbÂŽ.iLMMÃÂÂFŽY]]ýáÇ·oߊˆˆüñÇ->Dllluuu £¢¢ètº²²òùóççÎËZíÀS§NýüùóÛ·okkkmllîÝ»Gfii9oÞ¼ººº¨¨¨ÐÐÐ_äÉfG=lòÀÉgœ•—Í-ËJb0¾¿øªÈ¨U¸q~UúGnŒœh<±¢¦"öKldJ$½”®GÓóšæ%$ÀöüvE#`ªn¶>l¤îÈêºêYÞf¼ùcÒü”Væ×À&ð·@]šnaEaTj½”®,­|~áù¹Ã¿ßY¦šLýœóùmÆÛÚúZ›{+ï‘YêYÎ1¯®¡.*5*4>´Åy²Ù€ô•äõŒúi/@]Z,ì+ßwî ¹;&ìx°èÁõ!n·ÝJªKZh ¡î1iÒ¤ÜÜÜ&+7GôÄ_Š...³fÍzÿþ=2ŒU«Vijj²žeÑ×׿sçNIIIbb"ƒÁÐÔÔ”——'?ýõ×_íììš!4ÑxâD㉉¹‰Ä‹û)¶4¿"þKý3‹3Ó ÒUdTÔe›ÍïüÓ^Ž^I¹I5õ5ÄÊåæµÝ›GéGPYWézÍÕc¬¹9© É\Õ¼xØpwƒ¢¤¢®†Œ† ¿àç¼Ï ù u uô2º”ˆT‹ öØôãèÛ·¯ªªê³gÏ ÄéX~t=‘èìß¿ÿ—_~!O\ZZºlÙ2:îêêÚ¼¦””T‹¿ÚÚÚÚÚÚìv´hý•R äÃiØ¡««Ûîc¿UTTXï´o‚F£±.'j-°Ö:êÐQêBûíÿÅòâñÄ¥U¥Ë..£—Ò]­Zš_Q©A-M¼¶¶|³È[*ìh#Ðú+¥$ȇӰC—¦Û<‹jBEZ…õNû&h4ÖåD­ÖZG:J¼m°Úà´¢´i禑%b‚b[l·Û9e9~oý†dÝÅPÁP·O7>•ÿjìÕ÷6’?8~<â8Ì1›³uÜÖîëõfC‡}ñâ±"qPO$:îîîÄy‘„„„ÊÊJ*•º~ýúèõ›îþîÄy‘zBem%U˜ºÞçu)©Ës.oÚþòËKƒ1HuкÑë h_ooñšäuííµ „ ”Â&0•%•íôíæžàC=lذa·nݪ­­íÐò Ôåz"Ñqssóööþøñ#ñã€Nœ8Ñ­SPOrçæäý1«q~Uœp9ñ£]LA=CX@8Ñýë=}'O´X‡F¥-±t鈥=Ì8cÆÀmT`œ4FwLó­ã¶âI Þ`ll\WW—˜˜hhhØnMccã‹/öL`M”––>}ú488844´´´ÔÕÕuíڵͫeggïÝ»7,,¬¬¬LCCÃÙÙyΜ9M®ã³S§çõD¢³uëÖ?þø#555//OYYYCC£:í=Z[Ä3¶NÙú‡ý©ù©yeyÊÒÊr?Øü¶²6!ôƒÓÒÒ‰‹‹k7Ñá,;wî´]';;{Ú´i¹¹¹Ä žžžIII[·níPŽè¡s¹ÿoï>⸺Ÿe)K—Þ–Þ lXKÄ[Œ[b‰ C,‰F41¢D4– €ˆ EšôÞAAzÛòý¿q³´¥I;ï<;—;wÎŒÆ=Ìœ¹—Ÿ_[[ÛÂÂb°e9 ©©iccC¾b6 ñóñkËi[hY ¶,4e5môlÈWÌBˆ@¥R555SSSÛí×[·s@BBbúôé¿ÿþû/¿üÒZŸÃ‡—””XZZ'$$œ77—X‘—>°wï^â§¹¹¹‡JHHà1ŒNÃD!„ꢢ¢555ÁÁÁ°yófgggIIɼ¼¼çÏŸ™As^^^œ›ùùù‹-Ú¶m›¹¹9äææº¹¹‰‹‹oß¾ÝÆÆFBB"''çøñãwïÞýçŸÖ¬YÓgAÜ.’àžoSRR²¨¨¨®®NTT”—>111>>>4m÷îݶ¶¶ ãÁƒ艘9a¢ƒBõ!!¡úúzptt$&ë×ÐÐàq‚•âââ%K–lܸÑÞÞžh d0îîîD‹¶¶¶‡‡GTTÔljDçÂ…nžé›¼{ÔF;/}îß¿?üðÃܹŸfû\¸paEEÅÑ£G»-Ö–t,ÑIIIIMMmqº^4Àœ9sÆßß¿·£@ÝéÇ:::½BƒÈ!Cêëë—-[9mÚ´ñãÇ›››·»Ôôû÷ï/^¼fÍGGG²‘x‡kãÆ7n$r6›M|è¹éjÄÄÄ ¢‚{µ¸ŠŠ *•Jt{1/LJJ gãÇ‹‹‹ÕÕÕ‰â^ú¸²/ð]Ó±DGWWWWW×Ïϯ‡¢A}…BY½zõ±cÇz;Ôœ{;„—êêjQQQâ3ñJ|þî»ï¶nÝjeeÕ¼¨***–,Yâììüõ×_sýˆÈNþùçŸqãÆõdàÿaffÆÏÏÿäÉ“ÊÊJò¥ª›7o²ÙìQ£FñÞ‡XÍúÙ³gœçõüùóžŽ_/G!„zDmm­¨¨èŽ;Ž?_UUU__“ššÚÔÔÄù†9©ººzÙ²eS§N]¶lYóŸÎž=›J¥nÞ¼ÙÏϯ°°°©©éýû÷QQQnnnžžžDŸ .¤µ‡÷Û9 &&foo_]]½~ýúìì솆†û÷ïÏ›æÍ›Ç{Ÿ)S¦À‘#G?~üXVVvåÊ•“'Ovà‚v >ºB!„z‘èùùùýñÇœ?244lqi Õ«WÇÆÆÆÆÆ9r„³}ÿþý .¤Óé?ÿüóîÝ»wìØÑ|ÇÎéëë»sçNróôéÓ§OŸ€E‹‘ÓÛlÛ¶íåË—ÏŸ?·µµ%{.Z´ˆs&Àvû >ÜÅÅÅ××wëÖ­d‡iӦݹs§ÝŠ¥®ÀD!„ºA^EžÍ)›E#}™%9MŽš˜(˜üûu«ë|±xŽ=;v*ü‹Í"6ÅOÏ=m(ß§Wwúbªªªh4ÚáÇýýýƒƒƒ333Ùl¶’’’½½ý²eË8+WH䨭qqqÑ××÷ööŽŒŒ,++“––¦ÓéÓ¦Mã¬YîvŠŠŠ×®]#쬮®VSS#ììhwwwuuõ«W¯*((,\¸ÐÄÄäÎ;œÓ v;LtB¨ÿYk¹VŽ&×ÛQÀµ¸k'_œ¤R¨3f*Š)>Ëx–X’¸Òoeðê`aáÞŽ®÷egg«ªªÊÉÉ­]»víÚµ­u‹‹‹#?GGG·;ì°aÃ<<<º'D—v»)))µûzT»}øøøV¯^Íyó‰X€‚k¦Áî…‰Bõ?ßZ|ÛÛ!üöü1ûɺ“`óW›Wø­Í ½òöʲQ-”˜ 6™™™=z£¥ßñõõ-++›4i’²²rIII@@ÀåË—EEE¹Þ9ï^ÝŸè8p@IIiéÒ¥Ý>rõÙÀxÔGâ?p॒’èҥƽFs}60õ÷ø¿¤šÆšG© * Ä&éNb²˜ç£ÎSf£eL6óäó“š2šÓ ¦'–$FdG°Ø,sUóáŠÃÉ>Ö}¼ðú¹ g£©’éWš_u"ŒÖºÅÅGçGW7VËÓäÇk—‘€º¦:¯—^êRêŽFÿùd³ÙžžâCÄ¿Áýº —Sá§ährsMæv4žn”\šœW‘g¬`Ld9@å£nüjchfèÔ‡˜è0Œ¼¼<ç$*++9ÂU~ôÓO?‰ˆˆôÜA{$Ñ177ïõïãæúl`Ííß¿ŸN§/^¼˜³±Äà@„¹¹Bü>î³5·8.¾x±gc?Š¿wÅÆ­º¶ª´º”Ø”£É¹Û»Ÿ;±hÄ""ka0'ÂNØéØ%•$y†{’;:9þ:ýW*… õœ»ˆÆ¥æKyIt¸Â¥ÉºÛ»sõy_ó~ÓÍMáÙád‹°€ðÞI{†9 ?J}”Q–a§c'*(JvÏ?rtõØö«Jÿzñ—‰‚ ™èðOs×ã¯ç~Ìm»ëHW)a©”T’cÔÆp6š(˜ '—&·{ô/''‡Á``¢ÃiÞ¼y•••=ÊÉÉ¡R©†††+V¬˜8qb´û;w*))uû°]×gknÿþý666\‰N‰çαJJ¢í÷ûâúl`ÍíßÿÂÆF•+ÑéGñ÷¢šÆšÕ×V—V—jHkXiX1YÌgÏvq¿~oòߧׯ#«SXYx?ùþ„t)úz«õ=FHFWLs¥ÿʸÂ8 kMk !‰ìòìàÔàwwjÕ6U2uî²÷ÁÞÛ‰·ç ŸGîåëÎÃ;6ã/ñ´èzüõYíÌ,7Í`Zk‰NIu (‰ÿçß%> Ÿ’¸Rú‡ôFf£ Uç“€¢¢¢„……q:rNbbb›7oÞ¼yó—f·è³ñ¨Ä¿sç˜ö;õ†>ú{ü_Æ­w·JªK¾ÒüêôÜÓT¨kª[reɇÚ\=ËjË~öë“9ÄfLaŒË—sQçÖŽ[KÜÔéŠÛ‰·KªK¬5¬Ï8!Ãpõq-«-#û}ú”ÉdZYYóéK.''ÇÛÛ›Åbedd,]º”N§wèÂvè;¤y) ƒÁzô('>þ=“ÉÒ×—™~ü˜ì ""ò矓B2 777GGÇììì;v‹b¬X±‚s-û¨¨¨3f›ŠŠŠ§OŸvssûî»ï820‡m;¶µ}¾äqccc‰¸›r5æj㸠w¹Ý/Öï'ÛŸÀ/ÖOlˆ˜½¾}OÄÓ¢.Öèï·Tp6²Ø¬‚Êq!ñA~;'%%¥´´Ô¢·A=üzymmíÔ©S³³³ÕÔÔƒƒƒ§OŸž ¨¨Èd2§OŸE§Ó§L™"%%•žž~ãÆ+VŒ;–'""âÖ­[FFFùùù~~~ÿý÷üùó‰é«ªª‹ŠŠtuu'OžÌ`0îß¿¿b÷ox͵=,±uè|‰n/^¼¸qãqÜÜÜÜ€€€K—.éèèìÙ³GMMmïÞ½\ÅÈt:½sjû»®¶¶iêÔkÙÙ•jjâ‚‚ÔààìÄÄÓ§$$,STe2ÙÓ§DEÑéS¦Ð¥¤„ÒÓ?Þ¸‘¶bÅ}™±cÉ8 nÝJwpÐ42’ÉϯöóKþûï¸ùó lmÕ ªªÑÑ1°¨¨FWWjòd:ƒÁº?kÅŠûí†×ö°<ÆÖ¡ó%º½xQpãFšƒƒ†‘ÑÐÜܪ€€”K—ÞéèHíÙc¡¦&¶w¯åþý/èt ²F‡Nçž)‹Çµ}‚’„äWäsN!“W‘×¼gÞGîFâ]|ˆ8S¼Ô6ÕrvàúÂn7Œ¼Š<Î0¸2 a øÚìkQ®Ý…ø?Ýê¥:JSFózüõm~L.MN,NüzÄ×äOyÇK<-êbqoìeÎKÎÆ¸¢¸º¦:“v>°ÝºuKQQÑØ_/è}=›èüûï¿ÙÙÙ–––< 6kjjZ°`Áµk×N:µÿþ€€€¨¨¨ \¼x‘Jýô;**ÊÂÂÂÃÃãÊ•+DKIIÉõë×ÉÙ¦L™²dÉ’   â ÛÇǧ  ÀÞÞþÆÄÓÐÚÚÚI“&•””´^ÛÃò[‡Î—èVZZzþüù%K–›/_¾´²²:vìØÎ;ÕÔÔöíÛçî©I>ºêôÚ>Á®û÷ߤììJKK¥œEE ©‰µ`Áík×RNz»ÿ¸€€”¨¨¢ ô/^œF¥~Z±6*ªÈÂâ_×W®Lÿœµ×¯ÏrtÔþœô%Kîe_Ø>>IÕöö7n̤@mmÓ¤I~%%µ-ÄÄ¡íayŒ­CçKt+-­=ÞaÉ’OyÌË—…VV>ÇŽEíÜ9FMM|ß>Kw÷pMM‰}û,;}ay9ÁÉLÙŒ˜¡Îs®'??408_­"e•gÄpÖèÇdÎÑ£__L,I430’7jé€ÝO‹ºX£ë­Öo»³mýõõÓ §+ˆ)„f†¾+~'O“Ÿo:¿‹#÷k¡¡¡………8U`ѳ‰Nyy9hjjr6jjjR(”²²2(--€v«FTUÿó°™F£@SSçQ¸ž,ý·j IDATï4ÜÓÑayŒS»çKh>­ÑBìÞjû»®¼¼45%ÿ†$…eeõPZZ^^±m£ª*öß8?ÝÃà< .ÁÙ‡k³Ãò§vÏ— ¡ÁÑBìÞjû$QAQϹž«üVe|ÈÈø²4Ù¶;·ÜÚ""ðŸ*òÊ#´d´NGœÉ!Z׎û<ÿãx“÷&³,3³,T%UO=¼Üw9aœž{zÕµUäîCE‡p8°æÚ²•B=ërvÛmÓûÅø‘íò4y2Ë[ÛûÉ÷`žé<è^âé!sMæf•eyFxÞH¸A´k] òõ|||FÅõO4ê-=›èHII@FFçŸwFF›Í–––&;¬]»VV–û7]ÞçI$ÉÊÊ"kSˆÍ.…Þ©ØÚ=_Bff&׎D ±;ï±µ{ ž&%%55?µgd|d³AZZˆì°v­©¬,÷áõï1HVVY›Blv-öÎÄÖîù23¹c#ZˆÝy­Ý NÇ?ZýèQÚ£ÂÊB1;»Çi@Qœ»¬ê›¦L̉d±Y#UFš*™rþTSFó᪇S–T—¨H¨ØéØ506XmàêÖE“àUÁÄLÄòbòv:vl6{ƒÕÎ$FJXêŒÓ™ôéQyQeµeÒ"Òt)º¹Š9ù¶9aݸuz²z0Óp&ï×k­+^âé![Æo™;lîó¬çUõUêRê6Z6ƒ<ËIHHxôè±8ê z6ѱ´´éÙDgáÂ…îîîaaa†††äËAïÞ½“’’úöÛoÀÅÅÅÃÃãÌ™3÷ïß·µµ•——///OMM}öìÙæÍ›GÅËQ,X°wïÞ   “É“'3™Ì{÷îUWWC³ÇöÒ‰ØÚ=_‚¬¬ìÒ¥K¯^½jllœ““À`06mÚÄÏÿéC[[;::ÚÕÕUCCƒ˜G§êi ê»»‡‡…åž#_z÷”зߚ€‹‹ž‡Çë3gbïßϲµU——)/¯OM-ö,oófóQ£x9Ê‚ú{÷> Ê019?y2ÉdÝ»—Y]Ý]øãíLlíž/AVVdéÒ»W¯&ÍÉ© Ha0X›6™óóJ—µµ%££K\]ƒ44$øø(Ä<:8Ðàô4ý©g„§¥º¥Š¤JqUñÓô§õê]Ÿ‡“g¸'1Ls‚TÁ5=þH¨×@ýôéÓóçÏwåÛu¯žMtDDD‚‚‚ˆé^<=?½Ñ ¤¤äëëKÞ´iÓ²eË.]ºDlóètâ@=MDD (h.1Ý‹§gÌÿàùúÎ 3ñóóÍ]¾üÞ­[éÞÞqäŽÊÊ´Ñ£ySLL00pÖ̙ד“Ë’“Ë@AAôèQW× ²V·:[»çK°´TÒ×—>|8òîÝOÏ(¿þÚ€sâãM›Ì—-»{éÒ;b“˜G§œtdu AIAd‹‰¢ÉÑG»÷(§#NW5´|cOlˆØÈ3z=Ô MMM»wï¶´´ìúÔ¬¨õøZW††† ÁÁÁľzzzöööœ3#:ôæÍ›III¡¡¡¥¥¥²²²:::ÖÖÖÄÝüüü{÷îÕ×ÿÏïjD#ù ÆŒ“ššzóæÍÜÜ\GGÇÛ·oëq9ãqضckQ»çK8tè‹‹KHH‹Å7n׬y²ýûÑ—D!çÌå…³³3øùùµÛó {÷:yÿæýû÷VVVÉÉÉ111<¾°ýeÔ×× ;::öv,m¡P(7nÙl6ƒÁ5jf9}ÞÑAõ'Ë}—kJkî²ÛÕéJ«K¿¿ñýd½ÉKÍ—v_\-hb6-¹²Ä\Õ|óW›{ô@-*©.yœö8$#¤¢®b¦ÑÌù¦ó[ìö±îc@|À›¼7 Ì=Y½ù¦óU$T¾p¨}\}}ýªU«êêꈇV$ƒñøñã‰'öVlˆ˜è „ú“W¹¯ê›ÚZµ] ̆ÈÜH]YÝî ‰àêãj g°ÓöóZ.,6+27R\H¼{Ä‹_ýr>ê<ùœÅLÙ¬Ån/s^~wý»u‰Í'iO¼"¼—vb‘Ñl÷îÝééé £ùøøøvíÚL,®Œú¦Ž%:>|ÈËËÛ´iSEƒúŽàà`üƒ`bbbTTúý/ëÞ.Þ´!´ÞŽ¢‘¹‘}gJ‹’êYQÙ Z„„ÏGo±OÎÇœ~+êšêÆÑÇÍ6ž=TthÚ‡´K¯/Õ4Ö|Ù`û´ .¶¶„‹Å*))ñððà\¬õ5KtRSSóòò<<èph±Ò°réÚÈhy­A(**ê—_~i1Ë¡R© …Á` ¥§§×ÖÖâM>«c‰±öd\ë u/ …pÀ¥·AÝËù¿«ÇöKÍkt²Ë³ýbýRJS˜,¦¦Œæã9òÿyòSãã›_™¯(®8oø¼¡¢C›[Q_áë]ÝX-O“Ÿ¢7e¢ö§Â ²ÔfݸuÿFÿ‘Áb³FªŒté*" É¥Énܘ,f|QüÂË ‰½vOÚ­)ýiaQ&‹éãšÚÈl4S6[2rIOß”’£ÉµÝ¡²¾òaÊC!~¡vp¶S)Taáž ­)Z»v-ç¶€€“Éd±X’’’¦¦¦£F9r¤©©)??ôiøÇƒêO¸jtî&ÝÝ|ks³‰Ø Éù'êŸÝv»]G~š¡ß?ÖçÝ,ö§2Ò€¸€-_má3:?z•ÿªòºr²åZÜ5òVQjCB[vuÙËœ—D‡Çiâ®,º"%,UÕP™ •õ•Äâ3ñÅf}ðíã´ÇÄæÓô§’ø/ö  ´vŽˆ/jç~ê‘G”Ä•ÚîÓ†ØÂX&›i­n ÇÃŽÇĈ ŠŽU;wØ\!~¡N;`0™MsËÊʨT*P(uuu ssó‘#G€GÀƒ &:¡þª¸ºø‡Û?41›ìõìíõíøB2Bübý~þy¤ÊHCyÂʂ=÷÷°Ø¬9&s&jOd²˜w“îþþìwÎAªª×\[ó±þã,ãY6Z6B9sο:ïãg¡f1Óh&ÑíYÆ3ÚÚ6?ê Õ)¬*ôzé•þ!Ý=Øý茣z²z—^æ*F&ëyŸe<“–Ü6a›ÎPâêâ¿^ü•Pœ”ähäØÚy%•&‘ Skꚺô²¨ªÅ/:§ø´F÷ݤ»ÿFÿ{yáeIaÉ® >ìˆ155;vìÈ‘#GŒ!!!ÑÛA¡NÂD!Ô_ÆÖ3ê9«L¦èMQS<vüjÌU·Én7n62—Zö“íOD‡iÓ~¼óc@\ÀçA?Ô~Ø:~ë‹5dãTý©ãÿ@&:l`_˜ÁPÞØtÐw˜tfÒÄ;?Ûÿ,6DlŒÚ …"!,1Fm 9H£øùø}¾öÑÖ Õ%Õù,z“ÿ¦DgÇ„• •mŸ{Wnç@#³ãŇˆï²Û¥!­‘SžãõÒ+¹4Ùý‘û‘éGº2xW[[;räìÐÐSþþy½ ê˜è „ú«¤’$˜?ü?3Ä,0[p<ìxbq"$—&€ó0gÎÎÜ9·oàaÊÃÙ/ˆ²S6°‰ä­03 ³–²Ó±óõO{Ÿ6LqXAš(šY+@ymyë{WQO€FFãÅ¥5e>ÕMО0Åkʽ¤{¶ñdmÀÑÔ 0¤·AÝ„PEÜ2ázÎ"!$A¡PˆÕ3ê€k& ¡ÿ<ƒ¨m¬€˜Â˜æã ò ’Ÿ›O‡CŒC¨ \‡#²f¨E_ FGYBèÒt2Ë =Y½ØÂØ÷5ïÅ;=8B} &:¡þŠx·(¶0V]JlŒ+Šc³Ùòbò '* Å b œ8!¾ÑÝ&»iÕæŸŸïó¿)¥)MÌ&Îûq…q@àÓ n9¯/P£c(o(H,¯+g±Y|”Ok±Ùì÷5ï@Dß”FÇ NtŽ9òÃ?­²¾’ÅfÈP./¼,%,ÅÙh”‘î¶+Ò-›Ë /7oç _‹Gï^r4¹vW ©JªªJªöh<õ"üzþ,33sìØ±%%%Äfqq±ÏíÛ·?~lnnNv;|øð•+WÈ]vïÞœœ|ñâÅ^ˆ!„BmÔ5:\¾ÿþû’’’¯¾ú***ª¦¦&!!aΜ9UUU+W®äìvíÚµ£G”••ýûï¿ÒÒÒ—.]zôèQo…B¡ÖàOjjjîÞ½+''wëÖ-qqq044¼zõª©©éÛ·oSRRtuu‰ž7nܼy3ñyÁ‚L&ÓÕÕÕßßßÖÖ¶×¢Gõ˜KmBýÞÑù$++‹Á`X[[YŸŸÊ”)––F6-${{{®¡„¨ªÑ•Õíí@B‰Îtâb|U!„êƒ0Ñù„N§óó󇆆VV~žý‚Éd>xð´µ?Ï ÿþ}ÎïÞ½ ZZZ_*R„Bñ ODEEŠ‹‹gÍšõæÍ›ÚÚÚÄÄÄ ÄÇÇ›šš’:àááñûï¿•——ûøø|ÿý÷àääÔ{±#„B¨eXŒü™‡‡ÇË—/Ÿÿ.™ù÷Ë¿ßä¿©n¨VS˜¢7eý¸õ´!´.Û^å¾ò~åý&ïMUC•ª¤êdÝÉ+Ƭ’È.϶=m»hÄ¢}“÷‘‰Æ¥æKwÙí"ZXl–w¤÷•·Wò+óÄš-tÐwà:DVyÖå7—Ÿg=Ï)Ï¡òQueu˜.˜c2§‹×¹íayxéÍ¥”Ò›¥)£é4ÌiшEœ¼µ‹ÓñËŒ LtBýLE}ÅüËó + ‰Íkq×>Ö}œg:ïÛ€o™,&Ô5Õ|qRZDz‰ù¢O´Ïž{Øl6±™W‘w6ò심¾®¾Â¶¹ÅW¿ÈzÑvü÷WÞ×’iuј‹¯/îÞO†šþ!ýTø) …²ù«Íí]˜Oö>ØëíC|Îý˜{øÉá„¢®>«üWe|È 7£ó££ó£KªKÖX¬!;qAx¶ ‡žúûåç >Þ¿Ûÿpt~ô±™Çˆ–®_4a¢ƒêg^å¾GwÆéŒ†´FJiʆÀ ÒEåE-5_ºÄ|‰¤°äã´Ç[nm9y–øÎý˜ëöÐM|ˆøö Ûm´l$„%rÊsއ¿›t÷Ÿ¨ÈïàŽÛ2Ë2ݹóQø¾óó0gEqÅüŠü)†ðáq„ØÂXŸhÚÚn»Ý¶Ú¶ ã^ò½ƒruÓ–Ñ^9f¥¹Š¹Š„J=£>©$iÏý=žž+Ç®¤R¨DŸN\^†mMBqÂß/ÿâÚ6a›½ž½U $#äçàŸo½»5Í`šŽ]×/œ0ÑAõ3Ò"ҧ枀aŠÃ¾ýÛC·‘*#wLÜAt˜n0ýFÂ'iOêšê„„ã,†»½;ùG{¨¶ÇL¨¼¨‡)ÉD§£Ã¶Û…ùºrj7n0Y̵–kÉ[Z2ZßZ|Ëû÷“ïÀ6?Ì5™K´,±¨¢¾âسcœÝÜ&» ?åîYXYØÈl$Ûó+òÕ$Ոϸ ¼ Ûš»Iw`ݸu®#]‰G#G> ߦ››î$Þ±Ó±ëúÅAƒ&:¡~ÆHÞˆøö%(K(ÀhÕÑœ}”Ä”à}Í{UIÕÔ÷©°ñæÆ77O=ØÀ&>P€Òéa»ÿÄÒ?¤€ƒwI ï²Ë³ÀZÚ³ñ+¯8ŠúŠ9æÏ¤8Õ7Õ“Ÿ;zAx¶5YeY0Q{"g#±IœT×/œ:–èDDDäåå‘‹C¡mÀ¼ÞŽu³ˆ•Þ¡´ø¨‚«‘øgŠÅf‘ÿ%ÊJ¸pÞuèè°-êzp,ÀÇ…¨Ée›³±žÑ~ÁåZܵÂÊÂɺ“×[­W—Ræ¦P(»ïï&+{½ <Û¶v¿_ð uTÇaaáiÓ¦õP4¨ðððX¶l™™™Yo‚º“···””ToGÑ ˆ¬âŸùÿŒ£ëíXÚA„z7鮾œ~óŸ ¹s9óÃ97Õ¥Ô 43ôk³¯ÉÆg™Ï8ûä”çÀ–ñ[È|«‘Ù‘ÑÅà»8,]šOÒžè Õ!Ÿ¦?…ÿŸTÛ¡Öt,Ñ‘‘‘‘‘‘9vìXû]Qæááaff6uêÔÞu§   ÖÛQô‚Ù&³=Ã=7ßܼuüV+ «¡¢C+ê+²Ê³î$Þ‘§ÉóøBºX£ãhäx*ü”g„'“Ítæ¤ ¦PPQð å ¿àòQË…„•Ä•B3Cýbýô˜ S 9Ê9½)§#Nÿöô7!~![m[&›y7éî_/þâì£$®^/½6Zo”–L-M=z,³,³+‘w}X}ÏpÏ?žÿ!:DtŠîªÀ³ŒgûúSÛ½8]  `X£ƒàèRôŸíÞ}÷Ž»;¸~´zìê^ ©5Ò;'îtäîîéþyööµ–k‰+ƬØÿpÿŽ ;‚>‹ópg¿?²ç0Åa ÌøDûl»³lœn0ývâmrs†áŒ“/NúÇúûÇú-´!´Iº“¦<ìJð]ÖHÞè›Ñßœ<»÷þÞ½÷÷r?Iwðpqj&:¡Ïe¸‹¾œ¾w¤wdndYm™´ˆ4]Š>Í`š£‘co‡Æm‰ù]Y]ïWÞÑùÑuMuª’ªSt§,ý鎅ë×ÚÆZŸ·>ÅUŪ’ªËF-GÇ™è€Ûd7uIubÂ@yšü|ÓùÓ ÿ“è(Š+^ZpéðÓÃñEñ|¾‘*#´ù‘ÌN:­ëÃC_NÿÒëK)ïÿ?a ‰ù´wqj…œy‰ÎÎÎàçç×nOÔ¯Q(”'N࣫fݺu4­ëÿÿWWW·Ñ!(ˆ¶aƒ|ZZz„PoÁ¿Ã}F“——ç½?®u…B¡ „B Xƒ=ѹzõªÍÛ·o{;„Bu¿A”è\¼xÑÆÆ&..޳1777$$äãǽB!„zÎ zë*;;;$$¤¢¢‚³qÞ¼yæææ¦¦¦½B!„zÎ JtZ¤ªªªªÚ#kÖ „B¨×uó£«Ç¯]»ÖÁÁaæÌ™û÷ï/..&ÚKKKíí휜êêêÈι¹¹“&MZ´hƒÁh{wRHHȆ ¦M›æìì|ðàÁ²²2¢ý—_~±±±áº[C4ïÁnÙ²åìÙ³°~ýz›7BK5:L&óòåË®®®“'Ož?þ™3gêë?/%sæÌ›´´´ÄÄÄuëÖÙÛÛ/Y¾OÀ2IDAT²äÉ“'í^™ºººßÿÝÑÑqæÌ™¿ýö[mmí¡C‡8c&GŽ‹‹[¿~ý”)SN:Õn<íž8çÈÑÑÑ«W¯¶··_¾|yXXX»1#„Bý]·ÝÑa±XË–-»páóôç·nÝ:qâăFŒ!++;wîÜU«V‰‹‹{{{@cc£³³ó›7ož>}ÊÏÏßöîÀd2—.]zéÒ%²ƒ¿¿ÿ¡C‡ÊÊʨTjbbbHHHSSgHD#‘EÅÄÄdeeWÝ1WNMM½½=gpõêÕ?ÿü388XNN222BBBnß¾ýÓO?ÕÖÖ}.^¼xõêUb’¡UTTŒ?>&&†<5???---Θ‰‘ýýý÷íÛ×ÐÐFFFíÆÓ#ûùùíÛ·¯±ñÓ†çÎûã?Ö­[×ZÌ!„ÐÐm‰Î¯¿þzáÂMMÍo¿ýÖÀÀ ¡¡áÁƒ^^^ .|÷îßÊ•+ÃÃÃÏ;gii¹bÅŠM›6½|ùÒÃÃÃÒÒ’—ÝÝÝÝ/]º$""²víÚÑ£GS©Ôׯ_{zzò8ááÑ£GOœ8áíí}âÄ ””lÞmçÎaaa²²²Û¶m300ÈÊÊ:räH\\Üš5kÈnÛ¶m›>}º““F»yóæßÿ½cÇŽ6;vÄÄĨªªþøãšššÉÉɇnñU¯={ö888¸¸¸(++«ªªò/öîÝkoo¿`Á!!¡{÷îyyymÚ´iÒ¤Izzz!„êGº'Ña³Ù¿ÿþ»‚‚BTT¹<òœ9s¤¤¤:Ad3'OžŒŽŽ^¿~}ffæ_ýåââòý÷ßó²ûرcOœ8! ðôéÓQ£F‘¶mÛÆÏÏÓ) >\CCÌÌ̬¬¬ZìÃ`0¼½½…„„ÂÂÂtuu‰Æyóæéëë“S1ºººþý÷ßÄç3f¤¦¦†„„”””wYš{áÂ11±ððpeee˜:uêôéÓ‰|‹‹££#9q-ïñðbúôédn4{ölEEE77·óçÏ|øÐÚ°555“'O&²‚ŽŽÎ¸qãšw^¼xq'âáÅòåË›ovt„B¨éž;:DÝkiié£Gšÿ”¬e*• jjj¢¢¢<îN”0:´CQ1™Ìõ'Š|¥¥¥¹Ú‰Î`®>‚‚‚m޾ù“2òÞ'•NÄÃ¥ÅH¸ ᬠGõ •õ•ç£ÎSf£eÓÛ± ÔtO¢£¬¬L¡PFuøðáæ?ÕÑÑ!>466:99UVVΙ3' ÀÝÝ}÷îݼì.,,L¡P"##›ššš÷!¾ÅKKK9“¡øøxÎ> Ú¨éQTT€×¯_³X,>¾Ï÷º^½zJJJm\6;FGGs6²X,²6¹y¼ÇÃˉÞ¼yÃùÌ.** 8o2!„ú…ʆÊa'X„‰B¼èžGW222ãÇóæMJJŠ¥¥¥Íÿ©««ß¿Ÿ¬\Ù¸qã«W¯~ÿýw__ßñãÇïÛ·/88˜—Ý¥¥¥­­­ÓÓÓW¬XA¾R^]]ýË/¿°X,ÐÒÒb“Á`ìÙ³‡ëûžF£@zz««ÑÊÊÊŽ1"))iûöíÄ{Ll6ûĉ>TPP>|xç.ެ¬ìðáÃß¼ysðàA2¼Ÿ~ú)--­ÝÛ‡—'¸»»É dggoذ&OžÜ¹“B!„ú…n›Gç?þ]½zõСCMMMÇŽ«   ©©yèÐ!âIÊåË—O:5oÞ¼uëÖQ©Ô+W®ÈËË/\¸0//—Ý=<s挪ªê˜1c~ýõW®ÔÄÌÌ V¯^=zôhr.¿þú+ßo¿ý¦  0zôhEEE¢\ú×_å±ê¹E?ÿü3ìܹSQQ‘ö·ß~#Š‘‰y­i7^Nœ ¢¢2fÌ}}ýáÇëêêÆÅÅ™ššÎ›7¯Ó'…Bõ}Ý–è¿|ùrêÔ©555111/_¾,..ÖÑÑ9|ø°  `BBÂêÕ«õõõÉ—•®^½Z^^îââÒÔÔÔöî`ff:nܸúúú„„„ØØX!!¡]»v‰‚‚‚ÂÙ³g%$$ "##ùùùŒ9#´¶¶^ºtiSSÓ«W¯BBBZ|»ÛÖÖöÖ­[ÚÚÚeee¯^½*..VRRºxñ¢««kW.ÎŒ3þùçiié’’’W¯^±X¬K—.ˆûL­i7^NœpüøqGGÇäääØØØÆÆF[[Û»wïסþ‚Éfž;q;ñ6¤H¿øú≰M̦s¯Îýý/Ù­‰Ùt"ìĉ°µMŸ }c|½^z}áÀˆŸÆÅ_|}ñTø©€¸€µÜo-”Õ–ÝK¾w&âŒ÷+ï°Ì0&›»Æ®¦±æfÂMÏpÏÀøÀšÆš:„* óЈ©bÈ÷Ÿ[TQQ‘––Æb±ètº¬¬,ј’’RPP ««ËUéS^^>|øp²2·ÅÝ9gffJHHhkksÕëÔ××ÇÅÅñóó &&&[YYqÞŒ)))IOOohh””455ÍÍÍMOO755åªÕMKK+..–––Ö××笛ÉÈÈÈÉÉ177çLPˆÆQ£F‘åÕ-jll$*²X,MMMaaáÌÌÌ6Fn7^N|ûöí‡ŽŽŽ655ÍÏÏÏÉÉQVVVSSk#T …râĉ©S§¶Ñõ;ëÖ­£ÑhmÿÿË‹ââbrÞíÑ6lOKkõ1q§50ŒŽÙéØéÉê|q’hŒÙ³õöÖ§éO_o|-" áÙá®>®pÆéÌDí‰ÐÈlqlĵ1g]ζ8òõøë¹sÛ>ºëHW)áÞ!h#°º¦ºM77…g‡“=…„÷NÚë4̉Øü9øgŸhŸFf#Ù.E÷röÒÖ 6ã ãV][UZ]JlÊÒdÝíÝWû¯^4bѾÉûÚuZÏýF]G£Ñ:4»J÷¯u%!!1räH®F]]]Îw¤IͲ´¸;'yyùÖÎPHHˆóýs®>rrrœ³Ý´¶Ö•¶¶¶¶¶vóvMMMMMM^¹;vlÅŠċ蕕•ß}÷]qqñêÕ«y¤µx¼œ8AYY Qœl­am o Ä/$@°¢[=Ly‘A¤5a™a""¡™¡DË«ÜWõŒz+–çЀëñ×_d½hû¸Ó ¦µ–è´…o¥ÿʸÂ8 kMk !‰ìòìàÔàwwjÕ6U2€ÐÌP9šœ™²™²„r£!±$1";âÇ;?ú¹ú@McÍêk«K«K5¤5¬4¬˜,fHFÈŽ ¸h Zƒ}QÏ/f÷îÝÛ·o'îB¥¦¦ÖÖÖÒh´mÛ¶õv\õ?j?qÔÑÈ‘l!2˜°Ì0"­ Í «>VlˆXXæ§åSˆm$:³g›«˜·}\iî¹ÚìnÒݸ¸†3ŽL?BåûTWçtÁéÜ«sÇ€Ûd7M͈ìˆÂÊBAªàhÕÑïkÞGçG—וK KÝN¼]R]b­a}ÆéŒUêšê\}\ËjËÚŽ!DÂDç Ùºu«‡‡Ç»wïˆÍaÆ9s†˜¬!Ô!ÒœY¨K©«Jª†e…@y]ybI¢Ó0'š íF‚Ê%q¥°Ì09šœÎPÖÆœm<»Û{žõDD<#>-VÃf³ÙÀ+Œ#ú¼-x»ìê2‹Á5Ô‡šRÂRoòÞÀz«õD–ÂÂßY~·Òe×£EhÀDç Ù·oß®]»²²²JKK•””ÔÕÕ¿Ø¡W­Zeoo߯“/„úº4½y£•†•O´O~Eþ›ü7l6ÛZÃZTPÂ2Ãlul“J“fÍjcÌ.Öè´qßåjÌÕÖúGdG 9*H´Ó±S—R¡%434:?šÅf@E}¨H¨pî¥*ÙÂÓv„Pk0ÑùrøùùÛ.µé!¼”!ÔP)-LÊ0Ž>Î'Ú',+ìMÞe e¢˜WWV743tÿ6›ÝÆs+覮À$„%àk³¯eDe¸z ñ À“ô'ðçì?‰'n„Ä’ÄÏ#I@^Ežísea» Bˆ&:¡ÀRÝ’ÊG ÍÎ&§ Gw=þº UèÐÆîÝR£ÃÅBÍÂ/ÆÉf®·Žòy.ÒêÒªBøÿLè´!Ÿ_´ŒÈŽxœú˜Ü¡2âZܵ?Âþà¬Ñ!ßêBñ„Ð@ .$n,oü(íQ³ÉZÓšh´Ö°>÷ê\PR¾œ¾,­…é*HÝR£Ãešá´óQ篼½šjI·”‘©¬¯Ì*ϊ̉üfô7Ç™)™ÀjÿÕözöR"R©ïSCÒC¤E¤ß×¼'F˜n0ýxèñÐÌЩg§ZiX±Ø¬§éOëšp‰:„:„P7#fzb³¡Ù”O=ËZÓ:¦0†ÊGµP· ZF«¤ 62ÇÑÇ}ÑP€J¡žu9»íζÇiýb>O_$O“¦8 ¦èM™a8ãÖ»[~±Ÿ~ê<ÜYLPÌû•7±)*(zzîéU×Ve–ef–eÀPÑ¡¬¹¶æ‹ŸÍàòåÿö¢žƒ‰B¨›‰ˆ° ¾žOX˜Õ½#óSù7XmДi¹æÌÑÈ‘Â'%,E”¶€¿ÐžI{JªKìõì»7“–:ãt&ýCzT^TYm™´ˆ4]Šn®bN¾m~læ±…f ã‹â)ÊHå‘&Š&a™a´!4²¬ÇDÑ$xUð£ÔG•òbòv:vl6{ƒÕ"UB=¤¦†OT´›ÿö¢Þ‚‰B¨›ÉÉ1  €ª¥ÕÍ_T uƒÕ†Ö~ª!­Ñü§óMçwo -j;0---­Ö~:JuÔ(ÕÏ~ZiXqÕM‹ ŠÎ4šÉÙÒÆ±P·(*¢ÊÊr¯Åú©':ÄBh`óöö êí(Pwzûö­•U[ou-­F~~vBÂ-­¦/p8„ºÝ»wCôôÛï‡úƒŽ%:=êSTTT¤¤¤Ú^põ;VVV_æaAAöˆõÏž‰ÌœÙÖ’XõM”ðpáÄ駈Ž%:›7oî¡8BÉäÉ5ÇŽIc¡ꂃEëëùlmq¡ø‚¯ý.!ÔA³gW±X”ÿïí@ê6Ξ•´±©QPà^—õS˜è „ºŸ„kåÊþ)URÒÂ,ÆõYbññC6nÄçV&:¡±re¹„ë÷ß¹W?@¨Ïª®æ;zTfþü ¬D80ÑAõaaöO?½¿vM, @¬·cA¨},lÞ,ÇbÁ¦Må½ êN˜è „zÊ”)5«W—ïÜ)!ÜÛ± ÔŽC‡dž?9uªHRgÐP0ÑAõ Í›Ëììj×­SxõJ¨·cA¨el6œ8!}îœä¡C%ffõ½êf˜è „z9R¨7ee lÞ,¿`²Œ 3 ÏÒ²®·#B=…Âf³{;„PR\\\]ÝÉ;üuu//)//I>>¶]ÍW_Õ7*(0peÔÓX,¨¨ fe ¼}+,)¬¦Ö´s眹ߡÑhòòò¼÷ÇD!Ô1]It|ׯ‹=|(%ÄdRº+0„x!)ɲ²ª9³jüøZ*>Gí‡0ÑAõ¬®':¤ÆFJZšàû÷T|’…z…Âg©ª2TTš(˜]÷gMt:¶¨'Bu#AA¶¡aCoGÈð·(„B X˜è „BhÀÂD!„B&:!„°0ÑA!„Ѐ…‰B!„,LtB!4`a¢ƒB¡ „B X¸B!„,¼£ƒB¡ „B X˜è „BhÀÂD!„B&:!„°0ÑA!„Ѐ…‰B!„,LtB!4`a¢ƒB¡ „B X˜è „BhÀÂD!„B&:!„°0ÑA!„Ѐõ?prr‚‰‰ 1lØ0|ñŨ©©;ÌûRnn."##ѳgOXZZB&“ÁÁÁ={öÄøñ㑞ž.vˆDDDMbRNDD-öÚk¯AXXXˆŠh¶nÝŠ‘#GB¥Raçθrå vìØAƒ3f`ôèѨ­­;ÔûJzz:z÷îÕ«WãòåËøðÑ••…K—.aÈ!øù矑““#v˜DDDMbRNDD¢ÊÈÈкÃ~áƒÊÜ :tè€/¿ü;w†¥¥%Fwß}W³}ß¾}Ø¿¿ˆ¶½ö>Wï¿ÿ¾&é~æ™g0sæL888ÀÁÁk×®…­­m›¶ODDÔRLʉˆˆZÁ3Ï<ƒÌÌLi´öèÑCkùúõëíÖ}ïСCšï  µM*•¢   Áz""¢» “r""¢6” µ R$÷§ÂÂBÍ÷vvv"FBDDd&åDDÔ&®_¿Žçž{®®®ÉdèÖ­Þ~ûmTTThÊDFF¢sçÎZûùùùA"‘ÀÅÅEç2o¾ùfƒÍ}ñÅèß¿?ÌÍÍaaa   |ýõ×zõ!''³fÍ‚··7ÌÍÍ!—ËáííI“&áÇDeee“ûaÛ¶mXºt)ÀÈÈ|ðõŠ!//ï¼óüüü`aaKKKøúúbòäÉØ¹s'T*V­ZÕ ÿ?þø#-Z„îÝ»ÃØØ¸Áöú¯>úpòäÉ&ËèzLu9WõnÞ¼‰… "00ÖÖÖ011³³3{ì1üøãÍ—ú— –––jÖM˜0¡Ñ¸ÍÌÌìßÒö‰ˆˆZ@DDÔJ,,,¡cÇŽÂÉ“'…›7o £FÒ¬ˆˆÐÚçúõëšm„óçÏ7¨W—2‰‰‰Ze $dddéééBïÞ½5ëß~ûmú¢V«ooo€`aa!8p@¨¨¨òòò„Å‹ „Ï>û¬Ñ}—-[¦‹‹‹‹ðõ×_ µµµ:µ]/!!AprrFFFÂÇ,(•J!??_X°`@X¿~½¦ü­ÇßËËKXºt©PPP lذA ÄÆÆ öööš2 ,Ðj/55U055233 >¦ºœ«ääd¡sçÎA¡PŠŠŠ„E‹iö ª««›=F·öyÛ¶mšõ;vìЬ755m³ö‰ˆˆZèLʉˆ¨ÕÜš ½ÿþûšõß~û­f½»»»Ö>m•”ïÚµK³íûï¿×¬722.]ºÔl_.]º¤Ù§[·nBMMÖöAƒ5™” ‚ ܼySØ·oŸàå奩gðàÁB^^^³m×0`€fß±cÇ6ØØdR>lØ0­²ööö‰'„wß}WSÆÞÞ^(++Ó”yã7„‰'j– 9¦ºœ«Áƒk¶O™2E³^­V 666šmkÖ¬iö’”·fûDDD-ô?_'"¢6ááá¡ù^¡Ph¾ÏÌÌl—öÝÝÝý¾¶¶Vót33³CëãîСär9€ºi·|}}1{öllÞ¼×®]ÃÑ£G1cÆŒ&Û·²²ÂÈ‘#±cÇH¥RÀ‘#GðöÛokÊÜ©ýÌÌLÄÅÅiÊöíÛ·A'NœÀÔ©SmÔ¨QZË7nÜ@`` ^{í5˜ššòóó±~ýz@II ¾úê+Ìš5«É>érL›“••…#GŽh–oý9122‚›››f¹-†‘‹Ý>Ñ혔Q›hì9^¡]Ú777×|_Ÿ\×S*•Íî¯P(°eËͳЗ/_ÆG}„çž{]»vEhh(®^½Úl=>>>Z‰Þ¾}ûtŠ?77WkÙÒÒR§ý깺º6ºÞÙÙÏ<óŒfù?ÿùª««±iÓ&¸¹¹!88¸É:[zL4˜3üözný¹ÉÎÎÖ©N}ˆÝ>Ñ혔‘¨$I«”¹]yy¹æû[_.ŽŽŽ:Õ†ëׯ#66Ë–-Ø1c`ll  n*®iÓ¦iÊŽ?Ö#“É4ßëÔ¶³³³ÖrII‰Nû5Öæí"""4ÇôÚµkøþûï±víÚ;Þ%t;¦Í«ÛÿXp{=·¾<¯¾lUUF[[[|ùå—w¬¿9†´ODDÔ–˜”‘¨n¿\]] :t(¦OŸ®s™Û¥¦¦6ú½D"ÁÈ‘#Ô%`‚ h}¥¤¤222`dd„¼¼< 2sæÌÁ®]»ðÉ'Ÿhêºté’V›¿þú+jjj´Ö¥§§#99Y³‚B¡ŒGGGaäȑ–-[´ÊVVV =ö˜`mm-|úé§wì³®?sú´ODDÔ†þ'„vzãQºté|||4ËiiièÖ­›xݶlÙ‚§Ÿ~cÆŒÁ®]»lç1%""jsÛ8|ˆˆèõÿ÷ÉdÍ¾àˆˆˆÚ“r""¢Ä7 ‘Hð×_¡  óçχŸŸ†.vhDDD,&åDDtÏ{óÍ7µ†Y€››þõ¯‰ÑÝÉÌÌ ÁÁÁ9r$:uê„Ó§OcÛ¶mNcÆcJDDÔ>øL9‘8øL9‘X˜”‰„I9‘H˜”‰„I9‘H˜”‰„I9‘H˜”‰„I9‘H˜”‰„I9‘H˜”‰„I9‘H˜”‰„I9‘H˜”‰„I9‘HŒÅ€ˆˆ “šš*vDDDDŤœˆˆW¯š`éR{üþ»ºv­Æ£–aÀ€ xy©`k«†L&ˆ"Q›S©$(,”")I†¸89öí³ÀÆ6xä‘2Ì›—®]«Å‘î3Aø[Ñ=(55µUꩪ’`íZ;lÚdnݪñÎ;ù2¤ŽV'""‚ ‡›cÅ {¤§›àÅobÖ¬˜š2¢:ÎÎΰ´´4t÷mLʉˆîQ­‘”ççK1c† RSe˜=»O=U ©” DDD·S«%زŠkÖØÁÝ]…Ï?Ͻ½Zì°è.ÐÒ¤œo_'"z@%'Ëðä“PP ŶmxöÙ›Lȉˆˆš • xöٛض-R<ùd'$'ËÄ‹îLʉˆ@ÙÙÆxþùpq©ÁÏ?gÂÝÏÇéÂݽ?ÿœ —<ÿ|dgó5]Ô2Lʉˆ0¼úª  5¾ü266zGDD¤56n̆­­Ó¦¹ ¼œiŽ?=DD˜yóœ™iŒ³aeÅùW‰ˆˆ aaQ‹/¾ÈF^ž1æÏw;º‡1)'"z€?.ÇîÝ–X±":ÕˆÑ=­S§¬X‘‡Ý»-qü¸\ìpèŤœˆè¡V‹9 4´ !!åb‡CDDt_ )Ghh9,p€ZÍùDILʉˆ{ö(’b‚yóòÅ…ˆˆè¾2oÞ ¤¥™`σ§Å¢“r"¢Ä–-V1¢ ݺñMëDDD­©[·jŒQ†~°;º1)'"z(•Rœ9c†ððR±C!¢6–““Í×å˗ʼnèVŠÓ§Ípã†TìPè䜈èpü¸FFä³äDDDmaРr |áéI9ÑàÒ%ºw¯†\.ˆ Ñ}I.н{5’’db‡B÷c± "¢¶§TÃÕ•S "??7nDLL ®_¿èС|||0zôh :ß|ó –/_®µßG}„ôôtüôÓOÈÎΆZ­ÆŽ;àç燼¼<¬_¿‡Fff&jkkѱcG„††bÆŒ°µµÕÔSQQÝ»wcçÎHOOÇ7`ff†Ž;bРA˜:u*\\\Ë–-ÃÆµâxâ‰'ˆ‹‹Ó¬×'"Ò‹K ”J¦X¤Þ)'"zTTH —׊Ñ='%%O<ñ¾üòK¤¤¤ 22‡ÆÖ­[ѽ{w̘1;vìÀÔ©S‘’’¹üŸa«ÿýïallŒ;wbñâÅšõIIIxâ‰'ðÕW_¡´´»wïÆþýûQ]]7bܸqÈÍÍÕ”ÿþûï1oÞ<Œ1û÷ïÇñãÇñòË/ãòåËøú믎¢¢"ÀܹsñÇhõaïÞ½HIIÑJÈõˆtcn^‹²2N‹FúaRNDô@Â߈ô6gÎäç×M#8lØ0<ÿüó°µµ… ^ýuøùù5¹¯““f̘kkkL˜0666êçú$úñLJ››:uê„Ñ£G²²²°téR­ºúõë‡^x°±±Ák¯½ggg€R©Dtt´^ý2$"jžDR÷™K¤Ž­ """jDnn.Ξ=«YîÙ³gƒ2;vìhrÿaÆi-ŸV¯^øøxüûßÿtéÒ]ºtÑìûÃ? ¢¢[¶lAVVV£õ+ ¸¹¹i–ããã‘––† . ÿþzÇ@DDmK"èóÝ5RSSu.;kVݲ֮åGDú*((À¦M›ƒ«W¯B­VÃÉÉ ÁÁÁxå•WСCìÙ³o¾ùf£ûÇÄÄ S§NZë233±~ýzüñÇÈÎΆ‘‘„)S¦ÀÛÛ[S699K–,Á¹sç •JѵkW„‡‡ã‡~@RR’¦\ÇŽ 8wî–/_Ž„„TVVÂÁÁcÆŒÁœ9s4ÃÛõ‰ˆtÃÏÛ“³³³æØÆ¤œˆèŤœˆˆèîÂÏÛSK“r_'"""""" “r"""""""‘0)'"""""" “r"""""""‘0)'"""""" “r"""""""‘0)'"""""" “r"""""""‘0)'"""""" “r"""""""‘0)'"""""" “r"""""""‘‹Ý¢£³1sfœf9!a,LM¥"FDDDtÿãr""j3ååj<òÈ~¼üòŸb‡Ò*î·þÜnÄW¤¤„cøpW±C!""z`0)'"¢6#jkë¾î÷[Z‹Ÿß.LštØàíDDD2_'"¢6caaŒC‡;ŒVs¿õ‡ˆˆˆÄÇ;åDDDDDDD"ár""jͽ4¬¨H…O>¹„²‘]sscôîm‡iÓ<1`€£V]UX·. ¿ÿžÜÜ (&è×ϳfyÃÇǺÑöbbFbåÊ9’©T‚€;DEù£K ­ºSSKðᇠˆ‹S¢¦F@Vxí5/|ýu*ŽS&LèŠÐP×Fûch»ºô©9^^¿@­Öm(½ƒƒ)ââžÐ©l=¥²òŽ}Ù°!Ë—_œ:•©T‚¤¤0½¶;;›á³ÏàÃpî\jk^½lñÖ[¾èÛ×^¯¸‰ˆˆî%Aø`Ñ=(55Uç²³f9Ö®Ím«pš4cFÈÖJÊ•ÊJL˜‹ÊJ5–. @P#”ÊJ¬Z•€ýû³°dILœØ—WW¶ªJåËû (È™™exÿýs8w®ß}Œ€»í îŠéÓ{ÀÛÛ§Oçcúô8ôèa…íÛC4e¯^-Cxø!ÈåR¬XÑ}úØ#3³ ‹ŸGbâM”–VãâÅqÍöGßvõíS{k¬/gÏ`æÌ8tï®Ðê P÷̸¯¯ ¶nÒh}Ím3æ ÒÓKáímyóüàím””bÌ{©©%øæ›‡äÐÚÝ$"jub~Þ’xœaiiièîÛ8|ˆˆÚݪU‘‘QŽwßõGh¨+,-áæf‰5kúÁÑÑ žÃU—M@ff9æÍóCHˆ ÌÍ¥ðô´ÂÇ÷ƒ øàƒs¶1qbWØA.—âá‡âŒøøBªn‰#ÅÅÕˆŠòGp°“¦î5kQQ¡6¨oº¶kHŸÚÛ­}8С¡® úÒZ**ÔX¸°·¦=??[¬^ˆêêZ,ZßêíÝ-˜”Q»Û¿? 0l˜‹Öz™Ìƒ9¢²R#Gêî2DGgÃÈH‚ÐPíiºÍàéi… Š“SÑ  í;Í®®r@nî?e®kcÈí8ììLѽ»añÖ¥]CûÔÞn³í¾´¹\Ú`ؾ——œœÌ˜xyy•­Þ&Ñ݀ϔQ»R©jQRR SS),,~ 98Ô%~Je¥¦,ôî½»É:ÓÓKáâ"×Z§Ph×-“Õ 5¯hK¥ªEYY LM¥07—âvÖÖ&ºwJÏv íÓíÚú™òÛûbd$ðO_Z“•UãÇÛÞÞyy•Èϯ‚““Yë7LDD$2&åDDÔ®d2#(&()©FYYMƒÄüƺ;¢ŽŽfÉŒ`ee‚²²\¼8R©¤Uã°°0FYY ÊËÕ óüüªVkëöv[«OIIa­™á$Ít¡¹íPTT AhX¶þ<ØÛ›ÑÝÃ׉ˆ¨ÝÙpèPŽÖz•ªÇŽ)af&ÅàÁu/ËyôÑŽP«œ:•ß ž/¾¸ŒÁƒÓùnñ톭k£~{=¥²ii¥Õ©‹¶ì“ärcTW×j–GŒˆÆ?¦ë¼ªªÔˆ/ÐZ—”TŒ¼¼JøøXó.9Ý·˜”Q»‹ŒôE§NæX¼8f£¬¬ii¥˜=û”ÊJDEùÃÁÁTS¶K ¼óÎ)ÄÆæ¢¤¤EE*üðCÖ­KÂܹ~ßmŽŒ|662,Ztü‘‡òr5._.Æ;£cÛ%mÙ'1<ô ÒÒJ‘]3g píZúõ³×y;(&X½ú"Μ)@E…çÏ""â$LLŒåßÞ]"""j7œˆèu·O‰vûüÝ0n\g¬^ ~žò$DGg!'§r¹1z÷¶Å´i=0p ö<åEE*|úi]Ùìì XYÉàëk—_öÄÃ;Ξ-Äøñ1Zû½òŠÞzËW3?v½aÃ\°~ý@@ZZ)V®¼€?ÿTB­||¬ðï÷ÄG]D||ΟsÇþ<û¬»AíêÒ§öfè1¼r¥óçŸÅ… …°±‘aÆ /<ý´›¦lsÛÇŒ9ˆ‚‚*|ûm0/ŽÇéÓP«øûÛ""‚ó”ѽƒS¢=˜Z:%“r"¢{ÔÝž”ßëFŽ<€ÊJ5~TìPî{õIùÑ£‹ Q‹ðóöÁÄyʉˆˆ ¤TV¢oßÿ‡ší¿Ogd”áêÕÒw쉈ˆˆZ“r""z Ý¼©Â»ïžAvv**jpî\Þxã$ ¼öš·ØáÑ}ŽI9=°Íðí·Á(.®ÆäÉGЧÏÿÃôéqèÖÍÛ·‡ sgs±C¼¯mØ HL¼‰ÜÜJxxìÀþsQì°ˆˆˆÚç)'"¢Ú AŽ4ˆÃÔÅ0uª'¦Nõ; """QñN9‘H˜”‰„I9‘H˜”‰„I9‘H˜”‰„I9‘H8O9µ‰èèlÌœ§YNH SS©ˆéï~胘8}:»v]ÇÑ£Jdf–C¡0››%žzÊ cÇv†D"v”6$cùò gg3=ú¸^ûÇÄä`ñâó¸~½ IIam"Ñ}‹wʉˆ¨MŒኔ”p î*v(»ú ¦+WJ0iÒa¤§—aݺ œ=;?ÿ‚䈈8‰åËÏ‹"ýmêTO¤¤„ÃÇÇZ¯ý®]+ôibÕª‹¸q£²¢#"º¿1)'"¢»ŠŸß.LštØàí÷«{µßR©ÿýo?x{[ÃÔTŠÎͱre_ØØÈ°yó¨Tµb‡xW»ÛÏûš5ѧvî À$"2ÿ÷$""¢6áî®ht(³‰‰\]åHL¼‰ª*5d2Þ#¸W-[Öff|¤ƒˆ¨%ø)HDDDíª¸¸éé¥ðõµ†Ba"v8ÔLȉˆZŽwʉˆ¨](••X¹2GŽäA*• ÀQQþèÒÅ€ö‹¦Nʇ‡Çuß“’ÂôÚîìl†Ï>€?LÀ¹s¨­zõ²Å[où¢o_û6ëC½¢">ùäÈFvvÌÍÑ»·¦MóÄ€Žšr*U->ý4 {÷f"+«¦¦RôíkI“º!$ÄR©¤Ù~7ÇËë¨Õ‚Nýsp0E\ÜÍ–Ó%îÆ”–Ö )é&V­ºGG3¬Z¨S\PPP…uë’ðûïÙÈÍ­€Ba‚~ý0k–·æ9èO>Iš5}ûÚcëÖ!€Ã‡sñâ‹Ç662œ<9J§6o=99•°³“ÁÝ]qã:cÔ¨Nš„T—Øni`LÌÈ]·×·ÿp¬Y“ˆ?ÿT¢¨H8qb¬¬LðÛo™øßÿ®")é&JJjе«&Nì†çžë##ñß´§V :Åx{ŸccÅŠ“™LŠ¡CñÞ{þ()©ÆÂ…ç—  æŒùóýµ†×ëÚ&ìAIIu£±K$À‘#ÁÅE@·k_ߟ}â1#dkö»õ:8vL‰çžû_~9¡¡.€Å‹ãñõשšòIIaP«ƒ®ï[ézír¼ZrÞ‰îVAtû¤&"¢»Jjjjó…þ6k–3`íÚܶ §Iõ¿$îŠéÓ{ÀÛÛgÏ`æÌ8tï®Àöí!ZåýüvÁ××Fó‹äíšÛ>fÌA¤§—ÂÛÛóæùÁÛÛ))Ř;÷ RSKðÍ7œ8å IDAT#(È¡Íú TVb„XTVª±ti‚‚¡TVbÕªìߟ…%Kú`âÄ®€yóNã×_³°vmíQZZƒ ’±aC2¾ÿ~0ú÷ÿ'ÎæúÝžô‰»Þ­ sÿþxï½^ðò²Ò©½¼¼ºcZU¥Æòå}äˆÌÌ2¼ÿþ9œ;Wˆï¾ F@€¦|SÇ*,ì22ÊuJÊëÏcUU-–,éþýQQ¡ÆÖ­éX³æ"æÏ÷Ô)zÇÖØÏÒéÓù˜>==zXé}=Ô×ä€7Þð¿¿ ._.Áĉ±ˆ‹{gÎäcÚ´8DF>„É“»¡¶ؽû:/>_ôÀœ9=µê3æ ªô~û:<üð¯¸q£Jï·¯<˜­WŒõ}~ôј9Ó îî ìÛ—…ÈÈ“:Ô&&Fxã tíj‰;¯!*ê,¦LqÇüùþµ°G>sóF¬[w }”ˆÈȇ0cFú]û·öC—Ÿ}âýþû4¼ÿþYüç?;¶³fý;ïœÆÏ?_ŨQðñÇý4룣³±ys*¾ý6€a×÷­t½v =^-9ïíAÌÏ[³³3,-- Ý}‡¯Q»˜8±+ì —K1p #BC]_ˆÂBU«·UQ¡ÆÂ…½5íùùÙbõê@TW×bÑ¢xƒëÕ¥«V]DFF9Þ}ס¡®°´4†››%Ö¬éGG3,\x7nT¨»såé©@p°Ì̤pp0Åœ9=áæfð{»0$îW_õBbâ8ìÛ7îî Œ{ëÖ]Ò©½U«™YŽyóüâss)<=­ðñÇý >øà\kuí–6ëÎcTTÝy´°0†ƒƒ)^}Õ C†8·8¶[–~Ø !!Î-º¦Oïþý —£W/[$%…ÁÖV î 3fô€µµ ¶¶2<÷œ;ƌ鄯¿NAiiAíµ6Cbœ0¡+zö´\.EXXgxzZ!66/½ä k˜›K1y²:u2Gll^«´ {÷fâãñä“]5 9 ßµ+]twÔ¨Ž011Â/¿\׬«¬TãÀltíjßÏFYÙ?åw츆ðð.šå–þ¿¤ûµcØñjéy'º1)'"¢váïo§µììlÈÍ­hõ¶äriƒ©¼¼¬àäd†ÄÄ›ÈË3lê&]ú°`Ø0­²2™ rDe¥GŽÔÝA:Ô§O`þü38{¶P3Ì<:zD³w£ÄdhÜ&&FpwW`áÂÞxäW|ôQ"Žmþ—æèèlIª=5££<=­páBrrôÿ9º|¹;´¾,¨K¢ëÏãСΠöÛ´i¦LñhQl·ÿ,¹ºÖ 6ôzèÕ˶Ñõ¡¡®øþûÁ ÖûøX£¦F@rrñë½Ó1j-†Æèç§Ýçúë±gOíkßÅEÞà¸êÓæ™3£5wÉÏ+Ä¿ÿ} ýú9`ñâÞZûêsíßJ—Ÿ}âµ±‘!$ÄGæA©¬û¿îÀlôêe‹gžéŽÊJ5öí«‹µ¨H…ãÇoàÑG;jöoéÿKº^;†¯–œw¢»² "¢v¡PhäÔ?ÙQYY5þò0{{SäåU"?¿ NNfz×Û\TªZ””TÃÔTÚèsŒumÖÿ¢¼`A/Øaûö«xöÙ?v˜<Ù #GvÐ;¾Æ´Å3å­wh¨ öïÏ¡C9xøa§&ËÕSèÝ{w“åÒÓK5ÏõêªG+¤¤„7ÙfSç±5b»ýgI&«Kú ½äòÆ_¸VRRS°rr*P\¬ýltE…úŽõ6uŒZ“¡1ZZjC‰¤î™{¹¼áuZ[«}` i3+«Ó§ÿ WW9>ý´?LLþ¹·¥ïµ+]~ô7<¼ ¢£³±{w^|Ñ¿üráá]0p #–/¿€]»®ãÿþ¯ öìÉÀ°aÎZCó[r}ë{ír¼ZrÞ‰îVLʉˆè®"iæBÍm€¢¢jBòùùuC!ííM ŒîÎd2#(&()©FYYMƒ_6oܨûÓѱîN‰ 댰°Î¨©§Ä† Éxå•ã˜7Ï/¾è¡ÙW—~7Fßç{u¡OÜM©Ÿ­þ¥dw*gee‚²²\¼8N§—LIP]ÝpþóÛ™;µy§óØ’Øôeèy¯7mZNœ¸¨(ŒÓ ¶¶¦H€¯¾JÁ’%çq7¼ZHŒõm³¬¬/¿ü'jj¬_?662­íú^ûmï°a.°±‘aÇŽk 댳g °n]Ì̤vÂä!/¯Û·_CD„¯Ö¾-¹¾õ¹vÚòxÝk8|ˆˆî*r¹±VB5bD4~ü1]çíPU¥F||Öº¤¤bäåUÂÇÇÚ »äºª¿“tèPŽÖz•ªÇŽ)af&ÅàÁuÃ:ö 5µ`l,Ap°>ÿ|$’†ûëÒïö¢kÜË–GDÄÉF눭–êïßø°ë[=úhG¨ÕNÊo°í‹/.cðàß´F89™52®TV"+«¼ùÎý­þ<ÆÄä4Ø6fÌA,YrÞ ØôÕ’ó^—££žÞvv¦š$¿ªªá-Ä FŒú¶©V xãHM-Á'Ÿô×z¶úµ×þBttÝÛÎõ¹öÛ2^ îQ‘Q£:!1ñ&V¯¾ˆáÃ]5o< ëµZÀÇ'"/¯:jí«ÏÿKÑõÚi«ãEt/bRNDDw•‡²AZZ)²³+pæL®]+C¿~ö:o…«W_Ä™3¨¨PãüùBDDœ„‰‰¢¢ÚöM¼‘‘¾èÔÉ‹ÇãàÁº*¥¥•böìP*+å‡îÔGEÅ¥K7¡RÕ"?¿ _~y‚€¿(ëÒïö¤kÜ»v]ÇÚµ—‘Q•ªeX¹2;w^GÏž6˜8±›¦lFFzôø;P¤Yé‹.],ðÎ;§›‹’’j©ðÃiX·. sçúiÝ¥vB^^%6o¾‚òr5®]+âEñz¨?K–œÇ¡C9(+«ANNÞÿ”ÊJL™ânPlújÉy—J%èßßJe%Ö¯OFa¡ ••jÄÅ)±eKšÁ1ª±ó+FŒú¶¹dÉyÄÄä`É’€;>S­ïµßVñÖ «{óúÖ­éZ/r1¢îåk[·¦cܸÎN‹§Ëõ}§ëU×k§-ŽѽˆS¢Ý£îö)ÑΞ-Äøñ1Zë^yÅ o½å«™s¹Þ°a.X¿~ àʕ̟.ÂÆF†3¼ðôÓnš²Ím¯ŸÒéÛoƒ±xq žÿ.,Tá?ÿ¹ˆ˜˜(••°±‘aèP8:šáóÏ“={Ú`ôèNšyÑoïNê§êjÌÒ¥ÚSZ5u~uqÁ‚ÞÃ#\®½>2Òø×¿k­ýu¼þº·Îm.^€°°Cw<Ÿ}6#FÔ½èO—kߟ]ãýå—aZû •ª±±jýR?=Úo¿ ‡‡‡Bk]¯ïæ®W]¯C—!ç½=pJ´SK§DcRNDtºÛ“r±´dže""¢–x>o霧œˆˆˆˆˆˆèŤœˆˆˆˆˆˆH$œˆˆî 6$k=ëá±ãŽÏÄÞþìfcÚó9D"""z01)'"¢ûÂÔ©ž˜:ÕSçò·¿‹ˆˆˆH ¾NDDDDDD$&åDDDDDDD"aRNDDDDDD$&åDDDDDDD"aRNDDDDDD$&åDDDDDDD"aRNDDDDDD$&åDDDDDDD"1;""º?EGgcæÌ8ÍrBÂX˜šJEŒèÞ¶gOÞ|ó@&3ÂÅ‹ãDލu pút>víºŽ£G•ÈÌ,‡Ba77K<õ”ÆŽí ‰Dì(‰ˆˆZï”Q›1Â))á>ÜUìPî £GwBJJ8 r;”6qåJ &M:Œôô2¬[„³gGãçŸCСƒ'±|ùy±C$""jLʉˆè®âç· “&6x;Ý»¤R þûß~ðö¶†©©;›cåʾ°±‘aóæ+P©jÅ‘ˆˆ¨Õ1)'"""ѹ»+”kk™Öz#¸ºÊ¡RÕ¢ªJ-RtDDDm‡I9ÝµŠ‹«‘ž^ __k(&b‡CDDÔêø¢7""jJe%V®LÀ‘#yJ%°CT”?ºt±lØŒåË/Nʇ‡ÇuCš“’ÂôÚîìl†Ï>€?LÀ¹s¨­zõ²Å[où¢o_{c¾ýeu±±bÅŠ ˆ‰ÉL&ÅСÎxï=””TcáÂóˆ‹Ëƒ…… † sÆüùþ°°Ðþ˜-*Rá“O.áÀldgWÀÜܽ{ÛaÚ4O  ý¬xjj >ü0qqJ¨ÕÀCY#2ò¡&c-(¨ÂºuIøý÷läæV@¡0A¿~˜5Ë>>Ö:õ×Ëë¨Õ‚NeL÷D³åTªZ|úiöîÍDVV9LM¥èÛד&uCHˆ3¤ÒÆßÞVZZƒ¤¤›Xµê"ͰjU NqÝk$‚ èöéKDDw•ÔÔTËΚå X»6·­ÂiÒŒq8p Ç»búôðö¶ÆÙ³˜93Ý»+°}{ˆVy?¿]ðõµÁÖ­C­¯¹ícÆDzz)¼½­1ož¼½­‘’RŒ¹sÏ 5µß|ó0‚‚ êãvÀÌ™^pwW`ß¾,DFžÄСÎ011Âoø kWKìÜy QQg1eŠ;æÏ÷×Ô¡TVb„XTVª±ti‚‚¡TVbÕªìߟ…%Kú`âÄ®€«WË~r¹+VôEŸ>ö¸~½ Ë–Gzzòò*´Þ¾ž—WWwU•Ë—÷AP#23Ëðþûçpî\!¾û.vzõ¹µÌ›w¿þš…µkƒhÒÒlØŒ ’ñý÷ƒÑ¿ÃsñÉ'IX³æ" ¼÷^/xyYµwèDDzóó–Äãìì KKKCw߯áëDDÔ.&N슀;ÈåR èˆÐPWÄÇ¢°PÕêmUT¨±paoM{~~¶X½:ÕÕµX´(Þàz'L芞=m —KÖžžVˆÍÅK/yÂÇÇææRLžì†NÌ›§µïªU‘‘QŽwßõGh¨+,-áæf‰5kúÁÑÑ žÃU—M@qq5¢¢üìss)¼¼¬°re_äåU4ˆkÕªdf–cÞ8gpŸ[êØ1%<=v‚™™¦˜3§'ÜÜšþååÕW½˜8ûö ‡»»cÇĺu—Ú1j""¢ö䜈ˆÚ…¿¿öZgg3@nnÃ$³¥äriƒ!Û^^Vpr2CbâMäåUT¯ŸŸ­Ör}zöÔnËÅEÞ _û÷g† sÑZ/“aÐ GTVªqäHݕÇëþ2D»¬““Y£Éltt6ŒŒ$ Õž~ÎÑÑ žžV¸p¡99­œu1t¨ NŸ.Àüùgpöl¡fx|tôˆFï’×311‚»» öÆ#¸â£qôh^“剈ˆîU|¦œˆˆÚ…B¡ý‘cdT÷,q[‰ö±X¶ì<""N6ZGllÝqð÷·mt;ѽŒI9ÝUzÈii¥ÈήÀ™3¸v­ ýúÙë¼ ¬^}gΠ¢Bóç q&&FˆŠò¿½Évé‹Ṉxq<ÌFYY ÒÒJ1{ö (••ˆŠò‡ƒƒéße‚ ‹Ã䡼\””¼õÖ‰F‡´GFú¢K ¼óÎ)ÄÆæ¢¤¤EE*üðCÖ­KÂܹ~-ºƒÞRQQgqéÒM¨TµÈϯ—_^† jO·k×u¬]{ eP©j‘‘Q†•+°sçuôìiƒ‰»‰Ó""¢6Ä)шˆîQwû”hgÏbüø­u¯¼â…·ÞòÕÌ1^oØ0¬_?påJ æÏ?‹  ac#ÃŒ^xúi7MÙæ¶sUøöÛ`,^Ó§  V ð÷·ED„~ó”7Õ‡#\®½>2Òø×¿k­ýu¼þº7€úyÊ“…œœ ÈåÆèÝÛÓ¦õh ¦¥•båÊ øóO%jjôèa…Y³¼ñÕW)8vL  îmðË–õÑÔýé§uuggWÀÊJ__k¼ü²§¨Ïa'&ÞÄ–-iøë¯Èʪ€©©ºu³Àĉn˜0¡«æƒÒÒüúk&öîÍ@ZZrs+`b"A÷î <öX¼ð‚ÌÌþA‚ˆènÂ)ÑL-I9Ñ=ênOÊÅRŸ”=ú¸Ø¡ÑæAú¼¥pžr""""""¢{“r"""""""‘pJ4""º/lØŒåË/h–=ÞF‘ßÝ>ü0;šã©§Üt*¯V X³&¿þšìì àˆM›5(³uk:v츆ääbTT¨aoo k„„¸`Ø0gtêd¡)ßÚçüüv¡¢B­µnΜž˜:Õ0rä\¹R¢ÙÖ·¯=¶nÒè~MÙ±#j50~|ŒÖz…ÂgÎŒÖ,ß~­æ‚õëâwNc×®ëpv–ã‘G\ðöÛÝ××0‘Xx§œˆˆÚĈ®HI Çðá®b‡Ò.®\)Á¤I‡‘ž^†uë‚pöìhüüs:t#"â$–/?¯W}S§z"%%>>ÖmñýiÛ¶«øüó$„‡wA\Ü rˆŒ<‰ ÎaÄWüöÛpÄÇÁ?¯¯5.<‡°°­ò­}nàüù±Ø½;0|xݵRŸÀwßÃÇÇO>ÙIIaغuH“û5ö¥P˜z÷¶EJJ8Æï u×êÑ£ÃÁÁ±±býú€+úàäÉQ˜>Ýß|“ŠM›Rõî'5I9ÝUüüvaÒ¤Ão“T*ÁÿÛÞÞÖ05•¢sgs¬\Ù662lÞ|*U­Ø!ÞJJª±zužxâwlܘŒ%KÎ#,ì–-;ÔÔ’;î{ü¸0eЬ¬Ll/Äîݘ0¡+¦Më9LM¥èÒÅ5yG¾=Ïmjj &N<ŒÐP¬XÑR©ž·á1gNOØØÈ°cÇ5œ8‘ß`û¢Eçð îèØÑ\k½……1&Ovƒ\n¬9¶DDÔº˜”µww’’Â`m-ÓZobbWW9TªZTUé6ìøAVU¥Æ„ ±øå—ëøàƒ^xî9wDFú"2ò!ìÛ—…§Ÿ>rÇý UJ%°°hü ½ääb@÷îŠF·Õ©Áºö<·§Nåã©§Ž`ÆŒ˜=Û×àzΜ ??[Ͳ ï¼ÓðÞ{gQS#h¶>œ‹””LÚ£Éú c© އˆˆšÆ¤œˆˆ¨ W#=½¾¾Öš!ÅÔ´?þP"%¥ãÇwE¿~011‚©©ÁÁNX¼8 Ùýkk…;nwp0û»ÜF·9àäÉQ:ÅÚÚçvß¾,LŸ‡eËð¯u3¨ŽI“ã矯6ºmüø®èÛ×ÉÉÅØ´)@ÝA>øà.ì cã¦ïÈK$uÏâQëã‹Þˆˆ¨](••X¹2GŽäA*• ÀQQþèÒ¥î…Z·¾ØìÔ©|xxìP7l8))L¯íÎÎføì³øðÜ;W€ÚZ W/[¼õ–/úöµ×+n•ªŸ~š„½{3‘•USS)úöµÇ¤IÝâÜäÐâÒÒ$%ÝĪUáèh†U«õ?hعó:""Nj­ûóÏÇáèh†‚‚*¬[—„ßÏFnn ôëç€Y³¼áãcââjôé³GkßÙ³}ñê«^P«xyý¢YÿØc±n]ÐcñòúEçDÍÁÁqqO4[Nêê‹ÍÅ‹/zhm vÒ©Ž;é×ÏŽŽf8r$/¾x Ó§÷@¿~ö02Ò}ˆx[œÛÍ›¯à“O.aãÆèÕË®Åõ5F".ì±cbíÚK=ºþ÷¿«èÓÇAAmÒ&5I9µ‹Å‹ÏcúôX±¢/Ξ-ÀÌ™qxóÍؾ=@݋ͦNõ„Ÿß.øúÚh^lUO×ícÆDzz)-ŠÇ¼y~ðö¶FJJ1æÎ=ƒgžùß|ó°^ È‚gñë¯YX»6ö(-­Á† ɘ>ýO|ÿý`ôïß°®O>Iš5ýû;à³Ï G+=XãFî„„„"\¾\Œ?î§R—W‰ bQU¥Æòå}äˆÌÌ2¼ÿþ9Œ‹ï¾ F@€RRÂ1eÊQ=ªÄ#4‘J%HI Ç„ ±xöÙî;¶s³±$%…µJŸn5p #ºu³D||!BBöÃÚÚ<â‚ÊJ5ÌÌšówuµ™¬érææR¬]„Ù³Oàðá\>œ {{S;!$ÄÇ»@.oú×£¶8·ÇŽåáÀl¼ô’‡^ ùÙš?NÝjâÄ®Mîãåe…)S<°aC2Þzë$®^-Þ=¡Í¶%“¡ºšïD "j ¾NDDíbâÄ®°ƒ\.ÅÀŽ uE||! [ÿ9ÕŠ 5.ì­iÏÏÏ«W¢ºº‹ÅëU×±cJxz*ì33)L1gNO¸¹Y6¹Ï«¯z!1qöíwwÆŽ=ˆuë.µ´[(.®ÆÔ©ÇP[+`ãÆAZÏ8¯Z•€ÌÌr̛燘›Káéi…?îAðÁç4e_zÉóï:’µê?u*YYåx≆ÏU· clÝ:Ï=ç¸v­ _}•Šþý÷bñâxܼy矗¬¬r¸¸˜Ý±L` =~ÿ}$>ü°/†wEe¥;w^ÇìÙ'0xð>ìÙ“Ñä¾mqn]\ÌaiiŒS°aCró;ü­±·¯ë2ä7|àê*ÇÉ“ùxõU/ØÛ›6»³³¹¹•ÂNDÔ˜”Q»ð÷×¾èì\—8åæV´z[r¹´ÁTb^^Vpr2CbâMäåUê\×С.8}ºóçŸÁÙ³…š¤$:zD£wÉ뙘ÁÝ]… {ã‘G\ñÑG‰8z4ϰ¡nZ®'ŸŒ‘‘ï¾ëß`Ø|tt6ŒŒ$ Õž‚ÎÑÑ žžV¸p¡99uÇ:8Ø ^^VؾýºÖ˻֯OÆsϹßñÙâö`ooŠ÷ÞóÇ_= º¢W/;Iðõשxê©#¾T­¨H…õë“‘™YާŸîÞl2™ÂûàóÏàôéÑØ¼9£GwBQ‘ 'qñâÍ&÷mísÛ½»%¾úêaXXcùò Ø´)Åàºt!—K5£E¼½u›roòd7”–VcÍš‹mò‡4"¢‡¯Q»P(´?rêŸáÚàÆ[cSauÉ^^^%òó«àät绩õ,è…€;lß~Ï>û 0Г'»aäÈ:Õê‚ýû³pèP~ØI·NÜ¢¸¸3g‡‹‹±±¹Ø¹ó:Æûgx¹JU‹’’j@ïÞ»›¬'=½..rÀ /¸cîÜ3øî»+xí5o¤[–šú IDAT¥•âÏ?•X±¢ÎqµÅ3å·’J%°³3Å“OÚbØ0<ùd ’’ŠñÛoYZýûíSؾýŒŒ$˜6­žÞ]ïvtÄÀŽèØÑ_|q¿þš_ßæÖ–žÛzvØ´i¦L9Š¥KÏC"©›ÖM_·?ÖÑZÆëŒìì ¬YsŸ~ƒ;᫯n“¶ˆˆ4Lʉˆè®"iæ&msÛ ¨¨‚аl~~è4\÷ÖöÂÂ:#,¬3jjÄÅ)±aC2^yå8æÍókð2²ÆÈdFÇeØF©øöÛ`(&˜0!óæ››%üým5õ[Y™ ¬¬/ŽÓi^ëqãº`õê‹Ø¼ùÿ³wçá1]ÿÇßÙ7Yd±†DBb‰X*ˆ­¥¨øµ¡]¾–VQE«-Zµ”Z-ŠoéªT[­í«Jí;A$¶bId“=‘=óûcši&“ÈL„A>¯çÉóȽçÞó™3'cÎ=ÛUFòdõêËüßÿ5ÔØöënîÇœòM›n²iÓM¾ùæ µãnn<ûlC–/¿D\ܵsóçûóÑG­9p ‘ N‘QÀœ9¯Ô~òd cÆãرŠtêäÄÊ•—ÈÌ,Ò*Þ{}oËò÷w`õê'xýõÃÌ™‰‘‘j¿¾-ZtŽåË/ñé§íèׯžì$ „5H†¯ !„x¨XX«-(Õ§ÏN~þùšÖçA¹ÍSDDªÚ±¨¨L’’òðö¶Õº— mÛ­\¹’€±±άXÑ س'A•nîÜHUÑKíÛ§Ü~«´­+++c\\̱´4båÊNXZñÆGÕ†á?õT}Š‹œ<™¢qýÊ•—èÚu»Z¯¶©©!/½Ô”””|V¯ŽfÓ¦›¼úªî=³÷CDD99šâìlå1Í=ÆëÔ1¦_¿ú´liÇöí·*½·B¡|8žVáùÈHåñ²½ä÷ó½-/ À‘Õ«ŸÀ˜™3#X³æjµî¼ç®sãuµcG<îî– ÒHäBQäQ.„â¡Ò²¥11ÙÄÇçrút*7näà õykk-:ÏéÓ©äæ™Æ¤Ia˜˜2}ºŸÎ1MŸÎÅ‹”’’Ïÿ{ …B¹RxY›7ßdÉ’‹ÄÆæPPPBllóçŸcÓ¦›´jeÇ!«U&e¹»[±lYGRSó3æ(Ê“'ûа¡S¦œdß¾D²² IO/`ݺ–.âƒ|5zÐ_~¹)ææF|þù9ºtq¦Q#«{ޝ&¤§0vì1.^Ì ¨¨„¼¼b¶m‹ã·ßnàHïÞn•^[§Ž1ÙÙ…Uæ1nÜ16o¾IRRžê½Zµê2K–\¤U+;n¨–þA¼·¥:tpäë¯;annÄŒgøé§˜»wuegJc\!î…â~ÌæBq¿]¹rEë´ãƹ°dIâý GCxxÏ=·WíØ˜1^Lœè£±S®|ýug@¹ ÙÔ©áœ=›†)o¼áÅK/5Q¥­êüÀ»IMÍ燙=;‚S§R).VàçW—I“tß§üÂ… Ö®áøñÛܺ•‹™™!HBB©†ÈggñçŸqlÛKLL‰‰¹˜˜д©5}ûÖãÕW›iµ¥W©­[c™0á„Ú±©S}iÛÖA£\ jÀ¢EíIO/૯¢Ø¹óññ¹ØØ˜âãcËÈ‘Í+ï ×H|×i]ºü‰½½[¶T½}šµ™>þ¿úçââB:•ïÊR…_¥Q.„¨‡½Q®/¥òC‡úé;”GÂo¿]gÍš«lÜØCß¡ThÁ‚sÔ¯oÉ‹/6©:10räöîMàòåÁ÷9²Ú¥S§m¸»[òÛoAúEˆ‡ZmúÿVüë^å2|]!„¨ÅÖ­»¦Õbu WW  ¸};_ß¡<6ŠŠ¤§¨VîBQ³¤Q.„BÔ"¿ür7ß<Ê;Ŭ]CFFýû»W}¡ž<ñ„¾¾vZ§ïÖMÙKµrå¥Y½¶ËÊ*dõêË)èÞÝUßá!ÄcI¶DBñXXµê2óæUýÞ¬Ùª9ì)?¯½"ãÇ{3~|‹‹ñaÈ`çÎxÚ¶ÝBóæ6|ñE€V[¨é‹®{÷éãÆ{ïµdÆüôÓU:urÒØ^í~Ò÷{[“Þ{ï$›7ߤ~}KÆŽmÁÿý_ê/B¡3™S.„(™S.„B<\äÿÛÚIæ” !„B!„(i” !„B!„z"r!„B!„BO¤Q.„B!„Bè‰4Ê…B!„B=‘F¹B!„B¡'Ò(B!„B!ôÄXß!„x<íÜÏ›oUý~îÜ3˜™é1¢ûK¡€S§Rؼù&‡%wkkš4©Ã‹/6á™g`` ýýV­ºÌ¼ygpq1çС~÷)òš³uk,&œÀÔÔóçé9¢-XpŽúõ-yñÅ&Z¥/.Vz?ÿŒ%>>—Nœøæ›'4Ò¬_?þ¸ÁåË™äæãà`†··-AA®ôèá‚»»•*}M×_ßÍäæ«{ÿýVŒѼÂs`mmB½z–øû;ÒˆV­ì*¼÷”)§Ø¼ù&..ôêåÊ{ïµ|¬ÿ†…B_¤§\!Ä}ѧÑуéÝÛMß¡<W¯f1tè~®]ËaéÒ„‡`Æ êÕ³`Ò¤0æÍ‹Ôé~#F4':z0ÞÞ¶÷)bíܹSL¯^;9òH•i p':z0O<áô"»¿~ýõ:+VD1xpCŽ}Z£A0yr3fœ¡O7¶oïMDÄ@~þ¹>>¶Ìœy†àà½jékºŽDF>Ö-=èÝ[ù77bDóJÏ]¼ÌŽ}˜0Á›+W²ÞÔ)§ÈÍ-Ò¸÷gŸµ#,¬?£G7çûï¯ðÍ7WtŽO!DÕ¤Q.„â¡âë»™¡C÷Wû¼>ðå—´ha‹™™ X2¾?vv¦üøãU Jô¢Î %%ÊŸGMVV!‹ãé§w±zõeæÌ‰$8xsçFråJÖ]¯=v,€×^k†‰Æùˆˆ4¶l‰%$¤£Fyâêj™™ Z1iRËJ{äõ]GŒŒ pt4£wo7Ö¬ dÔ(O6l¸Î„ 'PTð[Yó M°°0V•‰Bˆš%Ã×…BˆàáaMTT°ÆqCÜÜ,¸p!ƒüübLM­çáVVÆìÙó”¾ÃÐY~~1!!ûÈÉ)âóÏÛ³sg]éõii`eUñW¥Ë—3hÚÔºÂóýû»ó¿ÿÅ©{ëÈ»ï¶äرdvíJ`ëÖXt¯0µµ1éé,.!„¨M­oB!Ä#&3³kײññ±ÅÚZ³ÇUÜ&ÅsÏ5" ÀCÌÌŒ tföì¶U^_ÕÈGGóòI¬ð|‡Ž„…õ×*V}Ö>Ü€Ÿ~ºz×tÅÅÞh !„xHO¹Bˆ"99ùóÏqà@FF´mkÏôé~4l¨\«ìÂf'O¦Ð¬Ù€r¸mTT°Nç]\ÌY¾¼ œãÌ™TJJ uëºLœèƒ¿¿ƒNq”ðÕWQlÛÇ­[w033Âßß¡Cä‚‘QÅ+seg•ÁÂ…çqr2gáÂöºZ6mºÉ¤IajÇŽ釓“9©©ù,]Å®]ñ$&æbmmB@€#ãÆµÀÛÛ–ÌÌBÚµÛªví;ïøðÖ[^+ðòÚ¨:Þ·o} jp×Åú®\ÉbÁ‚s=šLq1´liËäÉ-u~M^^µnð9:šÝµ‡»”⟱Øûö%òúëÍÔÎ:ku» pÄÉÉœ’xýõÃŒíI@€††Ú¯Ôv¿êˆ®üýí8}:•¢"ÆÆ:®6'„âžH£\!Ä1{v$£G{òÙgþ„‡§òæ›G™0á¿ÿ(6+]1ÚÇÇŽõ뻩]¯íùwsíZ6³fEðᇾ´haKtt&|pš—_>È÷ßw¡CG­ãž1#œ?ÿ¼Å’%hßÞìì"V­ºÌèÑGøé§®tì¨y¯eË¢ =@ÇŽŽ,_Þ OOK¬b¸sî\:—.eòÅØÚš””GHÈ>òó‹™7¯:8—ÃÇŸá¹çö±fM mÛÚ=˜×^;Ä¡CÉüýwÕC##¢£²aÚòÌ3 ˆŽÌoåï¿ãÕâ¸~=‡}XX±tiGÚµsàæÍæÎäÆ;:½¦Š†tß«ÎhܸiíÀÖÖ„^½\ÉË+ÆÜ¼êÄ ˜šVžÎÒÒˆ%K:ðÎ;'Ø¿?‘ýûqp0#0Й  Wz÷vÅ¢ò¯Y÷³ŽèÊÉIÙë_\¬ 55ggs4¦¦†>zk"!Ä£@†¯ !„x † iDÛ¶öXXѹ³={º‘FZZÍÏSÍÍ-fæÌ6ªü|}ë²hQ{ K˜5+B§{>œLóæÖ:cnn„££ï¿ßŠ&MêTzÍ[oyqá þú«7Ö<óÌn–.½x¯/‹ÌÌBFŒ8LI‰‚Õ«ŸP5È.üЗ  W,-hÞ܆/¾@¡PðÉ'gTiÿóŸæÿÜã²ÚýOžLáÖ­;<ýtÅóŠËZ¸ð™™…LŸîG` 3––FxyÙ0¾?II¹÷üZï•••1ë×wS ;q#‡o¿½BÇŽÛ˜=;‚ŒŒ»×»[·îàêªÙ8-«}{víz’ üéÝÛ¼¼b6mºÉ;k׿غ5¶ÒkïW©ŽŠx+ÏÅÅ‚ÄÄ<Â.„÷4Ê…B<~~öj¿»¸(<‰‰5߀³°0ÒØJÌËËggs.\È ))Oë{uïîÊ©S©Lzšðð4U£dçÎ>ö’—211ÄÃÚ™3ÛЫ—‹_àС¤ê½ ”Ûi=ûì^ ˜6ÍOcØüÎñг§útNNæ4onÃÙ³é$$(Ë:0Ð//~ÿý¦Úâ]_}™áÃ=´¾¼¿r.u·n®jÇÍïúÀâArp0ã£ü8~üiBBѺµ=††|÷Ý^|ñùùÅפ§ðõ×—‰‹»ÃK/5­2SSCnÈŠ8uj?þÈ€0iRçÏgTzmMבêJNÎÀØØ{{³ Ó¼ðB²³ =_¤ !Dm&Ã×…B<ÖÖêÿå”νզ—NWmaÊFZRR))Ñ­ÈŒ­iÛ֞߿ΰahßÞž^h“OÖÓê={º²cÇ-öìI Kgí^D™™E¼ùæ1\]-Ø·/‘M›n2hPÕù‚‚²² hÓfK¥÷¹v-WW ^}Õƒ>8Íš5W;¶11Ù9’ÌgŸµ«2ž‚‚rrŠ033ÂÒRsˆ·ƒƒ11ÙZ¿¾û1§¼,##ecóÙgëÒ£‡+Ï>»—¨¨L¶o¿¥VŽï½w’ß¿¡¡£FyòÊ+:çÓ¹³;;Q¿¾%+W^âÏ?cññ©z¯ù{­#÷",ì6mÛÚWú@fРÄÇçzž+.ѵ«3ß~ÛåA†)„-i” !„x¨TÑI[Õy€ôôB Í´))ÊA‡Š{+Ë/8¸ÁÁ (*Rpôh2«V]f̘c|ø¡¯Æ"b)Ý⪺[JÁ?bmmBHÈ^>üð4MšÔÁϯ®êþ66&ääqþü JŸ+kР†,Ztž¼Ê¨Qž¬^}™ÿû¿†jCâïöz¬¬ŒÉÉ)âÎb†¹®¯ó~Ì)ß´é&›6Ýä›ožP;îæfÁ³Ï6dùòKÄÅ©Ï}Ÿ?ߟ>j͉L˜p‚ŒŒæÌ©x¥ö“'S3æÇŽUü€ S''V®¼Dff‘VñÞk©®’kÖÄ0lXå!-:Çòå—øôÓvôëWOvBˆ$Ã×…Bä O«ð|d¤òxÙ^òûYGªkáÂóœ9“Ê“OÖ£_¿ú•¦Û±#wwK† i$ r!„¨aÒ(BñPiÙÒŽ˜˜lâãs9}:•7rpÐú<€µµ ‹çôéTrs‹‰ŒLcÒ¤0LL ™>ÝO瘦OçâÅ JHIÉç¿ÿ½„B¡\Ử͛o²dÉEbcs(((!66‡ùóϱiÓMZµ²cÈÆÕ*“²ÜÝ­X¶¬#©©ùŒs”‚åŠÉ“}hØÐŠ)SN²o_"YY…¤§°n] K—FñÁ¾=è/¿Üss#>ÿü]º8Ó¨‘•ÖqLžÜ;;SfÍ:ÃÁƒIܹSLtt'ž¨pH»>¤§0vì1.^Ì ¨¨„¼¼b¶m‹ã·ßnàHïÞn•^[§Ž1ÙÙ…Uæ1nÜ16o¾IRRžê=_µê2K–\¤U+;n¨–þAÔ‘»))Q’’ÏßÇ3lØAþûßK„„4æóÏÛßuJvv¡4Æ…â>1P(îÇl>!„÷Û•+W´N;nœ²WsÉ’Ä*RÖœðð4ž{n¯Ú±1c¼˜8ÑGµÇx©=\ùúë΀rA³©SÃ9{6 ;;SÞxË—^j¢J[Õùw“ššÏ?2{v§N¥R\¬Àϯ.“&é¾Où… ¬]Ãñã·¹u+33C7¶bÈ&„„4R5d²³‹øóÏ8¶m‹%&&‡ÄÄ\LL hÚÔš¾}ëñê«Í´ÚŠ«ÔÖ­±L˜pBíØÔ©¾´më Q®ƒ5`Ñ¢ö¤§ðÕWQìÜy‹øø\llLññ±eäÈæ•ÎSž:õ4ë×_cݺn7vîŒWÛ§¼l^11ÙÌŸ–#G’)*Ràéiøq-øöÛhN $¤sçV=O½¦–°{w[¶Ärþ|:qqw066¤E [ pgذ¦w]Ðî•Wqôhr¥CëKJœ>ÊÎñœ8q›øø\RRò177¢iSkžzª¯¼ÒTm[´š®#¾¾›ÉÍU_°îý÷[©¶,ÎÀêÔ1¡^= Ú·wdÈF´liWe>]ºü‰½½[¶ôÔ)>!j}ü+ôÏÅÅ…:uª½Èé¯Ò(BˆGÔÃÞ(×—ÒFù¡CýôÊ#á·ß®³fÍU6nì¡ïPî« ÎQ¿¾%/¾Ø¤êÄÀÈ‘GØ»7Ë—ßçÈ :mÃÝÝ’ß~ Òw(B<ÔjÓÿ·â_÷Ú(—áëB!D-¶nÝ5­««m\]-P(àöí|}‡¢wEE ÒÓ T+÷ !„¨Y÷¼úº6Ëà !D-öÜsÏñ믿ê; !øå—ëìÙÏ¢ElÜxƒŒŒú÷w×wX÷ÝO8UºU^EºusaݺV®¼Ä[oyagWõªô£¬¬BÖ®¡¨HA÷î®U_ „Bg5²%Ú„ èܹsMÜJ!+¡¡¡ú¡ÖXµê2óæUýÞ¬Ùª9ì)?¯½"ãÇ{3~|‹‹ñaÈ”sÅÛ¶ÝBóæ6|ñE€V[¨=êtÝû»O7Þ{¯%6Üà§Ÿ®Ò©““Æöj÷“¾ë(÷mß¼ù&õë[2vl þïÿV}‘BÝóœrÖ¯_Ï!Cj*&!„xl„„„Ü—žr™S.„B<\äÿÛÚIæ” !„B!„(i” !„B!„z"r!„B!„BO¤Q.„B!„Bè‰4ÊEµÅÆÆb``PéOQQ‘¾CÔ‹½{÷j”ÅâÅ‹õ–B!„â!$rQmîîî( Ö­[§vüÀ( ŒkdǽGNPP …///}‡"„B!„xÈI£\!„B!„Ði” !„B!„zR;Ç !„¸ïvîŒçÍ7ª~?wîÌÌŒôÑý¥PÀ©S)lÞ|“C‡’‰‹»ƒµµ MšÔáÅ›ðÌ3 00Ðw”BnDG¦wo7}‡ò@\½šÅСû¹v-‡¥K;>€ ‚¨WÏ‚I“˜7/Rß!êìÎbzõÚÁÈ‘GôŠx„ÑœèèÁx{ÛêtÝ9Œu„… ÏsûvÞ}ŠN!ôOå⋌ŒÄÏÏÐÐP²²²çÂ… ²hÑ"üýý‰‹‹S¥ÿûï¿ dëÖ­”””°k×.ˆ‹‹#**J•.44”‹/êœÇóÏ?B¡ÀÊÊJu¯E‹ñöÛoÅ“O>Éõë×Y°`Ó§OW{-ÚÆ&„О¯ïf†Ý_íóúdddÀ—_Т…-ffF4h`ÉüùþØÙ™òãW)((Ñwˆ:Q(””(Äãçaþ[ =O»völÚÔ++Ü)„x|I£\„7i”‹*..Ž'N¨~¯W¯žêßõë×Wý{ãÆäæærýúuUï7€‡‡‡êßÖÖÖ¸¸¸ÜsiÖ¬™Z>eï]ª:± !jŸÌÌB®]ËÆÇÇkkyX'„¶ÌÍß5(„¢, $¨„„µß§L™Â”)S4Òåçç£Ñh677Wû½ìóêæáãã£q®|>¥Š‡p–Ÿû®MlBÔfÉÉyÌŸŽ’022 m[{¦O÷£aCåßJÙÅ NžL¡Y³?åð¨¨`λ¸˜³|y',8Ç™3©””@ëÖu™8Ñâ.((᫯¢Ø¶-Ž[·î`ff„¿¿C‡6&(È¥Ò^¼ìì"¢¢2X¸ðœ @HH#zöt»ëB}éé,[v‘¿ÿŽ'>>KKcÚ´±gÔ¨ætêäTákØ»÷ɻ֪xym¤¸X»¡ôŽŽf=ú´Viµ)¿eË¢ =€¿¿ë×w`ÿþD^ý0vv¦„…õ×*ϲ嗇½½)Ö Ô€þýÝU RmbÓµœ«ú[Ò¶îÙØ˜°}{¿ür¨¨ ²²ŠhÔÈŠ!C3|xS ¥‡[!´!=åârvvVû}Ö¬Y(Š |||pttTK_¾‘ž““sÏyTWub¢6›=;’×^kÆáÃýX²¤'NÜf„Gµ”.ea¡lôFG&:z°jµemÏ{{Û’™YȬYLœèñcýY·®+…¼üòAŽ×\LònfÌçûï¯ðÑG~„…õ篿zÓ´iF>BXXJ…×,[E›6[:t?††°|y'<=mtÊ·üByÓ¦…óòËM9pà)6lR= HJÊcðà½lÛË'Ÿ´æÔ©¬]Û•ôôž{n§O§ªîyýz!!ûˆŒLcéÒŽ?ÞŸÏ>kÇ÷ß_åâÅLLM ‰ŽÌܹíîºP_rrÁÁ{ز%–éÓý S.jgaaİaùå—뾆²uà‹/8r$Y­T%**Xõ¾Wõ£mƒ\Ûò{ë-/Uý+«[7¢£Óª•Ö¯£´ü¶nû§üú³iSO:vtbÊ”S¬[£Slº–sUKÚÖ½}ûxûítîìÄ_õæàÁ¾<ÿ|c>ý4’ùóÏi]BQÛI£\<7nÄÎÎŽ ЦMÕñ³gÏj¤íÑ£ݺ){ 5j„···êÜ•+WTÿÎÊÊ"11Qãz]ó¨®êÄ&Dm6dH#Ú¶µÇˆÎèÙÓˆˆ4ÒÒ j<¯ÜÜbfÎl£ÊÏ×·.‹µ§°°„Y³"tº×áÃÉ4onM` 3ææF8:šñþû­hÒ¤N¥×¼õ–. ⯿zãáaÍ3ÏìféÒ‹•¦×ÆèÑžtì舅…1­[×%**˜ºuM©ÝZ IDATY¸ðqqwøðC_‚‚\±´4¢ys¾ø"…BÁ'ŸœQÝcáÂsdf2}ºΪ´¡¡íÉÍÕ~¾û…牽ôi~ôìéF:Æ4iR‡ÐМœÌ™9ó ·oçk\W¶téâLPË}«ÚÒ¥üj.OeùMŸ®,?++cÍxë-/ºus)“®z±Õt9WV÷:vtä7<±µ5¥n]S†÷`à@w¾û.šìì¢jå'„µ4ÊÅ÷õ×_cc£ì1Ú°a?üð$%%1uêTNœ8Á¼yóTé—,Y¢Z4í·ß~ãÀ¤§§óÑG©Y»×<ª«:± Q[ùùÙ«ýî⢜ò‘˜XñÚ÷ÂÂÂHcض—— ÎÎæ\¸AR’öÛ+uïîÊ©S©Lzšðð4Õðé;ûб£c¥×™˜âáaÍÌ™mèÕËÅ‹/pèPRõ^Êá÷Ù¹3CCzöTïÑvr2§ysΞM'!AYÆû÷+vëæª–ÖÞÞŒ¦M+ÈPÞŽ·èÑCý>¦¦†<ñ„yyÅ8 ù`²|ps³îOЖ.å§‹K—2iÖ쵟3”èÒòëÞ]sí‘o¾y‚×^kvO±Õt9WV÷zötã§Ÿºj÷ö¶¥¨HÁåË™w½ïÝÊH!j™S.ª-66– hïÚUó?h[[åäöíÛÁ‚ رc£GæÍ7ßÄÕÕ•nݺqøðaüüüT×õêÕ‹ƒ2sæL:D¯^½hذ!£GÆÓÓ“K—.``ðïÜ5]òøùçŸyá…Ôb aÒ¤I˜››3gÎÕñüü| øöÛoyõÕWï›———j[´wÞy‡+V¨- 'Dmcm­þ_Né|SÅ}ØmËÆ¦âÕÌHJÊ#%%gçŠ×Ž(oƌִmkÏï¿_gذƒ´ooÏ /4áÉ'ëUqµRÏž®ìØq‹={èÒŹê *P~Ø4(ç»ge)¶i³¥Òk¯]ËÆÞÞŒœœ"ÌÌŒ°´Ô¼—­­v‹Ð•æiffTá6UŽŽÊrMNÖ|ðQ¾˜š*ãжÔôœr]ÊÏÕÕB» ÿáéiCtôàJó¬¬üj"¶{-çò*ª{YY…¬^ÍŽ·HHÈ%3SýatU£/*+#!„¨m¤Q.ªÍÝÝ]má3]4jÔˆ¥K—j¾C‡lݺUãø_|¡úwù¹äÚæñüóÏóüóÏWz~öìÙÕŠíÝwß­2o!„&ƒ*Ö†ªê<@zz! …fÚ”åj3â n@ppŠŠ=šÌªU—3æ~èËë¯7«ò¦¦†ÿÄU³Ã´MM ±±1!'§ˆóçU¹u”••199EܹS¬Ñ0/-mò´¶6!+«œœ"†åíÛÊÆ¸““v=tQ:繦èZ~ |˜TX¨¹ß|ùéÝò¼[ùÝKlºÒæoénF:ʉ·™>ÝÝ©[× øöÛhæÌ‰¬öw!„¨mdøºxèmݺµÂ‰‰‰Üº¥hiiIïÞ½õž¢†YX«5zúôÙÉÏ?_Óú<@~~1©jÇ¢¢2IJÊÃÛÛVë^r€¶m·råJÆÆ:³bE' `Ïžw{˜;7’I“Â*¼Ç¾}Ê¡Ü~~¾O=UŸâb'Oj.:·rå%ºvÝ®ê]..]:Œ½Trr11ÙZçY:B ìëeïîáÃɘ›ѵ룱-¤.åàìl®1d<99[·îhgiùíÝ› qnàÀÝÌ™Y­Øt¥ÍßReJãrr2ç•W<°·7S5òóó5Z!„¨œ4ÊÅ#!..Ž7ß|“7n——GDD/½ô …cccV®\‰“““¾ÃBÔ€–-툉É&>>—Ó§S¹q#‡€­ÏX[›°hÑyNŸN%7·˜ÈÈ4&M ÃÄÄéÓýÊgY¥éÓùx1ƒ‚‚RRòùï/¡P@çÎêŸ;›7ßdÉ’‹ÄÆæPPPBllóçŸcÓ¦›´jeÇ!«U&w3y² Z1eÊIöíK$+«ôôÖ­‹aéÒ(>øÀWÕË:yrKììL™5ë &qçN1—.e2eÊ)z¶'OöÁÝÝ’Ù³#ؽ;žœœ"bb²yç$'ç1}ºŽŽÚFÐ']Ê 0Й¤¤<~üñ*wîsãF³fEè4ú¢´üæÌ‰dÏžrrŠHHÈåãÏœœÇk¯yT+6]ió·T##:vt$99¯¿¾LZZyyÅ=šÌÚµ1ÕŽI!j#Å=Ž-200`ýúõ 2¤¦bBMQQ;vì`íÚµ„……qãÆ   6¤{÷îŒ7___}‡)D…BBBøõ×_küÞeWü¯Ê¸qÊ^Ë%KÜ®áái<÷Ü^µccÆx1q¢j_äR=z¸òõ׸z5‹©SÃ9{6 ;;SÞxË—^j¢J[Õùw“ššÏ?2{v§N¥R\¬Àϯ.“&é¾Où… ¬]Ãñã·¹u+33C7¶bÈ&„„4RõfgñçŸqlÛKLL‰‰¹˜˜д©5}ûÖãÕW›©öž®nùÎÁMO/૯¢Ø¹óññ¹ØØ˜âãcËÈ‘Í5æ°ÇÄd3þYŽI¦¸¼½mx÷ÝV,^|žˆˆt"#š{_ Ô€E‹Ú«ò\¶L™gBB.Æ´iS—Q£cʺv-›Þ½wÒºu]6lª0¯ïfrs‹µºßáë[Wõ{q±‚õë¯ñÇ7¸|9“ÜÜbÌðö¶%(È•=\pw·R¥ÏÈ(àÿ‹cÛ¶8.\È /¯WWsZ·¶gäÈæx{Ûjä9tè~NžL©0žW_õ`Ú4?ãEE ~üñ*7Þ && sscZµ²ãå—›Ò£‡«|ÆŠG–ô” !„¸/úôq#:z0½{»é;”âêÕ,†Ýϵk9,]ÚððlØD½zLšƼy‘úQÔr#F4':zp… $}»s§˜^½v0rä­¯©mŸ1eýöÛuΜI#::«Â4‘‘ϰeKOz÷V–UE?ÖÖ&×NžÆŒgèÓÇíÛ{1Ÿî†-3gž!8x¯ZúyóÎòÉ'gèÝÛíÛ{ö4óæµãüùt‚ƒ÷°sgü=¿æÜÜb^~ù6\gÚ4?ŽïÏÆAXZ1jÔ._μç<„Ði” !„x¨øúnfèÐýÕ>¯OFF|ùe-ZØbffDƒ–ÌŸï)?þx•‚‚}‡øØy˜ëƒÐžB¡ ¤DùSž¼ÇêJJüñÇ ||”WJè5%""-[b iĨQž¸ºZ`ffDÆVLšÔ’_lRáu!!xõUœœÌ±°0& À‘ÐЊ‹|öÙÙ ¯ùã  TÔK>oÞY.^Ìà»ïºà€¹¹õêY²`A{LM¥I#mRƒ…BˆàáaMTT0¶¶¦jÇML qs³   „ü|톒 QÛXY³gÏS¬^ý„¾Cyè<˜„±±!sæ´`ãÆk>ÌÐÖéÓÔ†®—ö87mj]aúþýÝ5ŽÍÛŽÙ³Ûj÷ö¶ÅÜ܈7rPT?DnßÎççŸc4¨!ŽŽfjç,,Œ8~žž6ÕÏ@=“FùcláÂ…```€»»æ¨… ÁÀ@ù#uV<&23 ¹v-Û ‡‰ !„.~ýõ:Ï>Û_ߺ´haËíÛùìÝ›¨ó}†Ýφ š½ìŽŽæ;ËÞ½ ˜šѽ» }äGVV!3gFrôhVV&ôèáÂÔ©~XY©Ò¦ŒËç¹cGoBC/päH2ééœ8ÑŸºuÕG^T¤¸XÁöíqüòËu¢¢2ÈÊ*¢Q#+† iÌðáM14Ô®5tåJ œãèÑdŠŠxzÚ0v¬ß}w…Ç“åå¹sÛU»l+zŸ~ÚŽ?<¥JSº`›¶ïq©ª>cjú}®Œ—×F­{®Í8zôi­Ò‚²ÌwïN`Ê”V<ûlCæÌ‰ä×_¯Ñ«—«Ö÷¹›€GœœÌ9p ‰×_?ÌèÑž8h]ÊÚ¶-€1c¼*<¿qãM>üð4×®å`d-ZتÆ,ëܹtlmMùôÓH¶m‹ãöí<œ-èÝÛñã[`gWõߊ+é)È•””PR"sÅ#¤¤Dù#D9³gGòÚkÍ8|¸K–tàĉÛL˜pBu¾t* e¬tnaé—omÏ{{Û’™YȬYLœèñcýY·®+…¼üòAŽ×íÏŒá|ÿý>úȰ°þüõWoš6­ÃèÑG «xåàeË¢hÓf C‡îÇЖ/ïT­¡•Úæ­mº¤¤<Þ˶m±|òIkNÈÚµ]IO/à¹çöqútªNñ%'缇­[ã˜>]™÷¦M=éØÑ‰)SN±n] o½å¥zßÊêÖÍ…èèÁ´jeW­×]U}(ß–-±ÿħ\|ψaÃòË/Ê^Âò †}úi$£FyrìX¦MócÓ¦›LœÆìÙ‘¼óŽ7GögüøüòËu/>¯»¶e\>ÏiÓÂyùå¦8ð6Uú°§"ûö%ðöÛ'èÜÙ‰¿þêÍÁƒ}yþùÆ|úi$óçŸÓêׯç²ÈÈ4–.íÈñãýùì³v|ÿýU.^ÌÄÔÔèèÁªyu˶¢×YÙ‚mÚ¼ÇeUõS“ïóÝDEWº¨Zù]ä[¶ÄÒ¶­=îî–7ÄØØ€={HIɯôº¿ÿާY³?Ô~*[ùÜÒÒˆ%K:àæfÁþý‰¼ôÒ:wþ“I“ÂØ²%–ÜÜ"­b½};Ÿ Î1dH#ž~º~…i22 ˜7¯Ç?Íï¿áînÉĉaÌœ¡–.))€÷ß?EJJ>ëÖuãøñþ¼óŽ7¿þz}dej—#i”?ÄLLL8{ö,‡Öw(BhÇÄΞ©³¢C†4¢m[{,,ŒèÜÙ‰ž=݈ˆH#-­ ÆóÊÍ-fæÌ6ªü|}ë²hQ{ K˜5+¢ê”qøp2Í›[茹¹ŽŽf¼ÿ~+š4©Sé5o½åÅ… ƒøë¯ÞxxXóÌ3»Yºô¢Î¯CÛ¼µM·pá9ââîðᇾ¹biiDóæ6|ñE …‚O>9£S| ž'6öÓ§ûѳ§VVÆ8:šñÖ[^tëæ¢óëÕõõhß´iÊøêÔ1¦I“:„†àädÎÌ™g¸}[³!ÒˆV­ì°°0"8¸͛۰o_"ÿùrk'KK#^x¡ îî–ìÛ—T.Ïê•ñèÑžtì舅…1­[×%**X«^òR;:òÆžØÚšR·®)Ç{0p ;ß}MvvÕ¨… Ï‘™YÈôé~:«â m_á¶ZÕ-Û{}w£ëg̽¼ÏúòÛo×yî¹FªßëÖ5¥gO7Š‹lÜx³Òë*Z}ýn£†Ú·w`×®'Y°ÀŸÞ½ÝÈË+fÓ¦›¼óÎ ºvý‹­[cïgzz¯½vˆŽ˜5Ks®9ÀúõÝX¸°=-[*߃¦M­Y¸°=­[ÛóÃW8s&M•¶t=33CæÏ÷§AKllL<¸!o¾éELL6«WGß5&!fÒ(Bñ@øù©ÏtqQÎ[LLÌ­ñ¼,,Œ4†b{yÙàìlÎ… ª^mtïîÊ©S©Lzšðð4Õ°Ô;ûб£c¥×™˜âáaÍÌ™mèÕËÅ‹/pèn_ìµÍ[Ût;wÆchh@Ïžê=’NNæ4onÃÙ³é$$hÿ~ìØqëŸü5àß|ó¯½ÖLû[Fu˼²øzôPÖkjjÈO8‘—WÌšófË.zÿÖÕV­Ô딫«…Fý­n·n]W㘶zötã§Ÿºj÷ö¶¥¨H¡ÕVQû÷+Ë¡[7õ²²·7£iS͇!Õ-Û{yUÑõ3æ^Þg}¸x1ƒkײyê)õºUÚH¯éUØMM <¸!+VtâÔ©üøc ¸“ž^À¤Iaœ?ŸQáu¹¹Å¼úê!š7·áóÏÛë4ê oßz€ry)KKåÔ.]œ5î׳§²8ðp<8¢:j]£|ãÆªÅÏ ¸víC‡ÅÎÎ À•+WTégÏž­J¨:¾}ûvÕqGGÇJïýúu†еµ5 6Œ´´4®]»ÆÀ±¶¶ÆÍÍ‘#G’•õï>“[·nU»O^žúÈ””&Nœˆ‡‡¦¦¦Ô­[—~ýú±gÏžJ_ûÅ‹éß¿?¶¶¶XZZÒ£G:¤–&??Ÿ>úˆ-Z`ii‰½½=dóæÍ˪Á: üwá2xùeåñÞ½Õ§§W~ÕÓ^»C‡‚88À€P¦Î2{ö¿iËÔY¶oÿ÷x™:«qÿëו÷·¶VÞØ0HKSæ;p ò¸›Œ eê,[·ªß§\%%&N05…ºu¡_?¸KåâEèßlmÁÒzô€ru–ü|øè#hÑB™ÆÞ^çæÍ uö¡bm­>³t~⽬È[›ŠTspP®Ú{·ažå͘њ… ÛsófƤM›­¼öÚ!U£D¥_÷ìIÐú]òÖ&]AA YY…””(hÓf‹ÆPÖÒ9›×®ek[éýÌÌŒ´žk«­š(óªâ+]Ì*9YóM:êé ”ó˜-,4ëpÙ-¼î¥ŒËï×EVV!‹_àé§wÑ®ÝVU~¥ó±+êé.«  „œœ"ÌÌŒ°´ÔŒÃÖÖD#}uËö^^gUtýŒ©îû\/¯ï}e?:mÓú¾¿ývœœ"|}ÕëÖ¨QʽÝ/_ÎäÌí§ ¬_ßgŸmTuB”åÒ¹³‹0z´'ÅÅ þüS³·¼¸XÁرÇpq1gÁäÎÎÊúSösº~}åpýºuÍ4Òÿû¹®ýÃV!6µ®QŒB¡`РAL˜0 &ÇúõëÙ½{7/¼ð‚*ý´iÓP(XYY©Ý§oß¾( üýýïzÿ‰'òÞ{ï‘ÀâÅ‹Y³f /½ô&L`Ö¬YÄÇÇ3cÆ V­ZÅǬºÏ€ÔîSVBB¬]»–/¾ø‚Û·osìØ1,--éÕ««V­Ò¸&;;›1cÆðá‡ÇþýûIMM¥gÏžìÛ·O•nìØ±|ùå—,Y²„””.\¸@‹-4h¨F‰×rBx8XYAëÖ°r¥òøÿþ;ºuÊo všs*U‚ƒ•iJë„ ÊŸ¸8X¿vï†2u–iÓ”éËÕYúöU/Wg5î?q"¼÷$$ÀâŰf ¼ô’2ÏY³ >fÌ€U« LeÀõû”•°v-|ñ…r·cÇ”è^½”÷*/;ÆŒ?T¾Öýû!5zö„2u–±cáË/aÉeÃÿÂe}Ð :ûHªj…^mVðMO/¬ð‹xé—¼Ò/qÚÆÜ€~äôé,_Þ…ÆŒ9Æ7ßh7\²tÝÒ…­j:omÒ™šbcc¢Z$«²9®¥ ti󚬭MÈÏ/&'§êáц†j®7‘™©9T—2¯¬>TßíÛÊ/ðNNæUÆ®­š.cmu”¥K/2thcþþ»—/+ó™:ÕPî^UÜVVÆäçsçŽf¾üC¬]¶÷²j·>Ü9åEE 6mºÉ/¿t¯ð>¥£R6l¸qÏñŸ<™BÇŽ•?,(­¿™™šïý´iá”°dIGµyÏž;OÓH_‘ÒQ e?§Û·WµOJÒ±PZ?Ëo•&Ä£¤Ö5ÊË1b;wÆÊÊŠÞ½{Ó¿Nœ8Qc«•ÿç?ÿÁßß+++† FË–-ùóÏ?™8q"mÚ´¡N:Œ=š&Mš°m›vOK?øàbbbX¼x1 ÀÆÆOOOÖ®]‹››ãÇ'1Q}ÈXFFŸ~ú)]ºt¡N:´oßž5kÖPPPÀÛo¿­J·k×.Z¶lIŸ>}°°°ÀÅÅ… àééY#åQ+µn ß~ gÎÀðáʆëèÑÊÆèóÏë~¿# sge£»woeOò‰5·Zùþ£l¸[Y){É[¶„?ÿT6ÖÛ´:u”ñ7iZÖY>øbb”ü”«³{z*énn0~<”«³ddÀ§ŸB—.Ê<Û·W> ((€2u–]»”1öéàâ (ï/IÆj·>}vòóÏ×´>Êù‡ê=FQQ™$%åáím«ê‰ÑFÛ¶[¹rE9*ÄØØ€À@gV¬è„zÏ÷ܹ‘LšVá=öíSÖo??݆îj›·¶éžzª>ÅÅŠ xZ¹ò]»n×i¿ã'ŸT3Ý»WsÀÀ»™3'Rõ»³³¹Æ°íääÿýï% èÜY½Çsóæ›,Yr‘ØØ JˆÍaþüslÚt“V­ì2¤ñ}Ë[›t“'ûа¡S¦œdß¾D²² IO/`ݺ–.âƒ|un:y²îî–̙ɞ= ää‘ËÇŸ!99×^óP¥ t&))¼Ê;Åܸ‘ìY•ŽZÐöuß­>”Æ7{v»wÇ““SDLL6ï¼s‚ää<¦O÷«ñÞµš.ãªб£#ÉÉy|ýõeÒÒ ÈË+æèÑdÖ®Ñ!î–ØÙ™2kÖLâÎb.]ÊdÊ”Söx?È²Õæoþq·aà µÞÊóô´¡uk{²² ùëZ•"Ç IDAT¯šù>0nÜ16o¾IRRžêólÕªË,Yr‘V­ì<¸a™ø®óå—8s& ?¿ÍÃôoÜÈѸÿ¹sé|üq8ׯçŸ_ÌÕ«YLžÆÙ³é î¡¶þ€©©!sç¶#-­€·ß>ÁµkÙdf²qãM–/¢u뺼òЇFB<*jý>å¶¶êOùLM•+€ÖÔ6d66ê[àbdd„¥¥¥Úq###­òÌÏÏ'##sss¬­­5λ¸(ŸJ'$¨?¹vppÀ ‚ñ_ÎÎÎܺu‹¤¤$ÜÜÜX¶l;wæûï¿§W¯^tíÚ•Ñ£G3xðà*ãw1küý·²ùý÷`XÍgbåê,ÿÔÙÛ†¬\ÅÐŒŒ”CÍË22Ò.Ïü|e¯·¹¹r>zyÿÔYÊÕY*³èì¬|”¤ìe_¶L9ràûï• |€®]•½ùRgõ*<<çžÛ«ú½eËÍŒãÅĉ>ªý†AÙ£Ú£‡+_Ý€iÓ|™:5œ'ŸÜ‰)}ÔëNUçA¹¥ÏÇ·föìNJ¥¸XŸ_]Ö¬ ÔyŸòµk»²vm o¿}‚[·r133¤qc+>ý´ªw `Ü8oš5³aÛ¶X6l¸Abb.&&4mjÍäÉ>¼új3ÌÍu›O«mÞÚ¦sp0ã÷߃øê«(fÌ'>>S||lY±¢#]º8럓“97ö`Ù²(>ùä ¹ØÛ›Ñ¡ƒ#?ÿÜzõþýܘ8чüüb–/â³ÏÎÒª•S§úrãFgϦӬÙŒíÉ»ï¶ÔúõÀÝëCÙøfÎŒ !! cÚ´©Ë?ªø•ÕÕ>}Ü<øßãÍšýÁäÉ>´oïÈóÏïW;>~¼7ãǷкŒ+Ê :Z÷Ï­/¿ìÀ矟燮°hÑ9ììLéÞÝ•gžiÀŠQ¼òÊ!Zµ²cÀwÕ<óÒ¸Kÿ&6´â×_»3þYÆŽ=Fq1x{Ûðî»­X¼ø<©©êS/î¥lË¿Îòû‡·l¹™Aƒ°h‘òapeï±®Ÿ1o½Õ¢ÆÞç%!!—ÀÀíìÞÏöíqlؤ–&66‡  ªß'M cîÜHrrŠTë ”n‰¦víìY¿¾;wÆóý÷W˜7ï,))ù˜›+WHûmo^y¥©Zoøöíº=n€ ›7ßäµ×‘‹™™>>¶„†0p »Æ5ݺ¹ðóÏÝøòË ¼—¼¼b6´bäÈæŒå©óç«EUªºëׯgÈ!5Ó̦M›ÈÍÍÅÜüß'Àï¿ÿ>Ÿ}ö§OŸ¦M›6ªã666´hÑ‚ãǫݧY³f¤§§k w¯ìþ}ûöåï¿ÿ¦¨H}NPPaaadggWy;;;222ÈÌÌÔh˜>œü‘ï¿ÿžáÇЦM®\¹¢¶\©Òú[·náæ¦¾šgaa!{÷îeáÂ…ìØ±ƒE‹1qâÄŠ ô!e``À„  Õw(ÊÍÆŒQnvõªrÁ²Ö­µ¿>86mRö*—©S¼ÿ>|öœ>­^^ÊÆF9·º\¥Y3åÂr击Wvÿ¾}•ÊÕY‚‚ ,L9÷»ªûØÙ)æ™™š óáÃáÇ•êê,mÚ(¯« ÎªzèoÝR6ÊË*,„½{aáBر-R»×£~ýõ׿wÙE)«2nœòáÇ’%š«!?nÜMjj>‡õÓw(B<ž|òoòòŠÙ¿ÿ)}‡"ÄC¯6ý+þåââB:ºmÛYƯµ~øº¶ÜÜ܈‹‹S;–À÷¾ †®J{¬ÿ÷¿ÿ©ÏÏÏçÿÙ»÷¸œÏÿ㯻ó¹èL"IB'Í™š™L ¯m_ä8‡ŒïׄÍÌœOý6dv0föuØ3„™…9B†J)åî|ºܺ¹»Kww¥p=þès_Ÿëz_ŸûâÓÁƒ144¤W/åÎÌÌLbc•ÏF=þ< xzz*:ä\¹"?KWWW—€€ÅŽò¥Ë*áÖ-ùZíÿýO¾+¸¡¡|#²””š+ÓÞ^¾AÚÓ’’ Ú¬bĺtÊË“¯ 74„Rm–ÌLù4õ§?/ïŒ{z>é[XÈwiùOv”mVA-))¹´mû+……Êc5wïfqûv¦Ê²A¡úˆN¹š^ýuX½z5™™™Ü¸qƒÉ“'ccS¹©~ÕaÁ‚899Jdd$R©”k×®1tèP WLc/allÌ„ 8qâYYYœ:uŠaÆ¡§§Gxx¸RÚ±cÇrîÜ9òòòHNNfñâÅÈd2zôèñ<«ùòÈÌ”¯\ -[B“&ðÓOòÎåÀòÑÝšðúëò2V¯–Çpã†|ƒ´Zh³,X ß.4T~tšT ×®ÁСòµáááO¦±—06–ï¬~âdeÉGå‡ “O×/Õf;Γwò““añbùn1¢Í ‚ ¨-##ŸY³Î˜˜CNN!±±iLž| SS]&Lx~S¶A^5¯ÜšòãÇãçç§øÝÐЙ3g*Î#/áííMŸ>}ˆŒŒäç•çææ2þ|þûßÿÒ¶m[V¬XÁ78}ú4‰„éÓ§TfþAAAJ›ÊI$,X@§Nèܹ³ÒõO>ù„9sæ”[;;;bbb˜7o“&MâîݻѡC8 è}:111áëëKTT;vTä}äȾøâ Þyçn߾͛7gÆ Œ9Rçþ ›0A¾æä#ãçσݓ ÈþøCÞÉüì3ùQfe9~\¾fº„¡¡|Ó¸’óÈKx{Ë7R{Üf™7O~Vøüùò#ÎÚ¶…+äóÓ§å÷NŸ.ÿ ¬üƒ‚”7•“HäëNäk¶Ÿ¾þÉ'òcÒÊcg'ß!~Þ<ùNëwïÊרwè Ÿ_Òy^º·Y6„åËå1ÆÄÈ7póõ•÷T›åÈøâ ùNö·o˧Ì7o6Èg'¯Œˆˆëå®—-‹:ë+kjýhm–­Žºß«ây¾ÖÖ|ûm'6o¾É!G¹?ss]:v´aÅŠv4jdTq&‚ ‚F^Ù5å/о}û²gÏòòòÐÑyå¾C©²:µ¦üUÑ·¯ü¨´¼<mV¬)A„Wˆø¼}5‰5å/™Ö­[¯øýÞ½{8::йPwµn OµYîÝGGÑ!AA5ˆNy´dÉ233ùùçŸ9{ö,cÇŽ­íáÙ–,‘¯[ÿùg8{V¾Æ[AA„ ‰¡¬:fãÆLŸ>{{{ììì˜?>Ó¦M«í°¡|7Ê×}ÛÛË׎ϟ¢Í ‚ ‚ ‚ZD§¼Žiß¾=‡®í0A}íÛËÏAA¡ÒÄôuAAAA¨%¢S.‚ ‚ ‚Pmªt¸•ð rAAA„j “íϺuë(**ªíp„„XS.‚ Ôˆýû7î¸â÷‹ßB__»#ªY2üýw*?ÿ|‡cÇR¸w/SS]œœL:Ô‰·Þj„DRÛQ /›ˆˆë,\x[[Žë]ËÕŽ%K.Ò°¡C‡:©•¾¨HÆŠ—Ù»÷.‰‰9tè`ÍW_½¦’fÛ¶xvîü‡ëב“S„¥¥>nnætëfG÷î¶88kœÞÝýgrrÔë´íÜÙ w÷zj¥-/ï>jMHˆ ¯¿~€›7¥Š×Ú¶µdÛ¶.•Ž©¨<¬tÝÔT—3g¿—þ,èÞÝŽ ü˜>ýo~þù¶¶†ôìiÇÿÛê¥øŒÉа´ìÊÊ•+Ù»w/óçϧeË–µ–Plj‘rA¡FØ×ûÚ幸ySJpðÄÇg±zµ/gÏò¿ÿu£AC¦N=ÅÂ…çk;Dá%âB\\ÜÜÌk;”Êöí·ùòË«ôïïÈñãoªtȦM;Åœ9±ØóÛoþœ;×—~èBË–æÌKPÐá*¥?þ-~ù¥þþòÿ/Ëú15Õ­týÊÊ»¤C°ys'ÜÜÌyûíÆ\½Ķm]4ŠÉË«qqý8°1ýû;*uÈAþYpìXo¬¬ô9r¤6ø°hQNêØ1.|óÍ ¾úêF¥ëYiiéÓ¼ùÇDFFbhhÈ€X½zµ5ž©ZFÊ¿ù梣£«#+A¨v`Ê”)µ†ðŠŠÅÁÁ¡¶Ãx¡¸»ÿLË–Š?+ûzmÒÖ–ðÿ烹¹±xq[ŽMæ»ïn2uj+ôôÄ÷áÕ©.·¡fI¥¬_ƒ“¸ySж¶?þOûöV ÜggÓrï=q"€áÛal¬úçð¹sùå—»7aôèæŠëŽŽÆLÚŠG øõ×{§¯M7nH92š~ý˜2¥zFp?ú¨5$²sç? ÜK¥×?û,–ÿÛ™† ”®ë0dˆóç_àĉÆkÎËÂÙÙ™ï¿ÿžo¾ù†eË–qèÐ!V®\I£Fj;4¡ª–Nùž={سgOud%ÕîÂ… \¸p¡¶Ã^a999µ‚ð8;›rõjÊu]]-ìí ¹|9ƒ¼¼"Ñ)„j—WÄ AGÈÊ*dùòvìߟˆ½½!..fÌšu†Ý»ïpüø›åÞÿða>ÚÚ’2;äׯ? iÓ²;ö}ú8(u²+›¾2J³g{àè(ßøèé «NŸN¥Y³€|JøÕ«A•zÝÖÖ€/¾èÀ’%‰M£¸<=ëñá‡-iÛÖ²thÏ”Ÿ_ÌÚµWÙ³ç ÙèëkÓ¶­%ÁÁMèÖÍmí²ÿÐÌÌ,äêÕ –.½„µµK—¶«ô3S·ìÊĘ––ÇêÕW9x0‘û÷s05ÕÅÇÇŠ‰[h´.9==Ÿ5k®pà@"II¹Ô¯¯‡³³)ýú5¢O6nŒcÅŠKÀ“ͤ@>z6bÄ_€|”íé‹:õ©¨=”_bbFF:xyÕgôh:t°T7¢:r¤‹]àðá$ôô´éÚÕ–?ö@*-`îÜó?žŒ±±.Ý»Û2s¦‡Êh«:ϸt™¿ÿîÏŠ—‰ŽNQŒÆÄô¡^=½J¿'»wßaêÔSJ×¢£{cmmPa|ЦM¤Ò½S¦´äƒ\)*’áêºKqý7²zuù# ®®»ÔîpYYé?s„»DI‡æÈ‘ûŒÑLéµNlÔÊãY||¬°¶6àèÑdFŒø‹1cšããc‰–VÙÿÞ+›þyûî»›¬Ys…ýðô¬_#eH$0w®o½ŪUW tàÇoÓ¦%¾¾V5Ræ‹ÄÀÀ€ ЦM>þøcâããY²d µšPHdUüšF"‘°mÛ6\]1 Bµ‘H$„††²bÅŠÚExE 4€íÛ·W{Þ7n¨¿)Îĉ¶¬ZUö(NM;ö8$âïoϘ1ÍiÑœ³gÓ7î8M›š²cG7¥ôU]SÞ·oññ™´haNX˜;-Z˜÷ˆ3Îp㆔o¾éX©?ÃÂþfïÞV­ò¥];K23 ‰ˆ¸NDÄu¾ÿ¾3íÛ«æµfÍUEG´}{+>þØWW3µË¬lÙê¦KNÎeР#äå±pa|}­¹w/‹O>‰%6ö!›7wÂÛ[ý?ØSRJò+æóϽhßÞšœœ"¶m‹gÅŠKÌœéÎðáòSyï[PÐ!îÞÍVê”Wæ™?«=”Ä—›[ÄüùÞøúZ“’’ËÒ¥ùý÷>ÿ¼ ƒ7V¤/i«½z5`Ü8WœMÙ·/iÓNѵ«-ººZLžìFãÆ&ìÞý³gŸeøpgfÎôPäQÙg\R¦¯¯“'»ááaÁµkR>ÂñãoªÝ)ïÛ7Š´´<ÅîëEE2-ºÀµk²ÏAeâ>üÇŽ¥pà@€â˳ƒáÝw›òÖ[µ³>6+«~ýŸ‰¹¹ææºôìiÇÔ©­00¨xï!CŽráB:çÏ÷-7Í©S©L™Cb¢| ’¥¥>:ÙЭ›þþvêT)=ÀåËôíUn ‹µáí·—ûú³”ämd¤Mvv#G6cÆ wµïÓ4¦… /qví,¹};‹ÈÈXZê?³ÌîÝ÷¡¯¯Ío¿½øÓºÕù¼=qâ|ðNNNDDD`n.6j|ÑÙÚÚbbb¢éíÛÅÂ6Aá¹<¸1ÞÞõ14ÔÆÏÏš=ì9wî!Vÿ:œœ"æÎõR”çî^eËÚQPPÌgŸ«T^ý•‚‹‹):Ù`` ••>}Ô'§ò?|?øÀ•Ë—û±oŸ?ÎΦ¼õV«W_©t=Ô-[ÝtK—^äÞ½lÂÂÜéÖÍ##m\\Ì÷A&“ñé§±•ŠoéÒKܽ›ÍìÙôèa±±VVú|ð+]ºØVº¾•­ºñÍš%ÏÄD''V¬ðÁÚÚ€¹scyð Oå¾AƒÓºµ††Ú5ÂÅÅŒ#Gî3r¤ nnæi3dˆF9’\ªLÍžñ˜1ÍißÞ CC<=ëqõjÆ£äòÅÅ26n|MÑ!¯l|#Gº<ÎãºRþ§O§’Í›oÖÞ&–ÆÆ:lÛÖ…÷ÞsàŸ²Ø´éíÛïaÞ¼sdd<ûÿ•„„lììž=BÙ®%¾Î’%mñ÷·'7·ˆÝ»ï0eJ ;ï#2òn•Ò?­¬Î+;«§óòâëÞÝN麞ž¯½fMnnGªŽf•>º¤­¶n­Ü¦ìì UÚ¯¦ÏØÓSý3¨ŸåæM)o¿}-- ³fy¨,¯¨L|:ÙàêjÆŽw”6áÚ°á:ï½çüÌ5Âσ¥¥>ìÁÉ“o2hPc<=룥%áë¯o0tèQòòT JOÏgÆëÜ»—Í¿þÕ´Â2ôô´èßß‘/¿ìÀßòÝw t ==Ÿ©SOqéRF•Ò?M›š°iSGŒuX¸ð_}W£åj+f#µh¡Þð!Ndf°bÅ¥ù¢¶.jÚ´)[·n%++‹ýë_¤¥¥ÕvHB-kÊA„çÂÔTù#§d­eMìucfVö†j––ú$'ç’šš‡zëøæÌñÄÛ»>;vÜæÝwÿ ]»ú âÄë¯7P+=ìøý÷J¢cGõ*Q‰²ÕI—Ÿ_ŒTZ€—×/å–Ÿ‰a…±•䧯¯]îÖšªŽg^Q|%s¥¤¨~Acb¢œ^"‘¯U/=ýXKK¢´aXUž±¡aÅS®+òèQ!ãÆÀÎÎ#Gî³{÷úõ{2½\“øþýogfÌ8ÃæÍ7™0¡·ne¢EmÔŽ«&Ö”?M[[Býúú¼ýv=ºw·ãí·sõê#~û-A©þÿýïivìø-- £G7çý÷+]ŽŸŸ5~~Ö4lhĺuר»÷.-[–Ýñ¬lúÒªó˜?oïú¿(;Æüùç‘HÐèK³š:z°_¿F$&æ°bÅ%¾üò;Û°iSÇ)«.qpp`ëÖ­3räH¾ûL^`¢S.‚ Ô)’ ß*z =½™L5mjª|ª²:Ó)Ÿ./(¨AA(,”qüx ×?þaaî*›L•¥ä´Êù£nÙê¤ÓÓÓÂÌL—¬¬B.]êWîuêÒÓÓÂÔT©´€¬¬Â ;æZZ ŠU®?zT q½KÒj߃òθµuõm²TÝϸ²´µáÛo;ajªË A‡ ;ƒ““ õ4ޝ_?G–-»ÄwßÝdôèælÜx•¦ÄW¤¬£«j÷î;ìÞ}‡¯¾zM麽½!o¿íÈ_\ãÞ½l¥×/nËÇ{rôè}BCcÈÈÈçóÏËÞ©½äè°'Êþ‚ CkÖ­»Æ£G…¥¯ mÛZ²qãkŒñŸ~mm‰búm[¶ì"_|qùóÛлwƒWê¤ [[[¾ýö[‚ƒƒ7n›6mBGGtÑ^5búº ‚P§ê(uÞöóÃñj¿òcxÎSž xõê#’“sqs3W{”ÀÛ;’7¤èèHèÔɆ/¿ì€D‡%)Ò-Xp^e·ëGŽÈ§H—tŽª»luÓõêÕ¢"§O«®_\·î;ÿV©5%£Ö‡'©¼Ö·oŸ~^ñ»Ê´í””\²Kߪv}àÙí¡$¾Ò÷äçó×_)hÓ¹³ækßËRÝϸ2Œu°µ5ÀÈH›uë:`d¤ÍرǕ–kT6>==-þõ¯¦¤¦æ±qc»wßáßÿÖlYBu;wî!YYªÜÌLù5ggÕ3ÃMLtèÝ»!­ZYðÛo åæ-“É¿Ä;{öa™¯Ÿ?/¿^2ê]Ùô•tè™ëÑ+ÃÇÇŠ_ÃÐP‡¹sϱyóMò©Î˜~ÿ=#nüJuÈK8::òÕW_ËgŸ}VÛáµ@tÊkXff&...Öv(Õæe¬Ó«$3/—™.®zyÞ¿—±N¯²V­,¸u+“ÄÄΜI㟲ðñ±TûuSS]–-»Ä™3iääqþüC¦N=…®®³g{”.²B³gŸåÊ• òó‹IMÍcýúkÈdàçg­”îçŸï°jÕîÞÍ"?¿˜»w³X¼ø"»wß¡uk nRce«“nÚ´–8:3}úi޹TZ@zz>[·Þbõê«Ì˜á^©ÑÝiÓZâà`Ä矟çС$²² IJÊá“ObIIÉeøð'£p:ÙœœËwßÝ$;»ˆþÉâ³ÏΕ;kAÝz?«=”Ä7oÞ9¢¢ÉÊ*äÖ­L¦L‰!%%—Ù³=°²RÖ„ºÏ¤:Ÿ±¦ŒY³¦=iiyŒœüübã6¬)Ú,_~‘ŽmhÜØ¸¬"Ÿ»ôô|&L8Á•+“›[Äž=÷øé§ðñ±Âßß¾Ü{MLtÈÌT¥QÚĉ'øùç;$'ç*þMGD\gÕª+´nmAÿþŽUJ_|}­Ø°¡ÚÌ™Ë÷ßߪíÈÌ,x%;ãOssscÉ’%lÙ²…­[·Öv8Âs&ŽD«aR©///\]]Ù³gOm‡£6¼¼¼øóÏ?U^{‘ê$ŽDS%Í•â5× W[WöL®ÛïßÓL&˜àÕÈ‹?§—Ñ&ëp^å#ÑΞ}ÈÀ‡•®ïʇ¶Tœ)]¢{w;6lðäUÍœy– ba¡Çر®üë_NŠ´½^r4Ô·ßvbÞ¼süýwEE2<<ê1ujåÏ)¿|9ƒ-[nqòärÐ××¢IcvbРƊéÓ™™…ìÝ{={îrëV÷ïç «+¡iSSÞx£ÿþw3µŽjÒ¤luÓ¼#³víUöïO 1133=Z¶4gÔ(—J­w:¿5käù%%åP¿¾>¾¾V„†ºÑ¤É“µ‘Ri œçðáû™2³k×.މ„øøx‚ƒƒ±°°ÀÒÒ’ÀÀÀ2Gš4ÉûêÕ« <KKKŵˆˆ¥4¹¹ÊÇ®¤¦¦òá‡âì쌾¾>øûûóõ×_““Sñ9±O߯§§G½zõèÝ»7‡R¤Yºt©¢|bbbèÙ³'¦¦¦ѽ{wŽ;¦’>++‹cÇŽ)î-Ù²t½ŸU§òbÒô}yÞ®$]!hMæ“Ì1o„ïç¾Dž‹Ä¹?’Q$£$„|óT›”¦0ië$š|Ô½±zXO±fÀÚœ½óT»9³Kq¯d”„øÔx‚×c1ÉËPKWr#¥Œ6©AÞW“®2xÝ`,C-×"ŽF(¥É-(õþe¦òáâæŒþ8}þã€ÿr¾þëkr Ôh“Oݯ7Vz“ëÑ;¼7‡®<Õ&÷-U”ïðbâc蹬'¦L1oD÷¥Ý9wL%}V^ÇâŽ)îÕ£Sf½ŸU§òbÒô}AxYýøãmÆ;Nvv[¶Ü"##Ÿ>}ÔŸ>ý¼½öš5îîj§ïÒE>š¹nݵJŸŠ T©´€¯SX(£kW»Ú§Îppp`òäɬ[·®NüM,Ô¼:1}=..ŒÙ´i~~~ܾ}›ÐÐPbccyôè‘Rç/11???rssùꫯèÒ¥ ·oßæƒ>àĉDEEáçç§HÄîÝ»éׯÓ§OÇÃÃèèhÞzë-Z·nÍÉ“'«œw×®]™3g¾¾¾œ?žŽ;’””„•••"MNNŽb JRR¯½ö999lذ®]»’͆ ˜={6+V¬ 44´ÜgVrvv6téÒ…¤¤$f̘ÁÎ;Y¿~½Ò—^^^ÄÅÅáááÁ²eËðððàòåËŒ9’+W®ðûï¿ÓµkWEúЦ¯?«NêÆT™÷ESšN_KŽÃçsŒõŒÙ4|~Î~ÜN½Mè¡ÄÞåQÎ#r¿xªMf$â·ÀÜ‚\¾ú÷WtiÞ…Û©·ùàû8qëQS£ðs~ªÝ¬ b÷ÙÝôóêÇô7¦ãáàAôÍhÞZõ­¶æäÌ“Uλkó®Ìyk¾N¾œ¿wžŽ ;’´, ++Ešœµ9è>~ÿ2’xmákää°á½ tmÞ•ìül6ÝÀì]³Y¼‚Pÿg´ÉÇ÷gçgñ~]\ºô(‰;f°óÌNÖ¿»žÎOµÉ¹^Ä%ÇááàÁ²AËðpðàrâeF~3’+IWø}ÊïtmþT›¬`úú³ê¤nL•y_Ô%¦¯??×Y¸ð‚Òµ’5ìe)½®½,O¯®NµY¶:êz|¯ŠÚ|~üñ6aa£­-ÁÅÅŒE‹ÚЪ•úÞÁúõ×øßÿþáÎ,:t°V9^­.z™þmþ÷¿§ùùç;4lhDß¾˜8±Ås?F°&T×çmQQAAAXYY±iÓ¦êM¨AU¾^'Á #==ˆˆhÕª[¶l¡I“&*ég̘ÁíÛ·ùþûïyóÍ7éøáš4iÂĉ9uJõXšE‡Úßߟ>}úðÓO?ñàÁ¬¬¬ª”÷ôéÓéÖ­íÛ·§°ðÙçPΘ1ƒ[·n±mÛ6Å.榦¦Ìš5Ki亢û·nݪ¸ßÌÌŒ-[¶Ð´iS&MšDß¾}±µ}rÔKVVk×®ÅËË €víÚ±yóf<<<˜n“ Z±eÔš|ÔD%ýŒ3¸z›ïC¾çM÷7éýM>jÂÄ­95«Œ6Ù9DÑ¡öwó§G~:ý2`ebU¥¼§÷žN7×n´wjOẠÚäŽÜzp‹mc¶èñ¸M˜2«Ï,¥‘ëŠîß:z«â~3C3¶ŒÚBÓM™´u}=ûbköT›ÌËbí¿ÖâÕèq›lÒŽÍ!›ñ˜ãÁä&s¶ŒÍb*C“˜@½÷E¨{BB\”61ªHe7ÔªNµY¶:êz|¯ŠÚ|nÌàÁk­üçaôèæŒýbm¤õ2ýÛ\¼¸-‹·­í0ê,mmmfΜɰaÃ8qâíÛ·¯í„T'¦¯ÿöÛoôêÕK麵µ5-Z¨~Ó·k×.´´´TŽä²³³£U«Vœ>}š»wUÏNôññQú½Q£F$$<9§RÓ¼}}}ŸUE;wÊ¿éìÝ[u#¢½{÷>s”üéûûôé£t]__Ÿž={’““þ}û”^366VtÈK¸»»Ó AbccILL¬Tª#&Pï}yÞ~»ð¸M¶*Õ&M­iaWF›<³ -‰–¢ãWÂÎÜŽV Zqúöiî>,£M6)U÷úëžþT›Ô0oß&•l“g·ÉÖe´ÉÉ{Ÿ9Jþôý}ÜK½ÿ:úôtëINAû.–j“úÆŠy ÷†î4°h@ìX3ªØ&5ˆ Ô{_AAjR‡èر#Ë—/¯íP„Vë#åyyyH¥R Êò¯W¯žJúŒŒ ÌÍÍËÍ÷úõë88(¯}*^OO€âââ*çml¬þ™%å`jjªö}êÞ_2””¤tÝ¢ìig666$$$œœŒ½}ùgzÖDLPñûò¼åæ!Í•b k€‰~mÒ¸žJúŒœÇífÒ3ÚÍýë8Ô+Õ& KÕ]ûqÝeÅUÎÛX¿mòq9º˜hÐ&+¸¿d$:)£T›4,§MšÚž@ò£dìÍ5l“Æ¿/‚ ‚ ÏChh(ƒ âÔ©S´k×®¶ÃjH­wÊõõõ155E*•’™™©Ò1ONNVIoaaAff&999Š Èª+–šÊ»t9æææddd •J+Ý1¯èþû÷åkXìì”7ÌHMME&“!‘(¯×)yÆ66OÎ&-¦¦bª‹ôuô150Eš+%3/S¥cžü(Y%½…‘™¹™ä|‘ƒŽV5¶ÉÌ»t9æ†ædäd Í•Vºc^Ñý÷=~ÿÍKµÉ¬rÚ¤ôq›4{ªMRÉ6©aL‚ ‚ u…··7žžž|ûí·¢Sþ«Ó×K¦p—Lc/‘””ĵk×TÒ0€ÂÂÂ2×^/Z´GGÇ ×t—§&ó~Zÿþò5A{öìQyÍÛÛ›)S¦¨uÿ¯¿þªt=//ƒbhh¨² 77—˜˜¥kçÏŸ'!!OOO¥Qr###òóŸìFêêêÊúõë«=¦ºªd wÉ4öII\»_F›l3€ÂâÂ2×^/úmŽÓ),Ö°MÖ`ÞOëïý¸Mž/£MÎõfʶ Úäãû=_êý/Ìãàåƒêª,È-È%&¾T›¼wž„ô<y*’é‘_øT›œåÊú?*h“Ä$‚ ‚P—¼÷Þ{ìÛ·Oe°RxyÔ‰Nùüùó©_¿>¡¡¡ìß¿ŸÌÌL.\¸ÀðáÃËY]°`ÎÎÎŒ1‚½{÷’‘‘AZZëÖ­cîܹ,]ºTãQîšÌ»t9NNNL™2…_ý©TÊÝ»w?~<‰‰‰vÊKî %22©Tʵk×:t(‰‰‰„‡‡«l¨fnnNXXÑÑÑdeeqêÔ)† †žžáááJiÛ´iõk׸sçÑÑÑܼy“Î;W{LuÕüó©o\ŸÐBÙi?™y™\¸wá_/sduÁ€8[;3âëì½°—Œœ Ò²ÒXwds™ËÒAK5å®É¼K—ãdåÄ”mSøõܯHs¥Ü}x—ñß'1#‘)´ÉÇ÷‡þJä¹H¤¹R®Ý¿ÆÐ CIÌH$|H¸Ê†jæ†æ„í #úF4YyYœŠ?ŰˆaèéèþN©6Ù¸ ×î_ãNÚ¢oDs3å&]*h“Ä$‚ ‚P—ôîÝ##£2ó„—Cè”;;;ÄÖÖ–1cÆ0cÆ œœœÐÖÖVJoccÃÉ“' b„ Š ávìØÁîÝ»dz?~‰DÂîÝ»044dÖ¬Y€|zö¢E‹ùÈtÉÆnUÉ»ôÜ’ó¸ŸN3lØ0@>;&&†àà`&Nœˆ¥¥%¾¾¾<|ø£GâèèøÌgVrÿ!C˜4i’âþ¬¬,8À¨Q£Tî111aÕªU|úé§ØÛÛÓ¥KêÕ«GTT”Òqh+W®ÄÃÃ777‚ƒƒ ÇÍÍM­:U“&ïËóælíLôŒh|œ|øå@l?´eÌwc˜Ñ{NVNhk•j“¦6œœy’ ¯ &l™€õkZÌnÁŽ3;Ø=a7ƒÛ=n77#%a÷ÙÇuoȬ]ë>J¢ß×}®7««œ·dT©6ùø<î§Ó ‹xüþ™Û33†`Ÿ`&nˆe¨%¾Ÿûò0ë!G§ű~mòñýC|‡0ië$ÅýYyYøð£:—Ñ&õMX5dŸþò)öÓì鲸 õŒê55Jé84€•Á+ñpðÀíc7‚×>$7{7µêTQLš¼/‚ ‚ σžž*³Q…—G8§üYZ´hANN·oß®‘ü_^^^àî’—»MŠsÊAáÕQSŸ·‡bôèÑüõ×_X[[WkÞBÕUõœò:1Rž””Dýúõ)((PºÏ7èÑ£G-E&¼ª’2’¨?¹>E¥Údj<7’oУ…h“‚ ‚ ÂóÑ¡Ctuu‰ŽŽ®íP„P':å>d̘1ܹs‡ììlNžÁÝÝ´´4æÏŸÏèÑ£Ù³gÍ›7/óÞ;wUæk!!!„„„зo_ÒÒÒj² ŸR‚ ‚ ¼bbR¹~ýo¼ÑPÑ!ÐÖ–ØÄÄ¢¢k1BA„êÓ¢E ŠŠŠˆ‹‹Sû™LFqq1ÅÅÅ5YõY¸p!W®\á믿ÆÇÇ4hÀ’%KÐÓÓ+÷¾äädæÍ›GPPÐsŒ¶úˆN¹ ‚ /¤èèÜÝ-T^sw¯÷8̓ç“ BMiܸ1ZZZܹsGí{Œ9tè7n¬ÁȪǃøá‡èׯVVVJ¯réÒ¥rGÉÃÂÂèÝ»7;w~¡V»:3}]Ax¹¥¤ä²xñEŽMF[[‚·w}fÏöÀÑÑol¶páNŸN¥Y³€|ÔóêÕ J½nkkÀ_t`É’‹ÄƦQ\ žžõøðÖ´mk©V¼ЦM¤Òµ)SZòÁ®ÉpuÝ¥¸þÆ Y½Ú€´´>VLœØB±>|ÿþDÆ;®¸ÿ÷ßýY±â2ÑÑ)¤§çÓ‡zõžŒ ܸ!eÁ‚ œ:õ€ÂBY¹õIOÏgÍš+8HbbFF:xyÕgôh:txrŒN~~1k×^eÏž{$$d£¯¯MÛ¶–7¡[7[´µ%Š´êÔ©"®®»(*RïV++}޳Ât7nH°³3Ty­äÚ­[RµÊA¨ëttt°´´$))©¶C©¤¨¨ˆ¶mÛVê¾íÛ·sýúuÂÃÃ9pà@ EW³D§\Ax.æÍ;Ϙ1ÍY´¨-gϦ1nÜqBCcر£ ߨ,$Ä¥Ü5ãê¾Þ·oññ™|öÙ9ÂÂÜiÑœ¸¸G̘q†aÃþä›o:âë«ü |YÌÌt‰‹ëψñçŸÉ8 øA[[B\\ :Â{ï9Ó·¯Éɹ t„¼¼".lƒ¯¯5÷îeñÉ'± x„Í›;áí]_± ÞØ±Ç9p ‘Y³Î2y²‹·áÚ5)ƒQŠ%;»ˆO>‰eÊ7ÜÜ|¹q£ìú¤¤ÈËÏÍ-bþ|o|}­IIÉeéÒ‹¼ûîŸ|þyn Àœ9gÙ»7U«|i×Î’ÌÌB""®3fL4ßß™öí­*U§Š\½ZýS ¥Rù±•FFªΔ\ËÈ(PyMáEekkKrr2ùùù¬]»–={ö€¾¾>mÛ¶%88˜nݺ¡­­Íþýû7nœâÞ‹/*Ö¢{{{#•–ý¥¥D"áèÑ£ØÙÙ––ÆêÕ«9xð ÷ïßÇÔÔ&Nœˆ›››Ò½®®®©wÚŠ••Ç?ù‚úâÅ‹˜››3þ|öìÙð±±ÁßߟI“&aa¡<3*))‰ °fÍŒÕ*÷i»wïfêÔ©J×¢££ŸûYðbúº ‚ð\ ÜoïújãçgMöœ;÷‡󫽬œœ"æÎõR”çî^eËÚQPPÌgŸ«T^!!.ËØ¸ñºÒõÓ§S¹?—7ßl¨¸¶téEîÝË&,ÌnÝì02ÒÆÅÅŒðpd2Ÿ~Zö®¹cÆ4§}{+ uðô¬ÇÕ«AJ£äRiÓ¦µ¢m[KŒŒÊ¯ÏÒ¥—¸{7›Y³<èÑÜœLX±ÂkkæÎåÁƒ<þú+S:u²ÁÀ@++}>ú¨5NN&J±iZ§ÚV²C¯DRABA„ˆ‰‰ YYYÌ™3‡o¾ù†?þ˜S§N±oß>š6mʘ1c8uêÄÅÅáïï_f^çÎ#..Nñ ÀÔ©Sòäädú÷ïÏž={øôÓOùûï¿Ù²e ééé 83gÎ(åyõêU¥<Ÿõót‡¼¤,€>úˆÔÔT¶nÝÊÉ“'™2e Û·ogРA*_$̘1ƒ¾}ûâçç§Ñó dĈtêÔ‰Ó§O÷Ü;ä :å‚ Âsâá¡<šjkkÀýû9Õ^–¡¡¶Ê´jWW3ll ¸|9ƒää\µózí5kZ¶4gÇŽ;Š©å6\gøðfJÓ¼÷ïODKKBÊÇÀY[àâbÆ… é$%©Ö×Ó³Þ3cÐ××VISV}~ÿ=€îÝí”ÒêéiñÚkÖäæqôè}ºvµãï¿Ó˜9ó gÏ>TL-ß¿?@1J^•:=¦¦ºdgª¼–“#©13Ó}®1 ‚ Ô$rssù믿pqq¡S§N`eeÅG}„“““FùîÙ³‡ððpÞ~ûmÆŽ«¸¾téRîÝ»GXXݺuÃÈÈÂÃÃ1ûiuU¼<ù—Æúúú,^¼˜FaffFÿþý7n·nÝRZ¿mÛ6âããùè£4*ïÑ£G„„„P\\ÌÆ17¯½#H«eúzpp0ÁÁÁÕ‘• T»•+W²råÊÚCx…988Ôvu‚©©òGŽ––¼3[Á‘£)¯#fi©Orr.©©yØØ¨ßÈ‘.LzŠÍ›o2aB nÝÊ$&&•eËÚ)Òäç+¦S{yýRn^ññ™*k  µËI-ga¡[æˆïÓõ±°ÐC*-@__ccÕw++y}SRäø9s<ñö®ÏŽ·y÷Ý?h×®>C†8ñúë ª\§ÒjbM¹³³)@™_ ”\sr2U«LA„¾¾>¹¹¹tíÚ•ï¿ÿž™3g2hÐ ÜÝÝSÖÕñôwll,ÿùÏðññaÞ¼yJéöïß––=zôPºnmm‹‹ .\ ))I1²^FFFtìØmmåÏÅ=z°|ùrŽ=Jhh( ,\¸uëÖahøìÏŸ²Ü¼y“1cÆàèèȬY³ª{UUK§üÍ7ß,w'™2õê#’“sqs3¯Ô(9È7vû÷¿›±`Áy6nŒ#2ò.ûö©~Ù׫WC¶oçôéT•ÍäÖ­»ÆæÍ79|¸W¥;·ÙÙE\¾œ¡4%¿¬ú¼þzþ÷¿Û:”D`à“/ƒòó‹ùë¯ ´éÜÙoïH~ú©+ÎΦèèHèÔɆví,qwÿ™C‡’1¢YÖ©:øúZѬ™){÷Þã¿ÿm…¾¾|d¥¨HFdä]ìí U¦ò ‚ ¼È²²²hܸ1‰„   ‚‚‚(,,äøñãDDD0~üxÂÂÂ1b„Zy5ŠÂÂB6lØ ²‰šžžfffdeeqéÒ%•Ñë²\½zU㺵k׎¯¾úJ±¶üi%ñ’£Ò† ưaÃTÒ•lÜ6eÊ>øàƒ2ËÑÖÖæÛo¿ÅÔÔ”Aƒ†““Ç^UbM¹ ‚P§´jeÁ­[™$&æpæLÿü“…¥Ú¯ƒ|­ñ²e—8s&œœ"ΟÈÔ©§ÐÕÕbölÍ>tßy§ ¦¦º,_~‘€€Š5ñO›6­%ŽŽÆLŸ~š#Gî#•žžÏÖ­·X½ú*3f¸kÔy54ÔæÓOc‰}øÌúL›Ö#æÍ;GTT"YY…ܺ•É”)1¤¤ä2{¶VVOf Ìž}–+W2ÈÏ/&55õë¯!“ŸŸµRž5Q§ê ¥%aá¶dd0}úߤ¤ä’žžÏœ9±ÄÇg2~EG]áe••…‰‰ ÞÞÞܸq•Ö©S'¾üòK$ ‡ª0Ÿ¢¢"&OžÌ7X³fÒZô &(¦Á÷êÕ‹¢¢"NŸ>­’Ǻuëèܹ³Ú#ãéÖ­¶¶¶üñÇŠõå%¢¢¢ªeö«±±1¶¶¶±nÝ:ŒŒŒ;vl™_|˜Ï?ÿœöíÛ—›nÚ´i8::2}útŽ9‚T*%==­[·²zõjf̘¡Öº:ôôôX°`>dòäÉÄÇÇóèÑ#víÚÅ_|§§'ï¿ÿ~µ”UÂÁÁ5kÖ––ÆøñãÉϯþaÔ!‘ɪ¶ÅŽD"aÛ¶mbúºP'I$BCCÅôu¡Ö 4€íÛ·W{Þ%ß«câDù”åU«îW{uMß¾Q¤¥åqìXïÚEAxÅÔäçmQQîîî,X°€æÍ›³eËNž<©8§¼I“& <˜Aƒ!‘HTÎ)èׯÇ'(èÙû||ñÅŠQéôôtÖ®]ËþýûILLÄÌÌŒ–-[2jÔ(:vìXíõ}ú0zôh Ê^~6{öl¶‰J‚ IDATnݪr½sçÎlÚ´‰ÈÈHÅ‘o%fΜ‰··7TºÞ¯_?–-[V©˜mmm111©8aÙ¶WËšrAAA¡æüóÏ?äççãì쌛›Ÿ}öÙ3Ó—œS^–ò®—Å‚°°0ÂÂÂ*¯¦¼½½Ù´iS¥îùì³Ïžù< ,óµÊ<‹š"¦¯ ‚ ‚ ‚ Ôq7oÞD"‘дiÓÚE¨fb¤\Ax)DD\gá Šß›5ÛÉøñ®|øaË2Ó—^Ã]–I“ܘ4©EµÅ(‚ šºqã†bƒ2áåòÜ;å™™™x{{ãêêJddäó.¾Ú½lõÑÔ‹ú23 ðöþW×úDF¨ípªìe«¦Äsx5…„¸â¢vú¸¸þ5 ‚ T¯S§NÕê±]BÍyîÓ×e2ÅÅÅWœøð²ÕçYLLLèÔ©S™¯½¨ÏA·üçeð²ÕçYLLÂéÔIuCxµžƒ ‚ /¿¢¢"Nž}úÃiÂÂÂHOO'<<œ€€EÞ[¶l!++K£º©S®¦uÒô–ÈÊÊbíÚµŠøÚµkÇæÍ›ÉÏÏgòäÉÕ·ª1©ûÌjÒŒG¹u+ƒ•+{茙™Í›×cË–@ìíM˜4é ÷ïg?Nû·o?bùòî¼ùfSLLtiÕÊŠ~|üÞ,³Œwüü`l¬‹¿cúôiJLLä(Ò„…%==ðð4Vä½eK²² 4ª›:åjZ'MŸa‰¬¬Ö®õWÄ×®›7÷!?¿ˆÉ“£4ªoUcR÷™ ‚ ‚ Ô„íÛ·Ó¦Mš5Sp^u¦S¾s§ü¼Ø>}ú(]×××§gÏžäää°oß>@>ÕYKK‹ÀÀ@¥´vvv´jÕŠÓ§Os÷î]•2|||”~oÔ¨ OFý~ûí7zõ꥔ÖÚÚš-4;«Vr5­ÓÓ*ó Kãåå¥tÍÝÝ Kbb¢5¬Þ˜@½gV“vî¼@Ÿ>M•®ëëkÓ³§#99…ìÛw OuÖÒ’謔ÖÎΘV­¬8}ú>wïJUÊðñ±Wú½Q#S2×~ûM^F¯^NJi­­hÑ¢¾&US«\Mëô´Ê<ÃÆÆºxyÙ(]sw·¢AbcSHLÔ싱ªÄê=3AA„êvÿþ}öïßÏ Aƒj;¡=÷Ý×Ë’——GFF˜ššª¼nkk ȧB—¤077/7Ïëׯãàà t­tz===Å1^yyyH¥R 011Qɳ^½z•¨UåÊÕ´N%*ó ŸfaaQf~666$$$œœŒ½½}™i*¢iLPñ3«IyyEddäa` ƒ©©žÊë¶¶Æ€|*tIZsóÿ+7Ïë×âà ü ÌÍ•óÖÓÓPã•—W„Tš&&º*yÖ«§_‰ZU®\MëT¢2Ïðie×ÉÆÆˆ„„L’“³±·7.7¦gÑ4&¨ø™ ‚ ‚ Ô„5kÖ`eeUæ2QáåQ':åúúú˜››“‘‘T*UéÀ•Lo¶³³C__ 233ÉÉÉQl6V]q˜šš"•JÉÌÌTé˜''«¿ÁUeË­j*ó Ÿ–ššŠL&C"‘(]/©«Í“QËÒij*¦Ú¦¯¯¹¹>yH¥ù*¸û÷å6;;côõµ±°Ð'3³€œœPttªoò‰¾¾6¦¦zH¥ùdf¨tÌ““U§YWW¹U­SežáÓRSs‘É tS+©«‘âZ%›£Æ1 šÛ¿?‘qãŽ+~¿xñ-ôõµk1"AAxqÜ»wíÛ·3wî\Å•ðrª3Ó×û÷ïÀ¯¿þªt=//ƒbhh¨˜R>`À •v/±hÑ"›UVïÞ½'ÓØK$%%qíÚ5òTGuÔ©2ϰDnn.111J×Ο?OBBžžžJ£äFFFäçç+~wuueýúõÕS]п¿ ¿þzSéz^^þƒ¡¡ŽbJù€Í),,VÚ!¼Ä¢E'qt\Ga¡f#ü½{ËË(™Æ^"))‹k×j”§:ª£N•y†%rs ‰‰Q^2qþü2ñô´V%72Ò%?¿Hñ»«ëFÖ¯?Wí1 š °'.®?þþšÍ¶A„WYxx8 6dÀ€µŠPÃêL§|Á‚899Jdd$R©”k×®1tèP WLw^°`Áÿ³wçqQWûÿÀ_Ã20l‚ì…&** * ‰¢ –©I%]»ßŸ]5w)åæ.^五åm1Ó¼šå½n "j¡¦˜¥"¸$›l‚ðÃüþà25ÈÌÀ0 ¯çãás>çs>ïsæ£øæs>çÀÉÉ ï¼óŽ?ŽÒÒRcçÎX½z5¢££Õ~‚¾~ýztíÚ .D\\ÊÊÊpíÚ5L›6M£OtÛ¢OªŒa£.]º ""ÉÉÉH$¸xñ"¦N ¡PˆØØX¹ºDzz:îß¿äädܾ}Çoó˜:‚ †Ãѱ .LÀ‘#™‹«‘žþo½u¹¹eˆõ‡­­‘¬®““9Þy玿ƒÒÒ*WbçÎ4¬^Œèè‘j?A_¿~8ºv5ÄÂ… ˆ‹»‡²²\»VˆiÓNhô‰n[ôI•1lÔ¥‹""Î!99I .^ÌÃÔ©G!ê"6Ö_®îÀ¶HOˆû÷ÅHNÎÁíÛ¥>üù6‰ÚŸ›ÛrVíãDDD]JJ ¾ûî;„……AW—³ÌžvZÙ§üðáÑH„©S§h˜Â|áÂL™2óçχ¥¥%¼½½!‘H3fÈÚ±±±Ajj*1wî\Ù"l‡ÂáÇ  áf~üz+V¬Ð0{ãÆOOOÙkNNNHNN†——&Ož [[[„††"<<ŽŽŽr)šë:×U¶OO¢Ê6211ÁÖ­[±jÕ*ØÛÛcĈ°°°@BBüüüäênÙ²îîîpuuEHHbccáêêÚ&ß«:cÖZ{Q>œñ¿knÁÔ©Gÿ·1.\˜Š)S\1~,-·ÁÛ{$’ÄÇcÆ wY;66FHMŠÀ@ÌkëíèÓç3:t ‡"8¸÷ÿú˜«p½+~ü_£±qcêÿú¸&89™#9ù/ðò²Ãäɇak»¡¡'îGÇ.ÐÕýã¯psýQçºÊöéITÃF&&úغ5«V%ÁÞþ#Œñ ,, ‘ ?¿nru·lwwk¸º~†ÿ"6Ö®®–mò½ª3fDDDDm¡¢¢Ë—/ǨQ£¸7ù3B •J[µR‘@ Àþýû•J;»>}ú ¢¢÷îÝÓv(mbÀ€(,,lqU÷ÎL `áÂ…ˆ‰‰Ñv(m®OŸÏPQQ‹{÷fj;”61`À—(,¬@VÖ,m‡Ò¦WK=pà@›·™™©tÝyóf¤lݪ¸¡¦Íš•‚øø\¥ß)wsûúö5Çþý#Ô:NDD¤-mñóvݺu8xð Nœ8Ñ!g”’"[[Û& WÒ±Ð[G’——‡¾}ûâÁƒÐ×ÿca­»wï"33Sö˜¨=äåIзïçxð`ôõÿx*~÷n)23K0uj_-FG¤š‚‚JlÚô+Ρ®®žž]éŽîÝ^ÅØµë¢¢®.]*‚³sÃ–Šººܼ¨Òq[[C|ôÑ|øá¯HK+F}=àáaÅ‹ûbÐ KYLÕÕõرã&ŽËFNN9 t1h%BBz`äH[èê¶¼¢`ïÞߣ®N¹ßo[Y %å¥ê–”TcûöˆÏEnnŒŒô0`@WÌœé‚!C¬(.¦—˜8ö‰cLDDÛéÓ§ñå—_bÆ LÈŸ!æòŽäáÇ Åýû÷Q^^ŽÔÔT„„„ÀÌÌ ‘‘‘Úž1V"4ô$îߣ¼¼©©¹ 933!"#‡j;<"¥­]û ¦MsFRÒ8lÝê  ±pá MNŸî‚ŒŒ× 5$Ư!#ã5ܼ¨ÒqW×.xô¨kÖ\ÅâÅ}ñÓOã±oßp”–Ö`êÔ‘šZ(»æÊ•Wðå—™øûßÝqñâxüðÃhôìi‚ÐÐd\¼X¤T¿nÞ ”ÅÒÒeò‚‚JžÆÿ›…ÈHw\¼8ß~;"‘.Þ~ûGüûß 3¶_LïÏcë…ää¹1&"¢ŽëîÝ»X²d ^}õU¼ñÆÚ‡Ú“òÇØÙÙ!>>%%%²÷«_}õU¸¸¸ 55={öÔvˆ­ @€´´4dggC ÈÞߦŽÅÎÎññÁ()©úßûÕÛðê«ßÁÅÅ©©SѳgóûÚwÑÑ D#-­ÙÙe¢eïoÓÓ%8øxzv…H¤‹¡C­áïo«WâáÃê–OVQEEV¯ »ž››6oŒššz¬YóÇ*ýIIpq1…¯¯ uaee€eËúÃÑQí)hm":ú7de•cÅ wøûÛÃÄDŽŽ&ˆ‰ñ‚µµ!V¯NCaa•ÂyãaÃl0r¤­ÆÆ˜ˆˆT/¾øB¡¼¼¼³gÏF·nݰvíÚöŒ´ŠÓ×›€€€m‡¡1aaa Óv¤¤€€îè®í04&,Ì aa^ÚƒÚ»{W¹Ï¶¶†€*`aѶû¯ŠDºpu•ÿ¥UïÞf°±1Äõë¥Èϯ„!üüìðõ×·±|ùeõ€››9tuˆ‹Ó¦ñ¨êäÉÀ¨Qò»~…:xñEk|ÿý}œ;÷¯½&ÿoÃãclo/ ™1&""Õáý÷߇D"ÁÀáîÞ°Àluu5Þ}÷]”””àûᅦ¡¡¡–#¥öƤœˆˆÚ…©©ü†÷µ[·ÜhÓÌÌô›,·´4@~~%ŠŠª`ccˆ•+=àéÙ‡ÝÃÛo7ÌÐ<¸+¦LqÄØ±Ï)u­¶~§¼ººbq tal¬øcÚʪá?k• Çc¡°aa=MŒ1©fÅŠ¨¨¨¼ûî»8v쌌Œ°dÉ\¹r»wïæ{äÏ(&åDDÔ¡ZX[­¥ãPRR©T±nQQÔoKKY[ÝØ µµR¤¤`×®[˜3ç'DD¸áwœ[¼Vã;ímE(Ô©©>ÄâH$µ ‰yaaC2nmÍ')DDÅáÇ'û\PP€÷ß"‘‰‰‰øì³Ïàææ¦ÅI›øN9u("‘jjêeŸÇŒ‰Ã7ßÜUú8TUÕáêÕb¹²›7!?¿®®]`cÓÐzzAf¦ §'€¯¯ >þxàôé¼6î™òŸÒ?Cuu=’’ `h¨‹áÃù4…ˆ¨3ÈÏÏÇ|ÁŸ~S\[[‹øøxüòË/øôÓOáåÅWùžeLʉˆ¨Cé×Ïwî”!7·—/ã÷ß%ðò²Tú8˜šêcóæßpùr1**êðË/±dÉEèëë 2Ò]®ndäܸQŠêêzUá“OÒ!•C‡Z·K›ÖFX»ö*r!‘ÔâÎ2,Zt•ˆŒt‡••Öâ#""å-]º•••>ö.‘T*Åýû÷aff¦¥È¨£àôu""Òˆ+WbòäDÙç~ýþƒ9szcñâ¾²=Æ`âÄŒe‡O?mØâoÅ 7,_~cÇÆÁÜ\ˆ¿ÿÝNN¦²ú-##]|ðÖ®½ŠŸ.F]îîسÇWnŸò½{‡cïÞ;X°àrr*`` ƒ=Œ±~ý@½ ¡‘i™µµ!¾ÿ~¶o¿‰Õ«¯"/¯"‘ °Àîݾ²_¨;ÆDDÔ>8€üQ!!ÿ³Ù³gãèÑ£01ÑîΤ=LʉˆH# °@FÆkMk®zö4ž}ÃÕ>ÞÈÉÉŸ>ì‰u\]»`Íš-¶¥ ææB,_î†åË›ÇPÝ1&""ÍËÉÉÁš5kž˜×ÖÖâÁƒX±b¶lÙÒŽÑQGÒ&IùìÙ³±dÉ’¶hЍÍ}òÉ'8xð ¶Ã gTQQ\\\´µ#©TŠ÷Þ{ÕÕÕ-Ö­¯¯Ç‘#G0lØ0µCtÔÑðI9=õÊËÝQ^î í0處¢íˆˆˆ¨íÝ»©©©Í>%×ÓÓCmm-„B!^|ñEŒ?£Gnç(©£h“¤ü£>Bppp[4EÔ¦V¹\€÷'iKzõÒv φ]»n!*êšì³³ów²÷«‰ˆˆÚKEÅ=lذA!!oLÄÍÌÌàïïW^y¾¾¾ …ZŠ”: >)'"¢§Âôé.˜>¯ ‘öH¥õHKûªªª  ««‹ÚÚZtëÖ ãÇǘ1càææn‚E`RNDDDDDÔîÝÛ‡‚@ @¿~ý0nÜ8Œ=NNNÚ:0&åDDDDDD­”••…ââóèß?Ÿ|âm‡D“r"""""¢VrppÀÀû66´ u&|™ˆˆˆˆˆˆHK˜”i “ò,::Üg›ˆˆˆˆˆèiä\ƒjjjàîî___µÎ ƒT*…‡‡GGFDDDDDD“r «¯¯G}}½¶Ã "jw»~Úç(g8G9cضaÚ§ÍÍ<8ÎQÎØž´]®üiï7µ-&夯¯k×®!))IÛ¡µ»é>Ó‘±,®¶®Ú¥Í}wí;$d$4yìiî7µ=&åDDD*È/ËÇÚøµì¨íPˆˆˆè)À¤\CŽ9"[¤M  ²²RîxQQ/^ '''…BXXX`ܸq8}út³mÞ¸qãÇG—.]`dd„Q£Fáüùóšî ýIÄñŒë3Çk;"""z 0)× &@*•bÒ¤I Çòòòàåå…½{÷"66………øé§Ÿ`dd„€€ìÚµKᜲ²2Ì™3ÈÎÎÆÙ³gQ\\ œ9s¦=ºDDôÌ;v· o!Ü?\Û¡ÑSBOÛ<‹ÂÃÃqçÎìÛ·&L˜™™aïÞ½èÙ³'æÏŸ‰'ÂÖÖVvNii)Ö¯_!C†Œ={öÀÝÝ ,À•+W´Ò""eeebCÂ\̺ˆÚºZx<çÅ#cà YêºjìHÚc7Ž!§4zä0!B0²çHèêè¶xÞ›z£®¾N©˜¬Œ­2/E©ºyâ-\ ¸ùþMô!üX8&ºNÄІªuþ× ø5ïW¤¦#vR,ºvi㉈ˆ¨3âôõvVUU…ÒÒRÂÔÔTáxãÓñ¼¼<¹rKKK…ú666€üü| DKDÔ6ÄUb„ù…aà éÁÍÞ ›'nFM] Öį‘ÕKº›+ø:úÂPÏVÆVX6j»:j1z`Ú~Ü}xËü—©uþ£ÊG˜~`:ê¥õøWп˜‘ “òvf``€.]º ²²b±Xáøƒvvvr奥¥M¶×˜Œ7&çDD‘ž<ì=äÊz[÷†‰ ®?¸Žü²†ËüœüðsöÏX~|9®ä\‘MC›§ÔSrMÈy”ƒ¨„(l¿"}‘Êçß.º7v¿VŒ^¡Ô|"""zvpúº¼öÚkøâ‹/pôèQ¼ù曲òªª*œ:u "‘/½ô’Ü9eeeHKKƒ‡Çÿ©ýå—_““N]'¢ÍÜмÉÙ>–F–È/ËG‘¤6&6X9f%<ŸóÄ¡k‡ðö¾·ƒcŠçŒí5V©kµõ;å  W‰ñÖ×o5y<æl bÎÆN…žÂ /ÈŽ=ªz„Ù‡fÃÎÔgnŸÁá_cR?Å@‰ˆˆèÙŤ\ 6lØ€3gÎ`áÂ…011ŸŸrssŽÜÜ\ìܹSn‘7066ÆÜ¹sþýûãúõëøÛßþ¡PˆØØX-õ„ˆH9â*Å™APT^°4¶öD`ÿ@ÔÖ×"å^ v¥îœCsw¼ÞiñZmýNùÔS1uàT…òÆ…ÛX„w_|·Ésuut±{Ên˜˜"hw"ŽGÀ±«#ÜíÝÛ4F"""ê¼8}] ìììpáÂL™2óçχ¥¥%¼½½!‘H3f¢££!––sssüãÿ@xx8ììì0bÄXXX !!~~~ZîÑ“•×”ãúƒëre7 n"¿,®¶®°1ixÇ3Æ™E™==ø:úâã7>†@ ÀéŒÓíwkëÃÖÄFúFØ9y'Œô0ëÛY²éúDDDDLÊ5¬®®:::ÐÓ“Ÿ”`ii‰˜˜ܾ}ÕÕÕ())Á‰'àïï/«©T ©TЬ¬,xyy!!!b±åååHLLİaÃÚ»KDD*é‹°*nÒrÓPQS_rÁ’ÿ.¾®>"GGÊÕ<‰ù7P]W¢ò"|’ò ¤R©Ú«žw]°ýõí(./ÆœCsP]W­íˆˆˆ¨àôõ6Ö¿9r=zôdgg£{÷î I9ÑÓn×O»u: `kb‹ˆ€lJÜ„«9WQ/­‡»½;öLÙ#·OùÞ·öbXpxr5ìSÞâÖ[ ÷ muEN䑨wyŸìsã;åÇãóÏqäú,<¼PvÜ9ÊË–ÃóyOÙ{éWr® ï‡}1©ß$lž¸¹Ýû@DDD3E øðñqãF$$$àÊ•+ذaƒ¶C""jwÓ}¦cºÏt¹²=Sö<ñW[W¬yiÍëhÛš—Ö<1Æ ®0ÁuB“Ç2–eh*,"""ꤘ”·±ýë_Xºt)ìííagg‡õë×#,,LÛaQĤ¼ùøø 11QÛaQ'À…Þˆˆˆˆˆˆˆ´„I9‘–0)'""""""Ò&åDDDDDDDZ¤œˆˆˆˆˆˆHKÚdõõ/¿üÉÉÉmÑ‘ìÀû“´% EEÚ‚ˆˆˆˆ:¨6IÊ;†cÇŽµESDð¿?DÚqëV…¶C """¢ªM’òýû÷#88¸-š"jSÿô¯[ IDATüç?ñÊ+¯h;zFÍ;&&&Úƒˆˆˆˆ:(¾SNDDDDDD¤%Lʉˆˆˆˆˆˆ´„I9µ«#×À9ÊÎQÎèûa_m‡Ói%f&bôÎÑ轩·¶C!""¢V`RNDDíj‚ëd,ËÀ‹=^T8V^SŽ€˜qp†"ë~/ù3ÎDô™h–j;"""j%&åDDÔaH¥RÔKëQ__¯íPdÜ6»!dOˆ¶Ã‰9ƒÏÄái‡a¬o¬ípˆˆˆ¨•Údõu""¢¶`,4ÆéY§µF‡¶á• 0Ô3ÔvDDDÔFø¤œˆˆ¨aBNDDôtá“r *++ƒ§§'z÷î#GŽh;""­È,Êć‰"å÷ÔÕסŸm?„ S¨—‡Ù‡fË>ÿö+ ô ÊOÎ8‰˜s1H¾—Œ’ŠÀ…`!²@qy1¶ß†S§ð@ü¦¦ðêæ…y¾óàjã*w½’ŠlOÚŽø[ñÈç¡«¨+œ¬œ0©ß$Œw=—ö êtàRÖ%8G9tutqóý›-ö»÷¦Þ¨«¯SjŒ¬Œ­2/E©ºDDDôtaRÞJ&&&0`~üñG…cR©õõëÝH"¢ötïá=}‘žÛ·a Ã@Ü/¹ ðûÃßåêŽé5Ë20ëÛYˆ¿ßlùŠ+°`øl¿ é…éþ*_– ¯‚PU[…¨W¢àÝÝÙ¥Ùøà‡0y÷d왲žÏ{ Ê êÖUaÝËëàÓÝ5ØŸ¶K.Å£ÊG˜î3Ó}¦Ãm³úÚöÅþ©ûUê»2‰;§¯k©©)233qìØ1m‡BD¤Ñg¢ñ¨ò"ÇDÂ×ÑFúFèmÝ›ÆoB~Y¾Zm† …OwˆôEð°÷ÀÍ÷oÂBdè3ÑÈ.ÍF„F:„‘¾\¬\;)R©«âVÉÅ•Uš…ÈÑ‘ðwö‡±ÐVÆVx÷Åw1¢çˆ¶ê>Q‹ø¤œˆˆ4æìí³ èÚ˜ØÀ±«#îßQ¹M{&ËãÒã #п³¿\¹µ‰5\¬\p-ïòÄy°3µÃÉô“¿ž~ í|ü™Ê1©«]ž”`þüùèÑ£„B!¬­­ñúë¯ãÊ•+²:¾¾¾²?S§NŒ=Z®¼¤¤D¥vañâÅprr‚0zôh|ñŨ¨¨ÀÚµke×ðõõ•wâÄ Y¹•••¬<::‰çÏŸ—ÕÑÓkø=Ç÷ß/weee³ñ…BXXX`ܸq8}úU‡oãîÝ» ¹¹9,--1aÂdff*ý=ܸqèÒ¥ ŒŒŒàíí#GŽÈñôéÓ®{óæMÃÒÒRVVXX¨t?Ô[@\¸p055…‘‘F…óçÏ+Ýo"ÒŽêºjHª%0Ð3€‘¾‘ÂqKcKµÚ鋚¼–¸JŒzi=Ä €s”³ÜŸ_ü ¸[|WV×@ÏÆBÍm)Ö{So…8šû3dëÅADDD›Æ“òÜÜ\xyyáßÿþ7vìØââb$&&¢¸¸C‡Err2àÇÄ•+W`ll ìܹpôèQøøø`ß¾}J¥077W©]ÈË˃——öíÛ‡ØØXâÒ¥K9r$¦M›†;wbÅŠJ¥06–ÿÚË/¿ ©TŠAƒÉ•‡……Éê6 R©R©µµµ€ÀÀ@H¥RLš4IaLãÙ»w¯,žŸ~ú FFFÀ®]»šlcáÂ…X¸p!²³³±ÿ~$$$`Ê”)J}:t(.^¼ˆƒ"??Ÿþ9bccqõêU@*•b×®] × Åœ9spÿþ}¤¤¤@WWW¥~¨;¶())Á‚ °víZäååáìÙ³(..†¿¿?Μ9£T߉H;„ºB QU[…òšr…ã‹´µÕµÌ Í +ÐÅÍ¥7‘±,£É?C^¡®¦¦¨ª­‚¤ZÒbÛÔŠéæûÍÇñø.òFDDôìÒxRŽ{÷îáÿø^y嘘˜ _¿~øæ›o •J1oÞƒo®|Ó¦±ѳKãIù÷ßL˜0A®ÜÎÎýúõÃ¥K—••%+ ÂòåËqèÐ!øúú¢¨¨kÖ¬iU»ß}÷`ܸq í?~ .lu?UÑÏøñãåÊ €ŠŠ üðà çyyyÉ}îÖ­ ''§Åkž8qðÒK/É•[[[£OŸ>O<×ÛÛ»Éruû¡ ccc 0@®ÌÍÍ Ï=÷ÒÒÒ››Ûªö‰H³ÂF†Á\dŽ5qkðãQ^SŽŒÂ ,þÏâ&§´·êZ~aènÞK.Å™Ûg ®£¤¢û.ïöóÛî]®¬®C¬;µ§3NCR-Až8œü’Lóš&k·Ÿ]?Ü)¾ƒÜG¹¸œ}¿?ü^Ý¼š ƒˆˆˆH%]è­ªª ¥¥¥€.]º4[ïÖ­[ppp}^³f âãã‘””„/¿ü::ò¿;P¥]kkk”––ÂÐЦ¦¦­éN›hŒ½¹xlmm4L Üã} …Ðâ–kUUU‹Å044„‰‰‰Âq ‹'žÿø´óÆ6Õí‡*_Wxœ rrrŸŸ{{ûV]ƒˆ4§»ywxû6%nÂÜï碶®½¬{aÞ°yøüâçHº›ç(g¹ÁßÙ_n?ò~Ñý0©ß$¼=èmLÞ=Y®2–eÈ]ËÒȇþïv$íÀÊ“+‘û(f†fèkÛ¿ñ1†õ&«kmbïÿß÷Øž´«âV5ìSnÔÞݼñÍÔoðœÙs²º+V`ù‰åûéX˜‹Ìñ÷±‡“¥“¦†¬E  ˜yp¦\YãêëÇ­G°G°6Â""""5i4)700€¹¹9ÊÊÊPQQ![­%‰‰‰(--…››æÌ™xxü±Ú®ªívéÒ¥¥¥‹Å-&æ:::¨®®V(ÿós&¨ö®¡Áãiœîmgg§R»-]ÓÔÔb±eee ‰y~¾êÛ©ÓUÇhXHN*•*ŒscÌ666*ÇNDí˱«#>zý#…òQΣÊO´[*œ¹ÈˆˆPªîò€åX°ü‰õzZöľ¿ìSêúíÁßÙ_éñ ""¢ŽOãÓ×_ýuÔÖÖ6¹ZöÆѽ{wÙâhpçÎüío÷ß~‹ÿüç?‰D˜4i Ôn÷µ×^€&÷ ÷ôôÄ¢E‹dŸííí‘-W'//¿ÿþ{“ý322’K4{÷îO>ù¤Éºã9zô¨\yUUN:‘H¤0ͼµ§î7Nco”——‡ôôtµÚTµªŽ-TVVâÂ… re¿üò rrràááÁ§äDDDDDÔ©i<)ß°aœœœðÎ;ïàøñã(--Eqq1vî܉իW#::Zö¤»¬¬ زe úöí‹=zààÁƒÈÉÉÁäÉ“QSS£V»6l€££#-Z„£GB,#++ sæÌAnn®\R>vìXäää`Û¶m(++Cff&,XÐìÙ"==÷ïßGrr2nß¾áÇ·8&ŽŽŽX¸p!Ž9±XŒôôt¼õÖ[ÈÍÍEll¬lúw[Y¿~=ºv튅 "..eee¸ví¦M›¦öSyUû¡êØ ³"""œœ ‰D‚‹/bêÔ© …ˆU+n"""""¢ŽBãI¹ RSSˆ¹sçÊ;tè>Œàà†wßæÎ SSS\½z“&Mµk×PXXˆ‘#G¢¦¦gÏž…P(ÄÚµkUjh˜B}á„„„`Þ¼y°´´„··7>|ˆsçΡ{÷k×®ÅôéÓ±~ýzØØØàÿý¿ÿ‡÷Þ{vvv(**‚@ À²eËdõ·lÙwww¸ºº"$$±±±puu•íõ}øða€H$’í½ÞÏ”)S0þ|Y<‰ñññ˜1c %%E¡+Vh˜6¿qãF Oû_ðîqNNNHNN†——&Ož [[[„††"<<ŽŽŽ²mΚ»nSÓô•퇺c &&&غu+V­Z{{{Œ1HHH€ŸŸßûLDDDDDÔÑ ¤R©´U Ø¿¿\LKŸ>}PQQ{÷îi;9 @aa¡Üêüªøç?ÿ‰W^y¥ ##RÞܹsabb‚´yÛ™™™J×7¯aÖÊÖ­­Û¦ˆˆˆšÇŸ·Ï&[[Û&ÔVÒ?)§Ž!//]»v•{îÞ½‹ÌÌLøûûk)2"""""¢g“ògÈÇŠû÷¼©©© ™™"##µÑ3‡Iù3ÂÎÎñññ())‘½—ýꫯÂÅÅ©©©èÙ³§¶C”‰ŽŽ†@ @ZZ²³³!dïÒ=M4ºO9u,Ðv- CXX˜¶Ã """""Ò8>)'""""""Ò&åDDDDDDDZ¤œˆˆˆˆˆˆHK˜”i z#""Ë,ÊDì¹X¤ÞOÅʇ¨«¯˜˜âò¢Ë€]?íBÔé(€­‰-ÎÏ=¯µx©ÁŬ‹xsÏ›å< §3Nxº¾MÜsÊÜëÏŠÆûçë·¾†Ow¥Îá¿Dô,â“r""Ò¨¬Ò,LÞ=™E™Øñú\Yti‹Ó°5p+tüšî3Ë2àjëªÅhéÏNÝ:s‘9>~ãã§ò»ië{NÙ{ýYÑxÿ î6XésÔùNjëk1þ_ã²'D0‰ˆ´®Mž”‡„„ $„ÿRÇ4þ|ÌŸ?_ÛaÐ3lòäÉÚA«¾¹ò ÄUb¬»Ÿ(+×gÆõ§ÅȨ%ñ·â1Òi$tºÚ¥SÐÆ½î¶Ù }mûbÿÔýi¿5×lÏû§^Zzi½Æ¯hg̉èéÖê¤|ÿ~þƒDWrr2zõêKKKm‡Bϰnݺi;­º[|ÐǦv!•deâNñ,ñ[¢íP: ÞëhÏûGOGǧ×øuˆˆ4¥ÕIyppp[ÄA¤¼?‰´¯¶¾ Ôj9REü­xu…Ñs„¶Cé4x¯ÿ÷‘ò¸ÐiD\zfš-ûÜ/º_“õ^w{›Æoj±½âòbl;¿ §2NáøL LáÕÍ ó|çÁÕÆµÉk&ÎNĦӛpîÎ9èêèÂóyODŽŽDwóî²:uÒ:œ¸qÿNû7nÜ„¸JŒ,^@°G0þ:诲woûÌì3Øxz#3!Ô¯§þ>æïW‰±:n5Rî¥ÀØÀ£œFayÀr UîOKzoê-[H¬%VÆVH™—¢T] á}à¡/ …‘¾Ñë©;~'gœD̹$ßKFIE à‚ 0cGÒ»q 9¥90Ð3À ‡A‚‘=GBWG·Í¿‹F™E™Ø°³.¢¶®Ïy`ñˆÅä0è‰c î½^RQ‚íIÛ+¹ra$4€ç`¦ÏL yaȯùçÑ.e]‚s”3@WG7ß¿)«§ì}V]WÝâ¸+{M éûGþ¶ô$d$`æÁ™²ú¿†ý =•ûÿx|yâé‹àaï›ïß„…ÈIw“àbå_G_êÂÊØ ËF-ƒcWÇf¯ßšï¢‘¸JŒ0¿0 r#}#¸Ù»aóÄͨ©«Ášø5Jƒ*¢ÏD#«4 +F¯€¿³?L LàØÕ1¯ÆÀÚØ«ãV£PRØêk({Ÿ©3îÍiêþQ§¿­ýNTéc|‘£#áïìc¡1¬Œ­ðî‹ïr >i“r""êðâÒã #п³¿\¹µ‰5\¬\p-ïòÄy ç¹Û»Ë}¶7³<ÿñÃßÙ_¿õµÂ¹®6®¨­¯Å­Â[MÆäfï&÷ÙÖ´áéH»þråv¦vr×kMÚK\zÜìÜ`cbÓb]uÇÏÃÞ£Ér?'?üœý3–_Ž+9WdÓóãfÆ5»×uk¾‹Fz 1õ¶î \pùeùH/H‡s”³ÜŸ•'W6Ù^KN¦ŸŒr%W.ÔâÅ/¢²¶çîœkÕ5U¹ÏÔ÷']÷ñûGÙþþ™2ßIKq(ÛÿÆøüzú)´óYðg²§äDDšÀwʉˆ¨C«®«†¸J 3 Ùzw‹ïÂÎÔN®ÌÔÀTîsã\Rüñæ–¸JŒ¥þ 'ÓO"Oœ‡G•äΩ¨©hòz&Bùij «£ ‘¾H®\G #·USkúó8M¼S^QS¤»I˜óâ¥ÚUwü§F+Ǭ„çsž8tíÞÞ÷6`°Ã`Lñœ‚±½Æ6yŽºßÅŸ™šC (”[Y"¿,E’"¸Úº"cYF“ç«¢ñ0Ð3hòýv+c+ Sª{õï¥Ö5U½ÏÔ÷¦4uÿ¨Òß?Sæ;iîGªô¿«Q×'ÆGD¤iLʉˆ¨Cê afhI•¿½ÿ[›ïy<óàL\¸‘£#1±ïDXˆ, ðù…ϱîÔ:¹¾-´e4±¸Ôù»çQY[‰Ñ.£•ªßÖã'Ø?ýQ[_‹”{)Ø•º sÍAD@ÞñzGnµ¨1{\QyÀÒ¸í¶Öê aj` q•’j‰B"Ø8ÛÚĺŶPLZ¯¡Ê}¦Ê¸7wM éûGÝþ¶æ;QµÿOŠïqOê?‘:8}ˆˆ:¼—z¿„:i.e]R8¶3e'†ïŽ:©rOŒÿ¬®¾¡MkküßàÿCW£®²'sUµU­Ž»9šêO[ˆ¿næÝÐ˺W‹u51~ž1žÈ,jXÄPOG¾Ž¾øø!p:ã´Zm*£¼¦×\—+»YpùeùpµuUj*¿*Ÿ>ŸÎ”ïSu]5’î&ÁPÏÇ·ØŽH_„šºÙç1ŸŒÁ7W¾ Ú}¦Ê¸?éšÍÝ?êô·µß‰*ýoŒ/13Q¡îÄÏ&bÝ©uJõŸˆHLʉˆ¨Ã ó CwóîXzt)ÎÜ>q•%%Øwy¶ß†pÿpµž8ëêè§» Ê ðéOŸâaÅCTÖV"å^ ö^Þ«ž4ÐTZ«^Z„Œ¥Ÿ’kjü"ODâFþ T×U£¨¼Ÿ¤|©TŠ¡/ U»Í–ˆôEX· i¹i¨¨©À/¹¿`É—@_W‘£#Ûüza~apè‵ñk‘‘IµwŠï`Ñ¡@R€È1‘²iÝOÒÏ®îßAî£\\ξŒßþ¯n^²k¨rŸ);îÍ]óI÷:ýmíw¢Jÿã[wjNgœ†¤Z‚8ù $rï”?ỉˆÔÁ-шˆ:©Ž¾%Úã{7À¤~“°yâfLÛ?MaQ§Ñ.£+^®l΋s°xÄb {ïHÚ¸[qÈ}” 3C3ôµí‹>30¬Ç0À•œ+˜¼{r“m4î)Üh”ó(|:¹!‘üÇÙ 13e0™Ã¯§¬M¬ñqòÇ [9ve“mqƒ×¾|M®<Ì/ ƒ» Æ›{Þ”+Ÿï;ó}ç+ÝŸöv)ëBö„(lõçý©5ŽkkÆ€ÂûÒ×\ÇÞ+{‘ú{*r5ì—Ýâ‚=‚ä@Ðì÷¬êwa¤o$ë—­‰->zã#lJÜ„«9WQ/­‡»½;–ø-QyŸràÉ÷ú7S¿Á`‡Á²}±ãÒã'΃H_Ô°o÷™JÿâvÑm,?±×ò®Á\dŽYCgá/ž‘Wö>SfÜ[ºfs÷ÏŸci©¿¾×TùNšÛŽN•¿gÇ×Õ¨+¼»ycህèaÑCé1§g·D{6µvK4&åDDTGOÊ©óÙxz#\=€Ÿæÿ¤•'õÔ¹ióþ™yp&3qýýë¼wI«øóöÙÄ}ʉˆˆ¨MÄߊ‡_O?&5¤–ö¼Æí‡¬Ò,ÙçMùKý—"ù^2®ç_G˜_X»^Ÿˆ¨­0)'"""¢N%j|6&lĵ‰5–ŒX‚éÞÓµ‘Z˜”Q§âaï½ÑÜ DDí‰ï”i “r"""""""-aRNDDDDDD¤%Lʉˆˆˆˆˆˆ´„I9‘–0)'""""""Ò&åDDDDDDDZ¤œˆˆˆˆˆˆHK˜”Q›)¯)GÀÎÌ88CÛ¡u LʉˆˆH%n›Ý²'¤ÉcR©õÒzÔ××·sTDDD“ž¶ ""¢§‡±Ð§gÖvDDDŸ”i Ÿ”‘FeeâÃÄ‘ò{ jëjÑ˺曋/.~¤»I€ ÷ ø;ûcö¡Ù²óNÎ8‰˜s1H¾—Œ’ŠÀ…`!²@IE ¶'mGü­xä>Ê…‘О€™>31ä…!€íIÛs60ÈaöOÝ8{û,Þù÷;s‘9..¸ØõÓ.DŽØšØâ£7>‡‰"-' õÒzx<çÅ#cà ¥û—§tŸŠË‹±íü6œÊ8…â050…W7/ÌóW×VŨÌx)kèPìLÙ ¸”u ÎQÎ]]Ü|ÿ¦B¿†ý =…òÄÙ‰ØtzÎÝ9]]x>ï‰ÈÑ‘ènÞ].neï ¯lPú;!""êhR©Tªí ˆˆHu™™™J×7ϰuëM…Ó¤{ïáµ/_ƒHO„ã7b Ã@d—fcmüZ\Ï¿Ž²ª2üöÞorçÌúvâoÅû›7 _w{w¤¦#ø«`¤ÌkH΂¾ Bem%Ö[ïnÞ( úL4N¦ŸÄº—×!Ø#XÖžÛf7ôµí+KÊ~ˆ¬Ò,YRÞhâçq·ø.úØôA„úØôAFa‡#³(_¾ù%¼»y«4-õ©¦®A_¡ª¶ Q¯DÁ»»7²K³ñÁ -7 {¦ìçóžjÅXPV Òxµ«…È¢Ù1}¼Æ¤üñòÑ.£:$}lúàçìŸz0½¬{áÐÿ’ÕUçÞ!"Ò6mý¼%í²µµ…‰‰‰º§àôu""Ò˜è3ÑxTù‘c"áëè #}#¸X¹ æÕTÔT<ñÜС¡ðéö¸ùþMXˆ,}&Y¥YX1züýab`Ç®Žˆy5ÖÆÖX·…’ÂVÅ]QSÕ/­†çóžé‹àfï†Í7£¦®kâרÝî“ú”]šÿŒt)§ØI±J¥X·JíÕ¯æbm ÁÁ²¸‡õ†‘N#q5÷*V<”‹[Ý{‡ˆˆ¨3aRNDDsööYÀˆž#äÊ»uEÏ®=Ÿx®‡½G“å'ÓOF9’+ê ñbQY[‰swΩ2@¤/’MoÔÛº7lLlpýÁµ•l IDATuä—å«Õns}ŠKƒŽ@þÎþråÖ&Öp±rÁµ¼kÈç©£ºãÕ\¬mÁÝÞ]î³½™=àø'K­¹wˆˆˆ:¾SNDDQ]W Iµz0Ò7R8ÞEÔå‰ç‹ôEM¶)®Ã@ÏÆBc…ãVÆV¦l·†™Y“å–F–È/ËG‘¤6&6*·û¤>À€˜Íž{·ø.ìLíTŠÑ\d®öx5k[150•û,Ô¤hx£®µ÷Qg¤œˆˆ4B¨+„±Ð’j ÊkÊ’«"I‘Zmš˜B\%†¤Z¢h6Nö6±–•étPSW£ÐÖ£ÊGÍ^§¤²R©@>æò†˜--U޽9B]!Ì Í ©’à·÷ƒ®@W©ó”‰QñR†‚–+µ‚&î""¢ŽŠÓ׉ˆHcüzúøc*r£‚²Ü)¾£V›c{œÎ”ß »º®Iw“`¨gˆáŽÃeå6&6 S¿ Ê ó(§ÙkTÕVájîU¹²›7‘_–W[Wµž’?ÉK½_B´—².)Û™²Ãw G´N­U/eˆôEr¿èóÉ|så•Úh‰&î""¢ŽˆI9iLØÈ0˜‹Ì±&n ~¼ó#ÊkÊ‘^Ž¥Ç–ªütVÖ¦_º8`müZ$d$@R-Áâ;XôŸE( rL¤lZ6ø:ú"¿,_]ú å5åø½äw¬‰_K£æŸv›˜bóÙ͸œ}5ø%÷,ùïèëê#rt¤Zq·Ô§îæÝ±ôèRœ¹}â*1J*J°ïò>l;¿ áþá OЕQÕñRF?»~¸S|¹rq9û2~ø;¼ºyµÉXÈâÖÀ½CDDÔqK4"¢Nª3l‰wŠï`Sâ&$ßKF]}\m\ñÞÈ÷°åÜ\ͽŠ_–ü¸’s“wOV8?cY†BYã¾ÛqéqÈçA¤/jØw{ÈL }a¨\]q•6 13*¡¿],XŽÈ"q-ý·ßù€†íÆŠ%ÅØ=e7ÖÆ¯ÅÏÙ?£®¾îöîXâ·D¥}ÊUíÓŽ¤ˆ»‡ÜG¹034C_Û¾˜á3Ãz “««jŒÊŒ—*±Þ.ºå'–ãZÞ5˜‹Ì1kè,üÅó/ û‘À¤~“ðö ·Úžóâ,±X¶×y£QΣðéäO(ïuÜíÙÔÚ-ј”uR%)oÎØOÇ¢²¦gçœm¹r;jLxÏÏ=¯íPšÕbÔ¤ŽzïuÄŸ·¤yܧœˆˆ:¬‚² Ú2µõµråY¥Y¸W|Oá©6Q#Þ;DDô¬`RNDDUZYŠ'V ÷Q.*j*–“†‡ÀÔÐs‡ÍÕvxÔñÞ!"¢g·D#""±6±Æî7wcÏÏ{0åë)xPö] »`Xaˆy5ÝÌ»i;D™]?íBÔé(Ùgç(gÙ{ÏMyü]è¦Ì÷ù¾óµcgÖ™î""¢Öà;åDDTg§œˆˆèiß·Ï&¾SNDDDDDDÔI1)'""""""Ò&åDDDDDDDZ¤œˆˆˆˆˆˆHK˜”i “r"""""""-aRNDDDDDD¤%Lʉˆˆˆˆˆˆ´„I9ÑSjæÁ™pŽrÆö¤írå»~Úç(g8G9cضaZŠŽˆˆˆ&åDD¤Aå5娀gh;/MúîÚwHÈHhòØtŸéÈX–W[×vŽŠˆˆˆǤœˆˆ4F*•¢^Zúúzm‡ ãÅ£)ùeùX¿ýµ µ@OÛÑÓËXhŒÓ³Nk; ™Ž¦DÀ¸>ãàÕÍ ß_û^ÛáÑðI9ÑSä@ÚÜ*¼…pÿpm‡BDDDJà“r""Òˆ¸ô8Ì>4[öù×°_a g û\RQ‚íIÛ+¹ra$4€ç`¦ÏL yaˆJת®«ÆŽ¤8vãrJs` g€Aƒ2 #{Ž„®ŽîãñŒñ„¸JÜdÛçæœƒ© ¸¼ÛÎoéŒSx ~SSxuóÂ<ßypµQîíÞ›z£®¾N©ºVÆVH™—¢TÝ·¿yë^^‡``¥¯µòäJ¿q[·bp·Á(«*îÔ]=Нßú>Ý}ž\]rFúF²ÏÛÎoÖs[°dÄYBž_– ¯‚PU[…¨W¢àÝÝÙ¥Ùøà‡0y÷d왲žÏ{¶ïÍ÷o*Ý7U„ ÇD׉úÂPµÎŸà:¿æýŠôÂtÄNŠEÃ.m!=ŽÓ׉ˆ¨ÝEŸ‰FViVŒ^g˜˜À±«#b^µ±5VÇ­F¡¤Péö’î&ÁÅÊ¾Ž¾0Ô3„•±–ZÇ®ŽjÅwìÆ1Äþ‹7ÜÞÀ¬¡³äâÎ.ÍF„F:„‘¾\¬\;)R©«âV©u½¶°?m?î>¼‹eþËÔ:ÿQå#L?0õÒzü+è_LȉˆˆÚ “r""jw'ÓOF9’+ê ñbQY[‰swÎ)ÝžŸ“~ÎþË/Ç•œ+²©áq3ãàÓݧÅó//º,{Jž–›†÷޼//¬}y­\½¸ô8ètàïì/Wnmb +\Ë»†~ãcœÎhy_òºú:,8¼™E™ØþÚv¹wÑç~7qéq€—z¿„:i.e]RhcgÊN ß1uR垀wÆúư5±…‘¾vNÞ #}#ÌúvòËòµÑ3I9µ»0¿08tqÀÚøµHÈH€¤Z‚;Åw°è?‹P )@ä˜HÙ4veEžˆÄü¨®«FQy>IùR©T©•È×Z‡ÄÌD¬·î‰ï ‡ù…¡»yw,=ºgnŸ¸JŒ’Š컼ÛÎoC¸x«ž k›Cl};ŠË‹1çÐT×Uk;$""¢§ž@*•Jµ©.33SéºóæÙ¶n} ©p<¾/8Lê7 ›'nðÇ>åqéqÈçA¤/jا|ÈL•·ôºþà:ö^Ù‹ÔßS‘ó¨aŸò=ìŒ ÷ ‚fã™æ5 _>±ý^ÿcz‘Ž#iânÅ!÷Q.Ì ÍÐ×¶/føÌÀ°ÃTŠ[S"ˆÄ¾Ëûʇ;Çç!ŸãÈõ#Xxx¡Ü±åËáù¼'&ïž,WþçˆžL?oIûlmmabb¢î阔uR=)'""zÖðçí³©µI9§¯i “r"""""""-á–hDDÔa9G9·Xg¾ï|Ì÷ßѵ=&åDDÔae,ËÐvDDDDÅéëDDDDDDDZ¤œˆˆˆˆˆˆHK˜”ýöî<®ªjÿÿøûp˜gDÊYg%§œ®J’Všø-õÚ`£SeuË{KÍF++‡J³Iïí6{+³2-q¬,TpFAÉT&Eñp~ðãÔÔäõ|<|<<{¯½×gíÃæœkíµ BR€AHÊ0I9!)À $儤ƒ”`’rê°.ó»hÜûã.ù:h¨HÊ0I9q6:À¥)fŒ¦®˜j{½iê&½¸ñE}è{™ÌЏb¼šù5Óæƒ›íŽ·yžŽž:ª™‘35¸í`yºx*,0L¯ŒzEV«UOÅ(wl‡&T\R¬ÇTxî.!]ì^û”öTtnÚÙn{SŸ¦võI¥CáLNŠ ´Û䤰À0íJÝ¥ÔìÔó5Í0•‰}PÛAÚvt›f­™¥¸cq¶¡ö1“bìzÉ@íâ™r@­ðqó±{íjv•$YõçSTÙÙZöË2­Ý¿V©Ù©:Ú¢¼ Ïííj?dÌ$“ÌNfy¸xØmw29©ÄZb{]h)TvA¶$©ûÂîçŒ=93YM}šžs¿TýÏ”_Hec2êIE\¡»VèÖn•$õlÖSã#ÆëêvW_T, êHÊuƤO'é×?~Õ졳5²ãHxÈd2é?¿þGÏ®Ö.¯®fWùºû*· W{þµGf“¹Ê窩‰ÐL2U¸½²±›L&EwŽVtçh—+ö÷X-ýe©îYqf^5Swöºó‚u€êÇðu@`)±hë‘­ òÒm=oS#ÏF2™J“Ââ‚«wXø0Y¬¥uŸíÍØ75pÉ@Y¬Žõ€×YŠl¯£ÞŠÒÇqKª\ì #”t¢tr@g'g h=@oÜð†L&“6&nt¸NP½HÊu‚Ùɬ>-ú(#'Coÿü¶NæT~q¾bÕ‡Û?¬±z§š®þ-ôÈ×hóÁÍÊ.ÈVV^–>Úþ‘oY¬‘3.ªýbujÚI‡2)åtжÝ®Ã'«Wó^UŠ}ö7³µ/}Ÿ -…:qæ„ÞŠ}KV«U}[öu¸NP½X ꩺ¾$Zܱ8ÝøîvÛîéwúÛC¶õ¯Ë ¢·o,MÄ|·@›’6)#'CþþÔf‚¼ƒôÆOoH*¼íÉ«Ÿ¬ðÜQaQýßÑvÛ§š®žÍ{êïïÿÝnûýî×ýî—$eåeiÉKs F)§SäëÁ5±ÏDõoÕ¿Z®GUòpñP·nJøW‚<t]ûëäbvÑÊÝ+meó‹óµîÀ:µ h©õÖ+·0×¶ïó]ŸktçÑF4A’ª5Þs]“ªš·yžŽž:ª™‘35¸í`yºx*,0L¯ŒzEV«UOÅü³†…«µ¸k2Þs]“ªŠÙ#'““mø|™ ï …†iWê.¥f§VkàâðL9 Vx¸xœsßèΣ³?F_íýJwöºS+w­ÔèΣշe_ÍÝ8W_îùRÿ×åÿ´jï* "OO‡ê¬îgÊ«;Þó]“Ê*´*» [’Ô}a÷s–KÎLVSŸ¦ÕV/¸8$åà i;Dþþú|ççŠî­¸cqZšXaùˆË#Ô* • -…êݼ·m»»³»†‡×g;?3tÖõ³U%^G®ÉÙë»wš×I£:Òü‘ó%I]õ˜f}3KW¿}µü=üõøÕ«mã¶’¤Æžµâ¶Zòã=¹öI¥œN‘¯»¯:wÔ7¼¡þ­úWÿ……uÊ žª/ë”ÐPðyÛ0±N9õI9!)À $儤ƒ”`’r BR€AHÊ0I9!)À $åÄÙè0Â×{¿Ö±oèà‰ƒ*(.$­¾kµÚµ38²ª‹Ù£©+¦Ú^ïž¾[nÎnÕvþSù§ôõÞ¯µzßjíMÛ«üâ|5õiªn—uÓÄÞÕ!¸C¹cƽ?N[l­ð|·÷¼] }¬Üöâ’b½·õ=­ÜµR‡2ÉÝÅ]›vÖ-WÜ¢!m‡Èd2U[›0=å€KÒ™¢3ºêÍ«4ñÓ‰åöm=²U~ù ´ _øU¦lPSŸ¦DY½¢ÚE)ñÑD Z#矻a®žZû”†† Õ7w£ßøMs¯«=i{ýßhÅì¹è:òŠòtˇ·è³Ÿé±¡é—~ÑÊÛWÊÓÅS“>¤ÇTCK¨;è)\’¬V«J¬%*)))·o;5²Z­º½×íòtñT ÿúáÞ ˆ²þÓmŒnïy»íu¯æ½´päBüÏH½°ñEµ‹*wÌç·}®.!]:ÿÜsµ/cŸÖMZ§@¯@IÒe¾—é¥/iCâ†jiu I9à’äåê¥S6V¸/%;E’äïî_›!Õ{Ï_û|…Û;w»³»g–Õj­òðòã¹ÇõqÜÇú{÷¿Ûò2.ÚóÏ=U:/uÃ× Ž¥Äbt—”¼¢<åç«]P»‹zÞ{}âzYJ,êqyjŒ€ºžr@µ;ZW¼|…ݶüíº·ß½²X- !ܶ}xøp-½X’”y&S‹·,ÖúÄõJËN“›z5ï¥i¦©C“ÒIÄΞÌlíĵZøýBýôûOÊÊË’$=wÍsš¹f¦­LÙ„ggÛi^'IR›ÆmtðÄÁJÇ{.á/†;œøz*vZìËZ µäÇ%Z½oµŽ:&7g7õhÖCãºÓà6ƒev2—;C/n|Qßú^f'³".Ð졳Õ¿…­ŒÅjÑ7û¾Ñÿâÿ§„Œed«e@Kí6VzL“é¿_½oµ$éž~÷T¸åùÍL%g&ËìdVû öº)â&]ßéz»r»SwK’ü<üôÜúç´zßjÏ=®&ÞM44l¨îp¿ü=ݸ´˜¬V«Õè •—””äpÙiÓ‚%I‹¥ÕT8ºówê‡C?hÝäuv‰ $yoŒ&ô˜ ‘GJ’ÒsÒ5æ½1*(.ÐÜkçªw‹Þ:zꨞøö ŧÄëýñï+âòÛñS>›¢uÖ©wóÞz`àêÒUûïר÷Æ*vZ¬<leΞ…ü\ÛïX~‡¶$o9g¼·^qk¹D²¶Ì\3Skö­Ñ¢èEêÙ¼§r r´ô—¥ZúóR}pÓêÓ¢­lYû†† Õä+'«}“öŠ;§©+¦ªM£6ZqÛ [Ù ‰4éÓIš>hºÆGŒW‰µD_íùJsÖÍѽïÔ£C=o\ÇskÄ¿G(24RÏ]ó\¹ýãÞ§æþÍuG¯;Ô¦Q¥œNÑ’Ÿ–h宕šÐc‚z¼\ÜAÞAêײŸø üÜý´>q½ÿöq5õiª·­›O5\Q¨~F}ÞÂXÁÁÁòöö®êáŸ0|Pcîî}·J¬%Zöó2»í[lUZvš®íp­mÛ¼ÍótôÔQÍŒœ©ÁmËÓÅSaazeÔ+²Z­z*æ© ë˜Üw²ú´è#u 馄%(À# JñÞÕû®sÆ{ìÔ1»xkÛÉ?*,0LZ»³»½õèGÕºQës3¶ÛXE\!õmÙW‘¡‘Ú‘²C'óNÚ•ëÓ¢¦ô"?w?xØþXòίï(§ çœçÏÊËÒËïPŸ}ô̰g*,³ü–åš7bž:w’‡‹‡Ú4n£y#æ©ÛeÝôîÖwŸo+[¶4›ÙM/ŽxQÍý›Ë×ÝW£;ÖÔ¾Su(ó–ý²¬Âz¨¯HÊ5¦_«~êÜQ+v­° -—¤·~[wôºCfÓŸC®cöÇÈÉä¤ÈÐH»sy),0L»Rw)5;µ\ÝBºU[¼ZPxPx…ñNè9AÎNÆ=õ5¨í m;ºM³ÖÌRܱ8Ûðø˜I1v½äÕ5¤«Ýë`ïÒœ´ì?{p"C#õÁM”;¶C“*.)>çdyEyº}ùí Ó‚‘ *>>ÃÇK’ÖXoÛæéê)Iêߪ¿ÝÏFYœ’ôý¡ï+UuÏ”jÔ]½ïÒÃ_=¬÷·½¯ûúß§C™‡ôë¿jþÈù¶2…–BedK’º/ì~Îs%g&—[OÜÃÅ£Zã½½çíš±f†]¼?ýþ“^¸î‡ÏQÏ”?õ¤".‹ÐŠ]+tëG·J’z6ë©ñãuu»«+<æìaÞeχ[õç“kÙÙZöË2­Ý¿V©Ù©:Ú¢¼rçµX-ºïóû쬗F¼T.vDï&’¤¹'lÛ.÷½\’àY~¤CcÏÆåÊp) )Ô¨GhÞæyzoë{štå$-ûe™Æu'/W/[W³«|Ý}•[«=ÿÚS¥$¯ºŒêhºZø·Ð#_?¢Í7+» [YyYúhûGZ¼e±fDΨµô[zÜ"wgw-ønú·ê¯–-k¥Þ ™ýÍlíKß§BK¡Nœ9¡·bß’ÕjUß–}«t>³“Y}ZôQFN†ÞþùmÌ;©üâ|Åþ«·X®üg;?Ó«?¼ªø”xußU¡sCíþÎ:\î˜Ýi»õÄ·Oè÷“¿« ¸@OÔôUÓµ+u—&ô˜`7'€«ÙUÏ_û¼Nž9©¾x@É'“u:ÿ´VîZ©×z]ÝBºUøê3–D€zª2K¢MŸÞDÙÙNzóÍò¥Õ–6¾ ·~[«î\¥öMÚWX&+/KK~\¢˜1J9"_w_u }&ª«þ’¤¸cqºñÝË›øh¢íÿg¯G.I£:Òððáå¶KÒ§>-7äzÖšYZ¿\Ýü‘z5ïUéöV·½i{õa܇úåð/:vºtòV­4¶ÛXé:F&“©ÂksO¿{ôÐßRèÜP»íCB‡èíKñß-Ц¤MÊÈÉ¿‡¿µ¤ ï ½ñÓ’¤ÎM;kåí+5ñÓ‰ì•ÿëµ,´jCâ}¹ûKíKß§ÔìT¹9»©cpGý½ûßmËámûÑízõ‡Ww,NùÅùjáßB×u¸N“®œ$wg÷ª^B¨q“&…ÈÏÏ¢—^*ÿ.]»$I9ÔS•IÊçÌ T|¼›>ùäh FtiùtǧzÛûZyûJ£CÔ7Þx¹"" 4kÖq£CA-brÀµm[¨\ÅŸa÷QÜGUž< ÐðX­Rb¢«Ú´)4:Ô3$åÐtœ'íÜéft(uÖÿâÿ§©+¦êLÑ}¸ýCÊ;¥ë:^gtX€zbçN7åä8)""ßèPPϰ$4íÛê²ËŠõí·ÞêÚµâYµQú,zÄ‚……é•èW ]š P¿|ó·.¿¼XíÛÓSŽÊ!)€Àd’n¼1[|à«ûîË”‡ãØÏ6¶ÛXí6Öè0õP^žIŸ~ê£[n9et(¨‡¾ ÄÍ7ŸRa¡Io¾`t(\RÞ|3@EE&Ý|ói£CA=DR DãÆM›vRo¿í¯#G\Œ€K±cÎZ¶Ì_÷ßR[ŒõI94 &œR³fÅš1#HÅÅ&£Ã ^+.6é‘Gšè²ËŠuë­ ]GÕ”@âìlÕâũڹÓM³gõÚÓO*>ÞM/¿œ*ggækAÕ”@V¨ ÒõÙg>zí5ž/ *^{-@ì«—_NW‡Ì¸Žª#)€(22WO<‘¡W_m¤Y³Ê€£Š‹Mš5+H¯¾ÚHO<‘¡ÈÈ\£CB=Ç’hÐ@Ý|ói…„XôàƒMtø°‹ž>]ÍšuÖ‘#Κ1£‰âãÝôúë©$ä¨ô”@™«åË*=ÝYÇ·ÐË/7R^½æüU^žI/¿ÜHÇ·Pzº³–/?JBŽjc²Z­ÌHõPRRRµ«¸Ø¤wßõÓ¢Erq±êƳ5|xŽºt)‰ÐY­ÒÎnúæo}ú©ŠŠLš6í¤&L8Ťn°,ooïªþ I9ÔSÕ™”—9q¬>ðÕ§ŸúêØ1gy{—(,¬P¹¹ñq¸ô˜”™iVb¢«rrœtùåźá†ÓºùæÓ¬CŽ ‘”@UIù_íÝ몸8w%&ºêÔ)'ÐeÔ¦„„Ç%IááO а¸¹YåçW¢ÐÐBEDä«}{fVÇù]lRÎDo€ uèPÈ/€¦MÛ'IZ´(ÍàH5‰‰Þ0I9!)À $儤ƒ”`’r BR€AHÊ0ˆ³Ñª&88ØèÔ wwwIÜëPוý¾®*’r¨§¼½½@ rv.ý𯽗6†¯`’r BR€AHÊ0I9!)À $儤ƒ”`’r BR€AHÊ0I9!)À $儤ƒ”`’r BR€AHÊ0I9!)À $å{ýõ×åçç'Û¿¯¿þZ_ýµÝ6???½þúëF‡ ¨F&«Õj5:€†ìÈ‘#jÑ¢….ôµÌd2éðáÃjÖ¬Y-E¨aŸÐS`°fÍš©_¿~rr:÷W3'''õëׄ.1ÎF¨š¤¤$£CP†®ØØØsî7™Lºæšk¸÷ Ž –··w•§§ ¸æšk.Xføðáµ  6‘”Ôþþþ0`€Ìfs¹}f³Y ¿¿¿‘jI9@1jÔ¨ '{³Z­ŠŽŽ6 "@M#)¨#¢¢¢äââRn»³³³®ºê*"Ô4’r€:ÂÃÃCC‡•³óŸsñ:;;+**JžžžF¨)$åuÈõ×_¯ââbÛk‹Å¢Q£F &‘”Ô!ƒ ²[ZÇÓÓS40"@M")¨Cœuíµ×ÊÅÅEÎÎÎ1bD…Ï™. $åuÌõ×_¯¢¢"käÈ‘F‡¨AÎ.h¨²²œtà€«NŸ6«°Ðdt8@ƒaµFÊÛ;P’”™©5kèGj‹««U¾¾……Êß¿ÄèpДì8àªO>ñÑÆ^:tˆ!³€q&H’î¿?Äà8€†«uë"EFæêƳVht8¸D‘”$I¿ÿî¢çžk¬õë½Ô²e‘† ËÕ•Wæ)<¼P¹ºZhPvî(“ɤΓŒhP M:yÒ¬„WÅÆzèÛo½´l™¿®º*W3gžPË–EF‡ˆKŒÉjµò- ꡤ¤êù¢^P`Ò¢Eôïû©U«"=òÈ ýíogdb´:²Z¥ï¾óÔ /4Vr²‹î¼ó”¦MË”›iJÛ­šQIŸ”@=UIù‰fM™ÒTII®úÇ?2uÓM§e6ó±ÀÙ,“>üÐW 6RÛ¶…zãT5nl1:,Ô›”3k4P¸ê†š)3Ó¬O>9¢[o=EBÀ9˜ÍVÝzë)}òÉefšuà Ítà€«Ñaá@R PJгn»í25mZ¬Ï>;ª¶my>G´m[¤Ï>;ª¦M‹uÛm—)%…iºpqHÊ ÉË3éÞ{›ÊÇÇ¢·ÞJ‘¿?Cï¨ ‹–-KQ@€E“&5Õ™3¤U¨:~z ™9³‰ŽuÖ²e)òõeýUªÂË«Do¾™¢ôtgÍšdt8¨ÇHÊ ùùg}õ•·^x!]ÍšõZ³fÅzá…t}õ•·~þÙÃèpPO‘”@a±HÏ<¨ÈÈ\ |Æèp¸$ |F‘‘gô䓲XXO•GR ĪU>JLtÑÌ™'Œ€KÊÌ™Çuè‹V­ªò²XhÀHÊ øðC_EEåªU+fZê2‹Å¢iÓ¦©K—.š4i’  À´jU¤¨¨\}ô‘¯Ñ¡ ")€ #ìíÛÝ5ztŽÑ¡—¤ÔÔT…††Úþíß¿¿ÊçÚ·oŸÖ¬Y£¼¼ø Ý¾Y³fiçÎúá‡túôi5nÜXÆ Ó?ÿùO­ZµJï½÷ž’’’äåå¥îÝ»kÆŒjݺu \’Ô´i±22H±P9 _€ /Ï$£Ã.I3fÌÐ?ü`·mõêÕJLLTll¬$éî»ïVbb¢<<þÖúꫯÊÙÙY_|ñ…æÌ™#I1bD¹re*Ú÷ŸÿüG'NÔÚµk®´´4½ûî»ŠŠŠRJJŠ>úè#Íž=[™™™Ú°aƒ¦L™"‹ÅR—€$OÏåæ²,*‡¤«U2ñ¨Sš4i¢)S¦ÈÏÏOcÆŒ‘¿¿¥ÏqË-·¨C‡ò÷÷WÿþýmÛ tï½÷ÊËËKW_}µm{RR’’““«#|0™J?sÊ`l€† b÷ú·ß~«ô9š5kfû¿§§§íÿ!!!2›Íå¶KRZZšÚ¶m[éº5ƒžr]ô9œœþü*gúËp˜sm—$+ÝxP§”\¤³_G¸ººÖ@$€ú†¤à"=D¼¸¸tµƒñãÇë±Ç3"$@=ARp‘|||ì–Û±c‡:¤]»v©OŸ>F¨ëHʪÁ¼yóÔ«W/yzzêñÇ×Í7߬›nºI#FŒÐªU«ª¼¼<[ùûî»O¡¡¡:räˆmÛ¹ÊÝtÓMçÜ·`Á=ðÀZ¸p¡mû®]»®;wªS§NvqÞvÛmºï¾ûjâªÀde¶¨—’’’.;mZ°$iÑ¢´š €ÏÛ†)88XÞÞÞU=üzÊ0I9!)À $儤ƒ”`’r BR€AHÊ0I9!)À $åÄÙè@Ý“¢©Scm¯wï¾^nnf#àÒGO9 Æœ9cÑUW­Õĉ?Jµ¸ÔÚs¶¨¨%&ŽÖС!F‡@ƒAR¨1V«U%%¥ÿ.—Z{ªK—._jܸ謁€†Œáë€ãå嬇Fµ¹ÔÚŒGO9¡§P#.4iXVV¡^{mŸÖ­KQJJž<=Õ½{#Mš¦+¯ ²;Wff/NÐúõ)JKË“‹zõ Ô´iíÕ¡ƒ_…õmÚtµ^|q·¾ÿ>]f³I4{vWµháewl½ôÒnÅÆf¨¸Øªví|uß}ázç$ýøc†$i̘–ŠŒ ©°=U­×‘6]HxøJY,Ž ¥ tSl쵕-“‘‘Þ¶,]z@sçî’$mÝzB¡¡ŸK’Ìf“¢+µ?8Ø]¯¿~¥^zi·âã3UR"uë ‡ê¨=W*nê“ÕjåÁ8¨‡’’’.;mZ°$iÑ¢´š 眦L‰Õºu)vIyFF¾ÆŒÙ¬ü|‹ž{.B½{)##_óæíÖÚµÇôì³WhìØ–’¤ôôÒ²Í{…z÷ÒÑ£¹zâ‰xÅÇŸÔûïPDD£rõ ¢É“Û©}{?mÛvB“'Ǫ];_­X1ØVö÷ßs5zôFyx˜õ =tÅuôh®æÌÙ©½{O)'§H{öŒº`{*[oeÛTÛ*jK\\¦¦NU›6>vm‘JŸïØÑ_Ë—ÿ­Âó]hÿÈ‘”œœ£öíý4sfµoï§ÄÄÓš1c»’’²õßÿöWïÞÕÝL¨vF~ÞÂ8ÁÁÁòöö®êáŸ0|PëæÍÛ£#GÎè±Çº*22DÞÞÎjÝÚ[ öRP»ž~:^Çüÿ²»uôèÍœÙEƒ7•§§Yaa¾zå•^²Z­zê©ø ë;¶¥""ÉÃìþý›hðà`íØqR'Oþ%ŽÝ:}ºH³gwÕ€Mlç^¸°§òò,Uj›£õV¥Mµí¯méÛ7H‘‘!åÚR]òò,zúéî¶úºt Ðüù=UTT¢gžÙQíõPW”jÝÚµÇ$IC†4µÛîêê¤~ý‚”ŸoÑ÷ß—ö2ÄĤÈÉɤÈHûeº‚‚Üæ«]»²”ššW®Ž®]í{šCB<$Iii–ýî»Ò:þö7û85rS›6Uû‹·#õVµMµíì¶»K²oKuñð0—¶î«&Mܵwï)¥§çW{Ô}äH®~ÿ=§\=@u#)4h§Nê±Ç¶+%%OyyÅŠÏÔü&Ýw_{£Ã—8’r@ƒä®wß Ó§‹4~ü÷ºâН5yr¬ZµòÒŠƒÕ¼¹§Ñ!^Ò–.= ÐÐϵwï)¥¥å+4ôs-X°Çè°¨U¬ShÐúõ R¿~ S7ÂÝw‡éî»ÃŒCÑS€AHÊ0I9!)À $儤ƒ”`Ö)Ôˆ˜˜Mk{½{÷õrs3Qå] m0’Õ*mÛvB_~ù‡¶lÉÐÑ£gäãã¢Ö­½uÓM­uýõÍe2%$iéÒš;w—$)8Ø][¶\S©ã7mJÕœ9;õǹJHˆ®‰à’EO9 FDE…(1q´† 1:”*»Ú`¤ƒ³5nÜwJNÎÕâŽ7BŸ}6X—]桇þMsçî4:DüwߦÄÄÑêÐÁ¯RÇ>œ«I“~Ò¼y{tüx~ E—6’r@ҥ˗7î»*ï¿TÕ×v›Í&½új/µoï'77³š7÷Ô‹/ö¿¿«Þ{ï  KŒ±N«ëïûÂ…{tÅôÅCäåÅL¨ ~{€Ѷ­O…C™]\œ⡽{O© À"WWúê«çŸ¿Bîî<ÒƒOAP«NŸ.RrrŽ:vô“‹Ñáà"ÀÅ£§P+22òõâ‹»õý÷é2›MŠˆh¤Ù³»ªE /IöMmÝzB¡¡ŸK*þœ]©ýÁÁîzýõ+õÒK»Ÿ©’©[·=ôPGõèѸÆÚP&+«P¯½¶OëÖ¥(%%OžžÎêÞ½‘&M Ó•WÙÊ–hÉ’­^}TÇŽ‘››Y=z4Ö¸q­4xp°ÌfÓÛ}!áá+e±Xj_` ›bc¯½`9Gâ®HNN±NiÞ¼= r×¼y=ŠK’23 ´xq‚Ö¯OQZZž||\Ô«W ¦Mko{úµ×´páIRµ|ùß$Iß}—¦;ïüQ’äïïªß~»Î¡:ÿú>¦¦æ«Q#Wµmë£Q£šëºëšÙRGb;{ÒÀM›®¾¨ûáìó­];T îÕO?e(+«P’ôë¯×É××Eß|sTÿûßïJH8¥ììbµl饱c[i„6rr2~¦=‹ÅêPŒg·yóæazá…]Ú´)U®®f ¬Çïªìì"=ýôNÅÆ¦ËËËEC†kÖ¬®vÃë­S’""V);»¨ÂØM&éûiSIŽÝû•ýY¨L¼S¦ÄjݺÛq½~ü1C&ü ·Þê«ÈȦ’¤9svèw’lå¢e±X«tÿ•£÷NU®×żï@]e²Z­Ž}Rꔤ¤¤ úÿ¦M –$-Z”VSáœSÙ—Ä¡CC4yr;µo笠¸LM«6m|´bÅ`»ò]º|©Žým_$Ïv¡ý#GnPrrŽÚ·÷ÓÌ™]Ô¾½ŸOkÆŒíJJÊÖÿÛ_½{ÖX22ò5fÌfåç[ôÜsêÝ;Hùš7o·Ö®=¦gŸ½BcǶ”$Íœ¹MkÖÓ¢E½Õ³gcåäkéÒZºô€>ø` úôù3Î µ»6U&î2M˜ûô ÔãwSx¸¯Cõ¥§—^Ó‚‹æÎ½B½{éèÑ\=ñD¼âãOêý÷("¢‘­ü¹®UtôF9rÆ¡¤¼ì},((ѳÏvWŸ>AÊ˳hùòd-\¸G³fuÑw„V:¶Š~–¶m;¡É“cÕ®o¥ï‡²óõî¨è ®]ýµ¶ÆŽÝ¬ØØkµ}û Mš«éÓ;iüøV*)‘¾úêÍ™³SwÞªGílw¾‘#7(3³ Ò³¯KRÿþktüxA¥g_ß°!¥R1–µyذË4uj¸Ú¶õÑ·ßÓôé¿iР`¹¸8é:¨eKo}ñÅaÍž§;îh«Y³ºV©ÎˆˆUÚ²åyzþ9*`ñâ}zù彚>½“¦Li'©r÷þ_ÛáÈÏBeâýàƒCzâ‰8-XÐS×_ßܶý‘G¶é³Ï~×u×5Ó+¯ô²m‰IÑ{ï%éÝwHªÚýýWŽÞ;U½^ó¾×#?oaœàà`y{{WõðO¾¨cǶTDD#yx˜Õ·o"#C´cÇIÚY­[Wùƒ½VT%î{ï ×Þ½£ôí·CÕ¶­®¿~ƒ/ÞçP}óæíÖÑ£g4sf ÜTžžf……ùê•WzÉjµê©§â««i©³ô}œ=»ô}ôòrV` ›î½7\û[ðEÇöן¥þý›hðàà‹º&On§>}åáá¬nÝ”­€WI¥™2¥üü\ઠÚjäÈfzçDåäW©¾êV•ÇŒi©ÎýåáaVtts……ùjóæ4ÝuW˜:tð“§§YãÇ·V³fžÚ¼9½Zꔤիê•Wöê†ZÚr©r÷þ_9ú³àh¼×]w¹\\œ´rå¶mùù­[—¢–-½´~}Šrsÿ,ÿùç‡5zt Ûë‹ý½äø½Sµëu±ï;P‘”jE×®ì^»K’ÒÒòª½.s¹¥ÂÃ}Õ¤‰»öî=¥ôôª-ÝäHÖ®=&I2¤©]YWW'õë¤ü|‹¾ÿ¾´eР¦Ú¶-S³fmW\ÜIÛ0󘘨ßqÊ IDAT öF©ªq»¸8©m[=ýtw]uUˆ^~y¯¶l¹ð—昘99™i¿4]P»ÂÂ|µkW–RS+ÿs´ÿi…†~n÷ïÉ'K“è²÷qРàrÇýûßýtÇ¡ÛÙ?K!!¥ÃŸ«z?tëPáöÈÈ}ðÁÀrÛ;tðSq±Uœ>ïyÏwªKUcìÒžÍe÷cçÎö÷~Ó¦å®keêܾ}„­—<>þ¤þùÏ­êÕ+Psæt·;¶2÷þ_9ò³P™xýý]5xp°¶lIWFFéïºuëRÔ­[€n¹¥òó-úöÛÒX³² õóÏÇ5lØå¶ã/ö÷’£÷NU¯×żï@]ÅC€Záãcÿ‘Sö dMÇXZgÙå'Ÿì¦ˆˆFZ±âwÝzë’¤ž=iüøÖºúêË*_Ejâ™òêˆ;2²©Ö®=¦SÕ¿“s–+»¦’Ô½ûWç,—œœc{®×QíÚù*1qô9ë<×ûX±ý³äêZšôUõ~ðð¨xµìì"-[–¨µk)55O§OÛ?—g9ïyÏuªSUcôö¶¿†&Sé3÷åïÓ’û [•:;£É“RHˆ‡–,é#—?û¶*{ïÿ•#? •wôèЉIÑW_Ñw†jåÊ?4zt õí¤¹swéË/ÿÐÿý_ ­ZuDC†Û Í¿˜û»²÷NU®×żï@]ER¨SL˜CèBû%)+«HVkù²'N”…lÜØ­ŠÑŸ««“||\”]¤ÜÜâr_6/ý‚Tú…Ód’¢£›+:º¹Š‹­ŠÍÐÒ¥tÏ=?kæÌ.ºóÎPÛ±Ž´»"•}¾×•‰û\Ê–A+›”ì|å|}]”›[¬={F94É”““IEEå×??;‘9_ç{/&¶Êªêû^fÒ¤XýúëqÍžÝU#G6S@€›L&é?ÿIÔ³ÏîT]˜ZȈ+[gnn±&NüIÅÅV½ýv_ùû»Úí¯ì½_ÓñÒTþþ®úüóÊŽn®¸¸L-^Ü[îîf ÐD?ü®ôô|­XqX?ÜÑîØ‹¹¿+sïÔäõꆯêg»„***Fœìð~I*(°hÇŽL»m §•žž¯üªÔKž¤Sí¶–èÇ3äînÖÀ¥Ã:#"V)))[’äìlÒ€MôÆWÊd*¼#í®-ŽÆýüó;õðÿUxŽÍ›K‡¥víZñ°ë¿6ìrY,VmÝz¢Ü¾7ßܯ¿± Ф‰{¹!ãù:vìÌ…÷ÿ•½›6¥–Û7rä=ûìÎ*ÅVYó¾—Åä®Ûnk«FÜlI~AAù?ZÁˆ+[§ÅbÕüª¤¤l½öZ»g«ï»ïÅÄ”Îv^™{¿&ã•J¹îºfÚ»÷”æÏߣ¡CCl3žGG·ÅbÕ+¯ìUzz¾úö ²;¶2¿—*âè½SS× ¨HÊuJ§Nþ:t(G))yÚ¾=S‡çªW¯Æï—$ÍŸ¿GÛ·g*/Ï¢;Oêᇓ‹‹“fϮٙx§Oï¨fÍ<5gÎmØP:¡Ò¡C9úÇ?~UFF¾fÏîªÀÀ?{êgÏŽÓ¾}§TXX¢' ôÖ[ûeµªÜeGÚ]›ûË/ÿТEûtäH® KtäH®^|q·¾øâuî쯱c[ÙÊ9’«víV*4ôsíÞeÛ>}zGµhá¥G٪͛Ӕ]¤¬¬B}ôÑ!-^œ 3ºØõRÐDééùzc:sƢÇsõÌ3;*5B¢ì}|öÙÚ¸1U¹¹ÅJMÍÓOÄ+##_wÜѶJ±UÖżïf³I}ú*##_o¿}@'O*?ß¢ØØ }øá¡*ÇTU½¿FÄXÙ:Ÿ}v§6mJÕ³ÏFœ÷™êÊÞû5o™èèÒ™×—/O¶›È-*ªtòµåË“5jTó —Åsäþ>ßýêè½S× ¨X ꩺ¾$Z\ÜIÝxã&»m÷Ü®‡êh[s¹Ì!MõöÛ}%IfkÖ¬8íÚuRþþ®š2%\7ßÜÚVöBûË–tz÷Ýš3g‡¶mË”ÅbU×®zøáÊ­S^Õ6”®½› ˜˜Òç?=<œÕ½{€&Mjg÷¥vïÞSúðÃCúå—ã:v,OnnNjÕÊKcǶ֘1-í†._¨ÝµÉѸsrеfÍQ­^}D‡å*--O..&µiã£áÃ/Óí·‡Úzï¤Ò/ù‘‘1²Z­Zµê*»%Ó²² µdIé5MIÉ“¯¯«:vôÓĉaåžIÏÎ.ÒóÏïÔ¦Mi:}ºH;ûkÖ¬.š=;N»v•&“'·Ó?ÿÙé¼í<û}lÔÈM½{êÁ;¨U+o»rŠ­ºï‡ŠÎ'©Üóß'OjÁ‚=Ú´)Uùò÷wÕ AMä®7ÞH$uîì¯#šÙÖE?;¾ó)[ª«"Ï=g¿¤Õ¹Þ_Gc|òÉî^è¨m¿}úôŽêÙ3PÿûwvÛï¿¿ƒî¿¿½ÃuΙ¡èè罯¿~¥¢¢J'úsäÞ¯ÊÏ‚£ñ®\9Äîø¡CcTXX¢Í›‡Ùý>)[í›o†*4ÔÇîGïï ݯŽÞ;U½^UyßkK¢5L»$I9ÔSu=)7ÊŬ³ ÀÅhHŸ·øë”PO‘”`–D\–.=`÷Llhèçç}&öìg7+R›Ï!€†‰¤pI¸ûî0Ý}w˜ÃåÏž À _À $儤ƒ”`’r BR€AHÊ0I9q6:À¥)&&ES§ÆÚ^ïÞ}½ÜÜÌFT¿­ZuD>ø«$ÉÕÕI{öŒ28¢êeµJ۶З_þ¡-[2tôèùø¸¨ukoÝtSk]}s™LFG @õ£§P#¢¢B”˜8ZC‡†Ê%aĈfJL­~ý‚Œ¥F<˜­qã¾Srr®/î­¸¸úì³Áºì2=üðoš;w§Ñ!P#HÊuJ—._jܸ謁õ—ÙlÒ«¯öRûö~rs3«ysO½øbùû»ê½÷ª°°Äè¨v$åÀpmÛú(!!Z~~®vÛ]\œâ¡ÂÂX Š€šCRê¬Ó§‹”œœ£Žýäããbt8T;&zÔŠŒŒ|½øân}ÿ}ºÌf“""iöì®jÑÂK’´téÍ»K’´uë …†~.©tHsBBt¥ö»ëõׯÔK/íV||¦JJ¤nÝôÐCÕ£Gc‡c>{²ºÍ›‡é…viÓ¦T¹ºš5hP°¼«²³‹ôôÓ;›.// ¬Y³ºÊËËþc6+«P¯½¶OëÖ¥(%%OžžÎêÞ½‘&M Ó•WÚ?+ž””­—^Ú­ØØ Y,R§N~š>½Ó9cÍÌ,ÐâÅ Z¿>EiiyòñqQ¯^š6­½:tðs¨½áá+e±X*è¦ØØk/X®°°DK–$hõê£:vìŒÜÜÌêÑ£±Æk¥Áƒƒe6W<{[NN±NiÞ¼= r×¼y=Š €úÆdµZûôÔ)III—6-X’´hQZM…sNS¦Äjݺ ¢É“Û©}{?ÅÅejêÔXµiã£+Û•ïÒåKuìè¯åËÿVáù.´äÈ JNÎQûö~š9³‹Ú·÷Sbâi͘±ýÿ±wßaQ]ùãÇß0´¡KÇŽˆ Š6TDLµà&àÏt³F£éÑMјb‰ ×d5m£©¦¸I4j¾šH¢¢QIlTŠ€ém˜ß,¬ã€ ŽÆÏëyòäáÞsÏ9÷ÌÅásO#=½ŒÏ?E` Ã5ÝÃwveÎOÜÝ­øå—æÏ?ÊØ±ÎòÜsýéÕË’mÛαhQ,3f¸³p¡osÕ„‡GS]­âí·ý t¤  šÈÈDvïÎaÙ²!DDôàìÙ ¦NÝ‹R©`åJ† ±çüù –/O 3³‚üü*Õ×óóó®©Q±bÅÉήà7∋+fÓ¦ üüìÚuÏeÁ‚ãìڕúu jOyy=6¤²aC*_}5šaô?‹÷ÞKaíÚ$† sàõ×áéi}£«.„í¦Ïï[¡?ÎÎÎXZZ^ëåßÉðu!„7DDD/üüìP*ŒáHHˆ+ññÅ×vxYUU*/Ü\žOÖ¬J]]K–Ä_s¾áá½8Ð¥RAXX<<¬‰ŽÎãï÷ ÌÍLŸîF÷îæDGçk\™DVV%¯½æKHˆ+––F¸¹Y²vmŽŽf,^ÇÅ‹5ÿM›Hii‹ù䄹¹OOkV­ò'?¿J«^‘‘‰dgW²`ÁÁ.˜›+ðð°æÝwP«Õ¼õVÜ5ßóõ:t¨+‚‚œ03Sàà`Ê+¯ ÄÍ­õ?^žzÊ“ää)üòK(îîVLž¼‡õëOÝÀZ !„7ŽåB!n__ÍžZgg3òò´ƒÌë¥T*´†l{zZãädFrò%òó«¯)_Ÿ.?7ÝÃÀše¹¸(µîk÷îÆsÑ8nbbÈÈ‘ŽTW«8p ±geÿþÆÿ£™ÖÉɬÅ`6**CCBB4·Ÿst4ÃÃÚ“'K¸p¡ãÛYcǺpüx ž 6¶¸yx|TÔ„{É›âînÅâŃ?Þ•wÞIæàÁüVÓ !„·*™S.„↰²ÒüÊ14lœKÜ“¨¬­[^ÌÞÞ”üüj kpr2kw¾––š÷``Ð8§]©Ô¾·††ÿÝXmmeeu˜š*´æ™884Ö¥  šÚÚ**ê15U`n®hñ22ʵò<þxß6ó01iØwå½ !„2|]!ÄME©4¢®®¡ùç ¢øöÛLÏÔÔ¨ˆ/Ò8–’RJ~~5ýûÛ\S/ùõjêÞ»÷‚ÆñÚÚ*ÀÌLÁèÑ Ûøÿ¦aìMŠ‹kÉȨÐÊûÎ;»¡R©9v¬PëÜGfôèŸuîïh~~?‘ž^€‘‘AAN|øáp 4ÛbùòæÍ;ÚbÑÑíàëÛ¥ÅóB!Ä­L‚r!„7•lÉÈ('7·Š'Š8w®‚€{ÏXY³fM'NQU¥"!¡˜yóŽbllÈ¢E¾WyCÌŸïM÷îæ,]Ïž=¹TTÔ“‘QÎ /¡  šE‹|qp0ýoÚØÚš°dI¿ÿžOe¥Š´´2^|ñH‹CÚçÏ÷¦gO ^~ùÑÑy”•ÕQRRË7ßd°~} ¯¾ês]=è×kÑ¢XNºDmm……5üûß§Q«aÄÍmà¶o?Ϻu§Èʪ ¶¶¬¬ V­JdÛ¶ó hKDDoýÜ€BщdK4!„¸EÝì[¢ÅÆsÿýû4ŽÍëÉ‹/z7ï1ÞdÜ8>þxgΔ±pa,'Ockk“OzòàƒnÍiÛ:?iÒŠŠjøâ‹ –.çøñ"T*5¾¾]˜7¯}û”·v&¸2uªæñùó½:Ôÿ÷ÿököÙþ<û¬дOy QQ9\¸P…RiÄàÁ]˜5«ŸV€š‘QΪU'9|¸€úz5ýúYóÌ3^|úi‡«Á/_>¤9ï÷ßoÌ;7· kk¼½mxâ ½ÎÃNN¾Ä×_gðçŸÉÉ©ÂÔÔÞ½-ˆˆp#<¼WóƒòòzvíÊfçÎ,22*ÈË«ÂØØ€>}¬¸ë®®<öX_ÌÌ´_H!ÄÍD¶D»=]ï–h” !Ä-êfÊõ¥)(?xðn}WE!Ämævú¾ÿ#û” !„B!„·( Ê…B!„B=‘-Ñ„Bü%lØÊŠ'›îÛwkóö–\9¯½%—ÏB!„è ” !„øK˜9Óƒ™3=tNŸ–6µk#„B¡¾.„B!„Bè‰åB!„B!„žHP.„B!„Bè‰åB!„B!„žHP.„B!„Bè‰åB!„B!„žHP.„B!„Bè‰åB!„B!„žé»B!þš¢¢r™3'¦ùçÄÄɘš*ôX£Î¥VÃñã…lß~žƒ ÈήÄÊÊ77KxÀÉ“{`` {~6¤²bÅIœÍ8xðîNªùÍmõêDºu3çÜtJ¯R©Y»6™]»²ÈÍ­bøpG>ùd¤VšÍ›3Ùºõ©©¥TU©°·7¥‚ƒ]7ΙîÝ-šÓwôg à㳪*•ƱW^ÈÌ™Üqǯœ9SÖ|Îßߞ͛Ǵx]k¶n F¥‚ûïß§qÜÊʘ'&6ÿ|åïê¸q.|üñ^~ù8Û·ŸÇÙYÉøñ.¼ôÒ€¿ôï°Bè‹ô” !„è&¸’–6•ÐPW}Wå†8s¦ŒiÓö“™YÁúõÄÆN䇂éÚUɼyGY±"¡]ùÍœéAZÚTú÷·é¤ÿ5}÷ÝY>ü0…©S{sV@0þQÞ|3Ž \ùùçPâã'ñí·cðö¶añâ8ÂÂöi¤ïèÏ !a2;v„Úø»ÒlÚDÿþ6Üw_/RRÂØ¼yL«×µôŸ••1ƒw!-m*÷ßß €©S{jäÐø»zðàÝ88˜}'<€•+‡pôè½ÌžíÁ矧óÉ'éí¾O!„m“ \!ÄMÅÇg;Ó¦í¿æóú¤Pð¯àåeƒ©©‚=ÌYµÊ[[¾üò µµ ú®â-¡¬¬Ž5k¹çžßظ1•eË ÛËòå ¤§—]õÚ?þ(`ÆŒ¾X[k/fÇŽ,ÂÃ{1kV?\\”˜š*èÙÓ‚yó´Ú##?Ûôô2""öâÂÊ•CP(ÚÙ ß‚W^ˆ­­ [·žãÈ‘B­óK–ÄñØcîtëf®q܈éÓÝP*šÛV!DÇ’ \!„èîîV¤¤„acc¢qÜØØWW%µµ ÔÔè6ìøvVS£"<<š<Ï[o â‘GÜ™?ß›ùóðË/9<øà«^_\\‹Ba€…EË3ôRSKèÓǪÅó÷ÞÛ]ëØül+äðä“ýxáïkÎçĉ‰øøtiþÙÖÖ„—_Àë¯ÇR_¯n>·iie̜ٯÕü¬¬Œ()©½æú!„håB!D'*-­#3³oo›æ!Å¢u¿ÿ^@ZZ÷ßß‹€Œ 15UäÄÒ¥~m^ßР¾êy³ÿ–“×âùÀ@޽W§ºvôgûË/9ÌžÃòå~ü¿ÿ×ûšò˜6m??üp¶Ås÷ßß {RSKùä“T ñ%È[oűxñ`ŒŒZï‘70hœ‹/„¢ãÉBoB!nˆ‚‚jV­JäÀ| üüìX´È—ž=Ôº|a³cÇ éÛw+Ð8l8%%¬]çÍøàƒá¬^H\\ 0hP^|ÑûvÕ»¶¶÷ßOaçÎlrr*15UàïoÏ´i½ vnuhqyy=))—ˆŒLÂÑÑŒÈÈ¡ío´lÛvžyóŽj;|ønÍ(*ªaýú~û-—¼¼*¬¬Œ pà™g¼èß߆ÒÒ:† ùIãÚ^ðæ©§ÿ|T»7ߌe×®Ö­ dèP{ÊËëÙ°!•Ù³óÕW£6L;¯÷ÞKaíÚ$† sàƒ†Ó¯Ÿu;[¬e'v'1±„Ó§Ky÷Ý€æ!ÕùùÕ„‡GSS£bÅŠ!:’]ÁoÄqÿýÑlÚ„ŸŸiiS™1ã ð믚_Š(¤¥M%<<š‡îÃäÉ=Ú¬KJJX‡ÜÓåFŒp¤woKâã‹ Þ1ãÇ»P]­Â̬핿ëêÔ˜˜´žÎÜ\Áºu¼ðÂöïÏcÿþ<ìíM r"8Ø…ÐP”ÊÖÿ<êŒÏöС|~ý5—¿ÿ½o»ò_Ím~9u¹ˆˆ^­^ãéiÍŒ}Ù°!•_<ÊÙ³üôSH›e™˜RW'k"!DgáëB!nˆˆˆ^øùÙ¡T*1‘Wâã‹).îøyªUU*/Ü\žOÖ¬J]]K–Ä·+¯C‡ ðð°"(È 33¦¼òÊ@ÜÜ,[½æ©§þ8•Gq¿êÜâÁÞÞ”×_÷åÏ?ï!<¼ƒÙahhÀgŸ¥óÀZ\T­¤¤–?N%;»’ìÓf&&†LÚ“?ÎñãùòË &NìNII-óæ%)éR«×vôgÛ§%Ÿ~: #V¬8É'Ÿ¤]s^ºP*Í£E¼¼tÛroút7ÊËëX»6©S^¤ !ÄíL†¯ !„¸!¬¬4¿ršæðª;¡ã­¥­° 1ØËϯ¦°°'§«÷¦6yóÍAøùÙ±eËY~øw†µcút7«Ny„„¸°{w{÷^`Ô('Ýnâ2¥¥õÌ™ó..J¢£óضíZ‹‘µÄÄÄð¿õº¶F…¾ø"++cÂÃ÷±`Á ÜÜ,ñõíÒœ¿µµ1õ$%MÑi_ë)Sz²fM_~y†Y³ú±qc*û[O­m¿®¦3æ”oÛvžmÛÎóÉ'#5Ž»º*¹ï¾ž|ðÁi²³+5έZåÏë¯âÀ<žþ—.Õ²lYË+µ;VÈܹðÇ-¿ >Ü‘>:Mii½Nõ½ÞÏörþþölÜ8’Ç?IJe (ÍÃøõmÍšD>øà4o¿=„»ïî*; !D’áëB!n*J¥‘Æ‚R&Dñí·™:Ÿ‡Æmžâã‹4Ž¥¤”’Ÿ_Mÿþ6:÷’øùýDzzFF9ñá‡Ã10€½{/4§[¾úh8ææ ž|2FcþwvC¥RsìX¡Öõ}tšÑ£ÖèÕ611äÁûPXXÃÆilÛvžÇkÏlgˆ/¦¢B;(./o<æî®½Ç¸¥¥wßÝlùùçœVóV«_ÎÄÆ·x>!¡ñøå½äùÙ^) ÀG¢T±xq<›6¹¦|ÂÂö^un|{íÞK÷îæDDô’€\!:˜åB!n*Ø’‘QNnn'Nqî\ö:Ÿ°²2fÍš$Nœ(¢ªJEBB1óæÅØØE‹|Û]§E‹b9uêµµ ÖðïŸF­n\)ürÛ·ŸgݺSdeUP[Û@VV«V%²mÛy´%"¢÷5µÉåºw·à½÷†QTTÃܹ1ÔÖ6¾ ˜?ß›ž=-xùåcDGçQVVGII-ß|“Áúõ)¼úªVúCõxÔŸ IDATÁÌLÁ?ÿ™È¨QNôêeqÝõë%%µ<ýôœ:u‰úúª«UìÜ™Í÷ߟ# ÀÐP×V¯µ´4¢¼¼®Í2žyæ¶o?O~~uógµaC*ëÖbà@[¦Ní©‘þF|¶Møøãᘙ)xóÍ8¾ú*£Ãò¾VååuŒ !D'1P«;c6ŸBˆÎ–žž®sÚgžq`ݺ¼ÎªŽ–ØØbƱ¹s=yñEo­mœÆsáãG š-\ËÉ“ÅØÚšð䓞<ø [sÚ¶ÎO𴇢¢¾ø"ˆ¥Kã9~¼•J¯oæÍkÿ>åÉÉ—øúë þüó"99U˜šÒ»·n„‡÷j"_^^Ï®]ÙìÜ™EFFyyUЧwÝÕ•Çë«Ó–^M~ú)‹çŸ?¢qláBüüìµÚuÊ”¬Y3”’’ZÞ?…¨¨rs«°¶6ÁÛÛ†'žðhu¾óÂ…'ؼ9“o¾£õrCêêسç;vd‘”TBvv%FF†xyÙ0qbw~¸ÏU¢{ôуÄÄ´:´¾¡A͉EDEåräÈErs«(,¬ÁÌLAŸ>VÜygW}´Æ¶hýÙøøl§ªJsÁºW^ÈÌ™Í?:TÀ¬Y‡©®nL÷ Þ|øaŠÖu­yç&NÔ\Iÿë¯3xýõX­´))aWö0jÔ.ììLÙ±£ííÓ„¸éãûV蟳³3––­ïÊÒ†ï$(Bˆ[ÔÍ”ëKSP~ðàÝú®Ê-áûïϲiÓ~üqœ¾«Ò¢Õ«éÖÍœpk;1ðćٷ響S;¹f·—áÃwÒ½»9߬ïªqS»¾oÅÿ\oP.Ã×…BˆÛØ7ßdê´XÝ­ÂÅE‰Z /Öè»*õõjJJj›WîBѱ$(B!n#ÿùÏYæÌ‰¡²RÅ×_gpéR-÷ÞÛ½í õdäHG||luN?fLc/ÕGîÑoweeulܘJ}½š±c]ô]!„øK’-Ñ„Bü%lØÊŠ'›îÛwkóö–\9¯½%Ï>ÛŸgŸõê°:Þ eDEåâç·kÞ}7@§-Ôô¥½{O˜àÊK/ à‡ÎñÕWg>ÜQk{µÎ¤ï϶#½ôÒ1¶o?O·næ<ý´û[϶/BÑn2§\!nQ2§\!„¸¹È÷ííIæ” !„B!„·( Ê…B!„B=‘ \!„B!„Ð Ê…B!„B=‘ \!„B!„Ð Ê…B!„B=‘ \!„B!„Ð#}W@!Ä_STT.sæÄ4ÿœ˜8SS…kÔ¹Ôj8~¼íÛÏsð`ÙÙ•XYãæfɸ1yr tÏoÆTV¬8 €³³ÞÝI5ï8?ý”ÅóÏÀÄĤ¤)z®Ñÿ¬^H·næ<ð€›NéU*5k×&³kW¹¹U îÈ'ŸŒÔJ³ys&[·ž#5µ”ª*öö¦ôïoCp° ãÆ9Ó½»EsúŽ~F||¶SU¥Ò8öÊ+™9Ó£Ås`eeL×®æøûÛÞ‹m[Ìûå—³}ûyœ•ŒïÂK/ øKÿ !„¾HO¹BˆN1a‚+iiS uÕwUnˆ3gʘ6m?™™¬_HlìD~ø!˜®]•Ì›w”+Ú•ßÌ™¤¥M¥›Nª±n*+UŒ¿›'ž8ÜfÚ‰»“–6•‘#o@Í:×wßåÃS˜:µ'11÷häóçåÍ7ã˜0Á•Ÿ%>~ß~;oo/Ž#,lŸFúŽ~F&³cG¡¡¿s3gz´zîÔ©0vïžÀóÏ÷'=½Œ°°½¼üòqªªêµò^¹rGÞËìÙ|þy:Ÿ|’Þîú !„h›åB!n*>>Û™6mÿ5Ÿ×'…€ý+//LMôèaΪUþØÚšðå—g¨­mÐwÛM­VÓÐÐøß­¦¬¬Ž5k¹çžßظ1•eË ÛËòå ¤§—]õÚ?þ(`ÆŒ¾X[k/fÇŽ,ÂÃ{1kV?\\”˜š*èÙÓ‚yó´Ú#¯ïgD¡0ÀÁÁ”ÐPW6m bÖ¬~üðÃYžþê>b #¦OwC©4jn!„K†¯ !„ÀÝÝŠ””0­ãÆÆ†¸º*IN¾DM “[ë}¸……{÷Þ©ïj´[MŠððh**êùç?‡•‹««k^{íÛ¶'&æžV¯/.®E¡0À¢å?•RSKèÓǪÅó÷ÞÛÿû¿lc7ã3ò à? øí· üôS“&uo1••%%µ7¬^Bq;¹µþ2B!n1¥¥udf–ãímƒ••v«è¿ÿ^@ZZ÷ßß‹€Œ 15UäÄÒ¥~m^ßÖȳÿ–“×âùÀ@޽W§ºêó10€Gq૯Î\5Juë–Bˆ[ô” !„¸! ªYµ*‘òQ( ðó³cÑ"_zöl\ëò…ÍŽ+¤oß­@ãpÛ””°vwv6テ³zu"qqE44À A]xñEoüýíÛUïÚÚÞ?…;³ÉÉ©ÄÔT¿¿=Ó¦õ&8Ø…¢å•¹ÊËëII¹DddŽŽfDFm£µ`Û¶óÌ›wTãØáÃwãèhFQQ ë×§ðÛo¹äåUaeeL@€Ï<ãEÿþ6”–Ö1dÈO×¾ð‚7O=å‰J¥ÆÓóÇæãwÝÕ)Sz\u±¾ôô2V¯N$&¦•  °aþüí¾'OÏuøL¯ÚÃÝDýß±ØÑÑy<þx_sAAN:åq58:šqà@>?~ˆÙ³û`¡¡î+µuÖ3Ò^þþvœ8QD}½#£v®6'„âºHP.„â†Xº4Ù³û±r¥?±±EÌ™ÃóÏaË–` qa³¦£½½mÙ¼yŒÆõºžŸ4i™™å,YÏ‚>xyÙ–VÊ«¯žà¡‡~çóÏGè s½ß|3–]»rX·.¡Cí)/¯gÆTfÏ>ÌW_fØ0í¼Þ{/…µk“6Ì>N¿~Öíl±–MœØÄÄNŸ.åÝw°±1 ?¿šððhjjT¬X1„À@G²³+xã8î¿?šM›‚ðó³#-m*3fäàÁ~ýuBóK…€´´©„‡GóðÃ}˜<¹iiSyòÉ~ý5W£gÏVR©`ýúa bÏùó,_žÀ¹s•íº§–†t_¯#éÝÛ’øøb‚ƒwcccÌøñ.TW«03k{ñº:5&&­§37W°n] /¼p„ýûóØ¿?{{S‚‚œv!4Ô¥²õ?³:ói/GÇÆ^•JMQQ NNfZiLL ©«»õÖDBˆ[ _BqCDDôÂÏÏ¥RÁˆŽ„„¸_LqqÇÏS­ªR±xñàæò||º°fÍPêêX²$¾]y:T€‡‡AAN˜™)pp0å•WâæfÙê5O=åIrò~ù%ww+&OÞÃúõ§®÷¶(-­cæÌC44¨Ù¸qds@™Hvv% ø삹¹kÞ}7µZÍ[oÅ5§ýûß=þ›GªFþÇŽ’“SÉ=÷´<¯ør‘‘‰”–Ö±h‘/AAN˜›+ðô´fÕ*òó«®û^¯—……›7iš}î\Ÿ~šÎ°a;Yº4žK—®þÜåäTâ⢜^nèP{~ûíV¯ö'4Ô•êjÛ¶ç…Ž0zô/üôSV«×vÖ3r-ZZàíJÎÎJòòªe»Bt Ê…Bܾ¾v?;;7ùd¤ÆqWW%÷Ýד>8Mv¶æÜ÷U«üyýõA8ÇóÏáÒ¥Z–-ky¥öcÇ ™;÷þø£åÇ;òÑG§)-­×©¾×ûŒ\«†5›6eððí¿„X³&‘>8ÍÛoáî»»ÊNBÑdøºBˆ›ŠRi¤± Ô„ Q|ûm¦Îç¡qêøø"c))¥äçWÓ¿¿Î½ä~~?‘ž^4ï râÇc`{÷^hN·|y‚ÖªèM¢£‡z7Ñíeaa„³³ææ >úh8ææ ž|2FcþwvC¥RsìX¡Öõ}tšÑ£Öè611äÁûPXXÃÆilÛvžÇkûC“±cÿ coR\\KFFE{o±SÄÇSQ¡——7sw×ÞcÜÒÒˆ»ïîÆ€¶üüsN«y«Õ/ybc‹[<ŸÐxüò^òÎ|F®UddqqEÜqGWî¾»[«évïÎ¥{ws""zI@.„L‚r!„7•lÉÈ('7·Š'Š8w®‚€{ÏXY³fM'NQU¥"!¡˜yóŽbllÈ¢E¾í®Ó¢E±œ:u‰ÚÚ kø÷¿O£V7®ð}¹íÛϳnÝ)²²*¨­m +«‚U«Ù¶í<ÚÑûšÚärÝ»[ðÞ{Ã(*ªaîÜjk_PÌŸïMÏž¼üò1¢£ó(+«£¤¤–o¾É`ýú^}ÕG«ý¡‡ú`f¦àŸÿLdÔ('zõ²Ð¹óçÀÖÖ„%Kâøý÷|*+U¤¥•ñâ‹GZÒ®%%µ<ýôœ:u‰úúª«UìÜ™Í÷ߟ# ÀÐP×V¯µ´4¢¼¼®Í2žyæ¶o?O~~uóg¾aC*ëÖbà@[¦Ní©‘þF<#WÓР¦°°†_Íåá‡çßÿ>MxxoþùÏ¡W…R^^'Á¸Btµº3fó !„èlééé:§}æ™Æ^ÍuëòÚHÙqbc‹¹ÿþ}ÇæÎõ䎛÷o2nœ <h\ÐláÂXNž,ÆÖÖ„'ŸôäÁÝšÓ¶u~Ò¤=ÕðÅA,]ÏñãE¨Tj|}»0o^û÷)ON¾Ä×_gðçŸÉÉ©ÂÔÔÞ½-ˆˆp#<¼Ws S^^Ï®]ÙìÜ™EFFyyUЧwÝÕ•Çë«ÓV\M~ú)‹çŸ?¢qláBüüìµÚuÊ”¬Y3”’’ZÞ?…¨¨rs«°¶6ÁÛÛ†'žðhužòÂ…'ؼ9“o¾£õr#**WcŸòËËÈÈ(gÕª“>\@}½š~ý¬yæ/>ý4C‡ ïÅòåmÏSïhuu ìÙs;²HJ*!;»##C¼¼l˜8±;?Üçª Ú=úèAbb ZZßРæÄ‰"¢¢r9rä"¹¹UÖ`f¦ O+î¼³+>ÚGc[´Ž~F||¶SU¥¹`Ý+¯ lÞ>ðÊs`iiL×®J†u "¢ضYΨQ»°³3eÇŽvÕOˆÛ>¾o…þ9;;ciyÍ‹œ~'A¹BÜ¢nö \_š‚òƒïÖwUn ß–M›Îðããô]•Nµzu"ݺ™óÀnm'žxâ0ûö] 5uj'×ìÖ0|øNºw7çûïƒõ]!nj·Ó÷­øŸë ÊeøºBqûæ›L«»Ý¸¸(Q«áâÅ}WEïêëÕ””Ô6¯Ü/„¢cIP.„BÜFþóŸ³Ì™Ce¥Š¯¿ÎàÒ¥Zî½·»¾«ÕéFŽtÄǧíaÚMÆŒiìíúè£Ó7|Eô›IYY7¦R_¯fìX—¶/BÑn²%šBˆ¿„ RY±âdóÏ}ûnmžÃÞ’+çµ·äÙgûóì³^VÇ›¡lhœ+îç·kÞ}7@§-ÔnuíÝû{ÂW^zi?üpޝ¾:ÃðáŽZÛ«u&}?#иoûöíçéÖÍœ§ŸöâoëÙöEB!ÚMæ” !Ä-Jæ” !„7ù¾½=Éœr!„B!„â%A¹B!„B¡'” !„B!„z"A¹B!„B¡'” !„B!„z"A¹B!„B¡'” !„B!„z"A¹B!„B¡'Fú®€Bˆ¿¦¨¨\æÌ‰iþ91q2¦¦ =Ö¨s©Õpüx!Û·ŸçàÁ²³+±²2ÆÍÍ’pcòäè»–BÜx6¤²bÅIœÍ8xðîv]¿oß–.Màüù RRÂ:£ŠB¡WÒS.„¢SL˜àJZÚTBC]õ]•âÌ™2¦MÛOffë×;‘~¦kW%óæeÅŠ}W±Ý*+UŒ¿›'ž8¬ïªˆ[ØÌ™¤¥M¥›v]wî\³f&22‰‹«;©vB¡” !„¸©øølgÚ´ý×|^Ÿ þõ¯¼¼l05UУ‡9«Vùckk—_ž¡¶¶AßUlµZMCCãâ¯çfþ]X»6‰!CìØ¶m2¸Sñ×%ÿ !„ÀÝݪ𵯯†¸º*IN¾DM “[ç}¸……{÷Þ©ïjˆÛÔòåC03ûëNyBˆ&·Î_B!Ä-¨´´ŽÌÌr¼½m°²2Öwu„¸eH@.„¸]HO¹Bˆ¢  šU«9p …Â??;-ò¥gO @s1¨cÇ éÛw+Ð8$<%%¬]çÍøàƒá¬^H\\ 0hP^|ÑûvÕ»¶¶÷ßOaçÎlrr*15UàïoÏ´i½ vF¡hyõ¶òòzRR.™„££‘‘CÛUî• åíÞÊÚµÉ>\@II-GŽÜK—.&Õ°~} ¿ý–K^^VVÆ8ðÌ3^ZóxÓÓËX½:‘˜˜êëÕôëgÍÓO{òÙgé:T@xx/BB\¯ºP_II-ï½wŠ_Í%7· ss#¶cÖ,†wlñöí»ãªÏ@[<=D¥Òm(½ƒƒ)11÷è”V—ö{ï½Ö®MÀßߞ͛ǰ?~[[޽W§2/o¿ ª±³3ÁÝÝŠ)Szpï½Ý›R]êÖÞvnëwI×gÏÚÚ˜ŸÎæ?ÿ9KJÊ%ÊÊêéÕË‚ˆˆÞ<òH eeC!„Ð…Z­–‰bBq JOO×9í3Ï8°n]^gU§UO>ï¿æêÊìÙýðò²!6¶ˆ9sbèÓÇŠ-[‚5ÒûølÇÛÛ¶9è¹R[ç'MÚCff9^^6,Xàƒ—— ii¥¼úê ÒÓËøüóQ:è\ÿ ޳kWëÖ2t¨=ååõlØÊ† ©|õÕh† ÓÎëònØ0^}žžÖ:—y¹¦ö tà¹çúãëkËéÓeDDDsuu „‡GSS£bÅŠ!:’]ÁoÄW̦MAøùÙpölS§îE©T°r¥?C†Ø“]ÁÒ¥ $'_¢¼¼Ž¤¤)-–yP^PPMxx4ÕÕ*Þ~ÛÀ@G ª‰ŒLd÷î–-BDD/­<.Ž/döìúõ³Özn¤üüjÛZþÂÂö’•U©SPÞÔ~55 ,[6˜aéªR±ys&k×&±p¡3fômwÝÚÛÎmý.µõì8QȬY1ÌŸ?€éÓ{ÓÐ;vœgéÒ¼/¯¼2P#¿I“öPTTÓîÕ×FÚÅÅ‹5²úº¸ééóûVè³³3–––×zùw2|]!Ä Ñ ??;”J#F8âJ||1Åŵ^VU•ŠÅ‹7—çãÓ…5k†RW×À’%ñíÊëС<<¬ rÂÌLƒƒ)¯¼27·Ö¿|ŸzÊ“ää)üòK(îîVLž¼‡õëO]×=ÍžÝaÃP*4¨ ))atébBdd"ÙÙ•,XàCp° ææ <<¬y÷ÝÔj5o½לGdd"¥¥u,ZäKPSsÚµk‡RU¥Ò¹.‘‘IdeUòÚk¾„„¸bii„››%k×àèhÆâÅq\¼X£uÝåÏÀ¨QN;wÚ3 «ö´_Ç•ÙØ~‹5¶Ÿ……¦<õ”'cÆ8_wÝ:º[{ö ñ¥Ó“OöÃÆÆ„.]Lxäw&MêÎgŸ¥Q^^Må !ÄíF‚r!„7„¯¯ÆÏÎÎfäåUuxYJ¥Bkض§§5NNf$'_"?_÷í•ÆŽuáøñ".ÉŒ}¯«nÝέ={!!®|õÕh­ãýûÛP_¯&5µôªù^­„âv"sÊ…BÜVVš_9MóM;c•µuË ªÙÛ›’Ÿ_Maa NNf:åõ曃ðó³cË–³<üðï jÇôénÜqGWò qa÷îöî½À¨QNºÝÄ”JíE¯jk(+«`ðà­^›™YŽ)õ˜š*07×ÎËÆF·EèšÊ45U´¸M•ƒCc»h¿ø¸ò01i¬‡®Ï@GÏ)oOû¹¸(u«äõëgMZÚÔVËl­ý:¢n×ÛÎWjéÙ(+«cãÆ4vïÎáÂ…*JKë4η5ú¢µ6BˆÛåB!n*m¬ ÕÖy€’’:Ôjí´……CªííMÛUŸ°°„…õ ¾^MLL6¤2wî,XàÃã÷m3¦mКÉê(&&†X[SQQORÒ”VkbaaDEE=••*­À¼©mt)ÓÊʘ²²:**êµË‹ƒqGGÝ^z´GGÏ'noûAãˤº:íýæ¯ H¯VæÕÚïzêÖ^ºü.]ͬY19r‘E‹|™4©;]º˜b`Ÿ~šÆ²e ȲEB¡¾.„⦢Ti=&Dñí·™:Ÿ¨©Q_¤q,%¥”üüjú÷·Ñ¹—ÀÏï'ÒÓË022 (ȉ?ŽìÝ{¡9Ýòå Ì›w´Å<¢£‡rûú¶< øzÜyg7T*5ÇŽjûè£ÓŒýssïrÓpé¦aìM ªÉÈ(׹̦—ß?4öî:T€™™‚Ñ£µ‡fߌÚÓ~NNfZCÆ ªÉɩԹ̦öÛ·ï‚Ö¹I“ö°lYÂ5Õ­½tù]jMS½ÍxôQwììL›ƒüší—B!Z'A¹Bˆ›Ê€¶dd”“›[ʼnEœ;WA@€½Î第ŒY³&‰'ЍªR‘P̼yG166dÑ"ßv×iÑ¢XNºDmm……5üûß§Q«aÄGtÛ·ŸgݺSdeUP[Û@VV«V%²mÛy´%"¢÷5µÉÕÌŸïMÏž¼üò1¢£ó(+«£¤¤–o¾É`ýú^}Õ§¹—uþüØÚš°dI¿ÿžOe¥ŠÓ§KyùåãíêÙž?ß›îÝÍYº4ž={r©¨¨'#£œ^8BAA5‹ùâà ûh}jOû9‘Ÿ_Í—_ž¡²RŹs,Yß®ÑMí·lY{÷^ ¢¢ž ªxã8 ª™1ÃýšêÖ^ºü.µF¡0`Ø0 ªùøãTŠ‹k©®VSÀ×_g\s„âv$[¢ !Ä-êfß-6¶˜ûïß§qlî\O^|Ñ»y_ä&ãÆ¹ðñÇ#8s¦Œ… c9y²[[ž|Ò“tkNÛÖù¦m—¾ø"ˆ¥Kã9~¼•J¯oæÍkÿ>åÉÉ—øúë þüó"99U˜šÒ»·n„‡÷jî,/¯g×®lvîÌ"#£‚¼¼*Œ èÓÇŠ»îêÊcõmÞ{úZÛhqÎÐý# IDATnII-￟BTT¹¹UX[›àímÃOxhÍaÏÈ(gÕª“>\€Jýû[ó äw’ˆ/!!a ½÷5À”)=X³fhs™ï½×Xæ… U(•F Ü…Y³ú5¿¬¸ÖgàFkOû••Õ±|yûöåQZZÇÀ¶,\èâE±œÛŸgŸíø@U_e;:šñÅAlÚt†éÓ—W…1£F9±víPzô0ïÐò„BÑ6 Ê…Bü%ÌœéÁÌ™:§oiÁ´EŸeéÈÈ‘2L]!„¸YÈðu!„B!„BO$(B!„B!ôD‚r!„B!„BO$(B!„B!ôD‚r!„B!„BO$(B!„B!ôD‚r!„B!„BO$(B!„B!ôÄHßBñו˜91Í?'&NÆÔT¡Çu.µŽ/dûöó>]šV©ÔlÞœÉÖ­çHM-¥ªJ…½½)ýûÛì¸qÎtïnÑœþÒ¥Zþïÿ²Ù¹3›ääKTW«pq1cÐ ;žxƒþým´Êœ6m?ÇŽ¶XŸÇsçµ×|µŽ×׫ùòË3üøã922Ê033bà@[z¨ãƹȿ±â–%=åB!:Å„ ®¤¥M%4ÔUßU¹!Μ)cÚ´ýdfV°~} ±±ùá‡`ºvU2oÞQV¬HÐwÅmnæLÒÒ¦¶ é[e¥Šñãwóću¾ævû7ær߀¸¸bÒÒÊZL“0™;B ml«–þ³²2Öºvþü£¼ùf&¸òóÏ¡ÄÇOâÛoÇàímÃâÅq„…íÓH¿bÅIÞz+ŽÐPW~þy¾˜;²ïŬYýpqQbjª gO æÍÀ¸µx]xx/{ÌGG3”J#X»6•JÍÊ•'[¼fëÖà_´ÔK¾bÅINºÄgŸ" À33]»š³zõPLL$¤·6y‚…BˆàînEJJ66&Ç quUR[Û@MnCI…¸ÝXX±wïlÜ8RßU¹éýþ{>FF†,[æÀ?žC¥Ò~™¡«'&j ]oêqîÓǪÅô÷ÞÛ]ëØòåCXºÔOëxÿþ6˜™)8w®õµW‘‹køöÛ ¦L鉃ƒ©Æ9¥RARÒúõ³¾ö„Ð3 Ê…BˆNTZZGff9ÞÞ6-Bˆöøî»³Üw_/||ºàåeÃÅ‹5ìÛ—×î|¦MÛÏ?h÷²;8˜ðûï-çèÀÑ£÷êTFU•ŠêjýúY_×|ïß~ËE¥Rãïowí™q“…Þ„BÜÕ¬Z•Èù(øùÙ±h‘/={6.tù"TÇŽÒ·ïV qHxJJX»Î;;›ñÁÃY½:‘¸¸"`Р.¼ø¢7þþöíªwmm￟ÂÎÙääTbjªÀßßžiÓzìŒBÑò_šååõ¤¤\"22 GG3"#‡¶»Ít-»=u,*ªaýú~û-—¼¼*¬¬Œ pà™g¼®i®qII-ï½wŠ_ÍåÂ…jììLpw·bÊ”Ü{ow6nLcíÚ$üýíÙ¼y û÷çñøã‡°µ5Ñø#_—ûiëyh©~¹¹U˜›1x°³fy0|¸# ½`Xtô¬\y’}û.`b¢`ìXg^Ý—²²:/N && cÆsfáB_,,4ÿœÒ¥¯,s÷îPÖ®MæðáJJj8rä^ºtÑyÑ•JÍÏ?góŸÿœ%%åeeõôêeADDoy¤††ºECéée¬^HLLõõjúõ³æé§=ùì³t*‡(/_>äšÛ¶¥û|ûí!,Xp¼9MÓ‚mº~ÆMÚú7¦£?çÖxzþ¨sϵƒƒ)11÷è”Û|Ïž ¼üò@'Ë–%ðÝw™Œï¢s>Wà€££äóøã‡˜=»ö:?G—Û¹3 €¹s=[<ÿãçY°à™™(àåeÓ¼0æåK°±1áí·ع3›‹«qrRêʳÏzakÛöïŠ7+µúz“!„ЗôôtÓ>óŒ3ëÖµ¿7åz=ùd ¿þšKh¨+³g÷ÃËË†ØØ"æÌ‰¡O+¶l ÖHïã³ooÛæàíJmŸ4i™™åxyÙ°`^^6¤¥•òê«'HO/ãóÏGè sý,8ή]9¬[ÈСö”—׳aC*6¤òÕW£6L;¯÷ÞKiD‡ sàõ×áéÙþ¡•º–­kºüüjÂã©©Q±bÅÉήà7∋+fÓ¦ üütï‰*(hʯeË3l˜#UU*6oÎdíÚ$.ôaÆŒ¾@ëŸ[XØ^²²*5‚òö´ùÕž‡¦úUW«xûm?)(¨&22‘Ý»sX¶l½šÓ7=«wÞÙ•9st-[×t‘‘‰dgW²`ÁÁ.˜›+ðð°æÝwP«Õ¼õV\»ê™DVV%‹ù⊅…¦<õ”'cÆ8·û~Û{?ºÖïµ×ëgii„››%k×àèhÆâÅq\¼X£u]xx/´E©TÖk¢£óøûß·v27W0}ºÝ»›E™×ÖÆ³g÷cØ0”J# êBJJ˜Ny“aÃxòÉ~ØØ˜Ð¥‹ <âΤIÝùì³4ÊËëuh«DJKëX´È—  §æz¯];´Åmµ®µm¯÷>¯¦½ÿÆ\Ïç¬/ß–ûïÿ_Ý¥‹ !!®¨Tj~üñ|«×µ´úúÕF jÏo¿ÝÁêÕþ„†ºR]­bÛ¶ó¼ðÂFþ…Ÿ~ʺj=KJj™1ã Æ9²d‰ö\s€Í›Ç9”?ƒ>}¬ˆŒÊ Av|ñE:qqÅÍi›Öã055dÕ*zô0ÇÚÚ˜©S{2gŽ'ålܘvÕ: q3“ \!Ä áë«ÙëìÜ8o1/¯ªÃËR*ZC±==­qr2#9ùùùÕ:ç5v¬ DZpá bc‹›‡¥FEMh±—¼‰±±!îîV,^<˜ñã]yçdlßöº–­kº¨¨\  ÑÜBÊÑÑ kNž,áÂÝ?Ý»sþ?{wU¹ÿü3 0ìûf®¨ˆ €(à†‰kešx÷ʺŠK©)tU”2ÓÄ-3÷Äü•[–ázµDQ4•\W7VYdg`˜ß\&Ç™aÐÏûõêõjžóœó|ÏadøÎ³ý¯}ÅüÇ{ÉzÉUUÓg^U|ýúÉëÕÖÖ@¯^–(*’àÜ9ÅÞ¬ç½þy¯vî,ÿž²±ÑUxÿÖô»¸˜*”)«ÿfؽ»B¹ƒƒ1JK¥JmuölùsxóMùgef&BÛ¶Š_†ÔôÙÖæ>«£êï˜ÚüœÕáîÝgHLÌÃ[oÉ¿·*’ôº^…][[#F´Â–-=píÚPìÜ鉡C[ ;[ ?¿+¸}ûY¥çJ0iÒyØÙáÛoݪœâS•·ß~@ù<ò zzå=ó½{[)\¯ÿò÷à¹sã‹¢šàœr""j††ò9óëc•‘QåCÍÍEHK+BFF1¬¬t”ºÖâÅ.pu5CHȼÿþ_773Œg‹ÁƒßPêýûÛàĉ$œ>‚Þ½­”» ÚV¦žX\†ÜÜ@—.Gªl31166ºÕÆVq=‘H¨ô\[eÕÅ3¯.¾ŠÅ¬ÒÓ¿ 10¯/”Ïc~qÈ®††@n ¯Úÿ0::S®,&&iiEpp0Vº—\]">> ©)€§§¶lé8}:EVoùòðó»Ré5ÂÃˇñ:;«6tWÙ¶•­÷Ö[Í!‘Hqõj†B[[·ÞCŸ>¨´ßqE¯õ™3) dž òe7d¯­¬t†m§§!)© Æ÷ ¼üýPß‹çˆÅe¸p!::BôéSó¹ï•©ëg\ж,-uðá‡í`f&’%±ÅÅŠ_‚T¥b BÅ0ö ééEHHÈS¨ßÏV™ó¯ºS§’af&ª4!ÊçÇÀ‘#QTôò‘/òö>-7G\*-Ot##³*­ãFyù‹½äß÷î=ÃÖ­=e_DVå×_`øðÓ åR)pìØÀ€ÿ Ó÷ò²µµΞM•Í/¯Vþ4H¹Q4D“r""jT:u2ABB’“ qýz&>̇»»¹ÒÇÀÐP kÖÜÆõë™(,”àÆ,øù]––U_A900wï>ƒX\†ŒŒbüðÃ=H¥@Ïž–rõ~„õëïâñã|ˆÅexü8+WÞ¡Cй³ FnSom+SÏßß­ZécÞ¼«OEnn ²³ÅØ»76Ä`Á'•zwýýÑ¢…–-»Ó§SŸ_Š””B|ùeÒÓ‹ðÑGídu==­–V„;@‚‡óñõ×ÑUŽZPö¾_ö~¨ˆoéÒh„…%#?¿ y˜3ç2ÒÓ‹è\ç½kuýŒ«# н»ÒÓ‹°m[,²²Ä(*’ ""{ö$¨w'˜˜hã믣ð×_i((à޽̛w­Òï†|¶Êü›ÕýþûC¹Þ^Ô¡ƒ\\Ì›[‚?ÿLª“6gÎü‡?BZZ‘ì÷Ypp,Ö¯¿‹ÎM0bD«çâ{€ï¿¿ƒ¨¨,8;Fûöäþ{ø0_áú·neãË/#ñàA>Š‹%¸?þþWpóf6>ø ÜúÚÚX¾¼+²²Ä˜=û2ó“S‚ƒa󿏏˜âÃÛ)´AÔTpK4"¢&ª±o‰™…Q£Îȕ͘a¹seû Wè×ÏÛ¶õÜ¿Ÿ‹… #qófLL´1mš=&L°•Õ­îxÅvO?ÿ쉥K£qíZ&$)œMáç§ú>åwî<Þ= ¸té)’’ !i M}Œm ŸÖ²^ɼ¼R?þÇŽ=FBB>RS ¡¥%@Û¶†xûí70iR{èè¨6ŸVÙ¶•­”¡ß´)¡¡IHN.„‘‘61eŠJóÝŸ¿ÞÆå×KI)„™™øì3´ióÏa¹¹%X¾üΜIENN :w6ÁÂ…N ŒÄÍ›å{OÚŸÞI¥û©îýðb|ººšèÒž¾d ~UïÕAƒšaÄùrG¸¹Y`ìØ³rå³f9`Ö¬ŽJ?ãÊÚ€¸¸*= |[¬o¿½3gRž^môíkKKlÙèÜÙC‡¶íûýü}ÎëHHÈÃÊ•7qñb:$ÀÁÁŸÞß}wÑÑÙ¸qc˜Ü¹5}¶/Þç‹û‡Àðá-±f€ªƪþŽù䓎uúsn))…ðôüCöÚÅÅ¿ÿî%Wçñã|xy+³°!?¿´Úõ*|÷;†m(+“âúõL„†&ãòå§HN.DFF1ttÊWHë­7ðá‡måæÞO™rQaÔÄ‹öï÷’ _‹Ë–‚ÇáîÝgHI)„H$„££1ÆŽµÅ°a-*½Æõë™øþû;ˆŒÌBQ‘­ZéãÝw›Ã×·ƒÊ¿_ëËÌ™Öxòd‚ƒ]afV»©ÔtÔvK4&åDDMTcOÊÕ¥²=˜‰¨æ>‰¢" Ξ}KÝ¡5z3fáÜ97ˆD9˜7oFAS[TÆ}ʉˆˆˆ¨VÒӋЭÛQZ*ßWóøq><ÈS˜6@D• uѧÏeŒ3‹-ÂØ±cqïÞ=u‡E“r""""³gb,ZtÉÉ…(,,ETT&fϾCC-|úià Ù&jê„B=|þùç8pàJJJðÞ{ïaõêÕ‹UÛƒ^܈ˆ^ ÁÁ±róeÛ·? 7_öE/Î9­L}ÍUgÛÊhìñ½.òç`i©ƒŸöÄ®]÷1nÜ9¤¦ÂØX ½{[aíZ7´l©Wë6ˆ^7ŽŽŽØ¿?öìÙƒU«VáìÙ³øî»ïжm[u‡F ç”5QœSNDDÔ¸TõyûðáC|öÙgˆÅÒ¥K1|øpu„Gõ„sʉˆˆˆˆˆ±V­Zá×_ÅøñãáïïåË—C"QmOyzu1)'"""""ªgšššX°`Ö¬YƒÝ»wcÊ”)(((PwXÔ0)'"""""j ï½÷öî݋۷ocâĉÈÌÌTwH¤fLʉˆˆˆˆˆ““öíÛ‡¬¬,Œ;iiiê‰ÔˆI9Qkݺ5öíÛøàƒ‘‘¡æˆH]˜”©••vîÜ ±XŒI“&!//OÝ!‘0)'"""""RkkkìܹOŸ>ŬY³¸*ûkHSÝÑ«)44Ó§GÈ^ߺõD"¡#ª_R)píZ~„óçÓñäI µ`kk€ñãmñÞ{-!¨;JzÕÇ"(è&ÀÚZçÏ¿£æˆÔcÕª[hÞ\ãÇÛ*U_"‘bíÚ;8~ü1’“ Ñ£‡%~ü±—B}ûqàÀCÄÆæ °PssŒáåeƒ~ý¬Ñ¢…~ë;9Fa¡rÉ×^pr2UªnUמ?¿3&O¶ |÷ïçÊŽuëfŽ}ûÞT9&‰5êŒ\¹¡¡®_*{ýâgA¿~6ض­'æÍ»†Ã‡ÁÚZØà?ÿéôJFT§yóæØºu+&L˜€eË–á‹/¾PwHÔ€ØSNDDõbРfˆ‹›©;”qÿ~.ÆŒ9‹ÄÄ|lØàÈÈ¡øýw/¼ñ†.üü® (膺C¤WÐäÉvˆ‹cu‡Ò¤üöÛlÙƒ#Z!"bˆBBþþW°xq j†?þˆèèaøå—7áèhŒ%K¢àí}¦VõoÜxGŽô Xþû²²ÿ µT¾¿Ê®]‘À®]žpp0ÆÈ‘­ã}ûÞ¬QL]º˜".nFj 1¢•\B”œ?ÿ,,D Û¶õ¬XÑW®¼‹©SíðÓOñøñÇx•ïóUãììŒ+V`çÎ8~ü¸ºÃ¡Ĥœˆˆ'§Ã3æl«“P(À÷ß»£cGcˆDB´l©‡•+»ÁÄD;wÞ‡X\¦î_9ùý@õ+7·kÖÜÂ!§°}{,–-»oïÓX¾üâãs_zîß§>ú¨=ŒŒ“Þèè,9ò>>­áëÛ66º‰„hÕJ~~zäU­¯Nññ¹=ú,ú÷·ÁŠ]!Ö~Ïüùab¢âòeÅÅʾþ: “&µCóæzråúúš7κºš²ŸÉënÈ!?~<ðèÑ#u‡C „I9Qh×Î11Þ06Ö–+×ÒÒ@³fº‹ËP\Ìy‚Du¡¸XŸp<ø_}å‚>hGøûwŸ&a„s/=?+K ¡P}ýÊgrÆÆæÚ¶5¬ôø»ï¶¨U}U\¿>T¥¡ë/sõjÆ?‡iÓ:`ÎÇ:‹ÉÄDóæu|ñE$JK¥²cgϦ"..“'w¨òz††šÈÎ×8žWM@@Þxã @*•V5yLʉˆˆêQNN óàèh\£a¨D¤è¯¿Ò—‹Q£ZÃÝÝZZ‰„ðô´ÂÒ¥®Õž_VöòDÇÂBçí¤VzÜÃÃW®¼[ãúÊ3æ,~ÿýJç¼ÌŸ&aêÔ,_cÛÔè/‹iÔ¨ÖèÖͱ±9øñÇXå_ž|õU–,éMͪ{ä‚ò9ùTN$á›o¾Á¥K—°ÿ~u‡C € ½QƒHO/ÂÊ•·pî\„B\]ÍèŒV­Ê>z~Áª«W3оýåCÂcb¼U:nm­ƒÍ›{`Õª[ˆŠÊDYàâbйsÑ­›¹Jq‹ÅeØ´)ÇŽ=ARRD"!ºu3ǘ1màåe]åÐϼ¼RÄÄ<ÃêÕ·ai©ƒÕ«ÝT~fʶ­JŒ™™Åذ!§N%#5µ††Zpw·ÀÌ™k4/9;[ŒïâäÉd¤¤ÁÌLíÚbøð–x÷Ýؾ=k×ÞðÏbR@yïÙÇ_PÞËö|¢ÌýT÷~¨,¾ääBèéi¢K3øúÚ¡GKŠ Q…‡¿…+nâÌ™hk Ñ·¯5¾øÂ¹¹%X²ä""Ò ¯¯…~ý¬±p¡³Bo«2ÏøÅ6OœˆµkïàâÅtYáåËïÂÔT~ä…²z?¿+re/¾KKjãËÉ)A×®GåÎ3ÇŸ|b‰D {ûƒ²ò·ßnŽ <^‹½ýA¥. ""†T[¯¢÷0<<Ü^§•R×xww XZêàܹ4|üñLÚîîæÐШüß»ªõÚÎ÷±qã]lßÞ..fõÒ†@,YÒfõëïbèÐøõ×èÚÕõÒæ«ÌÅÅï¿ÿ>V­Z…wÞyê‰ê‘@Ê1DDMR|¼ò‹âÌœi X¿¾ò^œú4mZNžLÆÀÍ0ujtìhŒÈÈLLŸ¶m â%WßÉé0MdÉÛ‹ª;>lXóб£1œÐ±£1ââr°`ÁuÄÇçâ§Ÿz«ôb@À5?ž„õë=àæf޼¼RÇ"88»w÷A÷îŠ×Ú¸1F–ˆvïn/¾p½½‘ÒmªÚ¶²õÒÒŠàãŽâb ‚‚ºÂÃÃOžäãË/£•…]»<áêªüìéé×+òe]н»% %Ø·/k×ÞÆÂ…Nøè£ò„©ªŸ›·÷i<~\ —”«òÌ_ö~¨ˆ¯¨H‚o¾q…‡‡%ÒÓ‹°zõ-œ8‘„e˺bôèÖ²ÿŸ¹ IDATúïÕ·ÞzÓ§Û£];Cüùgüý¯ o_khii`öl´nm€C‡"00}Ô :Ë®¡ê3®hÓÃóg;ÀÙÙ÷îåbôèpDD Q:)6, ™™Å²Õ×%)V¬¸‰{÷r°n»lZ…*ñ}ôÑyœ?ŸŽ“'ɾ<«àãŽ÷ßo‹÷Þk©T|u-?¿ÇŸFbbŒµal¬…làç× ::Õ¯à=nÜ9ܼ™7†UYçÊ• Ì™sÉÉ…ss<=­àåeƒm ««Y«úpçÎ3 Ve +VtÅÈ‘­«<þ2×ÖÓ¢ @‚ÿ»=,pRú¼šÆtÁÁ±ps3ǃù8z´?ÌÍE/m³_¿?! ñÇ«¯±«ËÏÛœœôïßãÇÇܹsk}=ª?ÖÖÖµùâä7_'"¢1ztk¸ºšAWWˆž=-Ñ¿3DGg!+«îçJ°dIY{NN¦X³Æ %%eøúëh•®uáB:ìì áéi!,,D˜?¿3lm«þðýä{ܹ3þ9íÚâ½÷°aÃ]•ïCÙ¶•­·zõ-MØÚ`íZwXZê`É’(<}Z¬pžOktîl]]!¼½[ÂÎÎáá©ø÷¿íàà` ==!ƳE‹zO{¡Íš=ã©S; {w èêjÂÅÅ11Þ5î%ÏÉ)ÁäÉPV&Åöí½äÖ9P%¾ÿÛî׈•»þÕ«HJ*À!5Ÿ'][úúšØ·ïM|ðA;ÀÇùر#Ý»ÃÒ¥Ñxöìå¿W’’ `c£óÒ:nnæ8uj0V­ê†›¡¨H‚C‡aΜËèÓçO=ú¸VõŸWÙJ窎ꩊ 4±}{‚ƒc«?¡–1Íží€fÍtqåJ>ùľڄ¬­u‘šZÄ!ì/022´iÓ°cÇdffª;ªGLʉˆ¨A8;Ë÷ÀZ[—ÿAœšZXçméê †bÛÛÁÊJwîc—ºYÈëþý\Œy,Zä¬0½B•ø<=­`oo„Gr‹pmÛ‹>h÷Ò9 ÁÜ\„/¾pÆ¥KCàãÓ..fÐÐàÿþ/ãÇŸ«taÅìl1¶m‹Å“'˜0¡mµmhkk`ĈVز¥®]Š;=1th dg‹áçw·o?«Uý†Ð¶­vìè }}MÝÄ?ÆÕk{ººBÙh¤Ž•›3nœ-òòJ°víízù¢¶)›0attt°k×.u‡Bõˆsʉˆ¨AÊäT̵¬IT•mq”ÿŸ–V„ŒŒbXY½¼—¬ÂâÅ.pu5CHȼÿþ_773Œg‹ÁƒßPêýûÛàĉ$œ>‚Þ½­”» ÚV¦žX\†ÜÜ@—.Gªl31166ºÕÆVq=‘HXå Ö5Uϼºø*æJOWü‚ÆÀ@¾¾@P>WýÅáǹÃjóŒuu«r]œœRLŸþ7lltžŠC‡aøð†—×$¾I“ÚaÁ‚ëØµë>>ý´#òpñb:V¬èªt\õ1§üyB¡ff"ŒiŠ~ýl0räÄÄäà?’äîÿ?ÿ¹Š‡ÐÐÀ×·>ü°Êíôìi‰ž=-Ѽ¹¶n½‡ãÇÃѱòÄSÕú/ªjŠNM¸ºšýï‹²óøæ›P£/Íê2¦ç ÞÉÉ…X»ö6¶l¹‡>}¬°cGïzi«©ÑÕÕÅ„ °{÷nL:"Qõ#¨éaRNDDŠ šÎ·êŽ@vv ¤RźåC••Nù|{ÞÞ-áíÝ¥¥RDD¤#883fü€'…E¦*£­­ñ¿¸TëR¶meêikkÀÈH ùù¥¸}{x­÷&ÖÖÖ€¡¡rsKŸ_Zmb®¡!@I‰â>í99%5¾ïŠº5‰ïéÓòdÜÒR¹/g”Q×ÏXUB!ðóÏž04Ô‚Ï\‡­­œMkßðá­°fÍmìÜy¾¾°}{,þõ¯V [ÿ½Ìó ïÕ•C‡áСGøñÇ^råÍšébäÈVؼùž<);¶re7|ñ… ÎKÅgŸ]Ƴgb,[VùJíW¯f`ÆŒ¿ñ÷ß•AУ‡%¶n½‡œœÒÕW‡nÝ̱}{/|üñ,[vB¡@6ü_ÝÖ¬¹…Í›ïá›oºâwÞàN/?~<6oÞŒS§NaÈÚ-bH‡¯Q£¢««)—¼ Š_~ITú8P¾ Ot´üü»˜˜¤¥ÁÁÁXé^rpu=Šøø\€¦¦žžVز¥àôéY½åËo(¬v]!<¼|ˆtErT×m+[ï­·šC"‘âêÕ …¶¶n½‡>}þPiNgE¯õ™3) dž òe7d¯­¬t†m§§!)©àÅS•¾àåø^ƒX\†ŒŒbüðÃ=H¥@Ïž–rõ~„õëïâñã|ˆÅexü8+WÞ¡Cй³ FnSom+SÏßß­ZécÞ¼«OEnn ²³ÅØ»76Ä`Á'•zwýýÑ¢…–-»Ó§SŸ_Š””B|ùeÒÓ‹ðÑGÿôÂyzZ!-­;wÞGAæã믣«µ ì}¿ìýPßÒ¥Ñ KF~~)ò0gÎe¤§!0Ðu;´®ŸqMµh¡»#3³3fD@,.«q|'¶…ŽŽß~{ ½{[¡ukýÊšlpÙÙb|úé߸{÷JKËPT$Á±cO°ÿC¸»[`àÀfUžk` ‰¼<ÅQ/š9óo>üiiE²ÓÁÁ±X¿þ.:w6Áˆ­jU_<<,°m[èè±xqvïNPwHÈË+a2^ ooo„‡‡#77WÝ¡P=à–hDDMTcß-22 £F‘+›1Ãsç:Êö”®Ð¯Ÿ ¶më  |¡ª… #qófLL´1mš=&L°•Õ­îxÅÖP?ÿ쉥K£qíZ&$)œMáç§ú>åwî<Þ= ¸té)’’ !i M}Œm ŸÖ²áÓyy¥8~ü Ž{Œ„„|¤¦BKK€¶m ñöÛo`Ò¤öJmÕT“¶•­”'2›6Å 44 ÉÉ…02Ò†££1¦L±Si¾ûó×Û¸±üz))…03ÁÃß}æ€6mþY-=7·Ë—ßÀ™3©ÈÉ)AçÎ&X¸Ð ‘¸y3@ù äŸÞI¥û©îýðb|ººšèÒž¾d ~UïÕAƒšaÄùrG¸¹Y`ìØ³rå³f9`Ö¬ŽJ?ãÊÚ€¸¸*=ÿ£Gã³Ï.Ë•-\èWWs…ëÞkÖ¸Õè=°páuìÛ—ˆ½{ßTøLJJÊ–‚#GãöílõÔ°JK¥ÈÎ+µëÃë®G¸zõªJç`À€˜2eJ=EU· 1qâDüþûïX´h.]º„ƒBOO¾¾¾ˆ­òÜ ,,¬Òc“'OF\\ê+ôZaRNDDDDr~ýõ¦O@A{ö$àÙ31Þ}WùáÓ ­W/K89™(]ÿÍ7Ë{3·n½§ò®TwrsK°}{,JK¥èÛ×FÝá4z:uBll,ŠŠ·r¬ŠT*EYYÊÊw¿hŒ‚‚‚p÷î]üßÿýÜÝÝ¡££ƒ7Þx«V­‚¶vÕ»>¤¥¥aéÒ¥ðö®ûÝ·D#"¢WBpp,‚‚nÊ^·o@6‡½2/Îk¯Ìóó„ë’:ÛVFcïu¡îŸChh2\]ÀÎÎëÖ¹7øoªPu=„Aƒšá?ÿé„߈ݻï£GK…íÕ#u¿'êÒþs‡?BóæzøôÓŽø×¿Ô¿^cçèè‰D‚ØØX899)u޾¾>NŸ>]ϑէOŸâ—_~Áرcaaa!wLWW·oß®òÜ€€¼óÎ;pwwÇÁƒë;Ô:Ǥœˆˆ^ “'ÛÉ-bTUÔªKêl[=¾×…:£G·ÆèÑ­ÕÖ~Cðõí_ßêC%¯Ò¿Í•+»aåÊnê£IiÕª„B!=z¤tRÞ”œ:u ‰ݺ©ö¾øí·ß‹uëÖáäÉ“õ]ýbRNDDDDDÔÈ …BXZZ"99b±›6m±cÇ””‘H„nݺa̘1ðòò‚P(Dhh(¦OŸ.;ÿÖ­[‰Ê·tuu­r{5@€sçÎÁƦ|JAff&6lØ€S§N!55†††pwwÇÌ™3æhÛÛÛC"Qn DDDÈÅÆÆÆøæ›opìØ1<}úVVV8p fÍšùi*)))X¾|96nÜ}}Õ·k$&&bþüù5j/''“'OFYY¶oß®¶„`RNDDDDDÔ$èèè °°}ûöŵk×°páBDFFʆŒ‡††¢{÷îÕ^çúõë²^ò¨¨(|þùçpwwÇÒ¥Kåê…††BCCýû÷—+·´´„nÞ¼‰”””:¹·Šxz÷î ¡P(w¬¢ýsçÎ’’’„+V@WWõíôîß¿‘#GBCC‹-Rh¯¡qø:Q ©©‰ÒÒR,^¼®®® Áûï¿pssøqã0xð`¥¯—””„©S§¢Y³fØ´i´´´dÇÄb±lÞy—.]ª¼Fbb¢l¸{mæ”7oÞ`jjªP×ÜÜ‘‘ Cnn.Æ_éµ×®]‹µk×(_@®uë®ÌÉÉÁôéÓaccƒððp:tÇW*æú¤œˆˆˆˆˆ¨ ÈÏχ™™¼½½áííÒÒRDDD 883fÌ@@@>þøc¥®5eÊ”––bÛ¶m ‹¨ikkÃÈÈùùù¸}û¶R½Éµ™Sîææ†üQ6·üyÉxÅVi'NÄĉêU,Ü6gÎ|òÉ'•¶# ñóÏ?ÃÐÐ>>>€­­-œk{mqø:Q——¸ºº">>@yï¹§§'¶lÙ@ Ô¾ä‰³gÏF||<6nÜ(7ýÓO?Ehh(à­·Þ‚D"ÁÕ«W®±uëVôéÓGéžñêxyyÁÚÚgÏž•Í/¯4hP­ÛÑ×ׇµµ5ôôô°uëVèééaÚ´i•~ÐP˜”5yyy²­¿q÷î]ˆÅbdddà‡~€T*Uj%òeË–áÌ™3X¶lÙKç ûûû£U«V˜7oÂÃÑ››‹ììlìÝ»6lÀ‚ êl>¶¶¶6–/_ެ¬,Ìž=‰‰‰ÈÉÉÁÁƒ±yóf¸¸¸àÃ?¬“¶*´hÑ7nDff&f̘±X\§×W–@*•JÕÒ2ÕJÅ7äʘ9Ó°~}j}…£ 44Ó§?¿ÿè{‰Ô»JS‹  ›kkœ?ÿŽš#j¼îÜy†5knãêÕ H$eèÒÅ ³g; [7su‡FD¯™úþ¼ussÃìÙ³áææ†={öàÒ¥K²}ÊÛ´iƒÑ£GÃÇÇ@aŸr>|8>úè#x{{¿´Í›7Ëz¥³³³±iÓ&„††"99FFFpttÄ”)Sлwï:¿Çëׯãûï¿Gdd$ŠŠŠÐªU+¼ûî»ðõõ…ŽŽN¥çbïÞ½ å}úôÁŽ;pôèQ|öÙgrÇ.\WWWŒ5J®|øðáX³fJ1[[[ÃÀÀ@¥sžó“r"¢&ª±'å¦M‹ÀÉ“ÉLÊkhذ0df3)¯BTT&L8‡šaáB'hii`õê[Ø¿ÿ¶oïOO+u‡HD¯‘úü¼ÍÈÈ@÷îÝñÓO?ÕK2L5WÛ¤œÃ׉ˆ¨Qqr:Œ1cÎÖø8½>Êʤ˜?ÿŒŒ´°bEWXYéÀÔTK–tAëÖX°àÄâ2u‡IDT'âââvvvjŽ„ê“r"""j’._Î@llÞ~»9ttþ…! 0ths$'",,YÕ¸¸8ÁÊŠ#€^5Lʉˆˆ¨Iºx1àäd¢pÌÉÉôuž6hLDDõ%22êƒê÷)'"¢‘ž^„•+oáܹ4…¸ºš!0ЭZ•¯"ûüÂfW¯f }ûÊ{=cb¼U:nm­ƒÍ›{`Õª[ˆŠÊDYàâbйs•^ü+'§]»•+›3ÇŸ|b‰D {ûƒ²ò·ßnŽ <™™Åذ!§N%#5µ††Zpw·ÀÌ™áà` @q¼'bíÚ;¸x1ÙÙå+¿^¾ü.LMµeuâãs±|ùM\¹ò¥¥Ò*ï';[ŒïâäÉd$'BOO]º˜Á××=zXÊê‰ÅeØ´)ÇŽ=ARRD"!ºu3ǘ1màåe ¡P ««Ì=UÇÞþ $å–±±°!"bHµõâãs66º Ç*Êr•j“ˆ¨1“J¥8þ<>øàu‡Bõ€ ½5QMm¡·›aêÔèØÑ‘‘™˜>=mÛ"$ÄK®¾“Óa8:š`ß¾7+½^uLJ Cbb:v4F@€:v4F\\,¸Žøø\üôSoxxX(ÿÇ_À_¥áäÉA²/*øø„ãƒÚaذ€´´"øø„£¸X‚  ®ðð°Ä“'ùøòË(DEea×.O¸ºš)< ÌžíggÜ»—‹Ñ£Ã1¦¦Ú6,  S'Ì™ãÄÇW~?ééåíIðÍ7®ðð°DzzV¯¾…'’°lYWŒÝp Ç'aýz¸¹™#/¯ÁÁ±ŽÅîÝ}н»Eî©!Mštý•†ß÷‚‹‹©Ü±ò1`À têd‚C‡ú©%>"zýÔ×çí­[·0|øp9r„½åz#"¢&aôèÖpu5ƒ®®={Z¢ÿfˆŽÎBVVÝï ZX(Á’%]dí99™bÍ7”””á믣UºÖäÉv(+“bûöX¹ò«W3šZ„!CšËÊV¯¾…'O à//èé agg„uëÜ!•JñÕWQ•¶1ujtïn]]M¸¸˜"&Æ[®—<7·þþЭ›9ôôª¾ŸÕ«oãñã,ZäŒþý›ÁÀ@¶¶X»Ö––:X²$ OŸ.\H‡!<=­ £#„……óçw†­­ü5½'u«èsª©HDÔ„‡‡ÃÊÊ ;vTw(T˜”Qƒpv–ïMµ¶.ßk45µ°ÎÛÒÕ* «¶·7‚••îÜy†´´"¥¯Õ«—%òH6´¶m‹ÅGµ—æš ú÷o&w KKØÙáæÍl¤¤(Þ¼/‰„ u*»Ÿ'’ýúÙÈÕÕÖÖ@¯^–(*’àܹòÞ›¾}mpíZ&.¼ŽÈÈ,ÙÐòÐÐA²^òÚÜSC04Ô”*+,”ŒŒ´4&"¢º&•J‚·ß~~ÓøJâœr""j††ò9åXÔÇ$ªª1ssÒÒŠ‘Q ++¥¯÷ïÛÁÏï víºO?툄„<\¾œ5kÜduÄâ2äæ–ºt9Råµóæ@ëê¾|ÿv­J{|Ÿ¿mäæ–@$B__ñãÝ¢ü~ÓÓËøÅ‹]àêj†xÿý¿nnf7΃¿Që{zQ}Ì)o×Î*ýR ¢ÌÖÖP©6‰ˆ«óçÏ#11›6mRw(TO˜”Q£R]'€2ÙÙ%Jëfd”Ý67©ÓС-°zõ-ìÜy¾¾°}{,ÆŒi#—üjkkÀÈH ùù¥¸}{¸\zmU$Æ/zþ~´µ5`h¨…ÜÜäç—*$æOŸ–'ã––åɹ@x{·„·wK”–J‘ŽààX̘ñ7œðñÇíëôžbb¼k|nUzô°À† ÀÍ›Ù1¢•ܱ›7³={*¿~QcôË/¿ÀÝÝ:tPw(TO8|ˆˆ]]M”””É^Š_~ITú8K)W“ƒ´´"88«ÔK”¯ð>iR{ddcûö8=ú~ØN¡Þ[o5‡D"ÅÕ« Ƕn½‡>}þPº·øyܹóL®¬²û©èá>}:E®®X\† Ò¡£#DŸ>勹º•­^®©)€§§¶lé@þüúº§ºàáaöí qüøKdå‰G>F³fº Cù‰ˆš’ÄÄDœÜÝÍ•>”Ï5^³æ6®_ÏDa¡7ndÁÏï ´´4è\£¸ÆŽmCC-|ûí- ô†lNüóüýѪ•>æÍ»ŠððTäæ– ;[Œ½{°aC ,pªQo³®®_}U¾ÚùËîÇßß-ZèaéÒh„…%#?¿ y˜3ç2ÒÓ‹è ‹F FâîÝg‹Ë‘QŒ~¸©èÙÓRîšõqOuACC€  nxö¬óæ]Czz²³ÅX¼8 ‰‰yøæ›®‰^>5€ˆ¨1[½z5Z·n!CªŸÒCM·D#"j¢û–h‘‘Y5êŒ\ÙŒö˜;×Q¶Çx…~ýl°m[OÀýû¹X¸07ofÁÄDÓ¦ÙcÂ[YÝꎆÌÌbüü³'–.Ƶk™H¤pv6…ŸŸòû”WfÅŠ›Ø¶-GöGÇŽ•ïÏ-ƦM1 MBrr!ŒŒ´áèhŒ)Sìл·U•ÏââFÈþ¿²}×W®¼…èèò}׫ºŸò}ÊËÛOI)„®®&ºt1…¯o¹dûÎgس'—.=ERR!D" ´i£Ñ£máãÓZnè¿2÷¤N·o?Ú5·põjÊʤpq1ÃgŸ9ÔêgMDTuùy…Q£FaëÖ­èß¿­¯Gõ§¶[¢1)'"j¢{R®.Iùùóï¨;""zÍÔÕçmYYÆŽ ¡Pˆ½{÷ÖEhTj›”s¡7"""""¢FdÇŽ¸qãBBBÔ 5Î)'"""""j$âãã±víZÌš5 ê‡{ʉˆè•ðülhßþ€l{e^œ×^™Y³0kVÇ:‹‘ˆˆèeŠ‹‹1wî\tìØ¾¾¾ê‡“øôô IDATr""z%Lžl‡É“í”®ÿü¢jDDDê&•J€G!$$B!wx]pø:QÈÌÌÄòåË+=¶qãF=zëׯG›6m60R+&åDDDDDD `Þ¼yؾ};Ž9"W~äȬ[·_|ñz÷î­¦èH]˜”Õ³½{÷âÌ™3X¸p!ž|ˆââT¸ºîÂŽa`` î¨‰H_œì@DDMB||¼Òugδ¬_ŸZ_áTiÚ´œ<™Œ›aêÔèØÑ‘‘™˜>=mÛ"$ÄK®~m甆ÄÄåwî<Þ= ¸té)’’ !i M}Œm ŸÖJ •¯/åû”Ç 44 ))…ÐÕÕD—.¦ðõí û ¦Ï˜ˆˆê·D{=ÕvK4&åDDMTcOÊÕ¥")?þu‡BDD¯™×éó–þÁ}ʉˆˆˆˆˆˆš(&åDDDDDDDj¤œˆˆ^ ÁÁ±hßþîÜy†ÔÔ"´oß~{[Ýa½÷)'"¢WÂäÉv˜<ÙNÝa©„=åDDDDDDDj¤œˆˆˆˆˆˆHM˜”© “r"""""""5aRNDDDDDD¤&LʉˆˆˆˆˆˆÔ„I9‘š0)'"¢züw0ÚµGû ö轡·ºÃ©s¾û}Ñ>¨=6^Ø(Wþªß7Õ-&åDDT/&wŸŒ¸ùqp°vPw(uîÀÍ‹ «ôØ«|ßDDDT÷˜”© -/ KO.…wgou‡BDDD¯&åDDD*8€w:¾ƒ>¶}Ô ½˜”)é·¨ßû4 ú/Pw(DDDôŠÐTwDDôzˆÏˆÇò°å¸òø J%¥pyÃsßœ‹n-ºÉêˆ%blº° ÇîCÒ³$ˆ4EèÖ¢Æt¯¶^j«mÇ~¥=$e¥b²Ð·@ÄÌ¥ê¦ä¦`ùéåØ8b#ôµõ•:çy‡n‚ß?¹²‹Ÿ^„¥¥Ê×"""¢W“r""ªw%øòÄ—˜Óg¬ÿ4 Ž/ÀĽñÓØŸàÑÒ°øÄb¿{ë½×í¥òŠó|)S÷OÅîñ»Ñ½U÷jÛŠùOL½ÜÂc 0Ìaz¶îY£ó‡: Å­”[¸÷ôÖ _cã:Žˆˆˆš"_'"¢z—[œ ÿ¾þèÖ¢ô´ôàÔÌ k†­A‰¤_ŸüZVïBâØYØÁÓÖ:š:°Ð·Àü~óakf«Æè}Qû˜•ˆùýç×èüœ¢Lþm2ʤeØî³ 9É0)'"¢z'ÒÁ¥™‹\™½¥=¬ ¬p'õÒòÒ}Ûõŵ'×°ðøBD&Eʆ¡‡ú†*ÕK^’r’„ﮀ®–®Êçßϸ‘?„†@‹.Rj>½>8|ˆˆê‰Ž B¹¹ž9ÒòÒ‘Ÿ++,´®o¸"äfÞßû>À­…ƹŽÃàƒ•j«®ç”‡Å…!·8ãw¯ôøÚ³k±öìZÀ©©§ÐÚ´µìXNq¦‡L‡¡ Âï‡ãЭCÞi¸R±ÑëI9Õ»ÜâÜJË3 2æúæ@ïÎÞðîìÒ²RD<ˆ@ð¥`Ì™€øØýãjÛªë9å»NÄÄ®Ê+n›óæ|Òë“JÏjñó¸Ÿa(2„ÏÏ>8[3[87s®Ó‰ˆˆ¨éâðu""ªw%¸“zG®,&=iyip°v€•Àu­+â3âššð´õÄ–‘[ p:îtƒÇ][úZú°6°†ž–¶ŽÚ =-=Lû}šl¸>“r""ªwºZºø*ô+D%G¡°¤7’oÀ„Z(W7ð@ÜM» ±DŒŒ‚ üñ¤RiW=o,Z·ÀÆmDfA&f„Ì€X"VwHDDDÔ¤R©TÝA‘êâãã•®;s¦5`ýúÔú GAðßÁ:°6°Ææ‘›±òÌJD'E£LZçfÎðëë'·OùÔ;ع—^BRNù>åmLÛ`´Ëhø8ûT:/½¡þˆ½×÷*”÷±íƒcvàè£øìÐgrÇX׿®õó(¹òá†cͰ5õ/5u|Þ’úY[[ÃÀÀ ¦§ÿƤœˆ¨‰jìI9Ñ놟·¯§Ú&å¾NDDDDDD¤&LʉˆˆˆˆˆˆÔ„I9‘š0)'""""""R&åDDDDDDDj¤œˆˆˆˆˆˆHM˜”© “r"""""""5aRNDDDDDD¤&LʉˆˆˆˆˆˆÔ„I9‘š0)'""""""R&åDDÔ ŽÞ9ŠöAíÑ>¨=W9ª;œ&ëLü Ü:ö+íÕ Õ“r""jPC†"n~zµé¥p¬ ¤¶À”ýSÔYÓð0û!|÷ûbuøj<-xªîpˆˆˆ¨–˜”Q£!•JQ&-CYY™ºC‘qZã„1»Æ¨; ™µg×¢kó®8ôÑ!èké«;"""ª%Mu@DDTA_[§§VwÚò!Ë¡£©£î0ˆˆˆ¨Ž°§œˆˆ¨ aBNDDôjaO9Õ«øŒx¬:³ # )“ “u'ø{ù+Ô ½Šé!Óe¯oùß‚HS¤P~bÊ ¬=·\Dva6àòìË0Õ5EfA&6œß€Sq§š› C‘!Ü[ºc¦çL8X9ȵ—]˜6âdìI¤ä¦ÀL× í,Úax§áx×á]캺 A§ƒW_Eû ö¡†1ÿ‰©ö¾íWÚCR&QêYè[ bf„Ru‰ˆˆèÕ¤œˆˆê̓¬ðÙé]M]lðÞ€®-ºâQö#,[އYåêê0qóã0í÷i8{²ÊòE,Âì>³±òÝ•¸÷ôFï HËKƒÏN—#hHNkœàhíˆ}÷©tïÊ$îDDDD¾NDDõfuøjäå pP —¯—¯º‡t×’›—(§ §NmN4U1bdñ²(ª]”•¤*‰nÿ6êܺ³çv»Í¨vQÕ–'§'ËÃ䡸ð8§òÿEGh_ö>e[³Õ6 ­6§o–$Åv‰­ÒÎß'þÝí˜êФÐ Jm¥*,-”§|½|«|~•ßUuJÊ-^–jû²–X%I}—÷­ñÜ#ùGÔÚ·µ¬%VùxúÈÏ»á¶ãrà ’r@ƒð6{ËÏÛO…¥…:Wv®Jb^ù#mõÕWË-UXR¨ýAf“ù¢õ|d-±ª°´°ÖÄÜ$Sbârà Þ)4˜Êåá•ËØ+*:U§§ä3¦ûÙì6í:¶«Êg/¥½¤¡k†Êf?ÿäzt·Ñ’¤í™Û«Ôû÷±Z´e‘ãØâeQ™­Ìq<êåQzgÏ;õ;h¾HÊ &aX‚-z&ùýïðÿt®ìœ2~ÎÐÃÿ~¸Ú%í—ÔWl‚:vÐÜÿÎUê¡TYK¬:]tZoï~[«>[¥Çâs¾[?úIÚ¨×Ø@óe²Ûív£ƒ¸/33Óåº3g†J’V®<ÙPáÔèpþa-Ù¾DŸý\å¶ru 香ƒgêÕ¯_ÕÎ#;%IúLP\xœÓ~ä’4®ç8ÝÓï_7¾J»ó2ª”.:­5;×(ù`²²Îf©e‹–êÚC“c&kp§ÁUê®Þ¹ZÉéÉç÷)÷m­íêO7üI‚:9êÊ;¤ÄM‰Ú—½O–@M4MwEßUW¦n¶flÕ”÷¦TûÙ³7=«‰Q9"@%#¿oaœÐÐPùûû×õôwIÊ ‰j*I9Íß·ÍÓ¥&å,_À $儤ƒ”`’r BR€AHÊ0I9!)À $儤ƒ”`O£\ù2ó2µbÇ }ù_êTÑ)Ù*l’¤Ÿí~h·$iíkµxÛbIR¨¨>{ð3ÃâÅy_ûZw¬¿CÃÇk[Æ6IWÖ½iˆ9çÊ\o.*çÏ›w¾©˜1.Ã4G<)4¨cgŽiüºñÊÌËÔšß­Ñž‡öhïÃ{µ2~¥¥êçO]Æ[Û=Ùš±USÞ›â¨ÿ}Â÷òñôq{üÆ—mÍVkKku îªq=ÇéæÈ›µ~×z—Çî0Ùív»ÑAÜ—™™érÝ™3C%I+Wžl¨pj4íýiJ9˜RååSE§4`Å€*‰ÊØWÇ*¿0ßéW—s r4á *)/Ñâß.ÖÀuüÌq=ùɓڛµWë'­Wô5ÑUú1RS¯›ªkÛ\«oŽ£©ïMU·nÚøûŽº•Ô'Ä&hRô$UØ+ôájaÊBÝ?ð~Í>¯ÚñŒé>FÓMW׫ºê“Ÿ(á? Ší+/³—f­ŽAõÁ¾”ôI’îpŸG$Öy<-ï\ž­¤§G?­IÑ“åÕÝ›º^¿íjöÐÙêÓ®ÒN×Ä7&*mfšþ¼ýÏúøÇµ2~¥ú·ï¯‚’­ýr­Ö~±¶Ê¯x×ǽ¨×±ÓÇÔ³mO=4ô!E†F*óçL=öñcÊÌËÔëw¼®íÖzÝܙ빹šðÆ—ëÙ›žÕÀö•[˜«¥©Kµ9}³ݸH£&ÖÚgïe½Õ#´‡6ܽ¡Êgî̳ùÏwùº_¬O©úùãîxݽ'Õ]{wÆ__‰­D‹n\¤˜1**+Ò†½´üÓåJ‘¨ûÜçÒøÑ¼ù} ㄆ†Êßß¿®§¿ËòuÀeoiêR?s\óãækX×aòõòUDp„VŒ[!»Ý®§“Ÿ®ö¼‰Q}M´,^ î4XúÓ·YßêTÑ)§z1b4mÐ4µjÑJA– ÝÛï^í1V¯}õš J ªm{BŸ êÕ¶—,^Å÷ŠWDp„R¥êÿ È6‘òõòÕ¤èI k¦ÔC©õ2žÆ²5c«ì²kDÄ—ê×åúM4U1bdñ²(ª]”NÇíZ¶“$´þò#.XmL½Ûõv: 8ÿt¤WÛ^NåmÚ:õw)ãi,ÉéÉêݶ·Úø·©µn]¯_T»¨jËc»Æê›ãß(ñãDí9±Ç±ñäÐx§pY+µ•ÊZb•$õ]Þ·ÆzGò¨m@[§²Ÿ§ãÊà²ë—7·¬%VýíË¿isúfe[³u¶ø¬Ó9EeEÕöçïí¼LÍ$“ÌfY¼,Nå&§­š.e<jˆwʋʊ´óÈN͸~†KíÖõú]x*=5ê)E_­û6êž·ï‘$õë¯IÑ“4ºÛèjÏ©ë½øµÀ2™LUʯò½J99Ê+ÌSdh¤2æeT{¾;*瀧Oµï·ûK:¿¤º[¯nuêÓÝyV—ë^êæ;ãý5WîIMÿpäÎø[û¶¾h|ÐÐHÊ—5o³·Z¶h©Â’Býðèõ¾çñ”÷¦è«ÿûJI#“4¶ÇXY‚d2™ôêW¯jÑ–EN |}¨Ïñ4ÄK}vä3—kdÄH—ê×÷õ3™LŠï¯ø^ñ*¯(WÚÑ4­ýr­flœ¡ù#æëþ÷×eXµªLà.”w.O’t•ßUõÖ—·Ù[>²–XUXZX%¬\ÆâRk[&UMZ+ûpgž¹sÝkêSª~þÔu¼—rOÜÿÅâ»ÐÅÆuÁòuÀeoL÷1²ÙmÚulW•Ï^J{IC× •ÍîÚã_³Uœo3Ä?D¿ïÿ{µömíx2WR^rÉqפ¡ÆSR¦¨}`{u éVk݆¸~ÑË£•™wþG ==<5¤ó½xÛ‹2™LÚ–±­Nmºâ\Ù9í?¹ß©ì@îåä(24Ò¥¥üî¨|ú¼-ÓyL¥¶Rí<²S-<[hh硵¶cñ²¨ÌVæ8õò(½³çIîÍ3w®ûÅú¬iþÔe¼—zOÜe|Û3·W©;öïcµhË"—ÆuAR¸ì%Ä&¨C`Íýï\¥J•µÄªÓE§õöî·µê³Uz,î±:=q6{˜Ó!F¹¹zå‹Wtªè”ŠË‹•v4Moí~«Fr^CçRUØ+´5c«ËOÉêú%mJÒ9?ªÔVª¼syz9íeÙív ê8¨ÎmÖÆâeÑÓÉOkoÖ^•黬ï4çÃ9ò2{)idR½÷—› °VaZ˜²P[3¶ª°´P‡óë¡?¤ÜÂ\%Jr,뾘žm{êpþaeÍÒîã»õÓ©Ÿ4 ýGîÌ3W¯{M}^lþÔe¼—zOÜe|‹¶,Ò¶Œm*,-T¶5[On~R¹…¹Nï”_ìš@]°%4Q—û–hîÝ,IãzŽÓ²±Ët߆ûªü¨ÓȈ‘J9˜âT6ãúzø†‡%ßCxÍÎ5J>˜¬¬³YjÙ¢¥z„öÐä˜ÉÜi°$iω=¿n|µmTî)\ixøp½2þ|"ù—Oÿ¢í™Û•[«@K b»Ä*Ä?D/~þ¢¤ó?öÔ觪m{TÄ(Ýúú­Nå ± êß¾¿îX‡Sù¬!³4kÈ,—ÇÓØvÛ¥Û×ß^e ¬_ïO]©òº^Êõ“Tå}éý'÷ë­=oéËŸ¾Ô‰³ç÷ËîÔI£&jBŸ 2™L5Þgwï…¯—¯c\¡þ¡zá¶´dû}{â[UØ+Ô§]͉ãö>åÒÅçú;w¿£þaýûb'§'+Ûš-‹—åü¾Ý×Mqù åRâ¦DíËÞ§@K ¦ 𦻢ïr|îê=ô©$é†.78•·öm­.­»\ôܨvQÕ–oNß,IÞu¸S¹·Ù[×wº^ÅåÅÚqxG]C–$Y¼,Ž%㕺‡tWÿ6Úr¿r rêÔnMcJNO–‡ÉCqáqNå!þ!ŠŽÐ¾ì}ʶf×)ƺ^¯šb­}Úõq:nײ$é¤õ—'K—2whJx§Ð Jm¥*,-”§|½|«|ÞÊÒê¢ç[¼,Õ¶i-±ÊÇÓG~Þ~U>ö –t~Éö¥héÓ²Úò«|¯RNAŽò óÔÆ¿Ûí^lL’ÔwyßÏ=’DmÚºc %°Î׫ºXëK€O€Ó±·Ù[’d×ù7ê.uîД”„·Ù[~Þ~*,-Ô¹²sU’«¼Â¼:µà k‰U…¥…UÍÊeØ!þ!Ž2“‡ÊleUÚ:[|¶Æ~NŸ–Ýn—ÉdrŽùÜù˜¯ò»ÊíØkâmöVË-UXR¨ýAf“Ù¥ó\‰±.×Ë&™j¯t bîp¹bù: ÁÄv‰•ôËRäJ¹¹:œ¸NmŽî6Z’´-Óy/ìR[©vÙ©ž-4´óPGyÿ6U–~çäêÄÙ5öQR^¢o³¾u*;{@99Š ¬ÓSò‹Ó}Œlv›vÛUå³—Ò^ÒÐ5Ce³Ûꣻ×Ë/‹Ó?tŒzy”ÞÙóŽ[mÔ¦!æ—#’r@ƒI– @K žI~Fÿ;ü?+;§ôÜtÍýh®ÛOgmÆ&(¬U˜¦,ÔÖŒ­*,-ÔáüÃzèß)·0WI£’˲%iHç!Ê)ÈÑ»Þй²súéôOz&å]å[óÓîŸ-ût™vß­¢²"}—õæ|8G^f/%LªSܵ©C`Íýï\¥J•µÄªÓE§õöî·µê³Uz,î±*OÐ]ÑÝë办m{êpþaeÍÒîã»õÓ©Ÿ4 ý€z¹ޏ`îp9bK4h¢šÂ–h’t8ÿ°–l_¢Ï~.[…M‘m"õȰGô×Õ·Yßê»9ßI’öœØ£ñëÆW9?c^F•²Ê}·“Ó“•mÍ–ÅËr~ßíë¦hPÇANu­%V=·õ9mÏÜ®³ÅgÕ«m/%ŽHTÒ'IÚ—½OÒùý·öˆ¤óÛåækݤuZ˜²PßÿF¶ ›ú´ë£9±sÜÚ§ÜÝ1­Ù¹FÉ“•u6K-[´TК3Yƒ; vªënŒ®\/wb=”wH‰›µ/{Ÿ-š6hšîо«Ê~ä’4®ç8ÝÓïž*mϸ~†¾áaÇ^畆‡×+ã_‘äúÜ€Ë[¢5O—º%I94QM%)¯ÉèWF«¸¬XŸÎø´öʨ2áýìÁÏŒ¥FM!Ɔt¹Î¸¿oÑðاpÙÊ-ÈU¿¿öSyE¹Sù±3Çt4ÿh•§Ú@%æ ¹ )4¨3Ågôø¦Ç•u6KEeEÚ{b¯f0[-ôàà—1æ 9`K4@ƒ ñѺ;Öiý7ë5éÍI:YpR­Z´ÒàNƒµü–åjØÞèÖ~±V‹·-v‡/w¼÷\ ß…®Î¬!³4kÈ,ÃblÊšÒÜàRðN94QMýr®4|ß6O¼S@ER€AHÊ0I9!)À $儤ƒ”`’r®PSÞ›¢ðÅáZ½sµSùÚ/Ö*|q¸Â‡kðªÁE$’r@:WvN#^¡ÉïM6:I—_< éŸûþ©­[«ý옔1/C‘¡‘¸I9 ÁØívUØ+TQQat(’.¿xJNAަ,T|¯x£Cµð4:À•ËÏÛOÛ¦m3: ‡Ë-ž†2ÿãùºéÚ›4 ýýkß¿Œ\Oʸ‚¼»÷]üù ‹{ÌèP€ xRhÉéÉš¾qºãøû„ïåãéã8>]tZ«w®VÊÁeÍ’¯·¯ú^ÝWSb¦èºŽ×¹ÕW©­Tkv®ÑG?~¤gNÈÇÓGýÂúéö¾·kX—a2{˜/OôòhYK¬Õ¶m2™´cƵ h+IÊ?—¯UŸ­Ò–Œ-:i=©Ÿ h?@3‡ÌTd×ÞÑ»l6—êû+mfšKu³­ÙznÛsZ}ëjùyû¹tί}ðýšóá§²Ïü\!þ!n·\CRh£ºRƼ M{šR¦8}–[« oLPqy±ž½éY l?P¹…¹ZšºT÷¼sݸH£&ºÜ×S›ŸÒÇ?~¬•ñ+Õ¿}”hí—k5õ½©zóÎ7Ó!æ¢ñHÒ·s¾•¯—¯ãxÕg«ô×Õœæ8òœ‚Mxc‚JÊK´ø·‹5°Ã@?s\O~ò¤Æ¯¯õ“Ö+úšèZã=ðè—ÇæŽÇ>zLc#ÇjPÇAu:ÿÿEþ?}Ÿý½ÒN׊q+ÔªE«zŽ\ˆåë€F·4u©Ž9¦ÇG>®¸ð8ùûø«sëÎZ~Ër…ø…hAòý\ø³Ëíí<²SÁÒyˆZx¶P°_°æ Ÿ§Î­;×)¾~üH+þ·B·õ¾MÓMsŠûø™ãš7_ú“¯—¯"‚#´bÜ Ùív=ütú«önБSG4/n^Î?[|V¼û€*ìúÛ„¿‘ÐHHÊnsúfIÒð®ÃʽÍÞº¾Óõ*./ÖŽÃ;\n/¶k¬¾9þ?NÔž{KÓ§$+¦CL­çï~h·ã)ùÞ¬½zä?h@Ø-¼q¡S½äôdy˜<çT⢈àíËÞ§lk¶Ëq×—gOhñÖÅzþæçeñ²¸}þ¡¼CºmÝmò0yèñ‘Ëìan€(@uX¾hT¥¶RYK¬òñô©ö½ç`¿`Iç—¸»ê©QO)úêhmÜ·Q÷¼}$©XMŠž¤ÑÝF»ÜΉ³'4õ½©jÐNk~·F^f¯*qKRßå}klãHþÇr÷šÔ÷;å[3¶ÊZbÕoÞYíçË?]®åŸ.—$m™ºEƒ::>;[rVÓ7NWÛ€¶J=”ª¾ÿ@ãzŽs)6péHÊÊÛì­ŸYK¬*,-¬’˜W.[wçÇÅL&“â{Å+¾W¼Ê+Ê•v4Mk¿\«ghþˆùºÀýµ¶QXZ¨ÉïNVyE¹^™ðŠ-UânÙ¢¥ K õã?ÈlªûÓäú~§üîßÜ­»sw•òÊn{膇ôÇëÿXí¹f³ÖMZ§ŸMX7Aó?ž¯Î­;«O»>õ#¨Ë×®òéõ¶Lç=ÃKm¥Úyd§Zx¶ÐÐÎC]n/zy´2ó2%IžžÒyˆ^¼íE™L&m˨}_r[…M³?˜­Ì¼L­¾uµÓ»èþóA%§'K’Æt#›Ý¦]ÇvUi㥴—4tÍPÙì®=¿\øyù)Ô?T¾^¾ziüKòõòÕ´÷§)§ ÇèÐhHÊ.!6Aa­Â´0e¡¶flUai¡çÖCÿ~H¹…¹J•äXÆîª¤MIú1çG•ÚJ•w.O/§½,»ÝîÒ/‘/Ú²HÛ3·kÑM‹.úzBl‚:vÐÜÿÎUê¡TYK¬:]tZoï~[«>[¥Ç⻤'èF k¦Õ¿[­üsùš±q†Jm¥F‡ÀÏd·ÛíFp_ff¦ËugÎ •$­\y²¡Â©âÂ}Á%i\ÏqZ6v™¤_ö)ONOV¶5[/Ëù}ʯ›âö–^ûOî×[{ÞÒ—?}©gÏïSÞ)¨“&FMÔ„>d2™jŒç¾÷)þµø‹¶ÿÂï^Шn£q¯Ù¹FÉ“•u6K-[´TК3Yƒ; v+ôI’ÞÞýv•ò¡‡êÕÛ_ÕöÿGúàONŸ%ŽHTô5Ñ¿n¼Sù¯ïàâŒø¾…ñBCCåïï_×Óß%)€&êrOÊhnø¾mž.5)gù:!)À l‰¸l…/¯µÎ¬!³4kȬFˆ þ‘”.[ó2Œ A±|ƒ”`’r BR€AHÊ0I9!)À $儤ƒ”`’r.c½—õÖíëo¿âû ¹")À $åÄÓèW¦äôdMß8Ýq¼}úv-Ù¶D;ïÙìèk¢•42I;8êØì6múq“þ±÷:{@Ö«:uÔĨ‰º·ß½ò0yTÛvêôT=¿íymÏÜ.oOoÅv‰Õ£žµÄªÉ ”v4M~>~Þu¸G$ÊÏÛÏ)ÖüsùZõÙ*mÉØ¢“Ö“ ð Ѐö4sÈLE¶‰ti¼Ý—t—­ÂæRÝ`¿`¥ÍL»hµ_¬Õâm‹%I»ŽíRøâpI’Ùìp;öR[©Öì\£~üH'Μ§ú…õÓí}o×°.Ãdö0»Ü'¨?&»Ýn7:€û233]®;sf¨$iåÊ“ N¦½?M)S42b¤¦^7U×¶¹VßÿFSß›ªn!Ý´ñ÷u·flÕ”÷¦(!6A“¢'©Â^¡øP Sêþ÷kÞðyÕ¶=¦ûM4]]¯êªO|¢„ÿ$(¶K¬¼Ì^š=t¶:uÔû>PÒ'IºoÀ}J‘èh#§ GÞ˜ ’ò-þíb ì0PÇÏדŸ<©½Y{µ~ÒzE_Ýh×ëB½—õVÐÚp÷†*Ÿ¹ûüçëã?ÖÊø•êß¾¿ J ´ö˵ZûÅZ½y益éãRŸ€šù} ㄆ†Êßß¿®§¿Ëòu@£˜5QÑ×DËâeÑàNƒ5¬ë0}›õ­NrªÓ!FÓMS«­d Ò½ýîÕØcõÚW¯© ¤ Ú¶'ô™ ^m{ÉâeQ|¯xEG(õPªþ0ðŠl)_/_MŠž¤°VaJ=”êtîÒÔ¥:~æ¸æÇÍ×°®Ãäë嫈à­·Bv»]O'?Ý`×äR¹ûÎ#;¡!‡¨…g ûkÞðyêܺ³#$å€Fѧ]§ãv-ÛI’NZyš§7ï|³Ê¹‘m"U^Q®ƒ?¬¶íÞíz;‡œRÑ«m/§ò¶mú“Î/…÷0y(.<Ω<Ä?DÁÚ—½OÙÖì‹ Í0îÄÛ5VßÿF‰'jω=Ž¥öÉS’ž’€ÆÅ;å€Fààtìmö–$ÙõË[TÖ«þöåß´9}³²­Ù:[|Ö霢²¢jÛö÷v^2f’If³,^§r“‡*ìŽãR[©¬%VIRßå}kŒýHþµ h[ãçRý¿S^wcjÔSо:Z÷mÔ=oß#IêÖ_“¢'it·Ñ— ¨;’rÀecÊ{SôÕÿ}¥¤‘IÛc¬‚,A2™Lzõ«WµhË"§¾>x›½Õ²EK–ê‡GÙd®s[ õCh&™ª-w7v“ɤø^ñŠï¯òŠr¥MÓÚ/×jÆÆš?b¾îp­}€úÇòuÀeÁVaÓ®c»â¢ß÷ÿ½Zû¶–Ét>9,)/i°~Çt#›ý|ßz)í% ]3T6»kOÀ‚ÅË¢2[™ãxÔË£ôΞw$¹{ôòheæÿq@OO éßn·«Â^¡ŠŠŠzŒ 4EžF@sãçí§mÓ¶¸ ð¤ƒð¤Ð ’Ó“5}ãtÇñæÉ›µ|Çr}~ôs.:-IêÖO»ŽírÔéÖOîÞ IÚyd§î}ç^½<þeÅ…ÇI’¦,Ôk_¿æ¨`î™Mæc辤»l6—â ö VÚÌ´‹ÖYûÅZ-Þ¶X’´ëØ.…/—$™=Ì:ðè—ÆüìMÏjþÇóu¾Oø^>ž>UÎMžªç·=¯í™Ûåíé­Ø.±zbÔ²–Xµ yÒŽ¦ÉÏÇOûWâˆDùyû¹4Npy1Ùív»ÑAÜ—™™érÝ™3C%I+Wžl¨pj4íýiJ9˜¢íjöÐÙêÓ®ÒN×Ä7&*mfš>úñ#=ùÉ“úËØ¿è–ž·8Λûß¹zÿ»÷usäÍZ1n…£<9=Yo|ó†Öݱ®ÑÇR©÷²ÞêÚÃñªmÌA– GʤüÂsÇt£éƒ¦«ëU]õÉO”ðŸÅv‰•—ÙK³‡ÎVÇ Žú`ßJú$I÷ ¸O‰#kø€ù} ㄆ†Êßß¿®§¿Ëòu@£˜:hªb:ÄÈâeQT»(xô€‚,AºùÚ›åeöÒ¿¾ÿ—£nqy±R¦¨cPGm9¸E…¥…ŽÏþ¹ïŸºµ×­F Ám5ÙúLP¯¶½dñ²(¾W¼"‚#”z(UøE¶‰”¯—¯&EORX«0¥Jmà‘€†BRhQí¢ª-´jX×aúìÈgÊ-È•$¥LQÔÕQºû7w«¸¼XŸøD’tºè´¾øé é>¦Ñâ¾5Ù½Ûõv: 8ÿô¥WÛ^NåmÚꤕ'24U¼Sh/KŸÝÚëV%§'ëÃýêþ÷ë_ûþ¥[{ݪAiñ¶Åú÷ÿÖïzÿNÿÙÿ ._/_—ú¬ïwÊÝu±1ׯßÛyœI&™=ÌUÚô0y¨ÂÎÖj4U$åà ï:\–@ýó»*¾g¼öœØ£U·®R ÏÒiˆþwäÊ)ÈÑÆï6jNì—Û=ðè‰×$Sƒ´ š–¯ çeöÒÍ‘7kÎ~-K]¦‘#Õ³…$)¾W¼l6­Ø±B99ÔqÁÑž^f+szy”ÞÙóŽ€¦Š¤pYˆï/IÚ°wƒÓ¹ê6J~Þ~Ú°wƒÆõ'“ñ_]=ÛöÔáüÃÊ:›¥ÝÇwë§S?i@ûF‡š –¯@3`6Kee»äzω=¿n¼ã¸çÒž’¤ŒyÕÖ¾&Z‚:©ÔVªí:Ê[x¶ÐÝoÔûß½Ùüêúã#Wâ¦D~e´-zbôêzUW—Æ|á~ä=—öÔ¸žãtO¿{ªœ;ãú1J·¾þ˸Ç+!6AýÛ÷×ëïp*Ÿ5d–f ™Õ cÔÎf3ÉÛ›§áö)€&Ê}Ê“’Btô¨—Ö­;Ñ€мÝsÏÕêܹL ä û”jV¦C‡¼Œ€+Ú¡C^jß¾¬öŠÀ¯”@3ЫW‰²³=•Í[K4„ìlO<é©=JŒM I94ýûËb©Ð–-®íï ܳe‹Ÿ,– Plt(hbHÊ ðñ±k̘Býã-€+Ò† ºñÆB~è n#)€fâÞ{Ïè‡|´y³ŸÑ¡pEÙ¼ÙOû÷ûèž{Î š ’rh&úô)Ñ-·XõÜsW©¤¤q·GàJUZjÒ’%WiÜ8«úôá}r¸¤š‘¹só•—gÖš5AF‡Àaõê åä˜õè£ùF‡‚&Фš‘6mÊ5o^ž^x!H›6Õy?M iÓ&½ðBæÍËS›6åF‡ƒ&нq ™¹óγÊÈðÖ#´ÑÕW—±Ô€:øö[=òHÝ}÷ÝyçY£ÃAÆ“rh†VLL‘î½÷j¥¦²MîHMõÕ½÷^­˜˜"%&þlt8hâHÊ 2›¥^ÈÖ˜1…š2¥^½•ììàÀEÙíÒ믷Ҕ)í4fL¡^x![f³ÑQ¡©cù:4S^^v=ÿ|Ž:w.Õ¢EÁÚ´ÉOO<‘§ÈH–³p¡ýû}´`ÁUڵˢ‡ÎÓ´i§ Wž”@37mÚimÜxL6›Iññaš;·¾ûÎÇè°¸,|÷æÎm£øø0Ùl&mÜxŒ„õÊd·³`š¢ÌÌÌzmÏn—þýï½øb ôVXX¹®»®HÝ»—*(È&¾.W¾âb“N2+=Ý[ii;æ©nÝJ5uêiÝr‹U&“Ñâr*ÿ:ïjó.I94Qõ”ÿÚÞ½>ÚºÕO{ö´ÐÁƒÞ:sÆC%%ü¸òùøØÕªU…""JÕ·o±ââ Å«]¨Ù¥&å¼S¨"*ª„?@ï”`’r BR€AHÊ0I9!)À $儤ƒ”`O£Ô¿¿¿Ñ!4{žž—–V“”@jt¸D,_À $儤ƒ”`’r BR€AHÊ0I9!)À $儤ƒ”`’r BR€Aþ()ÝM‹grIEND®B`‚fio-3.39/examples/http-s3-storage-class.fio000066400000000000000000000013621476262051600206240ustar00rootroot00000000000000# Example test for the HTTP engine's S3 support against Amazon AWS. # Obviously, you have to adjust the S3 credentials; for this example, # they're passed in via the environment. # And here add storage class parameter, you can set normal test for # STANDARD and compression test for another storage class. # [global] ioengine=http name=test direct=1 filename=/larsmb-fio-test/object http_verbose=0 https=on http_mode=s3 http_s3_key=${S3_KEY} http_s3_keyid=${S3_ID} http_host=s3.eu-central-1.amazonaws.com http_s3_region=eu-central-1 http_s3_storage_class=${STORAGE_CLASS} group_reporting # With verify, this both writes and reads the object [create] rw=write bs=4k size=64k io_size=4k verify=sha256 [trim] stonewall rw=trim bs=4k size=64k io_size=4k fio-3.39/examples/http-s3-storage-class.png000066400000000000000000003615731476262051600206500ustar00rootroot00000000000000‰PNG  IHDRùC3³á‘bKGDÿÿÿ ½§“ IDATxœìÝy\Tåþð  0ì«" K‚¢€KnZ©Üë’Õí—åš-¦”¦ÑâJ.i©mj‹ÝJo‹©]K1M£ÜEDQPÙd߆e8¿?¸L Ì° Ÿ÷ëÅË9ç<Ïy¾ÏY¾œçœ£'‚"""""""êê¾Ó×vDDDDDDDÔ6˜äé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤#˜äé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤#˜äé¨mÛ¶AOOOåçûï¿×vXªººQQQxþùç1xð`ØÛÛC,ÃÎÎAAAøä“OPSS£í0IC{öìщc[&“!<< €™™ akk‹`êÔ©HKKÓvˆDDÔ1É'"ÒQ/¼ðA€©©©¶CÑš½{÷b„ ¨ªªÂþýûqãÆ ìÛ·‚ ::óçÏÇäÉ“Q[[«íPI?þx—?¶ÓÒÒ0hÐ lÚ´ W¯^ņ ™™‰+W®`ôèÑøá‡­í0‰ˆ¨ b’ODD¤§§«\%½téR‹Êt=zôÀ§Ÿ~ŠÞ½{ÃÌÌ “'OÆo¼¡\~øða9r¤]Úî*Ûˆ:Þ[o½¥LâŸzê),X°¶¶¶°µµÅÖ­[aee¥å‰ˆ¨«b’ODD:ë©§žBFFôõU¿îú÷ï¯2}ûöíŽ ‹ÇW~6l˜Ê2‘H„üüüF󉈈ÔÁ$ŸˆˆºÄÄD•i???-EBÝUAAò³µµµ#!""]Ã$Ÿˆ¨¹}û6ž~úi899ÁÐÐ}ûöÅk¯½†ŠŠ e™ððpôîÝ[¥žôôôàèè¨v™E‹5z8Ú'Ÿ|‚¡C‡ÂÄĦ¦¦ Ä_|¡Q²³³ñâ‹/ÂÓÓ&&&H$ðôôÄŒ3°gÏÈåò{Ö-,,Äwß}‡µk×ôõõñÎ;ïÀßß¿ÍÛWgÕ+**ÂÊ•+áïï ˆÅb888à‘GÁž={”å6nÜØh›îÙ³«V­B¿~ý```===œ={åå娹s'‚‚‚ЫW/ˆÅb˜››ÃÇÇ‹-Bzzz£¾ýõ×_ µµ5 áææ† 6ÀÓÓS¥MOOOeÌÌL,^¼^^^011±±1<<<Ž;w]ëåää`éÒ¥ðññ©©)ÌÌÌàíí™3gbÿþý¨ªªjvšö]“cª5Çð÷1KKK•ó¦M›Öh¿êééÁØØ¸Q}u""êÆ""Òi¦¦¦€Ð³gOáìÙ³BQQ‘0iÒ$åü%K–¨Ô¹}û¶ráâŋ֫N™¤¤$•2#FŒÒÓÓ…´´4aРAÊù¯½öšZ}Q(‚§§§@055Ž=*TTT999ÂêÕ«ÂG}ÔdÝuëÖ©Äâèè(|ñÅBmm­Zm·¤}u¶Ñµkׄ޽{ ©T*;vL(,,V­Z¥¬&TWW+ëܽO=<<„µk× ùùùÂÎ;™3g„ 6„-[¶ÅÅÅÂ;w„•+WªôÿÎ;ÊuFEE b±X XXX'Nœ „—_~Y¥›7oVÖIHHlll”ÇVrr²pãÆ ÁÅÅE ôéÓGHOOW{û&&& öööA___xÿý÷…ÜÜ\!//Oxûí·ÂŽ;šÜß}÷r¾&}×dŸ¶æøkè^±ïÛ·O9ßÈÈH¥NKŽ""êvþÃ$ŸˆHÇÝL¼õÖ[Êù»wïVÎwuuU©Ó^Iþ”˾þúkå|}}}áÊ•+ÍöåÊ•+Ê:}ûöjjjT–1â¾IVQQ‘pøðaÁÃÃC¹žQ£F 999ͶݒöÕÙF£FR.Ÿ5k–r¾B¡,--›L®ïÞ§AAA*ë³±±Q&ù£GnÔ^Ïž=•uwîÜ©œ_Ÿ¼ž{î9åüââbeòß0Ž€€åü—_~Y9Ù²eÊù3f̸ï6½Û°aÔõ¦L™Òh¹¿¿¿ÚI¾º}×dŸ¶öø»[K’ü–+DDÔíüÇDDÔm¸¹¹)?K¥Rå猌ŒißÕÕµÉϵµµ8rä<<<`llŒÊÊÊFõRRRУGH$TTT -- ÞÞÞ˜8q"Œ1cÆàÔ©S÷mßÜÜ&LÀ¾}ûàãã…B“'Oâµ×^ÃçŸíÚ~C™™™8yò¤rúîý£¯¯\¸p@Ý»á-ZÔh“&MR™®"ïéé‰ÒÒRøùùáúõë(--… M–½yó&®\¹¢ÒßzR©†¸gddàÌ™3Êé=z(?÷ìÙSùù§Ÿ~BEE$É}·mFFbcc•ó‡ Ò¨¯w·w?óçÏW»ïšìÓ¶Þÿšh‹c…ˆˆºÞ“ODÔ4u/€F P{111Q~–H$*Ërss›­/•JñÍ7ß(ïi¿zõ*¶lÙ‚§Ÿ~ÎÎÎÆÍ›7›]——\\\”Ó‡V+þ¶j¿^Ã÷ 7Ü&wﯬ¬¬&×áääÔäüÉ“'ãwÞA\\BBB““A0pà@e™úýÞðÞù†ÇISï£oûÒ¥K•÷’¿øâ‹Êù•••HMMm2Æ»Éd2•i33³fëÜ‹&}×dŸ¶õþ×D[+DDÔ=0É'"¢FôôôÚ¤LCåååÊÏw?ììììÔZGhh(nß¾˜˜¬[·!!!00¨˜vüøqÌ;WYvêÔ©X²dI“ë144T~...V»š´ßÜ6j˜ 7Ü&w?Äí^ÉüÝý¨wíÚ5ÄÄÄ(§×¬Y[[Û{ÆÑpYÃ8ÊÊÊÕ±··W™^µjAhòÇÛÛûžm×sppP™.))i¶NS4í; Ù>Õ¤lee%&Mš+++|úé§-êO½¶8Vˆˆ¨{`’ODD4¼ŠZ]] 3f æÍ›§v™†®_¿Þäg===L˜0@]²Ò0ILII¤§§C__999=z4–-[†`ûöíÊuÝ=ì~ùåÔÔÔ¨ÌKKKõk×”Ó£FR~nËö›ÛFNNN=zt“Û¤¶¶Vå øÌ™3¡®†#3î¾Ê{÷«Ûê9;;ÃËË«É8JJJ]e€Þ½{cРAÊéK—.5*¤Ò¿ûmÛž={bèСʲgÏžUYWee%¤R)"""wø.šö]“}ªéþÿþûïqèÐ!bÑ¢EŽCM´×±BDDº‡I>5baaþýû+§Ïœ9ƒ«W¯âìÙ³;v¬ÚeŠŒŒDFFnݺ…M›6)燇‡ÃÃÃC­ØAÀŒ3pþüyTVV";;[å^åÇ{L¥|RRžyæܸqeee8yò$BCC• wïÞ½±uëVµÚÖ´}u¶Ñ®]»”¯Úûþûïââb¬[·………€°°0,\¸Pí]]]Uî«ÿä“OPVV†?þ·nÝj²ÎÖ­[!‹•qœÕ´lSŸ[ª=Ž""ÒAíþl?""ÒŠo¿ýVåÉîõ?K–,V¬XÑä²Ï?ÿ\YÿÏ?ÿF%˜™™ úúú‚“““°dÉ•WÎ5W¦áÓõ?þøc! @066$‰àïï/|öÙgõëÏ?ÿ^yåÁÏÏO°´´D"‘`cc#Œ9Rغu«ÊÏóòò„Ý»w Ó¦M¼¼¼©T*ˆÅbÁÞÞ^3fŒ°~ýz¡¨¨¨ÝÚWw; o¿ý¶0xð`A*• ‚0aÂá›o¾Q–½×> ¤¦¦ª´{éÒ%aüøñ‚………`mm- Û¶m|||Tê9;;«Ä:iÒ$ÁÒÒR‹Å‚«««°~ýz¡ÿþÊò[¶lQi'--MX¸p¡àîî. &&&B¿~ý„gžyFˆ×hÛ ‚ äääË–-|}}SSSÁÈÈHpqqæÎ+ܼyó¾Ûa̘1-ê»&ûT“²r¹\xä‘G áÃ?¼oìêž—ê+DDÔmýGO:èiKDDÔí\¹rEexjj*úöí«½€¨Ezõê¥|Ã7ß|ÃáàDDD×w®ODDDøùçŸÑ«W¯FÃÊe2233Ô½aܸqÚˆˆˆÔÄ$ŸˆˆˆX°`nݺ¹\Ž„„<ù䓸ä“OÔ~ i“|""j‹-Rª...xüñǵÝÏ#<‚ÿþ÷¿(--Å„ `mm¡C‡âöíÛ˜3gΟ?§žzJÛaQ3xO>‘nà=ùDDDDDDDº‚I>‘Ž`’ODDDDDD¤#˜äé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤#˜äé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤#˜äé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤#˜äé&ùDDDDDDD:Â@ÛQËÉd2”––j; """"j#033kq}^É'""""""ÒLò‰ˆˆˆˆˆˆt“|"""""""Á$ŸˆˆˆˆˆˆHG0É'""""""ÒLò‰ˆˆˆˆˆˆt“|"""""""Á$ŸˆˆˆˆˆˆHG0É'""""""ÒÚ€ˆˆ:/AÒÓŸ}ÛÅÅ"‚¶#"""êzLMkak«€›[ ùeJí‹I>©P(€èhSó}"""••é#;[„ÄD#œ8a‚¨(SÔÖêaΜBÌ™S‰„)ýÍÁÁfff-­þ“|"¢.¬­’ü›7Åxë-[œ:e‚R¼ür>œ«Û B"""j¨¬Lß|cŽíÛ­`n^‹7Þ¸ƒ Ê´u­MòyM†ˆ¨›;}Z‚ü£òòDøöÛ ¼÷žŒ >Q;25­Åœ9…8zôFŒ¨ÀÂ…ŽØ¸ÑšÏ¾¡6Á$Ÿˆ¨Û»×Ï>ë„Ñ£Ëñý÷ð÷—k;$""¢nÃÖVÈȼûnví²Ä‹/:B.×ÓvXÔÅ1É'"ê¦4ÃoØáùç ñÞ{2ñò‘6üã%ؽ;±±„‡; –Ïã£V`’ODÔ ]¼h„åËíñì³…xé¥|èñ¢‘VÈññÇY8vÌ›7[k;ê˜äu3……"Ì™ã„áÃ˱tiž¶Ã!""¢ÿñ÷—cõê\|ü±6Õv8ÔE1É'"êf6o¶‚¾>ðÞ{9|%Q'ó”àŸÿ,Áš5¶¨¨àP;Ò½#"êF®]3Äž=æxõÕ<˜™ñ†?""¢ÎèÕWóPR¢;¬´ uALò‰ˆº‘­1`@BCK´ ݃Ï?_€;,QTÄ”4Ã#†ˆ¨›ÈÎ6@t´)fÏ.äƒöˆˆˆ:¹'ž(†¾¾€Ÿ~’j;êb˜äuGšB"©Å¸qeÚ…ˆ:ììl¸¹¹)®^½ªíˆè.¦¦µ?¾Œà#1É'"ê&bc%6¬b± íPˆˆˆH £F•ãüycTUq©I>Q7qåŠ!¼½+µ©iÀ€*ÔÔèáúu±¶C¡.Ä@ÛQÇÉDprªÑvD:+//»víBtt4nß¾ èÑ£¼¼¼0yòdŒ3_~ù%"##UêmÙ²iiiøþûï‘••…B}ûöÁÇÇ999رcNœ8ŒŒ ÔÖÖ¢gÏžÆüùóaeõ÷“·+**pðàAìß¿iii¸sçŒÑ³gOŒ1³gφ££#`ݺuصk—J'NØÚÚ"66V9_“ˆ¨m9:Ö}oçæÀË«JËÑPWÁ+ùDDÝ„\®Õ'j)))˜8q">ýôS¤¤¤ <<'NœÀÞ½{ѯ_?ÌŸ?ûöíÃìÙ³‘’’‰D¢¬ûÁÀÀÀû÷ïÇêÕ«•ó“““1qâD|þùç(--ÅÁƒqäÈTWWc×®]xì±Ç “É”å¿þúk,_¾ãÇÇ‘#GðçŸbΜ9¸zõ*¾øâ „……¡°°ðúë¯ã÷ßWéáC‡’’¢’àkµ-“º×Ý–•1m#õñh!"ê&|ª>Q;Y¶lòòòAAAø¿ÿû?XYYÁÒÒ/½ô|||îY×ÞÞóçχ……¦M›KKKu‰x}Rþè£ÂÅŽzõÂäÉ“™™™X»v­ÊºðÌ3ÏÀÔÔ–––xá…àààÈÍÍETT”FýjI DÔvê¿·þž4ÀáúDDDD­ “ɧœ0`@£2ûöí»gý   •é³gÏB&“!!!A9ÏÞÞ^ù¹>i€¨¨(Èårã‰'ž@yy9BBBpëÖ-”——ChäççkÔ/Mc ""íc’ODDDÔ wîÜQ™65ÕìuWvvvæåææªL¯_¿ëׯoT®ªª ééépssÃìÙ³ñ×_¦L™‚ˆˆXYY!$$IIIÐ(鿟–Ä@DDÚÇ$Ÿˆˆˆ¨lmmU¦KKK5ªohhØhžÊô+¯¼‚… ÞsiiiÊ/^Üìñôš¹GÓˆˆ¨sà=ùDDDD­ààà€*§/]º¤²¼ªª ¾¾¾Ø¼y³Úëtrr‚———rúêÕ«Ê<ù䓘9s&€ÆW茌”Ÿ‹ŠŠšlÃÄÄDeº¦¦î)Þ3gÎÄo¼¡q DDÔ90É'"""j¥ÈÈHX[[¢££ñÕW_¡¸¸2™ ¯¿þ:,--ñÔSOi´Îµk×ÂÌÌ ð믿bß¾}())A^^6mÚ„„„¼úê«€>}ú OŸ>ʺß~û-***ðÍ7ß 33³ÉõK¥R¸¸¸(§ššŠK—.aèСÇ@DDƒž ÉÍYDDÔ©Èd2µ‡»¹¹âƒd˜8Q³¡ÄD¤žüü||öÙgˆŽŽÆÍ›7¡P(`oo‘#GâùçŸG=ðóÏ?cÑ¢EMÖŽŽF¯^½Tæedd`ÇŽøý÷ß‘••}}}ØÚÚ"00³fÍ‚§§§²ìµk×°fÍÄÇÇC$ÁÙÙaaaøöÛo‘œœ¬,׳gOÄÄÄâãã‰ÄÄDÈårØÚÚ"$$Ë–-Sç×$"j{üþî~”`mï˜äuaLò‰ˆˆt¿¿»ŸÖ&ù®ODDDDDD¤#˜äé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤#˜äé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤#˜äé&ùDDDDDDD:‚I>‘Ž0ÐvDDDÔ9DEeaÁ‚Xåtb≴iŠWò‰ˆ¨Ý”—+ðÐCG0gÎÚ¥MèZ?Þ ))a7ÎIÛ¡Q 1É'"¢v#jkë~t®õ§­øøÀŒ'Z¼œˆˆˆÚ‡ëQ»155Àñãk;Œ6£ký!"""ÝÃ+ùDDDDDDD:‚Wò‰ˆ¨]4÷·ÂÂ*lß~Gf!+«&&4ÈsçºcØ0;•uåçWbÛ¶düö[d² H¥bØâÅ=áåeÑd{ÑѰ~}"NžÌH¤??kDDø¢OS•u_¿^‚ ›‹šýû›ã…<ðÅ×qút.`Ú4g;5ÙŸ–¶«NŸšãáñ õn°µ5BlìDµÊÖË͕߷/;w^Cdä%À¹sypsÛ‰ôœªÑrc|ôÑ0l؈øø|ÔÖZañbo b£QÜDDDÝ™ž ¼±ˆ¨‹’Éd(--U«¬››+>ø@†‰Õ+ßVæÏÅÑ£Y*I~n®Ó¦Å@.W`íZ?Ú!7WŽqäH&Ö¬ŒéÓ99ue++ˆŒŒÀ@;dd”á­·â_€ÿ{$üü¬µ7nœæÍëOO œ?Ÿ‡yóbÑ¿¿9~üq¬²ìÍ›e ;‰D„wß‚Áƒm‘Q†Õ«/")©¥¥Õ¸|ù±fû£i»šö©£5Õ—¸¸|,X‹~ý¤*}êî¹÷ö¶ÄÞ½£›\_sËCBŽ!-­žžX¾ÜžžHI)Æë¯_Àõë%øòËhÛÖÝ$"ê´õýMÚãàà33³–VÿŽÃõ‰ˆ¨ÃmÜxééåxã _;ÁÌÌ..fؼ9vvÆX¹2wîTþ¯l"22ʱ|¹ÆŽu„‰‰îîæxÿý‚€wÞ‰o²éÓáçg ‰D„´ÇرHH(@AAÕ]q$¢¸¸¾9Ò^¹îÍ›ýQQ¡hQßÔm·%}êhw÷eøp;;5êK[©¨P`åÊAÊö||¬°i“?ª«k±jUB›·GDD¤«˜äQ‡;r$ä¨2ßÐP#FØA.WàäI€ºaøúúzV}­›1ÜÝÍqéR!²³+µáë«z%ÜÉIÉþ.{âD]£G«Æamm„~ýZötuÚmiŸ:Zþ88PíK[‘HDnSðð0‡½½1’’Š“#oó6‰ˆˆtïÉ'"¢UUU‹’’j‰`jÚøkÈÖ¶.‘ÌÍ•+ËÀ Aï¹Î´´R8:JTæI¥ªë64¬Z_“ZUU-ÊÊj`d$‚‰‰ YXˆÕï”†í¶´O µ÷=ù û¢¯¯àï¾´%só¦··rräÈË«„½½qÛ7LDD¤c˜äQ‡24Ô‡T*FII5ÊÊj%úwîÔ]±µ³3†¡¡>ÌÍÅ(+«ÁåËA$ÒkÓ8LM PVVƒòrE£D?/¯²ÍÚjØn[õ)99´ #k9½fºÐÜr(,¬† 4.[¿llŒZQ÷ÂáúDDÔá&Lè8~<[e~UU-NŸÎ…±±£F9~¸' çÎå5ZÏ'Ÿ\ŨQ¿ª}5»¡1cêÚ¨¶_/7WŽÔÔö{ÀQ{öI$TW×*§Çž=ij/€ÊJòUæ%'#'G// ^Å'""R“|""êpááÞèÕË«W'àØ±,”•Õ 5µ¯¼r¹¹rDDøÂÖÖHY¶OS,]z112””T£°° ß~›ŠmÛ’ñúë>-¾þ,- ±jU<~ÿ=åå \½ZŒ¥KÏÃήý’Êöì“6<ð€%RSK‘•U òqëVlÔ^R©›6]Æ… ù¨¨PàâÅ,Yrb±>""|;ºKDDD]_¡GDÔ…uæWè5|<<öXolÚä(,¬ÂöíɈŠÊDvv$ d…¹sûcøp;•z……Uøðú²YY077„··æÌqǃÚââ 0uj´J½çŸ÷ÀâÅÞÊ÷³× rĎé©¥X¿þþø# àåeŽW_€-[.#!¡/†Ü·?ÿú—k‹ÚU§O­¥ÛðƬX‡K— `iiˆùó=ðä“.ʲÍ- 9†üüJìÞ=«W'àüù|(|}­°d‰7† QýƒQwÂWèu?­}…“|"¢.¬3'ù]Ý„ G!—+pâÄÃÚEçÕ'ù§N=ªíPˆˆ:~w?­Mò9\Ÿˆˆº­Ü\9† ù/jjTÿÞž^†›7K( """êì˜äQ·VTT…7Þ¸€¬¬ TTÔ >>/¿|R©/¼à©íðˆˆˆˆ4Â$Ÿˆˆº-;;cìÞ=ÅÅÕ˜9ó$þ/æÍ‹Eß¾¦øñDZèÝÛDÛ!ê´;¯ÁÍm’’Š “Éáæ¶ï½wYÛauiÍ!""Ò]#FØaÄË׆ٳÝ1{¶»¶Ã ""Ò)¼’ODDDDDD¤#˜äé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤#˜äé&ùDDDDDDD:Â@Û‘nŠŠÊ‚±ÊéÄÄ)02i1"ÍéB´I€óçópàÀmœ:•‹ŒŒrH¥b¸¸˜á‰'\0eJoèéi;J€;¯!2òÀÁÁ§N=ªQýèèl¬^}·o—!99´=B$""5ñJ>µ‹ñã’†q㜴J‹éB´éÆ̘qiieض-qq“ñÃcÑ£‡K–œEdäEm‡Hÿ3{¶;RRÂàåe¡Q½[·Ê0wîظñ2îÜ‘·StDD¤ &ùDDÔ©øøÀŒ'Z¼\WuÕ~‹DzøàƒxzZÀÈH„Þ½M°~ýXZ⫯n ªªVÛ!vj}¿oÞ|ƒ[cÿþ ˜šr€(QgÀÿ‰ˆˆ¨]¸ºJ›º-ëÃÉI‚¤¤"æו IDATTV*`hÈk]ÕºuƒalÌ[Xˆˆ:~«Q‡*.®FZZ)¼½- •еµ|"¢Î‡Wò‰ˆ¨CäæÊ±~}"NžÌH¤??kDDø¢OSªþ:w.nnûÔ ÷NNÕh¹ƒƒ1>úh6lHD||>jk­°x±7† ±i·>Ô+,¬ÂöíWpôh²²*`bb€Aƒ¬1w®;† ³S–«ªªÅ‡&ãС df–ÃÈH„!Cl0cF_Œë‘H¯Ù~7ÇÃã'(‚Zý³µ5BlìÄfË©wSJKkœ\„/ÃÎÎ7ú«äçWbÛ¶düö[d² H¥bØâÅ=•÷‘oßžŒÍ›/† ±ÁÞ½£'NÈðì³§––†8{v’ZmÞ½³³å°¶6„««=Ö“&õR&¸êÄÖð!ŽÑÑZu>4\ß‘#ã°ysþø#……U€3g&ÁÜ\Œ_ÍÀþsÉÉE()©³³)¦Oï‹§Ÿî}}í?ùP¡ÔбaŸcbÆ»ï^Btt6 E3Æo¾é‹’’j¬\y±±905#(È+VøªÜN n›àç÷3JJª›Œ]O8yò8:J¨wîkz,hïüù±8z4KYïîóàôé\<ýôïøôÓáv¬^€/¾¸®,Ÿœ …BhÑù}7uÏ–l¯Öìw¢îBOõ¾ù‰ˆ¨Ó‘Éd(--U«¬››+>ø@†‰Õ+ßVêé7Î óæõ‡§§ââò±`A,úõ“âÇǪ”÷ñ9ooKå/¦ 5·<$äÒÒJáéiåË}àéi””b¼þú\¿^‚/¿|¶íÖ‡Ü\9¦M‹\®ÀÚµ~ ´Cn®7&âÈ‘L¬Y3Ó§;–/?_~ÉÄÖ­ð÷·Aii v;¯áë¯Gaèпãl®ßI“¸ëÝ€j‹7ßsµÚËɩۦ•• DFF` 22ÊðÖ[ñˆ/À¿ÿ=~~ÖÊò÷ÚV¡¡Ç‘ž^®V’_¿++k±fÍ j‡Š öîMÃæÍ—±b…fÍrÓ8¶¦Ž¥óçó0o^,ú÷7×ø|¨__` -^~Ù ¾¾–¸zµÓ§Ç 6v".\ÈÃܹ±3göEm-pðàm¬^}Ï>ë†e˨¬/$äòó+5~º><øà/¸s§Rã§ë;–¥QŒõ}~øáX°À®®R>œ‰ðð³3Æb±>^~Ù ÎÎfØ¿ÿ""â0k–+V¬ðmQ›~~?ãÔ©Gabò÷¨…mÛ®`Ë–$„‡?€ùóûÐìÜ¿»ê šÄûõשxë­8¼÷ž?¦Lé­œ¿téyüðÃMLšÔ ï¿ œ•…¯¾ºŽÝ»GhÙù}7uÏ–n¯Öì÷®J[ßߤ=033kiõï8\Ÿˆˆ:ÄôéÎðó³†D"ÂðávvBBB ªÚ¼­Š V®¤lÏÇÇ ›6ù£ºº«V%´x½êôaãÆËHO/Çoø"8Ø ffpq1ÃæÍ°³3ÆÊ•ñ¸s§@Ý•5ww)FŽ´‡±±¶¶FX¶l\\ZüÅÞ!Z÷Â…HJz ‡ƒ««S¦ömWÔjoãÆDdd”cùrŒëÜÝÍñþûï¼ßV]»«ÍºýQ·MM `kk„… =0z´C«c»ûXzðA{ŒëЪóaÞ¼þ:Ô‰´Brr(¬¬ ÔýQeþüþ°°0„••!ž~Ú!!½ðÅ)(-­iQ{m­%1N›æŒ,!‘ˆÚîîæˆ‰‘á¹çÜáåefÎtA¯^&ˆ‰Éi“6àС ¼ÿ~þùOge‚hvîßMÝcAÝx'Mê ±X?ýt[9O.WàèÑ,8;›â·ß²PVöwù}ûn!,¬rºµÿ/©î´l{µv¿uLò‰ˆ¨CøúZ«L;8d²Š6oK"5z˜‡‡9ìí‘”T„œœ–½êK>9’  rT)kh¨#ì —+pò¤ 0fŒ#ΟÏÇŠW V5¾Ù«eÚÔÒ¸Åb}¸ºJ±rå <ô¶lI©SÍÿ•}}=«¾ÊÐÎÎîîæ¸t©ÙÙšGW¯ÃÍmŸÊÏÛo×%åõûq̇Fõ>ûlfÍrkUl %'§ºáÞ-=´jr~p°¾þzT£ù^^¨©píZñ}×{¿mÔVZ£jŸëÏÇTÏ}GGI£íªI›.LV^Å/À«¯žC@€-V¯¤RW“sÿnê šÄkiiˆ±cpêTrsëþ¯;z4 Zá©§úA.WàðáºX «ðçŸwððÃ=•õ[ûÿ’ºçNK·Wkö;QwÁ›Tˆˆ¨CH¥ª_9õ÷¶ÇMcææM?ÌÍÆÆ99räåUÂÞÞXãõ6ׇªªZ””TÃÈHÔä} ¶¶umÖÿâýöÛáçg¼‰ýëw€¿¿5fÎtÁ„ =4ޝ)íqO~[Äìˆ#G2qüx6|Ðþžåê·) tðžåÒÒJ•÷E««s¤¤„ݳÍ{íǶˆ­á±dhX—D¶ô|Hš~^II5víJÁ‘#™Èή@q±ê½åŠû®÷^Û¨-µ4F33Õm¨§W÷̉¤ñyZ[«ºa[Òfff9æÍûNN|øáPˆÅ_+ÓôÜ¿›:Ç‚¦ñ†…õATTLdzϺ᧟n#,¬†·Cdä%8pÿøGüüs:‚‚TnEhÍù­é¹Ó’íÕšýNÔ]0É'"¢NE¯™g:5· «!ËæåÕ ý´±1jat÷gh¨©TŒ’’j”•Õ4úåõκ_Xíìê~ÕÓBC{#4´7jjÄÆæbçÎkxþù?±|¹ž}ÖMYW~7EÓû£Õ¡IÜ÷RÿÚ¼ú‡Äݯœ¹¹ee5¸|ù1µú¥¯¯‡êêÚFó&F÷kó~û±5±iª¥û½Þܹ±8sæ""|Ò VVFÐÓ>ÿ<kÖ\Dgx4“6bԴͲ²Ì™ójjìØ1––†*Ë5=÷Û;Þ  GXZbß¾[ í¸¸|lÛccFŽ´Çï¿ç 'G޼…%K¼Uê¶æüÖäÜiÏíEÔÝq¸>u*‰J‚6~|öìIS{9TV*¯2/9¹99rxyY´è*¾ºê¯t?ž­2¿ªª§OçÂØX„Q£ê†±úùýŒë×Kz9Ò< zzë«ÓnÜëÖ]Ä’%g›\GLLÝ0\_ߦ‡™ßíá‡{B¡pî\^£eŸ|r£Fýª2ZÁÞÞ¸ÑùÜ\923Ë›ïÜÿÔïÇèèìFËBBŽaÍš‹-ŠMS­ÙïõqÙÙãÿþÏÖÖFÊ?TV6þ#ˆ6h#FMÛT(¼üò\¿^‚íÛ‡ªÜ›þ !*ªîiöšœûí/Pwk̤I½”T„M›.cÜ8'åíCCû@¡ðþûIÈÉ‘cøp;•ºšü¿ÔuÏöÚ^DÄ$Ÿˆˆ:™°Djj)²²*páB>nÝ*C@€ÚË@*cӦ˸p! \¼X€%KÎB,ÖGDDû>i9<ܽz™`õê;V÷€«ÔÔR¼òÊäæÊá [Û¿GDDÄáÊ•"TUÕ"/¯Ÿ~z‚€F¿x«ÓnÜÜÆÖ­Wž^†ªªZ¤§—aýúDìßXbúô¾Ê²ééeèßÿ'¸¹íCbb¡r~x¸7úô1ÅÒ¥ç#CII5 «ðí·©Ø¶-¯¿î£r}äH{ääÈñÕW7P^®À­[eXµ*A£õûqÍš‹8~<ee5ÈήÀ[oÅ#7WŽY³\[›¦Z³ßE"= j‹Ü\9v츆‚‚*Èå ÄÆæâ›oR[SK5µµ£¦m®YsÑÑÙX³Æï¾÷¤kzî·W¼õBC랬¿wošÊƒõƯ{ÞÞ½ixì±ÞM¾FQóû~竺çN{l/"â+ôˆˆº´Îü ½¸¸L­2ïùç=°x±·òßõ‚‚±cÇpÀ%X±"—.ÀÒÒóç{àÉ']”e›[^ÿ °Ý»Gbõêœ?Ÿ…B€¯¯–,ñÆ!ê'Æ-íCÝ»Ÿ“Uwÿ¬Db€Aƒ¬0wn•_’“’ŠðÍ7©øë¯;È̬€‘‘>úö5Åôé.˜6ÍYe¨vsýîHêÆ]ZZƒ_~ÉÀ¡CéHM-ƒLV±XýúIñÈ#=ðÌ3nÊ«‹@]ÒAðóÏ©¼b¯°° ~X·M³²*`nnoo Ì™ãÞèžþ’’j¬[wÑÑ2WcÀK¬X჈ˆ8\ºT—ŒÌ›×¯¾úÀ}ûÙp?Z[!0Ћy¡o_3•rÍÅÖÖçCSëÐèþù‚‚*¼÷ÞeDGg#7WKKCŒã;;c|üq2`ÀKLžÜ ‘‘—šŒï~ê_íÖ”µkU_v¯ý«nŒo¿=¨Ém8~¼ÂÂT燇{Ãßß?~BeþK/yᥗ<Õnsõj?„†¿ï6øè£a?¾îÁ‹êœû-9Ô÷§Ÿ‚Tê…ªªZÄÄ<¬òÿIýëô~ýuÜܤ*uÔ=¿›;_Õ=wZº½Z²ß»*¾B¯ûií+ô˜äua9Éזּ盈ˆ¨³é.ßßô·Ö&ù®ODDDDDD¤#˜äé¾BˆˆtÂÎ×Tî)vsÛwß{ŠÞûÚ”®~'u?Lò‰ˆH'ÌžíŽÙ³ÝÕ.ßðeDDDDº€Ãõ‰ˆˆˆˆˆˆt“|"""""""Á$ŸˆˆˆˆˆˆHG0É'""""""ÒLò‰ˆˆˆˆˆˆt“|"""""""Á$ŸˆˆˆˆˆˆHG0É'""""""ÒÚ€ˆˆtSTT,ˆUN'&N‘‘H‹um?ÿœŽE‹Î õqùòcZލm pþ|¸S§r‘‘Q©T 3<ñ„ ¦Lé ==mGIDDÔùñJ>µ‹ñã’†q㜴ŠN˜<¹RRÂ0b„¶Ci7n”`ÆŒHK+ömˆ‹›Œ~‹=$X²ä,"#/j;D""¢.I>u*>>0cƉ/§®K$ÒÃÀÓÓFF"ôîm‚õë‡ÀÒÒ_}uUUµÚ‘ˆˆ¨Óc’ODDDZçê*Err(,, Uæ‹Åúpr’ ªª•• -EGDDÔu0É'""¢N«¸¸ii¥ðö¶€T*Öv8DDD¼GDD"7WŽõëqòdD"=øùY#"Â}ú˜vÈÈK€sçòàæ¶@ÝîääP–;8㣆aÆDÄÇ磶8Ð ‹{cȵcnøðÀ˜˜‡ñî»— CCÆŒqÀ›oú¢¤¤+W^DllLMÅ rÀо05Uýš-,¬ÂöíWpôh²²*`bb€Aƒ¬1w®;† S½×þúõlØˆØØ\(ÀX <ü{ÆšŸ_‰mÛ’ñÛoYÉ* •Š`‹_ô„——…Zýõðø … VY[[#ÄÆNl¶\UU->ü0‡e 3³FF" bƒ3úbìXˆDM?M¯´´ÉÉEظñ2ì쌱q£¿Zquwz‚ ¨÷mNDDŽL&Cii©ZeÝÜ\ñÁ2Lœ¨^ù¶2~,Ž͸qN˜7¯?<=-— bѯŸ?þ8V¥¼Ïx{[bïÞÑM®¯¹å!!Ç–V OO ,_îOO ¤¤ãõ×/àúõ|ùåƒ ´mQ~¸,ð€««‡g"<ü,ÆŒq€X¬—_ö‚³³öï¿…ˆˆ8ÌšåŠ+|•ëÈÍ•cÚ´Èå ¬]ë‡À@;äæÊ±qc"ŽÉÄš5ƒ1}º3àæÍ2„…‡D"»ïÁàÁ6¸}» ëÖ]DZZrr*Tž®Ÿ“S·îÊJ"##0Ðexë­xÄÇàßÿ ??kúÜV–/?_~ÉÄÖ­ð÷·Aii v;¯áë¯GaèÐÆûbûödlÞ|0t¨-Þ|s <<Ì;:t"¢NA[ßߤ=033kiõï8\Ÿˆˆ:ÄôéÎðó³†D"ÂðávvBBB ªÚ¼­Š V®¤lÏÇÇ ›6ù£ºº«V%´x½Ó¦9cÀKH$"„†ö†»»9bbdxî9wxyYÀÄD„™3]Ы— bbrTênÜxééåxã _;ÁÌÌ..fؼ9vvÆX¹2wîTþ¯l"Š‹«á‹‘#íab"‚‡‡9Ö¯‚œœŠFqmܘˆŒŒr,_cab"‚»»9Þ?‚ àwâ[ÜçÖ:}:îîRŒicclm°lÙ¸¸Üû——… =”ôWW)¦L9†mÛ®t`ÔDDD]“|""ê¾¾ªW’Œ2Y㤵µ$Q£!êæ°·7FRRrrä-Z¯•Êt} PmËÑQÒ¨_GŽd‚‚UæêcÄ;Èå œ<)œ8Q÷ïèѪeíí›LŽ£¢² ¯¯‡à`Õ×ÚÙÃÝÝ—.";»í·³:ÆŒqÄùóùX±âââ ”·DEoò*~=±X®®R¬\9=ä„-[’pêTÎ=ËQÞ“ODDB*UýÊÑׯ»»=n37oúm66FÈÉ‘#/¯ööƯ×ÌLµzzuÏH÷­¶öïŽUUÕ¢¤¤FF¢F÷逭m],¹¹rTUÕ¢¬¬FF"˜˜ˆšìCjêßC6ë× ƒ¼gìii¥pt”Ü·íqOþÛo„ŸŸ5~üñ&þõ¯ßþþÖ˜9Ó&ôP«­à`G9’‰ãdzñàƒöjÕ!""ꮘäQ§¢×ôsØÔ^……Õ„Æeóòê†ÃÛØµ0º–14Ô‡T*FII5ÊÊj%úwîÔ,°³3†¡¡>LM PVVƒòrE£D¿°PõöCC}˜›‹QVVƒË—»çƒìÔ‘œÚâº÷¢§„†öFhhoÔÔˆÍÅÎ×ðüóbùr<û¬[³ë04¬xذïDDDÔ‡ëQ§"‘ ººV9=~|öìIS{9TV*¯2/9¹99rxyY´è*~kÕ_µ>~<[e~UU-NŸÎ…±±£F9ÆŒ©û·~Ø~½‚‚*¤¦–5Z÷Ã÷„B!àܹ¼FË>ùä*FúUí+ômÍÏïg\¿^00ÐÃÈ‘öøøãaÐÓSÝëÖ]Ä’%g›\GLLÝvðõµjr9ýI>u*<`‰ÔÔRdeUàÂ…|ܺU†€µ—€T*ƦM—qáB>**¸x±K–œ…X¬ˆ߆Mvˆðpoôêe‚Õ«pìXÊÊjšZŠW^9ƒÜ\9""|akkô¿²ÀÒÒ«VÅã÷ßsP^®@JJ />ÓäþðpoôécŠ¥KÏ!&F†’’jVáÛoS±m[2^ݧUWø[+""W®¡ªªyy•øôÓ«`øpÕ×8p[·^Azzªªj‘ž^†õë±ÿm `‰éÓûj§DDD]_¡GDÔ…uæWèÅÅ`êÔh•yÏ?ïÅ‹½•︯äˆ;†nÜ(ÁŠq¸t©––†˜?ßO>é¢,ÛÜòcÈϯÄîÝ#±zuΟχB!À×× K–xcÈÕ?´¤ãÇ;!,Lu~x¸7üýmñøã'Tæ¿ô’^zÉ@ÝpóíÛ“•‰ìì H$4È sçöo”𦦖býúKøã\ÔÔèßß/¾è‰Ï?OÁéÓ¹êžö¿nÝ`åº?ü°nÝYY077„··æÌq×ê}ìIIEøæ›Tüõ×dfVÀÈH}ûšbútL›æ¬¼¥¢´´¿ü’C‡Ò‘šZ™¬b±úõ“â‘Gzà™gÜ`lÜøDDºŽ¯Ðë~Zû =&ùDD]XgNòµ¥>É?uêQm‡BDDÔjÝåû›þÖÚ$ŸÃõ‰ˆˆˆˆˆˆt“|"""""""ÁWè‘Nعó"#/)§ÝÜö)ŸД†ÏhÊÝ÷ÓuLò‰ˆH'ÌžíŽÙ³ÝÕ.Ÿ’ÖŽÑi‡ëé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤#˜äé&ùDDDDDDD:‚I>‘Ž`’ODDDDDD¤# ´馨¨,,X«œNLœ##‘#j_‚œ?Ÿ‡nãÔ©\dd”C*ÃÅÅ O<á‚)SzCOOýõíÜy ‘‘—Æ8uêÑvмsÛ°!={šà‰'\Ô*¯Pؼ9 ¿ü’ެ¬ f‡Ï>ѨÌÞ½iØ·ï®]+FE…66Fðò²ÀرŽ r@¯^¦Êòm½oÀÇç***ó–-€Ù³Ý&Å%ÊeC†Ø`ïÞÑMÖ»—}ûÆB¡¦NV™/•ŠqáÂdåtÃs5(È;v ÇÒ¥çqàÀm88HðÐCŽxíµtú&"Ò¼’ODDíbüx'¤¤„aÜ8'm‡Ò!nÜ(ÁŒ'–V†mÛ7?ü0=zH°dÉYDF^Ôh}³g»#%% ^^í±núî»›øøãd„…õAlìÄF >„‡ŸÅÛoÇcüx'üúë8$$„`ÏžÑðö¶ÀÊ•ñ V)ßÖû.^œ‚ƒƒãÆÕ+õ >üûß#áåeþÓÉɡػwô=ë5õ#•ŠƒY!%% S§:ÂÂú¨$ø@ݹzêÔ£°µ5BLÌÃØ±c8àÝwãìÙI˜7Ï_~yŸ}v]ã~QÇc’ODDŠÏ̘q¢Å˵I$ÒÃÀÓÓFF"ôîm‚õë‡ÀÒÒ_}uUUµÚ±K()©Æ¦M‰˜8ñ7ìÚu kÖ\Dhèq¬[wׯ—Ü·îŸæfÍrƒ¹¹¸Ñò„„<˜ŽiÓœ1wn8:J`d$BŸ>¦X²ä{ŽèÈ}{ýz ¦O?à`G¼ûî`ˆDh²e`iiˆ}ûnáÌ™¼FËW­ŠÇ3ϸ¢gO•ù¦¦˜9Ó‰rÛQçÆ$Ÿˆˆ¨ ¸ºJ‘œ C•ùb±>œœ$¨ªªEe¥z컳ÊJ¦M‹ÁO?ÝÆ;ï ÄÓO»"<ÜááàðáL<ùäÉûÖ/(¨‚H¤SÓ¦ïH¼v­ЯŸ´Éå“&õj4¯#÷í¹syx≓˜?¿?^yÅ»Åë¹pa2||¬”Ó––†XºtàÍ7ãPS#(—8!CJJ fÏîÏõI¥(,¬jq» î*5+ÁÀàÞ#ôôêže@DD¼GDD"7WŽõëqòdD"=øùY#"Â}úÔ=àìîÍ;—7·}ê†I''‡j´ÜÁÁ}4 6$">>µµÀÀVX¼ØC†ØhwUU->ü0‡e 3³FF" bƒ3úbìX‡{¥.-­Arr6n¼ ;;clÜè¯ùFkÂþý·±dÉY•yüñ(ì쌑Ÿ_‰mÛ’ñÛoYÉ* •Š`‹_ô„——Š‹«1xðÏ*u_yÅ z@¡àáñ“rþ#ôĶm÷ÅÃã'µ?[[#ÄÆNl¶œ Ô­/&F†gŸuSY6r¤½Z븟€[ØÙãäÉ<ûìiÌ›×6Ð×WH|{ìÛ¯¾ºíÛ¯`×®á8кÕëkŠž°rå L™r [·^ÁäɽðŸÿÜÄàÁ6 ´m—6‰ˆ¨ã1É'"¢±zõEÌ›×ï¾;qqùX° ‹Á?ŽP÷ ¹Ù³ÝáãsÞÞ–ÊÕSwyHÈ1¤¥•bÕª,_îOO ¤¤ãõ×/à©§~Ç—_>¨QBóöÛqøå—LlÝ”–Ö`çÎk˜7ï|ýõ( Úx]Û·'cóæË€¡CmñÑGÃп¿¹†[¬i“'÷Bbb!®^-Æûï(‡çäÈ1mZ *+ˆŒŒÀ@;dd”á­·â1uj þýï‘ðó³FJJfÍ:…S§rqôèxåYD"=¤¤„aÚ´üë_ý0eJïfcINm“>Ýmøp;ôík†„„Œ{b<ô#ärŒ›²{uµCÃ{—31aëÖ@¼òÊœ8!É2ØØaäH{Œëˆqã!‘Üû×£öØ·§OçàèÑ,<÷œ›F þÑ£YÊ?vÝmútç{Öñð0ǬYnعó/>‹›7ËðóÏÁͶeh¨êj>S‚ˆ¨+àp}""êÓ§;ÃÏωÇÛ!8Ø ((hûû|+*X¹r²=+lÚäêêZ¬Z• ÑºNŸÎ…»»#GÚÃØX[[#,[6箉ð IDAT..f÷¬³p¡’’ÃáÃãàê*Å”)ǰmÛ•Öv ÅÅÕ˜=û4jkìÚ5Båñ‘‘QŽåË}0v¬#LLDpw7Çûï@¼óN¼²ìsϹÿo×TÖî\23Ë1qbãûÒ;Š©©öî§ŸvܺU†Ï?¿Ž¡CaõêÝÿxÉÌ,‡££ñ}ËøûÛà·ß&`Æ!7Î r¹û÷߯+¯œÁ¨Q‡ñóÏé÷¬ÛûÖÑÑffص+;w^k¾Âÿ4õt}uFª¼ü²œœ$8{6 zÀÆÆ¨Ù:ÈdrÙ'"ê˜äQ‡ðõU½BéàP—ˆÉdmÞ–D"jôê9sØÛ#)©99rµ×5fŒ#ΟÏÇŠW Lr¢¢Æ7y¿žX¬WW)V®„‡r–-I8u*§eBÝkÜþùÿìÝw\ÕÕÿÀñ×å²·l܈PTBœ¸G¹R¿‰ffÓÔLËÔÊå/ÍL14­4µi–MWÎÜ#Ì÷`# ²¹¿?>qãr÷"ˆãý|<îãÑý|Îçœó9Â÷çsÆS;11Q1ujS½i[·Æbb¢¢KÝ- ]]-iÐÀž“'“‰‹SÚ:8ØFìùý÷ë:‹©-]zžçžó.unö½àìlÁ{ï5åŸzR‡fÍœ01QñÍ7yæ™=Å.r—œœÍҥ牎¾ÃСõÊ,ÃÜÜ„j³xqkŽéÃ÷ßÓ§OM’“³™0á§O§”xmEÿlëÕ³åë¯ÛaccÊìÙ'ùê« åÎËVVjíhöh2Ä‹´´ÂÂNWʃ9!„G†ë !„¸'ììtÿäÌÖT‹Áâ¶N%xLHÈ$)) 7·Òßö˜>½NüþûU† Û @‹N âEÕ Ê£K¶l‰aÇŽ8Úµs3ì& ¹};—W_=€‡‡»vųfÍuúõûo8}vv>©©94o¾®Ä|®\IÃÃà €^ðæÝw²bÅ%ÆŒñáòå4þþ;‘?~ÌàzUÆœüÂÔjNN<õT5:wöà©§vy›M›btîÿí·óûï×01Q1bDCžÞÛèrÚ´q¥MWjÔ°fÉ’slÜ…Ÿ_ÙðÝþl 8ñÕWmyñÅ}Ìšu•JÙÐXE§±T”~ýj›AXØi/>Gûön|ýu»J)K!ÄÝ‘ _!Ä}EUÆKä²Î$'ç Ñè§MJÊ0hxráòú÷¯EÿþµÈÍ՞Ȳeç=ú“'ûë-Wss“ëU¾7 j5|÷]0vvf„„ìdòä£xyÙÒ´i5mþööf¤§çrút?ƒöUïׯ6óææûï/1bDC–/?ÏÿþW[o›¸ÒTÆœü5k®³fÍu¾úª­ÎqOO+žzª6_|qŽèè;:çæÌ ä½÷š±gO<ãÆ$%%›?,~%þÇ“=úÿÀ¡ukW–,9ÇíÛ¹Õ÷n¶…:³|y[^zi?~xµZ¥¶PÕæÍ;Å_œcÖ¬ÇèÙ³ºì!„÷1®/„â¾beeª³ÀW÷î[ùé§+Ÿe[°ˆˆ›:Ç"#o“‰¯¯ƒÁoñÖsñb*¦¦*‚ƒÝX¼¸5*ìØ§M÷ÑG'ôV½/°k—²][APn,SÜÝ-±¶V³dIk¬­ÕŒ®3íàñÇk—§áðá$½ë—,9Gûö›tÞº›››0th=’’²X¾ükÖ\ç…Œs\""n‘ž®d§¥)Ǽ½õ÷¸·µ5¥gÏ4nìȦM1%æ­Ñ({Ž»Uìù'”ã…ßâWæÏ¶¨  –/o‹••)|ÁŠ—Ê•Oÿþ;J][ÀX[¶ÄR³¦5ƒÕ‘_!îsä !„¸¯4nìÈåËiÄÆfpôèM®]K'(ÈÙàóvvfÌ›wš£Go’‘‘lj·˜0áff&L›ÖÔè:M›vŒ³gSÈÎÎ'))‹/¿<‡F£¬_ØÚµ×Y¸ð,QQédgç•Μ9§X³æ:Mš82hPÝrµIa5kÚðÙg­¸y3‹Ñ£ÃÉÎVxLœèGíÚ6¼óÎavíŠ'55‡ääl~üñ2‹Eòî»þzoøŸ}¶––j>ùäíÚ¹Q§ŽÍ]ׯ"$'g3fÌΞM!77ŸÌÌ<6lˆæ×_¯äB·nž%^kkkJZZN™eŒ{€µk¯“©ýY-[vž… ÏÒ¤‰#ÔÖI/~¶Z¶taéÒÖXZª™>ý8?üp¹Âò.¯´´ î…â¡Òh*c6¤Bˆ{!>>ž´´4ƒÒÖ¯ïͧŸÆÓ«—aéïÖ±c·8p§Î±Ñ£1~¼ŸÞ¶_;{°ti@Y`nÊ”cœ>ôéS“aÃꕺ0àóÏï#<<±Ä©ùù޽ÉÖ­±¼öûþý‰Œñ7™™Jº7ßôcñâH½ëJ2~}úèî”°råeÞ{ï˜^ÚÈÈþ¥Nóh×n#NN¬[Wöv{BˆŠu¯ÿ~‹ªçîmÉ»ø”á ò…âv?ùU¥ Èß·¯gUWåðë¯WY±â«Ww®êªkîÜSÔ¨aÍ3Ïx•xå•¿Ù¹3ŽóçTrÍ-­[o fMk~ýµSUWEˆGΣò÷[üçnƒ|®/„B<Â~üñŠA‹>(<<¬ÐhàÆ¬ª®ÊC#7WCrr¶vg!„÷7 ò…BˆGÈÏ?_åÕWùs'•+/“’’MïÞ5˾°Š´m늿¿£Áé;tp”Å+bÅûG]jjË—Ÿ'7WCÇŽU]!„-ô„B<–-;ÏìÙ'µßë×ÿC»@qŠ® Pœ×_÷åõ×}*¬Ž÷CÙ[·Æ°Ž ìY° È -÷ªŠ±{ÏwïîÉÛo7æ·ß®ñ×hÝÚUo;¾ÊTÕ?ÛŠôöÛ‡Y»ö:5jX3fŒÿû_í²/BQådN¾B<ÀdN¾Bñp“¿ß™“/„B!„B@æä !„B!„ ò…B!„Bˆ‡„ùB!„B!ÄCB‚|!„B!„â!!A¾B!„Bñ _!„B!„xH˜Vu„B<œ¶nåÕWõßOz uÖ¨ri4päHk×^gß¾D¢£ï`gg†——-Ï<ãÅ“OÖB¥2<¿eËÎ3{öIÜÝ-Ù·¯g%Õ¼â¬_Ÿq077áôé~U\£ÿÌ{Š5¬yæ/ƒÒçåi ;ÃÆQÄÆfкµ+_}ÕV/ͪUWøãkœ?›ŒŒ<œ-ðõu S':wv§fMmúŠî#þþkÉÈÈÓ96iR†oPì9• ìį̀^ÝšÀ@gBBêФ‰c±y¿óÎÖ®½Ž»»]»zðöÛêßa!„xXÈ›|!„•¢{wO.\@·nžU]•{âÒ¥TÞÍ•+é,ZÔ’cÇúðÛo¨^ÝŠ 1{ö £ò>¼. À×ס’jl˜;wòèÚu ¯¼òw™iûô©É… hÛÖõÔ¬rýòËU/ŽdÀ€Ú„‡÷Ò ð&N<ÄôéÇéÞÝ“M›ºÑ—Ÿ~ꀟŸ|pœþýw꤯è>pâÄ“¬[×€nݔ߹áÔxîìÙþlÙÒqã|¹x1•þýwðÎ;GÈÈÈÕËûããСތÙ€o¿½ÈW_]4º~B!î½»~“ÿóÏ?WD=„â¡U«V-Ú´iSÕÕx`øû¯ÅÏÏ‘U«:”ë|UR«U|úiæÔªeÍœ9ìÙ“À÷ß_b„Ƙ›?XÏ×5 ùùÊçA“ššÃ—_žcÛ¶8.]JE­6á矯Ъ• ƒÕÅÛÛ®ÄkHàÅëcc£ÿÏ¥ˆˆ[¬[ÅàÁu1¢¡öxíÚ6L˜Ð˜Û·søóÏh½ëªº¨Õ*\\,èÖÍ“nÝ<™3ç_~yŽää,/n£7’ÀÆÆ”!C¼˜5ë$$òê« ‹ÏX!Ä}㮃üÁƒWD=„â¡5pà@~ùå—ª®†¨dÞÞvDFö×;nff‚§§gΤ••÷Àù66¦ìØñxUWÃhYYy„„ì"==—O>iÁÖ­±xzZÑ =S§e͚넇÷*ñú[·²Q«UÅøçÏß ^½âôî]S/È¿ûÈ[o5æÀD¶m‹cýú(úö­Yl:;;S’“³ïY½„B”_…üYµjF>ò‘|äSä3pàÀи߬x€Ý¾Ã•+iøù9`ggVÕÕydìݛȅ © X‡  ÌÌL°°PìÆÌ™e^_ÖÈËˉ/ö|Ë–.:ÔÛ ºVeQ©à¹ç¼øá‡K¥¦ËË{ðFs!Ä£HÞBqO$&f2gÎ)öìI@­VàÄ´iM©][Y˜¬ðBs‡'Q¿þ€2¼82²¿QçÝÝ-ùâ‹ÖÌ{ŠãÇo’ŸÍšUcüx?ªwvv>ŸɆ ÑÄÄÜÁÂBM` 3ƒ×¥S'wÔêâWJKKË%22…ÐÐÓ¸ºZÚÂøF+Æš5×™0áα¿ÿ«%7of±hQ$Û¶ÅŸAA.Œ냯¯·oçðØcëu®}óM?^{­yy5Z­=þÄ5èׯV©‹'^¼˜Êܹ§O$/7v`âÄÆFßS£F«  ]\,J}_@£QòÛµ+ž—^ª¯s.8ØÍ þ8cÇnòê«áŒwßï( ͬ^Üœ{CÏ÷í»+WÒ˜1#‚É“ýññqàÂ…Û¼ûîQž}v/ß~ÛŽ–-] ®÷ôéÇØ¸1†… [Ò¢…3ii¹,[vž‘#ÿæ‡ÚÓª•~^Ÿ}IXØiZµrá‹/ZÓ°¡½‘-V¼>}jrêT2çÎÝfÁ‚ÿæv'$d²‹¬¬Y € 0jT8ý«S«WÓ Ù…••šE‹ZñØcÎ\¿žÎGàÚµ;FÝSqCØïV›6®Ô­kKDÄ-:uÚ‚ƒƒ]»z™™‡¥eÙ+Äçäh07/9µµš… [òæ›Ù½;žÝ»ãqv¶ 8ØN<èÖÍ+«’ÿ™U™}ÄX®®Ê¨„¼< 7ofáæf©—ÆÜÜ„œœü{]5!„åð`M BñÀ4¨NXY©iÓÆ•.]<‰ˆ¸Å­[?Ï7##>h®-Ïß¿óæµ ''Ÿ3"ŒÊkÿþD4°#8Ø KK5..LšÔ//Û¯yíµFœ9ÓÍ›»áímÇ“OngÑ¢³w{[ܾÃðáûÉÏ×°|y[m€zŠèè;LžìO§NX[«iÐÀž ‚Ðh4üßÿצ}ùåÿæq^'ÿÇ“ˆ‰¹C¯^ÅÏË.,4ô·oç0mZS‚ƒÝ°¶VÓ¨‘=sæ’q×÷z·llLYµªƒv(úµké|ýõEZµÚÀÌ™¤¤”Þïbbîàá¡ìÖ¢…3Û¶õ`îÜ@ºuó$335k®óæ›iß~3ë×G•xmeõ‘òÐ0ˆÂÝÝŠøøL²/„ ò…BÜM›:é|wwW¨øøŠ­¬Ôz[Ï5jd››%gΤip^;zpäÈM¦L9ʱc·´AÎÖ­Ý‹}‹_ÀÌÌoo;>ø 9]»z2þöíK(ß ¡l¿öÔS;11Q1ujS½i[·Æbb¢¢KÝ- ]]-iÐÀž“'“‰‹SÚ:8ØFìùý÷ë:‹©-]zžçžó6h¸öîÝÊ\ô;;ŸÔÔš7_Wb>W®¤ááaÀ /xóî»GY±âcÆøpùrÿÈÇ?Vf}²³óIOÏÅÂBµµþvgg ._N3øþ*cN~ajµ¼>õT5:wöà©§vy›M›btÚñí·óûï×01Q1bDCžÞÛèrÚ´q¥MWjÔ°fÉ’slÜ…ŸŸC™×Þm¹‡Ý À©Ä<ýúÕ"66ƒ°°Ó,^|ŽöíÝøúëv÷²šB! $A¾(·¨¨(jÕªUâùœœLM½.¶sçN:wî¬s,,,ŒqãÆUQ„x°Ý§ÛØóÉÉ9h4úi“’”7–ÎÎÅ¿­,©¼þýkÑ¿-rs5„‡'²lÙyF>ÀäÉþz‹º§`K´ònA¦VÃwßcggFHÈN&O>Š——-M›VÓæoooFzz.§O÷+q1ÀÂúõ«Í¼y§ùþûKŒÑåËÏó¿ÿÕÖ™PÚýØØ˜’žžË;yz¾±÷Ysò׬¹Îš5×ùê«¶:Ç==­xê©Ú|ñÅ9¢£uט3'÷ÞkÆž=ñŒw””l>ü°ø•øNbôè8Pü‡Ö­]Y²ä·oçTß»í#啟¯aÅŠË VòCyóNñÅç˜5ë1zö¬.;E!Ä}L†ë‹r«Y³&†üQçøž={Ðh4d€ЩS'4 5ªêªñ@²²2ÕYà«{÷­üôӃσ²GzDÄMc‘‘·IHÈÄ××Áà·øë¹x1P†3»±xqkT*ر#N›î£Nè­z_`×.eh{APn,SÜÝ-±¶V³dIk¬­ÕŒ®3íàñÇk—§áðá$½ë—,9Gûö›tÞ–›››0th=’’²X¾ükÖ\ç…Ê~`Q cGwà¿aûnÝÊæòåtco±RDDÜ"=]?ÈNKSŽy{ëïqokkJÏž5hÜØ‘M›bJÌ[£Q;v«Øó'N(Ç ¿Å¯Ì>R^¡¡§9~ü&=zT§gÏ%¦Û²%–š5­4¨ŽøBqŸ“ _!Ä}¥qcG._N#66ƒ£GoríZ:AAΟ°³3cÞ¼Ó=z“ŒŒIIY|ùå94e÷ÂÖ®½ÎÂ…g‰ŠJ';;Ÿ¨¨tæÌ9Åš5×iÒÄ‘Aƒê–«M «YÓ†Ï>kÅÍ›YŒNv¶òÀcâD?j×¶áw³kW<©©9$'góã—Y´(’wßõ×{Ãÿì³õ°´TóÉ'§h×Î:ul ®Çĉqt4gÆŒãìÝ›À;y\¸Êøñ‹Â_’“³3ægϦ››Off6Dóë¯× r¡[7ϯµµ5%--§Ì2ÆŽ=ÀÚµ×IHÈÔþÌ—-;ÏÂ…giÒÄ‘j뤿}¤4ùù’’²øë¯X† ÛË—_ž#$¤.Ÿ|Ò¢ÔQ2ii9Ü !ÄâÑ|Õ*„¢Ò;v‹wj¿7n¼–Ñ£1~¼Ÿv{€¾}·Ó¹³K—¶`êT¦L9F[qt4ç½÷šé¼q-ë<(Û›½ÿ~3fÎŒàÈ‘›äåihÚ´+V¨û@ ,+W¶gåÊ˼ñÆAbb2°°0¡n]fÍzŒ:ÚtcÇúR¿¾=6DñÛo׈ÏÀÌLE½zvLœèÇ /Ô7hë¶ë×G1nÜAí÷úõÿ`Êœyæ™=€ÒÆ~~kèׯóæµà÷ß;ñùç‘LŸ~ŒØØ ìíÍñós`ñâVÅÎó®VÍœ~ýj±jÕ^~¹Þù­[cyõÕpí÷Æ×j˪]Û†_~éÈœ9'3æ¹¹6´gìX¾þúû÷'R¿þ„„Ôá£Êžç_Ñzõª¥¥šuë¢=úÑÑw055ÁÇÇñãý6¬^©ÓTeÌ yì1'V­êÀÖ­±|ûíEfÏ>IRR––jêÕ³ã7|yþùzÚaøPñ}Àß-Ê‚ýKýú0iRív“EÏ©T`kkFõêV´há¤IMhÜØÑ¨2…BÜß$ÈBQ)š7¯Æ… Š=WÒq€zõìøñÇöå>_ÀÛÛ®Bóõu`ÆŒæe¦³µ5%$¤ŽNà7úô©IŸ>ÅoeWRû9:š3y²?“'û\N@€§N%ë†èÞݳԟ•——-_|ÑZïxçÎŤ¾·ÌÌLxüñê<þ¸²8âܹ§¨QÚgžñ2èzssòóK^ ÐÄDE` ³Q*ºœ8ñd¹Î+/Oƒ…… BˆüßZT‰˜˜Æ¯¯/ÖÖÖXZZÒ¨Q#&NœÈ7ôÒÿóÏ?ôíÛ'''ÌÍÍ©_¿>sçÎÅÇÇ•J¥ýøøø]ÆO?ý¤“‡J¥",,Œçž{OOOÌÍÍ©[·.o¿ý6ú[}•T7!„xüøãƒ|ÔxxX¡ÑÀYU]•*—›«!99[»3ƒBˆû›ùâž;qâM›6%,,ŒÔÔTŽ;Æ™3gÈÉÉaÞ¼y­Mÿ×_ÌúõëÉÏÏgÛ¶m:tˆèèh"##µéÂÂÂ8{ö¬Ñe<ýôÓh4llþ›‹:oÞ<Þxã "##éÑ£W¯^eîܹL›6Mç^ ­›BÜ/~þù*¯¾Î;y¬\y™””lz÷.~ÄÀäm[Wüý –Þ¡ƒ²°à’%çîùŠ÷÷“ÔÔ–/?On®†Ž«~„†Bˆ²Ép}qϽüòË$%)«?8† 0xð`fϞ͵kט0a?ýôcÇŽ%''G›¾}{e˜îŒ3øüóϵç¢†N`` öš?ÿü€Õ«WªMWžº !*Dzeç™=û¤ö{ýúh×(NáuJòúë¾¼þºO™éŒU•eƒ2×> ` س`AA[î=èŒÝ{¾{wOÞ~»1¿ýv~¸DëÖ®zÛñU¦ªî#o¿}˜µk¯S£†5cÆøð¿ÿÕ.û"!„UN‚|qOEGGsðà IU¯^]ûß5jü·uÏêÕ«ÉÈÈ !!AûvÀÛû¿=|íììpww'**ê®Ê°²Ò~X¿þCWíìþ[Ыðƒ«W¯]7!Då>¼Çë/W’ÒæšW¶ª,{Р: TqsÂf#F4dĈ†URvUö‘sæ2gN`UWC!„‘d¸¾¸§ââât¾¿óÎ;ÚyðcÇŽÕÏÊÊâòåËzóó--u÷¶.<ľ¼e§h94šÿa*OÝ„B!„¢2I/î)77Ýá’3fÌ@£ÑûñóóÃÅÅE'}Ñ…ïÒÓÓﺌò*OÝ„B!„¢2I/î‰Õ«WãèèH­ZµhÞü¿­¨Nž<©—¶sçÎtèЀ:uêàëë«=wñâEí§¦¦¯w½±e”Wyê&„B!„•I‚|qÏ-]º{{{~ûí7¾ûî;RRRHHH`Ê”)¼S|„¢²<8ÿÒB!@·oçpåJ~~ØÙ™Uuu„x`H€/„å#oò…B܉‰™Ì™sŠ={P«U81mZSj×¶tç:|8‰úõÿ”!ð‘‘ý:ïînÉ_´fîÜS?~“ü|hÖ¬ãÇûèlT½³³óùüóH6lˆ&&æj<¸.:¹£V¿š^ZZ.‘‘)„†žÆÕÕ’ÐÐF•[táÂ-[ºv†¿ÿN$99€ƒ{S­š97of±hQ$Û¶ÅŸAA.Œ냯¯ƒN¾/¦2wî)ÂÃÉÍÕа¡=cÆ4â›o.²"!!uèÒųԅ““³ùì³³üõW,±±X[›Ò¼¹#F4 uk×bïaçÎ¥ö²4j´š¼<游XnØZ.†´ßgŸEv€À@gV­êÀîÝñ¼ôÒ~Í9t¨·Aen¿¸¸LœœÌñö¶£_¿Zôî]SàR7cÛ¹¬ß%Cûž½½›6EóóÏW‰ŒL!55—:ul4¨.Ï=WYiR!ª‚JStóqc3P©Xµjƒ ª¨: !ÄC#$$€_~ù¥Rò'--Í ´õë{óé§ñôêeXúŠR°ð^·nžŒÙ޻ɫ¯†S¯ž¿ÿÞI'½¿ÿZüüµATQeïÛw;W®¤áããÀäÉþøø8páÂmÞ}÷(/¦òí·íhÙÒÅàúOž|„cX¸°%-Z8“––˲eçY¶ìüð1 ª£—Gá>päH#G†Ó°¡½^¸—2 n?(¹ÿõᅢ¨¨;ùí—••χ6§U+W22òXµê aa§™2ÅŸ_¬otÝŒmç²~—Êê{G&1bD8'6fȺäçúu×™9ó/½TŸI“šèäW°ðž±«ë´k·‘7²du}ñHªª¿ß¢ê¸»»ckk[ÞË‘áúB!î‰Aƒêà„••š6m\éÒÅ“ˆˆ[ܺ•]áeedäñÁ͵åùûWcÞ¼äää3cF„QyíߟHƒv»ai©ÆÅÅ‚I“šàåUòß×^kÄ™3ýؼ¹ÞÞv<ùäv-:{W÷4rdCZµrÁÊÊ”fͪÙŸjÕÌ =Etô&Oö§S'¬­Õ4h`Ï‚Ah4þïÿŽkó =ÅíÛ9L›Ö”à`7mÚ°°ddä\—ÐÐÓDEÝaêÔ¦té≭­)^^¶„…áêjÉçÆ ýUÔ ÷víÜèÔɽÒú€¡Œi¿Š+Si¿iÓ”ö³±1ÅÅÅ‚×^kD‡îw]·Šnç’ú(±Fjˆƒƒ9Õª™óÜsÞôí[“o¾¹@ZZn¹ÊBqw$ÈBqO4mê¤óÝÝÝ€øøŒ /ËÊJ­7L½Q#{ÜÜ,9s&…„÷ãêØÑƒ#Gn2eÊQŽ»¥.¾uk÷bßâ033ÁÛÛŽ>hN×®žÌŸ†}ûÊwC(Ó Š³uk,&&*ºtñÔ9îêjIƒöœ<™L\œÒÆ»wÇСƒ‡NZ'' êÕ3üÁ–-1t¹¹ mÛº’™™Çž=ñz×ížžV@åôCÓ~Æ8wî6õëÿ¡ó™>] Ê Ú¯cGw½ë¾úª-/¾Xÿ®êVÑí\RßëÒÅ“~h¯wÜ××Ü\ çÏß.5ßÒÚH!DùUÈœüÁƒ3xðàŠÈJ!:5kÖ¬ê*ÜììtÿäÌ×½»Icų·/~;gg 2IJÊÂÍÍÒ ¼¦OoF@€¿ÿ~•aÃöТ…C†xÑ£GuƒòèÒŃ-[bر#ŽvíÜ »‰"¬¬ô!ËÎÎ'55€æÍוxí•+i89Yžž‹……kký¼ [° L u±Ûš¹¸(횘¨ÿ ¥h07Wêah¨è9ùÆ´Ÿ‡‡•a•üWÆö\¸0 Ä2Kj¿Š¨ÛݶsQÅõ=€ÔÔ–/¿À–-1ÄÅepûvŽÎù²F‡”ÔFB!îN…ù½zõ¢aÆ‘•jþüùбcǪ®ŠxDýùçŸäIUÆZ]eHNÎA£ÑO›”¤ !wv¶0ª>ýû×¢ÿZäæjOdÙ²óŒ}€É“ýyé¥úeæQ°m^Á¢eÅÜÜ{{3ÒÓs9}º_‰‹°±1%==—;wòôý‚¶1¤L;;3RSsHOÏÕ ToÜP‚{WW⣢çcÛ~ <œÊÉÉ×;^4À-­ÌÒÚïnêf,C~—J3bD8Þ`Ú´¦ôí[“jÕ,P©àë¯/ðá‡'¸ËeŸ„B”S…ùÏ?ÿ¼,¼'îKóçϧcÇŽ„……UuUÄ#***ªª«ðÀ±²2Õ ¢ºwßÊË/7àé§ët ++ˆˆ›4köß°åÈÈÛ$$dâëë`ð[|€€€õüúkG¼½í05UìF‹Îøû¯eÇŽ8mÿÑG'¸q#‹yóôWÑßµKºÞ´iñÞïÆã×à—_®pøp’Þ‚‚K–œcÅŠKìÜù8jµŠŽÝÙ°!šÝ»ãyâ‰ÿF!$&frù²á :õèQß~»ÊŽqôéóßC¬ìì|öïOÄÒRMûöúCÑïGÆ´€››¥ÞùÄÄLbbî`kkØhˆ‚öÛ¹3ŽÞ½uöí»Ö­]™2ÅßèºËߥ’äåi8|8 WWKžÞ[ç\V–þC!„÷ŽÌÉBq_iÜØ‘Ë—ÓˆÍàèÑ›\»–NP³Áçìì̘7ï4GÞ$##'n1aÂ!ÌÌL˜6­©Ñuš6ígϦORR_~yÚ´qÕI·víu.üð;vÄ‘žžK\\ᅵÄÄL^|Ñ»\u3–!¿K%Q«U´jåBbb&K—žçÖ­l23óOdåÊË宓Bˆ»'[艇šJ¥bܸqò&_T™Gy ½cÇn1pàNc£G7büx?í¾Ü:wö`éÒ6\º”Ê”)Ç8yòŽŽæŒÕˆ¡C½´iË:_°M×wß3sfGŽÜ$/OCÓ¦Õ˜0ÁÀ@˜gΤ°råeþùç11XX˜P·® ƒyRG;ä9--—£Ù°!ŠË—Ó‰ÏÀÌLE½zv<ñDu^x¡¾vïóò¶Pìæääl>ÿ<’­[cˆÍÀÞÞ??^y¥Þ—/§1gÎIþþ;‘¼<ðõµç­·š0þi""’9q¢/ ¿÷:@¿~µ´#”}Þ•2ãâ2°²2¥yójŒÑPûð£¼}à^3¦ýRSsøè£ìÜÏíÛ94iâÈ”)þL›vŒ“'“e5ú·Þj\f™…ÛÏÉÉ‚–-]7ΗºumuÒ•U·Šþ]3´ïݺ•Í'ŸœfçÎ83qt4§cG\]-Y¼8€&MéÓ§&³gŸ,¶~¥Ù¾=–#‹=7k–î6B<Ìd ½GÏÝn¡'A¾x¨I/ªÚ£äW•»Ù‹ûQÖ£Ç_dfæ±{÷ãU]!„…<*¿Åî6È—áúB!Ä#"11“ÀÀ?ÉÍÕ}¾•ÎÕ«izÓ„Bñà‘ _!„x„¤¤d3uêQbc3ÈÈÈåøñ›¼ñÆ!ììÌ3Ƨª«'„Bˆ»T!«ë‹ûShh(o½õ5jÔU¾Åý/4þí³Ô¨Òg…–-;¯3ï·~ý?J÷[t®rq^Ý—×_¯øÀ·ªÊvuµä»ï‚Y±âC†ì!>>3Úµs#,¬µjYWhyB!„¸÷$È¿åä䈽½={÷î5úú‰'2qâDš7oÎ7*¡†B‘“`oåè³Lœ¨|š7é³ÂHÇ7`øð§/n»{¥*ËnÛÖ•¶meX¾Bñ°’áú÷¹üü|òóe¿YñÉÏW>B!„Bˆ{NÞäßÇÌÌÌ8yòdÙ …¸_˜™ôY!„B!ªŒ¼ÉB!„B!\¿zõjT*•ösåÊŒ££#ÎÎÎôéÓ‡‹/jÓÏœ9S›688X{|Ó¦MÚã...%æõêUŒÎÎÎ 6Œ[·nqåÊúö틞žž¼òÊ+¤¦¦jóY¿~½N>™™™:÷‘””ÄøñãñööÆÜÜœjժѳgOvìØQ⽟={–Þ½{ãàà€µµ5;wfß¾}:i²²²xï½÷ðññÁÚÚ'''úöíËÚµkÉËË+w»?²‚ƒA¥úïóì³ÊñnÝt''—œÇêÕºi¯\ÁƒÁÑœ¡O(Ôg™9ó¿´…ú,›6ýw¼PŸÕËÿêU%;;%ÿaÃàÖ-¥Ü¾}•ãžžðÊ+P¨Ï²~½n>Eú,II0~+„B!1\ß¿4 ýúõ`ܸqŒ7ŽèèhV­ZÅöíÛ2dˆ6ýÔ©SÑh4ØØØèäóÄO Ñh ,5ÿñãÇóöÛoÇüùóY±bC‡eܸq̘1ƒØØX¦OŸÎ²eËxÿý÷µùôéÓG'ŸÂâââ båÊ•,X°€7npàÀ¬­­éÚµ+Ë–-Ó»&--Ñ£G3yòd¢££Ù½{77oÞ¤K—.ìÚµK›n̘1|úé§,\¸¤¤$Μ9ƒýúõcÏž=åhñGÜÞ½pìØØ@³f°d‰rüÏ?¡U+øñGÐh”€½$ýû+i ú¸qÊ':V­‚íÛ¡PŸeêT%}‘>ËO(Ç‹ôY½üLJ·ß†¸8˜?V¬€¡C•2gÌ€ØX˜>–-ƒB}–>}tó),.‚‚`åJX°@YTïÀ%(ïÚUÉ«¨´4=&OVîu÷n¸yºtB}–1càÓOaáBåA™3JÀ߯HŸB!„˜G.È/jøðá´iÓºuëFïÞ½9xð`…­FÿòË/ˆ Æ £qãÆlܸ‘ñãÇÓ¼yslmm9r$^^^lذÁ <ß}÷]._¾ÌüùóéÓ§ööö4lØ•+WâééÉ믿N||¼Î5)))Ìš5‹víÚakkK‹-X±bÙÙÙ¼ñÆÚtÛ¶m£qãÆtïÞ+++ÜÝÝ™;w. 6¬öx$5k_ ÇÃsÏ)ðÈ‘JpûôÓÆç7|8´i£ñݺ)oº¬¸Õè_~Yy`c£¼ÅoÜ6nT‚ÿæÍÁÖV©¿—Øgy÷]¸|YyhЧ²ú~ÆJÐïé ¯¿Eú,))0k´k§”Ù¢…òÀ!; õY¶mSêØ½;XY»;Ì«ä/„B!Ä#æ‘òƒ‚‚t¾×ªU €˜˜˜ É¿E‹:ß«W¯^ìñ5j\æ(û+÷îÝ[縅…]»v%##ƒÍ›7뜳´´¤U«V:Çüýý©^½:Ç'66PF(ìß¿Ÿ#F®¢I§N ªŸ(FHL™¿ÿ® ¡OJRÞŠ—G‘>Ë¿}– ê³é›üÛgõŽ×¨ax™ÿöYŠôY,,”‡P¤Ïbi©Œv(Ìß_©ÏñãʈPF(ìß#F@xøCô##Aú¬B!„xÄ<òA¾ƒƒƒÎwsss€ Û¶ÎÞÞ^绉‰ jµkkkãjµÚ 2³²²HIIÁÒÒ;;;½óîîî€2¤¿0gggT*•^z777øì³Ïøî»ï¸té]»vÅÞÞž'žxBû`AÜ…3” uÿ~%è7)ç¯_‘>Ë¿}¶Â¶­+Òg11µZZ_˜ZmX™YYÊ[yKKe>QÿöYŠôYœ•¹ýEýÛgù·ÏòÙgðÝwpé’òÀÀÞ^ ü¥Ï !„BˆGl¡g ²³³õŽ'—¶`Z%°°°ÀÁÁ””RSSõý‚aú:ÇSRRŠÍ¯ ¸/öU*Æ cذaäää°sçNBCCùßÿþǼyó?~|EßÒ£cçN%Øõ÷Wæš7k¦|*‹‰‰2´½¨{Üg±°PL¤¤( õ ô †éé³”ÐgµÁ}A°¯R)Ó † ƒœ¥CCáÿƒyó”i¢JlÝË«¯†k¿Ÿ:õ$ê*¬QåÒhàÈ‘$Ö®½Î¾}‰DGßÁÎÎ //[žyÆ‹'Ÿ¬Uìs+Qõ–-;ÏìÙÊöŸîî–ìÛ׳Škt˜;÷5jXóÌ3^¥ÏËÓv†£ˆÍ ukW¾úª­^šU«®ðÇ×8þ6y8;[àëë@§NtîìN͚ʚ2}ûnçÌ™þãÍ7ýxíµFÚï'NÜâûï/qàÀ 3±°PS·®-]ºxðüóÞØÛ›é\ïï¿–ŒŒâl577ÁËË–!C¼:´^©¿ËW®¤Ñ­ÛVš5«Æo¿u*³ÞgΤ°bÅ%þùçqq¸»[Q³¦5­[»Ð¡ƒ¾¾Ú2K«gQüÑ ÿj¥-*"âÖ¿õJ"11KK5nn–Ô«gKÛ¶®´oïNíÚ6%ÖiÒ¤& ÞÀ ² m3cúOyÒ¼óÎÖ®½Ž»»]»zðöÛê¿]âáôÈ¿É7”§§'ÑÑÑ:Çâââ¸víÚ=¯Ë€øóÏ?uŽgee±mÛ6¬¬¬xüñÇuÎ¥¥¥qüøqc'Nœ &&†fÍšáéé €££#gÏžÀÌÌŒîÝ»kw (Zž0ÂåËÊ\÷ß~SV}·²R†KL¬¼2==•ë ‹‹ƒ*è³üÛg)Ú‡²²”9õVVP¤Ï’–¦ Ë/ìÄ eŠ@³fÊý²há¿}33en~ÁŽÒg«T÷îž\¸0€nÝ<«º*÷Ä¥K© ¼›+WÒY´¨%ÇŽõá·ß:Q½º&böìU]EQ‚áÃpáÂ|}ÊN,JôË/WY¼8’jÞK/À˜8ñÓ§§{wO6mêFDD_~ú©~~|ðÁqú÷ß©“~Ñ¢V\¸0@û2DyàðÕWmuŽ÷î]SçºÐÐÓ ¸ s–.mÃÑ£}ع³cÇ6bË–ºuÛÊáÃI:ל8ñ$ëÖu [7OmÞgÎôã·ß:akkÆôéÇ™3çd©íðë¯W8~ü.¤–˜.?_Ü9§èßææ&|úiKì;}=ùä“xzZzš'ŸÜÎÉ“·Ê¬gÑYIE—*?_ÃìÙ' Ù…³³Ë—+í·ys7¦Lñ'--—÷ß?N—.[ÈËÓ”X'C|0¼ÍŒí?ƦøøãÇ8t¨7#G6àÛo/òÕWõÒq¿“ ß@=zô &&†E‹‘––ÆÅ‹yã7´oÀï¥>ú///ÆÇúõëIMMåܹs<óÌ3ÄÆÆ²`Áí°ý666Œ3†žžÎ¡C‡xöÙg177gÁ‚:iGEDDYYY$$$0gÎ4 ]ºt¹—·ùðHKSV°Ÿ?üü n]øõW%X8Pyû\zôPÊX´H©ÃŋʂuUÐgùè#e¡¾qã”­öRSáÜ9xæený‚ÿ Û/`c£¬œधáCÊ„ææJúÂF‚ˆå¡ABÌ™£¼V•>û@ò÷_ËàÁ»Ë}¾*©Õ*>ý4,,ÔÔªeÍœ98:šóý÷—Èή i5ŸŸÛE<8RSs˜7ï½zmcùòó|øá ú÷ßÁGàâÅ’ƒ/€”×/¾X_ï-9(o†×­‹"$¤#F4ÄÃà 5µkÛ0aBcƒG ”å³Ï"Y¼8’éÓ›1eŠ? Úca¡ÆÁÁœ.]<ùùçT¯nÅK/í/óžÌÌLðõu`þü LLT|õÕ’“‹)‡ ÿñÇ5üü”FÁkqÂÂNóå—çxÿýf¼ÿ~3|}°´TcooFÓ¦Õøè£F޼÷‹È†…fÙ²ó|ðAsÞy§ ÞÞv˜››àâbAp°_}Õ–ŽÝËÎÈ@†¶™±ýçnú›)C†xaeeªí×B}úh¯›9s&ÇgÖ¬Y¸¹¹ñ /ðÖ[oáááARR*•ŠI“&•˜ÿ¡C‡P©TlÞ¼™¼¼áÝwßÅÃÃ:P­Z5¶oßNÇŽµyïÚµ ž~úiœœœðõõeÓ¦M,]º”É“'WØÏá‘1fŒ2<="Bysò¤² ~§NJp¿{·´ÎœYrááÊ[éûVVÊ6y ÿ·Ï ¬\_`æLe%þY³”Àþ…à­·”añIIʵ“&•œÿ¡CÊñÍ›•ÅìT*˜=[ÙP¥R¶±KOWþ»Œ>‹‡‡²À!ÊJúÎÎв¥rý_Á¿}–ÐP%¿ãÇ•7ôŸ|¢¬Ìïá:@µjÊ–…ú,»v)[æ=ý489¯/lÚK—*Ûï qx{ÛÙsãff&xzZ‘OV–aCl…¨ YYy„„ìbõêëüßÿ5ã¹ç¼™8щ³ys C‡–¾-é­[Ù¨Õ*llŠŸ zþümêÕ+f}Ð{¿n]žx¢ºAu_° ˆ×^kÄÕ«é|úé7vÔ¾õ/ÊÊÊ”)SüIOÏeÆŒƒòðô´ÂÕÕ‚¼< gÏ?`ïÞLMMøðÃV¯¾¦}Û]ØÅ‹©,Yrž&MK 6GŽlXî¡âGö1z¨~áz \·Ø4jµŠ1c|ÊU§âÚfÆöcÓÇÎδÄ:BÜϹ9ù­[·F£ÑÿPâqPè[ºt©ÞñC‡œOyÊÍËËÃÄÄSSÝ•³³3aaa„……•xíĉ™8q¢Î±íÛ·—˜ Y³f,^¼¸Ô4‹)Ÿ¢Jù™ëiݺäô¥åãà ºEÓgο´róò”õŠôYœ!,Lù”dâDåSX}–fÍ@ú¬¸Ý¾Ã•+iøù9”{ø¬÷ÂÞ½‰\¸Êر>¹°sg<j‚ƒÝ˜93€‰‹ùûQH~~éÛ\\,ÿ-'ž—_®¯w¾eKê­wÜ+W^"/OCÏž¥? rÁÍÍ’½{¸~ýµjY—š¾@ÁŸ¿’ï_~¹ÊSOÕÁß¿>>œ=›ÂÎñtíª»îÌO?]!?_CÏž5J-ÏÞÞŒS§ž4¨nÞÍ Auxê©:F]§Ôë²Aõ pâÂ…Fç_CÛÌØþSýM¥¢ØBÜï¹ ÿ~פIÖ¯_OݺuˆŽŽ¦víÚzA¾÷&M”!øÿöY¢£¡vmý _<ò3™3ç{ö$ V«pbÚ´¦Ú…› /~vøpõë+;$¨Õ*"#ûuÞÝÝ’/¾hÍܹ§8~ü&ùùЬY5Æ÷#0ÐÙ¨zggçóùç‘lØMLÌ,,Ô:3xp]:urG­.~®´´\"#S =««%¡¡-ŠMw·e—Õ.’“³ùì³³üõW,±±X[›Ò¼¹#F4 ukW@±Ä-[ºv†¿ÿNÔ¾Í:x°7ööflÚÍÏ?_%22…ÔÔ\êÔ±aРº<÷\=LLtÛäâÅTæÎ=Exx"¹¹6´g̘F|óÍEöïW†Â†„Ôá£àæÍ,-ŠdÛ¶Xâã3°³3#(È…±c}Ê5o¾ð½ÇÅeâädŽ··ýúÕ¢wïšXZ–ü¦4/Ocð½ÚWÊÛ§ kÔhµÁÁ‡‹‹áá½ÊLWðÒa×®x^zI7( v3(Ò¹àêjÉž= ¼ôÒ~FŽlHP³^¹ÿü£m‘” IDAT̳÷õu,3­¯¯ ™&扉™ØÚšÒ ½Þùääl¶oãwšðÔSµùðÃüò˽€õŸnhëp?9xPi?Ÿ{S/cÚÌØþs/ú›÷«Gn¸þƒ`îܹ¤¥¥±víZŽ;ƨQ£ªºJB”nî\eÞÿÚµpì˜2G^ˆ"fÎ<Á‹/Ögÿþž,\Ø’ƒo0nÜAíù‚ÅϬ¬”€§`ñ¨‚@ÕÐó¾¾ܾÌŒïǽùñÇö¤¤äðì³{µÿ¸6ÔôéÇøöÛ‹¼÷^SêÍæÍݨWÏ–‘#ÿæÐ¡¤b¯ùì³Hš7_ÇàÁ»11/¾hMÆúAAE”]V»€ò€¥ÿ¬[Å´iM9tHYÐÊJͰa{ùùgelÑŧN=ƳÏÖcÏžÇùí·NÚàs×®8Þxã mÚ¸²ys7öî}‚§Ÿ®Ë¬Y'˜3ç”Î=\½šNHÈ.Nœ¸Å¢E­øçŸÞ|üñc|ûí%Ξ½¹¹ . Ðø ™ °“ ¢ø¿ÿkÆ‘#}Y¹²=ÉÉÙ ¸‹£GoÕ†÷¾~}ô¿÷Þ›5kºÐª•+ï¼s„¼\êõÆÜ«¡}¥<}ª¨ÈÈþ%.¸VôchpÞ¦+uëÚq‹N¶°qc4—/§’™iØ4“œ ææ%?0±¶V³paK<=­Ø½;ž¡C÷ЦÍF&L8ĺuQddäTNiâã•ÕéË5ãè¨L­IHÈ,5]n®†3gRxóÍC˜šš0}zslmõd¯[E@€5k*£ú÷¯©©Š;âHJÊÒI›˜¨”éàpw£{þú+–úõÿÐù]PÐmaHûUcÚÌØþSýÍÜÜ„œœÊ[KEˆÊ"Aþ}fùòåœ:u OOO&L˜À¬Y³ô†Ü q_Y¾NRV»Ÿ0AY@ú¬(Æ AupÂÊJM›6®téâIDÄ-nݪøùŽy|ðAsmyþþÕ˜7¯99ùFÍÁØ¿?‘ ìvÃÒR‹‹“&5ÁË˶Äk^{­gÎôcóænx{Ûñä“ÛY´è¬Ñ÷Qž²‹zš¨¨;LÚ”.]<±µ5ÅËË–°° \]-ùàƒãܸ‘¥wÝÈ‘ iÕÊ++Sš5«FddªUS£V­\5ª!æT«fÎsÏyÓ·oM¾ùæii¹…Ê>ÅíÛ9L›Ö”à`7¬­Õ4h`OXX‹b· =Etô&Oö§S'mú ‚Ðh4üßÿ×»Æ{Ÿ6M¹wS\\,xíµFtè`Øâa†Þ«¡?¯Šú¹V4SV­êÀsÏypíZ:_}‘V­60sf))¥ÿ®ÆÄÜÁÃòÔ4-Z8³m[æÎ ¤[7O23óX³æ:o¾yöí7³~}T…܋ʨý*õGDž}|VÓ·ïvœ-ؼ¹ýû×*6—_½ÊÀÿ ‘¯VMYè//OÃêÕ×uK,cFß¾Ûu÷Q£Â‹MWÜêúÆŽV*ŽqíW~Æ´ßî¶¿¹»[Ÿ)CöÅG‚üûL«V­Ø¹s'©©©œ?žI“&¡VËÞœâ>Öª•²7}j*œ?¯,æ'}V£iS'ïîîJ0Pðæ­"YY©õ†Á6jd››%gΤ”ùæ®°Ž=8rä&S¦娱[ÚìmÝÚV­\J¼ÎÌÌoo;>øàÿٻ󰪪ýñãïÈae25PјL4TRA3½*Ùµ__ ‡L•®átKÍ¡(%‡2)o]CÍ9½6ˆ8¥¨hÎ#˜2‚€ÌœßxNÈáÔõzžç²÷Ú{}ÖÚËk¯a{àççÀÊ•W9v,£^åÐ4ï‡ýö[ ýû+OÕ×סW/Š‹+8z4]å:w÷š7íòõuà‡|TŽ»¸˜S^.SlxpäHÕ}_~Y9o++):¨vj÷ïOEGG‚¯¯ò§ml pv6ãÒ¥\Å·ÄÕ!/{M»ûm/ÆW]«[]}ʪîój¬çÚ¬­¥,XàÆ©SC=úyÜÝ­ÐÑ‘ðŸÿ$òÆGkÜ<27·”õëãIN¾Ï?ÿÙ¡Î<ôõu1¢-_}õüáÏÿÛÿÖäæ–2kÖi®\©yS;uØÚ(bª‹<¡Ê¹êçcÇ3thk~û-…Í›“j¼×µky$%0hr»•w`Þ1^þÿµ½äܳǗ„„ìÜÙ¯Îr4&yý5ÅËׇշÎäêÛ~ÒÞÆŽmOAA+V\y,u"E,šA SSåÿäÈ×EÖgJuÕôù.¨êÀdd“]¢øc¶.~莧§;vÜâÍ7 {w+ÆŽmÏ+¯¨·ó·¯¯=¿ý–ÂÁƒiôî­þg,#ïÒÒJòóËJukÜõ\¾9•|úpu††5¿°ËÏ/ã›oøí·ÒÒŠ¸wOùS òúÒÒJ Ë‘Ju12R½×ÃS•å±xx쩵LIIØÛ«vÌVWÙÕ¡nYAýçÕϵ)ÖäW§«+ÁÊJÊ?þaIÿþöüㇸ~ý¿ü’Âðádÿë_gرã/tt$LœØ‘·Þr¬w>ÞÞ6x{ÛðÜsF¬[wƒŸ¾£øœZ}õèÑ’K—r¹r%·Î™W¯Vuîêz±bggÀ'ŸtãâÅ»¬_ƒÁƒ[©ìZ¿mÛ- Ëqu­¹ÝÆÇßãüùÜÝ«^vzyYséR.—/çѯŸ}×hjË–—5¾V^×®å5êgòjRß:«I}ÛO}ÓÞ†ÔÔ"V¬¸ÂW_ÝÀÇÇ– z׿°‚𘉑|A¡Y©k–¨:³HssËj|y _ãim-­W<møþû>œ=ëÏ—_öD&ƒ)SNòí· jÝC__çA\õ ªOÞµÕ‹¾¾¦¦-()© °Pu jVVUçÞÆF½—'ž`õêk¶#:z ññU#žsçºoয¯ƒ±±%%Ü¿¯:üðš[}}ÌÌZ(6 ¬m¹|£ÀºÔUöÆ,+¨ÿ¼£M5ÅšüÝ»oóöÛÇUŽ;8òTmL—œ|_éÜ'Ÿ¼È¹sȈðâ›oâ™7ïl­÷?s&›ž=÷Õz^þ\ïÝÓ|mþرíÑÕ•ðóÏ)Lwút6ÅøúÚÓªUÝ;ëK¥º„†vE&ƒO?UÞ‹¡¼\ÆîÝ·ùñǾ5Ö¿|¶Èöí)®yýõöèèHØ»÷N“¼èÔ”¼þ~ùåÑõ·|ù%œw’˜˜¯Q>šÔY}ÛOc´·Ï>»Lxøe-òäìYÑÁž¢“/‚ 4+††zJ ¸_iŠl]ç¡ê{ß.(oÐvýú=22Šqq1W{ÀÓs¯âY== }úØòÕW/!‘ÀÁƒiŠtK—^dÖ¬š?1vøpÕ”u7·ú}³ZݼáÑõ"~øšÒÒJŽÏÄÀ@õFí**dœ9“o½åˆ••Tñ‚¡¤Duƒ*ùh |Ú¾\ff17o¨¤4è9E[·î>>¿Ôk}¬¼ì‡¥©œ6,†?¾Xëµõ-«ºÏ«>Ïõq»pán/Dä{8:ª~sÜÄDÁƒŸ£kW‹Gve²ª;çÎÝ­ñüÅ‹UÇ5ÅhßÞ„à`._έuSÅ¢¢r/¾€……>ó绫}ïÁƒŸ£KsŽÏä÷ßÿ^zsà@*VVRºu«yÄyôèªéç{öÜQlbèèhʤIÎÄÇßãë¯oÔšgeö|«Úp²~{ÈëïâÅ»lÝšTcš?ÿÌgÓ¦› ÒºÆöð(:í"11_£:«oûiŒööÛo©´nmĘ1Ï‹O  OÑÉAš•®]-¸y³€ÔÔ"ΞÍ᯿ ñò²Vû<€©i >ûì gÏæPTTÁÅ‹w™5ë4-Zè0¾[½cš?ÿ×®åQZZIvv _}™¬j7òê~úé6«V]ãÎBJK+¹s§O>¹ÌîÝ·yá ÆŒi×dy?ª^BC»Ðºµ‹_ &&•ÂÂrnÞ,`ÆŒ823‹™?ß–-՛ݠ«+¡gÏ–df³~}1Wý~­[ññÇ9x0ÂÂrÒÒŠø÷¿Ï“™YÌøñµO/¯oYAýç¥nºÇ-7·”©SOríZåå•W°o_2Û¶ý…—WKÅ—jbb¢GAAY­çå¦M;ÉO?Ý&#£Xñï$22žU«®ñ ŒQ÷çìå½÷:1yrG>üð<|øø{”–Vrï^11©!3³˜ÿü§7mÚÔ=Š/'‘ÀÌ™]€ªÑ|ùüöí)m÷°ŽÍpw·"?¿Œ_ýû%ÈŒ]˜0Á™ððË„…åÒ¥\ŠŠÊ).®àúõ{|ùå &MŠEWW¢²< )UÕ_'æÏ?ǧŸ^ææÍÊÊ*IO/fëÖ[Œ÷;;›³lY7óдΠþí§!í­  Ltî…'’D&kØ$!‰D–-[3fLcÅ$F"‘Š+´ŠðŒ=z4[·nm’û§§§SP :Z''G¾ø"!CÔKßPçÎÝeÔ¨CJǦLéÄÌ™]ßr—ëßßžõ뽪Q¢¹sÏqéÒ],,ô™<¹ÿüg{EÚºÎCNN ß߇ŋ/ðÇ9TTÈps³dÖ¬.õÞyúêÕ<¢¢nrêT))EH¥:´kg̘1í=úyÅÈnAA9?ÿœÌ¾}w¸y³ôô"Z´Ð¡ƒ)¯¾ÚŠÿû?§G~½!y«S/Uߊ¿ÎþýUkË õðð°dâÄŽŠŽeMÏ !a„Òïwï–òùçW8t(ÌÌb,,ôéÛ×¾úê:/¼`Á®]ý¸y³€O>¹Dll&àâbÆûï¿ÀÊ•W¸p!—‹‡)Ý?7·”µk«bMM-ÂÌLŸ.]Ì™0Á¹^{ÔVv++)=z´$$Ä…víLˆŒŒgÙ²KJ×ÈÛj}ʪîóªÏs}œÊÊ*‰‰IcÏž;\¹’Krò}ôôtèÜÙÿÖ¼ùfôôjî­·ŽqâD¦Òç««¬”qölû÷§—EjjÙÙ%èÒ¡ƒ)ƒµâ­·:`h¨ºÂöí·˜=û•ã.¼Vã~P5RûßÿþÉÉ“Ydd£¯¯C‡¦ èÀ›ovPé¼¹ºþ¤òŇ¡C[á¥tìõ×Ôø©CwwK¶oï§tìÎBúõûMéØÃ{$\¾œËÆ79y2“ŒŒªÜ-,ôqr2ÅÛÛ†×^k£øÄ\mqÖfåJ/üý[«•öa.Üåûï9y2‹ÌÌb¤R]œM6¬ o¼Ñž-þ+¬OLÕÕ§ÎŽ\¯öÓö&×»÷ÏXYIٳǷÞekLNNí ÿ‹€€ú×±ðd²³³ÃÄDã/®l|á©&:ù‚¶=Ë|m‘wò¬íP„:¼òJ4ÅÅ92HÛ¡5øôÓË<÷œo¼Ñ¾îÄÀ„ ±:”F|üˆº ÂॗöѺµÛ¶õÓjNNǰ²šËÒ¥óñóóÓj,ÂãÑÐN~£ì®ÿî»ï2k֬Ƹ• 4º¯¿þšmÛ¶i; ᕳ³³¶Ã­ÉÌ,æÕWpòä¥Qà;w ¹u«€€€†MÍš{{Cd2ÈÊ*Q{ù‡ 4Wåå2rsKéÞ½~³¿šÆ ÷2yòdú÷ïÏ‚ hÝZ³³A¬Éžz œ¬"‚ 4P^^)óæ%5µˆ¢¢rΟÏaúôÓ˜š¶`êÔÎÚO¨E¯^6¸ºZ¨^þɺuënÔûK‚МT}:3žòr}û6î'5cÇ›o®â‡~௿þbðàÁ|ñÅ”•Õ½†ðlj”‘ü/¿üRLך%‰D¤I“Ät}AkäÓõ…¦÷ðºj'§ŠuÕ5yx_€š»ÜøPmæý¸ÙØðý÷}ظñOÆŽ=Jzzææ-èÝÛ–+º×kã³êž¥:Ô–úî0p ÿúWW¶oÿ‹~ø“—^²áÛo{5QtB}ˆ/êû׿ÎðÓO·yî9#¦NíÌÈ‘Íg¶Q=øé§ŸX¿~=_~ù%ÑÑѬX±GÇÚ7žMÒÉAm r&(Hý¥o&÷8i3omèÕˆ^½w×øg­Ÿ'vdâÄŽÚCxˆø÷¢¾O>y‘O>yQÛaÔJ__Ÿ÷Þ{fΜI@@sçÎåõ×_×vhB3"¦ë ‚ ‚ ‚ }¿mÛ¶Œ;–Ó§Ok;$A‹D'_AAá gffƆ èÙ³'o¿ý¶èè?ÃD'_AAá) •Jùâ‹/ðññáwÞáܹsÚIÐÑÉob8;;ãïï¯íPÍÓX¦gIAIÎsñ_õô<¿§±L‚ ‚ šÐÓÓ#""‚ž={2aÂ’’’´’ð˜‰N~“ÉdTVVRYY©íPêÅÄÄ„>}úÔxîI-“PE&“Q){òžŸÉTú,D›|Ëô´Û¿?'§ŠŸ’’ m‡ôD‰ŒŒWÔ]ïÞ?k;œfíêÕ<‚‚bñôÜ‹›ÛOü¿ÿ÷;gÎdk;,A­‘wôÛ¶mË;ï¼ÃÝ»wµ’ð‰N~355%11‘}ûöi;”Fó4–éYbj`Jâ’DöMzžßÓX¦§ÁÀ$$Œ`Àm‡òD r&!a..æÚ¥Y;þ.£GÆØX_ÀáïҦ1o¼q”ßÏÐvx‚ ZchhȺuë(//gæÌ™b0ä":ù‚ B³âêúG4>/<;*+e|ðÁ˜™µ`ùònØÚ`i©ÏÂ…<ÿ¼ aaPZ*þ¨áÙÕ²eKV­ZÅÉ“'Y³f¶Ã“fÓÉ¿v혛›cddD=Ø»w/ @"‘ ‘H R¤ÏÌÌ$88˜víÚ¡¯¯ #GŽTÚ\b×®]Šk% IIIbaaµµ5þþþ$&&ªÄ¢É½¯_¿Î˜1c°¶¶V‹ŒŒTJS\\¬”Ovv63gÎÄÑÑ©TJëÖ­0`ÿùÏ(**ª³Îª_¯¯¯¥¥%ƒæàÁƒŠ4áááŠü[·nM\\~~~˜ššbddDÿþý9vì˜JúÂÂBŽ;¦¸VOO¯Ær?ªLµÅ¤ésyÜ®¥]#`MæÁæM1¢ÇÇ=Ø{a/>€d‚É AßUk“ù™o ¦ÝíП¬Í F®ɹÛÕÚÍÙ]Šk%$$e'¸.‹` ¬C¬ñ_åObf mRƒ{_O»Î˜uc°±V‹<©”¦¸ì¡çWÍÌgâ8Çé»RZ¿ßšŸà?ÇÿCQ™m²Úõú“õ±œnÉàˆÁ¼V­Mþ®È¿õû­‰KŠÃï3?L§šb4ňþáý9–pL%}aI!ÇŽ)®Õ›¤Wc¹U¦ÚbÒô¹‚ ]qqÙÄÇßãÕWŸÃÀ@Wq\WW‚¿ÿs¤¦“ªÅA´ÏÍÍ>ø€Õ«WsáÂm‡#<Í¢“Ÿ€··7§OŸfÛ¶mddd°aÃ"""¸páR©™LFdd$©©©xyyñã?²víZrrr8tè999x{{ @@@2™ŒáÇBHHÉÉÉlÙ²…˜˜ÆŽ«‹¦÷ž4iS¦LáöíÛœ8q]]]•4Õ¥¥¥áååŦM›ˆˆˆ ++‹3gÎЯ_?ÆϺuëYgò룢¢ן,,Œ[·nñÃ?0dÈEúÍ›7Ó®];¦M›Vãw!ƒ‚‚ðöö`À€ :”mÛ¶‘••EË–-tïÙ³gÓ¯_?zöì©è×&,,Œ›7o²eËÅ.õ¦¦¦Ì›7Oid½®ë7mÚ¤¸ÞÌÌŒ¨¨(:tè@pp0Æ ÃÎÎNqMaa!k×®ÅÃÀîÝ»³qãFÜÜܘ>}zƒ?±¡IL ÞsyÜæìœCîý\"ߊd`—m²UW¢&DÑîƒv*éÃv„q+û?ýÀ×!Šô›'n¦Ý혶i§çÕÐ&}‚ðv|Pv— uʶ3ÛÈ*È¢¥IËÝ{öàÙôëÔ€ží{*:ŵ ÛÆÍ¬›l™´·mÒÀ”yCç)¬×uý¦‰›×›š5!ŠaÞÌ0÷aØ™Uk“%…¬ýçZ<ÚÔ&Mmèl_C›<» ‰Ž¢#)gonO×V]9së wîÖÐ&Û=Tv«eÏ­Ö&5¼wvõl“g´Éjh“Ó&d@mòÁõC]zþzRü\ü(*+â×˵I©±¢ƒ/çúœ+­,ZqþöyRóØ&5ˆ Ô{.Bý-^|‘ñã8~|0«Võ ..‹8ÅyùFs††UÍ„„$$Œàúõ€zwq1çÞ½2-ºÀÌ™]8yr(›6ù—WƸq¿sê”z#»ff-HHÁË/Û¡£#!&æÞ{¯Põb!!ažžV¬Xá¥èàgd3bÄ!öí»ÃG¹óÇÈŠò!7·”Q£söl º)á¼yç7®Gbûö~Jl€û÷+ø÷¿Ïóî»9~|H­åÉÌ,& à {öÜaþ|7NŸögûö~êò替óã·i?üðß}—È‚nœ>=”_@‡&LšËéÓïL¯n™êrýz€â™Õõ£N ?¿ ##Õ1 ù±¼¼2µî%‚ð´kÓ¦ 'NäË/¿$33SÛáMHëü’’òóó100ÀÄÄDå¼¥¥¥Jú¼¼<*++177WZÛ-‘Høã?ˆW¹—¹¹òhƒ¾~Õ‰|§É†ÜÛØØ¸^eÎËËÃÀÀSSSµ¯S÷zùHyZZšÒq Õ錶¶¶ddh¾ ±¦1AÝÏåq+)/!¿8ƒ˜Hkh“Æ–*éóŠò¨”Ubl®´¶[2AÂ=h7é5´IÇʮû ì²ÊßÛXZ6ù ƒ˜hÐ&ë¸^>Rž–÷P›4¬¥Mš>h“÷Ð&5Œ ê~.‚fÆŒyOO+ uñö¶Á×× îr÷nãO,*ª`áBE~®®–|öYwÊÊ*Y´¨~냂œ©¬”ñÍ7ÊÿÎΜÉ&=½˜!CžS ¿Lrò}æÌq¥_?{ŒŒtqv6#" ™LÆG¯1I“:Ò³gK õpw·äúõ¥Qüüü2BC»òâ‹ÖÕ^žðð+ܹsŸyóÜðõuÀÄDöíMX±Â .¶èÒ²¥”>xöí•ÿOÓ2i›LV5k@"©#¡ Â3$((Ö®]«íP„&¤õN¾T*ÅÔÔ”ââb TÎ?Üñ”J¥XXX §§GYY™bÍøÃ?ýûîtAÿ IDAT÷×(–¦º÷Ãù˜››S\\L~~ý§Öu}zz:P5û ºììlÅ=ÕÉëXÞÙ‡ª)=#¦æHª'ÅÔÀ”â²b Jjh“u<¥zR,Œ,ÐÓÑ£l]™bÍøÃ?ý;kÐ&›ðÞçcnhNqY1ùÅ´É:®O¿÷àù›?Ô& ki“ùÚ¤Yµ6I=Û¤†1 MÇÍÍJéw;;ÒÓëÞÔ±¾ uU¦‘wêd†­­W¯æ‘‘Q\Ë•ªzõ²¡Ksv츭˜J°~}<ãÇ;)ºïßŸŠŽŽ__åÏÚØàìlÆ¥K¹¤¥©–×ÝÝRåXuR©®JššÊóÛoU³Mú÷Wn×úú:ôêeCqqGVµý¾}íùãæÎ=˹swSé÷ïHÏž/KÑ´Lƒ©i îßW]ŽTTTTÍÈAª2eʶnÝJvvvÝO$­wòáï)ëòiûriiiܸqC%ýÈ‘#)//¯qíúòåËiÛ¶mkâkÓ”÷®nĈ5~kÞÓÓ“3f¨uýÿþ÷?¥ã%%%8pCCC•åÅÅÅÄÅÅ)»xñ")))¸»»ãàð÷pFFFJ›rtêÔ‰¯¿þºÑcj®äSÖåÓöåÒòÒ¸‘^C›ì6’òÊò×®/ÿe9mg·¥¼RÃ6Ù„÷®n„çƒ6y±†6¹Ð“[êh“®ÿßŇžy ®À°…¡Êò‡â²bâ’j“ÉIÉMÁ½;æÕÚ¤¾¥åÕÚä¼N|}¤Ž6©ALBÓ15UžR­£SÕ9®á=OƒÕÖ±³¶–]R¯û½óŽ3EEålÜø'7o—͘1Ï+Ò”–V’Ÿ_Fe¥ =89íTú¹|9€¤$Õ—‡††º*Ǫ³°hQãˆtõòÈó—Ju16V¾Þ²eÕK•Ì̪~èNxxwnß.äÍ7ÇÃc/ãÇS¼(hh™Ö©Ó.•ëkûyé%Õÿª‰£cÕ,š^2ȵo_ÿÙI‚ O³‘#GbddÄÆµŠÐDšÅÆ{K–,!::šÌÍÍñöö&))‰÷ß{{{•)ÞK—.åðáüýöÛ¬^½š^½zQQQÁÖ­[Y¸p!6lP|ò­¾šòÞ5å3cÆ LLLxùå—ÉËËcÉ’%¤¦¦ÖÙÉ—_‚‰‰ }ûö%55•°°0RSSY·nÊwæææÌ™3‡E‹áææÆÕ«WyçwÐ××'""B)m·n݈åöíÛܹs‡?ÿüŸF©¹Z2r ÑW£ Ù‚¹¡9ÞŽÞ$e%ñþ¶÷±7·W™â½täR_?ÌÛÿy›Õo¬¦—c/**+Øzz+ ÷,dÃø èéhØ&›ðÞ*ùÜ8ÌŒ-30‘šðrÇ—É+Êcɾ%¤æ¥2c`mòÁõ!›C0‘šÐ·c_RóR ÛFj^*ëÞ\§²Á¹¡9svÎaÑðE¸µvãjêUÞùîôõô‰xý¡6ù|7bc¹s›;wïðgæŸø8×Ñ&5ˆIоº&©3Ñ(7· ™L5­¼s/ï«Ëß¿5áá—ùïÿdâÄŽ|óM<í”:Óúú:˜™µ °°œ+W†«¬«oùÚó‡U/¾¾¦¦-ÈÏ/£°°\¥£Ÿ•UÕ¹·±©êìK$І€€6”—Ë8q"“ÈÈx¦L9Éœ9®¼ý¶S£–I¾wBcz饖¬^ —.å2bD[¥s—.U½€ðö›e ‚ TghhÈo¼ÁæÍ›™:u*ºº~Ñ,J[«:ÚäƒëÇöKð¦`Åõ…%…DÏŒf‚O mRjª±«øhÏG8„:ðò'/cidI̬úv|¨M®Ä­µ. \ü:ˆ±¸8¸¨U¦ºbÒä¹MÇÐP²²¿÷?8p?›7'©} ¤¤‚ ”7„»~ýŸ¸˜ckkP¯˜tu%üßÿ9‘]Â7ß$°wïÞzËQ%Ý AÏQQ!ãÌÕ)ëÖÝÀÇçµw˜¯îþý ®^ÍS:VSy^y¥*¿ˆ,-­äøñL tññ©z±åé¹W±;½žž„>}lùê«—H”¯oª25†=ZâädÊÏ?'SRR¡8^Q!cïÞ;88ª,]A`Ô¨QdeeqôèQm‡"4‰¬¦±õ¹D–-[ֹ߯sgŠŠŠ¸uëV݉…Zyxx••Uã—žf‰„V¬XÑh÷ì<¿3E¥EÜZ.ÚdCx,ô +?‹;Ÿ>ÝmrôèÑlݺµIž^ã~&5qrrä‹/Ò2D½ôeòäDG§rùòkH¥¿ ûôÓˬ[wƒ={|•ÖÏ¿ýöqΞÍaß>?ÒÒŠxýõ#ìÛ秘š]×ùaÃb¸sç>®®̘хÎÍIH¸GXØYóùî»ÞôèQÿÑÝÂÂrúôù…‚‚2Úòé§/ª¤ÉÎ.aôèÃÈd2>üЃnݬ¨¨ñóÏÉ,Yr‰åË»)mÔW[ÝT7lX IItíjAX˜+;šÕZžÌÌbF>LqqK–xÒ³§ Å„‡_æ·ßRX¼Ø“ÀÀv@U'ßÅÅœ ÜèÐÁ”üü2~øáO¾øâ3gvaÊ”N•éq;wî.ÿüçQt`î\WZ´Ðá³Ï®ðãIDFöÂÇǶ 4cMõßï±cÇâààÀçŸÞ¨÷ÎÎήÆMéÕ´µYL×OKK£K—.¤§§Ó¢Åßë(“’’HLLTŒ Âã’–—F—]Hÿ<ºÕÚdv‰‰Œ{I´IA¨Ë¹sw5êâ÷®]bÊ”NÌœÙEñ{¨êÄöïoÏúõÞÌ›çÊܹçxå•ýXXè³`»¢¯Îy##]þýow/¾ÀäPQ!ÃÍÍ’û¨|W^]ÆÆz¼þz;Ö¯çwœjLcm-eÇŽ~¬]{?¹Ì… 9TVRcyll ص«?kÖ\gá ¤¥ah¨‡‡‡%ßßooEÚ¨(¢¢n2}z))EH¥:´kgÌ’%Ý=úï½Ô-“¶xxX²uk_>ûì2î§²R†»»QQ>?kA„gÁÀY³f bÊþS¦YŒä§¥¥áààÀøñãù裰¶¶æÒ¥KL›6„„âââèСCCÂ|扑üúä§å¥áêÀøÞãùèµ°6±æRò%¦mšFBFqsãè`#ÚdCˆ‘üÆñ$Œä?nÆœS±cƒµŠ ‚ 4XSý÷;!!W_}•íÛ·ãîîÞ¨÷nnÊËËùïÿË®]»¸yó&¼ð Œ7Žþýû?òËb'N$&&†3fðÞ{ï)ŽGFF²lÙ2 j佦Û5ÕБüf±&ßÞÞžèèhrssëÄ_{í5œ9uê”èà7@xx8‰„óçÏ“œœŒD"Q¬jgonOôÌhrïçV­ŸnÉk«_ÃÙÖ™SsO‰~„ÿŽd‚„ó·Ï“œ›Œd‚D±þ]AAx<œœœ°µµåäÉ“õºîþýûøùùÕ¸XsTTTĸqãØ¾};óæÍãÔ©SìÚµ ###&NœH|||­×îܹ“˜˜˜Ï‘€‹‹KS…®±f1]ÀÏÏ???m‡ñÔ %44TÛa<‘ü\üðsm²±… %th“‚ ‚ Úö /péÒ¥z]#“ɨ¬¬¤²²²îÄÍÀ²e˸víÑÑÑ´lYµ‡M«V­øôÓOkíÀddd°xñbصk×ã ·Q4›N¾ ‚ 4Dõ5ìNN;{Ô¤ú¾µ v!8¸s£Å(‚ ÍÉ /¼ÀO?ýT¯kŒ9xð`EÔ¸²²²Ø¼y3¯¿þº¢ƒ/ghhÈ•+Wj½vΜ9 <///ÑÉAm r&(ÈYíôÕ7¹A„gQûöí¹}ûöS»ùÞ¨¨¨àÅU¿ˆó([·n%>>žˆˆ¢££›(º¦#:ù‚ ‚ ‚ Ï V­ZQQQAff&VVV¬]»–}ûö‘’’‚T*åÅ_$00~ýú¡««Ëþýûy÷Ýw×_¾|©T €§§'ùùù5æ#‘H8zô(öööäää°zõj8@zz:¦¦¦xyy1mÚ4•5î:u¢¢¢B­ò´lÙ’'N(Å`nnÎ’%KØ·oYYYØÚÚ2`À‚ƒƒ±°°PºGZZK—.eÍš5«•ou»wïfÖ¬YJÇbcc±±±©åŠÆ':ù‚ ‚ ‚ Ï y§;==/¾ø‚Ÿþ™U«Vѽ{w ˆŒŒdÒ¤IüðÃôìÙ“’ÀäÉ“ká¾páFFFŠßW¯^ÍÊ•+™5k–"¯ŒŒ FMII Ë–-£G$''óïÿ›Q£F±qãF<==÷¸~ýºÆåËÈÈàƒ> W¯^lÚ´ sss8À‚ 8zô(;vìÀÔôïOñ†……1lØ0¼½½5ÊÓßߟ˗/sãÆ """077×8~M5‹ÝõAAA„ÇK>R]XXÈñãÇqvv¦OŸ>вeK>øàÚ·o¯Ñ½÷íÛGDDÿøÇ?˜úè£F)@II R©”O>ù„6mÚ`ffƈ#x÷Ýw¹yó&ß|ó"ý–-[HJJâƒ>Ð(¿{÷îDee%ß|óV:øÐH#ùß}÷±±±q+AhtÑÑÑ̘1CÛaϨóçÏÓºukm‡!‚ ‚ ÂÐЀââbúöíË?üÀܹs=z4®®®Š)úê8{ö¬âŸ?ž÷ß////^¬”nÿþýèèèàëë«tÜÆÆggg.]ºDZZšbä¿!ä³ z÷瀯¯/Ÿþ9G%$$„””–-[ƺuëõRþù'“&M¢mÛ¶Zÿdy£tò÷íÛǾ}ûãV‚Ðè.]ºTïOƒBc***Òv‚ ‚ *ôôªºƒeee|øá‡xzz²cÇÞ|óMºwïÎØ±cyå•WÔ¾gJJ “&MÂÁÁµk×Ò¢E ŹÒÒRź}Zï‘””¤èä7dMþsÏ=€¥¥¥JZkkk²³³ˆ‰‰!??Ÿ7Þx£Æ{¯X±‚+VUú=ÿüóŠs÷îÝãÝwßÅÞޞdz{÷n†®VÌM¡Q:ù[¶la̘1q+AhT‰„Å?HAxÜF­íAAjTPPTMÛ—H$@yy9'Nœ 22’)S¦0gÎÞ~ûí:ïWXXÈ„ (//gýúõ*›ÚéëëcffFaa!W®\QkGÿ†¬ÉïÞ½;ß~û­bm~uòνüÓzãÆcܸq*éäé͘1ƒ÷Þ{¯Æ|tuuùþûï155eôèÑÌ™3‡öíÛãææ¦qì !Öä ‚ ‚ ‚ <ƒä|SSS<==ILLªFøûôéÃW_}…D"áàÁƒuÞ«¢¢‚éÓ§“˜˜Èš5k”ÖòO:U1íРATTTpæÌ•{¬[·µGîëÒ¯_?ììì8räˆb}¾\LL lp>ÆÆÆØÙÙaddĺuë022bòäÉ5¾\xD'_AAá$ï䛘˜0þ|®]»Fii)ÙÙÙ|ýõ×Èd2µvšÿøã9tèü1={ö¬5]hh(mÛ¶eöìÙ>|˜üü|rssÙ´i«W¯&,,L­~uèëë³téRîÞ½ËôéÓIJJâÞ½{ìÚµ‹/¿üwwwÞzë­FÉK®uëÖ¬Y³†œœ¦L™Biii£Þ_âz‚ B“Ø¿?•wß­þ­Ú×Jç?Ú‚ ‚ 4\VVPµf=**Ѝ¨(¦OŸNJJ R©”víÚ±dÉÅòÃýû÷óî»ï*®ïÚµ+Çgüøñ|ÿý÷Ìž=›Ù³g«ä%_£nmmÍŽ;X»v-~ø!©©©˜™™Ñ¥K¾úê+z÷îݨe|ùå—Ù¼y3_|ñ#FŒ ¸¸˜¶mÛ2aÂ&NœˆA×ÍŸ?ŸM›6)~—¯É÷ññaÆ ìÝ»—Åy'''æÎ‹§§§b]ÿ¹sçèÒ¥ Çç³Ï>kÔr=Šèä ‚ Mbà@F0yò ¢£SµŽ ‚ IHHÀÒÒ+++¬¬¬X´hÑ#Ó8„„„Zï¥. æÌ™Ãœ9sꯦ<==Ù°aC½®Y´hÑ#ëÃßßÿÏÕ§.š‚˜®/‚ 4+®®?xDãó‚ ‚ ¨'>>žŽ;j; ¡‘‰N¾ ‚ ‚ Â3(>>gggm‡!42ÑÉAAAxÆqùòe\]]µŠÐÈûšü‚‚<==éÔ©{÷î}ÜÙ7º§­<šzRë¡   OÏïèÔÉŠ½{Gj;œ{ÚÊ£)QÍSff1Ÿ|r™£G3ÐÕ•àéiÅüùn´mk @dd<Ë–]àÌ™lœœv «+áúõ€z·³3àË/_âÓO/sþ|••àînÉÌ™]xñEkEL¥¥•¬]{}û’II¹TªË‹/ZØŽ~ýìÐÕ•ÔY®NvQQ!S«Z¶”râÄµÒææ–²fÍ5¢£SIM-ÂÈH+&Nt楗lÕÍ zå‘u,‚ r'Nœ ¤¤m‡"4²Ç>’/“ɨ¬¬¤²²òqgÝ$ž¶ò<Љ‰ }úô©ñÜ“ZUqWý< ž¶ò<ЉI}úlªñܳTO’Å‹/2~¼ÇfÕªÄÅe§8äLB «:Ú #HHÁõëõ:ïâbν{e,Zt™3»pòäP6mò!/¯Œqã~çÔ©,Ež~xŽï¾KdÁ7NŸʯ¿ C&MŠåôélµÊuýz€"–º~Ôíàgfp={î0¾§Oû³}{? uyóÍßùñÇ[Àß›à RÇ^ÄÆf*Õ± ‚ È>|˜®]»bkk«íP„FöØGòMMMILL|ÜÙ6™§­<šzRëÁÔTŸÄÄ Ú£Ñ}ªþÀ10Ðåƒ^àÀí~ <ü wîÜgåJ/|}«:ð&&&¬XáE¿~¿²páy|}íiÙRªt]õ:îÝÛ–~ýìøå—”&©cAáÉUYYÉÁƒ Ðv(BkòA„ÇÂÍÍJéw;»ªïÒ¦§5z^††ºŠ¾\§NfØÚpõjÅôíkÏä0wîYλ«˜v¿ÿ@zölÙèq©ë·ßRèßß^鸾¾½zÙP\\ÁÑ£é*×=\dž@ÓÔ± ‚ðä:räÉÉÉ 6LÛ¡Mà±vòwíÚ…D"Qü+ÏÎÎfæÌ™8::¢¯¯¥¥%ƒæàÁƒ*÷ÊÌÌ$88˜víÚ¡¯¯ #GŽäܹsµæ—””D`` X[[ãïï_ãèóµk×ÀÜÜ###zôèÁÞ½{0`€â^AAAµ–GÓ|Õ)S]Ô©ÃððpEl­[·&..???LMM122¢ÿþ;vL%}aa!ÇŽS\«§§×hÏUÓ:kˆ]»HÂ?ÅÅåÅ]ÄÌ™qt\¾þçXZ®bðàí<ø—ʽ23ïC»v_£¯ÿ966k9r7çÎeÔš_RR{°°X…µõjüýw˜˜«rïk×rØ…¹ù­¤GìݛȀ?*îôk­åÑ4_uÊTuê0<ƶmÃÉÈx ^%"â.\ÈB*ÕE& %2rP­åÑ$_uËô(êÖah¨2Y(îî6äæ–0}z ‹÷!-m G޼NNN1¾¾?røðm¥ôÆÆ-èÝû9d²Pd²PÊËg5Úsդ΄Æ#©c¯»ºÎäæ–ÕØ±•wîå}‰Úðý÷}8{ÖŸ/¿ì‰LS¦œäÛoÔŠ·±×äëëë`jÚ‚’’ ËUÎgeUuîml ÔŠOAªKNNæðáüñÆÚEh"Ífº~XX7oÞdåÊ•øûûcffFÇŽ‰ŠŠÂÁÁàà`ÒÓÓioݺÅçŸÎ!C011¡k×®lÞ¼™LÆ´iÓjÌ#((oooŒ0`C‡%..ެ¬¿7aš3g¹¹¹DDD0pà@Ž£¢¢(,,Ô¨lêä«i™4­C¹ÂÂBÖ®]«ˆ¯{÷îlܸ‘ÒÒR¦OŸ®Qy“ºuÖ”ÂÂŽróf+Wúâï™>;Z僃 ÁÁHO¿ÿ ínݺÇçŸ÷gȘ˜´ k×–lÞìÿàÙ¨1  W¼½[alÜ‚žgèÐÄÅ¥‘•õ÷´Ú9sŽ’›[BD„/>¯¸wTÔP Ë4*›:ùjZ&MëP®°°Œµk(âëÞÝž‡RZZÁôé1•·¡1©[gBã14Ô£¬ìïM<ÜÏæÍIjŸ()©àÂ…¥cׯß##£slm«:Èžž{ILÌ@OOBŸ>¶|õÕKH$pð`Z#—L}¯¼Ò P¡´´’ãÇ310ÐÅÇÇN¡ ‚ O¸5kÖ`ggÇ€´ŠÐDšM'çΪO! :Té¸T*ÅÏÏ¢¢"~ýõW jj·ŽŽþþþJiíííéÚµ+gΜáÎ;*yxyy)ýÞ¦MRRþ•üå—_4hRZ:wî¬IÑÔÊWÓ2UWŸ:”366ÆÃÃC阫«+­Zµâüùó¤¦6ló)Mbõê¬)íÜÀС”ŽK¥ºøùµ¥¨¨œ_½ TMíÖÑ‘àï﨔ÖÞÞ˜®][ræL:wîä«äáåå ô{›6¦¤¤(ŽýòKUƒµWJkccDçÎÊkoÕ¥N¾š–©ºúÔ¡œ±q <<”wxuumI«V&œ?ŸIjªf/Ú¨WgBãéÚÕ‚›7 HM-âìÙþú«//kµÏ˜š¶à³Ï®pölEE\¼x—Y³NÓ¢…óç»)¥?ÿ×®åQZZIvv _}™¬js@m íBëÖF,^|˜˜T ˹y³€3âÈÌ,fþ|7•M÷A¡.‰‰‰lß¾Y³f)–Þ OŸfñdKJJÈËËÃÀÀSSS•óvvU£iiiŠ´æææ*iåâããiݺµÒ±‡ÓëëWí4,ÿì[II ùùù`bb¢rOKKËz”ª~ùjZ&¹úÔau5ÞÏÖÖ–””222ppp¨1M]4 ꮳ¦TRRA^^ z˜šªîFmgWõ½é´´BEZsó/j½g|ü]Z·V®sså{Ë×ÎÊ?ûVRRA~~)z˜˜¨®/¶´Ôì|uòÕ´Lrõ©Ãê,,j.“­­))ddÜÇÁA³ï}kÔ]gBÍλ˨Q‡¿wíúS¦tbæÌ.ŠoÜ>åBþ IDAT Cÿþö¬_ï À¼y®Ì{ŽW^Ù……> ¸ãèøw[«ë<€‘‘.ÿþ·;‹_à?r¨¨áæfÉÆ}xñÅ¿_DEùu“éÓãHI)B*Õ¡];c–,éÆèÑÏ7QÍÔÍÆÆ€]»ú³fÍu.¼@ZZ††zxxXòý÷}/ 4­cAáÙôñÇÓ±cG±áÞS®Ytò¥R)æææäå呟Ÿ¯Ò!”Oç¶··G*•baaAAAEEEúJ*•bjjJ~~>*ýŒ õ7«o¾ -S}ê°ºììld2’‡¹ÊËZý»™§iª˜´M*ÕÅÜ\J^^ ùù¥*ÂôôªN ½½1R©.R Ê(* AO¯ñ&ÇH¥º˜šê“Ÿ_JAA™JG?#CuZycåÛÐ2Õ§«ËÎ.F&S]s-/«­­‘âX=›£Æ1 šóð°$!aDçj;Сƒ)›6ùh|^ÎÑÑ” z?2‹‹9‹y<2¶XXè3w®+sçºÖšFÓ:Až=¿ýöGŽaãÆèè4› ÝBh6OwĈª?Fþ÷¿ÿ)/))áÀ*¦Ð9’òòr¥àå–/_NÛ¶m›ÂÕ×àÁƒ¿§íË¥¥¥qãÆ î©ŽÆ(S}êP®¸¸˜¸¸8¥c/^$%%www¥Q|###JKK¿wêÔ‰¯¿þºÑcjFŒpàÿûSéxIIü…¡¡žb ýÈ‘)/¯TÚ^nùòS´m»ŽòrÍf \•‡|Ú¾\ZZ!7nÜÕèžêhŒ2Õ§劋ˉ‹S^"rñb))¸»Û(âµ ´´Bñ{§Nßðõ×=&AA„']vv6 ,`̘1¼ôÒKÚGhbͦ“¿téRÚ·oOHH{÷î%??Ÿ7nðÆoššJDD„bz÷Ò¥Kqttäí·ßæçŸ&//œœÖ­[ÇÂ… ×x„É’%XYYÂþýû)((àÒ¥KŒ?¾IGœ£Lõ©C9sssæÌ™Cll,………œ>}šqãÆ¡¯¯ODD„RÚnݺqãÆ nß¾Mll,þù'>>MÓ$¦æ`éRÚ·7'$$†½{ÉÏ/寻¼ñÆ^RS ˆˆðÅÎÎH‘ÖÑÑ‚·ßþ…Ÿ¾I^^ 99Ŭ[wž… c ï§ñÿ’%>XYÃþý·(((ãÒ¥,Æÿ¥IGœ£Lõ©C9ss)sæ%66…ÂÂ2NŸNcܸÿ¡¯¯KD„¯RÚnÝì¸qã.·oç›ÂŸæáãó\£Ç$‚ ‚ð$“Éd„……a``ÀܹsµŽð<ÖN¾ü[è»wïÀÐÐqãÆUS¶ãââ;v,ÁÁÁX[[Ó£G ‰ŽŽf„ ŠûØÚÚrêÔ)˜:uªbS¼;v°{÷nÆŒÀ‰'Tò›7oP5õ|ùòåxzz*6¼stt$66///F…“&M",,ŒöíÛ£««[gy4ÉWÝ2=J}êPÎÄÄ„U«VñÑGáààÀË/¿Œ¥¥%111ôíÛW)íÊ•+qssÃÅÅ…ÀÀ@"""pqqi”çªI5”ü[è»w'<Ès%ãÆýïAÜÆÄÅcìX‚ƒc°¶^M),,#:z &ü½q—­­§N# À™©S£±±YCçÎß²cG<»w0fL§eLUÉo޼ߔ1œåËO=(ã÷øûïÀÑÑ‚ØØâåeϨQ»±³[ˤI¿Ö“öíÍÑÕýûŸpmåÑ$_uËô(õ©C9“¬ZåÇGÇÁáK^~y3––ÄÄŒ¡oß6JiW®ì›› ..߸‡ˆ_\\¬å¹jRg‚öEFÆãä´“«WóHO/ÆÉi'Ÿ~EÛa ‚ ‚V}ûí·>|˜Ï>û cc±,ñY ‘Éjú’p=n ‘°e˵:¡OºÎ;STTÄ­[·´J£ððð ++«Î]ûŸd‰„V¬X¡íP]çÎßRTTέ[µJ£ððøŽ¬¬"îÜ™¬íPÕèÑ£غuk“Ü?==‚õvùwrrä‹/Ò2D|@Ažuý÷»  ©TJ‹ª5GGG3eÊþõ¯ÔÔ¡ ÄÎήÆàÕ´µÙL×o.ÒÒÒ°²²¢¬LùäIII$&&âëë[Ë•‚ÐøÒÒ ±²Z­ôMp€¤¤<sñõm«¥ÈAA„æ`þüù5h]¹r…™3gòüCtðŸ1¢“_ƒ»wï2iÒ$nß¾Íýû÷9uꘙ™1þ|m‡'}5¯½¶gg NG‡æÚ±ÁÂÃãHÂ9>“ää$’pÅúwAA¡f·oßfþüùH$$ Ó¦M#//øøxþùÏÒ¦MV¯^­´§˜ðlh¼Ì?EüüüðóóÓvM&44”ÐÐPm‡!¨Éϯ-~~Oï´üÐP/BC½´† ‚ £¢¢‚àà`ÊÊÊÉdÈd2rssyÿý÷¹xñ"íÚµã›o¾í=£ÄH¾ ‚ ‚ ÂdåÊ•\¾|™òòrűòòrbbb°··gÆ ¢ƒÿ |AAA„'D\\ëÖ­£²²RåœD"!11‘ÜÜ\-D&4¢“/‚ ‚ ‚ð¸wïÓ§O¯õ¼L&£´´”ÐÐPø¥tá &:ù‚ ‚ ‚ O€Ù³g“““Sã(¾\yy9§Nâ»ï¾{Œ‘ ͉èä ‚ M"òd$NËœpZæDïÕ½µN£›¸m"NËœXs|Òñ§½Ü‚ ‚vlÙ²…èèh¥uø5ÑÕÕE"‘ðé§Ÿ’œœü˜¢šÑÉAšDPÏ >HÀÅÎEÛ¡4º—v“Sã¹§¹Ü‚ ‚vdfÞdáÂ…µNÁoÑ¢øøø°páB¢££yî¹çg˜B3Ñ(ŸÐ $0ðÿ³wçqU–ùÿÇ_‡U6ERÓ 7$E2QµÅe¤rÉÆš_û¸•”û·ÍŒK)µ,›š2ͱ¬f*Kp•4SËR·’]= ;ç÷‡Îtõ€ÀA|?ÿ8×}Ý×õ¹®sÏœ>Ü×}_#«£)‘j·téR–.]jë0ä&Ö¼ys[‡ Õ(='q ˆìÉç‡?·u8""Rïðî»OPRRb.±··7o×¶m[úôéÃÝwßMhh(Ú%ýfW-WÀÀiÛ¶mu4%R­.'÷Ó¶EnZKp±uRælœÃýwÜOH‹%ù""R æœ|ƒÁ@Æ éÛ·/ááá„……ѤIÇ'uMµ$ùùË_1bDu4%R­.'ù=]Ÿb+ëiÚÔÖ1HuYh=ÇÏ'fh qÇãlŽˆˆÔs;wîÞ U«®<ôPzõêEûöí±³ÓS×reZË!""µâDæ ^Þò2ߟýžâ’b‚n â©ÞOѵyWsÂ’BVì^Á×G¿&ùB2ÎÎtmÞ•‘]FÒçö>ØÛÙ_³Ÿv‹ÚQRZrÍz^n^ÄO‰·ªnª1•—·¾Ìò–ãæäfÕ9¿÷ÅÏ_0ã?3,ÊöLÞƒ·»w¥Û‘›ƒ««+ÁSOå3p`Ž­Ã‘„’|©q—Š.ñì¦gy²×“úrâÜ foœÍèµ£ùçÃÿ¤{‹î<·é96ÝÈ‘oЭE7r rXµwã?ÏG|DhËÐköuì™c52†Ù_ÏfHàzÜVµÇæçÔŸI8—@ÌÐ5hTÍŠˆH}ÓµkW oëPä¢u""RãŒF¢Â£èÚ¼+®Ž®tòëÄ«C^¥¨¤ˆã^4×Û}z7^„µ£C¼Ü¼˜Õw­›´¶aô°îÐ:NŸ?ͬˆYU:ÿbþEƬC©©”w‡¿«_DDDjŒ’|©qÎÎùY”µónG3÷fI;BzN:ámÂù!éænœËÁäƒæe÷±ãb­º‹_’/&½%šW½‚‹cå_¢x2ó$}ðv;æõŸgÕ#""""U¥åú""Rã<xšß ü{M]›’ž“Nfn&ÍÜ›ñÜ€ç¾%˜ ‡7ðèÚGèÖ¼£‚GqOÛ{¬ê«ºŸÉß’¸c‘G>z¤ÂãKv,aÉŽ%l¿™Ûßf>v±à"7LÄ××í'·óÅÏ_0´ÃP«b© %ùuØâÅ‹yú駸õÖ[9{ö¬#©c±ÂòÌK™4u»¼Á` ²c$‘#).-&þL<«ö®bÒ†IÌé7‡'Bž¸f_ÕýLþè;G3úÎÑåÊË^¤÷dï'ùÛÝ«ð\{;{>õÎ ÿ`8s6Ρu“Ötöë\­1Šˆˆˆ”ÑrýTTTDçÎ «ÒùQQQ˜L&‚‚‚®]YD¤»Tt‰#iG,ÊŽe#='@Ÿ@š¹7 xI0'2Oà`ç@Xë0Þzè- [·ÖzÜ×ËÍÑ w\]Y9l%®Ž®Løt‚ùñ‘ê¦$¿†•––RZZjë0DDlÊÅÑ…çcŸçPÊ!òŠòø)å'fügŽöŽÌï?ߢîüoæs4ý(…%…d^Êäíø·1™LU~«}]ѼQs–?¸œ¬KYLÚ0‰Â’B[‡$"""õ–ë× GGG>lë0DDlbÕw«ˆÞ €»súÍaѶEü˜ü#¥¦R:ûufõ¨ÕtmÞÕ|ΚGÖ°æà¦}1ä‹É8;8Óªq+Þ¿á‡Ûj(æ;ŸµÖš?—=“ß«u/Þù_ù’é_L7÷ögn¿¹ßl~®ÿ`òAÚÿ½=C; åÕ!¯ÖúDDD¤þR’/""5bLèÆ„Ž±([=jõUÏ ô äÅ{_¼j[{ñÞ¯ãàÀÁ \á±ÄY‰5–ˆˆˆ åú5æË/¿Ä`0˜ÿåçç[ÏÌÌä©§ž¢M›6899Ѹqcî¿ÿ~¶n½ò3§GeРA4jÔWWWúöíË®]»jz(""""""rƒP’_CŒÉdbèÐò[%¥¦¦š5kˆ‰‰áܹs|÷Ýw¸ººÒ¯_?V­ZUœ&MšÄœ9sHJJbÇŽdeeÁöíÛkcH""""""RÇ)É·Ù³gsêÔ)–.]ÊàÁƒiذ!mÛ¶eÍš5øùù1uêTÒÒÒ,ιpá .¤gÏž¸»»Ó­[7V¯^Maa!Ó¦M³ÑHDDDDDD¤.Q’oŸ}öƒ ²(wvv¦_¿~äååñí·ßZkР¡¡¡e:uâ–[náСC¤¤¤ÔlÐ""""""Rç)ɯe\¸p àááQî¸pyIÿï5mÚƒÁP®~³f—÷–NOמË""""""7;%ùµÌÙÙ™F‘ŸŸÑh,w¼l™¾¯¯¯Eù… *l¯,¹/KöEDDDDD俥$ßxà¾úê+‹ò‚‚6oÞŒ‹‹ ÷Þ{¯Å±œœ:dQöÓO?‘œœLPP~~~5´ˆˆˆˆˆˆÔyJòmàå—_¦uëÖLŸ>/¿ü£ÑHBB<ò)))ÄÄĘ—í—qsscòäÉ|÷Ýwäææòý÷ß3zôhœœœˆ‰‰±ÑHDDDDDD¤.Q’o¾¾¾ìÛ·Q£F1uêTš6mJ÷îÝÉÍÍ%..ޱcǰxñb ‡ÂÓÓ“×^{Ù³gãëëKïÞ½iܸ1[¶l!<<ÜÆ#‘ºÀÁÖÔw%%%ØÙÙáà`9ÕM›6eÉ’%,Y²äŠçFEEeQ¶eË–‰SDDDDDDn|º“_Í:vìÈéÓ§ÍŸ“’’hÙ²e¹$_DDDDDD¤º)ɯÿûßÉÉÉáßÿþ7d„ ¶ID¤ÎøòÈ—øGûãíOû¿··u87¬m'¶ÑeÚ-jgëPDDD¤Q’_ÍÞ}÷]~þùgüüü˜1c .,·ä^Däf68p0‰³¹»ÕÝåŽ]*ºD¿•ýûÉXDvcø5ûWÆ}2ŽÅÛsîÒ9[‡#"""uŒÖW³ÐÐP¶mÛfë0DDnH&“‰RS)¥¥¥¶ŬӫhïÓžu£×Ù:–ìX·ÞÉ›½Iïå½É+ʳuH"""R‡(É‘:ÃÍÉ­¶Ú:Œ:íå/ÓÀ¡­Ã‘:JËõEDDn JðEDDäjt'_DDjÔ‰Ìü}Û߉ÿ5ž’Ò:øt ªOùw•Ä&Ä2qÃDó矣~ÆÙÁ¹\ù¦±›X²s {Îì!;/€}ÓöÑØ¥1Y—²X¶k›7“fLÃÃÙƒ!L ›B`³@‹þ²ó²Y¾{9qÇãH5¦ÒÄ¥ m¼Ú0´ÃPbõþÕDo`ÿÙýøGû`ogϱgŽ]sÜíµ£¤´Äª9òró"~J¼UuEDDD®FI¾ˆˆÔ˜3çÏ0üÃá¸8¸°,rw6¿“ß²ãå-/óëù_-êh;€ÄY‰LøtqÇã®X>ï›yLë5Eƒ‘p.Ž ='á§ ¸€èÑtoÙ¤ I<ûí³ û`«G­&øÖ`2r2.×-)à¥û^"´e(yEy¬;´Ž™_ÍäbþEÆ„ŽaLè˜*?“oÍDDDDª›–니HY¼}1ó/2À|ÂZ‡áêèJ;ïv,´ˆôœô*µ9¾ÇxB[†ââèB_Çž9Fc—Æ,Þ¾˜¤ Ỉ˜CŸ6}put%À+€˜¡1˜L&ž}Þ"®³Î2¿ÿ|"ü#psrÃËÍ‹¿Ýý7zßÞ»º†/"""Rët'_DDjÌŽ“;Ê%ÎÍܛѺIkNeªt›A~A–Ç&Äbg°#Â?¢ÜÛÝ›¯§&Õ˜Š¯‡/›6~{x¹vþ1╎IDDD¤®¨–$âĉ̘1£:š©c]Ÿb+™$$Ø:›(,)$·0gg\]ËoêÖ´JI¾‹£K…} ŒtYÒåŠçžÎ:M×& Œ8;8ãæäVéþ­¥gòEDDÄt'_ê½.]nÇ×××ÖaÈMêàÁƒ¶Áfœìpsr#·0—KE—Ê%úe/Í«®¾6hHnA.¿<ó öû«Ö÷pöÀX`$·0÷š‰¾C•bÒ3ù"""b Õ’ä¿ù曌1¢:š©Vƒ'žx‚Ú:¹IMž<www[‡a3á·‡óõѯÙqr÷µ»Ï\~>ï|•îâ_ͽíîeý¡õì?»Ÿî-º[[¿’Õ?¬fÛÄmØì¹§í=|úÓ§l;±Aƒ,êùÇîºí.æö› \^9PTRd>>àíüµû_y¸ËÃÕ¿ˆˆˆHuЋ÷DD¤ÆDõ‰ÂÓÅ“c_ä¿§þË¥¢K$žKä©?Uáþëê+<Š–ž-™ùÕL¶ŸÜޱÀHv^6k¬eÙ®eÌŽ˜m¾ÃEóFÍyióKlMÜJna.©ÆTžÝô,¹<ò¸¹Ý¾8•uŠ”‹)H:À¯ç%¤EHµÆ."""R]´\_DDjLKÏ–¬t=‹¶-bòç“).)¦­w[¦ôœÂ{ß¿ÇîÓ»ñögxçáDøG0qÃDó¹w`h‡¡<ÚõQ†}0Ì¢ qV¢E_M]›²á/X±{ÏmzŽ”‹)4lÐö>íyë¡·èÙª§¹®·»7Ÿÿ¿ÏY¾{9ÏÇ>Oª1•&®MèÞ¢;þ˜[Þb®;¯ß<æ~3—{Þ¹OOþïžÿ£MÓ655e×´%q ã>gQæíÀÂû2"H+ëDDDnfJòED¤FµnÒš7|³\y_ÿ¾åÊþ˜¸_«ü<]<™ÓosúͱªîÜ~sÍËò¯äö¦·³öÏk­ê¿6DøGX="""róÑr}‘zBI¾ˆˆˆˆˆˆH=¡$_DDDDDD¤žP’/""""""RO(ɯA9990xð`[‡"""""""7%ù×ÉÝݰ°° ™L&JKK)--­å¨DDDDDDäf¤-ôj‡‡'Nœ°u""""""r“Ð|‘z¢V’üŒŒ ¦NJ«V­prrÂÛÛ›|ƒšë„……a0ÌÿF @ÿþý-ʳ³³+Õn™ÌÌLžzê)Ú´iƒ³³3Í›7§ÿþ¼ÿþûäåå±`Ás¿_~ÿÍ7ߘ˽¼¼Ìå‹/Æ`0››Ë®]»Ìu./ŽøüóÏ-âÎÏÏ¿b<þøã¬\¹’yóæa2™pss³ˆÿ¾ûîÃd2ѵkW‹ò¨¨(sýž={b2™0™L‰ÉdbèÐ¡åæ¤,ž5kÖ˜ãùî»ïpuu¥_¿~¬ZµªÂ6¦OŸÎôéÓIJJbݺulÙ²…Q£FYõ=$&&Ò£G¾ÿþ{>ùäÒÓÓyï½÷ˆ‰‰áÇÄÙÙ“ÉĪU«Êõ;~üx&MšÄo¿ýF||<ööö•GUç6((ˆììl¦M›Æ‚ HMMeÇŽdeeÁöíÛ­»ˆˆˆˆˆÈ͢ƓüÙ³gsæÌ^{í5ˆ»»;:tàã?Æd21eÊsÝ   Þ{ï=:Äc=†Édbüøñôëׇ~¸ÊíΞ=›S§NÃàÁƒñððÀÇLJyóæqß}÷Õô”SÏÒ¥Kàþûï/×ÎÆ™>}úu³2Êâ4hE¹³³3ýúõ#//o¿ý¶Üy!!!Ÿ[´h@rrò5ûüæ›o¸÷Þ{-ʽ½½¹ãŽ;®zn÷îÝ+,¯ê8*ÃÍÍ.]ºX”uêÔ‰[n¹…C‡‘’’r]틈ˆˆˆˆÔ'5úvý‚‚.\¸@£F®Xïøñã4oÞÜüùÅ_$..ŽÝ»wóÏþ;;Ë¿ET¦]ooo.\¸@ƒ ððð¸žáT‹²Ø¯py)üýq¬NNN×Ü¢¯  £ÑHƒ pww/w¼qãÆW=ÿËìËÚ¬ê8*£ìñŒ?jÖ¬ÉÉɤ§§ãççw]}ˆHÍ;‘y‚˜1ìým/çóÎSRZ€‡³ž<ÀªïV½5wvMÖ»7líû³ßóðê‡éëß—­‰—ßµRŸ¾›š¸æ¬¹Öoe×ÏG|DhËP«ÎÑÿˆˆ\¿½“ïì쌧§'™Ÿ[ÿ㿾}ûZœ·mÛ6.\¸@§N˜4i‡ªr»ÎÎÎ4jÔˆüü|ŒFã5c¶³³£°°°\ùï_ø÷{ƒ¡3Â5ã)[Þîëë[©v¯Õ§‡‡ùùùäää”;žžž^¥6+;ŽÊÎ-\~±ŸÉdºbÌÍš5«tì"R»Î^8˰†q"ó+\ÁÁ'rè©C¼ùv†ÿý Câ¬D}m­üÞæã›ñtñä­‡Þª—ßMu_sÖ^ë7‹²ë§[‹nVŸS•露´˜Aïbäê‘U SD¤Þ©ñ_œ|âââ ߆þÊ+¯Ð²eKóËêN:Å_ÿúW>ýôSþýïãââÂСCÉÈȨr»<ð_ýu¹ºÁÁÁ<ù䓿Ï~~~$%%YÔIMMå×_­p|®®®‰k»víxûí·+¬[¦,ž¯¾úÊ¢¼  €Í›7ãââRnYýõ*{T¡lÙ~™ÔÔTªÔfeÇQÙ¹ÈÏÏgß¾}e?ýôÉÉÉé.¾È àãƒc,0òÜ=Ïqç­wââè‚›“÷ßq?û§ï·uxrqÇãèÓ¦ö{[‡rC°ÅµÞéÕNµžÜZÛgm^?¥¦RJMW_ÙX]l1ç""•QãIþË/¿L›6mxâ‰'ظq#.\ ++‹•+Wò /°xñbó¶s999DFF²téRÚ·oO«V­øä“OHNNfذaU©Ý—_~™Ö­[óä“OòÕW_a49{ö,“&M"%%Å"É¿çž{HNNfÙ²eäääpâÄ ¦M›vÅ;ÆwÞy' üöÛoìÙ³‡“'OÒíÜ IDAT«W¯kÎIëÖ­™>}:_~ù%F£‘„„yäRRRˆ‰‰1/w¯. .¤I“&LŸ>ØØXrrr8|ø0?þx•W Tv•[¸üˆÂœ9sسg¹¹¹|ÿý÷Œ='''bbbª·ˆÔ®ÓY§¸£ÙÕßÿ!uˉÌœÊ:Eÿ€þ¶冡kýjóúq°s`㘬t}÷%"r#¨ñ$¿Y³fìÝ»—ÈÈH&Ožl~ÑÛ† øâ‹/1b“'OÆÃÃü‘¡C‡røðaÎ;GŸ>}(**bÇŽ899±`Á‚Jµ ——ŒïÛ·‘#G2eÊš6mJ÷îÝ9þ<;wî¤eË–æº ,`̘1,\¸fÍšñÿþßÿãé§ŸÆ××—ÌÌL ³fÍ2×_ºt);w&00‘#GC`` y¯ù/¾øFmϨQ£˜:uª9žÜÜ\âââ;v,ñññåÚ˜7opù1W^y¸¼á/ ü£6mÚ°gÏBBB6l>>>Œ?žÙ³gÓºukó¶xW귢ǬGUçÀÝÝ7ÞxƒçŸ???z÷îMãÆÙ²e áááW³ˆÔ Å¥—WU9Ù;Ù8©Œ¸ãq8Ù;ÑûöÞ¶冡kýtýˆˆØŽÁTÑÏ•iÀ``ݺuIµÜXî¸ãòòò8s挭C±Ð¥KÎ;g±ûBe ^ýuX‘‰Xoòäɸ»»³~}ÍÜaJKK«ð]ñ÷oÃ믧1p uõ¯WlB,7L¼f½;=È¢A‹ÌŸ‡¼7„¬Ü¬r/Üʺ”Ų]ËØœ¸™4c΄´aJØ›VØç¶‰ÛX´u;OíÄÞΞà[ƒ™ß>-=ÿ÷ÇÝS ßý†úÇ2Ža,0r[ãÛ4‚Ǻ>f~–úmoŸ¸W¶¾Â¶Ûprp"üöpþoÀÿa,0òBì ÄŸ‰ÇÍÙ¾mú2·ß\Üœ,_bjÍx®¥Ý¢væ»]‹—›ñSâ­ª 0âÃx8{ðîˆwÍe}7U¿Mc7±dçöœÙCvÞåw³ì›¶7'7Vì^Á×G¿&ùB2ÎÎtmÞ•‘]FÒçö>ØÛÙWûwQ6®F}ÀË[^æû³ßS\RLÐ-A<Õû)º6ïzÕ¹ªêµž—ÍòÝˉ;GÊÅ\\érKÆ…Žã®Ûîºj[¿AÝïÙÛÙsì™cæÏÖ^g…%…לwkû„НŸÊŒ×ÚïdKâÆ}2Î|ÞÏQ?ãìà\éñÿ1¾Tc*M\šÐÆ« C; ePà Vï_mõøEªSmÿ~‹íùøøTøÂt+­¯Ñ·ëKÝ‘ššJûöíIKKÃÑÑÑ\~úôiNœ8a^e "R]´@â¬D&|:¸ãqåþãû|ÞyBbB®ÒÂÿ¤ç¤3üÃá=0šî-»“t!‰g¿}–a cõ¨Õß\®Ïq ×x^ô ?$ýÀøOÆ3ý‹éløËsÛÛOlgÚÓˆ âõÈ×)5•òŸ_þ¸¤S™ÕwV…ãY¸e!{Lä•A¯ðí±o‰ú2Šì¼líy²÷“ÜÖø6¾8üó¿›“sûÍ­ôx®¥¦‹ÌK™L>Èó÷<ͺU¿yßÌcZ¯i,´ˆ„s ŒøðòÍ‚ç6=ÇÆ£y#ò ºµèFNA«ö®bü'ãÍoi¯Îï¢Ì¥¢K<»éYžìõ$>œ8w‚Ùg3zíhþùð?éÞ¢âíd+›5×zFNÃ?N~q> ï_H÷ÝÉÈÍ`ñöÅ<úñ£¼tßKŒºò ”1¡c:†N¯v¢½O{Ö^W®Ne®3kæÝš>¡âë§*ãµæ;‰ð°˜ûªŽ¿,¾‚’^ºï%B[†’W”ǺCë˜ùÕL.æ_´zü""¶vó½êõ&vþüyÆÏo¿ýÆ¥K—Ø»w/#GޤaÆ̟?ßÖቈ\Ñâí‹IºÄœˆ9ôiÓWGW¼ˆƒÉdâùØŠ“ÑA#¾5Gz¶êIŸ6}ø1åGÎç·¨Ú2” =&ШA#»4æ±®1¤ýÞß÷>9ß9Þy8};ââèBdÇH¼Ø~r;íþW›âêèʨàQ4oÔœí'·WËxjË–Ä-˜0Ñ/ ŸUõ«2ã{Œ'´e(.Ž.ùqì™c4viÌîÓ» ð ¬u àåæÅ¬¾³hݤõû¿žï¢Œ±ÀHTx]›wÅÕÑ•N~xuÈ«•ñbÜ‹VÍCe,Þ¾˜³Î2¯ÿ<"ü#pwv§u“Ö,ùӼݼy!öÎåž»î>¬½Îª2ïWRÑõS•ñ^ïwR™ñ—Å7¿ÿ|"ü#psrÃËÍ‹¿Ýý7=r "7%ù7 ___âââÈÎÎ6?×þ§?ý‰€€öîÝËí·ßnëÍ/^ŒÁ`àСC$%%a0Ìï"‘›SlB,v;"ü#,ʽݽ ð àpêaR©åÎëì×Ùâ³_ÃË;r¤ÓÌeþ|ôÈGåÎ lHqi1Çϯ0¦N~,>ûx\~ÑhGߎå¾¾ý]ÏxjKlB,|;ÑÌýÚÛ”Vuþ‚ü‚*,oÎI?0wã\&4?Ž;.öŠ{­_ÏwQÆÙÁ¹\Lí¼ÛÑ̽GÒŽž“NBFþÑþÿžÛô\…í]˦„Mômc¹°“½w·º›üâ|vžÚy]}Væ:«Ê¼_­ß?^?ÖŽ÷÷¬ùN®‡µã/‹/üöòïûùLjðxÈãWíKD¤.Ñrý›H¿~ýè×Ϻ»2¶ETT”­Ã‘:¢°¤c€.Kº\±Þé¬ÓøzXîâáìañ¹ì…h&þ÷:c‘w÷¾Ë¦„M¤S¹˜Ñ✼¢¼ ûsw²|V΀{;{\],Êí v[{]Ïxþ¨&žÉÏ+Êc÷éÝLº{’UíVuþþ8OežðÁ·³áð]û(ÝšwcTð(îi{O…çTõ»ø=Ïž¾d¶©kSÒsÒÉÌÍ$Ð'ÄY‰ž_e×€³ƒs¹÷Àåï ./!oÛ±m•ú¬ìuV•y¯HE×OeÆû{Ö|'WúCTeÆßĵÉUã¹Ñ(É‘:ÍÉÞ‰† ’[Ë/ÏüRí{nûdû~ÛÇüþóÒ~]c0xoß{¼´ù%‹?T‡êOM<“¿ëô.ò‹ó­Þú¬ºçÏ`0Ù1’ÈŽ‘—&žU{W1iÃ$æô›Ã!OTeX×T–þQæ¥Lšº5­¶¾œìðpöÀX`$·0·\bY¶lÝÛÝûšm(Ÿ—õQ™ë¬2ó~¥>¡â맪㽞爐ã¿Z|tµñ‹ˆÔZ®/""uÞ½íî¥ÄTÂþ³ûË[¿’^+zQb²îŽöï•”^nÓÛÝ›¿tû M\›˜ï\wÜWRSã©qÇãháÙ‚¶Þm¯Y·&æ/xI0'2O—÷?kÆ[½…Á``kâÖ*µiKE—8’vÄ¢ìXÆ1ÒsÒ ô ´êÑ…Ê(»;¾õ„å˜ K Ù}z7 Ыu¯k¶ãâèBQI‘ùó€·ðñÁÊ]g•™÷«õy¥ë§*ã½Þï¤2ã/‹oÛ‰måêùÇ^Úü’Uã© ”䋈HEKÏ–Ìüj&ÛOnÇX`$;/›µÖ²l×2fGÌ®Òq{;{B[†’‘“Á;ß½Ãù¼óäç&ž5ÖÔÀH.«©ñ\¯RS)[·X}¿¦æoþ7ó9š~”Â’B2/eòvüÛ˜L&zÜÖ£Êm^‹‹£ ÏÇ>Ï¡”CäåñSÊOÌøÏ í™ß¿ú_NEóFÍY·€-‰[È-ÌåTÖ)žü÷“däf0À|ó2ö«éàÛSY§H¹˜Â¤üzþWBZ„˜û¨Ìufí¼_©Ï«]?Uïõ~'•Y|/m~‰­‰[É-Ì%՘ʳ›ž%#7Ãâ™ü«Í¹ˆH]`0™L×µÑ`0°nÝ:FŒ¸ò6/"¶b0xýõ×8p ­C‘›ÔäÉ“qwwgýúõ5Ò~ZZ99Öí›[ÛûìV´wøÐCyuÈ«<¾îñr/ÙêпÜX“îžÄS½Ÿ.ïa½b÷ bÇ’r1…† ÒÞ§=cCÇÒ³UO&dØÃ*lÃ?Úߢ¼¯_Þv91}mÇkl;±Œœ <]< ¿=owoÞÚópùnÏÝó\…mÀÿ|À¢<*<Šn-ºñðê‡-ʧ†MejØT«ÇSÛöŸÝÏÈÕ#Í[¦•©hô²y½žùÊ=o~$ík®aï¯{I¾xy¿öV[1"hÃ;Ç`0\ñ{®ìwáêèj—»o>ô&‹¶-âÇä)5•ÒÙ¯33Âg˜÷d¿’Ê^ëþ˜nÍ»™÷eMˆ%Õ˜Š‹£Ëå}ãïgõ4Nfždî7s9œzOO&ô˜ÀŸƒÿl>níufͼ_«Ï+]?¿åZãýýµV™ïäJÛVægŒ¯‰kº·èÎôÞÓiÕ¸•Õs.RÝjû÷[lÏÇÇww÷kW¬Øz%ùR¯)É[»™“|¹ñ¼²õÖÿ¸žï¦~g“•rc³åõ3î“ql;±#Ïѵ+õŽ~¿o>×›äWË‹÷öìÙS͈ԈØ:¹‰¥¦¦âïïíŠ"u@Üñ8ÂoW’$UR›×Ïý«îçáïмQsR©ÜÒð]»""TÓÛõ—.]ÊÒ¥K«£)‘j÷Þ{ïñÞ{ïÙ: ¹‰)É—Eì¸X[‡ 7°Ú¾~Þ‰‡™3ÙsfGÒ®íwED ’üë\í/""""R)у¢yeË+Üõú]x»{3£÷ Ætcë°DDê„j¹“/""""R[‚ü‚XóçšÛCDäF¦-ôDDDDDDDê %ù"""""""õ„’|‘zBI¾ˆˆˆˆˆˆH=¡$_DDDDDD¤žP’/""""""RO(É©'”䋈ˆˆˆˆˆÔJòEDDDDDDê %ù"""Rm.]¢ßÊ~Œýd¬­C¹))É‘Jéôj'F®Yá1“ÉD©©”ÒÒÒZŽJDDDl€ˆˆˆÔnNnl°ÕÖaˆˆˆÜ´t'_DDDDDD¤žÐ|©Q'2Oð÷m'þ×xŠKŠiëÝ–É='óþ÷ï³ûôn†wN„7L4Ÿ·iì&–ì\ž3{ÈÎË`ß´}4viLv^6Ëw/'îx)Spur¥Ë-]:Ž»n» €å»—³dǺ6ïʺÑëØqrOüë <]<ù~Ú÷¬únÑ[£ðq÷á͇ÞäïÛþΡäC”šJ º%ˆ§z?E׿]­{lB¬Õcʺ”Ų]ËØœ¸™4c΄´aJØ›^WŒÖÌ—5±Ž¿k<+ãW°ÿì~ü£ý°·³çØ3ÇʵñsÔÏ8;8—+ß6q‹¶.bç©ØÛÙ|k0óûϧ¥gK‹¸­½v^ø²Õ߉ˆˆH}g0™L&[!""U“––FNNŽUuýýÛðúëi h]ýêpæüøç¸8¸ðÊ W¸³ù$]HbAÜޤ!§ ‡_žþÅ✠ŸN îxÝ[tgZ¯itöëL¹F|8‚ø)—“½á'¿8Ÿ…÷/¤{‹îdäf°xûb6%lâ¥û^bDÐs{^íD{Ÿöæ$¿Läû‘œ½pÖœä—òÞNgæŽfw0'bw4»ƒÄs‰ÌÞ8›™'øçÃÿ¤{‹î•š‡k©¨¤ˆá§ ¸€èÑtoÙ¤ I<ûí³J9ÄêQ« ¾5¸J1fädTj¾®kc—ÆWœÓ?¶Q–äÿ±¼@Æß5ž;šÝÁI?0þ“ñ´õnˆ¿l0׭ʵ#"RÙâ÷[lËÇÇww÷ªž¾^ËõED¤Æ,Þ¾˜‹ù™?`>a­Ãput%À+€%ZB^QÞUÏßc<¡-Cqqt!È/ˆcÏ£±Kco_ÌÙ g™×þ¸;»ÓºIk–üi ÞnÞ¼ûçrÏ]WÜyEy¼pï ߌ‹£ ü:ñêW)*)⟫ÜîÕÆ”t!‰9sèÓ¦yžb†Æ`2™x>öù*ÇXÕùºR¬ÕaDÐsÜ=[õ¤O›>ü˜ò#çóÎ[Ä]ÕkGDDäf¦$_DDjÌŽ“;è}{o‹ò&®M¸½ÉíW=7È/¨ÂòM ›èÛ¦¯E¹“½w·º›üâ|vžÚYÕpqt1/‘/ÓλÍÜ›q$íé9éUj÷JcŠMˆÅÎ`G„„E¹·»7^N=Lª1µJ1Vu¾®kuèì×Ùâ³_C?ÒŒiæ²ë¹vDDDnfz&_DDjDaI!¹…¹8;8ãêèZîx#—FW=ßÅÑ¥Â6Fœœqsr+wÜËÍ ¸¼Dýz4tnXaySצ¤ç¤“™›I3÷f•n÷jc貤ËÏ=u_ßJÅèéâYåùª(ÖêâáìañÙÉÞ —Ÿ ¼ÞkGDDäf¦$_DDj„“½nNnäær©èR¹d-37³Jmz8{`,0’[˜[.q-[vîíîm.³3ØQTRT®­‹ù¯ØOv~6&“ ƒÁ`ó¥Ë17ukZ騝ÄÉÞ‰† ’[Ë/Ïü‚½Áު󬉱*óe †kWº5q툈ˆÜ,´\_DDjLøíáÀÿ–^—ÉÈÉàTÖ©*µyOÛ{ØzÂr/öÂ’BvŸÞM‡ôjÝË\Þ̽Y¹¥î9$_L¾bÅü˜ò£EÙ±Œc¤ç¤èX¥»øWso»{)1•°ÿìþrÇVƯ¤×Š^”˜JªceçË.Ž.8ðö>>øq¥Ú¸–š¸vDDDnJòED¤ÆDõ‰ÂÓÅ“c_ä¿§þË¥¢K$d$0ó뙕¾{ln3<Šæš³ n[·[˜Ë©¬S<ùï'ÉÈÍ`þ€ùæeèa­ÃHÏIçÃýr©è¿fÿÊ‹q/ÒÔõÊwã=œ=xuÇ«H:@^Q?¥üÄŒÿÌÀÑÞ‘ùýçW)îk©¥gKf~5“í'·c,0’—ÍÚkY¶k³#f—»ÃomŒ•/ktðíÀ©¬S¤\Lá@Ò~=ÿ+!-Bªe.Ìq×Àµ#""r3Ðz""7°º¾…À©¬S,Ú¶ˆ=göPRZB`³@žîó4Kw.åÇ”ùiÆOL>Ȱ†•;?qVb¹²²}ßcbI5¦ââèryß÷»ÆÑã¶uF^Þò2ÛNlãbþE:úvdn¿¹Ìÿv>‡S—÷ºÏÓÀåíé²r³ø`Ô,ˆ[ÀI?PRZBg¿ÎÌŸQnú«©ì˜Vì^AìñXR.¦Ð°ACÚû´glèXz¶êiQ·²1Z3_•‰õdæIæ~3—é‡ñtñdB ü9øÏÄ&Ä2qÃD‹ºC; åÑ®–k{ÒÝ“xª÷SøGû[”÷õïË;ÃÞ¬¿vDDê3m¡wó¹Þ-ô”䋈ÜÀn„$ÿJîyçò‹òÙ1iǵ+×¢²z×ä]¶åŠn„kR]½vDDjB]ûý–šw½I¾–니HÉÈÉ ëÒ®—[”Ÿ½p–3YgÊÝu)£kGDD¤j”䋈HºyßÌ#åb yEyJ>Ä´/¦áÑÀƒÉ='Û:<©Ãt툈ˆTž¶Ð‘ãíîÍÀêV3ê£Q¤å¤Ñ¨A#z¶êÉ’?-¡…g [‡h¶ê»UDo6öö7?7^‘?>K^‘©aS™6Õf1ÞÈn¤kGDD¤.Ñ3ù""7°ù™|¹6ý~ß|ôL¾ˆˆˆˆˆˆˆz&_DDDDDD¤ÞP’/""""""RO(É©'”䋈ˆˆˆˆˆÔJòEDDDDDDê %ù"""""""õ„’|‘zjÜ'ãðögùîå嫾[…´?þÑþô\ÖÓFщˆˆHMP’/""5æRÑ%ú­ìÇØOÆÚ: îÅS“>;ü[·TxlLèg%èXËQ‰ˆˆHMS’/""5Æd2Qj*¥´´ÔÖ¡u/žš’ž“΂¸DvŒ´u("""RËl€ˆˆÔ_nNnl°ÕÖa˜ÕµxjÊœs¸ÿŽû iÂç‡?·u8"""R‹t'_DD¤Yh=ÇÏgvÄl[‡""""6 ;ù""R#bb™¸a¢ùóÏQ?ãìàlþœ—ÍòÝˉ;GÊÅ\\érKÆ…Žã®ÛîªT_…%…¬Ø½‚¯~Mò…dœœéÚ¼+#»Œ¤Ïí}°·³¿j<ÁK‚1+lÛ`0°sÒN|=|Ⱥ”Ų]ËØœ¸™4c΄´aJØ›Y÷Œ{»Eí()-±ª®—›ñSâ­ª›jLåå­/³üå¸9¹YuÎï}ñóÌøÏ ‹²=“÷àíî]é¶DDDÄ6”䋈HÐv‰³™ðéâŽÇYËÈÉ`ø‡ÃÉ/Îgáý éÞ¢;¹,Þ¾˜G?~”—î{‰A#¬îë¹MϱñèFÞˆ|ƒn-º‘S꽫ÿÉx>zä#B[†^5€güˆ«£«ùó²]ËXºs)3zÏ0'øé9é ÿp8ÅDŒ¦{Ëî$]HâÙoŸeØÃX=j5Á·_3Þcϳzl•1ûëÙ BÛzTéüÁƒù9õgÎ%34†F Us„"""RÓ´\_DDjÝâí‹9{á,óúÏ#Â?wgwZ7iÍ’?-ÁÛÍ›b_à\î9«ÛÛ}z7^„µ£C¼Ü¼˜Õw­›´®R|_ýš˜ÿÆðP§‡˜Ðc‚EÜI’˜1‡>múàêèJ€W1Cc0™L<û|•ú«ë­ãôùÓÌŠ˜U¥ó/æ_dÌú1”šJywø»JðEDDnPJòED¤ÖmJØ@ß6}-Ê츻ÕÝäç³óÔN«Û oÎI?0wã\&4/…KhËÐkžàÉæ»ø‡Rñô—OÒ<„÷-°¨›‹ÁŽÿ‹rowo¼8œz˜TcªÕqW—ä‹ÉDo‰æ•A¯àâèRéóOfžä¡ÂÎ`Ǽþó°·³¯(EDD¤6h¹¾ˆˆÔªÂ’BŒFœœ+|nÜËÍ ¸¼¤ßZÏ xŽà[‚Ùpx®}€nÍ»1*x÷´½Çêv’/&3þ“ñøyø±âÁ8Ú;–‹ Ë’.WlãtÖióòþ+©îgò·$nÁX`ä‘©ðø’KX²c ›Çoæ¶Æ·™],¸ÈÄ ñõðeûÉí|ñó í0ÔªØDDD¤îQ’/""µÊÉÞ gŒFr sË%úeËô+ó²7ƒÁ@dÇH";FR\ZLü™xVí]Ť “˜ÓoO„-=[šë”˜Jøæè7üëп8–q c‘Û߯ˆ <Öõ1ì v¶½}âv^Ùú ÛNlÃÉÁ‰ðÛÃù¿ÿ‡±ÀÈ ±/&7g7ú¶éËÜ~sqsr³ˆ5ëRËv-csâfÒŒix8{Ò"„)aSlhÕxÛ-jGIi‰Uu½Ü¼ˆŸÕ:«¾[EôÖhöŸÝ´?£R; IDATövö{æX¥c/,)dÅî|}ôk’/$ãìàL׿]Ùe$}n½Õ}ŠˆˆHÝe0™L&[!""U“––FNNŽUuýýÛðúëi h]ýê2áÓ Ä£@Æß5ž;šÝÁI?0þ“ñ´õnˆ¿l0×Ý’¸…qŸŒ#*<ŠQÁ£(5•òŸ_þ¸<Ñý fõUaÛ÷¶»—‰=&Ò¦i¾=ö-Q_F~{8ŽöŽLë5Û߯‡¿`þ·óy<äqæö›kn#='á§ ¸€èÑtoÙ¤ I<ûí³J9ÄêQ« ¾5¸Öæë:½Ú‰ö>íY7z]¹c•‰}ÎÆ9l<º‘7"ß [‹nää°jï*V}·ŠùˆÐ–¡Võ)""µËV¿ßb;>>>¸»»WõôõZ®/""µbDЂo ÆÅÑ…ž­zÒ§M~Lù‘óyç-ê…¶ eB 4jЈÆ.y¬ëc i?„÷÷½ONAÅÿ3¼óp:úvÄÅÑ…ÈŽ‘x°ýävþÚý¯6 ÄÕÑ•QÁ£hÞ¨9ÛOn·8wñöÅ$]HbNÄú´éƒ«£+^Ä Ád2ñ|ìó56'׫2±ï>½›¯ÂZ‡ÑÀ¡^n^Ìê;‹ÖMZÛp"""Rݔ䋈H­èì×Ùâ³_C?ÒŒiæ²ÿ>zä£rç6 ¤¸´˜ãçŽWØv'¿NŸ}<|èèÛÑ¢Ü×Ã×¢?¸¼ôßÎ`G„„E¹·»7^N=Lª1õjC³™ÊÄÞ&œ’~`îÆ¹L>h~´ v\¬Å]|¹±é™|©ÎŸì0ñ¿§ÆŒFÞÝû.›6‘jLåbþE‹sòŠò*lÛÝÉrI›övö¸8ºX”Ûì(5•š?–b,0ÐeI—+Æ~:ë4¾¾W<ÕÿLþµT6öç @·æÝ<Š{ÚÞs]±ˆˆˆHÝ¡$_DDêŒqŸŒcßoû˜ß>CÚ¡±Kc ïí{—6¿dñêàdïDà É-Èå—g~ÁÞ`_å¶jêÅt –W6vƒÁ@dÇH";FR\ZLü™xVí]Ť “˜ÓoO„EDD¤îÓr}©JJKØv?ÞîÞü¥Û_hâÚƒár²YP\PcýÞÛî^JL—ûþ£•ñ+éµ¢%&ëîÐ×GŠJŠÌŸ¼=€~ T.öà%ÁœÈ<€ƒa­Ãxë¡·0 lMÜjuŸ"""R·)É‘:ÁÞΞЖ¡dädðÎwïp>ï<ùÅùÄŸ‰gÍ55ÖoTx-=[2ó«™l?¹c‘ì¼lÖX˲]˘1ûºîð_¯¾8•uŠ”‹)H:À¯ç%¤EH•bŸÿÍ|ަ¥°¤ÌK™¼ÿ6&“‰·õ°ºO©Û´…žˆÈ ¬.o¡w0ù Ã>fQ6éîI<Õû)óþëeúú÷åa—û×v¼Æ¶ÛÈÈÉÀÓÅ“ðÛÃñv÷æ­=o—_¦÷Ü=ÏUØö€€<ðÏ,ʣ£èÖ¢¯~Ø¢|jØT¦†M ;/›»W{<–”‹)4lÐö>í:–ž­zVË|TÕÉÌ“Ìýf.‡SãéâÉ„øsðŸÍÇ­ýHÚÖ\ÃÞ_÷’|1ggZ5nň  ï<ܼjš>ED¤öh ½›Ïõn¡§$_DäV—“|¹~úý¾ù\o’¯åú"""""""õ„’|‘zBI¾ˆˆˆˆˆˆH=¡$_DDDDDD¤žP’/""""""RO(É©'”䋈ˆˆˆˆˆÔJòEDDDDDDê %ù"""""""õ„’|‘zBI¾ˆˆˆˆˆˆH=¡$_DDDDDD¤žP’/""""""RO(É©c.]¢ßÊ~Œýd¬­C‘Œ’|‘:Æd2Qj*¥´´´Ü±N¯vbäê‘6ˆJDDDn¶@DDD,¹9¹±uÂV[‡!"""7 ÝÉ©'t'_DDjDlB,7L4Þ4vKv.aÏ™=dçeеyWöŸÝo®ÓµyWÖ^ÀîÓ»yìãÇx{ØÛDøG° nïÿ¾¹þ±™Ç°7Ø_1†v‹ÚQRZbU¼^n^ÄO‰¿j ŸN îx\•ã]öÀ2&6Ùü¹¢9YxÿBælœc®ósÔÏ8;8³ê»UDo`ÿÙýøGû`ogϱgŽ™ëg]ÊbÙ®elNÜLš1 gBZ„0%l Í­š ¹qL&“ÉÖAˆˆHÕ¤¥¥‘““cU]ÿ6¼þzZW¿º”%ÆÝ[tgZ¯itöëL¹F|8‚ø)ñ|}ôkžýöY^òêð'óy3¿šÉ§?}Ê ÀAÄ 1—Ç&ÄòáòÁÃÔê8Ê|tà£ëŽ÷ZsÒØ¥±¹NY’_¦Ó«hïÓÞüÇ…ßKÏIgø‡Ã)(. z`4Ý[v'éBÏ~û,‡R±zÔj‚o ®¡™‘š`«ßo±ÜÝÝ«zúz-בZ1¾ÇxB[†ââèB_Çž9Fc—Æ ºcŽöŽ|þóçæºùÅùÄã¶Æ·±ùøfr sÍÇ>;üt|ÀC¨Öx¯4'Uµxûb’.$1'b}ÚôÁÕÑ•¯b†Æ`2™x>öù*·-"""7%ù""R+‚ü‚*,÷tñ¤O›>ì:½‹Œœ âŽÇtK£ïM~q>ßû€ì¼l¾ûõ;îmwo­Å]“ñ^iNª*6!;ƒùq2ÞîÞxp8õ0©ÆÔjíSDDDê=“/""µÂÅÑåŠÇèø± ±üçÈx"ä >?ü9t|€·õ zk4ÿþåß<ØéA¾<ò%}ýûâêèjUŸÕýL~uÇ{µ9©¬Â’BŒFº,érÅz§³Nãëá[mýŠˆˆHÝ¢$_DDl®o›¾xºxòÙOŸÙ!’ƒÉYöÀ284 ¬Uÿ=ý_ÒsÒÙðÓf„ϰºÝß¿îFˆ× –;Ù;ѰACr rùå™_®úBB©¿´\_DDlÎÑÞ‘Aƒ8’~„W·¿Jÿ€þ4ph@dÇHJJKˆÙCzN:=nëaãhm¯‹£ E%EæÏÞÀÇ?àÞv÷Rb*±Ø± ÌÊø•ôZÑ‹“u+DDD䯤$_DDê„È‘¬;´ÎâEuÚÀÍÉu‡Ö1´ÃPì uã§ËVñvðíÀ©¬S¤\Lá@Ò~=ÿ+!-Bˆ ¢¥gKf~5“í'·c,0’—ÍÚkY¶k³ÿ?{÷U•ÿqü3™ô$$¡—„@ H“¢@Q .EÐUTª]a*ˆ‘¢ˆmÅÝUl¬ XV” U4«¡EZ„Bêd~d3:$È$$™dò~=ιçÞû=÷ÎÍÌwî9÷Ä<Î~Ýõ5"áT‚F½?ÊòºóüÎ’¤¤Ç’*¬Ý‚$A’€ƒ ÉÀAäà Hòp$ù8’|I>‚$álï°‡ÿìûÞŠK‡ÏVAq$é›»¿Q‡ÀvެêâÄiÚŠi–×{fì‘›³[µmÿ\þ9ýgßôÍþo´/uŸò‹ó쬮ͺjR¯IêÔ©Ü:c?«­'¶V¸½ =&è‰ÁO”+/.)Ö²­Ë´j÷*É8"wwu î¢Û®¸MƒÚ’Á`¨¶6àh¸“pHç‹Îëš·¯Ñ¤Ï&•[¶õÄV=ôåCêߦ¿~y𭛺NÁ>Ávˆ²z é0DI%ipØàÙþÜusõÌšg48l°¾ø­~}ðWÍ6W{S÷*ö½Xň»ì}äåé¶nÓç»>׃ŸÐÏþ¬UVÉÓÅS“?›¬ƒ§VCKp\ÜÉ8$³Ù¬s‰JJJÊ-[½µÌf³&ôœ OOµòo¥îýÁQÖ?£»ŽÖ„,¯{¶ì©E#iÄ?Gè¥õ/iH‡!åÖYyÇJE†DÚ´ý¹ëçjú~­¼V^’¤f¾Íôòð—µ.i]µ´GF’pH^®^Z?u}…Ë’³“%IþîþµR½÷â°+,ïÔIîÎî:–yLf³¹ÊÝéOçžÖ' Ÿè–n·Xü2.Úû·½UÚ. Ýõ Ž©ÄdïJ^Qžò‹óÕ!°Ãe—ÿ>é{™JLêÞ¼{5F@ÃÂ|@µËÊÏÒ¯\aUöðÕëÞ¾÷Êd6)ü¥pKùuá×iÉÈ%’¤ŒóZ²e‰¾Oú^©Ù©òqóQÏ–=uÿûÕ©iéCÝ.|¸ÜšIk´hó"ýôÛOÊÌË”$½pý š¹z¦¥NÙè.\·óüÎ’¤vMÚéð™Ã•Ž÷bÂç…ÛüCB€W€âï¿d½BS¡Þøñ }³ÿ:wJnÎnêÞ¢»Æv«íÊèd,·Nznºæ­Ÿ§ÍG6ËèdTtóhÍ<[­ü[Yê˜Ì&}»ÿ[ý{Ç¿•˜ž¨ì‚lµnÔZcºŽÑíÝo—“áÒ÷¾Ùÿ$éž¾÷T¸|ÕžUšùíLÍ8*£“Q;j|ôxÝØùF«z{RöH’ü<üôÂ÷/è›ýßètîi5õnªÁaƒõ@ÿäïAï þŒÁl6›í jRSS•““cSÝÐÐöZ¼8UÆÙV¿:Üõï»ôÑ´vÊZ«ÄR’F/­Û»ß®#$Ii9i½l´ Š 4wØ\õjÕK'ÏÔSß=¥É;ôÁ¸Ý<Ú²þÔϧjíÁµêÕ²—¼êAE…DéÀé³lŒâïW#F–:>eþbåw.¿S[Žn¹h¼½â¯åÓÚ2sõL­Þ¿Z¯Å¾¦-{(§ GK^ª¥ÿ]ªÇ¨Þ­z[ê–µopØ`M¹rŠ:6í¨„S š¶bšÚ5n§w¬°Ô]—´N“?›¬fh\ô8•˜KôÕÞ¯4gíÝÕë.=6è±?ëtîi ÿÇpÅ„Æè…ë_(·|ìcÕÒ¿¥îìy§Ú5n§ä¬d½ñÓZµ{•nï~»žòd¹¸½Õ·u_=tÕCòs÷Ó÷IßëÉïžT°O°VܱB>n>ÕpD ~°Çç7ì+((HÞÞÞU]ýSºëjÌÄ^Ub.Ñ»ÿ}ת|뉭JÍNÕ°NÃ,eó7Î×És'53f¦¶(OO…„éÕ›^•ÙlÖ3qÏT¸)}¦¨w«ÞòpñP×®Jü¿D5òhT¥xïîu÷Eã=uî”U¼µíÇ£?*, LýÛö—»³»¼ôØ ÇÔ¶qÛ‹®3¦ëE7–‡‹‡ú´î£˜ÐíLÞ©³yg­êõnÕ[SûL•Ÿ»Ÿy4²üøò¯_þ¥œ‚‹©ÌÌËÔËïTïV½õÜÐç*¬³ü¶åš?|¾:u–‡‹‡Ú5i§ùÃç«k³®zëûÚ‘¼ÃR·l*C7£›æ Ÿ§–þ-åëî«‘]FjZŸi:’qDïþün…û¥Hò5¦o›¾ŠŠÐŠÝ+,]é%éÿ¾£;{Þ)£á÷.æqâädpRLhŒÕ6½¦Ý)»•’Rn]CºV[¼ýÛöWx`x…ñÞÞãv9;Ùo”Û€ö´íä6ÍZ=K §,Ãâ&ÇYÝÅÿ£¨(«×AÞA’¤ÔìTKYLhŒ>ÿa¹u;5í¤â’â‹NY—W”§ Ë'(,0L G,¬p¸ÀŸ¹.ü:IÒ÷¿·”yºzJ’úµégõÞ(‹S’6Ù\©ýÐÐ0&P£îîu·¦5]lû@÷õ»OG2Žè—ã¿hÁˆ–:…¦BedK’º-êvÑmÍ8Zn>{jwB z|õãVñþôÛOz醗lÞFMŒÉzÈÓŠn­»Wè¯ÿU’Ô£E‹§k;\[á:vk/_oÖï#õ² ²õîÏïjÍ5JÉNQV~–Õ:yEyå¶k2›tßÊû䤗‡¿\.!·ES漣¤3¹g,eÍ}›K’y–ï‰ÑijI¹ú <’|@1\ó7Îײ­Ë4ùÊÉz÷çw5¶ÛXy¹zYê¸]åëî«Ü‚\íý¿½UJ«ËM]nÒ‚M ¬â½9òfù¹ûÙ¼ÄÿK¬ö¸ ƒb»Ä*¶K¬ŠKŠÿ[¼–þ¼T÷¬¸G3¯™©»zÞU¥íNþl²~9þ‹fž­#ÔÈ£‘ ƒþùË?õü÷Ï[ý Pæ‰oŸP¡©PoþåM«sóVŒÞ¸PÝš]ü‡š2e½ šx5±”õhÙCÿøåJËI+WÿÌùÒäþ©õ€5ºëj”Ñ`Ô„tæü½ûó»úzß׺£Çåê *“Ù¤­'¶–[övüÛºê«d2×üÔw®FWÝ}«%Þ/ö|¡ =&Ôø~/%zQ´9$IrvrVÿ¶ýõÖ_Þ’Á`Ðú¤õUÚ¦©¤ôxzêŽw¨±gcËxeãã/´ø‡Å:v@oz[®F×?Ýþ¿wü[7ýó¦råf³ÙòDþk®±”l?PAÞAÚtxS¹ý¯KZ'IÒaˆí  "ÉÔ¸[ºÝ"7-Ü´PC†XƆÿÑŒ3ÔÊ¿•ýÏ£Úxx£² ²•™—©·¬%[–èñ˜ÇkíÿmÝo“»³»nZ¨~mú©u£Öµ²ßK™ýílíOÛ¯BS¡Îœ?£¿Çÿ]f³Y}Z÷©ÒöŒNFõnÕ[é9ézç¿ïèlÞYåç+þ·x}´ý£rõ?ßõ¹ÿ°X;’w(jA”Bç†Zý;–y¬Ü:{R÷è©ïžÒogSAqŸ9¬_ÏÐî”ݺ½ûíVÏTp5ºêÅa/êìù³zð‹uôìQeågiÕîUzó§7Õ5¤k…?€ß1…Ôc•™B/<¼æÏOÓˆö™‚ç¥õ/éÿ¾£¯ïúZ›v¬°Nf^¦Þøñ ÅŒSrV²|Ý}¡I½'©_›~’¤„S õþ¨rë&=–dùÿ¸qš¶bšÕò›:ߤë¯+W.IŸÝþY¹.æ³VÏÒòËõñ­«gËž•nouÛ—ºO%|¤Ÿý¬SY§äæì¦6ÚhL×15Zƒ¡ÂcsOß{ôÈÕ(tn¨Uù ÐAzgTib¿pÓBm8´Aé9éò÷ð×€v訷~zK’Ô%¸‹VMX¥IŸMºd¯?ËBS¡Ö%­Ó—{¾Ôþ´ýJÉN‘›³›"‚"tK·[,Ó'^hûÉíZüÃb%œJP~q¾Zù·Ò nÐä+'ËÝÙ½ª‡ê“É ððvzýõ škïpPK.w =’|¨Ç*“ä÷èÑF<’¡ñã³.]úlçgú`ÛZ5a•½C4P™™FõèÑFË–RŸ>å„ Çt¹I>Ýõ hÙ²XGޏØ;Œzãã„«ü0;ªÃáÃ¥ŸÛ-[Ù9Ô'$ùÐ@tî\ „º:_Ì¿wü[ÓVLÓù¢óúhûG:—wN7DÜ`ï° ØŽîòó+QóæÅöõSè@qÕUçõé§¾:}Ú¨€€šJ}}w NÑ £¦Wc_µëT~¬]ë©«¯>¯ÿM|Ø„$ˆÎËÛ»DŸ}æ«©SÏÚ;œ:gL×1ÓuŒ½Ã@’tô¨‹~þÙCo¿bïPPÏÐ]ww³n¹%Kÿø‡ŸÎãÏ?uÙâÅÕªU‘ à©ú¨¾å@rÏ=gåì,½öZc{‡.bÛ6w}õ•·fÍ:###ÇPI$ùЀxy•èá‡3´l™¯öìq³w8à=õT€ú÷?¯˜îâ£òHò ùË_²tå•ùš2%Xii<š€ºÂl–{¬©NrÑÓOŸ¶w8¨§Hò qr’^{-E^^fM™¬¼<> ¨ ^{­±V¯öÒk¯¥¨uë"{‡ƒzŠovÐùú–èw’uò¤³ÆoÆ}ìÈd’^x¡‰^{­‘žyæ´úöͳwH¨ÇHò jÕªHŸ}vRçÏ;éæ››3F;ÈÉqÒ´iÁúðC?-\˜ª±c³ìê9’|hÀZµ*Ò§ŸžPhh‘n¾¹¹ž{.€éõ¨f³´b…®½¶•vîtל҈9ö À`6›ÍöP5©©©Êɹü/%%ÒçŸûjþüÆ2›¥»î:§¿ü%K¦jˆ”)*2(.ÎKï¾ë¯Ý»ÝtË-çôðÃò÷/±wh¨#‚‚‚äíí]ÕÕ?%É€z¬º’ü2ÙÙNzë­FZ¾ÜWYYNŠŠÊWtt¾Ú´)’Ÿ_ sõP99NJN6jï^7ýô“‡òó4hP®z(C;Ú;<Ô1$ùЀUw’_&?ß M›<µy³§vïvÓñãÎÊÎ6ÊÄ} ŽúTÒ•’ZÚ;ðò*Q@€I:ªOŸ< œ«  b{‡…:Š$°šJòÔ/¡¡¡Z¼x±† fïP—ér“|ž®€ƒ ÉÀAäà Hòp$ù8’|I>‚$A’€ƒp¶w€ªsss³wêwwwy{{Û; Àerv¾¼4$ê1{‡ ŽðóóSPP½ÃØÝõp$ù8’|I>‚$A’€ƒ ÉÀAäà Hòp$ù8’|I>‚$A’€ƒ ÉÀAäà Hòp$ù8’|I>‚$A’€ƒp¶w°ÝǬìììråk×®Uff¦UÙÈ‘#X[¡êƒÙl6Û;Øf„ zï½÷äââb)+))‘Á`Á`$™L&y{{+--Mnnnö Pû>¥»>@=2nÜ8IRQQ‘åŸÉdRqq±åµÑhÔèÑ£Ið ¢»>Ôc™™™*((°wjQdd¤üýýËuÍÿ£¢¢"]ýõJMM­ÅÈÕÁÏÏOîîîU^Ÿ$걂‚åääØ; µlĈúøãU\\\áòF)22’¿Pyyy]ÖútרgFŒqÑßÅÅE±±±2µ . ɨg¢££\á²¢¢"1¢–#Ô$ùõŒÁ`Pll¬ÕöË„„„(22ÒQê’|€zhĈ***²*sqqѨQ£,Sé’|€z(<<\mÛ¶µ*+**Ò 7Ü`§ˆuI>@=uóÍ7ËÙù÷É’ÂÂÂjLjöF’POÝxã–§ì;;;ëæ›o¶sD{#ɨ§š7onyÈžÉd¢«>€$ >9r¤$©[·njÖ¬™£Ø›ó¥«šü|ƒ6nôÔæÍžÚ³ÇMÇ»(+ËI%%öŽ @y÷Hz^Û·OThh{{ ^^% 0©S§Bõé“§k®ÉUpp±½Ã‚ƒ2˜Íf³½ƒTMjjªrrrªm{ÙÙNzë­Fúä_åä8)**_ÑÑùjݺHþþ%r¢ÿP'½ùæxÝvÛbùøØ;ÈÉqRJŠQ{ö¸é§Ÿ<”Ÿï¤AƒrõÐCêØ±ÐÞᡎ ’··wUWÿ”;ù•”HŸî«ùóËl–&MÊÔ¨QY 0Ù;46ˆˆ˜¥Ö­Ý%Uß~jFQ‘Ak×ziéRÝtSKÝrË9=üp†üýé.‡êÁ|¨ÇªãN~V–“x X?ýä®ÛnËÒdÈÏ/Ô$³YZ¹ÒGóç7QI‰ôæ›)ŠŽÎ·wX¨.÷N>/ ;vÌE£G·PR’‹V¬8©Ù³O“àP éæ›³µfÍ1EEåë¶Ûšé«¯ªœØ$ùÐ@;æ¢Q£šËÓ³D+VœTçÎö €ÇÛ»Do¾™¢[o=§G Òòå¾ö õcò ÊÊrÒ¤I!jÞ¼X}tJܽÀ^ŒFiæÌ3òö6ë©§Ô²e‘úöͳwX¨§¸“ LI‰tÿýÁÊÍ5èí·SHð¨#î¿?C×_Ÿ«ûïÖo¿¹Ø;ÔS$ùÐÀ|þ¹¯âãÝõöÛ)jÚ”9z¨+ iîÜ45kV¤§ŸfJLT I>4 99NZ¸°±n¿=‹1øÔAnnf=óÌiýðƒ§¾ÿÞËÞá "É€äÍ7Éd’î»/ÃÞ¡€‹¸âŠ|‘£^h"“ÉÞÑ ¾!É€"?ß O>ñÕ]wc‰À¬¯ IDATš<À˜L&ÝÿýŠŒŒÔäÉ“UXXhïT£Ìбc.Ú¸‘»ù¨’|h 6nôTNŽ“Fʲw(@ƒ•’’¢ÐÐPË¿Ty[û÷ï×êÕ«•——§uëÖiÇŽÕ){kݺH½{ç髯¼í ê’|h 6oöTTT¾è÷8‚ððp :Tîî‰QTT”½CPÍ®¹æ¼6mò”ÙlïHPŸ8Û;@íØµËM½{3ç.à(œõúë¯Û; 5(::_çÎ9éäIµhQdïpPOä@qò¤‹Z·¦«>`//¾ø¢Þ}÷]«²aÆI’¯¥K—jîܹVu^yå=zTŸ}ö™’““e2™t÷Ýw—ÛÖ’%KtÝu×é믿ÖC=dµlÖ¬YÚµk—~øáeee©I“&:t¨þö·¿é믿ֲeËtèÐ!yyy©[·nzüñÇÕ¶mÛ8 *£M›ÒÄþøqg’|ØŒîúÐ@dgäëË÷{yüñÇõÃ?X•}óÍ7JJJR||¼$iâĉJJJ’‡‡‡¥ÎâÅ‹åìì¬/¾øBsæÌ‘$ >¼\½2-ûç?ÿ©I“&iÍš5 WjjªÞÿ} 2DÉÉÉúøã5{öleddhݺuš:uªL<Ò°;ŸÒÏí¬,Ò6ØŽw 4&“AF£½£PYM›6ÕÔ©Såçç§Ñ£GËßß¿ÒÛ¸í¶ÛÔ©S'ùûû«_¿~–ò‚‚Ý{ï½òòòÒµ×^k)?tèŽ=ZḠFcé`|“É`çHPŸÐ] 4hÕë_ýµÒÛhÑ¢…åÿ===-ÿ"ãÿ~ýûc¹$¥¦¦ª}ûö•ÞÀ¾¸“P‡^ö6œœ~ÿÊg0.Y.Ifç õI>@-¹0‘¶…««k DpT$ùµäÂ.ñÅÅÅ’¤qãÆé‰'ž°GHC’PK|||¬¦¦Û¹s§Ž9¢Ý»w«wïÞvŒ à(HòjÑüùóÕ³gOyzzêÉ'ŸÔ­·ÞªñãÇkøðáúú믪¼¼¨E‹YÊwïÞ­ððpíÚµK;w¶ŠóŽ;îÐ}÷ÝW‡Pƒ fžªõVjjªrrrlªÚ^‹§jØ0Ûêûãó»á ’··wUWÿ”;ù8’|I>‚$A’€ƒ ÉÀAäà Hòp$ù8’|I>‚$álï@Ý—¬iÓâ-¯÷ì¹QnnF;F*‹;ù€sþ¼I×\³F“&ýdïPª…£µçBC†„()i¤±w( ŠHò5Æl6«¤¤ôŸ#p´öT—ÈÈ/5vì¦*/Õ‡îú€ãåå¬õë‡Ú;Œjãhíއ;ù8îäjĥ▙Y¨×_߯µk“•œœ'OOguëÖX“'‡éÊ+­¶•‘Q %Kõý÷ÉJMÍ“‹zö Ðý÷wT§N~îoÆk5oÞmÞœ&£Ñ èèÆš=;J­ZyYmûСl½üòÅǧ«¸Ø¬|uß}áú׿éÇÓ%I£G·VLLH…í©ê~miÓ¥„‡¯’ÉdÛЀ7Ådz©n™ôôü?mËÒ¥5wînIÒÖ­gºR’d4”˜[©åAAîzóÍ+õòË{´cG†JJ¤®]é‘G"Ô½{“JÅ @Cf0›Í ,€z*55U9996Õ m¯Å‹S5l˜mõ«ËÔ©ñZ»6Ù*ÉOOÏ×èÑ•ŸoÒ /D«W¯@¥§çkþü=Z³æ”žþ ÓZ’”–VZ· À¤¹s¯P¯^:y2WO=µC;vœÕôWttãrû<8DS¦tPÇŽ~ڶ팦L‰W‡¾Z±b ¥îo¿åjäÈõòð0꥗ºëŠ+šèäÉ\Í™³KûöSNN‘öî½é’í©ì~+Û¦ÚVQ[24mZ¼Úµó±j‹T:æ>"Â_Ë—_]áö.µ|Ĉu:z4G;úiæÌHuì觤¤,=þøv:”­÷Þë§^½ª»™P/Øëóö$oo类þ)Ýõµnþü½:q⼞x"J11!òövVÛ¶ÞZ´¨§Ýõì³;tútÁÿêîÑÉ“ç5sf¤ –§§Qaa¾zõÕž2›Ízæ™îc̘֊Žn,£úõkªƒ´sçY=[ø‡8ö(+«H³gG©ÿ¦–m/ZÔCyy¦*µÍÖýV¥MµíméÓ'P11!åÚR]òòLzöÙn–ýEF6Ò‚=TTT¢çžÛYíûÀQ‘äjÝš5§$Iƒ[•»º:©oß@åç›´ysª¤ÒnøNNÅÄXOëè®°0_íÞ©””¼rûˆŠ²¾â!IJMý½î¦M¥û¸újë87vS»vUûÝ–ýVµMµí¶¹K²nKuñð0–¦Mݵoß9¥¥åWû>pDŒÉÔªÂÂegÉÍÍ(/¯òC¥‰dzz¾¥®$uëöÕE·yôhŽ‚ƒ=¬Ê||¬·íêZÚµ¾lZaa‰rs‹åæf”§§Qòós±½Q•ÜoUÛt¡š“a[œœ ’~oKuòõ­øx7i⦴´|9S ¦MÝ«Ç8’|@­ruu’‹²³‹”›[\.Ñ?}ºôŽm` »\]äëë¢ÜÜbíÝ{“ŒFCµÆáåå¬ÜÜb?o*—èŸ9SPmûºp¿ÕÕ¦ÄÄØjŒ¬ê —hÂ¥–KRff‘ÌæòuËÎC“&nUŒ€†…îú€ZwíµÍ$Ië×§X•–èÇÓåînÔUWI’†m.“ɬ­[Ï”ÛÎÛoÐUW}kóÝì Pº²nûeÒÓóuäHÍ=à¨&ÛdÎ***±¼2$NŸ|rÔæå’TP`ÒÎVe‰‰YJKËW§N~ÜÅÀF$ù€Z7cF„Z´ðÔœ9;µn]²rs‹uäHŽ~ø¥§çköì(¸Yê¶jå¥GݪS•]¤ÌÌB}üñ-Y’¨Ç¬òÝð3:ËßßUÏ=·C?ü¦óçM:p K>ºM5—TÖd›ì¡sg9’£ääVëefê7Jë&'çÉ××U~š4)Lýú5•$%$œÕ¨Q¬Ö»çžp=òH„e~ö2ƒëwúH’ŽÉѼy»õÓOé2™¤N|õ·¿uÑ+¯ìÕΙڵkÄŸ¶ç¯m_¥ýÚÒ¦ÚVÕcxøp¶fÍJÐîÝgåï睊SÃuë­m-u/µ|ĈuÊÈ(Ðûï÷ל9;µm[†L&³¢¢iúôuïnýƒ4$L¡×ð\îz$ùPÕå$¿¾»öÚµÊÏ7iÓ¦¡öÅá•%ù[¶\oïP Îáó»á¹Ü$Ÿîú€+==_Ý»ÿGÅÅÖ¿wŸ8‘«ß~Ë)×£ ®#É4hçÎê‰'¶+99OyyÅÚ±#C>ø«||\tß}í@¥ä¬À@w½ÿ~eeiܸͺâŠÿhÊ”xµiã¥+ªeKO{‡èЖ.=¨ÐЕڷïœRSóºR îµwXÔkΗ®€ãêÛ7P}ûÒ-ß&N Óĉaö‡Â|I>‚$A’€ƒ ÉÀAäà Hòp$ù8g{pLqqÉš6-ÞòzÏžåæf´cD•çm°'³Yڶ팾üò¸¶lI×É“çåã㢶m½5~|[ÝxcK öŽ’´téAÍ»[’ä®-[®¯Ôú6¤hΜ]:~PÍšyhúô_5wî.{‡ˆÿ™81LII#Õ©“_¥Ö;v,W“'ÿ¤ùó÷êôéüŠP$ù€:%2òK»©ÊËU}m·ÑhÐâÅ=Õ±£ŸÜÜŒjÙÒSóæu—¿¿«–-;¬ÂÂ{‡X§Õõó¾hÑ^]qEc}ñÅ yyÑAêþ€Ѿ½O…]·]\œâ¡}ûΩ À$WWî9ÔW/¾x…ÜÝÂu Ÿª VeeéèÑEDøÉÇÇÅÞáà2à@ÝÃ|@­HOÏ×¼y{´ysšŒFƒ¢£köì(µjå%ÉúÁ_[·žQhèJI¥Ý½c+µ<(È]o¾y¥^~yvìÈPI‰Ôµk#=òH„ºwoRcm(“™Y¨×_߯µk“•œœ'OOguëÖX“'‡éÊ+-õ KôƉú曓:uê¼ÜÜŒêÞ½‰ÆŽm£ƒd4.ÙîK _%“ÉlSûÜ?ì’õl‰»"99ÅJL<§ùó÷*0Ð]óç÷°).IÊÈ(Ð’%‰úþûd¥¦æÉÇÇE={èþû;ZÆ‘¿þz¢-Ú+IêÞ½‰–/¿Z’´iSªîºëGI’¿¿«~ýõ›öùÇó˜’’¯Æ]Õ¾½nº©¥n¸¡…%Áµ%¶ â¸aõ—u=\¸½5kkÑ¢}úé§tefJ’~ùåùúºèÛoOêßÿþM‰‰ç”]¬Ö­½4fLÝ~{;99Ùÿɇ&“Ù¦/lóÆCõÒK»µaCŠ\]0 HO>¥ìì"=ûì.ÅǧÉËËEƒiÖ¬(«á¶îS’¢£¿VvvQ…± ÒæÍ×)8ØC’m×~eß •‰wêÔx­]›lYï×Á?¦ëöÛÐßÿÞG11Á’¤9svê_ÿ:d©Ÿ˜+“É\¥ëûl½vªr¼.ç¼ …Ál6ÛöɨsRSS•““cSÝÐÐöZ¼8UÆÙV¿º”}é<8DS¦tPÇŽ~JHÈдiñj×ÎG+V ´ªù¥""ü-_L/t©å#F¬ÓÑ£9êØÑO3gFªcG?%%eéñÇ·ëСl½÷^?õêPcmHOÏ×èÑ•ŸoÒ /D«W¯@¥§çkþü=Z³æ”žþ ÓZ’4sæ6­^}J¯½ÖK=z4QNN±–.=¨¥KêïRïÞ¿Çy©vצÊÄ]æ xïÞzòÉ® ÷µiii¥Ç´ À¤¹s¯P¯^:y2WO=µC;vœÕôWttcKý‹«ØØõ:qâ¼MI~Ùy,((ÑóÏwSïÞÊË3iùò£Z´h¯fÍŠÔw†V:¶ŠÞKÛ¶Ñ”)ñêÐÁ·Ò×CÙözõ ЃvRT”¿ÈÖ˜1?LÛ·ŸÑäÉñš1£³Æk£’髯ŽkΜ]ºë®P=öX«í±N•~º¾$õë·Z§OTúéúëÖ%W*Ʋ6ÚLÓ¦…«}{}÷Ý)͘ñ« ’‹‹“|°“Z·öÖ_ÓìÙ ºóÎöš5+ªJûŒŽþZ[¶\/OÏß{-,Y²_¯¼²O3ftÖÔ©$UîÚÿc;ly/T&Þ?<¢§žJÐÂ…=tã--å>ºMŸþ›n¸¡…^}µ§¥<..YË–Òûï÷—Tµëûl½vªz¼.ç¼×Wöúü†ýÉÛÛ»ª«Jw}@­3¦µ¢£ËÃè>}¢;ÏêìÙÂjßW^žIÏ>ÛͲ¿ÈÈFZ° ‡ŠŠJôÜs;«¼][Ú0þ^8q^O<¥˜˜y{;«m[o-ZÔSîzöÙ:}º@Réµ°0õïßTîîF¸é±Çº¨mÛ*°×ŠªÄ}ï½áÚ·ï&}÷Ý`µoï£o\§%KöÛ´¿ùó÷èäÉóš93RËÓÓ¨°0_½újO™Íf=óÌŽêjÚöYzgÏ.=^^Î pÓ½÷†ë꫃.;¶?¾—úõkªƒ.ëz˜2¥ƒz÷‡‡³ºvm¤ÄÄX5jä*©ôG•©S;ÈÏÏU¹êöÛÛkĈú׿’”“S\¥ýU·ªÄ8ztkuéâ/£bc[*,ÌW7¦êî»ÃÔ©“Ÿ<=7®­Z´ðÔÆiÕ²OIú曓zõÕ}úË_Z[|©r×þÙú^°5Þnh.'­ZuÜR–ŸoÒÚµÉjÝÚKߟ¬ÜÜßë¯\yL#G¶²¼¾Ü¿K¶_;U;^—{Þ†€$P+¢¢[½ r—$¥¦æUû¾<<Œå¦ ÷UÓ¦îÚ·ïœÒÒª6Õ—-mX³æ”$iР`«º®®NêÛ7Pùù&mÞœ*I0 XÛ¶ehÖ¬íJH8kéV7ä’wË쩪q»¸8©}{=ûl7]sMˆ^yeŸ¶l¹ô—ð¸¸d99c=•a` »ÂÂ|µ{w¦RR*ÿ>:p K¡¡+­þ=ýtiR^v *·Þ?þÑWwÞzY±]ø^ )íî]Õë¡k×F–ÇÄ„èï*WÞ©“ŸŠ‹Í:x0ëO·ûgǨºT5ÆÈHë6—]]ºX_ûÁÁåŽkeö¹}ûpË]ü;ÎêoÛªž=4gN7«u+síÿ‘-ï…ÊÄëï廙´eKšÒÓKÿÖ­]›¬®]é¶ÛÚ)?ߤï¾+53³Pÿýïi Úܲþåþ]²õÚ©êñºœó4 RÔ 뜲1¤51hÌ׷⇹5i⦴´|9S ¦MÝ+½ÝKµ¡°°DÙÙErs3V84  tŸe_¼Ÿ~º«¢£kÅŠßô׿þ IêÑ£±Æk«k¯mVéø*Rcò«#`­YsJë×§¨_¿¦­WvL%©[·¯.ZïèÑ˸h[uè૤¤‘ÝçÅÎcuÄvá{ÉÕµ4‰¬êõàáQñ𲳋ôî»IZ³æ”RRò”•e=¶}5wîn}ùåqÝ|s+}ýõ d5ár®ïÊ^;U9^—sÞ†‚$P§.ñL§K-—¤ÌÌ"™Íåëž9SÚõ³I·*F÷ç\]äãã¢ìì"åæ—ûòzútéÖÀÀÒ/°ƒÛR±±-U\lV||º–.=¨{îù¯fÎŒÔ]w…ZÖµ¥Ý©ìøh[T&î‹)›6¯ì!qVÏ××E¹¹ÅÚ»÷&›úåädPQQI¹ò £?ÛçŸÇˉ­²ªzÞËLž¯_~9­Ù³£4bD 5jä&ƒAúç?“ôüó»TÍd+»ÏÜÜbMšô“Š‹Ízç>ò÷wµZ^Ùk¿¦ã4(Xþþ®Z¹ò˜bc[*!!CK–ô’»»Qýû7Õ?¤)--_+VÓôéVë^Îõ]™k§&ÐÐÑ]P§xx8[%hC†Äé“OŽÚ¼\’ LÚ¹3ê,11KiiùêÔɯJwñmUv§kýú«òÂÂýøcºÜݺêªÒn¬ÑÑ_ëСlI’³³Aýû7Õ[o])ƒ¡üú¶´»¶Ø÷‹/îÒôé¿V¸K»áFEUÜÍü†m.“ɬ­[Ï”[ööÛtÕUßZõVhÚÔ½\ùôô|:uþÒûŸ²ó¸aCJ¹e#F¬ÓóÏïªRl•u9ç½,®À@wÝqG{5nìfùÑ   ü ö`+»O“ɬüE‡eëõ×{[M¿ï¾ŸWú4ûÊ\û5¯T:4æ†Zhß¾sZ°`¯±<Ñ>6¶•L&³^}uŸÒÒòÕ§O Õº•ù»T[¯š:^HòuLçÎþ:r$GÉÉyÚ¾=CÇŽåªgÏ&6/—$-X°WÛ·g(/Ϥ]»Îjúô_åââ¤Ù³köIË3fD¨E OÍ™³SëÖ•>àêÈ‘=üð/JOÏ×ìÙQ ø½'ÁìÙ Ú¿ÿœ KtæLþþ÷2›Uî‹·-í®M¶Æýå—ÇõÚkûuâD® KtâD®æÍÛ£/¾8®.]ü5fLKÝ'rÕ¡Ã*…†®Ôž=™–ò3"Ôª•—}t«6nLUvv‘23 õñÇG´dI¢<Òê.zÿþM•––¯eËëüy“ŽËÕsÏí¬T޲óøüó»´~}Šrs‹•’’§§žÚ¡ôô|Ýygû*ÅVY—sÞFƒz÷Pzz¾Þyç Îž-T~¾Iññéúè£#UŽ©ª*:¿öˆ±²û|þù]Ú°!EÏ?ý§cÒ+{í×T¼ebcKŸ¬¿|ùQ«ë Rú0¼åËꦛZV8¢-×÷Ÿ]¯¶^;5q¼0…Ôkuy ½„„³5jƒUÙ=÷„ë‘G",s~—4(Xï¼ÓG’tøp¶fÍJÐîÝgåï睊SÃuë­m-u/µ¼l °÷ßï¯9svjÛ¶ ™LfEE5ÒôéêÞÝöĸªm(û9Qqq¥ãg=<œÕ­[#MžÜÁêKò¾}çôÑGGôóϧuêTžÜܜԦ—ÆŒi«Ñ£[[uÕ¾T»k“­qçäkõê“úæ›:r$W©©yrq1¨];]w]3M˜j¹»(•& 11q2›Íúúëk¬¦ØËÌ,Ôo”Óää<ùúº*"ÂO“&…•ÓŸ]¤_Ü¥ R••U¤.]ü5kV¤fÏNÐîÝ¥ÉÈ”)ô·¿uþÓv^x7vS¯^zè¡NjÓÆÛªÞ¥b«îë¡¢íI*7~þìÙB-\¸W6¤(==_þþ®0 Xîzë­DIR—.þ>¼…æÎÝ]a|¦lj·Š¼ð‚õh;¿¶ÆøôÓÝ*<†C†„häHëò3"Ô£G€n¹e“UùtÒt´yŸsæD+6výŸƒ7ß¼RC†”>xÑ–k¿*ï[ã]µjÕúƒÇ©°°D7µú{R6Þ·ßVh¨Õ:¶^ß—º^m½vªz¼ªrÞë+¦Ðkx.w =’|¨Çêr’o/—3Ï7uMCùüÆï.7ɧ»>‚$Áz‡°téA«1Å¡¡+ÿtLñ…c_+RßÇq€†‡$à&N Óĉa6׿ðeŽ€îú8’|I>‚$A’€ƒ ÉÀAäà œíÀ1ÅÅ%kÚ´xËë={n”››ÑŽÕo_}B=ô‹$ÉÕÕI{÷Þd爪—Ù,mÛvF_~y\[¶¤ëäÉóòñqQÛ¶Þ?¾­n¼±¥ {G @ÝÇ|@2$DII#5xpˆ½CqÇ·PRÒHõíhïPjÄáÃÙ;v“ŽÍÕ’%½”0\Ÿ>PÍšyhúô_5wî.{‡@½@’¨S"#¿Ôر›ª¼õ—ÑhÐâÅ=Õ±£ŸÜÜŒjÙÒSóæu—¿¿«–-;¬ÂÂ{‡@G’ì®}{%&ÆÊÏÏÕªÜÅÅI!!*,,QAÉNÑPä€:++«HGæ("ÂO>>.ö€:ïjEzz¾æÍۣ͛Ód4ÝX³gG©U+/IÒÒ¥5wînIÒÖ­gºRRiîÄÄØJ- r×›o^©—_Þ£;2TR"uíÚH<¡îÝ›Øó…ܸq¨^zi·6lH‘««QéÉ'£”]¤gŸÝ¥øø4yy¹hР Íš%//ëÙÌÌB½þú~­]›¬ää>.êÙ3@÷ßßQ:ùÙÔÞððU2™Ì6Õ pS|ü°KÖ+,,Ño$ê›oNêÔ©órs3ª{÷&;¶ ’ÑXñÓôrrŠ•˜xNóçïU` »æÏïaS\4t³ÙlÛ§9 ÎIMMUNNŽMuCCÛkñâT f[ýê2uj¼Ö®MÖàÁ!š2¥ƒ:vôSBB†¦M‹W»v>Z±b UýÈÈ/á¯å˯®p{—Z>bÄ:=š£Žý4sf¤:vôSRR–|»ÊÖ{ïõS¯^UjÃСÍ4mZ¸Ú·÷ÑwßÒŒ¿jÀ€ ¹¸8éÁ;©uko}ñÅ1Íž ;ïl¯Y³¢,ÛHOÏ×èÑ•ŸoÒ /D«W¯@¥§çkþü=Z³æ”žþ ÓZ’ôÛo¹9r½<<Œzé¥îºâŠ&:~üð*õî]þ\¼þz¢-Ú+IêÝ;@O>ÙUáá¾µ:Ô öúü†ýÉÛÛ»ª«Jw}@­3¦µ¢£ËÃè>}¢;ÏêìÙÂjßW^žIÏ>ÛͲ¿ÈÈõ3/ IDATFZ° ‡ŠŠJôÜs;«¼ÝÑ£[«KyxÛRaa¾Ú¸1UwߦNüäéiÔ¸qmÕ¢…§6nL³Zwþü½:q⼞x"J11!òövVÛ¶ÞZ´¨§Ýõì³;tútÁÿêîQVV‘fÏŽRÿþMåéiTx¸¯æÍë®´´¼rqÍŸ¿G'Ož×Ì™‘80XžžF……ùêÕW{Êl6ë™gvT¹Í—ëÇÓæ£þý›ÊÝݨ€7=öXµm{ñ//÷Þ®}ûnÒwß Vûö>ºñÆuZ²d-F @ýE’¨QQÖw’ƒ‚Ü%I©©å“ÖËåáa,×E=<ÜWM›ºkß¾sJK˯Òv##Y½.kC—.Öû ö(×®5kNI’ ¶*wuuRß¾ÊÏ7ióæTIÒ¦M¥ÿ½újëºM›ºW˜ÇÅ%ËÉÉ ˜ëé Ýæ«Ý»3•’RýÇÙkÛ¶ Íšµ] g-Ãââ†Tx¿Œ‹‹“Ú·÷ѳÏvÓ5ׄè•WöiË–´‹Ö¥“¨>>Ö9NN¥c±kbИ¯oÅhkÒÄMiiù:s¦@M›ºWz»ÞÞÖm0JŸ àáQ¾m%%¿7¬°°DÙÙErs3–§/I¥±¤§ç«°°D¹¹Års3ÊÓÓXaŽù½ËfÙ¶%©[·¯.ûÑ£9 öøÓöÕĘü§ŸîªèèÆZ±â7ýõ¯?H’zôh¬qãÚêÚk›Ù´¯˜˜`­YsJë×§¨_¿¦6­@CE’¨S ?‡Íæå’”™Y$³¹|Ý3gJ»Ã7iâVÅèªÆÕÕI>>.ÊÎ.Rnnq¹DÿôéÒžîruu’——³rs‹uþ¼©\¢Ÿ™i=¼ÁÕÕI¾¾.ÊÍ-ÖÞ½7]ôAv¶HLŒ­òºc0H±±-ÛRÅÅfÅǧkéÒƒºçžÿjæÌHÝuWè%·áêZÚñð¶€ò讨S<<œUTTby=dHœ>ùä¨ÍË%© À¤;3¬Ê³”––¯Nüªtÿr•ݵ^¿>Ū¼°°D?þ˜.ww£®º*H’4`@é˺í—9{¶PGŽä–ÛöСÍe2™µuë™rËÞ~û€®ºê[›ïÐW·èè¯uèP¶$ÉÙÙ þý›ê­·®”Á`},^|q—¦OÿµÂmlÜXz¢¢U¸üŽ$P§tîì¯#Gr”œœ§íÛ3tìX®zölbórIòñqÑ‚{µ}{†òòLڵ묦OÿU..Nš=;êÂ]ÖŠ3"Ô¢…§æÌÙ©uë’•›[¬#Grôðÿ(==_³gG) Àíu;ËßßUÏ=·C?ü¦óçMJJÊÖ#üRaþ3"Ôª•—}t«6nLUvv‘23 õñÇG´dI¢<ò²îð_®Ù³´ÿ9–èÌ™ýýïd6K}úXOøå—ÇõÚkûuâD® KtâD®æÍÛ£/¾8®.]ü5fLû4€z„)ô «ËSè%$œÕ¨Q¬Êî¹'\<a™ã¾Ì AÁzç>’¤Ã‡³5kV‚vï>+WM®[omk©{©å#F¬SFFÞ¿¿æÌÙ©mÛ2d2™ÕHÓ§G¨{wëªÒ†!CB4r¤uùŒêÑ#@·Ü²Éªü:é:J*ínþú뉊‹;¥””Ýõp$ù8¦Ð8„¥KjîÜݖס¡+-ϨȅϨÈÇÓÔ$ù‡0qb˜&N ³¹~RÒÈŒÀ>讀ƒ ÉÀAäà Hòp$ù8’|I>‚$álïŽ)..YÓ¦Å[^ïÙs£ÜÜŒvŒ¨f™ÍÒ¶mgôå—ǵeKºNžPÍšyhúô_5wî®JmoâÄ0%%T§N~5±cúôÓßôÖ[‰9²•â㇕Kð%iÆŒ_õôÓ;4dHˆ¾ýv°vî¡O>¹Z~zöÙŠÝ`U¿ºÏ­$íÚu£¾ú*F’4xpéµR–àKÒôW§N~úË_Z+11VË—_}Ñõ*úçãã"IêÖ­‘’’FjÔ¨Ö’¤‘#[Y%øR鵺eËõ pÓÆCõÎ;}$I/½t…~ýõM™¦÷Þ;¤üãP¥Û ¨}$ù€:%2òK»©ÊËíÉh4hñâžêØÑOnnFµlé©yóºËßßUË–Vaa‰½C¬²³‹´`Á ö½Þ}÷ ž~—bc×ëÅwéСì?]÷¿ÿM—$Ýyg¨|}]Ê-ß¹ó¬¾úê„Fn­É“;(8ØCnnFµjå¥éÓ;_´Ç@mžÛC‡²5fÌ&ÅÄ륗®ÑXÉnxì±.ò÷wÕÊ•ÇôË/gÊ-0¡½š7÷´*÷òrÖ¸qmåáál9¶€º$€jо½cåççjUîâ⤖¨ À¶nÖ YAI£GoÔªUÇõÌ3]uûíí5cF„fÌè¬ï¾;¥[oÝü§ëŸ=[(£Ñ /¯ŠG$<˜%Ij×ΧÂå7ÜТ\YmžÛ­[ÏhüøÍš:µƒ~8¢ÊÛÙ¾}¸"#Y^ûû»êÑG»H’ž|2AÅÅf˲M›R•””­‰;\t{>>ÎÊÌ,¬r<€ÚC’@ ÊÊ*Òÿ³wŸaQ]ùÇ¿0ô.ň ŠŠk4‰]WÑÕÄ´¢é«Ñ‰ÆÄ]%&ÑD%½˜Ä$–µ&ö‚±€ (‚b¡Hïuþ/&°Ž3À RÔü>Ïã î=÷žsÏ~÷´«Wóðó³­B-ªwôhqq¹Œßš  GŒ 15UìÌÂ…µ^_Q¡¬ñ¼££Ù_ù¤h=ß½»#§Oש¬õýÙîÙ“Ä´i¡,^È?ÿÙ¦N÷˜8ñ0[¶\ÓznüøÖtíê@ll›6Ū—*ï¾{Ž :cdTýˆÕZB!î}²ðžBˆF‘–VÄÒ¥Q9’ŠBa@` =óæЪ•j³Ûš;s&¶mTäcbÆèuÞÅÅŒ5kz²lYçÎePQ:5ãµ×üèÚÕA¯r—”Tðé§1ìÜ™HRR¦¦ ºvu`âÄ6 àRíPê¼¼2bb²Y¾<''3–/殮i±uë fÎ<­vìĉ¡89™‘‘QÌêÕ1üñG2))…X[äÈ+¯´Ç××–œœRºtÙ¡víŒ~¼ô’ååJ||~«:þè£-X½º{eññùMçÀÏÑÑ”ÐÐaµ¦S*U÷;t(…gži«v.8ØY§{Ô$(È''3ŽIå™gŽ3mZ;‚‚04Ô}H|C|¶_}…O>¹ÈƽèÔÉþ®ï§,XЙQ£ö³jÕEFŒpçǯѥ‹Ý»;6HžB!ŸùB!ÅÂ…‘L›ÖŽ÷ßïJxx/¼Êôé§øå—€j¡¹gŸõÆß~~vU UÒõüÈ‘û¹z5÷Þ‹`ÎÚ··%..‡7ß ãñÇòå—}ô hæÏg×®$V­êN·nä啱aC,Ó¦àÛoûÒ£‡æ½>ù$†•+£èÑÑ5kzÒ®ž5¦ÝˆîDEeqéR}T5„<5µˆC—³dIºww"11ŸwÞ9Çøñ‡øæ›`퉋ËÓOãØ±4~ÿ}HÕK…€¸¸±„„bÊOFjYkYbbÆÔË3Ý®W/'Ú´±"""“öbkkÌC¹RTTŽ™Yí+»—–*11©>……‚U«º3cÆ)NáðáL vfÀWvÅܼú?â³=~<•ßOæÿþ¯­^þï¿'W½ìºÝ„ ­«½ÆÇdž§Ÿnˆ ±¼öÚi®]ËgÇŽAµæebbHi©¬)!„÷®/„¢QL˜ÐšÀ@{ÌÍôêåÄ AnDDd’™Yÿó| ËY° sU~þþÍX±¢¥¥¼÷^„^÷:~< ook‚ƒ13SàèhÊotÄÃêÚk^zɇ F³gÏ`¼¼¬5j?«W_¼ÛÇ"'§”gŸ=NE…’{«Í_¾<ŠÄÄæÌñgÀW,,x{ÛðÑGA(•JÞ}÷\UÚÿû?ï¿î«vÿ3gÒIJ*`Ø0ÍyéÅÒ҈͛ûñÄ^\¿žÏçŸ_¦G,\AvvÍí%)©WW³ÓtëæÀ<̲e]<Ø¢¢r¶n½ÁŒ§èÛw;v$T{mC|¶®®XY±qc6ÄÖ~Á_´­®¯ËH•ýË77sNŸN祗|pp0­õsRRŠdȾBÜ$ÈBÑ(Ô{(]\TXJJa½çen®ÐØzÎÇÇgg3.\È&5µHç{õïïÊÙ³ÌFxxfU³oß­½ø•Œ ñò²fÁ‚Î<ô~xcÇRëö@¨¶q7î ††¼õV€Æ4}û’144`Ð õ- œÌðö¶áüù,nÞTÕup°3>>6üòË µÅÔÖ¯å‰'¼jœ›ÝLyûíþüs!!­éÔÉCC¾øâ2“'ѺÈ]VV ë×Ç’˜XÀcyÖš‡‰‰!cǶbíÚžœ=;‚¯¿fÄw²²J˜9ó4ÑÑÙÕ^[ߟ­§§ŸÞKK#–,9ϦMqu¾—.ÌÍU£YÚ·×m‹ÆI“<ÈË+eåÊèy1'„¢þÈp}!„ÂÚZý+§r´²:µmªà15µˆôôbœkîí­4~'íùå—kL™r€nÝì™4Ƀ‡n®Ó= reïÞ$¸IŸ>κ=ÄmrrÊxá…“¸ºšsèP [·Þ`ôèÿ §/)© 7·€Î·W{Ÿ«Wópu5à©§¼xóÍ0¾ùæ /¿Üžøø>ääBÂÂ2¸~=Ÿ  ÏX[³bE4aa–™ÉÌ™§166dÞ¼½Ë4o^8/fSRRAzz1Ÿ}v ¥Rµüí¶m»ÁªUIHȧ¤¤‚„„|–.bëÖtìhÇ„ mêT'·sw·ä“Oz‘QÌ‹/†RR¢zá1k–­ZY2{öJ!7·”¬¬¾ÿ>žÕ«cxóMþÇ÷ÄÌLÁDѧ3­[[ÞuùêCVV /¿|’‹³)+« ¨¨œ;ùùçë92x°[µ×ZY‘—WZk¯¼r’mÛnšZTõYmØ˪UéØÑޱc[©¥oŒÏ¶R÷_ß33óçŸãÛoãëíÞu•—W*Á½BÜ' ”ʆ˜ )„¢1¤¤¤——§SÚ¶m½øøã† Ó-ýÝ ÏdüøƒjÇ^|ч×^óÓØökà@W֯礼›;7œóç3±³3áùç}xì1ª´µ9r?Å|õU0 FpölååJš1s¦ŸN«ßîÂ…l¾û.ž?ÿ¼ERR!¦¦†´icÉ„ „„´®š—WÆ®]‰ìÜ™@||>))…àéiÍ£6ç©§Úê´\¥;˜>ý”Ú±¹sý tШ×Ñ£[²bE7²²JøôÓöíK"9¹üülyî9ïjç‹ÏÆæÍWùþû~/KšBiiû÷ßdûö¢£³HL,ÀÈÈöím1Â)S~<©SOPT¤J7c†kׯh\W? bÄõ¾û.ž·ß×H3¦Æi}úìÂÞÞ”íÛkßnOQ¿ûû[4=¬¬ªßŧ?I/„÷±{9Èo*•Aþ±cC›º(÷…Ÿ¾Æ7ß\á·ß6uQ´Z¶,Š-,˜<Ù£öÄÀsÏààÁ›ÄÆŽmà’ý½ôì¹ww ~þy@SEˆ¿¿Ë÷·øŸ» òe¸¾Bñ7öý÷WuZ<ð~áêjŽR ·n7uQeeJ²²JªvfBqo“ _!„øùñÇk¼ðB(å|÷]<ÙÙ% î^û…M¤wo'üýítN߯Ÿ  Zl°>V¼ÿ»ËÍ-eãÆXÊÊ”ôïïÚÔÅB¡ÙBO!ÄaÆX–,9_õsÛ¶¿V­ Íëhó꫾¼újûz+ã½7À¾}ÉnÇÛÛ†> Òi˽¦¢ïÞóC†¸ñúëزå:ß~{…ž=4¶ãkHMýÙÖ§×_?öm7hÑ‚—_nÏ?þѪö‹„B49™“/„÷1™“/„B<ØäûûïGæä !„B!„9ùB!„B!ÄC‚|!„B!„â!A¾B!„Bñ€ _!„B!„x@H/„B!„B< $ÈB!„B!ä !„B!„£¦.€BˆÓ¾}ɼðBhÕÏQQ£05U4a‰–R gϦ³mÛ ŽK#1±kkc<<¬˜<ÙƒQ£Zb` ûý6lˆeɒ󸸘qìØÐ*yýÙ±#éÓO`bbHtôè&.Ñÿ,[E‹Lžì¡Súòr%+W^`×®’“ éÙÓ‰M›zk¤Ù¼ù*¿þzØØ Ëqp0Å××–\8Ðww˪ôõÝFüý·QXX®vì7:òì³ÞZÏ€µµ1Í›[е«!!­éØÑNë½gÏ>˶m7pq1硇\yýõôï°B<(¤'_!Dƒ2ĸ¸± ìÖÔEiW®ä2qâa®^Ígõê`Ë–4onÎÌ™§Y²$R¯û=û¬7qqcñõµm 릠 œ‡ÚËsϨ5íˆîÄÅ¥wo§F(YÃúé§k¬]ÃØ±­ ¦àÌšušùóÏ1dˆ»w&"b$?üÐ??[,8ǘ1ÕÒ×wˆŒÅöíƒ ò…BÜSüý·1qâá:ŸoJ …Dûö¶˜š*hÙÒ‚¥K»bggÂ×__¡¤¤¢©‹¨7¥RIE…êßý&7·”+¢6ì6nŒeÑ¢HÆŒ9ÀâÅ‘\¾œ[ãµ'O¦ðôÓm±±1Ö8‘Éöí „„´fêÔv¸ºšcjª U+KfÎìP툦n# …ŽŽ¦ ìÆ7ß3uj;¶l¹Æôé§Pjùˆ--˜4Éss£ª:Bqo“áúB!D=ðò²&&fŒÆqccCÜÜ̹p!›âârLLî¯÷ë––F8ðHSCoÅÅå„„"?¿Œ>èÆ¾}ɸ¹™ãímÃ[o…±uë BC‡U{}ff …––ÚÿTŠÍÀÓÓZëùáÃÝùïÕŽÝ‹mäßÿîÀÉ“iüñÇMvìH`äHw­é¬­ÈÊ*i´r !„¨»ûë/ !„â>““SÊÕ«yøùÙbm­Ù#,ÆÑ£iÄÅå2~|k‚‚166ÄÔTAp°3 Öz}m#ÍþÊ'EëùîÝ9}z¸NemÊ6b`O<áÀ·ß^©1]yùý7šC!þޤ'_!D£HK+béÒ(ŽIE¡0 0ОyóhÕJµ0Ùí Í9“NÛ¶¿ªáÅ11cô:ïâbÆš5=Y¶,Šsç2¨¨€NšñÚk~tíê W¹KJ*øôÓvîL$)©SS]»:0qb pA¡Ð¾RZ^^11Ù,_““Ë—wӿҴغõ3gžV;vâÄPœœÌÈÈ(fõêþø#™””B¬­ rä•WÚãëkKNN)]ºìP»vÆ ?^zɇòr%>>¿UôÑŒݲÆÅ/_ÎeÙ²(BCÓ(/‡l™5«ƒÞÏäãó›Î¤££i=ð•”=?t(…gži«v.8ØY§{Ô$(È''3ŽIå™gŽ3mZ;‚‚04Ô}弆j#úêÚÕ€°° ÊÊ”é¹úŸBˆ{ŠùB!ÅÂ…‘L›ÖŽ÷ßïJxx/¼Êôé§øå—€j¡¹ÊÁýüìØ¼¹ŸÚõºž9r?W¯æñÞ{Ì™ãOûö¶ÄÅåðæ›a<þøQ¾ü²Ý»;ê\îùóÃÙµ+‰U«ºÓ­›yyelØË´i'øöÛ¾ôè¡y¯O>‰aåÊhzôpdÍšž´kg£gi7b„;QQY\º”ÃGakk@jj!!‡(..gÉ’.tïîDbb>ï¼sŽñãñÍ7ÁÚ7–§Ÿ>Ʊciüþûª—, …qqc 9Ä”)žŒÕ€¸¸±<ÿ|(¿ÿž¬VŽk×ò 9„¹¹‚Õ«{Ð¥‹7nä³xq$ׯèõLÚ†°ß­^½œhÓÆŠˆˆL Ø‹­­1=äJQQ9ffµ¯_ZªÄĤút V­êÎŒ§8|8…ÇSpp0%8Ø™\<ØsóêÿÌjÈ6¢/''Õ¨„òr%Å8;›i¤111¤´ôþ[SB!þŽd¸¾BˆF1aBkí17WЫ—ƒ¹‘IffýÏó-,,gÁ‚ÎUùùû7cÅŠn”–VðÞ{zÝëøñ4¼½­ vÆÌL££)o¼Ñ«j¯yé%.\Íž=ƒñò²fÔ¨ý¬^}ñn‹œœRž}ö8J6nì]à,_Ebbsæø3`€+ ¼½møè£ ”J%ï¾{®*íÿýŸ÷_÷ˆU»ÿ™3é$%0l˜öyÙ·[¾<ŠœœRæÍ 8Ø >>6,]Ú•ÔÔ»~Ö»eiiÄæÍýª†¢_¿žÏçŸ_¦G,\AvvÍí.)©WWÍ`÷vݺ9ðdzlYWv£¨¨œ­[o0cÆ)úöÝÃŽ Õ^ÛPm¤.´-¸w'sRRŠdȾBÜ$ÈBÑ(ìÕ~vqQP))õš›+4¶žóñ±ÁÙÙŒ ²IM-Òù^ýû»röls熞YäìÛ7Dk/~%ccC¼¼¬Y° 3=䯇^àØ±Ôº=ªíׯ;ˆ¡¡o½ 1M`ß¾d 4H}ËB''3¼½m8>‹›7UuìŒ ¿ürCm1µõëcyâ /†k>¬š‹Þ¯Ÿ«Úqgg³_€4&SÞ~;€?ÿFHHk:u²ÇÐЀ/¾¸4ËÐk IDATÌäÉG(..׸&+«„õëcIL,à±Çκ=ÄmrrÊxá…“¸ºšsèP [·Þ`ôè–UçKJ*ÈÍ- sçíÕÞçêÕ<\]Íxê)/Þ|3Œo¾¹ÂË/·'>>'Òxÿý.µ–§¤¤‚üü2LMXXhiwp0%>>Oççkˆ9ù·S(TÁë¸qÍ8Еqã“ÃîÝIjõøúëgøå—ë0uj;ž|ÒKï|zõr¢W/'Z´°`ݺKìÚ•€ŸŸm­×Þm¹§Oß 0оÚ<£G·$9¹•+£Y»ö}û:óùç}³˜B!t$A¾Bˆ{ŠA-ȵÈÊ*E©ÔL›ž®ê±tpÐÞ[Y]~cÆ´d̘–”•) McÆX^|ñ$sæøk,ê¦Må–huÝ‚L¡€¯¾ ÆÚÚ˜ƒÌ™†‡‡ͪîoccL~~ÑÑ£«] ðv£G·bÅŠh¾þú S§¶cãÆXþñVjSjzKK#òóË(((×ôõ}Ά˜“¿uë ¶n½Á¦M½ÕŽ»¹™3n\+Ö¬¹Db¢úÚK—våí·;qäH Ó§Ÿ";»„E‹´¯ÄæL:/¾x’“'µ¿pèÙÓ‰uë.‘“S¦Syï¶ÔUE…’o¾‰`Ê”ê_j¬XÅš5—øÏº0thsÙ)B!îa2\_!Ä=ÅÜÜHm¯!CöñÃWu>ª=Ò#"2ÔŽÅÄäšZ„¯¯­Î½ø;¸|9P gvfíÚžÀ7«Ò-^©±ê}¥C‡TCÛ+ƒr}YZáâb†……‚uëzba¡àùçCÕ¦<òH ÊË•œ9“®qýºu—èÛw·Zo¹‰‰!=æIzz17Ʊuë žzªö•ú÷wþ7l¿Rff ññùú>bƒˆˆÈ$?_3ÈÎËSóòÒÜãÞÊʈ¡C[Сƒ»w'U{o¥RõÒ(<`mmÌŠÑ„…ePXXNdd&3gžÆØØyóô.Ó¼yá\¼˜MIIééÅ|öÙ%”JÕ î·Û¶í«V]$!!Ÿ’’ òYº4Š­[oб£&´©SÜÎÝÝ’O>éAFF1/¾JI‰ê…ǬY~´jeÉìÙg8t(…ÜÜR²²JøþûxV¯ŽáÍ7ý5zøÜ33|EŸ>δnm©s9fÍê€ ï½wŽ£GS)(('..—×^;¥uSÈÊ*áå—Orñb6ee•³sg"?ÿ|  Gv«öZ++#òòJkÍã•WN²mÛ RS‹ª>ó bYµê";Ú1vl+µôÑFjRQ¡$=½˜ßOfÊ”£|öÙ%BBÚðÁÝj%“—W*Á½BÜ' ”ʆ˜ )„¢1¤¤¤—§ÛÜç¶m½øøã† Ó}®ôÝÏdüøƒjÇ^|ч×^ó«Úã¾ÒÀ®¬_ß P-07wn8çÏgbggÂóÏûðØcUik;?rä~22Šùê«`.ŒàìÙ ÊË•4cæL?ºvU!P› ²ùî»xþüóII…˜šÒ¦%&xÒº*0ÊË+c×®DvîL >>Ÿ””BŒ ðô´æÑG›óÔSmuÚº­ÒŽ LŸ~JíØÜ¹þ:hÔëèÑ-Y±¢YY%|úi ûö%‘œ\ˆ ~~¶<÷œwµó¼çÎ cóæ«|ÿ}?—%ûö%ó ¡ZóˆÏcéÒóœ8‘FY™’vílxå•ö|þyǧҚŋkŸç_ßJK+Ø¿ÿ&Û·'EbbFF†´ooˈîL™âYãƒO>yŒÐдj§TT( Ë`ß¾dNºErr!ééŘ™)ðô´æ‘Gšó䓞jÛèÕwð÷ßFa¡ú‚o¼Ñ±j»É;Ï€••1Í››Ó­›#&´¦C»ZóéÓgöö¦lß>H¯ò !î^c‹¦çââ‚•U±ýI‚|!„¸ÝËA~S© òÚÔE¹/üüó5¾ùæ ¿ý6°©‹Ò –-‹¢E &Oö¨=1ðÜs'8xð&±±c¸d÷‡ž=wâînÁÏ?hê¢ñ·ówùþÿs·A¾ ×B!þƾÿþªN‹þݸºš£T­[ÅM]”&WV¦$+«¤jg!„÷6 ò…Bˆ¿‘¼Æ /„RPPÎwßÅ“]ÂðáîM]¬×»·þþµK¯Ô¯ŸjaÁuë.5úŠ÷÷’ÜÜR6nŒ¥¬LIÿþ®M]!„:-ô„B<6lˆeÉ’óU?·mûkÕÚܹ.€6¯¾êË«¯¶¯·2Þ yƒj®}`àv¼½møè£ ¶Ü»ßé»÷ü!n¼þz¶l¹Î·ß^¡gO'íøRS·€×_?öm7hÑ‚—_nÏ?þѪö‹„B49™“/„÷1™“/„B<ØäûûïGæä !„B!„9ùB!„B!ÄC‚|!„B!„â!A¾B!„Bñ€ _!„B!„x@H/„B!„B< $ÈB!„B!FM]!„¦}û’yá…ЪŸ£¢FajªhÂ5,¥ΞMgÛ¶;–FbbÖÖÆxxX1y²£FµÄÀ ©K)DãÛ°!–%KÎàâbƱcCõºþàÁ›,\ÉùÄÄŒiˆ" !ÄEzò…B4ˆ!C܈‹ËàÁnM]”FqåJ.'æêÕ|V¯îNxø¶l@óææÌœyš%K"›ºˆz+((硇öòÜs'šº(â>öì³ÞÄÅÅ××V¯ë®_ÏgêÔ,_Í­[E T:!„xðH/„âžâ￉×ù|SR( øøã Ú··ÅÔTAË–,]Ú;;¾þú %%M]D½(•J**Tÿăç^þ]X¹2š.]ìÙºu ––2øT!t%ÿc !„õÀËËZëPbccCÜÜ̹p!›âârLLîŸ÷ë––F8ðHSCüM-^Ü3³wŠB4”ûç/ !„â>”“SÊÕ«yøùÙbmmÜÔÅâ¾!¾BÔôä !„hiiE,]Å‘#©(Ú3o^­ZYê‹s9“NÛ¶¿ª!ð11cô:ïâbÆš5=Y¶,Šsç2¨¨€NšñÚk~tíê W¹KJ*øôÓvîL$)©SS]»:0qb pA¡Ð¾š^^^11Ù,_““Ë—wÓ+ß;.Ü»w0+W^àĉ4²²J8uj8Íš™‘QÌêÕ1üñG2))…X[äÈ+¯´×˜}ùr.Ë–EšFY™’vílxùe¾øâ2ǧÒšAƒÜj\81+«„O>¹Èï¿'“œ\ˆ……;Û3uª7={:i}†ƒ®± ÔÆÇç7ÊËu›:àèhJhè0ÒêRŸ|ÃÊ•ÑtíêÀæÍý8|8…gž9€ §O×)ÏÛëïæÍ"ìíMðò²fôè– î^àêR6}ë¹¶ß%]Ûž1»w'òã׈‰É&7·ŒÖ­-™0¡ O<ቡ¡¬4)„MÁ@©TÊD;!„¸O¥¤¤——§SÚ¶m½øøã† Ó-}}yþùP~ÿ=™ÁƒÝ˜6­íÛÛžÁ /„âéiÍ/¿ PKïï¿ ??»ª êNµ9r?W¯æÑ¾½-sæøÓ¾½-qq9¼ùf—/çòå—}èÞÝQçòÏ™s–]»’Xµª;ݺ9—WƆ ±lØË·ßö¥GÍ{ÝöèáÈÛowÂÇÇFç.]Ê¡mÛ_ÕþÍŸ¯ Ê+ë¯ë6mêÍÓO·½«²Õw=W×ö rãÛoûj÷õµ¥¬LIllN÷­©Ž„BÔÌÉBÑ(¬­Õ¿r*çë6Ĥ1í Ü98˜’šZDzz1ÎÎf:ÝkþüNÚóË/ט2å(ݺÙ3i’?Ü\§{ äÊÞ½I8p“>}œu{ˆ;˜›k.BVRRAnn);o¯öÚ«Wó°·7%?¿ SSš÷²µÕmQÀÊ@`à._ÎÀÈÈ€à`gÖ®í‰8p³*Ýâő̜yZë=R ]Ð>ìùn<òH ÊË•œ9“®qnݺKôí»»ª÷»rxxå°ýJiiEÄÇë¾ Så†ÛŸT½Ïǧaf¦ o_Í¡è÷"}êÀÙÙLcˆ|ZZII:çYYÞÔ87rä~-ЬSÙô¥ËïRu*ËåädÆ“OzaooZõÒ ¸Xó%ˆBˆÆ#A¾Bˆ{J‡vÄÇ瑜\HXXׯçä óykkcV¬ˆ&,,ƒÂÂr"#3™9ó4ÆÆ†Ì› w™æÍ çâÅlJJ*HO/æ³Ï.¡TB¯^Njé¶m»ÁªUIHȧ¤¤‚„„|–.bëÖtìhÇ„ mêT'5™5ËV­,™=û ‡¥›[JVV ßÏêÕ1¼ù¦U/ð¬Y°³3á½÷Îqôh*å\º”ÃìÙgõêyŸ5Ëww .Œ`ÿþdòóˈÏcÆŒS¤¥1o^ŽŽº–hJúÔ@p°3©©E|ýõ ʹ~=Ÿ÷Þ‹ÐktHeý-ZÉ7ÉÏ/ãæÍBÞyçiiE<ý´Wʦ/]~—ª£PУ‡#iiE¬_Kff EE儆¦ñÝwñu.“Bˆ»'[è !Ä}ì^ÞB/<<“ñãª{ñE^{ͯj_îJº²~}/®\ÉeîÜpΟÏÄÎ΄çŸ÷á±Ç<ªÒÖv¾r›®¯¾ fáÂΞ͠¼\I@@3fÎô£kWÝ‚˜J.dóÝwñüùç-’’ 155¤MK&Lð $¤uUïe^^»v%²sgññù¤¤bll€§§5>Úœ§žj[µ÷y]ëÐ:‡9+«„O?aß¾$’“ ±±1ÁÏÏ–çžóÖX >>¥KÏsâDååàëkÿÿÝ‘?Œ&""‹ÈÈ‘€æÞë£G·dÅŠnUy~ò‰*Ï›7 177¢sçfLÚ®êåG]Û@cÓ§þrsKY¼8’ƒSÈÉ)¥cG;æÎõgÞ¼pΟÏT«ÑÿûßjÍóöú³·7¥{wG¦O÷¥M+µtµ•­¾×tm{™™%|ðA4Þ$-­;;ú÷wÅÉÉŒµkcèØÑŽ#ÜY²ä¼ÖòÕdÿþd¦N Õzî?ÿQߦQˆ™l¡÷÷s·[èI/„÷±{9Èo*w³÷ßÙÃÿNQQ9‡?ÒÔEBq›¿Ë÷·øŸ» òe¸¾Bñ7‘–VD×®ÿ¥¬Lýý~BB>×®åiL?B!ÄýG‚|!„âo$;»„·Þ #9¹ÂÂ2ÎËà_ÿ:µµ1/¿Ü¾©‹'„Bˆ»$[è !„x lØ«6ï·mÛ_kœ÷{ç\em^}Õ—W_­ÿÀ·©òvr2㫯‚ùæ›+Lšt„””BlméÓÇ™•+»Ñ²¥E½æ'„BˆÆ'A¾Bˆ³Ïzóì³Þ:§×¶€]ciʼ{÷v¢wo–/„B<¨d¸¾B!„Bñ€ _!„B!„x@H/„B!„B< $ÈB!„B!ä !„B!„ ò…B!„Bˆ„ùB!„B!ÄB‚|!„B!„âaÔÔBñ`Ú·/™^­ú9*j¦¦Š&,QÃR*áìÙt¶m»Á±ci$&`mmŒ‡‡“'{0jTK šº”B› bY²ä<..f;6´‰KtoX¶,Š-,˜<ÙC§ôååJV®¼À®] $'Ò³§›6õÖH³yóU~ýõ:±±9–ãà`Н¯-¸2p  îî–Œ¹Ÿ ²u.ïŒ~¼ô’OÕÏ‘‘™|ýõNž¼EZZ¦¦ Ú´±bÐ Wž|Ò cµëýý·QXX®õÞ&&†xxX1i’=æYãïòÕ«y ¼Nš±eË€ZË}áB6ß|s…?ÿ¼ÅÍ›…¸¸˜ãînAÏžŽôë犯¯mUž5•óN¿þ:ÿf:¥½SDDæ_åJ'-­33ÎÎfxzZÑ»·}ûºÐª•eµezãŽ<û¬·NyéZgú´Ÿº¤˜=û,Û¶ÝÀÅÅœ‡råõ×;<Ðß]âÁ$=ùB!Ä!nÄÅeð`·¦.J£¸r%—‰sõj>«Ww'<|[¶  yssfÎ<Í’%‘M]DQgŸõ&.n,¾¾¶M]”ûÚO?]cíÚÆŽmEhè0`Ö¬ÓÌŸŽ!CÜØ½{0#ùá‡~øùÙ²`Á9ÆŒ9¨–~õêÄÅ­ú7i’ê…æM½ÕŽî®vÝòåÑŒ[[Ö¯ïEXØ|˜W^ñaïÞ$ÞÇ™3éj×DFŽbûöA ìVuï F³eˬ¬Œ™?ÿK—ž¯±~þùçÎe—[mºŠ %K—F1fÌLL ùøãîœ:5œcdžòÁÝps³`ùòhFÚÏùó™µ–óÎÖÖÆÕe]£Š %K–œ'$ä¦lܨª¿={3w®?yye¼óÎ9 ÚKy¹²Ú2éàƒîu¦oûÑ7=ÀûïwáôéáL›æÍ—_^fÓ¦Ë:?‡÷ ò…BÜSüý·1qâá:ŸoJ …Dûö¶˜š*hÙÒ‚¥K»bggÂ×__¡¤¤¢Áò¾—ëEÜ?rsKY±"ŠaÃþ`ãÆX-Šd̘,^ÉåËÕ_'O¦ðôÓm5zÉAÕ3¼}{!!­™:µ®®æ˜š*hÕÊ’™3;èˆGm®SÙ?ú(ˆ—^òáÚµ|>þø:ØUõúßÉÜ܈¹sýÉÏ/ã½÷"tº?€››9NN¦”—+¹xQû4‚£GS122dÑ¢@~ûízUo÷í._ÎeݺX:v´«1Øœ6­]‡Š‡…Ð{¨þíåš8±Ö4 …/¿Ü¾NeÒF×:Ó·ýè›^kk£j_è4®ïY±bo¼ñ·nÝjêˆû€ùB!DÊÉ)åêÕ<üülë<|VˆÆpôhqq¹Œßš  GŒ 15UìÌÂ…µ^_Q¡˜ÝÎÑÑì¯|R´žïÞݑӧ‡ë_ðÛ|÷ÝÊË• ZóË  GœÍ8z4•7 t¾¿ò¯G¬.ðþé§kŒ×ÿf´ooË­[Å<¨ù¼?üp•Š %C‡¶¨1?c¢¢Fé¬Oœx˜-[ªAP“~ˆ×©\öÄÅE¡¸û…Ft­3}ÛO}´7´¾ph|ÏóÜs_ÊÀùøã))¹^>ˆ{•,¼'„¢Q¤¥±tiGޤ¢PhϼyU 7ݾøÙ™3é´mû+ ê5Љ£×y3Ö¬éɲeQœ;—AEtêÔŒ×^ó£kW½Ê]RRÁ§ŸÆ°sg"II˜š*èÚÕ‰Û0`€Kµäæå•“ÍòåÑ89™±|y7½ëL—¼k«—JYY%|òÉE~ÿ=™ääB,,ŒèÜÙž©S½éÙÓ Ð\,qïÞÁ¬\y'Òªz³NŽ1»w'òã׈‰É&7·ŒÖ­-™0¡ O<ቡ¡z\¾œË²eQ„†¦QV¦¤];^~Ù‡/¾¸Ìñ㪡°!!­Y¼¸ Ŭ^Ã$“’Rˆµµ1AA޼òJû:Í›¿ýÙoÞ,ÂÞÞ//kFnÉðáUßSZ^®ÔùYum+umS·óñùMçàÃÑÑ”ÐÐaµ¦SþÁ:”Â3Ï´U;ì¬Ó=j䈓“GޤòÌ3Ç™6­AAíånüù§jž½¯¯]­i}}mIM-âÔ©[´lÙªÖôII¤¥aee„··Æù¬¬öï¿ÉìÙ7®‹EòÓOWyè!×;Êy«ª ÷’S§Tõ×¾}ã”KŸ:Ó·ý4F{kL;>Ì+¯²nÝ:>ûì3þûßÿòöÛoÓ§OŸ¦.š¸IO¾BˆF±pa$O?Ý–ãLJ²jUwNºÅô駪ÎW.~fn® x*ª Tu=ïëkKNN)ï½Ák¯ùqòäp¾ÿ¾/ÙÙ¥<þøÑª?®u5~8_~y™·ßàôéáìÙ3OO+¦M;ÁéÓéZ¯ùä“:wÞÎĉ‡14„5kzÒ®fPPy×V/ zÁ2f̶oO`Þ¼NŸV- hn®`Ê”£üø£ª×ïÎÅßz+œÇ÷äÈ‘Gزe@UðyèÐMþõ¯SôêåÄž=ƒ9zôQþùÏ6üç?‘,]¥ö ×®årˆÈÈLV¯îÁŸçý÷»ðå—W¸x1CââÆVø©©EŒ{;x÷ÝNœ=;’ï¾ëKVV ãÇ",,C¯:¬|ö;ÿzöálÝ:ˆ=œ˜=û,ß_ãõú<«®m¥.mêN11cª]píκç½z9Ѧ™ °—]»‰Ï¥¨H·i&¥¥JLLªaba¡`ժ™søp =v„^½v1sæi¶oO °°L§|j’’¢ZÞήöQ3vvª©5©©E5¦++SráB63fœÆÈÈùó;ce¥ÙO¶}{ö¸»äô4Ï IDAT[0fL+ŒŒ 8pà&ééÅjiÓÒTyÚÚÞÝèžßO¦mÛ_Õþݹ  >*ëB—ú«úÔ™¾í§>Ú›‰‰!¥¥ ·–оÌÍÍ™>}:»wïÆËË‹§žzŠ·ß~›‚ÝG£ˆ¿ ò…B4Š Zh¹¹‚^½œ4ȈˆL23ëÈaaa9 t®ÊÏß¿+Vt£´´B¯9¸Ç§áímMp°3ff MyãŽxxXU{ÍK/ùpáÂhö쌗—5£Fígõê‹z?G]òÖfùòh xë­ rÃÊÊ+V® ÂÉÉŒ ÎqëV±ÆuÓ¦µ£GGÌÍèÔ©11chÖLõèáÈóÏ·ÃÖÖ„fÍLxâ /FŽtç‹/âÈË+»-ï(rrJ™7/€à`g,,x{Û°re7­Û€-_Ebbsæø3`€kUú> B©Tòî»çêôìóæ©žÝÒÒGGS^zɇ~ýt[+èþyÕÇçÚsòo§P`ooʸqÍ8Еqã“ÃîÝIŒý¿žì×_?Ã/¿\ÇÐЀ©SÛñä“^zçÓ«—½z9Ñ¢…ëÖ]b×®„ªíÔôÕ½»#çÏgUëH TÁ]m/V\\ÌXº´ ‘‘™¬_‰¡C›k,„÷óÏ×ÈÏ/Ãß_{»Íáܹ :uR½ì ràüù,¢¢²0ÀUë5uµys¿:_[Y/f×ë6yÚè[gÚèÛ~ôM?ztK’“ Y¹2šµk/Ñ·¯3Ÿ~oÍwvvæóÏ?gõêÕ¼ûî»DDD°páBŒe¡×¿3éÉBqO©m”¨.£H³²Jµ¾<¨œãéà`ªWyÆŒiÉW_6‚5kz T‹/ždÓ¦8îabbøW¹ôë Ò'ïêêÅÄÄkkcŠ‹ËÉÏלƒzë–*¸wrÒí¥ÀÔ©¡¬^}‘‰ÛðûïCˆUõxÎëüo7C,-(..§ @³øÎ9·&&†ØØW-XÝóÊ…kSÛ³×糂îŸW}´©†˜“¿uë žyæ¸Æq77sÆS-L—˜¨>÷wéÒ®„‡ä£‚ظ1–·Þ «öþgΤӣÇÎjÏW~®99uŸ›?i’ …»v%Õ˜îôétRS‹4È•æÍ-j½¯©©‚Y³: T²eêk1”•)Ùºõ?þØ_kýWŽÙ²åzÕ5ÿü§††ìؑР/:몲þv﮹þÞÿ<ÞÞ¿rùrnò©KéÛ~ꣽ­XÅòåQ¼÷^ aa#’¡¡!¯¾ú*ëׯg÷îÝ<õÔSdee5u±D’ _!Ä=ÅÜÜHm¡£!Cö© ‘­í<¨öûŽˆP_ -&&‡ÔÔ"|}muîÅ ÜQõ‡¬‘‘ÁÁά]Û8pàfUºÅ‹#™9ó´Ö{:¤² ßžÕºæ 5×Keïð×””Tpüxff úöÕ­×®¼\É™3é89™ñä“^ØÛ›V½`(.Ö\ ª²7°rØ~¥´´"âãó4Ò?òH‹ª<î´nÝ%úöÝ­×üØÊg?xð¦Æ¹‘#÷³hQõóXõ}V]?/}>ׯ‘©õ…HåÚ^^š{Ž[Y1th :t°«18T*U/vÂÃ3µžŒT¯k/>€‡‡¯¾êKTTVµ‹*–±pavv&Ì›×Iç{Ú??[ŽOãèÑÿM½ùãdìíMéÒE{sHˆjøùöí U‹zyY3mš7±±9|öÙ¥j󬸋5ßT Nê·ÆAeýEFfòÓOWµ¦¹r%—ï¿gØ0w­í¡&>>¿qùrnêLßöSímïÞdÜÝ-˜0¡õ}±jÿþýÙ¼y37nÜ`òäɤ¥¥5u‘D‘ _!Ä=¥C;âãóHN.$,,ƒë×ó rÐù<€µµ1+VD–Aaa9‘‘™ÌœyccCæÍ лLóæ…sñb6%%¤§óÙg—P*U«‘ßnÛ¶¬Zu‘„„|JJ*HHÈgéÒ(¶n½AÇŽvL˜Ð¦Áò®©^fÍòÃÝÝ‚… #Ø¿?™üü2âãó˜1ãiiEÌ›€££n£ zôp$-­ˆõëcÉÌ,¡¨¨œÐÐ4¾ûN3¨š5«vv&¼÷Þ9ŽM¥  œK—r˜=û¬ÖѳfùѪ•%³gŸáСrsKÉÊ*áûïãY½:†7ßô×koîÊg_´(’n’Ÿ_ÆÍ›…¼óÎ9ÒÒŠxúéꇗëû¬ ûç¥kºÆ–•UÂË/ŸäâÅlÊÊ*(**gçÎD~þù:AAŽU;/hceeD^^iµç+½òÊI¶m»AjjQÕïɆ ±¬Zu‘Ží;¶öíìjòÒK><ÿ|;æÏ?Ç¢EÄÆæPRRANN)û÷'3qâaÒÒŠøâ‹>´lY{/~%xí5?@Õ›_Ù¿eËuµÅãîÔ® :Ù“›[Êž=ÿ{ 2c†Ï=çÍòåQ¼ùfçÏgQXXFQQ9119¬Ys‰iÓN PhLhHªúóaÞ¼p–-‹">>ÒÒ RRŠøé§k<þøQÚ··eÉ’.uΣ®uú·Ÿ»ioyy¥÷Ep»öíÛ³yófJKK™Úœ§žj[ã~ìw“·.õ¢Ú+>†}ûTsËÍÍèܹS§¶« ,µ}fqqcÕ~ÎÌ,ტ9xð&iiEØÙ™Ð¿¿+NNf¬]@ÇŽvüöÛ@âãóXºô<'N¤Q^¾¾6üûßùðÃh""²ˆŒ©vÿ¬¬>ýTUÖääBllLðó³å¹ç¼õZÓ ºg··7¥{wG¦O÷¥M+6lˆeÉ’ój×T¶U}žU×ÏKŸÏµ1•–V°ÿM¶oO ::‹ÄÄŒŒ ißÞ–#Ü™2Å#£ê ÷ä“Ç MSÛ¾ñvJÂÂ2Ø·/™S§n‘œ\Hzz1ff <=­y䑿<ù¤'ææšë'lÙrÙ³Ïjˆ¥u½PõÔ~ýõNž¼Ejj&&†xzZ3dˆS¦xjoþþÛ4v|>Ü> R;öÏÖºÕa§NÍØ²e€Ú±„„|ü?{÷U•ÿü•žI) ]B@J ]Š`gÁ•ÀâÊîO¿tE¥¨ó4",¢€¢q]EWWו•„Ðb¡ B t4ée2¿?òÍè˜@&e2!¼Ÿ‡‡sî¹÷|Ι«7Ÿ¹çÜ;l«EÙoŸ‘pôh67žæ›o2HO/’»+Þ àÇï~×Þüй+Åy%/¿Î=÷´³ªîo>|‘ ’ùæ› ddâææDP7£G·çþû;ãâò˽šÄôk5³={î¬ÑùS—ó­Â A[hÙÒýkDûVŸjsýÎÈÈ`Ò¤I˜L&>øàZ´h¸ФîðòªõW>R’/"r kÌI¾½T$ù_}§½C‘jÜv[……FvíºÝÞ¡H^zé(mÛzpÿý«¯ L™²—;R9yòÞê+‹\ú÷ÿ‚ví<øøãav£¶×ïôôtÆO«V­x÷Ýwñð°~æŠØW]“|M×›ÉÈ($,ìß”–ZÞS8{6Ÿ~ʵûôt©?­[0™àÂ…¢ê+‹4r¥¥&²³‹­z“GcåïïÏ;ï¼ÃÙ³gyòÉ'ѽÝ뇒|±©K—Šyú餤PPPÊ¡CY<öØ÷x{»ðÈ#Ýìž\ÁÀ~ôìécuýŠWÖ­_¢Æo’iLÊ_y’ÒRC‡Öï+ZÇŽY³f qqq¼öÚköGHí^+""ÒÈüv]u`à'æuÕUùísªòè£!<úhý'¡öl»¡ùù¹³aÃ`6n<Åĉ»IK+ ys ògÕª¾5zðÙ¯]Och/5}þÁ¨QmxòÉüã?óÞ{§èßß¿þu ¢“šÐ/Ö{òÉ}|öÙiÛÖƒGéÆï_·A6ááá,X°€çŸž~ýúfïÄÆ´&_Dä¦5ù"""M[}]¿§L™ÂÉ“'ù÷¿ÿ§§g=E'¶ 5ù""""""rUË–-#77—Õ«WÛ;±1%ù""""""Mœ¿¿?sæÌáwÞáĉöGlHI¾ˆˆˆˆˆÈu`„ tíÚ•+VØ;±!%ù""""""×'''fÏžM||ùä{‡"6 $_DDDDDä:âîîÎwÞÉ¿ÿýo{‡"6 $_DDl"66…ÀÀOÌÿíÒ5%&æ¤yì ÚbïpµcÇ.1yò^BC?§W¯ÏøÓŸ¾bß¾L{‡%"Ò¨Ýzë­=z”ôôt{‡bs¥¥¥¼ýöÛŒ3†^½zÁC=D||<&“éªûN:•ÀÀ@Ö®]kQC`` 4È–áט’|±‰Q£Ú”t/#G¶±w(פɓƒHJº—æö¥Q;tè"‘‘;ñôtæË/G²sç´oïÉý÷ïæ«¯šþ®""µ5`ÀÜÜÜøê«¯j´_~~>·Þz+S¦L±Qdõ«  €x€üã<ýôÓ|ûí·üóŸÿÄÃéS§ròäÉ+îûÉ'Ÿ_å¶É“'“””DHHˆ­B¯5%ù""Ò¨ôìù&ìªõv¹~”•™˜??Íš¹ðâ‹7ãïïN‹®<ûl:vôbÁ‚ý—Ù;L‘FÉÝÝ=zpðàÁíg2™(++£¬ìÚøÿktt4Ççoûááḻ»sà 7ðÒK/áêêzÅýÒÓÓYºt)cÇŽmÀh뇒|¹&}÷]&'O^æŽ;Úâîîd.wrràž{Ú’’R@||Š#iÜzõêÅáÇk´§§'Û·oç­·Þ²QTõçÂ… |ðÁŒ3___‹mƒü‘®]»V¹ïÂ… ¹óÎ;2dHC„Z¯”䋈ˆÈ5iïÞ zöô©´­gÏÿWG¯‡¹’nݺ‘œœ\íºôkÕ¶mÛ0„……Õh¿>úˆ“'O²`ÁEf[Îö@DD®…,_~”Ý»Óqrr 4´%QQ½èÐÁ(Ð\tôöíË$0°üµ>NN$&Ž­Ñö€w^{­?/½t”C‡²(+ƒÞ½[0gNwÂÂZYïåË%Ü|óçe³gwçᇃ1MÿÓ\~ÇmY³&€¬¬"Ö¬IdÛ¶ÒÒ ðöv!<Ü—Y³º™××ÇÆ¦0cF‚yÿ­[G²jÕ1öîÍ ;»€ï¾»›-~™F˜œœÃ /áûï/PZjºb²³‹Y»ö8qq)¤¤àááLŸ>-™:5ˆþýýÌõŠ‹ËX·.‘/¾8Çùóù¸¹9ÖŠ :1lXNNæºÖô©:ÁÁÿÄh´îH__7^rr­[*m«(;}:Ǫ6ED®GmÛ¶¥  €‹/âååźuëøâ‹/8þ|óç5kÖðòË/3wî\s‚ŸžžNdd$EEEDGGÁ¹sçX¼x1ãÆcãÆ„††š‘˜˜XëþU¼9`þüù 8M›6Ѽys¶mÛÆÿþïÿ²{÷n6oÞŒ···yŸ 0zôh P«6ï¹çŽ=ʉ'X½z5Í›7üt5]_DDÄøñ m‰ÁàÄ€~ŒцÇ/rñbq½·UP`äÙgû˜ÛëÙ³+Wö¥¤¤Œçž«ÙÚÃÉ“ƒ(+3ñÖ[–OßÝ·/“´´B­¹lÅŠ£œ;—ÏÂ…=6¬5N5cõêpL&Ï;w®Õ±¿øâ V¯^Í}÷ÝÇôéÓÍå+V¬àܹs,\¸aÆáááAPP«W¯þ¿ëÊ3õÒ7€¢¢òkž››Ë—/§}ûö4kÖŒ{ï½—3fpúôi‹g |øá‡œ9s†ùóçת½Ë—/3yòdÊÊÊxë­·ì’àƒ’|i ½zYÞí p -­ ÞÛ2œ*M#n†¿¿;ÇŽ]"=½Ðêc èG÷îÍÙ¼ù¿æ©ôo¾y’ ´˜Ö›‚££#FX¾6ÐÏÏ  f9’MjjåþöîÝâª1¸¹9UªSU¶n=Àðá­-꺺:2p ……FvïN`èÐÖìߟŢE8xð¢y*}lì(ó]üºô©!x{»Ÿ_Zi[AAùÔÎfÍ\4&‘k‰»{ùµ¸  €¡C‡²ÿ~-ZÄÁƒÍSäcccéׯ_µÇ:pà€ù.þ¡C‡xâ‰'géÒ¥õbccqttdĈå~~~qäÈRSSë£{æx „“““ŶŠöwïÞ Àùóç‰ŽŽæÅ_Ä`¨¼ ¬:§Nâ¾ûîÃÑÑ‘§Ÿ~ºR{ IÓõED¤Ax{[^rË“c[<ëçJ‰]«Vn¤§’™Y„¿¿»ÕÇûŸÿ bîÜïÙ¸ñ<ÒÓ§sùî»LV®ìk®S\\fž>Þ§Ï¿®x¬3gr+­!7®þ‡€K•w¤ÝWrrJpssÂÓ³òåÝ×·¼¿å?,YÒ›ÐЖlÞü“&•¿#¹oß–LœØ™Ûn»¡Î}ú-[¬ÉïÒ¥üTU?2T”uîì]i›ˆˆ”sq)¿^–””°dÉBCCÙ¼y3“&M oß¾Lœ8‘Ûn»Íêcž?žiӦѦMÖ­[gn ¸¸Ø¼n¿OŸ>W<Æ™3gÌÓûë²&¿b9B‹•LoÕªü™6™™™ÄÇÇ“““Ãý÷ß_å±W­ZŪU«€òúuìØÑ¼íòåË̘1ƒÖ­[³sçN>ýôSÆŒcU̶ $_DD•ê¦W[3ý:;»“©rÝÌÌòi{­Z¹Õ(¦{îiÇŠGy÷ÝSLÚ•·Þ:É„ ,’iWWGš5s!/¯”cq‡¿®*íßúu\]ñöv!'§„¼¼ÒJ‰þ… åɽŸ_y²ïàcǶgìØö”–šHHÈ &æ$3g~ÃÂ…=yè¡Àzí“-Öä÷ïïËš5päH6÷ÞÛÁbÛ‘#Ù PýóDD®W¹¹¹xyyáààÀرc;v,¥¥¥$$$ÃÌ™3Y¸p!=ôPµÇËËËcÊ”)”––òæ›oVz¨««+Íš5#//üѪ»ÝuY“ß·o_þú׿š×æÿZEr_ñj½x€x R½ŠéÍž=›‡~¸ÊvœœœØ°aÞÞÞDFF²páB:wîL¯^½j{]hº¾ˆˆ4*ƒ3%%eæÏ£FÅòÁg¬ÞPTdäðá,‹²ÄÄˤ§Ò¼Fwñ¡üA{ÿïÿ’™YÄ[o%ñùçgùóŸ»Tªwûím1MìÛ—YiÛúõ'2ä?VßÍþµü|#ÇŽ]²(«ª?wà·o·œæX\\Æž=¸»;1dH¡¡Ÿ›ŸNïììÀàÁþ¼þz,÷·UŸêCD„/ÞlÙrŽ¢¢_îò&>ÿü,mÚ*-]‘_TÜU÷öö&44”äädœœ>KJJdñóÏy„‡·²z;”¯Õ^¹òGÈ¢ ÀÈ?\dîÜïqqq$*ªv¿ªÿáðövá/9ʨQ7˜Ÿ)ðkóæu§COžzj;w¦‘“SBvv1›6fÍšD,èY«»áƒÏËìÙß‘‘QHTT/|}™ÅuãÇ/Q\\Fffo¼q“  ð³8¦-úTˆŽãÒ¥žzj?…dg³dÉ!ΜÉåùçoÆÍÍ~k"ED»_'ùQQQ?~œââb233yã70™LV=i~Ù²eìØ±ƒeË–]u ÿ¼yóèСO=õ;wî$''‡ììl6mÚÄš5kX°`A½­gwuuå…^àâÅ‹<öØcœ9s†Ë—/óÏþ“×^{Þ½{óç?ÿ¹^ڪЮ];Ö®]KVV3gΤ¸¸þ0\“É«!ED¤!¤¥¥™§ÚU'0° ¯¼’Æ]wYW¿®¼È¸q;,ÊfÎ fΜîæwÜW>¼5o¾YþÄ©S9,Zt#G.âããÊôéÁüñ¿Ü ¨nûèÑñde±aÃ`–.=ÌþýY&zõjÁܹ•ß+_/¾x„7ß<É矠[·ªŸ˜›]̺u‰ÄÆž'%¥€fÍ\éÞ½9S¦1hÿÇ )é^ó¿ÇÄœ$:úPþÂ×^ëÏòåG9|8‹²2®ØŸììbÖ®-o?5µƒÁ™>}Z0ujW‹äýرK¼ÿþi¾ýöçIÎt IDATÏàææH§NžŒß™ÈÈŽK¬é“=ýøã%V®<ʾ}™”•™èÝ»%?R§ïZD¤±°åõ;>>žiÓ¦qàÀþûßÿòþûïóí·ßrþüyÜÜÜèÔ©ãÇ'22bcc™1c†Å1ÆŒÃ>ÈØ±W_–õÚk¯™ïšggg³nÝ:bccIII¡Y³ftïÞ)S¦0hРzïçxå•W8xð ………tèлロ©S§š>ø[QQQlÚ´©Rù!Cxûí·ùüóÏyüñÇ-¶-Z´ˆÐÐPÆgQ>fÌV®\iu¼xyyU_±j)ɹ†5æ$ß^*’ü¯¿¾ÓÞ¡ˆˆˆÔ™-¯ßëÖ­ãïÿ;;vì¨÷cKíÕ5É×t}‘ëPbb"ÁÁÁöCê™’|‘ëÐñãÇ•ä7Az…žˆˆ4 ¿^Ãø‰ùUùísªòè£!<úh·z‹QDD¤±8{ö,ÉÉÉV=TO®-JòED¤I˜<9ˆÉ“ƒ¬®ÿë‡Ü‰ˆˆ\obccñöö&<<ÜÞ¡H=Ót}‘ëÌöíÛ:t(ÎκïÛÔ(É¹Žœ={–o¾ù†;î¸ÃÞ¡ˆ (ɹŽlذ€€ó{ë¥iQ’/"""""rÈÏÏç£>bÒ¤I899Ù;±%ù""""""׉ 6PZZJdd¤½CQ’/"""""rÈÈÈàõ×_gÆŒøøøØ;±%ù""""""×èèhš5kƃ>hïPĆô¾±‰ØØfÌH0>zôw¸¹i퟈ˆˆ=|ýõ×|öÙg¼úê« {‡#6¤;ù""b£Fµ!)é^FŽlcïPDDD®kYYY<ñÄÜ~ûízmÞu@I¾ˆˆ4*={~Æ„ »j½]DDD~a2™˜?>ÎÎÎ,[¶ÌÞáHÐt}‘&jõêÕìÚµ‹?üæÍ›Û;iº“/"""""rJKKã½÷Þ«rÛ|ÀÚµkyî¹çèÝ»wG&ö¢;ù""Ò 22 Y¾ü(»w§ãää@hhK¢¢zÑ¡ƒ'11'‰Ž>À¾}™~€““‰‰ck´= À×^ëÏK/åС,ÊÊ wï̙Ӱ°V昊‹ËX·.‘/¾8Çùóù¸¹9ÖŠ :1lXNNÕö+8øŸ&«ÆÀ×ׄ„»¬ª›]Ìڵlj‹K!%¥gúôiÉÔ©AôïïT~¸áŽ·]uŒED¤i1<üðÃ9r„¾}ûlÞÏâÅ‹™={6‘‘‘vŒRšƒÉd²î/itÒÒÒÈÍ͵ªn``^y%»î²®~}™>=¸¸FŽlôi]éÖ­9f1cF7ÞèÍæÍÃ,ê÷ìùÝ»ûðᇷTy¼ê¶Ï™3¹tëÖœ… {Ò­[s’’.³`Á’“sxçADDø°pá~¶l9Ï«¯Fзo+rsK‰‰9ILÌIÞ{oýúùÖëXX+#£ÈÈyþùP""üÈÈ(dÅŠ£lÝzžeËnfüøŽæúUñþý™L›–@×®Í*±ˆˆ\;®vý^¾|9o½õAAA|úé§899±uëVüq"##yæ™g:d©£€€¼¼¼j»ûGš®/"" büøŽ„†¶Ä`pbÀ?FŒhÃáùx±¸ÞÛ*(0òì³}ÌíõìÙ‚•+ûRRRÆsÏ6×Û³'ƒ  oöÇÝÝ __7æÏ¿‰Îk}a­+VüÈÙ³ù<ýt/FŒhƒ——3;{±jU8~~î<ûì!.\(ª´ß¯ÇxÐ † °Ù‹ˆˆ}íØ±ƒ7Þx£ÑˆÑhäĉ¬_¿žO?ý”Y³fÉâÅ‹í¦Ø’|i½zµ´øà@ZZA½·e08bùp¡ààføû»sìØ%ÒÓ :´5û÷g±hѼhžv;Ênwñ¶n=Àðá­-Ê]]8ÐÂB#»w§UÚï·cܦMù{m1Æ""b?)))Ì™3GÇ_Ò¹²²2^~ùeæÍ›ÇôéÓyæ™g,¶ËõCkòED¤Ax{[^rË×»ÛbÑX³f.U–·jåFzz!™™Eøû»³dIoBC[²yóOLšô}û¶dâÄÎÜvÛ VµUßkò‹‹ËÈÉ)ÁÍÍ OÏÊ—i_ßòG22 +mûí»º:¶c±ÒÒRyä (++³Øæè舯¯/³fͲStÒ(É‘FÅ¡šgÝU· ;»“©rÝÌÌò)î­Z¹™5vl{ÆŽmOi©‰„„ bbN2sæ7,\Ø“‡ ¬¶­ÄıÕT®®Žx{»“SB^^i¥DÿÂ…òäÞÏϽ^Û‘kË/¾È‘#G0•¶•––’žžÎo¼ÁÌ™3í4š¿!""ŠÁàLIÉ/w&FŠåƒÎX½ ¨ÈÈáÃYe‰‰—IO/$$¤9þþå rhèç$'çàììÀàÁþ¼þz`ûöÔzî™õ*fü6†ââ2öìÉÀÝ݉!C욈ˆØQ||ËìÙß‘‘QHTT/|}Ý쟈ˆ4¼³gÏ2{öl¬˜ÒVVVƼyó®úc€4]z…žˆÈ5¬1¿BïàÁ‹Œ·Ã¢læÌ`æÌén~Ç}…áÃ[óæ›8u*‡E‹räÈE||\™>=˜?þ±³¹nuÛGŽ'+«ˆ ³téaöïÏÂh4Ñ«W æÎíNXØ/?;v‰÷ß?Í·ß^àüùÜÜéÔÉ“ñã;ÙѪ¥¶’]ÌÚµ‰ÄÆž'5µƒÁ™>}Z0ujWóµc¹vvá/ù/11wpâÄ JKK«¬çàà€³³3%%%¸¹¹΢E‹ jàˆ¥®êú =%ù""×°ÆœäÛKE’ÿõ×wÚ;‘: ìÂ!±gφJwæ]]])..ÆÑÑ‘àà`n¹åHxx8®®®vŠXꪮI¾¼'"""""Òh}ÌîÝoàââBII NNNtïÞ¡C‡Ò¿BCCqsÓ2.)§$_DDDDD¤úé§Ÿ€ÿÁÁÁ‘nÝ‚2dýû÷'<<ƒÁ`ïð¤‘R’/""MBLÌI¢£˜?~b^Ÿ.""r-Ú¿?ð.ÑÑ!ÜwŸž™.ÖQ’/""MÂäÉALž¬‡ ‰ˆHÓqï½÷òÄ]0Ò€¦ýL©?ú9HDDDDDD¤‰P’/""""""ÒD(Éi"”䋈ˆˆˆˆˆ4JòEDDDDDDš%ù"""""""M„’|‘&BI¾ˆˆˆˆˆˆH¡$_DDl"曣 ŒdКAö§ÞMýx*Ѭݳ֢¼©÷[DDD7%ù""b“ûM&i~!!ö¥Þ}räâ“â«ÜÖ”û-"""Ÿ’|‘HÏMgiÜRÆÞ4ÖÞ¡ˆˆˆˆT¢$_DD¤nYÈÝîdHç!öEDDD¤%ù"""VúèÐGœ¼p’#Ø;‘*9Û;¹>$g&óBü |ö{J¥ô¾¡7sn™CX»0sbc1ëö¬ã‹ã_pþÒyÜœÝkÆ„>vã0œªm'xy0Æ2£U1ùzú’0+Áªº©9©¼°ýÖÞ»OWO«öùµO~ÊÜ͵(ÛûÈ^ü¼üj|,‘+Q’/""6—_’Ïâ­‹™=d6!!$_HfÁ–<°éÞùÃ;D´`ÉÖ%l9¾…WǾJßö}É-Ê%æÛ¦}<÷î~úUÛVⓉ6éÂ/0:d4:¨Õþ÷„ÜÃÑÔ£œ¸p‚ÕcVÓܽy=G("""¢éú""ÒrŠr˜7taíÂðpñ g›ž¬½’c ÏÅ=g®·çÌ‚|ƒÜy0îÎîøzú2ø|:·ìlÇèáÃCræâæ˜_«ý/^fòG“)3•ñVä[JðEDDÄf”䋈ˆÍ¹9»Ñ»Mo‹²`¿`ü½ü9–vŒôÜt†vÊþsûY´eÏ4O»kÕ]|[8ù<ÑñѼx÷‹\ 5ÞÿTæ)îÛpŽŽ<=òi«–ˆˆˆˆÔ–¦ë‹ˆˆÍù¸ûàààP©¼•G+ÒsÓÉÌËÄßËŸ%£–zC(›lfÒ¦Iôm×—‰¡¹­ëmVµUßkòã“âÉ)Êáþ÷î¯rûª]«XµkÛ¦m£c‹Žæm—‹.3có Z{·fç©|zôSÆôcUl""""µ¡$_DDl.§(§ÊòÌüLZy¶ÀÁÁ±7eìMc)-+%á§b¾aææ™,¼u!…?Tm[õ½&ÿ›à›¨T^ñ ½Ù·ÌæáW¹¯“£&nÀÛÍ›È ‘,ܲÎ-;Ó«M¯zQDDD¤‚¦ë‹ˆˆÍå—äs,í˜EYbF"é¹é„„àïå@èªP’3“pvtfpçÁ¼~ßë888°=i{ƒÇ]Wž.žxàáâÁúqëñpñ`ú?¦›—'ˆˆˆˆÔ7%ù""bsÏÄ>á”C”ðCÊÌý×\\œ\ˆeQ7ê?QO?N±±˜ÌüLÞHx“ÉTë§Ú7íš·cíï×’•ŸÅÌÍ3)6Û;$i‚L&“ÉÞAˆˆHí¤¥¥‘››kUÝÀÀ.¼òJwÝe]ýºŠù&†èíÑxðÚ}¯±|ÇrŸ?L™©Œ^mz1wè\ÂÚ…™÷9–vŒ÷¾Ï·?ËùËçqsv£S‹NŒï=žÈ^‘U®ëohQ_F±éÀ¦JåC:áí oóù±ÏyüÓÇ-¶-ºu¡mC·aœEù˜cX9z¥Mã‘k[C_¿Åþðòòªíî)ɹ†5æ$_DDDêN×ïëO]“|M×i"”䋈ˆˆˆˆˆ4JòEDDDDDDš%ù"""""""M„’|‘&BI¾ˆˆˆˆˆˆH¡$_DDDDDD¤‰P’/""""""ÒD(Éi"”䋈ˆˆˆˆˆ4JòEDDDDDDš%ù"""""""M„’|iPŸûœÀè@£éþRw{‡sÍÚ‘¼ƒ‘ëG¼<ØÞ¡ˆˆˆH#¢$_DDÔ=!÷4?‰VÚ–_’Ï­ëoeÊÇSìÙµáç쟙úñTVì\Á…ü öGDDD%ù""Òh˜L&ÊLe”••Ù;³ž+{2aã{‡a¶j×*nn{3Ÿ>ø)ž.žöGDDDg{ ""RÁÓÕ“íÓ·Û;ŒFí…»^ÀÝÙÝÞaˆˆˆH#¥;ù"""×%ø"""r5º“/""6•œ™ÌK;^"áçŒeFzô`Þ°y•êÅžˆeÆææÏGçÅÍÙ­RùÖ)[Yµ{{ÚKvA6ß=ö- -ÈÊÏbÍ×kØ–´´œ4¼Ý¼ oάÁ³ñ±h/» ›µ{Öw2ŽÔœTZZÒÅ· czŒáî»Ù¸o#ÑÛ£ØwvÑ89:‘ødbµý^Œ±ÌhÕùzú’0+Áªº""""W£$_DDlæ§‹?ùn$gkÆ®áæv7óßìÿòBü ü|ñg‹º£ºŽ"i~Óÿ1¸“qW,ú?OóØÇX~÷rN\8ÁøwÇž›N仑•}W4"8wé‹¿\̸ ãØ8q#¡mCÈÈÍ(¯k,bÙËèס%|xèCžú÷S\.¼Ìä~“™Üo2=Wö¤{@w>|àÃõÝšDDDDꛦ니ˆÍ¬Ø¹‚Ë…—‰Åà΃ñpñ Ø/˜åw/'=7½VÇœ6`ý:ôÃàb w›Þ$>™H C Vì\Á¹KçX8b!ú ÃÃŃ ß VYÉdâ™Øg,â:{é,Q#£8OWO|=}yxàÃÜrã-õÕ}‘§;ù""b3»Ní¨”8û{ùÓ¹egNg®ñ1{·é]eyì‰X8¢ÜÏË ß Ž¤!5'•ÖÞ­Ùzb+CoZé8ÿ×Ç$"""ÒX(É›(6“Wœ‡›³.•¶·òlU«$ßàb¨²­œ¢ú¬êsÅ}Ïd¡¥GKrŠrpsvÃÓÕv¯ Óš|±%ù""b®N®xºz’WœG~I~¥D¿â¡yõÕV3÷fäåñã“?âäàtÕúÞnÞäåWœWm¢ï€C­bÒš|±­É›©˜_1m¿ÂÅ‚‹µº‹5·ߎÑddßÙ}•¶­OXÏuC0šÊï¬ßÖõ6v$ï¨Twô_G³lÛ2ógƒ‹c‰ùó¨7FñÁÁê5v‘ú¢$_DDlfÞ°yø|x.ö9¾:ýù%ù$]HbÎgsªœÂ_§¶†Î£ƒOžú÷Sì<µ“œ¢² ²Ùt`k¾^ Ìwøç G»æíX¶mÛ“¶“WœGjN*‹·.&#/ƒÃ4·GëœÎ:MÊåœ;ÀÏ&¼}x½Æ."""R_L&“ÉÞAˆˆHí¤¥¥‘››kUÝÀÀ.¼òJwÝe]ýúr:ë4Ëw,gïO{)5–ÒÕ¯+³ÍâíïßfÏ™=DöŠdDàflža±ï˜c˜6‰qÆU:nÒü¤JeÙÙ¬Û³ŽØ“±¤\N¡™{3ºtgJ¿) ê4¨Rݵ{Ö{"–ÔœTZz´$¢}ßò8Zt2×;•yŠEÿYÄ‘Ô#ø|˜>`: ýc=ŒLíÄ'Å3õã©Un{þÎçß{|G$""¶d¯ë·ØO@@^^^µÝý#%ù""×°k!É‘ÚÓõûúS×$_ÓõEDDDDDDš%ù"""""""M„’|‘&BI¾ˆˆˆˆˆˆH¡$_DDDDDD¤‰P’/""""""ÒD(Éi"”䋈ˆˆˆˆˆ4JòEDDDDDDš%ù"""""""M„’|‘&ÂÙÞˆˆHÓ—œ™ÌêÝ«ùö¿ßr±à"Æ2#ÞnÞ˜}€˜obˆÞ @€W_?òµÝâ•rߟýž?lüdz=i;д¾[œsÖœë׋Šóç½ûߣ_‡~Ví£ÿˆˆÔî䋈ˆM½t–qÆ‘œ™Ìºß¯ãà샚sˆWÇ¾Š£Ã/—¡Éý&“4?‰€;F+¿¶íä6| >¼~ßëMò»©ïsÎÚsýzQqþômß×ê}jó”–•r÷[w3aã„Ú„)"Òä\WiPü€œ¢–ܶ„›ÛÞŒÁÅ€§«'wv»“}ï³wxrq'ãÖeNNöåš`s½çÊž žÜZÛfCž?e¦2ÊLe6oì3æ""5¡éú""bSg²ÎÐÍ¿›}‘IÎLætÖiækïP®:×Ñç³£3[&o±y;""× ÝÉ›*-+ÀÕÉÕΑHMÄŒÃÕÉ•[n¼ÅÞ¡\3t®ÿB爈ýèN¾ˆˆØDì‰XflžaþÜcE*ëý¾çïY~÷òj—•ŸÅš¯×°-ii9ix»yÞ>œYƒgâRe›;fì`ùöåì>½'G'BÛ†52Š>ÌuŒ&#ÿ9þþ~èï$f$’S”CÇß{< û“y-õo½sÆN^Üþ";’wàêìÊЇò¿£þ—œ¢ž}–„Ÿðtódx—á,ºuž®ž5îOu‚—›ìV_O_f%XUÊ×Sè8«Ö«íøm²•U»W±÷§½ddðÝcßáéêɺ=ëøâøœ¿t7g7ÂÚ…1¡Ï†Ý8 'G§zÿ.*$g&óBü |ö{J¥ô¾¡7sn™CX»°«ŽAmÏõì‚lÖîYKÜÉ8R.§àáêAŸú0µßTúwìÕ6ý€º}g÷€“£‰O&šëY{ž‹«wkÛ„ªÏŸÚô·ºï$>)ž©O5×?:ï(nÎn5îÿoãKÍI¥¥¡%]|»0¦Çî¹›û6ZÝ{r0™L&{!""µ“––Fnn®Uu»ðÊ+iÜu—uõëËôL'îd\¥?¾/\$|ux¥ÄgôÛ£ÉÊ˲xªvzn:‘ïFRTZDô]ÑDtˆàÜ¥s,þr1‡R±qâFBÛ†VjsdÐH¦õŸF7ÿnì?·ŸiO£«_W6ÿy³¹nE’0oè<&†N¤ÌTÆ¿~üKã–òPÄCÌ>¿ÊþÜ|;3Ì K«.|™ø%ó>ŸÇЇââäÂcC£c‹Ž|zäS¢¾ŒâÁðYtë¢Z÷§¡eæg2àÕða¥m59ÏnYhõ¸_­M¨úü©ikúT5ö5éE|EÆ"–ݱŒ~úQPRÀ‡‡>dÕ®U,ºu†?hUÿE꛽®ßb?xyyÕv÷4]_DD½;WpîÒ9ŽXȰ.Ãðpñ È7ˆÕcVc2™x&ö™*÷ß{<¡mC1¸Ôiú ãpÊa.\´¨×¯C?¦˜Ns÷æ´0´àOabt÷Ñüí»¿‘[TõU‘½"¹©õM\ Œ½i,A¾Aì<µ“ÿ‰øBüCðpñ`bèDÚ5oÇÎS;ë¥? %>)&n ºÕªúµ¿i¦Ñ¯C? .z·éMⓉ´0´`Ï™=ù1¸ó`ÜÝñõôeþðùtnÙùŠí×廨S”ü¡ók†‡‹=Ûôdåè•”Kx.î9«Æ¡&Vì\ÁÙKgyzäÓŒ—›[vfÕïVáçédz±Ïr!ïBÛ°ö<«Í¸_IUçOmú[×ï¤&ý¯ˆ/jd#Gàéꉯ§/|XKD䚣$_DD½Ø±8:82"p„E¹Ÿ—A¾AI=BjNj¥ýzµéeñ¹M³6¤å¤™ËFŽà½ûß«´oˆ¥e¥œ¼p²Ê˜z¶éiñ9À;€›ZßdQÞÚ»µE{uéOC‰=KÏÖ=ñ÷ò¯¶nmǯw›ÞU–í2”ýçö³hË"ž?h^Ž;5öŠïZ¯ËwQÁÍÙ­RLÁ~Áø{ùs,íé¹éœÈ8A`t Å?K¶.©òxÕÙzb+û ·(wure`§–²ûôî:µY“ó¬6ã~µv{þXÛß_³æ;©.kû_ßЇV:Î_ÇÿÕ|_DäZ 5ù""Ò¨‹É)ʠϪ>W¬w&ë ­½[[”y»y[|®x š‰_VªååðÖ·o±õÄVRsR¹\xÙbŸ‚’‚*ÛórµœFç€NŽN\ 厎¯öªK~Ëkò J Øsf3δ긵¿ßŽS…%£–zC(›lfÒ¦Iôm×—‰¡¹­ëmUîSÛïâ×|Ü}ppp¨TÞÊ£é¹édæeBÒü¤*÷¯‰ŠsÀÍÙ­ÊçøzúåSÈ»ÞÔµVmÖô<«Í¸W¥ªó§&ýý5k¾“+ýU“þ·ôhyÕøDD®5JòED¤Qsur¥™{3òŠòøñÉëýÛS?žÊwÿýލ‘QŒî>š†888ðöwo³lÛ2‹êC}öÇûúúÌ×–22h¤Uõë{ü{ÓXÆÞ4–Ò²R~J æÛfnžÉÂ[òPøCµéVµ*ÂßÊÌÏ •g«zkËÕÉo7orŠrÈ+Ϋ”XVL[÷óò«öXTN‚+Ú¨ÉyV“q¿R›PõùSÛþÖå;©iÿ¯ßo]­ÿ""¦ë‹ˆH£w{ðíMFöÝWiÛú„õ Y7£Éº;Ú¿f,+?¦Ÿ—îûgZz´4ß9,*-ªsÜWb«þÔ‡¸“q´÷iOW¿®ÕֵŸ…® %93(ÿùà΃yý¾×qpp`{ÒöZÓù%ùK;fQ–˜‘Hzn:!!V-]¨‰Š»ãÛ“-ûTl,fÏ™=¸;»3¤ójcp1Pb,1õÆ(>8øP³ó¬&ã~µ6¯tþÔ¦¿uýNjÒÿŠøv$ï¨Twô_G³lÛ2«ú/"Ò(É‘FoÞÐytðéÀSÿ~Чv’S”CvA6›lbÍ×kX0bA­îˆ;9:ѯC?2r3xó›7¹Xp‘ÂÒB~JàýïÛ 'ålÕŸº*3•Ÿoõ]|[_Ô¢8ž~œbc1™ù™¼‘ð&“‰Ôú˜Õ1¸x&ö¥¢ ¤€R~`î¿æââäBÔȨzooÞÐy´kÞŽ¥qK‰OŠ'¯8ÓY§™ýÙl2ò2ˆežÆ~5=Z÷àtÖiR.§pàÜ~¾ø3áíÃÍmÔä<³vÜ¯ÔæÕΟÚô·®ßIMú_ß²mËØž´¼â<“oZå IDATRsRY¼u1ykò¯6æ""^¡'"r k̯Ðûí»ÃÆôÃÊÑ+yðÃ+=dkdÐHâNÆY”Í8“9·ÌÊßa½nÏ:bOÆ’r9…fîÍèÐ)ý¦0¨Ó ž?ȸ ãªßþü-ç/—¿¯½S‹NŒï=žÈ^‘888\ñ{®éwááâaîW€W¯Ý÷Ëw,çðùÔ™ÊèÕ¦s‡Î5¿“ýJjz®ðÀôm××ü^öر¤æ¤bp1”¿7¾ÿT«Ð8•yŠEÿYÄ‘Ô#ø|˜>`: ý£y»µç™5ã^]›W:~Kuýýõ¹V“ïäJ¯/¬Ég¿¯¥GK"ÚGðø-Ó©E'«Ç\¤¾ézןº¾BOI¾ˆÈ5¬1'ùríyqû‹|tø#¾yô»Ì$k›=ÏŸ©OeGòŽ=yLç®49º~_êšäkº¾ˆˆˆå멇Þ8TI’ÔJCž?wÆÜÉÙKgÍŸSsR¹¡Ù :wEDÐÓõEDDäÿÄNµwr kèóçÍ„7yjÄSìýi/ÇÒ1oè¼m_D¤±R’/""""ה軣y1þEú¿Ò?/?æÞ2—ɓ했H£ $_DDDD®)½Ûôæý?Úî ""×2­Éi"”䋈ˆˆˆˆˆ4JòEDDDDDDš%ù"""""""M„’|‘&BI¾ˆˆˆˆˆˆH¡$_DDDDDD¤‰P’/""""""ÒD(Éi"”䋈ˆH½É/ÉçÖõ·2åã)öEDD交$_DDDj¤çÊžLØ8¡Êm&“‰2Seee •ˆˆˆ8Û;i:<]=Ù>}»½Ã¹néN¾ˆˆˆˆˆˆH¡;ù""bSəɼ´ã%~N ÔXJW¿®<2èþöýߨsf‘½"8‚›g˜÷Û:e+«v¯bïO{É.Èà»Ç¾£…¡Ù٬ݳ–¸“q¤\NÁÃÕƒ>7ôaj¿©ôïØ€µ{Ö²j×*ÂÚ…ñá°ëÔ.úûCø|øþ±ïˆù&†èíÑxðÚ}¯ñÒŽ—8tþe¦2zßЛ9·Ì!¬]˜Õ}=kuŸ²ò³Xóõ¶%m#-' o7oÂÛ‡3kð,BüCê£5ãeM¬ÓúOc}ÂzöÝG`t NŽN$>™XéGçÅÍÙ­RùŽ;X¾}9»OïÆÉщж¡DŒ¢ƒO‹¸­=w^¸ë«¿‘¦ÎÁd2™ì„ˆˆÔNZZ¹¹¹VÕ ìÂ+¯¤q×]ÖÕ¯?]ü‰{ß¹ƒ³ï~‘›ÛÝ̹KçX·”céÇÈ-ÊåÇ'~´Øgú?¦w2Žˆö<6ä1zµéʼn 'ÿîxf•'{‘ïFRXZÈów>ODû2ò2X±s[OleÙËß{¼ùx=Wö¤{@ws’_aì߯röÒYs’_aôÛ£9“u†nþÝX8b!Ýü»‘t!‰[œ™Ì;x‡ˆö5‡êúTb,!òÝHŠJ‹ˆ¾+šˆœ»tŽÅ_.æPÊ!6NÜHhÛÐZŘ‘›Q£ñª.Ö†WÓߣ"ÉÿmùÈ ‘Lë?nþÝØn?Ó>žFW¿®lþófsÝÚœ;""M‘=®ßb_xyyÕv÷4]_DDlfÅÎ\.¼LÔ¨(wŒ‡‹A¾A¬úÝ* J ®ºï´Óèס½Ûô&ñÉDZZ°bç Î^:ËÓ#ŸfDà¼Ü¼èܲ3«~· ?O?ž}– yêwAIÏÞþ,¡mC1¸èÙ¦'+G¯¤ÄXÂsqÏÕú¸WëÓ¹KçX8b!ú 3Óê1«1™L<ûL­c¬íx])Öú0¾÷xs܃: bX—aN9ÌÅ‚‹q×öܹž)É›Ùuj·Üx‹EyK–ÜØòÆ«îÛ»Mï*Ë·žØ Àð.Ã-Ê]\Øi …¥…ì>½»¶!`p1˜§ÈWö ÆßËŸciÇHÏM¯Õq¯Ô§Ø±8:82"p„E¹Ÿ—A¾AI=BjNj­b¬íx])ÖúЫM/‹Ïmšµ -'Í\V—sGDDäz¦5ù""bÅÆbòŠópsvÃÃÅ£Òöæ†æWÝßàb¨ò˜9E9¸9»áéêYi»¯§/P>E½.š¹5«²¼•G+ÒsÓÉÌËÄßË¿ÆÇ½ZŸú¬êsÅ}Ïd¡µwëÅècð©õxUk}ñvó¶øìêä €‰ò„u=wDDD®gJòEDÄ&\\ñtõ$¯8ü’üJÉZf^f­ŽéíæMNQyÅy•׊iç~^~æ2GGJŒ%•Žu¹ðòÛÉ.ÌÆd2áàà`s~yÌ­<[Õ8ö+qur¥™{3òŠòøñÉqrp²j?kb¬ÍxYÇê+Õ-Α녦니ˆÍ ½q(ðËÔë ¹œÎ:]«cÞÖõ6¶'[¾‹½ØXÌž3{pwvgHç!ær/ÿJSÝ3r38ùüÛ(*-âpÊa‹²ÄŒDÒsÓ ©Õ]ü«¹=øvŒ&#ûÎî«´m}Âz†¬‚Ñd¬UŒ5/k\ ?œŒzcü FǨŽ-Αë’|±™yÃæácðá¹ØçøêôWä—äs"ãO}ñTï›9tíš·ciÜRâ“âÉ+ÎãtÖif6›Œ¼ ¢FE™§¡ î<˜ôÜtÞÝ÷.ù%ùüœý3ÏÅ=G++ß÷vóf宕8w€‚’~Hù¹ÿš‹‹“ Q#£jwu}êàÓ§þý;Oí$§(‡ì‚l6ØÄš¯×°`Ä‚Jwø­±¦ãe­{p:ë4)—S8pî?_ü™ðöáõ2æ¸mpˆ\ô =‘kXc…Àé¬Ó,ß±œ½?íÅXf$Ä?„'†=ÁË»_æpÊa~˜ûÏd܆q•öOšŸT©¬â½ï±'bIÍIÅàb(ï{ÿ© è8À¢nNQ/Ä¿ÀŽä\.¼ÌM­obÑ­‹ˆú2Š#©G€ò÷¿?1ì  üõtYyYl˜¸¥qKÙn?Æ2#½Úôbîй•ÞA55íÓº=ëˆ=KÊåš¹7£{@w¦ô›Â Nƒ,êÖ4FkÆ«&±žÊ<Å¢ÿ,âHê| >L0?†þ‘Ø±ÌØ<âî˜c˜6©Ò±gœÉœ[æhQ>žbïP€Æ-}räâ“â«Ü6¹ßd’æ'ÒÀQ‰ˆˆˆ­)É›1™L”™Ê(++³w(@ã‹ÇVÒsÓY·”±7µw("""ÒÀœí€ˆˆ4]ž®žlŸ¾ÝÞa˜5¶xleá–…ÜÙíNÂÛ‡óÏ#ÿ´w8"""Ò€t'_DD¤ ùèÐGœ¼p’#Ø;±ÝÉ›ˆ=ËŒÍ3ÌŸÎ;Š›³›ùsvA6k÷¬%îd)—Sðpõ Ï }˜Úo*ý;ö¯Q[ÅÆbÖíYÇÇ¿àü¥ó¸9»Ö.Œ }&0ìÆa89:]5žÐU¡äåTylvÏÜMkïÖdåg±æë5lKÚFZNÞnÞ„·gÖàY„ø[·Æ=xy0Æ2£Uu}=}I˜•`UÝÔœT^Øþkï]‹§«§UûüÚ§G?eî¿æZ”í}d/~^~5>–ˆˆˆØ‡’|±‰Q]G‘4?‰éÿ˜NÜÉ8‹m¹D¾Iai!Ïßù<í#ÈÈË`ÅÎLú`ËîXÆøÞã­nkÉÖ%l9¾…WǾJßö}É-Ê%æÛ¦}<÷î~ú]5€Ãsãáâaþ¼æë5¼¼ûeæÞ2לà§ç¦ùn$E¥EDßMD‡Î]:Çâ/3nÃ86NÜHhÛÐjãM|2Ñê¾ÕÄ‚/üÿöî=ªª2ÿãøçp8ÀᢠP*"ƒ¢†7FÅAQ´©LLÑl¬YZ*Ú¤SÔI˜µ¬¥­ÌlÌÉKS™ffZNM©x£&#SGMÁkŽ"h*r@.ç÷‡¿˜9©y¸8¼_ÿíg?ϳ¿]kóa?{o ªÞÁ½«5þžˆ{t 瀲~ÌÒ‚a ÔÜ£y-WêËõõîåô—uêÒ)=3èÅ…ÅÉÛÝ[!-B4ÿÞùjåÕJϧ=¯ ´{¾'v(Ü?\1!1òpõ¿—¿¦˜®!Õªï³CŸiÁ?hDçJêdS÷éK§5#n†ú‡ö—§ÉSáþáZ0l¬V«žK{®ZÇ« «÷®Ö‰‹'4=nzµÆççë‘5¨ÂZ¡7ß$àÐHòõnSÖ&IÒ€Ð6ínF7õi×GÅeÅúòø—vÏ«ïN§”ÏS´'{OåRø´‰iŠn}Óñ»ß]yúó§VÏÖ=5ûÎÙ6ýÒ²ÒäbpQ\XœM{+ïV ÷×þœýʱäØ]wmÉÎÏÖœ­s4÷î¹2›ÌUìü1X>B.=3è]ŒuP%¨,×Ô«ÒòRYJ,rwu¿îsãþ^þ’®.é·×¬øYŠº5Jëö¯Óƒ«”$õhÝCc¢Æhðíƒíž';?[“>œ¤ Ÿ -ºo‘LFÓ5uKÒóï¸á'.œ¨\Þ#µýLþÖ#[e)±è•\wÿü/ækþó%I[&mQ°_på¾ü’|M^7Y>J?–®õÖkX§avÕB> ^¹Ýäãî#K‰E…¥…×ýŸ–éWåeoƒA ‘ JˆLPYE™2~ÈвË4eÝÍ8Cã{Ž¿é…¥…š°f‚Ê*Ê´4q©|;×ÔÝÌ£™ K õý“ßËh¨þÝîÚ~&l·±Ûmì5í?½Hïñß<®Gû Þýtw}ÛQÛoÖ—–—jljòpõP¿~vÏ5?JGÏ•$¹º¸*&$FoŒxCƒAÛŽl»Éh©¼¢\ÓÖOÓÑóGõúð×mžåÿÃGPZVš$iH‡!*·–kש]×̱8c±ú-ê§r«}wè /“—¼äiòÔâ‘‹åiòTÒÚ$-8ëèÒ@5òõ.96Y­›·ÖìͳµõÈV–êø…ãzüïë\á9¥Æ§V.Û·Wê†T:{H¥å¥:ù¼–d,‘ÕjµëMó/lyAÛn× ¿}áŸáOŽMV[ß¶zêO)ýXº,%ååiÕîUZøÕB=÷tîð;Zëæ­õú}¯ëÂå š²nŠJËK]¨"ƒÕjµ:º@õäææª  À®¾aa¡zíµ\Ýu—}ýkêçߥ—¤a†iÞÐy’¤¼¢<½¾ãu¥e¥)Ç’#³É¬;n½C=±ÊŸ€;˜{PïíyO;OîTv~¶Ü]ÝÕίFu¥Ä.‰2 7¬g\ÏqJx;áçÿë}Uüíñ•u/Ú±Hi‡Ót&ÿŒšy4SÇ€Žš=A}Ûõ­RÝu%ucªVí^uM{¿~zkô[úôà§úãú?ÚìK˜¢¨Û¢4rùH›öÿý7Ô¿ú¾~Ãñäíí]ÝákùЈ5äjŽëwÓSÓÏr}œ!'Á'ô VØœ°›ö™3USc¦ÖC5 !Ð`™~ÄÑ%4*,×ÀIòp„|œ!'AÈÀIòp„|œ!'AÈÀIòhÀ:Ïë¬Ñ+F;ý1@í äà$ù8 WGpNiYiš¼nråööÉÛõÒ¶—ôåñ/et1*ê¶(¥JU[ß¶•}Ê­åÚphƒ>Øû2ÏeÊRbQ°_°Fu¥‡º?$ƒËuçNŸœ®¹ÛæjûÑírsuSlûXÍŒŸ)K‰Eϧ=¯Œ2äå”20E^n^6µ^¸|A ¿Z¨-G¶(×’+wõlÓSÅ<¦ˆ["ì:ß/uPyE¹]}ý½ü•ñXÆ/öYöÍ2ÍÙ6G’´ëÔ.…Í “$]ŒÊ|2³Êµ—–—jÑŽEúìÐgʾ”-wWwuoÝ]£ï­þíûËèb´û˜ á2X­V«£‹TOnn® ìêª×^ËÕ]wÙ׿¶$­MÒæÃ›5(|&ýz’~u˯ôÝéï4éÃIº½ÕíZ÷ûu•}·Ùª‰NTrl²ÆDQ…µBŸ|ÿ‰fož­ñ½Ækú€é×{H‡!šÜ{²B[†jcæF%š¬Øö±2MšÖoš‚ý‚µ~ÿz¥nLÕ¸žã”20¥r޳g•øn¢JÊJ4ç®9êÕ¶—N_:­g7>«½göjŘŠº-ªÞ~^?×y^gu è¨ÕcW_³¯*µÏø|†>?ô¹þ’ðõhÓC%Z¶s™–}³L+X©è¶ÑvP¿uý†ãÈÛÛ»ºÃ×°\P/Fu¥¨Û¢d6™Õ·]_õí¯Ÿù·.]´éÝ6ZI½“ÔÜ£¹üÌ~z¨ûCÚq¨Þþöm”\ÿœÄ.‰Š Œ”ÙdVBd‚ÂýÕ~,]÷zX·DÈÓä©1QcÔºyk¥K·ûrúË:}é´fÄÍPÿÐþò4y*Ü?\ †-ÕjÕsiÏÕÙϤ¦ªRûŽ;y¸zÈßË_ÓLWH‹ž¨m„|@½èÔÅf;¨Y$)×’[Ù§•¬¼flÄ-*«(Óá_wîÎAm¶|$I‘‘6í>6Ç“®.ýw1¸(.,Φ½•w+…û‡kÎ~åXr~éÔ¦*µÇ†Æê»Óß)åóíÉÞSùhAÚÄ4›»ø qã™|@½ðq÷±Ùv3ºI’¬úïSc–‹ÞÜù¦6emRŽ%GùÅù6cŠ®]wno7Û%mdt1Êl2Û´»\Ta­¨Ü.-/•¥Ä"Iºcþ7¬ýÄ… ô ¼á~©öŸÉ¿™ªÖ>+~–¢nÒºýëôàª%I=Z÷И¨1|ûàÕB> Á˜øáD}ûŸo•:(UC;•ŸÙOƒAo}û–^Øò‚Íjƒ›ÑMÍ<š©°¤Pß?ù½Œcµçª«Ód¸n{Uk7 JˆLPBd‚Ê*Ê”ñC†–í\¦)ë¦hÆÀßsüM >–ë„òŠrí:µK­¼[é÷=~¯ž-d0\ ›%e%uvÜ!†¨ÜzõØ?·8c±ú-ê§r«}wèë‚ÙdÖ•ò+•ÛñKâõþž÷%U­ö¨ùQ:zþ¨$ÉÕÅU1!1zcÄ2 Úvd›ÝÇ !Ð ]ŒŠn­sç´ô›¥ºXtQÅeÅÊø!Cïí~¯ÎŽ››¬¶¾mõÔ?žRú±tYJ,Ê+ÊӪݫ´ð«…z:îéÝᯩNtüÂqÉ?£Ý§wëäÅ“êÙ¦gµjOݪCg©´¼Tç/Ÿ×’Œ%²Z­êÜÛîc€†Oè@#Ö?¡·'{F.iÓ6¥Ï=ñ›'*¿¿þ“a´täÕ`ÿʯhûÑí:WpN¾f_ŶU+ïVzãë7$]}™Þ¬Á³®;w|x¼†¿3ܦ=96Y=ÚôÐý+î·iŸ3USc¦J’òŠò´hÇ"¥NÓ™ü3jæÑL:jBôõm×·V~Õuìü1¥lHÑþœýò5û*©w’~õ»ÊýöÖ~0÷ ÞÛóžvžÜ©ìül¹»º«_;ê:J‰]+WMØsL@ýázMOM?¡GÈ€F¬!‡|Ps\¿›žš†|–ëà$ù8 B>N‚€“ äà$ù8 B>N‚€“ äà$ù8 B>N‚€“ äà$ùÔ³ËW.kàâšðáG—œ !€*ê<¯³F¯]íñV«UÖ UTTÔbU’«£  ©ñróÒ¶¤mŽ.8!îäà$¸“¨iYiš¼nråö¦ ›4ÿËùúú‡¯•W”'IêÞº»vÚUÙ§{ëîZ=vµ$iljzèý‡´däÅ…ÅI’fož­·ÿõveÿ̧2e4oXC‡—:¨¼¢Ü®zý½ü•ñXÆ/öYöÍ2ÍÙ6G’´ëÔ.…Í “$]ŒÊ|2Ó®s~ñ·/jÆç3*ûH> wW÷kƦON×Ümsµýèv¹¹º)¶}¬fÆÏ”¥Ä¢çÓžWÆòr÷Ò€ÐJ˜"/7/»Î87ƒÕjµ:º@õäææª  À®¾aa¡zíµ\Ýu—}ýkKÒÚ$m>¼Y½ÚôÒ´~ÓÔ%¨‹²~ÌÒ¨wG)ã± }vè3=»ñY½2ôÝÛéÞÊqOýã)­Ý·VwGÜ­ÃT¶§e¥éÝïÞÕòû—×ëyü¯Îó:«c@ÇÊ?HüÜÍÎÙÏìWÙç§ÿó±C: ÑäÞ“Ú2T37*ùÓdŶ•ÉhÒ´~Óì¬õû×+ucªÆõ§”)õuú€zä¨ë7' @ÞÞÞÕ¾†åú€z1©÷$E·–ÙdV× ®Ê|2S~f?Ýý«»e2šôñ+û—kóáÍ ö Ö–Ã[TXZX¹ï£ýixäpGœB•Ýèœí‘Ø%Q‘‘2›ÌJˆLP¸¸Ò¥ëá^+â–yš<5&jŒZ7o­ôcéu|& ± äêE× ®×m÷5ûªh}uâ++8'IÚ|x³ºÞÚUc»UqY±6fn”$åå雓ßhH‡!õVwMÜèœíÑ9¨³Ív€O€$)20Ò¦=Ð'P¹–Üj8žÉÔ ³É|Ã}Ã#‡+-+MŸüDã{Ž×Çû?ÖðÈáêÜ[s¶ÍÑß¿ÿ»îë|Ÿ>=ø©„ §ÉÓ®cÖö3ùUõKç|3Þn¶Ëô 2Èèb¼fNƒ‹*¬|Š\EÈ8Ü€Ðò5ûê£})¡S‚ödïÑÂá åáꡘv1úç‰êlÁY­Û·NŠý“Ýóf>™Y'õd¨“yjŠåú‡3Mº;ân<{PóÒçiPø y¸zH’"T^Q®_.ÐÙ‚³êÜÛÁÕ^½C¥üJåvü’x½¿ç}Vp!Ð $tJ$­Þ»ÚæÅzñ·ÇËËÍK«÷®Ö°NÃäbpü¥«S`'¿p\gòÏh÷éÝ:yñ¤z¶ééè²X®M…»»U¥¥õ·Ì|Oö\>²r»ÓË$IG¦¹nÿ¨Û¢ÔίJËKÕ«M¯ÊvWÝÙáN­Ý·¶Á¼Uÿ™Ï(eCŠ/,_³¯fž©Ð–¡vsZVš&¯›lÓgX§az°ûƒ×ŒÒgŠâÃã5üÿžwØœ0%Ç&«G›ºÅý6íSc¦jjÌÔ:9g@ý+.¾zÝöðà«ç°ŸÁjµò?©ÜÜ\Ø÷ÝÜ>}‚5aÂ%—WÇU€Ú“㪘˜`}ðÁiuëVìèrPOäíí}óŽ×·Æñkõ",슲²Ü]°ÓO×íöíK\ B>4QQÅúúëêÒ Ô¯¯¿6+$äŠ|}ùT*ìGÈ€&".î²NrÕ¾}îŽ.ÜDE…´q£—ââ ] B>4]»+<¼T+V4wt)à&¾øÂS'Oš4r¤ÅÑ¥ ‘!ä@’””§?öÑÁƒÜÍ ¡*/7襗Z*.®Páá<ª!ä@rï½uëV¬Y³üÅ·Uh˜V®l¦ãÇMzúéóŽ.!šƒAJIùQ»w{hùr–íÐÐ=jÒ«¯¶ÐÃ_RHÈG—ƒFˆMLdd‰žxâ‚^|Ñ_[·z:ºðÿòò\4iR‚ƒ¯èÑG/8º4R„|h‚’’.*!Á¢'žÐÞ½<Ÿ€£¸())Hee-[vFf3ÏÕ¡zùÐDÍž}N=zkìØÛ´aƒ·ŸøØ–|IDAT£Ë É:uÊU£Fݦ“'MZºôŒZ¶,wtIhÄùÐD™LV-^|F‰‰ùzì±½új •”]MÊöíž1¢µŒF«Ö®=ÅÛôQc„|hÂŒFiæÌõÜsçô·¿5×w¶Ñ¦M^Ž. §wâ„I'é‘G‚Ô§O‘V¯ÎVPP™£Ë‚putÇ{à| tYsç¶Ð£*"¢D£G[4p`¡ù…€ÚPTdÐŽžúè#omÞì¥ÐÐ+Z¹2[ÑÑEŽ. NÄ`µò¥dh¬rssUPPP«sîÛç®wÞi®½TT䢠 2_‘¯o… .TUA‹rr\uü¸IuëV¬1c.éž{ e4rm…­€€y{Wû}IkùЈÕEÈÿII‰Aÿú—‡pשS&]ºä¢ŠŠ:9NÍÛÛª–-ËQªèè"ùûób=ÜXMC>Ëõ×åînUß¾EêÛ—%„/ÞÀIòp„|œ!'AÈÀIòp„|œ!'AÈÀI¸:º@õ5oÞ\^^^Ž.µÄÃãFã ùЈÕô"çÂr}œ!'AÈÀIòp„|œ!'AÈÀIòp„|œ!'AÈÀIòp„|œ„«¤5Ž.ÔXÆÿkÖ«ôä|£IEND®B`‚fio-3.39/examples/http-s3.fio000066400000000000000000000021741476262051600160610ustar00rootroot00000000000000# Example test for the HTTP engine's S3 support against Amazon AWS. # Obviously, you have to adjust the S3 credentials; for this example, # they're passed in via the environment. # For non-AWS S3 implementations, refer to your S3 vendor's region # settings. Note that the region value appears twice, in http_host and # http_s3_region. # This example uses virtual-hosted-style requests: # https://bucket-name.s3.region-code.amazonaws.com/k/e.y # For path-style, prefix the key with the bucket name in the filename # so that filename=/bucket-name/k/e.y: # https://s3.region-code.amazonaws.com/bucket-name/k/e.y # Reference for Virtual-hosted-style vs. Path-style URLs: # https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html [global] ioengine=http name=test direct=1 filename=/k/e.y http_verbose=0 https=on http_mode=s3 http_s3_key=${S3_KEY} http_s3_keyid=${S3_ID} http_host=bucket-name.s3.eu-central-1.amazonaws.com http_s3_region=eu-central-1 group_reporting # With verify, this both writes and reads the object [create] rw=write bs=4k size=64k io_size=4k verify=sha256 [trim] stonewall rw=trim bs=4k size=64k io_size=4k fio-3.39/examples/http-s3.png000066400000000000000000003246011476262051600160720ustar00rootroot00000000000000‰PNG  IHDRÕ Üâþ„bKGDÿÿÿ ½§“ IDATxœìÝw\SWð“„„°72 ‚ƒåÀZµb]µ®:ªVm©Õ«j«UëhiݯÐjQ«hW­ €€²Âa„½2Þ?®)#„DßÜœ{î9Ͻ¹ÂÃÉɹ4©TJ@%è]Àkù7€ê ÿPäߪƒü@u¨òoÕAþ  :È¿TG­«x‰\¼xqÏž=„.—{áÂ…®§Õjjj.^¼Æãñ*++uuu{÷î=eÊe¿{÷îñãÇ322jkk !+W®¼xñbNN!déÒ¥ ,èÜè^È¿^ÈÍͽsç!ÄÀÀ@AµâââéÓ§SÛû÷ïwrrRfWgËÉÉqrr*++kPþÝwß-Y²äèÑ£Š¿|ùòÔ©S¥R©¬dÊ”)÷ïßOMM%„Œ7®Ãx=!ÿhµºº:*M'„4ÈwìêlÕÕÕ Ã××wàÀfffééé?üðCZZ!ÄßßÑ¢E^^^ ߺu+•|6ì믿VWW···?x𠊢xm ÿxEXYYeggkjjÊJìííÇOmSÓHHJJ¢6.\(;*00°ººšbkkÛñ¼–4+<<üÈ‘#|>ßÎÎî½÷Þsqq!„¬Y³&22RVgÕªU:::„ooo@ÐÜ®76˜\~ûöí_ý•Ïç;88¬X±¢ÿþ-Æ}æÌ™¤¤¤ÊÊJssó^½zM˜0ÁÕÕ•ÚËb±ä+K¥ÒÛ·oSÛZZZ ¿÷ìÙsñâE¡P({yâĉuÌÿNNN>uêÔ“'OJKK9N¿~ýÞ~ûí¾}û¶x @¤ð¯P? öïßO§¿X$JMMíÆR©täÈ‘Mþ87ož‚] ß½{·|55µS§N)Žmß¾}M6>þ|ùjׯ_9r¤§§§‰‰ !„N§;öþýû Z^±bE‹¿,¾ýö[Yý 6È_ F[³fD"iûÕx=`ü  ¥¥¥›6mÚ¿?—Ë]¿~=ljD7n7nÜ?þ˜––6cÆ ªæ¾}û¨/Yš˜˜ÔÖÖ6·«Aã»wï>r䈮®îîÝ»#""D"Ñ’%K†jeeÕ\H›7o¦6¶lÙâááQTTôìÙ³?ÿü³°°P¾ŸÏ—M@'„H$’ºº: '»víÚ9sæŒ?¾¾¾žòùçŸOœ8‘Ú5oÞ¼ÜÜ\ùÊ?ÿüó¶mÛ!4í£>3fLxxøŽ;$É?þhbb²~ýz}Æ¿^ QB.]ºD:tˆ*a³ÙÔøn^^ž¬Zxx¸| vÉ7~íÚ5ª°¨¨H6c{óæÍR©ÔÛÛ{¤œ¹sçR5µ´´!L&355U¾Y>Ÿ/ÿ2??ÿöíÛ/^ܲe‹l]]ÝÜÜ\Åç.›¾ +´··§ ©ño‰DbffF•Pƒú”Õ«WS…zzz"‘¨¥Ë ðZÃø7@ †l ØØØ˜Ú¨®®®ªª¢òàö ÓécÆŒ¡¶õõõ Fyøð!!$$$„Z~›"Ë€½½½ÏŸ?___oooonnÞ³gÏ~ýú;öÍ7ß”oÜÄÄ„nóÍ7ÇïééI …‡Ú´iS;#ÏÌÌ”ý1aÂYùøñã©é1%%%IIIª\u ÛÁó/š «««¦ö|„B¶A‘Ê-Ýfl6[¾M‡CmP+4çÿûß‚ ¨ìŸZ§|ß¾}Ó§O7n5o¤1CCCj;!!¡ý‘WUU5»Á¶|h ãߪVYY™ŸŸojjJ½¤pC±´´$„\¿~]"‘È*³ÙljÃÀÀàØ±cþþþÏž=KKK{øðá¶mÛjjjîܹóÏ?ÿx{{7®N¶¹l–KEEÅ”)S¨í;wº»»+¹¥¥%ƒÁ‹Å„gÏžÉÊSRR¨ Ö£Gåx !ÿh5ù5¶óóó•Ü%oË–-ûöí£Ñh²äuòäÉ„#F4yÈ7ß|3f̘#F8:::::z{{;vŒ:–š²gÏ'''oooƒA©®®^³fM]]u¸,A‰D²/h·êÄ9Îĉ¯\¹B9pàÀüùóÍÌÌŠŠŠ~úé'ªÂÈ‘#eÓu I˜Ðj:::Ôö‚ †>jÔ¨7n(Þ%xhh¨M¿~ýd‹j{yyM›6MA§£FÒÖÖvtt6l˜¥¥%•|³ÙìQ£FBþúë¯7ÞxƒÃá899¹»»›™™>|˜:v„ sæÌésÿé§Ÿ¨ ;==½gÏž®®®vvvñññ„==½ýû÷wH/¯0äßmqàÀ* ­¨¨¸wïÞ;wø|~‹»(L&óêÕ«666ñññR©”F£Íœ9óÒ¥KÕ–·mÛ¶É“'‹D¢ÄÄݰ0@@}dsÓïß¿/{þ¼µµµ|;µµµIIIeee§wïÞŠ—äß*Ò8ÿ€×柨òoÕÁúƒ*2uêÔ>}úB˜LfWÇ]ó¿TóOTù7€ê ÿPäߪƒü@u¨òoÕAþ  :È¿Tù7€ê ÿPäߪƒü@u¨òoÕAþ  :j]t3|>¿¢¢¢«£x‰ØÛÛ+_ãߪƒü@u¨òoÕAþ  :È¿Tù7€ê ÿPäߪƒç_@×JIv63+K­¬Œ!•vu4/7--‰¡¡ØÁ¡N]?1»=äß Rb1ùç­K—´CC5KKñ@+0ÒÁƒkƯ|ë­r.WÒÕá@Ѥw€Öàóùm;öÖ-­mÛ 23™ÕcÇV Xcm]ÏåŠéÈꬤçç3âãY!!š7nhI$´e˄˖•°ÙHä^ öööÊWFþ ­Ó¶ü›Çc~óá½{šo¾YñÑGÅÖÖõÀë ²’~â„ξ}z::’/¿,?¾²«#‚Öåßt€NÆž>ݲ¨ˆqòdΞ=|$ßí¡¥%Y¶LxófæÐ¡Õ«W›îÚ¥ÑÔîù7t®?þÐY²ÄlĈª  Wך®àah(Þ¾½`ÇŽ‚£Gu?ü䦆ÖÕ²@'ºtIûË/V­îÙÃg±0>ÐÁ¦O/?v,7"‚ýÉ'&|!³›@þ %6–µaƒñ’%B_ßbÆe:‡›[ÍÁƒyÿ­¹w¯~WÇJAþ B(d,[f6dHÕçŸuu,¯8Wךï¾<¨wíšVWÇ-Cþ bï^=:ìÙS€µT`úôò3Ê·n5¬®ÆŽ/;üb€Ž÷ì™ú©S:Ÿ~Z¤­Ùˆ*òé§Eååô#Gôº:hòoèx»vé÷ëW7mZyWð10¯ZUräˆ.ž.ü’ÃÛ,?_ퟴÞ{Oˆï\«M 8üëñãÇ]!„Ì[F§KÏŸçtu  òoè`7oj±Ù’qãð<6UÓÒ’x{Wâ[˜/9äßÐÁ""ØžžÕL&Vûè^^UjÔÕá#È——ZW¯šÄDõ©S1ó:‘T*½zõêŸþ_RRb``àââ²téÒAƒBNœ8ñõ×_BtuuÃÂÂüüüΟ?_PP°oß>ooo‰DráÂ…óçÏ?}ú´¬¬ŒÃá8;;ÏŸ?̘1²öCBB–,Y"{Éd2  °`Áªpîܹ‘‘‘²:3gΤ6|||vïÞMQ¦#€ÎЯ_HDKMe::Öuu,Ð4äßÐÁø|†™™¨«£€WVmmíªU«îܹ#+ÉÏÏÏÏÏ¿yófRRRƒÊ¾¾¾7oÞ”½¬©©Y±bŽ{÷d%B¡0$$$$$dñâÅ7nl²Çúúúüüüàààk×®mÛ¶mÖ¬Y-Ù¶Ž:„©©ˆ"¨!ÿ~iaþ t°šº¦&&Ÿ@gÙµk•|Óh´>ø $$äÑ£G'NœðöönPS(¦§§Ÿ:uêéÓ§)))ÞÞÞ?üð•ÆÆÆ;vŒÃáB‚ƒƒ©GŒ‘ò¯¤¤¤{÷î-_¾œ"•JwìØQ__O9qâDxx¸¬¯   ª>5ø­dGASSB©¬DŽ÷òÂ{L*%Xù:I}}ýéÓ§©mŸ5kÖ˜››s8ww÷_~ù¥qý;wºººª««SÇž9s†*ÿøã=<<ØlöСCgÏžM6nÁ`˜˜˜øúúR/…BáÓ§O[ ² tê'°à /1Ì?€n#''§²òùÒ:^^^Š+3™ÌþýûË[UUEmñÅ_|ñEƒú‰‰‰ÔF}}ýï¿ÿ~ýúõÔÔÔ²²2‘è?ó©A‹A*Ù¼ž@·Dkés---:½óÊ’æU«Vݾ}»¹j Òñ6u¯'äßÐmXXXhiiQCà¡¡¡S§NmÕ±šššTî»{÷nŸ&«åååÉ’ï?üpÑ¢E\.W(ººº6¨)ÿ€TîÃ~%;€×æ@·Ád2eËœ?ÞÏÏ/??¿¢¢"::zÙ²e-+[%ðûï¿¿uëVyyyeeeJJÊ¥K—V¯^ýÛo¿BÔÔ^ŒLiiiihhdgg7¹b‰¶¶¶l|=::Z,·ª#xmaüº“O>ù$%%åîÝ»R©ÔÏÏÏÏÏ*g0-ûé§Ÿ¦¤¤„……®X±¢Á^j²¸‘‘‘——Whh(!dûöíÛ·o'„¼ýöÛ[ÓÐÐyRÂbÑGŒ0±±ÑnÐH^^õíÛùååõ={rFŽ4MN.»q#oÒ$ NãÀ”oVAl­ÉÀ¢¢ŠÎžåBÂÃb±”*2Ĩq¡¯oÙi:;놅 ž>ji1GŽ4±´ÔTÍ)t_È¿ { ¦YËÏôÎùâ‹Gååõ²:êïÛçal¬A½Œ‰)þ裨ìì*Y33öžýúé’çC³ÙŒƒ“nÞÌ£*0´ï¿4}zÙ!§Oó6mz\W'‘u1eŠ¥Ÿ_B¯^:TþÝ 0%›U[“~þ9Q*Ut‰45ï½×SQ BD"éûïG4XddaP!ˆˆÈ*4.ôõíC¦º:}÷îøððçåjj´ ú/\h¯8€×òoè–J׬‰‰¤ýû빺êWTˆoÞÌ}ô¨xõêû§O¤ÑHNNÕâÅaeeõ..ú..zêêô¸8aD„`Ù²ð7¼µµŸÿôó÷O©¨ùøX™˜°ãã…÷î|óÍcoo3‡Iyò¤ä«¯‰ÅR77CggÝ’’ºk×r÷ïOj1<ÅÍ*[¿ü’(n’¡!«Åü[A`îî†3gZñ<=ÜÝŸÿ‘Ód¡|kUU"+##øxax¸àÛoŸôîÍ}5fÃtäßÐ-ýïÏD"éâÅ6ô§Ñ!ä³ÏúNŸ~ûÑ£âˆÁ!F‡'—•ÕoÞì2ožì¨_Mýî»'/fÍkK•Ô×K®^+›5±~ýà ^TTј1¦„€€±XúÑGŽ~ø|†·¯oŸZ Oq³JÆÖÀôiqü»=¹¹Ðh$(ˆ7dˆÑêÕ½e‡4YH©®_¸0ÚÞžC½ô÷OÙ¶-öèÑäß ÿ€néÁƒ"ƒ¶n•|BôôÔß¿÷Æ<(2Ä(,LÀ`Њ‹ëöíK’J¥TæZY)"„ÄÆ–ò<Ç>½‡ü”åQ£Lƒ‚x|~5õòÑ£6[mÕªy§¥¥ÖìÙÖGŽŸ_QQ¡ ‚ƒƒ½ŸÒ$Euº‘¸8aß¾º²UãℳgßÑÖf†‡¿Ñ`]”×JHÉ’°û/^ŒÙ&/Wìçp·`oߊGÿbü@‘Ÿ~JHK+wu5Ô×WOO¯¸};_,–.\h÷:'ßÐÈ¿éß_÷Ÿòy¼ í͘aýþû Ÿ  $äߊøú:NŸnýàAQ^^‡£îînг§NWÕõšœMÊ@þ ÐKKM|­°kk-Ù*(Ð*ô®à5‚ü@u¨òoÕAþ  :È¿Tù7€ê ÿ€î!&¦xîÜÐààÜ®„—,˜ÎV]-ºp!ëë¯/Y¶jÕýýû“ jº:¨n#-­|îÜгgy-ÖLN.;x0yÑ¢{sç†ÆÄ« 6è*È¿ {(-­Œ,ÌË«RP')©lîÜÐóç³Z,TA0íÔa·Ÿ_ãéyuݺè'ÒCBø×¯çîÙótüøaa‚® ¬ót앯¬EFæäT+®æãs{Ò¤[»vÅß½[YXZZß!½ÀË ù7¼:ÊËë## srªZ,|ù½$a×Ôˆ™LúÛoÛlÝ:Ðß莃\] **DëÖE‹DÒ®­“tÉ•/(¨éÙSçý÷{eªÊ~ KàùóÐ,33vhè6ûÅ/ Ÿ“'ßJM-OJ*íÛW· c{•\¸0ÚØXƒ²iSLWÇù7t3BaݱciOž”°XôÑ£Mg̰¦Ñ!äüù¬£GŸBΜáÝ»W@Už=Û¦qá‰^11Å;vÄ/\h?hþ±c© ¥ššjãÆ™MjEµÖÎ`d"# /_ÎÎʪTW§÷ï¯7gŽ­¡!K¶71±ôܹ̬¬J©”X[kMjEe´MžË‰^mº`-k. Bˆº:½Á'¥jj4[[íÔÔr&³…OPÓÓ+Ξå%'—‹D[[í™3­¹Ô®Û·óy¶f£»»¡¬>U¸v­“««â–y¼Ê?ÿÌLL,•Hˆö¬YÖööeú•½ïžž†ÊßEò7Œ››Áï¿§ÅÇ—³¾ûn !¤ªJ|éRÖãÇÅyyÕÚÚj̜كËUW| PÉwk)îZóàÁú¿ý–š˜XÆå2ßyÇ–º¼ññ“'Ósrª,-µ–.u°±ÑV²Ù%KÂjjăٵk°¹¹&µ­à¶oñ-h1¡°nÕªûcÇš-]ê@U¾¿ð§Ÿ Y~~îTIE…hÅŠp//“÷ßïEÞáÍQ|)s‚­½ìðZAþ ÝIQQÝ´i·³³ŸÏ ¸v-7.N¸i“ !$'§*!¡”’]™]IU6̸q!ùwwÿþº[¶ÄȾMxõjÎÍ›y~~îJ¦à ‚¡lÛëïŸ"{yëV~@@ê‘#C Ò'„œ;—ùùç¤r“8ŽMÙ½ÛÕÇǪÉsi΂wÅbESAtuÕ÷ï÷hn¯‚0š¬]tï^­­¶|:ÒØ‰é›7ÇÈ áÿþ{ÚÖ­gδ&„µ‘‘…ÅÅuò‡P…%%uM4'ç÷ßÓ¾ýö‰¬å¿ÿ&)§OtqÑk±_ê}4È`ûöXåï"ÙÎÎz²ÆÉ‰K ëF޼VY)’Õ Î=zôÙéÓ#,-µŸH;µØ5³‹‹Þ·ßÆðùÏoòË—³RY)Z³&Jv•þú+'8x¬‘‘†2ÍFEVW7Ì¿ÕÔhtúóÿ6Šoûß‚cÐÕUÏË«:}:C–_½šYHùüó* MBHx¸àþý©S­HëïpÒÒ=¦Ì ¶ö²Ãëù7t'ÿû_rÏž:Û¶ 21шîߟ˜¶|yOssÍiÓ¬8µ-[žÌše3mÚó߬––š e~û-ÕÖ–³f“‘+>^xäȳ«Ws‚‚x³fY·3BÈõë¹þþ)jj´wßµww7*/¯ âED>øàþíÛãY,5κp¡ýСFjj´ŒŒÊ‹³ÊÊê !MžKs"# çßò#î)C&7·ê“OH¥¤  šÇ«ìÙSççŸÝŒfÿLyø°xÓ¦MMÆÜ¹v..zêêô¸8a@@ÊW_=öô4lObzÿ~áæÍ1„)S,G2år™©©ågÎð**ê•ï·µw‘̯¿¦ØÚr|}{ôÐÒÑaBêë%L&}éR'']VYYýýû‚“'3üüwîÜæÓT†’]¤ôí«·n]_==õþñãi[¶<)*ª2ÅrÜ83:vìXêýû…G¦¬_ßO™fýý‡J$/ÂÈήܴ)f×.WSS6Qâ¶oñ-P&†áÃMNžLÏÍ­¢êß»WàæfUtïž`ölkBÈÝ»|BÈðáÆD¹;\žâ{LÉlíe‡× òoèNll´ƒ‚FR¿äFŽ4©¯—üüsâãÇ%ææššNNº„KKM³š,¤iœ;7ŠÍfBF6uu5˜?ÿî¤+™+†rêT!dûöÁ²4ÎÇÇjá»áá\€¿( IDAT‚[·ò'M²PS£÷ê¥óõ×β-²//¯'„4w.M:~|¸Tá7!OQ†Luµ˜_$„°XŒáÃçôþþÏ$©¿ÿ0jD2z´é€ú‹ß»t)gåÊ^ OH‘€€©”|ù¥ó¢Eö²–/v¨­•(ßoî"б1ûܹ‘ò³áõôXW¯Ž½~=ïÎ~QQm}½„¢®NŽ.jó9*IÉ®íí9§NyQ÷ÀèѦIIe‘‘…óçÛÉ›‡ 12äêãÇÅJ6ëæöâ²äçWoØðpÛ¶A&˜S%-ÞöT¡âÿ;-Æ0|¸ñÉ“éwï f϶ÎÍ­JO¯X±¢Wii}h(ÿßü»ÀÆF› Wæ—§øSò[{Ùáuƒüº“‰-d#L„~ýô!%%µmkmÒ$ *ù¦xzYZj&%•wH0‰‰¥l¶šügÜ4™3Ç&<\ œ4ÉbùòžëÖEüqÔ˜1fŽŽ\;;m:Æá0[{òS¨Û@™0ÌÍÙ^b±´°°æÎ~@@êÍ›yW®ŒÓÔd4ÙfLL ƒAûñǧ„©”PˆDBHjj™2Q•—ׯX!{Éá¨:4„[Âb1,°“¯Ì`ШH”ì·ÍwÑĉæòÉ7!D ¨yçÐÆs„šLïš;©¶Q²ëñãÍåÿstäFFNžl!+ÑÑaš›³óókZÕ,UóÝwï­ZÕûÍ7-e…-ÞöT¡â· Å† 1b0hT¶Z@ñò2IN.;w.S"‘ææVñx•óæÙR•[ûMñ=¦ä ¶ö²Ãëù7t'\î~k2™4Bˆü§á­¢£ÓðKrººê¹¹-,Õ¬d0µµµSÉ©/Qi“'[:9é^¾œ}î/)©¬¶V2eŠåºuNÔÄåµsþ·2a°Ùj²Áà©S­Œ5Žyö矼yóìšl³ªJ,K›\#¼¦¦ÙwK,~±K$’ÊFÜ©S 6jk%\.³¹©/JöÛæ»ÈÌL³A‰Ÿ_bvvå!FS§Z™˜h¨«Ói4ÚúõÊËEoî¤ÚFÉ®ÜNjj4òï}(WH¯ªªkU³Åŵ Þ[´È~ÆŒÿ|XÔâmÿo‰¢· Ått˜ýû놇 $ih(ßÁcb¢1|¸±¿JllÉÓ§¥„áÃM¨Ê­ý¦øSò[{Ùáuƒü^Ô/Eégc4YH‰Ê¿¬¬¥¥•·m%ŠÆŒ5RRÊøü“ ÆÆ !&&lꥭ­ö‡ö¡¶ãâ„ Üj¨\YAØ ´sþ·â0šdg§MÉËkvèÎÌŒ]W'9tȳq£¯¯NþÍNŠŠþÓBRÒ‹!j‡øb½*}¡ZNH(Íʪ²²j˜ +Ó¯2^ù†…11źºê¿ý6Löíê*±@P«¡ÑÄ'ÍTÛ´ªëŽm¶´´îÝwïÍ™cóÎ;¶ Wæ¶ï¼¼L?NŒ‰)‰ˆ(|ë­„wwCuuú½{‚§OK š§ç‹Ï…Zu‡+¾Ç:äðüxuhjªB23+[,¤Ü¸‘+{0xuµxãÆGUUb//“ ÆËËX*%Ÿ}ö@¶ GTTÑ¡CIÔ.BÈÎñ©©/溘˜h0™tÙø¨‚°8~|x` —‚û÷{*8\q—/g߹×ÏEJzF±·ové´ñãͪ«EÁÁ9}úèxxRÿœœ¸II¥õõRBHZ„3gx²ÿÿDzÔÔh²=< ~¾"á¸qf„_ßÈ´´ç1K$Ò‹³K•éWÊ_yB—ˬ¨¨—ýåPRR·vmT“Ëó)8©¶iUרlyyý¢Eao¾iùî»öoñ¶ï!ÆBH 먖54®®wîðÃÃ..z²&ŠïðÆßcr‚ÿ€W‡­­6›­vî\f\œúpÿÄ ¯& ©úŽŽÜÏ?¸gÏSccvzzyE…HS“ÑžoÊ[¶¬çÅ‹Y÷îxyÛÙiWTˆ¨å‡gͲéÕK‡òë¯)‡'ë볬¬´êêÄÏž•‰DÒ‘#MœK“µsþ·â0bcKŽMa³VVZl6C ¨ÍÍ­"„ôî­#›êJY´èžX,=~|8õò½÷zݸ‘wâDúéÓ66ÚS ¨ÍË«‹¥þþC á::rûöÕ‹ŽqÍÎŽSXX““Såâ¢S¢8Ú¥K{^¹’â-KKM.Wzã~ûm˜2ý*sA”¿ò„±cÍ¢¢Š||n÷î­CIO¯`³šòkç)cÿþ¤»w !„;âL&„È/‘Þà"wT×­:£êjÑ’%aÏž•±ÙŒþáËH­ÿÝâmßþ(êkk«ýýwžº:ÝÍíù_2ÇïÜOä&Ÿ–îpÒèÂ*¾Ç:ä0þ ¯ Ɔ ýX,FrrYdd!5ÄÕd!å­·z|ðAŸ’’ºØØ’Š ‘öo¿ §†fÛÏÈHãäÉîî†55â§OK33+54ÔÞ¿÷wß  *¬_߯W/ââÚ˜˜â„„R:æãcõÜKgPÆÔ©Vo¼a!I““ËbbJrs«´´ÔÞyÇ60ÐKþûs "ÔÔdœ<9bÞ<;&“‘’RþèQqvv%‡Ã\´Èžzî Fvìdm­U^^S\XX»v­ÓÛo7œÌИ¶¶Ú©S^Ôc’23+ccKª«Å>>VÔvZìW­ºò‹;¼ý¶T*MH(MH(57×ô÷ª§×ê‰Ý©©åT_ÔââÔr –HoLGuݪ3ÊȨ|ô¨¸¦FL#ÿZ¼ÅÛ¾ý1P õWWÙ—bei÷°aF²šŠïpÒèÂ*¾Ç:ähÊL.áóù *88Øûùñ'MRT§ „º¤¤2kk-j™aùBmù¹˜UUâÔÔ²êj±TJdßlPÂ_²$lãÆþ‹;”•Õ§§—kjª98è(ùäåƒ!„5ÙÙUêêtŽ|ÎJ).®ÍʪÔÔT³°Ðj¼œH“çÒ‡QW'Éʪ,-­çr™66ÚgWGEI¥ÒÆ#ñõõ’ÔÔòêj±©)ÛÄDC6—"•’gÏʪ«ÅvvÚ³  &=½¢W/e’HêÊ0tíÆ7×o›ï¢&”oÇ«ÐÑQ·µÕ&„ÄÅ kkÅÔô’ÊJQ\œÐ‚­xÕóÔÔòÂÂ&`éÙ“£¯ÿ|ú~“YA×MÆœ™Y™—Wíì¬'¿òÏ“'%b±tà@ý›­ªÇÆ6ý…³³®üâ0ÍÝöÊ¿ N’]•“Sejʶ¶~~m¥RU(•WWƒw©‚;¼¹»Wñ=ÖªTò²w Nú9 ØÛ71#«9È¿ uº*ÿîXòùwWÇÐÁºÅÏáWL«òoÌÿhˆÇ«ü⋇Ííuu5X»ÖI•ñÀ«ù7@CUU"³~[»>7€<äßð:1Â$%å­æö::rìh¬ :È¿Tù7€ê ÿPäߪƒü@u¨òoÕAþ ÝCHßÁáÏ€€”®DÕΞå98üœÛÕ(UøÅ'L¸Ù·ïÅÁƒ¯¼ûÿÎëê ^RÈ¿àÕ]äàðç¾}I-Bâñ*ßy'ôÌ^jjym­¸´´îÞ½‚åË#üý_»?–”çÏ@»Ðé4//ã·Þêáì¬gfÆjNœÈ8|8y×®øÙ³m´µñ‹à?ðcÚÅÊJ3 `˜ì¥¥¥ÖgŸõ}ü¸82²05µÜÅE¯ cx !ÿ€næñã’;ãbc…,}ôhÓûëêªBöíKÚ»÷)!dïÞ§Ô!ä㦤¼Â_²$lãÆþ½{s÷î}šPª©©6nœé'ŸôÕ×gµƒìpGGîîÝO˸\æüù¶ï¿ß›rìXêñãi99U––ZìøÆ²kjć'_¹’“•U©®Nïß_oùò^^^Ʋ eeõ{ö<½v-·¬¬¾gOޝoŸÆ½K¥$((ãôi^RR©XLlmµç̱™7ÏŽFkóEmX, L;{63+«R*%ÖÖZS§Z½óŽ ›Ýì/&“N10hùb¼n@w+üá‡øº: !¤ºšüùgfvvåÉ“#ÚÖÚÇÅ۷ljÅRBHMøôiÞƒÅþ9ZS“¡Ìá—ȯ®íÚõ”ÅRjN¦*¤¥•ôQ”¶£#—R_/y÷Ý{Q{ëê$áႈÁæÍæÎµ%„ÔÖŠçÍ MH(¥*ÄÅ W¬ˆ˜4ÉR¾S©”|òIô… Y²’ÄÄÒM›bJ·nØ\¨½{Ÿ§âlŽ¡!+"bRs{wíŠ?rä™ìe\œ0.NÈdÒ,°kPS"‘ µAA¼{÷ FŒ0±´ÔTÐ)Àë ù7t'/fÍk»tiOøxáÇGGE%$”::rW¯îíáa8gNÈÇ;­^Ý[vH“…”«Wsf̰^µª·±±F\\ɦM1IIe‡%}ü±“2Á\¹’½x±Ã¢Eöúú¬;wò׬‰òóKH¤ß?hìXS:và@ÒÑ£)þþ)?ü0˜rüxÚƒEææš›69»»•—ן9“ñË/I[·Æz{›i;––PjgÇÙ´ÉeÀýââÚ#G’Óå;½p!ëÂ…¬Þ½u>û¬Ÿ‹‹‹Åˆ‹nÙóÇ3gZ¨ßîkÜ„7òØlÆ®]®C‡©©Ñ22*/\ÈjðWJjjù„ 7©m‹1ožíçŸ÷ïŒ`º;äßÐ n¼eËj{ð`ƒåË{nÚ“˜XJ 0·–‹‹þö탨inn†ñö¾œ«dþ=b„ÉÆÏS̉-ÆË ÎÙ°¡ÿ¬YÖTágŸõ;}š—’RN½üë¯lBˆŸŸû€z„mm5__Ç‚‚šS§2nÝÊŸ3Ç&88‡F#ûö¹÷ì©CÑÔÔܼy@zzEX˜@ÖiPÁ  36Ö JÜÜ öîu›8ñæÍ›yÍåßIIÓZ}u䘚² !ãÆ™14Bˆ£#Wñ¯­?zTœ˜X:hP§ü=Э!ÿ€îÄÓÓHþ¥••!¤²RÔ¶Ö†7’Ÿ3me¥ikËIO/Wòpwwù—æælBˆ›Û‹Bƒfb¢QXXC½äñ*uuÕ©ä[f̳S§2x¼ ª‚‰ ›J¾eFŒ0‘Ï¿Ÿ=+‹¥^^Á„©”H¥Rjƒ’›[¥dä­µqcÿÕ«ïsÝËËØÑQwà@}'§†ù·½='%å-±XZTTûÏ?ümÛž,\x78x¦ 4€üºë?O- ²g©¢‰ÍÌ&`PÁ4*¤I$ÒuÚƒj­ÉÉÜõõÍ^ˆvÎÿvtäÞ¸áýðañƒ…QQ…~~ zzê?ýäÞ»·Nƒš ÍØXcölëÚZñæÍ1ý•½|y¯N à5ƒü^t:4ÊM›,¤Ü½+X³æENœ•U•ž^nm­ÝIáY[k=~\SìâòbVÆ?ÿäB¨N­­µž<)yö¬L~<$„/߈½='>¾4,l"‡Ãì¤8›Ä`ÐÜÜ ¨Ñýêj‘·÷Í/¾xxîܨæêSß‘­¨hãG¯0äßðêàr™„¨¨B¡°ŽZ”°¹BJLLñ_<\¹²·±±F|¼pÓ¦‘H:q¢y'…7i’åãÇ%}½i“³««aEE}PïÔ© uuúر¦„‰-bbJV¯ŽÜ¼ÙÅÅåù÷/å'ŸBfÍ²ŽŽ~¸pá½?ì=`€>‡Ã,(¨IN. âÍ›g7t¨Q“]·sþ÷¬YwÞz«‡»»¡¥¥f}½$,L ÖÕÔˆ©½$——×OœhÞ£‡›ÍjoÝÊûñÇBˆ››a{úx%!ÿ€W‡¶‰‰Fx¸ÀÕõ U’’òV“…ÔÆÄ‰æþ™Ä“µ`oÏY±¢á2)eÁ»ààœ‡‹ß{/\¾üË/]ŒŒ4! Ú]¼˜•Pº`Á]jF&O¶¼r%[VyútëÈÈ¢³gyË—G4hÿí·m:)òøxá£GÅÍu'Ö=š"[uQÆÇÇJ~is Ð[®ÐM0´}û<]] Øl†âBÊàÁGuqÑ×Ð`èé©Ïše}ò¤—’‹·“I?vl¸¯¯£‡É¤ki©yzùû¥ÿ&„°XŒÀ@¯yól Y,Ãɉ{à€çˆÿIai4²cÇ ??÷aÃŒ¹\u&“ne¥éímvà€ç°a•ìž=;jþ|;u¡6øþûA²µ_>ø ÏæÍÜÝ Xjj4CCÖÈ‘&?þè¶k—k'ÅЭѤ]õÅ%èžø|~EE…‚ ö~~üI“Õér²X.^ìÐÕ±t°nñsøcoo¯|eŒ¨æ4”Púæ›7·wÜ8³ƒ=U¼J0þ  :ÿ€×ш&²UPstä*Ø ÐÿPäߪƒü@u¨òoÕAþ  :È¿Tù7€êàù;Ð=„„ð—, Û¸±ÿâÅÍÕÉÍ­ Ê2ÄÈÍÍ@qa§ ë>ü02"B •¾(tvÖÛ·ÏÃÌŒÝâáÊœéËÌÏ/QOO}Á;uKgϾSU%&„xy “í:w.sóæ˜ÊJ‘¬„N§yxîÝëfhÈ"í¾¼<^娱ׇ5:vl¸¬0!¡tÑ¢{¥¥u?þè>q¢9U§ÉçOï±sçàóç³>ù$úÍ7-÷îu“ß[PP3qâM ÆÕ«c¹\õÏ>{pî\&!D]~ìØpWWÝð’Cþ ¯ŽÜÜj?¿ƒößü»‰ÂNUZZ.°±ÑvvÖ33c 57nä=yR²reÄùó£UC—(-­‹Œ,zø°ˆÅ¢›˜hxzéè0›¬yú4¯ªJܯŸ®§§‘£#WV~ÿ~áçŸ?JIÏž:îî†ZZjÙÙ•11%áá‚ââZ*ÿîðËS²dIXMøÀÏÑ£Meå––šÓ§[7¨LE;mšÕ_e_º”=i’¥··™lï—_>.+«ÿáW.Wâímnd¤ñøqñýû…'N¤#ÿ òo€¦§§4jÀ=YIAAÍÔ©ÇÅ ÓÒÊíì8][ç âmÛ[VVO½¼u+ŸÍf¬[×wÑ"ûÆ•33+ !¿þ:LWW]¾üÌ™ ©”¼û®ýW_9Ë ¥RYhd¤A½ìØËYøÞ{a„£G‡xzÉïêÑCË×·Os~÷ÝÀ7Þ¸õÕWÜÜ ¨³øóÏÌ¿ÿÎóñ±;öyïímæím&I¼ÌãU´*0x…!ÿ€îçþýÂ'OJX,úˆ&66ÚTaTTÑÙ³5aȣƅ¾¾}x¼Ê ²FŒ0qvÖ <}*ÔÒbŽibi©©d õõ’ÐЂÌÌJ©Tjm­5t¨±†ƒÚ¥£Ã”Ï !ÆÆƒ\¿žK͸hƒ  ^nnõÈ‘Æ..ú„±X.HJ*‰$¶¶Ú#Gš°X BHJJù_å bèæf(x^^õ™3¼ôFŒ0i[ŠedTlÜøH,–f\S#VW§kj2¢¢Š¢£‹šÌ¿ëêÄ ­AòM))©#„̘ñŸQgxx¼8¼¼!!üU«î««Óýý‡5h³EÆÆ_}åüÉ'Ñ[¶<Ù³ÇU ¨ùî»Xcc¯¿vnPSM¦££VW'iUûð Cþ ݉H$}ÿýˆ›7ó¨— íûïMŸÞƒYÄ#„DD""² }}ûðx~~ êêôÝ»ãÃß—«©Ñ6lè¿paùb11Åï¿_ ¨‘•²~úÉ]>M”'ÖÅÄëè0íí[=ø]_/Ù¸ñѹs™+VôrvÖ§zÿ裨ìì*Y33öžýúéšš²ÿ÷¿äþÉ?wn”|#¿ý–ú¿ÿ=;ujDs½üüs¢ütêÆ45ï½×³¹½QQEb±tÕªÞk×:ÉæWW‹ãã…MÖo®/{{Î;ü»wùNNܦk4¥m—÷ÚµÜ5k¢8毿kUw2Ô,”‹³ÞxÃâìY^iiÝáÃC¨™' Ðh4Å—^+È¿ ;ñ÷O©¨ùøX™˜°ãã…÷î|óÍcoo3‡éîn8s¦uPÏÓÓÈÝýyÜd¡|kUU"+##øxax¸àÛoŸôîÍm.–Ù¾=^ ¨qtäzz©©Ñ22*îÞ-HN.“?°¤¤îøñ4‰DZPP}óf~yyýÞ½nl6£Uç+Ö­\ñèQñöíƒfδ&„ääT-^VVVïâ¢ï⢧®N‹FD–- ¿qÃ[[[mÆ ëãÇÓbcKú÷> [[+ â99qÌ?þå—DÙçM24d)È¿©™Ù¶¶Úò…l6£ÉE"iFFE“yê{ïõœ\VV¿y³Ë¼y/ùõ×Ôï¾{rñbÖܹ¶ Úÿþ{Z``úöíÏóï+Wr„º ú+èëƒú´8þ­`ïСF}úpw¨ååUëé5‘[BnÜÈ‹Ž.ŒŠ*ÊË«~ûm›ÆŒ5.\½RppîáÃÉTaŸ>ܵk¤¶í¼¼"±XÊf38œ¦¿!JÉή’u!Ó«—Ž|þml¬ñå—ý?ýôK~ÎzÞÞæ¿ü’8sæ¡CúõÓóñ±R>Txõ ÿ€îdúôòS´G2 âñùÕmkmêTKù±ÏE‹ìJ~ð ¨Å'L0÷÷O9}š7fŒ©±±!D_Ÿ¥¯Ï’¯£¯Ïòõu‹%……µ¡¡ß|óøî]þþýž4šR±EGýòK’¾¾zPÐHÙwBHX˜€Á ×íÛ—$•J©¤™Z­/6¶„[[[í#L._Î^¿¾5Á:00ÝÀ€5eŠ¥‚î>ü°Ù/*ƒÅbüþûðƒ“y–›[Å`ÐNŸÎ?Þ|ñbmí¿hnÜÈ¥Öã›0Á|óæM6ea¡¹uëÀリ–V/¼wOpñbÖòåáGŽ ‘_œ¤—×ÍÍ o_Ý#GžÍ›zâ„—ìËòš\ÿD>ù¦ d@±·ç49¢Oùè#G æ?2’’ʼ¼Œ‘¼æ@wÒ`gjPV$jãÔZ+«ÿLl Óiš±±%-¸fcZçÏg}÷ÝMMµõ||zLšd!_GOO]¶z†X,]½úþyÁÁ9o¼aÑT“ EF––ÖM™bamýŸIÅÅub±ô§ŸŽËBÊËŸ¯=òî»öwîðÏžÍ\ºÔ!.NSüá‡}ÔÕ=p­ó¿ !ººêë×÷[¿¾ßîÝñÅÅuzzê)ÁÁ9gÎŒ’{{›kk3oßλv-÷èÑg+Vôj®5ØÛsìí9S§ZMjùî»÷üüåóïv^^BÈçŸ÷‹¥þþ)óçß ô¢¦ÐÈS¼þI«œ;Çûã  ooóõ;¤Mè¾Àë++«Rþ¥TJrrªttšÅ”¡Ói3gZÏœi-‘H32*nßæ¯]/üôÓ¾MÖg0h'Zܼ™/T2A\¹²wFFE``zm­dëÖ Æóq]j%eËšH…eC³^^&ööœ'Ò–,qøý÷455Ú;ïØ*î®ó¿å1™Œ>}¸ Øõë§ûÁ‘ÁÁ9ÔdÉ¿ëñ}ôQ/¯à³g3äßò<<ŒètZJJysÚpy)6ô—JI@@Ê‚w‡7ø£=›É`Ђ‚F)ó„ xå!ÿ€W‹E'„…µ-R.^Ì^²ÄA6% ¥¨¨v̳Æ5¸};ăF§Óìì866Úǧ=Ë£òï'OJzôÐ’_\¯¾^ráB&!Äа‰yM¢ÑÈ–-¸\æÉ¥¥u?ýäN `jüÇÖÖZ æ0$&–ʦ2ÓhdáBûo¾y|ùröåËÙ“'[R“dhçüïää2MMµ«7R+´ðù5 *s¹ê={rŸ=+mÜNX˜ÀÞžcbòŸhƒ‚x‰”Ë}~vrye6nì/KK]°àîï¿{57s½òó«-,4‘|ù7¼:¬¬´ètÚ™3<‘Hª§Ç"„øúöi²ªÏf3||nO˜`nd¤ñô©0,L@£‘¥K[~êûêÕ÷õôÔ 2°²Òª¯—DD²³+ûôy¾†Ý•+ÙéžžFVVšššj5¡¡üÂÂZæäÉ­%„¬[×WOõý÷±K—†<è©¥¥¶re¯ààÜuë¢ÏÎ¥¤ IDATR\\ô8¦@P›œ\[âï?ÔÂây<}z]»â7lxXS#~÷Ý–WTlçüïû÷ ·l‰qs3ìÝ['5µ\"!×®åR >jÔ¸¾–£¶¶‰õ°K½u+ÏÙY߯FËÔ”]U%Š-yü¸„:#ªN^^Ê×_;‹Å’ÀÀô… ï?>\–Ù7¹þ‰±±Æœ96­í¢¶VÜyƒëÐí ÿ€W‡®®úôé=‚‚xǧQ%¾¾}š,¤6–,q å_¸E½¤ÖÿnqñBȘ1¦7nä]½š#+±´ÔÚ¶m µ=`€þ¥KÙÿü“/ˆ½=ç‡7ù=?Å–,qàr™6<š?ÿ®¿ÿPKK­ãLJ¯['Œ‹{±º¶£#W–|BØlƬYÖþþ)ê;;·îÉ2mЧ×Ö–YY(+äp˜ëÖ9¹¸´¢÷áÃãã…11Å11ŲBƒ6w®íG9R/;öòR6m ‘“'Ÿ§àTa“ëŸôë§Û†ü@òo謭µ}}4h\èì¬++ùþûAS§Z=}*¬ªBSPHa±èÇ -HJ*ÕÔT5ÊTÉç_þò‹‡@P]”•U©©©fk«=dˆ‘l-Â7Þ°?Þ<:º(%¥¬¬LÄå2ûöå:;ë+¹4Gã31ÃÚÄ„ýðaqXXÁäÉ–NNÜ¿þûðaQ\œ°ºZljÊîÝ[ÇѱádúöÕ%„(3øÝ~nnׯ‹&'—=›©««>}º•««¡ŽNÓ«ûÑé4‰D*‘He2¾Ý¼yvññÂÔÔò¼¼*ê±Fò_Žlçåår™¾¾ŽVVÿy£©Ù>½zé””ÔEG¬ïëëØäágòP ZX(š["5IMM¥™ßÞ½O 5,°SP‡ú^æÍ›ÞòK+¾ªÊÊêÝÜ®¸¹þþûð®Ž^Ýâçð+ÆÞ¾ƒ­ÿÞ³gOxxx+〗Å!CÖ®]ÛÕQtAÍÉ“Ííµ³ÓV¼–v6N¹¿0,¬àþý„„ÒåË{©8ù&„ДˆîÕ‹L–- 5ʤcŸGÓÙ—·UnÜÈ{ð (,¬@,–öꥣ²~à%׺ü;<<<""ÂÓÓ³“¢€ÎÑÕ!t……µ'þÊŒgÖž®S'„Ü¿_¸o_!ÄÜ\sùr¥V ìXC†ih(Zkœ2k–M``zzzEzzEÇ>¦³/o«Èž7Äá0çÎma Hx}´zþ·§§ç™3g:#èT³fÍêê^"MÎ&—14d57ý—bg×®)Ú8!ÄÃÃÐ×·‰ {Ò$ Wï<Ê|ÕÌŒ}ó¦wH?+«ÒÌL©9÷JêìËÛ*ÞÞæ¶¶ssöˆ&´²!tGøþ%¼Ž¬­=ÚÐÈH££|¨âÆ !†ÊdÀ]ŽÃaNžÜñCÑ}y[…zÞPWG/>"€„ü@u¨æ¿ìFEmÌœ9óƒ>èÒX:Fii©µýã?0 kãP%äß/»;wîP¯LžZ__/;)¡P¨¸2À+óOTù7€ê`þÉ+B(žÓ´´ò/¿|¿füø••"YÉõ빇'ïßï9t¨Q‹‡+s¦íQY)ŠŒ,ôôT‰@PYX\\×I14“S­§'V\çï¿ó–/h\.‘H7lxÄ“/<~û¬3¯¼ÖÊËë## ‡ 3n±°SÕÔˆ™LúÛoÛ8;ë™™±‚š3gxÑÑEëÖE‡†N”O㺄'0ÐË‚ݵaP""7oæýóŸÁ edTŒm:|xÓïTpp.!äwlÇŒ153{ü¹s™AA<ê‚»»ji©egW>~\œS]ý<áî¤w¤oßç#âuu’š˜˜’Ë—³?.™=ûNPÐH;»ç)øŠ½¦L±ŒŽ.Ú¿?éÚµ<ä߀ü»ÛÛ±c•.=úøñãT!‹ÅZ²d !dëÖ­«W¯¦ÑhJ¥„KKË .0™LBN_»vmZ“?dåÊ•ß~û-!ÄÉÉ©wïÞ„ººº¤¤$Y§ÖÖÖçÎc0„55µ?ü°3/ @33c‡†NŸüàãÓcòä[©©åII¥}ÿÏÞ}‡5uµ“0’°GØa£€,ЪN\DQqK­£ú9jë¶B]Xµ"j‹ E–ÜD!{IBßc„2ç÷ôéNî=ç½÷MéË͹ç’ïÇØ@JJì y@ý–-¯‚ƒóx?fg×?Ÿ={¶îž=ƒÛoL§7ÀŽŸÜ¹ôða)üñ‡…»»¯qÞ<ðò²Âذ—2"''Î&§O×^·Îä—_â^¼(÷ôL ‰µÈÈŒ¥zñb.v‚|çPýýÕ{þü9ö";;›·Xxmm-ö¢´´4;;ÛÐÐ011k3f V|€““S÷zãßeÊ”)Ø •W­ÊËË€7¨££#V|Àرc»u Òªºº9 çÍ›*IIüèÑj3fè`^½ZxæÌ;Îú´ ÛxÖ,Ýö—.ÙóæX[[+d§¥ÕÉbãÆ©O›Fʼnv14=½&,¬ °Á傎ŽÔ´iT^'!osw»˜NOO:;»N\¼;w½3,OÏ$ù믃¬¬ 7·>44?3³ŽÅâèéIÏœ©cb"oÞTy{§8;SgÏÖåï;^WWí™3uÎÿŽŒ,‰Œ,®­m12’Y´È AvUBBEppžŒŒøÏ?egבÉbúú2QQ¥55‚'½°Ù\צøì|KKÅ6íd2÷ºÇ3Òyy‰£Gíï>{F/,lÀf¿ð‰x‹ÓƒÃ!ò•Bõ÷W¯¡¡{QPPPPPÐ~ƒÊÊJ`2™Ø22g%ò¿îRoü(”ÖÙ“bb?NØÿyƒJKK ADWQÑìâò¨¨¨õƒzçNIJJµ§§%7¤¥Õ@Q£¨ˆm0b„JûFø0ÇÚÜ\þÏ?“ÊÊZ/IFDß¿ÿÞ××®Ó<,¬`Ó¦—\îÇ–3g²²qv<ÅÞj©¥EnßÈsþ|¶žžÌºu¦Šdjjõ©Sï""ŠCBòÝÜ:™¡‹]S_¸Ð`øpŠ˜./qýzamm ÿ6%% ¿ýö’Ë…²2f~>ÃÈHöèQ;þšXIIUË—?— 26–€ÄÄJOÏ$2™0w®¾¥¥‚„>%¥úìÙ¬;^¦¬¥%5ožÞÁƒo?¦«†uRQÑQì訪­-Õ~ˆÛ·‹CCóI$1KK…ÊÊæ€€ìÓ§ÛþrhïÅ‹ráõ·²²¤wõõ¥ ¶¶mµ-// †¦Ó32jUUÌY_²ÄðÞ½’›7‹"#‹ R03“·°wtTSRj;zdD††2÷јmÚ)É´´š‚†ÀD òý@õ÷WoÖ¬Y/^¼€¨¨¨íÛ·Ü:o²¾¾þæÍ›EEEØ4’©S§FGGÀÝ»wãããmmm÷îÝÛ½ÞD4eÊ”˜˜¸wïÞ³gφÞÔÔäííýyGŒ|×tu¥CB$% àà ÚÒÂ9z4ýõë* ²¦&ÙÔT´´Èü³r6b(bX˜#‰D€Ñ£Õll”æÏ”Ûiý-&†0@ö?,x-‹ÔÕ}R3™—È”$ŒI^¶wëVÑÆ‰ÆÆr~~C)”Ö•òüýßq8\ÿÖÖ­3.FV³²R\²äéÅ+W˜3GïØ±ŒÀÀl^ý}åJ~K gñbC£`3°}|lyÛO›F2åAnn½ððGr…•ß |j‡’‹ õС·oÞT×Ô4›˜ÈUW7·/¾ýü2"#K²²êššØë×›¶ïGBäpëVQDDñ«W•II•/‚˜nÑ"ƒÍøËëÏψˆ°ÏgssÛK݆¿þšàätßÈHfÄ•M›ÌzctA¾|¨þþj„„„¼~ýš¿E[[; `õêÕ7nÜˆŠŠª¨¨°¶¶666–““+..~ÿþ=›ÍvrrÂ9ùå—_NŸ>™™Éb±FŒ1hРââb##£6£ˆØ›ˆ~ùå—S§Negg³Ùl33³’’’6ÓǤK&NÔÄŠŒ™™TU5u¯·É“5±â3lEK‹œ‘Q×éŽË–mذ~}ü˜1ê&&rúúÒx>o€Ë¬Æfgg×€¼¼„³3õÊ•¼ü|†ŽŽ‡Ãýï¿\##ÙŽÚËȨ•——àß !Ÿ6zäHšð?iðƒm¦LѺ}»81±îùsú¹sÙvvÊ[¶˜ñß™“SŸ’R ãÇ«»ºj ì‡@ÀM›F6 eeOž”;–~æL–²2ñçŸ?þ–ûÌŒˆ»É²ýd˜ 4¦O× Éû¶¦ýåyA¾¨þþjó·`‹HJJÞ½{wÿþý~~~%%%éé騻òòòS§N]¼x1ö£””Ôƒ-ZôðáÖ––¤¤$77·-[¶ð®p“ÉdÑ{‘ŒŒÌÇ-Zôøñc‹… êíí­¯¯ßíó€|çää>©qÅÅqÀéî”ZYÙ¶’¼¼DIIÛiíM™¢ej*ófQXX~FFmSgêT­ Lee?†G"}\fdÚ4ªŠ ñÔ©wááùóæ‰ôùÇþÌ(/oliáð×ß l6›ûì½ý.­'bÑ"ƒ  ¼‹s¶n5ôˆV\ܰ{·€E>ìÅnÕYà$6>sþ7fôhµÑ£Õ|}ÓI$‚‰‰Üþý) >½qc´†FëÌéåËŒ«~ófQDDñž=oöîµÞ¡Š ÑÕUÛÖVyôè;W®äñ×ߟ™ÑÅÅ•€‘QÛ™åG¦‡„ä;8¨º¹éêê¢)(òýBõ÷—îÑ£G½…UÌ !!±cÇŽ;väçç—””HJJjjjª¨¨´Y(PKKëÁƒÅÅÅ:::!!!Ø[8ŽW‹Ò›¶¶6/0=½Ö5¿H$¯ÑÜÜœKþA[ZZx›ñž¸‰ =ûr?!°“šZÍÿ#ƒÁÊÉ©ñ™ˆzzÒÿû_ëí))Õ <¡Ó…”›Øtç÷ïE]~nêTÍE‹ô7n|9wnÌÙ³#x3%ÔÕIÍÍœ'†µŸ¸¬¨ØZ4cb -øõWÓÀÀlyy gg­ŽRQ!ææÖ·™û‘œ\ÕÑö<Ÿ9ÿ» "‘0r¤ g¶hÑÓJ,hý„-Þ7nœzBBEtt™ˆ½)*Jàñ8áJu5#"ºv­0+«NNNÂʪí’,11e$áØ±¡üߺ òBõ÷—®Kó­utttt:œ·zöìY===GGGmmmÈÌÌܶmöÖ¸q㔕Û~•,¤72™Ü>0ÐQ´ÚÚÚØ  ..Þ¥ƒBÑ‘ÉbPPÀè´sï^Ihh>¶ “ÉÞ¶íUC{ÊÕNúë¯Ô3´yKg¨ªÅÅñ¼¹Å7oÉȈ¥Êû£5-­æÄ‰w`` -¨?Á¦M£ÊÊŠ¯^ýböì¨óçGhiIÀ„ 꾾鑑Å6˜òf8ÔÕµ„‡ØØ|ü¯xÑ"ƒ+bKú´lÙ²üK_·ao¯š•U·ysâÁƒ6ÒÒbQ|íZa§á}æü²²2æ”)Z¼«ûL&+<¼Ú/B àtt¤’“«Ûöpî\¶’’䨱ê¼i$uu-{÷¦p8\ÞmŽ=•á*+›.^ÌýçŸ X¾Üˆÿ[ LUU³†ß‚ úû;åáá!//o``PWW—““Ãb±@EEåøñãý‚ô==iI,,¬ %¥»š{é’½ÀFl{¹M›ÿþû­Š )7·®¾žE&V®Ðé@çÎe<™©¨(I¥J57³ß½«e±¸­…{rrÕ™3Y$J•"‘tzSII (;y²f—ŽÈÑQíܹ?ÿü|Ö¬èóçGÉ.]:àÞ½÷—.å^¹’§«+-##N§7½ßÀfsýý‡Èa;Ž£F¥’ýü2 ÜüùÂæW,]jVpÿþûáÃoëëËTV6—”4˜šÊ½}[#<¶Ïœÿ—Wïå•´sg’¶¶Tc#»¹™sà@JC›D›0A½ýö‚ÏÆž I à(¢ª*‘Édçç3ššØ°bEk*{0#üRRªç΀æfvEESQQö‰››îÏ? øµ´°edÐÿvž|îò…[ºté¤I“jkk_¾|‰Ýˆ)##ãááñúõëö7b"È׈H$lÝj&)IÈ̬}ñ¢» -°3}ºöêÕÆUUÍÉÉUõõ,]]éóçGв6ÜæÍfÈVV6%%U¦¥Õàñ8ggêC°w§M£Nš¤Ébq33k“’ªJJ¤¤ÄÜÝõ.^´ç¿yTD66J—.Ùs8\w÷˜¤¤*2™pùò¨yóôÅÅ YYu¯^U1ddÄ/6à¿mÇ-\hãÇ«ó?­½=UUb@À##Ù†vJJuYsÉÞôÞãà :gŽ®¸8>3³¶ €QZÊd2Ù¶¶J/ŽÄ®ô‹ÈÃÃÐÙ™J&‹•–2“’ª23k›šØFF²ÇŽÙñ–cïÙŒðÔÖ¶`Ÿ¨×¯« ˆD‚££Ú™3Ã÷í,âSœù>áΉ숛›÷ZcË–ÄŽÞµ±QúõW‚ù:€ÐÐüààüÌÌÚÚÚ–5kL>§«>#ü²1ÆÊJñÚµÂÅ‹Ÿ Û³¯éíŒøùeܹóþÝ»Zh¿( ‚ ß!T#‚´ÕÐÀâŸ&Þÿ"ß_ZçP\ÌLH¨€qãÔçÌÑýÌÞúÆŒÚââÌÞ9SûáÃ÷11e=þðšÞÎHNN=¶žã!J ¢§ ‚æ#ÈwãkŸÿ ‚ˆýî{]šÿî½CAA¾ƒêoAAé;¨þFAA¾Óµû/+**ŠŠŠÖ¯_ßKÑ _ˆÌÌLuuu™î,Ô…|±’’’´´´ú; AùÞu­þ~÷î]QQ‘O/Eƒ H¯b2™ý‚ ‚|ïºV6 Ðú'ß·nݺÇ÷w HOÂÖ?AA¤¡ùß‚ ‚ ÒwPý ‚ ‚ }Õß‚|¢£i††ágÏfõw "‰/ß²%ÑÉéþ Aׇ ¹µhÑÓ‡ß÷wPœ\ehîë›Þß ¢1eÅÅ 9‹?51¹fhMë›ðéT#òíHH¨04 ?~<£ÓÆ^•ŸÏpw ÎÏήkjb×Ô4?}Z¶lY¬¿ÿ×ñÇò9úþó3f<öòJzò¤¬¥…Ó—ã"Ò=]»ÿAé³·W™>]ÛÂBA]D§7^º”wòdæÁƒ©³féJK÷Û/^ss…¬¬éý5:Ò{45É'jŽ«Y”×ßá Ò T#‚ô0*•|öìÞZZR7zýºòÅ‹òìì:KK…~Œ ù&…†:b/<èÿiN‚t Í?邃âp¸Ç‹¸ýæÍ›q8Üëׯ{3(¤O<8ˆœzؼp8@©ï¯_WÍcn~ÃÆæÖï¿¿¬®nÆÚϘ3'~khŽý#°øf“?{Fws‹23»ngw{ëÖÄÊÊ&Qb`³¹ÙÎά­o|ÓÅå‘¿“ɲ‹¸8””$;íœÛ‹åîîÑ×]\— ÁÁynnQ× º>uêà r¸Ü;ÖÔ4ïÜ™4lØíAƒ®»¸¾â×_ÆŒ¹kbrÍÖöÖ²e±/_VôÄ)DäË…®#ò5IN®>p µ¹™L&„‡1._Õ½Þ+½½S°Ú«±‘}åJþË—•áá£Éd‚ðL=uêïÇ””ê””jqqü‚úm¶äp¸tzSHHþÓ§e£F©ji‘»‡Ãårá·ß®]+ämž^ãé™”–V³gÏ`hjbÏŸÿ$-­†Òò屓' {âiK gÑ¢§¼j¯¹™óü9=6–îåe5w®o³nœó¯ò*Z”•%cc'wôn§Ûm\.¬[ëV¯%9¹*9¹JK‹!>¾"-­ÆÄDnÕªC‡*Ï™½~½éªUy»lÄDDϘ¡óË/UTˆ))UžžIµ'Nd¬_o*<Œ{÷Þ“H„ƒm†§ˆ‰áòò×®¶©Ú³³ëœœîc¯%% óæémÚd.ú‘FD»¹é.[f¤­-E à®^-¼v­pà@ÙÍ,-$% ))Õþ™”7s¦ÎàÁŠ9ii5úú2^^–––Š••þþÙÙB† Ìyù²BCƒìéiagG©«k Î;v,cÏžäñãÕ)"¶™s.úátÉwÆ:C IDATµkl·{ É¿u«H^^bÃSGG5yy‰¬¬ÚË—s±o'D·BL›œ‡9ReáB}SSyeebMMó‹å7¾ôó˰µÞíÃDä ‡êoA¾&#Gªüù§özÈ¥eËŒ<=“ÒÓ»Y ZZ*z{[ãp¶¶Ê~~?Œ72²¤Óú[MãÆ©cU”‰‰œðššØ¯^U¦§×X[‹Z;ZY)ìÝ;‹ BBò ÜÙ³#TTZËb[[¥Ã‡m'N¼ÿþûÁƒ##Kp88~ÜÎÈHÈd©?þ°ÈÉ©{ò¤¬£!nß.__;++–[³Æ¤¬¬ñ¿ÿò<(3GÛ¬ç<#ÃEÄèӃívÏaapäˆíˆ*X‹¹¹‚¹¹B—Æíö‡°MN@YYò·ß8‘¹}û늊&Þ—µÝ>FA¾|_ÙüoÞŒêóçÏ›™™‰D///çãŠKóçÏÇápåååü;bÕÕÕmúù÷ßI$’……Å7€Á`¬]»VCCƒH$ÚÛÛ'%%ñ:i?ÿ»°°ð矦R©jjjsçÎMO°JëñãÇH$õõõwïÞÍb}œ$Z^^¾qãÆHII©©©3&44”Ëö½íWN*”•¡ àcct4ˆ‰ÁÈ‘Àê`-oFõùó`fD"è耗ð¥æÏ>M}kã‡ÔìçßÁØH$°°€7 X»44€H{{àK½€ùß……ðóÏ@¥‚„¨©Áܹ (õpü8 D"èëÃîÝŸ]y9lÜ€”¨©Á˜1 ßvê{°aþ©T)`0„M¼bäH 1D¥’õôdòóë;ÝqÛ6s‡;fÌÝíÛ_]¼˜ûömMûm d²²¦gd¸<{6iï^ë‚ÆÂ…OŠŠDŒmÄþØÞ½«e³¹öö‘^0ઑQ¸‘QøÄ‰÷ ¤¤òóëUUIXñÍco¯*dˆü|†¼¼V|󌣎õÆkéÙs.ŠN¶SUUͼé׆†á66·°öìì:99 ^ñݽq»}BÚä+ÝÜ¢""ŠËÊùgì46²E?(A¾:_åõï£Gúûûc¯ <==9Ž——WWû9xðàÅ‹±×ÉÉÉ®®®ÑÑÑ¿ÿþûÓ§O±Æ'OžLž<9;;›H$¶ß=77wذaee­×–h4ÚåË—oÞ¼ùðáCÞfû÷ïÿï¿ÿx»ìر####00k™¤’“ÁÕ¢£á÷ßáCêáɘ<²³APê!7† ƒ© ._†›7ááCàK=ìßR¹¹°cddÀ‡ÔÃäÉð!õÐÐ4N¡æilüÜ? D9ÉðÂ69?¿Œ–Κ5&..TUU¢„‡ƒ î‹x0‚ _©¯ìú7æÒ¥K¾¾¾%%%µµµ.\;vìX7®‡‡‡Ÿ8q¢¬¬¬¢¢bË–-,kÊ”)4íîÝ»µµµ999cÇŽ-))¹|ù²ÀÝ×®][VV6jÔ¨„„ƒ‘ššêêêZWW÷óÏ?óozèС’’’ÊÊÊK—.)**^¸páÁƒPRRobbÇ`0***¢¢¢fΜ‰Ç•yé‚aÃàÐ!xñÖ¯ æÌ:._ Nv¼t |}¡¤jkáƒcǺS|…‡Ã‰PV°e °X0e Ðhp÷.ÔÖBNŒ %%ÐAêaíZ(+ƒQ£ ! HMWW¨«ƒOS¡¡pè””@e%\ºŠŠpáƒÉd'$T¬\Ëbq'Nììï@7·¨K—r³²êÙuu-ÑÑeÕÕÍ­åà¿ÿfþõWê›7UÕÕÍMM좢†óç³}|ÒÀÖV¹{‡ææ¦Ãd².|úðáûÊʦ–NqqãG¥«VÅaÕ¤““:— «VÅÅÅ•3™ìââ†={’…×ߨê(k×&<~\Z_Ï*-e;–þßyø±cÕº'&#Ã¥} Ëÿ‹ß¢¬‘‘œ;—WÞØÈ.*bìÝ›Üéʃàêª ëÖÅå•–2™LvJJõ¶m¯^¼(e\Qù¼µ§¡Aª¨h Ì©«k©«kyü¸ô§Ÿžµ¹® ȷ竜âèèÈÿ£¾¾>ÔÕÕ Þºc£F}\. ÇS©Ô††kkk^£ŽŽÐh´öûæåå±X,{{{YÙ_7‹‰‰999¥¦¦fee Ðú³““ÿŽ'N€¬¬,””<}úôÊ•+“““-,,°A¿ §NÁ³g “'æM"íòiêA_ ë©¾ÔT*44_êË‚ ÔC^°X`o|©11pr‚ÔTÈÊ‚©‡OS'deHJÂéÓ°r%$'ƒ£#XX€ƒ|?©ï5ººÒªªÄçÏ鼩±YYÓ6b/&NÔ/ Éçõ`` ³|yÛe+ÚKM­~õª²Mãìٺ؋êê¦3g²NžÌl³³3ÕÞ^ðÌãN¹ºê¼xQš¿lY¬Àq.4¸~½(=½fÞ¼¬‡ƒI“4#"ŠÅÄÏ2Y°@?2²81±réÒçüíÛ·[ò?é,•JvrÒ¸s§„w°ÎÅ…zõj'Ϙ¡UY²mÛ+þöÉ“5EWB>oí¹»ëEEѼ¼’¼¼Zo815•0@¶¬¬QÄá06|²l¢‡Ç3ìűcCEù{A>öU^ÿ&‘Hü?âp8à›æˆMÞà¿#˜Lfû~ÚÌêÆápí[ÚwÕ~ƒ.Áváí8wîÜ¢¢¢;vH¤+W®˜ššN:µ¶öû¸ó=>ŠŠÞ½µ†þ4õmç]b“7ÚäKPêÛÎêÆá´´ïªý]‚íÂÛqî\(*‚;€D‚+WÀÔ¦N…ï$õ½†@À?>ÌÆF‰D"oÄ ¢tæÌpKKE"‘   áæ¦sù²}§‹@h¨ãüùú††2ØŽC†(íÛg½m[ëò‚«W{yYÙÙ)+)IŠ‰á”•%T}|l´Þ­8ìßoíëk7b„Šœœ„¸8žJ%¯þï¿Ã°» ‰DÂ… #ÝÝõ””$%% ffò'N ÃnÇ”“k;í#.޹f‰¾¾Œ¸8^JJlØ0Š¿ÿpþÅ¿ûE§ ûöY»¹éÊËKHJV igGÞ-àñ¸£G‡îÙ3ØÊJD"HK‹YZ*îÛgÝR)ʸòykoÜ8õ¿ÿ¶16–# **Dww½ÀÀ‘_åÿšÝWyý[8ÈÍÍÅ^@CCC\\\ÏŽ¢««+&&S[[Ë»Îf³ïÞ½ †††¼-ïܹ3vìXÞ```Àk‘‘‘qvvvvv€ääd ‹Ý»wÿõ×_=ðçý{˜3(Ø´ Ö¯‡%K 4ôsûÄ2ž› R ÐÓ©]]ƒ˜¨­ýx œÍ†»wøRwî_ê!"€/õ #ÎÎàì œ °{7|ó©ï®Q£TÛ_Glßhe¥ðßmŸ„"°3r¤ÊÈ‘]¾&mb"çéiÙÑ»22âóæéÍ›×Í*Và‘b&OÖÄ®Ô $//±k—Õ®]­Kãq8\Ÿ4ŒŒd°ss…6=‰„5kŒ×¬1=!áõ,á+++¾oßà}û>>ÇÎNy֬οDÂá`öl]!׳…ŒÛí¡“6muÚ4*ËÕ«'ãµO™@‡Ù:Ôý¿îécßàÙƒ € 6¤§§3™ÌW¯^¹ºº÷ì(RRR“&M¢Ñh...‰‰‰ iiiîîî)))VVV¼É'àããó÷ß—––VUU]¾|yíÚµ0sæLˆŸ2eJXXXnnnsssiiixx8äääôl´_ fφòrøï?X·V¯†°08tès»4`ÃHO&^½WWèéÔƒ”Lš4¸¸@b"44@Z¸»CJ XY_êÁÇþþJK¡ª ._†µkfΈ‡)S , rs¡¹JK!<à›O=Ò›öîM¾v­°¸¸Éd¥¥Õ¬YÿömÍС”öËn ‚ ýè¼þíîî¾cÇŽ§OŸš˜˜`-ššš&LÀ®L÷ Ÿ¸¸¸G 2„×(--}êÔ)þÍ\]]7lذaÃ^˼yó°+âl6ûöíÛ·o߿߇ÃÍ;·gCýâlÞ 11°?88üý7$$ÀæÍ0t(ŒÙýnÝÝaÇxú>¤45aÂèéÔƒÄÅÁ£GÀ—z–†OS®®°að¥æÍk½"ÎfÃíÛðiꇃo>õ_‰´´š|ØÑ»ãÆ©ûù û;ÏÍ­÷÷Ïâo!“ ¼Y1‚ Èâ¼þM$ïܹãääD&“eee§OŸþìÙ3 ¥óy"âMÝÖ××OHHøé§Ÿ455ÅÄÄTTTæÌ™Ï¿ø7lÞ¼ùÈ‘#FFFzzz»ví:wîö–ÝíÛ·ÝÜÜôôô$%%555§M›vÿþ}WWמŠöK‡Á´iðûï­-ââ 0{¶à[ED$Â;àäd2ÈÊÂôéðìô\ê?NÝÖׇ„øé'ÐÔ11PQ9s >>M=lÞ GŽ€‘HH€žìÚRvvpû6¸¹žHJ‚¦&L›÷ï÷z¤—mÛf>c†ŽŽŽ”„^QQrâDÇÞ{J<‚ Ò=¸.-›íææÁÁÁ½Ïí?þصkWllìСCû;–Þ…ÃáÖ­[wøðáþä‹ñǰkÄÆÂלúžúï—F£Õ× {B¤¡¡¯/mòäΟ"‰ ‚ôô{¸ïñßÚשoðúw/)..ÆP¯««Ûß± }«¸¸õõ(õ‚ ‚|6T‹dÅŠZZZ¯_¿¶··WUUíïp>´bhiÁë×`o(õ‚ ‚|6T‹JQQÑÅÅåÊ•+ýÒçÁÅPêAé ßàú'½ÁÏÏÏÏϯ¿£@úƒŸ Ô#‚ ÒsÐõoAAé;¨þFAA¾ƒêoAAé;¨þFAA¾ƒêoA¾ÑÑ4CÃð³g³„lSRÒàë›_ÑiãK”ÃüJ1™,g††á¼ÜÝcjk[ú;.A¾†êoA¾%%L_ß´/Ê;mDúÞÎIÑÑ4yy‰ùóõ/6PQ!ÆÇ—oÜø²¿ãBo“YÛß! êÚúƒ±±±EEE8®—¢A¾>>>>>>ýÒô´´ú;ä;UTÔpõj¡ŒŒøÕ«£µ´È°råÀ|xÿþû´´¹þA¾1Ežž6¹¹sW­ZE"‘ú;¤­®ÕßFFF$iÊ”)½ ò…ðññ4hÐøñãû;¤'ݺu뛩¿ãâÊß¼©’”Ä¥ª«+5ÆÇW„†æÀóçt6›‹5þð¥}ãš5ÆùùŒk× GRµ°öŒþömµ””¸ƒƒ*V ÷î]mDDÉðá%þöÒRæ•+ù–– ­Je³¹ÏŸÓ32jY,Žžž´ƒƒª¤${‹€¥¥B\=5µFJJlÎ]^oWx`uu-ÑÑ´ÂB†¤¤˜™™œ­­2ÿ»--œ˜˜²‚—ËÕÑ‘>\…H$ðo $¶Þððá{‡;k–ï@””$-28p õÞ½÷¨þFž¦1cÆî  aaa¿ÿþ»‹‹ ºxúEéZý­¤¤¤¤¤tøðá^ŠùBøøøŒ?%úSTTÔß!ô‹»bEìýûï± ܾ}Ö®®ÚðâEyHH>ÄÆÒccé¼ Ú7®YcœŸ_ïë›&!?t(õùóÖv11ÜÖ­æ B!úùe<N¿|Ùž¿ýòåÜãÇ3üý‡c?&%U®]_TÔÀÛ@]ôï¿ÃÌÌäàC8Ÿ·Ož”À Aò¼ú»©‰³hÑS!EFoÙòª®îãäéÁƒª¢BĆ^±"ŽNo佫¬,yäˆÝСʢÄ&ÐÑ£é\®°ÓB&–.5êèÝ´´à€6LÒÓk„õ‹ HwàíìfýïC<¸iÓ¦°°°;wöwTH+ôüKA¾&þþYõõ,ggªª*)5µúéÓ²;_¯.##ng§s&Kxý ³féÞ¾]œ¿qã ¬%:šVZÊ\³ÆÇÀÉ“™µµ-^^–óæéóö:w.{÷î7ׯΫ÷!Öõë£õõeºØéÓïX,î’%†[·šc_)oÜ8ÈÕõÑ«W•±±ô~ TV6ééI_»6 *+›*+›±×"ÆÖÆêÕÆ^ÿònSÚLq‘”Ä@SGX¿‚|33³+W®œ>}úðáÃÏŸ?ÿûï¿ÕÕÕû;¨ïª¿ùš¸ºjóÏ„vtT ɧѺyuÚ4-^ ‹œ8‘ùòeç+Ž¡¢¥E/ذÁ”@À@pp>›1CÛàÙ3:€«¬l>~<ƒËåb•+ƒÁ€ää*€Ö×Ù™Ú¾øî4°—/+܆ ¦¼ùœ +V ܶíÕË—?ü@qrÒð÷Ϻr%Ì5lFŠ¢¢¤¢¢d—bkãÿ3îô´UÞX΃UÞXŽ HïÁãñË–-³··_¿~ý´iÓ>HôØÚøÌùߨ 'qqåcÆ|üâ;6¶LL:¼éAžE"‘>laaáíí]PPàåå…¦ƒ÷ TCPPпÿþëããceeÕß±|â‹ ìëôïã}æøXQ¿¬ÓøÅöUÃf2TW7uÚˆ¹~½ÈÃÃ7ÓãìÙ¬ŠŠ&þQUU¢½½jT­¬¬188OAAbüø;®”§£#åìLåß+=½FFF¼ÓÎ…6dˆÒµk…‡¿Ý²Åk©®n>y2{ =*5J•@Àáñ8}}]]éÀÀœÐÐ|¬þî^lŸ9ÿ{Ìõ]»Þç/X`€Í ª¨h:>øÏ‚ }`É’%ÚÚÚëÖ­+++;v옄„H„êo(,,ŒŠŠª®®îÇÏœ9sôèQssó/*°o@aeaTfTuC¿æ÷yà™'gŽÎ=j®É—ß/ °o•*…ÇゃóY,®‚‚$¬Yc,°ÛžD"8;?rrÒ PˆoßV?{FÇáà§ŸD]¢kÖ,ÇKwìx••U·d‰¸øÇyÌ+WˆŒ,Ù°!áìÙ,KKq:½)3³69¹Êß8ošJG„öÓOF·n9“•Pim­P_Ïzð ´²²ÉÊJaØ0 ¬Z§  am­D¥Jµ´pbcéEE ÞÄîÅö™ó¿µ´ÈÓ§k‡…¸¸<š:UK\ëVQYYã¸qêhñoé{cÇŽ ôððX¹rå?ÿü#))Ùß}_Pý ³g϶±±éßkÌùùùQQQ55Ÿ,‚û%ö ˜m;ÛFצ¯1çWæGeFÕ0?ÍïØ·G^^ÂÕU;$$?00kY³ÆX`#öÂÃÃ0&†víZ!ö#¶Ìv§‹ŸðŒ«N¡<(þÉ' ¥%8rÆ„””ê””e™˜ÈuZ|w˜©©œÝ–-‰II•II•X#¶þ7vGæ˜1j÷(ægïÞÁ=[·yyYÑé11e.´&ÂÆF鯿†ôÞˆ‚aeeuþüùÅ‹¯^½ÚÏÏMDéK¨þ*•J¥R;ß®Ï}±}]¨ŠTªâ—x¿ØÀ¾X::ÒkÖ˜ ¬Ô¾ÑÂâãâ}û¬§M£¾}[ÝÐÀÀ iII|`àȘ˜²ŒŒ2YÌÑQM”ç_ò¸?ÿ´JK«‘‘32’mó®©©ÜíÛc+RRª™L¶šià@YÞµ^‡Ãk6Œ²l™‘À&NÔ>œM+*jÀ››+ØÚ~ìêØ±¡tzcBBEa!ƒLÓÓ“þá o-ÂNcë%$áìÙ oÞTq8ÜAƒä‡Uæ A>fnnîïï?þümÛ¶íÛ·=#³Ïà¸Â'ô}ÊÍÍ ‚ƒƒ»4“Éü÷ߣ¢¢¸\®½½ýªU«|}}###¯]»&'÷ñ×ýÇCBBrssÅÅÅmll–/_®ªÚú ç“'O^ºtéôéÓ---ÇÏÊÊRUU]¼xñèÑ£ÛŒ%J'L&óäÉ“™™™...+W®8Í:***444;;›L&[[[/_¾\QQ±£d³Ùÿý÷_dd$FSTT3fÌÂ… ‰Db›qëêêüüüòóó544<<>>íq NÏR§p8ܺuëD|þ%³…ùïã£2¢¸Àµ7²_5z•ïßÈ”Èk«¯É‘øò›þ0äeHny®8AÜFÇf¹ÃrUÙ©‰>y)îÒéE§[Ø-ÇÏ*ËR•U]<|ñhãvù¡f ódôÉLZ¦‹•ËJÇ•§YGeF…¾ ͦg“%ÈÖÚÖË–+Juœ_û¿øÿ"S"iµ4E)Å1Æcþ°(þá´·®±Î/Ê/¿"_C^Ãc¤ÇHÃù½²!,1,¯"ÏŠj…+ª•ÏŸö‰8P§g©#Ýûï·=V__/dCC__ÚäɶéwÑÑ4gÛ¶™/Y‚‡ È·¦K¿‡?~¼|ùò5kÖ¬Zµª·û†tòìd~½~ý»¦¦ÆÁÁ!)) ûñÆÁÁÁQQQ--­ ]q8œ%K–ðöºqㆯ¯ïÝ»w­­­ '''**êæÍ›Û¶mñW1À IDATkhh}`r```PPVRˆÞIHHˆ§§gSS 4ÚM³f³Ù‹/¾pᯟooïÊÊJ_Í0Œ‰'>yò„×tìØ±û÷﫨¨ðÆ öôôlnn}þÅÙ³g=ºzõjHJJÊËˀׯ_ó÷Ü&0~–z\ ³Æá€CRá‡ü&ÝN6 DeFµ°?ä—ËYrvIÀs¾Ô$Ýð}è{wý]kmkÈ¡çDeFÝ|ss[ø¶†æ‘Ç- r³qëR'!/C<¯{6±š`Æ h7ÍšÍa/>»øB,_~_†xGzWúTð‚òÛĘè3ñIßi:öðØý ÷UdTxã'{Þðlf}ÈïÓ³GÝ®³’Š’ò*òàuá§ùý40~–žB§7^¾œ×Ñ»úúÒS§jõ]4‚ ½ÉÑÑqûöí»ví²°°°··ïïp¾ ½^oÙ²%))‰J¥nܸQ__?##cÿþým Í¿þú+ @__åÊ•&&&MMMwïÞ=uêÔܹsß¾}‹Ç·ÞÒ´iÓ¦©S§Îœ9SZZúúõë§OŸÞ²e ¯²±“?þøcÒ¤I³fÍÒÔÔ8»c÷îÝ.\ “É¿üò‹@xùò¥ŸŸ_G_lݺõÉ“' eÓ¦M&&&yyyLNN^±bEXXo³;wNœ8ÑÝÝH$FFFž:ujýúõãÇ8pà¡C‡|}}ýýý}}}±û/å嬯%â@ÂÏRÛ¶%©0‰ªHÝè´QŸ¢ŸQš±?r›Bó¯È¿žèSôW:¬4Q7ib5Ý}{÷Tô©¹§æ¾ýó-÷!¿¡›¦ZL9d¦´¤ôõ¤ë§cNo Û«,EìäkL2›4Ëv–¦¼¦ÀÙ»oí¾{,Aþeô/vºv<áeþK¿(?.tßð­O²žPd(›&n2Q7É«È;xç`rqòŠÀa¿ðå÷úΉfÝí܉âÄÈ”ÈS1§Ö­o:~ ÚÀCn‡|úú?ñ÷u÷Åî¿”' ʯh ?KHO)/oòõ°<6fÜ8uT#ò-Y°`Áëׯׯ_ûömì¢Ò«z·þf±X222ÏŸ?×ÔԀɓ'O:••.—û÷ß«©©%$$(((`®®® ÞÞÞ±±±Ã‡Ç,Xpúôiìõ?þøîÝ»¨¨¨²²2Ñ;qvvòý;‡Ãñõõüø±­­-¯ŸM›6‰‰ 8W,ËßߟH$>yòdÀ€XãìÙ³¯^½J£Ñx³_¦NÊ«’§OŸ®®®îååuîܹ}ûöYZZêééÀàÁƒ;z•è 9Ku·±8¬€ç2D™ç[žkÊkÀdóÉS-§šïü4¿÷þV“SKØž @þkW²‚w„wlNìpƒù¶àô¢‘[þøŽö.*3ª¬®LEFEôNœ­œƒWtœ_.Ç÷¯8Aüñïmumyýlš¸I /(¿–ÿ¢8ñɦ'T?œv›ÙÆ;Œ¯¾¾J«¥ñf¿Lµ˜Ê«’§ž®.§îuÃëܳsû\÷YR-õ”õ`°ö`Þ¤”n$ä,utÔˆ@M¿Æ(+K®YcÒѾúú‚šƒ òõÚ½{÷Ô©S·oß~òäÉþŽåÛ×»õwNNƒÁ˜1cV|cŒŒŒFŒñðáCìÇÜÜ\:N¡P°k´ÜOC¦ÓéžžÎ+çÎËß¹µµuTTTEE…ŠŠŠè,\¸PxÀ•••ãÇçßYÙ¶wVñ¶¯¯¯Ÿ4i¯&%%¥™3gúùù½yófüøñX£‡‡ÿŽ^^^oÞ¼L÷r–DKt9ôFc†õ ¬øÆ©0ñ0ýC~ËséutŠ ÅÍïCj€ ô::¤¿Oç•Îs‡~¹ŽuTfTE}…ŠŒŠè,üAh~é9•ŒÊñ¦ãyÅ7F–ÔA~é9õMõ“Ì&ñjbP’Vš9d¦_”ß›¢7ãM?äwä§ùéáuÃëM‘Èùy !gIıŒŽŽo”ö(¢wA¾=$ÉÛÛ{Þ¼y×®]svvîïp¾q½[3™L4›‚w‰°¹ètúƒÚ÷À›Ç mî€Ä–‹g³Ù]êDKKØ·ÆXÀÊÊ¢®>ÖØØØ>0^ ö.¦ÍIÀ6À†ëÙ„œ¥Çlf‚ Ù¼KÔPßTô:úƒ4A©iæËï§w@J$€Íaw©-¡ùma€²´Èùmil¯{Óæ$``Ãõì@B΂ ‚|[[ÛÙ³gïß¿„ $©¿Ãù–õný­¡¡¯^½âoäp8¼Û1@SS‡ÃÙÚÚîß¿¿}FF>͘Ÿè_[ëçÅ‹---ââ?£N]]^¾|ÉápxSÌ >>>>&11‘nIBB6TBÖ¢} ¾¤!¯¯ >Í/—“TÄ—_yMg«k»† Ô¨Š–_‘;é$¿òš8îEî‹v‹8A„üÊ©ÀËü—.‡7ÅâóâáÃácóùç–$ä%`õFåWäA¤÷¬_¿þÖ­['NœX·n]Çò-Ãw¾Ég P(–––‰‰‰ûöíãp8Àb±¶mÛ–••ÅÛFIIÉÁÁ!11133søðáŽèèèܹsGÄY=Ò (**ÚÛÛggg/]º´²²õ©õõõ{öìÁâo€ÖÖÖééé›7oÆ–sár¹¾¾¾÷îÝSSS³´´äm¹{÷n¬æ€üüü5kÖÀ„ °iiiÈÎÎî(0ÑêKŠ%Õ2± qßí}.XÖ¶ðmYe|ù•Vrà˜Ÿ˜IËn0Üq #öŽ’ÎÔ;"Κè‘N@QJÑÞÈ>›ž½ôüÒJƇü6Õï¹µ‹¿ýZk[§—¦oÝŒ-çÂår}øÞ{{OMNÍ’Ê—ß[»±šò+ò×\^L?ä—( ÙôŽó+ò@‚ Ò{—-[vîܹÚÚÚþŽå[Ö»õ7ìÚµ ¶nݪ®®ngg§®®~àÀìþKÞr~G•’’Z¾|¹²²²••Õ°aÃÔÔÔôõõ½½½EŸ8Ñ#€™LÐÔÔ433³´´TRRÚ¾}»Àúþúë/<àÀ555ì×®]‹µóß²©¥¥5tèPcccKKË$''[YYÍž={wðàÁ°|ùr;;;GGGtŠ8PÛå¼ ¶†oUß n·ÇN}ƒú;°U>xËùu?*%)µ/>*3ªÍúŒ]AAz•´´ôܹszéæ1úæù—ÐÜÜœ’’¦¦¦G__ŸD"åææ¶Ù¬¦¦&++‹ÃáèêêR(^{NNNAA ¯dç5ÚÚÚJIIu»(,,ÌÎζ²²js‹$FËÍÍ•““344e.xVVöXJcccþYÈ›7oÞ¿ÿ«W¯¬¬¬Š‹‹ 455µµµÛ÷PVV–ÝÔÔ$//oeeÕQ` Ô¥³$\—ž ͬ攒0U7åp9ú[ôIâ¤\ïvùeÖd•eq¸]%]Š _jè9•6º6¼’×h«k+%)ÕíN °²0›žmEµjs‹$­––[ž+G’3T1e.xVYöXJcµOóºyäþW¼²¢ZWTh*hj+ Êo]YvYv«Iž,oEµê(°ŽêÒY=ÿAä;ñ™¿‡‹ŠŠF}úôi‡ž ìöe=ÿ>¼téRì!”µµµ«V­¢ÑhË—/o¿¥œœÜ!CÚ·ëëëëëë‹ÒØÕN€J¥ |ªª*oQmQvò kMMMþ¥ÛPQQ៪ÞQ` Ô¥³Ôƒß;¼Ô~)öÊZfíªK«hµ´å‚òK’¢#(5}}J»È5vµ *R>ˆGUV•·¨¶( U U:˯¼&ÿRŒm¨È¨ðOUï(°ŽêÒYBAnÓÒÒ²±± Gõw/é‹ú{ÇŽ›7oÆ®"¿{÷®¡¡AZZzÓ¦M}04Òv\Û±9l3vùí]Csƒ´¤ô¦‰(¿HKJªÜ¿?uáBƒ‰Ñ‚0‚ ½ËÉÉéÈ‘#,«ï1û†õúüoøí·ßH$ÒÛ·o“’’,,,îß¿=ñùü6á7’8émÉۤ¤†æ -‹ûîcO|DTSÓòâEùû÷ B¶ÉȨ;7æêÕÂNA!êêêÞÖÆéÓ§ ãââú ªŽ4449rdâĉfff[·n-,ü;¿¹¹yüøñ†††...üí044LKKë“xûäú·§§çöíÛóòòètº†††ŽŽN úåX¶lÙĉ;šòõòœæ¹}êö¼òˆG .—»nݺÜÜ\33³-[¶XZZ666>|ø°ÍÃ1YYY'OžÜ¸qãž={ú>T~hN‚ _™êêæ€€œ7oª$%ñ£G«Í˜¡ƒ­sõjá™3ï 88ÿéÓ2lãY³tÛ7^ºdÏ›Mnm­–VC&‹§>m•ÿ!ªéé5aa…… .tt¤¦M£$½ìÅ‹ò›7‹ xss…9sô”•%±·xa¦,ð$ ‚ô33³‹/öwˆ‰‰‰×ÔÔ¼xñ"¶Ô‘Htuuuuum³%—ËݶmÛСCg̘êoA.¨¨hvqyTTÔ: üÎ’””jOOK(.nHK«€¢"FQÛ`Ä•öða6¹¹¹üŸ&••5bÅ÷ï¿÷õµÃjÙ°°‚M›^ò¯ÑzæLÖ¡C6ÎήÁ,Xð„Ͷ¨«¼¼Ä?ÿ ²ÁÞ½ÉþþŸ ûàAéÙ³Ù§Ný`m­È ÛÚZÉÛ;YàI@é)ººº4­¥¥¥¾¾þäÉ“÷îÝ£ÑhRRR†††óçÏwrrÂÉ=}ú´··÷Å‹‡šœœ<}úôö])++ÇÆÆb¯ Æ©S§"""ŠŠŠÄÄÄÌÍÍW¬X1räÈ|ùòå·oßbÛ‹âÖ­[7n466>qℲ²r÷Â몿ùšœ>id$»w¯µª*15µúŸ2.^ÌY¶ÌHCƒìâB•‘ûóÏ7nnº..­%²–¹}#ÏùóÙzz2ëÖ™R(’©©Õ§N½‹ˆ( ÉwsÓìÂùÂ…ÇSÄÄpyyŒë× kk[„„÷âE¹ðú›w%[ »wKüý³ÄÄp‹ØÙQêêZBBòccé«WÇ=z4AR’ÐéIèìü!‚ˆJCCƒÃá”––®]»öÍ›7X#“É,//½}ûö€DìÊÔÔ{QSS3gΜwïÞa?655ÅÆÆÆÅÅ6ÒQ€ÁôáÑŽb ÄÅÿ“þòñBtz?{ãg)‘௪jÇ~ž3GÙÐPâîÝŠððÒÜÜæÎNúܹÊ;vЉõ™‚pýwg']LŒÌr·E\œûˆ©d0Oô Kš»»»<¸ÿþÜÜ\+++}}}KKK6/óÆ…„„DGG_ºtIDD+)//ïèè(((Ð××G1 ƒý€ªªªêG¢¢¢µµµË—/ÇJ/^\WW÷ûï¿?þÜÒÒ²­­ÍËËkýúõ{Û²eKkkkHHˆ½½}?‚áÜÿ½c°ÿ#:Ÿ%,seùööZˆÉÌld>üø‘ZTÔ"++ˆ—hhˆ|ÿ½>ösFF£›[\]]›z€ë¿ee škj:ääþ!=½!$'ÇóŸe` èt:BˆH$Ο?ßÁÁ!!!!===::zÿþýÖÖÖþþþxbÝÓ•+WnÞ¼yåÊqqq– FëÙ¤»»ñ¾þ[]]½°°%·Æ–›×××#„^¾|ùþýû      æ:ÚÚÚ“&Mº~ý:^èââríÚµÀÀÀ &0G>èxË¿uuuuuuoÞ¼9DÑ€Ï@ذaƒ¿¿ÿHÓÒ¥KG:„!G¡Bee9b=ªºu«tñb5„P{;ÍÓóm[mÎ9ìÓ#G2/VÕÒÅåäùøˆIIÿ° `€ë¿ííeóó›þùu@€…¤$?B(9ùéS¹ØGìú€ÁÖÒÒ‚Â’laaá3f̘1!”››;gΜ'Nìܹ³×†aaa/^¼r劤¤$s¹²²2??ÿøñã™SÞ²¶¶~òäIvv¶££#^˜••…Â6-áé~âŠ+¬¬¬vìØáêê"+;T¿xáþ7àË¡¡!"$D/ËÈh”àG]½jßk!VßÀ@|çÎ7ü‘%++T\ÜÒÚJ¥PH›6}z¢ÿüù‚Ó§ó¤¤TT„»ºhùùÍT*cêT96 pý÷úõ:wî”ÿýw­½}Œ¦¦Hk+Ûz|éRu]]±ô ¼jmmE½ÿÞÃÃcéÒ¥FFFrrr>Dõõ‚÷ÈÈÈ   +W®ôܳ[í¾}ûö5kÖhjj TTT¤¦¦^»víêÕ«üüü¼®ÿž7ož¿¿ÿÙ³ggÏžzòä ö¸§ƒƒBÈÑÑ‘¥Ãæææ‰'GDDôìÐÙÙYLLlÓ¦MË–-»xñ¢ªª*÷ÁpòoÀ—CP´g±¯oz^^3ûBÌÂ…ªÓ§wŸ>WSÓRWùí·IªªŸ6‘ݵË84´$/¯¹¾¾!ÄÏOtqQöô?tñËÈ^»6ÅÓómRÒ?YYM!!!òš5ZÛ·s^¶ƒ »ÿ- ðüùóçÏŸ3D æÍ›×³I||üÏ?ÿL£Ñ&OžÌ\Žïÿíéé™ÅÒ¶ _Ç·o߾ݻw{zzzzzâå_ýµ™™Y?:DÙÙÙ]ºté›o¾Y¾|ùùóçõôôú×F‡ $¯\±WSîY¨®þïÄ•+5\\T ›ÛÛiø/ó^ 1Û¶¬[§]\ÜB¡µµÅ˜Ÿ}\½Zkõj­úúÎòò YII˜BáðìüÀihˆ\½j_W×QQÑÆÏOÔÖeÞê„Ë“WRRB"‘¾úê«sçÎ………¥§§×ÖÖJJJ»»»ÛØØôl’››ÛëÚnœ¸¸8¶:åÞ½{EEE CIIiÒ¤IË–-ë÷6ÛK—.••• ÊÌ̤Ñh:::«V­à’KSSÓk×®¹»»»ººž9sfâĉé­'OÿÚÀ&ë¿¿xaÛ¶m°þû 3XÿýÖÔÔ`”ì‹¶¶V``³3»:#îÅ‹šuëâ==ǯ]«=Ò±À ”ßÃþþþ111<¬¨¾lZZZÜWf÷$› ¸Ã%àÉàçß<þü w;pŸm`\úLâ?x0ñüùŒ‘Ž¢Ÿm`\íñøÂ¤§§cuƒAù÷çèÀ/^d)üLâ?xðÕùó™#E/>ÛÀz:p áâEÖPGQü_lÍ´“çWHÀ”——WUU5Ô¯¡³ÿùË={ö(**z·÷ÙÖÓ¦M›¶zõjæÂÏ$þ={¬…9×vŸm`=8?mšÊêÕFÌ…£(þ/ƒ„¿•Õ€ö €/ØóçÏ¥¤¤ŒG:/Óä߃Þç ølãÒgÿž=}¾ùod}¶qi´ÇàKòìÙ³)S¦‰ð àüüûàÁƒŠŠŠîîîx •J}òäIFFFÓ×ן5k–   K«×¯_'$$477+))999á/¢R©¾¾¾úúú+V¬ÈÉÉyøðagg§K---QQQ¥¥¥ÊÊÊ , Ñh–––ÎÎÎ=ã¾[6±õ…Í|™ÇMMM}þü9F³³³³²ú”{•••Óéô¢¢"ooo¬ÐÝÝ]]]§ËÓyrð`¢¢¢°»û¿ÿ ¦RéOž”edüC£Ñõõ¥gÍRdý^½~]“PÕÜÜ¥¤$âä¤!+KÁÛúú¾Ò×—Z±B?'§þáÃ’ÎNš¢몀––®¨¨ÂÒÒfeeÑ ´i4F@ÀkKKyggÍžqß-›ØúÂf¾Ì㦦Ö>^N£1ì씬¬° eeÍÁÁt:£¨¨ÉÛ;+tw7RWçéÄò4A€'………)))›6mé@¾Xƒ¿ÿ ˆˆˆ¹¹9¾O{VVÖÂ… óòòð JJJ7nܰµµÅkjj\]]Ÿ>}ŠW P(Ç_»v-B¨££CHHÈÅÅÅÆÆf÷îÝx´gΜÁ›¤¤¤Ì›7¯ºº;TPP8uêÔüùó7oÞ|üøñžqÙ-ûØzÅ~¾ø¸†††‡Âë|ýõ×!!!d29..®çZ«gÏžM›6§ËåûÂfÿA‘?ÍÍåŸ?_þÿa|X¸0"/¯) ‘7æÛÚ~Z*SSÓæêz÷éÓ2¼…Âwü¸ÃÚµÆ¡ŽªP€‹‹¶âîÝ/ð/£‡Çø3gfãMRRªçÍ»]]ýéýá §NÍš?ÿöæÍfÇ;ô ŒËnÙÇÖ+öóÅÇ54”>t(¯óõ׆!!Žd21.®ÒÞþKŸÏž-Ÿ6M…§ËåYÀþƒ0F ð÷°OllìãÇáþ7÷xÚphß¿ÓÖÖæìì\ZZªªªêääÄÏÏÿøñãììì¹sçfff*((Ðh´¹s禤¤¨««Ïž=[RR²°°022ÒÃÃÃÀÀÀÚÚëçÕ«WQQQNNNFFF•••7oÞ<{öìŠ+°7‹¶´´¸¸¸TWWëêêΚ5‹J¥>xðÀÃÃcxì»å26žæ‹U‹ŒŒÄÆ-//¿|ù²ŽŽÎþýûUUU½¼¼8 ®®Ž¯ÿVWWï*  IDATß@ì'8pmmÝÎηJK›UUÅœœ4øùI—fg˜;7<3s­‚‚0Ƙ;7<%¥Z]]|öluIIÁÂÂÆÈÈÒÖÖxœUQQ…NNšFFÒ••­7oæž=›¾b…ƒƒ*B¨¥¥ËÅ%¢ºú£®®ä¬YêT*ýÁƒÎÛ‘²ï–ËØxš/V->¾*2²ÀÉIÃÈh\yyKxxÞåËY::’û÷Û¨ªŠzyÙ8¯®.ޝÿVWg}¯8—±Ÿ Ð?~ŒˆˆØ¼y3$ßCghóï«W¯–––ÚÚÚ>|øPXX!ÔÝݽråÊ[·n\*,̇ê\y÷Ö­¼“'S˜ž—’R½r¥þ¥KsH¤OïLI©¶±¹ð:4tîÿÇÙvûöíÿS}ÍšûÑÑEXyíZNUU«££Fdä~~B¨­­{æÌ›µµmìÃcß-—±ñ4_¬Z]]ÛùóNkÖ|J¯ßÛÙ]ó÷OÙ³ÇJUUÌÛÛÖ×7ASSÜÛÛ¶ß'–› ýpîÜ9„Ð’%KF:/ÙÐæßñññ!,GDñññ:tèÖ­[ÿý7BèñãÇ!‘C‡ak$ ƒÁHIIÁû133ÓH„¶¤»ªª ;LHH@íß¿K¾B ÅÓÓsΜ9ìÃcß-—±ñ4_ŒŽŽž|#„¬¬¬,X–••5aÂö1ó4û \||%BÈÇg2–#"„øøˆ‡Ùߺ•÷÷ß•¡ÇKB""ü‡%þÿ9D CBB %¥š)N9<‰DaKº«ª>ýÕ,!¡ !´¿ –|#„(>OOë9sÂهǾ[.cãi¾I<ùFYY),X –—•õaÂö1ó4û ¼ª­­=sæÌ–-[$$$F:–/ÙÐæß !MMMæBMMMP__ª««Cq\‘¬¢¢Â|(""‚êîîf…e‘FÏ5¼vËelÌ8Σ¡¡ÁÒ+Ášâ@ì'8p !MÍÿü'ª©)A  úú„P]];BèÌ™wìûQQýoœŸîø2¢®.Î\‡å°Ýr3ŽóÅhh°Æ†•`Íq öxåïï/))É|— …¡Í¿%%%BEEEÌ™bQQƒÁ’’Â+|÷Ýw22¬÷)ÛP°ŒRRR‚¯{Æz¿bã8_Lqq1KC¬kÎ}lj’’‚¡¢¢FMÍ3΢¢FII â¾ûÎTF†õŒQ(Ü~÷°NJJšðuÏØáÀbïOlç‹).f +ÁšsÇÆšE/ÖÝXçéà¹Ö¢Ï GÜÿîþïvÆm„лï(|Ÿ¾Z£"rHHH¸uëÖÑ£G{îS×Ðæß¶¶¶!!!>>>¶¶¶XÎJ¥R÷îÝ‹šÃ×÷UDÄ>>"B¨£ƒÊ¼»Hÿô#6ŽóÅäç7\¸É¼þ;"¢@BBÀÐP+$3߯î÷@às_‘!Ä'ÔÞÝ>Ò±oZZZvîÜ9cÆŒyóæt,_¾¡Í¿]]]}}}ãââ ñm:²²²$%%±M%—-[púôé888ÈÉÉ544äçç¿xñâÇ´°°àf”•+WzyyEGG?~Ö¬Y4-&&Û@ plÞ—~ÄÆq¾ww÷ëׯ—••…‡‡S©ÔíÛ·“ÉŸ.‡¶¶öÛ·oÝÜÜ444ˆD"¶ÿw?j®®ú¾¾ qq•††!ø6YY$%7m2E-[¦ðúôéw”88¨ÉÉQ:òó^¼¨øñGs ynFY¹RßËëïèè¢ñãÏÏš¥N£ÑcbŠ[[»B¸¼ý‰ã|122w÷ûׯç++k Ï£RéÛ·›“ÉŸþ§­-ñöm­›[´††8‘HÀöÿîÇ@à³ÒIíÜ÷`ßBã…ÙµÙÙ5Ù#ðÆËË‹J¥7·!$//|ôè47·hüñÄ~èGl狱µUÔ×—:|8éþýO V­2`~½åöíæk×Þ¿|9 ;œ6M…%ÿær ðY9ö÷±ÖÎÖ=Ó÷¸…ºt,À›sçÎݽ{÷ܹsðØåð’÷Ï+**⇆††™™™?Æ^Ó¨§§çèèȼ®hܸqwîÜÉÉÉyùòe]]ŒŒŒŽŽŽ½½=¶å™LöòòÒ××ÿOÐd²——¾Z!dee•ŸŸçÎòòreee—»wï¢ÿ>€È—ݲ­Wç‹ñóó[¶lYll,NŸ våí•[ïn•7•3 5IµùFóWš®âÒrërÏ&ž=:宅WÿëÊ­Ë]s}­ëÔ’S& &CàšššÎœ9óÓO?1>{öìÈ‘#»wïîù@0Dÿý—#"++KMM ¿ÛýÏ?ÿØÙÙåææ¦¥¥q¹£ßðÀ_K1Ò±°Ãæý—#"+냚š~·ûŸÚíì®åæÖ§¥­árG¿á¿–2"bÁHÇÒ‹ÑþþKì)F'}§‡yit^®%­uÛý6ö°ãág‡Ï$²îYä5ÓËmRŸ÷¤õŽè1÷ÖÓ8áq¯¾ŦA_vi™Eêô’Ó¡y!ó²k²Ù<ù¼ðù‘?(‰+YrFIô__¿‡7nÜøøñããÇ;::b%©©©nnn‹-òññö0¿(ŸÑû/‡Mtt´ŸŸŸƒƒƒººzUUÕ½{÷¦OŸþY%ߠߢ£‹üü’TÕÕÅ«ªZïÝ+jhè˜>]õ³J¾Áð¸ŸsñøÅßÙ~'+"›QáýÐ;·.÷T©íS¶#„å=âú}îï¶ê¶d"¹¤¾$2+’ÂÏífJýsåÍ•üò¬çüNV„Ð…” Ÿ´S· \(Ì«‰ÃçÊ•+OžMkZ¿‡n¼ÿ~×®]B/ûÝQ©Ôôôôàààõë×Hlcä߀ÑÄQÏñvÆí°wax‰–´Ö› ØÏ™Õ™o+ß²4Ynº|øâãDY\ùú×××^_»ñÖÆ#sŽÌ7š?Ò¾XT*õ»ï¾ëèèèk³i:~ôèÑ©S§êêêslc¬?Œ&“”'[zÎDÑD,()$¹tÂÒk«®áwšo­¾õõįµÇicŸNRžtÈù§ƒçÈÆÌbœð¸««®š)™í¸»ãòئ 0Tüýý³²²z®TTTlß¾}ˆ¢ŸÇÃ…þ¤¥¥)++t†Amp°ƒÁ ‰!:®¬¬#dííí#€¡Å`0Zóñc½¨¨è”)Sììììííåå9¼# 'Þòokkk„ÐÍ›7‡&ð¹ ]GhÙH×Rkë‘À{ýú5BSÿ÷¿ׯWÇîƒÏ ¬ÿør˜››#´\E¥†HléX@ïà_E È¿>0| ÿ`ø@þ ÀðÓù÷ï¿ÿN ž?Îeý]»v„ÔÔÔ¡ |ÉÆtþ À0Óù÷O?ýÄ`0¦M›6Òú)»6;0.°àŸì°¶µ60.0±,qd£DtýmåÛ „ À¸ÀÒ†Ò‘À €÷ïF±¬š¬À¸@]]íqÚ¡š–šÀ¸À­v[­T­†hĪ檰wa6j6*C4Îç‘Ͻì{õmõØ¡©¢©š¤ÚP `¨éûß=×———¯_¿^EE…ŸŸ_^^ÞÕÕ5''§gÃ'Nèéé jjjúúúR©Ôá Ð79Q¹!M¾BUÍUqIåIC7î~ÎýÆöFSES9ƒaÀð€ûßÿ*..¶¶¶®­­Åkjj®]»v÷îݧOŸš››ãÕ>Š7Ù·o_nnî¥K—F bÀÉŠÈnµÛ:ÒQ ïYÞ*Òiï‡ÞÙ5Ù#€Áù÷¿~øá‡ÚÚÚ)S¦üñÇ%%%ûöí _¿~ýÛ·oñj·nÝ:zôèÊ•+cbb¶lÙrùòewww‡ €1¢º¥úYÁ³æÎfq:S5§²|ZÛZšj¥j…Ý/m(ÌŒœ¢9ÅDÁ$±,1³&S˜_x…é „AK(IÈ­Ë¥Ò©RS5§ ˜»¢ÑiIåI9µ9t]SJÓ^ÓžL$'—'ßJ¿…J(M ÑiXÍ¡Ëøõ‡¨g#òïO>~üxÿþ}YYÙ¨¨(111„¡¡áõë×MMMSSSóòòtuu±šÛ¶mûñDZŸW®\I£ÑÜÜÜ ÿ`¨Ý|wÓëW­ ;4U4g8¹ËúïÒ†ÒÀ¸@~ÀË€¸â8„‘œÑ ÓiUi?DþPÑT7TS8¹è¤±¼1v˜Z•úãËËð ÊâÊ!ËC’Ê“ÂÞ…!„^•¾zUú û¨¯üûXÜ1b°™…âaåÁã90êAþýIII •Jµ··Ç’o ™Lž={vfffAAžÏž=›¹¡££#B¨  `8£` z÷þÝÞ˜½4:ÍBÅb‚„ú¶ú¹NÄŸàØ089¸­«mžádžíÝíwÖÞÑ”ÖĽx5w4ûÌòY5qsç¾}ïdÝq5s Jjílu1rñsöã#ña*š*H’‚˜@Àö?Ùl»™ý¸[l·p¼ÿÍ1x_È¿?QWW'“É/_¾lnnÆoÓh´‡"„´µµñš<`^jrÿþ}„––ÖðÆ À˜ó¦âŸÐæÉÿf½**ËM—ŸM<˾¡‹‘ ž|#„âKãIR}[ý‰ø ƒÁ` „>vD¥¿OGfèUé+"x`ö<ùF)‹+óð÷vßóÚÀXù÷'ÂÂÂNNNQQQ ,øý÷ßõõõKKK½¼¼222LMMñÅ'¡€€lkB˜˜˜~ø!´dÉ’‘‹€1¡©£I^TžD 1ªH¨pl¨.©Î|XßVOcÐþŒû³g͖΄PcG£¬ˆ¬0¿ð€Â…õßúù÷¿Ÿ={6iÒ$¼PDDäÌ™3ÌÕ-Z´cÇŽ;và%«V­‚‡/jâ‚âÕ-Õ49/o,çØDüOÊ.&(ÖEëZoµ¾gMì%>‚•Í•»>0‡õßzù÷¿K·555SRR|||bbbjjj¤¤¤¦OŸîå奯¯Ï\×®]¶¶¶Ç/--URRZ·nÝ®]»F"pÆ–‰ÊïdÞùëï¿ðuåå7ÒnðÚ­šíõ´ëj’j.F.Ìå9µ9¢¢!5›ëi×}ùt:H&~ú%‰¯ÿ „Û9ë¿ôjLçßÍÍÍ!AAA¼DEEåìÙ>×’úùùùùù!„LMM·nýrÞñÀ¨ànî~/ûÞŸqÆ—ÆãûŸò rnù_›l7ÅäÆìˆÚ’b¢`"*(Z×Z—÷O^úûôàeÁJâJl6Ü;žžT–d£f#.$^ô¡èEÑ‹sËÎ)ˆ)¨H¨ Ä›ïnRéTI!IÔ÷þƒ_ÿý ÷An].BèÝûw¡ÈÌÈÔªT„³¾3v«Àh4vóïÊÊʨ¨(„ººúHÇàl‚Â_G_¯^ÉåÉÉåÉ!E“ù†óyü Oý(‹+_ZyiGÔŽŒêŒŒê ¼Ü@Ö@I\ !¤*¡¼,øÇ¨+š*n¾»‰·RSDII,¿(ì]إןÞz;tïßy˜÷023?ÄÖ•Ñ…üF¯1šoܸñÔ©S!{{{99¹‘À•¥–Ú©Û=+|ÖÒÙ¢=N{šÖ´¼º¼­v[µ¥?%£r¢røËwBj’j[í¶š)™±ôc(gýMô›Ê7ÕíÝíò¢òz2zrx…IÊ“žlx’Pš[›K"’4¥5í4ìðu燜Í7œŸU“ÕÖÝ6¤ó¥;KMR­g9>_£ÑÍ¿BRRRS¦L9yòäHà‚˜‚«™+~h k` ûoÞ,+"Ë|7Ë¿{í‡@ LRž4IyR¯Ÿ"„ÈD²½†½½†}¯mmÕmmÕmû3^ÌÖ›=[o6çzF•1št`Ì!ŽtŒ!0| ÿ`ø@þ Àðü€áù7Ç·ý_½zUQQA †(ð9YŽÐò‘Ž ²W¯”G:`¬ã-ÿÖÑÑš3gÎE>k×®53c}k Õ‚ƒƒ%%%G: `¬ã-ÿ––––––ö÷÷¢hÀg" ÀÌÌÌÙÙy¤ƒ)::ZDDd¤£Æ:Xÿ Àðü0š<Ê{ôÓÝŸ¾¾öµë×jGhj¨ë×Ò†RìÓ¢E®W\o¥ßÙ ?iUi®W\S«R?ç3†“Ó¿æì¿*£~±¸¬ÉþŒ}ÎW€±òoÀ¨q=íú¦ðM¯J_%•'ÑôòÆò¤ò¤¶î6¬ÂÇ®IåI•M•#ççï^ö½·UouÆé|Îg¬©£)©<é}óû~´åøUé·Üº\×+®ì‡û>ñ‹Å±nÎØà^ñ¡8Œ¼­ÿ€šJ&’÷ÍØ§)­I$H+LWLÑœ¢&©6Ò¡2O žZ©Z ó t Ceè¾*--IåI“5&JœÜô9¸KSZóŠë%q¥Aém(Îcä߀Q£¢±BOFoÕÄUx‰Š„ŠŠ„ʆ4}(*i(Yc¾f¤B_ÌWeÐ/–0¿°•ªÕ`õ蟱ž_¿~ýäÉ“¦¦¦#  O—^_ºŸs¿¹³¹«¡ËõŠ+˧‡œ±¹¯Y\_|+ýV^]•NÕÒX2~‰œöQZUÚág‡W›¯¶Vµ¾øúâ»÷ïÈ_i}µxübæ´u·EeE¥V¦¾oy/Â/b¦d¶dÂqAq–N&)MºðúBNmޏ øJ³•æÊæ¡ÌšÌko¯U6U*K(cùº¤:—± §OBÓµ§÷ú)—“µP±¸üærfu¦¬ˆ¬¯£/B(§6'<=¼¼©œÁ`¨IªÍ7šo$gÄÒª§!TÛZ{ñõÅìšl ?e†ÎŒù†óÙ¼†‚§¯JRyÒݬ»ååü$þñ ãW˜®'<ŽÍ©‹Èˆ8—t!t3íæßÅc…WW]Å~`5û:?ìûìy±¸‰™Í+úP´7fïâ ‹_Œ×çø=,m(½q;§6‡Î kJk.°TKZ‹}ä6ÆPþ}éÒ¥sçÎ;vlüøñxayyylllccã਴¡4©< ýÿêU–OÙ,ê½úöªÏCƒ†¾(zqùÍå_]2a úÿõ²•'ú=õ«hªÀê<È}Qá=Ë;lloœzrêÇ®xŸ1¹1ç’ÎÝp»¡,®Œwb¢hòË£_jZk°:w³ïžYræc×Çm‘ÛðÑ£³£c-!É!g–ž™¨4±¯SWÙ\™]›ªhªÀ¿0öW“ÍùaÓ'êq±¸‰™ýÃN‹µš5—‘#„.¿¹üË£_ð O ž†$‡Üp»Á>rc(ÿ.--mjjb.\¾|¹¹¹9Üüà3ç6Ém¦îL›ŠbŠfÀËCSC£²¢újõ¦ò÷Co ?ÅÕÌÕDÁ„ŸÄŸQ’²ïÁ>k5k,¡DM<«3Nç ÓA9Q¹ÌêÌ¿âÿºòöÊ·Öß*Š)"„ºiÝ|$¾o,¿1”3”¦H7w6'–&^K½xdÎ|¬ä#y£SwH I¾(~qéõ¥|hû0×pî Dñâ닉e‰ç’Ïíúj÷±±H*ObŸ³¿}‹jlo|Sùfƒõ†^?år²ç“ÏkHilµÛª*¡*&(†Âž´ÚVÝ–L$—4”ÜɼÓÜÑÌÜ9¯§s!傆”Æ6ûm2Â2™5™gÏÜϹ¦¶tÂÒ^§ÀåWåaÞÃàä`2‘¼Æ|¥ªeKGKXzØ«ÒW[noy¶ñ™Y ×Î-=ðèÀR“¥ Œàå¯&›óÓWŸ=/—1ótÆ8FžX–èóÈ!4×`î4­iâ‚â… o¾»ÙÚÙÊ&r{c(ÿî•ŠŠŠŠÊè[ÀX£&©¦&©F&’EøE˜W¯¾(zÁ¦UpR0A^ŒßüJû+S%Óµ××FeEmðå‡ IDAT²Ù„ªK©‡­ÃÒ—©šS»éÝÇ⎥V¥bù·$Eòþ7÷æ?Œ-ŠýðñC7­!ÄOâO)OaKKZ+tU(‰%·67©<éë‰_ã÷ÑmÔllŽÛ¤V¦ò‹K+/1ßCí €Ø¢Xæ ãÐë§\NVVD6|M¸Ÿ^B&’uÇé/q7woélanÅë)ÂȈÈàc}¥ý•¹²ù××¾¾žz½¯ü›Ë¯Jhj(BÈÏÙoñ§ÄÑÅÈeuèê„Ò„'Oœõ{û˜’¸v¿_Y\™¹sŽW“Íùé«OÔãbq3OgŒcä!É! cîæîx…µk;i>J_‘ØäüûéÓ§aaaÅÅÅ|||æææ6l““CÕÕÕ¹¹¹‰ˆˆ\ºtIHèÓ¯ìòòòuëÖÉÉÉ?žL&³iŽ‹½uëVaa!…B™8q↠¤¤¤B¿þúë£G"##ÅÅÅñÊXáÝ»wEDDvìØŽúþûï±:¦¦¦=×Óh´ÐÐИ˜˜šš))©éÓ§¯^½ZPPûôôéÓW¯^={ölww÷‰' äääÜÝÝ¿úê+ög¦½½ýäÉ“±±± ÃÞÞ~óæÍ111xÌxÏííí§OŸÎËË[°`Á¦M›ØÇÃqâÌ=·´´•––***®[·ÎÎήŸ—€Q"í}‰@ x€b0 Ä@QiT„Pá‡B¼š£ž#óýNcyc„PC[vX×Z·òÊÊž^gI.géÍbÎ} ä ’Ê“æÌÁKÄÅÅ«[ªyŠ…¥Š%÷ÓïÕ“ü'ã„ÇMŸÐë§\NÖQÏ‘9ùF}ký펨ÛïlŸ®=Ý@ÖÛuDT@”¹¯§ã¬ïÌ<vS6·.‹jCØ¿7òEDO-9ÅvöÿÊ©Íâ–Ç` Ó ¥ Ù5ÙÎúÎ]€,à6ѹ‰H¢)샰1hù7N_»víÅ‹ñ’¨¨¨ÀÀÀ‡Nœ8QFFfñâÅß~û­˜˜Xpp0B¨««kéÒ¥oÞ¼yþü9™Lfß!D£ÑÜÝÝ/_¾ŒW óó󫯯'‘HÙÙÙ±±±ÝÝÝÌ!a…T*!”––VRR‚JMýÏ–õß?~tttŒ‹‹Ã+\¿~ýøñã?–••EÅÆÆÞ½{×ÓÓ³­íÓ:ÂK—.]¿~}éÒÞoÆ „ššš¦Nš––†OíæÍ›ZZZÌ1c=‡……y{{wvv"„ŒŒŒ8ÆÃqâxÏ7oÞôööîêê CBBŽ;¶eË–¾bà ÐÖÕFcÐâKâ{~ÔÑÝÿŒ?\ˆá#ò!„è :vøw`ES…šÍ|£ùr"rü$~°+zKJ*& Æ|H&’{öL&’ÛºÚxŠÅ×SéÔÅ/œôúZ<ÍådÄXÎ1˜c(gx7ënxzxn]n'µs®áÜSv`«S0¼ž¢O­ÿÓ ›cUs6æÞB}M¼§Nj§˜€ËyÀ‚é¤vòÚ9Ç«ÉÍùaÑóbqŒÃæŒõ#òNZ§¸ 8‰Hê+N@? Zþ}äÈ‘‹/jjjnÚ´ÉÀÀ ³³óáÇgΜquuÍÊÊ"‰ëׯOHH ±µµõððؾ}{bbb@@€­­-7Í}}}/_¾L¡P¾ûî;KKK‰ôúõë   öŠÅ=z400088800{þRB¢—_¦{ö쉋‹“‘‘Ù¹s§AIIÉï¿ÿžžž¾qãFìö9fçÎsçÎ]²d‰ˆˆÈ;wΞ=»{÷n6ù÷îÝ»ÓÒÒTTT~þùgMMÍÜÜÜdzüK³ÿ~''§eË–)))©¨¨p7¼¼¼W®\)((sæÌ™íÛ·Ïœ9SOO§~Eĺh]§Ÿê™=HQ¤¸ì$­*MBH⊠D§–µu·ÕµÖ ò l\ÿX–ØÚÙê Ýûâ4°ÉjHi|o÷=ösFu†Û5·ºÖ:Žƒr”YÉ|ø±ëcч"YY„¨€è×+øGXBÏ%YÙ‚5­5r"ÿþ•5½:!$'*Ǧs" „Xþ×ÃÍÕds~zí³çÅâ3†Íë‰cä b Ù5Ùåå½îÞØkäŽ'ÿf0üñ‡¼¼|JJФ¤$V¸hÑ"III??¿W¯^aIö‰'Þ¾}ûý÷ßÿõ×_Ë–-ûᇸinmmÈÇÇ÷üùs ¼ÂÎ;±…+™˜˜hhh „ÌÌÌúZwA¥Rƒƒƒãââtuu±ÂåË—ëëëGDDÔÔÔà‹aÜÜÜΞ=‹ý{^,Ž1sÊ5×k¿Åþž^ðOV(!$±Àh‘¼—¬µ\[\_|ãÝ l«cMiÍ£sî{°o€ù÷ ÄÆ“¼º¼Š¦Šo­¿eS§ß“Ý5}Whjh^]^}[=BˆŸÄïbäâéà9ð°/œ®=ýô«ÓØÆáê’ê¿ÍýMUBu€ÝʈÈ\[uÍó¾gRyRVMBHˆOhùšíS¶³o(HÜ3}ïß¼º<¼ãÕd~zöÙëÅâ2fžÎÇÈEDBW…ú>ñ½—u¯¬± 5"‘äbäb kÐ×Ùp48ù·’’@°°°8|øpÏOutt°ººº–,YÒÜܼhÑ¢ððp__ß}ûöqÓ\HHˆ@ $%%uwwóñõò×U,¹¬««cÎÑ322˜ë`Ϭ°ùÓ­‚‚Bèõë×t:H$âåÉÉÉ!EEE6g€ ¬áÛ·o™ ét:þ8fÏ ¹‡›‰cÞ¼yüð&%%!Ä|K€Ïß™¥gXîÝ®0]1Es þFCMiÍ+®W˜ß,#" â3Ëg¯ÃÞÂ…íÝíò¢òr¢røâæ ®¸^ayw&V¨.¥Ž’¤_~ýß´ÿ•6”Š ŠiHi „|}ñ'ÞzídÕÄUÓµ§³,™=<ç0óêmö± :ìMŠ,;²œ±þM!´zÒêÕ“V×·Õ—7–Sø)JâJØÊ6­8ž"¼•¼¨ü:‹uÅõÅ~ж´6›—_â8~UBRWW]­k­«hªà'ókKk÷µí7‹•f+]Œ] ÿ)l§¶ãÿOa5ÙŸŸž}öz±8ÆÌÍë v ÿ®Sâø=”¢Hý1ï_Gß ID’º”:s𽞠{ƒ“KKKO:5...//ÏÝÝ»Œ*..>}úôäÉŸ–¯mÛ¶-99ùرc›6mrppðöö¶±±™1cÇæ|||ööö/^¼ðððð÷÷Çîݶ¶¶þù矻wï&‰ZZZ¡€€€“'O‰D*•zàÀ–4ÛŒ¯°°ÐÞÞõFFFfâĉoÞ¼Ùµkׯ¿þÊÇÇÇ`0Ž;öèÑ#yyy“þ“7oÞ:thçÎXxûöí+((àØc<ÜLãëëkkkknnŽ*--ݺu+BhÖ¬Yý›#¢çÂh æN˜_¸×5»|$>}YýžåB=ë÷Uȼ¶G!›úªª=ï8NPèe׿¾btO žÉ1?º‡ú8c¼N'E‘êõáÑþ"æVb‚b&Š<üæøUÁɈÈ0¿n“K>Êx…^žáa5û:?=ûü=ö÷ž ×WÌÜœ1ìyÍqÖ¿'süö5eöz5h7ZŽ;&,,¼aÆqãÆ™ššZ[[ËËËkjjúùùaË!®\¹ròäÉåË—oÙ²…D"…††ÊÉɹººVTTpÓ< €B¡\¼xQIIÉØØØÄÄDZZzïÞ½t:!´råJ!!¡Ó§O«¨¨XYYÉËË9r„%c633CmذÁÒÒrÚ´iÛ¶më9‹#GމÄß~ûM^^ÞÒÒRAA{BôÈ‘#\>èÙ«_~ù!´gϬÛß~û {þ[ÓŽñp3qŒ²²²•••¾¾¾‰‰‰®®nzzº©©éòåËû=)Àèòó´Ÿýçût€+Cq±J\B\üžú Du›ÁíÀ“AË¿?~ü˜–––˜˜XSS£££søða~~þÌÌÌ 6èëëãÛ†ÈËË_¿~½¡¡aÙ²eÝÝÝì›#„ÌÌÌ^¾|9yò䎎ŽÌÌÌwïÞ îÝ»Ë_åååÏ;'..^UU•””D&“ÃÃÙ#´··wwwïîîNNNŽíuû?‡¨¨(mmíúúúäääššEEÅK—.¹¹¹õ¬Ì½yóæ]¸pAJJª¶¶699™N§_¾|[ûÝ•ï Çx¸™8æÏ?ÿtqqÉÍÍ}÷î]WW—ƒƒÃýû÷ñ?5¾x*Øþàó7ëCۇ̚L"¸æ~eqeÎ C†ÀÓj-l|ƒ¼^555Ðétuuu™O ËËË«ªªÒÕÕeYE––ÖÐÐ`bb‚?ŒØksf555ÅÅÅâââÚÚÚ,kÁ;::ÒÓÓÉd²‘‘??vvvMMó­ëÚÚÚÂÂÂÎÎN SSÓòòòÂÂBSSS–Ç °÷Mêëë3¯œ+***++377gΛ±B ü‰Ò^uuua+C étº¦¦¦Pqq1›ž9ÆÃÍÄwíÚuøðá·oßšššVVV–••)))©ª²{z‰@ :;÷þf0JmÙ²EDD„ý¿Ü¨©©Áž™î‹¶¶V``³3»:†ü~Ø’`. òûçBâââ“&Mb)ÔÕÕeÞD×s¥D¯Í™ÉÉÉõµïµ   ó…,udee™w TQQQQéeE ¶¶¶¶¶vÏrMMMMMÖ{½²ð÷÷÷ððÀÞåÙÜܼyóæššš þ}¹1ûNúŠÃÍÄ1JJJðÌ%Àüüôjß¾}»víÂîÙççç·µµ‰ˆˆìܹs¤ãÃj¨6º,~úé'!!¡¬¬¬´´´¶¶¶ &<~ü{%';àþ÷0ñööÞ»woIII]]¢¢¢šëî¹CçÛo¿uttd³| È¿‡™Lf¿Œ{ˆp³< XÀðü€áù7ÃòoŸ¤¿O×öÓŒ é@àKù7ŒE))Ú~Ú'âOŒt 0æð¼ÿÉ«W¯°·Ðƒ/[pppttôHGSjjªÝHG>kãÆì*é(à Ç[þmcc3Dq€Ïв²²¤¤¤ˆˆÈH“ü' Œ8ÞòïüqˆâŽš:šþxñǃÜ--:ãt¶ÚmmhoØyoçñ…ÇõB/Š^¬»±ÎÓÁÓHÞÈÿ…fu¦¦´f„{Dµãô«Ó÷²ï•7–ó“ùÇËÿÖú[{ {¬Ûi7öÜ߃wÂ\xrÑÉ™º3™{Ö“ÑóéŸ]“Má§ÌЙñÓÔŸ¤(R#ï+0ƒö.ìÆ»¹µ¹4MCJc…éŠUf«÷ƒ²Ÿ]¯CÏÔéÿÂ!äÿÂû!T°« ý}ú ·ÚmÝj·•¹­™’Ù‘gGÒ«ÓÈ_i}åéà)!$ÁýuÀ Þ¿:©__ý:»6;Ì¨ÎØpkƒ³¾sÏšo*ßø=õ£1h!:ƒÞMë^ºæuÅkìÓ.ZWBi«²W>³|\Í\yŠáMå¿g~4: !ÔAí¸‘vãuÅëÛî·)|n›3Æ`0~ºûSdf$^!§6Çû¡wvMö¯N¿r9(—³cš§Y§W§ÿöü·.ZB¨½»ývÆíЦŠk«®aŸr]` ÿŒ__Ì®ÍÖ”Öô™åc¢hRßVœ|ñõÅž5ïçÜ_j²ô[«oU%TIDRprðëŠ×ŠbŠÞ³¼-U,[:[n¾»yüïã¿>ùu¦ÎLîc¸ŸsñøÅßÙ~'+"›QáýÐ;·.÷T©íS¶sÙœ9°ˆŒˆÈÌH=½Ÿ¿úÙDÁD€,Qqàñëi×—LXb¦dÆÍ —Þ\âfv,C#„¬T­V\^±}ÊöͶ›Ù‡}'óŽ«™ë7–ßȉÊeVgn¿³=¹<9»&Û@Îñr]``ÿÀè“C N,eYÝAíèOˆl±†ˆ-ìfÑMëæ¾[ö³ëuhžzÇ|æ¹¼.0F5IµwïßüS =N/Œ+á|“UMR-µ*5­*ÍDÑ/|^øû!$-,*o,gn•PšÐ³«¸’¸möÛðt³¼±¼¸¾ë¤´¤µ2k2ã·Ä‹ ˆ²©Æ~PŽ³ë ‘@D}dÿ<é÷u€1 ÖF‡Ùº³ ÆæÛ›ËÛ»Û+›*}ò+7‹œ œB?Dþð¼ðykgkuKõñ¿‡¦†ò“ø´BØÚ‰ó)çË;¨MŸ|”÷¨gWiUi»ïï.m(mïnO©HÙ¾‰J§ö{‹½¥&KÛ»ÛW‡®~Zð´¾­¾›Ö]ÙTù¬àÙæÛ›ãKâ¹”ãìú".(ŽJ.Onloì_ü˜~_³àþ7`tXm¾úN֜ڜUWWa%ÁIßé~Î}2‘ݯ2·‰n191o*ßxÜô`.ß;c/¶=ˆŠ„Êl½Ùrà=“¤Æ "2"XºrÔs¼q;ì]^¢%­µÁfCÿf´ÈxQRYÒ­ô[߆}ËòÑr“å\Êqv}Q—T—‘K(M0ÿÓ+éß›/û}]`Ì‚û߀ÑA,xyåå•f+¥)ÒdcyãS‹Oa·®±[¹}á#ñ]\yq«ÝVMiM>Ÿ0¿°µšuð²`æí±9Zj²TBHB€,`¦dvÉõ’¥ŠeÏ®&)O:·ôœ‰¢‰ YPRHré„¥×V]ãróïžÂá9‡NVŸ,.(ÎGâS‘P™©;ó䢓“5&s9(7³ë‰H:±è„¹²¹ŸPÿâÇôûºÀ˜E€§d<©©©immeSA[[+0°ÆÙ™]AAgМ_]›¼5y ÏräZ‹µC:Ј:pÃy]½¶ß祥Å}eøã `Ô8øä ‘¼‘¹²¹Eª¤¡äÄß'²j²¬Õ¬!ÉYp]€'Fâ†âàä`æ ÅÓÁs¤âÁe×fÏ ž××§3tf-Îx†Ùg{]àóù7`Ôðtð”’J©Hyßü^D@ÄRÅr«ÝV]Ý‘Žk¬ƒë<õßÞ|>ë¿ô ~?žÖÃþ' È¿>0| ÿ`ø@þ Àðü€áù7ÃòoÀèPÛZ˜X–øÅ 4XR*Rãã»iÝxaiCi`\`jUê WF‡š–šáI‹‡m Añ±ëã¶ÈmŸòo:kþý¶òíÆ WF9Q¹­v[­T­¾˜ÅoÏc0**#n‘G:àŠ¬ˆìV»­_Ò@—ö>íêÛ«'Ÿ x0Ò±àä߀ѡ¶µ645ÔJÕŠùÎtKgË‹¢åådcyc  .{ë¦u¿,~YÖXÆ`0Ô$ÕlÕmÉ‚½t2á$óºjœÛ$7I!Iìgƒ–P’[—K¥S5¤4¦jN h¶\ 1h{¢÷8ê9:h;p™‡½ «j®šª9ÕDÑd¨ÃÐÈ¿£¶,›yeHLnÌîèÝ--x3%³ OȊȲï*­*mcøÆºÖ:¼dœð¸?]þÄzfè¯ø¿Ú»Û{v2Ïp–§U¥ýùCESþ‘‚˜ÂÉE'åû àXÜ1b°‰ÂGñ°ò`?‹3¯ÎT·T_Xq}5L7­Û3Æ3<=|ƒõ† ¸i`ˆ@þ •²k³·En£Ò©ãÆ›+›·vµ>Î{ü¶òíæÛ›o|}ƒ@ °ië÷̯®µÎ@ÖÀZÍšL$—4”ÄÇåÕåõºæû;Ûï˜ïwR;C’CÜ&¹iHi „*›*×ÞXÛÜÑl¢hb¢`ÂOæÏ¨ÎxUúj}ØúG뉈ôÀñøã4:M„ã„DZϿËËŽÿ}Üg¶Ï8áqlªaÛ7…oz[ùÖÏÙoÉ„%ëRF¥³‰g©têZ‹µ{¦ïÁ²íŸ§ý¼è¢·•o_•½²Q³aÓ¶¾­^CJ#rm$‘@ÄKêÛê{­¼Éfþs7­{ã­ËL–íž¾+9ýêtsG³Ï,ŸUWáÕΧœ÷}ì{'뎫™k¯}n±ÝÂñþ7›OBûböMTž¸xüböÕBEŠÖ‡­oêhº¸ò¢¥Š%Çú†ä߀QéuÅk´cêüV·¤äF›ž÷=_W¼fŸÏÖ›œ|#íÆtíéØb)Š”EŠýˆ4mkäV9Q9¯™^xa|i<‰@ªo«?‚Á`0 „ÐÇî¡ô÷éȬ÷®¾·ûž‡©öp;ãö›Ê7ÑßDs¬™R‘rüïãR©°Õaê’êÀ`ü0*5w6ËŠÊâMbT%TBMMìÛn³ß¦*¡‘áûØ—ÂO1S4s1vqÖwfÓ„F§m¿³]˜_Ø×Ñ—yqK}[ýÿ±wçqQUýÀÏḭ̀ ë°ïŠ€ˆ (*¢™æ’Šk¹”¹¤Y&>ö´hÏSVš•¥R¤Y¢e©)®¹P¸.È" «0¬ ë03¿?®¿ib†mFðó~ùÇ̹çžû½Ã>\Μ‘Ê¥{¢÷´ÝEybz+=™ÿÝÔÒ´ýÊvGcÇÓ)§Ô\öïc¾g3Øo{[q_?>?¾º±z¦ÛL{¾½ŠÃ€&!@¿dÀ1(®)nliTŽàù¢|Bˆ¡Ž¡ê}é4ú‚a  [ “Ër+s¯e_û÷¹§–¤þgâÚí/“ËÞ»ø!ä‹_(¢í“2t š¥Í«G¯n»—‹©KGôdþw½¤¾ª¡ªª¡êðA«Mûb÷BÖ[§hys웹•¹¿Ýý­IÚ´mÚ6¡â  ÈßÐ/°q6õì®È]Š©Ø¢Ñþ¸ýÔ&Õû^˺àÀ 3è4º“‰“ƒ±ÃáÛ‡O&Ÿl7ËåòÃ?¬k®ûnîw Zëü:Ö~ìïI¿ÛÙz*·§—¦ësô;* 'ó¿u˜:m—'ò(µh IDAT?r÷Hy]ùÚ1kÙ 6ü}{žFhŸLýÄPÇpoìÞêÆê={Ø ¶Šã€ @¿´jÔª iÄH,Lô±ö7‰¯d]©¬¯n5ÜÏÎOõ¾ëN¯3âùØøØòm%RI\~\auáó!ívÞ±õ\ê¹å¾ËCn†(·Së¿9öÍðŒðMl:˜pÐËÒK_G¿L\–Yž™\œúR¨µ¡u»cödþ7—Åm›¿#F”ו¿5ö­vƒû¦ ›ŒxFŸ_ý|ÕñUûæïÓeëvûèÐsÈßÐ/¹ ÜwîþàâI“’'QÔúߪ$„Lr™‘q)ý’¢ÅÆÐfûôím{¦—¦ÿzçWòÿS;”½èö¢×ÈÆÐæðâÛþØ”R’’R’¢ØêfîÖQøÖŠ•¾+ u 7_ÚüÊÑWB_ U|rhò7ô}ò‡ïB¦¹Nk?6òQd¡¨Íd{Zxªùù—ßÍý®L\–X˜X *à±yŽÆŽcìÇ(&v+È„gÒÑgÑ+ÖKq¸_\uñNÑ”’”Iƒ…¾…«™«›À­GgÛE‹‡/.¯+gÑYŠ{#û ÿ oë¿W`™ï9_ '¸St'&7æE·5Y(£Q«e¨I(ŠÅb\\œƒƒ…3f¨ê}߇5ÏÙÙYýθÿ M™¸ìè½£mu2qšé6S“õ(Cþ€¦¼¾<8:¸£­“MFþ-Bþ€Æ”gÚѤmBˆ“‰“&‹hù3=3ù@»èw€^‚ü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9ÈßO£Œ²Œ%¿-9“ræ)º ùàiTÛT__TSô” ]…ü  9Lm –¤ÇI_\ûbÙÈe~v~¿Üþå~ñ}“óœósó=çÓh4E·zIýþ¸Wt¯¸¶X­çmí½`ØCÃVƒŒ°ñóíŸÓKÓ u {/i3’’*L=z÷hQu‘ ßfÕ¨UFÊ<ª|t2ùdfYf‹¬ÅÑØqç7[ì™”3âBN$¸ùè&Õxdéu*I/M?•|ª º@.—ÛÙÏö˜í!ðètLÐäo誫ã â}l|v\ÝQX]H5þ™ñgJIÊÇ/|L=5ˆ&ìP×\§Ø+<#ü@ü㯷1´Q âeåõiħB±ês>íü ~¬k®ÛpvƒT.¥/¦] =ÜLÏŒzzäî‘­mUl̉üõίۦm[0lAG¿zôU©LªâŒø\þ÷ó¾owSQMQZi!¤°ºPq²êTr*ùÔ{ß“ËåŠþâ|=ëë@@c€&!@òÓ­Ÿ™Ú>}»@_Z’ú}Ì÷¿Ýýmß++BˆD*a1X«F­r¸›ðLjšjnåÝ:zïhptð—/~©ä`ÂA M6q"E¾}ø“ˆO*ê+fºÏœ¶ô‹Á"„<çò\FiF|Aü+>¯(3æ»1÷ŠîQOCãCerYèK¡>Ö>TËs.Ï ·¾â÷<øãÍ1o¶[êáŇ•ïC·EÐ.kCkw;!ÄÆÐf´ÝhE{§•0éÌÁ¦ƒÿ7åŠ]–\^ÛT«bLÐ0äoèO¦¹N£Â7e¨ÅPBHU}õ´L\¶ø·Åm'WPTá×”³¯›À-¾ þE·-:VV%µ%ÔÓ¤â$±;j7!D.—ˉœÒ"m!„dWdwTê(ÛQÝ9C•:­dßšMlÚxnã$—InænN&Nt]Ÿ£ßë•@·!@¢x'%…EgBdrõ4øfpauáû1³=f ôl›F£½ñýVùÛ€c ü”Ig¶™IgÖ7×Së›ë¥riLnLÛz%•Ú“ùßé´’Ý^t¸ŸpþTò©Œ²Œ¦–¦™î37l2Ð1h» hò7 I“ø\þÏ‹~¦Óž,®Z/©/—é°tz2¬¥e³´ù‡ù?0èŒV›ŒyÆíÕ“ùß„¡BZÍ`Q§GcÇõþë©Ç)%)¯}µL\FývÇ Cþ€ÃPÇ0§"'£4ƒZ¯ª¡êƒ‹4¶4ö0¿0ø…àèàðŒðM6)n“×6ÕžN9M-\Ø®žÌÿ&„ðX!äÈÒ#Vr(áÐþ¸ýƬy]Êߘ 9Èßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9ÈßÚ—\œì²Ã%8:XÛ…@ŸCþxê$&ºìp ‰ Ñv!Ðû˜Ú.ˆ§¥gÖûYÚ®4÷¿4ùú‡ÈœH—.ÆÄ/þmñ°¯‡Í94GÔ üÅàwο£èv*ù”Ë—ÑÁ£år9Õ" ]v¸ü÷ÏÿöEU]- Ý³ ÿœÿ²è×E„]‘»\v¸Pÿ¨¡ärù‰¤ /öõ03CgþzçWÅ _ÀüèOîÝÙqu‡T.%„Èä2>—ï.p~-—Ëi4!$:7šN£WÔW¤—¥»™»B¢r¢!ãÆu4¦ë—®R™TÅAMuMãÖǵ»©{´: 5Ï].—¿sþ³©g-é¥éÿõqš0mÛômjZ‡ûßП\J¿4oؼˆ5ïfœ[qŽâïè_^Wž^šN‘Ëå7Ýœí1›IgR©—ý(šN£±ÓG%u£€¶g¡lÝØuÇ^9FÙ°1ëý,ê!älêÙ³©g]Í\¼t ñ_‰É›’.=ê&pû=é÷»Ewûèì ×áþ7ô'í†oŸ¶ºÓLñwðß»/:7ÚMà–VšVQ_1uðÔ¢ê¢èÜè5~käryL^Œ§¥§¡ŽaGcf¼›Ñ“’ºQ@Û³PGXrƒÎ8øòAs=sªÅ×Öw׬]Ó~švùáeokïžœh ò7ô'ãÆµŠ­#lFpYܨGQ«G¯Ž~Í 1ÆØÉ,Ï ¹ÒØÒ˜]‘]Y_¹hø¢¾+©´= u<,{(•IÇ?ž"—ËåDN= „<®yÜKg}ùú>—ߪ…Å`²›ÛØÒímí­ÇÑówðß¹+¡ !µ$•2Þq¼Š1{2ÿ»{´= uP3ÅÛ-U"•tc@Ð äoè÷üýoä܈̉L,H|kì[„OKO>—•õ ô—Åíë¹½^F'm¢¶³‰sª05æí}Ž~/†ü ýuwywÔîfióx§ñ„:îgçw5ëêãšÇãÇ1骾×õpþwÏ h‹š,žP j)n–/ôZ˜x!qÙ±eëÇ­n5\Ÿ£_*.Í,Ë K[ê½t¬ÃØžhò7ô{.¦.=AfY¦¡Ž¡§…'Õ8Þi|xF8Q¹òàS[€ƒ‘ƒ@O›;rÏHª%ëý¬yCçÅçÇŸL>¹&lM«þ/{½Ü³3ÍÁúƒ0ø;úBÆØ¡fnBüü[=èG0èŒy!#mFrY\E#FûâÅ/‚çsg¨cÈb°lù¶SOÙ;oï8Ç>ÿz œ]" Åb±Š..ÎÁÁÂ3Tõ€¾ƒïÚçìì¬~gÜÿÐäoÍAþÐäoÍAþÐäoÍAþÐäoÍAþÐäoÍAþÐäoÍaj»-K.NžûóÜ ÿ  ÿ ª%©8éµc¯‰›ÄÔÓû›îóX<í؎ȜȕÇWny~Ë ßÝäjÖÕmW¶åUå)7NsöÕ̯¸,®¢ÅókÏIC«}?™úÉï%Ê-‰…‰ÿ9ÿŸQ¢eœÃ¸ŸýÜíò*äoxÖ ôAþA£íF+Z‚£‚ÅMâCf8™8Ñit¥ÅòúνÇ÷òªò†Z d:ÈLÏ,§"çjÖÕðŒp.‹ûÕ̯”{ZX.¶P¹ÅÓÂSùiª0uÅï+$ N&NãÇs˜œÄ‚ĸ¼8Mœ@ƒü Ï:s=sÅoÊÃò‡.¦.Ás‚µU’fL4yÁ°v|;EKÔ£¨UÇWO;¿mú66ƒ­h·2°jõµ²ùâæIÃRï¥ÿ›ò?A5&$ôQåýò7ôË^J¿4ÖaìH›‘Êí%µ%Ç“Ž{YyMpš@µHåÒØÜØŒ²ŒY‹£±ã§ &‡Ú”W•w6õl€S€—¥×­ü[©ÂT]¶î¢á‹JÅ¥Çîm7z´ÝèÈœÈ{ï•וÉŒ‚£ƒ !:LÆ–Æ1öc|m}•]\S|âþ‰áVÜúè¬%RIÔ£¨|Q¾\.·7²ë0V‡©Ó¶Û­ü[÷‹ïs˜œ§#‡V[U>º_|¿¸¦X£7ÜjøP‹¡ŠMÃ,‡µê<Þq¼“‰SVyV]s›Ë&ê¹÷ø^ª0ÕÆÐæ¿Sþ«ß„V¯P¿ 0Ó5Û»/6/öèÒ£ÊíGï ‰ })”zšô8é_gÿUX]¨è`i`¹wÞ^*tæUåG³ìÝQ»£EB<‹†/Ö ƒ£ƒ©)(‘9‘‡B„b!•¿g¹ÏºòðÊõìë§^;¥|èŸoÿüÓ­ŸŽ½r¬£š¿þVNä*NŠÇâ½>úõ޶&=NZ{jm™¸LÑbªkº'pò<™YËÚ“k/?¼L=eПOÿ|žç<êi½¤~MØšV“@œBæ†(OïV&•IE "KK#®‘r{ƒ¤álêÙÇ5¸F¾¶¾Î&ÎÊ[©CÌrŸE¹˜~1¿*ß\Ï<À)ÀT×TÅé<³¿ àsù“M¾˜~ñQå#GcGªQ&—L>ie`åïèO)ª.Zq|EMc—•——¥›ÉN)I‰Ë‹[¶:bu„GÚ+4!´¾¹~–û,;¾…¾E«8èì‹ÝgÄ5zyøË„¡Cù\þáÛ‡“‹“=-ŸLznji »æ.pou?^Ùw1ßIeR'eªkª"︶£L\æfîægïǤ3s«r£Eg–e*çïЄPq“8Ð#P /H-I½™{ó£¿>š2xŠ>GŸR×T—7Ôb¨›¹›©®iMSM|~|dNdHLÈ;Þi÷ –ו6í³Ví„6ý±Iñtšë´/^üB—­K=ÍåB, ,f”eP&çÃç?\ì½XÅ+ðlBþ€þá%¯—.¦_©äÒë—l m¨§ï_|?ì~XBAÂ$—I„=ŽÞ‰WOèsôoÝ®¨«`1XÓ†L+¼Ux5ëj»ùûJÖ•¯n|5Ómæ¢á‹”Ûi„6Ôb¨§¥'—Éͩ̉zžÞ,mÞ¿`?Õ¡¾¹ž²/v_ucõ‚a ø\~Ò㤄‚„ÿýõ?gSçQ¶£Tœ&À3ùú‡qãl mN§œÞ4aƒÆ „œ¸‚N£Ï÷œOuˆÉ‹aЕõ•!1!r¹\.—Bê$u„äâdâýdœ@ÀŽÂwGÎ?8ÿþsïó¹|BÈow3á™ÌtŸ©b¯õþë»|’J¦ºN =žt|’Ë$s=sBˆ1ÏØ˜g¬ÜgÞÐyŠðM™è<1ì~˜°VH=¥Óèâ„g„·¹¼®¼íá.¥_Úxnã$—I;gílµéð’Ã^–^Чi´¥G—^ͺš^š>Ä|!„ša_×\wqÕEkCkªÛ7‘ß|óý/‰¿ ´‚ü ýF[0lÁî¨Ýײ®M4¹²¾òÊÃ+cÆ*_e}¥T.ݽ§í¾µMµŠÇmß¡¨Ž×F¾v#çÆÉä“«F­J)IIzœ´Þ½ò !mõpþ÷†ñìøvgRÏ|vù3›çmå84pÆÊ}, ,[ Hi‘µPO÷Æî Ï7æwo¡oÁf²i„vìÞ±fis«cO:þaø‡/ ~awàn&½õÏåðMq¸Í:÷çÄŸS…©Tþ¦~=˜2xŠâkAYé»òû˜ïÓQ@ùú…^ ¿½ùíñ¤ã“M>rºEÖò’×KŠ­:ÍÒæÕ£W·ÝÑÅÔEñXyõwïlâ|äî‘•¾+½ó+“Î\<¼“™Í=œÿM§Ñ [°`Ø™\–[™{-ûÚ¿Ïý;µ$õ?ÿ£fÍ׳¯ë0u.½~É„gBµÈåòŸ¦ÑhÊÝ~ˆûá«ë_Í2cWà.ê ]å.pïhS«cAþ€~D 'ï8þFÎRqé‰û'Œ¸FSMQlk?ö÷¤ßíì=•÷J/M§ÞØ4mÙÈeýùÑù´óçœÑíEꦯ =œÿ}-ëZ€SƒÎ ÓèN&NƇo>™|RýüM£Ñ˜ &‡ÁQ´ìÝ[ÝXMM¡¡|qí‹oý8ÛcöW/~ÕnøN.N¶áÛ(/‡’&L;“r†(ÅîǦNDfÄúqë·ÀCB !nænjV ðì@þ€þä%¯—®g_ÿoø³Ê³Vø®`1þþdÊ7Ǿž¾éMzYzéëè—‰Ë2Ë3“‹“C_ UžÑ=ó†ÎÛy}çæK›[_ùZ§ý{8ÿ{ÝéuF\#[¾­D*‰Ë+¬.¤æ{¨ÉÛÊ;¹8yÖÁY“M&„Ü.¼Z’ª¾÷ÆîýñÖ:v|»˜å}_l¦gF Ï?”xÈÏÎÏÎÈŽÍ`çTæDæDJeÒ§E¶Öãè­ö[ýmô·/†¾8Íušâý— :c娕=y$äoèe}:ãàùAÏ›é™]ɺBQž|B±1´9¼øð¦?6¥”¤¤”¤(ÚÝÌÝz¾ !\wá°…¡ ¡ÞÖÞm?¹¦×Mr™‘q)ý’¢ÅÆÐfûôíêä›û°üáÁ„ƒ„&ùé´OÜ=¢X=¿*ŸRÓXóÝÍïZí;eð*³f¨cx#ç†òÖ©®SwÌØ¡Ü²~ÜúÒÚÒß“~»FµðX¼mÓ·µš; —ÒÇߊ¡‡¿ —ñx²úú¾úÆÏ 1>yá“´Ò4}Žþ ÓA­¶º Ü/®ºx§èNJIJƒ¤ÁBßÂÕÌÕMðä6­½‘}·µw«½úêÃw-oø½Ñj¥Ї…!D›ß=÷ÝÜïÊÄe‰…‰¢›çhì8Æ~Œb-ÂvÏ…jTünÀçòÿXùÇÕ¬«¹•¹:NVV2¹¬¦±†ê0yðäVïàT0å=ù蜩®S'žŸŸ]‘]ÛTk¦kækëkodߪ?Fß6}Ûrßåqyqâf±•Õ§ Ê÷Ú@cêêè„==™¶ Ѩ%ºÔ$ Åb±ŠS¦ØÍž]»~}•ÆJÒ ©\:çМ’š’Øõ±m xJdg³§Nµýã7·Ö‹Aßqvvî¼ÓÿÃèe®®Í©©œÎûõ·òoÅäÆÜÊ¿•&L[ã·ážf))l&Sîì,Ñv!Ð!º¶ €ÆÏ¯!6–+‘ œ¹‡·òo…Ä„$&ZX­½FÛå¨Éóñid³1Ááé…ü ½lòäºÆFzD„®¶ é5£íFùm›¾íª ˜Ó O³º:úå˺S§Öi»PE€^faÑ2qbÝüéÓÅã ø£íF+¿;à©uäˆLF›3§¶ó® =¸ÿ ½ïw*SRاO÷ôSo@}ååŒï¿7Z½ZdhˆÅOžjÈßÐû j^´¨fçN±ßd4dçN}}ÙêÕmù©? OlÜX%“‘ÿÛ\†»0}ïÔ)ý“'õ·l)çrñÎ˧ò7ô >_úãű±¼/¾0Ñv-\b¢Î‡š­][…w^ö ÈßÐW<=›¶o/ å㓾úHB‚ÎÚµ–“&ÕoÜX©íZ@-XÿúЬYâúzúG™>zÄÚ±£”ÃA èM§NéoÙböüóõ;w 鸭ÚOà }ëå—kBC‹##y X'&êh»€¢¼œñþûæï½g¾j•èÛoKttpƒ£ß@þ€>7vléS…&&ÒÅ‹­ÿýoAn.KÛôcuuôäOžlà )yçÊña Ïš³2 +„B¡X,îÞ¾W®ènßn’ŸÏ5ªaòäzoïF{{‰¡¡3PM,¦—”0SSÙ‘‘¼Ë—ue2ÚêÕ¢Õ««°ÚÉSÂÙÙYýÎÈßÐ5=Éß„©”ܸ¡{îœ^T¯º¹žN· q"ÄHÛe´Æ`ÈGŽl|á…º9sjñ!;OäoèC=Ìß r9)*båç3kjèr9þt O‘õë-V¬Øïã3[Û…üMWWfj*uqif³‘ÜžF]ÊßXÿ´ƒF#66‰¶ h‡·wãôé½ð{&@[øã/€æ hò7€æ hò7€æ hò7€æ hò7€æàó/ k@ Ðv}K téÓ¤Ô‡ûßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü  9Lm e.\¨¯¯Wn‰‹‹£ÑhЧ“&M211Ñx]00Ñär¹¶kЦ%K–=z´£­ºººeee\.W“%À†ù'ð¬[¼xqG›X,Ö¼yó¾ aþ tMcccKK‹¶«èMþþþ555m7I$’¹sçŠÅbÍWýˆžžžú‘¿ kª««‘E`à™>}ú©S§$I«v¡P¨•ª ¿èRþÆü2{öì¶á›ÉdΞ=›Á`h¥$¨¿ˆ¯¯oÛNZZZfÍš¥•z`Cþ t:=00Åb)7š™™ùøøh«$¨¿!dÖ¬YÊSP¨•O”WèÈß„âééikk«x*‘HfΜ©Åz` BþxbîܹLæ“•ÁìììÜÜÜ´[ HÈßORËÛ3™Ìùóçk»˜¿ž°··wuu%Xùúò7ÀßæÎKñðð°³³Óv-00áó/@ ššh‰‰:))œÂBVM ]&ÓvAÿ¯±q9!_Êd¯®_/Ðv-ÓÓ“›˜´¸¹5Ý`j*Õv9Ð#Èß Q÷ïs~ùÅðÏ?uè––-öö>_F£Éµ]À::Ö&&þ––óù¤ÔQ IDAT´]À?…Œû÷9?ýÄ—ÉhÞÞK–ÔÌœ)f0ðͳ_¢ÉåøÊ@…B±XÜKK™_|a|»{ÓK/Õ<ÿ|½…EK¯—Ðs™™™ƒÖvíhh ÅÆòNŸÖ‹ˆÐuv–üïå£G7h»( „gggõ;#@×t/9b°c‡‰‰‰ôƒ*^x¡®/ xväæ²¶o7½z•7k–xÛ¶2Óø´ ùúPWó·TJ¶m3=|Øpݺª7߬âpð= w\¿Î{ï=ssó–ýûK,-ñEmêRþÆú'Ї$ÚoXž8aðí·Â *¾zÑĉõ'OJ¥´ùóm>dk»Pò7ô¡?4KLÔùõ×¢iÓº3eT³±i9~¼ÈÎN²zµeECÛå€Z¿ ¯ìÛgtæŒþ7ß½¼š´] À€¥§'Û·¯˜É”¿þºeCMÛå@ç¿ O¤¤p¾ùÆxóæòI“êµ] ÀÇçË~ø¡8/b¬íZ sÈßÐûär²m›©·wã²eÕÚ®à™àì,Ù¸±òÀÃGXÚ®:Ï߀Þwîœþ;:gÎÒð‡PèWÂÃÃ333 !...3fÌÐv9]³dIÍÑ£Ÿn²‰¶kU¿ ÷íÛÇŸ3§ÖÍ Ó¾Ak233ÃÃà ! cݺujîuéÒ¥ .B¦M›†ü ýƒ!÷ÝŠ×_·|ø=hP³¶Ëaþ ô²¤$‡Ù¯¾Š™' M™™™ÁÁÁÁÁÁ!!!Ú®@s&L¨·³“„…ék»P÷¿ —]½Ê³±‘ Š›ßÐÿLŸ>ú m×Ð4™6­."B÷ƒ*´] tùzÙÝ»:~~Ú®žiÁÁÁÔ4nBˆT* ¦?ÿüó­&ygggß¼yS$½ñÆm‡ºxñbVV–¢óƒbccy<Þ”)SLMM !uuueee¶¶¶&Làr¹:I€øù5ìßωè|>>”þ)…ü ½,+‹5q"ÖmRnòÏümaaááá¡<É;//ï›o¾‘Ëå„åË—·ÿ}ñâEjù´iÓ²²²Cmß¾}ïÞ½zzzk×®-//§mll:äàà ±3hkðàfBHNÛÇ·BžRÈßÐËD"†‰‰TÛUÀ3-((¨Ý÷_zxx(wKLL¼råÊÌ™3íííét:‡ÃQ1fbbbRRÒŠ+“““Þyç™Læàà0kÖ¬Ó§O‹D¢ÂÂÂÏ?ÿü‡~è»Sè”±±”RU…ÏÂ|z!@/kn¦±XrmWÏ´   óçÏ+òwPPP»ÝÊËË>ýôSBHbbb¯@·°ÙrBHSÖ}zaýxF¹»»«¾ !Æ ³±±!„XYY)§OŸÎ`0!vvvTKuuuCCCoW  ò7<£¬­­ÕïlffF= ÓéTæ&„˜››·íIÍ&èò7<£1Ztz;?1# s€ú¿`b2Ÿ¼Á©¥¥¥¥¥E»Å(Ãû/`R,(“ÉÞzë-¶råJ===­Ö€ûß0 2äù矧_½zõÛo¿ ‹ÅÚ­ €àþ7 T{÷îMKK«¯òPÔÍo2ßvÓŒ3ܪóÛo¿MMøvuu¥Z«²X¬>;'hxËt‰P(T}ÑÅÅ98X8cn4h¾kõ«»š0ÿ@s¿4ù@s¿4ù@s¿4ù@s¿4ù@s¿4ù@s¿ ÈÉ©]²$êäÉNI}ü±—bØ÷Þ»£xoed¤ðäÉüÅ‹âãË++›Û-LÍaU×Ö®W_VôoŸÏþþûÑ*:B**šç̹ÖnaEEõiiՄºÂÂ:ªÃ¸qæm§ééÉÿ䓤ÒÒFªñÒ¥¢Ë—‹ƒƒG!‚¨€ü ýÒ_= Íb2i¯½æûñã§})tíBþ€~ÉÜ\'+«F(ltÉÉ"Bˆ@À%„XZr››e?üàÇ`´~3 ±qçZq”GÄ"Q³r OMõ°øîÕÖ+ó¿U£~Ÿ‘ÿsšK»”V/E]]KNN­¹¹NÛž €ü ýÒøñæÖ¼ûîíÝ»}ŒØ„„„Š~È 6B^xÁ288=<¼hÓ&wÅëÚZÉéÓù#Gª;‘Ãßß<+«vË–»_~9BW—I‰ˆ(>}:¿‡Åw¯¶^™ÿ­Ç$„äç×uÚH‰ˆx|òdµðbCƒtË–»õõÒ_ô° € ùú¥Õ«;WpóféøñáNNzbqKAA\N.t<Ø€òúëƒ#"Šytüx®ƒƒž¾>«¬¬©¸¸^*•‡†Ž%D­•¶_}ЩSùþù8*JèìlPUÕ\XXçînøàA5½Y·{µõÊüoÕõ¸\æ©Sù))"ê–ÿ‘#ãÛm¤ú»¹¾÷Þo¾y`nÎ}ô¨V,náñ½(=½Y ff:GŒeÚØ(}ð :?¿NG‡¹v­ëgŸ §:ðxŒ£G–.ub±YYµwïVÖéë³–/wöðà«y î¡Cãœõëë¥ÉÉU%%õ«Wš1ÆBÝïž^©­/èè06oÊá023kâãËããË;j¤Ìk÷öÛCªªš““«Ä⽟ö·³kýD ÐÚÒСP(‹UtpqqΘ¡ªO7ÔÕµ¤¤ˆ¬­¹­–Ç.+k,,¬g³é..úÊ+{(H$²ììÚ†©…W СӟL¹‰š32jìíu-,¸ŠÎT£ƒƒžò´rBHvv­XÜbo¯Ëç³×¬‰½zµäÆ©ÖÖ¼¶…uiØŽjë êV_/ÍήihÊåD±æ`«ÆÈHáÊ•1[¶x®XáRS#yô¨–Çcº¸à“wž}ô}TpvvV¿3æŸ@ÿ «Ël»þ4!ÄÌLÇÌLÕþX,ú!íÌèàóÙmlÛxòdÞ˜1fÎÎú„™L~èPöÕ«%NNúTøn[˜šÃª®­/¨_Çðô4R§‘b`Àòò2î­:<äoUÂÿÿþkk]ccv~~HÔLÙ¸ÑMÛu@…ü  Ê‚öÖÖÖBLM9ÿùÇôéÖÚ® ú+äoU¦Nµzá«ÒÒÆââ==¦““^ŸÎÒî/† 3úí·ñööx«%@—!t‚F#N«·N>ã:šÑÂúƒšƒü  9Èßšƒü  9Èßšƒü  9Èßšƒü ýCd¤ÐÅåôÁƒYÚ.„§¬˜¾–PþÁw¦N½ìáqnĈ ¯½vóêÕbmÕo$'W¹¸œNWÝ­¨¨þðáœåËoº¹uq9)ÔLy Èß0p$&V¸¸œ Éè´ñé÷””—W·xqÔ‰yÙÙµMMÒêêæ›7K׬‰ °¿{h啟?ÿúÖ­IÑÑ¥‰L“Ç­@þ€Ñé´ñãÍ¿ùfäåËSRSg_¿þš5ƒ !;w¦ŠÅ-Ú®nà°¶æ½òŠÓÁƒã^~ÙAÛµ@ŸÃçÏ@‡lmyŽS<µ±Ñ}÷]{÷*ãã˳³k½¼Œ´XÛ@ròäDêÁ•+˜Û0ð!@?sï^Õ—_¦$'‹8úsÏYlÙâÉç³ !!!»v= „ìÚõ€z@ٸѽmcVÖÜÈHáÊ•1[¶xººîÚõ -­šÇcNžlñÎ;ÆÆœžCil”îߟyáBQAA›M÷ô4Z³fðøñæÔV©TþÛo9'OæÔÉåÄÞ^wölÛÅ‹¸\f»ç’•5·‡/]»T”ÑÑ.,bb¢ê…’ËIXXîñãyÕR)qtÔ[´ÈaéR'BŽÏÛ¼ùÎwßž6ÍJ± Õ¸w¯ß”)–ªG>u*/,,?=½Z*•9;,Zä°`=ƒAëô¸Š¯»··‰úW‘òãáÁßµëAjªÈÉIÿÌ™ç! G>ºw¯²¸¸AOéímòƃFŒ0QïåïÕ‡VÔìæføõ×ÒÓk Y¯¼â¸v­+!ä—_²Î)*ª·±ÑݸÑmútk5‡õô<×Ð m[ÌŸNvvÖ']ö~ :­A$j5êâìÙ6;wޤ:Ÿ:•ÿî»·ML8qq3¨/´PØ8nܥŋ?ýtx7®pÕטš'ØÕ—ž)ÈßП$'‹¾ú*µ¹YFih §OçÖ=нÑîܩܱ#E*•B¥Ççݾ]yúôs<£çÅH$²×^»yûvõ´¹Y[W¶uëð%K !;w¦þøãCÅh))¢”‹EõU§.…«ëê:bjʉ‹›ÑÑVõËÉäeeMaay7o–llx)—“wÞI<{¶@Ñ’ž^ýñÇIiiÕÛ¶yw~J“ËɆ .*Z’“«’“«llxãÆ™«yÜn_EÊŒL&'„”•5.^©èPUÕ|õjñ%¿þ:Þ×·o#¸š‡¾w¯JQsCCËÎ8fYYãþý™T‡œœÚý+ÁÁAÏÍͰÛgdn®Cý>ÖéeOQý%P]ŸÏvw7ŒŽ.•Ë •¶££KétZEESzz5uQQBBȸqf¤ëÿÑT_cjž`W_vxÖ @rî\Á’%Ž«V tRSE7&&$T¤¥U»¹®[ç:z´é¢E‘7º¯[çªØ¥ÝFÊ¥KEóçÛ¿õ–«¹¹NJJÕÇ'edÔüðCÆÆî=,†røpÎíÛVV¼?6j”Ym­äĉÜï¾Ëض-yÊK33ˆˆb.—±sçȱc͘LZnnÝÙ³Tôïè\ú‚Š2²³k§N½L=æpK—:¾÷ž§Š1Ïž-8{¶ÀÕÕàÝw‡zyq8Œ”Ñ'Ÿ$ýþ{î‚öÞÞÆÝ®6,,ïÂ…B>Ÿ½i“ûĉ|>;+«æèÑGÔ-y5Û«ˆréRÑÂ…kÖ ²³Ó¥n…Òh4óeËœÜÝù¦¦:ÕÕÍññåï¾{{ß¾ _ß±Ý>Mu¨yè  W¬pY¾ÜÙØ˜sãFɆ ÁÁi2™üóÏ}žÞ‚N§íÝ›qà@VhhÖW_PgØääÙÊeDE•nÙr÷С±ÔÝëN/{j/Õÿw:­Áßß|ß¾L*mËåäæÍÒÙ³mΟ/ŒŠR#P‰|Ì3¢Þ®Lõ5¦æ võe‡g ò7ô'þþæŸ|2œzþ8IqÓ««¼¼Œwìð¡n¡ùúšîÛ7fÊ”¿Â뙿Usñb!!$8xÔðáF„==fP[iiã±c¹W®”,Zä`aÁ%„LžlI%977ÃîEFÆœnì¥ÐÕ2šš¤wïV¦§Wûøt£ÃÂò ÚÁƒãÌÍŸÄ__“]»|§M»|ùrqOò÷©Sù„={|Ç{òç~OO#OO£.·ÛWÑðáFÛ·{S ÅÔ”óÎ;?üùá‡÷**šˆÈȨéö9ªIÍC¶lyòËÒ´iÖ“'…‡mÞì¹p¡=Õøî»CÏËʪíÆÅÅ•mÞ|çÀ±NNúTK§—=ÕMõ— Ó¨ü]êæf˜–V]QÑ4uªuQQCttéš5ƒårSæéidhÈ&]¿ÂU_cjž`W_vxÖ @âçg¦üÔÖV—RW×Í…8üýÍ”³”­-ÏÑQÿÑ#u"ª.&/¯ŽÏgS?¤&M²j”illYc£4:ºÔÛÛXOéïo¶k׃„„ŠÔÔ*BÈøñªsoýGëâ víe‡g ò7 t:´‰_í6R¢£Ë6løû§iAAý£Gµööz½RŒ½½î½{UII•^^O·¸~½„¢8ƒAóõ5¡îŠ54´L™rùƒîœ:5QuÙ½NEí¢Þ6§býoggýÔÔꘘiúú¬v;PïÕ+(¨SnŒ-S<62b·»Þ‹³³~BByLLÙØ±fínU}\uté•/(¨75å Q´äç×åæŠ Ú) £“êž.ºw‡}ð zݺø={|•¯mŠ:—}¯Ôàïo~ã†02R˜˜XñÖ[®„OO#>Ÿ%|ð šËe(OsêÒ®úë•ÀçïÀÀahÈ"„$$”‹Dͪ)II•|p'/¯®¡Aš˜Xñæ›q--råñzbÆ BÈ¿þ•xýz‰XÜRRÒðÝwéÇŽå²Ùô矷 „,\xãÈ‘GYYµÒÚZIdd©HÔœŸ_×iÙ­ddÌÉÊš«âŸŠ›ß–±woæ—_¦Þ¿_%575I ëþ9{÷î4Bˆ¯¯iÇcÚ74´,[vóêÕâÊÊ&‰DVTTíZɺu·bbÊ!ƒBʾu«¼±QZXX·}{rDDçK_Ï›gGÙ°!á÷ßsKJ¤))¢-[îÆÇ—«s\u¨ÿÊB¬¬¸M‡çÔÖJjk%ׯ—¬Z£™›š}tèN‡Í̬yãØ;G´»Æb§—}ou{{÷î´æfõ˜N§ùù™^½ZrçN…ŸŸ“ùäkÕWx[ª¯±^9AÜÿ€ÃÁAO Љ-9òÉ,Û¬¬¹í6R¦M³:}:?,,O1‚³³þoôÎz#¯¾ê^tçNåë¯Ç*·ø¡µHBjªèîÝÊV{)>þPEÙ½Ku"QÓYŠEÓm BÜÝÏJ¥rÅ;Açͳ¯8y2oÍš¸vG¶µåMjõ矗.¢Ú Úœ9¶gΕæÏ·»q£$<üñ–-w•Ûg̰Vç¸êèÒ+¿x±ã­[“¶nM¢ZÜÝ 6(-íÚ¼ÞM›þ±lâÊ•1Ôå%Ò[½È½uè.QEEÓ²eÑååM¯¼ÝjGjýïN/ûž×@qqÑt23k Ùžž|ªqüxAxøcBˆòìmÕW8ióª¾Æzåpÿƒâ7r¤ —ËPÝH1ÂäÀ±^^Æ:: ##öÂ…öGŽWsñïN±Xô_~ñ rsrÒg±èººL??³ÐбŠE‚OžœøÊ+N..úÔÑGŒ0ùüsÅš *Êî]ªËxûí![·5ÊÔÄ„ÃdÒLM9&vïöU|ôI»h4òÅ>ÁÁ£Æ374d³Xt[[Þ”)–{÷ú)‚ÑçŸû,\èÀç³9†··ñáÃþ£FµóçþVètڷߎ޶Í{øp#.—¡§Çôò2þüsêý|ê·S]zå'O¶ü曑C†êè0ÌÍu/v<|ØŸÍÖÄÏÖ>:´êaKKËËUMmïô²ïy þþBȘ1¦Ô”!Bˆ¿¿y«¤³+¼-Õ×X¯œ M®­7.@ÿ$ Åb±Š..ÎÁÁÂ3TõÑ:ÅgÔ­Xá¢íZzY¿ø><À8;;«ß÷¿4ó¿ZKK«ž5ëjG['O¶Ü·ÏO“õÀ@‚ûßšƒûßð, ¨XÔÂÍͰÀýoÍAþÐäoÍAþÐäoÍAþÐäoÍAþÐäoè"#…..§ÌRÑçñãúààô„„ŠNû‘“'ó\\N‡‡?Öv!‰š_}5zРÓ..ÿ›7ïzqqƒ¶Kxáó/`àxü¸!88Á ùúš¨n„^T]-‰-spÐ6ÌÈÒ’[VÖQ|ÿ~Õ›oÆ9󜶫xê @±ÃÂ&n¤h)-mœ=ûjJŠ('§ÖÉI_‹µ<…¿ ÿ¹u«üþý*‡ ppУ*NžÌ#„ÄÆ–I¥rªq̳¶AACòòêΞ- Ɖ){ð@¤«Ëš0A`cÃS§€V»§¥UóùìiÓ¬ôõY„††–Ë—KŠŠêllt§Nµb±þ1Ó¯¶V),(¨ãp˜C‡úú𶼤¤áÚµ’šÉ Aú&X´[€T*-ËȨii‘9:êM˜ àpj¾zÝ#‘È¢¢Jóóëär¹½½îرæ::OŽh`ÀRß„ss“¿þz\_/íÓªú#äoèOZZäkׯ]¾\L=e0hŸî3ož!$>¾<,,WW¦èж1(hH^ž888ͦýujlì“v&“¶y³ç²eΖAíÎáÐwï~]J5~ýuêÑ£‰låʘ’’'SŸ=<øÇ(ÂqxxÑÜ­­•(†òö6 mn®C==q"ï£î57˨§Ã‡ÍšeÛêèII•ÿúWBaa½¢ÅÒ’»w¯ßСüŽ þöÛt¹\ÕñxŒ×_ÔÑÖ¤¤Êµko••5*ZLM9{öŒ=ºõ/‘¨9)©ÒÀ€å쌛߭!@š%·Ú ÜÔTÑÍ›¥}toÊK}}Ö¨Q¦ ؇…åùù™õ$¶Û¨FFì  ')_*•¯[w+"¢8<¼hútëö†xv!À³«  Nù©\NŠŠê Ø}t8VqqCc£T9‚çç×B Y„CCvII£T*WŽà­Š40`67ËV¯n'+»¸tøfÇÎÿ¦Ói Ø/X`/“ÉssÅ×® ÿýï„ÔTÑþãÑnƒ6mšõåËÅ©©"äo€V¿`ààpè„‘¨©ÓFʹs…+Wº(¦ <˜UQÑ4i’e•7b„ÉÙ³»v=øàOªE$jÞ¿?“ÚDññ1>w®àûï3ÓE êÏUdìXóßϵ·× üǺ(ééÕÔê‡íêáüïk×J N§99é;8è>œsòd•¿ï߯²³Óåóÿþ½E"‘=›O15ÕQuT€gò7 ¶¶ºt:íĉ¼–¹‘‡4¤ÝFª?—Ë ¼6uª•™™Îƒ¢˜˜2¬ZåÒGå­Z5è…²+}|ŒÄâ–+WJ*+›†7òó3#„,_î|áBáž=i11eŠõOttþñúÍ7‡‡?Þ´)ñàÁ,//#}}VYYSffMrrUhèXkëö×/ïáüïuën±}|Llmu%Y\\YaaÝ!†ÔÖ  û푟Ÿ™­-Çc––6FE ËË› X/¾ˆ›ß­!ÀÀÁç³çͳ Ë;|8‡j Òn#õ`åJ—¨(áÙ³ÔSjýo5?éwwÃÝ»G}ðÁ¤¤Ê¤¤Jª‘Zÿ›z“â°aFŸ}æýÑG÷ÊÊ !^^ƳgÛ|úé}Å 66ºÿÇÞ}‡5uµ?™d0 {/Ùˆ€¨ â¤jÅ£Zg-ÚÚÒZW­Z±îÑjqÔQ'.Á-ÖŠ–¡" YaC!v’ïËc ‚@Á÷÷øôIÎ=÷ÜsïMáÍá½ç„„x-_ŸœÌMNæŠËmmÕÚ ¾;oÄÝ;wŠnÝ*ìÆÖ­ý±×..×®å?|X,¹‹……Ê®]´µaü¤Aü èLL”mû÷×l]èäônÝ™mÛ\'N4zó†[[ÛŒNN!BHI âõøq)‹UE£‡×mçú—2;ãí­C§“45ß›äË/ÍÞ­éë«?x°vttI~~-™ŒwtTww¯‘iÓL¼¼˜WW7YZª®“žÎ ´•Ìí¶³S»ysä‹åÉÉܺ:®.ÕÆFÕÖV­==ï˜ýûr8õññåyy|hf¦33F?>¾<#ƒÇã5«©‘ìíÕœœ4`æ '’Ÿï+))©©©‘SÁÒÒ"8¸dÜ8yuz\ttÉÂ…1k×:.XÐUÙ&ÐSzÅÏá>ÆÂBñÚÉb0þ Ò8œúóçsÚÚjn®Ð} þ û@ü @÷ø€îñ7Ýæÿô‰‰;v¤Ìkáë«ßÓ}Q¬®®ùŸŠÊóók)‚ƒÃß߄ɤ´gßÞu¦­]ºÄVQ!£ ó•ܾ]PTTgkËXµÊ^rSllYTT!›]C à hýûkŒ­G¥¾û…Õ™Ë[RR¿lYœƒã—_%Ë£¢ OŸÎÔÒRÚ²¥m­`Ù²8™»Ê\²ÄfÆWÕ68[[«JU8tˆ]`5|¸îáÃéÏžq˜Lʈz½ônºÄ߀ޡªª)6¶lôh=9uX,ÞÆ‰Ó§›Nšd$¿°K•”Ôs‡Ïo—üóOá‘#éz¬­p÷öœéYAAºº@~û÷‹ž·. E¿üò2<œ-Y’E£nÜedDC¾¼õõ‚ØØ2"'Y‘»fÍ --¥Í›]TTH±±e2w74¤!„¦L1ž>=zÕª„K—†ïšJL¬Ü³'ÕÞžáí­ƒÊ̬~ò¤kÇשSMvð)€øÐwTW7ÅÆ– ÂTXØ¥êë$~Æ S''u==*‡SÆŽ/_¾<þñc_©È¯/yþœs÷nÑÇ%.'§ÆÇG×ËKöeŠ*D}ñ…ÙˆºzzTqyDDnx8»zZt:1?ŸÿêUeTTA]]KÀýÑ/ïÙ³ÙAA¯ hgÎxcá5ÆÞ^zŒ!¤¥¥„rvÖX´ÈêðáôÇӿýÖÛÔØ(\µ*@ÀíØáŠå‹[O˜`_~ð ëöí"ˆ¿ˆ¿à#ÓÓ£>~-Å*OŸnÚºðÜ9oq޵««ÆéÓ™©©U4qÔ(½‰pí?MK«ŠˆÈÍËã‹DÈÄ„>q¢‘8ò#“ñRO·‰833åÌÌj©#O½óùÍAA‰%%u?ýdï⢎Êή¹t‰ž^ÝÜ,43Sö÷7±µUC½~]¹}{²ŸŸÑŒ¦’-`ç;eб¿— ÁÆÇ—‡…娨¾þÚ*3³šF#𛫫0d³u!ú޵£#ã·ßKK[&oÝ*¸{·(8ØCa‘»zu‚Hô®äرŒßwóó“b_þôi©™™²……ʇžrAAm@À³üüÚ½{ݱàûܹì‚–ÃGG—œ9“µeK{{F^ÿÀ–¿¿‰d^ò©SYññåÛ·»¶u”9sžˆ”‰Á <8°­­YY5¡Õ«fÎ4 NSW'Ï™c¾`—+;þnjâñ2®²‹‹Æ;EGޤoÜ謦F–ÓI»¼[¶¼>q"ÓÅEýøñ!ªª¤öï(†EÛ‡±öïO‹Š*$p;w¼ìb¾© âo@ ˆ¿½Éß§[Y©nÝꪣCIIá<È:{6+ ÀJ_Ÿ6i’‘Š ñ·ß^O›öîQKCCZëB±S§2ÍÌT~üÑN[[)%…{ôèÛ[· ÂÃÙÓ¦)$ÆÆÔçε\WSSúè¼¼ÿþ[ÃqtT?}Ú[rp]Rr2wÖ¬ÇR…?þhëáñ.)%0°ßÝ»…ûö¥!„V®´·´”ý@[[)5µ*7—/ç>zSSåððaJJ„аa:MMÂ}ûÒ^½ªÔ×§Ðìì!CCšdÚ®ÌBŒ¶6%"b8•J@ùøèº¹i~ùå“ÐÐl…ñ7‘ˆ·¶VýõW'qÉüùÕÕïÅßuuñJJ//mù!lk7nä¯Zõ¢_?µC‡jk·¤&?þV(?>ÄÕµ%IÃÇG×ÅEcÁ‚§×®|óõÌ™fû÷³BB2Åñ÷Å‹ì¦&áüù–rŽâ%’~#ù©nnš“&ýþû›×¯¹UU¶¶j\ncëàûÐ!VTTaFFuCƒ`Ù2»ÖíÉøÐÐa7näߺUðòeEbbÅÙ³ˆHÄÍ›g±j•ƒdxÝÉË«®Nær32ª““+%ãiI<^SëYP**ÞûŽA&ã7nt™=û±™™ò¢EVmnáBËŸ~Š;ö®••Ê!ÌÕ«ÚßU@ßñ7 7ñõ5À‚oŒƒƒ:B¨²²¡c­g€ßOOmCC‹U­pÇ€«åËã—-‹1BÏÖVÍÜ\Ç©¨¼—à¯O={Ö[ ••Õ?zTrâDæÝ»E7nŒjk´UÊ¥K¹,VÕØ±»w PÞí’˜XI àöî}ƒ‰4c¹Å™™<„ƒAöó3ºx1‡Í曘ЅBÑ… ÙVVªòçæk+m¿Ý»ÝÆ7¼y³àÅ‹êgÏ8'Ofzxh­Yã ù@dVVMr2!4z´Þ”)Æ2Û!p'Mœh„*-­ò¤tÿþ´cÇ2´´(_ý.Àíäåµ¶V3Çâûïÿý꫘'†¸¹i¶®#sþ++én]]*BH[›"gô}ÌýÉ“ÃÃÙoÞTµË|j þô&jjïŸ$!$ìhb­ªªô-ƒA.,¬S¸ãøñ†vvŒë×ó#"Ø,¯¡A8a‚áòåv’iÄT*Q<â>q¢“I9zômd${ölóöô ûšQVVßÔ$”Œ¿kk(&†Óz—úú– 1ožEhhÎÙ³Y¿üâøàAIAAíæÍ2&!‘ÔÉüoŒ®npp•J°µUÛ±#yîܧ׮ùèë·Lê·x±õÈ‘zׯçߺU°eËë­[ÛÌGÇ0™”)SŒÝݵ||n_¼˜#wòò"„FÖûóOÀÀØ… Ÿž<é%þ{‚˜üùO>Ⱦ}iááìaÃt¦M355…>uúì¹IÑû‰2 1))\É·|~sVVu;—Q43Sþþû~Øëädîœ9O8œz9*–!]TÔÞIè&L0˜7Ï|Õª„Y³Ÿ81Dœ\¡§Gml>ìÙz´UC£å넵µê AÚ—.åþô“]HH&ƒAöó3”¸NæK¡P^^LÎaÞ¼§÷îÏ™Ócóñ¥_]ÚÎÖ44ÈxûÌ@(ýôSüüùOOâäÔ%!xee£¾> ‚oâo@ßaf¦L¥#"r““¹ØÃçÎyË,ÄêÛÚª­^ýâ?Þ0™ÔììêššfðÍ72æo–ròdÆ‘#éJFFôÆFÁÛ·¼æfѰa-{RRå±cT*ÁȈN¥8œ†ÂÂZ„ê¸qtFÇëž<9ä믟MŸ}êÔ++ÕE‹¬ïÜ):w.ûâÅSSe‡ÓPTT+ˆŽŒ¶ãˆºFF´C‡Ò Ü—_*NÉèdþwNNÍÆ‰6$ÓëëÂ]»’kkT*q̽ÖõÉdÙóac+h8mmŠŽ¥®NÀfó¡%KZîËG¼¼˜ñã ÑÊ• óç? ñ'¬ËœÿÄÜ\Ya2OkMMø… h?}…Bøå‡Í›“ÒÓyò 1“'ÑtäHzII=BÈÔTy×®í™!îçŸ.\ÈIOçUT4 „Èd¼ŸŸáÚµ-ÏêMœhTXXw÷n‘øˆt:qâD£åËí$m'77Ísç¼,xúÅìì¬~þüÐ]»R""r32Ze0È“&I>éˆÇãæÎµÜ²åõèÑz’ ¼w‘aÃtfÎ4½q£@|Ê8rw×\³Æ¶o§… -étâýûÅÅÅuÅÅ- 'VVª?üÐÏ×·%¶þ¸—WܦH„V®L˜7ïiHˆö7™óŸÔÖ6wì †“™ m)))©©©‘SÁÒÒ"8¸dÜ8yu:€Ëmd±x&&tlº ÉBSSewIÛµµ‚ÌL^]@$Bâçç¤ ££K.ŒY»ÖqÁK¯);»šF#ZZª¶sñKLEEC^ŸF#Ð[O»ÑØ(ÌËãWU5©©‘LM•Û?5µÌ3--­Ïή¡ÑŽŽ- MMÂÌÌêº:®.UG‡Òz9›ãÇ3¶nM:ÞÛÝýãÐ} þ û@ü @÷ø€îñ7ÝÖ¿ôÑÑ% Ƭ]ë¸`eO÷E±¸¸²ˆˆÜ/*òók)‚ƒcÞ<ó#ôÚ³oWŸiRRåäÉmûµUçÒ%öêÕ/öïèë«ß}œ¦®Nž3GÞ ‘è÷ßßܾ]PTTçé©}üø`ñ¦º:ÁÑ£é·o²Ù|g`@ëß_cÒ$#77-®¥Ngî›Í9òŸÁƒµOŸö’,W ÑjjdkkÕAƒ´§L1ÖÐxoEÏÕ«_\½šÇdR||tW¯¶§Rá7/Ÿ:ÿôññå––‘°v)6›ÿÅÃÂØ™™Õ ‚ªªÆ§OKž?žÑm}è{ΟÏ>r$Íæ76 %Wn®©iö÷œÆbñêë|~sz:/44ç‹/¿}ËÃêtõ©­Õ=zT²}{²Ï?W®äIn‰DMM‚‚Ú3g²Ž}ûQŽèÕà[8|dx<ÎÛ›9y²±““ºž•é?w.çÈ‘ôÝ»S¦O7UVîἎŽê“{¶>¿ùï¿ßÞ½[ôö-O$B¡¡9>>:sæX0™”Ö•ccËB¿ÿî6fŒ>•J—Ÿ<™Ábñôô¨k×:¹»kÒéÄ‚‚Ú—/+""rñø–Ñï.º#âñÆFaYYýë×ÜÌÿ-[¹2AU•ä㣋UÛ¹sÀ¦M.ññåóç?/ïØ±} Äßð‘ÑNœ"~khH_µÊþÕ«ŠØØ²ÌÌjggõìÛGS“pæÌèÔÔ*qIZZUZZUv6ÿ~Öõy¼&M˜`H à$Ë_¾¬@mÞÜØ0¬ÄÂBÅÂBÅßßD\§«ï™Œ××§éëÓ|}õ·lI:q"cëÖ¤aÃtÄ_””C†054”ªªš:y,@ù'€^æÕ«ÊY³;:^ss»±re—Ûˆ•8Àš93!´gÏKËHìŸÌB„Ptt‰¥eä‰11œiÓ98\õð¸ùË//**ÚÓ@tút¦ŸßW×ëýû_Ÿ4éÁñãuuÍrv!‘ð!MM%9uÚÂbñ†½íéy31±!$¡°°œiÓ99]µ·¿:aÂý3g²°ŒŒ—/+,-#ƒ‚¥Z¸y³ÀÒ2òï¿ß"„’’*--#ƒƒÓÄ[y¼¦  ÄAƒnÙÛ_4éÁýûEè䇊Ž.MM­²¶V úí·6kÖ8^½:bùr{™ƒß!¡P„Ç㤂o„ª* !¤¢BúÐtæŽÈ±r¥½¶6%;»Fò«†HÄ …"™{>)0þ èM’’¸»v¥46 Buu(227?ŸþüÐŽµöâEÅöíÉ!T_/¸x‘PéC£äï¸{wŠd"or279™K"á[?A(Š8œ†ðpöÓ§¥C‡êÒ>´“ÿðCœíèQošH„V¬ˆ—Ì0NK« JLM­Ú²¥ÿþNNê‘‘¹«V9HžÅ™3YT*aútÓÖí74fÏ~,““¹‹?7ÎPaÇll.c—®-ZZJÏŸkk+—Û€ZºÔfÀͧO9d2ÞÎNÍÎN­­ú|~3™,㾌¡wíZþúõ/—/·óôd*¼w¿#ò‘ÉxoofDDnR×Þž!µ‰Ï—÷% ð‰€øЛ\½š7k–ÙW_YéèPRR¸Ë–ÅÇÅ•§¦VÙÚª-]j3p ÖÌ™ÑË–Ù-]j#ÞEf!æÖ­‚©SM¾ýֆɤ$'W%²X¼Ã‡YË–ÙÉïÆ;ET*a÷n·Áƒµ‰D\NÿÊ•<©È/3³zìØ»Øk%%ÂìÙf«W;~èùž:•¹uk’—38؃N'"„®\É»r%ÏÆFuÕ*ggu%%Br2÷·ßCCsüýMú÷ט7ÏbùòøÈHöìÙ-_22ªccËfÏ6Ç†Š¥œ>•šZen®äìâ¢QQÑpôhúÙ³ÙÚÕåâ¢A à?.õõ5_³¶VSš’µ²Rm½õóÏ SR¸'Nd<'p¦¦ÊÎÎê£Fé¥'NÿÀ|”;Ò4„Pee£T¹‰‰òÓ§¥—/ç¥×ãzüÿèM¼¼˜¿ý悽0@3 À*((1-­ÊÖ¶ÍqS9œ5¶owŦ¨sw×:thÐèÑÿDE*Œ¿uu©¡Q£ô°t[[5ùhh¼|Y‘–VåêªÑξ ¢ Ϟ͚3Ç|Ý:'qÞEx8›@À81Dœ§ág»¯ïÝ»w‹ú÷×7Î`ûöä³g³Åñ÷™3Y¡¹seÏîU€Ã¡<°è–F£mÜè’]ÑßCkR;ÏE& •  çÍ›“>,¦R VVªººÔ!C¤°W­JˆˆÈ;ÿRS IDATE™˜Ð×­s’ÙÔÏ?;ÌkþÏ?E/_V¤¤p#"r#"r5Nœ,ó+êÐi?QX½Úaùòø+âBÞÞLÉ”tÀ'âo@oâé©-ùÖȈŽêðßô½¼´q#¤FF433•ììj…;®]ë¸té¿#FüãíÍ´µeôï¯Ñ:qÂÂB%#c²@ */oxø°dëÖ×sç>‰ŠÕ΄‡ýûÓjjš—,±^±Â^²üí[ž@ òöŽB‰D›‰ ø kB$þ‹/LƒƒÓââÊÝÝ5kk—/çzy1-,TdˆÍæëèP¥†–‡ÕQwÞ_˜ùúÜ»WtñbNJ ÷éÓ8"·nÓ´i&­+S©Dmí6sµõõióç[ÌŸoÊÏçoÚôúÞ½â;’·lé/®ÓÉ;Ò~µ! ²T¹††’ÂôÀ§ž¿ô&JJïýÔ¢綆»Ž­­Ú;£wïv34¤ÅÅ•-XðÔ×÷.‹Åk]“@À1™”éÓM–/·¯¯ܼ™ßÎCŒ¡Ç`ÃÃÙRñað "@$ŠD¢w§ßÔÔòjÖ,s {GF²kjš±Àôã²±¹,~¤Uæ?OÏ› QW'ûû›xyé,Ybóï¿ãFÒ[»öåëוâ ;wˆ¿~½SZZÕ–-Ií阡!ý?ÜñxÜÇŭ·vøŽ´Sc£ðÉ“R„ƒCjÓ¼yõª20°_\ÜxüàSñ7 ïÀò}¥ ”Yˆyò„#»çåÕfgW›˜(·çXÎÝ]sÉ›½{Ý>SSÓ¼fÍ 9õ±gFkjÚ;TïèÈ8ÞÇÍšõXrÒh *•øò儌ŒÉRÿÄÓöii)opûv‡Sî\¶©©ò°aºmÈÄ„^RR'^ª]ÒÎ~~DÊÊÄÉ“…BÑóçï ½3äyó,LM•““¹ílªººI(ÉŸìïCïH;íÚ•ÂáÔ›™)·NIJN®d0Èßo«®.=4ø¤@þ  ïPS#!„ââʸÜFƒ,§“˜X±fÍ‹o¾±a2)))Ü  ÄæfQ{V\Ÿ6íÑäÉÆZ††´¦&aL ‡Ëm¬¯`[ÿú+½ººÉ×Wߨ˜N¥8œ†{÷ŠöîME¹»kµÿt¬¬T/^:oÞÓùóŸîßï1|¸.BhÚ4“øøsç>ýþ{ Rii}z:/<œ={¶ùàÁ-ù9óç[^¾œ÷óÏ/X,Þ¯¿:á¤gí{Ç×× 1±réÒØ[ž¿lOòI'ó¿ÃÂrââʧN5±±QE54ââÊwïNA©©ÉOut(ùùüÖå¿üòÇ­of¦¬£C©«$%qwíJF99µLìý±îH[…åå ‰‰gÎd?ÎÁáК5ŽRO"„x¼&Šœ{øD@ü è;LM•ut(ÏžqÜÜn`%“eb/|}õ##sÃÃÙâ,,T/–ž&¥µ”.¶ì‹¤3L±\nñcGޤKUðó3òöf~ÐÒCC‡-XðtÉ’ç;w˜8ÑhÊ“ØØòK—ØÏÛêBÈÁáêªñèQ‰²2qêTéÔbsçš_½š—šZ5gά‡CãÇÞ¸ñ‘3¤Ô× ±%BNü ú„ 2f?$p2**ïÞ-ºp!GªœN'®Y〽þˆwDRL ›N^F r1Bư)Ì;|8@Ÿñ7 ï pxnßž”’­«È)Ä  9s¦Ùž=©,V•J5JoåJûöÝ„Á _»–—žÎ+*ª£P––*>>º ZÊì0®qãmÛ\GŒ(º{·(3“WTT‡Çã hƒi/Zd%~°òãÞ‘Ö¨T¢šÉÊJeð`æ”)Æ}M@ƒuÿƒK€Þ¬¤¤¤¦¦FNKK‹àà’qãäÕéqÑÑ% Ƭ]ë¸`eO÷¥«lÙ’tòdƽ{cŒé=Ýþøã¶6¥õêE’-zöðaqRÒD*µ·N!âätÕÊJõÒ¥á=ÝÐ÷õŠŸÃ}Œ…Å<æÏ_@_#ˆ?.={6ËÝ]ë¿|£ÿ?#+“©„ ÉüèOLvƒº:Addnm­@G‡ÚÓ}ô<È?i©©UŸ~¿­­£Fé:äùßl!œœŠ½^¼Øº3Mu›ö<’8t¨ÎÅ‹ì;SvîLù¸‹×tõ/!„:T§3Múˆ¿ b2)_m=lXïˆö~øÁVa__ƒ+ì"#óòòømå‚ÿg‰8}}Ú„ †2—|j ÿðaúFþ7ôaðs¸ûAþ7ÿQÐ} þ û@ü @÷ø€îñ7ÝâoºÄßtˆ¿½Ctt‰¥eä‰rêÖ§ÅÅ•+,ìR\nãœ9O¬¬"--ßý›2åaQQ]·õA¦¤¤JKËÈàà´žíFßöq?oí¼e7&zxÜØ¢£K>ÊÑ]ÖŸô……uÁÁ©ÎÝ]S~a—ªªjzöŒcjªì䤮§GåpêïÜ)zýºò›ož_¾ìÓ=}IG‡h;p Vö¡ÏëþÏBèÖ­.·ÑÅE½¡A˜šZÕmÇt Äßð‘©«“ÃÇ»¸¨‹KJKë'N¼ŸœÌÍʪ67W驎1™”ÀÀ~=utÐu‚‚\ÜÝ555•‚‚!þà¿âo@ïóï¿e¯_W*)á‡Õ15UÆ ãâÊ/]b#„ž=ã"¬pÐ íÖ…ýØlþ•+yC‡ê891bb8oÞpétÒ°a:††´vö¡©Iøøqin._$™˜ÐfR(l“ª*I2øF1™WWÍþ)¬­(lYÜ7ggõÿ夤TÑéÄ™3MBèÙ3‹Åknš™)¦£¤DÜ·¨¨îÁƒâêê&++•aÃtÓÓywîg`i©‚*-­¿p!gà@-É!ðêê¦èè’¼<¾’ÑÁAÍÝ]«uO\\Ôe^ó.%çdSR¸÷î‹ÏK²püx ßpQllYZZ•PˆÌÍ•½½uˆD\{Ž«ð‚ÈüJ~ÞZßS„PvvÍëוEEuÊÊD Ƈ^+__ýÝЃ þô&ÍÍ¢%Kžß½[„½%pÛ¶¹N™bŒŠ- g#„ž?ç<ÎWh]ØÍ® N%“ñ¿ÿžòìYK9‘ˆûåǹs-v#1±bÉ’9œzq‰––ÒŸz´•ÚÁå6&&V¨ª’††¡ÿ÷ ·wï›'OJBööŒ™3M+~ø!.?¿V\SOú×_žâpíâEvPЫÆF!ö¶  ƒƒS­­U±8µ¤¤.88U2%*ª`Íš—ÕÕMâ6û÷×8p` “I÷„J%:Ä’yÍÛ²o_šH$ïi4¢EVr*È?Ù””*ÉóÂ`…¶¶jò/ò«W•?ý—›Ë—ÒOœlf¦¬ð¸ /ˆÌ¡ÄçMúžÖÖ ž‰kb†Õ9pÀƒJ…_ÐôYð¿7 79~<£¦¦ÙÏÏHG‡š’Â}ú´tÆW£G멨<<´üýMÂÃÙžžÚ-ñ¥ÌBÉÖjk›ýüŒ´µ)))ÜgÏ8›6½¶±QS˜!½}{ ‡Sok«æé©M$ârrjž<)MOçIîXYÙ’%ŠJKëîÞ-®®nÚ³ÇJ%Èiöý¾eÖÖ6þ¹¡±1]W—ZPP»`A ×äì¬áì¬N&ã““¹ÏŸs¾þúÙ;£••‰¯_W®_ÿR ¹»k991*+oß.„©{ŠRV&…… SQ!%$”——7H__ýü|þýûÅЇAü èM¦L1–LÑ>\7<œ]RÒÁyý&N4”ÌU˜?ßâðáô„Å3Ç«üxÆÅ‹ì#t±T % %É:J¶°¬¬áñãÒ ^=yRrð '×F£ïóó3’ Ôbb8®¢¢ñÀ–H$¢[>¿!””T‰ÙË—•T*ñÛoßÅ|††ôéÓMŽ}ÛÖ!Ê Üòåvâ.©«“—,±Y»öeBB¹8þîÀ5è…'«°…ººæ£GßMUI¡à¬BÏŸ—áñ¸ß~sß!CCú·ÃB©{ŠÂãѱcQQR5ËÊÚR€^âo@o¢§G•|‹ £67Ëkm›‘]ò-30 %%U*ÜñÇmé—/çmÞüšF#öï¯îçg?ŸÆÿÿáhØ€ºÂ㶇œÏ[kýž=ã¼}Ë;q"!D$â6mêî\–ääíñÏ?…â1BHüZjŠtÀÄ߀ÞÁÄD90жÍÖ…NNïÖ Ü¶ÍuâD£7o¸µµÍáä"„””ð!!^—²XU4qøpÝv®¹ÿ@§>>¾M(ñx-sY¶¾e2£ob"ãÄ!øà¿ '’Ÿ£ï+))©©©‘SÁÒÒ"8¸dÜ8yuz\ttÉÂ…1k×:.X 8Û¤·HNæÚÛ3ÄQ~r2wúôGÊʤgÏ>kýä ë?‡û Åk'‹Áø7HãpêÏŸÏik«¹¹ò„ †ÿÁÆÿü35+«ÚÍMKCƒœ]óàA±@ š;ׂoøOø¤••5HN´,eÔ(½ÎÄß]׸£#ãáÃb6ûÝœƒS§š,Y"½ #àSÐÜܨ¸è!>Emåãb´´”$'Z–¢0ÃX¾®k<0ÐvÊ“„„ò¢¢Z²‡‡¦••j‡[ôfåAAn993(”>ö ºä>LßÈÿ€>ÌÒRüøìc0+W®œ0a®gg5ú|Pþ7¬žÐÇPÇŽ]v÷îÝ!C†,_¾ÜßßÿåË—=Ý%ðÄß}“ÉܶmÛÍ›7 ÆôéÓ7mÚÔØIáÿ ôY–––ÇŽÛ¹sgxx¸ŸŸ_jj›Ïƒnñ7@7yòä7n0ŒÉ“' ‚žîÑ' âo€¾ÏÐÐðÌ™3?þøã_ýµhÑ"×Ó=útAü ðI K–, MOO÷÷÷ÏÎÎîé}¢ þø„899EFFª¨¨LŸ>=99¹§»ó)‚øÐ;$&VÌšõ8*ª°§;Òµúöir¹²/~ðüÏ?S9œúžîŸ(&“yæÌGGÇ/¿ü2..®§»óÉøÐ;TU5ÅÆ–ÕÊ©ÃbñfÍz|ùržÂÂÿ¬öœf/•›Ë7îÞ¼¹w¯øþý¢}ûÒ>ûì^z:d Ð3¨Têáǽ¼¼¾úê«ÄÄÄžîΧâo@ßQ]ÝPP«°t¿+âKKë ÐÜ¿à_yz{3¹ÜÆŒ afz‰DÚ»w¯§§çÂ… ÓÓÓ{º;Ÿˆ¿t¹ÄÄŠ/*Œé§N ñõÕ=Zïï¿ÛÛ3ÒÓyOŸrzºw|ºˆDâ¾}û¬­­***zº;Ÿ bOw> —ÛxútÖëוJJxÝ©SMp8„º|9ïØ±·¡°0öÓ§¥XåéÓM[ž;ç˜X±cGÊܹ®®§Og¦¦VÑhÄQ£ô&N4ÂZ“ãÕ«Ê;“'O6ž6ÍD²<)©rÛ¶äI“Œ§Oo)Ïή¹t‰ž^ÝÜ,43Sö÷7±µUÃ6‰;àî®yæLVJJ“©´ysqk¥¥õò;ýz~^ŸLÆ;:ªÏœi¦¥¥$Þš–V‘›—lj‰ }âD#{{†äîrúÖ° {út …€•¸/¿4[³æett±·7³ë OIIéàÁƒ“'O^ºté™3gBO÷¨ïƒøЛ”—7Nšô ?¿%™äöíÂädnP3B¨  65µ !”ŸÏÏÏçc† a¶.DÿO³vtdüö[biiËS€·nܽ[ì!?·³SKOç>œ.Ÿ;—[¶~½“øíƉAKrEttÉ™3Y[¶ô÷÷7wÀÉI]Ü;»wáoqqݤIätlëÖ¤ãÇ3ÄõïÝ+>q"óèÑA®®¡ˆˆÜÕ«DiÇŽeüþ»›ŸŸQ{ú&Óœ9OÄõeb0ÈlkkFF5BÈÙYC²{›™Y#§Y@7PWW?|øðÔ©S÷ïßÿÃ?ôtwú>ˆ¿½Éß§[Y©nÝꪣCIIá<È:{6+ ÀJ_Ÿ6i’‘Š ñ·ß^O›f:iRK ihHk](vêT¦™™Ê?Úik+¥¤p}{ëVAx8[*°–B&ã'M2:y23.®ÜÝ]+¬«ܸ‘ï討"¿xQ”H£fÍ2wvV'“ñÉÉÜ'2Ö¯åé©ehHÇö:y2ÃÌL%0ÐÖØ˜®ªJjgÇþù§ðøñ "7ož…‡‡vuuSx8ûùsÎwßýûàÁ%%6ä?w®ÅàÁÚD".'‡õjׄ5ÞξI‰-“K޾·VYÙ€ÒÖ¦H2™„—Û(gG@÷°±±ùùçŸ7mÚ4lØ0—žîNñ7 715U¦¤D@ ¦ÓÔ$Ü·/íÕ«J}}šÍÎŽ24¤ ¨%ÞEf!F[›1œJ% „||tÝÜ4¿üòIhh¶üø!4c†éÉ“™/æˆãïë×ójkâ+ŠŽ‚ Hcí»¸h,XðôÚµ‚o¾±Æ ™LjDÄ0*UúG±üŽ]¸ƒÚ¾}€ø…ŸŸÑܹOž=ãÜ»W'I"É{ ‹Ý „÷þ²€½mjÊkÐ]fÏž}÷îÝuëÖ]¹r²PºÄ߀ÞÄ×× ¾1êèÿc«0nœãb<=µ i,VµÂ­¬TÕ£¢ ýÕIE…„ºx‘M¥'Nl ˆ+ ÜÞ½oB"Â"׿f!B(3óÝŒ{¾¾ú­ƒo…KK«¢R‰âd„‡fÎ4}öŒ“šÊ7Î ÀjùòøeËâFŒÐ³µU37WÆãqX?Ûß7)Òß^>v:|~³d!ö–N‡ßDü'àp¸   qãÆ>}zÁ‚=ݾ ~êz55’ä[ ‡vtüTU•,UÂ` ëÚ³ïŒf¿üòâÚµüY³Ì23«_¾¬˜2ÅXY¹å‡jm­@ ÅÄȘ٣¾þ]wõôhèXCƒPU•(•¤®¦FÆ6!„Æ7´³c\¿žÁf±x   —/·ÃR\ÚÙ7)Ìÿ60 #„rrjÞ=š]ƒ20}ÝÏÔÔtáÂ…˜1cÿovˆ¿}’ŠÞÏ“YˆIIáJ¾åó›³²ª±¤d…&L0ܼ91,Œ=k–ÙÅ‹9!ɬ==jc£ððaO©Œ „††dl-;¢•ß1&“’‘Á+)©×Ñy×Õ¤$.BHG‡Š½53Sþþû~Øëädîœ9O8œz,>nwßÞÓÉüo''u„ЃÅ&Š ïß/F9:ªËÙÐÍ-Z²xñâžîKŸñ7 ï Ñˆ¡Ü\¾ÂBÌ;…—.±§N5AÕÕ Ö®}Y[+?^§}Ç"ŒoÆNJª¼|9ÏÌLÙÝý]†Æ˜1zÁÁiQQË—Ûa#Ó¡êê¦ÈÈ\77ʼnò;æíÍ|û–·jUÂÞ½îêêd„P\\ùáÃ,lBhçΔ©S-,T°ú:: [Ö™¾u2ÿÛÇG‡J%\¿ž?nœáÈ‘º¡¸¸²sç²I$¼¯¯¾Â è6 cΜ9§NúꫯˆD»\V@ßaf¦L¥#"r““¹ !tÌB¬¾­­ÚêÕ/þøã “IÍή®©i¦Ñm=€ØÚŒfaaì+Ê˾úÊRrÓ¢EÖwî;—}ñbŽ©©²Š ‰Ãi(*ªDÇFHÁLÛò;öõ×VW¯æ=}Zêíen®\SÓŒÍó=m𩵵*BèäÉŒ#GÒ54”ŒŒè‚·oyÍÍ¢aÃt:Ó·Næ«©‘mwìH^¼ø™••*‘ˆKðTÏw IDATK«‰Ð·ßÚèêR;Ó2ࣛ={öÑ£Gïß¿?f̘žîKßë_ú …ðË/JJ„ôt^ll6â+³3y²ñwßõ«¬lLJª¬©i65U>uÊËØXö|­¹¸¨[[«ffV¸)SÞ›2…F#œ??töls‰‘QýòeE~>_E…4¾…Ô:82É6åüù¡Zõõ‚7oªrsù qɛ͛[¦ ûùgkkÕŠŠ†ÄÄŠÔÔ*<ççg´k×€Ò·ûúk«+ìètâÛ·¼ÔÔ*%%Â7ßXÿø£m×Ð1zzzC† ïéŽôY8™9‘Ж’’’šy ¦XZZ—Œ÷‘UárY,ž‰ ]r¸+45U–Ì„®­dfòêê"Ï9(U]²paÌÚµŽ XòxMÙÙÕ4ÑÒRUáâ—RrrjJJê©T–ßÜZS“03³º®N «KÕÑ¡àñ89§#U®°cN}~~-™Œ·´T‘œSQїǧшtMÆTbmõ­KÕ× 23«…B‘……ªÌ^:¯ó?‡ÃÂâââ¨T¡ºqãÆÙ³gׯ_okÛ“_§Ÿ={•ŸŸ¯©©9dÈ &´5…âºuë²²²ÌÍÍ7oÞ,.¼páÂÕ«W·mÛfb¢`þÙ¶XXX´¿2äŸzƒÜzo™…4¡õ#}2 1ªª$©uÛÏÔTÙÔTYN ߯ŸŒŒ™=—*WØ1mmŠÔŠ6’44”44ä=ÙVߺ…BèÒQvÀG1|øðÆÆÆ˜˜˜‘#GʯYTTËãµ9{iWknn^¹råµk×Ä%wîÜÙ¿ëÊW®\ ‰Dµµµ’åyyy±±±R…]âoÆfó׬yÑÖV77ÍŸ~²ëÎþ@7ÓÒÒ²±±‰‹‹S?ÞÑѱ¿7nÜxíÚ5• 8;;×××ß¿ŸÃ‘1Å*—ËݺuëŒ3.\¸Ðýý”ñ7H«­m–L—"¹P<ôUÎÎΉ‰‰ «ééééééuCdb±XçÏŸ§R©aaa––-ÏÁ;¶ºZÆJjÛ·oWVV „øzÀС:“ÛÚjk«&g+| ®_¿Ž‰D=ºsçNII N·´´œ1c“ÉĪIægee­[·®uS ãàÁƒâ·X®v^^‘Htttüâ‹/´´:8ÃRDDBhÞ¼yâ࣢¢"Uóßÿ½téRHH…Ò®E²²²6oÞL¥R7nÜØáîµâo ÍÐদ†Ëånß¾]j.”¿þúëöíÛFFFèýüo>ŸÛº)ñ³‰B¡põêÕ‘‘‘âM÷ïß?uêÔ©S§ìííB,kãÆò;6hРï¿ÿ{ýòåK„И1cbbbªªªLMMýýýíìÞËlll\·n¿¿¿§§g{RÕcbb¾ûî;MMÍ¿ÿþû£ßâoК¡¡!B(--íÒ¥KªªªK–,±¶¶nhhHOO ­««k½‹¹¹ùÙ³g%K=zyèÐ!ìí‘#G"##ŒŒfÏžmaaÑØØøäÉ“ÐÐÐeË–EEEáñøêêj™¼$mmmñëââb„PBBÂÖ­[±9ý¢££Ïœ94kÖ,qµÔÔÔ¬Y³¦='ú믿º»»8p@M­KR‡øHc0¡ºº:‘H4iÒ¤€€¬|ìØ±‹/ …­w¡Ó鿉‰¹víÚéÓ§ÍÌÌB"‘èøñãÚÚÚ—/_ǵcÇŽUSS;tèЫW¯\]]mll¤"øÖ455ů ®]»>ÿüó1cÆàp¸{÷îEDDlܸqРAØq322Ž9²gÏUUUù- …ÂmÛ¶;vlÚ´i›6mêºå?!þÒ°BèñãÇ 666ât@€ÊÊÊš5k–͆ Ä;*))!„Š‹‹E"‘œ³ë<ˆ¿€4l©ceee„»»»»»;BH \¾|yõêÕ$iÞ¼y2wLIIYºtipp°“““d¹®®.‡srrZµjUë½LMMBšÿíììS^^.Y›ü›F£!„°%uX,–T#µµµ±±±X,.öÛo¿………:uªªªjÇŽm­ ÙyiØÚ<ïèÑ£S§NÕÐÐ@}}}„Pll¬Ìø›Åb-^¼ø?þpuu•ÚÄ`0<<<âãã³³³§NН#„òóó/\¸0`À„ЇæOœ8ñСC‡.ˆ¿½CttÉÂ…1k×:.X`©¸6€Îa³ÙÁÝÝ= ""¢°°°°°!¤®®Žå·ÞåÑ£GX*Hii©d¹x mkkëK—.mݺ5:::55+455>}ºx8üC­_¿žN§Ÿ>}:==!D üüü‚‚‚ðx|ÇDÍ;WMMmÕªU³fÍ:yò$6öÿAü è;âãËgÎŒ^¶ÌnéRù…äc±X¦¦¦ÚÚÚ«V­Z¹reQQQii©ºººäÄ|ãÇwttÄž³üì³Ï¤¾ÁHÆÖæææÿýwuu5›Í …†††Œn ÂÊ•+¿ûî»ÌÌL@`nnÞzñKIt:ýìÙ³t:]²pæÌ™C‡511—øùùÙÛÛ———WWWCü º‹Å²¶¶Æ^ãp8}}},ó[ŠžžžžžöZWWWWW·=«¨¨888|¬®"„¨Tj;$­3OŒŒŒ°å<%YZZJ-kÿ±t|dôI"‘èÕ«WØšðࣃño@/óêUåÎÉII\%%¼îÚµŽ !tàkÏž7¡={Þ`/BË–Ùµ.ÌȘ,Î&·±QÛ³çMjjF5JwÅ { –§ÝÑÙ³Y—.åæåñE"dbBŸ8Ñè‹/L©Ô.üÉY_/8r$ýÆ‚¼<>™ŒwtT°ööfb[ÅÝîß_SæE€âõë×¥¥¥Ã‡ïéŽôMz“¤$î®])B„P]ŠŒÌÍÏçŸ??´c­½xQ±}{²@ BÕ× .^d'$TDFúÐh„ÐîÝ)G¾WNNæ&'sI$üœ9æm5hcsk­-ZZJÏŸkkkS“pÞ¼§ -Ù66 Ÿ=ã<ÎÙ¸ÑeÖ,3qµ{ µû÷ïôëׯ§;Ò7Aü èM®^Í›5Ë쫯¬tt())ÜeËâãâÊSS«lmÕ–.µ8P«õ£–2 1·nLjòí·6L&%9¹2((‘Åâ>ÌZ¶Ì!tçN•JؽÛmð`m"—“ÿr% Í»HHHVBB¹¾>-(ÈÉÃC»ºº),,gÿ~Ö–-I£GëikS^„®ëàÓ!‰¢¢¢FÕÓé³ þô&^^Ìß~sÁ^ `”˜–ÖÁÐÓÙYcûvWlaww­C‡ýOTT!ëêRB£Fé8„­­šÂ£°X“:Ð ±›7óBÁÁ..ê!eeb` miiý… 9÷îÏœiŠUû¸¤DGGgffþùçŸ=Ý‘> ž¿ô&žžÚ’oŒè!>¿¹c­yyicÁ÷ÿ[£™™©°Ù5ØÛµk…Bшÿ¬[÷òìÙì7oª:Øévc³ù  ¾ÅFŒÐC‰{…>öE)'Ožôòò‚ä“®ã߀ÞDIé½Q,zÉ˸î8[[µ;wF¿xQ‘PWœª®NþóOÕ¶védþ7úÿÉ×ð©IMM}òäÉáÇ{º#}Œú<‡’Š€ebž<áH†­yyµÙÙÕ&&ï–&pîîšK–ØìÝëþðᘚšæ5k^tQçB&&ôÊÊÆÄÄ É‡‹B’½€®³iÓ&ŸžîH_ã߀¾CM„Š‹+ãrÅóñÉ,Ä$&V¬Yóâ›ol˜LJJ 7((±¹YäëÛ²ÀÄ´i&O6öðÐ24¤55 cb8\nc}½@N:™ÿ=nœá«W•?üä俦USÓξp!‡LÆÙ®%- 3®]»†kÏã@GAü è;LM•ut(ÏžqÜÜn`%“eb/|}õ##sÃÃÙâ,,T/n™&%%…ûòå{CÑ¡3L»®ÿsæ˜GE¼xQ±hÑ3ÉòuëœÅ“Ÿ@ár¹Û·oŸ:uª³³sO÷¥ƒü@ßA àðtsÓ¤R ò 1h;6ØÙYƒB!¨«“§M39Þ[<Ãà¥KÿüÒÜÒRÛ:`€æ¶m®k×:v]ÿI$üéÓ^¶ææ*$žN'zzj?>Xròoè "‘èçŸÿ×ÞÆ5qío?I !aß÷5("" l".UëB­X·Ö}ébKµ¶ÞVíÿj[—^íU©Zm+¶R—ZÐb«¥î"QQö€P kHò1½¹¹,IH <ß/˜3gÎüfÆ}:ž™ù˜F£ýãÿPw-ýM‚gv ;ø|¾@ ÓÁÕ•Å ‘×Gí¤’\²ÄUݵô²çø=|äÈ‘/¾øâÈ‘#}WX?Æår•ïŒûß…X,îØ˜’’²}ûöÈÈH„oÕ@þÚÚÚ–.]ÊãñdsssW­Z5yòäwÞyG]… 4ÈßÂ矞””´qãFiKqqñâÅ‹===wìØA§#ªN4 DcÇZæå½†Éß0pœ9sæèÑ£„äääS§NB·ìœÂž·Joíýk¯ Ç$va¬“±SOv  ù4‰½‘½ì"F·5´Í¬È¤WYí`äðkö¯_\ü‚ÃäøØø„ "gÀžÌÿnikÙzi«³‰óé¬ÓÒFjöùþäýLóÝÑïJïħ–¤Ö5×MwŸîhä¨Ä@¿…ü š¤Ý«µ%IY]™ëïWÛÒiô9ÃçÌ>G,U]É¿òÁ™²+²?ÿQWödþw£°±¦©¦¦©æ>ÿ~»URBV^%my;èí¢ê¢£w޶ˆZ¶LÝ 3ä(ô[Èß IÎÜ?³Ô©t Êá[‡Ÿ6>à:Z¼’we¬ËXA§Ñ]L]œLœbÒcâ2ãääïžÌÿÖÑÒ‰ Žl×xìα' OÞõ“Á¤š´FhŸMùÌPÇð›”oêšëö„îa2˜ úäoÐ$lmvèáÐ)nSÌõÌïóï'%Óh´eþ˨µ«N¯2f°aod/ o”Ü(­+b1D΀=™ÿÍÖfwÌß]xÒðä w: îkÇ­5æo»¼mÙÉefÐeê>÷Þ@C!€&Yê·ôzáõøìxj‘zÿ·ôõ‚\'\xxáHûÛÚm¶U …vm©ßRCÃõ¬ãøÑó¢ÙÆê®T ù4ƒ£±cdpd càÊÀ•× ¯çVær˜œñÜñ²ß¿ÜûÚÞ*AÕ­Ò[¼Z‡Éq6qå8Jú¤j„{‡?ix¢M×nW¹­´e¶çlK=ËÛe·“‹’_qE•å€ÚÑ$yÚáóù@NWWnT?$D^è;ø=¬z\.Wq§ÿPém!€ù@u¿Tù@u¿Tù@u¿Tù@u¿Tù@u¿Tù4XbAbÄшT^*µXð´ âhD\fœz«êE«H9°øçÅG#2g¨»èZê.àùU5T¥òR««©Å†Ö†T^j c`ßí1·*wóùÍó¼æÍ6³ïöB =šÍÏ–.Ö5×õõ@¿ ÿp1u9qÔÖжïvQßRŸÊKí<ºïv!UÙP9ÈlÐÄAT>¸šU{@þ€þC—©à î*zMüâx = BȦó›Ô] ôäoÐ$ ¹ žµ<d6h‘ï¢vk žlLØ8{øìÙž³ !3¾¼òåBß…~ö~?Ýþ)»"ÛBÏâ‹©_B « ã2ãV=l·9›8Ïñœãné.;TqMñé¬Ó*ˆ%bS—¹ÃçrM¹¿fýz(õ!ä—Œ_þ*ü‹êylþ±>:X*|@?ƒü ãgÿ!}¶2± 1.3.Ì;L¶C»ùßuÍu©¼Ôá6Ã?»ðY¥ ’2Ôr(!äØc›ÏoIDÒ¡~ºýÓ–©[æ ŸCµütû§Ï/|.íp9ïòá´Ã'œ,{V–S™C)­+-­+•_í‚ã Db‘œFl£ý³öwç@€ü šá܃sq™qlmöR¿¥^6^ÕÕGÒ|ó{…þöƒ³‰sdp¤ƒ‘ƒŽÁí²Û›Îoâ09>^Ö^L3«"ëð­ÃŸþùi c ¡ÝÍ’››/l&„LwŸ>ž;ÞPÇ0ÿiþ/÷~´fzÌÔgévá³¹^sgz(xþ2•—*?›éšuë @ÿ€ü šá—Œ_!»CwOtHµÌð˜ñÊ¡W « åoh¡gqjÑ)¶6›Z|÷ô»b‰8z^ôÛTËK®/yÛz/ùyÉo÷{{ÔÛ‡ÓK$’“6.ö],í°ÄoI‹¨…£Í¡î ÛÚ)œh#‘HätÐfhËú%äoÐ ¹U¹Fl#iø&„0ÌCgìIÚ#énS¥á›’QžÁ 1v_ßM‘H$"!„´‰Ú!ùOó !™å™,-Ö‚ daÐ:§[ûÛûw«? Èß šÛštŒÚ5±Û·tdm`-»ØØÚ(’ˆ’‹’;Ù…°™Ò"j1Ô1dÐ=(–Ìÿ€. €f°Ð³(|ZXÛT+›¹3+2»;޵u«¨õà샶 Ç„êÃÏáÕòìì;nN#4Bˆü‰%Ìÿ€N!€fã<&ïIÞÇç>Þ9}§Kòǃ?â³ã»;ÎäÁ“£’¢rÖŽ[k¨cH5Ö·ÔŸÎ:íkçK™4hR?'2>ò«é_¹˜ºBÄñï÷l>xˆÅŽ6‡RR[¢pG˜ÿ BþͰ<`ù©ÌS] ÚäbêRÝXýøÙã¡–Cïóïwwœ .»sìdÆI''}–~• ª¼¾\$EÏ‹&„,ó[v6çlfyæÔï§ÚÚ² « -‚Ã~$„8›:³µÙ§2OeUdQóaºzÿwÏçïOÞŸT˜D)ª)"„|yåË)!«Ç®ÆärÍEWwJ±Ô³<~dÙ FacVEV¥ r‰ß’vOI*ƒ£Í9q|þˆùÚ í¼'ywÊî”Ö•ê³ôû.ö°ò „è±ôNÌ?1ÃcÐJjK2Ë3›„M¡¡îî„-õÖ³´X«¦òRSy©½¨ÿ‘ÿ4ŸÚõòòܪ\j±º±ºïv }¦Ì,F)>Ÿ/ätpuåFEñCBäõé‰ü§ù‚V£‘£Û¨JPUP]0Èl5u»¡µ!«"ËÖÐÖÎÐŽRÛT›[•ëhìh¥oÕq¡H˜ÿ4¿IØd¥oe©oI§µ¿Ñ(lÌ’Ï 3œLœ¨i'íV5µ5I$’¾ûâ}þÓü' O:¶K S}ý{:âr¹ÊwÆüÐ0\ÓÿþŽ3×37×3—.ê2ueÓ°ÛHN8Öfh±"gGmާµgwWõ"®)Wö` ÀüÕAþPäoÕAþPäoÕAþPäoÕAþPäoÕAþPäoÕAþÑ$lúââcöôå ×í®ÂÆWw¸nw̡ͩ:d–gºnwJŠRo/¾„Ü×í®7Kn¾Èg,± Ñu»ëá´Ãϱ­Â¿*Dz±öT挽ÈW`à@þ•õíÊŸ•K$u×¢Ù.ç]6Ð1ðµ÷Uw!}¥ïþªÜ*½åºÝu_ò>•ù"_¬¾8–º PÖ•ü+ú,ýØ…±Î&ÎtòÑø>ÿ‘ºëÒ0b‰øjþÕq.ã4†ºké+ýæ¯J¯_,Okϼóze(xnÈß 1ªU.¦.\S®º ÑlwÊîT7VOp îBúP¿ù«2.À„ü à‹‹_üpëBHÆã ×í®íÖþ¶ô7w ÷N7”H$±÷bOÞ;™[™+’ˆœMœÃ¼Ãæû̧Ñh„Ăĥ'—n˜¸ÁÇÖç_Wþ•Y‘ÉÒb½Ä}iÃÄ Fl#é i¼´ãwß-»[^_®ÇÔó±õy3ðÍ‘v#©µÒAÜ-Ü¿JüêAåCÃ7F¼ñÖ¨·!GÒĤǔՕÙÙ­³fÚiJÖÖw.ç]fÐã\ÆuºVɃõ°òØ•¸+»"ÛÅÔå×Å¿ŠÄ¢£wŽÆÝ‹ãÕñ$‰£±ã áÞálmvON%¹(y×õ]9ü“3iФÇ}hÂ1éêè”ÿ«ÒÜÖüíoÏæœåÕò˜ZLO+Ï•+Ç8‘sêö%ïÛ•¸‹²+qõ!„º,ÿjÊ9?rÆìx±”¬YÎË,Ï|íÇ×"ƒ##ƒ#©…%É©¬S±÷Æ”«6 IDATbT>‰E\3n˜wØœás¤S9Èü ý–D"ùð÷ã³ã¥-*l:¿)‡Ÿ³eÚicfE掫;ZE­„&aÓé¬Ó¥u¥Çç§ÖV ªÂ†K;×4Õ\λ|-ÿÚO?ùÙûIÛï>¾»ýòv‘DD ²óÚN–«ª¡êÛßR ž¼ÿ¾“‰•ÿ”¬­·¹‰Ä"9‡l¦kvã½òOË¥¼K~~:W)y°·ËnKV,Bv^ÛùÝÍ爐*²²*²´éÚ F.6v÷ýw_W¶SGÝÜÖ|2ãdziúéŧ9Úù‡)ŸP$\tbQzi:µØ*jM)N¹QrcóäÍ>ÝMáÕTæütJöb)Ys·Î˜ÂÊ%Éê3«Ï朕vÈ,ÏÌ,Ï´3´ëÆ €ÿ…ü `ã¤'môÙåãbâ·(NÚ¾ãꎃ7vµU|v||v¼›¹Ûº—ÖyY{±´XYYŸ]üìçŒŸç ŸãcëCu;“}&Â'b™ÿ2K}ËìŠì5gÖ¤ñÒrø9î–î„ì¼pä¡–CÍtÍêšëRKR×]w å€l$=›sv‰ß’ž‹M8&× ®­Ž_•%–ˆ·…l›è:‘N£“òÍ¡ÔCÑ©Ñ;¦ïP¾¶^Ç«åå=É{ÝëõN×*y°<øc®×Ü•+Œt!äÂà lmöÎé;ƒœ‚´èZEÕEñ÷ã9Ìÿ |Ý=EÒ}ÍöœýNÐ;zYY›ÎoÊ­Ê=˜rpÍØ5‚’UbnǤ—¦ÛØlš¼ÉßÞ¿¾¥þ—{¿ìýkï–K[^ô²¹žy§ƒ¯ ZàöSØš±kV­’¶+¼šrÎOWcv¼XJÖÜ­3¦°òØÌس9gØFkÇ®ÏoÄ6Ê{’wüîqm†¶œÊ@>äoè·b3ctÆá×[èYP-~ö~»^Ý5õû©]”fÜ`çàϦ|Fý<ÒnäÊÀ•›ÎozPõ€ÊßfºfŽûðàƒ6>mxJݾ%„äVåÊîk¬ËØ 7P?Ou›:iФ„Ü„õ×Ï>—j\7~ÝÉŒ“yOóºU[;¹ër;mWÞÅG !]Í'Vò`½m¼·NÝ*;OÆÊÀŠ2ið$ê1AwKwêìÉêî)¢xÙxmÙNíËÏÞïÀì/ûrBnBWù[IçrÎB¢fFyÛxBôXz‘Á‘•‚ÊwO\Ê»æÖ­Ñ^MeÎOGí.–’5wëŒ)¬üTæ)BÈžÐ=£FS<­==­=»u~ äoè·U=‰Ecö!„H$ ‘P?B?{,íè(»•½‘=!¤¡µZ¼]v{þ±ùB‘°ÝàÍmͲ‹þöþ²‹66„?»ÿÞ3fЖú–Ožt«¶^w9ï2×”ëhìØéZ%v´Óèv“Ô7Lذêôª &Œqãnéîcã3Ôrh»Aº{Š(ÁNÁ²û²7²w6q.¬.$„Ô4ÕøíùïæFl£[ïßêü°;(®)6bQAVj‚ë„wO×wwp…WS™óÓQ»‹¥°fŠœ3ö•ç?Í7Ô1”†oèÈßÐoQS“;0-1YZ,ÙU4B#ÿ‰ „)„"adpäÌa3-õ,™ &F›üÝäêÆjÙ­ÚB£u:²X,îVmíôpþw}K}/m©ÿÒ®:(y°²§RÜ-Ý/¼yávéíôÒô´’´¨ëQÆã=¡{ÜÌݤ}º{Šúu¡{…«©Ìùi§Ó‹Õ‹5+Y9ôäoè·¸¦Ül~vò»Éú,ýç„WË3Ó5“¾,‚RR[RT]Ôéó‹*®­» ÛÄmr^fדƒeÐ~ö~Ô4ñ&aÓËß¾üɹON-:ÕÚ“Š’VY-½¡Ë«åVR·„ÙÆÏý¶ GcÇ»ïf<Îð²ñ’6^Í¿J­’38õ6ñvU™«)çüt:fÇ‹¥°fŠœ3Ö‘Âʹ¦Ü4^ZrQrS’gÂ÷/ ßšë5·IØ´ðÄÂËy—««…"aY]Ù•¼+«N¯J.JVr›§OcÒcê[êë[ê¯æ_]vru×Põµå®ËÍû8OÎù/?¹”wɈmäcÓåÃÏ}°scæ»s,ïI^s[s}K}bAbmSmIm‰Â ÊxœñÉŸ×7 ›n•ÞzûÔÛmâ¶©nS{8lˆ{!äýø÷¯æ_´*ê+öþµ÷ÄÝLs¢ëD9êBÒxiµMµÒF…WSþùétÌŽKÉš»uÆV>Ës!dõ™Õ?gü\Q_Ñ$lʪÈÚðdžT^jW•€B¸ÿ ýÖ¬a³RKRã2ãVÆ®l·ª«€tî~­àÚæ ›7_ØLµ µ:Ø|p¥ Ríµu‹H,º–m‚ëê%zîƒÍ®È¾Sv§]ãëÞ½p SݦžÎ:{/VÚÂ5å¾9êÍ»`Ä‚„ ·Ën/ÿe¹lûÆI»zù ÅÉØÉRÏ2¥8ÅwÏß„Ïû8OáÕ”~:Ž™».·ãÅR²æn1…•Ïöœ}-ÿZBn†?6È®¥þg Ó³ÑéŽ@î@¿E£Ñ¾|å˨™Q£Fêj3´íì_üò7³¾í¬ìód“Mú÷«ÿb1DGKÇBÏ"Ü'<&<†É`¾µuKzYz]sÝÄAònî>÷ÁÆ-Œ{cÄ®f®:Z:Ælã‘v#·…l“¾í¤'FÚ<4÷—5òÜásÏ?Þ×B´ÚGÂDGº˜ºh3´u™ºŽÑó¢¾ü›Ag웵Ï×Ηú´EáÕ”~:ŽÙéÅR²æn1…•Óiô¯g~½eÚoo¶6[¥çeãµ-d[ c`Wg¢IŸ1PŸÏr:¸ºr£¢ø!!òú€êm»¼íHú‘[ïßÒeꪻP ï.VJqÊ‚ã >ÿÑ›=ý7x‘á÷°êq¹\å;ãþ7À€p9ïr€C·F裋ÕÐÚ@}ê’zÉ&¨ æ V^Pw  ¬¾¸X¿çü¾:~5!D¥‡÷y¨î lm¶·÷a?Rï-uÁýo€þoºûôéîÓÕ]‚ûߪ„ü  :Èߪƒü  :Èߪƒü  :Èߪƒü  :ÈßÑãg£’¢Òxi²™å™®Û]£’¢ÔUÀ@€ü 0Qù;•—*Ûh©oà ®ª|þf¡g©î*ú9äoÐ$åÏʯä_©o©d6hœË¸‡O^xx!dHˆ«™+!¤¸¦8>;~¬ËX/k¯›%7³ùÙºLÝ0ï0BH}K}bA"¯–ÇÒb ³ægï'3›Ÿ}éÑ%é ²¯¸¿Â5åÊŽ<ÜzxrQò}þ}]–î8—qv†vÊ”-§0‘D”R”’[•Û&ns6qç2Ž¥Åj·•ÂÊ9ºNwÍ5åÆeÆBRŠSDbÕ328²RPyâê¸t[oï›%7ï•ßci±ÆºŒu2vêÖuYÈß 1NfœÜt~S«¨•Zô±õ™î>=*)j°ù`iþŽJŠb2˜»¯ïN*L"„xXz„y‡%ä&|rî“ú–zéP>¶>û^Ûg¡gAɮȖ„B5º[¸Kó75òW×¾J)N¡úhѵÖO\¿päB…•wUXÆãŒ÷ãß/­+•ö´6°þfÖ7ì†)¿SùG×é®'»M޽K¹Q|ãFñ j«ÈàH~=?*)J:…Ú–­Í>rà⣋T7±mÚ¶Yž³”¿. ù4ýò{Ÿþù©H,ò³÷n=¼¦©æÏÜ?÷×ìïØ3:-º±µñÕ¡¯:9Xé[åT欎_Ý&nó´öôµó´ .>¼x§ìΪӫN¾q’F£)_5r¨G¨¹žyvEvJqÊç?w3wSrÂt»ÂÊêÊ–œ\ò¬ù™———µS‹™U‘u£øÆŠØV\Ðcé)³S%®Ý®]Í\ç Ÿ{/6Ð1ÐßÞ_aÙ‚A¨G¨¥¾evEö_Eýóü?_ü²>K¿[×(Èß §‰Eï¿ÿ^ð{TKdpdèáÐŽ=›„Mg–œq1u¡×þ¶¶MܶÄoÉú ë©<ºnüºY?κSvçFÉQŽ£”¯¡IØ¿$žº#N‰N‹Þzië¡ÔCJæïv…ýóÏ>k~¶yòæù#æKûüpë‡/.~qæþ™ŸevúýÍï•9ºv»&„Ðh´Ø{±£G­ Z%¿l¡HøÇò?¤“^>>÷qì½Ø4^Ú× ¤;×(xÿ h†;ewØÚìwF¿#m±3´›ç5¯cÏPPÙ ™^šÎ 1ÖŽ[+½lÌ6~kÔ[ÔªnÕ0cè i&„,ö]lÊ1U~v…%'3hŒêÆê}Éûöþµ÷뤯¿Núº¢¾‚’Yž©äN•<ºv»î–YÃfÉÎ8ÏOá×ó©Eå¯ Ppÿ4C]s•¾ƒÆm´3êäñÇvO>kyf¡o¡£¥#Ûè`ä@Ù­ììeé4º­¡mfEfWýåVÝX-’ˆö$íéØSv2·ü*ytŸ˜Tžµµì"G›Ci·Q‹Ê_  €f0Ô1¬¨¯ID²Q¯´¶´cOý² Ë üYys[³lH-©-¡Æ$„Pí ­ ²[=~ö¸ãȼZžì¢D")«+3`(yí Ó1hµ®Xѱ§ìc‹òwªðè:Ýu/RþºóO@3øØú4 ›¦”¶<~öø—{¿(Üp¤ÝH‘D´+q—´¥¶©öÛßR«!6†6„+yW¤øþÏ?wêÌý3ùO󥋇o~Úø”ä995 ›#ƒ#eÿL<ÙËÚKÉ*<º®°,ªóó/õÜ×`ÀÂýoÐ ‹ýŸÍ9ûïÄ'& ·^ÓXóçÃ?©)ß2ÿegsÎJ=t«ôÖÛ‚Á¥¼KÕÕÞ6Þ„aVÃ,ô,r"ŽFxÛz?ixògîŸ&§ãPlmvèáÐ)nSÌõÌïóï'%Óh´eþËžïˆÞz;!7aíok§ö²öÒ×ѯT=|ò0³<3z^´­¡­2;Uxt]±7²§Óè¿Üû¥MÜfÌ6&„<ß—wžûº XÈß ¼¬½6OÞüÙÅÏRy©ÔWÓ½m¼_r}iWâ.jFrW†Zݺû“sŸd<ÎÈxœA5RoȦžYÔÑÒùtÒ§«ãWKGvžè:qó…Íí†Zê·ôzáõøìxj‘z÷s­ÝÎÐ.&_ Èéàêʊ⇄Èëó|²*²<,=¤·u³*²æÅÌÓc饼›ÒwÏR —ž\ºaâ†%~KútGjßésPãu€NõÝïaè —ËUÜé?pÿ4Æž¤=O |í|M8&…Õ…Wò®ˆ$¢…#ª=äU ªŽß=ÞÕZS—éîÓUYн°×àÅ„ü ÃÓÊójþÕâšbiËlÏÙÔ·fÔëI㓨¤¨®ÖN4©çïöº¼˜¿@cDGÎòœ•^š^þ¬\_GßßÞÙ ÕìZÎ,jBˆÇLÎËÏýáIù;}q¨ñºh"Ìÿ€îQãüoP~«^·æãû;ªƒü  :Èߪƒü  :Èߪƒü  :Èߪƒü š¡àiAÄш¸Ì¸~³£Þrôöш£G#šÛš¥3"ŽF$ä&¨±0èò7h††Ö†T^jY]Y¿ÙQ¯(©-Ùvy[ZiZ*/U,KÛëšëRy©åÏÊÕXt ߟÍàbêr4⨭¡m¿ÙQ¯ø4áÓ!Cš„M¹U¹ê®”‚ûß t™ºv†výfG=w:ët*/u[È6:¿Ì4î€f(xZ°1aãìá³g{Ζ6¦òR¿ÿ;¯–Çd0=­=üÃÌtÍ”íAåƒS™§xu<‰Dâhì8Ãc†‡¥G§;Zzri³°¹ã;_Ýic`Cý\X]—÷°êa›¸ÍÙÄyŽçwK÷ž°"5M5[/m}{ÔÛƒÌ)Ó¿¡µaÓùM|ÿƒ±xÛx÷uyÐäoÐ Ô´ì@Ç@iËÖK[£Ó¢¥‹—ò.N;üÝÜïFØŽ?Ô©ÌSÿ8÷‰D"m9”zè«W¿ õí¸£4^Z“°©ÝZt-:íï[ÎÇîÛ|~³H"¢ ºýÓ–©[æ ŸÓU Ž/‰Er*4bퟵ_þQl¹´ÅT×ôíQoËïF)«+[»²´®t÷ŒÝßê…ü éüÃóÑiÑZt­E¾‹üüë›ëc3coßx÷ô»WÞºÂÒbÉÙöPê!BÈ‘ ƒœ‚´èZE5Eg²ÏáíVYX·ŠZÎ>(¼R&“®öÞ“ùß­¢Ö6q[ù³òŽßÖ¹Uz‹Bdþ—dºûôE#­;».âhÄá×+ùrèSÈß ‘Æ8yôäѺß×íÝmÌ6&„¤ñÒÞ8H­’¿í¿®þk¶çl®)—Z´Ô³Ôfh§òR;í\ßR¿øçůº¿ºÈwQǵ“OŽJŠJÈMX;n-u÷ÚätÖi_;ß® èÉüo}–þш£í?9÷IImÉ¡y‡t´tèÿûa‡3 t Þ=ýîë?½þcØñ^s€þ ù4ÒŠ€gîŸù«è¯1ûƸ˜ºZÔ˼çzÍl>Xþ¶?¤ýðíoM8&öFö­m­žK¿JPU^_.‹¢çEwÒ“ùßZt­‡€vº,]BˆŸ½G›Óq“ñÜñ?„ý°â—óbæýö£’ï €>‚O¦€F2×3?>ÿ¸¿½s[ó}þý’Ú-·F½õÅÔ/nûñ„›®n¬Îxœ‘S™C§ÑC=BwLßѱgQMѲ;ÍmÍ©¼Ôv¨—‚s´9Ç#ŽÏ1_›¡÷$ïNÙÒºR}–þbßÅV½ØÏË×Î÷XÄ1±D~4<£éj­¯½ïc?Pe=²¿ ¿i6võ2Bˆœ—|¨ò7ô7ŽÆŽßÐ'E½¬@]¿ ¿Q~Ò6€êáýƒªƒü  :Èߪƒü  :Èߪƒü  :Èߪƒü  :Èß/¢[¥·\·»îKÞ÷‚ Ý…ü  :Èߪ£¥î”’X¸ôäÒ 7øØúüëÊ¿2+2YZ¬—¸/m˜¸Áˆm$í–ÆK;~÷øÝ²»åõåzL=[Ÿ7ßi7²Ý îî_%~õ ò¡Žá#ÞxkÔ[„#éGbÒcÊêÊìŒìÖŒY3mÈ4é°‰$ö^ìÉ{'s+sE‘³‰s˜wØ|Ÿù4­/v_ò¾]‰»!»wQ?Bò>ÎSX‰H,:zçhܽ8^O"‘8;Îð˜îÎÖfËT ù4IfE掫;ZE­„&aÓé¬Ó¥u¥Çç§ÖV ªÂ†K;×4Õ\λ|-ÿÚO?ùÙûIÛï>¾»ýòv‘DD ²óÚN–«ª¡êÛßR ž¼ÿ¾“‰“»…;!D"‘|øû‡ñÙñÒT>Øt~S?gË´-]•êö/7‘X$çXÌtÍn¼w£[‡¯°’×v~wó;éÚ¬Š¬¬Š,mºö‚‘ ºµ#è;Èß IÎdŸ‰ð‰Xæ¿ÌRß2»"{Í™5i¼´~Ž»¥;!„F£;/¹p¨åP3]³ºæºÔ’Ôug×H9 ›¿Ïæœ]â·d±ïbŽÉµ‚k«ãWG%E‰%âm!Û&ºN¤Óèߤ|s(õPtjôŽé;!ñÙññÙñnænë^ZçeíÅÒbeUd}vñ³Ÿ3~ž3|Ž­O¯檠Ua?…­»fUÐ*i»ÂJ.<¼ÀÖf3È)H‹®UT]?žÃäÈT ù4I°sðgS>£~i7reàÊMç7=¨z@åo3]³Ç}xðÆÁ Ÿ6<¥îpBr«reë2vÃÄ ÔÏSݦN4)!7aýÄõs‡Ï¥×_w2ãdÞÓ¿çfÄfÆ2èŒÃ¯¶Ð³ Züìýv½ºkê÷S/>ºØUþÎ]—Ûi{O(¬ÄÊÀŠ2ið$Aq·t§Î ¼8¿@“:Ê.ÚÙBZ¨ÅÛe·ç›/ ÛmÕÜÖ,»èoï/»hc`Cñ³ûï ra©où¤á µø¨ê‘H,³ !D"‘Hˆ„úòøÙã^8*¥)¬dÄ «N¯šp`Âç1î–î>6>C-‡ª²BPù4 K‹%»H#4òŸJ9r@(FGÎ6ÓRÏ’É`Òh´ÉßM®n¬–7ÖéÈb±˜úY,B:ÌÝ1ëKõÅüo…•¸[º_xóÂíÒÛé¥éi%iQ×£Œ9Æ{B÷¸™»ukGÐw¿ ÿàÕòÌtÍ"ƒ#¥-%µ%EÕE:=–kÊÍæg'¿›¬ÏÒïqÊ¢Óè¤CÔV¦ágïGÍwo6½üíËŸœûäÔ¢S] *†ü ý‡MÞÓ¼˜ô˜™ÃfBÒKÓ·\ÚBÝ3^so½µðÄÂ÷F¿çmã­ÏÒ¯T>¬z›;ßg~SP§[õpþ·¡Ž!!$—VÛT+}Á¢ÂJæÆÌ}mØkþöþvFvB‘0¹(¹¶©V:ý¦Ó1@Å¿ ÿ÷ ¿Vpmó…Í›/l¦Z†Zl>¸RPÙ“ag ›•Z’—·2ve»U¯{½Þ“‘åp2v²Ô³L)NñÝãKµä}œ§°’ìŠì;ewÚ¯ò~]Θ}T?tß¿€þcÒ Iÿ~õßC,†èhéXèY„û„Ç„Ç0ÌK£Ñ¾|å˨™Q£Fêj3´íì_üò7³¾í<ºW*ïˆAg웵Ï×Η­ÍV¾’¸…qoŒxÃÕÌUGKǘm<Ònä¶mÒ—½t:&¨MúÜ€2ø|¾@ ÓÁÕ•Å ‘×ú~«—ËU¾3î¨ò7€ê ¨ò7€ê ’‘‘šIDAT¨ò7€ê ¨ò7€ê ¨ò7€ê ¨ò7€êT *£’¢n–ÜTw! 6Èß=òøÙ㨤¨4^š2ùõ|äo€ù G¨üÊKU¦³¥¾edpd€C@_W/,-u0€XèYDGª» P'äoÐ Å5ÅñÙñc]ÆzY{Ý,¹™ÍÏÖeêN2íÇ[?zÛxuKu+¬.üíþoÆlã#P-mâ¶ýÉû™ š6dZ¯W•ÆK‹ËŒ#„¤§ˆÄ"ª128²ÓjüÃ*•'îžp nK» ·ž\”œS™cÄ6šê6UŸ¥Oi6]|t±¬®ÌÎÈnÊà)Ú í^¯Tù4CqMqTR“ÁÜ}}wRa!ÄÃÒcž×¼#éG®^—æïøìø½íeС¡:„;ew¢’¢Ö_×ÕÈ_'}-!9»æhs–,ïtU*/5ö^,!äFñÅ7¨F*w¬6Ì;Œšÿ-‚Buci±¤Ý!_]ûêøüãB‘péÉ¥õT£‡¥ÇÉ'YZ¬nœ2x!!€&‰N‹nlm|uè«FVúVt=È1èχÖ·ÔS÷Œ¯\·7²çÕò’‹“§ºM%„\/¼N vîj̽É{¥·®;e¦kÖUþö·÷Ÿ3|Nì½Ø@Ç@{ùÕvyP©ÑÍmͳ=gsŒÿ*ü+§2çŸçÿù¸î1“Áœï3ŸAgœÍ9›ÍÏ>q÷Ä"ßErê€ü š¤IØtfÉSiK°sð¹ç’‹’§¸MyÖü,‹ŸµnüºèÔè¤Â$*'&™pLÜ-Ü»óÝ wÞÿîj•Ÿ½F‹½;ÊqÔª U «í”„H–'XXBDãE!߇$%9}?÷{&ƒIY0rÁ”ï¦\λŒü Ð €& õmg©ÛIEISܦ$'‹Ä¢`çà‡U©éuÍuYY¯¸¿B£Ñºó½à÷TVm§^ö¾ ! #À! ÿiþrÿåTø&„8›8ÛؔՕõQ JÈß IœŒÚµØظ˜º\/¸NI*L²Ð³p3w vŽËŒ+®)¾Ï¿/–ˆG;–3fOæw·ÚNµ›šÂÖfwÚø¬ùÙsÔ/äoÐ$ :£cãh§Ñ1é1E5EI…IÔíð`ç`–T””]‘MäNþ&=›ÿýÕÀ‡ü oŒó˜˜ô˜ŸÒ*­+ýÀéBˆ1ÛØÝÂýzÁõœÊ®)Wγ¤gó¿ !,‹RÛTû\µÀ€ƒü /À!@‹®uôÎQ&½Õ=ÆyLtZ´P$TøÌbçÛÙÓiô_îýÒ&n3fBð…ߟ€^ÖõƒŽ}E—©ëcë# Ý-ÜM8&Tc°s°P$$„ÈŸüÝsFl£Yž³-‚˜ô˜¨¤¨¨¤¨>Ý€| !êøU ÊÃýoèeޏ±±÷ñ;;FGúØútºvUЪÛe·‡Y “¶øÚùR÷¡{½˜v¶MÛ6cèŒûüûÂFùÕZê[J?¾ÓU·1Îct™º¦º¦²oŒ|£¥­¥ÏŽú†:!DOO¬îB K4‰DÞ¬G€vø|¾@ Óáå—f̨u•RùùÌ)SìûçîÞªîZ.—«|gÌ?€^ææÖšÏ¤¨GVSKKÂå Õ]t ùzY``SJ [(ÄÜC5HLäŒÑÌdb‚Ë ùzÙ¤I ÍÍô tÕ]À€ÓÐ@¿xQwÊ”uò @/³²j?¾áÐ!#<] bÇŽˆÅ´™3ëÕ]ȃü ½ïë³²˜§Oë«»€äÉÆþýÆ+VÔâå'/4äoè}ƒµ†…=Û¹ÓT À/Ù¹ÓT__¼b^?õ¢Ã O¬YS#“>°ã. @ß;uJ?.NÆ'l6&ÿ½è¿ O‰¾û®<%…óå—¦Š{@ܺ¥³q£ù[oÕàÉK€ü }ÅÓ³eëÖÊèh£¨(<‹ ÐGÒÒtÞzËz„Æ5kªÕ] (ߟ€>ôê«‚ÆFú?ÿiVX¨½}{%‹…ЛNÒß°Á|âÄÆ;ùtÜVÕ¸Pз^ýYttyb"gÎÛ[·tÔ]@?ñä ãã-þñ‹eËj¿þºBG784ò7ô¹  ¦S§JMMEáá¶|`YT¤­îŠ4XCý»ïŒ&MrHNfïÛWñá‡Õ4|qX£Ð$˜• ÝÁçóÁóm{é’îÖ­¦%%ÚþþM“&5úø4;: Eø7SùzE…Vv631‘sñ¢®XL[±¢vÅŠ¼íäÁår•ïŒü ÝÓ“üM‰ÈµkºgÎè]¿Î©«CîèCâëÛüñÆŽ At¶3gΜAll,Àßß_R½DDDT7&ˆˆˆê¡´´T|ˆ€ÜÜÜz•iéþûßÿНüqÌ; …žžž r}>ÿüs1™0pà@|üñÇ022Bûöí±aÆ{oÕˆ """º'cÇŽEçÎ …Bg_LLŒøú…^@@@€ø>55õžÏ}íÚ5ñõóÏ?áÇ‹ï·nÝŠ¢¢"@»víîù\DDD¤‹ ""¢j„††â»ï¾CZZ<<<ðÊ+¯ G€9sæ <<\§ü¬Y³`ii @zzze>øàƒjç8vì6oÞŒ´´4xzzbÆŒèÖ­›¤ø###ˆk×®¡  ­[·FÇŽ1bÄøøø._¾Œ7Þx`llŒ½{÷B.—,X€ÐÐPÀòåËѧO@PP¾þúk€——Ö¯_ÈÈÈ*møüóÏqèÐ!‹1}òÉ'X¿~½X.==½ÎëS“+V`÷îÝÈÎÎÖÙ¶mÛ¶jËW7‡Btt4¶oߎ‹/"''èÚµ+ž~úix{{×xn"""ú‡@DDô[¿~½@ ØÙÙ ëÖ­ ÄmCCCáСC‚ ÂàÁƒuöÝýgêÔ©z•©îÜË—/¯RÖÐÐPؾ}»ÞíY»vm­ç~î¹çA„ââbÁÌÌLÜ!‚ h4ÁÞÞ^Üþé§ŸŠu?óÌ3âöýë_Õ¶AaêÔ©µÆ`gg§×õ©ÉŒ3j=þî?•Û ‚ðþûïWùŒ+þÈd2aΜ9‚F£Ñûš=ŒØCˆˆ¨’œœ,Z´ëÖ­ƒ••Þ{ï=ÄÇÇ£¼¼|ðüýýñÕW_áÆxòÉ'ÅãÖ®]+N(èè舒’’:ËTwîåË—ã»ï¾ƒµµ5–/_ް°0”——㥗^£> 77·:Û°xñbñõ'Ÿ|‚þýû#33ׯ_GPP222h{% 4û÷ï;v >>>¸té’X¦bû‡~(¾®PyxÁÝ>øà¼òÊ+6l4 `Ñ¢E\'¡0þ|1iàì쌔”œ>}%%%¸~ý:ÒÒÒ&&&4hPmñòò‚——d2™¸ÍÛÛC† ßß=‡B]×§²Ž;¢cÇŽ000·uîÜY§~SSÓ*Ç ‚€/¾øB|?eʬ\¹ðÄO 77k×®|ùå—˜?¾8 „ˆˆˆtÔ]„ˆˆèá!—Ëu~åvpp_¡°°°ÑÎm``€¡C‡ŠïmmmѳgOñý¹sç'Nœ@pp°ÎŸ3gΈå*&>,++Cûöíáââ‚!C†àÍ7ßDPPlmmŲ•{œBBB,®„ o™ …ûö탻»;._¾ A “É0iÒ$ìÙ³GgEƒÚ,Y²£GFyy9¢¢¢púôi¤§§úô都{÷êtå···G¯^½tê¨H(ÐI> ;ÜAÊõi(íÛ·ÇÙ³g1eÊ£  gÏžEnn. &Mš„³gÏÂËË«Ñb ""j dBcÎ.EDDÔ $''#::€ö¡~àÀâ¾ÌÌL\ºtI|ïçç§³Œ`ÅC{VV–8¯——õ*³aÃÌœ9€vŒ À7––º¤(++í[·’’ccc¸»»ÃÞÞ¾Ú²QQQ:C|}}Å "ãââ'îóññR©ß×vý‚ƒƒÅ^ÞÞÞhÕªU•s×v}ÊËËqêÔ)±l÷îÝuV©8qâ„xLçÎuæŸ8sæŒ8‘e»víжmÛ*ç.))Áµk×›› têÔ©Y®^ADDÔ˜P ""jB5%ˆˆˆˆtò@DDDDDDD’1¡@DDDDDDD’qÈIÆ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$ DDDDDDD$™aS@DDU¥¥¥!??¿©Ã """¢L©TÂÑѱÞdz‡IÆ„IÆ„IÆ„IÆ„IÆ„IÆ„IÆ„IÆ„IfØÔQÓ(-•áúu#dfÊQPÀü2QK'“ °´ÔÀÍ­®®eÉš:"jî˜P "zˆää (ÈšãìY¨Õü&ADDô0²²ÒÀϯcÇæcðàÈåM5GL(=ŠŠdøî;|÷5 à™gTðö.““ææš¦‘ˆˆˆ™FääȯÀùó&8rÄ 3f8¡M›2¼ÿ~&† +hê©™‘ ‚ 4uDD¤+-- ùùù R×Áƒæøì3{äæà7ncÊ”\&ˆˆˆ¯À×_ÛbÏ%,ÄâÅhÛ¶¬©Ã¢ûD©TÂÑѱÞÇsÐ,Q %À²e¶xã '<úhNÀ«¯f3™@DDD¢¶m˰bE~ù% ™™rLœèŠÓ§M›:,j&˜P "jŠ‹exë-'lÜh¥KUøÏT°·W7uXDDDô€òñ)ÆŽI4¨/½äŒ_µlê¨à DD-ŒF̛爰0SüôS2úö-nꈈˆ¨06°bEÚµ³Å‡¶‚™™O<Ñ0C0©ebBˆ¨…Y±Â‡›aóæ&ˆˆˆH™ ˜=; ùù2¼÷ž\]ËÑ«¿OPõ8䈨9pÀß|cƒ%KÒ1`@QS‡CDDDÍÔ{ïebàÀBÌœé„ìl®)IÕcBˆ¨…(*’áóÏíñä“y˜81¯©Ã!""¢fÌÀX±B`åJ›¦‡PL(µß~kƒœ¼óNfS‡BDDD-€R©Á¼y™Ø¾Ý W¯5u8ôbBˆ¨ÈÉ1À÷ß[ãÍ7oÃÁ«9QØ0!]»–૯l›:z1¡@DÔYÀÀ@À”)¹M µpLJ§§'<==±aƦ‡ˆ™L¼ür6Ž7Gj*çô']L(µš#  ææš¦…ˆˆˆZ˜€€˜˜hpäˆyS‡B&ˆˆš¹’Î3Á A…M µ@ …€G)Bh¨iS‡BöY!"jæbcP^.ƒ·wiS‡BD]¸p?ÿü3Ξ= •JtèÐS¦LÁ¨Q£ —Ë‹#FˆÇìÝ»/^Ä?ü€7nà¹çžÃ‡~ˆˆˆÀ–-[pþüydddÀÈÈžžž;v,¦N CÃ;_ýJJJàíí­\.‡¥¥%:uê„qãÆaÒ¤IÉd€U«VaÕªU:å—-[†eË–"î“ =øºt)Áž=M=`ør"¢fN¥Ò® íì\ÞÄ‘‘«V­ÂêÕ«!‚¸­¸¸ˆˆˆ€³³3|||ª·iÓ&VÙ¾|ùr¬_¿^g[YY.\¸€ .`ß¾}Ø´iLMkþ…Q­VãöíÛ CXXÂÃÃñßÿþWrÛ""z°8;«ÅïD8䈨™+*Òþ¯ÜÔ”ó'5‡ƪU«ÄdB@@öíÛ‡K—.aÏž=xùå—¡P(ª=vß¾}X¹r%þúë/ÄÄÄàÃ?ÄÁƒÅx¹\Ž/¾ø.\Ààå刌ŒÄÒ¥KÅzŒ#þ¹~ý:Ξ=‹åË—‹ç Â¥K—³gÏFLL <<<Ä:æÍ›'_Ñ;¡>±уÏÌLƒÂB>>’.ÞDDÍ\Å›ÿôJ&¢fàçŸ_·mÛ«V­B‡`jj ///,X°=zô¨öØ™3gâ‰'ž€R©·mÛ¶M|=fÌ<õÔS077Gûöí1wî\qßÎ;QZZýð(™L+++Œ7]ºt·Ÿ>}ZRÛ""zðÈdw¾sUà"""¢û,::Z|Ý¿ÿ{#T§ºa•ëÛµkvíÚUí±EEEˆG‡h{ìØ±W¯^EfffµøzÇv/±QóÄQ’Iì^daqo“¢jW„ùþûïñŸÿü§Îòeee÷t>}b!"¢æ‰ """¢û¬cÇŽP©T€°°0”——ßÓª•ë{ê©§ðÅ_ÔyÌÖ­[Å×=ö>ùä8::ÂÀÀ£FÒéiPY] úÄBDDÍçP """ºÏ¦N*¾ŽÇÛo¿ØØXáÚµkX¼x1.\¸ w}Ï>û¬øú÷ßǦM›‘‘’’$$$ 88}ôæÍ›'–«<ÌÂÄÄæææÈÍÍÅš5kjL&º=$.^¼ˆ¢¢¢{Ž…ˆˆš'öP """ºÏðÆo`ݺuÀtÊŒ=ZïúFŒ×_6l€Z­ÆçŸŽÏ?ÿ¼J9???ñõĉ±lÙ2Ú•#öíÛðööF×®]ñ÷ßW{.___üõ×_´s0tëÖ ÀÞõ‰…ˆˆš'&ˆˆˆˆšÀܹs1xð`lÛ¶ ‘‘‘P©T033CÇŽñì³Ï¢W¯^’ê›7ožXßùóç¡R© P(àääwwwøûûcذabù3fÀÂÂ[·nEBB”J%üýýñî»ïâ•W^©ñ<3gÎD~~>öïßôôt¨Õê{Ž…ˆˆš'™ pñ"¢MZZòóóõ*»w¯³g;"&&¶‘£"""¢‡¿o´LJ¥ŽŽŽõ>žs(‘dL(‘dL(‘dL(‘dL(‘dL(‘dL(‘dL(‘dL(‘dL(‘dL(‘dL(Q½­_;ã›:ŒÑ’Úr7µZÀªUQøãĦ…ˆˆˆZ&ˆˆ¨ÞÖ­‹ÂÎ MFƒhIm¹[y¹«V]•”PX½: AAÕ_ÚöÑÃð© "¢ækÖ¬Îpp0nê0DKjKCX³& ýûÛc„6’öÑà ""ª·™3;6u ¦%µ…ˆˆˆè~`Bˆˆêmýúh88ãÉ'ÛêlW«œ>Žèè\¨Õ´oo _ßV06–W[Ïßgãüù,äç—ÃÑу;ÂÎÎX§¾µk¯ÁÃC‰1c\›‡S§T(-Õ W/[øøØU[oAA9ŽIArrœœLà µZÀæÍ±èÞÝC†8ÕØ–úžSŸö4µÚÚ’œ\ˆ; ÑHH(ÀªUQâ¾í’Qí¾‰Ýàìl¦sÍ®^ÍAXX:4ÀÇÇ=zØÜ×vQãbBˆˆêmݺ(tëf£“Pˆ‰ÉÃÌ™a¸y3_§¬££ V¯îÞ½mÅm%˜;7¡¡é:eMM ±pawL𤭷bg$%bٲ˄;å'On‹%KzëÔqéÒm¼öZÒÓ‹Åm&øì³^Xµê*ž{ÎC'¡pw[êsN}ÛS›  ܺUXg¹ Ó¦yÀÆÆHïòß|]k[’“‹°jÕU@bb¡ø¬­{Ô¸¯{´je"^³¨¨lØ­sîqãÜðå—} —ËôŽ—ˆˆˆ\L(Qƒ)**ÇË/ŸFRR!Z·6ÃàÁŽP( ¢Bll^}5ûö ƒƒƒ Ôj¯¾ŠK—nÃÕÕ~~°²2B||>NÁû§§%zö¼ó«ö_eáèÑT ì„,–VŒ½{ñÛoñ3Æ >Ú €¶gÂŒÚdB»vJøú:@­pâD,8'©Múž³>í©NPPNŸN¯µLe£G»èPЧ-­[›böl/¬^}..f˜8ñNÄÛÛ²Æ}..¦âësç²pøp vD‡–HI)ÂIصëÜÝ•xë­Îz·ˆˆˆ\L(QƒÙ³' II…èÝÛ?þè SSí‡òrsæD`ÿþ$lÛvsæxáàÁd\ºtO<áŠeË|t~µ¾té6&M ƦM1øúë¾âöÌ̬_?þþÎâ6??ÌŸǧŠ÷{ö$B¥*Æ AŽøæ›P(´‹•ã…B™Y¢w›ô=g}ÚS ÚÀÇÇ^ïølmõJ¡O[Z·6ÃìÙ±vmÚ´1ÇìÙºÿ}úØ×¸¯¤D ÈÊ*Á—_öÁĉw&m¼pÁ“'k¯Á¬YØKˆˆ¨`Bˆˆ̹s™€·ßö“ `h(üy]°ΞՖ QÌÌ ±aC4„úà  ,-¸té¶Ný]ºXë< ‡-¨Tw†6œ?Ÿxë­Îb2Ð=˜5«^y%Tï6é{Îú´§:¹r‚¾m¹WîîJdôèaƒ€gìߟŒë×sѹ³Uƒˆˆˆš DDÔ`rrJmÚ(«ìss3‡LdgkËdeiÿûë¯qz×ïìlZe›™Ù^wÇáâbV¥¼««¹Þç“rÎú´§:9‡‚¾m¹W®®U¯; ½ 7·¬ÁÎEDDDM‡ ""j0VVÚÛ„„|¸¹é>TÞºUA¬­tÊNÚvv&ÕÖgbbPív}ãHJ*„ƒƒn݉‰õªSßsÞk{s…û%1±ú„È­[Úkoi©¸ŸáQ#aBˆˆLïÞvر#«WG¡wo[˜šjÿ™Q«¬XqЧv‰ÂG±G``Ôjo¾Ù ºcêÓÓ‹‘’RT¯8zõ²ÅÎñX»ö6lCCmÝ%%ê*+4”†jOcΡ …‘‘Ø›DÊ>ˆ‹ËÇï¿'Ü5‡Âm:”KK:t°lðx‰ˆˆèþcBˆˆÌO¸`íÚ(DFfbäÈ#:«<ÄÄäÁÊÊS¦´ŒíŠÍ›c±}{NžTáÑG`gg„ÜÜ2ÄÅå#<</¿ÜÝ»×¾*Bõq¸â믯âøñTŒuäŸU48q" ……Ú‰e <'`Cµ§1çPÂÝ]‰+Wrð¯EÂÍÍ2LœèWWó÷µj¥í™akkŒÿû,þü3;Z"9Y»ÊƒZ-àÅ=9!#Q Á„5SSClÜø(fÎ ÃÍ›ùØ¶í¦¸ÏÁÁ«W÷‡ Èå2lÜø(Þ}÷,ŽME``œN]ŽŽ&õJ&€¹¹!6l€×^ Åy¸q#Ъ• Þ¿þõ¯H˜™5ì?Ùž¦ð⋞x÷ݳص떸­{¸ºš×¸¯"¡Ð»·-Ú··À7ßD#88M,3nœfÍêtÿADDDŠ ""ª·Y³:ÃÁA·Ë½§§öï÷GHˆ ÑѹP«xxX`Ð ËuÊÚØáÛoAll"#3‘•U [[#¸»+áãc'þ’mhh€Ù³½àáQu²ÇŠ}žž:Û{ô°Á‘#ÃqäH RRŠàäd g=š ê…w·¥>çÔ·=÷[}Ú2qbx{[ãÌ™tää”AÓ:÷U˜?ߣF¹ <<€>}ìгgóI¨QÝdBźVDDôÀHKKC~~¾^e÷îUbölGÄÄÄ6rTÍKLL\\Ìt–¯¼}»O?}7näá?†réÂVR¢†·÷nøû;cÆM5 ~ßh™”J%ë}<{(Q‹tüx*6lˆÆ£¶‚««9ÒÒŠpüxrrJñÈ#­˜L """ºGL(Q‹Ô¡ƒ%JJÔØ»7Ig{·n6X¾Ü§‰¢""""j9˜P "¢ið`G„„<ŽÐÐtܺU¹Ü]ºX¡_?û_á´j›«ˆˆˆZ&ˆˆ¨Å²´T`ĈÖMÆCC.—aöìÎMÝ'M5?L(‘dL(‘dL(‘dL(‘dL(‘dL(‘d†M5Oee¼ðB||ìðÎ;]š:IšsìÍÙK/†‡‡~Ø]g{ll¶l¹„„«1¾7zõ²m¢(éAÒPWkº÷š’Ô˜rs˰}ûM\»–‹œœ2¸¸˜bð`G ê\myµZÀï¿ÇãäIòòÊж­O?í//«©_¥*ÆÑ£©NENNÆŽuÃ3ϸëÕ"j9˜P "¢zÑh„‡gÀÒR¡÷1Ó¦‚——Þ¿›¤} ­>±7†ûÙæADDŠ‹Õ:Ûâã ðÄGQZª·Ý¾]òÐ]›æ¤9þ]­îÞkjRb:w. ¯½ŠììRí[·ÞÄ!NX¿¾?Š;KJÔxñÅÓÏ·<©Â/¿ÜÄÒ¥}0~¼Û=Õÿùç±ys,áNY&‰NL(Ñ}ž™Lú¾–êakó?< ¥R÷Á000¥¥LŸÞC†8A¡0@§N–˜9óÌCumš“‡í¾}¼÷Þ9dg—ÂÇÇÏ>ÛÖÖF¸z5ß~ãÇS±}{¦Mó˯^…ðð 89™â­·:ÃÙÙǧaË–X¼ÿþ9ôëg‡Ö­Íê]¿JU‚V­LðØcN05•cóæØûz=ˆèÁÁ„Ý}ûÚWÙ–˜X˜;· ÌÍùµ„èn*U1nÜȃƒƒ ~üq Œå€Áƒáâb†¹s#–.>𗗠ضí&är~ü 9ï IDATq Ú·· ä™ øñÇXlÛ‡yóºÔ«~øàƒnhÕÊ2°2 D1þËMDD÷L­ðÛoq8yR…ÒR zõ²Å /´‡R©ýgæÚµ\,^|jµ€¿ÿÎÆ”)'Åc'OvÇo¿ÅU»ï£ºÃÓÓBCýæ›±mÛM„…¥C£úô±Å´iíaf&o´Ø+‹/@``<¢£s¡Vkàá¡Äĉm«ŒIV©ŠÅrùùepu5‡¯¯üý!“Õ~=>ú¨{cœS]1À¿þ X¾ÜG<.7· 3g†A€¯¾ê qß‚çQPP†U«úÐ3™‰+® ::ðÊ+¡É€¼¼2XX(êumôiCå1ù³g{á×_o"44·o—`Íšþxûíp´oo… {T©¿¸X×_ƒ»»‹UÝ_™>÷JåX¤ÜÛ99¥Ø±#çÏg!?¿ ŽŽ¦1ÂYg¬{åºß~ÛK¯{¼!î[µZÀñãi8u* ËeèØÑO>ÙíÚ)«mKPÐ-œ;—‰¼¼2´i£D@€3|}j½¾‚¬]…Ó§Ó1~|LžÜ¶Öò5Ñ÷ï´¾±JmÿÝ㔀çŸo‘#[LMµ÷€££©ø°_ÁÝÝ\§ \¸…ÜÜ2øù9ˆÉ„ Ó§{âÇcqâDª˜PZ?¿çDôpcBˆˆî‰F#`æÌ38z4EÜvüx*LÆŽƒ¡P /¯LË››[¦3®wà@‡÷åæ–‰c¨•J^|1gÎÜÙôh ~ÿ=Û·‚Q£Ä^aß¾$¼óN$ÊÊîŒõNÃ?ÞÀGu½‹ŽÎÅäÉÁÈÏ/×9×Ö­70yr[,YÒ»Öë‘›[VkÌK–\ÂßgëÝÆeËúètm®Ž>1€‘‘qxï½®hÕJû@qútºø™œ:¥ÂĉmÙ٥ع3cƸŠõU3~ûv©N»#"î¼® åÚèÛ†»ï§ÐÐt±¬Bacc9¶n½‰W_íPåº8ŒS§T2Ä©Æ8ýï•úÜÛçÏkǺ߾­;Ö}çÎx<õ”;¾ø¢×]uêu7Ô};eÊIœ=›©SÇÑ£©øá‡¬YÓO'éqöl&fÎ<ƒ¬¬’J¥UغõÞ{¯+^y¥Cµ×·¤DÿûöîMÄ[ou®w2AßÏIJ¬RÚ_[· ž€€;å,,0 ""2pôhŠXGq±ß}wÐZ,“èÑ£êœnnf°¶6Âùõ®Ÿˆ¨2&ˆˆèžœ8‘kk#¼ûnWtè`´´b¬[w —/gcïÞ$Œç†N,±u«_µ“¹¹ºšÁÇÇ®Ú}•%ýô"úô±C—.Vؾ=ùùå2Ä ãÇ»ÁÚÚ‰‰…8u* yyÚ‡µÚ®G]½¢¢rtäêRTT÷¤oúÄ ¶B``BBÒÅIÝNJC«V&P* r'¡šF¨ñ—f;lÝê‡+®àìÙLlÞ< …ÊÊ4P( $_}ÛP¡â~š7¯ ¼¼¬ab"‡©©“'»ãرTìÜ™€·Þê¬sÌo¿ÅÁÈÈ Ê„v•I¹W®{;?¿¯¿†ììRŒï†!Cœ`ee„„„lÞƒÀÀ8<òˆ=ÆŽu«T·~÷xCÝ·ùùe7Î }ûÚÃÕÕ ÅÅj\½šƒÍ›c±xñEña5;»3fhÛÒ£‡ žzÊÎΦHJ*ÄÁƒÉÈË«>y”‘Q‚3B•‹•+ûê$¬¤ò9I‰Ußö×dòdw 耶mÍu¶¯Xáƒ·Þ Çk¯…¡m[sX[ãæÍ<”–j0wnŒqçÿömmÒ£"éw7DG碨¨¦¦†’ë'"ªŒ ""º'††øå—A:ÝyÛ¶5ÇsϹsY7Î  ôïo™ °²Ò¾®ÌÅŬÆ}%%ÚbA~úÉWçAìñÇ]pþ™ˆO?í%yèƒ>±Àÿþ—€âbµÎ/À0bDk8;›á믯â×_ã°xqjûÖ/[ÖÖÖw~Y~æwñWܺ®Gm,èVg/†ÊZ·6­³Œ>1ÚÞ$2pòdZ¥„‚ ¾¾P* ±wob™Šcªccc„þýíÅ_ßûöµÓén-õÚèÛ† ‚lÙâ[%I1t¨Zµ2ÁÎ xóÍÎâP‰„í/Ç£F¹êÔ7)÷JåXô¹·ÿ÷¿df–`޾Ч]•ë þ'‡(—W?sfÅöòò;K4H©Ÿˆ¨2&ˆˆèžtëfSelp×®Ú/ ¿”5//+.@ûPêïïŒ;â“‹îÝ¥}ñÕ7ö¨¨À3ÏTíZýì³íðõ×Wqõj¶ø>((¯½ŠñãÛ kWktêd ccyƒ,SÙó+賺t±Æ©S*ŸÄÄBÌë ¶l¹¨¨xyY!$$žžpt¼?c­¥^÷έª½–r¹ '¶Á7ßD#$D%ö°øí·8êì^/å^© ï½ý×_Y€C‡’qú´J\²OáŸ7±±y:õè{7Ä}«V ˜;7'Oªj,“—W''SqØNMÃ,,tÏyíZ&O†³³)~ùÅ..µã©‹”ÏIßX¥´_ FÀôé§‘Ñ£]1|¸3,,ˆ/À?Æbúô,[æ#&‡ÌÌ´_ï ªöÌ©¼½¢œÔú‰ˆ*cBˆˆî‰•UÕ‡ …Bû ˜FSeW½ÕôPSqþ’é'Ó7öŠº­­«­C&»S¦];%Àî݉8}:?üƒääBøú:àßÿî OO‹*uHÑs(H‰ÙÏÏ6\CTTΞ̈́Løú:ÀÄDCCNžL>½}½Û)•ÔëîäTs¢còdw|ûm4ãáëëµZÀï¿'ÀÕÕ>ZûdRî• úÞÛ……ÚŸž/\¸]ãùŒt‡¸è{7Ä}»gO"NžTýÓÂmÛšÃÌÌ2™ ?ý‹’Å$HÅ\úÎ}¢PÈ!—Ë›[VヲR>'}c•Ò~)NœHCDDžxÂ+WöÕÙ7j” üüöcÅŠ+âE¯¤¸¸ü*u•”¨‘œ\GG±§‚Ôú‰ˆ*cBˆˆî«Ú¾P×¶/::W__Ù¥KÚ‡ëÆü%¼bFó‹oWÛ|éR6A;Cz++#L›æ!Nê¦Rãõ×Ãðüó§pìØp®ýR0c)1ûú¶Â† ×pâDΟÏBçÎV°³Ó>”õêe‡tq\vMÃô%õÚH¹î2YõÝÁ퀾}íqèP2²³Kqî\&TªbÌ™ã…Z ý^ô¿·µÇ-^Üžž–Õž¿bèB}Üë}{á‚¶Åš5ý«ôþX¹òŠÎûжDFfèµú‡‡«W÷Ãôé!xöÙ“øþûGЫWÕIõ%åsÒ7V)í—âÖ-íÒªw¯Øvvư¶6BRR!Ôjr¹L쩜&n«pò¤ åå‚No.©õUfPw""¢†annˆÄÄh4UŸFjÛh'cûôÓ‹(-Õþj(À¦M±Ï@›6æhÓÆ¼Úã AŽ€ÿþ÷2®]Ë·'%bá¿þ)£}xÞ¼9aaé:ÇÛØA©4„JUŒ¸¸q{]m®Î‚ݰu«ŸÞô™CAJÌ}úØÁÔÔǧ",,]¼6€¶§Bdd&N¡¡ ´Ò»]w“zm¤´AO?íŽÒR víº…ÀÀxÈ0iRÝ« H¹W*è{oWLŒ·k×-8;›¢{ñnß.Ajj‘¤vVhˆû¶bî…sçî¬rP^.`Õª«ˆŒÔ]ùÀß_;9áÒ¥—qê”îóç³pð`r•;u²Ä¯¿‚……!žþT•ã¤ò9é«”öKQ1¼ã·ßâu†´¨Õ6nŒJU ''SñaßÙÙ½{Û"9¹+V\“?iiÅøÏþy6¤ÖODT{(Ñ}Ó¥‹5ÂÂÒ1dÈAq"ÆŠõëkÚçá¡ýE°}{ ìØ?þH„»»))EHO/Ì›çݨq?ö˜ h…°°tŒ{îîJ(ˆÍCY™:XŠ›ÁÁ©øì³‹077D›6æ02’ãÆ<äå•ÁÆÆH'ñQÛõ¨IcÌ¡ %f…ÂýúÙ!8X;ébåU|}[aåÊ+ Q¡_?û*k×KQÛµYºôo\¸p ö@§N–’Û ‘#[ã“OŒðã±HJ*„ŸŸC•±ïÕÅ!å^© ï½Ý¯Ÿ=žzÊq:ô ÜÜÌ`oo‚ÜÜ2$&¢¤D3:bôhé+4Ä};dˆ#Ö®½†… /`ãÆØØ#..¹¹¥ðö¶ÆåËw†ê Ð cƸâ?1}zLàìl†ääB¤§cÖ¬N>¼êÊmÚ˜ã·ßãÅCðê«¡X¾Ü£F¹Ôú™TGÊç¤o¬RÚ_“ÀÀx%àùçÛcäHmûýüо½bcó0räaxxX@©4Ä­[…â2–/½ä©SÏ{ïuÔ)'ðÍ7ÑØµëM•‹’5||ì0räkVŸúK—”¬(³{÷-œ?¯í¥1|xëû:䉈š{(Ñ}3¾7Zµ2Arr!""2ž!Î _Û>@;Æ{Õª~Ëe¸xñ6ÒÓ‹aa¡À’%½u(ƒL|óÍñ#66QQ9P« Þ?ÿì íÃó‹/zbà@–ãêÕ\¸…¼¼2ôïoÍ›êè^å¿wo[lØ0­[›!5µ.ÜFY™#F´Æ† t†îÔ§þôô„‡k?û˜m¯†””"q[uó7QË$„úLCDD)-- ùùú}!Û»W‰Ù³ÛÈQéÒhDDdÂÆÆ;ZV»ÏÖÖ:èîS«ÄÄä!7· //+qRºêöÀÛ{7üý±aÔ•ipýºöªcGKIÏ×7v@;CúyÐhðÏzíÕOÔVX¨F||>AÛ¹¦ Ýj»÷›¾1çä”"**ffrt릻²Æ•+9ÈË+CÇŽ–UŽˆÈ€R©Ðée‹Û·KÑ·¯ t»T×tm¢¢r“S†.]¬ª¬PWjûìï–•U‚ë×µK}úØU™Ÿ ¶8€ºï•’u½ïíŠU6²²Jakk39ê{7Ä}[TTŽ›7 “žžP( P€””"tïnS%¹SQWq±nnf°µ½3Qbmí(**ÇÅ‹ÙÉ´Ÿ\.«ñ3©îÞ« ïßéºb­—>í¯.¦ÄÄB$%¢m[ójWƒÈÏ/G\\>JJÔ°±1‚»»²Êß›ÊA›,ÉÏ/‡««ìí«Æ[ŸúUªbܼYó¿QŽŽ&pw¯{n j^šêû5.¥R GGǺ Ö€ "¢PsH(Ü/w?tµ¼·‰¨9iéß7V÷šPà DDÔb¼újhKÊ™›â»ï¹Oµ\L(Q‹™YçØé꺦‘tL(ÑÍØXŽ˜˜ z•=~L#GCÔp¤ÜÛDDD"®ò@DDDDDDD’1¡@DDDDDDD’1¡@DDDDDDD’1¡@DDDDDDD’1¡@DDDDDDD’1¡@DDDDDDD’1¡@DDDDDDD’1¡@DDDDDDD’1¡@DDõRR¢†§g^=¬©Ciö àé„E‹.4u(”nÝvcÊ”“U¶ÆáñÇÀÛ{7<=ƒpôhJDGDDDL(Ñ}Ó©Óÿðüó§$ï#ª–Ž Îãúõ\””¨Åí¼ˆˆˆî?怈ˆˆ¨:—.­²íðamo„U«úaøðÖ04”Ýï°ˆˆˆèì¡@DDDÍFjj1`èP'&ˆˆˆš{(Ñ=S©Š±dÉ%œ<©Bi©½zÙ`Á‚nðò²DFfâ™gNNŸN‡§gxìܹ]°rå•j÷mÝꇞ=màí½þþÎøðÃîøüó‹ Ë€Z­=æÏ÷Ï£¯’µXçGuÇgŸië”Ëe6ÌÜææ†8uJ…¯¿¾Š¨¨\(•†˜<¹-Þ~Û º²ÿûß-üüs,¢£s¡ÑJLšÔÏ=ç¡SV£ðÃ1ؾ=II…pr2Á”)xüq—c ÏÀ÷ßÇàܹLäç—ÁÉÉ #F8ã­·¼ T6Ý?ãÇŽ¥bÓ¦DGç"?¿..fðósÀ«¯v„££ `ôè#ÈÍ-ÃÉ“#Åã’’ 1xðÀþýþðô´÷ vr¹ô C¡[7lÛæ‡C‡R0sæù:ºvÝ]%¦»ïŸ˜˜ Ûh"""ÒÁ„Ý“ÜÜ2<ýt0nÝ*·>ŽiÓNáÐ¡ØØ5Èyrr´çIK+·8‘†ÈÈ üúë`ÉIm¥xæ™HI)·íÜìì<ý´;fÎ<µZ•cíÚk°µ5Æ /´Ëÿç?ãûï¯ëÔ{åJ>ùä"ΟÏÂÊ•}Åí ^À/¿ÜßߺUˆ¥KÿÆåËÙÕÆ÷Ë/7ññÇAîlKL,ÀÆ18}:¿ý6¦¦µÿSþüó§pútzÝãø£}{‹ZË;–ŠW_ ÕÙ›‡ØØ<¤¦cÍš~__lÜƒØØ<±ÎS§TNžL ‰‰ˆ/À´izÇJDDDM‹Cˆˆèž„‡gÀÙÙ ¿ÿ>—.=Çð裭]Š]»n||ì3r¹ >Ú 11Ä?o¼Ñ©Æ}ýûۋ版Ȁ³³)vîŒK—ÆâÀŒé‚ÂB5/®ßê™ðð°Àž=Cñ÷ßcñûïCàêj†#GR1þ9LŸÞ'NŒÀÅ‹cñÕW}!—˰qcŒxüåËÙøþûë01‘cá }‘‘£±|¹¬­°gO¢8æÿâÅÛøå—›P* ±tioDFŽFXØ(,ZÔ‡U]¥àÖ­B,^|––Føâ‹^ }W®ŒÃþýþxüq\½šƒ¼Q¯vß«Š6½óN„†>Ž«WÇáС,ZÔÎΦb9??GÀÉ“*qÛÉ“ihßÞÝ»[‹É…Êe|}«=g@€3bb&ÀßßpùòX{¥ºû‡ˆˆˆ{(Ñ=±±1·ß>"v¿wwW⣺ãñÇ **§ÁÎcf&Ç7ß<;;c@ûöøê«¾=:‘‘™ÈÈ(½½±¤:mm±~ý˜™ÉÝ»Ûàå—;`ñâ èÓÇ tËŽãŠ]»náØ±T©aj*Ǿ}É€7ßì¤óËú¸qn00aîÜüùg"üýqà€¶ìüù]ñä“mŲÏ=眜2qØG…ÿý/åå>û¬§ÎOOm»##3qèP2^½c­müé'_I×DNNÚ¤Á¸qnhÕJ;¼¡];%ÚµSê”óñ±ƒ±±§N©0}z{h4ÂÂ20~¼”J6nŒAY™ …NRA.—é$‘ˆˆˆèÁÆ„Ýooë*cùÝÜÌùùe vž.]¬ÅdBCCy¤bcóŸ/9¡àím%&*¸¸˜úõ«ú`ÛºµöA:#£nnfˆ‹Ë ê\¥ìСN€øøÿúù9T);hC•„Âõë¹€9s"0gN„8ìAñµ¬‰æ$|ñEO„‡g`ôè#<Ø ]»Z£kWkøøØA¡¸ÓùÑÄD;œ9“²2 ®\ÉFvv)|} T*°fMΞÍDß¾ö MGÏž¶M:/Iõ‰ˆèž˜˜È«l»ó {ÿžxeõxº66®; Ô¸¯âp×vɧ®SÅ9*æp¨Ni©¦Îzc¥Ò[¶ø"::gÎd **;vÄ#+«‹õÀèÑ®bÙ[!$D…ÈÈLœ;—##ôïo##9”JCœ:•Cäæ–Á×·j²…ˆˆˆ\L(Ñ}#“ååÕ? ×¶®\ÉFff‰N/…òr¡¡Ú‡å6mÌ6X=¸»k¼KE‡–:ûŽO´mk®óß“'U˜:µNÙ'T¸[ÅCý?ÄÀæƒvÇŽ–èØñN»ßxã æÍ; __XYi'ãôósÄ—_^Æ©S*œ;—…>}ìĉ$ h…“'Ó`l¬íÕp/ …ºî"""jxL(Ñ}cmm„ë×s‘PWW3%kÛ……j̘Š>ꎎ-‘œ\„•+¯ 66>>v’‡;4„Ço ®aõêk07W`ĈÖP(d8qB…O>ÑN9j”ö×ú#Zã›o¢ñßÿþ  æ µZÀ¾}IX·îZ•º'Lhƒ ¢ñÎ;‘˜7¯ |}aooŒœœ2ÄÅåãÏ?áèhÚ$s(,XpNN¦6ÌmÛšC¡0Àµk¹¸~=ee¤¥‹ …έ`ggŒC‡R¹s»ˆõøú:`ñâ ()QÃÂBîÝmêS]÷5<&ˆˆè¾0 þø#C‡·mÝê‡þýíkÜ׳§ö!³o_{ÄÇçãÉ'ƒuê43Ó®°Ð¼½­ñò˞ظ1 þ…… ÿÒÙ?fŒ+´ó+tïnƒgŸm‡_~¹‰wß=W¥Ü$êlswWâÓO{á£ÎcÁ‚óÕžƌړ %5µñX½:ªÊ¾.]¬Ä¥ mϰ{·vÅŠ•mBA€˜˜<8C.¯ ºû‡+=5.&ˆˆè¾ùàƒn(/× ,,99¥âä‚uí++¶o„Ï>»ˆðð h4úô±Ã¿ÿÝ^^V÷·!•,XÐ ;[áçŸo :: àá¡Ä¤ImuV~€Å‹{ m[sl߇¤¤B8:šà™gÜ1fŒ[•„LžÜ;[â‡bž¬¬ØÚÃÝ]‰Ñ£]0n\›ûÕLK—öÁŽñ8|87oæC´nm†‘#[ãÅ=«ôðõÕ&ììŒu>+ww%\]͘XXãr‘úªëþ!""¢†'þ“KDô IKKC~~¾^e÷îUbölGÄÄÄ6rTM£¤D oïÝð÷wƆ š:""¢‡RKÿ¾ñ°R*•pt¬Rÿžz(„††âÖ­[÷RQ³åææ†Gy¤©Ã """"j÷”PX±bvìØÑP±5+“&MB```S‡A•ôêõòòÊj-ca¡ÀùócîSDDDDD-×=Ï¡À/ÔDô0zê©§š:""""¢&ÅI‰ˆèfl,×{¶~ö< """º š:"""""""j~˜P """""""ɘP """""""É8‡émÑ¢Eâë`äÈ‘M̤°°_~ù¥ø~úôépwwoº€ˆˆˆˆˆˆî&Ho‹/_¿ýöÛL(ü£°°PçÚ 2„ """""jñ8䈈ˆˆˆˆˆ$cBˆˆˆˆˆˆˆ$ãjtW¯^Ehh(ÒÒÒ`llŒ.]ºà±Çƒ±±qµå³³³±gÏ$%%ÁÝÝcÇŽ€:ç)Ð÷<X³fø~Ö¬Y°³³Ã¾}ûpåÊ8;;ã±Çƒ«««Þ±=l˜P FsóæM¼üòË8vìX•}ÎÎÎøöÛo1fÌíGŽÁÓO?ÌÌLq[»ví°eË–ç)zžŒŒ ºüüü°`ÁDDDˆÛÌÍÍñóÏ?cüøñ:±Mž<YYYUb#z•”¨áí½þþÎØ°a€^Ǭ^WW3L˜ÐFÒ¾æª[·ÝèÖÍÛ¶ù‰ÛòóË1~ü1ÄÅå‹Û¾ýv._Îy`Û_ÓgSŸ{à^Î'EcÅÖœœ9“-[n`Íš~z•/**ÇøñÇ›022À•+ãtÊ\¼xsæD !¡ Êñ:Xâ“Oz¢o_;ÀàÁšZ„¿þz¦¦r²sæDà?aa¡ÀÙ³£a` ÓÙÿ ! QaïÞaèØÑîCFF ®]¯SnàÀ}HK+®±MŽŽ&µî¯ÌÞÞaa£ô*[Ýßíš$&`ȃxî9,ZÔCþ³u IDATܾsg<Þ}÷œøþÝw»âÕW;èu~"¢ Ô(T* „ÄÄD@ÇŽ1fÌ$%%!00)))?~<8€aÆâãã1aÂäåi¿È¸¹¹a„ ¸qã&OžÜ`ç¹Û /¼€öíÛãí·ßF`` ’““QPP€×_#GŽ„‰‰I•ØÚ¶m‹ñãÇ#..®ÆØˆ¨ª5k¢Ð¿¿}µеík®fÍê Ý^RÛ¶Ý@\\>zõ²Å€öP(äh×Î3gžy`Û¿?›–x/ÜOååΜIÇ‘#©ˆ‰ÉEPPúöµƒ««y­Ç8¡BllM0b„ lmtögg—⥗N#;»ööÆxì1gØÙC¥*BTT®\ÉATTŽ˜Pè×ÏAA 8{6¾¾:u…‡gÀÁÁ*U1¢¢rÑ¥‹•NüçÎeÂÆÆ:XÖÙ^™ xë-¯j÷)•†ÈÏ/×Ù¶qãu”cölÝcÌÌt“µ©îï¶T]ºXcÖ¬NHL,Äž=·þÏÞ}Ç×|ýeO‘½Cd{$ ªfí~¶¿ò5Z´UmÍV«è »T‡=êK«4(J+h"VFD"C„LDŒÌûûã“{“›1ÞÏÇ£Êç|îçsνGÜóþœó>¬\-!Ä#G â¾øôÓO5ƒü† rüøqLMMhÒ¤ |ðùùùLš4‰“'O°`ÁÍ€ÝÌ̌ÇãääÀ믿Î?üpOîSR›6mؼy3:::<ÿüó´o߀ääd¢¢¢hÞ¼¹VÝêԩÑ#G°³³à­·ÞbÁ‚wÿ¦ !;¯¾êSêØùóÊï’Å‹ŸÂÚúî$B”tòd“'Óš3uê1tuuèÓÇ…o¾ñ/÷µêY|Ђž=K•ïڕĵk9´haÅÚµkÀcbn—§Òüܶ­ ›6%ž¦Pˆ‹Ë"%å3f4cÞ¼Ó>œªP8}ú*·oçÓ¹³#:Úʤ««Ãĉ*?±Ðúõ±……ª¿¦¤²þnW—¯o]|}•vgddšBvv>FFUl!Dm“€‚¸/vîÜ©ù³•••VþƒøøxÍŸO:ERRÎÎ΄„„hŽ÷îÝ[L=zt™…šÜ§¤±cÇ¢SøÅÛ[ûÉ@bb"Í›7/U7u0”PBL„†¦“S@«VÖøùÙhÊ’’n±qc*nòí·‘š²öíí8t(µÌ²çžsÃÉÉ”ï¿?‡‡‡9}ûºröìuÂÂR)(??Z´°ªqM'**“¬¬\\]Íð÷·ÁÎÎXS¾re FFº¼øbͱÜÜ~üñ ÃË/{k=Õüõ×x®_ÏÑœZøzÛ ë[›ŠÿÝ.îæÍ%O¾hh¨=½³ @ùrU¼nZçØÛkOãâI´xq_~ù/ª¢‡“ ZŸ¹s[”t›o¿= @bâ-ÍŸôôtÊ-k×Î;;c¾ýö,ݺ9yE‹¢´î=`€ŸÞFkÐ\õÔíS§®j72ÒcÊ”&Œå @xx*ÿÌÀõ4ƒ£GÓ5ݦM-éÚUùý”“SÀ‡ž¤];[M@á‡"iÖÌŠÿü§>.diµí‡ΕªWYí¯j@á£NñóϱšA¡š»»9K—¶§As®_ÏåÛoÏòÒK¥ 겑#=  ånêÏF­²>P•ÝÏÕÕŒèè¼új±±YZ¯up0fáÂv´nm]á=Ö®åÃOÒ¾½æsNKËæí·pèPªÖ¹&&úÌšÕœÁƒ•Ac^^¦/^ºtë®Ú»iS/ުҹÇ{`eeXá9‰‰·¸téþþ6¬]È‘#é¬Yso¾ñ§ @ ÂTDUؘòfxy)ËJaÄJÿÎÕ«g†££ 'O^Õzò~øp*ŽŽ&¸ºšÒ¶­-Û·'¢RÝWphÛöá (ÿ»­vúôUÆŽ #5µ(gƒ1ܪÊ×-(PU~’B}WW3í©[×øø,‚ƒ/3cÆ ¼¼,hÙ²h&̽hï¦M •ð‹ëÓÇ¥Ò€‚::P¿¾y©$‡ºº:¥ò”¤^ŽS·nÙ÷éÒÅ??öì¹ÂÓOÿE—.4kfIÓ¦V4lhQêž ‚¶l¹È?ÿ\ÕÌ88r$],ðó³aíÚ œ?Ÿ‰ùùEù||*ÏŸÊ ¼ølµöíí4ùî·›7ó7N &4h`N@€=ùù*BB’y÷Ý㕾^ýžGGß M›Úé"„Õ!q_ôìÙ“³g•'KL™2sss­s’’’8sæŒf†@—.]8~\ùG÷Ï?ÿ$##kkåIÓŠ+îÙ}j¢S§Nšºíܹ“ÔÔTͲ‡Õ«W×øºB<ÒÓ³ùñǧèÖ­hfQ` =S§ã￯L™8±ßI½zf¥Ö.ûûÛ”[–(Óù?ÿ¼ Ï=W”¨ïäI/† aåÊh^{­a•g)dddô4EƒÏœœþý÷šægup 44UPØ¿?™§ž²§N}BC‹Šê?”=˜ôô¬Ãĉˆˆ¸Æ… 7xýõ†ZS›ËkUÍ™Ó:„…¥rùò- hÛÖ–´´;œ8‘ÁÕ«9•HKªìsS6Ué÷â~¿þÏ¥K·hÝÚšÕ«4;äå©xë­#ìÜy‰uëbyë-íd{7oæñæ›GØ·/™÷Þk¦5½þ¯¿’8}ú*ýú¹òå—~Z}èôé« ¬ô¯ ŠrÜ‹öT?¿ª?¯J¾ 33}† sgÆxì쌪ôš³g¯³}û%Ο¿Îž=Wðô¬ƒ‡‡y™çêêê°reG–-;Ïo¿Å³n]¬¦ÌÞޘѣ½=ÚK+°Ð®[¶\äðáTÚµ³%1ñ&II·ð÷Wr¨ ááiøøXq¬¬Ã‡ï×üÎ)Ï3Ï8ò¿ÿ]àõ×Ó³§ vvFL˜PóBñ H@AÔHXX³gÏ.uÜÖÖ– &ðÎ;ïð믿’””DDD5¢_¿~Ô­[—K—.Å‘#GèÑ£=zôàÍ7ßdéҥܸqƒk×®áççÇ€ˆŽŽÖ æKªÉ}jâÍ7ßdÙ²edee‘™™‰¿¿?ƒ "66Vk»I!žD ¬ÍTú””ªm×VîîæZÁ€-¬èÞ݉;“8>“Fê–ójm=z8³n],+VœgèPw<<ê ££l“תUÑ”ùúõÍps3Õ ®^ÍáìÙë \ss¶l¹HR’ò´<44{{ã*e¥¿þùç*£FÐJŠW\zzvµ Uõ úÀñãÊTø7ßôÕÚ†P__‡)S³sç%ŽK×zMjj6C‡†pñâM-j§ ©8 |¶¦¦ú,Z¥™ö¯R)K,, 8}Z{i̽hïýÚÁbΜ–øøX°aC<‘‘×Q© K—¿èÔÉž1c¼©__{ MDÄ5-R–ßxyÕaåÊŽeÎ4P31Ñã7ñƸrå6×8r$ãùôÓ3¤§g3}zSÍùmÛ*zõ2†’ËŒqs3åðá4^zÉ£FËÊÛåáA.™8~\Yùƾš`(ï×ë¯7â•WUøúŽí™;·ï¿‚µk/`h¨+!Ä#A ¢F>ÌáÇKoذ!&LÀÁÁýû÷óÊ+¯°gÏ.]ºÄ¢E‹´Îuss£gÏžšŸëÕ«GPPÆ ###ƒØØXæÏŸOƒ X½z5Ý»wל«ÎuP“ûÔ„»»;¿ýöÏ?ÿ>^S·õë×Xù>ÔB<®œœJOËWç(op[®®¦ewsSH™™¹U¾V@€=?ÿ܉իc6lÙÙù4mª'^xÁýbç:ðóϱ\ºt‹ãÇ3P© 0Ð33åœÐÐTžyÆ‘ÈÈë X;Û†…¥òÕWÿbh¨K·nŽÔ¯o†©©>:::ìߟ̉÷umöƒêׯ+IëÕ+ýÝÍÍ %?FqññY\¿žCóæV´m[zæ@F†rþúõqU®Ç½hïýÈ¡ÊSù#<1“ÐÐ.Œ¤W/Ö®½À–-Ù¸±³VЫqcK^yÅ›ãÇ38v,÷Þ;ÁŠªT'GGMèÚÕ‰1c¼éÕ+˜åË£yýõF˜›+?ÜÝͱ·7æŸ2ÈÍ- << #­Žþþ¶„„(Ë k’±º»<Üê¾YÖï)õ見DGß`öì“èëëÒ¿¿K•^#„ (ˆ*›5kV¥çØÚ}ððð`÷îÝDEEqèÐ!’’’022ÂÅÅZµ*¤¨[·nÄÄÄðûï¿séÒ%ÜÝÝ0`áááZ繸eå®î}lmmµÚR<©¢¡¡¡V™OѶP=zô &&†­[·jÕ­ä{ãîî^éû$„¨¾ÄIJ_/*[ÝYXTëzþþ6šéÐ))wOcÞ¼ÓìÜy‰_~é¤yJÛ±£?ÿKhh ÇgàâbªIpèãcÁþýÉé¢RQéõûeï^%ÏÌwßµ-õþìÙkZ?«Ÿìߺ•Wê:IIUàÖõ:ó„„,ÜÜ´n/ÞD¥KKíA·ŸŸ ={:óÎ;Çù¿ÿÛÏÊ•´–¨¯ùÿ×›Ò¹ŒuË<~7îG…’ t±³3fÔ(O på©§v°lY4Ÿ}V”8²øÖ…Ï?¿}û’IM½SjÊØÚáåU‡£GÓ¹páÍ›åœh×Ζ­[9yò*‡§âï¯,ð÷·!((èè;–¥¥! Vm¶ÑÃBÝo•Êá¡þU‘?þ¸Ä;ùÌŸïOß¾5_¢)„šD••µÄ¡*|||´æ9tèMš4aĈšc999Ì›7O󳯯/õë×/õÚªÞÇÖֶܶVØN+++­º©Õô½âIch¨[ê rUÊ@Ù»>((¡D…«ìÚu ƒj-5 K¥Y3+Í,{{cúöuå￯°yóEbc³4OP;t°GO¯èIñ:v´cÓ¦‹êž[µ\e©¬ýQ'”57ת„…¥²gvR[[[# t S’Hª·ÿËÉ)(µƒÆ½¨[M”w¿Ö­mظ1ž… #iÝÚZ3“$?_Å×_G”™ÐnРzXX2qb8Ï?¿ŸÕ«;jf´ooˆ qä竘0¡a©éþ©©w¸|ùö½nâ}É¡põj±±Yeît‘”t›‚ÉÉå·¥ukŽM'9¹ì€ÂÙ³×4ˆ’egÎ(Á«’A¶m•€Âï¿_äâÅ[Œé¥U®0¬^Ãõë9ôèQõü ‹Ö­­ùí·x.<[*‡Â÷ß—NYÒåËJ0¯¶·Bˆê’€‚x¨,^¼˜   ºv튗—7nÜ`÷îÝÄÄÄÊŽ óçϯåZ !jÊÝÝœˆˆëLž|773tuuxî97\]ÍÊ-Sl¬­˜6íÛ·'âãcAR’²ËC~¾ŠQ£¼ªµmäâÅQ;–ÎSOÙS¿¾ºDF^gß¾dôôt´D4mjÉîÝWÈÍ- 0°h‡À@V®Œá?.ѨQÝj?Õ­ê{SuÞ‡qãÂèÕË++#ΟÏ$$$kkCÒÒŠÂéêêÐ¥‹»v]¦_¿=téâ@NŽ’^d±ªu»›öV¤¼ûõëçÂ÷ßGrôh:½zíÖÚå!:úuëò⋠ʼæ3Ï8²reÆŽ=ÄС!¬ZÕOÏ:ôéãʪU1üòKû÷§Ð¡ƒ=66†dfæ—ExxcÆxk=q¿îG…ÔÔ; ‚-ZX:DEe2aÂaM`©¢ —:ÀvçNÙý ,,•O>9»»9¾¾u5A™¸¸›ìÛw…¼<mÚØP¯žvŸU/_ذ!(ÛÀÝÝ;;c6n,»üQз¯+ œeÿþž}v7öÀß_áöí²ßÏâÔÛ½ššÊWs!Ä£E~k‰‡J@@[·neË–-¥Ê¼¼¼øî»ïî*¹¢¢våÅôéÇØ²å¢æX»v¶¸ºš•[¦´¶nm§g/ŽÒ¬·0À×^kX­z´ooÇ?ÿ\eÏžËZÇÍÌôyÿýfØØh?  tàäÉ«èééо}Ñ`§m[[ uÉÉ) cÇšÏN€Šß›ÊôìéL¿~®lÝš¨´ âN:ú¬X­uþÔ©M8~<ƒØØ,bc³ps3å³ÏZ3zôÁ*×í~*z/–/ïÀ«¯†›Uj—… Û–¹e¤ZÛ¶¶¬]ȨQyþù}¬\Ù‘¦M-Y¾¼Ó§cÏž+lاõã{L¸_¬­ð÷WfDEejŽ_¸p==žÞ]k‡‹êjÜØ_ߺœ={¸¸¬Rå:ØñÕW~¥Ž{xÔÁÎΘÔÔ;XXаaéÙD~~6ìØq ¨^þ„‡…™™>‹?ÅØ±aZ¯lm˜;·ãLJÕr …âþ€‚x¨¼üò˼ôÒKìÝ»—èèh²²²°±±¡U«Vøùùi¦õ !jŸ¾¾.'ú–¹ÅœºÌË«ŽÖñçž«G“&–>œÊõ빨TàâbRi™ÚÔ©MxöYÂÃÓ)(Pž†¶lYýÁÞØ±> îÁáÃi…_üupr2¦S'GMr½â pCWW++CÍZicc=>ø ))wèÕ˹Ôë^{­ööÚÁ‰¾}]iÜØ}}íuùUiE¾ùÆŸ_ôàÌ™kèè@›6Ö4kfEhh ææZA:ìÚÕ]»’HIÉÆÕÕ”nÝÉÎ.`âDßRïiyu«I¨ŠŠÞ /¯:ìÜÙRˆŠÊ$?_…‡G:u²×Ú†³¼º5ibÉúõغ5‘ðð4|}ëbeeÈ’%퉉¹ÁÑ£éddä`mmˆ»»9~~6šÙ/÷«½÷Š­­?ÿ܉ÄÄ›œ>}ƒS9~<×^kHË–Ö¸¸”ØTM½Ü#/¯ Ìr%BWoqæÌ5’’n‘]€­ZYk%Z,éwšgg“2w‘1Âoo tt(s·–1c¼¹y³tÞòŽWdÌo²²ª÷š’Êú»Ý¬™ÁÁÝÙ½û2II·qp0¦[7'T*˜8Ñ—æÍ-˽^n®òžWg¦•B< tTêý‘j`È!lذážUH!÷û÷_rr2YY¥Ÿ–å?Ì™8Ñèè˜ûR—Ú–O“&¿Ó­›‹=UÛÕâ‘qð`*ëÖÅòÝwm«tþš5˜3ç$Ÿ|ÒŠaÃÜïoå„–öy³gT¸m§µéqÿ¾ñ¤277ÇÁÁ¡òË!3„B<6-:GNNÅqrCCƯÞ‰Úò8µçqjË£¢º“úÔK>ÿü_þý÷ööÆL˜P»Û1>Hºž={íÛ‰ŠºÁ¿ÿ^£aC &!9PBñØX¼ø<7näVxN:Ì õqjÏãÔ–G…››)Ï>ëRù‰…Ú´±ÁÏOÉÁ°n],††ºOT@áA÷шˆkšUtuu;¶j;b !ÄÃD B!j­[/iÜ8ï*=a|TnO·§ö£F$<kÃÀnµX;!„B'!„Lxxåm TQ™xr,\IxxŽŽ&¼ñF#œœLøûïdÖ¬‰aÆŒã´mkƒ³³imWS!„H@A!„‰¼<ëÖÅ¢§§ÃêÕñô¬@§NèèÀêÕ1¬[Ç”)²\D!„xH@á!³~ýz~üñGæÏŸOË–-«ýú%K–°nÝ:–-[†——×}¨¡xâ­_?þóçC ú(K–Àºu°lH}läç«øõ×8öïO!'§€V­¬ùï=17Wþ™9w.“9sN’Ÿ¯âÌ™k¼øâ~Ík‡uç×_ãÊ,›9³9^^u4y&Lhĺu±„…¥RPmÚX3|¸'¦¦zU®ëíÛùŒwOÏ:ÌšÕ¢Tù;ùŒ†»»9³g•_¿žÃÆ œ8‘AVV.&ôìéD×®NšsŠçH˜8Ñ—õëc9t(«W³Y¾¼ƒÖ Œœœ‚*·%>þ&6Ä•I~~æ<÷\ýR9RRîhÎËÊÊÅÕÕŒ€{ºus*5û£*íyÐNžÌ 33—À@{M0AmäH/V¯Žaß¾+PB!PxÈ\¼x‘®]»V£×_¸p²²²îqÍ„(tñ"„„@ û(.(¯—>úØ((Pñê«‡Ù³ç²æØß_᯿’ظ±3ºÜ¸‘«YŸ™™«µ>¾cGûrË23s5yÌÍ 5ꇕïÙs™  ~ù¥VV†Uª¯‰‰FFz¬]Ë+¯x—š>ÿçŸI„†¦Ð¥‹£æØ‰Œ{ˆ«Ws´Îýí·x† qgÞ¼Vš÷¢x]JÕœ›—§ÂÀ@§ð<ªÜ–;.1iÒQrs 4ÇBB’Y½ú3g6gøp¢¢2:4„¬¬<­:®]{¡Cë3wnëj·§"sçžæÌ™ªÿøòË6•.UˆŽ¾@‹Ö¥ÊÜÜL±´4äÂùÝ!„B<,$ ð6l~~~5š Ä1løùÕlv‚x,íÛ—Œ¥¥!Ó§7ÅÛ»ÉÉwøá‡süûï5þøã¸Ñ°¡k×–™xÑÕÕ??›2ËŠ?ß·ï ææL›Öoo ._¾ÍÒ¥QÄÄÜàãOñÕW~U®óСîìÝ{…ß~Kà7i•ýúk††ºšäYYyŒƵk9 èF—.ŽÔ­kHBÂMV­ŠfÆ8Ú··¥ÿ¢dêºN™Ò__KŒõ01Ñ#/¯ ZmIN¾ÃÔ©ÇÈÍ- W/zõrÆÀ@—+lØÏG¢M7®Ë/¿Ä‘••G—.Ž 膥¥!‰‰· MæÆ¢ CMÚS–ÈÈëZÁŸÊܾ_é9W¯f`gg\f¹½½1QQ™Ü¾‡‰‰|…B!j›üküqssÃÍM2X‹‡˜››òŸ…ôõuùùçN4h`®9V¿¾/½Êñã àF:´kg‹ŽÔ­«ü¹8Ór˲³•¨J?ý@ãÆEA†Þ½]èÞ}Û·'òÑG­ª¼ô¡kWGììŒùí·&Lh¤Yp“ðð4ž}ÖKKeþ %A IDAT–ÀæÍ ¤§g3eJÆ÷ѺγϺйóN‚‚´à*¬YPjIB^^QyUÚ²yswîä—š5г§3NN¦,Xp–õëã˜3§úúJ#¾ü²¦îÏ?ïNff®æçš´§,ï¾ÛL뺕qv6©ôœü˜ƒž^ÙÙ9ÕÇóòTU¾¯B!îŸ'& P<·@nn.ßÿ=ÑÑÑ8880räHž~úi­ó?ùävíÚÅ–-[¨[·n™eÛ¶mÃÜܼÔõ³²²X´hñññx{{3iÒ$ÜÝÝØ´i6l ##¦L™¢uýòr(äççóË/¿°sçN’““±¶¶¦k×®Œ1c㲟äœ8qBSgggFM@@€Ö9*•Š;v°yóf.]ºD:uhܸ1/¿ü2ÎÎÎ5~¿Ÿ(©©0|8˜›Ãš5`RìKóÅ‹0z488ÀªU _Á_¹â¹rsáûï!:ZyíÈ‘P¢òÉ'°klÙ%ú¨¦lÛ6¥^%¯Ÿ•‹A|ʉEõpvVÞ«}• vì€Í›áÒ%¨S7†—_V^#j]³fVZÁ€¦M­€¢'Î÷‚¯o]­8€••!ݺ9±qc<ÑÑ™4onU¥kéééðÜsõX¼8ŠR°”Ù * Z_sî?ÿd°kW¦ *˪TÊïP€˜˜Z×oÔ¨n©`BMÚy€çŸ¯_ê/¼Ð€ Îröì5ÍÏ›6%0vì!¬GÓ¦–4lh‘‘žÖ6•5iOym¸×LM•ß‘7oæ•Y®>®>O!„µë‰ùY[`Û¶m¼÷Þ{ܺuKS¶fÍÖ¯_Ï!C4ÇΞ=KHH¹¹¥Ÿ¾¨Ëòòоð¨¯ÄÌ™3ÉÉQÖ¥îܹ“_ý•£GòÅ_ðí·ßj^ó矲{÷n<¨9VV…›7oÒ«W/BCCµê±~ýz¾ûî;‚ƒƒ±··×*Û±c³gÏÖÔ`åÊ•,\¸ &hŽ3†•+W–jãܹs‰ˆˆÀÃãŒwSh±³ƒÿüÆŽ X±B9ž“C†Àñãð÷ß (·À¶mðÞ{P¬²f2/ÖG9{V9¿Œ>ª)+ÖG5× ‚™3•úøõW8z¾øŠõQþüvï†b}´Ì 7oB¯^P¢²~=|÷C‰>ÊŽ0{vQ=V®„… ¡XeÌåxIsçBDH­uuë”:V¾}û2xð`ÌÍÍùý÷ßY¶lï¾û®V@¡¦fΜÉþó „žž?þø#ÁÁÁ 4ˆˆˆf̘ÁSO=EZZsæÌáСClß¾>}ú”{Í3fŠÓ§OÇ××—¸¸8¾üòKNŸ>Íøñã ÒzͬY³èÕ«/¼ðÆÆÆìܹ“¥K—òöÛoÓ½{w6lHzz:«V­ÂÒÒ’wß}—¦M›rçÎΜ9ÃÒ¥Kµ‚.¢¯¼‡)ß”§ço¿ ‡+Oò;t¨úµ¦O‡¾}að`evÁï¿+³ Þ}W; PS3g*Aƒ@OO™m¬ü3fÀSOAZÌ™£´kûv¨ 2c†L°³Sêïë qqðå—pú4Œ¯2Š›5K B¼ð‚2ƒaçNXºTyߺw‡† !=]™Ùai©´¿iS¸sΜQΕ>úHRU0[½¢²¨¨Lrs 00ÐÕ:~ú´2¨up¨x_RýúføûÛ²kW×®åpüx:))wxë-_­œœ”Aîœ9-ðò²(óZêåj:%·T¨a[ìí•ÿŸ:u•úõÍJ«RƒCѬ¨ºu >ÜC“¨1%åãLJ1bD({÷öÀÈH¯Fí)ËýÈ¡ ža’L~¾J+p° yyª*ÏBB!Äý÷ĆβeË4?÷ë×óçÏBJJJ©'ýÕ5jÔ(-Z¤ù¹G899qôèQ6lØÀàÁƒ5eNNNôîÝ›°°°r yyy¬X±cccBCCññ)Zï:lØ05jÄæÍ›INNÆÁÁASÖ·o_­ àAƒprrbΜ9¬ZµŠyóæa``€J¥bøðáL›6MsîsÏ=ÇôéÓ)¸—Ÿß¯Láã ˆ…~€¡CáÍ7«wáÕ‚Z¿~pþ¼2+ %¥ô“þê5JYf Ö£89)36lPjNNл7„…•PÈËSfe+A…b}”aàQ#e¹Br²²|C­o_í àAÊýæÌQ‚óæ2Â>ŠõQž{N \H}䘙铘x“‚ºº:U.HKËæ£NñþûÍ14ÔE¥‚U«bO£^=3êÕ3+õšÊ æNxx[¶\$,,]]Ö^^г§3«WǰeËE¾üÒOë>ùù*víJ"?¿zkú«Ú–Nøßÿ.ðÅÿâãcAÆJàÒ¥[ÌšõOá9Êï„U«bhÔÈ‚§ž²ÓÜÇÊÊss}RRîw“† -îY{îG''Z·¶æøñ ¾þ:‚)Sš ££$§üôÓ3•ævB!ăóÄ^|ñÅRÇZ·nMHHéééwP6l˜ÖÏæææxxxÉÀµÊZ´Pö7OLL,÷z.\ ++‹Þ½{klll’7¶$,,•.]þÒ$bœ9³yaN²Ë<<”ü žžuظ1žmÛqw7çòåÛ¤¦Þ`Ê”&5ªO¯^Î|ø¡!«WÇpéÒ-íqtÔø¶mkË!îlØG×®áæfŠ­­1™™¹$&Þ";;Ÿqã|èÓǵÊ÷­j[ž~Ú‘§ž²#,,•þý÷àînŽ.117ÈÍ-ÀÛÛB ¹ÂÇŸÂÌLŸzõÌ04ÔãÂ…ܸ‘‹••¡&pp¯Ús?r(¼óN3^|q‹G±eËEŒ‰ŒÌ$;;??zõr¹/÷B!DõéV~ÊãÅÚºôÞÖ††J6ìüüʧcVvž•U驘Ô©Sýkè ”µ²eåiP»sGù‚YV½‹WŸ§fiiYî¹·oßÖ[°`üñùùù|öÙg4kÖŒ ðå—_j’s‰j00P–€2è5«þSÊú¬ û(U죞WFÅÀ@IvX2ÏCa-3Oƒšºï•ÓG5ÇKôQÊ裚s‹õQ,€?þPÚôÙgЬ4h ,§>úÈ™:µ vvÆ$%ÝâÈ‘4ÂÃÓ4O¹+*%GÀ·ß¶EOO‡S§®’šz‡:u ˜;·5Ï>[³A¦‘‘ýú¹’p“ü|C‡º—yÞ'Ÿ´dÆŒfØÛsñâ-NœÈ &æ*ž}Ö…¾}«L¨N[tt`ñâ§4Aƒ˜˜DF^'?_EÎüï+¿sFò¢cG{nÝÊãìÙëœ<™Á¹´kg˪U11)Úã^·ç^jÝÚšE‹žÂÙÙ”+WnsòäUrs èÙÓ™E‹ž¢’Õ$B!„x€ž¸ U¥§¦¦bk«½…Ù™3gX=œœœ8vìèêjÇ€Ž9PjG†ãÇ—ÚÑáèÑ£¸¸hñîÔ©:u”`Éš5k5j†††Lœ8ñÞ5æq—“£<ÏÌT¦äÁÇ+9 îõ€<5JôQ`¥°r옲¡D¥°–Ú‘áøñÒ;:öQJôQ:uRþ%°°f²tÃÐP™Á j….k×beeXn™µµvY‹V„†ö":ú™™¹¨4Oº+*SëÖ͉Î{sþ¼2øõñ±ÀÐðîbã'6¢wo¥ÏµicSæ9ºº:ŒíŨQ^ÄÇg‘‘‘ƒµµ!..¦Zy*zOJ–ûøXT©-ffú|úikfÎlÎ… 7((Pò?ß”å:9pëV>ññY¨TÊ‚²êRÕöÔ–.] q$&æYYy¸ºšbk+³’„Bˆ‡MíkxHyzz0þ|M.¼¼<>øàƒP°³³£uëÖDFFòÎ;ïhf3¨T*¾ýö[víÚ…£££fù„ÚǬ ÄÇÇk‚=zôàܹs|ñŤ¦¦jÎÓÓÓ£^½z„„„Ü×¶=vÞzK<ýµ²kBçÎÊ.ÁÁ÷ç~…}”ùó‹r äåÁ<Ø€‚²$#2Þy§h6ƒJ¥ì±k8:-ŸPûøã¢([Gªƒ…}”sç”'ŠõQôô”Ù ,µFWW‡vílññ)ØO]æí]ºLOO‡† -ð÷·¡];[­**S30Ð¥qãº4mjy×Ákk#Úµ³¥];ÛJ“ê耻»9­[[k–WÑ{RVyuÚbf¦O³fV´haU*˜Pœ©©žf[ÊòUmOmÒÑ/¯:´li%Á!„â!%3Êñ /ðÞ{ï±dɶmÛ†««+111deeÑ¢E Nž<ùÀêòùçŸÓ£G¾øâ –/_ާ§' $''kÊK.§puu¥]»vx{{cddDdd$999´lÙR“çáêÕ«L›6wÞyWWW\\\ÈÈÈàܹs´k×îµñ‘·v­²[°aE[þò‹2Ð~ñEåi¼ë=žBü Êö’K–([MººBLŒ’Ï E x€}”Ï?W‚_|¡ä;ðô„„%£º¼är WWh×¼½•|‘‘Ê,–-‹ò<\½ª$c|çå|ÈÈP  ¼^ˆb^yå7oæUxŽ™™>K—¶@5B!„x|=<"2ŽŽŽ,_¾œºuë’””Dxx8úúúÑ´iÓZ—gžy†­[·âååEFFGŽ!99gggÖ¬YÃðáÃK½fÁ‚ 0€sçÎqêÔ)rrrxæ™gرc‡&gD£F˜6mvvv$$$pèÐ!Î;‡­­-|ð“'O~ í|dýû/Œ§$a,¾;ƒ£#¬_¯ Ї­8AM8:*ƒ÷ºu!) ÂÕA{P²½âƒôÌ3°u+xy)þ#G”`‚³³²<¡Œ>Ê‚0`€8uJ &<ó ìØQ”3¢Q#% `g§(RηµUfbH%=šNxxZ…ÿ=š^ÛÕB!„x,è¨î"óÞ!CذaÃ=«ÐýráÂðóóÃÜܼÌ2ÌJ$Ñ»sç§OŸF__Ÿ&Mš`hhÈÙ³gINN& @33 ¢ë;vŒ;wîбcG­ã¹¹¹8p|}}øè£øàƒ8pà:t(ÕŽèèh’““±¶¶¦Q£F¥ö:/YK—.‘€‹‹‹f)CI*•Š‹/’””„­­-õë××$Œ|TèèèðÖ[oñÍ7ß<ø›GE)zŸÒy@™)põª2k ¬„ˆj.(ƒf??eç…²ÊüýK'z¼sNŸV‚ Mš(ƒñ³g•}@@ÑÌ€Š®ì˜r}”Ü\8p@Ùî±°òÑGÊ`þÀ(£­ÜÛÚZ ”Ì V²—.)?»¸-e(I¥‚‹•÷ÙÖê×/JYKî÷ï¿ääd²²²ªtî˜3q¢ÑÑ1÷¥.B!„ò}ãñdnnŽCñ­Ý«é‰ (<*ú÷ïÏÖ­[‰‰‰ÁÃã¶«óȨՀ“¦e6BLŒ²ÝäJ B!„x’È÷ÇÓÝdÉÃCâ믿ÆÇLJ­[·Ò A4hPÛUBÛ×_+³0¶nU¶m”>*„B!ÄM ‰¨¨(Ο?ƒƒ?ýôS©¥ BÔº¨(8^YþðÓO¥—2!„B!ž(PxHLš4‰S§N‘@@@@mWGˆÒ&MR’'&$(¹„B!„O4Ù6ò!áããSÛU¢bÒG…B!„ÅÈ !„B!„BT›„B!„BQmPB!„B!DµI@A!Ddgçã嵉ñãÃj»*B!„¢H@A!ÄÓ°áfFŒ­v™B!„xøÜÕ.QQQœ?77·{U!jlÉ’%lܸ±¶«!žéééx{{×v5„B!„¨52CA<6T*UmWA!„B!žw5CÁÇÇ6lØp¯ê#Dèèè0nÜ8¾ùæ›Ú®ŠxB 2¤¶«ðPII¹Ãܹ§Ù¿?…œœZµ²âÝw›áë[€£GÓyþù}<˜Š—×&Ík?ø ~x²Ì²µkiÙÒŠ&M~§[7'Þ¿9Ÿ|rа°4òó ðó³eêÔ&šû¨íÝ{…•+£‰ŠÊ$++SíyåŒï÷ÛQ¡Í›/ò¿ÿÅ•IAxx˜3xp}^zÉ]]@ÉO¡n󇶬ð½B!„¨-wPB!23s6,„‹oiŽ<˜Êðá¡ìÚÕ++Ã{rŸëוû$'ßÑÛ·/™£GÓX¿¾³f€½wï^yåÖkcbnsƒ+WîðÝwm+½×ˆ¡<˜Zåºýùg7<=ëTzÞ§ŸžaÙ²óZÇ""®óᇧ8q"ƒo¾ñ×*{Pï­B!DMÈ’!„w%<< ''S‚‚ºpút?‚ƒ»Ó¡ƒ×®å°eËEüülˆŽ„žž:Ø=Hó߈å–µkg«¹Ï‘#i89™ðÛo9}º?þÙ^½\¸u+Ÿ9sNjÎ ¾ À¤I9t¨7gÏ`×®îÌžÝ''“ûæóï¿×X¶ì<ÆÆzÌšÕ‚C‡zsôh¾úÊKKC¶nMÔÔ]­*ï­BñàÔvÄCFf(!„¸+VV†,YÒssåŸwwsfÎlNïÞ»‰Œ¼~ÏîcjªÇâÅí±±1ÀÓ³óçûÓ§O&G¦“––­­ŽŽJÐ`À7ìì”å ˜Ó y•ïõÓO÷¬Þj;v$0aBC†÷Ð0À ]]Þ~ûÛ·'Ò­›“¦ìA½·B!DÕ|ʰaAL™2ÿÊO=™¡ „â®4ib©𪹹™••{ÏîÓ¸±¥&˜ ¦¯¯CûövÄÇg0j”íÛÛѧÏnÞ|óK—žçСTrsk÷©J\Ü ºvu*UÖµ«#ññ7µŽ?¨÷V!„¨šN¼ð Œ7ŽÈÈÈZ®¨m2CA!Ä]16Ö+uLGGó§V›š›ë³fMQQ™>œFdäu6nŒ'##›Ù³[Чk¥×º_9”zVù²Í{+„B(X¿~=!!!|óÍ7ôïߟ޽{3yòdêÕ«WÛ•µ@f(Ü'döìÙÄÅÅÕvUîÚãÔ–'ÅÁ˜ƒÌþ}6qéqµ]•»ö8µE(ƒá¼¼²·x­¨ "âééÙZÇòòT:¤ üëÕ3Ó*óñ±`øp>ù¤þÙ¶mm™2åׯçÜe+jÆÝ] 8ìÝ{¥TÙß+Çê×7+U&„BælC·ÆÝJµ¶ˆŠ=õ”Û¶%Òµë_šck×Ò®m¹e-[ZàïoK||ÿùOˆÖ5MM•]Ô®\¹Í† ñ,\Xz]gãÆuñòªÚÒ„{­IKÆŒñbùòhfÍú‡Y³þÑ*ïÛוîÝKçWB!fzzzŒ9’.]ºðþûï3tèPFŒÁ”)S022ªüâ‘&…û¤C‡tèС¶«qO‡éxÂqBÎ… BE w þîþl>±™.þô^Ó05,Ñÿn]㯈¿ˆM‹Å@Ï¿ú~tò)ÑGÎz>”ñÇcefÅÖ“[‰N‰ÆÁÂ-`mVNÿ«æµ-M-Ù~z;QW¢hS¿ =šôà`ÌAþú÷/FvYj™@æíL‚Ï“ƒ©¡)­ëµ¦½g5ú_z<ÁgƒIÎLÆÚÌš. »ÐȱÄg^¬~&lùg ñéñ8[:Ó¿E,M‹õ¿C?±'²°ÿ…® 8¢°ÿÙº3²ÃÈ ÛRݺTçs•32Ò#:zPµÊììŒùî»ve¾¦¼²ìì¢õ˜õê™±dIÅýÕÞÞ˜×^kÈk¯5¬ð¼Ú2hP= ª8qUMÞ[!„¢¶éèè0xð`Ú¶mË«¯¾JÿþýY°`;v¬íª‰û¤Ö Œ?ž¥K—jýõ×ÉÊÊbõêÕL˜0A+ °bÅ Þ~ûm233µ^HPP¶¶¶€2ýì³Ïhݺ5Ó§O×ÚÖÄÆÆ†Ý»w—ZßSÝk7mÚ”iÓ¦ À¤I“4…²ò,_¾œÉ“'sýºöþá„„„ «[qžÌ3fðùçŸk%<ÑÑÑa̘1üðÃhÕ¯I“&L:•øøxÍù¶¶¶lÚ´‰€eðO?ýÄÞ½{X¹r¥æ¼Î;k eµ¥ºu©Îçð ¨ ¿føúú’Í®]»Ø¿?ÿýïÙ¾}»ÖkƇ¾¾>cÇŽÅÜÜœ;wÁ„ Ø¿ÿ]]ûµ×^ÃÐЗ_~— glذ—_~üýýÑÓÓãØ±c„††RPPPa@áûï¿gÞ¼yèèèзo_|}}‰‹‹cóæÍ,[¶ [[[æÍ›§õš×_CCCÆŽ‹±±1ÁÁÁDDD0hÐ "##±±±aĈ°wï^F¥É¡PQ΄šÔ¥ªŸÃƒ4?x>K÷/EOW-âaçÁ¹+çøáï°3/£ÿý³…1«Ç ¯«OŸæ}ðuò%;7›]»Ø~?ÿ]ñ_¶O,ÑÿÖŒC_WŸ±ÆbndÎÎw‘Á„uØ?}ÿ]]ûµµ¯a¨gÈË/ãbéRáLƒ G7ðòêÂþçî¿»?zºz‹?Fht(ª‚  ßïýžy~æÍûâëäK\z›OlfÙþeØšÛ2ï¹ýoÝëê2¶ÓXŒ Œ >LDRƒ¾DäG‘ؘÛ0¢ý TìÜË¨Ž£49*Ê™P“ºTõsB!„wÏÈȈ/¾ø‚6mÚ0{öl.Ô‰  IDAT]ºÄìÙ³+}€*-µPøê«¯ÐÕÕ%88˜.]ºhŽoÙ²…–:ÆŒ˜šš²oß>Ú´i£9®R©ïcfT¬ÿÕubÿ´ýš6æä1lñ0‚ޱêà*&÷˜Ìˆö#HÈH`oä^FŒÖÌ\¸×u©êç „B!îçŸ+++Þzë-rrr˜;w®#µPˆ'))‰=zh €¿¿?GŽÑ»|ù2xzz²cÇvìØJ¥BU˜¹KÝ1=ª5èŸ>}ºf `hhH·nÝ8wî—/_ÆÂ¢Æ×ž:uj•‚ ‰‰‰œ?ÿRÁ ÒA|BB‰‰‰tìØQkЮ];† ºuë8~ü8Zm/>P×××çÃ?$((ˆ0yòäJë~/ëRÙçð ŧǓt-‰Mzh´€¿»?GâŠõ¿ë—‰HŠÀÓΓgv°ãL‰>RøtÿhÜQ­Aÿô^Ó5ƒXC}CºùvãÜ•s\¾~ ‹_{jÏ©U &$^Mä|ÊyüÝýK€Jñ  $^M¤£WG­<@»íâ7„u‡×q<á8ÞÅ>ó^Óµêúºú|8àC‚Žq ú“{Ô ÿÝE]*ûÄÃIr!„¶ž={²xñb^}õUŒ™={vmWIÜ#µP¸zõ*PþÔzwww­€Bjj*111Ìœ9³Üë–ÌOàææVêsssrssïêÚÞÞÞåž[\zz: Ö,I˜ú½òð(; ¸§§'ZÇ4hPê\õ1õ5T]ªò9¿qãÆ 2¤Üëúûû׸.Õ½¶¾~ÕÞBÎ;Wíº¯ß… Ê,‰‰(µcBlll©¼ê’êk>¨ºûì3úõë§Y–‘——Ç| µ}‹±±1PzVÁ½¬Ëæ¾M}œ- Žf_Ô>­­·Ú¦5;”'ÜÞöÞ\¾v™ÁmÓÔ¥Œ>ñ—VþƒªºŸ×%ׂ·½7G⎰d߯v*Ñÿ¢ÐÁ³‚þg]W+WDà÷“¿Ó¿E±Ï<î(mÄÄÀ„ÖõJô¿ŸÑ¯E?ͲŒ¼‚<>ØRØÿ¼Šõ?ýÂþw³ ý¯†uB!„µï¥—^âôéÓL™2…­[·âìì\ÛUw¡Ö“2¾ýöÛL:•gžy†Ò AΟ?Ïï¿ÿ޽½=)))ZƒœÏ?ÿœçž{ŽÖ­[ÓµkW5j„±±1qqq„‡‡ËíÛ·+MpX–ûym€?þ˜aÆ1nÜ8–/_®ÙåáèÑ£]ðqñÁÒÜ’Ä+‰Dâìå³Üüþ&¦&zœ¸m€i}§Âð߆3?r¾z–‡èÄhö&ì%?,3Eç_‰Œþ}4AßÑ»io|\|Hº’Äš˜5ä+óù_÷ÿi$A„¢¼ >l@ïf½±0³ âDÇ.ÃÑÆ‘AOR×ótúïü[ñ.‘§#±®d»£»FòÆ"„B!S¦L!66–É“'³páB™NòöP (œ8q‚ °råJuù¨Q£HMMeÍš5¦AAA,Y²„1cưe˶lÙ¢^fbbB=´~ án¹m€~ýú‘‘‘Á„ ˆŠŠ"**J½¬C‡÷Ívúæ›o’’’ÂŒ3ذa6l@¡Pðúë¯óé§Ÿ–XgîܹŒ?ž°°0u™££#kÖ¬Q?†н{w6lÈñãÇ™1c;v¼ç€‚>±<ŒÞîú6'.ž`AäV¼ãüë4ŠÔ¬TÖĬѸ0 jÄ’7–0fé¶Û–cwœ# z4î¡õcw«ÈmôóíGÆõ &„O êlQgï8ÿ¼:”9e$À›ß$åj 3¶Ì`Ãá l8|Ç1÷{OƒJ9ÿÌe|øxÂvÝqþÙ8²æÍ5êÇ0º7îNà 9~á83¶üwþyw¼ç€‚>±!„Bˆ‡ƒ¥¥%_~ù%!!!¬Y³†çŸÞØ! =}@ÁÔÔ”ùóç3jÔ(víÚÍxкukêׯ£££úvüb/½ôAAADDDpòäIT*îîî´mÛV#ñ_@@–––¸¸¸”Øoñ2'''ƒoàé§Ÿæã?.‘prĈôïߟ-[¶pöìYìììhÙ²%mڴѪ¿>ÿüs†ζmÛHKKÃÁÁÎ;kÌ~öcÜÝ5ÊGtAÿVýÙrl g/ŸÅÎÊŽ–uZÒÆCËóïùÏÞq8ÛŽo#-; ‡Êtöé¬1óļ½9>õ8ëcדt%‰šUkò\³ç°·¾ëü3·äÀûØxd#ñéñÜ*¸¥Žý^mÑ6}ŽƒB!„¨XÍ›7'$$„™3gÒ£GÙàÄ£CQXŠ¡¹Ûãyþêýï^ÒÒÒÈÉÉѪî¦M6ŒëL||B…Ä"„BQÿo\¾|Þ|óÍ9æÄƒaccƒ³³³Þëý€.]ºÐ¤IZ´h¹¹9ÑÑÑìÙ³€qãÆ9:ñ¸ëÚ…&µšÐ­æ¦æD'E³'þ¿ó/@Î?!îEY¨ä»=ßQ·Z]z7èmìp æXÚ1bÎÇ›ŸK}§ú<]çéûæ.¹xí"+¯àÙ†Ïâáp{ÊÔǵŸ„BˆòrttdÀ€,Z´ˆÁƒcnnn섎Š…Ö­[³}ûvöíÛ§.³°° 44Tcæ!*BkÖlÛξ„;Î?3 BƒC5f~Bh*Pðmä·x<Êé9é¼³áö'í×(÷pð`aÈBjÙÕºçºoù˜ˆø»4ÖPxÜúI!„0¤W_}•… ²eËz÷ÖísrÈ!Ô­[—>ø ‚¢3œôôt¶oßή]»ÈÊÊâ¹çž£ÿþ¥Ö=z4˜šš†µµu‰:iii¼ýöÛxyy1eÊ” ÿ^Š…ˆˆ¢££‰åÒ¥KÔ¨QƒÀÀ@\]]Ú#ë~9ÄmïFMlr,—®]¢†} âj'矾î—ãAˆ‡Íõ¼ë X2€Ä«‰TµªJ€wÕ¬«‘p%í§·sñÚÅ{(üyòOvžÙÉSµžâ`ÊÁ¹Bñhsuu¥}ûöüñÇ:(8p€ÜÜÜ ŠÌp¦OŸÎ¢E‹¸3Û@‹-îY?&&†´´46mÚÄ‹/¾X¢ÎªU«ÔIþoݺeàˆµ÷P (øúúâëëkì0;ŒG†¯»/¾îrþJ@ƒÈù'³wÏ&ñj"Í\›±0d!¶–¶êeç2ÏaifYêz×n]cêÖ©¼öÔk¨ U2  „Bè¡gÏž|øá‡Ü¸q£ÔoãïeÁ‚ØØØT`d†‘žžNõêÕéܹ3VVV,Z´è¾ëT©R'''V®\Yb@¡°°•+WÒ²eK:TAQk§ìyâ„B-H?Á ™5ŸÃ©‡ïY/:%šßc~çÇý?²)n—r.=À(KÊSæ~$…BA賡ƒ µíkãdSúL 3vΠ’i%Þ~æm½ö½/ißF~˦¸Mz­/„B<žyæòòòt¾8nÕª 4¨ ¨ çý÷ßgÏž=LŸ>]§/Ñ_|ñE¢££ILLÔ(ŠŠâܹs¥Þ¹ð =4w(!„xt…î eÞ¾ye}õá«Þ_aª(Jh˜y3“!+†p$õˆF= 3 ÆwÏàVƒï»Ÿ5Gל™¬u\ŸHU«ªeÖ9vñ×n]£eÍ–x8x°?i?‡SccaC·6x:z–ºÞ¡ó‡X»Œý`e®ûTWKb–0uëTÚÕi§UÛ…BˆÇUõêÕ©S§ÑÑÑøùù‘žžNxx8§N"''‡ZµjáççG@@ …B½ÞÝ9BCCË”xýõ×ñ÷÷Wÿ••ÅÊ•+‰‰‰!''gggºuëF—.] Ú>''ý¦(ïÛ·/¡¡¡¬\¹’ñãÇ«ËW¬XLž<ÙPaêE„B”Ë¡ó‡ØvzëvÄ«º©Ù©l9¹…uÇÖá^Õ1~cX½ˆ#©Gp¶q¦‹Wì,í8Ÿuž¨sQL9¨õ€ÂÞĽZÇÖ«A¯û($]M ‘K#Æ­Ç'þÐXÞ¯Y?>íö©ÆLªÞßü>AƒðóðÓ:¥JÉgÛ?ã—è_Ðb~¬tB!žT 6$>>žS§Nѯ_¿Óg/Y²„~ýúñÙgŸ©ËîΡpòäIu^Ò¼òÊ+êßcbb6lW¯^Õ¨³jÕ*‚ƒƒùüóÏÕeŸ}öGÕº-¡¡¡Ô¨QCëú÷âèèHÇŽY³f o¿ý6¦¦¦äää°eË^xá*UªTî}”— (!„(—Œ|Õë+žoò¼ºìpêaúýÚ…Ñ Õ~¦ S2nd°zÐjœmnÏwœ§ÌãØÅcZí«oã¾øÖÒþVAk‡ûÖ¹‘€ˆÓ\¼v‘®Þ]ñpðàÜÕsl=½•‡WàZÅU=00oß<2nd0¹‹nß \Ï»Î[ëÞâï3ó¾ÿûrg‚BñŸ:uê°k×.–-[FNN:u"(({{{RRRˆŒŒäÚµkencüøñ¼ñÆeyyy¼ÿþûtëÖž={““È#ÈÌÌ$((ˆN:aggǹsçX´hááá´k׎çž{€¸¸¸2*îvóæM[oÁÁÁlß¾ÈÈH:vìȆ ÈÍÍ%88Ø`û(PBQ.îUÝ5š¹6£«wWþ<ù'§/ÆÇɇ@ï@~ùQ è׬uê¢P(¨dZ‰5ïéøN}÷5xüf\Ⱦ@Ø‹aø{Þ¾2òl$ƒW æ×ƒ¿2ºýh ‰Wù~ï÷|Õû+ì­ìµÞÏ¥ë—è÷[?’3“™÷Â<ºxövJ!„âQæììLzz:ffE—¨¡¡¡ØÛßþœíß¿?ÙÙÙen£~ýú0räH:wîÌû￯._»v-W®\aüøñŒ1Bcž={Ò±cGV¯^­P˜4iÒ}÷}'CÜP¬K—.T«Vððp:vìHxx8>>>4nܘ7nl?ú*׀•+WHIIQÏ)„1mÛ¶MÎEñÀ>|˜ZµJŸFðIS˾ô~p³w ûVѰŸ‡K_^Ê/Ñ¿²8„[·hìÒ˜®Þ]y©ùKZå!¨ˆ ÅwKÔ²«¥1˜P³—£§.âÒõK8Ù81=b:VæVœ¹r†o#¿U×9À†ã8zñ(}÷U÷=Z‘•›ES—¦´vk­u„Bˆ'µµ57nÜॗ^bÍš5 6Œ   7nLýúõ±°°ÀÖÖöþúR©ä­·ÞÂÑÑ‘O>ùDcYll,[·neïÞ½êé Õ¿'$$¨ë3ñ£©©)}úôá·ß~#**Š#GŽh Ž[¹NŸ>MJJ ß|ó¡âBoGÕéÙ&!ÊË·³=ÊR2SJ-/¾ð·µ¸ýáßÊ­­ÜZž“NTrŸG|Οq²ì•e˜(Êž|¨"r(ø8ùh$xº[ñ? Šê¤d¦•›¥1˜p§ Ç7ðT­§4|kùÒ­~7&nœÈË¿¿ÌÂ…Z=’!„B< ÌÍÍÉÏÏÇÃÃmÛ¶±~ýzöîÝË‚ ¸pá~~~¼÷Þ{xz–ž,ùN*•Šwß}KKK¦OŸ^âs¾ø›ýÇï=+Õù Œ•C¡Xpp0 ,`ܸq˜™™d°m—W¹Ú¶m @xx¸A‚B_ …‚qãÆ1kÖ,c‡"žËskƒÄ«‰¬þwu‰ [OmÅÖÒ¯ê^ìOÚO×&T®T''z7èÍ΄¬=º–³g©W­^™ûªˆ Ž•iQ£‡Î"">¢Ä#ñWâq¬ìˆceG^yê®\¿Rb;»vq8õ0Ï6|jÛ×.5~[K[Æ®Kÿ%ýù%ä\m]µnBñ¸ºvíUªTÀÎÎŽ2pà@ÒÓÓ1b¯¾ú*;vìÀÂÂâžÛ),,dâĉ(•JfΜ‰‰IÉ/+\]‹>{§L™rÏŠâG/À¸9¼¼¼hÚ´)GŽ¡[·nT­Zö—%’äPBQ.Ö¼·ñ=6žØˆwuo.d_`ËÉ-( • ö¬žÁ lSÒ¶N[êT­ƒ¹©9qéqü}æoL¦Zå#¨ˆ ã:Œãµå¯1rÕH¼pwpW'e,,,dh›¡êo7^nñr©ÛÈÎÍV(”•ÁßÓŸ…! ¶rý÷cQÈ¢û¤!„»¬¬,ìììX´h>>>ê/¯ªV­Š ééé$&&–È•P¬°°?ü¬¬,¾ûî;LMKŸE©[·nüòË/¬[·ŽÐÐPj×¾ý%€R©dëÖ­(•Ju™1s(ûæ›oHMM¥N:ßvyÈ€‚BˆriY³%õªÕ#l»ÎìR—÷iÔ‡QíG©ÿnW§±bÙ¿]cýÊ•*óÿT³®öÀb¾ÛÓîO3­û4¦nÊ_§þR—›(LÜj0CZ 1èþZ»µfÉ€% ^>˜þ‹û³0d!]tB!Ä£$##ƒªU«²k×.¦M›FåÊ•©]»6•*UâÌ™3\»vªU«j\üßmÚ´i,[¶Œ-Zðꫯ–Xþúë¯ãïïOëÖ­ &<<œ.]ºàææ†££#ÙÙÙ¤¤¤pëÖ-†N¯^½€òçPرc?ýô“ºëׯ'&¦(ÿR`` ƒ *sµk×.³íÆ" B!ôbfjÆX¿±Ô­V—Þ zÓ³AO¢ÎE¡*TñT­§h^£¹Fýam‡1ð©üsîÎfœÀÕÖ•gê>ƒµ¹µ1š !¤Y]êuagÂN.߸Œ½¥=í=Ú—úèBiž©û ¶–¶x8xh”ßÙOwjä܈å¯,gÃñ D%GÑÀ¹ún!„âIsìØ1|||èÚµ+*•н{÷râÄ õò6mÚ0yòd¬¬îÄyõêÕê õ»õîÝ[ýûôéÓñòòâçŸ&99™ää¢ÜOæææôìÙS£ny]ºt©Ä#©©©¤¦¦àíím°}=hŠÂâlSz(~†Xr(c“ âA«è÷¿´´4rrr´ª»i“ cÇ:ŸpÿÊB!„z¨Èÿ7T*-Z´`òäÉ„„„E‰“’’(,,ÄÕÕµÔ¼ÀÆÆF}Att´Æ£ wóððÀÉÉI£¬°°¤¤$222ppp fÍš˜››°uE9 Ξ={ÏåÎÎθ»»«ÿމ‰A©Tâë[vÞ(¥RItt46664jÔH¯ØlllpvvÖk];„B!„BÑÉ“'¹~ý:ß~üÏÚÚú¾´jÕJãïû]€—F¡Pàîî®qAohNNN%2ÊÒ¢E ­ê™ššÒ¦M}Ã2ˆ²ççB!„B!*ЦM›puu¥aÆÆEèè(ØØØÐ©S§¹Ë ó8µEbûmlfÓ©Órc‡aS[ôñ¤·_!„âq²yófzõ꥞QI<:äqOfff; ñ„23›I@À c‡!„B!*PTT‰‰‰êÄ£åæPÐ6ÁØ£àqj‹>Åöçä¼eì æqj‹>žôö !„B<.¾ûî;Ú´iC“&MŒŠÐƒ$eB!„BñÀÅÆÆ²gÏ~ýõWc‡"ôôPäPøí·ßh×®UªTÁÚÚš–-[2gÎT*U‰º»víâÙgŸÅÑÑ‘J•*áááÁøñãÉÎÎV×ÉÍÍE¡PDjj*/½ôT®\™€€>\b»*•Š3fàíí……õêÕ#44”³gÏ¢P(=zt™mÑgŸÚ¶ç~´é¿;ã;{ö,}ûöÅÞÞž*UªÐ£Gø"##Q((•J"""P(êŸ;w–Ú~}cÑ¥¯Êë^ÏÝÿöÛqÚµ[B•*³±¶þ†–-eΜC¨T%gTݵ+™gŸ]ƒ£ãwTªô5?1~üN²³óîh_ E(AAkIM½ÎK/ýƒÃ\*WžM@À ¾Tb»*U!3fÀÛ{>³¨Wï'BCpöl E(£GG”Ù}ö©m{îG›þ»3¾³g³èÛw-öös¨Re6=z¬Òˆ/2ò< E(Je!çP(BÕ?;w&—Ú~}cÑ¥¯„B!„á(•J¦NJ«V­xú駎ГÑïP˜0a¡¡¡e111ÄÄİoß>~ÿýwuyXX#Gޤ°ðöÅAbb"3gÎ$""‚={ö`mm­^–™™‰ŸŸgΜQ—EDDàïïO\\ŽŽŽêòQ£F¦þûÌ™3L˜0C‡éÔ]ö©k{J£KÿdddСCΟ?¯.ûóÏ?‰ŒŒ$22’fÍšéÔÞòÄ¢K_U” vz஘Ӊ‰Ùξ}øý÷Þêò°°ÃŒ¹•;‰‰YÌœMDÄ9öìy këÛsÖffÞÂÏïwΜÉR—EDœÃßqqCpt´R—µ°°Û)gÎd1aÂ.JÓ©=ºìS×ö”F—þÈÈÈ¥C‡¥œ?û‘™?ÿí)Oÿ³±±aݺu´nݚʕ+ãããÃÒ¥Kñññ!22’´4ݾ/O,ÚöUE ?õ_Ìí=º..•qp°äå—0wnÀ1ǰxñqòóU„…ueÈ&¸¸TÆÂ”† «±tio\\*—¸`ut´býú¾´j債µ9^^U™=»ËíKW×[µê4Ÿþ ƒ5¦Z5+œ­1¢|ÐN§6i»O}ÚSžþ+fccκu}iÝÚ•Ê•Íññq`éÒÞøø8yž´´:µ·<±hÛWB!„Âp²³³1b 4`ذaÆG”“Qâã‹.Xz÷î]bYqYqcÇŽðÒK/aff†©©)¦¦¦˜˜˜`ffÆÅ‹9wîœÆ6Z¶l‰­­­FYݺu¸v횺,!!€nݺ•ˆ£´²²h»O}Ús7]ú¯XóæÍqrrÒ(377Çßß¿ÔúÚÒ'mûª¢ÄÇ_ý/¾z%–õî]÷¿:™;v€—^ú3³™˜šý˜˜„bf6“‹¯sîœfÞ‹–-±µ­¤QV·®=×®ÝÎQP´nÝÜKÄQZYY´Ý§>í¹›.ýW¬ys'œœ4ã177Áß¿ŽÆ6u¥O,Úö•B!„0 •JÅ;ï¼Ãõë×™;w.ffF_”“QŠ)ŠûÖ)Nê§T*Q*•¨T*T*•Fþ¼<Í‹+«’Ï@ïëÎõÊŠ£´zeÑvŸú´ç^´é?m•w[º¬¯ëñ©(Ú„\œÔO©,D©,D¥*ú¹3̼<Í$¢VV%ß ‹÷UZó sþi·O}Ús/<ý pþi_W×ã#ts)ç– `Qô"ò!+†0mÛ4ãõJÏIgYì2F®É€%X»ÌØ! !„z #??¿D¹J¥bÒ¤Iìß¿Ÿ°°°_rŠG“Q‡„ŠŸ—Ù¸q#5ÒX¶iÓ&:>>>lݺ•€€ƒÆQ¯^Ñ·š[¶laäÈ‘˶nÝjÐ}3D{té¿b±±±¤§§k¼€óóó‰ˆ(šE ¸/LLL(((¨°XŒÍÓ³*7ž¡Q#Í›6ù¯NÑ7Ö>>lÝL@@ƒÆQ¯^Ñ>¶l9ËÈ‘Í5–mÝšdÐ}3D{té¿b±±é¤§ßиK!?_EDDQ;‹ûÀÄDAAvWöúÄ"*Ö-å-¢’£ð®î­Q~ ù¹ù¹FŠªÈÀ¥iàÔ€Éþ“Àôˆé,Š^¤1xØ¢f #F$„BèoÑ¢E̘1€áÇ«ËU*'NdÆ |÷Ýw4iÒÄX! 3ê ÁÁÁL™2…ï¿ÿž´´4®^½ÊÒ¥KÕ ûõëÀ«¯¾Š™™/¿ü2 , 99™¼¼<ÒÒÒˆŒŒd̘1|þùçzÅñüóÏ0iÒ$~ûí7222¸té?þø#Ó¦UÌ7i†h.ýW,''‡>}úÅ7ˆ‹‹cÀ€ÄÅÅáç燳³³º®ƒƒÇŽ#!!¡Ô)<Ë‹±]èL™²ï¿%-íW¯æ²tiœzšÆ~ýŠ~^}µff&¼üòF,ø—ääkäå)IK»AdäyÆŒ‰àóÏÿÑ+ŽçŸ÷`Ò¤ÝüöÛq22r¹té?þx„iÓö ¥%¢=ºô_±œœ|úôYCTT*7nä—Á€—Ÿ_Mœo488XrìØe2K³¼±ãXÐovýШ1D%Gw)îþ€ôœtªW®NH³ù2v8B!„Þþþûo>ûì3¾ýö[.^¼}y9aÂ6nÜHXX]ºt1f˜ÂÀŒz‡BË–-y÷Ýw™9s&o¾ù&o¾ù¦Æòþýû€——?üð#FŒàõ×_/u{ÿûßÿôŠ£M›6¼ñÆüüóϼúê«ËBBBX¾|9ææeOŸ§+C´G—þ+Ö¡ChÓ¦F¹:yb±Î;³lÙ2; vìØQêLúÄbl-[:ó̜Í›onãÍ7·i,ïß߇  ¢¶{yU出2bÄ_¼þú–R·÷¿ÿµÖ+Ž6m\yã&üüó¿¼úê&e!!>,_‡¹¹aÇþ Ñ]ú¯X‡µHHȤMÍY}:S§NeÔ¨Qœ8q‚°°0üüüŒ¥¨FÏ‚JÓ¦Mùþûï9zô(J¥’úõë3dÈ“à7Þ Y³f|ýõ×üý÷ß\ºt‰êÕ«ãååEHH/¿ü²Þq„……áééÉO?ýDrr2µjÕbĈøúú²|ùrªV­ZÞ¦–`ˆöèÒPt×ÁÂ… yûí·Ùµk*•ŠöíÛóÅ_ЬY3º³fÍ¢  €íÛ·sõêÕû>ϯk,ƒÐÐN4mZï¿åèÑË(•…Ô¯_•!Cš0z´æmÇo¼Ñ„fͪóõ×Ñüýw —.Ý zuk¼¼ªRŸ—_n¨waaxzVå§ŸŽœ|Zµl1¢9¾¾Î,_GÕª–åmj †h.ýEw,\ØŸ·ßÞÁ®]ɨT…´o_“/¾x†fͪkÔ5«3*¶o?ÇÕ«¹÷Ík k,Âp_8ÌŠÃ+8Ÿ}W[WBš…àXÙ±ÔºCV ¡®C]>(šA'_™ÏkË^Ã×Í—±~cY»œ}Iû¸zó*óûÍÇÒÌ’¬Ü,VYIÌùròrp¶q¦[ýntñ,ù GVnkŽ®áPÊ!®ÝºFíªµéêÕ??N^:É”¿¦ T)9zñ(– P¯÷a×iàÔ b:¨ N6òü¨BˆG[ff&C† !//O}Ws~~>›7oæàÁƒTªT‰ððp¼¼¼Œ©¨ŠÂrd¿+¾Í½xÊÀÇÑØ±c™3g«V­R?ñ(ÊÍÍÅÊÊŠ>}ú°víZc‡cp …‚qãÆ1kÖ,c‡bPcÇngΜC¬ZÕGýhÄ£(7·+«oèÓÇ“µk®;UôUÑïiiiääähUwÓ&ÆŽu&>>¡Bb)ËÊ#+™¼y2ªÂÛE™š˜òî3ïòÕίx¥å+|ø‰zY“™MhâÒ„ß_þ€[·hÚˆ.ž]¸™“}IûÔucߎåôåÓ [9Œ«7KÎÜ,˜Ï{Ü~4ì`ÊAF®IÆŒu'vžHóšÍ鿸©íX2` mj·)uÀgŸqôâÑ{wÄ]BŸ ¥†m ­ëüyòOF¯Íð¶Ã™Ði‚Në !„­´ÿ7 8p ±±±%1šššbkkËÆ%ãCÌÆÆFã±w]ý…‡ÅÏ?ÿÌåË—éÓ§îîî\¸p_~ù…ï¿ÿž*UªhìÅcìçŸÿåòåôé㉻».äðË/ÇøþûªT©D` »±C¢„ ÙøhËG¨ U<ßäyºxvA©R²9n3_ÿýµNÛúûÌߨXØ0¾ãx87ÀÒÌ¥JɈU#ÈÌÍ$¨qêuÂÎÒŽs™çXt`á‡ÃiW»Ï5zŽÌ›™ _5œÌ›™4smFp³`\m]9Ÿuž¿Nýŵ[ר_½>K,)5)ãýîNˆ»GTr”Öí¹™S§ö !„¢?þ˜C‡¡T*K,S*•deeñÇ0dÈ#D'PøOff&“&MbÒ¤I%–}ýõ×ØØØ!*ñ¤ÈÌÌeÒ¤ÝLš´»Ä²¯¿îŒasxaë­'O™ÇàVƒyßÿ}uy¯½xoã{¬þwµÖÛ*¤ßúÿFçÛö‹-æÊ+Œï8žíFhÔïéÓ“ŽßwdõÑÕ<×è9Ö]CæÍL½ùþùï5êh1€k·®QÅ¢ mj·A¡P`geWæ w›ÔyÙ·²µ®¯ëÝ B!ģ槟~bÅŠe>­R©øúë¯éÝ»·Ü¥ð˜’…ÿ :”ÌÌLÖ¯_Ï™3g055¥E‹¼ûî»<ûì³ÆO<æ†mJfæ-Ö¯çÌ™,LM´hQ”hðÙgëÝBÁÉK'n\bYpÓ`|ªûh &Ä^ˆ`ë©­ìMÚ«þ‡¥Bõï WŠn»,~á6o”ºý*U´Ž¥4wÇ&„B<ɶoßÎW_}ußkP”Oá³Ï>ã›o¾y‘‰MþcggÇ´iÓ*lšHc³´´Ôê/ŒÃÎ΂iÓü˜6íñÌ|kiiFaáxc‡! ,· [KÛËì,ítÚ–K—e7ònp8õð=׫dVI#–ªV†O  &‡‚Bñ(8yò$cÇŽ½o=333 Q*•lݺ•øøxÙãÄãA„BèÅ©rÑ­‹ÇÒŽ•ø÷â¿:mK¡P”(sµu`Jà<KÿÄ̤èc̵JQÝèäh<<ÊÞY!:°J!„à2C‡%??_ã³Ô̬èó¸  jÕªEË–-iܸ17¦iÓ¦TªTÉXA‹ $ B!ôÒ¡n–Ä,á‹í_P¯Z=Ü«º—Ç×»tKÊXšnõ»ñKô/¬;¶ŽÐgC©m_[½LY¨dë©­(UEI ¼X½ˆ/w~‰«­+~·ïö‰9Ã¥ë—ô.J®[Ù¢2)Y)¨ U˜(L´ŠEr(!„xÒä/ráÂLLŠ>?MLL¨S§O=õMš4¡qãÆ4hÐ@ž 2  „B/ëu¦EÍÄœ¡ûOÝ©[­.J•’Ä«‰Ô¯^Ÿ´œ´rm¿µ[k‚›~8œ.óºàfï†ceG²s³IÉJáVÁ-†·N¯½h[§-½ôæ0hù œlœpµuåBö.å\bÔÓ£Ô ²?i?~èDM»š(Pðaט顢r(ìˆßÁOÿü@ÆÍ¢é.×_OÌùë2ÈwP…ì[!„ÐŲeã,‚‚‚hÒ¤ Mš4¡AƒXYY;4aD2  „B/¦&¦üôâOLØ8ñ;8ué<:0¾Óxú,ìSî}Lï>/G/~þçg’3“IÎLÀÜÔœž>=éݰ·ºîÌçfâQ̓E‘ž“NzN:¾µ|éV¿›ºÞ„N±j²/p!ûÙ¹Úß}`H—®_*ñ(Ejv*©Ù©xW÷6FXB!„†‚‚‚ƒ?#*ª¡¡ ÆGºÂ‡Óãç4 m¤îcax72ðþÒ›o#¿}`û¼×kBßc^ž6dçfólj?x{ýÛ´ü¦%ž_x2cç ½ö©ËûÂãîÎþ¹Up Ï/<±j„QczXâ¸Û?çþaôšÑeÖ)ÏçÈÃÚn!e2 ``÷Ê¡ T*Y²d $00þýûóã?’››{ÏmÅÄÄ0|øpºwïÎ!CˆŒŒ¬èð…B';vòñ_sæÊò•ùÆç±´?i?“6OâôåÓÜ*¸eìp ¦þWõyuÙ«ÆCÃŽ„¨ UtñìbÔ8îu̵é³ò´áÃ-2nÝ86ß@vn¶ÖëݽOc¾/<èóª¢É£æa|] !*–<ò``¥åP¸~ý:Ý»w/1 °|ùræÎ˶mÛprrÒX¶yóf>ùäòòòÔe .dΜ9Œ]öÈ­B<(;âwðmзzbfrûc%~¢$—5„m§·¥÷±0¬íñÛq²q¢‘s£¶Ïßý·DYyŽyyÚ`giGï½éâÙ…›7yóûzíSÞ4ÝÙ?yʼû¯ð„QªX{t-Ë/'.=Žëy×éôC'ÚÖiËk¾¯ÑÀ©FýÒ^3Bã‘;€É“'IõêÕ eãÆ|÷Ýwxxxðï¿ÿ2bDÉÛ®>þøcºuëÆï¿ÿÎêÕ«6l …‚·ß~›“'O¡BQÒ¥ë—èâÙE.t+ÈÅké㊖§Ìc÷™Ýtñì‚B¡0j,úóò¶aj·©|Óçžkôv–vzïSÞn{˜Î«‡Õ'}Â{ßã`ÊA®ç] %+…•GV2pé@#G'„¸Ÿ'û]þ(((`Á‚XZZ‰···zYHH>>>¬]»–´´4œÕËz÷îÍêÕ«Õ÷íÛWWW¦L™Â¢E‹øüóÏh;„âN[Omeäê‘꿇6.µÞûþï3¸Õàûn/*9ŠŸÿù™Cç‘s+—*.t«ß1íÇ`ca=ûÚ(´^Lí6•Ï">c÷ÙÝä)óhQ³“:O¢³æ7Y‰WYrh {÷pîê9LMLñ®îÍKÍ_âù&Ï«ëݹí>dZÄ4ö'íÇÔÄO>êú•+U&òl$³#g—‡… ýšöã­oa¢0ѹ=úöqÝjuùkè_êòµGײøÐbN]:…ªPEÝjuy±é‹¼Òòu\w·ïË_²7i/™739ðÖZÍne¶kÓßÑ)Ñô_Ü€½‰{ñüÂS½þ’KhS»Výchû“ös#ÿþžþê²ñ;X½S—N‘s+‡šv5éàÑ¡m‡âlSô™Ýk~/²oe³{Ônõzç³ÎÓñ‡ŽüùÆŸx:Þn£˜?¦&¦êcØdfš¸4á÷—×êuUVŸÝÙ†›ù7i;§-nönü1äÛ¹rã íç¶§m¶, Y¤O—•ØgyÞ´9Ë¢íy¥íkó~Ç^Ûý•v^KÉJazÄtö'íG©RâëæË„Ž4ÞÇ’®&áæÏ+-_á“ÀO4Ö/^6Èw| ±ì@òXÀ¡”C\»u 7{7½y£Íeeåf1zÍh¢ÎE1µûTBš…hÕoú¾®³r³X»  >ïñ9–f–„ gB§ D'Gólj’ç;éziÓÿº~îèz¼ ýÙ#„1È€B;sæ 999ôèÑCc0 Zµj¼øâ‹Ì›7#GŽÐµkWõ²!C†”ØÖ!C˜2e GŽ©ð¸…âAY³”þúˆÂÂBuYJV 󣿳7q/+®ÀÊÜJ½,;7›Å!$g&«Ëö&îeà²l¶•ªVUÕåÃVãÌ•3û‹9CÌùÒsÒÑNó±¬Ü,ú/éOjvªºlÕ¿«È¼™IHóF®‰R¥àfþM¾ÛûÖ¼æûšÞí)/v|ÁÏÿü¬Qv<í8S·N%æ| ³ž›U¢}ý~ëGZNšºLU¨2XÛuío]½ºìUö&îÕºþ–¡[¨W­žVu#NG`enE;÷v@ÑåЕC5ê$\I áJ¯]dnß¹øyø1?j> WÔûŠL,zÄÑDaÂî³»Õ )Y)$]MbàSó­ëm°4³¤Wƒ^¬8¼‚Sÿ¥‰kº«ÿ]Mª€~ÍúlŸ»Ïì¾ÿ ¥Ðõ<Ö—¶¯Mm½6î>¯Šeåfò[ˆÆkñï3ÍòW–—ÕÅocê¶©íL¸’Àû~@¡PðÎ3^ÒÕ$†®Êåë—Y²§ÝŸ´ë7}]»u U¡Šç>GŸüsîL&x8xàáàAp³`­¶£Ï{¡.ý¯ËçŽ> ñþ+„±È€B+NºèààPêòâò»“3–6KDqÝ›7o2D!„ÐYWï®ÄOŒgĪl;½cãaaf¡^þ÷™¿²¢äÀèÝ’3“™²u ¶¶Lì<‘Nõ:ageǹ«ç˜9›Íq›ù%ú Ѩä(Z»µfvŸÙx9z‘–“ÆG[>boâ^Ö[Ç ßA꺞Õ<Úf(¾µ|©eW‹Ü‚\âÒãøhËGÌÛ?¡m‡bª0U×?|€öîíùñÅñpðàÔ¥SŒ];–ˆø¢S¢ä;ˆ×|_ÃÞÊžíñÛywû̚¯þ§NŸöèÛÇÇÒŽñó??cifÉÿ:ÿîõ»cnjή3»øtÛ§l8¾^ zà Ñ¾5[ðÝóßáã䃥™¥:é_yÛ®mûÖò%~b<õ¿ªO›Úmøµÿ¯÷í‹aGž®ó4–f–Àí<ï<óÁMƒ±·²'%+…=‰{Hºš¤^¯ƒGæGÍg÷ÙÝê…ÝgŠ~¯bQ…ȳ‘êoã‹/¸ý<üJá~Çü~}vwBš‡°âð „—PXyd%öVötõêZÚ¦´vç>õy_Ðç<.ÍýÎ+]^›Ú{mÏã»I±Éh^£9ß?ÿ=ÞÕ½¹}YÏâÏ“2eë–½²L»p—³g™1 … ¯·yà¦Á¸Úºr>ë<úKãxÜ)*9ŠQ«GakaËÊ+©[­®Îý¦Ï뺦mM\ª¸pèü!²r³ôj³¾ï…ºô¿.Ÿ;ú0Äû¯Æ" ÌÕÕ€ƒ¢R©01Ѽ5éÀÔ¨QC£üСCøùiþà @Íš5+*\!„x Ö]Kª€iݧÑ燺ÜÓÑ“ožû†è”h¶žÚªq^Õª*?¾ø£úöd÷ªî|ð!=~îA\zœÆö§Ná‡}?0oßç±>tymj{ì溺þ±6·&ìÅ0ªYW ^µz|ÓçzÍïEtJ4—¯_Ʊ²£Îí\wlJ•’QOÒ¸¡^µzŒl7²ÔuVý»Šþü€æ5šóÃó?`ouûK­Š~OS(Ìí;—Q«Gá÷îîää±úßÕøyøádãtßmèý^¨Cÿëò¹£C¼ÿ a,2 PÁªW¯NË–-9tè'Ndúô阛›SXXÈœ9sغu+...4kÖLc½iÓ¦ñôÓOãëë @RRcÇŽ 00ð·C!*Âé˧·~ãÖSßR[H¡úwš‰Ì¹4*‘‡ÀÍÞ €œ[9견Ü,žÿõy[Hï–›¯ywX#çFêèŠÕ´+ÄmíÖºÄú5ª _¾~7{7½Ú£¯ÄŒD€R§¢+.»ó›t€†Î KL€ò·]Ÿþ~XDœŽ@¡Pй^guÙàVƒ‰Jޢׂ^t¬Û‘Æ.iìÒßZ¾á–f–øÖòåŸsÿ¯ÌçxÚq2ofâçᇅ s÷Ìå`ÊAZ¹µb_Ò>š×l®uò¶ ¸Y0Ó¶Mãϸ? j@ø‘pƒ<îPÚ>u¡ëyÜãçê×Y±M¯o»ºæc¥wÓåµ©í±¿Ÿ²ú§¡sCõÅl133ÚÕiG•’®&é5 p%€õ{ܧf‘ýçö³íô6Z»µæ—þ¿”h߃xOk^£9;Gîäï3³9n3;v2=b:9y9„4 á“ÀOÊÌ ï{¡.ý¯í玾Êûþ+„1É€ÂðÕW_ÈŒ3˜?>õêÕãܹs¤¥¥©—›™iŠZµjѦM¼¼¼°°° ..޼¼<š7oNHHˆ1š!„Wüü~ñ³¡¥¹û[î»o†Òÿ¡]õï*R³S ôdŒßêT­ƒ•™ …‚·|ÈÒ˜¥%Ö¹×íÀ÷ZVœµ½¸ú´ò¾ IDAT§¼tÉç7w+oÛõéo]UT…íñÛiêÚTým4€… ¿½ô§.âŸsÿ—ÇÊ#+ɸ‘Á'ŸÐ«A/uÝöîíÙ“¸‡è”h?D%ÓJ´©Ý†Jf•°±°!21KsK²s³ñs/ýq‡ò*­ A‚øjÇW¬8¼‚ ÆA\Ï»ÎÆi^£9^Ž^²O}Tô º¼6u9öe)Oÿ÷Gñ…t!…%êäÜ{€NÛþ¬_½>7óor0å ›â6ѧQåê=­’i%¼¨bQ…[·˜Ýg6¿úiÛ¦áîàÎV÷„ÎçÐÝÛÒösGßãUÞ÷_!ŒI6lØÀ[o½E||<@Ñc_~ù%¯¼òJ‰ufϞͬY³X³fÆv/^L¥J•XìBQ‘Š/ö~éÿ íÝÛtÛ箞àÝŽïj\Tæ)óØŸ´ß û*V‘í¹›»ƒ;P”<ðî à ;¨SµN…Æp']û[‚eÁ‹ï^.å\âß‹ÿ2®Ã¸R—{W÷ÖøöûÍ5o2þñøyø©³åw¨Û¯v~EäÙH?ÄSµžR߆ܶv[vŸÙ…iÑEÁ½ò'hã^}VVì­ì ôäx5‘ÎýÃÍü›å¾;á~ý¦-]ÏãÍol.s{÷ê#}^›Ú{}Ž % ¼rãŠÆ·äªö%íP?Tü-ùÉ‹×-­›ã6ããäsß6VµªÊüàù ]9”ñŒ'óf¦Æsùºö›¡^צ&¦ h1€Ï">cÏÙ=e(èó^¨mÿëJ×ã%Äã@æ1°â„‰w_ô÷ìÙ“Ó§Osúôi"##9~ü8)))%† ÆŽ;hÑ¢«W¯&%%…½{÷’””ĶmÛpqqy`mBˆŠÖ·I_L¦¼³þ‡“šJ¾2ŸË×/Í”­S˜·ož^Û®a[tKèOÿüÄÅkÉ-ÈåßÔ±jg3βjÙž»?Ïùëzúô4Ⱦ´¡kÛ[ÙsúòiÎežÓú[¶_ûÿJüÄx­´º;!a;………t©§y»ô¤M“˜9›£ríÖ5r r9œz˜Ó—O“¯Ì'íÚíìð>Õ}¨f]­§·s>FcÐÀÏÃãéÇÙ·‘*UhêÚT«¶–æ^}v¯6+ú`jbʼýóÝJâÕDr r9så óöÍcÁ%Ö±±°aQÈ":×ȩ̈Û>åÛÈoõê·²úã^â/Ç3hù þ<ù'¯]¤°°U¡ŠÓ—O3qÓDT…*ì¬î=Í%èwiÛÿºÒõx ñ8; ¬8Éâ½.ü===ñôô,u@ݺu©[·®úïš5kJF!Äc˽ª;Ÿvÿ”·|Ȥ͓J­3¼íp½¶ýlÃgùnïw¬<²’•GVªËm,lèêÝ•­§¶êµÝ²Td{îÖȹ¯·~ùQóùxËÇ|¼åcå½ô¦«wù2øëB×þn[»-œøƒ.ón_p•5_}E‰8A Û%¦‰»xí"áG™9§Ä: ª§‚„¢ÛÛ{´gý±õ@ÑÌÅü<ü(,,$þr<]½»bjbZb{ÚºWŸÝ« ÅÚÕi‡›½‹-&çVÁÍ‚K<¯ °âð &ož¬Q¶?Œ°ýa¼Òò> ü¸w¿éÊÐçqYç•¶¯M]޽¾Ç¤•[+’®&ñ¯/h”[›[óqWÍ>x£ÍLÝ:•I›&1iÓíØƒ›~8\£®‡ƒ“»LfZÄ4æí›WbsÔÓ£JÇÂÌ‚^øÿmüßF~ËÕ›Wù(à#ßÓÊêÿÁ˳ûìn–½² ßZE9ÂT…*"ÏFy¶hªUSS”*%ú (º@½õë¥î·˜>ç.ý¯+]Ž—P0¯¿þšyóæqúôi<<<ððÐ-°B<©ú5뇓 ¢•EÆ ¬p¯êN¯½J<Ó«-W[W¿´˜/w~ÉÑ‹G1Q˜ðT­§x¯Ó{¼†VQí)ͤ.“ðqòañÁÅœº| U¡ŠºÕêòb“5²?ºö÷ûþïS *`ÿ¹ýdåfiÌqÿ ää²/i/4y¡Ä²/{}ÉÊ#+Ùvzg3ÎRH!5lkн~w·\"IœŸ»ë­§šu58ݾˆt¯êN-»Z¤d¥”ëq(½ÏÊjC1…BA¿fýÔßökZ¾Ç´Ù§. y—u^iûÚÔåØë{Lì,íXöÊ2¦m›FTr*•ªèõÒù=ó``ËÜÈ»ÁÒØ¥¤]KÃÍÞÁ­ÓÞ½}©¨¯ù¾†wuoX@ÌùnæßÄÍÞnÞÝÒúÞ˜*L™Ñkv–vüý Ù¹Ù|Õû+ÞÓt}]{9z±ø¥Å¬9º†Ã©‡IÉLŠ^7-k¶däÓ#K}üàCºô¿®t=^B<ê…åø <\^#FŒ ,, gggV®\YbÊGQ±Š>X–åû'Iíóâ‹÷þ—––FNŽv™£7m²aìXgâã*$!WÛã·3lå0†,Ô¸«àQbŒ6<ýV‘¤ô·'qKc–2·ïÜR—+UJ|føÐÁ£ ú•||CT,ùãñdccƒ³³³ÞëKyçw8räçΓÁ!„â°=~;ÖæÖü1 C2F‡~«HÒ?ú+kzÈ|e>«þ]Eaa¡L•(ÄCDy0oï²ç?B!е˜Õ‚k·®•Y§ŠEbÞŽy@=™¦uŸÆ´îÓŒF¹£ C¿U$éý•6#ÍšÑnn;õßÝëwP! !îC„B!„F×¶N[ÚÖi[ê2S…)îî m3”vuÚ•ZGñàÉ€‚Bñ€ÉB¡½ê6Õ9ù¿“ÆCQ É¡ „B!„BÉ€‚B!„B!t& B!„B!„ÐY¹r(œ:uŠÓ§Oãæ&S·ˆ‡ÁPà]c!žW8uÊËØA!„Ba4’”Q<6š7¯‹‹‹‹±ÃOˆØØXc‡ „B!„Q•k@ÁÛÛoooÂÃà zQ( 2„ž={;ñ„=z4666ÆC!„B£‘ B!„B!„Й (!„B!„Bg2  „B<¡æDÎaÍÑ5¥.k2³ – xÀ !„âQ"I…Bˆ'ÔܽsiS» }÷-±lÔÓ£p²q2BTB!„xTÈ€‚B!JÙn¤±CB!ÄCN*ÀÞ½{ù믿4hîîîÆG!*Ôõ¼ëDœŽàBö\ª¸ÐÕ»+J•’EÑ‹hêÚ”Nõ: ,TòÝžï¨[­.½ô&áJ{÷rõæUF¶‰¹©9ÊB%{÷rêÒ)”*%õëáç™…z™73ùõà¯Û¾{YóÍy¦î3¥î÷Dú ö'íGU¨Â×Í—f®Ítn³6m8zñèÿٻ﨨®µ àÏ0tFzQé"bÅJ”Ø vã½¶K,\c‰1͘äšcbŒ%–XRH‘bÆ€DbEé Eš£Ôa¾?ø8q¤‚€y~kÝuqï}öy÷q–á¼sλ•i‰f3 î0FÚF5ÎSߨêsj‹q¼óx¹yåòr$å&á›o„ã&v = |{é[˜JL1©ë¤ç ‰A‰¬=Í{ÂÅÂ¥ÚXëûù ""¢Ö‡ …ºpáΜ9ƒ×_VVV }¡¡¡X¿~=<<<˜P ¢—ÚõôëXà¿YÒ,¡ÍTbŠOG|ŠoB¾Á¿{ý[¸a,“•á›oàéà‰{Y÷°=t»p̼¾ó˜›ˆ7ÞD|N¼Â9Ì$fØ:a+z™÷äåW™»Reß—9BBáéóÆdÆ`ç¥ ÇŒwc6B,×{Ýu­%¿(o} —/)§¥¦…u¯®Ãän“[lvl½®Sm1voß]H"¤ä§($\­\a¡g¡;еmW!¡ðô|©ù©Øt~är¹pÜÔîS±aä…˜”ù|QëÄB]¸pëׯ‡§§g•„€°nÝ:&ˆè¥ö¸ä1ú/D–4 ¶†¶p³uƒ¬\† ÷/`퉵5•… {Ap·u‡“™4U5QV^†y¾óšŸŠöºí1¸Ã`¨©¨ábÂEÄ=ŒÃ|ßù8ùÆÉçz§?25A÷‚0Øn0L^ŽSwNáÈÍ#°1°Á2·eJÏYÝZTD*˜ï7×Ó¯ÃBÏîvîÐÓÔCbn"‚îáÝ“ïÂÞØ=Ú÷P:¶ÂÒB¥¯Su1ZXÃÛÍ[/n…¹®9&v(Œ7×3¯uÍWÓ®âL왊X!ÍÀ‰Û'p0ú Æ8Á›þù ""¢Öƒ …&0`À 0 ¹Ã "jRÇnC¦4ƒìaפ]Âcþ…¥…˜ýël<|ò°Úã>yˆ/Ç~‰ñÎã…¶ƒÑ‘šŸŠ^æ½ðýôï¡¥¦(+/Ãò#ËñÇ?ðsÔÏXî¾¼Áñæ<ÉÁÆÑnž£Ó£1õ‡©Ø±‹.Vê)…šÖr2æ$®§_ÇØÎc±iÌ&ˆUþžózúuLþa2ö‡ïÇ–ñ[”ŽíØ­cJ_§êbo7olÝ++x»y+µæo'~ OO¡ÍÝÖ«¯Æ¹¸sBB¡¡Ÿ"""j=^XB!//þù'âã㡦¦ 4HèÏÊÊÂŽ;`dd„¥K—*[TT„/¿üb±«V­‚ªªj½æ|ZAA‚‚‚mmmôêÕ ýû÷úpíÚ5¼ýöÛÐÖÖV8¶²ïwÞ¦¦&~øáœ9s°oß>lll0gΜZk($&&"((044„‡‡:uê¤0&((!!!X´h pìØ1ÄÆÆÂÌÌ ãLJ¡¡¡WˆŒŒÄùóç!—ËáîîŽ>}úàðáøzõªÂzŸ>¯¾¾>~ÿýwܽ{½{÷ưaÃê¿2×òÙóêêêâÈ‘#HLLDûöí1nÜ8èëë+µ^"z1¢R£Ë.nŠÇúXŒ7|ߨö8[CÛ*7·‘©‘€ÿ¸ÿG¸IUU¬òX…?îü¿Rþz®xm lnØ {»îxµã«øãθ—uL;Õptõª[ËÅ„‹m5mì¼¼Sx-@.—C9t5uq=ýzƒbkÈuª.ÆçÑÙ´³B2€ðÚB¦4Shkè烈ˆˆZ’PØ·oÞzë-(´»»»# ÆÆÆ011AFF>úè#Èår,[ö÷£§K–,Á¾}û°k×.!™PŸ9+íÝ»+W®D~~¾ÂX777œ?***€–.]ZíM°–/_.$Ξ= Ø¿¿0nðàÁBB¡º ï¾û.6nÜ™L&´‰D"Ì›7;v쀚ZÅ/\AAAøüóÏÑ«W/¬Y³111Âx###œ>}Ý»×]D¬¼¼‹-ž={Ú—,Y©TŠï¿ÿ^a½•çíÒ¥ Þ~ûmÄÇW¼Ÿ»bÅ 6¬Þñ+s-Ÿ>¯³³3V¯^ÄÄDa¼±±1:77·:×KD/V~QÅ¿©Õ="o¡gQãq6†65Îe¥oU¥ÏRÏ"‘y…y ŒôÿcÒ¯>&K}K@AqAµýµ©n-9Or¿EÿÖè±5ä:Uãóh§Û®J›¶ZÅ¿õeåeB[C?DDDÔz4yBáÈ‘#˜7oTUU1zôh899¡¸¸ÆìÙ³ñû￾þúküõ×_X¹r%úôéƒ~ýúá»ï¾Ã¾}û0{öl,X°@é9}}}ñÆß‚ôéÓ}úôX,Æ_ý…”——CEEE©5Íš5 ååå8{ö,æÎ+ÔP¨­fÂöíÛñÙgŸA$a̘1prrBBB>Œï¾ûÆÆÆøì³ÏŽY¸p!TUU±`ÁH$üñǸuë–.]Šààà:ãüú믱gψÅbxyyÁÎÎwîÜÁŽ;`bbRãq‹/†ºº:Þxã ˜››£ÿþ Š_YK–,ºº:,XMMMáÖ­[˜0abbb`ddT÷$DôÂèiêRóS«Ô6HÉO©ñ¸ê^+¨œ+)/I¸‰®”œŸ ¹\}­Š§•*¿™Rú¤ÊÔÅêÏýäGMóóADDD-S“&ÒÓÓqëÖ-tèÐ'OžÄÉ“'+Þ!ýÿ÷I+Ÿ ˆˆˆÞ÷²²ÂÏ?ÿŒ‘#GbøðáÐÓÓƒ¿¿¿pS­Ìœ‰÷îÝCŸ>}ª$¼°Çè“’’’’‚*ÜŒ€««+¦L™‚Ÿþ‘‘‘pwwúÖ¬Y#¬ÔÕÕáéé‰;wî ==½Ö„Bbb"ÒÒÒ0lØ0…dŒ?}úôAxxxµÇ®^½Z!™ÐÐø•µfÍ…5©ªªâã?F@@.^¼È„Q 3¶óXl Ù‚sqç0jï(¸Ùüÿø xRRñô€H$ª÷\ÛC·#"%#¾Ávƒ¡&®Ø½ 6;zšz˜Ñs@E¤¼ˆ±ûÆÂ£ƒJd%8wŲâÏa¨mˆ·¿ßþM:"­ §îœ‚L.Ã\—¹öMþèΣq â~½ú+‚ãƒ1ÀfŒ´PPT€„Ü„%…a^ßyèÖ®›Ò±)sêÃÆÐ·2na展°Ô·„ŠH»Nl”WóóADDD-S“&²²*öŽ‹‹Ã|Pã¸gk¸»»ÃÚÚñññðòò‚½½}ƒæ|ø°¢‚´££cƒ×ÐrssvvvÕöwèГ“£ÐniiYe¬D"”––Öëœ5½†accScBÁÁAñ[º†Æ¯,[[ÛÛ*c ¢–CG];'íÄ߸ÿð>î?¼0‘˜àÝ¡ïb展»õuÑRÓÂÞ){ñfÀ›ˆÏ‰ÇÏQ? }¦SlõÚªðØüêÁ«™‰øœxÄçTÔ{±Ô·Äç£>Çë_¯ö½Ì{¡ƒQ캼 çïŸÚÇ;ÇâU“Î %‰±wê^¬ù} ÎÄžo´¯B¿™ÄL!™ LlÊ^§ºÌu™‹5'ÖàÈÍ#B›«•k£$óóADDD-S“& ;wÆ”)Sj×§O…?/^¼ñññèС~øáLš4 cÇŽUzÎÊwîïܹSg¬•Å¥R©BAG âúçQóýû÷«í‹‹¥wo¨Ï9ªí¯©€PøòÙ¹êC¯e||¼ÂΕmOÇ@D-K÷vÝqzáiœŽ=ô‚t´mÓžž8[±ÎÓüTŪðvó†QõÉI{c{ü1ÿ\Œ¿ˆ»Yw!“Ë`gh‡Avƒ ¡ª¡0ÖÎÈ x/™ÒLXèYÀÓÁÅeÅðvóFö=ª=ÇjÕå4 aIa(——£·EïÇÖ¦®µh`÷ä݈{‡ˆ”ä<É¡¶!l làbᢰ•¤²±Õ÷:Õ#Lì:Îmq%é ò ó!‡\(¢¸xÀb…äDmóUöÙÛ+´+óù ""¢Ö§I –––ppp@zz:&OžŒ.]º(ôËårüùçŸ uöìÙƒ`îܹøâ‹/ЫW/Ìš5 ‘‘‘°µµUjN±X „‡‡c÷îÝBQÇJ/^Ä€ ‰„Š¿ÿþ;–,Y"Œ ÄÅ‹«¬­r‡‚ú|+oee \¼xGŸqㄾˆˆøùùAKK ½zõªs®ú²¶¶Fûöí„ .(l§yüøñŸNhŒø•½–•>ÿüsŒ;VxÝ¢¬¬ ~ø!`àÀõŽ—ˆ^œØìX˜ë™+lK˜[˜‹m¡Û..B»X$†·›w­ó‰Eb ²„AvÕoü4]M]Lê:I¡MKM«Îs8›9ÃÙ̹Îù늳®ó@£è`Ô¡ÞóÖ7¶ú\§úÆèhâG“ªOò½ÙÿÍzÏWSŸ2Ÿ"""j}š¼(ãÆ1qâDôêÕ C† A§N ©©‰„„„……!>>………‹ÅˆŒŒ„··7ºwïŽíÛ·CKK ¾¾¾pwwÇäÉ“ ¥æüôÓO1mÚ4,\¸{÷îvyˆˆˆ@hh(JKK¡ªªŠ1cÆàÃ?ÄþóÃÚÚ1118~ü8LMMñàÁ…uU¾†±råJ„„„@[[666˜3gNµ×áwÞÁÒ¥Káåå…1cÆ S§NHLLÄ¡C‡PZZŠ5kÖÀýû÷áã㣰®#F sçθuë¾øâ ÀàÁƒk¼ñ]²d RRRðÅ_àØ±c8v쀊‚TóæÍÃ'Ÿ|ÒÐK\£·Þz ·o߯¾}ûàçç'´/^¼ééé8tèP½“Êį쵬´mÛ6¬Zµ »víÚŒqèÐ!nIÔB9˜8 ¸¬'bN(´wm×_Žý²™¢j¸]—wáQñ£ZÇ´ÑhÄB=½lŸ"""RÔä xíµ×àåå…Ó§OãÎ;(//‡ úõë'ŒŠŠÂ¬Y³àáá¡P„€°CCVV222`ffV¯9+-Z´Ó§OÇ©S§===ôêÕ ®®® ã¾þúkLŸ>ÁÁÁPUUÅ!Cн{wÀÞÞ^xͨxå!<<¿ÿþ;bccQ\\,@0`Ö­[W¥ âgŸ}†… "((044Ä+¯¼"ìpQÉÓÓšššhÛ¶m•kYÙgjZwÑ-±XŒ½{÷bñâÅ8¾¢È—››úöí GGG+¬©¶ó*¿²×²RÇŽqëÖ-=z‰‰‰077Ǹqã ¯¯_e,µ ƒíãâ’‹¸”x ÉyÉ«ˆÑÙ¬3úZöm1üëSK ÒÂ~ ëõ„BcQ&¶Ö¨5|>ˆˆˆ¨áDòÊý ²(¢¯¯o#©¹„‡‡W)z¹mÛ6,[¶ &L@@@@3Eö·wÞyŸþ9¢¢¢Ð£‡òÅÑ€Š'%¾ùæŒ5ª‘£#ªÞÒ¥K!‘Hšìß¿ŒŒ H¥Òz=qBoo3ÄÆÆ5I,DDDDü}ãå$‘H`ffÖàã_È Ô|† ‚®]»¢gÏžPSSCDD„Pqùòå͵VL(¼äúöí‹3gÎàÒ¥KB›††6mÚ¤°ó‘2˜PxÉ>}¸zõ*²²²Ð¾}{ 6 íÚµœ½¿ëªÝ@DDDDDD- ÿ...pqi¹{}{zzÂÓÓ³¹Ã """"""%¨4wDDDDDDDÔú0¡@DDDDDDDJcBˆˆˆˆˆˆˆ”Æ DDÔ`¯|v†vxßóýæ¥EÅÒ˜¤ÅRüy÷O\M»Š”üh¨jÀÙÌ“ºNB;ݪv7߄ȔÈjçêoÝËÜ–UÛ—W˜‡€ˆL‰D±¬Ž&Ž˜Þc:,ô,„1¥²RÌþu6\,]°bЊÆY µZL(Qƒ…'‡£¨´¨¹Ãвbi,Ñiјñó —+´Þ Į˻°yÜfx:(µ½“uaÉaÕÎg"1©¶ýJÒ,9´y…yBÛÙØ³ØsyÏ= 'S'@¹¼aÉaÐÕÔ}žeQ¼z³ IDATÑKâ¹ )))8xð`cÄBô\¢¢¢š;úyðàìíí›;Œf·oê>H4$Í€–Kc‘–H¡&Vç1èÖ®ÌõÌ‘ó$>Q>ˆN‹Æªã«páÍ ÕÞàÿ0ýˆUÄ mFÚFUÆ%å%á ß7PXZˆ61¡Ëë#öa,~úë'<.yÜdë#""¢Öí¹ —/_Æ´iÓ#¢ç²ÿ~ìß¿¿¹Ã &€>–}š;AKŠ¥±ôhßW–]†ª†BûØÎcáuÀ w²î "%Cì‡T9ÖÕÚb‘¸Jû³6žÝˆÂÒBLé>ŸüLhw³uÃÌÞ3QRVòü !""¢—Òs%|}}+""j…jª[˜›ßk¾¸›u²rìŒì0±ËD8™9)}ŽLi¦0—´X } ¸Ù¸ÁÓÁ"‘¨ÆXj«%ó\ça¨ýPáÏùEùð»æ‡¨Ô(HK¤0“˜a¸ãðjoÖ_ujÛÕÄj`3w²î@yƒç/(*@àÝ@hªjbí+k«ô‹Ebh©iÕ9\.ÇöÐíM…W/Lí>µÁ1QëÁ DDÔ`ÕÕ-8s+Ž­@©¬Th;ÿ<¾øx~€™½gÖ{þ»Yw1õ§©KÚ}"}0µûTl¹¡ÆXj«%ÿîýoáç¨Ô(,ð[€ÜÂ\…1þ×ý«|s_“ §7àÆƒuŽ«´iì&´×m_ïñϺž~ªèmÞ»Úþÿùb³c¡¥¦ç¶Î˜Øeb•"Ž×Ò¯A&—ÁÝÚ°%d ¢Ó¢¡£®ƒ~Vý0©Û$hªjÖGqY1Þþýmœˆ9e—1™@DDô„5š iV_RY)F8ŽÀˆN# ¦¢†ó÷ÏÃ÷š/> ú½-z£³YçzÍ÷ëÕ_!-–£ƒ¼ºxA_S)ù)‰Á£âGµ»jð*¼Ñ÷ …¶Y Þ;ù†;ǨN£T좰ÈòŠòàÕÅ < §©‡¤¼$?ßh_ô·êqÎãj=_LVL­ Œg–Ö{ì³~‹þ )X1hôµô«³?üïWÀþ¼û'v^Ú‰/Æ|Ž#„öÚé¶Ã”§ îaœÐw2æ$~Žú>3|jl m´0GoEhB(ö…íCZAÜlÝð¶ÇÛ°7®{§ry9V] MUMüwÄ 9À“’'€èôèçPWU¯óq;Ä*Õß„wŽï#¾Ç‘›G°iì&Xé[ }2¹ w!+—ÕkSÔPËåØpfö‡ïÇxçñØ8zc­É„[·p5í*&t™ 8MÅÆ³®V®B»¶š6†: Åɘ“Øt~V^ ±H Y¹ ÛB·!­ Ž&ŽÐÓÔ«r.GGüöïß0ë—Y˜õë,|;ñ[¸ÙºÕ{ýDDDÔú1¡@DD敯 Ÿu?\N¼ŒqûÇÁÆÀjb5Ä=ŒC©¬Æ˜Ümr½ç;wŸ} uXé[A]U÷ÞÇ£âG0Ð2P¸ùÖ§§?ůWEOóž˜õˬ*ýó\ça¨ýPôµì‹)ݧÀ7ÚCv¥¾%ŒuŒQPT€”ü—ca¿…í4ºÖX›¢†Â©»§°?|?D"Ò Ò0ó—ª[nÎr™%ìÜý8žú~ s=sèkê#ýQ:2¥™€^潄Ý-*­¼ !ñ!Ø}y7ü®ùÁRß©ù©È~œ ‘H„Õ«kŒÏJß gÄÜßæb¾ß||9öË*óÑË‹ ""j4"‘»&íÂ'AŸàÐõCB1C‘ †u†OF|MUÍzÏ7·Ï\”ËËšŠÛ™stµrÅ»CßUøþY×Q©QÕöéü÷‡ÿñ_8;à»+ß!9/ÉyÉ*jŒê4Jaì‹TYoB.—#<9¼Ú1¯v|UøÙ¹­3f»ÌÆá‡‘˜›ˆDTÔKÐQ×Áän“±bЊ*OjXXãÇ×~ÄÚkq;ó6ržä¨¨¡ðÞÐ÷àÑÁ£ÖM%¦øù_?ã ß7°üÈr`zªE9‰ˆˆèå#’W–°&"¢###R©´^cOœÀÛÛ ±±uïDÐØÂ“Ã!ÑÀÉ´ê·óKãþÃû(G9¬õ­«-ÔX_OJŸ 17r¹ítÛÁ@Ë ÎX"R"j}UÁÖÐV¨ùPI.—#1/9Or`¨ms]s…Ý ^´ìÇÙuî0am`¶mÚ*´ÉÊeH+HCÖã,´Ñh;#»zÕ]HÎKFÖã,èkêÃÖжJËry9“Ãa e€Ž&ú K q-ýD"z[ônP""j¹šó÷ j:‰ffÊÕ·z DD-PkI(Ñ?ßx9=oB¯<Ñ 7ßo>×¾Ý Ž†öLÞó‚""""""e1¡@DD/\Dr?ªuL6/(""""j&ˆˆè…Û3eO[1Ö´Í#µ L(Ñ çbáÒÜ!ÑsRiˆˆˆˆˆ¨õaBˆˆˆˆˆˆˆ”Æ„) """""""R DDDDDDD¤4&ˆˆˆˆˆˆˆHiL(‘Ò˜P """""""¥1¡@DDÔL7:bÖ¯³^ÚóÑË """""""R DDDDDDD¤4Õæ€ˆˆZ§â²b8or†§ƒ'>þ16œÞ€àø`”ÈJÐÓ¼'Ö¾²NfN Ç$ä&À'Ò.")7 b1:štÄk=^ÃÄ®«ûÏðééOq9ñ2Ä*b µŠ_ý:ê:‰Á–-ˆÉŒDC‚©Ý¦â?îÿŠH1_–†ï®|‡ÈÔHH‹¥hÛ¦-†;Ç²Ë Ñ¼ëõ´ˆ”Lÿi: 4!öÿ³ú|føÀÕÊU©¸ÏÆžÅþˆý¸›uÒb)ÌõÌánëŽùýæÃLbVïó)ƒ ""z.E˜öÓ4$ç% m¡ ¡˜ùëL.„–оÀoî?¼¯p|Tj¢R£)ÍÄ¢þ‹úò‹ò1Ýg:Ò Ò…6ÿëþÈ+ÌôÓðfÀ›•Ë…¥…غ†Ú†˜í2[ÿKÔ/øðÏ!—Ë…¶”üì ۋЄPœyZjZµ®qÖ¯³šZïkrjþ)t0êPïñÕ©oÜgcÏb¾ß|…cãÆ!îa<õ!BBqäæÌq™#Œµ7²Ç|×ùp±p…žŠÊŠ“ƒO}ˆ—wb~¿ù‹ÄÂøðäp ´ˆÝ“wÃÖÐw³îÂû°7NÇžFDJæ¸ÌÁl—ÙÐ×ÒÇ™Ø3Xyl%ö†í ÉyÉX¸ººxç•wàÑÁzZzHÊM–-8sßG|_%‘ÑÔ\,\ûN,7:ÂÕÊ?LÿA¡_™¸ƒîV Z)ݦ@_K)ù)¸˜p‰¹‰õ:QC0¡@DDÏÅ@Ë»'ïÁ·1°Áž`äw#“£0vý°õøöÒ·Øyi'Ò ÒQ"+QèOÍO…•¾•ðgCmC|;é[h«iºµë†y}ça}àzô¶èµCÖ cÇ8Á‘›Gp6ö, K ¡¥¦…Ã7£¬¼ ŸŽø#;ÆÚÛãëq_#"%wëL(¼èpeânÛ¦-`¼óx˜HL¶†¶°5´}¡1Ñ? DDô\œÛ:W©C`©o K…¶ü¢|Lüa¢Âë Ï**-RœÛÌYH&T2×3ôµì[åøömÚ²gÃRß÷²ï–]ŽåG— ¯È!~AT÷"_0eâžÛg.Â’Ã0zßh ¶Œ.m» KÛ.p±pšX­y@DDDÿL(ÑsÑTÕ¬ÒVÝMºÿu¤¤cXÇaXæ¶ ÖÖÐRÕ‚H$§>À/Q¿T9FCU£ÆóV×'Uœ·\^®ðÿ•uªóìSÕyÑ5”‰[¢!Á¯ýˆ»Ywq%é b2càwÍ9OrðѰ0Úitƒã """ª  DDôB$å&V^©p³]"+ÁåÄËMrÎÊó|?ý{ ´Ø$çx"ˆP&+«ÒÞ¸;štDG“ŽÂŸ—Z‚UÇWÁÍÖ zšzµžˆˆˆ¨!˜P "¢¢½nÅë{®ìÁr÷åÐ×Òǽ¬{ؼñ9ñMrÎ ]'`ç¥XqtV ®¸¹6Ö1F~Q>rðûíßa&1k¶ úZú¸—}IyI°Ð³¶»T&îµ'Ö¢­n[ µ kk¨‰Õp'ëîeßC©¬2„„BMç#"""j&ˆˆè…Ûy,¶‡n‡ß5?ø]óÚ%¼ÚñUÞ lôsÚØà“ŸàƒS`íɵՎYØoa£Ÿ·¾úYõÃñÛÇ1dç¡Íg†\­\ë÷ƒGà{Í[C¶VÓÙ¬3ìíëu>""""e1¡@DD/D;ÝvøéµŸðù¹ÏqãÁ ¨ˆTÐÛ¢7Þöx[!ÁÐØ¦vŸŠN¦°/lÂ’Ãó$†Ú†°1°Áh§Ñï<¾ÉÎ]—÷†¾‡²ò2\NºŒü¢|¡à¢2q>úsø]óCн ÄçÄC9Úë¶ÇǘÛg®ÂSµˆˆˆHY"9› "jq222 •JëàÄ ¼½Í×ÄQÑ?ßx9I$˜™™5øx¾ˆü¢|ÌwßâÖ¢&Vä<ÉAXr’r“ *VEGãŽèoÓb‘¸Ö¹BâCP"+AOóžp±p©6†Ç%qúÞi¤¤¡m›¶xµã«ÕŽÛ¾¿Á×µ>ëüöÒ·0•˜bR×IH+Hƒß5?”ËË‘”›„oB¾æØu",ô,„?ßxpQ©Q–Ha&1Ãàƒa¤mÔ€¿ """j-˜P "¢)“•á›oàéà‰{Y÷°=t»Ð7¯ï<„%‡á\Ü9xuñnp#R"„›Ò.m»`ˆý@‰¬~ W+×: ‡nBr^r½ãœÙ{& ´ žk-jb5|ô ~‰ú%²…cm l°gÊØÚV™+5?›Îo‚\.ÆOí>FnP˜ãzúu,ð_€,i–Ðf"1Á§#>­ëó\×ú¬sGètmÛUH(TΛ’Ÿ¢Ppµr……ž²gã­£oáRâ%…8µÔ´°îÕu˜Ümr­×žˆˆˆZ/&ˆˆè¹D¥F!è^ÜmÝádæMUM¨‰Õàfã†À»¸œxY¸Á ‰¶š6´Ô´,´‡'‡£¨¬n¶nužïÐCM­w|£F×™P¨k- S‰)zš÷„¹ž9ŠËŠq;ó6.'^ÆÛ¿¿ ß™¾ s]M»Š3±g0Øn0Œ!ÍÀ‰Û'p0ú Æ8Á›*žLXè¿YÒ,ØÚÂÍÖ ²rÎß?µ'ÖV‰±1®kmë|Z{ÝöðvóÆÖ‹[a®kމ]' }æzæ•Ë0ßo>®§_‡…žÜíÜ¡§©‡ÄÜDÝ Â»'ß…½±=z´ïQ¯ëODDD­  DDô\>yˆ/Ç~‰ñÎãÚ+obCâC„Üàø`ô³î‡6m"Œ­ü¹> … ]&ÔøÚ@u µ ë=¶¦µÀúaëagd‡Ë‰—‘^u±:úZöEöãlD¥F!·0W!qñðÉC|;ñ[x:x mî¶îX}|5ÎÅ ÇoG¦4î¶îØ=y·pc_XZˆ™¿ÌDΓ…8ãºÖ¶Î§U&¶‡n‡•¼Ý¼úOÆœÄõôëÛy,6Ù±Ê߯~\O¿ŽÉ?LÆþðýØ2~K­ç!""¢Ö‰ ""z.¶†¶ÕÞ˜ZXÃRß! 7µ¹…¹¸y“»M†D]‚#7 ­ íuÛ#$>¦S8;Ôy¾¦Üi ¦µOÌým.ÊÊ˪íøø¡BB¡³ig…dxtðdJ3…¶È”HÀ2·e O h©iaÉ€%˜ï§ø Hc\×ÚÖ©Œ‹ ÚjÚØyy§ðj‡\.‡rèjêâzúõç>µLL(Ñs±1´©±ÏÍÖ ¿Dý‚ÔüTD¦FB.—ÃÝÖ:ê:*¾Aê01Y1ðröª×ùš¢†B¥šÖr9ñ2¾<ÿ%ÔÅêðtð„µ5´Õµ!‚ÁñÁˆJB¹¼\á˜vºíªÌSYóàé¤D~Q>(8¬d©oYm<Ï{]kû;SFåÓ¿EÿÖ(óQë„=—§w8xÖ@›ø%ê„$„ 2%æzæBñÂŽ& U Èåòz½î4m …šÖr6î,`Û„mÂk•ngÞ®w,ÕÑÓÔPQôÐTbªÐWSâäy¯kmgJÅ®Uû¿zþ F:Õïè ©ªÙ(ç"""¢–‡ ""j2¬@¬"FðýŠoñ+ù*nŠÝ8u±º0¶>š²†BMD"@¢!Qh¿œxgîy®¹{Yô‚ÿul ÙZ¥†ÂÓ»0<­)®kmÔÅêÈ+Ì«ÒÞߪ?|£}!“˰tàR¨ˆTú³¤YH”þÜç'""¢–‰ ""j2ºšºèbÖ§cO£TV w;w¡ÏÝÖûÃ÷ãDÌ t2í‰I½ælÊ 5éÙ¾'`¡ßBŒpmÜ˾‡óqça¨mˆìÇÙ ž{ŒÓl Þ‚àø`ŒÚ; n¶n(——ã\Ü9–V{LS\×ÚØÚàVÆ-¬<¶–ú–P©`b׉Ýy4DÀ¯WEp|0Ø €‘¶ Š ›€°¤0Ìë;ÝÚu{ˆ¨åaBˆˆš”»;¢Ó£!V£¿u¡½¯U_¨‹ÕQ"+Á@›Ía݆;ÇØÎcqìÖ1ø^û{{È)ݧ zì ß×à¹uÔu°kÒ.,ð_€øœxÄçÄŒuŒ±aä,ò_Tíq/òºÎu™‹5'ÖàÈÍ#B›«•+,ô,°wê^¬ù} ÎÄžo´âÖ™f3&ˆˆˆ^bL(Qƒ¨ŠUáíæ ;#»ZÇw‘ ´ „z@Å»õ¾ú!2¥™á8¢©Ã­U}Ö²yÜfÌè97Ü€H$BoóÞèÚ®+BâC Ñ5j›«²ÏÞØ^¡½k»®Z„Ó÷N#­ fmÌàéà ¹\o7ïjoÊr]ë³ÎÅW©å0±ëD8·uÆ•¤+È/̇r˜ë™ ´ °{ònÄ=ŒCDJržäÀPÛ66p±pQØJ’ˆˆˆ^."yåODDÔbddd@*•Ökì‰x{›!66®‰£"""¢*þ¾ñr’H$033kðñ*u!"""""""RÄ„) """""""R DDDDDDD¤4&ˆˆˆˆˆˆˆHiL(‘Ò˜P """""""¥1¡@DDDDDDDJcBˆˆˆˆˆˆˆ”Æ„) """""""Ršjs@DD¤¬×¾;C;¼ïù¾B{ÜÃ8üø×HÊKBQiV{¬FOóžÍeã(••bö¯³áb邃V4úüÒb)þ¼û'®¦]EJ~ 4T5àlæŒI]'¡n»*ã7߄ȔÈjçêoÝËÜ–UÛ—W˜‡€ˆL‰D±¬Ž&Ž˜Þc:,ô,u=DDDôâ0¡@DD­Nxr8ŠJ‹Ús1vßX”ÈJ„¶ÜÂÜZ£+——#,9 ºšº>wtZ4fü<ÅeÅ íw±ëò.l·žž }w²î ,9¬ÚùL$&Õ¶_Iº‚%‡– ¯0Oh;{{.ïÁṇádêôœ+!""¢æÀ„µ:û¦îƒDC¢Ðæ{Í%²Ìq™P«ÁÑı™"l¤%R¨‰Õ0Æi ºµës=sä<ÉO”¢Ó¢±êø*\xóBµÉŒ¦ÿ±ŠX¡ÍHۨʸ¤¼$¼áû K 1Ðf &t™ccÄ>ŒÅOý„Ç%›l}DDDÔ´˜P "¢V§eŸ*m)y)€·½uR«Ô£}\Yvª íc;…×/Üɺƒˆ” ±RåXWkWˆEâ*íÏÚxv# K 1¥û|6ò3¡ÝÍÖ 3{ÏDIYI-GQKÆ„)­°´ ý¢ƒQ¬{u]•þ¢²",ò_|4ì#¡=¿(~×ü•i‰f3 w®pÃútÍo7oüvõ7\J¼„ÜÂ\캚ªš 5"R"ðÕù¯p7û.à ß7 ‚†Ú†–Ha­oõÃ×W»†Eþ‹`oll m‘”›„=WöàNÖ|zúSl³©ÎëEDDD- DDÔ b‘»LĮ˻p1á"ÜlÝT< —Ë1µûTaìÕ´«*¶# M …\^ñ^¾ráç§¿½€N&êL&ÔÇìÞ³±âØ ¿}SºMPñt‚ªŠ*þÕë_õš£1âxÖk=_ᇰÀo¼ºx¡KÛ.p4q„†ªFµ»*tm×U!™]ÚvPñÚG%™\†·Ž¾…àøàÏý¨øQµ …ã·cÕ±Ub?[ÆoŠH¥Ê˜/Æ|Q¥öÂôÓ±üÈr¿}‡n‚·›7€¿k4””•àÇ9?ÂÎÈN8æûW0|Ïpüó>ù™Â+DDDÔ:0¡@DD 6µûTì¾²¾×|áfëY¹ ×`¡gÖ„qOJž¢Ó£kœK]U]áÏ5}ƒ®¬QN£ð¿³ÿÃOý„)ݦ çINÆœÄÈN#a*1­×MQCÁÖÐA ƒpôæQ„&„b_Ø>¤¤ÁÍÖ o{¼ {c{…ñzšzU樼 /—— mÇnCp|0¬ ¬ñï^ÿ†µ5´Õ´!‰ðÃ_?àÔSBçi>‘>X¸Ã:Ã×㿞 xVM…'w›Œã·#17Qh3×3ØÚ($ÀBÏŽ&ޏ–~ Ù³«Ô_ ""¢– ""j0kkô±èƒÀ»È+ÌCdj$2¥™Xî¾\a—‚Ê›ÅõÃÖW¹Q®ôì lu»4„ªŠ*fôœ¯ƒ¿ÆÕ´«¸œx%²Ìé3§Þs4E  "I0³÷LÌì=@Å®‹üaÖ¯³pvÑÙz½Žñ¬Ê¤Í¶ ÛàdªødÅæ ›«=f{èvl¾°£Fã«q_Õk;Èg¥?J…:Í:C]¬ŽÜÂ\”ËËžxËåÈ~œ ÐV×Vú|DDDÔü˜P "¢ç2­Ç4„%‡áÈÍ#¸œt*"Lî6YaÌpÇáø>â{¹y›Æn‚•¾•Ð'“Ëx7²rY“ÅøZÏ×°#t~üëGD¤D {»îèÞ®{½oŠ " “I'ô³î'´h@¢!Afz&ràhâXïsVª¬Ç™)$ÊÊ˰#t"R"ÆÊårl8³ûÃ÷c¼óxl½±Öd­Œ[¸švºLPH„&„bãÙW+W¡][MC†âdÌIl:¿ +¯„X$†¬\†m¡ÛVGÇjŸ¾ ""¢– ""z.#GàãÀñ}Ä÷HÍO…»­{•×úZöÅ”îSàí‹!;‡ÀR߯:Æ((*@J~ ŠËб°ßBŒvÝ$1iaLç1¸X5x•RÇ7E …óqçñiЧÐQו¾ÔUÕqÿá}<*~-…¤‹2<ì<°ýâv¬ûsö†í…¶rPP\g3gÜ̸)Œ=u÷ö‡ï‡H$BZAfþ2³Ê|³\f ;7d?ÎÆ‡§>ÄÇÃ\ÏúšúH”ŽLi& —y/Œê4JáøUƒW!$>»/ï†ß5?Xê["5?Ù³!‰°ÚcuƒÖIDDDͯjµ%""jUÄâŠ÷áeM÷­4T50¶óX$å%A&—)c|ÚGüï}¦S$ç%#*5 qãP./ǨN£0¦ó˜&sŽË€©Ä#;lÒsÕÇÜ>s1Ðf ž”>ÁíÌÛˆN‹Æ£âGpµrÅéªÝ"³>º·ïŽu¯®ƒ–š’ò’ ‘H„ÏG}®ð4—¨xR!<9aÉaUþ—^.ŒwnëŒÙ.³¡£®ƒÄÜDD§G#Sš uÌv™ýÓöC¬¢ø„ƒµ5~|íG8™:!çI¢Ó¢‘ý8zØ1a<:x4hDDôbÉdÿÎATI$¯®25«ŒŒ H¥Òz Õ¬Yí}ýòºh9Orp/û ·Eï ú7¯‰y‰Èy’CmC˜ëš+Tø/——#<9ZèhÒ±Ú9“Ã!Ñ(Ô¸›u¹…¹ècÙ§ÚÝ neܸýã°Ü}9–\ÚÐ¥6º'¥O˜›¹\Žvºí„í/+Õv=*û µ á`ì ÐWXZˆøœxˆ ‚½±=ÔÄjHÊKBzA:ºµë-5-d?ή²»Æ³¬ ¬«"""z>7ojà§Ÿt±jUÚ´iž­©©ecBˆè%òÑGÙHKSÃ;›QCefªbá¶èׯ“&4w8ÔB1¡@Dô±¶.ÅÖ­pò¤¶ne="""R^a¡ .l 9¶n}Þ5R øÑ "zÉ Pˆõë³±u«6l0‚LÖÜQk‘™©Š3Ú#5U{ö¤CW—¯:P͸m$ÑKhÚ´hk—ãwL‘ †¯¾Ê„DÂ_ˆˆˆ¨f7ojO&øù¥ÂÊŠ[QSíø„ÑKjìX)~ú) ×®ibØ0+´a]"""ª"?_Ÿ|bŒ‰Íao_ _ß&¨^Dr9½$"ji222 •Je®¼<lÞlˆ_ÕC—.Ř7/¯¾újjü矈ˆèŸ,+K ]ìÛ§‘Xµ*“&°fÂ?ˆD"™™YƒgBˆ¨jÌ„B¥˜u|ýµ!Ξզf9ú÷/DçÎÅh×NÆ×!ˆˆˆþd2 ?_Œ„UDEiâÚ5Mèê–cÚ´,Z”Ë­!ÿ˜P "z 5EB¡Òƒª8}Z—.i!&FÙÙbH¥ü*‚èŸ%ÀužÍ½@**€®n9,-Káì\ŒAƒž`ðà'ÐÐà-á? DD/¡¦L(8qÞÞÞˆmîPˆˆ¨=oB_I‘Ò˜P """""""¥1¡@DDDDDDDJcBˆˆˆˆˆˆˆ”Æ„Ñÿ±wçqQVûÀ?³±û"ˆ¸ âŠ+ F˜k¹[Yv³Û~ÓÛbùk1Ëë­îm½mj™iå’{–•’¦‚€ˆâ’€Ê*²Ê°Ê23¿?¦ydšfØÁÏûõò>çY¾ç™CÎù>眇LÆ„™Œ """""""2 DDDDDDDd2&ˆˆˆˆˆˆˆÈdÒ΀ˆˆô™››wvDÔƒYXXäry'GBDD©µß9™P "ê‚ìíí;;"êÁìììnnn ugœò@DDDDDDD&cBˆˆˆˆˆˆˆLÆ„™Œ """""""2 DDDDDDDd2&ˆˆˆˆˆˆˆÈdL(‘ɘP """""""“1¡@DDDDDDD&cBˆˆˆˆˆˆˆLÆ„™Œ """""""2 DDDDDDDd2&ˆˆˆˆˆˆˆÈdL(‘ɘP """""""“1¡@DDDDDDD&cBˆˆˆˆˆˆˆLÆ„™Œ """""""2 DDDDDDDd2&ˆˆˆˆˆˆˆÈd"µZ­îì ˆˆˆˆ¨}äååá7ÞÐÛvæÌ̘1Cg»§§'V­ZÕÑQwÆ„Q¦V«áíí¼¼>>>8yòdEDDD]¹¹9ìíí[|¼´ c!"¢6RSSƒŠŠŠÎƒˆzˆÞ½{£OŸ>¸zõªÁr™L†Ù³góÿ;DDdNy """º Ì™3R©ágIuuu˜9sfGDDDÝ DDDD·»ï¾õõõzÛE"ЧOŸNˆŠˆˆº3&ˆˆˆˆnÞÞÞrÄï¿[ÃÂB…qãª1{v9ÜÝ•ËUu ºº1Ø»w!.¬Ð>ÉK"êzT* ´TŒÌL-°s§-är O>y66ü>@¦á"¢.¨-G(”–Šñᇎؾ݃×àÑGKQ ™Œÿû'ºUTT@.—wvDÔ‰ŠŠ$صË7ÚA$–//Á¼yesàâm£µ#˜P "ê‚Ú*¡˜h§žr‡X ,_^Œ9sÊ!µA€DDDÔc(b|ü±#¾ûÎãÆÝÄÇ_‡­-G+ÜZ›P`¨‡úñG9|ÐC†ÜÄ¡CY˜;—É"""Ògg§ÂÊ•Eس'ii2,XÐ YY²Î‹º&ˆˆz ï¿·ÅóÏ»áX»ö:×H ""¢fÖ`Ïž\XY©0¾“ Ô,&ˆˆz˜˜K¬Z匥Koà•WŠ!‘tvDDDDÔ]¸ºÖcëÖkðòªÇcy ¬Œ]Fj[Q’™)ÃÒ¥î˜6­K—–tv8DDDÔ YZª°~ýuTVаt©;TèH`Bˆ¨yã gxzÖáw ¸^µ˜«k=Ö¯¿Ž¸8 ìÞmÛÙáPÅ„QñÛoÖˆŽ¶Âë¯ÃÜœ/ð!""¢Ö ¬ÁâÅexï=GN} ƒØ*ˆˆz¥xûm'Ü}wFªîìpˆ¨ ;|ø0-Z„E‹á‰'žèìpˆ¨‹[º´j5°~½Cg‡B]´³ "¢Ö;zÔYY2lܘ×Ù¡Q;)--ÅÓO?-ü}õêÕð÷÷7ù<ùùùˆØÛÛ·Y|DÔ3ÙÙ©ðÈ# lØ`¥KK`aÁQt G(õ?þ(ÇØ±Õðñ©ëìPˆ¨ÔÕÕ!>>^øSQQÑÙ!Ñmbþü2”—‹qü¸Ug‡B] G(usj5e…gžá[ˆ¨yèÛ·/@*åWA"jž³³C†ÜÄñãV¸ë®Ê·ºþ+BDÔÍegË Pˆ1bDMg‡BDídÍš58wîœÎ¶×_r¹ЧŸ~‡ÆW_}°±±Áúõë…}ûö¡  ÿüç?¡P(ôö€C‡aÓ¦M:Û###±ÿ~ÔÖÖ"$$‹-‚T*ŵk×ðÍ7ßàòåËpuuExx8&OžÜAwƒˆ:ða7qú´eg‡A]  DDÝ\v¶æåœî@Ôs%%%!11Qo›–‡‡ýõÖ®]‹÷ß_Øï¡‡Baa¡Á5þzì§Ÿ~Š>úH(?|ø0¢¢¢ðÌ3Ïà‘GB¡Êvî܉eË–aÙ²emUe"êb|}ë°w¯Mg‡A]  DDÝ\E…f9U'GBDíeåÊ•ÈÊÊÂ?þñaÛ›o¾),Êèìì¬wLyy9Ö­[‡çž{C† ™™ú÷ï_~ù¥Ùë•——cß¾}øè£P\\Œ5kÖ@­Vã÷ßG\\BBB°`Áüøãøé§Ÿk×®ÅÃ? [[¾¯ž¨'²µU¡¼œKð‘.&ˆˆº9¥RH¸ê2QO —4 İaÃ=F©Tâí·ßÆôéÓM¾žR©Ä;#àà`À÷ßÔÔT€••>ùäÈd2 8PH(ÔÕÕáêÕ«:t¨É×#¢®O"¹õƒH‹)&"""¢H,·x]‰D‚#Fwtt~>|8d2ÀÉÉI縒.KDt;aBˆˆˆ¨²µµ:þ¦²±±X|ëkbß„ŸU*Ý©Vj5GJÝN˜P """""""“1¡@DDDÔ XZê¾®­°°°“"!""Ò`Bˆˆˆ¨Ëåðññþþ /àÞ{ïÅ¢E‹݉‘ÑíŠ """¢nbõêÕÂBˆUUU8}ú4âããQ\\ÜÉ‘Ñ툯$"""ê&BBBƒôôt( aQľ}û"""„Ÿ¥RÃ_óÛç®»îBÿþý ûòË/£¬¬ àââ"l777Ç–-[„¿0 Uõ#"¢î… """¢nD"‘ÿ¿ruu…««k“Ç7¶››ÜÜÜ Ðh,cÆŒi&b""ê©8刈ˆˆˆˆˆLÆ„™Œ """""""2 DDDDDDDd2&ˆˆˆˆˆˆˆÈdL(‘ɘP """""""“1¡@DDDDDDD&cBˆˆˆˆˆˆˆLÆ„™Œ """""""2 DDÔbAAû±hQTg‡Ñ&zR]þª¦F ÿ½xòɸÎ…ˆˆˆz&ˆˆˆHÏ€ûðÐCÑ&—ÑíCÚÙQ÷uáÂ=B›éIu!"""ê¡@DDDDDDD&ã""j±  ý rÀÖ­a:Û÷íËÆwߥ#5µ *àç'Çüù>xðA?ˆÅ"}ãã‹°aCΜ)FEEÜÝ­0eŠ–. €\®ùgª¦F‰ÀÀýˆˆðÀêÕÃðÖ[U€ÚZ†wÀË/! ÀNç¼*•_}•†ï¿Ï@nnÜÝ-ðÀ~˜:Õ “&ăúá7†6Z—–\ÓØút¦‚‚›MÖ%!¡÷ÝwSÿ½Â±¯¿>«WŸ3X¶eK† sîÙk¯ Á¿ÿ}qqEP*UvÆ‹/¼gDDDÔ=uþ7""êQÞyçlØpYg[R’«WŸGbb >üp”°}Û¶«xýõ³P«o훓S‰¯¾JCLL!vì˜KË[ÿT••ÕáÞ{!;»JØSˆÅ‹£9fÂöU«ÎaÛ¶«Âß³³«ðÎ;àâÅR“êcÊ5M­!=˜˜B£ã;x0}ûÚ´y]ZC¡Ð\'?ÿ¦°íøñ|$$áûï'2©@DDÔCpʵ™‹K±aÃeXXH°jÕPÄÆNCB ¼ÿ~0ìíÍðã9øí·<šþ›ožƒ­­Þ~{8bc§!)i~ý5Ó¦y!9YÍ›¯èœ?>¾Vسg.\¸¿ý6ãÇ» ´´?ü-ìwî\ ¶m» ¹\Šÿügf .n:V¯†ÈÈ<“êdì5[RŸŽfL]‚ƒ–6‰ãÇ» -mŽð硇ü-3ÆY¸Î©SEðð°ÄîÝqáÂ=8x0S§z¡ªJ‰7ß<×YÕ'""¢6Æ DDÔf~ùåà™g`ñb?aû¬YÞ‹Exî¹S8p Ø·/ õõj¬Y3 Ó¦y ûúûÛà£F!!¡‘‘×ðä“ý…23|ñÅ8aꀯ¯+WÁ´i‡‘’¢ö;xP“4xñÅÁ˜7ÏGؾhQ(uxÿý‹F×ÉØk¶¤>†|óM¨Ñ±™Êغ´–••ë׃““9 o_Í=˜1£ Å(*ª³³y›]ˆˆˆ: DDÔf22Êáázeááî€ÌÌJÀåËe€gŸ=…gŸ=%LP«ÕÂÏ"Ýåh¯···5 ¢¢NØ–•¥¹FX˜«^aa®&%Œ½fKêÓÑŒ­Kk d/$´¤RÆsAzz923+˜P ""ê˜P "¢6gLÇY¥Òô²•Ju£ûÔÖªtþna!iâZúD­nüz†{Í–ÔÇö\CÁÔû×^ }.DDDÔý0¡@DDmÆ×WÓ±ýý÷ëè×ÏV§ìèÑëÍqm'xóæ„„è$hÞ½5×8~ü:xÀO§ìÄ ã;ë¦hÏút‘¨¯7œiª ’’JQ\\£3J¡¾^ØXͽ×~>DDDÔ½1¡@DDmfÚ4O¬[w Ÿ|r ÖÖ2L™â ™L„ãÇ „× NŸÞ 0gNo¬[—ŠçŸOÀòåƒêggs(uÈȨÀ9ps³lvÍC¦LñÄ_¤â½÷’`m-äInP©Ô8t(Ÿ}v©Më¬ÕVõiÏ5Laoo†Ë—Ë•U‰^½¬t^÷ÙTTU)ñıX¹rú÷·ÅµkÕøðÃ$¤§—#8؉Óˆˆˆz&ˆˆ¨ÍÚãï÷ÇW_¥aÕª³Xµê¬NùÌ™½0y²f}__9þõ¯áX¹2/¿œhð|Oر#Ë—'è”Í˜Ñ ä@&kÛµg}:ÃØ±.øé§„‡¶mÙ†1cœ-6Ì0j”323+0oÞ1sZYiÞþADDD= DDÔ¦^~9Úá»ï® 5µ *àç'Çüù>:o~€… }0p -6nLC||JJjàèh__9fÌð¬Y½[Çš5Ãáã#Ç÷ßg /¯îîX´ÈAAö8p ¶¶²ÖVUO{Ö§£½újêëUˆ‹+‚BQ‹†KO4Uvv2lß>kÖœG||T*5FŽtÂK/ F@€]ÇV„ˆˆˆÚHmêêTDDÔîòóóQQQaÔ¾?ÿ,DzenHKKoç¨z†Õ«Ïã›oÒñÙgc0eŠgg‡Ó£ÔÔ(¸X·nlg‡CDDmˆß7z&¹\77·Ï DDÔ#íØ‘‰’’›˜<Ù^^V((¸‰={²°eËX[KÖò<‰ˆˆˆˆ ""ê¡ÊÊjñÞ{Ixï½$½²W_++ýW(‘ñ˜P "¢éÞ{}QVV‡Ã‡ó•U ‰D„Aƒìñè£ýîÞÙáu{L(Qdc#ÃóÏÂóÏêìPnææ¤¥Íéì0ˆˆˆ¨ƒ´í;³ˆˆˆˆˆˆˆè¶À„™Œ """""""2 DDDDDDDd2&ˆˆˆˆˆˆˆÈdL(‘ɘP """""""“1¡@DDDDDDD&“vvDDÔ=ÕÔ(¸X·n¬QÇ|òI zõ²Âœ9½M*kk-‰½=td»‚  ý rÀÖ­aÂ¶ŠŠzÌžý;22*„m_|1/*n«{ÓtÇßUCm¯³™SAÁM¼ðBbc u¶[ZJ°té@<þx½c>ü0 kצB¥R Û<<,±~ý8 dתóïØ‘‰ .ãÊ•raÛOôÇ‹/6["êY8Bˆˆ:̧Ÿ¦`ïÞ,“ËzªÛ­ÎO?=óæévB·n½‚ŒŒ žêeËЧÍmwoº~6綾N#6¶vvfX¸Ð?Þ¡¡®¨®Vâ¿ÿ½ˆÃ‡¯ëì¿{w&>ûìD"àž{¼ñÄý`‡¼¼j<öX ª«•­:ÿ‰¸r¥¾¾r„„¸¶{ý‰¨ëâ"""êO=¥ÿõòeÍÎõëÇÂÑѼ£C"êòÊÊêpâD‰•¾R IDAT¬¬$øñÇ;àéi%”}þù%|ðA~þ9wÞé.lÿä“”?ÿ;wÝå xþùAxôÑDE`ûö«X²Ä¿Åç¿÷^_üóŸáçgƒ_½†' ÚõQ×Å„µ‰ôôrDG ¶V…áÃì$”]»V…]»² R©‘•U‰?NÊÆsAll¡Á²¹s½ááa…Ï>»??9fÎì…ädââ ¡RÁÁN:Ô¡]coH©T#&¦©©eP*UèÛס¡.07—èí›PŒÔÔ2TTÔ¡W/kŒå‹fïÇܹÞèÕ˺Õuj‰¦b€¯¿N‡¹¹‹õ¶ÕÕ©°ví%"<úh?XYݺ;vdB¡¨Åcõ¬]› WWsÌ›çƒôôr8‹sçn6mJ‡T*Fuu=,-¥-¾7ÍÕA©Të´§ôôrÄÄâÆüío}±ys:||ä˜5Ë[ïÜj5°n]*lm¥xà¿&ã0¦­ü5SÚö”"1±õps³Àĉnpr2oôÜÆ¶ñ¶h·%%5ˆ/BVV%¤R1ú÷·Å¸q.HD¯™œ¬À™3Å(/¯CïÞrŒï{{³&ï/ÄÆâÔ©bøûÛ`út¯f÷7Ä”ßicc5µþ†ê4a‚† Ó|þµµ*¨Õ@¿~¶:}˜4É|„ÚZ•°íÒ¥2ääTað`{!™‰Ï>;QQˆŒÌ ¦žÆwi¶.Dt{`BˆˆZmýúT¼÷ÞE¨oMÕÅÂ…>xë­€kתññÇÉ€œœ*ág@ó%·±²1cœáâb?NFD„RRX·.UçÚ³fyã¿ÿiÔ—õ–Ä®•–VާžŠÃÕ«:ÛÝÜ,ðÉ'c0b„# ´´<ƒóçoèìgn.ÁòåX²¤o“÷cÌç&;Í{÷f!;»Êèú-^쇦;gÆÄ ññ…8z4³g÷ ÅBÇrð`{„‡kžbÖÖª°zõ9Œã,$>ÿ<AA˜7ÏW®TèÔûóÏ/éÅeʽ1¶õõ*¡=]¾\†Ï>»uÝ¿ÿ½¾Ž+WÊákkݯI±±…xÿý‹xâ ý‘ ÛVÆblÛ.*ªÁsÏ20×]ŠU«†`þ|½sçæV5ÛÆÛªÝþë_ç±mÛU½¨¯¯_~9}úÈ…m……šyû11ºu±¶–â?ÿ©SOlÙr«WŸÃ¸q.Âgk*c?'Sb5¥þ†ÄÆâóÏ/ÁÆF*$œÍáãcË—Ë—W Kaÿ£G5SF޼• JIQÐ|&dKK .]*¶™z~"¢†˜P "¢V9{¶GŽ\Çĉîè×Ïùù7ñóÏ9ر#3gzcüxxzZbÙ²|òI2¼¼¬0w®püèÑΖyyÝúb{æL ~û-'º¡_?[äåUãàÁ\üðC6|}åXºt`»ÄÕÕõøûßc›[OO+Lœè™LŒ' ž^ŽÇ‹Å/¿Ü WW lÚ”ŽóçoÀÍÍáá°³“!7· ññE8}ºK–ômò~4¬³!{÷féujš2c†W³ cb€ÐPWDFæ!.®áá€èhÍPiKK)¢¢ò…„©SE¸yS‰ÐP7ƒ×ôó“cÙ²üôS®\)ÇÓOС`ê½1¶Z‰‰šö技{XXH “‰±p¡V­:‡Ÿ~ÊÁ½÷úê³sg`Á4Æ”¶¢elÛV*Õxì±X\¸p½zY#,ÌvvfÈ̬Ào¿åá•Wáïo+tDãÛx[µÛ¨¨¸ºZbøpxyY¡¦F%Œ¼xé¥Óعs" ¾^G‰Ar²ÖÖR„‡»ÃÃà ¹¹U8q¢II ƒ ¥R·Þº€Í›Ó±hQ¬Z5´EÉDS>'Sb5¶þ7ÎR©Çëvàßyg<3gÁ”)°·7GRR)¢£ êŠûï÷ö-(¸ z£ @,ÁÓÓ éé娭UÁÌLlòù‰ˆbBˆˆZ¥¸¸k׎ED„‡°-,Ì/¾xG^ÿ3¡`…eËâ³ÏRл·5–-ÓíüåÔhYMfñ°’’ü÷¿#1wî­EýÎóÇÂ…Çðõ×ixúé&w,Œ‰~ü1¹¹U1›7‡ÂÒRót¾¾^gŸ=…_ÍÅÖ­Wñì³()©ìÙsÜÜnukkU¸x±š½M™3§7‚ƒõŸ<6Ƙu Œ‰€ˆŽ. QQù;Ö66RDGßšG­ý94ÔðÐè¾}m°lÙ@$%•âÊ•rüãt†™›zoŒ­ƒVqq Þ?XojìY½ñÎ;±cG¦NBA¡¨Å¡Cy=Ú¾¾?e6¥­4ŒÝ˜¶}èÐ5\¸pwßÝ ï½¬ÓÞ/\¸ùó5ûÿï£têiLo«vûæ›Cáçgƒ¸¸BäåUÁÌL…Ñ£QTt‰‰%¸q£f8p ÉÉ ôëg‹ï¾ Õ™®QYY¬¬J½sWVÖãŸÿ<…ãÇóñê«AÂý–0ås2%Vcëߘqã\0nœþį̈QÎx÷Ý‘X±â vìȶ‡„¸â¿ÿ©ó»£ýfcÓ6´I„›7•ÂϦœŸˆ¨!&ˆˆ¨U ²×鬚y·À­'emÁ×W®ÓအC0y²~ýõ._.ÃÀvm˜±±Ÿ9S øç?„ŽH¥",_>¿þš‹Ó§5ûÜu—'¶n½Š/cáB_øùÙ@$Ò|‰>Ü­Õ¯ê36fkx{[ É‚7j‘œ¬Àüù>Ëeøá‡l\»¦yâ]WW ôëgÛæñ¶¦Z}ú^'A.—bêTOìÝ›…ÔÔ2ô﯉ÿ‡²QS£ÄÂ…¾MÆaJ[Ñ2¶mk¾³²’bݺT¨ÿœÃ Vjµ¶¶2\¸ ;eÁØ6ÞVíöìÙX²äêëÕË‹‹kàà`†¸8Í(›+u:è€fA@€îïraa .<†ììJ¬[7FHhµ”)Ÿ“)±[S½óÎذá2<=­0c†lldÈ̬ÄáÃy˜1ã06n  ÍÈmç_›Xø+ít ‹[õ6åüDD 1¡@DD­Òp¾­–v~}c_ª[¢W/ýá»àí­™S_VVgò9]¡¨ôî­ÿdÚÛÛ"‘f: ™°mÛlÞœŽ{ï=Žš%Ötï¿ß––­û§·=ÖP0%æÐP7lÛv¹¹U8s¦j5æ&¬7]ˆ;ïtGJгg·}ò£-ê ÉQ ú`ïÞ,ìÜ™‰W_ ìÜ™ ¦Nõlô8À´¶¢elÛ.)Ñ÷ý÷MÆÐ±m¼-Úm\œf 331""Üáãc ++)D"¢¢ò‘˜X•JsMí=ðó³1ª™™P(j1dˆFný‚€¦|NÆÆjJýMqþü lØpÇ;bëÖ0Èd·Þú~î\ æÏ?†×_?‡½{'€0æÚ5ýÿO¨Tj\»V[[™0:ÁÔó5Ä„u 99†;ÑÙÙšáÆ¶¶²v»¶¦Cž•UooÝÎ_vv%Ôjè¬ô>j”FÒÌ.(¸‰øø"¼ýöüúk.¶oŸ±¸e Hí³†‚)1‡„¸`Û¶«ˆŽ.À™3%ðò²šëßßQQù07C­ÖtR;’)÷½©é1£F9ÃÏÏ{÷fᥗqéR’“xà?§º†˜ÚVãÛ¶öÜ<ÐNN±°ÜnŒÖ¶Ûß×,à÷é§£õF$'ëN;ÑÞƒ+WÊÑ»wóo5 v”)žø¿ÿ;ƒˆÂ×_oÕkFMùœŒÕ”ú›âÂͱáá:}:Ônn–¸x±J¥‰H©uòd‘ÁsUW+uF˜z~"¢†Zþ¯‘‰ÌÌÄzOg)€ŒŒ ìÙ“¥³íܹˆŒÌƒ­­¬]‡Ö¡éd}òI ª«ë…íJ¥|àÖ*èqq…¨¬¼µ««fÎì…qã\pæL‰ÎŠòÍÕÙ9szcÙ²£ÿÓé2%æñã]!‘hž¸FGçë$ BB4¯=~<ÿÏ}[þ$ÙÔ{cJŒ±`JKkñÛoyعS3§|áÂÆcÔ2¥­hÛ¶ÇsÎõÌ3°lÙ@?÷ßc[vÏۢ݊DšÎ¦\®›Ü‹‹+Ä‘#×u¶i× x÷Ý‹¸qC÷\••õHNVèÎœÞøüó±HK+Ç}÷E!/¯ÚÄZÞbÊçdl¬¦Ôßr¹æùß‘#y¨«Ó}{Dbb òó«ae%:ûØ¢W/+üñG)º¦S·>ÒÔmòä[ SÏODÔG(Q‡ñõ•#)I^H€··5Äb‘ðþúÆÊ\\4ObÍñÒK§qà@ú÷·Åµkš•ð•J5–,ño×/»wßí…Ï>KABB1¦N=¬³"|ZZ9ìḭ̀hQš×Pž>]Œ±c]áãc ™LŒ”ŽχD"Òy:ÝÔýhL{¬¡`J̶¶2 lǯ£®N…°°[oq sÃ×_§ãçŸs1p ðÙµDS÷懲‘™Y‰ùó{ +Ù›RcÌÛï¿ß~{ÉÉ Ø!0Ð^gCq˜ÒV´ŒmÛ3fô¦M騾=QQ?ÞNNf(+«CFFâã‹ð÷¿÷Ã!¦Ïuo‹v«]ká‰'â0uª'Ìqùrގ££ŠŠj„sLŸÞ _|q)) ÜqÇA„‡{ÀÝÝ×®U!:º‹õÑ[Gî¼Ó_=?‹… aÓ¦ôí{k*‚¡ÏÄS>'cc5¥þ‰-Ä©SŘ0ÁMx[Çĉn°±‘!1±‘˜4Ér¹8|8j50sf/ó,]:+VœÁÒ¥ñ˜9³ÜÝ-•¤$ÜÜ,pß}·Ú`KÎñb)Ö$I._Ö¼‚²á+d‡ ±Öê ¢ž ""ê0K–øcÅŠÓøá‡la›öýõ•i;¥#F8¢o_¬_ŸŠcÇò…}fÍòÆÓOh׸--¥øê«ñÂ;ë·n½*”¹ºZà“OF ó–ÇsÁÙ³7päHžÎ9¬­¥xíµ EÝšºÉ”˜MâàܹHDÂSs@ó P331jkU iÝ<÷¦î;}Yv¨]„N£©uhŽ““9î¼Ójžðþõ’ ÆaJ[Ñ2¶mK$"|õÕx¬XqGŽ\^c©åæfÑ¢dÐ6ívÊOÜ}w/üøcŽ0ª,ð…7¦ Û¤R6ngŸ=…øø"ìßë\r¹ƒ5¾ÀêèÑÎØ²% K–Äà¾ûŽãë¯C0x°&Ùcè31Ä”ÏÉØXM©cbc ñùç—`c# ööfX»v ž{.¹¹UزåŠÎ1wÞéŽW_¢³mÞ<ddT`ݺTÏÉÃÃë×ÓYˆ²%ç¿xQ?NÖÙvút±°åƒú1¡@t›©µKQ—‘ŸŸŠ ã†hÿü³Ë–¹!--½£Ò¥TªñÙg—àç'×{z¥-ó÷·Áôéºï’¿t© 'OB¡¨ƒZ 'ò†Ê\\,¸X·n,.^,E||1T*5FŽt¾twDìJ¥'N 5µ J¥~~6˜0ÁUï•jÕÕõ8y²èÏaâ"xxX`Âwa1662&ˆˆˆˆÚ DDÔ¥I¥b,[??y³û>ñD?£F(u¦´m""¢®ˆ ""êÒ$–-hÔ¾y@݉)m›ˆˆ¨+wvDDDDDDDÔý0¡@DDDDDDD&cBˆˆˆˆˆˆˆLÆ„™Œ """""""2 DDDDDDDd2&ˆˆˆˆˆˆˆÈdL(Q‹ÔÕ©°hQ>ø ©³Céö obÑ¢(lÚ”ÞÙ¡t)<ƒ5kÎëmOO/ÇoœÃ#Ä`Ñ¢($&–tBtDDD$í숈¨{R©Ôˆ/‚­­Ìèc/ŽF@€^y%Ȥ²ž®¦F‰øø"ôïoÛÙ¡t)§NáæM¥Î¶ÌÌJÜ}÷ÔÖª„m7nÔÜÖ퇈ˆ¨³0¡@DD&>¾"‘éet{Ú¸q<ärÝ„ÕΨ­Uáá‡ûbÒ$wÈdb `‹§ž:ÉöCDDÔÁ˜P ""¢.iÔ(g½m99U€çžkk~!""êLü—˜ˆˆZM©TcÇŽ DE ¶V…áÃñ·¿õ…\®ùgæÒ¥2¼ùæ9(•jüñG)-ŠŽ]¸Ð;vd,[¹rüýmð·¿@p°žyf ¶n½Š¸¸B¨TÀÈ‘ŽX¼¸/¬¬$&Å[W§ιté@lÙ¢9§X,BD„æÎí ((¸‰o¾IGJJär),ðAHˆ«Þù23+±sg&RSË Tªàç'Çܹ>°ÓÛ÷ܹìØ‘‰ÜÜ*xxXáÞ{}áìlÖh¬ E-víÊBbb **êàæf‰)S<îaRÛZAÁM¡ÎuèÕË¡¡®ˆˆðF ¼ðBàý÷ƒ…ãÊÊêðÔSqP«>WW ¡ìå—QYY‡? @³†‚ŸŸ¯½6 Åøàƒ$¤¦–}4"P^^™Áö³ukX{ß""¢Û DDÔ**•O=uGŽä ÛŽ½ŽC‡®a×®‰ÉÄ(/¯C||M‡Rû3„„¸6ZVVV'¬Õ —˰dÉ œ}äÂ6k<ø`4Μ)Á¬YÞ°±‘aÌgˆD€æç†¼¼¬-«©ÑtpÕjà›oB1hЭ$ôi^˜<9äà_ÿnòÔ©TŒï¿ŸooÍù‰ÝP]­ÄÇ'C,aûö‰J5ã÷ï¸ÃII¥¸p¡õõjH¥"ìÛ—…›7•z£¦Lñ„‡‡þ÷¿d|ÿ}Þ|s(öïÏFm­ K–ôÅ«¯ö1£^zé4öìÉÒ‰mß¾,×`ùò@<ùd²éÓ½0qâ¯Ø³'«Ù„ÂË/¡¬¬Îè{âéiÙì>Ú{òÞ{#aokdÈ}÷ùê\+$Ä"•ß ¡P€ÐPWÈåRüüs.Ôjûh1ÄÁÁ cÆ8 #QFr‚¹ù­Ï»±öCDDDí‡ ""j•  d ì@ó:¿¶`§“L4̈ìÚ•‰´´2 â`Ò9ƒ‚ì…d‚ÖÀšW7N™â)tœÆpîÜ äçWÃËË )) À}÷ùèûþûûàÿKFr²fºÁ¥Kš¹ÿ øêí»`¯^BáìÙ@dä5ÄÄ@ýç, µPÿù—ôôòfëhh‡Öºÿþ>Ø»7 ?‹Ù³{cð`{ ` ss‰ÎkDÌ0h=¢£5ñgfV '§ Ï=ç ¾ýö RR°Ã‰…ð÷·››EW&""¢®„ ""j;;™Þ6™LÓW©ôŠZ¬aGÕÐõkjL¿˜þº Ú$‚á21 ¾^­sM{{sƒq‰D·öÑ®`¨†îaU•fÿsçn4¿™YóÓÚc …>}äøí·ÉØ¿?11…ظ1 ×®U!4Ô/½4þþ6¾aanX·îRR8}º"ê ¤R¢¢òan.Fnn~¸¯ÑqQçcBˆˆ:”Zݲ²ÔÔ2a¾|C.h:Ëñd[û†‚óçoÀÇÇZ/.µps³ÔÙ÷âEÜÝ-ÿ²¯~ÒÀÃC³Ï›o…¿¿­Áëÿu…!í±† I¸,^ì',:YPpO>‡‡ŠÆï¿ß%LG uÁºu—püx>K0p œœ4 ˜áÃpâD!,-5_G›î`¬¦Úµ=&ˆˆ¨ÃX[K‘“S •J ±XdtÕà_ÿ:×^331Ôj`Ó¦tÄÇ¡wokôîm­wL{›0Á ß}wï¾{ýûÛbÀMÇ?7· «VýsM'9,Ì [¶\Å;ï\@ß¾røúj¦‰¤¤( .Ê8eŠ'6oNÇ?dã½÷‚uê§Tªy Jeó=èöXCaÓ¦t h‹±c]„mfË¥((¸‰ŒŒJá^ŒéKK)޽ŽädxàÖ[/BC]ñùç—h’# ÏgªæÚµ=&ˆˆ¨Ã d¸¸BLštHXˆqåÊ!®`¸ÌÏOÓñîÛ×»veâ§Ÿràë+G^^5 o–/ì”úÜq‡;ÆŽuA\\!î¹ç|}åÉÄHO/G] ýúÙbþ|aßáјX‚©SƒŸŸ ”J522*0`€-òóoêœ{ôhg,Xà‹;3~ÞÞVpv¶@YYrrªPS£ÄOôÇŒ½ …&h5Ž»Ž5kÎÃÚZŠÞ½­af&Á•+å(/¯ƒƒƒ™NòC&côh';¦Yt±á[BC]ðá‡I8q¢£G;ÃÒÒ´E52Ô~¶n ky%‰ˆˆ¨Yâæw!""j/¾ \»V…S§Š_$<=oª ÐÌÛÿøãÑHD8þ oÂÆF†·ÞéÓ½:¥>"°~ýX!iž^Ž””J5îºËß} M'Y"áË/ÇáŽ;ÜQ_¯FjjÒÓË1~¼ Þ~{„ÁóÿûßÃðÊ+Apuµ@vvKž^•JéÓ½0sfÓÉ„ö²d‰?BB\QUUädÎ+AyyÆŒqƦM!z‰ÐPÍk6--¥9ÒIØä ¼%¢±×EËPû!""¢ö%R«9㈨«ÉÏÏGEE…Qûþü³Ë–¹!--½£Ò¥R©qêT1Ìп¿­Á2GG3ôë§[¦Tª‘–V޲²:¨TjØ *37#0p?""<°nÝXÔÕ©pù²¦SÝ¿¿-ÌÌLÏ7{ii-.]*ƒ¯¯\o]†ŒŒ äçßÄСB¢@«²²W®”C¥Ò¼6³áëÿ*?ÿ&®]«‚››<=­PS£ÄÙ³7àæf!L…hHû†„’’Z8:šÁËËJo-‰ÎPU¥DffÔjÍšÚW:þ•BQ‹””2XYI¤û&ޤ$ÊËëп¿­Þñ§NA.—録HM-õ5ÊIojÃ_Û_!IDÔv:ëûµ/¹\77·Ï„QÔ ¥¦F©“P ""¢Ž×Ó¿oÜ®Z›Pà DDÔc<öX,*+ë›ÜÇÚZŠ/¿×Aõ\L(Q‘PŒòò¦ßh`c#ë hˆˆˆˆz6&ˆˆ¨K37— -mŽQû&&ÎlçhˆˆˆˆH«óWt"""""""¢n‡ """""""2 DDDDDDDd2&ˆˆˆˆˆˆˆÈdL(‘ɘP """õõ IDAT""""“1¡@DDDDDDD&cBˆˆˆˆˆˆˆL&í숈¨{ª©Q"0p?""<°nÝØÎ§K Ú  lݦ³}çÎ lÜ˜Ž¬¬JÔÔ(ñÅcîÑIQ¶\Wn]9¶Žròd¾ýö >ýt´ÑÇìÚ•‰o¾IÇÕ«P©€‹ïÑ)W«={2±kWRR¨©QÂÃÃÚáqÇn07— ¦F‰á½½bb¦é]çÝw/býúT `‹îÔ+ùå3ع3_~9wÜáŽ_PTTƒK—fëìò òóo6Z77‹&Ërv6G\Üt£ömìwÛœœJLšt>è‡7Þ*lß½;¯¼’{{3ŒáˆW^oo+£®ODÔUp„u˜öᡇ¢M.ëIââ ñòˉ¸|¹ 55Ja{W®GÇÖ•ïEO–šZ†ÿû¿3HJR ºZ µZ­·ÏЧ±bÅœ:U„òò:ÔÖª™Y‰ƒ¯á™gNbÇŽL€¹¹C‡:  à&22*ôÎ_‘HsÍÒÒZ½òS§Š!‘ˆìÔöíB”J5Š‹k™‡ÿû¿Ó‘É8Bˆˆ¨\¸pÞ¶ß~Ë|üñhÜu—'¤RQG‡E=˜J¥Æ¾}Ùøþû ¤¤(PYYI“bìXüío}`×è±§N|ÐÏ>;;3½ò={² “‰ñ⋘6Í NNæ((¨Æ¥KåØ¿?aÿ1c\pêT1âã‹áë+¶WW×ãÂ…ˆˆð@ddN*ÆäÉ·Fèh“ƒÛÃÆFÖl%‘ÞÈ…¦hG5¤¥Í1ú˜¿2ô»mªyó|0{vodgW⡇NàÌ™¨TjˆÅüu¡@DDÔ®_× ¿wg2ÚÜoœÃK/ÆéÓŨ¬¬ääTa×®L,^Üô¨²2ÍþS§zÂÞÞ ¢¿4ÏÄÄÀ’%þxäxxXÂÌLŒ^½¬qçîøßÿFaÁaÿ1cœ'OêœçÌ™Ô׫ñÐC}ac#C||‘N¹öïÚã{2‰D__9† s@] ÕÕÊæ""êB8BˆˆZ­ à&Þz뢢 P[«Âðáxùå áihBB1î»ï8 &¦þþ{…cŸ{n>ü0É`Ù–-a6ÌA˜ ÿÚkCðïŸG\\”J‚ƒñâ‹M>umÌï¿_Ç×_§!5µ õðò²BX˜+{¬?ÜÜ,3fFYY¢¢¦ ÇåæVaâă€_€¿¿Pvç‡ ‘ˆqèPÝyÖ‘‘yxê©8aßÁƒ÷ëÅd¨þÆvª22*°eËœ8Qˆ¬¬JH$"ôïo‹ûïs{ ûefVâÎ;õçs7,{øá¾xíµ!M~nÚÏF«¹6`Œæ®§½ûöeã»ïÒ‘šZ• ðó“cþ|<ø _³OwŠZ<óL<âã‹°zõ0Ü{¯/M'vÆ4œ9SŒŠŠ:¸»[aÊ,]¹\óu©áº «Wku}ÛšBQ‹íÛ3 —KñöÛ#`a!ÁΙxñÅ@$$á§Ÿr›<^¥ÒLqJ ?o²µÕŒX0fÔ î™Ll0a “‰1|¸#FŽtÒK8ÜJ(¸uÎ`h •JÓ°}{rs«àînE‹ü0mšW³ç“É4÷\©ÔŸfBDÔ•1¡@DD­RVV‡{ï=†ìì*a[LL!/ŽFdäd88˜5q´ñ Íu.°vüx>Šðý÷MêÈýþûu<öX¬Î¶ôôr¤§—ãúõ›Â"v¡¡®øê«4¤§—£o_Mâ :º ‹•/$rr*‘™Y‰Å‹ýZUÏ–züñ8\¹R®³-1±‰‰%((¸‰'Ÿìßn×î¨6ï¼ó6l¸¬³-)IÕ«Ï#1±~8ªÑc33+ñØc±(*º‰¯¿Áøñšë¶mWñúëgÑpÉ€œœJ|õUbb ±cÇXZÞúÊÔõ}è¡hÄÄ6»ŸÖÁƒBlLyyT*5î¹ÇÓ¦yáäÉ"ˆÅ"ôé#GŸ>r,XàÛäñUUš ff† !!®07—`ÆËpt4Cx¸;\\,=Ÿ……f…„„bääT¡W/Í‚ƒññÅ2ÄŒå„÷ßOBYYlm5‰ mÜÝmý„U«ÎaÛ¶«Âß³³«ðŸÿü‹K›=ÖÌL3U¤ªª^¸DDݧ<Q«ÄÇÁÃà {öLÂ… wã·ß&cüx”–Ö⇲ÁÁNHK›‰D„ñã]–6Gøó h´¬áÓùS§Šàáa‰Ý»'âÂ…{pð`¦NõBU•o¾yΤ˜µë<ÿü ÄÆNCrò,DFNÆo …‡‡¥°_X˜ *ª@Ø•¾}m0dˆ½\h¸Oh¨›ÁkNžì´´9ˆˆÐÌ¿xñº6WÿæøûÛàí·G 2r2’“g!1q&¶m›€~ýl±nÝ¥=ùlêsk›1m -®wñb)6l¸ V­ŠØØiHH˜÷߆½½~ü1Gølÿ*>¾óæE}½ »vM’ ÙÙUxóÍs°µ5ÃÛoGlì4$%ͯ¿F`Ú4/$'+°yó½sµE}Ûš——5ÜÝ-qæL  ý…S[«BR’?ÿœ‰Dookƒûy{[á¿ÿ•JW_Mĸq¿ ,ìW<õT¶l¹"L±hhôhÝi55Jœ;W‚Q£4É‚Q£œ¡R©‘ •PRRƒôôrØݱV*Õð÷ß«÷ç³Ï.}Zëüùضí*är)þóŸHH˜¸¸éx㡈Œ4Ü&òñÑÜó/¿¼ŒââX“ˆ¨Kâ""j3|ñÅ8aX¸¯¯+WÁ´i‡‘’¢h³ëXYI°~ý889™úöµÁGÂŒeHH(FQQ œÍ:—»»&i0k–·ð„Uû·¡à`'˜›K]€‡î •J¸¸"Ìží ¹\†¯¾JC] 2™ÑÑHD6ïûÍ7‡bíÚT¬[w yyÕ¨­Ué”çæV¡woÃÅÖê¨6ðË/×Ï<3@g$ȬYÞ‹Exî¹S8p GHÚhíÞ‰×^;‹añvíØÛßA°o_êëÕX³f˜ÎÐtMûJH(Fdä5mQßo¾ 5ý4C$>ýt ž~:¡¡¿Â×WŽÚZöìÉBh¨+\]õGìÞ‰+ÎìíÍðÊ+AMް˜1£&NtGdä5ÄÇ!9Y#G®#22Ÿ~z 6ŒC` ½°ÿèÑÎøüóKˆ/Ƽy>8{öjkUB¢A;R!>¾ááˆ/ÐýÖO8xPÓ6_|q0æÍ»µŽÄƒúA¡¨¦u5æþû}qút1¾ýö 6oN‡™™II³Ú5f"¢¶À„µJ` ½Ð±ÒÒ>ᬨ¨k³ë d/$´¤RÆsAzz923+ŒN(,Yâøø"̘q'ºcð`{ là`'a.3 ²ì„“'‹PW§BRR)JKkê ¹\†O?MÁéÓÅ5ʱ±…6ÌQï^t…¢sçE^^u£ûܼÙ~‹½uTÈÈÐLé÷Ð+ w ™ÖÐP\\!~û-£G;cóæÏ._.<ûì)<ûì)áɰZ­~þëâ„Uß–6ÌGNÁñãùøå—\=šÿû**êpï½¾xã¡®3!“‰uFè4F.—bΜޘ3G³6GEE=6l¸ŒO?MÁsÏ%à×_ï®1r¤#¤R‘0BáäÉBH$"Œ©¡ •Š0t¨ƒ°n‚v?SÖO0õ-íAÛîÂÂ\õÊ&Lpm6¡`m-ƒ££¹^[#"êê˜P "¢Viøš8­[_Š;î۱Ȅoâr¹ß~ŠÔÔ2œ]‚gž9‰+ÎàŽ;Üõ/M‘Ë¥xöÙ;– n ;»JÂoi)EPK—Wøøb dkë[_Aµ£*+ë¯Y?A;%âv±6vïÎÄwºcåÊ!ðô´ê숈ŒÂ5ˆˆ¨ÃˆD@}½áŽ[Se”TŠââmõõjÄÆj:e-Îß¿¿-/öÿÿ=F`ôhg,_~Zgþ¹v…èèDG`äH'XZJ!‘ˆ0v¬ ¢¢ò•­J(4Wÿ¦deižŽ¾ð ØÁÊJ“L¨­U!.N·ÓªÅ‘]©wí½lËØZ¢±ëùúj:Ô¿ÿ~]¯ìèQÍ6mGVËÁÁ [·NÀˆŽX¾<›7§ë”k;é›7‡è¬ÙÐðOBÂŒ6©Wg‘HDX´¨ÄbNœ(Ð+·´”"4Ô3fôByyОL¡Vk…€ÒRÝßSíô…èè|œ=[¢—,v‚R©ÆáÃyHM-ÃÀ¶ÝnaÂÿgïÎ㢪ú?€†aöM”]Q4 Ü×\r7—¨ÌÜú%eYfæãããR–¶h–¥ùЂ¢ ¦•¹› ¨ˆ" ²( È" ²Ê>3¿?x¸:²Í ˨}Þ¯W¯äžsï=çÌå~ïYª¯»Gç[©vêTÍm»r¥jâÆ… ;ÀÁÁ¸ÁÕJˆˆžì¡@DD-ÆÜ\ׯ 5õŒ”~4×—ÅÅ2Ì{Ë–uF»v¦ÈÈ(Á—_^CRR!||¬TîK–\B«V lggcèéé !¡×¯¢¢Bެ¬R˜™U#oßÞ VV8r$©©EX¸°ƒp??[¬X²2LLôй³E]§lTÛ4¤uëªnê[¶\Ç;ïx ÇúòË8ܺU¤”W"£uk#œ>…¼ðB”•ÉpäH&Ö¯¿ÚäeÓD]ç{á…ÖØ¼97&ÀØXÇ·†žž§Neã?ÿ©š˜säH‡Ç“JuØ D`åÊäçW  =`üx'lÞœˆwßÄ¢EàçgkkäçW 9¹þ™;;I“¯’Ñs(ܸQˆU«b0uª+ºt±€B¡€\®Àõëøî»DÈå ẮMõr©ùùµÛرãNÊ /´A‡æÂðˆ[·Š°eËu$'A"£];åW|}m°ys"¶mKBi©L˜?¡Z·nV‹Eøî»D(Oör‘u>¼5¾ÿ>Ÿ~††:<Ø2™ý•Žo¿mxrÈ‚‚ª fõü.DDO ˆˆ¨Åôìiƒ?þHàA‡…mAA}áëk]gZ—.U7é=zX#%¥'žT:¦‘QÕŒÿê¸s§!!)ظ1¾FZ‡fÂR@ÕÓò>}l±ÕìýÕ=€ª€‚BQu#7t¨=ÄbÍo´ëk›†ŒãˆM›š‚ÐÐa»Tª‹¡CíkÌ2ÿÆîøÏb°dÉ%,YrIØ>y² BB’U.[õkÓÔêk‹Y³Üñã7°|ùe,_~Yi¿Ñ£0thÍùÀÀ@Œï¾ë‰Å‹/bÆ8äæ–á_ÿz..R¬\ÙË–EaÉ’¨Z÷;·ù–ÜlJr¹BèITõLÉ8|¸jÂ@‰D³f¹×¹¿X¬#§6¥¥U§úV-øè£NH”‡„øøT ®_/€H„ËAJ$bx{[ :ú>€§oBF jrÉiÓ\±cÇ-a’Ëj£G;à?ÒêÝ¿z{&ÑÓ†""j1K—vBe¥çÎÝE~~¹Ò8þúÒÀÌLÁÁý°jU ""îB.W {w+|ð7¼¼”Ÿˆ6díÚî MÁÑ£™¸u« …­[aĈ֘9Ó½Æz?¿ª€‚••Ò¹\\¤pp0BZZqËEªª¡ú×ÇÞ^‚_õÃÚµWqåJ.ttDÿk›ŽJ†jþþmQ\,ÃŽ·•UGGcÌœéŽ>}lk (4¦lš¨ï|K–tBûöføõ×›HL,€\¸¹I1i’³Òʵ‹Eøüs˜™éã§Ÿ’PPPÏ>ëŽ)SœÑ¾½)¶m»ˆˆ»¸¿ ––pq‘bÔ¨6;Ö©y+ÜD<ÏR]žêvŸïÕËzz:8x0f@__×®mžÂ=Zúݽ;Ei¾…1cjN(JDô¤c"""¢gPÏž6*wªz(|ó/ºt±øßÒ£ÐßÜÄblm 1v¬#>þ¸³¶‹CD¤6Ρ@Dôâ DDDô$áïgçP """"""¢Ç€©"""""""R DDDDDDD¤6ˆˆˆˆˆˆˆHm (‘ÚP """""""µ1 @DDDDDDDjc@ˆˆ4RV&ƒ»û^Ì›wNå}6nŒÇÞ½©j§=+4i³¢/¿¼†ví~ƒ»û^῾}âÚµ|mˆˆˆÁ€µ˜o¾©;hP_ýsìÞ‚M› /¾èˆ¹sÛÁËË ™™%˜=;%%2m‘ˆˆˆþ‡"""zblÜÿ¿ÿ?/¾ðÁûïwÄo¿ Dß¾¶ÈÊ*Epð--—ˆˆˆªéj»DDôlHJ*Ä™3Ù(/—£kWKøøX iÅ M…\®@jêlØ/¤õêeƒ³gsjM›0ÁööFØ´)nnRŒ퀸¸|œ;—¹ðñ±ÂsÏY¨UÎ’¶lI„³³cÇ:ÖHW(€Í›ajª‹3ܔҮ\ÉCTÔ}UÂÎÎýûÛÁÊÊ@H—ÉJeMJ*DxxrsË0¾gs©Z™Lðð$&@&“£m[SøùÙÀÀ@\#odä=$& ¨¨ÆèÑà 66†µ·¡ú´´„„¤¥ÃÛÛƵ¶‹Å"¼óNœ>#G21s¦»ÖÊHDDD1 @DDöý÷‰X·î*Š‡Û¦LqÆš5Ý%ذ!–V,ü¨ºY¬+Í××66†Ø°!C†Ø#>>›7'*{ìXG|öYwˆÅ"•Ê*‘ˆqìØܼYˆ!Cìal¬üUxölÖ¯¿Š¹sÛ ÛîÞ-ÃÂ…pölÎcÇÒÅòå1i’3 ²R.”õúõlÚ” ä5˺º˸nÝU•êrãF!æÏ?‡[·Š”òÚÙbãF_tëf ÈË+Ç믇#&&W)Ÿ‹uÄÌ™mÕ®O}öîMÅíÛÅ æ«æïï ýzóÄÇWÍ‘àëk]#­S'sH$b$$¨|N"""j^ (Q£\¾|ÇßAÿþ­àáa‚¬¬R8†]»R0z´#z÷¶AëÖxaãÆ8´ic„ Þ°>ÿ¼uimÚH„_ºtGf¢;xx˜"3³‡¥cß¾Ûpq‘bÁ‚ö*—yÊg,_?þHÃK/¹(¥…„$&O®*‡L¦ÀìÙg› côík 33}¤¤áèÑL|ôQÜÝMÑ¥ËÃÞQQUeíÛ×^^æ04COOŠÿE\T­KII%fÍ Gzz1Z·6BÿþvÐÓÓAXX6’’ 1{öYüõ×`ØÚ"00 11¹°³3Ä Aö03ÓCzz1""îââÅ{B@A“úÔfïÞT„‡çÔ›çQ£Fµi0 ] hÝÚ¨FšŽŽ­[!)©åårèësÔ&‘¶1 @DDrï^¾û®'† ±¶õík‹÷ß¿ˆ¿ÿ¾ó¿€‚ÚcÓ¦x89# @ùæ¿G«:ÓÊʪ&ỿ Ÿ}Ö&8 iÑÑî˜2å$þûßxóMO•{)Œë„O?½Š]»R” ùùå8|8Ï?o )àðá ÄÆæb̬[ç£tŽØØ\LšTuþ¯¿î¡Ô&ë×ûÔR¡n]~ÿ=ééÅèÖÍ?ý䉤jˆCe¥ï¼s¦cûö[xç/Ü¿_سg ììq(/—ãêÕ<áoMêS›ñãàãS³'A],-JQÝ>µ å JKe (=P "¢FéÐÁ\)˜´ðð‰sSpq‘*Ý€ÀsÏY`èP{<˜ë× Ð¾½™JÇ’Ju1bDkìÝ›ŠÄÄ´kg Ø·ï6ÊÊd˜2ÅEÈ– 02ÒÅæÍ‰B/…P(05ÕCl¬ò0W×ÚçgP·.—.ݼý¶—L]]-ꀃÓqñbUžaÃZcûö[ضí:¦Lq›› D¢ª›ð®]-UŸÚŒïÔ`uUª +/— k8QËb@ˆˆÅÞ^Rc›‘ÑÃ'éMÅÁ¡f7xpt4T¨u¼)Sœ±wo*BBR°ti'@HH LLô0bÄà ïß/ìÜ™¬ò±«{7ÔEÕºäçWÛÉ©æñ!UÍ~~¶Ø±£~ú) /½t ee2x{W)¦MsD¢«q}jÓs(ØÚVõ¬ÈȨy\¹\ŒŒb˜šê±wÑ‚""z*¤¥Õ~ózûö€©©žZÇëÑÃnn&Ø»7|Ð ˆ‹ËÇŒnJOÀÍ̪n‚gÌp…•Uí«%*ßà64ôBÕºTŸ;5µŽŽF5ò*€¹ùÛô=¬Ð£GÕêÙÙ¥ˆˆ¸‹O>‰ÅÁƒéî‘Fõ©MsÌ¡PÝÃäüù»5ÒbcóPR"C§Nê­êADDD͇""j1úú:ÂuuÒ 9¹{ö¤>6ï@.ŽÉ„©©<ìì 1uªk³œ—ˆˆˆÔÇ€µ˜™3ݱxñEìÛw[Øæëk ã:Óª ݺY¢m[|ÿ}"NžÌòŒëˆ7ßôÔ¨a‚:v4Çùó9Èϯ€B´i#i0­ÚûïwÄÈ‘mqr¹Ý»[¡K—ÆÝü¾õV{xzVÝñÅÚWf°°ÐÇ?ôBRR!"#ïáþýrXZêÃÅE +¡GA}mòxúèÑ*ÕÅÝÝAXX6 “)àæf‚~ýl•–Wœ3§üýÝpþü]ܺU@{{Côë×J˜$SÝúhË{ïuÄĉÎ ËAaa9œ¥0ÀNòADDDO‘¢z½(""zbdee¡¨¨H¥¼H`‡7’š¹TÚQV&CÇŽû1dˆ=6oî©íâý#=ë¿7þ©¤R)ììì4ÞŸ¡~""zflÞœ€òòúãäúú"Ì›§Ù """"zˆ""zf|ÿýuVÔ›ÇÄD"""¢&À€=Ñš—àQsçz¨ÔCˆˆˆˆ""z¢‰Å"´W)/{µm€ˆˆˆˆˆˆˆž> (‘ÚP """"""¤"++KÛèN®ì IDAT… ' DDDDDD¤‚õ8p –/_Žôôtm†ž (‘ >ÇêÕ«†ÁƒcÑ¢E¸yó¦¶ EZÄ€©@ãÇÇÁƒ±zõj\¾|/¼ð>þøcäååi»p¤ (‘Êtuu1qâD:tk×®ÅñãÇ1dÈìØ±r¹\ÛţĀi¤¢BŽéÓOã‹/®i»(DDD¤b±ãÆÃ±cÇðÊ+¯à?ÿùƇ¨¨(mZ DD¤¹\ˆˆ»HL,Pyÿ3X³&Ví4"""zrI$`ÿþý011ÁK/½„/¾ø2™LÛE£f¦«íÑ?GDÄ]ˆDê§Ñ“ÏÃÃAAAƪU«‰¯¾ú ¶¶¶Ú.5öP """""¢&3uêTüöÛoÈËËèQ£pòäIm‰š {(Q£Éd ìÚ•ŒÓ§³Q^.G×®–xõÕ¶J«¾f °bE4d2®\ÉÃôé§…}ýýÛâ—_’jM[¶¬3ÜÝMðê«aðñ±Â[oµÇöí·pî\är {wKøû·…‘‘X©<ÙÙ¥ IAbbŠŠ*àà` ??[ b¯õ^))„²Édr¸¹I1a‚3¼¼Ì„<r¡Îo¿íUoÛ=‰ÜÝÝŠeË–aöìÙX¼x1fÍš¥íbQã¯""j¹\ùóÏãøñLaÛßßÁáà í==V "â.  àá¿`Ĉ6u¦Ts5H¥z˜93 çÏ?L?~<{ö¤"8¸,,ô‰‰˜2å$ŠŠ*•ÊtS¦8cÍšn ÖiÍšX\¹¢úòWëÖuGëÖF æûë¯t¼ûn$**΀}òd~úé&–-ë 7x¤Îº ¶-Ñ“ÊÈÈëׯ‡··7>ùädeeaÉ’%i;ºOM†""j”S§²`n®Å‹½ááa‚¬¬R|ûm®^ÍÃé;Öžž¦ ê ÿ3ðò2ÃGuöwt4‚§§i­i>µ?uê¤R=|ðAGxx˜"3³[¶$")©«VÅ`ýz@pp2ŠŠ*1`@+Œçss}¤¥ãÌ™,*꟯ØhHIIÓNee•âý÷/¢¢BŽ#Ú`ĈÖÐÓÓÁÉ“w’‚•+cн»:tx´Î ·-Ñ“næÌ™°±±Á¢E‹ “ɰlÙ2m‰š DDÔ(ºº:ر£\]¥Â6ggc¼üò\ºtcÇ:ÂÄD¾¾Ö‰3³ª?ªuk£:ÓÊʪnÖ àçŸý”n¸_x¡ †=‚?ÿLÃÊ•]ad$†®nÕSuëºÃÜ\_È;uª *TªÓ’%TÎ[U~Iƒy~û-¥¥2Lžì‚O>é*l>¼5ìíðõ×qع3+V<'¤©Ò¶DDDOƒÑ£GCWWo¿ý6$ -Z¤í"Q`@ˆˆ¥S' ¥^ðö¶äæ–5Ùy¼¼Ì”‚ `a¡!Cìš‚7 й³¦MsÅÞ½©˜3ç,Æs‚··9<=Ma` †©©žÊçjjññù€©Sk¤M›æŠ¯¿ŽC\œò0‹–j[""¢–0bÄ|òÉ'X¼x1\]]1qâDm‰‰""j3³š7ézzU½äòI«+P}þ²²ª“¹ºJqôèPìߟ†ððlÛvÅðó³ÅxÃÝݤÁs5Ç Õå377¨µ"ÑÃ'ÑÓJGGŸ}öF 6`ñâÅÚ.iˆ""j1:˜ãܹ pmÚTMĸlYçÿÍP{š›[ÕmÛš 44ü‘)23K“S X´¨£pŽ“'ï`ÕªëÂÉÉúúbܼYˆÂ XXè ‡ú4Ç ¶BÏž68w./¾x..Rèéé )©rxx˜bÒ¤šó+=‹Zµj…… bÕªU˜}lQ\\‰¸¸|DGßGaa|}­ØIýÚ‹H|ÿ}O!h”Tˆøø|Èd Ö¿þêCC픈ˆH¦N WWWlذAÛE! ‰ŠúF¬‘6dee¡¨¨H¥¼H`‡7’š¹TÊär.\¸ }´kgZkš¥¥><<”Ód2nÜ(DAAär¼¼Ì„ kK30ÐAÇŽû1dˆ=6o 9®_/„\®@»v¦Ðׯ=6^\,CJJ ÀÞ^ ýZóiÕ¸y³ryÕ2.o hÞ¶DDDÍ¥¹~oüñÇxï½÷pøða8;«×Sïõ×_‡››>þøã&-SsÈÎÎÆñãÇqòäIäççãÅ_ÄÔ©SkÍûÖ[oáþýû‹ÅøþûïadTsâ第,,\¸àáá+VhT.©T ;;;ö8䈈4¤£#‚¯¯µÚib±¨Î9 jK++SžðPOO§Æò‘µ127ËÐ…¦`l¬‹N,êL×´m‰ˆˆž6/¼ð>ÿüsìÚµ ï¿ÿ¾Zû^¸p¥¥¥ÍT²¦³zõjâÑgù]»v­3TT²²²À¤I“jäÙ½{7"""eeÚ[JšCˆˆˆˆˆˆH+Äb1^|ñEìß¿r5×DÞ¶m–-[ÖL%k:ÙÙÙ°±±ÁK/½„×^{M¥}LLLжm[„††ÖHS( E·nÝš¸¤êc@ˆˆˆˆˆˆ´fäÈ‘ÈÌÌDBB‚ZûõèÑ^^^ÍTª¦³téR„……aõêÕðññQy¿I“&!22ÉÉÉJÛ#""ššZkÏ…–Æ!DDôDÓÓÓAPPß'j"""j:íÛ·‡……Î;///dgg#$$‰‰‰(**‚ƒƒüüü0dȈD—–~|…uëÖáÒ¥KužgÖ¬YBCC…¢¢"ØÙÙaøðá4hP“ÖÏÖV³e¡ÇuëÖ!44‹-¶ïÚµ fff6l>ú裦*¦FP "¢'ç ""z¶‰D"tíÚ±±±HLLÄ”)SjLN„)S¦`Íš5¶ÇçPHHHæ¨ÍË/¿,ü;** sæÌAnn®RžÝ»wcòäÉøä“O„mkÖ¬Á•+WT®Ïºuëкuk•ó×ÅÚÚýû÷ÇÞ½{±páBˆÅbáСC˜8q"ôõµÿ°…""""""Ò*DFF"88EEE0`Æsss¤¥¥áÌ™3(,,¬÷‹-Âo¼¡´­¼¼K—.ÅðáÃ1räH@QQæÍ›‡¼¼<Œ7 €™™RSSˆôêÕ /¾ø" >>¾Þ@ÅãJJJÔ¬}Ý&OžŒãÇãÌ™3èß¿?~ÿýw”––bòäÉMvŽÆ`@ˆˆˆˆˆˆ´ªM›6Ø¿¿0ÇÀºuë`nn.¤O:õÃÓÓSéïÊÊJÌŸ?ÄÒ¥K…í¿ýöîÝ»‡E‹aÞ¼yJûŒ9ýû÷Çž={„€Â’%K<÷£š¢wBµAƒÁÊÊ !!!èß¿?BBBо}{x{{£¸¸¸ÉΣ)ˆˆˆˆˆˆH«ŒñàÁL›6 {÷îÅœ9s0nÜ8x{{ÃÓÓ05­}ÙéÚÈd2¼ýöÛ°¶¶Æ¿ÿýo¥´Ë—/Ž9‚ððpa9G…B!ü;))Iȯ͉Åb1ÆŽ‹_~ùˆ‰‰Q Žh DDDDDD¤Uúúú¨¨¨€««+Ž=Šýû÷#<<Û¶mCFFüüüðÁÀÝݽÁcÉår¼÷Þ{044ÄêÕ«•&r <ÙŽŽ®·<Õ´5‡BµÉ“'cÛ¶mxçw ««‹qãÆ5Ù±‹""""""Òª‚‚˜™™ÌÌÌàïï@vv6æÍ›‡W^y'Nœ€AÇQ(øðÃ!“ɰ~ýzèèèÔÈcooX±bE ]݇·ÊÚœC<<<йsgÄÄÄ`øðá°°°hÒã7 DDDDDD¤Uùùù033C`` Ú·ož={ iJ¥ÈÎÎFrrr¹ª) ,[¶ ùùùØ´iÄbq­ù†ŽŸ~ú ûöíúuëàää$¤Éd29r2™LئÍ9ª}õÕWÈÌÌ„³³s“»1P """"""­ÊÌÌ„ Nž<‰U«VÁØØNNNÐ××ÇÍ›7QXX ¥›ÿÇ­Zµ ÁÁÁèÚµ+^yå•é³fÍÂàÁƒñüóÏcòäÉ Á Aƒàèèkkk -- eee˜;w.F ñs(œ8q[¶lÜ¿°ÿ~DEE† †×^{­Þc899Õ[wma@ˆˆ4RVY†Žë:bˆÇlž¸YÛÅi·#°õüVD¥G¡´²ž6žx¹ÛËÓa Ä:µ?å€Ð˜P|xàCÀ“~À ÷ABÚ³ØNDDDM-::}úôAïÞ½!—Ëޏ¸8!Ý××}ô$IÇØ³g7ê=z´ðïÕ«WÃÃÃ[·nÅíÛ·qûöm€žžFŽ©”·±rrrj ™ÈÌÌDff& ]»vMv®–Æ€€-ç·`퉵JÛ.g\ÆåŒËp0w€ƒO­ûÝ/¾OO| ‰ž%M;f’ˆˆèŸ ´´ׯ_Çܹsѯ_?ôë×ÅÅÅHIIB¡€½½}­ólÛ¶ R©Tø{Ë–-JCçêê*ü[GG¯¿þ:fΜ‰””Ü¿–––hÓ¦ ôôôš´~ @PPPévvvJóÍ7õÖ£š‚‚‚”Ú ¥1 @DDÿxaÉaX{b-Ä"1ú`‚÷X[ãÆÝŒ „®NÝ_—«Ž­‚¥‘%z:õÄö¨í-Xj""¢gÃéÓ§!—ËñüóÏ ÛŒŒŒjУG¥¿}|jþ×G$ÁÅÅ...jï«*[[[ØÚÚªœ¿k×®*å‹ÅðõõÕ´XM‚""úÇûâ䀥C–â•îÇ\zÙyaí¨µuí†3·Îà÷k¿cûôí8”p¨ÙËIDDô,Ú¿?|}}Õºé¦'CÍ54ˆˆˆÔ”–Ÿ†ù{æ£ë—]Ñy}g¼¾ëuÄeÅÕÈwâÆ ¼ü znì ïuÞ¾e8V]…¬¢,-”ºJfA&¢3£aed…Ýf¨¼_ie)>>ø1¦u™†Ž=Þá1ù¥ùðßáϵžØ½Síý‰ˆˆžyyy8qâÆŒ£í¢ØCˆˆ%¿4/ýò’RPàÔÍSˆ¼‰/ï„—]UwÅ7N`vèl¥}“î%!é^îÞÁ7ã¿ið\¯¿‚ðäp•Ëvhö!´µj[ož«YW½]z#.+«­FLf ŒõÑÓ©'Þîûv­ÇøúôרUàƒ¨\žj)¹)˜:wÜÅ_ú/z»ôVûDDDÏ‚­[·B"‘+*ÐÓ…""j” ·/ Kë.øv·hgÓøòÔ—8˜p+ެ@ðËÁ€£×Þí÷.&wž s‰9ÒòÓ–†”Ü­•ÿ~qÕòM2¹ Ó‚¦ +–U–á@üœ¼yÁ3‚…ÀÄeÅa[Ä6|;ñ[H Ô›)âvÞÜó&L Lê 7+·¦« ÑS$77¿üò ,Xcccm‡4À€5Š‘ž¾Ÿô=¬Œ¬m­Ú⫱_aÔ£™‰»îÂÚØ­LZÆv © ÀÕÒ®–®uûq?Oý¹ÉË/WÈ%ü…^ν°dà¸Z¹"57Ÿžø§nžÂªc«4=HÈ¿ôàR ó†ÁîƒÕ:×îØÝøøàÇèÒº ¾›ðÌ%æM^""¢§Åš5k`llŒ3TrHOˆˆ¨Q:Øu‚ ÕtutÑ˹’î%!%7ÖÆÖ˜Ùc&"nG`Ô¶QèïÖÞ­¼áÝÊ>>Ð7íòLê010êbÓøMÂßílÚaÓøMèûm_\¸}%%èIðóÅŸ‘’›‚&ý ÖyÎ¥žÃÑëGñ¼ãóøiêOZ­3‘¶?~{÷îÅ·ß~ ‰D¢íâ†P "¢f%‰R)~™ö sq>õ<â³ãŠûÅ÷ñïaÿÆ(¯†ÇN6Ç Õ=$Í…`B5‰žÎæÎˆÎŒFnI.$z„D‡ ¿4=7ö¬õxsBç~šúú¸ô¶{Úx¢¤¢Ó.â@üŒí8Våz=K²³³±téRŒ?Æ Óvq¨P "¢F¹–u ÷Šï)õR¨”WâlÊY€“¹“Rþv6íÐΦð÷ÿíý?,úcü\ý`fhÖ2…~„§­'Ì%æ¸w…e…JA…’Фä¥@¬#†…ÄÀÃ!ê²XàÇÉ?bvèl,úcòJòðªÏ«MR""¢§EII æÎ SSSüë_ÿÒvq¨‘P "¢F)®(ÆÜйX6d™Ò¤ŒI÷’àãàkckÀ’KÐÊ´»†³…3ôÄzHÈIÀõ»×Q!«@VaVƒ…æ˜CA,cRçIØz~+þoïÿá£AÁÅÒE˜C!¯$~®~èUuÇüë¿j=Ϊ£«ˆ&ý€AîƒjÍ#5"ð¥@,ømV]‰üÒ|ø4yˆˆˆ´¥  R©:::5Òd2-Z„´´4ìÞ½&&&µž& (Q£ôpì”ÜLüy¢Òv#=#,º\øûNá„Ä„`ã™5ŽÑÁ®Ü­Ý›½¬uy«÷[8uó“Ã1zÛh¥4s‰9þ5¤éž è້ßañŸ‹±áÌä–äâ_Cþ% !""zZ•••aöìÙ˜ês¼êó*~¹ø ý±2…¬IÏADDÔ’är9-Z„‹/bíÚµ(..Ò***€'N`ëÖ­èÑ£‡KJMI¤P(Ú.)ËÊÊBQQ‘Jy" À7n$5s©ˆˆˆèŸª¡ßŸ~ú)¶mÛ¹\]]]Ì™3ï¾û.îÞ½‹·Þz غu+ºwïÞÂ%§úH¥RØÙÙi¼?‡<‘Ævî܉­[· WVVbË–-èÞ½;–/_ìܹíÚµ«ç(ô4â""""""ÒÈÉ“'±lÙ²Û ¾úê+8;;cÏž= &<£ØCˆˆˆˆˆˆÔvõêU¼ù曨m}ee%bcc±}ûv˜››k¡tÔØCˆˆˆˆˆˆÔ’••…Y³f¡²²²Ö€ˆÅb¬X±r¹¼…KG-…""""""RYQQ^}õUäååA&«{•"™L†ÄÄDìß¿¿KG-‰""""""RIEEfÏžäädTVV6˜_¡PàÓO?EIII ”ŽZ DDDDDD¤>üðC\ºt©Ö`‚H$‚žžD"@__žžž‡B¥¬ÎlÀ!¸žs›Â7 yg=? ù¥ùX¸!ΦœU:ŽDO‚åC—cRçI¶œ¢¼÷Ç{OWÊk¬oŒµ£ÖÂÚØZ"¤å§)||ë (ì½²·ón7Ôÿîþ°X¨œŸˆˆˆèiÄ€iäAùÌÝ=9E9pµt…Ÿ«drNÞ<‰%–¨u¬¨ô(½~}]ûÂËÎ †º†Ðé`vèlÄfÆÂÁÌ}ÝúÂÌÐ )¹)8zý(>úë#¸[»£Kë.¨”Wâõ×—c}c r{S{¤ç§#,9 ײ®aj—©ð ÀưhcÚ:MÎ߯¬M½åÛ{eo@E}Fyb@ˆˆˆžy (‘FþˆûÙEÙèëÚ?LúAžPRQÿþ¸_|_åcÝ+¾‡õcÖclDZ¶¿âÿBlf,Ætƒu£×A¬ópÝëØÌXLúyþ{á¿øzì×ø3îOÄeÅÁÃÚ¿NÿUi8ăòHÍKEkÓÖð À¦ðMp²pB€_€Êåï=>>*ç·4²T9/ÑÓŠ""ÒÈ¥´K€~ „`P5áÿzÿf‡ÎVùX®–®JÁÂ…FzFØ|n3 @¡P@L M› 8—r°xàâs+ëÃËÖKÍÚ){–˜$"""zÒ0 @DDÉ/Í€Zçp4wTëX.–.5¶U÷pؽ³ÁýóJónVnjWUœCˆˆˆ¨&ˆˆH#f†fª&8´•Ú*¥©só b‘¸Æ63IÕñgt+ãÚWt0Ô5˜šnÞ» 's'µÎ­ Ρ@DDDT DD¤‘nݰ;v76žÙXc…GWkÐT/§^‰L!Ã[}Þ‚ŽHG)=§(™…™Uy{!$&Ÿÿý9žkýœÒÍ|õ ÕÃôÅúÈ+ÉS«,œCˆˆˆ¨&ˆˆH#£½FãëÓ_ãô­ÓùãHø¹úA®ã錄QRQÒèãê0 ‘¾ŒÓ·N£·KoXY¡ ´É¹ÉˆHÀ¬çg¡³}gŒô‰Îÿ€øìx Ü<ƒÜ¡•I+dägàLòLï:](¸XºàZÖ5¼÷û{p4w„ŽH:M¨wÙÈæšCájÖU»~ pýîu@dZ¤°¤egûÎÐv@³œ›ˆˆˆ¨±P ""ëãû‰ßcÎî9¸uÿnÝ¿°6¶ÆšÖ`Þîy:¾X$ÆS~Äâ?ãøã‰QJ·“Ú¡³}g€®Ž.¶MÙ†wö½ƒˆÛØu¿Oj E»Âß3}fbñÅØwuŸ°Í×É·Þ€Bs¹zçª<¨v1í".¦]¼Üíeˆˆˆè‰Å€i¬“}'sÇ®CFAìLì0Äc ü„þjoö~Si¾]±.üêœLÑBb&ý€¤{IˆL‹Äýâû°4²„‹… ||”–’´•ÚbûŒíˆÍŒETFJ*Jàdî„Þ.½…ù`B§ èØª#ΧžG~I>P Y›&nÕtlÕ±Þå+o?"""¢'‰HQ½=1²²²PTT¤RÞ¤°ÃIÍ\*"""ú§âïg“T*…Æûë4œ…ˆˆˆˆˆˆˆH DDDDDDD¤6ˆˆˆˆˆˆˆHm (‘ÚP """""""µ1 @DDDDDDDjc@ˆˆˆˆˆˆˆÔÆ€©"""""""R DDDDDDD¤6ˆˆˆˆˆˆˆHm (Q£ÄgÇcÙ¡exmçk˜4QéQˆÎˆyO°Â IDATÆô é8˜pP)ïë»^Ǫ£«´TÒ§WÒ½$üûð¿ñú®×…6¦¦WZY ÿþص½ÅÎY×{BÓ×¼±uÈ.ÊFðå`Ìß3Óƒ¦#ør°FçTçsáY÷hûTÈ*0=h:¾8õ…VËô¤”ãqqÙqøúÌ×õæiÌ÷È“Zo¢§™®¶ @DDO¯wo`\à8TÊ+…m¹%¹ÐÕÑEÄí m7T)ÿ…ÛPZQÚÒÅ|ª¥ä¦`̶1(—• ÛrKrµX¢¦á¿Ã^¶^øhðGÚ.Š <9gSÎbNÏ9-vÎÚÞu½æª´Ycê°úØjFB¡PÛº¶éÚà~ŸSÝÏ…¦ÔÒוº¯‰\!GÄ혚¶HùêÒ\åhlû”àzÎõzó4æ{äIi¢g  DD¤±ÐØPTÊ+ñšÏkÐvôÄzð´ñM‚³…³–Køô ‰ A¹¬¼Ö6~šEÜŽ€H$Òv1”»~ FzFèéÔ³ÅιmÊ6H ¤JÛêzÍçï™ß`›5¦ÙEÙ°1¶ÁÀ¶!Ñ“ 02P¥ý?§6?ZúºRå|¶\!o¡’i‡¦íŸœ›Œ=±{páö$ÝK‡>„¯“/Fy‚¾X_)omï"ÒˆˆHciyi€…ýÂXßX)Í×ÉWEzæÔׯÔt N$@?·~ÐëµØy{8ö¨±MÓ×¼±uX:x)lŒm ‰p0á J…ÚÎÉÏ…‡oŸ²Ê2m鉂e—)õh EhL(6…mÂѹG•ò×öž!"ía@ˆˆÔ™‰/N~Ä»‰€7BÞ€5ŸJ½âó FxŽhðxù¥ù ETzŠÊ‹`'µÃpÏáä>HÈS!«À«Á¯ÂÇÑoû½]Ñ»púÖi”ËÊѵMW¼ÚýÕO­drþ¾ù7ÎÜ:ƒÔÜTˆuÄhgÓ;M„«¥k­Ç^Ðg‚¢‚p.åtD:â1:MPõ÷ç‹?#>;R})&?7}\úhTŸ†ÔÕÆ­ÍZcÝèuB¾”܄Ą 1'2¹ nVn˜à=^v^µÖ/À/;/ïÄÙ”³È-ÉÅæ‰›17tn“Ô]•öNÈIÀŠÃ+ “ËpåÎLš.ì¿lè2xÙzA®Ü¹‚ì¢l¥×(»([hÛ¢²"8˜;ÀÏÅC<†Oaßûý=Àú1ë…ý J 0Ï|( |5ö+ØJm…´%-Áƒ²Ø0n€ªñàn–nøxÈÇu¾æ…e…010i°Í­CIE æîž‹¶Vm±|èòõ-­,żÝóàbá‚û7(•S“vkÌç‚*×q}T½®T}o6ôÚ«z¾Ú®«jå²rlÚŽs)ç WÈÑÝ¡;ü»ûÃHÏHÈ“U”……ûb˜ç0¼æóšÒþÕi/´þÝý•ÒòKó±÷Ê^\J»„²B8Y8a¨ÇPø¹úÕÛŽ …›Â7!<9ã¼ÇaÊsSTj7Mß×e•eXyd%d ft;;œºy ã¼Ç!2-g“ÏÖØçÑ÷Ì£Ô½†Tiu¿wÔ}½šú»‡HP ""µåç"âv„ð÷…ÛjͧÊXé¨ô(Ì Sc^€Ý±»1ù¹Éøä…O<û*5bþžù8~ã¸÷錄q8á0B_ Uz2;}ût\L»¨tÜã7Žc[Ä6|3þáÇð£Ç~#ä „%‡ ù'Æ­û·0Î{flŸ»î iÆÿ‰'ÿˆ~nýÔ®OCêjc·b7aÛ_ñáÝßßE…¬BØvòæIüù– Y&üh}´~3wÎÄÙ”‡?ÒËeåMVwUÚ»°¬P¨WAiR J êm“5ÇÖàÊ+õæyÔº1ëÐÚ´µJyÝ8‘´HÌIÄ”_§ ¨¬H)_Ð¥ Lyn Ö¼° ¯«è|8ðCØHmá)á8ŸzpæÖᦠ¯$»cvct‡ÑÂñ®Êûª¾6{´= t t)³}g×h‡C ‡pæÖ¡¾šzôœÓ.jô¹ êu\U®+Uß›ª¼öª^Ç_WÕä 9fîœ)\'@Õ{eOì¿ ‰ ´¢·#ÐΦ]:W§u°ë ´ýbÚEÌß3÷‹ï?Üx«ªüüoø¾QK VÝÜðç8 ú,‚ ª´›¦ïë;…wP\QŒ1Æ`Åð8Ÿzײ®aj—©˜Úe*òJòjìSÛ ê^Cª¶¿ºß;ê¾^MùÝC¤- (‘Ú|}4=_œúÓ."ð¥@¥ùèŒh|ö÷g §¨¬óvÏC^iÆyÀ¶`fh†Ô¼T^DHtz9õ‹_ö9uóÌ%æX.}‚°ä0Œó *ˆ`#µT_аä0! p6å,ä 9ü\jJ\×k^!«€žX¯Á6{¼S:OÁ‰'°;f7ø-P:×®è]Ðëc\Çq*·QCí¦Éç‚&×qmº®ÔyoªòÚ«z?þšT«~/~0àxX{ ³0[ÎoAÒ½$¬:ºJ©Ç‹:òJò0w÷\ä•äá9ûç0ù¹É°7µGz~:'Vºvu÷Á]Ì ‹øœx|ùâ—íUôRµÝºÔè}ÝÆ¬ u ë :˜K̬sc> Umu¾w4ÑŸ¿DÚ€©ÍBb_'_á)NÇ0Ð5ÒU'üÛÕßp¯øõ_„y½æ)¥l?ý¿í=Wö(Ý€ëêèbÇŒJCœÍñòŽ—q)ý’Ò» éA8Ÿz'ožÄ¡„C(—•C¡PÀ@×éùé¸Sx­LZ){çË;áhîèïÖ%%ØpftD:~9º:U_ÝâÚkˆ½‹Jy%tut5ªO]jãß®ü†ÒÊÒ½†{‡½‰=¾>ó5vFïÄŠa+„4øeê/J]€«_«ÆÖ]ööuò…H$‚™ÄL­1õK.AAYý½¥jï„;…w—‡÷¼/l«®ÓºÑë”nj¦v™ªtóÓÇ¥D"Nß:­PðsñƒÔ@Šq P(„<Ðǵö®Ê ½æõµYmuä16RìŽÝ·ú¼% ÓHÍKEÄíŒl?R¥¶º<~NM>4¹Žkcb`Rïuõë¥_U~oªòÚ7t¾ÚÚçQ (ðóÔŸ•nr_hÿ†þ0Æý‰•#V*u½WÕÞ+{‘W’‡aí†áÛ ß*¥Mï:½Ö€BBNf‡ÌFYe‚¦¡Kë.Bš:Ÿiš¼¯uut±lè2,;¸ S~™KÜ+¾‡ôüt´1k£Ò14ý,T§ýÕùÞÑDS|þi ¯@""Қ˗G <%\X®N…ðï¤{IJût²ï¤ô£¼[y¨ê2^M¦aáþ…ÂM\m Ë • ì; ?誵·m êÇéã?ܼ켬Â,´1k£Q}4Ÿ˜úÜÔiÓºNÃ×g¾F\Vœr]lÚ×9ž¸±uפ½Õ¥êxzu»~ 0Ø}°°mZ×iØ{e/æ„ÎÁ8ïqðnå OOè(-9g!±@Û8së  RòR–Ÿ†…ýÂÄÀ¿\üñ9ñð²õBXrÜ­Ýa'µk‘:ˆEbLðž€ïÏ}°ä0aüü®è]P(B—ö¦<§ºÔ½Žÿ¹·ón+åûlôgp0s¨÷<ê¼7U}íR_ûxÙzÕèua!±À! Å»7ÐÙ¾³ÊçªV=$¨®a &&J'ä$`Ê/S`oj3vÔ¸‰o‰Ï´—ž{ [uÆž+{–†ÄœDôÿ®?ÚZµÅ¿Bo‰ºhòY¨nû«ú½£©Æ~þi DD¤5ÅåÅ€èÌè:óèë*/ffhV#Ou·êG—dûýêï8}ë4œ-œñr·—álá #=#ˆD"ü|ñgJ8$ü ®ïØÕ?äêK«ž\“úhªúiomO˜Í Í ‰j<®ïf¾±uפ½ÕÕ\s(»q ŽæŽp·v¶¹ZºâèÜ£Øu?“ñ-b2 2àçê‡| ”·¯[_l>»ñ9ñ¸˜v"‘~®~0Ô5„®Ž.Nß< qU/Ç'jk*µÕ¦<7?œÿ!1!ðsõƒL.ÞØ=p0s@oçÞÍrNu¨{ÇdÆàúÝëJùªßwõQ罩Îk_ŸúÚ§®ÀDõ{M•^^2¹¬Æ¶Òʪ¹ª{‰4DO¬±Ž¥xPþ FzK}¦yÙya©ÝRœO=ÀÈ@,è³ßý ÷/„DORoÐJ“ÏBuÛ_ÕïúÔözÕw|u>‰´‰""Ò{S{ÀŠa+êü‘®iwÎêÀߌÿ¦ÆÞ/O}©Ñ1Òœõy\õŒü1™1p¶pVJ‹½ …B;å'ᚬ¯*µÛ[µ Í1‡BIE Î¥œÃŒn3j¤™šÁ¿»¿0¡[vQ6æíž‡W‚_Á‰y'„îü~.~Ø|v3NÝ<…¨ô(´·i+#+@×6]–‰ž73{mV_œ-œÑáŽ$A^I.¥_BvQ6ÞéûN£®‡úΩu¯ãµ£ÖÖx]•žìÖÑFê¾7U}í5yM€ª‰«çÆPªsf,u®¾ñUš`±úÿ[MC©ž&UõŒ¼Yã‰zmÜ,ݰqÜF¼¶ó5L š†­“·¢k›®§îgšïëljEbt°ë€õcÖãPÂ!ìÝ[o@A“ÏBUÛ_]ê¾^DÏm€ˆˆþ¹†{컺ö¦öðuòþóqôAnI.îÞÑèØÕO«.¥]¶UÊ+±áÌD¦E6¾ðµhÎú<®z2®Ïÿþ 9 Âöôüt,?´\)OKP·½ Œ‘–Ÿ¦òÓ= j… éA*ÿ§Jï„ê%àŸ 302çRÎ)m³X@j EvQ6’s“…íݺC¢'ÁßIã\ê9¥v÷sõCdZ$Ž^? ]]ôtî©r}WW›ÕU‡j/uy å²r컺!1!Ðé`RçI—C•sªJÝ븳}g¥÷•¯“¯¬ên#uÞ›ê¼öš¾&wÜÅÊ£+Q.+Puþß ÿEÄí8™;ÁÉÜIé¼'ý­4´ é^ÖžX[ã¸C<†Öþ½gnQJ‹JÂÿ·wçaUÖùÿÇ_G@8x”EQPPQÑLÜRË­rÜRËÊi³~£ÙL3mS~5§±¾6¶Y:e¦åne»iZæ’"F¸ä*«ˆ(²É"œs~xq¾žXÏñù¸®®ËîÏ}î÷ý97zî÷ý¹7ÛTf›ðáZsÏ5uoª{Wßk·£§9úsšªw~zÇî ¥ã±nÿ:Y¬ÛUÄ™¿ «;þŽrôóîPÔ™ÞÁ½5¡û­‹[§!‹†(Ø;X~Mü”S˜£”ì•鑾hdÄH‡ûÔnî\¨Y›fiIôùxú(!3A9E9êÐE‡Ò]SÇó{ƒÛVß¶}µ;q·Æ,£Ÿ¹¹¸éø¹ã*6«ƒ_‡+¾ht„£ãÝ9 ³v'îÖ w©µWkd¨ô}õRíÌ¡°5~«šº7U¯à^vË·ߦ¹ßÍU“ÆMÔÆ»»6Ö‰s'”[”+£Ý‡›‹›z÷Ö¶Û$É6Wtéî…?.Ð΄êÜÛîâ×QYEÇPjxøpÍÙ+“¿’³’›«ãçŽËbµhD§Õ¹ò ¹*Ò½Uwͺu–ŒnF%e%)îTœ ƒ^ñòý–¸*µu<¿g0´øŽÅ—¾([/ýìÈ™#2[̺­ãmúhòG¶WL^ ŽŽ÷ßý]-L-t*ç”ö&ïUtrt¥ï«¯ «Eßǯ›ÛÝ\æQ”©½¦ªHåçëð™ÃŠ;§Ü¢\õiÓGÜõA™` 4D0ºÕ3¨§myd`¤íî˃g”7fYYC)wWwî`ºšº7Õ™¼3Š;§Œ¼ EEÙî8(¿É_+ï^©®-»jæg3µú—Õ[UãäÌ¥G–.ÓDw¦˜®À¦JÊJÒ¡ôCÊ*ÈÒ¹üsjëÓV Æ,Ð:ý¡Âš%çÎ!GÆßQŽ~^ÀµÎ`½Ò5.==]yyyÕZ÷ë¯Mš1#@ññ5óöGË8¦óçÕ+¸—þ/£Î*ÈÒÑŒ£jëÓÖî7¡{“÷Êän*÷·Ð¥3ägægÊ×ÓW­›µ¶{¾Õbµhoò^ù}Ô±EG»mKÛ|=}ÕÁ¯ƒ][AqNfž”A…ù…ÉÍÅMIYIJËIS·Àn2º+í»ôXB|CÊÌΟp>Aé¹éêÞª{™/¬UOuU4Æ—»pñ‚Nœ;!‹,jëݶÌädÕ»š:öêŒw)³Õ¬ø³ñÊ)Ì‘ÅjQ„„C³è_©ØÔXMøp‚þ3ú?¾Ê3¿8_‰çeµZØ,°ÂÉî² ³uäÌyºy*20Ò®í×ô_•[”«Ž-:–Ù¾¼Ÿ‰Ê>óßYaI¡Xû@¥Ç ]z¦»t2ÞA=˽Ð=“wF'3OVØG@Ó…ø„T9nŽþ½Pªªó¸ºª:¯ªû³YÝÏÞ‘Ïä÷?oÅæbývö7Y¬ulÑQ]*žà0%;EgòÎ(È+Hþ&–*îTœZ6mYfî€Ëë*,)T°W°|=}+¬ãrÅÚŸ¶_ƒA=ƒzÊÅàâиU4þGÎQva¶:t.ó¶ éÒ9úÍ‘o´ñèF-³@~MüʬcµZÕé•NêÒOLú L»£V5þÎþ»#Uïóª{jS]~ß@í1™L pþíC P]+p-›¿m¾ÞÝó®¢gD—;“úµ .Ž¡!Œ[mb|œ·+a—VÆ®Ô[ãß*·ýPú!]:V㺎ÓüQó¯ruàûFÃt¥s(p•=´þ!](*ûжË5qo¢wï|÷*Ut}Ýy´níxë5}ÑWÇÐÆ­61>Ϋè.¬¬‚,=´þ!9sD’®ø•§jWYLrŒÝsÄå)ï–`Ô¬Ò‰á®euq aÜjãã¼ÎõøÀÇË,/6Û&ßu¼Æv{µKP®²Ø'b뺨wšy4+w•¦Š:¾*PÞòF F F F F F F F Êˆ|5R“WL®ë2@=F Àu*ü•pÝ»úÞº.\£\ëºPÿøÛº.ÔsÜ¡F pšÅjÑ»{ÞÕ°ÅÃñ¿¼h°ÞÛóžR²S6/Lÿ³élë•)l^˜¦}œd·ßOü¨˜ä­¹g""œê³¼cY»J/lzAV«Õ¶<%;EK¢—hWÂ.­²VF7£Sµ9:NåÖxYðਜÂMúh’’³’mËv%ìÒ”ÕS´ùáÍò1úØ–;s~€kÀ)q§â´*v•Lî&=?ìy ªK‰6Û¤—¶¼Táv{“÷ªGëZøÇ…êäßI®:”~HïíyO®zjðS>\n.nÚvb›^üîE}ñë1RÃ: sºÞ½É{uC«ôößVÇu*ç”ü¸@nÔìͳµúžÕNõùûcIÎJÖìͳÕ̽™žü´µ$/£—’Î'éõ¯ë›#ßhYÌ2Më7ÍáÚœ§òj”¤ø§ãþJ¸ú´é£åw-¯ö1G'G«wpo½>öuuðë ô¼t½ðí Ú•°KŸúL÷GÝ/Éùó\;xäà”o}+Iúû ¿ëŽÈ;ämô–_?Mî1Yÿ¯ÿÿ«p;O7O-¾c±nhuƒíâö›#ßH’þÒÿ/šÒsŠZ˜ZÈÛè­±]ÆjÖ­³$I_þêŠêõtóÔâ;«{«î2ºÕ¾y{½6ö5µoÞ^1)1:{á¬s}þîX6Ü K‰æŸ« Ý'¨…©…»4V˜_˜^óšZ˜Zhó±ÍNÕæÌ8•Wã•ð1úè¿wþWÝ»ÉèfTˆOˆžö¼$éÈ™#¶õœ=?Àµƒ@à”¤óI’¤¡Ë´•·¬Tç€Îòõôµ[–™ I6¤Ìú¥ËÏ':[ªm¿Í=›Û-smäª~mû9ÝyÇòÛÙß$I3?Ÿ©ðWÂÕñåŽêørGux¹ƒÂ_ WF^†ÒrÓœªÍ™q*¯Æ+Ñ¥e™ÜMvË‚½ƒ%Én~gÏpíà‘À1ÈPfÙåsüž·Ñ»â¾ eûú½F†KY¸Ue÷QXRXåöW²ïß+ïXJç'0[ÌnwÑ|Ñ¡ýü¾6Gj­l¼QÞ]啵Uv~€kÀ)m|ÚHº4yàÝ7Þm×¶3a§C}…ø†H’¾ÿ^ü:صýpüIR[Ÿ¶’$¿&~’d7)`©Ÿªp¿¦ÿªsùçìî(±”ضiãÝÆ¡š+Ò¾y{IÒ²»–©HÿjmSÝÚ§ê0È sIµ×wDMž ~â‘€Sn¿]’4Û|m8¸AYYÊÌÏÔê_Vká®…õõ‡N$½¹óM­ˆ]¡³Î*»0[_üú…íÕ‚#:$ÝŒjÕ¬•¶ŸÜ®uû×)¯(OçòÏiõ/«õê¶W+ÜG~q¾YÿˆâNÅ© ¸@ÇÏ×ÌÏfêø¹ãŠ Š²Wj|äx¹\ô×Ïÿªuqë”–“¦bs±Î^8«˜”ÍÞ<[‹~ZäTmŽŒSux½õÛÙß””•tEo~(OMž ~â€Sºv×Äîµ6n­žüòI»¶‘#õÕá¯äæâV­¾ºtѽВè%šõí,Íúv–]û¨ˆQºµã­¶ÿ°Ïƒš³yŽžùú=óõ3¶åºOк¸uåî£Wp/%žOÔËï°[îéæi›Ð°&„ø„èÅá/êùoŸ×3ßÚ÷‘Ž=&‹Õ¢vÍÛéÎÈ;5¥ç»u§Ü8Eùóµê—UJÏMW°w°¦öšªþ!ý+ ¼<¼´úžÕšûÝ\E'GËb±¨gPOýcð?áqEãð{»OT'ÿNz?ú}E'G+3?S¾ž¾ ñ ÑȈ‘Ûe¬Óµ92NUynès*±”hwÒnef×øÜ5y~€úÇ`ef$¨wÒÓÓ•——WõŠ’¾þÚ¤3¼–«ª¾9›çhù¾åZ8~¡íÖ÷ºRTR¤.ó»hX‡aZtÇ¢ª7¸Šêsmµ©>€ê©ß7påL&“œÞž;N[·V™ù™ºµã­jíÕZgòÎ蓟hEì 5iÜDÛñzÀëç Ài9…9š¿m¾æo›_¦í¹¡ÏÉÓͳªr^=”[”[é:MÝ›*ö‰Ø«Tѵ­¡›ðš;IDATÀÀi“n˜¤œ¢mùm‹’²’äÒÈEý;ëÁ>jHت;@ƒÆù@ÃÆ P]ës(€†…ï ӕΡШk× à0à0à0à0à0à0׺.pízç§wäoòבwÔu)õª–Úr(ýbScUX\¨pÿpÝÔö&¹4r©t›Ó¹§µ6n­$itçÑ õ µµ™­f-ܹPíš·Ó¨ˆQµZ;hxN{{×ÛŠlY/.âëS-5íLÞýõ‹¿jwân»å¡¾¡Z:i©‚¼‚*ÜvÖ·³´%~‹$©kË®vB‰¹DoìxCÃ: #P#P8í±›“¿É¿®ËT¿j©I.^Ðä“•p>A>F ë8LÍ=›ëø¹ãÚúÛVÎ=]a °ñèFýpâõ ê©})û®rå ¡#P8íÑ~Öu 6õ©–šôúöוp>AÝ»k餥jæÑÌÖ–”•$Wr·Ë-ÊÕœÍst_Ïûd±Z@#P8­¢y ÌV³v%ìÒ±Œc2[Ìjï×^BÈÝÕÝ©ýĤÄèXÆ1åå)È;H½‚z©…©E¥µ|~ès%œO¨°ÏÁí+20ÒnÙÁÓ›«¼‹y 0è–ö·¨¹gs§j® ͵nÿ: Í=ß.L¤6Þm*Üöø_5vi¬'n~B¯n{Õá}ÿ”ø“ö&ïU˜_˜Ftáðö á#P8­¼y âÏÆëÑOÕÉÌ“vë˜ôæø7ucë«ÝVA–þ¼öÏÚŸ¶ßn¹»«»ž¼åIMí5µÂZ¾8ü…¾ÿ¾Â¾ýMþ¶@áì…³zâó'ôSâOvëÝŒšuë,ÝÙíÎ*kýôà§JÎJ®ö±Mé9E>FŸJ×9túr‹rucëêªÝ‰»—'“»I}‚û(Ì/¬Üí~NýY«Y­÷'¾/£›±Ú5•Z»Bs6ÏQ¿¶ýìÆàr €SP\ Ö= ÔìTµjÖJ·´¿EnÜ´3a§ŽŸ;®‡Ö=¤oü¦Ús|óö§íW€)@C: ‘—‡—R³S­})û*½Ø1Z‘-#Ë,_¿½Z{µÖØ.c%If‹Y­HÒ(È+HÛ ”—‡—Ï'ê»ß¾Ó³ß<«0¿0ÝÐê†Jkýôà§Ú•°«ZÇ%I##FV($žO”$uiÙE3?›©/i×>±ûD½xû‹voz(±”è¹ožÓ¸®ã4 t@µë‘.ÅK[_Ò²˜ešÜc²fÝ6K.†Êß"®_ €óů_(5;U7¶¾QËîZfûíx‰¥D3?›©G7jeìJÍ8³ZýeægJ’>¹ÿ˜lË/š/êÐéC•n;¦Ë˜2ËÞÚù–üMþzoÂ{¶Ú6Û¤i4ºóhÍ5ßîâü@ÚݹüN-Ý»T¯}½Òýï:^QAQÕ:.Iòõô­rüâ|IÒ–ß¶ètîiÝÚñV…ú†*é|’6ÿ¶YkãÖ*°i ¦˜nÛfÑO‹”™Ÿ©g‡<[íZ¤K“?>þÙãúñÄznèsÜ™ªD ¨1?§þ,Iz|àãv·Ú»6rÕ“ƒžÔÆ£šð¶Ž·ieìJ½ý¾&vŸ¨v¾íd0ÔØ¥±z´îáPmïíyOßýö>üÓ‡jÒ¸‰mù΄’$O7O-Ú½HV«U’dµZe•UÍ<šé@Ú*ûßu¼CõTG霧rNiñ‹54l¨­mÇÉšºvª–ï[®¿ôÿ‹ ƒÎ'èí]oë•Q¯ÈÛè]íýd\ÈÐÄ'*9+Y‹îX¤!aCjüX@ÃC ¨1مْʟ,0Ø+XƒAYYÕîo@è­º{•–Å,Ó¤&©¨¤H][vÕ­oÕŸnøSµçøp߇Úphƒ>úÓGjêÞÔ®­ô.ˆ5qkª]Wyjc…Ò»2‚¼‚ìÂéÒØtðë cÇ”q!Cþ&ýkË¿dt3êĹzcǶucSc%]ºƒäàéƒßu¼‚½ƒmí‰ç•]˜­n-»©wpïj¸¾(jŒ—‡—¤K¯3¼ü‚U’’³“eµZú͹$õ î¥^Á½$IgòÎ(:9ZÿÞòom<²Q«ïY­F†F•n¿&nVÄ®ÐÊÉ+ËÝ·—ñRÍw÷¸[Í›”ÿF‡Š^Íx¹Ú˜C¡“' † ÛKï¦0èÒ:)Y)Ê.̶ .÷ů_H’zõ´û|¢‚¢t{øízú«§u÷Ê»µtÒÒj=’®o €scëµ~ÿz½¹ãÒÛJï 0[Íú϶ÿHºt1[]»w+20Òöˆ‚¿É_£"Fé‡ã?hÃÁ :™yRí›·¯pûO~ª%ÑKôÑŸ>ªð¹_›~Z·Nf«Yéÿ—2EF^†ÒrÓª¬µ6æPðkâ§­zèçÔŸµ%~K™GâÏÅ˯‰ŸüšøI’îéyÎ]8W¦ŸmÇ·).-N£;V¨oh¹wŒï:^Í<šiƆºkÅ]Z6i™›VûxÀõ‡@PcFw­…»*&%FÃß®[ÚÝ"7—Koyˆ?///Mî1¹Úý-Þ½XûRö©oÛ¾jëÓVn.n:ræˆ~<ñ£\ .•ÞíðÕá¯ôô×Oë‘Ôê_V—iÜ~°"#5²óH}óVÿ²ZÛOn×M!7©¹gsåæ(á|‚¢“¢õ@ïÔ-°[¥µÖÆ ’4sàLÝ·æ>=úñ£Öa˜B|Cl“2Z­V=Ôç!Û] w÷¸»Ü>r slBeó# ª¥“–êáõkâGõÁ¤* lÀõ@PcŒnF-™°D~ò¨NfžÔÊØ•¶6“¿Þ÷fµ_)IýÚöÓ/§~ÑÖø­vË›4n¢ý§š{–ÿˆ‚$½ðí 2[ÌZ·®Üv¿&~Š Œ”‹ÁEK&.ÑS_=¥­ñ[ˬ` ¨2L¨M7…ܤ¹ÃçjÎæ9Útl“my#C#Mí5UîõçÝ_ïàÞZ1y…¦®™ª»>ºKK'-U×–]kt a P8í±›+„ù…iãCµóäNË8&³Õ¬v¾íts»›mo-¨®‡û>¬)=§hOÒÌ<)I l¨›ÛÝ,O7ÏJky¨ÏCºh¾Xaß‘-#mö1úè¿wþWÇÏWLJŒ2ó3åë髟EEÙ½J².Lê>ICÚÑÇÐÙü³òöðVÿÐþå>ºPž›ÛݬfÍêj·ÜÕÅU3ÌP»æíì–w è¢5÷¬Ñ¿~¡èähEDÈÅP·cꃵtF'@½‘žž®¼¼¼j­ûõ×&͘ øøãµ\¸^ñ}£a2™L pz{îP\u‹~ZTéÝ’ÔØ¥±¦õ›v•*€£WÝâÝ‹•[”[é:MÝ›(Ôc €«î‘¾TëÔ_ €«Ž;®}êºpí!P#P#P#P#P#P#P#P ŽLY5E/my©Áî4l®u]׫èäh †»?аq‡pw(œRl.Ö}«ïSTp”ð¸ÖÆ­Õö“ÛuÑ|Q=Z÷Ð}=ï“ÉÝd·ÙbÖ'~ÐŽ“;”t>I.\Ô±EGÝy‡B}CËí{zÿéZ»B»w«‘¡‘†u¦?FþQ’t&ï[®#gŽÈÔØ¤ Ý'¨Hÿ2µffkýþõŠMUÞÅ<˜t{øí6¤v©G3Žjö¦Ù2[Ì:xú &¯˜lk{þÖçááPÝgòÎhÝþu:–qLyEy òÒ€Öa˜ Cµ÷à€S,V‹¢“£er7éÑOÕÖø­¶¶Žÿ MG7iý½ëåæâf[>yådíKÙg×ÏÖø­z?ú}½5þ-Û…òå}?¸îAíLØi[Ó±M:™yR㺎ÓÝ+ïÖÙ gmm_ùJK&,ÑÍín¶-‹MÕÃëÖù‚óvûýøÀÇšÐ}‚þý‡Wy¬/myIO¬æÈHóGÏW«f­*lÏ-ÊUtr´$)§0ÇöçÒÿw¤îcÇ4ñ£‰Ê+ʳ[oÅÏ+4±ûD½ô‡—ªµ?G(®È'~”·Ñ[O ~Jü:(=/]oïz[‡Òéë#_kl—±¶uóŠò4¶ËXõ î¥ ¯ –êpúa}ófož]æ7ï?žøQ¾ž¾znèsj×¼ŽeÓ›;ÞÔ{ÑïiküVyé©ÁOÉÛÃ[[oÕªØUZ°}-PÈ+ÊÓ´§)«0K㺎Ӡöƒäåᥤ¬$}°÷­‹[§~múiL—1•㑌#váU)(.¨´=¼E¸VL^¡)«¦(Â?BÏ}ÖÖááPÝ«Y­¼¢< j?H㺎“·‡·R²S´ãäååVkÎ P\×F®Zu÷*»GÚz·Õ=«îÑÏ©?Û +&¯Ðž¤=Úvb›¾=ú­.š/ÊjµÊÝÕ]©Ù©:{Z-›¶´ë{Í=kì,Iº¥Ý-*(.Ð;ÞP#C#­¾gµ\]ú§lpØ`ýzúW8}@%–¹6rÕ†Ct.ÿœž¼åIMë7Í®îFè–·oÑ'?©2Pxfð3Ê)ªþoò+»;A’šº7UŸ6}d0äeôRŸ6}ìÚ?úù£j×]züóGÍ—·ÑÛ¶Þ]7Üe»û ªý8ƒ@pE"#íÂIêÚ²«$é|þÿÝ®o¶šõÄçOhûÉíö•[”k(DFÚ„Rü;I’n¿Ýv1]*" BqiqJÏMWk¯ÖúåÔ/’¤ÍÇ6kWâ.Y­VI’UVÛŸŸ;^å1F\Ýßâ;R÷ŸzüIŸüT¯X㺎S×–]Þ"\î®îjæÑìªÖ ®/ €+âåáUfYé¼ «Å¶ì‹C_hûÉíjëÓV÷ÜxÚú´•§›§ ƒ–ï[®o~k»X®¬ïÒ¡²¶K‰$)ÿb¾$).-®Âú»6®ôø¤šŸC¡*ŽÔêªïùNŸú\»véýè÷u*甄Ð?ýCa~aN×PÀUQzqüÖø·Ê<·¿àǵ²ÏÀf’¤Ù·Í®ðÂú÷w9”§¦çP°±ªLˆ"9^·—‡—¦ôœ¢)=§HºôÖ‡iOÓ½«ïÕ÷Ó¾—»«{¥ûpàª(}¾ÿ生mB‰¥Doïz[1)1µ²ÏÛÃoײ˜eúìÐgš?z¾Úx·±µ™­fm>¶Yf‹¹Ê~jz…RMÜ›(%;E«E œªûƒ˜Ô©E'õmÛ×¶ŽÑG&w“ΤQÂù…·¯tÎ P\ƒÚ Ò 5kÓ,-‰^"O%d&(§(G]ºèPú¡ßgïàÞšÐ}‚ÖÅ­ÓECì,¿&~Ê)ÌQJvŠŠJŠôHßG42bd¥ýÔÖ :kwân zgZ{µ–A=ëóÕ½íø6Íýn®š4n¢6ÞmÔØµ±Nœ;¡Ü¢\ù}숊öÇ›€3WE÷VÝ5ëÖYš÷ý<%e%))+IÞFo½<âeÍ8Z+‚$ýkø¿ÔÁ¯ƒÞÛóž’³’•œ•,éÒ<#:ШΣje¿Õñ÷A×´§éTÎ)Ê9%I¶73T·î©½¦ÊbµhWâ.>sØÖwŸ6}ôìÐget3VkŽ2Xy˜êôôtåååUkݯ¿6iÆŒÅÇWý¶‚šd±Z´7y¯|Œ>êØ¢c¹m¾ž¾êà×Á®­ ¸@'3OÊ ƒÂüÂäæâ¦¤¬$¥å¤©[`7ÝŒ•öU¥£Gâ¢S€][Âù¥ç¦«{«îòpõ°k³Z­JÌJTf~¦|=}ÕºYkÛä‘uÉl5+þl¼r sd±Záa÷v†êÖ_œ¯Äó‰²Z­ l(£Sû œ ÈW#Õï­~ZðãY¬–«>Îà‘ÀÉ.ÌÖÄ'*=/ݶÌb±h@è-‰^¢ã玫}óö’¤ ;$I ´ýäv…ù…I’R²S”x>QSzN©r÷®¾W»vU»¾oúÖ¶ÿ+QÑqVµÍ]+îRZNšmÙÇ>VVA–&Ý0I~ò¨Ì³$© ¸@ w-”¯§¯î‹ºïŠë¨m €+²7y¯z´î¡…\¨Nþäáê!I:PK¢—hûÉí¶ úí'.ý¹©{Sí8¹CS{Mµ-—¤¡®zýQAQŠ:^ᯄ«O›>Z~×r»ö¢’"Igeö&ïUÿþúïÿU¨o¨ŽeÓŒ 3´%~‹bRbtÔýº/ê>y½µ5~«þöÅß´$z ¸&(®ˆ§›§ß±X¾ž¾vË£‚£äîê®'wèþ¨ûe±Z´;i·Æu'“»IK¢—¨Ø\,77íHØ!ƒ‹ú÷©r¿¿à¿Z*:ÎÊøzúê;Þ‘§›§$©[`7=ÐûÍÞ<[=ƒzê™!ÏØÖ1JŸúLßǯ‚âÝŒ5~ 5‰9W¤s@çr/²=\=¥=I{Tl.Ö´Ê*ÈÒ€Ð:@ÅÚ—²Of‹Y?%þ¤Zß “»©Ž z*:ÎÊt èb Jµöj-IêÜ»Ìú­š¶’$½pÖÉ*®îP\o£w…mýCúkgÂNŤÄèçÔŸÕØ¥±ú´é£Æ®er7iGÂy¸y(§0GBª÷¸C]Í¡PÙqVÄÝÕÝ¡6ƒÁ ILÌ® Ü¡¨5Û]zËÃŽ“;´ãäõ ê)£›Q.õmÓWÛOl¯Óù.gA%æ’:­àZ €ZÓ©E'5÷l®Í¿mVÒù$=qó¶¶¡4{ól™‹ÔÔ½©ºv«VŸµ5‡‚·Ñ[¿ýMIYI ò R#™;@eø¶¨5ƒAýCûëĹ*±”h`è@[ۀвZ­Š?¯¾mûÊ¥‘KV*õmÓWç ÎkÈ¢!êørG…Í Óž¤=uZ@}F ×8ww«$éâECWR¾Ò¹š{6W„„myˆOˆ‚¼‚.­SÇ;HÒsCŸÓððáò6zÛæ2—äáa­ë2PϬV+gÔ3éééÊË˫ֺûöyhÒ¤ÖÚ¹3QÌjÞûï{kÉ/íÜ™X×¥ ™L&8½=w(À5®}ûbIÒÑ£ë¸ÐP;ÖXaaÅu]ê¸Æy{›Z¬Ý»u] h vï6ê† ëº Ô3 Ð |A76±€š¶¿»RR\5dÈ…º.õ 4&ä*)ÉMÛ¶yÖu) Y±ÂK;^T÷îEu] êh:t¸¨!C.è•WšËlæ  f>ì® šê‘G²êºÔC Ð@üóŸç”˜è¦•+›Õu) xñÅæêÖ­PcÆäÖu)¨‡ hÓ¦XS§fkÁ_?îV×å€kܲe^Љ1jÖ¬³2p$ÊA  Èôé™jßþ¢x P™™.u]¸Fmßî©—^j®¿þõœºveî”@ww«-:-É Çk©¼<þšމ‹s×ôé7.OÓ¦1w*Æ7Mh`š77ëÝwÓ””䦉[+%ŵ®K׈MºçžÖŠŠ*Ôܹu]ê9h€:t¸¨?N‘‹‹Uwܤ~àu’ bEE½öš¯¦OЄ 9Z¼8MnnÖº. õ4P%Z³æ”nº©@>¨‡TB“5{›65ÑðáÁzÿ}/Íž¡^8+¦bB5¬V+±Ô3éééÊËË«±þöì1jÎ??î¦aÃ.hüø<ÝtS¾ŒFþ àztú´«¶li¢5kšêðaw“«§žÊ”¿I]—†«Èd2) Àéí  ªé@A’Ìfƒ¾üÒ¤U«šéçŸ=Ô¨‘UíÚ+  D&“¥F÷ê‹Å ììFJHpÓéÓ®2->ü‚î½7[‘‘¼ÉázD  Pm —;{ÖE{öuøpc;窼<^. @Cר‘Ô¬™EÁÁÅêÒ¥HQQ…rwçrðzF  Pm À• LÊF F F F F F F F f°Z­Öº.`¯°°P%%%u]0WWWyxx8½=p<‡(‡(‡(‡(‡(‡(‡(‡(‡(‡(‡(‡(‡¹JZW×E€kËÿc4€÷gñ€YIEND®B`‚fio-3.39/examples/http-webdav.fio000066400000000000000000000005211476262051600167760ustar00rootroot00000000000000[global] ioengine=http rw=randwrite name=test direct=1 http_verbose=0 http_mode=webdav https=off http_host=localhost filename_format=/dav/bucket.$jobnum group_reporting bs=64k size=1M [create] numjobs=16 rw=randwrite io_size=10M verify=sha256 # This will delete all created objects again [trim] stonewall numjobs=16 rw=trim io_size=1M fio-3.39/examples/http-webdav.png000066400000000000000000002515111476262051600170140ustar00rootroot00000000000000‰PNG  IHDR¤m:!öbKGDÿÿÿ ½§“ IDATxœìÝy|LWÿðï,™Édì;Iˆ¨¡Då •VñCÑ¢T‹ÐZªª´¥ZJƒª>J[Š{mµ„„,KIHDöL&Ëd_f&óûãr$&I¦Ÿ÷«¯çuï¹çžû½çzâëäÜs9J¥’´·¥h.Hv@k!Ù­…d´’]ÐZHv@k!Ù­…d´’]ÐZü–þ]ÒÒÒ¦NÊlïÚµ«C‡-Ï«ñ2w]TTÀloÚ´ÉÓÓ³éã«#%%eûöíwîÜ)++S*•ýúõk×®ÝÉ“'‰¨W¯^6lx14 $»ðJ•——_¾|™Ù.++SSsêÔ©iiiD4kÖ¬I“&ix¨uÒü®ë’Édì¹R©´‰#«OfffÏž=U¯e```mmÍ„Áçã/hKð3 Z©k×®%&&ш#4?/oË–-L¦keeµmÛ6SSS33³ü±¥ãxHvàÌ?$ˆÈÏÏïí·ßf¶/^²³³«uzuuõo¼Áîêè蘘˜xxxL˜0¡S§NLá•+W>ÿüs" …'NœL¹D"?~¼R©$¢íÛ·»¹¹©¶|ñâÅÕ«Wß¾}›Ýõõõ­uõZsvóóó÷îÝ•››+ ]\\FŽ9tèP‡£¦·^%À+ÏþüÙ±c‡‰‰‰êO¤•+W*•Ê•+WÖûóÊÎÎNÍ¡ZÿôÓOªuæÎ«>6???¦æ÷ßÏ”Œ3†)2dSòóÏ?3%½zõbJNœ8Qï`ç’%Kê½kõ­]»Võ@ رc»¢T*+**êí>Ÿ¿mÛ6¦ŠŠŠvíÚ1ådÛ߸q#Sعsçº=°oß¾z[VÅv…R©ÿüó#GŽ 2„Íí SRRBBB˜Â™3g†„„„„„„‡‡«9T«q}}ýÕ«W;vŒë%¢àà`5±}ûí·L5¥RYSScffÆ”ˆD¢ÊÊJ¥R9~üx¦dÙ²eJ¥òÖ­[ì éäÉ“?¾mÛ6sss¦dóæÍuïZM`W¯^eDG}äÈ‘7²9+=Iv EÈ/^<|øð|ÀTàóù©©©ÌE.\ÈŽ9’½Gv1‡M›6Õí±XÒ»wo¦ÎðáÃÙ ùûû×Jv¯_¿®££ÃöØáÇ·nÝÊF;|øð—ü£Ð$ìÀ+¥šö-\¸)d'‰Qdd$SÈþ†}íÚµµyÞ!ÕÆ™d”Ñ·o_¦pðàÁJ¥rñâŃž•››«T*oܸÁT344”Éd·nÝ""]]]føùòåË555ªyçĉU[fìܹ“)´¶¶®©©Ñ<0fR,999Éår¦ÎæÍ›k%»õbæ]Ñ–-[˜’0©3ŸÏÏÎÎV*•±±±L‘HTXXø¼¦†ÎT{ï½÷ØBf‡j²;aÂ6Z™LÆlØ0v{È!QQQDĤ³·oßfóbTUU‘§§§¥¥ennnIIÉõë×#""ˆ¨_¿~ÆÆÆG 111‘H$D¤¯¯ß¿"bêQrr2;½µ¸¸˜ÙÈÉÉINNvuuÕ006Ûöõõåñxlºw—™™¹ÿþØØØÜÜܪª*¥R™ššÊzôè³áêê:dÈóçÏËåò={ö,Z´è·ß~cM˜0¡Ö’ÉFÈ®G¦:™822²gÏž/y€—„dZ ;Jªºt«R©l’Æ ën?o¶+ƒÃá :tïÞ½DÂ$²ƒf“]ccc¦¦¯¯/3{¡¼¼œ)IKKc_›SUPP y`lxª“zUë3Ξ=ûöÛo?ï^TË?úè£óçÏÑo¿ý¶`Á‚?ÿü“-N4{ïªêëës¹ÜššÕ -É.h§¤¤$///v›Ù°··'¢ï¾ûnéÒ¥ª•Ù´û7Þ`’ÝóçÏ_¿~ˆüüü˜722’¢ÊŽ_¶oß>77—ˆÆŒ3oÞ¼ºatîÜYóÀìííSRRˆ(99Yµ~­–-[Æd´îîîË–-³³³ãr¹~øáýû÷kÕ=z´­­mVVÖÝ»wW¯^̈́ګW/vVî|À´?iÒ¤Y³fÕ_ '''¦Á°…>d2]¦B£hÜ– ~zzzÌFNNŽæ‡X?üðCII %$$8p€)d&NtëÖÍ÷YB¡©Àf±/^”J¥zzz}úôyíµ×,,,ªªª˜QRÕjìûj—/_666fôòòÊÉɉ‰‰©»XšÀØyçÎ '¢ªª*öµ9;ÓãÍ7ßœ2eŠŸŸ—Ëeg/¨âóù3gÎd¶¿ùæfCuX7&&æòåË—/_~øðáózòyØ{?{öìÕ«W‰H¡P¬ZµŠ)466VÒÐRì@+Õ«W/fcóæÍ½{÷öõõýþûï<ÄÒÑÑqrrêÕ«—§§'“\š››/[¶LýEmllºvíJOfS 0@GG‡Ãá¨.7ëààÀŽ×Î;wРAD”ŸŸß³gOwwwooo“‰'²É±†}üñÇ...D¤P( Ô£GGGG¦Ž*vÖï÷ßïééÙ­[·±cDz+TÔ2sæLfú/3àjll̾T÷’æÎûúë¯3Ñúúúzzz:::23%8ÎO?ýÄÎúhAHv •úâ‹/˜ï2ÔÔÔ0ì¢ j±‚‚‚ÆŽ˼|Ö³gÏK—.ÙØØ4x]ÕñÈÁƒ×Ú¨UA(þóÏ?«W¯¶µµ%¢„„„¨¨¨ŒŒ CCÃÉ“'/^¼¸nûj344d¿ã —Ëccc}}}÷ìÙS«…M›67ŽÃá(•ÊØØØêêê3gÎX[[×{;vvvo¾ù&»;uêTv\ü%éêêž?þ³Ï>333c¢ÍÊÊâp8ýúõ»pá¤I“šä*/‰ÓTï‚h¢¼¼üÚµkÌvïÞ½õõõ‰H¡P„……1…ìê¶D”œœœ-—Ë‰ÈÆÆFõ‹_u%$$¸»»3Gãââºví*‘H’““ÍÍÍk-‰ FNNNBB³ÝµkWfÑ\©TʬDFD®®®ÌÛZRSS³²²„B¡¥¥¥ê'ÄêÞµúÀÒÒÒ233œœlmme23I€ˆ<==ÙUòòò>|hddäææÆápnÞ¼YTTDDvvv;vTm-33“VËÞ#&&¦´´”ˆ™ÂÛ·o3ïÕY[[³c؉‰‰ÙÙÙDdjjZëãpJ¥òÁƒyyyÀÙÙYua`€‡d´GÝd·e〇i  µì€ÖÂ4ÐZÙ­…d´’]ÐZHv@k!Ù­…d´’]ÐZHv@k!Ù­…d´’]ÐZHv@k!Ù­…d´’]ÐZHv@k!Ù­Åoé ‹Å¥¥¥-üKXYYi^#» µì€ÖB² Z É.h-$» µì€ÖB² Z É.h-$» µð5hJ%ed褧ó‹‹yJeKG –@ 42RtìXmbRÓÒ±@ã Ù€WJ¡ K—ôOœ0 Ó+*Â/— éÐAæçW6vlIÇŽÕ- h„£Äˆ 4†X,.--}±s/\Ð_³Æ,-M§oߊ!CÊ{ô¨tr’+¸Hz u«®æò‘‘¢³gõSSu† )ûì³|''YK‡ö¯c```ee¥y}$»Ð8/–즦ê¬\i~õªÞ›o–Ο_€¿ íR*)4ToÝ:³Gt¦O/š7¯@(D6õê Ù€æõÉnx¸hÞÝÆÇ§<88™.h O9eJÑÁƒ¼wÞ±ð@ÐÒAýì@3:qÂàóÏ->þXúÃbüš´‹‹ìСLkkù{ïÙfgã½ÿÖÉ.4—¸8ágŸYNŸ. ,àpZ:€æab¢øõ×lSSŬYÖååȬZ<hR)oæL›~ýÊÿûßü–Ž yéë×lßž›Ë_¾Ü¢¥cÚì@³Ø¸Ñ”Ë¥~ÈŲbðo`o/_·.÷Ä ƒ¨(QKÇÏÀßBÐô<ìßo´xq¾>5ÿ¾¾å~~å_~i®P`æV+‚™ÔÐôÖ¯o×µkõ[o•´t ÍB¯wîœþ¹sÂøx¦¤ðã >ý´nMŽBaxèÁñã‚„nE…ÜÆ¦²{÷âwß­ìÙóÕ† ¯ÈgŸåáð÷ßøØZ Ù€&–“ÿtIÓ&1^Jƒ¦"‘HúõëÇl{zz¶`0üœû7ßÔ¤&¯°ÐúƒtccÙGt=2ù'§ªÊfæLá;\©TngW6|xáGÕ¼LãÐÊY[Ë%¤X­Fv ‰UVrõô0‡A¬_¿žÉt9ÎܹsCCCoÞ¼¹wïÞau~ /•JSRRöïßïÞ½¤¤¤aÆ}ÿý÷LjiiùçŸÆÅÅýñdž††D´k×®3gÎ0'úøø$=‘˜˜xõêÕY³f‘R©\·nL&#¢½{÷FDD°× fêoذˆ4¼P½$«WWwêDDÂØØvë×[ΟÏ--%¢â JÆŒy™®ãTUqK¿Ÿdxø°^HO"áÈd:™lßn÷Î;\©ôeÚ‡VNO¯¦¬ Ó²[ $»ÐÄ”J¼{£ d2٘퀀€ ØÚÚöéÓgË–-uë÷Ýw^^^€9÷àÁƒLù'Ÿ|Ò·o_‘HÔ¿ÿñãÇ3…þùgÝx<ž••U`` ³+•JïÝ»×`/p!–R$ÊÙºµF_ŸˆLþ÷?æe²ª®]ó¾øBýuÄ‘ÉTwó—/O‰ÍÚ³‡YAœÜ®¾>­Ááÿäo50ÆõÈÌÌ,+{¼¤ÆÀÕWÖÑÑñððP=·¼¼œÙ^¶lÙ²eËjÕOx2V&“íÙ³çŸþINN...–ËŸ™#‘H Rà =¬CÉš5Vóç3»5úú9[¶(/;Û²FOx Íf¨üqHHÈóªÕÊ}_{!5ÉÉì6·¢B’"··Éë—[íâ"¸ŸˆäVVl1»ÍNr€æ†dêagg§¯¯Ï …=ºQçêéé1‰æ† ê­–ÍfºóæÍ{ÿý÷¥R©——W­šªÙ¶Rå×Ã^H ½°0Ó-[ˆHÉãq ª©±üôÓŒãÇå66mª–r__&Ùå‹Ål!»-wt|Éö@C˜³ õÐÑÑaC8zôhPPPNNNiiiLLÌÌ™3ø £ºDr¹röìÈz»v-/88•ˆ"#%‘‘¶BÝÂÀÀÎÌm Ü îFD<.çó9Ÿ}æ1uª‹ú^%$»Ð&ÅÇ-X-—+=mZxq±¬{÷vÝ»› Ü;w¤‘‘’™3#Îf`ðø§ßÎI¥¥ò€++ÑݻҫWsW®¼5l˜¡¡ݾ]¸bÅM…BÙ»·y·n&……ÕgÏfýôSbƒá©oVÃØjÙ²%[­—¹¹°ÁdWM`}ú˜ëœêímѧÏãQÔ[¨ÚZy¹< ÀÁÂB÷î]iD„䫯n»¹kÇ fÐHv MÚ±ã\®œ6Íõ³Ï<8"¢%K^3&äæÍ‚ÈHI¿~¿ür¿¸X¶jU÷wßufÏúí·ä¯¿¾}üxú¤I˜™¬æôé!ì/ß—.½œïçgMD»v%)ÊùóÝçÍ{<+70°s@À¥ÃS߬†±Õ2wnçGv_&°Þ½Í8 Ní×ÏbÎ7ö”z ŠcÇ»¸2»;w&­Y÷ë¯IHv õ@² mÒõëù<gáÂ.L¦KD¦¦‚ٳݖ/¿yýz~¿~ááSPP½uk¢R©dÒIJ29ÅÅ=N(ÇŒqTfêëkœ*W0»7oŠDü?~šäÙÛëïô¿ÿ=Pžúf5Œ­6á~êk¬Ñ£íÙL—ˆÞßeûöûׯc‘2hEì@›T\,³´ÔÕÕ}f,ÓÑQŸˆŠŠdDTPP­P(ü1¾î¹ªÓ|mlDª‡˜ÁQ¹üñjQQµµµ.ÇQ­co¯ß`xê›Õ0¶ZšdήúÀËÁá™®àr9vvzqqøn´"Hv M22ÒÉή¨¬T¨æ»iieDdl¬CDFFüêêš™3ëIþ˜Ë4al,ÈÉ©T(”ªùnFFÙK…þ¢±5ɜݦ•žþLW(•”™Ynd$x•1¨‡dÚ¤^½ÌŽK߸ñÞ²eL‰TZýË/÷™CDÔ¿¿å_=rrÒpP=1!¡ˆyKL=z˜ž8‘±}û}v&CVVùÁƒ©/ü‹ÅÖ$svÕ ¹D$•V5XÈ8~ ¢ƒS¯^Íe*ß¾náÞ½cc Ö­»;uªKÏžíþø#9>¾HO?t¨ÍèÑLk/ ëÚµ¼¿ÿÎHO/¸¦&t07²GŠNKO/S*ÉÉIôh‡×^3yÞ½ìÝ;ð…:ìE¨›ˆRSËŽIKH(ª©!ggƒqãœ\\ ™CååŠ'ÒoÝ*Èή00à÷èa6v¬£±±@ýµµ' Å!Ù€¶¾r IDAT$?¿ú­·B22ÿJúìÙ¬;w¤_~Ùˆ23Ëã㋈(#£,#£Œ©ðúë–u éÉTQ“Õ«css+™ÂÓ§3ÏŸÏ ê£a¾«&Æš5q;w&±».äìÚ•ü¿ÿõëÙ³>œößÿ^W*Ÿ6øë¯I6x8Ô{/Ï3eÊ…B©¦‚‰‰à§ŸújtK„MD{ö<üê«ÛìE/^¤]»’Ô½»©TZ=hÐÙ²29{ú™3Y¿þúàÀ{{ýç]±•ô$h%$»Ð–ìØq¿cG£5kzZYéÞ½+ýé§Ä?ÿ|8kVG[[½·Þr04ä¯^}{ܸöo½åÀÔ··×«[Èúý÷ä ,èba!¼{Wú¿ÿ=8}:388uÜ8§— †ˆþù'kçÎ$>ŸóÞ{.}úX””È‚ƒS##%sçF…„¼!ò˜Ç©S]ú÷·àó9•?ž^\,#¢zïåy®]ËSŸìÖ”U¯Á°£¢òV­Š%¢Q£ì}}­u’“KL--•‘LV££Ã1õK33aq±,*J²oߣ  „ï¾ëÕÊ{´’]hKÚ·7$òˆhÐ +™¬fóæ„[· mmõììôºt1!"{{½¾}ÍÙSê-dXXè>ì+ñˆhð`k//³É“¯üõWІɮš`ˆhÿþGDôí·½Ø+ ÀaêÔ+’ rüýíø|n§NF_|Ñmðý÷]JJdDô¼{©×îÝ”êr]ÒÑiÄë †½kW’RIŸÞíý÷]˜ ƒ[O›æZUUCD¦¦ÂÓ§‡üóOöåËâüü*™¬†ˆnLL¾š‹¶’ž­„dÚ’#옔ˆÑµ«)V½XkþþvL¦Ëðö¶°·×KL,i’`ŠD"~@ÀÓÑD‡&Lh!‰—úûÛÍšÕqá˜O>‰öó³qw7vv6àr9††:½‹>}š2‡k0츸B¡7eгêY<GOGDIåĉau' 0©çó´’ž­„dÚcãg2ÕÔ¼`kFFµßš21deiºâ¬ú`ªªjŒŒøµ¦ÿ2ïi1ƒ #GÚwébò÷߇§&&WUÕŒe¿pa#£ÆeiM;g·Á°«ªjŒux¼úç5%dd”õëg1z´ƒ••®@Àåp8K—^/)‘×[ÿIû­¢'@+!ÙíÁäCÊg©_o!ãî]©ênY™üáÃKKÝ& ÆÒR7)©X,®´²zÚ`\œ”ˆ¬¬DÌn‡óæuf¶ïÜ‘N™rE"©dS5a×Ò´sv ÛÆF_”ž^îà W÷ôØØÁï¿¿Îå>NNËËI•®.¯nå¦ ‰š¨'@+!Ùí¡§Ç'¢´´² çÎe:”úÎ;NDTQ¡X¾üfy¹bäH«& fà@ËŠ—,¹¾iSoSSEGçoßžÈ"¢ï¾»ûÎ;ŽìŠ]VVº::Ük×ò »–¦³Û`ØC‡ÚÄÇ^Û°¡—³³!ÕÔ(ÿþ;£S'£Îu>,IL,vw7&¢ÂÂêeËnTV*^&Ù}e= Z É.h D"þáÃiwîHMLD´wïÀz ™úîîÆÿýï~¸gi)JI))-•ëéñ>ú¨S“3sfÇãÇÓ¯^Í8ðŒ³³Ai©œYvܸö:Ño¿%ýòËýví„úÕÕŠŠårå AVjî¥Þ 5íœÝÞ1£ãÉ“™qq…#F\°·×360]÷ûï¯Ñ!6ÑÑù!nnFD”’R*ñììôT#kòšª'@+á j =tuyŸ}ÖU(äÝ¿_|íZ3¶Wo!ãí·çÎí\XXWXZ*oßÞà÷ß8:>w9ØF±°ÐݷϧOóÊJŽ{EiieººüٳݾþÚ“©°ti×NŒ ªbc â㋸\N@€Ã÷ß÷Rs/¯@ƒað÷ïÈ|}#-­,.®°¢BàÀ åN›æúÿ×^©TÆÇÅÇÙÚêíÜÙŸŽm¾ZgO@+ÁÁ4&h±X\ZZª¦‚««KPØß_] •V'&;9é[[‹j¶oo :›³¼\‘œ\\Q¡P*‰]mªVah¨xúôðåË=¦Ms-.–¥¤”èéñ]]4üœ„æÁ‘DR™‘Q.p]] U×`T¥§—ééñíìô™ TÕ{/M«¬L~çŽÔÎNTë£êÃfcãñ¸íÛÔŠ\*­NM-52tè`@DwîH«ª½z™Õ½œ6õ$kÞ<+"Ú¼YÜÒh'+«FÌ7C² ÓRÉnÓRMv[:Ð6Hv›Uc“]ÌÙ¨-5µlÙ²Ï;êåeöé§]^e<ðÂìÔV^.W3³«·´!HvàßÈÇÇ*)éíçuw7VsÚ¬ÆZ É.h-$» µì€ÖB² Z É.h-$» µì€ÖB² mCh¨ØÕõÈ®]I-È«vèPª«ë‘3g²Z:&óÂRûº^$» =bbò]]lÝšØ`!üK4îsÁ?üðCDDD3…Í­_¿~Ÿ~úiKGðê4.ÙˆˆˆŒŒôöön¦h ùDFF¶t¯Zã’]"òöö>xð`s„Íjܸq-BÓ¸u«ð»ïîÄÅI…BîàÁÖË—{˜˜ˆhëÖÄïÑÆ÷˜ "úä“.u “’Þ OŸ¾|¹‡››ñÆ÷âã‹ôôøC‡Z/ZôZ»vÂc`Oww7Þ°á^BB±±±ÎäÉfÏv#¢?þHÞ½ûaff¹½½þ'Ÿ¸ÿç?v쉕•Š_~¹òdfzz™@Àõð05«ÓÀ–l…âbÙ?Ü;{6«¸XÖ±£a``çºWW*)8øÑ©‰‰E uè`0aBûwßuæp^¸SÕ‘J«ûô95z´ýúõ^LÉáÃiK–\73FFú3‹+_ýôĉ¾úÊSóÃÃ%j:_“®ˆŽÎß·/åÖ­‚ìì ~f~رW/3"ºv-oÒ¤°÷ÞsY±¢›ê)gÏfÍ™µhÑk³gwjÚŽ€Ö©ÑÉ.@ Š‹“~ÿýÝêê"ª¨ #GÒ22Êöíóy±ÖnÜ(øöÛ; …’ˆ*+¤^¿^päÈ`==ž&§ßºUÈž^Q!_¿þžPÈ—H*ùå>SááÃ’ùó£Û·7pw7&"™¬æ½÷®^¿žÏ­®®‰ˆDFJV­òœ4©UU)Þ}7,>¾ˆ©pçŽôÃ#ýýíU/ªTÒ¢E1ÇŽ¥³% E_~_ôÍ7=žª›ÛQ&Îç17FFú×{ÈÄDÐ¥‹ñ•+¹J%1Ùê•+¹\.'?¿*!¡ˆ¹µ°01½þº…æªï|MºB"©œ81”Ý-,¬¾x1ûòåœ={öîmÖ§y‡ÇŽ¥ÿ÷¿]‚§/¨<˜ÊãqÆŒqTÓ Mð‚´%ǧëtáÂwîŒþë/[[½èè|&%š3Çmÿ~"úä“.IIo3ÿÕ[ȶvútæ[o9^¸ðF\Üè}ûº¹%'—lß®é«l'OfLêrùòð¸¸Ñ[¶ôáó9AAñþùpíÚž×®ùÇÄŒœ1õ¦F¹sçãevï~xýz¾­­Þ/¿xߺõfX؈ÀÀÎç›oâ$’J"úã‡ññEÎΆü1àöíÑ—. Ÿ4©ÃÉ“ª=v,ýرt77£_í32.nô¾}>îîÆýõèæÍ‚¦èãz `™—W•PDDJ%]½š;z´=ŸÏar\z’þöëg¡y„ê;_“®àp8Xþò‹÷•+#ÞŠŠòß¼¹@ÀýùçÇŒë$•VŸ;÷tõ±¸2,Lýû[èéñìíõV­òìßßBõ¢ÁÁ©<g×®× ²21ˆD¼Þ½Í6nìMDçÏg?/ÔÄÄ·Ø\¿Þÿž7¬Ë0À’ˆ®\É%¢øø¢üüªáÃízô0cJ”J —xx˜ 4P}çkÒææÂE‹^;r$}̘K¯½v¬oßSóæ]«¨P$&3ÞyljÇã<˜ÊžrèPªB¡?¾½ºç ÚÓ -ñö~&ÝqpÐ'¢²2ù‹µ6`€…ê,R½ SRJ4<½O3Õ][[õîý´ÇãXYéæåU2»©©e&&OOSÕ³üülöZÊT°²uìh¤ZÁÇÇ*<\Âî>xP¬P(>;3³ÜÎNO©¤ààT ÝÁƒ­›¢W m@²ÛÚùúú2cÇŽ;wn‹ÆÒ4ŠŠŠ˜íM›6yzz¶l<ж…Ïü>ŠÉ–”ê&£6k0ÏLíe‚©SÈ©©QÖªó2˜Öê€+“=·#^fÎ.éèpûô1ˆTV*®\ÉíÑ£À‹ïEGçß½[HDZ½L„/àçŸe²šÀ@÷·Þr°²Òx½ñÆù‚‚*¶ÎøñíÏË>t(-0°sT”$-­löl7¯y^å€V ÉnkwùòefCk’B™LÆÞ”T*mÙ`@Ëp¹ª“fÕ[ȸrE²`ÁÓ4=½<%¥ÄÉÉ ™ÂsrÒ¿u«06¶ {÷vlá¥K9DÄ\ÔÉIÿöíŠUG4CCŪ¸¸Þ½[>ÂÐP§™â¬×€–—/‹CCÅ11ùìFD¦&&‚°0ñ½{E"¯GvŠP}çkÒééåææBÕUÒÒÊ=*52zz]+kkQppêܹn¤Ñرx5 àßsv@{ëQttžTZ­¾[°lÙÔÔ²Š ELLþGEÊåÊ#l›)}ÌÛ·o®Ì@ë„‘]ÐíÛXYéFDH¼¼N2%IIo×[ÈlŒa{äHZpðÓ˜\\ ?üЭ™Â›2ÅùÌ™Ì7 >øà™OQ~þyw ]"š:Õùøñôøø¢)S®0‡89Ò^u‚1cœ®]Ë?t(uÖ¬Ú_ ù¿ÿkßL‘‘««¡••îýûÅÆÆ¦pà@+敲×_ºT°†ªï|MºbâÄ—/‹W­Š]µ*–)éÒŸS'£ÜÜJÕ‹ŽçôÓO‰+VܪªRàÕ4€!Œìj ©TºmÛ¶©S§>|ôèÑK—.­[-,,lÆŒ#FŒ˜={vlllQQ‘ï·nÝÒ¼µ´´4öÄ”””´´´E‹ùûûϘ1ãèÑ£µ.ªzÑæ¸}ÇÙºÕÛËËL$â©/dôêeöë¯ý»wo§«Ë35Œç´oß@ Ù}::Ü?þèîìl¨£ÃÕ×ç{{[ìÜÙŸYd—ˆ„BÞŸ|÷ÝææB¡×¥‹ñ¶mÞ>>–ªp8´n]Ï  >¯¿nil,ÐÑá:8è f³m›·jÆÙ °"¢~ýÌ™™!ôd•Õ Í#TßùštÅС6?üàÕ¹³±®.ÏÒRwâÄ»wP]R—ao¯ÿúë–%%2CCæ¶€V‹£l̛̘ðµW‰ódFÛüùó7mÚTo¿ÿþ{êÔ©………µÊ—,Y²nÝ:vwݺuK—.ewÁO?ýôÁ0»!!!ÌËpš´–àîîÎlïØ±cÑ¢Eª³oW®\ùå—_2Ûß~ûí²e˼(¼Mõÿ_±X\ZZª¦‚««KPØß_]Ç~mÚ4×–Ž´Í¼yVD´y³¸Ášð ¬¬¬4¯‘Ý6/66öwÞarÓÉ“'?~|Û¶mæææDôÝwßmÙ²…©Î&ÿùÏ>¼fÍšE‹½XkªçÎ{äÈ‘!C†0%k×®erßðððÏ>ûŒ)=zô‘#GÖ­[·dÉ’¦î€úaÎn›·nݺêêj"0æäääääô¼£»víêСƒ¯¯¯££#Ý¿ùòåÌ¡¡C‡2_ŽÐ°5==½ºñx¼çEëèèÈ\”ˆtttðÕ4x5ìþ‹\¾|yúôé&&&...%%%>”ËåDdii©:Ÿ@k`Îî¿È|ðŸÿü§¸¸øúõë÷ïß—Ë円†Ó§O¿uëVÇŽ[::€¦‡d÷_dÀ€§N*..¾}ûvxxxbb¢T*ýõ×_mllZ:4€†…†Š]]ìÚ¥n欬ò  „èèü [-Mn³ª¨OŸîêz„ýoâİâbYKÇZÓþuôõõÙ·Ç´LVVEPP<ÇéÝÛL}!¼z+WƆ†ŠML£FÙóùœS§2££ó–,¹þóÏÞ-h3$»Ðì22ÊM74Ô9zt°½½}ô‘Û›o^<>;>¾ÈÝݸ¥­…dÚž¨¨¼Û· …B®UûöLattþ¡C©D!Q(”La¿~u ;§¦–;–îãcÕ­›Ix¸äÞ=©¾¾Î AVL¦ÞƒŧOgõïoáåõÌPqNNũݻ›dÅ”(ʈIbb±\^Ó¡ƒÁ AVB!9Äн»iT”äîÝ"}}þ„ íÙÖjj”ê+)‘…†ŠÓÓË„B~׮ƽ{?³ ŠLV–›–V¦T*œôû÷·ÔÕå©VP[s¸x1»¦F9~¼{#ffÂ÷Þsùþû»çÎe#Ù€æƒdÚ¹\9{väùóÙÌ.ÇY»¶ç˜1ŽDtíZ^pp*EFJ"#%l…º…SSKƒ‚âî† w#"—óùœÏ>ó˜:ÕE} º?ÿœ!Ù·o jù¾})[·&îÜÙŸÙ-˜??:#£œ­`c#Ú¶Í»kW"zgÓ¦{W®äÑk¯™°ÉnUUÍ{ï]UØ™3™Ë–Ý,)y:áµGv[·öµ´Ôe.={v”DRÉ57þøcŸ¾}Í5‰­^›7'(•êºEO÷ÁÏ}Õ5>¾ˆˆØÞÞæD”P¤®]€—ƒdÚ’;“JKåVV¢»w¥W¯æ®\ykØ0CC>}ÌÇŽu Nõö¶èÓçqRUo¡jkååò€ Ý»w¥’¯¾ºíæf\+'«ÅÄD0t¨Í©S™))¥:<W®©Q:”fk«7`€%ef–O›^\,ëÞ½]÷î¦÷Îid¤dæÌˆsç†ðŸ\^.óM{GG}kk‘†ÅÇ-X-—+=ŸóèQé•+¹÷ï3§k[-[¶$°Cãõ27ªIv%’*"²µ}f|ÚÎNŸˆrsk·  !Ù€¶D&«9}zû«ð¥Ko§FGçûùY÷îmÆáPppj¿~s渱§Ô[Ȩ¨P;6ØÅÅÙݹ3iÍš¸_MRŸìÑøñíOÊ~<}Ò¤O?>ØÙÙ°QíØñ@.WN›æúÙgÌ— —,ym̘›7 "#%ýúYTuè`pìØ`&"*(¨*(¨f¶5Œ­–¹s;78²«æhU•‚ˆjÍ” ¹DTUU£®]€—ƒdÚ’1cUg¯úúZ§ŠÅ/848z´=›PÑûï»lß~ÿúõ†){ýuK{{½#GÒ.ìÂãqˆèàÁT.—óÎ;¿.áñ8Õ[·&*•J&M,+“Q\\!Ñã„2 À¡n¦Û``ׯçóxœ… »°ßð65Ìží¶|ùÍë×óûõ³>ÜvçΤRýü¬™‰ íÚ Ûµ6*¶ZæÍëÜ`·¨Á¤¹LÊËbÒ\&åh&Kvóóó322>ùä“fŠZ‰û÷ïÛØØÖów0´]±±±ööö-Å˲±©î2£‰r¹Ú!ÇçspÐWÝår9vvzqq… žÈáÐØ±N›6Ň„ä jSPPuáBvÿþvvñ‚‚j…BùãñuÏUh˾]רÀŠ‹e––ºµ^8stÔ'¢¢"-Xàîè¨ôhú×_ßÖÓã÷èaàèïoרØjyÉ9»B"ÊÊ*ïÜùé»h™™eDda¡«®]€—Ó¸d÷Áƒ›6mj¦h YUT`rä3ÒÓËTw•JÊÌ,72hrî¸qí7oN8pàÑС6GޤËåÊñãÛ³GŒøÕÕ53gÖ“ü¹º>ýg$3*ÜØÀŒŒt²³+*+ªùnZZë—Ë;ÖiìX§šå£G¥!!âO?¾{WºxñkšÇVËKÎÙeÖ[ˆŠÊóó{ú›ÈÈ<"rwî[q/¯qÉ®··7ÜÖÂB÷Þ=ix¸„á3\5¼ÜøñN—.å¬Xq3)©dÚ4§sO?ú¨Ó™3Y ÆìÚ•Ô½»©¡¡ŽDRuÿ~q\\áÎýÙÙÏ£>°3:ž<™ñë¯I11={š––Ê/\È)(¨òô4õö¶ ¢9s¢LM={š98èËd5‘‘’ŒŒ2vþÀ‹Åö’svííõÞ~Ûñðá´·Þ 5Ê^G‡{òdFnnåС6Xdš’]Ð&&‚1cƒƒSwï~È”v®·Ù˜>Ý5,L|ìX:³Ë,gÛàR ¬!Cl,,t/\È!"Õ9 Ddo¯¿{÷€… cîܑ޹#eËÝÝÌt ¬KãM›ú,[v#6¶ 6¶€)dÖÙe^Yóó³>w.ûôéLÕxÖ¬éÑ$±½°U«<%’ʰ°Ü={?//³ï¾ëÕ|W $»ÐV89º÷èaV·°[·§“>×®í9z´Ã½{ÒòA³¾ IDATr9GM! …ÜÝ»„…å&&ééñ}}­5ù‚‹Çã¬^í_dhÈïØÑ¨ÖÑ.]ŒOrãFþ;ÒŠ …µµÈÍ͈Ŭ÷vØroo‹Y³:ª lÄÛþý-BCÅå×Ãôwï§MmÙÒW"©Œ‰ÉOO/ÓÓãwè`ЯŸ» Yƒ±5‘ˆ·k×ë11ù·oÖÔ(_{ͤo_sÕ¨šG©~Ö³˜9˜³«õ0gW+5ÕÿÅbqii©š ®®.AAbuuZ\h¨xúôðåË=¦MÓtÒ€†æÍ³"¢Í›Å-ˆv200°²²Ò¼>Fvj“H*÷í{ô¼£ÎΣFµùEÜþ%ìÔ–—WTÏ2´Œ¡Cmì´Hvaýúõ‹/ ñõõÕ¤þÒ¥K×­[wóæMOOÏf šÙúõ´x1…„fž–.¥uëèæM£o­ž7e–an. tÞ¹ÎÎõ Z!$»ðoää¤Ï®ÉP—……®š£Ð†à‹ä°hÑ"¥R©á°.h•E‹H©ÔtXZ $» µÚX²»téR‡sëÖ­ßÿ½k×®ºººNNN«V­ª©©aëLž<™Ãáäå婞ÈJ¥ÒZílÛ¶­sçÎ"‘¨[·n'Nœ ¢²²²ùóçÛÚÚêêê8066–mdýúõçÒ¥KlIzzúÌ™3µµõ¤I“ꆽuëV777]]]gg篿þZ.—³‡òòò–,YÒ©S'}}}kkk??¿C‡5j=¸¶G"!27§´´§…¡¡ÄçÓ€¤Ò9ÏXº”8ºu‹~ÿºv%]]rr¢U«HåÑÓäÉÄáгþqá“Gÿ´mÛ¨sg‰¨[7:q‚ˆ¨¬ŒæÏ'[[ÒÕ¥IåÑÓúõÄáÊ£§ôtš9“H kkš4‰ê{ô´u+¹¹‘®.9;Ó×_?swyy´d uêDúúdmM~~tèi÷£xåÚäœÝÍ›7ïܹ“ÙNKKûòË/kjjV­ZÕØvÖ¯_ÿçŸ2ÛqqqcÆŒ ]¼xñÕ«W™Â+W®øûû'''ëêêÖ==%%ÅÛÛ;77—Ù‹Åûöíûûï¿/^¼èååÅV[·nÝþýûÙSV¬X‘˜˜¸{÷n¦Äßß?::šÙ.//‹Å!!!qqq]»vmìí´tð ùøÐ¸qFegÓÿý™›ÓÄWûgrófzòè)-¾ü’jj¨ñžÖ¯§'žââhÌ ¥Å‹éÉ£§+WÈߟ’“©¾GO))äíMO=‰Å´oýý7]¼H*žÖ­£'žRRhÅ JL¤'žüýéÉ£§òr‹)$„ââH‹=À+ׯFv{÷î ÊÊÊ*..Þ³gŸÏß²eË Œ†9rdûöí¹¹¹ùùùË–-“Ëå#GŽ‹ÅÿüóOqqñLJ ’••µoß¾zOŸ?~nn®OLLLYYÙÝ»wÇŒSRR2sæLÕj‡Ú°aCVVVAAÁÞ½{Ûµk·gÏž .QVVVtt´»»{TTTYYY~~þåË—ÇŽËå¶ÉçÒÞÞ´a]»FŸ|Br9M˜@ íÛG¶¶ œ¸w/QVÓž=ÄçÓ–-/2zämßN¹¹”ŸOË–‘\N#G’XLÿüCÅÅôð! BYYôœGOóçSn.ùøPL ••ÑÝ»4f •”гž¢ (+‹ hï^j׎öì¡ ˆˆ²²(:šÜÝ)*ŠÊÊ(?Ÿ._¦±cIë=À«Õ&Gv¿øâ‹yóæ1Ûï¾ûîÑ£GƒƒƒÓÓÓÕÎÊ•+gÍšÅlýõ×;vìH$çÏŸïÙ³'~ûí·½{÷¾wï^ÝsËÊÊNŸ>miiyâÄ ###"êÒ¥Ë_ýåééyëÖ­û÷ïwêÔ‰©¹`Á‚O?ý”Ùž8q¢B¡˜2eJppð!CÌÌÌD"Qß¾}ûôéCDzzz>>>>>>/Ò)mμyA?ýDwîPh(­]Kƒ7|Ö_ГGOï¾KGRp0¥§S#=­\IO=}ý5íØA ?O={Ò·ßRïÞTߣ§²2:}š,-éÄ 22""êÒ…þú‹<=éÖ-ºŸž}ˆˆôôÈLJþ%àj“ÃHµÖCpvv&¢’’’ƶ£šVr¹\}}}&Óe899‘X\Ïçþ=z$—ËÈdº >Ÿ?|øp"JJJb ™Öˆ#Ø B¡pÇŽ‡öòòZ´hÑü‘ššÚØ»hÃþ÷?rr¢ÐPò÷§ÿþW£Sj­‡àìLDÔøGÿLZÉå’ƒéë“Ê£'''"¢ú==zDr9 H*žø|b´Ê£§g=ñ´‚PH;vÐáÃäåE‹ÑпêѼ*m2Ù‰Dª»‡ˆØi ÌÕWÖˆ¨¢¢¢n;µfâr8œº%u›ª[¡Q˜SØ'M𔑑±bÅ ‘HtàÀ.]ºŒ5ª¸¸¸±Í¶IÑÑ”‘ADôঠ볞˜nd§10sj=¯ú}홸N=%u›ª[¡Q˜SØ'M¢Œ Z±‚D":p€ºt¡Q£è_òè_HllÁ¤IagÎdµt -ïìÙ¬%K®OzeÒ¤°ÊJed”}óÍí™3#&M ;y2£¥hEÚd²ûÿìwXTG‡Ï.K[:R„¥. MA,6 ˆ¢€±ÆD±E¿ØŒ±%F‚&1°`AŠ¥ÚPDºôÞ›,Hï°åûãêÍJY¤‰ó>yòpggæüfÎ]9Ì=w†3222ŸŸ—477GEE ¬‰ôêÕ+öÀ”Á`„„„€ºº:^ÌÞ000ÔÔÔð›_~ùåÑ£G‘‘‘?>vìØÀª‰¼{ - gÏBv6¬[7}ÊȰ¹š›a ]**@"Á«WŸ¦ „„°¹>u=°¹DDÀÆ~ù=‚ÈHxü¾×÷—ººŽèè÷ïÞ5s¨“™Yïäôêþýâ^ ¿\nÞÌß²%Êϯ("¢2:ú=“ 55í66/<>¾¹¹9==ÝÑÑ1%%ÅÀÀOØWW×?þø£¼¼¼¦¦æöíÛÛ·o€eË–@LLÌ‚ üüüòóóÛÛÛËËËïÝ»yyy«vÄA§ÃŠðþ=ܹ;vÀ?‚Ÿœ9ó¹ÝêêìÚÐÒoß‚ ´ëAH¬¬€F[[ˆ‡æfHOGGHI`s=¸ºÂ@y9ÔÔÀíÛ°};À²e11°`øùA~>´·Cy9Ü»0ê]?È44tDG¿/-mîµðËÅÛ»€D"¸¸è߸azó¦??14ô]]]»¥¥¼»»ÉÍ›f ( ·FA|‘/¨qÆÑÑñСC¯_¿ÖÖþp´=…B±°°ÀÖ\WWר¨¨çÏŸá…—.]b¯fgg·k×®]»vá%+W®477ƒÀ^Ÿ@ 899 ¬ÔÇÞ½ðêœ:3güñÄÆÂÞ½0e ˜šö¿[GG8t^¿†® ,,` ]®®ÏŸ›ëAX>u=ØÙÁ®]ÀæzX¹ÌÍ €O]Œz×#>›ÒÒfMM±•+©l%Mðý÷ã&L>]1B…Á®€€@ppð®]»^½zE"‘ÌÍÍ]]]÷ïß?Pýãé¶T*566ÖÅÅ%((ˆF£IJJΙ3çÈ‘#ZZZìõ÷îÝkbbrþüùÂÂB …²~ýú½{÷bMž<9 ÀÃÃ#66¶¬¬LJJÊÈÈhûöísæÌ(µ#‘{÷àÌX¼þ÷¿%¼¼àí ††°bÄǃ¬l?{€à`ص ^½ ÌÍÁÕÎõÿ¥ÛR© ..4HJœ9pä|êzØ»LLàüy(, Ö¯‡®‡É“! << 6ÊÊ@J ŒŒ`ûvÝ® jkÛ¯_ÏKJªáç'Ξ=véReÌ3÷ï_¹’ ÞÞ…¯_Øyùr•®…·n™%&VŸ:•ºzµš¡¡äõë¹ééud2iî\¹Å‹Ùó±32êüüŠŠ‹›X,PVZ¼XQWW|°ýþÑ£’ââ&>>¢žž„ƒƒª”?ܸ‘XZ_ßÑÞÞèäô ¯_\܇'É$ltƒ­@ ¾ }ÚžÖÞÞ¼½½MψæðáÿüòKddä”)S†[ËàB vìØqöìÙá2b8|~ù"#áKvý@}i4Zcc#‡ êêjnn4kkNuúÁË—´õë#6mÒ|ô¨¸¤ä¿œ„o¾¡:;ëÀ_ež=Ûy·¸;uºæä,Ázûö[uÿ’ŠŠVü#++Š›Ûd,Þõó+Ú³'®Ó¿‘gÎL²±QìIäªUá §TÅÅùþþ›Ó]tüx²»{{‰˜ߥKÓ %Kºz5—C[Œœœ%½ÖA ƒÊÖ­²pî\w[ú >aaaÙ¾¬‹Â•ÝA¢´´;OXEEe¸µ †–ÒÒç #×._ÎÒÐ=~ÜPVV 5µöï¿3oÞÌûþ{ yy²­­¢ˆéèÑ${{[Ûñ¨‚¹k!εk¹ªª";vèHKó§¦Ö^º”XêãSho¯ Ø’ðêÕj&&Ò$¡  éáÃâúúò¢£ßsv±5Úž )swÏ!‘kÖ¨Mž,ÝÐÐáãSYùãQÏŸ[¬Z¥6ožü† òòä£G ðVwîäûû—?n¨¬,Äqòâk»\±iÓ¦ÿýÌÌÌúôÇâ‹gÓ&ø÷_3³þçW aŸ™üü<0s¦lGóܹŒ„„yy2…BÖÑò”)Rx“n 1¤¥üüf òÀìÙc'MóÍ7á^^ùX°K"Ç=|x^íZµ†NÁŸ–ñòrz-øÎ8yÒËmlW¯ó¦òéÓrkkв²‰D&±ååKèé‰kk‹q²@ _%(ØåIIÉ3füóÏ?Ã-1äHJÂŒ€\?2°´¤`‘.ÆøñPSÓÖ¿Þ¬­)X¤‹1uª´‚93óîÏ߯±kWìÎ1sæÈik‹Q©ÂD"AD„—C‡“'wާûDFF  ‰=M‚@•7o*ÓÓk­­)ŸÓ9@| `—+.\¸páÂ…áV.\äú‘„˜Ø'±&//vòK?{åëT".ÎWVöaŸÚ ttÄ=*ñó+Ì̬okc.\¨°k—ލhñîgæì¶µ1EEIN,ãÃ>êm4èì"ˆÑÃÇ3õX½b¤¦Ö²_65Ñóòddþ;NOUUxëÖ›l¤¤Ô®Z^YÙÊ!ZýÌœ]œœz­UVö? Éɵ ++Øs;@ô vÄèÛ{«¨¨©×BŒÐÐ2_ßÂ¥K• ¥…qàÀÛæfÆ‚’³OŸN]ºTIMM»”•àå%FG¿ç à3svÍÌd²³ëþ9ÎÕÕXB‚bbªþý7ûˆS¿èì"ˆÑƒªª°  Éϯ(%¥V\œnÝ2ë¶«¯­-¶gOü¤ÉÈæç746ÒÉdžÍ›?ƒwõjÎÅ‹Y’’üŠŠBííŒììz:5s&§÷?3g÷»ï4>,~ýºÂÌ,ˆJnl¤c[üÚÛ«Œ'ú9=#ÄWË(<.@|µðìß?žŸŸ'+«>:ú=¶ Ûm!Æ’%J?þ¨USÓžœ\ÓØHWQ¾vÍTIéÃ^{÷Ž7N´ºº-1±:=½ŽH$ØØ(þö›Q÷¶iiÛ·gLž,ÕÚÊHK«+*j mÚ¤yì˜AïÑhe@|L˜ qó¦Y§­d±Ba¼ÄÑQÕÆF)7·¾¥…gt[ˆ±c‡öúõêùù d2I]]”ýå°Õ«ÕV¯V«®n+.n"“IŠ™ÌƒŒªªð­[f••­%%Í||DuuöÝ'àÒ¥iì;H€ƒƒêŒ²ÊÊ€@ ˆ. `@|ˆ‹óuÝ(·ÛB2™GOO‚›B QQ^}}ÉžìJJòKJrz«l0––èö£I“Æt*QT$+*’_@|‘ô-ØŒŒ,))!tÚ1quuuuunˆFAAa¸% 1¤ô-ØÕÐÐ\°`Á ©AŒ\]]uuuçÍ›7ÜBÉãÇQ°‹@ ˆ¯¾»cÆŒ3fÌÙ³gI b„àêê:oÞ<äèQFIIÉpKAt›Œ@ ˆÑÊÙE _#Ý&û"bô¶C XXQQVnnní‚]@ ˆ…Él7¾|ùòܹs=<mkk›˜˜8Ü¢¾FP° ^^^³fÍJHHn!±Â¾,¼b¼fý6+¡xÄM㈆@ ˆDJJêÀcÆŒY¶lÙÁƒQ"](.. «­­F 7nܘ5kVrr2{áH6 (®.Ë «mVÿ¾¹1ë·YÉ¥ŸúwC ÄР¤¤äááqúôéùóç?}út¸}E `V¬XñüùsƒaÔPXXVWWÇ^8„V¯x¾û¹â°ú·º0,+¬®åSÿŽa2Â’%KBBBLMM7mÚtôèÑöööáõU€‚]PTTœ5k–¸¸øp é̈öe¡(©8Ks–8yÄMãˆ6by™÷Rý¤ºGŒÇp é‹åèmÃÞà¬ñŸÆßû|SÓSåÿ=úŸúIuõ“êÍÍxáH@ÄÅÅO:åêêêçççààPQQ1ÜŠF?Cq¨DKKË?ÿüÆb±ÌÌ̶lÙâææôàÁ111¼Ú³gÏ|||òóóyyy'Mš´qãFYYY죋/ÞºuëòåËýõWNNެ¬ìÚµkgÏžÝÉ7´´´\¼x1++ËÖÖvóæÍ^^^ÿüó««+ûjXX˜¯¯onn.™L644ܸq£¤¤dOd0wîÜ ¢Ñh’’’sæÌY½zµ€€@'» .\(,,”——_¿~½©©)Va×®]~~~°uëVlB \]]» ãÒP¯³4°´t´üó⟰Ì0°Ì4̶ÌÞâöÔ-(%èÁÄÙü›ñÌ'Î'ÿ}>/ï$åIgn”ýèš—oEݺ¼ær£ã¯çåTäÈŠÊ®5Y;[«‹¹è¤¥£åâË‹Y´,[Ûͳ6{ÅxýóâWWö5Ô°¬0ß8ßÜÊ\2ÙPÉpãÌ’B=û—ɸs'(%ˆVO“’œ£5gõ´Õ¼§ý£Ý†Ö† a « åÅå×›®7Uÿèß»»üâý`ë­­Ø„(¸:¸vÆ¥¡^g 1ÄЙô­÷·†f…â%Ïrž…å…eþœÙµrDAÄýÔû‚¼‚--C¨@Œ,,X ««»qãÆ%K–\ºtIGGg¸f=Ø­««›9s&þú¡¿¿¿···ššZXXXGGVÈd2×­[wýúu¼•¿¿¿››[HHˆ¡¡!äåå………=zôèÀÍÍÖBnܸáååeooß§N|||œÛÚÚ@WWº¤Æ2Œµk×zzzâýøøøœ'ƒNV»Vó»óo[“¥«exÛ´ÇxvþÉ®'2"2¸]ïXogçvúGÿ¾ö8çxîÇ9?@bIbAUtz­“0. qž%İp.ü\hVèò˜ýæûg©Íâ'ñÇÇ^ŒºØµf½íPð¡%ã—¤W¤§ÓÒ‡^*9¨¨¨x{{oݺÕÑÑñòåËÆÆÆÃ­hÔ2èÁî¾}ûþùg*•š™™yêÔ©NQÝéÓ§¯_¿N¥R7oÞ¬­­ÝÖÖréÒ%''§´´4"ñC®Åž={.\¸lÙ2aaá‡^¾|yß¾}xÇe'‡¶²²Z¾|9…BQTTì*øØ±cžžžd2ù‡~˜ú×wÏ —-æ~˜øðò«Ëûüöáa—~pØj¼ÕrãåqŠ¢dwþ}|Ì3Ò“ÌGþaö“U&óyâ ã.„]`Aþ½·?<'\ZDzåm9킪‚߃O.MÞtc“ßlþ}xÄr¼¥ãdG^ ” K¯.íôÚ9OgžæXÍ3ögÜž¹¹‡»»9ºéQô ÛÔ. qž%ÄÐS×Zw%ú ‘Ç}…»®¬.VhªjjªjÚµò¹×çÛ÷ÏÙ¿êΪ¡•‰@ F"¢¢¢W®\Ù±cÇúõë/\¸0}úôáV4:Ü`—N§_¿~]DDäÍ›7 ¬­­.\ˆ…t,ë?þ;vlll¬„„Vhgg'!!qòäÉÈÈH¬pÕªU—/_Æ~^´hQvvvXXXEE…ŒŒ ÷ØØØx{{÷$˜Édº¹¹ñòò¾xñÿËÎÎnÏž=$R7sE§ÓÝÝÝÂÃÃLJ®X±BKKëþýû4 O¢X¸p!’.Y²DNNÎÅÅåêÕ«'NœÐ××WUU€‰'â¹ ý6Äa–zu¿¡3é×ß\y³ï EœÖzÖ õêùÔ¿¡Œ{0V‚üÑ5†vd‰“'#ó"MÔ>úwêªËk>*×_”MËË «h¨‘á¾ïM=û—Åt{êÆËÃûâ/ŒUŒñ~öXî!»ó/“îî.À+¾'|œìÇiŸ´BëÖý„û´zžD±pÂB<$]2q‰œ˜œ‹¿ËÕˆ«'ìNè+ê«J©ÀD¥‰xnC¿ q˜¥žF=úˆ(ˆ8ûêl:-ÌGž«1w÷ÌÝ’äY( &ãæÛ›¾I¾ÅuÅ,KYBy±îbGGA^ÁAó"÷E+½ÕbœéöDfeæå¨Ëgä*Q;³2ó;ïïÚíÿ.ûW_N Ä"ˆ‰DúóÏ?ÿ÷¿ÿmÞ¼ùÆúúèË>ð n°›——×ÔÔ´téR,ÒÅÐÐИ>}ú³gϰËüüüÊÊJiiilõ‘Åbak¨•••‘‘Ç©NNN솅…UUUÉÈÈpßÉêÕ«9 ®®®ž7o^§§ ¢¢¢=Õoll´²²ÂPÀ6Ò»páBRRÒ¼yó°Âõë׳7\¿~½‹‹KRR1ý3Äa–¸´Å=y•yMmMK —b‘.††ŒÆtõéÏ2>ú÷}~eC¥´ˆ´ý…®T6T@Æ» >>Àßã¾…^KIIq¨ÃvÚu×w×°ö³°;MV37°†8ÌÒ€ÓÒÞÝ=”Ç_ ±­**Ÿ¦wçšv6ÿ~úŠ`Q÷(HpôoG H síߎ֮ÂðìSŒN“€Uàþ $î q˜¥¯„ÀŒÀ¥zK0ùAFX&¥<Å9Ä9³2óß7ÿB³By_ø»‰Š ‰H*¨.xö€ÌG<=ÕÍÕP–à“䃕”Ô•xÄx„ç‡û¬öâ oÆßÌ~Ÿü]07}^‹½vüÙqSS7[Þƒ0 IDAT7¼1Šáááqsssttܲe‹··· à`=Œú:Ü`W^^Þ¾}Ë^Èd2ÙË£P(ÁØØøÔ©S]{ÐÐÐàÆ÷„^û‰ŽŽîèèàååíÕ®œœÄÅÅ1™L<-bbbàãð1âããÙSbcc1sìªzJ î“¡¡D^\Þ}ê_3±„Í¿â`¬b|jiw®‘åο\wÒ‹Å)!:?ºƒÑÁËÃ…Åä ®0ŽÉbâiÁS‡_Ïž¢[‹™û  zó/׆úòú'­ObŽ6V4¾°ô¼‹ó‚2ƒ°`w¬èX˜;n.´eµµeµ9wØíž ÜÃd1À7Ùwí¤µë'¯—”x[úöpðáì÷ÙW¢¯l3Ý´FÚ™—g~žýóX‘±œ{c0GBŽÜŒ¿¹ÊhÕAóƒÝ¾4‰@ F%‚‚‚çÏŸ·µµuqq9yòäpËU î>»ÒÒÒúúúñññ'Nœ`2™@§Ó8““ƒ×3fÌÌ™3ããã³²²LLLf}DYY988˜Ë‡ïÒ HJJš™™åæænذ¡ºº+lllüõ×_1ý]hhh˜‘‘±wï^ls ‹åææ:vìXöÌ›cÇŽa.nÛ¶ ,,,°aaaÈÍÍíI÷††ii}Eýø¢ø'°_ùt&ýÀ½9lþ3sÜÌøÂø,Z–‰šÉ,ÍYØÊc”ƒSƒ¹|ø> €¤¤™†Yneî†kª›>ú·­ñ×Ç¿bú»ÐPÉ0£>†¸PXU¸íö6°Ðùè_aÈ­ìÙ¿\B˜ª˜²ÿI£(®¨*©ZXSˆ]˜s€Ébι0ç`ÐÁ›oo¦ÑÒ[¿QŒÎ=(/*/È+h¢bòÛÂß ,/ «ãâ¬)­édàÄ©#8qþfüÍMÓ6™wEºÄ׆‚‚‰'|||^¼x1ÜZFƒ¾Ã/¿ü²xñâýû÷»ºº*++ççç×ÔÔèéé%''ã;y;wÎÔÔtãÆ»wï¦R©4 Ž9ÂÍ ë@u®®®¦¦¦×¯_¿{÷®ššOFFF{{ûž={Ø—TqNŸ>maañÛo¿]¹rEMM­¨¨3zúôiöwÚ¦L™¢¡¡ÁÏÏuh``°bÅ ìÓ‰'ÀÆÿþûo2™Œí³Û?CCÌ/6¿,>¿xÿ½ý®O\•Ç(ç¿Ï¯i®Ñ£è%—&㿪Ï9ž3=eºñÆÆÝÞ»©ÒT’@AU­žGáf…u :×®¦§L¯¿¹~7ö®š´‘'£<£Þ¾Çjû’*Îée§-ÎZüüÛ•ð+jÒjEÕE˜ÑÓKO³¿Ó¦ ¡0åø Y ~?Ö¡¢Á ãþUœolüûùßd>2¶Ïnÿ !8£-«º14¾$>®$.¦(Æí•›YâO›?5¥5{jò™9»ª’ª˜]öBY¨jª€Ú–Zl ^SŸcL832÷dbëÐ0G}Î˼—>I> ´ôº&@ FóæÍ[´hÑ¡C‡BBBP2Ã@1è'¨-Z´èÚµk’’’111L&ÓÓÓ{|-gÀøñ㣢¢¬­­›šš£¢¢h4š††Æ©S§°”SnN`âĉ¯^½š>}zkkkjjjRR’€€ÀÁƒ»ÝdÌÍÍýýýÕÕÕ«««cbbh4š¼¼ü7V­úä…˜?ÿüÓÆÆ&333))©½½ÝÜÜ<00fff¶víÚŽŽŽ˜˜˜°°°N[³õÉгHѵõ×$…$+*b b˜,¦çOŠ„ù?ú—2>j”µžuS[SbqbT~­ž¦!£qjé)>×þˆN`¢ÒÄW{^MWŸÞÚÑšZ–šT’$À+ppÁA<Ú脹¶¹ÿVuõê¦ê˜‚Z=M^\þÆ·7VMûÔ¿ÚØd–g&•$µÓÛ͵Í·âÂÌ4ÌÖš¬í`tÄÄ„e…uÚš­O†ááì !ŵÅùÕùÊÿ½ÏÁCà1V4Þ4m“«ë‹Í/Û÷ì<=S”¦@§Ms±e)!)èiW»nÑ«w{åm"ètË)¶$v@•"ˆ/ƒƒÖ××_½zu¸…Œò»‚íuÀa뮞hooOII&“I¥Róóó;U«««ËÉÉa2™***ÒÒÒxy^^^QQѤI“ðø/466êw'P\\œ››k``Ðé2–ŸŸ/&&¦®®ÎÍÂpNNv°™––ûcÖ½{÷ž:uêíÛ·¥¥¥EEE EII©k¹¹¹mmmâââ= ëÉPŸf‰3aÇŽgÏžå²~;½=¥,tät˜,&uUW0ÿdÿ¶ÔåTä0YL•1*Ò"l®©Ì+ª.š¤2 ñBcc!~¡~wÅÕŹ•¹ŠÞ!£ÕÓòßç‹ Š©Ë¨s³0œS‘ƒl¦5öSÿúî=têíá·Š¥µ¥EUE Š’dwþm¨È­Èm£·‰“Å  zÖ“¡>ÍR·ôûûÛ †½Úêêjnn4kkNuúÁ˼—ëﮀe–mž¶YFX&•–êâœQ‘±Åd –³kÃ~Éø%“'+ˆ+t0:" "vùïàˆÝ>ˆ£Ý5»¤wIxÎnBY¡ C5»gîÞ4mS·My,J§¥'íJÂ6‘ÀGwÀüÀ:ãu%u%k5ÐÎ/9?KmÖà)G ƒÄÖ­²pî­ÍÏ;çîîþâÅ öƒf8ÂÂÂøŽ«Ü0GÏž=»aÃì³úúú-[¶Ðh´7v­)&&fddÔµœJ¥R©Tn ûÚ (**v{º„¬¬lŸ¦R]]]]]s …¾ ['dddØÓ‹{Ö“¡>ÍÒr6ôì³ Ø1fõ-õ[nm¡ÕÓ6Îìο‚bFÊݹFšJ•»Â¾vŠ’ŠÝž.!+*‹o^Ë ê2êê2½ùWœÂ¾ ['dDdØÓ‹{Ö“¡>ÍÒ(ÆRÓò^Ê=|ëP£¶qÚ‡û-µ<õméÛNMV¬TI¿ZþêpÓájìÕ«±WñB=9½5“Öô¯C1¯o¼Öy­Ûä»éô‚Ó‹uŒPñ…°~ýzww÷»wï~÷Ýwíe40èi pèÐ!)))]]]999OOOaaá={ö iÄpèÁ!©RºGt ŽÈí–óŒôæÞc‰ü‹ŒŒ®Ø_Ñ—× HJØO°¿½ò6¾>ê»Ú÷ÃoÔ¥Ô±OŒNXŸ8`~`P%iËjß[sÏJËJ\PœD$)K(ož¶ù–Ó­Ï9ÉBJHêÖÊ[)w=ÚåïÙ{1ŠZ¶l™§§g·/Ç#úÊP¬ìîÞ½ÛÕÕ5-íÃkÑ&L¸xñ"vfb°Ûb·ë×´²þU˜pqõEìÌ0b™A‘³÷ÃFÝÆ Ú²ÚÎÎC§é#Ô1Ôs¶ç¸¯ï¿Î¿S ûè0DøEn¯¼=âĈƒƒƒ‡‡G\\\§S®º’œœ¼dÉ’mÛ¶a= =¥¥¥Ïž={úôiTTTGG‡»»ûŒ3Ø+𛛀ššZppçíÆÝÝÝ?7nüßÿþ7 ‡"Øuvv>xð`AAAee¥¼¼ü×v4È÷ßoiiÙk†Ã—‹óbçƒ ¼/¨l¨”—Wó•ùwÆ÷–ã-{Íp@ ‚{ÔÔÔÆÔk°;ì,]ºôýû÷½V#‘H¹¹¹ñññX^+މD¢Óéƒ&pH‚] ‘Hܤ´ŽJ† kvØ!Iܤ´ŽJ¾Â¬Y@ sæÌ íµšžžûñC…B±´´477 òòòê©Ú”)S|||؃ÝÄÄĬ¬¬ùóçw]ñ@†"g@ Ñ'ŒŒŒòòòð#®F,¾¾¾ÎÎÎfffœ·®´¶¶~üøqKK ^èííM&“­¬¬U! v@ F,+--Á`\¿~ÝÆÆÆÐÐpâĉ¶¶¶îîîxȘœœ¬®®îææ†]êéé©w~J+‹Åòöö¶··Ÿ0a‚®®îÂ… ===û´m¿Y¶lYSSSPPvÙÒÒòèÑ#kkk2™<¨vÑÉL@ # 11±¢¢¢×¯__ºt /OIIIIIáåååþT)™1cÆ‹ÅÚ½{÷ƒð222œÓÓÓýõW¬DSS“Áàx®¤”TddçJrÀÈȈJ¥z{{/Y²‚‚‚—-[V__ßÞ¸­ì"@ŒDJJJBCCÿú믷oß&''ûûûoذ¡§ÕÐäää6<<<äåå===±ªyòdâĉ™™9(ƒ;;»³gÏúøø,]º4&&f×®]ƒg §oÁnVVVvvv·Çz!F/^ôññé½âË¡ªªJCCc¸U ‚[Èdrssó¶lÙ2gÎ333mmí‰'êèèôÚ6..n÷îÝ/^7n^˜Í`0ÌÌÌ€Åba©ºØÿËÊÊmÿ!##3cÆ ???ƒA$íìì†À(ZÙEtÏÐäª#è &“I$µµµCCCããããââbbbÜÜÜ$$$þüóOMMÍž&&&nß¾ý¯¿þêcG²u›’ÛÑÑý0x9»K—.ýñǯ\¹bjjŠ/0*} vÇ7nÜ8ooïARƒ!„7ž={v¸… {{ûá–€@ ˆ>P__=Nçáá166Ƙhii™7oÞ¾}ûüüüºm•––¶eË–?ÿüS__¿ÓGjjj©©©"""ƒ-¾'æÎ+!!QSS3d¿•ÐÊ.@ ÄH¤¾¾^LLÌÞÞ~É’%“'OVPPèè興ˆ¨­­mmmí¶IVVÖÆÿýw##£®ŸÚÛÛÇÆÆ®^½zëÖ­"""YYY>>>+W®411AÎÙ‰3¨&:[Jc1°¤W¤‡f…ZkY«K©@EcÅ„;S”¦LQš2ÜÒ&‹™X–UÕÎh·ÑµQ–øºŽãF ¾r***$%%SSS»n•°bÅŠ®õ«ªªV¯^ýþýûo¾ù¦ÓGÁÁÁjjjvvvÑÑѾ¾¾ßÿ=7rî]»Ø÷2[¿~=öÃùóç---û×çÀ‚‚]ñ“FKs w'= vi 4·p·m¦Û/Ø-«/óIò™¦<ÍXqЬw uyœþ¸ºùÃùIò(ØE ¾ÊÊÊjkkµµµ}}}½¼¼"##KJJ©Tê²eË–.]ÚµIEEÅû÷ï9ôI N:5sæL//¯”””æææ±cÇjiiÙÙÙMŸ>}І2Ì `@ŒdEd5Ò€²ú2·p7"Ï»µ-µòmŒ¶tZú`›C #ŠÔÔT"‘¨¥¥%$$äììÜS5==½œœìgmmmügX[[[[[”Î3gΜ9s†CeeeΪæÌ™Ãì~ƒ‚]1z–Ùfºm¸U ÎÎÆŠÆcÈcœCœQ°‹@|m$$$¨ªª ·/žv?.//¿víÚïù3±Â¸d„è?~Îø*HKK+,,´²²n!£v÷ïß///?àÝ~>#VXWŽ=:kÖ¬NÁîÑ¿ÿTyù‘øHeÄ ëÊÑ£³f)v v¿ ýÃEÒ»¤ƒAL†±¢ñ¹ ÕÍÕÁ™ÁEüÕkC÷÷æöæE:‹”ĕƊŒ-­+]ww]}k½¾¼¾¾œ>‰/¥<%²0ò;ŸïB¿ æ.ª-Zëµ¶±­‘"F1Q1Ë­Ê}•÷ª¬¾l²âäe–ù$ùLUž:Yq2g»ç#Îã«¿Ý"%$…‚]Ñ-÷îÝSPPÐÓÓn!£A v¼ÏaÄ ã’¢ÿþº£ÓˆÆ%_ºþ!àjìU“±Ít¾’ºÍtÛbŽ6léhy¸î!u̇£á©o­w±pYi¸’½ócOŽ=L{è4Ñé› m6º6'­OòòðbJêJx:EEEîîîL&3//õríÚµ***}šØ> °OtM-¥Ó™OŸ¥¤¼g0˜ZZc,,”:ßWqq´7oÊêëÛ)a++U2ÞöرH--I­ŒŒê‚¶6Æ´iò¦¦”N=44´ûûçÖ+(ˆØÚª3,W׸ɓÇZ[S» ã¾[Úz‚ÃxÙí&$T¼xQÌ`°LM)S¦ÈaŠŠêÝÝS˜LV^^³sV¸v­®ŠŠXŸ&¶O5Ä—Ä ò n™þ_ˆ©(®¸Â`Åå¨ËœÚèÚà‘.DFðxª›«ÿŠø ?¾©£ ’ß%ÃDˆ,Œ$ˆGçÅ#]PSè«à­¦[ûÚ@ àúõë¼¼¼Ã-d”0è9»iiiK–,ÉÊÊÂ+P(”»wïb§tFsrrzöì^L&Ÿ?~ݺu@§Ó]\\lll ÷íÛ‡ýZ€ 6\ºt o»hÑ¢òòrìRNNîßÿuqqÙ²e {°‹ ã²[ÎÚº…óxq»III'NœÀë|óÍ7$©¨¨ÈÅÅòóó±`Ö¬YX°ËýÄr9À~Ð)µ4-­jÉ’ûYY5l2„ïÞ]lbò!ã‚FkvrzôìÙ¹d2ïùóæëÖ}ˆJ]\"llÔ ë÷í{ùQ&lØ wéÒ|¼Illù¢E÷ÊË›°K99¡ÿµpq‰Ø²e"[°ûŸ0.»å¬­[8·›”TyâD^ç›ot<<,I$bQQƒ‹Käç×a?À¬YŠ**b}šX.8ʨk­+2–‡ÀÃ^¨(®ØkC öËêæj‹ñgøŸ]k6´5@mk­Œ°Œßçf• œ]Ñ***<<<¾ýö[2=üwë±ææfkkëÂÂB%%%+++>>¾'Ož¤§§/\¸055UNNŽÁ`,\¸066VEEeþüù¹¹¹<ذaƒ¶¶öÔ©S±~"##ýýý­¬¬tuuKKK½½½/_¾ìàà`nn 666åååãÆ³°° ÓéÁÁÁ6ôþ+„s·\jëÓx±j<Àìûùùyzzjhh>|XIIéÈ‘#^PSQQéŸ!Îü|š›;¬­} ë•”D­¬Tùøxž<)LO¯Z¸Ð/5uœœƒÁZ¸Ð/6¶\EElþ| ÜÜÚr6lÖÖ3u*®³Ìß?×ÊŠª«;¦´´ÑÛ;óòådmss%hhh·±¹_^Þ4nœ„…… Î .ذ!¸Wyœ»åR[ŸÆ‹U‹ˆ({ð ÇÊJUWWª¸¸ÁÏ/ËÓ3MCCâðáiJJ"GŽ˜=¡¢"†ç쪨ˆöÏçŽ>ÄÄÊÊ,{¼[\[ÜkCâ'ñ±¨€h;£ý»)ßu­‰L!. ^Z_ÚÔÞô™ñ.ÊÙE ýÀÙÙYLLìÛo¿n!£‡Á voݺUXXhbb‚m×ÑÑáèèèëëûÏ?ÿ=zÔÏÏ/66ÖÑÑñÆ<<~!ÅÆÆN›6ÍÕÕõÎ;XIEEŽ{÷lll°Ëùóç¯Y³& Únß¾]VVfiiùàÁ>>>hnnž7o^EEgyœ»åR[ŸÆ‹U«¬¬¼zõêš5k°Ë¨¨(SSÓ³gÏîß¿_IIÉÙÙùرcT*•ÃÒ\â<ÀÏçÖ­ŒÂÂzù{!!^èè`::>òõÍú矄£G§ûùeÅÆ–;:jݸ±€‡çCâQllù´i·\]ãîÜYøQgó½{¶66êuª¬Y‡m·og”•5ZZª>x`ËÇÇÍÍóæyWT4s–ǹ[.µõi¼XµÊÊæ«W­Ö¬ùËFE½35½}ölìþýS””DMŽ{C¥Š9;›ô{b¹àèÃPÁðaêÿ_ÿ§×ßM¼Û×~L”M¼½”%”mtmØË3*2DøE`šò4¯D/—P—ãVÇIÄÿHâ9»ü<üPÛRÛ«!”³‹@ úJppphhèõëׇ[ËèapƒÝˆˆpqqÁ·Dæåå=qℯ¯ïëׯàÉ“' ,,|âÄ ìQ;–B'..‹÷3qâD|‹t€L&8p`Á‚œåqî–Km}/†††éÀ”)Slmm}||ÒÒÒ&L˜ÀYsŸ qàçQ ..Ó±€ xy‰'N˜ùúf½~] Ož€°0߉QçX,–¸8ll9›NYCCCt`Ê9[[uŸ¬´´ª ¤9kî“!Î}¬´öqúã?ÃÿŒ(ŒÀwcàíü@¯l6Ù”´Ë—GŒ‡¾œ¾ˆ€HeceÖû¬äwÉîËÝ)b”Ó6>Jä—ì]=Myš˜ X^UÞ˼—W–_‘•SW$ˆÞIÞt&]BPzÞzìósvƒ3ƒ3+3 é]¼C%B²B¤>À/ñŸÇICÁ.1ÊhnnÞ¼y3…B9xðàpkm n°+!!yyyìaY^^‹Å’””Ä+üðÃÒÒW¼¸ÏËÆ:)((ÀsU±ËÏ’Þ/m½Ž#??¿SC¬kν¶^ 6—WK¥þÞååÕ²X ))€WøáiéÎ3F&s{ïaÔṪØåçiï¶^Ç‹‘ŸßYV‚5ç^[¯†¾Bì'Ø›ª˜>Ï}ÞÐÖ .¥>KmVVeÖ6Ómêc>D~²"²ø‰ ,¡¼ÍtÛDÊÄNýèÈê|_ŸRžÒÒÑ2Vd¬¦´¦¶¬6^ÁHÁè鯧o ßdVdòy¨c¨¦ª¦x®ð «‹u§ÑÒš;zÉ¥ùL,ÆY(K(w-ÇÇ‹@ ¾8X,VFF†¶¶6{aGGÇŽ;ª««ïÝ»‡œÁ vMLL<<<\\\LLL°‘N§c²LŸ>ÌÍÍÝÝÝétúáljD"Þ°¼¼¼¸¸÷÷N0¦M›võêÕcÇŽÝ¿Ÿ——Z[[Ù÷:èýÐÖëx1²³³¯]»Æž³{ÿþ}qqq¬D@@€}¶ß†ЇGŠ‹K„‰‰<™Ì t:óàÁp˜>ææJîîÉt:óðáiDâ›–—77pieÚ4ù«WSŽ‹¼ß–——­­tö½úG?´õ:^Œììšk×RÙsvïßÏç×у•ØhûmèëDNTÎi¢~©-£­-óßï aöuV,Øí¶`¤`d¤`Ô“!‘d¦jf¦jÖm[zK7% IDAT•³®ŠùšóçkŽÚí5ˆ¯“sçÎݼyóéÓ§ØãV ÓéÛ·oŽŽ¾zõ*û²b Ü`×ÉÉ騱cááá:::ø¦iii›7o€åË—»ºº^¼x188ØÜÜ\VV¶¦¦&;;ûåË—?ýô“±±17V9 §§gaaÁ`0‚‚‚àsvc^Ç‹!--½víZ//¯ñãÇùùùÑéô;w’HÜ¡®®þöíÛU«V©ªª‰DlŸÝ~lœœ´Ž{^ª£ão–V%!!°y³,_®éêwñbRpp¹¹²¬,¹¦¦5;»æåË’Ÿ~šdl<–+ŽŽZG޼ÈÓÓ»ja¡Â`0ƒ‚ò;às6Û^Ç‹!-M^»6ÐË+cüx©¢¢?¿,:¹sç$éßLêêâoßV¬Z ª*F$°}vûa@ _>tss#‰çÏŸß»w/tttìܹóõë×îîîè_øAapƒ]2™€m{á¬P^^þîÝ»Øß.$) `ýúõþþþîîîxC …2yr/Gq∈ˆÜ¿ñâÅ™™™™™™0vìØ3gάZµ «ôC[¯ãÅ011ÑÒÒ:uêT`` V²råJöÒvîܹnÝ:OOOìÛg·†2™7 `)¶ì… ‰eß½»K9 ‘ˆKׯò÷ÏuwOÆR(“'s«SD„ïþ}ÛÅ‹ïefVgfVÀرBgÎÌZµ*«ôC[¯ãÅ01‘×Ò’Øà½Á'É'¢ ›ŠáVô ™•™N7î§ Ýé9Ó¿-{«!Õýk¬•M•ÑÅÑÕÍÕƒg·®µ.º8ú]ý»7ÁÎgZé‡_JëJi ´®å}ý® ÍüŒTUUÅÄ ‰Dþá‚ø@ßÒªªªJJJvîÜ9Hj#‡'Ož G2†[Ågq'á‰H:4÷u •H òóð;8Ì ÎP–PniCg¼g§©nEŸÐÐÖ]=]uúY|–ólŠÒ!>¡Þ«Ž »ý£O~‰,Œ|’ýäEî "OAMÁlµÙ¦ª¦ø§Ô1Ô›N7)bhÃ,Ä@ß‚Ýììì’’´AÆ×@JJJJJÊp«@ 0---Ã-á³(©-Ñ”Ö\i¸/QWTWFIÃEI]ç©øšÉ«Ê+¨)X3iÍWbwظÏ;ñ¿£Ås«r¯Å^[¡¿âW«_±!>¡)JS†IÑ7úìN:¼½½{­‰ø¢!^ˇ[b`±Ÿ:u¸%ô—q73ëÛêÛkÚn:uúô„õ ‹»ùÕù¾É¾Y•Yt&]URu™Þ2mYmì£Ä²ÄSÏO­ž´zªÒÔëqדÞ%ñ“øg«Í^ª·”ýTšæŽfÿ4ÿ„Ò„w ï„ù„'R&.›°LL@¬S'F£kq×2*2ÄÄ':NR˜©´ÔÛoo—Ö•*ˆ+|;ù[ .µqžŠêæêæöfl*掛»Þx=öitqô£´GŵÅ|<|zrzRBRt+{Æ{¦–§ÊËØO°ïŸxsr?åþ•è+àèý:ÿ5VÿÖÊ[œÇõ9<ËysÔçà%A™AAAõmõRÝ£ô'”%œ~~z‰Þû öìM’ß%ŸxvÂv¼írýå=Ù€ŠÆŠëq×Óiéd>ò\¹‹uã÷Òóœç—¢.혱c²âd¼>VøÓÌŸ°9Ç(¬)¼—r/£"ƒÉbRÇPí'Ø«QëvìMíMÎ!δFÚO3~27€žo*îý[ëè-Â/òÝ”ïr«rÉ|dª$5,/¬®µ¯“W•w0èàÒ K—ê-Å 9Ü~ÜÌ7ßGnæðs¾’ˆQ Ú@|Öboa™‚>Åsv»rëí-—‹]¾Ì{éïù«å¯Ë&,ƒy„† †'Ÿ,©+Áêg§”§8[8c—µ-µ3ÿ™ÙÔÞ„÷”t%úÊÝUwÄðNôåõ ý…Öø!»ñQú£KË.5µ7íx°·´!HZXšmÜO…šÔ‡0èøÓãî1îxͧ9O=b<.Ù_2¤â:'ÈO8z´¢±tdu,ÆYôC<ç9)­/M¯H€’º|V{bÕíU &ƒCqAñ¿íþæÜÉÓœ§šÒšø#õ=÷à/N½Ì{é›ìë`àÀ^Ÿ³~Y¬÷Yÿ¾ù·S°{ëí­èâèCsõdÊÊm¯ÚbÓ O²Ÿ¸Ù¸a±Z·©ÃXaMs ^âïùKè/øÌ?ËyæãqwÕ]}9ýN/­+ýÞçû’º×Å®X¤Ëá¦âÞ/yUy°gö·p7 A‰UF«Ö¯«m©Åë`·ßTåÿþ€æ|ûq3?Ü|¹™Ã~%£ì"ˆ/€UF«æ›·Á{ƒ¼¨üÑùGñò; wüÓü{j_ïâLæ#;MtÒ—ÓçãáK)Oñˆõ8|hªòT,T€ËQ—5¤4Ž[—‘M-Oý;âï›oo~?õ{yQyè`tðòð~;ù[Y1ä1õmõQ…Q·n»…»^p·åã¡;Vw×Ì]‚/ó_Þˆ»q4ôhUsÕB…s5æ ÄëqףТ®Ä\Ù;{/÷Ú¸™ aÉ qq'Ik&­™¬4¹¡µÁ'Ù'²0òÇ{?>ßôœŸô!©÷jÌUUIÕm¦Û”Ä•DD± ¡¯â9ω­®­¿ÈÑУöúö¶º¶œ=]Í9Øíº4Ø‰Ú–ÚøÒøS7b—¾É¾‚¼‚ë×ëËëW7W_»~9ê2{Îúùxølum¯Æ^)Ž1V4Æš´t´âfDE¹„ºÀBí…³Ôf‰ ˆåVåz'y7¶5vª™ø.q£ÏF>>¯o¼´d´ ·›Š{¿PÇP ¾µ¾S¹¸ xOM¸¼ý¸™ÎßGîéë]Å `@|(K(+K(“ˆ$a>aöLÁ—y/9´rvg²˜îËÝñµ¥Ùê³ (ë¼Öù§ùož¶+T‘TñYíƒý>žIÙÁì8~.¡,ûå*A–ü60$;$,/¬ª©ªƒÑ|<|±Å±ì¶ÔƨÝYy‡—‡³’Y‘]ýá7øŠÔ4åiÓÎOK(Mè“6î§âNÂ8i}Òvü‡8ÆF×fõÕo ß<Íyj­eÊËø­ñädŸÀ¾Šç<'1ŠŽ¬(ˆ)ôšÖyÃñ‡ÃTSŰ¼0“a®aŽ]b™¦®6®æêJë.^peA~u>Þ¤WŸ®0Xq5öêÝÄ»x°û(íQsG3{LÖÉ.†´°4>½³ÕgOR˜ôÍío¼¼¸v=brO_ïjÄ(»bÔ’ø.‘‡ÀãúÊX, X@gÐ ·*¯f©i‰¯<Àø±ã$ZÙXéxÓ±ëc߆¶öK M ö°L[V;º8zö¼DT@T^T¾¼¡¼OÚ¸'£"CWÐF×/!o ߤÓÒñhÃRÓtû-žË9áöÌËþñ4û©”Ô„±°ËÌÊLqAq<Ò>¾Å:‹ÿ ÿ/éU¿†”†¾œ~PfÐáy‡EøEànÒ]A^ÁÅ:‹{²‹a­eÍ>½Ø"}fe&÷ÃI~—ÌOâ_e¸Š½‡ÈC&þwÚ–o²ofeæüqó_ô»é¿Ý[ð¦ú}áï ´dÄ—Æ¿)|s5öêd¥ÉûæìÓ•Õí¶>—·7óÃùûÈ=}½«£ì"ˆQKs{3ƒÅˆ(ˆèúQkǧ0௚aðyß¹Öíµ[I]É4åi‹uË Ëòñð„½{;v¢ü¢ì—$"©kÏ$"©¹½¹OÚ¸§Þ&Ê/Êþ^. þߢ œ¨\×¶}ÏåœpÃgæìÒ™ô—ù/­´¬ð·Ò[Å:¯AvZ•äFÿ ƒû÷û§ù;MtÊ­Ê}[úÖNÏN˜_¸'»¢ŸÌ$fº¬¾ŒÃ; ¿Ñ&& ÆCäáЋß7½ï`t°»{SÍVŸ=[}¶[¸› ¯ ¶Œö©ç§Vß^í¿Þ¿ÛV.o?næ‡ó÷±[º½…úzW#F1(ØE £9Q¹vFû¿Kÿí:H’%¹ì$±,Q\PüšÃ5"áÃ)<ÍÍ••¼ŸuÒ€hcGFX&§*‡ÖH“–Å “Ë“@VD¶çvý¡×9!8ç'`|fÎnTQTc[#û:®Œ°L~U~§ÇîØúLµèuNȼd(ª-굫Ž7n:Ýäðç­žå<ã'ñOWùï”3U3‹±7`/þFW`FàƒÔ}Ò aö‚äwÉÉï’ï§ÜW•TÅów»µ‹šŠoÑÒÑr ð@sG³õÃü+‰+Áÿٻ︦®¿à'ƒ {„½ ("ŠŠŠhˆ¨hµnÛªT«m­µ­Zµ¨­Z¬Õjg]¸uDY2D™e6Iž?nŸ4¿°‚Œ@ü¼_ýƒœ{î¹ß› ~zsœŽ=-¾„|;õöɘ“’#Œ°Añ»àG-‰@Š„.&å'Iv›`?ai…iÓŽNÏÇhò—JÆÏåAÚƒ3qg$ߊšŠsñç!5Âú9eüõküý‘…,ï!€\Ù…µ ÿ‚/nüýôïS1§,u,ÕUÔ ø¹ïrBAàÔÀ¦÷'„2œ;<2+Òë W7ýn„´Â4–ËDÓDrá*yÕ&iaÿ…Ÿ_|˜þpðîÁÖºÖü*~VI–H$òqô±Õ·mI©u5ùžXéZ±”XgãÎÆçÅS“ Zg·…svo½¸5Àb€ä4Ðýœ;{óÅÍ¿´Öµ.,/Ì)ÍéÁéñœ÷\öú)Óœ¦Ž=½êòª·åoç÷›ßøq)vvß\ùfû½íêi…iü*¾š’šøvC;;{Ž}|^¼ûîÖºÖoÊÞ¼.yíhä“#a~ßùW¯ÄåÆyüåaªiªÉÒ¤Æ94ýÔ±†vzpúÁ…§N=2õÐôC6z6MþR5ô¹Ì99G ñ=Bœ^˜¾þÆúÿùÑ\Û¼²¦²ZP½íî¶òšr–k”í¨z?ýd!Ë{ 僾²»jÕ*‘H4tèPymBMIíøŒã3{ÏTb(¥¾I}úúivI¶ºŠú—9ö†õßgS×Ü~s§9NQb~bb~¢±¦qàÔ@m–vG¨M’>[ÿøÌãýÌúUÖV>ç=Ï,ÎTeª~:àÓj]M¾'ªLÕ5ÃÖ¨0UR R"²"ê.Ü*R R²K²¥žéÀasû¶Ñ³)¯)Ï‹ÏççÏí;Wê~/?S'c'[}Û—o_2hŒÉ“?.eRÏIK--ª(ŠËãWñ-µ-M?D]Œ$„Ðh´-c·Xh[¼«z“ó¦ìÍ—î_Nsš&9[…}bæ‰ öh„–Yœ—WQSáeïegPÏÓF\L]þžñ·P$ô=æ“Óä/UCŸKDæÿ|FCº™î4]‰¡”R’Yœ™÷.¯¢¶¢¯Yßc3Ž5´(žŒ¿~¿?²å=BkÖÜò?AmõêÕ[¶lyúô©“““¼ki[x‚š‚òñön…?¿<Ï—^òS—Û5 €çéÙXŸ÷•ÅRbIÞžUœ•Sšã`ä@}?[V]Ÿo¢i"õOr æåÛ—5†ê†uŽx¦fqEqrA²…¶…¡º¡¸3Õh©c)9û°¸¢8£(CCUÃJÇŠŸ_U[ÕÇ´OCƒdgæ–æö2ê%yñ/67V 8›8ËR[sß ±~AvI¶2S™«Ë•¼«½‘“}¿âyO(å5å/ß¼¬¨­‰DmñhÙ½a{¹÷ËÃ¥%?)±—o_ò«ùZZ,­~Á«ÂW6z6’󡛬Ÿ’^”Î{Çc)±zý·êB½Ç•|'K+KÓ ÓÔ”Õ¸º\©{¶!"‘èÅ›µÖ:Öê*êùüü´Â4[}[©´M½{ :ÃRÇ’úõ& |^ÔjJjFTKã¿Tu?—ȬHI]eŠ„yïò~{ð›>[ÿ³ŸuQî"¹52+Ò÷˜ïÊ!+¥®ËÊòë×Ðû#ûŸÇÆßÃþ‘lË–q!»vñZ}d „°Ùl§·"|Ða÷—_~ùꫯîܹ#¾¸›••µaƧ££3lذ~ø¡{÷îÔVqØ}øða@@@FF†±±ñ¼yóV¯^Íd*Ô„„]ÕéÃ.€$Ÿ#>ÕµÕæ^hº«BW.vÜß¡×E¯îMi‘›omþyÌÏ>޲.!üAAØmSÍ » ÑZ(--ÍÕÕ5?ÿßÇòx¼ãÇ_¾|ùöíÛ..ÿ=²|Ë–-'Nœïòý÷ß'''9rD€"Ê(Êøöê· mu1sùÒýËö¬§Ãúzè׺jºÎqå‚N—þª!,#Ìÿ¶b~"F`9@.U4 Âî¾øâ‹üü|ww÷íÛ·ÛÙÙ¥§§ÿý÷gÏž]¸páÓ§OÅÝΜ9ó믿úúúªªª†„„,]ºôèÑ£sæÌ>\z €÷P^SÞÈ$׺+•~°$—GøŽ+S¦H=ÄîmùÛ^“Î\;bm#ϵè8vÿUVVvíÚ5ƒK—.ihhBzôèqòäI''§gÏž¥¤¤ØÚþ{?éòåË¿üòßË*¾¾¾`Ö¬YÁÁÁ»Ð*ì ìRW§Ê» B©gÇÙg7N.żŸz5Iéééµµµƒ¦’.…ÉdŽ=š’šúß?ÿ-*Îf³÷ïß/ÙmòäÉ+W®\¹r¥¸eæÌ™¸;  •Ýÿ¦ÛZ[[GEEÍŸ?ßÄÄ„ÉdLŸ>=22Rr‘]BÈêÕ«ûí7eee++«Ÿ~úéàÁƒr¨šòA_Ù¥¦çªªªŠ[ÌÌÌþú믆úûûûûûûBœœœüüüÚ¡Bh‰÷Êîëׯ/]ºD±´´”w-Ð&>аûé§Ÿššš>{ölðàÁÍz¼2€‹ËãúsBä]@«ù@Ã.!DGGgâĉ§N’w!r•Åõçî~´[Þ…´­tÎîÞ½{÷îÝ+ï*:#<©̇{eÂ.t%•%?^ÿÑu—«ý/öN¼zûLÜ®?7$9„êpÿÕ}®?7(2("+Â÷˜o¯_{M<8‘RY[0zÿèÛz8ípšu|Öƒ´âaOÅœ’D²ñFÊ ©‘¥?ò9âÓó—žýú­¹¶¦°¼P–Ê*L$Ž9ísħׯ½ì±8îhôQ‘HÔ¬ƒ6~võz÷£ÝÓN'„츿ƒëÏ¥þ#uæìŠ÷}–ólƱ¿:¸üæòÕ寊+Š›õ¹ÈÑ::ªÚªÿþ81?‘zŸ¿øÌbÏîžu{F¿Žö¿í/ !B‘°FPóɉOžd?¡¶V ªÃ2ÂÂ3Ã×Z?ÃyF³jˆ~íÇ_ B*k+OÅœz’ýäÜœsjJj²î.Q˜H$ZuyÕ…„ âIùI뮯Kä%n³IƃÊxvR‡nÖYÇåÅm»»­ZPM©¨©8.»$ûøÌãÔVÙ?¹@Ø€Îáð“Éù‰ÖºÖëG­w4v,,/ Œ<üäpÝž×’®ù8ú,ê¿È\ËœAgF>É~b¬a¼nÔº~fýÞU½;{ú÷‡¿oºµi¤ÍH}¶¾ì5\Kº6ÅaÊç?7`Äçů»¾.¹ ùϰ?W¸¯qwÉÂÎÇŸ¿p¡›~·¯?úÚÑÈQ…©Ÿ¿á憓1'½{y;›8ËrÐ#ÑGd9;©CBú›÷Ÿ~tú ÷K.i¼ì‹ g8Ϙßo>G“—°ââŠÈ¬ÈD^¢ÇŽ4çs Lc€Î!$9„F£íž´{€Å5%5SMÓFþàfåV·§“±ÓfÍV:VTª»šx•01`w[…m¤aäçæ7ÕqjUmÕ­Ô[ͪÁÑØÑßÓßBÛ‚¥ÄêkÖwL:Sö/ë¥ Ž fÐAÓ‚†XÑbiQcróÅM*ãÙIºYܬÜ6ŒÞ`¡m¡ÊTícÚg‘ë"BHRAµUöÏ@.pe:‡Œ¢ ›c£g#Ù8ØjphZ¨TÏA–ƒÄ§vÔbi9;IöÆvâÙ‰Œ¢ŒfÕàfé&9²™–™•ŽUZašŒ»Kö¢à…@(üÇ`BˆH$õ!$§4GƃÊxvR‡nWsWÉ—fZf„²óót IDATê2q2~.rѼ°žýÞcB§2iò®ZYx¸©¼Kh‘ºùˆïå’¤ÅÒ’Þ‘4ö·µUj&kemåû”Ø(©Â¨#R“q¥Ôjd¶ñ³«÷ÐÍ¢ÂT©{8Éw^ÆÏ@.švmllX,ÖØ±cÛ¨è vîÜ9wî\gggy­)00P[[[ÞU¼? m‹ØÜØÔ7©\=®¸14½éˇÚÏržÅäÄ8;Šï¾¼Km"„èvÑ%„dgIî–Vw¨ÐôÐ僗‹³]VqVZa5È{èªÛ5—ðhé#uõFº5~Ð&Ï®!t4µ›å½?€öѼ°««««««»cÇŽ6ª:ˆ;w:;;{zâ~j…rõêU6›-ï*ÞßhÛÑ191KÎ-Ù0zC/£^…å…£Êò]¹§ç³œg_\øbݨu.¦.üj~plð‰g'”Êùà !ÔWð£:;9;¾){s8ê°xÑ1I191ß^ûö³Ÿ° x 뮯«Öztóx¿3òqô‰º5ûÄìeƒ–9;©«¨çóóS R‚ã‚g:Ïh9P–ƒ6yv ÑTÕ$„DfEW·äºï{.ísv s˜í2ûâó‹IùI3ÿžIµÐh´1ÝÇ\KºÆ¤7öWÙ¬Þ³B’B¢_G/8½@²}툵ÔbfZf£»þ'ùñÈ cbωçãÏK åÑÍã\ü¹àØ`qKWÝ®‹,~¿3šÜsrDfÄ™¸3‹‚Imšæøß$¢ÆÚäÙ5ÄRÛ’Ãæ„e„¹üæBµ¼ß³ÓÞûshX:U¦êQߣ¾Î¾ºjº*L•ž†=ÿœò'uQ–ºHÙ%†ÒaßÃ~n~ÖºÖJ ¥.Ê]\-\§J.Cûó˜Ÿ}}´XZ*Lgç#3Žô3ëWw¨>¦}øp4vTeªj³´}zùŸy\ÆEvë¢Ñh[Æn ˜0Èr¦ª¦CÉLËl¤íÈ=“÷ ²$ãAe9»z1èŒÝ“w»˜º°”XïW?å½?€öAkÖm>>>„Ó§O·Y=Ð!Ðh´€€LcP0K—.e³Ù-ÿóËãñø|~#¸Ü®|XÜréÒ¥€€€ëׯ÷îÝ[__Ê”)‹-ÒÐÐ $„TWWûøøDGGß½{—Éd6¾;!D Ì™3çèÑ£âÁÁÁþþþ……… #11ñÞ½{555’%QT’މ‰IOO'„HÝ‹&5g·¬¬ÌÃÃC2ž}ºk×®’5S#¯[·®ªªŠbooßd=Mž¸xäÓ§O¯[·®ººšj Úµk×Ò¥Kª@´ZØÝºuëáÇ­­­?ûì3;;»ªªªëׯï߿ƌϟ?§Óé . 8pà‚ V¬Xñøñã;w8P–Ý7nÜxôèQ55µÏ?ÿ¼_¿~ ãÉ“'{÷î•ñ¡¿þúk@@@```@@uƒš–V= @®Y³&44T__ÿ›o¾±³³KOOÿå—_âââ>ýôÓ³gÏŠ»}óÍ7ãÆóööf³Ù/^ü믿¾ýöÛFÂî·ß~cfföõ×_[[['''oÙ²¥Þ% ~øá‡1cÆL:ÕÄÄÄÌÌLÆzdñã?zxxøúúªªª†„„ì߿Ŋ#GŽìÖ­[³ÆèDZ'ìŠD¢íÛ·FEEikkS“'OÖÖÖö÷÷§íîÝ»Ÿ>}ºlÙ²´´´?þøcêÔ©_|ñ…,»»ºº())ݽ{·oß¾âß|ó “)Ó)8::ZYYBœÝÜÜêíS[[¨ªªjkkK5N›6­{÷îçÏŸçñxâÇuÌš5믿þ¢~?~ü‹/îÝ»—ŸŸO]m­;ìáÇÕÕÕÃÂÂLLL!žžžãÆ“\BÌËËKü€+Ù둟qãÄùxÒ¤IFFFëׯ?xðàÏ?ÿ,û KëÌÙMKK+((>>>#FŒ>|ø°aÆ vùòeBHRRÕÅb«ªªnÞ¼¹{÷îÔ$ZYvõêUaaáСCÅI—¢¡¡Ñ*õS^½zÅçó?úè#q²$„èêêz{{‹D¢ØØXqãŒÿóÐyj¢ÅÛ·o¶¬¬lÔ¨QTÒ¥ØØØ 4¨nçÙ³g¿G=²˜7o^Ý—Í si+»Ô½P·nݪ»U<·•¢¤¤Ä`0!æææ]ºt‘qwê¶6==½fU%šÕŸºñKGGGªj‘¼-Lª²²r#‡£Š¯;kB| [’©©é{Ô#¥ÞJ¤  ‘¼_ ƒËççŸxv¢¿yÿþæýã@-$ crbg>®T{Ù{Yh[ÔÛíIö“ØÜX¡HhϱïgÞNûïGqEñá'‡ !&š&S¦Hí˜R’BécÚge=ÿsÐ)´NØ511¡Ñh}ûöݲ¥žuÅmll¨ª««½½½KKK'Ož|öìÙ7~ÿý÷²ìÎb±h4ZDDDMM’’RÝ>T’+(( Äñññ’}h4!¤‘9¾FFF„'Ož…B:ý¿"## !ÆÆÆ¼ v|úô©d£P(߯V·HÙë‘åÄ)ÑÑÑ’ó7¢¢¢!’›:8Þ;^@h€Ÿ›_[gÐv;PK¬¿±þJâ•ÂòW¤q2vªv+j*–œ[rÿÕ}qK_³¾NùSCõßïÄJ*KB!*L•6#4U5%wÿ3üÏ !‹]#ì@çÕ:Ótuu‡ ’’2pàÀ¡ÿÏÂÂâŸþÏd]¾|yddäöíÛO:5dÈuëÖݼyS–ÝuttüòåË ˆ—ãóù›6m …„®]»BvîÜI½¬­­ýᇤ2›Í&„¼|ù²¡³Ð××ïÝ»wRRÒêÕ«©õ D"Q@@À7 ßïÍÑ××wttŒŽŽþùçŸÅå}÷Ýw©©M<I–zd9qÊÆ©€KÉÈÈðóó#„Œ5êýN  ýqÔ9í@Ûí@-q-éZqE±“±“§Á§òþxýÇû¯îk±´>îýñ—9lƒÈ¬È¯¯|-ÕÍLˬª¶êrâeÉÆwUïþIþÇ\˼MªhG­¶Îî®]»ºté²xñb==='''WWWCCCkkkê[õcÇŽíÙ³gÚ´iK—.e0'Nœàp83fÌÈÎΖe÷;wª©©>|ØÄĤgÏžŽŽŽºººk×®¥Bž¯¯/‹ÅÚ·oŸ™™Yÿþý ·nÝ*O !‹/îׯŸx])[·n¥ÓéÛ¶m344ìׯŸ‘‘u ÝÖ­[e¼®^?ýô!dÍš5FFFÔ°Û¶m£nP£&u4¤Ézd9qŠ©©iÿþý»wïîèèhkkçää4mÚ´÷>)€vfÀ6hŸ Únj‰u£Ö…- žÜǤO½²K²ÏÇŸWWQ??çüºQëÖŽX{iÞ%¶ÁÍ7ó%{vÓïfϱ?sZ²ñÒóK•µ•SzIÏmètZ-ìöìÙóñãÇžžžeee111?æñx666[¶lQVVNHHX¼xq÷îÝÅ‹žµIIIéòå˶¶¶’ÙnðàÁQQQEEE|>_[[»‘Ý)½{÷ åñxiiiššš\.Wrþ®¯¯ï¤I“âââ˜L¦½½½²²²••Õ‚ ÄG¤ÑhAAA[¶lyùòeUU5ÛuÚ´i...NNNâq<=====SSSy<žŽŽN÷îÝ%çÑ.Z´ÈÃÃËåJF5RK›5döìÙÓ§O§&ôèÑC(._¾ÜÒÒR| õŽÜd=²œ8E]]ýìÙ³¯_¿ÎÌÌ41117Ç·“ÐÉÔJ’òíÕoßU½÷q6qÞ=i·»žE%ÅäÄ|zöÓ~¸E¯‹Þo^¿Q#KèGTÔÔs+çøãµYÚÔh_\ø"»$[¼ÉHÃhÏä== ëùßNÊ®Ð]"ÒØájJj ú/hü,—ÈK$„H]Ÿv5w%„H†ZÊû ?ßþùLÜ™ï†GI)H‰Íýaä-) ƒhͰKÑÔÔìÓGúk5[[[Éõ³Äê~á^ïî’8NCë˪ªªJ®Mfgggg'}YÂÀÀ@r5\33333³ºCq¹Üº¹“bmmmmm-K£”;v,X°€Z¤¬´´tÉ’%<oñâÅ2ÒP=YNœbbb‚›Ò@1$æ'.¿°¼VXë`äàbê¯æßL¹ùôõÓ%ç–œúø”ÔÿJñ¿ã_À/°3°sµpeÒ™éEé¡i¡))õN]ø|àç5‚ÿRXU[4«Ï,++BÈë’×sOÍ-­,u4vt4rTf*ÇçŇg„/ ^xcá ¶Jý_Ýüþèw°±åbôºèµ0ì”BŒ5þçÎZMBH>?_ª³¦ªæHÛ‘çãÏóÑ7L:ótìi%†Ò„¢_G·¤€Ž õÃ.Ôëûï¿_½z5u5úÅ‹ååål6û›o¾‘w]Õ_ÿªÖÎí;wͰ5T´ýzèדM~úúixfø‹ì[X^h¥cuaîñ:\…å…â• ¤|6à3ñÏ5‚šOÏ|:Õqê·Ã¾¥Zö…ï+­,]?jýÌÞ3ÅÝFÜxsãÅçg8ÏŽBÈÒK›¼²ÛÈVYPS)T˜*’ÔË*A=³,¼{y_I¼rëÅ­aÜaçãϰ¡Åªç1“Ân;YµjÕÎ;Ÿ?N½ìÕ«×¾}ûŸùx’ý„Ac¬²R|W›¥ýé€O¿»öÝ“ì'‡ÝÑÝFFžŠ95Œ;Œšó £¦££&½¦µHàwÁ£ÎùqäâÆG4FayáîG»E"µ¸aYM!$.7Ž8×?Ô2·eÍ8Õ÷òo®ýßÙÃÿ&`†JÝþƒ,iÇ‹ˆ¨¨¢È§WƒÏ?è\vÛɺuëÖ®]›žž^PP`lllaQÿòïm¡¡ÙÀZiU©º*SU²‘Z*«¤²¤ñ}—^n®e~>áüƛՔ՜½zzyv÷ldP°ââŠ.Ê]6zl”œ#QX^( ~ ý­î.’“‰¥´Ãœ]ý.ú„œÒœîÝůK^BôÙúuûÓiôI='ýþçÛ²·6ÇͪþǪt:»í‡Éd6>õ¶È2¥ ÓÑPÑÈ-Í­¬­”Ì»™Å™„©‡#ÔE§Ñ½{y{÷òŠ„é…éw^Þùòâ— y _ ýªÞþB‘ð›«ßB¶xn‘|!DCU£ZP½°ÿº{qõüÃÞsv©õwg>Æ&n Ï '„4´Æ‚w/ï=a{bsc?ð™Ôit^»Ð)õ1ís!áÂŽû;ÄÓg‹+Š÷…ï£65¾ïÔ;îÖî :ƒN£[ëZ[êXyräLÜ™zîH$Z²¶¬ºì÷I¿3hÒ c´x2椅¶…—½—d{R~’ºŠzC´ÃœÝaÜa?ÝüétìéY}fQ«½-{(ê!d¤íÈzw1×2ÿaÄEEÞ½¼[xt€Ža:¥ùýæ_I¼r â@TvTo“Þü*þ­Ô[…å…NÆNÔ[Xrn‰6K»·io3-³AMxfxvI¶ä×ý’ÖßX1á✾sv?Ü-Ù>«Ï,m–ög? IYyiePd£‘£ºªz¿ åMJ\n\àÔ@jõƒºZ>g÷Ÿä’ ’ !±¹±„ žå<#„xv÷¤®(›jšNê9élÜÙ‰'޳§ÄPº’x%ŸŸ?ÂfD#«çÎêÓ¢5Å: „]è”zpzìôÚùíÕocrbbrb¨FjÝÆ×#„ 㻑rãZÒ5q‹©¦éæ1›ëöLÊO:}”²7l¯Ô¦±vcµYÚ¦š¦G|¬¼´2>/>>ï¿'uÛØ5”t[Åõ”ë.ˆ_жշOŸX?j}¿àAÚê!.¦.[Çnm»ª: „]è8ê©§øztóh1ð~Úýìâle¦²ƒ¡C_³¾Œ öû¤ß øQÙQYÅYjÊjV:V,ˆg©JHWM×ÏͯÞAÄ«7ôàô¸:ÿjôëèø¼øŠš CuÃnúݨ)³mg”í( ízîsåêþ7Q˜¥Ä š•›+ í íû›÷—œŒ«©ªéçæg­Ûàœ~++?7¿&§…td4j¡ùøøBNŸ>ÝdOèÔh4Z@@€§gc7§C§³téR6›Ýò?¿<Ïç7ÒËíÀóôl¬€[¶ŒCÙµ‹'ïB›Ínèùbõjö•Ýððp*ò‚b ¼zõª¼«€ÖôìÙ37·b=©~ÁñgÇÚj­k=În\{ÖrÔ¼°;`@cë´ƒÂ055ÕÖÖf³ëÒ)tRnnnÈá7åoBÚ:ÂfÂ.À‡£ya÷Ë/¿l£:Z‹žš^Cm !LQŃÔ@Ñè³õ »ðAÁ3r@a!ì€ÂBØ……° aÂ.(,„]PX» °v:¢ä‚äÇfœ?ßÁÇèàv:¢wUï"²"^—¾îàctp» °˜ò.@&191[îl™í2ÛÕÜõð“ñ¹±*L•º~4Åa Fw+¯)¿ôüÒ³×Ïrß岕ÙÎ&ÎÞ½¼5U5¥écÒçГCIùIšªš¾Î¾.¦.„^Âñ§Ç_—¼6Õ2ßo¾¥¶¥di…igâΤ¤Ô k­t¬¼¼í8vmt²çãψ8@9súaÚCªñï™ËRIR~ÒÙ¸³Y%Y"‘ÈBÛb‚ý{Ž}“c(*„]èJ*K"²"z›öö¿íŸ]’M5þ“üO|^üºQ먗ÅÅCö )«.ï’r âÀ©Y§L5MŃ8;þtã'ŸGõ¹œxy¿÷þ²ê²å– DªñjâÕ!úl}êåßOÿ^}½xëýW÷FÝä±É»—wCÏ:>K 4rFZ,­?&ÿQï¦×¥¯ó !Ù%Ùâ“•¥’³qg¿¹úH$÷?qà×ñ¿zÙ{52&€CØ€Îä¯ÇÙèÙl³™£ÎIÈKøãÑÇž[äºÈXØR#¨Qb(Íï7¿§‡®šniUéãŒÇÇŸ Ø:v«x È {Cû•CVj³´ï§Ý?òäȆÞ–¿×cÜ›týð“Ã3ˆ<°ú£Õ„è×Ñ뮯SSV›á<ÃÑÈQ™¡Ÿôý?ß»Z¸R1º®ˆ¬ˆÆÃ®^½†6M´Ÿ¨®¢¾áÆGŸ‰öÅíMVB]»Ýgö@ËL:3½(ýbÂÅÒÊÒFÆPl»Ð™XêXÏVaªB†X©Öì Ýõ,çvµÕ´¯Í¿výÅõ{¯î½-{[#¨!„(3”£²¢$éªÛõÄÌJ %BÈGÜ’ó“#²">îý±ø ñ‹~ðìõ3êe`D P$ œØÛ¤7Õò÷#'§¹'ç^z~鳟Õ[êß#’WXë¢ ¨—‰¦INBˆ©¦ióþâö&+aÒ™¶z¶?ŒüA¼Ë—9ïªÞ52&€bCØ€ÎÄ£›•t)= {BŠÊ‹¨—üßc¾u¿£§ÒžØ¨n£$ƒ¦Ç."+b¬ÝXq‹†ª†±†qÞ»<êeLn ƒÆØù`'!D$‰ˆˆR+¨%„¼|û²¡Rû™õ{Ÿ3lT“•,r]´òÒÊW ã³3°³Öµ¦Óèê*ê­^ @g° ‰øV3Š]‰" ©—²K²X ˜`?Ãæ(3”i4Úê««¥Â®†Š†äK&Ywd&Y^]Ný\^]. ¥?ª[OeMeC¥¶dÎnCš¬d¬ÝØœ—Ÿ_>w6¹ ¹ª¶j\q+ÝWj¨jÔÝàC€° Š#&'F‹¥uhú!:íßuËkÊ øªJª-ÖHèZPýç”?t†Ô&5†öjÉœ]BÐ!R!d©ÄJÇj™Û2êçø¼øYÇgð ¨T] a‡¦ªæ«·¯’ó“©¥¸Š*о½úmeme Ãî(ÛQ¡!É!+‡¬_~Wõî\ü9jͲzµdÎ.!DMI’YœÙ¬J¶ÞÝ:ÅaJWÝ®Ô&›£ÄPŠÈŠhdLņ° Šc8wxdV¤×A¯núÝ!i…i,%–‰¦‰äbdïaAÿ7^Üøûéß§bNYêXª«¨ð rßå „‚À© íÕÂ9»VºV,%ÖÙ¸³ñyñZªZ„¿gþÝd%#î ß§£¦c¦eV][ýâÍ‹Zaíë!ŒÙ’":>ãøÌÞ3•J©oRŸ¾~š]’­®¢>Çe޽¡}«T^—*SuͰ5*L•”‚”ˆ¬êêl“•¬¶ÚVß¶°¼0&'&1?‘N£{Ù{m·­‘1 “· Yx<ŸÏo¤—Û5 €çéÙXŸ÷P\Qœ\l¡ma¨n(Õh©cÉas$3Š24T5¬t¬!ñyñUµU}Lû44Hfqfnin/£^,%–¸167V 8›8KÖP#¨yùöeEM…¡º!G#žÜvÊkÊ_¾yYQ[!‰$× k¼’Âò¬â,5e5Mjê‚,c@kY¶ŒCÙµ‹'ïB›Íæp8M÷û»Ð<ò »Ân›jnØÅ4PX» °v@a!ì€ÂBØ……° aÂ.(,„]PX» °v@a!ìt2gâÎpý¹!É!­8f\nןЊct» -*;ŠëÏÝýh·¼ h)¦¼ ùs0rH]*ï*Z®ì€ÂBØ€Îáþ«û\nPdPDV„ï1ß^¿öšxpbqE±íÛU—W‰»;Ëõçöè/‰¨ŸÇõç~ÿÏ÷íYµ)2+òËK_Û;Ìn›]ßßú. ^ô$ûIÝŸå<›ql†Ã¯.¿¹|uù«âŠbÉñK+K×]_7à÷ö¿ØO<8ñvêmÉ­Í}ªVrÎîîG»§NÙqןKýG %‰NÇœö9âÓë×^ö¿Ø w4ú¨ø@¦1@gý:Úÿ¶¿@$ „EB-–VNдP‘HD£Ñ!¡é¡týmùÛ¤‚$;;BȃW!ƒ,“Õö– IDAT54f·­ÝBA#Õ뢾,¼Y…B ø¾Ç|ÅŠ*Šn§Þ¾÷òÞÑGûšõ·ÇåÅm»»­ZPM©¨©8.»$ûøÌãÔÖªÚª™ÏLÌO¤^ÆçÅ/>³Ø³»§x÷÷{êV+ ‘H´êòª Ä-IùI뮯Kä%n³IÆAÚÂ.t&×’®ù8ú,ê¿È\ËœAgBܬÜö†íMÊO²ã؉D¢‡i'ØO¸üüòƒW¨¨šJ§ÑX hçÂh4š›•Ûì>³{pzèuÑ+©,‰ÈŒøúÊ×{ÃöJ†Ý‹ g8Ϙßo>G“—°ââŠÈ¬ÈD^¢ÇŽrøÉáÄüDk]ëu#×9™8–îßìé1ÉC¿Ç;P·ZIK.éoÞúÑé+ÜW,¸DÜ~!áÂ…„ Ýô»}ýÑ׎FŽ*L•ø¼ø 77œŒ9éÝËÛÙĹ ÞW€–BØ€ÎÄÉØi³Çfê&ÅÍÒmoØÞÐôP;Ž]b~âÛò·£mG¿.yšºÈu‘H$z”ñÈÁÈASU³¡1“¿Nn‹Âôºè­²êÏð?׆¬}[ö–ºŒJI.øŸÃ¹Y¹m½ú¹iŸE®‹Ö]_—TD…ݤ¶{Òn=Bˆš¦ÚúÑëÓŠÒ¥?jÉ;P·ZYÇ3茠iAlª¥¯YßãwxüåqóÅM„]è˜v 3d9H*¢õ1íÃRb=H{°°ÿÂдP1Àb@Ê›”ÝwWÖV¾|û²°¼pºÓôö/,úuôÌ¿gÖj¤zVÖVJ¾t5w•|i¦eF)«.£^fgpØ*銹[¹K†Ý÷xêV+‹/BÁà?BD"‘ˆˆ¨!9¥9Í  } ì@g¢ÅÒ’jQb(õ3ë–VY[šêlâÌVa»Yºí¸¿#2+2!/2Øjp#c¶ÊœÝº…í Û[#¨ñsó›Øs"‡ÍQf(Óh´QûG–JvSaªH¾¤ùÿ)£÷xêV+ jvo½ïUÝLÐA ì@§çfåvïÕ½û¯îGeE}>ðsBˆƒ‘ƒKëÁ«Ï󟳔Xrù†=«8K¯‹žŸ›Ÿ¸%³83½0]CUCöA,´,bób_¼y!yq÷~Ú}©n­þÐitR'×vÕíšÀKx´ô‘ºŠz³F#„]èô¨Ë–;ì¬T¶L¡Óè®æ®·Soç”æ ²Ĥ7öw]«ÌÙ­ËXÃ8õmê‘'G&öœHy’ýdÓ­M²/}@ñèäÜ’õ£Ö;;R7¨IÎa ´ð¨‹šà™Y\Q,¾ ìãèu%jö‰ÙË-s2vRWQÏç秤ÇÏtž9Ðr`³Ð>v Óãêq9lNJAЦª¦ƒ¡Õ8ØzpHritѱ6åëì{ïÕ½õ7Ö¯¿±žjéÁéa«o›ÏÏ—}Ù}f_L¸˜˜Ÿ8ëø,ª…F£µ{%ñŠd·V,µ-9lNXF˜Ëo.TKêêÔÉ='GdFœ‰;³(x‘TÿiŽÓš{€ö‡J€"p³r#„ °@}ÿNq³t“ú¡°±}üöîÝU™ªl_gß#¾G”ÊÍD…©rlƱ™Î3õºè©0Uzpz왼ÇÝÚ½nÏÖ}tÆîÉ»]L]XJ,q#FÛ2vKÀÄ€A–ƒ4U5•JfZf#mGg•|þ I4<ùš…ÇãñùüF:p¹]xžžõP`Ë–q!»vñä]ˆbb³ÙGöþ¸² aÂ.(,„]PX» °v@a!ì€ÂBØ……° aÂ.(,„]PXLy gq¹q“Mòsóósó£Zbrc>9ñ ¿ŠO½Œ]«¦¤&¿ëqÿÕýy§æ}7ü»¹}ç¾÷ ·Sooºµ)£(C²Ñ£›Ç¶qÛXJ,q‹Ã¯5Rûn½a†ó É–¨ì¨¯.•Uœ%nd9èÐôCï]@«@Ø€Gãçæ×ß¼¿¸%àA¿ŠïÙÝÓZךN£+Ñ•äX^Ûy–ó,£(£§aO=}¶þ«·¯n§ÞIa)±¶Û&ÙÓHÃȧ—d‹ƒ¡ƒäË^ÂÜ“s+j*¬u­[ VaªDeE…g„·Çi4 a>tlñ5]Ê‹7/¸zÜ€‰ò*©}Œ°áÝËÛ\Ë\Üò íÁüSó/'^Þ4f“2CYÜn¬a,õIYsuMEMÅLç™?ŒüAgP‘Y‘mT9€ìv xñæÅµ¤k-º˜ºH¶ç½Ë;sÊÑØqˆõªE „¥‡%$× k­t¬†XQaªP›2Š2.$\p·vw4r|œù8—ÐE¹Ët§éùüüÏNô7ïßß¼ÿýW÷Ÿå<{SöF[¨@QeªVÖV°Ð׬¯ä¡sKsOÇžv2vr·vo£³®Ôó¸dûñ§Çw?Ú85z“óÅ…/²K²ÅŒ4ŒöLÞC%¼Œ¢Œ€Ðe†òÎ;CÓB !öûéNÓyïx¡ÔL†û¯îŒ:HáñyTØßcü­·î¾¼{ö“³’‡>ôäÐ_ÿ:ññ‰†jÞºKDDœ”š’Ú‚þ Ú“óéÙO øâ½.z¿yý&9Ý¢VXûé™Oo¾¸I½dÐ?ùy²ÃdêeyMù¢àERs Ü­ÝwOÚ-9%W’@((®(6Ò0ÒfiK¶WÔT\H¸Sš£ÍÒîkÖ·«nWÉ­Ô!Æ÷O¹št5³(Ó€màní®×E¯‘Óh»Ð h±´FØŒ¸št5­0ÍJÇŠjŠ„gâÎk»Y¹B^—¼ž{jnie©£±££‘£2S9>/><#|að o°UØÔ^‘åÕåã{Œ7×27T7”:»µ»†ªÆÞ°½Ú,íiNÓ!= {j±´Ž<9—ç`ôïDÕªÚªàØàœRWš%ýþèwPÐÈIéuÑk$ìúßñ/àØعZ¸2éÌô¢ôдД‚ɰȯâ{Ù{qÔ9 y ÓþxýÇ‘¶#ÕUÔ !eUeáá= {ÚØéuÑ+­*ÈŒ¸ÿêþîG»W YUïAƒ"ƒÞ”½Ùè±Qªý9ïùÊK+Å/=ºyl»¥‹rêeFq!ÄHÃÈ+È+¹ ™jTaª¬¾Ö×Ù·‘w  ì@ç0ÕqêÕ¤«§cO=ôkªåþ«ûyïòüÜüè4:!d_ø¾ÒÊÒõ£ÖÏì=S¼×Á¨ƒon¼øü¢x逊šŠ‹s/ZëZ×{wkwwk÷ È CuCñ,U+«£ÑG==æoäOµ\I¼R\Q¼fØšF ^:pi“WvÙZX^h¥cuaîê쨖ÂòBÉ>5‚šk ®™jšR/W_]™9Œ;ŒÂVaŸžuZ]EýÉë'oËÞ*1”<º{d?ξz»Þ°{+õÖ¶{ÛÆÙ›î4]²Fh= {:9°˜¬W…¯¤=I©TïóÞGu(¯.'„ì Û[RYâÝË[‹¥“™ùÃõºêuígÖ¯‘Óhk»Ð9 ²dªiz.þÜÊ!+4!ätìi:>Åa ÕáQÆ#QX^¸ûÑn‘H$‰!e5e„¸Ü8âüï8^ö^ %݆XéX¹[¹_~~yõG«µXZ„cOéªéŽë1®‘½–¹-köIJÝmt`D੘Søà Ø„55É>“{N']BÈЮCƒcƒyïxÔK:~ â@HrˆÔÈoÊÞÔ=ܵ¤k+.®ÆöËø_¤6™qÄÑÈQü2‘—8óøÌÛ©·“ò“ºt'„P³¢ËªË®Î¿j¢iBuÛ~ûþ8uaä a:æÝË{çƒwRQX^xëÅ­–Å骰¼P üú[Ý}ßU½ÿ\÷.Y|âòɽW÷ÎÄ™ßo~|^|LNÌ2·e’ëÔÕÂ9»Ë/7×2?Ÿp~ãÍjÊjÎÆÎ^=½<»{Jö1Ò0’R+¬¥^î Û’¢£¦3Øj°¡º¡2S™Fh'ž¨TKëTÌ©µ!kGÙŽÚ鵓I—þwA2éBì8v“zN:u(—@…]*‹´)þ,!óúÎûãÑâY ò‚° †£Ï®‡»NÅœa3â\ü¹ZaíTǩ⭪Ղê…ýÖÝ‘«Çÿ,¹\€ì[ îªÛõï§Ïë;ïhôQ&éëÔÄlÔÎÙ¥ÓèÞ½¼½{y EÂôÂô;/ï|yñË„¼„¯†~%cÍw_ÞUeª^[pMWM—j‰D‡¢Ñh4Én†ÿ¹íî6Ïîž;¼vP—Ì›«§GC›¤ŽÐþv Óà°9ƒ­ß{u/ŸŸ:ö´6K{¤ÍHñÖOÆœ´Ð¶ð²÷’Ü+)?‰ºa«%h4Úl—Ù?þóãåÄË—Ÿ_k7–ºœÙˆÎÙ½“zÇÝÚAgÐitk]kKË#OŽœ‰;#{Ø¥ÑhLS…¡"nÙ¶§¤²„š‰AÙrgËþÇû'ØOØ6v[½I7.7ÎTËTrq†D^âùøóD"ãº[¹«2Uo¤ÜX6h™øân`d !ÄÎÀNÆjÚÂ.t&S§Þ}y÷ûïSߤÎí;W‰ñß³Í>øYHrÈÊK+ƒ"ƒÕUÕ ø)oRârã§J~Ãþ~&÷œüËÝ_Ö\[SY[ù‰Ë'MöoáœÝ%ç–h³´{›ö6Ó2«Ô„g†g—dSÓdälì—7>hü›„'ÙOò$“îž°=ûï×PÕ0×2ßýh·ä¾¾N¾úl}BHHrÈÁ¨ƒ®æ®æÚæÊ åW…¯î¿º/ Ü­ÝÅA–­Â^èºpWè®±c=ºyˆoPcÐóúÍkÉ›Ðr»ÐÊÚô‹ëá6ÃõÙú·RoB$ç0BL5MøYyie|^||^¼¸ÝÎÀ®åI—ÂRbùôò Œ t6q®û8†V7Œ;ìFÊkI×Ä-¦š¦›Çl–}?7¿°Œ°o^EB˜tæO?ýýôoñ:Ä™E™„ÒÊÒßþ.µïHÛ‘TØíeÔKSUóÞ«{’[Gwíïé/Ù²lвüwù'cNÇS-jJj›Æl’šï ð‰.ï"àÿ!ì@+SS–—·UàeÐFmHÌOTWQ·Ñ³‘ÚÚƒÓãêü«Ñ¯£ãóâ+j* Õ »éw³ãü{ÒBÛÂÏÍÏÙÄYj/Ž:‡z¢„¸e±ëb©u(ö†ö„Y.ë¶Üï“~/àDeGeg©)«YéX ° ^†¬Þs¡ÅA\‹¥uiÞ¥Û©·Ó Ó5T5Ü­Ý5Œ…"aie)Õa„í©[ÜÄôÔþ}Äèn£GØŽˆÈŒxùö廪wú]ôûšõµÐ¶êO§Ñ7Ù4§ïœðŒp~5ßXÃxˆõɫȔ²2º¡a­¼«€ѨÕydÄãñø|~#FŽ4Ÿ0áݲeEíVRûˆNÌ+Í [VwÉ1OO³#ʾü²°é®Ð|l6›ÃáÈÞ_@+ëÖ­:!A¥é~ÇãÌÇÒ=Î|œÈK\äºIQQAõJ©[7é5þ@^0£Z™«kEX«¦FqÖœzœùx÷£ÝQÙQÆÆ‹ú/’w9С=zÄ iýûWÈ»øÂ.´²#Ê*+é7nt‘w!­¦¿y?7¿Mc6]™óP qçα{÷®ÔÓkl™mhOø2Z™¡aíСehÃWŒG ô7ï/yû@CÒÓ•nÞì²eK¼ ÿàÊ.´¾U« ãã•Ïké£:—M›ô¬¬jÆkì.^hg»Ðúllª§O/ýå]>ÉÀ‡âî]µ;wÔÖ­{Ã``©«ÿ@›X±¢H($_~i Ê»€¶—Íüæƒñãù¸5­£AØ€6¡¥%Ø¿?7,LmË]y×жÊÊè‹ÔnÚ„ÙºÂ.´‡ªÍ›óµtðøPTÅÅŒùóŠŠûöå©©áˬ«1@?ž_^NÿñG½´4%ÿ|d^P(/_*-Zd$ÐÊ12Â#‚;"\Ù€¶5mZi``îýûjÞÞ&QQªò. u´#G4}|LutgÎdÛØà‘iÂ.´¹+ΞÍÖÕøúš|ù%'=]IÞ¼?¡Ü½«6~¼éÏ?ëΘQzôhŽ®.!ÑqÑD˜IÍÁãñøü÷\BòÖ­.›7ëff*õëW1bD¹³s¥…E¦¦€Žÿ­ªŠVTÄHIQg…„tÉÌT>¼lÍš·5ò.íƒÃf³9Žìýv yZv !¹w¯ËÅ‹ìÔJJr¡-TRFˆ¶¼ËÅdeU3|x™·÷;.óäaÚV î˜HD^¿VÊÌd––ÒE"…x¬0t Ñу‚íÚ•'ïB@¡(+‹4466ÕZZXoAΚv±ÈFLMkLMñ ´2‘¨2(ˆŒƒçµ!¸A Â.(,„]PX» °v@a!ì€ÂBØ……° až ÍÃápšõœF€vFý~víÚUÞ…@‡€+» °v@a!ì€ÂBØ……° aÂ.(,„]PX» °v@a!ì€ÂBØ……° aÂ.(,„]PX» °v@a!ì€ÂBØ……° aSÞ´H^^Þ?þ(~™­§§·xñbq‹±±±dø ÐD"‘¼kx"‘ÈÌÌ,77—Á`ÔÝT[[»jÕªmÛ¶É¥6;Lc€ÎF£Íš5‹Á`ÔÔQ[[K™1c†¼k¹Á•]hžÊÊJ*@tñññ ¨w“••Ulll;×m‡Édªªª6£Û• ©¤¤„ÏçË» €ÿ¡¯¯oee•––&Õ®¤¤4aÂ'—ª -°Ùìf…]LcE0iÒ$&Sú NMM͸qãäRt» ¼¼¼¤&ØÐh4;;;+++y•Â.(“ž={Òh4q ƒÁ˜ÿ=vÌÏgnÙ¢sñ¢zUS§–^nhXÛônÍÇçóÙl¶¼«$‘øx•vp°zu5mÙ²¢Ù³K˜LD©vÅf³›µª Â.4Ïû…Ý¿ÿÖð÷×ÕÕ|ûíÛQ£ÊÚ¢0€vSQAûóOí¿þÒ21©Ý¹3ÚSsÃ.nP€¶% ô~üQÞ¼’,$]P,–hùòÂLƒÚiÓLnßî"A»Ð†jjh‹>­±koùòB|•ŠÃÔ´6((wüxþgŸ;¦!ïr ~¸A ÚÐÚµúQQªG¾vt¬’w-­ÉmÚT`l\»~½¾‘‘`Ø0|yÕáàÊ.´•½{µÏŸWß¾‡¤ ŠmÉ’¢éÓK—/7HLT–w- aÚD|¼Êöí:kÖ¼6¬\Þµ´¹~xãèXµ|¹am-MÞµÀÿ@Ø€Ö'‘M›ôœ+gÏ.‘w-íÉmÝšŸ“Ã<|XSÞµÀÿÀœ]h}/ªGG«ž?ŸMÃh@HHHJJ !„ËåzzzÊ» B¡êÓ§¬ˆZM !¤ÆÈèOC}•_¼PŽfÕêêÖØÚV::¶c¡ÐáÕΟ_¼k—¶—×;>¾¶¶öý÷ß—Éd666“&M ‹Å¹¹¹_|ñÅž={Z9žÃ)ؾÝÊÛ›ST¤}é’ÞÑ£u®®†_­Ø%11éÈWæÝ¹Ã|à''[OÒþ¿Åª˜1£xÍ9‡Ó‘ñA JËʰºkw° OXC‹Ç“wuð”øùùýòË/аëçç×j·âââÇ6¬=c–••]¼xÑÒÒ277w̘1Ìá}úô9~ü8‡Ã±´´üüóωèúõëAjl\°}»ù¬Y$•öøâ i,‰„ˆJÞ{¯vèÐGÿ–ÿÁ®¬d>pÄb™PX9e §¼\xæ ÉåºÇ˄’?ìà)@ÕihÈëë±òbw_; Ó¹¸¸´3éQ¿~ý,--‰È¼ÉØ_|‘ÃáQÏž=™–òòòÚÚÚ‡ R;dHÉ{ï«®Ž›—GDÕ&ˆ.|Üo花t ¿úªø³Ï ¾þZ¼`Ó¢wè«sÖº„]ètíïlllÌ|`³Ùœ¦˜´6÷€™ü0³gËtt›â èI¼æDjjªø\ëáñàÃ?7ŒYõõ¼œœŽŸž„]ètœG™ÆÊf·òo“bå·)£Õ«SˆÈäã™Õ:¨nÀåäšš? <)»Ð!\îƒÇ?$‰D"éÚbtÓ9}šˆ¤ÆÆuýû/#Ãø£:>rÕ¤Irù¬uíÚƒýÅ|˜š6ZZvü,ð¤à5èÅú_2™ìwÞéÓ§‹Åš?¾P(쪒4âãÖ¯'"b± ¶nm´··|ùeŽX,<¾îàÁò¹sv Î©S¼û÷‰H#9™iáÞ»g@D2€™˜+‰ÊÞ}×pëV"2Y¹²rÊNE…ðŸåÌJ>øà‰L–€'a:¤wïÞãÇ¿xñ"]ºtéÒ¥KDôꫯvUØe‹Å¦K—²ˆHüöÛµ#FQá–-f ’\ÞcÓ¦úþý™{½-éi޸Ѵ…{ÿ¾A@IŒO¡•-ZDD;v°«ªôfezzÅ«VUy{wÚ7€Ç° ÑÚvƒ IDATõÝwßEEE%''×Ô˜Éúë¯÷ÄkÖ¸)†ýðÃXÅÃgááÁÁÙ3gÚDG—–6´ZX;‡U^[«fÍŠPôo•¾>×®¡J:QIIÃäÉ—[-,/¯&9¹œˆrs«ss«™#F˜´lT|MWWýuëâ ë˜Æóçó~ÿý~@Àä]è>v@%ýöÛ½ÀÀ4.—5gŽý!Æ••AAY×®-]ú×åËÏkhpbcK׬‰8¾¾vnn|>;!A|à@Ú'ŸÜòð0²´ÔfÆÙ·/ÕÑQwãÆ"‘fb¢x×®”£Gï.\èhn. ¢sçò‚ƒ³´´¸o¾éЯŸ~YYÃáÃw÷î½ÓfyʇmgmÍDG+»Íîj?ja“'[éèp×­û{út›É“­˜þ––‚– ?ünk«³|¹‹±±Fb¢xïÞ;çÏçeMŸþÐÈð”!ì€J:q"“ˆ6m¤H`>>V³gGDE]¼˜ïåexG&“ŽPÜè;Ö´Ãyó®ž9“·xq/¦ÑÆF4ZCƒCD£G‹e;vܾu«ŒI¥'OfÑöíîãÆ™2ý½½­^~ùRzz¥òò”ÛÎÚš9|ØS®,ë×ö;J ³°¸¸è‘¥¥ é,äVÆÆš!!c´´8ÌW<¸ÇoDüøcÂ.t» ’nß.×Òâúøü{¯‘Å¢3l¢¢Š’“Å^^qqekÛ¶$"’ˉ‰‰‰ŒˆÒÓ+GMœhÁ$?Fß¾DTVVÏl¦¦VèëóI—ˆx<ö¤I–Û¶%+/Où°í¬­fŠp)/ìQyyY0I—ááali)HIiã7€§ aTR}½LW—Ûln¨žŸÙED55R©TYÔòغ:Y“CxMwñx,"’É=¥úúüf‡3gQNù°í¬­™'2gWyaJW·ù¥Ð×çß»×Ý—€g Â.¨$Í´´Š‚‚:‘HSÑ/&"‘H‹ˆÌÌ´d{öxp8ÍŸ–24l;­*Î’‘Q%74¼‰‰âÿxµ=‘9»Ê1¿<Èÿ;[¢ÕFF³KQ]-¹{·ÒÄD³eO€®‚° *iäH“;w*>øàƶmî|"Љ)Ù³'…ÙEDÏ?op;,,oåJŽØÊÊÆÐÐìÁƒÛ;ÀÓÓ$-­ÒßÿææÍƒ´µ¹DtáÂýÐÐìÿxµ=‘9»Ê \"Êήn³‘qá½àà,f͵ÚZ©¿ÿÍšéK/‰:XÀ„° *é­·þ9çêÕ‘#Ãìì„UU’œœj¹œ¦O·éÕK—ˆ,èuáÂýcÇ2NžÌ´±êèðŠŠêï߯‘JåÉڵ¢í‚Ž!!Ù¿þzïÊ•{{ݲ²†ÜÜj½¤¤rv‚åãÕöDæì*gk+ÔÒↄd'$ˆ™›ÙÇŽlµ‘éïì¬÷ᇱ_db¢•‘QYU%8{À Ktô6@—06Ö<~|Ô!FuuÒ¤¤òììjMMî¢ENë×÷g:œãÇG½þºÇIK«¼y³47·ZG‡7w®}Ÿ>úí<‹©©ÖÁƒ#ìíujj¤ññeùù5o½åèåeIDÌÞÇóDjë ššœU«újhpRS+¢£‹££‹ÖȘ2¥çÒ¥½ËÊâã˪ª$66Â~ðìÙ³õ¥Óº«ÕiXSPPPUU¥¤ƒƒƒ}@@——²>¡ºZ’ ¶°Ðj¶ mQQ]nn ŸÏvpÐiºÎ€Bc£,=½²¶Vjjª%i²Ù¦ÉŠÅ ))ÖÖÚ¦¦ZŠÎL£°éT`"JO¯¬ª’X[këëó.Œºt)ÿÏ?_°°´,쑆}Xm¡ý…ÕÔHÓÓ+jk¥r9)–kÖ^0~¤¿¿ë¼y•×ÁA¯“ ¢eËDD´cGAW¢ž„B¡HôÓ¥0Tƒ¶6·å:¯Ddl¬il¬ì‰(Ý»w+ôõù-lÙœ5l˜±½½ÉdòƒÓ/]Ê·³Óa’nËÂÚ9¬òÚ:Cû 8®®íidèêòÜÜ ŸTOÂ.€2aa÷>ú(ÖÂBÛП]-7ÑŠÎ]]´ Â.€2Ó¦Yß¹S‘›[›[MDFFÿû_Ÿ_´è꺠]v”yáóçŸ7/,¬»¿V(äÚÙ ;uf­ªè×ÏàèÑ‘ÖÖx º;„]€6°X$i6{¶ì÷°YÈÝ –µ…° j aÔÂ.¨-„]P[» ¶v@m!ì€j/pp=p ­« !êfÅtP||™ƒCh@Àí.9:]Ièžv@}\¿^âàºsgJ›ÝŸŠ–Ý áJ<ãv@m!ì€ÚâvuæÖ­²Í›âãÅì±cMýý]õõùD´sgÊ7ß$Ñ7ß$1ˆhÅ —–iiSÂà æÏô÷wurÒû曤äär€;a‚éûï÷14Ôèx1Œº:é÷ß§ž=›—“SÍç³]] .ì5r¤ ³W*•=z788;'§Z.'kkmoo«™3m´´¸­~—´´)¼tí¤¼l"’Ë)$$+((ûöír©Tfo¯;c†Í´iÖ‹ˆbbJŽϸu«ôþýZ¡;`@·ßv4¨‡ò“ªå•€îaTI|¼x˖ĆÕÖRhhvnnõñã£o´ØØÒM›¤R9ÕÕIOžÌºq£44t¬@Àéx1²9s®Þ¸QÂl64È¢¢Š®]+Z»¶¿¯¯-mÝš¸wïÅh â„1Çž5Ë…“ÓOÌWx##k×¼Ú9Z›eËå´|yÌÙ³¹ŠCâãËâãË,-#F˜ÕÍœ®ØUVÖpéÒý?ÿÌ?rd¤»ûCón7¹’ –v@•üüsޝ¯í›o:ŠDš‰‰â+®ÇÄ”$'—;;ë-Yâ4t¨ÑŒá+V¸,Yâ¤8¤ÕFÆùóyS§Z¿óŽ“‰‰fBBÙš5q)){ö¤¬XáÒÁbˆèðá»7n”˜› Ö¬é7dˆqeeã©S™ß~›²aCüsÏ™k^¸p_K‹³uëàáù\VffõéÓ9LÎ~Øwy Ú,;((ëìÙ\}}þÊ•.cƘêëóÓÒ*ŽÏàñØDÄb±<=Mf϶sqÑ72Ò,/oˆŽ.þàƒ»w§¸»ØIÕòJ@7° ªÄÓÓdݺþÌçAƒz,\è¸fMÜíÛRÑ£rs3Ü´i ‹EDäîn´{÷°çžû-,ì^;îòbÎË%¢€€!ýû‘PÈõós.,¬;q"óâÅü3lLMµˆhÂ3æ¯ÿÎÎz÷-RR&?ÆQÓfÙ!!ÙD´}»ûˆf¸º¸º0ŸŒ4Þ¿Ïž=©«Wß*)©WÜrNI©PrÒnr%@-á5P%ÆM7­¬´‰¨ºZòx£yz3I÷ŸÑ¶¶:YYUO¤˜¬¬j}}>“ÏÆ3#"æþþ®2™|ܸßV¯¾yôhFRRùã}‹'«Í²ÓÓ+õôøŠ¤ÛLlléôéž?ŸWXX×trE]TÉIÕòJ@7;» J44þó+:UåÊ&¬ve1M“tKÎÎz.<ãFqLLq@@²ûö!NNºTÆ“³Km•­ÜîÝ)2??çÉ“­D"M>ŸÃbÑóÏÿ^ZZ¯ä¨nr%@-áÎ.¨6›EDÍ’_«Œˆˆ¢¦‰*'§&#£ÒÚZøDб¶Ö.+kˆ‹+mÚøÇùD¤8‡Ãrwï±h‘Ó¶mîüñ|U•äãcÛ,»SµY¶½½NyyCddQ«‡çäÔiøùõîÙS[CƒÃbQvvuff{o–?^IÔ-¯$t» >ôôxDS,7(odÄÅ•~üqlVVum­ôúõ’Å‹¯I$ò‰ÍŸH1^^–Dôî»×ÿø#¿ªJ’Ÿ_ûí··OœÈäóÙãÇ›Ñôé;–‘–VYW'­¬l /‹²³«Û,»™””ÉiiS”üß#ÝÖm³ìW^éIDË—Çüøcf~~mm­4!Aìï3:º˜ˆÌ͵JJê¾[YÙXYÙøÇùo¾)“u(h>µ+ j Ó@}ØØE"ͨ¨¢ÁƒÏ2-iiSZmd>Lœhš”¥ÁÞ^çí·ŸÌ3û³fÙ……åÅÆ–.XÕ´}õj7ccM"JLß¼YÚì¨×^³Qò]žHaʵYöÔ©=ÿü3?,ìž¿ÿͦ¼¼,ˆhæLÛ?ÿ,X»6níÚ8¦ÝÅE¯W/ݺÎ+©{^Iè&pgÔ‡ÃÚ¹ÓcðàZZåŒAƒzìß?ÜÍÍPS“c`ÀŸ>Ýúøñ‘í\d·M<ûÐ!O??g;;­­Íõð0 Î, KDÁÁcÞxÃÎÁA‡9û A=¾øb ¿¿k›ewª6Ëf³Y;v ݰa@ÿþZZ¡ëæføÅ™‡Ì&L0ûúëÁ½{ëijrLL4gδ=|Ø“Ïïп5*z% ›`É»êÉPMUUʦ`:8ØxyuhšfgS¼AmÞ<‡®®ÔͲe""Ú±£ « QOB¡P$µ¿?îì€Úœ]€æ’“Ë'Mºô°½&˜íÞíñ4ë€Ç†;» ¶pgžE£F‰”<’ï쬇öÔîì€ÚBص…° j aÔÂ.¨-„]P[» ¶v@m!ì€j/pp=p MIŸ{÷jnÇÄ”´Ù¨B‚ƒ³BÃÂîuu!OL{þS¶Jý.<» >îÝ« HŽŽ.n³ž» ¶¸]]À#ûë¯â¿ÿ.ÓÐ`%²±211%ÁÁYDU$•Ê™ÆaÃŒ[6úùõÎʪ>}:gÔ(Q¿~ú‘‘EIIbmmÞèÑ"KKA{ hvxrr¹¾>âDsÕÖJ~ÿ=?/¯ÚÒRû…Ìy¼ÿÜV¨¬l /ÈÉ©ÖÐàöí«çînÔlðüüÚË—ó+*uF6mµ©TU”’R!‘Èlm…£G‹448í¼zª¼¼á‡îöïo0j”ˆiÉȨ:s&×À€?k–Ó"‘Èwíºíè¨ûâ‹í¯P&“+¿øí¹Uÿ]vÿ~­PÈíßß°o_}¦ýΊóçï nŸýÕW‰QQÚ¹\ÖªU®³gÛ·Ys¸†{Û¶¤ˆˆB¦ñ«¯ÕØ(›??2?¿–iìÓGÿäÉQŠœ–÷ñÇ7++C `¸sçPMfóÔ©¬Ï>»ÕÐ c6û÷7˜4ɪÙÙãâJß}7&7·FÑbf¦õÝwŠœ×ÒŽ·åreßH à,XàØê.Þ¡CéW®a÷ôéœo¿½Íá°||¬tuyDtófi@Àí>èÓþ ëëesæ\UrñÛ¼55Ò… £ÿY£F‰vÅ56Öܽ;%*ªèøñ‘M;?ž±sgJ`àpe—ÔÂ.¨’ÀÀ´ª*‰•H¤•˜(¾zµð³Ïn=÷œ™ŽoÈ£iÓ¬ƒ‚²<<Œ‡ yp»´ÕƦ£ÕÔH||¬Œ5ÅQQEŸþ·““ÞСÍ{>¬˜º:éÔ©Öü«W ““Ë?ûìÖ½{µ|>ûõ×m9öÙ³¹‰‰â'2ç̱'¢ääòåËc$¹««ÁàÁ†UUÒß¿wófé’%<9šÅ¢¿ÿ.[½ú¦T*ww7ê×O¿´´á×_óvîLizÒ¼¼šyó"+*ÝÜ ÝÜ ø|vB‚øÚµ¢·ÞŠºpá9¡°õŸêß~{[qc»UFF »l6køpã_½WYÙÈܺ¾r¥ÀÊJ“SY8q¢ÓBDžž¢öW¨üâ·çRTW7^»VÔ·¯¾³³ž‘‘FE…$:º8<¼`çΔ÷ßϟ0Áìܹ¼ŒŒ*[Û·ÿe2ypp¶¹¹ÀÓÓ¤Íÿ¾ v@•46ÊΟ¯ø{÷GÅeÅÄ”ŒgêîރŢ  ¬aÃŒ—,qRÒj#£¶VzúôX{{f300mãÆøýûÓÚvår ›`f¦EDR©ÜËëbddÑðáÆûö çóÙD4k–Ý /ü~éR>v÷í»#‘ÈçÍsXµÊ•Å""úàƒ>¯¼rùæÍÒk׊† 3>x0]*•ûùõöósfNáççìí}©éI¿ÿ>µ¢¢qíZ·×_·S4<˜¾~ýß?ÿœãëkÛj©K—önóή’½žž¢sçò"#‹^xÁ¼¢¢1!AüÁ}ïDD<»…††ÎÎzí¯PùÅoÏ¥ y§NÖÑáݸQRRRÏãq&N4ÏÍ­¾t)ÿý÷ûÑ«¯Úœ;—wêT–â–sxxA~~­ŸŸ3›ÍRv9@ ì€*y啞MgvŽc”UPPûx£y{[*ÂÍk¿gOêí]¤lÊ+&é‡Ã:Ô(=½rÁG&é‘­­ÐÜ\—÷à¯ù7n”p8¬•+]Xÿ-þ¢ENþþ7oÜ(6Ì86¶TK‹»dIoÅ)¬¬¯½f³oßEKdd‡Ã*-mع3E.—3¶ºZBDññeD­‡ÝeËz·ÚÞNžžÆDQøÂ æ‘‘…R©ÜÓÓ$5µ‚™ÂQ^Þ ~é% æ{µ³Bå¿=—‚ͦýûÓÂÂòšU[\\Ï|1ÂÄÒRš½r¥ ‡Ã"¢S§²ØlÖÔ©=;r5@µ ì€*Q„Ks?R"QzÓòᬬ´›n²Ù, A||Y;75ýO1ZZœV+*˜Ï&&šššÿ¹‡Ú³§6•—7Qyyƒ©©&ËVdiiƒT*ß¾=¹e=M§7Ó‘9»Ddn.°³Ó¹r¥ˆ"" ML4œt==M‚ƒ³²²ª“’Ä2™|Ä“GªPùÅoÏ¥øî»Ô°°y2s³ÐЉDþê«6J¾&¨„]Pl"‹ëÛldüüsîüùŠ?¦8VRR?nœY'•7hPÓ§s¾ù&éã]™±¸áûïS™]D4p áÏ?çìÚ•¢˜u“SsòdfÓA†7ùñÇLkkmŸÿ,Mpûv9óôX«:8g—ˆFŽ>|÷È‘»¹¹5ï½gBD|gg½+W ’“Ëííu·´ÛY¡ò‹ßžKÁb±¸\VÓ;û.¥¼¼A_ÿß_WD"Í‘#EþYPXXwêT¦ÿ¹ç:ë¿/tO» >¬¬´ÙlÖ©SY‰ÜÀ@ƒˆüüz·ÚÈô×Òâøø\~ásccͤ$qdd‹Eo¾éÐIå½ù¦ãÙ³¹û÷§]¿^:p AU•äâÅüÒÒúþý <<Œ‰hî\û³gs·oOŽŒ,R,A ©ùŸÔ‹÷ »·råõÒÜÜ ttxEEõ©©ññeÃöúÎÙ%¢¡C¸\ÖÑ£,Ö¿7qGަ56ʘ'ð©Bå¿=—bÀÃøø²I“.N˜`ND7n”$&Š›&]Æ«¯ZÿñGþ'ŸÜLK«œ7ϾٲǠöv@}èëó_y¥gPPÖáÃw™?¿Þ­62æÏw¸r¥àôéf“YêµK1<½mÛ†|üql\\i\\)ÓȬ³Ëüå½_?ƒõë|öÙ­˜˜â˜˜b"rs3ôö¶üüó¿ƒXZj>ì¹råõ„qB‚XÑîì¬×©SQµµ¹ôˆ‰)vqÑ34|0mÀÓÓdÏžT"1ÂøQ+T~ñÛs)üüzGEݹSqà@3ÂçŸ8vìnÓõ}‰hüx3ccÍ‹ó‰sžA» ¬­…~~ÎôhÙØ¯ß¿¯*øâ‹ÞÞVIIâš KI#ih°ö¼r¥0%¥\ àŽcÚÎ7¨µZÌÈ‘"mmžbþ(ã7ìê륊͉͇7/ÈÍ­áóÙ®®îîÿdútkOO“Ë—ó++tÇŒ¥¦Vøù97íêâ¢wîÜøØØ’„qm­ÔÔTËÉI—Yö«S-YâkÜ·ï¿'<¸‡Ÿ_o"–‡Ç–­U^!sõ<<Œ.tTrñÛ¼úúü3gÆ]ºt?3³JW—?j”‰¹¹@&“+ždp8¬uëú''—ëèpu;åÒ@7Æ’+ŸÆð_UUUJ:88Øxy)ëÓåÂà æÏô÷w7¯³&-À3kÙ2íØQÐÕ…¨'¡P(=Âë¾qg ¹¢¢ºãÇ3¶×ÎNøòË–O¯è„]€æŠ‹ëZY&–1a‚Â.€ª@Ø€gQ«“nŒŒ4o©mÉÎNØiuÀ†° Ï"kkmÅš -k*Ù *Ë €ÚBص…° j aÔÂ.¨-„]P[» ¶v@5ÄÅ•úú^ »×Õ…t.õþšbqî])o¿µpáµíÛ“‹Šêºº"P» ÊË££‹ï߯QÒ'%¥Â×÷ÊO?å´ÙØmµçkª¨ììj/¯‹_tñbþ¥K÷wì¸ýâ‹SS+ºº.Ps» >*+££‹óòjÚl„§ïý÷¯Ö ÔãÛo‡~÷ÇÈ‘&bqÃòå12™¼«Ku†×@§‹‹+-íÙSû‡FhjrˆhÜ8ÓW^ù#1Q|õjÑÈ‘&]] ¨-„]P1bqáCwÿþ»LCƒ=v¬éÔ©Ö,ÑO?åì߇ˆNʺzµéüê«6-Wúå—‰³gÛhxèPzrr¹@À0ÁÌÛÛŠM‰[·Ê6oN˜2¥çôéÖMÛãã˾ø"aò䞯¾ú =#£*88+5µR"‘ÙÚ §M³vvÖcv) pwïqäÈÝÄÄrõë(F+,¬S^Xttñ/¿äæäTóùlWWƒ3lŒ4{oß. ÉÎÉ©–ËÉÚZÛÛÛªOý¦‡+©­3\½ZDD¯¾jÍ$]"âpXo¼aûñÇ7ÃÃóv ó ì€*))i˜<ùrnîƒ9 ¿þz/!A¼fååÕ$'—Qnnunn5ÓaÄ“–ôÏÔXWWýuëâ <&uþ|Þï¿ß¢<ﺸ襦VìÙ“Ú,ì;–]üÉ'ý›kׯI¥þF^päÈÝ L›f­( _?E..ÿfÍüüÚÉ“/+)lãÆøÀÀ4Eÿ‹óHß»wØÀ†D’ýá‡7äMfìߟöÕWƒ}|¬ÚS[«fÍŠPôo•¾>×®¡Û›–VIDnn†M™Íôô*%ÃtÂ.¨’}ûRu7n(i&&ŠwíJ9zôîÂ…Žææ‚É“­tt¸ëÖý=}ºÍäÉR¥e$›Ä IDAT¥ e£Â?¤ÛÚê,_îbl¬‘˜(Þ»÷ÎùóyAAYÍRl3|>{òd«ƒÓcbJÜÝ{0µµÒ³gs]] ˜û£±±¥kÖÄ __;77>Ÿ >p í“OnyxYZj3G<˜fk«ãççܳ§¶®.¯…ýöÛ½ÀÀ4.—5gŽý!Æ••AAY×®-]ú×åËÏkhp˜›Ù³gÛnÌå²23«þ9§¢¢‘¼µ5]¬<ì6½¯ÜRYY=k6m41Ñ$"±¸AÉ„° ªÄÆF4ZCƒCD£G‹e;vܾu«ÌÜ\`a!pqÑ'"KKÁСFŠCZmdk†„ŒÑÒâÑØ±¦ƒ÷xãˆÌPv‰èµ×lL?y2Svù%§¦Fª800ðŽL& ÁÜjeÆïßßpÞ¼«gÎä-^Ü‹i41Ñ ­¥ÕüG±òÂNœÈ$¢M›)â»ÕìÙQQE/æ{yYp¹ì^½t?ý´ŸbÀ¹sí++©¶fö”+}ŒÇSöÄ3”9œÿÜ3g6eÊÆè„]P%'Z0I—Ñ·¯ýs×ð1xyY0’ááali)HI©ló@GG]77ƒ°°{Ÿ~ÚOG‡GD'Ofiiq½½¤Ï¸¸2‡µm[ÉåÄÄD‰DFDééÿ.¶5q¢yˤÛfa·o—kiqsˆˆÅ¢3l¢¢Š’“Å^^ :®\y}ÅŠ˜qãÌœõìì„l6‹©³ýµ53dHó_ óuª«%M™MmmüK?b@•èéñšnòx,"’=îA]]~³}}þ½{µí9öµ×lW­Š=s&×××6=½òæÍÒW^é)>ø¡ZS#•Jå‘‘E-¬«û·\33ÁcV_/ÓÕå6›X¬§ÇgvÑK/Yº¸èÿòKnHHVJJE}½ìå—-W®tafJ´³¶f:8g×ÂB›ˆ23«úöý÷9¹ŒŒ*"²°hý"<» >˜ü'ÿïŸÛ[md$&Š›nVWKîÞ­d&’¶éå—-ׯ;u*Ë××öäÉL"j:ùÁÌL«¡A¶gG³?Ü‘¡aÓ Ûz|T^˜‰‰fZZEAAHôo©ññb"‰´˜M[[á²e½™Ï âY³"ŠŠê˜0ÚîÚþ£ƒsvûõ3 ¢Ë—ó_~ÙRÑxéR>¹º(9 ƒv@}\"Êήn³‘qá½à଩S­‰¨¶VêﳦFúÒK¢ö‹óÒK–§NeÅÇ—ýôSŽ­­ÐÝýß?ô?ÿ¼Y@Àí°°¼•+]˜{®DTYÙš=xpÛó”6r¤É;|pcÛ6w>ÅÄ”ìÙ“Âì"¢Í›§Níio¯Ãô‰4yz´¨#µupήžßÏÏùË/Þ~;ÊÑQ—Ëeݾ].—Ó;ï8™šjuddåðº`PššœU«újhpRS+¢£‹™{™­62¦Lé¹tiï²²†øø²ª*‰ð‡<{öl}í­–ú÷7èÕK7=½’Ãa½òÊp8Çzýu;“–VyófinnµŽoî\ûf/wh•òÂŒ55dˆQ]4)©<;»ZS“»h‘Óúõý™}Ô·W/ÝÒÒú¸¸Òäär6›åãcµeË 'RÛc{ë-Ç÷ßwÑÖæÞ¹S‘œ\®¡ÁY¼¸×òåÎwF"bµ: àa ªª”½ÀÁÁ>  ÀËë ¿)@,nHI©°¶Önz#i´±6½ZS#MO¯¨­•Êå¤Xn¬YcxxÁüù‘þþ®óæ9TT4fdT \Ý6_ŸÖLffUAA–‡™“ÚRc£,=½²¶Vjjª%i²Ù,%_§Y{›…ÕåæÖðùl¦‹T0JKësrª®……¶@Ð|¯’Ú:U]4=½R&“ÛÛë¶Z€X¶LDD;vtu!êI(ŠDíšoÆÀ4P úúü– å¶Ú(pZ>óÔj#CW—×ìÍ^ígc#´±*éÀã±{÷neb@«•7ko³0ccÍf¯ihÊÐPÃÐPÙCc«­Sijr:õþ1@3»ÍeeUüqìÃöÜã½÷\žf=ðØvš«©‘4ÚÛLÓ÷ú@7‡° Ï¢Q£DiiS¶×ÙYOÉ^P!XÔÂ.¨-„]P[» ¶v@m!ì€ÚBص…° j aTCxxƒCèi]]H«©‘®[÷÷èÑ¿:9ýäàZS#%¢_½çí}ÉÕõg‡Ð}ûîtuÝÂ.¨ë×KBwîLi³QumÛ–tèPz^^T*gZÒÓ+ýü¢“’Êkk¥][@7„ר’ðð^PÐh[[!›Í"¢«W ¥Rù{ï¹,XàÈçãÀ 쨒¢¢z;;{{EKaacФ ÐÂ.¨˜[·Ê6oNˆkh°ÇŽ5õ÷wÕ×çÑÎ)ß|“DDß|“Ä| ¢+\Z6¦¥M /˜??ÒßßÕÉIï›o’’“Ëî„ ¦ï¿ßÇÐPƒé&•ʽœ“S-—“µµ¶··ÕÌ™6ZZø“³®Núý÷©gÏæåäTóùlWWƒ… {iBDë×ÿ}ð`:ÅÅ•:8„6;ÐÛû’âÛu^y*aTI|¼x˖ĆÕÖRhhvnnõñã£o´ØØÒM›˜É¯uuÒ“'³nÜ( +pˆhëÖĽ{ÿ}Ø+!Aœ æñسfÙ=l@'§ŸSi[ed¤qíš×Ãö66ÊæÌ¹zãF ³ÙÐ ‹Š*ºv­híÚþ¾¾¶úí€v@µüüsޝ¯í›o:ŠDš‰‰â+®ÇÄ”$'—;;ë-Yâ4t¨ÑŒá+V¸,Yâ¤8¤ÕFÆùóyS§Z¿óŽ“‰‰fBBÙš5q)){ö¤¬XáBD.Ü×ÒâlÝ:xøpc.—•™Y}út“ƒ;ÉáÃwoÜ(17¬YÓoÈãÊÊÆS§2¿ý6eÆøçž3[½ºßêÕý øÅÎNŸIº ãÆ™‘¢*P ËΞ=+•bAÀ®‡;» J44þó+:UåÊfÉ>>gg½ ž‹-½q£8&¦8 ÙÀ€¿}û''݇ÒÁ9»ôÏ7•&“ÕK$•ï½÷Þ7ß|³páÂÉ“'óùü®.êÙ…;» >˜ug›ÅÍVEMƒrNNMFF¥µµPÑÂá°ÜÝ{,Zä´m›û<_U%ùøãØN*žˆ¬­µËÊââJ›6þñG>5­ º96[£ÿƒ¿þúë!C>ûì³±cÇ8p ¡¡¡«ëzFáÎ.¨==ÅċŠÌzdkdÄÅ•~üqìâÅN&&š‰‰â5kâ$ùĉæÌÞéÓÿœ2¥ç!F––‚ÆFYdd‘XÜPW§ì’œ³ëåeyëVÙ»ï^_³¦ßàÁFUUAAY'NdòùìñãM;22<}6667n|÷Ýw÷íÛ÷õ×_=zÔßßìØ±]]×3aÔ‡P$ÒŒŠ*<ø,Ó’–6¥ÕFæÃĉ桡ÙAAYŠìíuÞ~ûÁ¢ ‰‰â›7ÿs“•ˆ^{ͦóêŸ5Ë.,,/6¶tÁ‚¨¦í«W»kvÞy óˆD"ÿ lÙ²eá…ÇÿôÓOííí»º®g¦1€úàpX;wz ÜCK‹£¼‘1hPýû‡»¹jjr øÓ§[?>R±¸Xpð˜7Þ°spÐaöÔã‹/úû»v^ý<ûÐ!O??g;;­­Íõð0 ŽEvTH$ÚºuëáÇ‹‹‹'Mš´mÛ6‰ä1Ÿ¬…GÅ’wÒ“ ¦ ªª”­ àà`PàåÕ­WP¼AmÞ<‡®®ÔͲe""Ú±£ å.©TzäÈ‘­[·ÚÙÙ}ýõ׸Åû„B¡H$jÜÙxJ8Μ9sΟ?¯¥¥åííÒÕ©?„]€§ÊÒÒòèÑ£3gÎüðÃ7mÚ$“ɺº"u†Ôž6‡³zõjWW×?þ8??Ë–-<¯«‹RO»ð,5J¤X“ «øøø˜˜˜,^¼xÑ¢Eß}÷Þ=Ñ0 Ë 6ìСC±±±ï¾û.^/ÜvºR¿~ýöíÛ±víÚ®®E !ìt±Aƒ}õÕW'Nœ8zôhW×¢nvºÞóÏ?¿téÒ 6¤¤¤tu-ja [X²d‰««ëÊ•+ñ~µ'a [àp8›7o¾{÷î‘#Gººõ° Ð]X[[ÏŸ?ÇŽ]]‹š@ØÕU–pëÞ­®.¤u™$"#â@Ì#±Gò”ô¼ž{= " " QÚ¨hìæßž¦E‹Éår<©ö¤à¥ ˜8¨£¡Óß¼W×ÒÜõÜëÿûå9âEË›?Ìø¡eÏê†êå§—çWæÑ‚¡ xœ/LêÎßž2¡Pèëë{èС·Þz‹Ëm#ªÝ½{wõêÕS§N:uêÓ)¯¥ÔÔÔK—.]»v­¡¡áÃ?tsskº·  `ÅŠDdgg·~ýúfÇ^¾|yïÞ½Däíí=cÆŒÎ(a C çý8¯¶±Ö®‡ÝHÛ‘\ë9ׯe]kµó–?¶Èår+}«¦É __ß={ö„‡‡7NyÏêêêèèh§SXK>>>‰‰‰ŠÍòòòfêêꢣ£‰(&&æí·ß¶²²jº÷àÁƒÌÞtR…»²êÜªÚÆÚ×¼þésŸrئ1&'¦eϸûqÇnûnêwÛ®l{º5€Š177{{ ì€* Œ ¬i¨ñéãc,4NÌOŒÊŠúü÷ÏŒ˜8»éò¦¢ª"ggk.››Y–‘‘Z”ª$ì~ù­T&UrF#m#%a7KœEDfºf>|RмôHƒ«±züê™f*ºe‹³¿½úíÚÖ¶ Á-‰kÅ‹CßÌ»¹ÉkÓ´~ÓÚìjÉÙÙ™Ãᤦ¦ÆÅÅ}øá‡rù¿¿–ïß¿ÿ«¯¾òññ¡svcbbjkk› Åår7S;¶víZ©ôÁϽððð#GŽlذaÚ´?mfÍš¥ØÛ*}}ý]»v=Æ7?~¼APPv¯^½š——÷ÑG=ÆPaTImcíéy§í{Ø3›1/nܽŸ‰³¥5¥¶†¶§çf³üX/­)-­)U2àÒáKÛ¼³«doMC íŽÚ]^W>­ß4}-ý¸{q191Ÿþö©½‘ý«!L·OÂ>h9pªkÛÏJß-¹ûVÐ[åuå‡fRÏ >Ÿoff–••uæÌ"š={öðáù\nffæÏ?ÿü°Uxe2™b377wÍš5[·n555%¢ØØØ5kÖ___777>ŸŸpàÀO>ùÄÃÃÃÒÒ’ˆ¢££•‡]#£¶ioÇóññ9~üxyy¹žž^PP¾¾þ„ ®\¹òx¶Â.¨ooEÒ%¢¹ƒçî‰Ús#÷³ù‚Ó Ñ'ãNŽsg"4!"C¡¡ÀPÉ€Ë<—u¤ ®U7TŸ{óœ…ÞƒD¾ÿzWä®CפÕÐ„ÐØ¼Øsožks´ë¹×¿½ú­¡À0hvMG 5`ffVPPÀår{õêõé§Ÿ*ÚçÎ[YYÙê!îîÿ>0ŸŸ¿jÕª7¾ð L …È´Œ;¶ÿþóæÍ;sæÌâÅ‹‰èðáÃMï"·ÄãñûM›6íàÁƒgΜ™4iÒo¿ý6sæÌŽŒÖN» J¬ôÿ³f ›Å¶Ð³ˆÏg6—\ÞS¿çO‰?­ÿ}½€/`>À§¯Wo/%vpÎ.©Ÿëõœ"éÑ|÷ù»"w1³ê%õ/n´5´ MUt`fïŠÜÅçð—ŽXª¸]^Wþ²óËÖúÖJJ€g„¶¶vMMÍÂ… W®\¹bÅŠqãÆ9;;ÛÙÙ±ÙlåÇÍ™3çwÞ™4i’¢1..ŽÃálÛ¶ˆär9j% ¥§§3}† éÄ¿)õîÝ»OŸ>AAAr¹¼¡¡A1w¢S!ì€*i¶<­\.Ï+ÏÓÕÐe6Ù,ö´~Ó¦õ›&“Ë2K3/§_~ïç÷óÿ7æ°ƒsv]D.ÛÅ<@]ÓXSV[VV[–TÔ¬Ãî¨ÝD´dÄEËâá‹3K3Þ}Íš5………...y0®ýv@•üœôóü!ó3\?PRS2ÎáÁ:”—Ó.²ÅasØ,¶];C›Ã7Ç+ »œ³;Êv”&WóBê…e#–)nîÆ‘³‰3ir5ý<ýšuìæ±âêâEÃñ9|ý»¨‹Xë^X§§©÷]ÔwåuåÛ}¶ó9|%gõVQQÁ¬u`kk»lÙƒ9W ³fÍ***zXâ,//Ÿ3gÎŒ3fΜÙl—™™YCCÞ={8œæ¿K>˜ñÕysv“&MÚ¸qcaaá¢E‹:2Nû!ì€*ÑâiùðyÁéc¡qRARdf$‹ÅzsÈ›ÌÞ%¡K ´ Z´Ò·j”6^˾–[žÛÛ¤·’;8gW¨!|Ëã­;^ |i¢ÓDÅj6gþùLÁ-Ãî…;Š«‹ßþN«Izå蕃/.}ñæÉ7wOÝ­Í×îH… º***ôôô6oÞÿüóaaa+W®ÔÓÓS:xð`f³Sç쑞žÞÉ“'«««]]];2Nû!ì€*™ï>ÿJƕӉ§™Mf]ÅÊbãÆ]H½pþöyEK=Ë/nìÔ’–XVXYøcÜA1-ž`ËÜÌÿMóÝçëiê­:¿êão¾h eð„ŠURXXhhh¸yóæï¿ÿÞÐÐÐÊʪ¡¡áÎ;‰dôèÑ-û×ÖÖΟ?ÿÎ;ZZZÍ^fƬ³»`Á‚ .;vìäÉ“666:::EEE÷ïß—J¥LÏG³»k×®ˆˆ"ÊÌÌ$¢/¿ür÷îÝD´|ùò‡ Õ·oßG:E!ì€j°6°öóôó°öXè±ðJÆ•”Â_0Æ~LÓ7¨};åÛ¢ª¢ë¹×sÄ9¾ÀÖÐv˜õ0Åã_„ÍboxqÃ\÷¹×²®U5T™ëš¶­¯¥¯ä™ýgWóØÿÞa¾Ý‹_ ?ÕuªH(ŠÍ‹ÌŒ|Éù¥NüÐ-åçç—””¸¸¸|ôÑG'NœHMM---%">ŸïãããïïßòÌÌÌ›7oQËû¾Ìâ»àøñã[¶l IKKcvéëëOžjlÙ2íØQБA.\¸ðÎ;ïÄÆÆ2 /”––æää àßPÕÕÕ –––555ñññ­ŽÖ¯_?---Åfccczzzmm­©©©H$R¼râ1¤§§·lwttdæ×ÕÕÅÅÅôêÕ«ÕÄbqJJй¹¹••U«š …ôÒ5ÜÙèvþúë/Åc†††ŠgÈšÒÖÖ:ôÁT.@ ø¬ÇëÝ[Ùó ígoo¯˜OÜ*MMMåUéëë·³ìÇӹ݀G%“ÉÎ;÷â‹/vu!êa {ù믿 _z óõŸ„]€îåÀýû÷W>=Ú svº‘¤¤¤Ë—/ïÝ»·« Q¸³ Ðlݺµoß¾cÆŒéêBÔîìt?ýôSDDÄÑ£G»ºõ;»ÝBaaáúõëßxã ww÷®®E} ìt½††???==½ÿýï]]‹ZÁ4€®·víÚäääS§N5}Õtîì<%r¹|ß¾}r¹¼Yû¶mÛ‚‚‚öN]xl» ÂÂï†ûõΉf6ï–Üõ=êܵU=A©E©»£vÏýq®ïQ߸{q]]tÔ–-[6mÚtöìÙ¦[·nݵk×úõëGÝU…©1LcVT]]ZSÊlV7TGçD{X{tÞSŠRÖþ¶öU·W'÷ÜygaøðI,HTl–וwö S9räûï¿g±X›6mzþùçù|¾T*ݰaÃÑ£G7oÞÎÎÎŽŽŽNNN–––H·OÂ.¨†‘¶#ÓŠÓ>:÷ÑÖ—· 5„DtþöùÓ‰§uœç{=–¶rôJ=M=¦±²¾24!t°å`"šà8!¹ Ùï´ßW/e×ÃŽˆdrÙ/I¿ô2îÕÛ¤·€' ¢lqv›'œ]€gSRRRaá9;»K–XöêÕËÁÁÇÃÿØ»Â.¨†C„ćü~ç÷áß·ëaWZSz¯âž‹È%© éQǹpç±›ÇNÆ´1´ÑÑÐ)ª*º_y_*“¾HDoº¿y6ùlüýø‰û&ZêYêiée”fTÕWý0ã"²ía«ÅÓ ‰IÈO`¦U}|œMœ‰H“«¹jÜ* ®FjQjtNttNô“ÿªÿH/IgNÁ,œR”Âl–Ö”vÞIÔ «=3Ï ªªª”tpp°(ðòRÖ§#ÒKÒ«ª¬õ­õµô‹ªŠî–Þu4rd¦ÛV7T'ä'XèYXêY‘¸VœR”bm`mªcÚrœFiczIzmc­©Ž©HGÄf5ÿ忦±&½8ÃæØÚ0³šíª•ÔÊåòÎ{AqzIzquqËvÅ÷€îiÙ2íØ;»B(ŠD¢ö÷Ç4P1ö=ìŸ…ÆÆÂ_>¤Í×n=õµô•$Q‡×Û¤·’ xW³Ö_X¯d×dßþ闀ǀi  ¶v@m!ì€ÚBص…° j aÔÂ.¨-„]P[» ¶v@m!ì€ÚBØ€ÿ·wßqM]ÿÿÀOa#aÊY7Ö½-`mÕÖŠZýøi«ýTÛ:ÚÚÚ¢¶V+¶¥VEжV¨ AT–€‚€Ì€2à I~Ü~óÉ Ä×óá¹çž{ÎûŽèÛ“sï6šxM_ÜübÒ“l¾´±>hÝÈküúÎ×Ö­³*²¨ éeéÖ­ƒâ‚dç hikùòö—Sœjû•-u(d‘ŒEæDZ´¾÷ü^§kÃÓíZGæD\¿1Ïb¬ZŸN>Ýï]ˆœ^ÄÅ…¤„t,ïéwmð#A² ÃFP\Ð/÷)«+ …²ŽEÆŽ'?yïdqm1_À—u,¸_|ßú õ±øcƒÖã­Ü[*n¦nƒÖ£lûíÁ?/C¢¬Öí¼Ûê õ°Ua: 4BÈ¿¦þë_Sÿ%ë¸dàæÓ›íÅ«L ÜÉ»3År Fú ­ ?'ý|óéͧ•O…BáùÔóÓ¬¦­»RŸ¥OUp4tÌý0W¶AH É. •ÜJK]K+]+Y"{eue8"KV5VM·žþŠô;Ðx|žß¿,N–¨$»";»";¿*ÿè’£2  wìÀ0ðÅÍ/~¹ÿ !$µ4Õú u»µ®ûÓNß®Ó …BaXZXhZhNE_ȷбðsñ[ẂF£BbžÅ¬ ]·kÆ.Wcׯn•^žÎPdL³š¶kÆ.-¦–¨‘ä¢ä³Î>*yTV_ÆRf¹»nðÜ0Öd,µVÔˆ¾Ý71ßdWdkªh¾ùÚ›Ço$„ü–ò[HJHIm‰‰–ɶIÛæŒž#elÝŠš¦êPø»ú>ësBHs[ó‰ÄW²®Õ)+*;8®÷\?ÉbR»8 ÇÎ,Ï´Ôµü`ò½ ^Â19ìpÌaBÈá˜ÃÔBÈ€ŽÞʽE§Ñ§XN¡ëšë¾ùöÚ“kuÍu6z6^7‘RQRÀ™€Õn«?ñþD|“k9×6]Ú´cÊêàtì—_8öp'KUYÕÛÆ{Ç”:ª:ÔªÐÔЯ~|tÉÑÙ¶³Eõ©Â}~œ9j&U" /f\ K Ë®Èæ øVzV~.~¾N¾ŽçTæ¼sáV~ëO¾?9:K¸¨¤?/1ù1Yœ¬Q#F}>ëóègÑš*šãÍÆG?‹®äVŠê¤—¥/ùuI W èðJ¾ü¤9>Ò|¥9†½þJ‚¼B² rK(îøkGDf„¨$»"{Ïõ=Yœ¬}sö‰ ÓËÓ¿¾óu+¿•ÒÄkº”q©¸¶øìгÔÚJn¥ÿQåê¦ê[¹·¢ó¢øÝÝÔ]Tþ¨ôÑÁ[ùB>ÕÈ¡èC EFeCå‰ÄT…g/Ÿm‰Øb®cNååRÆ&=Ÿ·úÜê”âj±•ßšP˜øHíQs[shjhJqÊ¥5—T•T»=¡P¸õòÖ+YWD%éeééeé&š&Í'¶«|'ïΖˆ-ÆšÆ'}Ok÷×EUÓTCÙ4aÓX“±w î*Ó•íÙööl{ ›ôàòëîøHþ>J¯§W5ȱW}¦ »½wç~˜«ÎPw6tÎý0Wôgƒç [EdFDdFØŽ°=µüÔý-÷Ó·§Ÿ]qÖŽmw>õüÃ’‡¢j—3/û:ùFmˆÊØ‘qþÍóFFÉEÉ¢ßpi4š—…× ßq›â²wfß ¼wdñeEåã ÇÅûº’ue•Ûªèw£Ó·§]rTQA1(.è̃3æH Lº¿åþ[o „‚à¤àÅ&Í¡ †uC„¤§ið=ñhÛ£Ø÷b½i„¶/jŸø€ÜÕì«>N>7ÖßÈÙ™syíåÞ/ù˜lš°éÜ›ç!Û&o)©Ns¯Õå¾Èa=ƒZü-å·¬Š,K]Ëßü~KÛžvçÝ;.â¹c·ñB||kšjn<¹!Ú„ÃåÄæÇN±œ"š´Ú®_ÊÕì«‹Gmˆ¢N¨íÛ¼—y?%ü$ýî„¥‡]ɺ¢ÅÔú|Öç±ïŦoO¿´úÒrçåJt¥v5½ÿë†ð n&nV^0Ö4&Ý]TÒŸ#º=6?–Ê¥!ýå×íñ‘ü}”^O¯jcÙ¹–FW Ÿ~ã´(Aq7u?¼àðìŸgß|zÓÕØ•*ô²ðúlÖgÔç±&c×{®ßs}Ove¶ÛŽ¢§¦·cÊŽŸÚ¹ûeÃKÑ?ÿ9•9â}M¶œ¼kÆ.êólÛÙÞ6Þ‘9‘Ïøx™Ó2ªpçÔ¡©¡¹/s{›ôþÎú›´8ÈÅÈ…Âb°½+¸ç‹Êòsñ£ª¹¹ìŸ½¿ÝL‰ž/å1‘FÎÎoÒÎͧ7 !¢‰³‘Ù‘4íØ’c6z6„UMÕ½³öæWçÇÄ‹6é6þ¥ŽK¿þöBÚ…yvó¨’ð´p¾€¿ÜyyWýRœœÎ=H^wS÷ãKÏ<132'rÛämRîÎÅô‹„ï}/Çu4tt4t¯Ãð?½þé™gVŽ]¹{ÆnºÂ?Óú뢲ҵÚ3sÏQ_ÜÉ»ÃTbÚèÙ¨L´˜(a|ZÊËOšã#ùû(½ž^Õ Çì€ÜzZù”/àOúa!D( ‰ú@)­+Uóé)¾•©–)!¤¡µZ|Pò`Å+x|^»Æ›ÛšÅ=L=Ä4Œ!î&ÿûMŸ®@g«³_4¼èQlÒ+¬.ÔbjQ©†Ètëéç+¬.•L4ŸØqNpOƒ—ò˜ Ž[¹·¬t­Ì´Í¨ÅšB6‹Meº"“-&‹'»ÝƯ§¦7Ýfúͧ7KjK¨éaia#X#¦YOëª_Š—¹—øá5Õ2µÐ±È¯Ê—~wò^æiªhvœ± îhüQn wãø;¦ì/ïÇ‹ÊßÕöèÙQO£BSC3Ë3ïÜUTPÜí½[”)¶#åå'Íñ‘ü}”^O¯jcHv@nQsR;*žè0â«h„Fþ/E „O8Îãó½YÌf±•éÊ4íõ“¯W5V‰oÕ¾­Ó–Abë*rÉÄo¼éiðRiôqÎn}K}rQò:u=êTšø—;-¿ñäFxzx Wà½ç÷ž×<ß8~£è±ÞõK ÑTiJ/þ‡0Ýzz̳˜°´°y£ç‰wöïE¥ÍÔöuò-­+Õfj/³äÓëŸîººËv„­“¡S§õ¥¹ü¤!ùû(ý1ìéU r É.È-+]«LNfüûñê õ^7RTS¤§¦'~GÿóšçUâ·%É*6qfÚfJ¥–¦:9‹ ïäÝ¡VõK"ÝêÑ¿ƒð‹˜g1m‚6ñ¹fZfiåiO_<ÜÉßJšs:Ùr²ºAXZØûßM %„ø:ùJè—W·uÒVÑàeQMQ~U¾èøëªéR…â›$&ˆ/ZéZ%%ÇÄO0ŸÐÕ^;8¾;þÝÕçVüprÙI77Ѷ’/ª^ŸƒµdÌ’ˆÌˆÄÂÄN“])/?ÉÇGÒC€vpƒÈ­eÎËšxM«Î­º•{«ª±ŠÇç•Ô–Üν½éÒ&ñµ%3Ò0zÙø2$%¤¾¥¾¾¥þNÞ·Bßj7°$«ØÄ͵›KÙ±åNÞn ·¼¾üèÝ£çS¦+·»‰ªïº=&š*š„ä¢dê¾~ rvæˆßqØñäG1DåFi1µ\þ7uöèÙB¡pÓ¥M … ¼ÆâÚâO¯}ÚîJsNé ô¥ŽKKëJÿÎþûZÎ5Ssms ýRRKS?ºúQaua¯é~ñýw/¾Û&h=$‹Ê¿¹ÿ˽ç÷šÛš‹k‹÷Gí¿ ŽB=íaëå­çSÏ—×—7ñš2Ê3v]Ý•T”$^ÍFÏ&te¨ŽªÎšsk¨œ’HqQIy^.¤^Øyeç½ç÷¨j-m-ÉEɇ¢B4™šn"åå'ùøHCšcÐFv@nùŒñIzžž¾>l}»Uo8¿!e#þ®þÑÏ¢÷ÞØ»÷Æ^ªÄžm?jĨ n…Ìc·òµ•‘Ù‘J¼}ámñòÝÞ»G°Fô>ÐÎt{L̵ÍÙ,vBa‚Û÷ÿ :Äø~t^ôtëé¢;´!«Æ®ºœy9«"kåÙ•T F›g7Oü RžÓeÎË~Høá“ÈOZÚZÄoMë´_ÊlÛÙ—2.…¥…‰J¬t­6Œÿç™!¦Z¦³lg]˹¶âT F_Òèö´CMú‡Ãár¹*X[[qæÎ•T ïÜ:ð[Êo÷·Üï*“³~eâÛ˜oG¨X9ve»ò„„•gWþkê¿$?ëú•µy3›räGÖÈ'‹Åf³¥¯‘]–nåÞ7rÜàgœ²êW&¨{ÚÚihm ÞÓF= `ˆÃœ]€¡%«"kAð‚®ÖzÛx_z¼«µ¯”ëes[’¬ú•‰ŽOeþ+믭[ !,Kòó€†$»Ð¹-^[:2•˜¶#l?™ù õx€!É.ÀÐb§o7Ï.èóíæwõL€¡ sv@n!Ù¹…dä’][Hv@n!Ù¹…dä’][Hv^E¥u¥AqAÉEÉâ…éeéÖ­ƒâ‚d@¿C² ð*¢’ݤ¢$ñB¶:;Ð+pÜÈq²Š  ßáuÁð}–~ W ¬£èOHv`8)«+»w»¾¥ÞFÏfŠå”'/žÜxrcîè¹ÖzÖ„Âêˆ̈ɖ“ ï=¿—ÉÉTSVósñ#„Ô·ÔÇ<‹)ª)b(2ÆŒq7uµ™ÉÉŒz%jD¼pžÝ<+]+ñ– â âs«1Ô¦XN1Ñ4‘&l ñ…ü„‚„œÊœ6A›…ŽÅË) EF»­ºíTÂÞuÚµ•®Uxz8!$¡0/àS5½+¸ç7r5¸+ÚÖÅÈåÞó{iei EÆdËÉæÚæ=:/2„d†ÐÔÐ=×÷´ò[©EWc×ùvóƒâ‚F%Jvƒâ‚”éÊßÅ~—Gq`;ø¹øEæD~ô÷Gõ-õ¢¦\]-9¦ÏÒ'„d–gŠ7B¡ íôíDÉ.Õò7Ñß$&Pu?žññª±«º¼«ÀRKS·Dl)®-Õ4Ô0üÑçÇ1c¤ïTòÞuÚõ붯‡¥…B  ©­½9õœ ¸ ÑLj[¦óxÂñ›OoRÕè ôsø8úH^dÉ. ieiŸ\û„/à»›º;:U7U_˹öCõk'7¶6.°_0Rk¤ºAVEÖÖˆ­m‚6GCG77n+÷æ“›Knº´)ôÍP&} TË‹`È,ÏL(Løüæç¶#l¥œäÚ.°’Ú’µ¡këšëœœ ••3Ê3 ß {çÆ;7X –4J¹wíº¶Ö³öuò K ó4óô0õè6ln w‘Ã"¶:;³<ónÁÝO¯:sÔLu†zÎ €L Ù€áátòi¾€¿ÅkËf¯ÍTI Wà¢Ó‹:Ölâ5]^{ÙR×’ZÜþçö6AÛZ÷µOÿ˜JþvNÝéó«ÏÃ’‡‰ÏÇ›—>†&^SÄÚj¬—œ¼?jÿ©¤SR&»íûôÚ§uÍu{_߻ⵢ:¿Üÿå‹›_\~|9À5@šN¾÷³4{×®kBF K o6~Ó„M’ÃæñyWß¾*š;ñá߆¥…%%O·žNzr^dOc€ááaÉC¦ó½‰ï‰JL4M–;/ïXs‘Ã"ñ¬.¥8…N£oŸ²]4Ì©ÍÔÞ8~#µªG1,´_(J: !kÜÖèªêJßH»Àâ ãé4zUcÕ±øcGï=wäHÜ‘òúrBHzYº”J¹wíºîŸ1>Ⳅ§ZM%„pê9Ô¢ôç@&0² ÃCms­ºF/4Ñêäþ°v·OÕµÔé«ë«(ªˆŽÔIµÙ£LµLÅh ÆšÆéåé]Õ—XUc_Èÿ>îûŽ5Å'àJîTʽëxK™ô 5 ÅU•T !m‚6jQúó Hv`xÐTÑ,¯/ç ùâyUqMqÇšt…ÿ/ñÒ`h”Õ•5·5‹g„ÏkžSmB¨ò†Öñ­JëJ;¶\TS$¾( KjK4RîBûÀT4Zù­ïŒ{§cMñûº$wÚíÞuÚu?’þ¼È¦1ÀðàjìÚÄkú)á'QIi]é…´ Ýn8Öd,_È?sXTRÓTs"ñµŠb¤iD¹{[TÃåœO=ß±©Ë/ç½Ì-ž¾úeãKª‘^˜`6¡‰×d¦mè(þçõQ¯;:KÙi·{×AUî]ð"½>/ƒ#»0<¬q_s%ëÊ·1߯åÇ99U7V_{rÊØ${Ëã­+YWN%º_|ÿ5ã׸-ܨܨªÆ*#Ï‘ž„1côYú‘9‘g\Œ]^4¼¸–sMUYµcSL%æ¢Ó‹fÙÎÁñ˜ó8¾ žF£½åñVïöèÝ ïFæDnÿsûéäÓΆÎê*ê•ÜÊ'/ž¤—¥/6Ö4–¦Ón÷®+¦Z¦ 4… iÚmÚLmBHï^'Ñëó08ìÀðàlè¼÷õ½ŸÝü,©(‰zÉ­‹‘Ë4ëi‡cS³H»b϶ÿnÑwýýQjijji*UH=‰–º©KEQåïO¶Flµìeá5ÃzÆÞ{Û5µÎ}]l~lDfµH=ò¶×/×5Ñ4 ñÙþçöŒòŒŒò Q¹¾(Óí¶Ón÷®+ZL-GŸ°´°”ª¤wÉn¯Ï Àà@² Æ¿«ÿ«)·sos[¹Ô›ºþsí?Dì*jJ€«±k» gÛΞ`6!&?¦¸¦XYQÙÑÀQüc„9£çŒ1s'ïN#¯Ñí0Ñ|âãŠÇ^íž`ÀPd„ø‡ÄæÇæTä¨*«Nµš*åÔº Ìžmÿ÷[?(yQžÑÄk2P7°akǶëQ§’÷®«® !æXh¿ð1çq#¯‘*a«³Eo”èj[ªÐÉÐITÒíy!šP(”u 0œp8.—+¡‚µµUPgî\Iuz'£<Ãí °Ì(ÏX²œÅ`%¼Ÿ0p7`QbžÅ¬ ]·kÆ®µîk´#™wÚ 2Fv`Øø>îûg/Ÿ¹™¸é¨êäWåßνÍòW]%󌪒[yöÑÙ®ÖZêZη›?˜ñ ²!{^’]F ïäÝ)¬.•,u\J½@A¶^4¾Š êj­··|'»Cö¼$»0Œzú8ú¤§”Õ•©«¨{˜zØèÙ N×f¾BôTõ$ÜÝÕëW—Iîtèáyèæì@ÏÈpÎ.À°€9»ª§svñR [Hv@n!Ù¹…dä’][Hv@n!Ù¹…d†‡g/Ÿœ O—›ŽúèIå“ã Çל_p& µ4µÝZ—p& àLÀîÈÝ·½{›Z{îѹA @fð5Z’Š’<Í<妣¾XtzQ&'S´XÛ\Û®B3¯9©(‰’\œ¼Ásƒ©–©øÚ_îÿB­ú¯gè#ŒìÀð`©ky&àŒ£ÜtÔ 6z6Çoœj5UB5g#gšBXZ˜xaImI|aükƯ lˆC’]Ô”ÕÆg¢i"7õEÄšˆ«o_Ý1e‡ä8G¨˜d1ébÆEP * OW ),³dàÃ=Lc€ááÙËg»#w/uZºÔq©¨0©(é¯ÇÕ)Ó• ý\üôÔô¤i-»"ûbúÅ¢Ú"¡Ph¦m¶Ða¡Û¡ÓŽÖ…®kæ5wláЂCFFÔçüªüðôð'•OÚm:¾Ž¾vl»¾î°Dú,})kú:ù¾éýø‚x/ /BˆP( O÷2÷b«÷àÍòÃ’]:N¥Ýµ?89X´•u:ùôÉe'»ýþbúÅÿýo¡P(*9•tê›ß,rXÔ±£ä¢ä&^S»hÿü2öÇÃ?ö^ßËò©Å˜g1¿?ø}ßì}¾N¾]°òìJ¾€/!B-¦Ö>?HÞ )Ͱž¡ÍÔK £’Ý»wKjK>œöa¿40ô!Ù€aéú“ëÁÉÁŠ Š«ÝV{Œô¨o®KK,L|ÿÒû·7Þf(2$l{*é!dÕØUÌ'(*(T\μ\×\×iåàåÁâsŠk‹÷\ßshþ!uBȃ’{®ïQUV p p6tV¦+g”gœ¾ú“kŸxšyv5Ç ©(Ir²+åø´4”èJ‹}t¶¶¹VSE3,-L‹©åmã›Û_] eHv`X¢ž™upîÁÅcS%‹­:·*¡0!*7jîè¹¶UTP¥7ê?3ÿ#*Y㶦¾¥¾ÓÊî¦î¢Ïåõå_ýxÿœý³lgQ%ÁIÁ¡ xy°h8yšõ4c—µç×þùøÏwÇ¿Ûi›!þ!âãÊ)Ñ•$¬í)_'ß_îÿòçã?Ø/¸þ亿«ÿ¶0”!Ù€a)»"›©Ä¤&Ph4šŸ‹_BaB'Kr²»Þsýö?·o»¼mºõt;}GªøÚ†IDAT;K]Kš‚:C]r•ÜÊÕçV¿7á½ö D…©e©tý»Øï!B¡PH„„6~!$ïe^WMy˜zH·—ýc´þh¶CXZ˜P(lå·J˜_ ìÀ°ÔÒÖ¢ÁРÑhâ…š*šÔ*ÉÛγ›g϶ÿëñ_Ó/æTæ´´µÌ·Ÿ¿}òv ®6©j¬ZunÕ·5â·ÇB[ùB~|A|ÇM:½­2˜sv)Ëœ—í¹¾§‚[a϶·ÓØ›ç†$»0,é³ôs_ær¸6ëOH/O'„Hóœ ‹Í^›©Ïå+Ï®¬äVv•_Ö6×®>¿ÚÏÅÏßÕ¿Ý*C ÃV~ëOK¢+ÐÛ­ÒQÕéª÷Áœ³KY`¿`Ôþ nÅÆñû·e€!É. K“,&=}ñtç_;¿[ô6S›’\”üSâOÔ*ÉÛ~uç«¥ŽK­t­¨E6‹­DW¢Þ(ÖQ}KýšókØ-Xí¶ºãÚ×G½™¹}Êvj\™ÚäRÆ%7·®ä9»„MÍЕ¡ ­ ކŽýÛ2À‡d†¥wƽsùñå»w'›d©kÉmáRÍ]æ¼lÔˆQ’·ý%ù—‰'tTuLµL[ÛZŸ¾xÚ&h›b9¥cÍ&^ÓºÐuO+Ÿ2™wò¢ž³ûö¸·o<½ñÇÃ?BSCÍuÌÕê•Üʲú2¾€¼<¸cƒ”¾ÏÙý!þ‡¸ü8BHAu!äËÛ_O8NÙ:ykW1ÓÇN†#$»0,`8»â쮫»’Š’sB˜JÌÕn«·MÞÖí¶NÿðÜ£sO*ŸT5VB”éʋ횱«c͂ꂇ% !Ç}©‡ïª*©ž 8ûuô×Ó/æ¾È¥Vi1µ;,v0pèÛ.J’÷2O<¤œÊêµG B“üS@;‡ËåJ¨`mmÄ™;WR^hhmÈ(Ï0Ö4n÷ðÚJneqm±²¢²µ®µäÇë¶SÕXUTS¤ª¬j¬i¬ª¤ÚiG¼Æô²ôN7w2tb*1E‹<>/ïe^¯É@Ý€­Î½rb€ä½Ì{Ñð¢c¹ž 5W¸¹­9µ4U›©ÝÕ8wMSMNeŽ‘†‘©–逆 ð Ú¼™M9r„#ë@ä‹Åb³{ðH$»Ð3²Jv† $»ª§É.¦1€¼)¬.üèïºZëfêöÁä3!$» oy]=Z"áaº 쀼1Ó6;p¦«µÔsÊàd䪒긑ãd {¿0€ !Ù¹…dä’][Hv@n!Ù¹…dä’][Hv†¢ûÅ÷­Z‹?6ÄÛâì€ÜB² rKQÖH%æY̺Ðu»fìr5výêöWéåé EÆ4«i»fìÒbj‰ª%%Ÿ}töQÉ£²ú2–2ËÕØuƒç†±&cÛ5b§o÷MÌ7ÙÙš*šo¾öæÆñ !¿¥ü’RR[b¢e²mÒ¶9£çˆš …aia¡i¡99|!ßBÇÂÏÅo…ë 6;{,þØá˜Ã„Ã1‡©„Üs»„/àŸyx&<-¼¨¶H(ši›-tXèïâÏTbJh@Ž!Ù€á$½<ýë;_·ò[ !M¼¦K—Šk‹Ï®8K­­äVúŸñU®nª¾•{+:/ú÷€ßÝMÝEåJ¼u/äSŠ>ÄPdT6TžHtòÞIÑÚŒòŒŒò %¥•cWö¨#¹d†“Ë™—\Þòx‹­ÎÎ,ÏÜvy[rQr'ËŽmG¡Ñh^^«Æ®²gÛë©éÕ6×&=OÚyeçñ„ãâÉ+kÝ×®q[££ªý,zkÄÖ ¸ Pp`îÖ3h ?&üx*éTpRð×ó¿&„DdFDdFØŽ°Ý9m§³¡3C‘‘QžñÙÍÏΧž÷uòu5ví÷ÝÜ4aÓ¸‘ãü~÷Û6yÛ¦ ›DåÝFrãÉ ¦óÐüCÌ'(*(TD<ŽPUV•Ð&€|C² É—…×g³>£>5»Þsýžë{²+³©dWOMoÇ”?%þ´;r÷ˆ—ÔØ-!$§2G¼‘É–“wÍØE}žm;ÛÛÆ;2'òã/sZF3454÷å??ñ‡¥‡Ñè§ß8­ÏÒ§JÜMÝ/8<ûçÙ7ŸÞì*ÙÍÙ™Óiy_t‰†!Ä{”7F'„رí¨#ðÊB² ÉçHOñES-SBHCkµø äÁŠ?Vðø¼v[5·5‹/z˜zˆ/iBÜMþ7ôKW ³ÕÙ/^P‹O+ŸòüI?L"„…B!R!¥u¥ý°WRë6’]Ówmº´iúñé“,&Ù±í\\íÙöƒ!ÀPƒd††"C|‘Fhäÿ²=BÈñ„ã<>/Ð+pñ˜Ål[™®L£Ñ^?ùzUc•¤Fh´N[ÔgP@étnÇÄZd æìv‰ÛîÆ†Š¤§$?OŠ ÒVÕþ~Ñ÷¶#l{Ô€Ü@² ò£¨¦HOM/Ð+PTò¼æyAU†ŠF_šµÒµÊädÆ¿¯ÎPïsŒÒR )y­4‘ÐitwSwjŽr¯i扙ýýÑÅÕ»j@¾!Ùùa¤a”û27$%dñ˜Å„”â”}Qû¨ÑоXæ¼ìþ•û«Î­ÚIÏ“ÂÓÃׇ­o·ê ç7úÒ²æÚæl;¡0Áí{7ª$÷ÃÜn#É,Ï|Xò°ý*—7$´9@ñ xƒÈoïo|;Z´Š¢Š>KßßÕ?Ä?D™®ÜÇfi4Ú—ó¾ Z4Ñ|¢¦Š¦]ÉTËt標?úü8Ñbb¿DÞ]~Ì瘛‰S‰)}$á«Âß|íMk=kEm¦öX“±æ=z¢Ó6äMtc€48—Ë•PÁÚÚ*(ˆ3w®¤:rlóf6!äÈެ‘O,‹ÍfK_#» ·ì€ÜB² r É.È-$» ·ì€ÜB² r É.È-$» ·ì€ÜB² r É.Àà©àVÅÝ{~OÖ¼*ìôIi]iP\PrQ²4•9õ$»ƒ É.@ŸPÉnRQ’4•Ùêì@¯Àq#Ç tT@Q”u¯}–~ W ¬£x… ـᡰº0"3b²ådgCç{Ïïer2Õ”ÕæŒžóëý_]Œ\&[N¦ªåWåÿùøOm¦öʱ+©’6AÛñ?ØèÙÌ=§ß£J.JO'„$&ð|ª0Ð+°Óhý\ü*¸ç7r5¸+ªædè_ŸU‘¥ÅÔšm;[¡Niâ5Ý|z³¤¶ÄDËdÖ¨YJt¥~@î!ـᡰº0(.H™®ü]ìwqùq„¶Ãrçå¿¥ü›+Jv#2#ŽÞ=JW /rX¤¡¢AyXò0(.hçÔ]µ|$îˆ%t­ª¤úö¸·;]•T”–FI,LL,L¤ ©d·c´~.~Ôœ]ÑLªC‘!ªFù&ú›³+Îòø¼u¡ëÊëË©B¶CèÊP†"£‡ ìÀðœÜØÚ¸À~ÁH­‘ê 4… f®=¹VßRO†Æ>‹5Õ2-ª)Š/ŒŸm;››Kñ²ðêªÍ£ñGEƒ²ÒSÓë*Ùõ0õðuò K ó4óô0õm—;•ÜÜÖ¼Ôq©¶ªöÝü»YYŸ^ÿ´´¶T™®¼Âu]~%ëJ&'óÜ£s«ÝVKˆ:B² ÃI¯éòÚË–º–¢/ ¯¿³ÿŽ/ˆŸe;«®¹.ƒ“±sêÎà¤à¸ü8*ÙËÓQÕ±Ó·ëªÍ÷'¼ßíÈnW«ÜMÝi4ZXZØx³ñ›&lê6ÚN ‰0òíHC CB*îÏsã â'˜OøyÙÏÊteBÈʱ+gœu+÷’]€žB² ÃÉ"‡EírGjÈ6® n–í¬øÂx¾€ïeáõ¤ò 5+ ¶¹6£æ&»"B!))Qzþ\±®NA(¤õ½A€£¬,ÔÐàÛØ´jiáy 2ÖÓdOc٠ш‰ ÏÄ¿ÀÂoˆ ·ì€ÜB² r É.È-$» ·ì€ÜB² r É.È-$» ·ðº`[Ù¹…dä’][Hv@n!Ù¹…dä’][Hv@n!Ù¹…dä’][Hv@n!Ù¹…däÖÿB;xb ÂýIEND®B`‚fio-3.39/examples/ime.fio000066400000000000000000000015441476262051600153310ustar00rootroot00000000000000# This jobfile performs basic write+read operations using # DDN's Infinite Memory Engine. [global] # Use as much jobs as possible to maximize performance numjobs=8 # The filename should be uniform so that "read" jobs can read what # the "write" jobs have written. filename_format=fio-test-ime.$jobnum.$filenum size=25g bs=128k # These settings are useful for the asynchronous ime_aio engine: # by setting the io depth to twice the size of a "batch", we can # queue IOs while other IOs are "in-flight". iodepth=32 iodepth_batch=16 iodepth_batch_complete=16 [write-psync] stonewall rw=write ioengine=ime_psync [read-psync] stonewall rw=read ioengine=ime_psync [write-psyncv] stonewall rw=write ioengine=ime_psyncv [read-psyncv] stonewall rw=read ioengine=ime_psyncv [write-aio] stonewall rw=write ioengine=ime_aio [read-aio] stonewall rw=read ioengine=ime_aiofio-3.39/examples/ime.png000066400000000000000000005722721476262051600153530ustar00rootroot00000000000000‰PNG  IHDR“z›þ=bKGDÿÿÿ ½§“ IDATxœìÝy| ×ÿÇñ×Í&+‘XbßiKÕ¾DªhU-ÕÖK«¾ªZE[ú¥ý–ö«?TµŠÒ¢­XKѪúZj­j‹X‚„$B‰Èz\¦¹IYy?<Ü™9sæsæd>sæŒÉl6›‘"Ŧ°‘»O ‘"H ‘"H ‘"H ‘"H ‘"H ‘"H ‘"H ‘"È®°yЭZµŠ)S¦P¢D V®\YÈåÜŸþÉ?üÀéÓ§IJJ`È!¬ZµŠ°°0H¿~ý 3LÉ%DDD Xxx8xzzr49÷Ë/¿Ð¥KÌf³Õúgžy†;wrâÄ ÚµkWቈˆHé‘ÉÖÇl$Z¶lÉï¿ÿΦM›èÙ³g!G&"""ùA#DDD X—.]¨]»6ööö…MÎ;vÌøÜ¿:tè`,/X°€ÄÄDªT©r×c‘¼3™3‘|u³9V¬XÁ_|aµþçŸ& €¤¤$ÚµkÇ«¯¾Š½½=gΜáË/¿äСC”-[–Î;Ó­[·,Ç:yò$ .dÿþýÄÄÄP¢D 7nÌK/½„··wŽâ2e «V­bóæÍÆZµjQ¦L™lËg7‡@pp0‹-⯿þ"66777zè!zöìI½zõrvâDDD¤@)! ""RÀfΜÉ!CË/^૯¾â7Þ0Ö>œ±cÇZíÛ©S'ÆŽËSO=ÅåË—­¶7Ž>øÀX?~<~ø!iiiYbpqqaÞ¼y<ÿüó·÷ÕW_eÖ¬Y9nßøñãùÏþc,¿÷Þ{|öÙg¤§§g)k2™>|8S¦LÁd2åø"""’ÿ4‡€ˆˆÈ= &&†~ø… òÅ_Ë¿þú+mÛ¶Å××—•+WÒ«W/cŸO?ý”˜˜f̘ÁرcIKKÃÁÁqãÆñ믿òŸÿüð÷÷gïÞ½·å­·ÞbÓ¦MV7üûßÿfÓ¦MÆO¹rå²Ý÷Ë/¿ä“O>!==“ÉĈ#XµjcÆŒÁÆÆ³ÙÌÔ©S™0aB^N—ˆˆˆäÍ! ""rHKKã»ï¾£U«VÌž=›¿ÿþ°ÜÝ_²d Ô¯_ŸE‹œœÌ±cÇhÒ¤ ü±Q×»ï¾Ë¸qãxúé§9sæ ßÿ=)))L˜0Å‹ß2–š5kR³fMllþ¹oP»vmüüüŒe''§,û™Íf>ýôScÙßߟÏ?ÿ€Î;ÇôéÓ˜8q"£FÂÖÖ6ÇçHDDDò—"""÷;;;Z´ha,—.]ÚøÜ¼ysðòò²ÚïâÅ‹œ9s†°°0cÝòåËÙ´i“±|æÌãóÖ­[ó=öŒÇ9þ¼±üä“OZmïСƒ‘¸|ù2ÇŽ£nݺˆˆˆÜš"""÷€%JXÝ‘Ïø¹T©RÆçÌó˜Íf®^½jµî¯¿þºéq.]º”×Po*snnn·\Î\^DDDî.%DDDîs>>>ØÚÚÉ‚ÿþ÷¿´nÝ:Û² ñññ<óÌ3ÆòĉiÒ¤I¾Åqüøq«í!!!Æg“ÉDÅŠs},É;M*(""rŸsss£cÇŽÆò¯¿þJ½zõðóó3~jÖ¬ÉÁƒ­F¤¦¦hüäuô€››O=õ”±lÛæTØaÉB ‘еk&Þx£ ß~ë΄ ‘|öY$¥J¥vX"""’K]cÙ²0|}¯òòËeY¼¸xa‡$Í! "ò€IO‡‘#½Ù±Ã‰ï¿§qãk…’ˆˆˆäƒbÅÌL™A•*üç?¥qvN§sçüyÄPŠ&%DD0S¦x°~½3óæW2@DDäc2Á°a—ˆ71z´>>©<ú¨þ¿—ÜÑ#""ßwaÖ¬’|òIÍš%v8"""R@FަeË« R†˜½“PrG ‘Db¢‰?.ÅsÏ]¡{÷+…Žˆˆˆ ˜2%øü󒅎ܧ”y@|óMIbcmxë­èÂEDDDîW×tFŽŒfÑ¢9âPØáÈ}H ‘@l¬ sæ¸3tèe¼¼ô6‘ìP½zuªW¯N£F ;) ¦´4J,X@¹>}¨Ü¤ UkÕ¢jݺTòõ¥Ìë¯ã´uka‡(’¯ž}ö =”ÄÔ©…ŠÜ‡”y¬Xá†ÿ¸ÂEä¾e$ ªW¯Îþýû ;$Ƀ2C†PjÜ8œvîÄöÒ%Lii˜’“± Çå÷ß)÷â‹”X° °ÃÉ7& øpá‚æŒ—;“§3eʶoßž_±ˆˆÜWš7oÎ[o½UØa°n íÛ'àâ’^Ø¡ˆˆ‡£GqÞ¸ÑXŽ4ˆËC‡b‡÷ˆ8îÙ€ûôéÄöéSXaŠä»öíptLgÃúô‰-ìpä>’§Û·ogÇŽù‹ˆÈ}cÇŽ÷LB4)ÉÄÞ½Žøú^-ìPDîiþþþ„„„BPPPa‡#À&Ñúí*q½{“îâBjÙ²ÄwìxÓr"÷;{{3Í›'²}»Sa‡"÷™<)iÖ¬K—.ÍXDDî/¼ðBa‡`8qÂÔTõê%v("wìСCtíÚ{{{öîÝ‹““åÚ~ýú‰·o¾ù†¶mÛŸ'Nœ@“&M €±cÇàîîζmÛ˜6m?ÿü3‘‘‘LŸ>¨¨(«2AAAøûû³k×.«˜žþyãs×®]™iy÷pÙ²©…‰È«[·.\ºt‰””öìÙC«V­HNNfß¾}F¹;vÜGç´nÝ:Ûz‡ Æúõëó-Îk×®1xð`¶fš.&&†Í›7³yóf À{ï½—ëcŒ1‚ß~ûÍX>~ü8ãÆ#44”wß}€±cDzxñb«ýÂÃà gëÖ­lݺ•¹sçòâ‹/2oÞ<ÒÒÒØµk!!!T¯^ÝØgÕªUÆç=zdϨQ£X¹r¥±̸qãHOO§_¿~$%%ñÚk¯hµï… ¸páë×¯çØ±c·lwº‹ ¾ú ŸçžÃ”˜Hñ€®úú’ЮžŸ~j$’kÔ êãoY—ÙÁð€|˜Ú·oŸíñ²<þ³lÙ2ãÑ‚£þïÿþÏHxyy±`Á<È÷ß››åŽÜܹsY»vퟃ1GEE±aÃvïÞMß¾}mß}÷þ¹·µµeáÂ…9r„mÛ¶±páB @éÒ¥(W®O>ù¤QÇ‚ “è8q‚#GŽ–QÝ»wÏ6žS§N±nÝ:¶oßNÓ¦MmóæÍ3>Oš4ÉH˜L&†ÊæÍ›Ù·o7=ï™%׬IÔøñÆré1c(¾p!%~ø¸ž4˜>t§Û‡6%'c‡)-ëWL‰‰ØÄÅAºþ½”³s:W¯êòNîŒzŒˆÈ}Îl¶ü™a¯È}%ãEý ÿÖ«W€£GËþýûI¼þü·»»»±=³‰'Ò¨Q#òþ^î””«Ç#ß|óMš6mŠ““-Z´°ºÃžñ»nݺVo/¨^½ú-+øïÿK¥J•(Y²$ï½÷žžžÆ¶_~ùGGGÀ2L?44”°°0<<^o¿ã¸Dî&Ó?¿ˆä”"""R¨2û?xð W¯^5îÚ?÷ÜsøøøžžÎ®]»¬îæ·lÙ›¬¿ÊØÛÛóðÃç[|aaa\½úϤcÆŒ±ºÈ¿ñ¬>X¹áàà@5Œe{{{«å“ן¯¿1¿Azz:£G¦]»vÔ«WŽ;2~üxÎ;gìS¿~}}ôQâããáÿ={ö¼iœã’““ 1#)))Æù¨R¥ 666¼ð Æþ«W¯rèÐ!†Jtt4ìÚµ‹:о}{|||8wîGŽáã “òõèÑ#OñåË—ÇÅÅÅ%°e˺té’ëúLiixfÜá7ÛÚbJKÃi÷n<'O¶ºÃ3éF2Ø?)-ÍH Øe=‘¹¬ˆHQ¥"""Rè2^Üÿý÷ß4mÚ“ÉD³fÍ8}ú4ÉÉ–×kV«V2eÊä˱]]]­F‘–Ꮄ½½½Õ«?ýôS6lØÀ•+WHHH $$„Õ«Wóúë¯3þü\Ç1vìXΞ=ËåË—ùøã‰ŽŽ6¶uîÜ€0mÚ48ÀÅ‹qppÀÅÅŪžÔÔÞ8bkkË‹/¾h,ïÙ³ÇXŸ±M¹aooo5·ÀÏ?ÿÌ´iÓ¸páñññ1hР×çñÿ‡ÓîÝ$W«FøÂ…˜‹À}öl\6l¸mW}}϶11xLœˆMl,ögÏâ™a~…´R¥H®[7DZ‰ˆ<¨4B@DDD ]“&Mppp0.ø#àííMåÊ•9a8x~ËD}=ö»¯_ŒN˜0 &ÿŒ5j!!!lÛ¶‹/2xðàlëÊíÜîîîxzzòøãgÙöÒK/Q¿~}BCCÙ²e Ó¦M˶žòåËã›á¢à…^`êÔ©VÏûûùùáåå•«X39r$!!!üù矘Íf¦M›f›­mÎ^æò¿ÿá>gæbň˜6äZµˆ~÷]Jf3^£FqnÕ*R2 ýÏèÚ£Û·/%~ü÷o¿Å=Ãf;;¢>ùÄêq‘¢J )P111,\¸íÛ·A±bŨ[·.½{÷6~¹ÉlË–-Ì›7°°0*W®Ì!C¨\¹²ÕðÌ©S§Z=¶p'Ç9sæ ýû÷7–ç΋­­-Ó¦MãðáÔ-[–Î;Ó­[·,±mÞ¼™ùóç[ÅV¾|ù¼ž&‘"ÏÑёƯöƒ7>gLÜlþ€Üš4iü1»ví"666ËcNNNÌ›7Õ«WóóÏ?søðabbbpss£L™2Ô­[—:ä)®©S§2}út~úé'¢¢¢¨X±"ýúõ³zá?üÀo¿ýƦM›8sæ ‘‘‘888P¡BZ·nÍ Aƒpuuµª×ÕÕ•=z0wî\cÝÍ&¼SŽŽŽÌ;—_~ù…•+WrèÐ!._¾Œ§§'>ú(/¿üòmë° Å+Ããß}—äZµˆíÓÇ;pýí7lââð~ýu–.Å|‹·G\üà›7§ø²eûûol.][[RË”áZ“&Ä `Ô/"Rԙ̙ÿÇ»7†‰e|<¸2>g8|øp¦NzËò¿üò ýû÷çòåËÙnçwŒ;07L˜0Ñ£G[­sppà믿æ_ÿú—±nÓ¦Møùùåê8Gµš9yΜ9Œ92˳ÿãÆãƒ>0–?ûì3ÆŒsG±Éƒ« ÿý‹ˆˆ >>>Ge׬qeØ0oBBNH,"R0;v,`!T`ÇÚ½{7½{÷,#.6oÞœã»÷"rÐïE“««+ÞÞÞ¹Þ_sH8pàÏ=÷œq‘Þ·o_V­ZÅŒ3(Uª`yGtÆ·lÛ¶Íê‚»cÇŽ,_¾œO>ù„‘#GæÛq26lC‡eÅŠ<ñÄÆúO?ýÔHlÛ¶wß}ר֥KV¬XÁ„ x'“‰ˆˆ–˜˜æÍ›g,¿øâ‹Jˆˆ G¤€L˜0ÁxôñÇç‡~0¶+VÌBøñÇóúë¯c2™˜1c†1DÓÇLJ•+WbooXfU~ë­·òå8™ 2„ñãÇP·n]j]F˜œœÌ±cÇhÚ´©Ul•*UbùòåÆ/Svvv¼ñƹ=U""""**Êxeã UªT¡_¿~…‘ˆˆÜk”‘ñ=Ñ'Nœ°Bg|¾pá'Nœ zõêìÝ»×Xß¶m[#ðä“OæÛq2ëÔ©“ñ9óK¯¿ 9cl~~~VwV2Ž*¹•,Y’æÍ›3fÌœœœ ;¹G(! âÆ»šÁ2‰ß™3gnZöÒ¥K$&&ëÜ2½8ór^Ž“YéÒ¥ÏvvÖ%nŒ È[æÉšn›ˆˆÈ­øûûãïï_`õ—.]š«_DDîJH¨\¹2‘‘‘tïÞý–Cêk×® @… 8uê€ñç ÇÏ·ãä†Ó‰Öµè—-¹iRA)=zô0>R¢D üüüŒŸFqá‚‚‚(^¼8Ï<óŒ±ÏºuëŒ÷A_»vO>ù$ߎ“+øßÿþǶmÛHJJâ³Ï>Ëu½""""""…E É•eË–Y]xßøéß¿?C‡¥M›6DGGÓ°aCêÔ©C³fͨP¡îîîôîÝ›õë×u¾öÚkÔ¬Y€ÔÔTZ¶lÉ£>JÅŠ­†ìg”›ãäÆk¯½FµjÕHKK£M›6FlW®\ÉSÝ""""""…A É•°°0³üìÚµ °Ìð¿nÝ:þûßÿR®\9Ž=ÊÎ;9wînnnôíÛ—Q£Fuº¸¸°aÃÚ¶m @JJ àñÇgúôéVÇwvvÎõqrÃÍÍ7“¦¦¦ràÀüüüøñÇóT·ˆˆˆˆˆHaÐ’c›6mºm™ê¼ÿþû¼ÿþû„††N±bÅ(_¾<^^^Ù¾ÐÇLJ 6pæÌ¨T©åÊ•cÙ²eF“ÉDÕªUs}œŠ+Zµ¥J•*Æg'''«m?üp–ý2Ç–’’bµOƒ n{žDDDDDD ›’c_éw§*UªD¥J•n[nîܹT©R???*V¬@pp0ï½÷žQ¦]»v”*U*×Çqvv¾i[lmmoÛΊ+±ØÛÛçé܈ˆˆˆˆˆ%äžÈË/¿Œ»»;ÕªUãÊ•+œ """"""wNsÈ=å_ÿú;v$..Ž={öLjj*nnn¼üòËìß¿Ÿ5jv˜""""""÷={J«V­X³f œ¹sJÈ=ÉÅÅÅjB?¹7½öZm¼¼ŠvùâAjKvôö‰ˆˆÈSB@DDrmÈš…B¾yÚ’½}"""r甑\›1#/¯b<÷œõÛ=ÒÒÌlÛEppiiéT«VœV­JS¬˜m¶õüýw ûö]">>ooGÚ´ñÆÓ³˜U}Ó§£jUWžyƇ'®ð矑$'§óè£4jä™m½ ©lØpžððDÊ”q¢}û²¤¥™™7ï<⎟_™›¶%·ÇÌI{ ÃíÚwäH,;vDaccÂϯ •*¹`6ÃÖ­‘9‹««O>YìÛ’í¾Y\ééШ‘'õë—Ìv¿  h‚ƒãˆOÁÇÇ…Æ=)]Ú€ÄÄTfÏ>NÅŠ®tëV!˾ééffÎ ÆÝÝÿ*yúî‰eïÞh®\I¡bEWZ´(»»Ã‘»E ɵ¯¿>Ê×´J„„\aÈœ:oUÖÛÛ‘/¿lJÆƺ‹“xóÍÝlßeUÖÉÉŽqãáùç-õ¦¦¦3mÚÚµ+KXØU&M:„ÙüOù=*ñÉ' ­ê8xð2¯¼²ƒ¨¨kÆ://G>úèQ¦M;Bß¾U­™Û’›cæ´=·²bÅΞ½zÛr7ôëW•’%oÁy«ö…„\᫯Že?ùä _|Ñ„–-K3xðvíºhl›<ù0‹ûR­š›±.?Ú}CƸŽeæÌ`«í]»V`âÄǰµ5“ÌË/o㯿.[•+VÌ–‘#ë1`@5œœìؾý"³fÇÏÏ;Ëz``S¦æÍ7ëf‰!§ß}TÔ5Þ~;ˆm۬ϋ‹&4ä©§ÊçøˆˆˆÜ-JˆˆH¾ILLeàÀm„…]¥\9gþtF IDATÚ´ñÆÞÞ†­[#9qâ ƒmç·ßžÀËË‘´43ƒmçàÁËøø¸Ðºµ%J8Ïúõçy÷Ý}T¯^œ þ¹#¼ÿ%6n¼@›6e¨QȈk¬YsŽ%KByæ™ ´hQ°Œ <Ø’ ¨RÅ•V­¼HK3³yscÆì½£6åô˜¹iOvV¬8“å¢òV:u*Ÿ£„ÀÍìÛgi_»ve©ZÕàà8þøãcÇî§IOŽáùç+áîîÀŸFrôh,“'æë¯›æk»3Û»÷ëן§MojÔ(Îùó‰üþ{+Wž¥reWÞx£6óæà¯¿.ãííHÛ¶e)Qž°°«ìÚu‘={¢0 /¾X•¡Cw±lY(ÿú—õÛj,8…ƒƒ ½{W¶ZŸÓï>5ÕÌË/oãÈ‘X\\ìhÛ¶ eË:v•­[#9|8V ¹')! ""ùfõê0®Ұ¡óç·ÂÉÉòˆ@jª™#v³vm§1¢ëÖ…sðàe:wöaÒ¤FÆ_°ÜÝþù@æÎ á‹/룣“˜1£íÚ•5ÖµníŨQ{øã ÆÚêÕ爌¼†¯¯7³f5ÃÞÞò–’ÄÄT^|q+ÑÑI9nSN™›ödçÙg+Ò¨Q©Çw³áû9uéRsæ´ MocÝ»ïîeÉ’P‚‚¢ùý÷öx{[†Þ§¤¤Ó¡ÃÿØ´éf3˜Lù×îìâš8ñ1ºw¯h¬;p :=zXê{íµZØÚš¸tÉò]._þ¸'@rr:‡ÅËíÛ—£\9gN1p` L×ÃúÏã)¶¶&úö­Âĉ‡Ø²%__K›N‘žnæÅ«e‰!§ßýŽ–ÿþw½,s&¸¸ØQ§N‰;n¿ˆˆÈݧ„@tt4çÎãÍ7ß̯xDr%88˜²eËâæævûÂ"ùàÀøøøv÷œØØd*VtͲ­BL&Ë3ß—.Yþ\¼øtŽë/[Ö)Ë:gçF!dŽ£|yç,å}|\r|¼;9fnÚ“‚šCàfÊ”Éھɜ[mKLLò¯Ý™ùødýîÀÒââRhÕÊ‹… }™?ÿ={n&))‡²$z÷®Œ“Ó?¿êôìY™/¿<Æ?žÂ××›äät–.=MãÆžÔ­›õ¢=§ßý>]µªþ‘ûKžÇçܹsL:5¿â¹o$&&v÷œ%,¦gÎÄS¡‚õÝÙ³ ˜ÍºÝ(Û§O<=ÉŽ££M¶ësGXØU¼¼¬ë>w®`†oçW{îöyUPßã¹sÙ'EΞµ|Å‹Ûë7ö¤qcËÌÿ‘‘רµë"Ÿ~zµkÃX´È“k×®>,YjÌ3pùrr¶£îÄ>}òä*V¼³„“ˆˆHaÊSB Y³f,]º4_‚É-“ÉĈ#øüóÏ ;)"^xá…ÂážÔ°¡'Ë–…òå—GiØÐø;›–ffÊ”Ã<ö˜å­yóR,]zš´43C‡Ö2.ÚnˆŠºÆùó¹Kº<ú¨?ýÊôéǘ9³vv–º“’Ò²ÌZŸ_ò«=w{¼*¨ïñôéx–/?“iËüïç)^Üž5Š–áú?\K_óòrä™g|øã üüóYNŠ·z#‹/VcÑ¢Ó,\xšíÛ#)WΙöíËå¢åÿhÞ¼4K—†òÿwˆúõ=¬47æÐc""r/Ò""’o:w.ÏôéG Šæ©§6X½e $ä %JXÞóЩ“óæ`Ñ¢ÓlÙI‹^xz:—ÂéÓñìÚu‘kðÈ#w6;½%¾øâüq§ŸÞpý-élÞÁÕ«–¡î&Óm*¹CùÕž»=‡@^Ô÷èáQŒwÞÙ￞£fÍℇ[Þ2–ffÀ€êÆä…³f³gO4ÍšyQ©’ öö6=ËæÍØÚš²¼b°Fâ´hQšùóCHLLãßÿ~Èj"ÄÜxúi¾ùæ8GÆòøã¿Ó¶mYÊ”q"<ü*þ‰¿%DD䞤„€ˆˆä'';¾ý¶C†ìàÔ©xNÛ¼¼ùòË&Æ~[[ß~Û‚ÿ{7^`éÒÓVuy{;æ*–‰ÜfÎlÆ+¯lçäÉ+œ‘2eœh×®¬qá˜y¸ÌmÉÍ1sÚžÂp'í«RÅaÃêðÈ#îY¶ùùyãáQŒ%þy†¿ Ú=jT=ž~º<»vE“žnæ±Ç*¨Mo¶níÈöíQœ=›€­­ uë– I“Rùþ†¹½Áƒkäh„À­žßÏ‹òå6¬nnv´m[–J•\òµ~‘û‘""òÀ*^Üž'ŸÌÛ;æ%¼új­ÛºnذÚù~|—©WDDä~fS؈µ‘#Gb6›s5:@ä®9ÌæÜ‘{†"""""""EP‘IŒ=“ÉÄþýû™?>=ôŽŽŽTªT‰?üôôt«ò}ûöÅd2qñâÅ,uÝØ“mý3fÌ víÚ899ñÈ#°zõj>|8åÊ•ÃÑё֭[sàÀ«º'Mš„Édâ?þ°ZöìY D… ppp L™2øûûsôèÑ›¶yúôéÔªU GGGªV­ÊG}DjjªU™‹/òÎ;ïP³fM\\\(S¦ mÛ¶å§Ÿ~"o¤,Z¢¢ B(U Μ±Þ¶y3ØÙA«VéÜg1z4˜L°?ÌŸ=ŽŽP©|ø!dê£ôík)ŸM5¶eè£VõϘµkƒ“<ò\ï£$$ÀðáP®œåØ­[C¦>ʤI–z2õQΞ…Aƒ,çÂÁÊ”¸Eeút¨UËr¬ªUᣲž§‹áw fMpq±ÔÛ¶-üô“e¤‚ˆˆˆˆˆäJ‘›CàË/¿ä»ï¾3–Ïœ9Ã|@zz:~øažëŸ4i ,0–JD,\¿ü7B¦>Ê„ ¡rê¼ÿ>;ú(O? ú(W¯ZêÞ´É»ú¨ˆˆˆˆH®™70mÚ4ÂÃÉ‹‹ãÇÄÎÎŽ¯¾ú*_X±‚Y³fItt4cÆŒ!55•N:Áºu눋‹ãäÉ“<ñÄ„‡‡³páÂ[Ö9|øp"##ñõõ%((ˆ„„:D÷îݹrå ƒ ʲÏO?ýÄäÉ“ çÒ¥KàááÁ?þȆ g÷îÝÔ©S‡;w’@tt4<ÿü󨨹î‘{ÍšÁäɰk¼ù¦å.w¯^–Ñ Zî¸çT@L›áá?þhI&|õUþÜ_±fͲ\¼GGØ1–x;u²\h¯[g9îÉ“ðÄ–8nÓG>ÜRŸ¯/YF:dI4\¹b9ÙO?YÎYx8\ºdi·‡‡¥½×û(áá–d@:°s§¥Þèh „çŸõQ‘\+r#ÆŽËo¼a,÷éÓ‡Ÿþ™eË–qöìY*V¬˜§úÇÇ+¯¼b,ôÑGÌ™3‡¨¨(Ö¯_OÆ pssã³Ï>£qãÆ>|ø¦õ%$$ðÛo¿áååÅêÕ«)^¼8uëÖeñâÅ4hЀýû÷LÍš5ýFŒÁ[o½e,÷îÝ›´´4úõëDzeËxâ‰'ðôôÄÉɉ¦M›Ò¤IœñõõÅ××7Oç¡Hzã Ø¾¾þþþÛrÇýÓOáñÇﬞ±c-uÝЧüü3,[f–ŸÇ>ʸq¡òÑG0gŽ%y±~=\¹ÁgŸAãÆp‹>JBüöxyY=¸ÞG©[/¶¼Zpÿ~¶ û¿aÄÈÐGéÝÒÒ _?K[Ÿx<=-54m ×û(ÎΖăú¨ˆˆˆˆHž¹ÛkÙÍÞ_µjU®\¹’çú3_HÛØØP¡B\\\ŒdÀ •*U,ÃÿoæôéÓ¤¦¦Òºuk#pƒO>ù$!!!VÛn¬Ïè©§ž²*[¬X1æÌ™ÃòåËiÔ¨#GŽäûï¿'444'M•ìÌžmyæófËP÷ÿûÎëÈnöþë}”|è£Y.¤ml,Ïý»¸ü“ ¸ázå}”Ó§-# Z·þ'pƒÜè‹™ú(ÙôQ®÷Q£l±b–dÅòå–GFŽ„ï¿õQ‘<+r#œœœ²¬3™LV Ü.Ÿy²A€ÄÄě֟Ý\&“é¦ëovŒ›•Í‹ud¬ËßߟÎ;³qãF‚‚‚X²d C† áñÇ' KBnc÷n8wÎòùøqËüžÃlú(7¾³Œ Ü.Ÿ]ÿ¹EÍv.“éæëovŒ›•Í‹ud¬Ëß:w¶ÌCd™aÈËÈ‹€€;?¿’oRÒRxqÑ‹4ªÐˆ·|ߺý÷¸ÈøH6†l$ðd ±‰±t©×…^ ze[6>)žuÁëØ¾Ÿs±ç(fWŒzÞõxîáç([¼l¶ûÄ]‹cÑþE‹:FìµXÊ/O›jmh[½­U¹í¼ŠˆˆÈ½«È%rÊËË °LÆwã3X&ÝÛ¹sç]‹£råÊØÙÙ±eËâââ¬.ÐÓÒÒX·nÕ«W·Úï÷ßç‰'ž°Z÷Ûo¿P­Z5«õnnntíÚ•®]»–‰yä>úè#&Nœ˜ïmz`?o™7 tiËÈ€7ß„,ÏÊ„ýòÔ©>ƒeÒ½»ØG©\Ù2`ËËÜ/ÐÓÒ,sdê£üþ»å±€Œ®÷Q2õQÜÜ kWËX&|äËãꣅ&ݜή³»(îxÿ'e>Þð1ó‚æY%†-ÿh¶e„À?ÀŸ¤Ô$«õÿ þ³vÌâó.ŸÓ®F;«m{ÃöòʲWˆIŒ±Z¿`ßüªù1£û ìmí뼊ˆˆÈ½­È=2SõêÕàí·ßæèÑ£$&&²oß>ºwïNXXØ]‹ÃÅÅ…Ž;A·nÝØ»w/W¯^åÈ‘#ôîÝ›¿ÿþ› XÍ0uêT¦L™Â… ¸|ù2 .døðá<ÿüóìÞ½›N:±|ùrN:Err2.\`ÅŠœ9{[{ž{ø9>ìð!s^˜ÃÄN©_®>‰)‰Œüe$q×â¬ö½f41‰14òiÄäΓù¶Ç·Œl3’âŽÅùãÄ,Ú¿è&G)8!p½{÷æý÷ßgëÖ­Ô©SÇX_¾|y:tè`Ü™¿¦NÊÎ;Ù´i=ö˜Õ6WWWfÏžeŸîÝ»óöÛoóöÛo[­ïÓ§1r --5kÖ°fÍš,û›L&üýýó±¸Ñ£-wÈ'L€6m,ë¦L± q=Ú2)^«Vù{ÌÞ½-¯éÛºÕ2 ÿ åËC‡ÿÜ™¿¦NµŒJØ´ 2õQ\]-s+dÖ½»%™‘©Ò§Ï?#ÒÒ`ÍËOf&“åq‘|ðÞïQÚ¥4&“‰µÇÖ2/hÞMË6(×€o줘]1«õëv¦Û¼n‹:Fй ãQ€ÈøHNFŸÄËÕ‹ù½æûµ©Ú†ò%Êóæª7ÙqfýëW`íÉŽFÜ„££#¿ÿþ;O>ù$ÎÎÎ/^œgŸ}–mÛ¶Qºté?~Æçü«V­JPP¤|ùòØÙÙáååE¯^½Ø½{72¿ß=z4_|ñ5jÔÀÁÁ*Uª0~üxæÍ›g”iÒ¤ kÖ¬á…^ J•*+VŒòåËÓ¥KÖ¯_O÷îÝ ¼„+,£ºtQ£þYooK—BÉ’–Ñ·š˜/7-ÃîŸ|Ò2ó~ñâðì³°m›å±…‚–ñ9ÿªU-É- ;;Ëc ½zYîògÓG=¾øjÔ¨RƇ }”&M,É€^°l/VÌR—.–7"¨Þ3’Ó’™4Wz•W–½Â¬³¸šr5K¹ÈøH¦o›Îð•ød ãÖãÁÿ˗׾慗«WŽçjqqpÉ’ °·µ§Eå˜ù§=Nö–yA¼Ý¼³ìW¹de«2·b6›ùjëWø/ðgÉ%9ŠUDDDäVLæ<üö /°téÒ| ¨¨;v,ãÇgÇŽ4mÚ´°Ã¹o˜L&FŒÁçŸ^Ø¡<øÆŽµ\¸ïØaùPDô¿ÄÇÇç¨ìš5® æMHȉ‰åf’R“¨7©m«·%!9g¬ç®¨æYE}QÒ©$ÁQÁôø±ñIYÛÕ£~>éøÉmùɆOøûÂß9ŽqRçI”+^.ÇåÖ[ËÐCÜl0£üFÝ~‡ zýØ‹ƒ²õõ­¸;¹ëû.ìËî³»™Ñ}†1ràZê5ÞùåÖ]Ãôg§ód-Ë›7nœ×v5Ú1󹙯ºw~µ”}£å k5ìŽâ‘_aý> …ËÕÕooï\ï¯Gî!aaa¬^½°L&(rÏ ƒë}õQ¹nóÉ͸så¿w¨Qª篜göÎÙœˆ>ÁGë?brgË<‹ö/">)¿j~t{¨îŽîœ‹=ÇŸ§þäJRÎ^©y4ê(»ÎîÊql‰)·xãF>[|`1Aç‚xË÷-«dÀ”ÎSxãç7xeÙ+T*Y w'wN]:Erj2oú¾i$²s1á"ƒ— æhÔQ>ïò9ÏÔy¦ ›""""E„÷ˆW_}•Y³fкuëJëÖ >*×™1ó}¯ï©ë]×X×±vGÚÓž_üÊø§ÆãlïŒå¿œIÏL²º`îÕ W–IønfÌãcˆKÊYYàŽGäÖÆŒû}OÖz’W›¿še{ Ç´©Ú†‹!„^%ôr(ù/-~‰IÏL¢k½®Vû‹:FzP¶xYöYHùåïf³DDD¤PBà1sæLfΜYØaˆÜÜÌ™–‘Lnv1_±`yþ ŠGÖ^ϪC«ØvzßíúŽð¸pZUiÅ;~ïP½TõÛënÌ!p'ì]À‡ÿû5;0µëTcDF›Onf÷ÙÝt®Û™Ï»XÏsòt§i=½5S6OÉ’°·µÇÖÆ–¸kq$$'XDDD¤èRB@DDò$8*˜”´ìmí­Ö<°Ì®C Çô{¬ŸñŠ½ÈøH^ýéUú/êϦW7e;{F÷ÒÓ·MçóÍŸÓ©N'¦t™‚­É6ÛrgcΖI3ótöÄÝɰØ0ÒÌiVuTõ¨Ê—ݾä¥Å/Ñ{Aoæ¼0‡GË?Z0‘"I É“‹ ¿~<ÿi÷l0›ÍÌ šÇ®³»¨è^‘Šî˜4Ú¥kÓ¬R3cß’N%q-æJäùHN_>M­Òµny¬{a³ÙÌ'?aîî¹t­×•‰&Þ4Cý—XBÇÚÄ@Zzó‚æI·2ÙÖQ«t-÷]Lÿ…ý鿨?3ºÏ U•VùÞ&)š”‘<©æYe-ã—#¿P¹deÎ_9OT|#ýFåOòÑúpqp¡¢{Eì8}’+IW(éTÒHÜJAÍ!°)d³wÎàRâ%V^ž°}t¨Õ—½ÀïÁ¿3w÷\L&áqáô[Ø/K}ýõç©ZOкJkªyVãDô žšóU=ªâêàÊÙØ³\ºj9ÖËM^¾ilÝ+²¤ß,À eƒ˜Üy2O×~:ßÚ."""E—""’'U<ª0ÊocÖŒá¯óàVÌ1mÇX]¸h<€ts:ÛB·q$òˆ±¾iŦ¼ûÄ»8Ù;ÝõØoˆJˆÊò(Âù¸óœ;@ÍÒ5õ7æD0›Íì>»;ÛúÚ×lo|¶·µçûÞßóáºÙ²Ñÿ¼ÚÓÙ“W›¿Ê€ÆnŸ—«}ø×Ò1båâ®ÅÑ«A¯;k¤ˆˆˆH&JˆˆH®ØÛÚ³À%JR³tMÚ mÃñ‹ÇI7§S³tMl¬ÊûVõÅ·ª/WS®z9³ÙLÙâe)éT²Zð¿j~,ð_pÓíçAhY¹å-ËT*YÉzWo¾îþ5ñIñœ¾|š¤Ô$J:•¤²Gå,o%Èx^3*áX‚ï{}Ï_çÿÂd2e™s@DDDäN)! ""¹bc²¡iŦƲ½­}–×fÇÙÞ™:^÷Öë½\½ðrõÊQÙR.¥(åR*WÇq-æÊCeºe™Ìç5#'{§›n¹SyJìØ±ƒsçÎa2™ò+‘\›:u*S§N-ì0¤ñññ)ìDDDDDr-O 5jàääD§Nò+‘\™:u*õêÕ£}ûö·/,’~ýõW%DDDDä¾–§„€§§'žžž|þùçùH®L:•öíÛ«/Ê]sîܹÂADDDD$Oln_DDDDDDDD4JˆˆˆˆˆˆˆAJˆˆˆˆˆˆˆAJˆˆˆˆˆˆˆAJˆˆˆˆˆˆˆAJÅ‹ãççÇþýû ;”<{ÚRT,Þ½¿ÿócÿÙûÿ;{Ú"""""r/QB €œ={–ÀÀ@bbb ;”ùá‡ðóóãàÁƒY¶Ýom8{é,ÁÄ\½?¾³¶ÿ€ßÿùq0,›þwŸµEDDDDä~aWØ<¨zöìI£FhРAa‡’#¡¡¡›eÛýÖž{Ò¨r#T¸?¾³ÐK¡›˜Mÿ»ÏÚ"""""r¿ÐR¡Büüüpww/ìPòìAjKQQÁ£~µüpw¾ÿ¿³©-ª{Ðavêü_ªV!Ù|r3Õ?«ÎÜÝs­Ê><ùaüøR¤÷¯¥–ÒqNGêMªgœcÉ_wÒ‹¢ûéïîÎ3;ºbè-Ëä¥=I©ITÿ¬:¯þôj®ö¿ßåäü‚þo¹_ܲFßy IDAT#™1c˜ÍfZ·nÍ믿δiÓX»v-+W®¤D‰Vûlܸ‘eË–qêÔ)ìííiÔ¨ƒÆÛÛÛ(óÍ7ßÀœ9sHIIaúôé„„„àííÍK/½Äã?žm^Äwƒ@ðáPî ôôtÚµkÇåË—em{öì!((ˆZµjqâÄ ^¿~-;&•Jñööfýzù/²={ö°hÑ">Œ³³3wîÜáĉìÝ»—©S§òüùsYÿ?þøƒ­[·Ò¿ÿbÉÆßߟW¯^P¿~} ÿu÷‰„#F°aÃ9ùÁÁÁÌ™3‡ÔÔT444 ôÕ³gÏpww'44T®}ëÖ­,Y²„LMMåô ÂßߟÌÌLYÿ5kÖ°xñbþóŸœìîåË—‰È·p`~¶¨¢‹²÷¡,I‘N»ÿkÇå„<ñwyAáAÔ2©Å‰ˆ¼–䉿l)Þk¼Yæ¹¼‡EÇqxâaœmÞÄHÊNDœ`LÝ9•ç™yì>û[¿ÜJ—þÅ’|!ÿ?ýy•õ&þ,ÞÄ_>ëî%R #ÖŒ`ÃÙwâïB0sÎ!50 õBâïÕ3ÜÝ zçžÿ½•%Ç–òu¦ú¦rú…á¿ÇŸÌ¬<ñwz ‹/æ?ÞÄ_âebÅä[80?[TÑEÙû (EýÀ¢ÏÑ¥v4Õß~­DM‰*/µ>*B"C€ü},(D¿Ÿ«_+Öx©HH³¥ìº¶‹­—·r+ùÏ2ŸÑ~i{ZÕlÅp—áÔ5­+׿¢ÛSÑ(ªÅ3%|8”û¯ ___._¾Œµµ5ß}÷öööܾ}›¹sçæ;87oëׯÇÞÞž1cÆP·n]^½zÅáÇY±b^^^ܸquõ·«!&OžL=èׯzzzüù矬\¹___¹¨*²§OŸŽ‡‡ ÀÒÒkkëm5k6l@WW—±cÇÒ¢E 444¸páË–-#;;»P_ùùùЉ‰ “'O¦nÝºÄÆÆ2þ|®^½ÊW_}%{ÓŸËŒ3pwwgðàÁhkksðàAV¬XÁĉéܹ3uêÔáçŸfÑ¢E¬^½šE‹ѰaC€B—¨¢‹²÷¡,ñÝáËå„ËX[ó]×ï°7±çöƒÛÌ=87ßÁ鼃óXf=ö&öŒi7†º5êò*ë‡ofÅÉx­ðâÆÌ¨«å‰¿í“éѨýšõC¯²^þ“•§Vâ»ÃWn ªŠìé»§ãÑÀƒÍ`ih‰µq!ñ·oÎn@·’.c?K Ûh¨kp!îËN,#›÷ÄßN?B£B1Ñ7a²ûdêÖ¨Kì£XæšÏÕ»Wùê¯Ø1öøûsî ÜÜb0ÚZÚ¼v§V0qëD:×ëLó:üÜÿg[ÄêÐÕ,¼ˆ†–oâ¯%ªè¢ì}”g)tpè ª¥Äƒ§áãÒDÄñ‡ÿa6]Ú$×–˜žHð•`B"Cÿ_x9iöqPTÿŠgJ øp(×'4++‹õë×£¯¯Ï™3g°´´ [·nôèÑC60Í%;;›_~ùsssÂÃÃ122’ëÓ§FFFÌ™3‡³gÏâêê*;6tèPV®\)û¿gÏžDFFrâÄ ’““155UY¶§§'AAAïµU*•²hÑ"´´´8~ü8Í›7—“?yòd45 ¾YYY¬^½mmmBCC©]»¶ìØÀqrrb×®]$%%É-mèÑ£‡ÜÀ¼wïÞÔ¨Qƒ€€Ö®]ËìÙ³iܸ1vvv4mÚTn9AIê¢Ì}(K²¤Y¬?³}m}ÎøžÁÒðMü5ìFÆ=h8#Ÿø;ò ææ„Ž‘nžq®sÌá쳸ÖÊ­†²rx»÷$2)’'H~šŒ©¾©Ê²=›xô•ñ—-eÑÑEhihqüÛã4·ÍÎ}˜ì>¹Ð/ì,i«CW£­¥MèäPj›å¹ç.qšæÄ®v‘ô$IniCF=äæ½›ö¦†A ö°6l-³û̦±uc쪿‰?›¦rË JReîƒ@yŽDaÌŽ1²ÿÌoo¿©§âÝÜû½òÎ'œg幕\¼{‘ŒW˜ë›ÓµNWþÛæ¿èUÖrÖíÖŸ_ŸNŽ˜Ùu&?ý‰S1§È”dÒÔ²)¾ŸúR×Lþ-UlZ,/nätìiâÓâÑP× ¶Im7LŸ†}dýòÊžÖi³ŽÎâlÜY4Ô5èèБé§S¥RBcBYº[ɷЫ¬Ç€Fø_ÛÿÉ%ꔵGUÛW³çð¨Ã²ö]×v±áâ"R"fK±¯fO¿Fý⾞t•çV¢­©ÍäO'ã^Ç- -NÜ9Á!?°çƺ×íN'ÇNrö5µlʯ}~ÅÉÔ mMmY ’âÚ®¬¿]¬\ˆšU!ŠÛ©Ǫø=?Þ燢ÄRn‰IŸL¢£þê’˜žÈéØÓÄ¥Å)u=U©ÏŒeUKÌõ͹x÷"é/·¯UUŸ§&Mø­ÏoÔ6©Í½'÷Xpro$àH[†l‘»FQ>»T¡$žáü(Š?”ïU(-ÿ–ÍåâÅ‹ KÂÃÃe:½kÇûêG—І…á›ø‹Ï'þ²¥\N|'þ ßĈmsæö-$FÌTˆ?e+oäŸ9ÏkÉk´4ŠoîyܤÙR…éoǾ¹ç†ïÄ_ÜE…%á±á2dvP„øSQAÅd×µ]dI³˜å> 'Y»Cu{žΑˆ#r?úŒtŒXÞo¹lº¨­‘-Ó:MÃc¥·’oÉÉèÀÒ3KYvf÷ŸÜ'S’)wünú]l mdÿë³´ïRtµthT£_´ø‚€#4³j†o‡·Õþ{ÔíÁîë»ù+ê/^¼~Ž–ŽJö¨Ê[øO›ÿ0´ÙPY»g}OÔÕÔ™øçDöÝÜ'7€ÑÕÒå÷¾¿c¬«˜ +®íPt•ŠP_¿«BQbÉ\ß\¦ƒ‰ž €ìímiSž555–ô^ÂØcqûÕ [c[2³2Ùqunvn˜ê½˜ÊÏS¿ß©¦[ €ZÕjèH÷UÝ O ç᳇T¯ò6_”Ï.U(‰g8?J¿E¥´¿T¡´ü[ò4dîܹH$.\¸À‘#GسgK—.¥~ýúôë×^½z)ìà&ø÷R® 7nÌÅ‹™={6“'OF]]¬¬,¦M›FT”|ÒjժѮ];BCC‰ˆˆ`Ĉ²7̳¤`ùòå´iӦȺ”¦lÈy;Þ¶m[Nž<‰ ,½1ÏÈÈ`áÂ…øúú* ®s111ÁÙÙ™‹/2eÊ~üñG´´´ÈÎÎfñâÅ9rsss7n,wÞ¬Y³puuÅÅÅ€¸¸8Æ@—.]dýôôr><£££iÛ¶m¡¶¨ªKEÃDß„ÆÖ¹‘Ùûg3Ùc2êjêdI³˜¶kQÉïÄŸ^5ÚÕnGhd(IŒpA%Í<1ò0†å'—ÓÆA…ø+EÙóv¼­c[NFœÄg .½1Ïx•ÁÂ…øvó-p›‰¾ Î6Î\Œ¿È”íSø±÷hi¼¹çÇsäÆÌ ÌilýNüí›…k-W\lßÄߣ8Æo~õòÄŸö›øK‰¦­ã{âOE]“ȇ‘Løsþœ K eóvÉVnÂ(—úæõÖ[æÔÌm9Ó;û¬ï#7½ó]ÞIR߬¾ìÇ^.–9É«Ö-ηÐÏI<=|ökCk•ìQ•ØÔX §h×»ä¶å¾Î¥žY½|“P|ÛUñ÷‡HQýî±ÒC¹ìÿb?µMä—<½KQbÉ»¹7çÎÓ}uwÚÙ·£y˜7ÀÅÊEé°ªzV”g¦‰EŽ9ÎÉ;'9pëÇ£óãÑÉÈÌ``ãøwñ/t-·ªÏSn2 MuMZ×lMô£hâÒâäÊ~v©JqïEa׿E¥4¿T¥4ý[hhhТE Z´hÁÔ©S '88˜ÿû¿ÿcΜ9tîÜooï ÿ{]Pú”{ÙÏ~ø^½záççG`` 5kÖ$&&†´´46lÈÕ«Wå¶â[¼x1nnnŒ=šo¾ù{{{´µµ‰%))g ׌3Šü¾´eâææÆúõëÙ¶mµjÕBCCƒ[·n‘™™)KˆļyóèÒ¥ ÿ÷ÿǪU«¨U«ñññ2ÝæÍ›§P˜ÐÊÊŠ–-[âèèHåÊ•e×jÒ¤ ”õkÚ´)£Gæ·ß~CWW—&MšXbºTD~ðü^Kzá·ÓÀ@jV«IÌÃÒž§Ñв!Wï^•ÛŠoñàŸÍucô£ù&èìMìÑÖÔ&öQ,IOÞÄHÏE~_Ú²â6×õgÖ³-|µLj¡¡®Á­·ÈÌÊ”%D b^¿ytYÐ…ÿ;ô¬ ]E-“ZħÆËt›×wžBaB+#+ZþÔG3G*kV–]«‰u6ÏÖoâïÑüö×oèVÒ¥‰u*è"¨˜ä®_/lÙÆ»o™µ5µúä7`Ø~u;÷ŸÜ§Kí.ü×í¿Ô4ª‰Ž¦jjjL;4Í—6+œ“wj«2ÇrgéäÚ¡Š=ÅEÙ™B†:ïÞQ\ÛUñwQ©(5 h~W…¢Ä’^e=þü)œ‹?Ç­ä[_ &õy*þ]üé^·{©éY‘ž™J•èäØ ýÊú¼ÊzÅBÏ…üqñf…ÌÂÖØ–‘Íß?U½$ï뻲”ýìÊý.Îo÷Ÿ—Y'ÕŠ{/ÞGIøWYJó»¡¢ú·´qqqÁÅÅ…iÓ¦±ÿ~¶lÙBß¾}iÓ¦ cÆŒ¡U«Vå­¢ œ(÷_Ì={ödݺuLœ8‘ääd’““166fÆ ¬[·Ž«W¯ÊÞ^4hЀsçÎ1iÒ$<(·¬ÀÑѹ7ûE¡4eCΠûÔ©SŒ?žÓ§Osýúu § àwß}'—øÈŽ;²gÏþ÷¿ÿEjj*35îܹ 2Dᜅ ²`ÁvîÜ)'gÆ r¶´mÛ–#F°nÝ:Ù”ÿ’Ö¥"Ò³qOÖ\ÇÄ­I~šLòÓdŒ«³ÁgëÂÖqõîU¹lsËœó;Ǥm“8xí —òĈ©#>m}äÞì…Ò” 9üOM>ÅøÍã9ušë÷ÞÄŸNU¾ëúÜ:êüèX·#{þ»‡ÿmùQÉQ¤>{sÏ -˜Ûw.CZ僲àÈv^Ú)'gÃäliëØ–®#XwflÊIë"¨˜äÖÖ ZG[ÕfÀD|Z<_·ûZnP˜)ÉälÜÙ½V.¥iÏ»ØÛ9Õå«Ë/':}€šFeWLª¨þVC,IV™éWRÕï|*¯ ?¨KµMj˽Ñ·sßìý7;7 ´ ½Þûô,-Jó™ÑP×À«©?ý‰Ó1§ °ªò<ÝHºÁ£çäf dI³8w@åå1¹³ òÇË%WvE (þ-*¥ŠK‹*UªÐ¿ú÷ïOXXK—.eÈ!8;;3eÊœË[EASî È©Ô?hÐ ®]»@½zõJ¥L˜0[[[…7òuêÔaß¾}¤§§…T*ÅÖÖ¹~_~ù%îîî888ð.¹Çr·Û+IÙ³ýž‹‹ Mš4‘kwvv&44”¤¤$bbb000ÀÁÁAéYݺu£[·nDEE‘””„±±1NNNf´õõõÙ±cwïÞ%>>KKKll¿ ÔÔÔX³f sçÎ%::šW¯^É d‹²º¨rÊ’a­‡1¨ù ®Ý{5ê!Í–2aËl«Ù*¼‘¯c^‡}ã÷‘þ"¨ä(¤ÙRl«Ùb¢ÿNŒ|ò%î Üq0ÍÇî7Çr·Û+IÙ›ÄÅÖ…&ÖïÄŸ3¡“CIz’DÌà t p0uPzÖA·†ÝèÖ°QÉQ$=I¸Š1Næ…ÄŸ¶>;Æîàîã»Ä?ŠÇÒÈãâÏ{ sûÍ%:9šWY¯d ²EY]T¹‚²£wÃÞ,;³ŒINâ›v9—êUª“þ2Ø´XöÝ܇™ž™Jkî-ªæL×\qnÚNÀPÇÈ”HœZ@LjLI›”®=ïâáäÁ²3ËX|z1U*W¡kí®hihqòÎIf™ @7§nž޲Õ߆:†D>Œ$þq LF䇥¥¥ÂÖŽùajjª°ýßûlyŸ.ŹeÁ‚# ði냳͛ø{ñ„q›Æ‘ô$‰Ñí ‰?šÕ,$FLì±7)ÀîBŽW6€µ±5ÖÆ…Ä_U3̪#þL LF䇥¡¥ÂÖŽùaªoª°ýßûlyŸ.Ź‚ÒÇÖÈ–Ü`Ú¡iøðÍ·ÏèV?‡…ѳ^O~ û•à+Á_ –µëUÖ£síΉ8¢’ÜÂ(M{Þ¥¾Y}¾hñ«Î¯bÆ¡Ì84Cîxº=è\»sg—õÌêáPýígdEó{QŸï­ÞœŠ9Å–![p±Ê©O#Í–JhL(óæZ"•p8â03ü¢Å…ê¡Ê}mnÝœ¸´8ú®ï+×®«¥ËŒÎò矖>Ì<2ßý¾øîë—þût9¨X² £´ü[TJû³´¼ü[QiÚ´)k×®eß¾}üøã„„„0cÆ ºw/½åF‚ŠC…HL›6)S¦ÈÞ”GFFòüùsôôô˜OÅX×[#[º×íŽg}O•äÖ¨Zƒ ƒ70÷ø\®=¸†ºš:ͬšñ]ûïä¬%MiÙ“¾|q2ubÃ… D<Œ@š-žš=ýö“«”^ÕßS;N%KšÅÙø³¤¿LWj—‘ŠBIú½0?(Ks»Ï%øJ0!‘!ĤÆM6U-p¯ãŽwso¹YÑïÅ}f«;²aðv^ÛÉåû—I|œä *-ã:&ßéûïÎ(+ê}5Ð6`Ë-Ì ™Åù„óH¥Òœ˜ÿô;êšo{·¡ÎCyžùœÍÿl&éiÖ†Öx7÷¦m›2°ªêßâRšŸ¥É¿‰îÝ»óÉ'Ÿ0þ|&L˜ÀÍ›7™4iR¡5Î>jÙÅø&èß¿?AAÅ{püýý $=ýíÞ¦5bùòå´lY±ßTT¦L™Âܹs¹té’ÂTÿ555&L˜À‚ Š|®ÿŸþ†’þ"OüY5bù°å´´ñ§ S¶OaîÁ¹\š~IaªÿÇBI}þDRRÊUEÞ¿_ñãÍˆŠŠ.]àCâtìi6_ÚÌ’ÞKò=.‘Jpú?'ÚÚµeõ€Õe¬Ý‡Ïûü+(?Jò÷ÀÎ;™:u*Ÿ|ò ¿üò ºººï?)6lHÆ Ù´iS±u*-$ gΜaÏž=üóÏ?$&&R¹reêׯÏ!CèÚµ«Â9£F⯿þÊW^÷îÝY¸pai«-COO¯X3Ï+Ä ¾ÿþ{bccIIIÁ‚š5Ë®ÒÇÈûjÞâßËŸï{|OìÃXRž¦`ahAÍj"þŠÃûj@PZVáµä5;¯í$;;»\¶‚û(ﺂ²¡wïÞÔ¬Y“1cÆ0zôhV­ZU¬â꙳gÏ2bŶW¯^qæÌΜ9øqã˜8qbù(WTˆ„€¦¦f‘×Å ¦"¬ÍÿÐT×,òºxAÁˆµùAá4]Д§¯žÚG¿²>—&^*#‚‡ü¶šHÉH¡õ’Ö²ÿÝ븗•JùWðñáììÌÚµkñòòbƌ̞=»È2®^½Z š•,ššš¸¹¹Ñ«W/ËÕ¹ IDAT7nŒ……©©©¬]»–5kÖ°téRú÷ï•••¹·oß~ïNq “@ ŠK«š­hU3ÿ=Õ5Ô4°5¶eTËQ´®Ù:ß>‚Â)Ì¿‚ºuë2þ|¾úê+:tè@çÎeW¬¶¬hÙ²¥Â2uKKK¦NJTT§NâÚµkù&>DB@ ‚2F¼ùÊ=nO¾]Þj;v¤W¯^Ìž=›O?ýMMMþúë/Ö¬YCDDXZZÒ¶m[F%·žýÝ…­½˜9s&^^^²ÿÏŸ?ÏÊ•+¹xñ"˜››ÓµkWþûßÿ¢§§WzF¿¡V­Zœ:u }}ýbÉ‘J¥¬ZµŠ­[·r÷î]ÌÍÍùüóÏqww§}ûö 2ÿ’Qºˆˆ„€@ @  dâĉtèÐcÇŽ¡¥¥Å¨Q£äŽGGG̓X²Dµ‚“šššÔ®][öÿæÍ›™>}ºÜn(‰‰‰¬ZµŠ°°0¶mÛ†ŽŽÆ #,,Lék:tˆZµjÚ'33“cÇŽajjJóæÍóíÓ§O"##ÑÑÑ¡~ýú|þùçù!œ1c›7o–ýŸÀœ9s¸~ýºÒ:—"! @ ‚±²²¢eË–M\\\¡rV¬X¡Ðv÷î]† ÂäÉ“qqqrÌT­Z•)S¦Ð¾}{ ˆgáÂ…8p€uëÖñÕW_•¼±oøá‡ˆgÙ²eTÌÐgffFXX#GŽÄÏÏOÖçòåËlÞ¼===¦M›FÇŽÉÊÊâðáÃüôÓO¥¦¿²ˆ„€@ @  ¥E‹ìܹ“Þ½{àé鉉‰ vvvØÙÙYfRRÇg„ ¸»¿-ô¹k×.²²²˜5k²v çÈ‘#²„Àúõë‹cšóçÏgóæÍøúúÒ©S'…ã¶¶¶Ì™3‡-Z`jjÊýû÷ÙµkË–-cõêÕtéÒE–Ü8tèß~û-}ûö•Éðòò"==Ÿþ¹Du/*ÅJDDD‰µµØ¶EPþ,_¾œàààòVCð/áÑ£G8::–·@ e‚……ÉÉÉx{{sþüyºwïN»víhР 4ÀÅÅ---¥å=|øaÆñÕW_áéé)w,22€ &0aÂÙ²ììlÙßjj%¿ã…T*% €72eʾøâ‹|ûM:Uî;;;&Nœˆ††‹-âСC²„@||<mÛ¶UÓ¶mÛ;! T$ò®/@ %‡D"ASS===þøã"""8wî·nÝ"88˜ÔÔTüýýéÞ½û{e¥¥¥1lØ0† F¿~ýŽK¥RÙ5 "33SöwIÔÈÊÊâÛo¿eÏž=L:ooo¥åå’[kàáÇ ÇòK`T„ñK±µkצvíÚ•”>J¨©©1zôh,XPÞªþ%ôïß¿¼U@ (3|8ýû÷çóÏ?Ï·Oî`}ݺu´iÓ¦„,(˜/^0nÜ8N:ÅŒ3:t¨JrþþûoªW¯.k³±±àäÉ“ öž>}ZEK1C@ @ …rúôiš6mН¯/ææætìØ‘š5k¢¥¥ÅíÛ·‰ŒŒäõë×$%%˜ÈÈÈÀÛÛ›nݺú¾wïÞ,[¶ŒI“&É’ Õ«W'==ØØXöíÛ‡™™Y‰Ôxúô)>>>\¼x‘™3g2xðàBû‡……±uëV €ƒƒ†††Ü¿Ÿ;w²lÙ2:wî,ëßµkW–/_Îüùó©R¥ íÛ·G*•røða~ýõW•õ.)DB@ *³ôÌRLõLéÛ°ïû;'/Ÿ°6|-j4¢}­ö%*»¨H²%üzúWì«ÙÓ£nrÕ¥02^ep>á±ÿ#^¼~ÁÉ;'IxœÀ—Á_2:DvŸî¦ßåâÝ‹XXѨF#, ,I}žÊÁÛ¹•|‹/¶}Á¡Q‡ÐT?@`ÿþýüþûïhhh`jjÊØ±c;vì{ϽzõªÜÿ—.]*Òµ5jD```‘Î)*žžžEJ.hhhÐ¥K—|þ¡®®ÎèÑ£f5Ìœ9@®CY#¾í@ 2cZ)oÀÜîsi]³5ê²6I¶„[Fp&î G#2¸iΚH;c;¶ ݆³¥³œŒ m'Ð{]oâÒâO—›U ‚'7nÜ`Ê”) 2„:”·:,Û¶m#55•Î;ciiIrr2;vì`ãÆT©R%ß- ËŠ2MüôÓOXXX0bĈ²¼l©ð1Ù¢ ¢ý?ýt ‹*ŒÑ ¼U)6“-ªðo·¿"QP I¶„°Ø0"R"H%Ôª^ 7[7*kVVñ,óG#rïÉ=ÌõÍé\»³BŸw¹öà—î^"#33=3ÚÕjG5Ýjr×Ï»îÿfòMÎÆEš-ÅÅÚ…Æ5ËúÞ{rà+ÁH³¥Ä§Å³(t‘ìXŸ†}0©b"wíèGфƄ’)ɤ©eS\¬\”öWiáfç¦Ð¦¡¦A'ÇNœ‰;Ãó×ÏeíU-°¨j¡Ð¿FÕt­Ý•—6òøåãRÕW åÏš5k8p ºººù¿zõ*#FŒ iÓ¦øùù•±vOž{ÈÄ?'r&îŒ\»Ž–3:Ï _£œ½Œó®û¿•|‹eg–Éõ÷¬ïɼóÐPÓàÞ“{²$@bz¢\B ¥MK¹„Àïggþ‰ùrûh<€Ÿ<~*ÜQoØym' ”ê 0´ÙPŒtŒ”ììlNÅœ ©eS¥ÎyôüuMëªtM@ T|^½z…ŸŸ»wïÆÐÐÞ½—ÊíÝ»___Z´hÁo¿ýV®Eï>È“'O8zô(ñññhhhP¯^=|||Ê}æE™&üüü°°P|+ñ!ò1ÙR3gΤ}ûöù&>DûýüZaaQ¥¼Õ(>&[ bæÌ0Ú··Î7!ðo°ÿCåÅë|ôwÓïbQÕ‚vµÚ¡¥®ÅéØÓD?ŠfTÐ(øÀTÏ”g™Ï½}4))ØÛáfç†D*áÄøîW¬(,‘J<Š«÷¯be`E[û¶h—GHd~üp¨î@‹&²s.Þ½HHdíìÛáhâÈý'÷9tû»¯ïÆÖÈ–ÿºý‹ªŒwÏâÓ‹±¬jIŸ†}dç[XÊþþçÞ?‹:–#«º#II쿹Ÿm—·Ñ£n\m]ßëŸ×v¦´?»×í^¤„ÀÊs+yþú9_<&,.Œ¨‡Qx7÷VXÿÜû‡#‘GèY¯'5j*}M@ |8¤¤¤ðå—_rãÆ ÔÔÔ ’K<{öŒyóæ±iÓ&†Δ)SÐÔ«Ì‹‹¾¾>“&MbÒ¤Iå­ŠežøXø˜lQ…Ñ~?¿–å­B‰ñ1Ù¢ ÿvû+2{nìánú]œ-Y7h:Z:dI³˜°{odÓ¥MLh;½7÷’œ‘L[»¶,ï·-œ·/^¿`èæ¡¤>O•“}8â0Wï_¥g½žÌï1_n½üÕûWé·¾kþ^ÃBÏ…²öÔç©Ìë>Onùþe¬Àšð5Œm3V–ø5ìWlŒlï6^²^9oÏ—öYJ'ÇN²cmíÚòíÞo9}\©„@k´ÄÀX×Xé¾+ϯä᳇²ÿ?wþœ‰ŸL|ïy ³c 5j2³ëÌ"]S 7oÞÄÇLJÔÔT$ ÿý7÷ïß§F;v ž?N`` Ý»w/geA…¨!••ÅÑ£G¹ví‰'''ºté‚¶¶v¾r.\¸À™3gxòä –––xxx`jj*'oÖ¬Y8991hÐ nݺÅáÇyõê­[·ÆÍMq­%ÀÓ§OÙ³gqqqXYYñÙgŸ!‘H ¤E‹tëÖ­@[T½¦2ö¼eü÷®~ÿüóÇG"‘àææFË–oXñññ¬^½©TÊ;wð÷÷—1b¶¶¶Åº—ÅñUq(hÝyV–”£Gã¹ví!‰'§jtéRmíü ’8sæOždbi©‡‡‡¦¦ºròfÍ:‹““1ƒ9qëV*‡Çòê•„Ö­-ps³ÌWîÓ§™ìÙM\ܬ¬ôùì3$’l/Т…9ݺÙh‹ª×TÆž÷¡ŒÿÞÕ9~<‰$77KZ¶¬!ëÿ„Õ«¯!•fsçN:þþoߦŽQ[[ƒbÝËâøJð~r·²û_ÛÿÉ’šêš|ÓþÞ>È…Äœ½~/&æôý¯ÛeÉÈ™þ?Îu£‚GÉÉ>{]-]–]&›¶ŸM6ÙTÕ®ÊÕûòÕŒmlå’k4¦síμ}È”HœL”²­ži=¹d Û19#Y)¥½ƒO ž½~FÚó4®Ü¿ÂÆ‹ ‹ c“×&LôLò='úQ4C7¥ŠV6 Þ€~eýRÕQ eÏøú믑H$²däTÌ_¶lÑÑÑœ={–^½z1uêTªU«Vˆ4ÁÇD¹×¸qã½{÷&""B®¯¥¥%Û¶mÃÕõí—¤¤$¼¼¼8vì˜\_]]]–,Y‚··73à ÀÓÓ“¸¸8|}}åÖ{úøø°bÅ 9áááôìÙ“ÈÚjÔ¨Áï¿ÿN@@ãÆSHäµE•k*kOa(뿼ú]¹r…Ù³gËõ2dkÖ¬ASS“øøxˆ‰‰‘ý о}{YB@Õ{©Š¯J‚üÖ߸ñˆÞ½w‘öŽÎzlÛÖ W×·Ë"’’žãåµ—cÇâåúêêj±dIG¼½ßÎÂðôt .î ¾¾'Éc>> Y±¢«œŒððô칓žÉÚjÔ¨Âï¿w! Œqãš¾“·E•k*kOa(뿼ú]¹’ÂìÙçäúR5kÜÑÔT'>þ)9I€˜˜tÙßíÛ[¿I¨~/Uñ•@yÒ_¦`ch£pÌÚÀ555¿x,××ÊÀJ±¯¡µB[—·*­•¡¢ì¼òŸ¼z¢´¬Uk(´éjå$ϲ¤YJÉ(í>-}äþ_yn%sþšÃ’ÓKè ÐÿÊý+ŒÜ6c]c6 ÞðÑl!)‚²³³Y¾|¹¬˜]ÞßÜó»|ëÖ­4nܘ­[·Ò¬Y³òPSPŽ”ë‚çÏŸÓ­[7âââ°±±ÁÃÃJ•*ÂÍ›7éÑ£ׯ_§FH$zôèAxx8¶¶¶tíÚ###¢££Ù½{7>>>Ô­[—V­Þn“töìYöìÙƒ‡‡õë×çîÝ»±råJ DÇŽœ™žžž>>©Ÿ/Ê^S{Šã¿\ÂÂÂØ½{·L¿„„vìØÁ† pttdúô騨Ø0cÆŒ|‹ ÚÚÚ–˜.Êúª´xþü5ݺm'.î 66Uñð°£R% BBâ¸yó=zìàúuojÔ¨‚D’M;€­­]»Úbd¤MtôcvïŽÂÇçuëV£U«¼öÝcÏžh<<ì©_¿wïft›•+¯2hP]:vÌ0=}š‰§ç.^Ê5!°iÓ&âââpuuåðáÃT©’ócýõë× <˜íÛ·³téRfΜɎ;gðàÁüñÇhh¼];NëÖ­ dË–-²öäädvî܉§§§¬­k×® >œýû÷Ëœ›7oæÞ½{¸»»³{÷n*Uªä r;wîLr²rSA‹rMUì)ŽÿrIIIaíÚµ >\ÖvîÜ9ÜÜÜX°`~~~ØØØàïïϬY³°··—[2P’º(ë«ÒbÓ¦[ÄÅ=ÁÕՂÇûS¥ŠÖ¥ ¼—íÛ#XºôfÎlÃŽ„‡?`ð`'þø£;j29ááhÝzز¥Gûž³sçgxz:ä±Ï–áðÿÙ€sóæ[Ü»—»»»wF¥J9±ðüùk:w"9ùívaïCÙkªbOqü—KJÊsÖ®õ`øð·ƒüsçîãæ¶™ Âñók‰MUüý]™5ë ööøû¿]¶*º(ë+AÑp¶t&øJ0‹CsvÈ]6 É–ðˉ_hf•óöÁÙÊ™íW·³8t±B _Ã~UÝÚ¦5A—ƒdKøO›ÿ ®¦.w<%#…ûOï˵ŦŲãê…G"ŽPU»*Ž&޲öJ•d³J‹Ò¨!˜žHfV&öÕìŽ]  z•êrí‡nbŸ°7¶gýàõr[6 àÃçÁƒøøøYh2@KK‹]»v‰„À¿”rM„…å¼%  !'(gÏžÍöíÛ9}:gÍhHHzzzÌž=[~íhv6†††„‡‡ËÉoÚ´©Ü`Mû¿wíÌ™œí«¦OŸ.K@ÎÔý©S§© †²×TÅžw)Šÿrqtt”K´lÙ’Ï>ûŒàà`nܸA£F”¶·8º(ë«Ò",ì.mdH--ufÏnËöíœ>Ó'$$=½JÌž}.ÏýâÍýªLxø9ùM›šÉ 6Ù´ÿ{÷2dmgÎäØ:}zkY2r¦îOÚŠîÝw(m“²×TÅžw)Šÿrqt4’K´lYƒÏ>s 88‚7ѨQÑßRª¢‹²¾žõzòkد„'†ã¾ÒvöíÐÒÈÙe êaÚx5õ GÝ,<µS1§è¶ªnvnH³¥>΋×/dw¯×µákÙòÏNÅœÂÕÖ•jºÕxòò ±i±œ?Ï-¾ Q·ŸaƺÆ|·ï;öÝÜGm“ÚÜ{rC·!É–àíâ†ÚÛgÎÖØ–I7øzÏ×XZ£®¦NŸ†}ä¶,.¥QC "%‚ÑÛGÓ̲öÕì1Ö5&ýe:'üMÔÃ(7,ëÿwÂߌß=i¶”æÖÍÙxq£‚ÌOì?‘Û­A /^äË/¿$##C®^@A¼~ýš;wâëë+7ü;(ׄ@ZZÎZ_{{Å·ööö¨©©‘šš³f4%%gꢬ-·¶V\ƒª§§äþ»zä7¾ )òަ*ö¼KQü—‹]¾²rÛse–….Êúª´HK{ùF?C…cöö†¨©AjjNŸ””œÁÉŠW”–om­X˜KOïí›ëwõ°µ5PèŸ_[I\S{Þ¥(þËÅÎ.{rÛse–….ÊúJP4t´tXÕcvŒ!&5†M—6ÉŽ™ê™²ø³Å²åU*Uá÷¾¿óåö/‰I!&5Èy›ý“ÇO|µý+9Ùj¬°ŠÉû&s,êA—ƒäŽ›é™É% gÆB­jµøýìsBÖîYß“±mÆÊõõvñfòþÉì¾¾[ÖÖÒ¦e‰&JCœLO '‘l¨cˆ_?>±ÿDÖvïÉ=$Òœˆ.nÈW¦~e}‘‚’ÕxyF"‘¼wf@^2228~ü8]ºt)EÝ‘rM嬋¼sçŽÂ@òÎ;dggcll,×wìØ±˜˜äÿãLWWùÊèùé+·Æ=·­4( {Šâ¿\bbbò••Ûž+³¨¨¢Kycd”³ÖøÎÇØÛËTïÜyLv6kËõ;¶ &&ùß]]Õ§\Ù±±érkÜsÛJƒ’°§(þË%&&{rÛseUt” c]Ç*¬ÿw¨îÀÁQ9sšˆ”$ÙìíùÄþ*kV–ëÛ°FCB¾ áhäQî=¹‡™¾;‘Íx·ñ |##–÷[Nô£hÂÃI}žŠ±®1¶F¶¸X¹ÈmE˜Ë·í¿¥[Ýnœ?4[J3«fùvû4ìC}óúœ‹?Gú‹t²ÉÆÒÀM MÆ»ÏwJ~î1‡ê ÇÊ ‡êìñÞÃÍä›ÜHºAÒÓ$t+éâPÍæÖÍ|^ǤŽÂÖŠïÒÔ²iiª,‚F"‘°sç àw$5¹q„šššÜ ^uuuôõß¾ÑÐРjÕªŽ7åšpuueÍš5àêê* ܬ¬,¾ÿþ{Ú´ÉYóÛ±cGV¯^MVVÓ§OG]]~íèƒHHP¾rs^Z·nÍÚµk™5k»víBK+ç-áË—/ªñ—%aOQü—Kdd$ëÖ­S¨!°k×. ©W¯ž¬][[[á­~IêRÞ¸ºZ²fÍ5Âpuµ@W7ç¾geIùþûPÚ´ÉÙ‚®cGV¯¾JV–”éÓ[£®®&'ëÁƒg$$>ž;v••ÅĉÑÔ|\ºt‰¡C‡bgg‡ºº:#FŒÈw…*º”7^^NÌšu†Ðлԫ·F®2ý02Òf̘œ·ˆÔ!0ðË—_áСX:v¬‰™™.ii/‰ŒLãäÉD&Mr¡ysó"ë1x°3fœfÿþ;4l¸–.]l‘H¤<CFFÎÒ‰¿±§(þËÅÄD—#°uë-4¨N||Î.YYR&NtASómbÌÁÁK—’:t?vv¨««1bDý|—Q¨¢‹@ @ðo§\ºººìß¿_¶wý²eËdÇ,,,ضm›l ¿¦¦&û÷ïgäÈ‘ìÙ³‡Õ«WËɲ´´¤E‹*顯¯Ï®]»èÕ«·oßæöíÛ˜››óóÏ?3tèP¹i6%AIØSÿåâêꊓ“sçÎåÀ²öÏ?ÿ???¹¾'NÄÛÛ› Þ®1mß¾}¾ Ut)otuµØ¿¿¯lïúeË.ËŽYXè±m[OÙ~MMuöïïËȑٳ'šÕ«¯Êɲ´Ô£E ÕìÓׯĮ]ŸÑ«×NnßNåöíœYææUøùçö º_®P^IPöʏºZàädÌܹç9pàí´´Ï?¯‹Ÿ_K¹¾'ºàí}€ Þn—Ö¾½u¾ Ut@ þí”iBÀÏÏ ¹¶zõêqýúuBBB¸v퉄:uêàî¶üšßêÕ«óçŸrëÖ-N:EJJ &&&8::Ò¶m[ÙÖ}šššÌ˜1'n $ IDAT'Å)‘¹ÇòN‡œJû‘‘‘üùçŸ$$$`ee…§§'{÷î à½k‹*×TÖžÂ(Šÿr™3g àĉH¥RÚ´iC«V­ú >gggŽ?NZZR©T– (νTÅW%Ÿ_+,,ä…õêUãúuoBBâ¸ví!I6uêãîn‹¶¶üãQ½ºþÙ›[·R9u*‘””˜˜èàèhDÛ¶V²­û45Õ™1Ã''Åš ¹ÇòN‡œJû‘‘>üùg O±²ÒÇÓÓ½{s¦|½[ï][T¹¦²öFQü—Ëœ9Ÿ0`@NœHD*ͦMKZµRL> ^gg3Ž'-íRi6¶¶Uóµ¿(º¨â+Á‡Gaëþ@ 9¨e¥üä;ôï߀   ÷ô¬øÜ¸qƒš5kÊÍxøð!nnnܾ}›Ë—/«´_EáåË—èèèàééÉ®]»Ê[GMM &°`Á‚òVE%nÜxDÍšUåf<|ø7·ÍܾÊåËÃUÚŽ¯¢ðòe::xz:°k×gå­N‰PÚŸIII²%Kïcÿ~=Æ7#*J¬àߊø=ðïDOO333•Ï/×%‰ýû÷3gÎ:v숭­-÷îÝcß¾}¤¥¥Ñ¡C‡: ¨øì߇9sÎÓ±£ ¶¶Ü»—Á¾}wHK{I‡6t2@ @ TLDBà õë×çåË—lÛ¶M®ÝÅÅEn ½@PÔ¯_—/³Ø¶í¶\»‹‹96t/'­@ ÁÇŒH¼ÁÃÃÄÄDŽ;Æ;wÐÐРiÓ¦´k×®Äw( [·/(<<ìHLüŠcÇâ¹sç1ê4mjJ»vÖ%¾Ã@yPغ}@ @P>ˆ„@ éÓ§Oy«Q*hjjâïï_Þj Áа2}ú8–·¥‚¦¦:þþ®å­†@ @ ȃúû»@ @ øØ @ @ þ…ˆ„€@ @ ÿBDB@ *3rÛHf…Ì*q¹))xmôbmøÚ—]T^K^ãµÑ‹_NþR¡e–$]¿\’3’ÙòÏÆìƒ×F/¶ü³å½ç<~ñ˜Õ¯æ?;ÿèàQÌ?1ŸÄôÄ2ÐV ‚Ї(*(•ù;áo^¾~Yâr_I^q>á<µMj—¸ì‚ºy(uMëâ×ÑO®]š-å|ÂyªjW-±k•†Ì¼d‹²”¶~%ÁGdmøZ²³³emM-›zιøsŒÛ9ŽÇ/ËÚþŠú‹gW°Ë{uMë–š¾@ TDŠ•xô艉‰Lœ8±¤ôT&$$DÄ¢ Ì¸|ù2VVVå­F¹³zÀjô*ë•·%Âù„óÅ6³ðqÙRÉɘT1áÓZŸ¢£¥óÞÙ$ñãñ òáÅë´±mCゥ^¥:Q¢ØpaÏ2Ÿ•â@ T Š•ˆŒŒ$11‘ÀÀÀ’ÒG P™k×®qíÚµòVCð/âÅ‹å­B¹Óܺyy« ø—2µãTLª˜ ¦¦ÆÁÛß›˜÷×<^¼~AÿÆý™í1[ÖîfçÆÐfCÉÌÊ,e@ ¨x+!ЪU+‚‚‚JD@UrÞ„m”·*‚ ýyóø¯fä¶‘ØÛó}§ïåÚãÒâºDDJ©ûjöôiЇºfŠS²/߻̶ËÛ¸ûä.5ªÖ``ãT¯R½Àk¦¿L'øJ0—î^"#33=3ºÖéJ‡²>¯%¯¾e8.Ö.ü§ÍØtigãÎ"Í–Ò̪C› EWK€Û)· 8€D*áÚƒkxmô’É™ÖyöÆö²ÿ%R Û.oãTÌ)2%™4µlÊðfË5K"S’Y¨~y¯}üÎqBcB‰O‹GC]ƒÚ&µéÛ°/vÆvJÙ’;%>ýe:;¯íäbâEž¾zŠ‘ ;ãf禠_iØ\˜ê™*Ý÷ÉË'‰8‚¶¦6¾Ÿú*×PÓ@GK§$Õàƒ@ÔÊäWCàÀ­LÚ3‰×’ײ¶wN°.|Ó:Mch³¡²öà+ÁøðCš-•µí¸ºƒ¯?ù:ßë]º{‰/ƒ¿$íEš\ûö«ÛåÞüæ®×«¬‡÷VoÎÅŸ“õ=uŒWw°eÈŒtŒxúê)çÎ9ÇÜ¿sÿÏEš-eÌŽ1‹:&k;}œÃ·<,- ­÷;ì¤ÙÒ÷ê—‹×&/.$^;ÿXÔ1VŸ_Í’ÞKèàÐA)[.$^`ÌŽ1¤>O}+(6^ÜÈ”O§àÓÒ§DmþéèO\{ üì­ù=çcQÕBéþÊpåþ$ÙÚÖl ÀÂÐ…\¾w™*•ªÐʦ}õE[S»D¯)Á‡€H ÄHÊHâÛ½ßòZò÷:î¸;¹£¥®Å‰;'ºÄ!?Ð̪õÌêqïÉ=¦ÿ?{÷—Uùÿqüu³—²P@nsŽÜ[SË\¥¶l˜M+«¯6Ô†}Õ2süJËÔ¾9Ò4Ë2MÍmæ qdš‚ ¸@YŠ‚¬û÷qç-[Á[äý|<|ç\ç:ŸëpRÎç¾®ÏY;Žlc6ýõ§s­Îdeg±æÈš|«Û§\Iá™ïž!)-‰û︟ŽÁqup%:)š¯ö|Ųý˸»ÆÝÜ×ð>Ó1[oÅÅÞ…ÿtüµ«ÔæÌÅ3ÌÙ5‡ˆø&ü:ïý˜ºUë²hè¢| ñ]]dnëñ­¸9º1ºÓhjW©MlJ,ŸíøŒC±‡X}d5}ö-ñõ*N|W¿oþ4÷oŽŸ«i™iŽ=ÌW¡_ñîúwé\«s‘cIJMbÄw#HJM¢Iµ& j2ˆj•«q*ù뎮ãâ•‹yâ»Ñ19wÄ,1Q”ÔŒÒ_ŠsöâYªU®Æ ƒˆˆ0í[sd ‹Ã³hè"ÜÝJýÜ"""·2%DD¤Ôüðç¤e¦åY§Ý£nªUªÆôíÓYº)ïv—ýHzV:7œ·º¼ejÛ»~oþóóXqp…y߇~ þr<¯uxgî~Æl_¯z½èðYVü¹Â,!`ÄÈ׃¿¦wÓ¶{êÝC·/ºñóáŸy¿çûT²¯DË-1 ¸:ºÒ²FK³¾¯d^ÀÆÊ†oúÆ4= ¦[MþæaöžÚ{] âÄ—»t`ÑÐEìŠÞÅ–ã[Xû÷ZÒ³Ò1ØÛØs*ùg/žÅ§’O¡c™¿g>I©It¯ÓÏúf¶oh³¡y¥1æ7:½Á…+Šl—«´g@β ȹ?+ÛWæí®oèHtb4svÍáïs3aæô™Rê繕)! ""¥æHÜ7œgßfC˜¾}:‡c9ëÝ5”§í Æƒò$öÞÀú£ëÙqb‡éusFŒ¦¯¯þär>¿úaÀÝÑ®µ»²üÀrÂχӸZãb­QµFfÆwøÜ@âåÄü)RqãË2fñʯ°-r[}]¼rŸJ>…ž/wêþÕË®Vɾ’Ù÷¥1æüêFÜlÎvΤg¦³`Ø‚<ÿ­ Ñ©V'zÌéÁ/G~aâ=¯k釈ˆHy¥„€ˆˆ”šÜOÓó›zíêàŠÁ`0µIËÌ©=ß»î]\ól»œ~€ýgöx~;;³ïóëûêþsc)ŽübÊ}x¼ºBI7¾ŸýĶÈmÔt¯ÉÃw>LM÷š8Ù:a0øú¯Yû÷ZSR¤0¹×üêÚ…)1ß 5|]}ð0Kø¹úQ·j]œ9ÀùKç©V¹Z©ž[DDäV¦„€ˆˆ”šÜÊïΠ¦{M³}ÏÄh4â]É;§­sNÛC±‡ò|²}ðìÁ<}ç>¨½Ûý]jU©•ïùm¬ÌÿY;zî(Yy>õ=x&§ÿÜX0R¬‡êÒTÜør“ ÿ×ïÿÌê|²õ“¼0–j•r®ahLhžOþËÊ­PC wì¬íHLM$Û˜•ÁÊ´Ïh4rþÒyœìœ êBDDä¶dUt)‰)S¦`0ؼyóu?fÌ ûöí+ÝÀDDn‚öAíøhóG¦%§’O1~íx³6í‚r*¾OÚ8‰¨Ä(SÛ#qG˜º%oQÁu{°òÐJªU®FË-MBüCHLM4ËuþÒyÞÿõ}Ór£ÑÈü=óÙ³›n5¨áVÃÔÖÙÞ™“É'¯ûÓþëQÜørg\ì=¹×tlfv&3¶Ï ôdhž~ K×Ú]˜¼y2Û#·›í ;ƺ£ëJopÿx£Ó,º¨ØÊ¢†€“­]jw!árS¶L!˘ä¼RqÆo38}á4u«ÖÍwF„ˆˆÈíL3DD¤Ôt îD«š­Øyb'÷Í¿÷l­m‰ˆ #+ƒÚUj3°ñ@SÛf¾Í;FÏ9= ò "+;‹¨Ä(êV­KlJ¬Yß-ü[0¨É –í_FçÙñwó§Šs.¤]àdòI®d^aD«ô®ßÛtL°g0Ë,gÕáU¸pæâÎ¥œൎ¯™õßÀ»;Oì¤ã¬ŽøºúbÀÀØnc ò0Ÿb^šŠ_Ç Ž|úÛ§Œ_7ž¹»çâîäNTB®\ ¡wCÅ*ÖXZÕlEŸú}XuxÖÃËÅ‹j•«qúÂiÎ¥œã¹ÖÏѽN÷RcYÕØ¾‰9»æšó Åÿú‘°Sat¯Ûa!ÃLí_ëðÛ#·óÅÎ/X~`9þnþœJ>ÅùKç1 ¼Þñõ2‰SDDäV¦¥ìµ×^Ãh4Ò±cGK‡""rÓ >ðyÎC¿1§Èß‘¸#degѽNw]hzß»µ•5sΡS­NdfgrôÜQ"â#h]³5{MÌ·ÿz~À›]ÞÄËÅ‹˜¤ÂN…A¶1›^õzѧA³ö̸Ökœ9À¹”sT²¯Äïù/½êõ2kûzÇשêR•ÓN³'f»cvs!­øÕñ¯GqãkR½ ã»ÇÑÖ‘è¤höŸÞÁ``r¯É´ªÙ*O¿…åãû>æÅ¶/Rɾq)qì?½Ÿs)çñ 1ÍÂ(Î]:Çî˜ÝìŽÙMøùpÎ\8cÚ•eÖ¾¦{M Y@}¯ú$\N`ÿéýœ¿t?W?>ë÷ƒ;ÞüAˆˆˆX˜Áx & Ê© ½lÙ²R ¨¢3f “'O&,,Œ¦M›Z:œrÃ`0K,ŠTƒ8°ìþþ‹%%%¥XmW¯vaäHoÂÃ#Šn\ÊöÄìÁÅÞ%Ϻv€Ké—8œl²©éV³Ðw¼Ç¦Är:ù4Þ•¼©^¹:W2¯°ïô>¼+yà§½ÑhäDÒ .'àáäoe_³uøW2¯ÐpJCºÖîÊì³ÉÈÊàØùcd³©SµvÖvyúÈ2f~>œ iÈ6fSß«>.ö.ì‰Ùƒ»£;uªÖ1kŸmÌfOÌ<œ<¨]¥v1¯Ú¿ÇåöYÜøR3R‰LˆÄ€ZUjakmKtR4g.œ¡qµÆ8Ú::–«‹æîOËLÃßÕ'ã+1—¶¸”8"" Ü_н“ùKçpsp#Ð#ðŸCDDÊ7Kþ> –ãââ‚··wÑ  %¥lÊ”)¼þúëlÚ´Él–@LL ï½÷¿üò ±±±xxxйsgÆG½zõòíëÓO?eÆŒœ8q‚êÕ«óÄO0fÌllôc‘[Csÿæîs¶s¦QµFÅêÇÛÅo—ÿ1³·±§e–¶7 ¸øÀw-[kÛ<¯÷˵ÁšºUëæÙ^P,V«Bã,ȵÇ7>G[Ç<í®­…« ±gaãºÞ1—6//SË’òwóÇßÍ¿”#)ôdyDFFÒªU+âââLÛbccùæ›oXµj7n$$$Äì˜É“'³dɳ>ÆŽËßÿÍ‚ nZì""R|×çÒ•K…¶q¶wfÎÀ97)"‘‚©†ÀMðÒK/Gûöí åÒ¥K:tˆþýûsñâE†žç˜ï¾ûŽ?þ˜Ó§O“ÀâÅ‹ñðð`áÂ…lذÁ£‘¢„Æ„šÖ°ô'4&ï[DDDD,A3ÊØ¥K—X³f ^^^üôÓOT®œ³~³Aƒ,]º”¦M›²oß>Ž=J:ÿ®Ó|ùå—5j”éû!C†••Å#<ÂòåËéÒ¥ËM‹ˆHyakmË¢¡‹pwt¿©ç3hYÙY…¶±¶²¾IшˆˆˆN 2Eff&íÚµ3%rÙØØÐ£G:Dxx¸YB G¼•ž{öì @xxxÙ-"RÎYj{ˆ_HÑDDDDnZ2p“”FãÜ>T YDDDDDDn”e, ¶mÛÆ… æï³ÎÊÊbݺuÔªUËlßÚµkóôµfÍ‚ƒƒË(Z©(”(cÎÎÎÜsÏ=ÄÆÆrÿý÷³wï^._¾ÌáÇ2dþù'M›65[.0mÚ4¦NÊÙ³gILLä›o¾á¥—^`àÀ–ŠˆˆˆˆˆˆÜFTCà&˜6m»víbÓ¦MÜu×]fû\\\˜3'ïë§ú÷ïÏ«¯¾Ê«¯¾j¶ý¡‡RAA¹aš!PF®^çDhh(O>ù$¾¾¾ØØØàååÅàÁƒÙ³g!!y‹P3†éÓ§S»vmììì äý÷ß端¾º‰£‘Û•f”²Ü:fÛýýýùòË/‹<~Ò¤ILš4 €¦M›2räÈÒRDDDDDD*<Í(E§Nâ§Ÿ~rŠ ŠˆˆˆˆˆˆÜª”(%Ï<ó ~~~ìÛ·víÚáííméDDÊ\£1tÑÐRï÷dòIjMªÅ;ëÞ)õ¾KêJæjMªÅ3ß=sK÷Yšnõøneuïßê.¤]`ÕáU¼òã+Ü9íNjMªÅG›?*ò¸Ý1»yzùÓ4ŸÞœF7bà×ùáÏÈÊκ Q‹ˆHA´d yxxо}{fÍšeéPDD¤„ê~X—–5Zòõà¯-Ê »Ær»*¯?£±kÇòóáŸKtÌœ]s˜¼i²Ù¶}§÷±ïô>üÜüñË[KIDDn%JÉìÙ³™={¶¥Ã¹©¾zÐÒ!ˆÈMäêàJŸú}è\«3©™©¼µæ­BÛÿõ“7MÆÚ`ÍÈv#éGª8W!ü|8_…~…•~±$ý-,""""Åò^÷L_ÿò÷/E¶Ÿºe*ou}‹GïzÔ´½¾w}&÷ž\Ða""r“(! ""×­ÑÇhäÓˆÅ-6Ûþß?°pïBŽž;J¶1› Ï 6ÈÃw>Œ•áßò5ÙÆlæížÇ’}K8uá>•|Úl(÷Ô»§ÀsîŽÙÍ—»¾d墳¤\IÁ§’=êöàÅ6/âbïä¬o8¥!]kwåí®oóÁ†Øyb'YÙY„ø‡ðz‡×©ï]€Ð“¡ ^8€Q;¨5©–é\‹†.¢iõ¦¦ïãRâøï†ÿ²-réYé4ómÆÞ0õu=N&Ÿ,4¾\Q‰Q,Ú»ˆß¢~#:1k+kêT­Ã¦Cèߨ±ÆÒ²FKöÄìaÞžyì=¹—‹W.âïæO÷:ÝyªåS¸:¸š·´Ç\Üsçºúç<¶ëX&l˜ÀÎ;±¶²¦K­.Œë6g;g¶Gngúöé‰;‚‹½ 4~€—Ú½”o?EÝ/E)êþ,îϨ8÷ù­îÌ…3ì?³O'Oºó!K‡#""ùPB@DDJÕ¤M“ør—ùkVÿŠý‹÷Ö¿GØ©0>¹ïÓöñëÆóMØ7¦ïc’b˜¼i2‡ÎÊ·ïo¾aܺqFÓ¶“É'™»{.;¢vðí#ßâhëhÚ—œ–̃ $6%Ö´mëñ­„Æ„²ôá¥%z¨½v>HLRŒiÛŽ¨<²äÖ?½wG÷b÷u=ñ=½üiŽÇ7;>ìTa§ÂˆK‰ã™»‹WpÁ xï×÷Ì®aD|³~Ÿ…Á``TûQe6æâž»$÷ä\ÇÁ‹sæÂÓ¶ï~GRj6}gWÅÃɃÇBËÓÏÜ/Ź?‹£¤÷y~]ò(;¢vë|k‡¯%Ø3¸Øí‹ãPlÎÿÇ­Zs8ö0lø€gàlçL«­x©ÝK¥~N)%DD¤ÔŠ=Ä—»¾ÄÁÆÑFÓ³nOl­mÙr| ïÿú>?ýõ½ë÷¦kí®8s€o¾ÁÅÞ…±]ÇÒ¥V2³3ùåï_˜¸qbž¾c’bxwý»T¶¯Ì˜NcèÜWGW¢£™¾}:kެá¡ÿ3{0Þ³‡¦Õ›òYÿϨSµ§/œæ“­ŸðËß¿ðîúwYòðBüB^`‘·+™W€œOl[ø·`zßéÔ®R›Ø”XÆ­ÇŽ¨¬<´’a!ÃJ|½Š_®ZžµÞr8!~!ø¹ú‘–™Æ‘¸#Œ[;ŽÙ;g3¼Õð"ǙɄ °2XñdË'ÔxÕ*WãTò)Ö]‡½½YûÒsqÏ]’{èêëØ&  _ ü‚@@Žž;ÊÈF²!|¡'C2ŒÇBÃÍÑáyõ§W™»{nž„@I~×*ÉýYØÏèzîó[UÂå²²³²h©©@ÎÿS«¬fËñ-,yhÉ Í°‘£„€ˆˆ”š5GÖðB›xä®GLÛû6ì‹•ÁŠW~|…ŸÿL×Ú]Yû÷Z^ïø: 0µ}øÎ‡INKæ“­æŸÿðçdfg2¡ç³%µªÔbÚ}Ó=Êú£ëÍ”œlø|àçx:yìÌ´¾Óè=·7¡'C9éOBàØùc¼üã˼üã˦éÔFŒ¦¯ ÌŽiàÝÀôp—ËÆÊ†»kÞMD|'O;!ÐЧažµÛþnþ¤\I)V×*n|ÉiÉôÿº¿Ù”øk¥e¤y¾ˆøî©[p†«•昋{î’ÜC¦8½š’¹|]}háß"O?Õ+Uàü¥ó¦ñÀÝ/×s–e?·‚Jö•p°qàÓ~Ÿš¾¯SµŸöû”vŸµcOÌž<‰¹yn(!°sçNNž<‰ÁP>þa’Û݃ÿü¹9vîô³t·¬²øw!÷ӯܵàù¹öSó¢”$N‡¼Ç—ñƒYn|ßüŽ3ÎнNw^lû"5ÝkâhãˆÁ``ìÚ±fuJÒoQÊbÌÅ=wI~6×.u(j_nß¹÷TqSiÝŸ¥ÕÏ­PC Ð#ÈI"å&r9Ú:RÓ­&ûÏì'15Q  ¹¡„@íÚµqtt¤wïÞ¥Èu™6m?þ8Íš5³t(RAÌ›7w÷’‘»Ýx°)|µ«Ô6Û·9b35Ýkšýw[ä6jf^|käÖ<}ç>¬üoðÿhЦXñüûñ—ãÍ>õÍÌÎä÷¿˜M±7` 3+³Xý––âÆ À«^5{hKÏJgç‰yú-h,¹Ç®9²†z^õJo ÅPÜs—ä*m%¹_®UÒû³¨ŸQIîó[U]¯º¸9º“ÃÅ+Í’©©œH:µ•õuä‘ÒqC OOO<==ùä“OŠn,R†¦M›F³fÍèÕ«—¥C‘ bõêÕ¸¸”WÝL÷Ô»‡Ù¿Ïfæo3q¶w¦GØZÛ²õøVÞ[Ÿóþò^õrþ?íQ·Ÿïüœ6„ƒ]ju!˘Ś#kølÇgyúîר³ŸÍ¨GñZ‡×hØÖ4>*1ŠŸÿŒ·‹·ÙÚêË—±|c»Ž5+Aˆ_ˆÙôo7G7Ž?FtR4~®~f¯G,+ůzåœ)îsvÍáåv/çÄzîŸlû„È„È<ý4–¾ ûæÔ!Ø9›,cħ’§“O³îè:ìlìx¢ùe2Öâž»$÷Pi+Éýr­’ÞŸýŒ®ç>ÏÏ­PCÀÚ`ÍÀÆùr×—<ÿýó¼ÙùM<L5’R“hØV³DD,H5DD¤Ô4ônÈ“-ždî_;žñkÇ›íïS¿Ýêtr ¿ i6„o¾aôÏ£ó´[ux•Ù¶÷Þïù>c׎å5oŸ­F˜}ßÜ¿9'O0àëfÛlßÍ<¶V5Z±êð*:Ïþwíú¢¡‹hZ½i1F~}Šß½ îåÓŸ²üÀr–XnÚîbïB·:ÝXt½Ùñ¥e–¼ÙùM&l˜Àìßg3û÷ÙfÇ=×ú¹Òž™@Àb»$÷Pi+Éýr­’ÞŸ…ýŒJzŸßLßîÿ–7×¼i¶íóŸóùÎÏœ¢ ïtÇ´ï…Ö/°õøVvDí Ï¼>fǹ9º1®ë¸2YDD ¦„€ˆˆ”ª7:¿A=¯z,üc!GÏ%Û˜Mg 4«9•ókºÕdɾ%œº¿`Hº IDATp oo7LŸy4y€z^õ˜·{»cv“p9'Üè]¿7}ö5kïêàÊ’‡—0á× ìŽÙMvv6wùÝÅ:ý‡ú^æ¯:{«Ë[dfg²3z'ÉiÉfï€/+ůZåj,²É›'óçÙ?±2Xå´ëø³AqÆòXÈcÔ©Z‡y{æv*ŒÔŒTüÝüéQ§O´(›Ù%=wIî¡ÒT’û%?%¹? û•ô>¿•¹Ø»°ä¡%Ìüm&¿üý çRÎáîäNÛ€¶¼Ôî%ü\U‹EDÄ’ ÆøgРA,[¶¬Ô¹ƒ3fhÉ€Ü4/¼ð...eö÷_ll,))Å«â¾zµ #GzQ&±”GW2¯ÐpJCºÖîÊ쳋>@*4Ý/"r;Ðï“‹‹ ÞÞÞ×}|Ù/‘[Ž– ˆˆˆ”’fŸ4ãâ•‹…¶©d_‰°WÂnRDe¯"ŽYDDäv¡e`éÒ¥tìØ‘}ûöY:‘|i†ÀuZ°`sçÎeæÌ™4jÔÈl_LL [¶l!))ÉBщˆTlö6ö„ ¿éç­ˆŸ‚ßc¶Ôý"""biJ\§'N°eË’““óì{ðÁ ¡iÓ²{U•ˆˆˆˆˆˆÈPB  øûûãïïoé0DDDDDDD tÓjlܸ‘çž{Ž{ûî»÷Þ{ØØXÓþsçÎѳgOHjjªÙ±111tëÖ‡~˜ÌÌÌb÷yµ-[¶0räHz÷îÍ Aƒ˜8q" ¦ý|ð;vÌ÷ÿÜ}¹¯{õÕW™;w./¾ø";v¤cÇŽ¼üòË@Á5²²²X´h<òÝ»wgðàÁ|ñŤ¥¥™µûâ‹/èØ±#ááá>|˜^xž={òØc±iÓ¦"¯õÕRSS™:u*}ûöå¾ûîã£>âòåËLš4)Ïx¯>ïÁƒyñÅéÑ£³fÍ*Qü%¹–מ7,,Œ#FгgOžxâ ¶oß^¢ñŠˆˆˆˆˆHñ”ù ììlüq¾þúk³í?ýô3fÌ`ݺuÜyçT­Z•ðôÓOS¹reæÍ›@zz:ƒ bïÞ½lÞ¼›b÷ 9±Ã† cáÂ…fm—/_ΤI“HHHÀÚښdzeË222òŒ!w_n2bÿþýDEEä[80¿—.]¢gÏžyp—.]Êÿýßÿñ믿âååÀñãÇÙ²e «V­â­·Þâòå˦ö ,`éÒ¥ 4¨à‹þääd:tèÀþýûͮѲeËÎ3ÞÜó._¾œwÞy‡+W®Ð°aÃÅ_’kyõy—-[Æ;ï¼Czzºißüùó™9s&/¼ðB‘ã‘â+ó„À‡~È×_MPPÏ>û,õë×çÊ•+¬[·Ž9sæ0tèPþúë/¬¬¬>|8¿ÿþ;óçϧuëÖ<õÔS¼òÊ+ìÚµ‹iӦѺuë÷9aÂ.\ˆ““Ï=÷-Z´ÀÚÚš?þøƒÙ³gc4K<¦?þ˜3f0oÞyÞŒpµ¾}û²lÙ²Ž¿¤úôéc–TèׯÕªUãÝwß嫯¾bâĉ×Ý·ˆˆˆˆˆˆ˜+Ó‘‘‘œ;wެ¬, D×®]éÒ¥ ;w¦sçάZµ €#GŽ˜Žqttdùòå888ðßÿþ—zõê™Öë—´ÏãÇ“@ÇŽÍ’¹*W®\–Ã79~ü8)))têÔÉìaÀÓÓ“b49pà€Ù¾¡C‡æé+w)D|||‘ç¼téÝ»w7%rÕ®]›6mÚxì£>Z*ñ—ÔO1 ìÞ½›ŒŒ lmm lŸû0zîܹ< „?ÿü3O{ƒÁP¬ÕªUà?þ ;;++ó‰{öì zõêEöU\¹}………åÙ—mVhðZ¹cËUÒøKz-síÝ»7Ïò‹ÐÐP€<³DDÊ“Ïv|F#ŸFf ™ÛgâçæG¿;úY02©ÈÊtÉ€§§':t`ïÞ½=z”Ö­[›^Ñ×±cGjÖ¬ÉÚµkÍÖ¿üòËìÙ³‡©S§òí·ßÒ¡CÞyç~ýõ×÷éááA»v툈ˆà©§ž2{Í`JJ |ðÙÙÙ0mÚ4Ó¶ÌÌLÆ—ïC¬‹‹ E^‡ªU«rçwräÈÆŒcª¾o4™1cëׯÇÇLJ&Mš\Ïe.ðœMš4aïÞ½Lœ8ÑlLo½õááá%ê«$ñ—ôZæš0a‚)pâÄ FŽ @÷îÝK0z‘[Ës­Ÿc@cóÙÿ·ãÿøþÏï-‘ˆˆˆH'fΜ‰³³3#FŒ J•*4mÚ”V­ZáããCPP“&M2M#_´h³fÍâÁä…^ÀÚÚš%K–àííÍСC9yòd‰ûœ6mNNN|ýõ×øúúrÇwФI<==yûí·M¬C† ÁÑÑ‘/¾øZ¶l‰~øa¾êÍš5`Ĉ´hÑ‚Ž;òòË/x>üðC¬¬¬øè£ðññ¡E‹T«VÍT,ñÃ?¼®‡…yÿý÷œ7T«VÍtÎ>úÈTT0wiFQJI¯e.???Z¶lI½zõhÒ¤ uêÔáàÁƒ4mÚ”|ðF.…ˆˆE={÷³Z. """·œ2OÜqÇìÚµ‹^½zqéÒ%öïßÏ®]»ˆ¥víÚLž<;;;:Ĉ#¨W¯žYe}–.]Jbb"<ðÅîrÜ·mÛF›6mHKKãСC8pÞ~ûmÓ±sçÎÅÕÕ•Ó§O³{÷nlllX±bwÜqGžqµk׎aÆ‘‘‘Áž={زeK¡¯òëÒ¥ ?ýôµjÕ"!!={öKõêÕY°`<òH)_ùœ·üïÿÃÃø¸8öìÙCvv6 .4MÁÏéP”’Ä_Òk™kúôéôíÛ—¿ÿþ›žžN—.]X³féç)"·Ž,c3¶Ï`Õáœb®ñ,øc3¶Ï #+ƒù{æ³8l±Ù1YÌØ>ƒÛgp9ü~Ì·û¿eή97-þ«ÝH¬E]È©!ðÝÁï8}á43¶Ï Û˜Mtb´é3¶ÏàdòI³óüyöOü±€Y¿ÏbÅÁÄ_.¼ ¬ˆˆˆHIŒÅY_€Aƒ˜½¢®0ÉÉÉ„‡‡“M@@U«V5í;zô(§OŸ¦N:ù®¥ß¿?‰‰‰4iÒĬ ^a}^+66–ÈÈH\]]©U«V¾5ÒÒÒ8xð 6664lØ;;;>Lll,mÛ¶Íó)~\\\¹r777š6mJLL 4mÚ4ßByáááÄÆÆâááA½zõò¬Ù?~ü8ÑÑÑ„„„äy`ÏÝ×¼ys³b‹…IOO7MÕoРÙÙÙáèèHddd±Î[’øs÷ZŽ3†É“'FÓ¦M9uêÑÑÑøúúR£FbÑ`00cÆ zõêU¬ö"7ê…^ÀÅÅ¥Øÿ•Tll¬©ˆjQV¯vaäHoÂË^ÂTš®d^¡á”†t­Ý•ºUëòéŽOMûöÚÏk«^csÄfþxùœløýÄï<òMNñ‹_йVgÒ³Ò¹ó“;iY£%s˜›÷dWùþÏï‰IŠ)vœÜõîŽRxvų×kQ×ÁÙΙF7¢‘O#?´˜Ð“¡ ^88ß8 ]DË-9é<¯üø ¿ŸøÝl¿£­#ã»g`ãÅ¿ˆˆT –ú}@,ËÅÅå†^ý^¦E¯åêêÊ]wÝ•ï¾:uêäy¥ÝÕ šj^XŸ×òöö.òb988äyEaýúõ©_¿~¾í½¼¼Ìj øûûãïï_à9jÕªE­Zµ ÜDPPP‰÷åç“O>á©§ž2½®ðÂ… <ÿüóÄÆÆ2bĈë껨øs•ôZæòõõUA‘r$ìT¿û•ví¨ï]l­miЖõG׳óÄNÓÃôöÈí8Ù:áhëȶÈm¦í{bö–™FÛÀ¶… ÈIìˆÚQìøz×ï]dB 4b-è:\«zåêŒl;’™¿ÍÄ·²/ýõ7íóuõ%+;‹áˇsðÌAü\ýhÔWWN$žà×c¿òæš7©U¥M«7-ö5ÉÏMMÈÍ7vìXÆŒcšqìØ1._¾Œ‹‹ £G¶tx"rˆ¿ÏÇ÷~L߆}Ͷç>0oÜnz˜Þ¹V5[QɾÛ#·›Úæ~]œ„@¿;úâRìø<œòejiÇZÐu¸VnBàÓŸRý#ÛŽ4Û¿æÈž9Ƚ îeJŸ)X[ý[ëåà™ƒ üz ó÷ÌgzßéEŽKDDD¤0JÜæ^{í5¦M›Æ_ýeÚÖ¸qc¾øâ -™ˆÜ.=ó}®é^7¶Gå<@'¦&r8î0ÄÅÎ…•‡VrúÂiªW®ÎöÈíx¹xQ»Jí<ý\«,^ÓW±tJê·¨ßp²uböÎÙ¦×ÛFŒ©ìP™ƒgÞðyDDDD”¸Í½óÎ;¼ýöÛDEEqîÜ9ªW¯NÍš5-–™§Ÿ~šž={k‚ˆÜz< Ü×6°-ß„}éäSì=µ£ÑH»Àv8ÛåÔ@Ù¹.µ»päÜîox±ÎW5J#Ö®CI$\ÎyEîÒýKK¥?‘‚(!PØØØ{Ý¿%”´.‚ˆÜZ¬ ¿¾´M@¾ û†íQÛÙ{r/¾®¾zäÌNªSµÛ"·aocÑh,Ör(›¥kaס$\]x¨ÙCx:{æÛÆÁÆ¡TÎ%"""›""RfZ×lµ•5ÛŽo#ìTƒ;šöµ hÃ÷~µ©mq”E ²Šµ0vÖv$¥&åÙ~w»Y¶YÆ,^hóVó7ŸK9Ç™‹gnøü""""JˆˆH™©ìP™;¼ï`Cø2²2hÔδ¯]`;æï™Ïê#«©çUª.¿6öjeQC ¬b-L€GÅþÅ«?½Š¿›?V+ú7êOï½ù*ô+–ì[¶Èm´h§“'Ò.•ÅîèÝ<ÙâIWk|Ã1ˆˆˆHŦ„€ˆH9g0äü×hü÷ë[I» vì?³k+kî®y·i{‹-°³¶#=+6m,á¿nf¬‡<ÎèÕ£Yyh¥i[Ë-ñsõcîsýóh6†odÙþefÇy»x+ ""yܪ¿È­M ‘rÎÉ)€´4+³oÚym¬mÙv$Až…×éÛ°/V+ÜÝqup5mw°q`\·qÄ¥Äѳnϲ·X®'Öâ\‡çZ?‡—‹—Ù¶þúÓЧ!»¢w‘œšŒ#¾®¾¸;ºóÅÀ/ˆˆ ôd( —ðpò À=€¿³WŠˆˆ\ºd…³óÍû=@nJˆˆ”s^^Yœ>mMpðÍûEÀÚ`Íȶ#‹lèX`»ÁM—vX7äzb-ÎuxöîgóÝ^·j]êV­[àqÁžÁ{Ú·ˆˆÀÙ³ÖT­šeé0¤œ¹á„ÀÎ;4hPiÄ"rCæÍ›ÇêÕ«-†Tûöí£mÛâUÅ/kÁÁ騨9tÈžàà K‡#"""ð×_öÔ­›né0¤œ¹¡„ÀÝwß]t#‘›ÀÏÏwww\\\,ŠTmÛ¶½eþ´³3rçilÝêÄ}÷¥X:¹ÉÒÓ üþ»#ÿùO‚¥C‘r憣F*­8DDätï~‰O>ñÐúA‘ è×_IK³¢K—K–EÊ«¢›ˆˆÈ­®_¿‹dgX¼¸²¥C‘›Èh„¹sÝèØñ>>™–GÊ%DDn®®Ù žÄÿýŸ;qqª@/""RQ¬XQ‰?ÿ´çå—µ\@JN ‘ÛÄðቸºf3uª§¥C‘› %ÅŠ?ödðàdê×WAA)9%DDnŽŽFÞzë<ß}W‰+*Y:)CÙÙ0j”ÙÙðÊ+‰–GÊ)%DDn#=z\bĈDÞ|³*;w:Z:)#“&yòÛoNÌšu7·,K‡#å”""·™Q£èÚõ2/¼àÞ=–GDDDJ‘Ñ3fx0¾“&ÅѬYš¥C’rL ‘ÛŒ•L™K«V©<úhu-¹M\¹b`Ô(o>ûÌ Îqï½)–IÊ9%DDnCFfÎ<Ë“O&1z´cÆxqþ¼Þ> ""R^…†:0p /[·:1oÞ|ð‚¥C’Û€""·)ƒ^{-O?=ËŽŽtíZƒ9sܸtIõ‹ˆˆ”QQ¶ŒåÍ!¾xzf±bÅIZ·NµtXr›0F£¥ƒs±±±¤¤”Þ4ÀÔTsæ¸3gŽVVFºv½Dûö—¹ãŽt||2qvÎ.µs‰ˆˆÈõÉΆädk¢¢lÙ·Ï_ub÷nGjÔÈàÍ7ãéÒå’¥C”[Œ‹‹ ÞÞÞ×}¼""· ÒNäJN¶âûï+±~½3¡¡deJý"b ±ÀA «¥‘Râæ–MÛ¶—¹ï¾‹tèpk­ü“|(! "r*«„ÀÕÒÓ „‡Ûqþ¼µ–ˆ”s{÷þÈüùO3sæYK‡""7À`0R¹r6þþ™øùe`PÞ^Šp£ ›RŒEDDÊ;;# \±t"R ŒÆ4æÏ‡{îQÅq)>}$$""""""R)! """"""R)! """"""R)! """"""R)! """"""R)! """"""R)! """"""R)! """"""R)! """"""RÙX:ÉËÛÛoooK‡!"åDîßÁÁÁŽDDDÊÍ©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€”©€l,€ˆˆˆˆ_bb"¿þú«Ù¶ÐÐPœY¶l™Ùvgggzõêu3ÑrÄ`4–BDDDDŠ'-- ///.^¼XdÛ‡~˜ Ü„¨DD¤<Ò’‘rÄÁÁ`ggWdÛ¡C‡Þ„ˆDD¤¼Ò ‘[PZZ™™™–CDnQ7n¤oß¾…¶quu%22[[Û›•ˆˆÜl666888\ÿñ¥‹ˆˆ”’äädRRR,†ˆÜ¢êÕ«‡››IIIùî·µµ¥OŸ>$$$ÜäÈDDäfrqq¹¡„€– ˆˆˆˆ”3ÖÖÖÜwß}~úŸ‘‘Á½÷Þ{“£‘òF ‘rèÞ{ï%###ß}UªTáÎ;ï¼É‰ˆHy£„€ˆˆˆH9Ô¬Y3ªW¯žg»­­- ÀÊJ¿æ‰ˆHáô/…ˆˆˆH9Õ·oß<Ë222èÓ§…"‘òD ‘rêþûïϳl FÔ¯_ßB‰ˆHy¢„€ˆˆˆH9LPPé{ `ÁˆDD¤}ú™™ @ƒ °l@""Rn(! """RŽùùùѨQ# g¶€ˆˆHqÙX:¹ùΟ·f×.G¶#>Þ†”ƒ¥C‘•õ(Ãhvìx”?þð¶t8"r¬¬ rålüý3hØð !!iØÛ-–ÜÆ”© ²² ¬ZåÂâÅ• sÀÊÊHppÞÞ™8;g[:<¹Õª äܹuØÛW³t("r²² DFÚ²y³gÎØàè˜M—xì±d5ºbéðä6d0J9‰ˆÜbbccIII)µþvírä½÷ªaK·n—è×/…»ï¾Œ££þ ¹]DDDlé0D¤”œ=kÆ N|ûmeþúËžûî»ÈèÑ xyeZ:4¹…¸¸¸àí}ý3Ô¹•VBàòe+Þz«*?ýäBçΗyóÍód} ˆˆˆÜ2Ö­sfâDOâã­3&ž¡C/X:$¹EÜhB@KDDnSgÎØðôÓ>ÄÅÙðå—gèØñ²¥C‘ëнû%:t¸Ì¬YîŒ_•ðp;Þzë<ÖÖ–ŽLÊ;%DDnCÇŽÙñØcÕqsËâ»ïNâç§é…"""噽½‘—_N ^½t^Ý‹èh[fÍ:‹­­&|ËõÓkEDn3ññÖ ^52øöÛSJˆˆˆÜFzöLaáÂS„†:ðöÛU-Ž”sJˆˆÜF®\1ðÌ3>€‘Ï>;‹‹‹Þ ""r»iÒä 3gÆòÃ.Ìžífép¤SB@Dä62s¦vÌ{,K‡#"""e¤]»Ë¼ùfýôS³m666T®\™ºuërçwbmmoL.\`ãÆœ={???ºtéRªã«\¹2›6mâøñãxzzÒ©S'ªT©bvœÑhdß¾}üõ×_$''ãêêJ5hÖ¬...iÖÇÅ‹™?¾éûÁƒckk›'777¶lÙBxx8^^^´jÕ Ÿ|ÇÃÞ½{‰ÅÁÁ:uêвeK Ed'íŽÃeÍšœ±y„,w÷ÜÁâ6oV—.֨ѿŸöç#³F‚OtU•µŒÂÚ‰ÜZµJeß>K‡!åŒ""å\x¸-uê¤[8‘—ÀŒ3LßßqÇLœ8‘ÈÈH† Fûöí9yò$cÆŒaçÎyúðòòb„ tîÜÙ´-33Ó¬ßkùùù1mÚ4š6mj¶}ÇŽŒ9’¤¤$³¶üq©Œ¯Y³fLœ8‘£Gš¶9::2qâDúôé@\\O=õýõWžþlllèÖ­3gÎÄÛÛ›Y³f‘‘‘ó–‘æÍ›Ó¸qcSÛ_~ùÅtnžþy¢¢¢Ìâ aÊ”)8pÀ,ž©S§Ò­[7Ó¶Ó§O3nÜ86oÞœ'¦àà`Ö®][èuH ÂaçNwïÀþÏ?9ûÅ@N=Ï? «J.üøc¡}¥Ü{/.?ÿŒÓ¦MX]¸€ïàÁ¤¶nÝÑ£8üñGÎùj×&ñÙg íG¤¼«S'mÛ-†”3Jˆˆ”sII9ŸjzxdY8‘Ò÷Ö[oá[€ºv IDATææÆã?N¥J•hÚ´)ñññ <˜³gÏH§NˆeÍš5ÄÅÅñì³Ï2þ|Z·n ä<89ÒÔ¯ÑhäÂ… üöÛo„‡‡sòäI†ÎæÍ›qvvàÔ©S<ûì³\úç“j___ºuëÆÉ“'yñÅKe|£G&88˜Çœ­[·Ajj*¯½ö4lØ™3gš’ÁÁÁtêÔ‰ÌÌL¢££ eÆ @N"¤OŸ>|ÿý÷,^¼Ø,!ðÓO?™¾4hP¾3"^ýujÔ¨Á°aÃX½z5qqq¤¦¦2vìXÚ·o½½= <˜Ó§O`mmM·nÝðóóãĉlß¾½è[[;}:þ÷݇õ¹s8o܈ë¢E¤5j„ÇÔ©fmŠzC€ÑÚš³³gãùþû¸.\ˆýÁƒØ¡5j=zôàôéÓdff2{ölfΜItt´©ý{ï½gö6ƒôôt¶lÙbvžÜ„ÀªU«xã7puuåܹsìÚµ +++˜'È™‘1{öl }úô1µ;þ<‘‘‘Ô«WÙ³g›%¾ùæî¼óNSçÏŸÏ·ïkeU­JìôéTäÈÊÂsâD²<=1df?j©ÅxsƒUj*>O=…ã?ãK¯[—ËmÛb䎿ý†ãöíøÝ?g, ÃϯX±‰”GvvFÓï"Å¥„€ˆˆˆÜ²{ì1³dÀÖ­[M_W®\™9WU?uê”éë#Gއ×?Ÿ0F:Äálj'==Ý´=×±cÇL_ïþg:;@‡LÉ€þýûç›øá‡ضm[ží<ð@¾ þýû›¾vtt¤gϞ̛7€={öP¯^=~ûí7žþyZ´hA@@AAA„„„˜Må¯_¿>­ZµbçΤ¥¥ñÝwßñÄOðóÏ?“••3‹¨mÛ¶øúúæ‰rê ä®ÿ0ÛwöìYêÕ«gvý;vìh– òÔ?(Lj‹Ä…çGaHKÃæŸŸß¥®]Izúébõá:w®)áçÇÉï¿ÇøO ŸgŸÅyýzlcbð|ÿ}Î~þy±c©”‘[VõêÕólKLL4}½oß>öíÛWàñ±±±xyyÍóÏ?ÏáÇ =_äädÓ××>äzzz{qÖoî8_|ñE<ÈîÝ»IJJbݺufÇ´k׎ٳgcÿOeý'žxÂT[añâÅ<þøãfË|ðÁ㹺x ­­­Ù¾ììl §B.¿RøÄý£â>{6Vÿ}zÒSOQÜצ8]µD!µ}{S2àr§N8¯_ŸÓnÇŽŽUDäv£„€ˆˆˆÜ²ò[çîîînz( 1Õ ÈOÕªU7nœ)àääDïÞ½ñööÆÊÊŠo¿ýÖ´áêÙ®®®œ>>>ßóÝÿý4kÖ,Ïöüfä×ÏÕß»ÿSußÅÅ…Å‹süøqÂÂÂˆŽŽ&""‚M›6qåʶmÛÆ‚ xê©§èÔ©DFFÅ’%KØ¿?“€(ì- W_ï‚Þàááaºþ¹×çFTyûm³d€×opò‡Èþ§žCa W%q m—–†!+ co“©ˆ”‘r¥}ûöDDD””ÄSO=…“““Y›¸¸8Ž=júÄûê*þÇ7Œ7{ßÕZ´hÁ¡C‡€œe ¦e+V¬È÷˜ÜúÅõý÷ßÓ¡CRSSùå—_Lûš7o@hh(5jÔ ((ˆ   Óþwß}×ôÊÀððpÓvƒÁÀ°aÃ?~<ï¿ÿ¾i߀ò,Á(©öíۛηyóföíÛgöv†3gÎP­ZµbõUyñb*­\ äÔÈðõÅaß>l##©:f ±3gÙGF­ZØÿ“ìqܾCFÆf78ýóF€Œ€%DD®¡„€ˆˆˆ”+#FŒàçŸ&..ŽððpºuëF—.]¨T©gÏž%**Šжm[Ú¶m @:uˆ‹‹àÿûÉÉÉdgg³~ýú{ì1–.]ÊåË—III¡_¿~tïÞ˜˜³×ò݈ݻwóØcQ·n]¶lÙbV¬ïéÖÐ÷Ýw¬X±‚fÍšQ³fMªV­J||¼Ù2€Zµj™õÛ¿¦NJrr²©V‚Á``РA7óˆ#X½z5gÏž%++‹ÁƒÓ½{w|}}‰ŽŽfëÖ­¼ªÊAì¤Ê„ ü±S¦Œ_Ÿ>X'%á²f i_}Eò°a…ö“ü裸¬^ YYØFGãׯ—Û´14µ+¢‘ŠÈÊÒˆˆˆˆ”D•*UXºt)wß}7S'`ñâÅ|þùç¬\¹’ýû÷ãããCûöíMÇŒ?Þô©uRR_}õ‹/楗^2ûÔýj~~~|öÙg¸þóººS§N1þ|Ž9bz3Àš,X@dd$aaaÄÅÅagg‡··74hÐÀ¬}`` 6l`ãÆDGGãââB‡ðõõÅh4Ò¦M7nlv\Û¶mÙ¸q#7n$66___ºví `gAUû‹âííÍÊ•+Ù´iÇÇÃÃN:™jôë×~ýúqøðaŽ;ÆÙ³gÉÎÎÆÛÛ›»îº‹5jäÛ÷#ÿÏÞ}GEuüm–*°ti‚€ "V°ÅØ¢`ÆcÁƒ-Æ4M~1£¦˜D“Ø5£Ql`Iì ;"¢ˆ¨(R¥I¯JÝÝ÷^Ö¬K]Ay>çäÄ;wîÌì]vç{ïñòÂÖ­[QúÿËøU4™`Uý­®®.³­U«VÒ[YYaûöíxüø1nÞ¼‰””hkkÃÉÉ ]»v­¶Ýš÷ï#oôh€XC9ÞÞÒmÏúõCêÏ?C=> ñè ÿóHBEž„go½…fAAÐxô*OŸBÒ¬JZ¶DA÷îëêV['"¢¦H ùïì9DDÔ(¤¤¤ ??¿FybÞ<3DFFÕs­ˆ¨®¢¢¢àéé)}}üøq8::Ö˱пˆÅbáÊ•+ÐøÏ üDôzáï¦I(ÂÌÌLáýy‡ÑkdçÎxòä N:%]*pÆŒ ‘ˆˆˆˆ^#;wîDtt´ôõ[o½…iÓ¦5`ˆˆ¨±b@€ˆˆˆè%©é uáåå…¬¬,…B´mÛÝ»wWú1ˆˆèõÀ€ÑKbhh(¨^^^õZ>½>¸ì QÄ€QÄ€QÄ€QÄ€QÄ€QÄ€QÄ€)ìý÷ðÝwwºJñ:µ¥"¯{ûˆˆˆ¨öÔºDDôêºq#……¢†®†R¼Nm©ÈëÞ>"""ª=ˆˆHaÛ¶õ„P¨ÞÐÕPŠ×©-yÝÛGDDDµÇ€)ÌݽyCWAi^§¶TäuoÕDD¤°÷߀‹µ—I‹{ _ß8DDäB$ÃÎNˆQ£làì¬/WFNN1üü#$$ùù%03Ó‚§§9ú÷7—æ))cÊ”«ps3ÆÇ;cÿþX\¾œŠâb1:u2”)ö å¿ÒBC³°,ŸÁÜ\ãÆÙÂÒR |˜:Õ¾Ò¶(zÌš´§!TÕ¾>jŸ¦AEE€Ì1jTK@jj!þþ; äB(TÃØ±6xã S¹ò•ÕîÿÖkîÜ6ؽ»¬^b1Ð¥‹¼¼ì¡­­*³Ojj¡ô|ËÏ/••zõ2ŀ怂‚RÌž}66:Xº´£Ü1 J1kÖu88èbñâöuzïŠÇ­[ÈË+AË–B hŽ^½äû‹ˆˆ¨1`@€ˆˆVÑsé'N$â³Ï‚QR"–¦]¼˜‚;¢±xq{xyÙIÓCB21cÆ5deË”qà@ÆŽµÅ?vˆÅ¥C(TÃìÙ×áïŸ,Í{áœ>?¿>PW>W®¯o,. Dò¼Üƒã0¾ ‚‚Òáè¨We[9fMÛS•~ÃÝ»ÙÕæ+·reXXhW›¯òö©ãƒ®áêÕTé¶Ó§““‡‘#[bâÄËHO/’n;v,þÙ½{›IÓ”ÑîŠê5mÚU\¿ž.ÝæïŸŒƒcïÞÞ04ÔDDäâÝw/"?¿T¦Ÿh¼û® ~ø¡3´´Ô`h¨Ý»c0mšlm…2yÿý7W¯¦bøp«êPó÷þæÍ Ìž}™™Eÿ)9>>ÑøßÿÚáƒZ׸ˆˆˆ^ˆˆHiRR ±`ÁM””ˆ1h% ²€ºº .^|_ß8,_~]º£m[}äç—bÖ¬@dgcäHkôíÛúúxüø)¶o„¯o,zôhŽ·ß¶––éR 4ðå—íкµ.RR ±aÃCÜ»—ãÇ1bDYÞ¤¤gX²$ 0jTKôïß"‘§O'cÕª{µjSM©H{*òàA‚‚Ò«Ìó_u›(ðÒ¥'02ÒÄ×_»ÂÎN¹X»6[·FÂßÿ ¬¬´ñå—í`` ÿ'س'¿ý. («ÝÕK(TÇ_¸ uk=$'`Ë–DEåá»ïî`Õ*7ÀÞ½±ÈÏ/Eß¾-0r¤5 4ð W®¤ /ïy`Ê9’Ÿh|ýµì->>Ñ02Ò”ž×¡fï}vv1fÎ,ëƒ 1v¬-Ì͵˜ø §O'!/¯¤Öï ÑËÀ€)ÍáÃQX(’»*ìéissm¬^Ž}ûb±ti>üE˜?ß³f9Ê”3dˆ%úô9‰ƒË $ÕÔT°gOo´jõü ¯&Mº‚[·2¥´ÿM@q±ï¿ï€… ]¥y‡µÂW_©Á×7¶Æmªé1iOE¾úʹ¹5@ZXhÕ8oEÔÔT°o_X[—ÝeЧ DX³&**ìÝÛjj@¿~-pÿ~6²QZ*šš@ií~‘Düýw/´mûü1“Áƒ-1pà;–€åË;A[[UZ·•+»ÀÀ@Cš÷½÷leú±cGCtè`„ã³ÏÚBK«ì'Э[™¸?~èMMÙGjúÞ:ôÙÙÅðð°À† Ýdʘ0¡DDÔh1 @DDJóàAà½÷lä¶ß «W‡#<¼ìvøÛ·3gÎ$! Uzk¿DHþÿETTžL®®†2ƒ3h×ΕõüVí‡Ëê1fŒ|=F²®U@ ¦ÇT¤=©hž…úäêj ”kÓ¦ìq OO 逻œ³³>BC³’RKKm¥µûEÎÎú2Á04ÔÀ€æðó‹Cdd.Ú·7Äøñ­pèÐc̘q #G¶D»vprÒƒ¦¦*ôôdWU˜2ÅŸ}Œ£G1vlÙ¹áã 55&N´Ã‹júÞ—?âQÙcºº\݈ˆ'ˆˆHiŠŠÊæ 00Дۦ¯¯àyžgÏÊnu ͪ´< ÙÛáõõåVêêeVñó) ¤ÏÊ¿8 ,+CC.­*5=¦"í©H}Í!P™Šú£<Pñ¶²çæKKËûÊj÷‹*zïÊêT–^~µj%ÄÙ³ñï¿ Höm‘HJz†^½LñÅíàà +ÝwÈ+¬Xq»vEcìXdfáĉD l SÓf•뿪:ßÊç5 ""zU0 @DDJS>¨ºs' 66:2Û²!‘ffe·¸››—ýéÒppà¯Ü‹W§k[û÷sТ…ì-õ÷îÕ|°]ÊjÏËžC ®êë}ŒˆÈEI‰Xfâ> ì<3³çx}} xyÙI'¬LM-ĬY˜<ù Ο÷>  ¦&À„ ­ðûïá¸}; i(.cêT‡Z×ï¿Êû 88]îŽ""¢ÆŒ""RšÞ½Í°kW4~ùåõàäT6@LL|†%Knÿž²%Ø<=-°cGþù'+Wº¡eËç‘H‚3g’ IäR½z™ÁÇ'?ýtºÒ²##óðÛoáuib¥”Õž—=‡@]Õ×û˜ž^„åËï`Ñ¢öÐÐPDlß…  t´l©#=ÎöíQhÓFÝ»›H÷54Ô€P¨†ÔÔBÄÆ>•ž‡@Ù£+6<ÄÎQÎ@‡†èÐÁ°= `ŽíÛ£ðÓO÷`n®-³Ì`HH&ÒÒ ááaQ§cÕˆˆHiúõkîÝM˜†·ßö‡­­êê*ˆŠÊCI‰­[ëIŸëïÚµ9ÆŽµ…¯o,ú÷? kkm4oÞ ¹¹%HHx†¢"fÎtÄСVÕU^ÿþ-Сƒ!BC³àáqööº‰$ˆ‰É‡““’’UUÅî>¨Œ²Úó²ç¨«úzííuá燣G`k+DrrÒÒ óç»Hó]¼øß}w::jhÙRªˆŽÎC^^ 5d`l¬‰aìpðàc¹²Õ½» † ³ÂÑ£ ˜:õ*LM›ÁÜ\IIÏ–Vˆ9sœ "¢FI¥ú,DDD5#›7w—ú£¢òðàAD" <<,°kW/4kö|&÷ï¿ïˆ… ]ajÚ ññÏ’‰¨¨<ˆÅ b‰aÃj Êû[¶ô@ïÞf(-•àáÃ\DFæáÍ7ͤ@åÇÄë«=]}´»U+!Ö¬é UUîÜÉBZZ!tuÕñÃ1dˆ¥4ß´ixã S<{VŠðð„†f"/¯ݺ5Çöío@KKU®ìòGLM›að`K¹íŠXµÊ }ÔººêHM-DhhÙnnÆðôd0€ˆˆ'¤| `""j4RRRŸŸ_£¼Ç 1ož"#£ê¹VònÜH‡P¨^áUí§OK±¸l©¶ÿ. ÷"‰ˆ‹ËGff1ŒŒ4`i©-óì¸X,Á04Ô€££ìsêåÛŒŒ4кµü3ìOž 9¹ffÍ`a¡mÛ"ñÃaøùç.5ªe¥m©Ë1«kOC¨Mû²³‹ñða.lm…2Ïê@ll>RR Ñ¡ƒ¡LpPN»‹ŠDpqù˜cÓ¦î()ãÑ£²à‚££44*.ïÙ3ââò!‘”=Ó_Õ÷ïçàí·ýñÉ'Θ;·Üöº¼÷"‘‘‘y(,ÁÚZFFòlÕ‡†ü=@ G(ÂÌÌLáý "j„^•€@cvùr*tuÕѱãóçÃÒ0wîuäç—âòåArƒ]jx/”M$’`êÔ«¸~=ç½Vø{ iªk@€sÑkéáìXqÆÆš°²ÒAJJž<)LšdÇàKæí} OŸ–V™GGG ëÖu­—㇇ç`ùò;ˆŠää lÉs€ˆˆš<ˆˆèµÔ»·ΜIÆÍ›ÈÈ(hjªbâÄVøòËv \»¦'88yyU¯ž ««^oÇÏÍ-‘.çhg§‹… ]ëíXDDD¯ ˆˆèµä訇}ûz7t5èÿ…„ «qÞÈÈw”~ünÝš×K¹DDD¯2®2@DDDDDDÔ1 @DDDDDDÔ1 @DDDDDDÔ1 @DDDDDDÔ1 @DDDDDDÔ1 @DDDDDDÔ1 @DDDDDDÔ1 @DDDDDDÔ©5tˆˆèÕTTZ—•.Ðz6ÞÔÐÕ©“ÜÂ\\й„sÎábôEäæbf÷™XÐw\^‘X„kq×päþÜNº„œhªiÂÅÌ“:O‚§“g…Ǹ›®mÂô‡È)Ì¥¾%úØõÁì³a e Í÷:õ+5n Q“·øÔb ?V£¼1ußT™´¢Ò"\‹»†kq×ðaÏñiïOe¶ï ݇¯O|-“™‰ÈôHp‡§†±¶qÚ@DDDT[|d€ˆˆš<ýfúæ< ¿ÿßþ¾Ê¼j*jèÕª~ú3NyŸBØça¸8û"¦¹Ol¼¶ 9 Òü"±¿\ø0½ët\{wçß…¯—/œLœœ›Œí7¶×[Ûˆˆˆˆ*Ã;ˆˆ¨É[æ¹Lúï“OV™·[ËnèÖ²›Lš¥¾%¾~ëkD¦GârÌeÜ}rVúV€´§iÈ.Ȇ½±=¾êÿ•tŸN–ðÍÀo0q÷DiPà|äyxûyËì•…¨Œ(<É{‚uשׂöX“÷NF@l@ëvÊûìíkœ¿.ŠEÅðô‡©ÐîÖîÒtM5M¼Ûá]ì ÙƒçW`šû4è7ÓGxJ8–Y55¼×ñ½*ËŽËŠƒ·Ÿ7ÒŸ¦ã¯q¡§mÏún5 Q܈¿Ž±aÔ8š8")7 ¿]ú 'žÄÒ3K±wÒ^ÀÙGgŸõþ cÛ…–rp5ö*â²â² J±üìr<Î~ŒM£7ACUCfÛ·ßÂPË;oîÄÖë[¥é.f.Ø>n;Úšµ­´Ü ø Ì98zšzðóòƒ±]½µˆˆˆšˆˆ¨N´Õµ±yÌfé,ùöÆöø}ÄïúçP'#ýi:šë4G Ý€.#`"4´2j…VF­j|¬¿ßû[ù P‚•WbOÈ|Õÿ+ h=@n{BvB“Bñ´ø©lzN®Å]ƒ»µ{…;€E'¡£EGlµQfyB"""¢ºb@€ˆˆê¤­Y[¹%óÔTÔÐæ¢2¢—‡æ:Í1Í}‚âƒ0tÛPô±ëƒv-Ú¡]‹vp³rƒºªzÕ¾nÄ1–ž^ Ÿü¯ßÿ0½ët¹<ùEùï3ÙÙøÖã[x8z@WSqYqXse Ö¬G‰¸_ôýBf¿ÀÇ8ûè,ºZwÅŽ÷v¼²}DDDDDDT¯@¨)ÄÎñ;‘ë¯ãAêøÝñCæ³L|ëñ-†:­¶¬Æ4‡@©¸ Ž.À‘ûGðõ[_K—|Ñù¨óHÍOÅÝ>À„N¤éŽ&ŽX=r5ÜW»cïí½r''”àfÂMp#\FÔK;ˆˆˆ¨éb@€ˆˆêä~Ê}d<˹K T\Škq×- ZÊäw4q„£‰£ôõ‡‡>Äü£óÑ«U/è7Ó9•®£‚’|xèC\޹Œ%—À«‹W¥ys sª,K"‘ ¿8"‰ª‚ç jâϱÂÛÏóÎGvA6¦¸MQZˆˆˆˆ "¢:yVò 3ýfbñ€Å2“ FeDÁÍÊ Íuš¾:þZèµÀ[oÁÆÐêªêx˜öÒ¡DT‚”¼”ja¼¢<|àûn%ÞÂ2eßi|•ùË' Üys'l làá䡆±Y±X}y5òŠòÐÆ´L0 œPSˆíã¶ã£ÃaùÙåÈ)ÌÁ¼^óê¥]DDDÔô0 @DDuân편¬8Œþ{´Lº¶º6– \"}ý$ï |ïøb핵re´5k ‡æõ^×ÊìÝ…'ʤm܌͛“:O·ßü#ýq3á&`ñ©ÅX|j±\yÿ}„ ³egx:yâÔÃSæW¨âË~_VZ7M5Ml½_ûk®¬AVA¾ðôQ """"E1 @DDu¢ßL{'íÅwg¿CP|Äb1ºXuÁý¾€³©³4ßOC‚ß?œ}t1™1@ = r„iîÓ "PiÀVÔ¯5#×`×Í]øçÞ?ˆLDQiŒtŒÐŲ ftŸöæí«Ü_U Š_†þýfúؼ¹…¹øyØÏÞU@DDDTS‰D"ièJ‘¬””äçç×(ïñãBÌ›g†ÈȨz®5Vü=Ð4 …B˜™™)¼ÿë{9†ˆˆˆˆˆˆˆ*Å€QÄ€QÄ€QÄ€QÄ€QÄ€QÄ€r\K* IDATQÄ€QÄ€QÄ€QÄ€QÄ€),» }7ö…à éþ‘þ¸} +ð׿dò»®rÅŸ TÛWS~Q>l ×ǯºµWÖâÐÝC ] µ?•ée÷ƒ¢Ç{•>»×_ÇÜCs«ÌS—ö•Áa…f˜¥Ðþ¯ºšô/¿ˆ^j ]""zuíºµ 9 èdÙ Ý[v‡ºª:Zµ‚Š@ózÍC'ËN ]ÅWÞî݈͊•ëãWݺ€uèÖ²Þi÷NCW¥AÏã—ÝŠoNÏ90šÖS­”£T\Šë¯ãÜ£sˆÌˆÄ¡»‡àní+}+¹¼¯B{›Úô/¿ˆ^ ‘¢3£›Go†‘¶‘̶y½æ5D•^;Ò¨¸I9xWovÙ ]…*…&…âó#Ÿ#6+Vš¶àè¨T0Ôy(~{û7™ü½=Mmû—Ÿ)¢WDDTkQQ8~ wŸÜlÞ5ù¯”Þv½ÑÑ¢cʼûä.BC_œ3¡úØ÷±¶±t»H"Âú«ëagl‡aÎÕ…+1WP,*F'ËNp³r«°ÜÌg™ŠÂã¬ÇPSUƒcsGô°íUj¥e‡§„#ðq T*èkß6†6‰D‚«±Wž¡†žNž•Ò«kOuÊû849Àó>6Ô2„W/™ºÄ "-"±öÍíÑ˶4Õ4«ì»€ØddÁ»›7¶\ߢ´¶W×ßI¹Ið»ã±DŒÇY±æÊé¾£\GUxµ±¾Ôå<®I¿W¥6ýPÓs)8!iÈ/ʇ•Ü­Üa"4©õñ*²ñÚF˜ M1Úu´´ýå3#–ˆ1ïŸyHÌI„£‰#ìŒì‘3„$†àrÌåjÛSN‘÷5<5qKÄp³vCóreÖæoWvA6þ¾ù7Ú›·G_û¾nëhѽízWX¾2Þ Eû÷UønhlýKÔÐ "¢Z‹Îˆ–PlØPa>]MÝjô¥?Mǧÿ~Škq×dÒµÔµ°dàŒi?P**Åš+k0 õ$æ$båÅ•H$Òüïvx? þA¦Œåg—cOÈ‹ŠeÒm m±eìé­÷ÿ-;2=ë®®“æýáÜX=r5Þ°}3ýf"(>HºmÕ¥UØ7iìíkÝžêTÖÇvÆvÒ€@dz$fœ˜Ì™}Í„fXûÎZt¶ì,×¾Gi°>`½4ï¤Î“”ÖöšôwRn’´] 9 2mìÖ²[•ÓCw!>;¾šž{Ϋ‹ µ +Ý®èy\Ó~¯JMú¡¦çRvA6Þßÿ>î$ߑɧ©¦‰ù}æcšû´:õ;PÖ7®-\¥èÆô™IÈI@bN"Ü­Ýá3Á7âo`çÍøííß –ˆPm{ÅÞוWbÓµM2i#\Fàça?Kƒ`µýÛ•S˜ƒ5WÖ`RçIrÖòmSݦJ¬Ê|/*R›þ}¾[ÿ*ßS¤¤¤ÀÌÌì%—^U Q­ÙÛa^¯y8~ÑјÓsŽÌU ¸¬8üsïŸjˉEðöóFXr¬ô­ð¦Ý›Ðo¦¸¬8œ}t O,„Cs™Ž·“nÃ?Ò}ìú uóÖHÉOÁñðãØº܇¡§mOiÞË1—a*4E'ËN°Ô·DQi‘ôjÞǾ€¯—¯L}BCàé­ÀÎØi¸ußœú]­»â~ê}Œi?Z¸sR`ÕÅUØ0jƒÂí©m—p J 0Ýw:sa¡g>ö} ®¢Ž«±W•o_oœøà„ÌsÒ!‰!8ûè,Þlõ&œÍœÑL­ÔUÕ•Òöšö·…žæõš‡µW×ÂRÏ£\GI÷·Ô·¬²OÝ=Táà®2C‡VPäsô87nbšû´:õ{UÃgÆXÛ6†6PÈΗ­"PA¯V½ªm‡"ïë­Ä[8ûèlÙß"“ÖHÎMÆ©‡§ðϽ`kh‹z}$sŒÚüíR„2>éMÿ¾*ß Š¨¯þU¾#xãñpppÀ!Cп´k×î%×^% Q­ÙÛc^¯y¸ŸrÑÑø°ç‡2·Ô^оT£}§#N#,9 ÃÛÇÊa+¡ªòü6þ°ä0Œù{ þºñVX-MÏx–£6b@ëÒ´7[½‰GàBÔ™}K=–ÂÎØqHÎM††ªºZwEúÓt„$† « KfÀ˜Y‰­c·¢]iÚ ±?t?‚‚qÊûÌ„eW]Jz—Àc‹ÎG‡D"@ P¨=Šöñ‘ûG˜“ˆÎ–±ã½ÐR×P6ñ×'ÿ|‚“ObwÈn|òæ'2}·jø*Œp!M+*-RJÛkÚßåÓõëÑÒ°e­ž'~§Ý;•>R‘ên×Uä¿UŸý[_TTTйsgtîÜóçÏÇåË—áç燯¿þË–-øqã0}út˜šr ΦŒ""j0úZú€‰&ÂX§âG3µf •}>ê<`Ý;ëÐß¡¿Ì¶ðÔp…ʬN}¶GîXÍÊŽõ8û±tR.>'‰Z2éÿ½}YÙ^F+{EÔ¶ß'u™$wå½²sCæ8µ<—Ü­Ýání ìjhP|~<÷#N>8‰½“öÊ=ûý"EëYWõñ™QWU‡‰Ž ¦¹O×辶;¶^ߊŸ†þTy=ø<%d'TXVyÐJOS¯Võ.W>|VòLn[Rn’Be*“"ý[[õù·´±÷o}QUUEß¾}Ñ·o_deeáÀضmvíÚ…1cÆÀÛÛVV/o•j< "¢Ó£eø†úB$aîså-iùiHÎKV¨ìòg6…šB™ôÀ¸@ø?òW¬ÂÕ¨Ïö¼¨³egøÝñÃÚ+e³Ÿ—ÿÈIDøõ⯀.V]”r¬š¨mk¨jÈ]q­Ž²çPDmû}b§‰U–WY?Ôæ\ Œ „«¹+t4t¦BS s† QpøîaÄdÆHg:¯ìxÕÕ³¾(ã3“U…˜Ì˜ WHÊM‚X"FJ~J•e(òyŠÍŠÅÁ°ƒrsœ‰8½fzhm¢Øóæ:Í¡®ªŽÀ¸@–J¾Å¢b¹ ^eôomÕçßÒÆÖ¿ ÁÐÐ|ð¼¼¼àçç‡-[¶`ß¾}ðòò§Ÿ~ mm톮"½D QƒÚv(¶oÇÞÛ{q9æ2zÚö„±¶1r s›‹ ÇA˜Þu:Ú›·¯uÙ,Êžžé7ƒœÁPÛÒábÔEi!ýiº²›S¯íyÑð¶Ã±>`=‚‚1hë ô±ëuÕ²YÑ#Ó#¡ßL:MPB«j¦¶ýmkd‹û)÷ñù‘Ïam`  F¹Žªrù»Æ0‡€²û½²~¨Í¹´9p3n&ÜDw›î°1´ºª:¤>À¥èKP¨Ê\ÙV¤ßëSm?3ÿÜûqYqÓ~ ,ô,” ßÝù.MÑÁ¼ "Ò#0÷Ð\øG–£zÚT=¡œ"ï«‘¶¾8öŽ…ƒ£‰#’r“pêá)ˆ$"Ls›¦ð9åëÛŸ‰8ƒáÛ†£¯}_‹Šq1ê"ŠDE •YSõÕ¿µUŸK²MMMLœ8ãÆÃðË/¿àĉX¼x1<==ºzô’0 @DD FU Š?ßý_ûþ‘þð •]ÐLh¦ðàÙÓÉÃÛÇ‘ûGà{çy¹c;Œ…®†.¶ÝØV§ºW¤>Ûó"-u-ü9öOéºé»CvK·™ M±väÚ—:‘Umû{šÛ4|yüK™Ç»µìÖ`ÓšRv¿WÕ5=—zØô.¹ö_::XôÖ"™y[¿×ö3søîaé±|Àj¤mwkw'#"-Bš7:#ª*ªx¯ã{˜æ>­Êz(ò¾v¶ì {c{lÜŒ‹Ñ¥é#\F`Îsjßÿ± ÏÜJ¸…˜ÌÄdÆ(››à§!?áýýïשìªÔWÿÖV}ÿ-m¨þm¬ÔÔÔ0nÜ8 8+V¬Àܹsáé鉟þ™w 4 ‘†µ†¶fm¡¦*ûubchƒy½æÉÍp>§ç¹Õ†Z†øc̈ʈBpB02ŸeÂHÛ¶†¶p³r“.7¥¦ª†y½æÁÎØN®åÛš;Ȥÿööo˜Ðiî>¹ @€.–]àjîŠ+1W ÔJŸM­ªìVF­0¯×¼ |öµï #m#éóǵiOMUÖÇàÐÜ'½OâjÌUD¤E@$ÁÎȽízË,õU“¾SFÛkÚß0Êu\Z¸àúãëÈ)ÈXê[Öªo”¥¶çqMû½&ªê‡šžK3ºÏ€W/\|]:¸1×3Go»ÞÒIÕjr¼ª¼øÙm¨ÏÌÈv#Ñɲ“t° ”ݾgâ$ä$ ,9 q¸•p szÎAG‹Ž¶O$É}ù< s†!ÎCô8b‰]¬º £EG™rùÛegl‡33ÎàÌ£3HÍO…•¾´€¢Ò"Ìë5OæÊ|/”Õ¿ý»¡¡ú·±322ÂÏ?ÿŒwÞyŸ|ò Ƈ͛7âú+±qãF˜ššbôèÑJ¬iýHHH@hh( ©© ¸¹¹U¸lä¿ÿþ‹ØØØ ËqttÄ Aƒê¹¶Ê#”¯ãADDFJJ òóók”÷øq!æÍ3CddT=׊ˆ¨ñ ˆ ÀîÝX÷κ ·§æ§¢çºžä4¨Ò>>ÈήÝ2¹yúô)Î;‡¤¤$´hÑ„H$ÂöíÛѾ}{ôíÛ·ÎÇPDDD/¯ü½|ÚêÚ˜Ó³n³ÿ5EVVV˜;w.~ÿýwL:ï¿ÿ>îܹ#“OSSóçÏÇ´iÏWذa\]]¥#GŽTúì=˜ššJéééøôÓOqíÚ5™|999¸sçÌÌÌпèëë#11AAA¸yó¦L@àEÇ—»üüü`ii‰#FD"¼½½+++¼ùæ›Ð××G\\Ξ=‹… ÂÁÁ;–­qèÐ!Ô¸=C‡­6 pûömœ9sLJM…yfÍ’ ð;;;ã÷߇½½½4íéÓ§˜9s&ÒÒÒЪU+ôêÕ "‘—.]ÂW_}Uã:׈ˆˆˆˆˆ¨RZZZèׯ.]ºkkkÀÁƒef·/..ƽ{÷ª,çí·ß–K[·nLMM±uëVhi•=Êsúôi„……aøðáX¹r¥Ìsúaaa3f þúë/élþï¼óÜÜÜjÜ##£*·ÇÇÇcöìÙ°±±Á²eË*Ìcee….]ºÀÌÌ ÉÉÉð÷÷Gxx8&OžŒS§NA((»+"55½{÷ÆæÍ›¡®®(((À”)S¤w!4ˆˆˆˆˆˆ¨J®®®øã?0}útìÞ½Û¶mÃ»ï¾ ;;;hhh S§Nµ*sëÖ­8{ö,vîÜ iúÕ«W”Ml¸iÓ&H$€D"D"žž¤ùßyç%´°LTT¼¼¼ ££ƒ]»vAWWW.ÏG}„víÚɬ0““ƒÉ“'ãÞ½{8pà¦L™ ‘îS Ê‚,sæÌÁ| ´º+‚""""""ª’‘‘²³³Ñ«W/ìÙ³;vìÀ¸qãPTT„víÚaàÀ?~¼ô*uvî܉ÇW8èÎÌÌìÛ·¯Fe)k;wîàý÷߇‘‘víÚUé’‰íÛË/[ª¯¯?üsæÌ‘¹S"''@ÙRŽ/²²jø : """""¢*åää@__àîîwww@jj*‚‚‚ðã?âäɓػw¯Ì•óŠìÛ·>>>ؽ{7 ä¶—gâĉ•®(ðß%•1‡@@@fÍš ìܹSnÅE•·%11Q.À ”cÔDDDDDDT¥¸¸8˜››#00®®®Ò[üMMM1lØ0\¸p‡FLLŒÌ¤z/:tèþüóOìÚµ«Ògù{ôè___ˆD"Ì;W.À––†äädéëºÎ!pêÔ)|òÉ'°³³Ãßÿ]岆‰‰‰(,,”kcNNÖ¯_@vU‚N:áÀX¿~=6mÚ5µ²!xQQ6mÚTã:׈ˆˆˆˆˆ¨Jþþþ>|86oÞŒ›7o¢{÷î°±±ºº:>>ryz÷î-]Ñ ** Ó§OGçÎaooCCC$''ãܹsxúô)LLL¤Ë,e++¬^½.\À!CdVxöìT¸TáË€)ìýýïÃÎÈ‹,Rj¹iùiøøŸááä©nS•Zvm•ˆJ0eï¸Y»á³ÞŸ5h]*#–ˆ€KÑ——1İ3²ÃÈv#ál*¿vr~Q>NGœÆí¤ÛHÈI€¦š&\Ì\0Úu4ÌõÌ DDÔ˜ùûû#!!ƒ†P(ÄíÛ·áïï/“GGG‹-ªòêú7ß|‘H__ß ·7oÞ®®®PUUÅŸþ‰/¿üþþþrùÍÌÌ*|Ž_III‰D€]»vU˜GWWW°´´„““nÞ¼‰›7oÊäsvvƯ¿þ ===išŽŽ6mÚ„3f ::ÑÑÑ,\¸Ÿþ9´µµ•ÒE0 @DD »…%…J/·HT„ ø 8š8*½ìÊxíñ‚³©3¾µP&],#(>zÍô*Ù³áÜ>÷SîˤÇyüuã/|ÞçsÌì>SššŠ »' ¨´H&ÿ™ˆ3ظ¿½ý´ðRêMDD_qq1~ùåxzzÂÙÙÎÎÎðòòÂõë×077GïÞ½å¶sæÌ‘ynÞÛÛÅÅÅ•ËÕÕUúoCCCüñÇˆŠŠBpp0233add[[[¸¹¹É,EXNNN˜7o^•yþ»z‚½½=Ž=Š{÷îáþýûHOO‡®®.\]]Ñ¡C‡ ÷ïСÎ;‡sçÎ!99-Z´À€¤Asó† Æ3 @DD Ûöî65… ] ¥ŠjÐ[öê"·0ŽèÖ²Z´DAiÎGžÇ¡»‡°òâJô±ëƒ6¦mùÅùPWUÇ0çahoÞ–ú–È|– Ÿ„&…bþÑù¸4ûR£€ÑËóý÷ßãÉ“'øã?¤iZZZèÛ·/úöí[å¾³gÏ–y=kÖ¬ZßÞÞ¾Ê9 êªM›6hÓ¦M­÷sqq‹‹KòFFFÂÒÒ#FŒ¦eeeaݺuP«ù”""R˜»µ{CWžzZ²Ïli3êªêغqÒ€@G‹Ž¸þÑuhªiÊäÞv8Fn‰‡iœŒþý_Zý‰ˆèå‰DÕ^eߺu+vïÞµk×ÂÚÚú%ÕìõsáÂlÚ´ ={ö„••RRRpáÂäää G $”…""RXesÄeÅÁ÷Ž/"Ò" ‹`gl‡QíFÁÙLþyöФPìÝÄÜD˜ë™c\‡qh®Ó¼ÒcææÀïŽBC_œ3¡<}úàêÕ«¸víâã㡪ªŠ¶mÛ¢k×® þ¸"DD¤4)ù)XptJD%ä4ƒÚ ‚ºŠ:.F_„ï_,?»]¬º ­Y[$å&á›Sß@,c”ë(ôwè‘X„Nà×K¿Ê•_”Yf!»0#ÛD_û¾Ðo¦ÇÙ±ýÆvø†ú¢GËxÛåmé>—¢/A¨)Ä}¿@ëæ­‘œ—Œ-×· *# ßý«†¯‚“‰|&øT8©àgè¿} Zø²ß—hݼ5RòS°!`î¥ÜÃñÇ1Âeªó íLÀ¡:%5Î sÎAvA6r s™ ½fzø}ÄïhiвÚ}÷…îCpB0>ëýY¥wÑ«íäÉ“øüóÏ¥³êûúúbîܹÒAéÕ«W±hÑ"`çÎèÚµkCV÷µ¢§§OOφ®†ˆˆHiß=ŒÂÒB™«õàéä s]s¬¾²ûB÷a©ÇRü{ï_‹Š1Í}¾~ëkiÞ¡ÎCñű/p0ì lÙ÷#ãYæ÷™Y=dcgq IDAT'%Òfúl胃wÊ$àï÷þF[³¶Ò´Ámcàq,ü–Z]M]tkÙ úZúèÖ²›LÙå³ñ«©¨aÏÄ=heÔJºÍÆÀ“öL­Ä[5 |Õï+äåV›¯\m︕x éOÓ¥¯»Ût‡­¡mµûùGúcÉ©%ðtò”ë[""zõI$üñÇX¹r¥ô5P¶ä^HH,,,°jÕ*>|X²d‰Ìêôúb@€ˆˆ”æAêÀ{Þ“Û6¾Óx¬¾²á)áʞ݀±íÇÊåÛ~¬\@àvÒmeËãÄHÌH ‘þ;*#JfgSg™`jb@ëð»ã‡ÈôH´7¯Ù:Æ®æ®2Áh×¢ ëYVE»È©heÚ0jŠK‹‘]˜Ð¤PìÙ ÿHì›´OZ× ?ŠùG棿C¬±*•z­#½\EEEøßÿþ‡£GJ¿/Ë©««cÉ’%ˆ‰‰AóæÍ±~ýzxxx4PM©!0 @DDJS~5½¢[Îõ›éC Hó––Í=PÑòvúÍôåÒž?„&‡Vz| 5 ™×•-W^~y]j¢¢:•Ïðß9ªRßst¶ì,ý÷ §AèÖ²>ðýþ5#×Èå÷¹åƒ¥g–ÂÃÑ¿øj*üY@Dô:III··7"""ä‚PRR‚Gaþüù˜2e ÔÕ«Ÿ‡^/üæ'""¥1–Ý^x'ùl md¶…= ƒD"™®YY^²¼÷Rî¡…n ¹¼/2×3,õX ‡æÿÅmDZJD%rþ…%—•_^€þXR¦úžCàEöÆeë6'å&Ém[°¿]ú C‡â×·…ª ê¥§ˆˆèÕrûömx{{#//¥¥¥•æ‰D°´´d0 ‰b@€ˆˆ”¦·]o캵 ¿\øŽ&Žp2q$æ$bÉ©%Ò<ð¦Ý›ð ñÁ ÿ°7¶—>ëþ õ~½(?© §“'vïÀ?÷þÁÊá+e&ÊID8q"±HfŸô§éX~v9 X U H$lÞŽ ø ´4h)S†Ž¦r –ˆëí¶ùú˜Càî“»¸—r#\F ™Z3izZ~¾;ûÈP$ ~ðÿÝø #\Fàç¡?3@Dôš9rä¾øâ ˆÅbé‚•QQQŸŸü’jG DD¤4ýìû¡»MwÆâí¿Þ†­¡-ÔUÕ•…Q Z7o1íÇHóv²ì„Ä Ú2vÆv‰EˆÍŠ…“‰RòSdÊîjÝc;Œ…o¨/úoêkk4×iŽÜÂ\$ä$ ¨´3»ÏÄPç¡Ò}ìíáwÇGÃÂÖÐÉyÉHËOÌï;_¦ü¶fmˆ¾ûÂRß°xàbØÙ)­êcÔüT|}âk,9µ–ú–0Ò6BNab3c!–ˆ¡£¡ïnÞÒü§"Ná¯A  )7 ^{¼äÊœì6ƒœ¸æ4Ñ«G‚Õ«WcíÚµ5ºóM$áòåËHKKƒ‰‰ÉK¨#5&œ9ˆˆˆ”F `óèÍeƒ~IÙ$R@$ÁÃÑ»&ì’^ÅVUQÅ–1[ÐÏ¡JÅ¥ˆH‹@TFzÚôÄC~¬°üï}…o-„©ÐñÙñI ATFÄ1†´‚am‡ÉäoeÔ kF®ª@w’ï -? ºšºøaðÒfˆLÞ}ÀDh‚¤Ü$܈¿ ø äÖüj~CioÞSݦB¨)D\VBC èkß¾^¾ÒG€çó&H$i;_ü/97¹¡šCDD *,Ì0X PUU…ššÔÔÔ ¡¡Qéêêê‹Å8zôhC7€@RßLQ­¥¤¤ ??¿FybÞ<3DFFUŸYÉnÄ߀PSgSù+ßO‹Ÿ":#bˆac`SåÚö)ù)HÊI‚™®,ô,PTZ„ÛI·a¦kVá²y‰qÙqÈ|– #m#XêYÊÌPTZ—•.Ðz6Þ„Q ¥?‚X"†£‰#4T5äÊÊ=ˆLDna.Ä1œM!ÔâFü jÂÑÄQ&¿X"Æø0Ò6Bëæ­kØkõC,#)7 )y)ÐV׆­‘-´Ôµäò¥?M—[áE6†6ró:Qã%‰ðÉ'[pâD† +€P(”nSQQ®®®ôµ@ y]¾ÝÒÒo¾ùæK­7ÕP(„™™Yõ+Á€Q#ôª«DDD¯;þhšêà#DDDDDDDMDDDDDDDMW "¢×Žºª:|&øÀP˰¡«BDDDÔh1 @DD¯ ºµìÖÐÕ """jÔøÈQÄ€QÄ€QÄ€QÄ€QÄ€QÄ€QÄ€)Ìu•+&øLPz¹ 9 pXá€oO«ô²k«¨´+0ëÀ¬F]¦25öú@na.ކŧÿ~ŠÎ¿w†Ã ürá—j÷ Š ¿p_í×U®ó÷¾{"±è%Ôšˆˆ¨qQkè 5N?;¡[Ënøû½¿º*uö:µ¥2‹O-ƱðcµÚgËõ-øéüO2i·“nãvÒmXXÁÍÊM™U$""jô ""……}ÖÐU &J¿™>†9C‡þ((-À×'¾®2ÿÕØ«øéüOP¨bÞ›ó0ªÝ(4×iŽÈôHlÞ5þ$""¢¦‡ß~DDDôÊYæ¹Lúï“OV›ÿ׋¿¾ð5&w™,Mw6sÆOCªl7""¢×DD¤0×U®pmáŠÝwˤ¾{»níBDZÄ1ìŒí0¦ýLê< *‚çÓ׈%bl Ú†½·÷"17-t[`B§ Üfp¥Ç ŠÂÖë[q+ñò‹òÑB·<<ñÑA¨)Pö ¼ËJ h=‹,Â÷ç¾G`\ Dbܬݰ Ï8›9‚‚ñÞ®÷±pXá =–Ït´è(}šŸŠÎý€Ë1—Q,*F'ËNøªßWÒ²‘“PeýÊÅfÅÂç–®Æ^Åã¬ÇPUQ…£‰#ÆwQ®£jÔ–n-»nÄßÀ¶Ûp+áòŠò`m` G|Ðíè7Ó—9n}´ùeKÎMFhr(Œµ1±óĆ®Q£Á€)ÕŠó+°õúV™´û)÷±ìÌ2„$†à··“¦/9½{BöH_ÇgÇã§ó?áÞ“{–½'d¾9ý $‰4-!'ý‰€Øì÷Ú-u-鶜ŒÛ9)ù)Ò´KÑ—Œ}“öÕjP›[˜‹q»Æ!>;^š¯½^83ã µ k\–"õ›á7ÑÑ2û‡$† $1©ù©˜Õ£fî¼¹ËÎ.“éèŒ(l¼¶ŸõþL©mž¼w2bjT78å} öÆö5Î_÷RÊΧž¶=žŽïÏ};Éw £¡ƒî-»ãã7?Vú1‰ˆˆ^\e€ˆˆ”æ^Ê=l½¾ÍÔšaÉÀ%¸6÷‚?ƪá«` e€#÷à죳€;Éw°'d„šBü4ô'ŒÀñ­Ç·8óèŒ\ÙñÙñXzf)ô4õðãàqmî5Ü_p'?8‰Ám#<5;‚wÈìs#þÌõÌq`ò„}†SÞ§0Èiž•<ÃÒ3KnVnˆü_$TUTÑÓ¶'"ÿ)ý¯üŠ:Pvg‚¹®9N9ˆ°ÏÃpvæYô´í‰ì‚lüsï…ú«&õ+ç`쀇üˆ33Î |A8B> Áž‰{кykl Ü‘DTm[b2cðݹï "PÁŒî3pfÆÜ§¼Oáó>ŸÃ@Ë@æ˜õÑæ†ù, ‹0ÞgÂeTÿÇÞÇUUíÿ3‡IPAAq@C3‡R1‡45-3‡ÊFë[š¥Yyoåý5XÞ¼·kY©©•6ieefff™s8™³( ¢ *“Êáüþ vž@= Èô~>=’½×^ë³ÎÙe}öZk;ñÔ7O±l÷2z6éÉŠ½+øG·0(jQöÞëî%=')k¦ØÕýõ_“—ŸÇÄ>í–DDðÖmo±åÈVî[i÷¤ÜÓÅ“YƒgQÛ³6k7æ­oÑov?¶ÙBê™T¼꛿‡?ï ~ÏX–æÆ =_ ï}Ù“²§$S©â›póflœÁÌ39–qŒsÖsvuM?J¿—loÉÎ%Xó­Œê4Ên&@ãÚy¬ãcåÒçÊð¦ƒ|[>Ë÷.§cÃŽ<ßýyÂk‡“x:‘ÿüüÖ\ÃÄU™7l^G*""ru)! ""e&þT<="z9Wx,át‚Ýÿ»„w)RöÆð‹$ö§î`ì7cûÍXcÊ» ›ñg&»kZµ0Û…œœéذ#q'ãH8àpB epKc`\(Ô/€¬Ü,‡êø;GãKÏIçŽOîàXƱ‹Ö•s>ç²íÅŒ o³‹ïÑp¡òèsEðvóÀÝÙé§?7­Ó”é§ÓåÝ.l>¼™ìóÙvKNDDDª;%DD¤Ì™L¦Ë*¡Â§¼Ö|ëEËüý©ùå”$Nwg÷¢×Söý´«ÿÏøíXıŒcÜÜôfFG¦¡C<œ=0™L¼°â»}JRïå”EŸ+ÃáµÂ‚dFa2 ‡‹ ý²ýØvNgŸVB@DDj%DD¤Ì„Õ àç?Ó$ ‰Ý¹Õq«hèßÐîÿk­åž6ö;¿¯9´¦HÝ…ƒÄïú˜ÎaŠgWò.Nž=i÷>/? ì¦Ø›0‘gÍs¨Þ²âh|‰§x¦ë3vƒåsÖslJØT¤Þ‹õ¥ðÚå{–Ó<°yÙu¤’kØ ??§&37Ó.)}>›„´ÌNæRm )""R•)! ""e¦oó¾ÌÜ8“©ë§âåæE尿q1»°æà^YYðÞø[šß@ïf½™µiÿ[ý?Üݹ)â&¬6+Ë÷,çÝ ï©{`Ô@fnœÉÓß<͸®ãˆ6¦ÓÇŸŽgÙîeY‚ìö8{þ,#Žà…ž/дNS’2’˜²f q'ãhÒÎn¹€Ÿ‡ûS÷“˜–HˆoˆÝëË‹£ñÕó©Àû¿¾ÏØ.c b=±Ÿ)k§pèÔ¡"õ^¬/Z(؇àÏM·L°w0IéIü°ï\]y¨ýCeÚÇʰ‡€Ùdfp«Á|ðë<þÕãŒï1ž°ZaÆiÙiD‡Gkv€ˆˆÔ8JˆˆH™iÔ’‡;<Ìì˜Ù¼´â%^Zñ’Ýùþ‘ýéÕ´­ê¶âî6wóyìç<»ìÙ"å¾Ýý­Ý±0ÿ0^íó*/¬xç—?_lû#na÷sûÐö$œN`Ð'ƒìŽ{ºxòR/ûØnhpßîþ–3ÿÚÿ`Þ°y\[ïZz^:ŽÆwk‹[™¾a: _ÈÂßÇ-nz5íÅÊ}öoe¸X_®op=ã{Œg⪉ÌÜ8“™gÚ]7ªÓ¨²ì^¹úrû—Œ_>ÞîØ¬M³˜µiP°9åË7¿lœ{¢Ó¬9¸† ñè?§¿Ýu~~¼ØóÅrYDD¤²ÑkED¤L=ßãyþ×ÿ´®Ûܜ݈ Šä…ž/ðæmoÚ•póžëþaþa¸˜]ñ a\×qŒë6®Øº‡¶Ê‚ûÐ?²?–@œœ ´Ò!´nžPd§|_w_¾¸÷ zDôÀâfÁÓÅ“.á]˜ß|"ƒ"íÊþë¦ѧYü<üÊe„â8_]ŸºÌ½{.74¼‹›wºGtgÁ} Š}³À¥úò@»øä®OèÑ??ܜ݈ˆàñNóp‡‡Ë½ÏÅâfá‹{¾`xûáÔõ©‹³“3u,uxÍ@¾~ðkÕnTÑ!Šˆˆ\u&[áÖÌ""Ri$''“•åØ.îß}ga̘ ˆ+稪ŽÜ¼\ZNnIÏ&=™9hæå/©âôû@Íd±X *õõš! """"""Ri‘2ÒfJ2s3/YÆÛ͛اb¯RD""""§"""""""5fˆˆHµãæìÆç\õvõä_DDDªÍ©”©”©”©”©”©”©œ+:©ºflœA %AQƒÊ´ÞŒœ >Úò­ê¶¢[ãneZwIYmV¦¯ŸN£ÚèÙ¿ÒÖY–*{|•AyÝûUÅ¡S‡øåà/dädÐ6¤-Ã:_öšÉ;‰=KÎùš6£SÃN˜ÌW!Z¹%DD¤ÔÞÝð.QÁQeŸÈÍàuïpïu÷^µ„ÀÔuS ñ aà5íŽçYóxgÝ;ôlÒ³ÌÇåQç….ÖG•w|ÕÁ•ÞûWúU”/·É1pðäAãØˆF\2!’•ÂÓKŸfSÂ&»ãáµÂùðÎ ñ )·xEDäÒ´d@DDJmT§Q jU=žNÛ0¯þøª¢Ã(Õ©/ÕUUýŽÖǯçàɃ„ù‡94+à̹3 ›7ŒM ›ð÷ðgHë!Œì8’^M{‘x:‘ã™Ç¯BÔ""r1š! ""¥öXÇÇ*:¹Šîl}'OF?I£Úø~ï÷¬_Éòo¯}›øÓñ´®Ûšïüwã\bZ"îÎî岈ˆ\‚""Rj[GmµYÙ¿}'öaÍ·Ò8 1ÑaѸ9»©ã̹3¬Ú¿Š¤Œ$‚½ƒéÕ´×eÛýãøÄ%ë\A– º6îJmÏÚví_¸~wÊn6%l"ß–O»Ðv´®ÛÚ(›”‘ÄÂß’oË'ñt"ï¬{Ç8wGÔÔñªc×vÜÉ8ÖZÇ9ë9ÚÔoC»v^s©ø.têì)bÇx:g³3MšÒ1¬#f“Ù¡¾\85{wòn¶ÝFfn& üЩa'ü<üŠm·¬ûìHÛŽÜCE¾çäÝlJÜ„“ɉn»Ñп!6›õñëÙ²‹«…ÞÍzS˳ÖÅëqðû¸˜KÝŸ%ùŽ.wŸW„Na.{ÎzŽ¿/Àd21ùÖÉvÉ€~ Ê:<)!%DD¤ÔŠ[G} õ-~ŒC§Ù• ²1uàT®«qlDZ<ºèQNd0ŽÕ±ÔabŸ‰Å¶—z&•§¾yŠ íŽ{¸xðR¯—Üj0`¿~OÊfnœiW~@˼ÞÿuÌ&3IIÆ ìHú»Úõ ®·KÌÚ4‹É¿LÆf³dž¶Êk}_»ôu “™|Éø ½úã«|û9ç¬çìʆù‡ñþ÷ ¯~Ù¾„ø†p"ëÏ|û â7ØÕãåêÅûý—>ÍúØ/Ë>;Ú¶£÷Ð…ßóÔL[?Í(ûÚª×xûö·éÖ™ Gs8Æ8÷Æš7˜ï|×n\¤žËÝ/—âÈýéÈwäè}~)_ýñ‡Ó_¶\¡ûÚÞ‡¿‡¿Ãå±óøN2s3¹®þu„× gSÂ&¶ÛŽÅÍÂõ¡×Q¦í‰ˆHÉ)! ""e&û|6/x˜£éG©çS®»ââäÂúøõČ㑰üÿ–h ä̹3ŒX4‚Y'¯Ntx4Ö|+¿ü…ç¿{¾HÝÖ|+,|„ÇvâB—F]ðu÷%át?îÿ‘ñËÇÁµõ®5®Ùvt?îÿ‘®ºÒ¤NŽecÅÞ,Ù¹„0ÿ0FG¦žO=ÆDaêú©Ô÷©ÏQw××÷­oüù·¤ßøéÀOu4!9+™ïvÇ—Û¿¤dÿ=9-I|…ÖZK %6õÛPß·>¹y¹Æ“ì.û' î[pÙ¾äåçñЂ‡Ø¼/W/zDô ®O]ަe}üzv%ï²K”eŸm»$÷P¡Ø£±ütà'z6éI£ÚØwb«ãVóâŠéÚ])»Üj0~~¬;´Ž=){xã—7x÷ŽwKý}ü£÷çå¾£ÒÜçÅùꯊ$^.¥_d¿2O$œN epKÆ.Ë·»¿µ;?´õP^íýªÞ4 "R”‘2³t×Rަåºú×ññ]ãáâ Ç.Ë÷{¿ç³ØÏÛ¥`p’•B—ð.¼7ø=\Ì.@ARá¾ÏïãÔÙSvuÿ°ïvÛÁ­-nerÿÉvƒˆÇv0ø“Á|¸ùCÞð¶qüÔÙS¼Þïu»A×öcÛúÉP>Üò!£:2hÓ7L§ÆD±k77/€“gO2ãŽôlÒÓ8×%¼ ÿøö¬Ž[]ª„€#ñ>•žpóÕnĦ„MË8†«Ù•¡H=“JìÑXNgŸ¾l_–ì\ÂîäÝ4 hÂÜasí¦ŸŸ9w†Ä´D»òeÙçe»—9ÔvIî!ãsÌ>ÅC> k£®Æ±ñËÇóåö/Ùrd +YA%€ó7žçæ÷oæç¸Ÿ±Ùl˜L¦R}W’ûóRßÑò=ËK|Ÿgà5K´´ãÂ%eåìù³¬Ú¿Šã™ÇéÕ´áµÂI<ÈÊý+ùrû—Ôõ®{ÉD‹ˆˆ”/%DD¤Ìl;º €'»ûFµ9_YöÙѶKr ö.R¶0™p©sÙç³íŽ_ÉýRšû³<ë© {&bB|Cì’ÑáÑ4 h¾ûŠ$fDDäêQB@DDÊŒ¯»/Pð:±¿ê§Æf³»É–=’~¤È` ¸Œ¯GAù{ÚÜCm¯âwZÿû+ÌŽ¤)¶\aý>n>Åž¿Zï縟˜6p="zؕݲÛáöüÜ >ûƒ'^õÞm»$÷PY»’û¥4÷gyÖSöhØü’Oþ g?˜Ð쑊¢„€ˆˆ”™ëê_ÇÂß2u]ÁNð…Ob­6+oþò&mCÚ” ¹ŽE;1uÝÔ"{Lß0½HÝtdÁöXmVžèüN&'»ó'²Np,ó˜Ý±øÓñ,Þ±¸Èšð•ûVâãîC“:MŒã®f×"OžË›£ñª,n»ë7%lâ§ý?©÷b}騰# ~_ÀÿVÿÖõZÛ ×ñÿ}Ù@Yq´í’ÜCe­$÷K‘þ•ðþ¼èwTŠû¼8•a¯ÚÔkö£ÛXu`U‘%N À+€¯€2o[DD£„€ˆˆ”™[[ÜÊô ÓÙrd }>èC×F]q1ì õ¾î¾ k3 €þ‘ýy{íÛ¬=´–[fßBtx4ù¶|VÇ­.2• _‹~|´å#¾øí ÖZK§°NÔö¬MFNñ§ã‰IŒááÓªn+ãšZžµøç²²l÷2šÖiJRF+ö®Àj³2¼Ýp» âÂj…±+yÏ,}†P¿PœLNÜu‡ÝkËš£ñµ©×€ GЧYü=ýÙŸºŸ_â~¡–g-RϤÚÕ{±¾Üy ïýú{RöÐ}fwzDô Ø;˜¤ô$ÖůcX›aå–p´í’ÜCe­$÷Ëß•ôþ¼ØwTšû¼8嵇ÀÎä¬Ú¿ €ý©ûØrd‹ñúÄVu[ûLŒí2–æ?Àc‹£g“ž„Õ 36´Ùl åFueWvx»á<ûݳ,Ù¹Ä8v}ƒëË5!àh|½›õæÖ·²t×RüþW¿‡´‚·«7s6Ïq¨/!¾!Ì:‡±KÆs8†ov~cœ·¸YhÔ¢<º l èHÛ%¹‡ÊZIî—¿+éýy©ï¨¤÷ùÕ´óøNcð_hë‘­ÆF÷^w¯]B SX'&ö™È++_á‡}?ÇLN o?œ‡Ú?tUâ‘â)! ""¥6ªÓ¨"ƒ³ˆ€¾ä{ÖZϾû°Ú¬4ªÕˆÝhì:^(ªn?>ú#«ö¯")#‰ ï z6é‰ÍfcLô˜"Þüq'ãØrd §Îž¢–g-ÂüÃhÒ®Ø÷™ÿÙÊê IDAT£Û?¸%òbcÈ·åÓ6¤m±ïp¿#êZ·ä×Ä_IÏNdžú¾õq6;3&zL±›áž‹ˆ(Ñçvaý#û;ߔۦ0¬Í0þ8þ&“‰¶õÛU7Šu‡Öaq³Ø­7¿X_ `PýÙ=Ÿ±ãØb“bÉ>ŸM¿t ëd¬ß/>;Ú68~]*ÎðZáÅÞCPð¦„ZžµìÚ,äèýRܽ_’ûóRßQiîó«¥epË"¯J¼PqŸ÷­ï¤G㬎[MêÙTüÜýèÞùªïc!""E™l…;ºˆˆH¥‘œœLVV–Ce¿ûΘ1A8WÎQU¹y¹´œÜ’žMz2sÐÌŠG*9Ý/"Rè÷šÉb±tù‚¡"""edæÆ™œ³ž»dW³+#;޼d™ª¤&öYDD¤ºPB@DD¤ŒÌÚ4‹ÌÜÌK–ñvó®VƒãšØg‘êB ©v.µ¶¼<¸a„COË«“êÐ犺_DDD*š""Rí˜MæKn|V^jâSðêÐ犺_DDD*šSE """""""WŸ"""""""5"""""""5"""""""5"""""""5"""""""5"""""""5"""•̉¬ ›7Œ¶|TÑ¡ˆˆˆH5¦„€ˆˆH%“kÍ%æp ñ§â+:©Æ”©”©œ+:©šÎ[ÏóÀÐ.´c¢Ç0ÿ·ùlLØÈéìÓÌ:›-ÿoÜú†qMFN-~ ›ÍÆ[Þ"Ðhœ{~ùóœÉ=Ã;·¿SéúâîìNzN: _HìÑX²Îed ¢w³ÞôˆèaW—5ßÊꃫYwh‰§1;™iZ§)ƒ¢^+¼HÛÛ“¶óåö/9šq”º>u¹³õx\­®‹ˆˆH ¦„€ˆˆ”J¾-Ÿ˜Ã1XÜ, Ÿ?œ syÖ<\]Y°}ÏuŽ:–:lHØÀ¯‰¿°îÐ:€´ì4ý¾ˆþ-ú_¶Ý×V½ÆÇÿp8ÎÉ·N¦žO½+êKlr,.|”ÓÙ§í®[´cCZaRßIƱaŸ cë‘­vå~:ðsbæ0mà4»ÂÂß2~ùxòmùƱÅ;óÌÏ8Ü?‘ÒRB@DD®Èšƒk°¸Y×u‘A‘¸;»ãáâAç°Î,ؾ€õñë¹ýšÛ‚$@K,®Öǯ76’oË':,ú²íí9±‡˜Ã1Ç—}>ûŠúbÍ·2rÑHÒrÒ¸ýšÛéÖ¸¾î¾$¦%òÑæX°}tä¶–·•›Å€–hÚžßròrؼ›¶|Ä„•Œ„@RF/®x‘|[>wDÝAˆXó­,ß³œ7×¼épÌ""""¥¥„€ˆˆ\6>½ëS"ƒ"íŽwëŒÉdbí¡µv è°h,n¾Ûý6›Í(Ð9¼óeÛ{¾ûódäf8ßåf\®/s·ÍåäÙ“Œë:Ž‘GÚ•¿¥ù-t}·+‹ÿXl$æ ›Ç¯‰¿òËÁ_X±wç¬ç°Ùl¸9»q4ý(Ç3ìÌ7;¿áœõÃÛç_7ý˨³_d?þ¹ìŸ,Þ±Øá¸EDDDJC ¹"Íë4/’ ð÷ð§E` ÖZ‡Íf#!-#éGxêÆ§ðvóæÓ­Ÿ²çÄ"#Y¿žˆ€‚,A—m¯¸¶ÊJq}ù-é7Vî[Ɇ„ Øl6  yPøç¸“qXmVžúæ)#ÁQœÌÜL‚½ƒÙ{b/CZ )RfH«!JˆˆˆH¹SB@DD®H°wðEÏuiÔ…™g²çĶيÉd":<wgwœœY{p-næ‚'ç¶{СöÊcBÅõåì¹³l?¶ý¢×¹:»°tçRÖZKCÿ†Ü{ݽ4ôoˆ§‹'&“‰O¶~н+Œ$BN^>î>Eêóu÷u(^‘+¡„€ˆˆ\“ÉtÑsÑaÑÌÜ8“5×{4–æušSÛ³6mê·a}üz<\<€‚%Ž(Ï=ŠëK]ŸºL¸yÅ^çìTðÏiaÒ`ÚÀiDÚÏ4˜²fŠÝÏ^oXØ™¼³H"bÇñÇ,"""RZJˆˆH¹iÒVÇ­fwÊnîisq.:<šw7¼  ¨ohxƒCu–çÅéݬ7où˜%;—0ùÖÉ4ðk`œ³Ú¬¬Ü·k¾??¶Ùf$òòóxwûl9²Å®Þ.º0/vÿùé?4®Ý˜0ÿ0ö¤ìáÍ_´© ˆˆˆ”?%DD¤Ü¸˜]èÚ_þ$ E‡E3eÍÖǯ§Chc¦Àå”çÅéÚ!­‡°`ûzÌìA¨_(^dädp$ý¹y¹Œ¸aý"ûÑ­Q7¦¯ŸÎK?¼Äì˜Ùø{ú*žŒÜ ZµdgòN£Þî»Ó¦~bÆÒçý>4ªÝk¾•øÓñ4«ÓŒä¬ä«ÚO©yœ*:¹2fsÁšt«µ‚¹ˆÂ$€‡‹mCÚÇ£êFOÔ/LTFÿîóoÆß4ž@K ‡Ó{4–¸“qäÛò¹¥ù-ôoÑ€ÖõZóR¯—ðpñ 1-‘íIÛ1™Lü÷–ÿ™av2óþà÷éѼü<öØGÜÉ8:5ìĤ[&UD7ED¤ ³Zÿú@ÄQ&[áîF""Ri$''“••åPÙ <¸ÿþzlÙr?¿ürŽì/ù¶|6ÞŒ¿‡?Më4½h¹ôœtö¤ìÁÓÅ“¨ºQvçv%ï"37“¦ušâïá_Þ!_”£})|[©³§¨åY‹ú>õq1»)—}>›C§aÂDD@.fÓ9–qŒVu[™ ‘œ•LRzAÞAÔó©Gn^.¿%ýFw±”@DDäRæÍóaÊ”ZlÙ_Ñ¡ÈUd±X ºü[š.F ‘J¨$ Ç]èÞ½ åÚksÊ92©Œþýï¶msgÑ¢#Š\EWšÐ’‘*.$ä<¾¾ùÄÆºWt("""RA~ûÍÈÈÜŠCª%DDª8“ ºt9˪UžŠˆˆˆT€'ÌlßîÎ7ž­èP¤ŠQB@D¤¸õÖ,~ýÕƒ„„¢ëÙEDD¤z[´ÈŸ|%¤Ä”©ºu;CƒçyûíZŠˆˆˆ\EééNÌ™ãËwfàî®íá¤d”©Ìf?þ$K—ZؼÙãòˆˆˆHµðÎ;µ0™`äÈÓŠTAJˆˆT7Ýt†èè³¼òJmrsMŽˆˆˆ”³;ݘ;ׇqãNáí}õ^=,Õ‡""ÕÈË/§’”äÂsÏ¢—ÊŠˆˆT_))ÎŒÌ 7ä0hPFE‡#U”""ÕHÆç™:õ8Ë—{1uªö©Ž²³1"//S§ÇI£:)%Ý:""ÕL§NÙL˜ÊÔ©þ¼öZm¬ÖŠŽHDDDÊJJŠ3ÆÕãèQgÞÿ>>Z* ¥ç\шˆHÙ»óÎ <=óyî¹@âã]xóÍ,ý ""R•íÜéfÌ X¸ð( œ¯è¤ŠÓ ‘jêÖ[³˜;7‰ßwçæ›°x±·ö©‚ÒÓxõÕ>çY°àˆ’R&L6›~=©l’““ÉÊÊ*“ºÒÒœ˜2¥_|áË5×äòðÃiôêuýõ/""R™8afÑ"æÌñÅd‚qãN1hP†ö ƒÅb!((¨Ô×+! "R •eB Ðž=®¼õV-~þÙ w÷|:v̦E‹\êÖµj9ˆˆH%`µBzº™øxgbcÝùýww||ò¹óÎ FŽ<­W JJˆˆTCå‘(tü¸3«Vy±q£{ö¸’šj&+KDª¶­À{À¬ŠDD®€“øøäzž–-s¹ñƳtíz77 Ù¤xJˆˆTC噑êç»ï¾c̘18p ¢C‘«èJz$$""""""R)! """"""R)! """"""R)! """"""R)! """"""R)! """"""R)! """"""R)! """"""R)! """"""R9Wt""R”››[E‡ "Uˆ»»;‹¥‚#‘«éJgTB@D¤òóó«èD¤ ñõõ ((¨‚#‘ªDKDDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj %DDDDDDDj “Íf³Ut""""â˜cÇŽñä“OÚ;}ú4¤mÛ¶vÇÃÂÂxýõׯfx""R…8Wt""""⸺uë²yófâã㋜;xð ÝÏãÇ¿JQ‰ˆHU¤%""""UÌ<€‹‹ËeËÝ}÷ÝW!©ª´d@D¤JKK#77·¢Ã‘J*..ŽÎ;_²L“&MX»víUŠHDD*‚››~~~¥¾^KDD*¡ÜÜ\²²²*: ©¤‚‚‚hÖ¬ûöí£¸g;ÎÎÎ 0@ˆˆÈ%iÉ€ˆˆˆH4pà@Ìfs±ç¬V+ýû÷¿Ê‰ˆHU£„€ˆˆˆHtÛm·aµZ‹7™L´jÕŠ ˆJDDª%DDDDª ÀÀ@Ú´iƒ““ý¯sNNN 8°‚¢‘ªD ‘*êöÛoÇd2Ù³ÙlôéÓ§‚"‘ªD ‘*ê–[n±ûÙÉɉŽ;PA‰ˆHU¢„€ˆˆˆHåççGçÎí6¼ýöÛ+0"©J”©Â `¼zÐl6Ó³gÏ ŽHDDª %DDDDª°^½záìì @÷îÝñöö®àˆDD¤ªPB@DDD¤ óôô4fh¹€ˆˆ”„ÉV8ÇLDD*ääd²²²Ê¥îãÇYµÊ‹=ؽەÔT3gÎ(?,Rµ-î’÷ ŽEDJËÉ ||ò =OË–¹tér–®]Ïâî®!›Ïb±TêëË0©Äöìqå­·jñóÏ^¸»çÓ±c6·ßžIp°‹%¿¢Ã‘+`µ¶å›oîaàÀt ½¢Ã‘RÊχ´4'\ˆugÁ,–|îº+ƒ‘#Oãí­¯¥li†€ˆH%T–3ÒÒœ˜2¥_|áË5×äòÿ—FÏžgpqÑ_ÿ"ÕIvv6†ˆ”¡ÔT3 ú0gŽ/&ŒwŠAƒ2pÒÄ>ùÓ•ÎPB@D¤*«„@l¬;=Œ“Œw’31™Ê @¹jÒÓxçZÌëCÇŽ9¼óÎq||4[@®ðcôèS¸»ëy¯8NóJDDª¥K-ÜpC6 ž¯èPD*­óçÏcüW’Y8Rµ9'%Ù%²;uâø{ï‘2y2yÁÁ8edPçÅ+2L‘R<8ƒÌL'Ö¬ñ¬èP¤ŠÑ ‘*Îfƒµk=yâ ½U@ gÏž4nÜggýª#àrô¨ÝÌ€/¿ÌùF0Ÿ:Eí×^+(wäH…Ä'r¥¬´j•Ú5žÜ|ó™ŠGªý+)"RÅ>ìBzº×]—[Ñ¡ˆ\Ôþýûy饗puueöìÙ˜Íf&OžÌ¶mÛ?~<×\s ?üð}ô¼òÊ+Åî°víZ¾þúkRRRxòÉ'IOO/Rfâĉlß¾Ý.¦_|‹Å@tt´Ýr‚dztéRvíÚEff&ÞÞÞDEE1hÐ JÔ÷âbÞ´i‹-"55•† r÷ÝwÓ¬Y3»ëvìØÁòåË9xð ÙÙÙN—.]ˆŠŠ`öìÙ¬Zµ €ë®»ŽqãÆÙÕñã?2gÎjժŴiÓŠ'66–ùó瓚šJhh(C‡%22²H_Ž?ηß~ËÎ;9}ú4µkצuëÖ <OOO>ýôS–/_@‹-øÿïÿÙ]¿nÝ:Þ}÷] `ÝëŒ3ŒûàïœÎœ!ðé§qÊÌ sÐ 2 2μú*®»wÛ²%'ÿõ¯‹~¹Mšïå…Ó™‚’ÛîÝFBÀu×.£\NÛ¶­C¤²»öÚ¶nõ¨è0¤ŠQB@D¤Š;|¸à¯r-ʬaÃ†ìØ±ƒììlvíÚETT6›ùóçsúôi~ùå#!ðÝwß{€ÿ¾?ÀŒ3xã7Œvî¿ÿ~Nœ8Qd]»vkÓ® ‚uëÖ5þ‘X»v-Ÿþ9o¾ù&ýúõ`Þ¼yFåïÞ|óM Ào¼A»ví˜4i±±± >œÚµkeçÍ›g´ýÐCϼyó˜0aù¼Èü³Ï>cΜ9tîÜÙ8öÞ{ïñæ›o’——gÏ’%K˜:u*›7o¦uëÖL˜0€­[·2bÄêÔ©c”;w®ÑöÝwß}Ñd@¾—™üĸÿþ;¹­[s."Ÿùóñýøã‚r>>œxýõ‹ÖïçGòôéÔyî9œ'è©§ð{ï=œ23qIL »}{RþóŸKÖ#R™……端¼+: ©b´‡€ˆH—•UðW¹·wþeJŠTWWWÚ_°YÛ¦M›Ø»w¯‘ ¸ðøßÿÜ¥K—"ufff2sæLžzê)>üðCæÍ›G»víŠmÿ…^`úôévÇ&L˜À¼yó˜7ož1;`Þ¼y¼õÖ[X­V\\\3f |ð?þ8NNNdgg3vìXvîÜYŠO¡ æ>ø€×^{iÓ¦qíµ×`µZyî¹ç8v¬`cÐwÞyǸfìØ±|ôÑGL™2…'Ÿ|’ÈÈHã3kݺ5×]wP°G‚ ŒëN:ņ ŒŸï¼óÎbãyçw˜0ao½õõë×7âyóÍ7r_|ñ¯¿þº‘ èСÿûßÿ˜9s&cÆŒÁËË €V­Z «ÕÊ’%KŒ:NŸ>ÍêÕ«Ÿ‡ vÙÏëLŸ>¤€)'‡ §žÂm÷n&N,(`2‘$„ôáÃýDª"Ÿ|235¼“’Ñ ‘*Îj5`6kWa©Üºtéš5k€‚Áþ#ȹsçìê¶P_ó믿Ntt47Üp]ºt!;;›ììl.\ÈèÑ£9{ö,P°€ 5ê=z4'Oþõj±‡zÈXrñùçŸóè£âääIJeËŒYíÚµ3öUø{<“&M¢GdeeÓü÷îÝKáÛ©§Nj\Ó¶m[æÍ›‡ÉTðwOÏž=ù¿ÿû?ãü°aÃ?~<‹-2Î-Y²ÄH(´iÓ¦Ø% Å9ù쳸mߎû¶m¸îÞMýÁƒ1å,‘:=r$gÿŒý’¬Vê=ø î›7ÉôÄ)#ƒZS¦àräÁ£FqjÜ8NéP\"•Ùü×ï"ŽRB@DDD®ŠÂA0ÀæÍ›±Z­FBà®»îâ“O>!--ß~ûÝ® hß¾=nnnEêsrr¢W¯^e_RRÉÉÉÆÏ?üðƒÝ,…¤¤$ãÏ[·n5þS$!РAƒbÛprr¢cÇŽÆÏ~~~DFFú™ÑÑѬ\¹’¼¼<ºwïN`` aaa4mÚ”N:qÓM7uôêÕ‹Ž9ÂÑ£GY½z5=zô`éÒ¥F™âf˜Ífºvíjü|árƒœœrrr8}ú´Ýç2hÐ #PÈÓó¯Ío½õV&MšDff&û÷ïgÇŽDEE±xñb£Œ#³ ÙœIž:•[oÅ|ꔑ ÈîØ‘ScÇ:T‡åûïd€ÍÃã3g’ïë ,9~üqüßy‡Œ»îÂzÁë*EDª3Í)‘«¢I“&pöìY¶oßÎæ?i;v¤C‡@Áì7×]˜H¸...e_NNŽÝÏ{öì±{Má‘ v OOO/UnnnEÖÍN·¿0†I“&qûí·ãáQ°AXJJ 111Ì;—Q£Fqß}÷OÛÍf3<ð€QǼyó8zô¨±g‚··7}ûö-6ooo»xþ›Íf3ö}(äããsÉ>zxx0pà@ãçE‹±wï^cÏ???‡fu\ÈZ«yõêÙ;ߨQÁ#Q¸ýñÇ_×5lh$rÿÜŸÀtî®û÷—(6‘ªL3DDDäª‰ŽŽfÑ¢EÌ™3‡ôôt<<<¸öÚk騱#?üðëׯgÿƒ²‹%ÊZpp0f³Ù˜f?vìØb—*@Á“þBü±Ý†|îîîÅ^—͉'ì6ÚKüs;üµ¹¡ŸŸ“'Oæ¿ÿý/ñññ$&&²sçNf̘Ann.111lÚ´Éøl†ÊÛo¿MVVk×®åÝwß5¦û0à¢ñ8âïŸËÎ;/»©â°aÃøä“OøöÛoíÎ 4¨Ø—Rûßÿ¶ÔøÌ›Gvûödõïù .˜ÑPøÖ‚‹ý¬ÅW"R“h†€ˆˆˆ\5îW¬X¬Iwqqá†n ¦ãgddP§Nš7o^&m>m/tâÄ »Ÿ½¼¼ì¦ÏÿüóÏ4iÒ„ë¯¿Þø/<<œ½{÷’––f”kß¾½]™ë¯¿žÖ­[_4ŽiÓ¦ƒõ%K–`œëÖ­o¿ý6111899ѸqcºwïΈ#¾`Ó» ã÷òòbÈ!äçç3þ|ãÜÅ– 8ÊËËˈ  ¿þú«ñó¹sçxÿý÷í®‰ˆˆ0f|¤¥¥ñÙgŸ`2™¸ûî»KÔ¾å›oð;(˜ÞòÙgsuÆÇ%.î²uä\°W„óÑ£xýyïa³áûç«-l®®œkÑ¢Dñ‰ˆTeš! """WMtt4&“ ›Íf Š Mš4¡víÚvæ]øÚ»+e±Xhذ¡1æ™gˆŒŒÄl63jÔ(¢££yñÅùã?HIIaûöíDGGÓ¸qcœœœ8vì§N`ܸq¥Ú¿Àb±°yófºv튗—0εoßÞ¨³ðU~Ô«W___âããöÝÝݹþúëíê~ðÁùä“Oì^—تU+‡7ï»”ÂÏ%99™³gÏrÏ=÷РA, ‡âܹs<òÈ#v× 6ÌxÅ`á ŠÎ;æp»®Pç_ÿ2~>ñÚkdõéƒKB>_|ÓÙ³?þ8G¿úŠ|‹¿ýÌM7‘Ó¦ î.£=šsM›â”™‰óÑ£F¹Ó?NþK8DDª;Í‘«Æßߟ{[˜Š r‹{Ýà•xå•WŒóΞ=ËÖ­[‰‰‰1’!!!,Y²„!C†àááÁ¹sçØ½{7;wîäÔ©S„„„0|øpn¾ùæRµïììÌœ9s¨_¿>û÷ïÇf³a2™èÓ§ï½÷ž±aܸqtïÞ¼¼<âââØ¶m›‘ ¸æšk˜={6õþ¶¦¾~ýúE’W:;຿ùæîºë.cσÄÄDvíÚ…§§'O=õT‘kz÷îm·I!P¢Ù…ƒ}§?÷0ȸûn²þ\ªú œkÖ ø3iðç›.ÊlæØ‡’~ÿýä[,Ÿëž=F2à|h('^}•Ón.("RS˜l…éy©4’““ÉÊÊr¨ìwßY3&ˆ.?mV¤2ˆ‹‹3^)Ê`[Ÿ IDAT¯Ä+ÜÌ®p§üBQQQv;ا¤¤pèÐ! `pݶmÛ"õ_®ŒÕj%..ŽôôtãÉuãÆ‹¼–ÐjµOZZÞÞÞá{ÁftŽúì³ÏxñÅ‚½¶lÙÀáÇIMM%44´HÛ…òòò8vì)))¸ºº‚¿¿ÿEÛÚ°a÷ß?P°óÿÆí6-„K>iiiìÝ»×øùÂï¦Õj%!!´´4j×®MHHH‘2…öïßo$2.VßŘSSq½`9@ε×b»`ïsJ ®ö §Ml®®—¯ØjÅ%!óéÓ`6“LÞK1Dª*ý>P3Y,cÃÞÒÐ’¹ª7nLãÆ‹=BHHÈE¯ $00ð’õ_®ŒÙl¦iÓ¦—Ól6_4βJhhè%Ë8;;;T®Pá[X$—þ|üüüŠÌÒø;³ÙL£FЧI“&•+Ž5 €ì‹$J¬d_æ^(–ÙÌùF8_êÈDDª%DDDDª°´´4FEzzºñtßÓÓ“Q£FUpd""RÙ)! """R…?ÞØ¼ ^øúë¯_ÑR©”)G={ö4–8;—ý¯^~~~Ì›7“É„¿¿?áááåÒŽˆˆT?ú×BDDD¤9²ïÁ•pqq¹ìº‘â赃"""""""5"""""""5"""""""5"""""""5"""""""5"""""""5"""""""5""RjQQß0lØÚŠ£LT§¾§º÷ODDDJN ‘ȹ¢‘ªkÇŽÛ*:„2SúRœêÞ?)9Í©”‘R»Øºô¯¿>ÌàÁ«iÕꮹæn»í'>ù$Žü|[‘²11©<úè&Úµ[Fóæ_Ó­ÛLš´ƒ¬¬<£Ln®•ˆˆ¯9r))9Œ»™¶m—µ”ûï_ÇîÝéEêÍÏ·ñþûûéÙs%‘‘KèÞ}|°Ÿ#GÎñ/¿¼ý’})M›Žö§"\ªGžå±Ç6Ѧͷ´k·ŒgŸÝÆ™3ñ®[—Â!¿µ”Ž—3eÊ®Rޏ0®#GþŠ«U«oxè¡ Å~î?ÿ|œûï_Ç 7|Ç5×|CïÞ?2qâï$'çGÛ¶ËèÛwU±m¦¤äЬÙ×<òÈÆ"1”ä»ß¼9•ÇÛÄõ×G‹KèÝûGÞxc'ééçÈζҺõRú÷ÿ©ØkOžÌ¥yó¯yðÁõ%ú¼DDD®„– ˆˆH™úÏþàƒöÛÛµ+W^ùØØSL™ÒÞ8þùç‡xñÅß°]0¾kÛ°á÷Ý·Ž•+{áïïjé¥í|þù!ãçÇÏòŸÿüÁÎi%êOIÚ,iŠsÿýëØ°á„Ãñ­XѓƽïÐߤ§Ÿã®»ÖpìX¶qlÑ¢ÒÒr¹óÎ0{ìW¬Ö‚egç1}ú^jÕrãåË¢ßEã*øÜ õkÖ$³eK*óçw%2Ò(Hä ÅÅe—Éñã9L›Ög†mÈûïï'&&•ìÊñEƒ¸¸LfÌÈÄd2ñôÓ-èׯ>_~™Àާ‰Šò·kkñâDòòl V¢ÏIDDäJh†€ˆˆ”™;Óøàƒý¸»›yé¥ÖlÜØ—-[úñÆíðóseéÒ#üøã1 `€>aÂv||\™4© 7öe×®|ÿ}Oúö­ÏîÝé|üñA»úcbR©[דŋ»±cÇ­üøc/:uªCZÚ9–,9l”Û¾ýŸ~‹Å™ÿþ÷:¶léǦM·ðÊ+ײrå±õÉÑ6KÓŸÊ`óæ“4jäÍÒ¥=øãÛX¼¸!!ž¬Zuœüc>ؘ5kzóûï·ñÖ[í1›MÌž}À¸¾¼ú½ys*uëz°hQWvì¸+zÒ§O}Ξµ2aÂ_³; ï§§ŸnÁÆ}Ù½{+Wöâå—[S·®‡QîÞ{a6›˜;×>«ÕÆ_""›èè@»sŽ~÷‡e1qâï89™xôѦ¬\Ù‹?þ(ˆù™gZâçW8¸óÎp,H(Òß… ðós¥W¯º%þ¬DDDJK3DD¤Ì,_žÀO4ã¾ûÇ ÅÉÉÄSOmfÙ²#ôìY—¯¿.x":qâµôí[ß(áÍ[oµgË–“¬\™ÄÈ‘Msþþ®¼÷^G,–‚¾ÂÂ,¼ðB+úö]Åž=Mã^±¢`ø\àA ãÆ…“ž~ž7ÞØépŸm³4ý)Î'ŸD;[Y¨UË3nÀÓÓ @«Vþ<üp&LØNÛ¶µxþù(£lÿþ!,Yr˜Ÿ>Nv¶s™õûï<=ÍÌšÕ‘ÚµÝhܸ ¾~ý2زå$©©¹¸\0è0 ”:uÜ·n±«¯~}Ozö¬Ë?$‘’’C``AÙ•+‘’’ÃO4/ƒ£ßý’%‡±ZmŒÕŒ§ŸnaoÜØ›ÇûköFëÖþ4kæÃÒ¥G?> w÷‚Ï|ëÖ“ÄÅe2|x..zV#""W""Rfâã3èÑ£èSÎ=‚HH8ÀþýŒ»™±c7S­m6›ñg“ɾޖ-ýŒÁY¡ÐP/²²ÎÇ ÚèÒÅþ‰oá±’$m³4ý© Z¶ô5’…ê×÷(2µ ^½‚xjj.¡¡žåÖï-üŒd@!gg;Ö!..“„„,Ü><‚˜˜Túõ[E×®Á\s×\ãG»vµ‹ ®x 1+V$1~<£G$>ý4__W -ƒ£ß}\\Á}aBäb† câÄßùþû$n¿½ ÍÂC‡6¼Ô¥"""eN )sŽ 7¦+\Ÿ^œsçòí~.|¢Z|[E5ˆÍvñöŠãh›¥éOq®önnEû¶‹ž+üL û[Vý.©Â8,g>ý4š}û2øõ×TöìIgáÂNÊåå—[Ó¯_ˆqM‡DFúòŇ5ªññYüúk*<Ò¤Ø=J~¿]>îÛoåõ×ÿàË/ã¹ýöPΜÉcÙ²#\{­?Mšø8Ôw‘²¢„€ˆˆ”™°°‚éÏ?/2¸Y½ú8 }o™ö¹PYõçjï!p¥Êë{<{Öʈyá…V4mêCRR6S¦ì"..“víjP(xþùm{pÓMuiØÐ 'öîÍ`ÿþLΟÏ'99Ç.!pÛm¡¼þúNfÏÞϾ}ôìY×X"QZ„2cÆ^fÎ܇Õjcðà†{”t–~8†««=a”:4Œo¿=ÂÂ…‰lܘ‚‡‡™þýC.Ñ‚ˆˆHùPB@DDÊLË–~<üp³gॗ~㥗~³;ß¿ˆ±‹zX˜…W_mà /Äòüó±ÅÖ7bDÉ“P°yÛС ùòËÆÛbw®_¿–-;Ræ›·•g*³òêwûö$$d1hÐ/vÇ== Þ`Qèøñl,H`êÔ=EêhÑ—ˆûånnfîº+Œ3öðàƒE®+©ðp ãÇG1qâïÌœ¹™3÷Ù5ª™ÝÏ;Ö!4Ô“¹sãÈÊÊcȰ"û8ˆˆˆ\ JˆˆH™zþù(š7÷eî܃ìÛ—A~>4jdaðà†vo€‚MÔš7÷aΜÄĤrêT.µj¹f¡_¿ú РÔqLœØ†† -ÌŸϱcÙ»3lX#¢¢üX¶ì>>.WÚÕ"ʳ?•YyôÛ××…/¾¸‘‰'&&•ü|mÛÖæŸÿ¼†ÈÈ¿¦åÿ÷¿mY¸0<Æ¡CYØl6êÕó¤OŸz “SÑ…ýÆ5bÆŒ}DFúÒ¾}í+ê{¡hLÓ¦ŸAlì)²³­„†zÒ»w=»ÙP°×ÀÐ¡áÆæ–ÚLPDD*ŠÉVÒÝ•DD¤Ü%''“••åPÙï¾³0fLÄ•sTÕÃ+¯üÎ'ŸÄ1}úõôî]¯¢Ã‘¿É͵Ҳå7ôìY—™3o(—6~üñ#GnbÒ¤6 V.mˆˆ\mú} f²X,•úzÍ‘jéË/8u*‡^½êQ¿¾'))9,^œÈ¼yñòr¦K—Òÿã)UסCY¼öÚ<=ÍôëWôUƒ"""5‰""R-eüöî3.Š«møµt¤A¤‹ˆ½¢ˆXb‰½Ä’¨±&[4Æ×hL4&Æ–h4¶ˆ {ï]DDE¤WéHßÝ÷?6®KY`irý¿Àž9sæ>ggaçž™3éyX·î9Ö­{.³léÒV¼g»šµm{ù¥ÖÑÑQ…·÷ÇU²ýû÷ß`üøÛ’×Ó§7å>@DDõDDôA3Æééù¸z5‘‘o¡¬,@óæú˜:Õnnj:<ª!::ªèßßsç6«éPˆˆˆjDDôAÒÑQÅ7ß4Ç7ß4¯éP€Ÿß ¹ëSøö;w6®’v‰ˆˆê2Å>s‰ˆˆˆˆˆˆˆê&ˆˆˆˆˆˆˆê!&ˆˆˆˆˆˆˆê!&ˆˆˆˆˆˆˆê!&ˆˆˆˆˆˆˆê!&ˆˆˆˆˆˆˆê!&ˆˆˆˆˆˆˆê!•š€ˆˆê&¡Xˆ-w·ÀÖȃœäÆ|m–†›¡7‘ž“ŽöíÑݺ{‰u£Ó¢áëè´h¨«¨ÃÙÔ,:@ ”¸Ž¬?‚Þ!5;zèhÙÆZÆRu>Äq%""¢Ú‰ ""ªa6ÞÙw÷:àzØÿ0vøì@hR¨¤lF—Å&ÂS±ðÌB<Šy$³¬™I3l¶ÖÖRå ™ øöô·¸qOª\SU³»ÏÆô.Ó%eÒ¸QíÆ„Õ{wÃï"4)ÖÖ0×3ÇÝð»%ÖI‹Á£˜G°Ð³@+³V0×3GrV2.¼¼€À„@|qø \œv*Jÿý‹]xv!îE܃ž†ú9öƒ¾¦>žÇ?ǰ;X{c-ìŒíÐÛ¾wut•ˆˆˆH‚ ""ª÷Æ´ƒ¹.sakd‹ //”š°1´ÁቇÑμTù×}a{†!"%¾Q¾èbÕž“Ž»áwÑ@µNO9ƺ%ëüéõ'~¿õ;ν8Ç„U;&ˆˆH!^$¼€w„7Db:Xv@k³ÖÅÖóöEPb2s3a¡oŽÑP»a5G+­›u7¹ë6Öm,uP_ÄL× ýšöƒ‡ŸRsR%åyÂ<ˆÅb8;ȬçjçŠßoýŽÆåW—1¸ù`XXI-ûeÀ/˜~d:í$3‡€‹ >mói‰í EB¬¾¶{|÷`\ÛqXÞw¹$ÉBDDDTLQ¥$g%cíÀµÞr¸¤Ì?Σ÷ŽÆ.ß]ø²û—P(#9+plÒ1˜j›Jêæ óð:@®m k1 ,:È›aC¹ëVFTjf›++üØïG™å-;â×A¿bÑÙE8ìXRÞݺ;Ö\ uõbÛ}›÷sOÎÅ­Ð[XÚ{)¯ """…bB€ˆˆ*ÅÚÀZ*­ÍZ£OÓ>¸ðò^%¾B3“fèÛ´/öûíÇNŸÝz4l m! ¦¬†¶æmåÚÖ°ê¢ •’‚‰&BKU û>Ýu™:¿\ÿ;îï@cÝÆè4:ê:ˆH‰ÀÕà«øÏ@ì½-ÍZJ­“ø6£ÿ¨Ô(l±nönÕÕ%"""ª'˜ "¢J±Ð·(¶ÜRßž›p±qÁñ°ÇwÆìƒÜ‚\´hÔ}šöÁ§m>…¦ªf™Ûªms<‰{‚)‡§À°!ö}º&Ú&ÅÖÙqÚš·Åþqû¡ª¬*Yæë‘ÿŽÄ—~ÀñÏK­‘´œ4´jÔ ,;UYˆˆˆ¨þbB€ˆˆ*%:5ºØò¢w]u]IYGËŽèhÙ™Ÿ(ü|õg\¼€ƒBI Tê¶jÓ^á^˜yt&ë5Æ¿cÿ-ñI O_?¸Ù»I% uãÖ0Õ6EÀëÅB©¹:Xt@?Ç~X|v1Æï]cvUÛ-DDDT?0!@DD•žŽcOÉÌ!p9è2t5táÐÐàá–f-¡¥¦0Ñ6Á §A¸r'ž@XrìŒìJÝVm™CàâË‹øúÔ×°5´ÅÞO÷¨Q‰uµÕ´ׂ¯aj§©RI¿?ÄgÆCKM«Ø‰‡µ] ]Ì91c=ÆbϘ=RO) """ª &ˆˆ¨R báÙ…8ûâ,š6lŠØôX\|yB±“;L–ènóÞ†‡ÑÑŪ ¬ ¬ ª¬ŠÀ„@Ü ½e2ô5õËÜVUÍ!€«¯®^½yðöÅÆ;­ÌZÁÕÎð ê朜‘X„Ž–áñÈC¦½¶=Цq@OÛžÐQ×_ŒÜÿv‡«+´Õ´žŽ«¯®B,cÓ cëmß»ÆìÂô#Ó1zßhì³»ÌÄ ‘<˜ "¢JigÞvFvØæ½ 7CoJʇ8Á—Ý¿”¼îjÕcãZð5©õµÔ´ð}ïïK=Ë^Õ^Hþ‹<Œ~ˆ‡ÑÚM$bÓc! ûí+¶=uIB@_S ÿ óNÏCLZŒL¡·}o,í½´Ôø:Yv‚Ç8L>4c÷Å®1»Ð¢Q‹r÷“ˆˆˆè]LQ…¨(«`ŽËØÙbÓ pŸHˆÄ"´·h/9 .2½ËtLl?÷#ï#,9 `¦k†¶=Ð@µAMtA¹‘3æ¸Ì)qy+³V’ß:–Z€ÌSºXuÁÍY7áî…¤ääÂ@Óí-Ú£iæRußW©MqhÂ!œ~~>Q>p2u*ö6""""y Äb±¸¦ƒ ""iñññÈÌÌ”«î¹sÚ˜3ÇÁÁ!UÕVü>P?ikkÃÔÔ´Âë—>3}˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡Tj:""ªÛááç¨Ô(ääaë( ”°æú|Öá3ôwì/©;åðØÚâ{÷ïk0âº'$)ÿ>ü‘©‘ÈÉÏÁ×hkÞ¶¦Ãú ”g?®êÒg÷E \ º„¹.sK¬S™þä óñùÁÏÑÁ²¾éñMeB­“ä_€ÿˆê &ˆˆ¨Â‚ßcèî¡(HÊR²S ¢¤Ÿ(ôiÚGªþƒ¨ÈÉÏ©î0ë´ˆ” Þ9y·›tÆ@§PSV“ª[úSÛ”g|ù¿¨î`B€ˆˆ*,:50¯ÇÜ‹À„@h«icTëQènݽBý)KIcÜX¯1Ö Z'©‘Ï'žJ ‚P$„­‘-†·'S§bû7Çe=>„{÷’‚­#¶bÆ‘ é»<ãý2ñ%V\Z¡Hˆg¯ŸaœÇ8ÉúËú,ƒ“‰ªKeöcyƽ4òŽƒ¼ûRBf‚$žÌÜLXè[ÀÅÚîî•÷÷ïñ®MŸ™Ü‚\¬¼¼B±ãÛŽ‡©Ž)n…ÞÂÐCáí‹{á÷ÊìO‘ò¾¯yÂ<ì÷ÛïoˆÄ"´·h‰í'¢jIòþíŠÏŒÇ¼“óÐ×±/&u˜$µ½¢e7ûÛO¬’÷¢2ã[þ7Ô¶ñ%ªiLQ¹¥d¥À'ÊGòúAÔƒbëÉsïµ_Œ¦™.s_üѧG1ªõ(üüñÏþ»oW[]³ŽÍµàk’º7BnàÒËK8òÙ¨*«JÊÇ퇇ѥڽ| ;}vbó°Í’/•ï¶=Õs*î†ß•Ô¿t aÉaÚb(Æï7oßH– <‹Fýƒ¶=ÊÝŸ²”4ƶY¶’²óçñÍéo/Ì—”Ý ½‰=¾{°Ì}™ä í»ý›|h2îEü÷>O˜§°¾Ë3Þ¹’~¥ç¤Kõ1='½Ô1Y}u5ž½~Vjw­¼u—¸¼¢û±¼ã^yÆAÞ})(1£÷Ffn¦T=GÝz4V¼ºRãÈÞã]›>3¯3^#+? ƒ›ÆŠ~+p?ò>žÇ?ÇØ6c1¶ÍX¤f§–Ù üï«H,ÂäC“q?ò¾¤ìZð5{z '„¦ÌXÉó·+'?>Q>hÚ°©LÜEËš›6—ŠCQïEeÇ·.üo¨mã«xáØ³gÜÝÝann^ÍÛ¦ºˆ ""*·–à1οßú£b÷˜ÝRâþ±þX{cm™ídæfbæÑ™HÍIÅÐCájç = =D¦Fb÷ƒÝðô÷D×&]ñ‰ó'’un…Þ‚¾¦>õZcÄgÆãO¯?€sç0ÄyˆTûCœ‡ £eGXèY § /â_`·ïn¬¸¼Bæìã­Ð[0l`ˆ¥½—ÂÖÈA‰AØtgvøìÀµàk°Ð³À¢^‹ ¯¡k!×pÀïÖß^/ùÂW‘þ”wŒ5T4žÉZpfò…ùèïØý›õ‡ª’*n†Þ„çO¬¼²í-ÚK}±½z ÚêÚ˜ßs>œL ¡¢!9“YÙ¾Ë;ÞŽ á1ΣØÉíÊ:K˜(u°Q–ìüì q‘âö㊌{qʇòìKDfn&\í\1´ÅPèkè#:-wÂî #7C®íUTmøÌ˜ë™CCE£Äþ¦~™ý¨Ìçi¡ëB8; .#ÛïoGHRV]Y…ßÿ&3VòþíªE|†‹Sžñ­+ÿ*¢ªÆWñžã?þÀÊ•+Ѽys¸»»£OŸ>prª¾«¯¨naB€ˆˆÊÍ@Ó›t–œëhÙê*ê’å¹¹rµs"à’²’0¿ç|Ìì:SjÙ€fÐóÏž8öì˜Ô—>%@ê’+}+L80bI}éóçû‘÷q3ô&.¾¼ˆON&N2W‚hÀÝÁGžAð›`´2k%Y&ïß®Šªì{QšÊŽoyUåÿ†ŠªÊñU4eeetèÐ:tÀ÷ß§OŸâĉØ»w/¶lÙ‚ž={bĈpww‡²²rµÆFµDDTc²ò²þqþ%ÖQS‘~œ•ž†žL¢KREb‘¤ìtÀiÜ» ++Lh7VVh Ú{îÅÅ—%_,Kk»èK^iËŠfÞ®H*ªèL[q—CëièA Èœ+í`¼²}¯Èx——¢ç¨ˆòŽû“¸'xõFú™íEûIiʳ/ÙÚàÊŒ+8p ^á^Øé³±é±p±qÁB×…°7¶/s{³6}fœL°Ôt)îGÞÇnßݘÝ}6þº÷æšMUMô¶ï]âºù<•”l)ê÷ûõåýÛU¡HXâ²Ê¾e©Ìø–WUþo(MMŽoUhÕªZµj…Å‹ãÎ;8~ü8æÌ™333Lš4 cÇŽ…††FÆI5‡ ""ª1fºf€}W”xÐRÑK-‹¾Hn¶Yæéõ·ÖW¨Í²TeÞg¢m ð@îýgz?}ýb±¦:¦RåUù¼ûr·åN(zŠ(︯¸F&©³Œ%ŒCy÷%= =Ll?Q2ñ]Bff‰Ï~†ë3¯ÿwÙv Û+3Î*RUŸe2š›6ÇoƒÃÅ—qüéñRX+òy J B¾0_êyx÷dêË«(Ñœ•,³¬höþšVÞñ-¯ªü[ZÆ·ª¨©©ÁÍÍ nnnˆŠŠÂßÿµk×bûöí˜:u*Æuuõ²¢ DDTcú9öÃß=8pë¯Cý&’eB±—ƒ.—zƦ4EgúE?’ ˆ ð§×Ÿðö­|ðŨÊþ¼¯‡mì{´¿ÞøM6…cCG@LZ –_\.©S]Ê;ÞZêZˆN‹†H,‚’@I®m(zŠ(︿{ÉxqJ‡òìK»}w£YÃfèbÕERÇ@ÓÚêÚHˆK@xJ¸$Î’¶WVœUEŸ™˜´œz~ £Z‚±–±¤\,Ãó‰'Dbò„y¥¶Q‘ÏÓ›·o°òÊJ|ïþ=Ô”Õ ‹±Ûw7|¢|ÐD¿‰T_ʣ轻r!I!°3²Px‰üšëk*Ôfe(b|Ë«*ÿ–Ö¶ñ­)–––X¹r%fÏžíÛ·ã÷ßǾ}û°bÅ ¸¸¸ÔtxT˜ "¢ÓɲFµOO¸muƒ¥¾%ŒµŒ‘ž“Žè´hääbF—è4°Üm»ÚºbËÝ-X~i9þñù žŽôÜt8›:# > Nõç}½ìz¡‹UxGxã“]ŸÀÚÀªÊªI A¾0ÆÙj¤z%ŸòŽwsÓæðŽð†ë_®0×3‡,볬ÔïkÊ÷’Æ¡<ûÒÍ›Xue´Ô´ÐD¿ ÔTÔšŠŒÜ hHLUdÜ«Ry?3k®¯¬?–÷].9h›÷¿Ýü ÜþæºæÐQ×ALz ºlꂤ¬$À°ÃJ£"ï«‘Ž<9‚3/ÎÀÚÀqqHÌLÌw_©qÕjv=Ø…A;ÁÁع¹O G Ó2s=(RUoyUõßÒšßÚÈÄÄK—.ÅÔ©S±råJLš4 ƒ Â’%K`bbRÓáQ5/%ODDTE~êÿ–ô^mD¥FÁ/Æ!I!‰EÐl5¯ØdU­·Æò>Ë¡©ª‰ÈÔHøÇúC `Í€5RgR­ªúó>@€m#¶¤ˆ Ïn&B(¢oÓ¾Ø7nŸä…Õ¡¼ã½Àuj7Dlz,D=€O”O‰5«M=¼ûÒ䎓Ñݺ;²ò³ð"áücý‘‘›ÎM:c÷ØÝÐTÕ”k{5¥<Ÿ™À„ÂÛFЧú˜í2f:fˆLD@|R³S‘”•++¬ÿd=>nöq©1Tä}µ1´ÁÆ¡¡,PÆ“¸'HÌL„ŽºV¼š ¨Ô˜Ìî>.6.Èæãyüs„&‡¢¿c¬ê¿ªRí–¥ªÆ·"ªòoiMomfjjŠÍ›7ãßÿÅóçÏ1pà@#­·–9X(«?ò*iŒßõ6ï-B“B!‚VúV2£É3vŠê»<ã]D("øM0ÒsÒ!‹àdâ$÷¬øŠTÞý¸HYã.¯²ÆAÞ})+? )‹Å0Ó5“<ú­¼Û+ÎûŸÝšúÌ&"-' ÍM›CG]G&Îä¬dœ< //`ý'ë¥.qw;ÍÖ6CWë®Ø=f·Ìòò~žò…ùxõæDbš6l 5eµRë·¬¸¿]„ÌXèYÀDÛ99ðõG#F’¹ù^(b|ºñ¿¡&Æ·ª)êû@VV¾ýö[ܼy+W®Äˆ#*ÜÖ”)S`kk‹ï¿ÿ¾R1UµÌÌL\ºt ?Ftt4ÔÕÕáììŒ#FÀÌÌL¦þºuëðèÑ£bÛêÚµ+fÏž]Õ!KhkkÃÔ´bs–LÕJu%!@DTÛx…{a¿ß~l¶¹Øåñ²k†¶ŠuƒÖUstu_YãK5G‘ßD"~ûí7üý÷ßX¸p!¦M›V¡vZ¶l‰–-[bÿþý•Ž©ªøûûcܸqÈÍÍ•Y¦©©‰õë×ÃÝÝ]ª|Ú´i¸~ýz±í 86l¨’X‹SÙ„ç ""ªfÓŽLÃÛÜ·¥ÖÑR×Âö‘Û«)"¢GIWÒ¤f§bÚ‘iLt³êVa}0ä”ê6%%%,X° 6ÄO?ýSSS|òÉ'ångçÎÐÖÖ®‚'33ªªª4hZµjsss$''ÃÃÃþþþ˜?>nݺ]]Ù+©öîÝ eee©2##£ê ]!˜ ""ªf¾Q¾R÷觸Ëu‰¨lÍM›cîGseÊó…ùð‹ñP8 ÞCª;´BIãK¦I“&!&&ßÿ=Zµjkkër­ß±cǪ LÚ´iƒû÷ïË,%/}¸.\ˆ{÷îaõêÕøûï¿ ðôôDPP233aaa¸»»C HÖ}Òî½€/¾ø½{÷–¼NKKÑ#Gàçç‡ÌÌL˜šš¢_¿~ÅœW”––V±åªªªèÖ­^¾| EÜeïïïÇ#&&fff3f ÌÍÍ1wî\ôíÛ“&Mªô6*‚ """"""*–ªª*/^ŒI“&áÅ‹PVVÆèÑ£eæ:òððÀèÑ£±zõjIÙƒ““#yýòåKøøø”¸­ &H~÷óóÃôéÓ‘’’"UçèÑ£5j~þùgIÙêÕ«ñìÙ3¹û´nÝ:4nܸÌzOŸ>…ºº:Ú·o_ìò_~ùÁÁÁÐÔÔ„³³3†^ì$„žžžX²d‰TbáØ±c˜?>|||дiS™uª DDDDDDT¢îÝ»ÃÆÆÇGAA233áêꊡC‡B__ÑÑѸsç22J¿nþüù˜:uªTY^^–.]Š~ýúaÀ€ÂGvfffbæÌ™HMMÅСCáêê ===DFFb÷îÝðôôD×®]%ó–šhx_vvv™u:___|óÍ7Ð×/þ)2»ví’ü~éÒ%lݺ¿þú+ú÷ï/)ÅòåË!‹1|øp¸¹¹A(âÒ¥Køí·ß䎹ª0!@DDDDDD%èÙ³'|||ЩS'…gÙß=P;v,ÒÓÓKmÇÑÑQêuAAfÍš…^½zaéÒ¥’ò'N )) óçÏÇÌ™3¥Ö0`zöì‰cÇŽIß}÷]™Û~WYW\»v Ë—/G¿~ýd¶^51lØ0têÔ &&&ˆ‹‹Ã‰'àëë‹yóæÁÙÙ–––€S§N!//S¦LÁ’%K$m 8ß}÷<==去*0!@DDDDDD¥²··Ç±cǰ~ýz?~Ó§OÇСCÑ¢E 8::B]]½Ø™øK" 1wî\ãÿþïÿ¤–=~üpùòexyyI.µ‹Å’ßCBþ{¼¢““S%{÷Ÿ3gÎ`þüùpssÆ  ¤$ûd_ýUfî±cÇâ믿ƙ3gpüøqÌ™3@ám0räH™v†΄ÕnÈÉÉ ®\¹‚S§NÁËË ;wîDll,\\\°páBØÛÛ—Ù–H$·ß~ üôÓOR@VV€Â‰øJ¢¦¦&ù]Qsxxx`ÅŠèÛ·/þøã¨¨¸\ÒD„#GŽÄ™3g!)+šC¡¸d‰žžžÜ1W&ˆˆˆˆˆˆ¨T‰‰‰011Px ;qâDLœ8@áSfΜ‰Ï>û ׯ_—y„ß»Äb1/^ ¡Pˆß~û­Ø3ðEó­X±¢Äû늘C`Ë–-X¿~=ˆßÿ½BŒ‹‹hjjJÊŠÆìùóçhÔ¨‘Tý€€€roCј """""¢R={ö 666ؽ{7š5k†.]ºH–@[[ —™+ ˆX,ƲeË––†-[¶”xÐݯ_?ìÙ³'OžÄºuëФIÉ2¡PˆË—/C(JÊ*3‡€X,ÆêÕ«±k×. 2k×®-5ðüùs<~üÆ “:ð÷òòÂÚµk;w–”»¸¸ÀÃÃkÖ¬½½½¤/ÁÁÁX¿~½Ü1W&ˆˆˆˆˆˆ¨DÙÙÙ¸yó&,X€+W®`ÕªUÐÒÒB“&M ¦¦†ÐÐPdddÀÀÀ@êàý}«V­ÂÁƒѶm[|öÙg2Ë¿øâ ôîÝ:u¨Q£àéé 777XZZÂØØéé鈎ŽFnn.f̘¨Ü/^Ä®]» +¹êá]Ÿ}ö™äÉoÞ¼Á?ü€üæææÐ××G\\íÚµ“<-ÜÜÜкukøûû£oß¾°³³ƒP(DXX[¡«… ""ª°–¿µDËF-±ü~…¶ ׿\1¡Ýü_ßÿShÛå•[ çuÎpwpÇÖ[k4–’„§„ãè“£¸z ©Š„°3²Ã°Ã0¡ý( þû¢! q/âN??DZ uu8›:cB» èçØ¯{BDDµÑîÝ»Îðoii ‘H///¼xñBR§sçÎX²d‰ÔYó÷;v àççWìòAƒI~ÿé§Ÿààà€;v ** QQQ gø0`€TÝÊÈÍÍPx¥ÀƒŠ­Ó§OÉïÎÎÎøüóÏqâÄ DDDHæ ÐÒÒÂÈ‘#ñÍ7ßHà+++cûöí˜?>nݺ%™dÐÕÕŸ}ö¦L™RâœÕ """ŽkѹIgì»·¦C)·ñãŸ/Uöìõ3<{ý ^á^Ø6r›¤Ü;Ò“M’ª›[‹{÷p/â¾êöæõ˜WaQ‰mÛ¶aêÔ©000@=УGdee!""b±fff000YwçÎÐÖÖ–¼Þ¾}»Ô¥þï³±±‘ü®¤¤„)S¦`òäɈˆˆ@rr2 annUUU…õ¯{÷îððð(µŽ•••äw###,[¶ K–,All,¡££[[ÛÏôbçÎxýú5âââ`jjŠÆcçÎkkk…õ§¼˜ "¢ {úíÓš8š8bz—éèܤ3¬ ¬•Ÿ…ëÁ×±âò \ ¾Š;awàbãPQR‹ >iþ Z7nƺ‘œ•ŒÝ¾»±ëÁ.üuï/Œj= z5Ü+""ªiÙÙÙøê«¯`mmiÓ¦I-kРA™—êwìØQêu‡Êƒ@ €µµu•4ÃØØ¸Üë)++ÃÒÒ–––eÖ½}û6tttЦMÉÄ‚^^^ؼy3”””н{÷ro_Q˜ ""ªãvŽÞ)õZSU#[Dlz,6ÞÙˆ€øIB s“Îèܤ³T}s=s,í½Áo‚q;ì6ž½~Æ„Ñ.$$¶¶¶2ü+’••…iÓ¦!>>ÇŽ+õÉTº—/_â—_~‘‘,,,ׯ_&L˜SSÓ‹ ""ª°’æ8ñìö=Ú‡ Ä ˆÄ"ØÙbd«‘˜Ðn”ÿ=^H$a§ÏN||1é1h¤ÓãÚŽÃÇÍ>.q›>Q>ØqÅDRR@]]ãÇÇ¢E‹j46&ˆˆH¡~¹þ vÜß!Uö<þ9~¼ü#übü°þ“ÿ±³üÒrð; y•…5×× àuñÏå=àw?\úb±XR|þW¸O< MÕÿ&3JËIØÇHÝ_+ô|£|qh¡rȧç¤c̾1ˆJ’”y…{aâÁ‰¸<ý2 4eï|ßg?ƒW¸—ÜÛ¼8í"ìŒìä®_$5;^^Ø~;ŒµŒåš(0O˜‡kÁ×`¢m‚Ž–ˬODDuX,ÆÖ­[ñûᅫ=*“¸wïæÍ›===ìß¿¶¶¶5ê¥iÓ¦8tèRSSeeeØÚÚBCC£¦CcB€ˆˆ' >;îŠõZ„þŽý¡ª¬Š›¡7±òÊJœ~~ÂÝÁOâžà€ßh«kc™û2ô¶ïQ.¼¼€Ÿ¯ý,ÓvTjV\^]u],îµ®v®ÐÓÔCdJ$6ÜÙ€óç±Çwfv)YçAÔ´iÜÿM6Elz,ÖßZ //`Åå88á :Xt@ðâà'Ì-(œ}Ø'Ê,;aà p0v@|f<~¸ø¼Â½p2à$&u˜T¥c+.›ºàÍÛ7’×½ì{aiï¥rñ_ye%"S#±uÄV¨)«Ue˜DDTòòò°dÉœð<àÝÿ‡‰íÿ{Žïç!P(aÞ©y8ûâ,ÜÜqñåEÀ×Ñr„¤î„v–“†õ·ÖKµ}âÙ ˆ °ªÿ*©[ ìíñÇ'À7Ú—ƒ.K%¨6À¶‘Û$—ÌÛÙá!`à?áí‹7oßÀXK¾‰„ 4 ð÷È¿%·%XXc™û2|¼ãc&ÊÕFu?Á 0!÷#ïÃÚÀºÔzën®Ã¿øÎí;¸;¸WOpDDTm0mÚ4J]e—››‹K—.!33›7o†X,ÆüÖ`´T˜ ""… O¸Ù»É,+*‹H‰úù‘ÍG2u{ØôI¼zó ðõ©¯ñõ©¯%_hÄK~@zb¤æ¦ÍeîŸWQRAW«®I ADJ„Ü çFÎ’d@Ký™…3s3åj£ªyÏö†X,FjN*ücý±æú,=¿ZjZä$û¼f‘X„—VÀÃÏ‹{-ƾ¨¨‰ˆ¨*=þ_|ñRRRdù'°|ùräææb„ øê«¯jÝlªZL‘•4cqeˆÄ"€PTòó‹ó„yåj³tL‘ÂXZ®_‡ƒ±ƒÔ²!7VVR?o‡ÝÆø¶ã¥êÞ »%ÓvÑñž±{ÐÝZ¾çõ>ޤ¬$©« D¸qÐD¿‰¤\ „rµ[W%H2ó¤¯`ÈÎÏÆWÇ¿Âí°ÛXÞg¹ÔíDDT÷‰Åblܸ›6m‚@ ºMà}ÊÊÊðõõeB žbB€ˆˆæãfcë½­Øtw´ÔµÐ¯i?¨*«âVè-üxùGÀ€fýûa›÷6üzãWh¨h ·}oÅBœ€Vf­ðiÛOqÀï]$SïÌ‹3ReÖÖXÙ%–]\†ïÎWìögt™!õº£eGD¤D`ÄÞRå T`yéØº4é‚3/ÎÀmëóxŒó@›ÆµûŒIž0§NáTÀ©b—;;`zçé’×ׂ¯áaôCÀ²‹Ë°ìâ2™ux Q]†¡C‡""""‘HîµÂÃÃggç*Œj#&ˆˆH¡¾sûÍLšaßÃ}z‘X[#[Œl9RæÒô}WÀJß DLz LµM1¶ÍX j.›€Ñ­G£™I3ìôÙ Ÿ($g%ð!¬ ¬1Ði †8‘ª¯§¡‡ƒbÕ•Uð‰òH$B{‹öXØk!œLœ¤ê.í½¢xGz#-'­Ì3*µEO»žøkø_8úô(^$¼Àëô×ÐRׂ‘ú6í‹ í&@SU³¦Ã$"¢*|ÀT„†&UhýãÇ3!P ÄuåQ=ÌLùf®?wNsæ˜"88¤Š£ª;r rá¼ÎîîØ:bkM‡CDDT¥„B!~ýÕ ;vhaóæèèèH– èêê–øtuu¡¢¢--­j‹™C[[¦¦¦^ŸWÕaÊÊÊhÕêc¦èߟ'H~ŠŸ1‰ˆˆˆˆˆˆˆj=&ˆˆˆˆˆˆˆê!Þ2@DDuu/®é0ˆˆˆˆj5^!@DDDDDDT1!@DDDDDDT1!@DDDDDDT1!@DDDDDDT1!@DDDDDDT1!@DDDDDDT1!@DDDDDDT©ÔtDDTwýuï/˜h›`DË m7='»}w£•Y+¸Ú¹*´íòŠ…Ørw ll1ÈiP­mS‘j{|ï KÃÍЛHÏIG{‹öènݽÌuâà㇜ü8š8¢›U7(+)WC´DDDµ DDTazý‰–Z*>!›Žw6bB» Õ–Øtg,ô-0¬Å0©òa6ÞÙww…WE›ï*©/òªêøá°ÿaìðÙФPIÙŒ.3JM$d&à›ÓßÀ;Â[ªÜÆÐ»Æì‚…žE•ÅKDDT1!@DDöe·/a¢mRÓa(Äf¯Íèܤs…¢k“©/%¹~¡I¡°6°†¹ž9î†ß-µþÛ¼·ç1á)á0Ð4€{Sw50BHR®½º†×¯™ "¢z‡ ""ª°Y]gÕtTOi=s]æÂÖÈ^^(3!°áö„§„£µYkì³ ºº’e‘©‘ÐPѨꉈˆj&ˆˆ¨ÂJšC@(Â+Ü A‰AŠ„°3¶ƒ‹µ ÔUÔeÚx›÷W_]Elz,é4BŸ¦}ÊÜî³×Ïàã‡Ì¼L˜j›¢§]O50’Úþ»÷À¿HxïoˆÄ"t°ì€Öf­%ucÓcqäɈÄ"D¦Dbã’eÃ[GC­†RÛI Á°;Èæ¡­y[t°è ÷x•¤´øÞ•œ• Ÿ(D¦DBEYM›¢«uW( ”åêË»gÀ_Ä¿À£˜GÈÈÍ@ƒ&èfÕ úšúÅn·*ú\YݬvÜ IDAT»É]7O˜Ï'žX7xT2šè7QtxDDDuDDTaÅÍ!ü&³ŽÍBXr˜T]SmSl¶ íÌÛIÊžÆ=Åô£Ó‘˜™()k¨Ý«ú¯*v{oÞ¾Á¼Sóp/âžT¹¦ª&–÷YŽ‘­F¾>0![ïm•ª?ÄyÖZ e2bÓc%ÎÑiÑRÑ›t–JlóÞ†u7×A,KÊF·Õ¯.} J±îæºRã+²òÊJð;€ù5.¼¼€ý~ûñõG…e ™ øÈæ#ü=òo¨*«(L*L<0ÉYÉRm_ º„§qO1¸ù`¬´NêàíiÜSŒÜ;»ì†!$åÉYÉX;p­Ô±œ?Fï]¾»ðe÷/%Ñ[¼¶ ‰AÌq™#µÝÜ‚\@RVþþÜÜ%Ë>²ù Î,ÀJÈ_ÑU+ú®€­‘-¼#¼—5e5t²ì„7oßÀ/Æ)Ù)eöådÀI¼ˆcì·Oê6‹·yo™)U_}ÖbX¹n10l`(w]yeåg®¾ºŠ×¯Ñ§iØÚ 2%—_]ÆaÿÃ0Ó1“JÀÕL‘Â<Šy˜ûÑ\I2T”T0ßu>.¼¼€‡Ñ ëFÖí2[’ /ÿÿªÛW˜vdšTÛE“Æ5Pm€­Þ[%—°‹Åbˆ!†®†.žÆ=•ZÇÚÀZê`Z›µFŸ¦}páå¼J|…f&Íäê[s“æRÆ$DLÈL«÷•'¾Ç±1ùÐdˆ Šm+émR™gÖ‹··¨×"©dPxË€“‰“T™"ú\žtP4wElz,¶Ü†Þö½%Ëî„ÝÁäÓ±÷á^ü¯ûÿ j*L""¢jÇ„)LZN€â'i³Ô³„@ @jvªTÝâõf©o)SVtÅÀ!ÿCrÇc¡_ücäŠÚOÏM—»-3]3™²ª  Äƒô²ÈŸw„7~»ùÔ”Õàîà++4Pk¸v~1~‰Een/5§pìmlåŠO}® s˜j›(Ü×ÞM€‹ Œ”„Ä·‰Ìc4‰ˆˆäÁ„)Œž†€ÂǸ½P•±X,™É¾¨ntZ´ÌAXqzš…õÇ·#-#™åd]l½¢öuÕu‹]^]äïzÈuÀæa›áfï&U÷E ¹·§¯Q8ö¡I¡Õ6³~m˜C ™I³RÏü]m"¯ "¢ú… ""R˜væípäÉlºSø4¢Û„b!~¿ù; ½EûºípôéQlº³If-^[dÚîÚ¤+<ý=! ñ¿îÿƒ’@Ijybf"â2â¤ÊÂSÂqìé1™{ô/]†®†.:HÊÕ”Õ$W/Tyã+:˜ÕV×–Zß;Â×^]“i·¤¾tµê Ï'žøõƯhݸµÔwÑïß6PYµac-c´mÜbájðU™[‚“‚a¬e c-c…o›ˆˆ¨6cB€ˆˆfpóÁØâµ¾Ñ¾è¿£?zÚö„ªráS‚ßCOCãÚŽ r„ ·7àvØm øg\l\ ‹p#ä²ó³eÚØ| vûîÆÁÇq;ì6ºYwƒQ#¤ç¤#<%>‘>ø¢ÓheÖJ²ŽaC,<»g_œEÓ†M›‹‹//B(br‡ÉRõ³6´Æóøçøöô·°Ô·„’@ Ã[—zì ¢É_ÛÆm3ŽÌ@Çþ0h`€Wo^áfÈM60Ä›·o¤Ú-©/œàïû#0!½¶ö‚›½é4BlZ,î„ßÁ¸¶ãª$!PâpõÕUÀ«7¯¾Ñ¾’G-¶2k%™ï¾þèk|~èsÌ:: îî°6´–L*(‹1­ó4Î@DDõDD¤0šªšøgÔ?˜ul’ðßo¿d™‰¶ 6 Ý$¹=@KM ÛFlÃô£Ó–†°ä0…gsW¼3Δj[Y ŒFÿƒEgáZð5xú{J-7Õ6•J…W,ØÙa›÷6Ü ½))â<_vÿRªî䓱èÜ"œ 8))ëܤs•&䯟c? n>§ŸŸ†ç“ÿú=ªõ(è¨é`çƒrõÅBÏ;GïÄ×'¿†O”Nœ’,×V×FsÓæUÑÍ*ð:@rð_äaôCɤ•ÚMJt³î†UýWáÇË?âRÐ%I¹’@ “;NÆ”ŽSª%n""¢Ú„ ""ª°/»})sÿ¿½±=.L»€»aw”¡X[C[ô°í!™í½HK³–¸2ý ®¾ºŠØôX˜ê˜ÂÝÁb±s\æÈàhàï‘#$)¾Ñ¾HÎJ†aCXX£ƒE‡bŸ#¿Àu8 €O¤DbÚ[´G›Æmdê o9Μq?ò>Ò²Ó †æzæPQVÁ—9ÅNÄW´ÌÞØ¾\ãön›ƒœÉßúOÖc\ÛqxöúÚ›·GK³–¸vÚêÚRó*”Ô 01³ü~<{ ¿X?dçg£‰~t³î&™×¡*ú¬hΜe«ø®÷÷Óz ÜìÜp#äÞd½¾†>ºÛt¯¶ùˆˆˆj¸h&""ª5âãã‘™™)WÝsç´1gŽ)‚ƒCª8ªº#· ÎëœáîàŽ­#¶Öt8DDDUŽßê'mmm˜ššVx}^!@DD¤ [ïmEž0¯Ô:jÊj˜Ùuf©uˆˆˆˆªDDD ²Í{2r3J­££®Ã„Õ Lѧ´{à«ÒŒ.3äºB€ˆˆˆ¨6`B€ˆˆ>8ÊåR'œ«*<óODDDu‰RM@DDDDDDDÕ """"""¢zˆ """"""¢zˆ """"""¢zˆ """"""¢zˆ """"""¢zˆ """"""¢zˆ ""ª°)‡§`Õ•U o713ã<Æa·ïn…·]^ùÂ|Œó‡ßoý^«ÛT¤Ú_mPUû~]™€ƒbÖ±Yç1,sÔìTì|°ÿ;þ?L;2 ën®CtZt5DKDD¥Q©éˆˆ¨îzõ9ù9 o7W˜ Ÿ(4mØTám—dâ‰p2qÂ’ÞK¤ÊEb|¢| «¡«°mUE›ï*©/òªêø>•Ý÷+ûÕ”Ÿ®þ„ݾ»!‹%emÍÛ–ºÎýÈûøêøWHÍN•”]¾ŽíÞÛqbò 8™8UY¼DDT:&ˆˆ¨ÂvŽÞ muíšC!|¢| j: …øúò¡ª«ïQBfj5D/»^ÐTÕ,ó*žÈÔHLõœŠìült·îŽa-†ÁXËÁIÁØ÷pÞæ½­žÀ‰ˆ¨XLQ…u´ìXÓ!Q5ZÚ{)j5„@ À…—ÊL¬½¾ÙùÙÕz~þøgI¹‹ &¶Ÿˆ¼‚¼*Ž˜ˆˆJÄUØ”ÃS`kh‹ïÝ¿—*H‰€çO%A(ÂÖÈÃ[ ‡“©ì¥Áþ±þ8ì1é10Ó5ØÖc`¬e\â6ÓrÒpäÉøÅø!3/¦Ú¦èçØnön’:ùÂ||~ðst°ì€ÿuÿöûí‡w„7DbÚ[´ÇÄöÑ@µàeâK¬¸´B‘Ï^?Ã8q’v–õY[C[Ék¡HˆÃþ‡q;ì6ò„yhkÞŸ·ÿ¼RWIä óJïÝmß½;aw™ e%e4mØ#ZŽ€¡\})º4;-' ÇŸÇ£èGÈÈÍ@ƒ&èãÐ.6.2ñ)ºÏòn[ž}èÝ÷yv÷Ùððó€w„7”JpwpÇð–ÞÕÞûp/¡­¦Q­G¡»u÷bÛ)k‘§¥íŸåyÊÚÏk‚‰¶‰ÜuÓsÒq9è24T4ð]¯ïd–+ ”¡©ª©Èðˆˆ¨œ˜ "¢ +î>êóçñÍéo/Ì—”Ý ½‰=¾{°Ì}&¶Ÿ()?òä–œ_‘X$);öô¾íñm±Ûó‹ñÃô#Ó‘’"U~ôéQ©3E÷Àk«kcò¡É¸y_R÷Zð5{z '„¦2r3àå ð¦è÷¢×EDbf›…kÁ×$e7BnàÒËK8òÙ¨*«–=`ï‰EeÆWdÜþqxýPjýkÁ×°Óg'6Û 7{7¹úò0ú!f›…ä¬äÿ <y`q¯Å˜Úyj•õYÞmË»½û>OõœŠ»áw%õ/]BXr†¶ŠñûÇãÍÛ7’egÏâŸQÿ ‡m™vä}?Š#Ïþ)Ï{$ï~^šÕWWãÙëgeÖ+²nð:4Öm,w}y<‰{¡Xˆ¬>l¸³þ±þÐRÓB—&]0¢Õh¨h(t›DDT>L‘ÂÄgÆcÁ™È棿côoÖªJª¸zžO<±òÊJ´·hæ¦Í›‹.þ‘X„á-‡ÃÍÞ B‘çÏ;»}fn&f‰ÔœT m1®v®ÐÓÐCdj$v?Ø OOtmÒŸ8"YçVè-h«kc¡ëB8; .#ÛïoGHRV]Y…ßÿdžŽðçQì$oïNvv+ôô5õ±¨×"8; >3zý‰€øœ <‡!ÎCÊ=^òÄ÷nÿ‡8AGËŽ°Ð³@NA^Ä¿ÀnßÝXqyÜìÝÊìKjv*fÔìT´6kQ­GÁL× 1i1¸t ¹2ñ)ªÏòn»<ûлq60ÄÒÞKakd‹ Ä lº³ ;|vàZð5XèY`Q¯EÐ×Ðǵk8àwëo¯—$*ò~¼OÞý³—}¯RߣŠìçÅ L ”J6”%;?[îºòzñ`¦k†QÿŽBHRˆdÙùÀóØï·ã< ¯©¯ðm‘|˜ ""…9ñìr rdÎbösì33l¸³‡üaEß8ðÿìÝw\SWÿðO [ˆ(²8«â¬[Pë®[«VÛºúTŸmk—õ©mÕÇñ«µ­ÖöqÔY­[ë®p¢¢ÈY²‚Ì$¿?(·D†òy¿^}•œ{rÎ÷Ü\$÷{Ï=÷ ò•ù˜Þi:>íÿ©Pwˆ÷|xäCì Ù«ÙöýH}šŠù½çcv·ÙÛ·ŒÞ?öÆÞÛ{5N”ÔPcË„-'¯´x~?ûáHè|5è+XšX¢‹KˆD"X›Y£‹K¶ó óFb#ìxm‡0=\m\1yÇd\‹¿V¥„€6ñOUß6i®<¼‚s‘çpüþqä+ó¡V«abd‚øŒx<ÎzŒ†– +ËÆ HÏIÇ€fðã¨5¶Mj?©TB@—cÞw{ŸV}Wæ*ç®É»ÐĦ  ·Goää`ÍÅ5‹ÄØ9y'ŒÄE_yúzõÅÝÇwò8…ªB¡¨Üçñ¬ÊŸ}F[¯m­ôq^–…}"3/³Â:%ézvPt; Pô™Z™Xá3ßÏàn率i±áÊÜO¾%§—`ÅÐ:ˆ´Ã„é̽¤{€ í&”Ú6±ýD|wñ;„&†(º—ƶ[ªîضcK%n<º8vþ1þÂcÏÔP ?—¼ ]q-yr¶f¶ðmê‹=·ö <%mÚj5¶6Nm4NŒ uÃÖ€´§ie½å¹´O©V⽃ïáBÔ…rÛÊÊËBCˆöW<…¼äm%YšXj¼Ö嘵í»2ÇPÉ8‹“ÅZ8¶P”H(yÒÞroÜL¸‰Ä¬D4¶nüOy5Ž—ªŸ5ÙNYëuÔ6 c @~a>~›ö<ìÿY£¯W_ Ü0Çî÷¯|[¥[nˆˆ¨ú˜ "")¾š^Ö`kSkˆD"¡NnaÑÚe=ëÞÚÔºTÙÓü§€› 7ËíߨÈXãuYm—l¿8m”SñILÉ5*CÛøÝ9„ QàjëŠÉ&ÃÕÖæRsˆD"l¹ºÇï×x.|yŠ÷ùóî…6Ž’ª:fmû®Ì1TQœÅI€Š¶ª 5Ê«s¼Tåø¬Év^„5Š“-nvnÉp¶vFs‡æ¸•p )Ù)p²rÒißDD¤&ˆˆHgŠW ¿•p ®¶®ÛB‡@­VCn)/ªkQT÷NâRW¶C‡”j»ø„añ€ÅðjàUfÿÏ^ KC² ÔÕÇ„¢ö‹c¨¡ÕIµ.i_ñÉáÚW×j¬k«Ï¯.Ýp9cq²,Ú‡Á±Á¥®ü×4mû®Ì1¤k•:^žQé㳼Ϩ ÇyY^„5ZÊ[ÂXbŒ´œ4¨Ô*ˆEba›Z­z47Öî DD¤{âçW!""ÒNñ"mÿ=û_ᖈψǢã‹4êôô(Zy|陥ˆN‹êÞKº‡UçJ/*8°ù@À;àdå„..]„ÿ|šø -'MXĬXJv ¾:õ•p/³Z­ÆÆ Œ „‹ \l\„º&ˆËˆ«òÕþªÐ6¾â«å×â® ï-TbÍÅ5Ž .Õnycñmê Xvv.F]ÔØv=þ:N„ÐÝàž¡mß•9†t­2Ç˳*{|–÷Uå8/˾ ±mÒ6­ÿ«‰5Ì¥æèß´?ž<}‚çV@©V(z”åšKkð(óš;4/sÕÎ ""éëÙ]]»" &Ã7‡›­¤)"R#P ,@ÓM1¦í¡nûÆíq=þ:m{(UJD§E£¹Cs$*5Úîܤ3ƶ‹Ý7w£ßº~hbÓ , 37qqÈ+Ì쮳0Ä{ˆðO{Oì¹µ‡CÃÍÖ Y HV$æ÷™¯Ñ~KyKÄ ÏO}ÐØº1Dás¿Ïáa§9ÕY—´¯Güpé,:±¿þ [s[D?‰Ff^&ZÉ[áNâ­ÆÒÕµ+†zÅáÐØ¶keŽp²r£ÌGHV$ãíîoc@³52Vmû®Ì1¤k•9^žUÙ㳼Ϩ*ÇyYjj ¿Âÿ†+OrŠyðîA\¿Ð|¦ùLêÏï=£.â瀟±çÖ4±i‚øŒx¤d§@$aAŸ5'i‡3ˆˆHgD"Ö^_t¦.Züì^Ò=(UJ h6['mž;.K°aÌôõê‹BU!’Ñî®Ýñíಟ³þõ ¯ñIÿOà(sDlz,®Ç_GDjTj·Œ¡-‡jÔw·sÇš‘k Ip+á’ɰ4±Ä7¯|ƒÁ-kÔ]Ðgdx”ùA±AŒ ž _S´¯]£vXä·fR3ž}jDD$©kû†I""z®ÄÄD( ­ê=*üyr„‡?åq] Š ‚ÌDVê¾vÈÎÏFdj$TPÁÕÆµÂg'*ñ(ãä–r4²j„¼Â<ÜxtrK9ÜlÝJÕW«ÕˆIÁ“§O`gn‡ÆV5îûÎ+ÌC«­àÛÔëF¯C²R@¥V¡™C3KÊ^”M©V"<%™¹™P©Uðvô†ÌD† Ø ØšÙ¢™C3ú*µ A±A°3·CÓMµÜkÿ¼¯¸MmãË)ÈAÔ“(ˆ ‚W/H%RÎ>µÞ§¾Õ‡1ëëx!""Ò7>vˆˆˆˆˆˆÈ1!@DDDDDDd€˜ """"""2@L &ˆˆˆˆˆˆˆ DDDDDDDˆ """""""Ä„Q k³² &m›¤ï0ˆˆˆˆ40!@DD¤Í—7ÇÔSõ0#}@DDTß…|¢ïˆˆˆˆJá """""""Ä„UI^a¼–zaö³ŸyûçÁç;x-õÂÓ‚§òëôü±§Æ{â3âáµÔ ^K½ž®±­ÿúþ°a@mAPXŸ·Í5‚ã‚áµÔ J•þÑþB^K½påá¡ÀØ@ÌÜ3>ßù ÅòèóS|{æ[(ò5¹+ˆˆˆÈ€ð–""ª–ŒÜ Œûm‰B™J¥B÷ø5ðWD¤FÀÓÞp1ú"@,ãBÔx5ðÄeÄ!&-S:NynSwN…´¿ÖñŸq\è¿<ºˆµ¼ýP;®ïÀ'¾€Z­Êâ2âðkà¯ðöÇïS~‡™Ô¬Jmã ""ª– Ø 4²n„=S÷àöüÛÿ82zº]q¿uA¨{!ò<í=ÑÖ©-.F]Ô(ŠNÌõA±–·žåãìƒðÃ!KÐÝ­;Â?þëâÒ±é±X|r1¬L¬ðí+ßâò;—qwÁ]{ë^iñ B“B±9xsMì"""20œ!@DDÕb.5ÇúÑëagn§QîÓÄ&F&¸uÓ|¦A¥V!àaF¶ ™‰ ¿þŠe¤).F_„D$A—&]žÛß– [t>]ÄZÞ~¨¬ý·÷£PUˆ%ƒ–à•¯å^ ¼ðÃÿÁqÁ8v³»Í®V?DDDDLQµ´”·,ó$ØÔÈ>Î>¸ò𠔸›xé9éèáÞ2Ö^Z‹«qWÑ©I'\޹Œ—¿TæõÚ ‹XËÛ•õ åà݃ïâÝƒï · ¨¡~ATí~ˆˆˆˆ˜ "¢j±1³)wÛËn/ãRô%ÇãZü5KŒÑÅ¥ ŒŒ!3‘ábôE˜JM‘™›‰nÚÝ.Pkè"ÖŠöCe¨ÔEë(UÊrëä+óuÒ6&ˆˆ¨Æôôè‰åg—ãbÔE\‹¿†ŽÎ…ÅðººtÅ…È 0‘˜ÐßúÅj;VD(T–*/N^lž°/»½\í~ˆˆˆˆÊÄÕ˜-`on“NâaÚC¼×ë=a[÷X|r1ò”y°4±D[§¶ZµYkÔT¬±1³Áƒ”x˜þÎÖ΋ŠÖù}µÍ«XwyÞ?ø>æ÷žî=ÐÀ¢2r3#¡G —ɹ†UDDTcD"^vïðÏjþ@ÑI¶Z­FxJ8üšùA"–è+LµkW—®8zýÖõʶMÚ†..]ðÕ ¯ðùñϱðÏ…e¾wV×YÕˆˆˆ$"ªãLLŠšËÏ1š+¾ßÞÞÜÞŽÞB¹›­œ­‹êèùvbµë§ý?Å æƒ`cf‘Hó³×nvOÙ¡ÞCá(s„‘ØŽ2GtnÒ‹,ÆœnstÕ¹¹"˜šªõÕ1"uñ’ÅDDôÂHLL„B¡ÐªîÕ«¦?¾1.]Š\^úžt"""ªÿþ÷?üú«5.]ŠÑw(T‹d2äry•ßÏDDuœ§gàþ}c=GBDDDúf /¯}‡Au DDuœîî0Ów(DDD¤'fxé¥\}‡Au DDõ@ß¾Ù8v̼ ŒˆˆÈðܺe‚¸8#ôë—­ïP¨ŽaB€ˆ¨;6 Jq¾C!""¢Z¶m›5š5ËG»vyú…ê&ˆˆê¦Móѯ_6–/·‡Rùb>m€ˆˆˆt/4Ôû÷[bÖ¬t}‡BuDDõB¸)¯ IDATÄgŸ¥"&FŠíÛ­ô Õ’¯¾²GÛ¶¹>þØÎÎ…hßžï©jxËQ=rü¸Ö¯·Å7ß$£k×}‡CDDD5äãSñòËO1gNC¤§ó™„T5LÕ99"|ýuŒ…Q£²ôÕ ±Xµ* b1°zµ­¾Ã¡:Š "¢zâçŸm‘‘!Æûï§ê;"""ª2™ óç§bçNk„†ë;ªƒDjµZ­ï ˆˆHSbb" í ÊÈ£G7Ì›÷3f¤×`dD†%-- :u^oÛ¶ ]ºtÑcDT’´4XoÜósç ‰8'jcc6j„œÎ‘þÆ(pw×w˜DÕ¢VcÆ8£AƒB¬_ÿXßáP-“ÉdËåU~?$"ªöí³„X¬Æ¤I™ú…ˆè… IO‡óÈ‘0Š×(åä@iD,÷ïGüöíÈkÓFOQUŸH¼ùf:Þ{OŽÇаa¡¾C¢:„· Õ'NXÀÏ/*}‡BDôB8ðO2@,Æãµkyû6âöíƒÒ¶è~kQNl6nÔc”Dºáç— SSNŸ¶Ðw(TÇ0!@DTÇåå‰píš)zõzªïPˆˆ^✞´RèèˆìAƒ 65E^›6Èõñ¶‰žòßNªû¤R5ºuËÁåËfú…ê&ˆˆê¸ˆcŠÐªU¾¾C!ÒZDD¼¼¼„ÿ°gÏ <-Z´À’%K„ºAAA˜7ozöì ooo´k×£GÆæÍ›QX¨956//O£]///4oÞ:uÂäÉ“±{÷n”µ|Raa!Ö®]‹¾}û¢eË–0`¶oß®Óñ:tC‡EË–-Ñ£G,]ºOŸ9=yò$¦M›†.]º yóæèÒ¥ ÆŒƒåË—ãÞ½{€3gÎí¶k×ÙÙÙmܺuKcì?.3žÓ§OcäÈ‘hݺ5úöí‹%K–”j nÞ¼‰  _¿~hݺ5|||0qâD:tJ¥—.]ÚõööFzºæ:&ÏöYî~3 …GëÖðôò‚§—dGŽÛ¤ÑÑpoÛVØfõûï~Ù¾¾PÝk””‹cÇ Ê˃IHLƒ‚„zŠ!C*l‡¨®hÙ2÷ïsaAª®!@DTÇ%%={ØÉ‰÷ RݵqãFìÞ½»TùÊ•+ñÓO?i”àæÍ›¸yó&þüóOlܸffå_S*•HKKC@@ˆÿþ÷¿ÂvµZwÞy§NÊ"##ñÅ_'áÕõÛo¿aÇŽÂëÇã—_~App0vìØ©TŠƒâý÷ß×x_jj*RSSqãÆ lÚ´ wïÞEß¾}áááÈÈHdggcÿþýxíµ×„÷:tHø¹W¯^hذ!"""4Úݵk6oÞ,¼ŽÅ¦M›ðøñc¬]»V(_³f ¾ÿþ{$Jnn.‚‚‚'''tïÞnnnˆŽŽFAA:„)S¦õ÷îÝ+üܵkWxxx”»Ÿò½½‘¼h.8|þ9rÛ·‡ÒÁòwß…øïJÖèÑÈ7®Üv ßË ¶mƒÝŠ0 BÃwÞÑÜî鉴ý ŠaÃ*l‡¨®prR ß ˆ´ÅDDu\NNÑ?åff\?€ê®?ÿü«W¯Æ7ŽÏ>û 'Nœ’‰ß~û-nÞ¼‰ãÇÃÛÛŒeË– 혘˜ <<\øïÁƒ¸zõ*V®\ ©T Ø·oBBB„÷:tH#ðÑGáÚµk8tè._¾¬“ñ>};vìÀ7°téRH$E_Ú‹OôààÁƒBý?þ!!!¸ví8€  Y³f‘H„×_]¨»mÛ6ág•J…#%®ª?¾Ìx<ˆ-[¶àÚµkxë­·„òcÇŽ!11pêÔ)¬Y³FHøùùáÏ?ÿDHH:„7ß|R©"‘“&MÚøã?4âÙ¿¿ðºd⢀ýòå0¹}ÀßIƒÅ‹ŸÛPtÛ€$³ìÅVÅ Ä•xš Ñ‹ÎÜ\…§OyzG•Ã#†ˆ¨Ž+¾p'é7¢ê˜3g† ™L&”•œ²?tèPŒ;ðôôÄ{ï½'lûã?Ÿ_ö-3"‘ÖÖÖ1bZ¶l)”ûûû ?—<oÓ¦ f̘+++x{{ãƒ>(³ÝéÓ§—º5ÁËË —ýȯ9sæ S§NÉd3f úõëWªSSS¡,11111J¥hÕªfÍš¥qb=jÔ(ØØØÂÂÂô÷ø+W® )) àè舾}û–ÏÛo¿îÝ»ÃÊÊJ#¹ÑÑÑ€­[· e®®®X³f š6m 333x{{cáÂ…h×®‰‰ àöíÛ \ºtIH0888ÀÏϯÌxž•üå—Èÿ;écë¿þSYZâñÚµP—ØWå1½z ß|Æ÷ï W­BÔ­[ˆß¹Ê `”˜‡/¾€u‰„ Q]&ýó€H[L‘Þù”Xä­XñI%8p@ãÄ{æÌ™Â¶œœÄÄįOœ8™3g¢gÏžhÙ²¥ðž›7o uRRR„Ÿ£¢¢„Ÿ[µj¥ó¯«êÙvJ&'Šû=z4Dgö6n܈¡C‡¢mÛ¶èÕ«Þÿ} ï133Ä „×ÅÉ“’ÉÑ£G 3žU|"–––ÛŠ×(¹ÿ»té"̰(‹ ,¼.ž%PòvqãÆÁÈH»»UÕ¦¦x¼v-TææåIK—¢ÀÕU«6¬7n„H©d÷éÅðáP™›#×Ç%ni°Ù°A«öˆˆê#&ˆˆˆHïž=)­¬âÅù~ùå¼ýöÛ8sæ Ê9PPPP­þ*K¤Åž¾}ûbË–-:t(7n ±X µZGáàÁƒxíµ×píÚ5¡þÔ©S…ìcÇŽ!!!'NœúWÁ=ö%gbˆÅÏÿ:¨Mü%o8pàÒÓÓqòäI¡òn_(Q|<Ĺ¹eÅ· høD’¨ÐÅEc[¡³³F?ʼn""CÃE‰ˆˆè…Ô¬Y3aúûرcñí·ß>÷=%ï§ïÛ·/þóŸÿ@.—C,cðàÁW½‹¹»» 3 îܹ£±íÙ×Å6VòÙõwîÜAûöí…×wïÞÕè¿X·nÝЭ[7EO>ˆŠŠÂ_|   (•J9r:tPtKÀ!CpàÀàÝwßEFF {÷îhÒ¤I¥b|VÉý€Â ¯ð¿ôÒKðööFhh(RRRðÑG!÷ïú>}ú Q£FZ÷m”˜ù»ïª¢µQÔ DJ%l×­CnÇŽxÚ§ÏsÛP–HzÅÆj¶'ü¬25…ºœ™DDõgÑ iâĉÂÏ{÷îÅÆ‘’’‚¼¼<<|øçÎÃ矎ùóç õJNk755………233±víÚ2“0¬Ä*ó!!!ذa²²²Š•+Wêd,?þø#‚ƒƒ‘?þøgΜ)Õÿ²e˰hÑ"øûû#>>jµ–––WçŸ}Ìâ›o¾)ü|õêUáçÊ^/KÉ+þ111ø÷¿ÿˆˆäääàþýûX¼x±ÆmϾçôéÓe–?¨°ò¹s!yò5jR-*Ú¨VC>>ŒâãŸÛNNïÞÂÏýÙáÃ?} Ó«WaýÛoeÖ#"24œ!@DDD/¤böìÙX·n”J%¾þúk|ýõ×¥êõìÙSøyÔ¨QX±b€¢'üù矊îáoݺ5n—1å|øðá8räˆp’¾lÙ2áÉ“&MÒXc ªú÷ï¯qϱvíÚaÚ´i€ôôtìÞ½[c–CIR©£GÖ(kÙ²%:wîŒÀÀ@¡ÌÖÖVëÅû*âçç‡ýë_øñÇ¡V«qüøq?~\£Î!C4^1K—.…¢ÄêýÎÎΟÑóØ/] Ó¿o(pwGÊ—_Ben³€ÈŽ…8= çÎEü®]PW°®Aúë¯ÃâäI˜Ü¼ (•E3ž¡ttDêGiQ}ÃDDDôš?>vìØaÆÁÙÙÆÆÆÂ“ú÷ïo¿ýVã*þ¬Y³°xñb4kÖ ¦¦¦hР&L˜€­[· «à?K$á‡~À¼yóàìì ©T www,^¼XãiÕ1eʬ^½-Z´€±±1är9Þxã lÙ²ÆÆÆ€… bùòåðõõ…››LMMall gggŒ1{÷îEÛ¶mKµýÆoh¼5jT… VÆ{g]»vaäÈ‘Âþ·±±AçαzõjÛ €¢ÅGŽ©Q6a­Ö)ÙŸÂúïÇ0ª‘øÝw‚Éß|ƒ‚¿×0¹u öK–TØ–ÚÌ ñ;v åÓO‘Û±#TVV€D•¹9ò½½‘>{6bAA5o­ "ªËDj5NADô¢ILLÔ¸ÂV‘£Ge˜7OŽððˆŽŠˆ´ ¯=ŠfÍšÕH_………h×®òòòLJ§§gôED/.~0L2™ r¹¼Êïç-DDDDuT^^6mÚ$$z÷îÍdi """¢:hÀ€ˆŒŒ^›™™aÁ‚zŒˆˆˆê®!@DDDT‡YXX S§Nظq#Z´h¡ïpˆˆ¨á """"óôôDxxxöqâĉmŸˆˆê?Î """"""2@L &ˆˆˆˆˆˆˆ DDDDDDDˆ """""""Ä„‘bB€ˆˆˆˆˆˆÈ1!@DDDDDDd€˜ "¢*kÓæ &Mº ï0t¢>¥,õ}|DDDTyFú€ˆˆê®·ßnGG}‡¡õi,e©ïã#""¢ÊcB€ˆˆªlΜfúAgêÓXÊRßÇGDDD•Ç„UÙO?…ÁÑÑ£G»j”+•jøû'#,,J¥ žžVèÑÃ&&’2Û¹};ׯ?BQ¹Ü½{Ëaoo¢ÑÞ?܇‡‡ C‡:#"" /&!?_…öííàãc_f»ÙÙ…8}:å aC3øù9A©TcÓ¦´mkƒ>}–;–ªö©Íxôáyã Í@@@2ÄbúôiWW €Z \º”„ÐÐ ÈdF8°ììÊ‹.Æ]^\*àãcvílË|_pp*ÂÂ2¡PÀÙÙ:ÙÃÁÁ“Sˆ ÀÅE†‘#›”z¯J¥Æºua°±1ƤIîÕúìCC3píZ*²² àâ"C÷î°±1FNŽ6„ÁÕU†#JÇ VëÖ…ÁÊʯ½æQ©}FDDTULQ•ýøã=´ic«‘Ïœ9ˆŠRhÔ•ËMñý÷]СƒP–’’‡÷Þ ÂåËÉuÍÌŒ°hQ[ŒSÔna¡ kÖ„Â×× ññO±bŨÕÿÔ7Îß|ÓA£4Ìœ€ää\¡ÌÑÑK–´Çš5¡˜<ÙC#!ðìXªÒ§¶ã©È¾}ûô¹õŠM™â[[ãçÖ«h|ááYX»öžP÷›oBðÝwñò˘5+)¶•+ïb×®^ðô´Êt1îb%ãºw/ëÖ…il1¢ –/ï‰DHOÏÇoøãÖ­4z&&ÌŸß Ó§{ÂÌÌ—/§`ýúèÓGÍýuî\"V­º‹÷ÞkY*m?ûää\|ðA0üý5÷……–-ë€AƒãôéLjŒÌ‚¯¯,,4¿‚]¾œŒ•+ï`Ö,Îä "¢ÚÄéLNN!Þ|ÓññOѨ‘9z÷–C*ãÒ¥$DDdaÆŒËøóÏþpt4…R©ÆŒ—’gg ôìékkcÄÄ(pêT>ùä:¼¼¬ðÒKÿ\¾qã ΜyŒÞ½¢iSK$&æâèÑ8üþ{ †m‚îÝÍ ˜5«(àî.CŽP*Õ8> ^«Ô˜´í³*ã)˾}KTVdÈÆZ%ÊsýzÑø|}àáa‰°°Lœ=û_|q;ÛãîÝtŒã c\¼˜„{÷2°rå]üøcŽûY×®=Á©S èÝ[ަM­ƒãÇãqà@,ÜÜd˜;·`Ó¦ܺ•¹Üýú9ÁÚZŠøø§ LÁÕ«©˜>Ýðúëxç@ìÙƒ·ÞjªÑ×¶mQ06câD7rm?ûÂB5Þxá¡°°0B¿~ áädŽøø§¸t) wïf`РÆ7΋ÝÄáÃq?^³¯Ý»£cÇjŸ«2ž²¼úª ||h_yÓ÷µõäI~ù¥;z÷– eŸ|r ¿ÿƒààT?î¹¼hê}A œÄ_=†Z ˆDºwYq-_Þ£F¹e7ozaܸ¢öÞ~»9$ž<)ú,÷îí+Ä ùù*ܹ“.¼öók„F̱}{Þ|³)D‡÷çÏ'âÕW]JíKm?û#G⚦M­°ukÛ$²³ ñða6`Ä,]z¿ÿ£‘ÈÈÈlj èܹÜÜd•ÚODDDÕÁ„é̵k©€ÿÛ[H€‘‘óç·Ä±cñ¸zµ¨Î¥KIss#¬[õßs²Õj@­VÃÊJŠÍià-[Úhœœ¦ý'%ýskÀõëOsç¶’@Ñö·ßnŽ·Þº¬õ˜´í³*ã)Ë«¯º<·Ž.µje£‘ €—_vÄï¿Ç`ôhW“l©TŒÎðÇ1HNÎ…££©ÎÆý,77™F2Úµ³…ŸŸŽ{„2Ñ¢…5 h„íÛ£ð¿ÿ=À¸qnðð°„H‹Ñ¾ý?·§H$"LžìŽåËïàÂ…DôêU4æíÛ£ R©ñú랥bÐö³(šÑñÑG­J­™`aaook€Lf„Aƒaß¾‡ ËD³fV€b‘—§Ä¸qn•ÞODDDÕÁ„éLFF>ÀÅ¥ôUÎ&M, Ýó Ožý×®h­Ûwr2+UfnþÏ,„gãhÜØ¼T}gg ­û«LŸUOYjj ò4lXz|ÅÉœŠ¶åä(ènÜÏrv.ýÙEÇdfzôpÄŽ½°ysÆ?¼<%Z·.JLœè3³¾êŒï†ï¿¿­[£Ð«—ùù*ìÞNìѲ¥u©¾´ýì‹iËRõŸ5nœ+öí{ˆÝ»cðé§m»wÇÀÒRŠAƒ=÷ýDDDºÄ„錵uщéÇ 4i¢yB› µ‚nÅu_{Íöö¦(‹©©¸Ìrm㈠GGͶãⲫԦ¶}Vw<µ½†@uÕÔçWvR$6¶èó³²’ e:Ù£S§¢•ÿ“’r˜‚o¿ Á±cñع³Äb‘ëˆÎøý÷a´´ü2gTFñ1™—ŠN:5€‡‡%öí{ˆ?l…û÷3š×^ó€©iÙOá ""ª)L‘Îtè`={bðý÷÷СƒpuV©TcÕª»€Ž‹Nܺuk€Ý»£¡TªñÎ;Í…“¶bÉɹHHÈ©RíÛÛá?bðÃ÷±n]Wµ—§,µj½®èj<µ½†@uÕÔç­ÀÞ½ŸYC 'O&ÀÊJЦM‹¦Û$£MÕ~GGS ꌳgcÿþXDE)4žˆðúëžØ¹3;vDãòå$4jd?¿ê]™ïÖÍ»wÇà¿ÿ½ƒvíì44Åkß6-¸lÙmœ:•€€€¢'8ŒÇʼnˆ¨ö1!@DD:3lXcüðÃ=§bРÓOÏ‚µuÑsÞ`ÈglÚ;£qáBºww„½½123 ­@`` Þ|³)Ú¶­ÜêôEq8ã»ïBqöìc |úï§ ¨pþ|"ž>-šê.=§‘JÒÕ vý IDATxj{ ꪩÏÑÎÎ~xGŽÄ¡Y3+j­±bU 쌟~€{÷2зïqôë焆 ÍðèÑS\¼˜„I“Ü5£F¹`åÊ;øí·H„†fÀÛÛ­ZÙT+""¢ª`B€ˆˆtÆÌÌ¿þÚsæ *JíÛ£„mŽŽ¦øþûÎÂ~‰D„_íŽ>ºŠ3g ]+&—›V)-ä¶n]WÌœy‘‘YˆŒÌ88˜â“OÚàƒ‚an®Û?59žYM»C;xzZbýú0œ;—(”Ño¿Ý\xÝ­›nÜHÙ3 ï·°0ÂgŸµ)µÈL›æÿË033ÒÉ•y##þ÷¿îx÷Ý ¦ààÁXa›LfTj}{{ôïï„ãÇ@©GÕ&ˆˆ¨ÊÞ~»5O¸¼¼,qì˜/.]JBXX&”J5<<,Ñ«—#LL4ï‘¶µ5ÆÏ?wCDD‚ƒSñäI>ììŒáæ&ƒ½påÖÈHŒyó¼ááQz±Ââm^^š ºµkg‹Ó§àôé$$ä aC3øú: 'ŽÏ.÷ìXªÒ§¶ãчʌÏÝÝóæy£mÛÒW­ûô‘ÃÎÎÖÖÿÜÃ_Sã^° nŒÀÀT¨Tjtìh—^ÒL.̜٠S¦xàÊ•DE)ˆàädŠ^½ >«ø}äÈ&Â%Uå³wt4Åöí=’†ëן 'G  tïîPfï¼ÓÍ›Å1|x­ö‘®‰ÔÅÏ""¢Fbb" …Vu•aÞ<9ÂÃ#j8ªº%<< ›k<þ0--ãÇŸGddî‡-J¯,Oú•—§D«Váëë„uëºÖH_~y[·FâàÁ~e>]€ˆ¨.â÷Ã$“É —ËŸ_±œ!@DDõÒÙ³±n]ºww€³³spöl"22òÑ­›“µlݺûÈϯø„±±Ó§{ÕHÿqqÙØ»7QQY8t(íÚÙ1@DD ""ª—š6µB^žGÆk”·ic‹•+}ô•áZ¿þ²² *¬ci)­±„@||Ö¬ ‹ñÉ'­k¤""¢º„ ""ª—z÷–ãÒ¥Wpùr2bc³!‘ˆÑ²¥5:wn ó' ÐóÍšÕT«Ý¿_›aÞý56o‚Z­ÊÚ7n_fÝ›nbÒöIÈ+ÌÓ(?vëÖcõðÕðm꫱íZü5ÌÜ3é9éåÛ®oCÏ>øiÔOJ¤ê×~%""¢DDdð’Ip°p@_Ͼ0“šaSð¦rë*òJ¤ê=mÚ¢±ucÎ>˜Ø~"lÌlšŠŸ¯üŒ³g±óÆNLé8¥FJDDDô&ˆˆÈà}ÚÿS8X8@$áØýc&^jô®Ì½#òa-‡a䦑¸Ÿ|ÁqÁ­IŠ$D¦FÂQæˆÍ6 ïëíÑ­㽃ï!àaDDDTë˜ "¢jËWæcûõíˆ €J­BG玘Òq Ì¥æõ’IØ}k7’àÈSÀÙÆ=ÜzÀ·©/D"‘ž¢eŽZ×µ0¶(³\*‘¢»[wÜO¾5þ¹õÀLj[ÊK%ÜlÝ4êTD­Vãÿàí‘­Gb\»qZÇLDDDT&ˆˆ¨ZTj¦ïšŽ+¯egÂÏ`oÈ^으¶f¶€°ä0ŒÛ:Š<…Æû·]Û†qíÆá›W¾yn_ßœþ·ßÖ:¶ÃV ‘U#­ëWWHBLŒLбqG¡ÌÒÄ]]»"(6gÂÏ3r s±áÊ€_S¿ ÛÍ+ÌÇG>ÄÑ{G1÷å¹L‘N0!@DDÕr>òlÌl4¶­¶ s÷ÏÅÌ=3ájë 3D=‰B~a>Þëõ6Xn»)Ù)˜µgî%ßÃêá«1Ô{hM…ˆˆˆ DDT-j¨±e´”·Ê^iñ ü~öÑÐ#øjÐW0—šÃH\ô'gÅÐ'Ì^š€ÌÜL­úZØw!2ó´«  Öfœ ?ƒEÇa`ó˜Ýmv©íÖ¦ÖèíÑá)áˆI‹ALZ  £sG¼Ôè¥rÛ½Ÿ|3vÏ@^a¶MÚVa]"""¢ÊbB€ˆˆªÅÛÑ[#¶f¶ðmê‹=·ö <%mÚbbû‰Øw{f‘­G¢uÃÖhîÐ&F&Z?bÏ[î]C¨–á‡1ÿÐ|ôóê‡ïF|±H¬±]¥VaÚ®iŠ Âï!Ðl,M,“ƒÍÁ›1m×4¬º#ZÐxßýäû÷Û88Y9aÇk;ÐØºqm‹ˆˆˆ DDT-åÌ[›Z(ºÿÜíÜqjÖ)¼sþÑþø_àÿð(óz¸÷À‡}>„W¯çöõ¢­!°íÚ6,>¹š Àÿø?aDIç#Ï#(6ÃZÃêá«5¶ öŒž?ôĪó«J%¤)$b 2s3‘Ÿ]cc """ÃÅ„UKXr ”J¤å! !ŠV×/fmj)§ØKR$aö³1uçTü5û¯R«ð?ëEZCàÿ°úüj ñ‚UÃWA"’”Y/6=àiïYj›½¹=lÌlŸ¥Z©Ñ†‡¾ù=¦íš†‰Û&â—±¿ }ãö53"""2HLQµ¤d§à«S_á3ßÏ`,1†Z­Æ¦àMŒ „‹ \l\›‚7¡…C tuí*¼×ÖÌ2’’æÍ+ìëEXC@­Vã›3ß`cÐFŒh5ˇ,/7@˜êÿûÍßñJ‹W„Ä€R¥Ä¦àMHR$¡¡eÃ2Ûhîл&ïÂÔS1uçTü4ê'ôpï¡ó1‘abB€ˆˆªÅÓÞ{níÁáÐÃp³uCBV’É€ù}æ õÎEœÃ’SK`al#25YyY°5³©©5þ ÿKxà“œ'€ƒwâzüuÀ€æ0ÍgàxØql Ú‘H„G™0eÇ”RíMõ™ŠAÍzº÷„§½'"R#0è—Að°ó€ÌX†ØŒXåwLß53öÌÀÊa+1¸Å`ˆˆˆ DDT-îvîXÐg]ˆ[ ·–&–XØo¡Æ‰ëôNÓ¡R«àãФP¡¼‹K|Òÿ˜IÍj=öbÉÙÉ¥nEHÈL@Bf ™C3¡¼xMµZ Ø 2Ûókæ'ü,•H±eâ,>±§ÃO#"5BØfonÙÝfcz§éÆç(sÄö×¶ã­ÝoáÝï"37^šP¹A=C¤V«Õú‚ˆˆ4%&&B¡PhU÷èQæÍ“#<<âù•uH¥V!(6¶f¶hæÐ ÊÑwR©UØ{?vÝÜ…{I÷Ÿ>?õAW×®xÝçux;zkÔÑÇó¢©ìþåïQÝÁoDDTeÉÙÉ€~^ýx¢ZCg=À}\“x×}_žøÛ¯o×(‹ËˆÃž[{pêÁ)ÿ;XO‘Õ•Ý¿ü"ª;øJDD•v2ì$æì#¼n½¢u™õ>íÿ)¦wšþÜöcñË•_p-þy 4´lˆÍbîËs!3‘(ºo·ÕŠVðmê‹ÿ ü¾9ý .D]@¾2í·Ç¾ á-×¼Jm×¶áRô%<àØ`ìš¼«T‚²2ÿvU….>‹²èjÿVVMþm¨ŠšÚ¿ºwãÇ¿___ 0®®®ÿÏÞÇEUõÿ "û¢‚(Ê"⮩äŠeŠ[X>n-¤•¹·ø¨e¹åÄ›'¸0ã{ÆíaPËAD݈⧰ŸtÖ MÅÅÆ…­¯l%òíHöMÜG÷dæf²ýüvº^õ¼øôéO šDÔŒ(§…³þ¥õ4¯ßœe!ËPiT:õO%œÂÓÑ“¯íàÜ;çØúÊV\í\Ù½Ÿ¿ÏàUŸW9òúξ}–¯†|…ÒDÉÊЕ÷ÕŸŠŽqÉÕçSÎóÃɨkZ—yýæqâÍ„ý;ŒÏŸù{ {v\Ø¡àîþ5²kDàËœ{çÑ3£±®cm”¾:Þ>®>DÏŒFi¢¤‡{ý¦:¯€ÊíÇ•÷Ò”7Ù—J¶7ý‰éœxóQ3¢šÄý?ÀÅÖÅ íUVmøÌ4¶mLC›†œN:MV^V¥úQÙÏ“‹­ [^ÞBäÛ‘ì¿—-r§ðóƒæëm£"¿»*ßáÒTd|”¿ •QUãk|¸»»³|ùrúöíË AƒøüóÏ‰ŠŠªXă@®BQc~=÷+Eê" \À –ƒ´å^õ½øêÙ¯K #èrΙe –X®½\ÔÝÁ¹~sôà .Þ¸¨ÓþüþóYzb)ËN,#9;™UÎò¤¬$šÚ7Õ¾v´tdéð¥XšYÐÞ¥=c»Œe~Ð|:»vfVŸYÚºƒ[ fûùíŒ>Hna.f•êOeí¾¸€7{¾ÉèΣµåCÚ ÁDa´ߦ±3j§ö‹9€¥™%ßÿGKG½öî·ïPññ®¨5/¬©ôºÆR™q¯ŒŠìK mjch`Ý@{ö¶ªÕ†ÏŒB¡àÛ¡ßòúÖ×ñ]â‹»£;ElÜŠ¯‡/NÖNåö£ÒŸ§ßSϲÍê5ã«!_á¿ÒŸ°Ä0Òn§Qߪ¾¶~E~wU†1>Ã¥1ÆøVTUÿm¨Œª_ãkÇgŸ}†J¥âÏ?ÿ$((ˆ;v°téRÚ´iÈ#xöÙg±³³«Æ˜Dm& !„5æJÚ¦þ6•©¿MÕ^ªA£ýYBg6 ÛèÝSÜľ 9ù9Ú²¬¼,†­¦syç?åæé¶íÜFûe¯Dc»ÆtiÒEoýF6H»Fû&•êOe]M¿ OÚõO%eqq:å­[—š €ûï{eÆûATÑqôà í~Qbר]x7ð.s;Ù—Æ<>†Ð„PüWùó¤ç“´mØ–¶ ÛâãꃙÒÌ ~U6ÎÚò™y¬Ñcš|ˆ#a÷ÅÝŠ9ÄÇû?&§ ‡ç;<Ïý?(ó^îÊ~žJ’%LMLéîÖ˜›1ÄeÄé$ ýÝUY÷û^”å~Ç·¢ªòoCeUåøV¥RI—.]èÒ¥ sæÌ!,,ŒÀÀ@þ÷¿ÿ±páBúõëǘ1cèСCµÇ&jI!„¨1%÷¯—ÜwYšže®kZW¯Ni ["·œLïþ¼åûnnX˜Z P(˜»w.ëÃ×ë­cnj~Ï8J[¦P(túQ™þܯ’ aoaÏe÷Û÷ÊŒwEÕ–9 bã^Ù—¬Í­ùùÅŸ¹œz™“ñ'¹xã"gI¿“Îý?À¿••ÅY›>3u”uðk ùEù,²˜ŸOÿÌ‚} pwtçµÇ_+· c¾¯ÿlËÐß]%Ö4zËòŠîT»ß÷¢<Æ_CUå߆Ú:¾UÍÇÇæÎË®]»Ø°aǧgÏžLž<™nݺÕtˆ¢†HB@!D)9Xûé…ŸèéÞÓ¨mÇgÄðö“oë¨ ‰ 1ê¶JTeþÉÝÑ(ž]¾yýæ:ËÅÀÍ¡ú&“ªèx+PP¤*ª¶øŒ¥¢ã¾{Üî2Û»×8Tf_ònà­sFÿmoðÎïïàëá‹]]»2·W^œU¥*?3J%ødÿ'=^æke>OR.póÎM«ŠÔEœˆ;PéÛcJ®*¸{r¼%m×ߊªÊýâAߪbeeÅÈ‘#9r$ÁÁÁ,]º”Q£FÑ©S'fΜI§Nj:DQÍdRA!„5fh»¡(J¦ÿ6Í›IÎN¦PUHÚí4ÂØ4Ÿe'–UªíF¶Å—k®8¹‚ë·®“W”Gdr$“¶L"6=Ö˜ÝЪÊþüSÉ}µßÿ†uáëH»FV^;.ìàƒ?>àé–Oe[†¨èxÛ[Øs%í ñ™ñŸA[ó ÊÊûWW{Üï5Ù—fíšÅâc‹9wý·òo‘W”GDrWÒ®P¨*$åVJ¹Û«)ÆøÌD§EóêÆWÙsi×o]G£Ñ Ö¨¹’v…™»f¢Ö¨±³(û~éʼ¯w ï01p"×"È-Ì%æf S·O%æf >®>:· T„…™lq4ö(›Ïn&'?‡›wn²áÌ>?üy¥Ú¼ÆߊªÊߥµm|kR=øùçŸÙ¼y3–––<ÿüóÌž=›ÌÌÌšMT#¹B@!Dqwpç£1wï\fížUj‰Ý&VªígZ?Ã’à%ž $ðl ¶ÜÚÜš~ÞýºT©vËR•ýù§6ÎmÛe,+CW2oï<æí§³|p«Áôóîg”m¢¢ãÝ­i7~ú>Ëþ¾g{]ÀºjÒ@E{ÜËC÷¥ë·®³ùìf¾9ö^ÖέñªïeÐöjBE?3c6ŽáhìQ6ŒÚ€«P|Iö±Øc‹=Ÿ¹V©Uüq¹ø‰fŒí2¶Ì8*ó¾>Þäqâ2â¾f¸N¹¥™%óúé®_Q㺎ãà™µk³vý=.#;ŒdsÄæûj»,U5¾UÕ¿Kkj|k«Ž;²zõjvîÜÉÇ̾}û˜7oþþUw»‘¨=$! „¢F=×á9Z:µdUè*BBI¿“Ž£¥#îîø·ògH›!•j×ÅÖ…µ/®å³CŸqîú9L&tvíÌ»½ßÕ9`5¶ªêOifõ™EK§–¬ýs-—Ó.£Ö¨ñ¬çɈv#tfJ¯ï9}çP¤."$>„¬¼,g×vÆ÷²ÆÁÐ}é3ÿÏ<Ⱦ+ûˆMEƒ†F¶Øb c£3Ù[m÷ûýÌ4¯ßœµ/®eÛ¹mD$G˜™Tvj܉É=&—zùþ?ïñ¯èûjW׎ £6°`ßBBQ«ÕÅûüSïÒÊ©Õ}ŒŒî4š;wXf=)·Rhbß„1¡§{Ïj?`­ìøÞ¯ªü]Z›Æ·6ñ÷÷ç‰'ž`Ñ¢EL:•¨¨(¦OŸŽ‰‰\Tþ0ShjÃ_!„:RRRÈÉ1lVä]»¬™2Å™èè˜*ŽJ!j¿ãW³>|=ßý¶Ôå*µŠ–ÿkI/^¬znU5G÷à+o|EÍ1æ÷mÛ¶1gΞxâ ¾øâ ,--Ë_©íÚµ£]»vüòË/÷SUQ©Tœ8q‚;vpæÌ177§M›6Œ5Šè­3~üxû,Ÿ~ú)O=õ¦¦¦}:#GŽÄÞÞžÄÄDŽ?N\\\™í¬X±B¯,))‰Q£FñÞ{ïáãã0ÏŸ?[[[fΜIïÞ½±³³#>>žÅ‹³{÷n~úé'&MšdüÎþ¿>úˆøøx–-[F:uJ­Sr@_PP@pp0ÁÁÁ¼öÚkÌž=[['""‚õë×cmmÍܹséÛ·/EEEüñÇ|òÉ'U¿¡$! „B!„¢L]ºtaÛ¶m :€!C†Ð A<<<ððð¨p›)))¼òÊ ï>J IDAT+L:•ÿžèó×_¥¨¨ˆ 0hÐ m¹——_}õaaaikÖ¬¹Ÿ®éY´hëׯgÖ¬Yøùùé-wwwgáÂ…téÒ'''’““ùõ×_Y¶l«V­¢ÿþÚäÆÞ½{˜1cÇ×¶@VVŸþ¹Qc¯(I!„B!„(S£F¸qãcÆŒ!44ž|òIÚ¶mKÛ¶mñññÁÌÌÌàöÒÒÒxùå—™4iC† ÑYvåʦNÊÔ©Sµ· h4íÏ …ñŸx¡V«™?>ëÖ­cæÌ™Œ;¶ÔzsæÌÑyíááÁ´iÓP*•|ýõ×ìÝ»W›ˆ W¯^zíôêÕKB!„B!j7•J…©©)ÖÖÖüüóÏ\¾|™“'OrñâEIOOçƒ>Àß߿ܶ222xùå—yùå—1b„ÞrµZ­Ýæ½h6ÆEEE̘1ƒ;v0gÎÆŒcp{%JæHKKÓ[VZãîùjŠ$„B!„B”éúõë:OðööÖ™ð7ÞàwÞÁ××;;»{¶“••Å+¯¼ÂÈ‘#y饗J­Sr°þÓO?ѳgO#õàÞrssyã78zô(óæÍcôèÑ•jçÔ©SÔ¯__[Ö´iSŽ9¢×ßãÇW2bã‘„€B!„Bˆ2?~œŽ;2kÖ,6lHß¾}qssÃÌÌŒK—.qåÊ III¹gB ''‡1cÆðôÓO—y~èС,[¶ŒéÓ§k“ õë×'++‹«W¯²sçNœ2‡À­[·7n§OŸæÃ?äÅ_,³~pp07nä¹çžÃËË {{{’““Ù¶mË–- _¿~Úú `ùòå,Z´+++z÷îZ­æ?þ`É’%•ŽÛX$! „¢Ò–žXŠ“µÃÛ /¿rdçe³:l5í]ÚÓ»Yo£¶]Q*Š%Ç—àYÏ“Á­×h,eÉÉÏ!4!”¸Œ8Tjžõ<ñõ𥎲ô™‘³‰¸AbV"æ¦æ´qnƒ«O•Ü“)„âÁÇ™3g?~<ëÖ­cóæÍ|óÍ7zõZ·n——×=Û™8q"gÏžåìÙ³,Z´Hoù‡~H@@îîî|ôÑGÌ;—Y³fݳ-c8pàþù'sçÎeîܹzuî¾… ¨¨ˆ;w²sçÎRÛ{ùå—éÒ¥‹öu‡xî¹çØ´iï¼óŽN]vîÜY¡¹ŒMB!*í»àïh×°ñùÙ|}ìkFuUm oŽ}ƒ«½+CÛÕ)/Rñõ±¯ñkîWkïï}Ÿ­‘[É+ÊÓ)w²vâ‹g¾ ›[7mÙÕŒ«¼ûû»œN:­×NK§–|;ô[ÜÜ«:d!„/¾øžzê)Ú·oO`` ûöí#66FC£F8p cÆŒÁÄÄäží\¸pÁàm>÷Üs´lÙ’U«VJzz:ŽŽŽ¸»»ãïï¯7auéÙ³'ß}÷DEE‘ššŠ íÚµã…^ ÿþzë,X°7776nÜHrr2 6$ €víÚ±sçNlmmk 'Å$! „¢Ò^ïñ:NÖN5†Q|ü-]›vÕK<ö_ÙeKžð|‚¦MÉ-ÌåÈ_GHÈL`BàöMܧ}Ÿ’²’8tW;WÚ»´§±]cÒ盧çÒ.Þ¸ÈØMcÙ;~/¦&òA!ìÞ½›]»vñý÷ߣT*qrrâõ×_çõ×_/wÝÈÈH×áááÚvûöíùꫯ*´NE 2¤BÉ¥RIÿþýK=ð¿&Nœ¨wUÇ~ 3Cu“¿öB!*mr÷É5‚>óÿŒînÝQš(µe*ŠW7¼Ê‰¸쿲Ÿ;ßéáèÁ¦Ñ›èÔ¸“NS{MeèOC‰Ëˆ#,!Lçª!„¦ .0sæLFEŸ>}j:œÖ¦M›HOO§_¿~4nܘ7n°uëVÖ­[‡••U©$¬.’BQi÷šC@¥Q|5˜Ë©—Q©U4«ß _w_ÌMÍõÚ¸]p›ýWös-û mÒÏ»Ÿ^:wýáIáääàlí̓͞¤že=íß}ßÔ(BâBPkÔø4ñ¡ƒKmÝkÙ×<ˆZ£&>#ž¯}­]6¬Ý0X5ÐÙvÌÍŽÅ£@U@ÇÆñqõ1x¼ªŠ¯‡¯^™R¡Ä¯¹'âNp§ð޶¼‘m#Ù6Ò«ïbëÂï¬ _Gf^f•Æ+„¢æýøã<ÿüóXZZ–º<22’W_}•Ž;2{öìjŽîá’Í¢E‹J7aΜ9÷|ªƒ$„BTZisD§E3yëdbÓcuê:[;óÍÐotÎLG&G2aËRsRµe ¬°`à‚R·—v;i¿MãDÜ r 3 æõ›ÇˆöÅÏ2¾û¾ÿ‹7.²ìÄ2úCÚ á¿ƒÿ‹R¡äZö5m 1+Q'!еiW„À÷!ß³èð"ç?×á9>ôIÙõÿ¶ÛFBf‚AuFwƒ…ƒÁõï¦Ñh8{€Ž;´ÎÍ;7håÔªRÛBQûåçç3{öl¶oߎ½½=C‡êß*÷ûï¿3kÖ,ºtéÂwß}W£“Þ= žþy²³³Ù¿?ñññ(•JZ·n͸qãjüÊ I!„0šÜÂ\ÆnKRVlñd³'131ãøÕãÄÜŒaüæñì·'k'nÜfâ–‰¤æ¤âá诇/*µŠÃfÖ.ý…UjãÇ™‰«+½<{aW׎¸Œ8ö]ÙÇìݳñªïÅcÓ®s:é4û®ìãIÏ'iÞ 9ÉÙÉì½´—íç·ãîàÎ[¾oÑȶS|§ðÍñohlÛ˜aí†i×ol×Xûó™kg8} ¸­úÍIÉIaWÔ.6Elbp«ÁôpïQîøl;·à«Á§+ÿ %~8ùw ï™›Ip\0ÑiÑŒy|ŒÞí¥9sí AW‚x¦õ3¸9¸¼M!„ŽÔÔT&L˜À… P(lÞ¼Y'!pûömþûßÿòË/¿ðÊ+¯0sæLLMåñ~ÙØØ0}út¦OŸ^Ó¡è‘wW!„Ñ츰ƒ¤¬$:5îÄO/ü„…™Eê"¦nŸÊžK{ø%ü¦öšÊïQ¿s#罃C1‡ J m;´B·8Z:\à‡ÐH»¦}ýR§—˜öÄ´r×KÈL`òÖɸ9¸ñá€+´M!„†¨¨(ÆGzz:*• €S§N‘œœŒ‹‹ àƒ>àÎ;|õÕWøûû×pÄ¢:HB@!„Ñ”<Êîß½þ­M˜š˜òNïwØsi&?ë÷tbqÝ·|ßÒ& øòÿ7z¼ÁøÀñ:m¿zK3K–…,Ó^¶¯ÑhРÁ¶®-‘ɺ³»;¸ë$:¸t Ÿw?ö\ÚÕÔ+´tjiPßZ;µÖIÚG"ÞȹaPUýƒq]Æq»ð6w28›|–u§×|5˜_~¡uƒR׉¹Ãèõ£±2³bí‹k±1·©Ò…BT¿Ý»wóöÛo£R©´É(ž1Ù²eÄÄijÏ>Ëœ9s¨W¯^­‰‡‰$„BMV^Mí›ê-kb×…BAfn¦N]W;WýºöMôÊJ®Ø±Ñàx\íõÛ¾»ýìülƒÛr±uÑ+³4+ž¨H]dPU=‡À¸®ãt^ÿpò\È·Ç¿eþ€ùzõÏ&ŸåµM¯áhéÈÚ×>4BQL£Ñ°|ùrídvwÏPTTÄÆéС7n¤sçÎ5¦¨A’Ba4vuíˆÏŒ×;¨OÈJ@£Ñ`oa¯S71+Qï@´´ƒf;‹âú/u|‰zV¥Ÿ¹¨kZWçubfb©õJÚ·5·-³?ÆVÕs”¶þƒ ¹pã‚Þ²à«ÁLÚ2‰Fvøù…ŸïyBˆSnn.o¿ý6AAAz‰€»1{öl:tèpÏ:âá% !„FÓ©q'Ïòͱ⧠”Ü6 Ò¨øâðtv->ûÐɵ["·ðͱoôæX¼D¯íîM»³9b3*Š7{¾‰‰ÂDgyjN*É·’uÊ®f\ekäV½9‚.a[×–æ škËë(ëh¯^¨*U1‡@bV"ExÖóÔ[¶ùìfê[Õ×)ß{i/S›Š§£'k^\£óÈF!„¾ëׯ3nÜ8®\¹Rf2ÀÌÌŒ_ýU(I!„0šgZ?Ã’à%„%†1ð‡<éù$fÊâ§ D§EcW׎€Ž n5˜ÅGs4ö(O¯|__Ô5‡b‘[˜«×¶kV‡­fÙ =J÷Ô³¬Gv^6W3®ÊØ.ciïÒ^»Ž£¥#ïî|—Q;ñnà͵ìkì½´•FÅŸ1(OLèîèÎ…” ¼½ãmšØ7ÁDa°vÃt;x¿ªbË©—™¸e"wƳž'Ž–Ždåeq*áÑiѼøØ‹Úú§N1eûÔ57yœu§×éµù„ç:OkBñà8}ú4&L ''Gg¾€{),,dÛ¶mÌš5‹:uêTC„¢6‘„€B£±0³`åÈ•LÞ:™ØôX~ ÿE»ÌÉÚ‰oþõöö«:V|?ü{&l™@lz,±é±@ñÙìO}¤-“tÚV*”¬|n%ïí|ÑØ±Yg¹³µ³N2НXhV¯߇|Ïá¿kˇ´Âë=_ש;Æg ïízíç·k˺6íjÔ„@Uhjß”–N- K #,1Lg™½…=³ûÌæ Ï'´eײ¯¡RA\{zm©mÚ˜ÛHB@!H«˜ˆJ¥*÷Ê€»åääpèÐ!ú÷ï_…±‰ÚHB!*íõ¯ëÝÿïUß‹=ã÷p<ö8—S/£Ò¨ðtôä Ï'075שÛÎ¥û&ìcÿ•ý\˾†³3~ÍýÐh4Lñ¢w€ï`áÀòˉ¹CXbéwÒq´tÄÝÁWG–˜Ñ{O·zšÐøPÔ5];—z°;¬Ý0Ú4lÃÉø“dåf¡ACc»Æ˜*M™â;¥ÔKòK–yÕ÷ªÌð…W}/vŒÙAÔ(.¤\ åV –u,ñªçÅãM×ó Zè=ZñŸ:6îX•! !„02•JŶmó€ïQ©XZZj—) ¬¬¬´¯MLL°±ùû‰2J¥[[[bcc«3dQK(4I !„¨)))äääTw×.k¦Lq&::¦Š£zpäåÓfQüšû±lø²šG!„¨rò}àÑdmm³³s¥×7)¿ŠB!„B!6’B!„B!A2‡€Bˆ‡NY÷ý !„Bˆb’BñÐQ*”åNœ'„Bñ¨“[„B!„BˆG$„B!„BˆG$„B!„BˆG$„B!„BˆG$„B!„BˆG$„B!„BˆG$„B!„BˆG$„BTÚk›^cÁ¾Fo75'•€u¬[mô¶+ªPUHÀº¾8òE­nÓ˜j{|%näÜ`Ù LÞ:™€ul8³¡Üu2s3Yujon{“ñãYtx‰Y‰Õ­BQû˜ÖtB!\§N‘W˜gôvóUù„&„âÝÀÛèmßËèõ£iåÔŠÙ}g딫5jBB±­kk´mUE›w»W_ UÕñÃÇû?fuØj4¶¬cãŽe®s2þ$ol{ƒÌÜLmÙÁ胬YÁ¯c~¥•S«*‹W!„¨$! „¢ÒV=· ksëšÃ(BBQ(5†QÑ7£YûçZnÜ®žÀ…BˆZDB!*íñ&×tâ5§ïX5@¡P°çÒžrÿ=ø_r sÙa$ŸúT[îëáËèΣ)(*¨âˆ…BˆÚGB!*íµM¯áéèÉüþ£S—Çæ³›¹œz•Z…g=O†µF+gýK²#®E°)bIÙI¸Øºð|‡ç©oUÿžÛÌÊË"ðl áIáääàlíÌ€èãÕG[§PUÈ+^Á§‰oö|“_Â!$.µFMg×ÎŒî<K3K.¥^bþóQ©Uœ»~Ž€uÚvæö›‹§£§öµJ­bSÄ&ŽÆ¥@U@ÇÆy¥ó+÷u•Dª ÌøîÞö¡¿q,öññ(M”x7ðfx»áx8zÔ—’Kâ³ò²Øvn§Os+ÿMšÒ¯y?|=|õ⫊>ƒ“µ“Áu³ó² ºD]ÓºÌzj–Þr¥B‰…™…1ÃB!’BQi¥Í!°ûân¦ï˜N¡ªP[vø¯Ãüösýæ2ºóhmyàÙ@fïžZ£Ö–mÜÊÛO¼]êö“™8ŒÜ ò-‘[tÎü–Üomn͘c8R[÷@ô¶Fneè 8X8p+ÿ¡ ¡@ñcÉÏ%¯K¨5j&oÌèÚ²C1‡øãÒ¾ˆ™Ò¬üûµF]n|%~ àÏÄ?uÖ?}€U¡«øvè·ôñêcP_þLü“É['“~'ýï†baÝéuÌ|j&㺎3jŸ?Ùÿ 箟3pD`Ñ3‹hdÛÈàú†8›|•FE/·^,>¶˜ˆkXÕ±¢[Ón o?œº¦uºM!„âA !„F“’“ÂŒßgP¨*d`‹ l933ÿu˜Íg7óѾèìÚ™Öέ¹–}÷÷¾Z£fX»aôñêƒJ­b÷ÅÝ¥ÎnŸ“ŸÃ¤-“ÈÌËä_mÿEïf½±«kG|f<«O­fsÄfº7íγmžÕ®sä¯#X›[ónïwi^¿9É·’Yqr17cX°oŸ?ó9-´`]ÀºR'â»{’¹#ÁÞž÷žzæõ›“’“ÂwÁßq>å<».îbH›!/Câ»»ÿCÚ áñ&ãjçJ^QQ)Q¬[Íü ùôñêSn_2s3™¸e"™¹™tpéÀÈ#q±u!)+‰?.ÿÁ­ü[zñÝoŸ/¦^ÔIL”'·0×ຆº~ë:.¶.Œüy$17c´Ëv_ÜÍ/á¿°.`ööFß¶BQ›IB@!„ÑüzîWòŠòôîÓÐb.6.,>¶˜™ß>¿ÿUcܾs´uý[ùóîÎwÙ¹U·íó¿róÎMÞyò&uŸ¤³ìé–OóäwO²õÜV„€ k^XCkçÖÚ²A-Ñoy?vFíä£acnCצ]Q(ØYØÑµiW¶ó‹ò051eýKëµ—ç¸Ù»1jý(N'®TBÀøJnX°Ž“ñ'9ü×aö^ÚKªFƒ¹©9IYI\¿u†6 Ëì˧~$37“þÞýùnØw:Ë:è%ŒÑçYOÍ";?»Üz%Œ}uß–Åû§­¹-ÿñûŽÄgijâä .¥^bÁþ,¼ÈèÛB!j3I!„0š‹7.ðB‡ô–½ØñE[LTJP|¿;ÀÈö#õêŽl?R/!pæÚ‚.¬}Üœöç»ÏüBñYñ»¶,ðkîGàÙ@¢Ó¢iïÒÞ ¾µsi§s` жa[2îd”¶J¹ O¥Q1í·i=z϶nåߢ¡MÃ2·WréþÝ·ÜÍÆÜFçµ1ú\Ú¼ÕͪŽEüüêÏxÖû{^ˆ§¼žbÀŠ칸‡O}Z©[?„Bˆ•$„BMÉÙôÒ.½¶«k‡B¡ÐÖÉ+*ž{ ´gÝÛÕµÓ+»Sp€ˆäˆ{n¿Ži×¥µ}wû%±¢´˜Jïž¡" oÇù=Š›ƒ£:ÂÍÁ K3K kþ\ÃÞK{µI‘²”ŒùÝs”Å}® s4¶k €»£»N2ÀÕΕ Zp6ù,i·Óp±u1ê¶…BˆÚLB!Œ¦dæ÷³ÉgqspÓYy=Fƒ³sq]«âºçSÎëÙŽ¼©×vÉÚüþóñªïUêöMMtÿ¬]N½L¡ªPï¬odrqû%± Á ƒjc24¾’$È·C¿Õ™×àË#_ê7|¾¸ØaXB˜Þ™ÿªRæhíÜš:Ê:däf Ö¨1Q˜h—i4Òn§`YÇò^M!„%I!„0š'<Ÿ`íéµüïÐÿðnàM‹-HÊJbÞÞyÚ:½<{±.| ,¤Y½f¸;¸Å·|qXRÁ-ðSØOl?¿EÏ,¢©}Sí2•FEÐå Tj•Î:i·ÓøhßGüÇï?ÔQÖA£Ñ°:l5¡ ¡4µoªÓ†•¹‰Y‰zŒUÉÐøJ®¸8xZ›(Rñ]ðw„%†éµ{¯¾ø5÷cuØj>;ô.¶.: O 'õv*ý½ûµµaK3Kú6ïËî‹»Ytxo?ù6J…•ZÅ·Áßr-û-´(õŠ!„âa& !„FóT³§èæÖ¸žýñYÜÜ1Sšs3†BU!Íë7gDûÚºw$<)œ+âYÏ•ZÅÕŒ«´hЂ”œ¶»4éÂÈ#Ù±™>ËúÐľ õ­ê“—MbV"ùEùLì6ÿVþÚušÕkFàÙ@~úww’o%“š“ À;½ßÑi¿µskBâBè½´7í£@ÁÜ~sñtÔ½Äܘ ¯·go–_¼?æ±2t%–\M¿Jv~6mœÛp>å¼A}éæÖÁ­ó{ÔZñUœ¬p±uáZö5RsRy½ÇëFOTÕ£²âä Òs‹¡øÛ…ßO  ‹þ¼êóª¶þ;O¾Ã±Øc,YNàÙ@šØ7!)+‰´Ûi( fôžQ%q !„µYõœBñHP(|?üûâƒ~Mñ$o\D¥VÑß»?kÖjŸ÷®4Q²bÄ žòzŠ"u—S/s3†n=øôéOKmÿã3»ïlœ¬HÈL <)œ˜›1¨5jžnù4ƒ[Ö©ïáèÁ×ÿú¥BÉÙ䳤æ¤bcnÃ'ƒ>áé–OëÔÑ{ ¬p-û§NšJvžág¶+ÃÐø:4êÀ¼~ó°0³ >3žˆk( >{ú3º¹uÓk·¬¾|þìç¼åû6æ6ÜȹAĵRsRñqõa@‹UÚ_cJ½JhB(¡ ¡D§Eœ¬-»š~U§¾›ƒ?¿ø3­œZ‘~'ˆk¤ÝNÃÕΕï†~Gïf½«¿B!D Shªû†I!„åJII!''Ç º»vY3eŠ3ÑÑ1åW6²S §°6·Ö»¯àvÁmþºùjÔ¸Ù»•ùŒ÷”œ®e]ÃÙÆ™F¶È/Êç̵38Û8ko%¸›F£!.3Žô;é8Z:ÒØ¶±Î}øùEù´YÔ¿æ~,¾ŒBU!WÒ® Ö¨ñnàMe½6¡øÖƒè´h²ó²QkÔ´rj…µ¹5§Ná`á€woújšS §p´t¤yýæŽÚßë•´ih|¹…¹Ä¦Ç¢@W}/Ì”fÄgÆ“œL{—öX˜Y”Ù—»'1,YžW”G»&8Z:Þ3>côÙØnäÜ 6=öžËïµï$d&z;ûºöx8z P(ª(J!„¨>5ù}@ÔkkkœË¯x’BˆZèAIÔVÿL!„;ù>ðhºß„€Ì! „BÉøÀñÜο]f+s+VŒXQM !„BÜ›$„B# KãVþ­2ëØ˜ÛTS4B!„e“„€Bˆ‡Ž™ÒŒuëp°p¨Öí®¹Bïчÿ¤4QVS4B!„e“„€Bˆ‡Ž‰Â„®M»Vûv}\}ª}›B!„•%B!„B!A’B!„B!A’B!„B!A’B!„B!A’B!„B!A’B!„B!A’B!„B!A’BQií>oGÀº£·›˜•ˆ×B/>øã£·]QùEùx-ôbÒ–IµºMcªíñÕUµï×vÙyÙüõ;Ó~›F§¯:áµÐ‹ÿú_¹ë…&„2!p/~œvŸ·cÄšüzîWTjU5D-„â^Lk:!„¢6hñßtmÚ•5/¬©éPîÛÃÔ—‡ÕƒúÍÝ;—Q;+´ÎŠ“+øìàg:eg®á̵3¸Ú»âãêcÌ…BT€$„BTZäÛ‘5‚¢ÙÕµcp«ÁôñêCnQ.svÏ)³þñ«Çùìàg(J¦ôšÂ°¶Ã¨oUŸè´hV‡­ÆÔD¾Š !DM’ßÂB!„ øPûóžK{Ê­ÿÅá/˜ã7‡—;¿¬-oåÜŠÏü?»×jB!ª‰$„BTZ»ÏÛÑ®a;~yéò_ÏýÊÚÓk¹œzµFg=OF´Á¨N£0Qü=}Z£fUè*6œÙ@Rv mÐ1€A-Ýs›¡D]Ü+ IDAT ¡üpòN'&'?‡†6 Ðboõ| ksk øø6‹Úà×Üÿøý‡÷LH\*µ Ÿ&>Ìxr­œ[–Æ k_ øj0^ ½´ÛZ°ŽÇ=¦}}#çŸìÿ„£±G)PбqGf=5KÛVe$f%–_‰«WYwzǯ'>#¥‰ïÞ¼øØ‹ k7Ì ¾tmÚ€S §Xuj§Os+ÿMì›Ðß»?㺎î®ÎvÝgC·mÈ>t÷û<×o. ö/ $.¥‰’¾^}y¿ßûXÕ±âXì1[Ìű6·æ¹öÏñï^ÿ.µòö—ò”·ú²Ÿ×vÉÙÉD$GPϲ/uz©¦ÃBQ I!„0ª…òÃÉtÊ.¤\àà O çËg¿Ô–ÏûcëÃ×k_'d&ðÙÁÏ8ý|©m¯_Ïû¼F£Ñ–%f%²2t%ÁWƒÙ4zfÚeYyY<ÿóó¤ä¤hËŽüu„°„06ŽÚX¡ƒÚì¼lž_û< ™ Ú²à«ÁŒÞ0š  A8X8ÜVeâ›8¿nþ¥³~xR8áIáÜȹÁ¤î†MøóŸ?óá¾uÆ0æf KO,E¡P0ý‰éUÖgC·]‘}ŠÇñ…u/œ¬-Û¹…ÌÜLžìy&o¬¼.·0—%ÁKp´täŸWôÚ¹ŸýÅýÓÝÏKóò†— ¾lÐööŽßK³zÍ ®oˆó)ÅŸãî=ˆJ‰âãýs6ù,Vu¬èÖ´ÿîõo£oS!DÅHB@!„ÑœO9Ï' ®i]Þ{ê=¶ˆ™ÒŒÃæ£}±ãÂü[ùã×ܳÉgY¾kskæúÍ¥¯W_ŠÔEì¹´‡O|ª×vBfóƒæcknȨ̈fÒ»Yoì,ìˆÏˆgñ±Å쾸›ŸÂ~Ò90>•pŠÇ=Æwþû7ײ¯ñå‘/Ùsióƒæ³aÔ|\}ˆž}ÏIÞò‹òâ3¶]štañÅ4¯ßœ”œÞßû>ÁWƒÙ~~;¯ú¼Záñ2$¾^õ¼ßu<>®>¸Ú¹’W”ÇÅyïû, YÆønãËíKlz, ö/ÀDaÂØ®cÙ~$.¶.$e%ñÇå?075שoÌ>ºíŠìCwcO÷ž,±G.§^fʯSؽŸ°Ä0^õy•W|^ÁÞžÑx{ÇÛ¬ ]©—¨ÈûñOÙ?Ëz*³Ÿ×VéwÒP©U¼¸îEr sâÏÔ®‹»8ü×a6¼´á¾®°Bq$! „Âhv_Ü À›=ßdtçÑÚò!m†`¢0aÚoÓØµ¿æ~ì½´€½g0¼ÝpmÝQF‘•—Å—GtÏÿzîWŠÔE,¸@ç–¯ú^|õìW„%†t9Hç@ÉÒÌ’ïG|O=Ëz4«×Œ¯†|…ÿJÂÃH»F}«úõÍÁÂå#–k/×vwpg®ß\ý0ˆ‹7.Vd˜*ßüþóYzb)ËN,#9;™UN[IYI4µoZæö¶ŸßŽJ­âõ¯ë\ Ь^3&wŸ\¥}6tÛÙ‡J8Z:²tøR,Í,hïÒž±]Æ2?h>];3«Ï,mÝÁ­³ýüvF$·0WçLûýì/•Ù?«²ÚðôµF ÀîK»éîÖYOÍ£žññ,<¸#aÁþ¬ XWÑ !Ä£KB!ŒæjúUúxõÑ[VR—§ó/^zuŸðxB/!p%í S›ÊÔߦj/§Ö Ñþ¬@¡³NkçÖÚƒ»¦&¦twëNÌÍâ2â N´iØFïÞí&öMÈÉÏ1¨24¾¬¼,†­¦sIü?åæ•»½˜›1 jqï9îfÌ>ºíŠìCÚ8Ûh“%Û5 K“.zí4²i@Úí4màþö—ÊìŸUÙNm`cn@]Óº,ºDûÚ»7K†.¡×w½8•pJ/1#„¢úHB@!„Ñ)Æ?`)9ÛXr/xiþyÖ¼<‰³®i]ýõ«øÀ¬$¾-‘[HÎN¦¿wÞò} 77,L-P(ÌÝ;Wg†Š´[žªè³¡Û®È{óÏ[Ê[VÒvÉ>e¨²b2Öþi¬vjÃŽ@q©$PÂÂÌ7{7"’#ÈÈÍ„€BÔI!„0wGwF¤yýæ:ËÅÀÍÁMçÿ£±Gy©£î äGbèµ]r°òÓ ?ÑÓ½§Añ\H¹ÀÍ;7uÎú©‹8w@ç{ ŠTEµk,†ÆŸÀÛO¾­sÐV * $.D¯Ý{õ¥dÝÝwÓÒ©¥ñ:bC·]‘}ÈØ*²¿üSE÷ÏòÞ£ŠìçµU §Ø[Ø“™À­ü[:IÜÂ\â2ãPš(+5!§Bã0)¿ŠBa˜’{ž¿9þ ëÂבv;¬¼,v\ØÁ|ÀÓ-Ÿ`@‹üïÐÿ´3Âß¼s“µ§×ò]ðwzmm7¥BÉôߦ³9b3ÉÙɪ I»FXbóƒæ³ìÄ2uîÞabàD"®E[˜KÌͦnŸJÌÍ|\}t.ÿ¶·°çJÚâ3ã+|渲 ¯‘mñ%î+N®àú­ëäå™ɤ-“ˆMÕk÷^}ÒfJ%ËB–±èð"®f\%¯(¿nþŲËXujU•õÕÐmWd2¶Šì/ÿTÑýó^ïQeöóÒ¬ya Ñ3£ þW³ý+JF´Ana.ol{ƒ‹7.’W”ÇåÔ˼±í 2s3éîÖ]®Bˆ$W!„0š6ÎmÛe,+CW2oï<æí§³|p«ÁôóîOüöbÇY¾ž÷v¾§Wï÷¨ßuÊÜÜùhàGÌÝ;—Y»gQš‰Ý&ê¼~¼ÉãÄeÄ1|ÍprK3KæõÓ­[Ónüõ;}–ý}ïúº€u<Öè1z^9†Æ÷LëgX¼„À³ž Ô–[›[ÓÏ»A—ƒtÖ¿W_º6íÊì>³Y°ËN,Ó;°|½ÇëÆìžGƒ¶]‘}ÈØ*²¿üSE÷ϲޣŠîçÕiSÄ&fïž­Sö}È÷|ò=P<)èý?Ð.{³Ç›ùëÁWƒ¼j°Îzöö¼ï÷~•Ç,„âÞ$! „¨fõ™EK§–¬ýs-—Ó.£Ö¨ñ¬çɈv#tf‡â™óÝìÝØpfIÙI8[;óÂc/0¸µ~Bà¹ÏÑÒ©%«BWšJút-qwpÇ¿•?CÚ Ñ©oW׎ £6°`ßBBQ«ÕtvíÌ»O½K+'ÝGÍé;‡"u!ñ!dåeé<¾ªŸ‹­ k_\Ëg‡>ãÜõs˜(LŠëõ~W'A`H_^ñyïÞ¬:µŠð¤pr sibß„Þx­ËkUÚ_C·]‘}Ș*²¿”¦"ûgYïQE÷óÚÌÚÜš /mà›ãß°çÒRsRq°tÀ×Ý—÷ú7®v®5¢B<ÒšêøÆ#„¢BRRRÈÉ1l÷]»¬™2Å™èè˜*ŽêÁ‘_”O›EmðkîDzáå_^-m²¿!ò}àÑdmm³³s¥×—9„B!„BˆGÜ2 „BIÇ/;r+ÿV™ulÌmŸ^MU½G±ÏB!ÄÃB®B!„B!Ar…€Bˆ‡Ž¹©9Ñ3£«}»âYð‡¡Ï5µ¿!„5M®B!„B!A’B!„B!A’B!„B!A’B!„B!A’B!„B!A’B!„B!A’B!„B!A’B!j™ì¼l¾>ö5‡bÕt(B!„xˆIB@!„¨e²ó%! „Bˆª' !„B!„â$ !„B!„âdZÓ!„x0©4*–_‚g=O·LÌÍ‚¯“‘›Áäî“Y{z-æ¦æt ЮS¨*d鉥Œë:K3Kí²M›ÈÊËb|×ñµ®/fJ3Î]?GxR8998[;ód³'©gYO¯½ô;é„&„Ÿ©ÒïúÞtwïŽR¡Ô«{»à6û¯ìçZö5Ú4¤Ÿw¿*ï¯B!HB@!D%©ŠøúØ×ø5÷ãJê–/Ñ.Ûe,¡ ¡Š9Ä¿ÚþK{à–Æ×Ǿ möôñê@ª€ƒ>¤kÓ®å&¶ÛFBf‚ÁqŽî< ‡ûêKV^Ó~›Æ‰¸:ëY˜Y0¯ß®>ÇçhéhpÝÒú²ûân"“#y¦õ3,¼¥Éß—ýG&G2bÍ~<õ#‹‡,`~ÿùxÖó$$.„äìdê(ëÐ¥IÒn§žNFnüõ;7rnÐË£ËG,×Þ–[˜Ëèõ£I¿“npÜB!„•! !„÷ÅÃÑC/àæàFû&»Z|°Ÿ‘›AÔ(F´uk¶Ÿßεìk4²mıØc8Y;Ѽ~ór·7´íP£÷¡Di}9~õ8–f–, Y†F£@£Ñ Aƒm]["“#µõÏ\;Øc(R•º›·oâ`áÀéÄÓ¼åû–6Å·!¼Ñã ÆVÿ\ B!„x´HB@!Ä}qwt¿ç2__Ö‡¯')+‰ÓI§Ñh4ôòè…U+ øÊ€¾Íûr1õ"ÿjó/ƒ¶Ws”(­/%gê7Fl,wý¸>?ü9u”uðkƒ–u,Q àhìQ“ÂQkÔdåeàjçª×Nû&Å+„Bq?$! „â¾”6s~‰žî=Y¾žcWq:ñ4ík'ÕónàÍÑØ£˜›š£Ñh º]ªvÒúbgaÀK_¢ž•þêšÖà`ÌA¾ú­ö6‰Q7¢tÛ­[ÜnbV"NÖN:Ë*’ðB!„¨,I!„¨2=Üz 4Qrô¯â³ã½›õÖ.ëéÞ“mç¶QGYG[×U9‡@iº7íÎæˆÍ¨4*Þìù&& å©9©$ßJ@¡P`mn­S'$.„Wè”uríÄ–È-|sì½9î~ÊB!DU‘„€Bˆ*c[×–¶ÎmÙ½ŸBU!½<{i—õòèŧ~d×Å]´tjIëµY•s”Æ¿µ?«ÃV³áÌŽÆ¥‡{êYÖ#;/›«W el—±´wiOÇF˜8‘-â`éÀ•´+Ž9Œ£¥#i·Ó´ín5˜ÅGs4ö(O¯|__Ô5‡b‘[˜[­}B!Ä£IBñ€ûÿ“Òh4ÿ\›ôòìEDrJ%ÝݺkË»4íBe TôtïYƒ–M©P²ò¹•¼·ó=D`sÄfåÎÖδwiÀ€x¦õ3츰ƒÍgÿ®7²ÃHlêØ°êÔ*m™U+¾þ=¶L 6=–ØôXê[Õç“AŸ0iˤjèBˆ‡Emý j7I!ÄÎÒ²x’º¼<,,ÔÕ¶]S¥)S|§àYϳÌzCÚ ÁDa‚ƒ…ƒö¾y(¾ïþý~ïs#ç[ ¬êpËT^_,X>b917cK #ýN:ޖޏ;¸ããê£ó(Â/Ÿý’€Žœ»~…BAçÆiçÒŽc±Ç°6·Ö™‡ K;öMØÇþ+û¹–} ggüšû¡Ñh˜â;E›hB!Êsû¶ VVÕ÷=@<š’ç' !„¨5RRRÈÉÉ1¨nT”9Ï<ãÊÞ½ñ4kVXÅ‘ !„¢6úúkvì°!((¾¦CÕÈÚÚggçJ¯oR~!„µY³f˜šj8Þ¼¦CB!D ¹pÁœ- j: ñ€‘„€B<àêÔÑЩSGŽXÖt(B!„¨ Nœ° {w™”VTŒ$„â!пÿm‚‚¬¸}[~­ !„š}û¬ÈË3¡oßÛ5ŠxÀÈ7G!„x z µZÁ/¿ØÖt(B!„¨F ¬\iOïÞ·iذ¨¦ÃI!ÄCÀÎNÍøñ™|û­7n(Ë_A!„…­[m8wΜ©SÓk:ñ’„€B<$ÆÏÀÎNÍ_Ô+¿²B!x99&|þy=^x!‹V­dBAQq’Bˆ‡„……†9sÒØ²Å†­[mj:!„BT!µ¦OwB­†iÓ2j:ñ€’„€B}Za[HHŒáçç§°ÝØØ#FŒhÈðˆˆ¨ Èd2™¦ƒ """¢Ú)((€µµ5ž>}ZcÙ©S§b×®] 5E|d€ˆˆˆ¨ 100€ôôôj,;yò䈈ˆˆš*Ž "j„ PRR¢é0ˆ¨‘ò÷÷ǘ1cª-cff†˜˜ˆD¢ŠŠˆˆš®®. T?^±‘šdee!''GÓaQ#Õ¡C˜››#33³Òý"‘£FBzzzGFDD I,×)!ÀGˆˆˆˆš¡Pˆ—^z©Ê»ÿÅÅÅ=ztGEDDM DDDDMÐèÑ£Q\\\é¾-Z {÷î 55L5Aݺuƒ­­m…í"‘>>>ÐÑá×<""ªÿR5QcÆŒ©ðØ@qq1F¥¡ˆˆˆ¨)aB€ˆˆˆ¨‰;vl…ÇZ·n 777 EDDDM DDDDM”‹‹ œå?ëêêÂÇÇGƒQS„Q6~üxèê–­$]RR‚‘#Gj8"""j*˜ """jÂF…’’@ÇŽáää¤Ù€ˆˆ¨É`B€ˆˆˆ¨ ³··‡‡‡€²ÑDDDµ¥«éˆˆ¨á¥¦ qåŠ!"#õ–¦‹œ¦C"¢:J_…@°¯"4T¢épˆHE::€©i)Šáî^OÏèëË45cLi ©T€ßcï^S„…@GG—bH$%06.ÕtxDT66’òôõm4 ÕT*@LŒçÎ!)I††¥6,Ó§gÁãPÓáQ3$ÉdL952ÉÉÉÈÉÉQ[}W®â“OZ :Z„^ÈŸq9èÓ'††ü@Ô\DGGÃÅÅEÓa‘š<~¬‹3gŒpð )nßÖÇK/=Åҥ鰶.ÑthÔˆˆÅbH$ª cB€ˆ¨RWB /OË—·Ä±cb œ‡eËRáäT\óDDDÔhüõ—1¾üÒ iiB¼÷^&OÎÖtHÔHÔ5!ÀGˆˆš©¤$]Ì™Ó OžèbëÖ$ ˜§éˆˆˆHC‡æÂÛ;7ZàÃ["*JË—§B(ÔtdÔÔ1!@DÔ Ý¿¯‡éÓman.ÅáÃñ°·çðB""¢¦L__†… ÓÑ¡C–,±ÆÃ‡"lÜø"|“ê¸ì Q3“–&ÄìÙ6hݺ&0@DDÔŒ žƒÝ»b€>h©ép¨‰cB€ˆ¨),`îÜVdذá1Äb®@DDÔÜtéRˆµk“qô¨›6™k:j˜ "jFÖ®µDt´¶mK‚¥¥TÓáQ=éß?Ë–¥á»ï¬p󦾦á&Š "¢fâáC¶o7Ã;ï¤ÃÅ…+ 5wÓ§gÁÓ3Ü\;ŽTÁI‰ˆš‰Ï>³‚“S1^y…K©SDDΞ= 000Àœ9s4‘òšj%%0¸v z÷ïC'+ 2H[´@¡‡ŠÚ·×txDŠi;Ö¿ýf‚1cžj:jb˜ "jîß׃¿¿1¶nM‚PÈ[Dê5kÖÌÍÍåÓyyyغu«¼ÜË/¿ŒV­Zi$ÆšTÕ†ÆÌðâEX¿û.tŸ<©t§'’W¯FIÖß&jÜÜ 1vìSlÞl΄) "¢fÀÏÏŽŽÅðöÎÓt(DZ#77W~‘  h´ ¦F';­æÏ‡N^ÙgZ‰D‚œ‘#!|úâ_… ¨!!°^º‰;wj6X¢F`êÔ,Œgðp}téR¨ép¨ aB€ˆ¨8{ÖÇçB Ðt$D͇‡|}}” ·oŠšZôïÜ‘' yÃté(±¶†ÅúõƒÄGÔØxxÂÞ¾þþÆLR˜ "jâ23…ˆ‰¡W¯|M‡BÔ`âããñË/¿ôôô0wî\ù¾ãÇ#** 0aÂØÚÚnݺ…3gά¬¬0eÊ”JŸ­OOOÇ™3gœœŒ_|±Òó>|÷îÝSØvàÀÚ·oaÆÉ÷•––",, ‘‘‘ÈÎΆ‰‰ :wîŒ._ä*#..¿þú«Â6===XYY¡K—.puuUºN©TŠk×®áÎ;xúô)Œáêê ///èêÖîë¢Nn.̶o‡àï™Ír B¡‡‡|¿øÏ?¡wÿ~Ùù,-‘5uj•uÛÙ::@i%K§>3sZqëÖµŠHôîë×Â&ˆˆš¸¨(ÀÕµHÑ5¬[·¥_0¾øâ‹ptt|óÍ7xôèÀÂÂÓ¦MPvÁ¾wï^ÀĉT|¶ÞÍÍ ,@nn.€² û””” Ïß>|ÁÁÁ 1ùùùÉÿ=fÌyB 00|ð>|X¡øöÛoáìì\ë¶ÇÅÅ)<ªðo½zõÂêÕ«Ñ¢E ù¶êæ8þÂСCkŒ«ÔØ‚âbXlØ0ñóã?þ@©©) ÂÂ`½p!R) £ƒÄíÛ«­«ÄÎé‹Áò»ï™ ’ùó€R33¤~üqqi W×"\¸`¨é0¨‰aB€ˆ¨‰ËÌ,-¥Ž„¨á˜™™ÁÃÃááဠ  8::"11Qž (ß^ž¸|ù²|{¿~ý*Ô™ŸŸ___téÒ;w†žžœ‘’’R¡¬<<<°mÛ6ù¶‰'ÂÆÆ@Y"®\¹‚™3g¢¤¤@ÙÅzçÎqýúu\½z˜2e ~ûí7´lÙ²Vmwtt`v IDAT”ÿÊî¤àÌ™3HKKÕ+W°dÉìØ±£Æº1gÎH¥eŸðòòBxx8BCCñäÉ,X°›6mÂàÁƒk¬/}áB\¿ÃÀ@è&%¡å åóÏ!Y´¨, ýí·‘_Iÿÿ[Ƽy(±¶FË+ ›œ óg’%ööHÚ´ E:ÔX‘¶°´”"#C¨é0¨‰aB€ˆ¨‰+**›8@O« véׯŸBB`Ò¤I P6ü¿  W®\L&CJJ bbb:::xî¹ç*ÔWXXˆÙ³gcáÂ… Û¯\¹R¡¬RRR“&MB×®]Ê}þùçòdÀرc±jÕ*ù¾iÓ¦áòåËHIIÁ¦M›°bÅ ÀúõëåèåÌÌÌ0}útåÿüóZ% £ƒäᅦýèÑÐ}òâãÇ¡÷.tããy"cþüšë`õõ×0ß²@Ù#9£FA';&ÇŽA7>ö'âñºuÈóö®U}DÍžžLþ€¨¶˜ ""¢&©_¿~Xÿ÷är剀òÿûøøàСCÈÌÌÄ;wp÷î]ùqîîî077¯´ÎY³f©-¾´´4ܾ}[þsII‰ÂPÿÒgž/¶”%ŠŠjݺµ2X´hž>} °³³Ã!C`ff©T*1Q––– ?§¦¦*üü﹬¬¬j]·©ŸŸB2,6l@îàÁ(rs«ñøg—TgY""RÄ„5Yýû÷—'öìÙèØ±#LLLлwoeÏÓ—Á722B÷îÝÕrn‘H¤ðs~¾âÒŸVVVpss“'#ttt*}öÿîÝ»òy€²„@U’’’äÉXµj¼¼¼”µSÿŽïèÑ£˜8q¢|òe²y j;:@?2->ú¨ìäã3g (,D« ô(Jk‰ñìˆQl,D øï•Œþ^&²\ñ3e‰ˆH9LQ“õìðÿ‚‚@Ÿ>}]»v…¡¡¡Â…zïÞ½¡««ž¯?fff077Gff&à‹/¾À Aƒ ««‹¡C‡¢C‡X¾|9^{í5”””àÈ‘#¸wïzöì @€¤¤$DFF"66‹/†»»{çtpp€‘‘òþ¾+¾bÅ <ÿüóHIIÁÕ«W•nÃ{g™3gB*•"$$'N”¯2 ,‘±|ùòZÕ§“ Éüù2æÏGÆ[oÁvòd„†Bë¥Kñøï¥ «’3r$,W¯†0%Ja÷Ê+e“ feÁ䨱ʽø"J¬­•n7•QïØ8"""¢äääTáÎuùÈ]]]ôèÑCa_Uó¨B `þ33æGFFbÆ X³f|ÃÞ½{cûöíòGnݺ…;v`ûöíøóÏ? 777têÔ©VçÔÕÕÅÊ•+ahX¶ÖxTT6oÞŒ .à‡~Pº Ï=÷~üñGØÚÚnܸmÛ¶É“ÖÖÖX·n]íVÉ`½d D/ûXàé‰ô·Þ‚L(Dò?Èç0þë/˜?³:CeJMLøÓOòe…ii0ûé'˜= H¥€@€œQ£²r¥Òm&"¢p„5iK—.Åýû÷å?{zzÊÿ={öl…GÊ—å+çáá!ÆoPÅLõÕ•™9s&úöí‹«W¯"332YÙòŸíÛ·——éÛ·/NŸ>ððpܺu YYY011D"AÇŽk=¿ÜðáÃáé鉀€û솦ÃP‹æÔ–Ê4×ö5×v5]M@DDM×Õ«©((j: µhNm©Lsm_smQC`B€ˆˆT¶}{_ˆÅ"M‡¡Í©-•i®ík®í"""jL‘ʼ¼Zh:µiNm©Lsm_smQC`B€ˆˆT6sf œÅøàƒÎ Ûãâráç‡{÷²!•–ÂÙYŒñãáæfV¡Ž¬¬":ôaaéÈÉ)†DbˆaÃl0x°¼Lqq)¦O¿OO+¼ý¶ŒÅ… OPTTŠnÝ,1}º ÄâŠÒÂÃ3pð`,ò`cc„I“œ`ggˆ·ß¾Š¡CmñÚk.U¶EÕsÖ¦=šP]ûÞz«öì‰APP tt2ÄãÇ·>ŽhÓF\m»Ê)ó$""ÒVL‘Ê*{~ûÏ?ðÎ;!(..•o;>?ýô+VtÆ´iÎòíaaé˜3ç222Šê8|8':áË/»JKeN…X¬‹yó®Àß?I^öÜ¹Çøë¯D:ä ‘èŸ¹rýüb±lYd²êýå—8,^ìŽààT¸ºšVÛUÎYÛöTç‹/"póffåÊ­ZÕ¶¶F5–«º}"¼þúe\ºôD¾ï¯¿ócǶƔ)šZ(ß÷Çñض­/ È·©£ÝÏš<ùBCÓ¶ùû?ÆöíQX·®§B’¡®¯A"""mÆ„©Mrr–, Eqq)†·ÃðᶉtpþücøùÅáÓOo G+tìh†œœÌ„ÌÌ"Œë€[ÁÌLæbçÎ(øùÅ¢OŸxé%yýÉ07×ÃҥЮ ’“ °aÃ]ܺ•‰ãÇ0fLYÙÄÄ<|øa8d2`üøÖ<¸¤Rþú+ ß~{K©6Õöœª´§2wîd!88µÖñåç×mB½€€Ç°´ÔÇòåpv6Á½{ÙX»6[·FÁßÿ1ìí°ti'˜›ëÁßÿ1öí‹Á÷ßGÊêj÷³rrŠ1fŒ¼¼ZÀÞÞRDFfaçÎh|üñjG(ó$""ÒvL‘Ú=úÒ w…‡ ³…V¯ŽÄ±øøã.8zô!ÒÒ ±x±;æÎuU¨gÄ;x{ŸÀ/¿´_&dÿýT¡‹ ÏwêdÈÈøgXûÝ»eqL˜P1Žñã”JÔöœª´§2 ýŒ»‡‡¹<P®C‡²Ç)† ³•'ʹ¹™!<<ÉÉù°³3R[»ËI¥2,Zt.<©²ÌÓ§ÅU&”y i;&ˆˆHm ËžÙ67ׯ°ÏÌLàŸ2yyeCÝÃÃ3ª¬OOOq8¼™YÅååD¢² ÖÒ—?SnjZ±¼™™^uM¨4îÚœS•öT¦¾æ¨JeýQž¨|_Ùœ %%eûêjw¹cÇâqá“¿Ga8ÃÑÑFFºøùçhœ<™¨0/Ä¿)ó$""ÒvL‘ÚX[nÜÈ€££±Â¾ˆˆLÈd€DRvgׯ¦ìÿÜmÛ*NðWîßw§•ãöí¬ w’oݪŸ»ÃêjOCÏ!PWêþ=†‡—8X·®W…Ñß»Æã•y i;&ˆˆHm `÷îøæ›[pu5Eûöeˆ yøðÃë—)[²nØ0[üôS4~ýõV­òDëÖÿ\¼I¥2œ:•©´š[ÁÕè×O‚={bðõ×7Ѷ­‰¼î¨¨§øþûȺ4±JêjOCÏ!PWêþ=š›—J¸v-Mž()‘aÆ; I«îPʽ‰ˆˆ´DD¤6ƒµBïÞ-”‚—^ò‡““"‘¢£Ÿ¢¸¸íڙʟëïÙ³&Nt‚Ÿ_,þ FhÑÂÙÙňÏCa¡o¼áŠ‘#핎cðàVèÒÅáá:ô\\L •Ê“ƒöíM‘˜…ª>¨ŠºÚÓÐsÔ•ºJ°~ý]|øa8¶m‹‚……>bcs]wwóGx(ó$""Òv:5!""ªؼ¹·ü‚+:ú)îÜÉ‚T*ÃС¶Ø½» „òòŸÞË–yÀÚÚå!,,ÑÑOQZ*Èv5JùdPv±¿eK  AI‰ wïf#*ê)ú÷—`ñbw€±±úsâõÕžÆNíîÒÅ~؆†B<|˜‹ððtÀ×_÷@ïÞ-j<^Ù× ‘6ÈdÕMÍCDDšœœŒœœœZ•=~\ __ ¢¢¢ë9ªŠ®^M…X,ªô®vnn $ØÚaûö(|ñEV®ìñã[WÙ–ºœ³¦öh‚2íËÌ,ÂÝ»ÙprC"1PØ›ƒäätébQáÂZíÎÏ/ALL. m[ˆD:xø0IIùèÜÙ††ÂJÛõ,e^ƒDDM&¿æˆÅbH$•gB€ˆ¨j* ÆìÂ…'01¡kW ù¶ÀÀ,Xp99%¸pax…‹]""¢¦Šß´S]œC€ˆˆš¥»w³ðÕW7ae¥{{c$'çãñã|ÀÔ©ÎL4°Ù³/#7·¤Ú2ÆÆºØ²¥OEDDDDLQ³4`€§N%!44 ii…}}!¦Liƒ¥K;i8:í’†§O«_=ÁÄDÔ@ÑÀ„5S®®¦8p`€¦Ã ¿……ÒtDDDô/\e€ˆˆˆˆˆˆH 1!@DDDDDD¤…˜ """"""ÒBLi!&ˆˆˆˆˆˆˆ´DDDDDDDZˆ """""""-Ä„‘ÒÕtDDÔ4–Â}•;†´‚M>›4Ndd# &gîŸÁùç‘]7z¿%—T(+-•ârÜe»} ׯ#>+úºúp—¸cj÷©Ö~X¥ç¸úè*6]Þ„»)w‘U;3;x;{c^Ÿy074——kNýJDDDDD¤õVœ\?"ÿ¨UÙ ‡AxíÀk Û K q9î2.Ç]Æ›}ßÄ¢‹ö?€å.WØ•…¨Ô(¿sG_; +#«:µˆˆˆHY|d€ˆˆ´ž™F¹Âw£¿Ãç/~^mY]]ôkÓ+G®ÄÉÙ'ñßœŸw3¼f6^Þˆø¬xyyi©ßœû0«ç,\Zp 7ß„ß4?´oÙIÙIØyug½µˆˆˆ¨*!@DDZï“aŸÈÿ}âî‰jËöjÝ ½Z÷RØfgf‡åÏ/GTj.Ä\ÀÍÇ7aofHÉMAf~&\¬\ðþà÷åÇt³ë†ÿ½ð?LÙ;÷S﫱5DDDDµÃ„ÕY|V<>?ó9‚â‚ -•ÂÓÁK¼—ÀMâ¦PîlÔYìÙ{)÷S˜;3;ôoÓ³{φD,ÑPôêãbå‚ 1`¢o"ßfah¡Ž°Úã¬ÅÖ5ÖU…G øa0>þ &u™Tçx‰ˆˆH»1!@DDu’U…I»&!9'Y¾-àAB…àÀÔò¤ÀÙ¨³˜}h¶Â±ÑiшN‹Æã§±nܺÏõêþWXëØNÎ> +—Z—¯‹"iü£üa-¶†—ƒ—|»¾®>^îò2ö…íÃWg¿Â ¯030Cdr$>9õ tutñŸ®ÿ©¶î¸Œ8Ì>4©¹©Ø1iú:õ­ïæ‘`B€ˆˆêä꣫èjÛÆo€kKW$f'âû€ïqâî ||êc쟺púþiÀ;ÞÁÄÎanhŽø¬x\н„¸Œ8M6A->=ý)f>Ä&ŸMÐê)ìûhèG°0´À®Ð]Øze«|»»Ä;'íDGIÇ*ë ~Œù¿Ì‡©¾)M;g+çzki&ˆˆ¨NŒDFØ×ÏÿùYý PƒUçWa_Ø>¼?ø} i7¤ÂþøÌx„'†#·(Wq{V<.Ç]†—ƒW¥Ž8ŒN|€®¶]±qüF…å ‰ˆˆˆêŠ ""ª“Ž’Ž–ÌÓÕÑEÇ>ˆN‹F\FZ·À ¯~Œ‘ÛGÂÛÙZuB§Vàiï ‘P¤¡èë¦TVŠÿú{Âöà½AïaVÏYÊäæà•=¯ 3? ýC]‡ÂDßqqXsq Ö®Gqi1Þø®ÂqAƒpúþiôt艟þóS“í#"""j¼˜ "¢z%b}1v½² ÷RîáÊÃ+¸óäÝ8„ô¼t|4ô#ŒtYc]i’Ò,ù} ŽÝ>†åÏ/—/;øog£ÏâIμÞëuLî6Y¾Ýµ¥+V] ¯Õ^Ø}…„@û–í‘_œÐøP¿scÜÇÔK;ˆˆˆH{1!@DDur;ù6ÒòÒF ””–àrÜe@kóÖ å][ºÂµ¥«üç7¼‰Å¿/F¿6ý`f`Ö0A×Q~q>Þ<ò&.Ä\À‡/|ˆi=¦UY6« «Úºd2rŠr •I!üóØ€…¡¶M܆هfcñï‹‘™Ÿ‰éžÓÕÖ""""&ˆˆ¨NòŠóðÆ¡7°bÈ …I£Ó¢áiï‰Æ-ï­L[áù¶ÏÃÑÂ"¡wSîâ~ê}K‹‘ü4¹Æ„@c˜CàiáS¼î÷:®%\Ã'C?Á+Ý^©¶|ù„»BwÁÑÜCÛ…XOŒØŒX¬¾°O Ÿ¢ƒu…d@9±¾;'íÄ[Gß§§?EVA|ûùÖK»ˆˆˆHû0!@DDuâåà…¸Œ8øü죰ÝHd„_øPþóã§áwÃk/®­PGGIG´mѶÞc­ÊÁðƒXöç2…m›ƒ6csÐfÀÔîSñÑÐþQþ¬8¹+N®¨Pß³t·ëŽaí‡áäÝ“•– „X:hi•±éëêc£ÏF,ýc)Ö\\ƒŒü üoÈÿäb©Š ""ª33쟺Ÿþ Á‚QZZŠö=ðî wáfí&/÷õȯqèÆ!œ¾1é1A[S[ o?3¼f@G £ÁVÔ¯5c×`wènüzëWD¥F¡°¤–Æ–èa×szÏAg›ÎÕ/ñÍÈo`f`†ŸB~BvA6VŽZYé¨"""¢ÚÈd2™¦ƒ ""EÉÉÉÈÉÉ©UÙãÇÅðõ• **ºž£"""¢ÆŠß´“X,†D"Qùøæ{;†ˆˆˆˆˆˆˆªÄ„‘bB€ˆˆˆˆˆˆH 1!@DDDDDD¤…˜ """"""ÒBLi!&ˆˆˆˆˆˆˆ´DDDDDDDZˆ """""""-Ä„‘bB€ˆˆˆˆˆˆH 1!@DDDDDD¤…˜ ""•eægbàÆhûU[ùþQþx€¶_µÅŽ«;Ê{|ëÉ{&k(Ú¦)§0C6©ÐÇMÝÚ‹kqäæM‡@ù×±:5t?¨z¾¦ôÞ½òð YPm™º´§°¤m¿j‹¹‡çªt|SW›þåߢ¦CWÓQÓµûÚnÄgÅ£›]7ônÝ"¡m,Û@G ß~¾èf×MÓ!6y{Ãö"6#¶B7uëסWë^×iœ¦CÑè븡ûAÕóÍï;ÖbëzŠJ=JJKpå᜹QiQ8ró¼¼`of_¡lShOc£LÿòoQÓÁ„©ìAúÀfŸÍ°4²TØçÛÏW!5;÷S屮I=ø:®Ù¼>ó4BµÂÃñßcÿElF¬|Û’ß—@G ƒ‘n#ñýKß+”oìíil”í_¾§ˆš&ˆˆHiÑiÑø#òÜ||°3d'tu*þIà<]m»ÖªÎ›o",! 9E9ˆ%ðvñ†•‘•|¿T&ÅúKëálåŒQn£‹1Q$-B7»nð´÷¬´Þô¼t? ÆÃŒ‡Ðêµ…+ú8õP ¬²îÈäH= ‚Ž@]ÂÑ “Ép)ö"ŸDB¬'ưöê¼H¯©=5)ïãð¤pÿô±…¡¦õ˜¦{`l î¥Üƒ´T —.èçÔúºúÕö]`l 2ò30»×ll¹²Emm¯©¿³qèÆ!”ÊJñ0ã!Ö\\#?v¼ÇøJï6Ö—º¼ŽkÓïÕQ¦jûZ ‰Á½”{È)̽¹=¼ì½ÐRÜRéóUfãå°[ÃÇÃGÞþÆòž)••Â÷W_$d%Àµ¥+œ-q/õÜ%îKÃ…˜ 5¶§œ*¿×È'‘Š B©¬žžèbÓ¥BÊ|veægâçПÑÙ¦3º ¬t_WÛ®à< ÒúÕñ»Pµ›Â߆ÆÖ¿DšÆ„)íAÚ… Š *-g¢oRã—¾ÔÜT,úm.Ç]VØn(2ć/|ˆ 'J¤%Xsq †´‚„¬¬:¿ 2™L^þå./ã‹¿P¨ãÓÓŸb_Ø>I‹¶;Y8aËÄ-ò¡÷ÏÖ•…u—ÖÉË~qæ ¬»Ï9=‡7½àGÁò}ß|‹SÀÅÊEéöÔ¤ª>v¶r–'¢R£0ï—yˆIQ8V"–`í¸µèn×½Bûî§ÜÇúÀõò²S»OU[ÛkÓ߉ىòvÅgÅ+´±Wë^Õ^˜¹y2ÕÐsÿ˜Öc, -ªÜ¯ê븶ý^ÚôCm_K™ù™˜yp&n$ÝP(§¯«ÅÞ‹1ÃkFú(ëVò èÆôž‰ÏŠGBV¼¼°gò\}t»Bwáû—¾G©¬±5¶Pí÷ºêü*lº¼IaÛ÷1X9j¥< ¦ìgWVAÖ\\ƒ©Ý§V¸`-ß÷šçkò Vuþ.*£Lÿ6…¿ ­Õ/ÉÉÉH$ |^jª˜ ""¥9[9÷Ÿ/~üÒ`~ßù wâ2âðë­_k¬GZ*ÅìC³‘{3{ôwî33ÄeÄáôýÓXöç2´mÑVá‹ãõÄëðò‡·³7Úµh‡äœd<Žƒá1Êmú:õ•—½sÖbkt³ë;3;–Êïæ½ûÇ»ð›æ§OXBü£ü1¤Ý8[9ã^Ê=œ‹>‡ÿüz:ôÄí'·1¡ó˜šãbÌEÜyrßžÿÆoP¹=Êöqùn~q>fùÍBBVlMmáíâ ‘Ž—b/!:-³ýfãÏ×ÿTxN:,! §ïŸFÿ6ýá&qƒ®DB‘ZÚ^Ûþ¶5µ…o?_¬½´v¦vï1^~¼™]µ}räæ‘J/îª2Òmdµ U^Ǫô{ejêe^K;CvâFÒ HÄ n7ffHÈJ@ðÃ`„Ƈb†×Œ:õ{uÃ{ÆÊÈ ŽŽÐ(Η­#ÐA¿6ýjl‡*¿×k ×púþé²Ï¢–프“wOâ×[¿ÂÉ oõ{KáÊ|v©BïáÊ(Ó¿Måoƒ*ê«Õïž{î´mÛ#FŒÀàÁƒÑ©S§Žš&ˆˆHi.V.ðíç‹ÛÉ·ñ íÞìû¦Âª9( IDATÚ€µúÒ÷×½¿‘ÑGcÕ¨Uêü3Œ?")~ž€Ww`õ˜ÕòíiyiØ8~#†´"ßÖ¿M,ù} ÎEŸSøÒ÷ñÐál匠¸ $e'AO¨‡ž=‘š›Š°„0däg(\0¦ç§cëÄ­ðvö–o[öç2 ?ˆøœœ}qÙ]—âźe(ÎFŸ…L&ƒ@ P©=ªöñ±ÛÇ•€îvÝñÓ~‚¡È@ÙÄ_ ]ˆwO`oØ^,ì¿P¡ï¾ý-Ƹ‘o+,)TKÛkÛßå¦ë×£µEk¥ž'×i\•†T¦¦áºª¼ŽUé÷ÊÔÔÞù³Ö¯¥ô¼tÀ/¯ý"ÿ@‘´·ߪÕùTÕÞ3ÆzƘÔeüÂýÐÒ¸¥JôUù½¦ç¥cåÈ• É•ð¤p¼üóËØ²󟛯ðh’2Ÿ]ªPÇ{¸2ÊôoSùÛ Šúê_õ‹-[¶àôéÓØ»w/Ö¬Y'''Œ1>>>pttlÀX¨)`B€ˆˆ4æRì%€‘È›‚6ɇyÊd2È ƒ©)"’"ŽéhÝQá ù°Ï'9O¶_O¼Žf ¤´¤Òó§å¦)$Ü%î _öà9§çp0ü |<|.¶DBz:ôÄáˆÃHÉMµØZ¥ö¨êZÂ5ÀÛýß–_¼€®Ž.\ŒwO 4>Tá˜6–m’ϪkÛåû[YaEeû}Oؤå¦)Ô1¥û”ŸWæµ4Ôu(ö†íÅöàíx¹ËËp¶t†@ €žP¯Ö³¹«gcyÏ|<ôc¸¶t…_¸î¤ÜL&ÃÀ1Àyfõœ%λ*ª¼Ÿœ,œ’ÐŦ ^p}'îžÀý”ûè`ÝA¾O™Ï.U¨ã=\•ºö¯²êûoƒ*ê³Õ˃  Aƒðé§Ÿâúõë8uê>Œ7ÂÓÓ'NÄ‹/¾CCÚ«£f ""Ò˜ò;›ÂÔúS› ÛŒDF p!„oÏ =¡†´G GéA.Ä\@XBJe¥ õ´2iU¡îò‹ƒêöåç«ÜUedZ›·®°ÏÁÌ™ù™ Û,ª¬¯®mW¥¿•¥î9T¡l¿ïÝ-_)¢ÜðöÃk¼ÐVæµÔ¯M?웲?…ü„I»'¡°¤Zu ®/à•®¯(\àVEÕ8Ë{F¨#Ä«=^Å«=^ÅŘ‹X{i-†·Ž=×öà×[¿âЫ‡Ð®E»*Wåýdo^ù¼ æ€ìÂl…íµýìRU]Õ©kÿ*«>ÿ6¨ª>û·¾èèè {÷îèÞ½;/^Œ .àСCX¾|9>ùäLš4 ³fÍ‚µ5—àÔfL‘Ƙš¦t›+ãÊ/< t TªûlôYÀºqë0¸í`…}‘O"Uª³&õÙž ç2(;×Ã̇ò r²A&“ÁÜÐ\aû³Ã—Õ­!ú[Ýs¨BÙ~ŸÚcj…;ïU½6ΣäkÉËÁ ^^Êî†? Æ—g¾Ä‰;'°êþ Ï~ÿ›ªqÖU}¼gDBZ·Ä ¯ã>½×öÆÖ+[ñõȯ«ŽC…÷S|f|¥u•'­LõM•Š»\ù…d^q^…}‰Ù‰*Õ©Nªô¯²êó³´±÷o} …8p ˆŒŒ >|Û·oÇîÝ»1aÂÌž=öö ·Ê 5L‘ÆôiÝ~á~ʤXðÜ‚ -)9)Hzš¤RÝåÏlŠõÅ Ûƒâ‚àß_µ€kPŸíù·îvÝqèÆ!¬½X6ûyù—\©LŠïÎèaßC-çª eû[O¨WáŽkMÔ=‡€*”í÷)ݦT[_Uý Ìk)(.60Ö3X‹­1ÊmÎEŸÃÑ›G“#Ÿé¼ªóÕg}QÇ{&#?1é1•®˜ˆRY)’s’«­C•÷SlF,~‰ø¥Â§î‚©)ÚµTíŽy ã EŠ BAIü·HZTaEƒ† ŽþUV}~–6¶þÕ ¼þúë˜6m:„-[¶àÀ˜6m-Z###M‡H ˆ ""Ò˜‘GbgÈN쿾b. ¯S_XY!» ±±~ŒY=g¡³Mg¥ëîf[öìô‡ÞÀðöÃaadû©÷q>ú<,,‘š›ªîæÔk{þmtÇÑX¸!ñ!¾u8¼½!–ÍŠ•33Lî6Y ­ªeûÛÉÒ ·“oã¿Çþ sèt0Þc|µËß5†9ÔÝïUõƒ2¯¥ÍA›ŠÞ޽áhá‘P„;Oî àA„¡ÂmUú½>)ûžùõÖ¯ˆËˆÃ„Î`kj  ìâðå]/õ¥+ºØtÀ½Ô{Xpdü£Ê’Q}«ŸPN•ß«¥‘%Þýã]üù\[º"1;'ïž„T&Å Ï*È)_ßþÔ½S½}4º D‘´ç£Ï£PZ¨RµU_ý«¬úü,Õdÿ66úúú˜2e &Mš„Çã›o¾ÁŸþ‰+V`ذašDD¤1BÛ^Þ†¥,…”?ü—”ˆ%*_<k? £;ŽÆ±ÛÇàwãŸz'v™=l¿º½N±W¦>Ûóo†"Cl›¸M¾núÞ°½ò}Öbk¬»¶A'²R¶¿gxÎÀÒãKfïÕº—Æ.LkKÝý^]?ÔöµÔDZ|ɵgëãƒç?P˜ ±õ»²ï™£7Ê/Ë/X-,áåà…øÜK¹'/û í„:Bü§ë0ÃkFµq¨ò{ín×.V.ش眗oã>󟛯|gi©´Â{Q•÷Ó(·Qá6ÁƒQ*+EûèjÛU¡^U>»œ­œqjÎ)œº OržÀÞÌCÚ AaI!|ûù*œC¿ uõocÿÛ ©þmì,--±råJŒ7 .ĤI“°yófØÚÚÖ|p6nÜkkkøøø¨1ÒúððpÄÇÇC__îîîðôô¬tÙÈß~û ±±±•ÖãêêŠáÇ×s´ê#•¯ãADDFrr2rrrjUöøq1|}%ˆŠŠ®ç¨ˆˆ¿ÀØ@ì Û‹uãÖUºÿIÎô]×ÃÛ¯² U­¦þ%ÍQç÷„„¼ñÆHMMÅÖ­[Ñ©S'•êñðð€‡‡öîÝ[sa ‰Å»ï¾‹k×®UØ×¡C¬[·NNN ÛgÏž³gÏVZßÈ‘#±zõêúµRb±‰¤æ‚Uà""¢¶éò&I‹ª-£'ÔÃÜ>s("¢æ£²»y@Ù¬ò7 àA¨íñmSUÿRóbgg‡ƒbþüù˜9s&8€6mÚ(]Ïüùóý²† ¸víìííѹsgØÙÙ!=='NœÀ;w0kÖ,œ/^Œ3þYubÆ ððð'Ž;Vå³÷`mm-O¤¦¦bÑ¢E¸|ù²BCCC|øá‡˜0a‚|Û‘#GðèÑ£Z·iÚ´i°°°¨±\ZZÀÍÍ­ÒýgÏžETT áîîŽ=zTúXMDDæÌ™ƒ””ù6kkk|öÙgX³f ¦NÊ„5>“'OƺuëpôèQdeeáÆH$eË–¡mÛ¶èÚµlEˆ#GŽ 00°Öí9rd ëׯãÔ©S=z4+-3w®b‚ßÍÍ ?üð\\\äÛrssñÆo %%mÚ´A¿~ý •J€÷ß¿Ö1×&ˆˆˆˆˆˆ¨J†††4hàààøå—_f·/**­[·ª­ç¥—^ª°mݺu°¶¶ÆÖ­[ahXö(Ï_ý…ˆˆŒ=«V­RxN?""&LÀŽ;ä³ù7žžžµn¥¥eµû=z„yóæÁÑÑŸ|òI¥eìííÑ£GH$$%%Áßß‘‘‘xõÕWqòäIˆÅbe£"ž]> AS˜ """""¢jyxxàÇĬY³°wï^lß¾/¿ü2œ! §§‡nݺ)UçÖ­[qúôiìÚµ ÆÆÆòí—.]P6±á¦M› “É2™ 2™ ¦¦¦ˆˆˆ—7nœZX&::Ó¦Mƒ±±1vïÞ “ eÞzë-têÔIa…¬¬,¼ú꫸uë>ŒéÓ§ÂÂÂäÇ”'€²$Ëüùóñú믫-vU0!@DDDDDDÕ²´´Dff&úõë‡}ûöá§Ÿ~¤I“PXXˆN:á…^À+¯¼"¿Ë_“]»váèÑ£•^t§§§8P«ºÔ5‡À70sæLXZZb÷îÝU.™Ø¹sÅeKÍÌÌðæ›obþüù #%²²²”-åøoööšŸ “ """"""ªVVVÌÌÌ^^^ðòò¨öîúÿþ÷?H¥RøùùUº¿E‹ððð€P(ĶmÛ°téRøûûW(/‘H*}Ž_‰‰‰J¥€Ý»wWZÆÄÄDž°³³CûöíŠÐÐP…rnnnøî»ï`jj*ßfllŒM›6aΜ9xðà¿‹‹KµsÔU‡СC¥sww‡»»{­ÊFEEÁÎÎcÆŒ‘oËÈÈÀºuë@©ùÔ ""R™—ƒ—¦C G_; sCÅg6Gt‘P„ƒá(OtµíŠ+o]¾®¾BùÑGcìα¸›r!ñ!ÜvpƒÅODD O*•Öx—}ëÖ­Ø»w/Ö®] ‡Ьù9wî6mÚ„¾}ûÂÞÞÉÉÉ8wî²²²Ð§O•ê„©¬ª9â2âàwÃ÷RîAZ*…³•3Æw7IÅçÙÃÃq0ü ²ðöî<,ªêÿø{fÖa•UEBsÉÝÜpß·,Óúµ¸õU³Ò,ËL3Û43—4mwIAË4Í\R%4AeG6Ùe™ßÄÍ+Û€Ìûõ<>Μ{3sû¹çžãdá„©¦ÂÖ̶Êcff#àJBC‘Wœ…†µ&º€}ð¹ÿy}æaWè.ÇC¥V¡«KWÌè:¦ò²a7Òn`ÅŸ+ T)qíî5LÛ9MhgÙep·qÞ+UJì Û‹À;(V£³sg<ßõy’x8PÎÓÖ —Ê…23C³JëÊerôvëi7 †ZûAQ£‘™™‰yóæáã?®ôB_­VcÓ¦MX¿~=Þ}÷] >\Q6žžž(**ÂáÇEå¾¾¾X»v­Ž¢*ÄÕYes‰<‚×¾Že‰Pvúöiüpñ,ó[†]gåW°ôÈR¨Ô*¡lÿÕýxãÉ7*=^hb(fÌBfA¦¨|ßÕ}˜Òi >ñ€ÿžûW)ðžðwÜßBÝ“Q'±ÿê~ü<ýgX›X#·(!ñ!ʆޗ¿._N¥Vaîþ¹8õß$J§¢OáÏ"à¹Èeÿ]tWeõ‰Õ¸v÷ZõÊ­³--Zj\ÿA)y)ضRôoÛ_£}®&_…‘º:w­Ó1‰ˆ¨ñ‹ˆˆÀK/½„ÔÔTüú믘?¾h{~~>–,Y‚cÇŽaåÊ•xæ™gtióÑ¿áüùóˆ‡L&C‡н{w?®È„iMJ^ ZŒe †·Žáí‡C.•ãôíÓð¿âŽ€®.]ÑÁ¡’r’ðÞÑ÷ R«0Ñw"y ‚R¥Ä‘È#øüÌçÚÎ+ÊÜ}sU˜…ñÇ€¶`il‰¸¬8|á{ø‡ù£—k/Œõ+ìsæö(ŒxsÀ›ð´õDrn2¶ý½ ÑÑXu|ÖŽY‹vví°sÚÎJ'|p†þ3·ÏÀÊÄ K.§­'RòR°ùÜf„§„ãpäaŒó‡šD¦EŠ5)()и.¼²ÿdd!»0QéQ°0¶Àã¾€«•kûî Ûƒ‹ ñú“¯W9 ˆš¶?þøo¼ñ†0«¾¿¿?æÍ›'\”áÝwßEAA~úé'tïÞ]—á6+6l˜®Ã¨€ ""Òš_¯ýŠÂÒBÑÝzÖnœÌ°þìzì ÛƒCWà·ðßP¬,Æ O¼€w¿#Ôå= oþþ&ö_Ý/n;üWdÜÏÀ¢þ‹0§—xR¢‘íG¢ÿæþØm¿(! †?>ý#:8tÊF´!_Áï¿ãƒáÀÜÈ=\{@"‘ÀÒÄ=\{ˆÚ.Ÿß@j€ÝÏîF›6¶ÖV­1}÷t\J¼¤QBàío#§(§Æzåj;:àRâ%¤ç§ ï{¶î 7k·÷;uË.ǰvÃ*|¶DDÔô©Õj|ýõ×X³fð([r/44-[¶ÄÚµkñ믿bèСX¾|¹huj¾˜ ""­‰L<Ýéé Ûžéü ÖŸ]ˆ”eÏîÀ”ŽS*ÔÒqJ…„Àå¤ËÊ–Ç;{Nø1£†Zx-ÚÇÛÞ[” kkøyú!àJ¢Ò£ÐÑI³uŒ}|EÉxÌñ1@æýÌÊv© ²9´ióÄÍ(.-FVa’°+tNFÄžé{„Xv(â\„Aƒ°~ÜzH%Òz‘ˆˆVQQÞzë-:tHøÿ²œ\.ÇòåËqçÎØÚÚbÓ¦M:t¨Ž"%]`B€ˆˆ´¦ünzeCÎ--!‘H„:…¥esT¶¼¥±e…²ûÅ÷aÉaUßÐÀPô¾ª¥óÊÛ/E•ÅT>oÀƒs T§¾çèâÜEx=¼Ýpôpí—ý_Æ×Á_ãËñ_V¨¿óÒN¬8¶C½†â‹q_À@ÊŸDDÍIJJ fΜ‰›7oVH@II nݺ…E‹áù矇\^ó|8Ô¼ð~""Ò{EÙðÂ+ÉWÐÚºµhÛÕ»W¡V«á`îPV׬¬nxJ8Í+Ô}˜“…`ÅÐð°õ¨ôø_ÐÞL»‰eI… ÿ®&—µ_ @J,iS}Ï!ð°¶-ÊÖmNÊIª°mÓ¹MXwfFyÂçc?‡LRýÒSDDÔ´\¾|3gÎDnn.JKK«¬§T*áììÌd€žbB€ˆˆ´æI÷'±ãÒ|vê3xÙy¡];@bv"–].Ô€~îý°3t'>>ù1Ú¶h+<뙉ÏOWœTpX»aøáâ8~kƬM”§T+qìæ1(UJÑ>éùéøàøx×ï]Ê ¡V«ñýÅïW+WQfFfHÈN€J­ª·aóõ1‡Àµ»×žŽq>ã`l`,”§å¥aÕñU J ¨Õj¬>¹ß]øã|ÆáÓQŸ2@DÔÌ×í9 oÇ5§‰ˆš5Ö¯_ 6@"‘h4òM©T"00iii°³³k€©1áÌADD¤5‰['m-»èW—Mò™ ¥J‰¡^C±cÚá.¶L*öÉÛ0Ðc JU¥¸™vÑÑèݺ7>ùQ¥í8üC,¼ö {ÄgÅ#41ÑÑP©UÙ~$Fw-ªßƦ ¾ÿ%d®$_AZ^Ì̱zÄjŒl?RTwñ€Å°SØ!)' â/ $>9…šßÍוŽNñÝþ #b3cšŠÛ·!Ú€ÿ áÑà¿yÔjµÐχÿ$ç$ëª;DDTG……¹FÉ™LÀÐаÊ?r¹*• ‡ÒuH$êú~`’ˆˆj-%%yyyÕ=|X ]se-» #¼í+ÞùÎ/ÎÇíŒÛPA…ÖV­«]Û>%/IÙIp0w@K‹–(*-Âå¤Ëp0w¨tÙ<µZجXÜ»6¦6p¶pÍPTZŸ5>ðóôÖI[P¢,Á­ô”ÂAå IDAT[P©Uð²ó‚¡Ì°B›@Ù£QéQÈ)ÌJ­‚·½7F \ˆ¿kkxÙy‰ê«Ô*\ˆ¿SxÚzjø©Õ•Z…¤œ$¤ä¦ÀTn 77˜ÈM*ÔKÏO¯°ÃÃZ[·®0¯5^J¥ nÑ#±=º …BØ&•Jann.¼—H$¢÷åÛѯ_¿›B¡€ƒƒCÍ«À„Q#ÔTÕà ""¢æŽ¿ôÓ£&øÈ‘bB€ˆˆˆˆˆˆHq•""jvä29vNÛ kk]‡BDDDÔh1!@DDÍŽT"E׺ƒˆˆˆ¨Qã#DDDDDDDzˆ """""""=Ä„‘bB€ˆˆˆˆˆˆH1!@DDDDDD¤‡˜ """"""ÒCLé!&ˆˆ¨Î|×úbÚÎiZo7!;{àý?ß×zÛµUTZ=0gßœFݦ65öø §0‡"áµß^C—/ºÀãc|vê³÷ ‰Á¬€Yxbýð]ë‹É?NƯ×~…R¥l€¨‰ˆˆ]@DDÔ´û´z¸öÀOÿ¨ëPYsêKU–]†ß#~¯Õ>ÛþÞ†OþúDTv9é2.']†‹• º¹tÓfˆDDDDDTgW߸ªëHOY[b´÷h ò„‚Ò¼säjëÅá“¿>L"Â~ 0ñ±‰°5³ETz¾¿ø= ¤üIDDDú‡ÿûQ“³rØJáõ7þ¨±þç§?¼ã÷žëúœPîíàOF}RÕnDDDÍDDTg¾k}áëè‹]Ïî•ÿzíW츴7ÓnB¥VÁ½…;&wœŒé]¦C*ùoú•Z…oC¾ÅÏ—FbN"Í1­ó4Œh?¢Êc†Ä‡`ûßÛq)ñòŠòàhîˆaí†a~ŸùP)”=ï³Æ~ž~x×ï]|xâCÇC©R¢[«nXÜ1¼¼.âéOÎÅœƒÇDZvNÛ‰Ç[>.¼OÍKÅê«x'ÅÊbtv¾-´U Ù ÕÆW.&3;/íDPLâ2ã “Êàeç…g}'jÔ—®=â/àÛ ßâRÂ%ä墕U+ õŠ—{¼ KcKÑqë£Ï -9'aÉahaÚÏvyV×á5L‘V}ü×ÇØþ÷vQÙõ”ëXyl%BC±nì:¡|ùŸË±;t·ð>>+Ÿüõ Âï†WÚöîÐÝxïÏ÷ V«…²„ì|ò ÎÅœÃÞ{a"7¶efcêOS‘’—"”¹}ã/bÏô=µº¨Í)ÌÁÔSŸ/”‹9‡?ÏÀ±YÇ`mb­q[u‰oVÀ,Üθ-Ú?41¡‰¡HÍKÅœ^šMøÓ??aåñ•¢Ï0:#_ÿ ‰¯?ùºVûüÜÏÏá\Ì9b€£3¢m‹¶××DxJÙùÔÛ­7"R"ðá‰q%ù Ì ÍÐÓµ'^í÷ªÖIDDÔp•""Òšð”plÿ{;Œ Œ±|ÈrœŸw_½ˆµcÖÂÊÄ ¯Äñ[ÇW’¯`wèn(ŒødÔ'¸øêEÏÆûCßDZ[Ç*´ŸÇVÀÂÈøççÇõÅ×ñÇË`DûˆHÀís!þœ,œ°ï¹}¸úÆUyÃÛ Çý’ûXql ›K7D½™T†Þn½õV”ð§üŽ:P62ÁÉÜ ûŸß«o\ÅñÙÇÑÛ­7² ²p ü@>/Mâ+çÑÂüÇfCÄℾŠÝÏ­'¶oR­¬±/wîÝÁª« •H1«ç,›u ×]ÃÑ™GñFÿ7`eb%:f}ôYîÝ¿Pª”xfç3¸E¥E¸wÿGÆÄ&""%BÇQ5<Ž ""­9y0¯Ï<Ìè:C(ç3R‰¯ýö~ø~ž~8zã(`ñ€Å˜ä;I¨;½ËtdfcÝ™u¢¶½ö+JU¥X5|•è‘[|1ö \L¸ˆc7‰î”›ÊM±uòV´0mhÛ¢-¾÷F}3 ."=?¶f¶õÍÚÄ_OþZx,ÁÍÚ Ëü–aÄöˆL¬ÍÇT§øV ]¯Î…-ç· 9'ÅÊbQ[‰Ù‰pµr­öxÂ@©Râ•Þ¯ˆF´mÑs{Í­—>7†•TjàÈ#èÕºÞø6Ú´hƒ¸Ì8|ü×Ç8sû VX…Óvê8R""¢†Å„iM̽À A¶•—ÅfÆŠþîצ_…ºO¶y²BBàVú-ÀÂßbáo …!ïj¨…×HDûtpè \l—3 Wë^ˆÎˆFlf¬Æ Gá¸\+«V€¼¢<Úx˜¦ñefc⑜“\e[…%…5/:#0¢]Õs4<¨>ú¬ æFæcclš°Ixïeç…M6¡ßæ~¸%¢GNˆˆˆš;&ˆˆHë$IÍ•j©ü.¯R¥¬²ÎÃwÍkR›8 Œ+îí÷SÔþ¿ñí»ºÉ9Éê5óûÎGkëÖ010D"Á²£ËDó0Ԧݚh£Ïa66m”%3Ê“åLä&hmÕaÉaÈ,ÈdB€ˆˆô DD¤5n6n€¿¢þ‚§­§hÛ©èS€ÖÖ­EÞ Ä³Å3¿Ÿ¹s¦BÛå‰?<ýú¸õÑ(žë)בq?Ct¾TUŠó±ç@4Ä^ J•¥µ«-šÆ—x£ÿ¢‹åbe1‚cƒ+´[U_Ê÷=yííÛk¯#\;ûv°2±B|VãÊæ!øwÂÉ'ÃÑÜIÙIøóæŸ040Ä‹O¼¨Õ>6†9d&wœŒíoÇÿ~ù–Z 77a¬‚,ômÓ—£ˆˆHï0!@DDZããàƒ—º¿„oB¾Áò£Ë±üèrÑöÑÞ£1Äk £SG<ÓùìÝ%¿/©PïPÄ!Q™›µ>þ–]†·¼]éñg÷œ-zÿD«'›‹I?N•›ÊM±|ˆ8¶ž®=q(âmùoþƒÓvâñ–kÐóºÑ4¾1Æ`Ó¹M¸€€+B¹ÂH!^Cpì¦xU†ªúÒõ–ZŠU'VaËù-Ør~‹h¿Wz¿¢ÍîÕ«½a{±ôÈRQÙÖà­Ø¼@Ùä”ï}_Ø6¯÷<œ¹}çbÎaô·£EûY™Xá=¿÷ê=f""¢Æ†Ë‘V½=èm|6ú3trê¹ Œ Œàíàe~ËðùØÏEuW ]·¾7k7Èer¸Xº`QÿEX4`Q¥m?Õé)øÏðÇhïѰWØÃ@j{…=º·êŽCWT˜)ßÒØ?Oÿƒ<Aa¤€©ÜýÚôÞ{àíà-ªûÎàw0¼ÝpX™XÕË•Ñ4>' 'ìxfz¶î …‘Æè1þ3ü+]Y º¾<ßíyüøôè1V&V020‚‡­þ×ûx©ûKõÞg]Q)ðó³?ã…'^€“… ¤°SØaÂcðëÿý ÷ˆˆ¨ÁIÔåS3Q£‘’’‚¼<Ífq?|X ]ÏQ5E¥EðYã?O?l™´¥æˆˆˆš8þÐO …uÞŸ#ˆˆˆˆˆˆˆôç ""Ò’Îë:#·(·Ú:æFæ}-´"""""ªGé!Ž "¢fÇÈÀQoE5øqy矈ˆˆšŽ """"""ÒCLé!&ˆˆˆˆˆˆˆôDDDDDDDzˆ """""""=Ä„‘bB€ˆˆˆˆˆˆHè:""jº¾:ÿìö˜ä;I«íææàû‹ß££SG h;@«m×–R­Ä¦ MpoáŽÑÞ£m›ÚÔØãk êëÜo*îÜ»ƒÓ·O#§0]]º¢[Ÿ÷ O Ghb( K Ñξz·î ™TÖÑQU˜ "¢:Û|n3|}µŸ(ÊÁ—g¿Äô.Ó,!°áì¸X¹`ÂcDå¥ÊR|yöKøyúiíâ¸>Ú|PU}ÑT}Ç×<ê¹ÿ¨ß‘®ì Û‹í!Ûq;ã¶P6»çìj©y©xýàëŽ •·±iƒï¦~K—z‹—ˆˆªÇGˆˆ¨Î^éý &ulwH7žÛˆ_®ý¢ë0´¢9õ¥¹jªßQPLng܆›µ›F£ò‹ó1mç4ÇÃÚÄS:MÁœ^s0Äkâ2ãp7÷nDMDDUá""ª³¹½æê:"j@S;MÅ«}_…{ wüqãÅU[}àzÄdÆ “S'|7õ;X[Ûâ²â`l`\ß!Q5˜ "¢:«ê9j¥Z‰s1çp3í&”*%ÚÚ¶E_·¾020ªÐF~q>NÜ:¤œ$8š;bˆ×{íî5„&†"¯8 ôoÛ-L[ˆŽÿà3𩎠†J­B·VÝÐÉ©“P7)' W R«—‡/Ï~)l›è;vfv¢cGgDãì³(V£³sgtsé¦ñçU•êâ{нû÷‚¸Ì8È àeë…^n½ “È4ê˃C³#R"p)ñr‹rájíŠÞ­{ÃÊĪÒãj»Ïš[“s¨Â÷œà¸`H%R h;­­[Ôj5‚b‚‘…¡ÃÚ ƒ©MÕíhø}T¥ºó³6ßQMç¹.ôvë­qÝbe1ü¯øC"‘`͘5¢d¸Z¹j;<""ª%&ˆˆ¨Î*{Ž:*= s÷ÏÅ{wDuØ0aº8wÊ®&_Ŭ}³–—&”Ù)ì°jøªJ—žŸŽ×~{ çcÏ‹ÊMä&X>d9&wœ @ü |dj$¶œß"ª?Îg>ý)d’r’„‹²„ìÑZ×¢„ÀÖà­Xsz ÔjµPöT§§°zÄêê?¨j¬9½¦ÚøÊ}püìÝbe±¨®›µ¶MÙ†66mjì‹‹¥ ÒòÒðÆ¡7p.木3C3|2ê o7\T®Í>kzlMÏ¡¿ç¨ô(l Ú(Ô]}b5Ö_>n}0;`6BâC„mkϬŞé{жEÛ íÔt¾TG“óS“ïHÓó¼:¿\ûñYñ5Ö+7£ë X›Xk\_áwÑ[”‹.Î]ÐÆ¦ ‚cƒ–…‘=Zõ€‡­‡VGDDµÇ„iMAI^ò ‰Ù‰hiÑýÛö‡\*GPL¢3¢1Ó&޼|ö {äçcö¾ÙHËKC›6èÛ¦/”*%Nß>·¿]¡m¥J‰™3q5ù*\,]ÐϽ,-›‹ã·Žcé‘¥ð°õÀã-ö¹”x ÇoG÷þð´óDrN2ŽÞ8Šáàfí†ù}磥EK,軂6ÀÙÂ}' û;[: ¯/']ÆÉ¨“emÙz"%/‡#coØ^Œö]«;§µ‰¯\à@Ø+ìÑÙ¹3œ-QTZ$ÜÉ~ó÷7á?ÿƾ”ªJñ¢ÿ‹ˆH‰€™¡y ‚“…³„ë)×E möYÓc׿*šŠ“Q'áçé÷v§¢Oá½£ï¡{«î¸žz“;N†•‰ÎÞ9‹ÈÔH¬=½›'n®ó÷ñ0MÏÏš¾£ºœç•ùåÚ//Õå=Jë ØÌX€£XˆC‡DÛŸêô>öW "Ò!&ˆˆHk^?ˆÄìDtqþ&reƒ ,Ä7þÀ®Ð]Xدìâ 5/ýÚôÃד¿†\&P–T˜±{îÝ¿'jûÏ›âjòUŒé0kF¯]D\M¾ŠÉ?NÆw¾Ãúqë…ò{÷ïáÓQŸŠ.ºÂ’ÃðÔOịßá•>¯h›Îm‚«µ+ô] :nQi ã~¾šøü<ý„mýÚôÃâC‹q*úTšÄW~WzÅÐpoáŽàØ`$ç$ÃPfˆî­º#=?¡‰¡È,Ȭ±/ "%ž¶žØ1m‡høy~q>â²âDõµÙçß#~×èØµ9‡„ϱà¶OÙŽþîý…²¥G–boØ^\L¸ˆ£3ÂAá(y²C· Å_ÑA­VC"‘ÔéûxXmÎÏê¾£#‘Gj}žWfÂcjõhǃPhËý’û€·Nànî] ñ‚66m—‡c·ŽaoØ^8™;U›h!"¢úÅ„iÍ¥ÄK€Wû½*\È€Ô‹,Â7þÀ? ÿ”ÕM(«;¿ï|!” ‹þ_ïÿafÀLQÛå“—™ÊM±%x‹0„]­VC 5,Œ-p5ùªh7k7ÑÅtrê„!^CðÇ?p+íÚ۷רoì;ˆ.ŒK"¦æ¥jÔÆÃjßå¤ËxaÏ (U•VÚVF~FwxË—}[2pI…gÑÍ Íàmï-*ÓfŸ5=vmΡr>>¢dôq냽a{1Éw’ ¹LŽî­ºcßÕ}HËO4x”ó¥.çg}¶Ó–3,Ÿï!)' ['oÅ`Á¶³wÎâ…½/àÇ~ļ>óD‰""j8L‘Ödf¨|²°V–­ ‘HU%ª[Ùä­¬ZU(+1°'lÆñ¸XU¾¾yyû9E9·ådáT¡ÌTn U^¤×DÓø‚cƒ±öôZÊ áçé‡ÖÖ­ajh $¼ˆÐÄP¨Ôª—UXöÙ»·p×(>möYÓc׿*çhîX¡ny2¡ºm%¢òG9_êr~Ög;aòDŒ‹¥‹(}Ûô…§­'n¦Ý¬˜!"¢†Ã„i¥±%€²åľ¨ÏއZ­f“/¯›Páb ² K“²úÏv~-Ì*Ÿiýá%̲*­WÞ¾…‘E¥ÛЦñýý`ã„ä1HT7"5BããY—}ö·3n7ø ïš»6ç¶=ÊùR—ó³>Ûi s´·o_íÿòÑpt‘®0!@DDZÓŹ ®`ÃÙ²™àËïÄ*ÕJ|~ús@W—®eu]º`ßÕ}ØpvC…96ÛT¡í^®½àæ¥Z‰y}æA*‘ж§å¥!97YT“ƒýW÷Wx&üØÍc°0¶€§§Pn(3¬pç¹¾i_ùE•ÂH!Ú?86'o¬ÐnU}éÕºü¯øã³SŸ¡SËN¢ Àòçø~l@[4=vmÎ!m«ÍùR¡µÖ&Öøzò׈ΈÆÅ„‹¸wÿlLmàfí†n.Ý*]Ï|ñ€Åé=!q!P©UèêÒµÒ5Ü'úN„£þŽûÙÙPC gKgÈ ° ï‚J'Ã+ßæaëQ«ÏíÁ6G{Ö(¾uc×aZçi¸v÷$ º:w…¯“/ÎÞ9 …‘Bô¼yU}Ê.ªw=» W“¯"4)%pµrEo·ÞÂóûõÑgM h~Ug›6•žC@ÙJ 6¦6¢c–Óô|©ìܯÍùYÝwT—󼡸8úTX*ñA•}ÞS;MÅ ¶ƒp*úÒï§ÃÊØ }Úôiðy,ˆˆ¨"‰º|F""j4RRR——§QÝÇX°ÀQQÑõUÓQTZŸ5>ðóôÖI[t5r<_ˆ¨9àïý¤P(àààPsÅ*p„‘–l9¿ÅÊâjëÊ 1§×œjë4%úØg""¢æ‚ """-Ù¼¹E¹ÕÖ172oVÇúØg""¢æ‚ ""jvª{¶¼>Íî9[£»åÍIsè³®Î"""]cB€ˆˆš™DVíÄgõEï‚7‡>ëê|!""Ò5©® """"""¢†Ç„‘bB€ˆˆˆˆˆˆH1!@DDDDDD¤‡˜ """"""ÒCLé!&ˆˆˆˆˆˆˆôDDDõìŽ/bÕñUºƒˆˆˆH„ ""¢zv!þ®§\•ÍØ=«O¬ÖQDDDDD€® ""jî¾}ê[(Œ¢²øH$EDDDDÄ„Q½{¢Õºˆˆˆ¨&ˆˆ¨NJ”%xþççÑ­U7,è»{.ïÁùØóÈ,ÈÄ7O}ƒw޼X;f­°ONaæîŸ µZ/Æ}{…½°íí#o#¿(_Žÿ²ÁûòÆÁ7êkMŸƒ±1^Üû"ÜmÜñ®ß»¸‘v+þ\¥J‰kw¯aÚÎiB»Ë†,ƒ·½7 »0Wšмâ<8(0¬Ý0 òÔ@Ÿ 5wLQ¨Ô*„ć@a¤À {^ÀùØó¶Re) áæ·¾;…à\ì9ü÷7à쳘è;U…}Wöat‡Ñ5wõ‰Õ¸v÷šÆq®³--ZV[çQb­és€AÙ…%…€Ü¢\„ć(K:”¿.¡‰¡˜0 ™™¢8÷]݇)¦à£iÜ"""¢ª0!@DDäÌí3P)°¨ÿ"x;xÃØÀ&rôqëÿ0Åaücã”]XÛ)ì 0T (&H¸È>{*µ }ÝúÖx¼È´HÑEtM J j¬£X«úÖήvNÛ‰»gÀÛÞK/¶yÛ{#¯(söÍAVaÆ?6Ú€¥±%â²âðý…ïáæ^®½0Ög¬ÆŸQe˜ "¢G¢†?=ý¼¼Eå}Üú@"‘ ðN è"»¯[_(Œ8qjµZ¨}Úô©ñxo|9E9ÇWÓèmÅZÕçð0s#sôpí‰DKKôpí!Ú¾ãÒdÜÏÀ¢þ‹0§×Ѷ‘íG¢ÿæþØm?DDDôȘ "¢GÒÞ®}¥ÁÖ&Öè`ßgZ­FlV,²ðÚ“¯ÁÜÈ?ýó"Ó"ámï ˜ xØzÀAáPãñjºà® mÄZÕçP[—“.ŽÝ<†s±ç V«”%Ê_GgD?òqˆˆˆˆ˜ "¢GâhîXå¶~îý°åüD¦E⟄ ‘HзM_Ã@j€ÀÛ0’!1;ÿ×íÿ4:^}Ì! X«ûjã~ñ}@XrX•u µr,"""ÒoLÑ#‘H$UnëëÖ[ÎoÁ™ÛgšŠövíÑ´ ³sgÅ ÏÙ÷q«ùq ~æÐF¬Õ}•RC¸ãÿ ' 'ÀŠ¡+àaëQé®Rþ÷MDDDŽ¿(ˆˆ¨Þtué ¹ NEŸBDjžíü¬°­o›¾Ø|n3€² Üž­{jÔf}Ì!P_±VÇÌÈ Ù P©UJ¤Bù°vÃðÃÅp üÖŒYW+Wa›R­Ä±›Ç T)ùøDDDDLQ½‘ËäèÞª;Nß>  ìº\_·¾Xwf‚b‚нU÷Jgä¯L}Ì!P_±V§ƒCÇcÀWàlé $X6dº·êŽ)¦À?̃¶ B+«V°5³ENa²PTZ„Ù=gc”÷¨GƒgÚ IDATŽˆˆˆô›´æ*DDÔ˜ÉdeÃΕô¦qù…µ‰Ü]]º å¾N¾°2±Õѵ†Œuñ€Å°SØ!)' â/ $>9…e#>þ!–^ {…=â³âšŠèŒh¨Ô*Œl?£;ŒÖJ DDÔ|(•ÿý& Ò”D]ÙŒDD¤S)))ÈËËÓ¨î¹s&xî¹–¸xñ¬¬TõÙTj.Ä_€µ‰5¼ì¼ª¬—]˜ÈÔH˜ÊMáëä+Úv=å:r‹ráeçkëú¹Fu‰U“ÏáBü(Œð¶nPª•ˆJBNaTj¼í½aal!l/_ñàÞý{°1µ³…3ä2¹{LDDÍÅÎX·Î/Æè:j@ …5¯ÒT&ˆˆ¡Ú$âãå8ЉxüñÂzŽŒˆˆˆ£?´Å¥KÆØ·/AסPzÔ„ "jâ\\J`i©Bh¨±®C!"""¹|ÙÞÞEºƒš&ˆˆš8‰è×ï>Nœ0Õu(DDD¤ii2„…ãÉ'ïë:jb˜ "jÆŒÉÃß› 6–Ï—é›}û,`a¡bB€j "¢f`À€|¸º–`ýz]‡BDDD (;[Šo¿µÄÔ©906æôpT;L52°tiTàÂ]‡CDDD äË/m ‘sædê:j‚˜ "j&ÎGß¾÷±re ItÕ³ðp#ìØaE‹îÁܼá–¦æƒ "¢fäý÷Ó‘”$Ç[oÙƒ‹Ê5_©©˜=Û={bÒ¤]‡CMDDÍHëÖ%ذá.Ž1Æ œO€ˆˆ¨9*(bölG˜™©±aÃ]HyUGuÄS‡ˆ¨™éÝ»+V¤cÃk¬^ÝJ¥®#""""mIM5À´i-‘˜h€mÛ’aaÁG¨î tißÔ©905Uá­·ì#Ç矧B¡à""¢¦,<ÜHW×]‡DMG5ScÆäaÇŽ$\¹bŒ¡C]±¿9ç ""j‚²³¥øà[Lœè øû'0@Z!Q«ù󈨱IIIA^^žVÚÊÊ’bÝ:üü³%{¬/½”…!Cò!—óŸ""¢Æ,-M†}û,ðí·–H€E‹îaÒ¤Î@…B‡:ïÏ„Q#¤Í„@¹ÈHC|ñ… þúË ÆÆ*ôêU€Šàä¤äãDDD€R dgËc€ÐPc\¹b ¦NÍÁœ9™\Z*`B€ˆ¨ª„@¹»w pâ„Ο7Ad¤!ÒÓeÈËã­¢¦í_تë@ˆèH¥€…… ­Z•ÀǧO>yýû߇‘/Ù¨rL5Cõ™ ¢æçðáÃX°`¢¢¢t 5 GMð–‘bB€ˆˆˆˆˆˆH1!@DDDDDD¤‡˜ """"""ÒCLé!&ˆˆˆˆˆˆˆôDDDDDDDzˆ """""""=Ä„‘2ÐuDDT‘‘‘‘®C ¢&ÄØØ P(t 5¤GýÍÈ„Q#dee¥ëˆ¨ ±´´888è8""jJøÈ‘bB€ˆˆˆˆˆˆH1!@DDDDDD¤‡˜ """"""ÒCLé!&ˆˆˆˆˆˆˆôDDDDDDDzˆ """""""=Ä„‘bB€ˆˆˆˆˆˆH1!@DDDDDD¤‡˜ """"""ÒCLé!&ˆˆˆˆˆˆˆôDDDDDDDzˆ """""""=Ä„‘bB€ˆˆˆˆˆˆH1!@DDDDDD¤‡˜ """"""ÒCLé!&ˆˆˆˆˆˆˆôD­V«ui&99¯¾úª¨,33·oßF×®]EånnnøôÓO2<""jB tiÎÉÉ .\@LLL…m·oß½_ºtiEEDDM """jbžþyÈåòë=óÌ3  5U|d€ˆ¨ÊÊÊBQQ‘®Ã ¢F*::}úô©¶Ž§§'("""Ò###XYYÕy>2@DÔ!//O×aQ#åàà€víÚáæÍ›¨ìÞŽÆÇGˆˆ¨Z|d€ˆˆˆ¨ š0ad2Y¥Û”J%FÝÀQSÄQ4vìX(•Ê å‰;v„‹‹‹¢""¢¦„ """¢&ÈÞÞ;w†T*þ9'•J1aÂEEDDM DDDDMÔøñã!‘HDejµÇ×QDDDÔ”0!@DDDÔD9Rô^*•¢W¯^°µµÕQDDDÔ”0!@DDDÔDYYY¡OŸ>¢ÉǯȈˆ¨)aB€ˆˆˆ¨ 7nœ°ô L&ƒŸŸŸŽ#""¢¦‚ """¢&lÈ!000 8æææ:Žˆˆˆš &ˆˆˆˆš0SSSaT "¢Ú¨ËǘQ£‘’’‚¼¼¼ziûî]œ8a†óçMaˆôtòó™&jÚx@ cÇBDu%•*´jUŸ"ôëwýû߇±1/Ù¨r …uÞß@‹±Q#iˆ/¾°Á_™ÁØX…^½ 0~|.•P(TºˆRÙ¿ýö,&LÈ­ëpˆ¨ŽT* +KŠØX9BCáïo…B…§ŸÎÁœ9™07çÿפ]!@DÔis„@V–ëÖÙàçŸ-ñØcExùå,øùåC.ç?ÿDÍIAALLLtiQzº øö[KH$À¢E÷0iR¤ØGÿzÔL5BÚJ„†cî\GH¥À¢E˜0!‰$""¢“-Å—_Ú`Ç ôêUˆ/¿¼ Ž GO0·DDÔL<¨Àôé-ѱc!þü3'2@DDÔYZª°lY:öïODT”S¦¸ .N®ë°¨`B€ˆ¨Ú³Ç¯¿î€gŸÍÆW_ÝåDDDÍ€OöïO„©© “';3)@Œ "¢fæÜ9,_n‹ùó3±tid2]GDDDDÚbo_Š]»’àì\Š™3“ÃK:ª;ž=DDÍHl¬óç;bĈ|ÌŸO×áQ=01QaëÖ»ÈÏ—`þ|G¨8êˆ "¢fäý÷mѲe >þ8•ó5cöö¥Øºõ.‚ƒ±oŸ…®Ã¡&Š "¢fâøq3œ=kŠ÷ÞË€‘!""jî||Š0cFÖ¬±á£T'\vˆ¨ªí²ƒJ%0t¨+:u*Â矧ÔcdDô(rss1{öláý²eËàíí]/ÇJJJ¢E‹„÷Ÿ~ú)\\\êåXÚdÓÓ§!…´ jCC”¶l‰‚îÝ‘?|8Ôº‘¨QÉΖbÈWL™’‹Å‹3t5°G]vÿ¢5§N™!.NŽo¿MÖu(DTÒÒR„„„ïsrrêíX¢cÝ¿¿ÞŽ¥ ¥ŽsæÀô¯¿*Ýn±kŠ=<´c”¶¶ Qãei©Â‹/fcûv+ÌŸÆÆ¼ßKšã¸"¢fààAzö,@ëÖ%º…ˆ¨NŠ’Ù3f ù›oñÖ[Pÿ»\ŠaT¬7nÔUˆDÖäÉ9ÈÍ•âÌS]‡BM G5qj5hŠyó¸ªý§e˖عs§ð¾U«V:Œ¦fññÂk¥½=Ò—/Üï߯!!0;y OHÐI|D™­­;âÌS š¯ëp¨ aB€ˆ¨‰‹—#;[Š.]Št ‘ÎTö¼|aa!vî܉;wî`ðàÁ˜1c€²aúDhh(ÒÓÓahhOOOŒ=ºÂóü%%%xþùçEer¹æææh×®F6mÚTÓ… °ÿ~ܽ{...˜6mëÔ¿ºÄ‘™™‰õë׋>“çÈÊÊÂo¿ý†°°0dddÀÐЮ®®0`úôé‰K•FDÀvÕª²Ì¤D‚ŒwßEÑ¿Ÿ¡4?¯½É¿ó¡äN™‚Ü ªl«°Káµ4;‰‰(uv†¤°†wîüW¯k×ã"ÒG?^ˆþ1ÑuÔÄ0!@DÔÄÅÇ—ýSÎÇHŸ=ü¼üñãDZfÍ<<<'OžÄâÅ‹‘-Úÿäɓغu+fÍš…7ß|S(W©T¢vôÇ`ãÆX¾|9¦M›&Ú¶eˬY³FT€•+WÖ©u‰£º9Ž=Š%K–T:yé÷ß^½zaãÆ°´´¬6®boo{yÁò§Ÿö "áÀ¨a÷Þ{0ý÷®~QÇŽÈ=ºÚ¶ úôAÆ’%°þòKH Ðjøp{yAÙ½{PËdÈ<Y/½Tm;DúÊÍ­¿üb®ë0¨‰aB€ˆ¨‰ËË+›ÆÜ\¥ãHˆO?ý'NÄÀ¡P(àè興ˆüïÿCIIYòlܸq5jîÞ½‹uëÖ!33_ý5œœœ„Ñr¹\4ì^­V#''§NÂÞ½{¡T*±bÅ 0-[¶\ºt k×®ö‰R©=zô¨ÐþСC†7n@©TâäÉ“˜>}:`çÎ(_ÕÙÙÙ›7o†ìßIñ *ÄŸ|ò ¸ø-·qãFØØØÔ)ŽªlÛ¶MH8;;cëÖ­B|-Z´À¼yó‡Oµí©år¤lØ—±c!ËʂŮ]0ß·¯l£TŠÔuëPZC’ á2e d©©€œ©S‘?x0Œ""`½q#L‚ƒáP\\,¼®mU¹|ù²(žãëÛ·o…º5% ´eK¤®[§—^T*HŠÊæ4Éœ7÷ûõ«q°ÞºUH>þ8Ò>üpÐ È22`ùã¡Å§Ÿ"á—_4j“ˆˆªÇ„5;¶•¬S_PP ¼NJJBRRR•ûgee¡uëÖ Äܹs…¹ªòàö_›šŠ—333«1öÊÔ%Žª<ø9<‰‰ ¤R)T*U…º5)nÓ*Hóÿ›á¼øß¹4atíšðº¨S'Ѷ"__áµaD T–Ý%"¢G„éddd(AðÜsÏUY·mÛ¶€Ï>ûL¸ÈnÛ¶-æÎ H¥R¼ûóÀì÷圜œ„;õqqq¢m±±±•oÉ’%˜3gN…r›:ÇQgggásˆ‰‰m‹’åu5!).†ã¼y¢dؽý6м½QRÅJ âFþê,ÍÍm½W«)Ÿ“&"ÒþkJDDDzaäÈ‘Âë¿ÿþæææèÑ£‡ðÇ××iii¸zõ* €²¥ûÊ <ãÇG¯^½ •J«ž?`ÀáuPP.]º løÿ–-[*ݧ}ûö¢XÊÿþ;^]âÐäs Ä?ÿüP*•ذaƒ°ÍÜܼÂ#U±]±B¸Ã_Ô±#r¦NP¶ô ã¼yh0r¡ðñÇ…×fÇŽAþo¿¤yy°ð÷¶uê$JQÝq„é…3fàĉ AVVÆŽ‹¶mÛB¡P %%iiiP*•èׯ^~ùeeÏÔûÿ{1ºmÛ6B¥R!-- NNNFÀôéÓ±gÏÄÅÅA©Tâ™gž——RSS…y j«.qT÷9;v ÿüó”J%¦M›///ddd õßgø% V¬Xsóš—03ÿåXìÙP)HY¿¥öö0¾r†0¼qvgÔO?­¶¬—_†â·ß ËÌ„47·lÙAÈ Íʨe2Ü{ýuûJDDÕã"""Ò †††øá‡°páBØÛÛ¢££†»wïÂÌÌ ãÆÃÌ™3…}Þ}÷]Œ1‰jµ())Áwß};;»Jcff†;v«(•JDFF¢GøüóÏë{]⨊‘‘~üñGÌ;VVVP*•ˆˆˆ@jj*$ :w~ú cÇŽ­±-Ã7`·l™ð>mÕ*”´jµ‘î®_Õ¿s(˜ïß‹½{«m«ÔÉ ‰þþÈ÷óƒZ&ƒ¤°F×® É€ÂÇGòO?¡ gÏZõ—ˆˆª&Q—¯‹CDDFJJŠhÖóê>¬À‚ˆŠŠ®ç¨ˆˆÄä·oà -  62 ûÃèhÈÒÓ˶£ð¡É«"),„üÎHóó¡66FI«VPYZj7x¢f†¿ô“B¡€ƒƒC÷ç#DDDDT'%îî(qw¯r{qÛ¶À¿4Ö†ÚØÅÞÞi€ é!&ˆˆˆˆˆˆˆôDDDDDDDzˆ """""""=Ä„‘bB€ˆˆˆˆˆˆH1!@DDDDDD¤‡˜ """"""ÒCLé!&ˆˆˆˆˆˆˆôDDDDDDDzˆ ""ª3_ßß0mZ ®ÃЊæÔ—Ê4×þ5×~5&ˆˆˆˆˆˆˆô® "¢¦ëêÕ±ºAkšS_*Ó\û×\ûEDDÔ8B€ˆˆˆˆˆˆHq„Õ™¯ïoðõµÆ®]ýDå¿þ;¢qófT*ÀÝ]É“[cútwH¥QÝtlß…K—2—WGGS æ„ùó½¡P”ý7UT¤„ÏoðósÂÊ•cõê« LEq± ;[ãí·}áím)jW¥Rã›o¢°gO ïÃÑÑÏ>ëŽáÃ1`ÀQLŸîŽ÷ßïTe_êrLMû£ ÕõoÙ²ŽXµê ‚ƒÓ!“I0x°Þ{¯#ÌÌ pöl*Ö¯@dd <õTk¼úªw¾GMÅÄäaçÎÛ JC\\>d2 ¼¼,ðÌ3m0q¢kµý*W›sˆˆH_1!@DDZõñÇ×°}û-QÙõëÙX¹ò BCïaݺ'„òÝ»ïà½÷.C­þ¯nBB>¾ù& çÎ¥aïÞ'abòßU99%˜:õ4âãï eçÎ¥aÆŒ³8vl¬­ …òåËð{÷á}|ü}|üñ5„‡gÕª?µ9fmûS™çž;‹sçÒ4ŽïèQ?´mk®y‡’]Œ§Ÿ>ƒää¡lßÿ³wŸqQ\mÀ¯¥—¥Š MºŠ(öN” Š Æ^b4±kŠF5Qããk4&‰%±·ˆ {Iì]TD Ò« T‘&»û~àÇÆu) ,M®ÿØ3gÎÜç0ËîÜ3sæ`4ÒÓó0b„->ÿüD¢Âåä`ݺ§06ÖÄgŸ9Hë+£ßo›<ù&""^É”¥"((Éɹ˜:µI©ë—g$""ªÏxË)MHH:6o~--U,\Ø 7nôE` 7V®lCC ?‡sç /Z }} üüsܸÑ À©SžèÛ×g`ÇŽ™ö^ÂÜ\‡¹ãÁƒþ8w®ºvmˆôô|=+­œŠ={"!ªaÙ²¶ ôÆÍ›ýðã­qölb¹ú¤è6+ÒŸÚàöíØÛëáøq<|ør‡••ΟŽÙ³ïbìX\¹â…û÷?Âï¿w€ªª[¶„IׯŠ~;:êáçŸÛâìÙ^xüx‚‚|°gOw89écýú§ÒEqʳÕw¼B€ˆˆ”æß_}ÕcÆØKË °†ŠŠ3gÞÆÉ“qðô4Ç‘#1((`É’ÖèÛ×RZ×ÑQ¿ÿÞ)8{6Aæl°‘‘6nì"½ÝÖVˆ \Ñ·ïyHDDTß1!@DDJ5wnK4kf€]»"š ±°·bèP™Yß`øp4k¦­[Ãð©©y06Ö„­­ÞÞ–0 q…ãX²¤ ll„Ø·/ ‰‰9hÔH £FÙ£eKCœ<}}õÊvUNUö§6Sf¿Í͵±k—–- ÁÇiPQ ]»˜3ÇE&APšòìƒDDDõ™@RÞÙ•ˆˆ¨Ê%%%!+«ìË£àŸ„˜>Ý aaáUÕûáÇïcçÎp¬[× ^^5‘Rðû@ý$ affVáõy…½—öïFjj.zõ²€¥¥’“sqèP |}# ««†>¨ø‡'Ñû€ ""z/efæcÅŠGX±â‘ܲùó]¡£SÜãö¨ª´is¯^½)µŽžž:‚‚|ª)""""bB€ˆˆÞK#FØ"3ó ΟODLÌk¨ª м¹!&Nt‚‡G£šˆˆˆ¨Æ1!@DDï%==u|óMs|óMóš…žù'""ª…”ûÌ%"""""""ª˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡Ôj:""ª›DÖ]_ûöðq~?ž1™‰Ë—‘™›‰vVíÐͶ[‰uã2✌¸Œ8hªiÂÅÌí­ÚC ”¸NpB0B_†"='VVè`Ý&º&2uÞÇq%""¢Ú‰ ""ªQV_[ O'Ï:àº?x?6lFDJ„´lJç)Å&¢Ò¢0çÄÜ¿+·¬™i3¬´¶F¶2åÉYÉøöø·¸}C¦\[]ÓºMÃäΓ¥eïÓ¸QíÆ„Õ{×£®#"%¶F¶°4°Äõ¨ë%ÖψÇÝø»°2°‚«¹+, ,‘šŠSOOáIòLØ?§'†šÊ±sNÎÁè0Ð2€WS/jâQÒ#\‹¼†å—–ÃÁÄ={VGW‰ˆˆˆ¤˜ "¢zoD«øÚíkØ7°Ç©§§JMØÛaÿ˜ýhkÙV¦|Æ30hÇ D§E#06m:2s3q=ê:tÔup|üqXè[H×ùÓÿOüvå7üóø&ˆˆˆ¨Ú1!@DDJñ8ù1nFß„X"F{ëöheÞªØzq}Ь¼,XZ¡ƒU46¬æheuµíªp] } ™ƒú"æúæðjâß _¤ç¦KËóEùH$p2q’[ÏÝÁ¿]ù ù¢|…¶}#únÇÞ†£‰#ú5ë§pÌDDDDÅaB€ˆˆ*mÅåXc½LÙ—XU@zN:Æïû‰÷eêiªibVY×a\™Û9üð0bÓcŽkL»10Ò6R¸~e¥d§œM‰§º IDAT¥e&º&°1²Á³—Ϙ™s}sé²Ká—í¬Ú•Ù¶o/~<û#ºØtQh¬ˆˆˆˆÊ„UÊÝø»8÷ìzØ÷€SC'$f&âôÓÓ8r¶F¶˜æ6 °=p;î'Þ‡™Ð N0Ð2@|F<bp'îŽÂ ÿ(…cóvö®¶„À½„{8ûì,ú7ï#™e¿ôû“L†ÏV¹9ÜìÜðqëKlW$a酥ظ£ÚŒÂÂÞ ¥I"""¢Ê`B€ˆˆ*%5;˽—cpËÁÒ²àÄ` ß9Û·á‹n_@U ŠÔìTÀ¡±‡`&4“ÖÍå#äyˆBÛÔbÚ[µW86cc…ëVFlz,>?ô9lŒlð£×rË;XwÀ¯>¿â»“ßað~iy7ÛnXjšÅ¶û:ÿ5¾>ú5®D\Áüžóye)DDT)¶F¶2ÉheÞ ½šô©§§ðìÅ343m†ÞMzcwÐnl ØŠá­†ÃÞØªhcÙF¡m j1¨*ºP)á)á³g tÕu±ëã]ÐÓÔ“«óËÅ_°ùÖfXè[ÀÛÙzšzˆN‹Æù°óðÞâ­Ã·¢¥yK™u^¼~áGlz,ÖYGêêÕLQ¥XZ[nmh ÈÌ˸ٹaÏ'{°#pF켂<´hÔ½šôÂÇ­?†¶ºv™ÛªmsÜO¼ñûÇÃXÇ»>ÞS¡i±u6ßÚŒ6–m°{Ôn¨«ªK—'cèßCñ¿3ÿÃáÏˬŒÜ ¸6rEGëŽUÖ"""ª¿˜ "¢J‰K+¶¼èÀ]_S_ZÖÁº:Xw$g%# 6?Ÿÿ§žœÂÞÑ{¡"P)u[µiÿ(L=8ø{äß%>)áÁóG™d´²h3¡Bž‡@$ÉÌ ÐÞª=¼šzáû“ßã“ÝŸ`ÛˆmÕv ÕLQ¥D¥EáЃCrsœ = }-}85tÜŒ¾‰–æ-¡«¡ 0šÂÇÙ—Â/áÈÃ#ˆL„C‡R·U[æ8ýô4f›{c{ìüx'è4(±®PC¸v;N”I Å!)+ ººÅN8¨Å èkécú‘éé;;FìyJQe0!@DD•b¬cŒ9'çàäã“hÒ° 2púéiˆ$"Œk?Nz »áæ܉»ƒÎ6acduUu#^.ÐÓ±'æ÷œ_j|­;Âw”/Æí‡‘»FbÛˆmhѨE¹ûIDDDô6&ˆˆ¨BÔTÕ0Ým:ìØÃÇÙýœû! &b‰í¬ÚIˆ‹Lî<cÚÁ­˜[ˆL˜ë›£»}wè¨ëÔD¤\¹`ºÛô—»š»JoÚ°i©uÈ=5¡³Mg\þü2ü£üž޼‚<i¡U;4iØD¦îÛã*£™ öÞ‡ãŽ# 6ÎfÎÅÞf@DDD¤(D"‘ÔtDD$+)) YYY Õýç!¦O7CXXxGEDDDµ¿ÔOB¡fff^¿ô霉ˆˆˆˆˆˆè½Ä„Q=Ä„Q=Ä„Q=Ä„Q=Ä„Q=Ä„Q=Ä„Q=Ä„Q=Ä„Q=Ä„Q=¤VÓQÝö$ù |ƒ|›‹ü‚|ÌvŸ  –]\†OÛŠ>MûHëŽß?öÆöøÁ󇌸î O ÇßwþFLz rßäb¶ûl´±lSÓa½Wʳ×Gué½û8ù1΄žÁ×n_—X§2ýy#zƒÏö~†öÖíñM÷o*j¤Èøül ª+˜ "¢ {†Û¢@\ -KËIƒšŠbЫI/™ú·co#÷Mnu‡Y§E§E£ÿÖþÈåKËÒrÒj0"å³g œM1¯ç¼š¥Üû±2U÷8Tt{ué½›™›‰g/ž•Z§2ýKĈ €¾–~…Ö¯ë_~6ÕLQ…xpâŒm?îîPWUGÓ†M¾£|acdSÃÖ}~÷ý/Ê/vŒë²€Ø‚š@ÍîÇÕ=ÝÞÖá[!ÔVADÊ•…Cávìm„§„ãû¾G§Æàíì U ™ºu¡?µMyÆ—Ÿ DuDDTaqéq€™ÝgBWCWfY§Æj"¤÷NicLÊÁý¸l¬;Ôt¥ò»ï‡§Èœ‘>pÿÜ?€u××áÜ”s2õk{j›òŽ/ßSDuDDTnqøíòo} ˜è7ÈŸuTôÞëŒÜ ¸AñAÈÊÏ‚™Ð ^M½àáè!­óö}»_»}ýÁûq5ò*òEùhcÙŸµûLH,Â¥ˆK¸y 1i1PUQE“†M0¤åØÛÛö´nÓàä‹›Ñ7¡"P§“'· HÎJÆÎ;;ñ$ù „B k5 Ýl»U¨?e)iŒ- ,°Âg…´^tZ4üîû!ôE(DbìØcp‹Áp6s.¶Óݦcß½}¸}i9iX?d=¦˜¢”¾+2ÞO_<Å¢3‹ ‹ððùCŒò%]A¯p6uFu©Ì~¬È¸—FÑqPt_JÎJ–Æ“•—+C+¸ÙºÁÓÉ Òãþî=Þµé=“W‡ÅgC$á“6ŸÀLÏ W"®``‹Œ Ĩeö§Hyÿ®ù¢|ìÚ›Ñ7!–ˆÑΪÆ´uiòþïJÊJÂÌ£3Ñ»ioŒm?Vf{EËú6ë‹1íÆTÉߢ2ã[>jÛøÕ4&ˆˆ¨ÜÒ²Ó }};öv±õ¹÷:(>“L–»/þàƒƒÖj~îû3€ÿîÛj ñù¡Ïq!ì‚´î¥ðK8óô |zêªêÒòQ»GáNÜ™v/„]ÀÖ€­X;h­ôKåÛmOô›ˆëQ×¥õÏ„žAdj$¶ˆOv‚—¯_J—|r[†mAwûîåîOYJcûl{iÙ¿OþÅ7Ç¿ÁÑiÙåˆËظ <H¿Ð¾Ý¿qûÆáFô_àóEùJë»"ãý*ï•´_™¹™2}ÌÌÍ,uL–ž_ЇÏ–Zçm+ú¯€…¾E‰Ë+º+:î¥QdÝ—B_„bø®áÈÊË’©ç{×Ã[ ÇÒ¾K+5î€ü=Þµé=óüÕsd¿ÉFÿæý±ÈknÅÜ£¤GÙz$F¶‰ôœô2û”ÿï*–ˆ1nß8ÜŠ¹%-»v‡ÂÞÑ{a¤m$7VŠüïÊ}“‹€Ø4iØD.î¢eÍÍšËÄ¡¬¿EeÇ·.|6Ô¶ñU¾(ìØ±žžž°´´¬æmS]Ä„•[{ëöðå‹ß®ü†;qw°}Äv™ñà„`,¿´¼Ìv²ò²0õàT¤ç¦c`‹pwp‡–bÒc°ýövøû¡Kã.øÈå#é:W"®ÀPÛß}øœLœ”•„?ýÿDHRþyò¸ i€Ët°î++ääâqÒclÜŽEgÉ}¼qÆ:Ƙßs>ìØ#ôE(Ö\[ƒÍ›q!ì¬ ¬ð݇ßÁPËÂ/`OЬººJú…¯"ý)ïk©i(<“5ûÄl¼½AŸ¦}ЧY¨«¨ãrÄeøÝ÷Ãâs‹ÑΪÌÛ+W ÔbVYp6s†–š–ôLfeû®èx7mؾ£|‹Ü®¬³ÔO^<‘9Ø(KΛœ q‘âö㊌{qʇòìK{ïíEV^ÜÜ1°Å@j".#×"¯áUÞ+…¶WQµá=ci` -5­†Ú†eö£2ï§9îsàdâ„ÄW‰ØtkÂS±äܬì¿Rn¬ýßUÊx§<ã[W>*¢ªÆWùá÷ßÇâŋѼysxzz¢W¯^pv®¾«¯¨naB€ˆˆÊÍHÛw’žë`ÝšjšÒåyy µs$äR²S0«Ç,Lí2UfY¿fýÐãÏ8ôðÌ—>55ìùdÌ%ÿ6†6½g4îÆß•ùÒç;Ê·bnárÄeœ~zù¢|H$hªi">#Ï_=G#½F2mï½Ö†Ö€ö=ó&«¯­†Š@{Gï…šJáG燎âÑóGxðü ÄPSQ«PJRÖyx¹¹rgP½šzÁ\Ï\ûû‚÷aQïEÒeHð÷È¿e..ú[U¶ïåïN;A À@Û \÷Ïýp.2óÊ>›]¤´«€ŠíÇ÷âèiê•:»îîRx_*ÿ>+dÎF¶)=ˆ+k{UÞ3j*jXÐkœZ€á‡­±-R²SŸKÅÎVôý´säN™$Aßf}Ñkc/œ||‹û,–¹u <ÿ»*Bïá’ÚUt|ëÊgCETÕø*_?"((ÿþû/öïßÕ«WÃÎÎýû÷Ç!CxåÉ`B€ˆˆj̽„{€³¡gáí‰D ð‹vÑïá)á2ë´4o)ó…Z4j ðrÕ""‰3ÍÄÕÈ«%nÿUÞ+™„@Kó–Ò/{Eš™6Px`ðî—:g3g'#éU, ,+ÔŸŠz’ü0²ÕH¹e·ù\û“Ëö¥a³ï…®lß+2Þå¥èýùU©¼ãþÝÉï›+So¹ÏrXX•ºòìK·ù‡Æä“1°Å@´hÔM6…¦š¦ÂÆ«hœµå=3¢Õ¸6rÅ¡‡‡p=ê:B_„¢Ç_=àÐÀÓܦÁÇÙ§Ôõ+ò~r6u–»ÄHÛžNž8pÿÂ^†ÁÕÜUºLÑÿ]UÙ¿Ei*;¾åU•Ÿ U•ã«lªªªhß¾=Ú·o~ø<À‘#G°sçN¬[·=zôÀ!Càéé UUÕjj&ˆˆ¨Ædçg‚ƒK¬£¡&û8+-¹:E—¤Š%biÙñã¸y6F6Ýv4lŒl £®@€wvâôÓÓÒ/–¥µ]ô%¯´eE3oW¤?Ut¦­¸Ë¡ ´ äÎÆ•v0^Ù¾Wd¼ËKÙsTDyÇý~â}<{)ûÌö¢ý¤4åÙ—ìŒípnÊ9 9ÿ(l ØŠ„̸ٹaŽû8š8–¹½ŠÆY›Þ3ÎfΘo6·bna{àvLë6 Ýø 3Í„¶º6z:ö,qÝŠ¼ŸJJ¶õûÝúŠþï*H,*qYeÿe©Ìø–WU~6”¦&Ç·ª¸ººÂÕÕßÿ=®]»†Ã‡cúôé077ÇØ±c1räHhiiÕhœTs˜ "¢c®oXÔ{Q‰-½Ô²è‹äÚAkåî‘^ueU…Ú,KUöç]¦BS…rï>ÓûÁóH$0Ó3“)¯ÊçÝ—{¼%(w‚@ÙsTDyÇ}™÷2¹8dÎ2–0åÝ— ´ 0¦ÝéÄwÉYɘzp*>Ýû).N½øßeÛ%l¯Ì8«HU½gTªhnÖ+û¯Äé§§qøÁáRX+ò~ }Š7¢72÷ÈÀƒÄ W_QE‰†ÔìT¹eE³÷×´òŽoyUåÿÒº0¾UECCððð@ll,6n܈åË—cÓ¦M˜8q"FMMͲ¢÷ DDTc¼šzaGà 9ŠýW ±acé2‘D„³¡gK=cSš¢3}wãîJP ÄøÓÿOÆV>øbTeÞÕݾ;vÝÝ…_/ýŠ& › iæ€øŒx,<½PZ§º”w¼u5u—±D ŠBÛPöQÞqû’ñâ”4åÙ—¶nG³†ÍÐÙ¦³´Ž‘¶„šB$'&#*-JgIÛ++Ϊ¢Œ÷L|F<Ž=:†a®Ã`¢k"-—H$ð»ï±DŒ|Q~©mTäýôòõK,>·?xþ U H$lÜŽ€Ø46l,Ó—ò(úÛ] ¿„ð”p84pPx‰ü²‹Ë*Ôfe(c|Ë«*ÿ—Ö¶ñ­)ÖÖÖX¼x1¦M›†M›6á·ß~î]»°hÑ"¸¹¹ÕtxT˜ "¢ÓѺ#†µ¿`?x¬÷€µ¡5LtM™›‰¸Œ8ääaJç)ðvö.wÛîöîXw}žYˆ-[`¤c„¨Ô(dæeÂÅÌ!I!uª?ïúÐáCt¶éŒ›Ñ7ñѶ`kd uUu„§„ãè œLœ0Ôu¨z¥˜òŽws³æ¸}î¹ÃÒÀ° ×‚Rg¼¯ s({ÜK‡òìK—Ã/cɹ%ÐÕÐEcÃÆÐPÓ@DJ^彂‘¶‘ÌÁTEƽ*•÷=³ìâ2'caï…Òƒö×ù¯±òòJü~õwXê[BOSñ™ñ輦3R²SƒZ *5ŽŠü]8àÀý8ñøll‘ø*/²^f¹ÏªÔ¸ s†m··Ág«œLœW‡¨´(´0k!7׃2UÕø–WUÿ/­©ñ­LMM1þ|Lœ8‹/ÆØ±cáããƒyóæÁÔÔ´¦Ã£j XJžˆˆ¨ŠüÔç'Ìë9¦BSĦÇ"(>á)áKÄè׬|šWl²ªV­°°×Bh«k#&=Á ÁXÖo™Ì™Te«ªþ¼K `à …)’³[O’Ÿ@$¡w“ÞØ5j—ô…Õ¡¼ã=Û}6 "!3·co# 6 ÄÇšÕ&Ê÷ÒÆAÑ}i\‡qèfÛ Ùo²ñ8ù1‚‚ñ*ï:5î„í#·C[][¡íÕ”ò¼gž$Þ6Rô8E°2´Â4·i0×3GLz B’Bž“Ž”ìØÙ`ÕG«Ð·YßRc¨ÈßÕÎØ«®†ª@÷ïãEÖ èiêaiߥè׬_¥ÆdZ·ip³sÃÑ ‹±råJlܸsæÌÁ¤I“*ÔNË–-ѲeKìÞ½»Ò1U•àà`Œ5 yyyrË´µµ±jÕ*xzzÊ”Oš4 /^,¶=oooüñÇUkq*›àDDDÕlÒIx÷ºÔ:ºšºØ4tS5EDôþ(éJšôœtL:0 O’ŸºÚt­Î°ÞŠNJu›ŠŠ fÏž† â§Ÿ~‚™™>úè£r·³uëV…Â*ˆPy²²² ®®¸ººÂÒÒ©©©ðõõEpp0fÍš…+W®@__þJª;wBUUU¦¬AƒÕºR0!@DDTÍceîÑ-Nq—ëQÙš›5Ç×|-WþFôAñA 'ÁÐb@u‡ö^(i|éý4vìXÄÇÇã‡~€««+lmm˵~‡ª&0%jݺ5nݺ%÷ÈÅþýûcàÀxúô)ááá!·n§Näu DDDÕ,hfPM‡@ôÞÒ×Ò/vN„†Â†û>¬"z¿”4¾ôþš3gnܸ¥K—bãÆ€äädøùù!44YYY°²²‚››<==!¤ë¾;‡@i÷ÞÀ„ гgOé댌 8pAAAÈÊÊ‚™™¼¼¼Š=8¯(]]ÝbËÕÕÕѵkW<}úʸË>88û÷ïG||<ÌÍÍ1bÄXZZâ믿FïÞ½1vìØJo£"˜ """""¢b©««ãûï¿Çرcñøñc¨ªªbøðársùúúbøðáXºt©´ìöíÛÈÍÍ•¾~úô)JÜÖèÑ£¥¿aòäÉHKK“©sðàA 6 ?ÿü³´léÒ¥xøð¡Â}Z±b,,,ʬ÷àÁhjj¢]»vÅ.ÿå—_mmm¸¸¸`ðàÁÅNBèçç‡yóæÉ$:„Y³f! Mš4‘[§º0!@DDDDDD%êÖ­ìììpøða ++ îîî8p ‡k×®áÕ«Òo‡›5k&Nœ(S–ŸŸùóçÃËË ýú>²3++ S§NEzz:www &&Û·o‡ŸŸºté"×àÉ“'¥&Þ•““Sf}ûö!00ß|ó ‹ŠÌ¶mÛ¤¿Ÿ9sëׯǯ¿þŠ>}úH˰páBH$ <‰D8sæ V®\©pÌU… """"""*‘@ @=€Ž;(<ËþöòÈ‘#‘™™Yj;M›6•y]PP€Ï?ÿ~ø!æÏŸ/-?räRRR0kÖ,L:Uf~ýú¡G8tè4!0wîÜ2·ý¶²®¸pá.\///¹í…WM 4;v„©©)qäÈbæÌ™pqqµµ5àØ±cÈÏÏÇøñã1oÞ|“'OÆÀÑ¢E 4mÚšššÅÎÄ_‘H„¯¿þ&&&ø¿ÿû?™e÷îÝœ={þþþÒKí%‰ô÷ððÿ¯èìì\ÉÞýçĉ˜5k<<<ðÇ@EEþÉ¿þú«ÜÜ#GŽÄŒ3pâÄ >|Ó§OPx› :T®Áƒ3!@DDDDDDµ›––rssagg‡sçÎáØ±cð÷÷ÇÖ­[‘777Ì™3ŽŽŽe¶%‹ñí·ßBKK ?ýô“ÌD„  p"¾’hhhHWÖ¾¾¾X´hz÷îßÿjjÅ.—4áСCqâÄ DGGKËŠæP(.Yb`` pÌU… """"""*Õ‹/`jj  ð@v̘13f €Â§L:Ÿ~ú).^¼(÷¿·I$|ÿý÷‰DX¹re±gà‹&æ[´hQ‰ †·Ö•1‡Àºuë°jÕ*x{{ã·ß~«ÐãÚÚÚÒ²¢1{ôè5j$S?$$¤ÜÛP6&ˆˆˆˆˆˆ¨T>„¶oߎfÍš¡sçÎÒeFFF …HNNFTT”Ü\E$ ,X€ŒŒ ¬[·®Äƒn///ìØ±GÅŠ+иqcé2‘H„³gÏB$IË*3‡€D"ÁÒ¥K±mÛ6 0Ë—//5ðèÑ#Ü»wƒ ’9ð÷÷÷ÇòåË:u’–»¹¹Á××Ë–-ƒ£££´/aaaXµj•Â1W&ˆˆˆˆˆˆ¨D999¸|ù2fÏžsçÎaÉ’%ÐÕÕEãÆ¡¡¡ˆˆ¼zõ FFF2ïïZ²d öîÝ‹6mÚàÓO?•[>aÂôìÙ;vİaÃàççX[[ÃÄÄ™™™ˆ‹‹C^^¦L™ooo•›CàôéÓØ¶m¤W=¼íÓO?•>9àåË—øßÿþ‡ü–––044Dbb"’““mÛ¶•>-<<<ЪU+£wïÞppp€H$Bdd$š6mŠ„„„ ] ,LQ…µ\Ù-µÄîOv+µÝ¸Œ8¸ÿåŽÑmGãÿzÿŸRÛ.¯¼‚<¸¬p§“'ÖY_£±”$*- ïÄ•ˆ+ˆN†H,‚C j1£Û†ªà¿/"±7¢oàø£ã¸—pqqÐTÓ„‹™ F· ¯¦^5Ø""ª¶oß p†kkkˆÅbøûûãñãÇÒ::u¼qñýIYI2eŸ?ÄÃçáå C7HËoÆÜÄØ}ceêæäáFô ܈¾/»~‰™ÝgVGØDDTÄÄÄ`Æ ˜8q"ŒŒŒÐ½{wtïÞÙÙÙˆŽŽ†D"¹¹9ŒŒŒäÖݺu+„B¡ôõ¦M›d.õ—ôwŒ?ãÆCtt4RSSall KKK¨««+­ݺuƒ¯¯o©ulll¤¿7hÐ ,À¼yó€/^@OOööö%žé766ÆÖ­[ñüùs$&&ÂÌÌ غu+ÀÖÖViý)/&ˆˆ¨Â|û ¦C MM›brçÉèÔ¸lŒlý&Ã.bÑÙE8v×"¯ÁÍÎ  ¦¢7;7|Ôü#´²h } ¤f§b{àvl»½ Ýø ÃZ ƒ•U ÷ŠˆˆjZNN¾üòKØÚÚbÒ¤I2ËtttʼT¿C‡2¯Û·o_îlmm«ì ÙÄÄ&&&å^OUUÖÖÖ°¶¶.³îÕ«W¡§§‡Ö­[K'ô÷÷ÇÚµk¡¢¢‚nݺ•{ûÊ„Q·uøV™×ÚêÚê: ™ X}m5B’B¤ N;¡SãN2õ- ,1¿ç|„½ ÃÕÈ«xøü!DDï¹ððpØÛÛË=ò¯Hvv6&Mš„¤¤$:t¨Ô'Péž>}Š_~ù 4€••’’’ðüùsÀèÑ£affVc±1!@DDVÒGÁ®»»ú"b‰ö ì1Ôu(F· ÁKÄØ°{ïíE|f<é5¨6£Ð·Yß·€Í·6ãnü]dåe¡‘^#x5õ´nÓ Ô,¼,ñíûþðü?ÿ 7£oB$¡½u{Ìî1Îf…g5ã1r×H€”?ùïñF¾£|ÑÚ¢µôurV2–ž_Š«‘W‘/ÊGË6˜ûá\i[µšJáÇ| Õwhà€«‘W¡§©W•aQ ;wîfΜ‰-[¶ cÇŽrË“’’ðå—_"..»ví‚•“ĕѽ{wœ={wîÜAJJ @SSŸ|ò ¾ûî» ""Rª_.þ‚Í·6Ë”=Jz„Ïþˆ ø ¬úè¿Gì,<³{‚öH_ǦÇbÙÅey^üsy÷íÁÿÎü‰DZ—‡-[àåýcöC[ý¿ÉŒ2r30âï2÷×_‰¸‚ÀØ@콯\ò™¹™±kbÓc¥eþQþ³w ÎN> #mù{'ßõéÞOáå¯ð6OO: ‡ ×/’ž“ÿhlºµ &º& M˜/ÊÇ…° 0š¢ƒu‡2ëQÝ#‘H°~ýzüöÛo€ƒÊ%nܸ™3gÂÀÀ»w½}M„ú^iÒ¤ öíÛ‡ôôtÄÆÆBUUöööÐÒÒªéИ ""å I Áæ[›¡¥¦…ï>ü}šöºª:.G\Æâs‹qüÑqx;{ÃÓÉ÷ïcOÐ5…Xà¹={¢@\€SOOáç ?˵›‹EgA_Sßø=ÜÜa m€˜´üqíüûä_ìÜ©]¦J×¹{­-ZãÏÁ¢IÃ&HÈLÀª+«pêé),:»{GïE{«öû>¬ÄIó gˆ @GëŽøcÀp2qBRVþwúðòÇÑ£Û~l•Ž­":¯éŒ—¯_J_èø!æ÷œ¯ÐÿÅç#&=뇬‡†ªFU†IDD5 ??óæÍÃÑ£G¥‰õþùÿ÷ÿmmm¼zõ Ë–-þ}ûàåå…eË–Õèì÷ï#CCCÖt2˜ ""¥ù÷É¿€¯º}…1íþ{Žï—P¨`æ±™8ùø$<t5táã,ÿ¼f±DŒEgÁ7Èßø=&tœPQQUzôè&L˜€´´4¹Gþ ,\¸yyy=z4¾üòËZw›ªDD¤t%ÍX\b‰ —üüâ|Q~¹Ú,OœZjò÷ù½›€(KuÌ! `¤mwwXè[ ß–~8üà°\B @\€Ù'fãø£ã˜ßs>ÆuW®íQíwòäIÌž="‘H."‘¯_¿†ŸŸZ·n]L ô¾cB€ˆˆ”ÆÖØp1ì"œLœd–] ¿°1²‘ùy5ò*>ió‰LÝ+‘WäÚ.:0Þ1rºÙ*ö¼ÞGI’"s•@¸7¢o6–– @¨@¡v늢IV¾ì 9orðåá/q5ò*öZ(s{Õ}‰«W¯Æš5k dnx—ªª*™¨§˜ ""¥éÛ¬/ÖßX5××@WS^M¼ ®ªŽ+WðãÙýšõx5õ†›ðë¥_¡¥¦…žŽ=!’ˆðï“ñ§ÿŸrmj9ëo¬Ç7ǾÁ¬³àfç]däf *- 'Ÿ„™ÐLfì7Ù˜r` x.™T0<%í­ÚËÜ.`¨mˆg/Ÿ!&=VV2GT–ª˜CàZä5zxC[…ƒ‰Œµ‘ž“ŽÀ¸@üzéWyjÀ«¼W˜è7wãïâÇÞ?âã6+=&""ª9ÙÙÙ˜9s&.^¼¥&   {÷îÅĉ«#<ªe˜ ""¥q1sÁ„ް%` ž^ˆ…§Ê,÷qöA¯&½®æ®ø¸ÍÇØ´ßüN®Þ‰Ç'dÊll±¸Ïb,8½sÿ[ìö§tž"óºƒuD§EcÈÎ!2å:ê:XØK6¶Î;ãÄãðXÿßü¾£|ÑÚ¢vŸ1ÉåãXÈ1 9Vìr''Lî4YúúBØ܉»Xpzœ^ ·o! "ª«"1pà@DGGC,+¼VTTBBBàââR…±QmÄ„)Õ\¹hfÚ »îìBèËPˆ%bØ7°ÇЖCå.M_Ô{l m°÷Þ^ÄgÆÃLh†‘­G§¹|B†·Žf¦Í°5`+bš ccØÙÂÛÙ\ÈÔ7Ð2ÀÞÑ{±äÜÄ@,£U;ÌùpœMeêÎï9âÜŒ¹‰ŒÜŒ2ϨÔ=zà¯ÁáàƒƒxœüÏ3ŸCWS лIoŒn;ÚêÚ5&U±°°&"""¥Bë>|˜ zH ©+ßxˆˆê‘¤¤$de)6sý?ÿ1}º«8ªº#¯ .+\àéä‰õCÖ×t8DDDUJ$á×_ý±y³.Ö®M†žžžt™@ €¾¾~‰¯@__jjjÐÕÕ­¶˜I9„B!ÌÌÌ*¼>¯ """""ªÃTUUáêÚ€úôá RœògL"""""""¢Z """"""¢zˆ· Ñ{GSMa߇ÕtDDDDµ¯ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡˜ """"""ª‡Ôj:""ª»þºñL…¦ÒrˆRÛÍÌÍÄöÀíp5w…»ƒ»RÛ./‘D„u××Á¾=|œ}jm›ÊTÛã{[dj$.G\Ffn&ÚYµC7Ûne®’‚ ø ä¾ÉESÓ¦èjÓª*ªÕ-Qí„UØŸþ¢e£–ÊOäebõµÕÝvtµ%Ö\[+C+ j1H¦¼@T€Õ×VÃÓÉSiÇUÑæÛJê‹¢ª:>eؼ›6#"%BZ6¥ó”RÉYÉøæø7¸}S¦ÜÎØÛFlƒ•U•ÅKDDT1!@DDöE×/`*4­é0”b­ÿZtjÜ©ÂѵÉûÔ—’\ºŽˆ”ØÙÂÒÀ×£®—ZÿuþkŒò…¨´(iÁ³‰'è4@xJ8.<»€ç¯ž3!@DDõDDTaŸwù¼¦C zjD«øÚíkØ7°Ç©§§ÊLüqõD¥E¡•y+l± úZúÒe1é1ÐRӪꉈˆj&ˆˆ¨ÂJšC@$Á?Ê¡/B!‹à`â7[7hªiʵñ:ÿ5Î?;„Ì4Òk„^Mz•¹Ý‡Ï"(>YùY0š¡‡C4Ði ³ý·ïœü7£oB,£½u{´2o%­›™€÷@,#&-«¯­–.Ür0ê6”ÙvxJ8®E^C¾(m,Û ½U{…Ç«$¥Å÷¶ÔìTÄ &-jªjhbÒ]l»@U ªP_Þ>þ8é1îÆßÅ«¼WhlÔ]mºÂPÛ°ØíVEŸ+««mW…ëæ‹òáwß+ú¯I@cÃÆÊˆˆ¨N`B€ˆˆ*¬¸9Â^†áóCŸ#25R¦®™Ð k­A[˶Ҳ‰0ùàd¼Èz!-k(lˆ%}–»½—¯_bæ±™¸}C¦\[] {-ÄPסdï’üëo¬—©?Àe–û,‡ª@ ™ Ò縌8™ƒèN;É$6ÜÜ€—W@"‘Hˆ·Ž¥}—–>P¥XqyE©ñY|n1öíA¾(_¦®­‘-6 Û;c»2ûbe`…Y/ðí‰oáå/ÓŽ®†.–y/CŸ¦}dÊ+ÛçÃ#6=V¡º0¦Ýi)\_!ÏCð*ïÚZ¶…±nFßDpb0„šBt²îGG¥nˆˆ¨®`B€ˆˆ”&çM&øM@|F<,ô-ÐáÔUÔq=ê:ÂSÂ1Éoþø/L…¦xÿSNÁ‹¬°3¶ƒ›Db.G\ÆÜæÊµ-‹0éÀ$”ÆÛÙ[é è´h€K#Ì8:'ŸY>¼Õp,öZÌ' Q½Ã„)ÍñGÇŸ¶–m±cäh«k ĘqtN==…ÝA»1ãƒÂƒ²ä¬d|`÷6ÝuUu…I…1{Æ 5;U¦í3¡gð ñú7ï>+dÞ$>ÀÐC±íö6ü1àiyjv*–{/—90N Æðñ-p¾èö…ô zÿ:46jŒénÓe¶›WHÉNÁ_ƒÿ‚§“§tÙv`ö‰Ù¸~©B Eâ+ºJ`QïE°o`›Ñ7‘˜™ U t´îˆ—¯_"(>i9ieöåhÈQ;‹ýÁûa®g.“€!""ª˜ ""¥¹ðõ_K“ ¦¢†Yî³pêé)܉»SX7®°î4·iÒdPxùÿ—]¿Ä¤“dÚ.š4NG]ëo®—^Â.‘H úZúxø@f[#[™ƒmheÞ ½šô©§§ðìÅ343m¦Pßš›6—90 }$brV²Bm¼«<ñÝK¸‡qûÆ¡@\Pl[)¯SÊ<³^ô¸½ï>üN&Þ2àlê,S¦Œ>׆'Í]‘™€ C7 §cOé²k‘×0nÿ8ì¼³_uû  ¦Â$""ªvL‘Òdäf(~’6kk¤ç¤ËÔ-îQoÖ†ÖreEW ì Þ§pÆí݃úØŒXH$éLöEuã2âäŠ;€4Ð.¬ÿI›OÐ@·ÜrrŽ‹K+¶^QûúšúÅ.¯.ŠÆw1ü"`í µðpô©û8ù±ÂÛ3Ô*ûˆ”ˆj›Y¿6Ì!ÐÌ´Y©gþ‹®6€WQý„)M[˶8pÿÖ\+|š@Ñm"‰¿]þ ÐΪ]a]«¶8øà Ö\[#7‡À:ÿurmwiÜ~Á~IDøªÛWP¨È,‘õ‰¯eÊ¢Ò¢pèÁ!¹{ôφž…¾–>œ:IË5T5¤W/TEã+:˜j eÖ¿}ž]k·¤¾t±é¿û~øõÒ¯heÑJæÀ»hwo¨¬Ú0‡€‰® ÚX´ÁÝø»8v^î–°”0˜èšÀD×DéÛ&""ªÍ˜ ""¥éß¼?Öù¯C`\ úlîƒö= ®Zø”°—a0Ð2À¨6£>Î>øãê¸yý¶ôƒ›Ä1.…_BΛ¹¶½›{c{àvì½·W#¯¢«mW4Ði€ÌÜLD¥E! &:N€«¹«tccÌ99'ŸD“†M™€ÓOOC$a\ûq2õ³5¶Å£¤Gøöø·°6´†Š@ƒ[–yì ²)_‹6€)¦ OÓ>0Ò1³—Ïp9ü2ŒuŒñòõK™vKêK?ç~Øxk#ž$?Á‡ë?„‡£é5BBF®E]è6£ª$!PB’BpþÙyÀ³—ÏqÒG-ºš»Jç;€ÌÀgû>Ãç?‡§“'lm¥“ J$Lê4‰óQ½Ã„)¶º6¶ Û‚Ï}ŽÈÔHìÚ-]f*4Åšk¤·èjèbà ˜|p2"S#™  ðlîÒ¾K1õàT™¶UªØ2| ¾;ù.„]€_°ŸÌr3¡™L2(¼bÁ¡6Ü܀˗¥å\à‹n_ÈÔ×~¾ûç; 9*-ëÔ¸S•&Ï«©ú7ïãŽÃïþýÖjô4ô°õöV…úbe`…­Ã·bÆÑˆ À±cÒåBM!š›5¯ŠnV‰ç!Òƒÿ"wâîH'­Ýv´LB «mW,é³?žýgBÏHËU*×aÆw_-qÕ&LQ…}Ñõ ¹ûÿMqjÒ)\¼ŽÐ¡ID°7¶GwûîÒÙÞ‹´4o‰s“Ïáü³óHÈL€™ž<G~¶ûlôs˜ˆ%b´³j‡Ö­åê n9.\p+æ2r2 ––PSUÃt·éÅNÄW´ÌÑı\ãöv›>Î> Å·ê£UÕf>@€v–íÐÒ¼%®E^ƒPS(3¯BI} 3»?Ù‰”„œ79hlØ]m»Jçu¨Š>+›K#¹Ç*¾íÝ}F´\ ¿„—Ù/a¨eˆnvݪm>""¢ÚF )šI‡ˆˆj¤¤$dee)T÷Ÿ„˜>Ý aaáUUÝ‘W—.ðtòÄú!ëk:""¢*Çïõ“P(„™™Y…×çDDDJ²þÆzä‹òK­£¡ª©]¦–Z‡ˆˆˆ¨:0!@DD¤$nnÀ«¼W¥ÖÑÓÔcB€ˆˆˆj&ˆˆè½SÚ=ðUiJç) ]!@DDDT0!@DDïUj©ÎUžù'""¢ºD¥¦ """"""¢êÇ„Q=Ä„Q=Ä„Q=Ä„Q=Ä„Q=Ä„Q=Ä„UØøýã±äÜ¥·û"ëFùŽÂöÀíJo»¼ÞˆÞ`”ï(üvå·Zݦ2ÕöøjƒªÚ÷ë‚ä¬dì½·Ÿú£|Gaï½½e®“ž“Ž­··â«Ã_aÒIXqyâ2âª!Z"¢ÿoïÎãªòü¿+ Y¨¬,!’Â. ClPP»¶M+tlE°uÆa[±]ÑÉ`kkÛ?ZGmì4¨("‚èÐÚl-‚ ÂDÙ !,³VÕü‘_ÊY¨„J RŸ×óð<©sÏ=ç{ê ÷{ï=WÚâáìDDäʵ7o/ÕuÕo·ÆTCj^*ƒû vxÛ­Y°fÃúãé©OÛ”›-fRóRñ÷öwX_ÑfS­Å^_wp©sÿR‘³üþËßóî¾w±X,Ö²1ýÇ´¹ÏžÜ=üû§ÿNYU™µì«c_‘˜’Èg÷~ư¾Ã:-^i›""Òa+o_‰ÑËèì0"5/ƒÁàì0¢;¥»ºRÑéÊÓôéÙ‡¸qøxú\ô.žÜ²\î[wUuULˆšÀmWßFïž½9væìÿ€óµç»&pi‘""Òa׆_ëìD¤ =3õúôìƒÁ``ó‘ÍM¼òÕ+TÕU?:ž—nzÉZ>1z" Æ. ¶¾¶“#‘¶(! ""ö¯ÿ+‚ðì´gmÊsJsX—±Ž£ÅG1™M è5€9WÏaXHó[ƒÓO¦óqúÇTêʯGÿšÞ={·Úgyu9ë3Ö“VFem%!Æf™É”˜)Ö:u¦:~óÑoˆ å?&ü¦}HJN f‹™±acY0v¾ž¾)>BÂÖLfßúŽy«çYÛY2} ‚X?›Ì&>Nÿ˜¤¬$jMµŒé?†ßŒýÍ%Ý%Qkªm3¾¦}ï8±ƒä¬drKsqwsgpŸÁÌ9—èàh»ÆÒxkvyu9Ÿ~÷)òp®æAL4‰Ñ›Åçè1ÛÛ·=s¨éq^4a«ÓV“’“‚›Áiƒ¦1gä áªöªý«È<‰±‡‘øÑñLˆšÐb;›/öŒ¯­ùÙžct±yî }}í®[Q]Á¶£Ûðöðæ©¸§šmw7¸ããéãÈðDD¤”‘ké9êM™›xôïRgª³–í<±“÷ö½Ç’iKX0vµ|}ÆzžÞô4f‹ÙZ¶áà»ñ±ûK+HãõPZUjSþÉÁOl®@6>oô2rïÚ{Ù“»ÇZwû±íl8¸æDOçjΑš— 4œÀ4þÜø¹‘Ùbæ¡ ±ýØvkÙŽã;Øzd+ëï^§»çÅ¿° ˜-æ‹Æ×hÞ‡óØŸ¿ßfÿíǶ³2u%oÜöSb¦Ø5–ýùûyhÃCœýñìO eÁê«y2îIîw_§ÙÞ¾íCMó}ëîcWö.ký­G·’u6‹[¯¾•»>¼‹’ó%Öm_d~ÁŠøÜ8àÆfíØ{Œ‹gÓ|°ÕJ[IDATvM} n¬¹kõö|€ÈÀH毙ςJØ_ã­ê«ç­fOîvžØÉ–#[¨5Õb±Xðò𢠼€SçNÑϯ_›cygï;”U•1cð Þšó–Ͷycæ5K8rÌŸ~÷©]}·g5síüµ„†0iÀ$ªêªx=ùuÜ n|4ÿ#<Ü~剋‰ãûSßsðÔAêÍõÖrhßñ¸P{æg[Ç胴{ž·ä©¸§¨¨©h³NS޾;‡†cêïåϳӞ%:8šÜÒ\÷$r¤ø/|ù¯ÞòªÃûû(! ""“y:€;FßÑlÛcîäµä×8\thx– ~T|³ºñ£â›%¾=ù-ÛŽncwÎnëkÏ,X¬?7½ W\›žÜù1mÐ4Ög¬çXÉ1F…޲kl#CGÚœ\ÝïjJ,mi—‹²7>“ÅÄo7þ–¤¬¤VÛ:WsŽ~~ýÚì¯ñò¦4åçågóÙ‘c¶·ïöÌ¡¦q6& í;hH$4=é2ŒôÂtŠÎÑ? ÿOå—0_:2?;³–Öëèj={ô ¶¾–÷ïyŸ½~Z#.&Ž™‰3Ùœ¹™—nz©C܈ˆÈ¥SB@DD¦ñjzK·x`0¬uªëÖhé]÷ÞÍÊ~¬ý€ôÂôVûïáÑÃæsKm7m¿1{´SãILÓ5ÚÃÞøþ~èï$e%Éü™OdP$¾ž¾ Ví_Å–#[lÞ ßšÆïübÏÂ_GS³½}·gµgc ­mõæz›òK™/™ŸÙÎå°†@c²%*8Ê&Æ>CÈ(Ì ä| ¡þ¡í[DD죄€ˆˆ8Lã ä…DEÚl;xê ‹…¿†º=ê*:ÔìÊöÁS›µÝxÂ0#˜Þ1-öá•à£ÅG©3Õ5»úx°°¡ýÆX°`×Iµ#Ù_ãÉá·½a³®À²¯—5o¸•±„ú5|‡ûòö5»òßÙìí»=sÈÑÚ5_.ÐîùÙÚ1êÀr<)9)Ì~g6QAQxº{rüÌqêLu ê=ˆ_ú•µî˜þcH+HcVâ,ô€Él"»4›!}†PTYdÓöÏÂFüèxÖ¥¯cÊò)„†Ó»go*ª+È/ϧ¦¾†Ç?ÈχýܺÏÀ^YŸ±žÏNTP…ç )®,`ñäÅ6íNJN “ÿ2™þý1``Éô% ¶½ÕÙ‘ìoò€É¼¹ëMžßú<+RWäDöÙl*j*2‚CE‡ìËøÈñÜ2ì>?ü9÷¬½‡¾Æ¾„ú‡r²â$Å•Å<|ýÃÌ<£SÆjoßí™CŽÖžùr¡öÎÏÖŽQGæyK:k ¯Ž}EâžDÎV5¼>rã÷I+H`ÆÜ{µþâI‹IÎJæ¯)e}ÆzÂÃ)(/ ä| ƒÇ'?Þ)qŠˆˆ}t‡€ˆˆ8ŒÁ`àí¹o7œ°Y?Ë<‰ÉlbÆà|0ïë{ÇÝÝÜIüU"q1qÔ›ë9Z|”ãgŽs}äõ¼tsËïYÿý¬ßóôÔ§ékìK^Yii?s³ÅÌÍCoæ–á·ØÔŽæõ[_ÇÝàNFaŕŸyùñâM/róЛmê>>ùqúûp²â${óö’š—j}/|g±7¾ÑWæùéÏããéCnY.é'Ó1 ¼|óËŒ߬ݶÆò§ÙbÑÄEøyùqºò4é'Ó)®,&6,Özuº³ØÓw{棵g¾´¤=ó³­cÔÞyÞ•ŠÏ“š—Jj^*ÇJŽPXQh-Ë>›mS?2(’÷ï|Ÿa}‡qödz¤ŸL§ä| aa¼uÛ[L8¹ë!""VKW?0)""UTTDee¥]uÿñ#ÿùŸ!;vñ•ÇmoÞ^Œ^Æfϵœ¯=ω3'0c&20²ÍwUq²ü$!~!\å5õ5|{ò[BüBˆ ŠjVßb±S–ÃÙÏìLÿþ6Ï}×Ô×0âÕL4ås—Sgªã‡’0[Ì î3˜î-/Êf²˜8VrŒŠê Ì3ÃúÃèedoÞ^‚|‚Üg°M}³ÅÌÞ¼½û3¨÷ ;¿µŸöklÓÞøªêªÈ:›…1½cðt÷$·,—ŠBF…ŽÂÇӧͱ4]4¯q{u}5ááû·Ÿ#ÆÜT[}7u±9ÔVœeUe)>BTp!FÛgÿ³K³):WÄè«FãíáÝ¡ùÒÖÜ¿Øü¼ð{híÙÛNW:]yš¬³Y­noíï,@^YÅç‹ ô$:8ƒÁÐIQЏ&gþ> Îc4 éøÚ:Jˆˆ\†®”„ÀåêÂ<‘¶h¾ˆHw ß\Ó¥&´†€ˆˆˆƒÜ¿þ~Îלo³NO¯ž$þ*±‹"ê|®8f‘îB Ù—·s5çÚ¬ãçå×EÑt W³ˆˆHw¡„€ˆˆt;žîž¬ž·š Ÿ .í71>“ÙÔfw7÷.Цkt‡1;k¾ˆˆˆ8›""Òí¸Ü1®Ëû ‹íò>­;ŒÙYóEDDÄÙôÚA¤„€ˆˆˆˆˆˆˆ RB@DDDDDDÄ)! """"""â‚”qAJˆˆˆˆˆˆˆ¸ %DDDDDDD\"""—™üò|bþÃmý/g‡""""ݘ""""""".H ¤„€ˆˆˆˆˆˆˆ òpv""reª©¯aÄ«#˜6hK¦-áå¯^fwÎnʪÊÈx,ƒøUñTÔTôp’uŸ‚ò&ýe›ïÛLLïë¶©oOÅÝÍ­÷o½ìÆâëéKj^*Ûó7 ²¦’~~ý˜9d&‹&,Âèe´¶•]šÍê«Ù•½‹ÜÒ\ÜÝÜÜg0w^s'sFαé×l1³2u%}ûôóëǼ1ó¸ièM]ýˆˆˆˆ RB@DD.Iyu9·¿;E•EÖ2³ÙÌÄ艬H]Áñ3ÇØk ÉÙɸÜHÊJ²&òËóÉ)ÍaÁØíïîîfwön»ãÛrÿkÿËš´5<·õ9,‹µ<¿<Ÿ©+ؽ›|Œ§¬€gNØ´›VFZA§+O³ðº…Öòç·>Ïš´5ÖÏyey¼üÕË:uÈîñ‰ˆˆˆt”""rIöæíeLÿ1¼9çM†öŠ·‡77DßÀŠÔ$e%YOÈ“N4üìçåGrV2÷^{¯µ`bôDç âÿki,yey$lKÀßËŸ'ãždòÀÉø[šËkɯ±)sïí{Ïz¢Ó+†ûÇÝOlX,aaT×W“y:“ç¶<Çò”åÜ?þ~Ü îdf°&m F/#K¦-ajÌTêÍõl>²™—¶¿äÔïADDD\ƒ""rI|=}y{îÛû۔džÇâåáErV2÷ÄÞƒÙb&%7…[GÜŠÑËÈŠÔÔ™êðt÷$9;wƒ;ãÂÇ]´¿Uw¬ê¬¡´8–ϾûŒzs=/ÌzÁæVþ˜Þ1üyöŸÙ—¿mG·Y 3øË7aù7Ë)¬(¤ÖTkÓGAyl9²€Ç'?ÎÜ‘s­ÛçÿË|Ê«ËYöõ²N§ˆˆˆ(! ""—hxÈðfÉoobÃbÙ“»‡:Sß}OYU£'bô2òÆ®7ØŸ¿Ÿkï囜o¸¦ÿ56Ïâ;CKcù¡äÙøl|ÄúØ€‹õg á‘ƒ9«æPXQØjÕuÕ䔿 wR\èÆè•‘N§„€ˆˆ\’@ŸÀV·MˆšÀ®ì]ìËßÇ‚ôpïÁ¸ˆqôðèÑËHrv2ÞžÞTTW01ʾÇ:s –Æb¶˜0™M­î×xÀ'?¡°¢ƒg°hâ""ƒ"ññðÁ`0°dË›õDDDDœM é47 ¸Wv¼BrV2 06l¬uñ½ñãI:‘„—»àüõZÓ˜LxïŽ÷˜5¡Íº¹¥¹<6é1›$D­©–”œ›º‘A‘$e%qט»l¶}õõ%Ç-"""r1JˆˆH§Úg(½|{±í‡mä–æòÛkÝ61z" Û¨1ÕàçåǨÐQvµÙ™k´ä¶‘·±ü›å<ºñQOZÌÄè‰ôîÙ›òêr²K³ùâð„CXxÝB®ò¿ €Ä=‰/?1z"‹…c%ǘ>x:înîÎ ³MQAQ,µ”%[–ðÔ¦§Z¬óàøøÅð_ðæî7YŸ±žõë­Û^F¦žÎ¶£Û¬e£BGqç˜;Y“¶†'¾x¦½[†ÝÂç‡?ï„шˆˆˆüÄÍÙˆˆÈ¥ñòjXØ®¶ÖàäHZÖ¸6@/ß^ ë;ÌZEX@XCËôqF·¾u Öq˰[èk싇›}}ùYøÏH˜‘ÀC×=@¨(Üùã#Çcô2âïíO\Lë¬#"0¢Y» 3x2îI¢‚¢ðt÷$, ŒÅ“³xò⮢ˆˆ\᪫ x{[œ†\a –Æ%’EDä²QTTDee¥]u÷ï÷æ×¿îÏ®]9„„Ôwrd"""r9Z¹2+ص+ÇÙ¡H2„„„txÝ! "r…8°€#Gz89q–£G{Sçì0ä £„€ˆÈ.0ÐDtt))>ÎEDDDœ$%Ňk®©vvr…QB@D¤ˆ‹;ÏæÍ=ÑC`"""®'#Ëü|¦L9ïìPä £„€ˆH7ŽÜ\Ovîôuv("""ÒÅV¯`ðàZF®qv(r…QB@D¤4¨–)SÎóÊ+½0™.Ï· ˆˆˆˆã>ìÅgŸùñàƒeÎE®@JˆˆtÏ>{†œO>üÐßÙ¡ˆˆˆHYº´£FU3{ö9g‡"W %DDº‰ˆˆ:î½·œeË‚9~ÜÓÙለˆH'{ï½öíóáùçK0èAé%DDº‘E‹Î2p`-ÿöo¡œ=ëîìpDDD¤“$%ùò⋽xôÑ3\}µÖŽQB@D¤ñò²°|ù)ÀÀÃ÷£²RÿÌ‹ˆˆt7éé^,Z­·V²p¡ÖŽÓoŠ""ÝL¯^& ÉÍõäöÛû“ŸïáìDDDÄA6o62~bc«yá…bg‡#W8%DDº¡Aƒjùä“|ÜÝ-ÌÆŽz¡ˆˆÈ•¬¦ÆÀŸÿÌ¢E!ÄÇWðöÛ…xzZœ–\á”é¦BCëY»ö$×__Å}÷…òÀ¡dgk±A‘+ÍÖ­=™5+œ•+HH(æ¹çJp×RAâ‹Å¢´’ˆÈe¦¨¨ˆÊÊJ‡µ·gÿýß½9~Ü“iÓÎsÛm•\ýøøè¿‘ËÑ©S|ùeOÖ®õãða/fÏ>ÇOœ¥oßzg‡&—£ÑHHHH‡÷WB@Dä2äè„€ÉdàóϬYãÏÞ¸¹Y0 ŽzŒF³Cû‘ö3› ”—»‘íÉ©Søø˜™5ëK¬±FcKb‹1jÐ jÔhìb±F±bEA±€ Mªt¤ìî÷ÇÄɺ´a)Ëêï}ò䙽sçÎÙ{˜ãÌÜá …BÙ!'í jÈÈ$r2‰€ŒA" cÈÈ$r2‰€ŒA" c¤@½pñâÅíÛ·‘¶¶ö… ¤N½p÷îÝcÇŽÅÄÄÑܹs/^¼˜@D3f̘“‘‘1zôhfùÏ?ÿlÑ¢EÝì÷òåËÇ …lÉСC>|EDýúõc ëm¿q¼Y³fD¤¨¨(íXê…ððpfaÊ”) `–Oœ8QPP@DVVVR‹ ê=<u‰Qppp™ÏzEDDœ:uêÙ³gYYYššš­Zµ?~|Ë–-Ù çÎÛ±c»áùóç=<< ûõë7gÎEEÅwïÞíܹóÅ‹&&&Æ 9r¤è~£££Ož<ùôéÓÌÌLmmíŽ;N:ÕÈȈY»xñâG±•çÍ›§¥¥EDýû÷ÿñǹ´@¥c»víÚñãÇׯ_ߣGÒ]±}ûö‹/fff²=<<ÄêTú˜S¥Q•çÑ£GË—/g?*++vîÜÙÙÙ¹ôÝ›ñññ§NzòäIzzº¡¡a§N¦M›¦¡¡Á½—8ƒƒƒ===ÃÃÃóòò6lØ´iÓÚÛÛs¯P.J<¾ïß¿'";;;777¶þ7~ýõW"ÒÔÔ<þ¼¼¼|uö"vIpðTú#e€P¸gÏæ·¢¾¾>[¸zõj99ñÙ}y<ÞâÅ‹SgçÎì†6l­9dȇêêꊮ]»–mÆ Ìi´(uuuOOO¦‚ƒƒC™¿º'NœÈ±±¯ÆœÁ3Î;WfWÌž=»Ò¿¿üòKýÆ%ªò\½zµÌ=êëëŠÖܲeKé˧ 4à^Kœ»wï.3žI“&q¬P.Vg|W¯^Í,((($%%±õGŒÁ”Ïž=»ú{;Šªtð¹ýˆ@™È…e%$îî•/^\µj{ÒùÛo¿1ÕØDN^^¾I“&'OžÜ±cÇcφGŒqáÂ… &0%JJJ>| …þù'[²víÚþùç§Ÿ~bÚWTT|üø±P( 9{ö,{‚»{÷nÿ—/_rlAô«ÉËËkjjþòË/>>>þþþ©©©evExx¸¿¿?›­X±Âÿ“† Š‹—î7ŽQ•'==ÝÝÍ›7?îèèÈ4hkkËžÜïÛ·í‡#GŽœ?~ݺu–––+pŒÓÐЩ¶aÆk×®yxx¬_¿ÞÎÎnРA+”§Ò «?¾:t`VýþûïLåÔÔTvdCBBjü(ªÒÁÃñG Ê„D@(,•¦„½ü% ¿ûî;¦PWW·¤¤D(’ÈÑ;w˜j­ZµbJ …BaLL [-00P ˜šš2×­[Ƕ?eʦpܸqLIRR»áƒØšÜ[`¿>}Zô[÷ïßßA„‹‹ »JYY™ÙäСCl¡Ø¹xé~ãU»“žžÎÆÿüùs±½tïÞ]ôÒMNNNU+T§ºº:“ÒDEE‰F•œœÌ±Byß´â kd|÷ïßÏ”·lÙ’)aï±ìÚµkMí¥4.÷1(ž‘(ûwïØ jàÀlù€˜;â>|ø.ú2…nݺ1ËÌB×®]•””ˆˆ½üBDiiiïÞ½cÞ©EDÞÞÞþþþì~™…{÷îUaU[““{BïöíÛÌk¾쩶ĸGUÁ®Ÿ}º®®nAAÁàÁƒÅö¢  PRRBD!!!cÆŒ)F¥8Æ©¯¯ôèу¾yó&::úÉ“'›6múøñc@@À­[·ú÷ï_i…ò:¹â »téRýñ%¢9sæ0‰ÜÉ“'ÙÂiÓ¦©¨¨T©Ê”››;tèPfyëÖ­:u⣶ľ|Ò¾· ^(=iÇ!C˜++«ÄÄD¡P˜––ÆÎŠîèèÈTµ’m­oß¾LáŒ3˜’œœöï¥K—„B!{ܹsç””vÛ„„wwwv2À¬¬,vC±9¶PæÄ’•’ì9îQ•)**Šý²W®\a 7oÞ̲ó(>œ)ÑÐÐð÷÷g ?~ü¸uëVŽ8ƹfÍš[·n±OÙ6nܘÙðÈ‘#\*”§Ò kj|Ù¹O™¬ŒÇãEDD°k«³—>°CsõêU¶œãÁÃñG Ê„D@(,ë<522’}°M]]½C‡Ì;܈HWW—™7RXD.::šìAYYÙÎή}ûöìÃu¢Sö±ç÷Ý»wwpp¸~ý:÷ê8‘ãþ½Jì.”••;wîliiÙ¥K¶ëØD.&&†¥ƒˆlllÚµk§¦¦&//ϱÇ8™xÔÔÔš5kÖ­[7¶‚ªªjll,— å©tÚ_ÑkqDÔ¿ѵÕÙK59Ž?bP&$rBa9ç©qqq...ìY))**Ž3&::š­#q"' “’’f̘ÁÌ^Ȳ´´\¼xñëׯÙÖnܸ!:W ;vŒ{ uœÈqÿ^ezþü¹è±œœDçí}³Yrrò¬Y³D©244Ü´i÷ \â<}úô!CÄž ëС{•¯Ò åá²aŒoaa¡èñsöìY± 讀‰œÛ”‰' d§G¥ þ@" cÈÈ$r2‰€ŒA" cÈÈ$r2‰€ŒA" cÈÈ$r2‰€ŒA" cÈÈ$r2‰€ŒA" cÈÈ$r2‰€ŒQv c’““sss¥ÀECCÃÈȈ{}\‘1Häd 9ƒD@Æ ‘1Häd 9ƒD@Æ ‘1 Ò¾^EE¼7o”ÒÓåóòðJÒÄã µ´ææ%ffÅ<ž´£È@]ËÊ’;wNóúuõÇUø|ü­¨G´µ={æžëà'//íh |Hä îðöï×Ý¿_GNNؿބ )-[óÕÕÒ à«&PV–|l¬bHˆŠ¯¯ÚìÙÆ¯^Þ·ož´Cƒ²ñ„B¡´cY’œœœ››+Á†×¯«oÜØ ;[î»ï>¸¸d#y¨·bcwìлtI£{÷üõëÓ,,Š¥Ñ—OCCÃÈȈ{}<—µN($WW½ï¾3îÖ­àæÍw3gf"‹¨Ï,,Š·oO>y2!=]~ôh³û÷U¥ˆC"µëãGÞ‚Æÿ­³eKÊæÍ) ð¥pboÿÑË+¡W¯üéÓMNŸÖ’v8ð<#µH  eËŒUMìØñ£´Ã€ªQVnßžle¥÷ÓOjj‚aÃ$y¼j9¨EÛ·ëݼ©vøp²8ÅãÑÂ…¹¹¼•+ ÍÌJÚµÃßôz·V@m¹vM}ß>ÝM›R»t)v,P-+W¦wïž?w®qf&^JP/ ‘€ZQPÀûõ×ß|“3ztŽ´c€ê’“£íÛSääè?t¥ !‘€Zò×_ºYYrߟ.í@ fhh–-K?uJûÕ+%iÇHä deÉ8 3þCCÌQ P×-ZÔ¸qãÆÏŸ?_Ú±À—fÔ¨œV­ ÝÜô¤ ‘€ZpœœÐÅ%[Ú@=rùòe&ÃlÑ¢…´c ñx4cFæ­[êïßcÒD)«Úlß¾ýÁƒµ Ô¶®]»~ÿý÷u°£ë×Õû÷ÏÃ[¿¾<ýû穨|}Õ'NÌ’v,_µª]‘{ðàA```-…µ*00°nþ!¦°÷ä‰J¯^ùu°/(mÇŽ‘‘‘‘‘‘»ví’v,ðRTvíZð઴ùÚUù’h—.]<==k#¨UcÇŽ­›EE)•”ðZ¶,ª›Ý€˜E‹ýóÏ?D4hÐ 6—ËÊÊ:r䈯¯oLLLaa¡žž^ëÖ­'L˜Ð»wovÃùóçûøø0®^½zýúõ|øÒ¥Kþþûo´´4ssó‰'º¸¸ðxŸ_XXÁnاOŸÒ°idy$h¡E‹ªª˜h¾jHäê;GGGfa̘1_Æ«]³²²FŒÁ,»¹¹ÙÙÙI7€/›PäŸÍyÜ®•«««—ÞDCCƒYàóùU ?¿ºsØ–nAS³,À׉\}À,|1 Oqq1û¥233¥ À¯iÓ¦ìrXX˜ƒƒ³üüùsf¡I“&Õi_tóÛ·o7lذ¼šlN(üü–,î- w–|ÉìììØüûí·W¯^åææž8q‚¹¯’ˆÆ_Íö›7oÎ,/Z´(44ôãÇ>|xñâÅÑ£GŸ={Ƭe§$)..~úô)›ÎqoX¸"ð%“““swwŸxð€yÕO‹-œÛ¶m+VíÎ;‡NHH°´´œ;w®¥¥e™«UÚÚ»wï¦L™Â,:tH^^ÞÝÝýåË—&&&Æ 9r¤èNoß¾}äÈv§¦¦¦µÕ P›+W®ˆ¾\WW·M›6&L(sr‘ª²´´¼råÊñãÇoÞ¼•ŸŸ¯¯¯obbboo?`Àöχ¦¦æþýû·oßþòåË‚‚ ZOX•©CÇŽKDžžžµˆcŸ(X´hû1—/_ž2eʇÄÊ—/_¾eËöã–-[V®\É~TRRúóÏ?¿ýö[棿¿?3± —Ö^¿~ÍÞsàÀeË–‰>í¶víÚuëÖ1Ë›7o^µjU¥;…:PS?¿ÉÉɹ¹¹T¸rEcáB£ÈȨjîê'ü­¯ FFFÜëã9™úÍ7ß0yפI“.^¼¸gÏž ÑÖ­[wíÚÅT»ÿ>›P999y{{oÚ´iÙ²e’µ&jáÂ…óçÏ?wî\ß¾}™’ß~ûÉëîß¿¿zõj¦pøðáçÎÛ²eËòåËkº¾.¸µRæmÙ²¥¨¨ˆˆz÷î}ìØ1¦PYYyúôéDô믿~÷Ýw<oÏž=ÌÕW33³ .(**‘œœÜ÷ß/Ak¢›Ì;÷—_~!¢-Z0ÏÓ…‡‡wîܙݩ………···¼¼<)((,X° 6»à ‡DNæ=xð€YˆŠŠboSÌÎÎfÞ¿Õ¸qã'Ož0%}úôa²8"8p d­‰n2dÈfÁÐÐ-LKK#"v§ŽŽŽLGDì…; 9™Ç¾&õÝ»wïÞ½+]!##ƒˆØÇÊE_¢Zú…ª[e``À,((üw81âØ²¯‘-s§P%Hädž¥¥eJJ =ºÌ[›5kFDæææoß¾%"æÿŒ7oÞHÖGfffÌþ{622’{ P&;‘yãÆc´µµ?±··ÿþ}pp0óÖ¡C‡2Õ®_¿DD?~Ü´i“d­qÄÞuyãÆû÷ïQaaáæÍ›%ÿ¶€DN†xyy9~Žy“Ûüùóˆ(==½}ûöÍ›7ïÒ¥‹¹¹¹ŽŽŽ³³óÍ›7™ÍçÍ›×´iS"*))éÞ½{»ví5j$öî­q4oÞ<"âóùÌNsrrªÝ_5$r2#!!!às=""eeåëׯoذ¡aÆDôúõë‡ÆÇÇkjjNš4é‡~`6WWW÷õõe^üZ\\Ú»wïÝ»w³í«©©qo#MMM???fÒ”’’’ÐÐPGGÇãÇ×H‡|µðŒ\}çïï_Þ*&õ""%%¥Ÿþù矎MLLTVV655544{O€™™™¯¯ï»wï,,,6lèååŬâñxÖÖÖÜ[kÔ¨˜••³ ªªÊ¶nÝZ´¦èN‹‹‹ÙjvvvÕ耯¹úŽ}å­=tè•••££c£Fˆ(""âÇdVõë×yë7ÇÖÔÔÔJ&//_^´5bvJDŠŠŠUúR ‰ÜW$ `úôé:::666999ÑÑÑ%%%Ddhh(z%ÔsxFî+òí·ß:99egg?~ü8""¢¤¤DSSsúôéOŸ>mÒ¤‰´£àdÏžˆ³gc¥Eêm`bÄâýÈç ÝÝ__¾_³»€Ú€Dî+Ò£G+W®dgg?{öìþýûááá™™™ÿý·‰‰‰´CàêÏ?_Ÿ=[ƫꥮÞ&F,NÑ%%w÷WÕOäd¥+dn­üꨫ«³3‘Èœyóš*K;Š2ÔÛÀ*VaËhWÈ$r KæÎm*íÊVo«Xm„-£] [È€,Ù³'ÂÐPù›oþ›O•ÏÞ¿Ÿ‘Íç ll´zô0PV–ÛêùóÌŒÜÜ###}}evÛݻí­5†5‹ŠÊ¹{7¥¨HЮž½½¾X yy%¾¾I‰‰ÆÆªýû›ðùÂÇ£Ú´Ñqt4.÷f+ˆ­n”îOÆ«WY©ÙÛë·m«+¶6#£ðÑ£´wïòäš6ÕêÚÕ@^þ¿×“H6FP%Hä@–üùçëÖ­uÙ$!22gîÜÀ·osÙ FF*;wvnß^ù˜–V¸dIЃ©lUU…µkÛŒcAŸž ë×Ï$!!ßÕõ…Pøoqã,6mjÏnöaÖ¬ÀÔÔÌGCC•Û¹»¿š4ÉšMäDãØlű•éܹwqqùwÑäÉÖººJ×a‰õ'ÃÕõÅÞ½ìÇ#Ì·níÀ¦j¿üòìäÉ·EE¶‚¥¥Æþý]­¬4Êl³Ò1 ‘YUPP2cÆý„„ü† ÕŒåîÝK‰ŠÊ™9óÁÕ«} Uø|áÌ™ÂÂ>˜™©÷ìi¨­­›{ófÒêÕ!kÙÙý{¡ééÓ ?¿÷ÆMšh&'¼r%þ̙ءCÍ»u3 ¢¼¼’Ù³SS?ZYiôèaÈç oßN^µêI¥áUÜ,ÇØÄœ;÷îþýÔ2W±† 1åžÈ•öäIÆÍ›IFMšh%%\»–páBœ¥¥Æ‚͘ w¶k§kjªVX(`®Ý-_þØÓÓ¡tk•Ž‘Äq|åÈ€¬ºt)!!!¿}{½#Gz¨ªÊQI‰pñâ Ÿ·‹7¿~=1,ìðaf®®ö쥰°cÆ:¹cGG¦$=½pÏž.ýúý;}kÏž†?üðøÖ­÷LÆuéR|JÊÇ^½Œöí뢨(GD%ÿûß½ôôŠë¸Yޱ‰5ª‘½}ƒŠ÷«§W­›332 ·ní0zt#æchhãq㊜7Ï–‰sýú¶ÖÖš©IIùJJ‚N¤¥} Éøð¡¨tYéU'T€¯9UOž¤Ñ¢EÍ™ ˆxË–µðñIxü8ˆîÝK!"55…½{#„B! …$ µ´ÃÂ>°í´h¡Ã¦[DÄÜ-™’òï”!!D´`A3&‹#"UU…yól¿ýöAÅáUÜ,ÇØÄŒÕ¨ò~©KK 6‹#¢¶muû÷7ññI|ó&»Y3m"zúôôi÷JJ„b¦§–Nä*#LÕ¹ôôôøøø%K–ÔR4PODDD˜˜˜hjjJ;¨I¡¡¡fffÒŽ¢&eeQ£F¢…ææê<efQFF>Sq;&&ª¢ÕÔþ½p$ºSS5Ñ:ffꕆWq³cSãÏÈ•ff¦&Vbn®NDÙÙÅD˜ºmÛ %%¹~ýŒ-,ÔÕÔx<Þ;É!!xjGÆ$SµDîÍ›7ñññnnnµ Ôª‚‚i‡P“´µ•ˆèÝ»\sóÿr¸¸<¡tt”Ø 'Zéë‹?‹¥¢"W¥½$$ä‹>ПW½Ø%Œ­ž‘‹OãâòˆHKK‘ˆüýßÑ®]úôùïbã«W™åµVé€dª–ÈuéÒ…ˆ<==k'¨/x<ÞâÅ‹ÿøãi5iìØ±Ò¡†µo¯ïå»sçëöíõTUˆˆÏnßþ’ˆ:tÐ'¢®]xzÆðùÂùómåäþ›?5õcRל¶];½³gcwïß»·‹‚ˆ ù¢“:JF²Øê๘˜\oïw"ÏÈ}¸q#IKK±I-"âñxD¤¡¡ÈÖ Lõó{_^k•ŽHÏÈ€¬6Ìt÷î×ÁÁéƒù²3"FFæhk+¹¸XÑ!f‡G:sçNJ·n†úúJÙÙÅ11¹¥Í˜Ñ¤M›²g†,µ³;^ݺõ~ð`ß= ù|ÁíÛÉùù|"âñ*ݺ\’ÅVÏÈéé)/_þøŸâ›6ÕJL,¸v-ÏN›Ö˜™é¤];="š=;pР†ººÊoÞd$ëé)¥¥•=õK¥c’A"²JUUáï¿»1ï(óðx˪ìÜÙ‰¹ R^ž÷÷ßÝV¬xìç÷ÞÓ3†ÝÐÈH…cGDêê {÷v™5ëAttNtt¨¬^ÝzéÒ`55É…ÖHlµ¡}{=Í}û"’™’#Ìçͳe–l8l˜Ù¥Kñžž±LÉØ±–šš F–ÙZ¥c’A"²dÞ¼f††ÿÝ:ظ±¦_S-ý IDATO¿{÷R""²ù|¡µµf¯^†ÊÊòl]]¥¿þꕜž‘Q¤§§di©ao¯Ï\_RP[¸°¹µõgSq0…ÿ7ÙOÛ¶º¾¾|}“’’ ŒUûõ3ñóK¢Ï§3 Œc³ÇVKÄ:°Ì°‡5<ØôÑ£t@Ø¡ƒ¾ØKíþø££‹‹õóç™<uè ×ºµîÝ»)ŠúúÊeî¢Ò1 ð˜i¯9bž±Á3r_<<#÷Eª©ŸßäääÜÜÜ *\¹¢±p¡QddT5wTDF昚ª±èøP4~üíèèœË—û03ò|U¾¼¿õõ†††‘‘÷ú¸"P‰[·ÞïÝÑ­›™™zrrÁ­[ÉYYE]» ‹iA"P‰&M´ ùW®$°%­[ënÛf/Åà+ÇõMJ@D®®®<ïÖ­[ë¯\¹’Çã=}ú´6ƒ‚:áêJ<qzZ¹’x<ÂÐ)ŒîÝsÚ½»óÊ•­~ü±Í‰=½½1WH®ÈTNKKqàÀ†ÒŽà_¸"WË–- …ŽŽŽÒêܲe$†ê$r2FÆ9ö©³#GŽ´jÕJEEÅÂÂbýúõ€­3iÒ$—––&º!S˜™™)ÖΞ={š5k¦ªªÚ¦M›K—.Q^^Þ¢E‹6l¨¢¢Ò³gÏÐÐP¶‘ÒÏÈÅÅÅÍœ9ÓÜÜ\IIÉØØØÅÅåõë×¥ÃÞ½{·­­­ŠŠŠµµõÆKJJØUiiiË—/oÚ´©ººº±±qŸ>}Ξ=[¥wBÈžÔT27§ èÝ»ÿ oß&êуD:ç3ìSgGŽP«V¤¢B´~=‰ =MšD<}>ôÿ~úÿÚÙ³‡š5#UUjÓ†.]""ÊË£E‹¨aCRQ¡ž=IdèËxF..ŽfÎ$ssRR"ccrq¡²†žvï&[[RQ!kkÚ¸ñ³o—–FË—SÓ¦¤®NÆÆÔ§=K_öÐ@ ‘ÉgävîÜyðàAfùÝ»wëÖ­ëׯ¯j;®®®'Nœ`–ÃÂÂF}ûöí~øáÞ½{LáÝ»w¥¢RƬoß¾íÒ¥KJJ ó199ùäÉ“—/_öóó³·ÿo:»-[¶œ:uŠÝäçŸ?vìS2xðà   f9???99Ùßß?,,¬U«VUý:2ÃÀ€<=©W/;–îÜ!%%JJ¢ñã©A:s†*<&wî¤OCOïÞѺu$PÕ‡ž\]éÓÐSXM·oÓ?Ч¡§»wið`ŠŠ¢²†žÞ¾¥.]èÓÐSr2mgg÷ôéÓˆˆˆ¦M›25/^üý÷ß3ËÎÎÎ|>òäÉ^^^}ûöÕ××WUUíܹs§NˆHMM­W¯^½zõ’¤Sd΂ôàýù'=N·oÓo¿QïÞ•oµf }zš8‘Ο'//Š‹£*=­]KŸ†ž6n¤(5•nÞ¤ö퉈45iófêØ‘ÊzÊË£«WÉÐ.]"--"¢-èôi²³£§O)"‚> =-^LŸ†žœ‰Ï§É“ÉË‹úö%}}RU¥Î©S'""55êÕ‹¾’¡€j“Éþ›7ÒÚÚšˆrrrªÚŽhÊ$''gnn®®®Îdq "JNN.½mLLLIIIÏž=™,Ž¡  0pà@"ŠŒŒd ™Ö AƒØ ÊÊÊðöö¶··_¶lÙÑ£Gccc«ú-dØþýdaA·oÓàÁ´b§MÄæ´¶&"ªúЖ2ÉÉ‘¹9©«“ÈГ…QYCO11TRB={’ÈГ‚1-2ôôùÐÓ AÿUPV¦ÈÛ›ìíiÙ2:z”¾ª¡€ê‘É+rªªª¢y<±·V2÷%ŠNBD¥Û{òÇã•.)ÝTé UÂlÂnèââ2lØ0??¿ààà3gÎÌ;·wïÞ¢ùá+(ˆâ㉈޼¡œâò•?zbº‘½µ’¹/Ql¼Êzñ'ßx¼2JJ7UºB•0›°º¸Ð°aäçGÁÁtæ ÍK½{“‡§~øZó‹ÿwêöæöß÷ú¾òÚµfú™éÖzÖ?õû©ÌuÆ5ÀõIü±Â®]ôX Z’’›âéU5¼åð vÄ6É-̽qýiâÓø¬xeå–F-¿iý‰–Ié=~,ù8Ós¦S3'—v.\Z&"¾€ïæ}çíœÂ ]‹ñvã›6¯ô«UÜ2÷Ã@4`ŽÝ%¦ÒΩË`D…$„ü~ëw"úÁñ‡v¦íª S’YéýÜûIü“B~¡­í» fÚf¢›H6”Ù³O==žžõ1ËTËÔÁÆ¡Oã>ìZÉæ~ÄŠárÄVÜÕéaF™W&Pp?æþíèÛ±b$°Ö³Ùj¤XŸ×Òñ)YÀŒJ¤Š[–8àÚûuPŸÉd"W1CCC"zûö-³@Dùùù>¬Ù½XZZ*((ܹs';;›Mºø|þõë׉¨qãÆlÍk×®õíÛ—ýxõêU"²±±aK455GŒ1bÄ" kÓ¦ÍÆ·nÝZ³×;II4aЊ´d M›FgÏV·MfÄß¾¥OCOùùTÓCO––¤ @wîPvöIŸOׯ‰ =]»F"COW¯‰ =ijÒˆ4bQXµiC7Ò?ôÕ  Å=ÒR‘r®ô±øcy'ŸœÜܰù꾫k;ŒðÔðGqÄ 4 D?þêûëáàÃì¿s•> M uñp),)dKnDÜØ¸ïáôkÒO¬òý˜ûbÌê2‹KËDTXR8íô46È;oïœ 9¹eÈ–‘­FVð½*m™ûa 0—îÃ¥sê,Q%‚’ÕWWG¦G …ÂØrÉ‚!¢‡ï~wî»Ì‚g÷õô߸ÿü´óìi®dCù$áÉ,¯Yl³Dt"ä„£ãžÑ{å% ¸JG¬(.G,UÖ÷0£¼+ÓÈÃ#_&ÿw{¿?ù :´Ôaéì.³™’Ú;>% ˜8H•¶,YÀµ÷ë žû¹–-[ÑÒ¥K8`aañúõëU«V%$$Ôì^ÔÕÕœœ.]º4räHWW×fÍšÅÆÆ®]»öùóçvvvìrDäææÆ¼™@YYÙÇÇgÑ¢ED4fÌ" Z·nÝŒ3Úµkgjjš‘‘qîÜ9"ŠŽŽ®Ùhë’?žÒÒÈ×—(*Šví¢mÛhéÒj5Û²%ÑÒ¥tàYXÐë×´jÕôГº:99Ñ¥K4r$¹ºR³fKk×ÒóçdgG"COnnÿ¾™@Y™||hÑ""¢1cˆˆ‚‚hÝ:š1ƒÚµ#SSÊÈ s爈¾ø¡ÿwPCYƒýø(î‘×ê%vtÂQy9yö£¾š¾èÚ”ÜuƒÞ6½UU.½ynQ®¢¼âÐæCÛ˜´1Õ6ÍÈÏ8r"41tÙåe·çÞ;ò}㫦¨Ö¥Q.-ÑÎ{;Å=2Ö4^Ðc‰¦É­¨[Çž[}uu§Fj•;³—–9 ˜Qqw‰©RçÔv0¢öîKÎMv²uºòúJ•b(3˜w™ï¾õü¶ ¸ »e÷Q­F5Po™yüññ¼¢<¶¾dC¹òÊÊÌ‚L{3{çvÎ:ª:¯’_ýõð¯[Q·N==5¹ÃdÉ~÷H²Aár\q銪,ZX¥Ëþ˜= é€Î:7ÒiTPRàéîù9×Wk‡f†Í¨öϪ\¥Þ«Ùc¸ö~Ôs_`"çììüóÏ?ß»w¯yóÿÈÔÔtÀ€̵²äææöðáCÿ:°…û÷ï­6zôè¥K—.IQ&NœÈ\£ãóùW®\¹rå³ßb<ÏÅå³¾@+WÒ;´e 98mßNÁÁ´r%uîL=zHÞ¬³3ýü3Ý»GŸ†žLMiÀªé¡'77zøüýIdèICƒ>z=š–.ý,;8ñßkt|>]¹BŸ=ñxôÅý—¨£yG)î½³Egyž|ykìû£ºÇó ÷)óüÆ®¡ÝÕ”Ù’a-†<<2<5<8>Xô.8¡Pèåß˺s-¥Ò–K%!òròG&±Ñ·!¢^Ö½x<Þ‘à#!Ë–I3Gb3*î.1Ü;§‚aÅ|ˆùóþŸkû¯H¨ê¶e³ÕkAqÁضcsú©ÐêÇä“‹JŠ˜’ eJnJtz´¡†á‘ G˜>t°v0Õ6]rqIà»À*%r¢K<(\Ž«J»B‚€ÙªÜù©çuTu؃› V”W<zæ~ì}&‘«í㳪sï½?†kï×@='““TLEEåÚµkTSSÓÒÒ5jÔýû÷ ¸Þ²R)ößÚ­­­ƒƒƒg̘ajjª  `hh8a„   Ñ—ÈÑÊ•+wìØÑ¤I%%%++«_~ùåðáÃ̪N:]¹reìØ±VVVÊÊʦ¦¦Ã‡¿yóæèÑ£k*ÚúèÜ9Ú¶†§~ø·DQ‘<=IW—Æ/{~ŽTTèÚ58ÔÔHK‹F¢û÷©æ†þ¿ÇÛ¬­)8˜fÌ SSRP CCš0‚‚èó¡§•+iÇjÒ„””ÈÊŠ~ù…> =uêDW®ÐرdeEÊÊdjJÇÓÍ›ôe}Í)â><çìœY^³öîË/Î]›’›²ûþîEÍ83cíõµ7"nˆ¾ž¤‚µÅüb—.Ûoo¯¸}1ÓÏLßxs#…§†»œpá øÏß?w9áÂü÷*åU-tW††_TWR=$"EyÅn–݈HHŸ½Øãùûç)¹)ìÙa¥-‡&†fÌîfÑ9mbLµŸJD·£o³%žÏ<]N¸ø„ûp¹4¡P¸ëÞ.—.gBÏ”0bÁpïœ:†õ“ÏOv íÆ¶Ë¥‘JƒÉþ˜}#↊‚ʪޫD7”çÉ«*þûL²dCÉln¤i$Ú‡–º–ì*Éæ8(W\ºB‚€Y\é€E³8F“MˆHQîß\«¶Ï*\¥Þ«Ùc˜jî׀̑±+r›7oÞ¼ys¥…-[¶ôñùìßñãÇ?^q;ÁÁÁb% 4=ÿËÎΦϧH177?pà@¥ÑÚÙÙ-\¸°t999'''''§òZø2UÆ›ßÌÌþ{¿v™6o¦RCVFaË–ôùÐÓñã$2ôe·Sjè©AƒÏ‚ÌÎ&ú|Šss*èÿÛ‹•5ô$'GNNôµ } ÓNO{øîß§ý"ý¼Ã¼OM:¥«ªKD©ãŽË-ÌeëŸxrb\Ûq›œ6Uº–y‰‘ý1»Ì­6ùnzþþyÅßÔu˜k¥÷ülöÛ™©ª¨ÚÒ¸åèV£¹LùP©°¤0eå¦D }#}åxrŽ6މL$¢¶ ÛŠšë˜ë¨êD§ÿw q\fÜ£¸Gý›ö—8ÚÂ’Âåÿ,¿òúÊ‚î ÆµWqÀw—`Êìœ: Æ3Ô3$!äŸÿpÉu¹ó,é_ÈïiÑ“ˆvÜÝšª®¤Þ¥Q—oÚ|£¢ðïo<ɆRSY³‹E— ¸ ¿H?æ„ûcÉÇý÷Qÿ&e÷p•zOTéA‘à¸âÒ\éÀUprnòéÐÓ r 6|‹š:>«0÷Þ«ñc˜ ŽÇ0€Ì‘±DNŠ.]ºDD–––ÒŽêVB]ºDD„¡¯nGßÖPÖXIƒ&I9IûîJÚxsã¶aÛˆèÔÓS¹…¹Ž6Ž#[ÔQщϊ¿ûönNá¿ï¨¨x-—ö+`k`{Â儨d'åÍŠö:õuéé.Ä—5çêçb®G\ßû`ïïCd;¨Ò­*p:ôtp|ð÷½¾» àûÆ·i;=5=Ží|Èÿ@eMàa¨a‘QP\Àü;ý¸¶ãº[v·Ðµ,Ú´¼´Ù^³_§¾þcøC›­4àŠ»«Ò`Ê뜺 &#?cË­- {,d®kUŒc0ïsÞ‘‰–ÉØcc£Ò£˜ W__õñ8ár‚ùšåöaÛœ_0Ëk–…®…ŽªÎÛŒ·E%EKz-h;J©jï±Ê Ž+.]!YÀ\®¼€çyÏË,ÈÌú˜™©¥¢å6­‘N¹ïM­©ãS‚€9ö^mÃ\p<†d9NæÌ™³oß>"êÙ³§‘‘‘´Ã:4gíÛGDÔ³'aèë! N8Ú¨óÑ©™Sÿ¿úÿóêŸ_ý¢¦¨¦ §@D®C]ÙS‡ vØËb¯åÒ~i*kvnÔ™Çãi«jwnÔ¹âo±ª÷ªì²/Ö±*¾§(§8ªÕ¨N:j&e'~>8>xÉÅ%-g¶4×1¯¸åòøEú­½¶v íÀ9]爖¿Ïyÿ*åÕŽ?”·ai|!ŸˆJ?Æ””J˜fÚfåÍN^©ðÔð™ž3 K O¸œ°khWqÀ\º«â`Êëœ: f£ïFM“o;[ƒ=SÄ/"¢óÏÏk)kýÔï'+=«wÞí¸?<5|£ïFס®T¡ÔVÑv°vˆL‹Œýû!–ˆ:˜u‹G‚ÞUÞ Hp\qé Éæ2påü$áIZ^³ÜÅ¢KùO Ÿ̱÷jãæ‚ã1 sÈq¥§§×«W¯={öH;¨szzÔ«aèëæ†ÍÙ,‹ˆtUuû5éçõÌ+2-²IçvÎ瞟›å5kd«‘­Œ[ÙØ*+(³¸U¼–Kû5ö-Œªûþ¢ß‡þ®®¤Î~œ`7añ…Å—_]>÷üÜÂeÝÐ[™Ë¯./»´¬Oã>;Fìã}öµï_"êÛ¸o9›–IzKOXÇ”¨)U”sž>îØ8-““Ošj›Š­-p5»«‚Ω›`î¾½ûÏ˼§zW:?J•‚aÂ(*):6õ˜µ¾5SØ»qïûú¼öùÍé7EyEɆR L==5(.hHó!šÐTÖŒý{$øÈÔÓS]‡ºŽh9B²€EU<(UÅ¥+$˜ûÀ•éÏÑ•e~Ì M õñð‹ô;=ét+ãVbÕjðø”,`.½WKÇ0µýë@ZÈq²wïÞ½{÷J; †½{ C_Ï”žV[[E›ˆ˜÷)YéYÝœ}óâ‹‹÷cî|t01;±‡UåŽË7h\éZ.í×”ê?#'š 0Æ´sùÕeæÒGUxrbýõšpáÆ\·åék®c.ÚK•b"ù#ZXXR˜˜h¤a$ÙI­(EyEy9ùìÙeNn^:àêtWÅS7ÁüqûE•_oþÊ–0•]\<<°ºïjöä¾JÁ0gÉ–z–ìÉ7™i›ÙØ>Kz––—f¢e"ÙPÞŽ¾4¬Å°?†ÿÁn>¸çîžÛooMäªÚ{ŒJ¥ª¸t…s¸2µ7mÏ, ²Ô¹Qço=¿ý+ð/÷‘î¢ujöø”,`.½WKÇ0µýë@Z¾ÀY+àË‘QÌ/- K #"#Íï}ÕVÑžÜaò®Q»nξykî­´¼´)§¦°iXÅk¹´_ ! KOçS óŒ\ÅÿqyFNTRNU8%`yvßß½öúZ§fN;Fî(}"XP\XñÛ–Kc®^Dð|¶ðÎÛ;%‚’6 k঵žõɉ'…$t>á’"AÀ»«âΩ³`ò‹óóŠòDäÜd"ŠHx÷(ëc–dÁ´0j¡$¯ô¡àƒ@(` …B!s;s¥B²¡ŒËŒ#"ÑI‰H_M_GU'!+¹ÕM‚€\¥ª¸t…s¸J1™˜(ZXãǧdsé½Z:†¹¨í_GÒ‚+r cÒòÒ~¹ùËOý~R’W …‡ƒ?Š{ÔH§3ÀáàÃÍ šu±ø÷µ¶ºªºÊ)I)1bl l+^Ë¥ýJ©+«ÇgÅ „‚Šïõªæ3r/“_>M|:ªÕ(öÔÿ~Ìý­þ[‰¨ÒÇóD …ÂM~›ÑrÄÖ![Ëü—é;oïñ‹ª4u>™h™´7mÿ$áÉöÛÛ—9,ãñxɹɛý6ÑðëÔTyl lOO:=åä”)§¦ì½§‡Uò–¬»¸tN³eȱÄþØãc>á>Ë–µ3mǼXL‚`ÔÕú6é{õõU××¥Kåyò|×ý]‰Ù‰¶¶ÌµhɆ’¹Ds&ôŒS3'&á ø‡ƒ§ä¦k‹u&÷€«4(UÂ¥+$¸JÇzþþù‹ä#ZŽ`§|LÍMe^sÂ^‰ª¥ãS²€¹ô^-Ã\ÔÁ¯#©@"2ÆF߯ë™×åW—-u-“r’RsS‰h™ã¿ot ˆ Øxs£º’z#FJ JÑéÑ9…9ºªºLVñZ.íWª…Q‹ÀØ@Ç=Ž¦Ú¦<âýÜÿç2'®¬æ3riyik®­Ùpcƒ©¶©ŽŠNRNRJn µ7m?¸Ù`¶š¤?3á{FA]|y‘ùçí¶˜w(]‹¸v(èÇKÌNœ|ò³w4O±ŸÂL¢èé§©¬)öÞóJ[&¢•}VºœpÙ¸ï‹ FF¯S_–Ú›Ù‹ÎÍèùÌó\Ø9v_[f5Òitfò™i§§Íôš¹mØ6æ»—˜cw‰Ã¥sê,˜ÒÏgÞˆ¸ADM š–™þq †ˆ–9,»ûöî_y=ó2×1OÈJHËKãñx¢“IH0”=­zÚèÛD¥G :0ÈZÏZCI#.+.#?ƒˆ¦wš.qÀE²ãŠKWT5`Ž'pJnÊW\{m­©¶©žš^ÖǬ˜ŒP ®¤>³óÌ*uEÝÌ¥÷jﮩ_G2‰È+=«XueÕ³¤gD¤©¬¹ªÏ*ö xZÇi¡à~ì}öMÜu^Ýw5sõ£âµ\Ú¯ÔŽ?Ì9;'1;‘¹ª¼÷ÈUSKã–ÿ³ÿßùççc?ÄÆR,©+©i3æû^ßËËý÷ó©y©¢/9HÊNJÊN"¢¦M™æžR¡P$¶ æ Q¡À?Ò¿—u/±»¶*m™ˆÚ›¶ßûÍÞ5×Ö$f'¾Ïy/Ç“h;ð×A¿Š¾?ªô본´,ÊPÃÐc¢Ç·žß.¾°8ûcö¸¶ãJ̱»Ä‚©´sê2 p †ˆ,t-Ž9[ueÕ«”WL¢e¦möcßE_Ò%ÁP*Ê+u>ºþúzßH_v>z}5ý9]çLë8Mâ€9ŠdÇ—® ‡¹ ¸I›©öSÏ¿8ÏNø)Ï“w´q\½[µ–ŽOɦª÷®©_G2‡ÇåYÖØ±c‰ÈÓÓ³ÖâzÇã-^¼ø?þ¨¼*ÈŽšúùMNNÎÍÍ­ Â•+ EFFUsG¥ „‚ ¸ ]UݦM‹ùÅoÒÞ„‚¦M•ä•ÄjæçÇ~ˆ …&Z&¥_ä]ÞÚ’–®-û5é·÷›½´¤¡¬Á^gûHD|!?2-2ûc¶@(hnؼôì)5…/à'f'¦æ¥j*kZë[—¾·*%7åmÆÛÒi1ó˜§å¥±'Ùb,t-Œ5CBÆ»}Øöá-?»©Ò–YB¡0*=*·(×LÛ¬z±úñYñ Y ̾8¶,z°k Š ž%=ãñx<â9Ÿp.0qè.±`*휺 ¦´Ø±ïsÞÛزïÒ8F\f\j^ªŽŠŽ•žU™g·UJFnaṅ˜Â’B]U]K=KÑ[Ž%˜Ë ” ÷#¶‚®¨f3J\™3»KÌNLÎIVST³Ô³{„²VOÉfTz Uвd×Ô¯#¨’Úû[ÿ5ÓÐШÒ{ÎÈAÈ}‘¾€D®¶‰&rÒŽ¥¾p pÝÿpÿ£…Äžª·êUÀ¦:pmCÀP²û·¾>«ÝDÎÜÜ<>>¾êQ@½`ffWÍFÈ}UÂSÃ?–|lkÒVÚpU¯F0Õ€k†êÝ¿õõYU¹ªÝݤIUUÕ!C†T1*1nnn-[¶ìß_òg3 úçŸÌÌ̤Èv2OYQ¯F0Õ€kuUKäôõõõõõqÇÝÏÍÍ­ÿþè/ .§WJYA9re¤´£¨Üïùâ IDAT^ cÈÈ$r2‰€ŒA"UåóêÕ+iÇðUC"G§OŸvtt|úô©´Wo“-§ƒN;þîø4®Þuc½ €ƒýÇŸ9sæ“'O¤ÉW ‰ÅÅÅdffJ1†cÇŽ9::†……‰Ö‡À¾qq™ùRßÇw Kø||ëA`’:{òäÉÂÂÂqãÆ?ÞÏÏO(J;¤¯ 9?~¼¿¿¿cˆ ÈÊÊ-¬}Æwï¿ÌßÎ\ªã›UðùøÖƒÀ$fooôèÑS§NikkÏž={Ò¤I¯_¿–vP_‘ª½ü‹dnnnnn.í(ÊPo“-æzææzõ±ëm`2'>+Þqã¤ö“Ö X'Å0ZokÝÚ¸µÇDzÒNm뾫{rnrérSmÓ€¹µ½÷é¥úÓÕž¡žƒ¾Ë|WXRø×˜¿ú4îSºN÷]ÝÓòÓ—‡×A<•öLyÁ<ÿüpðáGï¥å¥©*ª6nÐxHó!ÎvΊòеr](ï˜ZÔëÏ^¢=VýCK(z?÷özæõ:åuaI¡‰–I3ÃfÃZ ëmÓ[YAYâf¥hÇÝ;ïîTST \¨¦¨&íp$$z ÈËÉëªê¶3m7«ó¬v¦í¤˜ÔÙÛÛÛÛÛ‡„„üòË/#FŒpvv^¼x±ŽŽŽ´ãúòÕE"WPP°gÏž€€¡PسgÏï¾ûÎÝÝÝÇÇçÂ… ÚÚÚl5???//¯·oß***ÚÛÛÏž=ÛÈȈYõ×_yxx8p ¸¸x÷îÝ‘‘‘FFFS§NíÝ»·Ø¾¸4RPPð×_EDDŒ9rîܹ§OŸÞ³g›››èµ¯€€€³gÏFEE©©©µoß~öìÙzzzå}A>ŸêÔ)Ÿääd==½>}úL™2EEEEl¿999{÷îmذáôéÓ{ôèÁTXºt©··7-X°€é;;;77·ÒqÜQ¥½T³ Š öÜÚ $aÏ&=¿ëý»¯»ÏsŸ ó/h«ŠŒïk?¯Ç^oÓÞ*Ê+Ú[ØÏv˜m¤õihnÿåñÐãÀÿó‹wûïŽL‰4Ò2šÚmjïf¥Æ—C#ÅÝþ+"9b¤ÝȹŽsOÞskÛ7Ñk_gŸJRSRkߨýl‡Ùzê寀*è”ÏsŸäìd=u½>ÍúLé:EEñS·ÚoÎÇœ½{cÓcê4œÞczÆŸÆ÷ÌRï'ÞD´ÀcÓ!vævnÜJÆqG•öÈ Û­¶u>:ᨴùòÕ箌 \uuU-5^—_|σ=Ûoogo¬*â=Žü8þñ™Ð3ûÛH趨ϣ\U+®¬ðóf?Æ~ˆý{-üÚÚþk'w˜,ÅÀ$# Ï…#¢üâü«¯¯~ÓúiGTø~Z^Úˆ~‘~ûÇìïeÝ«ÒMÊExìô¬ÓcíÇV©¯Ç^ë.®+,)$¢– [R©GÑøþÔCSŠŒïc¯Í>›3Ü2äåÊß¼AnƒîFŠt{Ðé]~»n.½i¨iÈî×3ØsÝ¥uE%ŸÆ÷Þ¡Î;ç÷™OD¡ñ¡1é1D$6¯‰X`wTq/…- «¼R¶SäåäëæQ-©']}óÍM"ré> é9Y½MælØÙmÛx<Þÿìÿ7Án‚…®E^QÞ½˜{Û¶¿Ny=Ës–ׯ/àº\yÇ|ÍKAqAÞaÞŠòŠ?8þàd뤯®Ÿ’›ž~ñÅEöŸödKà»Àø¬ø v¼Ã¼½žyÉt"ÇÅüâèŒèßoý~+êÖï¿sIä¾rrrcÆŒ4hÐîÝ»7nÜxíÚ5WWWæ4jC­ÿÍXµjUhh¨¹¹ùòåË­­­ÃÃ÷lÙ"–±lݺõèÑ£ÖÖÖsçÎmÞ¼yaaáõë×÷ïßïââòòåK6•_±bÅСCÇŒ£¡¡qñâŬZµŠMQ86²fÍ''§qãÆ™šš–yãâÆ?®¦¦6oÞ¼N:ÉËË?~üxïÞ½å=¾¹zõê»wï¬X±¢yóæ111®®®aaasæÌa®³1Ö®];hÐ gggŸýû÷/Y²¤ÿþ¶¶¶Û¶msww?xð »»{ëÖ­‰¨Ì‹ÑwTq/Õ¸UÞ«BãBÍõÌ—\nm`þ>|‹Ï±Œe«ÏÖ£ŽZXÏu˜ÛܤyaIáõ—×÷ßÞï²ßå冗r¼Oã{vÅÐ6CÇt£¡¬q1ôâ;Vy¯bSެ¹°Æ©•Ó¸ŽãLuL˼qqã?WSR›×{^'ËNòròcï Ø+¤rÆ÷Ü껑w 4 V ZÑܤyLzŒë5×°„°9ÇæxÏß‹kµäÜÉYEQÅç¹Ïþ;û—œ^Ò¿E[cÛmc·¹û¹¼{ÐÝÙ½µik"ÒQ+k|¹í¨â^™ó>ç=õiÜGv³¸‚â‚Í~›‰hý€õ.í\˜B%U¥¡Í‡ö°ì1òðÈÉ/΄ž™Ø~¢TÔ! !D4­ã´é§3%fÚffÚf}÷•j\’;v–ˆ&w˜œ‘Ÿqã͸Ì8s™²@Q^ÑÖÀvLjíÝÚ¿J~U"(‘Ýá§¡¡ÁœŽ.^¼xÈ!›7oîÛWVÞz®v¹’’’£Gjjj>xðÀÔÔ”ˆ9;™½±sh›¡lº5ªÝ(m“õ—Ö¾ø·Ñ¿µ5okÕÀŠˆÚ5jÇÞo)ñŽ*è¥ò¾õF |tðÔÓS Ù ÆšÆ.í\œš9•®ö(îчž$<É-Ì5Ö4h;pA÷ÊÌZÿHÿCÁ‡"R#r sMµM{ZõœÙe¦è­_AqAƒ>‰’S˜c®c> é€o;«­¢]øöî; Š£ ø;z9©ÒÛÑ»¢bP„ˆ"HQ±aAE1vcKT,ˆb”Ä|b‰K,( ˆE°#*¢„¦HïR¤ŠÔ+ßkÖ“rGUßﯻ¹Ù™·»wïvg†Þh¼×xœî¸­ã¶úÞóÉ©ª¯J\—(&(Æ>*†¬¶eÜ–]wv=Í}Ê`2ÌÕÌý‹¡‚!ÄÄÍ ˜191:{tˆNÏ»·P·h=ºæjòÕ€—ieiLSKVkú és‡Î%~¼ ;Ú1~Çow~{”ý¨‰Ñ4DeȦ1›ˆŽúû±ò¹ãó4÷)?¿­Ží6»mâBâÑÙÑû£÷§–¦R…©3ÍøÙúgbr+smÙ¶ñH.0_°eÜ–6ûÊ©Ì9ÿòüãœÇy•yü|üzrz³ÍfO5 ýãP·×ldZäòÐåD“½& %«u{ñíNÞöâá°ãÐѤ³îeÞ«¬¯¬<˜ÌâHR¢RÇnüñʡɡD"ÇÛƒÐ^Ø<ï,‡Ot§Ž@‡ƒâ:uÀ%D$`€ð€ûíì®=[õlìѱjRj×^go§¼®|Ô¡Q#4Fœžyš·–9´M"ÞDÈèËé»»ÜN»}9éòjëÕìuÚûÊåæÕ®|Ûwø· C …|ÜÙ/¢mvÛvDî€nzß>ÿùùðýÃûÕŸccãk×®íܹsÙ²esæÌñôôê“H¾b=›Èeee}øðaÚ´iDGÐÕÕ5jÔÝ»w‰§ÙÙÙeeerrrÄU#‹E\û*++€ÔÔT2ssûì/ÄСC4~˜6t‘ÅtåuG錺›úßù}—]ö¾Ln€œëÑÿN ° ì}¤¾M%s07‹Ï#×ú íAym¹üyîqÉñü–eU|¨°3²#³8‚„h;ç·,«¶±ÖÑÄ‘L®@–*;}Øô£Ž&$Úýw~­>?¿V ½Ã¼ ¸>¿\wÄá(qÙ×—Îë¶W`| ñ8¿*ß÷žoJqJ‹:ñÛno#¯¢TœŒ=“4/HTPô^ƽÅ!‹Éʙ噙å™Åï‹M9D”œ{qnGÔróÌòÌ#OŽP(”µß¯%Jªªgœ›Ayg2™m†ZÝP=óÜL²Úì‡qùq—æ^êÔßÔ=÷öœxv‚|úªäÕŽÈñ…ñû&í# kjfÌ̯Ê'žÆäÄÌ»8/rI¤´¨t{ͺ_tɉáÜuÄâmYmîCmSuCõ¬ó³ÞÖ¼%ž^Nº\U_5ÓlæòÐå &ê›ëÿŠùKFLf¾ù|ž{Y²$«<‹|___Z[ºlä2îé¡CÍM³<ã!èèÂCĤñzãÛ|uŒö>ä·ÉÍŒfòîJÞÂîâÎrù‰æYgø(Ú(aáÏNȈɌÕ+G•ë®]æv6tJJz›dªôé'×ФP:“>cð ž[æpÐÂSÃë›ë]Œ]`ŒÎIÉ+ÉW~¶ú™L8år~µ+ßöþ-àŒÎ¤gWdÿqÿ“a¨`(À'Ð-_DžOoß =GLLl÷îÝÖÖÖ›7o~óæÍ‘#Gp”îÕ³‰\}}=´u£ yÑ jkk ¬¬ìÎ;­[ Çz@‹éFˆ´žÁ`tªUUÕ8p ‡:ìZF–¯Z¢Ñ]÷vÄá(u»ú¦zhëFAò¢Ô6Ö@Ùû²;¯Û:5Mlç÷óéF„ø…€ø‹Î}#ªÒÏos= ¤r}~›ZF–¯Z¢Ñ]÷vÄá(} ß&ÆR…©[ÇmµÕ±¥3é·ÞÜÚ}w7{üª|ïHo a‰c6ÚhÛHŠJæUæíÞ3õ晸3ËF.#†$­ý~­ë W)Q©‚ê‚Ç9s+s‰Í³+²}îøðQø~°øÁu«’„Rauáí´Ûì3Å=Ï>DeÈ_Sÿ27hwÈÊóüçfÊf‡§Ö“Ó+ª)Ú÷pß­7·¼#½/νh®jž±1£Ã1î)%)'žÙ0fƒƒ¾ƒ ¿àƒ¬;£v†½ s6t§;ލ›ûÚwû]öëÔ-©-Ù±-&'æZʵæ ºp°;Æ`2È_‘I-.¦=Ï>Š6ʺ¿¦ŒfZYÚª««îd܉+ˆ[`¾`¾ù|)Q©»w×…­;{²+‰œŽ¬Îb‹Åæªæª’ª ô†ÔÒÔmÛŽ>=ºxÄâ¾=Ôœ›µÓ³Ëؘ±ìò²¨ô¨”õ)<ÌFÈ!žöv¼ÃHgc€²Ú2P—VoóUaayª|QMQe}¥<õãON}ctvWv–ËO4´õž_óýš•–+9lÂÃW“RûÝù÷-·¶l¾¹”$”LM¬hV“M&‹ ‰wq×fšÍ J N fOäBC¤D¥ìtízâ …$†ðQø&O!~!}‡K —žä>±¤YBG_¹œ_íâ·=çWÛÓú=ÀÏÇ¿~ôzàé‹È}˜{w½o‰ÙúêÏgNNNººº‹-ruu={ö¬’’Ró•éÙDNYYâããÙ ™L&9÷ ¨¨¨P(”áÇûúú¶nAWW—›Ž¸o„ý"x{íÄÆÆ677 v<,›x/¾xñ‚Éd²OËóüùsøo÷ /_¾d¿m2..ŽèŽ=*«(rßQoR–R€ø¼ÏÏ/‹™PÀv~¥T(ÊpÚpßimîÎ/×tp~¥T(Jlv,ûÃ(I*À‹ÜL“ýöžç9Ïá¿Ý'¼Ì}É~Ûd\NÑÝǨ £óËuG߸ˆ7ð‹Í/äXù¹CçV7Tï{øéâÆÕä«t&ÝÇÁ‡¼åRg Žß$¿¸‚¸È´Èe#—)PcâwnMMMMrók)×LÆ Ëäõ7mYíå#—³‡!&(vlÚ1±vg:ýTmú1Y1Y¢??ç“Îqqï>¼(ÎÕ¯ 7SoÀ£~$ç©s1vá£ð­ùgÍ×7ÈìBZTÚº?qË Mš¶uÜVÇŽ©¥œVòéµÒdÄdŽL;BÜs5HiÐßýàé=Luئ±çiœ`8áZʵ{÷ê›ëy»ÞöÞGž9úäèÛš·MŒ&²¼°ºP]ªí종:Ô\6Ë3N}‡.†Ä¥Î¾1x ›Ë­¸üDó†·È GkŽLŒÍ‹}]úúnÆÝÈ´ÈC1‡N¸ž0V0îÊ® V¬/§ö*ÌÓÖ“HÀ^¼È,ÏôîAüYìÞƒ–S™ó¢àÅH‘äýŠ“M&_J¸t9é2‘ÈqþÊåüj¿í9¿Ú!> ßÇåF,ª2ºã‹ˆËý" Û<<|'ô]]Ý Ìž=ûüùóìwê¡®èÙDNNNnðàÁ/_¾Ü½{÷† øøøètúÖ­[322È:²²²£GŽŽŽNKK[°`yûlvv¶¿¿ÿ¨Q£¸é¨[kkë‡.Z´hß¾}ÄÕ­ÚÚÚýû÷oÚ´©õ ªrrrC‡}ùòåÆwíÚ%((Èb±<©¨¨8xð`²¦¥¥¥¹¹9äææ®Zµ ìíí‰W©T*dffZ[[·÷õ&¹rƒÕ¿Ì{¹;|÷Ç |>:“¾õêÖŒR¶óK•­7::=:­$må!ÿNÍ»lÿ‡þ£t¸;¿ÝÑȈËXëZ?L{¸èÌ¢}3÷W·jk÷Gíßä´‰=ƒ"wp¨úЗy/7^Þ¸kÊ.A~A‹uðîÁÈW‘Š’ŠƒÕØÎï KmKsš9ä–ç® \öFÿ_*d–eZë¶s~¹îèGüVj­ùÙaü^ó{öD.ý]:¬þgõêVÉ3 >ÞkMdÔÃ=bócO9Öm¢hb¢hb®jN&ö™å™à¨ßƸ;’‘‚7ÿó)YA€O`¤ÆÈÌòÌÜÊ\.¹œŠh±ªñ”ýgccEcöÁ6Ä,ÄuìÅͬ•Æ Æì#gT$Uà;µïØë(P€wÞñ6ÿAuCõÔ³SÉ›ôر_Íæ¬‡5—ÍòŒ‡Sßá„ÄÿÁy•ym¾ÚHo,­-å§ð³ßÜÕÙ7oas¹—Ÿhài¦Vž8U˜:ÅdÊ“)PÛX{"öġLJÖü³æÖ¢[|¾®ìšë`WŸ(Ÿ[©·&›L€àÄ` ï«ìÞƒv9ñ2÷UÌUÍU$U"ÞDxÛ{S…©œ¿r9¿ÚÅo{ί¶§½÷@·|q¹_„6OA_ý9à†œœ\@@€»»»»»{pp0‡e½÷z|‚;wNš4ÉÓÓÓÏÏOCC#;;»²²ÒÔÔ4))‰œÍÿàÁƒVVVK—.]¿~½–––ˆˆHNNNII xyyqse¬»???++«³gÏikkóó󧦦655‰hëú¿ÿþ»½½ýüqòäImmí¼¼<¢Óßÿ}~UUU ]]]aaa¢A33³™3g¯2–.]zøða111b9Þ:êe;]vN:4ÉóЧ_”Ÿ†¬Fö»ìʺJSÓ¤Â$r6ÿƒ³ZùZ-=·t}ðz-9-‘œòœ’šðšèÅå„ÔÝÒøÍô³òµ:ûälP\¶œ6?jqj½‰HD[×ÿ}úïöûìÿˆøãdôIm9í¼Š<¢Óß§ýÎ>?Šª´ªÅoº ºÂÂDƒfjf3‡ÿw~Õ†ÀÒsKß;,&$F¬#Ç[G¨CLڹݔø‰”*L=7û\ZYÚ³¼g©¥©!‰!uÛí·;:“59_Ú•íÒ-þœç¡~‹ûš¸ùw¼×ÆÈµy»`‹Bb‰G| [Ì"Û@çôoÐå¤ËokÞÚëÙÿdõ“†´†¨€(…BÙ±•Kɽž8ÔÜ4Ë3âéðÂ3e3ˆH‹X2bIëWïeÞ£3郕³QwöÁ[Ø\nÕÅO4gÝrÀ©ÂÔÕÖ«d=Hz›”_•¯!­Ñ•]›l<ù÷{¿%M6™ü¡éÃ×7Ì”Ítêv*`n“ż’|6†oܾ±Å«7RoÌüñ¯$çÏH{¯vñÛž›¿ÜëÆ/¢®œÞ¾£z´´ôéÓ§§OŸ¾xñâ . ‘«Û÷+=þâĉÏœ9³fÍšÒÒÒÒÒR™€€€3gÎ$%%—¡ÀÄÄäÙ³gk×®½uëy×%q7-÷óÛtK#0dÈG­ZµêñãÇ))) !!ñ믿¶¹ˆØÚÚ†……ýüóÏ ¬¬ìëë;wî\öjû÷ïß·oß•+WÈ­ÈÀ¬­­,XpæÌâVÉ®tÔË&žxfá™5—Ö”¾/-}_*#.°(àLÌ™¤Â$ò7!“gžÏÖ­½•|‹\qNW^w‘õ"òÚZ‡º¥¢>äцG«W=ÎxœR”¢¿Žÿ•ŸÒÎù5´ û)ìç‹?g”fT|¨e)eßi¾sG|~~gíß¹ïJür«€ÈÀ¬u­X.8óä q«dW:úÆiHkÀ£ìGs†|šÇüaöCö:DîqfÖ™Q4N—jõäôôä>N-³òÊÊõ××[iZIŠH›ßL½i oÐÅh_•¼*¯+'/ÊÑ™ô'¹O€¼Ç†:ƒÎ¡š îeÜ#ÿÇ€û™÷á¿Cñõ!®U’#õ Äqkq!hÝèudÚÙÄhzšû”½N_ê>?ƒ­wœËH§ŒÕ+%*•P”p!þB‹‰+«ê«|ïùÀT“©]é‚›°{gg;«»b`±XïÞ@U}•†´FW𕕲׳¿þúzNeγ¼gõÍõäå¸n brbˆÕ5Út9ñòÌÁ39åró*ÏßöܼÊ=ž¿ˆúçû¶çÈÊÊž]J÷óÜÌœ9ÓÜÜÜÌÌŒ,:thtttIIIvv¶¤¤¤ŽŽç zNNNNNN%%%222­=0`@hhhaaa^^žŠŠŠºúgwKS(”¿ÿþÛ××733³±±‘˜¥u`œ;âò(u;÷‘ÏJ.J#%#&‹¹úâjš,ýÇW}Eý«nT×Wg”f0YLš,MnÛ©ù~‰ƒ‰ƒŽüç‘¿ÄÁʸŸçF`æð™æ4s35¶ó«>4zCtIMIö»lIQIyÎôœLœL2J3JjJdÄe Û:¿"BW„Væ•ç©H«¨Ë´:¿ûN÷Í,Íl¤73£´ŒsG\¥¯ÛxýñÇžûãþ""¶:¶ ãfêÍÃ1‡ÙëL1rôÉѵÿ¬]?z½•¦Õ@ñÕ Õ9•97^ßP *,¹lSø&E E[[ i A~Á7eoÒߥ73šKÞ—HŠHº»yräèÓ£ cú éŠ‹ª‹n§Ý"×tâR]sÝÒ¥[Çm%';É,Ï4W5'ï«”•J—žW•§*©ÚæaGÇ£OŽ||P\X|¼ÞxA~Á‡Y‰éª œx=н8F®³DE•%”e? N vÔwld4F¦EþùàO›(K(ÀñgÇW[¯–•J/Kß÷h_vE6{¾:Ô=w¹ÔzÇ;ü€ðЋ¨ è†16…oòºí•Yž9Ûlö§Áþ/¿*ßXÁ˜=Uà7a÷ÎÎöDä-Æ>Ì~è¨ïh¤`¤$¡ÙÙÇŸÏ©Ì%²Ž.îÚŒÁ3®¿¾’ò$牨 è£ ] ¸=!‰!°Ín›û°Ï&”f°ÖY¿,|™]‘Íù+—óÿ_y' IDAT«]ü¶çü*÷»Iàù‹¨¾o{”––ÖîÝ»úé'+++râMo$rûöí[´hÑСC ¦¦fåÊ•%%%K—.m]SRRrذa­Ëµ´´´´´¸)ìl# ¦¦ÖæÊà äâlÜÐÑÑi%¶ ¢¢Âa|§¼¼<û"íÖ^G:JÝh_ä¾EÖ‹†ª€šúš•V–Ô”,ÝÖù•¦ÑÖ©‘ÓÒ’ky[…mÔdÔÚ\\AB\œ:ò:­³ÄT¤TØWbhA~€<û"íÖ^G:J_«AJƒf™¸áƲp‚á„ë¯?­‰D“¦ítع5b릛›Zl¾tÄR(~_œ|0ú ûKF F:u@SFÓs¬§ÏŸ£OŽ}r”¬°ÂrEg£®6<·2wÚÙid‰˜ ˜—ùt„úˆë¯¯=úq¹|ÉXÁø‡ï~8{Ò+ÂË+âÓ† 'ØéÙu6žn׿¬•ÀÃ2\ìY,Ú¹cSø¦MáÏ ë`×à„vׇœh4ñ¯˜¿BCˆÿ€*LµÓ³‹L‹$ëôÕ¡îó3ØæŽsþ€ðÆukqMñÇÎÄ9w†ý%}9}Wîo€oS‡ŸkèÅín"o¡Þ™Éþ&yŽõ$æâ¡Yv#5FªI©¼ ¨m¬uìÊþíbˤ÷ï#Ó#ÅÅZ_Œå§ðÏ2›u úÀå¤ËëG¯çð•Ëù ¹‹ßöœ_í,ž¿ˆúçû¶§988L:ÕÛÛ{Ô¨Qâââ}ά7¹­[·nܸ‘¸®•žž^WWG¬øÞ ]£^°õÚÖ¡‰ëZé%éuMuTaê<¿¨GxÛ{kHi ‚+Pf™Íš`ôY"3Ï078{*6?¶¢®BFL†&Ms6t&Üû:û†$†D¥GeWd³€¥,¡ì ïà1܃ü}t¾ù|=9½SÏOÅÆ×7׫I©×¿ð»Î]ŽIÉ‹s/úDùÄæÇ2™ÌaªÃ~ó«¡ü§Eä6Ûn¦3éOóžV7T·7©é¦±› ä ^¤½ûo9iÓéäˆ_¥yCçÕ5ÕþXò¾DMJÍc¸Ç(Ú(‰œ’„RÀìßû¾ÉÅÉ|¾aªÃ~µù•ü_ŠÐ‡‡ºoÏ`›;Îù³Ÿ¬~­=úLÜ™ØüØwÞ‰ˆèÔu6tž=d6±PJuvoîl÷FÞ‚Û75)µˆ7ÉÅÉE5EôFyª¼™²Ù¼aó†« ç¹Yv eÆàĵîƒZ^,í–ƒö*¬‘Þ8gÈœ6×=Ÿm6ûpÌá+IWÖ~¿–óW.çW»òmßáß‚Náù‹¨ß¾o{ÚÆíììŽ9²~ýú¾Žå Fá0%zkÄrÛÁÁíþAmÓöíÛýüüª««‰§ƒ ò÷÷·°°à¼ÕWcãÆ¾¾¾ñññì7Iös eõêÕûöqµ^íö¶ûEùU×ÿw~Uù»û[h~3ç÷òFß[¾ñÛâÙo’ìŸxûü¶VRRB¬ÜØžðpêªU ™]ìèËÕHo4Þk'À'ÀͲ¯Ò·6J !„B¨ëDEE'Ož´|ùò—iIJJê¨8óññ‘‘‘1bD¸6½sE!„B!„ع¸¸¤¦¦öu \‰ŽŽ ÛµkW§6ëQ˜È!„P7ÎØ˜äB!ŒŒŒddd?~ ÷îÝsww1b„‰‰Éøñã}||JJJÈš¦¦¦nn—©\¼x±N[د’ÅÆÆ.Y²ÄÜÜÜÀÀÀÆÆf÷îÝœ‡÷w¨¡¡aË–-³gÏ>|x›˜LæñãÇÇghh8f̘'Nèèèlß¾½+ýrÖK·V"„B!„‰oèС‰‰‰÷îÝ[¼x1Yž™™™™™Y\\|èÐ!.›ÐÓû¸¶{``à¶mÛÈ  Nž<D osww‰‰áÜ`DD„¶¶6ùtÿþýÍÍÍ¿þúk{õ½¼¼‰Çùùù{öìIIIá2xža"‡B!„ê:::÷ïߊŠ€µk׺ººJII<~ü877·ÍMŽ?Îþ´°°pîܹ6l077€üü|ooo ‰7ÚØØHJJæååíß¿ÿæÍ›gΜY¶Œ—Õ_¿~}êԩÇS©m,§ T*uëÖ­¶¶¶t:ýöíÛ¿ýö}u &r!„B¡> ¤¤TRR¢¨¨...rrr ©©©©©ÉÍæ%%%óçÏ_½zµƒƒQrõêU:îãããèèH”èèèøùùÅÅÅEFF‰ÜÙ³g¹ÉdnÞ¼ÙÞÞÞÖÖ¶½:ðË/¿L›6(qss«®®þóÏ?¹ïˆKäÒÒÒÒÓÓÕÔÔz(Ôøûû‡„„t\}9ÊËËuuuû: „B¡ÄÅÅ?|øàááëì콜ÉdͶޤ©©‰xЩ1rÁÁÁÕÕÕ#FŒhQaÉ’%pæÌ™Q£F%-Å^ø_ºs‰œžžžžž^pppEƒú …²téÒ}ûöõu ¨;¹ººöu!„BŸTUUIII‰Dƒx¼råÊõë×[YYIJJ¶Þªººzþüù®®®sæÌiñ‘}±çW]Dd†œ©««ÀÇÙã!fãìQxE!„B!Ô*++¥¤¤6mÚ¤¨¨hkk«¡¡!((øæÍ›ôôôæææ’’’Ö‰\mm­‡‡‡“““‡‡Gë§L™rôèѵk×yàÀ«««srrnܸ¡  Àù›7o¶(ñññ9}ú´¿¿ÿرc‰’ñãÇûûûïÝ»W\\ÜÆÆ†ÉdÞ¾}û¯¿þêÄà &r¡/[MCÍé¸Óƒ”ÙhÛ%Gž‘§ÊO3Ö§qu§ìŠìYjj†©E랟B¡>—œœ¬§§W\\|ðàAö—ŒŒŒtttZo²téÒÄÄÄÄÄĽ{÷²—ïØ±ÃÍÍF£íܹsëÖ­›6mj½a·ÇO>>—.]zûö­¢¢¢›››©©é7$$$z®SLäB_›–+ä©ò=ÚÅ¡˜Cê½È=ÎyœUžE“¦©Hª<Îéñ»íB¡^“””T]]=tèPyyù+V¬X±‚CMòq|||‡-4ÈÏϯ{¢leË–-[¶liQÈÇÇ·téRö‹~;vìrÔ_OÀD!ôµY>ry_‡Ðmfžù³ÕÏZ²Z·ÞÜÂD!„Ð×äòåËÚÚÚ†††}H7 ª¨¨°³³SQQ)-- =þ¼¸¸x‹5 ºW÷'r¿ýö›²²ò‚ º½å.ê·q©ŸÄÿÛoÏ”•Å,0éÛ0Zë·qéK¿7}húp'ýNQM‘âE;=»ÖØÇÈ1XŒ¿ÿ¥%«5ÁpBfyfLNLe}åò‘Ëù ¹89¾0¾¶©Vª0Z{´¬˜l‹¦^—¼~Yøò}ã{uiuK K)Q©¢š¢Ä&‹™W™w úQmªéTUIÕžØYKšeO4‹Bõ­úúú°°°•+Wöu Ý£¦¦fïÞ½-†ímÞ¼YLL¬ç:í‘DÎÜܼÏóÖúm`­íرƒF£¹»»³ö“øûí©¹¹b?Ì7úm`­íØñ„F“pw7f/ü‚âï[Io“–\^RV[F<•£Êù8ø´¨Ã>FŽÎ ˆ>0Nw\zYú_1çúỪª×ü³æIîr+QAQ/;¯éƒ>.GSV[¶îúº˜œOë̈ ‰û:ûHäoÕd"g¡nÑf"w%ùJ~U>ç=š7lž´¨4×!„úœ>}šN§O™ÒãƒzÇÌ™3kjjîܹ“——ÇÏÏodd´hÑ"rZËÒý‰œ§§§²²r·7Ûuý6°ÖvìØaccÓ"‘ë'ñ{zŽPVïë(ÚÐokmÇŽµ‰ÜúÐôaéå¥eµeš2šVšV &ãAÖƒMá-§¥j-¾0>*=ÊZÓÚPÁPD@„·8dqÒÛ$UIUk-kIÉÜÊܨô(Ï›ž:uÌ”ÍèLúÂà…¯K^‹ ‰Õ«$¡TX]ø8çñ«’W³Ìf­²ZuðñA •©¦S‰öU$UÚì÷JòöT°MΆΘÈ!„ú¦TTT;vlÉ’%222}K÷0`ÀÚµk×®]Û›öH"×ímv‹~—úIüžž}BÛúm`\úÒãï×__/­-µÖ´öŸîOÜYß\?/p^E]ç ËëÊÿœø§‹ñÇéªn¦ÞLz›4ÑhâÞ {ùùø‰Â¤·IÓÏNÿûùßû]ößx}ãuÉkݺnäý–š>äUå)K(¯²ZõWÌ_êÒꫬVqîwŠÉsUsÎudľ’¿a!„—~ûí711±~ø¡¯ù²õÆ9:~çÎäädƒa```oo/""Òb«/^ƒÁ²²R±°P"*äåÕœ:•Ìd²²²ª·oÿx¡fÁcM²S¶S;ø5yYð~²ú‰Èâ@TPt¥åÊÅ!‹9o¨)£Ifq@Ì"&(vôéQ‹,‹, ‰¤·Ið4÷)l³}Ôœ¸¸¡|çd÷´–!„З%<<üÚµkÇŽíëX¾l=>FîÕ«WS¦LIKK#+¨¨¨YZ~Á_RRâææv÷î]²‚˜˜Ø¡C‡ˆÅÚétº···‹‹Knnî¦M›ˆ¹`Ñ¢EÇ'7‰‹‹›8qbqq1ñTII騱cÞÞÞ+W®dOäÈÀ¸l–slm⼿d¿‰‰‰»wï&ëÌ;÷ï¿ÿÈËËóöö€ììlâØØØ‰÷–ËäA‹¡\¯^•O™r5-­’- jPÐ$KËw–”Ô¹¹]¿{7¬ &&xè­‡ÇÇŒËÛ;ÆÅE'7·fÓ¦‡ÿ… ‹™?>žÜ$.®xâÄ+Åň§JJâÇŽÙ{{Ǭ\9„-‘û—ÍrŽ­Mœ÷—ì71±l÷îgd¹sþþÛA@€//ï½·w dgWÀÆFF“ìÔår¿>Õ ÕÐb4šš”Z‡ÒdhìO‰+x—.µW¿ª¡ ´dµx ó#‡B±ËÌÌÜ´iÓ‚ zzüØ· g—¨««srrÊÍÍUWWwttŠŠŠzýúõ„ RRR””” Æ„ âââh4Úøñ㥥¥333¯]»¶hÑ"CCÃ#Fí<}ú4,,ÌÑÑÑØØ¸°°088øÄ‰³fͲµµ€÷ïß»¸¸ëééÙÛÛÓéôˆˆˆE‹uçf¹Œ­SûKT‹‰‰¹víÑo~~~hhh@@€®®î¶mÛÔÕÕ½¼¼ZLvB£Ñxëˆóv]]]³“ÓåÜÜuu GGM!!þ¨¨ÜׯË'LMIñPRg0X&„ÆÅÓh’ãÇÓ¤¥E23«®]ËX´(ÂÐPvÄ2΢°°LGG-ccÙÂÂÚàà7'N$Íšehk«ïß7¹¸\-.þ §'moO£Ó™9‹Etçf¹Œ­SûKT‹‰)ºv-ÃÑQÓØx`~þûÐд€€WººÒÛ¶TWàåe¹cG &IŽ‘£ÑZ®ÉeGœwð«$)" ÕìËÄu˜)?…ÿ³vD%`Î9²â-§©))È*ÏR—êÒÁÄ1r!„©¸¸ØÃÃÃÐÐð—_~éëX¾=›È]¸p!77×ÒÒòöíÛâââÐÜÜ<{öìË—/9rdÇŽ¡¡¡qqq³gÏ>wî?ÿÇÿ´âââFŽéççwñâE¢¤´´ôÊ•+ärìãÇŸ?~xx8‘988\»vMHHêêêìììJKK9‡Ç¹Y.cëÔþÕÊÊÊNŸ>=þ|âé³gϬ¬¬öíÛçéé©®®¾}ûv---òÖJž;⼃]wáBjnn¥¥òíÛ®ââ‚ÐÜÌœ=ûúåËiGŽü»cǨÐд¸¸âÙ³ Îsæç§[ÅÅyÁÏïÅÅ‹þ‹³îÊ•É..:ÿÅI›?ÿfxx‘¦Õ:8h^»6YHˆêêšíì‚KKë8‡Ç¹Y.cëÔþÕÊÊêNŸvœ?ÿcžöìÙ[+«À}ûâ<=-ÔÕ%¶o·ôñy¢¥%¹}{»ÓÊsÙçü* Uz9éòÁèƒìcäȹ(¹7R}dpB0ƒÅøqÔ|>²¼¬¶ìíû·0Rcdpbð÷ÿ¬<˜Ì²ˆ1rÄÝ•BüBUõUv„cäB}ƒâãã555¥¤¤Ø «ªª<<<¨Tê±cLjÿØQõl"ÞÞÞD²‚‚‚»wï¾|ùòãÇ ** ¨TêîÝ»?Ta±¤¤¤âââÈv† Bf#@Ü-YTTD<}òä lÛ¶|Oˆ‰‰mÞ¼ÙÙÙ™sxœ›å2¶Ní/AWW—ÌâÀÂÂbòäÉ!!!¯^½4hç˜;Õç캘˜BðöE$ (È·{·õåËi@TT.P©B»w?ûï‹Å’’Ž‹+f‹SÌF€¸[²¨¨–xúäIlÛ6’Èâ@LLpóæÎΡœÃãÜ,—±uj ººÒdJ“'ë„„¤½zU>hç˜;Õçü*M0œ°ÿÑþGÙœN:YiZ1YÌû™÷ë›ë;ÛŽ³‘óé¸Óÿ½ø(û‘%ÍRVL¶¦¡&§2'6/ö‡ï~¤4ÈÉÐÉÿ™ji꘣cÆêŒU XT]í6ÄHäh2´W%¯Ö…­S“Rã£ðµ·Ž\×ÇÈ¥”¤ÜI¿éïÒ ® ŽXó`Ò m›.6ŽBu»ŒŒŒ… NŸ>}óæÍdaQQ‘‡‡Gccã¥K—$%%û0¼¯IÏ&r••• ¥õÙ8--- …RQQeeeÐá¨-5µÏÆÀP©Thnnfï¥Åý‡­oGìl³\ÆÆ®Ãý%hjj¶Ø(!6ïÆŽ8ï`×UV6€–Ög?·hiIQ(PQÑeeõpüx"çvÔÔ|çÇkPì½ÐhŸ}æ[<å¡Y.cc×áþ45[ÆF”›wcGœwð«$.$~lÚ±%——dWdgWdÀ@ñ¿9þ¶ìò²NµÃOá?9ãä†îfÜ N&˨ ƒ”€ŸÀ©§V_[›ûOÊ?Ä«Taª‘‚ñØÃÜcCø†k)׈§í­#×u)Å)äjuð¢àÅ‹‚0wè\LäBõ7ÅÅÅóæÍ«­­=w»;ñ¿hZZš‡‡‡´´ô¹sç:œ5q¯g9iiiÈÊÊbO9²²²X,±jQaÅŠrr-¯Tp¿:ÑHNN96ŒxÚ¥ÐyŠ­Ãý%dgg·Ø(!6ç>¶;êiÒÒ"•U¥¥õ)uÉʪb±@FF„¬°b…™œ\Ë#&&Æí{h$'§šF<íZì¼ÄÖáþ²³[ÆF”›s[‡}›L•L£–DÝI¿STS¤0@aœî8‹µÊj‘€VX® Ñ ð ¬²ZÕzÚiQiÿéþ™å™qqu2b24iš¹ª9¹> ¹aqñ‡üü÷\ö2r¤òéÓÉ>>O¯^,(È tö9!yÃClî/!=½òÌ™ö1rW¯fHI }œWCDD€ýÂÏ}³Ä…Ä'Ob/i‘ê,¹œ|ÌOáç°Ú›¶¬¶¶¬6‡¾L•LM•LÛ|I_N__NŸ«ˆ»ÀXÁØXÁ¸ãz!„PŸjhhøá‡rrrèt:Ðéô7n ^½zuÖ¬Y^^^Äé¨õl"çæææããmddDN®øêÕ+iiéåË—ÀŒ3üüüüýý#""lmm*++ÓÓÓ>|¸víÚáÇsÓËìÙ³½¼¼ÂÃÃMMMííí Æ­[·jkk€B¡t¸y{xˆ­Ãý%ÈÉÉ-X°àÒ¥K&&&yyy¡¡¡t:}Íš5O‡ŽŽN||ü¼yó455ùøøˆuäx訧¹¹øø<‰Ž.42ú›œ\ñÕ«rii‘åËÍ`Æ }?¿þþ‰9¶¶ b•• é镬]k>|¸"7½Ìžmàåõ8<<ËÔô´½=Á`Þº•][Û ]8½¼ÄÖáþääÄ,¸yéRª‰ÉÀ¼¼÷¡¡it:sÍs?èèHÅǗΛ®©)ÉÇG!Ö‘ã¡#„B¡þ€Á`¬Y³&!!Á`…üüü~~~&´1‡꺞MäÄÄÄÂÃÉåÎŽ=J*++·A „‡‡/\¸0,,ìÔ©Sä†***ß}÷—½ 0àêÕ«“&MzóæÍ›7o@QQñÏ?ÿœ7o9xˆ­Ãý%XZZøúúÞ¼y“(™3gާ§'YaÍš5ÄSb9:êibb‚ááÓˆåÎŽMø/ jPÐDâ6H¾ðði Þ Ë½¯ýçŸ)©©”•ÕËɉêêJ[[«3þ ðyyY|6®($oD ¥ôôEÿü“‘Ÿÿ^Uu€‹‹Îõë™ðùlìqÙ,çØÚÔáþöìù~Æ ý ˜LÖ¨Q*-V¥›?ßxèP…û÷ó*+™L±Ž\§,—;ˆB!ÔÓ8@Œ‹kÏÇÇgôèÑþyF<£´yÐÛãêê ÁÁÁÖìe¯^½ÒÐÐ ¯¿½{÷ÎÊÊêÍ›7 \Nèß;DEE]\\®^½Ú×±pB¡PV¯^½oß¾¾ä£W¯Ê54$ÈëoïÞÕ[Y¾yS‘0ŸË ý{GC]TÔÏÅEçêÕÉ}Kºëó[RRBܺܞðpêªU ™]ì!„Býù·þÒ¥KìË ´Fär3fÌèµØ¾\T*UAAûú={ke¯ ß³g­­-F+**ºqãFee娱cûU‡xžµgO¬­­ï© IDAT:&YTT{ãFVeeÃØ±êý*‹C!„ú¦DEEmݺ•Cb¾À}ûöMœ8QTT´·âúV|%‰œ±±qCCCPPYbnnNŽ1C_:cã ô  7d‰¹¹b@@ ¾#„B¡ýÓO?±ßÜG¡Pèt:‹ÅâççWQQ122ÒÓÓÓÕÕ%¦²DÝë+Iä îÞ½›••ÅÏÏ?dÈÑ£GweÊÊÒæÐ5Ô!GGÍ‚‚ewïæeeUñóó "?z´Zÿ;½m]C!„úʼ}û`bss3ñT@@@]]ÝÀÀ@OOOGGGWW—F£á¸¸žö•$r %%5uêÔ¾Ž¢Û·oïë(¾HRRÂS§êöuà۾ݲ¯£@!„êAaa>Nk×*kkkëéé©««cÚÖû¾žD!„B!ÔÓddd–,9·j•Š8±Y_âëëB!„Bu&r!„B!ô…ÁD!ô%Y´Ð'ʧ+-”Õ–¹w;wº›"jW3£Ùí¼Ûÿþ¯§;jOU}Õ©ç§~¼òãâÅ{ì-¨.h¯f|a¼Ûy7·ónñ…ñ½!B!„x†cäB_’çùÏšºÒB#£16?VON¯»B"Ì œg(oèiëI–0YÌØüX ‰îíˆKÏòž­¼²²ª¾Šxz/ãÞñ§Ç¯z\5”7lQ“Τ{ÞôÌ(Ï`±X•õ•½)B!„xѹD®¼¼¼  `Íš5= ê?¢¢¢ðDeTUUû:Š®:5ãU˜Ú×Q´!6?¶ÿ,y’W•·(xQ}sý(Ú¨)&SŠÌ(Ïxð¡éCëÊÇž+©-qÔw O ïýPB!Ä›Î%rééé~~~= ê?’“““““û: ÔÍêëëû:„®®6¼¯Cøü~ï÷úæz×Á®»w%VšVó†Ík¢7µ¨™S™s8æ°—WZYZ¯‡‰B!Þu.‘1b÷L0¨¿ P(—fôu ¨{¹ŽÑ×!tÙ …Z2Z[Æm!Kr+sƒƒÓÊÒL†–¬ÖT“©† ŸÝ=˜P””TXS¨$¡4sðÌâ[7[ÝP’__ÛT«@U¯?~¬ÎXâ¥fFóü‹óÍÕÌõã…ø OsŸ2YÌaªÃæ ›'&(oÊÞxßöf0ÉÅÉnç݈­¶ÚmÕ’Ñ"3˜Œ „ GÙšMCT†Ì6¿G/*Ö4ÔD¦EŠˆl³‰½œŸÂ/*(Ú¢ò–[[Ì”Í\¹îº³«çBB!„P·Ã1r¡/I‹1r7So® [ÛÌh&ž>Èzp&îÌÖq[ç ›G”„$†xÞôd²˜ÄÓФÐu߯kÑf|aü’%ìÃÃ.']&/gCݨÂTKÏòžîfÜ M ½8÷¢´¨ôûÆ÷±ù±PÓPC< ˜,æòÐåw3îOïgÞ¿ýævˆ{ˆ ¿`{ûøÛß’‹;¸¾wâ^e å6_J|›È`1¬5¬`ôþ„¢q!ñê#¦ š&" Â^38!8¾0þÆ7úÏM¡!„â&r¡/UImÉ/×if4;è;88ò >Èzœ¼3jç0ÕaF FE5EÛ"¶1YÌ©¦SÇêŒe07So¶˜F²¶±vÙåeU U“M&ÛhÛHŠHæUå~~:8!x¤úÈIÆ“ˆj³R…©¿Úüª;P÷íû·ÇŸÏ,Ïô‰òùsâŸúrúçÝη˜ì„œSäaÖC)Q© c6èÔ-©-9s8¥$%<5ÜÅØ¥½ýJ-K%ÂöÔ7·{—lñûbP’Pr=çšYþq©Ö›©7/Ä_8ïv^JTŠ(©¨«ð½ï»ÊjMšÆ¹/„BõC˜È!„¾TW“¯6ÐØG‚ׯ4@iôþK —¼í½ÿIù§‰Ñä1Üc³íf¢‚³¡ó¯7~ M ýÔHÊÕòºòõ£×/¹Œ,t2p}xthr(™È±€uvÖY##â©££¿Ý×7v:ì <ÀBÝ‚B¡HŠJZ¨[4Ò@€O pN ¦Œ&Q¨!¥17pîË—¹Mc6Õ4ÖpÞ÷ö.Ç@£‰88Â[ÆmÑ”ÑÌ«Ì;þìø›²7>w|öNØKTó¹ã£4@i‘Å"Î!„B¨ÂD!ô¥J-M€Yƒg±Î2{ôþ×%¯àMÙpäÊ^Áu+{"÷oÑ¿™“Ãb±€,ây9 å É,¤E¥ÇéŽ I Éx—1Hi‡ M•LÉ,LM ²ŽÓ,ÿ-Æøu–¸84Ñ›Î-8§%ûqœÞ1ã¿•zk·ãnA~Áèìè¯n„.å§ðw¥/„BõLäB_*â’y¯ ARD’B¡/5РÅJn’"’ìOëšê ámBëö…„ÈÇ­—ƒ#Ú!:â EwÄÐ8rÌ^›º8FNERh242‹UIU}9ýÄ·‰ï>¼S’PÚ÷pŸˆ È®¨OœäVæÀÞ{O<;áiëI$œ!„ê·0‘C}©ä©òø6QCZƒ,L*Nb±X @^\RJR(²W`oDIB ¼í½uê´h_€ïÓ7dZYZ3£™}†’¤·I@tðñB^·ìWÇÈ) ñ UÖW2YL> ßÇèX¬wÞ€˜Ô5×}húкb‚ê†ê®ÄB¡^ðM'r{÷îýå—_îÝ»gccÃMý7úúúÆÇÇ›™™õph¡Ž}¯õ}ÀË€?îÿ¡'§§/§…Õ…^^ÄK`­e}>þüž»{´eµ‰)=RKSÿ÷à³ÉNÆë?wæZʵ½÷ªK©… #2-’ÁdÕÞ}x·3jç–q[„ø…X,Öé¸Ó±ù±êRêä&âÂâÕì¹Ϻ8FNLPÌV×öfêͽö®½ŽŸÂÏ`2Å*ª)Ò—Ó'®ú:û¶HϽ8wëÍ­õ£×Qb oÐÅ]@!„POû¦9„ÐmŒö˜#žæ>ô÷$š4M_0³<³™Ñ¬;Pwú éD…!*Câ ãŽ;hÉj1˜ŒœÊ}9ý’Ú²‘ïÔ¾sìœ<öèX5)µâkj ª éKG,u6t&ªiËj‡$†\}&M{ûþmYm¬·YO¶c¤`ô4÷©ÍI PØ×‘ë¬.Ž‘€õ£×GgGû?õI Q“R+¬.|÷á…BùÅæ¢Bëq}‘i‘ '§Ç>_ B!„ú­®þrüE[¿~=‹ÅâòrB¨¿¡P(Ǧ›>h:° ³<3µ4•ÁdØëÙ¸ ¦ñóñŸ~|ŒÎ:“žV––Yži©a¹Ûiw‹vv9ìò´õ”§ÊçWåÇÆg–g2YL'§ FÈ:š2š&à§ð'¾M,«- <à7Çßœ œÈ ¿Øü"G•+ª)zžÿ<6?–\G®OhHkœ›}ÎPÞ°¢®"¡(á݇wª’ª‡§¶Ñ¶éèB!ÔðŠBèKrjÆ)ª0•|*.$¾ÇiÏÖq[³Ê³˜ÀÔÒh1÷‰”¨ÔñéÇKjKŠª‹((K(7ÒÏ»ÿ4¶ €Â·pøBsܪ܊º 1 •Ö vÓ7úÇÑéïÒ™,¦žœž¿û«ƒ•G¯ŒÎx—QÓPÃd1 å ùÏ»—•f¯FʈÉtÛi‡‰¢IØÂ°üªü²eR"Rš2šœWýž7lžžq‡*B!„ú¿oúŠÜÞ½{)Êýû÷É’üüüÅ‹«©© )**º¹¹¥¦¦¶Þð¯¿þÒ××ÑÒÒòññ¡Óé½4Bß¶ájÃɵ¶IâBâ¦J¦ƒ•·ÈâH T…!*CˆqeÂÂê­WÁ¦P(4iÚP•¡Ä]šm¶#È/h¤`d¢hÒ"‹#ðSøõåô‡« ·P·‘à£ðY¨[èÉé±×! uêr·»]¥&¥6Te¨–¬ç,4¤5,Ô-Ú;€!„êoðŠÜ'ÙÙÙ#FŒ(--%ž–””^¿~ýîÝ»æææd5__ß‹/’›lݺõÍ›7çÎ냈B!„BߤoúŠ\ ?ÿüsiié÷ß÷áÇ”””©S§¾ÿ~ñâÅìÕ._¾üçŸUTT\¸pAFF& àÎ;}6B!„Bè[ƒWä>úðáÃÍ›7åååÃÂÂ$$$ÀÈÈèÒ¥KfffÿþûoZZšžÞÇû£V¯^½víZâñìÙ³ ƼyóBBBlmmû,z„Pis¨B!„PßÂ+råääÐétkkk"‹#Œ?222ÈB¢„äààТBèkÒæP7„B¡¾…‰Üg:œ ½MxØ!„B!„xƒ‰ÜG4M@@àÑ£G55ŸVb0·oß²0""‚}Û7o€¶¶voEŠB!„úÖa"÷‘¸¸¸££cIIÉäÉ“_¾|YWW÷úõëÙ³g'''›™™‘äÀÏÏïÿû_qqqeee``àÏ?ÿ Ó§Oï»ØB!„Bßœìä??¿gϞݻwoذad!•J=~ü8{µ©S§®[·nݺudÉœ9sp¦„B!„P¯Á+rŸ†·iiiÅÅÅýðÃ***òòò³fÍzþü9û"r°qãÆýû÷ëêê ijjîܹóôéÓ}7B!„Bè[õM_‘#†Ã‰ˆˆ%jjj'Nœh¯þž={öìÙfff«V­ê…B!„B¨µo÷Š\aaaXXÐh´¾Ž!„B!„:áMä–-[¦ªªúï¿ÿZ[[+((ôu8!Ô9Õ:{t¶ßÞÞ× „B¨o|£‰ÈÈÈLž<9((¨¯A!„B¡ÎùFÇÈ=zôèÑ£}B!„BñâÛ½"‡B!„B_(LäB_ŒFz£Îe——V®ººÊ|¿¹Îºæ:ç“ÎÖ‡­Éj…Õ…:{ttöèd¼Ë mÙÚ·ïåÀ §2g×]N'Löš þß`×s®¡I¡­7,­-]}mõ0¿a¦šº_t]òš½}&‹yâÙ‰qÇÆþa8æè˜ãÏŽs@Ÿ„BõoôÖJ„З«º¡zƹ%µ%ÄS&“i¥iu2ödfy¦¶¬6DçD…ïQö#:PP][™;oؼöÚt¿è“ù߈ÅDûÜKB–d•g‘uâ ãã ãKkK—\FÖ4ÔÌ ˜™_•O<ɉ™wq^ä’HiQi¢Äë¶W`| ñ8¿*ß÷žoJq 7týÈ „B¨Â+r¡/ÌóüçÊ’Ê!î!Éë“36fP…©ÖšÖð(ûQáQÖ#mYíAJƒ¢³£É°Ò´êåÀ@GVg·ÓîÈ%‘¯y¿&>pN î@Ý£O2X rÃØüX¥J¡óC“Ö%E-²¤YVÕW]K¹F¼šø610>*Lõuöû9îéOO·ÛoLä&€~rdB!ÔíðŠBè #&(vlÚ11²Ä\Í\X@8:;zù&‹ù4ïédãÉTaêÉØ“ÍŒfA~Áèœh~ ¿…šE{mžu¶'o{ï#OŽ}rômÍÛ&FY^X]¨.¥N<–•öŸîO$~4iÚÖq[O8¦–¦¯F¼‰€_l~™f:(™;tnuCõ¾‡û:  ëG!„Bý^‘C}aŒŒZ$K""æªæÏòž53š“Þ&UÕWYiZYiZÕ7׿(xÁ`2žä>1S1#2¥Þ ¬º¡zêÙ©g_œÍ­ÌeÏâ ¡¹|l¬hÌ›š”Ô6ÖOs+s€¸¶Fú^ó{nè'G!„BÝ®sWäž>}ZPP@¡Pz(ԟ̘Ù×1 nöô©j_‡Ð ¤D¥ZŽ¢zœó8® îeáK!~! u !!ª05:'ZDP¤¦¡ÆŠÆéîÁn#×:°ËI—ßÖ¼µ×³ÿÉê' i QQ …²5b+9à " Âþ”<~ÇöÄ‘A!„PÿÔ¹DNWWWTTÔÙÙ¹‡¢Aý„ŸŸŸ‡‡Ç!Cú:ÔN:%--Ý×Qôk-ëßïÿý²ðå0Õa¢‚¢0B}Ä£¬GÂüÂÐGÃÀò*ó`ÝèudØÄhzšû´ShHkÀ£ìGs†Ì! f?äróþydB!ÔEKädeeeee÷ík90}eüüü† âääÔ× îN¥~µwÐÈÈŠÉF¦GæUæ­ù~ Qh¥iåéÝÈh <`Ò ›w˹֔%”àø³ã«­WK‰J¥—¥ï{´/»"»SŒ×ìé±?îÿ!" b«cË`1n¦Þ<s˜ËÍ»xdB!Ô?ád'¡¯…B¥9꟔€m8™•¦‹ÅÊx—a§gÇÏÇßûQM4šøWÌ_!‰!!‰!D U˜j§g™ÖÆœ“í¤4höÙñnl 'N¸þú:7›÷Ï#ƒB¡.ÂÉNB_ b¬—¬˜¬¡¼!QB“¦©JªBßÝ=¨$¡0;`„ƪ0UBDbŒÎ˜àyÁäd•Üó¶÷Þ8f#Mš&È/¨*©º~ôúõ6ë¹ß¼„Bu…Åbq_ÛÕÕ‚ƒƒ{,Ô/P(”à­•_™ü‘J¥výó[RRR[[Ë¡Bx8uÕ*…ŒŒÌ.v„B¡þ ÿÖ÷*•ª  À}}¼"‡B!„B_LäB!„Bè ó­'r—.]²±±ù÷ßû:„B!„âÖ7”È;wÎÆÆ&))‰½0??ÿÁƒUUU}B!„BuÖ7´ü@nn««Ù gΜinnnffÖWQ!„B!„Pg}C‰\›ÔÔÔÔÔÔú: „B!„ê„n¾µòîÝ»+V¬pttœ4iÒŽ;JJJˆò²²2‡éÓ§××ד•óóóíììæÎK§Ó9oNzðàÁªU«œ]]]wïÞ]QQA”ïÚµËÆÆ¦ÅÕ6¢˜'}ݺu'Ož€Ÿ~úÉÆÆÆÆÆfõêÕÐÖ9ƒqþüùyóæÙÛÛÏš5Ëßß¿¡¡|Õßß߯Æ&##ãõë×?þø£ƒƒÃüùóïÝ»×á‘©¯¯ÿßÿþçââ2iÒ¤?þø£®®nÏž=ì1“-'%%ýôÓOãÇ?räH‡ñt¸ãì-ÇÇÇ/]ºÔÁÁaáÂ…ÑÑÑÆŒB!„ꟺ튓Éôðð8{ö,YvàÀÛ·o:TNNnÚ´iK–,‘8uê455¹ºº¾|ùòþýûœ7ƒ±`Á‚€€²BHHÈž={***øùù_¿~ýàÁƒææföˆB"KLHHÈÉÉ€óš´#÷áÃö$çÒ¥K‡ŠŠŠ’——€¬¬¬\¿~}óæÍuuuDsçÎ]ºt‰Xd¯MÕÕÕ£GNHH w-88X[[›=f¢åíÛ·766€±±q‡ñt¸ãdËÁÁÁÛ·oojj" ÿþûïƒþøãíÅŒB!„ê·º-‘ûý÷ßÏž=«¥¥µ|ùrCCÃÆÆÆÿ·wçqQ•ûÀŸ™œaÖa“E@PÑDe ® ‚†¢¤¥¿n‚”iW©Dͬn^E—1EEÁ²2ÐrË\’eDPÀRp@ M`æüþ8Ýq.;:ˆ£Ÿ÷_œ‡ç<ó=óz©¯çY~ýõ×ØØØyóæåçç3™ÌÐÐД””øøx77·åË—§¥¥mÛ¶ÍÍÍ­/·¯[·î»ï¾SWW_¼x±««+‹ÅºvíÚîÝ»ûx ytt´@ ˆ‹‹NNN„ÎÝV¯^- """JKK7oÞœ››ûÞ{ï%&&ʺEDDøûûq¹ÜŸþyß¾}«V­ê!È­Zµ*''ÇÜÜ|ÅŠÖÖÖ·nÝÚ¸qc—[e®]»öõ×_Ÿ3gŽ©©©¹¹yëé‹Ï?ÿ|êÔ©sçÎe³Ù¿üòKllìòåË'Ož<|øð~ƒN1AŽ¢¨-[¶ðùüÌÌLG7Μ9“ÇãEFF¦¦¦ÒimçÎÙÙÙK—.‰D»víš3gοþõ¯¾Ü>aÂ@ ªªzùòåqãÆÉ:DDD¨¨ô霭¬¬!...]öioo‹‹c³ÙB¡ÐÎÎŽn ¶··?qâ„X,–µ>þü}ûöÑ?%%%UVVÒoÉ:ûí·ßjjj¦¤¤˜ššBüüüüýýé<ÙÁŒ3Ž=ÚßzúÂßß_–ý¿üòËlذ¡ïƒÀó@1käD"QUU•D"™={¶¯¯¯Ï¤I“&MštêÔ)BHaa!ÝÃá;vŒÍf¯_¿ÞÞÞž^´Ö—ÛïܹSSSãíí-Kq4---…ÔO»sçNCCÃ?þñYj"„èééQuãÆ Yã¼yóäo¤'VWWw7lccã”)SèG³µµuwwïÜyÁ‚OPO_¼ûî»/û;<óFŽÞW£ªªêâÅ‹+[KFQUUe±X„¡C‡jhhôñvz‹}}ý~U%‘HúÕŸÞDDWW·C;Ý"¿ÅH‡>jjj=|]|癜²wòÌÌÌž žº¬¤Cô ò{Ï@ÏbRb ¹†³œf v!Õ·ÔÈ<0Êx”÷0ïþ¬œòœÛnÿÕü—™¶Ù8óqú]üµ\V[& >zh©kéeíÅQå tU/!Å9SSSƒ1nܸ7vþ­­­-ýCkkkPPP}}ýÌ™3×­[÷ÙgŸõåv‡Ã`0ÒÓÓÛÚÚTUU;÷¡SJUU•|ØËËË“ïÃ`0!=¬©366&„\»vM*•2™ßUfddBLLLzøz@ߘ-ß(•Je{Ÿt.²ïõôåÁiYYYòsJ333 !ò/  g»®îrâ;=AîQ½@(x{ÌÛä**?:ùQJYЬ…£ÊYê¾tÑ„Eòݶþ¾5&%FJIéKc-ã=³öŒ01p…¼œ3µROOÏËË+++ëöíÛnnnÞÿeaaqîÜ9ÙʱeË–eddlÙ²åÈ‘#^^^_|ñÅ… úr»®®®§§gIIIHHˆìȆ††ÿüç?R©”2lØ0BȶmÛèËöööµk×vÈ3\.—RRRÒÝSŒ3¦°°påÊ•ô>E ‚óçÏóù|ggç'ûr œ³²²6lØ +ïÓO?-..îõÆ^ëé˃ÓÖ­[G‡7BHYYÙ‡~H™2eÊ“=ÀKh±ÛâY£ž»÷̬8½"¥,E›­=Çy΢ ‹<¬<šÛš£.G],~<“"!7açÕ Â˜>rzØ„0C‡ŠúŠÐ£¡Ímxù ` ;GnÇŽaaaúúú£Gž0aŸÏ·¶¶ŽŒŒ¤gú}ÿý÷111ÁÁÁK–,a±X?þø£‘‘ѼyóîÞ½Û—Û·mÛ¦®®þí·ßššš::::;;ëéé­Y³†0sçÎåp8{÷î577?~<ŸÏŠŠê½\\\!aaa®®®²sä:ˆŠŠb2™›6mâóù®®®ÆÆÆôv,QQQ}ÜU¥K_}õ!dõêÕÆÆÆô°›6m¢7;¡'šv§×zúòà433³ñãÇÛÛÛ;;;ÛÙÙåææŽ=:88ø‰ àeóþÄ÷ŸÃ×qÏF}Ký•Ò+êªê'ß=¹þõõ+¼W>þj8!äLÁY·Â„;¶lùÄû“ïœð´ò7ˆ¼þã •ð‚RXsttLKKóóókllÌÉÉIKK‹Å¶¶¶7nTSS»yófXX˜½½½l³G>ŸøðáÚÚÚ9sæ´µµõ|;!ÄÅÅ%99ÙÝݽ¥¥åæÍ›7nÜ`³ÙkÖ¬¡ƒŸÏß¿¿¶¶vyyyzzºŠŠJbb¢£££|…žžžï¼óN[[[FFFRRR—»ÿûøøœüôéÓuuuÅÅÅR©ÔÒÒÒÀÀ€þ•ªªê©S§ìììäs‹§§gfffmmmCCÇëávÚ˜1c„B¡X,‰DÚÚÚ666òëåæÎ˜››«¢¢2räH555++«Ù'2Œøøø7–””T6Hñƒâ¯¯|M²þâúíolw·t;–þg:Ýý{ôá·ÓF_ʯ‘s0rXuvÕ‰¼'Þ9¡ÅÖ"„”T—¼Ÿð>_‹¿Ðua¥ÖµÔ-ÿyy‡•fŸOþÒ]=´¾<8ÍÔÔœ€²Ë¾—}¡è‚§•§ƒ‘[…­ÊRõ°ô8û|jY*Û„"¡ºª:G•“,J¦[2þÌhioñ°òäRñ%_[_k=ëÛU·/—\^{n­«¹k~e~Ш ŽŽP$,¬,ŒNŠÞ5sWç,y–QÓ¢'.þäÔ'»gínno^œ¸˜"ÔÎÀjÝ•Êd0C…æVäši›yZ{j³µËjË.]X}vµ¾Íh“Ñ„dQ²!×ÐÅÔÅTÛôQû£‚ʂԲÔ§W”ÒØÚ–VÕPe¥kåaå!‘J’î$­:³ª×/íxÞñ«¥W{î3ÍaZwAŽé¹èØ"ÿ8ÿ׆¿¦ÃÑÉç EB+¹£çÒ** !ò¯ì!LÓDˤ¤º¤UÒªÆÂ…Q|ƒ.}öÙg+W®¤ß"555q¹ÜˆˆˆÁ® @ùT7UGDÏ9CÖB'4¡HHǶdQò‹ šC4…"!ÝþA>ÈÕ4×웽ÏËÚ‹¾\}võ‘œ#™w3Ï…ž3âBÚ^m›;å·’ß(Šêðœ6ÅnJèøÐØ´Ø=©{ * JªK¢¢mõm{(õláÙÜŠÜ€›ý7³˜¯Í­È ú6(>#~ûŒí„/§|i­gZ–ZQ_¡ÆRs5w}Ðø û^vms-Ã;Upª²¡ÒÓÊsoÐ^U–*!¤¹­yþ¡ùfvèøŠÙ+=÷ÑUïx؉¼qæã6ùoŠ8q$çÝâné5-jˆÊúòQû#BˆìR†Îo-m-r „ ÷Œ|üñÇÛ¶mËÏϧ/GµwïÞžgc@—¬t­äS!Ä‚ga®c.,Bj›k * ‚FqÕ¸?Ýü©¼¾ÜDËD(r åSÖH£‘²Gq·t?’sd–Ó,:ÅBTYª®æ® ¹ UU†\CÒ•½>Î)ÏÙœ´™ò–Ë[ªê\ê•Ò+„uUõÝ©»é£P(Š¢¥ÅÖÊ­È¥û\/¿þÏÃÿl—¶wªº±šÇáeÝÍ"„,õXJ§8BG•óÛ¡ÇB{þÒ{îЫÈß"÷¥í3Ñ2™æ0MsˆfYmÙÅâ‹ÓöO‹›çdìDþáè8'ž&ÊVe?e Aîùâ‹/Ö¬YSZZZUUebbbaañÌ>º»ÕwJÊRײs£‡•Ç¡ìC÷êîeÝË¢(ÊÓÊ“žâ( }l} « ßù†|¾&_þ’>´ºËƶÎg1Yþ#üÓÿLg2˜!ãCz-•~ov8çpw¦–¥F'E«±Ô|m}-xêjê ÂH%gß˦Of«k©#„˜i›Éße®ÓÅüðžrÜŠûÒö¹˜ºü0ïY†Ì)Ï :´ö×µÇÿï8!„Ž»åõåò7J)iy}¹[ ¯ã AîÙQQQéy©ÛéË>%Âbtqh‡»¥û¡ìCÂRaÖÝ,SmSzk;»dQò•!EÉÏ«T”âÅ.m0Õ6½ÿð~øÉðCoRaþÏ_ªJÕæhBÞryKOC¯ÃPl6!ä·’ß!_~MÏ¥T<­M¹[wWþ%a¯ <õ¹Üû¹„I6“d)ŽâlâlÄ5ºyÿ¦„’°,{C{BHÚinlnkvâ;õZ!ô ‚¼Ü,ÜXLVòäì{Ùô¶ø„wK÷ãyÇéwAnnŠýĦ¶¦Ž@Ù?{ÿ¥âKQ—£"/E®ñ]ÓÃ-‡N<šsTBI–¸/a2ŸþRÕPUñ°‚B/Æãy¼åljYꥢK²Ë1fcrvwȯ‘“íŠÙƒ§\#ÇUãB._ q ‘e¹ì{ÙⱆšW‡ 7Ó6Ë»Ÿ÷ëí_é$Rɶ߷B&ÛMîµBè9xh±µ/_l“´yZ{ÒžVžññg ÏØÚp z¡¿Vž^YR]²uúV}}›ìòì™Ƙñ³÷ëî–i#¦È<ðãõ“EÉn–nzêzõ-õ¥µ¥é¤/t]8Êx”‹‰ !$ìXØÔáSyê¼¢EI%IºêºÐ#ø;øoOÞž,JöÛïçaå!¥¤—K.÷0ùSæ)×ÈyY{iÑ̾—í»××{˜7W[Z[z±è"EQþþ²nK=–FœŽXz|©ÿ¾&?Y”œ/Î7â½9úͧùtè AŒÞâ‘¢HW{= OkÏœŠ“5Ñb"Ýâ:ÔU¥Ö*iu·tWìgÈõùTv9ËiViMéîÔÝ?Ýü‰n1Ö2Þ3k½Ú^Ïþ_yè AL]]Jiiar8RÅŽ¬ÂRùÐãÃîbÒŒ‘3˜ &ã’BØ*쵓×V6TN>µçA¬t­>ôøNS2ÞüuÕue£-v[L¯Lk“´5·5äõQˆëã N4‡hçLᙂÊk=ëîJåqx{ƒö–T—dÞͬiªÑU×µäY¾böŠì4‚­Ó·Îs™—w?Á`Œ5ëdì$ ¹C¸²euNÆN]¸Xt±¼¾ÜHÓÈ×Ö—¢¨ÎÅ+Ü‹ Iï']-½ZR]ò¨ýÃk6ÖΠã¡y}4kÔ¬+¥W¶<´àYxóFŠxñ46254ü¯<ôƒÞ»fÏžM9zôh¯=A©1 @àç×í 1PFK–,ár¹OÿçW,744ôС `H@€Ù¹s Öö”ŸÏ!€wò¤æùó v!/.—kddÔ÷þý~#—ššJÇ9x±ÅÅÅ9sf°«Eº~ýº‡‡âwnìlذVêæÍ!r/¤üü!Ç·v/»þ¹‰'Pð\133ãñx\.·÷® <<<<žÍa55j̘–ßWŸ>½§w ŒZ[))œ+j»—]ÿ‚\xxøÕ/’)S·nÕÅz€Ï… --LŸÆÁ.äeÇì½ @?>”J?ü 5Ø…€"QÙ¿_ÇÛ»‘ÏoìZ^vr xÚÚÒÐп¾þšWYÉìZ@a5óò†,[†y•ƒADhh­¶¶t˽Á.£¡­÷æ›uØédð!ÈÀ€àp¨O?} ™˜¨9صÀÓ’JIx¸¡TJ–/¯ìZ€98¯½ÖV»zµAj*Ž„Pn‘‘zW®¨ÇÄÜ×Ñ‘ v-@‚ ¨ðð_ߦ%KøìÁ®žE@7>^'2²ÒÅ¥e°Ë¿!ÈÀb2ÉæÍâ š,0ÁK¥óè#<Üh×.uëªpBìsA›MíØqá¿"" W®4|ðûX(‡ÌLvPéï¿«ÇÅU×v9ð?ä`À1äãkvî¼õ*Ç×whl¬Nc#þòx~•–ª†‡Íkª§'IL¼ëæÖ<ØAG Š¢»P&b±¸¡á gV473bcy±±:L&åëÛøê«MŽŽ­|~»††T±E@¿H¥¤®ŽUZªzý:ûÂõôtÎСm«WWûø4vi/ .—kddÔ÷þrÐ?OähuuÌãÇ5ÏŸ×ÈÌdK$ EOOGGêáÑ4}úC/¯&ÖCÈÉ´¶2Š‹Õ<`a¦%Ààb0(--©¹y»™YÿË:úäT®€ž©©Q#F<ì*”þ@É È(9%ƒ  dä” ‚€’AP2rJA@É0(Šì ðF@É È(9%ƒ  dä” ‚€’AP2rJA@É È(9%ƒ  dä” ‚€’ùúÈúÉD­dIEND®B`‚fio-3.39/examples/jesd219.fio000066400000000000000000000011221476262051600157300ustar00rootroot00000000000000# Sample implementation of the JESD219 workload for SSD endurance # testing. It uses a specific distribution of block sizes and # read/write mix, as well as a specific distribution of where on # the device the IO accesses will land. Based on posting from # Jeff Furlong [JESD219] ioengine=libaio direct=1 rw=randrw norandommap randrepeat=0 rwmixread=40 rwmixwrite=60 iodepth=256 numjobs=4 bssplit=512/4:1024/1:1536/1:2048/1:2560/1:3072/1:3584/1:4k/67:8k/10:16k/7:32k/3:64k/3 blockalign=4k random_distribution=zoned:50/5:30/15:20/80 filename=/dev/nvme0n1 group_reporting fio-3.39/examples/jesd219.png000066400000000000000000001765161476262051600157630ustar00rootroot00000000000000‰PNG  IHDR+Õå®_bKGDÿÿÿ ½§“ IDATxœìÝwXÇÿð÷qtéHE±÷ôg,¨‰Q£±FMb‹ú5_Kzl11‰Mb4šÄ¬11¶|m5b Š *UšÀGç¸ß„ 'Üwêûõ<>ÏÝììîÌììgg$J¥R """"""""""ýÚk¤ïƒ•DDDDDDDDDd¬$"""""""""ƒÀ`%+‰ˆˆˆˆˆˆˆˆÈ 0XIDDDDDDDDDÁJ"""""""""2 V‘A`°’ˆˆˆˆˆˆˆˆˆ ‚±¾ @DDDô¬‰‹‹Ãĉ…ï[·nE“&MôX" ++ Ǿ¯Y³:uâÌ™38uꢢ¢ —ËaccƒŽ;â7Þ@Ó¦MÕ3)) ‡Â_ý…¬¬,!ýÔ©SJ¥j÷IOOÇÎ;„ŒŒ ØÙÙ¡G˜4iD×ëÁƒظq#ÂÃÑ““¥R‰=zÀÁÁG¼ð Xµj•ècQÝc°’ˆˆˆHÇrssqöìYá{NNŽKSª¨¨H¥L2™ pçÎx{{#;;»Â>ÀÒ¥Kñý÷ßcöìÙ*Û/^ŒeË–A©TVØO]øûûc„ ÈÌÌTIß»w/–.]Šýû÷£oß¾×)11]ºtêRÆÊÊ ®®®B}ù+/ÑÓ‚¯=Çär9²³³áè舅 âðáÃØ°a<<<”9ç΋   •ý’’’àêêŠ3f`æÌ™Õžçþýû9r¤¨œ4i>Œ÷Þ{‘‘W_}±±±—ýÇ•...8pàNŸ>¯¿þZãc‘aá3éX£FpúôiỾ_¯Îˆ#°yóf8:: iÞÞÞèܹ3€Ò‘’¿þú+|||„íK—.ÅæÍ›!‘H°mÛ6lذ¡Ês¬_¿yyy€ÆcË–-022ÂСCˆË—/C.— ÇÕDdd¤ðÙ××#FŒ¾üñÇxóÍ7öööˆˆˆˆôÁJ""""{ôè–,Y"|rÎJ™L†ßÿHII™™Ú´iƒñãÇ£cÇŽŽ—€;w"$$ppp€——z÷îÀÄÄD%ÿ¹sç°}ûv$&&¢qãÆxçwРAµem×®öï߉D¢’Þ©S'8;;#55U(Cy®®®¢ÚäæÍ›Âç¶mÛÂÈèß|:vìˆË—/öíÛ‡M›6U(OyøòË/UŽPé+äêæ¬LOOÇo¿ý†Ë—/#55fffhÚ´)† ‚Ty~""""ª= VéXUsV9r'N¬0oãáDZråJ|òÉ'X¹r¥~åÊôïßr¹¼ÂyV¬XÄÇÇ«¤-X°@%ßÖ­[ñóÏ?«-«¹¹¹Úô¢¢"•r»»»«Í§©òÁÉÇ«l+ÿ]&“!&&¦ÊѨ©©©*í )))HIIQ›ÿÉ9+8€)S¦¨§ó‡~€¯¯/öíÛÇ™DDDDzÀ9+‰ˆˆˆêHhh(F%*ß|óM:tëׯGýúõß|ó ~üñGaŸU«V ÊqãÆáÈ‘#øóÏ?±jÕ* 4H%èyéÒ%,\¸Pø>lØ0üùçŸBTŒíÛ·«+'L˜ ¾ÂåôìÙSøˆˆˆ¥‹ä;vL%oZZZ•ÇòõõÅéÓ§Ñ­[7!íå—_ÆéÓ§…ƒV»ïõë×1nÜ8!P9xð`8p?ýô“°y@@Æ/¾’DDDDTcYIDDDTGV®\‰ÂÂB@¿~ý°sçNa›™™¦N X¶lfÍš‰D¢2¢rÈ!2dˆðýƒ>^ÓJç…,[‰ÛÓÓ€T*P:ºpΜ9•óêÕ«xÿý÷…ïÓ¦MC¯^½ÄVWŬY³ðË/¿ ..EEExá…ЦMDEEUiYRRR屜áìì,Ò×ÒË¿þ믿ªÝ÷Ûo¿EQQ€Ò6:xð 0òÒÙÙcÆŒ?~ׯ_G—.]Dוˆˆˆˆ´Ç‘•DDDDu$00Pø|ïÞ=ôíÛWø·nÝ:a[rr2îÝ»x饗„ô·Þz ðööƤI“°yóf˜šš Û¯_¿.|îÛ·¯¨€þýûkTÆ3gÎÀ××W’:´ÒWÈÅpppÀùóç1dÈH$äååáÚµk(((ÀÀUò–2­ åW5ïß¿¿Ê+âåÛúɼDDDDT78²’ˆˆˆ¨Žäææ ŸãââWiÞŒŒ Àܹs‘™™‰M›6!)) ™™™¸rå ®\¹‚;v`ñâÅFÆ …Õ¶ÀÊÊJåxÖÖÖÕ–ïàÁƒxýõ×QPP5j~ûí· øh«Q£F8rä222p÷î]aQ›C‡áäÉ“[[[xyyéä|ꔿO¶I½zõ`dd$Œì,Ÿ—ˆˆˆˆêƒ•DDDDu¤qãÆÂkÛ#GެòµìV­Z$ –,Y‚%K– &&÷îÝÃ;wðÝwß!&&)))ذa–-[Ÿ={¶¶¶*¯‚wíÚÉÉɸzõ*lll~~~سgòóóѸqcôïß³fÍ‹/¾(+)) T泎¬$"""ª#³gÏÆáÇqöìY¤§§£K—.hÕªlmm‘˜˜ˆ¤¤$( ¼üòËøè£”Îséçç4hÐnnnHMMU ú½òÊ+€ÿþ÷¿Ø¼y3îÝ»…B>}ú ]»vxøð!š5k¦¶L—/_Æ| |·°°@PPÊb5ЬY3üòË/Âw???a ääd•¼ýû÷‡D"ìØ±5lݺ ,@Æ áì쌨¨(aUnlÛ¶ -Z´Ý®bÌž=ÿûßÿpñâE( ôíÛmÛ¶EZZ>| t4ëÏ?ÿ [[ÛZ- UÄ`%Q133É'°råJlذ>Ä;w„ívvv:t(&Ož,¤MŸ> …DLL bbb„m 6Ä‚ „¬­­­€I“&áÌ™3(..Fhh(ÆŒƒ+V¨ ²ü<—eßÏž=[!ŸL&SùþàÁµùàܹsÂçòó>.Z´+W®Ä­[·„ù:áëë‹eË–¡k×®j§Kæææøûï¿ñÕW_aãÆHOOGhh(€Ò ¥–-[†~ýúÕzYˆˆˆˆ¨"‰R©Tê»DDDDÏ’ÐÐPtêÔIøþàÁ4nܸB¾ØØX<|øfffhРœ…‰OR*•HJJBBBJJJàîî.ŒXT'..‰‰‰ðôô„»»;ŠŠŠ„Wž S§N°³³ƒL&CHHHµu²²²R &>xð±±±Õî×½{wXZZª¤¥¥¥!&&ÆÆÆhÚ´©ðÊ»:W¯^V&oÔ¨‘JÀõæÍ›ÂBD®®®Â<Ÿ)¼oooŽ;V8¶R©ÄÝ»wñèÑ#˜ššÂËË ÕÖ‰ˆˆˆˆjÍ^+‰ˆˆˆtÌÏÏÓ¦M˜šš"//OeÑ"""""Rk/k&"""ÒtïÞ3gÎÒ¦NÊ@%‘†8g%‘Ž$''#88Xø>tèP|ýõ×z,ÑÓ…¯éHrr2îܹxyyÁÍÍMßE"""""zšpÎJ"""""""""2œ³’ˆˆˆˆˆˆˆˆˆ ƒ•DDDDDDDDDd¬$"""""""""ƒÀ`%+‰ˆˆˆˆˆˆˆˆÈ 0XIDDDDDDDDDÁJ"""""""""2 V‘A`°’ˆˆˆˆˆˆˆˆˆ ƒ•DDDDDDDDDd¬$"""""""""ƒÀ`%+‰ˆˆˆˆˆˆˆˆÈ 0XIDDDDDDDDDÁJ"""""""""2 V‘A0Öwˆˆ¨¢””Èår}ƒˆˆˆˆˆˆHXYYi½?GV‘A`°’ˆˆˆˆˆˆˆˆˆ ƒ•DDDDDDDDDd¬$"""""""""ƒÀ`%+‰ˆˆˆˆˆˆˆˆÈ 0XIDDDDDDDDDÁJ"""""""""2 V‘A0Öwˆˆ¨î)•@B‚ âã‘-…R©ïQm15UÂÆFæÍ agW¢ïâT‰ÁJ"¢ç„Bœ9S‡[áüyKdeqp=Ñó¦I“"øúæ`ôèÇhÞ¼PßÅ©€ÁJ"¢çÀ©Sõ°|¹#ââLàí‡Ù³3ѹs><=‹`k«€ã–DDDDDDϬÂB 23¥ˆŒ4EPޝ??;ô… ÓáéY¤ï" $J%_þ#"24)))Ëå5>Nl¬ >ÿ¼>.^´Ä«¯Êñî»õCˆˆˆˆˆˆˆêžR œ;g‰•+c‚©S³0gNÌÌj&tqq•••¶»ïåÈJ"¢gÔ¥K˜3ÇîîEøý÷Dt횯ï"‘H€>}rÑ«W~ûÍ«W;àòeslØ GG…^ËÆÿˆˆžAüaƒ©SÝлw.öíc ’ˆˆˆˆˆˆ*’J•xë­,ìÝ›€Œ )FòÀÝ»¦z-ƒ•DDϘÇ­ðé§Nøïeøþû ã'"""""¢gWÓ¦EØ¿?®®Å˜4ÉIIú{›ÁJ"¢gHX˜.tÆÔ©2Ì›‰Dß%""""""¢§~~I°·W`Æ Wäæê'lÈ`%Ñ3B&“bút7ôè‘‹yóÒõ]""""""zÊÔ«W‚“šjŒE‹œôR+‰ˆž«WÛÃÈøþûTñéNDDDDDDZðð(ÆÊ•©8|Ø —/[Ôùùùç,Ñ3àî]SìÞmƒ?N‡•U‰¾‹CDDDDDDO±¾}sá뛋%KêC¡¨ÛùÅô7[&éÌwß9 ]»B¼öÚc}…ˆˆžÍš5>Ož<Ÿ~ú©Úm•>|8V­Z¥’‚-[¶àÚµkHOO‡‰‰ ¬­­áä䄦M›â¥—^ Aƒ*=T*…™™ìííѰaCtëÖ cÇŽ…›››J>¥R‰›7oâäÉ“ ă““kkk´jÕ £FÂk¯½É7Ëårœ={'OžÄ™3g —Ë…m‘‘‘J¥jëˆíÛ·#$$2™ 666èܹ3¦N ooïjÛª¶™……¡ÁèÑ(BZì™3(öðÐc©ˆˆèY°pá# ÔGŽXaøðºû[“ÁJ"¢§\r²1Μ©‡5kR¸ éÅ0þ|””ü;º¿¸¸yyyHMMÅ­[· ‘HT‚•OR(ÈÍÍEnn.„Ÿþ|ðf̘!ÃÃÃ1jÔ¨ ûËd2!((X»v­JÀrÙ²eØ»w¯¨z­[·?üðƒJZFFN:…S§NaÞ¼y˜>}º¨cê’$?.}¤¨$""Ò•Æ‹0p`~ÿݦNƒ•| œˆè)÷÷ßõ`aQ‚rô]""zÆLž<ÑÑÑþ•Uùøñc|ñÅB rÞ¼y¸rå nݺ…S§NaÓ¦M=z4lmm«=OHHvíÚ…^½z( `~ûí·øþûï+ìãíímÛ¶!,, 'Nœ@=„mÇŽƒ¿¿¿J~kkk 2«W¯VIZ™àà`•@å×_›7obÆ Â(Ìo¾ùW¯^­öXµÅñ›o`rïžÞÎODDϾ×^“ãúus>y01Qê»(DDô FNNé˜9::búôéppp€™™<==áëë‹+Và³Ï>«öXVVVðööÆ–-[ðÊ+¯éëׯGxx8ÀØØ‹-‚šðòòš5k`Tn…¹€€•c/\¸?üð^}õUX[[W[–Ÿ[·n1cÆÀÒÒ À‹/¾ ô•ô7V{¬Ú`qñ"lwîäôﯗ2ѳ¯gÏ\)ët¡+‰ˆžrwM›}ƒˆˆžSÿûZXff&Ž=ªò:¸6ŒŒŒðé§ŸªÌ#¹cÇ¥Ã)S¦TØÇÑÑõë×¾—Pµ• |~rÞLwwwáóÅ‹Q\\\å±lvïFÓfÍдY34éÐ&qqÂ6«#G„m^íÚÁôÎjËf” çyó¥ù;#kòd kEDD$Ž……^^EˆŒ4­³s2XIDô”KI‘ÂÍ­ê?’ˆˆˆj‹§§§ð¹¤¤ï¾û.|||0{öllß¾ÑÑÑZ×ÅÅ-[¶¾V™?;;Âw///­Î[ÆÊÊJøœœœ¬²-))Iø\XXˆØØØªË6n0ÊÍ…ËûïC¢PÀ$!Nå^IOûòK¶jUmÙœ–,qr2”¦¦H]±0âŸuDDT{\]‹‘–VwËÞð§ÑS.?ß––|œˆˆtoÛ¶mhÖ¬Y…/^ò´oß­[·VÙ/##þþþøê«¯0hÐ Œ=‘‘‘¢Ï_~cjj*”ÊÊÞ­[·Náhbb‚±cÇŠ>_yýúõ>ß¾}û÷ïGnn.pîÜ9•¼YYYÕ/íË/QØ¢À,4ß}çwß…Ñ?«’g‡Ç#GV{«cÇ`uè cî\5mªqˆˆˆ´aiY‚œœº[Í•ÁJ"¢§œR ®NDDz#•J±víÚ ËòBBB0uêT•WÆ5QUp²¼ß~û [·n¾/^¼5u®'5 ÿ÷ÿ'|Ÿ7o:tè€3f@ñÄêÛ¦¦Õ¿§´°@òO?¡¤^=€ÝæÍ0 ´k‡GÌé)MMEýÅ‹…}dz\‰œˆˆžIéßu…ÁJ"""""R«²ÕÀËñ I“&8xð ¶mۆɓ'£©šÑ~)))8qℨó?|øPøììì ‰šÿÛ°aƒÊâ=~ø!&L˜ ê<êH¥RøùùaþüùhÕªÌÌÌ`mmÎ;ãí·ßVÉëää¤Ñ1‹š4AÚòå*i%õê!ùÇ¡Ô àYïìYHe2(K_ÿ–ÖÝʬDDDu¥î^8'""""¢g–‘‘zõê…^½z( NîØ±Ceµì¸r ËT'99QQQÂwŸ yV¬X_~ù ‘H°páBµ‹ïhËØØÓ¦MôiÓTÒwíÚ%|vssƒ‹‹‹ÆÇ4½wOå»Q^L<@±‡Gõ;ÿ3¬ER\Œ†C‡VšÍ³o_@L` R‰ˆˆ GV‘ι¸¸àã?†………fcc£Ñ¾%%%X¶l™ÊëÖ'N>+ ÌŸ?_TJ¥R|ûí·: TV¦¸¸XX™Fj0ÏdËóçaÿãe٨Ȓ8ðŒË-ÚCDDô<ãÈJ"""""ÒZPPV­Z…~ýú¡{÷îpssƒ““är9öìÙƒ¼¼ø3fÌÒnܸ¡2÷e~~¾Êö2­[·ÆáÇ…ïßÿ=~þùgµçoÙ²¥ðùøñ㜛wïÞÅñãÇÕîãîî???F‹JŠŠà:g¤2@>l…œAƒ`“ØX˜‡„Àñë¯ñèŸtˆˆˆžW V=GŠŠŠT¾W1’OíÚµÃW_}…ܾ}éééÈÊÊ‚B¡€ƒƒÚµk‡1cÆ`àÀUÇÈÈfffppp@Æ ѽ{wŒ3nnn5*_Mlذ;vì@PP!•JѤI¼üòËxë­·P½«ã¸t)ÌþYù»¨Q#¤}õ€ÒÅuRÖ®Eƒ1c ),„íöíÈáÈ®µ::‰RY—‹‘&RRR —Ë5ÊÛ¬YS¬]›‚Áƒ5ËODDÏ·ˆˆ¼úê«Â÷E‹ÕÉ\DDDôtš3§t!¹uëR4Êïââ+++mO·—#+‰ˆˆˆˆžJ¥±±±øòË/…4©Tоÿ¬MDDDd¬$""""z 6 *iï¾û.š4i¢§UÄ`%ÑsÂÔÔNNNèØ±#&L˜}‰ˆˆˆHƒ•DDDDDÏò+c*#}€ˆˆˆˆˆˆˆˆˆ`°’ˆˆˆˆˆˆˆˆˆ ƒ•DDDDDDDDDd¬$"""""""""ƒÀ`%+‰ˆˆˆˆˆˆˆˆÈ 0XIDDDDDDDDDÁJ""-55k×ÞÁåËô]”{–ꢎºú©K‹ÍÁÚµw’Y'e """""R‡ÁJ""-%%k×F<Á§g©.ꨫŸº´ØX9Ö®ÀéuR""""""u¬$""Ñ\\,0wnkx{××wQjìYª‹¦êºÎÏc‘vŒõ]""zú8;›cîÜVú.†Nvwý £å?.¹s)ˆÏ™™1Úµ³E·nêGÔ)J¦!22ÅÅ%hÒÄ }ú¸ÀÌL*ä‰ÍÁÁƒñèÝÛ:ÙãòåG¸y3ffFèÝÛ[©=vRRNŸNÆãÇEhÞÜ}ú¸"**'O&aðàhÖ̺Һh{NMêcªº~PR¢Ä¥Ki¸}[†zõLЧ <<,ÕëÁ9nÞÌDRR¬¬ŒÑ©“Úµ³Óø|bú =û¬$""ÑÊæ |òÕ^ÿD,Xp©äïÜÙ?ýä ggs!-44フ„„\•¼nnX¿ÞGx•Í¥ha!ņ ‘øûï$!¯T*Á×_wÁÈ‘TޱgO,–, Aaa‰J†õÀÚµhÑÂFVª«‹6çÔ´>UY·î”Êj³,-¥˜6­¹f™ŸPÙõ€‚‚LštiBš±± ¶ÇĉM…´Ü\fÌDPPžÔ»· ~ú©;,,Œ«<Ÿ˜þBDDDDDÏ+‰ˆH'""²ðÞ{Á(.V¢}{{tíê¹\¿ÿ~ˆ720kÖeìÙÓ ˜˜‹)S.!;»;: cG{˜š!<\†  4LŸˆ“'ÂÊêßS[¶DC./Æðá áâb[·d¸x1Ÿ‚Ý`mm¸y3‹߀B¡D·nõÑ¡ƒ23 qüøCüüs¤¨:izNmê£Î?ÞB¡Y´²~}3­ƒ•UÙ²%¹¹¥uvr2Ç­[2¦á«¯n¢eK[!ؘ“S„  4´kg‡Ö­mQ¿¾²³‹qåÊ#œ;—‚Ÿ~ŠÄGµ­ô¸ª/Æy¨*`ò䦨¸1 ×®¥ iFF€Ÿ_4üýÕçÑ£‚*Ï#¦¿ÑóƒÁJ""Ò‰ìì"8;›Ãܼ∿Fê²²Jç&ÌÈ(„B¡Ä?DTz¼'ç1ts³¨§ltaqñ¿Ã³² áêj©´âûÃõ4¨‰øg0¥ IDATsjSuêjÎʪ4lX±ŒŒ$hÐÀòŸ€k©õë£àïŸ3¼ø¢3\]-`jj‰D‚Ý»¨ÌªŽ˜þBDDDDDÏ+‰ˆH'llL””‡ü|E…T\\ÀÖÖ䟼Æ(,,Áôé•ÛÊÀËÖÖÉÉùP(”– 9Z³:ºª!ÌY_±”ÊÒy9mlL…´3g’an.űcýáèh¦’wûö{ÕÎ5)¦¿ÑóƒÁJ""Ò‰^pÄÁƒñX½ú6,h/¤Ëd…Ø´)JÈ={:ã?bàéYÇ7¬p¬;w²„ÅkÄêÜÙ‡'`ãÆ(•WÁ>ÌÅÞ½±Z³:ºª!ÌYyèP¦Nm¦ò*øÖ­ÑHO/€¯¯›&‘H`l,™™j9Ö¯DVV!ììLQ1ý…ˆˆˆˆˆž V‘N¼ývs=š?¿h\½š.]ì!—ãÔ©ddd S'{øø”Î?øÎ;-àïÿ~x[·F£cG{X[› -­QQÙ ËÄ–-=Ñ e5g­hòäf8z4ß.¤¢CûVO,XÓ0"¨!]ÕÇ欴°bøðÓxùew89™ãöm.]JƒD¼ýv3!_çÎ ËÄ«¯žÂ€îJ硼uKVm ×_ˆˆˆˆˆèùÁ`%éD›6¶X³¦;,¸ŽÐÐ „†fÛ:wvÀO?y ¯{xÔÃνðá‡W.Cx¸LåX­[Ûj¨€ŽíñÅñå—7qåÊ#\¹òЩ“=úõsÃêÕ·ai©ÛµYŸº6uj3œ?Ÿ‚ƒã…4cc .l/¬”®®˜†»w³±uk´ï«¯:ã·ßî#!!·Êóˆé/DDDDDôü`°’ˆˆDsq±Àܹ­U‚W0h;zöt¹s)HHÈ…©©Ú··G·n_çmÓÆýÕׯ§#<\†¼<\]-в¥ Z·¶òyzZaîÜÖèܹâ1ʶuè`§’>~|ôéã‚Ó§“!—£yskôéãŠÏ>  ºpŽººhsNMëS×ÔÕ¯ª:ûø8aÆŒæ8>‘‘Y°´4Fß¾®VE·³3ÅáþHBLŒ66¦èÝÛîî–()Q";»°Êóâú =$J¥¦³cQ]III\.×(o³fM±vm Ö,ÿó <\†¶míTFæ…‡Ë0vìYXY™ 0𵫅‘ª9s\ëÖ¥h”ßÅÅVVVÚžn/GVÑ3ç‡"pÿþctíZ¦xð@ŽÓ§“¡P(1q¢•DDDDDDŠÁJ""zæ´oo‡3g’›£’>j”'fÎlYÉ^DDDDDD¤o VÑ3gîÜÖ9Ò×®¥#))ÖÖ¦èÞÝÍ›Ûè»hDDDDDDT+‰ˆè™äáaYaQ""""""2lFú.À`%+‰ˆˆˆˆˆˆˆˆÈ 0XIDDDDDDDDDÁJ"""""""""2 V‘A`°’ˆˆˆˆˆˆˆˆˆ ƒ•DD$ZèÃPLØ5þ‘þ忟~vMÀþ°ýU.M¨+{]ÕÇÐ캾 vMÀ„]_œ¯²­6Úžˆˆˆˆˆž? V‘hYùY¸IÙIåÏ)ÌÁ•ø+HÌJ4¨riB]Ùëª>†$N‡¯¾FpB0®Ä_A‰²De{m´==Œõ]""¢§—£vMØ…¶ ô]”:³Ø1Z9·B^Q"Ó"õ]"""""zFqd%‘HõLëÁ»‘7|°ãÚÜLº 3c3ôkÚ£ÚÒ¸ kSf^&–ŸZŽwz¼ƒæõ›‹Þ_]ÛU†ÁJ""ÒZòãd¼¶í5¤ÊS…´cwŽáï»cíðµÕÛ–ŸZŽ-Á[TÒNEŸÂÖà­Ø†wOàìý³HÏIG‘¢`*5ÅÕø«¢ÛbOèÀÀo3_!}X›aºe(î¥ßS»_c‡ÆØ7qÌŒÍ}¼ú ¨¤ë.¬CÈ•;Çï„R©Ô¨œš Š °øøb¼Ñå •®š¨ªí‰ˆˆˆˆˆªÂ`%imp«ÁB ²Œ§ìÌíÔn«jÁuÛLŒJG?–(K4:·®ç¬Ì)ÌÁ/—“•¦í™¦²-&#0õ©0’açø*×¥º¶'"""""ª ƒ•DD¤µ[É·*¤åæà~ú}8[9W¹¯³•3¢Ó£‘"O‹•‹Ê¶°ä0€‹uiº›"R"/‹GC»†Õ–kh롘ôÂ$|rôLØ5[_ߪ2WcèÃPØYØaû¸í0’ é¹E¹H“§ÁÜD|€ÍÙÊÒ@–'ƒ…jÐòVJÅvÒ%]ÏYY¨(DqI1’²“”¤6ÏÕ„^•"Ö\]ÛU…ÁJ""ÒÚÉ»'±?l?FµÈ+Êâc‹[”‹!m†T¹ï‹M^ÄÝGwñÉ‘O°føØ[Ø‚ヱ1h£4€ˆ”Ì=8«†®‚—£€Ò‘‡GnA §pÖvlÌm0ûÏÙxý××±}Üva…o[s[ÜO¿ÈÔH´vi ÈÌËÄ‚¿ ¿8_«`e¯Æ½ý(‹üá›!ß ži½Ò6Š:‰?Ãþ}<1t=g¥µ™5vMØ¥vÛ‚¿ N¿±~076‡Œ*䩪퉈ˆˆˆˆªÂ`%i­µskÌ;:ߟýÎÖÎxñò9,M,ñNwªÜwº÷tº}c.âÅŸ^„—£ärÄgÅC©TbLÇ1háÔðv··q4â(Â’Â0è—Að°õ€­…­p¾íã¶«=Gߦ}±mÜ6Lß;cwŽÅöqÛѼ~sôoÖÁñÁ¾m8Z:µ<Èx  4°m€œÂÑm1Í{„ÀñÈã8ÿ<šÖoŠÌÜL$d% KÜN¹­2ŠS—t=g¥±‘1¼y«ÝVϬ4Û­a7XšXªÍTÞöDDDDDDU©¿šˆˆè¹0¢ÝÌþ¿ÙÈÌËDXRär4¶oŒíã¶£‘]£*÷u²rÂïoüŽî »#¿8·Sn#NscsÌì1K-òZ™Ya÷»1¬í0H Aœ,aIaÈ+ÊÃð¶ÃÑÚ¹u¥çéêÑ¿Mø %ÊŒß5¡I¡˜Ò} ^ïø:”P""5©p·uÇ–±[„žb¹Z»bÛëÛÐÔ±)r‹r–†äÇɘî=ƒ[ a´åóB]ÛUE¢Ôô½1""ª3)))ËååmÖ¬)Ö®MÁàÁšå×Yž ‘i‘ð´÷„«µ+²ó³ñ ã,M-Ṉ̃Y…Esr sžŽ¶ Ô¾œ&OCBVLMṈ̃Y…Õ±ËË-ÊŽG÷ 5’¢±Cc•Ñ}O–«¼TyjiM,ÑÞ­½?636æ6hâÐžŽ‚â¼àñB¥e¯®>÷ÒïA^(‡§'ì,ì0cß Dàì;gÑÀ¶Aµe-ÛÖØ¡q…ù<õ-,) ¹E¹èêÑUea±mODDDDDO‡9sJÿ&Y·.E£ü...°²²Òöt{¬$"2@†¬$õö‡íGÏp·qP:§æŽk;°ôï¥ðrô‰é'ô\B""""""qê:XÉ9+‰ˆˆtÄ?Òóÿš6 à`é€8Ydy2Àû/¾¯çÒ>+‰ˆˆtdtûѸ›v Y HÈJÔ¯W÷ý¯´zEÏ¥#"""""2| VéÈË-_ÆK-^BjN*’²“`ej/G¯Z[œˆˆˆˆˆèYÃ`%‘I$¸X¹ÜÂ8DDDDDDOõ """""""""ƒÀ`%+‰ˆˆˆˆˆˆˆˆÈ 0XIDDDDDDDDDÁJ"""""""""2 V‘A`°’ˆˆˆˆˆˆˆˆˆ ‚±¾ @DDOŸs÷Ïaêž©XÔ¦t›¢ïâT+,) #¶ÀÜ^s1·×ÜJÓ MûUí‘W”§vÛ—/‰ '¨¤%f%" :§¢OárÜe)аeìôöê]aÿ¼¢<œˆ:£G™‰Ty*ì-ìÑÕ£+fö˜‰6.m*-—¤?fÿ9»&ì‚w#ï Û?>ò1þ ÿpóÛ°4±Ô¨¾bÊ_æjÂU¬»°¡I¡())A[×¶˜Õsz5饳úЭדí£M½Ô{±ý'8>Âàzâu$d%ÀÜØí\ÛaR×Iðmæ«ö8J¥ûnîÞ›{p÷Ñ]˜™ sƒÎ˜î=ÝvS»Om´¶×WÓþ£Nuý¡DY‚ÿ…ÿ¿Ýø 1™1(Q– ‘]#Œî0ã:ƒ±‘ú_à ¥}Äö@|ЦýkëþÒ¦ÿkZþ­Á[±ìÔ²*ÏÿIßO0ÃgÝ>ŸõÕ>bû¶÷K}?ŸÅ”GÛß¡ÔýìÕôžÛ«"æZ骮µùûAU´9¯¦×Dms;å¶Î®«˜{\ì3JWý@›çte´ùý¥L]Üߺ¬ëÓŠÁJ""¢\M¸Šq¿ŽÃû½ßǬž³ô]ÑFí…G94Ê»>p=~¾ô³JZª<Ýù '¢N`ÓèM•þ2stmص¶K1—ð¿[ÿƒ…‰E¥¨ê¢üpþÁyLÛ; Š…Œ){¦`íðµx¥Õ+BzMê ˆ«×“í#¶^•ÑÕqÔ‰ÍŒÅø]ãUÒ Š p1æ".Æ\ÄÂþ 1µÛT•íÅ%Řó¿98uR%= :gïŸEä'‘jÏUí£ÍõÓž¤IøèÈG8tëJZxr8“ÿ1~H$ö3”öKlжýk£}´éÿ5é?êôðì!|ÖåóY_í#–¶÷ `ÏgmË#Æ“e×ö\™ò}°*5¹VšªéuÒÕý)ö¼º¾&ê”o›Û)·«Í¯Éu{×ÅÏ@µ®º|Õä:ÕÅý]ÏܧA‚•ßÿ=uU"¢§J=ðÁ軤¥öní=?ZßÅ¨Ö /à7ÿÐ(o›Ôrú7ïÿ;þø#´òýê™ÖÃð¶Ã1¤õ´pjúõêãAƬ<½\Àç'>Çé™§+ìW¢,Á™{gÐÇ«¤©Ê¶‚â,>¾#Ú@Dj"R"DÕULù‹EøÔÿS(J˜Úm*Þéù¤)v^߉ÕçVã³ãŸ¡OÓ>Âÿvk[_±õR×>bꥫö)£iÿ1’áÅ&/bD»èàÞnÖnHËIÃo7~æ MøîÌwÛa,¬Ì¬„}Ö]X‡“Q'áh鈅ý¢oÓ¾036ÃÕø«Øty“ÚóÔVûˆ½¾bûOyšô‡Û)·qèÖ!˜JM±tÐRôoÞR‰b.`þ_óqîþ9\Œ¹Xa„¡´O1Ï1ýAÛö¯­öÛÿÅ–J·)jGØäåÁgØ6@{·öBº.ŸÏúhŸ2šömïÀpžÏÚ”G uesω탕©ÉµªI]kó÷ƒªˆíÚü\ãɶÑÕu{×äw*mëªísHm¯S]Ýߺ¬ëÓ¬FÁÊÀÀ@ÁÇÇGWå!"z*é»D쟴_ø|êî©*óþÇç?ÒZ;·Æú‘ëÑë§^ˆ—ÅC–'ƒ…Jž‰7‘›¡ö”u×A^ ÇBß…xk÷[µZþ‹1‘˜•ˆn »aaÿ…Bú¬ž³p;å6ŽGÇɨ“Þv8íë+¶^êÚGL½ª¢«ã¨ÓЮ!¶¾¾U%ÍÃÖŸôý!‰!¸÷2î¡£[G@V~ü®øAj$Å–×· ­K[a¿^MzUú‡jmµØë+¶ÿ”§I¸ûè.`t‡ÑÙ~¤>¨å D¥Eaí…µ¸ûèn…v2”öKlжýk«}ÄöÿšôŸòŽDANaÆt£’®Ëç³>ÚG,mïÀpžÏÚ”GŒ'Ë®í3øI•õÁÊÔäZiª¦×IW÷§ØóêêšT¥ªßÁÊ{]ÅÞãµý3¨XW]=‡jrêêþ®ígîӢƯûøø`ïÞ½º( ÑScÌÍ~ø?.Å\Âêó«‘KSK h>õù–BE‰»nìÂþ›ûŸ¥R O{O k; ã;‡…‰…¨|åçƒiéÔ²Úó«ó䜕?]ú «Ï­¬>·Zø à©©+&p·u‡¼@.´wyÑJ¤èãÕG%=2-¿\þ«^]Uí/§¯ÿú:®%\ÃᩇÑÚ¹µVå Žµl o;Ç#ãJÜ•jÿ©®¾bêTÞ>bè¢}tÉDjp´tÒÎÜ;ƒüâ|¼Ôâ%•_ô«S×íSÙõÕ¶ÿhÚê׫_m=œ­œ+¤Jûˆ%¶?hÛþú¸¿Ôõ]=vߨ c#c‚&€öÏg1tÑ>bi{¿ÚóYlyž™‰é{§£PQˆ£7ª"ž,»¶Ïà'UÕÕÕUÛkõ$1uK›ûS?wuuMtÑ6b¯kUÄÜãb¦èªTVFuuÕö:Õåý]]\Œ¹ˆÞ^½áaë!lOôöê#G°îÂ:ÄÉâàbå‚-bÎÿÍQÛuÝ>•]_mú˜þàÓÈÍë7Ǿ›ûÐɽ4#‰.Ä\À–à-p·qW;2ÆPÚ§Œ¦ýGlÐöþ­«ö©®ÿëâù•…ФP¼Ôâ¥jÿs­Œ6ÏçÚP]û”Ñ´ÿhs¿Úó¹¦?ÏÜ;ƒw¾‹¶ °yôf4°m ²ýɲkû .O›>¨í³­&uKW¿ˆ¥‹k¢‹¶Ñæº>IÓ{üIÕ=£Ê«i]µ-£6ש®ïo]ÕõiÇ`%iíØcÕ~þÛó¿p¶rFxr8–œX‚È´Hl ܈÷{¿8u&ønèwèÙ¸'ŒŒ“ƒƒ·ÂÒô߀¢¦ùÄž_³z΂w#oƒ[`G–'ƒ,O tòò£Gq<ò8~þ^nù²NÏ•W”‡÷½k3k,ð]Pa{¼,Ñ¢ñzÇ×UÒw]ß…»îâøôãGÓ9ðª"/”lÍm+l+K{œÿ¸ÊcTW_±õª¬}ÄÒEû”Ûî¥ßÃË›ÿM736ÃßÀ<ßy*ù2r3!C°ïæ>!=!+[ƒ·âƒ Ø7qê™Ö¶ÕuûTu}µé?búƒÔHŠãwâ뀯1ÿ¯ù(Q–Û¶ˆEýUubHíSFÓþ#¶?hÓþuÑ>šö]<Êæ¾Ýa´FåÖöù,–.Ú§Œ¦ýG›ûÅОÏbËSÞö«Û±<`9z5î…µ¯­UynêË®Í3¸B]ªéƒêêªÍµªi]ÅÒæþÔÅÏÝš^]µ6×µŒØ{¼ ­P&Cj@\ÿÛ´¹õqUÖÿkúü)(.ÀÁ[álå¬ÑkÚ>Ÿk[eíˆþˆ¹_ íù¬íÏAE‰ŸŸø»®ïÂ[/¼…Oû ©‘´B>ue׿\žØ>XžØg[Më*VMïOmi{MtÙ65¹®•¯²{¼íŒô]""zzõjÜK–ih×Mš¯áÀ"ßE(Q–Àwƒ/>õÿ»nìÂí”Ûާi>±çZm½¾Í|ádå„z¦õÐÁ­Ö½¶>ž>ÈÊÏBPœnzÊÊÏÂÄÝq#ñüÆú¡[ÃnjóD ©cSxÚ{ iKN,AK§–˜Ði‚NÊ¢)k3k¥eRvAviskµûjR_mꥮ}ôI›þÓÔ±)¢çG#ò“H\š} Ë_YŽ8Y&þ> Y B¾²ö¡Á øtÀ§p·q‡…‰z6î‰o‡~ 8{ÿ¬Ê±ëª}4¹¾bûØþú0Ó÷NG~Q>üÆúáú{×úA(~ÿ+,M,ñîÁw º}qýGlÐæþ­‹öÛÿµyþ€¤?dy2¼Öî5µ¼–W“ç³®iÚ>€¸þ#ö~1´ç³¶?¼ô#v]ß…™=fâóŸWÚÔ•]›gpybú`yÚ<ÛjZW±jzÖô¼b¯‰.ÛFÛëZFÌ=^FÓg ›ºjSÆòÄ^'}ÜߺªëÓŽ#+Ic}ûö>=³gÏÖ_a HVV†ÿwòâ5kÖ S§Nz,‘áiíÒ'ÿs×®ãZÂ5Çcíùµ°·´ÇÃ@K§–¢òšÚœ³òI‰]=º"(6iò4­S&UžŠ)LA¼,[Æn©ô—ÌÇŒ©Ý§ i²<NF4_Ù\í~VuD΋FËêBÙ/uQiQþwùNêÒ/œsî>kï³àµå>{«›ÿêÆ_ØæÍäçç—¹±NUü~®Jꎺù£ÎÏKMûý\Ùÿt©çÂæW7óÚÆ×»q,K_\JÏÆ=Ë]ÝŸ¹Â*’ƒ¥Q÷w[UôU]•ùù¬ŒÊ<“ª›Êi1ÏFž*Ǿìÿ%#ÉêÓ«Y}zµÊ¹V6­x­ýkÀãuŸ¯ºù£.ï6ÞlÙLìXÞØüF±ó–Æ–Ê×·jâøhòû§¢ùêÿãuó_ÓüÉÍÏekèV õ è:°Ä{AÕþ~®ŽñQ7ÔùyQ×ãúý\ L°é•M¼¾éuÞÞò6‹.bp‹Á寮ÎÏ\Šæ ”Ü×Ê>+Mûú(ÿ~PZ_Õ½/höL*;6PùçªîÏxeÿN¥I_5ù{Jiϵ2ÏI]«¯O#)VŠGêÎ;lذãÇ“€¾¾>Í›7gÔ¨Q¸¹•ü/0ÇŽcõêÕܸqGGG&Nœˆ££c™ëBªsŸëׯ3fÌå÷«V­BGG???._¾Œ Ï?ÿ’ÅÇžŽ¡ž!ÿsùöüPå/‚[ÆlaSÈ&N\?AÜ8 õ q²pbXëa¼Ôê%µ¯S÷þ¥£­Ã÷C¿gáá…\J¸Dfv¦fS&v™ˆMv_ÙMä­Hî=¸‡•±ì;ðFÇ7J¹ð(œ¹q†»÷ïÒÇ¥Ïc»gEtwêÎoÞ¿áäGH|yùy´¬ß’I]'áÑÈã±ÅQÇGÝüy·Û»4¬ÛÝ—w•ÅÝûw134£…u ^lõ"›ÿWkW¶½¶ÅÇs<æ8iÒ°3µÃ«™ït}C=C fŽ<Úü150eÛkÛXv|G¢Žw'Ž|ò±1±Á³‘'“ºMÂÊØ ¨™ã£ÉæCŠŽÿãMò_“ü9q[é·Új¨ÊNØ•QÇGÝüQççE]5ñç«$õj×cýèõ¼ðÓvM#õA*M,›”»º?sPù¬Šg¥I_ÕU]?Ð䙦éØTö¹jò;°²ÔíkUÆXÙ礮êìë“L+¿èb_j>|8þþþU¨¹ ï¸;eÊ|}}˼~×®]Œ3†Û·o—xþ£>ÂÇÇGå˜3gÎT9V«V-~øáƯ½ØZ“sæÌaîܹÊï.\ȬYªkæ•›xz=êß ¤¥Ul-gçÆøù%àåõô¯]RàèÕ£ŒÛ<ŽOú|Âë^¯îpžz /`Í™5œžrºÊþûi"ãS6Ÿ²Éø”MƧl2>e{’ÇçIŽ]]ÏR_Õõ,ôµf{ï=k–,I¨ÐõÖÖÖ—aÉüeƒñH„„„ðÒK/) ˆ¯¼ò ;vì`Ù²eÔ«§X°vÑ¢E,]ºTù™¿ÿþ[¥8`À¶nÝÊW_}ÅôéÓ«ì>EMž<™wß}—m۶ѧÏÿ²±`Áeóï¿ÿæã?VžúH­±Bˆ'ÍáÈÃtjØé‰ùËÔã&ãS6Ÿ²Éø”MƧl2>e{’ÇçIŽ]]ÏR_Õõ,ôU&¯‹GÂÇLJ¬,ÅNU½zõbíÚµÊsúúúŒ§XëãË/¿dÒ¤Ihii±lÙ2宾 4`ûöíèéé ­­Í|P%÷)jâĉ|ñÅ4oÞœ¦M›••Exx8:uR‰ÍÁÁ­[·¢££X[BWW—÷Þ{OÓ¡Bˆï·þ¨îj4Ÿ²Éø”MƧl2>e“ñ)Û“<>Orìêz–úª®gil¤¯¢0)VŠGâøñãʯ£¢¢T^‹NMMU~}óæM¢¢¢pvvæìÙ³Êã½{÷V*ž{î¹*»OQþ·æƒ••ê+·nÝP‰­gÏžÊB% 2S!„B!„BhNŠ•â‘ÈÈÈP~}ýúu®_¿^êµ)))dfþ·‘…‰‰‰Ê5E¿¯Ì}в´´T~­««ú#Q0›²plE×](-6!Ä£ÓÝ©{µìÐ-„B!„âÑ’b¥x$ILL`èСe¾&ݬY3ìí퉎ŽPþoþù§Ê (cŠŠŠR9)!„B!„Bˆª ìˆGâå—_V~ˆ©©)={öTþiß¾=7oÞäôéÓÔ©S€Aƒ)?sàÀ‚ƒƒ¸ÿ>_}õU•ÝG…_ÿã?øûï¿xðà .Ô¸]!„B!„Bñ)V ¨ þŒ3€wß}—=zœœLÛ¶mquu¥sçÎØÛÛcffƨQ£8xð ²ÍwÞy‡&Mš““C·nÝhÓ¦ 6Ty »0MwÞy‡Æ››K=”±Ý»w¯Rm !„B!„B)V ܸqƒÀÀÀbN:(vâ>pàŸþ9¶¶¶„……qòäIâââ011á•W^áÃ?T¶Y»vm:DïÞ½ÈÎÎ&$$„^½zñý÷ß«ÜßÈÈHãûhÂÄĄÇ+7ðÉÉÉ!$$„ž={²nݺJµ-„B!„B!dÍJQaGŽ)÷š‚""@­Zµ˜={6³gÏ&&&†øøxôõõ±³³ÃÊÊ --­bŸoР‡âúõëܸqlmm P^£¥¥…“““Æ÷iذ¡J_5j¤üÚÐÐPå\«V­Š}®hlÙÙÙ*Ÿqww/wœ„B!„B!DqR¬V0«P888”{ݪU«hÔ¨={ö¤aÆDDDðÉ'Ÿ(¯ùßÿþG½zõ4¾‘‘Q©}ÑÑÑ)·Ÿ 6TÆ §§W©±B!„B!„ R¬5J`` ãÆÃÌÌŒÆsïÞ=®^½JNNVVVÅ^ B!„B!„OY³RÔ(ãÇgÀ€¤¦¦ræÌ"""ÈÉÉÁÄÄ„qãÆqþüy\\\ª;L!D®$^Á/ÈÈ[‘Êc‰i‰øùqòúÉjŒ¬æÉËÏãÜs,?¾¿ ?bnÇTwHB!„BQ­df¥¨Q<<<سgééé\½z•´´4,,,pvvF[[jëB< .'\Æ/È&–Mp®ç @½ü‚ü˜ì1™N ;UK\ñ©ñ\ ‹C:Øw¨– ›÷Ç…¸»q*mÙÔ±aÙÐe´¬ßRyì|üy>Øñ×ï\W¹¶iVXÅ©ØS\àDÌ NÄœP^S^±rIÐòɯÈ`¤gÄøNã+t­B!„Bˆâ¤X)„Bmþ½À§û>%7/—öhmÓš”Œö‡ïçû¿¿W«­•Á+ÉÈÊàùæÏÓЬ!õMêsãî ^ßü:©÷Sq³uÃÍÆZºµ¸xó"'bNðfÀ›üñæësýÎuÆnKÚƒ4ìLíèêØSS¢’£8võñ©ñt´ïȰÖø@g‡Ît´ïXáø–þ½Te&fYêÕ®'ÅJ!„B!„¨)V !„PÛêÓ«ÉÍËe²Çd•™‰“=&3xÕ`µÚÊÌÎdÇë;p²pR›³©÷S™×o£ÛŽ.vïùç³ãò¼Ûx³üørÒ¤1¤Åz-DOGOymÜÝ8t´t°©cƒ–––r7ðI]'U8¾w»¾«ÖÌJ!„B!„š“b¥Bµ;‹¡ž!“º©ýìÍìá>‚'WT¸­!-†¨*þŽù-R2RøþïïÉÏÏ'?_Q0LÏN ôßPh£x­[[K›ÏŸû\¥P Š×À+ë=÷*݆B!„BˆŠ©T±299™¸¸8ÞÿýªŠGDDD`ccƒ‰‰Iu‡"ž!!!4hPùBØ“êîý»Ô7©Ž–N±söföjµåXױر”Œrósù.è»R?wïÁ=îÜ¿ƒ•±µkÕVë¾%kV !„B!ÄãS©bå?ÿüC\\¾¾¾UB<1233«;„jcj`ÊÍ{7ÉÍÏ-V°Œ½«V[:ÚÅ žu ꕛśÞ,õsÎõœ030ãFê Ò³ÒIÁRÖ¬B!„BˆÇ§RÅÊÎ;àïï_%Á¡)---¦NÊâÅ‹«;ñŒ>|xu‡P­Ú6hËŽK;øá¯T^“޽ËæÍ•n¿«CW6…l¡®CZ )v>,1 }ÅLê.]ز‰yÌã«_¡«ýßÿµ^³R_G€;™wÔŠEÖ¬B!„BˆÇGÖ¬B¡¶±íDzûÊn¾ úŽ¿cþVÙ Ü@Ï ÒíOì:‘}áû˜¶s«‚Wáfㆉ IiIDÜŠ ôßPV¾¼;S;&t™À®+»Øº•S×OÑÅ¡ ¦†¦\M¾ÊÑ«Gùåå_°©cƒ½™=ÚZÚø_ð''/‡º†uT6*É£Z³rø~“ÂÅîêÛ/mç|üy¼šy)g !„B!ijBŠ•B!ÔÖÚ¦5óûÏgÎþ9Ç €›­ƒ›拃_Tªý¦ X;j-ÓvNãâÍ‹\¼yQ弫•+v¦v44kÈÊ—WòÁΈ»‡ÿ•vlëØ`fhÆÐVC ¸ÀÚ3k•×”W¬|TD`û¥í*Ç ßIJ‰+…B!„Ï)V !„ÐÈðÖÃñpôàHÔî=¸‡s=gz6îIDR“=&ãlñ_¡ÍÚĚɓéÔ°“ò˜C]&{L¦]›ÛonÝœ=oìáì³\¼y‘ÌìLê›Ô§©eS\­]U®m× ‡&âxÌqÂÃÑÑÖÁÉ F*kj.°€ÁÍs9á2ÙU<"êéפuJ=_xü„B!„âY!ÅJ!„³©cƒwo•c®V®¸Z©­Œ­ŠÍ`,(V–EKK‹v ÚÑ®A»rcÑÕÖų‘'ž<Ël¯«cWº:v-·½Gí¹¦Ïñ\Óçª; !„B!„¨Q´«;!„B!„B!„)V !„B!„B!j)VÖ0_ý5ZZZüùçŸ}~æÌ™hiiqþüùª Lˆ_ ZZ aŽ2s¦âó’£B!„B!„(BŠ•B!„B!„BˆAŠ•5ÌôéÓÉÏϧgÏžÕŠ%›>òóArT!„B!„ULŠ•B!„B!„Bˆá™)V^Ëñ×_¥eË–àààÀ¼yóÈËËS¹þ•W^AKK‹[·nk«àÜ;wJlÙ²e4kÖ CCCZ·nÍÎ;HOOgÊ”)ØÚÚb``€§§'!!!*m—¶fell,o¾ù&öööÔªU‹úõëãííMXXX©}þþûïiÚ´)8991þ|rrrT®¹uë}ôMš4¡víÚÔ¯_ŸÞ½{³eËòóó+4¶Ï¼¤$°·‡zõàúuÕsG‚®.xx@‘±/¦ðZŽ¿þ -[‚88À¼yP$GyåÅõ%ä¨ò\¡UiÙ2hÖ ¡ukx˜£¤§Ã”)`k«¸·§'ÉÑR׬Œ…7ßTŒE­ZP¿>x{C9Ê÷ßCÓ¦Š{99ÁüùÅÇéÖ-øè#hÒj×V´Û»7lÙ¢˜á)„B!„Bˆ§†nuð¸-Y²„•+W*¿¿~ý:sçÎ%//yóæUºý¯¿þšß~ûMù}hh(C‡åèÑ£|øá‡üõ×_ÊsAAAxyy…A©mFGGÓ¹sg•Çذa»víâðáôoß^å3>>>lܸQ¥Ù³gÎÚµk•ǽ¼¼V~Ÿ‘‘ABBGŽ!44”–-[j6ÏKKð÷‡îÝaøp8vLQ¬û÷_1BQÄܼYQ´¬ˆ%K PŽrý:Ì«(VVAŽòõ×P(G …¡C…Õ?„B9JPxyAT”¢ XšèhèÜ å( °aìÚ‡C‘ÅÇ å(ÑÑ0{6„‡C¡ÅË å(жQÄ.9*„B!„B<5ž™™•Ö¯_ŸŸñññ¤¦¦²nÝ:tuuYºti•Ì$ܶm?þø#‰‰‰$''3kÖ,rrr8p 8p€ÔÔT®^½JŸ>}ˆgÆ e¶9eÊéÞ½;§OŸ&==K—.1tèPîݻǛo¾Yì3[¶lá›o¾!>>ž””Ö¯_¹¹9ëÖ­ãСCÄÇÇŒ««+'Ož$==ääd6lÚÚÏ\zh®sgøæ8u Þ_1;päHÅ¬Ë 3+jýzðóƒøxHM…uë…Î¥K«f&á¶mðãŠÂbr2Ìš¥ˆwà@EðÀÅ}¯^…>}q”“£L™¢h¯{w8}Z1CóÒ%EôÞ=Ōˢ¶lQŒY|<¤¤(úmn®èïÃ%>^Q¨tu…“'í&'C` ’£B!„B!ÄSå™›YùÙgŸñÞ{ï)¿=z4¿ÿþ;ÄÆÆÒ°aÃJµ?gÎÞzë-å÷óçÏgÅŠ$%%qðàAÚ¶m €‰‰ .¤C‡\¾|¹ÔöÒÓÓÙ»w/VVVìܹ“:uêмys6mÚ„»»;çÏŸ'""‚&Mš(?7uêT>øàå÷£F"77—W_}•€€úô郅…†††têÔ‰Ž;`ddD÷îÝéÞ½{¥Æá™ôÞ{pü8üð\¼¨˜©¸`ôê¥^;Ÿ}¦h«ÀèÑðûï xÕº’9Êœ9P(G™?V¬PV„‡9Љ ,\:@9Jz:ìÝ VVŠ×Éæ(͛æMàî®xõ<"Bñ*w©S¡PŽ2jäæÂ«¯*úÚ§XX(^UïÔ æ(FFŠ¢¨ä¨B!„BñÔyæ¦%•´Ë¶““÷îÝ«tûE‹|ÚÚÚØÛÛS»vme¡²€ƒƒ x¥»4×®]#''OOOe¡²€®®.Ï=÷‘‘‘*ç ŽÖ¿•kõõõY±b[·n¥}ûöLŸ>5kÖS‘®Š’üü³bÉ£G¯/Ϙ¡~%í²ý0G©‚-VäÓÖV¬3Y»ö…Ês”2r”k×33==ÿ+TÐÕ…‚\,’£”£<ÌQåµúúŠBêÖ­Š×ȧO‡5k@rT!„B!„x*=sÅJCCÃbÇ´´´T^/xºèÆ;™™™¥¶_ÒÚ“ZZZ¥/í¥][mnËÛÛ›¸¸8fÏž¡¡!›7o¦yóæ 4ˆÔÔÔJßó™ qqНÿùG³âb 9JÁ3+üxÁ+Ð%åO9ZâÚ“ZZ¥/í¥][mnËÛ[1¦³g+ÆfófŬÍAƒ¯«‹jõGÄLß5W6¼‚÷oÞÜÏ¹ÏÆóñþÍ›˜Ûÿ•¯&_Åû7o¶„n©Æh@H|Þ¿ys>þ|™×½zïß¼9{ê1E¦PÑøždw2ïðÃß?0!`o¼ÅwAß‘”–TeíG$E°üørÆn‹÷oބć”ÿ!!„B!jˆgî5ðŠ²²²Ó| Š hNž<ùØâpttDWW—cÇŽ‘ššª2»277—àìì¬ò¹ýû÷Ó§O•c{÷î qãÆ*ÇMLL2dC† ›µnÝšùóç³hÑ¢*ïÓSëßëTZZ*fT¾ÿ>¼þºbmÆG¡ /££ÿûÐ<ÆÅÑQ1ƒòØ1Eñ°ðìÊÜ\ŘEr”ýû¯zö0G)’£˜˜À!Š? ØX§ukÅ+ì’£ÕfSÈ&>Ùû‰Ê±¼ü#ÝGò›÷o8Ôu¨îE G¦SÃNÔ®U»ºC)QM¯²¦ïœNbZ"í´cé‹KY6tž<¹“y‡©;¦’—_™ìeHLOÄ¥ž owy›ž{VMÐB!„B}úàëëËÇüÈï_x]I'''NŸ>ͼyóØ·o ˜››Ó»woæÌ™C³fÍî!] IDATŠ}~æÌ™tíÚ•¥K—ƒãÆcæÌ™Êk:vìÈž={Xµj§OŸ&>>žzõêÑ®];¦L™BïÞ½y?Ÿ Û¶)fO ~øßq==ð÷WlZ3b„bÆ¡µuÕÝ×À@ñ*õ´iŠB©®®¢Èçë !GUÖ•trRfç̓}û³,ÍÍ¡woÅîã%ä(3gB×®°t©bÃ;;7Nq¼@ÇŽŠBåªUŠöãã¡^=EAtÊEûâ±[{f-{Ãö’ú •¬ÛYxÿVrÑxׂ Í®ŒN‰fKè"’"ÈÉË¡‘y#†µ†«õEøø|Žø0¦ý:7ìÌš3k¸ðïôuõéÕ¸/µz©ØÚ¾Ùì¼¼“ó7Îóï½1®eL»6 k= SÓÛng׎_ÏüJXb¦¦Œj3Šö Úp)áÎmàÆÝ40kÀßÀ±®£Fý©.‡#ÐÛYõgg_ø>ö…í#õA*.õ\Ê-–×ÇóñçYtd/¶z‘á­‡û|è¿¡,8¼€Z¾ÀËn/—Ÿ:Ï]Ý{VÇsÿëÚ_¼ìö²²P  £¥Ã+m_aÖÞY½zTY¬Ô$ï •B!„B<©´ò ï*£¦áÃÿ1àïï_e=ë>ûì3¾øâ Nœ8A§Nª;œ'†––S§NeñâÅÕÊÓï³Ïà‹/àÄ ÅŒÑgÔ£þý—@ZZZ…®uvnŒŸ_^^»¾²æœÏêӫ˽n縸Z) 5¡ÿ†òâ¯/2Ùc2“=&+¯Yn=óÌ#7?Wå³:Ú:|ÙÿK†µV, pôêQÆmÇÛ]Þf×å]ÄÝS¹þ•¶¯0·ß\å÷w2ïÐcYÒ³Ò‹ÅeelÅæW7ÓÀ´JÛovz“—v– ÇÏÃ~&=+©Û§ªÄij`ʾñû°4¶T»?eyuëäæå–{€™¡? ý¡B׌úm©÷SÙýÆnå±»gÛøÈÌÐŒ‘î#Y~|9K_\Jÿ¦ý•ç*ÒǬÜ,º.튙',Ǭ=³ð¿àÏÎ×wªóŠÆ§ÎsW÷žÕñÜ?Øù;.í`í¨µtqè¢rmDR^¿xÑÝ©;+_^©vÿK2÷À\Ö]ÇÊ—WÒÝ©{©× !„BQ–÷ÞSL¼Z²$¡œ+¬­­166Öôvþ2³²¹qã;wîëQãܸsÉÑgÖ«í^¥o“¾Œ÷m[>îs•óÏodçåå¶söÆY昋Q-#¼ÛxãfãF-Z\¼y‘U§W1{ÿl:;tVVœ\K=¾ðÖ&Ö\ºy‰þþßÎýÆ[ß¶Ž-Ù¹ÙèéèñFÇ7hnÝ # R¤r2æ$ÎoÀ/ÈEU7gZ¼Šõ[0­Ç4êÖåhôQÖžYËç|NrF2ƒšâ.ÿC[K›5gÖpòúI~ þ…™½fjÜŸ’œŠ=Uábe½Úõ*t( ¸goœeBç Êc{Âö°%t †z†Œë07[7R2RXsf +N®(Ö†:}|¡Å ¬>½šàØ`:ØwP¶‘™Éî+»ieÓJ¥PYR|*òÜkéÔRûžðxŸûíŒÛXÖ¶¤¨‚‘w2ïhÔ!„B!žR¬¬!Þ~ûm~üñG<==±®Ê×……¨ o¿ sOϪ}¥]þ¼²hSר.{ߨËx5äôd²s³¨¥S‹Ó±§‹ÅÓØ¢1GoDOGOGxb8§bO›ÁÖÅ¡ ]–váüó•êOIÖŽZKE_z(ˆµ"¯’›—K—>Êcþ!Š™Á¾C|éãüßñÁ-3ð—D§D«´¡NG¸`õéÕlÙ¬R8ÜuyÙÅ^Õ.)¾}îêÞïs/˜y©£­S,Ž‚cyªIÿ…B!„xH±²177§{÷î,[¶¬ºC¢dææÐ½;HŽŠ*òo:Z:øó ??Ÿ|EºœÜ¢’£T>Ó¿ieÁ¦@Ëú-”³Ö’Ò’õÛ¨b¯Í¸÷à^±cýšö+VüsµvåTì)ºT9^Ç ¶ul¹yïf¥úS’Žö˽F‡þ9D½Úõh]¿µòXxR8f†f*…JPt7ÌwAß©W§.õ\p³qc_ø>>ëû&ú&l¾°C=C7\n|*úÜÕ½'<Þçn¨kPâòÇJÚ½¢ýB!„âi ÅÊbùòå,_¾¼ºÃ¢tË—+þQE2²2ÈÍÏåïk—zÍýìû*ßÞ§€ž¶¢Ð”—Ÿ§<æ÷—qwãèâÐ…Á-cmlM-Zhii1sÏÌ‹•uôë;¦«­[ê}uµuÉÈʨTJò(Ö¬ÌÉËáhôQ4 ²!Ëýœû˜˜•ÚvQêöq„û>Þû1;/ïÄ»7QÉQœ»qŽ¡­†b¬ÿß6¥ÅW ¢Ï]{xœÏÝÎÔ€k·¯)‹ f±\S˜:ýB!„âI'ÅJ!„ÕÂ¦Ž Y¹YüøÒ%¾ `nd®QÛ!ñ!˜šñëÈ_ÑÖÒVÏÈÎ )- =ƒ2>­™ªêÏ£X³òäõ“¤=H+6ƒÒÊØŠèähîdÞ)Vœ ½Z¬uû8¨ù æœÿ¼Ûx³9d3@±×±K‹O½gUQgLZÛ(f‰< ×A*×ì„ÞʦÕ#‰S!„Bˆ'…+…BT‹~MúáäǾð}Lë1Meöؽ÷Øvqí´×¨mSS®&_%<1\¹¡ÊíÌÛÌÚ3‹û9÷I±²ªúó(Ö¬<y}]}º9vS9îÙÈ“È[‘ÌÜ3“¯}­œy¸7l/Û/m/ÖŽº}4Ò3b ë@ü/øúo(¿_üFæTÖ“,+>MTôžUE1éåÜ C=Cv]Ù…—«—²8ÌúsëÑÓÑSÙy]!„Bˆg‘+…BT‹ñÆóÇ?°þÜz6‡lÆÑÜ}’Ò’ø÷Þ¿äæå²ò啵ÝǹÁ±Á Y=„¦–MÅk¶†z†Ø™Ú•¸f`eUUÅš•‡þ9D‡.ê‹ykèVþs®K»âdáDJF ñ©ñ4·nÎå„ËÅ®W·#ÜGàÁŸé»¦“œ‘Ìߨp|šªÈ=«Š:cbj`ÊdÉøñaBÀ\ê¹ «­KXRùùù¼Óõê›Ô¯T,?®XÆcj÷©l]T!„B!ª‚vù—!„UÏHψ ÞÝv4z:zDÞŠäÜsÄÝÃDß„±íÇÒ¢~ Ú~½ãëŒpA>ù\I¼Â•Ä+ØšÚ²òå•Ô5¬[Å=Qx”ý©Œˆ¤âîÆÑÛ¹w±sÖÆÖ¬µ—z.ddgpñæEÓy½Ãë¼ÚöÕb×kÒGw[wšX6!*9 -†¶Záø4UÞ=«’ºcòf§7™Þc:µkÕæŸ[ÿp%ñ ú:úLì2‘©žS+OTr§bOq*ö‰i‰€b#¥‚c))•¾‡B!„’V~Eß5+ÁðáŠõŸüýý«, !4¡¥¥ÅÔ©SY¼xqu‡"žú÷_BBiiiºÖÙ¹1~~ xyUìúªr:î4†z†´°V-NÅÞ‰%>5žV6­0Ò3;_¼y;S;˜6(ÖVvn6QÉQdfgRߤ>Ö&Ö*kMÞɼCxR8uŠÍ<+8çh±u±s1·c¨cP‡Fæ¸xó"rЮA»rÛ¾~ç:ÿ¦þKk›ÖÅfý]ø÷¹y¹´±k£v§åÇ—óuà×üõî_ÅÆ§°¨ä(Ò²Òp0sÀÌÐŒ¤´$®¦\Å¥žK‰kmªÓÇk·¯‘p/C=C庉OÓç^Þ=Ëkûq<÷û9÷‰JŽ"//Æõ+V*Ûÿ¨ä(n¥ß*ñž@©ÏS!„BˆÒ¼÷žâï›K–$TèzkkkŒ‹onYAþR¬O)VŠÇMŠ•âI1|íp²r²Øþzñ5(k‚šŸB!„ϺÇ]¬¬Ôš•'Nœ ..--­Ê4#D•ðõõÅ××·ºÃÏ ŠÏ¢¦ù¨çGXYTw¥ªéñ !„B!¯J+]\\044dàÀUñõõ¥E‹ôíÛ·ºCψݻwK±R<Õ.ØU¥¦Ç'„B!„x¼*U¬´°°ÀÂÂB^½ÕÎ××—¾}ûJ.ŠÇ&..®ºCB!„B!ž:²¸B!„B!„¢Fb¥B!„B!„¢Fb¥B!„B!„¢Fb¥B!„B!„¢Fb¥B!„B!„¢Fbå#²iÓ&zöìÉùóç«;”J{šúò¬Ø¼‰žÿדó±Oþ3{šú"„B!„Bˆ²I±ò‰%00;wîTw(²víZzöìIhhh±sOZ_ĦÄÈŒ'ã™­=¾–žÿדÐ%äßÖ!„B!„BhN·ºxZ1‚öíÛãîî^Ý¡THLL ܽ{·Ø¹'­/FtA{Çö¸Û?Ï,&%†Àˆ@îf–OX_„B!„B¡9)V>"öööØÛÛWwUâiê˳ÂÞÜ{ó§ã™=M}âIúo(/þú"“=&3Ùcru‡#„B!„xÆÔˆbeff&Ë–-#00üü|<==™4i~~~ìÛ·íÛ·cjjªò™Ã‡@tt4zzz´oßž &`mm­¼æ§Ÿ~býúõ¬X±‚ììl¾ÿþ{"##±¶¶fìØ±ôêÕ«ÄxÔm;33“Ÿ~ú‰ˆˆ^xá&NœÈ¦M›X¶l¾¾¾Åf$²eË¢¢¢022¢mÛ¶L˜0ssórÇ*77—7²oß>077§wïÞŒ3ƒã»wïË—/'&&[[[Ƈ‡‡‡òÚiÓ¦±uëVÞ{ï=åX»»»ãëë[j_4‰Eçð¸dfg²ìÏe†’O>ž.žLê5 ¿C~컸íïnÇÔ°Hþ…&àLÑ·¢ÑÓÑ£½C{&ô˜€uB9rô'ÖŸ\ÏŠ×V›Í÷G¾'21ë:ÖŒí:–^ÍJÉ?5ÛÎÌÎä§£?‘Á î/0±çD6obÙŸËðé[lFb`D [Îl!*) £ZF´mØ– =&`^»ù——ËÆà컸„ÔÌk›Ó»YoÆtƒ^¡g^(¾{÷ï±Ì¿ÖyÌÍËe쪱¬;Q$ÿΰpßBR|SÐÑ.#ÿ¤Óß·?A‘Ežyð&–^ÊÁi±2±R‰Ïÿ´?swÎ%+§PþýµŠ%£–ðnï‡ùµäk%n¢SR_4‰¥¢ÏAˆg]+›VDÎŒ¬î0„B!„Ϩj/VΚ5‹ìííùè£prr"<<Ÿ g‹-bÍš58991qâD\]]yðààçŸÆÛۛ˗/£­ýßÞA3fÌ`РA 6 cccvìØÁŠ+˜5k–J‘L“¶?ûì3 ÀË/¿Œ]™¯KÏŸ?ŸuëÖaddÄ;ï¼CÇŽÑÑÑáÌ™3,_¾œüüü2Çêã?&((KKKf̘««+×®]ã믿&44”·ß~[9C²Àœ9sèß¿?£FÂÀÀ€}ûöñóÏ?óþûïÓ·o_š6mÊ7ß|ƒŸŸ+W®ÄÏÏV­Z`ffV¥±Tô9zî#œ,¿ŽÏ>Ÿ g‹ö-bÍñ58Y:1±ÇD\m\yó€—ðóÑŸñþٛ˟_F[«Pþm™Á ÖƒÖnÆúÆìÙÁŠc+˜µu–J‘L“¶?ÛþZàå/cgfWæëÒówÏg݉uÕ2â^ïÐѱ#:Ú:œ‰9ÃòÀåäSNþmû˜ È ,M,™Ñ®6®\K¾Æ×û¿&ôF(o¯}›­ïÉ¿sèß²?£:ŽÂ@Ï€}÷ñó±ŸyÓûômÞ—¦õ›òÍðoð;ìÇÊ •øò£•ÝÃü3*#ÿ4ˆ¥¢ÏA!„B!„Õ§Z‹•999¬Y³Ž?Ž^^^ 4HY4+ŸŸÏ·ß~Kýúõ9}ú4uëÖUž:t(uëÖeáÂ…œ8q‚®]»*ϽúꫬX±BùýóÏ?Ï?ÿüC`` ‰‰‰XYYiÜö!Cð÷÷/·¯yyyøùù¡§§ÇŸþI‡TÚŸ1cºº¥?ŽœœV®\‰AAA4iÒDynĈ4kÖŒßÿ„„•×Õ ¤R4|ñű±±aÞ¼y¬^½š àææF£FhÓ¦Ê+âUKEžÃ㔓—Úãk010áø¬ãØ™=Ì¿V^ rD«9%äßßRß´>§?=M]£B9Òv(uê²pïBN\=Aׯ…ò¯ó«¬x­P¿ÝžçŸ„Œ$ñ^"V&V·=Ä}þoW ÿòóð;䇞Ž~ø' å_Û¡Ìè?]í2ò//‡•A+1Ð3 hFM¬ =óö#h6»¿Ÿÿ„Ô•×Õµ¤R4|±Í‹Ø˜Ú0oçéó -ê·`ñÑÅ\ºy ' '~û;÷sîóÓ‰ŸØ}e7±wb©¥[‹Võ[ñVç·ðl䩼çæÍ|¼÷c•¶‹ž[6t}›ô-vߦ–MY|l1W®`Tˈÿ¹üé=¦cnTþ…•×—üü|.°ùÂfÂÃÉÍÏ¥‘y#Fºdt›Ñhiii[EÇ©¬û6éË⣋X|t±òk€È™‘%®YY¸½6vmXtd¡7CÑ×Õ§Wã^|ÒçÌ UÿAüB!„BˆÕZ¬¼zõ*ééé¼ôÒKÊBeºuëÆáǕǢ££IJJÂÒÒR9/??_9#1)) €°°0•‚¢··w±{·mÛ–ÀÀ@’““±²²Ò¸í1cÆT¸¯)))ôíÛW¥PY N:å~>--¨,,,6lË—/çÂ… ôíÛWynܸqÅÚ7nóæÍãÂ… нªb©Èsxœ®&]%ýA:/µ}IY¨,àbåB7çn+”·¢Iº—„¥‰%×Ê‘‡3“î=Ì‘ÃT ŠÞJè·C[#INKÆÊÄJã¶Çt©`þ%]%%=…¾Íûª* Ô1,'ÿ’®’ö -¨,Œ-ÖnË—s!î}›Ê?òÏcóvÎãBœ†ù§a,y¢âä<à•õ¯p%ñŠòØÅ›™°e^ͼJýÜÙgYxx!¹ù¹€¢ž›Ík_ãLÜåuY¹Y9Ήë'˜×oÞmŠ??uœ½q–…G’›§¸ïýœûlÙÌ™¸3l» #=#ÍÚ,Ò—üü|¦ïšÎöKÛU® K cî¹\I¸Â—¾Ô(6MÆ©¤+#ôf(ÿ÷çÿ‘•«XÚ!3;“m·w7Ž £7(¯Ó4?„B!„¢Z‹•™™™@鯞ݖ–( ‡‡*µÝÂk"%n\S«V-@±ŽdeÚnРA©×VÐ×zõêUèú¢îß¿”Ü—ÂÇ ®+PÒØ\[Ó㊥"ÏáqÊÌz˜¥¼n\xv#@Úƒ‡9r/‰CWÊÈ‘¬"ùWÂÆ5µtöûaqBÓ¶Ô­`þe?Ì?c ó/ûá3/ež‚ã×(il ®-ˆéqÅR‘ç *nÍ™5\I¼‚“…óúÍÃÍÖ”ŒVžZÉš3kJýÜÞ°½ wÎ[Þ¢¡YCt´uX¼’3qg°­cËÜ~séhß‘{îáÁŸ¥-åËC_Ò×¥/–Æ–Ç»7l//µz‰wº¾ƒ•±o^d'…óãñy¿ûûµY´/¿_üí—¶ÓÔ²)õú77ôuõ¹xó"ŸüœM!›ÖzmìÚ¨ÛÚ³kÕ§’bèÔ°“Fì츴ï6Þ¼Ññ ¬M¬¹tóïïxŸàØ`®$\ÁÕÚÐEvn6z:jæŸéÃgs†¼ü<•u3‚¯=|æfEò/æl±×ºO_;­ŒIÙÔÈ? cUk_ø>´´´øþÅïq©§ÈK#S#>ëûWS®TâçÜmÝùªÿW*¹»çÊü^ðÃÝV±ã»±¾1“=&“˜–ÈÆó9yˆ‘î#5Ž×ÍÖ…^ •÷í`ßå/-§ïO}Ù¾O£beI}  @G[‡U#VaeüßlÝöXüübú¯èÏÁª++›&ãTRŒ•áÑȃϟû\ù}»íx«ó[Ì=0—°¤0e±RÓüB!„Bíò/yt,--qssãìÙ³,X°€¼<Åëi999|òÉ'DFªîFjaaA=8{ö,tíÚ•ž={*ÿ888°ÿ~^'~”mƒbV¡§§'QQQŒ?ž””å¹´´4¾üòKeÿKbiiIÛ¶m cæÌ™ÊÒóóóñóóã?þ ~ýú¸¹¹©|nþüùÊâ$@LL “'+Ö ëׯŸò¸±±1QQQåöEÓXjKKÜìÝ8{ý, ö,P¾™“—Ã'Û>!2±Hþ[УIÎÆœ%"!‚®»Ò³iOå ö_Ú¯ÑëIJmPÌ*ôtñ$*)Šñ¿Ž'%½Pþ=HãËÝ_–ùz¨¥‰%m¶%ìf3·ÌTŸß!?þ¸üõMëãf_$ÿvÏW'b’c˜¼áaþ5/”ó/©ù§a,¢jÅÜŽÁÚØZYˆ*¬ðÚ‰EusìV¬ps;3C3e®°Þν•×T†‡£G±ûÚ›ÙÓȼ‘Æm—Ô—’þ!7/ÏÆ÷ /DߊævÆmZÙµ"ôF¨òµI€%£–àáãÁ„µ˜î?'K' t ¸–|„Ô‡9òüµg.>ê¶|GøâáãÁšãkØ|z3-££­CØÍ0²r²˜1`F±YŠ…-¶ˆ~‹ûñûÿ_‚~¡±ec®§\Wƶè¥EÅ6éiP·¾ê„‹µ úºúÊ{¹Û»3¢C¡ü³˜k'ðÑ0ªe„»½;¾#KÉ? bU¯´"XY3d‹n¢l‹ŠÔ ®+©¸~?ç~±cRI})ˆ«¬¥ 욨è8(m¼5¥¯«_ìXi3£5É!„B!„¨Ö™• Øú×_ÅÜÜœÄÄD‚ƒƒÉËËcݺuÊ×” fý´lÙ’“'OâååEzz:!!!œ6ãÝœ»q?û>—â/q!îz|:ðSt´ÊÉ?×>ì|o'ÎVΤ¤§|-˜„ÔlÍlYûÆZ^íRBþüŽ!îC¿Î…¸ dådÑǵ{§ìUé‹§‹'c»Ž%;7›àkÁFr>¶ŒüÓ Qµê:póÞM"oE;tM½W|ê:p;ó6!ñ!ÅÎýõ§ò‹ÚÄÞ‰-víñ˜ã¥Þ#èZP±"YìX¢S¢•mW…Æ1Ô3äÜû爜Y⟥/.Õ(6uÆ©<ÿ0ñ¨Ök­ÊüB!„B<[jÄÔ£1cÆ0räH.^¼@óæÍÉËËcêÔ©8::›ÉØ´iSvïÞÍÝ»w‰ŒŒ$//GGG,-U7_xë­·èß¿?ÎÎÎÅîYp®Q£FUÞ6Àˆ#hß¾=îëµmÛ–   ˆŽŽÆÔÔggç ÏÖôòòÂËË‹ÈÈH077§Y³f¥Î`111aëܸ֭qƒëׯcggGÆ ‹]§¥¥ÅªU«ðññ!**Š(7ç)­/E“çð8é2†‘Fr1þaþÙ4'/?©§âháXl&cÓúMÙ=y7w3ï™I^~ŽŽXšÉ‘îoÑ¿eœ­Jè÷ÃsêÉ¿*h`D‡´wl»}‘ükØ– A$¤&}+SCSœ­œ+<[Ó«•^­¼ˆLŒ$!5óÚæ4«_Fþ˜°õ­Ü¸sƒëÉ×±«kGCóRòïõUø ó!*1Š9”›ó”Ö—ŠÆ¢Éså{®És„ć0iÛ$>îsZÛ´&%#…Õ§W«½¡—«çãÏ3eûæö›KûíIËJ#àBÏo¤–N-ú8÷P¾V¼úôjÜmÝq³uãVú-Öœ^ÔzøfíÅÄ.±2¶âRÂ%æ˜KN^ý›ö×| Šî6œÓ»O3fãÞëöî¶î˜è›˜–HDR¡Œn3š®Ž]ÕŽMq*©)Á±ÁÜɼSå30«2?„B!„Ï–Q¬\¼x1ãǧmÛ¶¤¦¦2iÒ$˜0aB©Ÿ355¥]»v¥žwrrÂÉÉIís•mÀÞÞ{{ûRÏ[[[cmm]êùò8;;—Z(-‰Ê†:¥±²²*¶.gy})/–Ê<‡Çañ‹ï9ž¶ æ_f*“ÖO"!5 =ÊÈ?CSÚ9”‘#–N8Y–Òï2ÎU¶m{s{ìÍËÈ¿:ÖXשDþY9—Z(-‰™Ê†:¥±2±*¶.gy})/–Ê<Qº1íǰãòÂý~´ò¸––š `oØÞ ¿ŠÿjÛWÙ¶³7Î2Þ|±óŸþïSå×öfö<×ô9ö‡ïW¹¯Ž–/´|ß/þ^â=ú7í϶‹Û¸ r¼±Ec&t)ýç\]C[åÔõSl ÝÂ[o•xÍ·*ßW46uÆ©<Žu±6¶æxÌqÚ×^ymìÚ°Ö{-í;–zv ÚñËð_p³uÃ@×€º†uÞz8FoÀHÏHó(BKK Ÿ>ø½àG7Çn˜˜¢§£‡½™=}›ôeÙÐetkÔM£ØÔ§²èhëðýÐïiß =†z†UÖÿU™B!„BˆgK˜Ö0}út|}}¹|ù²òXëÖ­ùé§Ÿªõõ`ñl˜Þo:¾}¹_(ÿ´æ§1?ÉëÁB”ÁÌÐŒ/žû‚/žûBy,/?ßc¾hii©ìÝÝ©{™³ö t ˜ì1™É“˽oƒ:,°€¨ïhß‘—Ý^.õs<ðhäQnûå)¯/^ͼðjæUá6+[EÇ©"1ºÛº³ñ•ÅŽ·²iUì³eµWÚ9uòC!„B! ÔˆbåܹsùôÓO¹víIIIØÚÚâàPu<‹Ê[SSügîà¹|:èS®ÝºFÒ½$lÍlq°ü«ŒÿgïÎꬶŽ™AÁYÄáJ*‰š˜hæÍeY÷–i?§k©7K£ÌM-'4§ÇÔPp@ÄEPP¦ßÄÑãåâ°>ÏÓSîw¿{¯õžƒ=.÷»÷ãöÔχ¯÷}M‹º-ð°÷ ¶im®f^eÁ‘ĤÆÐ±AG­ïƒ(ž-òýB!„Bhâ©(Vèë뫽£(ßÓ°ä³D_W_í}Eùd/ÈÕÌ+…©´›˜2Ùgr5D¤¹Ø´X^zù±ý^r}‰E¯,z=ûž§ï‡B!„âÉyjŠ•B!ž-“}&SÛ¤6Iüuë/ÌŒÌhïОñÞãilݸºÃÕL¾B!„BMH±R!„Fœ,˜ÓoNu‡ñHÙ» ™M3­„]QíYõ,|?„B!„OŸ§â4p!„B!„B!„b¥B!„B!„â© ÅJ!„B!„B!ÄS¡R{V^¸p‹/âàà ­x„ÐØ’%K®î0Ä âÆ¸ººVwB!„B!ÄsEVVŠçFqqqu‡ „B!„B!*¡R++7nLãÆÙ¸q£¶âB#:::¼ýöÛÌ›7¯ºC/ÿêA!„B!„xîÈÊJ!„B!„B!ÄS¡R++…B¼˜Ò²ÓXwf;ÐÁ±ƒVÇŽM‹eÏ…=ômÚ+­Ž­®„̶Fo¥«sWÚØµ©ÖX%:5šóiçIÏNÇÂÄOOÕiTfß…Ç’_˜_æµ5ú­êµ*óZAQa a\üû"z´±kC˺-µ–ƒB!„B€+…Bh õv*‡ï=^ëÅʘÔÒØºñ)V&ßJ&øl0tÂÓÁSéZBf‡©iTó©,Vî¿´Ÿ¯ö}EBf‚Ê5ß&¾|ÓÿL L”Ú:ú¹ù¹eŽgUêÌbeDRÿÙñ³•Ú;;uæça?W"!„B!„P&ÅJ!„j³­i[%…Êê|+™ÀÃèéê©+Ÿvg’Ï™@˺-qµrÅÚÌšøñì¿´ŸÐ¸PL Lø¦ÿ7*÷Õ3¯‡¿›ê¾«­êª*£S£³~ ¹ù¹8×q¦KÃ.é‘AXBX•ä%„B!„xqI±R!„ÚlÌlï=¾ºÃxá½äúC܆àhá¨Ôþç•?ycÃìˆÝÁW}¾ÂPÏP麹]…?¿I!“ÈÍÏe„û¦ôœ‚ž®žâZxbxå“B!„Bˆ<Ñbå×_£G~’ÓV‰ç)M<‹ùýõqììj0zô³¿ÇÚó”‹&^ôüŸÚ³òöÝÛŠ?DbV"FúF´¬Û²Ü‹)·SøãÒܺ{ W+Wº9w{ä¼…Å…»zŒ¸ô8 Š hX»!Ýœ»a¤o¤èóà>“nõÜ8zõ(1©1Ô0ªA7çnØ×²Wô O gÓ¹MK8FaQ¡âZYżã׎sö¯³éÑÕ¹+N–N}VUÉ­ž[™í]vÁ¹Ž3—þ¾Ä{w041,³ßãœI>Ctj4öµìù¿žÿ§T¨ž¹•¨B!„Bˆ§ß/Vzxx®ç)—ò̘q ''s^½…ʵ!ÿ§]y{V†Æ…òEÈܾ{[©¿{}w Z€™¢mãÙLÝ5•{…÷mmìÚðró—Ëœ329’¶~DÒÍ$¥özæõX8x¡â°—Ò}& õ ùöà·K8¦è«¯«Ï$ŸI¼Þ®ä÷µ‰'> @XB˜ÒkÍ+ Š xgÓ;콸WѦ§«Ç¬>³ÜjðcžV‰ÿ@1Åêkj`ʸã*Ô·,…E…dåfQϼ–&–*×sósÙ½•ä[ÉXšX–{ Oéó(ýLB·p-ó6f6tuîŠU +cB!„Bˆ²<Ñbå¤I“°³³{’SV™ç)—ò̘1ƒîÝ»—Y¬|óŸ4©#vv5ª; ­xžr)ÏŒGéÞÝ¡Ìbå‹ÿ³(6-–·~LAQ­êµÂÃÞƒì{Ùì½°—Ó×Oóþoï³áµ èèèpö¯³|ú%…E…x:xâVÏŒœ vÅíbÁÑ*c_¿y1Æp+ï­íZÓº^k õ ‰J‰",!Œ7ƒßdÏ›{032SÜDνüZøamfMtJ4ÇŽñß½ÿ¥‰u:8v ½C{†¸ !øl0t¤½Cû2s "ûn6~-ü°­iKtJ4G®aêî©ôlÜ“šF5û|~<ú£ÒÊÍG±ªaU©båŠðü}çofúÎ,ózLj ŸnÿT©Í·‰/súÍ¡†áýŸ­„¬’ƒ{ê™×Ão…qéqŠkFúF|éó%îÇ)„B!„{âÅÊçÅó”‹&žÅü'Mzö)õ<墉=ÿ§Õ²ãË((*`Œç&õ˜„ŽŽŸuÿŒÁ?æôõÓ„] £SƒN¬ŒXIaQ!ã½Ç+­`ï=ž+¨Œ½$l ·òn1½×tF´¡tmeÄJfîɶ˜m w®hÏÍÏe똭J+ƒÂƒøzß×,?±œŽðtðDGGGqøû^ï—™[~a>;ÇíTz…|bÈD‚ÏžN—}>x} ÖÊJMí»´o~CÿfýÖf˜ÊuthY·%­êµÂDß„øŒxþ¼ò'¡q¡Ü+¼Ç’!K}sîå°èØ"næÝdˆÛ,L,ˆLŽ$<1œ)»§ÐȪQ¹E^!„B!„P×S±geAAûöí#**ŠÂÂBš6mJ¯^½066.sœ“'OrìØ1nݺEýúõéÓ§666JãÍœ9“¦M›2lØ0Ο?ÏîÝ»¹{÷.:uÂÛÛ»Ìqoß¾ÍöíÛIHHÀÞÞžRXXÈüùóiß¾=}ûö-7Mç¬H>S‘ç÷p|gΜáÀâííM‡÷‹?×®]#((ˆ¢¢"âãã™6mšâÚèÑ£qrrªÔgY™gUåísXPPľ}׈Šú›ÂÂ"š6­C¯^ 06.ûÇãäÉTŽKæÖ­{Ô¯oFŸ> ±±1UoæÌ0š6­Í°aM9>ƒÝ»¯r÷n!:Ùáí]¿Ìqoß¾Çöí—IH¸…½}Mt¡°°˜ùóOÒ¾}]úöu.7Mç¬H>S‘ç÷p|gΤqà@"……Åx{×§C‡zо׮Ý"((Š¢¢bâão2mÚQŵѣ[àäT«RŸeež•x´“I'ÑÓÑãÓnŸ* •–&–¼Óé&ïœÌɤ“tjЉSI§010áýÎÊÅA ^mó*ËŽ/Sj?šp==2r2XptÅÅÅ—þîäßàÜ_çÀýþ=šPyµy´Çh[Ìɤ“jå6¸å`¥B%@÷FÝ >LêíÔ ñ¡÷‡jÍ©‰çw2aÛz¸ô`îËsËì³zøjZ×k­Ô›ˈµ#Øi?çÓÎÓÔ¦)€b/Ð;÷îòFõkÝÿùøîÐwütô'VE¬’b¥B!„Bkª}Ïʘ˜ Ä… ”úÖ¯_Ÿ 6àåå¥hKMMeøðáìß¿_©¯©©)?þø#cÆŒJŠaÓ§OÇÏÏ„„¾øâ ÅjÆÇÒ¥K•ƈˆˆàå—_&%%EÑV¯^=/^ÌôéÓyÿý÷UŠ•æ¢ÉœÍçQ*úüŒïìٳ̚5K©ÿk¯½ÆŠ+Ð××çÚµkLŸ>€+W®(þ {÷îŠb¥¦Ÿ¥&ÏJÊÚç0&æƒmá…̇b6cÆxyÝÕ=55‡áÃw°ÿ5¥¾¦¦üø£cÆÜ/NŸ~??nñŇx =ÆkÅÒ¥½•ƈˆHáå—#%厢­^½,^Ü‹éÓòþûî+•sÑdΊæó(}~Æwöl:³fWêÿÚkÍY±Â}}]®]»Íôé%Ê+Wn*þ {w‡Š•š–š<+Q1·îÞ¦¦ ÆúªÑTzZõͼ›Š×­Y==•¾*m9òýáïËÿá}2ËGWG—úµês.åÜ£“yH=óz*m¥« Š *4FUïY¹!r_†~I¯Æ½˜ï7}ݲÿÿp¡ ™m3µÄÏ?­(V–î1Ú³qO¥B%ÀXϱütô'¥WÃ…B!„¢²žh±òa999ôíÛ—„„éÓ§†††ìÝ»—ØØXú÷ïOtt4õêÕ£°°þýû““½{÷ÆÒÒ’Ë—/³uëVÆG³fÍèØ±£bü°°0¶oßNŸ>}hÑ¢ׯ_gãÆ,[¶ŒaÆáã㔬¨ôóó#%%…ÆÓ«W/ صkãÆ©÷‡ÅŠÎ©I>•y~¥Ž=ÊÖ­[ñ%&&²yófÖ¬Yƒ««+S¦LÁÑÑ‘©S§–yÀŽ“““Öb©è³ª*99ùôí»‰„„[8:šÓ§OC õØ»7ØØôï¿™èè1Ô«WƒÂÂbú÷ßLDD NNµèÝÛ KKc._ÎbëÖKŒ·‹fÍêбãƒù%³}ûeúôq¦E‹:\¿žÍÆq,[vŽaÚáãSR¼¹}û~~[HI¹CãÆ–ôêåDAA»v]eܸ]jåTÑ95ɧ2ϯÔÑ£ÉlÝz‰>}Ò¢…‰‰·Ù¼ùkÖÄàêjÉ”)pt¬ÉÔ©^̘q'§ZJ{V:9™k-–Š>+QqæFæüuë/ò òT –ײJŠâµŒk)þr;…ÂâB•‚ebV¢êØÆæÜ+¼Ç›Þ,w~+—ÇŽS\\Ìõ›×17*û»T•ªrÏÊÅa‹ùæÀ7ômÚ—y~óÊ,k¢¹móÇöyp­B!„BTVµ+ýõWðòòb÷îÝÔ¨QRHÈÏÏ' €M›6±páBf̘ÁæÍ›‰ˆˆ €Õ«W£§wÿbtêÔ‰ùóç³nÝ:E{ZZ¿ýö~~~Š¶Þ½{3jÔ(BBB۵k×’œœŒ¯¯/[·nÅÐÐ()ÀõìÙ“´´´ çTÑ95ɧ2ϯTzz:+W®dÔ¨QжãÇãííͼyó˜4iŽŽŽL›6™3gâìì¬ô¸6c©è³ª*¿þzž„„[xyÙ±{·?5jüs;Ø´é žaÆŒÎlÞ|ˆˆš²zu?ôôîÿá<""…N~eþü“¬[×ÿürøí·øùÝ/ ôîíĨQ; ‰WÃÖ®=Orr6¾¾ Ùºu ††%ß…œœ|zöÜHZZN…sªèœšäS™çW*==‡•+û0jÔýäñãáí½–yó"˜4©ŽŽæL›æÅÌ™Çpv®Å´i^*sk#–Š>+QqíìÛ±5z+óÍã‹_(Ú³r³X¶DÑ ­}[¶Eoã§#?)½˜•È†È *c{5ðb}äzX6À¯…ŸÊõóiçU¹Ù³±íÇ*½ ¾"b7rn(í1i¤g¤ˆ³*UÕž•sþ˜ÃÒãKÐbßôûæ‘…ÊsÃÞÂ^å„ðØÔX¶Dm” ”]vÅXߘ=öðaç•VW…Ð̦Y…cB!„BˆÇ©ÖbåÑ£%¯wNŸ>]QÜ000`Ö¬YlÚ´‰#Gްwï^ÌÌ̘5k–âµáÒ}Ë,,,ˆˆˆPßÝÝ]©(^åNNNV´;v €)S¦( •Pò:öäÉ“éׯ_…sªèœšäó0už_)WWW¥B%@‡8p ÁÁÁÄÄÄàææVá|+KEŸUU9zô:Ó§wV· t™5« ›6]àÈ‘’>{÷–œˆkffȬYÇø¼øçó2"""Ei|ww[¥B x•;99[ÑvìXI®S¦tR*¡äuìÉ“;Ò¯ßæ çTÑ95Éçaê<¿R®®–J…J€ê1p  ÁÁˆ‰¹››u…ó­L,}V¢âÞhÿ¿ÇþÎòˉHŠ mý¶dßÍfߥ}dädÐÆ® KV‹öÍﱿóýáï9špTé4pcÕ×Èßõz—иP>Ýþ)+ÂWк^kj×$=; _àÜ_ç¤TL310Áo…½›ôÆÚÌš˜ÔŽ^=ŠŽŽo´CÑÏÁÂ]]6žÝHAQ¢÷àÁ?ÚP{V.<¶¥Ç—bnlŽ£…c™'©´ ÀÚ¬äç*4.”•+éèØGKG õ ‰ÏˆçPü! ‹ éêÜU©øhfdÆ›ßä‡Ã?Ð/¨¾M|•ØÑÓÕclû±ZÏK!„BñâªÖbeffÉÞrÎÎÎ*לÑÑÑ!##(Y¨µ—¡ƒƒê~efff@ÉŠ¿‡ã(ëçò^{®ìœšäó0už_©† –9Vi{é˜O"–Š>«ª’™™÷O|*ל-ÐÑŒŒ’>éé¹,]z¶Âã;8ÔTi33»¿âïá8œœj©ô/«Msj’ÏÃÔy~¥6,;ŸÒöÒ1ŸD,}V¢âšÛ6g¾ß|¾ù‚ÈäH"“#×Ü뻳`ÐÅ+Ãnõܘé;“©»¦žNxb8­íZ3 ùþ»÷¿JcÛײguÀj>Ýþ)Q)QD¥D)]ofÓ¬Ì=ÿ¼ò'[£·*Úôuõ™ä3‰Ž÷³0±`p«ÁŸ fõÉÕŠvm+«ÂµÌ’×ëoåÝâÇ#?–Ù§g㞊b¥[=7j×â`üA•~½›ôfvßÙ*ívþ´Ûi¬\OðÙ`E»©)_õùªÌ=0…B!„BSÕZ¬´´,Y½¯R䊧¸¸˜Úµk+õ}ï½÷°¶.{å•©iÅ_›++Ž«W¯*í©XÚV´‘:ϯԕ+WÊ«´½tLuiKu³´,Y½Ÿ…³³r->>‹âb¨]ÛX©ï{ïµÁÚºìÏÅÔT³§Ò±¯^½©´§bi[UÐF>ê<¿RW®”Oi{é˜êÒ$Q9¶5mï=^©èàÛį^ºrˆ¤¬$ õ iU·žž*cø»ùãíäÍ—ÿàöÝÛ¸X¹Ð½Qw.¤_`¼÷x\ê(¯|mnÛœ7B8uýQ)QäæçR·f]šX7¡™­ê«ÈFúF¬XÍŸWþ$.-SCSº7ê®rª7À¬>³Ð|1©1ääßßz¡eÆ{ǽ¾»Ê=¥×Üê©¿][^jüR™‡ÿ<ÈÊÔJñß½›ôæ¥Æ/qâÚ .߸Ìí»·±®a§ƒ' ,”y¿®Ž._õùŠÑž£ K#û^6vævts‰ê_!„B!DeTk±ÒËË‹+V0}út¼¼¼Ź‚‚¾üòK:w.ÙcÎÇLJ   ˜2e ºººJc¥¤¤˜¨z˜BEtêÔ‰•+W2sæL¶lÙ‚AÉꪼ¼<•S³µEù¨óüJ]¼x‘ŸþYeÏÊ-[¶`aaAóæ÷÷*366VY ©ÍXª›—W}V¬ˆbúô£xyÙajZò¹ñå—‡èܹd¥–#AAç(((bÊ”Nèê*(‘’r‡ÄD哈+ªS';V®ŒbæÌ0¶lˆAÉw!/¯@åÔlmÑF>ê<¿R/fòóÏÑ*{VnÙr #š7¯£h76ÖWY ©ÍXDåØ˜Ù”»òÐÜØœþÍÊßïôAõÌë1Ü}¸R[3›få££C;ûvн/GWG—nÎÝèæÜí‘ýtttðròÂËIyÔÒ‚dYuíIñqñÁÇE½ý}õtôèÔ tRë>W+W\­\ÕºG!„B!ÔU­ÅÊáÇ3sæL>LóæÍ•Nމ‰ÁÒÒ’wß}€¡C‡2þ|–,Y®]»ðññÁÖÖ–ÌÌL.^¼È¡C‡øä“OðôT]½ó8L:•ZµjE¯^½(,,$44”ìì’½ë´}Ú©6òQçù•²¶¶fôèѬ_¿ž–-[ríÚ56oÞLAA&L@_ÿþWÂÅÅ…Ó§O3räH6lˆ®®.£G.óÕxMb©nÇ7eæÌc>|æÍW( sKKcÞ}· C‡6aþü“,Yr–]»®âãÓ[[S23ó¸x1“C‡’øä<=ëªG@@S¦N=BHH<­Z­¤W/' ‹ ½BvvÉëðÚ>lWù¨óüJY[›2zôNÖ¯?OË–V\»VrxAA&x ¯¿hïâbÁéÓiŒBƵÐÕÕaôèe¾¯I,B!„B!„xúTk±ÒÔÔ” Ä… X´h‘âš6lP¼–­¯¯OHHcÇŽeûöí)U¿~}Ú·o¯Q5kÖdË–- 0€¸¸8âââ¨[·.ß~û-#GŽT:4F´‘:ϯ”——M›6eΜ9ìܹSÑ>bÄ&Mš¤Ôw„ Œ3†5kÖ(Úºwï^f±R“Xª›©©!!¯0hÐ.\ÈdÑ¢ûûëÙÙ™±aÃˊײõõu y…±cCÙ¾·O\Œ IDATý2AAç”Æª_ߌöí5˯fMC¶lÈ€¿—A\\ÉjÖºukðí·Ý92DéÐmÐF>ê<¿R^^v4mZ›9sN°sçý- FŒhƤIʯO˜àÁ˜1;Y³&FÑÖ½»C™ÅJMbB!„B!ÄÓç‰+'Mš„R[óæÍ‰ŽŽfïÞ½DEEQXXH“&MðõõÅØXy9+++¶mÛÆùóçùóÏ?IOOÇÚÚWWWºt邞^ÉIÊúúúL:•¦M›ªÄPzíÁסäDì‹/²mÛ6±··ÇÏÏ;vª‡Á<œ‹&sV4ŸGQçù•š={6C‡åàÁƒѹsg:vì¨ÒoÔ¨Q´mÛ–™™IQQ‘¢PY™ÏR“g¥ “&uÄÎN¹`Õ¼y¢£Ç°woQQSXXL“&µñõuÂØXùÇÃÊÊ„mÛqþ|þ™Dzz.ÖÖ&¸ºZÒ¥‹=zz:ÿä ËÔ©^4mªºGgéµ_w†’±/^Ƕm—HL¼½}Müü\رã2 zÌùh2gEóyuž_©Ù³»2thL¢¨¨˜ÎëÓ±£jatÔ¨´mkË×È̼KQQ1NNæeæ¯N,š<+ñlyÔ>“B!„B!žn:ÅÅÅÅšÞìïïÀƵPu‰‰‰¡AƒJ+(ÿþûo¼½½‰‹‹#227·ê;D¡²òòò011ÁÏÏ-[¶Tw8Z§££ÃÇ̼yóª;ÄÄÜ As¥”ÿ‹·÷Zââ2ˆŒ…›[Ù1= òò 01™ŸŸ [¶ ¬îp´¢ªÿKMMUlCñ8.. L¥oߊõB!„B!*êÃmøá‡Ô õ·µµÅÌÌLÓé6VëkàO“fÏžNNN$''óûï¿“™™I=žéB¥xú…„Ä3{ö ||qrªErr6¿ÿOff=z8>Ó…J!„B!„BˆŠ’bå?Z´hA^^6lPj÷ððPÚ³QˆªÐ¢…yylاÔîáQ—5kúUSTB!„B!„O–+ÿѧO’’’Ø¿?ñññèééáîîN·nÝ´~xuxÔ>‘¢úõéÓ¤¤wØ¿ÿññYèééâînC·nZ? ¼:Ó¦M«î0Ä#XX1x°ku‡Q%ôõu™6Í«ºÃB!„B!ÄSN·ºB!„B!„Bb¥B!„B!„â)!ÅJ!„B!„B!ÄSAŠ•B!DŠ?Äð_†s"ñDu‡"„B!„Ï-)V !„~'‰'ÈÈɨîP„B!„â¹U©ÓÀoܸARR&LÐV uójmךÿîù/©Ù©Šþ;bw°tÈRîÜ»ÃÇ[?¦°¸Pq-$6„Ðq¡X›YkuMžc«z­”>€çw²÷â^ý¥`)„B!„¨4)V !„ÐØ²ãËpµråë>_c[Ó–è”h~:ú¿œþ…·:¾…¹»/ì&(<}]}FyŒ¢½c{nçÝ&ø\0a a|ðÛüñÎé)Æ^¾’†µ2Þ{<ŽŽ˜›_˜žo´ƒæ¶Í©cZ‡[woq<á8kϬ%ðp ÿë÷?â 9¦s›010a¬çXZÛµ&#'ƒU'W±ìø2•ü5ÉkEø ZÔmÁ§Ý>ÅÒÄ’CW±úäjfì™ÁœôoÞŸ—\_BWG—U'WqüÚq–‡/gâ¿&*Í]Ùq4yŽ?GüLÃÚ ù¸ËÇX×°&:5š¥Ç—²óüN‚ƒñwó×ô«$„B!„€+…BT‚Sm'‚_Vãº9w#¿(ŸÿÀ™ä3Š"àº3ë˜Ýw6[TÜï×Â×׽α„cì»´¾Mû*®Ù˜Ù°yÔfL L”æ´4µdç;Ù}q7ãrãÎ ò ó0Ô3$"1Bã87F–lk2ßo>>.>Šû´@¿åý¸’qEi\MòjT§ëF¬Ã@Ï€¹ü‹¸´8N$žàµ¶¯)­ôìÔ ~ìÄ™ëgTrªì8ší<&&øµðSê«££Ã°6Ã8–pŒØÔX¥¢žo_•B%@zv:¿(½Òý Ûwokg\z&J…J()Þ h>€ï¯Ô®I^½šôRK5³mƉÄôkÖO©ÝÜØ;s;Rn§¨äTÙq4yŽ}›öUùL:6èˆ}-{âÒãÊG!„B!Ô!ÅJ!„{ð–Rº%´¢â"EÛÝ‚»˜™—¹§aéw î*µ×3¯WæœGIº™D§Ðb¶f¶ê¢££ÃĉeÙ*g^AÆeÎka¢Ú®I^æFæ*}õuõËS_WŸœ{9*í•G“çXú*þÃ,L,H¾•\æ5!„B!„P‡+…BT93.ݸDjv*¶f¶J×Î¥œÀ¶¦mY·ªˆLŽÄÂÄ‚Ÿ‡ýŒ®Ž®¢='?‡ôìtŒ Œ+ç•WÈÊÍR)N–Æùpmåõ¤iò£S¢UÚîÜ»CüxlÌlª4^!„B!Ä‹A÷ñ]„:æÎ‹ŽŽÐèþ‰'¢££Ã™3ªû“ !ijªKÃ.óÙŽÏÈ̽ÿÚuxb8‹Ã+úTD-ãZdßÍ&.íþkÇ™¹™|²íò ò*gaq!C&’}7[ѾóüN¶Fo-³¿¶òzÒ4yŽ{.îQ:)=7?—É;'““ŸCç§3O!„B!ijEVV !„¨rovx“m1Û8rõ]tÁ¹Ž3Ùw³I¼™Hqq1þ­ýilݸBcù¸øžŽßJ?šX7àJÆL L¨_«>wîÝÑ8ÎqƱùÜfö^Ü‹×^8×q&#'ƒä[É4·mNLjL•åõ¤iò›Ù4ãóß?练ßaSÓ†+WȾ›©)ïvz÷I§ „B!„xÉÊJ-û÷¿ÿMqq1Ý»w¯îP„â©amfÍÚkiïО¼‚}š6mÚTw8ÏŒ’Ã-ÖC«;ñÂðgȪûý/55•ìììÇw\\˜Jß¾ë¯ Y¹YÄ¥ÇÑÀ²ukÖ-óšSm'•}¡äꤛIêâRÇEå”îGýp¿„ÌÌÍiX»!Q)QÜ-¸K;ûv•ŽóòËdß˦E,L,HÏN'>#W+Wj›ÖÖj^ײ®ñ×­¿p«ç¦rÚöÙ¿ÎRXTˆ{}w­Ž£Îs<ˆ±Æ2Ùg2c<Çp+ïW2®`jhŠK—2B!„B<>ü°äÏK?üZ¡þ¶¶¶˜™™i:ÝFy \ËæÎËþóþøã¥Õ•‰‰‰Ì˜1ƒÐÐPRSS©]»6=zô`Ê”)4mڴ̱,X@`` ØÙÙ1vìX&Nœˆ¾¾|lBˆêeabAÇj_ƒ’ÕˆÖfÖýp¿‡ÁiY·¥ÖâlT§‘Ò¯weòr´p,we¢[=·*çÁñ÷fnlNk»Öì#„B!„šª×påÊ:vìHZZš¢-55•µkײcÇöï߇‡‡Ò=sæÌaݺuJcüßÿýqqq¬^½ú‰Å.„B!„B!Ä“"{V>}ôiiitíÚ•ˆˆîܹCtt4ƒæöíÛ¼ùæ›*÷lÚ´‰o¿ý–ääd222øõ×_©]»6kÖ¬aß¾}Õ…B!„B!„UKVVV±;wî°sçNlllؾ};æææ4oÞœõë×Ó¦MΜ9Ã… hÜøþ‰±ü1Ÿ|ò‰â×2räH‚ƒƒñññyâ¹!„x1¹Õsã—á¿ÐÀ²Au‡"„B!„xÎÉÊÊ*võêU èÒ¥‹¢PYJ__ŸÞ½{péÒ%¥k¥íòõõ-³¯BQ•J÷É|ÔGB!„B¡ R¬|B´qRjérêªB!„B!„xI±²Š999¡¯¯ÏŸþÉ­[·”®²{÷n\\\”®íÚµKe¬;wШQ#•kB!„B!„B<ë¤XYÅjÔ¨AŸ>}HMMeàÀœ:uŠœœbcc  **Š6mÚ(íW 0þ|¾ûî;RRRÈÌÌdíÚµ|ôÑG 2¤:RB!„B!„¢JÉ;OÀüùó9~ü8üñíÚµSºfffÆÒ¥KUîà—á¿ÐÁ±ƒFó–%<1œÍç6sêú)’n&a¬oL˺-å1Š.=ʼGñ_¿yý—ö³ïÒ>Ž_;N~a>ACƒèêܵÌûµ‘on~.»/ìæ÷Øß‰K#-; KK<ì=x§Ó;4·m^eù±%j ¿žþ•«™W)*.ÂÑ‘!nCÖfúºª¼Ñd^!„BTYY©Eµk×fàÀlذ¡ºCB!"’"p™í‚£ ª;” yÖâÕãÏ+2â×¹z„ì»ÙääçžΘ cØy~g¹÷í¿´scs<T÷ ×TBf¿°ñìF.߸ÌÝ‚»Ü̻ɑ«Gx+ø-‚ƒª,þWV½Âô=Ó9|å0ù…ùZËéQ[ȧÛ?eÿ¥ý\¿yüÂ|Ò²Ó9ÂàŸs(þÊ=ÚÊ÷ß;þÍg¿Æ™ä3dåfq+ïQ)QLÛ=·‚ߢ¸¸X+ó !„¢úÈÊJ-Y´h‹-ªî0„B<§ZÕkÅ¥‰—^˜yËó´Å#´«};Ö¿¶þ±ýò óù2ôK ‹ ë9–w½ÞEOGÕ§V3ïÐ<¦ìšB·FÝ050Uº¯¨¸ˆ—Ð͹z:zjÏ[]]º4ì –ƒp³s£^Íz¤ßIç×Ó¿²$l sÌe¨ÛP̴̌}óúø6ñÅÇÕ‡Ðó¡¬||•Í·†a üZøÑ¯Y?[7ƪ†W2®0ç9¾r˜©»§òÇ;(úk+ߘÔ¶EoÃPÏ™¾3ñqõAOGÃW31d"‡âqäêÅŠIMçB!Dõ’••B!„â™räê®ß¼Ž§ƒ'“|&aib‰¹±9ï{½Oï&½ÉÌÍdÏ…=*÷¾~šŒœŒr_ËÖ”ƒ…+^]Á€p²tÂHßûZö|Öý3Ú;´ç^á=.g\®’ø7ÚÄ´^ÓèÒ° zZÍ«èèÕ£ø¯ö§åÜ–´lϤ“ÈÈÉPê³!r.³] U¹¿ôZiÁàqñ–&ŸqE¿oOR«o[)åüð?—oÜ/xUeÎÅÅÅlŒÜˆÿjܾu£ÅÜôêÏšSkT^³U÷çñÕ5¯â2Û…Ø´XŸSxb8~-üT®•¶¸vBåÚþKûÑÓÑ£›s7çV7þÒbÓ:жêŒ_]êäkb`‚]-;ôtô010Q´k+_«VÁÆÌ¦Òó !„¢zÉkàB!4vêú)fïŸMaq!PòÊ@zv:¿(õÍÌÍdÿ¥ý¼|5Ã×àéà©tý\Ê9¾9ð ÷ ï%8üõI7“X;b­¢ßÝ‚»Œøu„Òœ£R¢x{ÓÛômÚW%ÆüÂ|F­¥T$½Wxc Ç»Æô^ÓU”8“|F)¯Üü\朋‘¾éwÒY¶DÑ7þF<mý§ÚN4³iVág§ne™{p.K/Uj‹J‰"*% ]F¶YáxÊû,{ϳ),*¹'¯ ‘8™t’ßFÿöÄ^­Ôä3®è÷íQšü¯‰"÷DZªaE؇ąl6f6Š‚WUæ\\\Ì¿wü›­Ñ[•î?Ÿvži»§›ËW}¾´ó=~Ðå—鱨É·’©mZOOÞîø¶Ê- ™ 4¶n¬2FS›¦%}²T®í»´OGOÌÍ5š·¢ŠŠ‹H¿“NðÙ`Ž\=BWç®Ø×²¯²øÕ¥í|KÅ߈'.-Žž{b¤o¤h×V¾;âjåJðÙ`ÚØµá%×—ÐÕÑåðÕÃ…agn§´êTÓy…BQ½¤X)„Bc;ÏïÄ¿µ?oux G GôtKöPÓÑÑÁ»¡7¯·{æ¶Í±ªaÅͼ›œ¸v‚Ï~ÿŒEÇ©+·Eoc¸ûpÞhÿ¶5m‰N‰f¶ „'†›K3Û’Bઓ«ˆM‹Å¹Ž3ÓzN£Mý6däd°4l)¿œþE%ÆÕ§Vs2é$vævLë5öí¹}÷6ÏnäÇ#?òÕ¾¯èéÚk3kÅ=¿ÇþÎÏ1ŒöMmÓÚŒ?ÈÇ[?&ðp EÅEÌê; tutYxl!ËO,'èDßôÿ¦ÂÏNÝ<ʲçÂL L˜Û.^N^èëês5ã*[c¶bjXR(|ßë}:8v`ØšaLè:÷½Þ/s¬ò>ËGÙy~'¯´z…÷¼ÞÃÆÌFqÈE\z‹-fB× ~¥*ïƒ4ùŒ+ú}{ÒÎ}zN¥íÏ+2yçdV¾º   jsÞ½•­Ñ[ibÝ„Ïþõ­ëµÆH߈¨”(fìÁúÈõ q‚{}w¾ÇÚ+1+7K±Ò3-;ßcgWÜ.¾÷ûžÞMz+úeßË –q-•1JÛnçÝVjOÌJäÒß—xµõ«Ïû¸ø/߸Lï¥÷ûé1Â}Ÿ÷ø\©Ÿ¶ãW—¶ò}Pn~.¶M ¦QM¾èñ…Ò5må«§«Çê€ÕÌÚ?‹‰!•þR¥gãžLö™¬´¢S“y…BQý¤X)„BcmìÚðµï×èèè(µ[Õ°âßÝþÍâ°Å|ú%7îÜP¬ØˆKSË»¡73zÏPüº};ÞêøÓvOã|úyE!%ô|(:::,´W+WLk™2½÷t®d^áèÕ£Jã†Ä†806vm032c¼÷xÒ²ÓXwfû.ícX›aŠ{º:we²Ïdů}›øò’ëK„Æ…2ÉgþnþŠkŸuÿŒ ‘¸tC½C_ÔÍ£,uÍëðRã—‡m4³m¦Q¡­¼ÏòQZÛµfvßÙŠ{<í<‘É‘Jsk2¯B!ªŸìY)„Bc:—YÜ:uýþ«ýÙy~'iÙiJ…J(y]øa;ª´9X8pçÞE[BV¶f¶ŠÂȃº6ìªÒ–™€…‰…¢ ó Ò?—¾*Xª½C{•¾vævxÚ+¯ÕÓÕö¦-ßù[åžGQ7²Lî1™¢â"z,êÁ—¡_òËé_ˆIQ+ŽRå}–âíä­rƒ… k7Ty¦UI“ϸ¢ß·êt2é$ÿÞño¿²Xå5ÖªÌùbúE ‹ éòSšü¯ ç4ÆuŽ+®s\ñ]æ @ò­ä’9´ð=.µxÈbz¸ôÀÚÌš†5p«çÆ cƒŽÜÌ»Iصû¯Ñ×4ª Àͼ›*ãܺ{«¤qM¥öý—öÓ¨N#X6ÐxÞÇiT§—&^"î³8Ž~p”¯û|͵¬k¼¾öu’n&UIüêÒf¾P’Ãëë^çôõÓ,º\eÕlѱEäæ3Þ{<[ÄÖÌC=Ctttèµ´—Ê,€Òþf¥t(ùÿKeWÀ”ŽSQeÆòÏÿëÊ‹³¨èñ{ÿ²öÁ,«p]™9*Jß·ªÜ³229’¶~Ä‚A ÊÝG°ªr.ýœ•[~a¾ZskJGG{ÂÂHÏNW´—°.¤_PZ±%+ìXÜ/rݾ{›ðÄpƶ[©y+JOW3†¶ÊÝ‚»Lß3ØÞêøÖ‰_]šæ›–Æ˜õcHÌJ$hhP™…JÐ^¾Ïn¤¨¸ˆ©=§*2Ô±AGæô›ÃÀ•Ywf⚺ó !„âéP©b¥««+&&&ôë×O[ñ¡‘ùóç3fÌÜÝÝ«;ñ‚ ÂÒÒ²ºÃxj%f%bUÊñÞã•Ú¯e]ãjÆÕJÑÀ¢gSÎrñï‹*«¹]9¤Úß²g’Ï™Ik»ÖJ×\> è󤩛GyôtôðtðT rós鹤'_„|ÁæQ›ÐÕ)y‘¢¢…µŠ:|õ0wùXé/-³¹’qEé™Ö©QGqíaÇŽ©´©ïÓúk*&5†÷{Ÿïý¾WɧTUæÜ¨N#¢S£9úÁQÅÊ´òhë{\žââb"’"”ößôtðdqØb¶FoUzÕP ÔÞñþ éCñ‡((*¨ð+ÔåÍ«‰ÒJ÷O|ñ«K“|KWŒfåe±rØJ•bàƒ´•oY'×—*-²?ØGÝy…Bñt¨T±²N:Ô©S‡yóæi+!42þ|ÜÝÝéÛWý“G…ÐDHHfffÕÆSËÎÜŽK7.±úäj¶”¼ÒúÕ¾¯*tÊô£ø6õ%ò¯HÞÿí}¦÷šNk»ÖŠ=ÊÚ¯o³¾œI>ÃG[?bZ¯ixØ{}/›à³Á¬;³C=C|\|*Ó“È£,þ«ýÔríÚcoaO~a>G¯%+7KiÅbéAá‰ádåfimedr$_ìü‚w;½‹™ Ñ©ÑLÛ=‚¢|›ø*ú•±VF¬¤]ZÛµæï;³*b{.ìQWÝx«ë3®Š=+/¤_àíMo3·ÿ\ÚÙ·+·_UæìßÚŸˆß#»ä ò IDATx}Ýë|ØùCÚØµ¡¦QMÒ²Ó¸~àsÁŒp—“—V¾Ç‹Ã“‘“Aߦ}i`ÙC}C.ÿ}™%Ç—–FM£štpè èßÙ©3væv„'†óõ¾¯y×ë]ôuõYur»âvaibIÏÆ=ý÷]Ú‡…‰îv·< -äöÝÛø6ñÅÑÂÒ盧ïâ>æÿ9@iÕ¡¶âW—¶ò½~QëGq·à.?¿ús¹EumçÛ¢n BãB™¾g:ººº´­ß=]="“#™±§d?ÖW"«;¯B!žrÀŽB­ pà`üA¦ï™Îô=ÓíÍm›Óغ1iÙiýz»×ٽشXF®©h×ÑÑ¡_³~üû»Rÿ‘mGz>”S×O1nã8•ñ¾|éËJ¯œÒ„ºy”%:%šÓ×O—yíÕ6÷·Åp²tÂÖÌ–c ÇðøÞCÑ~i¢z‡=Ì·‰/¿EýFðÙ`¥öFuñv§·¿v°p w“ÞìŠÛň_G(ÚõtôØr [¢¶(ݯn¼Oëg¬®97x}Ýëü}ço^[ûZ™}v½¹‹FuUi΃[æÄµl:·‰·‚ß*³Oé Íš|_]ó*'“N²}ìvšÙ”ês+ïËO,gù‰å*ýõtôøªÏW˜Ýÿ "=fúÎäÍà7 "(œ ‘HÌJä o¨Ìimf­xÕ^Ýy…Bñôv„BhÝK®/ñÝËßÑÔ¦)ÆúÆØ˜ÙàÀê€ÕêVjl#}#~þ #ÜG`Uà #}#šÛ6gáà…tuV=ÐÃ@Ï€U«ï=ç:ÎèPðt$hhÃ݇W*M©›GY6½¾‰×Ú¾†‹• ÆúÆXšXÒξ³úÎR:Í\OWƒàaÖrhgߎåþËim×Z1¿¿›?kG¬U)Ìê3 ÿÖþX˜X`¤o„{}wV_]æaFêÆû´~ÆêJËN«ðAMU™³ŽŽsúÍ!p` :S˸z8X8гqO^Hç†í|Þíô.ÓzMÃÓÁKKôuõ±3·Ã¯…¿þ¾MUßœèêÜ•_†ÿ‚—“5 k`b`‚§ƒ'+†®PêòúInæÝÄÇUu¥©&ó–åƒÎ0½÷tÚ;´§Žiôuõ±ªaE7çnÌ÷›ÏÜþs«$~ui+_Mh#ßZƵømÔo¼Ñþ œë8c¨gˆžŽŽŒpÁÖÑ[±5³Õh^!„B<=tŠ+qj¿¿?7nÔZ@BhBGG‡ÀÀ@y \<1|ðfffUöû_jj*ÙÙÙ︸4"00•¾}+Ö_!^$³öÏbÕÉUD|A ÃÕŽÚžõøÕõ¢å+„B< >ü°ä/ø!µBýmmm+³mÚFYY)„B!ž[û/í§ƒc‡g¶ðõ¬Ç¯®-_!„B¨’=+…B-‰M‹åå —Ûï%×—XôÊ¢'‘bÏ[ª‡8=KžõøÕõ¢å+„BU²²² ¬_¿žîÝ»sæÌ™êE!„B!„Bˆg†¬¬ÔÐêÕ«Y¾|9?üð­ZµRº–˜˜ÈÁƒÉÊʪ¦è„BT‡f6Í*}¶B!„B¼È¤X©¡„„<ÈÍ›7U®½úê«xxxЦM›jˆL!„B!„Bˆg“+«€ƒƒÕ†B!„B!„Ï”'¶gåþýûyï½÷èÓ§ `ÆŒ¤¦Þ?ò<==___† Bnn®Ò½‰‰‰ôìÙ“×^{‚‚‚ ù ƒ2~üxúõ뇿¿?³fÍ"##Cqý«¯¾¢{÷îe®”,½– À§Ÿ~ÊòåËøðÃéÞ½;Ý»wçã?Êß³²°°_~ù…‘#GÒ«W/† Æ’%KÈËËSê·dɺwïÎ¥K—ˆåƒ>À××—Q£FñÇ<öY?(77—ï¾û??? À7ß|CNN³gÏVÉ÷ÁyÏ;LJ~HïÞ½Y¸p¡Zñ«ó,ž÷ôéÓ¼ýöÛøúú2vìX>¬V¾B!„B!„âÙUå++‹ŠŠ3f «V­Rjß¾};ìÞ½›¶mÛbmmÍ+¯¼Â[o½…¹¹9AAAÜ»wN:ÅÐ×ׯð˜PR`=z4kÖ¬QêÌìÙ³ÉÈÈ@OOØØX>žƒ²cÇ&OžLNNŽ¢ÿêÕ«Y¿~=þþþå?ôܼy“nݺ©ôŒ6nÜH£FTò-788˜iÓ¦q÷î]Z´h¡Vüê<Ëçݸq#Ó¦MãÞ½{Šk+V¬à‡~àƒ>xl¾B!„B!„âÙVåÅÊÿýï¬Zµ gggÞ}÷]š5kÆÝ»wÙ½{7K—.eøðáÄÄÄ ««Ë›o¾É±cÇX±b^^^Œ7Ž &püøqæÏŸ———ÚcΜ9“5kÖ`jjÊ{ï½GûöíÑÓÓãäÉ“,Z´ˆââbµsúöÛo $((ˆÀÀ@Å;åÞ3iÒ$>Œµµ5Ÿþ9Íš5ãêÕ«Ì;—sçÎñÎ;ï°yóf¥{>ÿüsú÷ïÏ!C033cÛ¶m,[¶Œ/¾ø¢BÅÊ/¾ø‚ÈÈHøì³Ïpvv&..Ž9sæ<ò¤ò)S¦Ð§O†JýúõqppÐ(~uM:___066&44”¥K—2aÂzöìI“&M*5¾B!„B!„xºUi±²¸¸˜ï¾ûŽºu륥¥âÚàÁƒ±´´döìÙ„……) ‘ ,àôéÓ|øá‡\¹r…Ÿ~ú‰¡C‡òÑG©=fÇŽ ÄÀÀ€àéé©Ô÷óÏ?G__ýGкuk6l€»»;ÞÞÞì_PP@PPÆÆÆ>|˜Æ+®½úê«4mÚ”-[¶ššŠ­­­âÚÈ‘#Y¶l™â×/¿ü2/^äàÁƒ¤¥¥)V2–7çªU«¨ùÿíÝyTÕõ¾ÿñ×fF™ddœ5qDó¨™Yjz2S¯ fyûYÔ­nu;MÞf«Sa6ÄÒ<•SYišÏIPÐDÅ QDEA&EöþýÁeŸ¶€ lõùX«µôóý|?ß÷÷ËZ¶|ù\]µe˵mÛV’4zôhÝqÇÕN0ÿ£qãÆiéÒ¥W\}ÝqÇçøñãåçç§Ù³gëË/¿Ô›o¾Ùà±`ýuÏÊŒŒ ååå©¢¢B'NÔˆ#4|øp 6LÆ ÓÏ?ÿ,IÚ»w¯ùggg-[¶LNNNzã7Ô©S'óþõóСCÊÏÏ×СC-‚Ê*nnnùúf‡RQQ‘þô§?Y}’äéé©»îºK&“I)))צL™Rm¬ªåí§Nºì3‹‹‹5räHsPY%<<\ƒ ªõÞ{ï½÷ªÔ__Ó§O¯µíJÇ€õkÔ™•U‡¨äååéÿøG­ýþ¸'£$ÙÛÛËÖÖV’Ô®];µlÙ²AcVÔãååÕ°ø?WtÕ4­[·®ñzUûÅÕÔÔßÁÁ¡N5U½{mKÓÿ8#õb¿ohý5¹TÝ5ÕZ5öŇ.@MöäîѺ}ë4ºÓh…y…5w97”mYÛ”rF‰G›»IÒË¿¾¬‡6ÊÃÙCÿÑû?tŸûåíâ­¤£IzfÕ3Í]€kL£¯Ïš;w®Z¶l©™3gÊËËK={öTÿþýåëë«ÐÐP½õÖ[æ¥Á‹/Ö'Ÿ|¢I“&éÑG•­­­¾ýö[ùøøhÊ”)ÊÊʪ÷˜|ðZ´h¡… ªmÛ¶êÖ­›"""äéé©^xÁ¦Mž ddé‡]?ÈÕÑU?Üÿƒ^ùŠ^ñ‚~šþ“¼]¼µ~ÿzíÉÝÓÜe¸†4zXÙ­[7mݺU£GVqq±vîÜ©­[·*''Gááázûí·åàà ´´4Íœ9S:u²8Û××Wß}÷NŸ>­»ï¾[åååuSª ãââ4hÐ •••)--M)))rrrÒ /¼`ë|}}5þ|¹»»+;;[‰‰‰²³³ÓŠ+Ô­[·jï5xð`Ýÿý*//WRR’~ûí7íØ±£Öï0|øpýôÓO S~~¾’’’”““#-Z´HÓ¦M»Ê_¾òôð¯¾úJ­[·Vnn®’’’d4õõ×_›—UWͽœúÔ_ßoYåÃ?Ô¸q㔞ž®””?^Ç×/¿übþy°™§3£Ù;d2™”™ ù‰óõíŽo-úeägheÚJ}ºåS}½ýkí:Q}võÇ’¤­G¶êo[ÿ¦…ÛêðéõÖpâì }óû7ú,á3m8°AÆš÷Ä­K­¦ ÅgÄk~â|}–ð™~Ý÷«Î]8Wë8F“Qññú<ás-þ}±² ²j­³.c×õ{%MÒ²”e’¤-™[cþ¯9l8°AF“QwGÜ­÷ïwìÙÂS÷õ¹O’´nߺf© Àµ©Q÷¬¬Ò±cG­ZµJ:pà€ŒF£‚ƒƒÕ¦Ms{{{ýüóÏêСCµmðàÁJNNÖéÓ§UTT¤V­ZÕiÌ*½{÷V||¼rrr”‘‘!www………UÛÃròäÉ?~¼RSSegg§®]»ÊÁÁA!!!š1c†E]ƒA ,ÐÛo¿­ƒêܹsæ½'Mš¤>}ú¨gÏžã=Z£GÖ”““£Ö­[«S§NÕöˆ|øá‡5jÔ(……Ußo­êZHHH¾ý½÷Þ«{î¹Ç¼üºK—.2zâ‰'lñ .õÜúÔ_ßoYÅÕÕU+V¬Ð±cÇtäȵmÛVíÚµ«Ó{hZUÁƒ­ƒ>ˆû@ññ’¤®>]uOÏ{TR^¢‡—=¬„Ì„j÷ ¢yãçÉÙÞÙb,g{g}ºåS­ß¿ÞÜ×ÖÆVoÞö¦&tŸ`1ÆÒ”¥zyíË:_qÞÜÖÓ¿§ÆtSïZwfïÔã+¯8ú¹ùé“ Ÿ¨›o·jã¼÷Û{Ú’¹ÅÜ×ÎÆNÏ^÷Þt¯Åu»®ß+ñh¢9¬LÈL°è]íÞ?š?W&]~ŸeIjaßB3ú͸l¿=9•³&ûµëWíZÿvý%I{s÷Öé™ 5QXYÅÝÝ]7ÝtS×:tè :Ôzomˇ/5æÅ|||äããsÉ>NNNŠŒ´<° sçÎêܹsý½½½-öÜ”¤ÀÀ@ÖúŒ°°°ZAI Uhhh½¯Õäý÷ß׌3Ô»woIRaa¡fÍš¥œœÍœ9³Ac_®þ*õý–UÚ¶mË:À5"6)V%çK4¦Ëµóh'_W_IRñ¹b%d&¨›o7uöî,¯–^*c×õ{õ ì«»zÜ¥e)ËÔ?¨¿úö­óÏê£ÍÕ:ûôb^-½êVæçI’üݪ×Ö½òÏñÜ¢Ü:×MV¢é½øâ‹zî¹çÌ3I÷ï߯’’¹¸¸èÙgŸmîò\ãJËKõã?*ÔÓò:\]´tÚR¹:ºjÛ±m:U|Jö¶öÕi”²¶fià ÕÂÊòŠrý2ã‹åÄÏ­~NËR–)éh’†… “$}™ü¥*ŒŠŽŠ¶˜M­± ÆÖ«Ö—×¾¬Â²BÍ9[S{Oµèÿeò—zmýkúq÷šÒkŠÅ8+X©öžíÍm±I±zãoh~â|sXùyÂçu»®ß+20RƒÁ|ø¬³j}ß‹=:ðÑzͬ¬‹ªåìŽvŽÕ®Uµ«¨yÉ;Ô„°ò:÷ôÓOëƒ>ÐîÝ»Ím=zôÐçŸ^ç¥äP›q]ÇU *%ÉÆ`£ù‰óµ&}M÷,>Y­mB· A¥$ m?TËR–)çl޹m{Öv9Û;kÖ Ë .Ð#P“zNÒ[¿PMjªusæfÙl•_’¯y›çÉd2Édª ôŠË‹%I©ÇS¥^ÿ¾gl—±A¥$Ýßç~}¶å3mËÚÖ ±ò½ê뱨ǮxŒ‹™Éöà4™¶ÕƒL¨ aåuî•W^Ñ /¼ Ã‡+//Oþþþ jî²,\n¯LÖ+¸UpíŸlùDkÒרu‹Ö2X¾®¾r°sA}»ã[‹½&«ø¹ùUk«šáwÁxÁÜVPV _W_Ùl«õô¨} ŽšjÍ/ÉW…©BÆXë}gϽì3l 6jëÞV©'R4vC¾W}5Æž•mZVî]˜­NÞ,®+8VÙÇ¥ú^ÒPÂÊ€]÷™lõ݇€õ°µ©JÒ¿þKNvNúeÆ/òláin7™Lú*ù«æª+w'w8{B¦ŠjåÑ3GëU«›“›ÎWœ×Cýªõ¾0/Ë?;kz†ÉdÒ±‚crstkÐØù½ª4Æž•}*÷ Þzd«y™~•„#•‡ÿtö¾ô>ÅðG„•€«Î`0ÈÎÖ®ÚàO¶|¢‚²y8{4xìÞ½õcÚúxÓÇK›ž9ª%;—Ôk¬AõÝÎïÔ*H㺎«v}oî^óÁ>U~Üý£¦÷n±|Aò*9eØÕgìú|¯ª>gJÏÔë]cÏÊaaÃôêúWµ4e©¦Ý4ͼŒÿTÉ)}•ü•$é–·Ô«N76ÂJÀU×Ë¿—R§jÌ‚1>B’´-k›ÒN¤]QP)Uî¹jÏ*}ÿ¡6gn¶8 ÜÉÞ©^c=2ð­I_£§~zJ ’(Â/B®N®Ê+ÊÓ¾“û”z¼YƒAö}°Ac×ç{zÊÆ`£¥)KuÁxA­œ[I’ÅaC5iŒ=+Ü4¾Ûx­H]¡;¿¼Swt¾Cö¶öZµg•r‹r5"|3+Ô a%àª‹ŽŠÖ–Ì-Úr¿$-$ÙÙØéÕQ¯êï¿ÿ]YY »‡_½6ê5½¼öe%MRÒÑ$IR„„Æv«W׿Zç±Ü´hò"=õÓSÚub—vØeq½³wg‹ R’¦GNW\FœV¦­4·ÙÙØéùáÏ›O¯ïØõù^ΚÐ}‚–¥,Ó¢m‹Ìí— +Ë쑳•W”§¸Œ8}½ýks{Ÿ€>šsûœf© Àµ‹°PoA­‚­^m{ÕxÝÃÙC?MÿIlÐáüÃrsrÓÐ!òwó—ÑdTaYaƪºÖï‡EûÄ¥ü§Îž;«0¯0 m?Tûòö):*ZažaÕÆ¨­Ö.>]´úÁÕÚ~l»vØ¥ÒòRùºúªc›Žæ=ÿÈÑÎQ‹&/R\FœÒsÓÕ¡…†¶Zí$óúŒ]Ÿï%IoÞö¦Æv«Ý9»UR^Rã{5g{g-˜´@ÉYÉJ9ž"£Ñ¨®¾]Õ¯]?Ùlšµ6׃ÉdªÛV5˜8q¢$iéÒ¥W­  ! ƒbbb4zôèæ.7ˆG}T...öç_NNŽŠŠŠêÔ7,¬½bbr4ztÝú£a6Ú¨éK¦ë/Ãÿ¢"hîr I<ö˜$iîÜœ:õ÷ññ‘‹‹KC·ôŠgV&$$˜CK 9ÅÆÆjõêÕÍ]n;vìPTTTs—ÀuåŠÂÊ\­:€+ V­Z]IrÔKTTp•]QXùä“O^­:°j—Ûûpå8`€:¨ +‡c:XÂJV°€U ¬`+XÂJV°€U ¬À m<´QSOQâÑÄæ.š a%V(¯8O‰G•_’ßÜ¥@“!¬`+X»æ.píÙ™½SoÿómÝÛç^EFêëí_+íDš¼]¼õôÍOëÿ­ø>\ö}Ð|ÏÖ#[õa܇òj饘;cÌíEçŠ4sùL ¬ÿðŸVõ.¯zM’TR^¢Ÿvÿ¤ÇvèøÙãrqpQ¯¶½tW»äîä^ãXýÛõ×Âm •r]äáì¡ãgkÉÎ%¡Ù/{1ólÁ³jëÞV’´%s‹¶Ùª±]Ç^ö¹Ó¾™¦ cEjôpöÐÇ>¾¢w‘¤3¥gtó'7«ø|±Å}kÒ×h~â|-™¶Dîcõè­·6¼¥¬‚,sÿµékµëÄ.½2ò‹qž]õ¬–§.7ÿ~ã¡Zžº\÷ô¼§^µ6æw€¦BX h°/“¾THëEGE«G;¹9¹I’¢B¢ôÍïß(»0[þnþ’¤M‡7)20RIG“´éð&Ýq·$)>#¾òžà¨Ë>/ñhbÃJ¯–^Wå]Ê+Êeok¯û>¨.>]äÙÂS…ç µ5s«¾Ùñbâc4çö9c}±õ …{…ëÛÞ«ÒN¤éãÍkñï‹õpÿ‡ÍßdõÞÕZžº\ÎöΚ9]þÊ/É×Âm õÅÖ/ê]kc}wh*„•€óvñÖŠûVÈÙÞÙ¢=*¸24‹Ïˆ×Ýw+»0[ùšÙ¦ Ê —÷ïÐìp¼‚[›gü]ʢɋd2™êT›½­ýUy—V-Zé—ѯûÕo‡~Ó©âS*¯(—$9Ø:(ùhrµ±‚[kÙ½Ëähç(Iº9ôf•Ë57~®vdï0‰Kw.•$}0î n¾l×±º}þíÊÈϨW­õÝ ©VlTÇQÕ3I4@¶6¶æp,.#N’48t°öåíÓŠ]+d4•]˜­ÌÓ™šÚkjž×7°ïU­ÿj{—¼¢>>rqqièã–V€²ö°pchê°’eà¬a%«@X À*V° „•¬a%«@X À*V° „•¬a%«@X À*V®K©ÇSöV˜bâcš»”«byêr…½¦5ékš» ÿýó+ì­0…½¦’ò’û$g%ë¾oïSÏ÷{ªÇ{=4yñdÅgÄ7q¥®„• A6Þ¬Ò~³½s­}â2â4õïSµéð&+RIy‰’Ž&é%è—½¿4aµ®„•€ëRw¿î:ðÜEGE7w)×¥sÎéŵ/j|·ñ n\cŸòŠr½°æU+4=rº’OÒö'¶ë¿†ü—L&“^ZûR­³1ܘ+@½ÍÝ4WEçŠôü°çkí³éð&+8¦ÈÀH=?üyµrn%7'7Í8K·v¼U§KOkݾuMX5kGX ¨·‡6*ì­0-HZ Ä£‰š¼x²z¼×Cw~y§Î”žQ‡·;è韟¶¸gEê …½¦~1ýd2™Ìí9E9 {+L/®}±ÚØ ™ š¸h¢º¿×]Qó¢ôé–OÍ÷-ܶP·|~‹º¼ÓE#ÿ6²Ú’â‹÷¬4šŒš¾dºÂß×?üӢ禍SôÑ E~©ã…Ç/ûŽ’d2™´tçRM\4Q=Þë¡®ïvÕ±wèëí_[¼Ÿ$%MÒ“?=©aŸSçw:+òÃH=¼ìamËÚVíÛ–ê•__Ñ€¨ë»]uç—wjà õúù4¶ô¼t}±õ ½tËKòpö¨µ_ÒÑ$IÒ¸®ãª]«jK<’Ø8E¸&Ù5w€k×öcÛõÖ†·TaªTz8{¨‹OÅgÄËd2É`0H’âÇËÆ`£S%§´7o¯:{w–$ÅŠ“$ d1öŽìc—–—êÝßÞ•££òŠóôyÂçæ¾‡NÒã+Wpë`ó¸³1Øè¯cþªq_ŽÓÓ??­•¬T€{€*ŒzbåÊ+ÎSìݱòsó»ì;šL¦Ê1ÒVZôÝ›»W¯üúŠöäìÑë·½.IÊ+ÊÓäÅ“-ú.=­ 6è·ƒ¿éë)_+20RRåÒ꩟ª=¹{Ì}wØ¥™Ëgjt§Ñ—üY\¬ãœŽª0VÔ©¯WK/%<–P§¾F“Qùå/:D·w¾ý’}3OgJ’:´éPíZ'ïN•}ÎdÖé¹n ̬4Ø/{Ñ„´îáuJ&]?>ð£$)*$J'‹Ojoî^I•³7elÒØ®cegcg(%)>£2Ä4ÀbìU{VéÞ>÷ê·G~SêS©úhüG²³±SL|Œo_¬7G¿©ÄèD%?ž¬û>(£É¨ØÄØKÖëáì¡îüH¥å¥šµb–ÎWœ×ûqïkKæEGE+*$ªNï¸2m¥V¦­TÇ65ÿîùJ~¿ësÅÏŠ×ÞgöjkôVͽs®ìªÍÝ“»G¡ž¡ZxÏB¥<•¢=ò/Mé9E«ö¬jØé*[¼}±öŸÜ¯ÿ½õ/Û·è|‘$ÉÝɽڵª¶³eg¯n®i̬4XOÿžzcÔæÙ“U¢‚+—lÇŽWgŸÎÚ“»G§JNéÖ·êXÁ1ÅŽ×Ãý–ÉdÒæÌÍêî×½Z 5$tˆþ2ü/æßê8J#ÂGhMú=?üyMì1Ñ|홡ÏhÉÎ%:pêÀekîî×]/ŽxQ/®}Q÷}{Ÿ’³’usèÍš5pVßqYê2ÙÚØjÁ¤òvñ6·GFêý1ïkÔ£´~ÿzõjÛK^-½ôôÍO별Ïôštªø”y–¦T¹¤ºÊš½kd04oü<…{…K’Z¸·Ðì[g+ãt†6Þ|Ù÷3ûLúå;ÕSNQŽÞÛøžžùÓ3òuõ½lÿ‹—Ã×õ€a% ÁªTJÒM7ÉÙÞYqqz¨ßCŠÏˆ—­ÁV‚hßÉ}š·ižÊ.”é੃Ê/É×==ï©6FßÀ¾ÕÚüÝü%I‘‘í¶6¶òqõÑÉâ“uª{r¯ÉÚtx“Ö¤¯‘‹Þó^ïQÛ;îÏÛ¯ c….>æ ò†„ ©WXÙ^ùõulÓQSzN©SWGWIRAYAµk…ç +û8¹^½\ó+ VÛá*ö¶öêØW[2·¨ìB™âÇ«WÛ^rqtQTp”Þßø¾’Ž&)íDš$ipÈàjc8Ú9Vk« k¼&ƒŒFcê>Y|RÛm—$);£ìÂìZߥ¦v£©ò9—Ú²*œüt˧*¯(WtT´îìv§|\|ä`ë ƒÁ ‘©ü’ü:Õ\_W{ÏÊ3¥gÌ'w‡¿]=L•¤ïõ$¥?›.[ƒ­‚ZI’öåíSï¶½-úVmäT§ÜسÐ(¢B¢t¾â¼6Ú¨ä£Éæý »ûu—‡³‡âÅ)þp¼œíÕ«m¯&««ÂX¡'~|B'‹OjöÈÙ²³±Ó¬ïg©°¬°Îc´÷l/g{gýþ_¿ëÀsjüï£ñI’Žž9*¯–^ŠŽŠV;vr´s”Á`Б3Gt8ÿ°Å¸AAÊ)ÊÑþ“û«=scÆÆ+zï+U5s´>ªºø ¢?¶õmW}-€3+¢j¶äqè|Åy ­ü½ÁFýÛõ׆”]˜­A!ƒdgÓtÿ;z?î}%d&èÉ!Ojjï©òlé©G¿TOÿü´>ûógµ.ÿ£‰•¼*Y÷~{¯ô˜zú÷”«£«r‹rµ/oŸ–¥.ÓÔ^S50x üÝüuàÔ-Ú¶Hwv»S’´-k›^ÿÇëæšUFu¥ÇwjÖ÷³4{älEøG(¿$_Kø[½—€_í=+[9·ÒçjÞtÌ‚1Ú“³G)O¥¨…} sû àAòwóWÒÑ$½ñ7ôÈÀGdgc§…ÛjmúZµrn¥[:ÜrUëpm#¬4Š0¯0ù¸øh_Þ>¹;¹«»owóµÁ¡ƒµ&}¤Ê@«©l8°AŸ%|¦¡í‡ê‘Hª<¸gzätÅ&Å계ÏôŸþó²ãLè6A‰Gµ]Ô¡MååšÛî½é^ý˜ö£öäîÑ´o¦™Û ƒnï|»Õœ^Wö¶özmÔkzhÙCŠMŠUlÒ¿Ok7 š}ël‹pXh4UK¿ áßÿˉ Žªñ×)« KOÿü´üÝüõîïZÌ |vس•'yÿ߬ËË1 zûö·sgŒ’»“»ìmíè¨[:Ü¢O&|¢A!•!ìˆðú똿ª“w'9Ù9ÉÛÅ[“{M֢ɋä`ë`1®££OY¬©½¦Ê«¥—íÕŧ‹>™ð‰†„¹º¤‰ ¢ÅSk`ð@µth)g{gEFjÁÝ 4ºÓèæ.€•1˜ªŽ-XœœÕ©oXX{ÅÄähôèºõ ®{ÌG’4wnNúûøøÈÅÅ¥¡[ÊÌJV°€U ¬`+XÂJV°€U ¬`+XÂJV°€U ¬`ìš»CnQ®¾Ýñ­úµë§~íú5w9¬¹¶+qÁxA ™ Úr¿ìmíÕÓ¿§ºùv«µÿ¶¬mJ9ž"£É¨®>]Õ·]_ÙøwTàFFX ¸.åœÍQL|Œ¢£¢­.¬©¶ìÂl-KY¦AÙÌÖ_rV²þûçÿÖÑ3G-ÚÒW÷|eÑVZ^ªYßÏÒÆC-Ú##õÙŸ?“›“[£× À:V®K>®>VTJ5×–]˜­˜øÙÚØ^saeZNšøî•–—*Ô3TƒCËÑÎQÉG“•™P­ÿË¿¾¬‡6ÊÃÙCwt¾Cv6vZ½wµ’Ž&é™UÏèÓ?Ú oÀV®KÞ.ÞŠŽŠnî2jd͵5Äó«ŸWiy©¦öšª—nyI¶6¶ækIG“,úfdé‡]?ÈÕÑU?ÜÿƒÜ$I |DcbÇhýþõÚ“»G½;7é;°„•€zË<©•i+5$tˆ"ü"´õÈV¥å¤©¥CKÝÖé6}•ü•zú÷ÔÐ!æ{2ò3ôÓîŸÔʹ•¦Ý4ÍÜ~ÁxAoþXá^ậÓmc÷ðë¡Í‡7kOîy8{hTÇQrut•T¹”xýþõ:VpLºµÃ­²·µ7{ñ¾F“Q ’¨ä|‰¦÷®–--ÞiÉÎ%:qö„&ö˜¨-®Ú;\ü}îéyOµÚ’Ž&iyêrIÒ–Ì-ª0V˜Çþc¨YaªÐ–Ã[”ž—® Æ i¢›Co–£ã•þHlGö¥å¤)À=@/Þò¢EP)©Ú,Ñ 6Èh2êÍA¥$y¶ðÔ}}îÓ;ÿzGëö­#¬nP„•€zË<©˜ø9Ø:胸Ÿ/IêêÓUwGÜ­…Û*.#Î"è[™¶RmúH¶6¶×uœy_Âßý®˜ø=3ô‹±í-Æ–¤÷~{OßLýFååš¾dºNœ=a¾ÖÕ§«–L[bî.ÞÒÆ`#?7?Eÿ­ô¼t}4þ#ó½?ìúAÏÿò¼Æv+?7?MÆ«ò5}Ÿ{zÞS­¶Ä£‰Z–²L’”™`±tº*¬Ü™½S¯|\YY? ?7?}2á“KdSenü\™dºl?IjaßB3ú͸l¿ªZÇt#IZ½wµŽœ>"oo "¯–^ý÷ä쑤—ç÷o×_’´7wojpý!¬4XlR¬JΗhL—1jçÑN¾®¾²1Øh`Ð@­Ý·VgÏ5Ï„Œ;§@@=sT›37kTÇQ•íq’¤¨(˱cUv¡LîþgµjÑJ›26iOî½üëËÊ.È–ƒ­ƒ¦öš*[[­Ú³Ji9iúvÇ·º¯Ï}µÖ;ºÓhmï³]_&©ù‰óõ`ß•ž—®×¾¨0¯0½>êuIºzïPÃ÷©IßÀ¾º«Ç]Z–²Lýƒú«o`_‹ëÇ Žé%¨°¬PþŠð‹ƒƒvØ¥„Ì=´ì!­{h\].ùóúhóG³6/Å«¥WÂÊÌ3™’*CÓq Æ)=/Ý|ÍÑÎQ/ A“{M6·åçI’üÝü«ÕÖ½­¤ÊY±nL„•€+-/Õü¨PÏP‹ö¨(­Þ»Z›oÖ­oUaY¡våìÒ3CŸQlb¬â3âÍA_|F¼Z·h]mÙ¯I&­™±F~n~’¤Š¡ýÅhm>¼Yƒꋉ_ÈÁÖA’4í¦iºõo·jà — +%é¹aÏ)õDªæüsŽB[‡êõ¼.ƒ š7~žœí¯ê;Ôö}.)ƒÁ`> |ÖÀY×?Oø\…e…š=r¶¦öžjqíËä/õÚú×ôãî5¥×”K>çÑÖkfe]”œ/‘$}ºåS”è®wÉÃÙC;³w*éh’^úõ%µ÷jo`Ï]8'I5.]¯j;Wq®NÏpý!¬4ظ®ãj âªfƎ׭oÕæÌͪ0V(*$Jûòö™—E”h׉]º½óí2 cŒï6ÞTJ’­ÁVýÚõÓÁS5£ï sP)I!­Cäïæ¯cÇ.[³æÞ9WcbÇè¡eI’bîŒQ{ÏöWýjû>õµ9s³l ¶Ê/É×¼Íód2™d2U†ŽÅåÅ’¤Ôã©R¯KóXÔcW\ËŪÆâóÅZýàjóìHIúëÆ¿êãÍkaòBsXi$/T$ÍA¦móíÁ  yV,¸Upíþnþ õ UÜ¡ÊåÑññòvñVÇ6¥å©Ë•y:S»svËh2jPð jcÔ´dºjæcm× Ë ëT··‹·úõת=«ÔΣníxk£¼Cmß§¾òKòUaªÐ‡ñÖÚçì¹³—§1ö¬ôvñ–$ÝÒá‹ R’¦GN×Ç›?¶XÞ¦eIRva¶:yw²è_6·qiS§\+ vñÉÏ4(xm[¤Ã§+>#Þõáæä¦óçõP¿‡jíævÙqcÏÊ.>].Ûç3N;ûT.•ßzd«†… ³è—p¤ò°Nn\„•€F18d°m[¤¯·}­¬‚,=ü¤$©•s+uöCqÚ“»Gí=Û×zðLcØ›»W/­}IÚtв{—éñ•k~â|Ýp“FvÙlïPµôùLé™j× Ôw;¿SP« ë:®Æwª:èRcÏÊ!!Cädç¤uûÖé±AYÌ®ŒMŠ•d> ¦W׿ª¥)K5í¦i p$*9¥¯’¿’T9KÀ‰°Ð(úµë';;-þ}± ƒÅÌÃÁ!ƒ›«òŠòˈs5+Ò¬ïgÉÖÆVÝù‘Zطлw¼«q ÆéÙUϪc›Ž jÔ,ïè(ƒ–¦,Õãµrn%IŠŽŠÖ#Ñšô5zê§§´ i"ü"äê䪼¢<í;¹O©ÇS{wlµeØkŒ=+]]ôPÿ‡47~®n½]£:޲8`ÇÖÆVÓûN7÷pÐønãµ"u…îüòNÝÑùÙÛÚkÕžUÊ-ÊÕˆð̬n`6Í]àÊ\t¦‹ÕhéÐR½ÚöRyE¹:{wVë­Í×¢B¢T^Q.I5îõØXžYõŒ2Ogê­Ño™¾qwr×¼ ót¾â¼f}?KeÊšå<œ=4¡û+Ò¢m‹£˜øI•ߢɋî®]'viñï‹õé–Oµ®>ŠŽŠV¿vý$IYYêäÝIÃÇë¶N·YÜÛÕ§«æŸ§”ã)JÏK·×®ö;ÔT[•7o{Sc»ŒÕîœÝ*)/±¸Öŧ‹V?¸ZÛm×®»TZ^*_W_ulÓѼds±1ØèõÛ^×ý‘÷+!3AEç‹äïæ¯›Co–‡³GµþÎöÎZ0i’³’•r=qâÄÈ‘#¡F„Ç~B݉Bï½zõŠF£€¢¢b—6Œˆˆøßÿþ"""¡¡¡=Üà²}ûö£Gr–”——;ª««‰…O‘nö‹êL,ê®ÒÒRâà$**Ú×± õõõ¿ÿþ;±¼zõj•ÁÚ/BŸL,B½*##ƒÉdË?þø£¡¡!455=xð€(ì¡ë}Õ/BŸL,êЙ3g®\¹B,S(qqq )S¦8::Šˆˆå666¥¥¥Ärss³ ±¼mÛ¶Ù³gË1117nÜxóæMCCƒªªª«««˜˜ÙQ«É¾¾¾---#FŒøá‡”””8£JLL zõêN×ÖÖ¶µµ]°`€€ÀÒ¥Kß¾} ëÖ­sqq!ë>>¡¡¡•••ÁÁÁ’’’œžžÞØØ¨¨¨haa±dÉeeebóeË–½xñ‚ìtÙ²eœûÐé\‡N÷g[ŸÐ/÷/‚ê!Äf³Ùì…  , JvìØÑî_ÍèÑ£ËËˉ:ýe={–Íf×ÕÕÍ›7¯í§zzz/^¼hÛµ££ã’%K8k*))•””ÕêëëÉšœœœœØl¶»»;±:fÌ²åÆÆF¢üÖ­[¼|ýùóçÏŸ?Ÿ³}•—/_¶ª6oÞ¼Y³f‘uªªªjjj8KHÿü󱹑‘QG{ŒôðáÃŽF„ÇýÙV—úåå‹ „:‚‰Bïµ=Œeff>øàþýû^^^zzzDU«Vu’’’:~üø7œœœˆAAÁèèh6›ýøñãS§N‘‡j___bwùùùµ=À·÷g[]ê——/‚ê&½×ö0ÖyœVTT$ }}}‰BQQQÎÊoÞ¼!Z‘‘‘D!ƒÁ ³“?ÿü³U×T*•*//§Óéä‚vqÉöíÛG¡Pˆe²‘G­]»–s ò*>¹P^^Þªµ+VpnELn€M›6yyy±X,??¿ãÇ‹ŠŠÞ¹s(Ê7ß|555äÝ•}}ýVa;VNNŽXž:u*…Ba³Ù˜˜heeEV377×ÒÒ"WãââÈå3f  ÅÎÎŽ˜ÜÀYáÓ|Âþü½ðEÜ0±@¨} cöìÙ\žKÑÐÐÀ=±¨¯¯'—£¢¢ÚV¨¬¬lUÂ9OSHèýŸ'q\§ÓéäG²²²íö¨¯¯ïààpëÖ­¦¦¦sçΩ¨¨466€ŽŽ—P9III‘Ë""""""MMMÐÐÐÀY­Õšœ_–³r™³Â§ù„ýÙÍ^zè‹ 4¸abPûBBBȬbË–-S§Nݽ{7-pËoÞ¼)--ݪ‚¼¼<ïñp¶–””dgg×nµüñÖ­[púôé¡C‡…«V­"LLLÈ»+ jjj­ZÈÈÈ —óóó‰¬444¸„§­­M.§§§[XX´j³Â§á}FGG“÷¿„††’·ðð¢¾Bƒ¾+¡ö @XXxïÞ½ööö&Lˆo[S\\œXhjj"OË€ y9ãÞ½{'N´ù@AA!""¢KÔ²±±!Oüøã999ÄrII‰YÍÚÚÚÌÌ ²²²þý÷_PRRš;w.ñ©´´´ÍÇÚÞ.ñæÍ›k×®›Í>tèQ(""ÒQ*C†Gžnqssknn€gÏž…œwÀ~Þ÷'ñ…GüÝŸé…/‚Ð ö~¾7BèÕ«WÄ34•””†N¶´´dffÖÔÔÈÉÉUUU%''}ñÅœgêêêRSSét:ñ75qâDÎ+õõõiiit:]YYY]]¼zÂ¥ëÌÌLâfH))©±cÇrÖohhHOO'ž¼É™CöîÝëææÖÖÖ‘‘‘¼|ýE‹W@,XÀb±^¾|ÙÐÐ`bbBÞuÒQ¨­¼{÷.33³±±QAAÁÐÐuJNZšõÓOåÓ§Ó?¡| B¨ßa³áèQùõëU'Mj Ë[µêfõ ÖªUïÂÂò&MjX¿^õèQù^8™€s,B=«±‘²u«Jx¸¸»{©£cm_‡ƒÐgGQ‘yäHé¸q {ö(åäˆ=Z"&Öƒùž±@õ  ¶nU‰‹£^¼XˆYB}ÈѱöâŸ8êÖ­*¬žOáÄÄ!Äg™™" eøðæ¾ä³S^^¾k×®ñãÇ1ÂÅÅ%..®Ýj,+((hùòåFFFæææ+W®Œˆˆ +?~œ˜<1þ|Î ÉI–––L&³Ý9l6;$$dÕªU“&M266¶´´\¿~}bb"ï½£^3bD3ƒAÉÌæo³øHo„Ÿ•– €š£¯ù¼TUU999åç竉‰‰Ë—/_°`A«j«W¯~ôèYòîÝ»¨¨¨¨¨¨+VìÙ³-Ztúôi&“™’’’––fhhHÔ¼~ý:±°páBAAÁ¶1455­[·ŽF£‘%ÅÅÅÅÅÅaaaoÞ¼á±wÔkTUPV&dlÌÏŸxÆ!Äg @¥â‹^uôèQ"«8{ölrròÉ“'ƒƒƒ[Uûí·ßˆãº²²ò?ÿü“’’rñâE)))8þü½{÷`È!ÖÖÖD}2™ÈÊÊJNNAAÁ… v‘UP(” 6DEE%%%]¹rÅÎÎŽ÷ÞQ¯gÎçL „Ÿ¯O¤ôÈ£wPû˜Læ;wˆåÅ‹O™2EBBÂÎÎÎÉɉ³ZKK‹¿¿?±¼yóæñãÇS©ÔI“&¹¸¸…ÿüó±°dÉbáæÍ›L&‰;;;eeå¶1´´´øùùËsçÎÝ´iÓ!C¤¤¤ÆwòäÉ.õŽzñGÊ÷÷⥄ðÊËËëêêˆåáÇ“å&&&œÕ êëßOªÝµk×®]»Zµ“ššJ,LžvìØÜ¹s¹´éââòÇ´´´„‡‡“‡|WW׎’uuu â¤ÅÇ¿üò˶xï \xÆ!„}º¥¥%ge ƒôôtbµ£i›$11±óçÏß¾}ûæÍ›/_¾¬ªªRPP055]¹rå'ôŽ( ›ï7š „µ’’ò„v…„Hnܨ’‘‘Ùk!!„>¾þPOÏ{{nÑ’’’***¼·‰s,B!Ä7˜X „Bˆo0±@!„ß`bB!¾ÁÄ!„B|ƒ‰B!„ø „Bñ &!„âL,B!Ä7˜X „Bˆo0±@!„ß`bH¼¼Ò®_Ïíë(ÚÑok¥Uœœ«L&ÛÓ3õöí|þv>7˜X „’?ÿL½~=¯¯£hG¿ ¬•Vqr®2,OÏ×ÝO,Ê®@=_›ŽHÖ­¦¬,Ú×Q´£ßÆ]O„=@wâL,BÉÚµ†}Bûúm`ÜõDØtW ~ÁÄ!4xy¥)+‹.X M–0™ì˜˜²´´&“5t¨´¥¥’¨¨`«­^¼x—”TYWÇPQ³¶VQP%·=uêžž¤ƒƒFffmttis3ËÔTÞÜ\¡U t:#<¼¨°°AU•jg§Æd²/\È5JÖÆFµm`¼7Ë%¶ÞÑv^¿®Ž‹+c±ÀÜ\aôh¹VŸVV6ÅÇ—çåÑ…„ ¥'NT¤pi“—1Bƒ&¡äÏ?SGŽ”#ZµkׯegבTTÄNœof&O¬–—7mÞü$6¶Œ¬@¥ íß?ÊÉI>Ì*°µU+(¨?zô%›ý¾Ž‹‹ö/¿˜‘›¤¤T}÷]\YY#±ª¬,ææfêéùú«¯ôÈÄ‚30›å[»‚‚òÞ¾­ç¾‹–.Õ““á^‡ÔjŽ}éíF®Î«ùë¯cÉÔáС羾ÙÍÍ,²‚ŽŽäÙ³uu%Ûm³Ó1Bƒ &¡ª¡ñÍ71õC†ˆ[[« ˜X „*33…€€Ü'RÍÌä©T!`2ÙÇ¿€±c`âDEÿ&“½aƒ‘€À÷C–•55ðØ‹©©üõë¹§N½ñöž $D€¦&&çMŸæÓbë…999uys,ªþý·HZZØÀ@( HJ “õãâÊ""Š;j­Ó1Bƒ&¡jÎõS§R*fÎ 'ï8ÈȨ•‘quÕ€Ù³5.\ȼz5çáÃÒI“”DjjZrrêâãË¿ùÆ`Ô¨öï¼hÓ‹Æ¼ŽŒ,¶··´Tf2YQQ%õõL P:ݺCŸ[/̱—ݾýé;ù††Ò…… ÷ï0™ì+ô‰™›¦¦ò°zuÜÌ™CääDÓÓkh´yy‘òòö§²v:FhðÁÄ!4PQ©Bý5‰xF•+ÙD¡²²Ø‰ãˆË‚‚”¿þš´cÇÓˆˆbÿrC1³ òöžðÝw±YYµYYµ ¤$¶{÷È-[ÄÅ?ýŸP¾ÄÖÌÌ䇕:}:F+!JæÎÕ\·ÎˆXž1cÈœ9ÁÁùþþï_3æì¬#%%tî\F»­u:FhðÁÄ!4´z…¾¾Ô½{¶•¦¥Õ0™l==)++eΧ:Êɉœ9313³6!¡¢²²Y^^DGGÒÜ\øý-$$°q£±žÞGS ‰B}})²dôh¹ððéááEEE ªªT[[µˆˆ"øxz&g`<6Ë=¶Òj¶¶ƒƒ†½½z||‹Å;V¡ÕC5~ÿÝÂÕUïÅ‹w Œ+?r¤\tt©¤¤0ùÌЮŽd(lv;óxB¨#%%%uuu\*„„Hnܨ’‘‘Ùk!õ´ŒŒZuuqò†Éªªæ… £²²joßžJ܉Х¯?ÔÓ³ÄÞžÛ_´¤¤¤ŠŠ ïmvíŒÅñãÇcc;¹u!ÔoMœ8ñÇìë(žÈÈboï´I“”44$JJ"#Kª«›'NT¬¡¶º–XÄÆÆÆÅÅM˜0¡‡¢Aõœ¸¸¸¾a 20njb†„%#GÊ;fÞ‡!!ÔouyŽÅ„ üýý{"„Prvvîë*kk•GfÅÆ–½}K01‘7N±;·„ 4ˆáäM„Ꜵ´ðŒCú: „^Ÿ=‡B!Ô)L,B!Ä7˜X „BˆopŽEgccC,899mذ¡Ocáêêê¹sçËcÆŒéÛxBñ&ýF#͸¥¥…üRïÞuøRD„B^ A!„ß`bB!¾ÁK!ƒÄ»wï|}}cccKJJDEEMLL/^|xáÂ…‚‚µk×êèè´;Ý¡ÓÖòòò–-[F,Ÿ?^PPÐÓÓóÕ«WjjjsæÌ™7og§QQQÿý7Ù©ººzOí4ص0[–_]n®iþ£Uÿ}0yRAÒo‘¿À6›m¦ê¦Dဈ!¾ÀÄb0¸}ûö²e˪ªªÈ’àà`ww÷íÛ·»»»“…îîî;wî$WÏŸ?ÿ矶îÀKkõõõä†[·n%7?wîÜþýû8@¬9rd×®]­:åÏ×FŸ›ÿ6^ZLº¯éƒÅØ}wwFE›Í®jøï¨ÿGŽ¿à¥/99yÁ‚DðÕW_ݺuËËËKQQ~ýõד'OÕbbbÈü¬Y³ùå—­[·~Zkœ6nܸaÆ   iÓ¦%‡&òŒ˜˜˜Ý»w…_~ùePP‘ ð{ Ô_œŽ;]RW2ËhV_‚PŸÁ3ž»»{ss3L™2åÒ¥KD¡¨¨èÊ•+àçŸ^¿~=…Bñòòb³Ù ¡¡qóæMaaahõ®K[ãÜdíÚµ‡###hnn~óæÍøñãÉNµµµ@HHèûï¿ïÉ]‚PßÈ©Êù3æÏývûÓÊÒú:„ú &ù"ûÌÌLò¡555ÄBqqqff¦¾¾~bb"Q2uêT"«€3f|Zkœ›Ìž=›XPVV& ËËË€ìÔÆÆ†È*€<±Ð'kf6_Iº—Çb³ÆjŒ]:v©¸°8ùii]©ÿsÿ´²´º¦: Y KK[[JÏ¿4ì§{?2Æy”óÏá?wZ™ÍfŸŠ9“3oÄ<—Ñ.=B½‹¯¾¾žXÈËËËËËk[¡²²ˆU)))ò#Îå.µÆIII‰Xúï?'âDÙ©¤¤$—N꛵âÚŠÇy‰ÕˆŒˆÀ”À«_]•£Ê@ZYšËe—º¦:²þ?‰ÿ¸ŒvùeÖ/5øKø//Š_pïô蜣C¤¹½„Ì?Ù?© éÎ7wxÉ`šMÛïlI ùþ‹ï1«@ƒ &žŽŽNii)8::¶{‰aذa ©©™ ÄÿÒÓÓ?­5ihhÝeff’…¼·€P[QYQ’¢’Ûm¶(Õ}|6³"Ó-ÌíØœcpõÙÕº¦:›¡6óFÌ““ͯÎÎŽ®mªåÒ`jYjüÛxî6´4pù´²¾Ò=Ò}£åF9Nã/§—¯XZ–úû—¿;;tZ¡‹ÏÅÅ%>>h4ÚO?ýdjúþö¶ºººÛ·oçççW4¢¢¢ 44ôÉ“'¿üª’ºÞ IDATÒú7­ñhöìÙ>€ÿý7&&fÒ¤IMMMGŽéÞ7FŸ;6°/.ºh¢bB¬Î6ËîŒÝ×wÍ<$.,.$ GŽÊRe‰ ‹Æ,ªi¬áÒà®)»jš¸Uî§+ÜÂÝÔ¤Ô¾ÿm§Á¿){³ÊU£éׯ $ÓEˆ&F@@À³gÏ8K´´´.^¼¸aÆàà`VQQaff6lØ0™‚‚‚¢¢"&“9cÆ âÖuëÖùøø¤¥¥1Œ/¾øbøðá­zá±5­[·îìÙ³™™™L&ÓÚÚzĈ………­¦h ÔUÆÊÆdVrT9[Û€çå£ÔF-6]ô"è»€ïæ˜7Bu„‘’‘¨(÷û}vOÛ=BuQ.,(,( XÓXCo¦wþ=˜0±èï¢P(äÁž—Ö´´´ÈÀtuu‰*•JŽ9’³&g§---dµAóf5Ô›ÒÊÒZ˜-‚ÂdIJQ ¨H©«2b2KÇ.]:v)”Ö•®¹¾fÙÕeÖ<m·Ánα¨o©§7ÓÛ¶@ÜtZÝXM–èÉë˜wâëk_/þg±³ù\N„L,ú».ÍiÐÖÖÖÖÖîèÓóçÏëêêÚØØhii@ZZÚž={ˆlmm‰§`ñØš¸¸xÛÀ;ŠVKK‹è„……»ô¥j¥œ^~(ìÐO¶?‰аÙì â߯kÉjiÉjÀ…„ Ô†MО@T–£ÊIŠJ–•æTå)µÛ`7çX¸Ïvo•v\zzéÞ›{[­·šª›Sþh¾³‘’ѵ¯®-ó]¶ìê2/G/K]K^¾2B&Ÿ¶råJYYÙ¡C‡ÖÖÖfee1 PVV>uêT_G‡¯†* xpûõm9¢Ú¢²º2Øjó~ö-“ææ&!"¡%«%"$’U‘UÛT+G•#ÒŽvusŽÅ(µQ­JþMû • Çko[_KVËo©ßŠk+V¬:6ç˜ý0ûîôŽPƒôþŒ|ûí·³fͪ©©yúô)1‹SJJjåʕϞ=k;‹¡~KW^×sž§ EðyÑó²º2)Q©_fýBžWX¬øBç‹ú–ú×¥¯“ “k›jÇk¿°èU˜Ú·asR–T¾²äÊÕ›nnºúìj_‡ƒ?á‹Ïˆ¥¥eHHNÏÊʪ««SPPÐ××Àä ‚Âÿ¸þ#G•3T2´Þ`^žÎb³ • EEÈ:VzVVzVõ-õ¹U¹l6[MZxpVoZ:v©¡ç•2r²DFLæâ¢‹Ï‹žS(&›Ùé% ˜X|v$$$È™• ,òâ‚° 0çM§­ˆ ‹+wëGwhËikË}4?‰3rU˜Ú4üµŠB!¾ÁÄ!„B|ƒ‰B!„ø „Bñ &!„âL,B!Ä7]»Ý´¢¢"??óæÍ= ê'ÒÒÒÔÔÔ¤¤¤ú:ÄOÉÉÉ}BhëZb‘žžžŸŸïááÑCÑ „zTCC‡oÒB!¾èZb1aÂð÷÷ï™`PA¡P6mÚôûï¿÷u ˆŸœû:„Ðà‡s,B!Ä7˜X „Bˆo0±@ lùÕùúGô„ KFéúkßEÄO55·_ßÞ|k³™‡™þýß"ëëˆê¾„ !„ºÌèW£ñZã/.ºØÓí½¿÷Îë;=Ý B|„‰Bh°IÙ’Ò×!ðŒ˜Œƒ±ÃTý© Œ†=w÷ôu8u „ê¿þ7ãĽ7÷ú6„x„s,ºàèÑ£ %22’Çú;wî¤P(Ïž=ëÉ P¯8z(àyèaçN P‡¾°Ø,ŸÇ>¶§m3žâ=åìã³mëpαhb4éÑ_s}MAuÁÆÍÿ0×?¢_ßRñoã¿ øÎüóa¿³ñ²9q¸®©Ž³'oŸ¬ \;Þs¼Éo&3ÎÎ8F;VÝXŸ DŸÉbÆäÄèÑ'þ÷8ïq/|w„xð ‹Å"ë|õÕW ¥¼¼œsC¢ðÝ»w­Úñòò6l•J5jTpp0Ðéô~øaÈ!bbb“'ONNN&i;ÇâíÛ·«V­ÒÔÔQUUuuuMMMmö©S§ŒŒŒÄÄÄôôôÜÜÜ ùQyyùöíÛ %$$TUU§NzýúuòìëàTVšš ¨yyÿFEXZÇÎù9káï¿aÄmm8x8†¾ú (øxèß~úÿÚñò‚aÀJ…Q£ 8€N‡~€!C@L &OŽ¡ogŽÅÛ·°jhj‚ˆ¨ª‚«+´7ôpê˜èé›ÛGß®¼¶oCCUU˜:®_‡Á=ôÝ–[• “u'sZév~mÂDÅ„Ì* ½<6ÝÚdô«‘¡»¡¡»¡»Ñ¯FeueEµEY‘ ³Œfñ7~„>òŒÅ‰'Î;G,çåå8p€Åb33SLL¬íæÙÙÙ&L(--%VKJJ|}}oß¾annNVsww¿zõ*¹ÉÞ½{ß¼yséÒ%¢ÄÞÞþÉ“'Är}}}IIɃRRRFŒÑÕ¯3`()¿?XY³3<|""PT ‚¢"øù×ÿ&Oœ€Cyypà°XÐõ¡‡£GáÃÐCJ 8:BTlÛ†¢£ÁÞ23¡½¡‡ìl˜0> =””€¯/ܾ À1ôà³aï^xó> =ØÛÇ¡‡úz() %ñÐ÷Yª,ç*‹Í&‹Ù¶f3³™\¦P(ÝìçX ÏÐ;cA¸r劧§gaaaMMÍåË—…„„Nž<ù ¿òƒ‚‚NŸ>]ZZZQQ±k×.ƒ1{öì’’’ÐÐÐššš¬¬¬iÓ¦úúú¶»ù?üPZZjee•@§Ó_¾|éèèX[[»jÕ*Îjׯ_?vìXaaaeeå•+Wäåå/_¾………Ož<166~üø1N¯¨¨ ÑhNNNr\º`Â8v âãaóf`0`Ñ"(+__2¤“ ¯\OO(,„š¸|„„àäÉOù•§OCi)TTÀ®]À`ÀìÙPR¡¡PSYY0mBC?ü¥¥`e @§ÃË—àèµµðñÐÃõëpìBe%\¹òòpù2„‡“'`l @£“ ú¡ïm9mx˜ý³0*;ª«íò¿ý±3£Õÿ~H +ÜM½ÛQ  0˜œ]Cèó6 ÏXìÛ·ïûï¿'–—,YrãÆ€€€·oßjiiu©ýû÷÷ÝwIJ›››OYYYXX˜™™HII9rÄÂÂâÕ«Wm·¥ÓéwïÞUVV–––“k×®3æÙ³giii†††DÍM›6ýøãûË´‹/f2™K—. ˜6mš‚‚•J?~ü¸qã@\\ÜÊÊÊʪ sΰᅦØXøóOxñ¢¢àða˜2¥ó­öíƒCK–ÀoßB‡öï‡CnnàãeeffRRpäXX@{Ct:ܽ ÊÊ ÒÒ&&píŒÏžAZ|zØ´ > =,^ L&,] 0m((• ãÇøqââ`eŸÉÐwà £§ãNÿù›˜Ø4ýiL6ónêÝ?cþìj;óGÎ÷ŽõþñÖ[­·ZêZ*J(V7VçTåÜy}GEReÍÄ5s‡ÏõŠõòŽóf²™N£œT¥T « CÓBE„DVZ¬YªlzyzÞ»<  J‡é α@Ÿ¡™XØØØp®êéé@mmmWÛá<„ hjjÖ××YA[[JJJÚn›““Ã`0&OžLd!!¡3f¼|ù2##ƒL,f̘Á¹áÌ™3 ##DEE}||Ö®]›’’bcc3jÔ(kkk¢ÓÏÂÙ³QQ`o;vð´ÉÇCzz]úá © õõÀ1ô@ŒB{C99À`ÀäÉÀ1ô $3fÀË—‘ñ_bññÐÃÌ™¢¢àãk×BJ ØØÀ¨Q`m ŸÏЪQj£›.öMòÝqç¿ÿ`Œn¿¾Ý¥vtätÍ<´÷þÞ]wwµúhõ„Õ +¯»{ên·p7ïXoïXoòÓu“Ö ´&Ü~}{ª÷Tbõׯkÿ„oÔ)¿d¿Ýww“«§ãNŸŽ; _™}u`úžè¡nç]©T*ç*q”¼B\GàœÎ mÛi5s‚B¡´-iÛTÛ ]BlBnèêꚟŸ¿wï^*•êççgbbâààPSSÓÕf¤'O ? =×äàã¡b7’—Bˆë­Æ«½¡o=s‚Bi§¤mSm+t ± ¹¡«+äçÃÞ½@¥‚Ÿ˜˜€ƒ|&Cß §Ü9e§ŽœŽ° °†ŒÆVë­[m>åN`—Ñ.þKýŒ”%•…„”%•ÇiŽ;8ý yëÇróå]œ¢?E–*+*$ª¯¨¿~ÒúoÆ}C|ºgÚž™F3e©²ÝŸ‡Ð 3 ÏXp§¬¬ ÙÙÙÄÔ××?~Ìççâéèè =|ø°¦¦†8—ÀG?~ðàÁرcÉBIIɳg?zy££ã–-[¶lÙB–,Y²„8‡Ád2CBBBBB8ëS(WWWþ†ÚïìÜ ‚»;X[? °s'Œ––ŸÞìâŰw/yIUOO/!!á›o¾QWWRVV^´hÑ“'O8b;wîüã? DDDtuu:táÂâ£qãÆ…„„8;;ëêêŠŠŠª««ùå—aaaŽŽŽüж? ‚cÇàË/aÛ¶÷%ÂÂàïrr°paûó%y$&÷ïÃŒ .ÒÒ0>ÄÄÿ†þ¿ézzß|êê $Êʰh”.=þÁÙÙüýý{,ž~mß¾}‡Š‹‹?¾G¦÷ eÓ¦M¿ÿÞÉc’?#ûöÁ¡Cyèùõ÷[RRRWWÇ¥BHˆäÆ*™Ýì!ÔÓôõ‡zz–ØÛsû‹–””TQQá½ÍAxÆ¢‡ÏüÖÑÑéëXPï*(xÿÌoz„ê &ÞÞ€CB<Ã3!„âL,B!Ä7˜X „Bˆo0±@ 0 - ·_ßöŽõöŒöÌ®ÌέÊõŒö|VøŒ¬àëu=¥Û¯žìXlÖÉG'#3#Ûý´¦±Æ3Ú³£O{®_îz.*ÄG˜X „’w ïfùÌÚtsÓQÚQÎÄ"© ‰¬óg̟ןcbщäÂd‡5í¿P·¦©§áÜûå®ç¢B|„w… „’ˉ—ó«óMÕM'hMÖ•× l´ÜhªnÚס 0áá‚Aë¡ÖŸI¿¨×t-±ˆ‹‹ËÏÏ'_–1no”F‘††F_‡Ð]Y•YpzÁiyqy²p£åƾ‹h  O7×4—“ùLúE½¦k‰…•J={vEƒú áÇÛÙÙõu ˆŸîܹ3 ‹ÌŠÌ;¯ï¼(~. |ôÏ—•žÕ˜!c¸lþ¢øERAR]sФŠõPkq¢œÉfžztJOAÏÁØ!³"3:;º™Ùlªnj®aÞª…ÊúÊø·ñyUyB‚B†Š†u& RÛ6òºäu\^œEÀf¨¶œ6°ÙìG9^—¾–‘œa4ƒ3%â[ÏɯÎO/Oß=m7YBo¦‡§‡ÖªJ©Úvø·ßn¨ - gŸÕ–Óž;|.ge6›íç--*½ÄlIGý&ä'¤•¥Õ5ÕiÈjXhX(I~ôÖ@^¢â2.¨Ot-±PPPPPPÀwS zvvv8ЃL~~~_‡Ð-YYžÑžÄòŸ1¶úTJTª£Ä¢œ^¾ùÖæØÜX²„*LÝo·ßi”0˜ ÏhO[Û‚ê‚£´£ä{]F»ü2ër“Ca‡|“|›™Íd‰ŽœÎY糺òºœd”gœ|t’¨ðKø/Ìûã /V¬ŽO‹:ví«kC†ò[»‚^½}÷¶ãý°tìR9ª— áéá0U*±šR”òÝõïÊêʈU%I%·™n­6á*U˜žžU™ek`+!"AVˆÍ=F;¶zÂêvû}×ðn¥ßÊçEÏÉOE…D·Zo]a±‚÷¨¸ ê8Ç!40è)èm´Üxûõí¬Š¬u“Ö‘g,r«ro¾¼ÙÑVLsUÀª”¢ Éz“eÄdr«rÃÒÃvßÝ­¯¨Oæ"Ï ŸEdDXëY(”Ô•„¼ñKös0v˜¤3‰¨ð0û¡²¤²©º©ºŒz£éuéë¸Ü¸íw¶û/ýïm±II¶¶z ziei‘™‘ûîï§9îUé+§QN²TÙèìèÔÒÔc´c:þÉ{l­½ŠÉ‰á¾¯fÏî$±È×SÐÓ‘Óz3}õõÕeueºòº–º–L“–EÛ²«K»Ñe´ËþÐý·_ß^8z!¹•ÿspíÜn¿.`³Ù …ÇØZ™?b~ÛË4­´½Ú©®©.>/ž<1pûõíÒºÒɺ“Ï8€†–†¥¾K+ë+yßs‡Ï=òàˆ_²™XT7V‡¦…ŽÓG¤mû%Úü:Ø9ÐÌl~Yü’÷¨€·qA½  „Ð`ö(çˆ ‹{Çy—9Øl6ØÒbÒ)E)d5e2«›¡6PZWJ–<+|¶âÚ ‹Ñªý zy®2œÌ*à /ü’ýŒ\@8……ÇiŽ»žr½Œ^¦,©Ìcl­Ì1ÿ“öÄ¢²£,y$1?¾·üž8~U˜º~ÒúU«ÈM: URTr¦ÑÌ Aiei†J†póåÍ&F“Ëh—Žún8ýJÒ•sñç\F»èÉëQ(Aòî^¢ÞÆõ2L,Bƒñ÷Zò5îÕÔ¤Õ8WÅ…Å€<\Å寣±5°Õ–Ó§åaöä‚$›En¥*¥ÊÙU˜ÚQaCKï±µÒý9áéá²TY3u3bµº±4d>šØ«)«É¹ÊK¨.£]‚^ù?÷ß3mø?÷—•š9lfGýZêZú.ñý;áï…—61šF¨Ž°3´[ff×S®Ÿˆ>Á9›áTÌ©OÕy”³û÷°ô°¸¼8à¼Ҷ߸ܸ‘j#‰»H”%•Œ"3#o¼¸‘]™=Ta(/Qõи nÂÄÞ¾}K£ÑÞ½{ׇ1\ºt鯿þ:qâÄÈ‘#ûU`ƒÀÛÊ·´4Ú»ú>ߨKEÿuÂõÄHuŽñí}f›Ì¾pá곫³NÒ™¤ ®PÓX“S•Ÿÿ͸oF©â¥Ó!¦°:`õL£™râréåé´Lš¼¸|9½¼÷cëæ‹ðŒp!¡Éº“Éc‡?þñ0û¡ý_ö–º–,6+23’¸XÓÕPG:£»ôôÒëÒ×ÆÊÆÃU†sé÷tÜé§ùO'hOЖÓN-MÊŠ¤ÊReyŒª‡Æu&°páBssó¾=+››K£Ñª««9 ûC`ƒÀB‹…æ:æ}{V ·2—–F«nøx|ûA`ŸAŠà_.í¸³#"#Â?ù¿[U$UxÌ*`†ÑŒ9&s‚_÷O€óhg)©sOÎõyl]‘1^k<ç¯| ‰Ó Nwý»ìÊììÊlP”PüeÖ/k®¯éj¨ â Ó ¦ÝsŽùï¾Óvû¨=‘¸Ë—3’Ÿ¦ýDy³¡¥Á+Ò‹ö†ÆödƒÉ맬÷ ÷¼÷âÞÍ 7‰ _„ˆÔˆ€§ÙåÙÂ‚ÂæÚæ«­W«Hš¨3W_ñYîÓÂl9õàTFi†Š´Êד¾ž2¬ÍøòÐHCKÙ¨3i%ióÆÌ[k³¶Ý© ´4Úõ§×3Ë2ÅEÄÍ´ÌV[¯–—èx|YÌ«O®Þ{q¯¤¦D^B~ê°©Ë&.þ°Û?ô[ÛXëMóέÈ";d¥åJKýãë·%010§"gŒæb‡ŒÑã±È£m`ÐÌø0¾ÎŸX|bÃÔ œŸœS‘ÏÞ~<¾ÆcGÜ÷BÜ©I«íšº«÷î}Õ/ê=žXìÚµ+99YSSsûöízzzoÞ¼qwwouýõ×_/^¼¨§§·víZcc㦦¦ÐÐгgϺºº¾zõJ@àý ä;v888899IJJÞºuËÇÇg×®]ä!“ÇFöíÛ7kÖ,uuõv/4¸¹¹]¾|Y\\|ݺuãÆ|úô©··wG§vvïÞ­¤¤´cÇcc㜜œ£G¦¤¤¬Y³&00¬¶ÿþ™3g.^¼XLLìÞ½{gϞݼy³‘‘ѱcÇ<==Ï;çééILÞ”••ý䎸ï%¾Û¸+ùm²¦¼æöÛõ”ôÞ¿q¿çÞêúë½_/Æ^ÔSÒ[k½ÖX͸‰Ñú*ôlÔY׳®¯þ÷Šœa¾ãú‡QNc$E%o%ßòyè³+pyÈ䱑}7÷Í1ËÅÂE]V½Ý nwÜ.Ç]_7eÝ8q‚‚OsŸzÓ¼ÙÐÁøíŽÎˆV’RÚ1s‡±šqNEÎÑûGS RÖ\Z¸Žc|oíŸ9bæâq‹Å„ÅwöáÙÍ×6ۙةs>æáy.úœçbObò¦¬x{ãË[GÜ÷BÜÙ³ÿ¬úE}¢g ƒqñâE))©ØØXuuu°··wppà¼÷Íf?~\UU5!!ANîý×ŽŽŽrrrGމ‹‹›4éý#u—.]êããC,Ï™3'==F£•––*++óÞÈܹs¹œ f±XžžžÂ‘‘‘d;;vìjg_1ŒsçΉ‰‰EGG… .6lØ7JJJÈÓGäáþüùjjj¼páÂáÇG­«« ¦¦¦äõ‘OîˆË^êè[2‹q1ö¢”˜Tì®XuYu°iï0ÚaäþÇ÷ßãª2ª ?%ȉ3G9q¹#wÄeÅMúa|',õYþ!òÑsÒKÒii´ÒÚRe)eÞ™;f®ÿšŽÇ—Íò ÷ŽÜi¡cA¶³cæŽV¯Ê$¿à¹èsbÂbÑ;¢ U>ìvó…Ãö»ñìFIM y!Æa”yøŸo:_MFí`ðÁ 1;­9ZWQLµLÉë#ŸÜ—½ÔÑ·F¡Þ$Ðy•nÈÊÊ¢ÓéÓ§O'² ‚Á_|A®fgg—••1™Lggg[[ÛiÓ¦M:uêÔ©·o߀ÔÔT²¦««+gãÄŽŠŠŠ.5²lÙ2îWVVÚØØYAZZº£úuuuS¦L!ö   àääÄf³Ÿ?ÿï­}+W®äÜXå¬ÀïqÙK|—U–Eo¢O7™Ndeƒ/ô9Æ·<»¬¶ŒÉb:{;Û·vlÚÔcS§›zûùmH-âßñG®mu]jdÙD®ã[–UI¯´1²!³ ‚4µƒñ-˪kª›b4…<Ø€‚¤‚ÓX'6›ý<Ÿc|-?_Ë•ÀY;Þ;â²—B¨?èÙ3 ÐÞ‰}ò¤³ÀÊÊÊÂÃÃÛ¶@΀VÓ'EDD€Édv© nùˆ€¹ÔáÔØØØ60²„ø”Ðj'ˆîøÛ—½Äw Í ÐÞ‰}ò¤Ô5Õ@YmYøëö†¦™c|?ž>)"(L³KhÈqß–P”äy|[ÛF–ŸZí¢B«{îùÒ—½„BýAÏ&C† €¤¤$ÎB‹EÎåuuu …baaáîîÞ¶^:â½âImÜÛ‰oiiî´_555xúô)‹Å"§qÀ“'OàÃ×'$&&r^æHHH ºãŒŠË:¼wÔ›†È€¤¼Ç—ÍJÎç_Yu …b¡cá¾ ½¡Qám|yn¤“ñ•U§P(ñÙñ-ÌòÍF\¨É¨ÀÓܧ,6‹óiƒOržÀ‡¯OHÌMä¼Ì‘“@t÷>*èl|yî!„ú¹ž½¢¤¤4zôèÄÄÄdzX,`0{öìÉÈÈ ë(((X[['&&¦¥¥Mš4Éæmmíû÷ïó83€/€¼¼üäÉ“333¿ýöÛÊÊ÷/ç­««ûù矉øÛ~A33³ÔÔÔ;w7¹°ÙlOOÏÿýWUUuôèÑdM777"™€ÜÜÜ7ÀôéÓ‰IIIÈÌìðö<Þ;êMJRJ£5G'æ%9L¼ò‡Ábì Ú“QÊ1¾’ Ö†Ö‰¹‰i%i“†N²1²!þ§­ }ÿå}g𥗟l09³,óÛ¿¿­¤ߦºŸïüÜî+‹”¤”Ì´ÌR‹Sw^ßIÜäÂf³=Ã=ÿ}õ¯ªŒêhMŽñ½ãF$[‘»Ñw#L7ù0¾b’ÿgï<ãšJº8| 5ôNhÒ‹(Š (6,(vl誸îêÚv-«bamkÁŽ QAE .(*‚ ]éH¯¤HMy?\ßk ¢€ÌóÛ¹sÏÌüg²xOæž9¹•¿\w„@ ýœï¾+dÿþý3fÌØ±c‡»»»ªªj~~~MM¡¡aJJ ¾{óôéÓ–––...[¶lQWW((( R©àêêÊÍÊAo5îîî–––ׯ_¿s玆†//offfkkëÖ­[Y— pŽ9bccóï¿ÿ^¹rECC£¨¨ëôÈ‘#¬ñžJJJfffZZZüüüXƒÆÆÆóçÎLgbb...çÎÂòXô¬£Ì~‡ý3ÎÌØqo‡û3wU)Õüù55†ÔÒ|÷æé…§-[ºÜpÙâ·E]F]€(PPU@­£€ëtWnVz«pŸïnyØòzôõ; w4d4xyx3ßg¶ÒZ·Úme]*À92çˆÍ ›Ÿü{%òІŒFQuÖé‘ÙGXã=•$”̘iÉiñù±•çüÿ÷«l.7\ν8'Ä'„å±èYGÑÏù¾+0}úôk×®IJJVTTÄÇÇ3 oooìö3†kooÿéÓ§ää䨨X*•ª¥¥uøða,D€z¥011‰ˆˆ3fLsssZZÚÛ·ovîÜÙa ˜8qb`` ¦¦fuuu||<•JUTT¼qãÆ’%KXÍNž<éàà••õöíÛÖÖÖ‰'㬬¬œÛÚÚâããÃÃÃÙ¶ãv«£Ìt£é×V\“–¬¨¯ˆ/ˆg0Þ+½)`9h(ehìŽX{CûO-Ÿ’‹“cóc©uT-Y­Ã³ó¹þ~{£0Q1‰Ø1FsLs[sZYÚÛ’·$Swò:ù~õ&® Ô”Õ¬þT_O­£*Š+ÞøåÆó¯¿ß'Œ²Þg½-yÛJk¨71ø`\˜•–•³…s½-¾ ><;œm;n·:B ˆ~Îȼ ­­­©©© ¯¯Ï`0ÔÕÕóóóÙÌjkksrr †šššŒŒ ^ž——WTTdjjŠû"xáÈ‘#………{Üçææ³ÅWR©Ôüü|111MMMnÓkfVeVBIö²£¢¡"¯*O–,{mÁ5Ìrœú8ŠeãÃ1E1ȱ@tÚ@ íc, k ýÞúeWfÓtu)uÇ¡Žzrz¬U’Ë’ï$ß)­+UU˜o4_Z¸ƒœîµÍµþoý“J“ZäÈrSt¦à‘x¨Äïc~¿™t3¦0†ÁdŒP±dÄ!’dUfí ÙKgÐSß§:ù|>Ìe×ä]ê’Ÿ=N:ƒ~'ùND~D+½Õ„b²lIJï½è"Kî"kœ0û6"/ÉBÍ"«2 ?éW$r"r¬þ‡š„~ èäX ˆ[ŒEpfð¦ÀMXºRÏ ¿–pmפ]øïiÿ·þ;‚wà™UR6ÝÌÖfRiÒjÿÕ5M5xÉÝ”»sæ´;ÿ• ó“—û.-ŠÅ BsBRn/¾-!(QßRWuÍuØì3öÁdüðkhN(v–’â¿ÔŸCŒÂçRß§rž‡£Ó*Šör®÷”ò~"ÿÊç]W"ü"£UGÇLJæ„bnV3­ùRì%˜¬5¹w»FüL Ç@ T¨ Ô?ýÙFo³Õ±µÕµ%ñÂóÂýÞúí¶„Ò}9ý²º²ÝOv3˜ GCÇ šè zpfðñ—ÇYihiXswÍÇæ3‡Î´Ö°+úXäïå—ìg®b>Ã`fö2ï%™Ÿü—õ_ZÒZåõå—b/åVåº=s;6ý˜ŽŒŽ“[𦞬^Q\P|ëø­ZÒZÔ깨siÔ´ Ì ‡ÎÆ•Y™‰;(Áýw\â›ì›P’°iì&qÁ/‰UŽO?¾îþºÕþ«U%TÅÅó«ó[i­Çnœ¢3¥w{GüL Ç@ Tî§Þo¦5ãK 0EgŠ‚ˆÂÉÈ“¾É¾{mö>L{ØJo]>rùßÿÆ ¦êMýë¿¿R¾4’v¿ª±j˸-kÌ×à…öºöãÎ H À &0¯/¸®/§]ÚéÚM¾8ù¿ŒÿöÛîá1S1#b‚bf*fx#Øž "ñÖ¢[C$?ï“RW]|kqbi"Çbûøíu-uœÇ޻ˡ9¡®O\§èLa§>.çCNaMaaM!ŒPa¬hÜ‹]#~>c@ *™™°Àè« MžŒ<™AÍ€¬Ê,˜;l.«ÁÜasY‹7eoàiöÓ¨Â(l&˜Ø‡Üª/ÉCõdõp¯$%&iMòëŸó!g˜Â0"  q¯†Ê€šÆšÎk[ŒÈ÷æQÆ£-[&hN8ép’õÄ“áìë_?Uoª¶¿HaMᵄkξÎG§åà!9Ýs,²³³ß½{×a:HÄOÆÅ‹ýýýûZ¢7©ªªÒÒâêœú¶$Àºtbb»ÕLk¶Lbb¬—­\žÜ¾}ÖchÚ§£ÀÚaMÑ!lÝa¡ž¦‹ó#c,|}ö>Ýk£mãîàÎvÜÝ˼—ñÅñÓõ§Ÿ˜ñ%»¿½ž½ÕY«ã/#ÇÑhÅÑ1Ý:Dè°½oËߪJ|Éž’ò>…ÉdʉÈ€¬°,¤QÓäEäY XÁrMîµÙ«);_šõA›]™ÝFoc¸L)O¬#€Ï ½2®cq6ê쉗'¦êM=>ãxûsøŠ?€†”k¡””¸ xim)Iïìè>Ä §{Ž…¶¶¶¶¶ö·b„èçî!C °CÈ~&ƪõNôþ7ì_mm(­-u}âŠÝ+u+Ÿ$ŸC¡‡4¤4°}’™™Çÿ Þœ¢3åZµiŽN?ª"þùô8:“þ4û)AÇÍ>|ú°ÿÙþ“vòñò1™L¯¯¸â8q¼Š0¿pIm ƒÉ`}›Ð3~@Œ“É<zàjüU‡#Stè"PÄ(p'ùŽ®æ^Ðt¯¯Š† yyäU :­X ˆÊxñ£UGÇÆÌ¸:CMBÄKÊ­Êm£·iIkÍ630¡˜$•&Ù^²U—R§3è5:2:Ô*ÞÈ(åQsæú%ûMð˜ ,®,-,]×\WR[ÒBkqí2Uo*f¦!¥áÿÖÿQÆ#5 µòúòʆJØb½oG_N?¦0Æú¼5EŒBk‹îòí1/r^`ûB«›ªàaúäÒ$ÀOHy’ýäjüUPVW¶äÖW©®–š.µÕ±«!VR¹U¹¶—mÕ%ÕÉ|äâÚâêÆjX1jÅ7*DüÄ Ç@ TÂ…Ùö?Û/åhÉCà±Ñ¶Ùo»_€(¼<¼—æ\úó¿?_ä¼È®Ì«!V[¬·8\ý*>àÛ´¤µ.Ç^.þXŒ­ÿ“xIöºöÓô§á6C$‡üiýçö íoË߀¿Èö Ûíuíqƒ?­ÿ\swMY]YY]°ä±è*?U²¾L)¯+/¯+ü„,4„ÉdÆdzլý9G‰—t}áõ½!{Ÿç<ÇãX¥„¤Ö˜¯Y>rù÷bà‚ 1`;+D˜Oøý¡]“våUå1€¡*®ÊË).(~iÎ%jµ¬¶LNDNQT±…Öâãäó%6€‡À³bäŠå¦Ë ?V7VK IRD)íXMÒš4î÷qï>¼c0Ú2Ú|¼|¬wŒ"‹ÌùS×\Ç`2ôdõH¼$' A V3¬PRH²×f¤#¬5¬}œ|ڗ㣣6¦C` X‘#Ës<×ÐÒPPSÐBk‘”P“Tûöw=ˆŸäX ˆD‡g…ó *r¨%G–“#~¦òùY³Mà5 5,£3H¼$ÖM§lðx±Pœöñx:ì½w‘%ËrÎê--,Ýajó!ó“±]²7 Ç@ D¯ÑûŽÅ¼¼¼z½Ùo§ß ã’~¢ÿÀX/¯.vØ÷ ýV— tý‹þȾ}û®_¿ÎVØOô8ãå•Ö×*: ß kϾ}Ñׯ³K@úXTĦ±›úZ10èý‹;v(*öò™{½B¿Öž}ûöY[[/]º”µ°Ÿèß±c´¢"ûËý~+¬=ûöEY[+/]jÀZ8€ô6~LTñÓð]‹^o³Wè·Â¸¤Ÿèß±£Ÿþ Ûo…qÉ@×@ ½ïX8p@QQÑÙÙ/¡ÑhÏŸ?OMM¥Ó麺º666lµ^¿~]WWG¡Pìììdeeñºnnnººº ,ÈÌÌ iii177·´´dk¡¾¾>00°°°PIIiæÌ™t:ÝÝÝ}Ô¨Qöööí…qß,mÁa¼¬ý¾yó&,,ŒN§[ZZš™}~¨yzz2Œ¼¼¼={ö`…ÎÎÎjjjÝšØn °[8«¨(ììü%DœFc<^”šúNgèêJÙØ¨ °ÿõú55:º¬®®•B!ÛÙ ‘•Â뺹ÅèêJ.X ›™YRÐÒB77W´´¤°µP_ߘ[XX§¤$2s¦&Îtw=j”¼½½z{aÜ7ËA[gp/k¿oÞT„…ÓéLKKŠ™™fPTTçé™Ê`0óòj÷ì‰Â ÔÔĺ5±Ý @üHÝJn¥æœÒ›L&›šš†……a—ééé³fÍÊÎÎÆ (Ê;w,,,°K*•êääŠ 9sfùòåÐÜÜ,((èàà`nn¾}ûv\íÊ•+/]º„WIHH˜>}úû÷ï±K… .̘1ã·ß~;sæL{a\6ËY[‡p/Þ¯¾¾þÁƒq›Å‹_½z•H$FFFZYY±µùâÅ kkënM,—ì °aÆSz“É'MMåÃÂæÿ_FÕ¬Y÷³³¿ÕH¡ïÜ™aañù­ •Úèäô(4´7"93qùò¡ÐÜLtwpÐ47Wܾý%þ?ãÊ•†—.MÁ«$$¼Ÿ>ýÞû÷Ÿ°Ká lf̸÷Ûo&gÎLl/ŒËf9këÎãÅûÕ×—:x0·Y¼XÿêU["‘'2²ÔÊê[›/^Ì·¶VîÖÄr9@6¸ùûå*•ÚÐÐÀÁ (ˆ¼~½\NN.ÑÐÔÔ8uŠjoÏé/šL&ËÉÉq0`ãûæ±hll´··/,,TQQ±³³ããã{öìYFFÆ´iÓÒÒÒètú´iÓÔÔÔ¦L™"!!‘››ûàÁƒ•+Wêéé=k'&&&00ÐÎÎÎÀÀ ´´ÔÏÏïòåË ,˜8q"Ô××;88¼ÿ^[[󮮠F£=yòdåÊ•]ÊãÜ,—Úº5^Ì,**êÁƒX¿ÅÅÅÞÞÞZZZ»wïVQQquuÝ·oŸššc¡¦¦Ö³Ž8ðÛill³·¿[XX§¢"jg7„÷ٳŒŒªiÓÒÒ–+(ÓéÌiÓÞ«©‰M™¢&!!›ûñÁƒœ•+ŸèéIë, ̵³S70*-mðó˺|9eÁ½‰U ¾¾ÕÁáþû÷Ÿ´µ%llÔh4Æ“'+W>éRçf¹ÔÖ­ñbfQQeäØÙ 10..®ÈööN×ҒؽÛ\EEÄÕÕbß¾(551<ÆBMýØL.;â<@辯cqóæÍÂÂB ‹aaahkk[¸páÝ»wÏŸ?¿oß¾€€€„„„… Þ¸qƒ—÷ó‘6 æææîîî·o߯J***îÝ»çàð9 ï”)S–-[„= oݺUVVfkkûàÁ>>>hllœyR0q¢ªœœPMMó»w5/_–lÚd:r¤<7½,\¨ëêú*((ÏÐÐËÆFNg<~œßÐÐßðõöD[—ãÅ‘rvöõÍ:Tº¨¨> ›FclÜhJ$~vO55Å“’*–, 2DŒ‡‡€å±èAGÄ@!esJ_KøŠ‚š‚3¯Îyˆ;'í´Óµ#òÃsÃ]C\…›¢3EE\…K›žµüÓó} !!¡   ,Ý‚‡‡V¨¨¨xçÎ쵑H Z±bE`` §§'^‘B¡Œ5ŠË^DDDîß¿?cÆŒ¬¬¬¬¬,——?vìØ’%KðØÆÐm]ŽÃÂÂBWW÷ðáÃÁÁÁXÉ¢E‹XknܸqùòåÞÞÞØ¥µµ5›cÁeGß!!RPÐl,Ý‚‡Gòÿeïܙ޽¶ y‚‚f¯Xñ800×ÓóË¿, yÔ(nuŠˆðÝ¿?sÆŒ{YYÕYYÕ //|ì˜õ’%Axlcè¶.Ç‹aa¡¨«+yøp\pðçw^‹é±&ÖܸÑtùò`oïtìÒÚZ™Í±à²#Ñ3^ä¼`0ËL—-¾+™a0£º©Úí™›ÿ[ì\nlzÖòOÏw?+D__?--íÙ³gX‚H[[[ÖÌ›ÒÒÒ>ÌÌÌŒˆˆ¨¬¬”‘‘ÑÒÒ²²²Âvx‰DWWW]]ݯD‰®®®ø‹033{÷îÝÇ‹‹‹•””=z_G/² ã²YÎÚ:¤Ëñb:thÞ¼yááá c̘1lY1–-[6|øð°°°ššƒyÝšX.ØØŽ´Ð×—JK[þìYajê:©£#ik«ÆšySZZðáÃY™™Õ%••M22‚ZZVVJØO"‘ÇÕÕBW÷«¸¬qff ïÞ­|ø0§¸¸^IIÄÁAóÑ£\ø:z‘U—ÍrÖÖ!]ŽãС±óæé„‡—0Ì1c(lY1–-3>\.,¬¨¦¦…Á`by,º5±\p0PPSà“èóªàUQM/¯¶ŒöBã…Ž†ŽP’°À{DDiú¼}ÆÇÉ;ø#®8îrìåÄÒĆ–yù):SÖYGæ'@ ­Åà¨Á$­Iû¦ì;ðü@D~D+½Õ„b²}üv=9=ÖÞã‹ã=ã=Kë[ê•Å•m´mVš­äãå³6}|»ù­I¨CÍbbÜ·ÙÙ´p˜ð.ƒ*8ôû=¨j¬=Ù¯æS_Nb‹b¹·éYË?=?â¬"‘hkkkkkË¡–®®.ÛS¯Û>CûÂôôtUUÕÅ‹?{ˆ>|Àr9°f±dÆe³œµu7ã€áÇ>¼³»††††††¬%ÝšØn °[´?Ò‚Hä±µbk˾Յ]]I¶§ ^·}:‡ö…ééUªª¢‹v‰>|hÚ·/¬¬”:Æe³œµu7ã€áÃå†ï4W¡¡´¡¡4kI·&¶[ü¹Yí¿:¯*¿L*MJ*Mªh¨Xc¾†C­[I·v‡ìÆ3Ò–Ô–\‰»UugÉA’ VX×\7ß{~ñÇÏUQQKn/yºú©„àç ë¯oì{¶o$·*÷|ôy°iì¦yFó.Å^Š+Ž¥üeuóö›Ût&}Ùˆ/[Í9PÛ\;ÿÆ|j»|™÷2¡8Áw±/î[p3„ÚæÚy7æá0 š{kZz7ý²±ôöÒ¨‚(ÎÍ>YõDCJ£Ã[˜Z,¸'šÕÜÛô¬åŸžïû*ä‡tèС‰'ª©©•••ý÷ß555&Là2-¢Ÿ”wèPÜĉ*jjbee ÿý—WSÓ-M8g¸ì·w±buÞx}CUBÕ^מÈC Ë ;q’@ ÔµÔqoÓ³–z~ÇÂÀÀ ¹¹ùÎ;x‰©©)£€èH77ÓîÜÉÂKLMå½½»H€† ìµÙ{>ú¼G´Gy]y+½//­-í,Pî~ê}ƒæfë†ïÔ”ÖtŸážP’ð4û)þ$“”¸8ç"¶¯&¡¶kÒ.»Ëv™™ØÝiè úZ‹µø[s )_Í?‡NSÄ(“´&…d‡T4TÈ’eàiöÓŠ†ŠßÇüÎ帄HBæ\’ÂZvwpŸzejBI‡O¤…¥¹‚IèÂì ’B’Ühî•ié\öËÆ7î:Ñ–Ñ^fºìZµ=!{ö„ìÁ ÇkŽO*MjjkâÞ¦g-ÿôü$Ž…]IIIhhh^^//¯‰‰É¸qã¾eKÈw¢ÃÐD—ØÙ ))YZ”—÷‘——ÇÄDvÜ8åþ÷õvú€ø~Ô6×:^w,¯+o«¹­Ó ½ï>¼€ 7lx¸ásÒU`bðåÿ*yÖwüÊâÊÐÐò9±inU.Øétšœ`™é²'YO|ßø®³\7^ß›5t—CÓ—ÓǼ "Ñ\Õ<·*·°¦PZXšË!èËéã^E—š{eZz—ýö:»&íҖѾ™x3§*G$8]új³ÕVç¬DºeÓ³–n~ÇÄÅÅûZEôJ”ÃàD\œßÑQ«¯UtÁàŒrèCî¦Ü-¯+·Ñ¶Yg¹NUBU(H v=Ùu+‰ýYVLÐôö·X×<ˆ_Å\wøãðëe”ò(=Y½Ûon¯³¶ º ¶(v•ÙªÎ"¸ë‘Ë!ˆ Š·7èLs/NK·à²_6¾1Æc¾ÑüùFóñˇi`¨üÐîÚô¬åŸ˜ŸÇ±@ ƒ¢š"ØVJH*£"ãð‹ÃÙ•Ùz²zözöݲéYË?7ȱ@ •éúÓÏFõëïÿÖ+!ó“'kO~šý·­2úQÆ£ °K,­Â~Ûý»žìÚ¼­A—Ñ.\v=DrÈŽ ;Üž»yD{xD{àåk-ÖâŸù‰ü Œœ>Ø^î©<²°¦pöõÙx‰IÈu²+öYMB­Cହgm¶§Ã ç`ß[ýv—²º²K±_%QU8ëx–—ÀÛ-›å¾Ë#ò#n/¾mªdÊ}­ŸäX ˆŠ‚¨‚÷BïÃa‡Sß§òxF(øËú/ÜÉÀø{âß4-¦(¦¶¹Ï”0Ïhž®¬®gœg\q\ucµ¤¤š„ÚT½©Ü÷¾Ìt™¶Œ¶g¼'ð¯,®íñ}á±ÕµýÃò¾‚@üPPð&@ô2f*f9Ûr:»›´1‰suuˆþO×›Œ@ ¸9@ z äX è5c@ ¢×@Ž@ ˆ^cP;G%aaa\ÚoÛ¶@ ¼yóæ{ŠB b3¨ @ ½Ë v,¶lÙÂd2­­­ûZ@ ? (AH34”7¼¹è&—ö§#O+‰+Í:뻪ê]ú›æ¦g•ÿª9/Ø §êM=ép’µäÄËç£Ï3˜ ìRATáÂì úrúýÙfP1¨W,ÚÇX¯ZµJYY™O^^ÞÉÉ)33³}ųgÏêè訫«»¹¹Ñh´'@t‡3Qgî¥ÞëkÝ£¿iþÁz~óûzËõøvºv¬wï¦Ü=u–„3\F»èÉê•ו¯ò[ÕÔÖÔomhÅâ ùùù£G®¨¨À.©Tê­[·=zjjjŠ›>|øöíÛx•]»veeeݸq£#ÄOÇ:Ëu¼ÞÎ< §g¶Ñ¶€Mc7­ô[‘qûÍíå#—÷O›ÁÆ ^±`ã?þ¨¨¨;vlBB§OŸÒÒÒëëëW­ZÅjv÷îÝcÇŽ•••UWWß¼ySRRÒÛÛûùóç}%äT7V?Îz|1æ¢g¼gd~$IÇÊËêÊNEžb0E5E§"Oaÿ•Ô–àSß§Þx}ã|ôù€”€ªÆ*¼œÎ¤ŸŠ<õ(ãäVå^K¸v)öRBIB‡½gP3|}<¢=‚2ƒ>6}€¦¶¦S‘§î§Þg³d0ç¢ÎÝLâô‡³æÎFÚ^ó×7NEžj£·À§ÖOÓzD{ÜO½ÿ©õS]sÝ©ÈSa¹al]w8]Îá&«2«¤¶d¨üPì)¼<¼Æn€§ÙOû§Í ­X|æÓ§OÁÁÁ²²²¢¢¢ ¯¯ïëëkllüæÍ›ììlmmmÌrÆ ›6mÂ>/\¸N§/Y²Äßßâĉ}¦¬ì¶ÿVÒ­Vz+^¢&¡viî¥!’C°‡"”Ô–`ÀLÅLILéçnŒ.ŒÆk ’]'»Î6htÚ©ÈS“´&•Ö– ?Êd21›yFóØÀ«T6Tn~´9ª /æ><õ°­Žmtaô…˜ ÖÖâ‚âøÝðÜðã/o»‘Ãp8hæ0RVÍï*ß:‹ü2ê—ÌŠÌÕwWW6Tb%²dY7[·S‘§_l­ar˜ zÚ‹¿—z¯øc1‡ÑÀ’K$%8Û¼Èy‘ó!G$h o0‚2‚@ à·2+21¬ö†ò†‚$Á¬Ê¬þi3AŽÅg h4š••æU`‰Ä)S¦¤¥¥åääàŽÅ”)SX+ÚÚÚ@N:è"ò#dɲ&Š¥…Ö’Q‘Só×ù-ñSU\o¹þô«ÓQŠ£¡#fO£ÐôUþ«RÊS”Ä”¬Ô­ÄÄ k Ÿ½{¶#x‡¦´¦±¢1fù¦ìMhNè8õqZÒZÔjPFÐä;Óô¦Y¨YA[á·"ƒš!Ì'I>|¼| rNgš9¯žTšôìÝ3«!VzrzDVz«Ë]—ʆÊ!’C,‡XÒô—y/·mgí‘ólpÐÓž{©÷Xݬ™ª7µKÇbÍÝ5øg=9=÷îRØeEC6K¬ö<EQÅܪÜVz+/_³á<ØŸäX|«kÜ­*=¨ˆ@ ¾½6{Õ¥Ôc cÊëÊùxùF)úðéCRiRMS öP<uVEBe½åz¼JpfpJyÊtýéG§ååùü.?¥UuöËøUÁ+" yÄx`¯9˜L&˜¢¢)å)¸™¾¬>îUöâû… 1…1°uüVÜ«a>a=Y=àåá]<|ñ‘°#ùcÕÇÀͤ› &c™é²ï:Ò!’Cp¯’J“`ݘu˜W‚$ÁµkWú}YGár6¸áÛ÷£®³n¨üPÂçà¿ÚæÚ¥·–¦QÓî¦ÜŦ{„csV°7D$~h3AŽÅg„……íììgΜyôèQ]]ÝÂÂBWW×ÔÔTcccü=¸»»c;Qùùù?~üÇÀœ9súN;1H‰)Œ9~Œ—o’Ö$U U!>!"ò#’J“ð¤í©n¬ßd_Î+ˆ*°^ ‘„®lþêRêUŸo<ÿô«ÓÞ‰ÞcÕǶÒ[ý’ýF*ìqn.Gª&©ÆZ«¶¹Ú½¹` àr6¸áÛc,†) c½ûmÌokÖ¦QÓ°Y²,”Õ•±š1˜Œ²º2QQly ¿Ù Bcñww÷ØØØ/^Œ1/$“É—.]b5sttܼyóæÍ›ñ’E‹¡ÈMâÇó"÷œ™uf‚æ¼0£"ƒs-1A1Xd²HJXŠí–‘ÛŸ˜ââW•§"®Òq/bw’ï”Ö–ÆÇÕ4Õ|Ër—#eÛ¥)& ¥µ¥ØóƒmOG¯ÌFoÅXp@WVb‹bY SÞ§4µ5ÊöO›Ar,¾„G¨««'$$ìÝ»÷ñãÇT*URRr„ ®®®ººº¬öÛ¶m³°°8sæLaa!…BY±bŶmÛúB81ØÁþx±·ï1…1¡ïBYmøxù°] 8æ*æ~É~t&ý÷1¿ã«îPÙPY^_Îe׿ªæ~oýþ û×HÑRb1ØÛXfºìö›Û·ÞÜŠ.ˆVUœ¬5™ËÆÛkæf¤í1¡˜`é›"?"š.G–[`¼ ßÚ 6¯cQZZjjj}­@ô„):S¦ëOLô{ûyËå\£¹"|"žñž¸ÍrÓå[ƒ¶>H{€]b9®Ì»²õ¿­¡9¡~É_öjÊ‘å¸ô*€ÈCôœç¹áÁ†¸â¸‡i±B2?™-ŠÂÙÔ9ª J$8Ïh÷ãj¯™›‘¶G˜OØc¶Çj¿ÕyUyyUy C–Ù1qÇæÀÍXÈðx»œçûáp EŒ¢#£óºäõë’×x¡žœÞñéÇE¾d˜m8» ºÀ#Æ׃Í!Hì·6ƒAêX¬Y³æÂ… `ee%''××r·¬µXË1pbÆ '§Ô÷©ae„¡‚ad~$™ŸŒG 8:ÈÄÅÖ6Õ2‰E2JJ\œs1·*7¡$¡º±ZRHRMBÍTÉ[T ò×[®g ÌÄ 5¥¿l“%ËÞ\t3¥<%©,©©­IE\ÅBÍ kÀÁüŒ™Cg²•s¦CÍœGÚ¡f0R0zîòüyÎóòºryùIZ“BsBáëÐTγљž^GCJãÑŠGiÔ´ô÷é?ˆð‹*)µ·ÜHW,<<<<<<º¶C ˆîSR[_˜h¤hÄæUxD{°fæf…—oùšoõŒ°Ü0 U %q%j=5,7¬¶¹Ö\ÕyˆïÇ u,âûQZ[ЬÁÇË·c¶»b.Ô·ÔwXQ„_¤w -­ZKPf^b¨`xlú±^ì`9ÑËPÄ(Ù×!U IDATë-׋ð‹LМ *¡Êv×e´ ‡‹ÞU2N}Ü«ß^EF,æåáÕ—Ó¥< A€ø® Ç@ z%1%'kôîšD—ˆ ˆNљҵÑKðtm‚@ Áȱ@ Ñk Ç@ D¯Ñ½‹˜˜˜’’ø38˜0¿¯5 z™˜˜ÞO˜ˆ@ ¬tϱÐÒÒœ:uêwRƒè'¸»»/_¾ÜÄĤ¯… zOOO ‰ž,‰@ ÜÐ=ÇBJJJJJêĉßI ¢Ÿàîînbbbooß×B½IPP™LîÚ@ ¾c@ ¢×@y,Ä@bÅê’ê;'íìk!ý…^™Ê†Ê?üa£cãlêÜKº¾;GÃ&–$²š«š¯³\ÇZBgÐR"ò#ê[êU%TçÏÇϵÐ6ýäX ˆD|q|s[3÷öKn-Ñ“ÕÛ1‘=¯öOCw'¤CZè-qÅqÚ2Ú½"éÇU™WÇV(C–a½l¡µ,÷]Ž›EäGÜJºuxêá™Cgh›~r,ÄÏL\qÜϽ‘Ísž'™ð†Î\_p?Þ¤„¤Xïž~u:®8N^D~å:…°Ü°‰7vï¥2JQTqàÚôsc@ ˜‘Ê#ûZB_b¦jÆKàíðA»™t“—‡÷Ú‚kR0V},@¸–pífÒÍ-ã¶ P›þÏ`Þôõõµ¶¶~óæM_ A =Π?Ïy¾÷éÞ_îü²ÚõÑð£ùÕùØ­¬Ê,'':ƒžú>ÕÉÇ û/£"»[Û\{%îÊï÷~wöuÞúßÖМP¼Í6z›“Óñ—Çé ú­¤[kÖ®ô[y6êlCK[ïµÍµ^ ^ëï¯_î»Ü5Ä52?šÚšœ}]Ÿ¸²7µ5-»½lÿ³ýœG´9póæÀÍøe]sÝ¢›‹œ|œ**ðÂíÁÛ×ßÿ|ÉŠ;+Üž¹uWyrYòßÁ;û:oÞþ¦¬ã k †]í¿ú—;¿üóüŸ jFEö ÉeÉuÍuªØ "y™÷ràÚôÑŠÅ7®\¹rúôiCCC¼°¸¸8<<üãÇ}( @ô§›N¯K^ã—¡9¡žqžgf™ 9¡¾¥{Q]×\‡¿±®k®€¤Ò¤Õþ«kšjðŠwSîÎ5š{Ðî 0˜Œ¸â82?ù×€_q‡#,7,$+Ä©?‰—„•¼.yýkÀ¯ÕÕŸ›ÈŸDŸmã·­4[)!(qóÍÍ壖«I¨á]Ý;As‚ŽŒŽ“[𦞬^CKÚ»k>6œ9t¦µ†µ˜€XÑÇ"¯x/¿d?só30Ë—y/ÅÅ·Žßª%­Em ž‹:—FM Ê r0p€M]îº|lúh¤`4×h®‚¨BimiHvH}K=,3]˜è“èó÷Ä¿q©>‰>’B’]:cÔÆø%û½*x…ëEæGÊeÈ|äW¯°gvta4ƒÉ°T³ì¬ÎÊËêÊv?ÙÍ`2 'hN 3èÁ™ÁÇ_gmÚ@ýóÑŸmô6[[[][)•JÅßË,Y²äòåËØçéÓ§¿{÷.<<¼¢¢[Ehßìõë×EDD¢££) ØÛÛO›6us ŽƒƒƒŸŸ_wõpôiÓp_dÖ¬Y {÷îõòò:xð ÷ ý ì'ubI"æXдsQçJXm„ù…KjKLáóîú):S®%\{öàèô£*â*X!Išý”ΠsÙõ$­I^ ^‡Ã+ˆ*XùüOJRiRå§Jmìr¡ÉÂsQçn¼¾‘P’`¤`d¤`Ôy{_1Bi„ I0,7,£"c‘Éç·'–C,ÏE"q´êh.›j•º•O’Ï¡ÐCRئ•ÌŠÌãá_oŽUëèýoØ¿Ú2Ú:2:PZ[Šm «>¶WD~cŒE:5ýMÙ›YCgánDTAÔ‘G§QUNžXšxüåñ-ã¶jõPè!˜¡?càÚôzDZÈÏϯ¬¬”‘‘Á~µ3™Ÿ_XVVV@ff&æX úûû›šš8p@WW÷Ê•+\V—••­®®ž|xxxxUUU‡ŽE^^Þ§OŸfÏžyZZZcÆŒ e3^ºtiôpÊ+Ø.÷îÝûöí[î[@ úÖêÖg_u q½wEBH¢ º ®¥Î@Î š†ÛèËéÇÆXŸ·¦ˆQ@Ø5y×(åQsæú%ûMð˜ ,®,-,]×\WR[ÒBkqí2Uo*7]V=MoÚ£ŒGξβdYQ…²º²Ê†ÊµkqÇBJHjšþ4,v¡[©H¼¤QÊ£ÂóÂ÷Z,Õ,O¼<ñªàÕ(åQß²5`¼ÆxŠIRi’í%[u)u:ƒ^PS #£Cm ²ÚŒVS3ãê 5 5/)·*·Þ¦%­5gØœ^ù1>}Øýd÷¾§û(bqñòúr,…ÆpÊp{Ý/Ç2o›°ÍÉÇéBÌ…iäÈr™•™-´S%S|çȵéçôN‚¬††¨¬¬|þüùóçÏCCC_¼xñâÅ‹ÔÔTÀc€D"ñòò€ŠŠŠ°°0—Õ›šš@ZZº[ªètn|`477 Ê V‚Ýe-ÁáãããÐ&¾ý›|m†%%¥èa£C%l°F0mÄÅHÑÈu²« I°ècQrY2@8l˜í‡òŸÖÊeÊêÊâ‹ããŠã°<ÿØþ³câY²lñÇâ¤Ò¤Üª\“a¯kÏ!ïB{ŽÍ8¶Îr¿HECErYreC¥©’é)¬6Xœ,YÖN×®[CÃÕ‚$ÁJ#°CCl…Š÷ ^ÞKs.×Ocв+³s«r-T-ÚµrI .̾0gØ`BnUnfE&A·Ñ¶ñvò ü‘]b o°Ìt™0ŸpaMaryrEC…0Ÿð2ÓeWç_eÍð=œ2Üc¶‡¢¨âûú÷ÉåÉmô¶):S}ú×_8qâž={ÌÍÍ'MšÔeu‰deeõòåË•+Wž8qûµÝÐÐpòäÉíÛ·óððhhh€»»ûùóçyxxh4Ú¾}ûØž¯ØÞËÜÜ\++«G!##3|øðÄÄÄmÛ¶ýóÏ?$‰Édž>}úéÓ§òòòFFܾm߬‘‘QbbâÁƒ·nÝŠÉÛµkWNNN—»ÔÃÍÀ1ÜÜÜ,,,LMM °°pýúõ`ccÓ³A!}Eû£1I‚úrúø¥Š¸ 9ÁKàÅØ jj¬É11x<¬y/8rhè úÁЃ<ž¹FFvw†˜€XûîX‡‰Ã:!ÝR.G–÷ƒòù;´æ6Tè ¬»"¿¼<¼ÊâʸÙ¡} îO`Óoéµ]!§OŸ¶´´tqqÙ²e‹ººº€€@AA•JWWW‰äããsþüùùóçc[oß¾=|øp''§ÄÄD%%¥.«»»»[ZZ^¿~ýÎ;¼¼¼™™™­­­Ø£záÂ…ÿý÷Å‹=z¤¤¤”››ÛÐÐ`ddĺ*`bb...çÎÂòX°âÈ‘#666ÿþûï•+W444ŠŠŠ0 GŽá2J´Cöïß?cÆŒ;v¸»»«ªªæçç×ÔÔ¦¤¤`/†:£K=Ü CIIÉÌÌLKK‹ŸŸ›:ccãùóç÷xP¢32*2ö?Ý_\[\^Wn§kÇ–Îa•ÿªO-ì‰ 0„ù…/͹ôC4"ß‹^;„lèС±±±öööŸ>}JNNŽ¥R©ZZZ‡æããKKKsqqÑÕÕÅ7SÈËËûúúÖÔÔÌ›7¯­­su011‰ˆˆ3fLsssZZÚÛ·ovî܉=˜ååå¯\¹"&&VVV÷¿öî<¬©+ïøÉB $(‹ÙDPêRIµ‚€¢£¶ÖZ[mûXÔ>Z§Z[µÖµ>N¡ãˆ¥Z·Ž­«¢mÝFÁAJ1"Z(‹A1€@5@òþq;·y„€0õûyúGr8÷œ_îSÌ—{Ͻ—Ëåž:uÊÏÏO»B©TúÖ[oµ¶¶fdd$%%uzµgHHÈ™3g$IuuuFF†B¡pttüöÛo,Xð$;gÆŒ‡¶±±©¨¨ÈÈÈP«ÕGŽ¡NCPÇQºÒm=†|pÊ®]»fΜùÛo¿Ý¾}[¥R…„„\¸p>8 ¢žNR^Wînëþñäu~šY’™^’Þé™%™`DXÞ‚B]µA_Ù)¥RYPP V«]]] úý†çyyy<ðôôÔY©••USS3räHz%c§›kS(r¹\(J$õÍÍÍÙÙÙ\.×××—Çãåää(Šàà`íƒ ………---ÖÖÖ%%%………:k ¨;]zyyi¯{¸wï^qqqPPv  Ÿ{î9z9j§T*u’ÂÇÇG­V»»»óù|¹\®gänë1䃯]»vÇŽ2™,  ¬¬¬¸¸ØÉÉièСg¡±X¬˜˜˜iÓ¦ééFgùòå@ÿï¯! µàº+çÏ V¬êéO‰dXLŒbÚ4}¿Ñ Gw7`þY!B¡pôèÑ:žžžÚ×LÒ:.\ètsmb±¸«Ohff¦}=ª·····îMöööÚ…võ¬‰D"‘tr~ËÝÝÝÝÝÝF;wî|çw¨»ˆÖÕÕ-[¶L¡P,Y²ÄÀAºª‡bȧ899aÁ&ôgý!dýfÆ k×®¥Ž²äçç766 ‚5kÖ t]Lblè·zõj>Ÿÿ믿fee566úûû'&&R7øÓÀ‹~²yóæO>ù¤¨¨¨²²ÒÑÑÑÅÅ¥ûm²xñ∈=gR˜‚`Ѹ\®þ¥}Ä% ŒÀ©` ‚0Áƒ`Ð¥Re©ä3ÉæK›ºè[#>1ÿè|í–Y'¦˜êí+ùLr¥àÊ@fŒ, o ÿûð…Çt=v?mÝ…uùUù-m-]‹ñéñU!iiiÔ½áÏíСCçÏŸè*€I·nÝ è*Œ@b~"!$fVL˜gXOy=Û_ãÇï£:à©âìì,‰ô? ŒNpp0~… ñðñCBÈdÉd¤Š^èÙ.[µjUÕЭ–¶ßhßPÐ ¡v\Ý‘z?µ¶©öö·ÍMÌ‹jŠŽÞ²2™¬LVQ_±tüRº±®¹îÕ#¯–Ô–PoS‹R[°8AÄÿýéÊ›.mŠ“ÅQ¯KjKv\Ýq÷á]Ù?»úÙ_ÐoUüº5a«¬L¶ó/;µ+œwt^y]9õ6>;¾¶©öÕ€Wß=õn»ºÒÔÚ›kcnófЛÝ~^ª>»úÙ]…nUq²¸—6ÒO«.U–L?˜Z”z|Áq¾ ßÀoÈ ½Þù¸';N×ÑÂc S‹RõÌE¹uq˜í0ý}ô¸Zp5êdý¶ðQaá£Â‡~1û‹žVû§‡`F&£$#Ð)0ö¥X/{/3®Õ(±•D rr:7·5çVän¼¸qoÚÞ¨qQ‡ê“^’>fȘ]3wyØy(ê/nL-Jýñîo½E¹]~;N'0lÝ" iS·ýç·ÿüíÊß´§¾«¸{à—f\³5/®‰aÂ1Iº—ôiâ§g~=éêJW8Áu¾9ûÜlÜò*óVü°ârÁåÌÒÌ·‚Þz3èMk¾õ•‚+œùà`úÁnƒEÖƒ,ª.å]Ú~y»vŸ’Ú’- [¬L­Ö¾¸vÒ°IB¾°¸¦xWÊ® ¹g¦¿Ýõ|ééÎr*X[0üïÃÇûͼoz±';N×§¦xN)X[°4~ib~âÝÕwM¹¦T;µêbÕ «^ñÅšo]ª,½Qtã~Í}ímû¿Ú§‚só¯^þÊÆÜF»qKØ–=?ïÙûóÞòºrU»Šn/S– µJ½ñEûæì£컊\7„n˜z`jnE.õÓ‹¿]$„|8é×G¼Lµ¼1ê e³rçõ?þ€¾{²|Âò£P-3}g²Yì•?­<—sŽþ:´1·Ùóòê0¸ÿ`ÿEcmIØ2ÚyôºÉë¨Ó½§ÿx÷Ç«W›Z›èƒº˜§[ÕüÀùÊfåçIŸÓ}~¸óC›ºm[Ä6úÄÄNò¯¿ü+³43!/Îú?¾ƒôzçë0pOv:]GÚ‘¥8X:PE "„¸Ù¸¹Ùè>EÒÀjÿô,ÀÈøˆ}tþíV6+_úæ%úÔƒ¶æÖfúµ¯ƒ/õµJb=„RßRO½¥þú”ºIµ7Áíí`QT]D™,™¬Ý‡z«ýÇ«¯ØWû亓Љ2fÈí­- !U UT])®)îX•ÔMª,ò«ò !ïÿôþû?½OÈÐ õ‚EX~|éõÎ×aàžì8Ý@yû¹·ÓKÒ#ENtŸèçàççàädÂ1ÑîóôT;°,ÀÈXó­uZâ³ãËëÊÃ<ÃÞ ~ÏEäÂçòY,Ö†‹è¥ £ÓÚß—=Âbu³!}ü\O#5ˆZcÐixRéejjõ†íãú?¾ƒôzçwªÛ=ÙqºNõà ©àÛ׾ͫÌû¥ø—ÜŠÜ“·OV7VoÛéÙÓjÿô,ÀèQÖ0ñú›CÕ®J»ŸÖ£A\D.„dyòë¯Ó×å×µû¸Ú¸B®\õ°ó ¯^£7gÜPÑPBÈõ{×_õGU7Šnh÷¡>õáy‡'¸NèõD½ÄÏ"¬¶ö6í–þß“Œðäé9È“z½ìô²ÕgW» Í„v DÕ @IDAT[ÕÓÁŒž£•#!dÿ/ûß—¾oͷίÌß™¼S^-ïÑ áÃÿJûê×þaÆ5 ‘„´kÚ/ä^ø2õKí>S½¦îýyïî»-L-Â=ÃM8&×ï]ßš°•2ÍkƒŸH»ª}iû¢“¢-x“†MRkÔ—ò.ŦÆj÷™=böÞŸ÷®úiÕꉫƒÝ‚í,ì”ÍÊ¢š¢s9çıþK3ž|Cv¾5ß:¿*¿¸¶ØYèL]MÊìžì‡5ëίs°r‘„¸ˆ\L8&¿Uþ–_•ßÚÞªx¬@°Ð`Fo†ÏŒØÔØ“·Ož¼}’j˜ ¦xNIÈK0|ÿÁþ¯¾'‹[sn Ý8Ý{úÙœ³ô[_±ï¢1‹¦ÜtqÓ¦‹›´»MñœòÄŸ£#œ;rîñ¬ã«Ï®¦#½#Ï圣Oð»Š\?øtÃÅ ë.¬ÓÙ|ɸ%NÔëA Ùùㆎ;›svòÞßWTP÷±èç=ù„>~xâö‰Ý)»µ}Ä>;É@•ôÔB°£7Øjð‘׎츶ãÎÃ;l{´óè&}DÏnKØkêYbx^À¼é>ÿ/XBÖM^çeïuä¿Gòªþw[§sèKú¶ˆm."—ïo}_þ¸œºmׇçrÎY™ZÑ}掜ëeïu(ýPzIzucµ¹«È5Ò;r¦ïLÃ'êÝ †ìüõ!ëÛÔmiÅiÊf%½@¤ÿ÷䓨¹ãä퓉ù‰òj¹†h­#†G¼ýÜÛ†ÜâìYÃÒY ŸB¡¨¯¯×ÓáüyÁŠâ‚‚Â~+éY³5aë7ÿý&vvløð𮌛D2,&F1mš¾ßh@ ‹ G,žjdzŽW7VOñœâ$tª¨¯8•}ê¨ì¨ÏBê.í~c€~‡`0w>nyÜé,M-e+euÍuÑIÑÑIÑÚ?Z²þÙ|<ý,žj¯¼Z×Rw9ÿrqm1‡Íñ±÷ygì;:·–xz X $ÙJ™þ–¦–«^Xµê<\Œ–³c,€1À ` ‚0Áƒ`ŒA°0>uÍu1)1× ¯=SSƒQ@°0>u-,nj0 À ` žF£]Ó{#ÖÝÖ}º÷ôÂG…©E©5M5ïŽ÷ÈÍ#¦\Óùó©n­í­{~ÞCygì;ô#@gW6+£ÆFõga&BHucuzIzqM1—Ãõ´óï:žÃâtºaŠ:±à½á­·®\™è>ÑÃÎCQ¯8ŸsþxÖñéÞÓŸw}žÒ jX¿¤²¾ÒÍÆ-Ø-¸]Ýžt/iÝùuÝÀf±£NFe—g; ¥îR¡™ð~ÍýÄüÄ/|,±“8t[žáSÐ,ÀÈ*¬4µ6-ˆ[PÝX­¿€ ¹²Ë³gøÌˆžÍaÿ~v#»<{Î7s¾Îøz×Ì]Ý–gøÔ4 02n6n:_Þ."—!ÖCRŠR!5M599süçx‚ïþø î£•cŠ<Å^`ïaçÑÕ˜³ýf÷Ea„[n½ýýÛmê6öG è`ácïC§ BȤa“!õÔÛ›¥7 !ï¿G}µBø&üeÏ/‹:©{ZG§€E7!æ&æ{ÓöR'Y4†h¬Ì¬²Ë³ )Ïð©h`d\m\;6»ÇÉâÊ”e7Ënj4©›Ô‚gAI‘§„x„äVæÎò¥gÌ'\cÑUai÷Ó>OúœÇá…z„ºˆ\Ìyæ,ÂJ–'ËÊdjšî6Øj°öVÔJúË^Ù¬$„8 µû ±ÒmÔq…ï³¾ïªànË3|j‚k(\'ÄÉâRŠRn–Þt:Qk=y&Ë“M¹¦FÏyÂÐ‹Ž…]-¼JùböÔ9JNEŽþ‰tÍ„„Re©½Àžnì4é ä !¯¾nka«ÓÓŒkfHy†O @C°€?ƒç]žç°9É÷’ee2êT!d‚ë„ÓwNó8<ªƒžÍYcÑ‹Å"„LtKÚý´+ùWz4È(çQñÙñ»Svk/t /ýÐcüÐñ'²N´kÚ—OXÎfýq×¢ÊúÊòÇ冔×ë©áY†`VfV~b¿Ë—[Û[¥îRªQê&ý:ãëó¹ç½ì½ éÙœ‘5:B–œ\1‘ÿÎü÷±[Ç’åÉÏ»>okn[×\WTS”^œ¾hÌ"ÿÁþÝ–×ë©áY†` c±!D£ùýE¿‘ºK³Ê³8lÎx—ñT˘¡cxžª]5ÁuB¿–ò?áÃÃgøÌ8óë™·¿¸ô•‘¯Xò,e2| žÅW/µ8~±¼Z.¯–Bì,ì¶Oݾ4~©þ 9,ÎÁ¹ל[s¥àʉ¬?®n Äþƒý )¯×SƒQ n›Âøï)‚0ÌÜ\Minfóùên;÷—Ã]¼ÂÝÖ½ÓŸÎôÉf±E|µ2€bÆ5Û8ecE}EÄðf+1¼°Ù9?pþ‡wX,Öh§Ñ#H‘§LÔº‡N7¤%vºeÄà‰‹©Û_Š-Å¡¡fEð *è)@Ä훳¯ðQafifucµ¹«È5È9ˆ¾úTy†L Æ«¡Mþ=eÑ7z0„B¡¨¯¯×Ó!'ÇtÆ ç‹‹‡ kí·ª § yááCΜ)ñöVéé&Äb±áÃâ!dÀ°aÃT\®æî]Ó.ô¹s‡ÇåjÿÁÆãiFj¾~Ý|  }®_75ª™ÇcøÄ‚0/,¬!!Á‚:ƒ O¡†vb¢Exxã#ãט7{öcµšõÝwV]tî»ï¬ÔjÖ¬YÁ˜'ª£¢j¿øBTQÑÉ]2``UUq¾üRU+2|IA°€>U#ªÿùOÝ›IÀ€‹Ž¶µ´TGEÕôÅàÐ'ø|ÍúõUññ–§NYt-ð‡S§,ãã-ׯ¯âóûä~ÐWÂÖ,©ùøãAiiü®!$3Óì“O-]ZÓË6)ЇV­ª m\¾Ü!#Ãl kxÖed˜-]:xò䯕+«ûn èCl6‰ŽVŒ×´p¡#Ή  S§,.t7®):ZÁîË/ è[ffšÝ».ZT»fýÚµöUU¸N _UUqÖ®µ_³Æ~Ñ¢ÚÝ»š™õí£<ð¬è™nŸÒ•K—,¶m³««c/[V3~…ó×¹€¶†öwßYůЬ¬ÔŸ|RÖ›u=}V‚ôL¯ƒ!¤©‰µ¿hÿ~k6[Úð ~~*‡6„ ¦Ô׳>ä޽˻~Ý<1ÑB­fEEÕFEÕôú è[O,(J%ûôiË„‹ÌL³övS…ÃÑ5‡…5Ìšõø ï‚…`}ëɃM¥bðªª8xªS,,Ôvv퉊©§‹õ4Xp™ x•õÁ¨4¨F¥@}0* êƒQiPŒJ€ú`T ];räKÁ±cÇêŠ PŒ|úôiSÂjíWõd@m222ûöík``ÀårÍÌÌúöíëããS×™¨F¥Úµ3fÈd2@P­¾ªªjúôéà?ÿùOyy9mÛ¶-..®ÞU «µßº’©©fzMÔì 6# æöôéÓ~ýúmݺõï¿ÿÞ²eKjjêãLJ~üøñôôtufm F¥ 111G-))9}úôÍ›75NuÍžž6ï¯s[³f 3ú<{öl???33333³;w«3 hc0* µptt|ë­·x<ž§§§«««¦Ó©®ÙÓÓæýÕ`nW®\a nnnòJ‡“››«XÐ :šN´‘®®îñãÇ5Eš==mÞ_ æ–——ÇLLL4’´I˜+ Õ©òÔÁsçÎ 4ˆÏç ‚8p Ö¦T S®GòdfÏž­$½‚‚‚uëÖ 0ÀÐÐPWW×ÒÒr„ GŽiôþ6®Aªã©&L׸»»3‘¡¡¡Š‘GŽ éÖ­›ŽŽ‹Å ¬÷±aaaï¾û®µµ5—ËíÒ¥Ë'Ÿ|RZZª˜ÌÍ›7½¼¼LLL¸\n=¶lÙÒ»woùæ½{÷®™xx8‹Å*..f^N›6õ:}}}ÅøF(hdÐîÉ0xôèQ%•Š12dÈ‹/˜§á15Ÿ|òIƒÂTï÷§Ÿ~êСÃùóç•çüäÉ“Ž;‘P(¼|ùr~~~HHãíí]YYÙЃÐÄCRRS¹bÅ ¦fèСµöngg·aÆÜÜÜ}ûöÑ­[·ê=P:t¸}ûvAAÁ¤I“˜šeË–ÉÃ.\¸ ««KD†††×®]ËËË[²d‰<±°°°“'N05zzzò°&(ho0WãÓO?íСCçΗ/_ÎÔ„††ÆÇÇ7.¬.2™lÍš5kÖ¬¹råÊØ±c•ðÁÏŸ?'"ŸQ£Fщ'ÂÃÃUß»jP666+W®466þðÃMMMUÙÄ×××ÅÅE$½ýöÛLÍÉ“'å?]´hQee%ùøø 6ÌÈÈ($$„§n.9PÐzaT£{÷îÕ R©ôüùó «•X,öññY·n››[Ïž=•§¦¦FFF2å=z06›ÝµkW¦Ì¬&¡¯¯¯¸ …<²Ñ 6;ù|g"ÊÎÎ0`@½›ÈÓ …L!%%…)$''?~ü˜)ËOP(´´´l®„5u  õÂÓ 1ø|>Sàñxòʬ¬¬Æ…ÕÊßߟÍfÑwß}çàà¨$8==]^VìK¾üqZZš*¶\ƒ*²¶¶nè&Õ–x&"™LƲ³³k “/ÍÑtš:PÐza®44FII SP|°ž¹¹yãÂjõÉ'ŸDFFÑŠ+N:¥$Xq0W±¯²²²šªhzƒ,«feµçÖÄårUMQfffµv-‹«E–——Oš4ÉØØø›o¾iPÍ~ä Íè44Fbbbµ‹Å7n\ãÂjeooïäätäÈ6›-•JgÍšu÷îݺ‚­­­‡^­/©Tš””Ä”gΜIDeeeŠOYIHHhbƒJ(ŽÆ1%=¶„Î;ÛÛÛ3eù^eddT‹5·ešÍÏÏÿüóÏßxã ¡P¨££cnn>nܸC‡I¥Ò†„¦4(—’’2sæL+++]]ÝN:-Y²Äßß_±£ØØØš½QRRRƒÔ²eËV­ZU­ò»ï¾c¹qãÆ¤I“ŒŒŒtuu»wï¾yóæ^½z11Û¶mcbÊÊÊ&L˜`hhøÕW_ÕÚ¯ò.šx  ]aÉ>Z5[[Û””":tèVØ5à mÙ™3glmm'£ddd0 ¡ðùü1cÆh.5h§0* ÐH¬º}þùçšÎî•””??¿gÏž•••ÅÄÄÌš5K&“éèèìÙ³ÇÜÜ\ÓÙ@»ƒQi€¶l„ ¿þúkqqñ¸qãLLL ôüùó¹sçþõ×_³gÏÖtvÐa]iPÌ•õÁ¨4¨F¥@}0* êƒQiPŒJ€ú`TÔ£Ò >•õÁ¨4¨F¥@}0* êƒQiPŒJ€ú`TÔ£Ò >•õÑÑtÐv$&&j:ЀîÝ»«Œ¹Ò >•õÁ¨4¨F¥@}0* êƒQiPŒJ€ú`TÔ£Ò >:šN ùùì'O¸……œŠ –¦s€Zp¹2‘HÒ³g…‘‘TÓ¹@$“Ñ‹ºÏŸërd2Mgµ¤ff’=*¸\¼K Á0* ZäÉîÑ£Â+WIIºšÎTÒµk¥‡‡ØÇ§¨gÏ Mç­žDB‚Ó§ "#ùøJ@+ÀáÈ\\ÊÆ{{âï” *– óO ™$&&6zÛädÝ L/]tî\9~¼ØÍ­ÔÎ®ÂØX‚Ù7Ú©¢‚•—ljçFGóÎ$'ëŽ- ÊéܹRÓ©Akué’`ÃÓgÏt *=º¤ÿ²Î+ %lŒNh%±˜žÎyøPïÚ5þ… ©”5wnþܹy<þóÐNuïÞ]õ`ŒJ@³iܨty9kçN“o¿5ìÒ¥rÅŠœáÃKXX´ U‘ÉèÚ5þ_˜>}ªûÁ‹åêéáÐÉɺkÖ˜ýñßË«xÉ’\üm Õ‹Ù‡‰ví2‰¤ÁÁÙãÆ‰5hF¥@31*“ÃY°À*1‘ûñǹï¼SÈáà  µ’HX‡‰ÂÂLºw¯Ø½;ÝÔT¢éŒ uˆŠâ-ZdecS¹fMö€ešN/;›jzü¸pþü¼eËr1Ï ½Á¨4hFCG¥Ÿ<áÎkÍáȾù&­{wÌŒh uçͳ–HX{÷¦a¥i¨×?ŠÖ¬1›8Q¼iS&¦Ø´ ?ÿ,\µÊ|ôè’ÐÐ }}¼¯Ú‘Jc¡>ÐŒ´4÷Þ³±²ª:~<CÒmF÷î•ǧXYU½÷žMZª Êœ>ml¾paþ—_f`H Íxë­¢ƒS££y–R<þê€QiЀÒRÖGY …’o¾I32Â×üÚ##ÉþýiÆÆ’yó¬JJð? ¨]l¬^PÅä/^Œ¯ù´5®®e»w§]¾Ì 3Ñt. ¥ð»"h@PEJŠÎþýi"¦Ð´AtÏž´ÌLU«Ì5 h£ü|Îܹփ—¬X‘£é\ E P¶~}ÖîÝÆçÎ 4 h#ŒJ€ºÝ¸Á;}Úà‹/2mm«4 ´[Ûª/¾È<}ÚàÆ ž¦s­fÌfÓ—_f²ñ_Q€¶ë­·Š¦N-úßÿÌJKñ…¨¿ €ZI$bæá!9²DÓ¹@Ë9²ÄãäóÏÍ$ŒGÀ+Ožp-_žc`€¯Ë´qË—ç±÷î5Öt" uð"P«3g„ ºááéšNZÐúõë8 akkÛ¸¦âââŽ9rçÎÔÔÔÒÒRSSS ‡!C† <ØØ¿åj»  ì :ž9c0yr‘¦smjÒ·oÅ”)¸$´T?ÃÓÓÓÝÝÝký‘ŽŽŽ±±±ƒƒÃ´iÓ&L˜ÐÄwî\».//_µj•——×ÿýßÿYZZ~ÿý÷÷îÝûùçŸß{ォW¯.^¼Ø××·‰]€téR9v¬øða‘¦m‘ž®!ðõÍÇÕ@#ŸáVVV Û¶m“×9r$>>>222000''çêÕ«þþþ;vìhtu1ݰÁâ“Odúú©<»v-wñbÝgÏ„ÇÛz{‹þïÿš½;PÑ;ï²Ù²“'…šN´KƒçJO›6­%òÐC†”°Ù²7x“&k:мèhž›[©®®LÓ‰´ šú W¢[·nL¡¢¢";;»cÇŽÍÛ~éðáÌ4£dÈÁ¹sDÄ’HxׯWΘѼ݊† +Y±Â¢¢‚Ååâ½õKO×¹tIð矼¸8nv6G,Æ7¼´›M"‘´cÇÊ>}ʇ +1¢D_òÐ0YWúã?ž>}z³§¤ž¯A<~ÌíÖ­’ÇýªÕàóùT¿ßÿ=SÐÕÕuss«ð¿ÿýO½Aãñx²nÝ*ã㹓&i:Ðsÿó¬(­&šú W">>ž)ÚØØ4oãY7V«‘Š–’á¿Ó·oEU+1Q×Þ¾BÓ¹€V{ü˜»m›É•+}}éàÁ¥S¦YYIðh\í$•R~>;9Y÷î]ý£GEÒ3 ,È ñžUái‡ >YY:ÖÖUšÎTuüøñ+VÈ_~ýõ×cÇŽeÊEEE¸téÒÓ§OKKKŒŒ¦NêééY³ÈÈÈcÇŽÅÇdzX¬ž={Κ5kêÔ©Jú-,,Œ‹‹cÊ;vÔÑÁ­ªÕ³²ªÊÊÂy"¢Œ nê¡©ÏðZI$’ôôô'Nœ>}šˆLLL¶lÙRí{0Šº¸¹q²³k’¯_·Z°@ïÁæeRLŒ”ϯ·_Ý”y¹¬_¿†¦ ÍÅÊªŠˆ²²t0* uÉÏg‡…™9bØ·où¶mcƈñ­€V$;›sì˜èÛo æNZÈÆ—@øÔ§´”Åãá§­ÆÔ©S§NêààPQñÚïÉÉɳgÏNKK{öìéÓ§ÏÁƒÃÂÂ"##Ïž=»sçÎj 'Nœøê«¯ªªª,X“˜˜øÉ'ŸÔÕoff¦ìåŒ6¡Gj ø|©XŒgÛQY›ÏÇ@ƒ:hê3¼¦ ëfp8œ±cÇ.X° oß¾J6y-:tÈü³ÏˆˆX¬ô¯¾ª²²Jûö[ÛÉ“sV¬(®mô¼V‚—m,öô¬°·W=gh^|¾”ˆ°Ôåî]}??+6›6nÌôö.ÂãpZ33É‚y3gìØalöë¯;v¤‹DøÝêÿ€úÈd„ÿe¶Ÿ~úiZZMœ8ÑÍÍM(úùù‰D"":þ|Ío‹/X°ÀÒÒ²C‡sçÎejöíÛ÷Ï?ÿ¨9mÐ  _‡áF qêÿ ?räH||üµk×BBB„Báï¿ÿîííP\¬l­ùÂwÞ)b&eËdË—ë&&Z~ü±xüxÕ‡¤ ~ÿ]/6–ˆJFŽÌ¬±¸¨ó®Çjuú´ÁìÙ6NNeçÏ?{ë- I´b††ÒÕ«³þ9%!AwÚ4ÛgÏt5h;ŒJ@dffÞºu‹)wîÜ™)°ÙlùSpÏœ9Smù#¶äñR©ôúõëDäààÐC‡‡YXX°^þFRT„õgš>ÃkÅáplllfΜBD2™ìÌ™3kÖ¬QžmÖºuåDÄ..¶õöf••å|ú©Š{ÊûóOóåËeNîâÅiß|#ãñTÜÔéÇEK—ZΚUðõ×éX? mèÓ§üçŸSø|©O Lƒr•nM^¼xÁªMUUk]Ÿ1""BqG¶mۦ錠YYYò²¾¾¾¼¬§§W3 Z˜<†ˆrssëêB$Ù¿üžõóçÏ[ïG€¶QÃg¸r#GŽ”ÿÝñüùóʃezz™¡¡L™]R"öð©ö¤Ñ‘#Ö| 15Mù駼ŋ k[h¥¨(Þš5f‹ååÔ½Î<´>U‡¥vèP5w®ua!îÂP'\­‰­­­L&;|ø°¼&22R&“µÞG9R&“ÙÙÙi:P•¹¹¹¼\VV&/———× ¨&!"%½¼ûî»L¡²²òÆÕ~*•JGŒáìì¬Ø ÔK=ŸáJ0˜²L…Œwíª²±ù·Ó°0ý{÷”Çsòó-/6ûâôérgg¦ÞæwL¾ü²q9@KHNÖ]´ÈjâDñ¢Eü+h3OºgOºXÌZ´ÈJŠ/B@0* `aaáêêÊ”Ÿ={ƤRé‹/˜²——WµMäaÉÉÉLÅb¹»»Ñ£G\¾|™ xë­·äß—H$Š ž8q"%%eΜ9Š÷ ^êù Wâ?þ¾üÝtàÀʃ Ð{ôèù™3%DĪª²ô÷çÔ=M[pùrÇ —/g…„dìØ!Åór´ØçŸ›ÙØTnÚ”‰…¤Ú* ‹ª={Ò££õi:ÐR•€†Ù´i“µµ5ýöÛo7nÜ(..Þ½{waa!7nΜ9ÕâwïÞ‘‘‘ššºÿ~¦Æ××·[·nJº`³ÙÛ·o÷ññ!¢[·n-X°àÁƒ™™™ß}÷Ýš5kÜÝÝ/^Ü"»Ц©á3¼&©Tš‘‘qüøñ   ¦ÆÂÂ"88XÉ&úýe²cGúW_IE¢ŒÐÐJ[["ÒIO·\²„^ÿS¥œáœìlVY™ùêÕÝ{ôPüÇ»y³A @‹ºxQpý:ÿ³ÏrôôðL€¶¬OŸò9s CCM°ŽÔªµ®üšÒ¹sç³gÏ~÷Ýw—.]š7o^YY™¡¡¡»»ûÔ©S===Y,Öúõë8 ÷öööóó‹g±XŽŽŽ³fÍb†›•ãñx›6mš={öÑ£Goݺ5{öìòòrKKË®]»nݺuìØ±l¬ Ðp-ýžžžÎ̤–›1cSàr¹ÆÆÆC† >|øôéÓE¢:gNuïу)tœ81鯿:Ìš¥ûr67ïÏ?»ÛÙå|úi¾¯o£h˜DB7šzy»º–j:hAÕî&ò'ë6BII‰››[II‰Ï¦M›š!?P—E‹rùÅ`ÏãåËs4 hŒJ·Y©©©¡¡¡¿ýö[rr²T*íܹ³——×§Ÿ~jff&¹yófHHÈüQ\\Ü©S§ùóçïß¿?>>žù©ÝãÇëmêÈ‘#3gΔ·ùå—_Þ½{÷Â… 999666Ó§O_»v-Oá¹ç5;UÓ€æ# /^\×låàààj3à?%¤oß¾}ûömܶP«ý ·²²JHHhR~D‰¯·ðüôiU¶J=x°‰ý€DDž=ÓýöÛ4M'ª*--õóó»sçÎøñã7oÞ¬âÔààà™3gŽ?¾Yrøå—_JJJˆè×_]µj•k4µ††Ò>(Ø·ÏhÑ¢\}}|=^ƒ‰fmSll¬““SXXXQQѽ{÷âââ*++·nÝêââ’’’ÂÄ\¼xÑÝÝýÌ™3R©ôÒ¥K·oßNII‘I‡……1CÒõ65cÆ ™L&˜ ·nݺdÉ’øøøqãÆ%''oÙ²eõêÕòÄ”w ZH¾¦³®®®f3€†Âg8h›Ó§ ÜÜJ;w®Ôt" ª7n\¿~½´´ôäÉ“ò‡ ¨ÙáÇ™“†Fr€Fóñ),*b_»Æ×t" u0*Ý6}øá‡999DäããÓ«W¯®]»¾ýöÛDôìÙ³eË–11‹-ª¬¬db† fddRó7UšRäëëëââ"‰˜0"R¼g¨Ø)hÖ¡C‡¼½½Åbñ7˜ ‘Häìì¬é¼ ~ø ­%“Qd$ßÃC¬éD 8dÈ7eÊ”N:©?ØØØ¸¸8CCCæ¥|„Z 33‰“SF¥¡&¬àÑ¥¤¤Üºu‹)ÛØØ0…:0…“'O–––fff2S¡‰¨{÷îLA(ZZZÊ®bSŠ«sQ—ëÊ¿S#Ÿœœ¬J§ q¶¶¶%%%ƒ ª¬¬´°°puuõ÷÷766Öt^P?|†€Özþ\· €ýÆåšN€ÏçÔèI‡:thïÞ½÷îÝKDÿý÷_ýõÆoh0%h¨~ýÊîÜáÕí F¥Û ôôtyyÅŠ+V¬PüiyyyRRRié«'KèëëËËò…8ToÊÁÁA±R±5†LöïÊAÙÙÙªt 7|øðáÇk: h |†€Özþ\‡ˆ°|G+rüøqÅq€¯¿þzìØ±L¹¨¨èÀ—.]zúôiii©‘‘‘ƒƒóìÜšíDFF;vŒyvnÏž=gÍš5uêTU‹ÅgΜټy³3*MDGŽÁ¨tëÒ¥Kå‰X ªÃ m………¼"«ÁÁÁAñ™‡Š#Ôb±¸¡M©ž˜Š@ÛS\Ì&"¡PªéD@US§NMHHàr¹Õê“““ß|óÍíÛ·'%%íÞ½ûöíÛï¾ûnddd@@ÀÂ… åO5;qâÄW_}uîܹ.]ºÄÄĬX±bóæÍª$pêÔ)>Ÿ?f̘®]»8©<{ölaaaÓ÷ÔF$’aªÃ5ѦœÌîܹӨ=­€§¶&¶¶¶ò'Ö«sçÎáááÊcXío˜Û·og Š+J+ojÆŒ3f̨Y¿~ýz;]¾|¹ò<@˜››ËËeeeòryyyÍ€jaò"211QÒKqqñ™3göïß?bÄyå‹/FÅ Œ>|ØÅÅ¥‘ûZs¥Û¯3gÎTæÎÈÈHMM%"æašK ´‘………««+S~öìSJ¥/^¼`Ê^^^Õ6‘‡%''3‹åîîND=JPpùòe&àÔ©SFFFÆ SlÇÖÖvРALù·ß~ËÏÏoÞ]u¨t»–’’âçç÷ìÙ³²²²˜˜˜Y³fÉd2={öÔüÛ&À¦M›¬­­‰è·ß~»qãFqqñîÝ» ‰hܸqsæÌ©¿{÷nfÜþýû™__ßnݺ)éâÈ‘#>>>lvõa+¦P^^Žg´jXÁ£ýš0a¯¿þzèСqãÆ={öL&“uêÔiîܹ‹-rttÔtv :wî|öìÙï¾ûîÒ¥KóæÍ+++344twwŸ:uª§§'‹ÅZ¿~=óp)†···ŸŸ_||<‹Årttœ5k–|p¹¦ÄÄÄñãÇQ\\Üž={=z$ÿÑ–-[öìÙ#ù¿ÿýïË/¿Œm‘€†QéöKGGçÍ7ß|óÍ75h…}ûžlÚô€ˆ,-õÿøc¢šcTÙ Zn :¡P¸xñâÅ‹×úÓààààà`Åš™3gªØr÷îÝjýÑòåËñ`*€6+x@[PR"=úüܹj:‘ZhsnŠ|}{&$xÛÛ*VVK¾ÖUÚ©7F•­ZË‘ÐæmÎMnP+‰DÂtuu5› ´%•€¶@&“I¥2©TV¨ÚisnõÒªäµ*Ð6Úü¡Í¹ÕK«’תdÚ¶C‡y{{‹Åâ7n0£Ò"‘ÈÙÙYÓy@Û< -t®\¯é,j§Í¹ÕK«’תd@ÛhóG„6çV/­J^«’hÛlmmKJJ TYYiaaáêêêïïoll¬é¼ íÀ¨4¼2|øðáÇk: hË0* ­Þ… i~~ÑLùáÃÿèéq˜r~~Å®]/^LKK+åóuúõ3™7¯§››¹|ÃÜÜòððøK—Ò22J…B]WW³E‹z3+Z*¶1n󿇑‘™«“Õ«:uÈIL,Ú²åattVU•¬W/‘¿¿Ý‰QQYD4mZgëj¹©Þ²’ôêbgwR"Qö½f33½èhUŸqZ×•ïøÆnßήª’9;/]êàâbZ­UbêrêÔóeËnË_®[×ï³ÏîÕL¦Þ³ ínr¸àFÐ*`]ihõÆŽµNHð3ÆZ±2+«lÊ”+§O¿X½ÚéömÏãÇGòxœ9s®ÿôS2™Yæíqö싵kÿúËëСaùù>>WïÞÍ­Öæúõ±ÿýo¨¨‰Û·»þùgV@À-y/ÉÉâiÓ®ÆÆæ…‡ºysÒ_¼ñý÷ÿ<~\Èå²¼7n|£fn*¶¬<½ºÄÇOIHðVòOõ‘ˆº,£¤D²fÍ}?¿^QQo><¬  röìë7of74F OOÛ>èáînqçΤ„ïwÞéÚˆ³ ínr¸àFÐ*`TÚ¦ÐÐG/^”;yxXètíjæjn®¿nÝýììr" }˜’Rä8r¤ŸÏéÙS´}»«L&[»ö~µ¦¦OïÜ¿¿ Ç:ÔbäH˘˜¼¼¼Š—½<,,¬\½ÚÉÝÝ‚i$,l@i©DÅ$•·¬bzQTTØÇÅÅ”Ïç8:oÝ: ²RÓИºVúúFI¥²ýû‡rë «÷,@{†A‹Âš¢1+x|ÿý÷þùg³§Úìï¿ÿ¶¶¶ …šNZÊýû÷mmm5Es:>•ˆF²’×p¹ì!CÌOž|™áíÝéÂ…46›åáñjÊ•¹¹~Ïž¢òÓÓK­¬xòz''yÙÚšGD¥ÆÆ\"ºv-ƒˆ†Õ‹‰‰^·nOžª’¤’–UOO#ôô8Îίubg'²°Ð‹+ÈÌ,³°ÐW=¦VÿüS4~t§N‚à`'åiÔ{–±kÐfàFТp#€¦h̨ôÙ³gÏž=Ûì©€f•––j:…fSQ!-*ªÔÓã¯}Ê™™éQVV@Dýú®¹ùÓ§ÅŠ¿í …¯ár9D$“ýÛ‹X\¥§Çáó_[gÓÐPWÅ<•´¬zzŠšw9Q%ŒŒtY¬×jLMõ23ËrrÊå ªÄÔTXXåçwÃÊŠwõjÆ©SÏ'OîXWd½g¹Á{mnuÁ´AcF¥üñÇéÓ§7{* ÍX,V@@@XX˜¦–2mÚ4M§Ðœ¸\¶P¨[TT)W)þ¦š]FDææú\.[$Ò‹«=šÌá°ên©ž^±¸ª¤D¢8‘“ÓÔ¯ 7:½øø)MìZEÌX‰"f¯MMõS‡Cº …ºÓ¦EÝíÚÕÀÉɸÖÈzÏröÚÜZnÐXWÚ¦qãlˆèÊ•tyME…4**K_Ÿ3l˜%ßA"‘ݹ“£¸Õž=ö»òYfŠFŒ°¤—_ßfde•%%7=ÿfI¯å””Hââ ä/ãã 33Ëìí 義S“@ ci©Ïçsöìqãó9 DgfÖ9Ù­Þ³ ín- 7h ŒJ@Ûè`kË_¿>æòå4±¸*)©øãoee•­^ídf¦Çtê$X±âÎÕ«EE•ùù‡'…‡Ç¯\é¨ú¬´ÀÀ>FFÜûׯg–”Hþþ»pÅŠ¿šerV³¤×rx<ÎÚµ÷ïßÏ+-•ÄÆæ-[v[W—½zµSCc”°µìÚ5(7·|áÂèŠ i­1õžehÏp#hQ¸@S°d²†Mµ`±XXÁ£ m³‚ÇÑ£G›ÒHbb¢ò€E‹,‰hçÎ åa uáBšŸ_´üåäÉ·n@Dùù»vÅ_¸šž^Êãéôëgd¾¦ Ð~áF YŠÏ•}øð?zz¦œŸ_±k×ã‹ÓÒÒJù|~ýLæÍëéæöê;7·<<<þÒ¥´ŒŒR¡P×ÕÕlÑ¢Þöö†ÕÚŒˆ·yóÃÈÈL‡Õ¿¿ÉêÕN: ä$&mÙò0::«ªJÖ«—ÈßßîÀĨ¨,"š6­³‡‡uµÜToYIzu±³;)‘([àÂÌL/:úM•kÝV¾ã7>¸};»ªJæìl¼té¿Ï³mhL]Nz¾lÙmùËuëú}öÙ½šÉÔ{–@ka®t#I¥R©Tªé,@Ó¤RÂe 9cÇZ'$xc­X™•U6eʕӧ_¬^ítû¶çñã#y<Μ9×ú)™ ÈÌ,óöŽ8{öÅÚµÎýåuèаüü Ÿ«wïæVksýúØÿþ·GTÔÄíÛ]ÿü3+ à–¼—ädñ´iWccóÂÃݼ9é‹/Þøþû?.ärÙ Þ7¾Q37[Vž^]âã§$$x+ù§út]–QR"Y³æ¾Ÿ_¯¨¨7VPP9{öõ›7³£„§§íôpw·¸sgRB‚÷;ïtmÄYm†QéÆÐÕÕ}ðàATT”¦ÒÕ¥—€– }ôâEIp°“‡‡µN×®aa®ææúëÖÝÏÎ.'¢ÐЇ))%AAŽ#GZñùœž=EÛ·»Êd²µkïWkjúôÎýû›ðxœ¡C-FŽ´Œ‰ÉËË«xÙËÃÂÂÊÕ«ÜÝ-˜F”–JTLRyË*¦§EE•}\\Lù|Ž££ñÖ­*+¥!!1 ©Kaa¥¯o”T*Û¿ˆ¡!·®°zÏ2h3ŒJ@›rþ|*e%¯árÙC†˜—•I"#3ˆèÂ…46›åáñjî­¹¹~Ïž¢òÓÓK›rr2‘—­­yD”‘ñoÀµkD4|ø«^LLôºu3P1I%-«žžFèéqœå/íìDúqq™™e Š©Õ?ÿMÁf³‚ƒ8–’ÈzÏ2h³V9*}òäIÖKOŸ>}ûí·ŒŒLMM===™˜õë×3îîîLÍï¿ÿÎÔ˜™™Õl'99ùí·ß …¦¦¦sæÌÉËË{úô©———P(´¶¶ž;wnQQ³Õ™3gä[••½ú0ÍÉÉYºti÷îݹ\®±±ñĉ¯\¹R3ùÇOš4ÉÐÐÏç5ê?þÿ¨¼¼ü³Ï>ëÝ»7ŸÏ711ñòòúå—_$UÿÊÚº¹»ÿû$@‹fÏ&"3æUM~~-›œ<ù*àéSzûm22"SSòô¤——­_ÿoÀËË€~ÿýßš——Ákí$'ÓÛo“PH¦¦4gååÑÓ§äåEB!Y[Óܹôò2 3g^m¥pPN-]JÝ»—KÆÆ4q"ÕvÐãÇ4iŸO£F‘Âe@ååôÙgÔ»7ñùdbB^^ôË/ÔN.€&«¨Uêéq‚צef¦ODYYeL€T*ë×ït'äÿ>Ì'¢§O‹· _5ÂårˆH&û·±¸JOÃ翶ಡ¡®Šy*iYõôÙÙTŒ¯ùÏÍí¬Š¹)gd¤Ëz}¸ØÔTˆrrÊSSaa•Ÿß ++ÞÕ«§N=WYïYVmW@cZå¨ô”)Sd2ÙäÉ“‰( %%åǼ|ùòÌ™3™˜àà`™L&¼zPÀ„ d2™‹‹K­í,]ºô“O>IOOß¶mÛ?ü0kÖ¬€€€´´´Ï?ÿ|ß¾}kÖ¬a¶òôô”o%—žžîêêzèСíÛ·ggg߸qƒÏç=zß¾}ŠaÅÅÅ . JII¹víZnn®‡‡ÇÕ«W™ŸúûûïØ±cçÎ999qqq½{÷žM¯_T\L RP¥¤Ðµk”›Kôò2 Ú±ƒvŠ‹£Þ½iòdj'—@“q¹l¡P·¼\"W)Ögg—‘¹¹>—ˉt9V­ 1«ø¬<.—-è”—KJJ^›E¤|ÔUÅ–—^ó®+­DQQeµf¯™qgÕcjâpèàA÷={ÛÙ‰‚‚îÆÄäÕYïYViO@sZ娴"__ßÁƒ ‚1cÆLš4éÖ­[ÙÙª®¯èÃ?tqqsæÌéÓ§Ïo¿ý¶téÒ~ýúÌŸ?¿k×®gÏ*û‹âÊ•+“’’¶mÛæéé)‰zõêuèÐ!kkëÅ‹gd¼úÚHAAÁ† †j``0`À€~ø¡¢¢bÉ’%ÌO/]ºÔ§OŸ±cÇòx}è·ßhéRê× hþ|êÚ•”^´r%%%ѶmäéI"õêE‡‘µ5-^L —І 4t(ЀôÃTQA//ºt‰úô¡±c‰Ç#KKÚ²…ÚÕeÐdãÆÙÑ•+éòšŠ iTT–¾>gØ0K"?¾ƒD"»s'Gq«={þ6ìw‰D¦b/#FXÒËu<YYeIIuÎeV]³¤×rJJ$qqò—ññ…™™eöö†ú Š©I б´Ôçó9{ö¸ñùœ ¢•¬øQïYmÖêG¥]]]ååŽ;Qjjj#Ú0`€¼lccS­¦C‡Ê›=qâMš4I^£§§7zôèÒÒÒsçÎÉ+õõõ $éèèhccsÿþý´´4"š0aBTTÔ¼yó¢££™…;âããGŽÙˆÝi­¦M£U«èçŸÉÝrr($DÕ .êØ‘ˆ¨Q—)œt²±©^Ó¡C=Íž8AD¤pžM¥¥¤p¾>)\äèH66tÿ>¥¥M˜@QQ4oEGÿ»pG|<µ«Ë ilmùë×Ç\¾œ&W%%üñ­¬¬²Õ«ÌÌô˜€N+Vܹz5£¨¨2?¿âðá¤ððø•+•¯eüz/}ŒŒ¸!!÷¯_Ï,)‘üýwáŠ5Ë,ÝfI¯åðxœµkïß¿ŸWZ*‰Í[¶ì¶®.{õj§†Æ(ak+صkPnnùÂ…ÑÒZcê=Ë ÍtêÑn†††ò2—Ë%"©´öO+åD"‘¼Ìf³9ŸÏ—×p8%Í–——èëë …BÅzKKK"JOõW;SSSÖëë*YXX¤¦¦fffZ[[ïÚµkðàÁßÿýèÑ£‰hذaóçÏ÷öönÄî´b!!tñ"EEÑ÷ß[忚(\Äå5ê2 …Ë€ØlâpHá2 GY³ååTP@úúôúe@––DD —™šRµåµ,,(5•23ÉÚšví¢Áƒéûïiôh"¢aÃhþ|jo—AíÛ÷dÓ¦Ddi©ÿÇÕ£ÊV-êÌ™·ˆˆËe?z4¹Þx€¶7Ü =»p!ÍÏ/š)÷éóËäÉ·n`n®òä¨]»â×­‹IO/åñtúõ3>xÐ}ðà—¿05Õûùç‘_}ÿùç÷ÒÒJE"®ƒƒáî݃†µ ¢{÷ò||"äm.\h·t©C'˜/¯Ë£FYíÝ;¸S'ÁÑ£#6o~àïC"!{{Ñòå}·m{”›[QWnsætW¥eåéµù팈zô8±p¡££qµäíí å·¼  ÇÍ›ÆÄäJ¥äädüÃî..¦ôúm±Þy_½z‰˜{S³j•cÿþ¦ï¼ID÷îå98œâñ8¥¥ÅdT9Ë ÍZý¨´rl6»¢¢B±&¿Öçæ5žžž¡¡aAAAQQ‘âÀ4³v‡•Õ«§ÁTÛ633“ˆ,,,ˆˆÅbÍ™3gΜ9•••¡¡¡o½õÖÖ­[—.]Úì9k¯ˆ*( GGZ¸œÉÙ¹Úd³éõË öÇ'6‘žRA½60ͬݡpPË€23‰ˆ,,ˆˆX,š3‡æÌ¡ÊJŠˆ ÐPzë-Úº•ÚÕeÐ@¾¾=}}{zy]ÎÍ}µ‚[I‰ÄËëR·n½{×£J;õƨ²Uµdš—§§­§§í»ï^¿};§þèNF=´j´*€v 7Ü @{6v¬uBB-óxŒŒ¸«V9®ZåX׆FFÜ  Ç  Zúõ3®Ùf­½tíjðõ×nŠ5YY寯\%¹©Ø²’ôZs;«VY31Ř~p¯·Ubžž¶õö^S½g´V«_ÁC9kkë””ùËôôôgÏžµDGÌŒæ_ýU^S^^~éÒ%7~üxyeqqñýû÷å/cccSSS­­­‰ÈÈÈèñãÇD¤««;vìØ“'O²X,Å6Û¾¤$úðC:~œ~ù…x<š<™²²š¡YkkR¸ (=Zæ2øwF³â)+/§K—ˆÇ#…Ë€Š‹Iá2 ØXJM%gg²¶&"22¢Ç‰ˆtuiìX:y’X,jW—A3‘ÉdR©L*Õüšk„dš›Ví‚V%Š´êí‰dš—Ví‚V%j–•UæâòkUÕ«O€/ÄÉÉŘ« P¯6>Wzܸqááááááï¿ÿ~FFFPP……EYY+å7ÚÆ¯^½```0bĈ´´´•+W¦¥¥íÙ³‡Yǃ!üýýCCCûöí÷á‡r¹ÜíÛ·Ë,X°cÇ;;»‚‚‚¯¿þZ&“yxx4{¶Zª¸˜¦L¡mÛÈÁˆèØ1;–||èâEÒÕmRËãÆQx8…‡ÓûïSF‘…µÀe@7ÒÕ«@4b¥¥ÑÊ•”–F{öÂe@ùûSh(õíKqqôá‡Äå’Âe@ ÐŽdgGôõ×$“Qû¹ š@ såÊøúãÔÉ4/­Ú­JiÕÛÉ4/­Ú­JÔ¯  "8øî’%öFFºÿ]¸n]¬P¨ëïß[Óyh»V9W:::šÅb:uŠˆx<^pp0±X¬/¾ø‚ˆú÷ïïééÉD®_¿Þ××wÆ ï¿ÿþòåË­¬¬rrrX,Ö§Ÿ~Z³Û·o³X¬sçÎI$‹µiÓ¦ëׯ³X¬«W¯ŠÅb‹õùçŸ×š’••Õ­[·fΜ¹xñbSSÓŠÅâ‹/Î;—ˆBCCY,Öýû÷ŒŒ¾üòË•+WZYY >ÜØØøòåË#FŒ`¹zõjïÞ½g̘abbbooÿûï¿ïÝ»7((¨Å¨6ð÷'¡bbhòdzð€²³iäHª¬¤k׈˥õëkÙ$:šX,:uŠˆˆÇ£à`""‹¾ø‚ˆ¨zyÐúõäëK6…½ÿ>-_NVV”“C,}úi-íܾM,;G ±X´i]¿N,]½Jb1±XTÇe@VVtëÍœI‹“©) Hb1]¼Hsç…†‹E÷ï“‘}ù%­\IVV4|8ÓåËôò2 «W©woš1ƒLLÈÞž~ÿöî¥vr´ææúºVΜùƿΟݥ‹àçŸGvìȯc€ö­UΕvss“ɪE®f îÝ»W±æöíÛÊ·R±e‰DÂf³ut^@SSÓ°°°°°°šÁò——/_®CDÎÎλwï®õGm3—YQm‡ý5nnµÄÔº•¡!½~Ðë—JíÔÚ²DBl6)\djJaaTÛe@¤pP—9;S»½ šâCE>üžGñ§‰‰E7>¸};»ªJæìl¼t©ó̆ÆÔåÔ©çË–½ºÆÖ­ë÷Ùg÷j&“Ÿ_±k×ã‹ÓÒÒJù|~ýLæÍë鿦Òwý‹¶ly%‘PŸ>†}êÚýóçÇ„…ÅýùgV~~mØðFPÐ_òdÊË¥o¼qF¾áÇ;|ô‘D"³³;ÉÔL˜Ð!<| åæ–‡‡Ç_º”–‘Q*꺺š-ZÔÛÞÞPyw·nM’¯©§ÈÎî¤D¢ì=nf¦ýf­?ªëä6îxîÚöˆˆ\\Lüq8]»–ñÁQDddĽ}{RƒŽ§žG18"bÜæÍ##39Vÿþ&«W;uê$w-?‰UU²^½Dþþv$FEeÑ´i7n|Cyæ n¸àFê1dˆù!X¯ ÁZå\iMéÛ·ïÓ§O™rJJJ§NG¥¡½èÛ—^^”’B:.íÃèÆ7×®íþøÙ³’Zw?8øÞìÙÝ"#Ç?>’ÃaU;2"‘nB‚÷ðá–l6ëòåq}dGD+!Á»“°0Wf$"3³ÌÛ;âìÙk×:ÿõ—סCÃòó+||®Þ½›«¼»ºv!>~JB‚·’uDPs IDAT'·ÑÇó£ì¼y¼WÃUÇ[&$x÷íkÔˆãY-xýúØÿþ·GTÔÄíÛ]ÿü3KþTñj'ñæÍI_|ñÆ÷ßÿóøq!—ËNHðÆH@ÓáF€nÚ £Ò ³eË–âââ_~ùåÞ½{ ,Ðt: ![¶Pq1ýò Ý»G¸ Z›¢¢ÊÀÀ>..¦|>ÇÑÑxëÖ••Ò˜†ÆÔ¥°°Ò×7J*•íß?Äа–ÙaŒÐÐG/^”;yxXètíjæjn®¿nÝýììrå]„†>,,¬\½ÚÉÝÝ‚ÏçØÙ‰6ovÉÌ,­5xþü^ƒ™ñx:ÎÎÆññSj°æëÛS*•íßÿD^sçNNFFÙ›ov÷˜’Rä8r¤ŸÏéÙS´}»«L&[»ö~µ¦Té®%4åx6HƒvpúôÎýû›ðxœ¡C-FŽ´Œ‰ÉËË«x™ðk'±gOQXØ€ÒRI3¦ uÁ f nªÃ Y`TºöïßÿðáCkkëeË–mذAqQhGö劉ÉÚš–-£ —Ak£§Çqv6–¿´³YXèÇÅdf–5(¦VÿüS4uj›Í vR2AŒˆÎŸO%¢Q£¬ä5\.{Èó²2Idd†ò^®]Ë ¢áÃ_mka¡ßµ«A­ÁŠ;R—!CÌ þù9óed"Ú»÷ÉÿÛC¾ .¤±Ù,WÁÌÍõ{ö=xŸžþÚ ˆ*ݵ„¦ÏiÐ:9™ÈËÖÖ<"ÊÈø÷pÕ<‰&&zݺÕ~ yáFPnªÃ Y`å4hPDD„¦³M4ˆp´fFFº¬×G LMõ23ËrrÊ-,ôU©©°°ÊÏïêÕŒS§žOžÜ±®ÈŠ iQQ¥žG xíCØÌLŸˆ²²” yTTHÅâ*==ŸÿÚ©¦¦zIIÅ5ã¿’¬Ä‡ö\¶ìö?üãïß;)©øÖ­œ­[(fKDýú®¹áÓ§ÅVV¼†v×”åDkjÊñl(w!¾Ê‡ËåÐËêë:‰††ºÍ“%(…A­p#PnÍ£Òо0¿W+ÊÉ)'"SS½ÅÔÄáÐÁƒîB¡î´iAAw»v5prª}:—Ë u‹Š*Åâ*Åߟ³³ËˆÈܼÎñf[@G,®*)‘(þ*+ŸÝÖ8žž¶¡¡ÿßÿûgÞ¼^û÷?yûí.òĸ\¶H¤+W=z4Yù¼?ÕÅÇOi–vM9ž 6›UY)U¬),¬~ 4£ºN"s™@KàV¸àF NXÁÚ—’I\\üe||aff™½½¡âÜ7Ubjt,-õù|Ξ=n|>gÁ‚h%_ô7Άˆ®\I—×TTH£¢²ôõ9ÆY*ß…#,éå7yyIIbå[)Çá°Þ¿GNNùþý gμxï½îŠ??¾ƒD"»s'G±rÏž¿‡ û]ùL7µiÊñ$" }Åo ge•¥¦–(‰oºš'1+«¬ÖIŽÐìp#¨n¸¨F¥ }áñ8k×Þ¿?¯´T›·lÙm]]öêÕN QÂÖV°k× ÜÜò… £+*¤µÆ:ØÚòׯ¹|9M,®JJ*þøã[YYe«W;™™)›ˆGD}ŒŒ¸!!÷¯_Ï,)‘$$-]z«ÚW€aÆŒ.B¡î—_>;ÖÆÒòµa—À@‡N+Vܹz5£¨¨2?¿âðá¤ððø•+›kÒ\5åx‘»»EffÙÿûÿ””Hž=‡„Ä(ŸÙ ¿vÿþ»pÅŠ¿T™ÍM‡A]p#À@mX2YÃf7°X¬üqúôé-”h'‹¦éD ¥L›6ˆŽ=Ú”F•,ZdID;w6çC‡ˆhß¾'›6=¿\¸ÐÎÑÑØÏ/Z^3yrG{{C&ÆÒRÿë¯Ý6o~“+•’““ñ²e..¦Ší¨#ï«W/Q@À-yͪUŽýû›úøDÈkx~ ®®->¾øî]zUU •*ei©ìã3]M[@uÙÙË=ó×Ó»Îå ZòBY™˜•åÔëS}uîàÚóȑ☘çss¥ î߯úúë €¼µg2 F««ë½?ÿ, 5ÎÉq¾rÅ–D¯]ûðâÅ·ý–ÿö-ÛÝ=½  >>~öãÇN{÷šÆÇ¿|÷®¹×à yöÅÓýôÓ¤¤$ðÙgŸ¥§§‹:h\——Âu.VR"jkÛÓSc#gëÖÇêê¤ôôª7Þ ˆloç±XD"žBér¯/eeiƒ!hÇfsˆD<™Üe±l4Þ°kS°aƒNK '!á  ´´);»ÖÃc26[15ýS[ûÿ§¨ˆ (+kDuzz×±Eõü™3ç–0å`3\{”ˆ¢R;ó!ðt¶¯N”““š,Å•……Åï¿ÿ~þüy99¹Í›7öÙgùùB]‚Uðn‡A‰ @سg¡¡app0F‹'‘H¢N ‚ 9šššçÎ ñòò úꫯD4ƱXݶ sÍØY]abzÂãÁ™3ÖTª”»{ZpðÓ©SeŒ{?¯–@ R¥X¬6›ƒH­©i¨¨º ( A¡H²Ùœæf.vN“šóà8;kFEýñÇ//ÝS§^{zNá'F HÈÊJ±ÙœçÏ]Ÿ.¼âb×!)õ1퉒Àutð°[»ÿ ¡¾:Qð×c†……………EAAAXX˜»»ûš5küüüdeeE$ð\é555éèè8;;‹:‘Þ‰yz£NS[“ÎçŸÅ´=Å<=‚ !çââ’˜˜XPP°nݺ††Q§A(pðàÁ;wîß¿?66VÔé@c\s3÷Å‹Î6Š‹««[õõåTU¥Ó…"©¦&M&ãŸC&ã·lɰâÇ¢E÷îUò·´·ó22ÒÒøùóÕ‚øo T}}{i)[ð^‚áñ¸¯¾Ò®­m;uŠ–”Tþå—ZØg/þ„ËErsk±5þß\®X,Âð1í PU•Æ.EÂ`´VT4 ˆÿx=;‘Áh--mê{±ÆÈÈèâÅ‹ááá7oÞ\´hѵk×D$pVú_‚ðx<×è0“‘‘±¶¶î¶Q|Òá!bÑž2Ûe¬ôÖÝâ‘AЈ1119þ|UUÕ_|'¦!‚Æ!//¯ˆˆˆ_~ùåÇu.ÐXF"á÷îÍËË«oiáÔïÜ™#%%j<Ð45)GŽÌ®«kóöÎjoïýc]`à MMrxx~j*Íæ”–6ùûg3­¡¡ÆÊÊ‚ÎÈÈËöíË{ø°º¹™K£±²»­1«VM¡R¥.rtœ ¦Öeþ=0pƤI”Ý»sÓÓ«X¬&³ýÜ¹Òøøâ  £¡:{ú#}L{¬­U««[ÿøãMs3÷Ý;ö¾}ù‚Ï‹Š„»tâ«W»w?æ´î±‡Ã¹»»ß¹sgÉ’%ß~ûí–-[˜L¦¨“‚Fn ‹‹ãp¸ .xxx SBŒŒŒ©©éÇEH8ÎÏÏ/&&FÔ‰Œ52ÛeL'š>Ü-úîvww\ºtéc )))àã£øù硼ÝàäÉ×?þXPS“~ôhédz×h‘œLߺ5 ý½¨èS"ñcÿµ„œœÚU«îŸ=;öleìö¤¤r?¿l ñü¹ËˆÕ+†^¼hˆŽ~ž›[ËåòLMwìÐ77W\Qii•ááïß³‡ö"Êž„íøðaõêÕjjjgΜKyŒIÚÚZ?ýTåä4ħÁ`¨ÀÃDø×þŸþèãã³}ûöaM ‰[·d|}Õh´~>5 ÿ}åí­gd¤À7¸¸LÔ×—ã¿WÿòËœƒ‹òóëx<`l¬°sç ôE„}?ï7†_—®®,úî„Ú³ÇÈÌLiåÊ4þ ßÒÒyó —‰ÑÑ&³ýÈ‘âääŠÊÊIÒÔTÁËK×ÊJE˜C.-m:x°03“Áá ºº²>>ÓOŸ¦ed0îî“==§bÐhnè/Ø÷yl2¨ Oœx”d?}º\·™Ìö£G‹““+èôYYÂŒr›6éÌ›§ xö¬¾¯ê†C_‡ð1íÉbuDF¤¥U56vÊïÙcú¬° ؼY×Ñq‚ðí¹v­6ØÛ[/ `†¶vç‰Àvvê'NXL'r¹@__v×.ÃØØçùùÌ‚‚ån±×ïk?;;{çÎ\.7>>ÞÌÌl$sƒ†–––VÿAÿ³ÒbÎJ+pVz-_žZWׯŸhnæ._~wÚ4*:ä÷#L9BÆÞ«×dÄÖ–-Y))tQMF8PxéÒÛÇz=íbݺ‡99µÃ1!¸^ñ‘—W¿f̓… 5öì1’’’ˆŠ*º|ùí©Ss­­UTλwìððüŠŠ–òrvK W|f¥¥¥¥«V­222:~ü8/‚?BhX Ó¬4 CC^ø¥Á€^û.\ ‰ˆˆ@ÿA…Æ’a𕆠±aÑ¢”ÖVîýû‹EÈÐæµßÐаk×®‡îÛ·ï³Ï>±Ü ¡5 YéZÁãåË—®®®rrrd2yÖ¬YIII8‡Ãmܸa0¾¾¾S¦L!***+V¬xöìúÔõë×qÿ)++óôô”——WRRrvvî6 &d!ÅÅÅJJJèÓ'OòŸjmí\ø©¶¶6 @KK‹H$jjj:88üöÛo--- üx   °téÒ{÷î¡OEEE¡åkjjfgg/\¸J¥’Éd;;»GacØlö£GÐ`IIÉn™÷š^Ïê„o±áð²ò¥ëW9_9²7yÖþYIùI‡p›p¸M¸¿ÿ×Ý,†ï9ß)ßN!l!¨ø«¬8ºâÙûÿzêéu4· WV[æyÜSÞW^ÉOÉùgçF×î®âÊbãJ~JèÓNòŸjíÀ´gSmÀÅ­`-âV¢æ.M‡Ã¿eüÖÒÑwwÿOØBPØ¡°4né½—ÿu÷í(´|Í]šÙeÙ £R·SÉÞd»(»G´GØvûí,¹Y²[潦׳:á[l\A„ÇCx<±XæL¬’á32ú?OÏû¢Î¢»”º­­ÚÈψªÞáño¿}"++uàÀLUUiBX˜éäÉ2AAOúº8´/11ÏgÎT¼qîÛÊÅÁÔ©Sýõ×ÌÌÌèèhQçnbõÞ+VÉðÁ@êq2xzznÛ¶í»ï¾ËÍÍu.AÂÁh57¿ÉátþcP^Î~û¶IÈ“»Ç$99¹ãÇïØ±ãÛo¿=tè¨ÓFÂHÌJÓh4++«œœœË—/WWWŸ>}:...??ŸH$"ròäIN·´´¼xñâÑ£GëêêÒÒÒêêꬬ¬233®®®‚¸¸¸üüüüüü>|øpáÂ…ÔÔÔÕ«Wó+¾Í›7{{{¿ÿ>++ ÇcŸâ«¬¬´´´½þt\J\~y>Q’ˆœ@N~y@o [î·¼˜sñ蚣uqui»ÒêØuV‘V™%™W3Wäâbêð;ïççà÷áЇ ›/¤¾H]ý+¦»….dó›½m½ß|Ÿœ…—ÀcŸêlφJËý–çþ9·*®&¦&74×VÏvýéõÇÓûèî†JËý–‰ÑøÇÁÉòÂà O>8 \ˆœ@L&š0[˜;Îïw ¯Œ®¼ÿÍý:v}´}ú«t~ …H™§=9 'ÎqN·Ì…¬NÈo(É{÷Ÿ:5WÔ‰ fɈ³’Vii“ƒƒÆ8©w ²³k_¿n\²äiéÏ^ÄãqÎΟÐé-©©ô9sË=±|111 ?qâÄ;wD 4ЉÕ{¯X%#Îà@ Øø|}}mll|||êêêD Aаhhh yJ§·´´pòòêvìÈ¡R¥¶oŸ.ê¼D ‡ÃmÞ¼9<<üäÉ“‘‘‘¢Nv#1+Ìd2ãââedd Ùì.÷‡ zûöíáÇœœÐ˜óçÏ#âããÓ­´7ZYYQ(‡eË–egg×ÔÔ ´Ý»wÛÚÚ’ÉäÙ³gs8eå^ *--‹‹svv¦R©jjj!!!K–,éë0ÑøØØXgggYYY]]ÝÄÄD __ߪªÎk–ÙlöÑ£GÑC°°°HHHhooß±cÇ€šTøê·Øp¾ÌlfÆ­Žsœá(C”1˜`¸)‘ÝÖµ»¯½­}{Øã°“‘sÞë<‚ >çzt÷üVZV"ÅAßa™ñ²ì²ìš¦š²{én[=[2<{êlÎq޲LoÝ}5¨´¦4nUœ³±3Ušª&«²,d‰aßÝ}5¨´¦4vU¬³±³,IVWM7qS¢†œ†ï9ߪFLw·±®9Ђŋ„ íœöçÞÝÂU'¸Å Hü¥¤Ð ‰ ÔÇI½•™ÉÉc7)23öJçOgˆ-777ww÷={ö0 QçAÐÈ`ãg 8tè””THHˆ¨s ÐÖ¾Ö×ÏO?½uv£¶§ŠŠô™3Ö«W?˜9óææÍYS¦P®^µ8‘,’|ÄŠ§§gttôo¿ý+ê\ á5—kýý÷߀ŋ;WÆQQQ™>}zQQËõë×%$$œù[ÔÕÕ rssËËË555ùÛ---ù¿Oœ8PQQN+ _ȬY³úMûÚµk€¥K»,ø×_ Ž_¶l ‘H\¸páüqûöíuëÖ¡)Š©©)?ÆÈÈh„ yyyt:]CcggYØbÃáï¿‹ 0ÝMU™®>½¨ÓÝO¯Kà$œ1=%§n0Á ÷mny}¹¦¦»§`’Wœ¨`V ÓÊÂ2kŠÝýô`©a×îÞÑww?½Xf„iIâBý…dþq»èö:«ÿº›H1ˆéîOŒ&ÈOÈ{ŸGo kÈ ¤»…«l±qEðÍšJJX‘‘…995bb¢0£ç=‚„‰éËïwîÌá? 3ýî»g=“a2Ûy™’B§Ó[ÈdISSE//9sú¹b«Û=X*ÊË«ãñ@·$¹\äï¿?\¼ø¶¸¸ÅâLžLñð˜²nÝ4 ¶ÜÜZôÎx<®Û‚’ FëÁƒETãñ833ÅÐPãI“(ÓÓ»Îå º2]Y™˜•å$øèîÞ¥[Y©ðo ^RÂ:t¨(+‹Áå¹À@ƒž»ÔÕµÅÇß½K¯ªj¡R¥,-•}|¦ëëË56vÌœ™Äó÷Ÿ±m›—‹èé]G·,YòI|ü¬nõbÿrÒÒõlaŠuq™È/$=}ñ…ii•ÞÆFí»ïŒY¬Ž°°‚¬¬j EÊÎNmÏcì¥Ó}¿Aêê]îˆ>,-e®ù½æ/¸ýÅMHHHfffhhè±cÇD 4úÀp í•J=xðàÚµkoܸÑí²Qó†õnãx¶çܹ*sçŽßõ:svvnii VVVþâ‹/D4\†ý\é¶¶6‹%---##ƒÝ® Ü ÷ IDAT €ihhàñxrrr8Œ'Ož^¿~ÝQN®óV°ÀãñZ…ÒÏ?dhiÒÒÒT*UÈÃì5^MM PYYÉß"//ßm_UUU@uuµ0 ´:Ðw‹ ‡6N«•%-%-CìÚÝlLCKáÉùÊñWCÆmÂ=y÷ðºªkw“0Éã Âh!bÝÍikhi–’¦J ×Ý}īɪ*0ÝMêÑÝTU@uã@º[èê@ß-6Þ8:jÐhn½^‡ÛÜÌýþû¼­[u32œÎ›ßÐÐñÅÿù§f 18;k~ýµ¶µµjnî2ÍíóϧöL†Áhuu½÷çŸå¡¡Æ99ÎW®Ø’Høµk^¼øVpá7êÐhnè‡í}ûòf<~¼¬g’éé•;vd[Y©Ü¾íððá’U«¦DDp €ÆÀ@0{ölOOÏ477÷ A!îîîþþþáááÙÙ£oü‚„4ì³ÒD"‘J¥¶¶¶65u¹á2v–H$ÊËËKJJvtt =ØÙÙ YÑÇ‚-MNN®µµ•Åb}L<º˜†ºzçÅ€µµµÒå,´)йi×ÿânÂW7ˆ’Dª4µµ£µ©­kwc&a‰’Dy²¼¤„dÇñt=eìÝtáº{( Á–&G’kíheµ ×Ý}Ä£‹i¨Ëaº›Ý£»YÕUÙÿºÑÝBW ƒÅê 407W"“ñFF ÑѼ}ûòÓ—ÆÆŽ3x<äÔ©¹rr„¾Â¢¢ž——7‡„ÛÛkÈÈHN*c©¢"–WSÓ&LE--ܰ0S33E©÷$gÏVÞ²EWNŽ  @X·NkùrÍß~£55q„)àá1-ÜÊJÅÞ^#?¿¾¾¾]È}'5µA… ÿŒˆŠ*jlì 5¶¶V%“ñzz²šWWw¹iTTчÍÁÁF¶¶êd2^GG6.ÎA½{óЀux<äÔ©Îoªrsk«ªZœ>é«^>~ Ì›§jk«†maŠE¹»O64”'‘ð®®utdÓÓ«6lÐÑ×—#“ñ«WOÕÔ$§§w¾=ö{8½BßdzòEæÍ›·hÑ¢ððp.—+ê\ ±Âà@ñÐÖÖöË/¿ˆ:‚ h¤mݺÕÞÞÞ××Þc`¬‰u¥ÑE0Ðu0i÷$OèîŠBøÜÌÜ· ºvw˜™ÿ…>ºÛÌ p³Óþœ¶»/î’¤HØÕKZ;Z³Ë0Ýý¡ ‚Ya2Ñ„¿|™@nçü×Ý!z¿Þ…«‘ˆ71éèÎ €]ç— ‚Äܹ*­­ÜªúÞ¯‰„ç_ÏÛ3I{{³gçcãõõå8äõëFa +òWS“TUµô>’“+ŒŒTU¥Ñ‡÷ïW°K|ªªJO*Óuº„ÎÞ¾sAEEZGG¶°YYÙ˜;WeÆ ¹«Wß3™ÿ¾ÐNœx½~½6¶wºÕˇm À´€0Ţе>Qh3vöšº: Ûªý•*hnîò×ÒÂÈÊJ Ÿÿè²{÷î²²2ìxA Âà@ñ   °yóæ3gÎ0™LQçA(wðàA))©½{÷Š:hXŒÄºÒ)))~~~rrrVVVeee»víRWWÇ.4™žžþõ×_ÇÇÇÏ;—Ëå^ºt),,ìôéÓ’’Â&9$…t+Íßß_FFfÁ‚ t:½¯Yi4ÞÏÏOFFÆÆÆ†N§ÑéôãÇ£ k ää䂃ƒ÷íÛgllüâÅ‹ 6„¸¸8~ÀÌ™3333ß¿_^^þæÍ›ùóç÷V›°Õ¼ˆ)/RüÎûɑ䬴¬ÊjÊv]Þ¥.§Ž]h"rEdzqú׿}ÿyü\­¹\÷RÎ¥°?ÃN¯?-)!twE!]J{•îÁ_†(³@wACKCÄ­zÝß±î^™þ*Ý? QÆF׆Þ@ºDo _{]X%G’ ¾¼ÏeŸ±¦ñ ú‹ ¿o HâVaº{òÌÌ’Ì÷uïËëËß0ÞÌ×飻…«†¼¼T·“‰””ˆÕÕ­µµmü£ÂÄôÔØÈÙºõ±º:)=½êÆ÷..ûŠloç±XD"»Ž$@YYÀ`ô3åêùá›$‹ÕqêíΊÊÊ–ÆÆ~ úÁUTjgnè"¤ˆ ÅB?v9Ñ–NFÃÛ[}ØÞÎc³9D"ž¿´(JI‰XZÚÄA/d65ý³geeMè:›6èìÜ™“ðfûö饥MÙÙµÑÑ}Õ‹…mº¶€àbùdd: Áá#‘º4,‡8ZZT:1Á‡>œ:µûD‚óE&Ož¼lÙ²cÇŽ-_¾\˜Ë‰ ¨_p ¦p8ˆ5kÖüúë¯gΜñõõu.AЈ’‘‘‰ˆˆX¿~½‹‹‹½½½¨Ó†ØHÌJkiieffîÞ½{åÊ•ÇÔÔ422òûï¿g0üUUÕþùgÿþýÛ·oÿþ½¼¼¼™™Ù7YYYVVVh$‰DÚ³gOxx8ÿ£©™™Ù²eË’’’Tøïb7Àõë×ÑSѧ֬Y“ ®®žîããS^^®¬¬lccóàÁƒI“&õz˜üx__ßòòr2™2ÝÜ:ßš ™+«±|SÓM›6-_¾;´AÐÇ€?=ëF …BY³fMbb¢··÷ N6‚ ‚F5kkë¥K—8pÀÆÆÇ÷¿4zŒÐ ®««{íÚ5ì:®¬Üå?'EEÅèèèèè螻ϙ3éñÍ~Ï-ƒ(åêêÚëSJJJ111111½î5èx}}}ìz&ÝèééÝ¿ÿ#Ӿņƒ®šî5ï®ÝÝ@W–éÚÝÅhèhÞzjÚþ 2_Ï-ƒ(åjæÚëSJ2J1ž11žBw·pñúúûõÝÝêz÷¿éÚÝOOøƒÍÍÜ/ø—<7VW·êëËaÏ}&¦' E½2÷øñ9nni[¶d]¿n××.‹M¸råí½{•ÎΚè–öv^FCZ?¾Pç¿·µqóóëLL{&Éå"¹¹µ**Ò_~©…‰ï~ßKI²£ãߎŽÉ6è¬Z5E˜ª‡CJ }âD²®®,‹Ú­[î߯Z²dº¥¾¾½´”ÝkñâO.]*ËÍ­5«óæøñW oÒÒ£éñxÜW_iGFœ:EKJ*¿}ÛQp½B\ìàô{8³f)kkSÿúëÃ7߉x—‹$%•kh°‹Œ=úúú&&&—/_†³ÒЀz­WHp Iîîî¿üòKZZz¾A4®.^¼øÚµk+W®u.ÐP‰u¥+++;::O9)+++))çÞI• •Š;;¸˜î®-+©.év1‰ ‰„ß»7//¯¾¥…[PP¿sgŽ””Dh¨ñ@cÐÔ¤92»®®ÍÛ;«½½û*0p†¦&9<­ë™$›=[™Áh=qâu}}{k+7+‹‘˜XÚ­ùÒÒ&:½åéÓºwïØ––JBàãñÔÔJ‡ Øòò„}ûò>¬nnæÒh¬€€ìn×qΘ4‰²{wnzz‹ÕÁd¶Ÿ;W_d„=ËlÕª)TªÔáÃEŽŽÐ #õ ¯¯b­ßÑÀýø£yCCÇîÝOŒV&³ý‡òÊÊš""f¢scØÊ•+oß¾ÝÒ2úVD…Äøà@‚ÑBSSsΜ9ׯ_u"ALš4éÓO?=uêÔˆm Ü@{‡Ã]¸pÁÃÃCø]*++544Ö¯_¿wï^%%¥ÂÂB–=mÚ´&<º™ššÖÔÔ”——‹:‘Ãáp~~~œ6^ÙP©¨±~Þú½ŸîU’Q*üPès·VMËÞ“=Meœuw˜i «¦üÐèènwwwÀ¥K—>¦’’Á>>j€Ÿê&NÂ;yòõ?òz{ë)lÝšÅßââ2Q__QS“þå—9åç×ñxÀØXaçÎææJØr„‰á×¥«+ëç×yOË={ŒÌÌ”V®Lão!‘ðØE<]\&¢ëN2™íGŽ''WTV¶H’¦¦ ^^ºVV*Âòòå©uumgÎX‡‡ç?yRÇå"Ø$õõí‡?OK«d0Zåå 66ê**ÒÇŽ å¯_·¼yÃÚ³çYaa½¼{VÍÜÛ[/ `†¶vç¥vvê'N ýɪ¹¹µžž÷Ïž?{v—‹*JK›,ÌÌdp8ˆ®®¬ÏôÓ§i €»ûäÈÈ™&³ýèÑâää :½EV–0c†Ü¦M:óæ©v«âÀÂ'^'%ÙOŸ.' Þ¶@¯Åö,ÄÑQÃÍ­sK`à åU«:¯“ðõÕ÷õ.äá<Þ]”›[Ëã!&&Š~~úü~>ÿÔTº—Wè*"b¦‡Çd0 >þµ_[[keeuìØ1ø•öh§­­õÓOUNNMC[,à@‚æ?ÂÁÇ¿ö<˜““C †01h„ݺ%ãë«F£õó©a °ïÞ-áaö-’“éüѳ¨èS‘|Ý•“S»jU/#BRR9:ÚÏŸ»ŒX½bèÅ‹†èèç¹¹µ\.ÏÔTqÇŽÎQ` ÒÒ*Ãà ޿gä2\ýúø×þóçÏ?ýôÓ„„„9sæ abÐÓÒÒê?è?#1+ ¸{÷î‘#Gž>}ZQQ¡  ààà°wïÞ%:ÚEEEíÚµ‹ÿ]èY„ù ”ð³Ò€»/î¹wäé»§  d}‡½.{µTÆSwߎÚuÓÝËö„»Š{wêYéqŒíÿõò8PxéÒÛǬ :–ꇆ䵿bÅ ƒ}ûö QRcSZZZxxøû÷ï‹‹‹{ xñâEtttnn.—Ë555ݱc‡¹¹ùHf8L³ÒãFu½ãÐÇ¿öËËËmmmÏœ93wîÜ!Llìó`˜f¥QÝÞ››¹Ë—ß6Šý&I˜7ÏÁÅÞ«×dÄÖ–-Y))tQÍJ ~g^·îaNNípÌJ–!/¯~Íš jìÙc$%%UtùòÛS§æZ[wÿ:V°wïØááù-ååì–®øÏJ\\\ ÷ïß?TYI"4Ù;+x.\xõêÕÒÒÒ¶¶¶ÊÊÊ„„„q5%  D0F×”ô@-Ô_xÕûjé¥m¿´UFW&lLWSÒ€ÀÅÈ „ÿ#þSÒ$Z))tµ‘ÿÿOTõBƒcee•““#Úš››.\¸iÓ&ѦѫwïÞyyyEEEÕÔÔô“——çîîN¡Pnß¾žž>qâÄÏ?ÿüáÇ#™'õ P¿455'Mšà@Ð ‚ <Âã‰Åõþb• Ÿ‘ÑÿyzÞï?nd¥¤ÐmmE3"ˆ¤Þáño¿}"++uàÀLUUiBX˜éäÉ2AAOúZ1¬/11ÏgÎT¼qÃî#oÕ;’–.]šœœÌårû6pZ#4+ AA}INvD/f'õBƒcddTRRÂf³û¢ê<==»mD„Çãñxû§dÄÄÄÌœ9óÆ ¥×÷í·ßÊÊÊ8p@UUUAA!,,lòäÉAAAííí#œ-uHFFF………ýÇ ]up Õ(É{÷Ÿ:%'׋U2⬤„UZÚäà 1Nê¨ììÚׯ—,ùDZúßÓØñxœ³ó'tzKj*}@EEFÎܲEOÌgá»±³³«««ëëà!G0j¾ ?°ë?vƒ]œT[ûº^äHåA¢dhhÈãñŠ‹‹gΜ)ª(ʽ{÷DU»`‘‘‘ÒÒ‚n¶–ýúõëuëÖñÃðx¼³³óO?ý”ššºdÉ’I ¨'CCÃß~ûM´9À‚†UJ @X°@}œÔ;P™™ €‘‘‰ŸÕ­^ì_NZÚ¢ž- L±..ù…¤§/>p 0-­’@ÀÛØ¨}÷1‹ÕV•UM¡HÙÙ©íÙcŒ]C£¯Ãá7@]„môai) týËï5Áí/æp8œÁóçÏEˆ˜£\Á‚ ‚ Q@BBBMMíÁƒÚÿyóæ……ú0<<ý…©Ýýû÷Ñ-ÿ^¡ŸœœÌß½¼¼Ü×××ÌÌÌÂÂbÓ¦MïÞ½CcNž<©­­ÝÒÒ’››‹FêééuÛ·­­­Û–>øúúXìܹ³¡¡¡¼¼ÜËËËØØØÊÊ*88¸ÛÚ#uuuaaa666Ó§O·´´ôöö~ñâ6@OOO[ Þ½!­ºz—“€Ð‡¥¥¥èÃöööØØØE‹š››{yyݽ{W´‹÷AñM˜0A+W®ÀýrtÔ ÑÜz]¡¹™ûý÷y[·êfd8;7¿¡¡ã‹/þóOÍ@cpvÖüúkmkkÕÜÜe4šÛçŸOí™ ƒÑêêzïÏ?ËCCsrœ¯\±%‘ðk×>¼xñ­àÂ7nÔ¡ÑÜÐY×}ûòf<~¼¬g’éé•;vd[Y©Ü¾íððá’U«¦DDlhè&ÿÑnÒ¤Iyyyp3£œ•† ‚ htPSS“——§Ñh€/¾øâÁƒW®\ÁãñÛ¶m£Ñh$RçÉ# , Ñh†††ü-ŽŽŽüÝÃÃÃׯ_Ÿ‘‘—™™éçç‡Ælܸ-ÇÜÜœF£Ñh4tõ:ì¾=K‹ˆˆðòòzüøqHHÈ7ÂÃÃýýý³²²|}}/^¼Ëß±ººÚÍÍíÖ­[{÷î}òäIbb"“É\¹råÓ§Où1ÅÅÅ4²²²Ôz, @&“±ч èÃ~øá÷ßÿî»ïrrrnß¾=mÚ´Í›7‹üÞbA(555€žžà@ð1X¬ŽÀ@ss%2od¤mÑÑÁÛ·/ 1}ilìØ¸1ƒÇCNš+'Gè+,*êyyysHˆ±½½†ŒŒäÔ©211–**Òaay55mÂTÔÒ 353S$‘zOrölå-[tåä „uë´–/×üí7ZSG˜Â“Ñ­¬Tìí5òóëëë‡wåÙÔÔJA.üwV:*ª¨±±#4ÔØÚZ•LÆëéÉl hh¦„)….úŒB›Ñа³×ÔÕIØVí÷p¨T)@ss—¯лMÈÊJ Ÿÿè%++ÛÔÔÄG'ÚQ`0ëJoݺuçÎCž $æ~ýõ×Ë—/‹: h¸ÔÖÖêèèˆ: ‚ A¤¥¥±“&&&Sš±±1ÿw @UUÕ@ÿ—åÃ.Ц¦¦öúõkìIêêêØ+ò’““%$$ìííù[TTTttt +++»]U7T¨T* ¹¹Ëu¯h{ÊÊÊ¢mllΞ=»gÏwww###<Ÿœœ<É@ z> (yy©ng•*)««[kkÛøó’ÂÄôÔØÈÙºõ±º:)=½êÆ÷..ûŠloç±XD"» 0@YYÀ`ô3÷ê9 ‰M’Åê8uŠvçNEeeKcc?†¿Ü~Q©¹¡«Q#‚VþØu¥[Z8 oo=ôa{;Íæ‰xþÓ(%%bii?]ÑÂÔôÏž–•5¡ .oØ ³sgNB›íÛ§—–6eg×FG[ôU/¶<èÚ‚‹å“‘é,‡x<ŽDêÒ°<"üáhiQè 5úpêTê€ò¥Èd2v 8 ˆŽðn‡°1ðAf<‡ùŒˆ½:oÐËP|ÜH'#Óyæ‡ÃãñØô$$$x<ú{{{;zõœ©©iÏrÊÊÊÐCõôô¯à¦¬¬< «ö´´´•••ØèCþ?üðƒ™™ÙÕ«W×®] °°°X½zõ¢E‹„¯‚ høêE¤ IDAT o¤×ûƒ€NüaÕÖ¶””ˆŠé gÎXS©RîîiÁÁO§N•16î}z‹@ R¥X¬6›ƒ˜®©i¨¨ôsË2“Ù ]ÖmÀ&éå••]j¼|¹¦‚‡§OÓöï/Àþ‘÷\óácô\™z@=b´¶rù‹JŠ$›Íinæb'¦ùç&£1²²Rl6çùsg¦;;kFEýñÇ//ÝS§^{zNÁ¶y·z…'¸ØAæpæÌQŽ……L7·Iü……L€••òÇÔ>Zp¹\<¾ó}Ìkæ—_~ñððòT q†Ãá6oÞ#êD áâîî.ê ‚úÑÔÔ4aÂÁ1]>I66 {¥*nh?¨aYYY6›ýüùsìÕÝ «× ¡9sæÄÇǺ¹¹ñ7¬¬¬Ð‡8ÎÕÕÕÕÕ•Ãádeeq"YWW–¿ÅÆFíÖ­÷ïW-Yòï¿õõí¥¥]î·xñ'—.•åæÖΚÕ9'{üø«„„7ii‹Ñ¹]<÷ÕWÚ‘‘§NÑ’’Êoßv\¯;8ýάYÊÚÚÔ¿þúðÍ7D"Àå"IIå$ìj0c‹ÅâŸÕÛ8 ôE G¸®4AA£‹Åêw2BUUûý?ƒÁ¨¨¨D]$‰ÿﬣ£ãùóçQH_/^Ìårsss±?>þüá»Ãõ¬Y³´µµÿúë/ôŽá.—›””¤¡¡agg‡n133CïÍ-))imm}ìØ1wïÞ½aJ ‚ h@еD±§¶õ }ŠDÂïÝ›——WßÒÂ-(¨ß¹3GJJ"4Ôx 1hjRŽ™]W׿íÕÞÞ}.8CS“žŸšJg³9¥¥MþþÙ Fkh¨±²² 3²ù¨T©èèçOŸÖõLÇÍž­Ì`´ž8ñº¾¾½µ•›•ÅHL,íV‚|iiÞòôiÝ»wlKK%!pÈñxHjj¥ƒC—“ äå ûöå=|XÝÜÌ¥ÑXÙÝô œ1ie÷îÜôô*«ƒÉl?w®4>¾8(È{ºñªUS¨T©Ã‡‹' ß¨Wx};hýŽ„îÇÍ:vï~Â`´2™í?üWVÖ1¤óá(0hb8 ÀYi‚ ‚F‡¦¦¦~g¥­­­«««ÿøãæææwïÞíÛ·OIi0± JKKétúÓ§Oß½{gii9¨”{8iҤݻw§§§³X,&“yîܹøøø   §K|$ ‰ü±¡¡a÷îÝ ƒÉdþðÃeeeDbç§ßÐÐЗ/_¶··×ÖÖþú믂ðO€ -ô\i …"8 }ÃÁÉ“¯µµ¯½xÑPUÕª­}íðáçÉÉtmík))t€ÁÿíܙÑ•• 6:t¨hö웫W?••JH°FOMP ¿®¤¤rì–Ó§iÏžÕþùyö¬~ÆŒFFÿ×-€ŠŠôõëvË—O Ë77OZ±"­¹™s挵§ç!šLÆÿ½ÉO?½˜3çV·$?ý4kõê©gΔXYݲµ½}íÚûO?øòËG®®ÿN0…„MŸ.·hQ²¯ï?ß}g¢¥E}ö¬›êáÃÏÚÚ׎X¾>j€Ÿê¦ÒÂ;ùøä÷~¨É¨=ÚþhÐ1C^éØãuÙ+•–ê¿ÀÛÜmè–ñÙÐ@ ÉkŸÃánß¾=66»F£a²X¬ÈÈÈ´´´ÆÆFCCÃ={ö„††¢¦mÞ¼ÙÑÑqåÊ•ü`oomíÎvvv'Nœ¼yófÏž=………òòò[¶lY³fMrròÖ­[ù‘...k×®íVš££#ö‚¸ÀÀ@ ‹U«Vñ·øúúúúú˜LæÑ£G“““étº¬¬ìŒ36mÚ4oÞ¼A·Ojjª——W·Ýþg{þüytttnn.Ç311ñóó377ç?ûâÅ‹ÄÄÄþù§¢¢‚H$N™2ÅÃÃÃÝÝ}/`ÔÖÖúé§*'§¦þC#Ðà ÉkÿÖ­[þþþ «W¯Æn‡jT ·nÉøúªÑhý|j€úµ|yj]]Û£GKEÈÐ8p ðÒ¥·; Xz,Õ; ÕkßÝÝ]]]ý¯¿þÂn„£JLFtõj!ÁYiH(pVzÌճҨ姗ױë&fÈ+íKsGóòÿ-Ÿ¦4íÄÊC•ϰºVxmWÒ.v25ä 1CòÚõê•““ÓÍ›7õôz¹I:4Z Ó¬4 à Р Ék?..îÖ­[·oߪ¬ ‘g¥‡Ê›•vtL66VˆŽ¶'õŽCCòÚçñx¦¦¦¡¡¡ð¶Xâl@³Òu‡P‚ hÐá!<þ}xÅ\uSuxJ¸«¡ëõÂë¢Î§^½z…Çãù·‡† 14 ¯_¿ÖÑÑu ½ää!¸Uà(ªœâââææfQ' 8+ A$åÞ–Qsë˜à¿‚—N_j9ÑNF@¢òüùs--- êD hÈÀ‚¤°°pÅŠ¢Î‚F‚¶öµ¾ž"‘ð--\~˜··^@ÀŒ‘Ê ‚DéÎ;jjjúúú¢N2pV‚ êÇ¥¼K¯k^ǹĥ¼Nu.Ðø•––ö1ë¬Aô1à@‰\IIIyy¹µµµ¨ ‘@£¹õAãÌßÿ½dÉ’!¼ß $rÃ2+ÝÔÔdff¦§§—””4å qÎMxâsMMff¿ëé)&%‰Ýi ✛ðÆÆQŒ¤’Ú’ÈÔÈœò—c2Á$`A€¹¦¹€xf óHÆ‘”×)ôF:™@6`ê5ÛkÎä9=*Y•Š$E-e-—eúˤ%¥»u£èÆÎ?wòfnÏ”#ÉÍ8zëå­Š† ¢$Ñ\ÓÜÓÔÓvš-^Ÿü*yëÕï“PXD”$ÌbÌXm¬nÅâp¸ÞÔ©ê€ºæºøGñwiw«XUT"Õr¢¥µ¾ª ïŠõêqy\Êå,Ÿ,•¬ÊÈ{‘GÜŽPýÜòÕ³TdT„Ù‚ Óé¯^½Ú³g¨F8thlHKK“——711u"A¾~ý:,,LÔ‰@CiXf¥áñÄtÄnŸ£@„ÇCx¼Ý3sdˆsn½’‘‰35U}ø°Ë-ÅGÝQˆVsGó÷w¾÷Ÿï¯¯¦_RSôWÐç¾ø}Õï³&Îê5žÑÄpÿý•Ó±4bÖÄY 6#*=jíùµû—ì÷0ñà´qÛö/Ù?{Òì–Ž– yvßÜÝØÚ¸Þr}·Òœõ‹*‹^Õ¼Šs‰““–ÿü×Ë¿~výÙb¢ES[ÓÉNn¾¼ùìçggOší¨ëHû–¶åÊ–n'åïÌ'K‘ÑßãÅÇ>ˆÝ¹`':QÝTíþ‡{§íG§gMšõ¡áÃ÷·¿_yfeÂê³OÌúj“âoŠ?¢E èVÐrýåV“­„ŒïÙôñRSS)Š¥¥¥¨Äz‚46¤¦¦ÚØØàñxQ'A‰ÀñãÇõõõ-,à­)ljá(”J¥–””ܺuk8 ÿH✛ðÄç(¨TBIɦ[·>u"½çÜ„76ŽbİÚX6æšæd)²‘†QôòènǾ”}}ÅG¥G•7”‡8„ØkÛËe¦*Nù4F…¢–Vîá„:„ÚkÛSeŠò¶¹ÛL[г¨ÆÖÆ—6òÞ)÷SüOàe:Ê:ÖS­¥%¥•)ÊßÚ};UQصÝzy+îaÜgFŸm±ÚÂÏöCÇ`û`[-[²YGY'Î%A½É{ÖLq!ïBY}Ù·öß ßk;@ÐÇ»xñ¢ƒƒ\Tê† qðöíÛììl'''Q'A‰@YYÙ;w¶lÙ—ïc†eV‚ H$ˆ’DÎë:õTôTeT_T½¨nªî5þΫ;;-;þž0wÊÜVNëƒÒü›i6ؽþçñ¿nçǽ©}óÙ™Ï$p!!x‰ÎSxl´lž|x²ç¯=Ï*ž¡WO'{%Ïž4»¯üŸú?EÏË£çíJÚe©i¾$œÿlò«d œ„½¶=‹ŠŒŠŽ²Naea%«R`à REcÅ©?Xv€$E&¾¯v€ ”››[TT´nÝ:Q'p Zp €ÄDBB‚†††­­­¨ ‚DàÀ“'O^²d‰¨†ØÐÏJ_¿~÷ŸÖÖVþöÚÚÚ€€---   °téÒ{÷ºÜsœÁ`øúúN™2…@ ¨¨¨¬X±âÙ³g=Ë,++óôô”——WRRrvv.))ÁòòåKWWW9992™=Ÿÿ‡s5t=³êÌSÿ§¿¬øˆ÷UïÿeÿO@iìvö¦K›8<Î ÷ò$yl¶²Ò²x¾xw1í[Z·ì]¹º)þ¦—xì€;\}1ó‹nÁÑË£þ üч“& Óô1^¿~}óæÍõë»/à A½‚AOp €F»S§Nq¹\Q'A´†††°°077·yóæ‰:hèÐ AAA¥¥¥±±±ÎÎβ²²ººº‰‰‰¾¾¾UUUhÀÛ·o>ìää$##c``pþüyA|||ºµqãF+++ …âàà°lÙ²ìììššô©àà`&“çè舒˜˜Èf ú!dɧ'ü!£ØlöÑ£GÑz-,,ÚÛÛwìØ!|Û¨:Á‡9$‚‚”–6ÄÆÚ;;kÉÊtu54d|}ïVU5‚‚î¿}Ûxø°“Ó4)åóçññ¹Û­¨¬¬&P(R“—-›–]YSÓ‚>ü€Él‹‹³wtœŒ’˜¸ŒÍî2I% Ÿžð‡Œb³;Žu@ëµ°POHXÖÞÎݱ#Uø¶Pu‚s¬jîh~Qõ‚ÿ°˜Q\ÝT­¯¦¯*£Úkü"ÝE€ÿgïÎÚ:6€O[öEQ- uAë‚lk?¯½Z´¢hi”k­ˆXDÑëRµ×«¢¶jUA«P‘*ж"*KXdKBäûãô¦)"„5,ïïéÓ'™Ì™óžÃ᜙›¹Ý·Q/¬¿›WUQu²ÙdI…äÜdé­æ™»-q›ä)K‰e¨fÈTb˜€©Äô9ï#¹OÜ.Ê.÷M.!DQAq’Ù¤ýï§Ñh7sþv›ˆ4¡H¸öÒÚÜ7¹{çí•L<ºúÂêøìxBÈ «B±0£ Cz“i&ï›, [?;]¬…óС¡¡VVVsçΕwèÐÈ:è ¥¥¥X¹r¥––Vëµ ‰Dëׯ§ÑhAAAòÎ]¢›F¥/\¸@qss“”¨¨¨¸ººòùüëׯB.^¼¨  0gÎI###›ŒŒŒ‚‚é¦ìíí% D)*úó"Ök×®Bf̘!© ¯¯?|øpC¶Ð²ìñd?d ‹Å3fŒäé¨Q£ ™™Y\\,cì6í®åÃì.<'„¸¹ •JBwu5åó¯_Ï#„\¼˜£ @›3Ç\RÁȈec£—‘QRPð·ë›ìí¥¢ªBŠŠ¸ÔÓk×ò!3füµ^¾>søpC¶Ð²ìñd?d ‹¥4fÌ__‰GÒ0@-3³¬¸XÖ?œ´iw-f_ÅPbl‰ß’YœÉoà?.~üåO_*Ñ•‚§¿«¾¿“¿‰¦IHBHRN¯ž—W‘·îÇue¼²àéÁÔíÛT…m‰ÛnæÜäÕóØöæ›ËxeM¦¥˜hšìýhoEmŪ¸UõÂzª0øZð¥Ô ëßÔ¾9˜vP,O<á]y¶%nKÎMÞ6k[³SŽú;ù›j™\ Hy‘ÂpªøU§œŽ¹èH§õ [™š=퓜œ|ûöíM›6)(`% :‚žt¢;wêêê⎀~h×®]iii111ÚÚÚòÎ]B±ö!ª««UUUÕÕÕ¥Ë !l6›ª@ÑÔlfîçÏŸ›˜˜HžJ×QVV&„ˆD"j/GUUUMMMzsÙÿí¶Ð²ìñ(­²¤äí¿ù•––ÙȾ»³SÂêjªª¢ººòß“°!l6ª@ÑÔÜýöæÏŸWš˜üušš5¢¬L'„ˆDbj/N½ªª¢šš’ôæÚÚ*2æl¡eÙãQZ=dI‰–VÓxÌ¢"nii­±qK³U¶ow-fßóý¯ß‡ß '„ª¹E$G<*z$‹F>±ðÄ8“qÒu!á«Þ_µ~Êz}5ý‹ÿ¼¸÷îÞoã¿esØ %ƘcŽ}rL2^ ©°%~ ›ÃÖaê8 r8³èÌ—¿ìwÉOÒàF×ví>=ù)!äaÑÃ;F¸Û¸ŸúôÔ©‡§Ö^Z[TS¤¢¨2D{Hè¬PÏÑž„øìø•q+©Ím"mÜmÜ—Ø/9–qŒp% àJ€ôºÛ¸Bt™ºqŸÅí»»ï›ß×k¨jŒ0±ÿãý‡tÇ­LÁ׃O?8M=Žºu+j²Ùä£ ŽÊr¨Û½Úª¦¦fóæÍ³fÍrppwèéÐtý9FGrpëÖ­¸¸¸Ý»w«¨Èú{>ôOÒ½ÀÕwÚ]§ÓwÚ÷¬8·")'iÝ”u_¼ÿUÒ?Ït®ŸþYGGÇÑño’?sæÌ¿ÿýïÐÐP¬.Ó‡uǨ´ŠŠŠ¦¦fuu5‡Ã‘6¥f–022RQQÑÒÒâr¹|>ŸZЯ}{QWWçp8\.Wz`º´´£w¶#^«‡,)yóæX,–^–‡ l`ðçEµMVìéàîºšŠ ]SS¥ºZÀáÔK›–”ð!FF,º–– —ÛÀçû)*¶óÂ7ººº2‡SÏå6HL—–Ö¶°•Œ-·5^«‡,)yó¦N,&Òï'ØÀ€I=•á­nÃîú•eŽË–9.“<=±ðD«u$´Z]7ntÝø®ÆßUaŽõœ9ÖsšælÈiR²uÆÖf›>lúÛ•ß.y;LkP«n_Ú:ck³Ç"ãyh‡Í›7 ‚Í›7Ë;ôèº:èf6l˜9sæ¬Y³äz:ê'üÜ£s+x©Óé;mYmCíÜ#s‡ê=4ÿP§Dêj².$å4‚²ÓO,ô7÷ïß_¿~½™™ÙåË—%÷Gž;wî_ÿú—ŸŸŸ§§§|ãA—ê¦ûaçÍ›G¹r劤D $&&2 jÂ>ú¨±±ñοýamûöí¦¦¦Ô² ~_¡æñ °ÙììììŽçoG¼V™RWW—žž.yúøñ㢢"[[[É…ÒL&³¾þÏ;­¬¬<Ø‘Ýuƒyó, !W®¼J"LL|Å`(Rn|ôѰÆFÑ;…Ò[mß~ÏÔô@c£¬WmÏšeFþ7…ÍæegWv<;âµzÈ”ººÆôô¿&fyü¸¼¨ˆkk«/¹PšÉTª¯ÿsRH+«Ã6¿FŒ»èÕΞ={åÊ•;wêééÉ; t7‘HôÕW_)++‡……É; @W‹Å"±¨ï]îR¥ÜÒ„‘ò}Ê‹/–/_. Ÿ?Gž;»òÓO/s££] ™Tss­¥K¯ýüs^uµ ¢¢îÀÌo¿MŒt–ýêéÐÐÉ::ª~~Iññ/¹Ü†¬¬ò%K®uÊ•Âíˆ×ê!S45U‚‚n§¦ñx ÷ï³-º¢¬LŽv‘T;Ö0;»òõkNjjыՓ'ìÈîz>Ÿÿö]M÷îÝÛ¼yóŠ+°Ö6@Ÿ÷òåË· ÃÃÃSSSwíÚÕdzF€¾„¥Ìºésó°×ay‘IÐÏA³†Ï¢–è•••K—.åóùÔßfÂÃë««CBB¾ùæ›uëÖ­Y³FÞ¡Ëuþ¨ôÅ‹i4Ú¥K—! cÑ¢E„##£ôôô… ®Y³FWW×ÁÁÇã%$$,_¾œÚÊÀÀàÞ½{«W¯¦–(Œ‹‹»té’——!$--MºÍM›6Bh4ÚöíÛ !vvvÔ:„æææ©©©öööóçÏ744ôöö 433£ÓéïÊ&cË-ÇkV«‡LQSSÛ³gÏ–-[Œ§L™¢­­””äää$©°k׮ѣG[[[/X° ::ÚÚÚºgXÆÃlû{C£E^º”Ca0v-Zt…bdÄJO_´p¡õš5Iºº1'x¼†„¯åËGÿï½fÞ»·ÈÃÃrõê}ý½Ã‡‰‹{~é’‡——!$-­XºÍM›~!„Ðh‘Û·ß#„ØÙ›3'Žbn®•šúööFóç_24Üçí}#0ÐÑÌL“NWxW6[n9Þ;ÞëVùïµÒž=®[¶Ü56þ÷”)g´µU“’¼œœI½×SGÖ·¶>²`ÁOÑÑ.ÖÖºí8Ã2&@°qãß&FxþüùÊ•+§M›¶~ýzy¥€îQZZúÉ'ŸPßS$>|ôèÑÐÐPéeá@ŽÎfž}^þ<Ð%PÞA ï¨««[ºt)›Í¦f ‹ÅgÉ’%gΜ‰ŽŽ^¹r¥¼Bw ‰Åm[ýŒF£ÅÆÆ¶0ÛÓ >œÏç7ûx¹3fLyyyAA¼ƒ´ŽF£ùùùEEEÉ;HK†?Âç7¾|¹BÞAš14 ù IDATfÌÊËù>òòNÔlMgÏžíH#¹¹¹-Wðõ5$„ìÙSÒ‘½@¯ó®ÏþáÇÃÃÃÅbqLLÌÌ™3 !¯_¿^¸p¡©©é?ü@-É }Œ……ùîÝ%³gsåºU³ŸýÆÆÆO>ùäáÇIIIÔ:ð/^üúë¯7lذtéR9…….tõªÚš5†99­|khjjãc …%…Ý/¸ß(l´`»~ÊzjÍ[é:Ò‹òUñ«öÞÝ›ð<¡¸¦˜©Ì3`Ì Çã»›ÃÖaè˜ë™»Û¸»Y»©*ª6iðÒ“K_þô¥dÃÔÕ©š Í}w÷]ýãjQu‘Š¢Ê8“q Æ,pêLW K¯yûÄÿ‰Š¢ !Ä.ÊŽ#à49.v{Õm#u#BHEmE̘ĜÄN‰ºŠºý {ßI¾ÖÖ-œ«+¡HØB=–^šoZ Øöìó÷ÎÛ;aðê¥W;|ûľ}ôÕô[húƒ&Ÿ}¡P¸jÕª”””&“â*))íÙ³gÚ´iòÈÃÜÜ\öÊݱÚa·a³Ù#FŒ())QRús¼üüüÜÜ\êjbèKØlÞˆGKJV))ýyqt~~unnÕ¢E#ä d”ššº}ûvjÉßààà÷ß¿¸¸xÉ’%†††û÷ïÇ4@Ÿ·uëÖÇBjkkCCC#""Nœ8ñí·ß®X±CÒÐ>µ µ›ol^7yµ¡unynàÏ‹N/úÏ'ÿqäÐlý2n™çqϺƺÐY¡ƒÊxe‘)‘ÿ8óm3·yÙzI*„‚m3·9š:òø±™±Wjêj–Ø/iÒÚë9OØO²Ë³£Ý£5U5 !A?ýüÇÏ{<ö¼7è=®€ûý½ï½ÏyŸüô¤£©#µæ­ÏyŸ„ç Ò<úòSéωcîÄ캽ëË)_RCÒ¥ÜRÏãž‚FAøìpS‡ÂêÂÍ×7Ï?6ÿÄÂvíÞuNž}ý¬g”B¯εž;aðë¿}š ¹yóæÛ“ª‹ÅâË—/cTºÿè¦y¥»Mee¥··÷ëׯkkkïÝ»·`Á àà`yç‚ÎWYYçí}ãõkNmmý{Å \ÖÐP–µ§9*..–¬^Bݯ¸hÑ¢!C†?~\CCC¾ñ «]ºtéäÉ“B¡ÒØØ´eË–Õ«WûûûË;ôVÇßÉœÉ8¦s”ñ¨sw6¶&l}WýȔȂê‚MÓ6¹X¸¨©¨™é˜E}¥ÏÒÿ6þÛr^¹¤Bð´` –2K¥÷Åû_L:åí¦jêj–]&‹{– ÅÞÍ¿k©g9Él’ª¢ªKoÃÔ f:².Põ«Ñ¿D<êcŸ >’´…Õ…A.AÎæÎL%¦¥že´{´X,Þ¿¥m§©-b3có+ó7¸l±~³ç@ÚNœ8Ñì:Ÿ—/_ÎÈÈèþT }jTÚÈÈ(!!¡ªªŠš ùÃ?´´´¼wïÞСCå­©ÈÈH–™™YXXH£Ñ¨‰žAvFF¬„¯ª*Á”)g´µc>üð‚¥¥Ö½{‹†íqÝ^dd:™™YVXÈ¥Ñ"©‰žú3@àíí][[+ùe´±±ñÆ–––GÅÂV}Þï¿ÿø· jétú•+Wþõ¯ay+èE[c[ÉS+}+5ƒßK~/å6]Z™r#û!dªùTI‰2]ùý!ï×5ÖÝλ-©à4ÔIz«#^Gš\(ýâÍ‹}¬@SØ4m].)w2wú­ð·?o|XôšF#~E¼£©ã»ò?X÷€ºP:³8ó«Ë_Ù›Ø‡Ì ‘¼Ÿ¯@Sp±p‘”è«é[êYf±³Øv‹'¦ŠjŠÂ“·»mg(1d©ÿ®ó qåÊ•;v´0™0N mëlÃÐKõ©<!®®®®®®òNÑ:\ÐA®®¦®®¦òNÑ:{{y§èA6oÞüìÙ3êú8 …ââb&¯TÐ=ªªª–/_Þ¤ …uuueeeòJ}ƒ–ªV“ß%t™º¥ÜÒ7¼7jM*× ë9ŽŠ¢ K™%]®ÇÒ#„”qËÞU¡‰AÍʸ•FêF)/R.=¹änã.yé›éߨ °‹ËŠûÇéBÞ3yo¡Ý†}ÐòQÕyŸó6V7Þ÷Ñ>%º’tZBȘ¨fVͯȧfùx[Gæ•NÊIâ8Ÿžü´IyÔ­¨¨[Q„DïÄÁÚƒ©ÂÎ%==ýË/¿¤Ñš_âNIII$ …ÂGýòË/“'Oîþ„ÐÍúÚ¨4ôd'Ož<þüÛ¿‰ …¢¢¢C‡Ifö€¾G(®Y³¦¼¼¼É¨4õÒþýûgÍšemÝÒÒm-x{©À7µo!º,Ý·++Ó•ÕUÔ9¯ž'=îLÍÝ¡¯¦ÿ® MÐèÇSWQ÷<æôs™ŽÙhãÑÔK4Íc¤‡ÇHFQcÚË´ïï}¿*nUkÐRûwΜΫç-?»¼QÔxÈóCK:­†ªOÀ{úõS:­ —!wd^éEc-û·eºÞµÚ!iñ<Bùú“$õE€F£)**644B ưaÃFŽ9|øðáÇ[YY1™Ly§…îЧfð€žì·ß~ûöÛoßuGžP(Œ‰‰ÉËËëæTÐmvìØñ믿6666ûª‚‚B```³“È¢¶¡ö÷’ß%OŸ•=+å–ZZ¿}¡4…ºlùfîMII½°þnþ]UEÕÉf“%’s“¥·š{dî¶Äm’§,%–¡š!S‰y`þ¦Óç¼d»(»Ü7¹„EÅIf“ö¼ŸF£Ý̹IÞA(®½´6÷MîÞy{%3P¯¾°:>;ž2Ãj†P,Ì(øÛ”»ÒLÞ7Y(néjèîÑÂy¨©)%d&—ˋŠƒ š9s¦¯¯ïÁƒ“““?~|þüù-[¶,\¸ÐÎÎCÒýF¥ ;”––úøø´PN§744lÚ´ ÉôIW¯^ýþûïß¾JZZVVÖ©S§º-ô1 %Æ–ø-™Å™üþãâÇ_þô¥])xZð»êû;ù›hš„$„$å$ñêyyyë~\WÆ+ žLÍãAUØ–¸ífÎM^=Íao¾±¹ŒWÖd^iЉ¦ÉÞöVÔV¬Š[U/¬§ ƒ¯ÿQúG½°þM훃iÅbñ„ÁÞ•g[â¶äÜäm³¶5;÷´¿“¿©–iÀ•€”)§Š_uúÁé˜;1.mºzº«5{ ? …7oî'd^XXØ… =ztóæÍ={ö¬ZµÊÅÅÅÄÄDÞAn0ƒôA—¿ìwÉ¢LW~úÕSyÇé&ɹÉ! !¯«_wä6=€."7|ñÅ555M#”””Åb±¶¶öøñãÇ÷Þ{ï‰ÅbL0 „Ž@ÞYš*)Éù&Ó‰JîàVPP°´´?~üÈ‘#Ç/ÇœÐ}ÿë÷á7à !†j†A®AÉŠ‰Ä¢ÑÆ£O,<1ÎdœtBˆE¸Åª÷W­Ÿ²^_Mÿâ?/î½»÷ÛøoÙ6C‰1fÀ˜cŸ“ K*l‰ßÂæ°u˜:ƒÎ,:3@c€¤£¡ÜèºÑn 5óâ‡#vŒp·q?õé©SO­½´¶¨¦HEQeˆöÐY¡ž£= !ñÙñ+ãVR›ÛDÚ¸Û¸/±_r,ã!$àJ@À•餿hÖeêÆ}·ïî¾on|S\S¬¡ª1ÂpÄþ÷O2±ëÏ1 ¾|úÁiê15¯ôd³ÉG•å<윻³BE§ÓÝÝÿ•˜hèé™+ï,г4?ÅxKÐh±±±^^^]z&æçç%ï ÐU<== !gÏžíH#¹¹­ô1¾¾†„={J:²Ù->³øþëû’ÁˆÚ†Ú¹GæÕzhþ¡î Ðm^U½ I)ª)*¨.à7ð1=¯¯á“'ë_½:D¡Ñht:½±±‘N§[YY?þ½÷Þ;v¬žžž¼cBw°°0ß½»döln÷ì@aa¡««;º¢¢@,ÓétBˆP(d±XãÆspp7nܨQ£TUUåºÜÕ«jkÖæä`d  Ág¿ÿ077—½r{®•þÏþ“ššÚŽ ¡WKHHX·n¼S@WÉÌÌìó7ΈÅb‘XÔm3ŽÚ9j„áˆØE±Ý°¯¨[QcŽý÷Çÿž²w ¿ß {h““Ô4 @¾ÐÈ…H$"äoÞ¼&„ 0ÀÑÑñ½÷Þ7nœ¹¹9îŒè·Ú3*}õêÕ«W¯vzèá²²²²²²äºŸßǿIJ”Y7}Þ¹´H¯6;LU£{ÐC•––VVÞ9r÷Ž–€9BG ÉÉÉ„ ûüóÃË—ÛàΠ´gT3xôC4XBð¾÷až˜Á¯÷ÂHôd#GFB,-»iö€~ôd...„,·µ-ÑÓë¦Ù{ çÃj‡ÐGä¾ÉÝ‘¼#íUšP$´1´ñwö—~Uz9‘'þOTU¤Kn,¿u;*õej¿Š’¾6]›¡]Q[s'&1'±„S¢®¢n?ÈÞw’¯µµ¤Í*~ÕÞ»{ž'°9l†Ž¹ž¹»»›µÛ‰ŒÔR*ᄺ½…)>­"¬„¢–£×cé¥ù¦µó¼ôèz ŒJ@_ð²ò¥çqO†"#Æ#f¬ÉØ×U¯Ã’Â^U¾’T˜>lzΆŸó> ÏÞ.ÙtmÓÚÉk#Ü"²Ë³½Ž{BJ¹¥žÇ=‚ðÙᦅՅ›¯ožlþ‰…'ìÚBʸežÇ=BÁ¶™ÛMù üØÌØ€+5u5Ë—-s\&ût¢X“  ãÐô" òÐ "S"kêj‚§O2›ÄTbZé[E¸E”rKeÜÜ{‚·£©#C‰aklûìëgÚ íÈ”ÈÂê — gsg¦ÓRÏ2Ú=Z,o‰ß"ÙcAuAð´` –2K¥÷Åû_L:¥ËZ‚Ž ÁµÒÐÜzq‹"=` f`¦c–W‘'Ëæ¶Æ¶MJâ³ãh ..’}5}K=Ë,v›Ã6R7º‘}ƒâ4ÔIz«#^GÚ}ÐèzŒJ@¯W/¬çÕóTU˜JLér]–®Œƒ %F“9!dLÔ˜·+çWäë0u8ŽŠ¢ K™ÕàÂt¢„Ž wÁ¨4ôzÊte–2‹WÏ«m¨• V¬j_ƒª<ïé×Oé4z³uÔUÔ9¯ž÷®ñ¡É¸;L' ÐAèzÌ+Ý‘‘‘4F£™˜˜È; ò¿¨©Û·)•üJ¯kÖ «B±0£ Cºð@ÚÉû& ÅBBÈÃ> „$ç&KW˜{dî¶ÄmÔc†£AØ@=ž~pú™‡gÚZ…Ž Á¨4!„444Œ=zÒ¤I2Ö÷÷÷‹Å¶¶Mçyñwö×bhmßúKÞ/µ µ9å9ë\ßä>î¶5èäoªep% åE GÀ©âW~p:æNL K uÑœ¿“¿‰¦É¶Äm7snòêyl{óÍe¼²%öK¨lŒlò*òŠkŠ>xUùÊ~}ç*4@/‚<þ$‰D"‘¼S@;™j™žýÇÙˆäˆÕW7 ‡éóè{ôþÑ»ùw-Â-Ðbhý냙ëšwÝá'å$­8·BòÔ"Ü‚:+ÔËÖ«ëv У #@G½M,·m-66ÖË ¿à’1cÆ”——È;Hw Ñh„Ä‚÷½óœ?Ÿœ={¶#Mäææ¶\Á×ײgOIGö½>û aaa¾{wÉìÙ\y€n…Ï>P®^U[³Æ0'§•o wù÷Ë~—ü!Êtå§_=íêÝõɹÉ! !¯«_c¹èiºí³rgnÞ†ë00ƒôs¬çälÈyÈûÒ…µ µ®\—Ÿ[.¯T]çUÕ«çVD¦D–×–Ë; €¬0*M._¾LûŸºº:Iù›7oÖ¯_onn®¬¬¬­­=kÖ¬›7o¾½ùüáææ¦©©Éd2§NzçÎnÌ­‹Å"q÷MÝ9jç¨'tϾ¢nE8öÒ’K,%V÷ì ã0*MæÌ™#‹ÝÝÝ¥ Ùl¶½½ý©S§¢££ËËËýõW&“éêêúý÷ßKWãr¹«V­ *,,¼uëVEE…‹‹KJJJ÷´„¥Ìºésó°×ayé|a³Ã|&øP‹ñô•n^```^^Þ®]»æÌ™£¡¡1lذS§N¯Y³¦¤ä¯i1«««CCC'Nœ¨¦¦öÞ{ï8q¢¾¾~íÚµrLý‡ª¢ª¼#´™¢¼ôP.\ „¸¹¹IJTTT\]]?~ýúõÅ‹S…ªªªŽŽŽ’:£F0`@fffqq±±±q7gèŸrßäîHÞ‘ö*M(ÚÚø;ûK¿Ÿ¿2n%õø‰ÿEé’ËoDÝŽJ}™Zů"„¤¯M×fhWÔVÄ܉IÌI,ᔨ«¨Û²÷äkm`-i³Š_µ÷îÞ„ç l[‡¡c®gînãîfív"ãDøÍpBHFA†E¸!„®@oaB«+¡HØÂ¡é±ôÒ|ÓÚy^z*ŒJ7C TWW«ªªª««K—BØl¶¤DWW—F£I×100(***--Ũ4@7xYùÒó¸'C‘ã3Ödìëª×aIa¯*_I*L6=gCŽÏyŸ„ç o—lº¶iíäµnÙåÙ^ǽ!¥ÜRÏãž‚FAøìpS‡ÂêÂÍ×7Ï?6ÿÄÂví!eÜ2Ïãž¡`ÛÌmަŽü~lflÀ•€šºšeŽË–9.µsÔñ‹b[ ߀5@†<š¡¢¢¢©©YWWÇáp¤Ë©¹;ŒŒŒ$%ÕÕÕM¶---%„t}L ‘)‘5u5ÁÓƒ'™Mb*1­ô­"Ü"J¹¥2nî=ÁÛÑÔ‘¡Ä°5¶}öõ3m†vdJdauaK³¹3S‰i©gí-‹·Äo‘ì± º xZ°‹… K™¥ÇÒûâý/¦ Òe‡Ð×`TºyóæÍ#„\¹rER" ÆŒ3$…\.733SòôñãÇEEE¶¶¶¸P {Üzq‹"=(l f`¦c&ãæ¶Æ¶MJâ³ãh ..’}5}K=Ë,v›Ã&„ÜȾAqê$½Õ¯#Kì—´ëúÌàѼ°°°””???555''§âââÀÀÀâââPóxPX,ÖêÕ«###GŽùûï¿þùçÊÊÊÑÑÑrLÐÔ ëyõ<E¦Sº\—¥›W‘'K %F“9!dLÔ˜·+çWäë0u8ŽŠ¢ K™Õà¼ÒÐ?aTºyFFFééé!!!kÖ¬)((`2™ãÇOHHpqq!„DFF~õÕW„~÷ÝwéééB¡ÐÁÁ!))iâĉòŽÐ/(Ó•YÊ,^=¯¶¡Vz`šZº°} j¨jð¼§_?¥ÓèÍÖQWQç8¼zÞ»¦i„ÖlùÛ0¯4ôO˜ÁãOB¡PAAAQñ¯az]]ݨ¨¨/^Ô××WUU]»v’&„øûû‹Åb±X\PP`ooŸ””Äápjkk“““1$ Ш™4¨y<(•üJ/”nÖ «B±0£ Cºð@ÚÉû& ÅBBÈÃ> „$ç&KW˜{dî¶ÄmÔc†£AØ@=ž~pú™‡gÚ Oê×£Ò#GŽÌÏϧšššJJ@Ïçïì¯ÅÐÚ¿õ—¼_jjsÊsÖÿ¸¾É„mkÐÉßTË4àJ@Ê‹Ž€Sů:ýàt̘@—@êêi'M“m‰ÛnæÜäÕóØöæ›Ëxe’y¥mŒlò*òŠkŠ>xUùÊ~}ç*@_ÑßawìØ±}ûö¤¤¤‡†……É;@'¸üûe¿K~„eºòÓ¯žöÃýœÜË=ô7¦Z¦gÿq6"9bõÅÕÂÆaúÃ|'ú½ônþ]‹p ÏÑž..+ãVR•m"mÜmÜÿ1îóÍ—”Br6äHÔeêÆ}·ïî¾on|S\S¬¡ª1ÂpÄþ÷OòçíÑújúÿyqïݽ[â·°9l¦ŽÃ ‡3‹Î Ð@UØäºiãµú@‹¡õ¯þe®kÞu‡Ÿ”“´âÜ ÉS‹p BHè¬P/[¯®Û)@õëQéÇ…††úûûË;@'˜c=gŽõœÅgß}¿èçäþsXî 2Ó1û÷Gÿ–.™j1Uú©ô ó»J¤i1´‚\ƒ‚\ƒZ¨°ÑuãF×;:Twèéÿ;ÝJèNâbáÒò±ô@ýzTÚÑÑ199YÞ)ú‘~=¯4t3ŒJ@÷é×3x@ߟ/YºäÆòQ·£R_¦Vñ«!ãLÆedP/3»(–r7ÿîâ3‹Î?èbáB IùáþTgϨ5µ›°Š°Š„-dÐcé¥ù¦µ5^úÚt Uk\ûo柕=ã8ƒµ{Ùz-·X¦ÐdÛä•É7#nçݦ+ÐíÚO 6Õ2•ì%÷MîŽäi¯Ò„"¡¡¿³¿ì´Úµ1wbsK8%ê*êöƒì}'ùZXS›ÅÂBÊ K¡# è W¡‰Åâ¶m@£ÅÆÆzya!×þ…F£KÞ÷>Ìsþ|röìÙŽ4‘››Ûr__CBÈž=%ÙË»øœ÷Ixžà0Èaíäµ£Gg—g{÷JóM»úÇÕÍ×77÷»m>¤j\ 8ÿø¼›µ[´{4UŸü·ãÇ>9ÖÁZŽ÷ ðÁŠs+üüÚ-‰E?=ý)$!d©ÃÒ S74Ùvšå4ïñÞà †ÿVø›÷9ïaúÃâ>‹£*¼¬|9ï?óŠŒínÛÇšŒ}]õ:,),¿"¿”[úô«§­fh6x÷4 Âg‡;˜:Vn¾¾9³8óÄÂvíÈÿõn!¤Œ ßêÒÏ>ô.æ»w—ÌžÍíŠÆÑ #€«K?ûЋ\½ª¶faNN+ß Ág¿ÿ077—½2fð€>Å{‚·£©#C‰aklûìëgÚ m·ánJt¥‹O.Rêëž' Öœø<‘WÏ£ /d]˜7rž\âBM}&øhªjj3´[ŒJ@ŸbklÛ¤D‹¡ålî|'ÿN·Œ’ð<Áv€í¢±‹êë®?»N©âWýúê×V3äÏÅÂåä§'¥K¬ ¬EÏËŸ7©9Úx´ä±±†1!¤„óç•§·^Ü"„L:ERÁ@ÍÀLÇLÆ ñÙñ 4ê6vŠ¾š¾¥že;‹Ía˲Mº: :èÉÚ3¯ô‚ ,XÐéQ Ç[@Þ÷¾,-ÍDÞ:C‰ñvἑóâ³ãúý§¥öK/f]œ7rÞ„ÁÂo†ÿøôÇF}tù÷ËS-¦2•˜-4Û‘éD[ŽÇpß;|#û›Ã®©«‘”óøMjª«¨K+Ó• !b"&„Ô ëyõ<E•&‡ ËÒÍ«Èk5C½°ž#àBÆDy»r~E¾‘ºQË!Û K¡#@G=V{F¥gÏž=lذN=Ù®]»–,Ybgg'ï ÐUŽ9¢­­-ï]eªùT-†Ö…Çû «ö7»ví²³³›={¶¼ƒ@W¹zõªššš¼St%º’›µÛÉßNîLÙ9Íršª¢*!Äc¤GÊ‹”èÛÑ¥ÜÒ ƒ'È%˜P$Ì(ÈÐWÓÿì½Ï$…‚FA[Ûqêtõ«·^Üši5“*©äWÊ~yÚ «g3Ïfd8 rH;pâ·É+“‰˜´²ƒº:‚–¡#€n†y¥ _ð°ñ „ÄfÆJ³š>l:K™›ënã®@“ÏCºÝÑÔ±Œ[vè×C•üʺƺ´—i§"C'øIDATœjk;þÎþZ ­­ñ[Éû¥¶¡6§lõêÕjjjgÏžíH#¹¹¹-Wðõ5$„ìÙSÒ‘½¼íaÑÃùÇæK—älÈy»Ú´Óê…õ)+Sh4Up%àüãó×–]³Ð³èÜH²Ç«äW~wë»äÜä2n™CËi¨“¾šþþÔý„‘F#¿ùàémW½¿jý”õá¥j1õÐüC„¼Š¼ˆäˆÔ—©ÂÆaúÃ|'ú½ônþ]BˆçhÏc´|ŠªøUûîî‹_\S¬¡ª1ÂpÄrÇå‡L”%äÅ^l5@Øì°N9™ÐKuÑgz# óÝ»KfÏævn³è:èٺ賽ÎÕ«jkÖæä´ò­:èòï—ý.ùB”éÊO¿zÚ@OƒÏ~ÿann.{eŒJƒL0*ÝçõêQièáðÙ ŒLôOøì#SÝiñ™Å÷_ß—ã °Ü@ÏÏ~ÿѦQiÌàÝ£ÒÐ}0* ÝGQÞz.—kgggeeuùòeygYÅgǯŒ[I=¾±üFÔí¨Ô—©Uü*BÈ8“qÔKãLÆÅ.Š%„ÜÍ¿»øÌâƒóºX¸BBB~¸ÿUçYÀ3:þö.¬"¬„"a ôXzi¾im—¾6]CUãÚ×þ›ùßgeÏ8Î`íÁ^¶^‹Ç-V )4Ù6yerÄ͈Ûy·é t»vÁÓ‚MµL%{É}“»#yGÚ«4¡Hhchãïì/{m†vEmE̘ĜÄN‰ºŠºý {ßI¾ÖÖÔ&B±°…²x[¿•VSS3fÌ/¿ü"](‹E"‘H$’W*h‡éæçlÈñ9ï“ð9ö®]<ûúYWÄ#„¤ä¦¬½´ÖßÉ·Çn‘XôÓÓŸBBØö†©šl’â=Þ{»Ûöß ó>çíwÉ/î³8j/+_z÷d(2b|4U5µÚ‹Ç-ž;bîé?pÜ&ÛzÙzÙ ´c(1&™èlîü¨øQ%¿’z)2%²¦®&xzð$³IL%¦•¾U„[D)·TÆ ‘)‘…Õ…A.AÎæÎL%¦¥že´{´X,Þ¿E²UË!Û€‚Qiè lm›”h1´œÍïäß)ã–Bž'ذ]4vQ]cÝõg× !Uüª__ý:Ãj†\â¹X¸œüô¤t‰µu£¨ñyùó&5G–<6Ö0&„”pJ¨§·^Ü"„L:ERÁ@ÍÀLÇLÆ ñÙñ 4êÊqŠ¾š¾¥že;‹Ía˲M(9*]VV¶fÍš!C†(++ëëëôÑG>¤^š4ií-ZD™6mš¤¤ªªªÕ(oÞ¼Y¿~½¹¹¹ŠŠŠ‰‰É´iÓ~øá>ŸB55iÒ$ªæµkר===ª$22’F£ñx¼;wîP/)**B.^¼(IRWW÷ö¾”••µµµgÍšuóæMê%éMòóó,X ¥¥¥««;gΜÜÜÜ–ÏÒüááá¡©©Éd2._¾,9Ë–-“nùÙ³g^^^ºººÔÓòòò–SÉ~h4š‰‰Izzº«««ºº:“Éœ:uê;wÚþžô %ÆÛ…óFΊ„?ýþ!äbÖÅy#çÍ1—®@ÿñé„Ë¿_žj1•©Äl¡Y«+‹p‹þ¿g|ûâqœ]·wÍ><{ì®±TSá7à !ü~“šê*ê’ÇÊteBˆ˜ˆ !õÂz^=OEQ¥É!è²teÉP/¬ç8"±hLÔé#zRò„’_‘ßjȶ tÚ¨tqq±½½ýÿûß}ûöUTT$''WTTL˜0!55•òË/¿<|øÅbÙÚÚ8p€råÊGGÇÓ§O‹Åb--­V[ „°Ùl{{ûÓ§OGGG———gdd8;;/Y²äÀ›6m‹Å,K’gæÌ™b±xܸq’ªÎĉÅb±X,nll$„xxxˆÅbwwwéáöuêÔ)j_¿þú+“Étuuýþûï›lâçççççWXX›””´páÂÎRNN΄ îß¿îܹÒÒÒ£GFGG?zôHEEE,ÿý÷Ò-{{{¯Zµêõë×iiit:½ÕT²Ÿ[[Ûªªªµk׆„„°Ùì[·nUTT¸¸¸¤¤¤´ïÝ虦šOÕbh]x|¡¢¶âaÑÃéæë±ô& ™”ú2µ”[÷8®Õé;ž}ý,gCN ÿ½k©ÃV­8·"æNÌÛ +ž<ÏÙ³Ñu#ù߈³,”éÊ,e– QPÛP+]N-f(ËæªtýY@3Ç8~ðøVCv0ô[6*øòåËï¾ûnöìÙjjj666gΜ‹Å¾¾¾T[[Û£Gfff.^¼X,{{{»ºº~òÉ'²·˜——=gÎuuuCCÃM›6Íœ9³³¡ÉáäååíÚµkΜ9Æ ;uê”±±ñš5kJJJ¤k.[¶l„ ,kÚ´innnéééÔEÍÍ ªªªŠŽŽž>}:uŒ§NâñxÍVpvvf2™ŽŽŽzzz²§jÇÛ·o•ü½÷Þ;qâD}}ýÚµkÛÔ@§DWr³vû½ô÷);§YNSUT%„xŒôŠ„Ñ·£K¹¥OK0¡H˜Q¡¯¦ÿÙ{Ÿé0uh4!DÐ(hk;NCÈÿ¦Ñ Tò+ó*òdÜ|†Õ ¡X˜Q!]x íÀä}“…b¡,!;ú§N•¾xñ¢‚‚œ9s$%FFF666T‰§§çÆãââ&MšôæÍ›­[·¶©… .BfÍš%½ÕÏ?ÿìçç×YG!AíËÍÍMR¢¢¢âêêÊçó¯_¿.]ÓÞÞ^òxРA„¢¢¢w5{íÚ5BÈŒÍW¥¯¯?|øðf+;88´;U«X,Ö˜1c$OG5`À€ÌÌÌâââ6µÐÃyØxBb3c%—EO6¥ÌŠÍŒu·qW ÉgÍ-ºÝÑÔ±Œ[vè×C•üʺƺ´—i§œjk;þÎþZ ­­ñ[Éû¥¶¡6§:]L ;¹Ù‡E-Â-ž'Bl"m,Â-Þ®c7Ðnˆöýyù—ª¢êL«™„V§ïèÒx»=v/´[x,ãØ„=œÿí|!ë‡6B>;ó™ÇM¶ýîÖw„‹p‹i!sÌ]~n9!ÄTËôì?ÎŽ0zõÅÕÑ__ùzñ¸ÅVVõÂz‹p‹À«-gÐeêÆ}7Ýrú77¾±¶ÿàÐ׳¯ïÿxÿìá³e )K€.=ÃÐó …~ü¤)vJ+***ZZZ\.—ÏçSK¾Krrruuõ¨Q£V­Zekkkkk+{ šššÕÕÕç]Ó õõõÒ%’u%¨›MZ=œf÷EÍ’addÔj ïjV]]Ãáp¹\éi‚eL%ËI „¼yóF,KŸ *56 Ð7ÄgǯŒ[I=~âÿDEQE¾y!—¿ìwÉ¢LW~úÕÓnØcrnrHBÈëê×Ͼ~Ö »èQÐtГ¨«‹!Ž‚–Vó×rµÏ˜cr6ä´Z-Á;¡IÉv·íÛݶwb’fµO›¡½uÆÖ&…þNþ’ÇooÛlkf:fÿþèßÒ%S-¦¶º•„C+È5(È5¨}!e ýYMõñÖiw©|ôÑGwîÜ‘.ܾ}»©©)µ¨ !$//ïóÏ??þü?þÈ`0ÜÝÝËÊÊdoaÞ¼y„«W¯JW°³³[·nõØØØ¸°°Pò›Í~õêU“œL&S2hkeeuðàÁf‡Úו+W$% 11‘Á`HÏ¿ÑVÔô#Ô<’ÙÙÙ2n.K*YN!¤®®.==]òôñãÇEEE¶¶¶ÆÆÆm8€žmú°é9r¦YN“w¿Ì±ž“³!çý!ïwþ^U½ZqnEdJdyí;'»èÛР#€eРFBH~¾²¼ƒ@·ÊÏW<¸QÞ) Çé´Qé°°0ssó¥K—þüóÏÕÕÕøöÛo###©kŸ¹\®‡‡Ç®]»FŒ1dÈsçÎÍŸ?¿¡¡AÆÂÂÂÌÌÌÖ­[wåʇSPP°jÕªââbɨô|PTTÃårsss×®]ûö•¿cÇŽÍÎÎ~ýúujjê‹/&Ožü®Ã133óóó»|ù2‡ÃÉÎÎþôÓO‹‹‹£££©3Ú'44TGGÇÏÏ/>>žËåfee-Y²Dö‹¯eI%ËI „hjj¥¦¦òx¼û÷ï/Z´HYY9::ºÝ‡ w£vŽZpb¼Sô Q·¢Æ{iÉ%–«õÚ½:‚&Ð@OcbÒ ©)zð@UÞA [=|¨bmÝæe<¡Ïë´Qiƒ{÷îyxx¬^½šZÁ/..îÒ¥K^^^„Õ«W«««?zôÈÝÝ=++«¼¼ÜÙÙ¹¡¡áÖ­[ÊÊÊ!!!­¶@122JOO_°`¯¯¯®®®ƒƒCeeåíÛ·MMM© !!!Ë–- 500øç?ÿùÕW_½yó†F£mذª³k׮ѣG[[[/X° ::ÚÚÚúâÅ‹4íÒ¥K„ƒ±hÑ"ɾ.\¸fÍj_</!!aùòå„´´4éM6mÚD¡ÑhÛ·o'„ØÙÙI¯Ù(ÍÜÜ<55ÕÞÞ~þüù†††ÞÞÞffft:ªÐ¤å&ó´œJö“@QSSÛ³gÏ–-[Œ§L™¢­­””äääÔ±Ѓ„Íó™àC§Ñåäô44™<¹61‹àô#eeôÌLÕ)SjåzœÎ™W𢣣³sçÎ;w¾ýRLLLLLŒt‰XÜÌ4ç-´@ÑÕÕŠŠŠŠŠjöUMMÍC‡I—Ü¿¿I++«[·nI—xxx4¦…}?þíMšmämÆ »pá‚tIqq±žž^ -˘Š"ËI X[[KÏ%}Œª".Bè×Ð@4w.×ÇÇèåK¥ÁƒäºÃùó"ŒJÃÛ:sTZÅf³GŒQRR¢¤¤D•äçççææRh@û|ÿë÷á7à !ÔrÒtz“5Êxe7#nçݦ+ÐíÚO 6Õ2%_ëÆòQ·£R_¦Vñ«!ékÓµÚµ1wbsK8%ê*êöƒì}'ùZXS›ÅÂk\ûo柕=ã8ƒµ{Ùz-·Xö×(¹orw$ïH{•& m müÿ¶*È»XEX E--O®ÇÒKóM“ý,ôaèz ggž©iCt´Îwß•È; t¹êj…#G4,¨QU•éRNèW0*ÝÝ*++½½½·lÙ¢««›••åëë«¡¡,ï\½Ø2ÇeË—Ú9j„áˆØE±ÍÖ Iñï½Ýmûâ‡+ãVú]ò‹û,Žüo!,Ÿó> Ï6]Û´vòÚ·ˆìòl¯ã^„Rn©çqOA£ |v¸ƒ©Cauáæë›ç›bá »v„”Ü”µ—Öú;ùïöØ-‹~zúSHB›ÃÞ0õÏ s^V¾ô<îÉPdÄxÄŒ5ûºêuXRØ«ÊfÖ m¢É` ´@oA§“  7>>F ÖØÛóåºÖîÝ:4ññ©”wè‰:m^i…‘‘QBBBUU5•ó‡~hiiyïÞ½¡C‡vO€ÈÈH–™™YXXH£Ñ¨±ú/[/»v %Æ„Á\,\?ªä7í½'x;š:2”¶Æ¶Ï¾~¦ÍÐŽL‰,¬. r r6wf*1-õ,£Ý£Åbñ–ø-’­M}&øhªjj3´[Ťé¯À %†ôÓza=GÀ!„Œ‰óvƒùùFêFçð½Ã7²o°9욺¿úZ~ŸjWÏSQTa*ýmq]–n^E^Ë1(@çBGÐs ܰg{éRc335k*ä:Ÿ¯àímÄb‰÷ìa+à‚XxŒJ@A#| 2]YCUƒ'à=ýú)Fo¶ÎŠs+Ò_§O ž;b®6C›F£M?º-q5Ò¡LWf)³xõ¼Ú†Zéñj­–a:Q€¶BGЋ¼ÿ>Ë–òM›ô¹\Z@Àzó?e ÷¡®’.,T4麙ãlŒlò*òŠkŠ>xUùÊ~}ÇÛôwò7Õ2 ¸ò"…#àTñ«N?8s'&Ð%N£Ó莦ŽeܲC¿ªäWÖ5Ö¥½L;õàÔßZpö×bhmßúKÞ/µ µ9å9ë\ßä>n€>O,&4¬f„ÒµÿÐôLÔ¯è YsçrOœ(zôHõƒLãâÔ1Í4@ïU]­°u«ÞG ´°h8{¶CÒÐ*š¸?õi4Zll¬——W‚ž‰F£íÞ½{öìÙò]eõêÕjjjgÏžíH#¹¹¹-W 4(-¥>\Ü‘½¼Ë‹7/6^Û˜ÅÎÒbhùLðù?»ÿ{Xôpþ±ù’ «Þ_µ~Êz‹p IÉT‹©_¼ÿ…tBHΆé§Uüª}w÷Å?/®)ÖPÕa8b¹ãò‰C&R¯Vò+¿»õ]rnr·L‹¡å4ÔI_Mê~BÈH£‘ÿy‘’W‘‘‘ú2µQØ8L˜ïDߣ÷ÞÍ¿Kñí6;¬+Î!$)'iŹM Cg…zÙâ8t·%KŒŒÃÂÊääÏÖÖ,8¸|þ|NW4ŽŽ  tÐCp¹ cƘ=Z§¤„ñi€^£¬Œ~þ¼Æ‘#š4ñ÷¯øøãÌ%Ýo™››Ë^£Ò ŒJ÷yÝ3*½s§Nb"ëêÕ×Ù ô:³gš6·~=Ö22}ºé‡r|}+åºOn®òŒƒ~úéµµu½¼³@öÇÊ»véܼÉRUM˜À1B`l,TSä´=‘PHª«éùùЍ>z¤ª¡!Z° ÆÇ§R]ŸÙ~­M£ÒíYí0**ªƒCWÐ9räêÕ«òN]åáÇ“&Mêê½ ^èŸOc0pí@Áç+¼x¡de…‘ „+«ú'OTäºUV–²¢¢ØÜ·rC+†¯ß¿ŸÍf+&&²RS?þ¨^^NÇ|Ó=“‚ÑÐ Ô`c#X±¢ÊÉ©VE_ó¡mÚ<*=þüÖ+AŸcbb¢­­­¦¦&ï ÐU&Mš4a„®Þ‹ƒ_$¢Ý½Ëtuåuõ¾ ‡¸{—!Ñùò=Âøñü;th¸5 ÿ¸u‹9vl²2>õ #£Æÿû¿êÿû¿jy€®ÕæQi\% í¦¯/´³«»xQ £ÒýÇ… jcÇÖéé åz„iÓx[·êÅdzfÏæÊ; tO!!…Iœ  Ü ÝêÓOkâãYùùJòÝ!?_)!µpa¼ƒ@OadÔèìÌ;|X«+›@ouꔆHDóðè’5N ÷¨4t«9s8–– ¡¡zòÝaÛ6=3³†9spU,üÅß¿"+KùÂuy€.W^Nß·O{ùò*MM,~ƒQièVt:Ù´©<)‰™œÌ”wèZÉÉÌ›7™ß|SN§ã²Xø‹¥eý'ŸÔDFêb+€>/2RW]]´|y¥¼ƒ@ƒ/ÐÝùsçr Ú<µ=ôŠsçr±Î!¼mݺJ‘ˆ¬_o ÂÕ“}W\œúùóê7–3øÛ$4…QiƒÐÐÒ?ÿܸ¦?…ú OÁÛÛØÀ qÛ¶2ygžHKKxèPqj*sûv]yg€.qÿ¾ê¦Mú>>•3f`khƃ@ ñÞ½l‡¾b…qU]Þq 3UUÑ?ÿܸ²’~ð ›ÉÄ¥°Ð¼Q£¡¡¥GŽhíÞ­ƒ•ú˜ôtUc—Úuë*äz(ŒJ€|7þç?El¶âÇÌÍU’wè¹¹J<ÍVüÏŠŒåz´¹s¹!!eûöi­_o(Ðä:G\œúâÅÆçGF–(àë&¼~M¹±´¬?¾@GGèéirü¸¦Pˆ! €^L(¤?®ééi¢£#<¾ÀÒ²^Þ‰ X° æÈ‘â[·˜óç¼_UÞq CÊËé6|þyÕž=lUUÜïDãžIè$¹¹¹íØJ  íÙ£säˆæ! _ýfÊ”Z\VлˆDäÖ-fDÄÿ·wï*Dq‡ã%#:»‰¢µ¼ô‚ˆ}$Ø>`© ‚]ÞÀW°²²²PAEðlTЋ]/Ѭ7âl!l½^8‰äûê)N7g~3ó?Ýççé¹¹Û……«¶6» Þ¡XL¯¬ôtLOß/.^õ÷¿ÔzEÀûT*Íkk™ÕÕ®LæuyùW>o–44¢ÁÁÁÿ¿X•¾ÌǪô›b1](tooǽ½/SS•‰‰‡‘‘ç®®ª¶õéé©éúºåø8:öõ½d³U¯*¡>Ýß7_^¶E{{[[ñëkÓüüÍüüu{»Í4(U¨ÏTé7''ÑúúÏøì̤iø^r¹ÊììÝБ|VµšÚÝ76~ìïwÜÞªÑð ´´$ccù|efæ.›uÂ-44U¨ÏWénnšOO£r¹ÅùWPŸ¢(ÉdªÃÃÏ_/IRéR©µ\nN7¨GqüÚÓSzŽ"O”@*¥Jµò…U€oä]UÚ¯‘„£JŽ* @8ª4á¨Ò„£JŽ* @8ª4á¨Ò„Ó”$I­×@£ð­4á¨Ò„£JŽ* @8ª4á¨Ò„£JŽ* @8ª4á¨Ò„£JŽ* @8ª4á¨Ò„óÿ¢nŒîOIEND®B`‚fio-3.39/examples/libblkio-virtio-blk-vfio-pci.fio000066400000000000000000000016271476262051600221420ustar00rootroot00000000000000; Benchmark accessing a PCI virtio-blk device using libblkio. ; ; Replace "/sys/bus/pci/devices/0000:00:01.0" below with the path to your ; device's sysfs directory, or override it by passing the '--libblkio_path=...' ; flag to fio. ; ; In the example below, the two subjobs of "job-B" *and* the single subjob of ; "job-C" will share a single libblkio instance, and "job-A" will use a separate ; libblkio instance. ; ; For information on libblkio, see: https://gitlab.com/libblkio/libblkio [global] ioengine=libblkio libblkio_driver=virtio-blk-vfio-pci libblkio_path=/sys/bus/pci/devices/0000:00:01.0 ; REPLACE THIS WITH THE RIGHT PATH rw=randread blocksize=4k time_based=1 runtime=10s [job-A] [job-B] numjobs=2 ; run two copies of this job simultaneously thread=1 ; have each copy run as a separate thread in the *same* process [job-C] thread=1 ; have the job run as a thread in the *same* process as "job-B" fio-3.39/examples/libblkio-virtio-blk-vfio-pci.png000066400000000000000000001716761476262051600221650ustar00rootroot00000000000000‰PNG  IHDR ³êa‹AbKGDÿÿÿ ½§“ IDATxœìÝwxTUþÇñϤÒ!!T‘P•âÒ‘&¢€‚vR¥-‚ ‚¸Â RTÙâ+¢° ˆ4 E!nXŠ’ÐBzH¹¿?ÆL ™„$“ò~=Ï<ÏÜ;çœû=wNä8ósL†aÀŽì$³ìŽd6€Ý‘̰;’ÙvG2ÀîHfØÉl»#™ `w$³€r/,,L&“Éê±nݺ|ëM˜0!G½3gÎyÛÅWØØQ2Êëû­I“&éÞ{ïU¥J•äââ¢Ê•+ëÞ{ïUhhh¾},ϸ7Ňd6Pî 4H†aÈÓÓ3××ÓÓÓ5pà@yzzêÑGUjjª$iñâÅ:qâD®U˜:·‹/¿Øó’WŸì­¤â*©ë”–÷»(9sFÍ›7×Â… õÛo¿iþüùŠŒŒÔÉ“'Õ©S'­_¿^QQQv‹¯(v|T„{`O$³€ ïèÑ£Z»v­’’’ôÅ_èàÁƒö鎕Ö>E\çÏŸ·Z¹ìøñãÅrŠjæÌ™–„¬§Ÿ~Z£GVåÊ•U¹re½ýöÛòóó³s„w®°ã£"Ü{"™ TxMš4Ñã?.wwwõîÝ[­Zµ²wHw¬´ö©¤â*­ý/ vîÜiyÞ¶m[«×uõêÕç˚ŽŠpoìÉÉÞØ›³³³Ö¯_oï0ŠTiíSIÅUZû_\»vÍòÜßßߎ‘ŸÂŽŠpo쉕Ù@…fµe¥ÉdÒºuëò,¿uëVµiÓFòôôTëÖ­µråÊÛ^£0ulbûÓO?mSŸ®_¿®×^{M-[¶”œ¤ž={*,,̦kçv“ɤ7J’~þùg«óÙcÍׂ r¼¦Y³féî»ï–“““L&“ºt颚5kZÅѤI™L&U­Z5Ï¸Š£ÿy)é÷;/}|}}e2™”`icÀ€¹¶áææ–ãzEuO'L˜ãzË—/·éžÆÄÄhÊ”)jÒ¤‰<==U©R%5nÜXƒÖ¦M›tãÆÿÍKÒÒ¥KKŽ(ïHfÚ Aƒd†<==m*¿jÕ*}þùç:qâ„êׯ¯C‡éÿþïÿ4eÊ”"­c«9sæ¨zõêÚ¶m› ÃÐ?ÿùÏ|û¡&MšhæÌ™úí·ß´qãF]¾|YcÇŽÕÖ­[5xð`=þøãJOO¿íµ ¤+W®ÈÃÃÃr.,,L}ûö•$5oÞ\§N’£££Nœ8¡ˆˆˆ<ãš4iRŽ×^}õU999é‡~ÐòåË%™“Þ~ÿýw«ºÇŽ“aŠŠŠ²ÄUýÏKI¿ßy)èû›ã¾­]»V†aÈ0 mذ!Ïkå=]¼x±Nœ8auΖ{ú믿ªI“&š7ož~ýõWÍ™3GgΜÑÞ½{Õ°aCõíÛW«V­*ðß¼$3¦TÜ€òŽd6€˜:uªªW¯®ÚµkkòäÉ–ó ,Pxxx‘ÕÉaš9s¦fΜ©;wª{÷î6×}æ™g, a¡¡¡zàäãã£iÓ¦É××W’´aÃ-]º4ß¶üýý­V[¼x±Õëo½õ–ºwﮆ Úß-ÕªUÓK/½$??? 6Ln#7EÙÿÜ”¦÷»8ߟ¬JÃ=6l˜bbb$I½{÷Ö¸qãT¹reùûûkæÌ™jÙ²åt±ÐŠûÞ”'$³@ݺus}ž™™©mÛ¶YÛILLThh¨^{í5µmÛVõêÕ³¹ndd¤öìÙc9 ±|x{wg so*2’Ù ë–îîîV¯]ºt©ÈêÜΘ1c´}ûvIÒǬ Ø\÷ÖVœyÅãææfy~ñâE›Úlܸ±ÕJa·Vÿúè£T½zuõèÑÃæø² .T½Û)ŽþgWšÞo©øÞŸ[JÃ=ŽŽ¶:W©R¥B]§¨•Ľ(OHf(€¤¤$Ëóääd«×ªT©RdunçÅ_Ôž={, ;S¦LѦM›lª›=A,{<)))y–½¬«­[·NçÏŸ×Ûo¿­ñãÇËd2ÙÜNV...¹ž/l{Rñõ?«Òô~ßRïÏ-¥ážY‹/Ôu$)55U½zõ’ŸŸŸÞÿýB·#•̽(OHf(€S§NåúÜd2å¹ÂUaêÜN£FÔ´iS………ÉÁÁA™™™zê©§ôÓO?å[788X:uÊ5žÌÌL>}ÚròÈ#ª_¿¾$)--M¡¡¡ºv횆 Ràþå'ûª[iii’¤Î;ëÙgŸ½mÝâêV%ý~Ûûý) ÷´zõêjÓ¦åüáǭꧦ¦ÊËËK3fÌÈ·?ëÖ­Ó–-[« &(===ß:y)̽¨ÈHf(€¹sçêÂ… :wîœ.\h9?iÒ$5hРÈêØ¢W¯^–öÕ§OEFFæ[oÅŠªY³¦$sâή]»§9sæ(66V’Ô¯_?=ÿüó6Çb2™4vìXËñ4räH«í!‹Š%1K’:¤ß~ûM‡V—.]ò­_ýϪ´½ßRñ¿?¥áž®X±Â²òÝ–-[´téRÅÆÆêÂ… 6l˜üýýmº¾a¹>/¬â¾7åŠPέY³Æ”ãѹsçÛ¾6~üøç—-[f´jÕÊpss3ÜÝÝ–-[}ô‘åZ…©S˜øžþyãØ±c¹¾vÏ=÷äÙÞ-±±±Æ«¯¾jüéO2¼¼¼ '''£J•*F=ŒÕ«W™™™¾Ïñññ†¯¯¯!Éprr2~ÿý÷;~$§OŸÎq­;v4*Uªd888ÁÁÁÆ /¼`dffÞö:EÝÿÒð~Ïš5«Xߟ^xÁxùå—s}íã?.ò{j†qâĉÝÓ[bbbŒ©S§M›65<== WWW£N:ÆÈ‘#³gÏæ{ÿ Ã0RRRŒž={>>>Æ»ï¾[êî @yf2Œ"øy!‘“'OªQ£F–ãÓ§Oë®»î²_@(l3 °;’ÙvG2€Rc„ V[ŒJR:u4hÐ ;E€’b2 ðw€Š•ÙvG2ÀîHfØÉl»#™ `w$³ìŽd6€Ý‘̰;’ÙvG2ÀîHfØÉl»#™ `w$³ìŽd6€Ý‘̰;’Ùvçdï…­„„{‡ Iª[·n¡ë²2ÀîHfØÉl»#™ `w$³ìŽd6€Ý‘̰;’ÙvG2Àîœî´“ÉTq@¹ªµk×Ú;ŒB1 éüygýþ»“ââeöŽØÂÅÅ·w†êÕ»!_ßL{‡”ZÌw(›˜ï@ùuÇÉl’4aµk×®(š€reÑ¢Eö¡À22¤]»<õÅ•´g‡®_gOʲ:uÒÔµk¢BCãU¯Þ {‡Øó]Êæ»P¾I2[»ví4pàÀ¢h Ê•²¶"ÛŽžzýõ;ç¬6m’5fÌ5Ýw_Šj×N“O†øž€2áÆ “®]sTx¸‹öïw×Ö­žZ±ÂWݺ%jÚ´+ª];ÍÞ!vÁ|€òù.”_E’Ì(ÛΞuÖÌ™•õÝwêÓ'A}t‘ý(Ã\\ ¥+((]:%iòä+úö[½ñF€~¸¦žyæºÆŽ½*WWöTDÅÀ|€ò…ù.”_$³@·oŸ»ÆŽ­ªjÕÒ´f͵l™bï@3™¤Î“Ô¡C²V¯öÖ¢Eþ:pÀMË–E) ÃÞáÅŠù.åó](?Ø@*°Ï>óÖ3Ï«S§$­[Ç{”wŽŽ†† ¹®µkÏëêUGõï_Cÿý¯‹½ÃŠ ó]*æ»Pö‘ÌÔ_TÒôéUôÜs±zóÍh¶] ©[7Më×_PÕªéúóŸ«éâEíFùÃ|€Š‹ù.”]$³¡ÐΟ?/“É”ç#==ÝÞ!ÚÅ®]»r܋ŋÛ;,Àʱc®š6-PÏ<«qã®Êd²wD ¤ùúfhÅŠ‹òóËÐÈ‘U•”Äÿ¢ü`¾ ˜ï@ÙÄÿ½¡ÐjÔ¨!Ã0´fÍ«ó{öì‘arrª˜¿vëÒ¥‹ ÃPƒ ì «ØXG¬ví’4eÊ{‡ìÈÓ3SË—_TLŒ“^~¹Š½ÃŠó]p ó]({Hf€ fÑ"?98Ho¾#þ Â«Q#]o¼£/¾¨¤Üípǘ˜ï@ÙÂǺPü÷¿. óÖäÉWT©R¦½Ã¥D—.IêÚ5I¯¾ZYìLj²‹ù.È ó](;*æ>PA-Xà¯{。¾}ãí €0{öl­\¹ÒêÜ®]»T£F"»Æ‰'¦~øA‘‘‘JNNV@@€Õ¸qcµoß^íÚµ“ŸŸ_‘]@ñ˜6í²zö¬©Í›+é±Ç˜+ lb¾ ”NÅ1/ŠŠR‡n[ÆÉÉI~~~jܸ±  ž={úz…á/ÏÿüGž[·Êåôi9^¼(“a(=(H)-[êúСJ½çž ¨È˜ï@ÙÀÊl°‹ÈÈHMœ8Q5’‡‡‡ÜÜÜÔ AMš4I—/_ÎQþàÁƒêÓ§üýýåââ¢ÍŸ?_ 6”Éd²<6lXàk„……Yµa2™´hÑ" :TÁÁÁrqqÑ]wÝ¥_|QÉÉÉ6Ç”6QQNÚµËSÇÇÊÄPR-99YùË_Ô¤IMš4I™™…[YfúôéÚºukGg–ššª—_~Y}úôѧŸ~ª   }òÉ'úùçŸõùçŸëÏþ³vïÞ­qãÆiøðáÅ€¢u×]iêÞ=QkÖxÛ; P˜ïE¯4ÏK«V­ªˆˆ-^¼Øê|XX˜ÂÃõgÏMš4IW®\ÑîÝ»5f̽õÖ[EC~^]/¾(ÃÍM‘+WêÜ·ßêê¸qr>wN^ë׫F¿~òþôÓ ¨È˜ï@Ù@2JܱcÇÔ´iS-Z´HñññúùçŸuâÄ ¥¥¥iáÂ…jÑ¢….\¸`)¿}ûvuèÐA›7oVff¦vìØ¡Ã‡ëÂ… ·”[´h‘Nžûì3IRË–-õþûï«I“&ruuU`` {ì1­ZµJvŽ@Aôí› tÓåËŽö(0æ»@Ñ+íóÒ¼8::*88XÇW¿~ý,ç—-[–ë‹SzPbæÍSzµjÊðóSìÈ‘JìÑÃübf¦*¿öšœÏŸ/ј€ŠŒù.”~l3Š7lØ0]¹rE’ªúõëK’žxâ Í;WçÎÓ /¼ °°0IÒØ±c•––f)ß±cGIÒ¬Y³ôî»ïZ^»“kd7|øpµhÑÂRçË/¿”$mܸQ ,°”+Ll€½ìßï®¶m“åìlØ;ùhݺµÚ·o¯Ÿ~úI=ôjÕªeï¬lذA;vì°3FŽŽ9¿¨S§ŽúôécI6PúµoŸ$C¸«W¯{‡ó] è•öy©-î¾ûnËó7nèòå˪Y³f‰]?¹S'®®Vç’Ú·—çÍ•êLrß»Wiƒ•XL@EÆ|EJŠI»w{hÏýò‹«~ÿÝYqq*ä"« „¹ºòñÉT½z7Ô¼yŠºvMR³f)ö (1$³¡D]¸pA‡²W«VÍò¼zõê–ç7nTrr²bbb¬¾¯[·®å¹———‚‚‚t>Û¯W z ww÷q†„„X]'kÛ·œ={¶À±ötò¤‹}4ÞÞa°‡‡‡V­Zeï0òôÉ'ŸXž;;;«mÛ¶y–ýûßÿ^!("îî†î¾;Máá.êÕËÞÑÃ|(z¥}^j‹¬+çûøøX}NTÜ.Í™“ëùLïl[$á%…ù.Ê»øx-[æ§°0o%$8¨iÓµj•¬ÐÐ8ùúfÊýš(RSMºvÍQ¿ýæ¢M›*éwüT¯Þ «G—ÉdïâE2JTTT”Õñ”)S4eÊ”åRSSuúôé[?¸¹¹YgÝ´°×hܸqŽ×²_ç#ˇ‹—/_.pl€=EG;*88ÝÞaÈÇúõësü»õÞ{ï©{÷î–ãøøx­\¹R;vìЙ3g”œœ,___5nÜXýû÷WïÞ½ólÏž=Z·nÂÃÃe2™T¯^==õÔSêß¿¿MñÅÅÅéĉ–ãš5kÊɉ)%PžT­š®K—ø»FÙÃ|(Z¥}^z;ŠŠŠÒ† ôÅ_H’üýý5þü\WÎî®¶må˜ísI:»w¯ªŽ%×ãÇ-çN=ªLÅçœåÇ’’”Ò¼yê¸3ÌwQefJë×{kÁ†4bD¬BCãT¹r†½CEàøqWýã>zñÅ@}ú©·^yå²î½7ÕÞaņß` DZÏš5K†aäúhܸ±*W®lU>{r[bbâ_£° `O))òðà×Þ@i׿EDDÈÅÅ%××Ïž=«GyDK–,ÑéÓ§µlÙ2>|XC‡Õž={4aÂ=÷ÜsÊÈÈýÃÊ 6èÝwßÕÖ­[u×]wéèÑ£š2eŠæÍ›gS|111VÉÝYW0P>xxd*1‘Ÿö¡ìa¾ ­Ò>/ÍË AƒÔ AuîÜY‹/–ƒƒƒzöì©>úH;w¶©3û÷ëÒk¯ýqÂdRÔ{ï)½jU]üè#¥+zñbŠˆ(p"›$Ë£’”л·n4jTà6ó]”7qqzæ™jš>½²z÷NÐþsN£F]#‘ €räÞ{SõÆ1Ú¸ñ¼ =þx -[ækï°€bC2JÄÆåë뫚5kªy–_›ÏòKÖ[xàuêÔI’T»vm5ÊòÞ©S§,Ïããã£~A¯QX…‰ °'ÃKÎåÀÔ©SuñâEIÒÃ?¬¶mÛÊËËK£G–÷Í튶mÛ–çvP£FRPPªW¯®#FXÎøá‡úßÿþWüPê™Lìv†²‰ù.P²Jë¼4,,LáááúöÛo5kÖ,yyyé믿V¿~ý4aÂ%$$ØÔNÜ“O*þÖ*q†¡ÀÉ“å|ꔂþúW%>ôn³êÜíTúúk¹;&IJêÒE1ylE  ø0ßEyr ¨¡ˆg}þù͘qY>>™ö “FRµzu¤^~ù²- Д)JKã1”?$³¡Ä}ðÁ–5ׯ_¯U«Véúõ늉‰ÑË/¿¬C‡iîܹ–òo¿ý¶œ%IëÖ­Óž={«W^yEiiiErÂ*LlVLLŒ:d9®]»¶å¹ƒƒƒjÔ¨a9Þ¼ys®mÔªU+×ú™™™Ú»w¯$©qãÆ ±ztíÚU’yTS–Løøø;ìÊšÒ0/½GGGU«VMƒÖ¬Y³$I†ahóæÍš9s¦½”.½öšRo®êï ýúÉ”’¢+S§ÚÜFVî߯*“'ËptÔÕqãtñý÷e¸»ª-ÎsVhhuyxdêóÏ/èž{Øj €ŠÀd’þüçëzÿý‹ÚºÕS£GWU‹¢eÉl(´óçÏËd2iðàÁVç;vì(“ÉdõèׯŸåõ–-[êèÑ£zþùçU§N=û쳪V­šÚµk§ÈÈHíÛ·OíÛ··”ïÖ­›öîÝ«^½zÉÁÁAݺuSË–-U­Z5Õ¯_ßR.ëë¹FXX˜L&“Õ¶  ФI“4}út«ØSSSe2™´råÊ|ckР¥Þ_ÿúW5lØðï8 ¢»té’Õ±›››Õ±««kžes«“µ¼$]½z5ß¼½½­V&ýý÷ß•žžžo=”¥a^j«.]ºX}f´mÛ6›ë®®ŠY°Àr씤Į]e898ï°0?óŒ2tá_ÿÒµqã$>šN\œƒFŒVõêéZ½:R|6@EÓ¹s’V­ŠÔîúûß+Û; Hü“à¦5jÈ(äzìµk×ÖÒ¥Km.ߺuë\É»dÉËóÀÀÀB]cРA4hPž¯Ïž=»P±Mž<9ßkPUªT±:NII±:NMMͳlnu²–—$›â:t¨¦Þ\"--MÐý÷ߟ£\ff¦xàÅÆÆêàÁƒ9¾¤@ÙTZ楶¸õCË[Ÿaô³,¿wÞQzµjrŠŒ4Ƕh‘RÚ´QJóæ6ÕwŒUåW^Q¥-[”ðÈ#ºô÷¿+ÓËËòzµ'ŸTJË–º:qbâT\™™ÒرU•˜hÒ?þ%ww¶ ¢jÚ4UóçÇhܸ …„ÜГOÆÙ;$ Hðó?”z›7oÎ5q.::Z‘7?HôððЃ>hð(1jÕª•åøÜ¹s–ç™™™:þ¼å¸OŸ>¹¶‘µÎÙ³g-ÏM&“:tè Iúõ×_aõøæ›o,eüq«í–.]ªŒ\Ö°Þ°aƒ.\¸ !C†ÈPŽ”–y©-¾ûî;efþñ%ëÖ­m®ë³r¥\ýU¿oÞ¬¤›ó_Szº‚ÆŒ‘£ «Çy~ójöì)Ïo¾Ñ¥Y³ýÖ[V‰lÆúõÞÚ¿ßMË—G±"PÏž =úšæÎ PL ëY¡| ™ eÂ… 4zôh;wN))):zô¨žzê)†!'''-_¾<Ï_úPžÌ;WÁÁÁ’¤¯¾úJPBB‚–-[¦¸8ó/nzôè¡!C†äZÙ²e–„ð+VXÎ>\wß}·M1888hÉ’% •$:tH£FÒñãÇuãÆ ÅÄÄèã?ÖÌ™3Õ¡C7îNº €R¨4ÌKó’™™©èèh­_¿^Ó¦M³œ ÔôéÓmjÃíÇåÿÖ[Šz÷]ez{+zÁ¥Õ¨!IrŠŠRÐøñR.?èÈÊgåJ9^¾,SJŠªÌ˜¡º!!9î¾£€ '!ÁAo¾é¯¡CãtÏ=©ùWÂóÏ_S``†Þx£èV:쉴L”z={öÔ—_~©Õ«W«G:wîœ ÃP­Zµ4bÄ;VMš4±w˜”ˆÚµkkË–-úøãµcÇ9R)))òññQ‡Ô¿õîÝ[&“I³gÏÖÊ•+­ê÷ë×O£GVxx¸L&“š4i¢§žzÊ’˜f+wwwÍ;WO?ý´Ö®]«C‡éé§ŸVjjª‚‚‚T§N-\¸PÝ»w—ƒ¿Ÿ(oì=/ŠŠ²¬à–Õ Aƒ,Ï]\\äçç§öíÛ«S§N8p ¼½½óm»nHˆåy͇ÖéTõ§ž’s–çÜ¿ÿ^u4Е©S;|¸M1p§Þ{ÏOÒ˜1ù¯  |Èm.½k×.Õ¸ùC‹¢’””¤¶mÛ*))I¡¡¡š;wn‘¶ x¹¸zñÅ8Ò0 IDAT+zþùªú󟯫iS’ÞQ¶™Œì{7´“IŸ}ö™XT1@¹1`ÀIÒÚµk‹¥ýèèh%$$ØT6$¤®Þz+Zø êÔ©£Ö­[[^Û²e‹ââH¢Ê/¯LÅÅ‘ „² ”b&9:Ú; EaêÔ©ºxñ¢$éá‡VÛ¶mååå¥Ñ£GËÛÛ[’´mÛ¶<·)5j”‚‚‚T½zu1ÂrþÃ?Ôÿþ÷¿Å¦þýûËÉɼ¡ÛO]¾¾¾¶t€;ÆÊl”€¹sç*88X’9QìÀJHHвeË'IêÑ£‡† ’kýeË–)::Z‘‘‘Z±b…åüðáÃu÷ÝwÛCXX˜BCCåà{º@hh¨åyjjª6lØ`S»…"Y™ Ü^íÚµµeË}üñÇÚ±c‡FŽ©””ùøø¨C‡êß¿¿z÷î-“ɤٳgkåÊ•Võûõë§Ñ£G+<<\&“IMš4ÑSO=e•€–—S§N顇’$8qBË—/ϱŠÛüùóµ|ùr«sÿûßõæ›oêØ±cwÖyl@2$}øá5wîqIRP›¾ûîáRY¾ íó]¥‡———ƧqãÆÝ¶ÜôéÓ5}úôç\¨ëÖ­[W·-3yòdMž<¹PíPØfPl’’2Ô­Û6ñ½½C)å­?Ù ^OýÔ¨‘OŽ×rëûíÊ´ý‚”/h;åý}öSÞæå­?Ù1ßP’222,Ïí e Él€bc†23Íò ¼õ§ ÊrßËrì t+oóŒòÖŸ‚(Ë}/˱åÉêÕ«Õ¯_?%&&êÀ–d6ooo5kÖÌÎÑPv°Í( Øxz:iç·ìF‘)oý)ˆ²Ü÷²;(ÝÊÛ<£¼õ§ ÊrßËrì@yR£F %%%©M›6JKKS`` Zµj¥1cÆÈÏÏÏÞáPfÌVŽ-X°À²ŸyõêÕuþüy;GäcÁéæ˜Uõêce@§NÔ©S'{‡@™G2[)–––¦-ZÈÛÛ[{÷î-pýI“&iÒ¤IjÞ¼¹._¾\ Ù¤¥I-ZHÞÞR!Ƭ&M2?š7—³eÞþsQ£Gï·ÿòË£ruu´ÇÆÞÐ;ïœÔöíuñb²<<œÔ¼¹¿Fެ§¶m«Xµuõjª–. ׎,//gµjUYcÇ6T£F>¹^o×®š7ïíÙ#GG“î»Ï_3f4U­ZžVmŸ:¯ùóÑþý—”žn¨~}oÓ@+WžÒ¾}—$IÔV×®Á¹ö§°×µ¥OùiÐ`£22lÛJ¨reWíßÿˆMe³Ëï½¼åÔ©xÍ™s\‡_Vzº¡fÍü4qbcµhk»-ŸŸM›~× /¶:÷ÚkÍõÊ+?ç{AÆ!@VÌw™ï2ߊžƒ½Àíeff*33ÓÞa¶ËÌ4?Páu﬈ˆ~zðÁà¯]º”¢¾}wê‹/ÎkÆŒ¦:|¸·Ö¯ï"wwG ²Wÿú×YKÙ˜˜õë·K[¶œ×ßþÖL?þØG«WwTlì …†îÖO?]Íõz³gÓÿý_ˆöí{XK–´Ò÷ß_Ò„ ‡¬â8{6QìÖ±c×´ti<ØKo¼ñ'}òÉÿtòdœ\\ÑOsæü)Ïþ溶ö)?áá}ÑϦGa¿ØË­¹IJÊÐÌ™G4zt}íÛ÷ˆÖ¬é¨ë×ÓôôÓ{uð`ÎäÔ‚–·EïÞ5ôÌ3!êÐ!P?üÐKýôä“uŠddÇ|—ù.ó] è‘ÌVŠ9;;ëøñãÚ·oŸ½Clãì,?.1f‘ ~ÕùóIš>½©ºv V¥JNªS§’-j¥*UÜôÚkGtùrêͲ¿èÂ…$M›ÖD]ºT•‡‡£êÕóÖ’%­d†þö·#¹^càÀÚºï>¹»;êþûÕ¥K޽¦k×nd‰ãÅÅ¥iÆŒ¦êÐ!ÐÒö¢E-•œœQ¨¾ÙzÝÂô©4‹OÓ¤I÷¨E‹yx8ªI?-\ØRii™š5ëè—ÏO\\š†ß§ÌLC+V´—K¾u 2 ‚ù.ó]æ»@áÌ(qÛ¶EJ’x ªÕyµo_E))Ú³'Z’yË“ºvµ^i J7Õ«ç­ãÇc•œãM›ú[»K’¢£ÿ(ûí·æktêd‡¿¿«î¾»RaºfÓu Û§ÒÌÕÕQÍšùYkÐÀ[n:qâºbbRî¨üíüïñêß—Lš>½©M6Õ+È8(æ»Ìw™ï…Sá’Ù6nÜ(“Édyœ9sFO<ñ„|}} Þ½{ëÔ©S–ò³g϶”íСƒåü×_m9_¹rå<Û?{ö¬žxâ yyy) @C† ѵk×tæÌõéÓG^^^ Öˆ#oigóæÍVí¤¤XÈyåÊMœ8QuëÖ•‹‹‹üüüôðÃkçÎyöýäÉ“êÕ«—|||äáá¡x@ß}÷U™ÔÔT½òÊ+jذ¡<<<äïï¯>}úèßÿþ·22 ÷«í ­CÉdúãñôÓæó>h}>66ï66n´.{æŒôÄ’¯¯ õî-e³š=û²YƬ¾þúóYÆlŽöÏž5·ïåenÈéÚ5óuûô1Ÿ–FŒ²ŒYmÞlÝN¶1«+W¤‰¥ºu%ÉÏOzøaé6cV'OJ½zI>>’‡‡ôÀR¶1«ÔTé•W¤† ÍeüýÍqþûßc¶Tºq#Sññiruu”§§SŽ×+Wv“dÞçVÙÌLCÍ›¡ V_~1ÿíœ9“£//ë¶]\%I†ñG‰‰éruu”‡‡cŽú>>Î…êŸ-×-lŸ²kÐ`cŽúy=Ú¶ÝR¨þØÊ××Y¦\¾S p•$]¹’zGåó—®Ñ£¨jUwíÞ­M›~·©^AÆ!@A0ße¾[˜òya¾ €Š&ç§Yå\ß¾}e†úöí«M›6i„ š2eŠ>úè#}ÿý÷zôÑG5xð`]•*Yÿb¹gÏž2 C-[¶Ô™3gòlâĉš6mš>úè#}þùç:t¨®\¹"Íš5K!!!úôÓO5jÔ(yyyéÍ7ß”$õîÝÛª¬¢¢¢Ô¾}{%%%éÃ?T§N¥—^zIݺuÓû￯áÇ[ÕIHHÐsÏ=§Y³f©Y³f:yò¤† ¦®]»jÛ¶mêܹ³$i̘1Z»v­Ö®]«:(..N ,Ðc=¦;wªK—.EüŽ”s{÷JGŽH÷ß/…„HË—›Ïù¥Ô¹³4a‚4hÐíÛèÛ×ü­@ß¾Ò¦Mæ:S¦H}$}ÿ½ôè£ÒàÁÒÍ1«éÓÍlcV={šÛiÙÒœ˜–Wû'JÓ¦™ÛÿüsièPs"š‹‹4k–¹Ÿ~*eNl»9fÕ»·u;YEEIíÛKIIÒ‡J:™Ï½ô’Ô­›ôþûR¶1«„é¹çÌ×lÖÌœØ6l˜Ôµ«´m›ùþIÒ˜1ÒÚµæG‡R\œ´`ôØcæD9Æl©ãââ //gÅǧ)11=Ç+—/›¿L©RÅM..òövVbbº~ýõ1›W °5OO'%&¦+))#Ç|¶~¹T˜ëUŸÂÃûadw&>>-×ó·îã­/í [>/ŽŽÒªUäåå¬viÚ´ŸT§N%5mêwÛz‡Á|—ùnaÊç…ù.*š ·2[vÇW»víäéé©|P½zõÒ¡C‡tùòå"iذajÑ¢…<==5dÈÝsÏ=úꫯ4qâD5oÞ\•*UÒ³Ï>«:uêhËÛ~EüÒK/éôéÓZ¼x±z÷î-oooÕ¯__«W¯Vpp°Æ§èhëm"®_¿®×_]÷ß¿*Uª¤–-[êŸÿü§nܸ¡ñãÇ[ÊíØ±C÷Üsºwï.wwwiþüùª_¿~‘Ü ©Y3éãÍImC‡š¾ž}֜ĕ_"[n†—Úµ“<=Í+¼õê%:$јհaR‹æö‡ ‘î¹Gúê+s’[óææ$¹gŸ•êÔ‘l³zé%éôiiñbsÒ›··T¿¾´zµy•·qã¤lcVׯK¯¿nN¬TÉœ„÷ÏJ7nHYƬvì0ÇØ½»äî.Ióç›ÛG©Õ£G5IÒÎQVçoÜÈÔ¾}—äææ¨Žƒ$I=T]†~øáJŽv–/ÿM;~­Œ £Pqtîl¾Æ­í—n¹t)E§Oç¿RDagŸì%))C'N\·:§˜˜5jä£À@·;*ŸOO'¹ÉÃÃQË—·•‡‡£FÚoÓ¶M‡Á|—ù.ó] p*|2[«V­¬ŽkÖ¬)IŠŒŒ,’ö[¶liu\­Zµ\ÏW¯^ÝæknذA’Ô«W/«ó®®®êÖ­›’““µuëV«×ÜÜÜÔ¦M«sMš4QµjÕtäÈ]¼xQ’yŹ}ûöiäȑڿ¿ekÑððpVe»H/¿l^é¬CóJg³f®­lcV7ǬŠhÌ*ÛØÔÍ1›ã|õê¶_óæ˜U¶1+WWsR_r²”mÌÊÍMÊ6fÕ¤‰9ž#G¤›cV={JûöI#GJû÷ÿ±µhx8«²•b“&5Vš=û¨¾ùæ¢Óuút‚þú×Cºt)E3f4UåÊ®–²µjyjÊ”´{w´âãÓ{CkÖœÖÒ¥ázé¥&…^íaÒ¤{äëë¢Y³ŽhïÞ%%eè·ßâ4eÊźBAqöÉ^ÜÝõ·¿Ñ‘#×”œœ¡cÇ®é…ËÙÙA3f4½ãò¶¨QÃSï¼ÓFW¯¦ê¹çöëÆÌÛ–/È8(æ»Ìw™ï…Sá¶ÍÎÇÇÇêØÅÅE’”™yûmåíímuìàà GGGyxxXwtt´éš©©©º~ýºÜÜÜäåå•ãõ  ó/j£¢¬u “)çÅŠŒŒTLLŒ‚ƒƒõÎ;ï¨]»vúä“OÔ­[7IRÇŽõì³Ïª_¿~ùƇۘ5KھݜxõÉ'’C!sI³Yݳ*¢1«lcVæ}M²Y9:ÚvÍÔTó*knnæmI³»9f•mÌ* @ÊeÌ*0МDc^ÕíwÌ+Õ}ò‰91N’:v4¯ǘµ«ÿüç¢FÞo9¾çžë±Çjjá–ªRÅM7> wÞ ×k¯UTT²ÜÝÔ¼¹ŸV­ê víªXê¸êóÏ»èÝwÃõê«?ëâÅdy{»¨qc-[ÖF÷ß(Iúùçk Ýeu½çžk ‰+$dƒå|Ÿ>ßèªêƒÚ©V-O­]ÛYóæט1”‘!5jä­É“ïÕâÅ¿êêÕùögȺ¾®­}*i~ø_Í{Ür²AÏ=×@MšøåÚ÷F|,僂Ü4mZÍ›÷‹Ž½ªÌL©iS?ýóŸÔ¢E@Žö Z>k<õë{k„CVç_~¹‰î»/@O>¹G’y<4n¼IîîŽJNÎÈ{AÇ!@vÌw™ï2ß@i’}>úÝw—ÊòmT<&Ã0îh_“ɤÏ>ûL,ª˜JDß¾}µiÓ&%''ËÍí_#O:Uo¼ñ†~úé'5oÞÜrÞÛÛ[ 6ÔÁƒ­Ú QlllŽmIój¿gÏžÚ¾}»ÒÓÓ­ÊwéÒE‡VBBB¾íøúúêúõ늋‹Ë‘Ð6tèPýãÿÐ'Ÿ|¢¡C‡J’š7o®S§N)>>>Ç}¸µ"\dd¤‚ƒƒ­^KKKÓ®]»´`ÁmÛ¶M .Ôĉs¿¡¥”ÉdÒ„ ´hÑ"{‡"íÜ)=÷œäì,ýïÒwß™· µUß¾Ò¦MæU̲Œ)M*½ñ†ôÓOæm@oñö–6”²Y…„H±±9·%Í«ýž=ÍIxÙÆ¬ºt‘–²Ù\Ûñõ5'´ÅÅåLh:TúÇ?ÌÉh7Ǭš7—N’r³–á"#ÍÉlY¥¥I»vI HÛ¶I š·Gµ£H’Ö®][,íGGGçøïF^BBêê­·¢õÈ#Å·PyÒ£Çv¥¤dèÛo²w(”¨±cÍ?6xûíè|J¥ óÝ‚a¾ ¨¨˜ï¢¬²Ç|7))C}úìÐÝw{éƒÚ•Øu‹KyëO^úôùFW¯¦Z%‰Ý®ï¹•/hû…)ok;å}€¢Â|¥Eݺu ]·Âo3j«àà`]¸pÁê\TT”Î;Wâ±ÜZ!íË/¿´:Ÿššª;vÈÝÝ]=dýatBB‚Ž9buîØ±cŠŒŒT³fÍ,‰l¾¾¾:yò¤$ÉÙÙYÝ»wׯe2™r\pú´4l˜´~½ôïKîîÒcI—.ß5ƒƒ¥lcVQQ’Ƭe…´ìc(5UÚ±Ã|?²Y%$˜·ÍêØ1s[³f$²ùúJ7Ǭœ¥îݥͫº1f‘K—RԢŗJO·Îë>>QgÏ&°RÊ4滸†a(3Óü(Ê[ ¢,÷½,Ç ‡d6õèÑC‘‘‘Zºt©têÔ)?^%¿5Æœ9sT§NM˜0A›7oV||¼~ûí7=ù䓺xñ¢–,YbÙnôOOO3FPbb¢>¬§Ÿ~Z...Z²d‰UÙQ£FéèÑ£JMMULLŒæÍ›'Ã0Ôµk×’ìfù‘`^­lñb©qcé®»¤uëÌIY¡¡æÕÄŠCæk,]jŽáÔ)iüxó6%mΩNiÂiófóŠk¿ý&=ù¤tñ¢´dÉÛÞâé)#8 %&šW{úió¶ªÙƬF’Ž5'ÇÅÄHóæI†!1faƒë×ohúôŸtñb²’“ÓuäÈUX^^Î3¦¡½Ãîó]–§§“vî|H+V´·w(E¢¼õ§ ÊrßËrì p*\2Ûþýûe2™´iÓ&I’»»»¦OŸ.ɼ%åo¼!Iºï¾ûÔ»woK½Ù³gkøðázýõר¿üå/šøàM›6­ÈÞ‡ cÌó¶šGšWb;~ܼ½g—.æ$¶o¿5'gÍžwû÷›W»9¦äî.ݳ2™Ì[ŒJÒ}÷IYƬfÏ–†—^ÝœÀö—¿H“'KU«JW®˜ëNšwû‡›ÏoÝ*ed˜ŸÏ+íÝk~¾{·9ÉÌd’ò³ªZU:tHÿ¼‹jÖô°wˆ@¡1ßPÖ8Ù;€’Ö¶m[FîËÐæu^’|||ôÁä8øða›Û)Ìu322äàà ''ë·* @‹-Ò¢E‹ò¬;iÒ$Mš4ÉêÜ7ß|“gyIjÖ¬™–-[vÛ2(€¥KÍìnóžçжmÞåo׎9¡+»\ÆlÛ¿Ýu32$)Û˜U@€´h‘ù‘—I“̬ò³jÖLbÌâ´o_EíÛ³½Ê'æ»(Œÿüç¢FÞo9þå—Gåêêh9޽¡wÞ9©íÛ/êâÅdyx8©ysYOmÛZÏ?¯^MÕÒ¥áڱ㢢£“ååå¬V­*kìØ†jÔÈ'×ëíÚÕCóæý¢={bäèhÒ}÷ùkÆŒ¦ªUËÓªíS§â5þ/Ú¿ÿ’ÒÓ Õ¯ï­1chåÊSÚ·ï’$iÀ€ÚêÚ58×þöº¶ô)? lTF†mßU®ìªýû±©lvù½—·œ:¯9sŽëðáËJO7Ô¬™Ÿ&Nl¬-rm· åó³iÓïzáëï°^{­¹^yåç„Õ«ý KbÆŒpµ8nÞÌbĈC\¸Âš5]8u*€?ìÀ¿ÿ}ßOÇÌ̘˜˜`–/ïPijÓ®¶}ªNtt11ÁZ}Õv![E}¬Hvvï¾{ŽÉ“[süøP6oîIZZcÆåÔ©{u.¯À@W^{Í=œ‰Œ &&˜—_n¥“y(„Bˆ†E³ >úˆÌÌL~úé'Ξ=ˤI“ô’Uûè#ÈÌ„Ÿ~‚³gAæ¬B!„B!„BñX ½ÄíÛÙ„„øÐ¯_352¡U«F¬Zå““K–œãÞ½¼e£¸s'›ùó½éÓ§)VV <>G£ Ÿ&jß7kf @BÂò‡—´Ñ«—zMš˜óÌ3jÓ5­Ú­mŸ ™¹¹__{µcžž¶8;[pùr‰‰¹u*_•ë×3øóŸbllDHˆ …‘VçÕd !„¢a‘} L—.]8xð ¾ÃB{]º€ÌY!„B!„B!„â±—Ÿ_LFFææ ¬­53::Z%[@––ðóû¹Ò:oÜȤiSKµc66êu›™)P*Æ‘•Uˆ¹¹++…Fvv¦Úwª†íÖ¶Oåyzî ¨H©U\ŽŽæuÚj´:›bTÁ2ss¹?gg‹Z—¯Lzz!“'Ÿ¤iSKJ`çÎ[ Þ¼Úój2…BÑðÈb6!„B!„B!„B!DµÌÌŒ±±1%#£€¬¬B…D÷î•,rr²ÀÌÌ[[S²² ¹ti¸ÖoÜÒ6kk²² ÉÎ.ÒXÐvÿ~ýl/©Ë>EGé0²º)] W^é8:8˜×©|e øæ›ØØ˜2bÄAæÏ?C«Vðñ±¯ò¼šÌC!„B4<²Í¨B!„B!„B!„B+ƒ=ÀñjÇóó‹9~< ={º0xðÓ)‰Œ¼¯QϺuWèÙóZ¿¬¼Þ½KÚ(Ýn´TRR.±±™µªSõÙ'}ÉÎ.âòå4µcÑÑé$&æâåe§ñ–µš–¯Œµµ ..XY)X·®+VV &M:¡Õ6¥5™‡B!„hXd1›B!„B!„B!„B+sæ´ÅÕÕŠeËγYY…ÄÆf2sf8II¹,\胣£¹ªl‹ÖÌÉ¡C ddššÏæÍ±¬YͼyÞµ~»Ùœ9íhÜØŒ¥KÏqôh"ÙÙE\¹’Îܹ§ëõ\õÙ'}±´T°xñ9ÎK!'§ˆ R˜=;SSc.ô©sym¸ºZ³vm’“ó˜2åùùÅU–¯É<B!DÃ"ÛŒ !„¨ë×_åƒ.àâbÁ±cC ²|Mëѧ]»n3cF8PòõK—†ë9"ah‡ûâÚµ V¯¾Ì©S÷HIÉW}ŠÕÆÆ”3gYB!Du$ßÕ=ÉwEu‡ûBò]!„ Åž=qLž|Bõ}»v?1|xsV®ì„““;vôeíÚh–,9O||––&øùÙóÍ7=èÖÍIužƒƒ9Û¶õá³Ï¢Y´è,qq9ØÚšÑ¶­_|Ñ…çžsàìÙ^|ñ Z{S¦x2kV[ÜÝ·«Ž¶Ÿ¾}›òå—ÝhÑš~èÍŠyã“——-o½õ,Ÿ|r‰ääüjûóÊ+n5nWÛ>=jesw÷íL™â‰··}…}÷ò²SˉæÏ÷fÅŠ(ΟO¦¸||ìÙ¸±;:hÔ_ÓòeãiÝÚV•÷—_°À›öíxùå#@É|hÛv'–– rrŠ4b¯é<B!DÃb¤T*ëôž[###¶lÙÂÈ‘#u“:cddÄŒ3Xµj•¾CO¨#FðÃ?ÔKý dfj÷ºtww7þñ†­¿×«Wdذý$'ç©=ÈÎ.bذ}<óŒ _~Ù­Úò5­¿6åµ­§ªØ•W_=JDÄý?Ü3„Ø’ú¯ú¾ú¾Ð•Û·³6ìO=eÉÒ¥íñò²¥¸¸d«ˆ³DF<’8êJî5ÑÐM›V²ǧŸ&TSRÃ"ùnÕå%ßåI¾+ùnmɽ&:ÉwEC¥¯|·¡4h/¹¹E>ÇK®EÅnÜ(ùdq›6vzޤnäú !„hÈ¿ $ö'‡ä»žä»B!„år†7ßô¢qcS®\IgÉ’ ØØ˜òÆmôžB!„¨,f“mF…¡’mF…¾•n3*„¢z……%ov033Ös$B!„Bèžä»B!„n99YðÍ7=ظñ:£G!!!;;Sž{ΙU«:Ѽ¹•¾CB!„µ “ÅlB!„¶öì‰còäªï£¢þss…F¹k×2X¾ü"÷(,TâëkϬYméØÑ¡ÂzkZ¾:;wÞböìµcK–øñÎ;g+=55ŸµkgïÞ8ââr°²2Áϯ &xе«Sc¸v-ƒ>Šâĉ$ŠŠ ];;æÌi§Q®ü˜þöÛV­ºLXX©©ù¼ÿ~æÏ?­{^^1:ìR«kæÌ¶LêIQ‘OϪãÏ?ÿ4kÖt 995k¢Ù·/Ž„„llLñ÷wdÚ´6xyÙiSxxööf•ößÓsEEÚm[ãèhΉC+ýyzzAú:|xó ç©6ýš8±5ëÖ] 2ò>îîÛP(ŒˆŽªöÐåÿ¼+}ŹsÉSéX•m3>>—&MÌps³aøðæ¸räH¢VÿÆ !„x|I¾«=Éw%ß•|Wä»B!DÍuïîD÷î5ÏE…B!„á’ !„x¤lFLL04«´Lvvï¾{ŽÉ“[süøP6oîIZZcÆåÔ©{u.¯À@W^{Í=œ‰Œ &&˜—_nUiìII¹àçŸo³p¡lÝÚKK¯¼r”ï¿¿Y£öoÞÌbĈC\¸Âš5]8yr(‹û±fÍïüñG¶ZÙòcr–1cžáÈ‘ÁlÝÚ…¨Âq·µ5%&&˜^½\066bÿþALê ”<ˆŠ‰ ¦}û&¬Zå¯z°—˜˜KpðAvï¾Íâžœ>=ŒM›z’ššÏ‹/âÌ™d­cªNtt11ÁZ}Uõ`¯6}­lžjÓ¯qã<ˆ‰ ÆÒRAÇŽª££ƒ*¬£,]ΣGu_”°u﨨ÿS»¾áá:«ÒëäåeGzzK—žgÖ¬¶œ<PéX•¶¹k×m°sg?ºtqbîÜÓlÞ«Õ¿qB!o’ïjGò]Éw%ß•|W!„B!„¢"²˜M!„ÁÉÈ(`Μvtì耕•oo{V®ìDAA1K—ž¯sùꤧ0nÜqŠ‹•lØÐ;»ÊߦP*4ô·ogâC¿~ÍhÔÈ„V­±j•?NN,YrŽ{÷ò´Ž!44Šôô.ô¡Gg¬¬xzÚ²bEGsªˆ±±!!>Z½Qà·ßîзoSµãffÆtïîDnnGŽ$hÇáÃ%e{õR¯ÏÙÙ‚V­Uynù±¨N÷îN´mkǶm·T[|ùåUÆŽuWƒ={â066¢_?õOá;9YàáaËÅ‹©ÄÇk>|¬iLõ¥&}Õ†®û¥í<ºr%w÷íj_‹©?X}T÷EU±èz¼ËÒåXYZ*T[†•ªh¬JÛìÝ[óAÞ¿þÕ±cÝkÝ!„OÉw%ß­/’ïJ¾+ù®B!„B!:} „B”׸±)FüÍßÁÁœÄÄ\îßÏÃÙÙ¢Öå+“ž^ÈäÉ'iÚÔ’C‡عóÇ7¯ö¼üüb22 07W`m­ù«Õѱ¤í¤$í¦äç“•Uˆ¹¹++…ÆÏ̉ͬô|KKÍsªóúëÌžÁÆ×yã6ÄÆf~Ÿ•+;©Å•‘Q€ŸßÏ•ÖuãF&M›ZÖ9&OÏ)µ*ëèh^íÖK¥´é«¶jÓ¯ÊÔdµnmKLLp•õ=ªû¢ºXt9Þ¥t=V¶¶¦/;V›UÙ¦BQ’ïJ¾ ’ï–'ùîC’ï !„B!„âI&™BapJ •wÿ~É*æu*_…¾ù¦66¦ŒqùóÏЪU#||ª~™™166¦dd•U¨ñ‡ÿ{÷Jê99Uÿ ¥´>kk²² ÉÎ.ÒxÀWöÿºèJhhß~{ Z³aÃUFj©Ö33clmMÉÊ*äÒ¥áuzË€6¢£ƒê¥^múª =X«Š®ç‘¾ï‹Rõ1Þº«ÔÔ”JÍkVv¬ªkS!„¨ Éw%ßÉw%ß­œä»B!„B!„x’É6£B! Nvv—/§©‹ŽN'11//;O××´|e¬­Mpq±ÀÊJÁºu]±²R0iÒ ­¶§4è)ˆW;žŸ_ÌñãIXX(èÙSs«–Ê”nëRºýR©””|bc³´®G[ …û›;÷ïç±aC »vÝæ¯uÓ(7xðÓ)‰Œ¼¯ñ³uë®Ð³çÿ´~»„¾hÛ׺²´4¡  XõýÀ{øî»Už£Ëyd÷Ôßxër¬òòŠ8>YíXEcUÚæÁƒñu ¶Ÿ÷Þ»Pã~a¨®] %44”ÄÄD}‡"ÄcIò]Éwë“ä»’ï–'ù®š$ßB!„BÃ%‹ÙêYff&ê;yûô$ÉÌËÄcŸ>>×ïqìÓ“ÎÒRÁâÅç8w.…œœ".\HaöìLMY¸Ð§ÎåµáêjÍÚµ]HNÎcÊ”äçWY~Μ¶¸ºZ±lÙyöï#+«ØØLfÎ '))—… }ptÔîÍ%õµ£qc3–.=ÇÑ£‰dg“Á¬YánŤ /½ÔS>þ8ŠŸÂÅEóáÏœ9miÑš¹s#9t(ŒŒRSóÙ¼9–5k¢™7Ï»Þß`¡ Úôµ®ÚµkLll&qq9œ9“ÌdáïïPå9ºœG†p_”ªñÖåXÙØ˜²rå%ΜI®r¬JÛ|ï½ 8OVV!ññ9¼ûî9’’r;V÷‰…ГFlݺ•Þ½{ó÷¿ÿßÿ]ß! ñX‘|WòÝú&ù®ä»eI¾+„&Éw…B!„Âp)•Ê:}œÔÈȈ-[¶0räH]ÅôXÉÈÈÀÏÏOOOvïÞ­ïp´Ö¨Q#üüü8zô¨ÆÏRŸŒŒŒ˜1c«V­Òw(##7¿%~xºx²ûMþ~e5z£~Íý8:·‚9iÀ}1b?üðC½ÔŸ@ff¦VeÝÝÝøÇ?:T»òuµ~ýU>øà¢Ú±)S<ñö¶gòäjLJoŽ——ª¼‹‹ŸÞ•+¢8>™âbðñ±göì¶tìè QMË—§uk[fÌW;¾`7íÛ;ðâ‹ÕŽ[Z*ÈÉ)Òˆ}åÊN@ÉvHk×F³gÏ]âãs°´4ÁÏÏž ZÓ­›SM‡ØØLV¬¸HXX……JZ·¶eÚ´6|õU Ç'0bÄŸ5ª•F¬11ÁªÿÞ³'®Âq/½Ô‡^äË/¯²kW?Ú´±«0®ÔÔ|>û¬¤Ÿqq9ØÚšÑ¶­ãÇ{ðÜsΜ=›RmLúVU_+¯W^qÓº_ׯg°`ÁY.^L¡qc3&Mòä/iUíµ¨Ë<ÒÇ}QÑ<ªHmÆ{åÊNŒ{Œ#GÔ?)ÿÝw½èÔÉA'÷ܰaûINÎã›oz°lÙyNŸN¦¨H©1V¥Ê·Ù¤‰9;;2c†-[6Òú^ÂM›Vò–—•+o±sçNþõ¯ÃsÏ=ÇŒ3ðóóÓs„BTLò]Éw%ßU'ù®ä» ù®‘|W4T:ßB!DÃTšï~úiB5%…¨_nnµÿPœ,fªj1[C"‹ÙU-f3dOòb6!„hJî;6Dß¡a0Êÿ±C©Trøða¾øâ """2do½õÍ›7×g˜Bh|W!4I¾+„&ÉwEC¥Ïo¸¸XTû»D_åkZ>íÚu[µ ÞÌ̘K—†ë9"ah‡ûâÚµ V¯¾Ì©S÷HIɧ¨¨d)‚)gÎÈKB< Ó¦¹œ|Œ·ßÎÁÛÛ[ßáˆ'X]³É6£B!„B!*eddDïÞ½Ù¼y3_ý5×®]càÀ„„„œœ¬ïð„B!„¨Éw…¨Ø¸qÄÄãå¥ù6Ûìì"ú÷ÿñãô*_ÓúkR¾¦õTû£èJLL0Ý»×ü­Æ ßØ¢ú¯úª[_÷…®Ü¾Å‹/âÚµ >û¬+gÏrîÜ0>ý´3ÆÆF4–º{M<nÝúŠàà`† Æ7ß|CZZš¾C¢F f1Ûï¿ÿNPPvvvXYYѹsgvíÚÅ€022ÂÈȈqãÆ©Ê'%%1}útZ¶l‰™™NNN¼ð œ={VUfÇŽªsŒŒ¸qã£F¢qãÆ888ȵk×4b©MÝÑÑÑŒ9Õ±õë׫•ÉÍÍUkçþýûÌš5 777ÌÍÍquueÀ€|ýõ×äääT;feÏ733ÃÞÞž!C†pàÀU™ÐÐPUû®®®„‡‡Ó¿lll°²²¢oß¾;vL£|VVÇŽSkbbRa¿«êSe1ÕöºUSm¯‹B!Ä“æ¹çžã§Ÿ~báÂ…ìÙ³‡Áƒó¿ÿýOßa !„B¡’ï ¡¥RIqqÉWC#±?9ê:^ÞÞ?1jÔáz©ûqõÝw7ÈÈ(`Ñ"_:th‚¥¥ ÖÖ& ò4‘‘úOkr}ÅãÀ×w=ßÿ=Ï>û,¡¡¡tïÞY³fqáÂ}‡&„V b1[LL ݺu#""‚ü‘ÄÄD¾úê+V¯^Íùóç177G©T²~ýzâââð÷÷çûï¿ç³Ï>#99™ƒ’œœL·nÝ +Y%„R©døð’×ôΘ1ƒ3fpçζlÙÂþýû=z´Z,µ­{âĉL™2…[·nqâÄ  …F™²âããñ÷÷góæÍ¬^½š{÷îIŸ>};v,ëÖ­«rÌJÏß´i“êü“'ObeeEÿþýUc5gΔJ%¾¾¾¤¦¦òæ›o²lÙ2âãã9|ø0ÉÉÉôë×C‡©•·¶¶æ¹çžC©T¢T*),,¬°ßµ‰©6×åQ‹IŒ¡ÛònD܈àÇI?’¸*‘¯Æ~Å꽫9û<æ&æ(¿T²þ¯ædZþïùó}Ä÷|ö—ÏH^ÌÁ·’œ•L·åÝ»ö`Þ´Bù¥’á~úþÝ f ˜Áî°eâö_ÞÏè–›“µ¬{â·™Òg ·VÜâÄü(ŒeÊŠO‹Çÿ=6ŸÚÌê—VsoÕ="FÒdzc¿˺CÕÌÉço:¹IuþÉù'±2³¢ÿÇýYäÁœ<å—J|›û’š“ʛ߽ɲ eįŒçðß“œ•L¿•ý8tåZykskžså—J”_*)\WXa¿kSm®‹µåî¾½Ú¯üãw}‡)Äcoýú«¸»oçòå4rqwßÎÇ_ÒwXB4 …‚¿üå/ìÛ·Áƒ3mÚ4æÌ™CFF†¾CBÉw…0 ’ï Q{’ï Q=kk̆ ÝõJIìOŽú/¹»q£dä6míátM®¯x\tèÐåË—Æ»ï¾Ëõë× æoûáááúOˆ*™è;€ùó瓚šÊúõë8p íÚµcÓ¦M´lÙR£ü¼yó¸yó&ÿùÏ:t¨ªüwß}GË–-™6mç7Žnݺ0`ÀøñǹwŽuª{îܹôéÓ€.]º¨UfÞ¼yÄÆÆ²eËKö·±±!$$DíMiÕ¿yófÕù¶¶¶lÚ´‰gžy†éÓ§3lØ0\\\TçdeeñÙgŸáçç@§Nظq#>>>¼ùæ›jož«ÚÄÚ]—Gmþöù¤f§²þ¯ëØöÁœ|ª›Æo¢åÛ-5ÊÏÛ6›÷oòŸqÿa¨÷PUùï&|GË·[2mó4"B*˜“=ÇÑÍíAß½àÀ‘?r/óŽëT÷Ü!séãÙ€.­º¨UfÞ¶yÄÞ‹eËÄ-ú<˜“6„„¨½)­ºó7Oج:ßÖÒ–Mã7ñ̼g˜¾y:Ã|‡áb[fNæeñÙ_>ïùƒ9Ù²ÇmÄg‘o~÷&gߩ㜬EL Ýu¢¶bb‚õ‚‚’Wíç¡ï0„hÐ5jIJeËèß¿?óçÏ' €?üP•Û !žL’ï a$ߢî$ßB!j¦°°äMfffñ>!ÄÖÖÖŒ9’‘#GrôèQ>ûì3FM§N˜:u*={öÔwˆBh0ˆÅl¥¯é˜“íÊÍI'Ú4mCÔÝrsòÌŒŒU ¦J5µkJ»§Úy3’Û)·qµ/7'[–ë{“}O½«Z4UÛº;·¬áœ<ó`N>[Áœ|S‹9ùàüïr×ßÄœþ^ýù6ì[~ú•W»•™“æÖª…l¥¼Ÿöæ©ÆOqîÖ9âÒâhfW‡9Y‹˜@»ë"„B!JôíÛ—_ý•E‹ñꫯ2mÚ4¦OŸ®ï°„B!„Ð Éw…P·gO“'ŸP}õ˜›+4Ê]»–Áò剈¸Ga¡__{fÍjKÇŽÖ[ÓòÕÙ¹ó³g«¿`É?Þ)ó!úò±§¦æ³víïìÝG\\VV&øù5aºvuªq ×®eðÑGQœ8‘DQ´kgÇœ9í4Ê•Óß~ÀªU— K"55€÷ßïÀüù§ÕbÏË+¦C‡]juٖ͜©S=)*Râé¹CuüùçŸfÍš’çFÉÉy¬Y;}q$$ä`ccŠ¿¿#Ó¦µÁËËNë˜Âð·7«´ÿžž;(*Òn›FGGsNœZéÏÓÓ jÔ×áÛW8Oµé×ĉ­Y·î ‘‘÷qw/yÖ¤PTí= Ëyô(î‹°°!89Y¨«ëx·k÷S…í¿ðB V¬è¨ú¾.cµ~ýU>øà"..|þyW>ú(Šsç’).¦Ò±*Ûf||.Mš˜áæfÃðáÍ påÈ‘D­þ¢¡êÑ£=zô 22’Ï?ÿœ±cÇÒ¯_?BBBhÑ¢…¾ÃBEïË¢óòòÈÈÈÀ‚FiüÜÞÞ^£|ZZÅÅÅØÙÙadd¤öuútI"wõêUºììÔ_ijfV’`×¹nkkëõ9-- lll´>OÛóKß|¯v¼qãÆÖçìì @bbbc©kLPýuyÔò óÈÈÍÀÂÔ‚FæÌIk{òi9i+‹±›n‡Ñx#µ¯Ó<˜7 ÌIËr}W<軲¸Îu[›×`N>hÇÂÔ‹ZÌÉjÎ/}óY|Z¹9iYÉœ´y0'Óë0'kT]„B!„:[[[>þøcÞ~ûmÖ®]˼yó(**ÒwXB!„Bè„ä»B<4p`3bb‚0 ò¢ggñî»ç˜<¹5Çeóæž¤¥0fÌQNºWçòÚ tåµ×ÜéÑÙÈÈbb‚yùåV•Æž””KPÐ~þù6 úÈÖ­}°´TðÊ+Gùþû›5jÿæÍ,FŒ8Ä… )¬YÓ…“'‡²x±kÖüÎd«•-?¦!!g3æŽÌÖ­}P(Œ*w[[Sbb‚éÕËcc#öïÄÔ©ž@É«˜˜`Ú·oªUþª…l‰‰¹d÷îÛ,^ìËéÓÃØ´©'©©ù¼øâ!ΜIÖ:¦êDG¬ÕWU ÙjÓ×Êæ©6ý7΃˜˜`,-²iƶ IDATtìè Š1::¨Â:ÊÒåüðCZ´hQëÿ‰¬ÏºË `÷îÝ?kß¾=3gÎÔêü_~ùEíx^^ûöíÃÒÒRcÛÖÜÜ\ÂÃÃÕŽ]¸p»wïâë뫶Ũ••ùùùªï===ùç?ÿ©ó˜ UéV›¥Û–ŠO‹çJBs²Ã r,¦‚yó¿i1·…ŵœ“õXwYÁíÌÉ ÌÉ%홹¥š9ùàü_.”»þ…y컼KSKm[s r ¿QnNÞ¹ÀÝÔ»ø6÷UÛbÔÊÌŠüÂ2s2Ä“®fNÖ"&!„BQ7ýúõcÆ :tˆ9sæèíËB!„BÔÉw…¨ž¹¹__õ]n<=mqv¶àòå4sëT¾*ׯgðç?ÄØØˆ­Þ ðÛowèÛWýðffÆtïîDnnGŽ$hÇáÃ%e{õR¯ÏÙÙ‚V­4w*«üXT§{w'Ú¶µcÛ¶[ª­2¾üò*cǺ«Áž=qѯŸú[§œœ,ðð°åâÅTâã5ÛÕ4¦úR“¾jC×ýÒv]¹’Ž»ûvµ¯E‹Ô>ªû¢ªXt=Þeér¬,-ª-rKU4V¥möî­¹pí_ÿêÎØ±îµî ™‰‰ cÇŽå·ß~£eË–Œ5ŠÍ›7ë;,ñ„3ˆÅlï¿ÿ>Mš4aÆŒìÙ³‡ÌÌL.^¼Èرc+|“×òåËqssãµ×^ã¿ÿý/iii$''³nÝ:–,YBhh(&&&µŠ¥>ë.ßN«V­˜9s&¿üò ܾ}›)S¦Wíb¶Òóg̘Á®]»ÈÈÈàÊ•+¼üòËÄÅűzõjÕÖž¥ììì˜?>aaadeeÁ˜1c033cõêÕje;tèÀ•+W¸uëaaa\¿~ž={ê<&Cõþ ïÓĺ 3¾›ÁžK{ÈÌËä⋌ýzl…oòZþÂrÜœÜxíë×øïÅÿ’–“FrV2ë­cÉÏKЉq-çd=Ö]¾VŽ­˜¹e&¿œÿ…ŒÜ n§Üfʦ—ÇÌÕÌÉçÏøn»Îï"#7ƒ+ WxùË—‰K‹cõèÕª­=KÙYÚ1û|®…‘•—EÄƬƒ™‰«_*7'ÿÔ+ W¸•|‹°ka\OºNOjæd-bB!„u×¥K¾øâ ~ûí7>øà}‡#„B!„NI¾+DÕ76¥¢ €Ì¸?¯Nå+“ž^ÈäÉ'iÚÔ’C‡عó–Vçåç“‘Q€¹¹kkÍç-ŽŽ%Û0&%i·x(?¿˜¬¬BÌÍXY)4~^Ú¯ÊXZjžS×_÷ '§¯›Ixø}FŽü“Z\+ñóûYcPTT*7nhîZT›˜<=wh´QÙW×®š/Z¨K_µU›~U¦&ó¨uk[­V-òU+ÿ¨î‹êbÑåx—ÒõXÙÚšVØNÙ±ª®M!DÉN~6l`Ò¤I¼ûõÖ[ääTý6Q!ê‹A,fsss#,, ^|ñE\\\˜8q"óæÍ£U«V(ꉄ³³3§N"((ˆ7Þx'''Ú´iömÛØ¹s'#GŽàĉ±sçN,-- J¶ÑüðÃ’7¡Ö¹îò[sîØ±C£Ì˜1c€’í6ÃÃÃ5jÓ¦MÃÁÁÎ;“’’‘#GhÑ¢E•cVzþèÑ£™>}ºêü¬¬,öîÝËøñã5ÎiÔ¨Ÿ~ú)‹/¦Y³fôêÕ {{{öïßOïÞ½ÕÊ~òÉ'øøøàååŨQ£X½z5^^^Zõ©º˜js]57'7Âæ…áßÊŸ¿x—Y.Lüv"ó†Ì£•c+Æåæ¤3§œ"È/ˆ76½ÓL'Ú,lö3ÛØùÆNFvz0o®ŸÀh¼;Ï>èûKBv<èûx#>ü߃¾/iOà§u®Ûh|¹9yf‡F™1ë\?»¦„/g”ÿ(¦mž†Ã :¿×™”¬ŽÌ=B‹&ÕÌÉçî<šé›§«ÎÏÊËb﬽ŒïYÁœ4oħ£?eñÏ‹i6§½VôÂÞÊžý³÷Ó»u¹99ê|\}ðzÇ‹QÿÅêÑ«ñjæ¥UŸª‹©6×E!„BT­[·n¬X±‚¯¾úŠŸþYßá!„B¡S’ï Q¹ŒŒ‚ —.¾)¿˜«¦å+£PÀ7ßô`ݺnxzÚ2þΟO©ö<33cllLÉË+"+Ks'œ{÷J±99Yh‡™™1ÖÖ&äå‘]¤ñó²o¸Ò•À@Wš5³äÛo¯“Ÿ_̆ W5ª¥Ú¢33clmMQ(ŒˆŽÒX TúÕµ«“Nbªªò_'N Õi_u¡¢…dUÑõ<Ò÷}Qª>Æ[×c•šZ€R©y¼ìXUצ¢„±±1Ó§Ogýúõ8p€×^{ÌLÍEÎBÔ7ƒYvܺuk¶oß®q<..GGGãMš4aåÊ•¬\¹²Ò:»v튲¢ß\Péq]Ô]*((¨Ê2¬ZµŠU«VUY.Ï÷òòÒØÎµ"žžž>|Xã¸.úTÛëò¨µviÍö)ÌÉ´8U0'­›°räJVެbÞ<Óå—•ô½’㺨»TPû *Ë84r`Õ¨U¬UË9Y‹ó½šyñ¿ZÌɦžþ{sR}ªíuB!„U äìÙ³,X°€öíÛãêêªï„B!„ÐÉw…¨Xvv—/§©mûNbb.^^v8;[Ô©|e¬­Mpq))»n]W‚ƒ2iÒ vìè[mƒ=ÅÖ­79p žÀÀ‡÷r~~1Ç'aa¡ gOíwzéÝÛ…Ý»ïpøpÏ?ÿ”êxJJ>±±YZ×£-…ˆ¿ýÍåË/°aC »vÝæ×_j”<øi~øá‘‘÷éÜYýY׺uWظñ:®Óö‘õMÛ¾Ö•¥¥ ·’8p¯¿îÁK/µ¬ô]Î#C¸/ þÆ[—c•—WÄùóÉøú6Q«h¬JÛú(Š.]~aôè#ØÚš²qcÕÛÀêR¾l<¥¿SËÿê«ΞMáå—PX¨äìÙڶ݉·÷OÆ%ÛîØÑ—aÚ³dÉy:vÜÅ /$;»o¾éÁ¨Q-k4~-ZXóýññ±ç7NÒ¹ó/üýúªžž¶äçãî¾yóNsölŠF\îîê;U6îeY[›ðÒK-Q*áõ×Ý+ŒËÁÁœmÛú0pàS,Ztÿ_4h/¿þz—/¾èÂСOh“>U××ÊÆ«&ý ñ¦M; ÚÃôé§xç_ÜÜlª¼uGú¸/ÊÏ#]Ž7ÀرÇð÷ÿ€mÛþÀÝ};÷uzÏYY)x÷]_þñËtíº»Â±‚‡×' À•ŋϩÚLKËç»ïzñÔSVZÝkBåîînüã úh÷56l?ÉÉy;6Du,;»ˆaÃöñÌ36|ùe·jË×´þÚ”×¶žªbœLšt‚½{㈊ú?ÌÍëç“‚ºðá‡ùᇛœ<9Ô`>1X>¦šÎÑúö(ÆL›ûDÛ8^}õ(÷¹tix½ÄZ–¡ßßåÇìܹþò—#ôïߌ ¼155&44мɆ ÝéÑÃYí|C+_™†Òîd±lÙyîÞÍáöí,rrŠˆŽÒª­úˆ_—¦M+ÙÂáÓOtZïäÉ“¹{÷.;vìÀÈÈ0þÍ~RüðCœ±··gÉ’%üéObÞ¼yäçç?¢ÈCþR†ûãÆs&CŒ©,Éw«fÈ÷·ä»†Õ.H¾[’ïêŸä»B!„õÃÈȈ"##9~ü¸¾ÃQ#ùnÅz¾+‹Ù„BÑ í݇™™1½z5Õw(*†SY†Ÿ¡ÄÑ”³°°$¼½k”õö¶Pæá§r ­|eJ»€ÚøÚÒUü I@@h0<°¶¶æÀlذAß¡èÄòåË™4i Eõó7<<œ«W¯òüóÏcaa¡:®P( $..Žýû÷×g¸B<ñ 1g2ĘÊ2”ø %ކDò]Ãj$ß­-ÉwõKò]ñ(¸»o¯öëÿø]ßa ñØ[¿þ*îîÛ¹|9„„\ÜÝ·óñÇ—ô–5oooºvíÊ7ß|£ïP´&ùnÃÍwk÷~p!„¢–öì‰còäªï£¢þssÍ_¸×®e°|ùE""îQX¨Ä×מY³ÚÒ±£C…õÖ´|uvî¼ÅìÙêÛB,YâÇ;4öÔÔ|Ö®ý½{㈋ËÁÊÊ?¿&L˜àA×®NZ·½~ýU>øà"..|þyW>ú(Šsç’).¦Â¾)ùßÿîðý÷7‰ŽN##£?ýÉš‘#[òê«Ï`ll¤Qwdä}ÜÝ·%ŸŠŽŽÒˆ%))—+¢8r$…ˆöí›°p¡-ZT½Ú¿”§çŠŠ´{ݰ££9'N Õª,À¾}qtëæ„•UÉ5ÈÏ/æ³Ï¢Ù½ûwïfcn® cGFjIŸ>.deÒ¡Ã.µ:fÎlËÔ©ž)ñôÜ¡:þüóO³fMçjë,ÿ õò1•UÝ]»6šU«Jþg»cG¶léÀáà ¼öZɧ\76#""@Ug]â«Í<õyŸK“&f¸¹Ù0|xs\9r$±Ú{¼¢qºv-ƒ>Šâĉ$ŠŠ ];;æÌi§1Ž¥’“óX³&š}ûâHHÈÁÆÆG¦Mkƒ——éé5ºÞÇ7¯2îêú]ú §º¸tqíJÇ  iSK±)=›¡6¾†T¾2 ¥]]ÑW»úÔ³gOV¬XAtt4^^^úç‰SöÕ JþHU^é±°°0žþyÝ÷‘|·z’ïjGò]Éw%ß5œüUòÝÚ‘|WòÝGMò]ñ(ÄÄë;!0nœãÆyè; !ž8/¼ð!!!dffÒ¨Q#}‡óÄy’ò]y3›BˆGjàÀfÄÄW¹ÝJvvï¾{ŽÉ“[süøP6oîIZZcÆåÔ)ÍOìÖ´¼6]yí5wzôp&22€˜˜`^~¹U¥±'%åt€Ÿ¾ÍÂ…>DD²uk,-¼òÊQ¾ÿþ¦ÖmçALL°êÅÒ¥ç™5«-'OTÚ·C‡âyóÍpºusâ×_pôèó¼ôRKÞÿ+VDiÔmiYò !&&˜˜˜à ì,[v±cÝ9~|Ÿ~Ú™ðð{̘®u_¢£ƒTmT÷U“{÷ïçqölŠÚµX´è,ÿþ÷5ÞyLJˆˆ~ýuÏ<Óˆ‰Ȉ¸­­)11Áôì錱±û÷bêTO äáfLL0íÛ7áã;±fMg­ê¬.¦RÚÌÑ©S=Uצ¬^½\ˆ‰ æÙg5?É^—øj3ÏJçù®]wÌóvîìG—.NÌ{šÍ›c«½Ç+§›7³1â.¤°fMNžÊâÅ~¬Yó;ü‘­QGbb.ÁÁÙ½û6‹ûrúô06mêIjj>/¾xˆ3g’U×»W/—*¯÷ªUþ¬Yӹʸµé·¶qéâÚdd`e¥ùÙ”Òcii[`̘£têô gϦ4¸vuE_íê“§§'üøã¸»»«¾®_¿Î´iÓèÔ©“êØ²eËTÿ]ö5ñ‡VïÔ©“êøž={Ôê¼}û6Ó§O§}ûötêÔ‰ñãÇóǨʯ_¿wwwrrrˆŒŒTçééYa}yyy¿sçÓ§OÇÇLJN:1{ölÒÒÒ¸}û6&LÀÇLJnݺ1þ|²²²4Æ$99™%K–лwoÚ´iƒ¿¿?S¦LáòåËŽ_Ù¶«úêÚµk®Õµk×hÚTó­B¥ÇbccUÇòóóùä“O4hÏ>û,;vd„ ìÛ·¢¢¢:ÅÒÐH¾[=Éw«'ù®v}®*>Éw%ßÕgy|WŸíê“ä»’ï !„B<ÎúöíKAAÿüç?%ß}@òÝú!‹Ù„BœŒŒæÌiGÇŽXY)ðö¶gåÊN³téù:—¯NzzãÆ§¸XɆ ݱ³3«öœÐÐKܾMHˆýú5£Q#ZµjĪUþ89Y°dÉ9îÝË«q,99E,YâGûöM°´¬ºo]º82iRkìḭ̀·7ãÕWÝ6Ì•¯¿Ž!3³°ÆmŒù'UÛݺ9ѯ_3ΟO!%E¿{¨ïßR©¤ÿ‡;ŽOÂÃÆ=œ±°PàèhÎÛo?K«VêŸ yýu×öªÚñÈÈûܽ›ÍС®5®³²˜JézŽê:>mçYé<_¸°dž[[›àèhÎÔ©žôêå¢UÌÅEzz úУ‡3VV <=mY±¢#‰‰9u„†FqçN6óç{Ó§OS¬¬xxزzµ?J¥’ŋϩʎWùõNHÈeèЧ«YÛ~×$.]]»Š(•%o‡12ª¦ žË+Q*þüqiWWôÕn}366¦U«VXZZÀ a̘19r„­[·¢P(˜:u*111XZª¿É£W¯^ÄÄÄðì³Ïª8p ZË–-cìØ±?~œÕ«WÆŒ3Tåǧª¿cÇŽÄÄÄCttt…õUÖÎûï¿Ï„ 8yò$!!!ìܹ“Y³f±lÙ2fΜɉ'˜>}:ßÿ=Ÿ|ò‰Z]‰‰‰³{÷n/^ÌéÓ§Ù´i©©©¼øâ‹œ9sF­|tt´*Îê¾Nœ8A]dd”¼%ÅÊÊJãg¥ÇÒÒÒTÇ-ZÄ¿ÿýoÞyç"""øõ×_yæ™g˜8q"u<é$ß}HòÝŠI¾«Ûø$ß­šä»õS^ò]Ãl·¾I¾+ù®B!ÄãÌÞÞž§Ÿ~ Éw‘|·>Éb6!„ÇÜ\¯¯½Ú1OO[œ-¸|9ÄÄÜ:•¯ÊõëüùÏ166"$ÄGcë“ÊüöÛ]úöU_ÝnffL÷îNäæqäH‚Öq”²´T¨mÕ÷­_¿füç?=5Î÷ò²£°PÉÕ«é5nÀǧ‰Ú÷..%¯¯MHÐ|àò(íÙsoo{œ¾N·w列>Ì‚g8{6EµÝÓž=éÒÅQU®Gg<=mÙ¶í©©R~ùåU^}Õ £×YYL¥t9GËÒU|ÚγÒyÞ»·æƒ¼ý«;cǺWsEq>\roôê¥~ÿ8;[Tø°kÏž8Œè×Oýa—““¶\¼˜J||ÉíÞ݉¶mí*¼ÞcǺkukÛïšÄU×kgcc @v¶æƒûœœ’OÈØÚšly€M›z@ûöÿi(íꊾÚÕ·&Mš’’¢vlâĉtéÒKKK|}}‰ŽŽÆÞÞ¾’´3räHÚ·o¥¥%Ï=÷}úôáüùóm×Õˆ#xöÙg±´´$((:Äë¯¿Ž——VVVŒ=WWW:¤vnhh(wîÜaþüùôéÓ+++<<ÑX!+Ä£äêêZ}!¡¦qcÓ ?™ëà`Nbb.÷ïç©ý‘»¦å+“ž^ÈäÉ'iÚÔ’C‡عóÇ7¯ö¼üüb22 07W`m­ù«Õѱ¤í¤¤š?À©ìºåû–‘QÀ† 1üöÛ]âãsHOWߦ£ôÄ5ec£Þcã’ÖòÞxzîP=´¨Ž££¹V[/åärüxS¦xª_´È—öí›°mÛM^yå(:5aôèV ô”ZÙ¿ýÍyóΰqãuÞx£ ±±™„…%ñá‡jUge1•ÒÕ-OWñi3Ï76«ržk£¢8òó‹ÉÊq³i IDAT*ÄÜ\••Bãsbc3ÕÊ—nUãç÷s¥mݸ‘IÓ¦%ŸöyýufÏŽP»Þáá÷Y¹²S¥ç—o¯º~×4®º^;77ÕòJµjec°å+ÓPÚÕ}µ«oÖÖÖdg«o©æëë«óv|||Ô¾oÖ¬äÁ{BBBÿR–···Ú÷...\½zUã“…M›6Õxµüž={066¦_¿~jÇœœðððàâÅ‹ÄÇÇWø*øúfcS2÷Ê_+€œœ’ùikk«:Ö»woþóŸÿ°`ÁFŒ··7 …‚={ö<š€Éw’|W“仺OòÝÊI¾kØy§ä» “ä»I¾+„Bñø±¶¶&33Sí˜ä»’ïêšN³ :”Ö­[ë¢*!tê“O>¡]»v 8Pß¡ˆ'Ô/¿ü"‹Ùj¡ôäåÝ¿_²m‘ƒƒyÊWF¡€o¾é)#Fdþü3´jÕŸª"33cllLÉÈ( +«PãÀ½{%õœœjþð&5µ¥RsÛò}›0ááá÷X¸Ð‡aÃ\±·7ÇȾú*†÷Þ» ±½È£ÚÆ#::Hçu;–Dnn¨¿ ÀÈ‚‚šÔœÂB%'N$±~ýU¦L9ÉüùÞ¼öÚ÷( Þ‚•+/ñí·×™0¡56\å…Zhl±¥m•ÅTª&sÔØØˆ‚‚b²åØê2>mæYuó\ÅaffŒµµ YY…dgi<à+ûv‰Òò¶¶¦deréÒp­Þ4èJhh”Úõ5ª¥V}жß5«®×®kWGÖ¬‹S n¡ö³‹SèÖÍÑ`ËW¦¡´«+újWß²²²4þØPþUóºPú?ë¥ÌÌJþ×vË-m5j¤þF### …FŸŒ).~øï{~~¾êUï~~~•ÖãÆ Õ;<==)*ÒnÁŽ££c^Eïææ ñ)˲ÇÊ~*oÑ¢E´oßžmÛ¶ñÊ+¯Ð©S'FÍ AƒjÇãJò݇$ßÕ$ù®îã“|·r’ïvÞ)ùnÃ$ùn Éw…B!O™™™899©“|Wò]]ÓÉb¶¿þõ¯Œ9RU ¡SŸ|ò dÕªUúE<¡nß¾­ï¤ìì"._NSÛ&::ÄÄ\¼¼ì4>Ñ_Óò•±¶6Qm+´n]W‚ƒ2iÒ vìè[mƒ=ÅÖ­79p žÀÀ‡ óó‹9~< ={jnÙR¼¼"ΟOÆ×÷áö åûVT¤$2ò>NNüõ¯nåÎ×|H`ii¢öiàÀ=¼þº/½Ô²Æ1>j{÷ÆÑ¼¹­[Ûªoß~?þØ77LLŒèÑÙNðöþ‰âÕî™™ó—¿<ÃêÕ—Ù°!†;o±kW¶´­³²˜JÕdŽ:;[h|j=))—»w³iÔHýºŠO›yçùÁƒñ¨/Ô6l?]»:±`ú'Xʪ,ŽÞ½]ؽû‡'ðüÿ³wçaQVíǿþȢ²¨á Jj*¨ $jn-.¯Kje¶hZ.¹S&ÆkîÖ놩eY½™af¹ü¢¬@ÔÊ¥ÔÜ0AÌ”Uvæ÷/£ã° 80ƒÞŸëâºäyÎsÎ}ÎóŒÜ0gÎyòö* 7oŸ­SÏO<ÄŽW8q" í7>6mŠaëÖË8ð„æ 6ss/¿ìÅòågùä“XÂïñÓOúOt×·ßU‰ë^ï¿¿ ^^ìÝ{7ßlµuÉ›¢*•šððk4nl«µ œ©•/O]i×PŒÕ®±eddè|Ú­"fffêNp¸u«z[ ÞMQ[3^îbee…££#ÙÙÙüõ×_˜›ë®Ös·‹/ÖBd%ºwïÎúõ뉎ŽføðáZ碣£ÐS( 6ŒaÆQTTÄÑ£GÙ¼y3S¦L!88˜ñãÇ×Zìuä»·I¾«Kò]ÃÇ'ùnÅ$ß5ݼSòݺIòÝ’ï !„BÜŸnÞ¼IçÎ+/ø?’ïÞ&ù®þÌjµ5!„B¶¶æ,\xšÓ§o’›«âì̙ٛsKK3BB:Þsy}xxسaC7ÒÓó™2å(e¿IV*(¨v,Yr†¨¨D²³‹ˆÏbÖ¬c¤¦æÒýV̸“ƒƒ%«VýÅÉ“éåöÍÜ\A·n.¤¦æññÇ—¸y³€¼<G¦_f½íÛ;ŸEbb.'O¦sõj6~~ «_m+.V•DÿþMÊ<rŠ 2)((&--Ÿ>ŠA­†€W²cÇ¶ÂÆÆœÕ«ÏÑ£‡Í›ÛW«ÎÊb‚ª=£n¤¤äñÅ—ÉÉQqõj6‹Ÿ)wÅCħÏs·Ÿó¥KϲÙÙE$%å²`ÁiRSó7γÜ6*Š#(¨=ÎÎV,^|šß~K!'GEl¬’Ù³•¹SPP;š5³gîÜ<˜ŒRYHFF۶ų~ýEæÍë ³Rij϶ÀÁÁ’Õ«Ï1`@ÍùúзßUë^î™™‚+º™YÈܹ’ššGFFï¼sš+W²X¶¬³æ"S,0vìotíú=§NݬsíVÕµkÙ´i³/¯]œ;—Qk횪¤¤$\\ô_ÃÍÍMçÓc©©©$$$$[[[­?¦ 0€¯¾úÊ uWæ‰'ž@¥RqâÄ s›6m¢gÏžzRÏÐüýýñòòbïÞ½äççkŽ«T*ÂÃÃiܸ1}úôÑ÷õõ%.. ùðÃQ(ìß¿¿Öã7u’ïÞ&ù®6Éwk&>Éw+&ù®éæ’ïÖM’ïÞ&ù®B!Äý%77—¸¸8ͪ_ú|WòÝêÉlB!jÄæÍ—ðòÚÅùó™$'çá嵋իÿ"""/¯]DF&оýÿ1gÎq­òŽŽ–wà?ÿ9G·nßóÜs¿âèhÉÖ­šOßKù;ã ¿¦sü³Ïb9uê&cÆüJQ‘šS§nÒ®Ý:tø¿2c‡’-•vïîÃ!MY´è ]º„3bÄrrŠØ²%gžiQ­q´³3gÁ‚N¬[wžîÝ(³oëÖùóÜs-Ù²%Ž€€x챟صëþõ¯¦¼ôÒ!† »h¼ýv~؉Ç`úô?ø÷¿;áééÀ©S7uú¸zõ_xyíbÓ¦ äÓù'©VŸîÅɓ餧痹}PXXO<=˜1ã]º|ÏODòË/É,[֙ɓ½uÊׯoÅСMQ«á•WZ—Ùž>u–SUŸÑR³g·côèæ|ðÁEüý¿çÍ7O0qbk\]mÈÈ(ÀËkÿùϹ{ŽïNú>g¥Ïù A,\xZóœgfðÕW½hÒÄ®Ü×xEq4kfÏŽ½éر>¯¿þ»¦ß/¾è‰··#ÅxyíbÞ¼?’m vî|ŒšðÎ;§ðóûžÇä§ŸøðÃn øNöö<ûl‹ÿÝo/óåÅ­o¿«—!îO}vìèRYÈ€ôêõ#W®dÖ“ž=ÝL¾¼J¥F­Ö]¼®´UòÌxyí"99•J­ùþë¯ÿÖ)%ÛmYXhÿ VÕv뺫W¯’––F§Nô¾&00””¾øâ rrr¸zõ*‹/¦aCÃLJiß¾=ñññ$&&ròäI®^½ŠŸŸŸAê®LPPÍš5cîܹúµZ­õ ¿û‰ä»’ïÖÉw%ßÉwK™Zþ*ù®ä»ú|W›ä»u[éÏz/¯]ôè±×dËWµžû]éÏüÒ¯ü|ã¼®¯ãÇÓðòÚÅï¿ß0v(¥1MœxÄ$Ÿ-S³Êâ(ý]ÔËkíÚí©åèLSYcvþ|&&Á×7œŽÿ_ü'ÒÊ­ÃÔÊ×õvH¢ÿ¼½wW¹½{i·®:qâ………tïÞ]ïk$ß•|·:ê{ÜPV¡P°}ûvÙfT˜$…BÁÌ™3e›Qa4£F`ÇŽ5Rrr2YYYz•õòòdݺdÔ¯¼0¾!C¢HOÏçС§ŒŠÉx÷Ýhvìø›ß¨³Au|óÍßlÝz™Ý»ûT^¸–b2´Êâ«­çÌÔÇÉɘ c™6­d›À÷ßO6xÝ{öìaÞ¼yü÷¿ÿe̘1:çcccuŽ)•J–/_θuë<òóçÏ'$$D³úk¯½Æ€9r¤ÖµS¦LaöìÙxyi¿©ß§O>þøc._¾Ìüù󉎎ÆÙÙ™I“&ñüóÏÁäÉ“µ®:t(/¼ðB™í 0@g¹ö   ºvíʳÏ>«u|úôéLŸ>(Ù†jãÆDDD˜˜ˆ££#íÚµcâĉôèѣܱ¬Ž¨¨(^}õÕ2Ï-[¶¬Ìßëÿúë/V­Zʼn'(..¦S§NÌœ9“.]ºh•;þy”À@í‰ÿ¦V¾ø  ½zýHnnÕW²4TüuEZZááá,\¸ÉwÿGòÝšq¼j„Bñ@ˆˆÀªU]«}ý×_ÿÍäÉGÉÉQOffƒy5¦šf*ñ™Ju‰Œ™¸ß¤¦¦rðàÁ2?±'„¢„ä»Ug*ñ™Ju‰Œ™¸ßH¾+$ööìßÿŸ|ò¨±C©²ºûý&.NI||V…ÛÅ×6SŒéNµ_e¯S'S~}ß=fÇŽ¥qéÒ-ž|ò!Í(ssƒ?Dbb.QQ‰šã¦V¾üûß§Ê=#£€ .™Hbb.vvøø4àÕW[Ó½»«Þmß9©ÞÝ݆>èÎþsŽÓ§Ó).¦Ì¾©Tj~üñ:_ý7/f¢TѼ¹=£G·àÅ[af¦Ð©ûĉ4͇IÌÍ\¼8L'–ÔÔ<Þ{ï¿þš‚¹¹_ß„„t¤Y3{½úâí½•J¿-]\¬9zt ^eöíK$ À;»’{PPPÌÆùá‡ë$$ä`mmN—. yæ™<ö˜;ÙÙEtî¬ýä¬Yí˜:Õ•J·÷ííêž|ò!Ö¯÷¯´Î»?øqwLwªìݰá"kÖü@—. 5[ÀþòK2ãÇÀÙÙŠãÇiê¼—øªóœösž””GƒVxz:0thS òà×_S*}—5NqqJþóŸs=šŠJíÛ;Ô^gK¥§ç³~ýEöíK$99Küü\˜6íaÚ¶uâÖ­Â*Ýï¡C›Vweý.ØTY\†¸w¥ãШ‘­ÎØ”‹Wj¯)•/O]i×PŒÕnmKOOgÆŒʪl¢ÖÔú6£%{US\\\ÛM׈û­?©W¯ež««ã`ê{§WÕýÖŸŠÔ«J` îÞ×ð`ƒB!D]ðî»ïÒ°aCžþyc‡"„B!„ÁI¾+$4&6vx…Û æä¨X°à4“'·áðálÛÖ“ÌÌBÆŽý?þ¸qÏåõ1x°ãÇ{èÆ‰ƒˆΘ1-Ë=55aÃöóÝw× éÈñãƒùöÛǰµ5ç…~ãë¯ÿÖ»í Z;\3!gñâ3̞ݎßTnßLbÆŒc¸òÓOýùí·'yöÙ,[v–÷Þ;§S·­mÉÄ™ØØáÄÆ/s"À’%g7΋ÇŸâý÷ý9vì3gÓ»//Ó´QÙWU&²¥¥åsêÔM­{ñÎ;§øüó8þýïŽ?>ˆŸ~êO«Võxíµ#?ž†££%±±ÃéÙÓ 33QQ3uª7P2™/6v8¾¾ X½º+ë×ûëUge1•Òç:Õ[soîÔ«—;±±ÃyäÝ•›î%¾ê… }X¿þW¯æèÔ‘’’Çðáøá‡k,\؉?ÿBXXO22 9ò 'O¦kîw¯^îÞï5küX¿Þ¿Â¸õé·¾qâÞ(•…ØÙé®=Tz,3³ÐdËŒû]»~Ï©S7ë\»†b¬vkS~~>S§NÅÌ̌իW;ñ©õÉlÄÅÅñÃ?ÔvÓ5â~ëOuÕÕqpp°".n"?üð´±C1ˆû­?Õ%ã „Ba:öìÙÃwß}Ç‚ °²²2v8B!„B”ä»BèR* jO—. ±³3§C‡ú¬ZÕ•ÂÂb/>sÏå+sëV!&¦¸XÍ'Ÿ<Š“Så¯Í•+ÿâÚµÞ~»#}û6¦^= Z¶¬Çš5~¸ºÚ°hÑinÜȯr,¹¹*-òÁ×·¶¶÷­[7&Mjƒ““õë[ñ⋞ âÁÿKVVQ•Û†’•{KÛp¥o߯œ9s“›7 ªUŸ¡DE%¡V«é×ïöäžÃ‡SiÝÚÀ@7llÌqq±æ­·¡eËzZ×¾òJëÿÝÛKZÇOœH#!!‡=ª\gy1•2ô3jèøô}ÎJŸó’çÜÞÞk¦Nõ¦W/w½b.+Ž•+ÏqëV!!! tÃÎÎooGÞ{¯ ))¹:u¬\yŽë×sîÀc5ÂÎΜ֭ õC­V³páiMÙ Ê¿ßÉÉy Xùöúö»*qêÞ•E­.Y¬C¡¨¤ ‘Ë«Q«oŸ¿_Ú5cµ[U{öì)w,óòò˜4i111lÚ´ ggÝI¹BÔ”ZŸÌ&„B!„âÁÏ‚ x饗èÓ§±ÃB!„ $ߢlÖÖætêT_똷·#nn6œ?ŸIJJÞ=•¯ÈåËJž~úff Þ~»£ÎVåùùçúôi¤uÜÊÊŒGu%/Oů¿&ëG)[[s­­ ¡ì¾õíÛ˜/¿ì©s}Û¶N©¹téV•ÛèØ±Ö÷îî6$'ëN0ªM tèP77ͱ޽ñçŸéÌŸ’S§nj¶7ˆ@·n.šrnx{;²sç?ddÜž”÷ñÇ—xñEO,,U®³¼˜Jò½“¡âÓ÷9+}Î{÷Ö¸öé§2nœW¥1—Ç/¿”¼6zõÒ~ý¸¹Ù”9¹+""33}ûjOîruµ¡ukG¢£3HJ*yF}Ô•víœÊ¼ßãÆyéõ×·ßU‰ë^%99ºUssU8:Zšly€°°žœ81_ßÛÿÏÔ•v ÅXíÊûï¿Ïœ9s8pà€Î¹ÌÌL&NœÈÙ³gùâ‹/hÓ¦Mí(hµ:™m÷îÝ( ÍW^žöö´´4fÏž§§'VVVÔ¯_Ÿ§žzŠýû÷ëÔ•ššÊôéÓiÑ¢VVV¸ºº2bÄNº½×ýÝí]¹r…gžyggg6lÈàÁƒ‰‹‹Ó©ûÂ… 6 '''ìììð÷÷'<<œþýûkêš0aB¹ý©n»úô©2úŒáÊ•+5±yxxpìØ1úõ뇃ƒvvvôéÓ‡C‡é”ÏÎÎæÐ¡Cšk-,, v_«;f÷b÷îXŠ•š¯¼<í2ii¹Ìž½Oϱ²ZMýúïóÔSß²ÿUºRSs˜>=Š->ÂÊj5®®1b§N¥”ÛÞ•+™<óÌw8;¿OÆëÛ9tèºNùììBº®¹ÖÂb•ÁîkuÇL!„BÜ–’’¸qãðôôäÍ7ß4v8B!„B”ä»B”ÏÙٲ̕h6´J¶Ü»—òå¹u«ˆÉ“§Q#[LfÏžôº®  ¥²kksìíu·Šsq)™€’šZõ KåMb¸»oJe!kמgàÀ}t×.¼¼v±bE4p{RDU98h÷Ç̬d õ\ÐoïÝšX*ûêÞ]¿Ý›rs‹8|8Ug;ÈwÞéÄÊ•]ùçŸl^xá7||Â7îf"Ò^~Ù“ÜÜ"¶n½ @||Gޤòì³-ªUgy1•2Ô3z7CŧÏsVÙs®²â(((&;»kksììÌu®)áÎòJe!ÅÅj||¾ÓyŽÎ+yÿíÊ•,Í5¯¼ÒZç~;–ÆèÑÍ+Yß~W5®{½wžžšÉqw*=Ö²¥ƒÉ–/O]i×PŒÕ®!¬\¹’uëÖ¡P(øàƒ´ÎÅÄÄ0bÄâããÙºu+íÚµ3R”âAV«“Ù† †Z­fèС:ç’’’ðóó#,,ŒÐÐPnܸÁï¿ÿŽýúõcóæÍ𲉉‰øùùñõ×_³qãFÒÓÓ9pàééépäÈ‘2Û›9s&3gÎäúõëlß¾¨¨(ž{î9­8bcc àøñã|óÍ7¤¤¤ðÙgŸÊ™3g°¶¶F­V³yóærûSvõíSEôà  Ôj5:u"##ƒ3f°dÉ’’’øå—_HOO§oß¾„¨¨«<÷\¸V±±|ÉñãI|óÍPRR¦òÙgOú'gÎÜÀÚÚµ:ˆÍ›Ÿ(·?ÕiWß>UDß1 òC­¢S'W22ò™1#Š%KIJšÂ/¿}šÈÈÈ2Ïeff2~üx¬¬¬Ø¼y³l·$„B!êÉw…¨>¥²°Ìã¥~îžÜRÕòå17‡-[Ù´)ooG‚ƒOræÌÍJ¯³²2ÃÁÁ’ü|ÙÙº«ëܸQ2‰ÍÕUwE¬Êdd–9qìî¾½úêQÖ¯¿À3Ï´ 2r—. '6v8óçwt·Ó«­më.^Flìp½¾Ž¨W‡¥’—§Ò™Ü£PÀ°aMÙ²%“'óÁÝP«aÊ”ßùôÓX­²C‡6ÃÅÅš/¾¸LAA1Ÿ|r‰#šél)«oåÅTª*Ϩ™™‚ÂÂb²·néÖa¨øôyÎ*{ÎõQVVVfØÛ[Ÿ¯"'GwÒå«©•–wt´ÄÜ\QáóÕ½»«æšÁƒ=hÜØVë~?óL ½&åéÛïªÆu¯÷®{÷’ÕÛ¢£uÏ(=àb²åËSWÚ5cµ{/Ôj5K—.eÓ¦Mšyþù''OžD­V³}ûvFމ››»wïæá‡6vÈâe2یΛ7øøxÖ®]ËàÁƒqtt¤M›6„……Ѹqc¦OŸNrr²¦ìßÿÍêÕ«8p õêÕ£}ûö|õÕW¨Õj¦M›Vf&L {{{ú÷ïÏ Aƒ8vì7nÜД &##ƒÐÐP  ©;,,ŒìììjõMŸv«Û§êŽa©ììl6nܨ‰¯k×®lݺ•‚‚f̘Q­þÞkLúŽYMš7ïWâã3Y»¶/ƒ&Ïp® IDAT{âèhE›6õ LãÆõ˜>}ÉÉ9ÿ+û ÿ}‹Õ«û0p`+êÕ³¤}{¾újðÿîݾ2Û˜0¡M°··¤ÿæ ÔŠcÇ’¸qãöÌíàà_ÉÈÈ'4´/4×Ô6ˆìì²çÊèÓnuûTÝ1,•]ÈÆý5ñuíÚˆ­[QP bÆŒ¨jõ÷^cÒwÌ„B!$—.]⥗^bÉ’%¨TÚ¨LJJâÙgŸ%33“Ï>ûŒúõë—S‹B!„¦Iò]!îMNŽŠóç3µŽ]¼x‹””<Ú¶uÒÙ&±ªåËcoo»» vvælÚÔ;;s&M:ª×?Þ€ýû“´Žsøp*66æôì©»EaeòóUœ9“®uìTjNœHÃÕÕ†—^ò¤AkÍdµü|ÝIQ¶¶Z¦ ˆà«¯®T9>cˆŒL¤iS;Ú´qÔ:îëN\œ n|øaw ÝûbeeÆóÏ·"--ŸO>‰eÏžxùeÝEô­³¼˜JUåus³ÑY¥)55„Ý÷Ÿ Ÿ>ÏÜ~ÎHÒ©cÈ(–.=«süNåÅQº}gév£¥nÞ, >^÷ýõ'žxHóÜßmÓ¦zöüQ³m'€¹¹‚—_öÒÜïððk¼ô’g…±ÞIß~W%®{½wþþ.xy9°wïuòóoç*•šððk4nl«µí±©•/O]i×PŒÕnu©Õj-ZÄÿû_­IÒ¬[·ŽW^y…ÿûß¼ð |ñŸ¸˜ÖD<ñ`1™Él»ví`РAZÇ­­­éׯ¹¹¹üôÓO@É–”fff Mbb¢=4lL ß˜Õ¤]».0hP+­ãÖÖæôë׌ÜÜ"~ú)(Ù’ÒÌLÁàÁÚIS£Fö´oï‰É\»¦ÔiÃÏO{~Ó¦%KŒ&$Ü^6÷ÇKÚx≖Ze]]íxøáT‡>íV·OwªÊ–²··ÄÇÇMëX‡.4iRÓ§SIL¬Þ„Ò{‰ ô3!„Bˆŵk×xþùçÉÍÍ%!!o¿ýVs.&&†Q£Fðõ×_óÐC+L!„B!ªEò]!î­­9 žæôé›äæª8{ö&sæÇÒÒŒŽ÷\^ölØÐôô|¦L9JAAÙ“ÂJµÃÃÃŽ%KΕHvvññYÌšuŒÔÔþø7o—§âèÑTÂÂtß³hßÞ™øø,s9y2«W³ñókXåøj[q±š¨¨$ú÷oRæùS\¸IAA1iiù|ôQ j5¸ê”;¶66æ¬^}Ž=ÜhÞܾZuVTí t#%%/¾¸LNŽŠ«W³Y¼øL¹+ ">}ž3¸ýœ/]z–ýû“ÈÎ."))— N“ššÇ¸qåO«(Ž  ö8;[±xñi~û-…œ±±JfÏ>VæÖ£AAíhÖÌž¹sOpð`2Je!lÛÏúõ™7¯ææÚË>ûl ,Y½ú4ÁÝ]ÿ•õíwU㺗{gf¦`ÅŠ.df2w¦æ‘‘QÀ;ïœæÊ•,–-댵µ¹É–;ö7ºvýžS§nÖ¹v«êÚµlÚ´Ù­µålm´kH*•Š·Þz‹/¿üRgµÏ¢¢"~ûí7®]»ÆÖ­[yã7°°¨ÞvÄBŠI<ùùùdffbccƒƒƒîžÁîî%³¹“’’4eœœœÊ­óÒ¥Kxxxh»»|éÒßÅÅÅš8”J%666Ô«WO§Îê~ÂJŸv«Û§RUÃ;9;;—YŸ›› ¤¤¤Ð¸qÙKÖV¦º1AåcV“òóUdfæcccƒƒîòðîî%ÉpRR¶¦,€“Óºrë¼té&Úcp÷RÇVV%?ÈŠ‹Õš8”Êll,¨WOw¯ûúõ«þK“¾íV·O¥ª2†wrv.»Onnv$$d‘’’CãÆeÿ2R™êÆ•™B!ă"--±cÇrëÖ-T* …‚U«Vñ¯ý‹Ÿ~ú‰Ú·oχ~Xáï6B!„B˜"Éw…¸móæK¬X­ùÞËkS¦xÓ¡C}&O>ª9Þ¾ýÿ1thSÚ¶uÒ”ww·!8¸ï½wŽ3gÒ).†Žë³uk ]º4Ô©¿ªåMGfÎ<¦u|þüøú6d̘_8uê&íÚíÁÖÖœÜÜÛ+ç”Æ¾jUW\]mؽ»6\dÑ¢3$%åbkkO}¶l ,s2•>ììÌY° K–œáÏ?ÓQ©Ô:}X·ÎŸÕ«ÿbË–8V­:‡³³½{7â_ÿjʇ^䥗ñÈ#ÎìÞÝ€·ßîÀüù§xüñœ­ø÷¿;áééÀ©S79ò€V§LñföìvxyíÒ2$Š>}ññÇÕêWu<™Nzz~™Ûe†…õ$,,ž3Ž‘‹µµ-ZسlYgFj®S¾~}+†mÊöíWxå•Öe¶§OåÅTÕg´ÔìÙíÈÏWñÁy÷ÝhyÄ™ùó;põj6ÑÑxyíâµ×ÚðÆíï)¾;éûœÝùœ/\xš¤¤\4°Æßß…¯¾êE“&vDD$–ù3¦e¹q4kfÏŽ½yï½h^ýwŠŠÔ´iãÈ´ióÙg±>œŠ—×.FjÎòåiØÐš;cãÆ‹¼óÎ)sqt´¢];'>ü°=z¸é´aooÁ³Ï¶àã/ñÊ+º«ð•÷ݯïòú T).CÜ;ŸúìØÑ›U«Î1`@ÅÅj:uj@XXOçÊË«TjÔjÝmëJ»QQ‰¼úêQ­c¥ÿO.[֙ѣuÿßQ(ÀÂB{½¨ª¶k *•Š7ß|“ï¾û®Üùæææøùùé,:$„±˜Äd6kkkœœœÈÌÌD©TêL|*݆²Q£FX[[ãììLVV¹¹¹jmmƒƒJ¥’¬¬, m)))këîvïµOUÃ;¥¥¥¡V«Q(´g·—öÕÍíöå»ËÔTLÆfmmŽ““5™™ù(•:Ÿ’“K&;5jdµµ9ÎÎÖde’›;Sç‡×½Æáà`…RY@VV¡Î„¶”Ýåˆ Õî½ö©*cx§´´<Ôj¸ûQ+í«››æXÇjÇ$ªoóï›Y±îõÜ9ôú!ƒ–¯ÍØDÙ^ýæU¢b£˜ÕkSª9.ã+„÷'¥RÉØ±cIJJ¢¨¨(ù£QFF/¿ü2'Nœàå—_fîܹòÉ=ñ@|÷þ'ù®B>õËíwUÇ£&DF&âìlE×®º<Ú¶u*w ÊãëÛ€sç2Ê]•NŸ:Ë‹©ªÏh)K–-ë¬s¼t"¢¡â»›>ÏTþœиÌgåÝw£+Œ£eËz|ðAwãåm±èìlEpp‚ƒõ½Íûsç>R¥¸ïlOŸ×·¾qêÞµkçÄ'ŸT*Uå[¶l©á¨„ÐÉLf[¾|9-[¶dæÌ™„‡‡£T*‰‰‰a̘1$&&ªÙ–rùòåxzz2~üxöîÝKff&ééélÚ´‰E‹±råÊjÿB¹lÙ24hÀÌ™3‰ˆˆ ++‹èèhÆW£+ˆ¢OUÃRNNNsäȲ³³9~ü8cÇŽÅÊÊŠÐÐP­²;w&&&†þù‡#GŽpùòezö,æsuc2Ë—÷¤eK'fÎŒ"<<¥²€˜˜›ŒNbb¡¡}qw·Ó”õôtfüøÙ»7žÌÌ|ÒÓóØ´é4‹aåÊǪ½bÛ²e=iÐÀ†™3£ˆˆø›¬¬B¢£o0nÜ5º‚˜!úT•1,åädMpð¯9’@vv!Ç'1vì÷XY™ÚW«lçÎîÄÄÜ䟔9’ÀåË™ôìùÁc¢*Ôj5ÅêâZÙÙ˜R²RX¹„a”ÿ)!„÷ÂÂB&OžLttt¹°)**">>¾ÌsBˆû‡ä»B!îG’ï !D퉈ÀªU]«}ý×_ÿÍäÉGÉÉQOffƒ•½2_mÅTÓL%>S‰£.‘1ƤRå0~üx<¨÷D¶¢¢"¾øâ ²³³k8:!*W«!Ú½{·f¥.[[[žþy¶nÝJ£F8vìK–,aúôé\»v ;;;ºwïNdd$}ûÞžÈâææÆüÁÒ¥Kyýõ×ùçŸpvvÆ××—={öпŽ=J@@€V{óçÏgÉ’%Z[fúúú2hÐ ÂÃÃñôôäÈ‘#Ì;—‘#GRTT„Ë—/gÁ‚¤¦¦VÚŸ×_½ÊíêÛ§ŠTe KÕ«W÷ߟY³fqøðaŠŠŠð÷÷'**Š=´—¢]»v-'N¤mÛ¶4hЀÐÐPÚ¶mkûZ{u¯vïŽeøðÝw´¹–çŸoËÖ­ƒhÔÈžcÇÆ²dÉQ¦OâÚ5%vv–tïÞ˜ÈÈÑôíÛLs››ü1–¥Kòúë‘üógg|}ÝØ³gýû7ÿ_ øR«½ùó»³dI ÅÊ;ú¸…AƒZ>OOgŽyž¹s2räŠŠÔøø¸²|y/,8Djjn¥ýyýõÎUnWß>U¤*cXª^=KÞ¿³fíçðኊŠñ÷oLTÔhzôО¨¶vm&Nü™¶m?¥ABCûÒ¶mCƒÜ×êÜ+!ì­ìÙ?i¿±Ã¨qÁ{ƒyêá§ðkêÇîèÝ•_ „¢ÎR©TÌž=›#GŽTøG¢¢">úè#žþy6¬xÛ !DÝ%ù®Bˆûä»BˆªòòÚUi[[srsoÿŸâ嵋)S¼™=[w»PQu‰øú~GëÖŽ„†ú=°«^mÞ|‰+¢5ßËs&„(¥ResìØpnÞ<€™™fffÿ;§B­VkÊZYYQ¿~}\]]y衇pww'!!Ö­ËÞÚ[ˆÚ¢Pßù¤V§…‚íÛ·3zôhCÅd²~øarssùûᅧAøøøpãÆ ®]»fìPjŒB¡`æÌ™¬Y³ÆØ¡ÜÃJnnÿýª±C1ŸÏ¹q#—k×&;ƒ5j;v쨑ú“““ÉÊÊÒ«¬——'ëÖ%3p ~å eÈgCHÏNçÐëºÛ(¢ü½¨Í¶î;Nï`ýáõüðÊD^ŠdÎws˜ÕkSªSVÆW!ê¦iÓJVN^·.‰yóæ±k×.½>½gaaÁK/½Ä¼yój:D!Ê$ù®qÛº_H¾+„÷?ÉwE]e¬|W!„u‡R©¤oßIdgÇòÐCŽ4nÜwwwÜÜÜpuuÅÅÅwww4h@£F°·¯¹Ýà„ðôô¬öµµº2[]””D»víHNNÆÒÒRsüÊ•+ÄÅÅ1vìX#F'4IIÙ´k÷ÉÉS°´¼½­ç•+™ÄÅe0v¬|ºBÔqiq,ZÎñkÇ)RÑ©I'f÷šM.z]Ÿ‘›Á†Ãˆ¼Iâ­Dì¬ìðiâëÝ^¥{óîå–MR&ÑÀ¶ž.ž m?”AmacaSf{ÎíaÎws´ŽyýN¶Nl<¼‘.ü@BfÖÖtñèÂ3>ÏðX«Ç073'"&‚É;'k®;tk k|×ø¢ÌW–Ù¦B¡à×)¿ÒÈ¡d+ëôœtÖZϾØ}$+“q°vÀ¯©Ó§ÑÖ­­^cåýž7ªbý– v±wáè´£z•MR&±|ÿr6 ߀½UÕ“ÛòÆ×µžk•ëBQóÞ}÷]vîÜYév‚fffXXXPXXÈ_|Á¸qãhÔ¨Q-E)„é|Wò]Éw…¢n‘|W!„BÜo¬­­éÖm/ …%￟lìp„¨6™ÌV†›7oòÚk¯±páB6lHtt4Ó¦MÃÑÑ‘c‡'07oæñÚk?³pa6´!:úÓ¦EáèhEHH@åar sXðófõœE[÷¶Ä݈cÞÞyŒÝ6–ÏŸýÿ¦þ^Ÿš•ʨ/F‘W”Dz§–áßÔŸÔìTV\É _½ÀÒ'—2ºÓh­²ùª|–>¹”nͺ‘[˜ËöÓÛ™ûý\nåÝbœß¸2ÛÜv0ç’Îs#†Ð¡¡8Ù8%Û í½°—÷‡½Oצ]ÉÊÏbó›yí›×ørÌ—tkÖmûV,“¾Dä¥HºÏÌ9ƒ¥æûõ‡Ö³ö×µÌé5GóÆ^JVJIìEù¬¸ÿfþ\ϼ΂Ÿ0rËH¶>·߇|+ï‹o^¬´LuÌûaCÚ! yõþï)o|…B˜ž¸¸UìÝ»Y똅…jµZ³j… Íš5£M›6´jÕŠ–-[Ò²eKœ²F%ù®ä» ù®BÔ%’ï !„Bˆû‘•• …eå…0q2™í.5"22’ 6ЫW/¨_¿>ýû÷',,ŒV­Z;Ä{¶råJÞxã Í÷ …‚ùóç³dÉ#F%ÊÒ¨‘=‘‘£Ù°á$½z}EBBõë[Ó¿sÂÂѪUÝÿÃøÊ•Çxペ̟ß%K•04e¾’ ÞAø4ñ C㬲ŠAŸ bqäb¾÷]…ׯ<¸’k™×X;t-}½úPϺkþµ†Ç>xŒE‹èëÕ{MÙuÃÖiÊÚ[Ù3õÑ©œ¸v¢Ü6nåÝbÆžx6ôä“QŸ`nf®9wøÊaZ»´&°eÉsicaÃ[}Þbߥ}Õ.ü@èo¡<Ýái&ÜÞZwåÁ•\ϼÎê!«yÌó1Z»´&th(½?è͈…ì~ywµÚ¼WÛOoçÊÍ+l±±Z×W4¾B!LËÕ«ŸóPò†^ãÆiݺ5žžž´hÑBó&ž««¬4$D)ÉwµI¾+ù®B˜2Éw…B!„´Éd¶2ôë×~ýú;ŒDPP±Ãzêׯýú53v5&(È  ?c‡!j˜µ…5wÒ:æíê[=7Î'Ÿ'%+·znå^ÿsÌÏôñì£uÜÊÜŠG[<ÊîèÝüÿ+î)Û»Uoz>ýi™õ_N»Ìkß¾F3çf¼Ýÿmó½={óåŸ_2ï|FuE‡FJ¶Zz5¢âŽÿÏÉY'5ÿ>xš7ÂßÀÏÃ%OjO"Žˆ‰ÀLa¦yS²”k=WZ»´&:)š$e’fe‹Ú’p+Q+Ø4r¶–¶U¾¾²ñBa:222P« èÚõ[Þ}×ÌÍeB†•‘|Wò]Éw…¢n|W!„B!LŸLfBQãœmœQ(:ÇÚ5$%+…´ì´rßÜ+P ÌWbma½•½Îy{ d»¥ÊÊ–åVþ-&ïœL#‡F¼|=çö0´ýP­2ï xß&¾ìŒÞÉ Û^ «GWžó}ŽÇÛ<®W;Pò&Ùkß¼Fc‡Æl±KóÛËü–Æà³Æ§Ü:®¤_©ôÍ=ï÷¼Q«ôŠÉÅÞ…£ÓŽVX&*6 e¾’1_Ž)óüš_Ö°æ—5ì{mÍë7לÓg|…B˜gggš7Ÿ @óæÉFŽFˆºCòÝ’ïJ¾+„¦Nò]!„B!„0}2™M!D+}Óêni9i4´oXîµVæV8X; ÌW’]­ó¦Ýì@Éj••-‹¹™9[žÛ‚ƒµ£¶Œ"xo0-´¤c㎚2 …‚a cØ#Ã(*.âèßGÙüÇf¦ìœBp¿`Æû¯´ì‚l&î˜HQqúg[g~:Ú8’ŸÍ_oþ…¹¢úŸ ¾øæÅj_[–±Ç2¶óXã{ÎíaÎws˜ÕkSZæµúŒ¯B!D]'ù®ä»’ï !„B!„BafÆ@!Äý/§0‡óÉ絎]L½HJV mÝÛV¸å Y bÜ~­ãª_9Œ… =[öÔ*{ î€N=C>ÂÒ}KµŽÙ[Úã^Ï;K;6Ü„¥“¾DJVЦŒï_âÒâ°0³ °e >ý! …‚ý±Ú1•EU¬bÆžĥűaøZ6h©9÷ú®×‰ˆ)Ù¾é ï'P©Uœ¸vB§ŽMG7ÑscOTjýV 0úŒ¯B!D]'ù®ä»’ï !„B!„Ba2™M!D³µ´eaÄBN'ž&·0—³‰g™óÝ,Í- éRéõA½ƒðpò`Iä¢b£È.È&>=žYÿ7‹ÔìTB„h¶_*-»tßRöÇî'» ›$e ~^@jv*ãüƕێ‡“Fl =');§P *М ù1„ )(P–“ÆGG?B­VÐ< Òø—î[ʸ,}j)Ýšu«°ŸÍœ›1÷û¹¼|e¾’ŒÜ ¶ÜÆúCë™×wÞ=­`al¯B!D]&ù®ä» ù®B!„B!„† P«Õê{ª@¡`ûöíŒ=ÚP1 a0 …‚™3g²fÍc‡"P£F`ÇŽ5Rrr2YYYz•õòòdݺdÔ¯ü½ÚüûfVì_€{=w>xúÞ;ðgÎP¬.¦cãŽÌé=‡.]tÊ—šòèf÷š @Fno "&‚$e¶–¶ø4ñáÕî¯ê¼ÁvwÙv ðoêÏÌ^3iQ¿áçÙ¹g¦Ö5óûÍÇ÷!_Fn©u|hû¡LðŸ@Ø©0þ¸ú ·°¶°¦EýŒî4šQG¡P(ˆˆ‰`òÎÉ:׎óǰÿ«p¬>ñÚ ÐľñðF".Ex+GGÚ¹·cb·‰ôhÑCŸ¡¯q!?…°íä6ã=[öä³g>«òø®²ªFãBQ5Ó¦¹ðþûÉFŽDˆª‘|Wò]C‘|W!îo’ïŠºÊØùî¡×´|mÆ&Êöê7¯Ŭ^³˜úèTÍq_!„¨Û$ߦÂÓÓ³Ú×Êd6q_“ÉlÂØäÉlB!„¨›ä¢®’|W!„ú|WÔUÆÊw‡|6„ôìt½'4Uµü½0t[9…9 ùt­¶â㑤NSµ+zo„¿ 3™­TmÞK!„†#ù®0÷2™ÍÂLž<™9sæ¢*! î£>â›o¾1vâ•––FëÖ­†B!„B!„B!* V«)VS\\lìPjTJV K"—0ì‘aìŽÞmìp„B!td2›¦,'§#99ÆC<°Ž;!„B!„B!„BTÂÞÊžý“ö;Œ¼7˜§~ ¿¦~2™M!„&É “Ù>øàÙfT˜$…BÌäùÆ2Š6mŒƒB!„B!„B!t;NïàÒK„ %òR¤±ÃB!„(“¬Ì&„B!„B!„B!„(W\ZË£–süÚqŠTEtjÒ‰Ù½fÓÅ£‹^×gäf°áð"/E’x+;+;|šøðj·WéÞ¼{¹e“”I4°m€§‹'CÛePÛAØXØ”ÙÆžs{˜óÝ­cG^?‚“­oä‡ ?™€µ…5]<ºðŒÏ3<Öê1ÌÍ̉ˆ‰`òÎÉšëÎÃÚÂß5¾(ó•e¶©P(øuʯ4rh@zN:ë­g_ì>’•É8X;à×ÔiÓhëÖV¯±ò~ÏU±J¯².ö.¦ß1IÊ$–ï_Άá°·²×ëš;•7¾®õ\«\—B!DEd2›B!„B!„B!„¢L9…9,øy³z΢­{[ânÄ1oï<ÆnËçÏ~ŽSÿ ¯OÍJeÔ£È+ÊcÙSËðoêOjv*+®ä…¯^`é“KÝi´VÙ|U>KŸ\J·fÝÈ-ÌeûéíÌý~.·òn1Îo\™í n;˜sI爹CèÐPœlœ€’m5÷^ØËûÃÞ§kÓ®dåg±ùͼöÍk|9æKº5ëÆ€6ˆ}+–IßN*sŲ3sÎ`gi§ù~ý¡õ¬ýu-szÍÑLdKÉJ)‰½(ŸWàßÌŸë™[’ß½ IDAT×YðÓFnÉÖç¶âûo¥ã}ñÍ‹•–©Žy?ÌcHÛ!4¨Öõå¯B!„¡™;!„B!„B!„B!„iRæ+ êD.ØYÚÑ¡qV YE¡ªÅ‘‹+½~åÁ•\˼ÆÛýߦ¯W_êY×£eƒ–¬ù×\í]Y±ˆÙ7´Ê†ô¡¯W_ì­ìq±waê£SéÕªW¹mÜʻń(VóɨO´&Z¾r˜Ö.­ lˆ… .ö.¼Õç-Z6hY­ñøá„þÊÓžfRÀ$­~^ϼNpß`ó| ;K;Z»´&th(jµš… «Õž!l?½+7¯ðVß·ªu}Eã+„Bah2™M!„B!„B!„BQ&k k:5î¤uÌÛÕ·znœO>OJVJ…×ÿó3}<ûh·2·âÑ’W”ǯñ¿j•íݪ·N=ŸŽþ´ÌUÙ.§]æé-Oc¦0ãíþocnf®u¾·goþ¼þ'ó÷ÎçTÂ)Íž¯FЭY· c89ë¤fU¶Ó‰§y#ü ü<üXòä­r1˜)ÌèëÕWë¸k=WZ»´&:)š$eR¥íZ­VD­àÝAïbki[åë+_!„BC“mF…B!„B!„B!„er¶qF¡Pèoh×”¬Ò²Óp«çV浪”ùJ¬-¬±·²×9ïbï”l/ZYÙ²ÜÊ¿Åä“iäЈƒ—²ç܆¶ªUæïàÛÄ—Ñ;yaÛ tõèÊs¾Ïñx›ÇõjJ&…½öÍk4vhÌÆ±4·Ôé'€ÏŸr븒~E³-iy¼ßóÖL¸«Œ‹½ G§­°LTlÊ|%c¾Sæù5¿¬aÍ/kØ÷Ú>š×o®9§Ïø !„BšLfB!„B!„B!„B”©t’ÖÝÒrÒhhß°Ük­Ì­p°v@™¯$» [g’Zéö¢®õ\+-[s3s¶<·kFmEðÞ`Z6hIÇÆ5e ÃưG†QT\ÄÑ¿²ùÍLÙ9…à~ÁŒ÷_i;ÙÙLÜ1‘¢â">õ1ζÎ:ýt´q$;?›¿Þü sEõW/»øæÅj_[–±Ç2¶óXã{ÎíaÎws˜ÕkSZæµúŒ¯B!„¡É6£&låÊ•(  ÆG!„B!„B!„B<`r s8Ÿ|^ëØÅÔ‹¤d¥ÐÖ½m¹«²•*]ýlÜ~­ãª_9Œ… =[öÔ*{ î€N=C>ÂÒ}KµŽÙ[Úã^Ï;K;6Ü„¥“¾¤µõ©ï_âÒâ°0³ °e >ý! …‚ý±Ú1•EU¬bÆžĥűaøZ6h©9÷ú®×‰ˆ‰à ï'P©Uœ¸vB§ŽMG7ÑscOTjýV\3úŒ¯B!„¡Éd¶TXXHÇŽ ¬ÖõAAA¨Õj:uêdàÈ„B!„B!„B!„¨œ­¥- #r:ñ4¹…¹œM<Ëœïæ`inIHÿJ¯ê„‡“K"—EvA6ñéñÌú¿Y¤f§2 D³ÝhiÙ¥û–²?v?ÙÙ$)“XðóR³Sç7®Üv<œ<Ø0bé9éLÙ9…Uæ\È!\H¹@ª€´œ4>:újµš€æ•Æ¿tßRÄ`éSKéÖ¬[…ýlæÜŒ¹ßÏåàåƒ(ó•däf°íä6ÖZϼ¾óîiÅ6c«h|…B! I¶­aÅÅÅ; !„÷±ðóáÌÜ3(YÎþ¯7þ2rDå«K± !„BÓP—rȺ«B!DE6ÿ¾™ûWà^Ïà~Á¼wà=Î$œ¡X]LÇÆÙúÜVºxtÑ)àµÂ‹)Nav¯Ù¸Öse÷Ë»Ùpx‹"‘¤LÂÖÒŸ&>lyv‹Ö„²;Ë.ŒXH’2‰v ðoêÏWc¿¢‰c­œ«´­ùýæãû/c¾À©„S´ûO;†¶Jؘ0ÂN…1cÏ n%`maM‹ú-XöÔ2Fu@DL“wNÖÔÙ~e{†¶Ê8¿ql9±€¹ßÏeî÷suÆjhû¡4´kÈΗv²ñðFÞùùo%âhãH;÷v|øô‡ôhÑà ÷æ^…ü¶“Û4߯ùe k~YCÏ–=ùì™Ïª<¾«†¬ªõ>!„âþ¦P«Õê{ª@¡`ûöíŒ=ÚP1‰»øøøpãÆ ®]»fìPê…BläùÆ2Š‘#aÇŽ5R{rr2YYYz•õòòdݺdÔ¯¼¨{^üêEŽÿs¼N¼aV—bBˆÍ´iî¼ÿ~²‘#¢j$ß½ÿÕ¥².Å*„ÉwE]%ù®B!ô!ù®0žžžÕ¾V¶B!„B!„B!„B!„Bat2™­†„‡‡£P(4_yyyZçÓÒÒ˜={6žžžXYYQ¿~}žzê)öïß_n.\`РA899aggGŸ>}8tèPMwE!„B!„B!„B!„B!jœLf«!ƒF­V3tèPsIIIøùùFhh(7nÜà÷ßÇÎÎŽ~ýú±yófk²²²˜2e ÁÁÁ\¿~_~ù…ôôtúöíËÁƒk£KB!„B!„B!„B!„BQc,ŒÀƒhÞ¼yÄÇdzmÛ6 €££#aaa´jÕŠéÓ§3dÈÜÝÝ5×dff²lÙ2ºwï@×®]Ùºu+;vdÆŒœ:uÊ(}BˆòDÄD0yçdÍ÷?Oü™5¿®áÈßGÈÈÍøÿöî<¬Ê:ïãøç°¯‚i˜‰‘¹ ši‚ˆ-na)ÖÔØÌ´h3n£iúX#)šå-æTN6•Y.e>šhZšY’™¡¸£,š€ìÈá<øxfTVo‘÷뺸ºÎ}~÷ïþün½ò{q¾çþI’º·î®]i»¬cº·î®å/—$}säüp¤Þö¦"#%Iq‰qZúýRëø”É)²5Ù^4CÐÜ ™ËÍÕÊëãê£cwÖyMIã“ÔÌ©™Öÿº^%¤”S)Ê+ÉS¯6Š ŽÑÈî#ec²©r¾-OnÑÜ/çêëÃ_ËÖÆV!­B4=jº<*ä8øÛA½¸åEí<¶Sær³:¶ì¨ØˆØZçõröÒ™Â3JØž M©›”™—)wGwõ¸¾‡Æö«¾¬s˜-æj­­¦Yê]êÝšdP=4³`ÕªU’¤V8îèè¨~ýúiÙ²eÚ°aƒFŽi}ÏÉÉI¡¡¡ÆwîÜY×]w’““•žž.ÿ†ÕÔÿ¦þJ}&U£?­Ä‰š¶~šÆß1^sÎÕþÓû³,FoÜÿ†ÖýºN36ÌÐ˃_ÖŽC¬ç¯Ù»Æúß îM‹š¦Ð€P-ûa™Þ}àÝËfH™”rÅ×$I[nÕø5ã«EÑ‹Tn)×g¿|¦¸Ä8eäe虾ÏT9_\bœFÝ6JsÎÑ'~ШGiš ZùÈJk†£ÙG5|Ùp9Û9+!:AÝZwÓñœãš½y¶Že«UÞ¬ü, _6\%e%Нž=u"÷„fl˜¡aïÓ{¾§V!5Z[M³46Ô»Ô»Ô»@ýc›Ñ+¬¤¤D¹¹¹rrr’»»{¥÷/<-##£Âqooo™L¦Jã}}}%IYYY êϨ°Q •³½³‚ýƒ•2)E^Î^xó@ÙÛÚkõÞÕÖ±ÅeÅJ<¨6^m´éÀ&”Xß[õó* í4Ôˆ%Tr±5IRh@¨F‡–‡“‡¼œ½4²ûH ¾e°–&-U~I~•óÅÇ(¤UˆœíÕë†^Šh¡ŸÒRvQ¶u̼­ót¶ø¬¦÷Ÿ®Þm{ËÅÞEA-‚4wà\eå_úß‚‹å·užNäžÐÔÈ©Šh!{µ÷i¯…÷.”ÅbÑóŸ¯0Ou×V—¬ õ.õ.õ.Pw4³]aŽŽŽòððPqq±òòò*½Ÿ™™)Iòóó«p<77·Êù.4±]hj€«U°p•Ç==Ñ.BÛlשüS’¤Ä‰ ¾.Xw{XÅeÅÚ²A’”S”£o}«»‚îºb¹/åbkŠ ŒÔ¿ÿðïJÇ;øvPYy™œ>Påy]ü»Txíßìü73ó2­Ç¾:ô•$©Ï}*ŒõuóUÛæmk•wãþ²1ÙXŸrA ·jïÓ^?gü¬Œ¼óMÖ5Y[]²46Ô»Ô»5É  jl3j€¡C‡jéÒ¥úüóÏõÀX—””hÓ¦MrvvÖ]wUüÅu~~¾’““üŸ_ÌîÙ³G'OžTpp0[Œ¸ê9Û;_ô½¡†jãþúlßgúK¿hõÏ«5´ÓP…µ Sü—ñúô—Ou_çû´vßZõ ì+{—j]3hnÌåæjõqõÑα;«5ö‚‹­)¯$Oo}÷–¾Øÿ…2ò2t¶øl…÷‹ÎUyž»cÅ'v:Ø:H’,²H’JÍ¥*(-£c•÷ÀÛÕ[‡Ï®QÞRs©òJÎ7Wwßõ¢ç9sD~î~Õ^[]³46Ô»ÿA½K½ ÔÍl˜={¶¶nݪ &ÈÍÍMáááJOO×”)S”žž®Å‹[·½ÀÕÕUcƌѼyóÔ©S'íÛ·O>ú¨´páBƒVõ£o»¾òtöÔª=«Ý1Z»OîVÂÐ9Ù9©÷ ½µíÈ6eågiåž•z:üéjÏ›2)¥S_Ü?¡¤ãIš5]ƒo,/g/™L&½“ôŽ^Øô‚õúšr°u«ƒ« J Tx®°Ò‡f9E9µš³™S3”è—I¿ÈÖd{ÉñÕ][Cdh¬¨w«‡zÛŒÀÏÏOIIIzðÁ5nÜ8y{{«gÏž*((Pbb¢üqIÒ¼yód2™”œœ,OOO½üòËš2eŠüüüÔ§OyyyióæÍ 7xEP7ö¶öØa öeíÓK[_RTû(9Ù9I’¢;EË\nÖ¯*+?Kam N{iær³v¥íR ·zäÖGÔÜ¥¹L&“$©¤¬¤Îó‡ßxþÿù¶4º »(»ÖO~¸+è.™-çsÿÞâ‹uÇkwÈl1×xm ‘ 1¢Þ­>ê] i£™­™ÍfÙØØÈήâCð¼½½5þ|:tH¥¥¥ÊÉÉÑúõëi+‹Å"‹Å¢´´4õèÑC›7oV^^ž µeËõêÕëJ/ DtÇhIÒòäåÚi¨õxÿ›úËÕÁUË“—ëÞŽ÷ÊÆtuÿÓekc«Ð€PÊ?¥%ß.QvQ¶ŠËеóèN½ÿãûuž?6"VžÎžš¹q¦¶Þ¦Âs…J=ª‰ŸN¬övT•æ U€g€&>Y[mU^IžrŠrôÁ(a{‚¦DN‘­É¶Ækkˆ¬õnõPïM›Éb±Ônï‡ ˜LZ¾|¹bbbê+S£Ö©S'­]»V7Üpƒ$©[·nÊÎÎÖáÃ|#×ç¿A½\?a”á6LZ±bEƒÌž™™©üüüj l§E‹25`@õÆ×Õî“»5ìÝa•ާ>“zÑs¢G©Ô\ª­Onµ>A’&>YŸìùDë[¯@ŸÀÉ[Õ]SvQ¶^þêem9¸E§òOÉÓÙSá7†«…[ ½±ã IR'¿NzîÎç*Í÷×Ûÿª‰}&*0¾â:ûöÕ’aK$I‡ÏÖÜ-sµãè•™ËtS‹›4¶×X½óý;úæÈ7’¤á]†kD×Õþ3È)ÊÑkß¼¦6*ýlºš95Ó--oÑã¡«× ÿiœ®îÚVÿiu²Î0ûwp%ÛR’ôÊ+™'j†z·î¨w©w ) ÞEcu¥ë]Ð8QïâjÑ®]»ZŸK3[=ëÔ©“ÂÃÃ5gÎmÞ¼YÑÑÑš={¶&Ožlt´&‰f6¯é6³€Æ‰_v ±¢ÞÕA½‹ÆŠz÷ÚµvßZMX3A’ä`ë _þþ‹Á‰.®1e€¦ŠzW‹º4³]Ý{W4Bo½õ–öîÝ+=ýôÓš5k–bccŽà*3¨Ã ¥>“ªÛo¸Ýè(—Õ˜²€ÆËÎèךÐÐPmÙ²ÅèШðd6€áhfŽmFXmÜ¿QO®|Òúú‹Ç¿Ðü¯çkÇÑÊ)Ê‘$uoÝ]»ÒvYÇtoÝ]Ë^.IúæÈ7ùáH½9ìMEFJ’âã´ôû¥Öñ)“Sdk²½h† ¹A2—›«•×ÇÕG;Çî¬óš’Æ'©™S3­ÿu½>JþH)§R”W’§6^m£‘ÝGÊÆdSå|[žÜ¢¹_ÎÕׇ¿–­­BZ…hzÔtxTÈqð·ƒzqË‹Úyl§ÌåfulÙQ±±µÎëåì¥3…g”°=A›R7)3/SîŽîêq}í=V|;Xç0[ÌÕZ[M³Ô'šÙXõ¿©¿RŸIÕèOF+ñ@¢¦­Ÿ¦ñwŒ×Üsµÿô~Å,‹Ñ÷¿¡u¿®ÓŒ 3ôòà—5¤ãëùkö®±þ÷B3Û´¨i Õ²–éÝÞ½l†”I)W|M’´õàV_3^±á±Z½Hå–r}öËgŠKŒSF^†žéûL•óÅ%ÆiÔm£4gàýpâúx”&¬™ •¬´f8š}T× —³³¢Ô­u7Ï9®Ù›gëXö±ZåÍÊÏÒðeÃURV¢øñêÐS'rOhƆöî0½÷à{ iR£µÕ4+@}b›Q5*l”BBålï¬`ÿ`¥LJ‘—³—ÞRƒo¬¥IK•_’_å|1Á1 i"g{gõº¡—"ÚEè§ôŸ”]”m3oë<->«éý§«wÛÞr±wQP‹ Í8WYùYµÊ;oë<È=¡©‘SÑ.B.ö.jïÓ^ ï](‹Å¢ç7>_ažê®­.Yê¢^žÌö¯ýK;v쨩€°X?a”dýö[k£CPkÁþÁU÷töTD»mNݬSù§Ô­…$*øº`ÝÑö½°émHÙ û:ß§œ¢}{ì[Í<ï §¯ÚÅÖi}šÜëàÛAkö®ÑÓ¬O:ûo]ü»TxíßÌ_’”™—im’ûêÐW’¤>7ö©0Ö×ÍWm›·Õá3‡kœwãþ²1ÙTÊÜ­…Úû´×Ï?+#/C~î~5Z[]²ÔE½4³­[·NëÖ­«©€°ùÿc8PdtjÍÙÞù¢ï í4T÷oÔgû>Ó_züE«^­¡†*¬M˜â¿Œ×§¿|ªû:ß§µûÖªo`_¹Ø»TëšAsƒd.7Wk¬«vŽÝY­±\lMy%yzë»·ôÅþ/”‘—¡³Åg+¼_t®êßù»;ºWxí`ë I²È"I*5—ª ´@ŽvŽUÞoWïK6ˆU•·Ô\ª¼’¾Õv¥­Ý·Öšÿ–o1:ŽÕ–ƒ[µ8JAsƒŒŽÐdQï6ê]й¸”«°ðÊ}2½ûänÆ*ñ@¢$©ã¼Ž Œ¼èøV!ºÁë]×ì:õ¼¾§õ¸““îº[’*4¹¡ºkZ½H†<¨ww½«°WÂñz„Vý¼JC:‘$=òá#Š^]å|/õ²$)0>P‹w.–$ ~{°ÿøqIR€g€Vüq…º\×EcVQÏ…=5éóIÙ}¤‚|ƒTj.U`| ¦¬›Rí¼Þ.ÞZùÈJõoß_Ï}ñœz,ì¡;—Ü© û7èûßЀ›Ôxm5Í ¸zØÈÕµÜè@˜,Kí6v¿0ɤåË—+&&¦¾2õÆd2iÑ¢E0`Àå `̘1rssÓŠ+dþÌÌLåççWkl``;-Z”©ª7þJýÉh%HÔÞØ½r´s4:N­Œüp¤¾?þ½~ùû/†æ8–sLq‰q:yö¤ÒrÓTt®H)“R Íh|ÆŽm)Izå•Lƒ“5C½Ûp¨w×ê]4VýûhÈ<›mtp0àzEEhâÄ3FGA×®]»ZŸË“Ù ªóK5â½FÇhæ5_ÝZuÓš?¯‘«½«ÑqšêÝ+‡z4eAA¥Ú»·q~9\EE6:tÈ^AA¥FGêÄÎè ~Ì0[NvNFÇõ.hÊn»­H/¾Ø\çΙdo_§M—À5ê›oœU^nRhh‘ÑQ€:áÉl\#ø`×2ê]ДEE¨¸ØF7ò„ZPµU«ÜÔ­[±||ÌFGê„'³5 üü|…„„(((Hk×®5:\QÿüöŸŠÿ2^’´+m—ã%I¶6¶J™”Riü©‚Sšûå\}}økÙÚØ*¤Uˆ¦GMW€g€$iãþzrå“Öñ_<þ…æ=_;ŽîPNQŽ$)i|’¼œ½t¦ðŒ¶'hSê&eæeÊÝÑ]=®ï¡±½Çªƒoëf‹Yë]¯’?RÊ©å•ä©WÅÇhd÷‘²1Uìù>øÛA½¸åEí<¶Sær³:¶ì¨ØˆØß› ¹A2—W¯ˆôqõÑα;k| 4,êÝ‹£Þ¨~~eŠˆ(Ð[oyêž{òe2\MޱWb¢«æÌ9et Îhf«#777uíÚUÛ¶m«ôžÅbQyy¹ÊËË HÆz,ô1=ú˜:¿ÔY·´¼EË^~Éñq‰quÛ(Í8G»OîÖ“+ŸÔ„5´ò‘•’¤þ7õWê3©ýÉh%HÔ´õÓ4þŽñš;p®öŸÞ¯˜e1’¤¬ü, _6\%e%Нž=u"÷„fl˜¡aïÓ{¾§V!’¤­·jüšñŠ Õ¢èE*·”ë³_>S\bœ2ò2ôLßg¬ùŽfÕðeÃål笄èukÝMÇsŽköæÙ:–}¬F÷¦ª7иPï^õ.@È=£AƒZkÕ*wÝw_žÑqÀUä…|Ô¶í9 ”ot ÎØf´¹»»ëàÁƒZ·nÑQણV!r¶wVX›0EFê§ôŸ”]”]åøQa£*g{gû+eRмœ½4oë<È=¡©‘SÑ.B.ö.jïÓ^ ï](‹Å¢ç7>_ažÐ€P-'y9{id÷‘|Ë`-MZªü’ÿ{ó¶ÎÓÙⳚÞºz·í-{µÒÜs••ŸÕ ÷õ.êª}ûR=ðÀYÍ›ç­ü|>âçmÙâ¢/¿tÑsÏ–­­Åè8@Qé® ]ü»TxÝÒ­¥$)3/³ÊñÁþÁU߸£lL6Š Œ¬p¼…[ µ÷i¯Ÿ3~VF^†$)20Rÿþÿ+ÍÑÁ·ƒÊÊËtàô뱯}%IêscŸ c}Ý|Õ¶yÛK-  Þ@½xê©l•—K'úŠ@Zš&OöÕàÁù -2:P/®H3Û©S§4nÜ8Ýpà rppP‹-tß}÷i÷îÝÖ1½{÷–Éd²þ<üðÃ’¤¨¨¨ Çsrrj4ï¿ýö›&Nœ¨víÚÉÑÑQ­[·VTT”–.]ª¢¢"ÅÅÅY¯Ñ»woëyëׯ·÷ññ±Ÿ7ožL&“ ´}ûvë;»ó;·®^½ºBîâââ‹æqpp———î¹ç}ùå—Ö1¿ŸãÈ‘#1b„<==åíí­AƒéàÁƒÕþsøõ×_-¹¸¸¨gÏžZ»vm…{üØcUºnJJŠbbbäíím=vúôéj¯£¶÷¹•'‹IDATÖd2©uëÖJJJR¿~ýäîî.õíÛWÛ·o¯öº4îŽî^Û˜ÎÿeQÕßp¶w®t¬Ô\ª¼’<•[ÊÕu~WÆVøÙ›¹W’täÌIR^Iž|½@Þ n ºYÇÅ/I*:Wd· ´@ŽvŽr±w©t]oWï­5hnP¥lû¹í•Ûj47®NÔ»Ô»õÁÓÓ¬%KÒµc‡‹æÌ©Y®-65Ê_¾¾ezá…SFÇê]C_ ==]aaa*..ÖÛo¿­>}úèèÑ£úÛßþ¦°°0mÞ¼YaaaÚ¶m›’““Õ«W/jñâÅ’¤Ï?ÿ\áááš0a‚xàÏ+IºýöÛUTT¤%K–(<<\………Z²d‰þüç?+''GÓ¦MÓ´iÓäææV!ÿÝwß-‹Å¢[o½UGޱUll¬ÜÜÜÔµkWmÛ¶­ÂyÑÑѲX,ŠŽŽÖš5k*¼w!Oaa¡þùϪOŸ>ÊÈÈД)SÔ¯_?½ùæ›zì±Ç*Í1aÂMž~BIÇ“4=jºß2X^Î^2™Lz'é½°éë‹¶rupUAi ÏVú€/§(§ªé/*eRJÍ€«õneÔ» «sçÍš•¥‰[ÊÕÕ¢±cÏÈtåÊRpÈɱÕèÑ~ÊζÕ'Ÿ¤ÉÅ…G¶âÚÑàOf›2eŠŽ=ª—_~Y ›››:vì¨?üP‹EcÇŽµŽ Ö;ï¼£ääd9R‹E£FR¿~ý*4²ÕtÞ)S¦èðáÃZ¸p¡ $wwwµlÙRÓ¦MÓÝwßÝз ’ y,X Aƒ©Y³fºé¦›ôþûïËßß_ãÆSffåmF{ì1kCZTT”¨¤¤$ëSÒ.eêÔ©ÊÉÉÑÂ… Õ¿ëýzÿý÷UPPpÉs'Ož¬ˆˆ¹¸¸(44Teeeòññ©õ:j¢  @¯½öšuÝ·Þz«Þ{ï=•––jüøñušÀ•álï¬sæsÖ×ýßì¯wØ`×»+è.™-fíJÛUé½Å;ëŽ×îÙb–¹üü˜n-ôÈ­¨¹Ks™þÿ7>%e%•Î ¿ñ|óì…í—.È.ÊÖá3‡`%h ¨w`„ÁƒówJ¯½æ©‰[ª¤„n6šŠƒíuÿý­”‘a§ýë¤üýËŒŽÔ«of[½zµlll4hР ÇýüüÔ±cGíÚµKiiiÖãÇ׳Ï>«•+WªwïÞúí·ß4sæÌ:Í»jÕ*IÒ=÷ÜSižÿýßÿÕ„ ê¼Îš¸gàÀŽ;::ª_¿~***Ò† *×£G ¯¯¿þzIÒÉ“'/{Íõë×K’îºë® Ç[´h¡›o¾ù’çöìÙ³Êãµ]GM¸ººªk×®ŽuîÜY×]w’““•žž^§ù4¼Ž~uøÌa¥ŸM×'~Ô±ìcêq}ËŸXK±á± ð ÐäÏ'kë¡­Ê+ÉSNQŽ>øñ%lOДÈ)²5ÙÊÖÆV¡¡:•JK¾]¢ì¢l—kçÑzÿÇ÷+Ï+OgOÍÜ8SÛoSá¹B¥žNÕÄO'V¹šê]eĈ³zûít}õ•‹† k¥ï¿w2:h@f³IË–yhøðÖjÞܬO>ISûö¥FÇê]ƒ6³•””(77WåååòððÉdªðóÃ?H’8Pá¼™3g*44Tß|ó†.›ZÏ{a¬“““ÜÝÝr¹Õr¹<-[¶”t~ Ïßóðð¨ðÚÁÁA’T^~éÇE–””(//ONNN•¶ú”$//¯KžïêêZ圵]GMxzzVyÜ××W’”••U§ù¦ÄÑÑ¢ÒÒ+ÿí¼iý¦éfß›uç’;5nÍ8ýÏÿ£vÞí´ûänÆ*ñ@¢$©ã¼Žzù«—%IñZ¼óüvӃ߬Ç?~¼Êññ•®çíâ­•¬TÿöýõÜϩǺsÉÚ°ƒÞ¸ÿ ¸y€uì¢èEz0äA½»ë]…½¦ˆ×#´êçUÒqˆ$é‘QôÒhIR€g€Vüq…º\×EcVQÏ…=5éóIÙ}¤‚|ƒTj.U`| ¦¬›Òp7ó26§nV`| ã•™Ÿ)s¹Ùúú£ä Ëh\JJlääd1:PcÔ»Ô»Tõ.®5·ß^¤•+ÓäímÖƒ¶Òĉ-u䈽ѱ@=*/—¶lqÑàÁ­5{¶·þð‡³zsòö6 hv 9¹£££<==•ŸŸ¯¢¢"ÙÙUïr[¶lQnn®:wþõ¯ Vppp­çõððPnn®òòò.ÛÐfcc£ÒÒÊ«999UŽ¿°EGu9::^2Ï…m9ýüüj4ïå®éî¼<åççWjh«MCXmÖQÓ{+I¿ýö›,K¥û|!ó…¦6—çáaVv¶í¿îÞ7ꃇ>¨t¼ëu]•úLj•çÔôøïy:{jj¿©šÚoê%Çy9{iæ]•Ÿþ)âÅïµmÞV¯ß÷z¥ã}ûV+WC‹ Œ¬ö=àbΜ±Q›6ç.?¸ÊPïVF½ @eÔ»¸µisNK—¦kÓ&WÍšå­þýÔ³g‘¢¢ R¬6mÎÉÃÃ,›߯ Ô‡’“²³mµ¿ƒvîtÖúõ®:vÌ^ýúèõ×3¨gqÍkÐf6Iºï¾ûôöÛokûöí ¯ðÞœ9sôꫯêСCÖ†´Ã‡ëÑGÕÚµkåââ¢=zèÞ{ïURR’Z´hQ«y‡ª¥K—jݺu1bD…±!!!ŠˆˆÐüùó%Iþþþ:qâD…1:v옚5kVi}...´‚‚‚ôôÓOë‰'ž¸è=¹çóÏ?×<`=^RR¢M›6ÉÙÙ¹Òv uuÏ=÷è£>Òúõë5lØ0ëñŒŒ íß¿¿VsÖt5½·’T\\¬¤¤¤ [îÙ³G'OžTpp°üýýk•hŠÏiÿ~£c€«˜Å"¥¦:èþûóŒŽÔõ.¸ê]\ëúõ+PDD¶nuÕ§Ÿº)!ÁK¹¹t°Иµm{NwÞY aÃòÈ–¢h¼™möìÙÚºu«þò—¿(!!A·ß~»Ìf³V¬X¡üãzçw¬lùùùŠŽŽÖ‚ tË-·H’>þøcõïß_Æ Sbb¢ìíík<ï…±O=õ”ÜÜÜÔ§OåææjÖ¬YJOO×SO=eÍ{çw*!!A úÓŸþ¤ÌÌLM:U¾¾¾*..®´¾nݺiÇŽ:~ü¸ÒÒÒtèÐ!ÝqÇÕº'&L›››ÂÃÕžž®)S¦(==]‹/¶nÓY_fÍš¥ÄÄDM˜0A Ó‘#Gô÷¿ÿ]~~~µÚ´¦ë¨é½•Î?UoêÔ©š9s¦ºté¢}ûöéÑG•ƒƒƒ.\Xëû4E!!ÅZ³Æøí–ÀÕkÏGåçÛ($¤êú¸šQï€Ë¡ÞES`k+EF(2²@‹tℽ޳ÓÙ³6²Xj¶Û0†ƒƒEÍš™Õ¾}©<=ËŽ\q ÞÌæëë«ï¾ûN/¼ð‚ÆŒ£ãÇËÓÓS!!!Z³f¢¢¢$Icƌѫ¯¾*Iº÷Þ{µgÏùùù)""B’ôÕW_ÉÁÁA3gÎÔ´iÓª=¯t~«Ë¤¤$ÅÅÅiìØ±JKK“ÂÃÃõõ×_+ À:6..NÅÅÅš5k–&Mš¤îÝ»kþüù:xð víÚ%“ɤɓ'+>>^’´`Á=þøãêСƒš7o®… ªC‡Z½zµ†j×ÙÙY=ôÞ{ï½ yƧ´´4¹¸¸è¶ÛnSbb¢"##%I;wîTXXX…9ž}öYÅÅÅUØv3$$DÔÚµk/úçЮ];íØ±C“'OÖ°aÃTVV¦®]»jöìÙš1c†N:e[Õu%Éb±T˜³ºë¨í½•$777½òÊ+zê©§ôÍ7ߨ¬¬L={öÔæÍ›Õ«W¯‹®@e‘‘…zõU/íÙã¨ÎKŒŽ®Bë×»©U«2Ý|3ßðCãC½ .‡zMÉ$µn}N­[³“å÷J5ÀdÒòåËS_™p…Ý|óÍ***ÒÑ£GŽRA×®]uúôi¥¥¥Õz“ɤE‹iÀ€õ˜ ¨¾1cÆÈÍÍM+V¬hù333•ŸŸ_íñ÷Üs½ºt)Ñœ9Y ’4^EE&…‡·ÑÃçjܸl£ãµB½ .†z®œvíÚÕú\›zÌ«XFF†š7o®sç*~ûæÈ‘#:xð`¥§¨¸6£Õ«ÝµoŸ£ÑQÀUfñb/;gÒC5: PkÔ»àb¨w q ™­ ÉÎÎÖ¨Q£tüøqê»ï¾Óˆ#Ô¬Y3MŸ>Ýèx®€!CòÔ­[±ž{ÎGu{.'¸–œþØ]çΙ4qâ™+;;‹Ññ€+†z€kõ.\{hfH’|}ËôÒKYúÓŸrõ¯y(>¾¹fÌð‘¿™Ú´9'OÏr™Lü€Æ ¤Ä¤3gl•šê ü|µjU¦‡ÎÕC•··Ùèx€!¨w¸vPïÀµËd±Xêô›Z“ÉT_Yàš4lØ0­X±¢AæÎÌÌT~~~ƒÌ]RbÒ÷ß;iï^G¥¥Ù+7×Fåå r)PÏ-òð(W``©BBŠuóÍ¥FG®:Ô»4^Ô»puk×®]­Ï­s3ÛG}T—ÓµcÇÝtÓMòöö6: š°ë¯¿^aaa 2wC6³Ô”¡ÍlãÐÌ®&uif³©ÇÔ ÍlÃÑÌ0ÍlÃÑÌ0ÍlÃÑÌ0ÍlÙ,‹Åè€Ú)..VYY™Ñ1$Innnµ>—f6€áØf`8šÙ†£™ `8šÙ†£™ `8šÙ†£™ `8šÙ†£™ `8šÙ†£™ `8šÙ†£™ `8;I+ŒhÚþEÈ]‰kXìIEND®B`‚fio-3.39/examples/libcufile-cufile.fio000066400000000000000000000014161476262051600177600ustar00rootroot00000000000000# Example libcufile job, using cufile I/O # # Required environment variables: # GPU_DEV_IDS : refer to option 'gpu_dev_ids' # FIO_DIR : 'directory'. This job uses cuda_io=cufile, so path(s) must # point to GPUDirect Storage filesystem(s) # [global] ioengine=libcufile directory=${FIO_DIR} gpu_dev_ids=${GPU_DEV_IDS} cuda_io=cufile # 'direct' must be 1 when using cuda_io=cufile direct=1 # Performance is negatively affected if 'bs' is not a multiple of 4k. # Refer to GDS cuFile documentation. bs=1m size=1m numjobs=16 # cudaMalloc fails if too many processes attach to the GPU, use threads. thread [read] rw=read [write] rw=write [randread] rw=randread [randwrite] rw=randwrite [verify] rw=write verify=md5 [randverify] rw=randwrite verify=md5 fio-3.39/examples/libcufile-cufile.png000066400000000000000000004715431476262051600200030ustar00rootroot00000000000000‰PNG  IHDR kÒr|bKGDÿÿÿ ½§“ IDATxœìÝyœåÿÇñ÷9göcŒ¥èkË^!´‘(E*$ME*¿¬‰HùŠ/¡d •%ÕWLH¶ Iɲ̈́AöÙ˜1ûvÎùýû;‡Á`8sx=y<Îuß×}ÝŸûNç:ç:×ç¾Lv»Ý..Ãìì\’‚CRàbH \ IA€‹!)p1$.†¤ ÀŸ7gnÆ ÓêÕ«%I7ÖСC¯i»³Ùív…‡‡kÙ²eŠUnn®$iøðá4hQoÒ¤IªU«–¤¢{-ת¨ßƒk‰À•nšÈÈH­Y³F’|ÍÛíÝwßÕ˜1c.Úž`Ä+IgΜ1^Õk¹VEý\K|®„¤ €«žž®ñãÇå7ß|SíÛ·—ÙlV©R¥œÙÍSÔïAQ 0œnðàÁêÚµ«$©dÉ’NŽæò¢££eµZrß¾}U¥JIRVV–~ýõWc_­Zµnz|7CQ¿E=>€Â@RpºùóçkõêÕ’¤ÆkèСùÖ³Ùlúæ›o´lÙ2edd¨nݺêÕ«W¾‰DÛ¶mÓÂ… ©´´4•/_^Íš5SÛ¶me6›%I½zõÒ®]»$IÏ=÷œz÷îm?bÄ­\¹R’ôÐCiøðáêØ±£vïÞípžŽ;ÊËË+ßx'MšTओõë×kÑ¢EÚ»w¯222ª&Mš(,,ì’í_Éíx #¾ß~ûMÚ¿¿233¬úõë륗^RHHHâ¸ÑH N©5kÖH’‚ƒƒó­c³ÙÔ®];-\¸ÐضlÙ2M›6M«W¯VõêÕ%Iêܹ³æÎ{QÓ¦MS»víôý÷ßK’¶oß®?þøCÒÅ+ÆDEE1I’6oÞ¬½{÷:ÔÛ´iÓ%¯ëÌ™3—¾èsÒÒÒôòË/kÑ¢EíûöÛo5bÄ-Y²D5jÔ¸b[çÝÎ÷àzâKIIÑ /¼ åË—_Tï»ï¾Ó| iÓ¦),,ìŠqÜhfgPK—.ÕÉ“'5oÞ<}ùå— •$ÅÆÆªC‡²Ûí’¤×_ÝH†1™Lzíµ×4þ|}÷ÝwêÙ³§²³³ómÿüÊ9—3sæL}öÙgÛ¾ûî;ýúë¯úõ×_5oÞ¼«¾®×^{ÍH†)S¦Œ¾øâ EDDèù矗$¹è¼óíÞHéééåµk×^²îéÓ§ Ô&÷ pâ¸ðß[Þò…uœ¤ ࢣ£ÊÇŽsHZ)W®œ‚ƒƒêlß¾]Í›7¿d›îîîÆë =þþûïë ·@*T¨àP^¼x±ò­{~¤êÕ«ë×_½héÒ¥ómóV¼’´nÝ: 4È(ÿüóÏòðð¸æ8Ê—/ïPÞ¿¿êׯo”óþû»°.€3˜@AìÝ»WsçΕtvE›?üÐØçáá¡æÍ›«I“&*Uª”±½oß¾ú矌rll¬¾üòK£œ7!eýúõFRLxx¸vïÞ}ƒ®äš4i¢£üÓO?©Q£FjÒ¤‰ñW¢D ­^½Zžžž’¤€€‡ýçÿªV­j´y«ßIJHHК5kŒ?›ÍvÝq”,YÒ(>\ÙÙÙ’¤¿þúK ,0öµoßþºÎPH .¡V­ZêÒ¥‹jÖ¬© *hÚ´iƾþýû+44TÞÞÞúꫯŒÕovïÞ­*Uª¨víÚª^½ºÊ•+§9sæǵmÛÖx©Š+ªfÍšêÚµ«î½÷Þ~MÞÞÞš1c†ÜÜÜ$I_|ñ…J—.­ ¨fÍš PíÚµõá‡*11±ÀmÞî÷àZøøøhÚ´i²X,’¤%K–èŽ;îÐ}÷ݧûï¿_™™™’¤ºuëª_¿~7,€‚")¸„*UªhéÒ¥JKKÓ‘#G$I^^^>>—½§Wr«Þƒ„„íÞ½Û(?òÈ#2›Í×_^III:pà€233U¢D U©RÅh ( )p1<Î p1$.†¤ ÀŸ’‚CRàbH \ IA€‹!)p1$.†¤ ÀŸ’‚CRàbH \ IA€‹!)p1$.†¤ ÀŸ7g¸Xll¬RSSàªX±â5ËJA€‹!)p1$.†¤ ÀŸ’‚CRàbH \ IA€‹qsv€›Ïn—Žs×Ñ£nJN¶ÈnwvDP´™LvØtǹ*W.G&“³#Âí$)ɬýû=”œlQv6ÿøàJ|}m ¶ªR¥lyxðeܺH €Û„Õ*ýö›¯""üôûï>:s†ÅâàZÚôðÃéjÝ:U§ÉbqvD¸íßï¡ï¿÷ׯ¿úêÐ!wg‡.Éb±«nÝL=þxšž{.E6g‡P¨Lv;ëC@Q«ÔÔÔBkoÕ*_YBGޏ«Aƒ =öXºî½7SåËç(0Ð*3ùApY6›tæŒE‡»kûv/­Zå£M›¼uç98ð”{,ÍÙ!âqø°»FŽ,¡U«|U¾|Žžx"M f¨jÕl+feÅ (€´4³bb,Ú³ÇSk×úhåJ_Ùl&ué’¤.]åíÍ{)(:*V¬xÍÇ’EPa%>ì®!C‚õÇ>zúéTõî}ZåËçB„€Ã‡Ýõé§Åá§L×С ¼Çâšee™4iRq}õU *TÈÑ€§ôÈ#é2™œ¸¾´4³ÂÃôÙgÅ`Ó A züqz@Ñ@RÜb #)hýzoõêª2er4dH‚êÕË,¤èyýù§—† Ö‰îš4)F<áìàbN²¨k×P8à¡>}N+,,Y _Ó °%$X4fL ýðƒ¿Þ|3Qï¼sšäKàtדd.Ä8EÄܹzíµÒzä‘tÍŸœ„ ¸êÕËÔüùÇõÈ#ézíµÒš;7ÀÙ!Á…ìßï¡¶mËéôi‹¾ÿþ˜^yå Apƒ[õñÇq5*N3f©W¯Pef’\IAp‹‰ˆðÓ A%Õ½{’Æ‹•§'‹àFóô´kܸXuAƒJ*"ÂÏÙ!Áœ<é¦NÊ(44W?üp\+æ8;$¸-´i“¢™3OhãFoõëWJ6›³#¸6$À-d×.O ¢×^KÒ[o–‰‡^ÀMc2Io½uZ;'é½÷B´}»—³CB–‘aR¡ò÷·jÚ´“ ²:;$¸­Ô¯Ÿ©)SNjõj_ÜÙá\’‚à‘”dQ—.¥Õ¨Qº 8åìpà¶õÞ{§ôàƒéêÖ-TIIg‡ƒ"jàÀ?î¦3N* €%*ÀêÕËÔðáñš2¥˜V¬ðuv8W¤ ¸EŒ_Lf³4n\œÌ¼»€Óä}/?¾˜³ÃA´i“·""ü4jTœÊ•Ëuv8p[kÓ&EmÛ¦hĈ`ed°Ô*p-L€[Àþýš3'@ýûŸ’Ÿ« €³ùùÙÔ¯ß)Í™¨¨(g‡ƒ"Äj•>ü0XM›¦©I“tg‡Ô¿ÿ)¥¤˜5}:ɼÀµ·€1cŠ«fÍl=ûlгC‹øÏþ£J•*©R¥J sv8éÝ»·_Ïž=öÅÅÅéwÞQ£FT¥J£^TT”“¢½>…*\PXX²&O.¦E‹üÕ©Óg‡P $€‹ûå_y{ÛÔ¬Yš³Cn¸'N8$}öÙgzüñÇe*Âq6¥¶l©´fÍd9uJÁÇ_ñïuë2p d·Kf³’ÞxCÉíÛËZª”Ü’ϪU²»»ß„èq½š7O“——M«Vù꥗˜`|»‹·hûv/M™ãìPIÒÒ¥K×;wÖ€äæV„‡ L&eW«¦´f͔֬™B»w—Ûñã—?ÆfS©=Œ„ ìŠujÐ eÖ©#sF†ùD+V¬Pnn®ªT©¢·ß~[5r8nÏž=;v¬¶nÝ*³Ù¬x@ó$©äõ /hëÖ­’¤7ÞxCï½÷Þ%chÕª•&L˜ IJMMÕ·ß~«•+WêàÁƒÊÌÌTÉ’%Õ AuéÒEU«V½ê{ôÁ8Ô™ÿüsIR­Zµ´páB‡ýááᛢÐP«üü˜] W’•eRb¢Eûöyhñb?}öY1U®œ­®]“Ôºu ‹9¢Ð¤¤˜5eJ1Í™ ÔT³j×ÎTýúj×.YAA6™™«—e³IIIf>ì®íÛ½ôý÷òó³©C‡duíš(¾ÿ pØíÒ’%þš2%Hû÷{¨\¹5j”©GMW±bVyz2¶W’šjVLŒE{öxê“OŠkذ`=úhšÞ~û´î¾›qoÆÇàú0>ŽÂFR¸¸ØX‹J—æ©EQRR’Ú·o¯cÇŽ]±nFF†:¤C‡iñâÅš7ožî¾Ä¤Ø””½ð ڿ¿±mëÖ­zõÕWµhÑ"U«VÍØÖ©S'efþ/ƒ|ÅŠÚ¶m›êÔ©sQ»aaaFRÐâŋտY,IRrr²~ùå£îK/½$I:|ø°:vì¨ãÇ;´uòäI-Z´HK—.Õ¸qãôä“O^÷=º’Î;«oß¾’¤9sæ¨GFüIIIZ·nQ÷…^¸d;6__ÅLž¬rmÛÊ”‘¡€ðp¥?òˆÒš5S‰>2‚²+WVüˆ×÷…¼¶mû_, œ3G¾K—ÊýøqÙ=<”Y§Ž’ºtQÆú¹qc”.mU\œÅÙa ˆw£Ï¾MtèÐAS§N•ÕjÕ®]»´oß>U©RÅØÿCž•ã^xáY,effêÍ7ßÔüáÐVRR’Ö®]«µkתsçÎú÷¿ÿ}Éó¾õÖ[ýõµêÔ©“Ö¯_/«ÕªÍ›7+::Z•*U2ö/Y²Äxݾ}û˶•Ü¡ƒ¼¶n•ÿÂ…2§§«TŸ>:>ožÜNž4’…$)~ذBO’ûUSV–Jwé"ÏÝ»eNJRnÙ²J{â %vë&›Ÿ_¡Ÿ®çüÓããÝH Âe%%™5~|qÍ™¨š5³4aB¬š5Kc_¸N»w{êÛoõî»!š=;@ƒ'¨fÍ,g‡f³I?ü 1cŠËn—ºtIR»vÉ ¶:;4pi ÍŸ ¯¾ Ôüùþê×ï´Ú¶M&É×e÷nO ¬;¼ôì³)=:ŽÏ‚prrLúå_}ùežyæuèpF}úœVP ¸vŒÀÁø8®Ã2àâ23Íòñá‹UQ´qãFU­ZU+W®Ô¾}û­€€õïß_ÑÑÑÆ_TT”V¬X¡GyD’”žž®±cÇ^²Ý?þøC÷Üs6mÚ¤ˆˆ…œ{â½ÕjÕ·ß~+I²Ûízÿý÷„ J•*iéÒ¥Úºu«^~ùå|' ?ùä“*V¬˜$)>>^kÖ¬1ö-]ºTYYYF[õë×—ÍfSÏž=„ úõëkÅŠÚ¹s§±"ANNŽúõë§“'O^Õ=ºÔuÏ™3ÇaÛ–-[­?ÿüS-[¶Thh¨$)..N+W®4ê-[¶L¹¹g'yV«VMµjÕºäý•¤ì*Uÿá‡F¹äûï+à»ïxîþÚ|}óÙg²y{_¶káo¼6Ÿ9£b'ÊãÀ™23eNN–Ïï¿«L§N ˜=»ÐÏÃÇǦôt>vCÊÈ0ÉÛ›AöÛA™2eÔ¸qc£œ7 èàÁƒÚ±c‡$Éb±‰ª£G6‚BBB4{ölíÚµK3gΔ¿ÿÙÕÆ¾þúkýôÓOùž3))I‡Òœ9s©èèh5oÞ<ߺcÇŽUtt´‘<+I“'O6>›4iÒDO<ñ„±ovž>çÀŠŠŠ’$¹»»«M›6W¼ñÆ)û\R”çŽ*>fŒBz÷–95UÒÙÄ¡”´sµLYY2§üoEMÿ äó믲ÄÇË”“#÷þQÐÔ©*Û¶­ÌII…~~¸Ÿ³ïÑiiôÛ¸´íÛ½Ô¢ÅZ¹ÒO}§ùóéÉ'SùÁ AÍšY5*N‹“ÅbW›6å4eJ³Ã‚‹JN6ëµ×ÊhР`µj•ª•+¨k×D‚ [Õµk¢V®<¢V­R5hP°^{­Œ’“ù>k3eJÚ´)'‹Å®E‹ŽiÔ(‚ 0¸»Ûõä“©š?ÿ˜>ú(N+Wú©E‹;µ}»—³Cƒ‹b|nÆÇq½•g·‹¥‹¨bÅŠi„ ºë®»d¾ÌãÑÜÝÝU±bEuêÔÉØ¶qãFÙíùi.Q¢„†ª%J¨Zµj“ŽÿùçIÒ®]»tðàAcû€TµjUªG«œçáá¡çŸÞ(/X°Àxw2óùU‚vìØaL –¤Q£F©bÅŠòññQÇŽU³fMIRVV–Ãñyô„ÅbÑ+¯¼b”óN`Žˆˆ0^wèС@í¥<û¬’ÏÕµ$&ªäûâ?þX9ÿú×uÅ{I99ÅìÊ•udåJýóçŸJmÝúìF»]Á#GÊ’'E—Étö½ Ï¾½œï/¥³+ðY­g'žåí_›7o®åääèûï¿7¶÷éÓG 4···xà‡Õxf_&)ô“O>Q½zõäááqÝñ¿þúëÆë… *##C’cŸÚ¬Y3/^üŠmÙ½½Ï&ÓúúJ’‚¦O—×¹D.uk IDATĨ¬š5•p.™¸°™.èS%éÔ¿ÿ­C;vèĬY²ùøH’<PñÉ“oH p-çߣé·q)~zùå2ª];S?ÿ|DmڤзÀ P­Z–ÂÃOèßÿNÐøñ%4`@ˆrrxÃEÁ9â®çŸ/§èhw-Xp\| À@Ò…-0Ц>HЂÇ}ö½÷Èwg‡’“cÒ€!?¾„þýï…‡ŸPµj$@a3™¤6mRôóÏGT»v¦^~¹Œ""üœ\ ããps0>ŽkER7HõêÕåÏJ2ñññ5j”Z·n­{ï½WU«VU¥J•&ßfdd(õÜÓó/T­Z5‡É¾~~ÿ¬IOO—$:tÈá˜5j\[~^|ñE™Î}k_µj•±êÀ_ý%IòööÖ³Ï>+IÚ·oŸÃ±M›6U¥J•Œ¿Ý»wûþþûï|Ïw©{t­:tè`´·aÃùd¡Å|!Û+%%½öšrîºKÖ  ê×ÏØnÊʒϹ%EÏÃ?¬råÊI’´fÍÙl6-Z´È¨&I:~ü¸Ñ‡KÒûï¿ïЧΘ1ÃØw©>ÕÝÝýŠ+á]:uêèÞ{ï•$¥¦¦jñâÅ’“‚ίrT9wÝ¥ø‘#¶Ù|}3y²ì…Ä”›”g5¤Ü2e”Ô¹³l¾¾ÊhØPiO=eìóYµê†ÄàÖ1wn€úö-¥—^:£/¾ˆ‘Ÿ‹àF2™¤NÎhÚ´“Z±ÂWݺ…ÊÊ/(€#GÜÕ®]YùøØ´`ÁqÕ¨ÁÄb¸ÑjÔÈÒ‚ÇåãcS»veI BX­R·n¡Z±ÂWÓ¦T§Ng˜X 7˜ŸŸM_|£—^:£¾}KiîÜ€+ˆñq¸Ùǵ )€Äßßÿ¢mÉÉÉzî¹ç4}útEFF*%%ÅX9àB¹¹¹ùnÏ›$éºWØÉëŽ;îÐC=$IÊÉÉQDD„Ã*?O?ýt¾×u%y':çu-m]N`` Ú¶mk”ÃÃÃõã?«.=õÔSWuNó™3rKHpØæ¥ù);»re‡²µtiãun©RŽñ¥¤Ü°8×Çl6;¬N·`Á­_¿^111’¤ *¨Q£FWÝî¥úT__ßBýL 9®4{ölíܹS‡–$•+WN>øàUµçqà€CÙœ‘! ™ •Ù¬ìŠâ…ýhÞ2}*€ËY¿Þ[C†«W¯D x*o¾!àkÜ8]3gžÐ¦MÞ1"ØÙá ˆKN6«K—Ò*[6Wáá'’ÿø* ð…„œ}ï-[6W]º”Vr2SQpy#FkÓ&oÍœyBç?æ (|‹4pà)õꕨ!C‚µ~}á=Ä·&ÆÇÀyÇÕ`$€›hõêÕÆd`³Ù¬iÓ¦i÷îÝŠŽŽÖäÉ“ í·:Mdd¤‘ÄT§NÕ¨QèwÏ=÷¨ZµjF¹wïÞÚ±c‡233•˜˜¨={öhæÌ™zñŵsçÎB»¶+©P¡‚}ôQIgWfÚ¿¿$©bÅŠª[·nÛ)>z´¼·l‘$eW¬¨ß}g$ëMŸ.ßU« 9ò³lJ~ñE£ôÕWrÿ癓’’‘rCC•q +LnžâÅ‹«E‹’ήÀ·víZI’§§§Ú´icÔswwW»víŒòG}¤U«V)%%EiiiŠŽŽVDD„zôè¡ÿþ÷¿7-~‹Å¢N:å­[·ÛóÆ{%n'N(¤OŸ ?r¤R[µ:ÛVb¢Jõê%Ó%VH¼^g^yE¶s Wn'N(èë¯eNO—÷¦Mò]¶Ì¨—’ç¿äõŸÿ«L™}üqœ®"PÈZ´HU·n‰úøãŠ‹s»ò¸íüðC€6nôÒÔ©1¬N’«©Sc´q£—~øÉJ¸X\œ›>þ¸„ºuKT‹©În[&“ôñÇq*S&Gÿù+ Œ@ÑÀø8 ‚¤ n¢‡zH!!!’$«Õª^xAÕ«WWÛ¶muß}÷ÚyÌf³FŽ)ÏsI,û÷ïWË–-uß}÷iÖ¬YjÖ¬Ù%µX,ù®¨vÑ9&Mš¤2eÊH’¶oß®¶mÛªfÍšª_¿¾žyæ 6L[¶l‘í&?îµ×^»h[‡ |¼ïÊ• úòKI’ÝÓS±'*ó¾ûtjàÀ³ìv…ôï/÷cÇ®ØVñqãT±R%U¬TI!8ìûWÕªÆ>÷Œí§ÞyG÷ß/IòØ¿_w6k¦»êÕ“ßâÅ’$›¿¿b'NtXQP4]ØJRË–-ä°­ÿþzà$I zóÍ7uï½÷ªN:jÑ¢…úôé£+V(##ã¦Ä}ÞóÏ?/___‡mMš41>Ï\‰)'G¡½zÉ’”$IJmÝZ)mÛ*~Äå”//Iòúë/•øè£+·eµýfÅJ•ävü¸±¯ØçŸÛKõîmlÏ-]ZqcÇÊ~nŦ#Fè®ÚµU楗dNO?S«V:“'!Îûå_­[ç£ÁƒOÉÓÓîìpà¶×£G¢BB¬5ª¸³CA“šjÖ¸qÅÕ±c²jÔ`µp¶5²ôÊ+É3¦¸’“™’G£F•P‰VuïžèìPà¶çéi×С Z·ÎG«Vù^ùÜV€¢…ñq\ ébÜDAAA ר±cµeË¥¦¦ªråÊêÙ³§¼¼¼4oÞ¼B;Wýúõ5gÎ;VÛ¶m“ÙlÖ< êËs /—Ò¾}{Mš4IV«U’¨–-[^T¯B… Z¶l™fÍš¥_~ùEPzzºJ”(¡Ò¥K«^½zzüñÇU§NB»®‚hРªW¯®ÈÈHI’‡‡‡ž{î¹ë~ø°BÞ}×(' ¨ìªU%Ig^zI^7Êoùr™““UªGÿþ{Ù=< 5~»··NΜ©€Ù³å¿h‘Ü)'G¹¥K+½qc%ué¢ÜsÉX€¢­~ýúª\¹²±r”¢···¾ùæEDDhÑ¢EŠŒŒTRR’üýýªêÕ«ëñÇ×C=t3ןŸŸÚ·o¯¯¿þÚØ–_òð¥”>\ž;vH’rî¼Sñ~(I²ùú*vâD•}þy™²³øßÿ*³n]¥>õTá^€¤´æÍulñb›:U^6Èrú´ì>>ʪ^]ÉíÛ+µuëB?'×gµJ}TBO?ªúõonB&\ßæÍ›V¿©ç_µj•f̘!Iò÷÷×Ô©Soêùo$K\œ|W­’Ïo¿Éœ’bl?ñí·’ÅrÉãL¹¹òýé'y¯_/·ØXÙ¼½•S¡‚ÒZ¶TVžUQ´yxØõî»§Ô£G¨:u:£ÚµIþÀY_|QLV«Ô³çig‡÷Í7ßè矖$U¯^]ƒ rrDWÇÙñÓO#¯^½NkÉ?MZLýûŸrv8("vîôÔ’%~úì³&£ÐMš4I6ltö·âÞyåê<öï—ïÊ•òÞ¼YÊΖ$eW­ª„!C.{œ%)I~?þ(¯mÛd>}ZÖà`eW®¬ÔçžSnü…[ß}÷eêé§S5rd 5i’v¹m¸0>W‘’’¢7ß|Ó(ßì±x‰~7ã㸓Ýnç›61±±±JM-Øré•*UÔĉ±zê)–WòšÇÙáÀÅüôÓOêÙ³§QŽŽŽ¾©ç×àÁƒ%}8ÉŸþ)IJJJR÷îÝzÆ S¥J•njl×£øøñ*öùçR>?iÜ»WöK|>ñˆŠRhr?r$ßý§úõSR×®…+n¬gž)§*U²5ztœ³CA™iÒƒVP—.IêÚ•p}þóŸÿhÖ¬Y’¤ûï¿ß)“‰®‡3ã§ŸF~¦L)¦/¿ ÒºuÿÈË‹i)úõ ÑþýZ¼ø˜³CÁ-¨wïÞZºt©$©E‹š~k«X±â5ËJAà–b·ÛuôèQ-\¸ÐØÖ¹sg'F€ëJJJrø‘´S§N$¸-DDø©aà ~ðÄ-%''G›7o6Ê} MQa‰‹“µdI¥5m*™Í (ÀDg÷#GT6,ÌX­ óÞ{•Ò®rCBäñÏ?òYµJ–¤¤: YûöÉúøã1Â$&ßîÖ¬ñQjªYíÚ%;;à¶F?ü´k—¬ñã‹kíZ=þ8ŒowYY&­Xá«÷Þcå(Ü\§N2¾ {xx89š«g‰‹SvåÊJkÖL^ý%ïs«!]Žßòå*Õ¯Ÿ‘¬›úÌ3JkÜXv//yìÝ+ÿˆ‡Uý€òåsÔ A†""üH ‚$ÆÇ‚¢Ÿ†30>ŽK!)Ü2~üñG½ýöÛÛžyæÕ©SÇIàšâããÕ¨Q#‡mwÝu—^yå'E7Ý.ýþ»zö<íìP€kÒ¬Y3ãIbnn·ÎO§ûöUüÈ‘’É$ÿ~(ÐdãàÁƒPÓ}T'§N•Ìæ³eII;ó« zì±t RR[¶xéÁ3œœì÷ß}T»v¦‚ƒ­Î¸­ÑO#?ÁÁVÕ®IR$I[¶x)#ìÇKwv(¸EõêÕKaaa’¤âÅ‹;9šÂsü»ïd ‘$…¼ûîë›32TòƒŒ‰Æ§ú÷WÒ›oûÓ\‰=zÈœÁw)8zì±tMž\Lv»d29;8ãã@ÁÑOÃÇ¥Ü:¿œc6›UªT)µjÕJ}ûöuv8¸´bÅŠ©Q£Fzÿý÷åíííìpà†;zÔ]gΘuß}YÎXµj•f̘!Iò÷÷×Ô©Sõûï¿kÑ¢EŠ‹‹SïÞ½åîî®Q£F9çáá¡%Jèž{îÑÓO?­   +¶»}ûvÍ;W ºãŽ;Ô¾}{U«VÍá8›Í¦%K–hõêÕJKKSõêÕÕ©S§|cß¿¿† bÄ3cÆ cõ½1cÆhÛ¶m’¤ªfÍš’¤ŸþÙX±¯R¥J6lXîÁ™3g.ª3|øpíØ±Ã!¦ÁƒËÏÏO’ôÐC©{÷îÆ¾£G*""B‘‘‘JII‘¿¿¿jÕª¥¶mÛ*88ø²ÿÎ3§¥)¤o_c2oJÛ¶JiÛÖØüá‡òˆŠ’$eÕ¨¡Sÿþ÷eÛ³–,Y óžç~ø°|Ö­3ʧú÷7&çeó÷¿ªvá|¡¡¹ ÍÕž=žüè íÚå© øwPÔMš4IÎ=-·AƒêÙ³§æÍ›§uëÖ)))IÓ§O×’%K´dÉã“É$ooo…††ªaÆzâ‰'äîî~Ùv{÷î­ˆˆ­X±B¹¹¹ªR¥Š^}õÕ‹&§¥¥iÖ¬YÚºu«Ìf³xàcñµÆïãã#IÚ¶m›V®\©ƒ*++KÁÁÁjРZ·n-OOO‡vçÌ™sÕ×|-ñç‡~7Ë=÷djëVÆ“ íÞí©Ò¥Ï~ŽÃícñâÅš;w®$©fÍš8p $Én·ë7ÞPFF†ÜÜÜ4cÆ £ÏûôÓOµiÓ&IÒÓO?­_|±@}ñòåË/ú\¦S§þ·:UNNŽCŸÙ¥K=úè£FùjúñKñˆŠRððá:ŸYqjÐ eO0§¥©TŸ>2[¹7åùç•òÜs—mïüDã‚òûñG™Ï­´g-YRgÞxãâJf³l¾¾WÕ.n}÷Þ›©3gÌ:~Ü]åʱ:ÌíŒñqHÒ‰'Ô¯_?£üÉ'Ÿ(33S³gÏÖ¡C‡ôØc“LNNVDD„¶oß®„„yxx¨råÊjÕªÕEcê999¡»»»Ëßß_U«VU«V­t×]wåÓ–-[´`ÁÅÄĨ\¹r ShhèU]ý4nŒãRH ·ŒV­Z©U«VΗW²dIEGG;; pŠ£GÏ™–/ÏßEMll¬6oÞ,I Ò_|¡±cÇû;vì(OOO£Î…/^¬O?ýT3fÌpXQöÂvgÏž­¡C‡Êf³uÂÃÃõÕW_éÁ”$Y­VuëÖM«W¯6ê¬Y³F?üðƒ^}õÕ‹Î]¾|yíÚµKçžð©ZµjÉn·kîܹJLL4Ú8Ÿ´lÙ2#®ZµjøÄÇÇ;Ô9¾íÛ·;Äi¼.]º´ñzòäÉš4i’¬VÇU7~úé'MžÙÙaà ¢££¾)00Pÿ÷ÿ§5kÖûsssuôèÑKöásæÌQµjÕôí·ß:$÷æm·X±bzçw´xñbcÿ/¿ü¢9sæhùòå*Q¢„¤³}iXX˜>ìPoùòå—œxTø322Ô·o_­\¹ò¢ã-Z¤Ï?ÿ\Ó¦MSåÊ•í×rÍ×~è§q³T¨£… IîÂÙ>»B¾gßnÊ”)côu‘‘‘0`€,‹öíÛçÐ—îØ±CõêÕ“$Í;Wqqq’¤7ÎM”-H_œ·Îù„à ûY»Ýî°íÙgŸ•¤kêÇ/%»Z5eW©¢Ào¿•$…¼ý¶Ž-^,»——J,ŸsãYµk+õü®í½q£ñ:«F ùEDÈ{ÃYbce+VLé< Ôgž‘ÝãÐÏ ×vþ=úèQ7’‚nsŒC:Û7æí3ùå3F™™™’Î>ÄJ’V¯^­þýûëÌ™3ǯ^½ZS§NÕÿýßÿéÝ<+èØl¶K~>?þ¡Üßßv…šp¦””M™2E}úôQíÚµåáá¡*UªÈd2iöìÙF=«ÕªøøxÍ›7O›6mRRR’ú÷ï¯+VÈd2åÛîĉ5tèPùûûkôèÑ:~ü¸¬V«Æg$MŸ>ÝH2™Lzýõ×uÿý÷kýúõš0aÂEízxx¨~ýúZ»v­$iãÆªU«–öîÝk$ßÞ£Gãõy?üpïÁòåË/ªûÁèÈ‘#FÛ’4tèPãÇÛó«ÿÌž=ÛˆßÝÝ]ݺuSíÚµµ}ûv}ñÅÊÈÈÐÛo¿­~øA5jÔÈ÷¿M^i-ZèLçÎ üúk™23UªOÅ}òÉÙ§1ž½yŠ3F9åÊ]±­«åvì˜ñÚœœ¬2/¿ì°ßwåJ}ù¥b¦MSæ}÷úùqcùûÛ”œ|ñЏý¤¤˜@ŸíJ~ýõW…††jøðá*_¾¼Ìf³|}}Õ¡C=òÈ#F½œœ9rDÓ§O×Ñ£G¥Ñ£GkĈù¶»zõjU©RE'NTll¬ÆŒ£¬¬,>}Z3fÌ0&! 0ÀH¨ñóóSß¾}ª¹sçjá…ן>}Œ‰Ä!!!êÙ³§BCCµpáB-_¾\GÕ믿®+V«ð^Ë5_oüyÑOãf°)%…>RJŠ™ïÙ·¡ûî»O¾¾¾JKKSjjªöìÙ£Úµk;|ß•Î~ÿ­W¯ž8`$¹¹¹©aƵy©¾8?³gÏÖ† 4yòd£ÍÿžK|•d$Ô0àªûñË95p >ž¤¤$~ùå}ôÑÅ\ý¿žŒÓ¢®©Õ×®±ÄíM£‘ëìÛ‘Z­¦OŸ>lݺÐ] —O *»Þ·o“'OfÏž=Êk»u놵µµÁcú.aHïÞ½IKKS¶MLL*Ü3¨é8~#Z33RæÏÇkäHÔ™™Øÿø#vk×–u‚Ô¹s)1¢ÿ5qý[Ô®“'£ÎÊÂù“OPgfb…ÛÔ©$/YR'}·¦²Ïh·…܆Œ=šY³f镽üòËJBPŸ>}ôwÌÍÍ•{æ_|ñ=ö*•ÊàX p×]wÁ©S§Ðh4üóÏ?tèÑÇÕššê~d½çÔÊDãü¾}ɘ2¥znXéu“Ç.OœÈ•1c(iÞ¯‘#P§¦b½k¹µø^ !„¨\@@€ÁI¼Z­–ÿý—Ý»wO^^%%%\¹rE©sùòeòóó >¡? @oÜ.ÿwÙª|'NœÐ{Mù1ÜÌÌŒ=zèM 6¶ÿGŽÑÛž;w®ÞŠ„åc8|ø°2™¸º1×Fÿ¯'ã´Bˆº¬—ôÌ3ÏpàÀ&L˜À»ï¾Ë‘#G(,,dïÞ½z¯3¤²ï5UÓq¼*%M›’:w.žãÇCi鵤Ûɓɫ$¶Úpý›úᇺ‰È.W“m¶oG™‰ÆÑ±Îú"„¢ñ2dH…²òcè… ;v¬²““£ü––Æ… ðöö %%…ßÿ¨¨(ÒÓÓ)**B«Õ’˜˜¨¼&¡ÜŠ:寅{÷î­$AÅ{óÆ’qZÑIRB!„B!„Bˆ[н½=fffÊçϟϼyóª|}áÕù®ggg§÷£¢úºå'´Z-ze666zÛ¶¶¶ݺuk<<Ê]wÝEïÞ½o¸êMuYXX¨lÿôÓO¤¥¥’’ÂÏ?ÿ\ékË'ølÚ´ ÐM„233£OŸ>:tˆ+W®àææF»víj¥ßׯªPÖç2666„„„(ÛÛ¶m£uëÖôîÝ[ù¯U«Vœ:uªZOG¶ýí7¾ÿ€R{{Òß|SÙç6mf±±5 §JÅ^^ä  lÛýò \ý÷a¿zµR®µ²"¿_¿:éƒBãd”[¡ÆÔԔɓ'3`ÀºtéBDDD­µÓµkW½É¼_|ñ…’ä»oß¾® p#½{÷Ö[©hÇŽtíÚUo uttdïÞ½˜››5‹¹.ú/ã´Bˆ›ÁеpÙ5pÙÿþóÏ?J~ýúUûa•)-\TTTaåÛšŒãÆp5KIº-ìÔ‰+? è&ü6™<U+$ÔTîðáhÊÅcW6®j4Ø]}H @açÎhÜÜê¤B!nÇWþÞ¿?vvvzãg@@iiiDFF* ·—/_V^sçwrï½÷Ò·o_LLL”ÄŸë (wí¸{÷n> èÆõE‹Õ¨ï2N !#Y)H!„B!„B!Ä-ÏËË‹-Z(O œ8q"þþþ¤§§ãêêZ«m½öÚkìÛ·¢¢"¸óÎ;ñññ!66’““ ¾.((•J…V«E{õÉøe Z·n‹‹‹òtEÐM„ª-¶¶¶x{{+OO|õÕWñ÷÷G­V3iÒ$‚‚‚xûí·9~ü8©©©DDD„¯¯/&&&\¼xQ™ÀüÚk¯1xðà*Û4‰Ámúte;íƒÈ:³¸8ìW®Ä$/&/¼@âºu”^—´t=ûÕ«±½úEÓK—ôöy>ö˜nµ õÓO)iÚT×Þ;ïÐìÄ LSS±Þ¶ ï(µ·ÇüÔ)åµ—¦MCSn•!„7_¯^½077§¨¨ˆ’’î¸ãZ¶lÉùóçiÙ²e­µciiÉ+¯¼ÂÌ™3غu+ÁÁÁ¸ººrîÜ9:vìHdddŽûá‡2qâD4 ?üð¿ÿþ;-[¶$//¤¤$r¯>ñ·l2SMb®íþË8-„âf båÊ•®…Ëþ÷úúµ¥}ûö˜˜˜PZZ À°aÃðööF¥R±`Áœ«=ŽWÅnÝ:ìW­ ÔÖ–”yó(qwÇòØ1Ì£¢0?u ··ß&õã«<–ë¬YÊØh~ö¬Rn~êMÇŽÕµáèHò_èþ¶²"õ£hòüó¨JJpùäìÖ¯Ç$'Ó¤$]kkÒfÍ2*!„¢2?þ8[·nåÀdff2räH|}}±µµ%%%…´´44 ÁÁÁ<óÌ3€nŒ_}5櫯¾bçΔ––’––†§§g…•€{ì1V­ZÅ… Ðh4<òÈ#´iÓ†ÔÔT¼½½«Ýo§…•¬$„¢ÚRS  ‹fÿþKUWnàS,†ŠÏPY\\.aaÑ=zÙÐanºää|V¯>ÏüùÑ„…ES\\ÊîÝ©„…E“–víi ýü !DmøòËÓ¬][³e³šÆ‹!†â»¾L£ÑÍï¿~RÒÍ–Ÿ_Âï¿'°hÑi¢9w.§Òïýü !„¨*•ŠÅ‹èž¯¯/_~ùe­¶Õ¾}{–-[FóæÍÈËË#&&† &0nܸJ_çääDûöíõÊÊO€êÝ»·Þ¾àààZì5Ìž=[yr^^‡âÀJ"’——ëׯgôèÑXYYQTTDTT'Nœ ##///ž~úiîºë®*Û*›Hl’ŸÀ•G!gèP.͘AQÛ¶ÀÕ Éo½UåñLãã±:p«0+÷+€ÕÁƒÊ>ÕÕöJš5#qõjrïº ­ZéŋʴEmÚ¼hWy¤Ê¶…BÔ-ooo>ÿüs<<<ÈÌÌäĉÜÿý¼ôÒKµÚÖ£>ÊÌ™3•§§¥¥‘––FXX;w®ñqÈš5k B­V“••EDDgΜ!77—Ž;òÊ+¯àëë Ô<æÚ꿌ÓB!n¦ÀÀ@Ôjµ²mmmM§Nðóó«ð Ú¼öôôäµ×^ÀÔÔT<È(**ª?Žßˆù©S¸Í˜¡l§½÷ÅÍ›£µ° yÞAñfÊÌ,âÞ{·“«”-YÒSSƒß+ûùC}\_‰†G¾¿ Q;Ô—.a{íÿG]º ½: @šŠù¹s×öwíŠÖܼÒã™%$`š˜Xe»:¡5°šIv6fqq¨Š‹)iÚ”’«“°Å­©¾®¯DÃ#ßß„¨§ÅÍ"×W¢Œ|G¥°°Ð%•=Ð **Š+W® V«éÑ£‡Þkcbb”‡Y8;;Óºuë ǯªN^^±±±äçç+«uíÚóëÆ·üü|Ο?O^^...xxx`UÅŠyå™=‹iZZ ºtÑÛo«LÖZZRPER¯ÅÉ“˜dgß°ŽÖÌŒ‚nÝ î3MMÅ4) ­‰ Å-[Rjool(â6$×Wäû›hÜdœ…\_5^Æ<ˆ 2¦µØ!„· +BCýéÝÛµêÊ \cŠÅX =æ°°hòó5 Þ ;LLT˜™© tÃÂB««EÕB¡˜4©îîã³³1Åb¬†ó÷ߟ%!!—®]éÓÇ335­ZéÆîÐPºvu©ï. !„¢i\]Éw­üÞƒÆÝü«O4F±—Å^^5îO©{V÷¤¸Å‹ûà쬟¸Ô¿k!„B!„B!„B!„BÑXüç•‚úôéÃË/¿\}Bˆ[ÆÜ¹së» õ*5µ€•+ÏÓ»·k…Õf²³‹Ù±#…øø\,,LéØÑž= ?mN£Ñ²wo§N]¡¤¤”V­l ñÀÂB­Ô‰‹Ëeýúxú÷÷ K'öï¿Ä±c—±°0¡Z¶´5xì‹óÙ¶-™ììbZ·¶#$¤ §O_aóæ‹ Þ ??»Jc©i›ÆÄÓÜèü”–jÙ³'“'3±±1#$Ä//kƒÇÒh´8p‰èè,JKÁÇÇ–à`LMUœ8‘ÉÖ­Ézïy™²}wßÝ __;vìHáèÑËdf¡RéV 2ä‘GZâæfYeœ·ÊùBˆºöå—§qw·à¼õÊ5ÝçýéÓWÐhJñõµ'(È­ÒÏÉãÇ39r$ƒœœ<<, ñÀÅÅBïx žÂÇÇ–#¼ˆÍf×®TŠŠJéÚÕ™= ¯“›[ÂÖ­IJʧI+öD£Ñ²|y,:92`@“Jc©i›ÆÄÓPTvþÊDEe±o_¥¥Ð£‡ ;;Uz¬¨¨,N';»˜-l tÃÑÑ€ÌÌ"V¬8[á=/¿¯K'ú÷÷ 66›?þHäøñL–/ÅÔÔ¤B{eߥŒq«œ!„B!„B!„B!„B!’ÿœäååÅC=T}Bˆ[ÆíºBP™””|¢ õ×K*Ù¸1‘©S]¬W¿kWg.ì»ûµDŽˆˆ ^zé yzu==­øòË>tìè@\\aaQXY©Y´è[¶\TêªÕ*>ü°÷ßßBï?ÿÇ;泌¨T¯#FxE›6öJ‚Š¡XjÒ¦±ñÜÈüùÑhµUVÀÚZÍ3Ï´6®òu*;……¥<ùänöîMSÊLMUL›ÀOè/zôèe^yå .äê•{yÙ°lY ­ZÙrâDV…÷¼LÙ>%)hùòØ«}, ,,Ê`ÿö¬2)¨6·B4_|M@€“^RILL6'îãܹ½º–ÌŸß›nÝœ•²K— yùåƒzc€••)3gvâÁuÇ-))%,,ŠAƒýô‹Ö+5ª9ܵZ¥”¥¥ðê«áìÙ£³)}Ô¡C›‘•Ulð=”}O=åKÿþœ=›£7NñÅ)ƒ}·³3­2)¨6·B!„B!„B!„B!„·«ÿœ$„B€îÉóS¦¤¤DK@€=z8““£aË–$ŽÉà…öóóÏ!¨T˜˜ÇÓOïáÊ•b:wv¦sg'ÌÍM8~<“}ûÒxöÙ½lÞ<[ÛkÃÔÒ¥1ää”0jTs<<¬8q"“Ý»S™9ó(ƒ{bggÀ±c—™1ã–ž=]éÔɑ˗‹Ø´)©Ò «•1¶ÍšÄcÈ‚Ñh4Æe¹ºZÔ8)èF–.!/O³››%'Nd²woï¾{Œ¶m”$¢ ryê©]ää”Ь™5î88˜›ÍÎ)$%åѪ•á•*Ó¿¿ööæ,Zt ''s~¸•ÞþÝ»S9t(½ÊãÔÖùBˆÆ*?¿„ñã÷˜˜GÓ¦Ö„„x`ffÂîÝ©ÄÆfóì³{ùë¯;qw·D£Ñòì³{‰Œ¼Œ—— ÁÁî88˜—Ö-™6í~~öz‰GfðÏ?É„„4¡uk;RR øóÏ~þ9Ž#šèèVš0A—Ôª•-AAîh4ZvìHaêÔÃÕŠÉØ6k!ëÖ]¨`s#wßݬÆIA•9|8ƒ-[.âAëÖö\¼˜Ï¦M‰¬_OË–¶¼øb;JJ´Œ·‡¨¨,llL8° žžÖ$&æ±{w*'Of1th³jµíãcKh¨?¿ÿžÀÙ³ÙLšÔVo¥ ¸¸Ö¯¯ò8µu>„B!„B!„B!„B!„¸]ÉlX!„µâë¯ÏPR¢åé§ý˜6-ÕÕ‡Ó¿ñFî¿GŽd°o_}ûº±dÉi®\)fÖ¬Î<ú¨Þq–/å½÷ŽñÛoñŒ{-)¤¸¸”¿þº//k¥ìÿþï0kÖÄqð`:êžh¿lY –—^òW&ƶcÔ¨íÕŠÉØ6k!“'·«ÖJAu!?_Ãúõwàë{mUŸ¥KcøàƒH¾ù&FI Z´è”’05gN7ÌÌ®MNHÈE­6©pìªôïïAÿþ,[C“&V„†¶ÓÛ_X¨1*)¨¶Î‡B4V6$’˜˜G·nÎ|ûmVVº1¥¤DË”)Ù¸1‘<Ç”)þüýw‘‘—¹ç/>ý´‡Þê3‘‘—yðÁY¶,†yóz*åéé…|ùe òTÊ‚ƒÝyýõClßž¬$èlØ@jjýû{°xqe,ÉÏ/áÉ'w“ž^htLƶY“x ¹ï¾ôèázÃ:å9;[]×X…|üqw½Õ #"üxè!] “&µE­VñÇ DEeѺµ=ß„‹Ëµ¾äæ–TXñϾ¾v„†¶ãäÉLÎžÍæ…Úbaqí»ÉŽ)F%ÕÖùB!„B!„B!„B!„âv%IAB!jÅ¡Cé¨Õ*^}µ½’àädÎóÏ·eúô#:”Nß¾nìÙ“†Z­"#£ˆ… O¡Õj•d˜ÜÜ@7®%mÜ ½ä€š°fM))ùJÙ‘#—±²2eÒ¤¶zu½¼lxè!o¾úêŒÑ1ÛfMâ1¤|S}9ÒK/!à©§|Y¼ø´^Bξ}—01Q1{v½„ н×õ©¶Î‡B4V‡ë>Ï_zÉ_I05UñÚkíÙ¸1QùÌß½;kkS-:öêªV Z­{{³«Ÿ©×´o益œºñ 5µ@);r$ÐåÇ’²qü™gö“±mÖ$CE•uêZË–¶z A;;1x°'7&qæÌÚµs`ß>ÝŠFo¾ÙA/!ÀÆÆ‡›ÖçëÕÖùB!„B!„B!„B!„âv%IAB!jÅ•+Ÿ»[biYq›-tI"YYÅdd¡Ñh™7/ªÒãegëm{zZU¨S¶ZNIɵåu²²ŠhÒÄRïIóeª›¬bl›5‰Çù󣫵RÐ3Ï´6®r54o^ñ=21QѬ™µÞ¤ÜÌÌ"ÜÝ-±±ix_%jë|!Dc••U@‹¶ö5onƒJ¥ûœÝg*ÀªUç>~uÆl€fͬ+Ô¯Ë1ª!ëÖ] >>Ïèú?“ùjóz×'.—)˯\ÑueçÒÇÇÎ`ýúT[çC!„B!„B!„B!„BˆÛUÛÉ+,U¹¥?^zé%>ÿüózìMÃqéÒ%ÜÜÜ”ímÛ¶1`À€úëõÄÞÞŒ‹ó)(ÐTH ºp!³«uM)**åÙg+Ojñó«ÙÄUs’“ Ðh´ƒrkt̪ÔV< D£Ñ—äêjQ'IAññß#­ó°·¿6™ÙÑÑœÄÄúh+\\, ¯ì³¾¦ýHLÌÃÝ]ÿØu5f×V<ëÖ]`Ïž4£Û½ûîfµž”`x-Ëííuß»ÊÎåÙ³ÙJ¢¶!e«Fåå•TØWWcv]þûB!„B!„B!„B!„âv IAB!jE÷î.¬_Ïܹ'™:5@)ÏÌ,bÉ’ÓJ€À@wV­:·· £F5¯p¬èè,ììÌjÔ®]ذ!Å‹O3iR[¥<))Õ«ãjt̪ÔV<“'·«ÖJAuá·ß7Î_ßkI3Ë–Åž^ÈÀžJYß¾n¬ZužY³"øàƒn˜š^KÀJHÈE­6ÁÓÓŠ¦Mu“Í·mK漕:))u¶*@]þûBˆÆ [7Ö¬‰cþühºusÆÊJwY¨ÑhùßÿNׯì¾}]Y½ú<–É“Ûbb¢Ÿp›–VÀÅ‹ù5êG׮ά]ÇÂ…§X´¨2–jX´ètMû¡ÚŠç¾ûZУ‡«Ñí:;[T»¯U9>‡_~¹Àý÷·PÊ"".³yóEìíÍhÝÚÐÙ«WÇñÉ''èÜÙY/9)7·„ rñ÷wÀÕÕ33öí»¤—ä]TTÚàχB!„B!„B!„B!„·+I BQ+ÆoÍ$ðÍ71„‡gЭ›99%lÝšLFF!]º8ѧnU­‰Û°qc¯¾βe1tîì„ii…œ>}…ÈÈË,]H³fÖU´ZÑSOùñljüï'Ùµ+•Nœ¸|¹ˆM›±°(K¤12óÆHµÏ‹/¶«Õ~Õ„••šQ£¶1dHSÜÜ,9y2“={ÒP©`üx?¥Þ„ møý÷~ùå¤Ó·¯+æœ=›ÃŽÉ|óM žžVtì舻»%7&1vìNºtqæÒ¥6mJÂÚºn¾†Ôå¿/!„h î¹§ FžÎС[ ñÀÌ̄ݻS‰‰ÉÆÁÁœ±c[p÷Ý^,_ËÊ•çÙ¹3•À@w\\̹r¥˜óçs8pàãÇ·¦S'§ôËy󢨾=™á÷äŽFSÊŽ)äåiP©ª8H5ÕV<÷Ý×â†ûogg Þxãü‘@›6ö$%å³iS"–§ŸöSVL>Ü‹%KÎÅwlbà@Oš4±"))]»R;¶þþ˜˜¨0ÀƒÍ›/rÏ=ÿ0`€EEZþý7…ÂBMÄP—ÿ¾„B!„B!„B!„B!„¸HRBˆZѾ½ŸÞ‹©S‘ADD†²¯kWg.ì­Lìõò²á»ï‚xõÕpŽÏäøñL½cùû;Ô8a£sg'fÍêÌìÙÇ8pà\ K'î¸Ã“¹sOÖz2J]Æs³çÇÎ)¬_¯”™šª˜6-€Þ½¯­ˆÐ¢… K—òÊ+á$$ä²zu®²ÏËËZY!ÈÒRÍŒ˜2å Þù rçÎ;=™5+¢ÖchLçC!ê‚••)ß|Èĉû8w.‡<§ìsw·dþü^¸»[ V«øæ›@Þ|óÿü“ÌêÕçõŽåáaYã„ S-êÃsÏíåìÙlΞÍÀÍÍ’iÓxõÕðZ³ë2ž›­[7g|}íX¼ø4ÿþ›¢”Õ\oµDSSK—*cño¿]ãmmMißÞAÙ~ýõ>œÁ¹s9œ;—@óæÖ|ôQ7ÆÛSë14¦ó!„B!„B!„B!„B!D}¤ Q§vìØÁÂ… Ù»w/)))XXXо}{ÆŽËĉ133Ó«_\\Ìœ9sX¾|9‰‰‰´lÙ’)S¦ðàƒâææ¦ÔÛ¶m ¨Q;ÑÑÑøûû+Û‘‘‘œ={–Ù³gsòäI<==¹çž{x÷Ýw±³³3ªoBÜn<<¬ õ×K:´)nìØ‘BBBææ&8ѳ§K…c´oïÀŸÞÉáÃé?žI~¾†&M¬hÛÖÿk“S½½m õ§k׊Ç(Ûש“£^ù#´"$ămÛ’ÉÉ)¡uk;BBšðöÛGðô´ºa,5iÓØxn6CñÝ(æ>}Üxî¹ÖìܙʩSYX[›2`@¼¼*&ÑtïîÂÖ­w±wo§Ne¡V›àãcKP»²:À°aÍèØÑ‰íÛ“ÉË+¡CGúõsçäÉLBCýññ±Õ;î„ ­qv¶¬Ð^` j\]-n 4Üó!„õaÒ¤v¸»[è•ùùÙ±qã vïNåôé+h4Z||ìèßß½ÜÊz:NNæ,YÒ—ØØlÂÃÓÉÈ(ÂÙÙœ–-méÑÃEùÌ7551ø¹^~ŸŸŸ^yçÎNlÝz[·^äâÅ|š4±bÐ Oþùç" ?fŠ¥&mO}0t®nóˆ^ ÞŒÒ)-ÕÒ½» ]ºTL¢qw·äǃ‰Œ¼Ì‘#äçkhцÀ@7Ì•z>>vlÞ<˜Í›“HM-ÄËËšAƒšPXXJh¨…cáEûöŽ˜ššè•Wö]ÊP| ù|!ÄÍöõ×g˜3ç8?ü\áçVÓ˜b1ÄP|†Ê>ù䋟fÆõ~-šËûïGžÎåËEtìèȯ¿ÞÁlçìÙŽ¡ÔmìçO!þ«ÈÈËÜwßvBCý ­ÿÕßÿ‹Æ‹!†â3T¶cG ãÆíaúôž~Ú¯>»L~~ Ÿ}v’M›’HNÎG«…cÇF²patôöÙ IDAT…ïýü !Dmø€'~ü1¸¾»òŸ5¦X 1ßõe……:tøAƒzeëÖ]ÀÙÙŸk“ƒ ÅR“6çf3Ÿ11‡„xâQåñMMU»ì~ÃzÍ›[óøã>ze:8Ò¡ƒc…ºÏ?ß¶B@¿~îôë§ßÎþ-6Äó!„õaâÄ6ËÕjýû{пÕŸ÷¾¾vøúÚUº_­VUú™\Ù¾˜˜lš5³fÔ¨æJÙåËE,Xp €=ô?ï¥&m–©*žú`è\Useã©!NÜxå{{3xÀ[¯ÌÊ ƒïeeßù*û¾TÙ¿Eh˜çC!„hLBCrìØåúî†B!ªÍòå±õÝ !„BTaûödfΔùBB!Ä­@î !n’$êĺuë”DµZÍâÅ‹y衇HLLä‘GáèÑ£ìÚµ‹7Þxƒ ðÓO?é%ݼ÷Þ{¼ðÂ ÄÆÆòÐCÕZ;×ûñÇÙ²e Ý»wçý÷ßçÓO?`íÚµ$&&Ò¬Y³ }ûøãyöÙg9þ<?üðĵjÞ¼(ΞͦGWœÍ9w.‡mÛ’Ñh´<ñ„Û·§•UDß¾n´k'«» !„¸}<óLkžy¦u}w£V4¦XŒÕcÎÈ(䨱ËtëæÌ—_öÁÅåÚÊ}kר¿Ž !Ä-* À‰˜˜û껵¢1Åb¬†ó¶mÉØÙ™±fM­ZÙbb¢û=ãõ×;ðúëê¹wBq뉌Yß]¨5)c5䘷mK ,¬wÝÕSÓksòw !„h¨òýÕêjL±«!Ç,÷Ç…· “úî€hœ-Z¤üýÈ#0~üxìììh×®ï¾û®²oÙ²eðÃ?(å]»veúôé8::Ò½{÷ +ý—v®7mÚ4î¼óN ÕÛwæÌ™ }ëÑ£¯¿þ:ŽŽŽtéÒ¥Ò¾ !êO@€#.ä²vm_}u†-[.¢ÑhyàïJW¡B!ÄÍ׺µ=……þü3‘%KN³~}ΗÐj¡gOW¦NíÈâŧùå— Ê5ñŽ)Œ·‡éÓèÚÕ…?>Ndd&&ÜqG¦OÀÑQ,ÈÊ*âÿ‹bÓ¦D²³KhÝÚŽÐÐv\¾\Ä›ofÁ‚Þ Ú´ÒXjÒ¦±ñ4•¿2{ö¤1wîI¢¢²°¶6eР&¼öZœõ'iµðË/q¬Ysèè,4šR|}í3¦%>èZ­âçŸã˜6Mÿ=/S¶ïË/û0x°'ï½wŒåËcˆˆÈÀÏoÁþoØ0ÿ¯¬|+!„¨k¿àÄ?ë•ÿúk<ßËéÓW(-[|ЛÇó©pmzàÀ%¾þ:†Ã‡ÓÉÉ)¦Ik† ñäÅý±µÕM»*,ÔСÃo äÉìÙ]øàƒHvîL¥¨¨”®]˜:5 Âçwi©–o¾‰aÕªó$&æÑ¤‰%>êÃСÍ0`=æÃ;ït®4–š´il< Eeç !!÷ß?ƾ}—ÐhJéÑÕ×_ï`0æƒ/±ti ‡g]Lóæ6Üu—'Ï<Ósââr¹óο+¼ç€²ï©§|yë­NlÞ|‘‰÷)û;vüÍ`ß§Oàé§ýªŒñV:BQ—äþ¸Ü¹?.„ÿ…\=ˆzW–xSž‰Ií/be¨{ûkIuÑ®¢~xyYãåe]ßÝB!DìíÍ2¤iÕ…BˆÛPBB<°ôôk+`_ºTȆ üóO2ßD@€ ›¯l'%åV /½ä¯”ÇÆf3zô¿dg+eÛ·'sôh;:V+&cÛ¬I<× Og̘F÷í˜7¯§ñÁiñâÓüþ{‚²Çܹ'9{6[ouÄÌÌ"~x±±ÙJY~>ìÚ•Ê®]©œ:uo…Io–Ú8Bј—òä“»9t(])+**eïÞ4öíKcÖ¬.ŒÛ Ð%l¼öšn’JyÑÑY¼óNQQY¼ÿ¾þé"#3ùä“•ºñaݺ $$äòÓOý•z……{l—2áàøñL&LØÇðá^ÕŠÉØ6k!mÛþŠF£5ªo®®ìÛ7¼Ñçðá æÌ9®ô£ @ÃÏ?ÇqèPëÖݵµÐÅŠ¶Ü•Ë7ßİgO?ÿÜ+«kS¯®\)æá‡ÿ%>>O)Û³'ÇßÅæÍƒõ&®ÎœÁO?S¶ããó˜3ç8'NdV+žê´YÝx yâ‰]ìÙ“ftÿ6mTaÒö••¥‹9%¥@)Û±#…ððK¬Z¢—ôÝwg™=;B/æØØl¾ü2•JÅ+¯´¯Õ¾UGmœ!„hÌäþ¸Ü—ûãBa<É€u¢üŠ<ãÇG«ÕVú_ÙJ=íÚ]{×Ñ£GõŽ^kíÔD›6m”¿>¬·ïÈ‘#5>®B!„B!„•™=;‚ôôBzötá×_ï 2ò6nÄ!MÉÍ-aÚ´k÷¥æÌ9Á™3W2¤)ëÖ 2r$ááwóùç=±·7göìcäçkôŽÿÛoñ¼ýv'öìFDÄ=|öYÔjß}wVoBʇ';»˜;îhŸÞIdä=üöÛ@Úµs`×®ÔjÅdl›5‰§¡Ú¸1‘iÓسg‡ÝÍܹ=qt4gýúx½‰Tï¾{ŒØØlÚ¶µç«¯úràÀpÂÃïfùò~ºÕ¨í ²aÃ@&LhCLÌ}zÿuîìdÔqÓùBˆºðÝwg9t(¦M­Y²¤GÞÃÎC m‡J¥âý÷#IKÓMZ]¿>žõëãiÛÖžo¾ $<ün"#GòÓOýñ÷w`Õªó9’¡wüß~‹çÁ½Ùºõ.ŽɪUýiÚÔšƒÓõ€V¬8KTT>>v|÷]ÇŽdûö»xüqß ,U1¶ÍšÄÓPýõW"÷ÞÛ‚­[ïºC0mÛÚ›Íâŧ”zkÖÄñÇ 8:šóî»]عs(‘‘#Y·n=ä™Yõ‚ë­NÄÄ܇;;U³'LhSõAh\çC!ꉙ|ýõ,-Õ̜ٙ½{‡~7Ÿ}ÖGGs6lH`Ë–‹€.IgÖ¬ìíÍùðîìÝ;Œ“'G±qã † kFTTß~{Vïø\ÂÓÓš_~@dä=lÙ2˜À@723‹ô6#"2øé§sØÚšòÑGÝ¿›}û†3{v6o¾X­˜Œm³&ñ4T^ÂÓÓŠµkCˆŒɦMƒ:´yyfÍŠPê;—Ã{ïÃÄDÅsϵaóæÁ?®«ÿê«*¬~hŒÁƒ=‰‰¹Aƒ<8qb¤Þ˜½ti QÇiLçC!êŠÜo÷cåþ¸BÜò8Q'žþy6oÞ ÀòåË騱#<ò$&&rúôiÖ¯_O^^+V¬`ìØ±üþûïìß¿ŸÏ?ÿœ§Ÿ~š˜˜¦M›VkíÔÄØ±cùóÏ?]‚Ò'Ÿ|ÂsÏ=ǹsç*í›B!„B!„5•Ÿ¯áßSpq±à«¯±µÕÝÊõó³#,¬#FüCTTçÎåЬ™56ÄÓºµ= ôFuõayVVjFŒð"+«˜™3rðà%ú÷÷PÚxñÅv<ñ„¯²=jTs6oNbãÆ$.^Ì£iSkòò4ìÜ™BÓ¦Ö,XÐ ÝòÛ·wàË/{3pàß\¾\dt\Æ´YTTZ£x®×£‡ 11÷Ý·ºòôÓ~Œç§lßs¥¥Z^}5œ t£ @Ã_%âèhηßáêj¡Ô r'(¨~Vjí|!Dcö矺„›°°^t颛PbkkJh¨?©©¬\yž­[“3¦%kÖÄ¡V«X¶¬îî–Ê1zötaîÜž º…-[.Òµ«³²/(ÈÙ³»(ÛÝ»»ðÜs­y碣³”§áoܘ„J ö¢uk{¬­mxûíNœ=›]­ÉJƶY“x 9uê^£ûVW:wvfΜnÊX׳§+‹õeðà¿Ù¸1‰—_Ö­$ðË/˜7¯§ÞŠ@NÊSªëKm!„h¬þú+ €É“Ûòøã>Jù¨QÍ11Qñò˺•à òä×_/PR¢å½÷º0lX3¥®ŸŸŸÞ“ððt6oNâùç¯%n:9™³dI_å¾eK[fÌèİa[‰Ž¾–T»i“.ñçõ×;òÀÞJùر­ÈÊ*æ³ÏN“±mÖ$CV¬2ºouÅÚZÍâÅ}qqÑ];ûúêb¸ûî+„‡§séR!®®¬_F£eÒ¤¶z+ùúÚ1qbí®^T]µu>„¢±’ûãr¼ŒÜBãHR¨‘yóæ1oÞ¼ åmÛ¶%::šû￟ÿû¿ÿcΜ9h4^~ùe^~ùå õ‡ ¢ü=fÌV­ZÅúõëô^3aÂ/^¬ÔU]YkÒNMŒ;–•+W*IKo¼ño¼ñ KL:}úô:¾B!„B!„å%$ä¢ÑhéÙÓUùÁ³ŒZ­"8Ø3g®—Ci©–‚ 11Wh×îW´ZÐ^}´`Ù“’òõŽÓ»·k…v[´° 7·äº~¸(?x–±³3£kWþùÇø§Óf||nâi¨‚ƒ+þXöã`\\. y•â¢÷ƒgCÐØÎ‡BÔ…¸¸\Í•„ òôdåÊóÄÅåpæÌ4-ÁÁÊ>SóôŽÑ§OÅ'â6on\?uýÈÁÃÃJI*/8Ø£ZIAƶY“xª  7erO™æÍ­iÕÊŽs粕²ØØlÌõ‚ŠÆt>„¢.œ?¯û<8г¾›×®ÓΜ¹À”)™2å ò9ªÕj•¿¯7:tp¬p _6~æä+e.èÚ®8–»W+)ÈØ6kOCÕ¾½£’TÆÔTEß¾nÄÆf—ƒ««±±ºó]>馡hLçC!ê‚Üo<÷cåþ¸BÜ’$ê̇~ÈðáÃùòË/Ù»w//^ÄÜÜœf͚ѦMFŽÉÈ‘#•ú*•ŠÕ«W3gΖ-[Fbb"-[¶dÊ”)ë%988Ô¸šP©T¬]»–?üo¿ýV¯o£GfÑ¢EÿéøB!„B!„B¦­²Fi鵟4šÊë—êm[Zª+Ô)›p¢Õ.¯Ð»ë+VÁ˜6kÏõÂÃÓ3f‡Ñ}»ûn/æÍëitýÿ¢,æëßW•3~ʪ”½Oåhþk×*¨­ó!„±“6Ë>Woü™ª¿Ï¤ÒöêjÌ6¶ÍšÄcHÛ¶¿Þð幺Z°oßp£êÖ'•Já1»¤BYm¨­ó!„1ã¶1Ÿ©EEÆ_gCÅF ]Öæuvù6k!O<±‹={ÒŒîߦMƒðõ½¹«ò\ÿ¾Vu¾MLt ½õuq µw>„¢ñ“ûã•‘ûãr\!Ê“¤ a´ê~&88Øèúfff̘1ƒ3fè•—_•È‚6mô—Ç­N;íÚµ«4[[ÛJ÷™››3sæLfΜYa_MÞ!„B!„B!*ãåeƒZ­"<<œœ½§!j4ZåIÿÞÞ¶4ib‰¹¹ N¬ZÕ¿Núqð`:……½§!æä”q¹VÛÓµi]gñÔ‡;S Ô_máßShÑB÷ô沘¸Dzza…'—W¶/!!O¯^~~ GfÔv÷ÝùBˆºàímÃÑ£—‰ˆÈ sgg½}Û·'_­£{ò¯¯¯'Nd±gÏPììÌj¹¶;–ALL6~~ú“o«³JPuÔe<7Û®]iL™¢?))>>s粕󺘼Ğ=iÆøòÊÆéøøÜ ûöî5~2uu4¦ó!„u¡eKÝø¸m[r…•õ®Ùºë´²D–o¿íWë«Ã•] îØ‘Ì£úèíÛ½»îƨ›xn¶“'3+\;—”h•ñµìý-‹ù¯¿i×Ρâ®*[‘àfÙÐ8·BÔ¹?ÞxîÇÊýq!„¸9*>âIˆzôæ›oòÎ;ïpôèQrrr¸xñ"K—.ÕKÄyòÉ'±¶¶®Ç^ !„B!„BQ·¬¬Ô„„xpéR!Ï?¿'2ÉÏ/!66›)SrúôüýhÕÊ++SFŒðâСt^~ù G^æÊ•b 5ÄÆf³vm>¸½FO˜µ¶VäNbb¡¡8sæ ùù%DEeñ ûÉÈ(¬ƒØk'ž=\ˆ‰¹Ïèÿêê)ˆË–Űti iide±aCï¾{ €¡C›º'DÖŒÌÌ"žzj7ÿþ›ÂåËEde±kW*O>¹[y aÙĵ>ˆ$66›‚ 'Of1iÒ~RR j½ÿuùïK!‹áýxé¥p¶oO&'§„ää|,ˆfåÊ󘛛pçM=Ú›üüžxb7ÿüs‘ŒŒBŠ‹KILÌcÛ¶d^xaµž¾_Þ!žhµð ûÙ¿ÿùùóxÿýÈ:K ª­xNº×è1»®V ŠˆÈ`êÔÃÄÅå’Ÿ¯!<<‰÷QR¢eèЦJ½ûïoÀ”)Yµê<ÉÉùäçk8~<“éÓpàÀ%Z·ÖM>^¾<–ýû/QP !!!—>ˆdóæ‹uC]þûBˆÆ`Ø0Ýçùüù§øá‡s\ºT¨\§½óNpm\¿ï¾¨Õ*^y%œÕ«Ïsñb>ÅÅ¥\ºTHxx:³fE°hÑéõcÈ]?>ýô$¿þOff…¬\yž… OÕB¤ÕV<+VUëZ».V ÊËÓ0aÂ^""2ÊÝ+9@ll6=z¸(I>£F5G­V±hÑi>ýôçÏçPP áìÙl-:ÍÒ¥1€îLÓ¦ÖìÜ™ÂêÕqä䔞®;Ÿ}v¢ÖûuûïK!¹?.÷Çåþ¸BT¬$”””¾ýö[fÍšepHHŸ}öÙMî•B!„B!„7ߌ‰ˆ¸Ì¾}iŒµMoŸµµš>èªlOŸ@TT6$°aC‚ÁãÕtµëiÓ8t(­[“Ùº5Y)wt4'0Ð={Ò05UÝàÕW—ñÜlC†4ãƒ"ùàƒH½òQ£šë=!ñ­·:qìØe¢¢²?~O¥Ç»ç/æÎ=É¡Cé ²E)÷ð°$(ȽN&}7¦ó!„uáñÇ}ظ1‘Ç3x晽ö¿õVgÜÜ,¸ÿ~oHgíÚ8ž{nŸÁã=üpËõã‰'|ùí·¢£³xôÑJ¹JÆ5㯿k}Ì®Ëxn¶¡C›²nÝÖ¬‰Ó+÷õµc„¶Êö´àߓٸ1‰éÓT8ÎðáºIMÍ›[3dHS6mJÒ;jµŠ{ïmί¿Æ×z é|!D]èÐÁ‘ñãýøæ›fÎ<ÊÌ™GõöáÅàÁž´liË»ïveÆŒ#LZñó`„65êGçÎN<ô7?ÿÇk¯…ëí»ûn/þø#3³Ú}Îs]Æs³õìéJ\\<ð¯^¹µµš™3;+Û­ZÙ2mZï½wŒE‹NWH²™4éÚøþÌ3~Ìž}Œ©S3uêa¥|ôè–¬^}¾ÖchLçC!êŠÜo÷cåþ¸BܲRhP>ýôS>úè#zõê…³³3æææxzz2|øpV¬XÁ?ÿüƒ­­m}wSQvìHaìØÊöêÂÙ³ÙŒ»“µk㪮|ؼù"¯½ÎcíbìØhX¹ò}ÜXº4±c[)uU*øè£n„…õ¢_?wÌ133¡ysköäË/ûЯŸ{úai©æûïƒxä‘V¸¸X`a¡¦cGG/î£ù¤;;ë>Ã-,Ôøû;0cF'þ÷¿zuzțիC1 wwKLMU¸»[Ò«—+³fufâĶ•´Rµ÷ÞëÊë¯w E å³úÍ7;òÈ#-°·7û/aT—ñÜLf¬\ÙŸ›`kkеµšà`wV­ ÁßßA¯î“Oú²bEwÜÑDýüìxá…¶Œï§Ô{üq_^{­ÍšYcjª¢U+[fÏîÂóÏ×]bNc9BQWäþxã¸+÷Ç…âæPiÿCzâèÑ£X½zu­uH!nuýù—’’BNNŽQuýü| Kaøpãêߪ֮ãÍ7³`Ao†mZ'mDF^æ¾û¶êOhh»:iãV±jÕù O8§sgKzõ²ÁÚZŸ¸¸"–,¹È… yôëg'AB!Ä]â·ßâÉÉ)eøpg\\ŒÉÈ(eÆV¯ŽÁÄD—À@‡;]D!„B\%ýãB!îv$„B\eb¢Kß¾¶wºw…¤¤":t°àÉ'=5¶»¹ãæf|‡J%„B\Ó»·´Ù n³^z©“Ö²ôò»F!DKhܛРIDAT:x0;S´¶{y™1ujû;P"!„BÔ%6¶+.km76Vòƾw DB!„¨K~~9Ÿ~zO?½ µï7ºbl¬¼¥B!D]¤\!ÄÝN‚‚„B4[||7&™GUxzš2~¼;^^füùgË—_âÅ}èÓGsPj;9s:Ñ«—ƾíÛSؾ=™üü Ú·7ã?ÿ©I¼âb›7'ò×_9¤¦–`jªK6<öX,,nnÆÃ˜˜Þ|ó/}´ >ê®±ïøñ,¶lI"1±}}|}­xüñ¶ØÚÜÔ9ZCK>‡ŸŽaÛ6õ½///dâăužóÃýš´ò@ll!ë×ÇU@eemÛšòØcîøøXÜú… !„h²¼¼r6nL$,,›‚‚ Ú´1eøp' ° =½”—^:ÁˆÎLž¬ÙîÖì{à&MÒ =s&‡ß~‹'9¹''c&LðÀÖ¶îöW¥ªfß¾tJ'!¡¥R··9>êNÛ¶7¿ÝÓO‡âéiÊ›ovÕØ_DHHÿüQQùL›v…Bûœÿþ·#G:7©l¿ÿžÀéÓ9Vàà`Äý÷;1t¨Ó­_¸Bˆ„ï¾ógåÊË\¸KNN9FÜwŸ#Ï?ßQ* !„w‘7ÞðÅÚÚ€“'³®ö™ëѧ AA>x{›ßéâ !„⪠<Èϯ`ÏžÔÚ>óN,™6­=C‡:Þéâ !„â:Ò?.„ân'AAB!šå—_bx÷ݳ¨TÕµÛöî…•+/óÛoƒèÖÍŠÌÌ2ŽÏ"'§\ëøš}W®hî›7/Œõëãkÿ}à@:ë×'ðøãZyäæ–3hЊŠ*5¶oßžÂ?\â·ßâêÚxàJ¢¢JŽÏ¢_?;í|®5³âž=i¬\ÍòåþøùY7š÷¤I‡4îUC,-õù曾MJÛÒÏ!>¾ãdz€k÷£.ÅÅ•un¿Þš5±,\xF£l¤óË/1¼ÿ~{̽£…B´”S§²™9ó99e×mÍ`õêæÏï´ií)-UqüxVƒƒjöuê¤Tóûïñ¼þúiªª®ýß°!ž—_îTg9&N<È©SÙÛöîMcÅŠË|ýuŸ›>9q"‹ÒR•ƶmÛ’™3ç$UµÛöïOçÇcxë­®ZAMuùàƒpÎËmr9>ý´'Îί¢×ÒÏáÊ•rvúĉºÛìáÿ¯§Oç0}ú­ßeë×Ç3~¼~Ø£Ñ<„BüóØ`×xB!„BÜQ¦,Zäw§‹!„BˆF˜™é1gN'æÌ©»O]!„wéBq·“  !„7íØ±,.<À¨Q® 숅…ÑÑ„„ÄSXXѬ|ÿïÿ’Y¿>##]ž~Ú‹nݬÈÉ)ç§Ÿ¢ùþûKZé+*ªÐÓÓaêÔvtêd‰ùù;–ɯ¿ÆÉÇ÷¼•KeçÎV¬¸Œ®®‚ÿüÇ‹>}ì((¨à÷ßã9z4“Ù³ñçŸ#00hxÖ‡ãdzšÔÔÕ‡Zã9LšäÅðáÎL›г³1ï¼Ó]cÿÚµ±lÞœÔh>aa9ü÷¿g06V2q¢'ݺY¡¯¯Ã¹s¹¬\y™·Þú‹~ýlo*hK!ÄÍËÍ-çÙg’›[N·nVŒï““ÉÉÅìÜ™BAAóÚì””bÞ~û/ªªªyä‘6 êˆJUͶmÉ|þù…:),¬`Ì7z÷¶ÅÕÕ˜ÒRy¬ZÍÂ…goyEšôôR^yåUŒéÂÈ‘Îèéé°!!ñ¼ûîYzö´Ñ nºQdd^½A±u))Q5š¦5žC¯^6¬^ÈçŸ_àÔ©lV­êžžNíþ3grøøãóæSXXÉŒê²ëvõ÷„> E¬Zu™8üým=Úí¦Ë(„B!„B!„B!„B!„h]$„⦭\y™êjxóÍ®LžìU»}ÈG¦LiGYYUG×/$$€/¿ìÍ}÷][}ôh7zh±±…é­¬ ضí>vîLeÿþt²³ËjWÐ××áäIÍÕšcíZu™>ú¨'cÇ^ ;fŒÿþ÷!ŽÉdÏž4|Ð¥Á|~þyÕM‹ ÒÐÛÖxîî&¸»› ««ƒ©©.}ûÚjì?p ½Iù¬Xq‰ªªjV¬è¯±’Ò!ŽtïnÍ”)‡Ù¼9™™3½oºŒB!šnãÆrsË1ÂYkº‰Û6;(hÓ¦DÊË«˜2Å‹7ÞèZ»ý¡‡\yõÕSlØ uÌêÕ;–ÅþýiìØ‘LyyÕÕ`` Crr1ii%8:5«<ÿû_¥¥*­•mî¿ß''c/Ž`ݺ8.ìÖ`>¯½æK~~Ósãenç`e¥Oß¾¶XYéл·FrYYãÁJ ¾oÙÙeÌÛ™34ÛåtaРílØ AAB!„B!„B!„B!„BÜ…$(H!ÄM ¿‚’I“<µö)• Œ^5§>/æci©¯êŸÑ£ÝX¼8Bc{ff)O}lÜß­õZ™3WP*|ù¥zµˆêjjƒ¢*+ÕÁJÑÑùwªxBqÏ8w.€iÓÚ×¹ßÌL¯Yù^¼¨þ>~¼‡Ö¾ñã=´‚‚Tªj^zéfÔ›gAAÅ-EFæðøãîZûžx¢-‹G‘Ûh>>> ¯$Ô­õZÂ_å°kW ¡¡µíµºíVÿ#:ºàNO!„B!„B!„B!„BÑ€[ ŠŠŠâÒ¥K¸¹ÉŒÁâÎÊÎÎÆÔÔƒ;]qÈÎΦ}ûºuÞ Êʪ°°ÐC©T4;•J{›ÒR––úu¦¯k{pp$IIEøûÛ1z´†èëë P(˜?ÿ•Í._²²*ÌÍuQÔq©úµi3iÒ!Tª¦-di©¯µŠ@}ekçЊ‹U¨TÕ„†fÖ›¦´´uÎ-„âšÒRõj15«É4G}m6€¹¹v0‹……ö¶Í›“8x0wwžzÊwwŒuQ(üôS4;v¤4yE½úÔ´Ç––Úïz(Mk³?ø ¼6ˆ§)>ý´'ÎÎÆ ¦i­çЊ‹Õe;sæJ½iôõ›¶êB!„B!„B!„B!„âö’•‚Ä?BII J¥R‚‚„¸MœœŒˆˆÈ#1±7·úÁÖ ÎÎ.ÕÚW³ÂÀõìí ‰-$7·\+(<\{ ê™39XZêóãýÑѹS\¬"3³ CÃ[_)ÇÞÞË—óIO/ÅÁÁð†2© ;84¾ªÁñãYM ²µmÚß²Öz-ÁÉɈòò*¾û®_½AKÖÖÍ-„¢iœœÔmÔÉ“Y´mkZoºš¶"'§Lk_T”ö*1ööê6ñüù<­Õ}êk³¾þº¯ÖJ<_|q¡¡Kh²š2={ww“Ê”KuuÓÚìÈÈ<ŽÏjòyKJ˜i­çÐjʶpa7Úµ3¯3®nó…B!„B!„B!„B!„­ç–‚‚¼½½ñöö&$$¤¥Ê#D³( ¦M›Æ_|q§‹"îãÇ¿ÓE¸£† s"""  ã|öYO<=ͨªªfË–$¼½ÍéØÑ‚6mÔrCBâ=Ú 33õ@×½{ÓX·.N+ßÀ@._.`þü0>ý´¦¦êfjÛ¶dþø#Q+½……11\¼˜_;ÀøÊ•r^{-ŒÒRU‹ÚséR>¯¾zŠ/¿ì];Ãÿ‰Ù|÷ÝÅÚ4ùùçM^AOO§IéZë9´„#œŽdûöd^~¹SíªJlܘ@¯^¶­rn!„× æÄªUÑ,Zt''c ¸Öf>Cff)#F8ce¥©©.ûö¥]€——ºM‰Ž.`Ñ¢p­|X½:–> ÇËËu KddŸ®äSì–]ÛfWVVóÍ7‘œ<™Ý"×:p ¿üÃ'ŸœÇÛÛœÔ.ÉÉÅ,Xð×Õ4·Ù¯½æK~~E“ÏëìÜx Qk=‡–pÿýÎüøc4ü‘ȧŸöªýÝ RU³kWJ“›…B!„B!„B!„B!„·—¬$„â¦MÚž­[“ ¿ÂÈ‘{pu5ÆÂBŸØØ +ùñÇþøøXй³%çÎå2pà<=ÍÈÊ*%9¹˜nݬ8sFs%iÓÚ³aC»w§ðxzš‘“SNJJ1:YpáBžFúûîsâĉlÆŒù³vàoll!FFJ\\Œ)*ª¼åk}æ™ölÚ”ÈáÃnÇÓÓ”ÂÂJ‹¨®†ñã=ðö®{VýëõéÓò0­õZ´iÞìÚ•Êš5±üö[¦˜™é‘™YFjj1*U5+Væ%„¢ùúõ³cÔ(W¶lIbòäÃØÛâädLJJ1™™¥<÷\FŒpÔmÚÊ•—5j/íÛ›QVVE\\!]ºX’˜X¬‘ï!ŽôèaÍéÓ9Œ¹OO3Tªjââ éÐÁœôtÍÕév`É’‹,Xp†~¸Œ••qq…äç—Ó¹³%çÏçÞòµâH¿~v=šÉèÑ{ñð0EOO‡èè**ªhßÞœÇso4ŸW2j ­õZBŸ>¶ŒïAHHC‡îÄÍÍ[[Còó+HJ*¦¬LųÏzóÐC®-~n!„B!„B!„B!„B!Ä­iÚRB!ÄuLMuY»6Ñ£ÝP( !¡ˆðð+””¨3Æ­v0­B‹ùáînBAAgÎä•UÆœ9˜0¡­V¾†üôSÚ·7§¸XŹs¹dd”0eŠ“&yj¥Ÿ2¥&xP]]MDDy8;³bE@íŠ>·ÊÎÎ_HŸ>¶”–ª¸p!„„" u™1£ï½×½EÎÓ­õZ‚±±’_È“Oz¢§§äòåNŸÎ!)©33=&Oö¢sgËV9·BMŸ}Ö‹çŸïˆ™™¥œ9£^™¦W/î¿ß¹6ÝóÏwdÀ{**ª¸p!˜˜FŽtá½÷zhå©T*X¾ÜŸ!C©¬¬&**ŸèèìøðC?­ôݺY³`AWŒŒ”$$qæLÎÕö©'ýúµLà¬Bß}ׯ6ð':º€ÈÈmÛšðÞ{=(+SÝÔ5yzš±zu ..FÛÛ¶5eÍš@23KIJ*F__‡víÌ00¸s‹k´ÖsX¾Ü##íë{üñ¶ 耻»ií¶ú©. vãÍ7}‰Ž. ¤D…££†èè(Zð.!„hˆR©à…|˜=»#—/PZªÂÍÍkktææz¬ZÕŸ¤¤"22Êpu5ÆÞÞÒR«Wâè¨ùwÞÒRŸåËýIO/%%¥Cœ)+S§wp0ÔHÿ䓞<òHbc‹P( ];3ôôtHH(bèP'ÜÜLnêºV¬ÀÔTOc›‰‰.}äÇ[ou%&¦€ª*jKÜi­õæÌéÄ”)íÐÓÓœó£kW+V¯ÄÝ]ó¾Öußtt<ýt;¦LiG||!99åX[ëãâb¬•¯Bˆ–]»Rذ!I“<12j<}s„…eAß¾¶¸ºÞ\{ÿOóý÷—X´èÕÕêwébÉã{°n],11…̘ѡ6­Ü7!„×»p!—à༽Íi×άñš!=½„àà‚‚|èÛ·e&ðø»:q"‹§Ÿ¥¤äÚ7†iÓÚšÉwßE1|¸vvê~¹oB!®—Ÿ_NppO=åÉàÁŽ­vžo¾‰Ä×׊Guoµsüäæ–3vì>Ã]ºX ««CppffºtïnU»Oî›BˆëIÿøí%ýãBѺ$(H!Ä-16VâëkÕ`…­ {{Cìí ë9¼¼4?lÚÙÖ~d»‘¥¥>––ÖÛºt¹ùUhLLtüh×Pî´–~½zÙÔ™‡››1nnÆÛ»ozz:tìhÑ`Ù„B´>¥RA‡æ¦su5ÑèX34T6øwÞÁÁP#ÈÀ þôFFºtê¤Ù&´icB›67ߑ׻wýe21Ñm´]¼SZú9ÜØ¶×°´Ô¯3}C÷M¡S<<-žBÑd~~6ùhM$q¯©¨¨âË/#04Ôå‘GÚ`ccPû>>aB[rrJÉA!„h]FØr•z¦h>è‚§§:: ôôØa` ÄÖÖ ñL„BˆVôÜs±·—öè—_bHJ*¢Gkúõ³EOOIÛ¶ê¶;(ȇ=êþæ-„BÜ.Ò?®&ýãBÑú$(H!Ä?Z||¯½Öhº^½l˜3§Óm(‘B!êóÌ3G(*jxyv]–/÷¿M%B!Ä­òó³ÆÏϺñ„ÿpÉÉÅ”–ªxòɶ,\ØMcß¿þ%3 !„¸óìí êx§‹qWˆŽ. ];3‚ƒûhlïßßžþýíïP©„BˆkfÎô¾ÓE¸+ÄÄðÝwý°¶Ö ’’ß5B!îÒ?®&ýãBÑú$(è.ÊÎ;™ÃÅ‹ù\¹RŽþþv¸¸7xL]ÂÂr8t(ƒGqÓXÔCC3ÉÊ*ÃÂB¾}mµV¾SZò9¬YKDD‘‘ùGjO__ÁŒšT¶üü Ê 1±==|}­èÝ[f?BˆÛM¥ªæøñ,"#ó¨ªOOSÐÕUê¶wÏž4|Ð…ví4Û·š}=ä¢Õö¥¥•ðçŸiäçWо½ƒ5ü-%6¶³g¯šZ‚©©.Ý»[Ó¥‹åM_OFF)k×ÆÑ·¯­ÖjA8NbbºtébÑàJ´·SK>‡Òùë¯+äæ–£PPg› ðÄØÙÖ¹ïÆ²9’ÉÅ‹ùTVVѶ­)ƒ9hýNBÑú""ò S÷?·icJ@€––úäæ–óÓO1tíjÉàÁšín;îÝ­8ÐAc_QQ%{ö¤’’R‚££Ç;5X†œœ2ŽÏ"!¡]]¼½Íñ÷·C©TÜôõ|ûmöö<ú¨æ Z•ªšÐÐL¢¢òQ©ªðò2gÀ»»¦íi©ç]ÀÖ­Éœ;— ÀªUÑèêêhoà@ºwo¸ÿ£Æ¹s¹œ>Caa%† 䀬Æ$„·›ôKÿxc¤\!ê&AAw™ÐÐP.\ÈàÁƒ›´hÑ"ÆŽ+AA¢u„†ÂÂ…0xpóƒ‚-‚±c%(HÜî^Øh:++ýÛP!„B4dùrTªêÓ4ç©BñwÏ„kÉöêeÚ5èè(ع3…?þHdÒ$OŒŒ4¯Ù7y²WíGϪªjÞ~û/Ö®ÓHûä“më,Ãùó¹¼ôÒIbb 4¶ëè(˜9Ó›—^º¹Uvò Ž o_[žŸ~zžåË/i´ý ŒïÎ;ïô¨È[Ÿ””b~ÿ=¡Éåðö6gäHç&¥méçðë¯×>zž:•Í©SÙZç43ÓkÒGÏ8Þ?œÂBÍÕ{÷¶å›oúJÿ†BÜ&ýu…9sNP¤±ÝÕÕ„•+hÛÖ”óçóŽÀÛÛ¼Ž`õ> ?!!ñ,XðååUµÛºw·âá‡Ý´ÊP\¬búô#=š©µoà@–,é£50§!éé%G䣴}{2¯½vZ«]ìÑÚ%KúboßxpÌW_ERÝðë~-cc%Ó¦µoRÚ–~¤³jU4éé¥GÔyÞáà :s&‡^8ARR±Æv''#¾ý¶_³·„BܼÌÌR^~ù$¡¡ší¥‰‰.‹ù1r¤ yyGðÔSžZÁ(5û&OöÒ ¿ÂôéGÉÌ,­ÝfggÈ{ïõ¨³ï¾{–_Õhã<z¶Æsx≶DDäñ믱ôìiCÿþš÷oݺXŠ‹Uæ³{w*¯½v¥RÁ!Žxy™Q^^ÅáÜ8‘Å+¯œâûïýo¾€B!nJBB“'¢°°cì±°Ð#:º€ƒÓII)¾é½gÏ^áÍ7O£RUÓ»·-]»Z’“SÎŽÉ,Y¢=е¨¨‚£G3éÒÅ lm Èϯäøñ,HgÉ’‹ÌÛù–®5""_&h;|8£ÎÁK7JN.fÊ”Pòó+èÖÍšnݬÐ××áܹ\ŽÍä™gްk×pLMåS½B´¦ÊÊjž~:”ˆˆûì vך¥ðäÉlttš·ZÞ?\BGGÁ?ö§_?»Úí;v¤0kÖ1­ô]ºX²{÷ÒÒŠ‰ˆÈ#?¿WWFŒpbõêXöìI½åžK—F°dI_FŒ¸ö!òÌ™+L˜°ŸU«.3kVŒŒ”õæáìlDPO“ÏéímÞ¤t­ñ&N¼öѳW/‚‚:jìß¿?˜˜Âz޾æÓOÏcd¤Ë¯¿j¬.P] ³gcÇŽ¢£ 4VœBÑò–.½Haa%cƸñÑG~èé]€š”T„R©ÓÀÑõ[µ*•ªš  Žm\P£GïÕJojªGHÈ ÌÌô8u*›ìì2ôô”ŒéLRR{÷¦ÝrPÐ÷ß_¢²²š)SÚñúë¾µÁ?¯¾Ú™Gù“Ó§s8z4»ó™=»ãM­Ô­ñt`à@V®¼Œ££‘V›]V¦jRPвeQäçW°pa7ž|ÒScߪUѼ÷ÞY6mJdâĺg¦BÑ2¶nM"""öíÍùå—ØØ\ø[TT©µÒ\SmÙ’DFF)ö,[æ_Û•”¨˜4é 99eZÇ,\Ø OO3ŽÍ$5µ}ý*úô±%+«”Ó§s¸r¥ü–f¶ß¼9™ääbüü¬ùñǵïÓ••Õ¼øâ ¶oOfÍšX^|±á÷èqãÚЫWÓ'Ü´¶ÖL}£Öx^^fuäÂ…\bb ˜5«C튤7)(hçÎÂïððî|úi/”ÊkïüááWxì±ý¬\y™Å‹{ßt…BÜé—þñÆHÿ¸B4ìž Ú½{7‡bÆŒXYY±yóf._¾Œ@ AD IDATƒƒcÆŒÁÚZs™Ü 6pöìY^}õUŒëÜ7þ| µò777gÓ¦MÄÇÇÓ¾}{ÆŒƒR©n SSSÙ¼y3999ôîÝ›ûî»O#ïÐÐPvîÜÉäÉ“µV Šg÷îݤ§§cmmÍàÁƒéØQ³¼^qq1üññññ8;;3zôh,-µ—¢ÏÎÎfÇŽ$''cffF§N DÑØ´^B-3¾ùll`ölÍ}¥¥ðÙg TÂܹ ÛÀÿåvï†C‡`Æ °²‚Í›áòepp€1cà†:ʆ pö,¼ú*ÜPGk÷ÍŸWë¨Fþææ°iÄÇCûöêü¯ÖQRSÕçÎÉÞ½á†:Jh(ìÜ “'k¯¯>Ozºº¼ƒCu”âbøãõqÎÎ0z4ÔQGÉΆ; 9ÌÌ S' ¤Ñ©ç„B!„B!þÒÒJˆ‹+¤kW+­mÐüÕô’“‹IO/eÀ{ž÷ß¯ááW4¶+•:<û좢òëÌ3+K{pÓÍHI)&-­„ž=m4>xtëfŃº²iS"çÎ]¡wïú"9;k}<¼U­õZBFF)—/Ц û÷§³:ÕÕÕµ¬kºÉÎË•žBÑÊŽÍBGGÁ;ït×Dpu5iv¾aa9é2k–fûææfÌ„ |ÿý%í::ð×پ=¹ÎünµÍ8u*¥RÁË/wÒø$ce¥ÏŒxãÓœ:•ÝhPÐóÏ·l› ­÷ZBhh&J¥‚œœr–,¹¨ÑfU\ý &AABÑšŽU¯x3o^g@]||,š•oXXÏ?ï£Ñ)™5«#Ïœ€±±.K—FQ}µÁ®®†êêjÌÍõ´úM„B´<éW“þñúIÿ¸B4îž Z´h~~~Ì›7ÈÈÈÚ}666ìÙ³‡nݺÕnÛ°a«W¯föìÙu­^½š_|Q#(hÑ¢Eøúú2wî\âââjÓ°k×.6mÚÄäÉ“)+»öÃ`æÌ™|óÍ7µÿ eáÂ… þ†:Ê¥K0v¬: ¨†­-lÜ×ÕQ–-S_Ç u”®]ÕÁIRG…B!„Bñ7wåJ9mÛš¶h¾ùù¸º×¹ßÕÕXë£ç«¯ž"**//3zõ²ÁÚZ==%å媫dn­Lyyê2¹¹Õ]¦6mL4ÒÕ'%¥˜ßOhòy½½Í9Ò¹Á4­õZBÍLÓ E|ñÅ…zÓ4|ß„BܺÜÜrìí 11iÙϬyyå8:jÌP_ÃÍM;ÈåÛo£Ø¾=kkíqt4B__…BÁÚµ±”—WÝr™òó+°·7ÄÐP{v⦶Ù_}yS+M›Ö¾Ñt­õZBNN9*U5‹GÔ›FÚl!„h}¹¹êwëæf‚Bqí~4dãÆ‹›|ÞI“< fj­çÐrrÔe[·.îÎD!îqÒ?~ô×MúÇ…¢qw_/i+{öÙgÑÕÕeúô阚š²}ûv.\¸ÀìÙ³9xðà-çÿÜsÏabbÂsÏ=‡R©$$$„ÐÐPžþyV¯^MÏž=éׯYYYüúë¯,]º”éÓ§Ó½{÷zó\²d ~ø! …‚Q£FáããC\\ÿûßÿøþûï±µµåÃ?Ô8fÖ¬Yèëë3}út Ù½{7.\`ܸqDFFbccCQQ/¼ð¥¥¥<ðÀtéÒ…ÒÒRÎ;Ǿ}ûÈÌÌ”  ¦úòK8u ^~Y½ºN¿~ðý÷ꀠÿü¦Ooz^Ï>« š>LMaûv¸pAüÓu”çžõ+•¢ôyþyu QÏžêògeÁ¯¿ÂÒ¥ê²4PGY²>üP4jøø¨ƒŽþ÷?õ}°µUï¿Þ¬Y ¯¯ÎÛÐP´tጧˆ²±¢"xáõŠK<]º¨ÿ÷¹s°oŸz•&©£B!„B!„ø›«@[ØhÚšA¹EEZoRR4'U17WOÒ’”T÷€ž·UrâDݺYñÛoƒ4%GDä±tiT£åkŒ……ºLõ 2JH(ÒHWŸ””‚ƒëh{£‡rmô£gk=‡–`a¡>G»vf<ø k½é|}ëX…[!D‹²´Ô'9¹˜¢¢ÊR Õ+iHIIÑn-,ôIK+E¥ªÖ JL,ÒJ¿o_††J¶m»OcÖýêjøñÇh•}šËÜ\ÔÔJKUZAMm³¾þ:•ªi#§lm šÔZÏ¡%˜›ëR^^Å3ÏÔíÚÝ}£…âŸÆÒRýSP;À¶.5+ëWjí«¯Íõ;µ½½¡Æ¾ºÚì?ÿLàë¯û0t¨“ƾˆˆÜ†.¡ÉjÊ”P¨5È81±ˆêêk÷£!7&šÙäó>ôK£AA­õZBÍ}{òÉ¶ØØÖ™¦æ·„BˆÖ#ýã×Hÿxݤ\!wÏyyy±k×.ŒŒŒøðÃéÚµ+‡&??ssó[ÊßÇLJ;v`` î|Ÿ3gÞÞÞ¬X±‚7ß|“wß}·6íÀ™6m[·nm0(è£>`ýúõŒ7®vû±cÇ dñâżù曘˜\{yvrrâàÁƒµ×SYYÉ„ ذa«V­âå—_¦°°ÒÒR¦M›ÆòåË5ÎyîÜ9oé^ÜSôõÕÁ5~~0~<üðƒ:ȦkWøöÛ›ËËËK½jÏÕ:ʇªó9|òóáë(>>°c\­£Ì™ÞÞê¦7ß„ëê(´i°ukÃAAWë(ë׫ƒzj;°x±:ïëê(NNê §šë©¬„ Ô«­Z¥°*,TM›7ÔQΩ£B!„B!„øpt4ÂÃÔ³g¯°vm?ÿÔ©lüülP(ÀÙY=¸gß¾tžzʳ6Í¡Cœ:•­qœ‹‹1†„†frìX}ûÚÖîÛ±#EkD…BB¡þ wýÏòò*>ÿ¼þÙ÷n†³³1ŽŽFœ:•Íž=iÜwßµþðð+lÛ–Œ¡¡’.]¬ÉLj  Ÿ&Ÿ×Û»ñ>µÖz-ÁÉI]¶ÌÌ2FŽtÖºžêjõ¹»oB!n¿¿ëÖűpá>øÀ]ÝkmfRRJ¥NNFµmÅŸ¦ñè£îµiÒÓKëœÞÏÏšM›ù曋<ÿ|ÇÚ퉉Åüö›vz…B®®Í`o¿½H^^y“þ6¦gOþø#‘/¾¸Àk¯ùÖnÏÍ-gÙ²¨Ú4™=»ãM­Ô­õZB@€=ëÖÅáîn˜1nZû##ó03k<˜J!Ä­ñ÷·#$$žO>9O·nÖV‹Š*IH(ÂÇÇ[[ôôt8z4K#¶¼¼ªÎÁ¿~~Ö¬_ÏW_E°l™?zzê ‘’K–Dj¥W\Ô55ÕüÛôh&{÷¦µÈµúùÙðûïñ|õU$~~Ö©‡ƒ©TÕµïóMi³ÇkC¯^¶¦«ammÐhšÖz-Áßß–8TªjfÏŽfTuff)©©-?°Y!„&éW“þñúIÿ¸B4îž š7o^m@€¾¾>Æ ãâÅ‹¤¦¦ÞrPÐܹsk‚<<<ðòò"**Šùóçk¤6lñññõæ—@RRýû÷×èÛ·/ãÇgÍš5„……¨q×_‹®®.ï¼ó6làðáüüòË888пöíÛÇ–-[8p`í1]ºtiþM¸WµikÖ¨W´¹ÿ~°°PÉ\WßšdÞ<ÍcôõaØ0¸xRSo=(hîÜkAê@¤¨(¸¡ŽrµŽÒ@%!’’ Í€ €¾}ÕARkÖ@X˜:@¨Æ¼yš×¢« ï¼£ :|Xäà Îwß>زE¤TsŒÔQ!„B!„BüƒÌ™Ó‰  ã¼ùæiBBâñõµD©T~…°°.^‹R©`èPG¾üòï¾{–'²qq1&::Ÿ?ÿLÇÆÆ€ÌÌR|§NmÏ„óïbøpgÜÜŒ‰Ž.àÏ?Ó°¶6 '§¬6­±±oosŽËâ_ÿÚO¯^¶Tpà@:eeª»Ö3¼ùïÏ0cƆ qÄËËŒääbvîL¡²²š§Ÿö®!¸>ÎÎÆul0Ms´Ösh óæuá¹çŽ2zô^üýíðò2ÃÀ@IRR1gÎä”TÌùó£Q*›6˜Z!Dó<û¬7[¶$±aCÇgãïo‹……>11…8Æ?àädD—.–ØÛ²}{ '¤{wk²²JÙ±#ccíO´“'{±uk‹GšI×®–ä䔳cG2††Úé{ô°&<ü ?¼‡aÃÔ³ýž:•Íùó¹-êß[·&ñ×9y2??+ +Ù³'œœ2ºw·¢_?»Fó¹>È©¥´Ösh 3gz³}{ /¿|’•+/Ó­›ffzdf–•OxøV¬ÀÅŸñÌ„B4Ûƒº²lÙ%"#ó2dC‡:áèhDJJ1‡e0qb[||,ÐÑQ0x°»v¥òðÃ{<Øòòjöï¯û]xÔ(W/ŽààÁ |pØSU¥^ů¤D;}Ö<ûìQFŽtÆÊÊ€K—òÙ¿?kk}²²Ê´Ž¹Y?ìÂ’%‘œ<™ÍÈ‘{4È==Îàòå,,ô™8±m£ùŒ׿–Ër£Öz-ᡇ\Yµ*šµkã8x0ƒ€{llôÉϯ .®ãdz˜:µ=]»Êc!„hmÒ?.ýã‘þq!„hØ=俦=“©©)ÚËÆß,WWí¥éLLL°²²ÒXɧf;@qqýËÜ^¹¢ŽFöôô¬s¿——999ÛÛ¶Õ~™¯ÙV“'ÀöíÛùüóÏyë­·8þ<®®® 4ˆ™3gÒ§OŸzË%êîî cÇB»v7ŸGu”«u”¨£ÔQG11++Í•|j¶4PG©©OõÔQ®ÖQn¨£ÔQGk·]WGÙ¾>ÿÞz ΟW—Ð ˜9¤Ž !„B!„ââÁ]ÈÍíÎG…sæLgÎ\ëKéÝÛ–« ããcÁþãŪUÑlÝšT›föìŽ$&ñljùNžìELLkׯ±}{ríö‰ÛRZªbÆôï¾ÛƒéÓ–CX˜º 66,^Ü›§ž:Ô"×úÔSž¤¥•²|y{÷¦ÕÎŒ¬PÀøñî¼ôR§9Os´Ösh Ç;ñùç½Y¸ð fpð`Fí>ƒ9 ««ÓâçB¡©MV¬`Μ“$%RT»ÏÕÕ¸v¶\CC%o½Õ•_<ÁñãY?žÀ€öÜwŸ žÑÈ·kW+Þ{¯ üʼnYœ8¡Nß­›5£G»òî»g5ÒuäÈ‘L.]ÊgåÊËèê*x÷ݬYCRRßvš¨S' ¾ü²¯½¦Õ.öèaÍ’%}kÛÆÛ­µžCKpu5áçŸðòË'9w.—sçr5öûøXH@Bܺº V¬¨m6mºöžfjªK§Nµÿ~å•΄…åll!nnÆ,ZäÇÓO‡jäkb¢Ëwßõcúô£émm øàƒ̘qT#ýý÷;óðîlÞœDHȵ YÇ÷ÀÌL—+.ßòµéòÃÌœ©.Óš5±µûìí ùê«>ØÛÞòyš£µžCKP*üðCóæbïÞ4BBâ4ö;8J@BÜ&Ò?.ýã‘þq!„hØ=ÔTÆÆêŽØÂÂBlm5—ÆMHH¨ëVae¥~¹Œ‰‰©stt4ÖÖÖÛcccñ÷÷×Úv}ž ˆzûí·yûí·)++#<<œe˖ѯ_?¶lÙƒ>Øb×rOxî9u@—üô<ú(<üpëœëj¥°n¨£ÜÆ:JM}ª§ŽrµŽrC%6n¨£\­£\WG15…·ßVÿ§¬ ÂÃaÙ2è×O½zÔQÑÖ¯gÞ¼0¾þº/#G:ßéâ~…qãöäÓ¤Yî¶òߌààH¬¬ô™4©žÀ¨TÕ|öÙvìH&5µ„~ýìX±" Î´Çg±n]§Ne“•U†R©ÀÞÞc† qä\j;¿ã㋸ï¾Çëééàà`È€öÌžÝGGõ*n[¶$ñâ‹'xöYo^y¥sç~õÕSlØÀêÕË7¦®r+±°ÐÇÛÛ;y¤ ÖÖw£GiÃÇ÷ä…N°ukË—û3dˆc½é÷îMeúô£ŒåÊ—_ö¾©òØñÓOnùºJJT,_ÅŽ)ÄÇ¡T*pq1¦GkÆŽu£W/[óæ…±iS"öö† âȼy12’Ÿ¼BüS$%1xðNžzÊ“ÿþ·Û.¾¾›ðõµbÍšÀFÓÞåoªcDzøùç¾þºéù¿ÿÏO?EUœ??ºÎt EüôS4¡¡™¤¤SQQ!ööøûÛñÀ.tìxíÃpÿþÛHO¿6»”R©ÀÊJŸ=¬™>Ý»væÍÌÌRüý·Ñ­›ë×®óÜ5¿£šú»ëz7–ÃÀ@‰™™.¦øùÙðè£mðò2kô¸¹¸³ÿý¬YËÛoÿÅ´ií™?¿þ•RssËñ÷߆µµ>ŽDG§i#òú÷ßFVV/Žm‘몮† âùý÷"#ó(+SáädDÇŽ<ü°C†8``pmf®õëãyýõÓXZêãçgÍë¯wÅÍMÅ 1qb[FråàÁt‹03Ó£K+ºuÓ€òæ›]5Ê'²ÐÕÕ¡_?[||,ر#wwS ®}øÒÑQðÞ{=x≶;–Eu5ôìiC÷îVìÚ•Š«« ††×ÒûùY³k×pöïO'-­ggc†uÂÀ@‡  ÚµÓþÐ??‚‚|pqÑ\M{îÜN<þ¸;¡¡Yde•ba¡G¿~vuþ¹ÝZã9ØÚäCÏžÖ7žŽ Ú’“£Ù6Ôwß~Ø•áÃ Í 6¶ˆªªj\]éÞÝ'§›\±\!D³õìiÞ=#8r$“‹óP*uðô4eÀ{”Êk¿ÉxÀ….]¬Ø·/ââJ:w¶¤{.\È%(ÈOOS|ÇwgÀ{þü3‚‚ Úµ3gð`¢¢òµÚaKK}6oÊÞ½©ÄÅbn®ÏÀö8;SUUM~~ùM]“ƒƒAA>Zý™#G:`Çé$%£¯¯ƒ¯¯½{Û4ãε¬ÖzÏ>ÛkkíÓv(±µ½ÖYß}ëÔÉ‚ÿû¿û ËæÜ¹\JJT8:Ñ¡ƒ9>>7f-„¢•ØÛ²fM ááW8}:‡’mÚ˜`‡…ŵ•õ<=ÍØµk8»v¥‘Q†««1Æ9RVVEPÝ»k¾úúZ±{÷pöìI%%¥C† s¢º‚‚|èÚÕR#ý_ôfâDOÎËE¡€ž=­ñõµâС LMõ°±ÑþFÖçžëˆ½½æ1íÚ™±}û0Î **•ªOO3´×è—»Zë9ŒåJ§N–Z€ÝÝM ò¡GÍß+uÝ7++}–-ó':º€“'³ÉÉ)ÇÚZSzõ²ÑøM!„¢uIÿ¸ô×þq!„¸y2B²mÚ¨—Äݺu+³fͪݾk×.>|[ËáêêÊáÇٴi£G_DuòäI~ÿýwŒŒŒðóóÓ8nÑ¢E<üðØ™©$TVVòöÛoпRSSIJJ¢woõ@_zõê…µµ5Ë—/ç§Ÿ~’  ›±|9¬ZS¦À'Ÿ€ŸüûßV÷ª8·êjeëV¸®Ž²kÜÆ:J›6êÕ{†M›àº:ÊÉ“ðûï`d¤¾×[´H0uµŽRY©ü¸ZGIM…¤$¸ZG10€^½ÔFË—«¯¤Ž qOùõ×X–-‹ªýwuuµVšòò*Þxã47jHÖÌ*uèP7&ð¿ÿ ©÷\U$%³vm»v¥òÇCjƒn§âbÅÅ%¤¦–°:_}É;ïtg̘:V–k‚ÇsgëÖ$6lHh0(¨f6”ÇsoÖyÓ”ë*,¬d„ý\¼˜¯qlTT>QQù¬[Çÿýß}x{›×î«®®¦¢¢Šääb~ù%kk}‚‚|Zå„BÔ/**ŸùóÃjÿ­¯_÷¬L?ýÍûRi¶éIIE$%–Ã’%9{v4ÆÆu¸V©ªÉÊ*c×®TöîMcùrth¹‹i¢²2ee*²²Ê8y2›åË£˜2¥óçwir ÎõFråý÷ÃùãD^y¥s½Ÿ·lI¢¢¢ŠqãÚ4ë>ž7RQQÁ¼yó01ÑüqššŠ£FÂÀÀ€={öpþüylmm™ÕÕ°n]C†80i’WƒK×?žÀgŸõbÄgŒŒ´/Xp†02RòÌ3ÞŒáD›6¦(Õdd”‘’RÌÞ½i$&i{ý 7ÅÅ*ΜÉá­·þ".®ï¿¿Ä›ovm¡»Ð°ëËQ^^EVV)gÏæòóÏÑ;–Å+¯œÂÜ\O+¨çÆzêÒ¿¿†ìÙ“J^^¹Æì[5òòÊÙ»7 GG#ìîØu­Zu™‹óqr2â7ºÒ»· &&º$'sút6$h ~þøãž¼ûnwNžÌfòäÜ<™ÝbåBˆº„‡×½úÍ?AUU5ÿû_"ëÖÅ™GQQ%ƒï _?;þó¯g6>qBÝf?õ”'/¾èSg{ólj¼óÎYÆkÿþåA‡æ)ÉÊ*##£”#G2Ùº5IcU8PÜ®Yᦢ¢Š˜˜B>ùä<ûö¥ñÉ'çoÛGïëË¡RU“—WNdd>›6%²aC+V\FOOGkuÁ뫹¹Ç;±eK¦3xpÝÁ¼ë׫qnüP~+nöºNœÈbÆ„Úm<à‚%\¼XÀ¦M‰jþn{ôQwÆŽmCbbÿþ÷aÂÂr¨ªªn•À&!DËûë¯+8Þhº´> !„âöÉÌ,å×_ãMçéiz×ý!„÷Š¥K/R^®=!âõôõõ¯ !„âöþq!„w# ªG÷îÝ bñâŬ[·®vû[o½ELL «W¯¾me™5kIII|òÉ'lÞ¼¹6hG¡P0uêTÞ}÷]­c¾þúkæÎËwß}W»ÍÖÖ–7bc£žyÄÙÙ™>}úpüøqÂÃÃ5Ž8p`íÊB¢¹¹êÀƒk«âôé_|¡^ÅçùçaÙ²–=o÷îê@¤Å‹áº:Ê[oAL ÜÆ:ʬYê}>ùD°S´£PÀÔ©PGåë¯aî\¸®Žbk«$ºZGqvVßÇãÇá†:ÊÀ×VBümTTTñøãˆˆÈÓØ™Gdd±±E|ýuŸzÏϯ@¡P2Wxý IDATÏúT×lùgÏ^!$$##%¿ý6Hk°²»».îî&øû7èbl¬Äßߎ·ÞêÊÔ©¡„‡ç6ñ*[–¾¾ÎÎÆ8;3r¤3ï¿ÎÊ•—ùàƒp r¸é³:: ÆkÃÒ¥QlÙ’Ä“Ozj¥Ù²%™òò*Æskµ¹M¹®Ó§sxï½ tmpwÍL]õ­bd` ¤{¬­ ÈË«h•ò !Ľà¿ÿ=Ú5±Û’’Šùý÷xvïNåäɇê=6?¿€‘#±´Ô*)©ä½÷ÔAï¿ßƒ <4ö;9áädD·nV̘Qÿìzz:tè`ÎâŽñóÛBDD•• |o6½ ô„!tAÊ ˆté ©"ÍOŠ"ˆ€RÁ ¢ " ¤P¤„"J‡P!¡ÒCz#=›ýþØw›ÝM6! ûºö‚œ3sò›Ý“óÌÎÃĉ,]ª^EæèÑXÞyçóç·,Ó¡UÉ­[© þ7³g7WÑWý2™œ;âçITTr¹¢Lú!N¼ñ†+&&538}:ÐÐtš4©Ã§Ÿ¶áÔ©x,- éÒÅ–S§âILÌ-µ¿2{¼¦€ xš)òäF¥V/x‘ùàƒ–<Í£GO MW+o¬ #Gºðý÷÷ð÷ÒäçQÜ®ºÐ4®:u ÅGEÐ×—PTTýNáAm£¨HÎO?=`÷îpbb²±·7fÜ8wú÷w gÏ£¼ù¦;Ë—{—'£eËôéÓ€>jͪU7¹x1 ™¬ˆêñÁ-Už¯Y¼òÊ1•k”<7i’G¹+­ÉÙºõ»v=Õìíí΀Zû&ñã¸v-™'O °·7¥_¿¼ûnsÌÍõÉɑѹóaœœÌ8x°·Zÿää<ºv=BçζüüsWµzzÀÓÓšß~ë^aýýõ˜mÛpï^Ožâà`J÷îv¼ývê××^A¯*IOÏg×®pÌÍõY³¦ÆÆR||"øàƒ–\¹’ÄÁƒ1¥öW>õõõ4žÿë¯xRSóiß¾®Z@PE‘”,'TÃôíÛW_mȱc±;§,£+/¿l‹½½ 'Nh®ðW6[Ó¸êÔQ誨Í60PÜ'2™°ÛÁ‹BÛ¶u™=»¹Ní@ Ôõêéd³ÝÝ«&É€@ Ý™>½±N•‚@ Ô,b}\ µ‘UPPŸ>}Ê}®sçÎtîÜYåØˆ#1b„Îט6mšÆã¦¦¦,_¾\åØÃ‡°±±QkïêêÊÔ©S5^K›ooïRÛ´hÑ‚-Z”ÙN …^½/m(ƒÊ¢OÅ«¼ç:wV¼žeÄÅK×kh¹G15…÷(ÿ»GÑpâê eÜ£j:t¸GiÑBñÔòòd¼ùæY•j/ÁÁiLŸ~‘µg¼v-…Ï> .vöËÍ•±gOW¯¦°wo/LM¥ZûV†æqãÎè¬Y.‡ùó¯°”Êñ;wÒY¾<ˆÐÐtV­jK§Nõps3gÿþ(.l…¡¡ªã«OR©„#œ«Uÿºu·Ù²å¾Ê±àà4‚ƒÓ00Ðcüxõ@’4mºOgÇÌzõŒ¸xq`™íÒÒòx禴o_—sç14Ô£E KZ´(;ˆ'+«CCí÷ɵkÉåÓDNŽŒ›7SYµJQ©ÌÓ³üÁ7U¡¡Ý»ÛáïÉ­[i rs3§];®]K!,,‹âsaa™Ü¼™Jûöuqu­>gMãêÝ»üÍÒ¥×yÿýtîlW®ç„¡¡YY…U¨Z x1X¶,ˆßZí%**›Ï> æömíÐÒÓ xýõSÄÇ? Ö<}:ž+W’ؽ[½[uhþüsíšÿý|ù3f+::‹Ÿ~zÀùó‰ìÙÓ} r`ÏžnÝJÅÓS5+“¿$……rÆŒq­Výýõ˜·ß¾ r,,,“°°L?Î-µ‚ž’ Îrþ|¢ÎúŽí£òì×DffEEr† qbÀ.]JBOO‚››9nnæŒíZjÿìlÅó·äÜH‰²²LeØìÂB9eòÅ·‘Éä4on‰¾~íØå{Ž‹åÖ­Ô õWTøsâ»ïîqèP ÞÞnÅçd29û÷Gal,eРêÍè]r\]»Úad$åÇïcccHïÞöØÚêЦœßeg ‚ÚM›6Ö"á@ /¶¶Æ¥&Æ@P{€@ x1ëã@ ¨ük‚‚j;dÿþýüòË/XZZÒ¤‰nÕ$‚jãàAØ¿~ù,-AÜ£ÿj~ùå!¡¡é¸»[°b…^^6¤¤ä²uk¿ü¦µß‘#1Œé¬YM±³3&88•å˃¸{7ƒÍ›ï2o^Õ=«yùr/Ú´±!%%-[î±sç#µöû÷G±M›ÖaÁ‚VxyYcd$%88O> b÷îpFr¡m[Frá‹/nsüx¬ŠCf||.gÎÄóŸÿÔÇÎîù²ü—Wÿñãq˜˜HY·®/¿l‹¾¾„ðð,öïªÒ૲hÓÆ©T™3 ôﯽÚCI²³eœ?ŸÀíÛi4n\Gk»¤$EБ££™Ú9oï3&©;|øš4yz½óçiÔh¯Zߺu˜:µ±Îz«SRSóUŽkÓ¨UÞ9Ò…k×RØ»7ŠùóŸþíùû+ª-U}””×k¯9rûvÛ¶=`Ú´‹H¥\]Íñò²¦OŸôéÓ==íNß..æœ;—À¾}QôéÓss1õüû Já÷ßan®ÏÒ¥­yå•Ê9v,–Õ«oiíwùrmÚXóí·/Ѥ‰%±±Ùü÷¿¡İbE»võ¨2Í7o¦jÔÚ5Ájí£¢²Y±"ˆ:u ùðÖôìi¥¥!‘‘YlÜÊ‘#1lßþ3šðúënìÙO„ZP¯oVV†Ï¤R^ý'NÄðÞ{-=Ú++C¢£³9w.ˆˆ¬çÒò<88˜aooµk)¤§ç—ÝáäçñàA&‡G#•JprR·É@qu@M6û«¯îðÕW¡*Ç–-óR j–ÉämžT*aþü–:ë­j´ÙlmúµÊ[#GºðÝw÷ð÷P :w.„„\†uªvWr\NN¦¬]ÛŽ>ºÁ’%×hÐÀ„V­¬èÖÍŽaÜ13Ó®ÑÅEqlÙrŸY³šbccD-+ü$@ @ @ @P+ž‘µ„ƒòã?¢§§ÇêÕ«10™qµŒƒáÇAOV¯qþ« ˆE"o¾éT ajjÆÇ·æáÃLΞMÐØÏˈÏ>kWìà×±c=¾ÿ¾ ¯¾zŒ€€Ø* ˆÑ Ù”+Úðèѵìú¾¾Š ?Û¶uU è騱.ÿýoGú÷?Á‰q´mkÃÈ‘.|ùe>>*AA~~Èd•Sq ¼úííMèÓ§R©â oÞܲ\•îÞöܺKâá¡jZ¹òÿý)×ÁÞÞ„®]5WY°àjq Š‹‹}ÔºÒuiB__‚½½)ݺÙòÎ;ÍŠßÓÚ€\·N¥2h#+WÞbïÞÞ{¯9zzŠŠäìÛ‰‰‰>ê´UYhׇ¶bÂwŽ‹ãúõnßNÃß?ÿH¼¼lضíe­.lÅûï_aþü+tïnǶm]«rA­ãèQEÀÉ´bäȧÁ~ÞÞn¤§°~ýmýLM¥lÞÜ…ºuÅó{Ã†Ž ”Á•+É$%åQ¯žQiŽÕ¨ùÍ7ÝIO/à¿ÿ Qi¿oŸ¢ÂÏÊ•m0à鳫Q#…æ+W’9~<–3šàåeMÓ¦uøãh/öÄØXaw®^M&,,“É“a` ¹²MUéWÚ—¡CŠ+«(«ñèÊ/¿t{.ÍšH¥³f]¤[·\]ÍÉÏ/Âß?’nÝì4<ûùE°pá5¬¬ Y¼ØkkÃJ×V== ÖÖ†´mkôiMh×NCUÓ¢2l¶««9íÛ×åêÕd>ÌÄÝ]QåÉÏO1?zö>«.4kÐ Gþó{Ž%00‰ÐÐtNž|ÌñãqlÚt—좵Âáo¸rõj2;vÿ<˜U«4Û%£­Œ%Ô"#•fºw·S;×½»Ö  -¬Š‚”èëKèÒÅ–°°L""žTYP²:Ž&Í=zØ©ÕÜ¿ŸÀܹ—™;÷r±–ËåÅÿvþ1z´++WÞ$ –aÜðñ‰`̘ç®(¯þÉ“˜Ä AòŸÿØÓª•­ZYÑ¡CÝçPz^Ú´±æï¿ûqútÜ™eËn°dÉuš6­CëÖÖÅm×®mÏâÅžìßŧŸÞdÕª[üôÓ˯ۮ]]BCÓùóÏÇxzZkló¼XY)V”AašˆÍ¨’êùùEÅw­Ziζ¯+#Gº°~~tëf‡Ÿ_Dññê¦<ãrt4ãË/;Ò¶íAþþû±Öv_~©̞݌ñã=ª¥Z…v.p•þýû× Á¿‰Ãý<6[y=¥s¿¦KåæÊ*|ýò ‹ÍÎÏÈ9l˜k׳gO8Æ9‘•UÈ¡CÑ´ic­1ø¶ª17×gÇŽnÜ»—Á¥KIܹ“ޝo))y,_î¥R…P&œU .£Gûàáa¡S[CC=úôi€……yyElÜØ‘;²råM\]Í™2¥QqÛ‘#]8ЫWSø¿ÿ»ÄÂ…×èÕË^cpSÛ¶6lÛþù˜©S묽ܹFit—¹¹>sç6çÔ©xnÝJ%**3µv(æ#¯¼bÏÒ¥­iØÐ´JtëF.ÇŽm¤W/oLLjO¥H@ @ @ @ MÔlÚa@ ¼¸¸˜óøq¨W÷ÑV%Hq.QÍi8**›G2qq1/>¦¬L¥ž9þÂÝ^U5›ŸS\MàYNŸŽW;æáa‰‰>ׯæÁƒá_›6u*nߣG}ìíMðõ ¨HΞ=ŠàŠQ£œ+¤÷yõƒ"}ÇŽu™1£)6täï¿ûòäI!‹]«M•‰2«|Q‘œ‹Õ?c++C&NôÀÕÕœàà4­×1Bñ~oÝzŸ;wÒ«Dkóæ–èéI8>‘Ì̵ó±±Ùܸ‘‚™™¾Ê}]Y|ñÅmsqs3§yóç«üÔ¥‹-¦?G\\NqÅΫ¿â@yÇ•™Y@Q‘œôtõÏ@Ipp*VV†¼ûnóø“wß}—iÓ¦SÃZÿ&œÎ÷§O«Ð;§Ý¦†„¤‘œœ§r¬°P^l‡•×UV ªl› pæŒúœâôiõcÊà–íÛ»jµÙW® *noeeHß¾ L"<ü F““#cÌ· é}^ýJš4©Ãøñî¬ZÕ–£GûЩS=æÏ¿Jzz~¥èª,¤R ÞÞnèéI8wN}<&&útëfÇ AŽdfW«*I¯^öX[rùr>>áU¦µiÓ:¤¦æsùr²Úy™LÎÑ£±´lù|A;š8v,–ãÇc‘J%ôíÛ๮ef¦O¿~ xü8‡óçñ÷D"y:÷©NÊ;.¹œâ9SZZžÆ6Êùݼy-pt4ÓZªzæÏ?¿eÀ€üý÷ß5¨C @ @ @  lDP@ ÊM¿~ Ëáw.qéR992bb²YµêV©AAAA),Ztˆˆ,rrd\¹’ÌÌ™),”Ó¿Ãâv+~þ9ŒK—’ÈÍ•ÅêÕ·8~<®Bšû÷wøŸæ@.\H$;[Ftt6Ë–ÝИYôhrr ™0á'OÆ‘’’GAA11Ùüõ×cÞyç’J?©TÂÈ‘ÎÄÆfsøp GÆÒ©S=\]+'(¤üúOñÛoxð “Ü\™™œ>@ZZ¾Vçܒܽ;L«suÉ—®U‚||ÂY°à*—.%‘–¦prÎË“qùr2ëÖÝÀÒR{ðFýúÆ¥:G{yY3r¤ ÙÙ2ÆŒ9Å×_ßáîÝ rr ÉË“›ÍþýQÅCɬoiiÈ+¯Ø“‘QÀøñg¹t)‰ŒŒrse\¼˜È´i‘Éä î\)U¢ò󋈋Ë! †7ß<˶mH`Ñ"Ïçv˜•H`øpgrseÌ™Hn®Œ#ª§â€.ãZ¼ø}tS§â‰ŒÌ"/OFZZ>gÎ$0mÚ•ªR%ÉÈ( ~}ã©  Î~ÿýw¢¢¢èß¿??ÿüsM üKè×Oa_×­ aß¾(ÒÒòIIÉc×®p¾ùæ®Ö~ÙÙ2¦O¿@PP 99…„…e2wn aa™tèP·8ÈÄDJƦœ9OOž’œ¬¸þúõ·ŸKó_ãçAZZ>ÉÉyüúëC¾ýV]³òyûÞ{Wðñ '..‡‚‚"’’ò¸r%™+‚øþû{*}ÆŒqÀ×7’={Â11‘2xpÙyªBÿ¢Eר¸1”àà423ö$((•û÷3)((">>·ÌßùË/Ýt¶Ù שJЃ™LštŽ€€X?ÎA.—ST$çþý >üðEEò2m6 5xÓÄDÊ¢Ež,^|?¼Æ•+ÉdfPX('11—³gøóOE@[EŸå#F(ªß½ûî%ˆ"!!—ÂB9÷îe0gŽâžnÒ¤N©öDWd29©©ù\¸È¢E×ù¿ÿ D.‡É“áè¨^§¼(+ùmÜÊõë)tèP·8@¯*Ñe\¿ÿþˆ™3/rà@d’•UHVV!ÁÁiÌ{™ðð'˜˜HiÒDsàoF†b~go_*ótà£ÎÒ¡C¦NÊ»ï¾KF†z`¾@ @ @ @ Am@¿¦àÅcˆæÎtÆ;S|\"8r$}}uÏÍþý²wo$¾¾*Ç=<,˜>½iñÏNN¦ôë×£GcU®/•J6̉}û¢* Ù¢ Mgüø³*š räСh•ö#F¸˜ŒŸ_Ó¦]ÔxÍ×_wUùyôh¾ýö.K—Þ /OVìp\”WÿíÛi\¿ž¢“îê$7·ÿHüý#Åg*“=-åâbVªS¶T*Q«6U’O>ñ¢°°ˆýû£Ø¸1”C5^göìf:9Ekâ㽸u+àà4•{TIãÆuxÿýº6Àùó‰4j´Wã9SS)Ë—·¡woûrõkÕÊŠ}ûz©9Ò…o¾¹Ãµk)ÿ«8àRaÝeQÞq¥¤äsâD»v…kìcf¦Ï¢E­´þ¾¢"y WP¥C‡ìß¿Ÿ 6°zõj.]ºÄêÕ«±¶~~Gt@^^ÖŒãž=ÌŸEåœÒ~¨çŠèرO9ò”ÊqSS)Ë–y©›:µŸ|r“E‹®©T£=ÚµB`Z·¶æ7Üøý÷G,\¨ZÝnð`GTµy®®æ|úi[–.½Î¢E×5^súô&*?wéb‹““)¿þÆ“'…Œ튩©´ÜZ+CÿãÇ9øøDðõ×wÔ®Õ¢…%UÌV=/EErΞM(øVÚìcÇ•uLLôyë­FZûK¥zÅ×ÑÆˆΤ§çóÙgÁøúF¨Í•ôíÛ¡C*4ŽñãÝ9y2Žóçyï½+jç-, X»¶}…® Š€m¶M"‰=øàƒ–åêpóæµ{²sg[ÍŠçx£FUÍ.ï¸rse?WjÿâÅž˜˜hþ;SÎïj‹Ý¶°°eݺu 0€Å‹3dÈÖ¯_Oûö¿W@ @ @ @ ª$‚rcl,å×_»±~}ÇŽÅòäI![0{v3‚ƒÓ9r$Fcæøöíë2v¬ÿýo(wï¦cb"¥OŸ|ðAK5§Ç5kÚQ§Ž!ÇÇ’“#£E K>ø %ááY 22’²sgwÖ¯¿ÍÑ£±dfâáaÎìÙÍIOÏW ª‘HàóÏÛñŸÿÔg÷îp‚ƒÓÈÎ.ÄÞÞ˜fÍ,1Â…®]íTú8:šÑµ«gÏ&`aa Rýèy)¯~?¿žìÞÎÅ‹‰DGgcb"ÅÝÝ‚Q£\9Ò¹Òt•—1c\°²2ä?¢¸w/ƒ¸¸Œ¥4jdA¯^öL™Ò33íÓ‰eŒŒ¤¬_ßQ£\ðõàêÕsÑӓа¡ ݺÙ1a‚..Ϭߠ û÷÷â‡îñ×_ñÄÄd#‘€³³ýú5ä­·cn^9Ó,},- hÜØ‚—_¶cÄgêÖ5ª”kƒ"¯cÇz&ѱc=œœL+íÚ¥¡Ë¸Ö¬iGïÞqœ8GX˜â~ÑÓ“àà`J—.¶LÚGÇêÑ[Y²`ÁzöìÉüùó:t(ß|ó žžž5-Mðfåʶ¸¸˜³{·¢ŠŽ½½1ÞÞîxzZqèP4uê¨õ±´4`×®¬\y“ÀÀ$ŠŠä´o_— ZѼ¹j¥ñã=ÈΖñûïˆÏÁÉɌɓѵ«]…‚‚V¬ðÂÅÅŒ]»Â‰‰É¦~}cÆŽueð`'µ PØ—fÍê°uë“HIÉÃÆÆWWs r`èPUÛ'‘À˜1nÅՌƌ©ÜàŠòèÿüóöøúFpâD=A.—Ó°¡)ýû7dòäF5$Ѹq~ýµ{÷F”Btt6P„««9íÚÙ0sfÓR«ÔèZÙgòäFôêeÏŽ9>‘ØØlòó‹°µ5¦C‡ºŒãBçζ‡T*aëÖ®ìØÆDóàAùùEÔ¯oB×®¶Ì˜QúS¿Ÿ IDAT8ʃuê¿G#F8Ó¸qJ¹6ð¿à]g¾ú*)TNu«²Ðe\ÞÞn89™qôh,ÁÁiÄÆf“—'ÃÎ΄6m¬?ÞŽë•ù»jGu¿§¼òÊ+:tˆÅ‹ãíí͇~ÈäÉ“kZ–@ðÂðý÷w9}:Í›;ca¡>ߨnŠfçÎG,]ÚZm>£‰Ú¦¿<¬\y“I“éü}©°PŽOøÿæQùŒéÌ!šr£¢²9z4†Û·ÓHMÍÇÜÜ[[#<<,èÛ·!vvÆÅmÿúë1[¶Ü/þY"Q|tq1£ÿ†*¶aëÖœ8ÇÂ…-ñò²Ñø»ç̹Lbb.¿ýÖ]§qiÓ!•J03Ó§n]#Z´°¤W/{6T¯JöÓÄŒMèÚÕŽ3.RPPÄ–-]4Ý+ñó‹ÀÏ/’7ßtgà@‡ré3Æ•aÜԎ—w\ >t(šóçyü8ss}œœÌèÞ½>;×S›ƒÎ{™'O qr2eøpçJ©²X„„,à?š0xð`ÖŒfNŸŽçûïï1wns:u*{Þ^Õ<|˜ÉGÝ`äHç⊩¥QÛô—?¿,, èÛW÷½„S§â9z4†¸¸š7·bÁõD™™9˵kÉ$&æ"•J°³3ÆÁÁŒ^½êÓ¬ÙÓùP||.óæ]Véoh¨‡½½ ]»Ú1p R©â9{áB"_}‡!Cœ;ÖUãïVΣtwiÓ!‘€™™uêèÓ¤Iºt±ÅÓSÝiÒ_’=ì˜1£)ëÖ…píZr™ÚBCÓùôÓ›´kgÃüùšßcm:Zµ²bñbOµãå—’ÀÀ$b‰ˆx‚TªXoÛÖ†W_m€‰‰ê>ÄæÍ÷¸p!;;cz÷nP©ûTχk×cæÌ™XXÔLàŸ@bb.sæ\¦o߆LšäQÓr˜2å<îîæ|ôQë2ÛÖFýºšÎ±c±Ì™Ó\ç>÷îeàãNxxEüüsWíd29'O>æüùbc³)(ckkŒ]ºØñÒKõŠí0Àÿýß%RRò‹Ö×—`mmDÛ¶Šµ[åžOZZ>³f]¢qã:¬Xá¥ö{áéý´Mñ±¢"96„"‘@ãÆšõ»u³£[7;瞥NÖ¬iËš5mUŽwêT¯ÂŽ»uê°bEV¬h£vNÛ"×À:OB­‹yåÁÓÓš†«/þæÍ-Y¾\óâ^Mbd$åµ×yí5…ë—_†`kkÌøñî:õ70ÐC&“““#Óši^I—.¶t颛±‹‹™Æ÷¼4êÖ5bÑ"O-ª¼`ŽŠèxž~JÊû…±¼:*ªÏÚÚ1c\*ü7Ÿ™Y€½½I…úV5:uâÀÌ›7±cDz|ùrF]Ó²ÿPôô$LŸÞD­ZÎ'ŸÜ IÍA ÎÎfüðC—2¯/‘({fÌh¢v®¢Ï&== S§6fêÔÆ:_³ukk6lè¨óï˜9³ 3gªk./·n Q;VývvÆÌšÕ”Y³j׿ŠD¢¨L£ È9w.ßgÓ¦N:õW.öef”ÙÖÕÕœ¥KËÞ4VrîÜÛ‚bStòäFLž¬½²QE(¯Žçí0{v3fÏnVáþºè¨ˆ>##E°Ÿ> *¤%3³P8Õ6êÕ«ÇæÍ›Ù¼y3Ÿ}ö7oÞdÍš5—ÝY ø—óðá“(,,£Ük5—C``eÛ&¨}úËCHH:ÙÙ…:·_»6˜­[ÿÜ¥‹ºCua¡œÏ>»ÅŽU*þ>ËŠA,XЊ·ßVÌó LÒØvûö0Þz«QñwêGïwzºöÏçÆbb²u—’Òt(tßäµ×ùøãÖ*InÊê0r¤3R©kkCüý#9yò1ýúiw¾ýé§Ü¿ŸÁÚµíÊ­¿dršŠŽ+55ŸÉ“Ïœ¦ÖgË–û4jdA@@•ãׯ?}ïwí çðáWps3×y U\.C&Ëâý÷ßgûöí,]º/¯Ú·&¼$&æ;¾Ô²² LÒ9ADmÓ_bbr°¶–éÜþäÉ8¦M»Xf;_ßV­º¥õ;ùúõ·éÝ»?üÐPTÕfS|}#øí·GlÛö2ÆÆR’“ö§m[ÍNJðt¥ë¼KIi:”´icÍgŸµW©¬¬K?¥3˜››ßŸ>þXûZÄž= ‡°Ñ£u_›VêÐ×—h<^šÆUT$gñâë++ïØñSS)‡õQIô–Y\õÙß?’Ï?oWn'ïª!—={öàëë˼yóxýõ×ÑÓ«}kAm'/Oñ<Ѷ¦_\¾œDn®n¶¬6êוŒŒîßÏÔ¹}BB.£FýMv¶â½Ñ¶î”Â{ï]!""Kãùï¾»‡§O÷ÃØX±7~ýz ññ¹jmŠæ‡î±sgwÜÜÌ)(("00‰¼<íŸrU‘Ä\Út(±·7aÅŠ6¼òŠ}¹ú98(ìš——5sç^&==¿Ô  ?ÿŒãìÙFrÑ9 H©#))OãñŠŒk×®p–/¿¡qiÕª[¬[סØGïýùó‰>CHHk×Ö†JõI$'G2dÈFÍüùó±²²ªiQÁ Im[_ëãÚëãb}\‰X¼èff•÷þ ‚êÇÝÝ‚;»ãàP{×õž—‹9q"Ž¿ÿŽG*•þ„^½ìËL¨ Ào¸Ñ»·= ¨¿G;w>bÙ²€"ÉZ¿~ qr2EOOBBB±±Ùüùg‰‰ê6»e˧n²² ¸y3­[ïsùrÛ·‡©%œ©*žÕ‘Ÿ_DRR.AA©<Í©Œs _ßÿàîn¡µ_IêÕSì- èÈŠA8Å¢E­4f0.((â?¢15•Ò¿¿îIã*{\þþ‘øúF`` Ç믻ҩS=ÌÌô‰ŽÎâÆTbÈÉQut›>½ ƒ;råJ2ß~{—£GãjIPÐ8þü³9›6mbÅŠøûû³jÕ*š4©ž{J T[·¾Œ¹ù‹U= <„‡?Áß?’Ë—“ ËäïñÒKõ4ȱÔGgÎÄ“-㥗ê1a‚ÖÖê¾ÁÁiŒw–Ü\..f æL³f–˜˜HIJÊ#>>‡ ¹p!‘¢"Õ¾zz’â 7E<|˜ÉÖ­aDGgñé§7ÙºõåJ}´ñ¬ŽÂÂ"22 ¸s'C‡bÂŒøï;2x°£Ö~%Q®;:šÑ©S=.]Jâöí4Z¶Ô˜âïhO[Ê;®ðð',[v™LNïÞö èHݺF$$ä÷KKS `ïÑ£>Û·w%::›U«nrôhl- jÂüùäçïä‹/¾àرc,^¼˜aÆմ0@ðœˆõqíˆõq±>b}\ðÏà¹}ðý÷«A‘v^$­ÕIyƒ{ô¨Ïž=¬]{›µkoÓ½»Û¶=u¦ªäEÿì_4ý \Åß?²øç=jw°ƒT*åý÷ßÇÕÕ•%K–Çš5kJk§S´àÅ$##ŸuëBX·.DíÜ’%­15­žû­mÛƒeV±°0àúõÁÕ¢§4^$­ÕEymv—.¶èK@@,††z„„ ­q•È‹þÙ¿Húýü"X¸ðZñÏÏfI¬­tíÚ•={ö0eÊÆŒömÛþõÉ"‚‰ L4:ÎþÈÌ,`ܸ3„„<ݬ L"00‰ï¾»Ëºu:Tó¦(²Ó¶nmÍäÉÏ>ÃáÃ1Ô©cÀÏ?w¥ukÍ›”}Ôš”õ,»ŽŽ¦¼ôÒÓìŠýû;PXXľ}Qœ=›Pm›ž%ux{»qï^“&)2nÝÆ;ï4-³_I:v¬‡““)§NÅ“œœGݺFjm”ßUGª\ÇÜòŽëäÉÇìÜÙÕ ñ)Siü Û´Q|F špü¸fGòš¢E‹üúë¯ìÝ»—5kÖpìØ1>ÿüsºv­ÝëE@;ffúe>w_d-ºŽO¸Ê±°°L¶oãõ×]Yµª­Ö¾ÊçïÒ¥­5:"ÇÅå°r¥¢2ôªUmyýuW×™;·¹ÆÌø––*ï}ïÞ pp0aÑ¢ëœ;—PmAA%u îÌܹ͙5ëI,_Ä/¿t+³_ILL¤ 舯oýõ˜¾}Õ•Nž|LZZ>£G»bbRyëfå—ÒfüqkÞxÃM¥ß¸q°bEJÛñð°ÀÃÂ=ê³sç£Ze³---Y²d #GŽdÉ’% 2„wÞy‡Y³f‰õpà¦cÇ®Íöñ‰`éÒë*|}#ðõà›oîrâÄ«Zû*Ÿ¿3g6Õô+—Ã\%7WÆÈ‘.¬ZÕV­Ò(‚=SSó16V}àK$¨Ø”nÝìèÙÓžÞ½qþ|EEÕSÕ¡¤€˜=»9Ÿ}v‹mÛÂX¶,ˆž=íU’}j꧉Q£\¸t) ÿHAAÉÉyœ:õgg3:t¨ûü*E_iã:u*™LÎàÁŽlØÐQíz~è©¶nokkŒ­­"¹Ú©Sñ;KNެRçE"Ñcøðá¼úꫬ[·Ž °ÿ~>ÿüsììJbµ±>.ÖÇÅú¸Xüóy®šÌ;wfÔ¨QÈårñ¯}Ì;·Æuˆ×¿ç5jÔ(:w®yç÷šdÉOFŽtÁÅÅ CC=llŒèß¿!¾¾=ÿ±Y•Ïœ9Í?Þ]çöýû;0~ <<,04ÔUÑ×—àìlƬYM=º6dA,›‘#G²eËŽ9Âܹs‘Éd5-Iðâõ×]™5«)M›ÖÁÄDй¹>:Õㇺ0fÌ‹ñ7"¨y:w¶eÓ¦N:··³3fÓ¦—hÓÆSS©°ÙH¥ììŒ:Ô‰>j]ÓrtÂÝÝLLLðöö&**ª¦% þaäæÊغõÓ§_`Ú´ lÙrŸœœB¾ÿþ.ÞÞgTví ÇÛû Y„„¤óÑG×™<ù~x+W’Õ®ýí·ê×(y.;»üóÐÜ\Û¶…©i. Y¶,ˆ)SÎ3mÚ¾þúŽŠcêo¿=ÂÛû ÁÁiûïÙ·÷nÝJÕYç¡CÑx{ŸQËòVýr9üý÷c–,¹ÎÔ©˜3ç2_}‡„„šÝúå—‡„„¤ãæfÎÊ•miÞÜ’%K<™;·9dd”0*“ÉKu:Ù¾= €E‹ZiÝð…ÓŒ¦Í>M¸º*2fg—~¯TMšÔaåÊ6ìÚõ¨B×H`Äd29D«/,”óÇQ˜™éÓ¯_ƒçÒ«+ÚÆ%—Ë17×WÛðTbc£ý3TfS,,,ÒÚ¦&H$Œ1‚£GÒ¦M&OžÌgŸ}F~~~Ù‚çàðáæÌ¹Ì”)çY³æ±±Ùœ>·÷“ŠÛ¥àí}†€€XrY·î6o½užwß dÿþ(ä%|6ÿúë±Ú5JžÓdëu! –¹sU5—Æ£GOX·î6Ó¦]dÊ”ó|úéM[zãF*ÞÞgðñ‰ÐØÿÖ-Åù={4Ÿ×ÄÇ™x{ŸÁÏO½Oyôß¹“ÎêÕ·˜9ó"3f\dÍš[ܾ­ynQ]\¹’ŒO8¼÷^ †uâ7ÜX²¤5ݺّž^úsK&“#•J´V&øý÷G1l˜“Ö€ %ÊÊ9e¡´ÙYY5o³­¬ ùúëN˜˜èsþ|"QQ¥ß¿ÚPVÐt={|ÄíNc•‰¶qÉÿ÷pðò²ÑØÏÔTб±ö9œ±±^­³ÙÍš5ÃÇLJ… òý÷ßãííMt´úüI ¨L‚‚RY²ä:“&cÑ¢ëܸ‘Jbb.ÞÞgøùç°âvEx{ŸáË/CÈÏ/âçŸÃ˜1ã"Ó¦]dóæ{jß™ããÕ¯QòÜŽ+¨9EMsi¤§çóÓOø¿ÿ dÒ¤s,\x“'ãŠÏçäȘ0á,+Vi쟛+cÒ¤s,_®ù¼6¦L9_ZQý ¹|óÍ]æÌ¹Ì[ogÙ² ŽS›#U'yy2>ý4™Lθqn¼÷^ :t¨ËÊ•m6Ì©Ìuå6Ÿ¶çôùó Ü¿Ÿ““©Ö€ %ÖÖ†è镽¾îà`Š……ròóköù/•JX¼¸5žžÖ¤§çsäHÅžóýû7ÄÌLŸ¢T‚³”ìß…L&gÄçr'6«ÚÆ¥¼WµÙl©T‚••zµ(%Ê5™‚‚Úe·ÍÍÍY¾|9»wï&22’Aƒqüøñš–%ø‡#ÖLjõñò!ÖÇŸ±>®ŠX¼È`áÂVŒëÊW_ÝÁÚÚñãÝ™<Ùƒ´´Ò?ׂ‚¢R‚/]R’Q9ßµ²² ùñÇûÀS‡¥š¦n]#ºu³åøñ8®]K.sþ¥‰ŽëâìlÆ©Sñ¤¤ä©8ü¤¤äqêT<..fÕZýBÓ¸Ú´±áøñ8~øá+Vxai©Ý™XR©^­µÙzzzLž<™îÝ»3oÞ<̺uëèÓ§OMKüññ gñâë*6Áß?‚ùó[˜D“&uŠÉ LÂÜ܀ɓÏ?WA1§÷÷d×®X[+þssej×P¢<×¢Eù“iúúF°xñu•j/þþ¼ÿ¾æ5þë×S˜6í‚ÚüÀÏ/‚Ñ£]Y³¦-&&RŒŒ¤ìÜùˆ·ßnLƪÏÏ£Gc9{6ž=Ë·ž{ùr¹¹ªÔåÑï^cÆœâÉU‡Ø;2fŒ‹Æ5’¬^}K«Ó´&Ö­k¯6þ’<~œKv¶Œ×^sdÅŠ6\º”DHH:cǺ2v¬k™6[é(ªüUå½5dˆS¹¾“i£¨HÎæÍ÷(((¢~}cŒ¥eV”¯j$:Ô‰[·R¹v-…Ñ£]Ë} }tÄÇ'œ¿þzÌ«¯ª:ûûGþÏ Ù¹’T—¦qµm«òñ §gÏú¸¹•oÞ¤œßÕ6c%mÛ¶åСC|ñÅÌœ9“±cDz|ùrôõ…Û© rëãb}¼$b}¼úëãº!Öǵ1;@ j :ubëÖ­L™2…¥K—²zõêš–$@–––lß¾‰'2qâD|}}±±Ñœ R ЕuëB M§A¦Mk‚““)e±yó]BB´;·lØBõyí5'ŒŒô8}:žÝ»ÃY¹ò&]»Úâî®9ÛYUi~øð ›7ß#4T]ó?ÜcïÞHœœL7Î òó‹8{6ݻÙ7ï ¯àéiMóæ–:ÃÒ¥^*Yú“ˆˆÈbêÔÆÏí8SýiiùøùEP§Ž3f4¡I“:äåqï^»w‡—™ý›¬šª>hÃÖÖX§vÊÏ8#CÝ)I":u ´ö=w.¹ê×׼ɗ˜˜‡L&ÇÝÝBc†coï3*?[Xè³ys•c>>œ;—(²W?x‰L&ÇÎΘkÇf”Dîîæ\»–B|¼ê¦ç³úK²ysg,,﯃ƒ);ÛráB"¡¡é*•´ýýýÕ«i\K—¶æ7NóÙgÁ|ýõÚ´±¡E KÚ·¯K·nv¥V¨[שTÂåËÉäæÊJm[“ >///fΜɨQ£Ø´iíÛ¿˜ Dµ“Çcðó‹ÀÄDŸ·ÞjDëÖV¤¦æ³cÇC¶l¹¯µßöía¸¹Y0wn lm¸};-[îsäH ¾¾UZñúYÍS¦xàåeMJJ>¿üVôñ,×®¥°|y¦¦R¼½Ýñò²ÆÐPàà4¶m{ÀÒ¥7èܹŽŽf æÄÏ?‡qùr2;Ö-¾FNŽŒC‡¢‹ízuêÿé'ű 11—»w3´Úl ¸rRãÆêó¿•+o¢šzíÚö8:>uÚ N+¶í992>Ì$+«©TÂøñª=5I£F?G||ŽÊñgõ—dîÜætêô4ÈgÄg6låÀh&Mz:¶§ª?‰EÉqMžÜˆãÇc9x0š€€Z¶´¦U++Z·¶¢gOû23PÛÚšNddÎÎê}µFáëëËÒ¥K™5kóæÍcÆŒ¢â´ ÒˆÍfÙ² ärÅß}ïÞöÈdrŽ‹cýúÛZû>ýss,hIãÆuˆ‹ËaË–{„…e²råMÖ¯ïP¥š?þøEErÍGŽÄðå—!jíŸ<)dÆŒ‹¤¥å3l˜={ÚciiHdd?ÿüŸpºt©Ç!NŒãÊ_=ÆÏ/RÍÁvÏžp õ6ìùœ]˫׮pž<)¤gO{† sÂÊÊèèlΞ'3S·Ìùwë»vNNÙU L16–j7”f³ å\¸(žÅšxj³ÕÊüü"ðóSuŸ4Ƀ¾}ÿ,“É‹m^aa‘‘YÅ&&On¤U[uÓ¨‘bNR²‚ijúKÒ·oCÛ>áøûG¨…†¦sçN:/¿l[fWeSr\^^ÖLžìÁ¶ma¼úêq<<,ðô´¢U+kºw·ÓZ‰@‰býçÌ™‚×kccc–.]JëÖ­Y²d QQQlܸ++Ý‚²ëãb}¼$b}¼úëãb}\ðÏ@ @ µˆŽ;òõ×_3}út4hÀ»ï¾[Ó’@ hÀÒÒ’mÛ¶1zôhÞzë-~ûí7LLÊŸ9K …3„¿ffúøúö¤~}ÅfWϞЫW}üÐì”Ú»w•Ìô}û6ÄÎÎäÙ¢˜?¿ìjÕ¼w¯fÍ={ÖgР“*šçá1 IDATårغ5 [[cöí륒é¼_¿†XZòý÷w¹q#•víl3Æ•+‚8t(šQ£žníÙðÜŽÓåÕ¯¯¯‡\Æ93mZíÓ§7QÉ€¬¦Më°sgw5–åè©dâDŒfâÄs¼öšçpÿ~ÎÎfZ7¥æÌ¹ÌýûÜ¿Ÿ™™>ÞÞnÛåå)œ¥ õ4ž/¹‰«É1*::‹èè,•c;ÛòÉ'^˜›×ž- ##Å{•Ÿ¯šåO“~%%3‹ŽåÂ… ‰øûG²d‰' ¨8ð÷ßqu5§C‡ºš.S¥”—››9ÇŽ½ŠO'OÆqýz2çÎ%°eË}¬¬ ùè£ÖZML¤ŒçÎ/¿„ñòËGps3gâD† ©}NKîîîøùù1þ|&L˜Àúõëéß¿MËüCPÚ¢;Ò»÷ÓlúC†81xðIÂÂ25ö³µ5Æß¿g±3O¯^ötèP—7ß<Ëîݪ4(ÈÇG¡yÆŽ*]‡ qbР?yôè‰Jû­[ïST$gëÖ®´k÷4ø½W/{Ú´±aòäsüñG 3g6áõ×]ùùç0öì W :x0ŠìlY¥Œ«¼úõõõhÒ¤¬Z¡hÒ$³æïØÑM­Ò6 4ÛÉ’tèP—aÜX¿>„›7ÓHOϧysKÒÒòµ:ÿý]byð “¼<óæiŸÛåå)žõšìvHˆºÃtv¶ªÓVF†ºƒ–››9‹{Ò¦µNc¬´ÙlMú•”¬¼¥È`|?¿ÇcÿHôô$ÕZq@IÉqê±{÷8t(š#Gb¸~=…  vî}} 'z°`A+­U(¦LiÄ{ï]¡_¿4nlA×®v,\ØªÚÆ£+FFF¬]»–V­Z±jÕ*"##Y¹r%Riít®¼X8M~~S¦4bñbÏâãƒ9²h‘~±})‰\¿üÒM¥ÊÏ€¼úêqŠæÓOÛbjZ5÷èQäç1y²K–<µcƒ9²`ÁÕb‡J%ûöE’œœÇüù-™1£‰Ê¹øÏð÷dÈ'z÷¶ÇÖÖ?¿HþïÿšW)ŒŒTTZ8бÔ`—ªÐ¯tf^·®½Êï;ÖUç@ÞE‹® ±>^½ˆõq±>.xñ©=O@ @@Ïž=Y¶lË–-£Q£F 0 ¦% @ Ѐµµ5[¶la̘1,X°€¯¿þº¦% ^P"#³Èɑѿ¿Cñæ›WWsÚ·¯[œe¶$£F©;,ŽåÌW_…rçNº†•CddÙÙš5»»[о}].^|ª9::›””õk™\¸ÈÏ?‡Ñ©S=-jEË–ªÙÖ>|Bp°"Có«¯6(5XÅÊÊ””<’’òÔìÙÒ¥­‹¦¿ü2„«W“Õú·liUì4o` GýúÆjŽÏÊ”²l6<µï•6›ý¬þ’”¬žÔ°¡);×ãüùDîÜI§Y3KBCÓ M§[7;4¨þ„šÆ%•J2Ä©øï(!!—³gØ´é?ýô€zõŒyûmÍÎß}û6døpg|}# I×Ù¡®¦˜0aÎÎμûî»$''óÕW_al¬[fp@wï*¾?ëH«DY}DÍ›[ªX[Ò§O|}#xð ƒÖ­«&Xòî]…}=ÚUíÜèÑ®jA57n¤püx,çÏ'Ûk…íVü  X–JA›7ßãܹºu³ÎÅr9ŒóüßYÊ«ÿ7ÜØ»7’iÓ.0l˜3­ZYñÿìÝwTTGûÀñïÒ»  (‚bÅÞ@ìØc“¨I4F±üÔ¦Z£Qß¼I¬yS4–K"v£B”¨ˆŠÒÁBGz[ö÷îÊJ[ê²f>çxŽÜ½wö¹ÜagïÜgfZµ2C__»ÜYý‹«îŠ„e™8ÑñÛoÑøøÄ’†§çIœœL™;·5#GÚ)íŸÃÍ›)@ÑJ2|àZfÙò{bùê>ÅÓLÑwpâÄ~ú)¼Ä>ZZ~üÑýéÿÁÜ\¥¢òÿ—7ȹ°P^^ÙûT‡üüžo³‹Çÿ¼çûhÆŒ±gÓ¦»=Ão8!•Ê8z4¼¼lJ)¥v•u^ݺY(ÉgdpíZ";w†rþücþïÿn°cG¯eAQ?Ôûï»òé§„…¥Szâu}ѦM8ÀŒ3?~<{öìÁÅť⡢\ôW‡è¯¢\ô šO AA„zhòäɳdÉœiÙ²¥ºCA¡-Z´`ëÖ­¼ñÆìÞ½›iÓ¦©;$AåäÍ6gjZzwíóaŠ33+ùZÆúJåVDž¸YÅüüC­ÌÌ¢$Ôää\|}K€[TnQFŠ™™.^^69CXX:NN¦=CNŽ´F•*?%ÓjË©SùþûûÜ»÷„† õyíµ̘ᬘe¹,ÁÁi¬^ rŒ½zY2wnk•ö50ÐfÂ{&L°gòäKÌŸïʃY|þùmÂÃ38xÐSéáæÍ݈ŽÎdçÎû|ýuÍ›3jTÉ{––XYŸChh:-[*?l.þWG§ô‡¿vvF>ì55-ú}'%•Lˆ‚¢‡¡©©y*'rWVbb.ááèéiao¯<“³*ñËh3|¸-û÷GqáB6áС(´´$Œ]÷³–w^r 89™âädŠ……Ë–ùsð`d™=ßÿR˜6͉^½,iݺvðjŠ––+W®ÄÒÒ’U«V!“Éxíµ×Ô– árr¤e΢_Ù6ŠÚœ‡³Uzo©´ä,ëª(/æÒ¶geI‘Je*µÙ'¶àÃopìX,“'· ,,ÿdÆŒi^#³ÞV6þ#ìhÓ¦!ÇÇòÛoQ§‘›[ÈÈ‘v,\ØF¥$ã©S/«ü©aC=¥™©+Ò¿ú÷o–-÷04ÔÆÕµk×Þáõ×}8v¬?66ÏâÌœéÂÀM9~¼hµ˜Ï?¿Å_t.µÜ6mžÎ•+‰%ÄŠ'LËgØ^ƒ'h™˜ýîÊj³‹¿V[íöÕ«E31??ÐG•ø‹;Ö_ߊbùòŠDuu¬eŸWqVVŒÓœnÝÓ¿ÿIöï,sPÐÖ­÷8x0 OOkÆwÀÁ¡ôïõI¿~ýøñÇyë­·x÷Ýwùî»ïÐÓ«Þª%¿›ü¾¯´ÏýòÛìÒ?¿äI¡òU^ÊS6»¬äï_\VVÑþ)e–©§÷¬o`¾ÿ>„¢pw·zº2C4vvÆôîmU¥˜‹«lü-Z˜pæÌ`ŽÅ×7]»Byø0 ww+þïÿÚ•¸-Í_ÜV  Uņ ]”ÚÚò¸º6`ùòö\½šÈž=¡ÌëÊÿÌüƒ¡¡ŽÒ€å¾}­Ù±£ׯ'ñý÷÷yûí¿9{vH©åÊýýwB‰• ììŒ+ ݽ[úyI$hD›-O&¾mS%þâÆŒiÎ×_qèPo¼áÄùóINÎeâD‡2W€¨MeWq&&:ôë×wwk>Å… ‰ÏÁʪä 'Ÿx>þø&ŽŽ¦Ìœé\æ Sõ‰••¿üò 3gÎäµ×^ãçŸÆÙ¹þ¬R%hÑ?^¼\Ñ?.'úÇŸýãU#úÇEÿø¿$‚ ‚ õÔòå˹sçóæÍãðáÃèë×ïÙAáߪgϞ̟?Ÿµk×Ò¹sg:vì¨î #Ÿ‰ïîÝ’3Ê *;¹%00•®]-”¶Ý¾¢T.Ü®Ìãk+~¹â³¾J¥2~ÿ=š%Kn ««Åo8•ûžééùøù%ª£¥eÕgFoØPîÝ‘Á7ßšŽ‹‹™âõNÌéÔÉW× ~–‹ãJ}è E³ÌÿôS8_}u·R Ï•áäTtݯ\I,uÆÀ7’ÉÉ‘–X=¡¦lÜHa¡Œž=­Ðׯ^BѸqìßÅo¿Eakk¨Xq I“º_q ²ç%¯se NÈÊ’rýz=z4fùò5km{÷ÝwÑÒÒbõêÕèêê2qâDu‡$h0++""2HMÍ+‘$SZ»RÞk™™„‡§+%Ê“h“’JÎB+Ÿ}¿&c–o(®iSCòò ùJ3Îgnþ¬œ‘#íøì³ˆbòäìß Àøñ53 le㇢$ãâÉCwî¤2uêerTjÏüüUN kܸê}vÚ¸»[!‘´ã7|8{ö1S§:*^—'¦ Ô”k×’¸x1¾Ì²†µåøñX¶o¿ÏË/ÛÕJ²¼ÍöóK¢°°ä,ÅÙÙܼ™Œ¶¶Dé{]M9r$†ÐÐt4ÐÃÍͼZeyyÙ°j•.GƲpa[ŽÁÔT—!Cê~ÅÊž—¹¹ZZ’r^º¡¡6Û¶õ(±JY}æææÆž={xýõ×™3gß|ó ::"­E¨yûz÷î“ßÇËk³CBÒÈÏ/DWW9±óöí¢cä÷“ò6[>³¿rU[Ps``ɘËj³V¯îHË–f%^ÐÑyöYmooL·n9}ú!©©yܸ‘D||óç»V˜È[ñCQ¢÷Ô©ŽŠö/>>‡Y³®ðúë—9~H…÷2÷î=©Ô½vv¶j âÏÓÖÖ¢M›lÜØ•“'røp´Ò  KKúõkB¿~MˆˆÈÄÛûÑÑ™4o^2uàÀ¦|òÉ-NzÈ;©´kWó÷ºzzZØÙ›ELLÍš•åë[ô½B•ÁW•žÎo¿ÅЯ_“ ö._Ó¦†ôîmÉåËñ§)ò–¶ Xm«ìyéèHhÔHŸ˜˜,=Ê.uPÐ¥KE×á³ÏÜjmµÊÚ`jjÊÎ;™>}:¯¿þ:?ÿü3ŽŽŽ(¥ýãψþñgDÿø3¢¼jDÿø3¢üß¡–6lØ€D"áÂ… ê¥Ú^¤sù·Øpr’·%\¾ îPªíE:AA¨,===¾þúk>|ÈæÍ›ÕŽ ‚ å˜5k={öäÿþïÿÈÍ-{NA(¹¹>®®  LåÛoC(,,J@•Je|õUQQ™eûŸÿ+%Öá?ÿ V”YP cíÚ;ÄÄd)í/wçN tîlNÿlm¸t) ‹gIµ=z4ÆÁÁ„Ç£¹};…;wRyé%»Ij¬lüááélß~_)ÙK[[¢˜]X•‡™­Z™ñóÏ*ÿSuÄŸçòåxdÏå-ÇÅåpîÜcòóKŸ¥ÚÉɉRRòÊ,æLÌÌt9uê!sæø™QbŸÀÀÔ2ßCýú5AOO‹£GcØ·/Réµ²Xµª¨N{yÕl’nXX: \ãÀ(´µ%Ì™£Úï¼<;›Ó¢… çÎ=fçÎP€RäÖ¦òÎëóÏoáã_"Ñ=66‹Í›ƒJMZHI)ªÿe%Öw3gÎdîܹ¬\¹’óçÏ«;AƒÉgÕ_¾ÜŸÌÌÅöÓ§qøpt™Ç>ýC‡¢?ggKY¾ÜŸ¬,©R›-ÿ